--- linux-riscv-5.8-5.8.0.orig/Documentation/ABI/testing/debugfs-aufs +++ linux-riscv-5.8-5.8.0/Documentation/ABI/testing/debugfs-aufs @@ -0,0 +1,55 @@ +What: /debug/aufs/si_/ +Date: March 2009 +Contact: J. R. Okajima +Description: + Under /debug/aufs, a directory named si_ is created + per aufs mount, where is a unique id generated + internally. + +What: /debug/aufs/si_/plink +Date: Apr 2013 +Contact: J. R. Okajima +Description: + It has three lines and shows the information about the + pseudo-link. The first line is a single number + representing a number of buckets. The second line is a + number of pseudo-links per buckets (separated by a + blank). The last line is a single number representing a + total number of psedo-links. + When the aufs mount option 'noplink' is specified, it + will show "1\n0\n0\n". + +What: /debug/aufs/si_/xib +Date: March 2009 +Contact: J. R. Okajima +Description: + It shows the consumed blocks by xib (External Inode Number + Bitmap), its block size and file size. + When the aufs mount option 'noxino' is specified, it + will be empty. About XINO files, see the aufs manual. + +What: /debug/aufs/si_/xi0, xi1 ... xiN and xiN-N +Date: March 2009 +Contact: J. R. Okajima +Description: + It shows the consumed blocks by xino (External Inode Number + Translation Table), its link count, block size and file + size. + Due to the file size limit, there may exist multiple + xino files per branch. In this case, "-N" is added to + the filename and it corresponds to the index of the + internal xino array. "-0" is omitted. + When the aufs mount option 'noxino' is specified, Those + entries won't exist. About XINO files, see the aufs + manual. + +What: /debug/aufs/si_/xigen +Date: March 2009 +Contact: J. R. Okajima +Description: + It shows the consumed blocks by xigen (External Inode + Generation Table), its block size and file size. + If CONFIG_AUFS_EXPORT is disabled, this entry will not + be created. + When the aufs mount option 'noxino' is specified, it + will be empty. About XINO files, see the aufs manual. --- linux-riscv-5.8-5.8.0.orig/Documentation/ABI/testing/sysfs-aufs +++ linux-riscv-5.8-5.8.0/Documentation/ABI/testing/sysfs-aufs @@ -0,0 +1,31 @@ +What: /sys/fs/aufs/si_/ +Date: March 2009 +Contact: J. R. Okajima +Description: + Under /sys/fs/aufs, a directory named si_ is created + per aufs mount, where is a unique id generated + internally. + +What: /sys/fs/aufs/si_/br0, br1 ... brN +Date: March 2009 +Contact: J. R. Okajima +Description: + It shows the abolute path of a member directory (which + is called branch) in aufs, and its permission. + +What: /sys/fs/aufs/si_/brid0, brid1 ... bridN +Date: July 2013 +Contact: J. R. Okajima +Description: + It shows the id of a member directory (which is called + branch) in aufs. + +What: /sys/fs/aufs/si_/xi_path +Date: March 2009 +Contact: J. R. Okajima +Description: + It shows the abolute path of XINO (External Inode Number + Bitmap, Translation Table and Generation Table) file + even if it is the default path. + When the aufs mount option 'noxino' is specified, it + will be empty. About XINO files, see the aufs manual. --- linux-riscv-5.8-5.8.0.orig/Documentation/ABI/testing/sysfs-bus-iio +++ linux-riscv-5.8-5.8.0/Documentation/ABI/testing/sysfs-bus-iio @@ -1569,7 +1569,8 @@ KernelVersion: 4.3 Contact: linux-iio@vger.kernel.org Description: - Raw (unscaled no offset etc.) percentage reading of a substance. + Raw (unscaled no offset etc.) reading of a substance. Units + after application of scale and offset are percents. What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw --- linux-riscv-5.8-5.8.0.orig/Documentation/ABI/testing/sysfs-devices-memory +++ linux-riscv-5.8-5.8.0/Documentation/ABI/testing/sysfs-devices-memory @@ -26,8 +26,9 @@ Contact: Badari Pulavarty Description: The file /sys/devices/system/memory/memoryX/phys_device - is read-only and is designed to show the name of physical - memory device. Implementation is currently incomplete. + is read-only; it is a legacy interface only ever used on s390x + to expose the covered storage increment. +Users: Legacy s390-tools lsmem/chmem What: /sys/devices/system/memory/memoryX/phys_index Date: September 2008 --- linux-riscv-5.8-5.8.0.orig/Documentation/Makefile +++ linux-riscv-5.8-5.8.0/Documentation/Makefile @@ -78,7 +78,7 @@ $(abspath $(BUILDDIR)/$3/$4) 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-riscv-5.8-5.8.0.orig/Documentation/admin-guide/device-mapper/dm-integrity.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/device-mapper/dm-integrity.rst @@ -177,14 +177,20 @@ The bitmap flush interval in milliseconds. The metadata buffers are synchronized when this interval expires. +allow_discards + Allow block discard requests (a.k.a. TRIM) for the integrity device. + Discards are only allowed to devices using internal hash. + fix_padding Use a smaller padding of the tag area that is more space-efficient. If this option is not present, large padding is used - that is for compatibility with older kernels. -allow_discards - Allow block discard requests (a.k.a. TRIM) for the integrity device. - Discards are only allowed to devices using internal hash. +legacy_recalculate + Allow recalculating of volumes with HMAC keys. This is disabled by + default for security reasons - an attacker could modify the volume, + set recalc_sector to zero, and the kernel would not detect the + modification. The journal mode (D/J), buffer_sectors, journal_watermark, commit_time and allow_discards can be changed when reloading the target (load an inactive --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/ext4.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/ext4.rst @@ -482,6 +482,9 @@ multiple of this tuning parameter if the stripe size is not set in the ext4 superblock + mb_max_inode_prealloc + The maximum length of per-inode ext4_prealloc_space list. + mb_max_to_scan The maximum number of extents the multiblock allocator will search to find the best extent. --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/hw-vuln/multihit.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/hw-vuln/multihit.rst @@ -80,6 +80,10 @@ - The processor is not vulnerable. * - KVM: Mitigation: Split huge pages - Software changes mitigate this issue. + * - KVM: Mitigation: VMX unsupported + - KVM is not vulnerable because Virtual Machine Extensions (VMX) is not supported. + * - KVM: Mitigation: VMX disabled + - KVM is not vulnerable because Virtual Machine Extensions (VMX) is disabled. * - KVM: Vulnerable - The processor is vulnerable, but no mitigation enabled --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/kdump/vmcoreinfo.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/kdump/vmcoreinfo.rst @@ -399,6 +399,17 @@ The mask to extract the Pointer Authentication Code from a kernel virtual address. +TCR_EL1.T1SZ +------------ + +Indicates the size offset of the memory region addressed by TTBR1_EL1. +The region size is 2^(64-T1SZ) bytes. + +TTBR1_EL1 is the table base address register specified by ARMv8-A +architecture which is used to lookup the page-tables for the Virtual +addresses in the higher VA range (refer to ARMv8 ARM document for +more details). + arm === --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/kernel-parameters.txt +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/kernel-parameters.txt @@ -577,7 +577,7 @@ loops can be debugged more effectively on production systems. - clearcpuid=BITNUM [X86] + clearcpuid=BITNUM[,BITNUM...] [X86] Disable CPUID feature X for the kernel. See arch/x86/include/asm/cpufeatures.h for the valid bit numbers. Note the Linux specific bits are not necessarily @@ -694,6 +694,10 @@ 0: default value, disable debugging 1: enable debugging at boot time + 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 @@ -2810,6 +2814,8 @@ mds=off [X86] tsx_async_abort=off [X86] kvm.nx_huge_pages=off [X86] + no_entry_flush [PPC] + no_uaccess_flush [PPC] Exceptions: This does not have any effect on @@ -3132,6 +3138,8 @@ noefi Disable EFI runtime services support. + no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel. + noexec [IA-64] noexec [X86] @@ -3181,6 +3189,9 @@ nospec_store_bypass_disable [HW] Disable all mitigations for the Speculative Store Bypass vulnerability + no_uaccess_flush + [PPC] Don't flush the L1-D cache after accessing user data. + noxsave [BUGS=X86] Disables x86 extended register state save and restore using xsave. The kernel will fallback to enabling legacy floating-point and sse state. @@ -3568,6 +3579,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. @@ -5421,6 +5438,7 @@ device); j = NO_REPORT_LUNS (don't use report luns command, uas only); + k = NO_SAME (do not use WRITE_SAME, uas only) l = NOT_LOCKABLE (don't try to lock and unlock ejectable media, not on uas); m = MAX_SECTORS_64 (don't transfer more @@ -5721,6 +5739,10 @@ This option is obsoleted by the "nopv" option, which has equivalent effect for XEN platform. + xen_no_vector_callback + [KNL,X86,XEN] Disable the vector callback for Xen + event channel interrupts. + xen_scrub_pages= [XEN] Boolean option to control scrubbing pages before giving them back to Xen, for use by other domains. Can be also changed at runtime @@ -5734,6 +5756,14 @@ improve timer resolution at the expense of processing more timer interrupts. + xen.event_eoi_delay= [XEN] + How long to delay EOI handling in case of event + storms (jiffies). Default is 10. + + xen.event_loop_timeout= [XEN] + After which time (jiffies) the event handling loop + should start to delay EOI handling. Default is 2. + nopv= [X86,XEN,KVM,HYPER_V,VMWARE] Disables the PV optimizations forcing the guest to run as generic guest with no PV drivers. Currently support --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/mm/memory-hotplug.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/mm/memory-hotplug.rst @@ -160,8 +160,8 @@ "online_movable", "online", "offline" command which will be performed on all sections in the block. -``phys_device`` read-only: designed to show the name of physical memory - device. This is not well implemented now. +``phys_device`` read-only: legacy interface only ever used on s390x to + expose the covered storage increment. ``removable`` read-only: contains an integer value indicating whether the memory block is removable or not removable. A value of 1 indicates that the memory --- linux-riscv-5.8-5.8.0.orig/Documentation/admin-guide/sysctl/vm.rst +++ linux-riscv-5.8-5.8.0/Documentation/admin-guide/sysctl/vm.rst @@ -961,11 +961,11 @@ left disabled as the caching effect is likely to be more important than data locality. -zone_reclaim may be enabled if it's known that the workload is partitioned -such that each partition fits within a NUMA node and that accessing remote -memory would cause a measurable performance reduction. The page allocator -will then reclaim easily reusable pages (those page cache pages that are -currently not used) before allocating off node pages. +Consider enabling one or more zone_reclaim mode bits if it's known that the +workload is partitioned such that each partition fits within a NUMA node +and that accessing remote memory would cause a measurable performance +reduction. The page allocator will take additional actions before +allocating off node pages. Allowing zone reclaim to write out pages stops processes that are writing large amounts of data from dirtying pages on other nodes. Zone --- linux-riscv-5.8-5.8.0.orig/Documentation/asm-annotations.rst +++ linux-riscv-5.8-5.8.0/Documentation/asm-annotations.rst @@ -100,6 +100,11 @@ ~~~~~~~~~~~~~~~~~~ This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above. +``objtool`` requires that all code must be contained in an ELF symbol. Symbol +names that have a ``.L`` prefix do not emit symbol table entries. ``.L`` +prefixed symbols can be used within a code region, but should be avoided for +denoting a range of code via ``SYM_*_START/END`` annotations. + * ``SYM_FUNC_START`` and ``SYM_FUNC_START_LOCAL`` are supposed to be **the most frequent markings**. They are used for functions with standard calling conventions -- global and local. Like in C, they both align the functions to --- linux-riscv-5.8-5.8.0.orig/Documentation/cgroups/namespace.txt +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/Documentation/conf.py +++ linux-riscv-5.8-5.8.0/Documentation/conf.py @@ -36,7 +36,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', +extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', #y'cdomain', 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', 'maintainers_include', 'sphinx.ext.autosectionlabel' ] --- linux-riscv-5.8-5.8.0.orig/Documentation/core-api/cpu_hotplug.rst +++ linux-riscv-5.8-5.8.0/Documentation/core-api/cpu_hotplug.rst @@ -50,13 +50,6 @@ This option is limited to the X86 and S390 architecture. -``cede_offline={"off","on"}`` - Use this option to disable/enable putting offlined processors to an extended - ``H_CEDE`` state on supported pseries platforms. If nothing is specified, - ``cede_offline`` is set to "on". - - This option is limited to the PowerPC architecture. - ``cpu0_hotplug`` Allow to shutdown CPU0. --- linux-riscv-5.8-5.8.0.orig/Documentation/core-api/printk-formats.rst +++ linux-riscv-5.8-5.8.0/Documentation/core-api/printk-formats.rst @@ -566,6 +566,12 @@ Thanks ====== +Kernel messages: + + %pj 123456 + + For generating the jhash of a string truncated to six digits + If you add other %p extensions, please extend with one or more test cases, if at all feasible. --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 SiFive, Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/sifive/fu740-prci.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SiFive FU740 Power Reset Clock Interrupt Controller (PRCI) + +maintainers: + - Zong Li + - Paul Walmsley + +description: + On the FU740 family of SoCs, most system-wide clock and reset integration + is via the PRCI IP block. + The clock consumer should specify the desired clock via the clock ID + macros defined in include/dt-bindings/clock/sifive-fu740-prci.h. + These macros begin with PRCI_CLK_. + + The hfclk and rtcclk nodes are required, and represent physical + crystals or resonators located on the PCB. These nodes should be present + underneath /, rather than /soc. + +properties: + compatible: + const: sifive,fu740-c000-prci + + reg: + maxItems: 1 + + clocks: + items: + - description: high frequency clock. + - description: RTL clock. + + clock-names: + items: + - const: hfclk + - const: rtcclk + + "#clock-cells": + const: 1 + +required: + - compatible + - reg + - clocks + - "#clock-cells" + +additionalProperties: false + +examples: + - | + prci: clock-controller@10000000 { + compatible = "sifive,fu740-c000-prci"; + reg = <0x10000000 0x1000>; + clocks = <&hfclk>, <&rtcclk>; + #clock-cells = <1>; + }; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml @@ -23,8 +23,7 @@ - items: - const: allwinner,sun7i-a20-crypto - const: allwinner,sun4i-a10-crypto - - items: - - const: allwinner,sun8i-a33-crypto + - const: allwinner,sun8i-a33-crypto reg: maxItems: 1 @@ -59,7 +58,9 @@ properties: compatible: contains: - const: allwinner,sun6i-a31-crypto + enum: + - allwinner,sun6i-a31-crypto + - allwinner,sun8i-a33-crypto then: required: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/display/bridge/sii902x.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/display/bridge/sii902x.txt @@ -8,6 +8,8 @@ - interrupts: describe the interrupt line used to inform the host about hotplug events. - reset-gpios: OF device-tree gpio specification for RST_N pin. + - iovcc-supply: I/O Supply Voltage (1.8V or 3.3V) + - cvcc12-supply: Digital Core Supply Voltage (1.2V) HDMI audio properties: - #sound-dai-cells: <0> or <1>. <0> if only i2s or spdif pin @@ -54,6 +56,8 @@ compatible = "sil,sii9022"; reg = <0x39>; reset-gpios = <&pioA 1 0>; + iovcc-supply = <&v3v3_hdmi>; + cvcc12-supply = <&v1v2_hdmi>; #sound-dai-cells = <0>; sil,i2s-data-lanes = < 0 1 2 >; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/gpio/sgpio-aspeed.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/gpio/sgpio-aspeed.txt @@ -20,8 +20,9 @@ - gpio-controller : Marks the device node as a GPIO controller - interrupts : Interrupt specifier, see interrupt-controller/interrupts.txt - interrupt-controller : Mark the GPIO controller as an interrupt-controller -- ngpios : number of GPIO lines, see gpio.txt - (should be multiple of 8, up to 80 pins) +- ngpios : number of *hardware* GPIO lines, see gpio.txt. This will expose + 2 software GPIOs per hardware GPIO: one for hardware input, one for hardware + output. Up to 80 pins, must be a multiple of 8. - clocks : A phandle to the APB clock for SGPM clock division - bus-frequency : SGPM CLK frequency --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml @@ -13,7 +13,9 @@ properties: compatible: items: - - const: sifive,fu540-c000-gpio + - enum: + - sifive,fu540-c000-gpio + - sifive,fu740-c000-gpio - const: sifive,gpio0 reg: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/i2c/i2c-ocores.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/i2c/i2c-ocores.txt @@ -3,9 +3,11 @@ Required properties: - compatible : "opencores,i2c-ocores" "aeroflexgaisler,i2cmst" - "sifive,fu540-c000-i2c", "sifive,i2c0" + "sifive,-i2c", "sifive,i2c0" For Opencore based I2C IP block reimplemented in - FU540-C000 SoC. Please refer to sifive-blocks-ip-versioning.txt + SiFive SoC. Supported compatible strings are: + "sifive,fu540-c000-i2c" and "sifive,fu740-c000-i2c" + Please refer to sifive-blocks-ip-versioning.txt for additional details. - reg : bus address start and address range size of device - clocks : handle to the controller clock; see the note below. --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt @@ -21,7 +21,7 @@ Example: mux: mux-controller { - compatible = "mux-gpio"; + compatible = "gpio-mux"; #mux-control-cells = <0>; mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/mmc/mtk-sd.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/mmc/mtk-sd.txt @@ -49,6 +49,8 @@ error caused by stop clock(fifo full) Valid range = [0:0x7]. if not present, default value is 0. applied to compatible "mediatek,mt2701-mmc". +- resets: Phandle and reset specifier pair to softreset line of MSDC IP. +- reset-names: Should be "hrst". Examples: mmc0: mmc@11230000 { --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt @@ -15,8 +15,15 @@ - "nvidia,tegra210-sdhci": for Tegra210 - "nvidia,tegra186-sdhci": for Tegra186 - "nvidia,tegra194-sdhci": for Tegra194 -- clocks : Must contain one entry, for the module clock. - See ../clocks/clock-bindings.txt for details. +- clocks: For Tegra210, Tegra186 and Tegra194 must contain two entries. + One for the module clock and one for the timeout clock. + For all other Tegra devices, must contain a single entry for + the module clock. See ../clocks/clock-bindings.txt for details. +- clock-names: For Tegra210, Tegra186 and Tegra194 must contain the + strings 'sdhci' and 'tmclk' to represent the module and + the timeout clocks, respectively. + For all other Tegra devices must contain the string 'sdhci' + to represent the module clock. - resets : Must contain an entry for each entry in reset-names. See ../reset/reset.txt for details. - reset-names : Must include the following entries: @@ -99,7 +106,7 @@ Example: sdhci@700b0000 { - compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; + compatible = "nvidia,tegra124-sdhci"; reg = <0x0 0x700b0000 0x0 0x200>; interrupts = ; clocks = <&tegra_car TEGRA210_CLK_SDMMC1>; @@ -107,6 +114,25 @@ resets = <&tegra_car 14>; reset-names = "sdhci"; pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; + pinctrl-0 = <&sdmmc1_3v3>; + pinctrl-1 = <&sdmmc1_1v8>; + nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; + nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; + nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; + nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; + status = "disabled"; +}; + +sdhci@700b0000 { + compatible = "nvidia,tegra210-sdhci"; + reg = <0x0 0x700b0000 0x0 0x200>; + interrupts = ; + clocks = <&tegra_car TEGRA210_CLK_SDMMC1>, + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; + clock-names = "sdhci", "tmclk"; + resets = <&tegra_car 14>; + reset-names = "sdhci"; + pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; pinctrl-0 = <&sdmmc1_3v3>; pinctrl-1 = <&sdmmc1_1v8>; nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/btusb.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/btusb.txt @@ -38,7 +38,7 @@ compatible = "usb1286,204e"; reg = <1>; interrupt-parent = <&gpio0>; - interrupt-name = "wakeup"; + interrupt-names = "wakeup"; interrupts = <3 IRQ_TYPE_LEVEL_LOW>; }; }; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/can/tcan4x5x.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/can/tcan4x5x.txt @@ -33,7 +33,7 @@ spi-max-frequency = <10000000>; bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>; interrupt-parent = <&gpio1>; - interrupts = <14 GPIO_ACTIVE_LOW>; + interrupts = <14 IRQ_TYPE_LEVEL_LOW>; device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/ethernet-controller.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/ethernet-controller.yaml @@ -49,7 +49,7 @@ description: Reference to an nvmem node for the MAC address - nvmem-cells-names: + nvmem-cell-names: const: mac-address phy-connection-type: @@ -191,6 +191,11 @@ Indicates that full-duplex is used. When absent, half duplex is assumed. + pause: + $ref: /schemas/types.yaml#definitions/flag + description: + Indicates that pause should be enabled. + asym-pause: $ref: /schemas/types.yaml#definitions/flag description: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/nfc/nxp-nci.txt @@ -25,7 +25,7 @@ clock-frequency = <100000>; interrupt-parent = <&gpio1>; - interrupts = <29 GPIO_ACTIVE_HIGH>; + interrupts = <29 IRQ_TYPE_LEVEL_HIGH>; enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/nfc/pn544.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/nfc/pn544.txt @@ -25,7 +25,7 @@ clock-frequency = <400000>; interrupt-parent = <&gpio1>; - interrupts = <17 GPIO_ACTIVE_HIGH>; + interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/net/socionext-netsec.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/net/socionext-netsec.txt @@ -30,7 +30,9 @@ - max-frame-size: See ethernet.txt in the same directory. The MAC address will be determined using the optional properties -defined in ethernet.txt. +defined in ethernet.txt. The 'phy-mode' property is required, but may +be set to the empty string if the PHY configuration is programmed by +the firmware or set by hardware straps, and needs to be preserved. Example: eth0: ethernet@522d0000 { --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml @@ -9,6 +9,14 @@ maintainers: - Dilip Kota +select: + properties: + compatible: + contains: + const: intel,lgm-pcie + required: + - compatible + properties: compatible: items: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml @@ -31,12 +31,16 @@ clocks: minItems: 1 - maxItems: 2 + maxItems: 3 clock-names: oneOf: - const: link # for PXs2 - - items: # for PXs3 + - items: # for PXs3 with phy-ext + - const: link + - const: phy + - const: phy-ext + - items: # for others - const: link - const: phy --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 SiFive, Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/pwm-sifive.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SiFive PWM controller + +maintainers: + - Yash Shah + - Sagar Kadam + - Paul Walmsley + +description: + Unlike most other PWM controllers, the SiFive PWM controller currently + only supports one period for all channels in the PWM. All PWMs need to + run at the same period. The period also has significant restrictions on + the values it can achieve, which the driver rounds to the nearest + achievable period. PWM RTL that corresponds to the IP block version + numbers can be found here - + + https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/pwm + +properties: + compatible: + items: + - enum: + - sifive,fu540-c000-pwm + - sifive,fu740-c000-pwm + - const: sifive,pwm0 + description: + Should be "sifive,-pwm" and "sifive,pwm". Supported + compatible strings are "sifive,fu540-c000-pwm" and + "sifive,fu740-c000-pwm" for the SiFive PWM v0 as integrated onto the + SiFive FU540 and FU740 chip respectively, and "sifive,pwm0" for the + SiFive PWM v0 IP block with no chip integration tweaks. + Please refer to sifive-blocks-ip-versioning.txt for details. + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + "#pwm-cells": + const: 3 + + interrupts: + maxItems: 4 + description: + Each PWM instance in FU540-C000 has 4 comparators. One interrupt per comparator. + +required: + - compatible + - reg + - clocks + - "#pwm-cells" + - interrupts + +additionalProperties: false + +examples: + - | + pwm: pwm@10020000 { + compatible = "sifive,fu540-c000-pwm", "sifive,pwm0"; + reg = <0x10020000 0x1000>; + clocks = <&tlclk>; + interrupt-parent = <&plic>; + interrupts = <42>, <43>, <44>, <45>; + #pwm-cells = <3>; + }; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/riscv/cpus.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/riscv/cpus.yaml @@ -28,11 +28,17 @@ - items: - enum: - sifive,rocket0 + - sifive,bullet0 - sifive,e5 + - sifive,e7 - sifive,e51 + - sifive,e71 - sifive,u54-mc + - sifive,u74-mc - sifive,u54 + - sifive,u74 - sifive,u5 + - sifive,u7 - const: riscv - const: riscv # Simulator only description: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml @@ -0,0 +1,127 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright (C) 2020 SiFive, Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/riscv/sifive-l2-cache.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SiFive L2 Cache Controller + +maintainers: + - Sagar Kadam + - Yash Shah + - Paul Walmsley + +description: + The SiFive Level 2 Cache Controller is used to provide access to fast copies + of memory for masters in a Core Complex. The Level 2 Cache Controller also + acts as directory-based coherency manager. + All the properties in ePAPR/DeviceTree specification applies for this platform. + +allOf: + - $ref: /schemas/cache-controller.yaml# + +select: + properties: + compatible: + items: + - enum: + - sifive,fu540-c000-ccache + - sifive,fu740-c000-ccache + + required: + - compatible + +properties: + compatible: + items: + - enum: + - sifive,fu540-c000-ccache + - sifive,fu740-c000-ccache + - const: cache + + cache-block-size: + const: 64 + + cache-level: + const: 2 + + cache-sets: + const: 1024 + + cache-size: + const: 2097152 + + cache-unified: true + + interrupts: + description: | + Must contain 3 entries for FU540 (DirError, DataError and DataFail) or 4 + entries for other chips (DirError, DirFail, DataError, DataFail signals) + minItems: 3 + maxItems: 4 + items: + - description: DirError interrupt + - description: DirFail interrupt + - description: DataError interrupt + - description: DataFail interrupt + + reg: + maxItems: 1 + + next-level-cache: true + + memory-region: + description: | + The reference to the reserved-memory for the L2 Loosely Integrated Memory region. + The reserved memory node should be defined as per the bindings in reserved-memory.txt. + +if: + properties: + compatible: + contains: + const: sifive,fu540-c000-ccache + +then: + properties: + interrupts: + description: | + Must contain entries for DirError, DataError and DataFail signals. + maxItems: 3 + +else: + properties: + interrupts: + description: | + Must contain entries for DirError, DirFail, DataError, DataFail signals. + minItems: 4 + +additionalProperties: false + +required: + - compatible + - cache-block-size + - cache-level + - cache-sets + - cache-size + - cache-unified + - interrupts + - reg + +examples: + - | + cache-controller@2010000 { + compatible = "sifive,fu540-c000-ccache", "cache"; + cache-block-size = <64>; + cache-level = <2>; + cache-sets = <1024>; + cache-size = <2097152>; + cache-unified; + reg = <0x2010000 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <1>, + <2>, + <3>; + next-level-cache = <&L25>; + memory-region = <&l2_lim>; + }; --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/riscv/sifive.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/riscv/sifive.yaml @@ -17,9 +17,19 @@ $nodename: const: '/' compatible: - items: - - enum: - - sifive,hifive-unleashed-a00 - - const: sifive,fu540-c000 - - const: sifive,fu540 + oneOf: + - items: + - enum: + - sifive,hifive-unleashed-a00 + - const: sifive,fu540-c000 + - const: sifive,fu540 + + - items: + - enum: + - sifive,hifive-unmatched-a00 + - const: sifive,fu740-c000 + - const: sifive,fu740 + +additionalProperties: true + ... --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/rtc/rtc.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/rtc/rtc.yaml @@ -47,4 +47,9 @@ description: Enables wake up of host system on alarm. + reset-source: + $ref: /schemas/types.yaml#/definitions/flag + description: + The RTC is able to reset the machine. + ... --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/serial/sifive-serial.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/serial/sifive-serial.yaml @@ -17,7 +17,9 @@ properties: compatible: items: - - const: sifive,fu540-c000-uart + - enum: + - sifive,fu540-c000-uart + - sifive,fu740-c000-uart - const: sifive,uart0 description: --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt @@ -23,8 +23,8 @@ - compatible: Must be one of : - "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-qspi" : MSPI+BSPI on BRCMSTB SoCs - "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI + "brcm,spi-brcmstb-qspi", "brcm,spi-bcm-qspi" : MSPI+BSPI on BRCMSTB SoCs + "brcm,spi-brcmstb-mspi", "brcm,spi-bcm-qspi" : Second Instance of MSPI BRCMSTB SoCs "brcm,spi-bcm7425-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI BRCMSTB SoCs @@ -36,8 +36,8 @@ BRCMSTB SoCs "brcm,spi-bcm7278-qspi", "brcm,spi-bcm-qspi", "brcm,spi-brcmstb-mspi" : Second Instance of MSPI BRCMSTB SoCs - "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi" : MSPI+BSPI on Cygnus, NSP - "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi" : NS2 SoCs + "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi" : MSPI+BSPI on Cygnus, NSP + "brcm,spi-ns2-qspi", "brcm,spi-bcm-qspi" : NS2 SoCs - reg: Define the bases and ranges of the associated I/O address spaces. @@ -86,7 +86,7 @@ spi@f03e3400 { #address-cells = <0x1>; #size-cells = <0x0>; - compatible = "brcm,spi-brcmstb-qspi", "brcm,spi-brcmstb-qspi"; + compatible = "brcm,spi-brcmstb-qspi", "brcm,spi-bcm-qspi"; reg = <0xf03e0920 0x4 0xf03e3400 0x188 0xf03e3200 0x50>; reg-names = "cs_reg", "mspi", "bspi"; interrupts = <0x6 0x5 0x4 0x3 0x2 0x1 0x0>; @@ -149,7 +149,7 @@ #address-cells = <1>; #size-cells = <0>; clocks = <&upg_fixed>; - compatible = "brcm,spi-brcmstb-qspi", "brcm,spi-brcmstb-mspi"; + compatible = "brcm,spi-brcmstb-mspi", "brcm,spi-bcm-qspi"; reg = <0xf0416000 0x180>; reg-names = "mspi"; interrupts = <0x14>; @@ -160,7 +160,7 @@ iProc SoC Example: qspi: spi@18027200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi"; + compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi"; reg = <0x18027200 0x184>, <0x18027000 0x124>, <0x1811c408 0x004>, @@ -191,7 +191,7 @@ NS2 SoC Example: qspi: spi@66470200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi"; + compatible = "brcm,spi-ns2-qspi", "brcm,spi-bcm-qspi"; reg = <0x66470200 0x184>, <0x66470000 0x124>, <0x67017408 0x004>, --- linux-riscv-5.8-5.8.0.orig/Documentation/devicetree/bindings/spi/spi-sifive.yaml +++ linux-riscv-5.8-5.8.0/Documentation/devicetree/bindings/spi/spi-sifive.yaml @@ -17,15 +17,17 @@ properties: compatible: items: - - const: sifive,fu540-c000-spi + - enum: + - sifive,fu540-c000-spi + - sifive,fu740-c000-spi - const: sifive,spi0 description: Should be "sifive,-spi" and "sifive,spi". Supported compatible strings are - - "sifive,fu540-c000-spi" for the SiFive SPI v0 as integrated - onto the SiFive FU540 chip, and "sifive,spi0" for the SiFive - SPI v0 IP block with no chip integration tweaks. + "sifive,fu540-c000-spi" and "sifive,fu740-c000-spi" for the SiFive SPI v0 + as integrated onto the SiFive FU540 and FU740 chip resp, and "sifive,spi0" + for the SiFive SPI v0 IP block with no chip integration tweaks. Please refer to sifive-blocks-ip-versioning.txt for details SPI RTL that corresponds to the IP block version numbers can be found here - --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/affs.rst +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/affs.rst @@ -110,13 +110,15 @@ - R maps to r for user, group and others. On directories, R implies x. - - If both W and D are allowed, w will be set. + - W maps to w. - E maps to x. - - H and P are always retained and ignored under Linux. + - D is ignored. - - A is always reset when a file is written to. + - H, S and P are always retained and ignored under Linux. + + - A is cleared when a file is written to. User id and group id will be used unless set[gu]id are given as mount options. Since most of the Amiga file systems are single user systems @@ -128,11 +130,13 @@ The Linux rwxrwxrwx file mode is handled as follows: - - r permission will set R for user, group and others. + - r permission will allow R for user, group and others. + + - w permission will allow W for user, group and others. - - w permission will set W and D for user, group and others. + - x permission of the user will allow E for plain files. - - x permission of the user will set E for plain files. + - D will be allowed for user, group and others. - All other flags (suid, sgid, ...) are ignored and will not be retained. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/README +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/README @@ -0,0 +1,401 @@ + +Aufs5 -- advanced multi layered unification filesystem version 5.x +http://aufs.sf.net +Junjiro R. Okajima + + +0. Introduction +---------------------------------------- +In the early days, aufs was entirely re-designed and re-implemented +Unionfs Version 1.x series. Adding many original ideas, approaches, +improvements and implementations, it became totally different from +Unionfs while keeping the basic features. +Later, Unionfs Version 2.x series began taking some of the same +approaches to aufs1's. +Unionfs was being developed by Professor Erez Zadok at Stony Brook +University and his team. + +Aufs5 supports linux-v5.0 and later, If you want older kernel version +support, +- for linux-v4.x series, try aufs4-linux.git or aufs4-standalone.git +- for linux-v3.x series, try aufs3-linux.git or aufs3-standalone.git +- for linux-v2.6.16 and later, try aufs2-2.6.git, aufs2-standalone.git + or aufs1 from CVS on SourceForge. + +Note: it becomes clear that "Aufs was rejected. Let's give it up." + According to Christoph Hellwig, linux rejects all union-type + filesystems but UnionMount. + + +PS. Al Viro seems have a plan to merge aufs as well as overlayfs and + UnionMount, and he pointed out an issue around a directory mutex + lock and aufs addressed it. But it is still unsure whether aufs will + be merged (or any other union solution). + + + +1. Features +---------------------------------------- +- unite several directories into a single virtual filesystem. The member + directory is called as a branch. +- you can specify the permission flags to the branch, which are 'readonly', + 'readwrite' and 'whiteout-able.' +- by upper writable branch, internal copyup and whiteout, files/dirs on + readonly branch are modifiable logically. +- dynamic branch manipulation, add, del. +- etc... + +Also there are many enhancements in aufs, such as: +- test only the highest one for the directory permission (dirperm1) +- copyup on open (coo=) +- 'move' policy for copy-up between two writable branches, after + checking free space. +- xattr, acl +- readdir(3) in userspace. +- keep inode number by external inode number table +- keep the timestamps of file/dir in internal copyup operation +- seekable directory, supporting NFS readdir. +- whiteout is hardlinked in order to reduce the consumption of inodes + on branch +- do not copyup, nor create a whiteout when it is unnecessary +- revert a single systemcall when an error occurs in aufs +- remount interface instead of ioctl +- maintain /etc/mtab by an external command, /sbin/mount.aufs. +- loopback mounted filesystem as a branch +- kernel thread for removing the dir who has a plenty of whiteouts +- support copyup sparse file (a file which has a 'hole' in it) +- default permission flags for branches +- selectable permission flags for ro branch, whether whiteout can + exist or not +- export via NFS. +- support /fs/aufs and /aufs. +- support multiple writable branches, some policies to select one + among multiple writable branches. +- a new semantics for link(2) and rename(2) to support multiple + writable branches. +- no glibc changes are required. +- pseudo hardlink (hardlink over branches) +- allow a direct access manually to a file on branch, e.g. bypassing aufs. + including NFS or remote filesystem branch. +- userspace wrapper for pathconf(3)/fpathconf(3) with _PC_LINK_MAX. +- and more... + +Currently these features are dropped temporary from aufs5. +See design/08plan.txt in detail. +- nested mount, i.e. aufs as readonly no-whiteout branch of another aufs + (robr) +- statistics of aufs thread (/sys/fs/aufs/stat) + +Features or just an idea in the future (see also design/*.txt), +- reorder the branch index without del/re-add. +- permanent xino files for NFSD +- an option for refreshing the opened files after add/del branches +- light version, without branch manipulation. (unnecessary?) +- copyup in userspace +- inotify in userspace +- readv/writev + + +2. Download +---------------------------------------- +There are three GIT trees for aufs5, aufs5-linux.git, +aufs5-standalone.git, and aufs-util.git. Note that there is no "5" in +"aufs-util.git." +While the aufs-util is always necessary, you need either of aufs5-linux +or aufs5-standalone. + +The aufs5-linux tree includes the whole linux mainline GIT tree, +git://git.kernel.org/.../torvalds/linux.git. +And you cannot select CONFIG_AUFS_FS=m for this version, eg. you cannot +build aufs5 as an external kernel module. +Several extra patches are not included in this tree. Only +aufs5-standalone tree contains them. They are described in the later +section "Configuration and Compilation." + +On the other hand, the aufs5-standalone tree has only aufs source files +and necessary patches, and you can select CONFIG_AUFS_FS=m. +But you need to apply all aufs patches manually. + +You will find GIT branches whose name is in form of "aufs5.x" where "x" +represents the linux kernel version, "linux-5.x". For instance, +"aufs5.0" is for linux-5.0. For latest "linux-5.x-rcN", use +"aufs5.x-rcN" branch. + +o aufs5-linux tree +$ git clone --reference /your/linux/git/tree \ + git://github.com/sfjro/aufs5-linux.git aufs5-linux.git +- if you don't have linux GIT tree, then remove "--reference ..." +$ cd aufs5-linux.git +$ git checkout origin/aufs5.0 + +Or You may want to directly git-pull aufs into your linux GIT tree, and +leave the patch-work to GIT. +$ cd /your/linux/git/tree +$ git remote add aufs5 git://github.com/sfjro/aufs5-linux.git +$ git fetch aufs5 +$ git checkout -b my5.0 v5.0 +$ (add your local change...) +$ git pull aufs5 aufs5.0 +- now you have v5.0 + your_changes + aufs5.0 in you my5.0 branch. +- you may need to solve some conflicts between your_changes and + aufs5.0. in this case, git-rerere is recommended so that you can + solve the similar conflicts automatically when you upgrade to 5.1 or + later in the future. + +o aufs5-standalone tree +$ git clone git://github.com/sfjro/aufs5-standalone.git aufs5-standalone.git +$ cd aufs5-standalone.git +$ git checkout origin/aufs5.0 + +o aufs-util tree +$ git clone git://git.code.sf.net/p/aufs/aufs-util aufs-util.git +- note that the public aufs-util.git is on SourceForge instead of + GitHUB. +$ cd aufs-util.git +$ git checkout origin/aufs5.0 + +Note: The 5.x-rcN branch is to be used with `rc' kernel versions ONLY. +The minor version number, 'x' in '5.x', of aufs may not always +follow the minor version number of the kernel. +Because changes in the kernel that cause the use of a new +minor version number do not always require changes to aufs-util. + +Since aufs-util has its own minor version number, you may not be +able to find a GIT branch in aufs-util for your kernel's +exact minor version number. +In this case, you should git-checkout the branch for the +nearest lower number. + +For (an unreleased) example: +If you are using "linux-5.10" and the "aufs5.10" branch +does not exist in aufs-util repository, then "aufs5.9", "aufs5.8" +or something numerically smaller is the branch for your kernel. + +Also you can view all branches by + $ git branch -a + + +3. Configuration and Compilation +---------------------------------------- +Make sure you have git-checkout'ed the correct branch. + +For aufs5-linux tree, +- enable CONFIG_AUFS_FS. +- set other aufs configurations if necessary. + +For aufs5-standalone tree, +There are several ways to build. + +1. +- apply ./aufs5-kbuild.patch to your kernel source files. +- apply ./aufs5-base.patch too. +- apply ./aufs5-mmap.patch too. +- apply ./aufs5-standalone.patch too, if you have a plan to set + CONFIG_AUFS_FS=m. otherwise you don't need ./aufs5-standalone.patch. +- copy ./{Documentation,fs,include/uapi/linux/aufs_type.h} files to your + kernel source tree. Never copy $PWD/include/uapi/linux/Kbuild. +- enable CONFIG_AUFS_FS, you can select either + =m or =y. +- and build your kernel as usual. +- install the built kernel. +- install the header files too by "make headers_install" to the + directory where you specify. By default, it is $PWD/usr. + "make help" shows a brief note for headers_install. +- and reboot your system. + +2. +- module only (CONFIG_AUFS_FS=m). +- apply ./aufs5-base.patch to your kernel source files. +- apply ./aufs5-mmap.patch too. +- apply ./aufs5-standalone.patch too. +- build your kernel, don't forget "make headers_install", and reboot. +- edit ./config.mk and set other aufs configurations if necessary. + Note: You should read $PWD/fs/aufs/Kconfig carefully which describes + every aufs configurations. +- build the module by simple "make". +- you can specify ${KDIR} make variable which points to your kernel + source tree. +- install the files + + run "make install" to install the aufs module, or copy the built + $PWD/aufs.ko to /lib/modules/... and run depmod -a (or reboot simply). + + run "make install_headers" (instead of headers_install) to install + the modified aufs header file (you can specify DESTDIR which is + available in aufs standalone version's Makefile only), or copy + $PWD/usr/include/linux/aufs_type.h to /usr/include/linux or wherever + you like manually. By default, the target directory is $PWD/usr. +- no need to apply aufs5-kbuild.patch, nor copying source files to your + kernel source tree. + +Note: The header file aufs_type.h is necessary to build aufs-util + as well as "make headers_install" in the kernel source tree. + headers_install is subject to be forgotten, but it is essentially + necessary, not only for building aufs-util. + You may not meet problems without headers_install in some older + version though. + +And then, +- read README in aufs-util, build and install it +- note that your distribution may contain an obsoleted version of + aufs_type.h in /usr/include/linux or something. When you build aufs + utilities, make sure that your compiler refers the correct aufs header + file which is built by "make headers_install." +- if you want to use readdir(3) in userspace or pathconf(3) wrapper, + then run "make install_ulib" too. And refer to the aufs manual in + detail. + +There several other patches in aufs5-standalone.git. They are all +optional. When you meet some problems, they will help you. +- aufs5-loopback.patch + Supports a nested loopback mount in a branch-fs. This patch is + unnecessary until aufs produces a message like "you may want to try + another patch for loopback file". +- proc_mounts.patch + When there are many mountpoints and many mount(2)/umount(2) are + running, then /proc/mounts may not show the all mountpoints. This + patch makes /proc/mounts always show the full mountpoints list. + If you don't want to apply this patch and meet such problem, then you + need to increase the value of 'ProcMounts_Times' make-variable in + aufs-util.git as a second best solution. +- vfs-ino.patch + Modifies a system global kernel internal function get_next_ino() in + order to stop assigning 0 for an inode-number. Not directly related to + aufs, but recommended generally. +- tmpfs-idr.patch + Keeps the tmpfs inode number as the lowest value. Effective to reduce + the size of aufs XINO files for tmpfs branch. Also it prevents the + duplication of inode number, which is important for backup tools and + other utilities. When you find aufs XINO files for tmpfs branch + growing too much, try this patch. +- lockdep-debug.patch + Because aufs is not only an ordinary filesystem (callee of VFS), but + also a caller of VFS functions for branch filesystems, subclassing of + the internal locks for LOCKDEP is necessary. LOCKDEP is a debugging + feature of linux kernel. If you enable CONFIG_LOCKDEP, then you will + need to apply this debug patch to expand several constant values. + If you don't know what LOCKDEP is, then you don't have apply this + patch. + + +4. Usage +---------------------------------------- +At first, make sure aufs-util are installed, and please read the aufs +manual, aufs.5 in aufs-util.git tree. +$ man -l aufs.5 + +And then, +$ mkdir /tmp/rw /tmp/aufs +# mount -t aufs -o br=/tmp/rw:${HOME} none /tmp/aufs + +Here is another example. The result is equivalent. +# mount -t aufs -o br=/tmp/rw=rw:${HOME}=ro none /tmp/aufs + Or +# mount -t aufs -o br:/tmp/rw none /tmp/aufs +# mount -o remount,append:${HOME} /tmp/aufs + +Then, you can see whole tree of your home dir through /tmp/aufs. If +you modify a file under /tmp/aufs, the one on your home directory is +not affected, instead the same named file will be newly created under +/tmp/rw. And all of your modification to a file will be applied to +the one under /tmp/rw. This is called the file based Copy on Write +(COW) method. +Aufs mount options are described in aufs.5. +If you run chroot or something and make your aufs as a root directory, +then you need to customize the shutdown script. See the aufs manual in +detail. + +Additionally, there are some sample usages of aufs which are a +diskless system with network booting, and LiveCD over NFS. +See sample dir in CVS tree on SourceForge. + + +5. Contact +---------------------------------------- +When you have any problems or strange behaviour in aufs, please let me +know with: +- /proc/mounts (instead of the output of mount(8)) +- /sys/module/aufs/* +- /sys/fs/aufs/* (if you have them) +- /debug/aufs/* (if you have them) +- linux kernel version + if your kernel is not plain, for example modified by distributor, + the url where i can download its source is necessary too. +- aufs version which was printed at loading the module or booting the + system, instead of the date you downloaded. +- configuration (define/undefine CONFIG_AUFS_xxx) +- kernel configuration or /proc/config.gz (if you have it) +- LSM (linux security module, if you are using) +- behaviour which you think to be incorrect +- actual operation, reproducible one is better +- mailto: aufs-users at lists.sourceforge.net + +Usually, I don't watch the Public Areas(Bugs, Support Requests, Patches, +and Feature Requests) on SourceForge. Please join and write to +aufs-users ML. + + +6. Acknowledgements +---------------------------------------- +Thanks to everyone who have tried and are using aufs, whoever +have reported a bug or any feedback. + +Especially donators: +Tomas Matejicek(slax.org) made a donation (much more than once). + Since Apr 2010, Tomas M (the author of Slax and Linux Live + scripts) is making "doubling" donations. + Unfortunately I cannot list all of the donators, but I really + appreciate. + It ends Aug 2010, but the ordinary donation URL is still available. + +Dai Itasaka made a donation (2007/8). +Chuck Smith made a donation (2008/4, 10 and 12). +Henk Schoneveld made a donation (2008/9). +Chih-Wei Huang, ASUS, CTC donated Eee PC 4G (2008/10). +Francois Dupoux made a donation (2008/11). +Bruno Cesar Ribas and Luis Carlos Erpen de Bona, C3SL serves public + aufs2 GIT tree (2009/2). +William Grant made a donation (2009/3). +Patrick Lane made a donation (2009/4). +The Mail Archive (mail-archive.com) made donations (2009/5). +Nippy Networks (Ed Wildgoose) made a donation (2009/7). +New Dream Network, LLC (www.dreamhost.com) made a donation (2009/11). +Pavel Pronskiy made a donation (2011/2). +Iridium and Inmarsat satellite phone retailer (www.mailasail.com), Nippy + Networks (Ed Wildgoose) made a donation for hardware (2011/3). +Max Lekomcev (DOM-TV project) made a donation (2011/7, 12, 2012/3, 6 and +11). +Sam Liddicott made a donation (2011/9). +Era Scarecrow made a donation (2013/4). +Bor Ratajc made a donation (2013/4). +Alessandro Gorreta made a donation (2013/4). +POIRETTE Marc made a donation (2013/4). +Alessandro Gorreta made a donation (2013/4). +lauri kasvandik made a donation (2013/5). +"pemasu from Finland" made a donation (2013/7). +The Parted Magic Project made a donation (2013/9 and 11). +Pavel Barta made a donation (2013/10). +Nikolay Pertsev made a donation (2014/5). +James B made a donation (2014/7 and 2015/7). +Stefano Di Biase made a donation (2014/8). +Daniel Epellei made a donation (2015/1). +OmegaPhil made a donation (2016/1, 2018/4). +Tomasz Szewczyk made a donation (2016/4). +James Burry made a donation (2016/12). +Carsten Rose made a donation (2018/9). +Porteus Kiosk made a donation (2018/10). + +Thank you very much. +Donations are always, including future donations, very important and +helpful for me to keep on developing aufs. + + +7. +---------------------------------------- +If you are an experienced user, no explanation is needed. Aufs is +just a linux filesystem. + + +Enjoy! + +# Local variables: ; +# mode: text; +# End: ; --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/01intro.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/01intro.txt @@ -0,0 +1,171 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Introduction +---------------------------------------- + +aufs [ei ju: ef es] | /ey-yoo-ef-es/ | [a u f s] +1. abbrev. for "advanced multi-layered unification filesystem". +2. abbrev. for "another unionfs". +3. abbrev. for "auf das" in German which means "on the" in English. + Ex. "Butter aufs Brot"(G) means "butter onto bread"(E). + But "Filesystem aufs Filesystem" is hard to understand. +4. abbrev. for "African Urban Fashion Show". + +AUFS is a filesystem with features: +- multi layered stackable unification filesystem, the member directory + is called as a branch. +- branch permission and attribute, 'readonly', 'real-readonly', + 'readwrite', 'whiteout-able', 'link-able whiteout', etc. and their + combination. +- internal "file copy-on-write". +- logical deletion, whiteout. +- dynamic branch manipulation, adding, deleting and changing permission. +- allow bypassing aufs, user's direct branch access. +- external inode number translation table and bitmap which maintains the + persistent aufs inode number. +- seekable directory, including NFS readdir. +- file mapping, mmap and sharing pages. +- pseudo-link, hardlink over branches. +- loopback mounted filesystem as a branch. +- several policies to select one among multiple writable branches. +- revert a single systemcall when an error occurs in aufs. +- and more... + + +Multi Layered Stackable Unification Filesystem +---------------------------------------------------------------------- +Most people already knows what it is. +It is a filesystem which unifies several directories and provides a +merged single directory. When users access a file, the access will be +passed/re-directed/converted (sorry, I am not sure which English word is +correct) to the real file on the member filesystem. The member +filesystem is called 'lower filesystem' or 'branch' and has a mode +'readonly' and 'readwrite.' And the deletion for a file on the lower +readonly branch is handled by creating 'whiteout' on the upper writable +branch. + +On LKML, there have been discussions about UnionMount (Jan Blunck, +Bharata B Rao and Valerie Aurora) and Unionfs (Erez Zadok). They took +different approaches to implement the merged-view. +The former tries putting it into VFS, and the latter implements as a +separate filesystem. +(If I misunderstand about these implementations, please let me know and +I shall correct it. Because it is a long time ago when I read their +source files last time). + +UnionMount's approach will be able to small, but may be hard to share +branches between several UnionMount since the whiteout in it is +implemented in the inode on branch filesystem and always +shared. According to Bharata's post, readdir does not seems to be +finished yet. +There are several missing features known in this implementations such as +- for users, the inode number may change silently. eg. copy-up. +- link(2) may break by copy-up. +- read(2) may get an obsoleted filedata (fstat(2) too). +- fcntl(F_SETLK) may be broken by copy-up. +- unnecessary copy-up may happen, for example mmap(MAP_PRIVATE) after + open(O_RDWR). + +In linux-3.18, "overlay" filesystem (formerly known as "overlayfs") was +merged into mainline. This is another implementation of UnionMount as a +separated filesystem. All the limitations and known problems which +UnionMount are equally inherited to "overlay" filesystem. + +Unionfs has a longer history. When I started implementing a stackable +filesystem (Aug 2005), it already existed. It has virtual super_block, +inode, dentry and file objects and they have an array pointing lower +same kind objects. After contributing many patches for Unionfs, I +re-started my project AUFS (Jun 2006). + +In AUFS, the structure of filesystem resembles to Unionfs, but I +implemented my own ideas, approaches and enhancements and it became +totally different one. + +Comparing DM snapshot and fs based implementation +- the number of bytes to be copied between devices is much smaller. +- the type of filesystem must be one and only. +- the fs must be writable, no readonly fs, even for the lower original + device. so the compression fs will not be usable. but if we use + loopback mount, we may address this issue. + for instance, + mount /cdrom/squashfs.img /sq + losetup /sq/ext2.img + losetup /somewhere/cow + dmsetup "snapshot /dev/loop0 /dev/loop1 ..." +- it will be difficult (or needs more operations) to extract the + difference between the original device and COW. +- DM snapshot-merge may help a lot when users try merging. in the + fs-layer union, users will use rsync(1). + +You may want to read my old paper "Filesystems in LiveCD" +(http://aufs.sourceforge.net/aufs2/report/sq/sq.pdf). + + +Several characters/aspects/persona of aufs +---------------------------------------------------------------------- + +Aufs has several characters, aspects or persona. +1. a filesystem, callee of VFS helper +2. sub-VFS, caller of VFS helper for branches +3. a virtual filesystem which maintains persistent inode number +4. reader/writer of files on branches such like an application + +1. Callee of VFS Helper +As an ordinary linux filesystem, aufs is a callee of VFS. For instance, +unlink(2) from an application reaches sys_unlink() kernel function and +then vfs_unlink() is called. vfs_unlink() is one of VFS helper and it +calls filesystem specific unlink operation. Actually aufs implements the +unlink operation but it behaves like a redirector. + +2. Caller of VFS Helper for Branches +aufs_unlink() passes the unlink request to the branch filesystem as if +it were called from VFS. So the called unlink operation of the branch +filesystem acts as usual. As a caller of VFS helper, aufs should handle +every necessary pre/post operation for the branch filesystem. +- acquire the lock for the parent dir on a branch +- lookup in a branch +- revalidate dentry on a branch +- mnt_want_write() for a branch +- vfs_unlink() for a branch +- mnt_drop_write() for a branch +- release the lock on a branch + +3. Persistent Inode Number +One of the most important issue for a filesystem is to maintain inode +numbers. This is particularly important to support exporting a +filesystem via NFS. Aufs is a virtual filesystem which doesn't have a +backend block device for its own. But some storage is necessary to +keep and maintain the inode numbers. It may be a large space and may not +suit to keep in memory. Aufs rents some space from its first writable +branch filesystem (by default) and creates file(s) on it. These files +are created by aufs internally and removed soon (currently) keeping +opened. +Note: Because these files are removed, they are totally gone after + unmounting aufs. It means the inode numbers are not persistent + across unmount or reboot. I have a plan to make them really + persistent which will be important for aufs on NFS server. + +4. Read/Write Files Internally (copy-on-write) +Because a branch can be readonly, when you write a file on it, aufs will +"copy-up" it to the upper writable branch internally. And then write the +originally requested thing to the file. Generally kernel doesn't +open/read/write file actively. In aufs, even a single write may cause a +internal "file copy". This behaviour is very similar to cp(1) command. + +Some people may think it is better to pass such work to user space +helper, instead of doing in kernel space. Actually I am still thinking +about it. But currently I have implemented it in kernel space. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/02struct.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/02struct.txt @@ -0,0 +1,258 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Basic Aufs Internal Structure + +Superblock/Inode/Dentry/File Objects +---------------------------------------------------------------------- +As like an ordinary filesystem, aufs has its own +superblock/inode/dentry/file objects. All these objects have a +dynamically allocated array and store the same kind of pointers to the +lower filesystem, branch. +For example, when you build a union with one readwrite branch and one +readonly, mounted /au, /rw and /ro respectively. +- /au = /rw + /ro +- /ro/fileA exists but /rw/fileA + +Aufs lookup operation finds /ro/fileA and gets dentry for that. These +pointers are stored in a aufs dentry. The array in aufs dentry will be, +- [0] = NULL (because /rw/fileA doesn't exist) +- [1] = /ro/fileA + +This style of an array is essentially same to the aufs +superblock/inode/dentry/file objects. + +Because aufs supports manipulating branches, ie. add/delete/change +branches dynamically, these objects has its own generation. When +branches are changed, the generation in aufs superblock is +incremented. And a generation in other object are compared when it is +accessed. When a generation in other objects are obsoleted, aufs +refreshes the internal array. + + +Superblock +---------------------------------------------------------------------- +Additionally aufs superblock has some data for policies to select one +among multiple writable branches, XIB files, pseudo-links and kobject. +See below in detail. +About the policies which supports copy-down a directory, see +wbr_policy.txt too. + + +Branch and XINO(External Inode Number Translation Table) +---------------------------------------------------------------------- +Every branch has its own xino (external inode number translation table) +file. The xino file is created and unlinked by aufs internally. When two +members of a union exist on the same filesystem, they share the single +xino file. +The struct of a xino file is simple, just a sequence of aufs inode +numbers which is indexed by the lower inode number. +In the above sample, assume the inode number of /ro/fileA is i111 and +aufs assigns the inode number i999 for fileA. Then aufs writes 999 as +4(8) bytes at 111 * 4(8) bytes offset in the xino file. + +When the inode numbers are not contiguous, the xino file will be sparse +which has a hole in it and doesn't consume as much disk space as it +might appear. If your branch filesystem consumes disk space for such +holes, then you should specify 'xino=' option at mounting aufs. + +Aufs has a mount option to free the disk blocks for such holes in XINO +files on tmpfs or ramdisk. But it is not so effective actually. If you +meet a problem of disk shortage due to XINO files, then you should try +"tmpfs-ino.patch" (and "vfs-ino.patch" too) in aufs4-standalone.git. +The patch localizes the assignment inumbers per tmpfs-mount and avoid +the holes in XINO files. + +Also a writable branch has three kinds of "whiteout bases". All these +are existed when the branch is joined to aufs, and their names are +whiteout-ed doubly, so that users will never see their names in aufs +hierarchy. +1. a regular file which will be hardlinked to all whiteouts. +2. a directory to store a pseudo-link. +3. a directory to store an "orphan"-ed file temporary. + +1. Whiteout Base + When you remove a file on a readonly branch, aufs handles it as a + logical deletion and creates a whiteout on the upper writable branch + as a hardlink of this file in order not to consume inode on the + writable branch. +2. Pseudo-link Dir + See below, Pseudo-link. +3. Step-Parent Dir + When "fileC" exists on the lower readonly branch only and it is + opened and removed with its parent dir, and then user writes + something into it, then aufs copies-up fileC to this + directory. Because there is no other dir to store fileC. After + creating a file under this dir, the file is unlinked. + +Because aufs supports manipulating branches, ie. add/delete/change +dynamically, a branch has its own id. When the branch order changes, +aufs finds the new index by searching the branch id. + + +Pseudo-link +---------------------------------------------------------------------- +Assume "fileA" exists on the lower readonly branch only and it is +hardlinked to "fileB" on the branch. When you write something to fileA, +aufs copies-up it to the upper writable branch. Additionally aufs +creates a hardlink under the Pseudo-link Directory of the writable +branch. The inode of a pseudo-link is kept in aufs super_block as a +simple list. If fileB is read after unlinking fileA, aufs returns +filedata from the pseudo-link instead of the lower readonly +branch. Because the pseudo-link is based upon the inode, to keep the +inode number by xino (see above) is essentially necessary. + +All the hardlinks under the Pseudo-link Directory of the writable branch +should be restored in a proper location later. Aufs provides a utility +to do this. The userspace helpers executed at remounting and unmounting +aufs by default. +During this utility is running, it puts aufs into the pseudo-link +maintenance mode. In this mode, only the process which began the +maintenance mode (and its child processes) is allowed to operate in +aufs. Some other processes which are not related to the pseudo-link will +be allowed to run too, but the rest have to return an error or wait +until the maintenance mode ends. If a process already acquires an inode +mutex (in VFS), it has to return an error. + + +XIB(external inode number bitmap) +---------------------------------------------------------------------- +Addition to the xino file per a branch, aufs has an external inode number +bitmap in a superblock object. It is also an internal file such like a +xino file. +It is a simple bitmap to mark whether the aufs inode number is in-use or +not. +To reduce the file I/O, aufs prepares a single memory page to cache xib. + +As well as XINO files, aufs has a feature to truncate/refresh XIB to +reduce the number of consumed disk blocks for these files. + + +Virtual or Vertical Dir, and Readdir in Userspace +---------------------------------------------------------------------- +In order to support multiple layers (branches), aufs readdir operation +constructs a virtual dir block on memory. For readdir, aufs calls +vfs_readdir() internally for each dir on branches, merges their entries +with eliminating the whiteout-ed ones, and sets it to file (dir) +object. So the file object has its entry list until it is closed. The +entry list will be updated when the file position is zero and becomes +obsoleted. This decision is made in aufs automatically. + +The dynamically allocated memory block for the name of entries has a +unit of 512 bytes (by default) and stores the names contiguously (no +padding). Another block for each entry is handled by kmem_cache too. +During building dir blocks, aufs creates hash list and judging whether +the entry is whiteouted by its upper branch or already listed. +The merged result is cached in the corresponding inode object and +maintained by a customizable life-time option. + +Some people may call it can be a security hole or invite DoS attack +since the opened and once readdir-ed dir (file object) holds its entry +list and becomes a pressure for system memory. But I'd say it is similar +to files under /proc or /sys. The virtual files in them also holds a +memory page (generally) while they are opened. When an idea to reduce +memory for them is introduced, it will be applied to aufs too. +For those who really hate this situation, I've developed readdir(3) +library which operates this merging in userspace. You just need to set +LD_PRELOAD environment variable, and aufs will not consume no memory in +kernel space for readdir(3). + + +Workqueue +---------------------------------------------------------------------- +Aufs sometimes requires privilege access to a branch. For instance, +in copy-up/down operation. When a user process is going to make changes +to a file which exists in the lower readonly branch only, and the mode +of one of ancestor directories may not be writable by a user +process. Here aufs copy-up the file with its ancestors and they may +require privilege to set its owner/group/mode/etc. +This is a typical case of a application character of aufs (see +Introduction). + +Aufs uses workqueue synchronously for this case. It creates its own +workqueue. The workqueue is a kernel thread and has privilege. Aufs +passes the request to call mkdir or write (for example), and wait for +its completion. This approach solves a problem of a signal handler +simply. +If aufs didn't adopt the workqueue and changed the privilege of the +process, then the process may receive the unexpected SIGXFSZ or other +signals. + +Also aufs uses the system global workqueue ("events" kernel thread) too +for asynchronous tasks, such like handling inotify/fsnotify, re-creating a +whiteout base and etc. This is unrelated to a privilege. +Most of aufs operation tries acquiring a rw_semaphore for aufs +superblock at the beginning, at the same time waits for the completion +of all queued asynchronous tasks. + + +Whiteout +---------------------------------------------------------------------- +The whiteout in aufs is very similar to Unionfs's. That is represented +by its filename. UnionMount takes an approach of a file mode, but I am +afraid several utilities (find(1) or something) will have to support it. + +Basically the whiteout represents "logical deletion" which stops aufs to +lookup further, but also it represents "dir is opaque" which also stop +further lookup. + +In aufs, rmdir(2) and rename(2) for dir uses whiteout alternatively. +In order to make several functions in a single systemcall to be +revertible, aufs adopts an approach to rename a directory to a temporary +unique whiteouted name. +For example, in rename(2) dir where the target dir already existed, aufs +renames the target dir to a temporary unique whiteouted name before the +actual rename on a branch, and then handles other actions (make it opaque, +update the attributes, etc). If an error happens in these actions, aufs +simply renames the whiteouted name back and returns an error. If all are +succeeded, aufs registers a function to remove the whiteouted unique +temporary name completely and asynchronously to the system global +workqueue. + + +Copy-up +---------------------------------------------------------------------- +It is a well-known feature or concept. +When user modifies a file on a readonly branch, aufs operate "copy-up" +internally and makes change to the new file on the upper writable branch. +When the trigger systemcall does not update the timestamps of the parent +dir, aufs reverts it after copy-up. + + +Move-down (aufs3.9 and later) +---------------------------------------------------------------------- +"Copy-up" is one of the essential feature in aufs. It copies a file from +the lower readonly branch to the upper writable branch when a user +changes something about the file. +"Move-down" is an opposite action of copy-up. Basically this action is +ran manually instead of automatically and internally. +For desgin and implementation, aufs has to consider these issues. +- whiteout for the file may exist on the lower branch. +- ancestor directories may not exist on the lower branch. +- diropq for the ancestor directories may exist on the upper branch. +- free space on the lower branch will reduce. +- another access to the file may happen during moving-down, including + UDBA (see "Revalidate Dentry and UDBA"). +- the file should not be hard-linked nor pseudo-linked. they should be + handled by auplink utility later. + +Sometimes users want to move-down a file from the upper writable branch +to the lower readonly or writable branch. For instance, +- the free space of the upper writable branch is going to run out. +- create a new intermediate branch between the upper and lower branch. +- etc. + +For this purpose, use "aumvdown" command in aufs-util.git. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/03atomic_open.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/03atomic_open.txt @@ -0,0 +1,85 @@ + +# Copyright (C) 2015-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Support for a branch who has its ->atomic_open() +---------------------------------------------------------------------- +The filesystems who implement its ->atomic_open() are not majority. For +example NFSv4 does, and aufs should call NFSv4 ->atomic_open, +particularly for open(O_CREAT|O_EXCL, 0400) case. Other than +->atomic_open(), NFSv4 returns an error for this open(2). While I am not +sure whether all filesystems who have ->atomic_open() behave like this, +but NFSv4 surely returns the error. + +In order to support ->atomic_open() for aufs, there are a few +approaches. + +A. Introduce aufs_atomic_open() + - calls one of VFS:do_last(), lookup_open() or atomic_open() for + branch fs. +B. Introduce aufs_atomic_open() calling create, open and chmod. this is + an aufs user Pip Cet's approach + - calls aufs_create(), VFS finish_open() and notify_change(). + - pass fake-mode to finish_open(), and then correct the mode by + notify_change(). +C. Extend aufs_open() to call branch fs's ->atomic_open() + - no aufs_atomic_open(). + - aufs_lookup() registers the TID to an aufs internal object. + - aufs_create() does nothing when the matching TID is registered, but + registers the mode. + - aufs_open() calls branch fs's ->atomic_open() when the matching + TID is registered. +D. Extend aufs_open() to re-try branch fs's ->open() with superuser's + credential + - no aufs_atomic_open(). + - aufs_create() registers the TID to an internal object. this info + represents "this process created this file just now." + - when aufs gets EACCES from branch fs's ->open(), then confirm the + registered TID and re-try open() with superuser's credential. + +Pros and cons for each approach. + +A. + - straightforward but highly depends upon VFS internal. + - the atomic behavaiour is kept. + - some of parameters such as nameidata are hard to reproduce for + branch fs. + - large overhead. +B. + - easy to implement. + - the atomic behavaiour is lost. +C. + - the atomic behavaiour is kept. + - dirty and tricky. + - VFS checks whether the file is created correctly after calling + ->create(), which means this approach doesn't work. +D. + - easy to implement. + - the atomic behavaiour is lost. + - to open a file with superuser's credential and give it to a user + process is a bad idea, since the file object keeps the credential + in it. It may affect LSM or something. This approach doesn't work + either. + +The approach A is ideal, but it hard to implement. So here is a +variation of A, which is to be implemented. + +A-1. Introduce aufs_atomic_open() + - calls branch fs ->atomic_open() if exists. otherwise calls + vfs_create() and finish_open(). + - the demerit is that the several checks after branch fs + ->atomic_open() are lost. in the ordinary case, the checks are + done by VFS:do_last(), lookup_open() and atomic_open(). some can + be implemented in aufs, but not all I am afraid. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/03lookup.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/03lookup.txt @@ -0,0 +1,113 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Lookup in a Branch +---------------------------------------------------------------------- +Since aufs has a character of sub-VFS (see Introduction), it operates +lookup for branches as VFS does. It may be a heavy work. But almost all +lookup operation in aufs is the simplest case, ie. lookup only an entry +directly connected to its parent. Digging down the directory hierarchy +is unnecessary. VFS has a function lookup_one_len() for that use, and +aufs calls it. + +When a branch is a remote filesystem, aufs basically relies upon its +->d_revalidate(), also aufs forces the hardest revalidate tests for +them. +For d_revalidate, aufs implements three levels of revalidate tests. See +"Revalidate Dentry and UDBA" in detail. + + +Test Only the Highest One for the Directory Permission (dirperm1 option) +---------------------------------------------------------------------- +Let's try case study. +- aufs has two branches, upper readwrite and lower readonly. + /au = /rw + /ro +- "dirA" exists under /ro, but /rw. and its mode is 0700. +- user invoked "chmod a+rx /au/dirA" +- the internal copy-up is activated and "/rw/dirA" is created and its + permission bits are set to world readable. +- then "/au/dirA" becomes world readable? + +In this case, /ro/dirA is still 0700 since it exists in readonly branch, +or it may be a natively readonly filesystem. If aufs respects the lower +branch, it should not respond readdir request from other users. But user +allowed it by chmod. Should really aufs rejects showing the entries +under /ro/dirA? + +To be honest, I don't have a good solution for this case. So aufs +implements 'dirperm1' and 'nodirperm1' mount options, and leave it to +users. +When dirperm1 is specified, aufs checks only the highest one for the +directory permission, and shows the entries. Otherwise, as usual, checks +every dir existing on all branches and rejects the request. + +As a side effect, dirperm1 option improves the performance of aufs +because the number of permission check is reduced when the number of +branch is many. + + +Revalidate Dentry and UDBA (User's Direct Branch Access) +---------------------------------------------------------------------- +Generally VFS helpers re-validate a dentry as a part of lookup. +0. digging down the directory hierarchy. +1. lock the parent dir by its i_mutex. +2. lookup the final (child) entry. +3. revalidate it. +4. call the actual operation (create, unlink, etc.) +5. unlock the parent dir + +If the filesystem implements its ->d_revalidate() (step 3), then it is +called. Actually aufs implements it and checks the dentry on a branch is +still valid. +But it is not enough. Because aufs has to release the lock for the +parent dir on a branch at the end of ->lookup() (step 2) and +->d_revalidate() (step 3) while the i_mutex of the aufs dir is still +held by VFS. +If the file on a branch is changed directly, eg. bypassing aufs, after +aufs released the lock, then the subsequent operation may cause +something unpleasant result. + +This situation is a result of VFS architecture, ->lookup() and +->d_revalidate() is separated. But I never say it is wrong. It is a good +design from VFS's point of view. It is just not suitable for sub-VFS +character in aufs. + +Aufs supports such case by three level of revalidation which is +selectable by user. +1. Simple Revalidate + Addition to the native flow in VFS's, confirm the child-parent + relationship on the branch just after locking the parent dir on the + branch in the "actual operation" (step 4). When this validation + fails, aufs returns EBUSY. ->d_revalidate() (step 3) in aufs still + checks the validation of the dentry on branches. +2. Monitor Changes Internally by Inotify/Fsnotify + Addition to above, in the "actual operation" (step 4) aufs re-lookup + the dentry on the branch, and returns EBUSY if it finds different + dentry. + Additionally, aufs sets the inotify/fsnotify watch for every dir on branches + during it is in cache. When the event is notified, aufs registers a + function to kernel 'events' thread by schedule_work(). And the + function sets some special status to the cached aufs dentry and inode + private data. If they are not cached, then aufs has nothing to + do. When the same file is accessed through aufs (step 0-3) later, + aufs will detect the status and refresh all necessary data. + In this mode, aufs has to ignore the event which is fired by aufs + itself. +3. No Extra Validation + This is the simplest test and doesn't add any additional revalidation + test, and skip the revalidation in step 4. It is useful and improves + aufs performance when system surely hide the aufs branches from user, + by over-mounting something (or another method). --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/04branch.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/04branch.txt @@ -0,0 +1,74 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Branch Manipulation + +Since aufs supports dynamic branch manipulation, ie. add/remove a branch +and changing its permission/attribute, there are a lot of works to do. + + +Add a Branch +---------------------------------------------------------------------- +o Confirm the adding dir exists outside of aufs, including loopback + mount, and its various attributes. +o Initialize the xino file and whiteout bases if necessary. + See struct.txt. + +o Check the owner/group/mode of the directory + When the owner/group/mode of the adding directory differs from the + existing branch, aufs issues a warning because it may impose a + security risk. + For example, when a upper writable branch has a world writable empty + top directory, a malicious user can create any files on the writable + branch directly, like copy-up and modify manually. If something like + /etc/{passwd,shadow} exists on the lower readonly branch but the upper + writable branch, and the writable branch is world-writable, then a + malicious guy may create /etc/passwd on the writable branch directly + and the infected file will be valid in aufs. + I am afraid it can be a security issue, but aufs can do nothing except + producing a warning. + + +Delete a Branch +---------------------------------------------------------------------- +o Confirm the deleting branch is not busy + To be general, there is one merit to adopt "remount" interface to + manipulate branches. It is to discard caches. At deleting a branch, + aufs checks the still cached (and connected) dentries and inodes. If + there are any, then they are all in-use. An inode without its + corresponding dentry can be alive alone (for example, inotify/fsnotify case). + + For the cached one, aufs checks whether the same named entry exists on + other branches. + If the cached one is a directory, because aufs provides a merged view + to users, as long as one dir is left on any branch aufs can show the + dir to users. In this case, the branch can be removed from aufs. + Otherwise aufs rejects deleting the branch. + + If any file on the deleting branch is opened by aufs, then aufs + rejects deleting. + + +Modify the Permission of a Branch +---------------------------------------------------------------------- +o Re-initialize or remove the xino file and whiteout bases if necessary. + See struct.txt. + +o rw --> ro: Confirm the modifying branch is not busy + Aufs rejects the request if any of these conditions are true. + - a file on the branch is mmap-ed. + - a regular file on the branch is opened for write and there is no + same named entry on the upper branch. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/05wbr_policy.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/05wbr_policy.txt @@ -0,0 +1,64 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Policies to Select One among Multiple Writable Branches +---------------------------------------------------------------------- +When the number of writable branch is more than one, aufs has to decide +the target branch for file creation or copy-up. By default, the highest +writable branch which has the parent (or ancestor) dir of the target +file is chosen (top-down-parent policy). +By user's request, aufs implements some other policies to select the +writable branch, for file creation several policies, round-robin, +most-free-space, and other policies. For copy-up, top-down-parent, +bottom-up-parent, bottom-up and others. + +As expected, the round-robin policy selects the branch in circular. When +you have two writable branches and creates 10 new files, 5 files will be +created for each branch. mkdir(2) systemcall is an exception. When you +create 10 new directories, all will be created on the same branch. +And the most-free-space policy selects the one which has most free +space among the writable branches. The amount of free space will be +checked by aufs internally, and users can specify its time interval. + +The policies for copy-up is more simple, +top-down-parent is equivalent to the same named on in create policy, +bottom-up-parent selects the writable branch where the parent dir +exists and the nearest upper one from the copyup-source, +bottom-up selects the nearest upper writable branch from the +copyup-source, regardless the existence of the parent dir. + +There are some rules or exceptions to apply these policies. +- If there is a readonly branch above the policy-selected branch and + the parent dir is marked as opaque (a variation of whiteout), or the + target (creating) file is whiteout-ed on the upper readonly branch, + then the result of the policy is ignored and the target file will be + created on the nearest upper writable branch than the readonly branch. +- If there is a writable branch above the policy-selected branch and + the parent dir is marked as opaque or the target file is whiteouted + on the branch, then the result of the policy is ignored and the target + file will be created on the highest one among the upper writable + branches who has diropq or whiteout. In case of whiteout, aufs removes + it as usual. +- link(2) and rename(2) systemcalls are exceptions in every policy. + They try selecting the branch where the source exists as possible + since copyup a large file will take long time. If it can't be, + ie. the branch where the source exists is readonly, then they will + follow the copyup policy. +- There is an exception for rename(2) when the target exists. + If the rename target exists, aufs compares the index of the branches + where the source and the target exists and selects the higher + one. If the selected branch is readonly, then aufs follows the + copyup policy. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/06dirren.dot +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/06dirren.dot @@ -0,0 +1,31 @@ + +// to view this graph, run dot(1) command in GRAPHVIZ. + +digraph G { +node [shape=box]; +whinfo [label="detailed info file\n(lower_brid_root-hinum, h_inum, namelen, old name)"]; + +node [shape=oval]; + +aufs_rename -> whinfo [label="store/remove"]; + +node [shape=oval]; +inode_list [label="h_inum list in branch\ncache"]; + +node [shape=box]; +whinode [label="h_inum list file"]; + +node [shape=oval]; +brmgmt [label="br_add/del/mod/umount"]; + +brmgmt -> inode_list [label="create/remove"]; +brmgmt -> whinode [label="load/store"]; + +inode_list -> whinode [style=dashed,dir=both]; + +aufs_rename -> inode_list [label="add/del"]; + +aufs_lookup -> inode_list [label="search"]; + +aufs_lookup -> whinfo [label="load/remove"]; +} --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/06dirren.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/06dirren.txt @@ -0,0 +1,102 @@ + +# Copyright (C) 2017-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Special handling for renaming a directory (DIRREN) +---------------------------------------------------------------------- +First, let's assume we have a simple usecase. + +- /u = /rw + /ro +- /rw/dirA exists +- /ro/dirA and /ro/dirA/file exist too +- there is no dirB on both branches +- a user issues rename("dirA", "dirB") + +Now, what should aufs behave against this rename(2)? +There are a few possible cases. + +A. returns EROFS. + since dirA exists on a readonly branch which cannot be renamed. +B. returns EXDEV. + it is possible to copy-up dirA (only the dir itself), but the child + entries ("file" in this case) should not be. it must be a bad + approach to copy-up recursively. +C. returns a success. + even the branch /ro is readonly, aufs tries renaming it. Obviously it + is a violation of aufs' policy. +D. construct an extra information which indicates that /ro/dirA should + be handled as the name of dirB. + overlayfs has a similar feature called REDIRECT. + +Until now, aufs implements the case B only which returns EXDEV, and +expects the userspace application behaves like mv(1) which tries +issueing rename(2) recursively. + +A new aufs feature called DIRREN is introduced which implements the case +D. There are several "extra information" added. + +1. detailed info per renamed directory + path: /rw/dirB/$AUFS_WH_DR_INFO_PFX. +2. the inode-number list of directories on a branch + path: /rw/dirB/$AUFS_WH_DR_BRHINO + +The filename of "detailed info per directory" represents the lower +branch, and its format is +- a type of the branch id + one of these. + + uuid (not implemented yet) + + fsid + + dev +- the inode-number of the branch root dir + +And it contains these info in a single regular file. +- magic number +- branch's inode-number of the logically renamed dir +- the name of the before-renamed dir + +The "detailed info per directory" file is created in aufs rename(2), and +loaded in any lookup. +The info is considered in lookup for the matching case only. Here +"matching" means that the root of branch (in the info filename) is same +to the current looking-up branch. After looking-up the before-renamed +name, the inode-number is compared. And the matched dentry is used. + +The "inode-number list of directories" is a regular file which contains +simply the inode-numbers on the branch. The file is created or updated +in removing the branch, and loaded in adding the branch. Its lifetime is +equal to the branch. +The list is refered in lookup, and when the current target inode is +found in the list, the aufs tries loading the "detailed info per +directory" and get the changed and valid name of the dir. + +Theoretically these "extra informaiton" may be able to be put into XATTR +in the dir inode. But aufs doesn't choose this way because +1. XATTR may not be supported by the branch (or its configuration) +2. XATTR may have its size limit. +3. XATTR may be less easy to convert than a regular file, when the + format of the info is changed in the future. +At the same time, I agree that the regular file approach is much slower +than XATTR approach. So, in the future, aufs may take the XATTR or other +better approach. + +This DIRREN feature is enabled by aufs configuration, and is activated +by a new mount option. + +For the more complicated case, there is a work with UDBA option, which +is to dected the direct access to the branches (by-passing aufs) and to +maintain the cashes in aufs. Since a single cached aufs dentry may +contains two names, before- and after-rename, the name comparision in +UDBA handler may not work correctly. In this case, the behaviour will be +equivalen to udba=reval case. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/06fhsm.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/06fhsm.txt @@ -0,0 +1,120 @@ + +# Copyright (C) 2011-2020 Junjiro R. Okajima +# +# 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. +# +# 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 + + +File-based Hierarchical Storage Management (FHSM) +---------------------------------------------------------------------- +Hierarchical Storage Management (or HSM) is a well-known feature in the +storage world. Aufs provides this feature as file-based with multiple +writable branches, based upon the principle of "Colder, the Lower". +Here the word "colder" means that the less used files, and "lower" means +that the position in the order of the stacked branches vertically. +These multiple writable branches are prioritized, ie. the topmost one +should be the fastest drive and be used heavily. + +o Characters in aufs FHSM story +- aufs itself and a new branch attribute. +- a new ioctl interface to move-down and to establish a connection with + the daemon ("move-down" is a converse of "copy-up"). +- userspace tool and daemon. + +The userspace daemon establishes a connection with aufs and waits for +the notification. The notified information is very similar to struct +statfs containing the number of consumed blocks and inodes. +When the consumed blocks/inodes of a branch exceeds the user-specified +upper watermark, the daemon activates its move-down process until the +consumed blocks/inodes reaches the user-specified lower watermark. + +The actual move-down is done by aufs based upon the request from +user-space since we need to maintain the inode number and the internal +pointer arrays in aufs. + +Currently aufs FHSM handles the regular files only. Additionally they +must not be hard-linked nor pseudo-linked. + + +o Cowork of aufs and the user-space daemon + During the userspace daemon established the connection, aufs sends a + small notification to it whenever aufs writes something into the + writable branch. But it may cost high since aufs issues statfs(2) + internally. So user can specify a new option to cache the + info. Actually the notification is controlled by these factors. + + the specified cache time. + + classified as "force" by aufs internally. + Until the specified time expires, aufs doesn't send the info + except the forced cases. When aufs decide forcing, the info is always + notified to userspace. + For example, the number of free inodes is generally large enough and + the shortage of it happens rarely. So aufs doesn't force the + notification when creating a new file, directory and others. This is + the typical case which aufs doesn't force. + When aufs writes the actual filedata and the files consumes any of new + blocks, the aufs forces notifying. + + +o Interfaces in aufs +- New branch attribute. + + fhsm + Specifies that the branch is managed by FHSM feature. In other word, + participant in the FHSM. + When nofhsm is set to the branch, it will not be the source/target + branch of the move-down operation. This attribute is set + independently from coo and moo attributes, and if you want full + FHSM, you should specify them as well. +- New mount option. + + fhsm_sec + Specifies a second to suppress many less important info to be + notified. +- New ioctl. + + AUFS_CTL_FHSM_FD + create a new file descriptor which userspace can read the notification + (a subset of struct statfs) from aufs. +- Module parameter 'brs' + It has to be set to 1. Otherwise the new mount option 'fhsm' will not + be set. +- mount helpers /sbin/mount.aufs and /sbin/umount.aufs + When there are two or more branches with fhsm attributes, + /sbin/mount.aufs invokes the user-space daemon and /sbin/umount.aufs + terminates it. As a result of remounting and branch-manipulation, the + number of branches with fhsm attribute can be one. In this case, + /sbin/mount.aufs will terminate the user-space daemon. + + +Finally the operation is done as these steps in kernel-space. +- make sure that, + + no one else is using the file. + + the file is not hard-linked. + + the file is not pseudo-linked. + + the file is a regular file. + + the parent dir is not opaqued. +- find the target writable branch. +- make sure the file is not whiteout-ed by the upper (than the target) + branch. +- make the parent dir on the target branch. +- mutex lock the inode on the branch. +- unlink the whiteout on the target branch (if exists). +- lookup and create the whiteout-ed temporary name on the target branch. +- copy the file as the whiteout-ed temporary name on the target branch. +- rename the whiteout-ed temporary name to the original name. +- unlink the file on the source branch. +- maintain the internal pointer array and the external inode number + table (XINO). +- maintain the timestamps and other attributes of the parent dir and the + file. + +And of course, in every step, an error may happen. So the operation +should restore the original file state after an error happens. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/06mmap.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/06mmap.txt @@ -0,0 +1,72 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +mmap(2) -- File Memory Mapping +---------------------------------------------------------------------- +In aufs, the file-mapped pages are handled by a branch fs directly, no +interaction with aufs. It means aufs_mmap() calls the branch fs's +->mmap(). +This approach is simple and good, but there is one problem. +Under /proc, several entries show the mmapped files by its path (with +device and inode number), and the printed path will be the path on the +branch fs's instead of virtual aufs's. +This is not a problem in most cases, but some utilities lsof(1) (and its +user) may expect the path on aufs. + +To address this issue, aufs adds a new member called vm_prfile in struct +vm_area_struct (and struct vm_region). The original vm_file points to +the file on the branch fs in order to handle everything correctly as +usual. The new vm_prfile points to a virtual file in aufs, and the +show-functions in procfs refers to vm_prfile if it is set. +Also we need to maintain several other places where touching vm_file +such like +- fork()/clone() copies vma and the reference count of vm_file is + incremented. +- merging vma maintains the ref count too. + +This is not a good approach. It just fakes the printed path. But it +leaves all behaviour around f_mapping unchanged. This is surely an +advantage. +Actually aufs had adopted another complicated approach which calls +generic_file_mmap() and handles struct vm_operations_struct. In this +approach, aufs met a hard problem and I could not solve it without +switching the approach. + +There may be one more another approach which is +- bind-mount the branch-root onto the aufs-root internally +- grab the new vfsmount (ie. struct mount) +- lazy-umount the branch-root internally +- in open(2) the aufs-file, open the branch-file with the hidden + vfsmount (instead of the original branch's vfsmount) +- ideally this "bind-mount and lazy-umount" should be done atomically, + but it may be possible from userspace by the mount helper. + +Adding the internal hidden vfsmount and using it in opening a file, the +file path under /proc will be printed correctly. This approach looks +smarter, but is not possible I am afraid. +- aufs-root may be bind-mount later. when it happens, another hidden + vfsmount will be required. +- it is hard to get the chance to bind-mount and lazy-umount + + in kernel-space, FS can have vfsmount in open(2) via + file->f_path, and aufs can know its vfsmount. But several locks are + already acquired, and if aufs tries to bind-mount and lazy-umount + here, then it may cause a deadlock. + + in user-space, bind-mount doesn't invoke the mount helper. +- since /proc shows dev and ino, aufs has to give vma these info. it + means a new member vm_prinode will be necessary. this is essentially + equivalent to vm_prfile described above. + +I have to give up this "looks-smater" approach. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/06xattr.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/06xattr.txt @@ -0,0 +1,96 @@ + +# Copyright (C) 2014-2020 Junjiro R. Okajima +# +# 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. +# +# 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 + + +Listing XATTR/EA and getting the value +---------------------------------------------------------------------- +For the inode standard attributes (owner, group, timestamps, etc.), aufs +shows the values from the topmost existing file. This behaviour is good +for the non-dir entries since the bahaviour exactly matches the shown +information. But for the directories, aufs considers all the same named +entries on the lower branches. Which means, if one of the lower entry +rejects readdir call, then aufs returns an error even if the topmost +entry allows it. This behaviour is necessary to respect the branch fs's +security, but can make users confused since the user-visible standard +attributes don't match the behaviour. +To address this issue, aufs has a mount option called dirperm1 which +checks the permission for the topmost entry only, and ignores the lower +entry's permission. + +A similar issue can happen around XATTR. +getxattr(2) and listxattr(2) families behave as if dirperm1 option is +always set. Otherwise these very unpleasant situation would happen. +- listxattr(2) may return the duplicated entries. +- users may not be able to remove or reset the XATTR forever, + + +XATTR/EA support in the internal (copy,move)-(up,down) +---------------------------------------------------------------------- +Generally the extended attributes of inode are categorized as these. +- "security" for LSM and capability. +- "system" for posix ACL, 'acl' mount option is required for the branch + fs generally. +- "trusted" for userspace, CAP_SYS_ADMIN is required. +- "user" for userspace, 'user_xattr' mount option is required for the + branch fs generally. + +Moreover there are some other categories. Aufs handles these rather +unpopular categories as the ordinary ones, ie. there is no special +condition nor exception. + +In copy-up, the support for XATTR on the dst branch may differ from the +src branch. In this case, the copy-up operation will get an error and +the original user operation which triggered the copy-up will fail. It +can happen that even all copy-up will fail. +When both of src and dst branches support XATTR and if an error occurs +during copying XATTR, then the copy-up should fail obviously. That is a +good reason and aufs should return an error to userspace. But when only +the src branch support that XATTR, aufs should not return an error. +For example, the src branch supports ACL but the dst branch doesn't +because the dst branch may natively un-support it or temporary +un-support it due to "noacl" mount option. Of course, the dst branch fs +may NOT return an error even if the XATTR is not supported. It is +totally up to the branch fs. + +Anyway when the aufs internal copy-up gets an error from the dst branch +fs, then aufs tries removing the just copied entry and returns the error +to the userspace. The worst case of this situation will be all copy-up +will fail. + +For the copy-up operation, there two basic approaches. +- copy the specified XATTR only (by category above), and return the + error unconditionally if it happens. +- copy all XATTR, and ignore the error on the specified category only. + +In order to support XATTR and to implement the correct behaviour, aufs +chooses the latter approach and introduces some new branch attributes, +"icexsec", "icexsys", "icextr", "icexusr", and "icexoth". +They correspond to the XATTR namespaces (see above). Additionally, to be +convenient, "icex" is also provided which means all "icex*" attributes +are set (here the word "icex" stands for "ignore copy-error on XATTR"). + +The meaning of these attributes is to ignore the error from setting +XATTR on that branch. +Note that aufs tries copying all XATTR unconditionally, and ignores the +error from the dst branch according to the specified attributes. + +Some XATTR may have its default value. The default value may come from +the parent dir or the environment. If the default value is set at the +file creating-time, it will be overwritten by copy-up. +Some contradiction may happen I am afraid. +Do we need another attribute to stop copying XATTR? I am unsure. For +now, aufs implements the branch attributes to ignore the error. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/07export.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/07export.txt @@ -0,0 +1,58 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Export Aufs via NFS +---------------------------------------------------------------------- +Here is an approach. +- like xino/xib, add a new file 'xigen' which stores aufs inode + generation. +- iget_locked(): initialize aufs inode generation for a new inode, and + store it in xigen file. +- destroy_inode(): increment aufs inode generation and store it in xigen + file. it is necessary even if it is not unlinked, because any data of + inode may be changed by UDBA. +- encode_fh(): for a root dir, simply return FILEID_ROOT. otherwise + build file handle by + + branch id (4 bytes) + + superblock generation (4 bytes) + + inode number (4 or 8 bytes) + + parent dir inode number (4 or 8 bytes) + + inode generation (4 bytes)) + + return value of exportfs_encode_fh() for the parent on a branch (4 + bytes) + + file handle for a branch (by exportfs_encode_fh()) +- fh_to_dentry(): + + find the index of a branch from its id in handle, and check it is + still exist in aufs. + + 1st level: get the inode number from handle and search it in cache. + + 2nd level: if not found in cache, get the parent inode number from + the handle and search it in cache. and then open the found parent + dir, find the matching inode number by vfs_readdir() and get its + name, and call lookup_one_len() for the target dentry. + + 3rd level: if the parent dir is not cached, call + exportfs_decode_fh() for a branch and get the parent on a branch, + build a pathname of it, convert it a pathname in aufs, call + path_lookup(). now aufs gets a parent dir dentry, then handle it as + the 2nd level. + + to open the dir, aufs needs struct vfsmount. aufs keeps vfsmount + for every branch, but not itself. to get this, (currently) aufs + searches in current->nsproxy->mnt_ns list. it may not be a good + idea, but I didn't get other approach. + + test the generation of the gotten inode. +- every inode operation: they may get EBUSY due to UDBA. in this case, + convert it into ESTALE for NFSD. +- readdir(): call lockdep_on/off() because filldir in NFSD calls + lookup_one_len(), vfs_getattr(), encode_fh() and others. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/08shwh.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/08shwh.txt @@ -0,0 +1,52 @@ + +# Copyright (C) 2005-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Show Whiteout Mode (shwh) +---------------------------------------------------------------------- +Generally aufs hides the name of whiteouts. But in some cases, to show +them is very useful for users. For instance, creating a new middle layer +(branch) by merging existing layers. + +(borrowing aufs1 HOW-TO from a user, Michael Towers) +When you have three branches, +- Bottom: 'system', squashfs (underlying base system), read-only +- Middle: 'mods', squashfs, read-only +- Top: 'overlay', ram (tmpfs), read-write + +The top layer is loaded at boot time and saved at shutdown, to preserve +the changes made to the system during the session. +When larger changes have been made, or smaller changes have accumulated, +the size of the saved top layer data grows. At this point, it would be +nice to be able to merge the two overlay branches ('mods' and 'overlay') +and rewrite the 'mods' squashfs, clearing the top layer and thus +restoring save and load speed. + +This merging is simplified by the use of another aufs mount, of just the +two overlay branches using the 'shwh' option. +# mount -t aufs -o ro,shwh,br:/livesys/overlay=ro+wh:/livesys/mods=rr+wh \ + aufs /livesys/merge_union + +A merged view of these two branches is then available at +/livesys/merge_union, and the new feature is that the whiteouts are +visible! +Note that in 'shwh' mode the aufs mount must be 'ro', which will disable +writing to all branches. Also the default mode for all branches is 'ro'. +It is now possible to save the combined contents of the two overlay +branches to a new squashfs, e.g.: +# mksquashfs /livesys/merge_union /path/to/newmods.squash + +This new squashfs archive can be stored on the boot device and the +initramfs will use it to replace the old one at the next boot. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/aufs/design/10dynop.txt +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/aufs/design/10dynop.txt @@ -0,0 +1,47 @@ + +# Copyright (C) 2010-2020 Junjiro R. Okajima +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +Dynamically customizable FS operations +---------------------------------------------------------------------- +Generally FS operations (struct inode_operations, struct +address_space_operations, struct file_operations, etc.) are defined as +"static const", but it never means that FS have only one set of +operation. Some FS have multiple sets of them. For instance, ext2 has +three sets, one for XIP, for NOBH, and for normal. +Since aufs overrides and redirects these operations, sometimes aufs has +to change its behaviour according to the branch FS type. More importantly +VFS acts differently if a function (member in the struct) is set or +not. It means aufs should have several sets of operations and select one +among them according to the branch FS definition. + +In order to solve this problem and not to affect the behaviour of VFS, +aufs defines these operations dynamically. For instance, aufs defines +dummy direct_IO function for struct address_space_operations, but it may +not be set to the address_space_operations actually. When the branch FS +doesn't have it, aufs doesn't set it to its address_space_operations +while the function definition itself is still alive. So the behaviour +itself will not change, and it will return an error when direct_IO is +not set. + +The lifetime of these dynamically generated operation object is +maintained by aufs branch object. When the branch is removed from aufs, +the reference counter of the object is decremented. When it reaches +zero, the dynamically generated operation object will be freed. + +This approach is designed to support AIO (io_submit), Direct I/O and +XIP (DAX) mainly. +Currently this approach is applied to address_space_operations for +regular files only. --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/seq_file.rst +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/seq_file.rst @@ -199,6 +199,12 @@ is a reasonable thing to do. The seq_file code will also avoid taking any other locks while the iterator is active. +The iterater value returned by start() or next() is guaranteed to be +passed to a subsequent next() or stop() call. This allows resources +such as locks that were taken to be reliably released. There is *no* +guarantee that the iterator will be passed to show(), though in practice +it often will be. + Formatted output ================ --- linux-riscv-5.8-5.8.0.orig/Documentation/filesystems/sysfs.rst +++ linux-riscv-5.8-5.8.0/Documentation/filesystems/sysfs.rst @@ -242,12 +242,10 @@ is 4096. - show() methods should return the number of bytes printed into the - buffer. This is the return value of scnprintf(). + buffer. -- show() must not use snprintf() when formatting the value to be - returned to user space. If you can guarantee that an overflow - will never happen you can use sprintf() otherwise you must use - scnprintf(). +- show() should only use sysfs_emit() or sysfs_emit_at() when formatting + the value to be returned to user space. - store() should return the number of bytes used from the buffer. If the entire buffer has been used, just return the count argument. --- linux-riscv-5.8-5.8.0.orig/Documentation/gpu/todo.rst +++ linux-riscv-5.8-5.8.0/Documentation/gpu/todo.rst @@ -273,6 +273,24 @@ Level: Advanced +Garbage collect fbdev scrolling acceleration +-------------------------------------------- + +Scroll acceleration is disabled in fbcon by hard-wiring p->scrollmode = +SCROLL_REDRAW. There's a ton of code this will allow us to remove: +- lots of code in fbcon.c +- a bunch of the hooks in fbcon_ops, maybe the remaining hooks could be called + directly instead of the function table (with a switch on p->rotate) +- fb_copyarea is unused after this, and can be deleted from all drivers + +Note that not all acceleration code can be deleted, since clearing and cursor +support is still accelerated, which might be good candidates for further +deletion projects. + +Contact: Daniel Vetter + +Level: Intermediate + idr_init_base() --------------- @@ -484,6 +502,27 @@ Level: Intermediate +Remove automatic page mapping from dma-buf importing +---------------------------------------------------- + +When importing dma-bufs, the dma-buf and PRIME frameworks automatically map +imported pages into the importer's DMA area. drm_gem_prime_fd_to_handle() and +drm_gem_prime_handle_to_fd() require that importers call dma_buf_attach() +even if they never do actual device DMA, but only CPU access through +dma_buf_vmap(). This is a problem for USB devices, which do not support DMA +operations. + +To fix the issue, automatic page mappings should be removed from the +buffer-sharing code. Fixing this is a bit more involved, since the import/export +cache is also tied to &drm_gem_object.import_attach. Meanwhile we paper over +this problem for USB devices by fishing out the USB host controller device, as +long as that supports DMA. Otherwise importing can still needlessly fail. + +Contact: Thomas Zimmermann , Daniel Vetter + +Level: Advanced + + Better Testing ============== --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/IPVS +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/IPVS @@ -0,0 +1,81 @@ +/*? Text: "%s(): NULL arg\n" */ +/*? Text: "%s(): NULL scheduler_name\n" */ +/*? Text: "%s(): [%s] pe already existed in the system\n" */ +/*? Text: "%s(): [%s] pe already linked\n" */ +/*? Text: "%s(): [%s] pe is not in the list. failed\n" */ +/*? Text: "%s(): [%s] scheduler already existed in the system\n" */ +/*? Text: "%s(): [%s] scheduler already linked\n" */ +/*? Text: "%s(): [%s] scheduler is not in the list. failed\n" */ +/*? Text: "%s(): done error\n" */ +/*? Text: "%s(): init error\n" */ +/*? Text: "%s(): lower threshold is higher than upper threshold\n" */ +/*? Text: "%s(): no memory\n" */ +/*? Text: "%s(): request for already hashed, called from %pF\n" */ +/*? Text: "%s(): request for unhash flagged, called from %pF\n" */ +/*? Text: "%s(): server weight less than zero\n" */ +/*? Text: "%s: %s %pI4:%d - %s\n" */ +/*? Text: "%s: %s [%pI6]:%d - %s\n" */ +/*? Text: "%s: %s [%pI6c]:%d - %s\n" */ +/*? Text: "%s: FWM %u 0x%08X - %s\n" */ +/*? Text: "%s: enter\n" */ +/*? Text: "%s: loaded support on port[%d] = %d\n" */ +/*? Text: "BACKUP v0, Dropping buffer bogus conn options\n" */ +/*? Text: "BACKUP v0, bogus conn\n" */ +/*? Text: "BACKUP, Dropping buffer, Err: %d in decoding\n" */ +/*? Text: "BACKUP, Dropping buffer, Unknown version %d\n" */ +/*? Text: "BACKUP, Dropping buffer, msg > buffer\n" */ +/*? Text: "BACKUP, Dropping buffer, to small\n" */ +/*? Text: "BACKUP, Invalid PE parameters\n" */ +/*? Text: "BUG control DEL with n=0 : %s:%d to %s:%d\n" */ +/*? Text: "Connection hash table configured (size=%d, memory=%ldKbytes)\n" */ +/*? Text: "Error binding address of the mcast interface\n" */ +/*? Text: "Error binding to the multicast addr\n" */ +/*? Text: "Error connecting to the multicast addr\n" */ +/*? Text: "Error during creation of socket; terminating\n" */ +/*? Text: "Error joining to the multicast group\n" */ +/*? Text: "Error setting outbound mcast interface\n" */ +/*? Text: "Failed to stop Backup Daemon\n" */ +/*? Text: "Failed to stop Master Daemon\n" */ +/*? Text: "Registered protocols (%s)\n" */ +/*? Text: "SYNC, connection pe_data invalid\n" */ +/*? Text: "Schedule: port zero only supported in persistent services, check your ipvs configuration\n" */ +/*? Text: "Scheduler module ip_vs_%s not found\n" */ +/*? Text: "There is no net ptr to find in the skb in %s() line:%d\n" */ +/*? Text: "UDP no ns data\n" */ +/*? Text: "You probably need to specify IP address on multicast interface.\n" */ +/*? Text: "[%s] pe registered.\n" */ +/*? Text: "[%s] pe unregistered.\n" */ +/*? Text: "[%s] scheduler registered.\n" */ +/*? Text: "[%s] scheduler unregistered.\n" */ +/*? Text: "can't register hooks.\n" */ +/*? Text: "can't register netlink/ioctl.\n" */ +/*? Text: "can't setup connection table.\n" */ +/*? Text: "can't setup control.\n" */ +/*? Text: "cannot register Generic Netlink interface.\n" */ +/*? Text: "cannot register sockopt.\n" */ +/*? Text: "get_ctl: len %u < %u\n" */ +/*? Text: "ip_vs_send_async error %d\n" */ +/*? Text: "ip_vs_sync_buff_create failed.\n" */ +/*? Text: "ipvs loaded.\n" */ +/*? Text: "ipvs unloaded.\n" */ +/*? Text: "length: %u != %u\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "not enough space in Netlink message\n" */ +/*? Text: "persistence engine module ip_vs_pe_%s not found\n" */ +/*? Text: "receiving message error\n" */ +/*? Text: "request control ADD for already controlled: %s:%d to %s:%d\n" */ +/*? Text: "request control DEL for uncontrolled: %s:%d to %s:%d\n" */ +/*? Text: "set_ctl: invalid protocol: %d %pI4:%d %s\n" */ +/*? Text: "set_ctl: len %u != %u\n" */ +/*? Text: "shouldn't reach here, because the box is on the half connection in the tun/dr module.\n" */ +/*? Text: "stopping backup sync thread %d ...\n" */ +/*? Text: "stopping master sync thread %d ...\n" */ +/*? Text: "sync thread started: state = BACKUP, mcast_ifn = %s, syncid = %d\n" */ +/*? Text: "sync thread started: state = MASTER, mcast_ifn = %s, syncid = %d\n" */ +/*? Text: "unknown Generic Netlink command\n" */ +/*? Text: "sync thread started: state = MASTER, mcast_ifn = %s, syncid = %d, id = %d\n" */ +/*? Text: "sync thread started: state = BACKUP, mcast_ifn = %s, syncid = %d, id = %d\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "Unknown mcast interface: %s\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/aes_s390 +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/aes_s390 @@ -0,0 +1,45 @@ +/*? + * Text: "Allocating XTS fallback algorithm %s failed\n" + * Severity: Error + * Parameter: + * @1: algorithm name + * Description: + * The aes_s390 module failed to allocate a software fallback for the AES + * modes that are not supported by the hardware. A possible reason for this + * problem is that the aes_generic module that provides the fallback + * algorithms is not available. + * User action: + * Ensure that the aes_generic module is available and loaded and reload + * the aes_s390 module. + */ + +/*? + * Text: "Allocating AES fallback algorithm %s failed\n" + * Severity: Error + * Parameter: + * @1: algorithm name + * Description: + * The advanced encryption standard (AES) algorithm includes three modes with + * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides + * hardware acceleration for the 128-bit mode. The aes_s390 module failed to + * allocate a software fallback for the AES modes that are not supported by the + * hardware. A possible reason for this problem is that the aes_generic module + * that provides the fallback algorithms is not available. + * User action: + * Use the 128-bit mode only or ensure that the aes_generic module is available + * and loaded and reload the aes_s390 module. + */ + +/*? + * Text: "AES hardware acceleration is only available for 128-bit keys\n" + * Severity: Informational + * Description: + * The advanced encryption standard (AES) algorithm includes three modes with + * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides + * hardware acceleration for the 128-bit key mode. The aes_s390 module + * will use the less performant software fallback algorithm for the 192-bit + * and 256-bit key modes. + * User action: + * None. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/af_iucv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/af_iucv @@ -0,0 +1,23 @@ +/*? + * Text: "Application %s on z/VM guest %s exceeds message limit\n" + * Severity: Error + * Parameter: + * @1: application name + * @2: z/VM user ID + * Description: + * Messages or packets destined for the application have accumulated and + * reached the maximum value. The default for the message limit is 65535. + * You can specify a different limit as the value for MSGLIMIT within + * the IUCV statement of the z/VM virtual machine on which the application + * runs. + * User action: + * Ensure that you do not send data faster than the application retrieves + * them. Ensure that the message limit on the z/VM guest virtual machine + * on which the application runs is high enough. + */ + +/*? Text: "Attempt to release alive iucv socket %p\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/ap +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/ap @@ -0,0 +1,49 @@ +/*? + * Text: "%d is not a valid cryptographic domain\n" + * Severity: Warning + * Parameter: + * @1: AP domain index + * Description: + * The cryptographic domain specified for the 'domain=' module or kernel + * parameter must be an integer in the range 0 to 15. + * User action: + * Reload the cryptographic device driver with a correct module parameter. + * If the device driver has been compiled into the kernel, correct the value + * in the kernel parameter line and reboot Linux. + */ + +/*? + * Text: "The hardware system does not support AP instructions\n" + * Severity: Warning + * Description: + * The ap module addresses AP adapters through AP instructions. The hardware + * system on which the Linux instance runs does not support AP instructions. + * The ap module cannot detect any AP adapters. + * User action: + * Load the ap module only if your Linux instance runs on hardware that + * supports AP instructions. If the ap module has been compiled into the kernel, + * ignore this message. + */ + +/*? + * Text: "Registering adapter interrupts for AP device %02x.%04x failed\n" + * Severity: Error + * Parameter: + * @1: AP device ID + * @2: AP queue + * Description: + * The hardware system supports AP adapter interrupts but failed to enable + * an adapter for interrupts. Possible causes for this error are: + * i) The AP adapter firmware does not support AP interrupts. + * ii) An AP adapter firmware update to a firmware level that supports AP + * adapter interrupts failed. + * iii) The AP adapter firmware has been successfully updated to a level that + * supports AP interrupts but the new firmware has not been activated. + * User action: + * Ensure that the firmware on your AP adapters support AP interrupts and that + * any firmware updates have completed successfully. If necessary, deconfigure + * your cryptographic adapters and reconfigure them to ensure that any firmware + * updates become active, then reload the ap module. If the ap module has been + * compiled into the kernel, reboot Linux. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/appldata +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/appldata @@ -0,0 +1,91 @@ +/*? + * Text: "Starting the data collection for %s failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: appldata module + * @2: return code + * Description: + * The specified data collection module used the z/VM diagnose call + * DIAG 0xDC to start writing data. z/VM returned an error and the data + * collection could not start. If the return code is 5, your z/VM guest + * virtual machine is not authorized to write data records. + * User action: + * If the return code is 5, ensure that your z/VM guest virtual machine's + * entry in the z/VM directory includes the OPTION APPLMON statement. + * For other return codes see the section about DIAGNOSE Code X'DC' + * in "z/VM CP Programming Services". + */ + +/*? + * Text: "Stopping the data collection for %s failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: appldata module + * @2: return code + * Description: + * The specified data collection module used the z/VM diagnose call DIAG 0xDC + * to stop writing data. z/VM returned an error and the data collection + * continues. + * User action: + * See the section about DIAGNOSE Code X'DC' in "z/VM CP Programming Services". + */ + +/*? + * Text: "Starting a new OS data collection failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * After a CPU hotplug event, the record size for the running operating + * system data collection is no longer correct. The appldata_os module tried + * to start a new data collection with the correct record size but received + * an error from the z/VM diagnose call DIAG 0xDC. Any data collected with + * the current record size might be faulty. + * User action: + * Start a new data collection with the cappldata_os module. For information + * about starting data collections see "Device Drivers, Features, and + * Commands". For information about the return codes see the section about + * DIAGNOSE Code X'DC' in "z/VM CP Programming Services". + */ + +/*? + * Text: "Stopping a faulty OS data collection failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * After a CPU hotplug event, the record size for the running operating + * system data collection is no longer correct. The appldata_os module tried + * to stop the faulty data collection but received an error from the z/VM + * diagnose call DIAG 0xDC. Any data collected with the current record size + * might be faulty. + * User action: + * Try to restart appldata_os monitoring. For information about stopping + * and starting data collections see "Device Drivers, Features, and + * Commands". For information about the return codes see the section about + * DIAGNOSE Code X'DC' in "z/VM CP Programming Services". + */ + +/*? + * Text: "Maximum OS record size %i exceeds the maximum record size %i\n" + * Severity: Error + * Parameter: + * @1: no of bytes + * @2: no of bytes + * Description: + * The OS record size grows with the number of CPUs and is adjusted by the + * appldata_os module in response to CPU hotplug events. For more than 110 + * CPUs the record size would exceed the maximum record size of 4024 bytes + * that is supported by the z/VM hypervisor. To prevent the maximum supported + * record size from being exceeded while data collection is in progress, + * you cannot load the appldata_os module on Linux instances that are + * configured for a maximum of more than 110 CPUs. + * User action: + * If you do not want to collect operating system data, you can ignore this + * message. If you want to collect operating system data, reconfigure your + * Linux instance to support less than 110 CPUs. + */ + +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/bpf_jit +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/bpf_jit @@ -0,0 +1,16 @@ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ + +/*? + * Text: "Unknown opcode %02x\n" + * Severity: Error + * Parameter: + * @1: Instruction opcode + * Description: + * The BPF JIT compiler has found an unknown instruction in the BPF program + * and therefore stops the compilation. As a fallback, the interpreter is used. + * User action: + * Report this problem and the error message to your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/cio +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/cio @@ -0,0 +1,247 @@ +/*? + * Text: "%s is not a valid device for the cio_ignore kernel parameter\n" + * Severity: Warning + * Parameter: + * @1: device bus-ID + * Description: + * The device specification for the cio_ignore kernel parameter is + * syntactically incorrect or specifies an unknown device. This device is not + * excluded from being sensed and analyzed. + * User action: + * Correct your device specification in the kernel parameter line to have the + * device excluded when you next reboot Linux. You can write the correct + * device specification to /proc/cio_ignore to add the device to the list of + * devices to be excluded. This does not immediately make the device + * inaccessible but the device is ignored if it disappears and later reappears. + */ + +/*? + * Text: "0.%x.%04x to 0.%x.%04x is not a valid range for cio_ignore\n" + * Severity: Warning + * Parameter: + * @1: from subchannel set ID + * @2: from device number + * @3: to subchannel set ID + * @4: to device number + * Description: + * The device range specified for the cio_ignore kernel parameter is + * syntactically incorrect. No devices specified with this range are + * excluded from being sensed and analyzed. + * User action: + * Correct your range specification in the kernel parameter line to have the + * range of devices excluded when you next reboot Linux. You can write the + * correct range specification to /proc/cio_ignore to add the range of devices + * to the list of devices to be excluded. This does not immediately make the + * devices in the range inaccessible but any of these devices are ignored if + * they disappear and later reappear. + */ + +/*? + * Text: "Processing %s for channel path %x.%02x\n" + * Severity: Notice + * Parameter: + * @1: configuration change + * @2: channel subsystem ID + * @3: CHPID + * Description: + * A configuration change is in progress for the given channel path. + * User action: + * None. + */ + +/*? + * Text: "No CCW console was found\n" + * Severity: Warning + * Description: + * Linux did not find the expected CCW console and tries to use an alternative + * console. A possible reason why the console was not found is that the console + * has been specified in the cio_ignore list. + * User action: + * None, if an appropriate alternative console has been found, and you want + * to use this alternative console. If you want to use the CCW console, ensure + * that is not specified in the cio_ignore list, explicitly specify the console + * with the 'condev=' kernel parameter, and reboot Linux. + */ + +/*? + * Text: "Channel measurement facility initialized using format %s (mode %s)\n" + * Severity: Informational + * Parameter: + * @1: format + * @2: mode + * Description: + * The channel measurement facility has been initialized successfully. + * Format 'extended' should be used for z990 and later mainframe systems. + * Format 'basic' is intended for earlier mainframes. Mode 'autodetected' means + * that the format has been set automatically. Mode 'parameter' means that the + * format has been set according to the 'format=' kernel parameter. + * User action: + * None. + */ + +/*? + * Text: "The CSS device driver initialization failed with errno=%d\n" + * Severity: Alert + * Parameter: + * @1: Return code + * Description: + * The channel subsystem bus could not be established. + * User action: + * See the errno man page to find out what caused the problem. + */ + /*? Text: "%s: Got subchannel machine check but no sch_event handler provided.\n" */ + +/*? + * Text: "%s: Setting the device online failed because it is boxed\n" + * Severity: Warning + * Parameter: + * @1: Device bus-ID + * Description: + * Initialization of a device did not complete because it did not respond in + * time or it was reserved by another operating system. + * User action: + * Make sure that the device is working correctly, then try again to set it + * online. For devices that support the reserve/release mechanism (for example + * DASDs), you can try to override the reservation of the other system by + * writing 'force' to the 'online' sysfs attribute of the affected device. + */ + +/*? + * Text: "%s: Setting the device online failed because it is not operational\n" + * Severity: Warning + * Parameter: + * @1: Device bus-ID + * Description: + * Initialization of a device did not complete because it is not present or + * not operational. + * User action: + * Make sure that the device is present and working correctly, then try again + * to set it online. + */ + +/*? + * Text: "%s: The device stopped operating while being set offline\n" + * Severity: Warning + * Parameter: + * @1: Device bus-ID + * Description: + * While the device was set offline, it was not present or not operational. + * The device is now inactive, but setting it online again might fail. + * User action: + * None. + */ + +/*? + * Text: "%s: The device entered boxed state while being set offline\n" + * Severity: Warning + * Parameter: + * @1: Device bus-ID + * Description: + * While the device was set offline, it did not respond in time or it was + * reserved by another operating system. The device is now inactive, but + * setting it online again might fail. + * User action: + * None. + */ + +/*? + * Text: "Logging for subchannel 0.%x.%04x failed with errno=%d\n" + * Severity: Warning + * Parameter: + * @1: subchannel set ID + * @2: subchannel number + * @3: errno + * Description: + * Capturing model-dependent logs and traces could not be triggered for the + * specified subchannel. + * User action: + * See the errno man page to find out what caused the problem. + */ + +/*? + * Text: "Logging for subchannel 0.%x.%04x was triggered\n" + * Severity: Notice + * Parameter: + * @1: subchannel set ID + * @2: subchannel number + * Description: + * Model-dependent logs and traces may be captured for the specified + * subchannel. + * User action: + * None. + */ + +/*? + * Text: "%s: No interrupt was received within %lus (CS=%02x, DS=%02x, CHPID=%x.%02x)\n" + * Severity: Warning + * Parameter: + * @1: device number + * @2: timeout value + * @3: channel status + * @4: device status + * @5: channel subsystem ID + * @6: CHPID + * Description: + * Internal I/Os are used by the common I/O layer to ensure that devices are + * operational and accessible. + * The common I/O layer did not receive an interrupt for an internal I/O + * during the specified timeout period. + * As a result, the device might assume a state that makes the device + * unusable to Linux until the problem is resolved. + * User action: + * Make sure that the device is working correctly and try the action again. + */ + +/*? + * Text: "Link stopped: RS=%02x RSID=%04x IC=%02x IUPARAMS=%s IUNODEID=%s AUPARAMS=%s AUNODEID=%s\n" + * Severity: Error + * Parameter: + * @1: reporting source + * @2: reporting source ID + * @3: incident code + * @4: incident unit parameters + * @5: incident unit node ID + * @6: attached unit parameters + * @7: attached unit node ID + * + * Description: + * A hardware error has occurred. A unit at one end of an interface + * link has detected a failure in the link or in one of the units attached to + * the link. As a result, data transfer across the link has stopped. In the + * message text, the node IDs of involved units are represented in the + * following format: TTTTTT/MDL,MMM.PPSSSSSSSSSSSS,XXXX where TTTTTT refers to + * the machine type, MDL the model number, MMM the manufacturer, PP the + * manufacturing plant, SSSSSSSSSSSS the unit sequence number and XXXX the + * machine type-dependent physical interface number. If no data is available + * for the unit parameters or node ID field, "n/a" is used instead. + * + * User action: + * Report the problem to your support organization. + */ + +/*? + * Text: "Link degraded: RS=%02x RSID=%04x IC=%02x IUPARAMS=%s IUNODEID=%s AUPARAMS=%s AUNODEID=%s\n" + * Severity: Warning + * Parameter: + * @1: reporting source + * @2: reporting source ID + * @3: incident code + * @4: incident unit parameters + * @5: incident unit node ID + * @6: attached unit parameters + * @7: attached unit node ID + * Description: + * A hardware error has occurred. A unit at one end of an interface + * link has detected a failure in the link or in one of the units attached to + * the link. As a result, data transfer across the link is degraded. In the + * message text, the node IDs of involved units are represented in the + * following format: TTTTTT/MDL,MMM.PPSSSSSSSSSSSS,XXXX where TTTTTT refers to + * the machine type, MDL the model number, MMM the manufacturer, PP the + * manufacturing plant, SSSSSSSSSSSS the unit sequence number and XXXX the + * machine type-dependent physical interface number. If no data is available + * for the unit parameters or node ID field, "n/a" is used instead. + * + * User action: + * Report the problem to your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/cpcmd +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/cpcmd @@ -0,0 +1,16 @@ +/*? + * Text: "The cpcmd kernel function failed to allocate a response buffer\n" + * Severity: Warning + * Description: + * IPL code, console detection, and device drivers like vmcp or vmlogrdr use + * the cpcmd kernel function to send commands to the z/VM control program (CP). + * If a program that uses the cpcmd function does not allocate a contiguous + * response buffer below 2 GB guest real storage, cpcmd creates a bounce buffer + * to be used as the response buffer. Because of low memory or memory + * fragmentation, cpcmd could not create the bounce buffer. + * User action: + * Look for related page allocation failure messages and at the stack trace to + * find out which program or operation failed. Free some memory and retry the + * failed operation. Consider allocating more memory to your z/VM guest virtual + * machine. + */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/cpu +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/cpu @@ -0,0 +1,46 @@ +/*? + * Text: "%d configured CPUs, %d standby CPUs\n" + * Severity: Informational + * Parameter: + * @1: number of configured CPUs + * @2: number of standby CPUs + * Description: + * The kernel detected the given number of configured and standby CPUs. + * User action: + * None. + */ + +/*? + * Text: "The CPU configuration topology of the machine is:" + * Severity: Informational + * Description: + * The first six values of the topology information represent fields Mag6 to + * Mag1 of system-information block (SYSIB) 15.1.2. These fields specify the + * maximum numbers of topology-list entries (TLE) at successive topology nesting + * levels. The last value represents the MNest value of SYSIB 15.1.2 which + * specifies the maximum possible nesting that can be configured through + * dynamic changes. For details see the SYSIB 15.1.2 information in the + * "Principles of Operation." + * User action: + * None. + */ + +/*? + * Text: "CPU %i exceeds the maximum %i and is excluded from the dump\n" + * Severity: Warning + * Parameter: + * @1: CPU number + * @2: maximum CPU number + * Description: + * The Linux kernel is used as a system dumper but it runs on more CPUs than + * it has been compiled for with the CONFIG_NR_CPUS kernel configuration + * option. The system dump will be created but information on one or more + * CPUs will be missing. + * User action: + * Update the system dump kernel to a newer version that supports more + * CPUs or reduce the number of installed CPUs and reproduce the problem + * that should be analyzed. If you send the system dump that prompted this + * message to a support organization, be sure to communicate that the dump + * does not include all CPU information. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/cpum_cf +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/cpum_cf @@ -0,0 +1,68 @@ +/*? + * Text: "Enabling the performance measuring unit failed with rc=%x\n" + * Severity: Error + * Parameter: + * @1: error condition + * Description: + * The device driver failed to enable CPU counter sets with the + * load counter controls (lcctl) instruction. + * See the section about lcctl in "The Load-Program-Parameter and the CPU-Measurement + * Facilities", SA23-2260, for an explanation of the error conditions. + * User action: + * Stop the performance measurement programs and try again. + */ + +/*? + * Text: "Disabling the performance measuring unit failed with rc=%x\n" + * Severity: Error + * Parameter: + * @1: error condition + * Description: + * The device driver failed to disable CPU counter sets with the + * load counter controls (lcctl) instruction. + * See the section about lcctl in "The Load-Program-Parameter and the CPU-Measurement + * Facilities", SA23-2260, for an explanation of the error conditions. + * User action: + * Stop the performance measurement programs and try again. + */ + +/*? + * Text: "Registering the cpum_cf PMU failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: error code + * Description: + * The device driver could not register the Performance Measurement Unit (PMU) + * for the CPU-measurement counter facility. + * A possible cause of this problem is memory constraints. + * User action: + * If the error code is -12 (ENOMEM), consider assigning more memory + * to your Linux instance. + */ + +/*? + * Text: "CPU[%i] Counter data was lost\n" + * Severity: Error + * Parameter: + * @1: cpu number + * Description: + * CPU counter data was lost because of machine internal + * high-priority activities. + * User action: + * None. + */ + +/*? + * Text: "Registering for CPU-measurement alerts failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: error code + * Description: + * The device driver could not register to receive CPU-measurement alerts. + * Alerts make you aware of measurement errors. + * A possible cause of this problem is memory constraints. + * User action: + * If the error code is -12 (ENOMEM), consider assigning more memory + * to your Linux instance. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/cpum_sf +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/cpum_sf @@ -0,0 +1,104 @@ +/*? + * Text: "The sampling buffer limits have changed to: min=%lu max=%lu (diag=x%lu)\n" + * Severity: Informational + * Parameter: + * @1: minimum size in sample-data-blocks + * @2: maximum size in sample-data-blocks + * @3: size factor for buffering diagnostic-sampling data entries + * Description: + * The minimum or maximum size limit for the sampling facility buffer was + * changed. The change is effective immediately. + * User action: + * None. + */ + +/*? + * Text: "Switching off the sampling facility failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: error condition + * Description: + * The CPU-measurement sampling facility could not be switched off and continues + * to run. For details, see LOAD SAMPLING CONTROLS in + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * If this problem persists, reboot your Linux instance. + */ + +/*? + * Text: "Sample data was lost\n" + * Severity: Error + * Description: + * Sample data was lost because of machine-internal high-priority activities. + * The sampling facility is stopped. + * User action: + * End all performance measurement sessions. Discard the measurement data, + * which are likely to be flawed. Repeat your measurements. + * If the problem persists, contact your hardware administrator. + */ + +/*? + * Text: "Sampling facility support for perf is not available: reason=%04x\n" + * Severity: Error + * Parameter: + * @1: reason code + * Description: + * The device driver could not initialize the sampling facility support. + * Possible reason codes are: + * 0001: The device driver failed to query CPU-measurement sampling facility + * information. + * + * 0002: The device driver does not support the basic-sampling function that + * is available on the LPAR within which the Linux instance runs. + * + * 0003: The device driver could not register to receive CPU-measurement alerts. + * A possible cause of this problem is memory constraints. + * + * 0004: The device driver could not register the Performance Measurement Unit + * (PMU) for the CPU-measurement sampling facility. + * A possible cause of this problem is memory constraints. + * User action: + * Consider assigning more memory to your Linux instance. + */ + +/*? + * Text: "Loading sampling controls failed: op=%i err=%i\n" + * Severity: Error + * Parameter: + * @1: Type of operation + * @2: Error condition + * Description: + * The sampling facility support could not load sampling controls to enable + * (operation type 1) or disable (operation type 2) the CPU-measurement sampling + * facility. For details of the error condition, see LOAD SAMPLING CONTROLS in + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * If the problem persists, reboot your Linux instance. + */ + +/*? + * Text: "A sampling buffer entry is incorrect (alert=0x%x)\n" + * Severity: Error + * Parameter: + * @1: Alert code + * Description: + * An incorrect sampling facility buffer entry was detected. The alert code + * indicates the root cause, for example, an incorrect entry address or an + * incorrect sample-data-block-table entry. + * User action: + * End active performance measurement sessions, for example, perf processes. If + * the problem persists, reboot your Linux instance. + */ + +/*? + * Text: "Registering for s390dbf failed\n" + * Severity: Error + * Description: + * The device driver failed to register for the s390 debug feature. You will + * not receive any debug information. A possible cause of this problem is + * memory constraints. + * User action: + * Consider assigning more memory + * to your Linux instance. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/crc32-vx +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/crc32-vx @@ -0,0 +1 @@ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/ctcm +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/ctcm @@ -0,0 +1,202 @@ +/*? + * Text: "%s: An I/O-error occurred on the CTCM device\n" + * Severity: Error + * Parameter: + * @1: bus ID of the CTCM device + * Description: + * An I/O error was detected on one of the subchannels of the CTCM device. + * Depending on the error, the CTCM device driver might attempt an automatic + * recovery. + * User action: + * Check the status of the CTCM device, for example, with ifconfig. If the + * device is not operational, perform a manual recovery. See "Device Drivers, + * Features, and Commands" for details about how to recover a CTCM device. + */ + +/*? + * Text: "%s: An adapter hardware operation timed out\n" + * Severity: Error + * Parameter: + * @1: bus ID of the CTCM device + * Description: + * The CTCM device uses an adapter to physically connect to its communication + * peer. An operation on this adapter timed out. + * User action: + * Check the status of the CTCM device, for example, with ifconfig. If the + * device is not operational, perform a manual recovery. See "Device Drivers, + * Features, and Commands" for details about how to recover a CTCM device. + */ + +/*? + * Text: "%s: An error occurred on the adapter hardware\n" + * Severity: Error + * Parameter: + * @1: bus ID of the CTCM device + * Description: + * The CTCM device uses an adapter to physically connect to its communication + * peer. An operation on this adapter returned an error. + * User action: + * Check the status of the CTCM device, for example, with ifconfig. If the + * device is not operational, perform a manual recovery. See "Device Drivers, + * Features, and Commands" for details about how to recover a CTCM device. + */ + +/*? + * Text: "%s: The communication peer has disconnected\n" + * Severity: Notice + * Parameter: + * @1: channel ID + * Description: + * The remote device has disconnected. Possible reasons are that the remote + * interface has been closed or that the operating system instance with the + * communication peer has been rebooted or shut down. + * User action: + * Check the status of the peer device. Ensure that the peer operating system + * instance is running and that the peer interface is operational. + */ + +/*? + * Text: "%s: The remote operating system is not available\n" + * Severity: Notice + * Parameter: + * @1: channel ID + * Description: + * The operating system instance with the communication peer has disconnected. + * Possible reasons are that the operating system instance has been rebooted + * or shut down. + * User action: + * Ensure that the peer operating system instance is running and that the peer + * interface is operational. + */ + +/*? + * Text: "%s: The adapter received a non-specific IRQ\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the CTCM device + * Description: + * The adapter hardware used by the CTCM device received an IRQ that cannot + * be mapped to a particular device. This is a hardware problem. + * User action: + * Check the status of the CTCM device, for example, with ifconfig. Check if + * the connection to the remote device still works. If the CTCM device is not + * operational, set it offline and back online. If this does not resolve the + * problem, perform a manual recovery. See "Device Drivers, Features, and + * Commands" for details about how to recover a CTCM device. If this problem + * persists, gather Linux debug data, collect the hardware logs, and report the + * problem to your support organization. + */ + +/*? + * Text: "%s: A check occurred on the subchannel\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the CTCM device + * Description: + * A check condition has been detected on the subchannel. + * User action: + * Check if the connection to the remote device still works. If the CTCM device + * is not operational, set it offline and back online. If this does not resolve + * the problem, perform a manual recovery. See "Device Drivers, Features, and + * Commands" for details about how to recover a CTCM device. If this problem + * persists, gather Linux debug data and report the problem to your support + * organization. + */ + +/*? + * Text: "%s: The communication peer is busy\n" + * Severity: Informational + * Parameter: + * @1: channel ID + * Description: + * A busy target device was reported. This might be a temporary problem. + * User action: + * If this problem persists or is reported frequently ensure that the target + * device is working properly. + */ + +/*? + * Text: "%s: The specified target device is not valid\n" + * Severity: Error + * Parameter: + * @1: channel ID + * Description: + * A target device was called with a faulty device specification. This is an + * adapter hardware problem. + * User action: + * Gather Linux debug data, collect the hardware logs, and contact IBM support. + */ + +/*? + * Text: "An I/O operation resulted in error %04x\n" + * Severity: Error + * Parameter: + * @1: channel ID + * @2: error information + * Description: + * A hardware operation ended with an error. + * User action: + * Check the status of the CTCM device, for example, with ifconfig. If the + * device is not operational, perform a manual recovery. See "Device Drivers, + * Features, and Commands" for details about how to recover a CTCM device. + * If this problem persists, gather Linux debug data, collect the hardware logs, + * and report the problem to your support organization. + */ + +/*? + * Text: "%s: Initialization failed with RX/TX init handshake error %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the CTCM device + * @2: error information + * Description: + * A problem occurred during the initialization of the connection. If the + * connection can be established after an automatic recovery, a success message + * is issued. + * User action: + * If the problem is not resolved by the automatic recovery process, check the + * local and remote device. If this problem persists, gather Linux debug data + * and report the problem to your support organization. + */ + +/*? + * Text: "%s: The network backlog for %s is exceeded, package dropped\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the CTCM device + * @2: calling function + * Description: + * There is more network traffic than can be handled by the device. The device + * is closed and some data has not been transmitted. The device might be + * recovered automatically. + * User action: + * Investigate and resolve the congestion. If necessary, set the device + * online to make it operational. + */ + +/*? + * Text: "%s: The XID used in the MPC protocol is not valid, rc = %d\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the CTCM device + * @2: return code + * Description: + * The exchange identification (XID) used by the CTCM device driver when + * in MPC mode is not valid. + * User action: + * Note the error information provided with this message and contact your + * support organization. + */ + +/*? Text: "CTCM driver unloaded\n" */ +/*? Text: "%s: %s Internal error: net_device is NULL, ch = 0x%p\n" */ +/*? Text: "%s / Initializing the ctcm device driver failed, ret = %d\n" */ +/*? Text: "%s: %s: Internal error: Can't determine channel for interrupt device %s\n" */ +/*? Text: "CTCM driver initialized\n" */ +/*? Text: "%s: setup OK : r/w = %s/%s, protocol : %d\n" */ +/*? Text: "%s: Connected with remote side\n" */ +/*? Text: "%s: Restarting device\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/dasd +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/dasd @@ -0,0 +1,704 @@ +/* dasd_ioctl */ + +/*? + * Text: "%s: The DASD has been put in the quiesce state\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * No I/O operation is possible on this device. + * User action: + * Resume the DASD to enable I/O operations. + */ + +/*? + * Text: "%s: I/O operations have been resumed on the DASD\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD is no longer in state quiesce and I/O operations can be performed + * on the device. + * User action: + * None. + */ + +/*? + * Text: "%s: The DASD cannot be formatted while it is enabled\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD you try to format is enabled. Enabled devices cannot be formatted. + * User action: + * Contact the owner of the formatting tool. + */ + +/*? + * Text: "%s: The specified DASD is a partition and cannot be formatted\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD you try to format is a partition. Partitions cannot be formatted + * separately. You can only format a complete DASD including all its partitions. + * User action: + * Format the complete DASD. + * ATTENTION: Formatting irreversibly destroys all data on all partitions + * of the DASD. + */ + +/*? + * Text: "%s: The specified DASD is a partition and cannot be checked\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD you try to check is a partition. Partitions cannot be checked + * separately. You can only check a complete DASD including all its partitions. + * User action: + * Check the complete DASD. + */ + +/*? + * Text: "%s: Formatting unit %d failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: start track + * @3: return code + * Description: + * The formatting process might have been interrupted by a signal, for example, + * CTRL+C. If the process was not interrupted intentionally, an I/O error + * might have occurred. + * User action: + * Retry to format the device. If the error persists, check the log file for + * related error messages. If you cannot resolve the error, note the return + * code and contact your support organization. + */ + + +/* dasd */ + +/*? + * Text: "%s: Cancelling request %p failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to request + * @3: return code of previous function + * Description: + * In response to a user action, the DASD device driver tried but failed to + * cancel a previously started I/O operation. + * User action: + * Try the action again. + */ + +/*? + * Text: "%s: Flushing the DASD request queue failed for request %p\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to request + * Description: + * As part of the unloading process, the DASD device driver flushes the + * request queue. This failed because a previously started I/O operation + * could not be canceled. + * User action: + * Try again to unload the DASD device driver or to shut down Linux. + */ + +/*? + * Text: "The DASD device driver could not be initialized\n" + * Severity: Informational + * Description: + * The initialization of the DASD device driver failed because of previous + * errors. + * User action: + * Check for related previous error messages. + */ + +/*? + * Text: "%s: Accessing the DASD failed because it is in probeonly mode\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * The dasd= module or kernel parameter specified the probeonly attribute for + * the DASD you are trying to access. The DASD device driver cannot access + * DASDs that are in probeonly mode. + * User action: + * Change the dasd= parameter as to omit probeonly for the DASD and reload + * the DASD device driver. If the DASD device driver has been compiled into + * the kernel, reboot Linux. + */ + +/*? + * Text: "%s: cqr %p timed out (%lus), %i retries remaining\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: request + * @3: timeout value + * @4: number of retries left + * Description: + * A try of the error recovery procedure (ERP) for the channel queued request + * (cqr) timed out and failed to recover the error. ERP continues for the DASD. + * User action: + * Ignore this message if it occurs infrequently and if the recovery succeeds + * during one of the retries. If this error persists, check for related + * previous error messages and report the problem to your support organization. + * + * The timeout can be changed by writing a new value to the sysfs 'expires' attribute of the DASD. The value specifies the timeout in seconds. + */ + +/*? + * Text: "%s: cqr %p timed out (%lus) but cannot be ended, retrying in 5 s\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: request + * @3: timeout value + * Description: + * A try of the error recovery procedure (ERP) for the channel queued request + * (cqr) timed out and failed to recover the error. The I/O request submitted + * during the try could not be canceled. The ERP waits for 5 seconds before + * trying again. + * User action: + * Ignore this message if it occurs infrequently and if the recovery succeeds + * during one of the retries. If this error persists, check for related + * previous error messages and report the problem to your support organization. + * + * The timeout can be changed by writing a new value to the sysfs 'expires' attribute of the DASD. The value specifies the timeout in seconds. + */ + +/*? + * Text: "%s: The DASD cannot be set offline while it is in use\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD cannot be set offline because it is in use by an internal process. + * An action to free the DASD might not have completed yet. + * User action: + * Wait some time and set the DASD offline later. + */ + +/*? + * Text: "%s: The DASD cannot be set offline with open count %i\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: count + * Description: + * The DASD is being used by one or more processes and cannot be set offline. + * User action: + * Ensure that the DASD is not in use anymore, for example, unmount all + * partitions. Then try again to set the DASD offline. + */ + +/*? + * Text: "%s: Setting the DASD online failed with rc=%d\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * Description: + * The DASD could not be set online because of previous errors. + * User action: + * Look for previous error messages. If you cannot resolve the error, note + * the return code and contact your support organization. + */ + +/*? + * Text: "%s Setting the DASD online with discipline %s failed with rc=%i\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: discipline + * @3: return code + * Description: + * The DASD could not be set online because of previous errors. + * User action: + * Look for previous error messages. If you cannot resolve the error, note the + * return code and contact your support organization. + */ + +/*? + * Text: "%s Setting the DASD online failed because of missing DIAG discipline\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD was to be set online with discipline DIAG but this discipline of + * the DASD device driver is not available. + * User action: + * Ensure that the dasd_diag_mod module is loaded. If your Linux system does + * not include this module, you cannot set DASDs online with the DIAG + * discipline. + */ + +/*? + * Text: "%s Setting the DASD online failed because of a missing discipline\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD was to be set online with a DASD device driver discipline that + * is not available. + * User action: + * Ensure that all DASD modules are loaded correctly. + */ + +--------------------------- + +/*? + * Text: "The statistics feature has been switched off\n" + * Severity: Informational + * Description: + * The statistics feature of the DASD device driver has been switched off. + * User action: + * None. + */ + +/*? + * Text: "The statistics feature has been switched on\n" + * Severity: Informational + * Description: + * The statistics feature of the DASD device driver has been switched on. + * User action: + * None. + */ + +/*? + * Text: "The statistics have been reset\n" + * Severity: Informational + * Description: + * The DASD statistics data have been reset. + * User action: + * None. + */ + +/*? + * Text: "%s is not a supported value for /proc/dasd/statistics\n" + * Severity: Warning + * Parameter: + * @1: value + * Description: + * An incorrect value has been written to /proc/dasd/statistics. + * The supported values are: 'set on', 'set off', and 'reset'. + * User action: + * Write a supported value to /proc/dasd/statistics. + */ + +/*? + * Text: "%s is not a valid device range\n" + * Severity: Error + * Parameter: + * @1: range + * Description: + * A device range specified with the dasd= parameter is not valid. + * User action: + * Examine the dasd= parameter and correct the device range. + */ + +/*? + * Text: "The probeonly mode has been activated\n" + * Severity: Informational + * Description: + * The probeonly mode of the DASD device driver has been activated. In this + * mode the device driver rejects any 'open' syscalls with EPERM. + * User action: + * None. + */ + +/*? + * Text: "The IPL device is not a CCW device\n" + * Severity: Error + * Description: + * The value for the dasd= parameter contains the 'ipldev' keyword. During + * the boot process this keyword is replaced with the device from which the + * IPL was performed. The 'ipldev' keyword is not valid if the IPL device is + * not a CCW device. + * User action: + * Do not specify the 'ipldev' keyword when performing an IPL from a device + * other than a CCW device. + */ + +/*? + * Text: "A closing parenthesis ')' is missing in the dasd= parameter\n" + * Severity: Warning + * Description: + * The specification for the dasd= kernel or module parameter has an opening + * parenthesis '(' * without a matching closing parenthesis ')'. + * User action: + * Correct the parameter value. + */ + +/*? + * Text: "The autodetection mode has been activated\n" + * Severity: Informational + * Description: + * The autodetection mode of the DASD device driver has been activated. In + * this mode the DASD device driver sets all detected DASDs online. + * User action: + * None. + */ + +/*? + * Text: "%*s is not a supported device option\n" + * Severity: Warning + * Parameter: + * @1: length of option code + * @2: option code + * Description: + * The dasd= parameter includes an unknown option for a DASD or a device range. + * Options are specified in parenthesis and immediately follow a device or + * device range. + * User action: + * Check the dasd= syntax and remove any unsupported options from the dasd= + * parameter specification. + */ + +/*? + * Text: "PAV support has be deactivated\n" + * Severity: Informational + * Description: + * The 'nopav' keyword has been specified with the dasd= kernel or module + * parameter. The Parallel Access Volume (PAV) support of the DASD device + * driver has been deactivated. + * User action: + * None. + */ + +/*? + * Text: "'nopav' is not supported on z/VM\n" + * Severity: Informational + * Description: + * For Linux instances that run as guest operating systems of the z/VM + * hypervisor Parallel Access Volume (PAV) support is controlled by z/VM not + * by Linux. + * User action: + * Remove 'nopav' from the dasd= module or kernel parameter specification. + */ + +/*? + * Text: "High Performance FICON support has been deactivated\n" + * Severity: Informational + * Description: + * The 'nofcx' keyword has been specified with the dasd= kernel or module + * parameter. The High Performance FICON (transport mode) support of the DASD + * device driver has been deactivated. + * User action: + * None. + */ + +/*? + * Text: "The dasd= parameter value %s has an invalid ending\n" + * Severity: Warning + * Parameter: + * @1: parameter value + * Description: + * The specified value for the dasd= kernel or module parameter is not correct. + * User action: + * Check the module or the kernel parameter. + */ + +/*? + * Text: "Registering the device driver with major number %d failed\n" + * Severity: Warning + * Parameter: + * @1: DASD major + * Description: + * Major number 94 is reserved for the DASD device driver. The DASD device + * driver failed to register with this major number. Another device driver + * might have used major number 94. + * User action: + * Determine which device driver uses major number 94 instead of the DASD + * device driver and unload this device driver. Then try again to load the + * DASD device driver. + */ + +/*? + * Text: "%s: default ERP has run out of retries and failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The error recovery procedure (ERP) tried to recover an error but the number + * of retries for the I/O was exceeded before the error could be resolved. + * User action: + * Check for related previous error messages. + */ + +/*? + * Text: "%s: Unable to terminate request %p on suspend\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to request + * Description: + * As part of the suspend process, the DASD device driver terminates requests + * on the request queue. This failed because a previously started I/O operation + * could not be canceled. The suspend process will be stopped. + * User action: + * Try again to suspend the system. + */ + +/*? + * Text: "%s: ERP failed for the DASD\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * An error recovery procedure (ERP) was performed for the DASD but failed. + * User action: + * Check the message log for previous related error messages. + */ + +/*? + * Text: "%s: An error occurred in the DASD device driver, reason=%s\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: reason code + * Description: + * This problem indicates a program error in the DASD device driver. + * User action: + * Note the reason code and contact your support organization. +*/ + +/*? + * Text: "%s: No operational channel path is left for the device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * All channel paths to the device have become non-operational. The DASD + * device driver suspends I/O operations and queues I/O requests for this + * device until at least one channel path becomes operational again. + * User action: + * Ensure that each channel path to the device has been set up correctly + * and that the related physical cable connections are in place. + */ + +/*? + * Text: "%s: No verified channel paths remain for the device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * All verified channel paths to the device have become non-operational. + * Any other paths to the device have previously been identified as not usable. + * The DASD device driver suspends I/O operations and queues I/O requests + * for this device until at least one channel path becomes operational + * again. + * User action: + * Ensure that each channel path to the device has been set up correctly + * and that the related physical cable connections are in place. + * Set all paths to the device offline and online again to repeat the path + * verification. Alternatively, set the device offline and online again to + * verify all available paths for this device. + * If this problem persists, gather Linux debug data and report the problem + * to your support organization. + */ + +/*? + * Text: "%s: A channel path to the device has become operational\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * At least one channel path of this device has become operational again. + * The DASD device driver resumes I/O operations to the device and processes + * the I/O requests that were queued while there was no operational channel path. + * User action: + * None. + */ + +------------------------------------------------------------------------------------ +/* dasd_diag */ + +/*? + * Text: "%s: A 64-bit DIAG call failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * 64-bit DIAG calls require a 64-bit z/VM version. + * User action: + * Use z/VM 5.2 or later or set the sysfs 'use_diag' attribute of the DASD to 0 + * to switch off DIAG. + */ + +/*? + * Text: "%s: Accessing the DASD failed because of an incorrect format (rc=%d)\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * Description: + * The format of the DASD is not correct. + * User action: + * Check the device format. For details about the return code see the + * section about the INITIALIZE function for DIAGNOSE Code X'250' + * in "z/VM CP Programming Services". If you cannot resolve the error, note + * the return code and contact your support organization. + */ + +/*? + * Text: "%s: New DASD with %ld byte/block, total size %ld KB%s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * @2: bytes per block + * @3: size + * @4: access mode + * Description: + * A DASD with the indicated block size and total size has been set online. + * If the DASD is configured as read-only to the real or virtual hardware, + * the message includes an indication of this hardware access mode. The + * hardware access mode is independent from the 'readonly' attribute of + * the device in sysfs. + * User action: + * None. + */ + +/*? + * Text: "%s: DIAG ERP failed with rc=%d\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * Description: + * An error in the DIAG processing could not be recovered by the error + * recovery procedure (ERP) of the DIAG discipline. + * User action: + * Note the return code, check for related I/O errors, and report this problem + * to your support organization. + */ + +/*? + * Text: "%s: DIAG initialization failed with rc=%d\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * Description: + * Initializing the DASD with the DIAG discipline failed. Possible reasons for + * this problem are that the device has a device type other than FBA or ECKD, + * or has a block size other than one of the supported sizes: + * 512 byte, 1024 byte, 2048 byte, or 4096 byte. + * User action: + * Ensure that the device can be written to and has a supported device type + * and block size. For details about the return code see the section about + * the INITIALIZE function for DIAGNOSE Code X'250' in "z/VM CP Programming + * Services". If you cannot resolve the error, note the error code and contact + * your support organization. + */ + +/*? + * Text: "%s: Device type %d is not supported in DIAG mode\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: device type + * Description: + * Only DASD of type FBA and ECKD are supported in DIAG mode. + * User action: + * Set the sysfs 'use_diag' attribute of the DASD to 0 and try again to access + * the DASD. + */ + +/*? + * Text: "Discipline %s cannot be used without z/VM\n" + * Severity: Informational + * Parameter: + * @1: discipline name + * Description: + * The discipline that is specified with the dasd= kernel or module parameter + * is only available for Linux instances that run as guest operating + * systems of the z/VM hypervisor. + * User action: + * Remove the unsupported discipline from the parameter string. + */ + +/*? + * Text: "%s: The access mode of a DIAG device changed to read-only\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A device changed its access mode from writeable to + * read-only while in use. + * User action: + * Set the device offline, ensure that the device is configured correctly in + * z/VM, then set the device online again. + */ + +------------------------------------------------------------------------------------ +/* dasd_erp */ + +/*? + * Text: "%s: A timeout error occurred for cqr %p\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to request + * Description: + * A channel queued request (cqr) failed because it timed out. + * One possible reason for this error is that a request did not + * complete within the timeout interval specified for the DASD. + * The timeout interval is set as the value of the 'timeout' sysfs + * attribute of a DASD. A value of 0 disables the timeout function. + * The timeout function can be used; for example, by mirroring setups; + * to quickly process a request queue for a DASD that has become unavailable. + * User action: + * Check the message log for previous related error messages. Verify + * that the storage server and the connection from host to storage + * server are operational. If the 'timeout' sysfs attribute of the + * DASD has been set to a value other than 0, verify that this + * setting is intentional and change it if required. + */ + +/*? + * Text: "%s: A transport error occurred for cqr %p\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to request + * Description: + * A channel queued request (cqr) failed because the connection to the + * device was lost and the 'failfast' flag is set for the request. + * This flag can result from, for example: + * + * - A software layer above the DASD device driver; + * for example, in a host based mirroring setup. + * + * - Value 1 for the 'failfast' sysfs attribute of the DASD. + * This setting applies to all requests on the DASD. + * + * User action: + * Ensure that each channel path to the device has been set up + * correctly and that the related physical cable connections are in + * place. If the 'failfast' attribute of the DASD is set to 1, + * verify that this setting is intentional and change it to 0 if required. + */ + +/*? + * Text: "%s Setting the DASD online failed because the required module %s could not be loaded (rc=%d)\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: kernel module name + * @3: return code + * Description: + * The DASD was to be set online with discipline DIAG but this discipline of + * the DASD device driver is not available and an attempt to load the + * corresponding kernel module failed with the specified return code. + * + * User action: + * Ensure that the kernel module with the specified name is correctly installed + * or set the sysfs 'use_diag' attribute of the DASD to 0 to switch off DIAG. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/dasd-eckd +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/dasd-eckd @@ -0,0 +1,2154 @@ +/* dasd_eckd */ + +/*? + * Text: "%s: ERP failed for the DASD\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * An error recovery procedure (ERP) was performed for the DASD but failed. + * User action: + * Check the message log for previous related error messages. + */ + +/*? + * Text: "%s: An error occurred in the DASD device driver, reason=%s\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: reason code + * Description: + * This problem indicates a program error in the DASD device driver. + * User action: + * Note the reason code and contact your support organization. +*/ + +/*? + * Text: "%s: Allocating memory for private DASD data failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD device driver maintains data structures for each DASD it manages. + * There is not enough memory to allocate these data structures for one or + * more DASD. + * User action: + * Free some memory and try the operation again. + */ + +/*? + * Text: "%s: DASD with %d KB/block, %d KB total size, %d KB/track, %s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * @2: block size + * @3: DASD size + * @4: track size + * @5: disc layout + * Description: + * A DASD with the shown characteristics has been set online. + * User action: + * None. + */ + +/*? + * Text: "%s: Start track number %u used in formatting is too big\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: track number + * Description: + * The DASD format I/O control was used incorrectly by a formatting tool. + * User action: + * Contact the owner of the formatting tool. + */ + +/*? + * Text: "%s: Stop track number %u used in formatting is too big\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: track number + * Description: + * The DASD format I/O control was used incorrectly by a formatting tool. + * User action: + * Contact the owner of the formatting tool. + */ + +/*? + * Text: "%s: The DASD is not formatted\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A DASD has been set online but it has not been formatted yet. You must + * format the DASD before you can use it. + * User action: + * Format the DASD, for example, with dasdfmt. + */ + +/*? + * Text: "%s: 0x%x is not a known command\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: command + * Description: + * This problem is likely to be caused by a programming error. + * User action: + * Contact your support organization. + */ + +/*? + * Text: "%s: Track 0 has no records following the VTOC\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * Linux has identified a volume table of contents (VTOC) on the DASD but + * cannot read any data records following the VTOC. A possible cause of this + * problem is that the DASD has been used with another System z operating + * system. + * User action: + * Format the DASD for usage with Linux, for example, with dasdfmt. + * ATTENTION: Formatting irreversibly destroys all data on the DASD. + */ + +/*? + * Text: "%s: An I/O control call used incorrect flags 0x%x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: flags + * Description: + * The DASD format I/O control was used incorrectly. + * User action: + * Contact the owner of the formatting tool. + */ + +/*? + * Text: "%s: New DASD %04X/%02X (CU %04X/%02X) with %d cylinders, %d heads, %d sectors%s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * @2: device type + * @3: device model + * @4: control unit type + * @5: control unit model + * @6: number of cylinders + * @7: tracks per cylinder + * @8: sectors per track + * @9: access mode + * Description: + * A DASD with the shown characteristics has been set online. + * If the DASD is configured as read-only to the real or virtual hardware, + * the message includes an indication of this hardware access mode. The + * hardware access mode is independent from the 'readonly' attribute of + * the device in sysfs. + * User action: + * None. + */ + +/*? + * Text: "%s: The disk layout of the DASD is not supported\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD device driver only supports the following disk layouts: CDL, LDL, + * FBA, CMS, and CMS RESERVED. + * User action: + * None. + */ + +/*? + * Text: "%s: Start track %u used in formatting exceeds end track\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: track number + * Description: + * The DASD format I/O control was used incorrectly by a formatting tool. + * User action: + * Contact the owner of the formatting tool. + */ + +/*? + * Text: "%s: The DASD cache mode was set to %x (%i cylinder prestage)\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * @2: operation mode + * @3: number of cylinders + * Description: + * The DASD cache mode has been changed. See the storage system documentation + * for information about the different cache operation modes. + * User action: + * None. + */ + +/*? + * Text: "%s: The DASD cannot be formatted with block size %u\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: block size + * Description: + * The block size specified for a format instruction is not valid. The block + * size must be between 512 and 4096 byte and must be a power of 2. + * User action: + * Call the format command with a supported block size. + */ + +/*? + * Text: "%s: The UID of the DASD has changed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The Unique Identifier (UID) of a DASD that is currently in use has changed. + * This indicates that the physical disk has been replaced. + * User action: + * None if the replacement was intentional. + * If the disk change is not expected, stop using the disk to prevent possible + * data loss. +*/ + + +/* dasd_3990_erp */ + +/*? + * Text: "%s: is offline or not installed - INTERVENTION REQUIRED!!\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD to be accessed is not in an accessible state. The I/O operation + * will wait until the device is operational again. This is an operating system + * independent message that is issued by the storage system. + * User action: + * Make the DASD accessible again. For details see the storage system + * documentation. + */ + +/*? + * Text: "%s: The DASD cannot be reached on any path (lpum=%x/opm=%x)\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: last path used mask + * @3: online path mask + * Description: + * After a path to the DASD failed, the error recovery procedure of the DASD + * device driver tried but failed to reconnect the DASD through an alternative + * path. + * User action: + * Ensure that the cabling between the storage server and the mainframe + * system is securely in place. Check the file systems on the DASD when it is + * accessible again. + */ + +/*? + * Text: "%s: Unable to allocate DCTL-CQR\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an internal error. + * User action: + * Contact your support organization. + */ + +/*? + * Text: "%s: FORMAT 0 - Invalid Parameter\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A data argument of a command is not valid. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - DPS Installation Check\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This operating system independent message is issued by the storage system + * for one of the following reasons: + * - A 3380 Model D or E DASD does not have the Dynamic Path Selection (DPS) + * feature in the DASD A-unit. + * - The device type of an attached DASD is not supported by the firmware. + * - A type 3390 DASD is attached to a 3 MB channel. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 2 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Drive motor switch is off\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - CCW Count less than required\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The CCW count of a command is less than required. This is an operating + * system independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Channel requested ... %02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: reason code + * Description: + * This is an operating system independent message that is issued by the + * storage system. The possible reason codes indicate the following problems: + * 00 No Message. + * 01 The channel has requested unit check sense data. + * 02 The channel has requested retry and retry is exhausted. + * 03 A SA Check-2 error has occurred. This sense is presented with + * Equipment Check. + * 04 The channel has requested retry and retry is not possible. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Status Not As Required: reason %02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: reason code + * Description: + * This is an operating system independent message that is issued by the + * storage system. There are several potential reasons for this message; + * byte 8 contains the reason code. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Device status 1 not valid\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Storage Path Restart\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * An operation for an active channel program was queued in a Storage Control + * when a warm start was received by the path. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Reset Notification\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A system reset or its equivalent was received on an interface. The Unit + * Check that generates this sense is posted to the next channel initiated + * selection following the resetting event. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Invalid Command Sequence\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * An incorrect sequence of commands has occurred. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Missing device address bit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Subsystem Processing Error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A firmware logic error has been detected. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Seek incomplete\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Invalid Command\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A command was issued that is not in the 2107/1750 command set. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Command Invalid on Secondary Address\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A command or order not allowed on a PPRC secondary device has been received + * by the secondary device. This is an operating system independent message + * that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Invalid Defective/Alternate Track Pointer\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A defective track has been accessed. The subsystem generates an invalid + * Defective/Alternate Track Pointer as a part of RAID Recovery. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Channel Returned with Incorrect retry CCW\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A command portion of the CCW returned after a command retry sequence does + * not match the command for which retry was signaled. This is an operating + * system independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Diagnostic of Special Command Violates File Mask\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A command is not allowed under the Access Authorization specified by the + * File Mask. This is an operating system independent message that is issued + * by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Head address does not compare\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Device did not respond to selection\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Device check-2 error or Set Sector is not complete\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Device Error Source\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The device has completed soft error logging. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Data Pinned for Device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * Modified data in cache or in persistent storage exists for the DASD. The + * data cannot be destaged to the device. This track is the first track pinned + * for this device. This is an operating system independent message that is + * issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel C\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Device Status 1 not as expected\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 0 - Device Fenced - device = %02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: sense data byte 4 + * Description: + * The device shown in sense byte 4 has been fenced. This is an operating + * system independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Interruption cannot be reset\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Index missing\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - DASD Fast Write inhibited\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * DASD Fast Write is not allowed because of a nonvolatile storage battery + * check condition. This is an operating system independent message that is + * issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Invalid tag-in for an extended command sequence\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Key area error; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Count area error; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Track physical address did not compare\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 2 - 3990 check-2 error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Offset active cannot be reset\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - RCC 1 and RCC 2 sequences not successful\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in count address area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Data area error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel A\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in count address area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the key area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Caching status reset to default\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The storage director has assigned two new subsystem status devices and + * resets the status to its default value. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the data area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Device not ready\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in key area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - DASD controller failed to set or reset the long busy latch\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 1 - Cylinder address did not compare\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 3 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in data area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 2 - Support facility errors\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Key area error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - End operation with transfer count not zero\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 2 - Microcode detected error %02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: error code + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the count area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 3 - Allegiance terminated\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * Allegiance terminated because of a Reset Allegiance or an Unconditional + * Reserve command on another channel. This is an operating system independent + * message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Home address area error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Count area error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Invalid tag-in during selection sequence\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in data area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in home address area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Home address area error; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - Data area error; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in home address area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the home address area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the home address area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the count area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 4 - No sync byte in key area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Invalid DCC selection response or timeout\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the data area\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Operation Terminated\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The storage system ends an operation related to an active channel program + * when termination and redrive are required and logging is not desired. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel B\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 5 - Data Check in the key area; offset active\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Volume is suspended duplex\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The duplex pair volume has entered the suspended duplex state because of a + * failure. This is an operating system independent message that is issued by + * the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel D\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - RCC 1 sequence not successful\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel E\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - 3990 microcode time out when stopping selection\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel F\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - RCC initiated by a connection check alert\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel G\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - extra RCC required\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 6 - Overrun on channel H\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - Unexpected end operation response code\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Permanent path error (DASD controller not available)\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Missing end operation; device transfer incomplete\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Cache or nonvolatile storage equipment failure\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * An equipment failure has occurred in the cache storage or nonvolatile + * storage of the storage system. This is an operating system independent + * message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - DPS cannot be filled\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - Error correction code hardware fault\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Missing end operation; device transfer complete\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - DASD controller not available on disconnected command chain\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - No interruption from device during a command chain\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - No response to selection after a poll interruption\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 9 - Track physical address did not compare while oriented\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 9 - Head address did not compare\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Invalid tag-in for an immediate command sequence\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 9 - Cylinder address did not compare\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - DPS checks after a system reset or selective reset\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Caching reinitiated\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * Caching has been automatically reinitiated following an error. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - End operation with transfer count zero\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 7 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 9 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - Short busy time-out during device selection\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Caching terminated\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The storage system was unable to initiate caching or had to suspend caching + * for a 3990 control unit. If this problem is caused by a failure condition, + * an additional message will provide more information about the failure. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * Check for additional messages that point out possible failures. For more + * information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Subsystem status cannot be determined\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The status of a DASD Fast Write or PPRC volume cannot be determined. + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Nonvolatile storage terminated\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The storage director has stopped using nonvolatile storage or cannot + * initiate nonvolatile storage. If this problem is caused by a failure, an + * additional message will provide more information about the failure. This is + * an operating system independent message that is issued by the storage system. + * User action: + * Check for additional messages that point out possible failures. For more + * information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT 8 - Reserved\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: Write inhibited path encountered\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an informational message. + * User action: + * None. + */ + +/*? + * Text: "%s: FORMAT 9 - Device check-2 error\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * This is an operating system independent message that is issued by the + * storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Track format incorrect\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A track format error occurred while data was being written to the DASD or + * while a duplex pair was being established. This is an operating system + * independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: FORMAT F - Cache fast write access not authorized\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * A request for Cache Fast Write Data access cannot be satisfied because + * of missing access authorization for the storage system. This is an operating + * system independent message that is issued by the storage system. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: Data recovered during retry with PCI fetch mode active\n" + * Severity: Emerg + * Parameter: + * @1: bus ID of the DASD + * Description: + * A data error has been recovered on the storages system but the Linux file + * system cannot be informed about the data mismatch. To prevent Linux from + * running with incorrect data, the DASD device driver will trigger a kernel + * panic. + * User action: + * Reset your real or virtual hardware and reboot Linux. + */ + +/*? + * Text: "%s: The specified record was not found\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The record to be accessed does not exist. The DASD might be unformatted + * or defect. + * User action: + * Try to format the DASD or replace it. + * ATTENTION: Formatting irreversibly destroys all data on the DASD. + */ + +/*? + * Text: "%s: ERP %p (%02x) refers to %p\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: pointer to ERP + * @3: ERP status + * @4: cqr + * Description: + * This message provides debug information for the enhanced error recovery + * procedure (ERP). + * User action: + * If you do not need this information, you can suppress this message by + * switching off ERP logging, for example, by writing '1' to the 'erplog' + * sysfs attribute of the DASD. + */ + +/*? + * Text: "%s: ERP chain at END of ERP-ACTION\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * This message provides debug information for the enhanced error recovery + * procedure (ERP). + * User action: + * If you do not need this information, you can suppress this message by + * switching off ERP logging, for example, by writing '1' to the 'erplog' + * sysfs attribute of the DASD. + */ + +/*? + * Text: "%s: The cylinder data for accessing the DASD is inconsistent\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * An error occurred in the storage system hardware. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: Accessing the DASD failed because of a hardware error\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * An error occurred in the storage system hardware. + * User action: + * For more information see the documentation of your storage system. + */ + +/*? + * Text: "%s: ERP chain at BEGINNING of ERP-ACTION\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * This message provides debug information for the enhanced error recovery + * procedure (ERP). + * User action: + * If you do not need this information, you can suppress this message by + * switching off ERP logging, for example, by writing '1' to the 'erplog' + * sysfs attribute of the DASD. + */ + +/*? + * Text: "%s: ERP %p has run out of retries and failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: ERP pointer + * Description: + * The error recovery procedure (ERP) tried to recover an error but the number + * of retries for the I/O was exceeded before the error could be resolved. + * User action: + * Check for related previous error messages. + */ + +/*? + * Text: "%s: SIM - SRC: %02x%02x%02x%02x\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: sense byte + * @3: sense byte + * @4: sense byte + * @5: sense byte + * Description: + * This error message is a System Information Message (SIM) generated by the + * storage system. The System Reference Code (SRC) defines the error in detail. + * User action: + * Look up the SRC in the storage server documentation. + */ + +/*? + * Text: "%s: log SIM - SRC: %02x%02x%02x%02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: sense byte + * @3: sense byte + * @4: sense byte + * @5: sense byte + * Description: + * This System Information Message (SIM) is generated by the storage system. + * The System Reference Code (SRC) defines the error in detail. + * User action: + * Look up the SRC in the storage server documentation. + */ + +/*? + * Text: "%s: Reading device feature codes failed with rc=%d\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * Description: + * The device feature codes state which advanced features are supported by a + * device. + * Examples for advanced features are PAV or high performance FICON. + * Some early devices do not provide feature codes and no advanced features are + * available on these devices. + * User action: + * None, if the DASD does not provide feature codes. If the DASD provides + * feature codes, make sure that it is working correctly, then set it offline + * and back online. + */ + +/*? + * Text: "%s: A channel path group could not be established\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * Initialization of a DASD did not complete because a channel path group + * could not be established. + * User action: + * Make sure that the DASD is working correctly, then try again to set it + * online. If initialization still fails, reboot. + */ + +/*? + * Text: "%s: The DASD is not operating in multipath mode\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD channel path group could not be configured to use multipath mode. + * This might negatively affect I/O performance on this DASD. + * User action: + * Make sure that the DASD is working correctly, then try again to set it + * online. If initialization still fails, reboot. + */ + +/*? + * Text: "%s: Detecting the DASD disk layout failed because of an I/O error\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The disk layout of the DASD could not be detected because of an unexpected + * I/O error. The DASD device driver treats the device like an unformatted DASD, + * and partitions on the device are not accessible. + * User action: + * If the DASD is formatted, make sure that the DASD is working correctly, + * then set it offline and back online. If the DASD is unformatted, format the + * DASD, for example, with dasdfmt. + * ATTENTION: Formatting irreversibly destroys all data on the DASD. + */ + +/*? + * Text: "%s: An I/O request was rejected because writing is inhibited\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * An I/O request was returned with an error indication of 'command reject' + * and 'write inhibited'. The most likely reason for this error is a + * failed write request to a device that was attached as read-only in z/VM. + * User action: + * Set the device offline, ensure that the device is configured correctly in + * z/VM, then set the device online again. + */ + +/*? + * Text: "%s: An Alias device was reassigned to a new base device with UID: %s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the alias + * @2: UID of new base device + * Description: + * The alias device with the indicated bus ID has been reassigned. The UID of the new base device is shown in the message. + * User action: + * None. + */ + +/*? + * Text: "%s: Detecting the maximum supported data size for zHPF requests failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * High Performance FICON (zHPF) requests are limited to a hardware-dependent + * maximum data size. The DASD device driver failed to detect this size and zHPF + * is not available for this device. + * User action: + * Set the device offline and online again. If this problem persists, gather + * Linux debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Reading device feature codes failed (rc=%d) for new path %x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * @3: path mask + * Description: + * A new path has been made available to the a device. + * A command to read the device feature codes on this device returned an error. + * The new path will not be used for I/O. + * User action: + * Set the new path offline and online again to repeat the path verification. + * Alternatively, set the device offline and online again to + * verify all available paths for this device. + * If this problem persists, gather Linux debug data and report the problem + * to your support organization. + */ + +/*? + * Text: "%s: Detecting the maximum data size for zHPF requests failed (rc=%d) for a new path %x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: return code + * @3: path mask + * Description: + * High Performance FICON (zHPF) requests are limited to a hardware-dependent + * maximum data size. A command to detect this size for + * a new path returned an error. The new path will not be used for I/O. + * User action: + * Set the new path offline and online again to repeat the path verification. + * Alternatively, set the device offline and online again to + * verify all available paths for this device. + * If this problem persists, gather Linux debug data and report the problem + * to your support organization. + */ + +/*? + * Text: "%s: The maximum data size for zHPF requests %u on a new path %x is below the active maximum %u\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * @2: size in bytes + * @3: path mask + * @4: size in bytes + * Description: + * High Performance FICON (zHPF) requests are limited to a hardware-dependent + * maximum data size. The maximum of the new path is below + * the previously established common maximum for the + * existing paths for this device. This could cause requests on the new + * path to fail. The new path will not be used for I/O. + * User action: + * Set the device offline and online again to establish a new common maximum + * data size for the device. + */ + +/*? + * Text: "%s: The device reservation was lost\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * This Linux instance has lost its reservation of the device to another + * operating system instance. Depending on the reservation policy for the + * device, I/O might be blocked until the other operating system instance + * surrenders the reservation or all I/O requests might fail until the + * device is reset. + * User action: + * None, if this situation is handled by system automation software. + * If this situation is not handled by automation, check the + * last_known_reservation_state attribute of the device in sysfs. + * If the value is 'lost', verify that the device is no longer reserved + * by another operating system instance, then set the device offline and + * online again. For any other value of the last_known_reservation_state + * no action is required. I/O will resume when the device reservation is + * surrendered by the other operating system instance. + */ + +/*? + * Text: "%s: The storage server does not support raw-track access\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD cannot be accessed in raw-track access mode because the storage + * server does not have all required features for this access mode. + * In raw-track access mode, the DASD device driver accesses complete ECKD + * tracks. + * By default, the DASD device driver accesses only the data fields of ECKD + * devices and omits the count and key data fields. + * User action: + * Ensure that the raw_track_access sysfs attribute of the DASD has the value + * 0 to access the device in default ECKD mode. + */ + +/*? + * Text: "%s: The newly added channel path %02X will not be used because it leads to a different device %s\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: logical path mask + * @3: UID + * Description: + * The newly added channel path has a different UID than the DASD device. This indicates + * an incorrect cabling. This path is not going to be used. + * User action: + * Check the cabling of the DASD device. Disconnect and reconnect the cable. + */ + +/*? + * Text: "%s: Not all channel paths lead to the same device, path %02X leads to device %s instead of %s\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: logical path mask + * @3: UID + * @4: UID + * Description: + * Some channel paths have a different UID than others. This indicates + * an incorrect cabling. The DASD device is not enabled. + * User action: + * Check cabling of the DASD device and retry to enable the device. + */ + +/*? + * Text: "Service on the storage server caused path %x.%02x to go offline" + * Severity: Warning + * Parameter: + * @1: channel subsystem ID + * @2: CHPID + * Description: + * A channel path to the DASD has been set offline because of + * a service action on the storage server. The path will be set back + * online automatically when the service action is completed. + * User action: + * None. + */ + +/*? + * Text: "Path %x.%02x is back online after service on the storage server" + * Severity: Informational + * Parameter: + * @1: channel subsystem ID + * @2: CHPID + * Description: + * A path had been set offline temporarily because of a service + * action on the storage server. + * The service action has completed, and the channel path is available + * again. + * User action: + * None. + */ + +/*? + * Text: "%s: High Performance FICON disabled\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * Description: + * High Performance FICON (HPF) has been disabled. Either the device + * lost HPF functionality, or none of the remaining channel paths are + * HPF capable. + * User action: + * Report the problem to your support organization. + * Ensure that the cabling between the storage server and the mainframe + * system is securely in place. + * Reset the device and channel paths by writing "all" or a logical path mask + * to the path_reset sysfs attribute of the device. + */ + +/*? + * Text: "%s: Channel path %02X lost HPF functionality and is disabled\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: logical path mask + * Description: + * A channel path has lost High Performance FICON (HPF) functionality + * and was removed from regular operations. + * User action: + * Report the problem to your support organization. + * Ensure that the cabling between the storage server and the mainframe + * system is securely in place. + * Reset the device and channel paths by writing "all" or a logical path mask + * to the path_reset sysfs attribute of the device. + */ + +/*? + * Text: "%s: Path %x.%02x (pathmask %02x) is disabled - IFCC threshold exceeded\n" + * Severity: Error + * Parameter: + * @1: bus ID of the DASD + * @2: cssid + * @3: chpid + * @4: logical path mask + * Description: + * Due to numerous interface or channel control checks (IFCCs), a channel path + * was removed from regular operations to retain good I/O performance. + * User action: + * Ensure that the cabling between the storage server and the mainframe + * system is securely in place. + * Reset the device and channel paths by writing "all" or a logical path mask + * to the path_reset sysfs attribute of the device. + * If the problem persists, report it to your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/dasd-fba +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/dasd-fba @@ -0,0 +1,36 @@ + +/*? + * Text: "%s: New FBA DASD %04X/%02X (CU %04X/%02X) with %d MB and %d B/blk%s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the DASD + * @2: device type + * @3: device model + * @4: control unit type + * @5: control unit model + * @6: size + * @7: bytes per block + * @8: access mode + * Description: + * A DASD with the shown characteristics has been set online. + * If the DASD is configured as read-only to the real or virtual hardware, + * the message includes an indication of this hardware access mode. The + * hardware access mode is independent from the 'readonly' attribute of + * the device in sysfs. + * User action: + * None. + */ + +/*? + * Text: "%s: Allocating memory for private DASD data failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the DASD + * Description: + * The DASD device driver maintains data structures for each DASD it manages. + * There is not enough memory to allocate these data structures for one or + * more DASD. + * User action: + * Free some memory and try the operation again. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/dcssblk +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/dcssblk @@ -0,0 +1,206 @@ +/*? + * Text: "Adjacent DCSSs %s and %s are not contiguous\n" + * Severity: Error + * Parameter: + * @1: name 1 + * @2: name 2 + * Description: + * You can only map a set of two or more DCSSs to a single DCSS device if the + * DCSSs in the set form a contiguous memory space. The DCSS device cannot be + * created because there is a memory gap between two adjacent DCSSs. + * User action: + * Ensure that you have specified all DCSSs that belong to the set. Check the + * definitions of the DCSSs on the z/VM hypervisor to verify that they form + * a contiguous memory space. + */ + +/*? + * Text: "DCSS %s and DCSS %s have incompatible types\n" + * Severity: Error + * Parameter: + * @1: name 1 + * @2: name 2 + * Description: + * You can only map a set of two or more DCSSs to a single DCSS device if + * either all DCSSs in the set have the same type or if the set contains DCSSs + * of the two types EW and EN but no other type. The DCSS device cannot be + * created because at least two of the specified DCSSs are not compatible. + * User action: + * Check the definitions of the DCSSs on the z/VM hypervisor to verify that + * their types are compatible. + */ + +/*? + * Text: "DCSS %s is of type SC and cannot be loaded as exclusive-writable\n" + * Severity: Error + * Parameter: + * @1: device name + * Description: + * You cannot load a DCSS device in exclusive-writable access mode if the DCSS + * devise maps to one or more DCSSs of type SC. + * User action: + * Load the DCSS in shared access mode. + */ + +/*? + * Text: "DCSS device %s is removed after a failed access mode change\n" + * Severity: Error + * Parameter: + * @1: device name + * Description: + * To change the access mode of a DCSS device, all DCSSs that map to the device + * were unloaded. Reloading the DCSSs for the new access mode failed and the + * device is removed. + * User action: + * Look for related messages to find out why the DCSSs could not be reloaded. + * If necessary, add the device again. + */ + +/*? + * Text: "All DCSSs that map to device %s are saved\n" + * Severity: Informational + * Parameter: + * @1: device name + * Description: + * A save request has been submitted for the DCSS device. Changes to all DCSSs + * that map to the device are saved permanently. + * User action: + * None. + */ + +/*? + * Text: "Device %s is in use, its DCSSs will be saved when it becomes idle\n" + * Severity: Informational + * Parameter: + * @1: device name + * Description: + * A save request for the device has been deferred until the device becomes + * idle. Then changes to all DCSSs that the device maps to will be saved + * permanently. + * User action: + * None. + */ + +/*? + * Text: "A pending save request for device %s has been canceled\n" + * Severity: Informational + * Parameter: + * @1: device name + * Description: + * A save request for the DCSSs that map to a DCSS device has been pending + * while the device was in use. This save request has been canceled. Changes to + * the DCSSs will not be saved permanently. + * User action: + * None. + */ + +/*? + * Text: "Loaded %s with total size %lu bytes and capacity %lu sectors\n" + * Severity: Informational + * Parameter: + * @1: DCSS names + * @2: total size in bytes + * @3: total size in 512 byte sectors + * Description: + * The listed DCSSs have been verified as contiguous and successfully loaded. + * The displayed sizes are the sums of all DCSSs. + * User action: + * None. + */ + +/*? + * Text: "Device %s cannot be removed because it is not a known device\n" + * Severity: Warning + * Parameter: + * @1: device name + * Description: + * The DCSS device you are trying to remove is not known to the DCSS device + * driver. + * User action: + * List the entries under /sys/devices/dcssblk/ to see the names of the + * existing DCSS devices. + */ + +/*? + * Text: "Device %s cannot be removed while it is in use\n" + * Severity: Warning + * Parameter: + * @1: device name + * Description: + * You are trying to remove a device that is in use. + * User action: + * Make sure that all users of the device close the device before you try to + * remove it. + */ + +/*? + * Text: "Device %s has become idle and is being saved now\n" + * Severity: Informational + * Parameter: + * @1: device name + * Description: + * A save request for the DCSSs that map to a DCSS device has been pending + * while the device was in use. The device has become idle and all changes + * to the DCSSs are now saved permanently. + * User action: + * None. + */ + +/*? + * Text: "Writing to %s failed because it is a read-only device\n" + * Severity: Warning + * Parameter: + * @1: device name + * Description: + * The DCSS device is in shared access mode and cannot be written to. Depending + * on the type of the DCSSs that the device maps to, you might be able to + * change the access mode to exclusive-writable. + * User action: + * If the DCSSs of the device are of type SC, do not attempt to write to the + * device. If the DCSSs of the device are of type ER or SR, change the access + * mode to exclusive-writable before writing to the device. + */ + +/*? + * Text: "The address range of DCSS %s changed while the system was suspended\n" + * Severity: Error + * Parameter: + * @1: device name + * Description: + * After resuming the system, the start address or end address of a DCSS does + * not match the address when the system was suspended. DCSSs must not be + * changed after the system was suspended. + * This error cannot be recovered. The system is stopped with a kernel panic. + * User action: + * Reboot Linux. + */ + +/*? + * Text: "Suspending the system failed because DCSS device %s is writable\n" + * Severity: Error + * Parameter: + * @1: device name + * Description: + * A system cannot be suspended if one or more DCSSs are accessed in exclusive- + * writable mode. DCSS segment types EW, SW, and EN are always writable and + * must be removed before a system is suspended. + * User action: + * Remove all DCSSs of segment types EW, SW, and EN by writing the DCSS name to + * the sysfs 'remove' attribute. Set the access mode for all DCSSs of segment + * types SR and ER to read-only by writing 1 to the sysfs 'shared' attribute of + * the DCSS. Then try again to suspend the system. + */ + +/*? + * Text: "DCSS %s is of type SN or EN and cannot be saved\n" + * Severity: Warning + * Parameter: + * @1: DCSS name + * Description: + * DCSSs of type SN or EN cannot be saved. + * User action: + * If the DCSS was set up with the intention to prevent the content from being saved, + * no action is necessary. + * To be able to save the content, you must define the DCSS with a type other than SN or EN. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/diag288_wdt +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/diag288_wdt @@ -0,0 +1,66 @@ +/*? + * Text: "The watchdog cannot be activated\n" + * Severity: Error + * Description: + * Diagnose instruction 0x288 was called to activate the diag288 watchdog. + * The diagnose call returned an error that cannot be handled by the device driver. + * The watchdog stays inactive. + * User action: + * Contact your support organization. + */ + +/*? + * Text: "The watchdog cannot be initialized\n" + * Severity: Error + * Description: + * Diagnose instruction 0x288 was called to initialize the diag288 watchdog. + * The diagnose call returned an error that cannot be handled by the device driver. + * The watchdog stays inactive. + * A possible reason for this error is that your real or virtual hardware does not support + * the diag288 watchdog. + * User action: + * Confirm that the diag288 watchdog is supported in your environment. + * Use a watchdog that is supported in your environment. + */ + +/*? + * Text: "The watchdog cannot be deactivated\n" + * Severity: Error + * Description: + * Diagnose instruction 0x288 was called to deactivate the diag288 watchdog. + * The diagnose call returned an error that cannot be handled by the device driver. + * The watchdog stays active and a watchdog timeout will trigger the configured timeout action. + * The diag288 watchdog device driver might intentionally be configured to prevent deactivation. + * User action: + * You can configure the diag288 watchdog device driver such that it can be deactivated. + * If the diag288 device driver has been compiled as a separate module, diag288_wdt, reload the module + * without specifying the 'nowayout' module parameter. + * If the diag288 device driver has been compiled into your kernel, + * reboot Linux without specifying the 'diag288.nowayout' kernel parameter'. + */ + +/*? + * Text: "The watchdog timer cannot be started or reset\n" + * Severity: Error + * Description: + * Diagnose instruction 0x288 was called to start the diag288 watchdog or to set timer back to zero. + * The diagnose call returned an error that cannot be handled by the device driver. + * The watchdog stays inactive or becomes inactive. + * User action: + * Contact your support organization. + */ + +/*? + * Text: "Linux cannot be suspended while the watchdog is in use\n" + * Severity: Error + * Description: + * The watchdog must not time out while Linux is suspended. + * Therefore, the diag288 watchdog device driver prevents Linux from being suspended + * while the watchdog is in use. + * User action: + * i) Stop the watchdog application. ii) If the problem persists, close the watchdog + * device node by issuing 'echo V > /dev/watchdog'. + * iii) If the device driver still prevents Linux from being suspended, + * contact your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/extmem +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/extmem @@ -0,0 +1,293 @@ +/*? + * Text: "Querying a DCSS type failed with rc=%ld\n" + * Severity: Warning + * Parameter: + * @1: return code + * Description: + * The DCSS kernel interface used z/VM diagnose call X'64' to query the + * type of a DCSS. z/VM failed to determine the type and returned an error. + * User action: + * Look for related messages to find out which DCSS is affected. + * For details about the return codes see the section about DIAGNOSE Code + * X'64' in "z/VM CP Programming Services". + */ + +/*? + * Text: "Loading DCSS %s failed with rc=%ld\n" + * Severity: Warning + * Parameter: + * @1: DCSS name + * @2: return code + * Description: + * The DCSS kernel interface used diagnose call X'64' to load a DCSS. z/VM + * failed to load the DCSS and returned an error. + * User action: + * For details about the return codes see the section about DIAGNOSE Code + * X'64' in "z/VM CP Programming Services". + */ + +/*? + * Text: "DCSS %s of range %p to %p and type %s loaded as exclusive-writable\n" + * Severity: Informational + * Parameter: + * @1: DCSS name + * @2: starting page address + * @3: ending page address + * @4: DCSS type + * Description: + * The DCSS was loaded successfully in exclusive-writable access mode. + * User action: + * None. + */ + +/*? + * Text: "DCSS %s of range %p to %p and type %s loaded in shared access mode\n" + * Severity: Informational + * Parameter: + * @1: DCSS name + * @2: starting page address + * @3: ending page address + * @4: DCSS type + * Description: + * The DCSS was loaded successfully in shared access mode. + * User action: + * None. + */ + +/*? + * Text: "DCSS %s is already in the requested access mode\n" + * Severity: Informational + * Parameter: + * @1: DCSS name + * Description: + * A request to reload a DCSS with a new access mode has been rejected + * because the new access mode is the same as the current access mode. + * User action: + * None. + */ + +/*? + * Text: "DCSS %s is in use and cannot be reloaded\n" + * Severity: Warning + * Parameter: + * @1: DCSS name + * Description: + * Reloading a DCSS in a different access mode has failed because the DCSS is + * being used by one or more device drivers. The DCSS remains loaded with the + * current access mode. + * User action: + * Ensure that the DCSS is not used by any device driver then try again to + * load the DCSS with the new access mode. + */ + +/*? + * Text: "DCSS %s overlaps with used memory resources and cannot be reloaded\n" + * Severity: Warning + * Parameter: + * @1: DCSS name + * Description: + * The DCSS has been unloaded and cannot be reloaded because it overlaps with + * another loaded DCSS or with the memory of the z/VM guest virtual machine + * (guest storage). + * User action: + * Ensure that no DCSS is loaded that has overlapping memory resources + * with the DCSS you want to reload. If the DCSS overlaps with guest storage, + * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap + * for the DCSS. For details, see the section about the DCSS device driver in + * "Device Drivers, Features, and Commands". + */ + +/*? + * Text: "Reloading DCSS %s failed with rc=%ld\n" + * Severity: Warning + * Parameter: + * @1: DCSS name + * @2: return code + * Description: + * The DCSS kernel interface used z/VM diagnose call X'64' to reload a DCSS + * in a different access mode. The DCSS was unloaded but z/VM failed to reload + * the DCSS. + * User action: + * For details about the return codes see the section about DIAGNOSE Code + * X'64' in "z/VM CP Programming Services". + */ + +/*? + * Text: "Unloading unknown DCSS %s failed\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * The specified DCSS cannot be unloaded. The DCSS is known to the DCSS device + * driver but not to the DCSS kernel interface. This problem indicates a + * program error in extmem.c. + * User action: + * Report this problem to your support organization. + */ + +/*? + * Text: "Saving unknown DCSS %s failed\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * The specified DCSS cannot be saved. The DCSS is known to the DCSS device + * driver but not to the DCSS kernel interface. This problem indicates a + * program error in extmem.c. + * User action: + * Report this problem to your support organization. + */ + +/*? + * Text: "Saving a DCSS failed with DEFSEG response code %i\n" + * Severity: Error + * Parameter: + * @1: response-code + * Description: + * The DEFSEG z/VM CP command failed to permanently save changes to a DCSS. + * User action: + * Ensure that the z/VM guest virtual machine is authorized to issue + * the CP DEFSEG command (typically privilege class E). + * Look for related messages to find the cause of this error. See also message + * HCPE in the DEFSEG section of the "z/VM CP Command and + * Utility Reference". + */ + +/*? + * Text: "Saving a DCSS failed with SAVESEG response code %i\n" + * Severity: Error + * Parameter: + * @1: response-code + * Description: + * The SAVESEG z/VM CP command failed to permanently save changes to a DCSS. + * User action: + * Ensure that the z/VM guest virtual machine is authorized to issue + * the CP SAVESEG command (typically privilege class E). + * Look for related messages to find the cause of this error. See also message + * HCPE in the SAVESEG section of the "z/VM CP Command and + * Utility Reference". + */ + +/*? + * Text: "DCSS %s cannot be loaded or queried\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * You cannot load or query the specified DCSS because it either is not defined + * in the z/VM hypervisor, or it is a class S DCSS, or it is above 2047 MB + * and the Linux system is a 31-bit system. + * User action: + * Use the CP command "QUERY NSS" to find out if the DCSS is a valid + * DCSS that can be loaded. + */ + +/*? + * Text: "DCSS %s cannot be loaded or queried without z/VM\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * A DCSS is a z/VM resource. Your Linux instance is not running as a z/VM + * guest operating system and, therefore, cannot load DCSSs. + * User action: + * Load DCSSs only on Linux instances that run as z/VM guest operating systems. + */ + +/*? + * Text: "Loading or querying DCSS %s resulted in a hardware error\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * Either the z/VM DIAGNOSE X'64' query or load call issued for the DCSS + * returned with an error. + * User action: + * Look for previous extmem message to find the return code from the + * DIAGNOSE X'64' query or load call. For details about the return codes see + * the section about DIAGNOSE Code X'64' in "z/VM CP Programming Services". + */ + +/*? + * Text: "DCSS %s has multiple page ranges and cannot be loaded or queried\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * You can only load or query a DCSS with multiple page ranges if: + * - The DCSS has 6 or fewer page ranges + * - The page ranges form a contiguous address space + * - The page ranges are of type EW or EN + * User action: + * Check the definition of the DCSS to make sure that the conditions for + * DCSSs with multiple page ranges are met. + */ + +/*? + * Text: "%s needs used memory resources and cannot be loaded or queried\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * You cannot load or query the DCSS because it overlaps with an already + * loaded DCSS or with the memory of the z/VM guest virtual machine + * (guest storage). + * User action: + * Ensure that no DCSS is loaded that has overlapping memory resources + * with the DCSS you want to load or query. If the DCSS overlaps with guest + * storage, use the DEF STORE CONFIG z/VM CP command to create a sufficient + * storage gap for the DCSS. For details, see the section about the DCSS + * device driver in "Device Drivers, Features, and Commands". + */ + +/*? + * Text: "DCSS %s is already loaded in a different access mode\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * The DCSS you are trying to load has already been loaded in a different + * access mode. You cannot simultaneously load the DCSS in different modes. + * User action: + * Reload the DCSS in a different mode or load it with the same mode in which + * it has already been loaded. + */ + +/*? + * Text: "There is not enough memory to load or query DCSS %s\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * The available memory is not enough to load or query the DCSS. + * User action: + * Free some memory and repeat the failed operation. + */ + +/*? + * Text: "DCSS %s overlaps with used storage and cannot be loaded\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * You cannot load the DCSS because it overlaps with an already loaded DCSS + * or with the memory of the z/VM guest virtual machine (guest storage). + * User action: + * Ensure that no DCSS is loaded that has overlapping memory resources + * with the DCSS you want to load. If the DCSS overlaps with guest storage, + * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap + * for the DCSS. For details, see the section about the DCSS device driver in + * "Device Drivers, Features, and Commands". + */ + +/*? + * Text: "DCSS %s exceeds the kernel mapping range (%lu) and cannot be loaded\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * @2: kernel mapping range in bytes + * Description: + * You cannot load the DCSS because it exceeds the kernel mapping range limit. + * User action: + * Ensure that the DCSS range is defined below the kernel mapping range. + */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/hmcdrv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/hmcdrv @@ -0,0 +1,22 @@ +/*? + * Text: "Allocating the requested cache size of %zu bytes failed\n" + * Severity: Error + * Parameter: + * @1: size + * Description: + * You cannot use the 'hmcdrv' module. + * Either the cache size that was specified for the 'hmcdrv' module exceeded + * the maximum of 1048576 (1 megabyte), or not enough free memory was + * available. + * If the 'hmcdrv' module was compiled into the kernel, the cache size was + * specified with the 'hmcdrv.cachesize' kernel parameter. + * For a separate 'hmcdrv' module, the cache size was specified with the + * 'cachesize=' module parameter. + * User action: + * Specify a smaller cache size and try again to load the module. + * Do not exceed the maximum specification of 1048576 (1 megabyte). + * If necessary, free some memory and try again. + * If the module is compiled into the kernel, you must reboot Linux to change + * the cache size specification. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/hugetlb +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/hugetlb @@ -0,0 +1,13 @@ +/*? + * Text: "hugepagesz= specifies an unsupported page size %s\n" + * Severity: Error + * Parameter: + * @1: size + * Description: + * The hugepagesz= kernel parameter specifies a huge page size + * that is not supported. + * User action: + * Specify "1M" for 1 MB huge pages. These are supported as of z10. + * Specify "2G" for 2 GB huge pages. These are supported as of zEC12 + * and zBC12 machines. + */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/hvc_iucv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/hvc_iucv @@ -0,0 +1,123 @@ +/*? + * Text: "The z/VM IUCV HVC device driver cannot be used without z/VM\n" + * Severity: Notice + * Description: + * The z/VM IUCV hypervisor console (HVC) device driver requires the + * z/VM inter-user communication vehicle (IUCV). + * User action: + * Set "hvc_iucv=" to zero in the kernel parameter line and reboot Linux. + */ + +/*? + * Text: "%lu is not a valid value for the hvc_iucv= kernel parameter\n" + * Severity: Error + * Parameter: + * @1: hvc_iucv_devices + * Description: + * The "hvc_iucv=" kernel parameter specifies the number of z/VM IUCV + * hypervisor console (HVC) terminal devices. + * The parameter value ranges from 0 to 8. + * If zero is specified, the z/VM IUCV HVC device driver is disabled + * and no IUCV-based terminal access is available. + * User action: + * Correct the "hvc_iucv=" setting in the kernel parameter line and + * reboot Linux. + */ + +/*? + * Text: "Creating a new HVC terminal device failed with error code=%d\n" + * Severity: Error + * Parameter: + * @1: errno + * Description: + * The device driver initialization failed to allocate a new + * HVC terminal device. + * A possible cause of this problem is memory constraints. + * User action: + * If the error code is -12 (ENOMEM), consider assigning more memory + * to your z/VM guest virtual machine. + */ + +/*? + * Text: "Registering HVC terminal device as Linux console failed\n" + * Severity: Error + * Description: + * The device driver initialization failed to set up the first HVC terminal + * device for use as Linux console. + * User action: + * If the error code is -12 (ENOMEM), consider assigning more memory + * to your z/VM guest virtual machine. + */ + +/*? + * Text: "Registering IUCV handlers failed with error code=%d\n" + * Severity: Error + * Parameter: + * @1: errno + * Description: + * The device driver initialization failed to register with z/VM IUCV to + * handle IUCV connections, as well as sending and receiving of IUCV messages. + * User action: + * Check for related IUCV error messages and see the errno manual page + * to find out what caused the problem. + */ + +/*? + * Text: "Allocating memory failed with reason code=%d\n" + * Severity: Error + * Parameter: + * @1: reason + * Description: + * The z/VM IUCV hypervisor console (HVC) device driver initialization failed, + * because of a general memory allocation failure. The reason code indicates + * the memory operation that has failed: + * kmem_cache (reason code=1), + * mempool (reason code=2), or + * hvc_iucv_allow= (reason code=3) + * User action: + * Consider assigning more memory to your z/VM guest virtual machine. + */ + +/*? + * Text: "hvc_iucv_allow= does not specify a valid z/VM user ID list\n" + * Severity: Error + * Description: + * The "hvc_iucv_allow=" kernel parameter specifies a comma-separated list + * of z/VM user IDs that are permitted to connect to the z/VM IUCV hypervisor + * device driver. + * The z/VM user IDs in the list must not exceed eight characters and must + * not contain spaces. + * User action: + * Correct the "hvc_iucv_allow=" setting in the kernel parameter line and reboot + * Linux. + */ + +/*? + * Text: "hvc_iucv_allow= specifies too many z/VM user IDs\n" + * Severity: Error + * Description: + * The "hvc_iucv_allow=" kernel parameter specifies a comma-separated list + * of z/VM user IDs that are permitted to connect to the z/VM IUCV hypervisor + * device driver. + * The number of z/VM user IDs that are specified with the "hvc_iucv_allow=" + * kernel parameter exceeds the maximum of 500. + * User action: + * Correct the "hvc_iucv_allow=" setting by reducing the z/VM user IDs in + * the list and reboot Linux. + */ + +/*? + * Text: "A connection request from z/VM user ID %s was refused\n" + * Severity: Informational + * Parameter: + * @1: ID + * Description: + * An IUCV connection request from another z/VM guest virtual machine has been + * refused. The request was from a z/VM guest virtual machine that is not + * listed by the "hvc_iucv_allow=" kernel parameter. + * User action: + * Check the "hvc_iucv_allow=" kernel parameter setting. + * Consider adding the z/VM user ID to the "hvc_iucv_allow=" list in the kernel + * parameter line and reboot Linux. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/hypfs +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/hypfs @@ -0,0 +1,56 @@ +/*? + * Text: "The hardware system does not support hypfs\n" + * Severity: Error + * Description: + * hypfs requires DIAGNOSE Code X'204' but this diagnose code is not available + * on your hardware. You need more recent hardware to use hypfs. + * User action: + * None. + */ + +/*? + * Text: "The hardware system does not provide all functions required by hypfs\n" + * Severity: Error + * Description: + * hypfs requires DIAGNOSE Code X'224' but this diagnode code is not available + * on your hardware. You need more recent hardware to use hypfs. + * User action: + * None. + */ + +/*? + * Text: "Updating the hypfs tree failed\n" + * Severity: Error + * Description: + * There was not enough memory available to update the hypfs tree. + * User action: + * Free some memory and try again to update the hypfs tree. Consider assigning + * more memory to your LPAR or z/VM guest virtual machine. + */ + +/*? + * Text: "%s is not a valid mount option\n" + * Severity: Error + * Parameter: + * @1: mount option + * Description: + * hypfs has detected mount options that are not valid. + * User action: + * See "Device Drivers Features and Commands" for information about valid + * mount options for hypfs. + */ + +/*? + * Text: "Initialization of hypfs failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: error code + * Description: + * Initialization of hypfs failed because of resource or hardware constraints. + * Possible reasons for this problem are insufficient free memory or missing + * hardware interfaces. + * User action: + * See errno.h for information about the error codes. + */ + +/*? Text: "Hypervisor filesystem mounted\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/iucv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/iucv @@ -0,0 +1,33 @@ +/*? + * Text: "Defining an interrupt buffer on CPU %i failed with 0x%02x (%s)\n" + * Severity: Warning + * Parameter: + * @1: CPU number + * @2: hexadecimal error value + * @3: short error code explanation + * Description: + * Defining an interrupt buffer for external interrupts failed. Error + * value 0x03 indicates a problem with the z/VM directory entry of the + * z/VM guest virtual machine. This problem can also be caused by a + * program error. + * User action: + * If the error value is 0x03, examine the z/VM directory entry of your + * z/VM guest virtual machine. If the directory entry is correct or if the + * error value is not 0x03, report this problem to your support organization. + */ + +/*? + * Text: "Suspending Linux did not completely close all IUCV connections\n" + * Severity: Warning + * Description: + * When resuming a suspended Linux instance, the IUCV base code found + * data structures from one or more IUCV connections that existed before the + * Linux instance was suspended. Modules that use IUCV connections must close + * these connections when a Linux instance is suspended. This problem + * indicates an error in a program that used an IUCV connection. + * User action: + * Report this problem to your support organization. + */ + +/*? Text: "iucv_external_interrupt: out of memory\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/lcs +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/lcs @@ -0,0 +1,169 @@ +/*? + * Text: "%s: Allocating a socket buffer to interface %s failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the LCS device + * @2: network interface + * Description: + * LAN channel station (LCS) devices require a socket buffer (SKB) structure + * for storing incoming data. The LCS device driver failed to allocate an SKB + * structure to the LCS device. A likely cause of this problem is memory + * constraints. + * User action: + * Free some memory and repeat the failed operation. + */ + +/*? + * Text: "%s: Shutting down the LCS device failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the LCS device + * Description: + * A request to shut down a LAN channel station (LCS) device resulted in an + * error. The error is logged in the LCS trace at trace level 4. + * User action: + * Try again to shut down the device. If the error persists, see the LCS trace + * to find out what causes the error. + */ + +/*? + * Text: "%s: Detecting a network adapter for LCS devices failed with rc=%d (0x%x)\n" + * Severity: Error + * Parameter: + * @1: bus ID of the LCS device + * @2: lcs_detect return code in decimal notation + * @3: lcs_detect return code in hexadecimal notation + * Description: + * The LCS device driver could not initialize a network adapter. + * User action: + * Ensure that the physical connection from the port to the network is + * in place. If the error persists, note the return code from the error + * message and contact IBM support. + */ + +/*? + * Text: "%s: A recovery process has been started for the LCS device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the LCS device + * Description: + * The LAN channel station (LCS) device is shut down and restarted. The recovery + * process might have been initiated by a user or started automatically as a + * response to a device problem. + * User action: + * Wait until a message indicates the completion of the recovery process. + */ + +/*? + * Text: "%s: An I/O-error occurred on the LCS device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the LCS device + * Description: + * The LAN channel station (LCS) device reported a problem that can be recovered + * by the LCS device driver. Repeated occurrences of this problem indicate a + * malfunctioning device. + * User action: + * If this problem occurs frequently, initiate a recovery process for the + * device, for example, by writing '1' to the 'recover' sysfs attribute of the + * device. + */ + +/*? + * Text: "%s: A command timed out on the LCS device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the LCS device + * Description: + * The LAN channel station (LCS) device reported a problem that can be recovered + * by the LCS device driver. Repeated occurrences of this problem indicate a + * malfunctioning device. + * User action: + * If this problem occurs frequently, initiate a recovery process for the + * device, for example, by writing '1' to the 'recover' sysfs attribute of the + * device. + */ + +/*? + * Text: "%s: An error occurred on the LCS device, rc=%ld\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the LCS device + * @2: return code + * Description: + * The LAN channel station (LCS) device reported a problem that can be recovered + * by the LCS device driver. Repeated occurrences of this problem indicate a + * malfunctioning device. + * User action: + * If this problem occurs frequently, initiate a recovery process for the + * device, for example, by writing '1' to the 'recover' sysfs attribute of the + * device. + */ + +/*? + * Text: "%s: The LCS device stopped because of an error, dstat=0x%X, cstat=0x%X \n" + * Severity: Warning + * Parameter: + * @1: bus ID of the LCS device + * @2: device status + * @3: subchannel status + * Description: + * The LAN channel station (LCS) device reported an error. The LCS device driver + * might start a device recovery process. + * User action: + * If the device driver does not start a recovery process, initiate a recovery + * process, for example, by writing '1' to the 'recover' sysfs attribute of the + * device. If the problem persists, note the status information provided with + * the message and contact IBM support. + */ + +/*? + * Text: "%s: Starting an LCS device resulted in an error, rc=%d!\n" + * Severity: Error + * Parameter: + * @1: bus ID of the LCS device + * @2: ccw_device_start return code in decimal notation + * Description: + * The LAN channel station (LCS) device driver failed to initialize an LCS + * device. The device is not operational. + * User action: + * Initiate a recovery process, for example, by writing '1' to the 'recover' + * sysfs attribute of the device. If the problem persists, contact IBM support. + */ + +/*? + * Text: "%s: Sending data from the LCS device to the LAN failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: bus ID of the LCS device + * @2: ccw_device_resume return code in decimal notation + * Description: + * The LAN channel station (LCS) device driver could not send data to the LAN + * using the LCS device. This might be a temporary problem. Operations continue + * on the LCS device. + * User action: + * If this problem occurs frequently, initiate a recovery process, for example, + * by writing '1' to the 'recover' sysfs attribute of the device. If the + * problem persists, contact IBM support. + */ + +/*? Text: "Query IPAssist failed. Assuming unsupported!\n" */ +/*? Text: "Stoplan for %s initiated by LGW\n" */ +/*? Text: "Not enough memory to add new multicast entry!\n" */ +/*? Text: "Not enough memory for debug facility.\n" */ +/*? Text: "Adding multicast address failed. Table possibly full!\n" */ +/*? Text: "Error in opening device!\n" */ +/*? Text: "LCS device %s %s IPv6 support\n" */ +/*? Text: "Device %s successfully recovered!\n" */ +/*? Text: "LCS device %s %s Multicast support\n" */ +/*? Text: " Initialization failed\n" */ +/*? Text: "Loading %s\n" */ +/*? Text: "Initialization failed\n" */ +/*? Text: "Terminating lcs module.\n" */ +/*? Text: "Device %s could not be recovered!\n" */ +/*? Text: "Initializing the lcs device driver failed\n" */ +/*? Text: "%s: The lcs device driver failed to recover the device\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/monreader +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/monreader @@ -0,0 +1,128 @@ +/*? + * Text: "Reading monitor data failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * The z/VM *MONITOR record device driver failed to read monitor data + * because the IUCV REPLY function failed. The read function against + * the monitor record device returns EIO. All monitor data that has been read + * since the last read with 0 size is incorrect. + * User action: + * Disregard all monitor data that has been read since the last read with + * 0 size. If the device driver has been compiled as a separate module, unload + * and reload the monreader module. If the device driver has been compiled + * into the kernel, reboot Linux. For more information about possible causes + * of the error see the IUCV section in "z/VM CP Programming Services" and + * the *MONITOR section in "z/VM Performance". + */ + +/*? + * Text: "z/VM *MONITOR system service disconnected with rc=%i\n" + * Severity: Error + * Parameter: + * @1: IPUSER SEVER return code + * Description: + * The z/VM *MONITOR record device driver receives monitor records through + * an IUCV connection to the z/VM *MONITOR system service. This connection + * has been severed and the read function of the z/VM *MONITOR device driver + * returns EIO. All data received since the last read with 0 size is incorrect. + * User action: + * Disregard all monitor data read since the last read with 0 size. Close and + * reopen the monitor record device. For information about the IPUSER SEVER + * return codes see "z/VM Performance". + */ + +/*? + * Text: "The read queue for monitor data is full\n" + * Severity: Warning + * Description: + * The read function of the z/VM *MONITOR device driver returns EOVERFLOW + * because not enough monitor data has been read since the monitor device + * has been opened. Monitor data already read are valid and subsequent reads + * return valid data but some intermediate data might be missing. + * User action: + * Be aware that monitor data might be missing. Assure that you regularly + * read monitor data after opening the monitor record device. + */ + +/*? + * Text: "Connecting to the z/VM *MONITOR system service failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: IUCV CONNECT return code + * Description: + * The z/VM *MONITOR record device driver receives monitor records through + * an IUCV connection to the z/VM *MONITOR system service. This connection + * could not be established when the monitor record device was opened. If + * the return code is 15, your z/VM guest virtual machine is not authorized + * to connect to the *MONITOR system service. + * User action: + * If the return code is 15, ensure that the IUCV *MONITOR statement is + * included in the z/VM directory entry for your z/VM guest virtual machine. + * For other IUCV CONNECT return codes see the IUCV section in "CP Programming + * Services" and the *MONITOR section in "z/VM Performance". + */ + +/*? + * Text: "Disconnecting the z/VM *MONITOR system service failed with rc=%i\n" + * Severity: Warning + * Parameter: + * @1: IUCV SEVER return code + * Description: + * The z/VM *MONITOR record device driver receives monitor data through an + * IUCV connection to the z/VM *MONITOR system service. This connection + * could not be closed when the monitor record device was closed. You might + * not be able to resume monitoring. + * User action: + * No immediate action is necessary. If you cannot open the monitor record + * device in the future, reboot Linux. For information about the IUCV SEVER + * return codes see the IUCV section in "CP Programming Services" and the + * *MONITOR section in "z/VM Performance". + */ + +/*? + * Text: "The z/VM *MONITOR record device driver cannot be loaded without z/VM\n" + * Severity: Error + * Description: + * The z/VM *MONITOR record device driver uses z/VM system services to provide + * monitor data about z/VM guest operating systems to applications on Linux. + * On Linux instances that run in environments other than the z/VM hypervisor, + * the z/VM *MONITOR record device driver does not provide any useful + * function and the corresponding monreader module cannot be loaded. + * User action: + * Load the z/VM *MONITOR record device driver only on Linux instances that run + * as guest operating systems of the z/VM hypervisor. If the z/VM *MONITOR + * record device driver has been compiled into the kernel, ignore this message. + */ + +/*? + * Text: "The z/VM *MONITOR record device driver failed to register with IUCV\n" + * Severity: Error + * Description: + * The z/VM *MONITOR record device driver receives monitor data through an IUCV + * connection and needs to register with the IUCV device driver. This + * registration failed and the z/VM *MONITOR record device driver was not + * loaded. A possible cause of this problem is insufficient memory. + * User action: + * Free some memory and try again to load the module. If the z/VM *MONITOR + * record device driver has been compiled into the kernel, you might have to + * configure more memory and reboot Linux. If you do not want to read monitor + * data, ignore this message. + */ + +/*? + * Text: "The specified *MONITOR DCSS %s does not have the required type SC\n" + * Severity: Error + * Parameter: + * @1: DCSS name + * Description: + * The DCSS that was specified with the monreader.mondcss kernel parameter or + * with the mondcss module parameter cannot be a *MONITOR DCSS because it is + * not of type SC. + * User action: + * Confirm that you are using the name of the DCSS that has been configured as + * the *MONITOR DCSS on the z/VM hypervisor. If the default name, MONDCSS, is + * used, omit the monreader.mondcss or mondcss parameter. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/monwriter +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/monwriter @@ -0,0 +1,17 @@ +/*? + * Text: "Writing monitor data failed with rc=%i\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * The monitor stream application device driver used the z/VM diagnose call + * DIAG X'DC' to start writing monitor data. z/VM returned an error and the + * monitor data cannot be written. If the return code is 5, your z/VM guest + * virtual machine is not authorized to write monitor data. + * User action: + * If the return code is 5, ensure that your z/VM guest virtual machine's + * entry in the z/VM directory includes the OPTION APPLMON statement. + * For other return codes see the section about DIAGNOSE Code X'DC' + * in "z/VM CP Programming Services". + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/netiucv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/netiucv @@ -0,0 +1,156 @@ +/*? + * Text: "%s: The peer interface of the IUCV device has closed the connection\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the IUCV device + * Description: + * The peer interface on the remote z/VM guest virtual machine has closed the + * connection. Do not expect further packets on this interface. Any packets + * you send to this interface will be dropped. + * User action: + * None. + */ + +/*? + * Text: "%s: The IUCV device failed to connect to z/VM guest %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the IUCV device + * @2: z/VM user ID + * Description: + * The connection cannot be established because the z/VM guest virtual + * machine with the peer interface is not running. + * User action: + * Ensure that the z/VM guest virtual machine with the peer interface is + * running; then try again to establish the connection. + */ + +/*? + * Text: "%s: The IUCV device failed to connect to the peer on z/VM guest %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the IUCV device + * @2: z/VM user ID + * Description: + * The connection cannot be established because the z/VM guest virtual machine + * with the peer interface is not configured for IUCV connections. + * User action: + * Configure the z/VM guest virtual machine with the peer interface for IUCV + * connections; then try again to establish the connection. + */ + +/*? + * Text: "%s: Connecting the IUCV device would exceed the maximum number of IUCV connections\n" + * Severity: Error + * Parameter: + * @1: bus ID of the IUCV device + * Description: + * The connection cannot be established because the maximum number of IUCV + * connections has been reached on the local z/VM guest virtual machine. + * User action: + * Close some of the established IUCV connections on the local z/VM guest + * virtual machine; then try again to establish the connection. + */ + +/*? + * Text: "%s: z/VM guest %s has too many IUCV connections to connect with the IUCV device\n" + * Severity: Error + * Parameter: + * @1: bus ID of the IUCV device + * @2: remote z/VM user ID + * Description: + * Connecting to the remote z/VM guest virtual machine failed because the + * maximum number of IUCV connections for the remote z/VM guest virtual + * machine has been reached. + * User action: + * Close some of the established IUCV connections on the remote z/VM guest + * virtual machine; then try again to establish the connection. + */ + +/*? + * Text: "%s: The IUCV device cannot connect to a z/VM guest with no IUCV authorization\n" + * Severity: Error + * Parameter: + * @1: bus ID of the IUCV device + * Description: + * Because the remote z/VM guest virtual machine is not authorized for IUCV + * connections, the connection cannot be established. + * User action: + * Add the statements 'IUCV ALLOW' and 'IUCV ANY' to the z/VM directory + * entry of the remote z/VM guest virtual machine; then try again to + * establish the connection. See "z/VM CP Planning and Administration" + * for details about the IUCV statements. + */ + +/*? + * Text: "%s: Connecting the IUCV device failed with error %d\n" + * Severity: Error + * Parameter: + * @1: bus ID of the IUCV device + * @2: error code + * Description: + * The connection cannot be established because of an IUCV CONNECT error. + * User action: + * Report this problem to your support organization. + */ + +/*? + * Text: "%s: The IUCV device has been connected successfully to %s\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the IUCV device + * @2: remote z/VM user ID + * Description: + * The connection has been established and the interface is ready to + * transmit communication packages. + * User action: + * None. + */ + +/*? + * Text: "%s: The IUCV interface to %s has been established successfully\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the IUCV device + * @2: remote z/VM user ID + * Description: + * The IUCV interface to the remote z/VM guest virtual machine has been + * established and can be activated with "ifconfig up" or an equivalent + * command. + * User action: + * None. + */ + +/*? + * Text: "%s: The IUCV device is connected to %s and cannot be removed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the IUCV device + * @2: remote z/VM user ID + * Description: + * Removing a connection failed because the interface is active with a peer + * interface on a remote z/VM guest virtual machine. + * User action: + * Deactivate the interface with "ifconfig down" or an equivalent command; + * then try again to remove the interface. + */ + +/*? + * Text: "%s: The peer z/VM guest %s has closed the connection\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the IUCV device + * @2: remote z/VM user ID + * Description: + * The peer interface is no longer available. + * User action: + * Either deactivate and remove the interface, or wait for the peer + * z/VM guest to re-establish the interface. + */ + +/*? Text: "driver unloaded\n" */ +/*? Text: "driver initialized\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/numa +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/numa @@ -0,0 +1,11 @@ +/*? + * Text: "NUMA mode: %s\n" + * Severity: Informational + * Parameter: + * @1: mode + * Description: + * Linux started with the specified NUMA mode. + * User action: + * None. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/numa_emu +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/numa_emu @@ -0,0 +1,50 @@ +/*? + * Text: "Not enough memory for %d nodes, reducing node count\n" + * Severity: Warning + * Parameter: + * @1: requested number of nodes + * Description: + * Using the requested memory stripe size for emulating the requested number of + * NUMA nodes requires more than the available memory. The number of nodes is + * specified with the emu_nodes= kernel parameter. The memory stripe size to + * be used for distributing the available memory among the nodes is specified + * with the emu_size= kernel parameter. Fewer nodes were created than the + * requested number; each node has one memory stripe of the requested size. + * User action: + * Specify fewer nodes, reduce the memory stripe size, or make more memory + * available to your Linux instance. + */ + +/*? + * Text: "Creating %d nodes with memory stripe size %ld MB\n" + * Severity: Informational + * Parameter: + * @1: number of nodes + * @2: stripe size + * Description: + * NUMA emulation is activated with the reported number of NUMA nodes. + * The specified memory stripe size is used to distribute, in round-robin + * fashion, the available memory among the nodes. + * User action: + * None. + */ + +/*? + * Text: "Increasing memory stripe size from %ld MB to %ld MB\n" + * Severity: Warning + * Parameter: + * @1: requested memory stripe size + * @2: adjusted memory stripe size + * Description: + * NUMA emulation could not use the requested memory stripe size and + * therefore has increased it to the next possible value. + * The requested memory stripe size is a default value or it was specified + * with the emu_size= kernel parameter. + * The memory stripe size must be a multiple of the memory block size that + * can be read in hexadecimal notation from + * /sys/devices/system/memory/block_size_bytes. + * User action: + * To avoid this message in the future, specify a valid memory stripe size + * with the emu_size= kernel parameter. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/os_info +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/os_info @@ -0,0 +1,36 @@ +/*? + * Text: "entry %i: %s (addr=0x%lx size=%lu)\n" + * Severity: Informational + * Parameter: + * @1: entry ID + * @2: entry state + * @3: entry address + * @4: entry size + * Description: + * Linux is running in kdump mode and reports information defined by the + * previously running production kernel. Possible values for + * "entry state" are: + * + * - copied: The entry has been found, verified, and copied + * + * - not available: The entry has not been defined + * + * - checksum failed: The entry has been found, but it is not valid + * User action: + * If kdump fails, contact your service organization and include this message + * in the error report. + */ + +/*? + * Text: "crashkernel: addr=0x%lx size=%lu\n" + * Severity: Informational + * Parameter: + * @1: address + * @2: size + * Description: + * Linux is running in kdump mode and reports the address and size of + * the memory area that was reserved for kdump by the previously running + * production kernel. + * User action: + * None. + */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/perf +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/perf @@ -0,0 +1,90 @@ +/*? + * Text: "CPU[%i] CPUM_CF: ver=%u.%u A=%04x E=%04x C=%04x\n" + * Severity: Informational + * Parameter: + * @1: cpu number + * @2: first version number + * @3: second version number + * @4: counter set authorization + * @5: counter set enable controls + * @6: counter set activation controls + * Description: + * This message displays information about the CPU-measurement counter facility + * (CPUM_CF) on a particular CPU. For details, see + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * None. + */ + +/*? + * Text: "CPU[%i] CPUM_SF: basic=%i diag=%i min=%lu max=%lu cpu_speed=%u\n" + * Severity: Informational + * Parameter: + * @1: cpu number + * @2: authorization status for the basic-sampling function + * @3: authorization status for the diagnostic-sampling function + * @4: minimum sampling interval + * @5: maximum sampling interval + * @6: cpu speed + * Description: + * This message displays generic information about the CPU-measurement sampling + * facility (CPUM_SF) on a particular CPU. For details, see + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * None. + */ + +/*? + * Text: "CPU[%i] CPUM_SF: Basic-sampling: a=%i e=%i c=%i bsdes=%i tear=%016lx dear=%016lx\n" + * Severity: Informational + * Parameter: + * @1: cpu number + * @2: authorization control + * @3: enable control + * @4: activation control + * @5: basic-sampling-data-entry size + * @6: tear register contents + * @7: dear register contents + * Description: + * This message displays information about the basic-sampling function of the + * CPU-measurement sampling facility (CPUM_SF) on a particular CPU. + * For details, see + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * None. + */ + +/*? + * Text: "CPU[%i] CPUM_SF: Diagnostic-sampling: a=%i e=%i c=%i dsdes=%i tear=%016lx dear=%016lx\n" + * Severity: Informational + * Parameter: + * @1: cpu number + * @2: authorization control + * @3: enable control + * @4: activation control + * @5: diagnostic-sampling-data-entry size + * @6: tear register contents + * @7: dear register contents + * Description: + * This message displays information about the diagnostic-sampling function of the + * CPU-measurement sampling facility (CPUM_SF) on a particular CPU. + * For details, see + * "The Load-Program-Parameter and the CPU-Measurement Facilities", SA23-2260. + * User action: + * None. + */ + +/*? + * Text: "The sampling facility is already reserved by %p\n" + * Severity: Warning + * Parameter: + * @1: address of perf sampling support owner + * Description: + * A process tried to reserve the sampling facility support, but it was already + * reserved by another process. + * User action: + * Check whether another process, for example, the perf program or OProfile is + * currently active. Retry activating the sampling facility after the other + * process has ended. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/prng +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/prng @@ -0,0 +1,103 @@ +/* prng */ + +/*? + * Text: "prng runs in TDES mode with chunksize=%d and reseed_limit=%u\n" + * Severity: Informational + * Parameter: + * @1: read chunk size in bytes + * @2: reseed limit + * Description: + * The pseudo-random number device driver started in triple DES mode. + * For IBM mainframes earlier than IBM zEnterprise EC12 (zEC12), + * triple DES is the only available mode. + * As of zEC12, the preferred mode is SHA-512. + * User action: + * If triple DES is the expected mode, no action is required. + * Otherwise, verify that the prng started with the mode= module or + * prng.mode= kernel parameter set to a value other than 1. + * The value 1 forces triple DES mode. Also ensure that the mainframe + * runs with the latest firmware level. + */ + +/*? + * Text: "The prng module stopped after running in triple DES mode\n" + * Severity: Informational + * Description: + * The pseudo-random number device driver was running in triple DES mode. + * The device driver module, prng, was unloaded, or it stopped + * because Linux shut down. + * User action: + * None. + */ + +/*? + * Text: "The prng module cannot start in SHA-512 mode\n" + * Severity: Error + * Description: + * The pseudo-random number device driver was loaded with the mode= module parameter + * or the prng.mode= kernel parameter set to 2. This setting forces SHA-512 mode, + * but the required support for MSA 5 is not available. This support requires an IBM + * zEnterprise EC12 (zEC12) or later mainframe. + * User action: + * If your mainframe is earlier than zEC12, set the mode= module or + * prng.mode= kernel parameter to 0 or 1 to run the + * pseudo-random number device driver in triple DES mode. + * Otherwise, ensure that MSA 5 support available. + */ + +/*? + * Text: "prng runs in SHA-512 mode with chunksize=%d and reseed_limit=%u\n" + * Severity: Informational + * Parameter: + * @1: read chunk size in bytes + * @2: reseed limit + * Description: + * The pseudo-random number device driver started in SHA-512 mode. + * As of IBM zEnterprise EC12, this is the preferred mode. + * User action: + * None. + */ + +/*? + * Text: "The prng module stopped after running in SHA-512 mode\n" + * Severity: Informational + * Description: + * The pseudo-random number device driver was running in SHA-512 mode. + * The device driver module, prng, was unloaded, or stopped + * because Linux shut down. + * User action: + * None. + */ + +/*? + * Text: "The prng self test state test for the SHA-512 mode failed\n" + * Severity: Error + * Description: + * The pseudo-random number device driver is not operational because the self test failed. + * After processing a published National Institute of Standards and Technology (NIST) test vector for the + * Deterministic Random Bit Generator (DRBG) algorithm, the device driver + * was not in the expected working state. This failure might indicate + * that the cryptographic software or hardware is not working correctly. + * The processed NIST test vector was: Hash Drbg, Sha-512, Count #0. + * User action: + * Unload and reload the prng module, or + * if prng was compiled into the kernel, restart Linux. + * If the error persists, contact your support organization. + */ + +/*? + * Text: "The prng self test data test for the SHA-512 mode failed\n" + * Severity: Error + * Description: + * The pseudo-random number device driver is not operational because the self test failed. + * After processing a published National Institute of Standards and Technology (NIST) test vector for the + * Deterministic Random Bit Generator (DRBG) algorithm, the device driver + * did not produce the expected pseudo-random data. This failure might indicate + * that the cryptographic software or hardware is not working correctly. + * The processed NIST test vector was: Hash Drbg, Sha-512, Count #0. + * User action: + * Unload and reload the prng module, or + * if prng was compiled into the kernel, restart Linux. + * If the error persists, contact your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/qeth +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/qeth @@ -0,0 +1,929 @@ +/*? + * Text: "%s: The LAN is offline\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A start LAN command was sent by the qeth device driver but the physical or + * virtual adapter has not started the LAN. The LAN might take a few seconds + * to become available. + * User action: + * Check the status of the qeth device, for example, with the lsqeth command. + * If the device does not become operational within a few seconds, initiate a + * recovery process, for example, by writing '1' to the 'recover' sysfs + * attribute of the device. + */ + +/*? + * Text: "%s: A recovery process has been started for the device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A recovery process was started either by the qeth device driver or through + * a user command. + * User action: + * Wait until a message indicates the completion of the recovery process. + */ + +/*? + * Text: "%s: The qeth device driver failed to recover an error on the device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth device driver performed an automatic recovery operation to recover + * an error on a qeth device. The recovery operation failed. + * User action: + * Try the following actions in the given order: i) Check the status of the + * qeth device, for example, with the lsqeth command. ii) Initiate a recovery + * process by writing '1' to the 'recover' sysfs attribute of the device. + * iii) Ungroup and regroup the subchannel triplet of the device. vi) Reboot + * Linux. v) If the problem persists, gather Linux debug data and report the + * problem to your support organization. + */ + +/*? + * Text: "%s: Device recovery failed to restore all offload features\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth device driver performed a recovery operation on a qeth device. Part + * of the recovery is to restore the offload features that were enabled before + * the recovery. At least one of those offload features could not be restored. + * User action: + * Check which offload features are enabled on the device, for example with + * the "ethtool -k" command. Try to explicitly re-enable the missing offload + * features for the device, for example with the "ethtool -K" command. + */ + +/*? + * Text: "%s: The link for interface %s on CHPID 0x%X failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * @3: CHPID + * Description: + * A network link failed. A possible reason for this error is that a physical + * network cable has been disconnected. + * User action: + * Ensure that the network cable on the adapter hardware is connected properly. + * If the connection is to a guest LAN, ensure that the device is still coupled + * to the guest LAN. + */ + +/*? + * Text: "%s: The link for %s on CHPID 0x%X has been restored\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * @3: CHPID + * Description: + * A failed network link has been re-established. A device recovery is in + * progress. + * User action: + * Wait until a message indicates the completion of the recovery process. + */ + +/*? + * Text: "%s: A hardware operation timed out on the device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A hardware operation timed out on the qeth device. + * User action: + * Check the status of the qeth device, for example, with the lsqeth command. + * If the device is not operational, initiate a recovery process, for example, + * by writing '1' to the 'recover' sysfs attribute of the device. + */ + +/*? + * Text: "%s: The adapter hardware is of an unknown type\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth device driver does not recognize the adapter hardware. The cause + * of this problem could be a hardware error or a Linux level that does not + * support your adapter hardware. + * User action: + * i) Investigate if your adapter hardware is supported by your Linux level. + * Consider using hardware that is supported by your Linux level or upgrading + * to a Linux level that supports your hardware. ii) Install the latest + * firmware on your adapter hardware. iii) If the problem persists and is not + * caused by a version mismatch, contact IBM support. + */ + +/*? + * Text: "%s: The adapter is used exclusively by another host\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth adapter is exclusively used by another host. + * User action: + * Use another qeth adapter or configure this one not exclusively to a + * particular host. + */ + +/*? + * Text: "%s: QDIO reported an error, rc=%i\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: return code + * Description: + * The QDIO subsystem reported an error. + * User action: + * Check for related QDIO errors. Check the status of the qeth device, for + * example, with the lsqeth command. If the device is not operational, initiate + * a recovery process, for example, by writing '1' to the 'recover' sysfs + * attribute of the device. + */ + +/*? + * Text: "%s: There is no kernel module to support discipline %d\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * @2: discipline + * Description: + * The qeth device driver or a user command requested a kernel module for a + * particular qeth discipline. Either the discipline is not supported by the + * qeth device driver or the requested module is not available to your Linux + * system. + * User action: + * Check if the requested discipline module has been compiled into the kernel + * or is present in /lib/modules//kernel/drivers/s390/net. + */ + +/*? + * Text: "Initializing the qeth device driver failed\n" + * Severity: Error + * Parameter: + * Description: + * The base module of the qeth device driver could not be initialized. + * User action: + * See errno.h to determine the reason for the error. + * i) Reboot Linux. ii) If the problem persists, gather Linux debug data and + * report the problem to your support organization. + */ + +/*? + * Text: "%s: Registering IP address %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: IP address + * Description: + * An IP address could not be registered with the network adapter. + * User action: + * Check if another operating system instance has already registered the + * IP address with the same network adapter or at the same logical IP subnet. + */ + +/*? + * Text: "%s: Reading the adapter MAC address failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth device driver could not read the MAC address from the network + * adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Starting ARP processing support for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not start ARP support on the network adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Starting IP fragmentation support for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not start IP fragmentation support on the + * network adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Starting VLAN support for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not start VLAN support on the network adapter. + * User action: + * None if you do not require VLAN support. If you need VLAN support, + * ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Starting multicast support for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not start multicast support on the network + * adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Activating IPv6 support for %s failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not activate IPv6 support on the network + * adapter. + * User action: + * None if you do not require IPv6 communication. If you need IPv6 support, + * ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Enabling the passthrough mode for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not enable the passthrough mode on the + * network adapter. The passthrough mode is required for all network traffic + * other than IPv4. In particular, the passthrough mode is required for IPv6 + * traffic. + * User action: + * None if all you want to support is IPv4 communication. If you want to support + * IPv6 or other network traffic apart from IPv4, ungroup and regroup the + * subchannel triplet of the device. If this does not resolve the problem, + * reboot Linux. If the problem persists, gather Linux debug data and report + * the problem to your support organization. + */ + +/*? + * Text: "%s: Enabling broadcast filtering for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not enable broadcast filtering on the network + * adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Setting up broadcast filtering for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not set up broadcast filtering on the network + * adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Setting up broadcast echo filtering for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not set up broadcast echo filtering on the + * network adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: Starting HW checksumming for %s failed, using SW checksumming\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The network adapter supports hardware checksumming for IP packages + * but the qeth device driver could not start hardware checksumming on the + * adapter. The qeth device driver continues to use software checksumming for + * IP packages. + * User action: + * None if you do not require hardware checksumming for network + * traffic. If you want to enable hardware checksumming, ungroup and regroup + * the subchannel triplet of the device. If this does not resolve the problem, + * reboot Linux. If the problem persists, gather Linux debug data and report + * the problem to your support organization. + */ + +/*? + * Text: "%s: Enabling HW checksumming for %s failed, using SW checksumming\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The network adapter supports hardware checksumming for IP packages + * but the qeth device driver could not enable hardware checksumming on the + * adapter. The qeth device driver continues to use software checksumming for + * IP packages. + * User action: + * None if you do not require hardware checksumming for network + * traffic. If you want to enable hardware checksumming, ungroup and regroup + * the subchannel triplet of the device. If this does not resolve the problem, + * reboot Linux. If the problem persists, gather Linux debug data and report + * the problem to your support organization. + */ + +/*? + * Text: "%s: Starting outbound TCP segmentation offload for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The network adapter supports TCP segmentation offload, but the qeth device + * driver could not start this support on the adapter. + * User action: + * None if you do not require TCP segmentation offload. If you want to + * enable TCP segmentation offload, ungroup and regroup the subchannel triplet + * of the device. If this does not resolve the problem, reboot Linux. If the + * problem persists, gather Linux debug data and report the problem to your + * support organization. + */ + +/*? + * Text: "%s: The network adapter failed to generate a unique ID\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * In IBM mainframe environments, network interfaces are not identified by + * a specific MAC address. Therefore, the network adapters provide the network + * interfaces with unique IDs to be used in their IPv6 link local addresses. + * Without such a unique ID, duplicate addresses might be assigned in other + * LPARs. + * User action: + * Install the latest firmware on the adapter hardware. Manually, configure + * an IPv6 link local address for this device. + */ + +/*? + * Text: "There is no IPv6 support for the layer 3 discipline\n" + * Severity: Warning + * Description: + * If you want to use IPv6 with the layer 3 discipline, you need a Linux kernel + * with IPv6 support. Because your Linux kernel has not been compiled with + * IPv6 support, you cannot use IPv6 with the layer 3 discipline, even if your + * adapter supports IPv6. + * User action: + * Use a Linux kernel that has been complied to include IPv6 support if you + * want to use IPv6 with layer 3 qeth devices. + */ + +/*? + * Text: "%s: The qeth device is not configured for the OSI layer required by z/VM\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A qeth device that connects to a virtual network on z/VM must be configured for the + * same Open Systems Interconnection (OSI) layer as the virtual network. An ETHERNET + * guest LAN or VSWITCH uses the data link layer (layer 2) while an IP guest LAN + * or VSWITCH uses the network layer (layer 3). + * User action: + * If you are connecting to an ETHERNET guest LAN or VSWITCH, set the layer2 sysfs + * attribute of the qeth device to 1. If you are connecting to an IP guest LAN or + * VSWITCH, set the layer2 sysfs attribute of the qeth device to 0. + */ + +/*? + * Text: "%s: Starting source MAC-address support for %s failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The qeth device driver could not enable source MAC-address on the network + * adapter. + * User action: + * Ungroup and regroup the subchannel triplet of the device. If this does not + * resolve the problem, reboot Linux. If the problem persists, gather Linux + * debug data and report the problem to your support organization. + */ + +/*? + * Text: "%s: MAC address %pM already exists\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: MAC-address + * Description: + * Setting the MAC address for the qeth device fails, because this + * MAC address is already defined on the OSA CHPID. + * User action: + * Use a different MAC address for this qeth device. + */ + +/*? + * Text: "%s: MAC address %pM is not authorized\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: MAC-address + * Description: + * This qeth device is a virtual network interface card (NIC), to which z/VM + * has already assigned a MAC address. z/VM MAC address verification does + * not allow you to change this predefined address. + * User action: + * None; use the MAC address that has been assigned by z/VM. + */ + +/*? + * Text: "%s: The HiperSockets network traffic analyzer is activated\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'. + * The corresponding HiperSockets interface has been switched into promiscuous mode. + * As a result, the HiperSockets network traffic analyzer is started on the device. + * User action: + * None. + */ + + /*? + * Text: "%s: The HiperSockets network traffic analyzer is deactivated\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'. + * Promiscuous mode has been switched off for the corresponding HiperSockets interface + * As a result, the HiperSockets network traffic analyzer is stopped on the device. + * User action: + * None. + */ + +/*? + * Text: "%s: The device is not authorized to run as a HiperSockets network traffic analyzer\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'. + * The corresponding HiperSockets interface is switched into promiscuous mode + * but the network traffic analyzer (NTA) rules configured at the Support Element (SE) + * do not allow tracing. Possible reasons are: + * - Tracing is not authorized for all HiperSockets LANs in the mainframe system + * - Tracing is not authorized for this HiperSockets LAN + * - LPAR is not authorized to enable an NTA + * User action: + * Configure appropriate HiperSockets NTA rules at the SE. + */ + +/*? + * Text: "%s: A HiperSockets network traffic analyzer is already active in the HiperSockets LAN\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The sysfs 'sniffer' attribute of the HiperSockets device has the value '1'. + * The HiperSockets interface is switched into promiscuous mode but another + * HiperSockets device on the same HiperSockets LAN is already running as + * a network traffic analyzer. + * A HiperSockets LAN can only have one active network traffic analyzer. + * User action: + * Do not configure multiple HiperSockets devices in the same HiperSockets LAN as + * tracing devices. + */ + +/*? + * Text: "%s: Enabling HW TX checksumming for %s failed, using SW TX checksumming\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * Description: + * The network adapter supports hardware checksumming for outgoing IP packages + * but the qeth device driver could not enable hardware TX checksumming on the + * adapter. The qeth device driver continues to use software checksumming for + * outgoing IP packages. + * User action: + * None if you do not require hardware checksumming for outgoing network + * traffic. If you want to enable hardware checksumming, ungroup and regroup + * the subchannel triplet of the device. If this does not resolve the problem, + * reboot Linux. If the problem persists, gather Linux debug data and report + * the problem to your support organization. + */ + +/*? + * Text: "%s: A connection could not be established because of an OLM limit\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * z/OS has activated Optimized Latency Mode (OLM) for a connection through an OSA Express3 adapter. + * This reduces the maximum number of concurrent connections per physical port for shared adapters. + * The new connection would exceed the maximum. Linux cannot establish further connections using + * this adapter. + * User action: + * If possible, deactivate an existing connection that uses this adapter and try again to establish + * the new connection. If you cannot free an existing connection, use a different adapter for the + * new connection. + */ + +/*? + * Text: "%s: Setting the device online failed because of insufficient authorization\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The qeth device is configured with OSX CHPIDs. An OSX CHPID cannot be activated unless the LPAR is explicitly authorized to access it. + * For z/VM guest operating systems, the z/VM user ID must be explicitly authorized in addition to the LPAR. + * You grant these authorizations through the Service Element. + * User action: + * At the Service Element, authorize the LPAR and, if applicable, the z/VM user ID for using the OSX CHPIDs with which the qeth device has been configured. + * Then try again to set the device online. + */ + +/*? + * Text: "%s: portname is deprecated and is ignored\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * An OSA-Express port name was required to identify a shared OSA port. + * All operating system instances that shared the port had to use the same port name. + * This requirement no longer applies, and the specified portname attribute is ignored. + * User action: + * For future upgrades, remove OSA port name specifications from your + * network configuration. + */ + +/*? Text: "core functions removed\n" */ +/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s.\n" */ +/*? Text: "%s: issue_next_read failed: no iob available!\n" */ +/*? Text: "%s: Priority Queueing not supported\n" */ +/*? Text: "%s: sense data available. cstat 0x%X dstat 0x%X\n" */ +/*? Text: "loading core functions\n" */ +/*? Text: "%s: MAC address %pM successfully registered on device %s\n" */ +/*? Text: "%s: Device successfully recovered!\n" */ +/*? Text: "register layer 2 discipline\n" */ +/*? Text: "unregister layer 2 discipline\n" */ +/*? Text: "%s: Hardware IP fragmentation not supported on %s\n" */ +/*? Text: "%s: IPv6 not supported on %s\n" */ +/*? Text: "%s: VLAN not supported on %s\n" */ +/*? Text: "%s: Inbound source MAC-address not supported on %s\n" */ +/*? Text: "%s: IPV6 enabled\n" */ +/*? Text: "%s: ARP processing not supported on %s!\n" */ +/*? Text: "%s: Hardware IP fragmentation enabled \n" */ +/*? Text: "%s: set adapter parameters not supported.\n" */ +/*? Text: "%s: VLAN enabled\n" */ +/*? Text: "register layer 3 discipline\n" */ +/*? Text: "%s: Outbound TSO enabled\n" */ +/*? Text: "%s: Broadcast not supported on %s\n" */ +/*? Text: "%s: Outbound TSO not supported on %s\n" */ +/*? Text: "%s: Inbound HW Checksumming not supported on %s,\ncontinuing using Inbound SW Checksumming\n" */ +/*? Text: "%s: Using no checksumming on %s.\n" */ +/*? Text: "%s: Broadcast enabled\n" */ +/*? Text: "%s: Multicast not supported on %s\n" */ +/*? Text: "%s: Using SW checksumming on %s.\n" */ +/*? Text: "%s: HW Checksumming (%sbound) enabled\n" */ +/*? Text: "unregister layer 3 discipline\n" */ +/*? Text: "%s: Multicast enabled\n" */ +/*? Text: "%s: QDIO data connection isolation is deactivated\n" */ +/*? Text: "%s: QDIO data connection isolation is activated\n" */ +/*? Text: "%s: Adapter does not support QDIO data connection isolation\n" */ +/*? Text: "%s: Adapter is dedicated. QDIO data connection isolation not supported\n" */ +/*? Text: "%s: TSO does not permit QDIO data connection isolation\n" */ +/*? Text: "%s: HW TX Checksumming enabled\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "qeth_l3: ignoring TR device\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ + +/*? + * Text: "%s: Turning off reflective relay mode at the adjacent switch failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The policy for the QDIO data connection isolation was + * changed successfully, and communications are now handled according to the + * new policy. The ISOLATION_FORWARD policy is no longer used, but the qeth + * device driver could not turn off the reflective relay mode on the adjacent + * switch port. + * User action: + * Check the adjacent switch for errors and correct the problem. + */ + +/*? + * Text: "%s: The adjacent switch port does not support reflective relay mode\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The 'isolation' sysfs attribute of the qeth device could not be set to 'forward'. + * This setting selects the ISOLATION_FORWARD policy for the QDIO data connection + * isolation. The ISOLATION_FORWARD policy requires a network adapter in Virtual + * Ethernet Port Aggregator (VEPA) mode with an adjacent switch port in reflective + * relay mode. + * User action: + * Use a switch port that supports reflective relay mode if you want to use the + * ISOLATION_FORWARD policy for the qeth device. + */ + +/*? + * Text: "%s: The reflective relay mode cannot be enabled at the adjacent switch port" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The 'isolation' sysfs attribute of the qeth device could not be set to 'forward'. + * This setting selects the ISOLATION_FORWARD policy for the QDIO data connection + * isolation. The ISOLATION_FORWARD policy requires a network adapter in Virtual + * Ethernet Port Aggregator (VEPA) mode with an adjacent switch port in reflective relay + * mode. The qeth device driver failed to enable the required reflective relay mode on + * the adjacent switch port although the switch port supports this mode. + * User action: + * Enable reflective relay mode on the switch for the adjacent port and try again. + */ + +/*? + * Text: "%s: Interface %s is down because the adjacent port is no longer in reflective relay mode\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * @2: interface name + * Description: + * The ISOLATION_FORWARD policy is active for the QDIO data connection isolation + * of the qeth device. This policy requires a network adapter in Virtual Ethernet + * Port Aggregator (VEPA) mode with an adjacent switch port in reflective relay mode. + * The reflective relay mode on the adjacent switch port was disabled. The qeth device + * was set offline and the interface was deactivated to prevent any unintended network traffic. + * User action: + * Enable the reflective relay mode again on the adjacent port or use the 'isolation' + * sysfs attribute of the qeth device to set a different policy for the QDIO data connection + * isolation. You can then resume operations by setting the qeth device back + * online and activating the interface. + */ + +/*? + * Text: "%s: Failed to create completion queue\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The HiperSockets device could not be configured with a completion queue. + * A completion queue is required to operate AF_IUCV communication in an LPAR. + * User action: + * i) Investigate if you have the latest firmware level in place. + * ii) If the problem persists and is not caused by a version mismatch, contact IBM + * support. + */ + +/*? + * Text: "%s: Completion Queueing supported\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The HiperSockets device supports completion queueing. This is required to + * set up AF_IUCV communication in an LPAR. + */ + +/*? + * Text: "%s: Completion Queue support enabled" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The HiperSockets device is enabled for completion queueing. This is part of + * the process to set up AF_IUCV communication in an LPAR. + */ + +/*? + * Text: "%s: Completion Queue support disabled" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The HiperSockets device is disabled for completion queueing. This device + * cannot or no longer be used to set up AF_IUCV communication in an LPAR. + */ + +/*? + * Text: "%s: The device represents a Bridge Capable Port\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * Description: + * You can configure this device as a Bridge Port. + * User action: + * None. + */ + +/*? + * Text: "%s: The device is not configured as a Bridge Port\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The Bridge Port role cannot be withdrawn from a device + * that is not configured as a Bridge Port. + * User action: + * None. + */ + +/*? + * Text: "%s: The LAN already has a primary Bridge Port\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A LAN can have multiple secondary Bridge Ports, but only + * one primary Bridge Port. Configuring the device as a + * primary Bridge Port failed because another port on the + * LAN has been configured as the primary Bridge Port. + * User action: + * Find out which operating system instance has configured the primary + * Bridge Port. Assure that the primary role for this port is withdrawn + * before trying again to configure your device as the primary Bridge + * Port. Alternatively, consider configuring your device as a secondary + * Bridge Port. + */ + +/*? + * Text: "%s: The device is already a secondary Bridge Port\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A device cannot be configured as a primary or secondary + * Bridge Port if it is already configured as a secondary Bridge Port. + * User action: + * None, if you want the device to be a secondary Bridge Port. + * If you want to configure the device as the primary Bridge Port, + * withdraw the secondary role by writing 'none' to the 'bridgeport_role' + * sysfs attribute of the device. Then try again to configure the + * device as the primary Bridge Port. + */ + +/*? + * Text: "%s: The LAN cannot have more secondary Bridge Ports\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A LAN can have up to five secondary Bridge Ports. + * You cannot configure a further device as a secondary + * Bridge Port unless the Bridge Ports role is withdrawn from one of + * the existing secondary Bridge Ports. + * User action: + * Assure that the Bridge Port role is withdrawn from one of the + * existing secondary Bridge Ports before trying again to configure your + * device as a secondary Bridge Port. + */ + +/*? + * Text: "%s: The device is already a primary Bridge Port\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * A device cannot be configured as a primary or secondary + * Bridge Port if it is already configured as a primary Bridge Port. + * User action: + * None, if you want the device to be a primary Bridge Port. + * If you want to configure the device as a secondary Bridge Port, + * withdraw the primary role by writing 'none' to the 'bridgeport_role' + * sysfs attribute of the device. Then try again to configure the + * device as the secondary Bridge Port. + */ + +/*? + * Text: "%s: The device is not authorized to be a Bridge Port\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * The device cannot be configured as a Bridge Port because + * the required authorizations in the hardware are not in place. + * User action: + * See your hardware documentation about how to authorize + * ports for becoming a Bridge Port. + */ + +/*? + * Text: "%s: A Bridge Port is already configured by a different operating system\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * Linux instances cannot configure the target port as a Bridge Port. + * Another operating system already uses a Bridge Port on the HiperSockets + * or on the OSA adapter. For example, a z/VM instance might be using + * a port in a VSWITCH configuration. Multiple Bridge Ports on the same + * HiperSockets or OSA adapter must be configured by instances of the same + * operating system, for example, all Linux or all z/VM. + * User action: + * Reconsider your network topology. Configure Bridge Ports only for ports + * on adapters where any other Bridge Ports are configured by other Linux + * instances. + */ + +/*? + * Text: "%s: Setting address notification failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the qeth device + * Description: + * Enabling or disabling the address notification feature of a + * HiperSockets device failed. The device might not be configured as a + * Bridge Port. + * User action: + * None, unless you need address notifications for this device. + * If you need notifications, confirm that your device is attached to a + * HiperSockets LAN that supports Bridge Capable Ports and that your + * device is configured as a Bridge Port. If the 'bridgeport_role' + * sysfs attribute of the device contains, one of the values 'primary' + * or 'secondary' and you cannot set the address notification, contact + * your support organization. + */ + +/*? + * Text: "%s: Address notification from the Bridge Port stopped %s (%s)\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the qeth device + * @2: network interface name + * @3: error reported by the hardware + * Description: + * A Bridge Port no longer provides address notifications. + * Possible reasons include traffic overflow and that the device is no + * longer configured as a Bridge Port. A udev event with + * BRIDGEDHOST=abort was emitted to alert applications that rely on the + * address notifications. + * User action: + * None. + */ + +/*? + * Text: "%s: The qeth driver ran out of channel command buffers\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the qeth device + * Description: + * Command buffers can temporarily run out during periods of + * intense network configuration activities. + * The device driver recovers from this condition as outstanding + * commands are completed. + * User action: + * Wait for a short time. If the problem persists, + * initiate a recovery process by writing '1' to the 'recover' + * sysfs attribute of the device. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/s390dbf +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/s390dbf @@ -0,0 +1,83 @@ +/*? + * Text: "Root becomes the owner of all s390dbf files in sysfs\n" + * Severity: Warning + * Description: + * The S/390 debug feature you are using only supports uid/gid = 0. + * User action: + * None. + */ + +/*? + * Text: "Registering debug feature %s failed\n" + * Severity: Error + * Parameter: + * @1: feature name + * Description: + * The initialization of an S/390 debug feature failed. A likely cause of this + * problem is memory constraints. The system keeps running, but the debug + * data for this feature will not be available in sysfs. + * User action: + * Consider assigning more memory to your LPAR or z/VM guest virtual machine. + */ + +/*? + * Text: "Registering view %s/%s would exceed the maximum number of views %i\n" + * Severity: Error + * Parameter: + * @1: feature name + * @2: view name + * @3: maximum + * Description: + * The maximum number of allowed debug feature views has been reached. The + * view has not been registered. The system keeps running but the new view + * will not be available in sysfs. This is a program error. + * User action: + * Report this problem to your support partner. + */ + +/*? + * Text: "%s is not a valid level for a debug feature\n" + * Severity: Warning + * Parameter: + * @1: level + * Description: + * Setting a new level for a debug feature by using the 'level' sysfs attribute + * failed. Valid levels are the minus sign (-) and the integers in the + * range 0 to 6. The minus sign switches off the feature. The numbers switch + * the feature on, where higher numbers produce more debug output. + * User action: + * Write a valid value to the 'level' sysfs attribute. + */ + +/*? + * Text: "Flushing debug data failed because %c is not a valid area\n" + * Severity: Informational + * Parameter: + * @1: debug area number + * Description: + * Flushing a debug area by using the 'flush' sysfs attribute failed. Valid + * values are the minus sign (-) for flushing all areas, or the number of the + * respective area for flushing a single area. + * User action: + * Write a valid area number or the minus sign (-) to the 'flush' sysfs + * attribute. + */ + +/*? + * Text: "Allocating memory for %i pages failed\n" + * Severity: Informational + * Parameter: + * @1: number of pages + * Description: + * Setting the debug feature size by using the 'page' sysfs attribute failed. + * Linux did not have enough memory for expanding the debug feature to the + * requested size. + * User action: + * Use a smaller number of pages for the debug feature or allocate more + * memory to your LPAR or z/VM guest virtual machine. + */ + +/*? Text: "%s: set new size (%i pages)\n" */ +/*? Text: "%s: switched off\n" */ +/*? Text: "%s: level %i is out of range (%i - %i)\n" */ +/*? Text: "Registering view %s/%s failed due to out of memory\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/sclp_cmd +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/sclp_cmd @@ -0,0 +1,44 @@ +/*? Text: "sync request failed (cmd=0x%08x, status=0x%02x)\n" */ +/*? Text: "readcpuinfo failed (response=0x%04x)\n" */ +/*? Text: "configure cpu failed (cmd=0x%08x, response=0x%04x)\n" */ +/*? Text: "configure channel-path failed (cmd=0x%08x, response=0x%04x)\n" */ +/*? Text: "read channel-path info failed (response=0x%04x)\n" */ +/*? Text: "assign storage failed (cmd=0x%08x, response=0x%04x, rn=0x%04x)\n" */ +/*? Text: "configure PCI I/O adapter failed: cmd=0x%08x response=0x%04x\n" */ +/*? Text: "request failed (status=0x%02x)\n" */ +/*? Text: "request failed with response code 0x%x\n" */ + +/*? + * Text: "Memory hotplug state changed, suspend refused.\n" + * Severity: Error + * Description: + * Suspend is refused after a memory hotplug operation was performed. + * User action: + * The system needs to be restarted and no memory hotplug operation must be + * performed in order to allow suspend. + */ + +/*? + * Text: "Standby memory at 0x%llx (%lluM of %lluM usable)\n" + * Severity: Informational + * Parameter: + * @1: start address of standby memory + * @2: usable memory in MB + * @3: total detected memory in MB + * Description: + * Standby memory was detected. It can be used for memory hotplug only + * if it is aligned to the Linux hotplug memory block size. + * If the aligned amount of memory matches the total amount, + * all detected standby memory can be used. Otherwise, some of the detected + * memory is unaligned and cannot be used. + * User action: + * None, if the usable and the total amount of detected standby memory match. + * If the amounts of memory do not match, + * check the memory setup of your guest virtual machine and ensure that + * the standby memory start and end + * address is aligned to the Linux hotplug memory block size. + * On Linux, issue "cat /sys/devices/system/memory/block_size_bytes" + * to find the hotplug memory block size value in hexadecimal notation. + * On z/VM, query your memory setup with "vmcp q v store". + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/sclp_config +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/sclp_config @@ -0,0 +1,15 @@ +/*? + * Text: "CPU capability may have changed\n" + * Severity: Informational + * Description: + * The capability of the CPUs in the configuration may have been upgraded + * or downgraded. This message may also appear if the capability of the + * CPUs in the configuration did not change. + * For details see the STORE SYSTEM INFORMATION description in the + * "Principles of Operation." + * User action: + * The user can examine /proc/sysinfo for CPU capability values. + */ +/*? Text: "Open for Business request failed with response code 0x%04x\n" */ +/*? Text: "SCLP receiver did not register to receive Configuration Management Data Events.\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/sclp_cpi +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/sclp_cpi @@ -0,0 +1,3 @@ +/*? Text: "request failed (status=0x%02x)\n" */ +/*? Text: "request failed with response code 0x%x\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/sclp_ocf +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/sclp_ocf @@ -0,0 +1 @@ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/sclp_sdias +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/sclp_sdias @@ -0,0 +1,4 @@ +/*? Text: "sclp_send failed for get_nr_blocks\n" */ +/*? Text: "SCLP error: %x\n" */ +/*? Text: "sclp_send failed: %x\n" */ +/*? Text: "Error from SCLP while copying hsa. Event status = %x\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/scm_block +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/scm_block @@ -0,0 +1,51 @@ +/*? + * Text: "%lx: The capabilities of the SCM increment changed\n" + * Severity: Informational + * Parameter: + * @1: start address of the SCM increment + * Description: + * A configuration change is in progress for the storage class memory (SCM) + * increment. + * User action: + * Verify that the capability of the SCM increment is as intended; for + * example, with lsscm. + */ + +/*? + * Text: "An I/O operation to SCM failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * An error occurred during I/O to storage class memory (SCM). The operation + * was repeated, but the maximum number of retries was exceeded before the + * request could be fulfilled. + * User action: + * Contact your support organization. + */ + +/*? + * Text: "%lx: Write access to the SCM increment is suspended\n" + * Severity: Informational + * Parameter: + * @1: start address of the SCM increment + * Description: + * A concurrent firmware upgrade is in progress. For the duration of the + * upgrade, write access to the storage class memory (SCM) increment has been + * suspended. + * User action: + * None. + */ + +/*? + * Text: "%lx: Write access to the SCM increment is restored\n" + * Severity: Informational + * Parameter: + * @1: start address of the SCM increment + * Description: + * Write access to the storage class memory (SCM) increment was restored + * after a temporary suspension during a concurrent firmware upgrade. + * User action: + * None. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/setup +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/setup @@ -0,0 +1,165 @@ +/*? + * Text: "The initial RAM disk does not fit into the memory\n" + * Severity: Error + * Description: + * The load address and the size of the initial RAM disk specify a memory + * area that is not available. + * User action: + * Lower the load address of the initial RAM disk, reduce the size of the + * initial RAM disk, or increase the size of the system memory to make the + * initial RAM disk fit into the memory. + */ + +/*? + * Text: "The maximum memory size is %luMB\n" + * Severity: Notice + * Parameter: + * @1: size in MB + * Description: + * The system memory size cannot exceed the amount of memory that is + * provided by the real or virtual hardware. It can be further reduced + * through an upper memory address limit that is specified with the + * mem= kernel parameter. + * User action: + * None. + */ + +/*? + * Text: "Linux is running as a z/VM guest operating system in 31-bit mode\n" + * Severity: Informational + * Description: + * The 31-bit Linux kernel detected that it is running as a guest operating + * system of the z/VM hypervisor. + * User action: + * None. + */ + +/*? + * Text: "Linux is running natively in 31-bit mode\n" + * Severity: Informational + * Description: + * The 31-bit Linux kernel detected that it is running on an IBM mainframe, + * either as the sole operating system in an LPAR or as the sole operating + * system on the entire mainframe. The Linux kernel is not running as a + * guest operating system of the z/VM hypervisor. + * User action: + * None. + */ + +/*? + * Text: "The hardware system has IEEE compatible floating point units\n" + * Severity: Informational + * Description: + * The Linux kernel detected that it is running on a hardware system with + * CPUs that have IEEE compatible floating point units. + * User action: + * None. + */ + +/*? + * Text: "The hardware system has no IEEE compatible floating point units\n" + * Severity: Informational + * Description: + * The Linux kernel detected that it is running on a hardware system with + * CPUs that do not have IEEE compatible floating point units. + * User action: + * None. + */ + +/*? + * Text: "Linux is running as a z/VM guest operating system in 64-bit mode\n" + * Severity: Informational + * Description: + * The 64-bit Linux kernel detected that it is running as a guest operating + * system of the z/VM hypervisor. + * User action: + * None. + */ + +/*? + * Text: "Linux is running under KVM in 64-bit mode\n" + * Severity: Informational + * Description: + * The 64-bit Linux kernel detected that it is running as a guest operating + * system of the KVM hypervisor. + * User action: + * None. + */ + +/*? + * Text: "Linux is running natively in 64-bit mode\n" + * Severity: Informational + * Description: + * The 64-bit Linux kernel detected that it is running on an IBM mainframe, + * either as the sole operating system in an LPAR or as the sole operating + * system on the entire mainframe. The Linux kernel is not running as a + * guest operating system of the z/VM hypervisor. + * User action: + * None. + */ + +/*? + * Text: "Defining the Linux kernel NSS failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * The Linux kernel could not define the named saved system (NSS) with + * the z/VM CP DEFSYS command. The return code represents the numeric + * portion of the CP DEFSYS error message. + * User action: + * For return code 1, the z/VM guest virtual machine is not authorized + * to define named saved systems. + * Ensure that the z/VM guest virtual machine is authorized to issue + * the CP DEFSYS command (typically privilege class E). + * For other return codes, see the help and message documentation for + * the CP DEFSYS command. + */ + +/*? + * Text: "Saving the Linux kernel NSS failed with rc=%d\n" + * Severity: Error + * Parameter: + * @1: return code + * Description: + * The Linux kernel could not save the named saved system (NSS) with + * the z/VM CP SAVESYS command. The return code represents the numeric + * portion of the CP SAVESYS error message. + * User action: + * For return code 1, the z/VM guest virtual machine is not authorized + * to save named saved systems. + * Ensure that the z/VM guest virtual machine is authorized to issue + * the CP SAVESYS command (typically privilege class E). + * For other return codes, see the help and message documentation for + * the CP SAVESYS command. + */ + +/*? + * Text: "crashkernel reservation failed: %s\n" + * Severity: Informational + * Parameter: + * @1: reason string + * Description: + * The memory reservation for the kdump "crashkernel" parameter was not + * successful. The Linux kernel was either not able to find a free memory + * area or an invalid area has been defined. The reason string describes the + * cause of the failure in more detail. + * User action: + * Increase the memory footprint of your virtual machine or adjust the values + * for the "crashkernel" kernel parameter. Then boot your Linux system again. + */ + +/*? + * Text: "Reserving %lluMB of memory at %lluMB for crashkernel (System RAM: %luMB)\n" + * Severity: Informational + * Parameter: + * @1: amount of reserved memory + * @2: storage location of reserved memory + * @3: amount of system RAM + * Description: + * The memory reservation for the kdump "crashkernel" parameter was successful + * and a kdump kernel can now be loaded with the kexec tool. + * User action: + * None. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/smsgiucv +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/smsgiucv @@ -0,0 +1 @@ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/smsgiucv_app +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/smsgiucv_app @@ -0,0 +1 @@ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/tape +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/tape @@ -0,0 +1,63 @@ +/*? + * Text: "%s: A tape unit was detached while in use\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A tape unit has been detached from the I/O configuration while a tape + * was being accessed. This typically results in I/O error messages and + * potentially in damaged data on the tape. + * User action: + * Check the output of the application that accesses the tape device. + * If this problem occurred during a write-type operation, consider repeating + * the operation after bringing the tape device back online. + */ + +/*? + * Text: "%s: A tape cartridge has been mounted\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the tape device + * Description: + * A tape cartridge has been inserted into the tape unit. The tape in the + * tape unit is ready to be accessed. + * User action: + * None. + */ + +/*? + * Text: "%s: The tape cartridge has been successfully unloaded\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape cartridge has been unloaded from the tape unit. Insert a tape + * cartridge before accessing the tape device. + * User action: + * None. + */ + +/*? + * Text: "A cartridge is loaded in tape device %s, refusing to suspend\n" + * Severity: Error + * Parameter: + * @1: bus ID of the tape device + * Description: + * A request to suspend a tape device currently loaded with a cartridge is + * rejected. + * User action: + * Unload the tape device. Then try to suspend the system again. + */ + +/*? + * Text: "Tape device %s is busy, refusing to suspend\n" + * Severity: Error + * Parameter: + * @1: bus ID of the tape device + * Description: + * A request to suspend a tape device being currently in use is rejected. + * User action: + * Terminate applications performing tape operations + * and then try to suspend the system again. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/tape_34xx +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/tape_34xx @@ -0,0 +1,418 @@ +/*? + * Text: "%s: An unexpected condition %d occurred in tape error recovery\n" + * Severity: Error + * Parameter: + * @1: bus ID of the tape device + * @2: number + * Description: + * The control unit has reported an error condition that is not recognized by + * the error recovery process of the tape device driver. + * User action: + * Report this problem and the condition number from the message to your + * support organization. + */ + +/*? + * Text: "%s: A data overrun occurred between the control unit and tape unit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A data overrun error has occurred on the connection between the control + * unit and the tape unit. If this problem occurred during a write-type + * operation, the integrity of the data on the tape might be compromised. + * User action: + * Use a faster connection. If this problem occurred during a write-type + * operation, consider repositioning the tape and repeating the operation. + */ + +/*? + * Text: "%s: The block ID sequence on the tape is incorrect\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The control unit has detected an incorrect block ID sequence on the tape. + * This problem typically indicates that the data on the tape is damaged. + * User action: + * If this problem occurred during a write-type operation reposition the tape + * and repeat the operation. + */ + +/*? + * Text: "%s: A read error occurred that cannot be recovered\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A read error has occurred that cannot be recovered. The current tape might + * be damaged. + * User action: + * None. + */ + +/*? + * Text: "%s: A write error on the tape cannot be recovered\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A write error has occurred that could not be recovered by the automatic + * error recovery process. + * User action: + * Use a different tape cartridge. + */ + +/*? + * Text: "%s: Writing the ID-mark failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The ID-mark at the beginning of tape could not be written. The tape medium + * might be write-protected. + * User action: + * Try a different tape cartridge. Ensure that the write-protection on the + * cartridge is switched off. + */ + +/*? + * Text: "%s: Reading the tape beyond the end of the recorded area failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A read-type operation failed because it extended beyond the end of the + * recorded area on the tape medium. + * User action: + * None. + */ + +/*? + * Text: "%s: The tape contains an incorrect block ID sequence\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The control unit has detected an incorrect block ID sequence on the tape. + * This problem typically indicates that the data on the tape is damaged. + * User action: + * If this problem occurred during a write-type operation reposition the tape + * and repeat the operation. + */ + +/*? + * Text: "%s: A path equipment check occurred for the tape device\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A path equipment check has occurred. This check indicates problems with the + * connection between the mainframe system and the tape control unit. + * User action: + * Ensure that the cable connections between the mainframe system and the + * control unit are securely in place and not damaged. + */ + +/*? + * Text: "%s: The tape unit cannot process the tape format\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * Either the tape unit is not able to read the format ID mark, or the + * specified format is not supported by the tape unit. + * User action: + * If you do not need the data recorded on the current tape, use a different + * tape or write a new format ID mark at the beginning of the tape. Be aware + * that writing a new ID mark leads to a loss of all data that has been + * recorded on the tape. If you need the data on the current tape, use a tape + * unit that supports the tape format. + */ + +/*? + * Text: "%s: The tape medium is write-protected\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A write-type operation failed because the tape medium is write-protected. + * User action: + * Eject the tape cartridge, switch off the write protection on the cartridge, + * insert the cartridge, and try the operation again. + */ + +/*? + * Text: "%s: The tape does not have the required tape tension\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape does not have the required tape tension. + * User action: + * Rewind and reposition the tape, then repeat the operation. + */ + +/*? + * Text: "%s: The tape unit failed to load the cartridge\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * An error has occurred while loading the tape cartridge. + * User action: + * Unload the cartridge and load it again. + */ + +/*? + * Text: "%s: Automatic unloading of the tape cartridge failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit failed to unload the cartridge. + * User action: + * Unload the cartridge manually by using the eject button on the tape unit. + */ + +/*? + * Text: "%s: An equipment check has occurred on the tape unit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * Possible reasons for the check condition are a unit adapter error, a buffer + * error on the lower interface, an unusable internal path, or an error that + * has occurred while loading the cartridge. + * User action: + * Examine the tape unit and the cartridge loader. Consult the tape unit + * documentation for details. + */ + +/*? + * Text: "%s: The tape information states an incorrect length\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape is shorter than stated at the beginning of the tape data. A + * possible reason for this problem is that the tape might have been physically + * truncated. Data written to the tape might be incomplete or damaged. + * User action: + * If this problem occurred during a write-type operation, consider repeating + * the operation with a different tape cartridge. + */ + +/*? + * Text: "%s: The tape unit is not ready\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit is online but not ready. + * User action: + * Turn the ready switch on the tape unit to the ready position and try the + * operation again. + */ + +/*? + * Text: "%s: The tape medium has been rewound or unloaded manually\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit rewind button, unload button, or both have been used to + * rewind or unload the tape cartridge. A tape cartridge other than the + * intended cartridge might have been inserted or the tape medium might not + * be at the expected position. + * User action: + * Verify that the correct tape cartridge has been inserted and that the tape + * medium is at the required position before continuing to work with the tape. + */ + +/*? + * Text: "%s: The tape subsystem is running in degraded mode\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape subsystem is not operating at its maximum performance. + * User action: + * Contact your service representative for the tape unit and report this + * problem. + */ + +/*? + * Text: "%s: The tape unit is already assigned\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit is already assigned to another channel path. + * User action: + * Free the tape unit from the operating system instance to which it is + * currently assigned then try again. + */ + +/*? + * Text: "%s: The tape unit is not online\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit is not online to the tape device driver. + * User action: + * Ensure that the tape unit is operational and that the cable connections + * between the control unit and the tape unit are securely in place and not + * damaged. + */ + +/*? + * Text: "%s: The control unit has fenced access to the tape volume\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The control unit fences further access to the current tape volume. The data + * integrity on the tape volume might have been compromised. + * User action: + * Rewind and unload the tape cartridge. + */ + +/*? + * Text: "%s: A parity error occurred on the tape bus\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * A data parity check error occurred on the bus. Data that was read or written + * while the error occurred is not valid. + * User action: + * Reposition the tape and repeat the read-type or write-type operation. + */ + +/*? + * Text: "%s: I/O error recovery failed on the tape control unit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * An I/O error occurred that cannot be recovered by the automatic error + * recovery process of the tape control unit. The application that operates + * the tape unit will receive a return value of -EIO which indicates an + * I/O error. The data on the tape might be damaged. + * User action: + * If this problem occurred during a write-type operation, consider + * repositioning the tape and repeating the operation. + */ + +/*? + * Text: "%s: The tape unit requires a firmware update\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit requires firmware patches from the tape control unit but the + * required patches are not available on the control unit. + * User action: + * Make the require patches available on the control unit then reposition the + * tape and retry the operation. For details about obtaining and installing + * firmware updates see the control unit documentation. + */ + +/*? + * Text: "%s: The maximum block size for buffered mode is exceeded\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The block to be written is larger than allowed for the buffered mode. + * User action: + * Use a smaller block size. + */ + +/*? + * Text: "%s: A channel interface error cannot be recovered\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * An error has occurred on the channel interface. This error cannot + * be recovered by the control unit error recovery process. + * User action: + * See the documentation of the control unit. + */ + +/*? + * Text: "%s: A channel protocol error occurred\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * An error was detected in the channel protocol. + * User action: + * Reposition the tape and try the operation again. + */ + +/*? + * Text: "%s: The tape unit does not support the compaction algorithm\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit cannot read the current tape. The data on the tape has been + * compressed with an algorithm that is not supported by the tape unit. + * User action: + * Use a tape unit that supports the compaction algorithm used for the + * current tape. + */ + +/*? + * Text: "%s: The tape unit does not support tape format 3480-2 XF\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit does not support tapes recorded in the 3480-2 XF format. + * User action: + * If you do not need the data recorded on the current tape, rewind the tape + * and overwrite it with a supported format. If you need the data on the + * current tape, use a tape unit that supports the tape format. + */ + +/*? + * Text: "%s: The tape unit does not support format 3480 XF\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit does not support tapes recorded in the 3480 XF format. + * User action: + * If you do not need the data recorded on the current tape, rewind the tape + * and overwrite it with a supported format. If you need the data on the + * current tape, use a tape unit that supports the tape format. + */ + +/*? + * Text: "%s: The tape unit does not support the current tape length\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The length of the tape in the cartridge is incompatible with the tape unit. + * User action: + * Either use a different tape unit or use a tape with a supported length. + */ + +/*? + * Text: "%s: The tape unit does not support the tape length\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The length of the tape in the cartridge is incompatible with the tape + * unit. + * User action: + * Either use a different tape unit or use a tape with a supported length. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/tape_3590 +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/tape_3590 @@ -0,0 +1,183 @@ +/*? + * Text: "%s: The tape medium must be loaded into a different tape unit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape device has indicated an error condition that requires loading + * the tape cartridge into a different tape unit to recover. + * User action: + * Unload the cartridge and use a different tape unit to retry the operation. + */ + +/*? + * Text: "%s: Tape media information: exception %s, service %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: exception + * @3: service + * Description: + * This is an operating system independent tape medium information message + * that was issued by the tape unit. The information in the message is + * intended for the IBM customer engineer. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: Device subsystem information: exception %s, service %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: exception + * @3: required service action + * Description: + * This is an operating system independent device subsystem information message + * that was issued by the tape unit. The information in the message is + * intended for the IBM customer engineer. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: I/O subsystem information: exception %s, service %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: exception + * @3: required service action + * Description: + * This is an operating system independent I/O subsystem information message + * that was issued by the tape unit. The information in the message is + * intended for the IBM customer engineer. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: The tape unit has issued sense message %s\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: sense message code + * Description: + * The tape unit has issued an operating system independent sense message. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: The tape unit has issued an unknown sense message code 0x%x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: code + * Description: + * The tape device driver has received an unknown sense message from the + * tape unit. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: MIM SEV=%i, MC=%02x, ES=%x/%x, RC=%02x-%04x-%02x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: SEV + * @3: message code + * @4: exception + * @5: required service action + * @6: refcode + * @7: mid + * @8: fid + * Description: + * This is an operating system independent information message that was + * issued by the tape unit. The information in the message is intended for + * the IBM customer engineer. + * User action: + * See to the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: IOSIM SEV=%i, DEVTYPE=3590/%02x, MC=%02x, ES=%x/%x, REF=0x%04x-0x%04x-0x%04x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: SEV + * @3: model + * @4: message code + * @5: exception + * @6: required service action + * @7: refcode1 + * @8: refcode2 + * @9: refcode3 + * Description: + * This is an operating system independent I/O subsystem information message + * that was issued by the tape unit. The information in the message is + * intended for the IBM customer engineer. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: DEVSIM SEV=%i, DEVTYPE=3590/%02x, MC=%02x, ES=%x/%x, REF=0x%04x-0x%04x-0x%04x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: SEV + * @3: model + * @4: message code + * @5: exception + * @6: required service action + * @7: refcode1 + * @8: refcode2 + * @9: refcode3 + * Description: + * This is an operating system independent device subsystem information message + * issued by the tape unit. The information in the message is intended for + * the IBM customer engineer. + * User action: + * See the documentation for the tape unit for further information. + */ + +/*? + * Text: "%s: The tape unit has issued an unknown sense message code %x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * @2: code + * Description: + * The tape device has issued a sense message, that is unknown to the device + * driver. + * User action: + * Use the message code printed as hexadecimal value and see the documentation + * for the tape unit for further information. + */ + +/*? + * Text: "%s: The tape unit failed to obtain the encryption key from EKM\n" + * Severity: Error + * Parameter: + * @1: bus ID of the tape device + * Description: + * The tape unit was unable to retrieve the encryption key required to decode + * the data on the tape from the enterprise key manager (EKM). + * User action: + * See the EKM and tape unit documentation for information about how to enable + * the tape unit to retrieve the encryption key. + */ + +/*? + * Text: "%s: A different host has privileged access to the tape unit\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the tape device + * Description: + * You cannot access the tape unit because a different operating system + * instance has privileged access to the unit. + * User action: + * Unload the current cartridge to solve this problem. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/time +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/time @@ -0,0 +1,36 @@ +/*? + * Text: "The ETR interface has adjusted the clock by %li microseconds\n" + * Severity: Notice + * Parameter: + * @1: number of microseconds + * Description: + * The external time reference (ETR) interface has synchronized the system + * clock with the external reference and set it to a new value. The time + * difference between the old and new clock value has been passed to the + * network time protocol (NTP) as a single shot adjustment. + * User action: + * None. + */ + +/*? + * Text: "The real or virtual hardware system does not provide an ETR interface\n" + * Severity: Warning + * Description: + * The 'etr=' parameter has been passed on the kernel parameter line for + * a Linux instance that does not have access to the external time reference + * (ETR) facility. + * User action: + * To avoid this warning remove the 'etr=' kernel parameter. + */ + +/*? + * Text: "The real or virtual hardware system does not provide an STP interface\n" + * Severity: Warning + * Description: + * The 'stp=' parameter has been passed on the kernel parameter line for + * a Linux instance that does not have access to the server time protocol + * (STP) facility. + * User action: + * To avoid this warning remove the 'stp=' kernel parameter. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/vmlogrdr +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/vmlogrdr @@ -0,0 +1,19 @@ +/*? Text: "vmlogrdr: failed to start recording automatically\n" */ +/*? Text: "vmlogrdr: connection severed with reason %i\n" */ +/*? Text: "vmlogrdr: iucv connection to %s failed with rc %i \n" */ +/*? Text: "vmlogrdr: failed to stop recording automatically\n" */ +/*? Text: "not running under VM, driver not loaded.\n" */ + +/*? + * Text: "vmlogrdr: device %s is busy. Refuse to suspend.\n" + * Severity: Error + * Parameter: + * @1: device name + * Description: + * Suspending vmlogrdr devices that are in uses is not supported. + * A request to suspend such a device is refused. + * User action: + * Close all applications that use any of the vmlogrdr devices + * and then try to suspend the system again. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/vmur +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/vmur @@ -0,0 +1,48 @@ +/*? + * Text: "The %s cannot be loaded without z/VM\n" + * Severity: Error + * Parameter: + * @1: z/VM virtual unit record device driver + * Description: + * The z/VM virtual unit record device driver provides Linux with access to + * z/VM virtual unit record devices like punch card readers, card punches, and + * line printers. On Linux instances that run in environments other than the + * z/VM hypervisor, the device driver does not provide any useful function and + * the corresponding vmur module cannot be loaded. + * User action: + * Load the vmur module only on Linux instances that run as guest operating + * systems of the z/VM hypervisor. If the z/VM virtual unit record device + * has been compiled into the kernel, ignore this message. + */ + +/*? + * Text: "Kernel function alloc_chrdev_region failed with error code %d\n" + * Severity: Error + * Parameter: + * @1: error code according to errno definitions + * Description: + * The z/VM virtual unit record device driver (vmur) needs to register a range + * of character device minor numbers from 0x0000 to 0xffff. + * This registration failed, probably because of memory constraints. + * User action: + * Free some memory and reload the vmur module. If the z/VM virtual unit + * record device driver has been compiled into the kernel reboot Linux. + * Consider assigning more memory to your LPAR or z/VM guest virtual machine. + */ + +/*? + * Text: "Unit record device %s is busy, %s refusing to suspend.\n" + * Severity: Error + * Parameter: + * @1: bus ID of the unit record device + * @1: z/VM virtual unit record device driver + * Description: + * Linux cannot be suspended while a unit record device is in use. + * User action: + * Stop all applications that work on z/VM spool file queues, for example, the + * vmur tool. Then try again to suspend Linux. + */ + +/*? Text: "%s loaded.\n" */ +/*? Text: "%s unloaded.\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/xpram +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/xpram @@ -0,0 +1,74 @@ +/*? + * Text: "%d is not a valid number of XPRAM devices\n" + * Severity: Error + * Parameter: + * @1: number of partitions + * Description: + * The number of XPRAM partitions specified for the 'devs' module parameter + * or with the 'xpram.parts' kernel parameter must be an integer in the + * range 1 to 32. The XPRAM device driver created a maximum of 32 partitions + * that are probably not configured as intended. + * User action: + * If the XPRAM device driver has been compiled as a separate module, + * unload the module and load it again with a correct value for the 'devs' + * module parameter. If the XPRAM device driver has been compiled + * into the kernel, correct the 'xpram.parts' parameter in the kernel + * command line and restart Linux. + */ + +/*? + * Text: "Not enough expanded memory available\n" + * Severity: Error + * Description: + * The amount of expanded memory required to set up your XPRAM partitions + * depends on the 'sizes' parameter specified for the xpram module or on + * the specifications for the 'xpram.parts' parameter if the XPRAM device + * driver has been compiled into the kernel. Your + * current specification exceed the amount of available expanded memory. + * Your XPRAM partitions are probably not configured as intended. + * User action: + * If the XPRAM device driver has been compiled as a separate module, + * unload the xpram module and load it again with an appropriate value + * for the 'sizes' module parameter. If the XPRAM device driver has been + * compiled into the kernel, adjust the 'xpram.parts' parameter in the + * kernel command line and restart Linux. If you need more than the + * available expanded memory, increase the expanded memory allocation for + * your virtual hardware or LPAR. + */ + +/*? + * Text: "No expanded memory available\n" + * Severity: Error + * Description: + * The XPRAM device driver has been loaded in a Linux instance that runs + * in an LPAR or virtual hardware without expanded memory. + * No XPRAM partitions are created. + * User action: + * Allocate expanded memory for your LPAR or virtual hardware or do not + * load the xpram module. You can ignore this message, if you do not want + * to create XPRAM partitions. + */ + +/*? + * Text: "Resuming the system failed: %s\n" + * Severity: Error + * Parameter: + * @1: cause of the failure + * Description: + * A system cannot be resumed if the expanded memory setup changes + * after hibernation. Possible reasons for the failure are: + * - Expanded memory was removed after hibernation. + * - Size of the expanded memory changed after hibernation. + * The system is stopped with a kernel panic. + * User action: + * Reboot Linux. + */ + +/*? Text: " number of devices (partitions): %d \n" */ +/*? Text: " size of partition %d: %u kB\n" */ +/*? Text: " size of partition %d to be set automatically\n" */ +/*? Text: " memory needed (for sized partitions): %lu kB\n" */ +/*? Text: " partitions to be sized automatically: %d\n" */ +/*? Text: " automatically determined partition size: %lu kB\n" */ +/*? Text: " %u pages expanded memory found (%lu KB).\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/zcrypt +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/zcrypt @@ -0,0 +1,22 @@ +/*? + * Text: "Cryptographic device %02x.%04x failed and was set offline\n" + * Severity: Error + * Parameter: + * @1: AP device ID + * @2: AP queue + * Description: + * A cryptographic device failed to process a cryptographic request. + * The cryptographic device driver could not correct the error and + * set the device offline. The application that issued the + * request received an indication that the request has failed. + * User action: + * Use the lszcrypt command to confirm that the cryptographic + * hardware is still configured to your LPAR or z/VM guest virtual + * machine. If the device is available to your Linux instance the + * command output contains a line that begins with 'card', + * where is the two-digit decimal number in the message text. + * After ensuring that the device is available, use the chzcrypt command to + * set it online again. + * If the error persists, contact your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/zdump +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/zdump @@ -0,0 +1,27 @@ +/*? + * Text: "The 32-bit dump tool cannot be used for a 64-bit system\n" + * Severity: Alert + * Description: + * The dump process ends without creating a system dump. + * User action: + * Use a 64-bit dump tool to obtain a system dump for 64-bit Linux instance. + */ +/*? + * Text: "The 64-bit dump tool cannot be used for a 32-bit system\n" + * Severity: Alert + * Description: + * The dump process ends without creating a system dump. + * User action: + * Use a 32-bit dump tool to obtain a system dump for 32-bit Linux instance. + */ +/*? + * Text: "The dump process started for a 64-bit operating system\n" + * Severity: Alert + * Description: + * The SCSI dump process started to create a dump for a 64-bit operating + * system instance. + * User action: + * None. + */ +/*? Text: "0x%x is an unknown architecture.\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/zfcp +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/zfcp @@ -0,0 +1,709 @@ +/*? + * Text: "%s is not a valid SCSI device\n" + * Severity: Error + * Parameter: + * @1: device specification + * Description: + * The specification for an initial SCSI device provided with the 'zfcp.device' + * kernel parameter or with the 'device' module parameter is syntactically + * incorrect. The specified SCSI device could not be attached to the Linux + * system. + * User action: + * Correct the value for the 'zfcp.device' or 'device' parameter and reboot + * Linux. See "Device Drivers, Features, and Commands" for information about + * the syntax. + */ + +/*? + * Text: "The zfcp device driver could not register with the common I/O layer\n" + * Severity: Error + * Description: + * The device driver initialization failed. A possible cause of this problem is + * memory constraints. + * User action: + * Free some memory and try again to load the zfcp device driver. If the zfcp + * device driver has been compiled into the kernel, reboot Linux. Consider + * assigning more memory to your LPAR or z/VM guest virtual machine. If the + * problem persists, contact your support organization. + */ + +/*? + * Text: "%s: Setting up data structures for the FCP adapter failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The zfcp device driver could not allocate data structures for an FCP adapter. + * A possible reason for this problem is memory constraints. + * User action: + * Set the FCP adapter offline or detach it from the Linux system, free some + * memory and set the FCP adapter online again or attach it again. If this + * problem persists, gather Linux debug data, collect the FCP adapter + * hardware logs, and report the problem to your support organization. + */ + +/*? + * Text: "%s: The FCP device is operational again\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * An FCP device has been unavailable because it had been detached from the + * Linux system or because the corresponding CHPID was offline. The FCP device + * is now available again and the zfcp device driver resumes all operations to + * the FCP device. + * User action: + * None. + */ + +/*? + * Text: "%s: The CHPID for the FCP device is offline\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The CHPID for an FCP device has been set offline, either logically in Linux + * or on the hardware. + * User action: + * Find out which CHPID corresponds to the FCP device, for example, with the + * lscss command. Check if the CHPID has been set logically offline in sysfs. + * Write 'on' to the CHPID's status attribute to set it online. If the CHPID is + * online in sysfs, find out if it has been varied offline through a hardware + * management interface, for example the service element (SE). + */ + +/*? + * Text: "%s: The FCP device has been detached\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * An FCP device is no longer available to Linux. + * User action: + * Ensure that the FCP adapter is operational and attached to the LPAR or z/VM + * virtual machine. + */ + +/*? + * Text: "%s: The FCP device did not respond within the specified time\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The common I/O layer waited for a response from the FCP adapter but + * no response was received within the specified time limit. This might + * indicate a hardware problem. + * User action: + * Consult your hardware administrator. If this problem persists, + * gather Linux debug data, collect the FCP adapter hardware logs, and + * report the problem to your support organization. + */ + +/*? + * Text: "%s: Registering the FCP device with the SCSI stack failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter could not be registered with the Linux SCSI + * stack. A possible reason for this problem is memory constraints. + * User action: + * Set the FCP adapter offline or detach it from the Linux system, free some + * memory and set the FCP adapter online again or attach it again. If this + * problem persists, gather Linux debug data, collect the FCP adapter + * hardware logs, and report the problem to your support organization. + */ + +/*? + * Text: "%s: ERP cannot recover an error on the FCP device\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * An error occurred on an FCP device. The error recovery procedure (ERP) + * could not resolve the error. The FCP device driver cannot use the FCP device. + * User action: + * Check for previous error messages for the same FCP device to find the + * cause of the problem. + */ + +/*? + * Text: "%s: Creating an ERP thread for the FCP device failed.\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The zfcp device driver could not set up error recovery procedure (ERP) + * processing for the FCP device. The FCP device is not available for use + * in Linux. + * User action: + * Free some memory and try again to load the zfcp device driver. If the zfcp + * device driver has been compiled into the kernel, reboot Linux. Consider + * assigning more memory to your LPAR or z/VM guest virtual machine. If the + * problem persists, contact your support organization. + */ + +/*? + * Text: "%s: ERP failed for LUN 0x%016Lx on port 0x%016Lx\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: LUN + * @3: WWPN + * Description: + * An error occurred on the SCSI device at the specified LUN. The error recovery + * procedure (ERP) could not resolve the error. The SCSI device is not + * available. + * User action: + * Verify that the LUN is correct. Check the fibre channel fabric for errors + * related to the specified WWPN and LUN, the storage server, and Linux. + */ + +/*? + * Text: "%s: ERP failed for remote port 0x%016Lx\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: WWPN + * Description: + * An error occurred on a remote port. The error recovery procedure (ERP) + * could not resolve the error. The port is not available. + * User action: + * Verify that the WWPN is correct and check the fibre channel fabric for + * errors related to the WWPN. + */ + +/*? + * Text: "%s: Registering port 0x%016Lx failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: WWPN + * Description: + * The Linux kernel could not allocate enough memory to register the + * remote port with the indicated WWPN with the SCSI stack. The remote + * port is not available. + * User action: + * Free some memory and trigger the rescan for ports. + */ + +/*? + * Text: "%s: A QDIO problem occurred\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * QDIO reported a problem to the zfcp device driver. The zfcp device driver + * tries to recover this problem. + * User action: + * Check for related error messages. If this problem occurs frequently, gather + * Linux debug data and contact your support organization. + */ + +/*? + * Text: "%s: Setting up the QDIO connection to the FCP adapter failed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The zfcp device driver failed to establish a QDIO connection with the FCP + * adapter. + * User action: + * Set the FCP adapter offline or detach it from the Linux system, free some + * memory and set the FCP adapter online again or attach it again. If this + * problem persists, gather Linux debug data, collect the FCP adapter + * hardware logs, and report the problem to your support organization. + */ + +/*? + * Text: "%s: The FCP adapter reported a problem that cannot be recovered\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter has a problem that cannot be recovered by the zfcp device + * driver. The zfcp device driver stopped using the FCP device. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to your support organization. + */ + +/*? + * Text: "%s: There is a wrap plug instead of a fibre channel cable\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter is not physically connected to the fibre channel fabric. + * User action: + * Remove the wrap plug from the FCP adapter and connect the adapter with the + * fibre channel fabric. + */ + +/*? + * Text: "%s: FCP device not operational because of an unsupported FC class\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter hardware does not support the fibre channel service class + * requested by the zfcp device driver. This problem indicates a program error + * in the zfcp device driver. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to your support organization. + */ + +/*? + * Text: "%s: 0x%Lx is an ambiguous request identifier\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: request ID + * Description: + * The FCP adapter reported that it received the same request ID twice. This is + * an error. The zfcp device driver stopped using the FCP device. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to your support organization. + */ + +/*? + * Text: "%s: QTCB version 0x%x not supported by FCP adapter (0x%x to 0x%x)\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: requested version + * @3: lowest supported version + * @4: highest supported version + * Description: + * See message text. + * The queue transfer control block (QTCB) version requested by the zfcp device + * driver is not supported by the FCP adapter hardware. + * User action: + * If the requested version is higher than the highest version supported by the + * hardware, install more recent firmware on the FCP adapter. If the requested + * version is lower then the lowest version supported by the hardware, upgrade + * to a Linux level with a more recent zfcp device driver. + */ + +/*? + * Text: "%s: The FCP adapter could not log in to the fibre channel fabric\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The fibre channel switch rejected the login request from the FCP adapter. + * User action: + * Check the fibre channel fabric or switch logs for possible errors. + */ + +/*? + * Text: "%s: The FCP device is suspended because of a firmware update\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP device is not available while a firmware update is in progress. This + * problem is temporary. The FCP device will resume operations when the + * firmware update is completed. + * User action: + * Wait 10 seconds and try the operation again. + */ + +/*? + * Text: "%s: All NPIV ports on the FCP adapter have been assigned\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The number of N_Port ID Virtualization (NPIV) ports that can be assigned + * on an FCP adapter is limited. Once assigned, NPIV ports are not released + * automatically but have to be released explicitly through the support + * element (SE). + * User action: + * Identify NPIV ports that have been assigned but are no longer in use and + * release them from the SE. + */ + +/*? + * Text: "%s: The link between the FCP adapter and the FC fabric is down\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter is not usable. Specific error information is not available. + * User action: + * Check the cabling and the fibre channel fabric configuration. If this + * problem persists, gather Linux debug data, collect the FCP adapter + * hardware logs, and report the problem to your support organization. + */ + +/*? + * Text: "%s: The QTCB type is not supported by the FCP adapter\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The queue transfer control block (QTCB) type requested by the zfcp device + * driver is not supported by the FCP adapter hardware. + * User action: + * Install the latest firmware on your FCP adapter hardware. If this does not + * resolve the problem, upgrade to a Linux level with a more recent zfcp device + * driver. If the problem persists, contact your support organization. + */ + +/*? + * Text: "%s: The error threshold for checksum statistics has been exceeded\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter has reported a large number of bit errors. This might + * indicate a problem with the physical components of the fibre channel fabric. + * Details about the errors have been written to the HBA trace for the FCP + * adapter. + * User action: + * Check for problems in the fibre channel fabric and ensure that all cables + * are properly plugged. + */ + +/*? + * Text: "%s: The local link has been restored\n" + * Severity: Informational + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * A problem with the connection between the FCP adapter and the adjacent node + * on the fibre channel fabric has been resolved. The FCP adapter is now + * available again. + * User action: + * None. + */ + +/*? + * Text: "%s: The mode table on the FCP adapter has been damaged\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * This is an FCP adapter hardware problem. + * User action: + * Report this problem with FCP hardware logs to IBM support. + */ + +/*? + * Text: "%s: The adjacent fibre channel node does not support FCP\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The fibre channel switch or storage system that is connected to the FCP + * channel does not support the fibre channel protocol (FCP). The zfcp + * device driver stopped using the FCP device. + * User action: + * Check the adjacent fibre channel node. + */ + +/*? + * Text: "%s: The FCP adapter does not recognize the command 0x%x\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: command + * Description: + * A command code that was sent from the zfcp device driver to the FCP adapter + * is not valid. The zfcp device driver stopped using the FCP device. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to your support organization. + */ + +/*? + * Text: "%s: There is no light signal from the local fibre channel cable\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * There is no signal on the fibre channel cable that connects the FCP adapter + * to the fibre channel fabric. + * User action: + * Ensure that the cable is in place and connected properly to the FCP adapter + * and to the adjacent fibre channel switch or storage system. + */ + +/*? + * Text: "%s: The WWPN assignment file on the FCP adapter has been damaged\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * This is an FCP adapter hardware problem. + * User action: + * Report this problem with FCP hardware logs to IBM support. + */ + +/*? + * Text: "%s: The FCP device detected a WWPN that is duplicate or not valid\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * This condition indicates an error in the FCP adapter hardware or in the z/VM + * hypervisor. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to IBM support. + */ + +/*? + * Text: "%s: The fibre channel fabric does not support NPIV\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP adapter requires N_Port ID Virtualization (NPIV) from the adjacent + * fibre channel node. Either the FCP adapter is connected to a fibre channel + * switch that does not support NPIV or the FCP adapter tries to use NPIV in a + * point-to-point setup. The connection is not operational. + * User action: + * Verify that NPIV is correctly used for this connection. Check the FCP adapter + * configuration and the fibre channel switch configuration. If necessary, + * update the fibre channel switch firmware. + */ + +/*? + * Text: "%s: The FCP adapter cannot support more NPIV ports\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * N_Port ID Virtualization (NPIV) ports consume physical resources on the FCP + * adapter. The FCP adapter resources are exhausted. The connection is not + * operational. + * User action: + * Analyze the number of available NPIV ports and which operating system + * instances use them. If necessary, reconfigure your setup to move some + * NPIV ports to an FCP adapter with free resources. + */ + +/*? + * Text: "%s: The adjacent switch cannot support more NPIV ports\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * N_Port ID Virtualization (NPIV) ports consume physical resources. The + * resources of the fibre channel switch that is connected to the FCP adapter + * are exhausted. The connection is not operational. + * User action: + * Analyze the number of available NPIV ports on the adjacent fibre channel + * switch and how they are used. If necessary, reconfigure your fibre channel + * fabric to accommodate the required NPIV ports. + */ + +/*? + * Text: "%s: 0x%x is not a valid transfer protocol status\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: status information + * Description: + * The transfer protocol status information reported by the FCP adapter is not + * a valid status for the zfcp device driver. The zfcp device driver stopped + * using the FCP device. + * User action: + * Gather Linux debug data, collect the FCP adapter hardware logs, and report + * this problem to your support organization. + */ + +/*? + * Text: "%s: Unknown or unsupported arbitrated loop fibre channel topology detected\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The FCP device is connected to a fibre channel arbitrated loop or the FCP adapter + * reported an unknown fibre channel topology. The zfcp device driver supports + * point-to-point connections and switched fibre channel fabrics but not arbitrated + * loop topologies. The FCP device cannot be used. + * User action: + * Check the fibre channel setup and ensure that only supported topologies are + * connected to the FCP adapter. + */ + +/*? + * Text: "%s: FCP adapter maximum QTCB size (%d bytes) is too small\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: maximum supported size + * @3: requested QTCB size + * Description: + * The queue transfer control block (QTCB) size requested by the zfcp + * device driver is not supported by the FCP adapter hardware. + * User action: + * Update the firmware on your FCP adapter hardware to the latest + * available level and update the Linux kernel to the latest supported + * level. If the problem persists, contact your support organization. + */ + +/*? + * Text: "%s: The FCP adapter only supports newer control block versions\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The protocol supported by the FCP adapter is not compatible with the zfcp + * device driver. + * User action: + * Upgrade your Linux kernel to a level that includes a zfcp device driver + * with support for the control block version required by your FCP adapter. + */ + +/*? + * Text: "%s: The FCP adapter only supports older control block versions\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * Description: + * The protocol supported by the FCP adapter is not compatible with the zfcp + * device driver. + * User action: + * Install the latest firmware on your FCP adapter. + */ + +/*? + * Text: "%s: Not enough FCP adapter resources to open remote port 0x%016Lx\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: WWPN + * Description: + * Each port that is opened consumes physical resources of the FCP adapter to + * which it is attached. These resources are exhausted and the specified port + * cannot be opened. + * User action: + * Reduce the total number of remote ports that are attached to the + * FCP adapter. + */ + +/*? + * Text: "%s: LUN 0x%Lx on port 0x%Lx is already in use by CSS%d, MIF Image ID %x\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: LUN + * @3: remote port WWPN + * @4: channel subsystem ID + * @5: MIF Image ID of the LPAR + * Description: + * The SCSI device at the indicated LUN is already in use by another system. + * Only one system at a time can use the SCSI device. + * User action: + * Ensure that the other system stops using the device before trying to use it. + */ + +/*? + * Text: "%s: No handle is available for LUN 0x%016Lx on port 0x%016Lx\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: LUN + * @3: WWPN + * Description: + * The FCP adapter can only open a limited number of SCSI devices. This limit + * has been reached and the SCSI device at the indicated LUN cannot be opened. + * User action: + * For FCP subchannels running in non-NPIV mode, check all SCSI + * devices opened through the FCP adapter and close some of them. For + * FCP subchannels running in NPIV mode, verify the SAN zoning and + * host connections on the storage systems. Ensure that the zoning and + * host connections only allow access to the required LUNs. As a + * workaround, disable the automatic LUN scanning by setting the + * zfcp.allow_lun_scan kernel parameter or the allow_lun_scan module + * parameter to 0. + */ + +/*? + * Text: "%s: Incorrect direction %d, LUN 0x%016Lx on port 0x%016Lx closed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: value in direction field + * @3: LUN + * @4: WWPN + * Description: + * The direction field in a SCSI request contains an incorrect value. The zfcp + * device driver closed down the SCSI device at the indicated LUN. + * User action: + * Gather Linux debug data and report this problem to your support organization. + */ + +/*? + * Text: "%s: Incorrect CDB length %d, LUN 0x%016Lx on port 0x%016Lx closed\n" + * Severity: Error + * Parameter: + * @1: bus ID of the zfcp device + * @2: value in length field + * @3: LUN + * @4: WWPN + * Description: + * The control-data-block (CDB) length field in a SCSI request is not valid or + * too large for the FCP adapter. The zfcp device driver closed down the SCSI + * device at the indicated LUN. + * User action: + * Gather Linux debug data and report this problem to your support organization. + */ + +/*? + * Text: "%s: Opening WKA port 0x%x failed\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: destination ID of the WKA port + * Description: + * The FCP adapter rejected a request to open the specified + * well-known address (WKA) port. No retry is possible. + * User action: + * Verify the setup and check if the maximum number of remote ports + * used through this adapter is below the maximum allowed. If the + * problem persists, gather Linux debug data, collect the FCP adapter + * hardware logs, and report the problem to your support organization. + */ + +/*? + * Text: "%s: The name server reported %d words residual data\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: number of words in residual data + * Description: + * The fibre channel name server sent too much information about remote ports. + * The zfcp device driver did not receive sufficient information to attach all + * available remote ports in the SAN. + * User action: + * Verify that you are running the latest firmware level on the FCP + * adapter. Check your SAN setup and consider reducing the number of ports + * visible to the FCP adapter by using more restrictive zoning in the SAN. + */ + +/*? + * Text: "%s: A port opened with WWPN 0x%016Lx returned data that identifies it as WWPN 0x%016Lx\n" + * Severity: Warning + * Parameter: + * @1: bus ID of the zfcp device + * @2: expected WWPN + * @3: reported WWPN + * Description: + * A remote port was opened successfully, but it reported an + * unexpected WWPN in the returned port login (PLOGI) data. This + * condition might have been caused by a change applied to the SAN + * configuration while the port was being opened. + * User action: + * If this condition is only temporary and access to the remote port + * is possible, no action is required. If the condition persists, + * identify the storage system with the specified WWPN and contact the + * support organization of the storage system. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/s390/zpci +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/s390/zpci @@ -0,0 +1,42 @@ +/*? + * Text: "%s: Event 0x%x reconfigured PCI function 0x%x\n" + * Severity: Informational + * Parameter: + * @1: device name of the function + * @2: PCI event code + * @3: function ID + * Description: + * The availability of a PCI function has changed. + * Possible reasons for the change include PCI configuration actions on the + * Hardware Management Console or hypervisor. + * For shared PCI functions, the function might also have been reserved or + * released by another system. + * If the device name of a function is shown as 'n/a', the device registration + * with the PCI device driver has not completed. + * The function ID identifies the function to the I/O configuration (IOCDS). + * The PCI event code can be useful diagnostic information for your support + * organization. + * User action: + * None. + */ + +/*? + * Text: "%s: Event 0x%x reports an error for PCI function 0x%x\n" + * Severity: Error + * Parameter: + * @1: device name of the function + * @2: PCI event code + * @3: function ID + * Description: + * A PCI function entered an error state from which it cannot recover + * automatically. + * User action: + * Trigger a recovery action by writing '1' to the 'recover' sysfs attribute + * of the PCI function. + * In sysfs, PCI functions are represented as /sys/bus/pci/devices/, + * where is the device name of the function. + * If the device name of a function is shown as 'n/a', the device + * registration with the PCI device driver has not completed. + * If the problem persists, contact your support organization. + */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/sbp_target +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/sbp_target @@ -0,0 +1,49 @@ +/*? Text: "ABORT TASK SET not implemented\n" */ +/*? Text: "ABORT TASK not implemented\n" */ +/*? Text: "Cannot change the directory_id on an active target.\n" */ +/*? Text: "Cannot enable a target with no LUNs!\n" */ +/*? Text: "Could not update Config ROM\n" */ +/*? Text: "Ignoring ORB_POINTER write while active.\n" */ +/*? Text: "LOGICAL UNIT RESET not implemented\n" */ +/*? Text: "Node ACL not found for %s\n" */ +/*? Text: "Only one TPG per Unit is possible.\n" */ +/*? Text: "QUERY LOGINS not implemented\n" */ +/*? Text: "Reconnect timer expired for node: %016llx\n" */ +/*? Text: "SET PASSWORD not implemented\n" */ +/*? Text: "TARGET RESET not implemented\n" */ +/*? Text: "Unable to allocate struct sbp_nacl\n" */ +/*? Text: "Unable to allocate struct sbp_tpg\n" */ +/*? Text: "Unable to allocate struct sbp_tport\n" */ +/*? Text: "Waiting for reconnect from node: %016llx\n" */ +/*? Text: "cannot find login: %d\n" */ +/*? Text: "failed to allocate login descriptor\n" */ +/*? Text: "failed to allocate login response block\n" */ +/*? Text: "failed to allocate session descriptor\n" */ +/*? Text: "failed to init se_session\n" */ +/*? Text: "failed to map command block handler: %d\n" */ +/*? Text: "failed to read peer GUID: %d\n" */ +/*? Text: "ignoring management request while busy\n" */ +/*? Text: "ignoring request from foreign node (%x != %x)\n" */ +/*? Text: "ignoring request with wrong generation\n" */ +/*? Text: "initiator already logged-in\n" */ +/*? Text: "login to unknown LUN: %d\n" */ +/*? Text: "logout from different node ID\n" */ +/*? Text: "max number of logins reached\n" */ +/*? Text: "mgt_agent LOGIN to LUN %d from %016llx\n" */ +/*? Text: "mgt_agent LOGOUT from LUN %d session %d\n" */ +/*? Text: "mgt_agent RECONNECT from %016llx\n" */ +/*? Text: "mgt_agent RECONNECT login GUID doesn't match\n" */ +/*? Text: "mgt_agent RECONNECT unknown login ID\n" */ +/*? Text: "mgt_orb bad request\n" */ +/*? Text: "netif_stop_queue() cannot be called before register_netdev()\n" */ +/*? Text: "refusing exclusive login with other active logins\n" */ +/*? Text: "refusing login while another exclusive login present\n" */ +/*? Text: "sbp_run_transaction: page size ignored\n" */ +/*? Text: "sbp_send_sense: unknown sense format: 0x%x\n" */ +/*? Text: "target_fabric_configfs_init() failed\n" */ +/*? Text: "target_fabric_configfs_register() failed for SBP\n" */ +/*? Text: "unknown management function 0x%x\n" */ +/*? Text: "unlink LUN: failed to update unit directory\n" */ +/*? Text: "flen=%u proglen=%u pass=%u image=%pK from=%s pid=%d\n" */ +/*? Text: "%s selects TX queue %d, but real number of TX queues is %d\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ \ No newline at end of file --- linux-riscv-5.8-5.8.0.orig/Documentation/kmsg/zram +++ linux-riscv-5.8-5.8.0/Documentation/kmsg/zram @@ -0,0 +1,34 @@ +/*? Text: "Error allocating compressor buffer space\n" */ +/*? Text: "Error allocating memory for compressed page: %u, size=%zu\n" */ +/*? Text: "Error creating memory pool\n" */ +/*? Text: "num_devices not specified. Using default: 1\n" */ +/*? Text: "Error allocating compressor working memory!\n" */ +/*? Text: "Error allocating zram address table\n" */ +/*? Text: "Unable to get major number\n" */ +/*? Text: "Compression failed! err=%d\n" */ +/*? Text: "Decompression failed! err=%d, page=%u\n" */ +/*? Text: "There is little point creating a zram of greater than twice the size of memory since we expect a 2:1 compression ratio. Note that zram uses about 0.1%% of the size of the disk when not in use so a huge zram is wasteful.\n\tMemory Size: %zu kB\n\tSize you selected: %llu kB\nContinuing anyway ...\n" */ +/*? Text: "disk size not provided. You can use disksize_kb module param to specify size.\nUsing default: (%u%% of RAM).\n" */ +/*? Text: "Error creating sysfs group" */ +/*? Text: "Error allocating memory for incompressible page: %u\n" */ +/*? Text: "Creating %u devices ...\n" */ +/*? Text: "Initialization failed: err=%d\n" */ +/*? Text: "Error allocating disk queue for device %d\n" */ +/*? Text: "Error allocating disk structure for device %d\n" */ +/*? Text: "Invalid value for num_devices: %u\n" */ +/*? Text: "Error allocating temp memory!\n" */ +/*? Text: "Unable to allocate temp memory\n" */ +/*? Text: "Created %u device(s) ...\n" */ +/*? Text: "There is little point creating a zram of greater than twice the size of memory since we expect a 2:1 compression ratio. Note that zram uses about 0.1%% of the size of the disk when not in use so a huge zram is wasteful.\n\tMemory Size: %lu kB\n\tSize you selected: %llu kB\nContinuing anyway ...\n" */ +/*? Text: "Cannot change disksize for initialized device\n" */ +/*? Text: "Can't change algorithm for initialized device\n" */ +/*? Text: "Cannot initialise %s compressing backend\n" */ +/*? Text: "Cannot change max compression streams\n" */ +/*? Text: "Destroyed %u device(s)\n" */ +/*? Text: "Created %u device(s)\n" */ +/*? Text: "Unable to register zram-control class\n" */ +/*? Text: "Removed device: %s\n" */ +/*? Text: "Added device: %s\n" */ +/*? Text: "Error creating sysfs group for device %d\n" */ +/*? Text: "Error allocating memory for compressed page: %u, size=%u\n" */ +/*? Text: "%s: %d output lines suppressed due to ratelimiting\n" */ \ No newline at end of file --- linux-riscv-5.8-5.8.0.orig/Documentation/networking/device_drivers/amazon/ena.rst +++ linux-riscv-5.8-5.8.0/Documentation/networking/device_drivers/amazon/ena.rst @@ -274,7 +274,7 @@ inputs for hash functions. - The driver configures RSS settings using the AQ SetFeature command (ENA_ADMIN_RSS_HASH_FUNCTION, ENA_ADMIN_RSS_HASH_INPUT and - ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG properties). + ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG properties). - If the NETIF_F_RXHASH flag is set, the 32-bit result of the hash function delivered in the Rx CQ descriptor is set in the received SKB. --- linux-riscv-5.8-5.8.0.orig/Documentation/networking/ip-sysctl.rst +++ linux-riscv-5.8-5.8.0/Documentation/networking/ip-sysctl.rst @@ -630,16 +630,15 @@ default: initial size of receive buffer used by TCP sockets. This value overrides net.core.rmem_default used by other protocols. - Default: 87380 bytes. This value results in window of 65535 with - default setting of tcp_adv_win_scale and tcp_app_win:0 and a bit - less for default tcp_app_win. See below about these variables. + Default: 131072 bytes. + This value results in initial window of 65535. max: maximal size of receive buffer allowed for automatically selected receiver buffers for TCP socket. This value does not override net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables automatic tuning of that socket's receive buffer size, in which case this value is ignored. - Default: between 87380B and 6MB, depending on RAM size. + Default: between 131072 and 6MB, depending on RAM size. tcp_sack - BOOLEAN Enable select acknowledgments (SACKS). @@ -1142,13 +1141,15 @@ icmp_msgs_per_sec - INTEGER Limit maximal number of ICMP packets sent per second from this host. Only messages whose type matches icmp_ratemask (see below) are - controlled by this limit. + controlled by this limit. For security reasons, the precise count + of messages per second is randomized. Default: 1000 icmp_msgs_burst - INTEGER icmp_msgs_per_sec controls number of ICMP packets sent per second, while icmp_msgs_burst controls the burst size of these packets. + For security reasons, the precise burst size is randomized. Default: 50 --- linux-riscv-5.8-5.8.0.orig/Documentation/networking/j1939.rst +++ linux-riscv-5.8-5.8.0/Documentation/networking/j1939.rst @@ -414,8 +414,8 @@ .can_family = AF_CAN, .can_addr.j1939 = { .name = J1939_NO_NAME; - .pgn = 0x30, - .addr = 0x12300, + .addr = 0x30, + .pgn = 0x12300, }, }; --- linux-riscv-5.8-5.8.0.orig/Documentation/networking/tls-offload.rst +++ linux-riscv-5.8-5.8.0/Documentation/networking/tls-offload.rst @@ -428,6 +428,24 @@ which were part of a TLS stream. * ``rx_tls_decrypted_bytes`` - number of TLS payload bytes in RX packets which were successfully decrypted. + * ``rx_tls_ctx`` - number of TLS RX HW offload contexts added to device for + decryption. + * ``rx_tls_del`` - number of TLS RX HW offload contexts deleted from device + (connection has finished). + * ``rx_tls_resync_req_pkt`` - number of received TLS packets with a resync + request. + * ``rx_tls_resync_req_start`` - number of times the TLS async resync request + was started. + * ``rx_tls_resync_req_end`` - number of times the TLS async resync request + properly ended with providing the HW tracked tcp-seq. + * ``rx_tls_resync_req_skip`` - number of times the TLS async resync request + procedure was started by not properly ended. + * ``rx_tls_resync_res_ok`` - number of times the TLS resync response call to + the driver was successfully handled. + * ``rx_tls_resync_res_skip`` - number of times the TLS resync response call to + the driver was terminated unsuccessfully. + * ``rx_tls_err`` - number of RX packets which were part of a TLS stream + but were not decrypted due to unexpected error in the state machine. * ``tx_tls_encrypted_packets`` - number of TX packets passed to the device for encryption of their TLS payload. * ``tx_tls_encrypted_bytes`` - number of TLS payload bytes in TX packets --- linux-riscv-5.8-5.8.0.orig/Documentation/scsi/libsas.rst +++ linux-riscv-5.8-5.8.0/Documentation/scsi/libsas.rst @@ -189,7 +189,6 @@ The event interface:: /* LLDD calls these to notify the class of an event. */ - void (*notify_ha_event)(struct sas_ha_struct *, enum ha_event); void (*notify_port_event)(struct sas_phy *, enum port_event); void (*notify_phy_event)(struct sas_phy *, enum phy_event); --- linux-riscv-5.8-5.8.0.orig/Documentation/security/keys/core.rst +++ linux-riscv-5.8-5.8.0/Documentation/security/keys/core.rst @@ -1040,8 +1040,8 @@ "key" is the ID of the key to be watched. - "queue_fd" is a file descriptor referring to an open "/dev/watch_queue" - which manages the buffer into which notifications will be delivered. + "queue_fd" is a file descriptor referring to an open pipe which + manages the buffer into which notifications will be delivered. "filter" is either NULL to remove a watch or a filter specification to indicate what events are required from the key. --- linux-riscv-5.8-5.8.0.orig/Documentation/security/lsm.rst +++ linux-riscv-5.8-5.8.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/display`` 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-riscv-5.8-5.8.0.orig/Documentation/sound/alsa-configuration.rst +++ linux-riscv-5.8-5.8.0/Documentation/sound/alsa-configuration.rst @@ -1501,7 +1501,7 @@ This module supports multiple cards. Note: One miXart8 board will be represented as 4 alsa cards. -See MIXART.txt for details. +See Documentation/sound/cards/mixart.rst for details. When the driver is compiled as a module and the hotplug firmware is supported, the firmware data is loaded via hotplug automatically. --- linux-riscv-5.8-5.8.0.orig/Documentation/sound/designs/timestamping.rst +++ linux-riscv-5.8-5.8.0/Documentation/sound/designs/timestamping.rst @@ -143,7 +143,7 @@ before returning from the ``STATUS`` and ``STATUS_EXT`` ioctl. in most cases this driver_timestamp will be identical to the regular system tstamp. -Examples of typestamping with HDaudio: +Examples of timestamping with HDAudio: 1. DMA timestamp, no compensation for DMA+analog delay :: --- linux-riscv-5.8-5.8.0.orig/Documentation/sphinx/cdomain.py +++ linux-riscv-5.8-5.8.0/Documentation/sphinx/cdomain.py @@ -32,15 +32,34 @@ """ +import re + from docutils import nodes from docutils.parsers.rst import directives 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 +# 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.0' # Get Sphinx version --- linux-riscv-5.8-5.8.0.orig/Documentation/userspace-api/media/v4l/colorspaces-defs.rst +++ linux-riscv-5.8-5.8.0/Documentation/userspace-api/media/v4l/colorspaces-defs.rst @@ -36,8 +36,7 @@ :c:type:`v4l2_hsv_encoding` specifies which encoding is used. .. note:: The default R'G'B' quantization is full range for all - colorspaces except for BT.2020 which uses limited range R'G'B' - quantization. + colorspaces. HSV formats are always full range. .. tabularcolumns:: |p{6.7cm}|p{10.8cm}| @@ -169,8 +168,8 @@ - Details * - ``V4L2_QUANTIZATION_DEFAULT`` - Use the default quantization encoding as defined by the - colorspace. This is always full range for R'G'B' (except for the - BT.2020 colorspace) and HSV. It is usually limited range for Y'CbCr. + colorspace. This is always full range for R'G'B' and HSV. + It is usually limited range for Y'CbCr. * - ``V4L2_QUANTIZATION_FULL_RANGE`` - Use the full range quantization encoding. I.e. the range [0…1] is mapped to [0…255] (with possible clipping to [1…254] to avoid the @@ -180,4 +179,4 @@ * - ``V4L2_QUANTIZATION_LIM_RANGE`` - Use the limited range quantization encoding. I.e. the range [0…1] is mapped to [16…235]. Cb and Cr are mapped from [-0.5…0.5] to - [16…240]. + [16…240]. Limited Range cannot be used with HSV. --- linux-riscv-5.8-5.8.0.orig/Documentation/userspace-api/media/v4l/colorspaces-details.rst +++ linux-riscv-5.8-5.8.0/Documentation/userspace-api/media/v4l/colorspaces-details.rst @@ -377,9 +377,8 @@ The :ref:`itu2020` standard defines the colorspace used by Ultra-high definition television (UHDTV). The default transfer function is ``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is -``V4L2_YCBCR_ENC_BT2020``. The default R'G'B' quantization is limited -range (!), and so is the default Y'CbCr quantization. The chromaticities -of the primary colors and the white reference are: +``V4L2_YCBCR_ENC_BT2020``. The default Y'CbCr quantization is limited range. +The chromaticities of the primary colors and the white reference are: --- linux-riscv-5.8-5.8.0.orig/Documentation/virt/kvm/api.rst +++ linux-riscv-5.8-5.8.0/Documentation/virt/kvm/api.rst @@ -182,6 +182,9 @@ be retrieved using KVM_CAP_ARM_VM_IPA_SIZE of the KVM_CHECK_EXTENSION ioctl() at run-time. +Creation of the VM will fail if the requested IPA size (whether it is +implicit or explicit) is unsupported on the host. + Please note that configuring the IPA size does not affect the capability exposed by the guest CPUs in ID_AA64MMFR0_EL1[PARange]. It only affects size of the address translated by the stage2 level (guest physical to @@ -1260,6 +1263,9 @@ the entire memory slot size. Any object may back this memory, including anonymous memory, ordinary files, and hugetlbfs. +On architectures that support a form of address tagging, userspace_addr must +be an untagged address. + It is recommended that the lower 21 bits of guest_phys_addr and userspace_addr be identical. This allows large pages in the guest to be backed by large pages in the host. @@ -1312,7 +1318,7 @@ :Capability: KVM_CAP_ENABLE_CAP_VM :Architectures: all -:Type: vcpu ioctl +:Type: vm ioctl :Parameters: struct kvm_enable_cap (in) :Returns: 0 on success; -1 on error --- linux-riscv-5.8-5.8.0.orig/Documentation/virt/kvm/mmu.rst +++ linux-riscv-5.8-5.8.0/Documentation/virt/kvm/mmu.rst @@ -455,7 +455,7 @@ number, it will ignore the cached MMIO information and handle the page fault through the slow path. -Since only 19 bits are used to store generation-number on mmio spte, all +Since only 18 bits are used to store generation-number on mmio spte, all pages are zapped when there is an overflow. Unfortunately, a single memory access might access kvm_memslots(kvm) multiple --- linux-riscv-5.8-5.8.0.orig/Documentation/x86/topology.rst +++ linux-riscv-5.8-5.8.0/Documentation/x86/topology.rst @@ -41,6 +41,8 @@ Packages contain a number of cores plus shared resources, e.g. DRAM controller, shared caches etc. +Modern systems may also use the term 'Die' for package. + AMD nomenclature for package is 'Node'. Package-related topology information in the kernel: @@ -53,11 +55,18 @@ The number of dies in a package. This information is retrieved via CPUID. + - cpuinfo_x86.cpu_die_id: + + The physical ID of the die. This information is retrieved via CPUID. + - cpuinfo_x86.phys_proc_id: The physical ID of the package. This information is retrieved via CPUID and deduced from the APIC IDs of the cores in the package. + Modern systems use this value for the socket. There may be multiple + packages within a socket. This value may differ from cpu_die_id. + - cpuinfo_x86.logical_proc_id: The logical ID of the package. As we do not trust BIOSes to enumerate the --- linux-riscv-5.8-5.8.0.orig/Documentation/xtensa/mmu.rst +++ linux-riscv-5.8-5.8.0/Documentation/xtensa/mmu.rst @@ -82,7 +82,8 @@ +------------------+ | VMALLOC area | VMALLOC_START 0xc0000000 128MB - 64KB +------------------+ VMALLOC_END - | Cache aliasing | TLBTEMP_BASE_1 0xc7ff0000 DCACHE_WAY_SIZE + +------------------+ + | Cache aliasing | TLBTEMP_BASE_1 0xc8000000 DCACHE_WAY_SIZE | remap area 1 | +------------------+ | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE @@ -124,7 +125,8 @@ +------------------+ | VMALLOC area | VMALLOC_START 0xa0000000 128MB - 64KB +------------------+ VMALLOC_END - | Cache aliasing | TLBTEMP_BASE_1 0xa7ff0000 DCACHE_WAY_SIZE + +------------------+ + | Cache aliasing | TLBTEMP_BASE_1 0xa8000000 DCACHE_WAY_SIZE | remap area 1 | +------------------+ | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE @@ -167,7 +169,8 @@ +------------------+ | VMALLOC area | VMALLOC_START 0x90000000 128MB - 64KB +------------------+ VMALLOC_END - | Cache aliasing | TLBTEMP_BASE_1 0x97ff0000 DCACHE_WAY_SIZE + +------------------+ + | Cache aliasing | TLBTEMP_BASE_1 0x98000000 DCACHE_WAY_SIZE | remap area 1 | +------------------+ | Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE --- linux-riscv-5.8-5.8.0.orig/Kconfig +++ linux-riscv-5.8-5.8.0/Kconfig @@ -19,6 +19,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "security/Kconfig" --- linux-riscv-5.8-5.8.0.orig/MAINTAINERS +++ linux-riscv-5.8-5.8.0/MAINTAINERS @@ -1170,7 +1170,7 @@ M: Martijn Coenen M: Joel Fernandes M: Christian Brauner -L: devel@driverdev.osuosl.org +L: linux-kernel@vger.kernel.org S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git F: drivers/android/ @@ -2984,6 +2984,19 @@ F: include/uapi/linux/audit.h F: kernel/audit* +AUFS (advanced multi layered unification filesystem) FILESYSTEM +M: "J. R. Okajima" +L: aufs-users@lists.sourceforge.net (members only) +L: linux-unionfs@vger.kernel.org +W: http://aufs.sourceforge.net +T: git://github.com/sfjro/aufs4-linux.git +S: Supported +F: Documentation/filesystems/aufs/ +F: Documentation/ABI/testing/debugfs-aufs +F: Documentation/ABI/testing/sysfs-aufs +F: fs/aufs/ +F: include/uapi/linux/aufs_type.h + AUXILIARY DISPLAY DRIVERS M: Miguel Ojeda Sandonis S: Maintained @@ -16289,7 +16302,7 @@ STAGING SUBSYSTEM M: Greg Kroah-Hartman -L: devel@driverdev.osuosl.org +L: linux-staging@lists.linux.dev S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git F: drivers/staging/ @@ -18302,7 +18315,7 @@ M: Martyn Welch M: Manohar Vanga M: Greg Kroah-Hartman -L: devel@driverdev.osuosl.org +L: linux-kernel@vger.kernel.org S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git F: Documentation/driver-api/vme.rst --- linux-riscv-5.8-5.8.0.orig/Makefile +++ linux-riscv-5.8-5.8.0/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 8 -SUBLEVEL = 0 +SUBLEVEL = 18 EXTRAVERSION = NAME = Kleptomaniac Octopus @@ -212,6 +212,20 @@ KBUILD_CHECKSRC = 0 endif +# Call message checker as part of the C compilation +# +# Use 'make D=1' to enable checking +# Use 'make D=2' to create the message catalog + +ifdef D + ifeq ("$(origin D)", "command line") + KBUILD_KMSG_CHECK = $(D) + endif +endif +ifndef KBUILD_KMSG_CHECK + KBUILD_KMSG_CHECK = 0 +endif + # Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the # directory of external module to build. Setting M= takes precedence. ifeq ("$(origin M)", "command line") @@ -266,7 +280,7 @@ %asm-generic kernelversion %src-pkg dt_binding_check \ outputmakefile no-sync-config-targets := $(no-dot-config-targets) install %install \ - kernelrelease + kernelrelease image_name single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/ config-build := @@ -452,7 +466,7 @@ YACC = bison AWK = awk INSTALLKERNEL := installkernel -DEPMOD = /sbin/depmod +DEPMOD = depmod PERL = perl PYTHON = python PYTHON3 = python3 @@ -467,6 +481,7 @@ CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF) +KMSG_CHECK = $(srctree)/scripts/kmsg-doc NOSTDINC_FLAGS := CFLAGS_MODULE = AFLAGS_MODULE = @@ -475,6 +490,13 @@ AFLAGS_KERNEL = LDFLAGS_vmlinux = +# Prefer linux-backports-modules +ifneq ($(KBUILD_SRC),) +ifneq ($(shell if test -e $(KBUILD_OUTPUT)/ubuntu-build; then echo yes; fi),yes) +UBUNTUINCLUDE := -I/usr/src/linux-headers-lbm-$(KERNELRELEASE) +endif +endif + # Use USERINCLUDE when you must reference the UAPI directories only. USERINCLUDE := \ -I$(srctree)/arch/$(SRCARCH)/include/uapi \ @@ -486,17 +508,21 @@ # Use LINUXINCLUDE when you must reference the include/ directory. # Needed to be compatible with the O= option LINUXINCLUDE := \ + $(UBUNTUINCLUDE) \ -I$(srctree)/arch/$(SRCARCH)/include \ -I$(objtree)/arch/$(SRCARCH)/include/generated \ $(if $(building_out_of_srctree),-I$(srctree)/include) \ -I$(objtree)/include \ $(USERINCLUDE) +# UBUNTU: Include our third party driver stuff too +LINUXINCLUDE += -Iubuntu/include $(if $(KBUILD_SRC),-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 \ -Werror=implicit-function-declaration -Werror=implicit-int \ - -Wno-format-security \ + -Werror=return-type -Wno-format-security \ -std=gnu89 KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_AFLAGS_KERNEL := @@ -519,6 +545,7 @@ export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN CFLAGS_KCSAN export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE +export KBUILD_KMSG_CHECK KMSG_CHECK export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL @@ -651,7 +678,7 @@ ifeq ($(KBUILD_EXTMOD),) # Objects we will link into vmlinux / subdirs we need to visit core-y := init/ usr/ -drivers-y := drivers/ sound/ +drivers-y := drivers/ sound/ ubuntu/ drivers-$(CONFIG_SAMPLES) += samples/ drivers-y += net/ virt/ libs-y := lib/ @@ -815,8 +842,11 @@ else DEBUG_CFLAGS += -g endif +ifneq ($(LLVM_IAS),1) KBUILD_AFLAGS += -Wa,-gdwarf-2 endif +endif + ifdef CONFIG_DEBUG_INFO_DWARF4 DEBUG_CFLAGS += -gdwarf-4 endif @@ -876,10 +906,6 @@ LDFLAGS_vmlinux += --gc-sections endif -ifdef CONFIG_LIVEPATCH -KBUILD_CFLAGS += $(call cc-option, -flive-patching=inline-clone) -endif - ifdef CONFIG_SHADOW_CALL_STACK CC_FLAGS_SCS := -fsanitize=shadow-call-stack KBUILD_CFLAGS += $(CC_FLAGS_SCS) @@ -942,12 +968,6 @@ # change __FILE__ to the relative path from the srctree KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) -# ensure -fcf-protection is disabled when using retpoline as it is -# incompatible with -mindirect-branch=thunk-extern -ifdef CONFIG_RETPOLINE -KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none) -endif - include scripts/Makefile.kasan include scripts/Makefile.extrawarn include scripts/Makefile.ubsan @@ -958,8 +978,8 @@ KBUILD_AFLAGS += $(KAFLAGS) KBUILD_CFLAGS += $(KCFLAGS) -KBUILD_LDFLAGS_MODULE += --build-id -LDFLAGS_vmlinux += --build-id +KBUILD_LDFLAGS_MODULE += --build-id=sha1 +LDFLAGS_vmlinux += --build-id=sha1 ifeq ($(CONFIG_STRIP_ASM_SYMS),y) LDFLAGS_vmlinux += $(call ld-option, -X,) @@ -1215,11 +1235,19 @@ endef define filechk_version.h - echo \#define LINUX_VERSION_CODE $(shell \ - expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \ - echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' + if [ $(SUBLEVEL) -gt 255 ]; then \ + echo \#define LINUX_VERSION_CODE $(shell \ + expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \ + else \ + echo \#define LINUX_VERSION_CODE $(shell \ + expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \ + fi; \ + echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \ + ((c) > 255 ? 255 : (c)))' endef +$(version_h): PATCHLEVEL := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0) +$(version_h): SUBLEVEL := $(if $(SUBLEVEL), $(SUBLEVEL), 0) $(version_h): FORCE $(call filechk,version.h) $(Q)rm -f $(old_version_h) @@ -1258,6 +1286,7 @@ $(error Headers not exportable for the $(SRCARCH) architecture)) $(Q)$(MAKE) $(hdr-inst)=include/uapi $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi + $(Q)$(MAKE) $(hdr-inst)=ubuntu/include dst=include oldheaders= # Deprecated. It is no-op now. PHONY += headers_check --- linux-riscv-5.8-5.8.0.orig/arch/Kconfig +++ linux-riscv-5.8-5.8.0/arch/Kconfig @@ -131,6 +131,22 @@ managed by the kernel and kept transparent to the probed application. ) +config HAVE_64BIT_ALIGNED_ACCESS + def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS + help + Some architectures require 64 bit accesses to be 64 bit + aligned, which also requires structs containing 64 bit values + to be 64 bit aligned too. This includes some 32 bit + architectures which can do 64 bit accesses, as well as 64 bit + architectures without unaligned access. + + This symbol should be selected by an architecture if 64 bit + accesses are required to be 64 bit aligned in this way even + though it is not a 64 bit architecture. + + See Documentation/unaligned-memory-access.txt for more + information on the topic of unaligned memory accesses. + config HAVE_EFFICIENT_UNALIGNED_ACCESS bool help @@ -411,6 +427,13 @@ bool depends on MMU_GATHER_TABLE_FREE +config ARCH_WANT_IRQS_OFF_ACTIVATE_MM + bool + help + Temporary select until all architectures can be converted to have + irqs disabled over activate_mm. Architectures that do IPI based TLB + shootdowns should enable this. + config ARCH_HAVE_NMI_SAFE_CMPXCHG bool @@ -979,6 +1002,12 @@ entries at 4000, 5000 and 6000 locations. This option turns on syscall related optimizations for a given architecture. +config ARCH_SPLIT_ARG64 + bool + help + If a 32-bit architecture requires 64-bit arguments to be split into + pairs of 32-bit arguments, select this option. + source "kernel/gcov/Kconfig" source "scripts/gcc-plugins/Kconfig" --- linux-riscv-5.8-5.8.0.orig/arch/alpha/include/asm/io.h +++ linux-riscv-5.8-5.8.0/arch/alpha/include/asm/io.h @@ -489,10 +489,10 @@ } #endif -#define ioread16be(p) be16_to_cpu(ioread16(p)) -#define ioread32be(p) be32_to_cpu(ioread32(p)) -#define iowrite16be(v,p) iowrite16(cpu_to_be16(v), (p)) -#define iowrite32be(v,p) iowrite32(cpu_to_be32(v), (p)) +#define ioread16be(p) swab16(ioread16(p)) +#define ioread32be(p) swab32(ioread32(p)) +#define iowrite16be(v,p) iowrite16(swab16(v), (p)) +#define iowrite32be(v,p) iowrite32(swab32(v), (p)) #define inb_p inb #define inw_p inw --- linux-riscv-5.8-5.8.0.orig/arch/arc/Makefile +++ linux-riscv-5.8-5.8.0/arch/arc/Makefile @@ -107,16 +107,22 @@ boot := arch/arc/boot -#default target for make without any arguments. -KBUILD_IMAGE := $(boot)/bootpImage - -all: bootpImage -bootpImage: vmlinux - -boot_targets += uImage uImage.bin uImage.gz +boot_targets := uImage.bin uImage.gz uImage.lzma +PHONY += $(boot_targets) $(boot_targets): vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ +uimage-default-y := uImage.bin +uimage-default-$(CONFIG_KERNEL_GZIP) := uImage.gz +uimage-default-$(CONFIG_KERNEL_LZMA) := uImage.lzma + +PHONY += uImage +uImage: $(uimage-default-y) + @ln -sf $< $(boot)/uImage + @$(kecho) ' Image $(boot)/uImage is ready' + +CLEAN_FILES += $(boot)/uImage + archclean: $(Q)$(MAKE) $(clean)=$(boot) --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/Makefile +++ linux-riscv-5.8-5.8.0/arch/arc/boot/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -targets := vmlinux.bin vmlinux.bin.gz uImage +targets := vmlinux.bin vmlinux.bin.gz # uImage build relies on mkimage being availble on your host for ARC target # You will need to build u-boot for ARC, rename mkimage to arc-elf32-mkimage @@ -13,11 +13,6 @@ UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE) UIMAGE_ENTRYADDR = $(LINUX_START_TEXT) -suffix-y := bin -suffix-$(CONFIG_KERNEL_GZIP) := gz -suffix-$(CONFIG_KERNEL_LZMA) := lzma - -targets += uImage targets += uImage.bin targets += uImage.gz targets += uImage.lzma @@ -42,7 +37,3 @@ $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FORCE $(call if_changed,uimage,lzma) - -$(obj)/uImage: $(obj)/uImage.$(suffix-y) - @ln -sf $(notdir $<) $@ - @echo ' Image $@ is ready' --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/axc001.dtsi +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/axc001.dtsi @@ -91,7 +91,7 @@ * avoid duplicating the MB dtsi file given that IRQ from * this intc to cpu intc are different for axs101 and axs103 */ - mb_intc: dw-apb-ictl@e0012000 { + mb_intc: interrupt-controller@e0012000 { #interrupt-cells = <1>; compatible = "snps,dw-apb-ictl"; reg = < 0x0 0xe0012000 0x0 0x200 >; --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/axc003.dtsi +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/axc003.dtsi @@ -129,7 +129,7 @@ * avoid duplicating the MB dtsi file given that IRQ from * this intc to cpu intc are different for axs101 and axs103 */ - mb_intc: dw-apb-ictl@e0012000 { + mb_intc: interrupt-controller@e0012000 { #interrupt-cells = <1>; compatible = "snps,dw-apb-ictl"; reg = < 0x0 0xe0012000 0x0 0x200 >; --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/axc003_idu.dtsi +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/axc003_idu.dtsi @@ -135,7 +135,7 @@ * avoid duplicating the MB dtsi file given that IRQ from * this intc to cpu intc are different for axs101 and axs103 */ - mb_intc: dw-apb-ictl@e0012000 { + mb_intc: interrupt-controller@e0012000 { #interrupt-cells = <1>; compatible = "snps,dw-apb-ictl"; reg = < 0x0 0xe0012000 0x0 0x200 >; --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/hsdk.dts +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/hsdk.dts @@ -88,6 +88,8 @@ arcpct: pct { compatible = "snps,archs-pct"; + interrupt-parent = <&cpu_intc>; + interrupts = <20>; }; /* TIMER0 with interrupt for clockevent */ @@ -208,7 +210,7 @@ reg = <0x8000 0x2000>; interrupts = <10>; interrupt-names = "macirq"; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; snps,pbl = <32>; snps,multicast-filter-bins = <256>; clocks = <&gmacclk>; @@ -226,7 +228,7 @@ #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; - phy0: ethernet-phy@0 { + phy0: ethernet-phy@0 { /* Micrel KSZ9031 */ reg = <0>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/vdk_axc003.dtsi +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/vdk_axc003.dtsi @@ -46,7 +46,7 @@ }; - mb_intc: dw-apb-ictl@e0012000 { + mb_intc: interrupt-controller@e0012000 { #interrupt-cells = <1>; compatible = "snps,dw-apb-ictl"; reg = < 0xe0012000 0x200 >; --- linux-riscv-5.8-5.8.0.orig/arch/arc/boot/dts/vdk_axc003_idu.dtsi +++ linux-riscv-5.8-5.8.0/arch/arc/boot/dts/vdk_axc003_idu.dtsi @@ -54,7 +54,7 @@ }; - mb_intc: dw-apb-ictl@e0012000 { + mb_intc: interrupt-controller@e0012000 { #interrupt-cells = <1>; compatible = "snps,dw-apb-ictl"; reg = < 0xe0012000 0x200 >; --- linux-riscv-5.8-5.8.0.orig/arch/arc/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/arc/include/asm/Kbuild @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 generic-y += extable.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += parport.h generic-y += user.h --- linux-riscv-5.8-5.8.0.orig/arch/arc/include/asm/page.h +++ linux-riscv-5.8-5.8.0/arch/arc/include/asm/page.h @@ -10,6 +10,7 @@ #ifndef __ASSEMBLY__ #define clear_page(paddr) memset((paddr), 0, PAGE_SIZE) +#define copy_user_page(to, from, vaddr, pg) copy_page(to, from) #define copy_page(to, from) memcpy((to), (from), PAGE_SIZE) struct vm_area_struct; --- linux-riscv-5.8-5.8.0.orig/arch/arc/include/asm/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/arc/include/asm/pgtable.h @@ -134,8 +134,10 @@ #ifdef CONFIG_ARC_HAS_PAE40 #define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE) +#define MAX_POSSIBLE_PHYSMEM_BITS 40 #else #define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE) +#define MAX_POSSIBLE_PHYSMEM_BITS 32 #endif /************************************************************************** --- linux-riscv-5.8-5.8.0.orig/arch/arc/kernel/head.S +++ linux-riscv-5.8-5.8.0/arch/arc/kernel/head.S @@ -67,7 +67,22 @@ sr r5, [ARC_REG_LPB_CTRL] 1: #endif /* CONFIG_ARC_LPB_DISABLE */ -#endif + + /* On HSDK, CCMs need to remapped super early */ +#ifdef CONFIG_ARC_SOC_HSDK + mov r6, 0x60000000 + lr r5, [ARC_REG_ICCM_BUILD] + breq r5, 0, 1f + sr r6, [ARC_REG_AUX_ICCM] +1: + lr r5, [ARC_REG_DCCM_BUILD] + breq r5, 0, 2f + sr r6, [ARC_REG_AUX_DCCM] +2: +#endif /* CONFIG_ARC_SOC_HSDK */ + +#endif /* CONFIG_ISA_ARCV2 */ + ; Config DSP_CTRL properly, so kernel may use integer multiply, ; multiply-accumulate, and divide operations DSP_EARLY_INIT --- linux-riscv-5.8-5.8.0.orig/arch/arc/kernel/perf_event.c +++ linux-riscv-5.8-5.8.0/arch/arc/kernel/perf_event.c @@ -562,7 +562,7 @@ { struct arc_reg_pct_build pct_bcr; struct arc_reg_cc_build cc_bcr; - int i, has_interrupts; + int i, has_interrupts, irq = -1; int counter_size; /* in bits */ union cc_name { @@ -638,22 +638,25 @@ }; if (has_interrupts) { - int irq = platform_get_irq(pdev, 0); - - if (irq < 0) { - pr_err("Cannot get IRQ number for the platform\n"); - return -ENODEV; + irq = platform_get_irq(pdev, 0); + if (irq >= 0) { + int ret; + + arc_pmu->irq = irq; + + /* intc map function ensures irq_set_percpu_devid() called */ + ret = request_percpu_irq(irq, arc_pmu_intr, "ARC perf counters", + this_cpu_ptr(&arc_pmu_cpu)); + + if (!ret) + on_each_cpu(arc_cpu_pmu_irq_init, &irq, 1); + else + irq = -1; } - arc_pmu->irq = irq; - - /* intc map function ensures irq_set_percpu_devid() called */ - request_percpu_irq(irq, arc_pmu_intr, "ARC perf counters", - this_cpu_ptr(&arc_pmu_cpu)); - - on_each_cpu(arc_cpu_pmu_irq_init, &irq, 1); + } - } else + if (irq == -1) arc_pmu->pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT; /* --- linux-riscv-5.8-5.8.0.orig/arch/arc/kernel/signal.c +++ linux-riscv-5.8-5.8.0/arch/arc/kernel/signal.c @@ -96,7 +96,7 @@ sizeof(sf->uc.uc_mcontext.regs.scratch)); err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(sigset_t)); - return err; + return err ? -EFAULT : 0; } static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf) @@ -110,7 +110,7 @@ &(sf->uc.uc_mcontext.regs.scratch), sizeof(sf->uc.uc_mcontext.regs.scratch)); if (err) - return err; + return -EFAULT; set_current_blocked(&set); regs->bta = uregs.scratch.bta; --- linux-riscv-5.8-5.8.0.orig/arch/arc/kernel/stacktrace.c +++ linux-riscv-5.8-5.8.0/arch/arc/kernel/stacktrace.c @@ -38,15 +38,15 @@ #ifdef CONFIG_ARC_DW2_UNWIND -static void seed_unwind_frame_info(struct task_struct *tsk, - struct pt_regs *regs, - struct unwind_frame_info *frame_info) +static int +seed_unwind_frame_info(struct task_struct *tsk, struct pt_regs *regs, + struct unwind_frame_info *frame_info) { /* * synchronous unwinding (e.g. dump_stack) * - uses current values of SP and friends */ - if (tsk == NULL && regs == NULL) { + if (regs == NULL && (tsk == NULL || tsk == current)) { unsigned long fp, sp, blink, ret; frame_info->task = current; @@ -65,11 +65,15 @@ frame_info->call_frame = 0; } else if (regs == NULL) { /* - * Asynchronous unwinding of sleeping task - * - Gets SP etc from task's pt_regs (saved bottom of kernel - * mode stack of task) + * Asynchronous unwinding of a likely sleeping task + * - first ensure it is actually sleeping + * - if so, it will be in __switch_to, kernel mode SP of task + * is safe-kept and BLINK at a well known location in there */ + if (tsk->state == TASK_RUNNING) + return -1; + frame_info->task = tsk; frame_info->regs.r27 = TSK_K_FP(tsk); @@ -103,6 +107,8 @@ frame_info->regs.r63 = regs->ret; frame_info->call_frame = 0; } + + return 0; } #endif @@ -112,11 +118,12 @@ int (*consumer_fn) (unsigned int, void *), void *arg) { #ifdef CONFIG_ARC_DW2_UNWIND - int ret = 0; + int ret = 0, cnt = 0; unsigned int address; struct unwind_frame_info frame_info; - seed_unwind_frame_info(tsk, regs, &frame_info); + if (seed_unwind_frame_info(tsk, regs, &frame_info)) + return 0; while (1) { address = UNW_PC(&frame_info); @@ -132,6 +139,11 @@ break; frame_info.regs.r63 = frame_info.regs.r31; + + if (cnt++ > 128) { + printk("unwinder looping too long, aborting !\n"); + return 0; + } } return address; /* return the last address it saw */ --- linux-riscv-5.8-5.8.0.orig/arch/arc/kernel/troubleshoot.c +++ linux-riscv-5.8-5.8.0/arch/arc/kernel/troubleshoot.c @@ -18,44 +18,37 @@ #define ARC_PATH_MAX 256 -/* - * Common routine to print scratch regs (r0-r12) or callee regs (r13-r25) - * -Prints 3 regs per line and a CR. - * -To continue, callee regs right after scratch, special handling of CR - */ -static noinline void print_reg_file(long *reg_rev, int start_num) -{ - unsigned int i; - char buf[512]; - int n = 0, len = sizeof(buf); - - for (i = start_num; i < start_num + 13; i++) { - n += scnprintf(buf + n, len - n, "r%02u: 0x%08lx\t", - i, (unsigned long)*reg_rev); - - if (((i + 1) % 3) == 0) - n += scnprintf(buf + n, len - n, "\n"); - - /* because pt_regs has regs reversed: r12..r0, r25..r13 */ - if (is_isa_arcv2() && start_num == 0) - reg_rev++; - else - reg_rev--; - } - - if (start_num != 0) - n += scnprintf(buf + n, len - n, "\n\n"); - - /* To continue printing callee regs on same line as scratch regs */ - if (start_num == 0) - pr_info("%s", buf); - else - pr_cont("%s\n", buf); -} - -static void show_callee_regs(struct callee_regs *cregs) +static noinline void print_regs_scratch(struct pt_regs *regs) { - print_reg_file(&(cregs->r13), 13); + pr_cont("BTA: 0x%08lx\n SP: 0x%08lx FP: 0x%08lx BLK: %pS\n", + regs->bta, regs->sp, regs->fp, (void *)regs->blink); + pr_cont("LPS: 0x%08lx\tLPE: 0x%08lx\tLPC: 0x%08lx\n", + regs->lp_start, regs->lp_end, regs->lp_count); + + pr_info("r00: 0x%08lx\tr01: 0x%08lx\tr02: 0x%08lx\n" \ + "r03: 0x%08lx\tr04: 0x%08lx\tr05: 0x%08lx\n" \ + "r06: 0x%08lx\tr07: 0x%08lx\tr08: 0x%08lx\n" \ + "r09: 0x%08lx\tr10: 0x%08lx\tr11: 0x%08lx\n" \ + "r12: 0x%08lx\t", + regs->r0, regs->r1, regs->r2, + regs->r3, regs->r4, regs->r5, + regs->r6, regs->r7, regs->r8, + regs->r9, regs->r10, regs->r11, + regs->r12); +} + +static void print_regs_callee(struct callee_regs *regs) +{ + pr_cont("r13: 0x%08lx\tr14: 0x%08lx\n" \ + "r15: 0x%08lx\tr16: 0x%08lx\tr17: 0x%08lx\n" \ + "r18: 0x%08lx\tr19: 0x%08lx\tr20: 0x%08lx\n" \ + "r21: 0x%08lx\tr22: 0x%08lx\tr23: 0x%08lx\n" \ + "r24: 0x%08lx\tr25: 0x%08lx\n", + regs->r13, regs->r14, + regs->r15, regs->r16, regs->r17, + regs->r18, regs->r19, regs->r20, + regs->r21, regs->r22, regs->r23, + regs->r24, regs->r25); } static void print_task_path_n_nm(struct task_struct *tsk) @@ -175,7 +168,7 @@ void show_regs(struct pt_regs *regs) { struct task_struct *tsk = current; - struct callee_regs *cregs; + struct callee_regs *cregs = (struct callee_regs *)tsk->thread.callee_reg; /* * generic code calls us with preemption disabled, but some calls @@ -204,25 +197,15 @@ STS_BIT(regs, A2), STS_BIT(regs, A1), STS_BIT(regs, E2), STS_BIT(regs, E1)); #else - pr_cont(" [%2s%2s%2s%2s]", + pr_cont(" [%2s%2s%2s%2s] ", STS_BIT(regs, IE), (regs->status32 & STATUS_U_MASK) ? "U " : "K ", STS_BIT(regs, DE), STS_BIT(regs, AE)); #endif - pr_cont(" BTA: 0x%08lx\n SP: 0x%08lx FP: 0x%08lx BLK: %pS\n", - regs->bta, regs->sp, regs->fp, (void *)regs->blink); - pr_info("LPS: 0x%08lx\tLPE: 0x%08lx\tLPC: 0x%08lx\n", - regs->lp_start, regs->lp_end, regs->lp_count); - - /* print regs->r0 thru regs->r12 - * Sequential printing was generating horrible code - */ - print_reg_file(&(regs->r0), 0); - /* If Callee regs were saved, display them too */ - cregs = (struct callee_regs *)current->thread.callee_reg; + print_regs_scratch(regs); if (cregs) - show_callee_regs(cregs); + print_regs_callee(cregs); preempt_disable(); } --- linux-riscv-5.8-5.8.0.orig/arch/arc/mm/init.c +++ linux-riscv-5.8-5.8.0/arch/arc/mm/init.c @@ -27,8 +27,8 @@ #ifdef CONFIG_HIGHMEM static unsigned long min_high_pfn, max_high_pfn; -static u64 high_mem_start; -static u64 high_mem_sz; +static phys_addr_t high_mem_start; +static phys_addr_t high_mem_sz; #endif #ifdef CONFIG_DISCONTIGMEM @@ -70,6 +70,7 @@ high_mem_sz = size; in_use = 1; memblock_add_node(base, size, 1); + memblock_reserve(base, size); #endif } @@ -158,7 +159,7 @@ min_high_pfn = PFN_DOWN(high_mem_start); max_high_pfn = PFN_DOWN(high_mem_start + high_mem_sz); - max_zone_pfn[ZONE_HIGHMEM] = max_high_pfn; + max_zone_pfn[ZONE_HIGHMEM] = min_low_pfn; high_memory = (void *)(min_high_pfn << PAGE_SHIFT); kmap_init(); @@ -167,22 +168,26 @@ free_area_init(max_zone_pfn); } -/* - * mem_init - initializes memory - * - * Frees up bootmem - * Calculates and displays memory available/used - */ -void __init mem_init(void) +static void __init highmem_init(void) { #ifdef CONFIG_HIGHMEM unsigned long tmp; - reset_all_zones_managed_pages(); + memblock_free(high_mem_start, high_mem_sz); for (tmp = min_high_pfn; tmp < max_high_pfn; tmp++) free_highmem_page(pfn_to_page(tmp)); #endif +} +/* + * mem_init - initializes memory + * + * Frees up bootmem + * Calculates and displays memory available/used + */ +void __init mem_init(void) +{ memblock_free_all(); + highmem_init(); mem_init_print_info(NULL); } --- linux-riscv-5.8-5.8.0.orig/arch/arc/plat-eznps/include/plat/ctop.h +++ linux-riscv-5.8-5.8.0/arch/arc/plat-eznps/include/plat/ctop.h @@ -33,7 +33,6 @@ #define CTOP_AUX_DPC (CTOP_AUX_BASE + 0x02C) #define CTOP_AUX_LPC (CTOP_AUX_BASE + 0x030) #define CTOP_AUX_EFLAGS (CTOP_AUX_BASE + 0x080) -#define CTOP_AUX_IACK (CTOP_AUX_BASE + 0x088) #define CTOP_AUX_GPA1 (CTOP_AUX_BASE + 0x08C) #define CTOP_AUX_UDMC (CTOP_AUX_BASE + 0x300) --- linux-riscv-5.8-5.8.0.orig/arch/arc/plat-hsdk/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arc/plat-hsdk/Kconfig @@ -8,5 +8,6 @@ select ARC_HAS_ACCL_REGS select ARC_IRQ_NO_AUTOSAVE select CLK_HSDK + select RESET_CONTROLLER select RESET_HSDK select HAVE_PCI --- linux-riscv-5.8-5.8.0.orig/arch/arc/plat-hsdk/platform.c +++ linux-riscv-5.8-5.8.0/arch/arc/plat-hsdk/platform.c @@ -17,22 +17,6 @@ #define ARC_CCM_UNUSED_ADDR 0x60000000 -static void __init hsdk_init_per_cpu(unsigned int cpu) -{ - /* - * By default ICCM is mapped to 0x7z while this area is used for - * kernel virtual mappings, so move it to currently unused area. - */ - if (cpuinfo_arc700[cpu].iccm.sz) - write_aux_reg(ARC_REG_AUX_ICCM, ARC_CCM_UNUSED_ADDR); - - /* - * By default DCCM is mapped to 0x8z while this area is used by kernel, - * so move it to currently unused area. - */ - if (cpuinfo_arc700[cpu].dccm.sz) - write_aux_reg(ARC_REG_AUX_DCCM, ARC_CCM_UNUSED_ADDR); -} #define ARC_PERIPHERAL_BASE 0xf0000000 #define CREG_BASE (ARC_PERIPHERAL_BASE + 0x1000) @@ -339,5 +323,4 @@ MACHINE_START(SIMULATION, "hsdk") .dt_compat = hsdk_compat, .init_early = hsdk_init_early, - .init_per_cpu = hsdk_init_per_cpu, MACHINE_END --- linux-riscv-5.8-5.8.0.orig/arch/arm/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arm/Kconfig @@ -506,8 +506,10 @@ select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_IO_H + select S3C2410_WATCHDOG select SAMSUNG_ATAGS select USE_OF + select WATCHDOG help Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/compressed/atags_to_fdt.c +++ linux-riscv-5.8-5.8.0/arch/arm/boot/compressed/atags_to_fdt.c @@ -15,7 +15,8 @@ { int offset = fdt_path_offset(fdt, node_path); if (offset == -FDT_ERR_NOTFOUND) - offset = fdt_add_subnode(fdt, 0, node_path); + /* Add the node to root if not found, dropping the leading '/' */ + offset = fdt_add_subnode(fdt, 0, node_path + 1); return offset; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/compressed/head.S +++ linux-riscv-5.8-5.8.0/arch/arm/boot/compressed/head.S @@ -1179,9 +1179,9 @@ __armv7_mmu_cache_off: mrc p15, 0, r0, c1, c0 #ifdef CONFIG_MMU - bic r0, r0, #0x000d + bic r0, r0, #0x0005 #else - bic r0, r0, #0x000c + bic r0, r0, #0x0004 #endif mcr p15, 0, r0, c1, c0 @ turn MMU and cache off mov r0, #0 @@ -1444,8 +1444,7 @@ mov r4, r0 @ preserve image base mov r8, r1 @ preserve DT pointer - ARM( adrl r0, call_cache_fn ) - THUMB( adr r0, call_cache_fn ) + adr_l r0, call_cache_fn adr r1, 0f @ clean the region of code we bl cache_clean_flush @ may run with the MMU off @@ -1476,6 +1475,9 @@ @ issued from HYP mode take us to the correct handler code. We @ will disable the MMU before jumping to the kernel proper. @ + ARM( bic r1, r1, #(1 << 30) ) @ clear HSCTLR.TE + THUMB( orr r1, r1, #(1 << 30) ) @ set HSCTLR.TE + mcr p15, 4, r1, c1, c0, 0 adr r0, __hyp_reentry_vectors mcr p15, 4, r0, c12, c0, 0 @ set HYP vector base (HVBAR) isb --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/am33xx.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/am33xx.dtsi @@ -40,6 +40,9 @@ ethernet1 = &cpsw_emac1; spi0 = &spi0; spi1 = &spi1; + mmc0 = &mmc1; + mmc1 = &mmc2; + mmc2 = &mmc3; }; cpus { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/armada-385-turris-omnia.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/armada-385-turris-omnia.dts @@ -236,6 +236,7 @@ status = "okay"; compatible = "ethernet-phy-id0141.0DD1", "ethernet-phy-ieee802.3-c22"; reg = <1>; + marvell,reg-init = <3 18 0 0x4985>; /* irq is connected to &pcawan pin 7 */ }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/armada-388-helios4.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/armada-388-helios4.dts @@ -70,6 +70,9 @@ system-leds { compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&helios_system_led_pins>; + status-led { label = "helios4:green:status"; gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; @@ -86,6 +89,9 @@ io-leds { compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&helios_io_led_pins>; + sata1-led { label = "helios4:green:ata1"; gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; @@ -121,11 +127,15 @@ fan1: j10-pwm { compatible = "pwm-fan"; pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */ + pinctrl-names = "default"; + pinctrl-0 = <&helios_fan1_pins>; }; fan2: j17-pwm { compatible = "pwm-fan"; pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */ + pinctrl-names = "default"; + pinctrl-0 = <&helios_fan2_pins>; }; usb2_phy: usb2-phy { @@ -286,16 +296,22 @@ "mpp39", "mpp40"; marvell,function = "sd0"; }; - helios_led_pins: helios-led-pins { - marvell,pins = "mpp24", "mpp25", - "mpp49", "mpp50", + helios_system_led_pins: helios-system-led-pins { + marvell,pins = "mpp24", "mpp25"; + marvell,function = "gpio"; + }; + helios_io_led_pins: helios-io-led-pins { + marvell,pins = "mpp49", "mpp50", "mpp52", "mpp53", "mpp54"; marvell,function = "gpio"; }; - helios_fan_pins: helios-fan-pins { - marvell,pins = "mpp41", "mpp43", - "mpp48", "mpp55"; + helios_fan1_pins: helios_fan1_pins { + marvell,pins = "mpp41", "mpp43"; + marvell,function = "gpio"; + }; + helios_fan2_pins: helios_fan2_pins { + marvell,pins = "mpp48", "mpp55"; marvell,function = "gpio"; }; microsom_spi1_cs_pins: spi1-cs-pins { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/armada-xp-98dx3236.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/armada-xp-98dx3236.dtsi @@ -266,11 +266,6 @@ reg = <0x11000 0x100>; }; -&i2c1 { - compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; - reg = <0x11100 0x100>; -}; - &mpic { reg = <0x20a00 0x2d0>, <0x21070 0x58>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts @@ -82,11 +82,6 @@ status = "okay"; }; -&vuart { - // VUART Host Console - status = "okay"; -}; - &uart1 { // Host Console status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts @@ -22,9 +22,9 @@ #size-cells = <1>; ranges; - vga_memory: framebuffer@7f000000 { + vga_memory: framebuffer@9f000000 { no-map; - reg = <0x7f000000 0x01000000>; + reg = <0x9f000000 0x01000000>; /* 16M */ }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts @@ -25,7 +25,7 @@ #size-cells = <1>; ranges; - flash_memory: region@ba000000 { + flash_memory: region@b8000000 { no-map; reg = <0xb8000000 0x4000000>; /* 64M */ }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-g4.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-g4.dtsi @@ -370,6 +370,7 @@ compatible = "aspeed,ast2400-lpc-snoop"; reg = <0x10 0x8>; interrupts = <8>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-g5.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-g5.dtsi @@ -424,7 +424,6 @@ interrupts = <8>; clocks = <&syscon ASPEED_CLK_APB>; no-loopback-test; - aspeed,sirq-polarity-sense = <&syscon 0x70 25>; status = "disabled"; }; @@ -492,6 +491,7 @@ compatible = "aspeed,ast2500-lpc-snoop"; reg = <0x10 0x8>; interrupts = <8>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/aspeed-g6.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/aspeed-g6.dtsi @@ -366,7 +366,7 @@ #gpio-cells = <2>; gpio-controller; compatible = "aspeed,ast2600-gpio"; - reg = <0x1e780000 0x800>; + reg = <0x1e780000 0x400>; interrupts = ; gpio-ranges = <&pinctrl 0 0 208>; ngpios = <208>; @@ -522,6 +522,7 @@ compatible = "aspeed,ast2600-lpc-snoop"; reg = <0x0 0x80>; interrupts = ; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/at91-sam9x60ek.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/at91-sam9x60ek.dts @@ -330,14 +330,6 @@ }; &pinctrl { - atmel,mux-mask = < - /* A B C */ - 0xFFFFFE7F 0xC0E0397F 0xEF00019D /* pioA */ - 0x03FFFFFF 0x02FC7E68 0x00780000 /* pioB */ - 0xffffffff 0xF83FFFFF 0xB800F3FC /* pioC */ - 0x003FFFFF 0x003F8000 0x00000000 /* pioD */ - >; - adc { pinctrl_adc_default: adc_default { atmel,pins = ; @@ -559,11 +551,14 @@ atmel,pins = ; }; }; -}; /* pinctrl */ -&pmc { - atmel,osc-bypass; -}; + usb1 { + pinctrl_usb_default: usb_default { + atmel,pins = ; + }; + }; +}; /* pinctrl */ &pwm0 { pinctrl-names = "default"; @@ -662,6 +657,8 @@ atmel,vbus-gpio = <0 &pioD 15 GPIO_ACTIVE_HIGH &pioD 16 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_default>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/at91-sama5d27_som1.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/at91-sama5d27_som1.dtsi @@ -84,8 +84,8 @@ pinctrl-0 = <&pinctrl_macb0_default>; phy-mode = "rmii"; - ethernet-phy@0 { - reg = <0x0>; + ethernet-phy@7 { + reg = <0x7>; interrupt-parent = <&pioA>; interrupts = ; pinctrl-names = "default"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/at91-sama5d3_xplained.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/at91-sama5d3_xplained.dts @@ -128,7 +128,7 @@ }; macb0: ethernet@f0028000 { - phy-mode = "rgmii"; + phy-mode = "rgmii-rxid"; #address-cells = <1>; #size-cells = <0>; status = "okay"; @@ -242,6 +242,11 @@ atmel,pins = ; /* PE9, conflicts with A9 */ }; + pinctrl_usb_default: usb_default { + atmel,pins = + ; + }; }; }; }; @@ -259,6 +264,8 @@ &pioE 3 GPIO_ACTIVE_LOW &pioE 4 GPIO_ACTIVE_LOW >; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_default>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/at91-sama5d4_xplained.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/at91-sama5d4_xplained.dts @@ -134,6 +134,11 @@ atmel,pins = ; }; + pinctrl_usb_default: usb_default { + atmel,pins = + ; + }; pinctrl_key_gpio: key_gpio_0 { atmel,pins = ; @@ -159,6 +164,8 @@ &pioE 11 GPIO_ACTIVE_HIGH &pioE 14 GPIO_ACTIVE_HIGH >; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_default>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/at91sam9rl.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/at91sam9rl.dtsi @@ -278,23 +278,26 @@ atmel,adc-use-res = "highres"; trigger0 { - trigger-name = "timer-counter-0"; + trigger-name = "external-rising"; trigger-value = <0x1>; + trigger-external; }; + trigger1 { - trigger-name = "timer-counter-1"; - trigger-value = <0x3>; + trigger-name = "external-falling"; + trigger-value = <0x2>; + trigger-external; }; trigger2 { - trigger-name = "timer-counter-2"; - trigger-value = <0x5>; + trigger-name = "external-any"; + trigger-value = <0x3>; + trigger-external; }; trigger3 { - trigger-name = "external"; - trigger-value = <0x13>; - trigger-external; + trigger-name = "continuous"; + trigger-value = <0x6>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/bcm-hr2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/bcm-hr2.dtsi @@ -217,7 +217,7 @@ }; qspi: spi@27200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi"; + compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi"; reg = <0x027200 0x184>, <0x027000 0x124>, <0x11c408 0x004>, --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/bcm-nsp.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/bcm-nsp.dtsi @@ -284,7 +284,7 @@ }; qspi: spi@27200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi"; + compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi"; reg = <0x027200 0x184>, <0x027000 0x124>, <0x11c408 0x004>, --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/bcm5301x.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/bcm5301x.dtsi @@ -488,7 +488,7 @@ }; spi@18029200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi"; + compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi"; reg = <0x18029200 0x184>, <0x18029000 0x124>, <0x1811b408 0x004>, --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/dra76x.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/dra76x.dtsi @@ -32,8 +32,8 @@ interrupts = , ; interrupt-names = "int0", "int1"; - clocks = <&mcan_clk>, <&l3_iclk_div>; - clock-names = "cclk", "hclk"; + clocks = <&l3_iclk_div>, <&mcan_clk>; + clock-names = "hclk", "cclk"; bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos3250-artik5.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos3250-artik5.dtsi @@ -75,7 +75,7 @@ s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx3>; - interrupts = <5 IRQ_TYPE_NONE>; + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps14_irq>; reg = <0x66>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos3250-monk.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos3250-monk.dts @@ -196,7 +196,7 @@ s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; wakeup-source; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos3250-rinato.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos3250-rinato.dts @@ -266,7 +266,7 @@ s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; wakeup-source; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5250-spring.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5250-spring.dts @@ -108,7 +108,7 @@ compatible = "samsung,s5m8767-pmic"; reg = <0x66>; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; wakeup-source; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5410-odroidxu.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5410-odroidxu.dts @@ -327,6 +327,8 @@ regulator-name = "vddq_lcd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + /* Supplies also GPK and GPJ */ + regulator-always-on; }; ldo8_reg: LDO8 { @@ -637,11 +639,11 @@ }; &usbdrd_dwc3_0 { - dr_mode = "host"; + dr_mode = "peripheral"; }; &usbdrd_dwc3_1 { - dr_mode = "peripheral"; + dr_mode = "host"; }; &usbdrd3_0 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5410-pinctrl.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5410-pinctrl.dtsi @@ -560,6 +560,34 @@ interrupt-controller; #interrupt-cells = <2>; }; + + usb3_1_oc: usb3-1-oc { + samsung,pins = "gpk2-4", "gpk2-5"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + + usb3_1_vbusctrl: usb3-1-vbusctrl { + samsung,pins = "gpk2-6", "gpk2-7"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + + usb3_0_oc: usb3-0-oc { + samsung,pins = "gpk3-0", "gpk3-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + + usb3_0_vbusctrl: usb3-0-vbusctrl { + samsung,pins = "gpk3-2", "gpk3-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; }; &pinctrl_2 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5410.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5410.dtsi @@ -398,6 +398,8 @@ &usbdrd3_0 { clocks = <&clock CLK_USBD300>; clock-names = "usbdrd30"; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_0_oc>, <&usb3_0_vbusctrl>; }; &usbdrd_phy0 { @@ -409,6 +411,8 @@ &usbdrd3_1 { clocks = <&clock CLK_USBD301>; clock-names = "usbdrd30"; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_1_oc>, <&usb3_1_vbusctrl>; }; &usbdrd_dwc3_1 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5420-arndale-octa.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5420-arndale-octa.dts @@ -349,7 +349,7 @@ reg = <0x66>; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps11_irq>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5422-odroid-core.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5422-odroid-core.dtsi @@ -411,12 +411,6 @@ status = "okay"; }; -&bus_fsys { - operating-points-v2 = <&bus_fsys2_opp_table>; - devfreq = <&bus_wcore>; - status = "okay"; -}; - &bus_fsys2 { operating-points-v2 = <&bus_fsys2_opp_table>; devfreq = <&bus_wcore>; @@ -515,7 +509,7 @@ samsung,s2mps11-acokb-ground; interrupt-parent = <&gpx0>; - interrupts = <4 IRQ_TYPE_EDGE_FALLING>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps11_irq>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/exynos5800.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/exynos5800.dtsi @@ -23,17 +23,17 @@ &cluster_a15_opp_table { opp-2000000000 { opp-hz = /bits/ 64 <2000000000>; - opp-microvolt = <1312500>; + opp-microvolt = <1312500 1312500 1500000>; clock-latency-ns = <140000>; }; opp-1900000000 { opp-hz = /bits/ 64 <1900000000>; - opp-microvolt = <1262500>; + opp-microvolt = <1262500 1262500 1500000>; clock-latency-ns = <140000>; }; opp-1800000000 { opp-hz = /bits/ 64 <1800000000>; - opp-microvolt = <1237500>; + opp-microvolt = <1237500 1237500 1500000>; clock-latency-ns = <140000>; }; opp-1700000000 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx50-evk.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx50-evk.dts @@ -59,7 +59,7 @@ MX50_PAD_CSPI_MISO__CSPI_MISO 0x00 MX50_PAD_CSPI_MOSI__CSPI_MOSI 0x00 MX50_PAD_CSPI_SS0__GPIO4_11 0xc4 - MX50_PAD_ECSPI1_MOSI__CSPI_SS1 0xf4 + MX50_PAD_ECSPI1_MOSI__GPIO4_13 0x84 >; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6q-tbs2910.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6q-tbs2910.dts @@ -16,6 +16,13 @@ stdout-path = &uart1; }; + aliases { + mmc0 = &usdhc2; + mmc1 = &usdhc3; + mmc2 = &usdhc4; + /delete-property/ mmc3; + }; + memory@10000000 { device_type = "memory"; reg = <0x10000000 0x80000000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi @@ -273,7 +273,7 @@ /* VDD_AUD_1P8: Audio codec */ reg_aud_1p8v: ldo3 { - regulator-name = "vdd1p8"; + regulator-name = "vdd1p8a"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi @@ -137,7 +137,7 @@ lcd_backlight: lcd-backlight { compatible = "pwm-backlight"; - pwms = <&pwm4 0 5000000>; + pwms = <&pwm4 0 5000000 0>; pwm-names = "LCD_BKLT_PWM"; brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; @@ -167,7 +167,7 @@ i2c-gpio,delay-us = <2>; /* ~100 kHz */ #address-cells = <1>; #size-cells = <0>; - status = "disabld"; + status = "disabled"; }; i2c_cam: i2c-gpio-cam { @@ -179,7 +179,7 @@ i2c-gpio,delay-us = <2>; /* ~100 kHz */ #address-cells = <1>; #size-cells = <0>; - status = "disabld"; + status = "disabled"; }; }; @@ -551,7 +551,7 @@ pinctrl_i2c3: i2c3grp { fsl,pins = < - MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 + MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1 >; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi @@ -432,6 +432,7 @@ pinctrl-0 = <&pinctrl_usdhc2>; cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; + vmmc-supply = <&vdd_sd1_reg>; status = "disabled"; }; @@ -441,5 +442,6 @@ &pinctrl_usdhc3_cdwp>; cd-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; wp-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>; + vmmc-supply = <&vdd_sd0_reg>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-sr-som.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-sr-som.dtsi @@ -53,7 +53,6 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_microsom_enet_ar8035>; - phy-handle = <&phy>; phy-mode = "rgmii-id"; phy-reset-duration = <2>; phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; @@ -63,10 +62,19 @@ #address-cells = <1>; #size-cells = <0>; - phy: ethernet-phy@0 { + /* + * The PHY can appear at either address 0 or 4 due to the + * configuration (LED) pin not being pulled sufficiently. + */ + ethernet-phy@0 { reg = <0>; qca,clk-out-frequency = <125000000>; }; + + ethernet-phy@4 { + reg = <4>; + qca,clk-out-frequency = <125000000>; + }; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-udoo.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-udoo.dtsi @@ -98,7 +98,7 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi @@ -166,7 +166,6 @@ MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030 - MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1 >; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6sl.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6sl.dtsi @@ -939,8 +939,10 @@ }; rngb: rngb@21b4000 { + compatible = "fsl,imx6sl-rngb", "fsl,imx25-rngb"; reg = <0x021b4000 0x4000>; interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX6SL_CLK_DUMMY>; }; weim: weim@21b8000 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx6sx-pinfunc.h +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx6sx-pinfunc.h @@ -1026,7 +1026,7 @@ #define MX6SX_PAD_QSPI1B_DQS__SIM_M_HADDR_15 0x01B0 0x04F8 0x0000 0x7 0x0 #define MX6SX_PAD_QSPI1B_SCLK__QSPI1_B_SCLK 0x01B4 0x04FC 0x0000 0x0 0x0 #define MX6SX_PAD_QSPI1B_SCLK__UART3_DCE_RX 0x01B4 0x04FC 0x0840 0x1 0x4 -#define MX6SX_PAD_QSPI1B_SCLK__UART3_DTE_TX 0x01B4 0x04FC 0x0000 0x0 0x0 +#define MX6SX_PAD_QSPI1B_SCLK__UART3_DTE_TX 0x01B4 0x04FC 0x0000 0x1 0x0 #define MX6SX_PAD_QSPI1B_SCLK__ECSPI3_SCLK 0x01B4 0x04FC 0x0730 0x2 0x1 #define MX6SX_PAD_QSPI1B_SCLK__ESAI_RX_HF_CLK 0x01B4 0x04FC 0x0780 0x3 0x2 #define MX6SX_PAD_QSPI1B_SCLK__CSI1_DATA_16 0x01B4 0x04FC 0x06DC 0x4 0x1 --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx7d-zii-rmu2.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx7d-zii-rmu2.dts @@ -58,7 +58,7 @@ <&clks IMX7D_ENET1_TIME_ROOT_CLK>; assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>; assigned-clock-rates = <0>, <100000000>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&fec1_phy>; status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/imx7ulp.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/imx7ulp.dtsi @@ -394,7 +394,7 @@ clocks = <&pcc2 IMX7ULP_CLK_RGPIO2P1>, <&pcc3 IMX7ULP_CLK_PCTLC>; clock-names = "gpio", "port"; - gpio-ranges = <&iomuxc1 0 0 32>; + gpio-ranges = <&iomuxc1 0 0 20>; }; gpio_ptd: gpio@40af0000 { @@ -408,7 +408,7 @@ clocks = <&pcc2 IMX7ULP_CLK_RGPIO2P1>, <&pcc3 IMX7ULP_CLK_PCTLD>; clock-names = "gpio", "port"; - gpio-ranges = <&iomuxc1 0 32 32>; + gpio-ranges = <&iomuxc1 0 32 12>; }; gpio_pte: gpio@40b00000 { @@ -422,7 +422,7 @@ clocks = <&pcc2 IMX7ULP_CLK_RGPIO2P1>, <&pcc3 IMX7ULP_CLK_PCTLE>; clock-names = "gpio", "port"; - gpio-ranges = <&iomuxc1 0 64 32>; + gpio-ranges = <&iomuxc1 0 64 16>; }; gpio_ptf: gpio@40b10000 { @@ -436,7 +436,7 @@ clocks = <&pcc2 IMX7ULP_CLK_RGPIO2P1>, <&pcc3 IMX7ULP_CLK_PCTLF>; clock-names = "gpio", "port"; - gpio-ranges = <&iomuxc1 0 96 32>; + gpio-ranges = <&iomuxc1 0 96 20>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/iwg20d-q7-common.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/iwg20d-q7-common.dtsi @@ -57,7 +57,7 @@ lvds-receiver { compatible = "ti,ds90cf384a", "lvds-decoder"; - powerdown-gpios = <&gpio7 25 GPIO_ACTIVE_LOW>; + power-supply = <&vcc_3v3_tft1>; ports { #address-cells = <1>; @@ -81,6 +81,7 @@ panel { compatible = "edt,etm0700g0dh6"; backlight = <&lcd_backlight>; + power-supply = <&vcc_3v3_tft1>; port { panel_in: endpoint { @@ -113,6 +114,17 @@ }; }; + vcc_3v3_tft1: regulator-panel { + compatible = "regulator-fixed"; + + regulator-name = "vcc-3v3-tft1"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + startup-delay-us = <500>; + gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>; + }; + vcc_sdhi1: regulator-vcc-sdhi1 { compatible = "regulator-fixed"; @@ -207,6 +219,7 @@ reg = <0x38>; interrupt-parent = <&gpio2>; interrupts = <12 IRQ_TYPE_EDGE_FALLING>; + vcc-supply = <&vcc_3v3_tft1>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi @@ -51,6 +51,8 @@ &mcbsp2 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&mcbsp2_pins>; }; &charger { @@ -102,35 +104,18 @@ regulator-max-microvolt = <3300000>; }; - lcd0: display@0 { - compatible = "panel-dpi"; - label = "28"; - status = "okay"; - /* default-on; */ + lcd0: display { + /* This isn't the exact LCD, but the timings meet spec */ + compatible = "logicpd,type28"; pinctrl-names = "default"; pinctrl-0 = <&lcd_enable_pin>; - enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd INI */ + backlight = <&bl>; + enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; port { lcd_in: endpoint { remote-endpoint = <&dpi_out>; }; }; - - panel-timing { - clock-frequency = <9000000>; - hactive = <480>; - vactive = <272>; - hfront-porch = <3>; - hback-porch = <2>; - hsync-len = <42>; - vback-porch = <3>; - vfront-porch = <2>; - vsync-len = <11>; - hsync-active = <1>; - vsync-active = <1>; - de-active = <1>; - pixelclk-active = <0>; - }; }; bl: backlight { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi @@ -81,6 +81,8 @@ }; &mcbsp2 { + pinctrl-names = "default"; + pinctrl-0 = <&mcbsp2_pins>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/lpc32xx.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/lpc32xx.dtsi @@ -329,9 +329,6 @@ clocks = <&xtal_32k>, <&xtal>; clock-names = "xtal_32k", "xtal"; - - assigned-clocks = <&clk LPC32XX_CLK_HCLK_PLL>; - assigned-clock-rates = <208000000>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/ls1021a.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/ls1021a.dtsi @@ -181,7 +181,7 @@ #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x1550000 0x0 0x10000>, - <0x0 0x40000000 0x0 0x40000000>; + <0x0 0x40000000 0x0 0x20000000>; reg-names = "QuadSPI", "QuadSPI-memory"; interrupts = ; clock-names = "qspi_en", "qspi"; @@ -772,7 +772,7 @@ fsl,tmr-prsc = <2>; fsl,tmr-add = <0xaaaaaaab>; fsl,tmr-fiper1 = <999999995>; - fsl,tmr-fiper2 = <99990>; + fsl,tmr-fiper2 = <999999995>; fsl,max-adj = <499999999>; fsl,extts-fifo; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/meson8.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/meson8.dtsi @@ -239,8 +239,6 @@ , , , - , - , , , , --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/meson8b-odroidc1.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/meson8b-odroidc1.dts @@ -218,7 +218,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/meson8m2-mxiii-plus.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/meson8m2-mxiii-plus.dts @@ -81,7 +81,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/mmp3.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/mmp3.dtsi @@ -295,6 +295,7 @@ interrupts = ; clocks = <&soc_clocks MMP2_CLK_CCIC0>; clock-names = "axi"; + power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; #clock-cells = <0>; clock-output-names = "mclk"; status = "disabled"; @@ -306,6 +307,7 @@ interrupts = ; clocks = <&soc_clocks MMP2_CLK_CCIC1>; clock-names = "axi"; + power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; #clock-cells = <0>; clock-output-names = "mclk"; status = "disabled"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts @@ -192,6 +192,7 @@ fixed-link { speed = <1000>; full-duplex; + pause; }; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap3-gta04.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap3-gta04.dtsi @@ -114,7 +114,7 @@ gpio-sck = <&gpio1 12 GPIO_ACTIVE_HIGH>; gpio-miso = <&gpio1 18 GPIO_ACTIVE_HIGH>; gpio-mosi = <&gpio1 20 GPIO_ACTIVE_HIGH>; - cs-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; + cs-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; num-chipselects = <1>; /* lcd panel */ @@ -124,7 +124,6 @@ spi-max-frequency = <100000>; spi-cpol; spi-cpha; - spi-cs-high; backlight= <&backlight>; label = "lcd"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap3.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap3.dtsi @@ -24,6 +24,9 @@ i2c0 = &i2c1; i2c1 = &i2c2; i2c2 = &i2c3; + mmc0 = &mmc1; + mmc1 = &mmc2; + mmc2 = &mmc3; serial0 = &uart1; serial1 = &uart2; serial2 = &uart3; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap4-panda-es.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap4-panda-es.dts @@ -46,7 +46,7 @@ button_pins: pinmux_button_pins { pinctrl-single,pins = < - OMAP4_IOPAD(0x11b, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */ + OMAP4_IOPAD(0x0fc, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */ >; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap4.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap4.dtsi @@ -22,6 +22,11 @@ i2c1 = &i2c2; i2c2 = &i2c3; i2c3 = &i2c4; + mmc0 = &mmc1; + mmc1 = &mmc2; + mmc2 = &mmc3; + mmc3 = &mmc4; + mmc4 = &mmc5; serial0 = &uart1; serial1 = &uart2; serial2 = &uart3; @@ -389,7 +394,7 @@ status = "disabled"; }; - target-module@56000000 { + sgx_module: target-module@56000000 { compatible = "ti,sysc-omap4", "ti,sysc"; reg = <0x5600fe00 0x4>, <0x5600fe10 0x4>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap443x.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap443x.dtsi @@ -33,10 +33,12 @@ }; ocp { + /* 4430 has only gpio_86 tshut and no talert interrupt */ bandgap: bandgap@4a002260 { reg = <0x4a002260 0x4 0x4a00232C 0x4>; compatible = "ti,omap4430-bandgap"; + gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; #thermal-sensor-cells = <0>; }; @@ -74,3 +76,13 @@ }; /include/ "omap443x-clocks.dtsi" + +/* + * Use dpll_per for sgx at 153.6MHz like droid4 stock v3.0.8 Android kernel + */ +&sgx_module { + assigned-clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 24>, + <&dpll_per_m7x2_ck>; + assigned-clock-rates = <0>, <153600000>; + assigned-clock-parents = <&dpll_per_m7x2_ck>; +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap44xx-clocks.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap44xx-clocks.dtsi @@ -770,14 +770,6 @@ ti,max-div = <2>; }; - sha2md5_fck: sha2md5_fck@15c8 { - #clock-cells = <0>; - compatible = "ti,gate-clock"; - clocks = <&l3_div_ck>; - ti,bit-shift = <1>; - reg = <0x15c8>; - }; - usb_phy_cm_clk32k: usb_phy_cm_clk32k@640 { #clock-cells = <0>; compatible = "ti,gate-clock"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/omap5.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/omap5.dtsi @@ -25,6 +25,11 @@ i2c2 = &i2c3; i2c3 = &i2c4; i2c4 = &i2c5; + mmc0 = &mmc1; + mmc1 = &mmc2; + mmc2 = &mmc3; + mmc3 = &mmc4; + mmc4 = &mmc5; serial0 = &uart1; serial1 = &uart2; serial2 = &uart3; @@ -463,11 +468,11 @@ }; }; - target-module@5000 { + target-module@4000 { compatible = "ti,sysc-omap2", "ti,sysc"; - reg = <0x5000 0x4>, - <0x5010 0x4>, - <0x5014 0x4>; + reg = <0x4000 0x4>, + <0x4010 0x4>, + <0x4014 0x4>; reg-names = "rev", "sysc", "syss"; ti,sysc-sidle = , , @@ -479,7 +484,7 @@ ti,syss-mask = <1>; #address-cells = <1>; #size-cells = <1>; - ranges = <0 0x5000 0x1000>; + ranges = <0 0x4000 0x1000>; dsi1: encoder@0 { compatible = "ti,omap5-dsi"; @@ -489,8 +494,9 @@ reg-names = "proto", "phy", "pll"; interrupts = ; status = "disabled"; - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; - clock-names = "fck"; + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; + clock-names = "fck", "sys_clk"; }; }; @@ -520,8 +526,9 @@ reg-names = "proto", "phy", "pll"; interrupts = ; status = "disabled"; - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; - clock-names = "fck"; + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; + clock-names = "fck", "sys_clk"; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/owl-s500.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/owl-s500.dtsi @@ -84,21 +84,21 @@ global_timer: timer@b0020200 { compatible = "arm,cortex-a9-global-timer"; reg = <0xb0020200 0x100>; - interrupts = ; + interrupts = ; status = "disabled"; }; twd_timer: timer@b0020600 { compatible = "arm,cortex-a9-twd-timer"; reg = <0xb0020600 0x20>; - interrupts = ; + interrupts = ; status = "disabled"; }; twd_wdt: wdt@b0020620 { compatible = "arm,cortex-a9-twd-wdt"; reg = <0xb0020620 0xe0>; - interrupts = ; + interrupts = ; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/picoxcell-pc3x2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/picoxcell-pc3x2.dtsi @@ -45,18 +45,21 @@ emac: gem@30000 { compatible = "cadence,gem"; reg = <0x30000 0x10000>; + interrupt-parent = <&vic0>; interrupts = <31>; }; dmac1: dmac@40000 { compatible = "snps,dw-dmac"; reg = <0x40000 0x10000>; + interrupt-parent = <&vic0>; interrupts = <25>; }; dmac2: dmac@50000 { compatible = "snps,dw-dmac"; reg = <0x50000 0x10000>; + interrupt-parent = <&vic0>; interrupts = <26>; }; @@ -234,6 +237,7 @@ axi2pico@c0000000 { compatible = "picochip,axi2pico-pc3x2"; reg = <0xc0000000 0x10000>; + interrupt-parent = <&vic0>; interrupts = <13 14 15 16 17 18 19 20 21>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/r8a7793-gose.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/r8a7793-gose.dts @@ -336,7 +336,7 @@ reg = <0x20>; remote = <&vin1>; - port { + ports { #address-cells = <1>; #size-cells = <0>; @@ -394,7 +394,7 @@ interrupts = <2 IRQ_TYPE_LEVEL_LOW>; default-input = <0>; - port { + ports { #address-cells = <1>; #size-cells = <0>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/s5pv210-aries.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/s5pv210-aries.dtsi @@ -47,6 +47,18 @@ }; }; + pmic_ap_clk: clock-0 { + /* Workaround for missing clock on PMIC */ + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + }; + + bt_codec: bt_sco { + compatible = "linux,bt-sco"; + #sound-dai-cells = <0>; + }; + vibrator_pwr: regulator-fixed-0 { compatible = "regulator-fixed"; regulator-name = "vibrator-en"; @@ -54,7 +66,7 @@ gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; - pinctr-0 = <&vibrator_ena>; + pinctrl-0 = <&vibrator_ena>; }; touchkey_vdd: regulator-fixed-1 { @@ -507,7 +519,7 @@ value = <0x5200>; }; - spi_lcd: spi-gpio-0 { + spi_lcd: spi-2 { compatible = "spi-gpio"; #address-cells = <1>; #size-cells = <0>; @@ -590,6 +602,11 @@ }; }; +&i2s0 { + dmas = <&pdma0 9>, <&pdma0 10>, <&pdma0 11>; + status = "okay"; +}; + &mfc { memory-region = <&mfc_left>, <&mfc_right>; }; @@ -754,6 +771,11 @@ samsung,pwm-outputs = <1>; }; +&rtc { + clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>; + clock-names = "rtc", "rtc_src"; +}; + &sdhci1 { #address-cells = <1>; #size-cells = <0>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/s5pv210-fascinate4g.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/s5pv210-fascinate4g.dts @@ -35,12 +35,110 @@ linux,code = ; }; }; + + headset_micbias_reg: regulator-fixed-3 { + compatible = "regulator-fixed"; + regulator-name = "Headset_Micbias"; + gpio = <&gpj2 5 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&headset_micbias_ena>; + }; + + main_micbias_reg: regulator-fixed-4 { + compatible = "regulator-fixed"; + regulator-name = "Main_Micbias"; + gpio = <&gpj4 2 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&main_micbias_ena>; + }; + + sound { + compatible = "samsung,fascinate4g-wm8994"; + + model = "Fascinate4G"; + + extcon = <&fsa9480>; + + main-micbias-supply = <&main_micbias_reg>; + headset-micbias-supply = <&headset_micbias_reg>; + + earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>; + + io-channels = <&adc 3>; + io-channel-names = "headset-detect"; + headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>; + headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>; + + samsung,audio-routing = + "HP", "HPOUT1L", + "HP", "HPOUT1R", + + "SPK", "SPKOUTLN", + "SPK", "SPKOUTLP", + + "RCV", "HPOUT2N", + "RCV", "HPOUT2P", + + "LINE", "LINEOUT2N", + "LINE", "LINEOUT2P", + + "IN1LP", "Main Mic", + "IN1LN", "Main Mic", + + "IN1RP", "Headset Mic", + "IN1RN", "Headset Mic", + + "Modem Out", "Modem TX", + "Modem RX", "Modem In", + + "Bluetooth SPK", "TX", + "RX", "Bluetooth Mic"; + + pinctrl-names = "default"; + pinctrl-0 = <&headset_det &earpath_sel>; + + cpu { + sound-dai = <&i2s0>, <&bt_codec>; + }; + + codec { + sound-dai = <&wm8994>; + }; + }; }; &pinctrl0 { pinctrl-names = "default"; pinctrl-0 = <&sleep_cfg>; + headset_det: headset-det { + samsung,pins = "gph0-6", "gph3-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + headset_micbias_ena: headset-micbias-ena { + samsung,pins = "gpj2-5"; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + + earpath_sel: earpath-sel { + samsung,pins = "gpj2-6"; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + + main_micbias_ena: main-micbias-ena { + samsung,pins = "gpj4-2"; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + /* Based on vendor kernel v2.6.35.7 */ sleep_cfg: sleep-cfg { PIN_SLP(gpa0-0, PREV, NONE); --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/s5pv210-galaxys.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/s5pv210-galaxys.dts @@ -72,6 +72,73 @@ pinctrl-0 = <&fm_irq &fm_rst>; }; }; + + micbias_reg: regulator-fixed-3 { + compatible = "regulator-fixed"; + regulator-name = "MICBIAS"; + gpio = <&gpj4 2 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&micbias_reg_ena>; + }; + + sound { + compatible = "samsung,aries-wm8994"; + + model = "Aries"; + + extcon = <&fsa9480>; + + main-micbias-supply = <&micbias_reg>; + headset-micbias-supply = <&micbias_reg>; + + earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>; + + io-channels = <&adc 3>; + io-channel-names = "headset-detect"; + headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_LOW>; + headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>; + + samsung,audio-routing = + "HP", "HPOUT1L", + "HP", "HPOUT1R", + + "SPK", "SPKOUTLN", + "SPK", "SPKOUTLP", + + "RCV", "HPOUT2N", + "RCV", "HPOUT2P", + + "LINE", "LINEOUT2N", + "LINE", "LINEOUT2P", + + "IN1LP", "Main Mic", + "IN1LN", "Main Mic", + + "IN1RP", "Headset Mic", + "IN1RN", "Headset Mic", + + "IN2LN", "FM In", + "IN2RN", "FM In", + + "Modem Out", "Modem TX", + "Modem RX", "Modem In", + + "Bluetooth SPK", "TX", + "RX", "Bluetooth Mic"; + + pinctrl-names = "default"; + pinctrl-0 = <&headset_det &earpath_sel>; + + cpu { + sound-dai = <&i2s0>, <&bt_codec>; + }; + + codec { + sound-dai = <&wm8994>; + }; + }; }; &aliases { @@ -88,6 +155,12 @@ samsung,pin-drv = ; }; + headset_det: headset-det { + samsung,pins = "gph0-6", "gph3-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + fm_irq: fm-irq { samsung,pins = "gpj2-4"; samsung,pin-function = ; @@ -102,12 +175,24 @@ samsung,pin-drv = ; }; + earpath_sel: earpath-sel { + samsung,pins = "gpj2-6"; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; + massmemory_en: massmemory-en { samsung,pins = "gpj2-7"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; + + micbias_reg_ena: micbias-reg-ena { + samsung,pins = "gpj4-2"; + samsung,pin-pud = ; + samsung,pin-drv = ; + }; /* Based on CyanogenMod 3.0.101 kernel */ sleep_cfg: sleep-cfg { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/s5pv210.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/s5pv210.dtsi @@ -52,34 +52,26 @@ }; }; + xxti: oscillator-0 { + compatible = "fixed-clock"; + clock-frequency = <0>; + clock-output-names = "xxti"; + #clock-cells = <0>; + }; + + xusbxti: oscillator-1 { + compatible = "fixed-clock"; + clock-frequency = <0>; + clock-output-names = "xusbxti"; + #clock-cells = <0>; + }; + soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges; - external-clocks { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - xxti: oscillator@0 { - compatible = "fixed-clock"; - reg = <0>; - clock-frequency = <0>; - clock-output-names = "xxti"; - #clock-cells = <0>; - }; - - xusbxti: oscillator@1 { - compatible = "fixed-clock"; - reg = <1>; - clock-frequency = <0>; - clock-output-names = "xusbxti"; - #clock-cells = <0>; - }; - }; - onenand: onenand@b0600000 { compatible = "samsung,s5pv210-onenand"; reg = <0xb0600000 0x2000>, @@ -100,19 +92,16 @@ }; clocks: clock-controller@e0100000 { - compatible = "samsung,s5pv210-clock", "simple-bus"; + compatible = "samsung,s5pv210-clock"; reg = <0xe0100000 0x10000>; clock-names = "xxti", "xusbxti"; clocks = <&xxti>, <&xusbxti>; #clock-cells = <1>; - #address-cells = <1>; - #size-cells = <1>; - ranges; + }; - pmu_syscon: syscon@e0108000 { - compatible = "samsung-s5pv210-pmu", "syscon"; - reg = <0xe0108000 0x8000>; - }; + pmu_syscon: syscon@e0108000 { + compatible = "samsung-s5pv210-pmu", "syscon"; + reg = <0xe0108000 0x8000>; }; pinctrl0: pinctrl@e0200000 { @@ -128,35 +117,28 @@ }; }; - amba { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - ranges; - - pdma0: dma@e0900000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0xe0900000 0x1000>; - interrupt-parent = <&vic0>; - interrupts = <19>; - clocks = <&clocks CLK_PDMA0>; - clock-names = "apb_pclk"; - #dma-cells = <1>; - #dma-channels = <8>; - #dma-requests = <32>; - }; + pdma0: dma@e0900000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0xe0900000 0x1000>; + interrupt-parent = <&vic0>; + interrupts = <19>; + clocks = <&clocks CLK_PDMA0>; + clock-names = "apb_pclk"; + #dma-cells = <1>; + #dma-channels = <8>; + #dma-requests = <32>; + }; - pdma1: dma@e0a00000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0xe0a00000 0x1000>; - interrupt-parent = <&vic0>; - interrupts = <20>; - clocks = <&clocks CLK_PDMA1>; - clock-names = "apb_pclk"; - #dma-cells = <1>; - #dma-channels = <8>; - #dma-requests = <32>; - }; + pdma1: dma@e0a00000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0xe0a00000 0x1000>; + interrupt-parent = <&vic0>; + interrupts = <20>; + clocks = <&clocks CLK_PDMA1>; + clock-names = "apb_pclk"; + #dma-cells = <1>; + #dma-channels = <8>; + #dma-requests = <32>; }; adc: adc@e1700000 { @@ -241,43 +223,36 @@ status = "disabled"; }; - audio-subsystem { - compatible = "samsung,s5pv210-audss", "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - clk_audss: clock-controller@eee10000 { - compatible = "samsung,s5pv210-audss-clock"; - reg = <0xeee10000 0x1000>; - clock-names = "hclk", "xxti", - "fout_epll", - "sclk_audio0"; - clocks = <&clocks DOUT_HCLKP>, <&xxti>, - <&clocks FOUT_EPLL>, - <&clocks SCLK_AUDIO0>; - #clock-cells = <1>; - }; + clk_audss: clock-controller@eee10000 { + compatible = "samsung,s5pv210-audss-clock"; + reg = <0xeee10000 0x1000>; + clock-names = "hclk", "xxti", + "fout_epll", + "sclk_audio0"; + clocks = <&clocks DOUT_HCLKP>, <&xxti>, + <&clocks FOUT_EPLL>, + <&clocks SCLK_AUDIO0>; + #clock-cells = <1>; + }; - i2s0: i2s@eee30000 { - compatible = "samsung,s5pv210-i2s"; - reg = <0xeee30000 0x1000>; - interrupt-parent = <&vic2>; - interrupts = <16>; - dma-names = "rx", "tx", "tx-sec"; - dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>; - clock-names = "iis", - "i2s_opclk0", - "i2s_opclk1"; - clocks = <&clk_audss CLK_I2S>, - <&clk_audss CLK_I2S>, - <&clk_audss CLK_DOUT_AUD_BUS>; - samsung,idma-addr = <0xc0010000>; - pinctrl-names = "default"; - pinctrl-0 = <&i2s0_bus>; - #sound-dai-cells = <0>; - status = "disabled"; - }; + i2s0: i2s@eee30000 { + compatible = "samsung,s5pv210-i2s"; + reg = <0xeee30000 0x1000>; + interrupt-parent = <&vic2>; + interrupts = <16>; + dma-names = "rx", "tx", "tx-sec"; + dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>; + clock-names = "iis", + "i2s_opclk0", + "i2s_opclk1"; + clocks = <&clk_audss CLK_I2S>, + <&clk_audss CLK_I2S>, + <&clk_audss CLK_DOUT_AUD_BUS>; + samsung,idma-addr = <0xc0010000>; + pinctrl-names = "default"; + pinctrl-0 = <&i2s0_bus>; + #sound-dai-cells = <0>; + status = "disabled"; }; i2s1: i2s@e2100000 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sam9x60.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sam9x60.dtsi @@ -588,6 +588,15 @@ compatible = "microchip,sam9x60-pinctrl", "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; ranges = <0xfffff400 0xfffff400 0x800>; + /* mux-mask corresponding to sam9x60 SoC in TFBGA228L package */ + atmel,mux-mask = < + /* A B C */ + 0xffffffff 0xffe03fff 0xef00019d /* pioA */ + 0x03ffffff 0x02fc7e7f 0x00780000 /* pioB */ + 0xffffffff 0xffffffff 0xf83fffff /* pioC */ + 0x003fffff 0x003f8000 0x00000000 /* pioD */ + >; + pioA: gpio@fffff400 { compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; reg = <0xfffff400 0x200>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sama5d2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sama5d2.dtsi @@ -645,6 +645,7 @@ clocks = <&pmc PMC_TYPE_PERIPHERAL 51>; #address-cells = <1>; #size-cells = <1>; + no-memory-wc; ranges = <0 0xf8044000 0x1420>; }; @@ -713,7 +714,7 @@ can0: can@f8054000 { compatible = "bosch,m_can"; - reg = <0xf8054000 0x4000>, <0x210000 0x4000>; + reg = <0xf8054000 0x4000>, <0x210000 0x1c00>; reg-names = "m_can", "message_ram"; interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>, <64 IRQ_TYPE_LEVEL_HIGH 7>; @@ -1113,7 +1114,7 @@ can1: can@fc050000 { compatible = "bosch,m_can"; - reg = <0xfc050000 0x4000>, <0x210000 0x4000>; + reg = <0xfc050000 0x4000>, <0x210000 0x3800>; reg-names = "m_can", "message_ram"; interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>, <65 IRQ_TYPE_LEVEL_HIGH 7>; @@ -1123,7 +1124,7 @@ assigned-clocks = <&pmc PMC_TYPE_GCK 57>; assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>; assigned-clock-rates = <40000000>; - bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>; + bosch,mram-cfg = <0x1c00 0 0 64 0 0 32 32>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/socfpga_arria10.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/socfpga_arria10.dtsi @@ -819,7 +819,7 @@ timer3: timer3@ffd00100 { compatible = "snps,dw-apb-timer"; interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; - reg = <0xffd01000 0x100>; + reg = <0xffd00100 0x100>; clocks = <&l4_sys_free_clk>; clock-names = "timer"; resets = <&rst L4SYSTIMER1_RESET>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/ste-db8500.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/ste-db8500.dtsi @@ -12,4 +12,42 @@ 200000 0>; }; }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* Modem trace memory */ + ram@06000000 { + reg = <0x06000000 0x00f00000>; + no-map; + }; + + /* Modem shared memory */ + ram@06f00000 { + reg = <0x06f00000 0x00100000>; + no-map; + }; + + /* Modem private memory */ + ram@07000000 { + reg = <0x07000000 0x01000000>; + no-map; + }; + + /* + * Initial Secure Software ISSW memory + * + * This is probably only used if the kernel tries + * to actually call into trustzone to run secure + * applications, which the mainline kernel probably + * will not do on this old chipset. But you can never + * be too careful, so reserve this memory anyway. + */ + ram@17f00000 { + reg = <0x17f00000 0x00100000>; + no-map; + }; + }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/ste-db8520.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/ste-db8520.dtsi @@ -12,4 +12,42 @@ 200000 0>; }; }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* Modem trace memory */ + ram@06000000 { + reg = <0x06000000 0x00f00000>; + no-map; + }; + + /* Modem shared memory */ + ram@06f00000 { + reg = <0x06f00000 0x00100000>; + no-map; + }; + + /* Modem private memory */ + ram@07000000 { + reg = <0x07000000 0x01000000>; + no-map; + }; + + /* + * Initial Secure Software ISSW memory + * + * This is probably only used if the kernel tries + * to actually call into trustzone to run secure + * applications, which the mainline kernel probably + * will not do on this old chipset. But you can never + * be too careful, so reserve this memory anyway. + */ + ram@17f00000 { + reg = <0x17f00000 0x00100000>; + no-map; + }; + }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/ste-db9500.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/ste-db9500.dtsi @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "ste-dbx5x0.dtsi" + +/ { + cpus { + cpu@300 { + /* cpufreq controls */ + operating-points = <1152000 0 + 800000 0 + 400000 0 + 200000 0>; + }; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* + * Initial Secure Software ISSW memory + * + * This is probably only used if the kernel tries + * to actually call into trustzone to run secure + * applications, which the mainline kernel probably + * will not do on this old chipset. But you can never + * be too careful, so reserve this memory anyway. + */ + ram@17f00000 { + reg = <0x17f00000 0x00100000>; + no-map; + }; + }; +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/ste-snowball.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/ste-snowball.dts @@ -4,7 +4,7 @@ */ /dts-v1/; -#include "ste-db8500.dtsi" +#include "ste-db9500.dtsi" #include "ste-href-ab8500.dtsi" #include "ste-href-family-pinctrl.dtsi" --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi @@ -1574,143 +1574,157 @@ }; }; - usart2_pins_a: usart2-0 { + uart4_pins_a: uart4-0 { pins1 { - pinmux = , /* USART2_TX */ - ; /* USART2_RTS */ + pinmux = ; /* UART4_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = , /* USART2_RX */ - ; /* USART2_CTS_NSS */ + pinmux = ; /* UART4_RX */ bias-disable; }; }; - usart2_sleep_pins_a: usart2-sleep-0 { - pins { - pinmux = , /* USART2_TX */ - , /* USART2_RTS */ - , /* USART2_RX */ - ; /* USART2_CTS_NSS */ - }; - }; - - usart2_pins_b: usart2-1 { + uart4_pins_b: uart4-1 { pins1 { - pinmux = , /* USART2_TX */ - ; /* USART2_RTS */ + pinmux = ; /* UART4_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = , /* USART2_RX */ - ; /* USART2_CTS_NSS */ + pinmux = ; /* UART4_RX */ bias-disable; }; }; - usart2_sleep_pins_b: usart2-sleep-1 { - pins { - pinmux = , /* USART2_TX */ - , /* USART2_RTS */ - , /* USART2_RX */ - ; /* USART2_CTS_NSS */ + uart4_pins_c: uart4-2 { + pins1 { + pinmux = ; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* UART4_RX */ + bias-disable; }; }; - usart3_pins_a: usart3-0 { + uart7_pins_a: uart7-0 { pins1 { - pinmux = ; /* USART3_TX */ + pinmux = ; /* UART7_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = ; /* USART3_RX */ + pinmux = , /* UART7_RX */ + , /* UART7_CTS */ + ; /* UART7_RTS */ bias-disable; }; }; - uart4_pins_a: uart4-0 { + uart7_pins_b: uart7-1 { pins1 { - pinmux = ; /* UART4_TX */ + pinmux = ; /* UART7_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = ; /* UART4_RX */ + pinmux = ; /* UART7_RX */ bias-disable; }; }; - uart4_pins_b: uart4-1 { + uart8_pins_a: uart8-0 { pins1 { - pinmux = ; /* UART4_TX */ + pinmux = ; /* UART8_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = ; /* UART4_RX */ + pinmux = ; /* UART8_RX */ bias-disable; }; }; - uart4_pins_c: uart4-2 { - pins1 { - pinmux = ; /* UART4_TX */ + spi4_pins_a: spi4-0 { + pins { + pinmux = , /* SPI4_SCK */ + ; /* SPI4_MOSI */ bias-disable; drive-push-pull; - slew-rate = <0>; + slew-rate = <1>; }; pins2 { - pinmux = ; /* UART4_RX */ + pinmux = ; /* SPI4_MISO */ bias-disable; }; }; - uart7_pins_a: uart7-0 { + usart2_pins_a: usart2-0 { pins1 { - pinmux = ; /* UART4_TX */ + pinmux = , /* USART2_TX */ + ; /* USART2_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = , /* UART4_RX */ - , /* UART4_CTS */ - ; /* UART4_RTS */ + pinmux = , /* USART2_RX */ + ; /* USART2_CTS_NSS */ bias-disable; }; }; - uart7_pins_b: uart7-1 { + usart2_sleep_pins_a: usart2-sleep-0 { + pins { + pinmux = , /* USART2_TX */ + , /* USART2_RTS */ + , /* USART2_RX */ + ; /* USART2_CTS_NSS */ + }; + }; + + usart2_pins_b: usart2-1 { pins1 { - pinmux = ; /* UART7_TX */ + pinmux = , /* USART2_TX */ + ; /* USART2_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = ; /* UART7_RX */ + pinmux = , /* USART2_RX */ + ; /* USART2_CTS_NSS */ bias-disable; }; }; - uart8_pins_a: uart8-0 { + usart2_sleep_pins_b: usart2-sleep-1 { + pins { + pinmux = , /* USART2_TX */ + , /* USART2_RTS */ + , /* USART2_RX */ + ; /* USART2_CTS_NSS */ + }; + }; + + usart3_pins_a: usart3-0 { pins1 { - pinmux = ; /* UART8_TX */ + pinmux = ; /* USART3_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { - pinmux = ; /* UART8_RX */ + pinmux = ; /* USART3_RX */ bias-disable; }; }; @@ -1776,18 +1790,4 @@ bias-disable; }; }; - - spi4_pins_a: spi4-0 { - pins { - pinmux = , /* SPI4_SCK */ - ; /* SPI4_MOSI */ - bias-disable; - drive-push-pull; - slew-rate = <1>; - }; - pins2 { - pinmux = ; /* SPI4_MISO */ - bias-disable; - }; - }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts @@ -121,8 +121,6 @@ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ interrupt-parent = <&gpioa>; interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ - rxc-skew-ps = <1860>; - txc-skew-ps = <1860>; reset-assert-us = <10000>; reset-deassert-us = <300>; micrel,force-master; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi @@ -11,7 +11,6 @@ serial0 = &uart4; serial1 = &usart3; serial2 = &uart8; - ethernet0 = ðernet0; }; chosen { @@ -26,23 +25,13 @@ display_bl: display-bl { compatible = "pwm-backlight"; - pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; + pwms = <&pwm2 3 500000 PWM_POLARITY_INVERTED>; brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; default-brightness-level = <8>; enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>; status = "okay"; }; - ethernet_vio: vioregulator { - compatible = "regulator-fixed"; - regulator-name = "vio"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; - regulator-always-on; - regulator-boot-on; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #size-cells = <0>; @@ -57,6 +46,16 @@ linux,code = ; gpios = <&gpiof 3 GPIO_ACTIVE_LOW>; }; + + /* + * The EXTi IRQ line 0 is shared with PMIC, + * so mark this as polled GPIO key. + */ + button-2 { + label = "TA3-GPIO-C"; + linux,code = ; + gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; + }; }; gpio-keys { @@ -70,13 +69,6 @@ wakeup-source; }; - button-2 { - label = "TA3-GPIO-C"; - linux,code = ; - gpios = <&gpioi 11 GPIO_ACTIVE_LOW>; - wakeup-source; - }; - button-3 { label = "TA4-GPIO-D"; linux,code = ; @@ -90,7 +82,7 @@ led-0 { label = "green:led5"; - gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>; + gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>; default-state = "off"; }; @@ -141,28 +133,6 @@ status = "okay"; }; -ðernet0 { - status = "okay"; - pinctrl-0 = <ðernet0_rmii_pins_a>; - pinctrl-1 = <ðernet0_rmii_sleep_pins_a>; - pinctrl-names = "default", "sleep"; - phy-mode = "rmii"; - max-speed = <100>; - phy-handle = <&phy0>; - st,eth-ref-clk-sel; - phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>; - - mdio0 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "snps,dwmac-mdio"; - - phy0: ethernet-phy@1 { - reg = <1>; - }; - }; -}; - &i2c2 { /* Header X22 */ pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins_a>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi @@ -9,6 +9,10 @@ #include / { + aliases { + ethernet0 = ðernet0; + }; + memory@c0000000 { device_type = "memory"; reg = <0xC0000000 0x40000000>; @@ -55,6 +59,17 @@ no-map; }; }; + + ethernet_vio: vioregulator { + compatible = "regulator-fixed"; + regulator-name = "vio"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vdd>; + }; }; &adc { @@ -94,6 +109,28 @@ status = "okay"; }; +ðernet0 { + status = "okay"; + pinctrl-0 = <ðernet0_rmii_pins_a>; + pinctrl-1 = <ðernet0_rmii_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + phy-mode = "rmii"; + max-speed = <100>; + phy-handle = <&phy0>; + st,eth-ref-clk-sel; + phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + + phy0: ethernet-phy@1 { + reg = <1>; + }; + }; +}; + &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins_a>; @@ -166,6 +203,7 @@ vdda: ldo1 { regulator-name = "vdda"; + regulator-always-on; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; interrupts = ; @@ -249,7 +287,7 @@ compatible = "ti,tsc2004"; reg = <0x49>; vio-supply = <&v3v3>; - interrupts-extended = <&gpioh 3 IRQ_TYPE_EDGE_FALLING>; + interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; }; eeprom@50 { @@ -315,7 +353,8 @@ pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; - broken-cd; + cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; st,sig-dir; st,neg-edge; st,use-ckin; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi @@ -295,9 +295,9 @@ &sdmmc2 { pinctrl-names = "default", "opendrain", "sleep"; - pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; - pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; - pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>; + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>; + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>; bus-width = <8>; mmc-ddr-1_8v; no-sd; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi @@ -21,6 +21,10 @@ }; }; +&dts { + status = "okay"; +}; + &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins_a>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun4i-a10.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun4i-a10.dtsi @@ -143,7 +143,7 @@ trips { cpu_alert0: cpu-alert0 { /* milliCelsius */ - temperature = <850000>; + temperature = <85000>; hysteresis = <2000>; type = "passive"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun6i-a31-hummingbird.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun6i-a31-hummingbird.dts @@ -154,7 +154,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts @@ -130,7 +130,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_gmac_3v3>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun7i-a20-bananapi.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun7i-a20-bananapi.dts @@ -132,7 +132,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_gmac_3v3>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun7i-a20-bananapro.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun7i-a20-bananapro.dts @@ -110,7 +110,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_gmac_3v3>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun7i-a20-cubietruck.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun7i-a20-cubietruck.dts @@ -151,7 +151,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts @@ -1,5 +1,5 @@ /* - * Copyright 2015 Adam Sampson + * Copyright 2015-2020 Adam Sampson * * This file is dual-licensed: you can use it either under the terms * of the GPL or the X11 license, at your option. Note that this dual @@ -115,7 +115,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts @@ -131,7 +131,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_sw>; phy-handle = <&rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; allwinner,rx-delay-ps = <700>; allwinner,tx-delay-ps = <700>; status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts @@ -183,7 +183,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_dldo4>; phy-handle = <&rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts @@ -53,11 +53,6 @@ }; }; -&emac { - /* LEDs changed to active high on the plus */ - /delete-property/ allwinner,leds-active-low; -}; - &mmc1 { vmmc-supply = <®_vcc3v3>; bus-width = <4>; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts @@ -67,7 +67,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_gmac_3v3>; phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts @@ -129,7 +129,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_dc1sw>; status = "okay"; }; @@ -223,16 +223,16 @@ }; ®_dc1sw { - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-name = "vcc-gmac-phy"; }; ®_dcdc1 { regulator-always-on; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - regulator-name = "vcc-3v0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-3v3"; }; ®_dcdc2 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-v3s.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-v3s.dtsi @@ -421,7 +421,7 @@ gic: interrupt-controller@1c81000 { compatible = "arm,gic-400"; reg = <0x01c81000 0x1000>, - <0x01c82000 0x1000>, + <0x01c82000 0x2000>, <0x01c84000 0x2000>, <0x01c86000 0x2000>; interrupt-controller; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts @@ -120,7 +120,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_dc1sw>; status = "okay"; }; @@ -198,16 +198,16 @@ }; ®_dc1sw { - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-name = "vcc-gmac-phy"; }; ®_dcdc1 { regulator-always-on; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - regulator-name = "vcc-3v0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-3v3"; }; ®_dcdc2 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts @@ -129,7 +129,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_cldo1>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sun9i-a80-optimus.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sun9i-a80-optimus.dts @@ -124,7 +124,7 @@ pinctrl-names = "default"; pinctrl-0 = <&gmac_rgmii_pins>; phy-handle = <&phy1>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-supply = <®_cldo1>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sunxi-bananapi-m2-plus-v1.2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sunxi-bananapi-m2-plus-v1.2.dtsi @@ -16,15 +16,27 @@ regulator-type = "voltage"; regulator-boot-on; regulator-always-on; - regulator-min-microvolt = <1100000>; - regulator-max-microvolt = <1300000>; + regulator-min-microvolt = <1108475>; + regulator-max-microvolt = <1308475>; regulator-ramp-delay = <50>; /* 4ms */ gpios = <&r_pio 0 1 GPIO_ACTIVE_HIGH>; /* PL1 */ gpios-states = <0x1>; - states = <1100000 0>, <1300000 1>; + states = <1108475 0>, <1308475 1>; }; }; &cpu0 { cpu-supply = <®_vdd_cpux>; }; + +&cpu1 { + cpu-supply = <®_vdd_cpux>; +}; + +&cpu2 { + cpu-supply = <®_vdd_cpux>; +}; + +&cpu3 { + cpu-supply = <®_vdd_cpux>; +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi @@ -126,7 +126,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_gmac_3v3>; phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/tegra20-ventana.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/tegra20-ventana.dts @@ -3,6 +3,7 @@ #include #include "tegra20.dtsi" +#include "tegra20-cpu-opp.dtsi" / { model = "NVIDIA Tegra20 Ventana evaluation board"; @@ -599,6 +600,16 @@ }; }; + cpus { + cpu0: cpu@0 { + operating-points-v2 = <&cpu0_opp_table>; + }; + + cpu@1 { + operating-points-v2 = <&cpu0_opp_table>; + }; + }; + gpio-keys { compatible = "gpio-keys"; --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts @@ -406,6 +406,9 @@ }; }; +&mdio1 { + clock-frequency = <5000000>; +}; &iomuxc { pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 { --- linux-riscv-5.8-5.8.0.orig/arch/arm/boot/dts/vfxxx.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm/boot/dts/vfxxx.dtsi @@ -495,7 +495,7 @@ }; ocotp: ocotp@400a5000 { - compatible = "fsl,vf610-ocotp"; + compatible = "fsl,vf610-ocotp", "syscon"; reg = <0x400a5000 0x1000>; clocks = <&clks VF610_CLK_OCOTP>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/configs/aspeed_g4_defconfig +++ linux-riscv-5.8-5.8.0/arch/arm/configs/aspeed_g4_defconfig @@ -160,7 +160,8 @@ CONFIG_SENSORS_W83773G=y CONFIG_WATCHDOG_SYSFS=y CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_ASPEED=y CONFIG_DRM=y --- linux-riscv-5.8-5.8.0.orig/arch/arm/configs/aspeed_g5_defconfig +++ linux-riscv-5.8-5.8.0/arch/arm/configs/aspeed_g5_defconfig @@ -175,7 +175,8 @@ CONFIG_SENSORS_W83773G=y CONFIG_WATCHDOG_SYSFS=y CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_ASPEED=y CONFIG_DRM=y --- linux-riscv-5.8-5.8.0.orig/arch/arm/configs/omap2plus_defconfig +++ linux-riscv-5.8-5.8.0/arch/arm/configs/omap2plus_defconfig @@ -81,7 +81,6 @@ CONFIG_BINFMT_MISC=y CONFIG_CMA=y CONFIG_ZSMALLOC=m -CONFIG_ZSMALLOC_PGTABLE_MAPPING=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y --- linux-riscv-5.8-5.8.0.orig/arch/arm/crypto/aes-ce-core.S +++ linux-riscv-5.8-5.8.0/arch/arm/crypto/aes-ce-core.S @@ -386,20 +386,32 @@ .Lctrloop4x: subs r4, r4, #4 bmi .Lctr1x - add r6, r6, #1 + + /* + * NOTE: the sequence below has been carefully tweaked to avoid + * a silicon erratum that exists in Cortex-A57 (#1742098) and + * Cortex-A72 (#1655431) cores, where AESE/AESMC instruction pairs + * may produce an incorrect result if they take their input from a + * register of which a single 32-bit lane has been updated the last + * time it was modified. To work around this, the lanes of registers + * q0-q3 below are not manipulated individually, and the different + * counter values are prepared by successive manipulations of q7. + */ + add ip, r6, #1 vmov q0, q7 + rev ip, ip + add lr, r6, #2 + vmov s31, ip @ set lane 3 of q1 via q7 + add ip, r6, #3 + rev lr, lr vmov q1, q7 - rev ip, r6 - add r6, r6, #1 + vmov s31, lr @ set lane 3 of q2 via q7 + rev ip, ip vmov q2, q7 - vmov s7, ip - rev ip, r6 - add r6, r6, #1 + vmov s31, ip @ set lane 3 of q3 via q7 + add r6, r6, #4 vmov q3, q7 - vmov s11, ip - rev ip, r6 - add r6, r6, #1 - vmov s15, ip + vld1.8 {q4-q5}, [r1]! vld1.8 {q6}, [r1]! vld1.8 {q15}, [r1]! --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += early_ioremap.h generic-y += extable.h generic-y += flat.h -generic-y += local64.h generic-y += parport.h generic-y += seccomp.h --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/assembler.h +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/assembler.h @@ -494,4 +494,88 @@ #define _ASM_NOKPROBE(entry) #endif + .macro __adldst_l, op, reg, sym, tmp, c + .if __LINUX_ARM_ARCH__ < 7 + ldr\c \tmp, .La\@ + .subsection 1 + .align 2 +.La\@: .long \sym - .Lpc\@ + .previous + .else + .ifnb \c + THUMB( ittt \c ) + .endif + movw\c \tmp, #:lower16:\sym - .Lpc\@ + movt\c \tmp, #:upper16:\sym - .Lpc\@ + .endif + +#ifndef CONFIG_THUMB2_KERNEL + .set .Lpc\@, . + 8 // PC bias + .ifc \op, add + add\c \reg, \tmp, pc + .else + \op\c \reg, [pc, \tmp] + .endif +#else +.Lb\@: add\c \tmp, \tmp, pc + /* + * In Thumb-2 builds, the PC bias depends on whether we are currently + * emitting into a .arm or a .thumb section. The size of the add opcode + * above will be 2 bytes when emitting in Thumb mode and 4 bytes when + * emitting in ARM mode, so let's use this to account for the bias. + */ + .set .Lpc\@, . + (. - .Lb\@) + + .ifnc \op, add + \op\c \reg, [\tmp] + .endif +#endif + .endm + + /* + * mov_l - move a constant value or [relocated] address into a register + */ + .macro mov_l, dst:req, imm:req + .if __LINUX_ARM_ARCH__ < 7 + ldr \dst, =\imm + .else + movw \dst, #:lower16:\imm + movt \dst, #:upper16:\imm + .endif + .endm + + /* + * adr_l - adr pseudo-op with unlimited range + * + * @dst: destination register + * @sym: name of the symbol + * @cond: conditional opcode suffix + */ + .macro adr_l, dst:req, sym:req, cond + __adldst_l add, \dst, \sym, \dst, \cond + .endm + + /* + * ldr_l - ldr pseudo-op with unlimited range + * + * @dst: destination register + * @sym: name of the symbol + * @cond: conditional opcode suffix + */ + .macro ldr_l, dst:req, sym:req, cond + __adldst_l ldr, \dst, \sym, \dst, \cond + .endm + + /* + * str_l - str pseudo-op with unlimited range + * + * @src: source register + * @sym: name of the symbol + * @tmp: mandatory scratch register + * @cond: conditional opcode suffix + */ + .macro str_l, src:req, sym:req, tmp:req, cond + __adldst_l str, \src, \sym, \tmp, \cond + .endm + #endif /* __ASM_ASSEMBLER_H__ */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/kexec-internal.h +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/kexec-internal.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _ARM_KEXEC_INTERNAL_H +#define _ARM_KEXEC_INTERNAL_H + +struct kexec_relocate_data { + unsigned long kexec_start_address; + unsigned long kexec_indirection_page; + unsigned long kexec_mach_type; + unsigned long kexec_r2; +}; + +#endif --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/kprobes.h +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/kprobes.h @@ -44,20 +44,20 @@ unsigned long val, void *data); /* optinsn template addresses */ -extern __visible kprobe_opcode_t optprobe_template_entry; -extern __visible kprobe_opcode_t optprobe_template_val; -extern __visible kprobe_opcode_t optprobe_template_call; -extern __visible kprobe_opcode_t optprobe_template_end; -extern __visible kprobe_opcode_t optprobe_template_sub_sp; -extern __visible kprobe_opcode_t optprobe_template_add_sp; -extern __visible kprobe_opcode_t optprobe_template_restore_begin; -extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn; -extern __visible kprobe_opcode_t optprobe_template_restore_end; +extern __visible kprobe_opcode_t optprobe_template_entry[]; +extern __visible kprobe_opcode_t optprobe_template_val[]; +extern __visible kprobe_opcode_t optprobe_template_call[]; +extern __visible kprobe_opcode_t optprobe_template_end[]; +extern __visible kprobe_opcode_t optprobe_template_sub_sp[]; +extern __visible kprobe_opcode_t optprobe_template_add_sp[]; +extern __visible kprobe_opcode_t optprobe_template_restore_begin[]; +extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn[]; +extern __visible kprobe_opcode_t optprobe_template_restore_end[]; #define MAX_OPTIMIZED_LENGTH 4 #define MAX_OPTINSN_SIZE \ - ((unsigned long)&optprobe_template_end - \ - (unsigned long)&optprobe_template_entry) + ((unsigned long)optprobe_template_end - \ + (unsigned long)optprobe_template_entry) #define RELATIVEJUMP_SIZE 4 struct arch_optimized_insn { --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/pgtable-2level.h +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/pgtable-2level.h @@ -75,6 +75,8 @@ #define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t)) #define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32)) +#define MAX_POSSIBLE_PHYSMEM_BITS 32 + /* * PMD_SHIFT determines the size of the area a second-level page table can map * PGDIR_SHIFT determines what a third-level page table entry can map --- linux-riscv-5.8-5.8.0.orig/arch/arm/include/asm/pgtable-3level.h +++ linux-riscv-5.8-5.8.0/arch/arm/include/asm/pgtable-3level.h @@ -25,6 +25,8 @@ #define PTE_HWTABLE_OFF (0) #define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64)) +#define MAX_POSSIBLE_PHYSMEM_BITS 40 + /* * PGDIR_SHIFT determines the size a top-level page table entry can map. */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/asm-offsets.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/asm-offsets.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -170,5 +171,9 @@ DEFINE(MPU_RGN_PRBAR, offsetof(struct mpu_rgn, prbar)); DEFINE(MPU_RGN_PRLAR, offsetof(struct mpu_rgn, prlar)); #endif + DEFINE(KEXEC_START_ADDR, offsetof(struct kexec_relocate_data, kexec_start_address)); + DEFINE(KEXEC_INDIR_PAGE, offsetof(struct kexec_relocate_data, kexec_indirection_page)); + DEFINE(KEXEC_MACH_TYPE, offsetof(struct kexec_relocate_data, kexec_mach_type)); + DEFINE(KEXEC_R2, offsetof(struct kexec_relocate_data, kexec_r2)); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/entry-armv.S +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/entry-armv.S @@ -252,31 +252,10 @@ #else svc_entry #endif - @ - @ call emulation code, which returns using r9 if it has emulated - @ the instruction, or the more conventional lr if we are to treat - @ this as a real undefined instruction - @ - @ r0 - instruction - @ -#ifndef CONFIG_THUMB2_KERNEL - ldr r0, [r4, #-4] -#else - mov r1, #2 - ldrh r0, [r4, #-2] @ Thumb instruction at LR - 2 - cmp r0, #0xe800 @ 32-bit instruction if xx >= 0 - blo __und_svc_fault - ldrh r9, [r4] @ bottom 16 bits - add r4, r4, #2 - str r4, [sp, #S_PC] - orr r0, r9, r0, lsl #16 -#endif - badr r9, __und_svc_finish - mov r2, r4 - bl call_fpe mov r1, #4 @ PC correction to apply -__und_svc_fault: + THUMB( tst r5, #PSR_T_BIT ) @ exception taken in Thumb mode? + THUMB( movne r1, #2 ) @ if so, fix up PC correction mov r0, sp @ struct pt_regs *regs bl __und_fault --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/head.S +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/head.S @@ -672,11 +672,7 @@ bcc 1b bx lr #else -#ifdef CONFIG_CPU_ENDIAN_BE8 - moveq r0, #0x00004000 @ set bit 22, mov to mvn instruction -#else moveq r0, #0x400000 @ set bit 22, mov to mvn instruction -#endif b 2f 1: ldr ip, [r7, r3] #ifdef CONFIG_CPU_ENDIAN_BE8 @@ -685,7 +681,7 @@ tst ip, #0x000f0000 @ check the rotation field orrne ip, ip, r6, lsl #24 @ mask in offset bits 31-24 biceq ip, ip, #0x00004000 @ clear bit 22 - orreq ip, ip, r0 @ mask in offset bits 7-0 + orreq ip, ip, r0, ror #8 @ mask in offset bits 7-0 #else bic ip, ip, #0x000000ff tst ip, #0xf00 @ check the rotation field --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/hw_breakpoint.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/hw_breakpoint.c @@ -683,6 +683,40 @@ arch_install_hw_breakpoint(bp); } +/* + * Arm32 hardware does not always report a watchpoint hit address that matches + * one of the watchpoints set. It can also report an address "near" the + * watchpoint if a single instruction access both watched and unwatched + * addresses. There is no straight-forward way, short of disassembling the + * offending instruction, to map that address back to the watchpoint. This + * function computes the distance of the memory access from the watchpoint as a + * heuristic for the likelyhood that a given access triggered the watchpoint. + * + * See this same function in the arm64 platform code, which has the same + * problem. + * + * The function returns the distance of the address from the bytes watched by + * the watchpoint. In case of an exact match, it returns 0. + */ +static u32 get_distance_from_watchpoint(unsigned long addr, u32 val, + struct arch_hw_breakpoint_ctrl *ctrl) +{ + u32 wp_low, wp_high; + u32 lens, lene; + + lens = __ffs(ctrl->len); + lene = __fls(ctrl->len); + + wp_low = val + lens; + wp_high = val + lene; + if (addr < wp_low) + return wp_low - addr; + else if (addr > wp_high) + return addr - wp_high; + else + return 0; +} + static int watchpoint_fault_on_uaccess(struct pt_regs *regs, struct arch_hw_breakpoint *info) { @@ -692,23 +726,25 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { - int i, access; - u32 val, ctrl_reg, alignment_mask; + int i, access, closest_match = 0; + u32 min_dist = -1, dist; + u32 val, ctrl_reg; struct perf_event *wp, **slots; struct arch_hw_breakpoint *info; struct arch_hw_breakpoint_ctrl ctrl; slots = this_cpu_ptr(wp_on_reg); + /* + * Find all watchpoints that match the reported address. If no exact + * match is found. Attribute the hit to the closest watchpoint. + */ + rcu_read_lock(); for (i = 0; i < core_num_wrps; ++i) { - rcu_read_lock(); - wp = slots[i]; - if (wp == NULL) - goto unlock; + continue; - info = counter_arch_bp(wp); /* * The DFAR is an unknown value on debug architectures prior * to 7.1. Since we only allow a single watchpoint on these @@ -717,33 +753,31 @@ */ if (debug_arch < ARM_DEBUG_ARCH_V7_1) { BUG_ON(i > 0); + info = counter_arch_bp(wp); info->trigger = wp->attr.bp_addr; } else { - if (info->ctrl.len == ARM_BREAKPOINT_LEN_8) - alignment_mask = 0x7; - else - alignment_mask = 0x3; - - /* Check if the watchpoint value matches. */ - val = read_wb_reg(ARM_BASE_WVR + i); - if (val != (addr & ~alignment_mask)) - goto unlock; - - /* Possible match, check the byte address select. */ - ctrl_reg = read_wb_reg(ARM_BASE_WCR + i); - decode_ctrl_reg(ctrl_reg, &ctrl); - if (!((1 << (addr & alignment_mask)) & ctrl.len)) - goto unlock; - /* Check that the access type matches. */ if (debug_exception_updates_fsr()) { access = (fsr & ARM_FSR_ACCESS_MASK) ? HW_BREAKPOINT_W : HW_BREAKPOINT_R; if (!(access & hw_breakpoint_type(wp))) - goto unlock; + continue; } + val = read_wb_reg(ARM_BASE_WVR + i); + ctrl_reg = read_wb_reg(ARM_BASE_WCR + i); + decode_ctrl_reg(ctrl_reg, &ctrl); + dist = get_distance_from_watchpoint(addr, val, &ctrl); + if (dist < min_dist) { + min_dist = dist; + closest_match = i; + } + /* Is this an exact match? */ + if (dist != 0) + continue; + /* We have a winner. */ + info = counter_arch_bp(wp); info->trigger = addr; } @@ -765,13 +799,23 @@ * we can single-step over the watchpoint trigger. */ if (!is_default_overflow_handler(wp)) - goto unlock; - + continue; step: enable_single_step(wp, instruction_pointer(regs)); -unlock: - rcu_read_unlock(); } + + if (min_dist > 0 && min_dist != -1) { + /* No exact match found. */ + wp = slots[closest_match]; + info = counter_arch_bp(wp); + info->trigger = addr; + pr_debug("watchpoint fired: address = 0x%x\n", info->trigger); + perf_bp_event(wp, regs); + if (is_default_overflow_handler(wp)) + enable_single_step(wp, instruction_pointer(regs)); + } + + rcu_read_unlock(); } static void watchpoint_single_step_handler(unsigned long pc) --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/iwmmxt.S +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/iwmmxt.S @@ -16,6 +16,7 @@ #include #include #include +#include "iwmmxt.h" #if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B) #define PJ4(code...) code @@ -113,33 +114,33 @@ concan_dump: - wstrw wCSSF, [r1, #MMX_WCSSF] - wstrw wCASF, [r1, #MMX_WCASF] - wstrw wCGR0, [r1, #MMX_WCGR0] - wstrw wCGR1, [r1, #MMX_WCGR1] - wstrw wCGR2, [r1, #MMX_WCGR2] - wstrw wCGR3, [r1, #MMX_WCGR3] + wstrw wCSSF, r1, MMX_WCSSF + wstrw wCASF, r1, MMX_WCASF + wstrw wCGR0, r1, MMX_WCGR0 + wstrw wCGR1, r1, MMX_WCGR1 + wstrw wCGR2, r1, MMX_WCGR2 + wstrw wCGR3, r1, MMX_WCGR3 1: @ MUP? wRn tst r2, #0x2 beq 2f - wstrd wR0, [r1, #MMX_WR0] - wstrd wR1, [r1, #MMX_WR1] - wstrd wR2, [r1, #MMX_WR2] - wstrd wR3, [r1, #MMX_WR3] - wstrd wR4, [r1, #MMX_WR4] - wstrd wR5, [r1, #MMX_WR5] - wstrd wR6, [r1, #MMX_WR6] - wstrd wR7, [r1, #MMX_WR7] - wstrd wR8, [r1, #MMX_WR8] - wstrd wR9, [r1, #MMX_WR9] - wstrd wR10, [r1, #MMX_WR10] - wstrd wR11, [r1, #MMX_WR11] - wstrd wR12, [r1, #MMX_WR12] - wstrd wR13, [r1, #MMX_WR13] - wstrd wR14, [r1, #MMX_WR14] - wstrd wR15, [r1, #MMX_WR15] + wstrd wR0, r1, MMX_WR0 + wstrd wR1, r1, MMX_WR1 + wstrd wR2, r1, MMX_WR2 + wstrd wR3, r1, MMX_WR3 + wstrd wR4, r1, MMX_WR4 + wstrd wR5, r1, MMX_WR5 + wstrd wR6, r1, MMX_WR6 + wstrd wR7, r1, MMX_WR7 + wstrd wR8, r1, MMX_WR8 + wstrd wR9, r1, MMX_WR9 + wstrd wR10, r1, MMX_WR10 + wstrd wR11, r1, MMX_WR11 + wstrd wR12, r1, MMX_WR12 + wstrd wR13, r1, MMX_WR13 + wstrd wR14, r1, MMX_WR14 + wstrd wR15, r1, MMX_WR15 2: teq r0, #0 @ anything to load? reteq lr @ if not, return @@ -147,30 +148,30 @@ concan_load: @ Load wRn - wldrd wR0, [r0, #MMX_WR0] - wldrd wR1, [r0, #MMX_WR1] - wldrd wR2, [r0, #MMX_WR2] - wldrd wR3, [r0, #MMX_WR3] - wldrd wR4, [r0, #MMX_WR4] - wldrd wR5, [r0, #MMX_WR5] - wldrd wR6, [r0, #MMX_WR6] - wldrd wR7, [r0, #MMX_WR7] - wldrd wR8, [r0, #MMX_WR8] - wldrd wR9, [r0, #MMX_WR9] - wldrd wR10, [r0, #MMX_WR10] - wldrd wR11, [r0, #MMX_WR11] - wldrd wR12, [r0, #MMX_WR12] - wldrd wR13, [r0, #MMX_WR13] - wldrd wR14, [r0, #MMX_WR14] - wldrd wR15, [r0, #MMX_WR15] + wldrd wR0, r0, MMX_WR0 + wldrd wR1, r0, MMX_WR1 + wldrd wR2, r0, MMX_WR2 + wldrd wR3, r0, MMX_WR3 + wldrd wR4, r0, MMX_WR4 + wldrd wR5, r0, MMX_WR5 + wldrd wR6, r0, MMX_WR6 + wldrd wR7, r0, MMX_WR7 + wldrd wR8, r0, MMX_WR8 + wldrd wR9, r0, MMX_WR9 + wldrd wR10, r0, MMX_WR10 + wldrd wR11, r0, MMX_WR11 + wldrd wR12, r0, MMX_WR12 + wldrd wR13, r0, MMX_WR13 + wldrd wR14, r0, MMX_WR14 + wldrd wR15, r0, MMX_WR15 @ Load wCx - wldrw wCSSF, [r0, #MMX_WCSSF] - wldrw wCASF, [r0, #MMX_WCASF] - wldrw wCGR0, [r0, #MMX_WCGR0] - wldrw wCGR1, [r0, #MMX_WCGR1] - wldrw wCGR2, [r0, #MMX_WCGR2] - wldrw wCGR3, [r0, #MMX_WCGR3] + wldrw wCSSF, r0, MMX_WCSSF + wldrw wCASF, r0, MMX_WCASF + wldrw wCGR0, r0, MMX_WCGR0 + wldrw wCGR1, r0, MMX_WCGR1 + wldrw wCGR2, r0, MMX_WCGR2 + wldrw wCGR3, r0, MMX_WCGR3 @ clear CUP/MUP (only if r1 != 0) teq r1, #0 --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/iwmmxt.h +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/iwmmxt.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __IWMMXT_H__ +#define __IWMMXT_H__ + +.irp b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 +.set .LwR\b, \b +.set .Lr\b, \b +.endr + +.set .LwCSSF, 0x2 +.set .LwCASF, 0x3 +.set .LwCGR0, 0x8 +.set .LwCGR1, 0x9 +.set .LwCGR2, 0xa +.set .LwCGR3, 0xb + +.macro wldrd, reg:req, base:req, offset:req +.inst 0xedd00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2) +.endm + +.macro wldrw, reg:req, base:req, offset:req +.inst 0xfd900100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2) +.endm + +.macro wstrd, reg:req, base:req, offset:req +.inst 0xedc00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2) +.endm + +.macro wstrw, reg:req, base:req, offset:req +.inst 0xfd800100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2) +.endm + +#ifdef __clang__ + +#define wCon c1 + +.macro tmrc, dest:req, control:req +mrc p1, 0, \dest, \control, c0, 0 +.endm + +.macro tmcr, control:req, src:req +mcr p1, 0, \src, \control, c0, 0 +.endm +#endif + +#endif --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/machine_kexec.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/machine_kexec.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -23,11 +24,6 @@ extern void relocate_new_kernel(void); extern const unsigned int relocate_new_kernel_size; -extern unsigned long kexec_start_address; -extern unsigned long kexec_indirection_page; -extern unsigned long kexec_mach_type; -extern unsigned long kexec_boot_atags; - static atomic_t waiting_for_crash_ipi; /* @@ -160,6 +156,7 @@ void machine_kexec(struct kimage *image) { unsigned long page_list, reboot_entry_phys; + struct kexec_relocate_data *data; void (*reboot_entry)(void); void *reboot_code_buffer; @@ -175,18 +172,17 @@ reboot_code_buffer = page_address(image->control_code_page); - /* Prepare parameters for reboot_code_buffer*/ - set_kernel_text_rw(); - kexec_start_address = image->start; - kexec_indirection_page = page_list; - kexec_mach_type = machine_arch_type; - kexec_boot_atags = image->arch.kernel_r2; - /* copy our kernel relocation code to the control code page */ reboot_entry = fncpy(reboot_code_buffer, &relocate_new_kernel, relocate_new_kernel_size); + data = reboot_code_buffer + relocate_new_kernel_size; + data->kexec_start_address = image->start; + data->kexec_indirection_page = page_list; + data->kexec_mach_type = machine_arch_type; + data->kexec_r2 = image->arch.kernel_r2; + /* get the identity mapping physical address for the reboot code */ reboot_entry_phys = virt_to_idmap(reboot_entry); --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/relocate_kernel.S +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/relocate_kernel.S @@ -5,14 +5,16 @@ #include #include +#include #include .align 3 /* not needed for this code, but keeps fncpy() happy */ ENTRY(relocate_new_kernel) - ldr r0,kexec_indirection_page - ldr r1,kexec_start_address + adr r7, relocate_new_kernel_end + ldr r0, [r7, #KEXEC_INDIR_PAGE] + ldr r1, [r7, #KEXEC_START_ADDR] /* * If there is no indirection page (we are doing crashdumps) @@ -57,34 +59,16 @@ 2: /* Jump to relocated kernel */ - mov lr,r1 - mov r0,#0 - ldr r1,kexec_mach_type - ldr r2,kexec_boot_atags - ARM( ret lr ) - THUMB( bx lr ) - - .align - - .globl kexec_start_address -kexec_start_address: - .long 0x0 - - .globl kexec_indirection_page -kexec_indirection_page: - .long 0x0 - - .globl kexec_mach_type -kexec_mach_type: - .long 0x0 - - /* phy addr of the atags for the new kernel */ - .globl kexec_boot_atags -kexec_boot_atags: - .long 0x0 + mov lr, r1 + mov r0, #0 + ldr r1, [r7, #KEXEC_MACH_TYPE] + ldr r2, [r7, #KEXEC_R2] + ARM( ret lr ) + THUMB( bx lr ) ENDPROC(relocate_new_kernel) + .align 3 relocate_new_kernel_end: .globl relocate_new_kernel_size --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/signal.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/signal.c @@ -694,18 +694,20 @@ addr = page_address(page); + /* Poison the entire page */ + memset32(addr, __opcode_to_mem_arm(0xe7fddef1), + PAGE_SIZE / sizeof(u32)); + /* Give the signal return code some randomness */ offset = 0x200 + (get_random_int() & 0x7fc); signal_return_offset = offset; - /* - * Copy signal return handlers into the vector page, and - * set sigreturn to be a pointer to these. - */ + /* Copy signal return handlers into the page */ memcpy(addr + offset, sigreturn_codes, sizeof(sigreturn_codes)); - ptr = (unsigned long)addr + offset; - flush_icache_range(ptr, ptr + sizeof(sigreturn_codes)); + /* Flush out all instructions in this page */ + ptr = (unsigned long)addr; + flush_icache_range(ptr, ptr + PAGE_SIZE); return page; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/stacktrace.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/stacktrace.c @@ -22,6 +22,19 @@ * A simple function epilogue looks like this: * ldm sp, {fp, sp, pc} * + * When compiled with clang, pc and sp are not pushed. A simple function + * prologue looks like this when built with clang: + * + * stmdb {..., fp, lr} + * add fp, sp, #x + * sub sp, sp, #y + * + * A simple function epilogue looks like this when built with clang: + * + * sub sp, fp, #x + * ldm {..., fp, pc} + * + * * 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. */ @@ -34,6 +47,16 @@ low = frame->sp; high = ALIGN(low, THREAD_SIZE); +#ifdef CONFIG_CC_IS_CLANG + /* check current frame pointer is within bounds */ + if (fp < low + 4 || fp > high - 4) + return -EINVAL; + + frame->sp = frame->fp; + frame->fp = *(unsigned long *)(fp); + frame->pc = frame->lr; + frame->lr = *(unsigned long *)(fp + 4); +#else /* check current frame pointer is within bounds */ if (fp < low + 12 || fp > high - 4) return -EINVAL; @@ -42,6 +65,7 @@ frame->fp = *(unsigned long *)(fp - 12); frame->sp = *(unsigned long *)(fp - 8); frame->pc = *(unsigned long *)(fp - 4); +#endif return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/kernel/sys_oabi-compat.c +++ linux-riscv-5.8-5.8.0/arch/arm/kernel/sys_oabi-compat.c @@ -248,6 +248,7 @@ __u64 data; } __attribute__ ((packed,aligned(4))); +#ifdef CONFIG_EPOLL asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, struct oabi_epoll_event __user *event) { @@ -298,6 +299,20 @@ kfree(kbuf); return err ? -EFAULT : ret; } +#else +asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, + struct oabi_epoll_event __user *event) +{ + return -EINVAL; +} + +asmlinkage long sys_oabi_epoll_wait(int epfd, + struct oabi_epoll_event __user *events, + int maxevents, int timeout) +{ + return -EINVAL; +} +#endif struct oabi_sembuf { unsigned short sem_num; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-at91/pm.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-at91/pm.c @@ -592,13 +592,13 @@ sram_pool = gen_pool_get(&pdev->dev, NULL); if (!sram_pool) { pr_warn("%s: sram pool unavailable!\n", __func__); - return; + goto out_put_device; } sram_base = gen_pool_alloc(sram_pool, at91_pm_suspend_in_sram_sz); if (!sram_base) { pr_warn("%s: unable to alloc sram!\n", __func__); - return; + goto out_put_device; } sram_pbase = gen_pool_virt_to_phys(sram_pool, sram_base); @@ -606,12 +606,17 @@ at91_pm_suspend_in_sram_sz, false); if (!at91_suspend_sram_fn) { pr_warn("SRAM: Could not map\n"); - return; + goto out_put_device; } /* Copy the pm suspend handler to SRAM */ at91_suspend_sram_fn = fncpy(at91_suspend_sram_fn, &at91_pm_suspend_in_sram, at91_pm_suspend_in_sram_sz); + return; + +out_put_device: + put_device(&pdev->dev); + return; } static bool __init at91_is_pm_mode_active(int pm_mode) @@ -795,6 +800,7 @@ pmc_np = of_find_matching_node_and_match(NULL, atmel_pmc_ids, &of_id); soc_pm.data.pmc = of_iomap(pmc_np, 0); + of_node_put(pmc_np); if (!soc_pm.data.pmc) { pr_err("AT91: PM not supported, PMC not found\n"); return; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-at91/pm_suspend.S +++ linux-riscv-5.8-5.8.0/arch/arm/mach-at91/pm_suspend.S @@ -415,7 +415,7 @@ str tmp1, [pmc, #AT91_PMC_PLL_UPDT] /* step 2. */ - ldr tmp1, =#AT91_PMC_PLL_ACR_DEFAULT_PLLA + ldr tmp1, =AT91_PMC_PLL_ACR_DEFAULT_PLLA str tmp1, [pmc, #AT91_PMC_PLL_ACR] /* step 3. */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-exynos/exynos.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-exynos/exynos.c @@ -193,7 +193,7 @@ } DT_MACHINE_START(EXYNOS_DT, "Samsung Exynos (Flattened Device Tree)") - .l2c_aux_val = 0x3c400001, + .l2c_aux_val = 0x3c400000, .l2c_aux_mask = 0xc20fffff, .smp = smp_ops(exynos_smp_ops), .map_io = exynos_init_io, --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-exynos/mcpm-exynos.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-exynos/mcpm-exynos.c @@ -26,6 +26,7 @@ #define EXYNOS5420_USE_L2_COMMON_UP_STATE BIT(30) static void __iomem *ns_sram_base_addr __ro_after_init; +static bool secure_firmware __ro_after_init; /* * The common v7_exit_coherency_flush API could not be used because of the @@ -58,15 +59,16 @@ static int exynos_cpu_powerup(unsigned int cpu, unsigned int cluster) { unsigned int cpunr = cpu + (cluster * EXYNOS5420_CPUS_PER_CLUSTER); + bool state; pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); if (cpu >= EXYNOS5420_CPUS_PER_CLUSTER || cluster >= EXYNOS5420_NR_CLUSTERS) return -EINVAL; - if (!exynos_cpu_power_state(cpunr)) { - exynos_cpu_power_up(cpunr); - + state = exynos_cpu_power_state(cpunr); + exynos_cpu_power_up(cpunr); + if (!state && secure_firmware) { /* * This assumes the cluster number of the big cores(Cortex A15) * is 0 and the Little cores(Cortex A7) is 1. @@ -258,6 +260,8 @@ return -ENOMEM; } + secure_firmware = exynos_secure_firmware_available(); + /* * To increase the stability of KFC reset we need to program * the PMU SPARE3 register --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-footbridge/cats-pci.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-footbridge/cats-pci.c @@ -15,14 +15,14 @@ #include /* cats host-specific stuff */ -static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; +static int irqmap_cats[] = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; static u8 cats_no_swizzle(struct pci_dev *dev, u8 *pin) { return 0; } -static int __init cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +static int cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (dev->irq >= 255) return -1; /* not a valid interrupt. */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-footbridge/dc21285.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-footbridge/dc21285.c @@ -65,15 +65,15 @@ if (addr) switch (size) { case 1: - asm("ldrb %0, [%1, %2]" + asm volatile("ldrb %0, [%1, %2]" : "=r" (v) : "r" (addr), "r" (where) : "cc"); break; case 2: - asm("ldrh %0, [%1, %2]" + asm volatile("ldrh %0, [%1, %2]" : "=r" (v) : "r" (addr), "r" (where) : "cc"); break; case 4: - asm("ldr %0, [%1, %2]" + asm volatile("ldr %0, [%1, %2]" : "=r" (v) : "r" (addr), "r" (where) : "cc"); break; } @@ -99,17 +99,17 @@ if (addr) switch (size) { case 1: - asm("strb %0, [%1, %2]" + asm volatile("strb %0, [%1, %2]" : : "r" (value), "r" (addr), "r" (where) : "cc"); break; case 2: - asm("strh %0, [%1, %2]" + asm volatile("strh %0, [%1, %2]" : : "r" (value), "r" (addr), "r" (where) : "cc"); break; case 4: - asm("str %0, [%1, %2]" + asm volatile("str %0, [%1, %2]" : : "r" (value), "r" (addr), "r" (where) : "cc"); break; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-footbridge/ebsa285-pci.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-footbridge/ebsa285-pci.c @@ -14,9 +14,9 @@ #include #include -static int irqmap_ebsa285[] __initdata = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI }; +static int irqmap_ebsa285[] = { IRQ_IN3, IRQ_IN1, IRQ_IN0, IRQ_PCI }; -static int __init ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +static int ebsa285_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (dev->vendor == PCI_VENDOR_ID_CONTAQ && dev->device == PCI_DEVICE_ID_CONTAQ_82C693) --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-footbridge/netwinder-pci.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-footbridge/netwinder-pci.c @@ -18,7 +18,7 @@ * We now use the slot ID instead of the device identifiers to select * which interrupt is routed where. */ -static int __init netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +static int netwinder_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { switch (slot) { case 0: /* host bridge */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-footbridge/personal-pci.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-footbridge/personal-pci.c @@ -14,13 +14,12 @@ #include #include -static int irqmap_personal_server[] __initdata = { +static int irqmap_personal_server[] = { IRQ_IN0, IRQ_IN1, IRQ_IN2, IRQ_IN3, 0, 0, 0, IRQ_DOORBELLHOST, IRQ_DMA1, IRQ_DMA2, IRQ_PCI }; -static int __init personal_server_map_irq(const struct pci_dev *dev, u8 slot, - u8 pin) +static int personal_server_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { unsigned char line; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-imx/suspend-imx6.S +++ linux-riscv-5.8-5.8.0/arch/arm/mach-imx/suspend-imx6.S @@ -67,6 +67,7 @@ #define MX6Q_CCM_CCR 0x0 .align 3 + .arm .macro sync_l2_cache --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-ixp4xx/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arm/mach-ixp4xx/Kconfig @@ -13,7 +13,6 @@ select I2C select I2C_IOP3XX select PCI - select TIMER_OF select USE_OF help Say 'Y' here to support Device Tree-based IXP4xx platforms. --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-keystone/keystone.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-keystone/keystone.c @@ -62,7 +62,7 @@ static long long __init keystone_pv_fixup(void) { long long offset; - phys_addr_t mem_start, mem_end; + u64 mem_start, mem_end; mem_start = memblock_start_of_DRAM(); mem_end = memblock_end_of_DRAM(); @@ -75,7 +75,7 @@ if (mem_start < KEYSTONE_HIGH_PHYS_START || mem_end > KEYSTONE_HIGH_PHYS_END) { pr_crit("Invalid address space for memory (%08llx-%08llx)\n", - (u64)mem_start, (u64)mem_end); + mem_start, mem_end); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap1/ams-delta-fiq-handler.S +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap1/ams-delta-fiq-handler.S @@ -15,6 +15,7 @@ #include #include +#include #include "ams-delta-fiq.h" #include "board-ams-delta.h" --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap1/board-osk.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap1/board-osk.c @@ -199,6 +199,8 @@ */ gpio_request(OSK_TPS_GPIO_USB_PWR_EN, "n_vbus_en"); gpio_direction_output(OSK_TPS_GPIO_USB_PWR_EN, 1); + /* Free the GPIO again as the driver will request it */ + gpio_free(OSK_TPS_GPIO_USB_PWR_EN); /* Set GPIO 2 high so LED D3 is off by default */ tps65010_set_gpio_out_value(GPIO2, HIGH); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/board-generic.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/board-generic.c @@ -33,7 +33,7 @@ } /* Clocks are needed early, see drivers/clocksource for the rest */ -void __init __maybe_unused omap_init_time_of(void) +static void __init __maybe_unused omap_init_time_of(void) { omap_clk_init(); timer_probe(); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/cpuidle44xx.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/cpuidle44xx.c @@ -151,10 +151,10 @@ (cx->mpu_logic_state == PWRDM_POWER_OFF); /* Enter broadcast mode for periodic timers */ - tick_broadcast_enable(); + RCU_NONIDLE(tick_broadcast_enable()); /* Enter broadcast mode for one-shot timers */ - tick_broadcast_enter(); + RCU_NONIDLE(tick_broadcast_enter()); /* * Call idle CPU PM enter notifier chain so that @@ -166,7 +166,7 @@ if (dev->cpu == 0) { pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state); - omap_set_pwrdm_state(mpu_pd, cx->mpu_state); + RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state)); /* * Call idle CPU cluster PM enter notifier chain @@ -174,15 +174,19 @@ */ if (mpuss_can_lose_context) { error = cpu_cluster_pm_enter(); - if (error) - goto cpu_cluster_pm_out; + if (error) { + index = 0; + cx = state_ptr + index; + pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state); + RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state)); + mpuss_can_lose_context = 0; + } } } omap4_enter_lowpower(dev->cpu, cx->cpu_state); cpu_done[dev->cpu] = true; -cpu_cluster_pm_out: /* Wakeup CPU1 only if it is not offlined */ if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { @@ -190,9 +194,9 @@ mpuss_can_lose_context) gic_dist_disable(); - clkdm_deny_idle(cpu_clkdm[1]); - omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON); - clkdm_allow_idle(cpu_clkdm[1]); + RCU_NONIDLE(clkdm_deny_idle(cpu_clkdm[1])); + RCU_NONIDLE(omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON)); + RCU_NONIDLE(clkdm_allow_idle(cpu_clkdm[1])); if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && mpuss_can_lose_context) { @@ -218,7 +222,7 @@ cpu_pm_exit(); cpu_pm_out: - tick_broadcast_exit(); + RCU_NONIDLE(tick_broadcast_exit()); fail: cpuidle_coupled_parallel_barrier(dev, &abort_barrier); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/omap-iommu.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/omap-iommu.c @@ -74,7 +74,7 @@ return pwrdm; clk = of_clk_get(dev->of_node->parent, 0); - if (!clk) { + if (IS_ERR(clk)) { dev_err(dev, "no fck found\n"); return NULL; } --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/omap-secure.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/omap-secure.c @@ -9,6 +9,7 @@ */ #include +#include #include #include #include @@ -20,6 +21,7 @@ #include "common.h" #include "omap-secure.h" +#include "soc.h" static phys_addr_t omap_secure_memblock_base; @@ -213,3 +215,40 @@ { omap_optee_init_check(); } + +/* + * Dummy dispatcher call after core OSWR and MPU off. Updates the ROM return + * address after MMU has been re-enabled after CPU1 has been woken up again. + * Otherwise the ROM code will attempt to use the earlier physical return + * address that got set with MMU off when waking up CPU1. Only used on secure + * devices. + */ +static int cpu_notifier(struct notifier_block *nb, unsigned long cmd, void *v) +{ + switch (cmd) { + case CPU_CLUSTER_PM_EXIT: + omap_secure_dispatcher(OMAP4_PPA_SERVICE_0, + FLAG_START_CRITICAL, + 0, 0, 0, 0, 0); + break; + default: + break; + } + + return NOTIFY_OK; +} + +static struct notifier_block secure_notifier_block = { + .notifier_call = cpu_notifier, +}; + +static int __init secure_pm_init(void) +{ + if (omap_type() == OMAP2_DEVICE_TYPE_GP || !soc_is_omap44xx()) + return 0; + + cpu_pm_register_notifier(&secure_notifier_block); + + return 0; +} +omap_arch_initcall(secure_pm_init); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/omap-secure.h +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/omap-secure.h @@ -50,6 +50,7 @@ #define OMAP5_DRA7_MON_SET_ACR_INDEX 0x107 /* Secure PPA(Primary Protected Application) APIs */ +#define OMAP4_PPA_SERVICE_0 0x21 #define OMAP4_PPA_L2_POR_INDEX 0x23 #define OMAP4_PPA_CPU_ACTRL_SMP_INDEX 0x25 --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/omap_device.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/omap_device.c @@ -230,10 +230,12 @@ break; case BUS_NOTIFY_BIND_DRIVER: od = to_omap_device(pdev); - if (od && (od->_state == OMAP_DEVICE_STATE_ENABLED) && - pm_runtime_status_suspended(dev)) { + if (od) { od->_driver_status = BUS_NOTIFY_BIND_DRIVER; - pm_runtime_set_active(dev); + if (od->_state == OMAP_DEVICE_STATE_ENABLED && + pm_runtime_status_suspended(dev)) { + pm_runtime_set_active(dev); + } } break; case BUS_NOTIFY_ADD_DEVICE: --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/pmic-cpcap.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/pmic-cpcap.c @@ -71,7 +71,7 @@ .vp_vstepmin = OMAP4_VP_VSTEPMIN_VSTEPMIN, .vp_vstepmax = OMAP4_VP_VSTEPMAX_VSTEPMAX, .vddmin = 900000, - .vddmax = 1350000, + .vddmax = 1375000, .vp_timeout_us = OMAP4_VP_VLIMITTO_TIMEOUT_US, .i2c_slave_addr = 0x44, .volt_reg_addr = 0x0, @@ -246,10 +246,10 @@ omap_voltage_register_pmic(voltdm, &omap443x_max8952_mpu); if (of_machine_is_compatible("motorola,droid-bionic")) { - voltdm = voltdm_lookup("mpu"); + voltdm = voltdm_lookup("core"); omap_voltage_register_pmic(voltdm, &omap_cpcap_core); - voltdm = voltdm_lookup("mpu"); + voltdm = voltdm_lookup("iva"); omap_voltage_register_pmic(voltdm, &omap_cpcap_iva); } else { voltdm = voltdm_lookup("core"); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-omap2/sr_device.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-omap2/sr_device.c @@ -88,34 +88,26 @@ extern struct omap_sr_data omap_sr_pdata[]; -static int __init sr_dev_init(struct omap_hwmod *oh, void *user) +static int __init sr_init_by_name(const char *name, const char *voltdm) { struct omap_sr_data *sr_data = NULL; struct omap_volt_data *volt_data; - struct omap_smartreflex_dev_attr *sr_dev_attr; static int i; - if (!strncmp(oh->name, "smartreflex_mpu_iva", 20) || - !strncmp(oh->name, "smartreflex_mpu", 16)) + if (!strncmp(name, "smartreflex_mpu_iva", 20) || + !strncmp(name, "smartreflex_mpu", 16)) sr_data = &omap_sr_pdata[OMAP_SR_MPU]; - else if (!strncmp(oh->name, "smartreflex_core", 17)) + else if (!strncmp(name, "smartreflex_core", 17)) sr_data = &omap_sr_pdata[OMAP_SR_CORE]; - else if (!strncmp(oh->name, "smartreflex_iva", 16)) + else if (!strncmp(name, "smartreflex_iva", 16)) sr_data = &omap_sr_pdata[OMAP_SR_IVA]; if (!sr_data) { - pr_err("%s: Unknown instance %s\n", __func__, oh->name); + pr_err("%s: Unknown instance %s\n", __func__, name); return -EINVAL; } - sr_dev_attr = (struct omap_smartreflex_dev_attr *)oh->dev_attr; - if (!sr_dev_attr || !sr_dev_attr->sensor_voltdm_name) { - pr_err("%s: No voltage domain specified for %s. Cannot initialize\n", - __func__, oh->name); - goto exit; - } - - sr_data->name = oh->name; + sr_data->name = name; if (cpu_is_omap343x()) sr_data->ip_type = 1; else @@ -136,10 +128,10 @@ } } - sr_data->voltdm = voltdm_lookup(sr_dev_attr->sensor_voltdm_name); + sr_data->voltdm = voltdm_lookup(voltdm); if (!sr_data->voltdm) { pr_err("%s: Unable to get voltage domain pointer for VDD %s\n", - __func__, sr_dev_attr->sensor_voltdm_name); + __func__, voltdm); goto exit; } @@ -160,6 +152,20 @@ return 0; } +static int __init sr_dev_init(struct omap_hwmod *oh, void *user) +{ + struct omap_smartreflex_dev_attr *sr_dev_attr; + + sr_dev_attr = (struct omap_smartreflex_dev_attr *)oh->dev_attr; + if (!sr_dev_attr || !sr_dev_attr->sensor_voltdm_name) { + pr_err("%s: No voltage domain specified for %s. Cannot initialize\n", + __func__, oh->name); + return 0; + } + + return sr_init_by_name(oh->name, sr_dev_attr->sensor_voltdm_name); +} + /* * API to be called from board files to enable smartreflex * autocompensation at init. @@ -169,7 +175,42 @@ sr_enable_on_init = true; } +static const char * const omap4_sr_instances[] = { + "mpu", + "iva", + "core", +}; + +static const char * const dra7_sr_instances[] = { + "mpu", + "core", +}; + int __init omap_devinit_smartreflex(void) { + const char * const *sr_inst = NULL; + int i, nr_sr = 0; + + if (soc_is_omap44xx()) { + sr_inst = omap4_sr_instances; + nr_sr = ARRAY_SIZE(omap4_sr_instances); + + } else if (soc_is_dra7xx()) { + sr_inst = dra7_sr_instances; + nr_sr = ARRAY_SIZE(dra7_sr_instances); + } + + if (nr_sr) { + const char *name, *voltdm; + + for (i = 0; i < nr_sr; i++) { + name = kasprintf(GFP_KERNEL, "smartreflex_%s", sr_inst[i]); + voltdm = sr_inst[i]; + sr_init_by_name(name, voltdm); + } + + return 0; + } + return omap_hwmod_for_each_by_class("smartreflex", sr_dev_init, NULL); } --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-s3c24xx/mach-at2440evb.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-s3c24xx/mach-at2440evb.c @@ -143,7 +143,7 @@ .dev_id = "s3c2410-sdi", .table = { /* Card detect S3C2410_GPG(10) */ - GPIO_LOOKUP("GPG", 10, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOG", 10, "cd", GPIO_ACTIVE_LOW), { }, }, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-s3c24xx/mach-h1940.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-s3c24xx/mach-h1940.c @@ -468,9 +468,9 @@ .dev_id = "s3c2410-sdi", .table = { /* Card detect S3C2410_GPF(5) */ - GPIO_LOOKUP("GPF", 5, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOF", 5, "cd", GPIO_ACTIVE_LOW), /* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_LOW), { }, }, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-s3c24xx/mach-mini2440.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-s3c24xx/mach-mini2440.c @@ -244,9 +244,9 @@ .dev_id = "s3c2410-sdi", .table = { /* Card detect S3C2410_GPG(8) */ - GPIO_LOOKUP("GPG", 8, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOG", 8, "cd", GPIO_ACTIVE_LOW), /* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_HIGH), { }, }, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-s3c24xx/mach-n30.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-s3c24xx/mach-n30.c @@ -359,9 +359,9 @@ .dev_id = "s3c2410-sdi", .table = { /* Card detect S3C2410_GPF(1) */ - GPIO_LOOKUP("GPF", 1, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOF", 1, "cd", GPIO_ACTIVE_LOW), /* Write protect S3C2410_GPG(10) */ - GPIO_LOOKUP("GPG", 10, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOG", 10, "wp", GPIO_ACTIVE_LOW), { }, }, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-s3c24xx/mach-rx1950.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-s3c24xx/mach-rx1950.c @@ -571,9 +571,9 @@ .dev_id = "s3c2410-sdi", .table = { /* Card detect S3C2410_GPF(5) */ - GPIO_LOOKUP("GPF", 5, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOF", 5, "cd", GPIO_ACTIVE_LOW), /* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_LOW), { }, }, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-socfpga/pm.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-socfpga/pm.c @@ -49,14 +49,14 @@ if (!ocram_pool) { pr_warn("%s: ocram pool unavailable!\n", __func__); ret = -ENODEV; - goto put_node; + goto put_device; } ocram_base = gen_pool_alloc(ocram_pool, socfpga_sdram_self_refresh_sz); if (!ocram_base) { pr_warn("%s: unable to alloc ocram!\n", __func__); ret = -ENOMEM; - goto put_node; + goto put_device; } ocram_pbase = gen_pool_virt_to_phys(ocram_pool, ocram_base); @@ -67,7 +67,7 @@ if (!suspend_ocram_base) { pr_warn("%s: __arm_ioremap_exec failed!\n", __func__); ret = -ENOMEM; - goto put_node; + goto put_device; } /* Copy the code that puts DDR in self refresh to ocram */ @@ -81,6 +81,8 @@ if (!socfpga_sdram_self_refresh_in_ocram) ret = -EFAULT; +put_device: + put_device(&pdev->dev); put_node: of_node_put(np); --- linux-riscv-5.8-5.8.0.orig/arch/arm/mach-sunxi/sunxi.c +++ linux-riscv-5.8-5.8.0/arch/arm/mach-sunxi/sunxi.c @@ -66,6 +66,7 @@ "allwinner,sun8i-h2-plus", "allwinner,sun8i-h3", "allwinner,sun8i-r40", + "allwinner,sun8i-v3", "allwinner,sun8i-v3s", NULL, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/mm/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arm/mm/Kconfig @@ -743,6 +743,7 @@ config CPU_BIG_ENDIAN bool "Build big-endian kernel" depends on ARCH_SUPPORTS_BIG_ENDIAN + depends on !LD_IS_LLD help Say Y if you plan on running a kernel in big-endian mode. Note that your board must be properly built and your board --- linux-riscv-5.8-5.8.0.orig/arch/arm/mm/cache-l2x0.c +++ linux-riscv-5.8-5.8.0/arch/arm/mm/cache-l2x0.c @@ -1249,20 +1249,28 @@ ret = of_property_read_u32(np, "prefetch-data", &val); if (ret == 0) { - if (val) + if (val) { prefetch |= L310_PREFETCH_CTRL_DATA_PREFETCH; - else + *aux_val |= L310_PREFETCH_CTRL_DATA_PREFETCH; + } else { prefetch &= ~L310_PREFETCH_CTRL_DATA_PREFETCH; + *aux_val &= ~L310_PREFETCH_CTRL_DATA_PREFETCH; + } + *aux_mask &= ~L310_PREFETCH_CTRL_DATA_PREFETCH; } else if (ret != -EINVAL) { pr_err("L2C-310 OF prefetch-data property value is missing\n"); } ret = of_property_read_u32(np, "prefetch-instr", &val); if (ret == 0) { - if (val) + if (val) { prefetch |= L310_PREFETCH_CTRL_INSTR_PREFETCH; - else + *aux_val |= L310_PREFETCH_CTRL_INSTR_PREFETCH; + } else { prefetch &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH; + *aux_val &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH; + } + *aux_mask &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH; } else if (ret != -EINVAL) { pr_err("L2C-310 OF prefetch-instr property value is missing\n"); } --- linux-riscv-5.8-5.8.0.orig/arch/arm/plat-samsung/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arm/plat-samsung/Kconfig @@ -241,6 +241,7 @@ depends on PM && DEBUG_KERNEL depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART + depends on DEBUG_LL && MMU help Say Y here if you want verbose debugging from the PM Suspend and Resume code. See --- linux-riscv-5.8-5.8.0.orig/arch/arm/probes/kprobes/opt-arm.c +++ linux-riscv-5.8-5.8.0/arch/arm/probes/kprobes/opt-arm.c @@ -85,21 +85,21 @@ "optprobe_template_end:\n"); #define TMPL_VAL_IDX \ - ((unsigned long *)&optprobe_template_val - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_val - (unsigned long *)optprobe_template_entry) #define TMPL_CALL_IDX \ - ((unsigned long *)&optprobe_template_call - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_call - (unsigned long *)optprobe_template_entry) #define TMPL_END_IDX \ - ((unsigned long *)&optprobe_template_end - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_end - (unsigned long *)optprobe_template_entry) #define TMPL_ADD_SP \ - ((unsigned long *)&optprobe_template_add_sp - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_add_sp - (unsigned long *)optprobe_template_entry) #define TMPL_SUB_SP \ - ((unsigned long *)&optprobe_template_sub_sp - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_sub_sp - (unsigned long *)optprobe_template_entry) #define TMPL_RESTORE_BEGIN \ - ((unsigned long *)&optprobe_template_restore_begin - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_restore_begin - (unsigned long *)optprobe_template_entry) #define TMPL_RESTORE_ORIGN_INSN \ - ((unsigned long *)&optprobe_template_restore_orig_insn - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_restore_orig_insn - (unsigned long *)optprobe_template_entry) #define TMPL_RESTORE_END \ - ((unsigned long *)&optprobe_template_restore_end - (unsigned long *)&optprobe_template_entry) + ((unsigned long *)optprobe_template_restore_end - (unsigned long *)optprobe_template_entry) /* * ARM can always optimize an instruction when using ARM ISA, except @@ -234,7 +234,7 @@ } /* Copy arch-dep-instance from template. */ - memcpy(code, (unsigned long *)&optprobe_template_entry, + memcpy(code, (unsigned long *)optprobe_template_entry, TMPL_END_IDX * sizeof(kprobe_opcode_t)); /* Adjust buffer according to instruction. */ --- linux-riscv-5.8-5.8.0.orig/arch/arm/probes/uprobes/core.c +++ linux-riscv-5.8-5.8.0/arch/arm/probes/uprobes/core.c @@ -204,7 +204,7 @@ static struct undef_hook uprobes_arm_break_hook = { .instr_mask = 0x0fffffff, .instr_val = (UPROBE_SWBP_ARM_INSN & 0x0fffffff), - .cpsr_mask = MODE_MASK, + .cpsr_mask = (PSR_T_BIT | MODE_MASK), .cpsr_val = USR_MODE, .fn = uprobe_trap_handler, }; @@ -212,7 +212,7 @@ static struct undef_hook uprobes_arm_ss_hook = { .instr_mask = 0x0fffffff, .instr_val = (UPROBE_SS_ARM_INSN & 0x0fffffff), - .cpsr_mask = MODE_MASK, + .cpsr_mask = (PSR_T_BIT | MODE_MASK), .cpsr_val = USR_MODE, .fn = uprobe_trap_handler, }; --- linux-riscv-5.8-5.8.0.orig/arch/arm/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/arm/vdso/Makefile @@ -19,7 +19,7 @@ ldflags-$(CONFIG_CPU_ENDIAN_BE8) := --be8 ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \ -z max-page-size=4096 -nostdlib -shared $(ldflags-y) \ - --hash-style=sysv --build-id \ + --hash-style=sysv --build-id=sha1 \ -T obj-$(CONFIG_VDSO) += vdso.o --- linux-riscv-5.8-5.8.0.orig/arch/arm/vfp/entry.S +++ linux-riscv-5.8-5.8.0/arch/arm/vfp/entry.S @@ -37,20 +37,3 @@ .align 2 .LCvfp: .word vfp_vector - -@ This code is called if the VFP does not exist. It needs to flag the -@ failure to the VFP initialisation code. - - __INIT -ENTRY(vfp_testing_entry) - dec_preempt_count_ti r10, r4 - ldr r0, VFP_arch_address - str r0, [r0] @ set to non-zero value - ret r9 @ we have handled the fault -ENDPROC(vfp_testing_entry) - - .align 2 -VFP_arch_address: - .word VFP_arch - - __FINIT --- linux-riscv-5.8-5.8.0.orig/arch/arm/vfp/vfphw.S +++ linux-riscv-5.8-5.8.0/arch/arm/vfp/vfphw.S @@ -78,11 +78,6 @@ ENTRY(vfp_support_entry) DBGSTR3 "instr %08x pc %08x state %p", r0, r2, r10 - ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions - and r3, r3, #MODE_MASK @ are supported in kernel mode - teq r3, #USR_MODE - bne vfp_kmode_exception @ Returns through lr - VFPFMRX r1, FPEXC @ Is the VFP enabled? DBGSTR1 "fpexc %08x", r1 tst r1, #FPEXC_EN --- linux-riscv-5.8-5.8.0.orig/arch/arm/vfp/vfpmodule.c +++ linux-riscv-5.8-5.8.0/arch/arm/vfp/vfpmodule.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "vfpinstr.h" @@ -31,7 +32,6 @@ /* * Our undef handlers (in entry.S) */ -asmlinkage void vfp_testing_entry(void); asmlinkage void vfp_support_entry(void); asmlinkage void vfp_null_entry(void); @@ -42,7 +42,7 @@ * Used in startup: set to non-zero if VFP checks fail * After startup, holds VFP architecture */ -unsigned int VFP_arch; +static unsigned int __initdata VFP_arch; /* * The pointer to the vfpstate structure of the thread which currently @@ -436,7 +436,7 @@ * present on all CPUs within a SMP complex. Needs to be called prior to * vfp_init(). */ -void vfp_disable(void) +void __init vfp_disable(void) { if (VFP_arch) { pr_debug("%s: should be called prior to vfp_init\n", __func__); @@ -642,7 +642,9 @@ return 0; } -void vfp_kmode_exception(void) +#ifdef CONFIG_KERNEL_MODE_NEON + +static int vfp_kmode_exception(struct pt_regs *regs, unsigned int instr) { /* * If we reach this point, a floating point exception has been raised @@ -660,9 +662,51 @@ pr_crit("BUG: unsupported FP instruction in kernel mode\n"); else pr_crit("BUG: FP instruction issued in kernel mode with FP unit disabled\n"); + pr_crit("FPEXC == 0x%08x\n", fmrx(FPEXC)); + return 1; } -#ifdef CONFIG_KERNEL_MODE_NEON +static struct undef_hook vfp_kmode_exception_hook[] = {{ + .instr_mask = 0xfe000000, + .instr_val = 0xf2000000, + .cpsr_mask = MODE_MASK | PSR_T_BIT, + .cpsr_val = SVC_MODE, + .fn = vfp_kmode_exception, +}, { + .instr_mask = 0xff100000, + .instr_val = 0xf4000000, + .cpsr_mask = MODE_MASK | PSR_T_BIT, + .cpsr_val = SVC_MODE, + .fn = vfp_kmode_exception, +}, { + .instr_mask = 0xef000000, + .instr_val = 0xef000000, + .cpsr_mask = MODE_MASK | PSR_T_BIT, + .cpsr_val = SVC_MODE | PSR_T_BIT, + .fn = vfp_kmode_exception, +}, { + .instr_mask = 0xff100000, + .instr_val = 0xf9000000, + .cpsr_mask = MODE_MASK | PSR_T_BIT, + .cpsr_val = SVC_MODE | PSR_T_BIT, + .fn = vfp_kmode_exception, +}, { + .instr_mask = 0x0c000e00, + .instr_val = 0x0c000a00, + .cpsr_mask = MODE_MASK, + .cpsr_val = SVC_MODE, + .fn = vfp_kmode_exception, +}}; + +static int __init vfp_kmode_exception_hook_init(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++) + register_undef_hook(&vfp_kmode_exception_hook[i]); + return 0; +} +subsys_initcall(vfp_kmode_exception_hook_init); /* * Kernel-side NEON support functions @@ -708,6 +752,21 @@ #endif /* CONFIG_KERNEL_MODE_NEON */ +static int __init vfp_detect(struct pt_regs *regs, unsigned int instr) +{ + VFP_arch = UINT_MAX; /* mark as not present */ + regs->ARM_pc += 4; + return 0; +} + +static struct undef_hook vfp_detect_hook __initdata = { + .instr_mask = 0x0c000e00, + .instr_val = 0x0c000a00, + .cpsr_mask = MODE_MASK, + .cpsr_val = SVC_MODE, + .fn = vfp_detect, +}; + /* * VFP support code initialisation. */ @@ -728,10 +787,11 @@ * The handler is already setup to just log calls, so * we just need to read the VFPSID register. */ - vfp_vector = vfp_testing_entry; + register_undef_hook(&vfp_detect_hook); barrier(); vfpsid = fmrx(FPSID); barrier(); + unregister_undef_hook(&vfp_detect_hook); vfp_vector = vfp_null_entry; pr_info("VFP support v0.3: "); --- linux-riscv-5.8-5.8.0.orig/arch/arm/xen/enlighten.c +++ linux-riscv-5.8-5.8.0/arch/arm/xen/enlighten.c @@ -369,8 +369,6 @@ return -ENOMEM; } gnttab_init(); - if (!xen_initial_domain()) - xenbus_probe(NULL); /* * Making sure board specific code will not set up ops for --- linux-riscv-5.8-5.8.0.orig/arch/arm/xen/p2m.c +++ linux-riscv-5.8-5.8.0/arch/arm/xen/p2m.c @@ -93,10 +93,39 @@ int i; for (i = 0; i < count; i++) { + struct gnttab_unmap_grant_ref unmap; + int rc; + if (map_ops[i].status) continue; - set_phys_to_machine(map_ops[i].host_addr >> XEN_PAGE_SHIFT, - map_ops[i].dev_bus_addr >> XEN_PAGE_SHIFT); + if (likely(set_phys_to_machine(map_ops[i].host_addr >> XEN_PAGE_SHIFT, + map_ops[i].dev_bus_addr >> XEN_PAGE_SHIFT))) + continue; + + /* + * Signal an error for this slot. This in turn requires + * immediate unmapping. + */ + map_ops[i].status = GNTST_general_error; + unmap.host_addr = map_ops[i].host_addr, + unmap.handle = map_ops[i].handle; + map_ops[i].handle = ~0; + if (map_ops[i].flags & GNTMAP_device_map) + unmap.dev_bus_addr = map_ops[i].dev_bus_addr; + else + unmap.dev_bus_addr = 0; + + /* + * Pre-populate the status field, to be recognizable in + * the log message below. + */ + unmap.status = 1; + + rc = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, + &unmap, 1); + if (rc || unmap.status != GNTST_okay) + pr_err_once("gnttab unmap failed: rc=%d st=%d\n", + rc, unmap.status); } return 0; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/Kconfig +++ linux-riscv-5.8-5.8.0/arch/arm64/Kconfig @@ -509,7 +509,7 @@ help This option adds a workaround for ARM Cortex-A55 Erratum 1024718. - Affected Cortex-A55 cores (r0p0, r0p1, r1p0) could cause incorrect + Affected Cortex-A55 cores (all revisions) could cause incorrect update of the hardware dirty bit when the DBM/AP bits are updated without a break-before-make. The workaround is to disable the usage of hardware DBM locally on the affected cores. CPUs not affected by @@ -919,8 +919,9 @@ that is selected here. config CPU_BIG_ENDIAN - bool "Build big-endian kernel" - help + bool "Build big-endian kernel" + depends on !LD_IS_LLD || LLD_VERSION >= 130000 + help Say Y if you plan on running a kernel with a big-endian userspace. config CPU_LITTLE_ENDIAN @@ -1133,6 +1134,7 @@ config FORCE_MAX_ZONEORDER int default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) + default "13" if (ARCH_THUNDER && ARM64_4K_PAGES) default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE) default "11" help --- linux-riscv-5.8-5.8.0.orig/arch/arm64/Kconfig.platforms +++ linux-riscv-5.8-5.8.0/arch/arm64/Kconfig.platforms @@ -54,6 +54,7 @@ config ARCH_BERLIN bool "Marvell Berlin SoC Family" select DW_APB_ICTL + select DW_APB_TIMER_OF select GPIOLIB select PINCTRL help --- linux-riscv-5.8-5.8.0.orig/arch/arm64/Makefile +++ linux-riscv-5.8-5.8.0/arch/arm64/Makefile @@ -17,7 +17,7 @@ # Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour # for relative relocs, since this leads to better Image compression # with the relocation offsets always being zero. -LDFLAGS_vmlinux += -shared -Bsymbolic -z notext -z norelro \ +LDFLAGS_vmlinux += -shared -Bsymbolic -z notext \ $(call ld-option, --no-apply-dynamic-relocs) endif @@ -96,16 +96,20 @@ CHECKFLAGS += -D__AARCH64EB__ # Prefer the baremetal ELF build target, but not all toolchains include # it so fall back to the standard linux version if needed. -KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb) +KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb -z norelro) UTS_MACHINE := aarch64_be else KBUILD_CPPFLAGS += -mlittle-endian CHECKFLAGS += -D__AARCH64EL__ # Same as above, prefer ELF but fall back to linux target if needed. -KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux) +KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux -z norelro) UTS_MACHINE := aarch64 endif +ifeq ($(CONFIG_LD_IS_LLD), y) +KBUILD_LDFLAGS += -z norelro +endif + CHECKFLAGS += -D__aarch64__ ifeq ($(CONFIG_ARM64_MODULE_PLTS),y) @@ -158,6 +162,8 @@ PHONY += vdso_install vdso_install: $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso $@ + $(if $(CONFIG_COMPAT_VDSO), \ + $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso32 $@) # We use MRPROPER_FILES and CLEAN_FILES now archclean: --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/actions/s700.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/actions/s700.dtsi @@ -231,7 +231,7 @@ pinctrl: pinctrl@e01b0000 { compatible = "actions,s700-pinctrl"; - reg = <0x0 0xe01b0000 0x0 0x1000>; + reg = <0x0 0xe01b0000 0x0 0x100>; clocks = <&cmu CLK_GPIO>; gpio-controller; gpio-ranges = <&pinctrl 0 0 136>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts @@ -105,7 +105,7 @@ &emac { pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&ext_rgmii_phy>; phy-supply = <®_dc1sw>; status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts @@ -120,7 +120,7 @@ &emac { pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&ext_rgmii_phy>; phy-supply = <®_gmac_3v3>; status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts @@ -8,3 +8,7 @@ compatible = "pine64,pine64-lts", "allwinner,sun50i-r18", "allwinner,sun50i-a64"; }; + +&mmc0 { + broken-cd; /* card detect is broken on *some* boards */ +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts @@ -13,7 +13,7 @@ &emac { pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; - phy-mode = "rgmii"; + phy-mode = "rgmii-txid"; phy-handle = <&ext_rgmii_phy>; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts @@ -126,8 +126,6 @@ }; &ehci0 { - phys = <&usbphy 0>; - phy-names = "usb"; status = "okay"; }; @@ -169,6 +167,7 @@ pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>; vmmc-supply = <®_dcdc1>; vqmmc-supply = <®_eldo1>; + max-frequency = <200000000>; bus-width = <8>; non-removable; cap-mmc-hw-reset; @@ -177,8 +176,6 @@ }; &ohci0 { - phys = <&usbphy 0>; - phy-names = "usb"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi @@ -279,7 +279,7 @@ ®_dldo4 { regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; + regulator-max-microvolt = <1800000>; regulator-name = "vcc-wifi-io"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi @@ -32,10 +32,9 @@ pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; vmmc-supply = <®_dcdc1>; - non-removable; disable-wp; bus-width = <4>; - cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */ status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi @@ -513,7 +513,7 @@ resets = <&ccu RST_BUS_MMC2>; reset-names = "ahb"; interrupts = ; - max-frequency = <200000000>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>; @@ -592,6 +592,8 @@ <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>, <&ccu RST_BUS_EHCI0>; + phys = <&usbphy 0>; + phy-names = "usb"; status = "disabled"; }; @@ -602,6 +604,8 @@ clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>; + phys = <&usbphy 0>; + phy-names = "usb"; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h5-libretech-all-h5-cc.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h5-libretech-all-h5-cc.dts @@ -36,7 +36,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_gmac_3v3>; phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; /delete-property/ allwinner,leds-active-low; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts @@ -123,7 +123,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_gmac_3v3>; phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts @@ -124,7 +124,7 @@ pinctrl-0 = <&emac_rgmii_pins>; phy-supply = <®_gmac_3v3>; phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi @@ -125,8 +125,7 @@ , , , - , - ; + ; interrupt-names = "gp", "gpmmu", "pp", @@ -137,8 +136,7 @@ "pp2", "ppmmu2", "pp3", - "ppmmu3", - "pmu"; + "ppmmu3"; clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; clock-names = "bus", "core"; resets = <&ccu RST_BUS_GPU>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts @@ -97,7 +97,7 @@ &emac { pinctrl-names = "default"; pinctrl-0 = <&ext_rgmii_pins>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&ext_rgmii_phy>; phy-supply = <®_aldo2>; status = "okay"; @@ -289,10 +289,6 @@ vcc-pm-supply = <®_aldo1>; }; -&rtc { - clocks = <&ext_osc32k>; -}; - &spdif { status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts @@ -100,7 +100,7 @@ &emac { pinctrl-names = "default"; pinctrl-0 = <&ext_rgmii_pins>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <&ext_rgmii_phy>; phy-supply = <®_gmac_3v3>; allwinner,rx-delay-ps = <200>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi @@ -435,6 +435,7 @@ interrupts = ; pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>; @@ -451,6 +452,7 @@ interrupts = ; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>; @@ -467,6 +469,7 @@ interrupts = ; pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>; @@ -666,6 +669,8 @@ <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>, <&ccu RST_BUS_EHCI0>; + phys = <&usb2phy 0>; + phy-names = "usb"; status = "disabled"; }; @@ -676,6 +681,8 @@ clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>; + phys = <&usb2phy 0>; + phy-names = "usb"; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts @@ -159,7 +159,7 @@ flash@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "n25q00a"; + compatible = "micron,mt25qu02g", "jedec,spi-nor"; reg = <0>; spi-max-frequency = <100000000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts @@ -192,7 +192,7 @@ flash@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "n25q00a"; + compatible = "micron,mt25qu02g", "jedec,spi-nor"; reg = <0>; spi-max-frequency = <100000000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -176,7 +176,7 @@ }; ethmac: ethernet@ff3f0000 { - compatible = "amlogic,meson-axg-dwmac", + compatible = "amlogic,meson-g12a-dwmac", "snps,dwmac-3.70a", "snps,dwmac"; reg = <0x0 0xff3f0000 0x0 0x10000>, @@ -247,6 +247,8 @@ hwrng: rng@218 { compatible = "amlogic,meson-rng"; reg = <0x0 0x218 0x0 0x4>; + clocks = <&clkc CLKID_RNG0>; + clock-names = "core"; }; }; @@ -2345,7 +2347,7 @@ interrupts = ; dr_mode = "host"; snps,dis_u2_susphy_quirk; - snps,quirk-frame-length-adjustment; + snps,quirk-frame-length-adjustment = <0x20>; snps,parkmode-disable-ss-quirk; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts @@ -340,7 +340,7 @@ eee-broken-1000t; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts @@ -333,7 +333,7 @@ max-speed = <1000>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi @@ -264,7 +264,7 @@ max-speed = <1000>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; interrupt-parent = <&gpio_intc>; @@ -336,9 +336,11 @@ bus-width = <4>; cap-sd-highspeed; - sd-uhs-sdr50; max-frequency = <100000000>; + /* WiFi firmware requires power to be kept while in suspend */ + keep-power-in-suspend; + non-removable; disable-wp; @@ -398,7 +400,7 @@ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; max-speed = <2000000>; clocks = <&wifi32k>; - clock-names = "lpo"; + clock-names = "lpo"; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi @@ -135,3 +135,7 @@ }; }; }; + +&mali { + dma-coherent; +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts @@ -165,7 +165,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -200,7 +200,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi @@ -126,7 +126,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi @@ -147,7 +147,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts @@ -82,7 +82,7 @@ /* External PHY reset is shared with internal PHY Led signal */ reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts @@ -194,7 +194,7 @@ reg = <0>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; @@ -341,7 +341,7 @@ #size-cells = <1>; compatible = "winbond,w25q16", "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <3000000>; + spi-max-frequency = <104000000>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts @@ -112,7 +112,7 @@ max-speed = <1000>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts @@ -64,7 +64,7 @@ /* External PHY reset is shared with internal PHY Led signal */ reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; interrupt-parent = <&gpio_intc>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts @@ -114,7 +114,7 @@ max-speed = <1000>; reset-assert-us = <10000>; - reset-deassert-us = <30000>; + reset-deassert-us = <80000>; reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi @@ -41,13 +41,13 @@ led-white { label = "vim3:white:sys"; - gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; + gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; }; led-red { label = "vim3:red"; - gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>; + gpios = <&gpio_expander 5 GPIO_ACTIVE_HIGH>; }; }; @@ -270,7 +270,6 @@ bus-width = <4>; cap-sd-highspeed; - sd-uhs-sdr50; max-frequency = <100000000>; non-removable; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts @@ -93,3 +93,7 @@ phy-names = "usb2-phy0", "usb2-phy1"; }; */ + +&sd_emmc_a { + sd-uhs-sdr50; +}; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts @@ -51,7 +51,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - gpio = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; + gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; enable-active-high; regulator-always-on; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi @@ -130,7 +130,7 @@ opp-microvolt = <790000>; }; - opp-1512000000 { + opp-1500000000 { opp-hz = /bits/ 64 <1500000000>; opp-microvolt = <800000>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi @@ -745,7 +745,7 @@ }; qspi: spi@66470200 { - compatible = "brcm,spi-bcm-qspi", "brcm,spi-ns2-qspi"; + compatible = "brcm,spi-ns2-qspi", "brcm,spi-bcm-qspi"; reg = <0x66470200 0x184>, <0x66470000 0x124>, <0x67017408 0x004>, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi @@ -4,21 +4,26 @@ */ usb { compatible = "simple-bus"; - dma-ranges; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0x0 0x0 0x68500000 0x00400000>; + #address-cells = <2>; + #size-cells = <2>; + ranges = <0x0 0x0 0x0 0x68500000 0x0 0x00400000>; + + /* + * Internally, USB bus to the interconnect can only address up + * to 40-bit + */ + dma-ranges = <0 0 0 0 0x100 0x0>; usbphy0: usb-phy@0 { compatible = "brcm,sr-usb-combo-phy"; - reg = <0x00000000 0x100>; + reg = <0x0 0x00000000 0x0 0x100>; #phy-cells = <1>; status = "disabled"; }; xhci0: usb@1000 { compatible = "generic-xhci"; - reg = <0x00001000 0x1000>; + reg = <0x0 0x00001000 0x0 0x1000>; interrupts = ; phys = <&usbphy0 1>, <&usbphy0 0>; phy-names = "phy0", "phy1"; @@ -28,7 +33,7 @@ bdc0: usb@2000 { compatible = "brcm,bdc-v0.16"; - reg = <0x00002000 0x1000>; + reg = <0x0 0x00002000 0x0 0x1000>; interrupts = ; phys = <&usbphy0 0>, <&usbphy0 1>; phy-names = "phy0", "phy1"; @@ -38,21 +43,21 @@ usbphy1: usb-phy@10000 { compatible = "brcm,sr-usb-combo-phy"; - reg = <0x00010000 0x100>; + reg = <0x0 0x00010000 0x0 0x100>; #phy-cells = <1>; status = "disabled"; }; usbphy2: usb-phy@20000 { compatible = "brcm,sr-usb-hs-phy"; - reg = <0x00020000 0x100>; + reg = <0x0 0x00020000 0x0 0x100>; #phy-cells = <0>; status = "disabled"; }; xhci1: usb@11000 { compatible = "generic-xhci"; - reg = <0x00011000 0x1000>; + reg = <0x0 0x00011000 0x0 0x1000>; interrupts = ; phys = <&usbphy1 1>, <&usbphy2>, <&usbphy1 0>; phy-names = "phy0", "phy1", "phy2"; @@ -62,7 +67,7 @@ bdc1: usb@21000 { compatible = "brcm,bdc-v0.16"; - reg = <0x00021000 0x1000>; + reg = <0x0 0x00021000 0x0 0x1000>; interrupts = ; phys = <&usbphy2>; phy-names = "phy0"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi @@ -389,7 +389,7 @@ s2mps13-pmic@66 { compatible = "samsung,s2mps13-pmic"; interrupt-parent = <&gpa0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; samsung,s2mps11-wrstbi-ground; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/exynos/exynos7-espresso.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/exynos/exynos7-espresso.dts @@ -90,7 +90,7 @@ s2mps15_pmic@66 { compatible = "samsung,s2mps15-pmic"; reg = <0x66>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; interrupt-parent = <&gpa0>; pinctrl-names = "default"; pinctrl-0 = <&pmic_irq>; @@ -157,6 +157,7 @@ regulator-min-microvolt = <700000>; regulator-max-microvolt = <1150000>; regulator-enable-ramp-delay = <125>; + regulator-always-on; }; ldo8_reg: LDO8 { --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/exynos/exynos7.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/exynos/exynos7.dtsi @@ -79,8 +79,10 @@ }; psci { - compatible = "arm,psci-0.2"; + compatible = "arm,psci"; method = "smc"; + cpu_off = <0x84000002>; + cpu_on = <0xC4000003>; }; soc: soc { @@ -483,13 +485,6 @@ pmu_system_controller: system-controller@105c0000 { compatible = "samsung,exynos7-pmu", "syscon"; reg = <0x105c0000 0x5000>; - - reboot: syscon-reboot { - compatible = "syscon-reboot"; - regmap = <&pmu_system_controller>; - offset = <0x0400>; - mask = <0x1>; - }; }; rtc: rtc@10590000 { @@ -650,3 +645,4 @@ }; #include "exynos7-pinctrl.dtsi" +#include "arm/exynos-syscon-restart.dtsi" --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/Makefile +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/Makefile @@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi @@ -190,6 +190,7 @@ ranges = <0x0 0x00 0x1700000 0x100000>; reg = <0x00 0x1700000 0x0 0x100000>; interrupts = ; + dma-coherent; sec_jr0: jr@10000 { compatible = "fsl,sec-v5.4-job-ring", --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts @@ -121,20 +121,10 @@ }; partition@210000 { - reg = <0x210000 0x0f0000>; + reg = <0x210000 0x1d0000>; label = "bootloader"; }; - partition@300000 { - reg = <0x300000 0x040000>; - label = "DP firmware"; - }; - - partition@340000 { - reg = <0x340000 0x0a0000>; - label = "trusted firmware"; - }; - partition@3e0000 { reg = <0x3e0000 0x020000>; label = "bootloader environment"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi @@ -89,7 +89,7 @@ reboot { compatible ="syscon-reboot"; regmap = <&rst>; - offset = <0xb0>; + offset = <0>; mask = <0x02>; }; @@ -285,7 +285,7 @@ <0x0 0x20000000 0x0 0x10000000>; reg-names = "fspi_base", "fspi_mmap"; interrupts = ; - clocks = <&clockgen 4 3>, <&clockgen 4 3>; + clocks = <&clockgen 2 0>, <&clockgen 2 0>; clock-names = "fspi_en", "fspi"; status = "disabled"; }; @@ -910,7 +910,7 @@ ethernet@0,4 { compatible = "fsl,enetc-ptp"; reg = <0x000400 0 0 0 0>; - clocks = <&clockgen 4 0>; + clocks = <&clockgen 2 3>; little-endian; fsl,extts-fifo; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi @@ -241,6 +241,7 @@ ranges = <0x0 0x00 0x1700000 0x100000>; reg = <0x00 0x1700000 0x0 0x100000>; interrupts = <0 75 0x4>; + dma-coherent; sec_jr0: jr@10000 { compatible = "fsl,sec-v5.4-job-ring", --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi @@ -244,6 +244,7 @@ ranges = <0x0 0x00 0x1700000 0x100000>; reg = <0x00 0x1700000 0x0 0x100000>; interrupts = ; + dma-coherent; sec_jr0: jr@10000 { compatible = "fsl,sec-v5.4-job-ring", @@ -304,7 +305,7 @@ dcfg: dcfg@1ee0000 { compatible = "fsl,ls1046a-dcfg", "syscon"; - reg = <0x0 0x1ee0000 0x0 0x10000>; + reg = <0x0 0x1ee0000 0x0 0x1000>; big-endian; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi @@ -210,6 +210,7 @@ host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; clocks = <&osc_32k>; + max-speed = <4000000>; clock-names = "extclk"; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h @@ -124,7 +124,7 @@ #define MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x0A4 0x30C 0x000 0x0 0x0 #define MX8MM_IOMUXC_SD1_CMD_GPIO2_IO1 0x0A4 0x30C 0x000 0x5 0x0 #define MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0A8 0x310 0x000 0x0 0x0 -#define MX8MM_IOMUXC_SD1_DATA0_GPIO2_IO2 0x0A8 0x31 0x000 0x5 0x0 +#define MX8MM_IOMUXC_SD1_DATA0_GPIO2_IO2 0x0A8 0x310 0x000 0x5 0x0 #define MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0AC 0x314 0x000 0x0 0x0 #define MX8MM_IOMUXC_SD1_DATA1_GPIO2_IO3 0x0AC 0x314 0x000 0x5 0x0 #define MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0B0 0x318 0x000 0x0 0x0 --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mm.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mm.dtsi @@ -129,7 +129,7 @@ opp-1600000000 { opp-hz = /bits/ 64 <1600000000>; - opp-microvolt = <900000>; + opp-microvolt = <950000>; opp-supported-hw = <0xc>, <0x7>; clock-latency-ns = <150000>; opp-suspend; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mn.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mn.dtsi @@ -781,28 +781,6 @@ #index-cells = <1>; reg = <0x32e40200 0x200>; }; - - usbotg2: usb@32e50000 { - compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb"; - reg = <0x32e50000 0x200>; - interrupts = ; - clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>; - clock-names = "usb1_ctrl_root_clk"; - assigned-clocks = <&clk IMX8MN_CLK_USB_BUS>, - <&clk IMX8MN_CLK_USB_CORE_REF>; - assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>, - <&clk IMX8MN_SYS_PLL1_100M>; - fsl,usbphy = <&usbphynop2>; - fsl,usbmisc = <&usbmisc2 0>; - status = "disabled"; - }; - - usbmisc2: usbmisc@32e50200 { - compatible = "fsl,imx8mn-usbmisc", "fsl,imx7d-usbmisc"; - #index-cells = <1>; - reg = <0x32e50200 0x200>; - }; - }; dma_apbh: dma-controller@33000000 { @@ -864,14 +842,6 @@ compatible = "usb-nop-xceiv"; clocks = <&clk IMX8MN_CLK_USB_PHY_REF>; assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>; - assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>; - clock-names = "main_clk"; - }; - - usbphynop2: usbphynop2 { - compatible = "usb-nop-xceiv"; - clocks = <&clk IMX8MN_CLK_USB_PHY_REF>; - assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>; assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>; clock-names = "main_clk"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -253,7 +253,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; - gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 0 144 4>; + gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 26 144 4>; }; gpio4: gpio@30230000 { @@ -688,7 +688,7 @@ reg = <0x30bd0000 0x10000>; interrupts = ; clocks = <&clk IMX8MP_CLK_SDMA1_ROOT>, - <&clk IMX8MP_CLK_SDMA1_ROOT>; + <&clk IMX8MP_CLK_AHB>; clock-names = "ipg", "ahb"; #dma-cells = <3>; fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h @@ -130,7 +130,7 @@ #define MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0x0A4 0x30C 0x000 0x0 0x0 #define MX8MQ_IOMUXC_SD1_CMD_GPIO2_IO1 0x0A4 0x30C 0x000 0x5 0x0 #define MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0A8 0x310 0x000 0x0 0x0 -#define MX8MQ_IOMUXC_SD1_DATA0_GPIO2_IO2 0x0A8 0x31 0x000 0x5 0x0 +#define MX8MQ_IOMUXC_SD1_DATA0_GPIO2_IO2 0x0A8 0x310 0x000 0x5 0x0 #define MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0AC 0x314 0x000 0x0 0x0 #define MX8MQ_IOMUXC_SD1_DATA1_GPIO2_IO3 0x0AC 0x314 0x000 0x5 0x0 #define MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0B0 0x318 0x000 0x0 0x0 --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -420,7 +420,7 @@ tmu: tmu@30260000 { compatible = "fsl,imx8mq-tmu"; reg = <0x30260000 0x10000>; - interrupt = ; + interrupts = ; clocks = <&clk IMX8MQ_CLK_TMU_ROOT>; little-endian; fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>; @@ -614,6 +614,7 @@ gpc: gpc@303a0000 { compatible = "fsl,imx8mq-gpc"; reg = <0x303a0000 0x10000>; + interrupts = ; interrupt-parent = <&gic>; interrupt-controller; #interrupt-cells = <3>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts @@ -530,6 +530,17 @@ status = "ok"; compatible = "adi,adv7533"; reg = <0x39>; + adi,dsi-lanes = <4>; + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + }; + port@1 { + reg = <1>; + }; + }; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts @@ -516,7 +516,7 @@ reg = <0x39>; interrupt-parent = <&gpio1>; interrupts = <1 2>; - pd-gpio = <&gpio0 4 0>; + pd-gpios = <&gpio0 4 0>; adi,dsi-lanes = <4>; #sound-dai-cells = <0>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi @@ -129,7 +129,7 @@ rx-fifo-depth = <16384>; snps,multicast-filter-bins = <256>; iommus = <&smmu 2>; - altr,sysmgr-syscon = <&sysmgr 0x48 8>; + altr,sysmgr-syscon = <&sysmgr 0x48 0>; status = "disabled"; }; @@ -145,7 +145,7 @@ rx-fifo-depth = <16384>; snps,multicast-filter-bins = <256>; iommus = <&smmu 3>; - altr,sysmgr-syscon = <&sysmgr 0x4c 16>; + altr,sysmgr-syscon = <&sysmgr 0x4c 0>; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts @@ -102,7 +102,7 @@ flash@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "mt25qu02g"; + compatible = "micron,mt25qu02g", "jedec,spi-nor"; reg = <0>; spi-max-frequency = <100000000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts @@ -20,17 +20,23 @@ compatible = "globalscale,espressobin-v7-emmc", "globalscale,espressobin-v7", "globalscale,espressobin", "marvell,armada3720", "marvell,armada3710"; + + aliases { + /* ethernet1 is wan port */ + ethernet1 = &switch0port3; + ethernet3 = &switch0port1; + }; }; &switch0 { ports { - port@1 { + switch0port1: port@1 { reg = <1>; label = "lan1"; phy-handle = <&switch0phy0>; }; - port@3 { + switch0port3: port@3 { reg = <3>; label = "wan"; phy-handle = <&switch0phy2>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts @@ -19,17 +19,23 @@ model = "Globalscale Marvell ESPRESSOBin Board V7"; compatible = "globalscale,espressobin-v7", "globalscale,espressobin", "marvell,armada3720", "marvell,armada3710"; + + aliases { + /* ethernet1 is wan port */ + ethernet1 = &switch0port3; + ethernet3 = &switch0port1; + }; }; &switch0 { ports { - port@1 { + switch0port1: port@1 { reg = <1>; label = "lan1"; phy-handle = <&switch0phy0>; }; - port@3 { + switch0port3: port@3 { reg = <3>; label = "wan"; phy-handle = <&switch0phy2>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtsi @@ -13,6 +13,10 @@ / { aliases { ethernet0 = ð0; + /* for dsa slave device */ + ethernet1 = &switch0port1; + ethernet2 = &switch0port2; + ethernet3 = &switch0port3; serial0 = &uart0; serial1 = &uart1; }; @@ -120,7 +124,7 @@ #address-cells = <1>; #size-cells = <0>; - port@0 { + switch0port0: port@0 { reg = <0>; label = "cpu"; ethernet = <ð0>; @@ -131,19 +135,19 @@ }; }; - port@1 { + switch0port1: port@1 { reg = <1>; label = "wan"; phy-handle = <&switch0phy0>; }; - port@2 { + switch0port2: port@2 { reg = <2>; label = "lan0"; phy-handle = <&switch0phy1>; }; - port@3 { + switch0port3: port@3 { reg = <3>; label = "lan1"; phy-handle = <&switch0phy2>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts @@ -146,7 +146,7 @@ pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; phy-mode = "rgmii-id"; - phy = <&phy1>; + phy-handle = <&phy1>; status = "okay"; }; @@ -204,7 +204,7 @@ }; partition@20000 { - label = "u-boot"; + label = "a53-firmware"; reg = <0x20000 0x160000>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/mediatek/mt7622.dtsi @@ -686,6 +686,8 @@ clocks = <&pericfg CLK_PERI_MSDC30_0_PD>, <&topckgen CLK_TOP_MSDC50_0_SEL>; clock-names = "source", "hclk"; + resets = <&pericfg MT7622_PERI_MSDC0_SW_RST>; + reset-names = "hrst"; status = "disabled"; }; @@ -696,6 +698,8 @@ clocks = <&pericfg CLK_PERI_MSDC30_1_PD>, <&topckgen CLK_TOP_AXI_SEL>; clock-names = "source", "hclk"; + resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>; + reset-names = "hrst"; status = "disabled"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi @@ -431,12 +431,11 @@ status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&nor_gpio1_pins>; - bus-width = <8>; - max-frequency = <50000000>; - non-removable; + flash@0 { compatible = "jedec,spi-nor"; reg = <0>; + spi-max-frequency = <50000000>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/mediatek/mt8183.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/mediatek/mt8183.dtsi @@ -345,7 +345,7 @@ compatible = "mediatek,mt8183-gce"; reg = <0 0x10238000 0 0x4000>; interrupts = ; - #mbox-cells = <3>; + #mbox-cells = <2>; clocks = <&infracfg CLK_INFRA_GCE>; clock-names = "gce"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts @@ -10,18 +10,6 @@ model = "NVIDIA Jetson TX2 Developer Kit"; compatible = "nvidia,p2771-0000", "nvidia,tegra186"; - aconnect { - status = "okay"; - - dma-controller@2930000 { - status = "okay"; - }; - - interrupt-controller@2a40000 { - status = "okay"; - }; - }; - i2c@3160000 { power-monitor@42 { compatible = "ti,ina3221"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/nvidia/tegra186.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/nvidia/tegra186.dtsi @@ -331,8 +331,9 @@ compatible = "nvidia,tegra186-sdhci"; reg = <0x0 0x03400000 0x0 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA186_CLK_SDMMC1>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA186_CLK_SDMMC1>, + <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; resets = <&bpmp TEGRA186_RESET_SDMMC1>; reset-names = "sdhci"; iommus = <&smmu TEGRA186_SID_SDMMC1>; @@ -357,8 +358,9 @@ compatible = "nvidia,tegra186-sdhci"; reg = <0x0 0x03420000 0x0 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA186_CLK_SDMMC2>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA186_CLK_SDMMC2>, + <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; resets = <&bpmp TEGRA186_RESET_SDMMC2>; reset-names = "sdhci"; iommus = <&smmu TEGRA186_SID_SDMMC2>; @@ -378,8 +380,9 @@ compatible = "nvidia,tegra186-sdhci"; reg = <0x0 0x03440000 0x0 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA186_CLK_SDMMC3>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA186_CLK_SDMMC3>, + <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; resets = <&bpmp TEGRA186_RESET_SDMMC3>; reset-names = "sdhci"; iommus = <&smmu TEGRA186_SID_SDMMC3>; @@ -401,8 +404,9 @@ compatible = "nvidia,tegra186-sdhci"; reg = <0x0 0x03460000 0x0 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA186_CLK_SDMMC4>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA186_CLK_SDMMC4>, + <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>, <&bpmp TEGRA186_CLK_PLLC4_VCO>; assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/nvidia/tegra194.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/nvidia/tegra194.dtsi @@ -152,7 +152,7 @@ nvidia,schmitt = ; nvidia,lpdr = ; nvidia,enable-input = ; - nvidia,io-high-voltage = ; + nvidia,io-hv = ; nvidia,tristate = ; nvidia,pull = ; }; @@ -164,7 +164,7 @@ nvidia,schmitt = ; nvidia,lpdr = ; nvidia,enable-input = ; - nvidia,io-high-voltage = ; + nvidia,io-hv = ; nvidia,tristate = ; nvidia,pull = ; }; @@ -453,8 +453,9 @@ compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci"; reg = <0x03400000 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA194_CLK_SDMMC1>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA194_CLK_SDMMC1>, + <&bpmp TEGRA194_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; resets = <&bpmp TEGRA194_RESET_SDMMC1>; reset-names = "sdhci"; nvidia,pad-autocal-pull-up-offset-3v3-timeout = @@ -475,8 +476,9 @@ compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci"; reg = <0x03440000 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA194_CLK_SDMMC3>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA194_CLK_SDMMC3>, + <&bpmp TEGRA194_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; resets = <&bpmp TEGRA194_RESET_SDMMC3>; reset-names = "sdhci"; nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>; @@ -498,8 +500,9 @@ compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci"; reg = <0x03460000 0x10000>; interrupts = ; - clocks = <&bpmp TEGRA194_CLK_SDMMC4>; - clock-names = "sdhci"; + clocks = <&bpmp TEGRA194_CLK_SDMMC4>, + <&bpmp TEGRA194_CLK_SDMMC_LEGACY_TM>; + clock-names = "sdhci", "tmclk"; assigned-clocks = <&bpmp TEGRA194_CLK_SDMMC4>, <&bpmp TEGRA194_CLK_PLLC4>; assigned-clock-parents = @@ -903,7 +906,7 @@ hsp_aon: hsp@c150000 { compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp"; - reg = <0x0c150000 0xa0000>; + reg = <0x0c150000 0x90000>; interrupts = , , , --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/nvidia/tegra210.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/nvidia/tegra210.dtsi @@ -981,6 +981,7 @@ <&tegra_car 128>, /* hda2hdmi */ <&tegra_car 111>; /* hda2codec_2x */ reset-names = "hda", "hda2hdmi", "hda2codec_2x"; + power-domains = <&pd_sor>; status = "disabled"; }; @@ -1180,8 +1181,9 @@ compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; reg = <0x0 0x700b0000 0x0 0x200>; interrupts = ; - clocks = <&tegra_car TEGRA210_CLK_SDMMC1>; - clock-names = "sdhci"; + clocks = <&tegra_car TEGRA210_CLK_SDMMC1>, + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; + clock-names = "sdhci", "tmclk"; resets = <&tegra_car 14>; reset-names = "sdhci"; pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", @@ -1208,8 +1210,9 @@ compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; reg = <0x0 0x700b0200 0x0 0x200>; interrupts = ; - clocks = <&tegra_car TEGRA210_CLK_SDMMC2>; - clock-names = "sdhci"; + clocks = <&tegra_car TEGRA210_CLK_SDMMC2>, + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; + clock-names = "sdhci", "tmclk"; resets = <&tegra_car 9>; reset-names = "sdhci"; pinctrl-names = "sdmmc-1v8-drv"; @@ -1225,8 +1228,9 @@ compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; reg = <0x0 0x700b0400 0x0 0x200>; interrupts = ; - clocks = <&tegra_car TEGRA210_CLK_SDMMC3>; - clock-names = "sdhci"; + clocks = <&tegra_car TEGRA210_CLK_SDMMC3>, + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; + clock-names = "sdhci", "tmclk"; resets = <&tegra_car 69>; reset-names = "sdhci"; pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", @@ -1248,8 +1252,9 @@ compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; reg = <0x0 0x700b0600 0x0 0x200>; interrupts = ; - clocks = <&tegra_car TEGRA210_CLK_SDMMC4>; - clock-names = "sdhci"; + clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; + clock-names = "sdhci", "tmclk"; resets = <&tegra_car 15>; reset-names = "sdhci"; pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/ipq6018.dtsi @@ -98,8 +98,8 @@ #size-cells = <2>; ranges; - tz: tz@48500000 { - reg = <0x0 0x48500000 0x0 0x00200000>; + tz: memory@4a600000 { + reg = <0x0 0x4a600000 0x0 0x00400000>; no-map; }; @@ -109,7 +109,7 @@ }; q6_region: memory@4ab00000 { - reg = <0x0 0x4ab00000 0x0 0x02800000>; + reg = <0x0 0x4ab00000 0x0 0x05500000>; no-map; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi @@ -556,7 +556,7 @@ pins = "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68"; drive-strength = <8>; - bias-pull-none; + bias-disable; }; }; cdc_pdm_lines_sus: pdm-lines-off { @@ -569,7 +569,7 @@ pins = "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68"; drive-strength = <2>; - bias-disable; + bias-pull-down; }; }; }; @@ -585,7 +585,7 @@ pins = "gpio113", "gpio114", "gpio115", "gpio116"; drive-strength = <8>; - bias-pull-none; + bias-disable; }; }; @@ -613,7 +613,7 @@ pinconf { pins = "gpio110"; drive-strength = <8>; - bias-pull-none; + bias-disable; }; }; @@ -639,7 +639,7 @@ pinconf { pins = "gpio116"; drive-strength = <8>; - bias-pull-none; + bias-disable; }; }; ext_mclk_tlmm_lines_sus: mclk-lines-off { @@ -667,7 +667,7 @@ pins = "gpio112", "gpio117", "gpio118", "gpio119"; drive-strength = <8>; - bias-pull-none; + bias-disable; }; }; ext_sec_tlmm_lines_sus: tlmm-lines-off { --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi @@ -151,6 +151,9 @@ sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + pinctrl-names = "default"; + pinctrl-0 = <&muic_i2c_default>; + #address-cells = <1>; #size-cells = <0>; @@ -192,6 +195,14 @@ }; }; + muic_i2c_default: muic-i2c-default { + pins = "gpio105", "gpio106"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + muic_int_default: muic-int-default { pinmux { function = "gpio"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts @@ -32,7 +32,7 @@ &pronto { iris { - compatible = "qcom,wcn3680"; + compatible = "qcom,wcn3660b"; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -54,7 +54,7 @@ no-map; }; - reserved@8668000 { + reserved@86680000 { reg = <0x0 0x86680000 0x0 0x80000>; no-map; }; @@ -67,7 +67,7 @@ qcom,client-id = <1>; }; - rfsa@867e00000 { + rfsa@867e0000 { reg = <0x0 0x867e0000 0x0 0x20000>; no-map; }; @@ -228,14 +228,14 @@ }; thermal-zones { - cpu0_1-thermal { + cpu0-1-thermal { polling-delay-passive = <250>; polling-delay = <1000>; thermal-sensors = <&tsens 5>; trips { - cpu0_1_alert0: trip-point@0 { + cpu0_1_alert0: trip-point0 { temperature = <75000>; hysteresis = <2000>; type = "passive"; @@ -258,7 +258,7 @@ }; }; - cpu2_3-thermal { + cpu2-3-thermal { polling-delay-passive = <250>; polling-delay = <1000>; @@ -1021,7 +1021,7 @@ reg-names = "mdp_phys"; interrupt-parent = <&mdss>; - interrupts = <0 0>; + interrupts = <0>; clocks = <&gcc GCC_MDSS_AHB_CLK>, <&gcc GCC_MDSS_AXI_CLK>, @@ -1053,7 +1053,7 @@ reg-names = "dsi_ctrl"; interrupt-parent = <&mdss>; - interrupts = <4 0>; + interrupts = <4>; assigned-clocks = <&gcc BYTE0_CLK_SRC>, <&gcc PCLK0_CLK_SRC>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/pm8916.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/pm8916.dtsi @@ -119,7 +119,7 @@ wcd_codec: codec@f000 { compatible = "qcom,pm8916-wcd-analog-codec"; - reg = <0xf000 0x200>; + reg = <0xf000>; reg-names = "pmic-codec-core"; clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; clock-names = "mclk"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sc7180-idp.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sc7180-idp.dts @@ -312,7 +312,7 @@ &remoteproc_mpss { status = "okay"; compatible = "qcom,sc7180-mss-pil"; - iommus = <&apps_smmu 0x460 0x1>, <&apps_smmu 0x444 0x3>; + iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; memory-region = <&mba_mem &mpss_mem>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sc7180.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sc7180.dtsi @@ -1021,7 +1021,8 @@ ipa: ipa@1e40000 { compatible = "qcom,sc7180-ipa"; - iommus = <&apps_smmu 0x440 0x3>; + iommus = <&apps_smmu 0x440 0x0>, + <&apps_smmu 0x442 0x0>; reg = <0 0x1e40000 0 0x7000>, <0 0x1e47000 0 0x2000>, <0 0x1e04000 0 0x2c000>; @@ -2193,7 +2194,7 @@ system-cache-controller@9200000 { compatible = "qcom,sc7180-llcc"; - reg = <0 0x09200000 0 0x200000>, <0 0x09600000 0 0x50000>; + reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>; reg-names = "llcc_base", "llcc_broadcast_base"; interrupts = ; }; @@ -2357,7 +2358,7 @@ <19200000>; interrupt-parent = <&mdss>; - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <0>; status = "disabled"; @@ -2380,7 +2381,7 @@ reg-names = "dsi_ctrl"; interrupt-parent = <&mdss>; - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <4>; clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi @@ -634,7 +634,7 @@ }; &mss_pil { - iommus = <&apps_smmu 0x780 0x1>, + iommus = <&apps_smmu 0x781 0x0>, <&apps_smmu 0x724 0x3>; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sdm845-db845c.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sdm845-db845c.dts @@ -385,7 +385,9 @@ &gcc { protected-clocks = , , - ; + , + , + ; }; &gpu { @@ -994,11 +996,11 @@ reg = <0x10>; // CAM0_RST_N - reset-gpios = <&tlmm 9 0>; + reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&cam0_default>; gpios = <&tlmm 13 0>, - <&tlmm 9 0>; + <&tlmm 9 GPIO_ACTIVE_LOW>; clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; clock-names = "xvclk"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -1763,7 +1763,8 @@ ipa: ipa@1e40000 { compatible = "qcom,sdm845-ipa"; - iommus = <&apps_smmu 0x720 0x3>; + iommus = <&apps_smmu 0x720 0x0>, + <&apps_smmu 0x722 0x0>; reg = <0 0x1e40000 0 0x7000>, <0 0x1e47000 0 0x2000>, <0 0x1e04000 0 0x2c000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -245,7 +245,9 @@ &gcc { protected-clocks = , , - ; + , + , + ; }; &gpu { @@ -263,24 +265,23 @@ &i2c3 { status = "okay"; clock-frequency = <400000>; + /* Overwrite pinctrl-0 from sdm845.dtsi */ + pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>; - hid@15 { + tsel: hid@15 { compatible = "hid-over-i2c"; reg = <0x15>; hid-descr-addr = <0x1>; - interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; + interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; }; - hid@2c { + tsc2: hid@2c { compatible = "hid-over-i2c"; reg = <0x2c>; hid-descr-addr = <0x20>; - interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; - - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_hid_active>; + interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; }; }; @@ -288,15 +289,15 @@ status = "okay"; clock-frequency = <400000>; - hid@10 { + tsc1: hid@10 { compatible = "hid-over-i2c"; reg = <0x10>; hid-descr-addr = <0x1>; - interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; + interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&i2c6_hid_active>; + pinctrl-0 = <&i2c5_hid_active>; }; }; @@ -304,7 +305,7 @@ status = "okay"; clock-frequency = <400000>; - hid@5c { + ecsh: hid@5c { compatible = "hid-over-i2c"; reg = <0x5c>; hid-descr-addr = <0x1>; @@ -312,7 +313,7 @@ interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&i2c12_hid_active>; + pinctrl-0 = <&i2c11_hid_active>; }; }; @@ -426,8 +427,8 @@ &tlmm { gpio-reserved-ranges = <0 4>, <81 4>; - i2c2_hid_active: i2c2-hid-active { - pins = <37>; + i2c3_hid_active: i2c2-hid-active { + pins = "gpio37"; function = "gpio"; input-enable; @@ -435,8 +436,8 @@ drive-strength = <2>; }; - i2c6_hid_active: i2c6-hid-active { - pins = <125>; + i2c5_hid_active: i2c5-hid-active { + pins = "gpio125"; function = "gpio"; input-enable; @@ -444,8 +445,8 @@ drive-strength = <2>; }; - i2c12_hid_active: i2c12-hid-active { - pins = <92>; + i2c11_hid_active: i2c11-hid-active { + pins = "gpio92"; function = "gpio"; input-enable; @@ -454,7 +455,7 @@ }; wcd_intr_default: wcd_intr_default { - pins = <54>; + pins = "gpio54"; function = "gpio"; input-enable; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/qcom/sm8250-mtp.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/qcom/sm8250-mtp.dts @@ -10,7 +10,7 @@ / { model = "Qualcomm Technologies, Inc. SM8250 MTP"; - compatible = "qcom,sm8250-mtp"; + compatible = "qcom,sm8250-mtp", "qcom,sm8250"; aliases { serial0 = &uart2; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/cat875.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/cat875.dtsi @@ -22,7 +22,6 @@ status = "okay"; phy0: ethernet-phy@0 { - rxc-skew-ps = <1500>; reg = <0>; interrupt-parent = <&gpio2>; interrupts = <21 IRQ_TYPE_LEVEL_LOW>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi @@ -31,7 +31,6 @@ status = "okay"; phy0: ethernet-phy@0 { - rxc-skew-ps = <1500>; reg = <0>; interrupt-parent = <&gpio2>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a774a1.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a774a1.dtsi @@ -2250,7 +2250,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a774a1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -2262,7 +2262,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a774a1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -2274,7 +2274,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a774a1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -2286,7 +2286,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a774a1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a774b1.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a774b1.dtsi @@ -2108,7 +2108,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a774b1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -2120,7 +2120,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a774b1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -2132,7 +2132,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a774b1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -2144,7 +2144,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a774b1", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a774c0.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a774c0.dtsi @@ -1214,9 +1214,8 @@ reg = <0 0xe6ea0000 0 0x0064>; interrupts = ; clocks = <&cpg CPG_MOD 210>; - dmas = <&dmac1 0x43>, <&dmac1 0x42>, - <&dmac2 0x43>, <&dmac2 0x42>; - dma-names = "tx", "rx", "tx", "rx"; + dmas = <&dmac0 0x43>, <&dmac0 0x42>; + dma-names = "tx", "rx"; power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>; resets = <&cpg 210>; #address-cells = <1>; @@ -1618,7 +1617,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a774c0", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -1630,7 +1629,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a774c0", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -1642,7 +1641,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a774c0", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77951.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77951.dtsi @@ -2590,7 +2590,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a7795", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -2603,7 +2603,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a7795", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -2616,7 +2616,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a7795", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -2629,7 +2629,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a7795", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77960.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77960.dtsi @@ -2394,7 +2394,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a7796", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -2407,7 +2407,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a7796", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -2420,7 +2420,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a7796", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -2433,7 +2433,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a7796", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77961.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77961.dtsi @@ -1257,7 +1257,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a77961", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -1269,7 +1269,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a77961", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -1281,7 +1281,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a77961", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -1293,7 +1293,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a77961", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77965.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77965.dtsi @@ -2120,7 +2120,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a77965", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -2133,7 +2133,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a77965", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -2146,7 +2146,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a77965", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; @@ -2159,7 +2159,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a77965", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77990.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77990.dtsi @@ -1192,9 +1192,8 @@ reg = <0 0xe6ea0000 0 0x0064>; interrupts = ; clocks = <&cpg CPG_MOD 210>; - dmas = <&dmac1 0x43>, <&dmac1 0x42>, - <&dmac2 0x43>, <&dmac2 0x42>; - dma-names = "tx", "rx", "tx", "rx"; + dmas = <&dmac0 0x43>, <&dmac0 0x42>; + dma-names = "tx", "rx"; power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; resets = <&cpg 210>; #address-cells = <1>; @@ -1595,7 +1594,7 @@ status = "disabled"; }; - sdhi0: sd@ee100000 { + sdhi0: mmc@ee100000 { compatible = "renesas,sdhi-r8a77990", "renesas,rcar-gen3-sdhi"; reg = <0 0xee100000 0 0x2000>; @@ -1608,7 +1607,7 @@ status = "disabled"; }; - sdhi1: sd@ee120000 { + sdhi1: mmc@ee120000 { compatible = "renesas,sdhi-r8a77990", "renesas,rcar-gen3-sdhi"; reg = <0 0xee120000 0 0x2000>; @@ -1621,7 +1620,7 @@ status = "disabled"; }; - sdhi3: sd@ee160000 { + sdhi3: mmc@ee160000 { compatible = "renesas,sdhi-r8a77990", "renesas,rcar-gen3-sdhi"; reg = <0 0xee160000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/r8a77995.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/r8a77995.dtsi @@ -916,7 +916,7 @@ status = "disabled"; }; - sdhi2: sd@ee140000 { + sdhi2: mmc@ee140000 { compatible = "renesas,sdhi-r8a77995", "renesas,rcar-gen3-sdhi"; reg = <0 0xee140000 0 0x2000>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/renesas/ulcb.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/renesas/ulcb.dtsi @@ -469,6 +469,7 @@ mmc-hs200-1_8v; mmc-hs400-1_8v; non-removable; + full-pwr-cycle-in-suspend; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/px30.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/px30.dtsi @@ -1096,7 +1096,7 @@ vopl_mmu: iommu@ff470f00 { compatible = "rockchip,iommu"; reg = <0x0 0xff470f00 0x0 0x100>; - interrupts = ; + interrupts = ; interrupt-names = "vopl_mmu"; clocks = <&cru ACLK_VOPL>, <&cru HCLK_VOPL>; clock-names = "aclk", "iface"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts @@ -243,7 +243,6 @@ interrupts = ; pinctrl-names = "default"; pinctrl-0 = <&pmic_int>; - rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; clock-output-names = "rk808-clkout1", "xin32k"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts @@ -334,6 +334,7 @@ }; &usb20_otg { + dr_mode = "host"; status = "okay"; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3328.dtsi @@ -927,6 +927,7 @@ phy-mode = "rmii"; phy-handle = <&phy>; snps,txpbl = <0x4>; + clock_in_out = "output"; status = "disabled"; mdio { @@ -1236,8 +1237,8 @@ uart0 { uart0_xfer: uart0-xfer { - rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, - <1 RK_PB0 1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, + <1 RK_PB0 1 &pcfg_pull_up>; }; uart0_cts: uart0-cts { @@ -1255,8 +1256,8 @@ uart1 { uart1_xfer: uart1-xfer { - rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, - <3 RK_PA6 4 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, + <3 RK_PA6 4 &pcfg_pull_up>; }; uart1_cts: uart1-cts { @@ -1274,15 +1275,15 @@ uart2-0 { uart2m0_xfer: uart2m0-xfer { - rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, - <1 RK_PA1 2 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, + <1 RK_PA1 2 &pcfg_pull_up>; }; }; uart2-1 { uart2m1_xfer: uart2m1-xfer { - rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, - <2 RK_PA1 1 &pcfg_pull_none>; + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, + <2 RK_PA1 1 &pcfg_pull_up>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi @@ -156,7 +156,7 @@ pinctrl-0 = <&rgmii_pins>; snps,reset-active-low; snps,reset-delays-us = <0 10000 50000>; - snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; + snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; tx_delay = <0x10>; rx_delay = <0x10>; status = "okay"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts @@ -765,7 +765,6 @@ &pcie0 { bus-scan-delay-ms = <1000>; ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; - max-link-speed = <2>; num-lanes = <4>; pinctrl-names = "default"; pinctrl-0 = <&pcie_clkreqn_cpm>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi @@ -101,7 +101,7 @@ vcc5v0_host: vcc5v0-host-regulator { compatible = "regulator-fixed"; - gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; + gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; enable-active-low; pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_host_en>; @@ -157,7 +157,7 @@ phy-mode = "rgmii"; pinctrl-names = "default"; pinctrl-0 = <&rgmii_pins>; - snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; + snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; snps,reset-active-low; snps,reset-delays-us = <0 10000 50000>; tx_delay = <0x10>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi @@ -74,14 +74,14 @@ label = "red:diy"; gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; default-state = "off"; - linux,default-trigger = "mmc1"; + linux,default-trigger = "mmc2"; }; yellow-led { label = "yellow:yellow-led"; gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; default-state = "off"; - linux,default-trigger = "mmc0"; + linux,default-trigger = "mmc1"; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -29,6 +29,9 @@ i2c6 = &i2c6; i2c7 = &i2c7; i2c8 = &i2c8; + mmc0 = &sdio0; + mmc1 = &sdmmc; + mmc2 = &sdhci; serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; @@ -229,6 +232,7 @@ reg = <0x0 0xf8000000 0x0 0x2000000>, <0x0 0xfd000000 0x0 0x1000000>; reg-names = "axi-base", "apb-base"; + device_type = "pci"; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; @@ -247,7 +251,6 @@ <0 0 0 2 &pcie0_intc 1>, <0 0 0 3 &pcie0_intc 2>, <0 0 0 4 &pcie0_intc 3>; - linux,pci-domain = <0>; max-link-speed = <1>; msi-map = <0x0 &its 0x0 0x1000>; phys = <&pcie_phy 0>, <&pcie_phy 1>, @@ -1273,7 +1276,6 @@ compatible = "rockchip,rk3399-vdec"; reg = <0x0 0xff660000 0x0 0x400>; interrupts = ; - interrupt-names = "vdpu"; clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>, <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>; clock-names = "axi", "ahb", "cabac", "core"; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/ti/k3-am65-main.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/ti/k3-am65-main.dtsi @@ -780,7 +780,7 @@ }; }; - dss: dss@04a00000 { + dss: dss@4a00000 { compatible = "ti,am65x-dss"; reg = <0x0 0x04a00000 0x0 0x1000>, /* common */ <0x0 0x04a02000 0x0 0x1000>, /* vidl1 */ @@ -813,6 +813,8 @@ status = "disabled"; + dma-coherent; + dss_ports: ports { #address-cells = <1>; #size-cells = <0>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi @@ -748,7 +748,7 @@ }; }; - dss: dss@04a00000 { + dss: dss@4a00000 { compatible = "ti,j721e-dss"; reg = <0x00 0x04a00000 0x00 0x10000>, /* common_m */ --- linux-riscv-5.8-5.8.0.orig/arch/arm64/boot/dts/xilinx/zynqmp.dtsi +++ linux-riscv-5.8-5.8.0/arch/arm64/boot/dts/xilinx/zynqmp.dtsi @@ -500,7 +500,7 @@ }; i2c0: i2c@ff020000 { - compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; + compatible = "cdns,i2c-r1p14"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 17 4>; @@ -511,7 +511,7 @@ }; i2c1: i2c@ff030000 { - compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; + compatible = "cdns,i2c-r1p14"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 18 4>; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/aes-glue.c +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/aes-glue.c @@ -55,7 +55,7 @@ #define aes_mac_update neon_aes_mac_update MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 NEON"); #endif -#if defined(USE_V8_CRYPTO_EXTENSIONS) || !defined(CONFIG_CRYPTO_AES_ARM64_BS) +#if defined(USE_V8_CRYPTO_EXTENSIONS) || !IS_ENABLED(CONFIG_CRYPTO_AES_ARM64_BS) MODULE_ALIAS_CRYPTO("ecb(aes)"); MODULE_ALIAS_CRYPTO("cbc(aes)"); MODULE_ALIAS_CRYPTO("ctr(aes)"); @@ -650,7 +650,7 @@ } static struct skcipher_alg aes_algs[] = { { -#if defined(USE_V8_CRYPTO_EXTENSIONS) || !defined(CONFIG_CRYPTO_AES_ARM64_BS) +#if defined(USE_V8_CRYPTO_EXTENSIONS) || !IS_ENABLED(CONFIG_CRYPTO_AES_ARM64_BS) .base = { .cra_name = "__ecb(aes)", .cra_driver_name = "__ecb-aes-" MODE, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/aes-neonbs-core.S +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/aes-neonbs-core.S @@ -788,7 +788,7 @@ 0: mov bskey, x21 mov rounds, x22 - br x7 + br x16 SYM_FUNC_END(__xts_crypt8) .macro __xts_crypt, do8, o0, o1, o2, o3, o4, o5, o6, o7 @@ -806,7 +806,7 @@ uzp1 v30.4s, v30.4s, v25.4s ld1 {v25.16b}, [x24] -99: adr x7, \do8 +99: adr x16, \do8 bl __xts_crypt8 ldp q16, q17, [sp, #.Lframe_local_offset] --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/poly1305-armv8.pl +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/poly1305-armv8.pl @@ -840,7 +840,6 @@ ldp d14,d15,[sp,#64] addp $ACC2,$ACC2,$ACC2 ldr x30,[sp,#8] - .inst 0xd50323bf // autiasp //////////////////////////////////////////////////////////////// // lazy reduction, but without narrowing @@ -882,6 +881,7 @@ str x4,[$ctx,#8] // set is_base2_26 ldr x29,[sp],#80 + .inst 0xd50323bf // autiasp ret .size poly1305_blocks_neon,.-poly1305_blocks_neon --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/poly1305-core.S_shipped +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/poly1305-core.S_shipped @@ -779,7 +779,6 @@ ldp d14,d15,[sp,#64] addp v21.2d,v21.2d,v21.2d ldr x30,[sp,#8] - .inst 0xd50323bf // autiasp //////////////////////////////////////////////////////////////// // lazy reduction, but without narrowing @@ -821,6 +820,7 @@ str x4,[x0,#8] // set is_base2_26 ldr x29,[sp],#80 + .inst 0xd50323bf // autiasp ret .size poly1305_blocks_neon,.-poly1305_blocks_neon --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/sha1-ce-glue.c +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/sha1-ce-glue.c @@ -19,6 +19,7 @@ MODULE_DESCRIPTION("SHA1 secure hash using ARMv8 Crypto Extensions"); MODULE_AUTHOR("Ard Biesheuvel "); MODULE_LICENSE("GPL v2"); +MODULE_ALIAS_CRYPTO("sha1"); struct sha1_ce_state { struct sha1_state sst; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/sha2-ce-glue.c +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/sha2-ce-glue.c @@ -19,6 +19,8 @@ MODULE_DESCRIPTION("SHA-224/SHA-256 secure hash using ARMv8 Crypto Extensions"); MODULE_AUTHOR("Ard Biesheuvel "); MODULE_LICENSE("GPL v2"); +MODULE_ALIAS_CRYPTO("sha224"); +MODULE_ALIAS_CRYPTO("sha256"); struct sha256_ce_state { struct sha256_state sst; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/sha3-ce-glue.c +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/sha3-ce-glue.c @@ -23,6 +23,10 @@ MODULE_DESCRIPTION("SHA3 secure hash using ARMv8 Crypto Extensions"); MODULE_AUTHOR("Ard Biesheuvel "); MODULE_LICENSE("GPL v2"); +MODULE_ALIAS_CRYPTO("sha3-224"); +MODULE_ALIAS_CRYPTO("sha3-256"); +MODULE_ALIAS_CRYPTO("sha3-384"); +MODULE_ALIAS_CRYPTO("sha3-512"); asmlinkage void sha3_ce_transform(u64 *st, const u8 *data, int blocks, int md_len); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/crypto/sha512-ce-glue.c +++ linux-riscv-5.8-5.8.0/arch/arm64/crypto/sha512-ce-glue.c @@ -23,6 +23,8 @@ MODULE_DESCRIPTION("SHA-384/SHA-512 secure hash using ARMv8 Crypto Extensions"); MODULE_AUTHOR("Ard Biesheuvel "); MODULE_LICENSE("GPL v2"); +MODULE_ALIAS_CRYPTO("sha384"); +MODULE_ALIAS_CRYPTO("sha512"); asmlinkage void sha512_ce_transform(struct sha512_state *sst, u8 const *src, int blocks); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/Kbuild @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 generic-y += early_ioremap.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += qrwlock.h generic-y += qspinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/alternative.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/alternative.h @@ -119,9 +119,9 @@ .popsection .subsection 1 663: \insn2 -664: .previous - .org . - (664b-663b) + (662b-661b) +664: .org . - (664b-663b) + (662b-661b) .org . - (662b-661b) + (664b-663b) + .previous .endif .endm @@ -191,11 +191,11 @@ */ .macro alternative_endif 664: + .org . - (664b-663b) + (662b-661b) + .org . - (662b-661b) + (664b-663b) .if .Lasm_alt_mode==0 .previous .endif - .org . - (664b-663b) + (662b-661b) - .org . - (662b-661b) + (664b-663b) .endm /* --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/archrandom.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/archrandom.h @@ -6,7 +6,6 @@ #include #include -#include #include static inline bool __arm64_rndr(unsigned long *v) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/atomic.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/atomic.h @@ -17,7 +17,7 @@ #include #define ATOMIC_OP(op) \ -static inline void arch_##op(int i, atomic_t *v) \ +static __always_inline void arch_##op(int i, atomic_t *v) \ { \ __lse_ll_sc_body(op, i, v); \ } @@ -32,7 +32,7 @@ #undef ATOMIC_OP #define ATOMIC_FETCH_OP(name, op) \ -static inline int arch_##op##name(int i, atomic_t *v) \ +static __always_inline int arch_##op##name(int i, atomic_t *v) \ { \ return __lse_ll_sc_body(op##name, i, v); \ } @@ -56,7 +56,7 @@ #undef ATOMIC_FETCH_OPS #define ATOMIC64_OP(op) \ -static inline void arch_##op(long i, atomic64_t *v) \ +static __always_inline void arch_##op(long i, atomic64_t *v) \ { \ __lse_ll_sc_body(op, i, v); \ } @@ -71,7 +71,7 @@ #undef ATOMIC64_OP #define ATOMIC64_FETCH_OP(name, op) \ -static inline long arch_##op##name(long i, atomic64_t *v) \ +static __always_inline long arch_##op##name(long i, atomic64_t *v) \ { \ return __lse_ll_sc_body(op##name, i, v); \ } @@ -94,7 +94,7 @@ #undef ATOMIC64_FETCH_OP #undef ATOMIC64_FETCH_OPS -static inline long arch_atomic64_dec_if_positive(atomic64_t *v) +static __always_inline long arch_atomic64_dec_if_positive(atomic64_t *v) { return __lse_ll_sc_body(atomic64_dec_if_positive, v); } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/cpufeature.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/cpufeature.h @@ -268,6 +268,8 @@ /* * CPU feature detected at boot time based on feature of one or more CPUs. * All possible conflicts for a late CPU are ignored. + * NOTE: this means that a late CPU with the feature will *not* cause the + * capability to be advertised by cpus_have_*cap()! */ #define ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE \ (ARM64_CPUCAP_SCOPE_LOCAL_CPU | \ --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/cputype.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/cputype.h @@ -85,6 +85,8 @@ #define QCOM_CPU_PART_FALKOR_V1 0x800 #define QCOM_CPU_PART_FALKOR 0xC00 #define QCOM_CPU_PART_KRYO 0x200 +#define QCOM_CPU_PART_KRYO_2XX_GOLD 0x800 +#define QCOM_CPU_PART_KRYO_2XX_SILVER 0x801 #define QCOM_CPU_PART_KRYO_3XX_SILVER 0x803 #define QCOM_CPU_PART_KRYO_4XX_GOLD 0x804 #define QCOM_CPU_PART_KRYO_4XX_SILVER 0x805 @@ -114,6 +116,8 @@ #define MIDR_QCOM_FALKOR_V1 MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR_V1) #define MIDR_QCOM_FALKOR MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR) #define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO) +#define MIDR_QCOM_KRYO_2XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_GOLD) +#define MIDR_QCOM_KRYO_2XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_SILVER) #define MIDR_QCOM_KRYO_3XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_SILVER) #define MIDR_QCOM_KRYO_4XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_GOLD) #define MIDR_QCOM_KRYO_4XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_SILVER) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/insn.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/insn.h @@ -359,9 +359,13 @@ __AARCH64_INSN_FUNCS(exception, 0xFF000000, 0xD4000000) __AARCH64_INSN_FUNCS(hint, 0xFFFFF01F, 0xD503201F) __AARCH64_INSN_FUNCS(br, 0xFFFFFC1F, 0xD61F0000) +__AARCH64_INSN_FUNCS(br_auth, 0xFEFFF800, 0xD61F0800) __AARCH64_INSN_FUNCS(blr, 0xFFFFFC1F, 0xD63F0000) +__AARCH64_INSN_FUNCS(blr_auth, 0xFEFFF800, 0xD63F0800) __AARCH64_INSN_FUNCS(ret, 0xFFFFFC1F, 0xD65F0000) +__AARCH64_INSN_FUNCS(ret_auth, 0xFFFFFBFF, 0xD65F0BFF) __AARCH64_INSN_FUNCS(eret, 0xFFFFFFFF, 0xD69F03E0) +__AARCH64_INSN_FUNCS(eret_auth, 0xFFFFFBFF, 0xD69F0BFF) __AARCH64_INSN_FUNCS(mrs, 0xFFF00000, 0xD5300000) __AARCH64_INSN_FUNCS(msr_imm, 0xFFF8F01F, 0xD500401F) __AARCH64_INSN_FUNCS(msr_reg, 0xFFF00000, 0xD5100000) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/kvm_arm.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/kvm_arm.h @@ -71,11 +71,12 @@ * IMO: Override CPSR.I and enable signaling with VI * FMO: Override CPSR.F and enable signaling with VF * SWIO: Turn set/way invalidates into set/way clean+invalidate + * PTW: Take a stage2 fault if a stage1 walk steps in device memory */ #define HCR_GUEST_FLAGS (HCR_TSC | HCR_TSW | HCR_TWE | HCR_TWI | HCR_VM | \ HCR_BSU_IS | HCR_FB | HCR_TAC | \ HCR_AMO | HCR_SWIO | HCR_TIDCP | HCR_RW | HCR_TLOR | \ - HCR_FMO | HCR_IMO) + HCR_FMO | HCR_IMO | HCR_PTW ) #define HCR_VIRT_EXCP_MASK (HCR_VSE | HCR_VI | HCR_VF) #define HCR_HOST_NVHE_FLAGS (HCR_RW | HCR_API | HCR_APK) #define HCR_HOST_VHE_FLAGS (HCR_RW | HCR_TGE | HCR_E2H) @@ -275,6 +276,7 @@ #define CPTR_EL2_DEFAULT CPTR_EL2_RES1 /* Hyp Debug Configuration Register bits */ +#define MDCR_EL2_TTRF (1 << 19) #define MDCR_EL2_TPMS (1 << 14) #define MDCR_EL2_E2PB_MASK (UL(0x3)) #define MDCR_EL2_E2PB_SHIFT (UL(12)) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/kvm_asm.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/kvm_asm.h @@ -121,6 +121,34 @@ *__hyp_this_cpu_ptr(sym); \ }) +#define __KVM_EXTABLE(from, to) \ + " .pushsection __kvm_ex_table, \"a\"\n" \ + " .align 3\n" \ + " .long (" #from " - .), (" #to " - .)\n" \ + " .popsection\n" + + +#define __kvm_at(at_op, addr) \ +( { \ + int __kvm_at_err = 0; \ + u64 spsr, elr; \ + asm volatile( \ + " mrs %1, spsr_el2\n" \ + " mrs %2, elr_el2\n" \ + "1: at "at_op", %3\n" \ + " isb\n" \ + " b 9f\n" \ + "2: msr spsr_el2, %1\n" \ + " msr elr_el2, %2\n" \ + " mov %w0, %4\n" \ + "9:\n" \ + __KVM_EXTABLE(1b, 2b) \ + : "+r" (__kvm_at_err), "=&r" (spsr), "=&r" (elr) \ + : "r" (addr), "i" (-EFAULT)); \ + __kvm_at_err; \ +} ) + + #else /* __ASSEMBLY__ */ .macro hyp_adr_this_cpu reg, sym, tmp @@ -146,6 +174,21 @@ kern_hyp_va \vcpu .endm +/* + * KVM extable for unexpected exceptions. + * In the same format _asm_extable, but output to a different section so that + * it can be mapped to EL2. The KVM version is not sorted. The caller must + * ensure: + * x18 has the hypervisor value to allow any Shadow-Call-Stack instrumented + * code to write to it, and that SPSR_EL2 and ELR_EL2 are restored by the fixup. + */ +.macro _kvm_extable, from, to + .pushsection __kvm_ex_table, "a" + .align 3 + .long (\from - .), (\to - .) + .popsection +.endm + #endif #endif /* __ARM_KVM_ASM_H__ */ --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/kvm_emulate.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/kvm_emulate.h @@ -319,7 +319,7 @@ return (kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SRT_MASK) >> ESR_ELx_SRT_SHIFT; } -static __always_inline bool kvm_vcpu_dabt_iss1tw(const struct kvm_vcpu *vcpu) +static __always_inline bool kvm_vcpu_abt_iss1tw(const struct kvm_vcpu *vcpu) { return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_S1PTW); } @@ -327,7 +327,7 @@ static __always_inline bool kvm_vcpu_dabt_iswrite(const struct kvm_vcpu *vcpu) { return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_WNR) || - kvm_vcpu_dabt_iss1tw(vcpu); /* AF/DBM update */ + kvm_vcpu_abt_iss1tw(vcpu); /* AF/DBM update */ } static inline bool kvm_vcpu_dabt_is_cm(const struct kvm_vcpu *vcpu) @@ -356,6 +356,11 @@ return kvm_vcpu_trap_get_class(vcpu) == ESR_ELx_EC_IABT_LOW; } +static inline bool kvm_vcpu_trap_is_exec_fault(const struct kvm_vcpu *vcpu) +{ + return kvm_vcpu_trap_is_iabt(vcpu) && !kvm_vcpu_abt_iss1tw(vcpu); +} + static __always_inline u8 kvm_vcpu_trap_get_fault(const struct kvm_vcpu *vcpu) { return kvm_vcpu_get_hsr(vcpu) & ESR_ELx_FSC; @@ -393,6 +398,9 @@ static inline bool kvm_is_write_fault(struct kvm_vcpu *vcpu) { + if (kvm_vcpu_abt_iss1tw(vcpu)) + return true; + if (kvm_vcpu_trap_is_iabt(vcpu)) return false; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/kvm_host.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/kvm_host.h @@ -190,6 +190,7 @@ #define c2_TTBR1 (TTBR1_EL1 * 2) /* Translation Table Base Register 1 */ #define c2_TTBR1_high (c2_TTBR1 + 1) /* TTBR1 top 32 bits */ #define c2_TTBCR (TCR_EL1 * 2) /* Translation Table Base Control R. */ +#define c2_TTBCR2 (c2_TTBCR + 1) /* Translation Table Base Control R. 2 */ #define c3_DACR (DACR32_EL2 * 2)/* Domain Access Control Register */ #define c5_DFSR (ESR_EL1 * 2) /* Data Fault Status Register */ #define c5_IFSR (IFSR32_EL2 * 2)/* Instruction Fault Status Register */ @@ -217,6 +218,7 @@ #define cp14_DBGWCR0 (DBGWCR0_EL1 * 2) #define cp14_DBGWVR0 (DBGWVR0_EL1 * 2) #define cp14_DBGDCCINT (MDCCINT_EL1 * 2) +#define cp14_DBGVCR (DBGVCR32_EL2 * 2) #define NR_COPRO_REGS (NR_SYS_REGS * 2) @@ -443,7 +445,7 @@ #define KVM_ARCH_WANT_MMU_NOTIFIER int kvm_unmap_hva_range(struct kvm *kvm, - unsigned long start, unsigned long end); + unsigned long start, unsigned long end, unsigned flags); int kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end); int kvm_test_age_hva(struct kvm *kvm, unsigned long hva); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/kvm_hyp.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/kvm_hyp.h @@ -77,6 +77,9 @@ void __debug_switch_to_guest(struct kvm_vcpu *vcpu); void __debug_switch_to_host(struct kvm_vcpu *vcpu); +void __debug_save_host_buffers_nvhe(struct kvm_vcpu *vcpu); +void __debug_restore_host_buffers_nvhe(struct kvm_vcpu *vcpu); + void __fpsimd_save_state(struct user_fpsimd_state *fp_regs); void __fpsimd_restore_state(struct user_fpsimd_state *fp_regs); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/memory.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/memory.h @@ -163,7 +163,6 @@ #include #include -extern s64 physvirt_offset; extern s64 memstart_addr; /* PHYS_OFFSET - the physical address of the start of memory. */ #define PHYS_OFFSET ({ VM_BUG_ON(memstart_addr & 1); memstart_addr; }) @@ -233,13 +232,13 @@ /* - * The linear kernel range starts at the bottom of the virtual address - * space. Testing the top bit for the start of the region is a - * sufficient check and avoids having to worry about the tag. + * Check whether an arbitrary address is within the linear map, which + * lives in the [PAGE_OFFSET, PAGE_END) interval at the bottom of the + * kernel's TTBR1 address range. */ -#define __is_lm_address(addr) (!(((u64)addr) & BIT(vabits_actual - 1))) +#define __is_lm_address(addr) (((u64)(addr) ^ PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET)) -#define __lm_to_phys(addr) (((addr) + physvirt_offset)) +#define __lm_to_phys(addr) (((addr) & ~PAGE_OFFSET) + PHYS_OFFSET) #define __kimg_to_phys(addr) ((addr) - kimage_voffset) #define __virt_to_phys_nodebug(x) ({ \ @@ -257,7 +256,7 @@ #define __phys_addr_symbol(x) __pa_symbol_nodebug(x) #endif /* CONFIG_DEBUG_VIRTUAL */ -#define __phys_to_virt(x) ((unsigned long)((x) - physvirt_offset)) +#define __phys_to_virt(x) ((unsigned long)((x) - PHYS_OFFSET) | PAGE_OFFSET) #define __phys_to_kimg(x) ((unsigned long)((x) + kimage_voffset)) /* @@ -301,6 +300,11 @@ #define ARCH_PFN_OFFSET ((unsigned long)PHYS_PFN_OFFSET) #if !defined(CONFIG_SPARSEMEM_VMEMMAP) || defined(CONFIG_DEBUG_VIRTUAL) +#define page_to_virt(x) ({ \ + __typeof__(x) __page = x; \ + void *__addr = __va(page_to_phys(__page)); \ + (void *)__tag_set((const void *)__addr, page_kasan_tag(__page));\ +}) #define virt_to_page(x) pfn_to_page(virt_to_pfn(x)) #else #define page_to_virt(x) ({ \ @@ -318,7 +322,7 @@ #endif /* !CONFIG_SPARSEMEM_VMEMMAP || CONFIG_DEBUG_VIRTUAL */ #define virt_addr_valid(addr) ({ \ - __typeof__(addr) __addr = addr; \ + __typeof__(addr) __addr = __tag_reset(addr); \ __is_lm_address(__addr) && pfn_valid(virt_to_pfn(__addr)); \ }) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/mmu_context.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/mmu_context.h @@ -65,10 +65,7 @@ static inline bool __cpu_uses_extended_idmap(void) { - if (IS_ENABLED(CONFIG_ARM64_VA_BITS_52)) - return false; - - return unlikely(idmap_t0sz != TCR_T0SZ(VA_BITS)); + return unlikely(idmap_t0sz != TCR_T0SZ(vabits_actual)); } /* --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/numa.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/numa.h @@ -25,6 +25,9 @@ /* Returns a pointer to the cpumask of CPUs on Node 'node'. */ static inline const struct cpumask *cpumask_of_node(int node) { + if (node == NUMA_NO_NODE) + return cpu_all_mask; + return node_to_cpumask_map[node]; } #endif --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/pgtable-hwdef.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/pgtable-hwdef.h @@ -216,6 +216,7 @@ #define TCR_TxSZ(x) (TCR_T0SZ(x) | TCR_T1SZ(x)) #define TCR_TxSZ_WIDTH 6 #define TCR_T0SZ_MASK (((UL(1) << TCR_TxSZ_WIDTH) - 1) << TCR_T0SZ_OFFSET) +#define TCR_T1SZ_MASK (((UL(1) << TCR_TxSZ_WIDTH) - 1) << TCR_T1SZ_OFFSET) #define TCR_EPD0_SHIFT 7 #define TCR_EPD0_MASK (UL(1) << TCR_EPD0_SHIFT) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/pgtable.h @@ -23,6 +23,8 @@ #define VMALLOC_START (MODULES_END) #define VMALLOC_END (- PUD_SIZE - VMEMMAP_SIZE - SZ_64K) +#define vmemmap ((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)) + #define FIRST_USER_ADDRESS 0UL #ifndef __ASSEMBLY__ @@ -33,8 +35,6 @@ #include #include -extern struct page *vmemmap; - extern void __pte_error(const char *file, int line, unsigned long val); extern void __pmd_error(const char *file, int line, unsigned long val); extern void __pud_error(const char *file, int line, unsigned long val); @@ -98,8 +98,6 @@ #define pte_valid(pte) (!!(pte_val(pte) & PTE_VALID)) #define pte_valid_not_user(pte) \ ((pte_val(pte) & (PTE_VALID | PTE_USER)) == PTE_VALID) -#define pte_valid_young(pte) \ - ((pte_val(pte) & (PTE_VALID | PTE_AF)) == (PTE_VALID | PTE_AF)) #define pte_valid_user(pte) \ ((pte_val(pte) & (PTE_VALID | PTE_USER)) == (PTE_VALID | PTE_USER)) @@ -107,9 +105,12 @@ * Could the pte be present in the TLB? We must check mm_tlb_flush_pending * so that we don't erroneously return false for pages that have been * remapped as PROT_NONE but are yet to be flushed from the TLB. + * Note that we can't make any assumptions based on the state of the access + * flag, since ptep_clear_flush_young() elides a DSB when invalidating the + * TLB. */ #define pte_accessible(mm, pte) \ - (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid_young(pte)) + (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte)) /* * p??_access_permitted() is true for valid user mappings (subject to the @@ -135,13 +136,6 @@ return pte; } -static inline pte_t pte_wrprotect(pte_t pte) -{ - pte = clear_pte_bit(pte, __pgprot(PTE_WRITE)); - pte = set_pte_bit(pte, __pgprot(PTE_RDONLY)); - return pte; -} - static inline pte_t pte_mkwrite(pte_t pte) { pte = set_pte_bit(pte, __pgprot(PTE_WRITE)); @@ -167,6 +161,20 @@ return pte; } +static inline pte_t pte_wrprotect(pte_t pte) +{ + /* + * If hardware-dirty (PTE_WRITE/DBM bit set and PTE_RDONLY + * clear), set the PTE_DIRTY bit. + */ + if (pte_hw_dirty(pte)) + pte = pte_mkdirty(pte); + + pte = clear_pte_bit(pte, __pgprot(PTE_WRITE)); + pte = set_pte_bit(pte, __pgprot(PTE_RDONLY)); + return pte; +} + static inline pte_t pte_mkold(pte_t pte) { return clear_pte_bit(pte, __pgprot(PTE_AF)); @@ -788,12 +796,6 @@ pte = READ_ONCE(*ptep); do { old_pte = pte; - /* - * If hardware-dirty (PTE_WRITE/DBM bit set and PTE_RDONLY - * clear), set the PTE_DIRTY bit. - */ - if (pte_hw_dirty(pte)) - pte = pte_mkdirty(pte); pte = pte_wrprotect(pte); pte_val(pte) = cmpxchg_relaxed(&pte_val(*ptep), pte_val(old_pte), pte_val(pte)); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/processor.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/processor.h @@ -95,7 +95,8 @@ #endif /* CONFIG_ARM64_FORCE_52BIT */ extern phys_addr_t arm64_dma_phys_limit; -#define ARCH_LOW_ADDRESS_LIMIT (arm64_dma_phys_limit - 1) +extern phys_addr_t arm64_dma32_phys_limit; +#define ARCH_LOW_ADDRESS_LIMIT ((arm64_dma_phys_limit ? : arm64_dma32_phys_limit) - 1) struct debug_info { #ifdef CONFIG_HAVE_HW_BREAKPOINT --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/smp.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/smp.h @@ -46,7 +46,12 @@ * Logical CPU mapping. */ extern u64 __cpu_logical_map[NR_CPUS]; -#define cpu_logical_map(cpu) __cpu_logical_map[cpu] +extern u64 cpu_logical_map(int cpu); + +static inline void set_cpu_logical_map(int cpu, u64 hwid) +{ + __cpu_logical_map[cpu] = hwid; +} struct seq_file; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/include/asm/word-at-a-time.h +++ linux-riscv-5.8-5.8.0/arch/arm64/include/asm/word-at-a-time.h @@ -53,7 +53,7 @@ */ static inline unsigned long load_unaligned_zeropad(const void *addr) { - unsigned long ret, offset; + unsigned long ret, tmp; /* Load word from unaligned pointer addr */ asm( @@ -61,9 +61,9 @@ "2:\n" " .pushsection .fixup,\"ax\"\n" " .align 2\n" - "3: and %1, %2, #0x7\n" - " bic %2, %2, #0x7\n" - " ldr %0, [%2]\n" + "3: bic %1, %2, #0x7\n" + " ldr %0, [%1]\n" + " and %1, %2, #0x7\n" " lsl %1, %1, #0x3\n" #ifndef __AARCH64EB__ " lsr %0, %0, %1\n" @@ -73,7 +73,7 @@ " b 2b\n" " .popsection\n" _ASM_EXTABLE(1b, 3b) - : "=&r" (ret), "=&r" (offset) + : "=&r" (ret), "=&r" (tmp) : "r" (addr), "Q" (*(unsigned long *)addr)); return ret; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/cpu_errata.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/cpu_errata.c @@ -234,14 +234,17 @@ smccc_end = NULL; break; -#if IS_ENABLED(CONFIG_KVM) case SMCCC_CONDUIT_SMC: cb = call_smc_arch_workaround_1; +#if IS_ENABLED(CONFIG_KVM) smccc_start = __smccc_workaround_1_smc; smccc_end = __smccc_workaround_1_smc + __SMCCC_WORKAROUND_1_SMC_SZ; - break; +#else + smccc_start = NULL; + smccc_end = NULL; #endif + break; default: return -1; @@ -454,6 +457,12 @@ return required; } +static void cpu_enable_ssbd_mitigation(const struct arm64_cpu_capabilities *cap) +{ + if (ssbd_state != ARM64_SSBD_FORCE_DISABLE) + cap->matches(cap, SCOPE_LOCAL_CPU); +} + /* known invulnerable cores */ static const struct midr_range arm64_ssb_cpus[] = { MIDR_ALL_VERSIONS(MIDR_CORTEX_A35), @@ -596,6 +605,12 @@ return (need_wa > 0); } +static void +cpu_enable_branch_predictor_hardening(const struct arm64_cpu_capabilities *cap) +{ + cap->matches(cap, SCOPE_LOCAL_CPU); +} + static const __maybe_unused struct midr_range tx2_family_cpus[] = { MIDR_ALL_VERSIONS(MIDR_BRCM_VULCAN), MIDR_ALL_VERSIONS(MIDR_CAVIUM_THUNDERX2), @@ -735,6 +750,8 @@ MIDR_REV_RANGE(MIDR_CORTEX_A53, 0, 0, 4), /* Brahma-B53 r0p[0] */ MIDR_REV(MIDR_BRAHMA_B53, 0, 0), + /* Kryo2XX Silver rAp4 */ + MIDR_REV(MIDR_QCOM_KRYO_2XX_SILVER, 0xa, 0x4), {}, }; #endif @@ -887,9 +904,11 @@ }, #endif { + .desc = "Branch predictor hardening", .capability = ARM64_HARDEN_BRANCH_PREDICTOR, .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM, .matches = check_branch_predictor, + .cpu_enable = cpu_enable_branch_predictor_hardening, }, #ifdef CONFIG_HARDEN_EL2_VECTORS { @@ -903,6 +922,7 @@ .capability = ARM64_SSBD, .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM, .matches = has_ssbd_mitigation, + .cpu_enable = cpu_enable_ssbd_mitigation, .midr_range_list = arm64_ssb_cpus, }, #ifdef CONFIG_ARM64_ERRATUM_1418040 @@ -910,6 +930,12 @@ .desc = "ARM erratum 1418040", .capability = ARM64_WORKAROUND_1418040, ERRATA_MIDR_RANGE_LIST(erratum_1418040_list), + /* + * We need to allow affected CPUs to come in late, but + * also need the non-affected CPUs to be able to come + * in at any point in time. Wonderful. + */ + .type = ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE, }, #endif #ifdef CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/cpufeature.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/cpufeature.c @@ -378,7 +378,6 @@ * of support. */ S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0), - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_TRACEVER_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6), ARM64_FTR_END, }; @@ -1290,6 +1289,8 @@ MIDR_ALL_VERSIONS(MIDR_CORTEX_A73), MIDR_ALL_VERSIONS(MIDR_HISI_TSV110), MIDR_ALL_VERSIONS(MIDR_NVIDIA_CARMEL), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_GOLD), + MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_SILVER), MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_3XX_SILVER), MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_4XX_SILVER), { /* sentinel */ } @@ -1407,7 +1408,7 @@ /* List of CPUs which have broken DBM support. */ static const struct midr_range cpus[] = { #ifdef CONFIG_ARM64_ERRATUM_1024718 - MIDR_RANGE(MIDR_CORTEX_A55, 0, 0, 1, 0), // A55 r0p0 -r1p0 + MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), /* Kryo4xx Silver (rdpe => r1p0) */ MIDR_REV(MIDR_QCOM_KRYO_4XX_SILVER, 0xd, 0xe), #endif @@ -2469,7 +2470,7 @@ int parange, ipa_max; unsigned int safe_vmid_bits, vmid_bits; - if (!IS_ENABLED(CONFIG_KVM) || !IS_ENABLED(CONFIG_KVM_ARM_HOST)) + if (!IS_ENABLED(CONFIG_KVM)) return; safe_mmfr1 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR1_EL1); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/crash_core.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/crash_core.c @@ -7,6 +7,14 @@ #include #include #include +#include + +static inline u64 get_tcr_el1_t1sz(void); + +static inline u64 get_tcr_el1_t1sz(void) +{ + return (read_sysreg(tcr_el1) & TCR_T1SZ_MASK) >> TCR_T1SZ_OFFSET; +} void arch_crash_save_vmcoreinfo(void) { @@ -16,6 +24,8 @@ kimage_voffset); vmcoreinfo_append_str("NUMBER(PHYS_OFFSET)=0x%llx\n", PHYS_OFFSET); + vmcoreinfo_append_str("NUMBER(TCR_EL1_T1SZ)=0x%llx\n", + get_tcr_el1_t1sz()); vmcoreinfo_append_str("KERNELOFFSET=%lx\n", kaslr_offset()); vmcoreinfo_append_str("NUMBER(KERNELPACMASK)=0x%llx\n", system_supports_address_auth() ? --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/crash_dump.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/crash_dump.c @@ -64,5 +64,7 @@ ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos) { memcpy(buf, phys_to_virt((phys_addr_t)*ppos), count); + *ppos += count; + return count; } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/efi-header.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/efi-header.S @@ -147,6 +147,6 @@ * correctly at this alignment, we must ensure that .text is * placed at a 4k boundary in the Image to begin with. */ - .align 12 + .balign SEGMENT_ALIGN efi_header_end: .endm --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/entry.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/entry.S @@ -169,19 +169,6 @@ stp x28, x29, [sp, #16 * 14] .if \el == 0 - .if \regsize == 32 - /* - * If we're returning from a 32-bit task on a system affected by - * 1418040 then re-enable userspace access to the virtual counter. - */ -#ifdef CONFIG_ARM64_ERRATUM_1418040 -alternative_if ARM64_WORKAROUND_1418040 - mrs x0, cntkctl_el1 - orr x0, x0, #2 // ARCH_TIMER_USR_VCT_ACCESS_EN - msr cntkctl_el1, x0 -alternative_else_nop_endif -#endif - .endif clear_gp_regs mrs x21, sp_el0 ldr_this_cpu tsk, __entry_task, x20 @@ -337,14 +324,6 @@ tst x22, #PSR_MODE32_BIT // native task? b.eq 3f -#ifdef CONFIG_ARM64_ERRATUM_1418040 -alternative_if ARM64_WORKAROUND_1418040 - mrs x0, cntkctl_el1 - bic x0, x0, #2 // ARCH_TIMER_USR_VCT_ACCESS_EN - msr cntkctl_el1, x0 -alternative_else_nop_endif -#endif - #ifdef CONFIG_ARM64_ERRATUM_845719 alternative_if ARM64_WORKAROUND_845719 #ifdef CONFIG_PID_IN_CONTEXTIDR --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/head.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/head.S @@ -338,7 +338,7 @@ */ adrp x5, __idmap_text_end clz x5, x5 - cmp x5, TCR_T0SZ(VA_BITS) // default T0SZ small enough? + cmp x5, TCR_T0SZ(VA_BITS_MIN) // default T0SZ small enough? b.ge 1f // .. then skip VA range extension adr_l x6, idmap_t0sz @@ -989,6 +989,7 @@ tlbi vmalle1 // Remove any stale TLB entries dsb nsh + isb msr sctlr_el1, x19 // re-enable the MMU isb --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/insn.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/insn.c @@ -176,7 +176,7 @@ bool __kprobes aarch64_insn_is_branch(u32 insn) { - /* b, bl, cb*, tb*, b.cond, br, blr */ + /* b, bl, cb*, tb*, ret*, b.cond, br*, blr* */ return aarch64_insn_is_b(insn) || aarch64_insn_is_bl(insn) || @@ -185,8 +185,11 @@ aarch64_insn_is_tbz(insn) || aarch64_insn_is_tbnz(insn) || aarch64_insn_is_ret(insn) || + aarch64_insn_is_ret_auth(insn) || aarch64_insn_is_br(insn) || + aarch64_insn_is_br_auth(insn) || aarch64_insn_is_blr(insn) || + aarch64_insn_is_blr_auth(insn) || aarch64_insn_is_bcond(insn); } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/kaslr.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/kaslr.c @@ -11,8 +11,8 @@ #include #include #include +#include -#include #include #include #include @@ -84,6 +84,7 @@ void *fdt; u64 seed, offset, mask, module_range; const u8 *cmdline, *str; + unsigned long raw; int size; /* @@ -122,15 +123,12 @@ } /* - * Mix in any entropy obtainable architecturally, open coded - * since this runs extremely early. + * Mix in any entropy obtainable architecturally if enabled + * and supported. */ - if (__early_cpu_has_rndr()) { - unsigned long raw; - if (__arm64_rndr(&raw)) - seed ^= raw; - } + if (arch_get_random_seed_long_early(&raw)) + seed ^= raw; if (!seed) { kaslr_status = KASLR_DISABLED_NO_SEED; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/kexec_image.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/kexec_image.c @@ -43,7 +43,7 @@ u64 flags, value; bool be_image, be_kernel; struct kexec_buf kbuf; - unsigned long text_offset; + unsigned long text_offset, kernel_segment_number; struct kexec_segment *kernel_segment; int ret; @@ -88,11 +88,37 @@ /* Adjust kernel segment with TEXT_OFFSET */ kbuf.memsz += text_offset; - ret = kexec_add_buffer(&kbuf); - if (ret) + kernel_segment_number = image->nr_segments; + + /* + * The location of the kernel segment may make it impossible to satisfy + * the other segment requirements, so we try repeatedly to find a + * location that will work. + */ + while ((ret = kexec_add_buffer(&kbuf)) == 0) { + /* Try to load additional data */ + kernel_segment = &image->segment[kernel_segment_number]; + ret = load_other_segments(image, kernel_segment->mem, + kernel_segment->memsz, initrd, + initrd_len, cmdline); + if (!ret) + break; + + /* + * We couldn't find space for the other segments; erase the + * kernel segment and try the next available hole. + */ + image->nr_segments -= 1; + kbuf.buf_min = kernel_segment->mem + kernel_segment->memsz; + kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; + } + + if (ret) { + pr_err("Could not find any suitable kernel location!"); return ERR_PTR(ret); + } - kernel_segment = &image->segment[image->nr_segments - 1]; + kernel_segment = &image->segment[kernel_segment_number]; kernel_segment->mem += text_offset; kernel_segment->memsz -= text_offset; image->start = kernel_segment->mem; @@ -101,12 +127,7 @@ kernel_segment->mem, kbuf.bufsz, kernel_segment->memsz); - /* Load additional data */ - ret = load_other_segments(image, - kernel_segment->mem, kernel_segment->memsz, - initrd, initrd_len, cmdline); - - return ERR_PTR(ret); + return 0; } #ifdef CONFIG_KEXEC_IMAGE_VERIFY_SIG --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/machine_kexec_file.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/machine_kexec_file.c @@ -182,8 +182,10 @@ /* duplicate a device tree blob */ ret = fdt_open_into(initial_boot_params, buf, buf_size); - if (ret) + if (ret) { + vfree(buf); return -EINVAL; + } ret = setup_dtb(image, initrd_load_addr, initrd_len, cmdline, buf); @@ -242,6 +244,11 @@ return ret; } +/* + * Tries to add the initrd and DTB to the image. If it is not possible to find + * valid locations, this function will undo changes to the image and return non + * zero. + */ int load_other_segments(struct kimage *image, unsigned long kernel_load_addr, unsigned long kernel_size, @@ -250,7 +257,8 @@ { struct kexec_buf kbuf; void *headers, *dtb = NULL; - unsigned long headers_sz, initrd_load_addr = 0, dtb_len; + unsigned long headers_sz, initrd_load_addr = 0, dtb_len, + orig_segments = image->nr_segments; int ret = 0; kbuf.image = image; @@ -336,6 +344,7 @@ return 0; out_err: + image->nr_segments = orig_segments; vfree(dtb); return ret; } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/module-plts.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/module-plts.c @@ -271,8 +271,7 @@ mod->arch.core.plt_shndx = i; else if (!strcmp(secstrings + sechdrs[i].sh_name, ".init.plt")) mod->arch.init.plt_shndx = i; - else if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE) && - !strcmp(secstrings + sechdrs[i].sh_name, + else if (!strcmp(secstrings + sechdrs[i].sh_name, ".text.ftrace_trampoline")) tramp = sechdrs + i; else if (sechdrs[i].sh_type == SHT_SYMTAB) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/module.lds +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/module.lds @@ -1,5 +1,5 @@ SECTIONS { - .plt (NOLOAD) : { BYTE(0) } - .init.plt (NOLOAD) : { BYTE(0) } - .text.ftrace_trampoline (NOLOAD) : { BYTE(0) } + .plt 0 (NOLOAD) : { BYTE(0) } + .init.plt 0 (NOLOAD) : { BYTE(0) } + .text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) } } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/paravirt.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/paravirt.c @@ -50,16 +50,19 @@ struct pv_time_stolen_time_region *reg; reg = per_cpu_ptr(&stolen_time_region, cpu); - if (!reg->kaddr) { - pr_warn_once("stolen time enabled but not configured for cpu %d\n", - cpu); + + /* + * paravirt_steal_clock() may be called before the CPU + * online notification callback runs. Until the callback + * has run we just return zero. + */ + if (!reg->kaddr) return 0; - } return le64_to_cpu(READ_ONCE(reg->kaddr->stolen_time)); } -static int stolen_time_dying_cpu(unsigned int cpu) +static int stolen_time_cpu_down_prepare(unsigned int cpu) { struct pv_time_stolen_time_region *reg; @@ -73,7 +76,7 @@ return 0; } -static int init_stolen_time_cpu(unsigned int cpu) +static int stolen_time_cpu_online(unsigned int cpu) { struct pv_time_stolen_time_region *reg; struct arm_smccc_res res; @@ -103,19 +106,20 @@ return 0; } -static int pv_time_init_stolen_time(void) +static int __init pv_time_init_stolen_time(void) { int ret; - ret = cpuhp_setup_state(CPUHP_AP_ARM_KVMPV_STARTING, - "hypervisor/arm/pvtime:starting", - init_stolen_time_cpu, stolen_time_dying_cpu); + ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, + "hypervisor/arm/pvtime:online", + stolen_time_cpu_online, + stolen_time_cpu_down_prepare); if (ret < 0) return ret; return 0; } -static bool has_pv_steal_clock(void) +static bool __init has_pv_steal_clock(void) { struct arm_smccc_res res; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/perf_event.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/perf_event.c @@ -155,7 +155,7 @@ pmu_attr = container_of(attr, struct perf_pmu_events_attr, attr); - return sprintf(page, "event=0x%03llx\n", pmu_attr->id); + return sprintf(page, "event=0x%04llx\n", pmu_attr->id); } #define ARMV8_EVENT_ATTR(name, config) \ @@ -244,10 +244,13 @@ test_bit(pmu_attr->id, cpu_pmu->pmceid_bitmap)) return attr->mode; - pmu_attr->id -= ARMV8_PMUV3_EXT_COMMON_EVENT_BASE; - if (pmu_attr->id < ARMV8_PMUV3_MAX_COMMON_EVENTS && - test_bit(pmu_attr->id, cpu_pmu->pmceid_ext_bitmap)) - return attr->mode; + if (pmu_attr->id >= ARMV8_PMUV3_EXT_COMMON_EVENT_BASE) { + u64 id = pmu_attr->id - ARMV8_PMUV3_EXT_COMMON_EVENT_BASE; + + if (id < ARMV8_PMUV3_MAX_COMMON_EVENTS && + test_bit(id, cpu_pmu->pmceid_ext_bitmap)) + return attr->mode; + } return 0; } @@ -507,6 +510,11 @@ static inline void armv8pmu_enable_counter(u32 mask) { + /* + * Make sure event configuration register writes are visible before we + * enable the counter. + * */ + isb(); write_sysreg(mask, pmcntenset_el0); } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/probes/decode-insn.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/probes/decode-insn.c @@ -29,7 +29,8 @@ aarch64_insn_is_msr_imm(insn) || aarch64_insn_is_msr_reg(insn) || aarch64_insn_is_exception(insn) || - aarch64_insn_is_eret(insn)) + aarch64_insn_is_eret(insn) || + aarch64_insn_is_eret_auth(insn)) return false; /* --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/probes/kprobes.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/probes/kprobes.c @@ -304,10 +304,12 @@ kernel_disable_single_step(); - if (kcb->kprobe_status == KPROBE_REENTER) + if (kcb->kprobe_status == KPROBE_REENTER) { restore_previous_kprobe(kcb); - else + } else { + kprobes_restore_local_irqflag(kcb, regs); reset_current_kprobe(); + } break; case KPROBE_HIT_ACTIVE: --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/probes/uprobes.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/probes/uprobes.c @@ -38,7 +38,7 @@ /* TODO: Currently we do not support AARCH32 instruction probing */ if (mm->context.flags & MMCF_AARCH32) - return -ENOTSUPP; + return -EOPNOTSUPP; else if (!IS_ALIGNED(addr, AARCH64_INSN_SIZE)) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/process.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/process.c @@ -516,6 +516,38 @@ } /* + * ARM erratum 1418040 handling, affecting the 32bit view of CNTVCT. + * Assuming the virtual counter is enabled at the beginning of times: + * + * - disable access when switching from a 64bit task to a 32bit task + * - enable access when switching from a 32bit task to a 64bit task + */ +static void erratum_1418040_thread_switch(struct task_struct *prev, + struct task_struct *next) +{ + bool prev32, next32; + u64 val; + + if (!IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040)) + return; + + prev32 = is_compat_thread(task_thread_info(prev)); + next32 = is_compat_thread(task_thread_info(next)); + + if (prev32 == next32 || !this_cpu_has_cap(ARM64_WORKAROUND_1418040)) + return; + + val = read_sysreg(cntkctl_el1); + + if (!next32) + val |= ARCH_TIMER_USR_VCT_ACCESS_EN; + else + val &= ~ARCH_TIMER_USR_VCT_ACCESS_EN; + + write_sysreg(val, cntkctl_el1); +} + +/* * Thread switching. */ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev, @@ -530,6 +562,7 @@ entry_task_switch(next); uao_thread_switch(next); ssbs_thread_switch(next); + erratum_1418040_thread_switch(prev, next); /* * Complete any pending TLB or cache maintenance on this CPU in case --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/psci.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/psci.c @@ -66,7 +66,6 @@ static void cpu_psci_cpu_die(unsigned int cpu) { - int ret; /* * There are no known implementations of PSCI actually using the * power state field, pass a sensible default for now. @@ -74,9 +73,7 @@ u32 state = PSCI_POWER_STATE_TYPE_POWER_DOWN << PSCI_0_2_POWER_STATE_TYPE_SHIFT; - ret = psci_ops.cpu_off(state); - - pr_crit("unable to power off CPU%u (%d)\n", cpu, ret); + psci_ops.cpu_off(state); } static int cpu_psci_cpu_kill(unsigned int cpu) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/ptrace.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/ptrace.c @@ -1855,7 +1855,7 @@ if (flags & (_TIF_SYSCALL_EMU | _TIF_SYSCALL_TRACE)) { tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER); - if (!in_syscall(regs) || (flags & _TIF_SYSCALL_EMU)) + if (flags & _TIF_SYSCALL_EMU) return NO_SYSCALL; } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/setup.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/setup.c @@ -85,7 +85,7 @@ void __init smp_setup_processor_id(void) { u64 mpidr = read_cpuid_mpidr() & MPIDR_HWID_BITMASK; - cpu_logical_map(0) = mpidr; + set_cpu_logical_map(0, mpidr); /* * clear __my_cpu_offset on boot CPU to avoid hang caused by @@ -276,6 +276,12 @@ u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID }; +u64 cpu_logical_map(int cpu) +{ + return __cpu_logical_map[cpu]; +} +EXPORT_SYMBOL_GPL(cpu_logical_map); + void __init setup_arch(char **cmdline_p) { init_mm.start_code = (unsigned long) _text; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/signal.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/signal.c @@ -910,13 +910,6 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags) { - /* - * The assembly code enters us with IRQs off, but it hasn't - * informed the tracing code of that for efficiency reasons. - * Update the trace code with the current status. - */ - trace_hardirqs_off(); - do { /* Check valid user FS if needed */ addr_limit_user_check(); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/smp.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/smp.c @@ -214,6 +214,7 @@ if (system_uses_irq_prio_masking()) init_gic_priority_masking(); + rcu_cpu_starting(cpu); preempt_disable(); trace_hardirqs_off(); @@ -401,6 +402,7 @@ /* Mark this CPU absent */ set_cpu_present(cpu, 0); + rcu_report_dead(cpu); if (IS_ENABLED(CONFIG_HOTPLUG_CPU)) { update_cpu_boot_status(CPU_KILL_ME); @@ -567,7 +569,7 @@ return; /* map the logical cpu id to cpu MPIDR */ - cpu_logical_map(cpu_count) = hwid; + set_cpu_logical_map(cpu_count, hwid); cpu_madt_gicc[cpu_count] = *processor; @@ -681,7 +683,7 @@ goto next; pr_debug("cpu logical map 0x%llx\n", hwid); - cpu_logical_map(cpu_count) = hwid; + set_cpu_logical_map(cpu_count, hwid); early_map_cpu_to_node(cpu_count, of_node_to_nid(dn)); next: @@ -722,7 +724,7 @@ for (i = 1; i < nr_cpu_ids; i++) { if (cpu_logical_map(i) != INVALID_HWID) { if (smp_cpu_setup(i)) - cpu_logical_map(i) = INVALID_HWID; + set_cpu_logical_map(i, INVALID_HWID); } } } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/suspend.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/suspend.c @@ -117,7 +117,7 @@ if (!ret) ret = -EOPNOTSUPP; } else { - __cpu_suspend_exit(); + RCU_NONIDLE(__cpu_suspend_exit()); } unpause_graph_tracing(); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/syscall.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/syscall.c @@ -120,8 +120,8 @@ */ cortex_a76_erratum_1463225_svc_handler(); + user_exit_irqoff(); local_daif_restore(DAIF_PROCCTX); - user_exit(); if (has_syscall_work(flags)) { /* @@ -156,15 +156,8 @@ if (!has_syscall_work(flags) && !IS_ENABLED(CONFIG_DEBUG_RSEQ)) { local_daif_mask(); flags = current_thread_info()->flags; - if (!has_syscall_work(flags) && !(flags & _TIF_SINGLESTEP)) { - /* - * We're off to userspace, where interrupts are - * always enabled after we restore the flags from - * the SPSR. - */ - trace_hardirqs_on(); + if (!has_syscall_work(flags) && !(flags & _TIF_SINGLESTEP)) return; - } local_daif_restore(DAIF_PROCCTX); } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/topology.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/topology.c @@ -36,21 +36,23 @@ if (mpidr & MPIDR_UP_BITMASK) return; - /* Create cpu topology mapping based on MPIDR. */ - if (mpidr & MPIDR_MT_BITMASK) { - /* Multiprocessor system : Multi-threads per core */ - cpuid_topo->thread_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); - cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 1); - cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 2) | - MPIDR_AFFINITY_LEVEL(mpidr, 3) << 8; - } else { - /* Multiprocessor system : Single-thread per core */ - cpuid_topo->thread_id = -1; - cpuid_topo->core_id = MPIDR_AFFINITY_LEVEL(mpidr, 0); - cpuid_topo->package_id = MPIDR_AFFINITY_LEVEL(mpidr, 1) | - MPIDR_AFFINITY_LEVEL(mpidr, 2) << 8 | - MPIDR_AFFINITY_LEVEL(mpidr, 3) << 16; - } + /* + * 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, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/vdso/Makefile @@ -24,7 +24,7 @@ # routines, as x86 does (see 6f121e548f83 ("x86, vdso: Reimplement vdso.so # preparation in build-time C")). ldflags-y := -shared -nostdlib -soname=linux-vdso.so.1 --hash-style=sysv \ - -Bsymbolic $(call ld-option, --no-eh-frame-hdr) --build-id -n \ + -Bsymbolic $(call ld-option, --no-eh-frame-hdr) --build-id=sha1 -n \ $(btildflags-y) -T ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18 --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/vdso32/Makefile +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/vdso32/Makefile @@ -128,7 +128,7 @@ VDSO_LDFLAGS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 VDSO_LDFLAGS += -nostdlib -shared -mfloat-abi=soft VDSO_LDFLAGS += -Wl,--hash-style=sysv -VDSO_LDFLAGS += -Wl,--build-id +VDSO_LDFLAGS += -Wl,--build-id=sha1 VDSO_LDFLAGS += $(call cc32-ldoption,-fuse-ld=bfd) @@ -208,7 +208,7 @@ cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@ # Install commands for the unstripped file -quiet_cmd_vdso_install = INSTALL $@ +quiet_cmd_vdso_install = INSTALL32 $@ cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/vdso32.so vdso.so: $(obj)/vdso.so.dbg --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kernel/vmlinux.lds.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kernel/vmlinux.lds.S @@ -21,6 +21,13 @@ jiffies = jiffies_64; + +#define HYPERVISOR_EXTABLE \ + . = ALIGN(SZ_8); \ + __start___kvm_ex_table = .; \ + *(__kvm_ex_table) \ + __stop___kvm_ex_table = .; + #define HYPERVISOR_TEXT \ /* \ * Align to 4 KB so that \ @@ -36,6 +43,7 @@ __hyp_idmap_text_end = .; \ __hyp_text_start = .; \ *(.hyp.text) \ + HYPERVISOR_EXTABLE \ __hyp_text_end = .; #define IDMAP_TEXT \ --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/debug.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/debug.c @@ -89,6 +89,7 @@ * - Debug ROM Address (MDCR_EL2_TDRA) * - OS related registers (MDCR_EL2_TDOSA) * - Statistical profiler (MDCR_EL2_TPMS/MDCR_EL2_E2PB) + * - Self-hosted Trace Filter controls (MDCR_EL2_TTRF) * * Additionally, KVM only traps guest accesses to the debug registers if * the guest is not actively using them (see the KVM_ARM64_DEBUG_DIRTY @@ -112,6 +113,7 @@ vcpu->arch.mdcr_el2 = __this_cpu_read(mdcr_el2) & MDCR_EL2_HPMN_MASK; vcpu->arch.mdcr_el2 |= (MDCR_EL2_TPM | MDCR_EL2_TPMS | + MDCR_EL2_TTRF | MDCR_EL2_TPMCR | MDCR_EL2_TDRA | MDCR_EL2_TDOSA); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/hyp/debug-sr.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/hyp/debug-sr.c @@ -168,6 +168,21 @@ write_sysreg(ctxt->sys_regs[MDCCINT_EL1], mdccint_el1); } +void __hyp_text __debug_save_host_buffers_nvhe(struct kvm_vcpu *vcpu) +{ + /* + * Non-VHE: Disable and flush SPE data generation + * VHE: The vcpu can run, but it can't hide. + */ + __debug_save_spe_nvhe(&vcpu->arch.host_debug_state.pmscr_el1); + +} + +void __hyp_text __debug_restore_host_buffers_nvhe(struct kvm_vcpu *vcpu) +{ + __debug_restore_spe_nvhe(vcpu->arch.host_debug_state.pmscr_el1); +} + void __hyp_text __debug_switch_to_guest(struct kvm_vcpu *vcpu) { struct kvm_cpu_context *host_ctxt; @@ -175,13 +190,6 @@ struct kvm_guest_debug_arch *host_dbg; struct kvm_guest_debug_arch *guest_dbg; - /* - * Non-VHE: Disable and flush SPE data generation - * VHE: The vcpu can run, but it can't hide. - */ - if (!has_vhe()) - __debug_save_spe_nvhe(&vcpu->arch.host_debug_state.pmscr_el1); - if (!(vcpu->arch.flags & KVM_ARM64_DEBUG_DIRTY)) return; @@ -201,8 +209,6 @@ struct kvm_guest_debug_arch *host_dbg; struct kvm_guest_debug_arch *guest_dbg; - if (!has_vhe()) - __debug_restore_spe_nvhe(vcpu->arch.host_debug_state.pmscr_el1); if (!(vcpu->arch.flags & KVM_ARM64_DEBUG_DIRTY)) return; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/hyp/entry.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/hyp/entry.S @@ -198,20 +198,23 @@ // This is our single instruction exception window. A pending // SError is guaranteed to occur at the earliest when we unmask // it, and at the latest just after the ISB. - .global abort_guest_exit_start abort_guest_exit_start: isb - .global abort_guest_exit_end abort_guest_exit_end: msr daifset, #4 // Mask aborts + ret - // If the exception took place, restore the EL1 exception - // context so that we can report some information. - // Merge the exception code with the SError pending bit. - tbz x0, #ARM_EXIT_WITH_SERROR_BIT, 1f + _kvm_extable abort_guest_exit_start, 9997f + _kvm_extable abort_guest_exit_end, 9997f +9997: + msr daifset, #4 // Mask aborts + mov x0, #(1 << ARM_EXIT_WITH_SERROR_BIT) + + // restore the EL1 exception context so that we can report some + // information. Merge the exception code with the SError pending bit. msr elr_el2, x2 msr esr_el2, x3 msr spsr_el2, x4 --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/hyp/hyp-entry.S +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/hyp/hyp-entry.S @@ -15,6 +15,30 @@ #include #include +.macro save_caller_saved_regs_vect + /* x0 and x1 were saved in the vector entry */ + stp x2, x3, [sp, #-16]! + stp x4, x5, [sp, #-16]! + stp x6, x7, [sp, #-16]! + stp x8, x9, [sp, #-16]! + stp x10, x11, [sp, #-16]! + stp x12, x13, [sp, #-16]! + stp x14, x15, [sp, #-16]! + stp x16, x17, [sp, #-16]! +.endm + +.macro restore_caller_saved_regs_vect + ldp x16, x17, [sp], #16 + ldp x14, x15, [sp], #16 + ldp x12, x13, [sp], #16 + ldp x10, x11, [sp], #16 + ldp x8, x9, [sp], #16 + ldp x6, x7, [sp], #16 + ldp x4, x5, [sp], #16 + ldp x2, x3, [sp], #16 + ldp x0, x1, [sp], #16 +.endm + .text .pushsection .hyp.text, "ax" @@ -142,13 +166,19 @@ b __guest_exit el2_sync: - /* Check for illegal exception return, otherwise panic */ + /* Check for illegal exception return */ mrs x0, spsr_el2 + tbnz x0, #20, 1f - /* if this was something else, then panic! */ - tst x0, #PSR_IL_BIT - b.eq __hyp_panic + save_caller_saved_regs_vect + stp x29, x30, [sp, #-16]! + bl kvm_unexpected_el2_exception + ldp x29, x30, [sp], #16 + restore_caller_saved_regs_vect + eret + +1: /* Let's attempt a recovery from the illegal exception return */ get_vcpu_ptr x1, x0 mov x0, #ARM_EXCEPTION_IL @@ -156,27 +186,14 @@ el2_error: - ldp x0, x1, [sp], #16 + save_caller_saved_regs_vect + stp x29, x30, [sp, #-16]! + + bl kvm_unexpected_el2_exception + + ldp x29, x30, [sp], #16 + restore_caller_saved_regs_vect - /* - * Only two possibilities: - * 1) Either we come from the exit path, having just unmasked - * PSTATE.A: change the return code to an EL2 fault, and - * carry on, as we're already in a sane state to handle it. - * 2) Or we come from anywhere else, and that's a bug: we panic. - * - * For (1), x0 contains the original return code and x1 doesn't - * contain anything meaningful at that stage. We can reuse them - * as temp registers. - * For (2), who cares? - */ - mrs x0, elr_el2 - adr x1, abort_guest_exit_start - cmp x0, x1 - adr x1, abort_guest_exit_end - ccmp x0, x1, #4, ne - b.ne __hyp_panic - mov x0, #(1 << ARM_EXIT_WITH_SERROR_BIT) eret sb --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/hyp/switch.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/hyp/switch.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -24,6 +25,9 @@ #include #include +extern struct exception_table_entry __start___kvm_ex_table; +extern struct exception_table_entry __stop___kvm_ex_table; + /* Check whether the FP regs were dirtied while in the host-side run loop: */ static bool __hyp_text update_fp_enabled(struct kvm_vcpu *vcpu) { @@ -299,10 +303,10 @@ * saved the guest context yet, and we may return early... */ par = read_sysreg(par_el1); - asm volatile("at s1e1r, %0" : : "r" (far)); - isb(); - - tmp = read_sysreg(par_el1); + if (!__kvm_at("s1e1r", far)) + tmp = read_sysreg(par_el1); + else + tmp = SYS_PAR_EL1_F; /* back to the guest */ write_sysreg(par, par_el1); if (unlikely(tmp & SYS_PAR_EL1_F)) @@ -595,7 +599,7 @@ kvm_vcpu_trap_get_fault_type(vcpu) == FSC_FAULT && kvm_vcpu_dabt_isvalid(vcpu) && !kvm_vcpu_dabt_isextabt(vcpu) && - !kvm_vcpu_dabt_iss1tw(vcpu); + !kvm_vcpu_abt_iss1tw(vcpu); if (valid) { int ret = __vgic_v2_perform_cpuif_access(vcpu); @@ -827,6 +831,15 @@ __sysreg32_restore_state(vcpu); __sysreg_restore_state_nvhe(guest_ctxt); + /* + * We must flush and disable the SPE buffer for nVHE, as + * the translation regime(EL1&0) is going to be loaded with + * that of the guest. And we must do this before we change the + * translation regime to EL2 (via MDCR_EL2_EPB == 0) and + * before we load guest Stage1. + */ + __debug_save_host_buffers_nvhe(vcpu); + __activate_vm(kern_hyp_va(vcpu->kvm)); __activate_traps(vcpu); @@ -859,11 +872,13 @@ if (vcpu->arch.flags & KVM_ARM64_FP_ENABLED) __fpsimd_save_fpexc32(vcpu); + __debug_switch_to_host(vcpu); + /* * This must come after restoring the host sysregs, since a non-VHE * system may enable SPE here and make use of the TTBRs. */ - __debug_switch_to_host(vcpu); + __debug_restore_host_buffers_nvhe(vcpu); if (pmu_switch_needed) __pmu_switch_to_host(host_ctxt); @@ -897,7 +912,7 @@ * making sure it is a kernel address and not a PC-relative * reference. */ - asm volatile("ldr %0, =__hyp_panic_string" : "=r" (str_va)); + asm volatile("ldr %0, =%1" : "=r" (str_va) : "S" (__hyp_panic_string)); __hyp_do_panic(str_va, spsr, elr, @@ -934,3 +949,30 @@ unreachable(); } + +asmlinkage void __hyp_text kvm_unexpected_el2_exception(void) +{ + unsigned long addr, fixup; + struct kvm_cpu_context *host_ctxt; + struct exception_table_entry *entry, *end; + unsigned long elr_el2 = read_sysreg(elr_el2); + + entry = hyp_symbol_addr(__start___kvm_ex_table); + end = hyp_symbol_addr(__stop___kvm_ex_table); + host_ctxt = &__hyp_this_cpu_ptr(kvm_host_data)->host_ctxt; + + while (entry < end) { + addr = (unsigned long)&entry->insn + entry->insn; + fixup = (unsigned long)&entry->fixup + entry->fixup; + + if (addr != elr_el2) { + entry++; + continue; + } + + write_sysreg(fixup, elr_el2); + return; + } + + hyp_panic(host_ctxt); +} --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/hypercalls.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/hypercalls.c @@ -31,7 +31,7 @@ val = SMCCC_RET_SUCCESS; break; case KVM_BP_HARDEN_NOT_REQUIRED: - val = SMCCC_RET_NOT_REQUIRED; + val = SMCCC_ARCH_WORKAROUND_RET_UNAFFECTED; break; } break; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/mmio.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/mmio.c @@ -146,7 +146,7 @@ } /* Page table accesses IO mem: tell guest to fix its TTBR */ - if (kvm_vcpu_dabt_iss1tw(vcpu)) { + if (kvm_vcpu_abt_iss1tw(vcpu)) { kvm_inject_dabt(vcpu, kvm_vcpu_get_hfar(vcpu)); return 1; } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/mmu.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/mmu.c @@ -365,7 +365,8 @@ * destroying the VM), otherwise another faulting VCPU may come in and mess * with things behind our backs. */ -static void unmap_stage2_range(struct kvm *kvm, phys_addr_t start, u64 size) +static void __unmap_stage2_range(struct kvm *kvm, phys_addr_t start, u64 size, + bool may_block) { pgd_t *pgd; phys_addr_t addr = start, end = start + size; @@ -390,11 +391,16 @@ * If the range is too large, release the kvm->mmu_lock * to prevent starvation and lockup detector warnings. */ - if (next != end) + if (may_block && next != end) cond_resched_lock(&kvm->mmu_lock); } while (pgd++, addr = next, addr != end); } +static void unmap_stage2_range(struct kvm *kvm, phys_addr_t start, u64 size) +{ + __unmap_stage2_range(kvm, start, size, true); +} + static void stage2_flush_ptes(struct kvm *kvm, pmd_t *pmd, phys_addr_t addr, phys_addr_t end) { @@ -1839,7 +1845,7 @@ unsigned long vma_pagesize, flags = 0; write_fault = kvm_is_write_fault(vcpu); - exec_fault = kvm_vcpu_trap_is_iabt(vcpu); + exec_fault = kvm_vcpu_trap_is_exec_fault(vcpu); VM_BUG_ON(write_fault && exec_fault); if (fault_status == FSC_PERM && !write_fault && !exec_fault) { @@ -1867,6 +1873,7 @@ !fault_supports_stage2_huge_mapping(memslot, hva, vma_pagesize)) { force_pte = true; vma_pagesize = PAGE_SIZE; + vma_shift = PAGE_SHIFT; } /* @@ -1910,6 +1917,7 @@ if (kvm_is_device_pfn(pfn)) { mem_type = PAGE_S2_DEVICE; flags |= KVM_S2PTE_FLAG_IS_IOMAP; + force_pte = true; } else if (logging_active) { /* * Faults on pages in a memslot with logging enabled @@ -1961,7 +1969,12 @@ (fault_status == FSC_PERM && stage2_is_exec(kvm, fault_ipa, vma_pagesize)); - if (vma_pagesize == PUD_SIZE) { + /* + * If PUD_SIZE == PMD_SIZE, there is no real PUD level, and + * all we have is a 2-level page table. Trying to map a PUD in + * this case would be fatally wrong. + */ + if (PUD_SIZE != PMD_SIZE && vma_pagesize == PUD_SIZE) { pud_t new_pud = kvm_pfn_pud(pfn, mem_type); new_pud = kvm_pud_mkhuge(new_pud); @@ -2198,18 +2211,21 @@ static int kvm_unmap_hva_handler(struct kvm *kvm, gpa_t gpa, u64 size, void *data) { - unmap_stage2_range(kvm, gpa, size); + unsigned flags = *(unsigned *)data; + bool may_block = flags & MMU_NOTIFIER_RANGE_BLOCKABLE; + + __unmap_stage2_range(kvm, gpa, size, may_block); return 0; } int kvm_unmap_hva_range(struct kvm *kvm, - unsigned long start, unsigned long end) + unsigned long start, unsigned long end, unsigned flags) { if (!kvm->arch.pgd) return 0; trace_kvm_unmap_hva_range(start, end); - handle_hva_to_gpa(kvm, start, end, &kvm_unmap_hva_handler, NULL); + handle_hva_to_gpa(kvm, start, end, &kvm_unmap_hva_handler, &flags); return 0; } @@ -2453,8 +2469,7 @@ * Prevent userspace from creating a memory region outside of the IPA * space addressable by the KVM guest IPA space. */ - if (memslot->base_gfn + memslot->npages >= - (kvm_phys_size(kvm) >> PAGE_SHIFT)) + if ((memslot->base_gfn + memslot->npages) > (kvm_phys_size(kvm) >> PAGE_SHIFT)) return -EFAULT; mmap_read_lock(current->mm); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/reset.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/reset.c @@ -406,10 +406,10 @@ pr_info("kvm: Limiting the IPA size due to kernel %s Address limit\n", (va_max < pa_max) ? "Virtual" : "Physical"); - WARN(ipa_max < KVM_PHYS_SHIFT, - "KVM IPA limit (%d bit) is smaller than default size\n", ipa_max); kvm_ipa_limit = ipa_max; - kvm_info("IPA Size Limit: %dbits\n", kvm_ipa_limit); + kvm_info("IPA Size Limit: %d bits%s\n", kvm_ipa_limit, + ((kvm_ipa_limit < KVM_PHYS_SHIFT) ? + " (Reduced IPA size, limited VM/VMM compatibility)" : "")); return 0; } @@ -438,6 +438,11 @@ return -EINVAL; } else { phys_shift = KVM_PHYS_SHIFT; + if (phys_shift > kvm_ipa_limit) { + pr_warn_once("%s using unsupported default IPA limit, upgrade your VMM\n", + current->comm); + return -EINVAL; + } } mmfr0 = read_sanitised_ftr_reg(SYS_ID_AA64MMFR0_EL1); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/sys_regs.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/sys_regs.c @@ -636,6 +636,10 @@ { u64 pmcr, val; + /* No PMU available, PMCR_EL0 may UNDEF... */ + if (!kvm_arm_support_pmu_v3()) + return; + pmcr = read_sysreg(pmcr_el0); /* * Writable bits of PMCR_EL0 (ARMV8_PMU_PMCR_MASK) are reset to UNKNOWN @@ -1166,16 +1170,6 @@ return REG_HIDDEN_USER | REG_HIDDEN_GUEST; } -/* Visibility overrides for SVE-specific ID registers */ -static unsigned int sve_id_visibility(const struct kvm_vcpu *vcpu, - const struct sys_reg_desc *rd) -{ - if (vcpu_has_sve(vcpu)) - return 0; - - return REG_HIDDEN_USER; -} - /* Generate the emulated ID_AA64ZFR0_EL1 value exposed to the guest */ static u64 guest_id_aa64zfr0_el1(const struct kvm_vcpu *vcpu) { @@ -1202,9 +1196,6 @@ { u64 val; - if (WARN_ON(!vcpu_has_sve(vcpu))) - return -ENOENT; - val = guest_id_aa64zfr0_el1(vcpu); return reg_to_user(uaddr, &val, reg->id); } @@ -1217,9 +1208,6 @@ int err; u64 val; - if (WARN_ON(!vcpu_has_sve(vcpu))) - return -ENOENT; - err = reg_from_user(&val, uaddr, id); if (err) return err; @@ -1482,7 +1470,7 @@ ID_SANITISED(ID_AA64PFR1_EL1), ID_UNALLOCATED(4,2), ID_UNALLOCATED(4,3), - { SYS_DESC(SYS_ID_AA64ZFR0_EL1), access_id_aa64zfr0_el1, .get_user = get_id_aa64zfr0_el1, .set_user = set_id_aa64zfr0_el1, .visibility = sve_id_visibility }, + { SYS_DESC(SYS_ID_AA64ZFR0_EL1), access_id_aa64zfr0_el1, .get_user = get_id_aa64zfr0_el1, .set_user = set_id_aa64zfr0_el1, }, ID_UNALLOCATED(4,5), ID_UNALLOCATED(4,6), ID_UNALLOCATED(4,7), @@ -1853,9 +1841,9 @@ { Op1( 0), CRn( 0), CRm( 1), Op2( 0), trap_raz_wi }, DBG_BCR_BVR_WCR_WVR(1), /* DBGDCCINT */ - { Op1( 0), CRn( 0), CRm( 2), Op2( 0), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 2), Op2( 0), trap_debug32, NULL, cp14_DBGDCCINT }, /* DBGDSCRext */ - { Op1( 0), CRn( 0), CRm( 2), Op2( 2), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 2), Op2( 2), trap_debug32, NULL, cp14_DBGDSCRext }, DBG_BCR_BVR_WCR_WVR(2), /* DBGDTR[RT]Xint */ { Op1( 0), CRn( 0), CRm( 3), Op2( 0), trap_raz_wi }, @@ -1870,7 +1858,7 @@ { Op1( 0), CRn( 0), CRm( 6), Op2( 2), trap_raz_wi }, DBG_BCR_BVR_WCR_WVR(6), /* DBGVCR */ - { Op1( 0), CRn( 0), CRm( 7), Op2( 0), trap_debug32 }, + { Op1( 0), CRn( 0), CRm( 7), Op2( 0), trap_debug32, NULL, cp14_DBGVCR }, DBG_BCR_BVR_WCR_WVR(7), DBG_BCR_BVR_WCR_WVR(8), DBG_BCR_BVR_WCR_WVR(9), @@ -1960,6 +1948,7 @@ { Op1( 0), CRn( 2), CRm( 0), Op2( 0), access_vm_reg, NULL, c2_TTBR0 }, { Op1( 0), CRn( 2), CRm( 0), Op2( 1), access_vm_reg, NULL, c2_TTBR1 }, { Op1( 0), CRn( 2), CRm( 0), Op2( 2), access_vm_reg, NULL, c2_TTBCR }, + { Op1( 0), CRn( 2), CRm( 0), Op2( 3), access_vm_reg, NULL, c2_TTBCR2 }, { Op1( 0), CRn( 3), CRm( 0), Op2( 0), access_vm_reg, NULL, c3_DACR }, { Op1( 0), CRn( 5), CRm( 0), Op2( 0), access_vm_reg, NULL, c5_DFSR }, { Op1( 0), CRn( 5), CRm( 0), Op2( 1), access_vm_reg, NULL, c5_IFSR }, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/kvm/trace_arm.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/arm64/kvm/vgic/vgic-mmio-v3.c +++ linux-riscv-5.8-5.8.0/arch/arm64/kvm/vgic/vgic-mmio-v3.c @@ -273,6 +273,23 @@ return extract_bytes(value, addr & 7, len); } +static unsigned long vgic_uaccess_read_v3r_typer(struct kvm_vcpu *vcpu, + gpa_t addr, unsigned int len) +{ + unsigned long mpidr = kvm_vcpu_get_mpidr_aff(vcpu); + int target_vcpu_id = vcpu->vcpu_id; + u64 value; + + value = (u64)(mpidr & GENMASK(23, 0)) << 32; + value |= ((target_vcpu_id & 0xffff) << 8); + + if (vgic_has_its(vcpu->kvm)) + value |= GICR_TYPER_PLPIS; + + /* reporting of the Last bit is not supported for userspace */ + return extract_bytes(value, addr & 7, len); +} + static unsigned long vgic_mmio_read_v3r_iidr(struct kvm_vcpu *vcpu, gpa_t addr, unsigned int len) { @@ -593,8 +610,9 @@ REGISTER_DESC_WITH_LENGTH(GICR_IIDR, vgic_mmio_read_v3r_iidr, vgic_mmio_write_wi, 4, VGIC_ACCESS_32bit), - REGISTER_DESC_WITH_LENGTH(GICR_TYPER, - vgic_mmio_read_v3r_typer, vgic_mmio_write_wi, 8, + REGISTER_DESC_WITH_LENGTH_UACCESS(GICR_TYPER, + vgic_mmio_read_v3r_typer, vgic_mmio_write_wi, + vgic_uaccess_read_v3r_typer, vgic_mmio_uaccess_write_wi, 8, VGIC_ACCESS_64bit | VGIC_ACCESS_32bit), REGISTER_DESC_WITH_LENGTH(GICR_WAKER, vgic_mmio_read_raz, vgic_mmio_write_wi, 4, --- linux-riscv-5.8-5.8.0.orig/arch/arm64/lib/memcpy.S +++ linux-riscv-5.8-5.8.0/arch/arm64/lib/memcpy.S @@ -56,9 +56,8 @@ stp \reg1, \reg2, [\ptr], \val .endm - .weak memcpy SYM_FUNC_START_ALIAS(__memcpy) -SYM_FUNC_START_PI(memcpy) +SYM_FUNC_START_WEAK_PI(memcpy) #include "copy_template.S" ret SYM_FUNC_END_PI(memcpy) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/lib/memmove.S +++ linux-riscv-5.8-5.8.0/arch/arm64/lib/memmove.S @@ -45,9 +45,8 @@ D_l .req x13 D_h .req x14 - .weak memmove SYM_FUNC_START_ALIAS(__memmove) -SYM_FUNC_START_PI(memmove) +SYM_FUNC_START_WEAK_PI(memmove) cmp dstin, src b.lo __memcpy add tmp1, src, count --- linux-riscv-5.8-5.8.0.orig/arch/arm64/lib/memset.S +++ linux-riscv-5.8-5.8.0/arch/arm64/lib/memset.S @@ -42,9 +42,8 @@ tmp3w .req w9 tmp3 .req x9 - .weak memset SYM_FUNC_START_ALIAS(__memset) -SYM_FUNC_START_PI(memset) +SYM_FUNC_START_WEAK_PI(memset) mov dst, dstin /* Preserve return value. */ and A_lw, val, #255 orr A_lw, A_lw, A_lw, lsl #8 --- linux-riscv-5.8-5.8.0.orig/arch/arm64/mm/init.c +++ linux-riscv-5.8-5.8.0/arch/arm64/mm/init.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -43,8 +44,6 @@ #include #include -#define ARM64_ZONE_DMA_BITS 30 - /* * We need to be able to catch inadvertent references to memstart_addr * that occur (potentially in generic code) before arm64_memblock_init() @@ -54,12 +53,6 @@ s64 memstart_addr __ro_after_init = -1; EXPORT_SYMBOL(memstart_addr); -s64 physvirt_offset __ro_after_init; -EXPORT_SYMBOL(physvirt_offset); - -struct page *vmemmap __ro_after_init; -EXPORT_SYMBOL(vmemmap); - /* * We create both ZONE_DMA and ZONE_DMA32. ZONE_DMA covers the first 1G of * memory as some devices, namely the Raspberry Pi 4, have peripherals with @@ -67,7 +60,7 @@ * bit addressable memory area. */ phys_addr_t arm64_dma_phys_limit __ro_after_init; -static phys_addr_t arm64_dma32_phys_limit __ro_after_init; +phys_addr_t arm64_dma32_phys_limit __ro_after_init; #ifdef CONFIG_KEXEC_CORE /* @@ -195,8 +188,14 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) { unsigned long max_zone_pfns[MAX_NR_ZONES] = {0}; + unsigned int __maybe_unused acpi_zone_dma_bits; + unsigned int __maybe_unused dt_zone_dma_bits; #ifdef CONFIG_ZONE_DMA + acpi_zone_dma_bits = fls64(acpi_iort_dma_get_max_cpu_address()); + dt_zone_dma_bits = fls64(of_dma_get_max_cpu_address(NULL)); + zone_dma_bits = min3(32U, dt_zone_dma_bits, acpi_zone_dma_bits); + arm64_dma_phys_limit = max_zone_phys(zone_dma_bits); max_zone_pfns[ZONE_DMA] = PFN_DOWN(arm64_dma_phys_limit); #endif #ifdef CONFIG_ZONE_DMA32 @@ -220,6 +219,18 @@ if (!valid_section(__pfn_to_section(pfn))) return 0; + + /* + * ZONE_DEVICE memory does not have the memblock entries. + * memblock_is_map_memory() check for ZONE_DEVICE based + * addresses will always fail. Even the normal hotplugged + * memory will never have MEMBLOCK_NOMAP flag set in their + * memblock entries. Skip memblock search for all non early + * memory sections covering all of hotplug memory including + * both normal and ZONE_DEVICE based. + */ + if (!early_section(__pfn_to_section(pfn))) + return pfn_section_valid(__pfn_to_section(pfn), pfn); #endif return memblock_is_map_memory(addr); } @@ -290,20 +301,6 @@ memstart_addr = round_down(memblock_start_of_DRAM(), ARM64_MEMSTART_ALIGN); - physvirt_offset = PHYS_OFFSET - PAGE_OFFSET; - - vmemmap = ((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)); - - /* - * If we are running with a 52-bit kernel VA config on a system that - * does not support it, we have to offset our vmemmap and physvirt_offset - * s.t. we avoid the 52-bit portion of the direct linear map - */ - if (IS_ENABLED(CONFIG_ARM64_VA_BITS_52) && (vabits_actual != 52)) { - vmemmap += (_PAGE_OFFSET(48) - _PAGE_OFFSET(52)) >> PAGE_SHIFT; - physvirt_offset = PHYS_OFFSET - _PAGE_OFFSET(48); - } - /* * Remove the memory that we will not be able to cover with the * linear mapping. Take care not to clip the kernel which may be @@ -319,6 +316,16 @@ } /* + * If we are running with a 52-bit kernel VA config on a system that + * does not support it, we have to place the available physical + * memory in the 48-bit addressable part of the linear region, i.e., + * we have to move it upward. Since memstart_addr represents the + * physical address of PAGE_OFFSET, we have to *subtract* from it. + */ + if (IS_ENABLED(CONFIG_ARM64_VA_BITS_52) && (vabits_actual != 52)) + memstart_addr -= _PAGE_OFFSET(48) - _PAGE_OFFSET(52); + + /* * Apply the memory limit if it was set. Since the kernel may be loaded * high up in memory, add back the kernel region that must be accessible * via the linear mapping. @@ -387,18 +394,11 @@ early_init_fdt_scan_reserved_mem(); - if (IS_ENABLED(CONFIG_ZONE_DMA)) { - zone_dma_bits = ARM64_ZONE_DMA_BITS; - arm64_dma_phys_limit = max_zone_phys(ARM64_ZONE_DMA_BITS); - } - if (IS_ENABLED(CONFIG_ZONE_DMA32)) arm64_dma32_phys_limit = max_zone_phys(32); else arm64_dma32_phys_limit = PHYS_MASK + 1; - reserve_crashkernel(); - reserve_elfcorehdr(); high_memory = __va(memblock_end_of_DRAM() - 1) + 1; @@ -438,6 +438,12 @@ sparse_init(); zone_sizes_init(min, max); + /* + * request_standard_resources() depends on crashkernel's memory being + * reserved, so do it here. + */ + reserve_crashkernel(); + memblock_dump_all(); } --- linux-riscv-5.8-5.8.0.orig/arch/arm64/mm/mmu.c +++ linux-riscv-5.8-5.8.0/arch/arm64/mm/mmu.c @@ -39,7 +39,7 @@ #define NO_BLOCK_MAPPINGS BIT(0) #define NO_CONT_MAPPINGS BIT(1) -u64 idmap_t0sz = TCR_T0SZ(VA_BITS); +u64 idmap_t0sz = TCR_T0SZ(VA_BITS_MIN); u64 idmap_ptrs_per_pgd = PTRS_PER_PGD; u64 __section(".mmuoff.data.write") vabits_actual; @@ -1414,11 +1414,44 @@ free_empty_tables(start, end, PAGE_OFFSET, PAGE_END); } +static bool inside_linear_region(u64 start, u64 size) +{ + u64 start_linear_pa = __pa(_PAGE_OFFSET(vabits_actual)); + u64 end_linear_pa = __pa(PAGE_END - 1); + + if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) { + /* + * Check for a wrap, it is possible because of randomized linear + * mapping the start physical address is actually bigger than + * the end physical address. In this case set start to zero + * because [0, end_linear_pa] range must still be able to cover + * all addressable physical addresses. + */ + if (start_linear_pa > end_linear_pa) + start_linear_pa = 0; + } + + WARN_ON(start_linear_pa > end_linear_pa); + + /* + * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)] + * accommodating both its ends but excluding PAGE_END. Max physical + * range which can be mapped inside this linear mapping range, must + * also be derived from its end points. + */ + return start >= start_linear_pa && (start + size - 1) <= end_linear_pa; +} + int arch_add_memory(int nid, u64 start, u64 size, struct mhp_params *params) { int ret, flags = 0; + if (!inside_linear_region(start, size)) { + pr_err("[%llx %llx] is outside linear mapping region\n", start, start + size); + return -EINVAL; + } + if (rodata_full || debug_pagealloc_enabled()) flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS; --- linux-riscv-5.8-5.8.0.orig/arch/arm64/mm/numa.c +++ linux-riscv-5.8-5.8.0/arch/arm64/mm/numa.c @@ -46,7 +46,11 @@ */ const struct cpumask *cpumask_of_node(int node) { - if (WARN_ON(node >= nr_node_ids)) + + if (node == NUMA_NO_NODE) + return cpu_all_mask; + + if (WARN_ON(node < 0 || node >= nr_node_ids)) return cpu_none_mask; if (WARN_ON(node_to_cpumask_map[node] == NULL)) --- linux-riscv-5.8-5.8.0.orig/arch/arm64/mm/physaddr.c +++ linux-riscv-5.8-5.8.0/arch/arm64/mm/physaddr.c @@ -9,7 +9,7 @@ phys_addr_t __virt_to_phys(unsigned long x) { - WARN(!__is_lm_address(x), + WARN(!__is_lm_address(__tag_reset(x)), "virt_to_phys used for non-linear address: %pK (%pS)\n", (void *)x, (void *)x); --- linux-riscv-5.8-5.8.0.orig/arch/arm64/net/bpf_jit_comp.c +++ linux-riscv-5.8-5.8.0/arch/arm64/net/bpf_jit_comp.c @@ -141,14 +141,17 @@ } } -static inline int bpf2a64_offset(int bpf_to, int bpf_from, +static inline int bpf2a64_offset(int bpf_insn, int off, const struct jit_ctx *ctx) { - int to = ctx->offset[bpf_to]; - /* -1 to account for the Branch instruction */ - int from = ctx->offset[bpf_from] - 1; - - return to - from; + /* BPF JMP offset is relative to the next instruction */ + bpf_insn++; + /* + * Whereas arm64 branch instructions encode the offset + * from the branch itself, so we must subtract 1 from the + * instruction offset. + */ + return ctx->offset[bpf_insn + off] - (ctx->offset[bpf_insn] - 1); } static void jit_fill_hole(void *area, unsigned int size) @@ -578,7 +581,7 @@ /* JUMP off */ case BPF_JMP | BPF_JA: - jmp_offset = bpf2a64_offset(i + off, i, ctx); + jmp_offset = bpf2a64_offset(i, off, ctx); check_imm26(jmp_offset); emit(A64_B(jmp_offset), ctx); break; @@ -605,7 +608,7 @@ case BPF_JMP32 | BPF_JSLE | BPF_X: emit(A64_CMP(is64, dst, src), ctx); emit_cond_jmp: - jmp_offset = bpf2a64_offset(i + off, i, ctx); + jmp_offset = bpf2a64_offset(i, off, ctx); check_imm19(jmp_offset); switch (BPF_OP(code)) { case BPF_JEQ: @@ -837,10 +840,21 @@ const struct bpf_prog *prog = ctx->prog; int i; + /* + * - offset[0] offset of the end of prologue, + * start of the 1st instruction. + * - offset[1] - offset of the end of 1st instruction, + * start of the 2nd instruction + * [....] + * - offset[3] - offset of the end of 3rd instruction, + * start of 4th instruction + */ for (i = 0; i < prog->len; i++) { const struct bpf_insn *insn = &prog->insnsi[i]; int ret; + if (ctx->image == NULL) + ctx->offset[i] = ctx->idx; ret = build_insn(insn, ctx, extra_pass); if (ret > 0) { i++; @@ -848,11 +862,16 @@ ctx->offset[i] = ctx->idx; continue; } - if (ctx->image == NULL) - ctx->offset[i] = ctx->idx; if (ret) return ret; } + /* + * offset is allocated with prog->len + 1 so fill in + * the last element with the offset after the last + * instruction (end of program) + */ + if (ctx->image == NULL) + ctx->offset[i] = ctx->idx; return 0; } @@ -928,7 +947,7 @@ memset(&ctx, 0, sizeof(ctx)); ctx.prog = prog; - ctx.offset = kcalloc(prog->len, sizeof(int), GFP_KERNEL); + ctx.offset = kcalloc(prog->len + 1, sizeof(int), GFP_KERNEL); if (ctx.offset == NULL) { prog = orig_prog; goto out_off; @@ -1008,7 +1027,7 @@ prog->jited_len = image_size; if (!prog->is_func || extra_pass) { - bpf_prog_fill_jited_linfo(prog, ctx.offset); + bpf_prog_fill_jited_linfo(prog, ctx.offset + 1); out_off: kfree(ctx.offset); kfree(jit_data); --- linux-riscv-5.8-5.8.0.orig/arch/csky/Kconfig +++ linux-riscv-5.8-5.8.0/arch/csky/Kconfig @@ -278,7 +278,7 @@ int "Maximum zone order" default "11" -config RAM_BASE +config DRAM_BASE hex "DRAM start addr (the same with memory-section in dts)" default 0x0 --- linux-riscv-5.8-5.8.0.orig/arch/csky/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/csky/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += asm-offsets.h generic-y += gpio.h generic-y += kvm_para.h -generic-y += local64.h generic-y += qrwlock.h generic-y += user.h generic-y += vmlinux.lds.h --- linux-riscv-5.8-5.8.0.orig/arch/csky/include/asm/page.h +++ linux-riscv-5.8-5.8.0/arch/csky/include/asm/page.h @@ -28,7 +28,7 @@ #define SSEG_SIZE 0x20000000 #define LOWMEM_LIMIT (SSEG_SIZE * 2) -#define PHYS_OFFSET_OFFSET (CONFIG_RAM_BASE & (SSEG_SIZE - 1)) +#define PHYS_OFFSET_OFFSET (CONFIG_DRAM_BASE & (SSEG_SIZE - 1)) #ifndef __ASSEMBLY__ --- linux-riscv-5.8-5.8.0.orig/arch/h8300/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/h8300/include/asm/Kbuild @@ -2,7 +2,6 @@ generic-y += asm-offsets.h generic-y += extable.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += parport.h generic-y += spinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/h8300/kernel/asm-offsets.c +++ linux-riscv-5.8-5.8.0/arch/h8300/kernel/asm-offsets.c @@ -63,6 +63,9 @@ OFFSET(TI_FLAGS, thread_info, flags); OFFSET(TI_CPU, thread_info, cpu); OFFSET(TI_PRE, thread_info, preempt_count); +#ifdef CONFIG_PREEMPTION + DEFINE(TI_PRE_COUNT, offsetof(struct thread_info, preempt_count)); +#endif return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/hexagon/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/hexagon/include/asm/Kbuild @@ -2,5 +2,4 @@ generic-y += extable.h generic-y += iomap.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/ia64/configs/generic_defconfig +++ linux-riscv-5.8-5.8.0/arch/ia64/configs/generic_defconfig @@ -57,8 +57,6 @@ CONFIG_SCSI_FC_ATTRS=y CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_QLOGIC_1280=y -CONFIG_ATA=y -CONFIG_ATA_PIIX=y CONFIG_SATA_VITESSE=y CONFIG_MD=y CONFIG_BLK_DEV_MD=m --- linux-riscv-5.8-5.8.0.orig/arch/ia64/include/asm/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/ia64/include/asm/pgtable.h @@ -366,6 +366,15 @@ } #define pgd_index pgd_index +/* + * In the kernel's mapped region we know everything is in region number 5, so + * as an optimisation its PGD already points to the area for that region. + * However, this also means that we cannot use pgd_index() and we must + * never add the region here. + */ +#define pgd_offset_k(addr) \ + (init_mm.pgd + (((addr) >> PGDIR_SHIFT) & (PTRS_PER_PGD - 1))) + /* Look up a pgd entry in the gate area. On IA-64, the gate-area resides in the kernel-mapped segment, hence we use pgd_offset_k() here. */ --- linux-riscv-5.8-5.8.0.orig/arch/ia64/include/asm/ptrace.h +++ linux-riscv-5.8-5.8.0/arch/ia64/include/asm/ptrace.h @@ -54,8 +54,7 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs) { - /* FIXME: should this be bspstore + nr_dirty regs? */ - return regs->ar_bspstore; + return regs->r12; } static inline int is_syscall_success(struct pt_regs *regs) @@ -79,11 +78,6 @@ unsigned long __ip = instruction_pointer(regs); \ (__ip & ~3UL) + ((__ip & 3UL) << 2); \ }) -/* - * Why not default? Because user_stack_pointer() on ia64 gives register - * stack backing store instead... - */ -#define current_user_stack_pointer() (current_pt_regs()->r12) /* given a pointer to a task_struct, return the user's pt_regs */ # define task_pt_regs(t) (((struct pt_regs *) ((char *) (t) + IA64_STK_OFFSET)) - 1) --- linux-riscv-5.8-5.8.0.orig/arch/ia64/include/asm/syscall.h +++ linux-riscv-5.8-5.8.0/arch/ia64/include/asm/syscall.h @@ -32,7 +32,7 @@ static inline long syscall_get_error(struct task_struct *task, struct pt_regs *regs) { - return regs->r10 == -1 ? regs->r8:0; + return regs->r10 == -1 ? -regs->r8:0; } static inline long syscall_get_return_value(struct task_struct *task, --- linux-riscv-5.8-5.8.0.orig/arch/ia64/kernel/Makefile +++ linux-riscv-5.8-5.8.0/arch/ia64/kernel/Makefile @@ -41,7 +41,7 @@ endif obj-$(CONFIG_INTEL_IOMMU) += pci-dma.o -obj-$(CONFIG_BINFMT_ELF) += elfcore.o +obj-$(CONFIG_ELF_CORE) += elfcore.o # fp_emulate() expects f2-f5,f16-f31 to contain the user-level state. CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31 --- linux-riscv-5.8-5.8.0.orig/arch/ia64/kernel/err_inject.c +++ linux-riscv-5.8-5.8.0/arch/ia64/kernel/err_inject.c @@ -59,7 +59,7 @@ char *buf) \ { \ u32 cpu=dev->id; \ - return sprintf(buf, "%lx\n", name[cpu]); \ + return sprintf(buf, "%llx\n", name[cpu]); \ } #define store(name) \ @@ -86,9 +86,9 @@ #ifdef ERR_INJ_DEBUG printk(KERN_DEBUG "pal_mc_err_inject for cpu%d:\n", cpu); - printk(KERN_DEBUG "err_type_info=%lx,\n", err_type_info[cpu]); - printk(KERN_DEBUG "err_struct_info=%lx,\n", err_struct_info[cpu]); - printk(KERN_DEBUG "err_data_buffer=%lx, %lx, %lx.\n", + printk(KERN_DEBUG "err_type_info=%llx,\n", err_type_info[cpu]); + printk(KERN_DEBUG "err_struct_info=%llx,\n", err_struct_info[cpu]); + printk(KERN_DEBUG "err_data_buffer=%llx, %llx, %llx.\n", err_data_buffer[cpu].data1, err_data_buffer[cpu].data2, err_data_buffer[cpu].data3); @@ -117,8 +117,8 @@ #ifdef ERR_INJ_DEBUG printk(KERN_DEBUG "Returns: status=%d,\n", (int)status[cpu]); - printk(KERN_DEBUG "capabilities=%lx,\n", capabilities[cpu]); - printk(KERN_DEBUG "resources=%lx\n", resources[cpu]); + printk(KERN_DEBUG "capabilities=%llx,\n", capabilities[cpu]); + printk(KERN_DEBUG "resources=%llx\n", resources[cpu]); #endif return size; } @@ -131,7 +131,7 @@ char *buf) { unsigned int cpu=dev->id; - return sprintf(buf, "%lx\n", phys_addr[cpu]); + return sprintf(buf, "%llx\n", phys_addr[cpu]); } static ssize_t @@ -145,7 +145,7 @@ ret = get_user_pages_fast(virt_addr, 1, FOLL_WRITE, NULL); if (ret<=0) { #ifdef ERR_INJ_DEBUG - printk("Virtual address %lx is not existing.\n",virt_addr); + printk("Virtual address %llx is not existing.\n", virt_addr); #endif return -EINVAL; } @@ -163,7 +163,7 @@ { unsigned int cpu=dev->id; - return sprintf(buf, "%lx, %lx, %lx\n", + return sprintf(buf, "%llx, %llx, %llx\n", err_data_buffer[cpu].data1, err_data_buffer[cpu].data2, err_data_buffer[cpu].data3); @@ -178,13 +178,13 @@ int ret; #ifdef ERR_INJ_DEBUG - printk("write err_data_buffer=[%lx,%lx,%lx] on cpu%d\n", + printk("write err_data_buffer=[%llx,%llx,%llx] on cpu%d\n", err_data_buffer[cpu].data1, err_data_buffer[cpu].data2, err_data_buffer[cpu].data3, cpu); #endif - ret=sscanf(buf, "%lx, %lx, %lx", + ret = sscanf(buf, "%llx, %llx, %llx", &err_data_buffer[cpu].data1, &err_data_buffer[cpu].data2, &err_data_buffer[cpu].data3); --- linux-riscv-5.8-5.8.0.orig/arch/ia64/kernel/kprobes.c +++ linux-riscv-5.8-5.8.0/arch/ia64/kernel/kprobes.c @@ -396,83 +396,9 @@ { } -/* - * At this point the target function has been tricked into - * returning into our trampoline. Lookup the associated instance - * and then: - * - call the handler function - * - cleanup by marking the instance as unused - * - long jump back to the original return address - */ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) { - struct kretprobe_instance *ri = NULL; - struct hlist_head *head, empty_rp; - struct hlist_node *tmp; - unsigned long flags, orig_ret_address = 0; - unsigned long trampoline_address = - ((struct fnptr *)kretprobe_trampoline)->ip; - - INIT_HLIST_HEAD(&empty_rp); - kretprobe_hash_lock(current, &head, &flags); - - /* - * It is possible to have multiple instances associated with a given - * task either because an multiple functions in the call path - * have a return probe installed on them, and/or more than one return - * return probe was registered for a target function. - * - * We can handle this because: - * - instances are always inserted at the head of the list - * - when multiple return probes are registered for the same - * function, the first instance's ret_addr will point to the - * real return address, and all the rest will point to - * kretprobe_trampoline - */ - hlist_for_each_entry_safe(ri, tmp, head, hlist) { - if (ri->task != current) - /* another task is sharing our hash bucket */ - continue; - - orig_ret_address = (unsigned long)ri->ret_addr; - if (orig_ret_address != trampoline_address) - /* - * This is the real return address. Any other - * instances associated with this task are for - * other calls deeper on the call stack - */ - break; - } - - regs->cr_iip = orig_ret_address; - - hlist_for_each_entry_safe(ri, tmp, head, hlist) { - if (ri->task != current) - /* another task is sharing our hash bucket */ - continue; - - if (ri->rp && ri->rp->handler) - ri->rp->handler(ri, regs); - - orig_ret_address = (unsigned long)ri->ret_addr; - recycle_rp_inst(ri, &empty_rp); - - if (orig_ret_address != trampoline_address) - /* - * This is the real return address. Any other - * instances associated with this task are for - * other calls deeper on the call stack - */ - break; - } - kretprobe_assert(ri, orig_ret_address, trampoline_address); - - kretprobe_hash_unlock(current, &flags); - - hlist_for_each_entry_safe(ri, tmp, &empty_rp, hlist) { - hlist_del(&ri->hlist); - kfree(ri); - } + regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL); /* * By returning a non-zero value, we are telling * kprobe_handler() that we don't want the post_handler @@ -485,6 +411,7 @@ struct pt_regs *regs) { ri->ret_addr = (kprobe_opcode_t *)regs->b0; + ri->fp = NULL; /* Replace the return addr with trampoline addr */ regs->b0 = ((struct fnptr *)kretprobe_trampoline)->ip; --- linux-riscv-5.8-5.8.0.orig/arch/ia64/kernel/mca.c +++ linux-riscv-5.8-5.8.0/arch/ia64/kernel/mca.c @@ -1822,7 +1822,7 @@ data = mca_bootmem(); first_time = 0; } else - data = (void *)__get_free_pages(GFP_KERNEL, + data = (void *)__get_free_pages(GFP_ATOMIC, get_order(sz)); if (!data) panic("Could not allocate MCA memory for cpu %d\n", --- linux-riscv-5.8-5.8.0.orig/arch/ia64/kernel/ptrace.c +++ linux-riscv-5.8-5.8.0/arch/ia64/kernel/ptrace.c @@ -2146,27 +2146,39 @@ { struct syscall_get_set_args *args = data; struct pt_regs *pt = args->regs; - unsigned long *krbs, cfm, ndirty; + unsigned long *krbs, cfm, ndirty, nlocals, nouts; int i, count; if (unw_unwind_to_user(info) < 0) return; + /* + * We get here via a few paths: + * - break instruction: cfm is shared with caller. + * syscall args are in out= regs, locals are non-empty. + * - epsinstruction: cfm is set by br.call + * locals don't exist. + * + * For both cases argguments are reachable in cfm.sof - cfm.sol. + * CFM: [ ... | sor: 17..14 | sol : 13..7 | sof : 6..0 ] + */ cfm = pt->cr_ifs; + nlocals = (cfm >> 7) & 0x7f; /* aka sol */ + nouts = (cfm & 0x7f) - nlocals; /* aka sof - sol */ krbs = (unsigned long *)info->task + IA64_RBS_OFFSET/8; ndirty = ia64_rse_num_regs(krbs, krbs + (pt->loadrs >> 19)); count = 0; if (in_syscall(pt)) - count = min_t(int, args->n, cfm & 0x7f); + count = min_t(int, args->n, nouts); + /* Iterate over outs. */ for (i = 0; i < count; i++) { + int j = ndirty + nlocals + i + args->i; if (args->rw) - *ia64_rse_skip_regs(krbs, ndirty + i + args->i) = - args->args[i]; + *ia64_rse_skip_regs(krbs, j) = args->args[i]; else - args->args[i] = *ia64_rse_skip_regs(krbs, - ndirty + i + args->i); + args->args[i] = *ia64_rse_skip_regs(krbs, j); } if (!args->rw) { --- linux-riscv-5.8-5.8.0.orig/arch/ia64/mm/discontig.c +++ linux-riscv-5.8-5.8.0/arch/ia64/mm/discontig.c @@ -95,7 +95,7 @@ * acpi_boot_init() (which builds the node_to_cpu_mask array) hasn't been * called yet. Note that node 0 will also count all non-existent cpus. */ -static int __meminit early_nr_cpus_node(int node) +static int early_nr_cpus_node(int node) { int cpu, n = 0; @@ -110,7 +110,7 @@ * compute_pernodesize - compute size of pernode data * @node: the node id. */ -static unsigned long __meminit compute_pernodesize(int node) +static unsigned long compute_pernodesize(int node) { unsigned long pernodesize = 0, cpus; @@ -367,7 +367,7 @@ } } -static void __meminit scatter_node_data(void) +static void scatter_node_data(void) { pg_data_t **dst; int node; --- linux-riscv-5.8-5.8.0.orig/arch/ia64/mm/init.c +++ linux-riscv-5.8-5.8.0/arch/ia64/mm/init.c @@ -537,8 +537,8 @@ if (map_start < map_end) memmap_init_zone((unsigned long)(map_end - map_start), - args->nid, args->zone, page_to_pfn(map_start), - MEMMAP_EARLY, NULL); + args->nid, args->zone, page_to_pfn(map_start), page_to_pfn(map_end), + MEMINIT_EARLY, NULL); return 0; } @@ -547,8 +547,8 @@ unsigned long start_pfn) { if (!vmem_map) { - memmap_init_zone(size, nid, zone, start_pfn, MEMMAP_EARLY, - NULL); + memmap_init_zone(size, nid, zone, start_pfn, start_pfn + size, + MEMINIT_EARLY, NULL); } else { struct page *start; struct memmap_init_callback_data args; --- linux-riscv-5.8-5.8.0.orig/arch/m68k/coldfire/device.c +++ linux-riscv-5.8-5.8.0/arch/m68k/coldfire/device.c @@ -554,7 +554,7 @@ }; #endif /* IS_ENABLED(CONFIG_MCF_EDMA) */ -#if IS_ENABLED(CONFIG_MMC) +#ifdef MCFSDHC_BASE static struct mcf_esdhc_platform_data mcf_esdhc_data = { .max_bus_width = 4, .cd_type = ESDHC_CD_NONE, @@ -579,7 +579,7 @@ .resource = mcf_esdhc_resources, .dev.platform_data = &mcf_esdhc_data, }; -#endif /* IS_ENABLED(CONFIG_MMC) */ +#endif /* MCFSDHC_BASE */ static struct platform_device *mcf_devices[] __initdata = { &mcf_uart, @@ -613,7 +613,7 @@ #if IS_ENABLED(CONFIG_MCF_EDMA) &mcf_edma, #endif -#if IS_ENABLED(CONFIG_MMC) +#ifdef MCFSDHC_BASE &mcf_esdhc, #endif }; --- linux-riscv-5.8-5.8.0.orig/arch/m68k/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/m68k/include/asm/Kbuild @@ -2,6 +2,5 @@ generated-y += syscall_table.h generic-y += extable.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += spinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/m68k/include/asm/m53xxacr.h +++ linux-riscv-5.8-5.8.0/arch/m68k/include/asm/m53xxacr.h @@ -89,9 +89,9 @@ * coherency though in all cases. And for copyback caches we will need * to push cached data as well. */ -#define CACHE_INIT CACR_CINVA -#define CACHE_INVALIDATE CACR_CINVA -#define CACHE_INVALIDATED CACR_CINVA +#define CACHE_INIT (CACHE_MODE + CACR_CINVA - CACR_EC) +#define CACHE_INVALIDATE (CACHE_MODE + CACR_CINVA) +#define CACHE_INVALIDATED (CACHE_MODE + CACR_CINVA) #define ACR0_MODE ((CONFIG_RAMBASE & 0xff000000) + \ (0x000f0000) + \ --- linux-riscv-5.8-5.8.0.orig/arch/m68k/mac/config.c +++ linux-riscv-5.8-5.8.0/arch/m68k/mac/config.c @@ -776,16 +776,12 @@ struct platform_device scc_a_pdev = { .name = "scc", .id = 0, - .num_resources = ARRAY_SIZE(scc_a_rsrcs), - .resource = scc_a_rsrcs, }; EXPORT_SYMBOL(scc_a_pdev); struct platform_device scc_b_pdev = { .name = "scc", .id = 1, - .num_resources = ARRAY_SIZE(scc_b_rsrcs), - .resource = scc_b_rsrcs, }; EXPORT_SYMBOL(scc_b_pdev); @@ -812,10 +808,15 @@ /* Set up serial port resources for the console initcall. */ - scc_a_rsrcs[0].start = (resource_size_t) mac_bi_data.sccbase + 2; - scc_a_rsrcs[0].end = scc_a_rsrcs[0].start; - scc_b_rsrcs[0].start = (resource_size_t) mac_bi_data.sccbase; - scc_b_rsrcs[0].end = scc_b_rsrcs[0].start; + scc_a_rsrcs[0].start = (resource_size_t)mac_bi_data.sccbase + 2; + scc_a_rsrcs[0].end = scc_a_rsrcs[0].start; + scc_a_pdev.num_resources = ARRAY_SIZE(scc_a_rsrcs); + scc_a_pdev.resource = scc_a_rsrcs; + + scc_b_rsrcs[0].start = (resource_size_t)mac_bi_data.sccbase; + scc_b_rsrcs[0].end = scc_b_rsrcs[0].start; + scc_b_pdev.num_resources = ARRAY_SIZE(scc_b_rsrcs); + scc_b_pdev.resource = scc_b_rsrcs; switch (macintosh_config->scc_type) { case MAC_SCC_PSC: --- linux-riscv-5.8-5.8.0.orig/arch/m68k/mac/iop.c +++ linux-riscv-5.8-5.8.0/arch/m68k/mac/iop.c @@ -183,7 +183,7 @@ static __inline__ void iop_stop(volatile struct mac_iop *iop) { - iop->status_ctrl &= ~IOP_RUN; + iop->status_ctrl = IOP_AUTOINC; } static __inline__ void iop_start(volatile struct mac_iop *iop) @@ -191,14 +191,9 @@ iop->status_ctrl = IOP_RUN | IOP_AUTOINC; } -static __inline__ void iop_bypass(volatile struct mac_iop *iop) -{ - iop->status_ctrl |= IOP_BYPASS; -} - static __inline__ void iop_interrupt(volatile struct mac_iop *iop) { - iop->status_ctrl |= IOP_IRQ; + iop->status_ctrl = IOP_IRQ | IOP_RUN | IOP_AUTOINC; } static int iop_alive(volatile struct mac_iop *iop) @@ -244,7 +239,6 @@ } else { iop_base[IOP_NUM_SCC] = (struct mac_iop *) SCC_IOP_BASE_QUADRA; } - iop_base[IOP_NUM_SCC]->status_ctrl = 0x87; iop_scc_present = 1; } else { iop_base[IOP_NUM_SCC] = NULL; @@ -256,7 +250,7 @@ } else { iop_base[IOP_NUM_ISM] = (struct mac_iop *) ISM_IOP_BASE_QUADRA; } - iop_base[IOP_NUM_ISM]->status_ctrl = 0; + iop_stop(iop_base[IOP_NUM_ISM]); iop_ism_present = 1; } else { iop_base[IOP_NUM_ISM] = NULL; @@ -415,7 +409,8 @@ msg->status = IOP_MSGSTATUS_UNUSED; msg = msg->next; iop_send_queue[iop_num][chan] = msg; - if (msg) iop_do_send(msg); + if (msg && iop_readb(iop, IOP_ADDR_SEND_STATE + chan) == IOP_MSG_IDLE) + iop_do_send(msg); } /* @@ -489,16 +484,12 @@ if (!(q = iop_send_queue[iop_num][chan])) { iop_send_queue[iop_num][chan] = msg; + iop_do_send(msg); } else { while (q->next) q = q->next; q->next = msg; } - if (iop_readb(iop_base[iop_num], - IOP_ADDR_SEND_STATE + chan) == IOP_MSG_IDLE) { - iop_do_send(msg); - } - return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/microblaze/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/microblaze/include/asm/Kbuild @@ -1,9 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 generated-y += syscall_table.h generic-y += extable.h -generic-y += hw_irq.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += parport.h generic-y += syscalls.h --- linux-riscv-5.8-5.8.0.orig/arch/mips/Kconfig +++ linux-riscv-5.8-5.8.0/arch/mips/Kconfig @@ -678,6 +678,7 @@ select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_SMP select MIPS_L1_CACHE_SHIFT_7 + select NUMA help This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics workstations. To compile a Linux kernel that runs on these, say Y @@ -875,6 +876,7 @@ select I8253 select I8259 select ISA + select MIPS_L1_CACHE_SHIFT_6 select SWAP_IO_SPACE if CPU_BIG_ENDIAN select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R5000 @@ -2202,6 +2204,7 @@ config KVM_GUEST bool "KVM Guest Kernel" + depends on CPU_MIPS32_R2 depends on BROKEN_ON_SMP help Select this option if building a guest kernel for KVM (Trap & Emulate) --- linux-riscv-5.8-5.8.0.orig/arch/mips/Makefile +++ linux-riscv-5.8-5.8.0/arch/mips/Makefile @@ -136,6 +136,25 @@ # cflags-y += -fno-stack-check +# binutils from v2.35 when built with --enable-mips-fix-loongson3-llsc=yes, +# supports an -mfix-loongson3-llsc flag which emits a sync prior to each ll +# instruction to work around a CPU bug (see __SYNC_loongson3_war in asm/sync.h +# for a description). +# +# We disable this in order to prevent the assembler meddling with the +# instruction that labels refer to, ie. if we label an ll instruction: +# +# 1: ll v0, 0(a0) +# +# ...then with the assembler fix applied the label may actually point at a sync +# instruction inserted by the assembler, and if we were using the label in an +# exception table the table would no longer contain the address of the ll +# instruction. +# +# Avoid this by explicitly disabling that assembler behaviour. +# +cflags-y += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,) + # # CPU-dependent compiler/assembler options for optimization. # --- linux-riscv-5.8-5.8.0.orig/arch/mips/alchemy/common/clock.c +++ linux-riscv-5.8-5.8.0/arch/mips/alchemy/common/clock.c @@ -152,6 +152,7 @@ { struct clk_init_data id; struct clk_hw *h; + struct clk *clk; h = kzalloc(sizeof(*h), GFP_KERNEL); if (!h) @@ -164,7 +165,13 @@ id.ops = &alchemy_clkops_cpu; h->init = &id; - return clk_register(NULL, h); + clk = clk_register(NULL, h); + if (IS_ERR(clk)) { + pr_err("failed to register clock\n"); + kfree(h); + } + + return clk; } /* AUXPLLs ************************************************************/ --- linux-riscv-5.8-5.8.0.orig/arch/mips/bcm47xx/Kconfig +++ linux-riscv-5.8-5.8.0/arch/mips/bcm47xx/Kconfig @@ -27,6 +27,7 @@ select BCMA select BCMA_HOST_SOC select BCMA_DRIVER_MIPS + select BCMA_DRIVER_PCI if PCI select BCMA_DRIVER_PCI_HOSTMODE if PCI select BCMA_DRIVER_GPIO default y --- linux-riscv-5.8-5.8.0.orig/arch/mips/boot/compressed/Makefile +++ linux-riscv-5.8-5.8.0/arch/mips/boot/compressed/Makefile @@ -31,6 +31,7 @@ # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. KCOV_INSTRUMENT := n +UBSAN_SANITIZE := n # decompressor objects (linked with vmlinuz) vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o --- linux-riscv-5.8-5.8.0.orig/arch/mips/boot/compressed/decompress.c +++ linux-riscv-5.8-5.8.0/arch/mips/boot/compressed/decompress.c @@ -13,6 +13,7 @@ #include #include +#include /* * These two variables specify the free mem region @@ -113,7 +114,7 @@ dtb_size = fdt_totalsize((void *)&__appended_dtb); /* last four bytes is always image size in little endian */ - image_size = le32_to_cpup((void *)&__image_end - 4); + image_size = get_unaligned_le32((void *)&__image_end - 4); /* copy dtb to where the booted kernel will expect it */ memcpy((void *)VMLINUX_LOAD_ADDRESS_ULL + image_size, --- linux-riscv-5.8-5.8.0.orig/arch/mips/boot/dts/ingenic/qi_lb60.dts +++ linux-riscv-5.8-5.8.0/arch/mips/boot/dts/ingenic/qi_lb60.dts @@ -69,7 +69,7 @@ "Speaker", "OUTL", "Speaker", "OUTR", "INL", "LOUT", - "INL", "ROUT"; + "INR", "ROUT"; simple-audio-card,aux-devs = <&>; --- linux-riscv-5.8-5.8.0.orig/arch/mips/cavium-octeon/octeon-usb.c +++ linux-riscv-5.8-5.8.0/arch/mips/cavium-octeon/octeon-usb.c @@ -518,6 +518,7 @@ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (res == NULL) { + put_device(&pdev->dev); dev_err(&pdev->dev, "No memory resources\n"); return -ENXIO; } @@ -529,8 +530,10 @@ * know the difference. */ base = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(base)) + if (IS_ERR(base)) { + put_device(&pdev->dev); return PTR_ERR(base); + } mutex_lock(&dwc3_octeon_clocks_mutex); dwc3_octeon_clocks_start(&pdev->dev, (u64)base); --- linux-riscv-5.8-5.8.0.orig/arch/mips/cavium-octeon/setup.c +++ linux-riscv-5.8-5.8.0/arch/mips/cavium-octeon/setup.c @@ -1162,12 +1162,15 @@ bool do_prune; bool fill_mac; - if (fw_passed_dtb) { - fdt = (void *)fw_passed_dtb; +#ifdef CONFIG_MIPS_ELF_APPENDED_DTB + if (!fdt_check_header(&__appended_dtb)) { + fdt = &__appended_dtb; do_prune = false; fill_mac = true; pr_info("Using appended Device Tree.\n"); - } else if (octeon_bootinfo->minor_version >= 3 && octeon_bootinfo->fdt_addr) { + } else +#endif + if (octeon_bootinfo->minor_version >= 3 && octeon_bootinfo->fdt_addr) { fdt = phys_to_virt(octeon_bootinfo->fdt_addr); if (fdt_check_header(fdt)) panic("Corrupt Device Tree passed to kernel."); --- linux-riscv-5.8-5.8.0.orig/arch/mips/configs/qi_lb60_defconfig +++ linux-riscv-5.8-5.8.0/arch/mips/configs/qi_lb60_defconfig @@ -8,6 +8,7 @@ # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y CONFIG_MACH_INGENIC=y +CONFIG_JZ4740_QI_LB60=y CONFIG_HZ_100=y # CONFIG_SECCOMP is not set CONFIG_MODULES=y --- linux-riscv-5.8-5.8.0.orig/arch/mips/crypto/Makefile +++ linux-riscv-5.8-5.8.0/arch/mips/crypto/Makefile @@ -12,8 +12,8 @@ obj-$(CONFIG_CRYPTO_POLY1305_MIPS) += poly1305-mips.o poly1305-mips-y := poly1305-core.o poly1305-glue.o -perlasm-flavour-$(CONFIG_CPU_MIPS32) := o32 -perlasm-flavour-$(CONFIG_CPU_MIPS64) := 64 +perlasm-flavour-$(CONFIG_32BIT) := o32 +perlasm-flavour-$(CONFIG_64BIT) := 64 quiet_cmd_perlasm = PERLASM $@ cmd_perlasm = $(PERL) $(<) $(perlasm-flavour-y) $(@) --- linux-riscv-5.8-5.8.0.orig/arch/mips/dec/setup.c +++ linux-riscv-5.8-5.8.0/arch/mips/dec/setup.c @@ -6,7 +6,7 @@ * for more details. * * Copyright (C) 1998 Harald Koerfgen - * Copyright (C) 2000, 2001, 2002, 2003, 2005 Maciej W. Rozycki + * Copyright (C) 2000, 2001, 2002, 2003, 2005, 2020 Maciej W. Rozycki */ #include #include @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,7 @@ #include #include +#include #include #include #include @@ -29,7 +31,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -146,6 +150,9 @@ ioport_resource.start = ~0UL; ioport_resource.end = 0UL; + + /* Stay away from the firmware working memory area for now. */ + memblock_reserve(PHYS_OFFSET, __pa_symbol(&_text) - PHYS_OFFSET); } /* --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/Kbuild @@ -5,7 +5,6 @@ generated-y += syscall_table_64_n64.h generated-y += syscall_table_64_o32.h generic-y += export.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += parport.h generic-y += qrwlock.h --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/asm.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/asm.h @@ -20,10 +20,27 @@ #include #include +#ifndef __VDSO__ +/* + * Emit CFI data in .debug_frame sections, not .eh_frame sections. + * We don't do DWARF unwinding at runtime, so only the offline DWARF + * information is useful to anyone. Note we should change this if we + * ever decide to enable DWARF unwinding at runtime. + */ +#define CFI_SECTIONS .cfi_sections .debug_frame +#else + /* + * For the vDSO, emit both runtime unwind information and debug + * symbols for the .dbg file. + */ +#define CFI_SECTIONS +#endif + /* * LEAF - declare leaf routine */ #define LEAF(symbol) \ + CFI_SECTIONS; \ .globl symbol; \ .align 2; \ .type symbol, @function; \ @@ -36,6 +53,7 @@ * NESTED - declare nested routine entry point */ #define NESTED(symbol, framesize, rpc) \ + CFI_SECTIONS; \ .globl symbol; \ .align 2; \ .type symbol, @function; \ --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/atomic.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/atomic.h @@ -249,7 +249,7 @@ * bltz that can branch to code outside of the LL/SC loop. As \ * such, we don't need to emit another barrier here. \ */ \ - if (!__SYNC_loongson3_war) \ + if (__SYNC_loongson3_war == 0) \ smp_mb__after_atomic(); \ \ return result; \ --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/cmpxchg.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/cmpxchg.h @@ -99,7 +99,7 @@ * contains a completion barrier prior to the LL, so we don't \ * need to emit an extra one here. \ */ \ - if (!__SYNC_loongson3_war) \ + if (__SYNC_loongson3_war == 0) \ smp_mb__before_llsc(); \ \ __res = (__typeof__(*(ptr))) \ @@ -191,7 +191,7 @@ * contains a completion barrier prior to the LL, so we don't \ * need to emit an extra one here. \ */ \ - if (!__SYNC_loongson3_war) \ + if (__SYNC_loongson3_war == 0) \ smp_mb__before_llsc(); \ \ __res = cmpxchg_local((ptr), (old), (new)); \ @@ -201,7 +201,7 @@ * contains a completion barrier after the SC, so we don't \ * need to emit an extra one here. \ */ \ - if (!__SYNC_loongson3_war) \ + if (__SYNC_loongson3_war == 0) \ smp_llsc_mb(); \ \ __res; \ --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/cpu-features.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/cpu-features.h @@ -568,6 +568,10 @@ # define cpu_has_mac2008_only __opt(MIPS_CPU_MAC_2008_ONLY) #endif +#ifndef cpu_has_ftlbparex +# define cpu_has_ftlbparex __opt(MIPS_CPU_FTLBPAREX) +#endif + #ifdef CONFIG_SMP /* * Some systems share FTLB RAMs between threads within a core (siblings in --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/cpu-type.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/cpu-type.h @@ -47,6 +47,7 @@ case CPU_34K: case CPU_1004K: case CPU_74K: + case CPU_1074K: case CPU_M14KC: case CPU_M14KEC: case CPU_INTERAPTIV: --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/cpu.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/cpu.h @@ -425,6 +425,7 @@ #define MIPS_CPU_MM_SYSAD BIT_ULL(58) /* CPU supports write-through SysAD Valid merge */ #define MIPS_CPU_MM_FULL BIT_ULL(59) /* CPU supports write-through full merge */ #define MIPS_CPU_MAC_2008_ONLY BIT_ULL(60) /* CPU Only support MAC2008 Fused multiply-add instruction */ +#define MIPS_CPU_FTLBPAREX BIT_ULL(61) /* CPU has FTLB parity exception */ /* * CPU ASE encodings --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/kvm_host.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/kvm_host.h @@ -981,7 +981,7 @@ #define KVM_ARCH_WANT_MMU_NOTIFIER int kvm_unmap_hva_range(struct kvm *kvm, - unsigned long start, unsigned long end); + unsigned long start, unsigned long end, unsigned flags); int kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end); int kvm_test_age_hva(struct kvm *kvm, unsigned long hva); --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h @@ -26,7 +26,6 @@ #define cpu_has_counter 1 #define cpu_has_dc_aliases (PAGE_SIZE < 0x4000) #define cpu_has_divec 0 -#define cpu_has_ejtag 0 #define cpu_has_inclusive_pcaches 1 #define cpu_has_llsc 1 #define cpu_has_mcheck 0 @@ -42,7 +41,6 @@ #define cpu_has_veic 0 #define cpu_has_vint 0 #define cpu_has_vtag_icache 0 -#define cpu_has_watch 1 #define cpu_has_wsbh 1 #define cpu_has_ic_fills_f_dc 1 #define cpu_hwrena_impl_bits 0xc0000000 --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/pgtable-32.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/pgtable-32.h @@ -154,6 +154,7 @@ #if defined(CONFIG_XPA) +#define MAX_POSSIBLE_PHYSMEM_BITS 40 #define pte_pfn(x) (((unsigned long)((x).pte_high >> _PFN_SHIFT)) | (unsigned long)((x).pte_low << _PAGE_PRESENT_SHIFT)) static inline pte_t pfn_pte(unsigned long pfn, pgprot_t prot) @@ -169,6 +170,7 @@ #elif defined(CONFIG_PHYS_ADDR_T_64BIT) && defined(CONFIG_CPU_MIPS32) +#define MAX_POSSIBLE_PHYSMEM_BITS 36 #define pte_pfn(x) ((unsigned long)((x).pte_high >> 6)) static inline pte_t pfn_pte(unsigned long pfn, pgprot_t prot) @@ -183,6 +185,7 @@ #else +#define MAX_POSSIBLE_PHYSMEM_BITS 32 #ifdef CONFIG_CPU_VR41XX #define pte_pfn(x) ((unsigned long)((x).pte >> (PAGE_SHIFT + 2))) #define pfn_pte(pfn, prot) __pte(((pfn) << (PAGE_SHIFT + 2)) | pgprot_val(prot)) --- linux-riscv-5.8-5.8.0.orig/arch/mips/include/asm/vdso/gettimeofday.h +++ linux-riscv-5.8-5.8.0/arch/mips/include/asm/vdso/gettimeofday.h @@ -20,6 +20,12 @@ #define VDSO_HAS_CLOCK_GETRES 1 +#if MIPS_ISA_REV < 6 +#define VDSO_SYSCALL_CLOBBERS "hi", "lo", +#else +#define VDSO_SYSCALL_CLOBBERS +#endif + static __always_inline long gettimeofday_fallback( struct __kernel_old_timeval *_tv, struct timezone *_tz) @@ -35,7 +41,9 @@ : "=r" (ret), "=r" (error) : "r" (tv), "r" (tz), "r" (nr) : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); + "$14", "$15", "$24", "$25", + VDSO_SYSCALL_CLOBBERS + "memory"); return error ? -ret : ret; } @@ -59,7 +67,9 @@ : "=r" (ret), "=r" (error) : "r" (clkid), "r" (ts), "r" (nr) : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); + "$14", "$15", "$24", "$25", + VDSO_SYSCALL_CLOBBERS + "memory"); return error ? -ret : ret; } @@ -83,7 +93,9 @@ : "=r" (ret), "=r" (error) : "r" (clkid), "r" (ts), "r" (nr) : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); + "$14", "$15", "$24", "$25", + VDSO_SYSCALL_CLOBBERS + "memory"); return error ? -ret : ret; } @@ -105,7 +117,9 @@ : "=r" (ret), "=r" (error) : "r" (clkid), "r" (ts), "r" (nr) : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); + "$14", "$15", "$24", "$25", + VDSO_SYSCALL_CLOBBERS + "memory"); return error ? -ret : ret; } @@ -125,7 +139,9 @@ : "=r" (ret), "=r" (error) : "r" (clkid), "r" (ts), "r" (nr) : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); + "$14", "$15", "$24", "$25", + VDSO_SYSCALL_CLOBBERS + "memory"); return error ? -ret : ret; } --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/binfmt_elfn32.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/binfmt_elfn32.c @@ -103,4 +103,11 @@ #undef ns_to_kernel_old_timeval #define ns_to_kernel_old_timeval ns_to_old_timeval32 +/* + * Some data types as stored in coredump. + */ +#define user_long_t compat_long_t +#define user_siginfo_t compat_siginfo_t +#define copy_siginfo_to_external copy_siginfo_to_external32 + #include "../../../fs/binfmt_elf.c" --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/binfmt_elfo32.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/binfmt_elfo32.c @@ -106,4 +106,11 @@ #undef ns_to_kernel_old_timeval #define ns_to_kernel_old_timeval ns_to_old_timeval32 +/* + * Some data types as stored in coredump. + */ +#define user_long_t compat_long_t +#define user_siginfo_t compat_siginfo_t +#define copy_siginfo_to_external copy_siginfo_to_external32 + #include "../../../fs/binfmt_elf.c" --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/cpu-probe.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/cpu-probe.c @@ -1827,6 +1827,19 @@ default: break; } + + /* Recent MIPS cores use the implementation-dependent ExcCode 16 for + * cache/FTLB parity exceptions. + */ + switch (__get_cpu_type(c->cputype)) { + case CPU_PROAPTIV: + case CPU_P5600: + case CPU_P6600: + case CPU_I6400: + case CPU_I6500: + c->options |= MIPS_CPU_FTLBPAREX; + break; + } } static inline void cpu_probe_alchemy(struct cpuinfo_mips *c, unsigned int cpu) @@ -2129,16 +2142,17 @@ */ case PRID_COMP_INGENIC_D0: c->isa_level &= ~MIPS_CPU_ISA_M32R2; - break; + fallthrough; /* * The config0 register in the XBurst CPUs with a processor ID of - * PRID_COMP_INGENIC_D1 has an abandoned huge page tlb mode, this - * mode is not compatible with the MIPS standard, it will cause - * tlbmiss and into an infinite loop (line 21 in the tlb-funcs.S) - * when starting the init process. After chip reset, the default - * is HPTLB mode, Write 0xa9000000 to cp0 register 5 sel 4 to - * switch back to VTLB mode to prevent getting stuck. + * PRID_COMP_INGENIC_D0 or PRID_COMP_INGENIC_D1 has an abandoned + * huge page tlb mode, this mode is not compatible with the MIPS + * standard, it will cause tlbmiss and into an infinite loop + * (line 21 in the tlb-funcs.S) when starting the init process. + * After chip reset, the default is HPTLB mode, Write 0xa9000000 + * to cp0 register 5 sel 4 to switch back to VTLB mode to prevent + * getting stuck. */ case PRID_COMP_INGENIC_D1: write_c0_page_ctrl(XBURST_PAGECTRL_HPTLB_DIS); --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/perf_event_mipsxx.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/perf_event_mipsxx.c @@ -1898,8 +1898,8 @@ (base_id >= 64 && base_id < 90) || (base_id >= 128 && base_id < 164) || (base_id >= 192 && base_id < 200) || - (base_id >= 256 && base_id < 274) || - (base_id >= 320 && base_id < 358) || + (base_id >= 256 && base_id < 275) || + (base_id >= 320 && base_id < 361) || (base_id >= 384 && base_id < 574)) break; --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/relocate.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/relocate.c @@ -187,8 +187,14 @@ static inline __init unsigned long rotate_xor(unsigned long hash, const void *area, size_t size) { - size_t i; - unsigned long *ptr = (unsigned long *)area; + const typeof(hash) *ptr = PTR_ALIGN(area, sizeof(hash)); + size_t diff, i; + + diff = (void *)ptr - area; + if (unlikely(size < diff + sizeof(hash))) + return hash; + + size = ALIGN_DOWN(size - diff, sizeof(hash)); for (i = 0; i < size / sizeof(hash); i++) { /* Rotate by odd number of bits and XOR. */ --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/setup.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/setup.c @@ -497,7 +497,7 @@ if (ret != 0 || crash_size <= 0) return; - if (!memblock_find_in_range(crash_base, crash_base + crash_size, crash_size, 0)) { + if (!memblock_find_in_range(crash_base, crash_base + crash_size, crash_size, 1)) { pr_warn("Invalid memory region reserved for crash kernel\n"); return; } @@ -531,8 +531,8 @@ static void __init check_kernel_sections_mem(void) { - phys_addr_t start = PFN_PHYS(PFN_DOWN(__pa_symbol(&_text))); - phys_addr_t size = PFN_PHYS(PFN_UP(__pa_symbol(&_end))) - start; + phys_addr_t start = __pa_symbol(&_text); + phys_addr_t size = __pa_symbol(&_end) - start; if (!memblock_is_region_memory(start, size)) { pr_info("Kernel sections are not in the memory maps\n"); --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/smp-bmips.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/smp-bmips.c @@ -239,6 +239,8 @@ */ static void bmips_init_secondary(void) { + bmips_cpu_setup(); + switch (current_cpu_type()) { case CPU_BMIPS4350: case CPU_BMIPS4380: --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/topology.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/topology.c @@ -20,7 +20,7 @@ for_each_present_cpu(i) { struct cpu *c = &per_cpu(cpu_devices, i); - c->hotpluggable = 1; + c->hotpluggable = !!i; ret = register_cpu(c, i); if (ret) printk(KERN_WARNING "topology_init: register_cpu %d " --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/traps.c +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/traps.c @@ -1286,6 +1286,18 @@ err = own_fpu_inatomic(1); if (msa && !err) { enable_msa(); + /* + * with MSA enabled, userspace can see MSACSR + * and MSA regs, but the values in them are from + * other task before current task, restore them + * from saved fp/msa context + */ + write_msa_csr(current->thread.fpu.msacsr); + /* + * own_fpu_inatomic(1) just restore low 64bit, + * fix the high 64bit + */ + init_msa_upper(); set_thread_flag(TIF_USEDMSA); set_thread_flag(TIF_MSA_CTX_LIVE); } @@ -2457,7 +2469,8 @@ if (cpu_has_fpu && !cpu_has_nofpuex) set_except_vector(EXCCODE_FPE, handle_fpe); - set_except_vector(MIPS_EXCCODE_TLBPAR, handle_ftlb); + if (cpu_has_ftlbparex) + set_except_vector(MIPS_EXCCODE_TLBPAR, handle_ftlb); if (cpu_has_rixiex) { set_except_vector(EXCCODE_TLBRI, tlb_do_page_fault_0); --- linux-riscv-5.8-5.8.0.orig/arch/mips/kernel/vmlinux.lds.S +++ linux-riscv-5.8-5.8.0/arch/mips/kernel/vmlinux.lds.S @@ -90,6 +90,7 @@ INIT_TASK_DATA(THREAD_SIZE) NOSAVE_DATA + PAGE_ALIGNED_DATA(PAGE_SIZE) CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) DATA_DATA @@ -222,6 +223,5 @@ *(.options) *(.pdr) *(.reginfo) - *(.eh_frame) } } --- linux-riscv-5.8-5.8.0.orig/arch/mips/kvm/Kconfig +++ linux-riscv-5.8-5.8.0/arch/mips/kvm/Kconfig @@ -37,10 +37,11 @@ config KVM_MIPS_TE bool "Trap & Emulate" + depends on CPU_MIPS32_R2 help Use trap and emulate to virtualize 32-bit guests in user mode. This does not require any special hardware Virtualization support beyond - standard MIPS32/64 r2 or later, but it does require the guest kernel + standard MIPS32 r2 or later, but it does require the guest kernel to be configured with CONFIG_KVM_GUEST=y so that it resides in the user address segment. --- linux-riscv-5.8-5.8.0.orig/arch/mips/kvm/mips.c +++ linux-riscv-5.8-5.8.0/arch/mips/kvm/mips.c @@ -137,6 +137,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) { switch (type) { + case KVM_VM_MIPS_AUTO: + break; #ifdef CONFIG_KVM_MIPS_VZ case KVM_VM_MIPS_VZ: #else --- linux-riscv-5.8-5.8.0.orig/arch/mips/kvm/mmu.c +++ linux-riscv-5.8-5.8.0/arch/mips/kvm/mmu.c @@ -518,7 +518,8 @@ return 1; } -int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) +int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end, + unsigned flags) { handle_hva_to_gpa(kvm, start, end, &kvm_unmap_hva_handler, NULL); --- linux-riscv-5.8-5.8.0.orig/arch/mips/kvm/vz.c +++ linux-riscv-5.8-5.8.0/arch/mips/kvm/vz.c @@ -29,7 +29,9 @@ #include #include "interrupt.h" +#ifdef CONFIG_CPU_LOONGSON64 #include "loongson_regs.h" +#endif #include "trace.h" --- linux-riscv-5.8-5.8.0.orig/arch/mips/lantiq/irq.c +++ linux-riscv-5.8-5.8.0/arch/mips/lantiq/irq.c @@ -302,7 +302,7 @@ generic_handle_irq(irq_linear_revmap(ltq_domain, hwirq)); /* if this is a EBU irq, we need to ack it or get a deadlock */ - if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT) + if (irq == LTQ_ICU_EBU_IRQ && !module && LTQ_EBU_PCC_ISTAT != 0) ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_PCC_ISTAT) | 0x10, LTQ_EBU_PCC_ISTAT); } --- linux-riscv-5.8-5.8.0.orig/arch/mips/lib/uncached.c +++ linux-riscv-5.8-5.8.0/arch/mips/lib/uncached.c @@ -37,10 +37,12 @@ */ unsigned long run_uncached(void *func) { - register long sp __asm__("$sp"); register long ret __asm__("$2"); long lfunc = (long)func, ufunc; long usp; + long sp; + + __asm__("move %0, $sp" : "=r" (sp)); if (sp >= (long)CKSEG0 && sp < (long)CKSEG2) usp = CKSEG1ADDR(sp); --- linux-riscv-5.8-5.8.0.orig/arch/mips/loongson2ef/Platform +++ linux-riscv-5.8-5.8.0/arch/mips/loongson2ef/Platform @@ -22,6 +22,10 @@ endif endif +# Some -march= flags enable MMI instructions, and GCC complains about that +# support being enabled alongside -msoft-float. Thus explicitly disable MMI. +cflags-y += $(call cc-option,-mno-loongson-mmi) + # # Loongson Machines' Support # --- linux-riscv-5.8-5.8.0.orig/arch/mips/loongson64/Platform +++ linux-riscv-5.8-5.8.0/arch/mips/loongson64/Platform @@ -6,28 +6,6 @@ cflags-$(CONFIG_CPU_LOONGSON64) += -Wa,--trap # -# Some versions of binutils, not currently mainline as of 2019/02/04, support -# an -mfix-loongson3-llsc flag which emits a sync prior to each ll instruction -# to work around a CPU bug (see __SYNC_loongson3_war in asm/sync.h for a -# description). -# -# We disable this in order to prevent the assembler meddling with the -# instruction that labels refer to, ie. if we label an ll instruction: -# -# 1: ll v0, 0(a0) -# -# ...then with the assembler fix applied the label may actually point at a sync -# instruction inserted by the assembler, and if we were using the label in an -# exception table the table would no longer contain the address of the ll -# instruction. -# -# Avoid this by explicitly disabling that assembler behaviour. If upstream -# binutils does not merge support for the flag then we can revisit & remove -# this later - for now it ensures vendor toolchains don't cause problems. -# -cflags-$(CONFIG_CPU_LOONGSON64) += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,) - -# # binutils from v2.25 on and gcc starting from v4.9.0 treat -march=loongson3a # as MIPS64 R2; older versions as just R1. This leaves the possibility open # that GCC might generate R2 code for -march=loongson3a which then is rejected --- linux-riscv-5.8-5.8.0.orig/arch/mips/loongson64/cop2-ex.c +++ linux-riscv-5.8-5.8.0/arch/mips/loongson64/cop2-ex.c @@ -95,10 +95,8 @@ if (res) goto fault; - set_fpr64(current->thread.fpu.fpr, - insn.loongson3_lswc2_format.rt, value); - set_fpr64(current->thread.fpu.fpr, - insn.loongson3_lswc2_format.rq, value_next); + set_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lswc2_format.rt], 0, value); + set_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lswc2_format.rq], 0, value_next); compute_return_epc(regs); own_fpu(1); } @@ -130,15 +128,13 @@ goto sigbus; lose_fpu(1); - value_next = get_fpr64(current->thread.fpu.fpr, - insn.loongson3_lswc2_format.rq); + value_next = get_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lswc2_format.rq], 0); StoreDW(addr + 8, value_next, res); if (res) goto fault; - value = get_fpr64(current->thread.fpu.fpr, - insn.loongson3_lswc2_format.rt); + value = get_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lswc2_format.rt], 0); StoreDW(addr, value, res); if (res) @@ -204,8 +200,7 @@ if (res) goto fault; - set_fpr64(current->thread.fpu.fpr, - insn.loongson3_lsdc2_format.rt, value); + set_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lsdc2_format.rt], 0, value); compute_return_epc(regs); own_fpu(1); @@ -221,8 +216,7 @@ if (res) goto fault; - set_fpr64(current->thread.fpu.fpr, - insn.loongson3_lsdc2_format.rt, value); + set_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lsdc2_format.rt], 0, value); compute_return_epc(regs); own_fpu(1); break; @@ -286,8 +280,7 @@ goto sigbus; lose_fpu(1); - value = get_fpr64(current->thread.fpu.fpr, - insn.loongson3_lsdc2_format.rt); + value = get_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lsdc2_format.rt], 0); StoreW(addr, value, res); if (res) @@ -305,8 +298,7 @@ goto sigbus; lose_fpu(1); - value = get_fpr64(current->thread.fpu.fpr, - insn.loongson3_lsdc2_format.rt); + value = get_fpr64(¤t->thread.fpu.fpr[insn.loongson3_lsdc2_format.rt], 0); StoreDW(addr, value, res); if (res) --- linux-riscv-5.8-5.8.0.orig/arch/mips/mm/c-r4k.c +++ linux-riscv-5.8-5.8.0/arch/mips/mm/c-r4k.c @@ -1590,7 +1590,7 @@ return 1; } -static void __init loongson2_sc_init(void) +static void loongson2_sc_init(void) { struct cpuinfo_mips *c = ¤t_cpu_data; @@ -1606,7 +1606,7 @@ c->options |= MIPS_CPU_INCLUSIVE_CACHES; } -static void __init loongson3_sc_init(void) +static void loongson3_sc_init(void) { struct cpuinfo_mips *c = ¤t_cpu_data; unsigned int config2, lsize; @@ -1712,7 +1712,11 @@ printk("MIPS secondary cache %ldkB, %s, linesize %d bytes.\n", scache_size >> 10, way_string[c->scache.ways], c->scache.linesz); + + if (current_cpu_type() == CPU_BMIPS5000) + c->options |= MIPS_CPU_INCLUSIVE_CACHES; } + #else if (!(c->scache.flags & MIPS_CACHE_NOT_PRESENT)) panic("Dunno how to handle MIPS32 / MIPS64 second level cache"); --- linux-riscv-5.8-5.8.0.orig/arch/mips/mm/sc-mips.c +++ linux-riscv-5.8-5.8.0/arch/mips/mm/sc-mips.c @@ -146,7 +146,7 @@ return 1; } -static int __init mips_sc_probe_cm3(void) +static int mips_sc_probe_cm3(void) { struct cpuinfo_mips *c = ¤t_cpu_data; unsigned long cfg = read_gcr_l2_config(); @@ -180,7 +180,7 @@ return 0; } -static inline int __init mips_sc_probe(void) +static inline int mips_sc_probe(void) { struct cpuinfo_mips *c = ¤t_cpu_data; unsigned int config1, config2; --- linux-riscv-5.8-5.8.0.orig/arch/mips/mm/tlb-r4k.c +++ linux-riscv-5.8-5.8.0/arch/mips/mm/tlb-r4k.c @@ -438,6 +438,7 @@ } return mask == PM_HUGE_MASK; } +EXPORT_SYMBOL(has_transparent_hugepage); #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ --- linux-riscv-5.8-5.8.0.orig/arch/mips/oprofile/op_model_mipsxx.c +++ linux-riscv-5.8-5.8.0/arch/mips/oprofile/op_model_mipsxx.c @@ -245,7 +245,6 @@ switch (counters) { #define HANDLE_COUNTER(n) \ - fallthrough; \ case n + 1: \ control = r_c0_perfctrl ## n(); \ counter = r_c0_perfcntr ## n(); \ @@ -256,8 +255,11 @@ handled = IRQ_HANDLED; \ } HANDLE_COUNTER(3) + fallthrough; HANDLE_COUNTER(2) + fallthrough; HANDLE_COUNTER(1) + fallthrough; HANDLE_COUNTER(0) } --- linux-riscv-5.8-5.8.0.orig/arch/mips/pci/pci-xtalk-bridge.c +++ linux-riscv-5.8-5.8.0/arch/mips/pci/pci-xtalk-bridge.c @@ -728,6 +728,7 @@ pci_free_resource_list(&host->windows); err_remove_domain: irq_domain_remove(domain); + irq_domain_free_fwnode(fn); return err; } @@ -735,8 +736,10 @@ { struct pci_bus *bus = platform_get_drvdata(pdev); struct bridge_controller *bc = BRIDGE_CONTROLLER(bus); + struct fwnode_handle *fn = bc->domain->fwnode; irq_domain_remove(bc->domain); + irq_domain_free_fwnode(fn); pci_lock_rescan_remove(); pci_stop_root_bus(bus); pci_remove_root_bus(bus); --- linux-riscv-5.8-5.8.0.orig/arch/mips/sni/a20r.c +++ linux-riscv-5.8-5.8.0/arch/mips/sni/a20r.c @@ -143,7 +143,10 @@ }, }; -static u32 a20r_ack_hwint(void) +/* + * Trigger chipset to update CPU's CAUSE IP field + */ +static u32 a20r_update_cause_ip(void) { u32 status = read_c0_status(); @@ -205,12 +208,14 @@ int irq; clear_c0_status(IE_IRQ0); - status = a20r_ack_hwint(); + status = a20r_update_cause_ip(); cause = read_c0_cause(); irq = ffs(((cause & status) >> 8) & 0xf8); if (likely(irq > 0)) do_IRQ(SNI_A20R_IRQ_BASE + irq - 1); + + a20r_update_cause_ip(); set_c0_status(IE_IRQ0); } @@ -222,8 +227,8 @@ irq_set_chip_and_handler(i, &a20r_irq_type, handle_level_irq); sni_hwint = a20r_hwint; change_c0_status(ST0_IM, IE_IRQ0); - if (request_irq(SNI_A20R_IRQ_BASE + 3, sni_isa_irq_handler, 0, "ISA", - NULL)) + if (request_irq(SNI_A20R_IRQ_BASE + 3, sni_isa_irq_handler, + IRQF_SHARED, "ISA", sni_isa_irq_handler)) pr_err("Failed to register ISA interrupt\n"); } --- linux-riscv-5.8-5.8.0.orig/arch/mips/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/mips/vdso/Makefile @@ -16,16 +16,13 @@ $(filter -march=%,$(KBUILD_CFLAGS)) \ $(filter -m%-float,$(KBUILD_CFLAGS)) \ $(filter -mno-loongson-%,$(KBUILD_CFLAGS)) \ + $(CLANG_FLAGS) \ -D__VDSO__ ifndef CONFIG_64BIT ccflags-vdso += -DBUILD_VDSO32 endif -ifdef CONFIG_CC_IS_CLANG -ccflags-vdso += $(filter --target=%,$(KBUILD_CFLAGS)) -endif - # # The -fno-jump-tables flag only prevents the compiler from generating # jump tables but does not prevent the compiler from emitting absolute @@ -62,7 +59,7 @@ # VDSO linker flags. ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \ $(filter -E%,$(KBUILD_CFLAGS)) -nostdlib -shared \ - -G 0 --eh-frame-hdr --hash-style=sysv --build-id -T + -G 0 --eh-frame-hdr --hash-style=sysv --build-id=sha1 -T CFLAGS_REMOVE_vdso.o = -pg --- linux-riscv-5.8-5.8.0.orig/arch/mips/vdso/genvdso.c +++ linux-riscv-5.8-5.8.0/arch/mips/vdso/genvdso.c @@ -122,6 +122,7 @@ if (fstat(fd, &stat) != 0) { fprintf(stderr, "%s: Failed to stat '%s': %s\n", program_name, path, strerror(errno)); + close(fd); return NULL; } @@ -130,6 +131,7 @@ if (addr == MAP_FAILED) { fprintf(stderr, "%s: Failed to map '%s': %s\n", program_name, path, strerror(errno)); + close(fd); return NULL; } @@ -139,6 +141,7 @@ if (memcmp(ehdr->e_ident, ELFMAG, SELFMAG) != 0) { fprintf(stderr, "%s: '%s' is not an ELF file\n", program_name, path); + close(fd); return NULL; } @@ -150,6 +153,7 @@ default: fprintf(stderr, "%s: '%s' has invalid ELF class\n", program_name, path); + close(fd); return NULL; } @@ -161,6 +165,7 @@ default: fprintf(stderr, "%s: '%s' has invalid ELF data order\n", program_name, path); + close(fd); return NULL; } @@ -168,15 +173,18 @@ fprintf(stderr, "%s: '%s' has invalid ELF machine (expected EM_MIPS)\n", program_name, path); + close(fd); return NULL; } else if (swap_uint16(ehdr->e_type) != ET_DYN) { fprintf(stderr, "%s: '%s' has invalid ELF type (expected ET_DYN)\n", program_name, path); + close(fd); return NULL; } *_size = stat.st_size; + close(fd); return addr; } @@ -293,10 +301,12 @@ /* Calculate and write symbol offsets to */ if (!get_symbols(dbg_vdso_path, dbg_vdso)) { unlink(out_path); + fclose(out_file); return EXIT_FAILURE; } fprintf(out_file, "};\n"); + fclose(out_file); return EXIT_SUCCESS; } --- linux-riscv-5.8-5.8.0.orig/arch/nds32/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/nds32/include/asm/Kbuild @@ -4,6 +4,5 @@ generic-y += export.h generic-y += gpio.h generic-y += kvm_para.h -generic-y += local64.h generic-y += parport.h generic-y += user.h --- linux-riscv-5.8-5.8.0.orig/arch/nds32/mm/cacheflush.c +++ linux-riscv-5.8-5.8.0/arch/nds32/mm/cacheflush.c @@ -238,7 +238,7 @@ { struct address_space *mapping; - mapping = page_mapping(page); + mapping = page_mapping_file(page); if (mapping && !mapping_mapped(mapping)) set_bit(PG_dcache_dirty, &page->flags); else { --- linux-riscv-5.8-5.8.0.orig/arch/nios2/kernel/sys_nios2.c +++ linux-riscv-5.8-5.8.0/arch/nios2/kernel/sys_nios2.c @@ -22,6 +22,7 @@ unsigned int op) { struct vm_area_struct *vma; + struct mm_struct *mm = current->mm; if (len == 0) return 0; @@ -34,16 +35,22 @@ if (addr + len < addr) return -EFAULT; + if (mmap_read_lock_killable(mm)) + return -EINTR; + /* * Verify that the specified address region actually belongs * to this process. */ - vma = find_vma(current->mm, addr); - if (vma == NULL || addr < vma->vm_start || addr + len > vma->vm_end) + vma = find_vma(mm, addr); + if (vma == NULL || addr < vma->vm_start || addr + len > vma->vm_end) { + mmap_read_unlock(mm); return -EFAULT; + } flush_cache_range(vma, addr, addr + len); + mmap_read_unlock(mm); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/openrisc/include/asm/uaccess.h +++ linux-riscv-5.8-5.8.0/arch/openrisc/include/asm/uaccess.h @@ -164,19 +164,19 @@ #define __get_user_nocheck(x, ptr, size) \ ({ \ - long __gu_err, __gu_val; \ - __get_user_size(__gu_val, (ptr), (size), __gu_err); \ - (x) = (__force __typeof__(*(ptr)))__gu_val; \ + long __gu_err; \ + __get_user_size((x), (ptr), (size), __gu_err); \ __gu_err; \ }) #define __get_user_check(x, ptr, size) \ ({ \ - long __gu_err = -EFAULT, __gu_val = 0; \ - const __typeof__(*(ptr)) * __gu_addr = (ptr); \ - if (access_ok(__gu_addr, size)) \ - __get_user_size(__gu_val, __gu_addr, (size), __gu_err); \ - (x) = (__force __typeof__(*(ptr)))__gu_val; \ + long __gu_err = -EFAULT; \ + const __typeof__(*(ptr)) *__gu_addr = (ptr); \ + if (access_ok(__gu_addr, size)) \ + __get_user_size((x), __gu_addr, (size), __gu_err); \ + else \ + (x) = (__typeof__(*(ptr))) 0; \ __gu_err; \ }) @@ -190,11 +190,13 @@ case 2: __get_user_asm(x, ptr, retval, "l.lhz"); break; \ case 4: __get_user_asm(x, ptr, retval, "l.lwz"); break; \ case 8: __get_user_asm2(x, ptr, retval); break; \ - default: (x) = __get_user_bad(); \ + default: (x) = (__typeof__(*(ptr)))__get_user_bad(); \ } \ } while (0) #define __get_user_asm(x, addr, err, op) \ +{ \ + unsigned long __gu_tmp; \ __asm__ __volatile__( \ "1: "op" %1,0(%2)\n" \ "2:\n" \ @@ -208,10 +210,14 @@ " .align 2\n" \ " .long 1b,3b\n" \ ".previous" \ - : "=r"(err), "=r"(x) \ - : "r"(addr), "i"(-EFAULT), "0"(err)) + : "=r"(err), "=r"(__gu_tmp) \ + : "r"(addr), "i"(-EFAULT), "0"(err)); \ + (x) = (__typeof__(*(addr)))__gu_tmp; \ +} #define __get_user_asm2(x, addr, err) \ +{ \ + unsigned long long __gu_tmp; \ __asm__ __volatile__( \ "1: l.lwz %1,0(%2)\n" \ "2: l.lwz %H1,4(%2)\n" \ @@ -228,8 +234,11 @@ " .long 1b,4b\n" \ " .long 2b,4b\n" \ ".previous" \ - : "=r"(err), "=&r"(x) \ - : "r"(addr), "i"(-EFAULT), "0"(err)) + : "=r"(err), "=&r"(__gu_tmp) \ + : "r"(addr), "i"(-EFAULT), "0"(err)); \ + (x) = (__typeof__(*(addr)))( \ + (__typeof__((x)-(x)))__gu_tmp); \ +} /* more complex routines */ --- linux-riscv-5.8-5.8.0.orig/arch/openrisc/kernel/stacktrace.c +++ linux-riscv-5.8-5.8.0/arch/openrisc/kernel/stacktrace.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -68,12 +69,25 @@ { unsigned long *sp = NULL; + if (!try_get_task_stack(tsk)) + return; + if (tsk == current) sp = (unsigned long *) &sp; - else - sp = (unsigned long *) KSTK_ESP(tsk); + else { + unsigned long ksp; + + /* Locate stack from kernel context */ + ksp = task_thread_info(tsk)->ksp; + ksp += STACK_FRAME_OVERHEAD; /* redzone */ + ksp += sizeof(struct pt_regs); + + sp = (unsigned long *) ksp; + } unwind_stack(trace, sp, save_stack_address_nosched); + + put_task_stack(tsk); } EXPORT_SYMBOL_GPL(save_stack_trace_tsk); --- linux-riscv-5.8-5.8.0.orig/arch/openrisc/mm/cache.c +++ linux-riscv-5.8-5.8.0/arch/openrisc/mm/cache.c @@ -16,7 +16,7 @@ #include #include -static void cache_loop(struct page *page, const unsigned int reg) +static __always_inline void cache_loop(struct page *page, const unsigned int reg) { unsigned long paddr = page_to_pfn(page) << PAGE_SHIFT; unsigned long line = paddr & ~(L1_CACHE_BYTES - 1); --- linux-riscv-5.8-5.8.0.orig/arch/parisc/Kconfig +++ linux-riscv-5.8-5.8.0/arch/parisc/Kconfig @@ -201,10 +201,12 @@ def_bool y depends on PA8X00 || PA7200 +config PARISC_HUGE_KERNEL + def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST + config MLONGCALLS - bool "Enable the -mlong-calls compiler option for big kernels" - default y if !MODULES || UBSAN || FTRACE - default n + def_bool y if PARISC_HUGE_KERNEL + bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL depends on PA8X00 help If you configure the kernel to include many drivers built-in instead --- linux-riscv-5.8-5.8.0.orig/arch/parisc/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/parisc/include/asm/Kbuild @@ -3,7 +3,6 @@ generated-y += syscall_table_64.h generated-y += syscall_table_c32.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += seccomp.h generic-y += user.h --- linux-riscv-5.8-5.8.0.orig/arch/parisc/include/asm/barrier.h +++ linux-riscv-5.8-5.8.0/arch/parisc/include/asm/barrier.h @@ -26,6 +26,67 @@ #define __smp_rmb() mb() #define __smp_wmb() mb() +#define __smp_store_release(p, v) \ +do { \ + typeof(p) __p = (p); \ + union { typeof(*p) __val; char __c[1]; } __u = \ + { .__val = (__force typeof(*p)) (v) }; \ + compiletime_assert_atomic_type(*p); \ + switch (sizeof(*p)) { \ + case 1: \ + asm volatile("stb,ma %0,0(%1)" \ + : : "r"(*(__u8 *)__u.__c), "r"(__p) \ + : "memory"); \ + break; \ + case 2: \ + asm volatile("sth,ma %0,0(%1)" \ + : : "r"(*(__u16 *)__u.__c), "r"(__p) \ + : "memory"); \ + break; \ + case 4: \ + asm volatile("stw,ma %0,0(%1)" \ + : : "r"(*(__u32 *)__u.__c), "r"(__p) \ + : "memory"); \ + break; \ + case 8: \ + if (IS_ENABLED(CONFIG_64BIT)) \ + asm volatile("std,ma %0,0(%1)" \ + : : "r"(*(__u64 *)__u.__c), "r"(__p) \ + : "memory"); \ + break; \ + } \ +} while (0) + +#define __smp_load_acquire(p) \ +({ \ + union { typeof(*p) __val; char __c[1]; } __u; \ + typeof(p) __p = (p); \ + compiletime_assert_atomic_type(*p); \ + switch (sizeof(*p)) { \ + case 1: \ + asm volatile("ldb,ma 0(%1),%0" \ + : "=r"(*(__u8 *)__u.__c) : "r"(__p) \ + : "memory"); \ + break; \ + case 2: \ + asm volatile("ldh,ma 0(%1),%0" \ + : "=r"(*(__u16 *)__u.__c) : "r"(__p) \ + : "memory"); \ + break; \ + case 4: \ + asm volatile("ldw,ma 0(%1),%0" \ + : "=r"(*(__u32 *)__u.__c) : "r"(__p) \ + : "memory"); \ + break; \ + case 8: \ + if (IS_ENABLED(CONFIG_64BIT)) \ + asm volatile("ldd,ma 0(%1),%0" \ + : "=r"(*(__u64 *)__u.__c) : "r"(__p) \ + : "memory"); \ + break; \ + } \ + __u.__val; \ +}) #include #endif /* !__ASSEMBLY__ */ --- linux-riscv-5.8-5.8.0.orig/arch/parisc/include/asm/cmpxchg.h +++ linux-riscv-5.8-5.8.0/arch/parisc/include/asm/cmpxchg.h @@ -72,7 +72,7 @@ #endif case 4: return __cmpxchg_u32((unsigned int *)ptr, (unsigned int)old, (unsigned int)new_); - case 1: return __cmpxchg_u8((u8 *)ptr, (u8)old, (u8)new_); + case 1: return __cmpxchg_u8((u8 *)ptr, old & 0xff, new_ & 0xff); } __cmpxchg_called_with_bad_pointer(); return old; --- linux-riscv-5.8-5.8.0.orig/arch/parisc/include/asm/spinlock.h +++ linux-riscv-5.8-5.8.0/arch/parisc/include/asm/spinlock.h @@ -10,34 +10,25 @@ static inline int arch_spin_is_locked(arch_spinlock_t *x) { volatile unsigned int *a = __ldcw_align(x); - smp_mb(); return *a == 0; } -static inline void arch_spin_lock(arch_spinlock_t *x) -{ - volatile unsigned int *a; - - a = __ldcw_align(x); - while (__ldcw(a) == 0) - while (*a == 0) - cpu_relax(); -} +#define arch_spin_lock(lock) arch_spin_lock_flags(lock, 0) static inline void arch_spin_lock_flags(arch_spinlock_t *x, unsigned long flags) { volatile unsigned int *a; - unsigned long flags_dis; a = __ldcw_align(x); - while (__ldcw(a) == 0) { - local_save_flags(flags_dis); - local_irq_restore(flags); + while (__ldcw(a) == 0) while (*a == 0) - cpu_relax(); - local_irq_restore(flags_dis); - } + if (flags & PSW_SM_I) { + local_irq_enable(); + cpu_relax(); + local_irq_disable(); + } else + cpu_relax(); } #define arch_spin_lock_flags arch_spin_lock_flags @@ -46,12 +37,8 @@ volatile unsigned int *a; a = __ldcw_align(x); -#ifdef CONFIG_SMP - (void) __ldcw(a); -#else - mb(); -#endif - *a = 1; + /* Release with ordered store. */ + __asm__ __volatile__("stw,ma %0,0(%1)" : : "r"(1), "r"(a) : "memory"); } static inline int arch_spin_trylock(arch_spinlock_t *x) --- linux-riscv-5.8-5.8.0.orig/arch/parisc/kernel/entry.S +++ linux-riscv-5.8-5.8.0/arch/parisc/kernel/entry.S @@ -454,7 +454,6 @@ nop LDREG 0(\ptp),\pte bb,<,n \pte,_PAGE_PRESENT_BIT,3f - LDCW 0(\tmp),\tmp1 b \fault stw \spc,0(\tmp) 99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) @@ -464,23 +463,26 @@ 3: .endm - /* Release pa_tlb_lock lock without reloading lock address. */ - .macro tlb_unlock0 spc,tmp,tmp1 + /* Release pa_tlb_lock lock without reloading lock address. + Note that the values in the register spc are limited to + NR_SPACE_IDS (262144). Thus, the stw instruction always + stores a nonzero value even when register spc is 64 bits. + We use an ordered store to ensure all prior accesses are + performed prior to releasing the lock. */ + .macro tlb_unlock0 spc,tmp #ifdef CONFIG_SMP 98: or,COND(=) %r0,\spc,%r0 - LDCW 0(\tmp),\tmp1 - or,COND(=) %r0,\spc,%r0 - stw \spc,0(\tmp) + stw,ma \spc,0(\tmp) 99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) #endif .endm /* Release pa_tlb_lock lock. */ - .macro tlb_unlock1 spc,tmp,tmp1 + .macro tlb_unlock1 spc,tmp #ifdef CONFIG_SMP 98: load_pa_tlb_lock \tmp 99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) - tlb_unlock0 \spc,\tmp,\tmp1 + tlb_unlock0 \spc,\tmp #endif .endm @@ -995,10 +997,17 @@ bb,<,n %r20, 31 - PSW_SM_I, intr_restore nop + /* ssm PSW_SM_I done later in intr_restore */ +#ifdef CONFIG_MLONGCALLS + ldil L%intr_restore, %r2 + load32 preempt_schedule_irq, %r1 + bv %r0(%r1) + ldo R%intr_restore(%r2), %r2 +#else + ldil L%intr_restore, %r1 BL preempt_schedule_irq, %r2 - nop - - b,n intr_restore /* ssm PSW_SM_I done by intr_restore */ + ldo R%intr_restore(%r1), %r2 +#endif #endif /* CONFIG_PREEMPTION */ /* @@ -1163,7 +1172,7 @@ idtlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1189,7 +1198,7 @@ idtlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1223,7 +1232,7 @@ mtsp t1, %sr1 /* Restore sr1 */ - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1256,7 +1265,7 @@ mtsp t1, %sr1 /* Restore sr1 */ - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1285,7 +1294,7 @@ idtlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1313,7 +1322,7 @@ idtlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1420,7 +1429,7 @@ iitlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1444,7 +1453,7 @@ iitlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1478,7 +1487,7 @@ mtsp t1, %sr1 /* Restore sr1 */ - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1502,7 +1511,7 @@ mtsp t1, %sr1 /* Restore sr1 */ - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1532,7 +1541,7 @@ iitlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1552,7 +1561,7 @@ iitlbt pte,prot - tlb_unlock1 spc,t0,t1 + tlb_unlock1 spc,t0 rfir nop @@ -1582,7 +1591,7 @@ idtlbt pte,prot - tlb_unlock0 spc,t0,t1 + tlb_unlock0 spc,t0 rfir nop #else @@ -1608,7 +1617,7 @@ mtsp t1, %sr1 /* Restore sr1 */ - tlb_unlock0 spc,t0,t1 + tlb_unlock0 spc,t0 rfir nop @@ -1628,7 +1637,7 @@ idtlbt pte,prot - tlb_unlock0 spc,t0,t1 + tlb_unlock0 spc,t0 rfir nop #endif --- linux-riscv-5.8-5.8.0.orig/arch/parisc/kernel/irq.c +++ linux-riscv-5.8-5.8.0/arch/parisc/kernel/irq.c @@ -376,7 +376,11 @@ /* * IRQ STACK - used for irq handler */ +#ifdef CONFIG_64BIT +#define IRQ_STACK_SIZE (4096 << 4) /* 64k irq stack size */ +#else #define IRQ_STACK_SIZE (4096 << 3) /* 32k irq stack size */ +#endif union irq_stack_union { unsigned long stack[IRQ_STACK_SIZE/sizeof(unsigned long)]; --- linux-riscv-5.8-5.8.0.orig/arch/parisc/kernel/syscall.S +++ linux-riscv-5.8-5.8.0/arch/parisc/kernel/syscall.S @@ -640,11 +640,7 @@ sub,<> %r28, %r25, %r0 2: stw %r24, 0(%r26) /* Free lock */ -#ifdef CONFIG_SMP -98: LDCW 0(%sr2,%r20), %r1 /* Barrier */ -99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) -#endif - stw %r20, 0(%sr2,%r20) + stw,ma %r20, 0(%sr2,%r20) #if ENABLE_LWS_DEBUG /* Clear thread register indicator */ stw %r0, 4(%sr2,%r20) @@ -658,11 +654,7 @@ 3: /* Error occurred on load or store */ /* Free lock */ -#ifdef CONFIG_SMP -98: LDCW 0(%sr2,%r20), %r1 /* Barrier */ -99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) -#endif - stw %r20, 0(%sr2,%r20) + stw,ma %r20, 0(%sr2,%r20) #if ENABLE_LWS_DEBUG stw %r0, 4(%sr2,%r20) #endif @@ -863,11 +855,7 @@ cas2_end: /* Free lock */ -#ifdef CONFIG_SMP -98: LDCW 0(%sr2,%r20), %r1 /* Barrier */ -99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) -#endif - stw %r20, 0(%sr2,%r20) + stw,ma %r20, 0(%sr2,%r20) /* Enable interrupts */ ssm PSW_SM_I, %r0 /* Return to userspace, set no error */ @@ -877,11 +865,7 @@ 22: /* Error occurred on load or store */ /* Free lock */ -#ifdef CONFIG_SMP -98: LDCW 0(%sr2,%r20), %r1 /* Barrier */ -99: ALTERNATIVE(98b, 99b, ALT_COND_NO_SMP, INSN_NOP) -#endif - stw %r20, 0(%sr2,%r20) + stw,ma %r20, 0(%sr2,%r20) ssm PSW_SM_I, %r0 ldo 1(%r0),%r28 b lws_exit --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/Kconfig +++ linux-riscv-5.8-5.8.0/arch/powerpc/Kconfig @@ -135,7 +135,7 @@ select ARCH_HAS_STRICT_KERNEL_RWX if (PPC32 && !HIBERNATION) select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_HAS_UACCESS_FLUSHCACHE - select ARCH_HAS_UACCESS_MCSAFE if PPC64 + select ARCH_HAS_COPY_MC if PPC64 select ARCH_HAS_UBSAN_SANITIZE_ALL select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_KEEP_MEMBLOCK @@ -146,6 +146,7 @@ select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF if PPC64 select ARCH_WANT_IPC_PARSE_VERSION + select ARCH_WANT_IRQS_OFF_ACTIVATE_MM select ARCH_WEAK_RELEASE_ACQUIRE select BINFMT_ELF select BUILDTIME_TABLE_SORT @@ -739,7 +740,7 @@ config PPC_256K_PAGES bool "256k page size" - depends on 44x && !STDBINUTILS + depends on 44x && !STDBINUTILS && !PPC_47x help Make the page size 256k. @@ -973,6 +974,19 @@ read/write operations on these variables. Say Y if you have secure boot enabled and want to expose variables to userspace. +config PPC_RTAS_FILTER + bool "Enable filtering of RTAS syscalls" + default y + depends on PPC_RTAS + help + The RTAS syscall API has security issues that could be used to + compromise system integrity. This option enforces restrictions on the + RTAS calls and arguments passed by userspace programs to mitigate + these issues. + + Say Y unless you know what you are doing and the filter is causing + problems for you. + endmenu config ISA_DMA_API --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/Makefile +++ linux-riscv-5.8-5.8.0/arch/powerpc/Makefile @@ -248,7 +248,6 @@ cpu-as-$(CONFIG_4xx) += -Wa,-m405 cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec) -cpu-as-$(CONFIG_E200) += -Wa,-me200 cpu-as-$(CONFIG_E500) += -Wa,-me500 # When using '-many -mpower4' gas will first try and find a matching power4 @@ -283,7 +282,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-riscv-5.8-5.8.0.orig/arch/powerpc/boot/Makefile +++ linux-riscv-5.8-5.8.0/arch/powerpc/boot/Makefile @@ -117,7 +117,7 @@ elf_util.c $(zlib-y) devtree.c stdlib.c \ oflib.c ofconsole.c cuboot.c -src-wlib-$(CONFIG_PPC_MPC52XX) += mpc52xx-psc.c +src-wlib-$(CONFIG_PPC_MPC52xx) += mpc52xx-psc.c src-wlib-$(CONFIG_PPC64_BOOT_WRAPPER) += opal-calls.S opal.c ifndef CONFIG_PPC64_BOOT_WRAPPER src-wlib-y += crtsavres.S --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/boot/serial.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/boot/serial.c @@ -128,7 +128,7 @@ dt_is_compatible(devp, "fsl,cpm2-smc-uart")) rc = cpm_console_init(devp, &serial_cd); #endif -#ifdef CONFIG_PPC_MPC52XX +#ifdef CONFIG_PPC_MPC52xx else if (dt_is_compatible(devp, "fsl,mpc5200-psc-uart")) rc = mpc5200_psc_console_init(devp, &serial_cd); #endif --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/configs/pasemi_defconfig +++ linux-riscv-5.8-5.8.0/arch/powerpc/configs/pasemi_defconfig @@ -109,7 +109,6 @@ CONFIG_FB_NVIDIA_I2C=y CONFIG_FB_RADEON=y # CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_LOGO=y CONFIG_SOUND=y CONFIG_SND=y --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/configs/ppc6xx_defconfig +++ linux-riscv-5.8-5.8.0/arch/powerpc/configs/ppc6xx_defconfig @@ -772,7 +772,6 @@ CONFIG_FB_SM501=m CONFIG_FB_IBM_GXT4500=y CONFIG_LCD_PLATFORM=m -CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_LOGO=y --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/Kbuild @@ -4,7 +4,6 @@ generated-y += syscall_table_c32.h generated-y += syscall_table_spu.h generic-y += export.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += vtime.h generic-y += early_ioremap.h --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/bitops.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/bitops.h @@ -216,15 +216,34 @@ */ static inline int fls(unsigned int x) { - return 32 - __builtin_clz(x); + int lz; + + if (__builtin_constant_p(x)) + return x ? 32 - __builtin_clz(x) : 0; + asm("cntlzw %0,%1" : "=r" (lz) : "r" (x)); + return 32 - lz; } #include +/* + * 64-bit can do this using one cntlzd (count leading zeroes doubleword) + * instruction; for 32-bit we use the generic version, which does two + * 32-bit fls calls. + */ +#ifdef CONFIG_PPC64 static inline int fls64(__u64 x) { - return 64 - __builtin_clzll(x); + int lz; + + if (__builtin_constant_p(x)) + return x ? 64 - __builtin_clzll(x) : 0; + asm("cntlzd %0,%1" : "=r" (lz) : "r" (x)); + return 64 - lz; } +#else +#include +#endif #ifdef CONFIG_PPC64 unsigned int __arch_hweight8(unsigned int w); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/book3s/32/mmu-hash.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/book3s/32/mmu-hash.h @@ -94,6 +94,7 @@ } mm_context_t; void update_bats(void); +static inline void cleanup_cpu_mmu_context(void) { }; /* patch sites */ extern s32 patch__hash_page_A0, patch__hash_page_A1, patch__hash_page_A2; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/book3s/32/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/book3s/32/pgtable.h @@ -36,8 +36,10 @@ */ #ifdef CONFIG_PTE_64BIT #define PTE_RPN_MASK (~((1ULL << PTE_RPN_SHIFT) - 1)) +#define MAX_POSSIBLE_PHYSMEM_BITS 36 #else #define PTE_RPN_MASK (~((1UL << PTE_RPN_SHIFT) - 1)) +#define MAX_POSSIBLE_PHYSMEM_BITS 32 #endif /* @@ -527,9 +529,9 @@ if (pte_val(*ptep) & _PAGE_HASHPTE) flush_hash_entry(mm, ptep, addr); __asm__ __volatile__("\ - stw%U0%X0 %2,%0\n\ + stw%X0 %2,%0\n\ eieio\n\ - stw%U0%X0 %L2,%1" + stw%X1 %L2,%1" : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) : "r" (pte) : "memory"); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/book3s/64/hash-4k.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/book3s/64/hash-4k.h @@ -13,20 +13,19 @@ */ #define MAX_EA_BITS_PER_CONTEXT 46 -#define REGION_SHIFT (MAX_EA_BITS_PER_CONTEXT - 2) /* - * Our page table limit us to 64TB. Hence for the kernel mapping, - * each MAP area is limited to 16 TB. - * The four map areas are: linear mapping, vmap, IO and vmemmap + * Our page table limit us to 64TB. For 64TB physical memory, we only need 64GB + * of vmemmap space. To better support sparse memory layout, we use 61TB + * linear map range, 1TB of vmalloc, 1TB of I/O and 1TB of vmememmap. */ +#define REGION_SHIFT (40) #define H_KERN_MAP_SIZE (ASM_CONST(1) << REGION_SHIFT) /* - * Define the address range of the kernel non-linear virtual area - * 16TB + * Define the address range of the kernel non-linear virtual area (61TB) */ -#define H_KERN_VIRT_START ASM_CONST(0xc000100000000000) +#define H_KERN_VIRT_START ASM_CONST(0xc0003d0000000000) #ifndef __ASSEMBLY__ #define H_PTE_TABLE_SIZE (sizeof(pte_t) << H_PTE_INDEX_SIZE) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/book3s/64/kup-radix.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/book3s/64/kup-radix.h @@ -27,6 +27,7 @@ #endif .endm +#ifdef CONFIG_PPC_KUAP .macro kuap_check_amr gpr1, gpr2 #ifdef CONFIG_PPC_KUAP_DEBUG BEGIN_MMU_FTR_SECTION_NESTED(67) @@ -38,6 +39,7 @@ END_MMU_FTR_SECTION_NESTED_IFSET(MMU_FTR_RADIX_KUAP, 67) #endif .endm +#endif .macro kuap_save_amr_and_lock gpr1, gpr2, use_cr, msr_pr_cr #ifdef CONFIG_PPC_KUAP @@ -61,6 +63,10 @@ #else /* !__ASSEMBLY__ */ +#include + +DECLARE_STATIC_KEY_FALSE(uaccess_flush_key); + #ifdef CONFIG_PPC_KUAP #include @@ -103,8 +109,16 @@ static inline unsigned long get_kuap(void) { + /* + * We return AMR_KUAP_BLOCKED when we don't support KUAP because + * prevent_user_access_return needs to return AMR_KUAP_BLOCKED to + * cause restore_user_access to do a flush. + * + * This has no effect in terms of actually blocking things on hash, + * so it doesn't break anything. + */ if (!early_mmu_has_feature(MMU_FTR_RADIX_KUAP)) - return 0; + return AMR_KUAP_BLOCKED; return mfspr(SPRN_AMR); } @@ -123,6 +137,29 @@ isync(); } +static inline bool +bad_kuap_fault(struct pt_regs *regs, unsigned long address, bool is_write) +{ + return WARN(mmu_has_feature(MMU_FTR_RADIX_KUAP) && + (regs->kuap & (is_write ? AMR_KUAP_BLOCK_WRITE : AMR_KUAP_BLOCK_READ)), + "Bug: %s fault blocked by AMR!", is_write ? "Write" : "Read"); +} +#else /* CONFIG_PPC_KUAP */ +static inline void kuap_restore_amr(struct pt_regs *regs, unsigned long amr) { } + +static inline unsigned long kuap_get_and_check_amr(void) +{ + return 0UL; +} + +static inline unsigned long get_kuap(void) +{ + return AMR_KUAP_BLOCKED; +} + +static inline void set_kuap(unsigned long value) { } +#endif /* !CONFIG_PPC_KUAP */ + static __always_inline void allow_user_access(void __user *to, const void __user *from, unsigned long size, unsigned long dir) { @@ -142,6 +179,8 @@ unsigned long size, unsigned long dir) { set_kuap(AMR_KUAP_BLOCKED); + if (static_branch_unlikely(&uaccess_flush_key)) + do_uaccess_flush(); } static inline unsigned long prevent_user_access_return(void) @@ -149,6 +188,8 @@ unsigned long flags = get_kuap(); set_kuap(AMR_KUAP_BLOCKED); + if (static_branch_unlikely(&uaccess_flush_key)) + do_uaccess_flush(); return flags; } @@ -156,30 +197,9 @@ static inline void restore_user_access(unsigned long flags) { set_kuap(flags); + if (static_branch_unlikely(&uaccess_flush_key) && flags == AMR_KUAP_BLOCKED) + do_uaccess_flush(); } - -static inline bool -bad_kuap_fault(struct pt_regs *regs, unsigned long address, bool is_write) -{ - return WARN(mmu_has_feature(MMU_FTR_RADIX_KUAP) && - (regs->kuap & (is_write ? AMR_KUAP_BLOCK_WRITE : AMR_KUAP_BLOCK_READ)), - "Bug: %s fault blocked by AMR!", is_write ? "Write" : "Read"); -} -#else /* CONFIG_PPC_KUAP */ -static inline void kuap_restore_amr(struct pt_regs *regs, unsigned long amr) -{ -} - -static inline void kuap_check_amr(void) -{ -} - -static inline unsigned long kuap_get_and_check_amr(void) -{ - return 0; -} -#endif /* CONFIG_PPC_KUAP */ - #endif /* __ASSEMBLY__ */ #endif /* _ASM_POWERPC_BOOK3S_64_KUP_RADIX_H */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/book3s/64/mmu.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/book3s/64/mmu.h @@ -228,14 +228,14 @@ extern void hash__setup_initial_memory_limit(phys_addr_t first_memblock_base, phys_addr_t first_memblock_size); -extern void radix__setup_initial_memory_limit(phys_addr_t first_memblock_base, - phys_addr_t first_memblock_size); static inline void setup_initial_memory_limit(phys_addr_t first_memblock_base, phys_addr_t first_memblock_size) { - if (early_radix_enabled()) - return radix__setup_initial_memory_limit(first_memblock_base, - first_memblock_size); + /* + * Hash has more strict restrictions. At this point we don't + * know which translations we will pick. Hence go with hash + * restrictions. + */ return hash__setup_initial_memory_limit(first_memblock_base, first_memblock_size); } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/code-patching.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/code-patching.h @@ -73,7 +73,7 @@ #endif #define OP_RT_RA_MASK 0xffff0000UL -#define LIS_R2 0x3c020000UL +#define LIS_R2 0x3c400000UL #define ADDIS_R2_R12 0x3c4c0000UL #define ADDI_R2_R2 0x38420000UL --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/cpm1.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/cpm1.h @@ -68,6 +68,7 @@ #define PROFF_SPI ((uint)0x0180) #define PROFF_SCC3 ((uint)0x0200) #define PROFF_SMC1 ((uint)0x0280) +#define PROFF_DSP1 ((uint)0x02c0) #define PROFF_SCC4 ((uint)0x0300) #define PROFF_SMC2 ((uint)0x0380) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/cpu_has_feature.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/cpu_has_feature.h @@ -7,7 +7,7 @@ #include #include -static inline bool early_cpu_has_feature(unsigned long feature) +static __always_inline bool early_cpu_has_feature(unsigned long feature) { return !!((CPU_FTRS_ALWAYS & feature) || (CPU_FTRS_POSSIBLE & cur_cpu_spec->cpu_features & feature)); @@ -46,7 +46,7 @@ return static_branch_likely(&cpu_feature_keys[i]); } #else -static inline bool cpu_has_feature(unsigned long feature) +static __always_inline bool cpu_has_feature(unsigned long feature) { return early_cpu_has_feature(feature); } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/cputable.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/cputable.h @@ -369,7 +369,7 @@ CPU_FTR_PPC_LE | CPU_FTR_NEED_PAIRED_STWCX) #define CPU_FTRS_82XX (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_NOEXECUTE) #define CPU_FTRS_G2_LE (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | \ - CPU_FTR_MAYBE_CAN_NAP) + CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NOEXECUTE) #define CPU_FTRS_E300 (CPU_FTR_MAYBE_CAN_DOZE | \ CPU_FTR_MAYBE_CAN_NAP | \ CPU_FTR_COMMON | CPU_FTR_NOEXECUTE) @@ -409,7 +409,6 @@ CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \ CPU_FTR_DEBUG_LVL_EXC | CPU_FTR_EMB_HV | CPU_FTR_ALTIVEC_COMP | \ CPU_FTR_CELL_TB_BUG | CPU_FTR_SMT) -#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN) /* 64-bit CPUs */ #define CPU_FTRS_PPC970 (CPU_FTR_LWSYNC | \ @@ -522,8 +521,6 @@ CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX | CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 | CPU_FTRS_CLASSIC32 | -#else - CPU_FTRS_GENERIC_32 | #endif #ifdef CONFIG_PPC_8xx CPU_FTRS_8XX | @@ -600,8 +597,6 @@ CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX & CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 & CPU_FTRS_CLASSIC32 & -#else - CPU_FTRS_GENERIC_32 & #endif #ifdef CONFIG_PPC_8xx CPU_FTRS_8XX & --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/cputhreads.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/cputhreads.h @@ -3,6 +3,7 @@ #define _ASM_POWERPC_CPUTHREADS_H #ifndef __ASSEMBLY__ +#include #include #include --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/dcr-native.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/dcr-native.h @@ -53,8 +53,8 @@ #define mfdcr(rn) \ ({unsigned int rval; \ if (__builtin_constant_p(rn) && rn < 1024) \ - asm volatile("mfdcr %0," __stringify(rn) \ - : "=r" (rval)); \ + asm volatile("mfdcr %0, %1" : "=r" (rval) \ + : "n" (rn)); \ else if (likely(cpu_has_feature(CPU_FTR_INDEXED_DCR))) \ rval = mfdcrx(rn); \ else \ @@ -64,8 +64,8 @@ #define mtdcr(rn, v) \ do { \ if (__builtin_constant_p(rn) && rn < 1024) \ - asm volatile("mtdcr " __stringify(rn) ",%0" \ - : : "r" (v)); \ + asm volatile("mtdcr %0, %1" \ + : : "n" (rn), "r" (v)); \ else if (likely(cpu_has_feature(CPU_FTR_INDEXED_DCR))) \ mtdcrx(rn, v); \ else \ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/drmem.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/drmem.h @@ -8,26 +8,39 @@ #ifndef _ASM_POWERPC_LMB_H #define _ASM_POWERPC_LMB_H +#include + struct drmem_lmb { u64 base_addr; u32 drc_index; u32 aa_index; u32 flags; -#ifdef CONFIG_MEMORY_HOTPLUG - int nid; -#endif }; struct drmem_lmb_info { struct drmem_lmb *lmbs; int n_lmbs; - u32 lmb_size; + u64 lmb_size; }; extern struct drmem_lmb_info *drmem_info; +static inline struct drmem_lmb *drmem_lmb_next(struct drmem_lmb *lmb, + const struct drmem_lmb *start) +{ + /* + * DLPAR code paths can take several milliseconds per element + * when interacting with firmware. Ensure that we don't + * unfairly monopolize the CPU. + */ + if (((++lmb - start) % 16) == 0) + cond_resched(); + + return lmb; +} + #define for_each_drmem_lmb_in_range(lmb, start, end) \ - for ((lmb) = (start); (lmb) < (end); (lmb)++) + for ((lmb) = (start); (lmb) < (end); lmb = drmem_lmb_next(lmb, start)) #define for_each_drmem_lmb(lmb) \ for_each_drmem_lmb_in_range((lmb), \ @@ -67,7 +80,7 @@ #define DRCONF_MEM_RESERVED 0x00000080 #define DRCONF_MEM_HOTREMOVABLE 0x00000100 -static inline u32 drmem_lmb_size(void) +static inline u64 drmem_lmb_size(void) { return drmem_info->lmb_size; } @@ -104,22 +117,4 @@ lmb->aa_index = 0xffffffff; } -#ifdef CONFIG_MEMORY_HOTPLUG -static inline void lmb_set_nid(struct drmem_lmb *lmb) -{ - lmb->nid = memory_add_physaddr_to_nid(lmb->base_addr); -} -static inline void lmb_clear_nid(struct drmem_lmb *lmb) -{ - lmb->nid = -1; -} -#else -static inline void lmb_set_nid(struct drmem_lmb *lmb) -{ -} -static inline void lmb_clear_nid(struct drmem_lmb *lmb) -{ -} -#endif - #endif /* _ASM_POWERPC_LMB_H */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/exception-64s.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/exception-64s.h @@ -57,11 +57,18 @@ nop; \ nop +#define ENTRY_FLUSH_SLOT \ + ENTRY_FLUSH_FIXUP_SECTION; \ + nop; \ + nop; \ + nop; + /* * r10 must be free to use, r13 must be paca */ #define INTERRUPT_TO_KERNEL \ - STF_ENTRY_BARRIER_SLOT + STF_ENTRY_BARRIER_SLOT; \ + ENTRY_FLUSH_SLOT /* * Macros for annotating the expected destination of (h)rfid @@ -123,6 +130,9 @@ hrfid; \ b hrfi_flush_fallback +#else /* __ASSEMBLY__ */ +/* Prototype for function defined in exceptions-64s.S */ +void do_uaccess_flush(void); #endif /* __ASSEMBLY__ */ #endif /* _ASM_POWERPC_EXCEPTION_H */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/feature-fixups.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/feature-fixups.h @@ -205,6 +205,22 @@ FTR_ENTRY_OFFSET 955b-956b; \ .popsection; +#define UACCESS_FLUSH_FIXUP_SECTION \ +959: \ + .pushsection __uaccess_flush_fixup,"a"; \ + .align 2; \ +960: \ + FTR_ENTRY_OFFSET 959b-960b; \ + .popsection; + +#define ENTRY_FLUSH_FIXUP_SECTION \ +957: \ + .pushsection __entry_flush_fixup,"a"; \ + .align 2; \ +958: \ + FTR_ENTRY_OFFSET 957b-958b; \ + .popsection; + #define RFI_FLUSH_FIXUP_SECTION \ 951: \ .pushsection __rfi_flush_fixup,"a"; \ @@ -237,8 +253,11 @@ #include extern long stf_barrier_fallback; +extern long entry_flush_fallback; extern long __start___stf_entry_barrier_fixup, __stop___stf_entry_barrier_fixup; extern long __start___stf_exit_barrier_fixup, __stop___stf_exit_barrier_fixup; +extern long __start___uaccess_flush_fixup, __stop___uaccess_flush_fixup; +extern long __start___entry_flush_fixup, __stop___entry_flush_fixup; extern long __start___rfi_flush_fixup, __stop___rfi_flush_fixup; extern long __start___barrier_nospec_fixup, __stop___barrier_nospec_fixup; extern long __start__btb_flush_fixup, __stop__btb_flush_fixup; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/fixmap.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/fixmap.h @@ -52,7 +52,7 @@ FIX_HOLE, /* reserve the top 128K for early debugging purposes */ FIX_EARLY_DEBUG_TOP = FIX_HOLE, - FIX_EARLY_DEBUG_BASE = FIX_EARLY_DEBUG_TOP+((128*1024)/PAGE_SIZE)-1, + FIX_EARLY_DEBUG_BASE = FIX_EARLY_DEBUG_TOP+(ALIGN(SZ_128K, PAGE_SIZE)/PAGE_SIZE)-1, #ifdef CONFIG_HIGHMEM FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/hw_breakpoint.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/hw_breakpoint.h @@ -40,6 +40,7 @@ #else #define HW_BREAKPOINT_SIZE 0x8 #endif +#define HW_BREAKPOINT_SIZE_QUADWORD 0x10 #define DABR_MAX_LEN 8 #define DAWR_MAX_LEN 512 --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/kasan.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/kasan.h @@ -27,10 +27,12 @@ #ifdef CONFIG_KASAN void kasan_early_init(void); +void kasan_mmu_init(void); void kasan_init(void); void kasan_late_init(void); #else static inline void kasan_init(void) { } +static inline void kasan_mmu_init(void) { } static inline void kasan_late_init(void) { } #endif --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/kup.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/kup.h @@ -14,7 +14,7 @@ #define KUAP_CURRENT_WRITE 8 #define KUAP_CURRENT (KUAP_CURRENT_READ | KUAP_CURRENT_WRITE) -#ifdef CONFIG_PPC64 +#ifdef CONFIG_PPC_BOOK3S_64 #include #endif #ifdef CONFIG_PPC_8xx @@ -35,6 +35,9 @@ .macro kuap_check current, gpr .endm +.macro kuap_check_amr gpr1, gpr2 +.endm + #endif #else /* !__ASSEMBLY__ */ @@ -53,17 +56,28 @@ void setup_kuap(bool disabled); #else static inline void setup_kuap(bool disabled) { } + +static inline bool +bad_kuap_fault(struct pt_regs *regs, unsigned long address, bool is_write) +{ + return false; +} + +static inline void kuap_check_amr(void) { } + +/* + * book3s/64/kup-radix.h defines these functions for the !KUAP case to flush + * the L1D cache after user accesses. Only include the empty stubs for other + * platforms. + */ +#ifndef CONFIG_PPC_BOOK3S_64 static inline void allow_user_access(void __user *to, const void __user *from, unsigned long size, unsigned long dir) { } static inline void prevent_user_access(void __user *to, const void __user *from, unsigned long size, unsigned long dir) { } static inline unsigned long prevent_user_access_return(void) { return 0UL; } static inline void restore_user_access(unsigned long flags) { } -static inline bool -bad_kuap_fault(struct pt_regs *regs, unsigned long address, bool is_write) -{ - return false; -} +#endif /* CONFIG_PPC_BOOK3S_64 */ #endif /* CONFIG_PPC_KUAP */ static inline void allow_read_from_user(const void __user *from, unsigned long size) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/kvm_host.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/kvm_host.h @@ -58,7 +58,8 @@ #define KVM_ARCH_WANT_MMU_NOTIFIER extern int kvm_unmap_hva_range(struct kvm *kvm, - unsigned long start, unsigned long end); + unsigned long start, unsigned long end, + unsigned flags); extern int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end); extern int kvm_test_age_hva(struct kvm *kvm, unsigned long hva); extern int kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/machdep.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/machdep.h @@ -59,6 +59,9 @@ int (*pcibios_root_bridge_prepare)(struct pci_host_bridge *bridge); + /* finds all the pci_controllers present at boot */ + void (*discover_phbs)(void); + /* To setup PHBs when using automatic OF platform driver for PCI */ int (*pci_setup_phb)(struct pci_controller *host); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/mmu_context.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/mmu_context.h @@ -246,7 +246,7 @@ */ static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next) { - switch_mm(prev, next, current); + switch_mm_irqs_off(prev, next, current); } /* We don't currently use enter_lazy_tlb() for anything */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/nohash/32/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/nohash/32/pgtable.h @@ -153,8 +153,10 @@ */ #if defined(CONFIG_PPC32) && defined(CONFIG_PTE_64BIT) #define PTE_RPN_MASK (~((1ULL << PTE_RPN_SHIFT) - 1)) +#define MAX_POSSIBLE_PHYSMEM_BITS 36 #else #define PTE_RPN_MASK (~((1UL << PTE_RPN_SHIFT) - 1)) +#define MAX_POSSIBLE_PHYSMEM_BITS 32 #endif /* --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/nohash/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/nohash/pgtable.h @@ -197,9 +197,9 @@ */ if (IS_ENABLED(CONFIG_PPC32) && IS_ENABLED(CONFIG_PTE_64BIT) && !percpu) { __asm__ __volatile__("\ - stw%U0%X0 %2,%0\n\ + stw%X0 %2,%0\n\ eieio\n\ - stw%U0%X0 %L2,%1" + stw%X1 %L2,%1" : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) : "r" (pte) : "memory"); return; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/percpu.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/percpu.h @@ -10,8 +10,6 @@ #ifdef CONFIG_SMP -#include - #define __my_cpu_offset local_paca->data_offset #endif /* CONFIG_SMP */ @@ -19,4 +17,6 @@ #include +#include + #endif /* _ASM_POWERPC_PERCPU_H_ */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/perf_event.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/perf_event.h @@ -12,6 +12,8 @@ #ifdef CONFIG_PPC_PERF_CTRS #include +#else +static inline bool is_sier_available(void) { return false; } #endif #ifdef CONFIG_FSL_EMB_PERF_EVENT --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/ptrace.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/ptrace.h @@ -62,6 +62,9 @@ }; #endif + +#define STACK_FRAME_WITH_PT_REGS (STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)) + #ifdef __powerpc64__ /* @@ -190,7 +193,7 @@ #define TRAP_FLAGS_MASK 0x11 #define TRAP(regs) ((regs)->trap & ~TRAP_FLAGS_MASK) #define FULL_REGS(regs) (((regs)->trap & 1) == 0) -#define SET_FULL_REGS(regs) ((regs)->trap |= 1) +#define SET_FULL_REGS(regs) ((regs)->trap &= ~1) #endif #define CHECK_FULL_REGS(regs) BUG_ON(!FULL_REGS(regs)) #define NV_REG_POISON 0xdeadbeefdeadbeefUL @@ -205,7 +208,7 @@ #define TRAP_FLAGS_MASK 0x1F #define TRAP(regs) ((regs)->trap & ~TRAP_FLAGS_MASK) #define FULL_REGS(regs) (((regs)->trap & 1) == 0) -#define SET_FULL_REGS(regs) ((regs)->trap |= 1) +#define SET_FULL_REGS(regs) ((regs)->trap &= ~1) #define IS_CRITICAL_EXC(regs) (((regs)->trap & 2) != 0) #define IS_MCHECK_EXC(regs) (((regs)->trap & 4) != 0) #define IS_DEBUG_EXC(regs) (((regs)->trap & 8) != 0) @@ -238,7 +241,7 @@ } #define arch_has_single_step() (1) -#ifndef CONFIG_BOOK3S_601 +#ifndef CONFIG_PPC_BOOK3S_601 #define arch_has_block_step() (true) #else #define arch_has_block_step() (false) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/reg.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/reg.h @@ -815,7 +815,7 @@ #define THRM1_TIN (1 << 31) #define THRM1_TIV (1 << 30) #define THRM1_THRES(x) ((x&0x7f)<<23) -#define THRM3_SITV(x) ((x&0x3fff)<<1) +#define THRM3_SITV(x) ((x & 0x1fff) << 1) #define THRM1_TID (1<<2) #define THRM1_TIE (1<<1) #define THRM1_V (1<<0) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/rtas.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/rtas.h @@ -253,8 +253,6 @@ extern void rtas_progress(char *s, unsigned short hex); extern int rtas_suspend_cpu(struct rtas_suspend_me_data *data); extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data); -extern int rtas_online_cpus_mask(cpumask_var_t cpus); -extern int rtas_offline_cpus_mask(cpumask_var_t cpus); extern int rtas_ibm_suspend_me(u64 handle); struct rtc_time; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/security_features.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/security_features.h @@ -84,12 +84,19 @@ // Software required to flush link stack on context switch #define SEC_FTR_FLUSH_LINK_STACK 0x0000000000001000ull +// The L1-D cache should be flushed when entering the kernel +#define SEC_FTR_L1D_FLUSH_ENTRY 0x0000000000004000ull + +// The L1-D cache should be flushed after user accesses from the kernel +#define SEC_FTR_L1D_FLUSH_UACCESS 0x0000000000008000ull // Features enabled by default #define SEC_FTR_DEFAULT \ (SEC_FTR_L1D_FLUSH_HV | \ SEC_FTR_L1D_FLUSH_PR | \ SEC_FTR_BNDS_CHK_SPEC_BAR | \ + SEC_FTR_L1D_FLUSH_ENTRY | \ + SEC_FTR_L1D_FLUSH_UACCESS | \ SEC_FTR_FAVOUR_SECURITY) #endif /* _ASM_POWERPC_SECURITY_FEATURES_H */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/setup.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/setup.h @@ -52,12 +52,16 @@ }; void setup_rfi_flush(enum l1d_flush_type, bool enable); +void setup_entry_flush(bool enable); +void setup_uaccess_flush(bool enable); void do_rfi_flush_fixups(enum l1d_flush_type types); #ifdef CONFIG_PPC_BARRIER_NOSPEC void setup_barrier_nospec(void); #else static inline void setup_barrier_nospec(void) { }; #endif +void do_uaccess_flush_fixups(enum l1d_flush_type types); +void do_entry_flush_fixups(enum l1d_flush_type types); void do_barrier_nospec_fixups(bool enable); extern bool barrier_nospec_enabled; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/string.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/string.h @@ -53,9 +53,7 @@ #ifndef CONFIG_KASAN #define __HAVE_ARCH_MEMSET32 #define __HAVE_ARCH_MEMSET64 -#define __HAVE_ARCH_MEMCPY_MCSAFE -extern int memcpy_mcsafe(void *dst, const void *src, __kernel_size_t sz); extern void *__memset16(uint16_t *, uint16_t v, __kernel_size_t); extern void *__memset32(uint32_t *, uint32_t v, __kernel_size_t); extern void *__memset64(uint64_t *, uint64_t v, __kernel_size_t); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/svm.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/svm.h @@ -15,6 +15,8 @@ return mfmsr() & MSR_S; } +void __init svm_swiotlb_init(void); + void dtl_cache_ctor(void *addr); #define get_dtl_cache_ctor() (is_secure_guest() ? dtl_cache_ctor : NULL) @@ -25,6 +27,8 @@ return false; } +static inline void svm_swiotlb_init(void) {} + #define get_dtl_cache_ctor() NULL #endif /* CONFIG_PPC_SVM */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/switch_to.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/switch_to.h @@ -71,6 +71,16 @@ { msr_check_and_clear(MSR_FP|MSR_VEC|MSR_VSX); } +#else +static inline void enable_kernel_vsx(void) +{ + BUILD_BUG(); +} + +static inline void disable_kernel_vsx(void) +{ + BUILD_BUG(); +} #endif #ifdef CONFIG_SPE --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/timex.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/timex.h @@ -17,7 +17,7 @@ static inline cycles_t get_cycles(void) { - if (IS_ENABLED(CONFIG_BOOK3S_601)) + if (IS_ENABLED(CONFIG_PPC_BOOK3S_601)) return 0; return mftb(); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/tlb.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/tlb.h @@ -67,19 +67,6 @@ return false; return cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm)); } -static inline void mm_reset_thread_local(struct mm_struct *mm) -{ - WARN_ON(atomic_read(&mm->context.copros) > 0); - /* - * It's possible for mm_access to take a reference on mm_users to - * access the remote mm from another thread, but it's not allowed - * to set mm_cpumask, so mm_users may be > 1 here. - */ - WARN_ON(current->mm != mm); - atomic_set(&mm->context.active_cpus, 1); - cpumask_clear(mm_cpumask(mm)); - cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm)); -} #else /* CONFIG_PPC_BOOK3S_64 */ static inline int mm_is_thread_local(struct mm_struct *mm) { --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/include/asm/uaccess.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/include/asm/uaccess.h @@ -289,8 +289,6 @@ #define __put_user_nocheck_goto(x, ptr, size, label) \ do { \ __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ - if (!is_kernel_addr((unsigned long)__pu_addr)) \ - might_fault(); \ __chk_user_ptr(ptr); \ __put_user_size_goto((x), __pu_addr, (size), label); \ } while (0) @@ -386,7 +384,7 @@ __typeof__(size) __gu_size = (size); \ \ __chk_user_ptr(__gu_addr); \ - if (!is_kernel_addr((unsigned long)__gu_addr)) \ + if (do_allow && !is_kernel_addr((unsigned long)__gu_addr)) \ might_fault(); \ barrier_nospec(); \ if (do_allow) \ @@ -436,6 +434,32 @@ extern unsigned long __copy_tofrom_user(void __user *to, const void __user *from, unsigned long size); +#ifdef CONFIG_ARCH_HAS_COPY_MC +unsigned long __must_check +copy_mc_generic(void *to, const void *from, unsigned long size); + +static inline unsigned long __must_check +copy_mc_to_kernel(void *to, const void *from, unsigned long size) +{ + return copy_mc_generic(to, from, size); +} +#define copy_mc_to_kernel copy_mc_to_kernel + +static inline unsigned long __must_check +copy_mc_to_user(void __user *to, const void *from, unsigned long n) +{ + if (likely(check_copy_size(from, n, true))) { + if (access_ok(to, n)) { + allow_write_to_user(to, n); + n = copy_mc_generic((void *)to, from, n); + prevent_write_to_user(to, n); + } + } + + return n; +} +#endif + #ifdef __powerpc64__ static inline unsigned long raw_copy_in_user(void __user *to, const void __user *from, unsigned long n) @@ -524,20 +548,6 @@ return ret; } -static __always_inline unsigned long __must_check -copy_to_user_mcsafe(void __user *to, const void *from, unsigned long n) -{ - if (likely(check_copy_size(from, n, true))) { - if (access_ok(to, n)) { - allow_write_to_user(to, n); - n = memcpy_mcsafe((void *)to, from, n); - prevent_write_to_user(to, n); - } - } - - return n; -} - unsigned long __arch_clear_user(void __user *addr, unsigned long size); static inline unsigned long clear_user(void __user *addr, unsigned long size) @@ -569,6 +579,9 @@ { if (unlikely(!access_ok(ptr, len))) return false; + + might_fault(); + allow_read_write_user((void __user *)ptr, ptr, len); return true; } @@ -582,6 +595,9 @@ { if (unlikely(!access_ok(ptr, len))) return false; + + might_fault(); + allow_read_from_user(ptr, len); return true; } @@ -593,6 +609,9 @@ { if (unlikely(!access_ok(ptr, len))) return false; + + might_fault(); + allow_write_to_user((void __user *)ptr, len); return true; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/Makefile +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/Makefile @@ -172,6 +172,9 @@ KCOV_INSTRUMENT_setup_64.o := n KCOV_INSTRUMENT_paca.o := n +CFLAGS_setup_64.o += -fno-stack-protector +CFLAGS_paca.o += -fno-stack-protector + extra-$(CONFIG_PPC_FPU) += fpu.o extra-$(CONFIG_ALTIVEC) += vector.o extra-$(CONFIG_PPC64) += entry_64.o --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/asm-offsets.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/asm-offsets.c @@ -306,7 +306,7 @@ /* Interrupt register frame */ DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE); - DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)); + DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_WITH_PT_REGS); STACK_PT_REGS_OFFSET(GPR0, gpr[0]); STACK_PT_REGS_OFFSET(GPR1, gpr[1]); STACK_PT_REGS_OFFSET(GPR2, gpr[2]); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/dma-iommu.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/dma-iommu.c @@ -160,7 +160,8 @@ return bypass_mask; } - mask = 1ULL < (fls_long(tbl->it_offset + tbl->it_size) - 1); + mask = 1ULL << (fls_long(tbl->it_offset + tbl->it_size) + + tbl->it_page_shift - 1); mask += mask - 1; return mask; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/eeh_cache.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/eeh_cache.c @@ -264,8 +264,9 @@ { struct pci_io_addr_range *piar; struct rb_node *n; + unsigned long flags; - spin_lock(&pci_io_addr_cache_root.piar_lock); + spin_lock_irqsave(&pci_io_addr_cache_root.piar_lock, flags); for (n = rb_first(&pci_io_addr_cache_root.rb_root); n; n = rb_next(n)) { piar = rb_entry(n, struct pci_io_addr_range, rb_node); @@ -273,7 +274,7 @@ (piar->flags & IORESOURCE_IO) ? "i/o" : "mem", &piar->addr_lo, &piar->addr_hi, pci_name(piar->pcidev)); } - spin_unlock(&pci_io_addr_cache_root.piar_lock); + spin_unlock_irqrestore(&pci_io_addr_cache_root.piar_lock, flags); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/entry_32.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/entry_32.S @@ -344,6 +344,9 @@ .globl transfer_to_syscall transfer_to_syscall: +#ifdef CONFIG_PPC_BOOK3S_32 + kuep_lock r11, r12 +#endif #ifdef CONFIG_TRACE_IRQFLAGS andi. r12,r9,MSR_EE beq- trace_syscall_entry_irq_off --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/exceptions-64s.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/exceptions-64s.S @@ -470,7 +470,7 @@ ld r10,PACAKMSR(r13) /* get MSR value for kernel */ /* MSR[RI] is clear iff using SRR regs */ - .if IHSRR == EXC_HV_OR_STD + .if IHSRR_IF_HVMODE BEGIN_FTR_SECTION xori r10,r10,MSR_RI END_FTR_SECTION_IFCLR(CPU_FTR_HVMODE) @@ -910,8 +910,6 @@ * Vectors for the FWNMI option. Share common code. */ TRAMP_REAL_BEGIN(system_reset_fwnmi) - /* XXX: fwnmi guest could run a nested/PR guest, so why no test? */ - __IKVM_REAL(system_reset)=0 GEN_INT_ENTRY system_reset, virt=0 #endif /* CONFIG_PPC_PSERIES */ @@ -1322,6 +1320,11 @@ * If none is found, do a Linux page fault. Linux page faults can happen in * kernel mode due to user copy operations of course. * + * KVM: The KVM HDSI handler may perform a load with MSR[DR]=1 in guest + * MMU context, which may cause a DSI in the host, which must go to the + * KVM handler. MSR[IR] is not enabled, so the real-mode handler will + * always be used regardless of AIL setting. + * * - Radix MMU * The hardware loads from the Linux page table directly, so a fault goes * immediately to Linux page fault. @@ -1332,10 +1335,8 @@ IVEC=0x300 IDAR=1 IDSISR=1 -#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE IKVM_SKIP=1 IKVM_REAL=1 -#endif INT_DEFINE_END(data_access) EXC_REAL_BEGIN(data_access, 0x300, 0x80) @@ -1374,6 +1375,8 @@ * ppc64_bolted_size (first segment). The kernel handler must avoid stomping * on user-handler data structures. * + * KVM: Same as 0x300, DSLB must test for KVM guest. + * * A dedicated save area EXSLB is used (XXX: but it actually need not be * these days, we could use EXGEN). */ @@ -1382,10 +1385,8 @@ IAREA=PACA_EXSLB IRECONCILE=0 IDAR=1 -#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE IKVM_SKIP=1 IKVM_REAL=1 -#endif INT_DEFINE_END(data_access_slb) EXC_REAL_BEGIN(data_access_slb, 0x380, 0x80) @@ -2860,15 +2861,8 @@ .endr blr -TRAMP_REAL_BEGIN(rfi_flush_fallback) - SET_SCRATCH0(r13); - GET_PACA(r13); - std r1,PACA_EXRFI+EX_R12(r13) - ld r1,PACAKSAVE(r13) - std r9,PACA_EXRFI+EX_R9(r13) - std r10,PACA_EXRFI+EX_R10(r13) - std r11,PACA_EXRFI+EX_R11(r13) - mfctr r9 +/* Clobbers r10, r11, ctr */ +.macro L1D_DISPLACEMENT_FLUSH ld r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13) ld r11,PACA_L1D_FLUSH_SIZE(r13) srdi r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */ @@ -2879,7 +2873,7 @@ sync /* - * The load adresses are at staggered offsets within cachelines, + * The load addresses are at staggered offsets within cachelines, * which suits some pipelines better (on others it should not * hurt). */ @@ -2894,7 +2888,30 @@ ld r11,(0x80 + 8)*7(r10) addi r10,r10,0x80*8 bdnz 1b +.endm +TRAMP_REAL_BEGIN(entry_flush_fallback) + std r9,PACA_EXRFI+EX_R9(r13) + std r10,PACA_EXRFI+EX_R10(r13) + std r11,PACA_EXRFI+EX_R11(r13) + mfctr r9 + L1D_DISPLACEMENT_FLUSH + mtctr r9 + ld r9,PACA_EXRFI+EX_R9(r13) + ld r10,PACA_EXRFI+EX_R10(r13) + ld r11,PACA_EXRFI+EX_R11(r13) + blr + +TRAMP_REAL_BEGIN(rfi_flush_fallback) + SET_SCRATCH0(r13); + GET_PACA(r13); + std r1,PACA_EXRFI+EX_R12(r13) + ld r1,PACAKSAVE(r13) + std r9,PACA_EXRFI+EX_R9(r13) + std r10,PACA_EXRFI+EX_R10(r13) + std r11,PACA_EXRFI+EX_R11(r13) + mfctr r9 + L1D_DISPLACEMENT_FLUSH mtctr r9 ld r9,PACA_EXRFI+EX_R9(r13) ld r10,PACA_EXRFI+EX_R10(r13) @@ -2912,32 +2929,7 @@ std r10,PACA_EXRFI+EX_R10(r13) std r11,PACA_EXRFI+EX_R11(r13) mfctr r9 - ld r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13) - ld r11,PACA_L1D_FLUSH_SIZE(r13) - srdi r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */ - mtctr r11 - DCBT_BOOK3S_STOP_ALL_STREAM_IDS(r11) /* Stop prefetch streams */ - - /* order ld/st prior to dcbt stop all streams with flushing */ - sync - - /* - * The load adresses are at staggered offsets within cachelines, - * which suits some pipelines better (on others it should not - * hurt). - */ -1: - ld r11,(0x80 + 8)*0(r10) - ld r11,(0x80 + 8)*1(r10) - ld r11,(0x80 + 8)*2(r10) - ld r11,(0x80 + 8)*3(r10) - ld r11,(0x80 + 8)*4(r10) - ld r11,(0x80 + 8)*5(r10) - ld r11,(0x80 + 8)*6(r10) - ld r11,(0x80 + 8)*7(r10) - addi r10,r10,0x80*8 - bdnz 1b - + L1D_DISPLACEMENT_FLUSH mtctr r9 ld r9,PACA_EXRFI+EX_R9(r13) ld r10,PACA_EXRFI+EX_R10(r13) @@ -2947,8 +2939,21 @@ hrfid USE_TEXT_SECTION() - MASKED_INTERRUPT - MASKED_INTERRUPT hsrr=1 + +_GLOBAL(do_uaccess_flush) + UACCESS_FLUSH_FIXUP_SECTION + nop + nop + nop + blr + L1D_DISPLACEMENT_FLUSH + blr +_ASM_NOKPROBE_SYMBOL(do_uaccess_flush) +EXPORT_SYMBOL(do_uaccess_flush) + + +MASKED_INTERRUPT +MASKED_INTERRUPT hsrr=1 #ifdef CONFIG_KVM_BOOK3S_64_HANDLER kvmppc_skip_interrupt: --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/head_32.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/head_32.S @@ -274,14 +274,8 @@ DO_KVM 0x200 MachineCheck: EXCEPTION_PROLOG_0 -#ifdef CONFIG_VMAP_STACK - li r11, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ - mtmsr r11 - isync -#endif #ifdef CONFIG_PPC_CHRP mfspr r11, SPRN_SPRG_THREAD - tovirt_vmstack r11, r11 lwz r11, RTAS_SP(r11) cmpwi cr1, r11, 0 bne cr1, 7f @@ -478,14 +472,11 @@ cmplw 0,r1,r3 #endif mfspr r2, SPRN_SPRG_PGDIR -#ifdef CONFIG_SWAP - li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC -#else - li r1,_PAGE_PRESENT | _PAGE_EXEC -#endif + li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | _PAGE_USER #if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) bge- 112f lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ + li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */ #endif 112: rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */ @@ -544,13 +535,10 @@ lis r1,PAGE_OFFSET@h /* check if kernel address */ cmplw 0,r1,r3 mfspr r2, SPRN_SPRG_PGDIR -#ifdef CONFIG_SWAP - li r1, _PAGE_PRESENT | _PAGE_ACCESSED -#else - li r1, _PAGE_PRESENT -#endif + li r1, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_USER bge- 112f lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ + li r1, _PAGE_PRESENT | _PAGE_ACCESSED addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */ 112: rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */ lwz r2,0(r2) /* get pmd entry */ @@ -624,13 +612,10 @@ lis r1,PAGE_OFFSET@h /* check if kernel address */ cmplw 0,r1,r3 mfspr r2, SPRN_SPRG_PGDIR -#ifdef CONFIG_SWAP - li r1, _PAGE_RW | _PAGE_DIRTY | _PAGE_PRESENT | _PAGE_ACCESSED -#else - li r1, _PAGE_RW | _PAGE_DIRTY | _PAGE_PRESENT -#endif + li r1, _PAGE_RW | _PAGE_DIRTY | _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_USER bge- 112f lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ + li r1, _PAGE_RW | _PAGE_DIRTY | _PAGE_PRESENT | _PAGE_ACCESSED addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */ 112: rlwimi r2,r3,12,20,29 /* insert top 10 bits of address */ lwz r2,0(r2) /* get pmd entry */ @@ -998,7 +983,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_HIGH_BATS) blr -load_segment_registers: +_GLOBAL(load_segment_registers) li r0, NUM_USER_SEGMENTS /* load up user segment register values */ mtctr r0 /* for context 0 */ li r3, 0 /* Kp = 0, Ks = 0, VSID = 0 */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/head_32.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/head_32.h @@ -40,48 +40,52 @@ .macro EXCEPTION_PROLOG_1 for_rtas=0 #ifdef CONFIG_VMAP_STACK - .ifeq \for_rtas - li r11, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ - mtmsr r11 - isync - .endif - subi r11, r1, INT_FRAME_SIZE /* use r1 if kernel */ + mr r11, r1 + subi r1, r1, INT_FRAME_SIZE /* use r1 if kernel */ + beq 1f + mfspr r1,SPRN_SPRG_THREAD + lwz r1,TASK_STACK-THREAD(r1) + addi r1, r1, THREAD_SIZE - INT_FRAME_SIZE #else - tophys(r11,r1) /* use tophys(r1) if kernel */ - subi r11, r11, INT_FRAME_SIZE /* alloc exc. frame */ -#endif + subi r11, r1, INT_FRAME_SIZE /* use r1 if kernel */ beq 1f mfspr r11,SPRN_SPRG_THREAD - tovirt_vmstack r11, r11 lwz r11,TASK_STACK-THREAD(r11) addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE - tophys_novmstack r11, r11 +#endif 1: + tophys_novmstack r11, r11 #ifdef CONFIG_VMAP_STACK - mtcrf 0x7f, r11 + mtcrf 0x7f, r1 bt 32 - THREAD_ALIGN_SHIFT, stack_overflow #endif .endm .macro EXCEPTION_PROLOG_2 handle_dar_dsisr=0 -#if defined(CONFIG_VMAP_STACK) && defined(CONFIG_PPC_BOOK3S) -BEGIN_MMU_FTR_SECTION +#ifdef CONFIG_VMAP_STACK mtcr r10 -FTR_SECTION_ELSE - stw r10, _CCR(r11) -ALT_MMU_FTR_SECTION_END_IFSET(MMU_FTR_HPTE_TABLE) + li r10, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ + mtmsr r10 + isync #else stw r10,_CCR(r11) /* save registers */ #endif mfspr r10, SPRN_SPRG_SCRATCH0 +#ifdef CONFIG_VMAP_STACK + stw r11,GPR1(r1) + stw r11,0(r1) + mr r11, r1 +#else + stw r1,GPR1(r11) + stw r1,0(r11) + tovirt(r1, r11) /* set new kernel sp */ +#endif stw r12,GPR12(r11) stw r9,GPR9(r11) stw r10,GPR10(r11) -#if defined(CONFIG_VMAP_STACK) && defined(CONFIG_PPC_BOOK3S) -BEGIN_MMU_FTR_SECTION +#ifdef CONFIG_VMAP_STACK mfcr r10 stw r10, _CCR(r11) -END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE) #endif mfspr r12,SPRN_SPRG_SCRATCH1 stw r12,GPR11(r11) @@ -97,19 +101,12 @@ stw r10, _DSISR(r11) .endif lwz r9, SRR1(r12) -#if defined(CONFIG_VMAP_STACK) && defined(CONFIG_PPC_BOOK3S) -BEGIN_MMU_FTR_SECTION andi. r10, r9, MSR_PR -END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE) -#endif lwz r12, SRR0(r12) #else mfspr r12,SPRN_SRR0 mfspr r9,SPRN_SRR1 #endif - stw r1,GPR1(r11) - stw r1,0(r11) - tovirt_novmstack r1, r11 /* set new kernel sp */ #ifdef CONFIG_40x rlwinm r9,r9,0,14,12 /* clear MSR_WE (necessary?) */ #else @@ -134,18 +131,28 @@ #ifdef CONFIG_VMAP_STACK mfspr r11, SPRN_SRR0 mtctr r11 -#endif andi. r11, r9, MSR_PR - lwz r11,TASK_STACK-THREAD(r12) + mr r11, r1 + lwz r1,TASK_STACK-THREAD(r12) beq- 99f - addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE -#ifdef CONFIG_VMAP_STACK + addi r1, r1, THREAD_SIZE - INT_FRAME_SIZE li r10, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ mtmsr r10 isync + tovirt(r12, r12) + stw r11,GPR1(r1) + stw r11,0(r1) + mr r11, r1 +#else + andi. r11, r9, MSR_PR + lwz r11,TASK_STACK-THREAD(r12) + beq- 99f + addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE + tophys(r11, r11) + stw r1,GPR1(r11) + stw r1,0(r11) + tovirt(r1, r11) /* set new kernel sp */ #endif - tovirt_vmstack r12, r12 - tophys_novmstack r11, r11 mflr r10 stw r10, _LINK(r11) #ifdef CONFIG_VMAP_STACK @@ -153,9 +160,6 @@ #else mfspr r10,SPRN_SRR0 #endif - stw r1,GPR1(r11) - stw r1,0(r11) - tovirt_novmstack r1, r11 /* set new kernel sp */ stw r10,_NIP(r11) mfcr r10 rlwinm r10,r10,0,4,2 /* Clear SO bit in CR */ @@ -327,20 +331,19 @@ .macro vmap_stack_overflow_exception #ifdef CONFIG_VMAP_STACK #ifdef CONFIG_SMP - mfspr r11, SPRN_SPRG_THREAD - tovirt(r11, r11) - lwz r11, TASK_CPU - THREAD(r11) - slwi r11, r11, 3 - addis r11, r11, emergency_ctx@ha + mfspr r1, SPRN_SPRG_THREAD + lwz r1, TASK_CPU - THREAD(r1) + slwi r1, r1, 3 + addis r1, r1, emergency_ctx@ha #else - lis r11, emergency_ctx@ha + lis r1, emergency_ctx@ha #endif - lwz r11, emergency_ctx@l(r11) - cmpwi cr1, r11, 0 + lwz r1, emergency_ctx@l(r1) + cmpwi cr1, r1, 0 bne cr1, 1f - lis r11, init_thread_union@ha - addi r11, r11, init_thread_union@l -1: addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE + lis r1, init_thread_union@ha + addi r1, r1, init_thread_union@l +1: addi r1, r1, THREAD_SIZE - INT_FRAME_SIZE EXCEPTION_PROLOG_2 SAVE_NVGPRS(r11) addi r3, r1, STACK_FRAME_OVERHEAD --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/head_40x.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/head_40x.S @@ -285,11 +285,7 @@ rlwimi r11, r10, 22, 20, 29 /* Compute PTE address */ lwz r11, 0(r11) /* Get Linux PTE */ -#ifdef CONFIG_SWAP li r9, _PAGE_PRESENT | _PAGE_ACCESSED -#else - li r9, _PAGE_PRESENT -#endif andc. r9, r9, r11 /* Check permission */ bne 5f @@ -370,11 +366,7 @@ rlwimi r11, r10, 22, 20, 29 /* Compute PTE address */ lwz r11, 0(r11) /* Get Linux PTE */ -#ifdef CONFIG_SWAP li r9, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC -#else - li r9, _PAGE_PRESENT | _PAGE_EXEC -#endif andc. r9, r9, r11 /* Check permission */ bne 5f --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/head_64.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/head_64.S @@ -420,6 +420,10 @@ /* From now on, r24 is expected to be logical cpuid */ mr r24,r5 + /* Create a temp kernel stack for use before relocation is on. */ + ld r1,PACAEMERGSP(r13) + subi r1,r1,STACK_FRAME_OVERHEAD + /* See if we need to call a cpu state restore handler */ LOAD_REG_ADDR(r23, cur_cpu_spec) ld r23,0(r23) @@ -448,10 +452,6 @@ sync /* order paca.run and cur_cpu_spec */ isync /* In case code patching happened */ - /* Create a temp kernel stack for use before relocation is on. */ - ld r1,PACAEMERGSP(r13) - subi r1,r1,STACK_FRAME_OVERHEAD - b __secondary_start #endif /* SMP */ @@ -993,7 +993,7 @@ bl start_kernel /* Not reached */ - trap +0: trap EMIT_BUG_ENTRY 0b, __FILE__, __LINE__, 0 .previous --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/head_8xx.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/head_8xx.S @@ -175,7 +175,7 @@ /* On the MPC8xx, this is a software emulation interrupt. It occurs * for all unimplemented and illegal instructions. */ - EXCEPTION(0x1000, SoftEmu, program_check_exception, EXC_XFER_STD) + EXCEPTION(0x1000, SoftEmu, emulation_assist_interrupt, EXC_XFER_STD) . = 0x1100 /* @@ -202,9 +202,7 @@ InstructionTLBMiss: mtspr SPRN_SPRG_SCRATCH0, r10 -#if defined(ITLB_MISS_KERNEL) || defined(CONFIG_SWAP) || defined(CONFIG_HUGETLBFS) mtspr SPRN_SPRG_SCRATCH1, r11 -#endif /* If we are faulting a kernel address, we have to use the * kernel page tables. @@ -238,11 +236,9 @@ rlwimi r11, r10, 32 - 9, _PMD_PAGE_512K mtspr SPRN_MI_TWC, r11 #endif -#ifdef CONFIG_SWAP - rlwinm r11, r10, 32-5, _PAGE_PRESENT + rlwinm r11, r10, 32-7, _PAGE_PRESENT and r11, r11, r10 rlwimi r10, r11, 0, _PAGE_PRESENT -#endif /* The Linux PTE won't go exactly into the MMU TLB. * Software indicator bits 20 and 23 must be clear. * Software indicator bits 22, 24, 25, 26, and 27 must be @@ -256,9 +252,7 @@ /* Restore registers */ 0: mfspr r10, SPRN_SPRG_SCRATCH0 -#if defined(ITLB_MISS_KERNEL) || defined(CONFIG_SWAP) || defined(CONFIG_HUGETLBFS) mfspr r11, SPRN_SPRG_SCRATCH1 -#endif rfi patch_site 0b, patch__itlbmiss_exit_1 @@ -268,9 +262,7 @@ addi r10, r10, 1 stw r10, (itlb_miss_counter - PAGE_OFFSET)@l(0) mfspr r10, SPRN_SPRG_SCRATCH0 -#if defined(ITLB_MISS_KERNEL) || defined(CONFIG_SWAP) mfspr r11, SPRN_SPRG_SCRATCH1 -#endif rfi #endif @@ -316,11 +308,9 @@ * r11 = ((r10 & PRESENT) & ((r10 & ACCESSED) >> 5)); * r10 = (r10 & ~PRESENT) | r11; */ -#ifdef CONFIG_SWAP - rlwinm r11, r10, 32-5, _PAGE_PRESENT + rlwinm r11, r10, 32-7, _PAGE_PRESENT and r11, r11, r10 rlwimi r10, r11, 0, _PAGE_PRESENT -#endif /* The Linux PTE won't go exactly into the MMU TLB. * Software indicator bits 24, 25, 26, and 27 must be * set. All other Linux PTE bits control the behavior --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/hw_breakpoint.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/hw_breakpoint.c @@ -419,7 +419,7 @@ if (dawr_enabled()) { max_len = DAWR_MAX_LEN; /* DAWR region can't cross 512 bytes boundary */ - if (ALIGN(start_addr, SZ_512M) != ALIGN(end_addr - 1, SZ_512M)) + if (ALIGN_DOWN(start_addr, SZ_512) != ALIGN_DOWN(end_addr - 1, SZ_512)) return -EINVAL; } else if (IS_ENABLED(CONFIG_PPC_8xx)) { /* 8xx can setup a range without limitation */ @@ -498,11 +498,11 @@ return ((info->address <= dar) && (dar - info->address < info->len)); } -static bool dar_user_range_overlaps(unsigned long dar, int size, - struct arch_hw_breakpoint *info) +static bool ea_user_range_overlaps(unsigned long ea, int size, + struct arch_hw_breakpoint *info) { - return ((dar < info->address + info->len) && - (dar + size > info->address)); + return ((ea < info->address + info->len) && + (ea + size > info->address)); } static bool dar_in_hw_range(unsigned long dar, struct arch_hw_breakpoint *info) @@ -515,20 +515,30 @@ return ((hw_start_addr <= dar) && (hw_end_addr > dar)); } -static bool dar_hw_range_overlaps(unsigned long dar, int size, - struct arch_hw_breakpoint *info) +static bool ea_hw_range_overlaps(unsigned long ea, int size, + struct arch_hw_breakpoint *info) { unsigned long hw_start_addr, hw_end_addr; + unsigned long align_size = HW_BREAKPOINT_SIZE; - hw_start_addr = ALIGN_DOWN(info->address, HW_BREAKPOINT_SIZE); - hw_end_addr = ALIGN(info->address + info->len, HW_BREAKPOINT_SIZE); + /* + * On p10 predecessors, quadword is handle differently then + * other instructions. + */ + if (!cpu_has_feature(CPU_FTR_ARCH_31) && size == 16) + align_size = HW_BREAKPOINT_SIZE_QUADWORD; + + hw_start_addr = ALIGN_DOWN(info->address, align_size); + hw_end_addr = ALIGN(info->address + info->len, align_size); - return ((dar < hw_end_addr) && (dar + size > hw_start_addr)); + return ((ea < hw_end_addr) && (ea + size > hw_start_addr)); } /* * If hw has multiple DAWR registers, we also need to check all * dawrx constraint bits to confirm this is _really_ a valid event. + * If type is UNKNOWN, but privilege level matches, consider it as + * a positive match. */ static bool check_dawrx_constraints(struct pt_regs *regs, int type, struct arch_hw_breakpoint *info) @@ -536,7 +546,12 @@ if (OP_IS_LOAD(type) && !(info->type & HW_BRK_TYPE_READ)) return false; - if (OP_IS_STORE(type) && !(info->type & HW_BRK_TYPE_WRITE)) + /* + * The Cache Management instructions other than dcbz never + * cause a match. i.e. if type is CACHEOP, the instruction + * is dcbz, and dcbz is treated as Store. + */ + if ((OP_IS_STORE(type) || type == CACHEOP) && !(info->type & HW_BRK_TYPE_WRITE)) return false; if (is_kernel_addr(regs->nip) && !(info->type & HW_BRK_TYPE_KERNEL)) @@ -553,7 +568,8 @@ * including extraneous exception. Otherwise return false. */ static bool check_constraints(struct pt_regs *regs, struct ppc_inst instr, - int type, int size, struct arch_hw_breakpoint *info) + unsigned long ea, int type, int size, + struct arch_hw_breakpoint *info) { bool in_user_range = dar_in_user_range(regs->dar, info); bool dawrx_constraints; @@ -569,22 +585,27 @@ } if (unlikely(ppc_inst_equal(instr, ppc_inst(0)))) { - if (in_user_range) - return true; + if (cpu_has_feature(CPU_FTR_ARCH_31) && + !dar_in_hw_range(regs->dar, info)) + return false; - if (dar_in_hw_range(regs->dar, info)) { - info->type |= HW_BRK_TYPE_EXTRANEOUS_IRQ; - return true; - } - return false; + return true; } dawrx_constraints = check_dawrx_constraints(regs, type, info); - if (dar_user_range_overlaps(regs->dar, size, info)) + if (type == UNKNOWN) { + if (cpu_has_feature(CPU_FTR_ARCH_31) && + !dar_in_hw_range(regs->dar, info)) + return false; + + return dawrx_constraints; + } + + if (ea_user_range_overlaps(ea, size, info)) return dawrx_constraints; - if (dar_hw_range_overlaps(regs->dar, size, info)) { + if (ea_hw_range_overlaps(ea, size, info)) { if (dawrx_constraints) { info->type |= HW_BRK_TYPE_EXTRANEOUS_IRQ; return true; @@ -593,8 +614,17 @@ return false; } +static int cache_op_size(void) +{ +#ifdef __powerpc64__ + return ppc64_caches.l1d.block_size; +#else + return L1_CACHE_BYTES; +#endif +} + static void get_instr_detail(struct pt_regs *regs, struct ppc_inst *instr, - int *type, int *size, bool *larx_stcx) + int *type, int *size, unsigned long *ea) { struct instruction_op op; @@ -602,16 +632,25 @@ return; analyse_instr(&op, regs, *instr); - - /* - * Set size = 8 if analyse_instr() fails. If it's a userspace - * watchpoint(valid or extraneous), we can notify user about it. - * If it's a kernel watchpoint, instruction emulation will fail - * in stepping_handler() and watchpoint will be disabled. - */ *type = GETTYPE(op.type); - *size = !(*type == UNKNOWN) ? GETSIZE(op.type) : 8; - *larx_stcx = (*type == LARX || *type == STCX); + *ea = op.ea; +#ifdef __powerpc64__ + if (!(regs->msr & MSR_64BIT)) + *ea &= 0xffffffffUL; +#endif + + *size = GETSIZE(op.type); + if (*type == CACHEOP) { + *size = cache_op_size(); + *ea &= ~(*size - 1); + } else if (*type == LOAD_VMX || *type == STORE_VMX) { + *ea &= ~(*size - 1); + } +} + +static bool is_larx_stcx_instr(int type) +{ + return type == LARX || type == STCX; } /* @@ -678,7 +717,7 @@ struct ppc_inst instr = ppc_inst(0); int type = 0; int size = 0; - bool larx_stcx = false; + unsigned long ea; /* Disable breakpoints during exception handling */ hw_breakpoint_disable(); @@ -692,7 +731,7 @@ rcu_read_lock(); if (!IS_ENABLED(CONFIG_PPC_8xx)) - get_instr_detail(regs, &instr, &type, &size, &larx_stcx); + get_instr_detail(regs, &instr, &type, &size, &ea); for (i = 0; i < nr_wp_slots(); i++) { bp[i] = __this_cpu_read(bp_per_reg[i]); @@ -702,7 +741,7 @@ info[i] = counter_arch_bp(bp[i]); info[i]->type &= ~HW_BRK_TYPE_EXTRANEOUS_IRQ; - if (check_constraints(regs, instr, type, size, info[i])) { + if (check_constraints(regs, instr, ea, type, size, info[i])) { if (!IS_ENABLED(CONFIG_PPC_8xx) && ppc_inst_equal(instr, ppc_inst(0))) { handler_error(bp[i], info[i]); @@ -744,7 +783,7 @@ } if (!IS_ENABLED(CONFIG_PPC_8xx)) { - if (larx_stcx) { + if (is_larx_stcx_instr(type)) { for (i = 0; i < nr_wp_slots(); i++) { if (!hit[i]) continue; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/irq.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/irq.c @@ -214,7 +214,7 @@ struct pt_regs regs; ppc_save_regs(®s); - regs.softe = IRQS_ALL_DISABLED; + regs.softe = IRQS_ENABLED; again: if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG)) @@ -315,6 +315,31 @@ } } +#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_PPC_KUAP) +static inline void replay_soft_interrupts_irqrestore(void) +{ + unsigned long kuap_state = get_kuap(); + + /* + * Check if anything calls local_irq_enable/restore() when KUAP is + * disabled (user access enabled). We handle that case here by saving + * and re-locking AMR but we shouldn't get here in the first place, + * hence the warning. + */ + kuap_check_amr(); + + if (kuap_state != AMR_KUAP_BLOCKED) + set_kuap(AMR_KUAP_BLOCKED); + + replay_soft_interrupts(); + + if (kuap_state != AMR_KUAP_BLOCKED) + set_kuap(kuap_state); +} +#else +#define replay_soft_interrupts_irqrestore() replay_soft_interrupts() +#endif + notrace void arch_local_irq_restore(unsigned long mask) { unsigned char irq_happened; @@ -368,15 +393,22 @@ } } + /* + * Disable preempt here, so that the below preempt_enable will + * perform resched if required (a replayed interrupt may set + * need_resched). + */ + preempt_disable(); irq_soft_mask_set(IRQS_ALL_DISABLED); trace_hardirqs_off(); - replay_soft_interrupts(); + replay_soft_interrupts_irqrestore(); local_paca->irq_happened = 0; trace_hardirqs_on(); irq_soft_mask_set(IRQS_ENABLED); __hard_irq_enable(); + preempt_enable(); } EXPORT_SYMBOL(arch_local_irq_restore); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/mce.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/mce.c @@ -575,12 +575,11 @@ long notrace machine_check_early(struct pt_regs *regs) { long handled = 0; - bool nested = in_nmi(); u8 ftrace_enabled = this_cpu_get_ftrace_enabled(); this_cpu_set_ftrace_enabled(0); - - if (!nested) + /* Do not use nmi_enter/exit for pseries hpte guest */ + if (radix_enabled() || !firmware_has_feature(FW_FEATURE_LPAR)) nmi_enter(); hv_nmi_check_nonrecoverable(regs); @@ -591,7 +590,7 @@ if (ppc_md.machine_check_early) handled = ppc_md.machine_check_early(regs); - if (!nested) + if (radix_enabled() || !firmware_has_feature(FW_FEATURE_LPAR)) nmi_exit(); this_cpu_set_ftrace_enabled(ftrace_enabled); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/paca.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/paca.c @@ -201,7 +201,7 @@ struct paca_struct **paca_ptrs __read_mostly; EXPORT_SYMBOL(paca_ptrs); -void __init __nostackprotector initialise_paca(struct paca_struct *new_paca, int cpu) +void __init initialise_paca(struct paca_struct *new_paca, int cpu) { #ifdef CONFIG_PPC_PSERIES new_paca->lppaca_ptr = NULL; @@ -234,7 +234,7 @@ } /* Put the paca pointer into r13 and SPRG_PACA */ -void __nostackprotector setup_paca(struct paca_struct *new_paca) +void setup_paca(struct paca_struct *new_paca) { /* Setup r13 */ local_paca = new_paca; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/pci-common.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/pci-common.c @@ -341,6 +341,7 @@ } return NULL; } +EXPORT_SYMBOL(pci_find_hose_for_OF_device); struct pci_controller *pci_find_controller_for_domain(int domain_nr) { @@ -1533,6 +1534,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) { @@ -1625,3 +1627,13 @@ } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MOTOROLA, PCI_ANY_ID, fixup_hide_host_resource_fsl); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, fixup_hide_host_resource_fsl); + + +static int __init discover_phbs(void) +{ + if (ppc_md.discover_phbs) + ppc_md.discover_phbs(); + + return 0; +} +core_initcall(discover_phbs); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/process.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/process.c @@ -1231,15 +1231,17 @@ restore_math(current->thread.regs); /* - * The copy-paste buffer can only store into foreign real - * addresses, so unprivileged processes can not see the - * data or use it in any way unless they have foreign real - * mappings. If the new process has the foreign real address - * mappings, we must issue a cp_abort to clear any state and - * prevent snooping, corruption or a covert channel. + * On POWER9 the copy-paste buffer can only paste into + * foreign real addresses, so unprivileged processes can not + * see the data or use it in any way unless they have + * foreign real mappings. If the new process has the foreign + * real address mappings, we must issue a cp_abort to clear + * any state and prevent snooping, corruption or a covert + * channel. ISA v3.1 supports paste into local memory. */ if (current->mm && - atomic_read(¤t->mm->context.vas_windows)) + (cpu_has_feature(CPU_FTR_ARCH_31) || + atomic_read(¤t->mm->context.vas_windows))) asm volatile(PPC_CP_ABORT); } #endif /* CONFIG_PPC_BOOK3S_64 */ @@ -2118,7 +2120,7 @@ * See if this is an exception frame. * We look for the "regshere" marker in the current frame. */ - if (validate_sp(sp, tsk, STACK_INT_FRAME_SIZE) + if (validate_sp(sp, tsk, STACK_FRAME_WITH_PT_REGS) && stack[STACK_FRAME_MARKER] == STACK_FRAME_REGS_MARKER) { struct pt_regs *regs = (struct pt_regs *) (sp + STACK_FRAME_OVERHEAD); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/prom_init.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/prom_init.c @@ -1325,14 +1325,10 @@ if (prop_len > sizeof(vec)) prom_printf("WARNING: ibm,arch-vec-5-platform-support longer than expected (len: %d)\n", prop_len); - prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support", - &vec, sizeof(vec)); - for (i = 0; i < sizeof(vec); i += 2) { - prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2 - , vec[i] - , vec[i + 1]); - prom_parse_platform_support(vec[i], vec[i + 1], - &supported); + prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support", &vec, sizeof(vec)); + for (i = 0; i < prop_len; i += 2) { + prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2, vec[i], vec[i + 1]); + prom_parse_platform_support(vec[i], vec[i + 1], &supported); } } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/ptrace/ptrace-noadv.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/ptrace/ptrace-noadv.c @@ -217,8 +217,9 @@ return -EIO; brk.address = ALIGN_DOWN(bp_info->addr, HW_BREAKPOINT_SIZE); - brk.type = HW_BRK_TYPE_TRANSLATE; + brk.type = HW_BRK_TYPE_TRANSLATE | HW_BRK_TYPE_PRIV_ALL; brk.len = DABR_MAX_LEN; + brk.hw_len = DABR_MAX_LEN; if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ) brk.type |= HW_BRK_TYPE_READ; if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/rtas.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/rtas.c @@ -843,96 +843,6 @@ __rtas_suspend_cpu((struct rtas_suspend_me_data *)info, 1); } -enum rtas_cpu_state { - DOWN, - UP, -}; - -#ifndef CONFIG_SMP -static int rtas_cpu_state_change_mask(enum rtas_cpu_state state, - cpumask_var_t cpus) -{ - if (!cpumask_empty(cpus)) { - cpumask_clear(cpus); - return -EINVAL; - } else - return 0; -} -#else -/* On return cpumask will be altered to indicate CPUs changed. - * CPUs with states changed will be set in the mask, - * CPUs with status unchanged will be unset in the mask. */ -static int rtas_cpu_state_change_mask(enum rtas_cpu_state state, - cpumask_var_t cpus) -{ - int cpu; - int cpuret = 0; - int ret = 0; - - if (cpumask_empty(cpus)) - return 0; - - for_each_cpu(cpu, cpus) { - struct device *dev = get_cpu_device(cpu); - - switch (state) { - case DOWN: - cpuret = device_offline(dev); - break; - case UP: - cpuret = device_online(dev); - break; - } - if (cpuret < 0) { - pr_debug("%s: cpu_%s for cpu#%d returned %d.\n", - __func__, - ((state == UP) ? "up" : "down"), - cpu, cpuret); - if (!ret) - ret = cpuret; - if (state == UP) { - /* clear bits for unchanged cpus, return */ - cpumask_shift_right(cpus, cpus, cpu); - cpumask_shift_left(cpus, cpus, cpu); - break; - } else { - /* clear bit for unchanged cpu, continue */ - cpumask_clear_cpu(cpu, cpus); - } - } - cond_resched(); - } - - return ret; -} -#endif - -int rtas_online_cpus_mask(cpumask_var_t cpus) -{ - int ret; - - ret = rtas_cpu_state_change_mask(UP, cpus); - - if (ret) { - cpumask_var_t tmp_mask; - - if (!alloc_cpumask_var(&tmp_mask, GFP_KERNEL)) - return ret; - - /* Use tmp_mask to preserve cpus mask from first failure */ - cpumask_copy(tmp_mask, cpus); - rtas_offline_cpus_mask(tmp_mask); - free_cpumask_var(tmp_mask); - } - - return ret; -} - -int rtas_offline_cpus_mask(cpumask_var_t cpus) -{ - return rtas_cpu_state_change_mask(DOWN, cpus); -} - int rtas_ibm_suspend_me(u64 handle) { long state; @@ -940,8 +850,6 @@ unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; struct rtas_suspend_me_data data; DECLARE_COMPLETION_ONSTACK(done); - cpumask_var_t offline_mask; - int cpuret; if (!rtas_service_present("ibm,suspend-me")) return -ENOSYS; @@ -962,9 +870,6 @@ return -EIO; } - if (!alloc_cpumask_var(&offline_mask, GFP_KERNEL)) - return -ENOMEM; - atomic_set(&data.working, 0); atomic_set(&data.done, 0); atomic_set(&data.error, 0); @@ -973,24 +878,8 @@ lock_device_hotplug(); - /* All present CPUs must be online */ - cpumask_andnot(offline_mask, cpu_present_mask, cpu_online_mask); - cpuret = rtas_online_cpus_mask(offline_mask); - if (cpuret) { - pr_err("%s: Could not bring present CPUs online.\n", __func__); - atomic_set(&data.error, cpuret); - goto out; - } - cpu_hotplug_disable(); - /* Check if we raced with a CPU-Offline Operation */ - if (!cpumask_equal(cpu_present_mask, cpu_online_mask)) { - pr_info("%s: Raced against a concurrent CPU-Offline\n", __func__); - atomic_set(&data.error, -EAGAIN); - goto out_hotplug_enable; - } - /* Call function on all CPUs. One of us will make the * rtas call */ @@ -1001,18 +890,11 @@ if (atomic_read(&data.error) != 0) printk(KERN_ERR "Error doing global join\n"); -out_hotplug_enable: - cpu_hotplug_enable(); - /* Take down CPUs not online prior to suspend */ - cpuret = rtas_offline_cpus_mask(offline_mask); - if (cpuret) - pr_warn("%s: Could not restore CPUs to offline state.\n", - __func__); + cpu_hotplug_enable(); -out: unlock_device_hotplug(); - free_cpumask_var(offline_mask); + return atomic_read(&data.error); } @@ -1110,6 +992,147 @@ return NULL; } +#ifdef CONFIG_PPC_RTAS_FILTER + +/* + * The sys_rtas syscall, as originally designed, allows root to pass + * arbitrary physical addresses to RTAS calls. A number of RTAS calls + * can be abused to write to arbitrary memory and do other things that + * are potentially harmful to system integrity, and thus should only + * be used inside the kernel and not exposed to userspace. + * + * All known legitimate users of the sys_rtas syscall will only ever + * pass addresses that fall within the RMO buffer, and use a known + * subset of RTAS calls. + * + * Accordingly, we filter RTAS requests to check that the call is + * permitted, and that provided pointers fall within the RMO buffer. + * The rtas_filters list contains an entry for each permitted call, + * with the indexes of the parameters which are expected to contain + * addresses and sizes of buffers allocated inside the RMO buffer. + */ +struct rtas_filter { + const char *name; + int token; + /* Indexes into the args buffer, -1 if not used */ + int buf_idx1; + int size_idx1; + int buf_idx2; + int size_idx2; + + int fixed_size; +}; + +static struct rtas_filter rtas_filters[] __ro_after_init = { + { "ibm,activate-firmware", -1, -1, -1, -1, -1 }, + { "ibm,configure-connector", -1, 0, -1, 1, -1, 4096 }, /* Special cased */ + { "display-character", -1, -1, -1, -1, -1 }, + { "ibm,display-message", -1, 0, -1, -1, -1 }, + { "ibm,errinjct", -1, 2, -1, -1, -1, 1024 }, + { "ibm,close-errinjct", -1, -1, -1, -1, -1 }, + { "ibm,open-errinjct", -1, -1, -1, -1, -1 }, + { "ibm,get-config-addr-info2", -1, -1, -1, -1, -1 }, + { "ibm,get-dynamic-sensor-state", -1, 1, -1, -1, -1 }, + { "ibm,get-indices", -1, 2, 3, -1, -1 }, + { "get-power-level", -1, -1, -1, -1, -1 }, + { "get-sensor-state", -1, -1, -1, -1, -1 }, + { "ibm,get-system-parameter", -1, 1, 2, -1, -1 }, + { "get-time-of-day", -1, -1, -1, -1, -1 }, + { "ibm,get-vpd", -1, 0, -1, 1, 2 }, + { "ibm,lpar-perftools", -1, 2, 3, -1, -1 }, + { "ibm,platform-dump", -1, 4, 5, -1, -1 }, + { "ibm,read-slot-reset-state", -1, -1, -1, -1, -1 }, + { "ibm,scan-log-dump", -1, 0, 1, -1, -1 }, + { "ibm,set-dynamic-indicator", -1, 2, -1, -1, -1 }, + { "ibm,set-eeh-option", -1, -1, -1, -1, -1 }, + { "set-indicator", -1, -1, -1, -1, -1 }, + { "set-power-level", -1, -1, -1, -1, -1 }, + { "set-time-for-power-on", -1, -1, -1, -1, -1 }, + { "ibm,set-system-parameter", -1, 1, -1, -1, -1 }, + { "set-time-of-day", -1, -1, -1, -1, -1 }, + { "ibm,suspend-me", -1, -1, -1, -1, -1 }, + { "ibm,update-nodes", -1, 0, -1, -1, -1, 4096 }, + { "ibm,update-properties", -1, 0, -1, -1, -1, 4096 }, + { "ibm,physical-attestation", -1, 0, 1, -1, -1 }, +}; + +static bool in_rmo_buf(u32 base, u32 end) +{ + return base >= rtas_rmo_buf && + base < (rtas_rmo_buf + RTAS_RMOBUF_MAX) && + base <= end && + end >= rtas_rmo_buf && + end < (rtas_rmo_buf + RTAS_RMOBUF_MAX); +} + +static bool block_rtas_call(int token, int nargs, + struct rtas_args *args) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(rtas_filters); i++) { + struct rtas_filter *f = &rtas_filters[i]; + u32 base, size, end; + + if (token != f->token) + continue; + + if (f->buf_idx1 != -1) { + base = be32_to_cpu(args->args[f->buf_idx1]); + if (f->size_idx1 != -1) + size = be32_to_cpu(args->args[f->size_idx1]); + else if (f->fixed_size) + size = f->fixed_size; + else + size = 1; + + end = base + size - 1; + if (!in_rmo_buf(base, end)) + goto err; + } + + if (f->buf_idx2 != -1) { + base = be32_to_cpu(args->args[f->buf_idx2]); + if (f->size_idx2 != -1) + size = be32_to_cpu(args->args[f->size_idx2]); + else if (f->fixed_size) + size = f->fixed_size; + else + size = 1; + end = base + size - 1; + + /* + * Special case for ibm,configure-connector where the + * address can be 0 + */ + if (!strcmp(f->name, "ibm,configure-connector") && + base == 0) + return false; + + if (!in_rmo_buf(base, end)) + goto err; + } + + return false; + } + +err: + pr_err_ratelimited("sys_rtas: RTAS call blocked - exploit attempt?\n"); + pr_err_ratelimited("sys_rtas: token=0x%x, nargs=%d (called by %s)\n", + token, nargs, current->comm); + return true; +} + +#else + +static bool block_rtas_call(int token, int nargs, + struct rtas_args *args) +{ + return false; +} + +#endif /* CONFIG_PPC_RTAS_FILTER */ + /* We assume to be passed big endian arguments */ SYSCALL_DEFINE1(rtas, struct rtas_args __user *, uargs) { @@ -1147,6 +1170,9 @@ args.rets = &args.args[nargs]; memset(args.rets, 0, nret * sizeof(rtas_arg_t)); + if (block_rtas_call(token, nargs, &args)) + return -EINVAL; + /* Need to handle ibm,suspend_me call specially */ if (token == ibm_suspend_me_token) { @@ -1208,6 +1234,9 @@ unsigned long rtas_region = RTAS_INSTANTIATE_MAX; u32 base, size, entry; int no_base, no_size, no_entry; +#ifdef CONFIG_PPC_RTAS_FILTER + int i; +#endif /* Get RTAS dev node and fill up our "rtas" structure with infos * about it. @@ -1247,6 +1276,12 @@ #ifdef CONFIG_RTAS_ERROR_LOGGING rtas_last_error_token = rtas_token("rtas-last-error"); #endif + +#ifdef CONFIG_PPC_RTAS_FILTER + for (i = 0; i < ARRAY_SIZE(rtas_filters); i++) { + rtas_filters[i].token = rtas_token(rtas_filters[i].name); + } +#endif } int __init early_init_dt_scan_rtas(unsigned long node, --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/setup-common.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/setup-common.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -64,6 +65,7 @@ #include #include #include +#include #include "setup.h" @@ -311,6 +313,7 @@ min = pvr & 0xFF; break; case 0x004e: /* POWER9 bits 12-15 give chip type */ + case 0x0080: /* POWER10 bit 12 gives SMT8/4 */ maj = (pvr >> 8) & 0x0F; min = pvr & 0xFF; break; @@ -870,6 +873,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(); @@ -918,8 +931,6 @@ /* On BookE, setup per-core TLB data structures. */ setup_tlb_core_data(); - - smp_release_cpus(); #endif /* Print various info about the machine that has been gathered so far. */ @@ -940,6 +951,8 @@ exc_lvl_early_init(); emergency_stack_init(); + smp_release_cpus(); + initmem_init(); early_memtest(min_low_pfn << PAGE_SHIFT, max_low_pfn << PAGE_SHIFT); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/setup.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/setup.h @@ -8,12 +8,6 @@ #ifndef __ARCH_POWERPC_KERNEL_SETUP_H #define __ARCH_POWERPC_KERNEL_SETUP_H -#ifdef CONFIG_CC_IS_CLANG -#define __nostackprotector -#else -#define __nostackprotector __attribute__((__optimize__("no-stack-protector"))) -#endif - void initialize_cache_info(void); void irqstack_early_init(void); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/setup_64.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/setup_64.c @@ -279,7 +279,7 @@ * device-tree is not accessible via normal means at this point. */ -void __init __nostackprotector early_setup(unsigned long dt_ptr) +void __init early_setup(unsigned long dt_ptr) { static __initdata struct paca_struct boot_paca; @@ -857,7 +857,13 @@ static enum l1d_flush_type enabled_flush_types; static void *l1d_flush_fallback_area; static bool no_rfi_flush; +static bool no_entry_flush; +static bool no_uaccess_flush; bool rfi_flush; +bool entry_flush; +bool uaccess_flush; +DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); +EXPORT_SYMBOL(uaccess_flush_key); static int __init handle_no_rfi_flush(char *p) { @@ -867,6 +873,22 @@ } early_param("no_rfi_flush", handle_no_rfi_flush); +static int __init handle_no_entry_flush(char *p) +{ + pr_info("entry-flush: disabled on command line."); + no_entry_flush = true; + return 0; +} +early_param("no_entry_flush", handle_no_entry_flush); + +static int __init handle_no_uaccess_flush(char *p) +{ + pr_info("uaccess-flush: disabled on command line."); + no_uaccess_flush = true; + return 0; +} +early_param("no_uaccess_flush", handle_no_uaccess_flush); + /* * The RFI flush is not KPTI, but because users will see doco that says to use * nopti we hijack that option here to also disable the RFI flush. @@ -898,6 +920,32 @@ rfi_flush = enable; } +void entry_flush_enable(bool enable) +{ + if (enable) { + do_entry_flush_fixups(enabled_flush_types); + on_each_cpu(do_nothing, NULL, 1); + } else { + do_entry_flush_fixups(L1D_FLUSH_NONE); + } + + entry_flush = enable; +} + +void uaccess_flush_enable(bool enable) +{ + if (enable) { + do_uaccess_flush_fixups(enabled_flush_types); + static_branch_enable(&uaccess_flush_key); + on_each_cpu(do_nothing, NULL, 1); + } else { + static_branch_disable(&uaccess_flush_key); + do_uaccess_flush_fixups(L1D_FLUSH_NONE); + } + + uaccess_flush = enable; +} + static void __ref init_fallback_flush(void) { u64 l1d_size, limit; @@ -956,10 +1004,28 @@ enabled_flush_types = types; - if (!no_rfi_flush && !cpu_mitigations_off()) + if (!cpu_mitigations_off() && !no_rfi_flush) rfi_flush_enable(enable); } +void setup_entry_flush(bool enable) +{ + if (cpu_mitigations_off()) + return; + + if (!no_entry_flush) + entry_flush_enable(enable); +} + +void setup_uaccess_flush(bool enable) +{ + if (cpu_mitigations_off()) + return; + + if (!no_uaccess_flush) + uaccess_flush_enable(enable); +} + #ifdef CONFIG_DEBUG_FS static int rfi_flush_set(void *data, u64 val) { @@ -987,9 +1053,63 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_rfi_flush, rfi_flush_get, rfi_flush_set, "%llu\n"); +static int entry_flush_set(void *data, u64 val) +{ + bool enable; + + if (val == 1) + enable = true; + else if (val == 0) + enable = false; + else + return -EINVAL; + + /* Only do anything if we're changing state */ + if (enable != entry_flush) + entry_flush_enable(enable); + + return 0; +} + +static int entry_flush_get(void *data, u64 *val) +{ + *val = entry_flush ? 1 : 0; + return 0; +} + +DEFINE_SIMPLE_ATTRIBUTE(fops_entry_flush, entry_flush_get, entry_flush_set, "%llu\n"); + +static int uaccess_flush_set(void *data, u64 val) +{ + bool enable; + + if (val == 1) + enable = true; + else if (val == 0) + enable = false; + else + return -EINVAL; + + /* Only do anything if we're changing state */ + if (enable != uaccess_flush) + uaccess_flush_enable(enable); + + return 0; +} + +static int uaccess_flush_get(void *data, u64 *val) +{ + *val = uaccess_flush ? 1 : 0; + return 0; +} + +DEFINE_SIMPLE_ATTRIBUTE(fops_uaccess_flush, uaccess_flush_get, uaccess_flush_set, "%llu\n"); + static __init int rfi_flush_debugfs_init(void) { debugfs_create_file("rfi_flush", 0600, powerpc_debugfs_root, NULL, &fops_rfi_flush); + debugfs_create_file("entry_flush", 0600, powerpc_debugfs_root, NULL, &fops_entry_flush); + debugfs_create_file("uaccess_flush", 0600, powerpc_debugfs_root, NULL, &fops_uaccess_flush); return 0; } device_initcall(rfi_flush_debugfs_init); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/smp.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/smp.c @@ -818,7 +818,7 @@ return err; } -static int init_big_cores(void) +static int __init init_big_cores(void) { int cpu; @@ -1250,7 +1250,7 @@ /* Activate a secondary processor. */ void start_secondary(void *unused) { - unsigned int cpu = smp_processor_id(); + unsigned int cpu = raw_smp_processor_id(); struct cpumask *(*sibling_mask)(int) = cpu_sibling_mask; mmgrab(&init_mm); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/syscall_64.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/syscall_64.c @@ -2,7 +2,7 @@ #include #include -#include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/sysfs.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/sysfs.c @@ -32,29 +32,27 @@ static DEFINE_PER_CPU(struct cpu, cpu_devices); -/* - * SMT snooze delay stuff, 64-bit only for now - */ - #ifdef CONFIG_PPC64 -/* Time in microseconds we delay before sleeping in the idle loop */ -static DEFINE_PER_CPU(long, smt_snooze_delay) = { 100 }; +/* + * Snooze delay has not been hooked up since 3fa8cad82b94 ("powerpc/pseries/cpuidle: + * smt-snooze-delay cleanup.") and has been broken even longer. As was foretold in + * 2014: + * + * "ppc64_util currently utilises it. Once we fix ppc64_util, propose to clean + * up the kernel code." + * + * powerpc-utils stopped using it as of 1.3.8. At some point in the future this + * code should be removed. + */ static ssize_t store_smt_snooze_delay(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - struct cpu *cpu = container_of(dev, struct cpu, dev); - ssize_t ret; - long snooze; - - ret = sscanf(buf, "%ld", &snooze); - if (ret != 1) - return -EINVAL; - - per_cpu(smt_snooze_delay, cpu->dev.id) = snooze; + pr_warn_once("%s (%d) stored to unsupported smt_snooze_delay, which has no effect.\n", + current->comm, current->pid); return count; } @@ -62,9 +60,9 @@ struct device_attribute *attr, char *buf) { - struct cpu *cpu = container_of(dev, struct cpu, dev); - - return sprintf(buf, "%ld\n", per_cpu(smt_snooze_delay, cpu->dev.id)); + pr_warn_once("%s (%d) read from unsupported smt_snooze_delay\n", + current->comm, current->pid); + return sprintf(buf, "100\n"); } static DEVICE_ATTR(smt_snooze_delay, 0644, show_smt_snooze_delay, @@ -72,16 +70,10 @@ static int __init setup_smt_snooze_delay(char *str) { - unsigned int cpu; - long snooze; - if (!cpu_has_feature(CPU_FTR_SMT)) return 1; - snooze = simple_strtol(str, NULL, 10); - for_each_possible_cpu(cpu) - per_cpu(smt_snooze_delay, cpu) = snooze; - + pr_warn("smt-snooze-delay command line option has no effect\n"); return 1; } __setup("smt-snooze-delay=", setup_smt_snooze_delay); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/tau_6xx.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/tau_6xx.c @@ -13,13 +13,14 @@ */ #include -#include #include #include #include #include #include #include +#include +#include #include #include @@ -39,9 +40,7 @@ unsigned char grew; } tau[NR_CPUS]; -struct timer_list tau_timer; - -#undef DEBUG +static bool tau_int_enable; /* TODO: put these in a /proc interface, with some sanity checks, and maybe * dynamic adjustment to minimize # of interrupts */ @@ -50,72 +49,49 @@ #define step_size 2 /* step size when temp goes out of range */ #define window_expand 1 /* expand the window by this much */ /* configurable values for shrinking the window */ -#define shrink_timer 2*HZ /* period between shrinking the window */ +#define shrink_timer 2000 /* period between shrinking the window */ #define min_window 2 /* minimum window size, degrees C */ static void set_thresholds(unsigned long cpu) { -#ifdef CONFIG_TAU_INT - /* - * setup THRM1, - * threshold, valid bit, enable interrupts, interrupt when below threshold - */ - mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | THRM1_TIE | THRM1_TID); + u32 maybe_tie = tau_int_enable ? THRM1_TIE : 0; - /* setup THRM2, - * threshold, valid bit, enable interrupts, interrupt when above threshold - */ - mtspr (SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | THRM1_TIE); -#else - /* same thing but don't enable interrupts */ - mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | THRM1_TID); - mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V); -#endif + /* setup THRM1, threshold, valid bit, interrupt when below threshold */ + mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | maybe_tie | THRM1_TID); + + /* setup THRM2, threshold, valid bit, interrupt when above threshold */ + mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | maybe_tie); } static void TAUupdate(int cpu) { - unsigned thrm; - -#ifdef DEBUG - printk("TAUupdate "); -#endif + u32 thrm; + u32 bits = THRM1_TIV | THRM1_TIN | THRM1_V; /* if both thresholds are crossed, the step_sizes cancel out * and the window winds up getting expanded twice. */ - if((thrm = mfspr(SPRN_THRM1)) & THRM1_TIV){ /* is valid? */ - if(thrm & THRM1_TIN){ /* crossed low threshold */ - if (tau[cpu].low >= step_size){ - tau[cpu].low -= step_size; - tau[cpu].high -= (step_size - window_expand); - } - tau[cpu].grew = 1; -#ifdef DEBUG - printk("low threshold crossed "); -#endif + thrm = mfspr(SPRN_THRM1); + if ((thrm & bits) == bits) { + mtspr(SPRN_THRM1, 0); + + if (tau[cpu].low >= step_size) { + tau[cpu].low -= step_size; + tau[cpu].high -= (step_size - window_expand); } + tau[cpu].grew = 1; + pr_debug("%s: low threshold crossed\n", __func__); } - if((thrm = mfspr(SPRN_THRM2)) & THRM1_TIV){ /* is valid? */ - if(thrm & THRM1_TIN){ /* crossed high threshold */ - if (tau[cpu].high <= 127-step_size){ - tau[cpu].low += (step_size - window_expand); - tau[cpu].high += step_size; - } - tau[cpu].grew = 1; -#ifdef DEBUG - printk("high threshold crossed "); -#endif + thrm = mfspr(SPRN_THRM2); + if ((thrm & bits) == bits) { + mtspr(SPRN_THRM2, 0); + + if (tau[cpu].high <= 127 - step_size) { + tau[cpu].low += (step_size - window_expand); + tau[cpu].high += step_size; } + tau[cpu].grew = 1; + pr_debug("%s: high threshold crossed\n", __func__); } - -#ifdef DEBUG - printk("grew = %d\n", tau[cpu].grew); -#endif - -#ifndef CONFIG_TAU_INT /* tau_timeout will do this if not using interrupts */ - set_thresholds(cpu); -#endif - } #ifdef CONFIG_TAU_INT @@ -140,17 +116,16 @@ static void tau_timeout(void * info) { int cpu; - unsigned long flags; int size; int shrink; - /* disabling interrupts *should* be okay */ - local_irq_save(flags); cpu = smp_processor_id(); -#ifndef CONFIG_TAU_INT - TAUupdate(cpu); -#endif + if (!tau_int_enable) + TAUupdate(cpu); + + /* Stop thermal sensor comparisons and interrupts */ + mtspr(SPRN_THRM3, 0); size = tau[cpu].high - tau[cpu].low; if (size > min_window && ! tau[cpu].grew) { @@ -173,32 +148,26 @@ set_thresholds(cpu); - /* - * Do the enable every time, since otherwise a bunch of (relatively) - * complex sleep code needs to be added. One mtspr every time - * tau_timeout is called is probably not a big deal. - * - * Enable thermal sensor and set up sample interval timer - * need 20 us to do the compare.. until a nice 'cpu_speed' function - * call is implemented, just assume a 500 mhz clock. It doesn't really - * matter if we take too long for a compare since it's all interrupt - * driven anyway. - * - * use a extra long time.. (60 us @ 500 mhz) + /* Restart thermal sensor comparisons and interrupts. + * The "PowerPC 740 and PowerPC 750 Microprocessor Datasheet" + * recommends that "the maximum value be set in THRM3 under all + * conditions." */ - mtspr(SPRN_THRM3, THRM3_SITV(500*60) | THRM3_E); - - local_irq_restore(flags); + mtspr(SPRN_THRM3, THRM3_SITV(0x1fff) | THRM3_E); } -static void tau_timeout_smp(struct timer_list *unused) -{ +static struct workqueue_struct *tau_workq; - /* schedule ourselves to be run again */ - mod_timer(&tau_timer, jiffies + shrink_timer) ; +static void tau_work_func(struct work_struct *work) +{ + msleep(shrink_timer); on_each_cpu(tau_timeout, NULL, 0); + /* schedule ourselves to be run again */ + queue_work(tau_workq, work); } +DECLARE_WORK(tau_work, tau_work_func); + /* * setup the TAU * @@ -231,21 +200,19 @@ return 1; } + tau_int_enable = IS_ENABLED(CONFIG_TAU_INT) && + !strcmp(cur_cpu_spec->platform, "ppc750"); - /* first, set up the window shrinking timer */ - timer_setup(&tau_timer, tau_timeout_smp, 0); - tau_timer.expires = jiffies + shrink_timer; - add_timer(&tau_timer); + tau_workq = alloc_workqueue("tau", WQ_UNBOUND, 1, 0); + if (!tau_workq) + return -ENOMEM; on_each_cpu(TAU_init_smp, NULL, 0); - printk("Thermal assist unit "); -#ifdef CONFIG_TAU_INT - printk("using interrupts, "); -#else - printk("using timers, "); -#endif - printk("shrink_timer: %d jiffies\n", shrink_timer); + queue_work(tau_workq, &tau_work); + + pr_info("Thermal assist unit using %s, shrink_timer: %d ms\n", + tau_int_enable ? "interrupts" : "workqueue", shrink_timer); tau_initialized = 1; return 0; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/time.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/time.c @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -1132,6 +1133,7 @@ tick_setup_hrtimer_broadcast(); of_clk_init(NULL); + enable_sched_clock_irqtime(); } /* --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/traps.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/traps.c @@ -509,8 +509,11 @@ die("Unrecoverable nested System Reset", regs, SIGABRT); #endif /* Must die if the interrupt is not recoverable */ - if (!(regs->msr & MSR_RI)) + if (!(regs->msr & MSR_RI)) { + /* For the reason explained in die_mce, nmi_exit before die */ + nmi_exit(); die("Unrecoverable System Reset", regs, SIGABRT); + } if (saved_hsrrs) { mtspr(SPRN_HSRR0, hsrr0); @@ -889,7 +892,7 @@ { unsigned int ra, rb, t, i, sel, instr, rc; const void __user *addr; - u8 vbuf[16], *vdst; + u8 vbuf[16] __aligned(16), *vdst; unsigned long ea, msr, msr_mask; bool swap; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/vdso.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/vdso.c @@ -677,7 +677,7 @@ node = cpu_to_node(cpu); WARN_ON_ONCE(node > 0xffff); - val = (cpu & 0xfff) | ((node & 0xffff) << 16); + val = (cpu & 0xffff) | ((node & 0xffff) << 16); mtspr(SPRN_SPRG_VDSO_WRITE, val); get_paca()->sprg_vdso = val; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kernel/vmlinux.lds.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kernel/vmlinux.lds.S @@ -85,7 +85,7 @@ ALIGN_FUNCTION(); #endif /* careful! __ftr_alt_* sections need to be close to .text */ - *(.text.hot TEXT_MAIN .text.fixup .text.unlikely .fixup __ftr_alt_* .ref.text); + *(.text.hot .text.hot.* TEXT_MAIN .text.fixup .text.unlikely .text.unlikely.* .fixup __ftr_alt_* .ref.text); #ifdef CONFIG_PPC64 *(.tramp.ftrace.text); #endif @@ -132,6 +132,20 @@ } . = ALIGN(8); + __uaccess_flush_fixup : AT(ADDR(__uaccess_flush_fixup) - LOAD_OFFSET) { + __start___uaccess_flush_fixup = .; + *(__uaccess_flush_fixup) + __stop___uaccess_flush_fixup = .; + } + + . = ALIGN(8); + __entry_flush_fixup : AT(ADDR(__entry_flush_fixup) - LOAD_OFFSET) { + __start___entry_flush_fixup = .; + *(__entry_flush_fixup) + __stop___entry_flush_fixup = .; + } + + . = ALIGN(8); __stf_exit_barrier_fixup : AT(ADDR(__stf_exit_barrier_fixup) - LOAD_OFFSET) { __start___stf_exit_barrier_fixup = .; *(__stf_exit_barrier_fixup) @@ -173,6 +187,12 @@ .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { _sinittext = .; INIT_TEXT + + /* + *.init.text might be RO so we must ensure this section ends on + * a page boundary. + */ + . = ALIGN(PAGE_SIZE); _einittext = .; #ifdef CONFIG_PPC64 *(.tramp.ftrace.init); @@ -186,21 +206,9 @@ EXIT_TEXT } - .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { - INIT_DATA - } - - .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) { - INIT_SETUP(16) - } - - .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) { - INIT_CALLS - } + . = ALIGN(PAGE_SIZE); - .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) { - CON_INITCALL - } + INIT_DATA_SECTION(16) . = ALIGN(8); __ftr_fixup : AT(ADDR(__ftr_fixup) - LOAD_OFFSET) { @@ -228,9 +236,6 @@ __stop___fw_ftr_fixup = .; } #endif - .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { - INIT_RAM_FS - } PERCPU_SECTION(L1_CACHE_BYTES) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/book3s.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/book3s.c @@ -834,7 +834,8 @@ kvm->arch.kvm_ops->commit_memory_region(kvm, mem, old, new, change); } -int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) +int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end, + unsigned flags) { return kvm->arch.kvm_ops->unmap_hva_range(kvm, start, end); } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/book3s_hv.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/book3s_hv.c @@ -3485,6 +3485,13 @@ */ asm volatile("eieio; tlbsync; ptesync"); + /* + * cp_abort is required if the processor supports local copy-paste + * to clear the copy buffer that was under control of the guest. + */ + if (cpu_has_feature(CPU_FTR_ARCH_31)) + asm volatile(PPC_CP_ABORT); + mtspr(SPRN_LPID, vcpu->kvm->arch.host_lpid); /* restore host LPID */ isync(); @@ -5207,6 +5214,12 @@ case KVM_PPC_ALLOCATE_HTAB: { u32 htab_order; + /* If we're a nested hypervisor, we currently only support radix */ + if (kvmhv_on_pseries()) { + r = -EOPNOTSUPP; + break; + } + r = -EFAULT; if (get_user(htab_order, (u32 __user *)argp)) break; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/book3s_hv_rmhandlers.S @@ -1831,6 +1831,14 @@ #endif /* CONFIG_PPC_RADIX_MMU */ /* + * cp_abort is required if the processor supports local copy-paste + * to clear the copy buffer that was under control of the guest. + */ +BEGIN_FTR_SECTION + PPC_CP_ABORT +END_FTR_SECTION_IFSET(CPU_FTR_ARCH_31) + + /* * POWER7/POWER8 guest -> host partition switch code. * We don't have to lock against tlbies but we do * have to coordinate the hardware threads. --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/book3s_xive.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/book3s_xive.c @@ -1214,12 +1214,9 @@ static bool kvmppc_xive_vcpu_id_valid(struct kvmppc_xive *xive, u32 cpu) { /* We have a block of xive->nr_servers VPs. We just need to check - * raw vCPU ids are below the expected limit for this guest's - * core stride ; kvmppc_pack_vcpu_id() will pack them down to an - * index that can be safely used to compute a VP id that belongs - * to the VP block. + * packed vCPU ids are below that. */ - return cpu < xive->nr_servers * xive->kvm->arch.emul_smt_mode; + return kvmppc_pack_vcpu_id(xive->kvm, cpu) < xive->nr_servers; } int kvmppc_xive_compute_vp_id(struct kvmppc_xive *xive, u32 cpu, u32 *vp) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/book3s_xive_native.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/book3s_xive_native.c @@ -251,6 +251,13 @@ } state = &sb->irq_state[src]; + + /* Some sanity checking */ + if (!state->valid) { + pr_devel("%s: source %lx invalid !\n", __func__, irq); + return VM_FAULT_SIGBUS; + } + kvmppc_xive_select_irq(state, &hw_num, &xd); arch_spin_lock(&sb->lock); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/e500_mmu_host.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/e500_mmu_host.c @@ -734,7 +734,8 @@ return 0; } -int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) +int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end, + unsigned flags) { /* kvm_unmap_hva flushes everything anyways */ kvm_unmap_hva(kvm, start); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/kvm/powerpc.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/kvm/powerpc.c @@ -1515,7 +1515,7 @@ return emulated; } -int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val) +static int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val) { union kvmppc_one_reg reg; int vmx_offset = 0; @@ -1533,7 +1533,7 @@ return result; } -int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val) +static int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val) { union kvmppc_one_reg reg; int vmx_offset = 0; @@ -1551,7 +1551,7 @@ return result; } -int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val) +static int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val) { union kvmppc_one_reg reg; int vmx_offset = 0; @@ -1569,7 +1569,7 @@ return result; } -int kvmppc_get_vmx_byte(struct kvm_vcpu *vcpu, int index, u64 *val) +static int kvmppc_get_vmx_byte(struct kvm_vcpu *vcpu, int index, u64 *val) { union kvmppc_one_reg reg; int vmx_offset = 0; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/lib/Makefile +++ linux-riscv-5.8-5.8.0/arch/powerpc/lib/Makefile @@ -39,7 +39,7 @@ memcpy_power7.o obj64-y += copypage_64.o copyuser_64.o mem_64.o hweight_64.o \ - memcpy_64.o memcpy_mcsafe_64.o + memcpy_64.o copy_mc_64.o obj64-$(CONFIG_SMP) += locks.o obj64-$(CONFIG_ALTIVEC) += vmx-helper.o --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/lib/copy_mc_64.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/lib/copy_mc_64.S @@ -0,0 +1,242 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) IBM Corporation, 2011 + * Derived from copyuser_power7.s by Anton Blanchard + * Author - Balbir Singh + */ +#include +#include +#include + + .macro err1 +100: + EX_TABLE(100b,.Ldo_err1) + .endm + + .macro err2 +200: + EX_TABLE(200b,.Ldo_err2) + .endm + + .macro err3 +300: EX_TABLE(300b,.Ldone) + .endm + +.Ldo_err2: + ld r22,STK_REG(R22)(r1) + ld r21,STK_REG(R21)(r1) + ld r20,STK_REG(R20)(r1) + ld r19,STK_REG(R19)(r1) + ld r18,STK_REG(R18)(r1) + ld r17,STK_REG(R17)(r1) + ld r16,STK_REG(R16)(r1) + ld r15,STK_REG(R15)(r1) + ld r14,STK_REG(R14)(r1) + addi r1,r1,STACKFRAMESIZE +.Ldo_err1: + /* Do a byte by byte copy to get the exact remaining size */ + mtctr r7 +46: +err3; lbz r0,0(r4) + addi r4,r4,1 +err3; stb r0,0(r3) + addi r3,r3,1 + bdnz 46b + li r3,0 + blr + +.Ldone: + mfctr r3 + blr + + +_GLOBAL(copy_mc_generic) + mr r7,r5 + cmpldi r5,16 + blt .Lshort_copy + +.Lcopy: + /* Get the source 8B aligned */ + neg r6,r4 + mtocrf 0x01,r6 + clrldi r6,r6,(64-3) + + bf cr7*4+3,1f +err1; lbz r0,0(r4) + addi r4,r4,1 +err1; stb r0,0(r3) + addi r3,r3,1 + subi r7,r7,1 + +1: bf cr7*4+2,2f +err1; lhz r0,0(r4) + addi r4,r4,2 +err1; sth r0,0(r3) + addi r3,r3,2 + subi r7,r7,2 + +2: bf cr7*4+1,3f +err1; lwz r0,0(r4) + addi r4,r4,4 +err1; stw r0,0(r3) + addi r3,r3,4 + subi r7,r7,4 + +3: sub r5,r5,r6 + cmpldi r5,128 + + mflr r0 + stdu r1,-STACKFRAMESIZE(r1) + std r14,STK_REG(R14)(r1) + std r15,STK_REG(R15)(r1) + std r16,STK_REG(R16)(r1) + std r17,STK_REG(R17)(r1) + std r18,STK_REG(R18)(r1) + std r19,STK_REG(R19)(r1) + std r20,STK_REG(R20)(r1) + std r21,STK_REG(R21)(r1) + std r22,STK_REG(R22)(r1) + std r0,STACKFRAMESIZE+16(r1) + + blt 5f + srdi r6,r5,7 + mtctr r6 + + /* Now do cacheline (128B) sized loads and stores. */ + .align 5 +4: +err2; ld r0,0(r4) +err2; ld r6,8(r4) +err2; ld r8,16(r4) +err2; ld r9,24(r4) +err2; ld r10,32(r4) +err2; ld r11,40(r4) +err2; ld r12,48(r4) +err2; ld r14,56(r4) +err2; ld r15,64(r4) +err2; ld r16,72(r4) +err2; ld r17,80(r4) +err2; ld r18,88(r4) +err2; ld r19,96(r4) +err2; ld r20,104(r4) +err2; ld r21,112(r4) +err2; ld r22,120(r4) + addi r4,r4,128 +err2; std r0,0(r3) +err2; std r6,8(r3) +err2; std r8,16(r3) +err2; std r9,24(r3) +err2; std r10,32(r3) +err2; std r11,40(r3) +err2; std r12,48(r3) +err2; std r14,56(r3) +err2; std r15,64(r3) +err2; std r16,72(r3) +err2; std r17,80(r3) +err2; std r18,88(r3) +err2; std r19,96(r3) +err2; std r20,104(r3) +err2; std r21,112(r3) +err2; std r22,120(r3) + addi r3,r3,128 + subi r7,r7,128 + bdnz 4b + + clrldi r5,r5,(64-7) + + /* Up to 127B to go */ +5: srdi r6,r5,4 + mtocrf 0x01,r6 + +6: bf cr7*4+1,7f +err2; ld r0,0(r4) +err2; ld r6,8(r4) +err2; ld r8,16(r4) +err2; ld r9,24(r4) +err2; ld r10,32(r4) +err2; ld r11,40(r4) +err2; ld r12,48(r4) +err2; ld r14,56(r4) + addi r4,r4,64 +err2; std r0,0(r3) +err2; std r6,8(r3) +err2; std r8,16(r3) +err2; std r9,24(r3) +err2; std r10,32(r3) +err2; std r11,40(r3) +err2; std r12,48(r3) +err2; std r14,56(r3) + addi r3,r3,64 + subi r7,r7,64 + +7: ld r14,STK_REG(R14)(r1) + ld r15,STK_REG(R15)(r1) + ld r16,STK_REG(R16)(r1) + ld r17,STK_REG(R17)(r1) + ld r18,STK_REG(R18)(r1) + ld r19,STK_REG(R19)(r1) + ld r20,STK_REG(R20)(r1) + ld r21,STK_REG(R21)(r1) + ld r22,STK_REG(R22)(r1) + addi r1,r1,STACKFRAMESIZE + + /* Up to 63B to go */ + bf cr7*4+2,8f +err1; ld r0,0(r4) +err1; ld r6,8(r4) +err1; ld r8,16(r4) +err1; ld r9,24(r4) + addi r4,r4,32 +err1; std r0,0(r3) +err1; std r6,8(r3) +err1; std r8,16(r3) +err1; std r9,24(r3) + addi r3,r3,32 + subi r7,r7,32 + + /* Up to 31B to go */ +8: bf cr7*4+3,9f +err1; ld r0,0(r4) +err1; ld r6,8(r4) + addi r4,r4,16 +err1; std r0,0(r3) +err1; std r6,8(r3) + addi r3,r3,16 + subi r7,r7,16 + +9: clrldi r5,r5,(64-4) + + /* Up to 15B to go */ +.Lshort_copy: + mtocrf 0x01,r5 + bf cr7*4+0,12f +err1; lwz r0,0(r4) /* Less chance of a reject with word ops */ +err1; lwz r6,4(r4) + addi r4,r4,8 +err1; stw r0,0(r3) +err1; stw r6,4(r3) + addi r3,r3,8 + subi r7,r7,8 + +12: bf cr7*4+1,13f +err1; lwz r0,0(r4) + addi r4,r4,4 +err1; stw r0,0(r3) + addi r3,r3,4 + subi r7,r7,4 + +13: bf cr7*4+2,14f +err1; lhz r0,0(r4) + addi r4,r4,2 +err1; sth r0,0(r3) + addi r3,r3,2 + subi r7,r7,2 + +14: bf cr7*4+3,15f +err1; lbz r0,0(r4) +err1; stb r0,0(r3) + +15: li r3,0 + blr + +EXPORT_SYMBOL_GPL(copy_mc_generic); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/lib/feature-fixups.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/lib/feature-fixups.c @@ -234,6 +234,110 @@ do_stf_exit_barrier_fixups(types); } +void do_uaccess_flush_fixups(enum l1d_flush_type types) +{ + unsigned int instrs[4], *dest; + long *start, *end; + int i; + + start = PTRRELOC(&__start___uaccess_flush_fixup); + end = PTRRELOC(&__stop___uaccess_flush_fixup); + + instrs[0] = 0x60000000; /* nop */ + instrs[1] = 0x60000000; /* nop */ + instrs[2] = 0x60000000; /* nop */ + instrs[3] = 0x4e800020; /* blr */ + + i = 0; + if (types == L1D_FLUSH_FALLBACK) { + instrs[3] = 0x60000000; /* nop */ + /* fallthrough to fallback flush */ + } + + if (types & L1D_FLUSH_ORI) { + instrs[i++] = 0x63ff0000; /* ori 31,31,0 speculation barrier */ + instrs[i++] = 0x63de0000; /* ori 30,30,0 L1d flush*/ + } + + if (types & L1D_FLUSH_MTTRIG) + instrs[i++] = 0x7c12dba6; /* mtspr TRIG2,r0 (SPR #882) */ + + for (i = 0; start < end; start++, i++) { + dest = (void *)start + *start; + + pr_devel("patching dest %lx\n", (unsigned long)dest); + + patch_instruction((struct ppc_inst *)dest, ppc_inst(instrs[0])); + + patch_instruction((struct ppc_inst *)(dest + 1), ppc_inst(instrs[1])); + patch_instruction((struct ppc_inst *)(dest + 2), ppc_inst(instrs[2])); + patch_instruction((struct ppc_inst *)(dest + 3), ppc_inst(instrs[3])); + } + + printk(KERN_DEBUG "uaccess-flush: patched %d locations (%s flush)\n", i, + (types == L1D_FLUSH_NONE) ? "no" : + (types == L1D_FLUSH_FALLBACK) ? "fallback displacement" : + (types & L1D_FLUSH_ORI) ? (types & L1D_FLUSH_MTTRIG) + ? "ori+mttrig type" + : "ori type" : + (types & L1D_FLUSH_MTTRIG) ? "mttrig type" + : "unknown"); +} + +void do_entry_flush_fixups(enum l1d_flush_type types) +{ + unsigned int instrs[3], *dest; + long *start, *end; + int i; + + start = PTRRELOC(&__start___entry_flush_fixup); + end = PTRRELOC(&__stop___entry_flush_fixup); + + instrs[0] = 0x60000000; /* nop */ + instrs[1] = 0x60000000; /* nop */ + instrs[2] = 0x60000000; /* nop */ + + i = 0; + if (types == L1D_FLUSH_FALLBACK) { + instrs[i++] = 0x7d4802a6; /* mflr r10 */ + instrs[i++] = 0x60000000; /* branch patched below */ + instrs[i++] = 0x7d4803a6; /* mtlr r10 */ + } + + if (types & L1D_FLUSH_ORI) { + instrs[i++] = 0x63ff0000; /* ori 31,31,0 speculation barrier */ + instrs[i++] = 0x63de0000; /* ori 30,30,0 L1d flush*/ + } + + if (types & L1D_FLUSH_MTTRIG) + instrs[i++] = 0x7c12dba6; /* mtspr TRIG2,r0 (SPR #882) */ + + for (i = 0; start < end; start++, i++) { + dest = (void *)start + *start; + + pr_devel("patching dest %lx\n", (unsigned long)dest); + + patch_instruction((struct ppc_inst *)dest, ppc_inst(instrs[0])); + + if (types == L1D_FLUSH_FALLBACK) + patch_branch((struct ppc_inst *)(dest + 1), (unsigned long)&entry_flush_fallback, + BRANCH_SET_LINK); + else + patch_instruction((struct ppc_inst *)(dest + 1), ppc_inst(instrs[1])); + + patch_instruction((struct ppc_inst *)(dest + 2), ppc_inst(instrs[2])); + } + + printk(KERN_DEBUG "entry-flush: patched %d locations (%s flush)\n", i, + (types == L1D_FLUSH_NONE) ? "no" : + (types == L1D_FLUSH_FALLBACK) ? "fallback displacement" : + (types & L1D_FLUSH_ORI) ? (types & L1D_FLUSH_MTTRIG) + ? "ori+mttrig type" + : "ori type" : + (types & L1D_FLUSH_MTTRIG) ? "mttrig type" + : "unknown"); +} + void do_rfi_flush_fixups(enum l1d_flush_type types) { unsigned int instrs[3], *dest; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/lib/sstep.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/lib/sstep.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -1339,6 +1340,9 @@ switch (opcode) { #ifdef __powerpc64__ case 1: + if (!cpu_has_feature(CPU_FTR_ARCH_31)) + return -1; + prefix_r = word & (1ul << 20); ra = (suffix >> 16) & 0x1f; rd = (suffix >> 21) & 0x1f; @@ -2715,6 +2719,9 @@ } break; case 1: /* Prefixed instructions */ + if (!cpu_has_feature(CPU_FTR_ARCH_31)) + return -1; + prefix_r = word & (1ul << 20); ra = (suffix >> 16) & 0x1f; op->update_reg = ra; @@ -2733,6 +2740,7 @@ case 41: /* plwa */ op->type = MKOP(LOAD, PREFIXED | SIGNEXT, 4); break; +#ifdef CONFIG_VSX case 42: /* plxsd */ op->reg = rd + 32; op->type = MKOP(LOAD_VSX, PREFIXED, 8); @@ -2773,13 +2781,14 @@ op->element_size = 16; op->vsx_flags = VSX_CHECK_VEC; break; +#endif /* CONFIG_VSX */ case 56: /* plq */ op->type = MKOP(LOAD, PREFIXED, 16); break; case 57: /* pld */ op->type = MKOP(LOAD, PREFIXED, 8); break; - case 60: /* stq */ + case 60: /* pstq */ op->type = MKOP(STORE, PREFIXED, 16); break; case 61: /* pstd */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/book3s64/hash_native.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/book3s64/hash_native.c @@ -68,7 +68,7 @@ rs = ((unsigned long)pid << PPC_BITLSHIFT(31)); asm volatile(PPC_TLBIEL(%0, %1, %2, %3, %4) - : : "r"(rb), "r"(rs), "i"(ric), "i"(prs), "r"(r) + : : "r"(rb), "r"(rs), "i"(ric), "i"(prs), "i"(r) : "memory"); } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/book3s64/hash_utils.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/book3s64/hash_utils.c @@ -663,11 +663,10 @@ * Pick a size for the linear mapping. Currently, we only * support 16M, 1M and 4K which is the default */ - if (IS_ENABLED(STRICT_KERNEL_RWX) && + if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX) && (unsigned long)_stext % 0x1000000) { if (mmu_psize_defs[MMU_PAGE_16M].shift) - pr_warn("Kernel not 16M aligned, " - "disabling 16M linear map alignment"); + pr_warn("Kernel not 16M aligned, disabling 16M linear map alignment\n"); aligned = false; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/book3s64/pkeys.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/book3s64/pkeys.c @@ -83,13 +83,17 @@ scan_pkey_feature(); /* - * Let's assume 32 pkeys on P8 bare metal, if its not defined by device - * tree. We make this exception since skiboot forgot to expose this - * property on power8. + * Let's assume 32 pkeys on P8/P9 bare metal, if its not defined by device + * tree. We make this exception since some version of skiboot forgot to + * expose this property on power8/9. */ - if (!pkeys_devtree_defined && !firmware_has_feature(FW_FEATURE_LPAR) && - cpu_has_feature(CPU_FTRS_POWER8)) - pkeys_total = 32; + if (!pkeys_devtree_defined && !firmware_has_feature(FW_FEATURE_LPAR)) { + unsigned long pvr = mfspr(SPRN_PVR); + + if (PVR_VER(pvr) == PVR_POWER8 || PVR_VER(pvr) == PVR_POWER8E || + PVR_VER(pvr) == PVR_POWER8NVL || PVR_VER(pvr) == PVR_POWER9) + pkeys_total = 32; + } /* * Adjust the upper limit, based on the number of bits supported by --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/book3s64/radix_pgtable.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -654,21 +654,6 @@ } } -void radix__setup_initial_memory_limit(phys_addr_t first_memblock_base, - phys_addr_t first_memblock_size) -{ - /* - * We don't currently support the first MEMBLOCK not mapping 0 - * physical on those processors - */ - BUG_ON(first_memblock_base != 0); - - /* - * Radix mode is not limited by RMA / VRMA addressing. - */ - ppc64_rma_size = ULONG_MAX; -} - #ifdef CONFIG_MEMORY_HOTPLUG static void free_pte_table(pte_t *pte_start, pmd_t *pmd) { @@ -700,6 +685,21 @@ pud_clear(pud); } +static void free_pud_table(pud_t *pud_start, p4d_t *p4d) +{ + pud_t *pud; + int i; + + for (i = 0; i < PTRS_PER_PUD; i++) { + pud = pud_start + i; + if (!pud_none(*pud)) + return; + } + + pud_free(&init_mm, pud_start); + p4d_clear(p4d); +} + struct change_mapping_params { pte_t *pte; unsigned long start; @@ -874,6 +874,7 @@ pud_base = (pud_t *)p4d_page_vaddr(*p4d); remove_pud_table(pud_base, addr, next); + free_pud_table(pud_base, p4d); } spin_unlock(&init_mm.page_table_lock); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/book3s64/radix_tlb.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/book3s64/radix_tlb.c @@ -644,19 +644,29 @@ struct mm_struct *mm = arg; unsigned long pid = mm->context.id; + /* + * A kthread could have done a mmget_not_zero() after the flushing CPU + * checked mm_is_singlethreaded, and be in the process of + * kthread_use_mm when interrupted here. In that case, current->mm will + * be set to mm, because kthread_use_mm() setting ->mm and switching to + * the mm is done with interrupts off. + */ if (current->mm == mm) - return; /* Local CPU */ + goto out_flush; if (current->active_mm == mm) { - /* - * Must be a kernel thread because sender is single-threaded. - */ - BUG_ON(current->mm); + WARN_ON_ONCE(current->mm != NULL); + /* Is a kernel thread and is using mm as the lazy tlb */ mmgrab(&init_mm); - switch_mm(mm, &init_mm, current); current->active_mm = &init_mm; + switch_mm_irqs_off(mm, &init_mm, current); mmdrop(mm); } + + atomic_dec(&mm->context.active_cpus); + cpumask_clear_cpu(smp_processor_id(), mm_cpumask(mm)); + +out_flush: _tlbiel_pid(pid, RIC_FLUSH_ALL); } @@ -671,7 +681,6 @@ */ smp_call_function_many(mm_cpumask(mm), do_exit_flush_lazy_tlb, (void *)mm, 1); - mm_reset_thread_local(mm); } void radix__flush_tlb_mm(struct mm_struct *mm) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/drmem.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/drmem.c @@ -362,10 +362,8 @@ if (!drmem_info->lmbs) return; - for_each_drmem_lmb(lmb) { + for_each_drmem_lmb(lmb) read_drconf_v1_cell(lmb, &prop); - lmb_set_nid(lmb); - } } static void __init init_drmem_v2_lmbs(const __be32 *prop) @@ -410,8 +408,6 @@ lmb->aa_index = dr_cell.aa_index; lmb->flags = dr_cell.flags; - - lmb_set_nid(lmb); } } } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/fault.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/fault.c @@ -267,6 +267,9 @@ return false; } +// This comes from 64-bit struct rt_sigframe + __SIGNAL_FRAMESIZE +#define SIGFRAME_MAX_SIZE (4096 + 128) + static bool bad_stack_expansion(struct pt_regs *regs, unsigned long address, struct vm_area_struct *vma, unsigned int flags, bool *must_retry) @@ -274,7 +277,7 @@ /* * N.B. The POWER/Open ABI allows programs to access up to * 288 bytes below the stack pointer. - * The kernel signal delivery code writes up to about 1.5kB + * The kernel signal delivery code writes a bit over 4KB * below the stack pointer (r1) before decrementing it. * The exec code can write slightly over 640kB to the stack * before setting the user r1. Thus we allow the stack to @@ -299,7 +302,7 @@ * between the last mapped region and the stack will * expand the stack rather than segfaulting. */ - if (address + 2048 >= uregs->gpr[1]) + if (address + SIGFRAME_MAX_SIZE >= uregs->gpr[1]) return false; if ((flags & FAULT_FLAG_WRITE) && (flags & FAULT_FLAG_USER) && @@ -383,7 +386,6 @@ static inline void cmo_account_page_fault(void) { } #endif /* CONFIG_PPC_SMLPAR */ -#ifdef CONFIG_PPC_BOOK3S static void sanity_check_fault(bool is_write, bool is_user, unsigned long error_code, unsigned long address) { @@ -400,6 +402,9 @@ return; } + if (!IS_ENABLED(CONFIG_PPC_BOOK3S)) + return; + /* * For hash translation mode, we should never get a * PROTFAULT. Any update to pte to reduce access will result in us @@ -434,10 +439,6 @@ WARN_ON_ONCE(error_code & DSISR_PROTFAULT); } -#else -static void sanity_check_fault(bool is_write, bool is_user, - unsigned long error_code, unsigned long address) { } -#endif /* CONFIG_PPC_BOOK3S */ /* * Define the correct "is_write" bit in error_code based --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/hugetlbpage.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/hugetlbpage.c @@ -330,10 +330,24 @@ get_hugepd_cache_index(pdshift - shift)); } -static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, unsigned long addr) +static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, + unsigned long addr, unsigned long end, + unsigned long floor, unsigned long ceiling) { + unsigned long start = addr; pgtable_t token = pmd_pgtable(*pmd); + start &= PMD_MASK; + if (start < floor) + return; + if (ceiling) { + ceiling &= PMD_MASK; + if (!ceiling) + return; + } + if (end - 1 > ceiling - 1) + return; + pmd_clear(pmd); pte_free_tlb(tlb, token, addr); mm_dec_nr_ptes(tlb->mm); @@ -363,7 +377,7 @@ */ WARN_ON(!IS_ENABLED(CONFIG_PPC_8xx)); - hugetlb_free_pte_range(tlb, pmd, addr); + hugetlb_free_pte_range(tlb, pmd, addr, end, floor, ceiling); continue; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/init_32.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/init_32.c @@ -171,6 +171,8 @@ btext_unmap(); #endif + kasan_mmu_init(); + setup_kup(); /* Shortly after that, the entire linear mapping will be available */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/init_64.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/init_64.c @@ -162,16 +162,16 @@ return next++; } -static __meminit void vmemmap_list_populate(unsigned long phys, - unsigned long start, - int node) +static __meminit int vmemmap_list_populate(unsigned long phys, + unsigned long start, + int node) { struct vmemmap_backing *vmem_back; vmem_back = vmemmap_list_alloc(node); if (unlikely(!vmem_back)) { - WARN_ON(1); - return; + pr_debug("vmemap list allocation failed\n"); + return -ENOMEM; } vmem_back->phys = phys; @@ -179,6 +179,7 @@ vmem_back->list = vmemmap_list; vmemmap_list = vmem_back; + return 0; } static bool altmap_cross_boundary(struct vmem_altmap *altmap, unsigned long start, @@ -199,6 +200,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, struct vmem_altmap *altmap) { + bool altmap_alloc; unsigned long page_size = 1 << mmu_psize_defs[mmu_vmemmap_psize].shift; /* Align to the page size of the linear mapping. */ @@ -228,13 +230,32 @@ p = altmap_alloc_block_buf(page_size, altmap); if (!p) pr_debug("altmap block allocation failed, falling back to system memory"); + else + altmap_alloc = true; } - if (!p) + if (!p) { p = vmemmap_alloc_block_buf(page_size, node); + altmap_alloc = false; + } if (!p) return -ENOMEM; - vmemmap_list_populate(__pa(p), start, node); + if (vmemmap_list_populate(__pa(p), start, node)) { + /* + * If we don't populate vmemap list, we don't have + * the ability to free the allocated vmemmap + * pages in section_deactivate. Hence free them + * here. + */ + int nr_pfns = page_size >> PAGE_SHIFT; + unsigned long page_order = get_order(page_size); + + if (altmap_alloc) + vmem_altmap_free(altmap, nr_pfns); + else + free_pages((unsigned long)p, page_order); + return -ENOMEM; + } pr_debug(" * %016lx..%016lx allocated at %p\n", start, start + page_size, p); @@ -431,9 +452,16 @@ if (!(mfmsr() & MSR_HV)) early_check_vec5(); - if (early_radix_enabled()) + if (early_radix_enabled()) { radix__early_init_devtree(); - else + /* + * We have finalized the translation we are going to use by now. + * Radix mode is not limited by RMA / VRMA addressing. + * Hence don't limit memblock allocations. + */ + ppc64_rma_size = ULONG_MAX; + memblock_set_current_limit(MEMBLOCK_ALLOC_ANYWHERE); + } else hash__early_init_devtree(); } #endif /* CONFIG_PPC_BOOK3S_64 */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/kasan/kasan_init_32.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/kasan/kasan_init_32.c @@ -117,10 +117,22 @@ kasan_update_early_region(k_start, k_end, __pte(0)); } -static void __init kasan_mmu_init(void) +void __init kasan_mmu_init(void) { int ret; + + if (early_mmu_has_feature(MMU_FTR_HPTE_TABLE)) { + ret = kasan_init_shadow_page_tables(KASAN_SHADOW_START, KASAN_SHADOW_END); + + if (ret) + panic("kasan: kasan_init_shadow_page_tables() failed"); + } +} + +void __init kasan_init(void) +{ struct memblock_region *reg; + int ret; for_each_memblock(memory, reg) { phys_addr_t base = reg->base; @@ -134,20 +146,13 @@ panic("kasan: kasan_init_region() failed"); } - if (early_mmu_has_feature(MMU_FTR_HPTE_TABLE) || - IS_ENABLED(CONFIG_KASAN_VMALLOC)) { + if (IS_ENABLED(CONFIG_KASAN_VMALLOC)) { ret = kasan_init_shadow_page_tables(KASAN_SHADOW_START, KASAN_SHADOW_END); if (ret) panic("kasan: kasan_init_shadow_page_tables() failed"); } -} - -void __init kasan_init(void) -{ - kasan_mmu_init(); - kasan_remap_early_shadow_ro(); clear_page(kasan_early_shadow_page); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/mem.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/mem.c @@ -50,6 +50,7 @@ #include #include #include +#include #include @@ -290,7 +291,10 @@ * back to to-down. */ memblock_set_bottom_up(true); - swiotlb_init(0); + if (is_secure_guest()) + svm_swiotlb_init(); + else + swiotlb_init(0); #endif high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); @@ -534,7 +538,7 @@ * space occurs, before returning to user space. */ - if (cpu_has_feature(MMU_FTR_TYPE_44x)) + if (mmu_has_feature(MMU_FTR_TYPE_44x)) return; invalidate_icache_range(addr, addr + PAGE_SIZE); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/mm/ptdump/hashpagetable.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/mm/ptdump/hashpagetable.c @@ -258,7 +258,7 @@ for (i = 0; i < HPTES_PER_GROUP; i += 4, hpte_group += 4) { lpar_rc = plpar_pte_read_4(0, hpte_group, (void *)ptes); - if (lpar_rc != H_SUCCESS) + if (lpar_rc) continue; for (j = 0; j < 4; j++) { if (HPTE_V_COMPARE(ptes[j].v, want_v) && --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/perf/core-book3s.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/perf/core-book3s.c @@ -133,6 +133,9 @@ bool is_sier_available(void) { + if (!ppmu) + return false; + if (ppmu->flags & PPMU_HAS_SIER) return true; @@ -204,7 +207,7 @@ if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid) *addrp = mfspr(SPRN_SDAR); - if (is_kernel_addr(mfspr(SPRN_SDAR)) && perf_allow_kernel(&event->attr) != 0) + if (is_kernel_addr(mfspr(SPRN_SDAR)) && event->attr.exclude_kernel) *addrp = 0; } @@ -467,7 +470,7 @@ * exporting it to userspace (avoid exposure of regions * where we could have speculative execution) */ - if (is_kernel_addr(addr) && perf_allow_kernel(&event->attr) != 0) + if (is_kernel_addr(addr) && event->attr.exclude_kernel) continue; /* Branches are read most recent first (ie. mfbhrb 0 is @@ -1517,9 +1520,16 @@ ret = 0; out: if (has_branch_stack(event)) { - power_pmu_bhrb_enable(event); - cpuhw->bhrb_filter = ppmu->bhrb_filter_map( - event->attr.branch_sample_type); + u64 bhrb_filter = -1; + + if (ppmu->bhrb_filter_map) + bhrb_filter = ppmu->bhrb_filter_map( + event->attr.branch_sample_type); + + if (bhrb_filter != -1) { + cpuhw->bhrb_filter = bhrb_filter; + power_pmu_bhrb_enable(event); + } } perf_pmu_enable(event->pmu); @@ -1841,7 +1851,6 @@ int n; int err; struct cpu_hw_events *cpuhw; - u64 bhrb_filter; if (!ppmu) return -ENOENT; @@ -1947,7 +1956,10 @@ err = power_check_constraints(cpuhw, events, cflags, n + 1); if (has_branch_stack(event)) { - bhrb_filter = ppmu->bhrb_filter_map( + u64 bhrb_filter = -1; + + if (ppmu->bhrb_filter_map) + bhrb_filter = ppmu->bhrb_filter_map( event->attr.branch_sample_type); if (bhrb_filter == -1) { @@ -2060,7 +2072,17 @@ left += period; if (left <= 0) left = period; - record = siar_valid(regs); + + /* + * If address is not requested in the sample via + * PERF_SAMPLE_IP, just record that sample irrespective + * of SIAR valid check. + */ + if (event->attr.sample_type & PERF_SAMPLE_IP) + record = siar_valid(regs); + else + record = 1; + event->hw.last_period = event->hw.sample_period; } if (left < 0x80000000LL) @@ -2073,6 +2095,17 @@ perf_event_update_userpage(event); /* + * Due to hardware limitation, sometimes SIAR could sample a kernel + * address even when freeze on supervisor state (kernel) is set in + * MMCR2. Check attr.exclude_kernel and address to drop the sample in + * these cases. + */ + if (event->attr.exclude_kernel && + (event->attr.sample_type & PERF_SAMPLE_IP) && + is_kernel_addr(mfspr(SPRN_SIAR))) + record = 0; + + /* * Finally record data if requested. */ if (record) { @@ -2101,6 +2134,10 @@ if (perf_event_overflow(event, &data, regs)) power_pmu_stop(event, 0); + } else if (period) { + /* Account for interrupt in case of invalid SIAR */ + if (perf_event_account_interrupt(event)) + power_pmu_stop(event, 0); } } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/perf/hv-gpci-requests.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/perf/hv-gpci-requests.h @@ -95,7 +95,7 @@ #define REQUEST_NAME system_performance_capabilities #define REQUEST_NUM 0x40 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff" #include I(REQUEST_BEGIN) REQUEST(__field(0, 1, perf_collect_privileged) __field(0x1, 1, capability_mask) @@ -223,7 +223,7 @@ #define REQUEST_NAME system_hypervisor_times #define REQUEST_NUM 0xF0 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff" #include I(REQUEST_BEGIN) REQUEST(__count(0, 8, time_spent_to_dispatch_virtual_processors) __count(0x8, 8, time_spent_processing_virtual_processor_timers) @@ -234,7 +234,7 @@ #define REQUEST_NAME system_tlbie_count_and_time #define REQUEST_NUM 0xF4 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff" #include I(REQUEST_BEGIN) REQUEST(__count(0, 8, tlbie_instructions_issued) /* --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/perf/isa207-common.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/perf/isa207-common.c @@ -233,6 +233,9 @@ u64 sier = mfspr(SPRN_SIER); u64 val = (sier & ISA207_SIER_TYPE_MASK) >> ISA207_SIER_TYPE_SHIFT; + if (cpu_has_feature(CPU_FTR_ARCH_31)) + mantissa = P10_MMCRA_THR_CTR_MANT(mmcra); + if (val == 0 || val == 7) *weight = 0; else @@ -269,6 +272,15 @@ mask |= CNST_PMC_MASK(pmc); value |= CNST_PMC_VAL(pmc); + + /* + * PMC5 and PMC6 are used to count cycles and instructions and + * they do not support most of the constraint bits. Add a check + * to exclude PMC5/6 from most of the constraints except for + * EBB/BHRB. + */ + if (pmc >= 5) + goto ebb_bhrb; } if (pmc <= 4) { @@ -313,7 +325,12 @@ value |= CNST_SAMPLE_VAL(event >> EVENT_SAMPLE_SHIFT); } - if (cpu_has_feature(CPU_FTR_ARCH_300)) { + if (cpu_has_feature(CPU_FTR_ARCH_31)) { + if (event_is_threshold(event)) { + mask |= CNST_THRESH_CTL_SEL_MASK; + value |= CNST_THRESH_CTL_SEL_VAL(event >> EVENT_THRESH_SHIFT); + } + } else if (cpu_has_feature(CPU_FTR_ARCH_300)) { if (event_is_threshold(event) && is_thresh_cmp_valid(event)) { mask |= CNST_THRESH_MASK; value |= CNST_THRESH_VAL(event >> EVENT_THRESH_SHIFT); @@ -335,6 +352,7 @@ } } +ebb_bhrb: if (!pmc && ebb) /* EBB events must specify the PMC */ return -1; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/perf/isa207-common.h +++ linux-riscv-5.8-5.8.0/arch/powerpc/perf/isa207-common.h @@ -118,6 +118,9 @@ #define CNST_THRESH_VAL(v) (((v) & EVENT_THRESH_MASK) << 32) #define CNST_THRESH_MASK CNST_THRESH_VAL(EVENT_THRESH_MASK) +#define CNST_THRESH_CTL_SEL_VAL(v) (((v) & 0x7ffull) << 32) +#define CNST_THRESH_CTL_SEL_MASK CNST_THRESH_CTL_SEL_VAL(0x7ff) + #define CNST_EBB_VAL(v) (((v) & EVENT_EBB_MASK) << 24) #define CNST_EBB_MASK CNST_EBB_VAL(EVENT_EBB_MASK) @@ -191,6 +194,10 @@ #define MMCRA_THR_CTR_EXP(v) (((v) >> MMCRA_THR_CTR_EXP_SHIFT) &\ MMCRA_THR_CTR_EXP_MASK) +#define P10_MMCRA_THR_CTR_MANT_MASK 0xFFul +#define P10_MMCRA_THR_CTR_MANT(v) (((v) >> MMCRA_THR_CTR_MANT_SHIFT) &\ + P10_MMCRA_THR_CTR_MANT_MASK) + /* MMCR1 Threshold Compare bit constant for power9 */ #define p9_MMCRA_THR_CMP_SHIFT 45 --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/8xx/micropatch.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/8xx/micropatch.c @@ -360,6 +360,17 @@ if (IS_ENABLED(CONFIG_SMC_UCODE_PATCH)) { smc_uart_t *smp; + if (IS_ENABLED(CONFIG_PPC_EARLY_DEBUG_CPM)) { + int i; + + for (i = 0; i < sizeof(*smp); i += 4) { + u32 __iomem *src = (u32 __iomem *)&cp->cp_dparam[PROFF_SMC1 + i]; + u32 __iomem *dst = (u32 __iomem *)&cp->cp_dparam[PROFF_DSP1 + i]; + + out_be32(dst, in_be32(src)); + } + } + smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1]; out_be16(&smp->smc_rpbase, 0x1ec0); smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC2]; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/Kconfig +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/Kconfig @@ -223,12 +223,11 @@ temperature within 2-4 degrees Celsius. This option shows the current on-die temperature in /proc/cpuinfo if the cpu supports it. - Unfortunately, on some chip revisions, this sensor is very inaccurate - and in many cases, does not work at all, so don't assume the cpu - temp is actually what /proc/cpuinfo says it is. + Unfortunately, this sensor is very inaccurate when uncalibrated, so + don't assume the cpu temp is actually what /proc/cpuinfo says it is. config TAU_INT - bool "Interrupt driven TAU driver (DANGEROUS)" + bool "Interrupt driven TAU driver (EXPERIMENTAL)" depends on TAU help The TAU supports an interrupt driven mode which causes an interrupt @@ -236,12 +235,7 @@ to get notified the temp has exceeded a range. With this option off, a timer is used to re-check the temperature periodically. - However, on some cpus it appears that the TAU interrupt hardware - is buggy and can cause a situation which would lead unexplained hard - lockups. - - Unless you are extending the TAU driver, or enjoy kernel/hardware - debugging, leave this option off. + If in doubt, say N here. config TAU_AVERAGE bool "Average high and low temp" --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/cell/Kconfig +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/cell/Kconfig @@ -44,6 +44,7 @@ tristate "SPU file system" default m depends on PPC_CELL + depends on COREDUMP select SPU_BASE help The SPU file system is used to access Synergistic Processing --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/cell/spufs/coredump.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/cell/spufs/coredump.c @@ -105,7 +105,7 @@ size_t sz = spufs_coredump_read[i].size; char fullname[80]; struct elf_note en; - size_t ret; + int ret; sprintf(fullname, "SPU/%d/%s", dfd, spufs_coredump_read[i].name); en.n_namesz = strlen(fullname) + 1; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powermac/sleep.S +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powermac/sleep.S @@ -44,7 +44,8 @@ #define SL_TB 0xa0 #define SL_R2 0xa8 #define SL_CR 0xac -#define SL_R12 0xb0 /* r12 to r31 */ +#define SL_LR 0xb0 +#define SL_R12 0xb4 /* r12 to r31 */ #define SL_SIZE (SL_R12 + 80) .section .text @@ -63,105 +64,107 @@ blr #else mflr r0 - stw r0,4(r1) - stwu r1,-SL_SIZE(r1) + lis r11,sleep_storage@ha + addi r11,r11,sleep_storage@l + stw r0,SL_LR(r11) mfcr r0 - stw r0,SL_CR(r1) - stw r2,SL_R2(r1) - stmw r12,SL_R12(r1) + stw r0,SL_CR(r11) + stw r1,SL_SP(r11) + stw r2,SL_R2(r11) + stmw r12,SL_R12(r11) /* Save MSR & SDR1 */ mfmsr r4 - stw r4,SL_MSR(r1) + stw r4,SL_MSR(r11) mfsdr1 r4 - stw r4,SL_SDR1(r1) + stw r4,SL_SDR1(r11) /* Get a stable timebase and save it */ 1: mftbu r4 - stw r4,SL_TB(r1) + stw r4,SL_TB(r11) mftb r5 - stw r5,SL_TB+4(r1) + stw r5,SL_TB+4(r11) mftbu r3 cmpw r3,r4 bne 1b /* Save SPRGs */ mfsprg r4,0 - stw r4,SL_SPRG0(r1) + stw r4,SL_SPRG0(r11) mfsprg r4,1 - stw r4,SL_SPRG0+4(r1) + stw r4,SL_SPRG0+4(r11) mfsprg r4,2 - stw r4,SL_SPRG0+8(r1) + stw r4,SL_SPRG0+8(r11) mfsprg r4,3 - stw r4,SL_SPRG0+12(r1) + stw r4,SL_SPRG0+12(r11) /* Save BATs */ mfdbatu r4,0 - stw r4,SL_DBAT0(r1) + stw r4,SL_DBAT0(r11) mfdbatl r4,0 - stw r4,SL_DBAT0+4(r1) + stw r4,SL_DBAT0+4(r11) mfdbatu r4,1 - stw r4,SL_DBAT1(r1) + stw r4,SL_DBAT1(r11) mfdbatl r4,1 - stw r4,SL_DBAT1+4(r1) + stw r4,SL_DBAT1+4(r11) mfdbatu r4,2 - stw r4,SL_DBAT2(r1) + stw r4,SL_DBAT2(r11) mfdbatl r4,2 - stw r4,SL_DBAT2+4(r1) + stw r4,SL_DBAT2+4(r11) mfdbatu r4,3 - stw r4,SL_DBAT3(r1) + stw r4,SL_DBAT3(r11) mfdbatl r4,3 - stw r4,SL_DBAT3+4(r1) + stw r4,SL_DBAT3+4(r11) mfibatu r4,0 - stw r4,SL_IBAT0(r1) + stw r4,SL_IBAT0(r11) mfibatl r4,0 - stw r4,SL_IBAT0+4(r1) + stw r4,SL_IBAT0+4(r11) mfibatu r4,1 - stw r4,SL_IBAT1(r1) + stw r4,SL_IBAT1(r11) mfibatl r4,1 - stw r4,SL_IBAT1+4(r1) + stw r4,SL_IBAT1+4(r11) mfibatu r4,2 - stw r4,SL_IBAT2(r1) + stw r4,SL_IBAT2(r11) mfibatl r4,2 - stw r4,SL_IBAT2+4(r1) + stw r4,SL_IBAT2+4(r11) mfibatu r4,3 - stw r4,SL_IBAT3(r1) + stw r4,SL_IBAT3(r11) mfibatl r4,3 - stw r4,SL_IBAT3+4(r1) + stw r4,SL_IBAT3+4(r11) BEGIN_MMU_FTR_SECTION mfspr r4,SPRN_DBAT4U - stw r4,SL_DBAT4(r1) + stw r4,SL_DBAT4(r11) mfspr r4,SPRN_DBAT4L - stw r4,SL_DBAT4+4(r1) + stw r4,SL_DBAT4+4(r11) mfspr r4,SPRN_DBAT5U - stw r4,SL_DBAT5(r1) + stw r4,SL_DBAT5(r11) mfspr r4,SPRN_DBAT5L - stw r4,SL_DBAT5+4(r1) + stw r4,SL_DBAT5+4(r11) mfspr r4,SPRN_DBAT6U - stw r4,SL_DBAT6(r1) + stw r4,SL_DBAT6(r11) mfspr r4,SPRN_DBAT6L - stw r4,SL_DBAT6+4(r1) + stw r4,SL_DBAT6+4(r11) mfspr r4,SPRN_DBAT7U - stw r4,SL_DBAT7(r1) + stw r4,SL_DBAT7(r11) mfspr r4,SPRN_DBAT7L - stw r4,SL_DBAT7+4(r1) + stw r4,SL_DBAT7+4(r11) mfspr r4,SPRN_IBAT4U - stw r4,SL_IBAT4(r1) + stw r4,SL_IBAT4(r11) mfspr r4,SPRN_IBAT4L - stw r4,SL_IBAT4+4(r1) + stw r4,SL_IBAT4+4(r11) mfspr r4,SPRN_IBAT5U - stw r4,SL_IBAT5(r1) + stw r4,SL_IBAT5(r11) mfspr r4,SPRN_IBAT5L - stw r4,SL_IBAT5+4(r1) + stw r4,SL_IBAT5+4(r11) mfspr r4,SPRN_IBAT6U - stw r4,SL_IBAT6(r1) + stw r4,SL_IBAT6(r11) mfspr r4,SPRN_IBAT6L - stw r4,SL_IBAT6+4(r1) + stw r4,SL_IBAT6+4(r11) mfspr r4,SPRN_IBAT7U - stw r4,SL_IBAT7(r1) + stw r4,SL_IBAT7(r11) mfspr r4,SPRN_IBAT7L - stw r4,SL_IBAT7+4(r1) + stw r4,SL_IBAT7+4(r11) END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_HIGH_BATS) /* Backup various CPU config stuffs */ @@ -180,9 +183,9 @@ lis r5,grackle_wake_up@ha addi r5,r5,grackle_wake_up@l tophys(r5,r5) - stw r5,SL_PC(r1) + stw r5,SL_PC(r11) lis r4,KERNELBASE@h - tophys(r5,r1) + tophys(r5,r11) addi r5,r5,SL_PC lis r6,MAGIC@ha addi r6,r6,MAGIC@l @@ -194,12 +197,6 @@ tophys(r3,r3) stw r3,0x80(r4) stw r5,0x84(r4) - /* Store a pointer to our backup storage into - * a kernel global - */ - lis r3,sleep_storage@ha - addi r3,r3,sleep_storage@l - stw r5,0(r3) .globl low_cpu_die low_cpu_die: @@ -279,7 +276,7 @@ lis r3,sleep_storage@ha addi r3,r3,sleep_storage@l tophys(r3,r3) - lwz r1,0(r3) + addi r1,r3,SL_PC /* Pass thru to older resume code ... */ _ASM_NOKPROBE_SYMBOL(core99_wake_up) @@ -294,14 +291,7 @@ * we do any r1 memory access as we are not sure they * are in a sane state above the first 256Mb region */ - li r0,16 /* load up segment register values */ - mtctr r0 /* for context 0 */ - lis r3,0x2000 /* Ku = 1, VSID = 0 */ - li r4,0 -3: mtsrin r3,r4 - addi r3,r3,0x111 /* increment VSID */ - addis r4,r4,0x1000 /* address of next segment */ - bdnz 3b + bl load_segment_registers sync isync @@ -406,13 +396,6 @@ blt 1b sync - /* restore the MSR and turn on the MMU */ - lwz r3,SL_MSR(r1) - bl turn_on_mmu - - /* get back the stack pointer */ - tovirt(r1,r1) - /* Restore TB */ li r3,0 mttbl r3 @@ -426,28 +409,24 @@ mtcr r0 lwz r2,SL_R2(r1) lmw r12,SL_R12(r1) - addi r1,r1,SL_SIZE - lwz r0,4(r1) - mtlr r0 - blr -_ASM_NOKPROBE_SYMBOL(grackle_wake_up) -turn_on_mmu: - mflr r4 - tovirt(r4,r4) + /* restore the MSR and SP and turn on the MMU and return */ + lwz r3,SL_MSR(r1) + lwz r4,SL_LR(r1) + lwz r1,SL_SP(r1) mtsrr0 r4 mtsrr1 r3 sync isync rfi -_ASM_NOKPROBE_SYMBOL(turn_on_mmu) +_ASM_NOKPROBE_SYMBOL(grackle_wake_up) #endif /* defined(CONFIG_PM) || defined(CONFIG_CPU_FREQ) */ - .section .data + .section .bss .balign L1_CACHE_BYTES sleep_storage: - .long 0 + .space SL_SIZE .balign L1_CACHE_BYTES, 0 #endif /* CONFIG_PPC_BOOK3S_32 */ --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/memtrace.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/memtrace.c @@ -30,6 +30,7 @@ char name[16]; }; +static DEFINE_MUTEX(memtrace_mutex); static u64 memtrace_size; static struct memtrace_entry *memtrace_array; @@ -67,6 +68,23 @@ return 0; } +static void memtrace_clear_range(unsigned long start_pfn, + unsigned long nr_pages) +{ + unsigned long pfn; + + /* + * As pages are offline, we cannot trust the memmap anymore. As HIGHMEM + * does not apply, avoid passing around "struct page" and use + * clear_page() instead directly. + */ + for (pfn = start_pfn; pfn < start_pfn + nr_pages; pfn++) { + if (IS_ALIGNED(pfn, PAGES_PER_SECTION)) + cond_resched(); + clear_page(__va(PFN_PHYS(pfn))); + } +} + /* called with device_hotplug_lock held */ static bool memtrace_offline_pages(u32 nid, u64 start_pfn, u64 nr_pages) { @@ -112,6 +130,11 @@ for (base_pfn = end_pfn; base_pfn > start_pfn; base_pfn -= nr_pages) { if (memtrace_offline_pages(nid, base_pfn, nr_pages) == true) { /* + * Clear the range while we still have a linear + * mapping. + */ + memtrace_clear_range(base_pfn, nr_pages); + /* * Remove memory in memory block size chunks so that * iomem resources are always split to the same size and * we never try to remove memory that spans two iomem @@ -257,6 +280,7 @@ static int memtrace_enable_set(void *data, u64 val) { + int rc = -EAGAIN; u64 bytes; /* @@ -269,25 +293,31 @@ return -EINVAL; } + mutex_lock(&memtrace_mutex); + /* Re-add/online previously removed/offlined memory */ if (memtrace_size) { if (memtrace_online()) - return -EAGAIN; + goto out_unlock; } - if (!val) - return 0; + if (!val) { + rc = 0; + goto out_unlock; + } /* Offline and remove memory */ if (memtrace_init_regions_runtime(val)) - return -EINVAL; + goto out_unlock; if (memtrace_init_debugfs()) - return -EINVAL; + goto out_unlock; memtrace_size = val; - - return 0; + rc = 0; +out_unlock: + mutex_unlock(&memtrace_mutex); + return rc; } static int memtrace_enable_get(void *data, u64 *val) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/npu-dma.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/npu-dma.c @@ -385,7 +385,8 @@ for (i = 0; i < npucomp->pe_num; ++i) { struct pnv_ioda_pe *pe = npucomp->pe[i]; - if (!pe->table_group.ops->take_ownership) + if (!pe->table_group.ops || + !pe->table_group.ops->take_ownership) continue; pe->table_group.ops->take_ownership(&pe->table_group); } @@ -401,7 +402,8 @@ for (i = 0; i < npucomp->pe_num; ++i) { struct pnv_ioda_pe *pe = npucomp->pe[i]; - if (!pe->table_group.ops->release_ownership) + if (!pe->table_group.ops || + !pe->table_group.ops->release_ownership) continue; pe->table_group.ops->release_ownership(&pe->table_group); } @@ -623,6 +625,11 @@ return -ENODEV; hose = pci_bus_to_host(npdev->bus); + if (hose->npu == NULL) { + dev_info_once(&npdev->dev, "Nvlink1 does not support contexts"); + return 0; + } + nphb = hose->private_data; dev_dbg(&gpdev->dev, "Map LPAR opalid=%llu lparid=%u\n", @@ -670,6 +677,11 @@ return -ENODEV; hose = pci_bus_to_host(npdev->bus); + if (hose->npu == NULL) { + dev_info_once(&npdev->dev, "Nvlink1 does not support contexts"); + return 0; + } + nphb = hose->private_data; dev_dbg(&gpdev->dev, "destroy context opalid=%llu\n", --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/opal-dump.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/opal-dump.c @@ -318,15 +318,14 @@ return count; } -static struct dump_obj *create_dump_obj(uint32_t id, size_t size, - uint32_t type) +static void create_dump_obj(uint32_t id, size_t size, uint32_t type) { struct dump_obj *dump; int rc; dump = kzalloc(sizeof(*dump), GFP_KERNEL); if (!dump) - return NULL; + return; dump->kobj.kset = dump_kset; @@ -346,21 +345,39 @@ rc = kobject_add(&dump->kobj, NULL, "0x%x-0x%x", type, id); if (rc) { kobject_put(&dump->kobj); - return NULL; + return; } + /* + * As soon as the sysfs file for this dump is created/activated there is + * a chance the opal_errd daemon (or any userspace) might read and + * acknowledge the dump before kobject_uevent() is called. If that + * happens then there is a potential race between + * dump_ack_store->kobject_put() and kobject_uevent() which leads to a + * use-after-free of a kernfs object resulting in a kernel crash. + * + * To avoid that, we need to take a reference on behalf of the bin file, + * so that our reference remains valid while we call kobject_uevent(). + * We then drop our reference before exiting the function, leaving the + * bin file to drop the last reference (if it hasn't already). + */ + + /* Take a reference for the bin file */ + kobject_get(&dump->kobj); rc = sysfs_create_bin_file(&dump->kobj, &dump->dump_attr); - if (rc) { + if (rc == 0) { + kobject_uevent(&dump->kobj, KOBJ_ADD); + + pr_info("%s: New platform dump. ID = 0x%x Size %u\n", + __func__, dump->id, dump->size); + } else { + /* Drop reference count taken for bin file */ kobject_put(&dump->kobj); - return NULL; } - pr_info("%s: New platform dump. ID = 0x%x Size %u\n", - __func__, dump->id, dump->size); - - kobject_uevent(&dump->kobj, KOBJ_ADD); - - return dump; + /* Drop our reference */ + kobject_put(&dump->kobj); + return; } static irqreturn_t process_dump(int irq, void *data) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/opal-elog.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/opal-elog.c @@ -179,14 +179,14 @@ return count; } -static struct elog_obj *create_elog_obj(uint64_t id, size_t size, uint64_t type) +static void create_elog_obj(uint64_t id, size_t size, uint64_t type) { struct elog_obj *elog; int rc; elog = kzalloc(sizeof(*elog), GFP_KERNEL); if (!elog) - return NULL; + return; elog->kobj.kset = elog_kset; @@ -219,18 +219,37 @@ rc = kobject_add(&elog->kobj, NULL, "0x%llx", id); if (rc) { kobject_put(&elog->kobj); - return NULL; + return; } + /* + * As soon as the sysfs file for this elog is created/activated there is + * a chance the opal_errd daemon (or any userspace) might read and + * acknowledge the elog before kobject_uevent() is called. If that + * happens then there is a potential race between + * elog_ack_store->kobject_put() and kobject_uevent() which leads to a + * use-after-free of a kernfs object resulting in a kernel crash. + * + * To avoid that, we need to take a reference on behalf of the bin file, + * so that our reference remains valid while we call kobject_uevent(). + * We then drop our reference before exiting the function, leaving the + * bin file to drop the last reference (if it hasn't already). + */ + + /* Take a reference for the bin file */ + kobject_get(&elog->kobj); rc = sysfs_create_bin_file(&elog->kobj, &elog->raw_attr); - if (rc) { + if (rc == 0) { + kobject_uevent(&elog->kobj, KOBJ_ADD); + } else { + /* Drop the reference taken for the bin file */ kobject_put(&elog->kobj); - return NULL; } - kobject_uevent(&elog->kobj, KOBJ_ADD); + /* Drop our reference */ + kobject_put(&elog->kobj); - return elog; + return; } static irqreturn_t elog_event(int irq, void *data) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/setup.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/setup.c @@ -122,12 +122,29 @@ type = L1D_FLUSH_ORI; } + /* + * If we are non-Power9 bare metal, we don't need to flush on kernel + * entry or after user access: they fix a P9 specific vulnerability. + */ + if (!pvr_version_is(PVR_POWER9)) { + security_ftr_clear(SEC_FTR_L1D_FLUSH_ENTRY); + security_ftr_clear(SEC_FTR_L1D_FLUSH_UACCESS); + } + enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && \ (security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR) || \ security_ftr_enabled(SEC_FTR_L1D_FLUSH_HV)); setup_rfi_flush(type, enable); setup_count_cache_flush(); + + enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && + security_ftr_enabled(SEC_FTR_L1D_FLUSH_ENTRY); + setup_entry_flush(enable); + + enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && + security_ftr_enabled(SEC_FTR_L1D_FLUSH_UACCESS); + setup_uaccess_flush(enable); } static void __init pnv_setup_arch(void) @@ -169,11 +186,16 @@ add_preferred_console("hvc", 0, NULL); if (!radix_enabled()) { + size_t size = sizeof(struct slb_entry) * mmu_slb_size; int i; /* Allocate per cpu area to save old slb contents during MCE */ - for_each_possible_cpu(i) - paca_ptrs[i]->mce_faulty_slbs = memblock_alloc_node(mmu_slb_size, __alignof__(*paca_ptrs[i]->mce_faulty_slbs), cpu_to_node(i)); + for_each_possible_cpu(i) { + paca_ptrs[i]->mce_faulty_slbs = + memblock_alloc_node(size, + __alignof__(struct slb_entry), + cpu_to_node(i)); + } } } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/powernv/smp.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/powernv/smp.c @@ -43,7 +43,7 @@ #include #define DBG(fmt...) udbg_printf(fmt) #else -#define DBG(fmt...) +#define DBG(fmt...) do { } while (0) #endif static void pnv_smp_setup_cpu(int cpu) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/dlpar.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/dlpar.c @@ -127,7 +127,6 @@ #define NEXT_PROPERTY 3 #define PREV_PARENT 4 #define MORE_MEMORY 5 -#define CALL_AGAIN -2 #define ERR_CFG_USE -9003 struct device_node *dlpar_configure_connector(__be32 drc_index, @@ -168,6 +167,9 @@ spin_unlock(&rtas_data_buf_lock); + if (rtas_busy_delay(rc)) + continue; + switch (rc) { case COMPLETE: break; @@ -216,9 +218,6 @@ last_dn = last_dn->parent; break; - case CALL_AGAIN: - break; - case MORE_MEMORY: case ERR_CFG_USE: default: --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/hotplug-cpu.c @@ -35,54 +35,10 @@ #include #include "pseries.h" -#include "offline_states.h" /* This version can't take the spinlock, because it never returns */ static int rtas_stop_self_token = RTAS_UNKNOWN_SERVICE; -static DEFINE_PER_CPU(enum cpu_state_vals, preferred_offline_state) = - CPU_STATE_OFFLINE; -static DEFINE_PER_CPU(enum cpu_state_vals, current_state) = CPU_STATE_OFFLINE; - -static enum cpu_state_vals default_offline_state = CPU_STATE_OFFLINE; - -static bool cede_offline_enabled __read_mostly = true; - -/* - * Enable/disable cede_offline when available. - */ -static int __init setup_cede_offline(char *str) -{ - return (kstrtobool(str, &cede_offline_enabled) == 0); -} - -__setup("cede_offline=", setup_cede_offline); - -enum cpu_state_vals get_cpu_current_state(int cpu) -{ - return per_cpu(current_state, cpu); -} - -void set_cpu_current_state(int cpu, enum cpu_state_vals state) -{ - per_cpu(current_state, cpu) = state; -} - -enum cpu_state_vals get_preferred_offline_state(int cpu) -{ - return per_cpu(preferred_offline_state, cpu); -} - -void set_preferred_offline_state(int cpu, enum cpu_state_vals state) -{ - per_cpu(preferred_offline_state, cpu) = state; -} - -void set_default_offline_state(int cpu) -{ - per_cpu(preferred_offline_state, cpu) = default_offline_state; -} - static void rtas_stop_self(void) { static struct rtas_args args; @@ -101,9 +57,7 @@ static void pseries_mach_cpu_die(void) { - unsigned int cpu = smp_processor_id(); unsigned int hwcpu = hard_smp_processor_id(); - u8 cede_latency_hint = 0; local_irq_disable(); idle_task_exit(); @@ -112,49 +66,6 @@ else xics_teardown_cpu(); - if (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { - set_cpu_current_state(cpu, CPU_STATE_INACTIVE); - if (ppc_md.suspend_disable_cpu) - ppc_md.suspend_disable_cpu(); - - cede_latency_hint = 2; - - get_lppaca()->idle = 1; - if (!lppaca_shared_proc(get_lppaca())) - get_lppaca()->donate_dedicated_cpu = 1; - - while (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { - while (!prep_irq_for_idle()) { - local_irq_enable(); - local_irq_disable(); - } - - extended_cede_processor(cede_latency_hint); - } - - local_irq_disable(); - - if (!lppaca_shared_proc(get_lppaca())) - get_lppaca()->donate_dedicated_cpu = 0; - get_lppaca()->idle = 0; - - if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) { - unregister_slb_shadow(hwcpu); - - hard_irq_disable(); - /* - * Call to start_secondary_resume() will not return. - * Kernel stack will be reset and start_secondary() - * will be called to continue the online operation. - */ - start_secondary_resume(); - } - } - - /* Requested state is CPU_STATE_OFFLINE at this point */ - WARN_ON(get_preferred_offline_state(cpu) != CPU_STATE_OFFLINE); - - set_cpu_current_state(cpu, CPU_STATE_OFFLINE); unregister_slb_shadow(hwcpu); rtas_stop_self(); @@ -196,33 +107,28 @@ */ static void pseries_cpu_die(unsigned int cpu) { - int tries; int cpu_status = 1; unsigned int pcpu = get_hard_smp_processor_id(cpu); + unsigned long timeout = jiffies + msecs_to_jiffies(120000); - if (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { - cpu_status = 1; - for (tries = 0; tries < 5000; tries++) { - if (get_cpu_current_state(cpu) == CPU_STATE_INACTIVE) { - cpu_status = 0; - break; - } - msleep(1); - } - } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { + while (true) { + cpu_status = smp_query_cpu_stopped(pcpu); + if (cpu_status == QCSS_STOPPED || + cpu_status == QCSS_HARDWARE_ERROR) + break; - for (tries = 0; tries < 25; tries++) { - cpu_status = smp_query_cpu_stopped(pcpu); - if (cpu_status == QCSS_STOPPED || - cpu_status == QCSS_HARDWARE_ERROR) - break; - cpu_relax(); + if (time_after(jiffies, timeout)) { + pr_warn("CPU %i (hwid %i) didn't die after 120 seconds\n", + cpu, pcpu); + timeout = jiffies + msecs_to_jiffies(120000); } + + cond_resched(); } - if (cpu_status != 0) { - printk("Querying DEAD? cpu %i (%i) shows %i\n", - cpu, pcpu, cpu_status); + if (cpu_status == QCSS_HARDWARE_ERROR) { + pr_warn("CPU %i (hwid %i) reported error while dying\n", + cpu, pcpu); } /* Isolation and deallocation are definitely done by @@ -359,28 +265,15 @@ if (get_hard_smp_processor_id(cpu) != thread) continue; - if (get_cpu_current_state(cpu) == CPU_STATE_OFFLINE) - break; - - if (get_cpu_current_state(cpu) == CPU_STATE_ONLINE) { - set_preferred_offline_state(cpu, - CPU_STATE_OFFLINE); - cpu_maps_update_done(); - timed_topology_update(1); - rc = device_offline(get_cpu_device(cpu)); - if (rc) - goto out; - cpu_maps_update_begin(); + if (!cpu_online(cpu)) break; - } - /* - * The cpu is in CPU_STATE_INACTIVE. - * Upgrade it's state to CPU_STATE_OFFLINE. - */ - set_preferred_offline_state(cpu, CPU_STATE_OFFLINE); - WARN_ON(plpar_hcall_norets(H_PROD, thread) != H_SUCCESS); - __cpu_die(cpu); + cpu_maps_update_done(); + timed_topology_update(1); + rc = device_offline(get_cpu_device(cpu)); + if (rc) + goto out; + cpu_maps_update_begin(); break; } if (cpu == num_possible_cpus()) { @@ -414,8 +307,6 @@ for_each_present_cpu(cpu) { if (get_hard_smp_processor_id(cpu) != thread) continue; - BUG_ON(get_cpu_current_state(cpu) - != CPU_STATE_OFFLINE); cpu_maps_update_done(); timed_topology_update(1); find_and_online_cpu_nid(cpu); @@ -1013,27 +904,8 @@ .notifier_call = pseries_smp_notifier, }; -#define MAX_CEDE_LATENCY_LEVELS 4 -#define CEDE_LATENCY_PARAM_LENGTH 10 -#define CEDE_LATENCY_PARAM_MAX_LENGTH \ - (MAX_CEDE_LATENCY_LEVELS * CEDE_LATENCY_PARAM_LENGTH * sizeof(char)) -#define CEDE_LATENCY_TOKEN 45 - -static char cede_parameters[CEDE_LATENCY_PARAM_MAX_LENGTH]; - -static int parse_cede_parameters(void) -{ - memset(cede_parameters, 0, CEDE_LATENCY_PARAM_MAX_LENGTH); - return rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1, - NULL, - CEDE_LATENCY_TOKEN, - __pa(cede_parameters), - CEDE_LATENCY_PARAM_MAX_LENGTH); -} - static int __init pseries_cpu_hotplug_init(void) { - int cpu; int qcss_tok; #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE @@ -1056,16 +928,8 @@ smp_ops->cpu_die = pseries_cpu_die; /* Processors can be added/removed only on LPAR */ - if (firmware_has_feature(FW_FEATURE_LPAR)) { + if (firmware_has_feature(FW_FEATURE_LPAR)) of_reconfig_notifier_register(&pseries_smp_nb); - cpu_maps_update_begin(); - if (cede_offline_enabled && parse_cede_parameters() == 0) { - default_offline_state = CPU_STATE_INACTIVE; - for_each_online_cpu(cpu) - set_default_offline_state(cpu); - } - cpu_maps_update_done(); - } return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/hotplug-memory.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/hotplug-memory.c @@ -27,7 +27,7 @@ unsigned long pseries_memory_block_size(void) { struct device_node *np; - unsigned int memblock_size = MIN_MEMORY_BLOCK_SIZE; + u64 memblock_size = MIN_MEMORY_BLOCK_SIZE; struct resource r; np = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); @@ -279,7 +279,7 @@ return dlpar_change_lmb_state(lmb, false); } -static int pseries_remove_memblock(unsigned long base, unsigned int memblock_size) +static int pseries_remove_memblock(unsigned long base, unsigned long memblock_size) { unsigned long block_sz, start_pfn; int sections_per_block; @@ -310,10 +310,11 @@ static int pseries_remove_mem_node(struct device_node *np) { - const __be32 *regs; + const __be32 *prop; unsigned long base; - unsigned int lmb_size; + unsigned long lmb_size; int ret = -EINVAL; + int addr_cells, size_cells; /* * Check to see if we are actually removing memory @@ -324,12 +325,19 @@ /* * Find the base address and size of the memblock */ - regs = of_get_property(np, "reg", NULL); - if (!regs) + prop = of_get_property(np, "reg", NULL); + if (!prop) return ret; - base = be64_to_cpu(*(unsigned long *)regs); - lmb_size = be32_to_cpu(regs[3]); + addr_cells = of_n_addr_cells(np); + size_cells = of_n_size_cells(np); + + /* + * "reg" property represents (addr,size) tuple. + */ + base = of_read_number(prop, addr_cells); + prop += addr_cells; + lmb_size = of_read_number(prop, size_cells); pseries_remove_memblock(base, lmb_size); return 0; @@ -356,25 +364,32 @@ static int dlpar_remove_lmb(struct drmem_lmb *lmb) { + struct memory_block *mem_block; unsigned long block_sz; int rc; if (!lmb_is_removable(lmb)) return -EINVAL; + mem_block = lmb_to_memblock(lmb); + if (mem_block == NULL) + return -EINVAL; + rc = dlpar_offline_lmb(lmb); - if (rc) + if (rc) { + put_device(&mem_block->dev); return rc; + } block_sz = pseries_memory_block_size(); - __remove_memory(lmb->nid, lmb->base_addr, block_sz); + __remove_memory(mem_block->nid, lmb->base_addr, block_sz); + put_device(&mem_block->dev); /* Update memory regions for memory remove */ memblock_remove(lmb->base_addr, block_sz); invalidate_lmb_associativity_index(lmb); - lmb_clear_nid(lmb); lmb->flags &= ~DRCONF_MEM_ASSIGNED; return 0; @@ -593,7 +608,7 @@ #else static inline int pseries_remove_memblock(unsigned long base, - unsigned int memblock_size) + unsigned long memblock_size) { return -EOPNOTSUPP; } @@ -631,7 +646,7 @@ static int dlpar_add_lmb(struct drmem_lmb *lmb) { unsigned long block_sz; - int rc; + int nid, rc; if (lmb->flags & DRCONF_MEM_ASSIGNED) return -EINVAL; @@ -642,11 +657,13 @@ return rc; } - lmb_set_nid(lmb); block_sz = memory_block_size_bytes(); + /* Find the node id for this address. */ + nid = memory_add_physaddr_to_nid(lmb->base_addr); + /* Add the memory */ - rc = __add_memory(lmb->nid, lmb->base_addr, block_sz); + rc = __add_memory(nid, lmb->base_addr, block_sz); if (rc) { invalidate_lmb_associativity_index(lmb); return rc; @@ -654,9 +671,8 @@ rc = dlpar_online_lmb(lmb); if (rc) { - __remove_memory(lmb->nid, lmb->base_addr, block_sz); + __remove_memory(nid, lmb->base_addr, block_sz); invalidate_lmb_associativity_index(lmb); - lmb_clear_nid(lmb); } else { lmb->flags |= DRCONF_MEM_ASSIGNED; } @@ -925,10 +941,11 @@ static int pseries_add_mem_node(struct device_node *np) { - const __be32 *regs; + const __be32 *prop; unsigned long base; - unsigned int lmb_size; + unsigned long lmb_size; int ret = -EINVAL; + int addr_cells, size_cells; /* * Check to see if we are actually adding memory @@ -939,12 +956,18 @@ /* * Find the base and size of the memblock */ - regs = of_get_property(np, "reg", NULL); - if (!regs) + prop = of_get_property(np, "reg", NULL); + if (!prop) return ret; - base = be64_to_cpu(*(unsigned long *)regs); - lmb_size = be32_to_cpu(regs[3]); + addr_cells = of_n_addr_cells(np); + size_cells = of_n_size_cells(np); + /* + * "reg" property represents (addr,size) tuple. + */ + base = of_read_number(prop, addr_cells); + prop += addr_cells; + lmb_size = of_read_number(prop, size_cells); /* * Update memory region to represent the memory add --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/msi.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/msi.c @@ -4,6 +4,7 @@ * Copyright 2006-2007 Michael Ellerman, IBM Corp. */ +#include #include #include #include @@ -458,7 +459,28 @@ return hwirq; } - virq = irq_create_mapping(NULL, hwirq); + /* + * Depending on the number of online CPUs in the original + * kernel, it is likely for CPU #0 to be offline in a kdump + * kernel. The associated IRQs in the affinity mappings + * provided by irq_create_affinity_masks() are thus not + * started by irq_startup(), as per-design for managed IRQs. + * This can be a problem with multi-queue block devices driven + * by blk-mq : such a non-started IRQ is very likely paired + * with the single queue enforced by blk-mq during kdump (see + * blk_mq_alloc_tag_set()). This causes the device to remain + * silent and likely hangs the guest at some point. + * + * We don't really care for fine-grained affinity when doing + * kdump actually : simply ignore the pre-computed affinity + * masks in this case and let the default mask with all CPUs + * be used when creating the IRQ mappings. + */ + if (is_kdump_kernel()) + virq = irq_create_mapping(NULL, hwirq); + else + virq = irq_create_mapping_affinity(NULL, hwirq, + entry->affinity); if (!virq) { pr_debug("rtas_msi: Failed mapping hwirq %d\n", hwirq); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/papr_scm.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/papr_scm.c @@ -702,6 +702,9 @@ p->bus_desc.of_node = p->pdev->dev.of_node; p->bus_desc.provider_name = kstrdup(p->pdev->name, GFP_KERNEL); + /* Set the dimm command family mask to accept PDSMs */ + set_bit(NVDIMM_FAMILY_PAPR, &p->bus_desc.dimm_family_mask); + if (!p->bus_desc.provider_name) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/pmem.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/pmem.c @@ -24,7 +24,6 @@ #include #include "pseries.h" -#include "offline_states.h" static struct device_node *pmem_node; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/ras.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/ras.c @@ -184,7 +184,6 @@ case EPOW_SHUTDOWN_ON_UPS: pr_emerg("Loss of system power detected. System is running on" " UPS/battery. Check RTAS error log for details\n"); - orderly_poweroff(true); break; case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: @@ -522,18 +521,55 @@ return 0; /* need to perform reset */ } +static int mce_handle_err_realmode(int disposition, u8 error_type) +{ +#ifdef CONFIG_PPC_BOOK3S_64 + if (disposition == RTAS_DISP_NOT_RECOVERED) { + switch (error_type) { + case MC_ERROR_TYPE_SLB: + case MC_ERROR_TYPE_ERAT: + /* + * Store the old slb content in paca before flushing. + * Print this when we go to virtual mode. + * There are chances that we may hit MCE again if there + * is a parity error on the SLB entry we trying to read + * for saving. Hence limit the slb saving to single + * level of recursion. + */ + if (local_paca->in_mce == 1) + slb_save_contents(local_paca->mce_faulty_slbs); + flush_and_reload_slb(); + disposition = RTAS_DISP_FULLY_RECOVERED; + break; + default: + break; + } + } else if (disposition == RTAS_DISP_LIMITED_RECOVERY) { + /* Platform corrected itself but could be degraded */ + pr_err("MCE: limited recovery, system may be degraded\n"); + disposition = RTAS_DISP_FULLY_RECOVERED; + } +#endif + return disposition; +} -static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp) +static int mce_handle_err_virtmode(struct pt_regs *regs, + struct rtas_error_log *errp, + struct pseries_mc_errorlog *mce_log, + int disposition) { struct mce_error_info mce_err = { 0 }; - unsigned long eaddr = 0, paddr = 0; - struct pseries_errorlog *pseries_log; - struct pseries_mc_errorlog *mce_log; - int disposition = rtas_error_disposition(errp); int initiator = rtas_error_initiator(errp); int severity = rtas_error_severity(errp); + unsigned long eaddr = 0, paddr = 0; u8 error_type, err_sub_type; + if (!mce_log) + goto out; + + error_type = mce_log->error_type; + err_sub_type = rtas_mc_error_sub_type(mce_log); + if (initiator == RTAS_INITIATOR_UNKNOWN) mce_err.initiator = MCE_INITIATOR_UNKNOWN; else if (initiator == RTAS_INITIATOR_CPU) @@ -572,18 +608,7 @@ mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN; mce_err.error_class = MCE_ECLASS_UNKNOWN; - if (!rtas_error_extended(errp)) - goto out; - - pseries_log = get_pseries_errorlog(errp, PSERIES_ELOG_SECT_ID_MCE); - if (pseries_log == NULL) - goto out; - - mce_log = (struct pseries_mc_errorlog *)pseries_log->data; - error_type = mce_log->error_type; - err_sub_type = rtas_mc_error_sub_type(mce_log); - - switch (mce_log->error_type) { + switch (error_type) { case MC_ERROR_TYPE_UE: mce_err.error_type = MCE_ERROR_TYPE_UE; mce_common_process_ue(regs, &mce_err); @@ -683,37 +708,31 @@ mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN; break; } +out: + save_mce_event(regs, disposition == RTAS_DISP_FULLY_RECOVERED, + &mce_err, regs->nip, eaddr, paddr); + return disposition; +} -#ifdef CONFIG_PPC_BOOK3S_64 - if (disposition == RTAS_DISP_NOT_RECOVERED) { - switch (error_type) { - case MC_ERROR_TYPE_SLB: - case MC_ERROR_TYPE_ERAT: - /* - * Store the old slb content in paca before flushing. - * Print this when we go to virtual mode. - * There are chances that we may hit MCE again if there - * is a parity error on the SLB entry we trying to read - * for saving. Hence limit the slb saving to single - * level of recursion. - */ - if (local_paca->in_mce == 1) - slb_save_contents(local_paca->mce_faulty_slbs); - flush_and_reload_slb(); - disposition = RTAS_DISP_FULLY_RECOVERED; - break; - default: - break; - } - } else if (disposition == RTAS_DISP_LIMITED_RECOVERY) { - /* Platform corrected itself but could be degraded */ - printk(KERN_ERR "MCE: limited recovery, system may " - "be degraded\n"); - disposition = RTAS_DISP_FULLY_RECOVERED; - } -#endif +static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp) +{ + struct pseries_errorlog *pseries_log; + struct pseries_mc_errorlog *mce_log = NULL; + int disposition = rtas_error_disposition(errp); + u8 error_type; + + if (!rtas_error_extended(errp)) + goto out; + + pseries_log = get_pseries_errorlog(errp, PSERIES_ELOG_SECT_ID_MCE); + if (!pseries_log) + goto out; + + mce_log = (struct pseries_mc_errorlog *)pseries_log->data; + error_type = mce_log->error_type; + + disposition = mce_handle_err_realmode(disposition, error_type); -out: /* * Enable translation as we will be accessing per-cpu variables * in save_mce_event() which may fall outside RMO region, also @@ -724,10 +743,10 @@ * Note: All the realmode handling like flushing SLB entries for * SLB multihit is done by now. */ +out: mtmsr(mfmsr() | MSR_IR | MSR_DR); - save_mce_event(regs, disposition == RTAS_DISP_FULLY_RECOVERED, - &mce_err, regs->nip, eaddr, paddr); - + disposition = mce_handle_err_virtmode(regs, errp, mce_log, + disposition); return disposition; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/rng.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/rng.c @@ -36,6 +36,7 @@ ppc_md.get_random_seed = pseries_get_random_long; + of_node_put(dn); return 0; } machine_subsys_initcall(pseries, rng_init); --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/setup.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/setup.c @@ -570,6 +570,14 @@ setup_rfi_flush(types, enable); setup_count_cache_flush(); + + enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && + security_ftr_enabled(SEC_FTR_L1D_FLUSH_ENTRY); + setup_entry_flush(enable); + + enable = security_ftr_enabled(SEC_FTR_FAVOUR_SECURITY) && + security_ftr_enabled(SEC_FTR_L1D_FLUSH_UACCESS); + setup_uaccess_flush(enable); } #ifdef CONFIG_PCI_IOV --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/smp.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/smp.c @@ -44,8 +44,6 @@ #include #include "pseries.h" -#include "offline_states.h" - /* * The Primary thread of each non-boot processor was started from the OF client @@ -108,10 +106,7 @@ /* Fixup atomic count: it exited inside IRQ handler. */ task_thread_info(paca_ptrs[lcpu]->__current)->preempt_count = 0; -#ifdef CONFIG_HOTPLUG_CPU - if (get_cpu_current_state(lcpu) == CPU_STATE_INACTIVE) - goto out; -#endif + /* * If the RTAS start-cpu token does not exist then presume the * cpu is already spinning. @@ -126,9 +121,6 @@ return 0; } -#ifdef CONFIG_HOTPLUG_CPU -out: -#endif return 1; } @@ -143,10 +135,6 @@ vpa_init(cpu); cpumask_clear_cpu(cpu, of_spin_mask); -#ifdef CONFIG_HOTPLUG_CPU - set_cpu_current_state(cpu, CPU_STATE_ONLINE); - set_default_offline_state(cpu); -#endif } static int smp_pSeries_kick_cpu(int nr) @@ -163,20 +151,6 @@ * the processor will continue on to secondary_start */ paca_ptrs[nr]->cpu_start = 1; -#ifdef CONFIG_HOTPLUG_CPU - set_preferred_offline_state(nr, CPU_STATE_ONLINE); - - if (get_cpu_current_state(nr) == CPU_STATE_INACTIVE) { - long rc; - unsigned long hcpuid; - - hcpuid = get_hard_smp_processor_id(nr); - rc = plpar_hcall_norets(H_PROD, hcpuid); - if (rc != H_SUCCESS) - printk(KERN_ERR "Error: Prod to wake up processor %d " - "Ret= %ld\n", nr, rc); - } -#endif return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/suspend.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/suspend.c @@ -13,7 +13,6 @@ #include #include #include -#include "../../kernel/cacheinfo.h" static u64 stream_id; static struct device suspend_dev; @@ -78,9 +77,7 @@ * Update configuration which can be modified based on device tree * changes during resume. */ - cacheinfo_cpu_offline(smp_processor_id()); post_mobility_fixup(); - cacheinfo_cpu_online(smp_processor_id()); } /** @@ -132,15 +129,11 @@ struct device_attribute *attr, const char *buf, size_t count) { - cpumask_var_t offline_mask; int rc; if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (!alloc_cpumask_var(&offline_mask, GFP_KERNEL)) - return -ENOMEM; - stream_id = simple_strtoul(buf, NULL, 16); do { @@ -150,32 +143,16 @@ } while (rc == -EAGAIN); if (!rc) { - /* All present CPUs must be online */ - cpumask_andnot(offline_mask, cpu_present_mask, - cpu_online_mask); - rc = rtas_online_cpus_mask(offline_mask); - if (rc) { - pr_err("%s: Could not bring present CPUs online.\n", - __func__); - goto out; - } - stop_topology_update(); rc = pm_suspend(PM_SUSPEND_MEM); start_topology_update(); - - /* Take down CPUs not online prior to suspend */ - if (!rtas_offline_cpus_mask(offline_mask)) - pr_warn("%s: Could not restore CPUs to offline " - "state.\n", __func__); } stream_id = 0; if (!rc) rc = count; -out: - free_cpumask_var(offline_mask); + return rc; } @@ -210,7 +187,6 @@ static const struct platform_suspend_ops pseries_suspend_ops = { .valid = suspend_valid_only_mem, - .begin = pseries_suspend_begin, .prepare_late = pseries_prepare_late, .enter = pseries_suspend_enter, }; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/svm.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/svm.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include @@ -34,6 +35,31 @@ } machine_early_initcall(pseries, init_svm); +/* + * Initialize SWIOTLB. Essentially the same as swiotlb_init(), except that it + * can allocate the buffer anywhere in memory. Since the hypervisor doesn't have + * any addressing limitation, we don't need to allocate it in low addresses. + */ +void __init svm_swiotlb_init(void) +{ + unsigned char *vstart; + unsigned long bytes, io_tlb_nslabs; + + io_tlb_nslabs = (swiotlb_size_or_default() >> IO_TLB_SHIFT); + io_tlb_nslabs = ALIGN(io_tlb_nslabs, IO_TLB_SEGSIZE); + + bytes = io_tlb_nslabs << IO_TLB_SHIFT; + + vstart = memblock_alloc(PAGE_ALIGN(bytes), PAGE_SIZE); + if (vstart && !swiotlb_init_with_tbl(vstart, io_tlb_nslabs, false)) + return; + + if (io_tlb_start) + memblock_free_early(io_tlb_start, + PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT)); + panic("SVM: Cannot allocate SWIOTLB buffer"); +} + int set_memory_encrypted(unsigned long addr, int numpages) { if (!PAGE_ALIGNED(addr)) --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/platforms/pseries/vio.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/platforms/pseries/vio.c @@ -37,7 +37,6 @@ .name = "vio", .type = "", .dev.init_name = "vio", - .dev.bus = &vio_bus_type, }; #ifdef CONFIG_PPC_SMLPAR --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/sysdev/mpic_msgr.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/sysdev/mpic_msgr.c @@ -191,7 +191,7 @@ /* IO map the message register block. */ of_address_to_resource(np, 0, &rsrc); - msgr_block_addr = ioremap(rsrc.start, resource_size(&rsrc)); + msgr_block_addr = devm_ioremap(&dev->dev, rsrc.start, resource_size(&rsrc)); if (!msgr_block_addr) { dev_err(&dev->dev, "Failed to iomap MPIC message registers"); return -EFAULT; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/sysdev/xics/icp-hv.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/sysdev/xics/icp-hv.c @@ -174,6 +174,7 @@ icp_ops = &icp_hv_ops; + of_node_put(np); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/sysdev/xive/native.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/sysdev/xive/native.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -647,6 +648,7 @@ pr_err("Failed to allocate provisioning page\n"); return false; } + kmemleak_ignore(p); opal_xive_donate_page(chip, __pa(p)); } return true; --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/xmon/nonstdio.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/xmon/nonstdio.c @@ -178,7 +178,7 @@ if (n && rc == 0) { /* No udbg hooks, fallback to printk() - dangerous */ - printk("%s", xmon_outbuf); + pr_cont("%s", xmon_outbuf); } } --- linux-riscv-5.8-5.8.0.orig/arch/powerpc/xmon/xmon.c +++ linux-riscv-5.8-5.8.0/arch/powerpc/xmon/xmon.c @@ -962,6 +962,7 @@ brk.address = dabr[i].address; brk.type = (dabr[i].enabled & HW_BRK_TYPE_DABR) | HW_BRK_TYPE_PRIV_ALL; brk.len = 8; + brk.hw_len = 8; __set_breakpoint(i, &brk); } } @@ -1375,6 +1376,7 @@ return 1; } +#ifndef CONFIG_PPC_8xx static int find_free_data_bpt(void) { int i; @@ -1386,6 +1388,7 @@ printf("Couldn't find free breakpoint register\n"); return -1; } +#endif static void print_data_bpts(void) { --- linux-riscv-5.8-5.8.0.orig/arch/riscv/Kconfig +++ linux-riscv-5.8-5.8.0/arch/riscv/Kconfig @@ -74,7 +74,6 @@ select PCI_MSI if PCI select RISCV_INTC select RISCV_TIMER - select SPARSEMEM_STATIC if 32BIT select SPARSE_IRQ select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK @@ -123,7 +122,7 @@ config PAGE_OFFSET hex - default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB + default 0xC0000000 if 32BIT && MAXPHYSMEM_1GB default 0x80000000 if 64BIT && !MMU default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB @@ -134,7 +133,8 @@ config ARCH_SPARSEMEM_ENABLE def_bool y depends on MMU - select SPARSEMEM_VMEMMAP_ENABLE + select SPARSEMEM_STATIC if 32BIT && SPARSEMEM + select SPARSEMEM_VMEMMAP_ENABLE if 64BIT config ARCH_SELECT_MEMORY_MODEL def_bool ARCH_SPARSEMEM_ENABLE @@ -233,11 +233,15 @@ choice prompt "Maximum Physical Memory" - default MAXPHYSMEM_2GB if 32BIT + default MAXPHYSMEM_1GB if 32BIT default MAXPHYSMEM_2GB if 64BIT && CMODEL_MEDLOW default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY + config MAXPHYSMEM_1GB + depends on 32BIT + bool "1GiB" config MAXPHYSMEM_2GB + depends on 64BIT && CMODEL_MEDLOW bool "2GiB" config MAXPHYSMEM_128GB depends on 64BIT && CMODEL_MEDANY --- linux-riscv-5.8-5.8.0.orig/arch/riscv/Kconfig.socs +++ linux-riscv-5.8-5.8.0/arch/riscv/Kconfig.socs @@ -5,7 +5,7 @@ select SERIAL_SIFIVE if TTY select SERIAL_SIFIVE_CONSOLE if TTY select CLK_SIFIVE - select CLK_SIFIVE_FU540_PRCI + select CLK_SIFIVE_PRCI select SIFIVE_PLIC help This enables support for SiFive SoC platform hardware. --- linux-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/kendryte/k210.dtsi +++ linux-riscv-5.8-5.8.0/arch/riscv/boot/dts/kendryte/k210.dtsi @@ -95,10 +95,12 @@ #clock-cells = <1>; }; - clint0: interrupt-controller@2000000 { + clint0: clint@2000000 { + #interrupt-cells = <1>; compatible = "riscv,clint0"; reg = <0x2000000 0xC000>; - interrupts-extended = <&cpu0_intc 3>, <&cpu1_intc 3>; + interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7 + &cpu1_intc 3 &cpu1_intc 7>; clocks = <&sysctl K210_CLK_ACLK>; }; --- linux-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/sifive/Makefile +++ linux-riscv-5.8-5.8.0/arch/riscv/boot/dts/sifive/Makefile @@ -1,2 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 -dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb +dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb \ + hifive-unmatched-a00.dtb --- linux-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/sifive/fu740-c000.dtsi +++ linux-riscv-5.8-5.8.0/arch/riscv/boot/dts/sifive/fu740-c000.dtsi @@ -0,0 +1,293 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2020 SiFive, Inc */ + +/dts-v1/; + +#include + +/ { + #address-cells = <2>; + #size-cells = <2>; + compatible = "sifive,fu740-c000", "sifive,fu740"; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + ethernet0 = ð0; + }; + + chosen { + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu0: cpu@0 { + compatible = "sifive,bullet0", "riscv"; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <16384>; + next-level-cache = <&ccache>; + reg = <0x0>; + riscv,isa = "rv64imac"; + status = "disabled"; + cpu0_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu1: cpu@1 { + compatible = "sifive,bullet0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <40>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <40>; + mmu-type = "riscv,sv39"; + next-level-cache = <&ccache>; + reg = <0x1>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu1_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu2: cpu@2 { + compatible = "sifive,bullet0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <40>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <40>; + mmu-type = "riscv,sv39"; + next-level-cache = <&ccache>; + reg = <0x2>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu2_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu3: cpu@3 { + compatible = "sifive,bullet0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <40>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <40>; + mmu-type = "riscv,sv39"; + next-level-cache = <&ccache>; + reg = <0x3>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu3_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + cpu4: cpu@4 { + compatible = "sifive,bullet0", "riscv"; + d-cache-block-size = <64>; + d-cache-sets = <64>; + d-cache-size = <32768>; + d-tlb-sets = <1>; + d-tlb-size = <40>; + device_type = "cpu"; + i-cache-block-size = <64>; + i-cache-sets = <128>; + i-cache-size = <32768>; + i-tlb-sets = <1>; + i-tlb-size = <40>; + mmu-type = "riscv,sv39"; + next-level-cache = <&ccache>; + reg = <0x4>; + riscv,isa = "rv64imafdc"; + tlb-split; + cpu4_intc: interrupt-controller { + #interrupt-cells = <1>; + compatible = "riscv,cpu-intc"; + interrupt-controller; + }; + }; + }; + soc { + #address-cells = <2>; + #size-cells = <2>; + compatible = "simple-bus"; + ranges; + plic0: interrupt-controller@c000000 { + #interrupt-cells = <1>; + #address-cells = <0>; + compatible = "sifive,fu540-c000-plic", "sifive,plic-1.0.0"; + reg = <0x0 0xc000000 0x0 0x4000000>; + riscv,ndev = <69>; + interrupt-controller; + interrupts-extended = < + &cpu0_intc 0xffffffff + &cpu1_intc 0xffffffff &cpu1_intc 9 + &cpu2_intc 0xffffffff &cpu2_intc 9 + &cpu3_intc 0xffffffff &cpu3_intc 9 + &cpu4_intc 0xffffffff &cpu4_intc 9>; + }; + prci: clock-controller@10000000 { + compatible = "sifive,fu740-c000-prci"; + reg = <0x0 0x10000000 0x0 0x1000>; + clocks = <&hfclk>, <&rtcclk>; + #clock-cells = <1>; + }; + uart0: serial@10010000 { + compatible = "sifive,fu740-c000-uart", "sifive,uart0"; + reg = <0x0 0x10010000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <39>; + clocks = <&prci PRCI_CLK_PCLK>; + status = "disabled"; + }; + uart1: serial@10011000 { + compatible = "sifive,fu740-c000-uart", "sifive,uart0"; + reg = <0x0 0x10011000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <40>; + clocks = <&prci PRCI_CLK_PCLK>; + status = "disabled"; + }; + i2c0: i2c@10030000 { + compatible = "sifive,fu740-c000-i2c", "sifive,i2c0"; + reg = <0x0 0x10030000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <52>; + clocks = <&prci PRCI_CLK_PCLK>; + reg-shift = <2>; + reg-io-width = <1>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + i2c1: i2c@10031000 { + compatible = "sifive,fu740-c000-i2c", "sifive,i2c0"; + reg = <0x0 0x10031000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <53>; + clocks = <&prci PRCI_CLK_PCLK>; + reg-shift = <2>; + reg-io-width = <1>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + qspi0: spi@10040000 { + compatible = "sifive,fu740-c000-spi", "sifive,spi0"; + reg = <0x0 0x10040000 0x0 0x1000>, + <0x0 0x20000000 0x0 0x10000000>; + interrupt-parent = <&plic0>; + interrupts = <41>; + clocks = <&prci PRCI_CLK_PCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + qspi1: spi@10041000 { + compatible = "sifive,fu740-c000-spi", "sifive,spi0"; + reg = <0x0 0x10041000 0x0 0x1000>, + <0x0 0x30000000 0x0 0x10000000>; + interrupt-parent = <&plic0>; + interrupts = <42>; + clocks = <&prci PRCI_CLK_PCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + spi0: spi@10050000 { + compatible = "sifive,fu740-c000-spi", "sifive,spi0"; + reg = <0x0 0x10050000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <43>; + clocks = <&prci PRCI_CLK_PCLK>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + eth0: ethernet@10090000 { + compatible = "sifive,fu540-c000-gem"; + interrupt-parent = <&plic0>; + interrupts = <55>; + reg = <0x0 0x10090000 0x0 0x2000>, + <0x0 0x100a0000 0x0 0x1000>; + local-mac-address = [00 00 00 00 00 00]; + clock-names = "pclk", "hclk"; + clocks = <&prci PRCI_CLK_GEMGXLPLL>, + <&prci PRCI_CLK_GEMGXLPLL>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + pwm0: pwm@10020000 { + compatible = "sifive,fu740-c000-pwm", "sifive,pwm0"; + reg = <0x0 0x10020000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <44>, <45>, <46>, <47>; + clocks = <&prci PRCI_CLK_PCLK>; + #pwm-cells = <3>; + status = "disabled"; + }; + pwm1: pwm@10021000 { + compatible = "sifive,fu740-c000-pwm", "sifive,pwm0"; + reg = <0x0 0x10021000 0x0 0x1000>; + interrupt-parent = <&plic0>; + interrupts = <48>, <49>, <50>, <51>; + clocks = <&prci PRCI_CLK_PCLK>; + #pwm-cells = <3>; + status = "disabled"; + }; + ccache: cache-controller@2010000 { + compatible = "sifive,fu740-c000-ccache", "cache"; + cache-block-size = <64>; + cache-level = <2>; + cache-sets = <2048>; + cache-size = <2097152>; + cache-unified; + interrupt-parent = <&plic0>; + interrupts = <19 20 21 22>; + reg = <0x0 0x2010000 0x0 0x1000>; + }; + gpio: gpio@10060000 { + compatible = "sifive,fu740-c000-gpio", "sifive,gpio0"; + interrupt-parent = <&plic0>; + interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>, + <30>, <31>, <32>, <33>, <34>, <35>, <36>, + <37>, <38>; + reg = <0x0 0x10060000 0x0 0x1000>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + clocks = <&prci PRCI_CLK_PCLK>; + status = "disabled"; + }; + }; +}; --- linux-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/sifive/hifive-unleashed-a00-microsemi.dts +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts +++ linux-riscv-5.8-5.8.0/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts @@ -3,6 +3,7 @@ #include "fu540-c000.dtsi" #include +#include /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -27,6 +28,37 @@ }; soc { + pwmleds { + compatible = "pwm-leds"; + d1 { + label = "green:d1"; + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; + active-low = <1>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + d2 { + label = "green:d2"; + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; + active-low = <1>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + d3 { + label = "green:d3"; + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; + active-low = <1>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + d4 { + label = "green:d4"; + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; + active-low = <1>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + }; }; hfclk: hfclk { @@ -88,6 +120,7 @@ phy-mode = "gmii"; phy-handle = <&phy0>; phy0: ethernet-phy@0 { + compatible = "ethernet-phy-id0007.0771"; reg = <0>; }; }; --- linux-riscv-5.8-5.8.0.orig/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts +++ linux-riscv-5.8-5.8.0/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts @@ -0,0 +1,253 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* Copyright (c) 2020 SiFive, Inc */ + +#include "fu740-c000.dtsi" +#include + +/* Clock frequency (in Hz) of the PCB crystal for rtcclk */ +#define RTCCLK_FREQ 1000000 + +/ { + #address-cells = <2>; + #size-cells = <2>; + model = "SiFive HiFive Unmatched A00"; + compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000", + "sifive,fu740"; + + chosen { + stdout-path = "serial0"; + }; + + cpus { + timebase-frequency = ; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x2 0x00000000>; + }; + + soc { + }; + + hfclk: hfclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <26000000>; + clock-output-names = "hfclk"; + }; + + rtcclk: rtcclk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = ; + clock-output-names = "rtcclk"; + }; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + temperature-sensor@4c { + compatible = "ti,tmp451"; + reg = <0x4c>; + interrupt-parent = <&gpio>; + interrupts = <6 IRQ_TYPE_LEVEL_LOW>; + }; + + pmic@58 { + compatible = "dlg,da9063"; + reg = <0x58>; + interrupt-parent = <&gpio>; + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; + interrupt-controller; + + regulators { + vdd_bcore1: bcore1 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-min-microamp = <5000000>; + regulator-max-microamp = <5000000>; + regulator-always-on; + }; + + vdd_bcore2: bcore2 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-min-microamp = <5000000>; + regulator-max-microamp = <5000000>; + regulator-always-on; + }; + + vdd_bpro: bpro { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <2500000>; + regulator-max-microamp = <2500000>; + regulator-always-on; + }; + + vdd_bperi: bperi { + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-min-microamp = <1500000>; + regulator-max-microamp = <1500000>; + regulator-always-on; + }; + + vdd_bmem: bmem { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-min-microamp = <3000000>; + regulator-max-microamp = <3000000>; + regulator-always-on; + }; + + vdd_bio: bio { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-min-microamp = <3000000>; + regulator-max-microamp = <3000000>; + regulator-always-on; + }; + + vdd_ldo1: ldo1 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <100000>; + regulator-max-microamp = <100000>; + regulator-always-on; + }; + + vdd_ldo2: ldo2 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ldo3: ldo3 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ldo4: ldo4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ldo5: ldo5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <100000>; + regulator-max-microamp = <100000>; + regulator-always-on; + }; + + vdd_ldo6: ldo6 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ldo7: ldo7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ldo8: ldo8 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + regulator-always-on; + }; + + vdd_ld09: ldo9 { + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-min-microamp = <200000>; + regulator-max-microamp = <200000>; + }; + + vdd_ldo10: ldo10 { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-min-microamp = <300000>; + regulator-max-microamp = <300000>; + }; + + vdd_ldo11: ldo11 { + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; + regulator-min-microamp = <300000>; + regulator-max-microamp = <300000>; + regulator-always-on; + }; + }; + }; +}; + +&qspi0 { + status = "okay"; + flash@0 { + compatible = "issi,is25wp256", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + m25p,fast-read; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + }; +}; + +&spi0 { + status = "okay"; + mmc@0 { + compatible = "mmc-spi-slot"; + reg = <0>; + spi-max-frequency = <20000000>; + voltage-ranges = <3300 3300>; + disable-wp; + }; +}; + +ð0 { + status = "okay"; + phy-mode = "gmii"; + phy-handle = <&phy0>; + phy0: ethernet-phy@0 { + reg = <0>; + }; +}; + +&pwm0 { + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +&gpio { + status = "okay"; +}; --- linux-riscv-5.8-5.8.0.orig/arch/riscv/configs/defconfig +++ linux-riscv-5.8-5.8.0/arch/riscv/configs/defconfig @@ -63,6 +63,8 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set CONFIG_POWER_RESET=y CONFIG_DRM=y --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/Kbuild @@ -2,6 +2,5 @@ generic-y += extable.h generic-y += flat.h generic-y += kvm_para.h -generic-y += local64.h generic-y += user.h generic-y += vmlinux.lds.h --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/ftrace.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/ftrace.h @@ -66,6 +66,13 @@ * Let auipc+jalr be the basic *mcount unit*, so we make it 8 bytes here. */ #define MCOUNT_INSN_SIZE 8 + +#ifndef __ASSEMBLY__ +struct dyn_ftrace; +int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec); +#define ftrace_init_nop ftrace_init_nop +#endif + #endif #endif /* _ASM_RISCV_FTRACE_H */ --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/page.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/page.h @@ -135,7 +135,10 @@ #endif /* __ASSEMBLY__ */ -#define virt_addr_valid(vaddr) (pfn_valid(virt_to_pfn(vaddr))) +#define virt_addr_valid(vaddr) ({ \ + unsigned long _addr = (unsigned long)vaddr; \ + (unsigned long)(_addr) >= PAGE_OFFSET && pfn_valid(virt_to_pfn(_addr)); \ +}) #define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_NON_EXEC --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/pgtable-32.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/pgtable-32.h @@ -14,4 +14,6 @@ #define PGDIR_SIZE (_AC(1, UL) << PGDIR_SHIFT) #define PGDIR_MASK (~(PGDIR_SIZE - 1)) +#define MAX_POSSIBLE_PHYSMEM_BITS 34 + #endif /* _ASM_RISCV_PGTABLE_32_H */ --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/sbi.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/sbi.h @@ -51,10 +51,10 @@ SBI_EXT_RFENCE_REMOTE_FENCE_I = 0, SBI_EXT_RFENCE_REMOTE_SFENCE_VMA, SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID, - SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA, SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID, - SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA, + SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA, SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID, + SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA, }; enum sbi_ext_hsm_fid { --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/vdso.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/vdso.h @@ -10,7 +10,7 @@ #include -#ifndef GENERIC_TIME_VSYSCALL +#ifndef CONFIG_GENERIC_TIME_VSYSCALL struct vdso_data { }; #endif --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/asm/vdso/processor.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/asm/vdso/processor.h @@ -4,6 +4,8 @@ #ifndef __ASSEMBLY__ +#include + static inline void cpu_relax(void) { #ifdef __riscv_muldiv --- linux-riscv-5.8-5.8.0.orig/arch/riscv/include/uapi/asm/auxvec.h +++ linux-riscv-5.8-5.8.0/arch/riscv/include/uapi/asm/auxvec.h @@ -10,4 +10,7 @@ /* vDSO location */ #define AT_SYSINFO_EHDR 33 +/* entries in ARCH_DLINFO */ +#define AT_VECTOR_SIZE_ARCH 1 + #endif /* _UAPI_ASM_RISCV_AUXVEC_H */ --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/entry.S +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/entry.S @@ -137,6 +137,15 @@ tail do_trap_unknown handle_syscall: +#ifdef CONFIG_RISCV_M_MODE + /* + * When running is M-Mode (no MMU config), MPIE does not get set. + * As a result, we need to force enable interrupts here because + * handle_exception did not do set SR_IE as it always sees SR_PIE + * being cleared. + */ + csrs CSR_STATUS, SR_IE +#endif /* save the initial A0 value (needed in signal handlers) */ REG_S a0, PT_ORIG_A0(sp) /* @@ -157,14 +166,7 @@ * Syscall number held in a7. * If syscall number is above allowed value, redirect to ni_syscall. */ - bge a7, t0, 1f - /* - * Check if syscall is rejected by tracer, i.e., a7 == -1. - * If yes, we pretend it was executed. - */ - li t1, -1 - beq a7, t1, ret_from_syscall_rejected - blt a7, t1, 1f + bgeu a7, t0, 1f /* Call syscall */ la s0, sys_call_table slli t0, a7, RISCV_LGPTR @@ -403,6 +405,7 @@ #endif .section ".rodata" + .align LGREG /* Exception vector table */ ENTRY(excp_vect_table) RISCV_PTR do_trap_insn_misaligned --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/ftrace.c +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/ftrace.c @@ -97,6 +97,25 @@ return __ftrace_modify_call(rec->ip, addr, false); } + +/* + * This is called early on, and isn't wrapped by + * ftrace_arch_code_modify_{prepare,post_process}() and therefor doesn't hold + * text_mutex, which triggers a lockdep failure. SMP isn't running so we could + * just directly poke the text, but it's simpler to just take the lock + * ourselves. + */ +int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec) +{ + int out; + + ftrace_arch_code_modify_prepare(); + out = ftrace_make_nop(mod, rec, MCOUNT_ADDR); + ftrace_arch_code_modify_post_process(); + + return out; +} + int ftrace_update_ftrace_func(ftrace_func_t func) { int ret = __ftrace_modify_call((unsigned long)&ftrace_call, --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/head.S +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/head.S @@ -27,6 +27,10 @@ /* reserved */ .word 0 .balign 8 +#ifdef CONFIG_RISCV_M_MODE + /* Image load offset (0MB) from start of RAM for M-mode */ + .dword 0 +#else #if __riscv_xlen == 64 /* Image load offset(2MB) from start of RAM */ .dword 0x200000 @@ -34,6 +38,7 @@ /* Image load offset(4MB) from start of RAM */ .dword 0x400000 #endif +#endif /* Effective size of kernel image */ .dword _end - _start .dword __HEAD_FLAGS --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/setup.c +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/setup.c @@ -70,6 +70,7 @@ *cmdline_p = boot_command_line; + jump_label_init(); parse_early_param(); setup_bootmem(); --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/time.c +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/time.c @@ -4,6 +4,7 @@ * Copyright (C) 2017 SiFive */ +#include #include #include #include @@ -24,6 +25,8 @@ riscv_timebase = prop; lpj_fine = riscv_timebase / HZ; + + of_clk_init(NULL); timer_probe(); } --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/vdso.c +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/vdso.c @@ -12,7 +12,7 @@ #include #include #include -#ifdef GENERIC_TIME_VSYSCALL +#ifdef CONFIG_GENERIC_TIME_VSYSCALL #include #else #include --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/vdso/Makefile @@ -30,8 +30,9 @@ # Disable -pg to prevent insert call site CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os -# Disable gcov profiling for VDSO code +# Disable profiling and instrumentation for VDSO code GCOV_PROFILE := n +KASAN_SANITIZE := n # Force dependency $(obj)/vdso.o: $(obj)/vdso.so @@ -40,19 +41,14 @@ SYSCFLAGS_vdso.so.dbg = $(c_flags) $(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso) FORCE $(call if_changed,vdsold) +SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \ + -Wl,--build-id=sha1 -Wl,--hash-style=both # We also create a special relocatable object that should mirror the symbol # table and layout of the linked DSO. With ld --just-symbols we can then # refer to these symbols in the kernel code rather than hand-coded addresses. - -SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \ - -Wl,--build-id -Wl,--hash-style=both -$(obj)/vdso-dummy.o: $(src)/vdso.lds $(obj)/rt_sigreturn.o FORCE - $(call if_changed,vdsold) - -LDFLAGS_vdso-syms.o := -r --just-symbols -$(obj)/vdso-syms.o: $(obj)/vdso-dummy.o FORCE - $(call if_changed,ld) +$(obj)/vdso-syms.S: $(obj)/vdso.so FORCE + $(call if_changed,so2s) # strip rule for the .so file $(obj)/%.so: OBJCOPYFLAGS := -S @@ -70,6 +66,11 @@ $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \ rm $@.tmp +# Extracts symbol offsets from the VDSO, converting them into an assembly file +# that contains the same symbols at the same offsets. +quiet_cmd_so2s = SO2S $@ + cmd_so2s = $(NM) -D $< | $(srctree)/$(src)/so2s.sh > $@ + # install commands for the unstripped file quiet_cmd_vdso_install = INSTALL $@ cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@ --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/vdso/so2s.sh +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/vdso/so2s.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0+ +# Copyright 2020 Palmer Dabbelt + +sed 's!\([0-9a-f]*\) T \([a-z0-9_]*\)\(@@LINUX_4.15\)*!.global \2\n.set \2,0x\1!' \ +| grep '^\.' --- linux-riscv-5.8-5.8.0.orig/arch/riscv/kernel/vmlinux.lds.S +++ linux-riscv-5.8-5.8.0/arch/riscv/kernel/vmlinux.lds.S @@ -27,7 +27,6 @@ __init_begin = .; INIT_TEXT_SECTION(PAGE_SIZE) - INIT_DATA_SECTION(16) . = ALIGN(8); __soc_early_init_table : { __soc_early_init_table_start = .; @@ -67,6 +66,8 @@ _etext = .; } + INIT_DATA_SECTION(16) + /* Start of data section */ _sdata = .; RO_DATA(SECTION_ALIGN) --- linux-riscv-5.8-5.8.0.orig/arch/riscv/mm/init.c +++ linux-riscv-5.8-5.8.0/arch/riscv/mm/init.c @@ -148,9 +148,10 @@ struct memblock_region *reg; phys_addr_t mem_size = 0; phys_addr_t total_mem = 0; - phys_addr_t mem_start, end = 0; + phys_addr_t mem_start, dram_end, end = 0; phys_addr_t vmlinux_end = __pa_symbol(&_end); phys_addr_t vmlinux_start = __pa_symbol(&_start); + phys_addr_t max_mapped_addr = __pa(~(ulong)0); /* Find the memory region containing the kernel */ for_each_memblock(memory, reg) { @@ -174,7 +175,18 @@ /* Reserve from the start of the kernel to the end of the kernel */ memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start); - max_pfn = PFN_DOWN(memblock_end_of_DRAM()); + dram_end = memblock_end_of_DRAM(); + + /* + * memblock allocator is not aware of the fact that last 4K bytes of + * the addressable memory can not be mapped because of IS_ERR_VALUE + * macro. Make sure that last 4k bytes are not usable by memblock + * if end of dram is equal to maximum addressable memory. + */ + if (max_mapped_addr == (dram_end - 1)) + memblock_set_current_limit(max_mapped_addr - 4096); + + max_pfn = PFN_DOWN(dram_end); max_low_pfn = max_pfn; set_max_mapnr(max_low_pfn); @@ -226,12 +238,11 @@ ptep = &fixmap_pte[pte_index(addr)]; - if (pgprot_val(prot)) { + if (pgprot_val(prot)) set_pte(ptep, pfn_pte(phys >> PAGE_SHIFT, prot)); - } else { + else pte_clear(&init_mm, addr, ptep); - local_flush_tlb_page(addr); - } + local_flush_tlb_page(addr); } static pte_t *__init get_pte_virt(phys_addr_t pa) @@ -516,6 +527,7 @@ #else dtb_early_va = (void *)dtb_pa; #endif + dtb_early_pa = dtb_pa; } static inline void setup_vm_final(void) --- linux-riscv-5.8-5.8.0.orig/arch/s390/Kconfig +++ linux-riscv-5.8-5.8.0/arch/s390/Kconfig @@ -30,7 +30,7 @@ def_bool y config GENERIC_LOCKBREAK - def_bool y if PREEMPTTION + def_bool y if PREEMPTION config PGSTE def_bool y if KVM @@ -769,6 +769,7 @@ def_tristate n prompt "VFIO support for AP devices" depends on S390_AP_IOMMU && VFIO_MDEV_DEVICE && KVM + depends on ZCRYPT help This driver grants access to Adjunct Processor (AP) devices via the VFIO mediated device interface. @@ -954,6 +955,14 @@ endmenu +config KMSG_IDS + def_bool y + prompt "Kernel message numbers" + help + Select this option if you want to include a message number to the + prefix for kernel messages issued by the s390 architecture and + driver code. See "Documentation/s390/kmsg.txt" for more details. + menu "Selftests" config S390_UNWIND_SELFTEST --- linux-riscv-5.8-5.8.0.orig/arch/s390/boot/head.S +++ linux-riscv-5.8-5.8.0/arch/s390/boot/head.S @@ -360,22 +360,23 @@ # the save area and does disabled wait with a faulty address. # ENTRY(startup_pgm_check_handler) - stmg %r0,%r15,__LC_SAVE_AREA_SYNC - la %r1,4095 - stctg %c0,%c15,__LC_CREGS_SAVE_AREA-4095(%r1) - mvc __LC_GPREGS_SAVE_AREA-4095(128,%r1),__LC_SAVE_AREA_SYNC - mvc __LC_PSW_SAVE_AREA-4095(16,%r1),__LC_PGM_OLD_PSW + stmg %r8,%r15,__LC_SAVE_AREA_SYNC + la %r8,4095 + stctg %c0,%c15,__LC_CREGS_SAVE_AREA-4095(%r8) + stmg %r0,%r7,__LC_GPREGS_SAVE_AREA-4095(%r8) + mvc __LC_GPREGS_SAVE_AREA-4095+64(64,%r8),__LC_SAVE_AREA_SYNC + mvc __LC_PSW_SAVE_AREA-4095(16,%r8),__LC_PGM_OLD_PSW mvc __LC_RETURN_PSW(16),__LC_PGM_OLD_PSW ni __LC_RETURN_PSW,0xfc # remove IO and EX bits ni __LC_RETURN_PSW+1,0xfb # remove MCHK bit oi __LC_RETURN_PSW+1,0x2 # set wait state bit - larl %r2,.Lold_psw_disabled_wait - stg %r2,__LC_PGM_NEW_PSW+8 - l %r15,.Ldump_info_stack-.Lold_psw_disabled_wait(%r2) + larl %r9,.Lold_psw_disabled_wait + stg %r9,__LC_PGM_NEW_PSW+8 + l %r15,.Ldump_info_stack-.Lold_psw_disabled_wait(%r9) brasl %r14,print_pgm_check_info .Lold_psw_disabled_wait: - la %r1,4095 - lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1) + la %r8,4095 + lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r8) lpswe __LC_RETURN_PSW # disabled wait .Ldump_info_stack: .long 0x5000 + PAGE_SIZE - STACK_FRAME_OVERHEAD --- linux-riscv-5.8-5.8.0.orig/arch/s390/boot/ipl_parm.c +++ linux-riscv-5.8-5.8.0/arch/s390/boot/ipl_parm.c @@ -70,30 +70,44 @@ static size_t ipl_block_get_ascii_scpdata(char *dest, size_t size, const struct ipl_parameter_block *ipb) { - size_t count; - size_t i; + const __u8 *scp_data; + __u32 scp_data_len; int has_lowercase; + size_t count = 0; + size_t i; + + switch (ipb->pb0_hdr.pbt) { + case IPL_PBT_FCP: + scp_data_len = ipb->fcp.scp_data_len; + scp_data = ipb->fcp.scp_data; + break; + case IPL_PBT_NVME: + scp_data_len = ipb->nvme.scp_data_len; + scp_data = ipb->nvme.scp_data; + break; + default: + goto out; + } - count = min(size - 1, scpdata_length(ipb->fcp.scp_data, - ipb->fcp.scp_data_len)); + count = min(size - 1, scpdata_length(scp_data, scp_data_len)); if (!count) goto out; has_lowercase = 0; for (i = 0; i < count; i++) { - if (!isascii(ipb->fcp.scp_data[i])) { + if (!isascii(scp_data[i])) { count = 0; goto out; } - if (!has_lowercase && islower(ipb->fcp.scp_data[i])) + if (!has_lowercase && islower(scp_data[i])) has_lowercase = 1; } if (has_lowercase) - memcpy(dest, ipb->fcp.scp_data, count); + memcpy(dest, scp_data, count); else for (i = 0; i < count; i++) - dest[i] = tolower(ipb->fcp.scp_data[i]); + dest[i] = tolower(scp_data[i]); out: dest[count] = '\0'; return count; @@ -115,6 +129,7 @@ parm, COMMAND_LINE_SIZE - len - 1, &ipl_block); break; case IPL_PBT_FCP: + case IPL_PBT_NVME: rc = ipl_block_get_ascii_scpdata( parm, COMMAND_LINE_SIZE - len - 1, &ipl_block); break; --- linux-riscv-5.8-5.8.0.orig/arch/s390/boot/uv.c +++ linux-riscv-5.8-5.8.0/arch/s390/boot/uv.c @@ -32,7 +32,7 @@ uv_info.guest_cpu_stor_len = uvcb.cpu_stor_len; uv_info.max_sec_stor_addr = ALIGN(uvcb.max_guest_stor_addr, PAGE_SIZE); uv_info.max_num_sec_conf = uvcb.max_num_sec_conf; - uv_info.max_guest_cpus = uvcb.max_guest_cpus; + uv_info.max_guest_cpu_id = uvcb.max_guest_cpu_id; } #ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/Kbuild @@ -6,5 +6,4 @@ generic-y += asm-offsets.h generic-y += export.h -generic-y += local64.h generic-y += mcs_spinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/ipl.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/ipl.h @@ -120,6 +120,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-riscv-5.8-5.8.0.orig/arch/s390/include/asm/pci.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/pci.h @@ -199,8 +199,8 @@ Prototypes ----------------------------------------------------------------------------- */ /* Base stuff */ -int zpci_create_device(struct zpci_dev *); -void zpci_remove_device(struct zpci_dev *zdev); +int zpci_create_device(u32 fid, u32 fh, enum zpci_state state); +void zpci_remove_device(struct zpci_dev *zdev, bool set_error); int zpci_enable_device(struct zpci_dev *); int zpci_disable_device(struct zpci_dev *); int zpci_register_ioat(struct zpci_dev *, u8, u64, u64, u64); @@ -211,7 +211,7 @@ int clp_scan_pci_devices(void); int clp_rescan_pci_devices(void); int clp_rescan_pci_devices_simple(u32 *fid); -int clp_add_pci_device(u32, u32, int); +int clp_query_pci_fn(struct zpci_dev *zdev); int clp_enable_fh(struct zpci_dev *, u8); int clp_disable_fh(struct zpci_dev *); int clp_get_state(u32 fid, enum zpci_state *state); --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/percpu.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/percpu.h @@ -29,7 +29,7 @@ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ old__, new__, prev__; \ pcp_op_T__ *ptr__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ prev__ = *ptr__; \ do { \ @@ -37,7 +37,7 @@ new__ = old__ op (val); \ prev__ = cmpxchg(ptr__, old__, new__); \ } while (prev__ != old__); \ - preempt_enable(); \ + preempt_enable_notrace(); \ new__; \ }) @@ -68,7 +68,7 @@ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ val__ = (val); \ pcp_op_T__ old__, *ptr__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ if (__builtin_constant_p(val__) && \ ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ @@ -84,7 +84,7 @@ : [val__] "d" (val__) \ : "cc"); \ } \ - preempt_enable(); \ + preempt_enable_notrace(); \ } #define this_cpu_add_4(pcp, val) arch_this_cpu_add(pcp, val, "laa", "asi", int) @@ -95,14 +95,14 @@ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ val__ = (val); \ pcp_op_T__ old__, *ptr__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ asm volatile( \ op " %[old__],%[val__],%[ptr__]\n" \ : [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \ : [val__] "d" (val__) \ : "cc"); \ - preempt_enable(); \ + preempt_enable_notrace(); \ old__ + val__; \ }) @@ -114,14 +114,14 @@ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ val__ = (val); \ pcp_op_T__ old__, *ptr__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ asm volatile( \ op " %[old__],%[val__],%[ptr__]\n" \ : [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \ : [val__] "d" (val__) \ : "cc"); \ - preempt_enable(); \ + preempt_enable_notrace(); \ } #define this_cpu_and_4(pcp, val) arch_this_cpu_to_op(pcp, val, "lan") @@ -136,10 +136,10 @@ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ ret__; \ pcp_op_T__ *ptr__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ ret__ = cmpxchg(ptr__, oval, nval); \ - preempt_enable(); \ + preempt_enable_notrace(); \ ret__; \ }) @@ -152,10 +152,10 @@ ({ \ typeof(pcp) *ptr__; \ typeof(pcp) ret__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ ret__ = xchg(ptr__, nval); \ - preempt_enable(); \ + preempt_enable_notrace(); \ ret__; \ }) @@ -171,11 +171,11 @@ typeof(pcp1) *p1__; \ typeof(pcp2) *p2__; \ int ret__; \ - preempt_disable(); \ + preempt_disable_notrace(); \ p1__ = raw_cpu_ptr(&(pcp1)); \ p2__ = raw_cpu_ptr(&(pcp2)); \ ret__ = __cmpxchg_double(p1__, p2__, o1__, o2__, n1__, n2__); \ - preempt_enable(); \ + preempt_enable_notrace(); \ ret__; \ }) --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/pgtable.h @@ -691,16 +691,6 @@ return !!(pud_val(pud) & _REGION3_ENTRY_LARGE); } -static inline unsigned long pud_pfn(pud_t pud) -{ - unsigned long origin_mask; - - origin_mask = _REGION_ENTRY_ORIGIN; - if (pud_large(pud)) - origin_mask = _REGION3_ENTRY_ORIGIN_LARGE; - return (pud_val(pud) & origin_mask) >> PAGE_SHIFT; -} - #define pmd_leaf pmd_large static inline int pmd_large(pmd_t pmd) { @@ -746,16 +736,6 @@ return pmd_val(pmd) == _SEGMENT_ENTRY_EMPTY; } -static inline unsigned long pmd_pfn(pmd_t pmd) -{ - unsigned long origin_mask; - - origin_mask = _SEGMENT_ENTRY_ORIGIN; - if (pmd_large(pmd)) - origin_mask = _SEGMENT_ENTRY_ORIGIN_LARGE; - return (pmd_val(pmd) & origin_mask) >> PAGE_SHIFT; -} - #define pmd_write pmd_write static inline int pmd_write(pmd_t pmd) { @@ -1230,11 +1210,39 @@ #define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD-1)) #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) -#define pmd_deref(pmd) (pmd_val(pmd) & _SEGMENT_ENTRY_ORIGIN) -#define pud_deref(pud) (pud_val(pud) & _REGION_ENTRY_ORIGIN) #define p4d_deref(pud) (p4d_val(pud) & _REGION_ENTRY_ORIGIN) #define pgd_deref(pgd) (pgd_val(pgd) & _REGION_ENTRY_ORIGIN) +static inline unsigned long pmd_deref(pmd_t pmd) +{ + unsigned long origin_mask; + + origin_mask = _SEGMENT_ENTRY_ORIGIN; + if (pmd_large(pmd)) + origin_mask = _SEGMENT_ENTRY_ORIGIN_LARGE; + return pmd_val(pmd) & origin_mask; +} + +static inline unsigned long pmd_pfn(pmd_t pmd) +{ + return pmd_deref(pmd) >> PAGE_SHIFT; +} + +static inline unsigned long pud_deref(pud_t pud) +{ + unsigned long origin_mask; + + origin_mask = _REGION_ENTRY_ORIGIN; + if (pud_large(pud)) + origin_mask = _REGION3_ENTRY_ORIGIN_LARGE; + return pud_val(pud) & origin_mask; +} + +static inline unsigned long pud_pfn(pud_t pud) +{ + return pud_deref(pud) >> PAGE_SHIFT; +} + /* * The pgd_offset function *always* adds the index for the top-level * region/segment table. This is done to get a sequence like the @@ -1260,26 +1268,44 @@ #define pgd_offset(mm, address) pgd_offset_raw(READ_ONCE((mm)->pgd), address) -static inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address) +static inline p4d_t *p4d_offset_lockless(pgd_t *pgdp, pgd_t pgd, unsigned long address) +{ + if ((pgd_val(pgd) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R1) + return (p4d_t *) pgd_deref(pgd) + p4d_index(address); + return (p4d_t *) pgdp; +} +#define p4d_offset_lockless p4d_offset_lockless + +static inline p4d_t *p4d_offset(pgd_t *pgdp, unsigned long address) { - if ((pgd_val(*pgd) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R1) - return (p4d_t *) pgd_deref(*pgd) + p4d_index(address); - return (p4d_t *) pgd; + return p4d_offset_lockless(pgdp, *pgdp, address); } -static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address) +static inline pud_t *pud_offset_lockless(p4d_t *p4dp, p4d_t p4d, unsigned long address) { - if ((p4d_val(*p4d) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R2) - return (pud_t *) p4d_deref(*p4d) + pud_index(address); - return (pud_t *) p4d; + if ((p4d_val(p4d) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R2) + return (pud_t *) p4d_deref(p4d) + pud_index(address); + return (pud_t *) p4dp; +} +#define pud_offset_lockless pud_offset_lockless + +static inline pud_t *pud_offset(p4d_t *p4dp, unsigned long address) +{ + return pud_offset_lockless(p4dp, *p4dp, address); } #define pud_offset pud_offset -static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address) +static inline pmd_t *pmd_offset_lockless(pud_t *pudp, pud_t pud, unsigned long address) +{ + if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R3) + return (pmd_t *) pud_deref(pud) + pmd_index(address); + return (pmd_t *) pudp; +} +#define pmd_offset_lockless pmd_offset_lockless + +static inline pmd_t *pmd_offset(pud_t *pudp, unsigned long address) { - if ((pud_val(*pud) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R3) - return (pmd_t *) pud_deref(*pud) + pmd_index(address); - return (pmd_t *) pud; + return pmd_offset_lockless(pudp, *pudp, address); } #define pmd_offset pmd_offset --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/topology.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/topology.h @@ -86,12 +86,6 @@ #define pcibus_to_node(bus) __pcibus_to_node(bus) -#define node_distance(a, b) __node_distance(a, b) -static inline int __node_distance(int a, int b) -{ - return 0; -} - #else /* !CONFIG_NUMA */ #define numa_node_id numa_node_id --- linux-riscv-5.8-5.8.0.orig/arch/s390/include/asm/uv.h +++ linux-riscv-5.8-5.8.0/arch/s390/include/asm/uv.h @@ -95,7 +95,7 @@ u32 max_num_sec_conf; u64 max_guest_stor_addr; u8 reserved88[158 - 136]; - u16 max_guest_cpus; + u16 max_guest_cpu_id; u8 reserveda0[200 - 160]; } __packed __aligned(8); @@ -272,7 +272,7 @@ unsigned long guest_cpu_stor_len; unsigned long max_sec_stor_addr; unsigned int max_num_sec_conf; - unsigned short max_guest_cpus; + unsigned short max_guest_cpu_id; }; extern struct uv_info uv_info; --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/Makefile +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/Makefile @@ -76,3 +76,6 @@ # vdso obj-y += vdso64/ + +# kernel message catalog +obj-$(CONFIG_KMSG_IDS) += kmsg.o --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/asm-offsets.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/asm-offsets.c @@ -53,11 +53,11 @@ /* stack_frame offsets */ OFFSET(__SF_BACKCHAIN, stack_frame, back_chain); OFFSET(__SF_GPRS, stack_frame, gprs); - OFFSET(__SF_EMPTY, stack_frame, empty1); - OFFSET(__SF_SIE_CONTROL, stack_frame, empty1[0]); - OFFSET(__SF_SIE_SAVEAREA, stack_frame, empty1[1]); - OFFSET(__SF_SIE_REASON, stack_frame, empty1[2]); - OFFSET(__SF_SIE_FLAGS, stack_frame, empty1[3]); + OFFSET(__SF_EMPTY, stack_frame, empty1[0]); + OFFSET(__SF_SIE_CONTROL, stack_frame, empty1[1]); + OFFSET(__SF_SIE_SAVEAREA, stack_frame, empty1[2]); + OFFSET(__SF_SIE_REASON, stack_frame, empty1[3]); + OFFSET(__SF_SIE_FLAGS, stack_frame, empty1[4]); BLANK(); /* timeval/timezone offsets for use by vdso */ OFFSET(__VDSO_UPD_COUNT, vdso_data, tb_update_count); --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/cpcmd.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/cpcmd.c @@ -37,10 +37,12 @@ static int diag8_response(int cmdlen, char *response, int *rlen) { + unsigned long _cmdlen = cmdlen | 0x40000000L; + unsigned long _rlen = *rlen; register unsigned long reg2 asm ("2") = (addr_t) cpcmd_buf; register unsigned long reg3 asm ("3") = (addr_t) response; - register unsigned long reg4 asm ("4") = cmdlen | 0x40000000L; - register unsigned long reg5 asm ("5") = *rlen; + register unsigned long reg4 asm ("4") = _cmdlen; + register unsigned long reg5 asm ("5") = _rlen; asm volatile( " diag %2,%0,0x8\n" --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/entry.S +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/entry.S @@ -110,9 +110,9 @@ #endif .endm - .macro SWITCH_ASYNC savearea,timer + .macro SWITCH_ASYNC savearea,timer,clock tmhh %r8,0x0001 # interrupting from user ? - jnz 2f + jnz 4f #if IS_ENABLED(CONFIG_KVM) lgr %r14,%r9 larl %r13,.Lsie_gmap @@ -125,10 +125,26 @@ #endif 0: larl %r13,.Lpsw_idle_exit cgr %r13,%r9 - jne 1f + jne 3f + + larl %r1,smp_cpu_mtid + llgf %r1,0(%r1) + ltgr %r1,%r1 + jz 2f # no SMT, skip mt_cycles calculation + .insn rsy,0xeb0000000017,%r1,5,__SF_EMPTY+80(%r15) + larl %r3,mt_cycles + ag %r3,__LC_PERCPU_OFFSET + la %r4,__SF_EMPTY+16(%r15) +1: lg %r0,0(%r3) + slg %r0,0(%r4) + alg %r0,64(%r4) + stg %r0,0(%r3) + la %r3,8(%r3) + la %r4,8(%r4) + brct %r1,1b - mvc __CLOCK_IDLE_EXIT(8,%r2), __LC_INT_CLOCK - mvc __TIMER_IDLE_EXIT(8,%r2), __LC_ASYNC_ENTER_TIMER +2: mvc __CLOCK_IDLE_EXIT(8,%r2), \clock + mvc __TIMER_IDLE_EXIT(8,%r2), \timer # account system time going idle ni __LC_CPU_FLAGS+7,255-_CIF_ENABLED_WAIT @@ -146,17 +162,17 @@ mvc __LC_LAST_UPDATE_TIMER(8),__TIMER_IDLE_EXIT(%r2) nihh %r8,0xfcfd # clear wait state and irq bits -1: lg %r14,__LC_ASYNC_STACK # are we already on the target stack? +3: lg %r14,__LC_ASYNC_STACK # are we already on the target stack? slgr %r14,%r15 srag %r14,%r14,STACK_SHIFT - jnz 3f + jnz 5f CHECK_STACK \savearea aghi %r15,-(STACK_FRAME_OVERHEAD + __PT_SIZE) - j 4f -2: UPDATE_VTIME %r14,%r15,\timer + j 6f +4: UPDATE_VTIME %r14,%r15,\timer BPENTER __TI_flags(%r12),_TIF_ISOLATE_BP -3: lg %r15,__LC_ASYNC_STACK # load async stack -4: la %r11,STACK_FRAME_OVERHEAD(%r15) +5: lg %r15,__LC_ASYNC_STACK # load async stack +6: la %r11,STACK_FRAME_OVERHEAD(%r15) .endm .macro UPDATE_VTIME w1,w2,enter_timer @@ -390,6 +406,7 @@ mvc __PT_PSW(16,%r11),__LC_SVC_OLD_PSW mvc __PT_INT_CODE(4,%r11),__LC_SVC_ILC stg %r14,__PT_FLAGS(%r11) + xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) ENABLE_INTS .Lsysc_do_svc: # clear user controlled register to prevent speculative use @@ -406,7 +423,6 @@ jnl .Lsysc_nr_ok slag %r8,%r1,3 .Lsysc_nr_ok: - xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) stg %r2,__PT_ORIG_GPR2(%r11) stg %r7,STACK_FRAME_OVERHEAD(%r15) lg %r9,0(%r8,%r10) # get system call add. @@ -422,6 +438,7 @@ #endif LOCKDEP_SYS_EXIT .Lsysc_tif: + DISABLE_INTS TSTMSK __PT_FLAGS(%r11),_PIF_WORK jnz .Lsysc_work TSTMSK __TI_flags(%r12),_TIF_WORK @@ -446,6 +463,7 @@ # One of the work bits is on. Find out which one. # .Lsysc_work: + ENABLE_INTS TSTMSK __TI_flags(%r12),_TIF_NEED_RESCHED jo .Lsysc_reschedule TSTMSK __PT_FLAGS(%r11),_PIF_SYSCALL_RESTART @@ -696,8 +714,8 @@ mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS mvc __THREAD_per_cause(2,%r14),__LC_PER_CODE mvc __THREAD_per_paid(1,%r14),__LC_PER_ACCESS_ID -6: RESTORE_SM_CLEAR_PER - xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) +6: xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) + RESTORE_SM_CLEAR_PER larl %r1,pgm_check_table llgh %r10,__PT_INT_CODE+2(%r11) nill %r10,0x007f @@ -718,8 +736,8 @@ # PER event in supervisor state, must be kprobes # .Lpgm_kprobe: - RESTORE_SM_CLEAR_PER xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) + RESTORE_SM_CLEAR_PER lgr %r2,%r11 # pass pointer to pt_regs brasl %r14,do_per_trap j .Lpgm_return @@ -745,7 +763,7 @@ stmg %r8,%r15,__LC_SAVE_AREA_ASYNC lg %r12,__LC_CURRENT lmg %r8,%r9,__LC_IO_OLD_PSW - SWITCH_ASYNC __LC_SAVE_AREA_ASYNC,__LC_ASYNC_ENTER_TIMER + SWITCH_ASYNC __LC_SAVE_AREA_ASYNC,__LC_ASYNC_ENTER_TIMER,__LC_INT_CLOCK stmg %r0,%r7,__PT_R0(%r11) # clear user controlled registers to prevent speculative use xgr %r0,%r0 @@ -761,15 +779,10 @@ stmg %r8,%r9,__PT_PSW(%r11) mvc __PT_INT_CODE(12,%r11),__LC_SUBCHANNEL_ID xc __PT_FLAGS(8,%r11),__PT_FLAGS(%r11) + xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) TSTMSK __LC_CPU_FLAGS,_CIF_IGNORE_IRQ jo .Lio_restore -#if IS_ENABLED(CONFIG_TRACE_IRQFLAGS) - tmhh %r8,0x300 - jz 1f TRACE_IRQS_OFF -1: -#endif - xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) .Lio_loop: lgr %r2,%r11 # pass pointer to pt_regs lghi %r3,IO_INTERRUPT @@ -791,12 +804,7 @@ TSTMSK __LC_CPU_FLAGS,_CIF_WORK jnz .Lio_work .Lio_restore: -#if IS_ENABLED(CONFIG_TRACE_IRQFLAGS) - tm __PT_PSW(%r11),3 - jno 0f TRACE_IRQS_ON -0: -#endif lg %r14,__LC_VDSO_PER_CPU mvc __LC_RETURN_PSW(16),__PT_PSW(%r11) tm __PT_PSW+1(%r11),0x01 # returning to user ? @@ -957,7 +965,7 @@ stmg %r8,%r15,__LC_SAVE_AREA_ASYNC lg %r12,__LC_CURRENT lmg %r8,%r9,__LC_EXT_OLD_PSW - SWITCH_ASYNC __LC_SAVE_AREA_ASYNC,__LC_ASYNC_ENTER_TIMER + SWITCH_ASYNC __LC_SAVE_AREA_ASYNC,__LC_ASYNC_ENTER_TIMER,__LC_INT_CLOCK stmg %r0,%r7,__PT_R0(%r11) # clear user controlled registers to prevent speculative use xgr %r0,%r0 @@ -976,15 +984,10 @@ mvc __PT_INT_PARM(4,%r11),__LC_EXT_PARAMS mvc __PT_INT_PARM_LONG(8,%r11),0(%r1) xc __PT_FLAGS(8,%r11),__PT_FLAGS(%r11) + xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) TSTMSK __LC_CPU_FLAGS,_CIF_IGNORE_IRQ jo .Lio_restore -#if IS_ENABLED(CONFIG_TRACE_IRQFLAGS) - tmhh %r8,0x300 - jz 1f TRACE_IRQS_OFF -1: -#endif - xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) lgr %r2,%r11 # pass pointer to pt_regs lghi %r3,EXT_INTERRUPT brasl %r14,do_IRQ @@ -995,6 +998,7 @@ * Load idle PSW. */ ENTRY(psw_idle) + stg %r14,(__SF_GPRS+8*8)(%r15) stg %r3,__SF_EMPTY(%r15) larl %r1,.Lpsw_idle_exit stg %r1,__SF_EMPTY+8(%r15) @@ -1070,6 +1074,7 @@ * %r4 */ load_fpu_regs: + stnsm __SF_EMPTY(%r15),0xfc lg %r4,__LC_CURRENT aghi %r4,__TASK_thread TSTMSK __LC_CPU_FLAGS,_CIF_FPU @@ -1101,6 +1106,7 @@ .Lload_fpu_regs_done: ni __LC_CPU_FLAGS+7,255-_CIF_FPU .Lload_fpu_regs_exit: + ssm __SF_EMPTY(%r15) BR_EX %r14 .Lload_fpu_regs_end: ENDPROC(load_fpu_regs) @@ -1182,7 +1188,7 @@ TSTMSK __LC_MCCK_CODE,MCCK_CODE_PSW_IA_VALID jno .Lmcck_panic 4: ssm __LC_PGM_NEW_PSW # turn dat on, keep irqs off - SWITCH_ASYNC __LC_GPREGS_SAVE_AREA+64,__LC_MCCK_ENTER_TIMER + SWITCH_ASYNC __LC_GPREGS_SAVE_AREA+64,__LC_MCCK_ENTER_TIMER,__LC_MCCK_CLOCK .Lmcck_skip: lghi %r14,__LC_GPREGS_SAVE_AREA+64 stmg %r0,%r7,__PT_R0(%r11) --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/entry.h +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/entry.h @@ -26,6 +26,7 @@ void do_dat_exception(struct pt_regs *regs); void do_secure_storage_access(struct pt_regs *regs); void do_non_secure_storage_access(struct pt_regs *regs); +void do_secure_storage_violation(struct pt_regs *regs); void addressing_exception(struct pt_regs *regs); void data_exception(struct pt_regs *regs); --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/ipl.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/ipl.c @@ -2110,3 +2110,8 @@ } #endif + +bool ipl_get_secureboot(void) +{ + return !!ipl_secure_flag; +} --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/kmsg.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/kmsg.c @@ -0,0 +1,114 @@ +/* + * Message printing with message catalog prefixes. + * + * Copyright IBM Corp. 2012 + */ + +#include +#include +#include +#include +#include + +static inline u32 __printk_jhash(const void *key, u32 length) +{ + u32 a, b, c, len; + const u8 *k; + u8 zk[12]; + + a = b = 0x9e3779b9; + c = 0; + for (len = length + 12, k = key; len >= 12; len -= 12, k += 12) { + if (len >= 24) { + a += k[0] | k[1] << 8 | k[2] << 16 | k[3] << 24; + b += k[4] | k[5] << 8 | k[6] << 16 | k[7] << 24; + c += k[8] | k[9] << 8 | k[10] << 16 | k[11] << 24; + } else { + memset(zk, 0, 12); + memcpy(zk, k, len - 12); + a += zk[0] | zk[1] << 8 | zk[2] << 16 | zk[3] << 24; + b += zk[4] | zk[5] << 8 | zk[6] << 16 | zk[7] << 24; + c += (u32) zk[8] << 8; + c += (u32) zk[9] << 16; + c += (u32) zk[10] << 24; + c += length; + } + a -= b + c; a ^= (c>>13); + b -= a + c; b ^= (a<<8); + c -= a + b; c ^= (b>>13); + a -= b + c; a ^= (c>>12); + b -= a + c; b ^= (a<<16); + c -= a + b; c ^= (b>>5); + a -= b + c; a ^= (c>>3); + b -= a + c; b ^= (a<<10); + c -= a + b; c ^= (b>>15); + } + return c; +} + +/** + * __jhash_string - calculate the six digit jhash of a string + * @str: string to calculate the jhash + */ +unsigned long long __jhash_string(const char *str) +{ + return __printk_jhash(str, strlen(str)) & 0xffffff; +} +EXPORT_SYMBOL(__jhash_string); + +static int __dev_printk_hash(const char *level, const struct device *dev, + struct va_format *vaf) +{ + if (!dev) + return printk("%s(NULL device *): %pV", level, vaf); + + return printk("%s%s.%06x: %pV", level, dev_driver_string(dev), + __printk_jhash(vaf->fmt, strlen(vaf->fmt)) & 0xffffff, + vaf); +} + +int dev_printk_hash(const char *level, const struct device *dev, + const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + int r; + + va_start(args, fmt); + + vaf.fmt = fmt; + vaf.va = &args; + + r = __dev_printk_hash(level, dev, &vaf); + va_end(args); + + return r; +} +EXPORT_SYMBOL(dev_printk_hash); + +#define define_dev_printk_hash_level(func, kern_level) \ +int func(const struct device *dev, const char *fmt, ...) \ +{ \ + struct va_format vaf; \ + va_list args; \ + int r; \ + \ + va_start(args, fmt); \ + \ + vaf.fmt = fmt; \ + vaf.va = &args; \ + \ + r = __dev_printk_hash(kern_level, dev, &vaf); \ + va_end(args); \ + \ + return r; \ +} \ +EXPORT_SYMBOL(func); + +define_dev_printk_hash_level(dev_emerg_hash, KERN_EMERG); +define_dev_printk_hash_level(dev_alert_hash, KERN_ALERT); +define_dev_printk_hash_level(dev_crit_hash, KERN_CRIT); +define_dev_printk_hash_level(dev_err_hash, KERN_ERR); +define_dev_printk_hash_level(dev_warn_hash, KERN_WARNING); +define_dev_printk_hash_level(dev_notice_hash, KERN_NOTICE); +define_dev_printk_hash_level(_dev_info_hash, KERN_INFO); --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/perf_cpum_sf.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/perf_cpum_sf.c @@ -2228,4 +2228,4 @@ } arch_initcall(init_cpum_sampling_pmu); -core_param(cpum_sfb_size, CPUM_SF_MAX_SDB, sfb_size, 0640); +core_param(cpum_sfb_size, CPUM_SF_MAX_SDB, sfb_size, 0644); --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/pgm_check.S +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/pgm_check.S @@ -80,7 +80,7 @@ PGM_CHECK_DEFAULT /* 3c */ PGM_CHECK(do_secure_storage_access) /* 3d */ PGM_CHECK(do_non_secure_storage_access) /* 3e */ -PGM_CHECK_DEFAULT /* 3f */ +PGM_CHECK(do_secure_storage_violation) /* 3f */ PGM_CHECK(monitor_event_exception) /* 40 */ PGM_CHECK_DEFAULT /* 41 */ PGM_CHECK_DEFAULT /* 42 */ --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/ptrace.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/ptrace.c @@ -1310,7 +1310,6 @@ cb->pc == 1 && cb->qc == 0 && cb->reserved2 == 0 && - cb->key == PAGE_DEFAULT_KEY && cb->reserved3 == 0 && cb->reserved4 == 0 && cb->reserved5 == 0 && @@ -1374,7 +1373,11 @@ kfree(data); return -EINVAL; } - + /* + * Override access key in any case, since user space should + * not be able to set it, nor should it care about it. + */ + ri_cb.key = PAGE_DEFAULT_KEY >> 4; preempt_disable(); if (!target->thread.ri_cb) target->thread.ri_cb = data; --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/runtime_instr.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/runtime_instr.c @@ -57,7 +57,7 @@ cb->k = 1; cb->ps = 1; cb->pc = 1; - cb->key = PAGE_DEFAULT_KEY; + cb->key = PAGE_DEFAULT_KEY >> 4; cb->v = 1; } --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/setup.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/setup.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -619,7 +620,7 @@ /* * Make sure that the area behind memory_end is protected */ -static void reserve_memory_end(void) +static void __init reserve_memory_end(void) { if (memory_end_set) memblock_reserve(memory_end, ULONG_MAX); @@ -628,7 +629,7 @@ /* * Make sure that oldmem, where the dump is stored, is protected */ -static void reserve_oldmem(void) +static void __init reserve_oldmem(void) { #ifdef CONFIG_CRASH_DUMP if (OLDMEM_BASE) @@ -640,7 +641,7 @@ /* * Make sure that oldmem, where the dump is stored, is protected */ -static void remove_oldmem(void) +static void __init remove_oldmem(void) { #ifdef CONFIG_CRASH_DUMP if (OLDMEM_BASE) @@ -1086,6 +1087,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-riscv-5.8-5.8.0.orig/arch/s390/kernel/smp.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/smp.c @@ -775,7 +775,7 @@ static int __smp_rescan_cpus(struct sclp_core_info *info, bool early) { struct sclp_core_entry *core; - cpumask_t avail; + static cpumask_t avail; bool configured; u16 core_id; int nr, i; @@ -855,13 +855,14 @@ static void smp_init_secondary(void) { - int cpu = smp_processor_id(); + int cpu = raw_smp_processor_id(); S390_lowcore.last_update_clock = get_tod_clock(); restore_access_regs(S390_lowcore.access_regs_save_area); set_cpu_flag(CIF_ASCE_PRIMARY); set_cpu_flag(CIF_ASCE_SECONDARY); cpu_init(); + rcu_cpu_starting(cpu); preempt_disable(); init_cpu_timer(); vtime_init(); @@ -895,24 +896,12 @@ /* Upping and downing of CPUs */ int __cpu_up(unsigned int cpu, struct task_struct *tidle) { - struct pcpu *pcpu; - int base, i, rc; + struct pcpu *pcpu = pcpu_devices + cpu; + int rc; - pcpu = pcpu_devices + cpu; if (pcpu->state != CPU_STATE_CONFIGURED) return -EIO; - base = smp_get_base_cpu(cpu); - for (i = 0; i <= smp_cpu_mtid; i++) { - if (base + i < nr_cpu_ids) - if (cpu_online(base + i)) - break; - } - /* - * If this is the first CPU of the core to get online - * do an initial CPU reset. - */ - if (i > smp_cpu_mtid && - pcpu_sigp_retry(pcpu_devices + base, SIGP_INITIAL_CPU_RESET, 0) != + if (pcpu_sigp_retry(pcpu, SIGP_INITIAL_CPU_RESET, 0) != SIGP_CC_ORDER_CODE_ACCEPTED) return -EIO; --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/time.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/time.c @@ -345,8 +345,9 @@ static DEFINE_MUTEX(clock_sync_mutex); static unsigned long clock_sync_flags; -#define CLOCK_SYNC_HAS_STP 0 -#define CLOCK_SYNC_STP 1 +#define CLOCK_SYNC_HAS_STP 0 +#define CLOCK_SYNC_STP 1 +#define CLOCK_SYNC_STPINFO_VALID 2 /* * The get_clock function for the physical clock. It will get the current @@ -583,6 +584,22 @@ queue_work(time_sync_wq, &stp_work); } +static int __store_stpinfo(void) +{ + int rc = chsc_sstpi(stp_page, &stp_info, sizeof(struct stp_sstpi)); + + if (rc) + clear_bit(CLOCK_SYNC_STPINFO_VALID, &clock_sync_flags); + else + set_bit(CLOCK_SYNC_STPINFO_VALID, &clock_sync_flags); + return rc; +} + +static int stpinfo_valid(void) +{ + return stp_online && test_bit(CLOCK_SYNC_STPINFO_VALID, &clock_sync_flags); +} + static int stp_sync_clock(void *data) { struct clock_sync_data *sync = data; @@ -604,8 +621,7 @@ if (rc == 0) { sync->clock_delta = clock_delta; clock_sync_global(clock_delta); - rc = chsc_sstpi(stp_page, &stp_info, - sizeof(struct stp_sstpi)); + rc = __store_stpinfo(); if (rc == 0 && stp_info.tmd != 2) rc = -EAGAIN; } @@ -650,7 +666,7 @@ if (rc) goto out_unlock; - rc = chsc_sstpi(stp_page, &stp_info, sizeof(struct stp_sstpi)); + rc = __store_stpinfo(); if (rc || stp_info.c == 0) goto out_unlock; @@ -687,10 +703,14 @@ struct device_attribute *attr, char *buf) { - if (!stp_online) - return -ENODATA; - return sprintf(buf, "%016llx\n", - *(unsigned long long *) stp_info.ctnid); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid()) + ret = sprintf(buf, "%016llx\n", + *(unsigned long long *) stp_info.ctnid); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(ctn_id, 0400, stp_ctn_id_show, NULL); @@ -699,9 +719,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online) - return -ENODATA; - return sprintf(buf, "%i\n", stp_info.ctn); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid()) + ret = sprintf(buf, "%i\n", stp_info.ctn); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(ctn_type, 0400, stp_ctn_type_show, NULL); @@ -710,9 +734,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online || !(stp_info.vbits & 0x2000)) - return -ENODATA; - return sprintf(buf, "%i\n", (int)(s16) stp_info.dsto); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid() && (stp_info.vbits & 0x2000)) + ret = sprintf(buf, "%i\n", (int)(s16) stp_info.dsto); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(dst_offset, 0400, stp_dst_offset_show, NULL); @@ -721,9 +749,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online || !(stp_info.vbits & 0x8000)) - return -ENODATA; - return sprintf(buf, "%i\n", (int)(s16) stp_info.leaps); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid() && (stp_info.vbits & 0x8000)) + ret = sprintf(buf, "%i\n", (int)(s16) stp_info.leaps); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(leap_seconds, 0400, stp_leap_seconds_show, NULL); @@ -732,9 +764,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online) - return -ENODATA; - return sprintf(buf, "%i\n", (int)(s16) stp_info.stratum); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid()) + ret = sprintf(buf, "%i\n", (int)(s16) stp_info.stratum); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(stratum, 0400, stp_stratum_show, NULL); @@ -743,9 +779,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online || !(stp_info.vbits & 0x0800)) - return -ENODATA; - return sprintf(buf, "%i\n", (int) stp_info.tto); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid() && (stp_info.vbits & 0x0800)) + ret = sprintf(buf, "%i\n", (int) stp_info.tto); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(time_offset, 0400, stp_time_offset_show, NULL); @@ -754,9 +794,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online || !(stp_info.vbits & 0x4000)) - return -ENODATA; - return sprintf(buf, "%i\n", (int)(s16) stp_info.tzo); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid() && (stp_info.vbits & 0x4000)) + ret = sprintf(buf, "%i\n", (int)(s16) stp_info.tzo); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(time_zone_offset, 0400, @@ -766,9 +810,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online) - return -ENODATA; - return sprintf(buf, "%i\n", stp_info.tmd); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid()) + ret = sprintf(buf, "%i\n", stp_info.tmd); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(timing_mode, 0400, stp_timing_mode_show, NULL); @@ -777,9 +825,13 @@ struct device_attribute *attr, char *buf) { - if (!stp_online) - return -ENODATA; - return sprintf(buf, "%i\n", stp_info.tst); + ssize_t ret = -ENODATA; + + mutex_lock(&stp_work_mutex); + if (stpinfo_valid()) + ret = sprintf(buf, "%i\n", stp_info.tst); + mutex_unlock(&stp_work_mutex); + return ret; } static DEVICE_ATTR(timing_state, 0400, stp_timing_state_show, NULL); --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/uv.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/uv.c @@ -345,7 +345,7 @@ struct kobj_attribute *attr, char *page) { return scnprintf(page, PAGE_SIZE, "%d\n", - uv_info.max_guest_cpus); + uv_info.max_guest_cpu_id + 1); } static struct kobj_attribute uv_query_max_guest_cpus_attr = --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/vdso64/Makefile +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/vdso64/Makefile @@ -19,7 +19,7 @@ KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS)) KBUILD_CFLAGS_64 += -m64 -fPIC -shared -fno-common -fno-builtin ldflags-y := -fPIC -shared -nostdlib -soname=linux-vdso64.so.1 \ - --hash-style=both --build-id -T + --hash-style=both --build-id=sha1 -T $(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = $(KBUILD_CFLAGS_64) $(targets:%=$(obj)/%.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_64) --- linux-riscv-5.8-5.8.0.orig/arch/s390/kernel/vtime.c +++ linux-riscv-5.8-5.8.0/arch/s390/kernel/vtime.c @@ -136,7 +136,8 @@ " stck %1" /* Store current tod clock value */ #endif : "=Q" (S390_lowcore.last_update_timer), - "=Q" (S390_lowcore.last_update_clock)); + "=Q" (S390_lowcore.last_update_clock) + : : "cc"); clock = S390_lowcore.last_update_clock - clock; timer -= S390_lowcore.last_update_timer; @@ -216,7 +217,7 @@ avg_steal = S390_lowcore.avg_steal_timer / 2; if ((s64) steal > 0) { S390_lowcore.steal_timer = 0; - account_steal_time(steal); + account_steal_time(cputime_to_nsecs(steal)); avg_steal += steal; } S390_lowcore.avg_steal_timer = avg_steal; --- linux-riscv-5.8-5.8.0.orig/arch/s390/kvm/kvm-s390.c +++ linux-riscv-5.8-5.8.0/arch/s390/kvm/kvm-s390.c @@ -2311,7 +2311,7 @@ struct kvm_s390_pv_unp unp = {}; r = -EINVAL; - if (!kvm_s390_pv_is_protected(kvm)) + if (!kvm_s390_pv_is_protected(kvm) || !mm_is_protected(kvm->mm)) break; r = -EFAULT; --- linux-riscv-5.8-5.8.0.orig/arch/s390/kvm/pv.c +++ linux-riscv-5.8-5.8.0/arch/s390/kvm/pv.c @@ -209,7 +209,6 @@ return -EIO; } kvm->arch.gmap->guest_handle = uvcb.guest_handle; - atomic_set(&kvm->mm->context.is_protected, 1); return 0; } @@ -229,6 +228,8 @@ *rrc = uvcb.header.rrc; KVM_UV_EVENT(kvm, 3, "PROTVIRT VM SET PARMS: rc %x rrc %x", *rc, *rrc); + if (!cc) + atomic_set(&kvm->mm->context.is_protected, 1); return cc ? -EINVAL : 0; } --- linux-riscv-5.8-5.8.0.orig/arch/s390/lib/delay.c +++ linux-riscv-5.8-5.8.0/arch/s390/lib/delay.c @@ -33,7 +33,7 @@ static void __udelay_disabled(unsigned long long usecs) { - unsigned long cr0, cr0_new, psw_mask, flags; + unsigned long cr0, cr0_new, psw_mask; struct s390_idle_data idle; u64 end; @@ -45,9 +45,8 @@ psw_mask = __extract_psw() | PSW_MASK_EXT | PSW_MASK_WAIT; set_clock_comparator(end); set_cpu_flag(CIF_IGNORE_IRQ); - local_irq_save(flags); psw_idle(&idle, psw_mask); - local_irq_restore(flags); + trace_hardirqs_off(); clear_cpu_flag(CIF_IGNORE_IRQ); set_clock_comparator(S390_lowcore.clock_comparator); __ctl_load(cr0, 0, 0); --- linux-riscv-5.8-5.8.0.orig/arch/s390/lib/test_unwind.c +++ linux-riscv-5.8-5.8.0/arch/s390/lib/test_unwind.c @@ -63,6 +63,7 @@ break; if (state.reliable && !addr) { pr_err("unwind state reliable but addr is 0\n"); + kfree(bt); return -EINVAL; } sprint_symbol(sym, addr); @@ -203,12 +204,15 @@ /* This function must appear in the backtrace. */ static noinline int unwindme_func2(struct unwindme *u) { + unsigned long flags; int rc; if (u->flags & UWM_SWITCH_STACK) { - preempt_disable(); + local_irq_save(flags); + local_mcck_disable(); rc = CALL_ON_STACK(unwindme_func3, S390_lowcore.nodat_stack, 1, u); - preempt_enable(); + local_mcck_enable(); + local_irq_restore(flags); return rc; } else { return unwindme_func3(u); --- linux-riscv-5.8-5.8.0.orig/arch/s390/mm/fault.c +++ linux-riscv-5.8-5.8.0/arch/s390/mm/fault.c @@ -875,6 +875,21 @@ } NOKPROBE_SYMBOL(do_non_secure_storage_access); +void do_secure_storage_violation(struct pt_regs *regs) +{ + /* + * Either KVM messed up the secure guest mapping or the same + * page is mapped into multiple secure guests. + * + * This exception is only triggered when a guest 2 is running + * and can therefore never occur in kernel context. + */ + printk_ratelimited(KERN_WARNING + "Secure storage violation in task: %s, pid %d\n", + current->comm, current->pid); + send_sig(SIGSEGV, current, 0); +} + #else void do_secure_storage_access(struct pt_regs *regs) { @@ -885,4 +900,9 @@ { default_trap_handler(regs); } + +void do_secure_storage_violation(struct pt_regs *regs) +{ + default_trap_handler(regs); +} #endif --- linux-riscv-5.8-5.8.0.orig/arch/s390/mm/gmap.c +++ linux-riscv-5.8-5.8.0/arch/s390/mm/gmap.c @@ -2485,23 +2485,36 @@ } EXPORT_SYMBOL_GPL(gmap_sync_dirty_log_pmd); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE +static int thp_split_walk_pmd_entry(pmd_t *pmd, unsigned long addr, + unsigned long end, struct mm_walk *walk) +{ + struct vm_area_struct *vma = walk->vma; + + split_huge_pmd(vma, pmd, addr); + return 0; +} + +static const struct mm_walk_ops thp_split_walk_ops = { + .pmd_entry = thp_split_walk_pmd_entry, +}; + static inline void thp_split_mm(struct mm_struct *mm) { -#ifdef CONFIG_TRANSPARENT_HUGEPAGE struct vm_area_struct *vma; - unsigned long addr; for (vma = mm->mmap; vma != NULL; vma = vma->vm_next) { - for (addr = vma->vm_start; - addr < vma->vm_end; - addr += PAGE_SIZE) - follow_page(vma, addr, FOLL_SPLIT); vma->vm_flags &= ~VM_HUGEPAGE; vma->vm_flags |= VM_NOHUGEPAGE; + walk_page_vma(vma, &thp_split_walk_ops, NULL); } mm->def_flags |= VM_NOHUGEPAGE; -#endif } +#else +static inline void thp_split_mm(struct mm_struct *mm) +{ +} +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ /* * Remove all empty zero pages from the mapping for lazy refaulting @@ -2677,6 +2690,8 @@ #include void s390_reset_acc(struct mm_struct *mm) { + if (!mm_is_protected(mm)) + return; /* * we might be called during * reset: we walk the pages and clear --- linux-riscv-5.8-5.8.0.orig/arch/s390/net/bpf_jit_comp.c +++ linux-riscv-5.8-5.8.0/arch/s390/net/bpf_jit_comp.c @@ -489,6 +489,24 @@ } while (re <= last); } +static void bpf_skip(struct bpf_jit *jit, int size) +{ + if (size >= 6 && !is_valid_rel(size)) { + /* brcl 0xf,size */ + EMIT6_PCREL_RIL(0xc0f4000000, size); + size -= 6; + } else if (size >= 4 && is_valid_rel(size)) { + /* brc 0xf,size */ + EMIT4_PCREL(0xa7f40000, size); + size -= 4; + } + while (size >= 2) { + /* bcr 0,%0 */ + _EMIT2(0x0700); + size -= 2; + } +} + /* * Emit function prologue * @@ -1268,8 +1286,12 @@ last = (i == fp->len - 1) ? 1 : 0; if (last) break; - /* j */ - EMIT4_PCREL(0xa7f40000, jit->exit_ip - jit->prg); + if (!is_first_pass(jit) && can_use_rel(jit, jit->exit_ip)) + /* brc 0xf, */ + EMIT4_PCREL_RIC(0xa7040000, 0xf, jit->exit_ip); + else + /* brcl 0xf, */ + EMIT6_PCREL_RILC(0xc0040000, 0xf, jit->exit_ip); break; /* * Branch relative (number of skipped instructions) to offset on @@ -1417,21 +1439,10 @@ } break; branch_ku: - is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32; - /* clfi or clgfi %dst,imm */ - EMIT6_IMM(is_jmp32 ? 0xc20f0000 : 0xc20e0000, - dst_reg, imm); - if (!is_first_pass(jit) && - can_use_rel(jit, addrs[i + off + 1])) { - /* brc mask,off */ - EMIT4_PCREL_RIC(0xa7040000, - mask >> 12, addrs[i + off + 1]); - } else { - /* brcl mask,off */ - EMIT6_PCREL_RILC(0xc0040000, - mask >> 12, addrs[i + off + 1]); - } - break; + /* lgfi %w1,imm (load sign extend imm) */ + src_reg = REG_1; + EMIT6_IMM(0xc0010000, src_reg, imm); + goto branch_xu; branch_xs: is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32; if (!is_first_pass(jit) && @@ -1510,7 +1521,14 @@ */ static int bpf_set_addr(struct bpf_jit *jit, int i) { - if (!bpf_is_new_addr_sane(jit, i)) + int delta; + + if (is_codegen_pass(jit)) { + delta = jit->prg - jit->addrs[i]; + if (delta < 0) + bpf_skip(jit, -delta); + } + if (WARN_ON_ONCE(!bpf_is_new_addr_sane(jit, i))) return -1; jit->addrs[i] = jit->prg; return 0; --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci.c +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci.c @@ -668,47 +668,109 @@ int zpci_disable_device(struct zpci_dev *zdev) { zpci_dma_exit_device(zdev); + /* + * The zPCI function may already be disabled by the platform, this is + * detected in clp_disable_fh() which becomes a no-op. + */ return clp_disable_fh(zdev); } EXPORT_SYMBOL_GPL(zpci_disable_device); -int zpci_create_device(struct zpci_dev *zdev) +/* zpci_remove_device - Removes the given zdev from the PCI core + * @zdev: the zdev to be removed from the PCI core + * @set_error: if true the device's error state is set to permanent failure + * + * Sets a zPCI device to a configured but offline state; the zPCI + * device is still accessible through its hotplug slot and the zPCI + * API but is removed from the common code PCI bus, making it + * no longer available to drivers. + */ +void zpci_remove_device(struct zpci_dev *zdev, bool set_error) { + struct zpci_bus *zbus = zdev->zbus; + struct pci_dev *pdev; + + if (!zdev->zbus->bus) + return; + + pdev = pci_get_slot(zbus->bus, zdev->devfn); + if (pdev) { + if (set_error) + pdev->error_state = pci_channel_io_perm_failure; + if (pdev->is_virtfn) { + zpci_remove_virtfn(pdev, zdev->vfn); + /* balance pci_get_slot */ + pci_dev_put(pdev); + return; + } + pci_stop_and_remove_bus_device_locked(pdev); + /* balance pci_get_slot */ + pci_dev_put(pdev); + } +} + +/** + * zpci_create_device() - Create a new zpci_dev and add it to the zbus + * @fid: Function ID of the device to be created + * @fh: Current Function Handle of the device to be created + * @state: Initial state after creation either Standby or Configured + * + * Creates a new zpci device and adds it to its, possibly newly created, zbus + * as well as zpci_list. + * + * Returns: 0 on success, an error value otherwise + */ +int zpci_create_device(u32 fid, u32 fh, enum zpci_state state) +{ + struct zpci_dev *zdev; int rc; - kref_init(&zdev->kref); + zpci_dbg(3, "add fid:%x, fh:%x, c:%d\n", fid, fh, state); + zdev = kzalloc(sizeof(*zdev), GFP_KERNEL); + if (!zdev) + return -ENOMEM; + + /* FID and Function Handle are the static/dynamic identifiers */ + zdev->fid = fid; + zdev->fh = fh; - spin_lock(&zpci_list_lock); - list_add_tail(&zdev->entry, &zpci_list); - spin_unlock(&zpci_list_lock); + /* Query function properties and update zdev */ + rc = clp_query_pci_fn(zdev); + if (rc) + goto error; + zdev->state = state; + + kref_init(&zdev->kref); + mutex_init(&zdev->lock); rc = zpci_init_iommu(zdev); if (rc) - goto out; + goto error; - mutex_init(&zdev->lock); if (zdev->state == ZPCI_FN_STATE_CONFIGURED) { rc = zpci_enable_device(zdev); if (rc) - goto out_destroy_iommu; + goto error_destroy_iommu; } rc = zpci_bus_device_register(zdev, &pci_root_ops); if (rc) - goto out_disable; + goto error_disable; + + spin_lock(&zpci_list_lock); + list_add_tail(&zdev->entry, &zpci_list); + spin_unlock(&zpci_list_lock); return 0; -out_disable: +error_disable: if (zdev->state == ZPCI_FN_STATE_ONLINE) zpci_disable_device(zdev); - -out_destroy_iommu: +error_destroy_iommu: zpci_destroy_iommu(zdev); -out: - spin_lock(&zpci_list_lock); - list_del(&zdev->entry); - spin_unlock(&zpci_list_lock); +error: + zpci_dbg(0, "add fid:%x, rc:%d\n", fid, rc); + kfree(zdev); return rc; } @@ -716,13 +778,8 @@ { struct zpci_dev *zdev = container_of(kref, struct zpci_dev, kref); - if (zdev->zbus->bus) { - struct pci_dev *pdev; - - pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn); - if (pdev) - pci_stop_and_remove_bus_device_locked(pdev); - } + if (zdev->zbus->bus) + zpci_remove_device(zdev, false); switch (zdev->state) { case ZPCI_FN_STATE_ONLINE: --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci_bus.c +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci_bus.c @@ -132,13 +132,14 @@ { int rc; - virtfn->physfn = pci_dev_get(pdev); rc = pci_iov_sysfs_link(pdev, virtfn, vfid); - if (rc) { - pci_dev_put(pdev); - virtfn->physfn = NULL; + if (rc) return rc; - } + + virtfn->is_virtfn = 1; + virtfn->multifunction = 0; + virtfn->physfn = pci_dev_get(pdev); + return 0; } @@ -151,9 +152,9 @@ int vfid = vfn - 1; /* Linux' vfid's start at 0 vfn at 1*/ int rc = 0; - virtfn->is_virtfn = 1; - virtfn->multifunction = 0; - WARN_ON(vfid < 0); + if (!zbus->multifunction) + return 0; + /* If the parent PF for the given VF is also configured in the * instance, it must be on the same zbus. * We can then identify the parent PF by checking what @@ -165,11 +166,17 @@ zdev = zbus->function[i]; if (zdev && zdev->is_physfn) { pdev = pci_get_slot(zbus->bus, zdev->devfn); + if (!pdev) + continue; cand_devfn = pci_iov_virtfn_devfn(pdev, vfid); if (cand_devfn == virtfn->devfn) { rc = zpci_bus_link_virtfn(pdev, virtfn, vfid); + /* balance pci_get_slot() */ + pci_dev_put(pdev); break; } + /* balance pci_get_slot() */ + pci_dev_put(pdev); } } return rc; @@ -178,12 +185,24 @@ static inline int zpci_bus_setup_virtfn(struct zpci_bus *zbus, struct pci_dev *virtfn, int vfn) { - virtfn->is_virtfn = 1; - virtfn->multifunction = 0; return 0; } #endif +void pcibios_bus_add_device(struct pci_dev *pdev) +{ + struct zpci_dev *zdev = to_zpci(pdev); + + /* + * With pdev->no_vf_scan the common PCI probing code does not + * perform PF/VF linking. + */ + if (zdev->vfn) { + zpci_bus_setup_virtfn(zdev->zbus, pdev, zdev->vfn); + pdev->no_command_memory = 1; + } +} + static int zpci_bus_add_device(struct zpci_bus *zbus, struct zpci_dev *zdev) { struct pci_bus *bus; @@ -214,20 +233,10 @@ } pdev = pci_scan_single_device(bus, zdev->devfn); - if (pdev) { - if (!zdev->is_physfn) { - rc = zpci_bus_setup_virtfn(zbus, pdev, zdev->vfn); - if (rc) - goto failed_with_pdev; - } + if (pdev) pci_bus_add_device(pdev); - } - return 0; -failed_with_pdev: - pci_stop_and_remove_bus_device(pdev); - pci_dev_put(pdev); - return rc; + return 0; } static void zpci_bus_add_devices(struct zpci_bus *zbus) --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci_bus.h +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci_bus.h @@ -29,3 +29,16 @@ return (devfn >= ZPCI_FUNCTIONS_PER_BUS) ? NULL : zbus->function[devfn]; } + +#ifdef CONFIG_PCI_IOV +static inline void zpci_remove_virtfn(struct pci_dev *pdev, int vfn) +{ + + pci_lock_rescan_remove(); + /* Linux' vfid's start at 0 vfn at 1 */ + pci_iov_remove_virtfn(pdev->physfn, vfn - 1); + pci_unlock_rescan_remove(); +} +#else /* CONFIG_PCI_IOV */ +static inline void zpci_remove_virtfn(struct pci_dev *pdev, int vfn) {} +#endif /* CONFIG_PCI_IOV */ --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci_clp.c +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci_clp.c @@ -179,7 +179,7 @@ return 0; } -static int clp_query_pci_fn(struct zpci_dev *zdev, u32 fh) +int clp_query_pci_fn(struct zpci_dev *zdev) { struct clp_req_rsp_query_pci *rrb; int rc; @@ -192,7 +192,7 @@ rrb->request.hdr.len = sizeof(rrb->request); rrb->request.hdr.cmd = CLP_QUERY_PCI_FN; rrb->response.hdr.len = sizeof(rrb->response); - rrb->request.fh = fh; + rrb->request.fh = zdev->fh; rc = clp_req(rrb, CLP_LPS_PCI); if (!rc && rrb->response.hdr.rsp == CLP_RC_OK) { @@ -210,40 +210,6 @@ return rc; } -int clp_add_pci_device(u32 fid, u32 fh, int configured) -{ - struct zpci_dev *zdev; - int rc = -ENOMEM; - - zpci_dbg(3, "add fid:%x, fh:%x, c:%d\n", fid, fh, configured); - zdev = kzalloc(sizeof(*zdev), GFP_KERNEL); - if (!zdev) - goto error; - - zdev->fh = fh; - zdev->fid = fid; - - /* Query function properties and update zdev */ - rc = clp_query_pci_fn(zdev, fh); - if (rc) - goto error; - - if (configured) - zdev->state = ZPCI_FN_STATE_CONFIGURED; - else - zdev->state = ZPCI_FN_STATE_STANDBY; - - rc = zpci_create_device(zdev); - if (rc) - goto error; - return 0; - -error: - zpci_dbg(0, "add fid:%x, rc:%d\n", fid, rc); - kfree(zdev); - return rc; -} - /* * Enable/Disable a given PCI function and update its function handle if * necessary @@ -371,7 +337,7 @@ zdev = get_zdev_by_fid(entry->fid); if (!zdev) - clp_add_pci_device(entry->fid, entry->fh, entry->config_state); + zpci_create_device(entry->fid, entry->fh, entry->config_state); } static void __clp_update(struct clp_fh_list_entry *entry, void *data) --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci_event.c +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci_event.c @@ -76,28 +76,32 @@ static void __zpci_event_availability(struct zpci_ccdf_avail *ccdf) { struct zpci_dev *zdev = get_zdev_by_fid(ccdf->fid); - struct pci_dev *pdev = NULL; enum zpci_state state; + struct pci_dev *pdev; int ret; - if (zdev && zdev->zbus && zdev->zbus->bus) - pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn); - zpci_err("avail CCDF:\n"); zpci_err_hex(ccdf, sizeof(*ccdf)); switch (ccdf->pec) { case 0x0301: /* Reserved|Standby -> Configured */ if (!zdev) { - ret = clp_add_pci_device(ccdf->fid, ccdf->fh, 1); + zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_CONFIGURED); break; } + /* the configuration request may be stale */ + if (zdev->state != ZPCI_FN_STATE_STANDBY) + break; zdev->fh = ccdf->fh; zdev->state = ZPCI_FN_STATE_CONFIGURED; ret = zpci_enable_device(zdev); if (ret) break; + /* the PCI function will be scanned once function 0 appears */ + if (!zdev->zbus->bus) + break; + pdev = pci_scan_single_device(zdev->zbus->bus, zdev->devfn); if (!pdev) break; @@ -109,7 +113,7 @@ break; case 0x0302: /* Reserved -> Standby */ if (!zdev) { - clp_add_pci_device(ccdf->fid, ccdf->fh, 0); + zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_STANDBY); break; } zdev->fh = ccdf->fh; @@ -117,8 +121,7 @@ case 0x0303: /* Deconfiguration requested */ if (!zdev) break; - if (pdev) - pci_stop_and_remove_bus_device_locked(pdev); + zpci_remove_device(zdev, false); ret = zpci_disable_device(zdev); if (ret) @@ -133,13 +136,13 @@ case 0x0304: /* Configured -> Standby|Reserved */ if (!zdev) break; - if (pdev) { - /* Give the driver a hint that the function is - * already unusable. */ - pdev->error_state = pci_channel_io_perm_failure; - pci_stop_and_remove_bus_device_locked(pdev); - } + /* Give the driver a hint that the function is + * already unusable. + */ + zpci_remove_device(zdev, true); + zdev->fh = ccdf->fh; + zpci_disable_device(zdev); zdev->state = ZPCI_FN_STATE_STANDBY; if (!clp_get_state(ccdf->fid, &state) && state == ZPCI_FN_STATE_RESERVED) { --- linux-riscv-5.8-5.8.0.orig/arch/s390/pci/pci_irq.c +++ linux-riscv-5.8-5.8.0/arch/s390/pci/pci_irq.c @@ -103,9 +103,10 @@ { struct msi_desc *entry = irq_get_msi_desc(data->irq); struct msi_msg msg = entry->msg; + int cpu_addr = smp_cpu_get_cpu_address(cpumask_first(dest)); msg.address_lo &= 0xff0000ff; - msg.address_lo |= (cpumask_first(dest) << 8); + msg.address_lo |= (cpu_addr << 8); pci_write_msi_msg(data->irq, &msg); return IRQ_SET_MASK_OK; @@ -238,6 +239,7 @@ unsigned long bit; struct msi_desc *msi; struct msi_msg msg; + int cpu_addr; int rc, irq; zdev->aisb = -1UL; @@ -287,9 +289,15 @@ handle_percpu_irq); msg.data = hwirq - bit; if (irq_delivery == DIRECTED) { + if (msi->affinity) + cpu = cpumask_first(&msi->affinity->mask); + else + cpu = 0; + cpu_addr = smp_cpu_get_cpu_address(cpu); + msg.address_lo = zdev->msi_addr & 0xff0000ff; - msg.address_lo |= msi->affinity ? - (cpumask_first(&msi->affinity->mask) << 8) : 0; + msg.address_lo |= (cpu_addr << 8); + for_each_possible_cpu(cpu) { airq_iv_set_data(zpci_ibv[cpu], hwirq, irq); } --- linux-riscv-5.8-5.8.0.orig/arch/s390/purgatory/head.S +++ linux-riscv-5.8-5.8.0/arch/s390/purgatory/head.S @@ -62,14 +62,15 @@ jh 10b .endm -.macro START_NEXT_KERNEL base +.macro START_NEXT_KERNEL base subcode lg %r4,kernel_entry-\base(%r13) lg %r5,load_psw_mask-\base(%r13) ogr %r4,%r5 stg %r4,0(%r0) xgr %r0,%r0 - diag %r0,%r0,0x308 + lghi %r1,\subcode + diag %r0,%r1,0x308 .endm .text @@ -123,7 +124,7 @@ je .start_crash_kernel /* start normal kernel */ - START_NEXT_KERNEL .base_crash + START_NEXT_KERNEL .base_crash 0 .return_old_kernel: lmg %r6,%r15,gprregs-.base_crash(%r13) @@ -227,7 +228,7 @@ MEMCPY %r9,%r10,%r11 /* start crash kernel */ - START_NEXT_KERNEL .base_dst + START_NEXT_KERNEL .base_dst 1 load_psw_mask: --- linux-riscv-5.8-5.8.0.orig/arch/sh/boards/mach-landisk/setup.c +++ linux-riscv-5.8-5.8.0/arch/sh/boards/mach-landisk/setup.c @@ -82,6 +82,9 @@ static void __init landisk_setup(char **cmdline_p) { + /* I/O port identity mapping */ + __set_io_port_base(0); + /* LED ON */ __raw_writeb(__raw_readb(PA_LED) | 0x03, PA_LED); --- linux-riscv-5.8-5.8.0.orig/arch/sh/drivers/dma/Kconfig +++ linux-riscv-5.8-5.8.0/arch/sh/drivers/dma/Kconfig @@ -63,8 +63,7 @@ config G2_DMA tristate "G2 Bus DMA support" - depends on SH_DREAMCAST - select SH_DMA_API + depends on SH_DREAMCAST && SH_DMA_API help This enables support for the DMA controller for the Dreamcast's G2 bus. Drivers that want this will generally enable this on --- linux-riscv-5.8-5.8.0.orig/arch/sh/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/sh/include/asm/Kbuild @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 generated-y += syscall_table.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += parport.h --- linux-riscv-5.8-5.8.0.orig/arch/sh/mm/fault.c +++ linux-riscv-5.8-5.8.0/arch/sh/mm/fault.c @@ -208,7 +208,6 @@ if (!oops_may_print()) return; - printk(KERN_ALERT "PC:"); pr_alert("BUG: unable to handle kernel %s at %08lx\n", address < PAGE_SIZE ? "NULL pointer dereference" : "paging request", --- linux-riscv-5.8-5.8.0.orig/arch/sparc/Kconfig +++ linux-riscv-5.8-5.8.0/arch/sparc/Kconfig @@ -510,7 +510,7 @@ bool depends on SPARC64 default y - select COMPAT_BINFMT_ELF + select COMPAT_BINFMT_ELF if BINFMT_ELF select HAVE_UID16 select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION --- linux-riscv-5.8-5.8.0.orig/arch/sparc/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/sparc/include/asm/Kbuild @@ -6,5 +6,4 @@ generated-y += syscall_table_c32.h generic-y += export.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h --- linux-riscv-5.8-5.8.0.orig/arch/sparc/include/asm/mman.h +++ linux-riscv-5.8-5.8.0/arch/sparc/include/asm/mman.h @@ -57,35 +57,39 @@ { if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC | PROT_SEM | PROT_ADI)) return 0; - if (prot & PROT_ADI) { - if (!adi_capable()) - return 0; + return 1; +} - if (addr) { - struct vm_area_struct *vma; +#define arch_validate_flags(vm_flags) arch_validate_flags(vm_flags) +/* arch_validate_flags() - Ensure combination of flags is valid for a + * VMA. + */ +static inline bool arch_validate_flags(unsigned long vm_flags) +{ + /* If ADI is being enabled on this VMA, check for ADI + * capability on the platform and ensure VMA is suitable + * for ADI + */ + if (vm_flags & VM_SPARC_ADI) { + if (!adi_capable()) + return false; - vma = find_vma(current->mm, addr); - if (vma) { - /* ADI can not be enabled on PFN - * mapped pages - */ - if (vma->vm_flags & (VM_PFNMAP | VM_MIXEDMAP)) - return 0; + /* ADI can not be enabled on PFN mapped pages */ + if (vm_flags & (VM_PFNMAP | VM_MIXEDMAP)) + return false; - /* Mergeable pages can become unmergeable - * if ADI is enabled on them even if they - * have identical data on them. This can be - * because ADI enabled pages with identical - * data may still not have identical ADI - * tags on them. Disallow ADI on mergeable - * pages. - */ - if (vma->vm_flags & VM_MERGEABLE) - return 0; - } - } + /* Mergeable pages can become unmergeable + * if ADI is enabled on them even if they + * have identical data on them. This can be + * because ADI enabled pages with identical + * data may still not have identical ADI + * tags on them. Disallow ADI on mergeable + * pages. + */ + if (vm_flags & VM_MERGEABLE) + return false; } - return 1; + return true; } #endif /* CONFIG_SPARC64 */ --- linux-riscv-5.8-5.8.0.orig/arch/sparc/kernel/led.c +++ linux-riscv-5.8-5.8.0/arch/sparc/kernel/led.c @@ -50,6 +50,7 @@ add_timer(&led_blink_timer); } +#ifdef CONFIG_PROC_FS static int led_proc_show(struct seq_file *m, void *v) { if (get_auxio() & AUXIO_LED) @@ -111,6 +112,7 @@ .proc_release = single_release, .proc_write = led_proc_write, }; +#endif static struct proc_dir_entry *led; --- linux-riscv-5.8-5.8.0.orig/arch/sparc/kernel/smp_64.c +++ linux-riscv-5.8-5.8.0/arch/sparc/kernel/smp_64.c @@ -1038,38 +1038,9 @@ * are flush_tlb_*() routines, and these run after flush_cache_*() * which performs the flushw. * - * The SMP TLB coherency scheme we use works as follows: - * - * 1) mm->cpu_vm_mask is a bit mask of which cpus an address - * space has (potentially) executed on, this is the heuristic - * we use to avoid doing cross calls. - * - * Also, for flushing from kswapd and also for clones, we - * use cpu_vm_mask as the list of cpus to make run the TLB. - * - * 2) TLB context numbers are shared globally across all processors - * in the system, this allows us to play several games to avoid - * cross calls. - * - * One invariant is that when a cpu switches to a process, and - * that processes tsk->active_mm->cpu_vm_mask does not have the - * current cpu's bit set, that tlb context is flushed locally. - * - * If the address space is non-shared (ie. mm->count == 1) we avoid - * cross calls when we want to flush the currently running process's - * tlb state. This is done by clearing all cpu bits except the current - * processor's in current->mm->cpu_vm_mask and performing the - * flush locally only. This will force any subsequent cpus which run - * this task to flush the context from the local tlb if the process - * migrates to another cpu (again). - * - * 3) For shared address spaces (threads) and swapping we bite the - * bullet for most cases and perform the cross call (but only to - * the cpus listed in cpu_vm_mask). - * - * The performance gain from "optimizing" away the cross call for threads is - * questionable (in theory the big win for threads is the massive sharing of - * address space state across processors). + * mm->cpu_vm_mask is a bit mask of which cpus an address + * space has (potentially) executed on, this is the heuristic + * we use to limit cross calls. */ /* This currently is only used by the hugetlb arch pre-fault @@ -1079,18 +1050,13 @@ void smp_flush_tlb_mm(struct mm_struct *mm) { u32 ctx = CTX_HWBITS(mm->context); - int cpu = get_cpu(); - if (atomic_read(&mm->mm_users) == 1) { - cpumask_copy(mm_cpumask(mm), cpumask_of(cpu)); - goto local_flush_and_out; - } + get_cpu(); smp_cross_call_masked(&xcall_flush_tlb_mm, ctx, 0, 0, mm_cpumask(mm)); -local_flush_and_out: __flush_tlb_mm(ctx, SECONDARY_CONTEXT); put_cpu(); @@ -1113,17 +1079,15 @@ { u32 ctx = CTX_HWBITS(mm->context); struct tlb_pending_info info; - int cpu = get_cpu(); + + get_cpu(); info.ctx = ctx; info.nr = nr; info.vaddrs = vaddrs; - if (mm == current->mm && atomic_read(&mm->mm_users) == 1) - cpumask_copy(mm_cpumask(mm), cpumask_of(cpu)); - else - smp_call_function_many(mm_cpumask(mm), tlb_pending_func, - &info, 1); + smp_call_function_many(mm_cpumask(mm), tlb_pending_func, + &info, 1); __flush_tlb_pending(ctx, nr, vaddrs); @@ -1133,14 +1097,13 @@ void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr) { unsigned long context = CTX_HWBITS(mm->context); - int cpu = get_cpu(); - if (mm == current->mm && atomic_read(&mm->mm_users) == 1) - cpumask_copy(mm_cpumask(mm), cpumask_of(cpu)); - else - smp_cross_call_masked(&xcall_flush_tlb_page, - context, vaddr, 0, - mm_cpumask(mm)); + get_cpu(); + + smp_cross_call_masked(&xcall_flush_tlb_page, + context, vaddr, 0, + mm_cpumask(mm)); + __flush_tlb_page(context, vaddr); put_cpu(); --- linux-riscv-5.8-5.8.0.orig/arch/sparc/kernel/traps_64.c +++ linux-riscv-5.8-5.8.0/arch/sparc/kernel/traps_64.c @@ -275,14 +275,13 @@ asi = (regs->tstate >> 24); /* saved %asi */ else asi = (insn >> 5); /* immediate asi */ - if ((asi & 0xf2) == ASI_PNF) { - if (insn & 0x1000000) { /* op3[5:4]=3 */ - handle_ldf_stq(insn, regs); - return true; - } else if (insn & 0x200000) { /* op3[2], stores */ + if ((asi & 0xf6) == ASI_PNF) { + if (insn & 0x200000) /* op3[2], stores */ return false; - } - handle_ld_nf(insn, regs); + if (insn & 0x1000000) /* op3[5:4]=3 (fp) */ + handle_ldf_stq(insn, regs); + else + handle_ld_nf(insn, regs); return true; } } --- linux-riscv-5.8-5.8.0.orig/arch/sparc/lib/memset.S +++ linux-riscv-5.8-5.8.0/arch/sparc/lib/memset.S @@ -142,6 +142,7 @@ ZERO_LAST_BLOCKS(%o0, 0x48, %g2) ZERO_LAST_BLOCKS(%o0, 0x08, %g2) 13: + EXT(12b, 13b, 21f) be 8f andcc %o1, 4, %g0 --- linux-riscv-5.8-5.8.0.orig/arch/sparc/mm/init_32.c +++ linux-riscv-5.8-5.8.0/arch/sparc/mm/init_32.c @@ -197,6 +197,9 @@ size = memblock_phys_mem_size() - memblock_reserved_size(); *pages_avail = (size >> PAGE_SHIFT) - high_pages; + /* Only allow low memory to be allocated via memblock allocation */ + memblock_set_current_limit(max_low_pfn << PAGE_SHIFT); + return max_pfn; } --- linux-riscv-5.8-5.8.0.orig/arch/sparc/mm/init_64.c +++ linux-riscv-5.8-5.8.0/arch/sparc/mm/init_64.c @@ -2899,7 +2899,7 @@ if (!page) return NULL; if (!pgtable_pte_page_ctor(page)) { - free_unref_page(page); + __free_page(page); return NULL; } return (pte_t *) page_address(page); --- linux-riscv-5.8-5.8.0.orig/arch/sparc/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/sparc/vdso/Makefile @@ -115,7 +115,7 @@ -T $(filter %.lds,$^) $(filter %.o,$^) && \ sh $(srctree)/$(src)/checkundef.sh '$(OBJDUMP)' '$@' -VDSO_LDFLAGS = -shared --hash-style=both --build-id -Bsymbolic +VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 -Bsymbolic GCOV_PROFILE := n # --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/chan_user.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/chan_user.c @@ -26,10 +26,10 @@ n = read(fd, c_out, sizeof(*c_out)); if (n > 0) return n; - else if (errno == EAGAIN) - return 0; else if (n == 0) return -EIO; + else if (errno == EAGAIN) + return 0; return -errno; } --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/random.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/random.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -18,9 +19,8 @@ #include /* - * core module and version information + * core module information */ -#define RNG_VERSION "1.0.0" #define RNG_MODULE_NAME "hw_random" /* Changed at init time, in the non-modular case, and at module load @@ -28,88 +28,36 @@ * protects against a module being loaded twice at the same time. */ static int random_fd = -1; -static DECLARE_WAIT_QUEUE_HEAD(host_read_wait); +static struct hwrng hwrng = { 0, }; +static DECLARE_COMPLETION(have_data); -static int rng_dev_open (struct inode *inode, struct file *filp) +static int rng_dev_read(struct hwrng *rng, void *buf, size_t max, bool block) { - /* enforce read-only access to this chrdev */ - if ((filp->f_mode & FMODE_READ) == 0) - return -EINVAL; - if ((filp->f_mode & FMODE_WRITE) != 0) - return -EINVAL; + int ret; - return 0; -} - -static atomic_t host_sleep_count = ATOMIC_INIT(0); - -static ssize_t rng_dev_read (struct file *filp, char __user *buf, size_t size, - loff_t *offp) -{ - u32 data; - int n, ret = 0, have_data; - - while (size) { - n = os_read_file(random_fd, &data, sizeof(data)); - if (n > 0) { - have_data = n; - while (have_data && size) { - if (put_user((u8) data, buf++)) { - ret = ret ? : -EFAULT; - break; - } - size--; - ret++; - have_data--; - data >>= 8; - } - } - else if (n == -EAGAIN) { - DECLARE_WAITQUEUE(wait, current); - - if (filp->f_flags & O_NONBLOCK) - return ret ? : -EAGAIN; - - atomic_inc(&host_sleep_count); + for (;;) { + ret = os_read_file(random_fd, buf, max); + if (block && ret == -EAGAIN) { add_sigio_fd(random_fd); - add_wait_queue(&host_read_wait, &wait); - set_current_state(TASK_INTERRUPTIBLE); + ret = wait_for_completion_killable(&have_data); - schedule(); - remove_wait_queue(&host_read_wait, &wait); + ignore_sigio_fd(random_fd); + deactivate_fd(random_fd, RANDOM_IRQ); - if (atomic_dec_and_test(&host_sleep_count)) { - ignore_sigio_fd(random_fd); - deactivate_fd(random_fd, RANDOM_IRQ); - } + if (ret < 0) + break; + } else { + break; } - else - return n; - - if (signal_pending (current)) - return ret ? : -ERESTARTSYS; } - return ret; -} -static const struct file_operations rng_chrdev_ops = { - .owner = THIS_MODULE, - .open = rng_dev_open, - .read = rng_dev_read, - .llseek = noop_llseek, -}; - -/* rng_init shouldn't be called more than once at boot time */ -static struct miscdevice rng_miscdev = { - HWRNG_MINOR, - RNG_MODULE_NAME, - &rng_chrdev_ops, -}; + return ret != -EAGAIN ? ret : 0; +} static irqreturn_t random_interrupt(int irq, void *data) { - wake_up(&host_read_wait); + complete(&have_data); return IRQ_HANDLED; } @@ -126,18 +74,19 @@ goto out; random_fd = err; - err = um_request_irq(RANDOM_IRQ, random_fd, IRQ_READ, random_interrupt, 0, "random", NULL); if (err) goto err_out_cleanup_hw; sigio_broken(random_fd, 1); + hwrng.name = RNG_MODULE_NAME; + hwrng.read = rng_dev_read; + hwrng.quality = 1024; - err = misc_register (&rng_miscdev); + err = hwrng_register(&hwrng); if (err) { - printk (KERN_ERR RNG_MODULE_NAME ": misc device register " - "failed\n"); + pr_err(RNG_MODULE_NAME " registering failed (%d)\n", err); goto err_out_cleanup_hw; } out: @@ -161,8 +110,8 @@ static void __exit rng_cleanup(void) { + hwrng_unregister(&hwrng); os_close_file(random_fd); - misc_deregister (&rng_miscdev); } module_init (rng_init); --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/ubd_kern.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/ubd_kern.c @@ -47,18 +47,25 @@ /* Max request size is determined by sector mask - 32K */ #define UBD_MAX_REQUEST (8 * sizeof(long)) +struct io_desc { + char *buffer; + unsigned long length; + unsigned long sector_mask; + unsigned long long cow_offset; + unsigned long bitmap_words[2]; +}; + struct io_thread_req { struct request *req; int fds[2]; unsigned long offsets[2]; unsigned long long offset; - unsigned long length; - char *buffer; int sectorsize; - unsigned long sector_mask; - unsigned long long cow_offset; - unsigned long bitmap_words[2]; int error; + + int desc_cnt; + /* io_desc has to be the last element of the struct */ + struct io_desc io_desc[]; }; @@ -525,12 +532,7 @@ blk_queue_max_write_zeroes_sectors(io_req->req->q, 0); blk_queue_flag_clear(QUEUE_FLAG_DISCARD, io_req->req->q); } - if ((io_req->error) || (io_req->buffer == NULL)) - blk_mq_end_request(io_req->req, io_req->error); - else { - if (!blk_update_request(io_req->req, io_req->error, io_req->length)) - __blk_mq_end_request(io_req->req, io_req->error); - } + blk_mq_end_request(io_req->req, io_req->error); kfree(io_req); } } @@ -946,6 +948,7 @@ blk_queue_write_cache(ubd_dev->queue, true, false); blk_queue_max_segments(ubd_dev->queue, MAX_SG); + blk_queue_segment_boundary(ubd_dev->queue, PAGE_SIZE - 1); err = ubd_disk_register(UBD_MAJOR, ubd_dev->size, n, &ubd_gendisk[n]); if(err){ *error_out = "Failed to register device"; @@ -1289,37 +1292,74 @@ *cow_offset += bitmap_offset; } -static void cowify_req(struct io_thread_req *req, unsigned long *bitmap, +static void cowify_req(struct io_thread_req *req, struct io_desc *segment, + unsigned long offset, unsigned long *bitmap, __u64 bitmap_offset, __u64 bitmap_len) { - __u64 sector = req->offset >> SECTOR_SHIFT; + __u64 sector = offset >> SECTOR_SHIFT; int i; - if (req->length > (sizeof(req->sector_mask) * 8) << SECTOR_SHIFT) + if (segment->length > (sizeof(segment->sector_mask) * 8) << SECTOR_SHIFT) panic("Operation too long"); if (req_op(req->req) == REQ_OP_READ) { - for (i = 0; i < req->length >> SECTOR_SHIFT; i++) { + for (i = 0; i < segment->length >> SECTOR_SHIFT; i++) { if(ubd_test_bit(sector + i, (unsigned char *) bitmap)) ubd_set_bit(i, (unsigned char *) - &req->sector_mask); + &segment->sector_mask); } + } else { + cowify_bitmap(offset, segment->length, &segment->sector_mask, + &segment->cow_offset, bitmap, bitmap_offset, + segment->bitmap_words, bitmap_len); } - else cowify_bitmap(req->offset, req->length, &req->sector_mask, - &req->cow_offset, bitmap, bitmap_offset, - req->bitmap_words, bitmap_len); } -static int ubd_queue_one_vec(struct blk_mq_hw_ctx *hctx, struct request *req, - u64 off, struct bio_vec *bvec) +static void ubd_map_req(struct ubd *dev, struct io_thread_req *io_req, + struct request *req) +{ + struct bio_vec bvec; + struct req_iterator iter; + int i = 0; + unsigned long byte_offset = io_req->offset; + int op = req_op(req); + + if (op == REQ_OP_WRITE_ZEROES || op == REQ_OP_DISCARD) { + io_req->io_desc[0].buffer = NULL; + io_req->io_desc[0].length = blk_rq_bytes(req); + } else { + rq_for_each_segment(bvec, req, iter) { + BUG_ON(i >= io_req->desc_cnt); + + io_req->io_desc[i].buffer = + page_address(bvec.bv_page) + bvec.bv_offset; + io_req->io_desc[i].length = bvec.bv_len; + i++; + } + } + + if (dev->cow.file) { + for (i = 0; i < io_req->desc_cnt; i++) { + cowify_req(io_req, &io_req->io_desc[i], byte_offset, + dev->cow.bitmap, dev->cow.bitmap_offset, + dev->cow.bitmap_len); + byte_offset += io_req->io_desc[i].length; + } + + } +} + +static struct io_thread_req *ubd_alloc_req(struct ubd *dev, struct request *req, + int desc_cnt) { - struct ubd *dev = hctx->queue->queuedata; struct io_thread_req *io_req; - int ret; + int i; - io_req = kmalloc(sizeof(struct io_thread_req), GFP_ATOMIC); + io_req = kmalloc(sizeof(*io_req) + + (desc_cnt * sizeof(struct io_desc)), + GFP_ATOMIC); if (!io_req) - return -ENOMEM; + return NULL; io_req->req = req; if (dev->cow.file) @@ -1327,26 +1367,41 @@ else io_req->fds[0] = dev->fd; io_req->error = 0; - - if (bvec != NULL) { - io_req->buffer = page_address(bvec->bv_page) + bvec->bv_offset; - io_req->length = bvec->bv_len; - } else { - io_req->buffer = NULL; - io_req->length = blk_rq_bytes(req); - } - io_req->sectorsize = SECTOR_SIZE; io_req->fds[1] = dev->fd; - io_req->cow_offset = -1; - io_req->offset = off; - io_req->sector_mask = 0; + io_req->offset = (u64) blk_rq_pos(req) << SECTOR_SHIFT; io_req->offsets[0] = 0; io_req->offsets[1] = dev->cow.data_offset; - if (dev->cow.file) - cowify_req(io_req, dev->cow.bitmap, - dev->cow.bitmap_offset, dev->cow.bitmap_len); + for (i = 0 ; i < desc_cnt; i++) { + io_req->io_desc[i].sector_mask = 0; + io_req->io_desc[i].cow_offset = -1; + } + + return io_req; +} + +static int ubd_submit_request(struct ubd *dev, struct request *req) +{ + int segs = 0; + struct io_thread_req *io_req; + int ret; + int op = req_op(req); + + if (op == REQ_OP_FLUSH) + segs = 0; + else if (op == REQ_OP_WRITE_ZEROES || op == REQ_OP_DISCARD) + segs = 1; + else + segs = blk_rq_nr_phys_segments(req); + + io_req = ubd_alloc_req(dev, req, segs); + if (!io_req) + return -ENOMEM; + + io_req->desc_cnt = segs; + if (segs) + ubd_map_req(dev, io_req, req); ret = os_write_file(thread_fd, &io_req, sizeof(io_req)); if (ret != sizeof(io_req)) { @@ -1357,22 +1412,6 @@ return ret; } -static int queue_rw_req(struct blk_mq_hw_ctx *hctx, struct request *req) -{ - struct req_iterator iter; - struct bio_vec bvec; - int ret; - u64 off = (u64)blk_rq_pos(req) << SECTOR_SHIFT; - - rq_for_each_segment(bvec, req, iter) { - ret = ubd_queue_one_vec(hctx, req, off, &bvec); - if (ret < 0) - return ret; - off += bvec.bv_len; - } - return 0; -} - static blk_status_t ubd_queue_rq(struct blk_mq_hw_ctx *hctx, const struct blk_mq_queue_data *bd) { @@ -1385,17 +1424,12 @@ spin_lock_irq(&ubd_dev->lock); switch (req_op(req)) { - /* operations with no lentgth/offset arguments */ case REQ_OP_FLUSH: - ret = ubd_queue_one_vec(hctx, req, 0, NULL); - break; case REQ_OP_READ: case REQ_OP_WRITE: - ret = queue_rw_req(hctx, req); - break; case REQ_OP_DISCARD: case REQ_OP_WRITE_ZEROES: - ret = ubd_queue_one_vec(hctx, req, (u64)blk_rq_pos(req) << 9, NULL); + ret = ubd_submit_request(ubd_dev, req); break; default: WARN_ON_ONCE(1); @@ -1483,22 +1517,22 @@ * will result in unpredictable behaviour and/or crashes. */ -static int update_bitmap(struct io_thread_req *req) +static int update_bitmap(struct io_thread_req *req, struct io_desc *segment) { int n; - if(req->cow_offset == -1) + if (segment->cow_offset == -1) return map_error(0); - n = os_pwrite_file(req->fds[1], &req->bitmap_words, - sizeof(req->bitmap_words), req->cow_offset); - if (n != sizeof(req->bitmap_words)) + n = os_pwrite_file(req->fds[1], &segment->bitmap_words, + sizeof(segment->bitmap_words), segment->cow_offset); + if (n != sizeof(segment->bitmap_words)) return map_error(-n); return map_error(0); } -static void do_io(struct io_thread_req *req) +static void do_io(struct io_thread_req *req, struct io_desc *desc) { char *buf = NULL; unsigned long len; @@ -1513,21 +1547,20 @@ return; } - nsectors = req->length / req->sectorsize; + nsectors = desc->length / req->sectorsize; start = 0; do { - bit = ubd_test_bit(start, (unsigned char *) &req->sector_mask); + bit = ubd_test_bit(start, (unsigned char *) &desc->sector_mask); end = start; while((end < nsectors) && - (ubd_test_bit(end, (unsigned char *) - &req->sector_mask) == bit)) + (ubd_test_bit(end, (unsigned char *) &desc->sector_mask) == bit)) end++; off = req->offset + req->offsets[bit] + start * req->sectorsize; len = (end - start) * req->sectorsize; - if (req->buffer != NULL) - buf = &req->buffer[start * req->sectorsize]; + if (desc->buffer != NULL) + buf = &desc->buffer[start * req->sectorsize]; switch (req_op(req->req)) { case REQ_OP_READ: @@ -1567,7 +1600,8 @@ start = end; } while(start < nsectors); - req->error = update_bitmap(req); + req->offset += len; + req->error = update_bitmap(req, desc); } /* Changed in start_io_thread, which is serialized by being called only @@ -1600,8 +1634,13 @@ } for (count = 0; count < n/sizeof(struct io_thread_req *); count++) { + struct io_thread_req *req = (*io_req_buffer)[count]; + int i; + io_count++; - do_io((*io_req_buffer)[count]); + for (i = 0; !req->error && i < req->desc_cnt; i++) + do_io(req, &(req->io_desc[i])); + } written = 0; --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/vector_kern.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/vector_kern.c @@ -1403,7 +1403,7 @@ kfree(vp->bpf->filter); vp->bpf->filter = NULL; } else { - vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_KERNEL); + vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC); if (vp->bpf == NULL) { netdev_err(dev, "failed to allocate memory for firmware\n"); goto flash_fail; @@ -1415,7 +1415,7 @@ if (request_firmware(&fw, efl->data, &vdevice->pdev.dev)) goto flash_fail; - vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_KERNEL); + vp->bpf->filter = kmemdup(fw->data, fw->size, GFP_ATOMIC); if (!vp->bpf->filter) goto free_buffer; --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/virtio_uml.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/virtio_uml.c @@ -1083,6 +1083,7 @@ } os_close_file(vu_dev->sock); + kfree(vu_dev); } /* Platform device */ @@ -1096,7 +1097,7 @@ if (!pdata) return -EINVAL; - vu_dev = devm_kzalloc(&pdev->dev, sizeof(*vu_dev), GFP_KERNEL); + vu_dev = kzalloc(sizeof(*vu_dev), GFP_KERNEL); if (!vu_dev) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/arch/um/drivers/xterm.c +++ linux-riscv-5.8-5.8.0/arch/um/drivers/xterm.c @@ -18,6 +18,7 @@ struct xterm_chan { int pid; int helper_pid; + int chan_fd; char *title; int device; int raw; @@ -33,6 +34,7 @@ return NULL; *data = ((struct xterm_chan) { .pid = -1, .helper_pid = -1, + .chan_fd = -1, .device = device, .title = opts->xterm_title, .raw = opts->raw } ); @@ -149,6 +151,7 @@ goto out_kill; } + data->chan_fd = fd; new = xterm_fd(fd, &data->helper_pid); if (new < 0) { err = new; @@ -206,6 +209,8 @@ os_kill_process(data->helper_pid, 0); data->helper_pid = -1; + if (data->chan_fd != -1) + os_close_file(data->chan_fd); os_close_file(fd); } --- linux-riscv-5.8-5.8.0.orig/arch/um/include/shared/skas/mm_id.h +++ linux-riscv-5.8-5.8.0/arch/um/include/shared/skas/mm_id.h @@ -12,6 +12,7 @@ int pid; } u; unsigned long stack; + int kill; }; #endif --- linux-riscv-5.8-5.8.0.orig/arch/um/kernel/sigio.c +++ linux-riscv-5.8-5.8.0/arch/um/kernel/sigio.c @@ -35,14 +35,14 @@ } /* These are called from os-Linux/sigio.c to protect its pollfds arrays. */ -static DEFINE_SPINLOCK(sigio_spinlock); +static DEFINE_MUTEX(sigio_mutex); void sigio_lock(void) { - spin_lock(&sigio_spinlock); + mutex_lock(&sigio_mutex); } void sigio_unlock(void) { - spin_unlock(&sigio_spinlock); + mutex_unlock(&sigio_mutex); } --- linux-riscv-5.8-5.8.0.orig/arch/um/kernel/time.c +++ linux-riscv-5.8-5.8.0/arch/um/kernel/time.c @@ -70,13 +70,17 @@ * read of the message and write of the ACK. */ if (mode != TTMH_READ) { + bool disabled = irqs_disabled(); + + BUG_ON(mode == TTMH_IDLE && !disabled); + + if (disabled) + local_irq_enable(); while (os_poll(1, &time_travel_ext_fd) != 0) { - if (mode == TTMH_IDLE) { - BUG_ON(!irqs_disabled()); - local_irq_enable(); - local_irq_disable(); - } + /* nothing */ } + if (disabled) + local_irq_disable(); } ret = os_read_file(time_travel_ext_fd, msg, sizeof(*msg)); @@ -255,11 +259,6 @@ struct time_travel_event *tmp; bool inserted = false; - if (WARN(time_travel_mode == TT_MODE_BASIC && - e != &time_travel_timer_event, - "only timer events can be handled in basic mode")) - return; - if (e->pending) return; --- linux-riscv-5.8-5.8.0.orig/arch/um/kernel/tlb.c +++ linux-riscv-5.8-5.8.0/arch/um/kernel/tlb.c @@ -125,6 +125,9 @@ struct host_vm_op *last; int fd = -1, ret = 0; + if (virt + len > STUB_START && virt < STUB_END) + return -EINVAL; + if (hvc->userspace) fd = phys_mapping(phys, &offset); else @@ -162,7 +165,7 @@ struct host_vm_op *last; int ret = 0; - if ((addr >= STUB_START) && (addr < STUB_END)) + if (addr + len > STUB_START && addr < STUB_END) return -EINVAL; if (hvc->index != 0) { @@ -192,6 +195,9 @@ struct host_vm_op *last; int ret = 0; + if (addr + len > STUB_START && addr < STUB_END) + return -EINVAL; + if (hvc->index != 0) { last = &hvc->ops[hvc->index - 1]; if ((last->type == MPROTECT) && @@ -346,12 +352,11 @@ /* This is not an else because ret is modified above */ if (ret) { + struct mm_id *mm_idp = ¤t->mm->context.id; + printk(KERN_ERR "fix_range_common: failed, killing current " "process: %d\n", task_tgid_vnr(current)); - /* We are under mmap_lock, release it such that current can terminate */ - mmap_write_unlock(current->mm); - force_sig(SIGKILL); - do_signal(¤t->thread.regs); + mm_idp->kill = 1; } } @@ -472,6 +477,10 @@ struct mm_id *mm_id; address &= PAGE_MASK; + + if (address >= STUB_START && address < STUB_END) + goto kill; + pgd = pgd_offset(mm, address); if (!pgd_present(*pgd)) goto kill; --- linux-riscv-5.8-5.8.0.orig/arch/um/os-Linux/irq.c +++ linux-riscv-5.8-5.8.0/arch/um/os-Linux/irq.c @@ -48,7 +48,7 @@ int os_event_mask(int irq_type) { if (irq_type == IRQ_READ) - return EPOLLIN | EPOLLPRI; + return EPOLLIN | EPOLLPRI | EPOLLERR | EPOLLHUP | EPOLLRDHUP; if (irq_type == IRQ_WRITE) return EPOLLOUT; return 0; --- linux-riscv-5.8-5.8.0.orig/arch/um/os-Linux/skas/process.c +++ linux-riscv-5.8-5.8.0/arch/um/os-Linux/skas/process.c @@ -249,6 +249,7 @@ } int userspace_pid[NR_CPUS]; +int kill_userspace_mm[NR_CPUS]; /** * start_userspace() - prepare a new userspace process @@ -342,6 +343,8 @@ interrupt_end(); while (1) { + if (kill_userspace_mm[0]) + fatal_sigsegv(); /* * This can legitimately fail if the process loads a @@ -650,4 +653,5 @@ void __switch_mm(struct mm_id *mm_idp) { userspace_pid[0] = mm_idp->u.pid; + kill_userspace_mm[0] = mm_idp->kill; } --- linux-riscv-5.8-5.8.0.orig/arch/um/os-Linux/umid.c +++ linux-riscv-5.8-5.8.0/arch/um/os-Linux/umid.c @@ -137,20 +137,13 @@ { char pid[sizeof("nnnnn\0")], *end, *file; int dead, fd, p, n, err; - size_t filelen; + size_t filelen = strlen(dir) + sizeof("/pid") + 1; - err = asprintf(&file, "%s/pid", dir); - if (err < 0) - return 0; + file = malloc(filelen); + if (!file) + return -ENOMEM; - filelen = strlen(file); - - n = snprintf(file, filelen, "%s/pid", dir); - if (n >= filelen) { - printk(UM_KERN_ERR "is_umdir_used - pid filename too long\n"); - err = -E2BIG; - goto out; - } + snprintf(file, filelen, "%s/pid", dir); dead = 0; fd = open(file, O_RDONLY); --- linux-riscv-5.8-5.8.0.orig/arch/x86/Kconfig +++ linux-riscv-5.8-5.8.0/arch/x86/Kconfig @@ -18,6 +18,7 @@ select MODULES_USE_ELF_REL select OLD_SIGACTION select GENERIC_VDSO_32 + select ARCH_SPLIT_ARG64 config X86_64 def_bool y @@ -75,7 +76,7 @@ select ARCH_HAS_PTE_DEVMAP if X86_64 select ARCH_HAS_PTE_SPECIAL select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64 - select ARCH_HAS_UACCESS_MCSAFE if X86_64 && X86_MCE + select ARCH_HAS_COPY_MC if X86_64 select ARCH_HAS_SET_MEMORY select ARCH_HAS_SET_DIRECT_MAP select ARCH_HAS_STRICT_KERNEL_RWX --- linux-riscv-5.8-5.8.0.orig/arch/x86/Kconfig.debug +++ linux-riscv-5.8-5.8.0/arch/x86/Kconfig.debug @@ -59,7 +59,7 @@ You should normally say N here, unless you want to debug early crashes or need a very simple printk logging facility. -config MCSAFE_TEST +config COPY_MC_TEST def_bool n config EFI_PGT_DUMP --- linux-riscv-5.8-5.8.0.orig/arch/x86/Makefile +++ linux-riscv-5.8-5.8.0/arch/x86/Makefile @@ -34,7 +34,7 @@ REALMODE_CFLAGS := $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING \ -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \ -fno-strict-aliasing -fomit-frame-pointer -fno-pic \ - -mno-mmx -mno-sse + -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none) REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -ffreestanding) REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -fno-stack-protector) @@ -61,6 +61,9 @@ KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow KBUILD_CFLAGS += $(call cc-option,-mno-avx,) +# Intel CET isn't enabled in the kernel +KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none) + ifeq ($(CONFIG_X86_32),y) BITS := 32 UTS_MACHINE := i386 --- linux-riscv-5.8-5.8.0.orig/arch/x86/boot/compressed/Makefile +++ linux-riscv-5.8-5.8.0/arch/x86/boot/compressed/Makefile @@ -42,6 +42,8 @@ KBUILD_CFLAGS += -Wno-pointer-sign KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) KBUILD_CFLAGS += -fno-asynchronous-unwind-tables +# Disable relocation relaxation in case the link is not PIE. +KBUILD_CFLAGS += $(call as-option,-Wa$(comma)-mrelax-relocations=no) KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE := n --- linux-riscv-5.8-5.8.0.orig/arch/x86/boot/compressed/kaslr.c +++ linux-riscv-5.8-5.8.0/arch/x86/boot/compressed/kaslr.c @@ -94,8 +94,11 @@ static bool memmap_too_large; -/* Store memory limit specified by "mem=nn[KMG]" or "memmap=nn[KMG]" */ -static unsigned long long mem_limit = ULLONG_MAX; +/* + * Store memory limit: MAXMEM on 64-bit and KERNEL_IMAGE_SIZE on 32-bit. + * It may be reduced by "mem=nn[KMG]" or "memmap=nn[KMG]" command line options. + */ +static unsigned long long mem_limit; /* Number of immovable memory regions */ static int num_immovable_mem; @@ -221,7 +224,7 @@ if (start == 0) { /* Store the specified memory limit if size > 0 */ - if (size > 0) + if (size > 0 && size < mem_limit) mem_limit = size; continue; @@ -309,7 +312,8 @@ if (mem_size == 0) goto out; - mem_limit = mem_size; + if (mem_size < mem_limit) + mem_limit = mem_size; } else if (!strcmp(param, "efi_fake_mem")) { mem_avoid_memmap(PARSE_EFI, val); } @@ -321,7 +325,9 @@ } /* - * In theory, KASLR can put the kernel anywhere in the range of [16M, 64T). + * In theory, KASLR can put the kernel anywhere in the range of [16M, MAXMEM) + * on 64-bit, and [16M, KERNEL_IMAGE_SIZE) on 32-bit. + * * The mem_avoid array is used to store the ranges that need to be avoided * when KASLR searches for an appropriate random address. We must avoid any * regions that are unsafe to overlap with during decompression, and other @@ -621,10 +627,6 @@ unsigned long start_orig, end; struct mem_vector cur_entry; - /* On 32-bit, ignore entries entirely above our maximum. */ - if (IS_ENABLED(CONFIG_X86_32) && entry->start >= KERNEL_IMAGE_SIZE) - return; - /* Ignore entries entirely below our minimum. */ if (entry->start + entry->size < minimum) return; @@ -657,11 +659,6 @@ /* Reduce size by any delta from the original address. */ region.size -= region.start - start_orig; - /* On 32-bit, reduce region size to fit within max size. */ - if (IS_ENABLED(CONFIG_X86_32) && - region.start + region.size > KERNEL_IMAGE_SIZE) - region.size = KERNEL_IMAGE_SIZE - region.start; - /* Return if region can't contain decompressed kernel */ if (region.size < image_size) return; @@ -846,15 +843,16 @@ static unsigned long find_random_phys_addr(unsigned long minimum, unsigned long image_size) { + /* Bail out early if it's impossible to succeed. */ + if (minimum + image_size > mem_limit) + return 0; + /* Check if we had too many memmaps. */ if (memmap_too_large) { debug_putstr("Aborted memory entries scan (more than 4 memmap= args)!\n"); return 0; } - /* Make sure minimum is aligned. */ - minimum = ALIGN(minimum, CONFIG_PHYSICAL_ALIGN); - if (process_efi_entries(minimum, image_size)) return slots_fetch_random(); @@ -867,8 +865,6 @@ { unsigned long slots, random_addr; - /* Make sure minimum is aligned. */ - minimum = ALIGN(minimum, CONFIG_PHYSICAL_ALIGN); /* Align image_size for easy slot calculations. */ image_size = ALIGN(image_size, CONFIG_PHYSICAL_ALIGN); @@ -915,6 +911,11 @@ /* Prepare to add new identity pagetables on demand. */ initialize_identity_maps(); + if (IS_ENABLED(CONFIG_X86_32)) + mem_limit = KERNEL_IMAGE_SIZE; + else + mem_limit = MAXMEM; + /* Record the various known unsafe memory ranges. */ mem_avoid_init(input, input_size, *output); @@ -924,6 +925,8 @@ * location: */ min_addr = min(*output, 512UL << 20); + /* Make sure minimum is aligned. */ + min_addr = ALIGN(min_addr, CONFIG_PHYSICAL_ALIGN); /* Walk available memory entries to find a random address. */ random_addr = find_random_phys_addr(min_addr, output_size); --- linux-riscv-5.8-5.8.0.orig/arch/x86/boot/compressed/mem_encrypt.S +++ linux-riscv-5.8-5.8.0/arch/x86/boot/compressed/mem_encrypt.S @@ -81,6 +81,19 @@ bts %rax, sme_me_mask(%rip) /* Create the encryption mask */ + /* + * Read MSR_AMD64_SEV again and store it to sev_status. Can't do this in + * get_sev_encryption_bit() because this function is 32-bit code and + * shared between 64-bit and 32-bit boot path. + */ + movl $MSR_AMD64_SEV, %ecx /* Read the SEV MSR */ + rdmsr + + /* Store MSR value in sev_status */ + shlq $32, %rdx + orq %rdx, %rax + movq %rax, sev_status(%rip) + .Lno_sev_mask: movq %rbp, %rsp /* Restore original stack pointer */ @@ -96,5 +109,6 @@ #ifdef CONFIG_AMD_MEM_ENCRYPT .balign 8 -SYM_DATA(sme_me_mask, .quad 0) +SYM_DATA(sme_me_mask, .quad 0) +SYM_DATA(sev_status, .quad 0) #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/boot/compressed/pgtable_64.c +++ linux-riscv-5.8-5.8.0/arch/x86/boot/compressed/pgtable_64.c @@ -5,15 +5,6 @@ #include "pgtable.h" #include "../string.h" -/* - * __force_order is used by special_insns.h asm code to force instruction - * serialization. - * - * It is not referenced from the code, but GCC < 5 with -fPIE would fail - * due to an undefined symbol. Define it to make these ancient GCCs work. - */ -unsigned long __force_order; - #define BIOS_START_MIN 0x20000U /* 128K, less than this is insane */ #define BIOS_START_MAX 0x9f000U /* 640K, absolute maximum */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/boot/video-vga.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/x86/configs/i386_defconfig +++ linux-riscv-5.8-5.8.0/arch/x86/configs/i386_defconfig @@ -202,7 +202,6 @@ CONFIG_FB_TILEBLITTING=y CONFIG_FB_EFI=y # CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set --- linux-riscv-5.8-5.8.0.orig/arch/x86/configs/x86_64_defconfig +++ linux-riscv-5.8-5.8.0/arch/x86/configs/x86_64_defconfig @@ -197,7 +197,6 @@ CONFIG_FB_TILEBLITTING=y CONFIG_FB_EFI=y # CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set --- linux-riscv-5.8-5.8.0.orig/arch/x86/crypto/aes_ctrby8_avx-x86_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/crypto/aes_ctrby8_avx-x86_64.S @@ -127,10 +127,6 @@ /* generate a unique variable for ddq_add_x */ -.macro setddq n - var_ddq_add = ddq_add_\n -.endm - /* generate a unique variable for xmm register */ .macro setxdata n var_xdata = %xmm\n @@ -140,9 +136,7 @@ .macro club name, id .altmacro - .if \name == DDQ_DATA - setddq %\id - .elseif \name == XDATA + .if \name == XDATA setxdata %\id .endif .noaltmacro @@ -165,9 +159,8 @@ .set i, 1 .rept (by - 1) - club DDQ_DATA, i club XDATA, i - vpaddq var_ddq_add(%rip), xcounter, var_xdata + vpaddq (ddq_add_1 + 16 * (i - 1))(%rip), xcounter, var_xdata vptest ddq_low_msk(%rip), var_xdata jnz 1f vpaddq ddq_high_add_1(%rip), var_xdata, var_xdata @@ -180,8 +173,7 @@ vmovdqa 1*16(p_keys), xkeyA vpxor xkey0, xdata0, xdata0 - club DDQ_DATA, by - vpaddq var_ddq_add(%rip), xcounter, xcounter + vpaddq (ddq_add_1 + 16 * (by - 1))(%rip), xcounter, xcounter vptest ddq_low_msk(%rip), xcounter jnz 1f vpaddq ddq_high_add_1(%rip), xcounter, xcounter --- linux-riscv-5.8-5.8.0.orig/arch/x86/crypto/aesni-intel_asm.S +++ linux-riscv-5.8-5.8.0/arch/x86/crypto/aesni-intel_asm.S @@ -266,7 +266,7 @@ PSHUFB_XMM %xmm2, %xmm0 movdqu %xmm0, CurCount(%arg2) # ctx_data.current_counter = iv - PRECOMPUTE \SUBKEY, %xmm1, %xmm2, %xmm3, %xmm4, %xmm5, %xmm6, %xmm7, + PRECOMPUTE \SUBKEY, %xmm1, %xmm2, %xmm3, %xmm4, %xmm5, %xmm6, %xmm7 movdqu HashKey(%arg2), %xmm13 CALC_AAD_HASH %xmm13, \AAD, \AADLEN, %xmm0, %xmm1, %xmm2, %xmm3, \ @@ -319,7 +319,7 @@ # Main loop - Encrypt/Decrypt remaining blocks - cmp $0, %r13 + test %r13, %r13 je _zero_cipher_left_\@ sub $64, %r13 je _four_cipher_left_\@ @@ -438,7 +438,7 @@ mov PBlockLen(%arg2), %r12 - cmp $0, %r12 + test %r12, %r12 je _partial_done\@ GHASH_MUL %xmm8, %xmm13, %xmm9, %xmm10, %xmm11, %xmm5, %xmm6 @@ -475,7 +475,7 @@ add $8, %r10 sub $8, %r11 psrldq $8, %xmm0 - cmp $0, %r11 + test %r11, %r11 je _return_T_done_\@ _T_4_\@: movd %xmm0, %eax @@ -483,7 +483,7 @@ add $4, %r10 sub $4, %r11 psrldq $4, %xmm0 - cmp $0, %r11 + test %r11, %r11 je _return_T_done_\@ _T_123_\@: movd %xmm0, %eax @@ -620,7 +620,7 @@ /* read the last <16B of AAD */ _get_AAD_rest\@: - cmp $0, %r11 + test %r11, %r11 je _get_AAD_done\@ READ_PARTIAL_BLOCK %r10, %r11, \TMP1, \TMP7 @@ -641,7 +641,7 @@ .macro PARTIAL_BLOCK CYPH_PLAIN_OUT PLAIN_CYPH_IN PLAIN_CYPH_LEN DATA_OFFSET \ AAD_HASH operation mov PBlockLen(%arg2), %r13 - cmp $0, %r13 + test %r13, %r13 je _partial_block_done_\@ # Leave Macro if no partial blocks # Read in input data without over reading cmp $16, \PLAIN_CYPH_LEN @@ -693,7 +693,7 @@ PSHUFB_XMM %xmm2, %xmm3 pxor %xmm3, \AAD_HASH - cmp $0, %r10 + test %r10, %r10 jl _partial_incomplete_1_\@ # GHASH computation for the last <16 Byte block @@ -728,7 +728,7 @@ PSHUFB_XMM %xmm2, %xmm9 pxor %xmm9, \AAD_HASH - cmp $0, %r10 + test %r10, %r10 jl _partial_incomplete_2_\@ # GHASH computation for the last <16 Byte block @@ -748,7 +748,7 @@ PSHUFB_XMM %xmm2, %xmm9 .endif # output encrypted Bytes - cmp $0, %r10 + test %r10, %r10 jl _partial_fill_\@ mov %r13, %r12 mov $16, %r13 @@ -978,7 +978,7 @@ * arg1, %arg3, %arg4 are used as pointers only, not modified * %r11 is the data offset value */ -.macro GHASH_4_ENCRYPT_4_PARALLEL_ENC TMP1 TMP2 TMP3 TMP4 TMP5 \ +.macro GHASH_4_ENCRYPT_4_PARALLEL_enc TMP1 TMP2 TMP3 TMP4 TMP5 \ TMP6 XMM0 XMM1 XMM2 XMM3 XMM4 XMM5 XMM6 XMM7 XMM8 operation movdqa \XMM1, \XMM5 @@ -1186,7 +1186,7 @@ * arg1, %arg3, %arg4 are used as pointers only, not modified * %r11 is the data offset value */ -.macro GHASH_4_ENCRYPT_4_PARALLEL_DEC TMP1 TMP2 TMP3 TMP4 TMP5 \ +.macro GHASH_4_ENCRYPT_4_PARALLEL_dec TMP1 TMP2 TMP3 TMP4 TMP5 \ TMP6 XMM0 XMM1 XMM2 XMM3 XMM4 XMM5 XMM6 XMM7 XMM8 operation movdqa \XMM1, \XMM5 @@ -2716,25 +2716,18 @@ pxor CTR, IV; /* - * void aesni_xts_crypt8(const struct crypto_aes_ctx *ctx, u8 *dst, - * const u8 *src, bool enc, le128 *iv) + * void aesni_xts_encrypt(const struct crypto_aes_ctx *ctx, u8 *dst, + * const u8 *src, unsigned int len, le128 *iv) */ -SYM_FUNC_START(aesni_xts_crypt8) +SYM_FUNC_START(aesni_xts_encrypt) FRAME_BEGIN - cmpb $0, %cl - movl $0, %ecx - movl $240, %r10d - leaq _aesni_enc4, %r11 - leaq _aesni_dec4, %rax - cmovel %r10d, %ecx - cmoveq %rax, %r11 movdqa .Lgf128mul_x_ble_mask, GF128MUL_MASK movups (IVP), IV mov 480(KEYP), KLEN - addq %rcx, KEYP +.Lxts_enc_loop4: movdqa IV, STATE1 movdqu 0x00(INP), INC pxor INC, STATE1 @@ -2758,71 +2751,103 @@ pxor INC, STATE4 movdqu IV, 0x30(OUTP) - CALL_NOSPEC r11 + call _aesni_enc4 movdqu 0x00(OUTP), INC pxor INC, STATE1 movdqu STATE1, 0x00(OUTP) - _aesni_gf128mul_x_ble() - movdqa IV, STATE1 - movdqu 0x40(INP), INC - pxor INC, STATE1 - movdqu IV, 0x40(OUTP) - movdqu 0x10(OUTP), INC pxor INC, STATE2 movdqu STATE2, 0x10(OUTP) - _aesni_gf128mul_x_ble() - movdqa IV, STATE2 - movdqu 0x50(INP), INC - pxor INC, STATE2 - movdqu IV, 0x50(OUTP) - movdqu 0x20(OUTP), INC pxor INC, STATE3 movdqu STATE3, 0x20(OUTP) - _aesni_gf128mul_x_ble() - movdqa IV, STATE3 - movdqu 0x60(INP), INC - pxor INC, STATE3 - movdqu IV, 0x60(OUTP) - movdqu 0x30(OUTP), INC pxor INC, STATE4 movdqu STATE4, 0x30(OUTP) _aesni_gf128mul_x_ble() - movdqa IV, STATE4 - movdqu 0x70(INP), INC - pxor INC, STATE4 - movdqu IV, 0x70(OUTP) - _aesni_gf128mul_x_ble() + add $64, INP + add $64, OUTP + sub $64, LEN + ja .Lxts_enc_loop4 + movups IV, (IVP) - CALL_NOSPEC r11 + FRAME_END + ret +SYM_FUNC_END(aesni_xts_encrypt) + +/* + * void aesni_xts_decrypt(const struct crypto_aes_ctx *ctx, u8 *dst, + * const u8 *src, unsigned int len, le128 *iv) + */ +SYM_FUNC_START(aesni_xts_decrypt) + FRAME_BEGIN + + movdqa .Lgf128mul_x_ble_mask, GF128MUL_MASK + movups (IVP), IV + + mov 480(KEYP), KLEN + add $240, KEYP - movdqu 0x40(OUTP), INC +.Lxts_dec_loop4: + movdqa IV, STATE1 + movdqu 0x00(INP), INC pxor INC, STATE1 - movdqu STATE1, 0x40(OUTP) + movdqu IV, 0x00(OUTP) - movdqu 0x50(OUTP), INC + _aesni_gf128mul_x_ble() + movdqa IV, STATE2 + movdqu 0x10(INP), INC + pxor INC, STATE2 + movdqu IV, 0x10(OUTP) + + _aesni_gf128mul_x_ble() + movdqa IV, STATE3 + movdqu 0x20(INP), INC + pxor INC, STATE3 + movdqu IV, 0x20(OUTP) + + _aesni_gf128mul_x_ble() + movdqa IV, STATE4 + movdqu 0x30(INP), INC + pxor INC, STATE4 + movdqu IV, 0x30(OUTP) + + call _aesni_dec4 + + movdqu 0x00(OUTP), INC + pxor INC, STATE1 + movdqu STATE1, 0x00(OUTP) + + movdqu 0x10(OUTP), INC pxor INC, STATE2 - movdqu STATE2, 0x50(OUTP) + movdqu STATE2, 0x10(OUTP) - movdqu 0x60(OUTP), INC + movdqu 0x20(OUTP), INC pxor INC, STATE3 - movdqu STATE3, 0x60(OUTP) + movdqu STATE3, 0x20(OUTP) - movdqu 0x70(OUTP), INC + movdqu 0x30(OUTP), INC pxor INC, STATE4 - movdqu STATE4, 0x70(OUTP) + movdqu STATE4, 0x30(OUTP) + + _aesni_gf128mul_x_ble() + + add $64, INP + add $64, OUTP + sub $64, LEN + ja .Lxts_dec_loop4 + + movups IV, (IVP) FRAME_END ret -SYM_FUNC_END(aesni_xts_crypt8) +SYM_FUNC_END(aesni_xts_decrypt) #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/crypto/aesni-intel_avx-x86_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/crypto/aesni-intel_avx-x86_64.S @@ -370,7 +370,7 @@ _initial_blocks_encrypted\@: - cmp $0, %r13 + test %r13, %r13 je _zero_cipher_left\@ sub $128, %r13 @@ -529,7 +529,7 @@ vmovdqu HashKey(arg2), %xmm13 mov PBlockLen(arg2), %r12 - cmp $0, %r12 + test %r12, %r12 je _partial_done\@ #GHASH computation for the last <16 Byte block @@ -574,7 +574,7 @@ add $8, %r10 sub $8, %r11 vpsrldq $8, %xmm9, %xmm9 - cmp $0, %r11 + test %r11, %r11 je _return_T_done\@ _T_4\@: vmovd %xmm9, %eax @@ -582,7 +582,7 @@ add $4, %r10 sub $4, %r11 vpsrldq $4, %xmm9, %xmm9 - cmp $0, %r11 + test %r11, %r11 je _return_T_done\@ _T_123\@: vmovd %xmm9, %eax @@ -626,7 +626,7 @@ cmp $16, %r11 jge _get_AAD_blocks\@ vmovdqu \T8, \T7 - cmp $0, %r11 + test %r11, %r11 je _get_AAD_done\@ vpxor \T7, \T7, \T7 @@ -645,7 +645,7 @@ vpxor \T1, \T7, \T7 jmp _get_AAD_rest8\@ _get_AAD_rest4\@: - cmp $0, %r11 + test %r11, %r11 jle _get_AAD_rest0\@ mov (%r10), %eax movq %rax, \T1 @@ -750,7 +750,7 @@ .macro PARTIAL_BLOCK GHASH_MUL CYPH_PLAIN_OUT PLAIN_CYPH_IN PLAIN_CYPH_LEN DATA_OFFSET \ AAD_HASH ENC_DEC mov PBlockLen(arg2), %r13 - cmp $0, %r13 + test %r13, %r13 je _partial_block_done_\@ # Leave Macro if no partial blocks # Read in input data without over reading cmp $16, \PLAIN_CYPH_LEN @@ -802,7 +802,7 @@ vpshufb %xmm2, %xmm3, %xmm3 vpxor %xmm3, \AAD_HASH, \AAD_HASH - cmp $0, %r10 + test %r10, %r10 jl _partial_incomplete_1_\@ # GHASH computation for the last <16 Byte block @@ -837,7 +837,7 @@ vpshufb %xmm2, %xmm9, %xmm9 vpxor %xmm9, \AAD_HASH, \AAD_HASH - cmp $0, %r10 + test %r10, %r10 jl _partial_incomplete_2_\@ # GHASH computation for the last <16 Byte block @@ -857,7 +857,7 @@ vpshufb %xmm2, %xmm9, %xmm9 .endif # output encrypted Bytes - cmp $0, %r10 + test %r10, %r10 jl _partial_fill_\@ mov %r13, %r12 mov $16, %r13 --- linux-riscv-5.8-5.8.0.orig/arch/x86/crypto/aesni-intel_glue.c +++ linux-riscv-5.8-5.8.0/arch/x86/crypto/aesni-intel_glue.c @@ -97,6 +97,12 @@ #define AVX_GEN2_OPTSIZE 640 #define AVX_GEN4_OPTSIZE 4096 +asmlinkage void aesni_xts_encrypt(const struct crypto_aes_ctx *ctx, u8 *out, + const u8 *in, unsigned int len, u8 *iv); + +asmlinkage void aesni_xts_decrypt(const struct crypto_aes_ctx *ctx, u8 *out, + const u8 *in, unsigned int len, u8 *iv); + #ifdef CONFIG_X86_64 static void (*aesni_ctr_enc_tfm)(struct crypto_aes_ctx *ctx, u8 *out, @@ -104,9 +110,6 @@ asmlinkage void aesni_ctr_enc(struct crypto_aes_ctx *ctx, u8 *out, const u8 *in, unsigned int len, u8 *iv); -asmlinkage void aesni_xts_crypt8(const struct crypto_aes_ctx *ctx, u8 *out, - const u8 *in, bool enc, le128 *iv); - /* asmlinkage void aesni_gcm_enc() * void *ctx, AES Key schedule. Starts on a 16 byte boundary. * struct gcm_context_data. May be uninitialized. @@ -547,14 +550,14 @@ glue_xts_crypt_128bit_one(ctx, dst, src, iv, aesni_dec); } -static void aesni_xts_enc8(const void *ctx, u8 *dst, const u8 *src, le128 *iv) +static void aesni_xts_enc32(const void *ctx, u8 *dst, const u8 *src, le128 *iv) { - aesni_xts_crypt8(ctx, dst, src, true, iv); + aesni_xts_encrypt(ctx, dst, src, 32 * AES_BLOCK_SIZE, (u8 *)iv); } -static void aesni_xts_dec8(const void *ctx, u8 *dst, const u8 *src, le128 *iv) +static void aesni_xts_dec32(const void *ctx, u8 *dst, const u8 *src, le128 *iv) { - aesni_xts_crypt8(ctx, dst, src, false, iv); + aesni_xts_decrypt(ctx, dst, src, 32 * AES_BLOCK_SIZE, (u8 *)iv); } static const struct common_glue_ctx aesni_enc_xts = { @@ -562,8 +565,8 @@ .fpu_blocks_limit = 1, .funcs = { { - .num_blocks = 8, - .fn_u = { .xts = aesni_xts_enc8 } + .num_blocks = 32, + .fn_u = { .xts = aesni_xts_enc32 } }, { .num_blocks = 1, .fn_u = { .xts = aesni_xts_enc } @@ -575,8 +578,8 @@ .fpu_blocks_limit = 1, .funcs = { { - .num_blocks = 8, - .fn_u = { .xts = aesni_xts_dec8 } + .num_blocks = 32, + .fn_u = { .xts = aesni_xts_dec32 } }, { .num_blocks = 1, .fn_u = { .xts = aesni_xts_dec } @@ -686,7 +689,8 @@ struct crypto_aead *tfm = crypto_aead_reqtfm(req); unsigned long auth_tag_len = crypto_aead_authsize(tfm); const struct aesni_gcm_tfm_s *gcm_tfm = aesni_gcm_tfm; - struct gcm_context_data data AESNI_ALIGN_ATTR; + u8 databuf[sizeof(struct gcm_context_data) + (AESNI_ALIGN - 8)] __aligned(8); + struct gcm_context_data *data = PTR_ALIGN((void *)databuf, AESNI_ALIGN); struct scatter_walk dst_sg_walk = {}; unsigned long left = req->cryptlen; unsigned long len, srclen, dstlen; @@ -735,8 +739,7 @@ } kernel_fpu_begin(); - gcm_tfm->init(aes_ctx, &data, iv, - hash_subkey, assoc, assoclen); + gcm_tfm->init(aes_ctx, data, iv, hash_subkey, assoc, assoclen); if (req->src != req->dst) { while (left) { src = scatterwalk_map(&src_sg_walk); @@ -746,10 +749,10 @@ len = min(srclen, dstlen); if (len) { if (enc) - gcm_tfm->enc_update(aes_ctx, &data, + gcm_tfm->enc_update(aes_ctx, data, dst, src, len); else - gcm_tfm->dec_update(aes_ctx, &data, + gcm_tfm->dec_update(aes_ctx, data, dst, src, len); } left -= len; @@ -767,10 +770,10 @@ len = scatterwalk_clamp(&src_sg_walk, left); if (len) { if (enc) - gcm_tfm->enc_update(aes_ctx, &data, + gcm_tfm->enc_update(aes_ctx, data, src, src, len); else - gcm_tfm->dec_update(aes_ctx, &data, + gcm_tfm->dec_update(aes_ctx, data, src, src, len); } left -= len; @@ -779,7 +782,7 @@ scatterwalk_done(&src_sg_walk, 1, left); } } - gcm_tfm->finalize(aes_ctx, &data, authTag, auth_tag_len); + gcm_tfm->finalize(aes_ctx, data, authTag, auth_tag_len); kernel_fpu_end(); if (!assocmem) @@ -828,7 +831,8 @@ struct crypto_aead *tfm = crypto_aead_reqtfm(req); struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm); void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); + u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8); + u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN); unsigned int i; __be32 counter = cpu_to_be32(1); @@ -855,7 +859,8 @@ struct crypto_aead *tfm = crypto_aead_reqtfm(req); struct aesni_rfc4106_gcm_ctx *ctx = aesni_rfc4106_gcm_ctx_get(tfm); void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); + u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8); + u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN); unsigned int i; if (unlikely(req->assoclen != 16 && req->assoclen != 20)) @@ -985,7 +990,8 @@ struct crypto_aead *tfm = crypto_aead_reqtfm(req); struct generic_gcmaes_ctx *ctx = generic_gcmaes_ctx_get(tfm); void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); + u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8); + u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN); __be32 counter = cpu_to_be32(1); memcpy(iv, req->iv, 12); @@ -1001,7 +1007,8 @@ struct crypto_aead *tfm = crypto_aead_reqtfm(req); struct generic_gcmaes_ctx *ctx = generic_gcmaes_ctx_get(tfm); void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); + u8 ivbuf[16 + (AESNI_ALIGN - 8)] __aligned(8); + u8 *iv = PTR_ALIGN(&ivbuf[0], AESNI_ALIGN); memcpy(iv, req->iv, 12); *((__be32 *)(iv+12)) = counter; --- linux-riscv-5.8-5.8.0.orig/arch/x86/crypto/crc32c-pcl-intel-asm_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/crypto/crc32c-pcl-intel-asm_64.S @@ -170,7 +170,7 @@ ## branch into array lea jump_table(%rip), %bufp - movzxw (%bufp, %rax, 2), len + movzwq (%bufp, %rax, 2), len lea crc_array(%rip), %bufp lea (%bufp, len, 1), %bufp JMP_NOSPEC bufp --- linux-riscv-5.8-5.8.0.orig/arch/x86/entry/common.c +++ linux-riscv-5.8-5.8.0/arch/x86/entry/common.c @@ -55,8 +55,16 @@ * state, not the interrupt state as imagined by Xen. */ unsigned long flags = native_save_fl(); - WARN_ON_ONCE(flags & (X86_EFLAGS_AC | X86_EFLAGS_DF | - X86_EFLAGS_NT)); + unsigned long mask = X86_EFLAGS_DF | X86_EFLAGS_NT; + + /* + * For !SMAP hardware we patch out CLAC on entry. + */ + if (boot_cpu_has(X86_FEATURE_SMAP) || + (IS_ENABLED(CONFIG_64_BIT) && boot_cpu_has(X86_FEATURE_XENPV))) + mask |= X86_EFLAGS_AC; + + WARN_ON_ONCE(flags & mask); /* We think we came from user mode. Make sure pt_regs agrees. */ WARN_ON_ONCE(!user_mode(regs)); @@ -806,8 +814,8 @@ old_regs = set_irq_regs(regs); instrumentation_begin(); - run_on_irqstack_cond(__xen_pv_evtchn_do_upcall, NULL, regs); - instrumentation_begin(); + run_on_irqstack_cond(__xen_pv_evtchn_do_upcall, regs); + instrumentation_end(); set_irq_regs(old_regs); --- linux-riscv-5.8-5.8.0.orig/arch/x86/entry/entry_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/entry/entry_64.S @@ -687,6 +687,8 @@ * rdx: Function argument (can be NULL if none) */ SYM_FUNC_START(asm_call_on_stack) +SYM_INNER_LABEL(asm_call_sysvec_on_stack, SYM_L_GLOBAL) +SYM_INNER_LABEL(asm_call_irq_on_stack, SYM_L_GLOBAL) /* * Save the frame pointer unconditionally. This allows the ORC * unwinder to handle the stack switch. --- linux-riscv-5.8-5.8.0.orig/arch/x86/entry/thunk_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/entry/thunk_64.S @@ -31,7 +31,7 @@ .endif call \func - jmp .L_restore + jmp __thunk_restore SYM_FUNC_END(\name) _ASM_NOKPROBE(\name) .endm @@ -44,7 +44,7 @@ #endif #ifdef CONFIG_PREEMPTION -SYM_CODE_START_LOCAL_NOALIGN(.L_restore) +SYM_CODE_START_LOCAL_NOALIGN(__thunk_restore) popq %r11 popq %r10 popq %r9 @@ -56,6 +56,6 @@ popq %rdi popq %rbp ret - _ASM_NOKPROBE(.L_restore) -SYM_CODE_END(.L_restore) + _ASM_NOKPROBE(__thunk_restore) +SYM_CODE_END(__thunk_restore) #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/entry/vdso/Makefile +++ linux-riscv-5.8-5.8.0/arch/x86/entry/vdso/Makefile @@ -176,7 +176,7 @@ -T $(filter %.lds,$^) $(filter %.o,$^) && \ sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' -VDSO_LDFLAGS = -shared --hash-style=both --build-id \ +VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 \ $(call ld-option, --eh-frame-hdr) -Bsymbolic GCOV_PROFILE := n --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/amd/ibs.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/amd/ibs.c @@ -89,6 +89,7 @@ u64 max_period; unsigned long offset_mask[1]; int offset_max; + unsigned int fetch_count_reset_broken : 1; struct cpu_perf_ibs __percpu *pcpu; struct attribute **format_attrs; @@ -334,11 +335,15 @@ { u64 count = 0; + /* + * If the internal 27-bit counter rolled over, the count is MaxCnt + * and the lower 7 bits of CurCnt are randomized. + * Otherwise CurCnt has the full 27-bit current counter value. + */ if (config & IBS_OP_VAL) - count += (config & IBS_OP_MAX_CNT) << 4; /* cnt rolled over */ - - if (ibs_caps & IBS_CAPS_RDWROPCNT) - count += (config & IBS_OP_CUR_CNT) >> 32; + count = (config & IBS_OP_MAX_CNT) << 4; + else if (ibs_caps & IBS_CAPS_RDWROPCNT) + count = (config & IBS_OP_CUR_CNT) >> 32; return count; } @@ -363,7 +368,12 @@ static inline void perf_ibs_enable_event(struct perf_ibs *perf_ibs, struct hw_perf_event *hwc, u64 config) { - wrmsrl(hwc->config_base, hwc->config | config | perf_ibs->enable_mask); + u64 tmp = hwc->config | config; + + if (perf_ibs->fetch_count_reset_broken) + wrmsrl(hwc->config_base, tmp & ~perf_ibs->enable_mask); + + wrmsrl(hwc->config_base, tmp | perf_ibs->enable_mask); } /* @@ -626,18 +636,24 @@ perf_ibs->offset_max, offset + 1); } while (offset < offset_max); + /* + * Read IbsBrTarget, IbsOpData4, and IbsExtdCtl separately + * depending on their availability. + * Can't add to offset_max as they are staggered + */ if (event->attr.sample_type & PERF_SAMPLE_RAW) { - /* - * Read IbsBrTarget and IbsOpData4 separately - * depending on their availability. - * Can't add to offset_max as they are staggered - */ - if (ibs_caps & IBS_CAPS_BRNTRGT) { - rdmsrl(MSR_AMD64_IBSBRTARGET, *buf++); - size++; + if (perf_ibs == &perf_ibs_op) { + if (ibs_caps & IBS_CAPS_BRNTRGT) { + rdmsrl(MSR_AMD64_IBSBRTARGET, *buf++); + size++; + } + if (ibs_caps & IBS_CAPS_OPDATA4) { + rdmsrl(MSR_AMD64_IBSOPDATA4, *buf++); + size++; + } } - if (ibs_caps & IBS_CAPS_OPDATA4) { - rdmsrl(MSR_AMD64_IBSOPDATA4, *buf++); + if (perf_ibs == &perf_ibs_fetch && (ibs_caps & IBS_CAPS_FETCHCTLEXTD)) { + rdmsrl(MSR_AMD64_ICIBSEXTDCTL, *buf++); size++; } } @@ -733,6 +749,13 @@ { struct attribute **attr = ibs_op_format_attrs; + /* + * Some chips fail to reset the fetch count when it is written; instead + * they need a 0-1 transition of IbsFetchEn. + */ + if (boot_cpu_data.x86 >= 0x16 && boot_cpu_data.x86 <= 0x18) + perf_ibs_fetch.fetch_count_reset_broken = 1; + perf_ibs_pmu_init(&perf_ibs_fetch, "ibs_fetch"); if (ibs_caps & IBS_CAPS_OPCNT) { --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/amd/iommu.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/amd/iommu.c @@ -379,7 +379,7 @@ while (amd_iommu_v2_event_descs[i].attr.attr.name) i++; - attrs = kcalloc(i + 1, sizeof(struct attribute **), GFP_KERNEL); + attrs = kcalloc(i + 1, sizeof(*attrs), GFP_KERNEL); if (!attrs) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/amd/uncore.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/amd/uncore.c @@ -181,28 +181,16 @@ } /* - * Convert logical CPU number to L3 PMC Config ThreadMask format + * Return a full thread and slice mask until per-CPU is + * properly supported. */ -static u64 l3_thread_slice_mask(int cpu) +static u64 l3_thread_slice_mask(void) { - u64 thread_mask, core = topology_core_id(cpu); - unsigned int shift, thread = 0; + if (boot_cpu_data.x86 <= 0x18) + return AMD64_L3_SLICE_MASK | AMD64_L3_THREAD_MASK; - if (topology_smt_supported() && !topology_is_primary_thread(cpu)) - thread = 1; - - if (boot_cpu_data.x86 <= 0x18) { - shift = AMD64_L3_THREAD_SHIFT + 2 * (core % 4) + thread; - thread_mask = BIT_ULL(shift); - - return AMD64_L3_SLICE_MASK | thread_mask; - } - - core = (core << AMD64_L3_COREID_SHIFT) & AMD64_L3_COREID_MASK; - shift = AMD64_L3_THREAD_SHIFT + thread; - thread_mask = BIT_ULL(shift); - - return AMD64_L3_EN_ALL_SLICES | core | thread_mask; + return AMD64_L3_EN_ALL_SLICES | AMD64_L3_EN_ALL_CORES | + AMD64_L3_F19H_THREAD_MASK; } static int amd_uncore_event_init(struct perf_event *event) @@ -232,7 +220,7 @@ * For other events, the two fields do not affect the count. */ if (l3_mask && is_llc_event(event)) - hwc->config |= l3_thread_slice_mask(event->cpu); + hwc->config |= l3_thread_slice_mask(); uncore = event_to_amd_uncore(event); if (!uncore) --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/core.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/core.c @@ -1087,8 +1087,10 @@ cpuc->event_list[n] = event; n++; - if (is_counter_pair(&event->hw)) + if (is_counter_pair(&event->hw)) { cpuc->n_pair++; + cpuc->n_txn_pair++; + } } return n; } @@ -1275,11 +1277,11 @@ wrmsrl(hwc->event_base, (u64)(-left) & x86_pmu.cntval_mask); /* - * Clear the Merge event counter's upper 16 bits since + * Sign extend the Merge event counter's upper 16 bits since * we currently declare a 48-bit counter width */ if (is_counter_pair(hwc)) - wrmsrl(x86_pmu_event_addr(idx + 1), 0); + wrmsrl(x86_pmu_event_addr(idx + 1), 0xffff); /* * Due to erratum on certan cpu we need @@ -1953,6 +1955,7 @@ perf_pmu_disable(pmu); __this_cpu_write(cpu_hw_events.n_txn, 0); + __this_cpu_write(cpu_hw_events.n_txn_pair, 0); } /* @@ -1978,6 +1981,7 @@ */ __this_cpu_sub(cpu_hw_events.n_added, __this_cpu_read(cpu_hw_events.n_txn)); __this_cpu_sub(cpu_hw_events.n_events, __this_cpu_read(cpu_hw_events.n_txn)); + __this_cpu_sub(cpu_hw_events.n_pair, __this_cpu_read(cpu_hw_events.n_txn_pair)); perf_pmu_enable(pmu); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/core.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/core.c @@ -243,7 +243,7 @@ static struct event_constraint intel_icl_event_constraints[] = { FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */ - INTEL_UEVENT_CONSTRAINT(0x1c0, 0), /* INST_RETIRED.PREC_DIST */ + FIXED_EVENT_CONSTRAINT(0x01c0, 0), /* INST_RETIRED.PREC_DIST */ FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */ FIXED_EVENT_CONSTRAINT(0x0300, 2), /* CPU_CLK_UNHALTED.REF */ FIXED_EVENT_CONSTRAINT(0x0400, 3), /* SLOTS */ @@ -253,7 +253,8 @@ INTEL_EVENT_CONSTRAINT_RANGE(0x48, 0x54, 0xf), INTEL_EVENT_CONSTRAINT_RANGE(0x60, 0x8b, 0xf), INTEL_UEVENT_CONSTRAINT(0x04a3, 0xff), /* CYCLE_ACTIVITY.STALLS_TOTAL */ - INTEL_UEVENT_CONSTRAINT(0x10a3, 0xff), /* CYCLE_ACTIVITY.STALLS_MEM_ANY */ + INTEL_UEVENT_CONSTRAINT(0x10a3, 0xff), /* CYCLE_ACTIVITY.CYCLES_MEM_ANY */ + INTEL_UEVENT_CONSTRAINT(0x14a3, 0xff), /* CYCLE_ACTIVITY.STALLS_MEM_ANY */ INTEL_EVENT_CONSTRAINT(0xa3, 0xf), /* CYCLE_ACTIVITY.* */ INTEL_EVENT_CONSTRAINT_RANGE(0xa8, 0xb0, 0xf), INTEL_EVENT_CONSTRAINT_RANGE(0xb7, 0xbd, 0xf), @@ -4036,9 +4037,12 @@ INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 3, 0x07000009), INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 4, 0x0f000009), INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 5, 0x0e000002), - INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_X, 2, 0x0b000014), + INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_X, 1, 0x0b000014), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 3, 0x00000021), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 4, 0x00000000), + 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_L, 3, 0x0000007c), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE, 3, 0x0000007c), INTEL_CPU_DESC(INTEL_FAM6_KABYLAKE, 9, 0x0000004e), @@ -5095,7 +5099,7 @@ extra_skl_attr = skl_format_attr; mem_attr = icl_events_attrs; tsx_attr = icl_tsx_events_attrs; - x86_pmu.rtm_abort_event = X86_CONFIG(.event=0xca, .umask=0x02); + x86_pmu.rtm_abort_event = X86_CONFIG(.event=0xc9, .umask=0x04); x86_pmu.lbr_pt_coexist = true; intel_pmu_pebs_data_source_skl(pmem); pr_cont("Icelake events, "); --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/cstate.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/cstate.c @@ -107,14 +107,14 @@ MODULE_LICENSE("GPL"); #define DEFINE_CSTATE_FORMAT_ATTR(_var, _name, _format) \ -static ssize_t __cstate_##_var##_show(struct kobject *kobj, \ - struct kobj_attribute *attr, \ +static ssize_t __cstate_##_var##_show(struct device *dev, \ + struct device_attribute *attr, \ char *page) \ { \ BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE); \ return sprintf(page, _format "\n"); \ } \ -static struct kobj_attribute format_attr_##_var = \ +static struct device_attribute format_attr_##_var = \ __ATTR(_name, 0444, __cstate_##_var##_show, NULL) static ssize_t cstate_get_attr_cpumask(struct device *dev, --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/ds.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/ds.c @@ -670,9 +670,7 @@ static inline void intel_pmu_drain_pebs_buffer(void) { - struct pt_regs regs; - - x86_pmu.drain_pebs(®s); + x86_pmu.drain_pebs(NULL); } /* @@ -1737,6 +1735,7 @@ struct x86_perf_regs perf_regs; struct pt_regs *regs = &perf_regs.regs; void *at = get_next_pebs_record_by_bit(base, top, bit); + struct pt_regs dummy_iregs; if (hwc->flags & PERF_X86_EVENT_AUTO_RELOAD) { /* @@ -1749,6 +1748,9 @@ } else if (!intel_pmu_save_and_restart(event)) return; + if (!iregs) + iregs = &dummy_iregs; + while (count > 1) { setup_sample(event, iregs, at, &data, regs); perf_event_output(event, &data, regs); @@ -1758,16 +1760,22 @@ } setup_sample(event, iregs, at, &data, regs); - - /* - * All but the last records are processed. - * The last one is left to be able to call the overflow handler. - */ - if (perf_event_overflow(event, &data, regs)) { - x86_pmu_stop(event, 0); - return; + if (iregs == &dummy_iregs) { + /* + * The PEBS records may be drained in the non-overflow context, + * e.g., large PEBS + context switch. Perf should treat the + * last record the same as other PEBS records, and doesn't + * invoke the generic overflow handler. + */ + perf_event_output(event, &data, regs); + } else { + /* + * All but the last records are processed. + * The last one is left to be able to call the overflow handler. + */ + if (perf_event_overflow(event, &data, regs)) + x86_pmu_stop(event, 0); } - } static void intel_pmu_drain_pebs_core(struct pt_regs *iregs) @@ -1883,7 +1891,7 @@ */ if (!pebs_status && cpuc->pebs_enabled && !(cpuc->pebs_enabled & (cpuc->pebs_enabled-1))) - pebs_status = cpuc->pebs_enabled; + pebs_status = p->status = cpuc->pebs_enabled; bit = find_first_bit((unsigned long *)&pebs_status, x86_pmu.max_pebs_events); @@ -1905,7 +1913,7 @@ * that caused the PEBS record. It's called collision. * If collision happened, the record will be dropped. */ - if (p->status != (1ULL << bit)) { + if (pebs_status != (1ULL << bit)) { for_each_set_bit(i, (unsigned long *)&pebs_status, size) error[i]++; continue; @@ -1929,7 +1937,7 @@ if (error[bit]) { perf_log_lost_samples(event, error[bit]); - if (perf_event_account_interrupt(event)) + if (iregs && perf_event_account_interrupt(event)) x86_pmu_stop(event, 0); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/uncore.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/uncore.c @@ -92,8 +92,8 @@ return map; } -ssize_t uncore_event_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf) +ssize_t uncore_event_show(struct device *dev, + struct device_attribute *attr, char *buf) { struct uncore_event_desc *event = container_of(attr, struct uncore_event_desc, attr); --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/uncore.h +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/uncore.h @@ -144,7 +144,7 @@ #define UNCORE_BOX_FLAG_CFL8_CBOX_MSR_OFFS 2 struct uncore_event_desc { - struct kobj_attribute attr; + struct device_attribute attr; const char *config; }; @@ -166,8 +166,8 @@ struct pci2phy_map *__find_pci2phy_map(int segment); int uncore_pcibus_to_physid(struct pci_bus *bus); -ssize_t uncore_event_show(struct kobject *kobj, - struct kobj_attribute *attr, char *buf); +ssize_t uncore_event_show(struct device *dev, + struct device_attribute *attr, char *buf); #define INTEL_UNCORE_EVENT_DESC(_name, _config) \ { \ @@ -176,14 +176,14 @@ } #define DEFINE_UNCORE_FORMAT_ATTR(_var, _name, _format) \ -static ssize_t __uncore_##_var##_show(struct kobject *kobj, \ - struct kobj_attribute *attr, \ +static ssize_t __uncore_##_var##_show(struct device *dev, \ + struct device_attribute *attr, \ char *page) \ { \ BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE); \ return sprintf(page, _format "\n"); \ } \ -static struct kobj_attribute format_attr_##_var = \ +static struct device_attribute format_attr_##_var = \ __ATTR(_name, 0444, __uncore_##_var##_show, NULL) static inline bool uncore_pmc_fixed(int idx) --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/uncore_snb.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/uncore_snb.c @@ -115,6 +115,10 @@ #define ICL_UNC_CBO_0_PER_CTR0 0x702 #define ICL_UNC_CBO_MSR_OFFSET 0x8 +/* ICL ARB register */ +#define ICL_UNC_ARB_PER_CTR 0x3b1 +#define ICL_UNC_ARB_PERFEVTSEL 0x3b3 + DEFINE_UNCORE_FORMAT_ATTR(event, event, "config:0-7"); DEFINE_UNCORE_FORMAT_ATTR(umask, umask, "config:8-15"); DEFINE_UNCORE_FORMAT_ATTR(edge, edge, "config:18"); @@ -302,15 +306,21 @@ snb_uncore_arb.ops = &skl_uncore_msr_ops; } +static struct intel_uncore_ops icl_uncore_msr_ops = { + .disable_event = snb_uncore_msr_disable_event, + .enable_event = snb_uncore_msr_enable_event, + .read_counter = uncore_msr_read_counter, +}; + static struct intel_uncore_type icl_uncore_cbox = { .name = "cbox", - .num_counters = 4, + .num_counters = 2, .perf_ctr_bits = 44, .perf_ctr = ICL_UNC_CBO_0_PER_CTR0, .event_ctl = SNB_UNC_CBO_0_PERFEVTSEL0, .event_mask = SNB_UNC_RAW_EVENT_MASK, .msr_offset = ICL_UNC_CBO_MSR_OFFSET, - .ops = &skl_uncore_msr_ops, + .ops = &icl_uncore_msr_ops, .format_group = &snb_uncore_format_group, }; @@ -339,13 +349,25 @@ .single_fixed = 1, .event_mask = SNB_UNC_CTL_EV_SEL_MASK, .format_group = &icl_uncore_clock_format_group, - .ops = &skl_uncore_msr_ops, + .ops = &icl_uncore_msr_ops, .event_descs = icl_uncore_events, }; +static struct intel_uncore_type icl_uncore_arb = { + .name = "arb", + .num_counters = 1, + .num_boxes = 1, + .perf_ctr_bits = 44, + .perf_ctr = ICL_UNC_ARB_PER_CTR, + .event_ctl = ICL_UNC_ARB_PERFEVTSEL, + .event_mask = SNB_UNC_RAW_EVENT_MASK, + .ops = &icl_uncore_msr_ops, + .format_group = &snb_uncore_format_group, +}; + static struct intel_uncore_type *icl_msr_uncores[] = { &icl_uncore_cbox, - &snb_uncore_arb, + &icl_uncore_arb, &icl_uncore_clockbox, NULL, }; @@ -363,7 +385,6 @@ { uncore_msr_uncores = icl_msr_uncores; icl_uncore_cbox.num_boxes = icl_get_cbox_num(); - snb_uncore_arb.ops = &skl_uncore_msr_ops; } enum { @@ -1085,6 +1106,7 @@ } #define TGL_UNCORE_MMIO_IMC_MEM_OFFSET 0x10000 +#define TGL_UNCORE_PCI_IMC_MAP_SIZE 0xe000 static void tgl_uncore_imc_freerunning_init_box(struct intel_uncore_box *box) { @@ -1112,7 +1134,7 @@ addr |= ((resource_size_t)mch_bar << 32); #endif - box->io_addr = ioremap(addr, SNB_UNCORE_PCI_IMC_MAP_SIZE); + box->io_addr = ioremap(addr, TGL_UNCORE_PCI_IMC_MAP_SIZE); } static struct intel_uncore_ops tgl_uncore_imc_freerunning_ops = { --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/intel/uncore_snbep.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/intel/uncore_snbep.c @@ -1130,7 +1130,6 @@ SNBEP_PCI_QPI_PORT0_FILTER, SNBEP_PCI_QPI_PORT1_FILTER, BDX_PCI_QPI_PORT2_FILTER, - HSWEP_PCI_PCU_3, }; static int snbep_qpi_hw_config(struct intel_uncore_box *box, struct perf_event *event) @@ -2787,22 +2786,33 @@ NULL, }; -void hswep_uncore_cpu_init(void) +#define HSWEP_PCU_DID 0x2fc0 +#define HSWEP_PCU_CAPID4_OFFET 0x94 +#define hswep_get_chop(_cap) (((_cap) >> 6) & 0x3) + +static bool hswep_has_limit_sbox(unsigned int device) { - int pkg = boot_cpu_data.logical_proc_id; + struct pci_dev *dev = pci_get_device(PCI_VENDOR_ID_INTEL, device, NULL); + u32 capid4; + + if (!dev) + return false; + + pci_read_config_dword(dev, HSWEP_PCU_CAPID4_OFFET, &capid4); + if (!hswep_get_chop(capid4)) + return true; + return false; +} + +void hswep_uncore_cpu_init(void) +{ if (hswep_uncore_cbox.num_boxes > boot_cpu_data.x86_max_cores) hswep_uncore_cbox.num_boxes = boot_cpu_data.x86_max_cores; /* Detect 6-8 core systems with only two SBOXes */ - if (uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3]) { - u32 capid4; - - pci_read_config_dword(uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3], - 0x94, &capid4); - if (((capid4 >> 6) & 0x3) == 0) - hswep_uncore_sbox.num_boxes = 2; - } + if (hswep_has_limit_sbox(HSWEP_PCU_DID)) + hswep_uncore_sbox.num_boxes = 2; uncore_msr_uncores = hswep_msr_uncores; } @@ -3065,11 +3075,6 @@ .driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV, SNBEP_PCI_QPI_PORT1_FILTER), }, - { /* PCU.3 (for Capability registers) */ - PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x2fc0), - .driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV, - HSWEP_PCI_PCU_3), - }, { /* end: all zeroes */ } }; @@ -3161,27 +3166,18 @@ EVENT_CONSTRAINT_END }; +#define BDX_PCU_DID 0x6fc0 + void bdx_uncore_cpu_init(void) { - int pkg = topology_phys_to_logical_pkg(boot_cpu_data.phys_proc_id); - if (bdx_uncore_cbox.num_boxes > boot_cpu_data.x86_max_cores) bdx_uncore_cbox.num_boxes = boot_cpu_data.x86_max_cores; uncore_msr_uncores = bdx_msr_uncores; - /* BDX-DE doesn't have SBOX */ - if (boot_cpu_data.x86_model == 86) { - uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL; /* Detect systems with no SBOXes */ - } else if (uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3]) { - struct pci_dev *pdev; - u32 capid4; - - pdev = uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3]; - pci_read_config_dword(pdev, 0x94, &capid4); - if (((capid4 >> 6) & 0x3) == 0) - bdx_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL; - } + if ((boot_cpu_data.x86_model == 86) || hswep_has_limit_sbox(BDX_PCU_DID)) + uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL; + hswep_uncore_pcu.constraints = bdx_uncore_pcu_constraints; } @@ -3402,11 +3398,6 @@ .driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV, BDX_PCI_QPI_PORT2_FILTER), }, - { /* PCU.3 (for Capability registers) */ - PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x6fc0), - .driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV, - HSWEP_PCI_PCU_3), - }, { /* end: all zeroes */ } }; @@ -4550,10 +4541,10 @@ INTEL_UNCORE_EVENT_DESC(dclk, "event=0xff,umask=0x10"), INTEL_UNCORE_EVENT_DESC(read, "event=0xff,umask=0x20"), - INTEL_UNCORE_EVENT_DESC(read.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(read.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(read.unit, "MiB"), INTEL_UNCORE_EVENT_DESC(write, "event=0xff,umask=0x21"), - INTEL_UNCORE_EVENT_DESC(write.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(write.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(write.unit, "MiB"), { /* end: all zeroes */ }, }; @@ -5009,17 +5000,17 @@ INTEL_UNCORE_EVENT_DESC(dclk, "event=0xff,umask=0x10"), INTEL_UNCORE_EVENT_DESC(read, "event=0xff,umask=0x20"), - INTEL_UNCORE_EVENT_DESC(read.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(read.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(read.unit, "MiB"), INTEL_UNCORE_EVENT_DESC(write, "event=0xff,umask=0x21"), - INTEL_UNCORE_EVENT_DESC(write.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(write.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(write.unit, "MiB"), INTEL_UNCORE_EVENT_DESC(ddrt_read, "event=0xff,umask=0x30"), - INTEL_UNCORE_EVENT_DESC(ddrt_read.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(ddrt_read.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(ddrt_read.unit, "MiB"), INTEL_UNCORE_EVENT_DESC(ddrt_write, "event=0xff,umask=0x31"), - INTEL_UNCORE_EVENT_DESC(ddrt_write.scale, "3.814697266e-6"), + INTEL_UNCORE_EVENT_DESC(ddrt_write.scale, "6.103515625e-5"), INTEL_UNCORE_EVENT_DESC(ddrt_write.unit, "MiB"), { /* end: all zeroes */ }, }; --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/perf_event.h +++ linux-riscv-5.8-5.8.0/arch/x86/events/perf_event.h @@ -198,6 +198,7 @@ they've never been enabled yet */ int n_txn; /* the # last events in the below arrays; added in the current transaction */ + int n_txn_pair; int assign[X86_PMC_IDX_MAX]; /* event to counter assignment */ u64 tags[X86_PMC_IDX_MAX]; --- linux-riscv-5.8-5.8.0.orig/arch/x86/events/rapl.c +++ linux-riscv-5.8-5.8.0/arch/x86/events/rapl.c @@ -93,18 +93,6 @@ * any other bit is reserved */ #define RAPL_EVENT_MASK 0xFFULL - -#define DEFINE_RAPL_FORMAT_ATTR(_var, _name, _format) \ -static ssize_t __rapl_##_var##_show(struct kobject *kobj, \ - struct kobj_attribute *attr, \ - char *page) \ -{ \ - BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE); \ - return sprintf(page, _format "\n"); \ -} \ -static struct kobj_attribute format_attr_##_var = \ - __ATTR(_name, 0444, __rapl_##_var##_show, NULL) - #define RAPL_CNTR_WIDTH 32 #define RAPL_EVENT_ATTR_STR(_name, v, str) \ @@ -435,7 +423,7 @@ .attrs = attrs_empty, }; -DEFINE_RAPL_FORMAT_ATTR(event, event, "config:0-7"); +PMU_FORMAT_ATTR(event, "config:0-7"); static struct attribute *rapl_formats_attr[] = { &format_attr_event.attr, NULL, @@ -665,7 +653,7 @@ &rapl_events_pkg_group, &rapl_events_ram_group, &rapl_events_gpu_group, - &rapl_events_gpu_group, + &rapl_events_psys_group, NULL, }; --- linux-riscv-5.8-5.8.0.orig/arch/x86/hyperv/hv_init.c +++ linux-riscv-5.8-5.8.0/arch/x86/hyperv/hv_init.c @@ -26,6 +26,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 + void *hv_hypercall_pg; EXPORT_SYMBOL_GPL(hv_hypercall_pg); @@ -312,6 +320,25 @@ .resume = hv_resume, }; +static void (* __initdata old_setup_percpu_clockev)(void); + +static void __init hv_stimer_setup_percpu_clockev(void) +{ + /* + * Ignore any errors in setting up stimer clockevents + * as we can run with the LAPIC timer as a fallback. + */ + (void)hv_stimer_alloc(); + + /* + * Still register the LAPIC timer, because the direct-mode STIMER is + * not supported by old versions of Hyper-V. This also allows users + * to switch to LAPIC timer via /sys, if they want to. + */ + if (old_setup_percpu_clockev) + old_setup_percpu_clockev(); +} + /* * This function is to be invoked early in the boot sequence after the * hypervisor has been detected. @@ -372,7 +399,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); hv_hypercall_pg = __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, @@ -390,10 +417,14 @@ wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); /* - * Ignore any errors in setting up stimer clockevents - * as we can run with the LAPIC timer as a fallback. + * hyperv_init() is called before LAPIC is initialized: see + * apic_intr_mode_init() -> x86_platform.apic_post_init() and + * apic_bsp_setup() -> setup_local_APIC(). The direct-mode STIMER + * depends on LAPIC, so hv_stimer_alloc() should be called from + * x86_init.timers.setup_percpu_clockev. */ - (void)hv_stimer_alloc(); + old_setup_percpu_clockev = x86_init.timers.setup_percpu_clockev; + x86_init.timers.setup_percpu_clockev = hv_stimer_setup_percpu_clockev; hv_apic_init(); --- linux-riscv-5.8-5.8.0.orig/arch/x86/hyperv/mmu.c +++ linux-riscv-5.8-5.8.0/arch/x86/hyperv/mmu.c @@ -66,11 +66,17 @@ if (!hv_hypercall_pg) goto do_native; - if (cpumask_empty(cpus)) - return; - local_irq_save(flags); + /* + * Only check the mask _after_ interrupt has been disabled to avoid the + * mask changing under our feet. + */ + if (cpumask_empty(cpus)) { + local_irq_restore(flags); + return; + } + flush_pcpu = (struct hv_tlb_flush **) this_cpu_ptr(hyperv_pcpu_input_arg); --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/apic.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/apic.h @@ -197,16 +197,6 @@ #endif /* !CONFIG_X86_LOCAL_APIC */ #ifdef CONFIG_X86_X2APIC -/* - * Make previous memory operations globally visible before - * sending the IPI through x2apic wrmsr. We need a serializing instruction or - * mfence for this. - */ -static inline void x2apic_wrmsr_fence(void) -{ - asm volatile("mfence" : : : "memory"); -} - static inline void native_apic_msr_write(u32 reg, u32 v) { if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR || @@ -259,6 +249,7 @@ extern int x2apic_mode; extern int x2apic_phys; +extern void __init x2apic_set_max_apicid(u32 apicid); extern void __init check_x2apic(void); extern void x2apic_setup(void); static inline int x2apic_enabled(void) --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/apm.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/x86/include/asm/asm-prototypes.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/asm-prototypes.h @@ -5,6 +5,7 @@ #include #include #include +#include #include --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/barrier.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/barrier.h @@ -84,4 +84,22 @@ #include +/* + * Make previous memory operations globally visible before + * a WRMSR. + * + * MFENCE makes writes visible, but only affects load/store + * instructions. WRMSR is unfortunately not a load/store + * instruction and is unaffected by MFENCE. The LFENCE ensures + * that the WRMSR is not reordered. + * + * Most WRMSRs are full serializing instructions themselves and + * do not require this barrier. This is only required for the + * IA32_TSC_DEADLINE and X2APIC MSRs. + */ +static inline void weak_wrmsr_fence(void) +{ + asm volatile("mfence; lfence" : : : "memory"); +} + #endif /* _ASM_X86_BARRIER_H */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/cacheinfo.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/cacheinfo.h @@ -2,7 +2,7 @@ #ifndef _ASM_X86_CACHEINFO_H #define _ASM_X86_CACHEINFO_H -void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu, u8 node_id); -void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu, u8 node_id); +void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu); +void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu); #endif /* _ASM_X86_CACHEINFO_H */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/copy_mc_test.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/copy_mc_test.h @@ -0,0 +1,75 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _COPY_MC_TEST_H_ +#define _COPY_MC_TEST_H_ + +#ifndef __ASSEMBLY__ +#ifdef CONFIG_COPY_MC_TEST +extern unsigned long copy_mc_test_src; +extern unsigned long copy_mc_test_dst; + +static inline void copy_mc_inject_src(void *addr) +{ + if (addr) + copy_mc_test_src = (unsigned long) addr; + else + copy_mc_test_src = ~0UL; +} + +static inline void copy_mc_inject_dst(void *addr) +{ + if (addr) + copy_mc_test_dst = (unsigned long) addr; + else + copy_mc_test_dst = ~0UL; +} +#else /* CONFIG_COPY_MC_TEST */ +static inline void copy_mc_inject_src(void *addr) +{ +} + +static inline void copy_mc_inject_dst(void *addr) +{ +} +#endif /* CONFIG_COPY_MC_TEST */ + +#else /* __ASSEMBLY__ */ +#include + +#ifdef CONFIG_COPY_MC_TEST +.macro COPY_MC_TEST_CTL + .pushsection .data + .align 8 + .globl copy_mc_test_src + copy_mc_test_src: + .quad 0 + EXPORT_SYMBOL_GPL(copy_mc_test_src) + .globl copy_mc_test_dst + copy_mc_test_dst: + .quad 0 + EXPORT_SYMBOL_GPL(copy_mc_test_dst) + .popsection +.endm + +.macro COPY_MC_TEST_SRC reg count target + leaq \count(\reg), %r9 + cmp copy_mc_test_src, %r9 + ja \target +.endm + +.macro COPY_MC_TEST_DST reg count target + leaq \count(\reg), %r9 + cmp copy_mc_test_dst, %r9 + ja \target +.endm +#else +.macro COPY_MC_TEST_CTL +.endm + +.macro COPY_MC_TEST_SRC reg count target +.endm + +.macro COPY_MC_TEST_DST reg count target +.endm +#endif /* CONFIG_COPY_MC_TEST */ +#endif /* __ASSEMBLY__ */ +#endif /* _COPY_MC_TEST_H_ */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/fpu/api.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/fpu/api.h @@ -16,14 +16,25 @@ * Use kernel_fpu_begin/end() if you intend to use FPU in kernel context. It * disables preemption so be careful if you intend to use it for long periods * of time. - * If you intend to use the FPU in softirq you need to check first with + * If you intend to use the FPU in irq/softirq you need to check first with * irq_fpu_usable() if it is possible. */ -extern void kernel_fpu_begin(void); + +/* Kernel FPU states to initialize in kernel_fpu_begin_mask() */ +#define KFPU_387 _BITUL(0) /* 387 state will be initialized */ +#define KFPU_MXCSR _BITUL(1) /* MXCSR will be initialized */ + +extern void kernel_fpu_begin_mask(unsigned int kfpu_mask); extern void kernel_fpu_end(void); extern bool irq_fpu_usable(void); extern void fpregs_mark_activate(void); +/* Code that is unaware of kernel_fpu_begin_mask() can use this */ +static inline void kernel_fpu_begin(void) +{ + kernel_fpu_begin_mask(KFPU_387 | KFPU_MXCSR); +} + /* * Use fpregs_lock() while editing CPU's FPU registers or fpu->state. * A context switch will (and softirq might) save CPU's FPU registers to --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/frame.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/frame.h @@ -60,12 +60,26 @@ #define FRAME_END "pop %" _ASM_BP "\n" #ifdef CONFIG_X86_64 + #define ENCODE_FRAME_POINTER \ "lea 1(%rsp), %rbp\n\t" + +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return (unsigned long)regs + 1; +} + #else /* !CONFIG_X86_64 */ + #define ENCODE_FRAME_POINTER \ "movl %esp, %ebp\n\t" \ "andl $0x7fffffff, %ebp\n\t" + +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return (unsigned long)regs & 0x7fffffff; +} + #endif /* CONFIG_X86_64 */ #endif /* __ASSEMBLY__ */ @@ -83,6 +97,11 @@ #define ENCODE_FRAME_POINTER +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return 0; +} + #endif #define FRAME_BEGIN --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/idtentry.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/idtentry.h @@ -246,7 +246,7 @@ instrumentation_begin(); \ irq_enter_rcu(); \ kvm_set_cpu_l1tf_flush_l1d(); \ - run_on_irqstack_cond(__##func, regs, regs); \ + run_sysvec_on_irqstack_cond(__##func, regs); \ irq_exit_rcu(); \ instrumentation_end(); \ idtentry_exit_cond_rcu(regs, rcu_exit); \ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/insn.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/insn.h @@ -201,6 +201,21 @@ return insn_offset_displacement(insn) + insn->displacement.nbytes; } +/** + * for_each_insn_prefix() -- Iterate prefixes in the instruction + * @insn: Pointer to struct insn. + * @idx: Index storage. + * @prefix: Prefix byte. + * + * Iterate prefix bytes of given @insn. Each prefix byte is stored in @prefix + * and the index is stored in @idx (note that this @idx is just for a cursor, + * do not change it.) + * Since prefixes.nbytes can be bigger than 4 if some prefixes + * are repeated, it cannot be used for looping over the prefixes. + */ +#define for_each_insn_prefix(insn, idx, prefix) \ + for (idx = 0; idx < ARRAY_SIZE(insn->prefixes.bytes) && (prefix = insn->prefixes.bytes[idx]) != 0; idx++) + #define POP_SS_OPCODE 0x1f #define MOV_SREG_OPCODE 0x8e --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/intel-family.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/intel-family.h @@ -89,8 +89,16 @@ #define INTEL_FAM6_COMETLAKE 0xA5 #define INTEL_FAM6_COMETLAKE_L 0xA6 +#define INTEL_FAM6_ROCKETLAKE 0xA7 + #define INTEL_FAM6_SAPPHIRERAPIDS_X 0x8F +/* Hybrid Core/Atom Processors */ + +#define INTEL_FAM6_LAKEFIELD 0x8A +#define INTEL_FAM6_ALDERLAKE 0x97 +#define INTEL_FAM6_ALDERLAKE_L 0x9A + /* "Small Core" Processors (Atom) */ #define INTEL_FAM6_ATOM_BONNELL 0x1C /* Diamondville, Pineview */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/irq_stack.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/irq_stack.h @@ -3,6 +3,7 @@ #define _ASM_X86_IRQ_STACK_H #include +#include #include @@ -12,20 +13,50 @@ return __this_cpu_read(irq_count) != -1; } -void asm_call_on_stack(void *sp, void *func, void *arg); +void asm_call_on_stack(void *sp, void (*func)(void), void *arg); +void asm_call_sysvec_on_stack(void *sp, void (*func)(struct pt_regs *regs), + struct pt_regs *regs); +void asm_call_irq_on_stack(void *sp, void (*func)(struct irq_desc *desc), + struct irq_desc *desc); -static __always_inline void __run_on_irqstack(void *func, void *arg) +static __always_inline void __run_on_irqstack(void (*func)(void)) { void *tos = __this_cpu_read(hardirq_stack_ptr); __this_cpu_add(irq_count, 1); - asm_call_on_stack(tos - 8, func, arg); + asm_call_on_stack(tos - 8, func, NULL); + __this_cpu_sub(irq_count, 1); +} + +static __always_inline void +__run_sysvec_on_irqstack(void (*func)(struct pt_regs *regs), + struct pt_regs *regs) +{ + void *tos = __this_cpu_read(hardirq_stack_ptr); + + __this_cpu_add(irq_count, 1); + asm_call_sysvec_on_stack(tos - 8, func, regs); + __this_cpu_sub(irq_count, 1); +} + +static __always_inline void +__run_irq_on_irqstack(void (*func)(struct irq_desc *desc), + struct irq_desc *desc) +{ + void *tos = __this_cpu_read(hardirq_stack_ptr); + + __this_cpu_add(irq_count, 1); + asm_call_irq_on_stack(tos - 8, func, desc); __this_cpu_sub(irq_count, 1); } #else /* CONFIG_X86_64 */ static inline bool irqstack_active(void) { return false; } -static inline void __run_on_irqstack(void *func, void *arg) { } +static inline void __run_on_irqstack(void (*func)(void)) { } +static inline void __run_sysvec_on_irqstack(void (*func)(struct pt_regs *regs), + struct pt_regs *regs) { } +static inline void __run_irq_on_irqstack(void (*func)(struct irq_desc *desc), + struct irq_desc *desc) { } #endif /* !CONFIG_X86_64 */ static __always_inline bool irq_needs_irq_stack(struct pt_regs *regs) @@ -37,17 +68,40 @@ return !user_mode(regs) && !irqstack_active(); } -static __always_inline void run_on_irqstack_cond(void *func, void *arg, + +static __always_inline void run_on_irqstack_cond(void (*func)(void), struct pt_regs *regs) { - void (*__func)(void *arg) = func; + lockdep_assert_irqs_disabled(); + + if (irq_needs_irq_stack(regs)) + __run_on_irqstack(func); + else + func(); +} + +static __always_inline void +run_sysvec_on_irqstack_cond(void (*func)(struct pt_regs *regs), + struct pt_regs *regs) +{ + lockdep_assert_irqs_disabled(); + if (irq_needs_irq_stack(regs)) + __run_sysvec_on_irqstack(func, regs); + else + func(regs); +} + +static __always_inline void +run_irq_on_irqstack_cond(void (*func)(struct irq_desc *desc), struct irq_desc *desc, + struct pt_regs *regs) +{ lockdep_assert_irqs_disabled(); if (irq_needs_irq_stack(regs)) - __run_on_irqstack(__func, arg); + __run_irq_on_irqstack(func, desc); else - __func(arg); + func(desc); } #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/kvm_host.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/kvm_host.h @@ -1641,12 +1641,14 @@ _ASM_EXTABLE(666b, 667b) #define KVM_ARCH_WANT_MMU_NOTIFIER -int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end); +int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end, + unsigned flags); int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end); int kvm_test_age_hva(struct kvm *kvm, unsigned long hva); int kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v); int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu); +int kvm_cpu_has_extint(struct kvm_vcpu *v); int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu); int kvm_cpu_get_interrupt(struct kvm_vcpu *v); void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event); --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/kvm_para.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/kvm_para.h @@ -6,8 +6,6 @@ #include #include -extern void kvmclock_init(void); - #ifdef CONFIG_KVM_GUEST bool kvm_check_and_clear_guest_paused(void); #else @@ -85,13 +83,14 @@ } #ifdef CONFIG_KVM_GUEST +void kvmclock_init(void); +void kvmclock_disable(void); bool kvm_para_available(void); unsigned int kvm_arch_para_features(void); unsigned int kvm_arch_para_hints(void); void kvm_async_pf_task_wait_schedule(u32 token); void kvm_async_pf_task_wake(u32 token); u32 kvm_read_and_reset_apf_flags(void); -void kvm_disable_steal_time(void); bool __kvm_handle_async_pf(struct pt_regs *regs, u32 token); DECLARE_STATIC_KEY_FALSE(kvm_async_pf_enabled); @@ -136,11 +135,6 @@ return 0; } -static inline void kvm_disable_steal_time(void) -{ - return; -} - static __always_inline bool kvm_handle_async_pf(struct pt_regs *regs, u32 token) { return false; --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/mce.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/mce.h @@ -162,7 +162,8 @@ MCE_PRIO_EXTLOG, MCE_PRIO_UC, MCE_PRIO_EARLY, - MCE_PRIO_CEC + MCE_PRIO_CEC, + MCE_PRIO_HIGHEST = MCE_PRIO_CEC }; struct notifier_block; @@ -174,6 +175,15 @@ extern int mce_p5_enabled; +#ifdef CONFIG_ARCH_HAS_COPY_MC +extern void enable_copy_mc_fragile(void); +unsigned long __must_check copy_mc_fragile(void *dst, const void *src, unsigned cnt); +#else +static inline void enable_copy_mc_fragile(void) +{ +} +#endif + #ifdef CONFIG_X86_MCE int mcheck_init(void); void mcheck_cpu_init(struct cpuinfo_x86 *c); --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/msr-index.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/msr-index.h @@ -446,6 +446,7 @@ #define MSR_AMD64_IBSOP_REG_MASK ((1UL< /* - * Volatile isn't enough to prevent the compiler from reordering the - * read/write functions for the control registers and messing everything up. - * A memory clobber would solve the problem, but would prevent reordering of - * all loads stores around it, which can hurt performance. Solution is to - * use a variable and mimic reads and writes to it to enforce serialization + * The compiler should not reorder volatile asm statements with respect to each + * other: they should execute in program order. However GCC 4.9.x and 5.x have + * a bug (which was fixed in 8.1, 7.3 and 6.5) where they might reorder + * volatile asm. The write functions are not affected since they have memory + * clobbers preventing reordering. To prevent reads from being reordered with + * respect to writes, use a dummy memory operand. */ -extern unsigned long __force_order; + +#define __FORCE_ORDER "m"(*(unsigned int *)0x1000UL) void native_write_cr0(unsigned long val); static inline unsigned long native_read_cr0(void) { unsigned long val; - asm volatile("mov %%cr0,%0\n\t" : "=r" (val), "=m" (__force_order)); + asm volatile("mov %%cr0,%0\n\t" : "=r" (val) : __FORCE_ORDER); return val; } static __always_inline unsigned long native_read_cr2(void) { unsigned long val; - asm volatile("mov %%cr2,%0\n\t" : "=r" (val), "=m" (__force_order)); + asm volatile("mov %%cr2,%0\n\t" : "=r" (val) : __FORCE_ORDER); return val; } static __always_inline void native_write_cr2(unsigned long val) { - asm volatile("mov %0,%%cr2": : "r" (val), "m" (__force_order)); + asm volatile("mov %0,%%cr2": : "r" (val) : "memory"); } static inline unsigned long __native_read_cr3(void) { unsigned long val; - asm volatile("mov %%cr3,%0\n\t" : "=r" (val), "=m" (__force_order)); + asm volatile("mov %%cr3,%0\n\t" : "=r" (val) : __FORCE_ORDER); return val; } static inline void native_write_cr3(unsigned long val) { - asm volatile("mov %0,%%cr3": : "r" (val), "m" (__force_order)); + asm volatile("mov %0,%%cr3": : "r" (val) : "memory"); } static inline unsigned long native_read_cr4(void) @@ -64,10 +66,10 @@ asm volatile("1: mov %%cr4, %0\n" "2:\n" _ASM_EXTABLE(1b, 2b) - : "=r" (val), "=m" (__force_order) : "0" (0)); + : "=r" (val) : "0" (0), __FORCE_ORDER); #else /* CR4 always exists on x86_64. */ - asm volatile("mov %%cr4,%0\n\t" : "=r" (val), "=m" (__force_order)); + asm volatile("mov %%cr4,%0\n\t" : "=r" (val) : __FORCE_ORDER); #endif return val; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/string_64.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/string_64.h @@ -82,38 +82,6 @@ #endif -#define __HAVE_ARCH_MEMCPY_MCSAFE 1 -__must_check unsigned long __memcpy_mcsafe(void *dst, const void *src, - size_t cnt); -DECLARE_STATIC_KEY_FALSE(mcsafe_key); - -/** - * memcpy_mcsafe - copy memory with indication if a machine check happened - * - * @dst: destination address - * @src: source address - * @cnt: number of bytes to copy - * - * Low level memory copy function that catches machine checks - * We only call into the "safe" function on systems that can - * actually do machine check recovery. Everyone else can just - * use memcpy(). - * - * Return 0 for success, or number of bytes not copied if there was an - * exception. - */ -static __always_inline __must_check unsigned long -memcpy_mcsafe(void *dst, const void *src, size_t cnt) -{ -#ifdef CONFIG_X86_MCE - if (static_branch_unlikely(&mcsafe_key)) - return __memcpy_mcsafe(dst, src, cnt); - else -#endif - memcpy(dst, src, cnt); - return 0; -} - #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE #define __HAVE_ARCH_MEMCPY_FLUSHCACHE 1 void __memcpy_flushcache(void *dst, const void *src, size_t cnt); --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/switch_to.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/switch_to.h @@ -12,6 +12,27 @@ __visible struct task_struct *__switch_to(struct task_struct *prev, struct task_struct *next); +/* This runs runs on the previous thread's stack. */ +static inline void prepare_switch_to(struct task_struct *next) +{ +#ifdef CONFIG_VMAP_STACK + /* + * If we switch to a stack that has a top-level paging entry + * that is not present in the current mm, the resulting #PF will + * will be promoted to a double-fault and we'll panic. Probe + * the new stack now so that vmalloc_fault can fix up the page + * tables if needed. This can only happen if we use a stack + * in vmap space. + * + * We assume that the stack is aligned so that it never spans + * more than one top-level paging entry. + * + * To minimize cache pollution, just follow the stack pointer. + */ + READ_ONCE(*(unsigned char *)next->thread.sp); +#endif +} + asmlinkage void ret_from_fork(void); /* @@ -46,6 +67,8 @@ #define switch_to(prev, next, last) \ do { \ + prepare_switch_to(next); \ + \ ((last) = __switch_to_asm((prev), (next))); \ } while (0) --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/sync_core.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/sync_core.h @@ -16,12 +16,13 @@ /* With PTI, we unconditionally serialize before running user code. */ if (static_cpu_has(X86_FEATURE_PTI)) return; + /* - * Return from interrupt and NMI is done through iret, which is core - * serializing. + * Even if we're in an interrupt, we might reschedule before returning, + * in which case we could switch to a different thread in the same mm + * and return using SYSRET or SYSEXIT. Instead of trying to keep + * track of our need to sync the core, just sync right away. */ - if (in_irq() || in_nmi()) - return; sync_core(); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/thread_info.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/thread_info.h @@ -223,10 +223,31 @@ #endif +/* + * Thread-synchronous status. + * + * This is different from the flags in that nobody else + * ever touches our thread-synchronous status, so we don't + * have to worry about atomic accesses. + */ +#define TS_COMPAT 0x0002 /* 32bit syscall active (64BIT)*/ + +#ifndef __ASSEMBLY__ #ifdef CONFIG_COMPAT #define TS_I386_REGS_POKED 0x0004 /* regs poked by 32-bit ptracer */ +#define TS_COMPAT_RESTART 0x0008 + +#define arch_set_restart_data arch_set_restart_data + +static inline void arch_set_restart_data(struct restart_block *restart) +{ + struct thread_info *ti = current_thread_info(); + if (ti->status & TS_COMPAT) + ti->status |= TS_COMPAT_RESTART; + else + ti->status &= ~TS_COMPAT_RESTART; +} #endif -#ifndef __ASSEMBLY__ #ifdef CONFIG_X86_32 #define in_ia32_syscall() true --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/topology.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/topology.h @@ -110,6 +110,8 @@ #define topology_die_id(cpu) (cpu_data(cpu).cpu_die_id) #define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id) +extern unsigned int __max_die_per_package; + #ifdef CONFIG_SMP #define topology_die_cpumask(cpu) (per_cpu(cpu_die_map, cpu)) #define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) @@ -118,8 +120,6 @@ extern unsigned int __max_logical_packages; #define topology_max_packages() (__max_logical_packages) -extern unsigned int __max_die_per_package; - static inline int topology_max_die_per_package(void) { return __max_die_per_package; @@ -193,7 +193,7 @@ } #endif /* CONFIG_SCHED_MC_PRIO */ -#ifdef CONFIG_SMP +#if defined(CONFIG_SMP) && defined(CONFIG_X86_64) #include DECLARE_STATIC_KEY_FALSE(arch_scale_freq_key); --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/uaccess.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/uaccess.h @@ -314,11 +314,14 @@ #define __get_user_size(x, ptr, size, retval) \ do { \ + unsigned char x_u8__; \ + \ retval = 0; \ __chk_user_ptr(ptr); \ switch (size) { \ case 1: \ - __get_user_asm(x, ptr, retval, "b", "=q"); \ + __get_user_asm(x_u8__, ptr, retval, "b", "=q"); \ + (x) = x_u8__; \ break; \ case 2: \ __get_user_asm(x, ptr, retval, "w", "=r"); \ @@ -452,6 +455,15 @@ unsigned long __must_check clear_user(void __user *mem, unsigned long len); unsigned long __must_check __clear_user(void __user *mem, unsigned long len); +#ifdef CONFIG_ARCH_HAS_COPY_MC +unsigned long __must_check +copy_mc_to_kernel(void *to, const void *from, unsigned len); +#define copy_mc_to_kernel copy_mc_to_kernel + +unsigned long __must_check +copy_mc_to_user(void *to, const void *from, unsigned len); +#endif + /* * movsl can be slow when source and dest are not both 8-byte aligned */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/uaccess_64.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/uaccess_64.h @@ -47,22 +47,6 @@ } static __always_inline __must_check unsigned long -copy_to_user_mcsafe(void *to, const void *from, unsigned len) -{ - unsigned long ret; - - __uaccess_begin(); - /* - * Note, __memcpy_mcsafe() is explicitly used since it can - * handle exceptions / faults. memcpy_mcsafe() may fall back to - * memcpy() which lacks this handling. - */ - ret = __memcpy_mcsafe(to, from, len); - __uaccess_end(); - return ret; -} - -static __always_inline __must_check unsigned long raw_copy_from_user(void *dst, const void __user *src, unsigned long size) { return copy_user_generic(dst, (__force void *)src, size); @@ -102,8 +86,4 @@ kasan_check_write(dst, size); return __copy_user_flushcache(dst, src, size); } - -unsigned long -mcsafe_handle_tail(char *to, char *from, unsigned len); - #endif /* _ASM_X86_UACCESS_64_H */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/include/asm/virtext.h +++ linux-riscv-5.8-5.8.0/arch/x86/include/asm/virtext.h @@ -30,15 +30,22 @@ } -/** Disable VMX on the current CPU +/** + * cpu_vmxoff() - Disable VMX on the current CPU * - * vmxoff causes a undefined-opcode exception if vmxon was not run - * on the CPU previously. Only call this function if you know VMX - * is enabled. + * Disable VMX and clear CR4.VMXE (even if VMXOFF faults) + * + * Note, VMXOFF causes a #UD if the CPU is !post-VMXON, but it's impossible to + * atomically track post-VMXON state, e.g. this may be called in NMI context. + * Eat all faults as all other faults on VMXOFF faults are mode related, i.e. + * faults are guaranteed to be due to the !post-VMXON check unless the CPU is + * magically in RM, VM86, compat mode, or at CPL>0. */ static inline void cpu_vmxoff(void) { - asm volatile ("vmxoff"); + asm_volatile_goto("1: vmxoff\n\t" + _ASM_EXTABLE(1b, %l[fault]) :::: fault); +fault: cr4_clear_bits(X86_CR4_VMXE); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/acpi/boot.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/acpi/boot.c @@ -1554,10 +1554,18 @@ /* * Initialize the ACPI boot-time table parser. */ - if (acpi_table_init()) { + if (acpi_locate_initial_tables()) disable_acpi(); - return; - } + else + acpi_reserve_initial_tables(); +} + +int __init early_acpi_boot_init(void) +{ + if (acpi_disabled) + return 1; + + acpi_table_init_complete(); acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf); @@ -1570,18 +1578,9 @@ } else { printk(KERN_WARNING PREFIX "Disabling ACPI support\n"); disable_acpi(); - return; + return 1; } } -} - -int __init early_acpi_boot_init(void) -{ - /* - * If acpi_disabled, bail out - */ - if (acpi_disabled) - return 1; /* * Process the Multiple APIC Description Table (MADT), if present --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/acpi/wakeup_32.S +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/acpi/wakeup_32.S @@ -3,6 +3,7 @@ #include #include #include +#include # Copyright 2003, 2008 Pavel Machek #include #include +#include # Copyright 2003 Pavel Machek = 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) { @@ -240,8 +214,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-riscv-5.8-5.8.0.orig/arch/x86/kernel/apic/apic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/apic/apic.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -472,6 +473,9 @@ { u64 tsc; + /* This MSR is special and need a special fence: */ + weak_wrmsr_fence(); + tsc = rdtsc(); wrmsrl(MSR_IA32_TSC_DEADLINE, tsc + (((u64) delta) * TSC_DIVISOR)); return 0; @@ -1838,20 +1842,22 @@ return; if (remap_mode != IRQ_REMAP_X2APIC_MODE) { - /* IR is required if there is APIC ID > 255 even when running - * under KVM + /* + * Using X2APIC without IR is not architecturally supported + * on bare metal but may be supported in guests. */ - if (max_physical_apicid > 255 || - !x86_init.hyper.x2apic_available()) { + if (!x86_init.hyper.x2apic_available()) { pr_info("x2apic: IRQ remapping doesn't support X2APIC mode\n"); x2apic_disable(); return; } /* - * without IR all CPUs can be addressed by IOAPIC/MSI - * only in physical mode + * Without IR, all CPUs can be addressed by IOAPIC/MSI only + * in physical mode, and CPUs with an APIC ID that cannnot + * be addressed must not be brought online. */ + x2apic_set_max_apicid(255); x2apic_phys = 1; } x2apic_enable(); @@ -2308,6 +2314,11 @@ [0 ... NR_CPUS - 1] = -1, }; +bool arch_match_cpu_phys_id(int cpu, u64 phys_id) +{ + return phys_id == cpuid_to_apicid[cpu]; +} + #ifdef CONFIG_SMP /** * apic_id_is_primary_thread - Check whether APIC ID belongs to a primary thread --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/apic/io_apic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/apic/io_apic.c @@ -1033,6 +1033,16 @@ if (idx >= 0 && test_bit(mp_irqs[idx].srcbus, mp_bus_not_pci)) { irq = mp_irqs[idx].srcbusirq; legacy = mp_is_legacy_irq(irq); + /* + * IRQ2 is unusable for historical reasons on systems which + * have a legacy PIC. See the comment vs. IRQ2 further down. + * + * If this gets removed at some point then the related code + * in lapic_assign_system_vectors() needs to be adjusted as + * well. + */ + if (legacy && irq == PIC_CASCADE_IR) + return -EINVAL; } mutex_lock(&ioapic_mutex); @@ -2243,6 +2253,7 @@ legacy_pic->init(0); legacy_pic->make_irq(0); apic_write(APIC_LVT0, APIC_DM_EXTINT); + legacy_pic->unmask(0); unlock_ExtINT_logic(); @@ -2335,8 +2346,13 @@ static void ioapic_destroy_irqdomain(int idx) { + struct ioapic_domain_cfg *cfg = &ioapics[idx].irqdomain_cfg; + struct fwnode_handle *fn = ioapics[idx].irqdomain->fwnode; + if (ioapics[idx].irqdomain) { irq_domain_remove(ioapics[idx].irqdomain); + if (!cfg->dev) + irq_domain_free_fwnode(fn); ioapics[idx].irqdomain = NULL; } } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/apic/vector.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/apic/vector.c @@ -161,6 +161,7 @@ apicd->move_in_progress = true; apicd->prev_vector = apicd->vector; apicd->prev_cpu = apicd->cpu; + WARN_ON_ONCE(apicd->cpu == newcpu); } else { irq_matrix_free(vector_matrix, apicd->cpu, apicd->vector, managed); @@ -272,20 +273,24 @@ const struct cpumask *affmsk = irq_data_get_affinity_mask(irqd); int node = irq_data_get_node(irqd); - if (node == NUMA_NO_NODE) - goto all; - /* Try the intersection of @affmsk and node mask */ - cpumask_and(vector_searchmask, cpumask_of_node(node), affmsk); - if (!assign_vector_locked(irqd, vector_searchmask)) - return 0; - /* Try the node mask */ - if (!assign_vector_locked(irqd, cpumask_of_node(node))) - return 0; -all: + if (node != NUMA_NO_NODE) { + /* Try the intersection of @affmsk and node mask */ + cpumask_and(vector_searchmask, cpumask_of_node(node), affmsk); + if (!assign_vector_locked(irqd, vector_searchmask)) + return 0; + } + /* Try the full affinity mask */ cpumask_and(vector_searchmask, affmsk, cpu_online_mask); if (!assign_vector_locked(irqd, vector_searchmask)) return 0; + + if (node != NUMA_NO_NODE) { + /* Try the node mask */ + if (!assign_vector_locked(irqd, cpumask_of_node(node))) + return 0; + } + /* Try the full online mask */ return assign_vector_locked(irqd, cpu_online_mask); } @@ -560,6 +565,10 @@ * as that can corrupt the affinity move state. */ irqd_set_handle_enforce_irqctx(irqd); + + /* Don't invoke affinity setter on deactivated interrupts */ + irqd_set_affinity_on_activate(irqd); + /* * Legacy vectors are already assigned when the IOAPIC * takes them over. They stay on the same vector. This is @@ -906,7 +915,7 @@ __send_cleanup_vector(apicd); } -static void __irq_complete_move(struct irq_cfg *cfg, unsigned vector) +void irq_complete_move(struct irq_cfg *cfg) { struct apic_chip_data *apicd; @@ -914,15 +923,16 @@ if (likely(!apicd->move_in_progress)) return; - if (vector == apicd->vector && apicd->cpu == smp_processor_id()) + /* + * If the interrupt arrived on the new target CPU, cleanup the + * vector on the old target CPU. A vector check is not required + * because an interrupt can never move from one vector to another + * on the same CPU. + */ + if (apicd->cpu == smp_processor_id()) __send_cleanup_vector(apicd); } -void irq_complete_move(struct irq_cfg *cfg) -{ - __irq_complete_move(cfg, ~get_irq_regs()->orig_ax); -} - /* * Called from fixup_irqs() with @desc->lock held and interrupts disabled. */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/apic/x2apic_cluster.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/apic/x2apic_cluster.c @@ -29,7 +29,8 @@ { u32 dest = per_cpu(x86_cpu_to_logical_apicid, cpu); - x2apic_wrmsr_fence(); + /* x2apic MSRs are special and need a special fence: */ + weak_wrmsr_fence(); __x2apic_send_IPI_dest(dest, vector, APIC_DEST_LOGICAL); } @@ -41,7 +42,8 @@ unsigned long flags; u32 dest; - x2apic_wrmsr_fence(); + /* x2apic MSRs are special and need a special fence: */ + weak_wrmsr_fence(); local_irq_save(flags); tmpmsk = this_cpu_cpumask_var_ptr(ipi_mask); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/apic/x2apic_phys.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/apic/x2apic_phys.c @@ -8,6 +8,12 @@ int x2apic_phys; static struct apic apic_x2apic_phys; +static u32 x2apic_max_apicid __ro_after_init; + +void __init x2apic_set_max_apicid(u32 apicid) +{ + x2apic_max_apicid = apicid; +} static int __init set_x2apic_phys_mode(char *arg) { @@ -37,7 +43,8 @@ { u32 dest = per_cpu(x86_cpu_to_apicid, cpu); - x2apic_wrmsr_fence(); + /* x2apic MSRs are special and need a special fence: */ + weak_wrmsr_fence(); __x2apic_send_IPI_dest(dest, vector, APIC_DEST_PHYSICAL); } @@ -48,7 +55,8 @@ unsigned long this_cpu; unsigned long flags; - x2apic_wrmsr_fence(); + /* x2apic MSRs are special and need a special fence: */ + weak_wrmsr_fence(); local_irq_save(flags); @@ -98,6 +106,9 @@ /* Common x2apic functions, also used by x2apic_cluster */ int x2apic_apic_id_valid(u32 apicid) { + if (x2apic_max_apicid && apicid > x2apic_max_apicid) + return 0; + return 1; } @@ -116,7 +127,8 @@ { unsigned long cfg = __prepare_ICR(which, vector, 0); - x2apic_wrmsr_fence(); + /* x2apic MSRs are special and need a special fence: */ + weak_wrmsr_fence(); native_x2apic_icr_write(cfg, 0); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/amd.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/amd.c @@ -329,7 +329,6 @@ */ static void amd_get_topology(struct cpuinfo_x86 *c) { - u8 node_id; int cpu = smp_processor_id(); /* get information required for multi-node processors */ @@ -339,7 +338,7 @@ cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); - node_id = ecx & 0xff; + c->cpu_die_id = ecx & 0xff; if (c->x86 == 0x15) c->cu_id = ebx & 0xff; @@ -359,15 +358,15 @@ if (!err) c->x86_coreid_bits = get_count_order(c->x86_max_cores); - cacheinfo_amd_init_llc_id(c, cpu, node_id); + cacheinfo_amd_init_llc_id(c, cpu); } else if (cpu_has(c, X86_FEATURE_NODEID_MSR)) { u64 value; rdmsrl(MSR_FAM10H_NODE_ID, value); - node_id = value & 7; + c->cpu_die_id = value & 7; - per_cpu(cpu_llc_id, cpu) = node_id; + per_cpu(cpu_llc_id, cpu) = c->cpu_die_id; } else return; @@ -392,7 +391,7 @@ /* Convert the initial APIC ID into the socket ID */ c->phys_proc_id = c->initial_apicid >> bits; /* use socket ID also for last level cache */ - per_cpu(cpu_llc_id, cpu) = c->phys_proc_id; + per_cpu(cpu_llc_id, cpu) = c->cpu_die_id = c->phys_proc_id; } static void amd_detect_ppin(struct cpuinfo_x86 *c) @@ -569,12 +568,12 @@ u32 ecx; ecx = cpuid_ecx(0x8000001e); - nodes_per_socket = ((ecx >> 8) & 7) + 1; + __max_die_per_package = nodes_per_socket = ((ecx >> 8) & 7) + 1; } else if (boot_cpu_has(X86_FEATURE_NODEID_MSR)) { u64 value; rdmsrl(MSR_FAM10H_NODE_ID, value); - nodes_per_socket = ((value >> 3) & 7) + 1; + __max_die_per_package = nodes_per_socket = ((value >> 3) & 7) + 1; } if (!boot_cpu_has(X86_FEATURE_AMD_SSBD) && --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/bugs.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/bugs.c @@ -31,6 +31,7 @@ #include #include #include +#include #include "cpu.h" @@ -740,11 +741,13 @@ if (boot_cpu_has(X86_FEATURE_IBPB)) { setup_force_cpu_cap(X86_FEATURE_USE_IBPB); + spectre_v2_user_ibpb = mode; switch (cmd) { case SPECTRE_V2_USER_CMD_FORCE: case SPECTRE_V2_USER_CMD_PRCTL_IBPB: case SPECTRE_V2_USER_CMD_SECCOMP_IBPB: static_branch_enable(&switch_mm_always_ibpb); + spectre_v2_user_ibpb = SPECTRE_V2_USER_STRICT; break; case SPECTRE_V2_USER_CMD_PRCTL: case SPECTRE_V2_USER_CMD_AUTO: @@ -758,8 +761,6 @@ pr_info("mitigation: Enabling %s Indirect Branch Prediction Barrier\n", static_key_enabled(&switch_mm_always_ibpb) ? "always-on" : "conditional"); - - spectre_v2_user_ibpb = mode; } /* @@ -1259,6 +1260,14 @@ return 0; } +static bool is_spec_ib_user_controlled(void) +{ + return spectre_v2_user_ibpb == SPECTRE_V2_USER_PRCTL || + spectre_v2_user_ibpb == SPECTRE_V2_USER_SECCOMP || + spectre_v2_user_stibp == SPECTRE_V2_USER_PRCTL || + spectre_v2_user_stibp == SPECTRE_V2_USER_SECCOMP; +} + static int ib_prctl_set(struct task_struct *task, unsigned long ctrl) { switch (ctrl) { @@ -1266,17 +1275,26 @@ if (spectre_v2_user_ibpb == SPECTRE_V2_USER_NONE && spectre_v2_user_stibp == SPECTRE_V2_USER_NONE) return 0; - /* - * Indirect branch speculation is always disabled in strict - * mode. It can neither be enabled if it was force-disabled - * by a previous prctl call. + /* + * With strict mode for both IBPB and STIBP, the instruction + * code paths avoid checking this task flag and instead, + * unconditionally run the instruction. However, STIBP and IBPB + * are independent and either can be set to conditionally + * enabled regardless of the mode of the other. + * + * If either is set to conditional, allow the task flag to be + * updated, unless it was force-disabled by a previous prctl + * call. Currently, this is possible on an AMD CPU which has the + * feature X86_FEATURE_AMD_STIBP_ALWAYS_ON. In this case, if the + * kernel is booted with 'spectre_v2_user=seccomp', then + * spectre_v2_user_ibpb == SPECTRE_V2_USER_SECCOMP and + * spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT_PREFERRED. */ - if (spectre_v2_user_ibpb == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT_PREFERRED || + if (!is_spec_ib_user_controlled() || task_spec_ib_force_disable(task)) return -EPERM; + task_clear_spec_ib_disable(task); task_update_spec_tif(task); break; @@ -1289,10 +1307,10 @@ if (spectre_v2_user_ibpb == SPECTRE_V2_USER_NONE && spectre_v2_user_stibp == SPECTRE_V2_USER_NONE) return -EPERM; - if (spectre_v2_user_ibpb == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT_PREFERRED) + + if (!is_spec_ib_user_controlled()) return 0; + task_set_spec_ib_disable(task); if (ctrl == PR_SPEC_FORCE_DISABLE) task_set_spec_ib_force_disable(task); @@ -1357,20 +1375,17 @@ if (spectre_v2_user_ibpb == SPECTRE_V2_USER_NONE && spectre_v2_user_stibp == SPECTRE_V2_USER_NONE) return PR_SPEC_ENABLE; - else if (spectre_v2_user_ibpb == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT || - spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT_PREFERRED) - return PR_SPEC_DISABLE; - else if (spectre_v2_user_ibpb == SPECTRE_V2_USER_PRCTL || - spectre_v2_user_ibpb == SPECTRE_V2_USER_SECCOMP || - spectre_v2_user_stibp == SPECTRE_V2_USER_PRCTL || - spectre_v2_user_stibp == SPECTRE_V2_USER_SECCOMP) { + else if (is_spec_ib_user_controlled()) { if (task_spec_ib_force_disable(task)) return PR_SPEC_PRCTL | PR_SPEC_FORCE_DISABLE; if (task_spec_ib_disable(task)) return PR_SPEC_PRCTL | PR_SPEC_DISABLE; return PR_SPEC_PRCTL | PR_SPEC_ENABLE; - } else + } else if (spectre_v2_user_ibpb == SPECTRE_V2_USER_STRICT || + spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT || + spectre_v2_user_stibp == SPECTRE_V2_USER_STRICT_PREFERRED) + return PR_SPEC_DISABLE; + else return PR_SPEC_NOT_AFFECTED; } @@ -1556,7 +1571,12 @@ static ssize_t itlb_multihit_show_state(char *buf) { - if (itlb_multihit_kvm_mitigation) + if (!boot_cpu_has(X86_FEATURE_MSR_IA32_FEAT_CTL) || + !boot_cpu_has(X86_FEATURE_VMX)) + return sprintf(buf, "KVM: Mitigation: VMX unsupported\n"); + else if (!(cr4_read_shadow() & X86_CR4_VMXE)) + return sprintf(buf, "KVM: Mitigation: VMX disabled\n"); + else if (itlb_multihit_kvm_mitigation) return sprintf(buf, "KVM: Mitigation: Split huge pages\n"); else return sprintf(buf, "KVM: Vulnerable\n"); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/cacheinfo.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/cacheinfo.c @@ -646,7 +646,7 @@ return i; } -void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu, u8 node_id) +void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu) { /* * We may have multiple LLCs if L3 caches exist, so check if we @@ -657,7 +657,7 @@ if (c->x86 < 0x17) { /* LLC is at the node level. */ - per_cpu(cpu_llc_id, cpu) = node_id; + per_cpu(cpu_llc_id, cpu) = c->cpu_die_id; } else if (c->x86 == 0x17 && c->x86_model <= 0x1F) { /* * LLC is at the core complex level. @@ -684,7 +684,7 @@ } } -void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu, u8 node_id) +void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu) { /* * We may have multiple LLCs if L3 caches exist, so check if we --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/common.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/common.c @@ -358,7 +358,7 @@ unsigned long bits_missing = 0; set_register: - asm volatile("mov %0,%%cr0": "+r" (val), "+m" (__force_order)); + asm volatile("mov %0,%%cr0": "+r" (val) : : "memory"); if (static_branch_likely(&cr_pinning)) { if (unlikely((val & X86_CR0_WP) != X86_CR0_WP)) { @@ -377,7 +377,7 @@ unsigned long bits_changed = 0; set_register: - asm volatile("mov %0,%%cr4": "+r" (val), "+m" (cr4_pinned_bits)); + asm volatile("mov %0,%%cr4": "+r" (val) : : "memory"); if (static_branch_likely(&cr_pinning)) { if (unlikely((val & cr4_pinned_mask) != cr4_pinned_bits)) { --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/hygon.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/hygon.c @@ -64,7 +64,6 @@ */ static void hygon_get_topology(struct cpuinfo_x86 *c) { - u8 node_id; int cpu = smp_processor_id(); /* get information required for multi-node processors */ @@ -74,7 +73,7 @@ cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); - node_id = ecx & 0xff; + c->cpu_die_id = ecx & 0xff; c->cpu_core_id = ebx & 0xff; @@ -92,14 +91,14 @@ /* Socket ID is ApicId[6] for these processors. */ c->phys_proc_id = c->apicid >> APICID_SOCKET_ID_BIT; - cacheinfo_hygon_init_llc_id(c, cpu, node_id); + cacheinfo_hygon_init_llc_id(c, cpu); } else if (cpu_has(c, X86_FEATURE_NODEID_MSR)) { u64 value; rdmsrl(MSR_FAM10H_NODE_ID, value); - node_id = value & 7; + c->cpu_die_id = value & 7; - per_cpu(cpu_llc_id, cpu) = node_id; + per_cpu(cpu_llc_id, cpu) = c->cpu_die_id; } else return; @@ -122,7 +121,7 @@ /* Convert the initial APIC ID into the socket ID */ c->phys_proc_id = c->initial_apicid >> bits; /* use socket ID also for last level cache */ - per_cpu(cpu_llc_id, cpu) = c->phys_proc_id; + per_cpu(cpu_llc_id, cpu) = c->cpu_die_id = c->phys_proc_id; } static void srat_detect_node(struct cpuinfo_x86 *c) --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/intel.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/intel.c @@ -1156,6 +1156,9 @@ X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_L, 1), X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE_L, 1), X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE, 1), + X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, 1), + X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE, 1), + X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, 1), {} }; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/mce/core.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/mce/core.c @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -162,7 +161,8 @@ void mce_register_decode_chain(struct notifier_block *nb) { - if (WARN_ON(nb->priority > MCE_PRIO_MCELOG && nb->priority < MCE_PRIO_EDAC)) + if (WARN_ON(nb->priority < MCE_PRIO_LOWEST || + nb->priority > MCE_PRIO_HIGHEST)) return; blocking_notifier_chain_register(&x86_mce_decoder_chain, nb); @@ -370,42 +370,105 @@ return -1; } +__visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup, + struct pt_regs *regs, int trapnr, + unsigned long error_code, + unsigned long fault_addr) +{ + pr_emerg("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); + + panic("MCA architectural violation!\n"); + + while (true) + cpu_relax(); + + return true; +} + /* MSR access wrappers used for error injection */ -static u64 mce_rdmsrl(u32 msr) +static noinstr u64 mce_rdmsrl(u32 msr) { - u64 v; + DECLARE_ARGS(val, low, high); if (__this_cpu_read(injectm.finished)) { - int offset = msr_to_offset(msr); + int offset; + u64 ret; + + instrumentation_begin(); + offset = msr_to_offset(msr); if (offset < 0) - return 0; - return *(u64 *)((char *)this_cpu_ptr(&injectm) + offset); - } + ret = 0; + else + ret = *(u64 *)((char *)this_cpu_ptr(&injectm) + offset); - if (rdmsrl_safe(msr, &v)) { - WARN_ONCE(1, "mce: Unable to read MSR 0x%x!\n", msr); - /* - * Return zero in case the access faulted. This should - * not happen normally but can happen if the CPU does - * something weird, or if the code is buggy. - */ - v = 0; + instrumentation_end(); + + return ret; } - return v; + /* + * RDMSR on MCA MSRs should not fault. If they do, this is very much an + * architectural violation and needs to be reported to hw vendor. Panic + * the box to not allow any further progress. + */ + asm volatile("1: rdmsr\n" + "2:\n" + _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_rdmsr_fault) + : EAX_EDX_RET(val, low, high) : "c" (msr)); + + + return EAX_EDX_VAL(val, low, high); +} + +__visible bool ex_handler_wrmsr_fault(const struct exception_table_entry *fixup, + struct pt_regs *regs, int trapnr, + unsigned long error_code, + unsigned long fault_addr) +{ + pr_emerg("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); + + panic("MCA architectural violation!\n"); + + while (true) + cpu_relax(); + + return true; } -static void mce_wrmsrl(u32 msr, u64 v) +static noinstr void mce_wrmsrl(u32 msr, u64 v) { + u32 low, high; + if (__this_cpu_read(injectm.finished)) { - int offset = msr_to_offset(msr); + int offset; + + instrumentation_begin(); + offset = msr_to_offset(msr); if (offset >= 0) *(u64 *)((char *)this_cpu_ptr(&injectm) + offset) = v; + + instrumentation_end(); + return; } - wrmsrl(msr, v); + + low = (u32)v; + high = (u32)(v >> 32); + + /* See comment in mce_rdmsrl() */ + asm volatile("1: wrmsr\n" + "2:\n" + _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_wrmsr_fault) + : : "c" (msr), "a"(low), "d" (high) : "memory"); } /* @@ -1298,8 +1361,10 @@ * When there's any problem use only local no_way_out state. */ if (!lmce) { - if (mce_end(order) < 0) - no_way_out = worst >= MCE_PANIC_SEVERITY; + if (mce_end(order) < 0) { + if (!no_way_out) + no_way_out = worst >= MCE_PANIC_SEVERITY; + } } else { /* * If there was a fatal machine check we should have @@ -1345,7 +1410,7 @@ current->mce_kill_me.func = kill_me_maybe; if (kill_it) current->mce_kill_me.func = kill_me_now; - task_work_add(current, ¤t->mce_kill_me, true); + task_work_add(current, ¤t->mce_kill_me, TWA_RESUME); } else { /* * Handle an MCE which has happened in kernel space but from @@ -2059,7 +2124,7 @@ and older. * mce=nobootlog Don't log MCEs from before booting. * mce=bios_cmci_threshold Don't program the CMCI threshold - * mce=recovery force enable memcpy_mcsafe() + * mce=recovery force enable copy_mc_fragile() */ static int __init mcheck_enable(char *str) { @@ -2667,13 +2732,10 @@ static void __init mcheck_debugfs_init(void) { } #endif -DEFINE_STATIC_KEY_FALSE(mcsafe_key); -EXPORT_SYMBOL_GPL(mcsafe_key); - static int __init mcheck_late_init(void) { if (mca_cfg.recovery) - static_branch_inc(&mcsafe_key); + enable_copy_mc_fragile(); mcheck_debugfs_init(); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/mce/inject.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/mce/inject.c @@ -511,7 +511,7 @@ */ if (inj_type == DFR_INT_INJ) { i_mce.status |= MCI_STATUS_DEFERRED; - i_mce.status |= (i_mce.status & ~MCI_STATUS_UC); + i_mce.status &= ~MCI_STATUS_UC; } /* --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/mce/internal.h +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/mce/internal.h @@ -185,4 +185,14 @@ static inline bool amd_filter_mce(struct mce *m) { return false; }; #endif +__visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup, + struct pt_regs *regs, int trapnr, + unsigned long error_code, + unsigned long fault_addr); + +__visible bool ex_handler_wrmsr_fault(const struct exception_table_entry *fixup, + struct pt_regs *regs, int trapnr, + unsigned long error_code, + unsigned long fault_addr); + #endif /* __X86_MCE_INTERNAL_H__ */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/mce/severity.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/mce/severity.c @@ -9,9 +9,11 @@ #include #include #include -#include #include +#include +#include + #include "internal.h" /* @@ -40,9 +42,14 @@ unsigned char context; unsigned char excp; unsigned char covered; + unsigned char cpu_model; + unsigned char cpu_minstepping; + unsigned char bank_lo, bank_hi; char *msg; } severities[] = { #define MCESEV(s, m, c...) { .sev = MCE_ ## s ## _SEVERITY, .msg = m, ## c } +#define BANK_RANGE(l, h) .bank_lo = l, .bank_hi = h +#define MODEL_STEPPING(m, s) .cpu_model = m, .cpu_minstepping = s #define KERNEL .context = IN_KERNEL #define USER .context = IN_USER #define KERNEL_RECOV .context = IN_KERNEL_RECOV @@ -97,7 +104,6 @@ KEEP, "Corrected error", NOSER, BITCLR(MCI_STATUS_UC) ), - /* * known AO MCACODs reported via MCE or CMC: * @@ -113,6 +119,18 @@ AO, "Action optional: last level cache writeback error", SER, MASK(MCI_UC_AR|MCACOD, MCI_STATUS_UC|MCACOD_L3WB) ), + /* + * Quirk for Skylake/Cascade Lake. Patrol scrubber may be configured + * to report uncorrected errors using CMCI with a special signature. + * UC=0, MSCOD=0x0010, MCACOD=binary(000X 0000 1100 XXXX) reported + * in one of the memory controller banks. + * Set severity to "AO" for same action as normal patrol scrub error. + */ + MCESEV( + AO, "Uncorrected Patrol Scrub Error", + SER, MASK(MCI_STATUS_UC|MCI_ADDR|0xffffeff0, MCI_ADDR|0x001000c0), + MODEL_STEPPING(INTEL_FAM6_SKYLAKE_X, 4), BANK_RANGE(13, 18) + ), /* ignore OVER for UCNA */ MCESEV( @@ -324,6 +342,12 @@ continue; if (s->excp && excp != s->excp) continue; + if (s->cpu_model && boot_cpu_data.x86_model != s->cpu_model) + continue; + if (s->cpu_minstepping && boot_cpu_data.x86_stepping < s->cpu_minstepping) + continue; + if (s->bank_lo && (m->bank < s->bank_lo || m->bank > s->bank_hi)) + continue; if (msg) *msg = s->msg; s->covered = 1; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/microcode/intel.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/microcode/intel.c @@ -100,53 +100,6 @@ return find_matching_signature(mc, csig, cpf); } -/* - * Given CPU signature and a microcode patch, this function finds if the - * microcode patch has matching family and model with the CPU. - * - * %true - if there's a match - * %false - otherwise - */ -static bool microcode_matches(struct microcode_header_intel *mc_header, - unsigned long sig) -{ - unsigned long total_size = get_totalsize(mc_header); - unsigned long data_size = get_datasize(mc_header); - struct extended_sigtable *ext_header; - unsigned int fam_ucode, model_ucode; - struct extended_signature *ext_sig; - unsigned int fam, model; - int ext_sigcount, i; - - fam = x86_family(sig); - model = x86_model(sig); - - fam_ucode = x86_family(mc_header->sig); - model_ucode = x86_model(mc_header->sig); - - if (fam == fam_ucode && model == model_ucode) - return true; - - /* Look for ext. headers: */ - if (total_size <= data_size + MC_HEADER_SIZE) - return false; - - ext_header = (void *) mc_header + data_size + MC_HEADER_SIZE; - ext_sig = (void *)ext_header + EXT_HEADER_SIZE; - ext_sigcount = ext_header->count; - - for (i = 0; i < ext_sigcount; i++) { - fam_ucode = x86_family(ext_sig->sig); - model_ucode = x86_model(ext_sig->sig); - - if (fam == fam_ucode && model == model_ucode) - return true; - - ext_sig++; - } - return false; -} - static struct ucode_patch *memdup_patch(void *data, unsigned int size) { struct ucode_patch *p; @@ -164,7 +117,7 @@ return p; } -static void save_microcode_patch(void *data, unsigned int size) +static void save_microcode_patch(struct ucode_cpu_info *uci, void *data, unsigned int size) { struct microcode_header_intel *mc_hdr, *mc_saved_hdr; struct ucode_patch *iter, *tmp, *p = NULL; @@ -210,6 +163,9 @@ if (!p) return; + if (!find_matching_signature(p->data, uci->cpu_sig.sig, uci->cpu_sig.pf)) + return; + /* * Save for early loading. On 32-bit, that needs to be a physical * address as the APs are running from physical addresses, before @@ -344,13 +300,14 @@ size -= mc_size; - if (!microcode_matches(mc_header, uci->cpu_sig.sig)) { + if (!find_matching_signature(data, uci->cpu_sig.sig, + uci->cpu_sig.pf)) { data += mc_size; continue; } if (save) { - save_microcode_patch(data, mc_size); + save_microcode_patch(uci, data, mc_size); goto next; } @@ -483,14 +440,14 @@ * Save this microcode patch. It will be loaded early when a CPU is * hot-added or resumes. */ -static void save_mc_for_early(u8 *mc, unsigned int size) +static void save_mc_for_early(struct ucode_cpu_info *uci, u8 *mc, unsigned int size) { /* Synchronization during CPU hotplug. */ static DEFINE_MUTEX(x86_cpu_microcode_mutex); mutex_lock(&x86_cpu_microcode_mutex); - save_microcode_patch(mc, size); + save_microcode_patch(uci, mc, size); show_saved_mc(); mutex_unlock(&x86_cpu_microcode_mutex); @@ -935,7 +892,7 @@ * permanent memory. So it will be loaded early when a CPU is hot added * or resumes. */ - save_mc_for_early(new_mc, new_mc_size); + save_mc_for_early(uci, new_mc, new_mc_size); pr_debug("CPU%d found a matching microcode update with version 0x%x (current=0x%x)\n", cpu, new_rev, uci->cpu_sig.rev); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/mtrr/generic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/mtrr/generic.c @@ -167,9 +167,6 @@ *repeat = 0; *uniform = 1; - /* Make end inclusive instead of exclusive */ - end--; - prev_match = MTRR_TYPE_INVALID; for (i = 0; i < num_var_ranges; ++i) { unsigned short start_state, end_state, inclusive; @@ -261,6 +258,9 @@ int repeat; u64 partial_end; + /* Make end inclusive instead of exclusive */ + end--; + if (!mtrr_state_set) return MTRR_TYPE_INVALID; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/resctrl/internal.h +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/resctrl/internal.h @@ -283,7 +283,6 @@ * struct mbm_state - status for each MBM counter in each domain * @chunks: Total data moved (multiply by rdt_group.mon_scale to get bytes) * @prev_msr Value of IA32_QM_CTR for this RMID last time we read it - * @chunks_bw Total local data moved. Used for bandwidth calculation * @prev_bw_msr:Value of previous IA32_QM_CTR for bandwidth counting * @prev_bw The most recent bandwidth in MBps * @delta_bw Difference between the current and previous bandwidth @@ -292,7 +291,6 @@ struct mbm_state { u64 chunks; u64 prev_msr; - u64 chunks_bw; u64 prev_bw_msr; u32 prev_bw; u32 delta_bw; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/resctrl/monitor.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/resctrl/monitor.c @@ -279,8 +279,6 @@ return; chunks = mbm_overflow_count(m->prev_bw_msr, tval, rr->r->mbm_width); - m->chunks_bw += chunks; - m->chunks = m->chunks_bw; cur_bw = (chunks * r->mon_scale) >> 20; if (m->delta_comp) @@ -451,15 +449,14 @@ } if (is_mbm_local_enabled()) { rr.evtid = QOS_L3_MBM_LOCAL_EVENT_ID; + __mon_event_count(rmid, &rr); /* * Call the MBA software controller only for the * control groups and when user has enabled * the software controller explicitly. */ - if (!is_mba_sc(NULL)) - __mon_event_count(rmid, &rr); - else + if (is_mba_sc(NULL)) mbm_bw_count(rmid, &rr); } } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -507,89 +507,88 @@ return ret ?: nbytes; } -struct task_move_callback { - struct callback_head work; - struct rdtgroup *rdtgrp; -}; - -static void move_myself(struct callback_head *head) +/** + * rdtgroup_remove - the helper to remove resource group safely + * @rdtgrp: resource group to remove + * + * On resource group creation via a mkdir, an extra kernfs_node reference is + * taken to ensure that the rdtgroup structure remains accessible for the + * rdtgroup_kn_unlock() calls where it is removed. + * + * Drop the extra reference here, then free the rdtgroup structure. + * + * Return: void + */ +static void rdtgroup_remove(struct rdtgroup *rdtgrp) { - struct task_move_callback *callback; - struct rdtgroup *rdtgrp; - - callback = container_of(head, struct task_move_callback, work); - rdtgrp = callback->rdtgrp; + kernfs_put(rdtgrp->kn); + kfree(rdtgrp); +} +static void _update_task_closid_rmid(void *task) +{ /* - * If resource group was deleted before this task work callback - * was invoked, then assign the task to root group and free the - * resource group. + * If the task is still current on this CPU, update PQR_ASSOC MSR. + * Otherwise, the MSR is updated when the task is scheduled in. */ - if (atomic_dec_and_test(&rdtgrp->waitcount) && - (rdtgrp->flags & RDT_DELETED)) { - current->closid = 0; - current->rmid = 0; - kfree(rdtgrp); - } - - if (unlikely(current->flags & PF_EXITING)) - goto out; - - preempt_disable(); - /* update PQR_ASSOC MSR to make resource group go into effect */ - resctrl_sched_in(); - preempt_enable(); + if (task == current) + resctrl_sched_in(); +} -out: - kfree(callback); +static void update_task_closid_rmid(struct task_struct *t) +{ + if (IS_ENABLED(CONFIG_SMP) && task_curr(t)) + smp_call_function_single(task_cpu(t), _update_task_closid_rmid, t, 1); + else + _update_task_closid_rmid(t); } static int __rdtgroup_move_task(struct task_struct *tsk, struct rdtgroup *rdtgrp) { - struct task_move_callback *callback; - int ret; - - callback = kzalloc(sizeof(*callback), GFP_KERNEL); - if (!callback) - return -ENOMEM; - callback->work.func = move_myself; - callback->rdtgrp = rdtgrp; + /* If the task is already in rdtgrp, no need to move the task. */ + if ((rdtgrp->type == RDTCTRL_GROUP && tsk->closid == rdtgrp->closid && + tsk->rmid == rdtgrp->mon.rmid) || + (rdtgrp->type == RDTMON_GROUP && tsk->rmid == rdtgrp->mon.rmid && + tsk->closid == rdtgrp->mon.parent->closid)) + return 0; /* - * Take a refcount, so rdtgrp cannot be freed before the - * callback has been invoked. + * Set the task's closid/rmid before the PQR_ASSOC MSR can be + * updated by them. + * + * For ctrl_mon groups, move both closid and rmid. + * For monitor groups, can move the tasks only from + * their parent CTRL group. */ - atomic_inc(&rdtgrp->waitcount); - ret = task_work_add(tsk, &callback->work, true); - if (ret) { - /* - * Task is exiting. Drop the refcount and free the callback. - * No need to check the refcount as the group cannot be - * deleted before the write function unlocks rdtgroup_mutex. - */ - atomic_dec(&rdtgrp->waitcount); - kfree(callback); - rdt_last_cmd_puts("Task exited\n"); - } else { - /* - * For ctrl_mon groups move both closid and rmid. - * For monitor groups, can move the tasks only from - * their parent CTRL group. - */ - if (rdtgrp->type == RDTCTRL_GROUP) { - tsk->closid = rdtgrp->closid; + + if (rdtgrp->type == RDTCTRL_GROUP) { + tsk->closid = rdtgrp->closid; + tsk->rmid = rdtgrp->mon.rmid; + } else if (rdtgrp->type == RDTMON_GROUP) { + if (rdtgrp->mon.parent->closid == tsk->closid) { tsk->rmid = rdtgrp->mon.rmid; - } else if (rdtgrp->type == RDTMON_GROUP) { - if (rdtgrp->mon.parent->closid == tsk->closid) { - tsk->rmid = rdtgrp->mon.rmid; - } else { - rdt_last_cmd_puts("Can't move task to different control group\n"); - ret = -EINVAL; - } + } else { + rdt_last_cmd_puts("Can't move task to different control group\n"); + return -EINVAL; } } - return ret; + + /* + * Ensure the task's closid and rmid are written before determining if + * the task is current that will decide if it will be interrupted. + */ + barrier(); + + /* + * By now, the task's closid and rmid are set. If the task is current + * on a CPU, the PQR_ASSOC MSR needs to be updated to make the resource + * group go into effect. If the task is not current, the MSR will be + * updated when the task is scheduled in. + */ + update_task_closid_rmid(tsk); + + return 0; } /** @@ -1708,7 +1707,6 @@ if (IS_ERR(kn_subdir)) return PTR_ERR(kn_subdir); - kernfs_get(kn_subdir); ret = rdtgroup_kn_set_ugid(kn_subdir); if (ret) return ret; @@ -1731,7 +1729,6 @@ kn_info = kernfs_create_dir(parent_kn, "info", parent_kn->mode, NULL); if (IS_ERR(kn_info)) return PTR_ERR(kn_info); - kernfs_get(kn_info); ret = rdtgroup_add_files(kn_info, RF_TOP_INFO); if (ret) @@ -1752,12 +1749,6 @@ goto out_destroy; } - /* - * This extra ref will be put in kernfs_remove() and guarantees - * that @rdtgrp->kn is always accessible. - */ - kernfs_get(kn_info); - ret = rdtgroup_kn_set_ugid(kn_info); if (ret) goto out_destroy; @@ -1786,12 +1777,6 @@ if (dest_kn) *dest_kn = kn; - /* - * This extra ref will be put in kernfs_remove() and guarantees - * that @rdtgrp->kn is always accessible. - */ - kernfs_get(kn); - ret = rdtgroup_kn_set_ugid(kn); if (ret) goto out_destroy; @@ -2018,8 +2003,7 @@ rdtgrp->mode == RDT_MODE_PSEUDO_LOCKED) rdtgroup_pseudo_lock_remove(rdtgrp); kernfs_unbreak_active_protection(kn); - kernfs_put(rdtgrp->kn); - kfree(rdtgrp); + rdtgroup_remove(rdtgrp); } else { kernfs_unbreak_active_protection(kn); } @@ -2078,13 +2062,11 @@ &kn_mongrp); if (ret < 0) goto out_info; - kernfs_get(kn_mongrp); ret = mkdir_mondata_all(rdtgroup_default.kn, &rdtgroup_default, &kn_mondata); if (ret < 0) goto out_mongrp; - kernfs_get(kn_mondata); rdtgroup_default.mon.mon_data_kn = kn_mondata; } @@ -2308,7 +2290,7 @@ if (atomic_read(&sentry->waitcount) != 0) sentry->flags = RDT_DELETED; else - kfree(sentry); + rdtgroup_remove(sentry); } } @@ -2350,7 +2332,7 @@ if (atomic_read(&rdtgrp->waitcount) != 0) rdtgrp->flags = RDT_DELETED; else - kfree(rdtgrp); + rdtgroup_remove(rdtgrp); } /* Notify online CPUs to update per cpu storage and PQR_ASSOC MSR */ update_closid_rmid(cpu_online_mask, &rdtgroup_default); @@ -2450,11 +2432,6 @@ if (IS_ERR(kn)) return PTR_ERR(kn); - /* - * This extra ref will be put in kernfs_remove() and guarantees - * that kn is always accessible. - */ - kernfs_get(kn); ret = rdtgroup_kn_set_ugid(kn); if (ret) goto out_destroy; @@ -2789,8 +2766,8 @@ /* * kernfs_remove() will drop the reference count on "kn" which * will free it. But we still need it to stick around for the - * rdtgroup_kn_unlock(kn} call below. Take one extra reference - * here, which will be dropped inside rdtgroup_kn_unlock(). + * rdtgroup_kn_unlock(kn) call. Take one extra reference here, + * which will be dropped by kernfs_put() in rdtgroup_remove(). */ kernfs_get(kn); @@ -2831,6 +2808,7 @@ out_idfree: free_rmid(rdtgrp->mon.rmid); out_destroy: + kernfs_put(rdtgrp->kn); kernfs_remove(rdtgrp->kn); out_free_rgrp: kfree(rdtgrp); @@ -2843,7 +2821,7 @@ { kernfs_remove(rgrp->kn); free_rmid(rgrp->mon.rmid); - kfree(rgrp); + rdtgroup_remove(rgrp); } /* @@ -3000,11 +2978,6 @@ WARN_ON(list_empty(&prdtgrp->mon.crdtgrp_list)); list_del(&rdtgrp->mon.crdtgrp_list); - /* - * one extra hold on this, will drop when we kfree(rdtgrp) - * in rdtgroup_kn_unlock() - */ - kernfs_get(kn); kernfs_remove(rdtgrp->kn); return 0; @@ -3016,11 +2989,6 @@ rdtgrp->flags = RDT_DELETED; list_del(&rdtgrp->rdtgroup_list); - /* - * one extra hold on this, will drop when we kfree(rdtgrp) - * in rdtgroup_kn_unlock() - */ - kernfs_get(kn); kernfs_remove(rdtgrp->kn); return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/cpu/topology.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/cpu/topology.c @@ -25,10 +25,10 @@ #define BITS_SHIFT_NEXT_LEVEL(eax) ((eax) & 0x1f) #define LEVEL_MAX_SIBLINGS(ebx) ((ebx) & 0xffff) -#ifdef CONFIG_SMP unsigned int __max_die_per_package __read_mostly = 1; EXPORT_SYMBOL(__max_die_per_package); +#ifdef CONFIG_SMP /* * Check if given CPUID extended toplogy "leaf" is implemented */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/crash.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/crash.c @@ -337,7 +337,7 @@ struct crash_memmap_data cmd; struct crash_mem *cmem; - cmem = vzalloc(sizeof(struct crash_mem)); + cmem = vzalloc(struct_size(cmem, ranges, 1)); if (!cmem) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/dumpstack.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/dumpstack.c @@ -77,6 +77,9 @@ if (!user_mode(regs)) return copy_from_kernel_nofault(buf, (u8 *)src, nbytes); + /* The user space code from other tasks cannot be accessed. */ + if (regs != task_pt_regs(current)) + return -EPERM; /* * Make sure userspace isn't trying to trick us into dumping kernel * memory by pointing the userspace instruction pointer at it. @@ -84,6 +87,12 @@ if (__chk_range_not_ok(src, nbytes, TASK_SIZE_MAX)) return -EINVAL; + /* + * Even if named copy_from_user_nmi() this can be invoked from + * other contexts and will not try to resolve a pagefault, which is + * the correct thing to do here as this code can be called from any + * context. + */ return copy_from_user_nmi(buf, (void __user *)src, nbytes); } @@ -114,12 +123,19 @@ u8 opcodes[OPCODE_BUFSIZE]; unsigned long prologue = regs->ip - PROLOGUE_SIZE; - if (copy_code(regs, opcodes, prologue, sizeof(opcodes))) { - printk("%sCode: Bad RIP value.\n", loglvl); - } else { + switch (copy_code(regs, opcodes, prologue, sizeof(opcodes))) { + case 0: printk("%sCode: %" __stringify(PROLOGUE_SIZE) "ph <%02x> %" __stringify(EPILOGUE_SIZE) "ph\n", loglvl, opcodes, opcodes[PROLOGUE_SIZE], opcodes + PROLOGUE_SIZE + 1); + break; + case -EPERM: + /* No access to the user space stack of other tasks. Ignore. */ + break; + default: + printk("%sCode: Unable to access opcode bytes at RIP 0x%lx.\n", + loglvl, prologue); + break; } } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/early-quirks.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/early-quirks.c @@ -28,6 +28,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; @@ -718,6 +749,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}, {} }; @@ -770,6 +802,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); @@ -796,8 +832,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-riscv-5.8-5.8.0.orig/arch/x86/kernel/fpu/core.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/fpu/core.c @@ -82,7 +82,7 @@ } EXPORT_SYMBOL(irq_fpu_usable); -void kernel_fpu_begin(void) +void kernel_fpu_begin_mask(unsigned int kfpu_mask) { preempt_disable(); @@ -102,13 +102,14 @@ } __cpu_invalidate_fpregs_state(); - if (boot_cpu_has(X86_FEATURE_XMM)) + /* Put sane initial values into the control registers. */ + if (likely(kfpu_mask & KFPU_MXCSR) && boot_cpu_has(X86_FEATURE_XMM)) ldmxcsr(MXCSR_DEFAULT); - if (boot_cpu_has(X86_FEATURE_FPU)) + if (unlikely(kfpu_mask & KFPU_387) && boot_cpu_has(X86_FEATURE_FPU)) asm volatile ("fninit"); } -EXPORT_SYMBOL_GPL(kernel_fpu_begin); +EXPORT_SYMBOL_GPL(kernel_fpu_begin_mask); void kernel_fpu_end(void) { --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/fpu/init.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/fpu/init.c @@ -243,9 +243,9 @@ */ static void __init fpu__init_parse_early_param(void) { - char arg[32]; + char arg[128]; char *argptr = arg; - int bit; + int arglen, res, bit; #ifdef CONFIG_X86_32 if (cmdline_find_option_bool(boot_command_line, "no387")) @@ -268,12 +268,26 @@ if (cmdline_find_option_bool(boot_command_line, "noxsaves")) setup_clear_cpu_cap(X86_FEATURE_XSAVES); - if (cmdline_find_option(boot_command_line, "clearcpuid", arg, - sizeof(arg)) && - get_option(&argptr, &bit) && - bit >= 0 && - bit < NCAPINTS * 32) - setup_clear_cpu_cap(bit); + arglen = cmdline_find_option(boot_command_line, "clearcpuid", arg, sizeof(arg)); + if (arglen <= 0) + return; + + pr_info("Clearing CPUID bits:"); + do { + res = get_option(&argptr, &bit); + if (res == 0 || res == 3) + break; + + /* If the argument was too long, the last bit may be cut off */ + if (res == 1 && arglen >= sizeof(arg)) + break; + + if (bit >= 0 && bit < NCAPINTS * 32) { + pr_cont(" " X86_CAP_FMT, x86_cap_flag(bit)); + setup_clear_cpu_cap(bit); + } + } while (res == 2); + pr_cont("\n"); } /* --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/head_32.S +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/head_32.S @@ -26,6 +26,7 @@ #include #include #include +#include /* Physical address */ #define pa(X) ((X) - __PAGE_OFFSET) @@ -147,6 +148,7 @@ movl pa(subarch_entries)(,%eax,4), %eax subl $__PAGE_OFFSET, %eax + ANNOTATE_RETPOLINE_SAFE jmp *%eax .Lbad_subarch: @@ -297,6 +299,7 @@ movl setup_once_ref,%eax andl %eax,%eax jz 1f # Did we do this already? + ANNOTATE_RETPOLINE_SAFE call *%eax 1: --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/hw_breakpoint.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/hw_breakpoint.c @@ -269,6 +269,20 @@ CPU_ENTRY_AREA_TOTAL_SIZE)) return true; + /* + * When FSGSBASE is enabled, paranoid_entry() fetches the per-CPU + * GSBASE value via __per_cpu_offset or pcpu_unit_offsets. + */ +#ifdef CONFIG_SMP + if (within_area(addr, end, (unsigned long)__per_cpu_offset, + sizeof(unsigned long) * nr_cpu_ids)) + return true; +#else + if (within_area(addr, end, (unsigned long)&pcpu_unit_offsets, + sizeof(pcpu_unit_offsets))) + return true; +#endif + for_each_possible_cpu(cpu) { /* The original rw GDT is being used after load_direct_gdt() */ if (within_area(addr, end, (unsigned long)get_cpu_gdt_rw(cpu), @@ -293,6 +307,14 @@ (unsigned long)&per_cpu(cpu_tlbstate, cpu), sizeof(struct tlb_state))) return true; + + /* + * When in guest (X86_FEATURE_HYPERVISOR), local_db_save() + * will read per-cpu cpu_dr7 before clear dr7 register. + */ + if (within_area(addr, end, (unsigned long)&per_cpu(cpu_dr7, cpu), + sizeof(cpu_dr7))) + return true; } return false; @@ -527,15 +549,12 @@ struct perf_event *bp; unsigned long dr6; unsigned long *dr6_p; + bool bpx; /* The DR6 value is pointed by args->err */ dr6_p = (unsigned long *)ERR_PTR(args->err); dr6 = *dr6_p; - /* If it's a single step, TRAP bits are random */ - if (dr6 & DR_STEP) - return NOTIFY_DONE; - /* Do an early return if no trap bits are set in DR6 */ if ((dr6 & DR_TRAP_BITS) == 0) return NOTIFY_DONE; @@ -553,28 +572,29 @@ if (likely(!(dr6 & (DR_TRAP0 << i)))) continue; + bp = this_cpu_read(bp_per_reg[i]); + if (!bp) + continue; + + bpx = bp->hw.info.type == X86_BREAKPOINT_EXECUTE; + /* - * The counter may be concurrently released but that can only - * occur from a call_rcu() path. We can then safely fetch - * the breakpoint, use its callback, touch its counter - * while we are in an rcu_read_lock() path. + * TF and data breakpoints are traps and can be merged, however + * instruction breakpoints are faults and will be raised + * separately. + * + * However DR6 can indicate both TF and instruction + * breakpoints. In that case take TF as that has precedence and + * delay the instruction breakpoint for the next exception. */ - rcu_read_lock(); + if (bpx && (dr6 & DR_STEP)) + continue; - bp = per_cpu(bp_per_reg[i], cpu); /* * Reset the 'i'th TRAP bit in dr6 to denote completion of * exception handling */ (*dr6_p) &= ~(DR_TRAP0 << i); - /* - * bp can be NULL due to lazy debug register switching - * or due to concurrent perf counter removing. - */ - if (!bp) { - rcu_read_unlock(); - break; - } perf_bp_event(bp, args->regs); @@ -582,11 +602,10 @@ * Set up resume flag to avoid breakpoint recursion when * returning back to origin. */ - if (bp->hw.info.type == X86_BREAKPOINT_EXECUTE) + if (bpx) args->regs->flags |= X86_EFLAGS_RF; - - rcu_read_unlock(); } + /* * Further processing in do_debug() is needed for a) user-space * breakpoints (to generate signals) and b) when the system has --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/irq.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/irq.c @@ -227,7 +227,7 @@ struct pt_regs *regs) { if (IS_ENABLED(CONFIG_X86_64)) - run_on_irqstack_cond(desc->handle_irq, desc, regs); + run_irq_on_irqstack_cond(desc->handle_irq, desc, regs); else __handle_irq(desc, regs); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/irq_64.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/irq_64.c @@ -74,5 +74,5 @@ void do_softirq_own_stack(void) { - run_on_irqstack_cond(__do_softirq, NULL, NULL); + run_on_irqstack_cond(__do_softirq, NULL); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/kexec-bzimage64.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/kexec-bzimage64.c @@ -209,8 +209,7 @@ params->hdr.hardware_subarch = boot_params.hdr.hardware_subarch; /* Copying screen_info will do? */ - memcpy(¶ms->screen_info, &boot_params.screen_info, - sizeof(struct screen_info)); + memcpy(¶ms->screen_info, &screen_info, sizeof(struct screen_info)); /* Fill in memsize later */ params->screen_info.ext_mem_k = 0; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/kprobes/core.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/kprobes/core.c @@ -1027,6 +1027,11 @@ * So clear it by resetting the current kprobe: */ regs->flags &= ~X86_EFLAGS_TF; + /* + * Since the single step (trap) has been cancelled, + * we need to restore BTF here. + */ + restore_btf(); /* * If the TF flag was set before the kprobe hit, --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/kprobes/opt.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/kprobes/opt.c @@ -270,6 +270,19 @@ 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) { @@ -308,9 +321,14 @@ return 0; kernel_insn_init(&insn, (void *)recovered_insn, MAX_INSN_SIZE); insn_get_length(&insn); - /* Another subsystem puts a breakpoint */ + /* + * 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 (insn.opcode.bytes[0] == INT3_INSN_OPCODE) - return 0; + return is_padding_int3(addr, paddr - offset + size) ? 1 : 0; + /* Recover address */ insn.kaddr = (void *)addr; insn.next_byte = (void *)(addr + insn.length); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/kvm.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/kvm.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include DEFINE_STATIC_KEY_FALSE(kvm_async_pf_enabled); @@ -324,7 +326,7 @@ wrmsrl(MSR_KVM_ASYNC_PF_EN, pa); __this_cpu_write(apf_reason.enabled, 1); - pr_info("KVM setup async PF for cpu %d\n", smp_processor_id()); + pr_info("setup async PF for cpu %d\n", smp_processor_id()); } if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) { @@ -350,34 +352,17 @@ wrmsrl(MSR_KVM_ASYNC_PF_EN, 0); __this_cpu_write(apf_reason.enabled, 0); - pr_info("Unregister pv shared memory for cpu %d\n", smp_processor_id()); + pr_info("disable async PF for cpu %d\n", smp_processor_id()); } -static void kvm_pv_guest_cpu_reboot(void *unused) +static void kvm_disable_steal_time(void) { - /* - * We disable PV EOI before we load a new kernel by kexec, - * since MSR_KVM_PV_EOI_EN stores a pointer into old kernel's memory. - * New kernel can re-enable when it boots. - */ - if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) - wrmsrl(MSR_KVM_PV_EOI_EN, 0); - kvm_pv_disable_apf(); - kvm_disable_steal_time(); -} + if (!has_steal_clock) + return; -static int kvm_pv_reboot_notify(struct notifier_block *nb, - unsigned long code, void *unused) -{ - if (code == SYS_RESTART) - on_each_cpu(kvm_pv_guest_cpu_reboot, NULL, 1); - return NOTIFY_DONE; + wrmsr(MSR_KVM_STEAL_TIME, 0, 0); } -static struct notifier_block kvm_pv_reboot_nb = { - .notifier_call = kvm_pv_reboot_notify, -}; - static u64 kvm_steal_clock(int cpu) { u64 steal; @@ -395,14 +380,6 @@ return steal; } -void kvm_disable_steal_time(void) -{ - if (!has_steal_clock) - return; - - wrmsr(MSR_KVM_STEAL_TIME, 0, 0); -} - static inline void __set_percpu_decrypted(void *ptr, unsigned long size) { early_set_memory_decrypted((unsigned long) ptr, size); @@ -430,6 +407,27 @@ } } +static void kvm_guest_cpu_offline(bool shutdown) +{ + kvm_disable_steal_time(); + if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) + wrmsrl(MSR_KVM_PV_EOI_EN, 0); + kvm_pv_disable_apf(); + if (!shutdown) + apf_task_wake_all(); + kvmclock_disable(); +} + +static int kvm_cpu_online(unsigned int cpu) +{ + unsigned long flags; + + local_irq_save(flags); + kvm_guest_cpu_init(); + local_irq_restore(flags); + return 0; +} + static bool pv_tlb_flush_supported(void) { return (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && @@ -571,31 +569,34 @@ kvm_spinlock_init(); } -static void kvm_guest_cpu_offline(void) +static int kvm_cpu_down_prepare(unsigned int cpu) { - kvm_disable_steal_time(); - if (kvm_para_has_feature(KVM_FEATURE_PV_EOI)) - wrmsrl(MSR_KVM_PV_EOI_EN, 0); - kvm_pv_disable_apf(); - apf_task_wake_all(); + unsigned long flags; + + local_irq_save(flags); + kvm_guest_cpu_offline(false); + local_irq_restore(flags); + return 0; } -static int kvm_cpu_online(unsigned int cpu) +#endif + +static int kvm_suspend(void) { - local_irq_disable(); - kvm_guest_cpu_init(); - local_irq_enable(); + kvm_guest_cpu_offline(false); + return 0; } -static int kvm_cpu_down_prepare(unsigned int cpu) +static void kvm_resume(void) { - local_irq_disable(); - kvm_guest_cpu_offline(); - local_irq_enable(); - return 0; + kvm_cpu_online(raw_smp_processor_id()); } -#endif + +static struct syscore_ops kvm_syscore_ops = { + .suspend = kvm_suspend, + .resume = kvm_resume, +}; static void kvm_flush_tlb_others(const struct cpumask *cpumask, const struct flush_tlb_info *info) @@ -623,6 +624,37 @@ native_flush_tlb_others(flushmask, info); } +static void kvm_pv_guest_cpu_reboot(void *unused) +{ + kvm_guest_cpu_offline(true); +} + +static int kvm_pv_reboot_notify(struct notifier_block *nb, + unsigned long code, void *unused) +{ + if (code == SYS_RESTART) + on_each_cpu(kvm_pv_guest_cpu_reboot, NULL, 1); + return NOTIFY_DONE; +} + +static struct notifier_block kvm_pv_reboot_nb = { + .notifier_call = kvm_pv_reboot_notify, +}; + +/* + * After a PV feature is registered, the host will keep writing to the + * registered memory location. If the guest happens to shutdown, this memory + * won't be valid. In cases like kexec, in which you install a new kernel, this + * means a random memory location will be kept being written. + */ +#ifdef CONFIG_KEXEC_CORE +static void kvm_crash_shutdown(struct pt_regs *regs) +{ + kvm_guest_cpu_offline(true); + native_machine_crash_shutdown(regs); +} +#endif + static void __init kvm_guest_init(void) { int i; @@ -664,6 +696,12 @@ kvm_guest_cpu_init(); #endif +#ifdef CONFIG_KEXEC_CORE + machine_ops.crash_shutdown = kvm_crash_shutdown; +#endif + + register_syscore_ops(&kvm_syscore_ops); + /* * Hard lockup detection is enabled by default. Disable it, as guests * can get false positives too easily, for example if the host is --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/kvmclock.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/kvmclock.c @@ -20,7 +20,6 @@ #include #include #include -#include #include static int kvmclock __initdata = 1; @@ -204,28 +203,9 @@ } #endif -/* - * After the clock is registered, the host will keep writing to the - * registered memory location. If the guest happens to shutdown, this memory - * won't be valid. In cases like kexec, in which you install a new kernel, this - * means a random memory location will be kept being written. So before any - * kind of shutdown from our side, we unregister the clock by writing anything - * that does not have the 'enable' bit set in the msr - */ -#ifdef CONFIG_KEXEC_CORE -static void kvm_crash_shutdown(struct pt_regs *regs) +void kvmclock_disable(void) { native_write_msr(msr_kvm_system_time, 0, 0); - kvm_disable_steal_time(); - native_machine_crash_shutdown(regs); -} -#endif - -static void kvm_shutdown(void) -{ - native_write_msr(msr_kvm_system_time, 0, 0); - kvm_disable_steal_time(); - native_machine_shutdown(); } static void __init kvmclock_init_mem(void) @@ -269,21 +249,20 @@ static int __init kvm_setup_vsyscall_timeinfo(void) { -#ifdef CONFIG_X86_64 - u8 flags; + kvmclock_init_mem(); - if (!per_cpu(hv_clock_per_cpu, 0) || !kvmclock_vsyscall) - return 0; +#ifdef CONFIG_X86_64 + if (per_cpu(hv_clock_per_cpu, 0) && kvmclock_vsyscall) { + u8 flags; - flags = pvclock_read_flags(&hv_clock_boot[0].pvti); - if (!(flags & PVCLOCK_TSC_STABLE_BIT)) - return 0; + flags = pvclock_read_flags(&hv_clock_boot[0].pvti); + if (!(flags & PVCLOCK_TSC_STABLE_BIT)) + return 0; - kvm_clock.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK; + kvm_clock.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK; + } #endif - kvmclock_init_mem(); - return 0; } early_initcall(kvm_setup_vsyscall_timeinfo); @@ -353,10 +332,6 @@ #endif x86_platform.save_sched_clock_state = kvm_save_sched_clock_state; x86_platform.restore_sched_clock_state = kvm_restore_sched_clock_state; - machine_ops.shutdown = kvm_shutdown; -#ifdef CONFIG_KEXEC_CORE - machine_ops.crash_shutdown = kvm_crash_shutdown; -#endif kvm_get_preset_lpj(); /* --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/module.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/module.c @@ -114,6 +114,7 @@ *location += sym->st_value; break; case R_386_PC32: + case R_386_PLT32: /* Add the value, subtract its position */ *location += sym->st_value - (uint32_t)location; break; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/nmi.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/nmi.c @@ -102,7 +102,6 @@ static void nmi_check_duration(struct nmiaction *action, u64 duration) { - u64 whole_msecs = READ_ONCE(action->max_duration); int remainder_ns, decimal_msecs; if (duration < nmi_longest_ns || duration < action->max_duration) @@ -110,12 +109,12 @@ action->max_duration = duration; - remainder_ns = do_div(whole_msecs, (1000 * 1000)); + remainder_ns = do_div(duration, (1000 * 1000)); decimal_msecs = remainder_ns / 1000; printk_ratelimited(KERN_INFO "INFO: NMI handler (%ps) took too long to run: %lld.%03d msecs\n", - action->handler, whole_msecs, decimal_msecs); + action->handler, duration, decimal_msecs); } static int nmi_handle(unsigned int type, struct pt_regs *regs) --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/process.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/process.c @@ -42,6 +42,7 @@ #include #include #include +#include #include "process.h" @@ -133,7 +134,7 @@ fork_frame = container_of(childregs, struct fork_frame, regs); frame = &fork_frame->frame; - frame->bp = 0; + frame->bp = encode_frame_pointer(childregs); frame->ret_addr = (unsigned long) ret_from_fork; p->thread.sp = (unsigned long) fork_frame; p->thread.io_bitmap = NULL; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/process_64.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/process_64.c @@ -314,7 +314,7 @@ */ mutex_lock(&task->mm->context.lock); ldt = task->mm->context.ldt; - if (unlikely(idx >= ldt->nr_entries)) + if (unlikely(!ldt || idx >= ldt->nr_entries)) base = 0; else base = get_desc_base(ldt->entries + idx); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/quirks.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/quirks.c @@ -8,6 +8,7 @@ #include #include +#include #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) && defined(CONFIG_PCI) @@ -624,10 +625,6 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_16H_NB_F3, amd_disable_seq_and_redirect_scrub); -#if defined(CONFIG_X86_64) && defined(CONFIG_X86_MCE) -#include -#include - /* Ivy Bridge, Haswell, Broadwell */ static void quirk_intel_brickland_xeon_ras_cap(struct pci_dev *pdev) { @@ -636,7 +633,7 @@ pci_read_config_dword(pdev, 0x84, &capid0); if (capid0 & 0x10) - static_branch_inc(&mcsafe_key); + enable_copy_mc_fragile(); } /* Skylake */ @@ -653,7 +650,7 @@ * enabled, so memory machine check recovery is also enabled. */ if ((capid0 & 0xc0) == 0xc0 || (capid5 & 0x1e0)) - static_branch_inc(&mcsafe_key); + enable_copy_mc_fragile(); } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x0ec3, quirk_intel_brickland_xeon_ras_cap); @@ -661,7 +658,6 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fc0, quirk_intel_brickland_xeon_ras_cap); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2083, quirk_intel_purley_xeon_ras_cap); #endif -#endif bool x86_apple_machine; EXPORT_SYMBOL(x86_apple_machine); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/reboot.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/reboot.c @@ -32,6 +32,7 @@ #include #include #include +#include /* * Power off function, if any @@ -477,6 +478,15 @@ }, }, + { /* PCIe Wifi card isn't detected after reboot otherwise */ + .callback = set_pci_reboot, + .ident = "Zotac ZBOX CI327 nano", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "NA"), + DMI_MATCH(DMI_PRODUCT_NAME, "ZBOX-CI327NANO-GS-01"), + }, + }, + /* Sony */ { /* Handle problems with rebooting on Sony VGN-Z540N */ .callback = set_bios_reboot, @@ -486,7 +496,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"), + }, + }, { } }; @@ -538,31 +587,21 @@ local_irq_disable(); /* - * We need to disable VMX on all CPUs before rebooting, otherwise - * we risk hanging up the machine, because the CPU ignores INIT - * signals when VMX is enabled. + * Disable VMX on all CPUs before rebooting, otherwise we risk hanging + * the machine, because the CPU blocks INIT when it's in VMX root. * - * We can't take any locks and we may be on an inconsistent - * state, so we use NMIs as IPIs to tell the other CPUs to disable - * VMX and halt. + * 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. * - * For safety, we will avoid running the nmi_shootdown_cpus() - * stuff unnecessarily, but we don't have a way to check - * if other CPUs have VMX enabled. So we will call it only if the - * CPU we are running on has VMX enabled. - * - * We will miss cases where VMX is not enabled on all CPUs. This - * shouldn't do much harm because KVM always enable VMX on all - * CPUs anyway. But we can miss it on the small window where KVM - * is still enabling VMX. + * 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. */ - if (cpu_has_vmx() && cpu_vmx_enabled()) { - /* Disable VMX on this CPU. */ - cpu_vmxoff(); + if (cpu_has_vmx()) { + /* Safely force _this_ CPU out of VMX root operation. */ + __cpu_emergency_vmxoff(); - /* Halt and disable VMX on the other CPUs */ + /* Halt and exit VMX root operation on the other CPUs. */ nmi_shootdown_cpus(vmxoff_nmi); - } } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/relocate_kernel_32.S +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/relocate_kernel_32.S @@ -8,6 +8,7 @@ #include #include #include +#include /* * Must be relocatable PIC code callable as a C function @@ -165,6 +166,7 @@ movl CP_PA_SWAP_PAGE(%edi), %esp addl $PAGE_SIZE, %esp 2: + ANNOTATE_RETPOLINE_SAFE call *%edx /* get the re-entry point of the peer system */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/setup.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/setup.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -979,6 +980,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(); /* @@ -1130,23 +1138,13 @@ /* 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(); acpi_table_upgrade(); + /* Look for ACPI tables and reserve memory occupied by them. */ + acpi_boot_table_init(); vsmp_init(); @@ -1154,11 +1152,6 @@ early_platform_quirks(); - /* - * Parse the ACPI tables for possible boot-time SMP configuration. - */ - acpi_boot_table_init(); - early_acpi_boot_init(); initmem_init(); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/setup_percpu.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/setup_percpu.c @@ -287,9 +287,9 @@ /* * Sync back kernel address range again. We already did this in * setup_arch(), but percpu data also needs to be available in - * the smpboot asm and arch_sync_kernel_mappings() doesn't sync to - * swapper_pg_dir on 32-bit. The per-cpu mappings need to be available - * there too. + * the smpboot asm. We can't reliably pick up percpu mappings + * using vmalloc_fault(), because exception dispatch needs + * percpu data. * * FIXME: Can the later sync in setup_cpu_entry_areas() replace * this call? --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/signal.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/signal.c @@ -765,30 +765,8 @@ static inline unsigned long get_nr_restart_syscall(const struct pt_regs *regs) { - /* - * This function is fundamentally broken as currently - * implemented. - * - * The idea is that we want to trigger a call to the - * restart_block() syscall and that we want in_ia32_syscall(), - * in_x32_syscall(), etc. to match whatever they were in the - * syscall being restarted. We assume that the syscall - * instruction at (regs->ip - 2) matches whatever syscall - * instruction we used to enter in the first place. - * - * The problem is that we can get here when ptrace pokes - * syscall-like values into regs even if we're not in a syscall - * at all. - * - * For now, we maintain historical behavior and guess based on - * stored state. We could do better by saving the actual - * syscall arch in restart_block or (with caveats on x32) by - * checking if regs->ip points to 'int $0x80'. The current - * behavior is incorrect if a tracer has a different bitness - * than the tracee. - */ #ifdef CONFIG_IA32_EMULATION - if (current_thread_info()->status & (TS_COMPAT|TS_I386_REGS_POKED)) + if (current_thread_info()->status & TS_COMPAT_RESTART) return __NR_ia32_restart_syscall; #endif #ifdef CONFIG_X86_X32_ABI --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/smpboot.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/smpboot.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -1603,14 +1604,28 @@ if (ret) return ret; - /* - * Disable the local APIC. Otherwise IPI broadcasts will reach - * it. It still responds normally to INIT, NMI, SMI, and SIPI - * messages. - */ - apic_soft_disable(); cpu_disable_common(); + /* + * Disable the local APIC. Otherwise IPI broadcasts will reach + * it. It still responds normally to INIT, NMI, SMI, and SIPI + * messages. + * + * Disabling the APIC must happen after cpu_disable_common() + * which invokes fixup_irqs(). + * + * Disabling the APIC preserves already set bits in IRR, but + * an interrupt arriving after disabling the local APIC does not + * set the corresponding IRR bit. + * + * fixup_irqs() scans IRR for set bits so it can raise a not + * yet handled interrupt on the new destination CPU via an IPI + * but obviously it can't do so for IRR bits which are not set. + * IOW, interrupts arriving after disabling the local APIC will + * be lost. + */ + apic_soft_disable(); + return 0; } @@ -1650,13 +1665,17 @@ local_irq_disable(); } -static bool wakeup_cpu0(void) +/** + * cond_wakeup_cpu0 - Wake up CPU0 if needed. + * + * If NMI wants to wake up CPU0, start CPU0. + */ +void cond_wakeup_cpu0(void) { if (smp_processor_id() == 0 && enable_start_cpu0) - return true; - - return false; + start_cpu0(); } +EXPORT_SYMBOL_GPL(cond_wakeup_cpu0); /* * We need to flush the caches before going to sleep, lest we have @@ -1725,11 +1744,8 @@ __monitor(mwait_ptr, 0, 0); mb(); __mwait(eax, 0); - /* - * If NMI wants to wake up CPU0, start CPU0. - */ - if (wakeup_cpu0()) - start_cpu0(); + + cond_wakeup_cpu0(); } } @@ -1740,11 +1756,8 @@ while (1) { native_halt(); - /* - * If NMI wants to wake up CPU0, start CPU0. - */ - if (wakeup_cpu0()) - start_cpu0(); + + cond_wakeup_cpu0(); } } @@ -1777,6 +1790,7 @@ #endif +#ifdef CONFIG_X86_64 /* * APERF/MPERF frequency ratio computation. * @@ -1823,6 +1837,7 @@ arch_max_freq_ratio = turbo_disabled ? SCHED_CAPACITY_SCALE : arch_turbo_freq_ratio; } +EXPORT_SYMBOL_GPL(arch_set_max_freq_ratio); static bool turbo_disabled(void) { @@ -1975,6 +1990,7 @@ static bool intel_set_max_freq_ratio(void) { u64 base_freq, turbo_freq; + u64 turbo_ratio; if (slv_set_max_freq_ratio(&base_freq, &turbo_freq)) goto out; @@ -2000,15 +2016,23 @@ /* * Some hypervisors advertise X86_FEATURE_APERFMPERF * but then fill all MSR's with zeroes. + * Some CPUs have turbo boost but don't declare any turbo ratio + * in MSR_TURBO_RATIO_LIMIT. */ - if (!base_freq) { - pr_debug("Couldn't determine cpu base frequency, necessary for scale-invariant accounting.\n"); + if (!base_freq || !turbo_freq) { + pr_debug("Couldn't determine cpu base or turbo frequency, necessary for scale-invariant accounting.\n"); + return false; + } + + turbo_ratio = div_u64(turbo_freq * SCHED_CAPACITY_SCALE, base_freq); + if (!turbo_ratio) { + pr_debug("Non-zero turbo and base frequencies led to a 0 ratio.\n"); return false; } - arch_turbo_freq_ratio = div_u64(turbo_freq * SCHED_CAPACITY_SCALE, - base_freq); + arch_turbo_freq_ratio = turbo_ratio; arch_set_max_freq_ratio(turbo_disabled()); + return true; } @@ -2048,11 +2072,19 @@ } } +static void disable_freq_invariance_workfn(struct work_struct *work) +{ + static_branch_disable(&arch_scale_freq_key); +} + +static DECLARE_WORK(disable_freq_invariance_work, + disable_freq_invariance_workfn); + DEFINE_PER_CPU(unsigned long, arch_freq_scale) = SCHED_CAPACITY_SCALE; void arch_scale_freq_tick(void) { - u64 freq_scale; + u64 freq_scale = SCHED_CAPACITY_SCALE; u64 aperf, mperf; u64 acnt, mcnt; @@ -2064,19 +2096,32 @@ acnt = aperf - this_cpu_read(arch_prev_aperf); mcnt = mperf - this_cpu_read(arch_prev_mperf); - if (!mcnt) - return; this_cpu_write(arch_prev_aperf, aperf); this_cpu_write(arch_prev_mperf, mperf); - acnt <<= 2*SCHED_CAPACITY_SHIFT; - mcnt *= arch_max_freq_ratio; + if (check_shl_overflow(acnt, 2*SCHED_CAPACITY_SHIFT, &acnt)) + goto error; + + if (check_mul_overflow(mcnt, arch_max_freq_ratio, &mcnt) || !mcnt) + goto error; freq_scale = div64_u64(acnt, mcnt); + if (!freq_scale) + goto error; if (freq_scale > SCHED_CAPACITY_SCALE) freq_scale = SCHED_CAPACITY_SCALE; this_cpu_write(arch_freq_scale, freq_scale); + return; + +error: + pr_warn("Scheduler frequency invariance went wobbly, disabling!\n"); + schedule_work(&disable_freq_invariance_work); +} +#else +static inline void init_freq_invariance(bool secondary) +{ } +#endif /* CONFIG_X86_64 */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/tboot.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/tboot.c @@ -514,16 +514,10 @@ if (!tboot_enabled()) return 0; - if (intel_iommu_tboot_noforce) - return 1; - - if (no_iommu || swiotlb || dmar_disabled) + if (no_iommu || dmar_disabled) pr_warn("Forcing Intel-IOMMU to enabled\n"); dmar_disabled = 0; -#ifdef CONFIG_SWIOTLB - swiotlb = 0; -#endif no_iommu = 0; return 1; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/traps.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/traps.c @@ -196,7 +196,7 @@ DEFINE_IDTENTRY(exc_divide_error) { - do_error_trap(regs, 0, "divide_error", X86_TRAP_DE, SIGFPE, + do_error_trap(regs, 0, "divide error", X86_TRAP_DE, SIGFPE, FPE_INTDIV, error_get_trap_addr(regs)); } @@ -299,11 +299,12 @@ local_irq_enable(); if (handle_user_split_lock(regs, error_code)) - return; + goto out; do_trap(X86_TRAP_AC, SIGBUS, "alignment check", regs, error_code, BUS_ADRALN, NULL); +out: local_irq_disable(); } @@ -733,20 +734,9 @@ #endif } -static __always_inline void debug_enter(unsigned long *dr6, unsigned long *dr7) +static __always_inline unsigned long debug_read_clear_dr6(void) { - /* - * Disable breakpoints during exception handling; recursive exceptions - * are exceedingly 'fun'. - * - * Since this function is NOKPROBE, and that also applies to - * HW_BREAKPOINT_X, we can't hit a breakpoint before this (XXX except a - * HW_BREAKPOINT_W on our stack) - * - * Entry text is excluded for HW_BP_X and cpu_entry_area, which - * includes the entry stack is excluded for everything. - */ - *dr7 = local_db_save(); + unsigned long dr6; /* * The Intel SDM says: @@ -759,15 +749,12 @@ * * Keep it simple: clear DR6 immediately. */ - get_debugreg(*dr6, 6); + get_debugreg(dr6, 6); set_debugreg(0, 6); /* Filter out all the reserved bits which are preset to 1 */ - *dr6 &= ~DR6_RESERVED; -} + dr6 &= ~DR6_RESERVED; -static __always_inline void debug_exit(unsigned long dr7) -{ - local_db_restore(dr7); + return dr6; } /* @@ -867,6 +854,19 @@ static __always_inline void exc_debug_kernel(struct pt_regs *regs, unsigned long dr6) { + /* + * Disable breakpoints during exception handling; recursive exceptions + * are exceedingly 'fun'. + * + * Since this function is NOKPROBE, and that also applies to + * HW_BREAKPOINT_X, we can't hit a breakpoint before this (XXX except a + * HW_BREAKPOINT_W on our stack) + * + * Entry text is excluded for HW_BP_X and cpu_entry_area, which + * includes the entry stack is excluded for everything. + */ + unsigned long dr7 = local_db_save(); + nmi_enter(); instrumentation_begin(); trace_hardirqs_off_finish(); @@ -890,6 +890,8 @@ trace_hardirqs_on_prepare(); instrumentation_end(); nmi_exit(); + + local_db_restore(dr7); } static __always_inline void exc_debug_user(struct pt_regs *regs, @@ -901,6 +903,15 @@ */ WARN_ON_ONCE(!user_mode(regs)); + /* + * NB: We can't easily clear DR7 here because + * idtentry_exit_to_usermode() can invoke ptrace, schedule, access + * user memory, etc. This means that a recursive #DB is possible. If + * this happens, that #DB will hit exc_debug_kernel() and clear DR7. + * Since we're not on the IST stack right now, everything will be + * fine. + */ + idtentry_enter_user(regs); instrumentation_begin(); @@ -913,36 +924,24 @@ /* IST stack entry */ DEFINE_IDTENTRY_DEBUG(exc_debug) { - unsigned long dr6, dr7; - - debug_enter(&dr6, &dr7); - exc_debug_kernel(regs, dr6); - debug_exit(dr7); + exc_debug_kernel(regs, debug_read_clear_dr6()); } /* User entry, runs on regular task stack */ DEFINE_IDTENTRY_DEBUG_USER(exc_debug) { - unsigned long dr6, dr7; - - debug_enter(&dr6, &dr7); - exc_debug_user(regs, dr6); - debug_exit(dr7); + exc_debug_user(regs, debug_read_clear_dr6()); } #else /* 32 bit does not have separate entry points. */ DEFINE_IDTENTRY_RAW(exc_debug) { - unsigned long dr6, dr7; - - debug_enter(&dr6, &dr7); + unsigned long dr6 = debug_read_clear_dr6(); if (user_mode(regs)) exc_debug_user(regs, dr6); else exc_debug_kernel(regs, dr6); - - debug_exit(dr7); } #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/tsc_msr.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/tsc_msr.c @@ -133,10 +133,15 @@ .mask = 0x0f, }; -/* 24 MHz crystal? : 24 * 13 / 4 = 78 MHz */ +/* + * 24 MHz crystal? : 24 * 13 / 4 = 78 MHz + * Frequency step for Lightning Mountain SoC is fixed to 78 MHz, + * so all the frequency entries are 78000. + */ static const struct freq_desc freq_desc_lgm = { .use_msr_plat = true, - .freqs = { 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000 }, + .freqs = { 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000, + 78000, 78000, 78000, 78000, 78000, 78000, 78000, 78000 }, .mask = 0x0f, }; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/unwind_orc.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/unwind_orc.c @@ -320,19 +320,12 @@ unsigned long *unwind_get_return_address_ptr(struct unwind_state *state) { - struct task_struct *task = state->task; - if (unwind_done(state)) return NULL; if (state->regs) return &state->regs->ip; - if (task != current && state->sp == task->thread.sp) { - struct inactive_task_frame *frame = (void *)task->thread.sp; - return &frame->ret_addr; - } - if (state->sp) return (unsigned long *)state->sp - 1; @@ -373,8 +366,8 @@ if (!stack_access_ok(state, addr, sizeof(struct pt_regs))) return false; - *ip = regs->ip; - *sp = regs->sp; + *ip = READ_ONCE_NOCHECK(regs->ip); + *sp = READ_ONCE_NOCHECK(regs->sp); return true; } @@ -386,8 +379,8 @@ if (!stack_access_ok(state, addr, IRET_FRAME_SIZE)) return false; - *ip = regs->ip; - *sp = regs->sp; + *ip = READ_ONCE_NOCHECK(regs->ip); + *sp = READ_ONCE_NOCHECK(regs->sp); return true; } @@ -408,12 +401,12 @@ return false; if (state->full_regs) { - *val = ((unsigned long *)state->regs)[reg]; + *val = READ_ONCE_NOCHECK(((unsigned long *)state->regs)[reg]); return true; } if (state->prev_regs) { - *val = ((unsigned long *)state->prev_regs)[reg]; + *val = READ_ONCE_NOCHECK(((unsigned long *)state->prev_regs)[reg]); return true; } @@ -662,7 +655,7 @@ } else { struct inactive_task_frame *frame = (void *)task->thread.sp; - state->sp = task->thread.sp; + state->sp = task->thread.sp + sizeof(*frame); state->bp = READ_ONCE_NOCHECK(frame->bp); state->ip = READ_ONCE_NOCHECK(frame->ret_addr); state->signal = (void *)state->ip == ret_from_fork; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kernel/uprobes.c +++ linux-riscv-5.8-5.8.0/arch/x86/kernel/uprobes.c @@ -255,12 +255,13 @@ static bool is_prefix_bad(struct insn *insn) { + insn_byte_t p; int i; - for (i = 0; i < insn->prefixes.nbytes; i++) { + for_each_insn_prefix(insn, i, p) { insn_attr_t attr; - attr = inat_get_opcode_attribute(insn->prefixes.bytes[i]); + attr = inat_get_opcode_attribute(p); switch (attr) { case INAT_MAKE_PREFIX(INAT_PFX_ES): case INAT_MAKE_PREFIX(INAT_PFX_CS): @@ -715,6 +716,7 @@ static int branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn) { u8 opc1 = OPCODE1(insn); + insn_byte_t p; int i; switch (opc1) { @@ -746,8 +748,8 @@ * Intel and AMD behavior differ in 64-bit mode: Intel ignores 66 prefix. * No one uses these insns, reject any branch insns with such prefix. */ - for (i = 0; i < insn->prefixes.nbytes; i++) { - if (insn->prefixes.bytes[i] == 0x66) + for_each_insn_prefix(insn, i, p) { + if (p == 0x66) return -ENOTSUPP; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/cpuid.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/cpuid.c @@ -244,7 +244,7 @@ if (cpuid->nent < vcpu->arch.cpuid_nent) goto out; r = -EFAULT; - if (copy_to_user(entries, &vcpu->arch.cpuid_entries, + if (copy_to_user(entries, vcpu->arch.cpuid_entries, vcpu->arch.cpuid_nent * sizeof(struct kvm_cpuid_entry2))) goto out; return 0; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/cpuid.h +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/cpuid.h @@ -257,6 +257,20 @@ return x86_stepping(best->eax); } +static inline bool guest_has_spec_ctrl_msr(struct kvm_vcpu *vcpu) +{ + return (guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) || + guest_cpuid_has(vcpu, X86_FEATURE_AMD_STIBP) || + guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBRS) || + guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD)); +} + +static inline bool guest_has_pred_cmd_msr(struct kvm_vcpu *vcpu) +{ + return (guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) || + guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBPB)); +} + static inline bool supports_cpuid_fault(struct kvm_vcpu *vcpu) { return vcpu->arch.msr_platform_info & MSR_PLATFORM_INFO_CPUID_FAULT; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/emulate.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/emulate.c @@ -2559,9 +2559,9 @@ ctxt->_eip = GET_SMSTATE(u64, smstate, 0x7f78); ctxt->eflags = GET_SMSTATE(u32, smstate, 0x7f70) | X86_EFLAGS_FIXED; - val = GET_SMSTATE(u32, smstate, 0x7f68); + val = GET_SMSTATE(u64, smstate, 0x7f68); ctxt->ops->set_dr(ctxt, 6, (val & DR6_VOLATILE) | DR6_FIXED_1); - val = GET_SMSTATE(u32, smstate, 0x7f60); + val = GET_SMSTATE(u64, smstate, 0x7f60); ctxt->ops->set_dr(ctxt, 7, (val & DR7_VOLATILE) | DR7_FIXED_1); cr0 = GET_SMSTATE(u64, smstate, 0x7f58); @@ -2867,6 +2867,8 @@ ops->get_msr(ctxt, MSR_IA32_SYSENTER_ESP, &msr_data); *reg_write(ctxt, VCPU_REGS_RSP) = (efer & EFER_LMA) ? msr_data : (u32)msr_data; + if (efer & EFER_LMA) + ctxt->mode = X86EMUL_MODE_PROT64; return X86EMUL_CONTINUE; } @@ -3594,7 +3596,7 @@ u64 tsc_aux = 0; if (ctxt->ops->get_msr(ctxt, MSR_TSC_AUX, &tsc_aux)) - return emulate_gp(ctxt, 0); + return emulate_ud(ctxt); ctxt->dst.val = tsc_aux; return X86EMUL_CONTINUE; } @@ -4020,6 +4022,12 @@ return X86EMUL_CONTINUE; } +static int em_clflushopt(struct x86_emulate_ctxt *ctxt) +{ + /* emulating clflushopt regardless of cpuid */ + return X86EMUL_CONTINUE; +} + static int em_movsxd(struct x86_emulate_ctxt *ctxt) { ctxt->dst.val = (s32) ctxt->src.val; @@ -4559,7 +4567,7 @@ }; static const struct gprefix pfx_0f_ae_7 = { - I(SrcMem | ByteOp, em_clflush), N, N, N, + I(SrcMem | ByteOp, em_clflush), I(SrcMem | ByteOp, em_clflushopt), N, N, }; static const struct group_dual group15 = { { --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/ioapic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/ioapic.c @@ -197,12 +197,9 @@ /* * If no longer has pending EOI in LAPICs, update - * EOI for this vetor. + * EOI for this vector. */ rtc_irq_eoi(ioapic, vcpu, entry->fields.vector); - kvm_ioapic_update_eoi_one(vcpu, ioapic, - entry->fields.trig_mode, - irq); break; } } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/irq.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/irq.c @@ -40,29 +40,10 @@ * check if there is pending interrupt from * non-APIC source without intack. */ -static int kvm_cpu_has_extint(struct kvm_vcpu *v) -{ - u8 accept = kvm_apic_accept_pic_intr(v); - - if (accept) { - if (irqchip_split(v->kvm)) - return pending_userspace_extint(v); - else - return v->kvm->arch.vpic->output; - } else - return 0; -} - -/* - * check if there is injectable interrupt: - * when virtual interrupt delivery enabled, - * interrupt from apic will handled by hardware, - * we don't need to check it here. - */ -int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v) +int kvm_cpu_has_extint(struct kvm_vcpu *v) { /* - * FIXME: interrupt.injected represents an interrupt that it's + * FIXME: interrupt.injected represents an interrupt whose * side-effects have already been applied (e.g. bit from IRR * already moved to ISR). Therefore, it is incorrect to rely * on interrupt.injected to know if there is a pending @@ -75,6 +56,23 @@ if (!lapic_in_kernel(v)) return v->arch.interrupt.injected; + if (!kvm_apic_accept_pic_intr(v)) + return 0; + + if (irqchip_split(v->kvm)) + return pending_userspace_extint(v); + else + return v->kvm->arch.vpic->output; +} + +/* + * check if there is injectable interrupt: + * when virtual interrupt delivery enabled, + * interrupt from apic will handled by hardware, + * we don't need to check it here. + */ +int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v) +{ if (kvm_cpu_has_extint(v)) return 1; @@ -91,20 +89,6 @@ */ int kvm_cpu_has_interrupt(struct kvm_vcpu *v) { - /* - * FIXME: interrupt.injected represents an interrupt that it's - * side-effects have already been applied (e.g. bit from IRR - * already moved to ISR). Therefore, it is incorrect to rely - * on interrupt.injected to know if there is a pending - * interrupt in the user-mode LAPIC. - * This leads to nVMX/nSVM not be able to distinguish - * if it should exit from L2 to L1 on EXTERNAL_INTERRUPT on - * pending interrupt or should re-inject an injected - * interrupt. - */ - if (!lapic_in_kernel(v)) - return v->arch.interrupt.injected; - if (kvm_cpu_has_extint(v)) return 1; @@ -118,16 +102,21 @@ */ static int kvm_cpu_get_extint(struct kvm_vcpu *v) { - if (kvm_cpu_has_extint(v)) { - if (irqchip_split(v->kvm)) { - int vector = v->arch.pending_external_vector; - - v->arch.pending_external_vector = -1; - return vector; - } else - return kvm_pic_read_irq(v->kvm); /* PIC */ - } else + if (!kvm_cpu_has_extint(v)) { + WARN_ON(!lapic_in_kernel(v)); return -1; + } + + if (!lapic_in_kernel(v)) + return v->arch.interrupt.nr; + + if (irqchip_split(v->kvm)) { + int vector = v->arch.pending_external_vector; + + v->arch.pending_external_vector = -1; + return vector; + } else + return kvm_pic_read_irq(v->kvm); /* PIC */ } /* @@ -135,13 +124,7 @@ */ int kvm_cpu_get_interrupt(struct kvm_vcpu *v) { - int vector; - - if (!lapic_in_kernel(v)) - return v->arch.interrupt.nr; - - vector = kvm_cpu_get_extint(v); - + int vector = kvm_cpu_get_extint(v); if (vector != -1) return vector; /* PIC */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/kvm_cache_regs.h +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/kvm_cache_regs.h @@ -7,7 +7,7 @@ #define KVM_POSSIBLE_CR0_GUEST_BITS X86_CR0_TS #define KVM_POSSIBLE_CR4_GUEST_BITS \ (X86_CR4_PVI | X86_CR4_DE | X86_CR4_PCE | X86_CR4_OSFXSR \ - | X86_CR4_OSXMMEXCPT | X86_CR4_LA57 | X86_CR4_PGE | X86_CR4_TSD) + | X86_CR4_OSXMMEXCPT | X86_CR4_PGE | X86_CR4_TSD) #define BUILD_KVM_GPR_ACCESSORS(lname, uname) \ static __always_inline unsigned long kvm_##lname##_read(struct kvm_vcpu *vcpu)\ --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/lapic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/lapic.c @@ -490,6 +490,12 @@ } } +void kvm_apic_clear_irr(struct kvm_vcpu *vcpu, int vec) +{ + apic_clear_irr(vec, vcpu->arch.apic); +} +EXPORT_SYMBOL_GPL(kvm_apic_clear_irr); + static inline void apic_set_isr(int vec, struct kvm_lapic *apic) { struct kvm_vcpu *vcpu; @@ -2456,12 +2462,13 @@ struct kvm_lapic *apic = vcpu->arch.apic; u32 ppr; - if (!kvm_apic_hw_enabled(apic)) + if (!kvm_apic_present(vcpu)) return -1; __apic_update_ppr(apic, &ppr); return apic_has_interrupt_for_ppr(apic, ppr); } +EXPORT_SYMBOL_GPL(kvm_apic_has_interrupt); int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu) { --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/lapic.h +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/lapic.h @@ -89,6 +89,7 @@ bool kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source, int shorthand, unsigned int dest, int dest_mode); int kvm_apic_compare_prio(struct kvm_vcpu *vcpu1, struct kvm_vcpu *vcpu2); +void kvm_apic_clear_irr(struct kvm_vcpu *vcpu, int vec); bool __kvm_apic_update_irr(u32 *pir, void *regs, int *max_irr); bool kvm_apic_update_irr(struct kvm_vcpu *vcpu, u32 *pir, int *max_irr); void kvm_apic_update_ppr(struct kvm_vcpu *vcpu); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/mmu.h +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/mmu.h @@ -48,7 +48,7 @@ if (e < s) return 0; - return ((1ULL << (e - s + 1)) - 1) << s; + return ((2ULL << (e - s)) - 1) << s; } void kvm_mmu_set_mmio_spte_mask(u64 mmio_value, u64 access_mask); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/mmu/mmu.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/mmu/mmu.c @@ -400,11 +400,11 @@ } /* - * Due to limited space in PTEs, the MMIO generation is a 19 bit subset of + * Due to limited space in PTEs, the MMIO generation is a 18 bit subset of * the memslots generation and is derived as follows: * * Bits 0-8 of the MMIO generation are propagated to spte bits 3-11 - * Bits 9-18 of the MMIO generation are propagated to spte bits 52-61 + * Bits 9-17 of the MMIO generation are propagated to spte bits 54-62 * * The KVM_MEMSLOT_GEN_UPDATE_IN_PROGRESS flag is intentionally not included in * the MMIO generation number, as doing so would require stealing a bit from @@ -413,18 +413,29 @@ * requires a full MMU zap). The flag is instead explicitly queried when * checking for MMIO spte cache hits. */ -#define MMIO_SPTE_GEN_MASK GENMASK_ULL(17, 0) #define MMIO_SPTE_GEN_LOW_START 3 #define MMIO_SPTE_GEN_LOW_END 11 -#define MMIO_SPTE_GEN_LOW_MASK GENMASK_ULL(MMIO_SPTE_GEN_LOW_END, \ - MMIO_SPTE_GEN_LOW_START) #define MMIO_SPTE_GEN_HIGH_START PT64_SECOND_AVAIL_BITS_SHIFT #define MMIO_SPTE_GEN_HIGH_END 62 + +#define MMIO_SPTE_GEN_LOW_MASK GENMASK_ULL(MMIO_SPTE_GEN_LOW_END, \ + MMIO_SPTE_GEN_LOW_START) #define MMIO_SPTE_GEN_HIGH_MASK GENMASK_ULL(MMIO_SPTE_GEN_HIGH_END, \ MMIO_SPTE_GEN_HIGH_START) +#define MMIO_SPTE_GEN_LOW_BITS (MMIO_SPTE_GEN_LOW_END - MMIO_SPTE_GEN_LOW_START + 1) +#define MMIO_SPTE_GEN_HIGH_BITS (MMIO_SPTE_GEN_HIGH_END - MMIO_SPTE_GEN_HIGH_START + 1) + +/* remember to adjust the comment above as well if you change these */ +static_assert(MMIO_SPTE_GEN_LOW_BITS == 9 && MMIO_SPTE_GEN_HIGH_BITS == 9); + +#define MMIO_SPTE_GEN_LOW_SHIFT (MMIO_SPTE_GEN_LOW_START - 0) +#define MMIO_SPTE_GEN_HIGH_SHIFT (MMIO_SPTE_GEN_HIGH_START - MMIO_SPTE_GEN_LOW_BITS) + +#define MMIO_SPTE_GEN_MASK GENMASK_ULL(MMIO_SPTE_GEN_LOW_BITS + MMIO_SPTE_GEN_HIGH_BITS - 1, 0) + static u64 generation_mmio_spte_mask(u64 gen) { u64 mask; @@ -432,8 +443,8 @@ WARN_ON(gen & ~MMIO_SPTE_GEN_MASK); BUILD_BUG_ON((MMIO_SPTE_GEN_HIGH_MASK | MMIO_SPTE_GEN_LOW_MASK) & SPTE_SPECIAL_MASK); - mask = (gen << MMIO_SPTE_GEN_LOW_START) & MMIO_SPTE_GEN_LOW_MASK; - mask |= (gen << MMIO_SPTE_GEN_HIGH_START) & MMIO_SPTE_GEN_HIGH_MASK; + mask = (gen << MMIO_SPTE_GEN_LOW_SHIFT) & MMIO_SPTE_GEN_LOW_MASK; + mask |= (gen << MMIO_SPTE_GEN_HIGH_SHIFT) & MMIO_SPTE_GEN_HIGH_MASK; return mask; } @@ -441,8 +452,8 @@ { u64 gen; - gen = (spte & MMIO_SPTE_GEN_LOW_MASK) >> MMIO_SPTE_GEN_LOW_START; - gen |= (spte & MMIO_SPTE_GEN_HIGH_MASK) >> MMIO_SPTE_GEN_HIGH_START; + gen = (spte & MMIO_SPTE_GEN_LOW_MASK) >> MMIO_SPTE_GEN_LOW_SHIFT; + gen |= (spte & MMIO_SPTE_GEN_HIGH_MASK) >> MMIO_SPTE_GEN_HIGH_SHIFT; return gen; } @@ -1971,7 +1982,8 @@ return kvm_handle_hva_range(kvm, hva, hva + 1, data, handler); } -int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end) +int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end, + unsigned flags) { return kvm_handle_hva_range(kvm, start, end, 0, kvm_unmap_rmapp); } @@ -2520,7 +2532,7 @@ } if (sp->unsync_children) - kvm_make_request(KVM_REQ_TLB_FLUSH_CURRENT, vcpu); + kvm_make_request(KVM_REQ_MMU_SYNC, vcpu); __clear_sp_write_flooding_count(sp); trace_kvm_mmu_get_page(sp, false); @@ -6340,6 +6352,7 @@ cond_resched_lock(&kvm->mmu_lock); } } + kvm_mmu_commit_zap_page(kvm, &invalid_list); spin_unlock(&kvm->mmu_lock); srcu_read_unlock(&kvm->srcu, rcu_idx); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/svm/avic.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/svm/avic.c @@ -868,6 +868,7 @@ * - Tell IOMMU to use legacy mode for this interrupt. * - Retrieve ga_tag of prior interrupt remapping data. */ + pi.prev_ga_tag = 0; pi.is_guest_mode = false; ret = irq_set_vcpu_affinity(host_irq, &pi); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/svm/nested.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/svm/nested.c @@ -65,7 +65,7 @@ u64 pdpte; int ret; - ret = kvm_vcpu_read_guest_page(vcpu, gpa_to_gfn(__sme_clr(cr3)), &pdpte, + ret = kvm_vcpu_read_guest_page(vcpu, gpa_to_gfn(cr3), &pdpte, offset_in_page(cr3) + index * 8, 8); if (ret) return 0; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/svm/sev.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/svm/sev.c @@ -318,6 +318,8 @@ struct page **pages; unsigned long first, last; + lockdep_assert_held(&kvm->lock); + if (ulen == 0 || uaddr + ulen < uaddr) return NULL; @@ -986,12 +988,20 @@ if (!region) return -ENOMEM; + mutex_lock(&kvm->lock); region->pages = sev_pin_memory(kvm, range->addr, range->size, ®ion->npages, 1); if (!region->pages) { ret = -ENOMEM; + mutex_unlock(&kvm->lock); goto e_free; } + region->uaddr = range->addr; + region->size = range->size; + + list_add_tail(®ion->list, &sev->regions_list); + mutex_unlock(&kvm->lock); + /* * The guest may change the memory encryption attribute from C=0 -> C=1 * or vice versa for this memory range. Lets make sure caches are @@ -1000,13 +1010,6 @@ */ sev_clflush_pages(region->pages, region->npages); - region->uaddr = range->addr; - region->size = range->size; - - mutex_lock(&kvm->lock); - list_add_tail(®ion->list, &sev->regions_list); - mutex_unlock(&kvm->lock); - return ret; e_free: @@ -1111,9 +1114,6 @@ int __init sev_hardware_setup(void) { - struct sev_user_data_status *status; - int rc; - /* Maximum number of encrypted guests supported simultaneously */ max_sev_asid = cpuid_ecx(0x8000001F); @@ -1132,26 +1132,9 @@ if (!sev_reclaim_asid_bitmap) return 1; - status = kmalloc(sizeof(*status), GFP_KERNEL); - if (!status) - return 1; - - /* - * Check SEV platform status. - * - * PLATFORM_STATUS can be called in any state, if we failed to query - * the PLATFORM status then either PSP firmware does not support SEV - * feature or SEV firmware is dead. - */ - rc = sev_platform_status(status, NULL); - if (rc) - goto err; - pr_info("SEV supported\n"); -err: - kfree(status); - return rc; + return 0; } void sev_hardware_teardown(void) --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/svm/svm.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/svm/svm.c @@ -418,6 +418,11 @@ return 0; } + if (sev_active()) { + pr_info("KVM is unsupported when running as an SEV guest\n"); + return 0; + } + return 1; } @@ -1058,6 +1063,7 @@ init_sys_seg(&save->ldtr, SEG_TYPE_LDT); init_sys_seg(&save->tr, SEG_TYPE_BUSY_TSS16); + svm_set_cr4(&svm->vcpu, 0); svm_set_efer(&svm->vcpu, 0); save->dr6 = 0xffff0ff0; kvm_set_rflags(&svm->vcpu, 2); @@ -2169,6 +2175,12 @@ return 1; } +static int invd_interception(struct vcpu_svm *svm) +{ + /* Treat an INVD instruction as a NOP and just skip it. */ + return kvm_skip_emulated_instruction(&svm->vcpu); +} + static int invlpg_interception(struct vcpu_svm *svm) { if (!static_cpu_has(X86_FEATURE_DECODEASSISTS)) @@ -2429,10 +2441,7 @@ break; case MSR_IA32_SPEC_CTRL: if (!msr_info->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_STIBP) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBRS) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD)) + !guest_has_spec_ctrl_msr(vcpu)) return 1; msr_info->data = svm->spec_ctrl; @@ -2516,13 +2525,10 @@ break; case MSR_IA32_SPEC_CTRL: if (!msr->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_STIBP) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBRS) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD)) + !guest_has_spec_ctrl_msr(vcpu)) return 1; - if (data & ~kvm_spec_ctrl_valid_bits(vcpu)) + if (kvm_spec_ctrl_test_value(data)) return 1; svm->spec_ctrl = data; @@ -2544,12 +2550,12 @@ break; case MSR_IA32_PRED_CMD: if (!msr->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBPB)) + !guest_has_pred_cmd_msr(vcpu)) return 1; if (data & ~PRED_CMD_IBPB) return 1; - if (!boot_cpu_has(X86_FEATURE_AMD_IBPB)) + if (!boot_cpu_has(X86_FEATURE_IBPB)) return 1; if (!data) break; @@ -2758,7 +2764,7 @@ [SVM_EXIT_RDPMC] = rdpmc_interception, [SVM_EXIT_CPUID] = cpuid_interception, [SVM_EXIT_IRET] = iret_interception, - [SVM_EXIT_INVD] = emulate_on_interception, + [SVM_EXIT_INVD] = invd_interception, [SVM_EXIT_PAUSE] = pause_interception, [SVM_EXIT_HLT] = halt_interception, [SVM_EXIT_INVLPG] = invlpg_interception, --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/vmx/nested.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/vmx/nested.c @@ -2402,6 +2402,8 @@ vmcs_writel(GUEST_TR_BASE, vmcs12->guest_tr_base); vmcs_writel(GUEST_GDTR_BASE, vmcs12->guest_gdtr_base); vmcs_writel(GUEST_IDTR_BASE, vmcs12->guest_idtr_base); + + vmx->segment_cache.bitmask = 0; } if (!hv_evmcs || !(hv_evmcs->hv_clean_fields & @@ -3295,8 +3297,10 @@ prepare_vmcs02_early(vmx, vmcs12); if (from_vmentry) { - if (unlikely(!nested_get_vmcs12_pages(vcpu))) + if (unlikely(!nested_get_vmcs12_pages(vcpu))) { + vmx_switch_vmcs(vcpu, &vmx->vmcs01); return NVMX_VMENTRY_KVM_INTERNAL_ERROR; + } if (nested_vmx_check_vmentry_hw(vcpu)) { vmx_switch_vmcs(vcpu, &vmx->vmcs01); @@ -3480,6 +3484,14 @@ if (unlikely(status != NVMX_VMENTRY_SUCCESS)) goto vmentry_failed; + /* Emulate processing of posted interrupts on VM-Enter. */ + if (nested_cpu_has_posted_intr(vmcs12) && + kvm_apic_has_interrupt(vcpu) == vmx->nested.posted_intr_nv) { + vmx->nested.pi_pending = true; + kvm_make_request(KVM_REQ_EVENT, vcpu); + kvm_apic_clear_irr(vcpu, vmx->nested.posted_intr_nv); + } + /* Hide L1D cache contents from the nested guest. */ vmx->vcpu.arch.l1tf_flush_l1d = true; @@ -4620,7 +4632,7 @@ vmx->nested.msrs.entry_ctls_high &= ~VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL; vmx->nested.msrs.exit_ctls_high &= - ~VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL; + ~VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL; } } @@ -5992,11 +6004,14 @@ if (is_guest_mode(vcpu)) { sync_vmcs02_to_vmcs12(vcpu, vmcs12); sync_vmcs02_to_vmcs12_rare(vcpu, vmcs12); - } else if (!vmx->nested.need_vmcs12_to_shadow_sync) { - if (vmx->nested.hv_evmcs) - copy_enlightened_to_vmcs12(vmx); - else if (enable_shadow_vmcs) - copy_shadow_to_vmcs12(vmx); + } else { + copy_vmcs02_to_vmcs12_rare(vcpu, get_vmcs12(vcpu)); + if (!vmx->nested.need_vmcs12_to_shadow_sync) { + if (vmx->nested.hv_evmcs) + copy_enlightened_to_vmcs12(vmx); + else if (enable_shadow_vmcs) + copy_shadow_to_vmcs12(vmx); + } } BUILD_BUG_ON(sizeof(user_vmx_nested_state->vmcs12) < VMCS12_SIZE); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/vmx/pmu_intel.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/vmx/pmu_intel.c @@ -29,7 +29,7 @@ [4] = { 0x2e, 0x41, PERF_COUNT_HW_CACHE_MISSES }, [5] = { 0xc4, 0x00, PERF_COUNT_HW_BRANCH_INSTRUCTIONS }, [6] = { 0xc5, 0x00, PERF_COUNT_HW_BRANCH_MISSES }, - [7] = { 0x00, 0x30, PERF_COUNT_HW_REF_CPU_CYCLES }, + [7] = { 0x00, 0x03, PERF_COUNT_HW_REF_CPU_CYCLES }, }; /* mapping between fixed pmc index and intel_arch_events array */ @@ -362,7 +362,9 @@ pmu->nr_arch_gp_counters = min_t(int, eax.split.num_counters, x86_pmu.num_counters_gp); + eax.split.bit_width = min_t(int, eax.split.bit_width, x86_pmu.bit_width_gp); pmu->counter_bitmask[KVM_PMC_GP] = ((u64)1 << eax.split.bit_width) - 1; + eax.split.mask_length = min_t(int, eax.split.mask_length, x86_pmu.events_mask_len); pmu->available_event_types = ~entry->ebx & ((1ull << eax.split.mask_length) - 1); @@ -372,6 +374,8 @@ pmu->nr_arch_fixed_counters = min_t(int, edx.split.num_counters_fixed, x86_pmu.num_counters_fixed); + edx.split.bit_width_fixed = min_t(int, + edx.split.bit_width_fixed, x86_pmu.bit_width_fixed); pmu->counter_bitmask[KVM_PMC_FIXED] = ((u64)1 << edx.split.bit_width_fixed) - 1; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/vmx/vmx.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/vmx/vmx.c @@ -1857,7 +1857,7 @@ break; case MSR_IA32_SPEC_CTRL: if (!msr_info->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL)) + !guest_has_spec_ctrl_msr(vcpu)) return 1; msr_info->data = to_vmx(vcpu)->spec_ctrl; @@ -2059,10 +2059,10 @@ break; case MSR_IA32_SPEC_CTRL: if (!msr_info->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL)) + !guest_has_spec_ctrl_msr(vcpu)) return 1; - if (data & ~kvm_spec_ctrl_valid_bits(vcpu)) + if (kvm_spec_ctrl_test_value(data)) return 1; vmx->spec_ctrl = data; @@ -2094,12 +2094,12 @@ goto find_shared_msr; case MSR_IA32_PRED_CMD: if (!msr_info->host_initiated && - !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL)) + !guest_has_pred_cmd_msr(vcpu)) return 1; if (data & ~PRED_CMD_IBPB) return 1; - if (!boot_cpu_has(X86_FEATURE_SPEC_CTRL)) + if (!boot_cpu_has(X86_FEATURE_IBPB)) return 1; if (!data) break; @@ -6028,6 +6028,7 @@ (exit_reason != EXIT_REASON_EXCEPTION_NMI && exit_reason != EXIT_REASON_EPT_VIOLATION && exit_reason != EXIT_REASON_PML_FULL && + exit_reason != EXIT_REASON_APIC_ACCESS && exit_reason != EXIT_REASON_TASK_SWITCH)) { vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR; vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_DELIVERY_EV; @@ -6887,11 +6888,21 @@ switch (index) { case MSR_IA32_TSX_CTRL: /* - * No need to pass TSX_CTRL_CPUID_CLEAR through, so - * let's avoid changing CPUID bits under the host - * kernel's feet. + * TSX_CTRL_CPUID_CLEAR is handled in the CPUID + * interception. Keep the host value unchanged to avoid + * changing CPUID bits under the host kernel's feet. + * + * hle=0, rtm=0, tsx_ctrl=1 can be found with some + * combinations of new kernel and old userspace. If + * those guests run on a tsx=off host, do allow guests + * to use TSX_CTRL, but do not change the value on the + * host so that TSX remains always disabled. */ vmx->guest_msrs[j].mask = ~(u64)TSX_CTRL_CPUID_CLEAR; + if (boot_cpu_has(X86_FEATURE_RTM)) + vmx->guest_msrs[j].mask = ~(u64)TSX_CTRL_CPUID_CLEAR; + else + vmx->guest_msrs[j].mask = 0; break; default: vmx->guest_msrs[j].mask = -1ull; --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/x86.c +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/x86.c @@ -103,6 +103,7 @@ static void update_cr8_intercept(struct kvm_vcpu *vcpu); static void process_nmi(struct kvm_vcpu *vcpu); +static void process_smi(struct kvm_vcpu *vcpu); static void enter_smm(struct kvm_vcpu *vcpu); static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags); static void store_regs(struct kvm_vcpu *vcpu); @@ -967,7 +968,8 @@ { unsigned long old_cr4 = kvm_read_cr4(vcpu); unsigned long pdptr_bits = X86_CR4_PGE | X86_CR4_PSE | X86_CR4_PAE | - X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_PKE; + X86_CR4_SMEP; + unsigned long mmu_role_bits = pdptr_bits | X86_CR4_SMAP | X86_CR4_PKE; if (kvm_valid_cr4(vcpu, cr4)) return 1; @@ -995,7 +997,7 @@ if (kvm_x86_ops.set_cr4(vcpu, cr4)) return 1; - if (((cr4 ^ old_cr4) & pdptr_bits) || + if (((cr4 ^ old_cr4) & mmu_role_bits) || (!(cr4 & X86_CR4_PCIDE) && (old_cr4 & X86_CR4_PCIDE))) kvm_mmu_reset_context(vcpu); @@ -1365,16 +1367,24 @@ if (!boot_cpu_has_bug(X86_BUG_MDS)) data |= ARCH_CAP_MDS_NO; - /* - * On TAA affected systems: - * - nothing to do if TSX is disabled on the host. - * - we emulate TSX_CTRL if present on the host. - * This lets the guest use VERW to clear CPU buffers. - */ - if (!boot_cpu_has(X86_FEATURE_RTM)) - data &= ~(ARCH_CAP_TAA_NO | ARCH_CAP_TSX_CTRL_MSR); - else if (!boot_cpu_has_bug(X86_BUG_TAA)) + if (!boot_cpu_has(X86_FEATURE_RTM)) { + /* + * If RTM=0 because the kernel has disabled TSX, the host might + * have TAA_NO or TSX_CTRL. Clear TAA_NO (the guest sees RTM=0 + * and therefore knows that there cannot be TAA) but keep + * TSX_CTRL: some buggy userspaces leave it set on tsx=on hosts, + * and we want to allow migrating those guests to tsx=off hosts. + */ + data &= ~ARCH_CAP_TAA_NO; + } else if (!boot_cpu_has_bug(X86_BUG_TAA)) { data |= ARCH_CAP_TAA_NO; + } else { + /* + * Nothing to do here; we emulate TSX_CTRL if present on the + * host so the guest can choose between disabling TSX or + * using VERW to clear CPU buffers. + */ + } return data; } @@ -2696,7 +2706,7 @@ return 1; if (!lapic_in_kernel(vcpu)) - return 1; + return data ? 1 : 0; vcpu->arch.apf.msr_en_val = data; @@ -3782,21 +3792,23 @@ static int kvm_cpu_accept_dm_intr(struct kvm_vcpu *vcpu) { + /* + * We can accept userspace's request for interrupt injection + * as long as we have a place to store the interrupt number. + * The actual injection will happen when the CPU is able to + * deliver the interrupt. + */ + if (kvm_cpu_has_extint(vcpu)) + return false; + + /* Acknowledging ExtINT does not happen if LINT0 is masked. */ return (!lapic_in_kernel(vcpu) || kvm_apic_accept_pic_intr(vcpu)); } -/* - * if userspace requested an interrupt window, check that the - * interrupt window is open. - * - * No need to exit to userspace if we already have an interrupt queued. - */ static int kvm_vcpu_ready_for_interrupt_injection(struct kvm_vcpu *vcpu) { return kvm_arch_interrupt_allowed(vcpu) && - !kvm_cpu_has_interrupt(vcpu) && - !kvm_event_needs_reinjection(vcpu) && kvm_cpu_accept_dm_intr(vcpu); } @@ -3928,6 +3940,9 @@ { process_nmi(vcpu); + if (kvm_check_request(KVM_REQ_SMI, vcpu)) + process_smi(vcpu); + /* * In guest mode, payload delivery should be deferred, * so that the L1 hypervisor can intercept #PF before @@ -7440,7 +7455,7 @@ goto out; } if (ops->disabled_by_bios()) { - pr_err_ratelimited("kvm: disabled by bios\n"); + pr_warn_ratelimited("kvm: disabled by bios\n"); r = -EOPNOTSUPP; goto out; } @@ -10676,28 +10691,32 @@ } EXPORT_SYMBOL_GPL(kvm_arch_no_poll); -u64 kvm_spec_ctrl_valid_bits(struct kvm_vcpu *vcpu) + +int kvm_spec_ctrl_test_value(u64 value) { - uint64_t bits = SPEC_CTRL_IBRS | SPEC_CTRL_STIBP | SPEC_CTRL_SSBD; + /* + * test that setting IA32_SPEC_CTRL to given value + * is allowed by the host processor + */ - /* The STIBP bit doesn't fault even if it's not advertised */ - if (!guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_IBRS)) - bits &= ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP); - if (!boot_cpu_has(X86_FEATURE_SPEC_CTRL) && - !boot_cpu_has(X86_FEATURE_AMD_IBRS)) - bits &= ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP); - - if (!guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL_SSBD) && - !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD)) - bits &= ~SPEC_CTRL_SSBD; - if (!boot_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) && - !boot_cpu_has(X86_FEATURE_AMD_SSBD)) - bits &= ~SPEC_CTRL_SSBD; + u64 saved_value; + unsigned long flags; + int ret = 0; - return bits; + local_irq_save(flags); + + if (rdmsrl_safe(MSR_IA32_SPEC_CTRL, &saved_value)) + ret = 1; + else if (wrmsrl_safe(MSR_IA32_SPEC_CTRL, value)) + ret = 1; + else + wrmsrl(MSR_IA32_SPEC_CTRL, saved_value); + + local_irq_restore(flags); + + return ret; } -EXPORT_SYMBOL_GPL(kvm_spec_ctrl_valid_bits); +EXPORT_SYMBOL_GPL(kvm_spec_ctrl_test_value); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_exit); EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_fast_mmio); --- linux-riscv-5.8-5.8.0.orig/arch/x86/kvm/x86.h +++ linux-riscv-5.8-5.8.0/arch/x86/kvm/x86.h @@ -363,7 +363,7 @@ void kvm_load_guest_xsave_state(struct kvm_vcpu *vcpu); void kvm_load_host_xsave_state(struct kvm_vcpu *vcpu); -u64 kvm_spec_ctrl_valid_bits(struct kvm_vcpu *vcpu); +int kvm_spec_ctrl_test_value(u64 value); bool kvm_vcpu_exit_request(struct kvm_vcpu *vcpu); #endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/Makefile +++ linux-riscv-5.8-5.8.0/arch/x86/lib/Makefile @@ -44,6 +44,7 @@ lib-y := delay.o misc.o cmdline.o cpu.o lib-y += usercopy_$(BITS).o usercopy.o getuser.o putuser.o lib-y += memcpy_$(BITS).o +lib-$(CONFIG_ARCH_HAS_COPY_MC) += copy_mc.o copy_mc_64.o lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o inat.o insn-eval.o lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o lib-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/copy_mc.c +++ linux-riscv-5.8-5.8.0/arch/x86/lib/copy_mc.c @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright(c) 2016-2020 Intel Corporation. All rights reserved. */ + +#include +#include +#include +#include +#include + +#include + +#ifdef CONFIG_X86_MCE +/* + * See COPY_MC_TEST for self-test of the copy_mc_fragile() + * implementation. + */ +static DEFINE_STATIC_KEY_FALSE(copy_mc_fragile_key); + +void enable_copy_mc_fragile(void) +{ + static_branch_inc(©_mc_fragile_key); +} +#define copy_mc_fragile_enabled (static_branch_unlikely(©_mc_fragile_key)) + +/* + * Similar to copy_user_handle_tail, probe for the write fault point, or + * source exception point. + */ +__visible notrace unsigned long +copy_mc_fragile_handle_tail(char *to, char *from, unsigned len) +{ + for (; len; --len, to++, from++) + if (copy_mc_fragile(to, from, 1)) + break; + return len; +} +#else +/* + * No point in doing careful copying, or consulting a static key when + * there is no #MC handler in the CONFIG_X86_MCE=n case. + */ +void enable_copy_mc_fragile(void) +{ +} +#define copy_mc_fragile_enabled (0) +#endif + +unsigned long copy_mc_enhanced_fast_string(void *dst, const void *src, unsigned len); + +/** + * copy_mc_to_kernel - memory copy that handles source exceptions + * + * @dst: destination address + * @src: source address + * @len: number of bytes to copy + * + * Call into the 'fragile' version on systems that benefit from avoiding + * corner case poison consumption scenarios, For example, accessing + * poison across 2 cachelines with a single instruction. Almost all + * other uses case can use copy_mc_enhanced_fast_string() for a fast + * recoverable copy, or fallback to plain memcpy. + * + * Return 0 for success, or number of bytes not copied if there was an + * exception. + */ +unsigned long __must_check copy_mc_to_kernel(void *dst, const void *src, unsigned len) +{ + if (copy_mc_fragile_enabled) + return copy_mc_fragile(dst, src, len); + if (static_cpu_has(X86_FEATURE_ERMS)) + return copy_mc_enhanced_fast_string(dst, src, len); + memcpy(dst, src, len); + return 0; +} +EXPORT_SYMBOL_GPL(copy_mc_to_kernel); + +unsigned long __must_check copy_mc_to_user(void *dst, const void *src, unsigned len) +{ + unsigned long ret; + + if (copy_mc_fragile_enabled) { + __uaccess_begin(); + ret = copy_mc_fragile(dst, src, len); + __uaccess_end(); + return ret; + } + + if (static_cpu_has(X86_FEATURE_ERMS)) { + __uaccess_begin(); + ret = copy_mc_enhanced_fast_string(dst, src, len); + __uaccess_end(); + return ret; + } + + return copy_user_generic(dst, src, len); +} --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/copy_mc_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/lib/copy_mc_64.S @@ -0,0 +1,163 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* Copyright(c) 2016-2020 Intel Corporation. All rights reserved. */ + +#include +#include +#include +#include + +#ifndef CONFIG_UML + +#ifdef CONFIG_X86_MCE +COPY_MC_TEST_CTL + +/* + * copy_mc_fragile - copy memory with indication if an exception / fault happened + * + * The 'fragile' version is opted into by platform quirks and takes + * pains to avoid unrecoverable corner cases like 'fast-string' + * instruction sequences, and consuming poison across a cacheline + * boundary. The non-fragile version is equivalent to memcpy() + * regardless of CPU machine-check-recovery capability. + */ +SYM_FUNC_START(copy_mc_fragile) + cmpl $8, %edx + /* Less than 8 bytes? Go to byte copy loop */ + jb .L_no_whole_words + + /* Check for bad alignment of source */ + testl $7, %esi + /* Already aligned */ + jz .L_8byte_aligned + + /* Copy one byte at a time until source is 8-byte aligned */ + movl %esi, %ecx + andl $7, %ecx + subl $8, %ecx + negl %ecx + subl %ecx, %edx +.L_read_leading_bytes: + movb (%rsi), %al + COPY_MC_TEST_SRC %rsi 1 .E_leading_bytes + COPY_MC_TEST_DST %rdi 1 .E_leading_bytes +.L_write_leading_bytes: + movb %al, (%rdi) + incq %rsi + incq %rdi + decl %ecx + jnz .L_read_leading_bytes + +.L_8byte_aligned: + movl %edx, %ecx + andl $7, %edx + shrl $3, %ecx + jz .L_no_whole_words + +.L_read_words: + movq (%rsi), %r8 + COPY_MC_TEST_SRC %rsi 8 .E_read_words + COPY_MC_TEST_DST %rdi 8 .E_write_words +.L_write_words: + movq %r8, (%rdi) + addq $8, %rsi + addq $8, %rdi + decl %ecx + jnz .L_read_words + + /* Any trailing bytes? */ +.L_no_whole_words: + andl %edx, %edx + jz .L_done_memcpy_trap + + /* Copy trailing bytes */ + movl %edx, %ecx +.L_read_trailing_bytes: + movb (%rsi), %al + COPY_MC_TEST_SRC %rsi 1 .E_trailing_bytes + COPY_MC_TEST_DST %rdi 1 .E_trailing_bytes +.L_write_trailing_bytes: + movb %al, (%rdi) + incq %rsi + incq %rdi + decl %ecx + jnz .L_read_trailing_bytes + + /* Copy successful. Return zero */ +.L_done_memcpy_trap: + xorl %eax, %eax +.L_done: + ret +SYM_FUNC_END(copy_mc_fragile) +EXPORT_SYMBOL_GPL(copy_mc_fragile) + + .section .fixup, "ax" + /* + * Return number of bytes not copied for any failure. Note that + * there is no "tail" handling since the source buffer is 8-byte + * aligned and poison is cacheline aligned. + */ +.E_read_words: + shll $3, %ecx +.E_leading_bytes: + addl %edx, %ecx +.E_trailing_bytes: + mov %ecx, %eax + jmp .L_done + + /* + * For write fault handling, given the destination is unaligned, + * we handle faults on multi-byte writes with a byte-by-byte + * copy up to the write-protected page. + */ +.E_write_words: + shll $3, %ecx + addl %edx, %ecx + movl %ecx, %edx + jmp copy_mc_fragile_handle_tail + + .previous + + _ASM_EXTABLE_FAULT(.L_read_leading_bytes, .E_leading_bytes) + _ASM_EXTABLE_FAULT(.L_read_words, .E_read_words) + _ASM_EXTABLE_FAULT(.L_read_trailing_bytes, .E_trailing_bytes) + _ASM_EXTABLE(.L_write_leading_bytes, .E_leading_bytes) + _ASM_EXTABLE(.L_write_words, .E_write_words) + _ASM_EXTABLE(.L_write_trailing_bytes, .E_trailing_bytes) +#endif /* CONFIG_X86_MCE */ + +/* + * copy_mc_enhanced_fast_string - memory copy with exception handling + * + * Fast string copy + fault / exception handling. If the CPU does + * support machine check exception recovery, but does not support + * recovering from fast-string exceptions then this CPU needs to be + * added to the copy_mc_fragile_key set of quirks. Otherwise, absent any + * machine check recovery support this version should be no slower than + * standard memcpy. + */ +SYM_FUNC_START(copy_mc_enhanced_fast_string) + movq %rdi, %rax + movq %rdx, %rcx +.L_copy: + rep movsb + /* Copy successful. Return zero */ + xorl %eax, %eax + ret +SYM_FUNC_END(copy_mc_enhanced_fast_string) + + .section .fixup, "ax" +.E_copy: + /* + * On fault %rcx is updated such that the copy instruction could + * optionally be restarted at the fault position, i.e. it + * contains 'bytes remaining'. A non-zero return indicates error + * to copy_mc_generic() users, or indicate short transfers to + * user-copy routines. + */ + movq %rcx, %rax + ret + + .previous + + _ASM_EXTABLE_FAULT(.L_copy, .E_copy) +#endif /* !CONFIG_UML */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/insn-eval.c +++ linux-riscv-5.8-5.8.0/arch/x86/lib/insn-eval.c @@ -70,14 +70,15 @@ { int idx = INAT_SEG_REG_DEFAULT; int num_overrides = 0, i; + insn_byte_t p; insn_get_prefixes(insn); /* Look for any segment override prefixes. */ - for (i = 0; i < insn->prefixes.nbytes; i++) { + for_each_insn_prefix(insn, i, p) { insn_attr_t attr; - attr = inat_get_opcode_attribute(insn->prefixes.bytes[i]); + attr = inat_get_opcode_attribute(p); switch (attr) { case INAT_MAKE_PREFIX(INAT_PFX_CS): idx = INAT_SEG_REG_CS; --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/memcpy_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/lib/memcpy_64.S @@ -4,7 +4,6 @@ #include #include #include -#include #include #include @@ -17,8 +16,6 @@ * to a jmp to memcpy_erms which does the REP; MOVSB mem copy. */ -.weak memcpy - /* * memcpy - Copy a memory block. * @@ -31,7 +28,7 @@ * rax original destination */ SYM_FUNC_START_ALIAS(__memcpy) -SYM_FUNC_START_LOCAL(memcpy) +SYM_FUNC_START_WEAK(memcpy) ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \ "jmp memcpy_erms", X86_FEATURE_ERMS @@ -187,117 +184,3 @@ SYM_FUNC_END(memcpy_orig) .popsection - -#ifndef CONFIG_UML - -MCSAFE_TEST_CTL - -/* - * __memcpy_mcsafe - memory copy with machine check exception handling - * Note that we only catch machine checks when reading the source addresses. - * Writes to target are posted and don't generate machine checks. - */ -SYM_FUNC_START(__memcpy_mcsafe) - cmpl $8, %edx - /* Less than 8 bytes? Go to byte copy loop */ - jb .L_no_whole_words - - /* Check for bad alignment of source */ - testl $7, %esi - /* Already aligned */ - jz .L_8byte_aligned - - /* Copy one byte at a time until source is 8-byte aligned */ - movl %esi, %ecx - andl $7, %ecx - subl $8, %ecx - negl %ecx - subl %ecx, %edx -.L_read_leading_bytes: - movb (%rsi), %al - MCSAFE_TEST_SRC %rsi 1 .E_leading_bytes - MCSAFE_TEST_DST %rdi 1 .E_leading_bytes -.L_write_leading_bytes: - movb %al, (%rdi) - incq %rsi - incq %rdi - decl %ecx - jnz .L_read_leading_bytes - -.L_8byte_aligned: - movl %edx, %ecx - andl $7, %edx - shrl $3, %ecx - jz .L_no_whole_words - -.L_read_words: - movq (%rsi), %r8 - MCSAFE_TEST_SRC %rsi 8 .E_read_words - MCSAFE_TEST_DST %rdi 8 .E_write_words -.L_write_words: - movq %r8, (%rdi) - addq $8, %rsi - addq $8, %rdi - decl %ecx - jnz .L_read_words - - /* Any trailing bytes? */ -.L_no_whole_words: - andl %edx, %edx - jz .L_done_memcpy_trap - - /* Copy trailing bytes */ - movl %edx, %ecx -.L_read_trailing_bytes: - movb (%rsi), %al - MCSAFE_TEST_SRC %rsi 1 .E_trailing_bytes - MCSAFE_TEST_DST %rdi 1 .E_trailing_bytes -.L_write_trailing_bytes: - movb %al, (%rdi) - incq %rsi - incq %rdi - decl %ecx - jnz .L_read_trailing_bytes - - /* Copy successful. Return zero */ -.L_done_memcpy_trap: - xorl %eax, %eax -.L_done: - ret -SYM_FUNC_END(__memcpy_mcsafe) -EXPORT_SYMBOL_GPL(__memcpy_mcsafe) - - .section .fixup, "ax" - /* - * Return number of bytes not copied for any failure. Note that - * there is no "tail" handling since the source buffer is 8-byte - * aligned and poison is cacheline aligned. - */ -.E_read_words: - shll $3, %ecx -.E_leading_bytes: - addl %edx, %ecx -.E_trailing_bytes: - mov %ecx, %eax - jmp .L_done - - /* - * For write fault handling, given the destination is unaligned, - * we handle faults on multi-byte writes with a byte-by-byte - * copy up to the write-protected page. - */ -.E_write_words: - shll $3, %ecx - addl %edx, %ecx - movl %ecx, %edx - jmp mcsafe_handle_tail - - .previous - - _ASM_EXTABLE_FAULT(.L_read_leading_bytes, .E_leading_bytes) - _ASM_EXTABLE_FAULT(.L_read_words, .E_read_words) - _ASM_EXTABLE_FAULT(.L_read_trailing_bytes, .E_trailing_bytes) - _ASM_EXTABLE(.L_write_leading_bytes, .E_leading_bytes) - _ASM_EXTABLE(.L_write_words, .E_write_words) - _ASM_EXTABLE(.L_write_trailing_bytes, .E_trailing_bytes) -#endif --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/memmove_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/lib/memmove_64.S @@ -24,9 +24,7 @@ * Output: * rax: dest */ -.weak memmove - -SYM_FUNC_START_ALIAS(memmove) +SYM_FUNC_START_WEAK(memmove) SYM_FUNC_START(__memmove) mov %rdi, %rax --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/memset_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/lib/memset_64.S @@ -6,8 +6,6 @@ #include #include -.weak memset - /* * ISO C memset - set a memory block to a byte value. This function uses fast * string to get better performance than the original function. The code is @@ -19,7 +17,7 @@ * * rax original destination */ -SYM_FUNC_START_ALIAS(memset) +SYM_FUNC_START_WEAK(memset) SYM_FUNC_START(__memset) /* * Some CPUs support enhanced REP MOVSB/STOSB feature. It is recommended --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/mmx_32.c +++ linux-riscv-5.8-5.8.0/arch/x86/lib/mmx_32.c @@ -26,6 +26,16 @@ #include #include +/* + * Use KFPU_387. MMX instructions are not affected by MXCSR, + * but both AMD and Intel documentation states that even integer MMX + * operations will result in #MF if an exception is pending in FCW. + * + * EMMS is not needed afterwards because, after calling kernel_fpu_end(), + * any subsequent user of the 387 stack will reinitialize it using + * KFPU_387. + */ + void *_mmx_memcpy(void *to, const void *from, size_t len) { void *p; @@ -37,7 +47,7 @@ p = to; i = len >> 6; /* len/64 */ - kernel_fpu_begin(); + kernel_fpu_begin_mask(KFPU_387); __asm__ __volatile__ ( "1: prefetch (%0)\n" /* This set is 28 bytes */ @@ -127,7 +137,7 @@ { int i; - kernel_fpu_begin(); + kernel_fpu_begin_mask(KFPU_387); __asm__ __volatile__ ( " pxor %%mm0, %%mm0\n" : : @@ -160,7 +170,7 @@ { int i; - kernel_fpu_begin(); + kernel_fpu_begin_mask(KFPU_387); /* * maybe the prefetch stuff can go before the expensive fnsave... @@ -247,7 +257,7 @@ { int i; - kernel_fpu_begin(); + kernel_fpu_begin_mask(KFPU_387); __asm__ __volatile__ ( " pxor %%mm0, %%mm0\n" : : @@ -282,7 +292,7 @@ { int i; - kernel_fpu_begin(); + kernel_fpu_begin_mask(KFPU_387); __asm__ __volatile__ ( "1: prefetch (%0)\n" --- linux-riscv-5.8-5.8.0.orig/arch/x86/lib/usercopy_64.c +++ linux-riscv-5.8-5.8.0/arch/x86/lib/usercopy_64.c @@ -56,27 +56,6 @@ } EXPORT_SYMBOL(clear_user); -/* - * Similar to copy_user_handle_tail, probe for the write fault point, - * but reuse __memcpy_mcsafe in case a new read error is encountered. - * clac() is handled in _copy_to_iter_mcsafe(). - */ -__visible notrace unsigned long -mcsafe_handle_tail(char *to, char *from, unsigned len) -{ - for (; len; --len, to++, from++) { - /* - * Call the assembly routine back directly since - * memcpy_mcsafe() may silently fallback to memcpy. - */ - unsigned long rem = __memcpy_mcsafe(to, from, 1); - - if (rem) - break; - } - return len; -} - #ifdef CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE /** * clean_cache_range - write back a cache range with CLWB @@ -120,7 +99,7 @@ */ if (size < 8) { if (!IS_ALIGNED(dest, 4) || size != 4) - clean_cache_range(dst, 1); + clean_cache_range(dst, size); } else { if (!IS_ALIGNED(dest, 8)) { dest = ALIGN(dest, boot_cpu_data.x86_clflush_size); --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/fault.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/fault.c @@ -54,7 +54,7 @@ * 32-bit mode: * * Sometimes AMD Athlon/Opteron CPUs report invalid exceptions on prefetch. - * Check that here and ignore it. + * Check that here and ignore it. This is AMD erratum #91. * * 64-bit mode: * @@ -83,11 +83,7 @@ #ifdef CONFIG_X86_64 case 0x40: /* - * In AMD64 long mode 0x40..0x4F are valid REX prefixes - * Need to figure out under what instruction mode the - * instruction was issued. Could check the LDT for lm, - * but for now it's good enough to assume that long - * mode only uses well known segments or kernel. + * In 64-bit mode 0x40..0x4F are valid REX prefixes */ return (!user_mode(regs) || user_64bit_mode(regs)); #endif @@ -127,20 +123,31 @@ instr = (void *)convert_ip_to_linear(current, regs); max_instr = instr + 15; - if (user_mode(regs) && instr >= (unsigned char *)TASK_SIZE_MAX) - return 0; + /* + * This code has historically always bailed out if IP points to a + * not-present page (e.g. due to a race). No one has ever + * complained about this. + */ + pagefault_disable(); while (instr < max_instr) { unsigned char opcode; - if (get_kernel_nofault(opcode, instr)) - break; + if (user_mode(regs)) { + if (get_user(opcode, instr)) + break; + } else { + if (get_kernel_nofault(opcode, instr)) + break; + } instr++; if (!check_prefetch_opcode(regs, instr, opcode, &prefetch)) break; } + + pagefault_enable(); return prefetch; } @@ -216,6 +223,44 @@ } /* + * 32-bit: + * + * Handle a fault on the vmalloc or module mapping area + */ +static noinline int vmalloc_fault(unsigned long address) +{ + unsigned long pgd_paddr; + pmd_t *pmd_k; + pte_t *pte_k; + + /* Make sure we are in vmalloc area: */ + if (!(address >= VMALLOC_START && address < VMALLOC_END)) + return -1; + + /* + * Synchronize this task's top level page-table + * with the 'reference' page table. + * + * Do _not_ use "current" here. We might be inside + * an interrupt in the middle of a task switch.. + */ + pgd_paddr = read_cr3_pa(); + pmd_k = vmalloc_sync_one(__va(pgd_paddr), address); + if (!pmd_k) + return -1; + + if (pmd_large(*pmd_k)) + return 0; + + pte_k = pte_offset_kernel(pmd_k, address); + if (!pte_present(*pte_k)) + return -1; + + return 0; +} +NOKPROBE_SYMBOL(vmalloc_fault); + +/* * Did it hit the DOS screen memory VA from vm86 mode? */ static inline void @@ -279,6 +324,79 @@ #else /* CONFIG_X86_64: */ +/* + * 64-bit: + * + * Handle a fault on the vmalloc area + */ +static noinline int vmalloc_fault(unsigned long address) +{ + pgd_t *pgd, *pgd_k; + p4d_t *p4d, *p4d_k; + pud_t *pud; + pmd_t *pmd; + pte_t *pte; + + /* Make sure we are in vmalloc area: */ + if (!(address >= VMALLOC_START && address < VMALLOC_END)) + return -1; + + /* + * Copy kernel mappings over when needed. This can also + * happen within a race in page table update. In the later + * case just flush: + */ + pgd = (pgd_t *)__va(read_cr3_pa()) + pgd_index(address); + pgd_k = pgd_offset_k(address); + if (pgd_none(*pgd_k)) + return -1; + + if (pgtable_l5_enabled()) { + if (pgd_none(*pgd)) { + set_pgd(pgd, *pgd_k); + arch_flush_lazy_mmu_mode(); + } else { + BUG_ON(pgd_page_vaddr(*pgd) != pgd_page_vaddr(*pgd_k)); + } + } + + /* With 4-level paging, copying happens on the p4d level. */ + p4d = p4d_offset(pgd, address); + p4d_k = p4d_offset(pgd_k, address); + if (p4d_none(*p4d_k)) + return -1; + + if (p4d_none(*p4d) && !pgtable_l5_enabled()) { + set_p4d(p4d, *p4d_k); + arch_flush_lazy_mmu_mode(); + } else { + BUG_ON(p4d_pfn(*p4d) != p4d_pfn(*p4d_k)); + } + + BUILD_BUG_ON(CONFIG_PGTABLE_LEVELS < 4); + + pud = pud_offset(p4d, address); + if (pud_none(*pud)) + return -1; + + if (pud_large(*pud)) + return 0; + + pmd = pmd_offset(pud, address); + if (pmd_none(*pmd)) + return -1; + + if (pmd_large(*pmd)) + return 0; + + pte = pte_offset_kernel(pmd, address); + if (!pte_present(*pte)) + return -1; + + return 0; +} +NOKPROBE_SYMBOL(vmalloc_fault); + #ifdef CONFIG_CPU_SUP_AMD static const char errata93_warning[] = KERN_ERR @@ -1111,6 +1229,29 @@ */ WARN_ON_ONCE(hw_error_code & X86_PF_PK); + /* + * We can fault-in kernel-space virtual memory on-demand. The + * 'reference' page table is init_mm.pgd. + * + * NOTE! We MUST NOT take any locks for this case. We may + * be in an interrupt or a critical region, and should + * only copy the information from the master page table, + * nothing more. + * + * Before doing this on-demand faulting, ensure that the + * fault is not any of the following: + * 1. A fault on a PTE with a reserved bit set. + * 2. A fault caused by a user-mode access. (Do not demand- + * fault kernel memory due to user-mode accesses). + * 3. A fault caused by a page-level protection violation. + * (A demand fault would be on a non-present page which + * would have X86_PF_PROT==0). + */ + if (!(hw_error_code & (X86_PF_RSVD | X86_PF_USER | X86_PF_PROT))) { + if (vmalloc_fault(address) >= 0) + return; + } + /* Was the fault spurious, caused by lazy TLB invalidation? */ if (spurious_kernel_fault(hw_error_code, address)) return; --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/ident_map.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/ident_map.c @@ -62,6 +62,7 @@ unsigned long addr, unsigned long end) { unsigned long next; + int result; for (; addr < end; addr = next) { p4d_t *p4d = p4d_page + p4d_index(addr); @@ -73,13 +74,20 @@ if (p4d_present(*p4d)) { pud = pud_offset(p4d, 0); - ident_pud_init(info, pud, addr, next); + result = ident_pud_init(info, pud, addr, next); + if (result) + return result; + continue; } pud = (pud_t *)info->alloc_pgt_page(info->context); if (!pud) return -ENOMEM; - ident_pud_init(info, pud, addr, next); + + result = ident_pud_init(info, pud, addr, next); + if (result) + return result; + set_p4d(p4d, __p4d(__pa(pud) | info->kernpg_flag)); } --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/init_32.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/init_32.c @@ -764,6 +764,9 @@ * important here. */ set_highmem_pages_init(); +#ifdef CONFIG_HIGHMEM + set_default_mem_hotplug_zone(ZONE_HIGHMEM); +#endif /* this will put all low memory onto the freelists */ memblock_free_all(); --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/mem_encrypt.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/mem_encrypt.c @@ -229,7 +229,7 @@ if (pgprot_val(old_prot) == pgprot_val(new_prot)) return; - pa = pfn << page_level_shift(level); + pa = pfn << PAGE_SHIFT; size = page_level_size(level); /* @@ -349,6 +349,7 @@ { return sme_me_mask && sev_enabled; } +EXPORT_SYMBOL_GPL(sev_active); /* Override for DMA direct allocation check - ARCH_HAS_FORCE_DMA_UNENCRYPTED */ bool force_dma_unencrypted(struct device *dev) --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/mem_encrypt_identity.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/mem_encrypt_identity.c @@ -45,8 +45,8 @@ #define PMD_FLAGS_LARGE (__PAGE_KERNEL_LARGE_EXEC & ~_PAGE_GLOBAL) #define PMD_FLAGS_DEC PMD_FLAGS_LARGE -#define PMD_FLAGS_DEC_WP ((PMD_FLAGS_DEC & ~_PAGE_CACHE_MASK) | \ - (_PAGE_PAT | _PAGE_PWT)) +#define PMD_FLAGS_DEC_WP ((PMD_FLAGS_DEC & ~_PAGE_LARGE_CACHE_MASK) | \ + (_PAGE_PAT_LARGE | _PAGE_PWT)) #define PMD_FLAGS_ENC (PMD_FLAGS_LARGE | _PAGE_ENC) --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/numa_emulation.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/numa_emulation.c @@ -321,7 +321,7 @@ u64 addr, u64 max_addr, u64 size) { return split_nodes_size_interleave_uniform(ei, pi, addr, max_addr, size, - 0, NULL, NUMA_NO_NODE); + 0, NULL, 0); } static int __init setup_emu2phys_nid(int *dfl_phys_nid) --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/pat/memtype.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/pat/memtype.c @@ -1164,12 +1164,14 @@ static void *memtype_seq_next(struct seq_file *seq, void *v, loff_t *pos) { + kfree(v); ++*pos; return memtype_get_idx(*pos); } static void memtype_seq_stop(struct seq_file *seq, void *v) { + kfree(v); } static int memtype_seq_show(struct seq_file *seq, void *v) @@ -1181,8 +1183,6 @@ entry_print->end, cattr_name(entry_print->type)); - kfree(entry_print); - return 0; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/pgtable.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/pgtable.c @@ -829,6 +829,8 @@ } free_page((unsigned long)pmd_sv); + + pgtable_pmd_page_dtor(virt_to_page(pmd)); free_page((unsigned long)pmd); return 1; --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/pti.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/pti.c @@ -447,7 +447,13 @@ * the sp1 and sp2 slots. * * This is done for all possible CPUs during boot to ensure - * that it's propagated to all mms. + * that it's propagated to all mms. If we were to add one of + * these mappings during CPU hotplug, we would need to take + * some measure to make sure that every mm that subsequently + * ran on that CPU would have the relevant PGD entry in its + * pagetables. The usual vmalloc_fault() mechanism would not + * work for page faults taken in entry_SYSCALL_64 before RSP + * is set up. */ unsigned long va = (unsigned long)&per_cpu(cpu_tss_rw, cpu); --- linux-riscv-5.8-5.8.0.orig/arch/x86/mm/tlb.c +++ linux-riscv-5.8-5.8.0/arch/x86/mm/tlb.c @@ -317,6 +317,34 @@ local_irq_restore(flags); } +static void sync_current_stack_to_mm(struct mm_struct *mm) +{ + unsigned long sp = current_stack_pointer; + pgd_t *pgd = pgd_offset(mm, sp); + + if (pgtable_l5_enabled()) { + if (unlikely(pgd_none(*pgd))) { + pgd_t *pgd_ref = pgd_offset_k(sp); + + set_pgd(pgd, *pgd_ref); + } + } else { + /* + * "pgd" is faked. The top level entries are "p4d"s, so sync + * the p4d. This compiles to approximately the same code as + * the 5-level case. + */ + p4d_t *p4d = p4d_offset(pgd, sp); + + if (unlikely(p4d_none(*p4d))) { + pgd_t *pgd_ref = pgd_offset_k(sp); + p4d_t *p4d_ref = p4d_offset(pgd_ref, sp); + + set_p4d(p4d, *p4d_ref); + } + } +} + static inline unsigned long mm_mangle_tif_spec_ib(struct task_struct *next) { unsigned long next_tif = task_thread_info(next)->flags; @@ -475,8 +503,14 @@ /* * The membarrier system call requires a full memory barrier and * core serialization before returning to user-space, after - * storing to rq->curr. Writing to CR3 provides that full - * memory barrier and core serializing instruction. + * storing to rq->curr, when changing mm. This is because + * membarrier() sends IPIs to all CPUs that are in the target mm + * to make them issue memory barriers. However, if another CPU + * switches to/from the target mm concurrently with + * membarrier(), it can cause that CPU not to receive an IPI + * when it really should issue a memory barrier. Writing to CR3 + * provides that full memory barrier and core serializing + * instruction. */ if (real_prev == next) { VM_WARN_ON(this_cpu_read(cpu_tlbstate.ctxs[prev_asid].ctx_id) != @@ -525,6 +559,15 @@ */ cond_ibpb(tsk); + if (IS_ENABLED(CONFIG_VMAP_STACK)) { + /* + * If our current stack is in vmalloc space and isn't + * mapped in the new pgd, we'll double-fault. Forcibly + * map it. + */ + sync_current_stack_to_mm(next); + } + /* * Stop remote flushes for the previous mm. * Skip kernel threads; we never send init_mm TLB flushing IPIs, --- linux-riscv-5.8-5.8.0.orig/arch/x86/net/bpf_jit_comp.c +++ linux-riscv-5.8-5.8.0/arch/x86/net/bpf_jit_comp.c @@ -1322,7 +1322,16 @@ } if (image) { - if (unlikely(proglen + ilen > oldproglen)) { + /* + * When populating the image, assert that: + * + * i) We do not write beyond the allocated space, and + * ii) addrs[i] did not change from the prior run, in order + * to validate assumptions made for computing branch + * displacements. + */ + if (unlikely(proglen + ilen > oldproglen || + proglen + ilen != addrs[i])) { pr_err("bpf_jit: fatal error\n"); return -EFAULT; } @@ -1855,7 +1864,7 @@ extra_pass = true; goto skip_init_addrs; } - addrs = kmalloc_array(prog->len + 1, sizeof(*addrs), GFP_KERNEL); + addrs = kvmalloc_array(prog->len + 1, sizeof(*addrs), GFP_KERNEL); if (!addrs) { prog = orig_prog; goto out_addrs; @@ -1945,7 +1954,7 @@ if (image) bpf_prog_fill_jited_linfo(prog, addrs + 1); out_addrs: - kfree(addrs); + kvfree(addrs); kfree(jit_data); prog->aux->jit_data = NULL; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/net/bpf_jit_comp32.c +++ linux-riscv-5.8-5.8.0/arch/x86/net/bpf_jit_comp32.c @@ -2278,7 +2278,16 @@ } if (image) { - if (unlikely(proglen + ilen > oldproglen)) { + /* + * When populating the image, assert that: + * + * i) We do not write beyond the allocated space, and + * ii) addrs[i] did not change from the prior run, in order + * to validate assumptions made for computing branch + * displacements. + */ + if (unlikely(proglen + ilen > oldproglen || + proglen + ilen != addrs[i])) { pr_err("bpf_jit: fatal error\n"); return -EFAULT; } --- linux-riscv-5.8-5.8.0.orig/arch/x86/pci/common.c +++ linux-riscv-5.8-5.8.0/arch/x86/pci/common.c @@ -33,6 +33,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; @@ -605,6 +606,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-riscv-5.8-5.8.0.orig/arch/x86/pci/early.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/x86/pci/intel_mid_pci.c +++ linux-riscv-5.8-5.8.0/arch/x86/pci/intel_mid_pci.c @@ -33,6 +33,7 @@ #include #include #include +#include #define PCIE_CAP_OFFSET 0x100 --- linux-riscv-5.8-5.8.0.orig/arch/x86/pci/xen.c +++ linux-riscv-5.8-5.8.0/arch/x86/pci/xen.c @@ -26,6 +26,7 @@ #include #include #include +#include #include static int xen_pcifront_enable_irq(struct pci_dev *dev) --- linux-riscv-5.8-5.8.0.orig/arch/x86/platform/efi/efi_64.c +++ linux-riscv-5.8-5.8.0/arch/x86/platform/efi/efi_64.c @@ -80,28 +80,30 @@ gfp_mask = GFP_KERNEL | __GFP_ZERO; efi_pgd = (pgd_t *)__get_free_pages(gfp_mask, PGD_ALLOCATION_ORDER); if (!efi_pgd) - return -ENOMEM; + goto fail; pgd = efi_pgd + pgd_index(EFI_VA_END); p4d = p4d_alloc(&init_mm, pgd, EFI_VA_END); - if (!p4d) { - free_page((unsigned long)efi_pgd); - return -ENOMEM; - } + if (!p4d) + goto free_pgd; pud = pud_alloc(&init_mm, p4d, EFI_VA_END); - if (!pud) { - if (pgtable_l5_enabled()) - free_page((unsigned long) pgd_page_vaddr(*pgd)); - free_pages((unsigned long)efi_pgd, PGD_ALLOCATION_ORDER); - return -ENOMEM; - } + if (!pud) + goto free_p4d; efi_mm.pgd = efi_pgd; mm_init_cpumask(&efi_mm); init_new_context(NULL, &efi_mm); return 0; + +free_p4d: + if (pgtable_l5_enabled()) + free_page((unsigned long)pgd_page_vaddr(*pgd)); +free_pgd: + free_pages((unsigned long)efi_pgd, PGD_ALLOCATION_ORDER); +fail: + return -ENOMEM; } /* @@ -118,31 +120,12 @@ if (efi_have_uv1_memmap()) return; - /* - * We can share all PGD entries apart from the one entry that - * covers the EFI runtime mapping space. - * - * Make sure the EFI runtime region mappings are guaranteed to - * only span a single PGD entry and that the entry also maps - * other important kernel regions. - */ - MAYBE_BUILD_BUG_ON(pgd_index(EFI_VA_END) != pgd_index(MODULES_END)); - MAYBE_BUILD_BUG_ON((EFI_VA_START & PGDIR_MASK) != - (EFI_VA_END & PGDIR_MASK)); - pgd_efi = efi_pgd + pgd_index(PAGE_OFFSET); pgd_k = pgd_offset_k(PAGE_OFFSET); num_entries = pgd_index(EFI_VA_END) - pgd_index(PAGE_OFFSET); memcpy(pgd_efi, pgd_k, sizeof(pgd_t) * num_entries); - /* - * As with PGDs, we share all P4D entries apart from the one entry - * that covers the EFI runtime mapping space. - */ - BUILD_BUG_ON(p4d_index(EFI_VA_END) != p4d_index(MODULES_END)); - BUILD_BUG_ON((EFI_VA_START & P4D_MASK) != (EFI_VA_END & P4D_MASK)); - pgd_efi = efi_pgd + pgd_index(EFI_VA_END); pgd_k = pgd_offset_k(EFI_VA_END); p4d_efi = p4d_offset(pgd_efi, 0); @@ -268,6 +251,8 @@ npages = (__end_rodata - __start_rodata) >> PAGE_SHIFT; rodata = __pa(__start_rodata); pfn = rodata >> PAGE_SHIFT; + + pf = _PAGE_NX | _PAGE_ENC; if (kernel_map_pages_in_pgd(pgd, pfn, rodata, npages, pf)) { pr_err("Failed to map kernel rodata 1:1\n"); return 1; --- linux-riscv-5.8-5.8.0.orig/arch/x86/platform/pvh/head.S +++ linux-riscv-5.8-5.8.0/arch/x86/platform/pvh/head.S @@ -16,6 +16,7 @@ #include #include #include +#include #include __HEAD @@ -105,6 +106,7 @@ /* startup_64 expects boot_params in %rsi. */ mov $_pa(pvh_bootparams), %rsi mov $_pa(startup_64), %rax + ANNOTATE_RETPOLINE_SAFE jmp *%rax #else /* CONFIG_X86_64 */ --- linux-riscv-5.8-5.8.0.orig/arch/x86/power/hibernate_asm_64.S +++ linux-riscv-5.8-5.8.0/arch/x86/power/hibernate_asm_64.S @@ -21,6 +21,7 @@ #include #include #include +#include SYM_FUNC_START(swsusp_arch_suspend) movq $saved_context, %rax @@ -66,6 +67,7 @@ /* jump to relocated restore code */ movq relocated_restore_code(%rip), %rcx + ANNOTATE_RETPOLINE_SAFE jmpq *%rcx SYM_CODE_END(restore_image) @@ -97,6 +99,7 @@ .Ldone: /* jump to the restore_registers address from the image header */ + ANNOTATE_RETPOLINE_SAFE jmpq *%r8 SYM_CODE_END(core_restore_code) --- linux-riscv-5.8-5.8.0.orig/arch/x86/realmode/rm/trampoline_32.S +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/arch/x86/tools/relocs.c +++ linux-riscv-5.8-5.8.0/arch/x86/tools/relocs.c @@ -867,9 +867,11 @@ case R_386_PC32: case R_386_PC16: case R_386_PC8: + case R_386_PLT32: /* - * NONE can be ignored and PC relative relocations don't - * need to be adjusted. + * NONE can be ignored and PC relative relocations don't need + * to be adjusted. Because sym must be defined, R_386_PLT32 can + * be treated the same way as R_386_PC32. */ break; @@ -910,9 +912,11 @@ case R_386_PC32: case R_386_PC16: case R_386_PC8: + case R_386_PLT32: /* - * NONE can be ignored and PC relative relocations don't - * need to be adjusted. + * NONE can be ignored and PC relative relocations don't need + * to be adjusted. Because sym must be defined, R_386_PLT32 can + * be treated the same way as R_386_PC32. */ break; --- linux-riscv-5.8-5.8.0.orig/arch/x86/xen/enlighten_hvm.c +++ linux-riscv-5.8-5.8.0/arch/x86/xen/enlighten_hvm.c @@ -187,6 +187,8 @@ return 0; } +static bool no_vector_callback __initdata; + static void __init xen_hvm_guest_init(void) { if (xen_pv_domain()) @@ -206,7 +208,7 @@ xen_panic_handler_init(); - if (xen_feature(XENFEAT_hvm_callback_vector)) + if (!no_vector_callback && xen_feature(XENFEAT_hvm_callback_vector)) xen_have_vector_callback = 1; xen_hvm_smp_init(); @@ -232,6 +234,13 @@ } early_param("xen_nopv", xen_parse_nopv); +static __init int xen_parse_no_vector_callback(char *arg) +{ + no_vector_callback = true; + return 0; +} +early_param("xen_no_vector_callback", xen_parse_no_vector_callback); + bool __init xen_hvm_need_lapic(void) { if (xen_pv_domain()) --- linux-riscv-5.8-5.8.0.orig/arch/x86/xen/enlighten_pv.c +++ linux-riscv-5.8-5.8.0/arch/x86/xen/enlighten_pv.c @@ -1438,6 +1438,15 @@ x86_init.mpparse.get_smp_config = x86_init_uint_noop; xen_boot_params_init_edd(); + +#ifdef CONFIG_ACPI + /* + * Disable selecting "Firmware First mode" for correctable + * memory errors, as this is the duty of the hypervisor to + * decide. + */ + acpi_disable_cmcff = 1; +#endif } if (!boot_params.screen_info.orig_video_isVGA) --- linux-riscv-5.8-5.8.0.orig/arch/x86/xen/p2m.c +++ linux-riscv-5.8-5.8.0/arch/x86/xen/p2m.c @@ -714,9 +714,12 @@ for (i = 0; i < count; i++) { unsigned long mfn, pfn; + struct gnttab_unmap_grant_ref unmap[2]; + int rc; /* Do not add to override if the map failed. */ - if (map_ops[i].status) + if (map_ops[i].status != GNTST_okay || + (kmap_ops && kmap_ops[i].status != GNTST_okay)) continue; if (map_ops[i].flags & GNTMAP_contains_pte) { @@ -730,10 +733,46 @@ WARN(pfn_to_mfn(pfn) != INVALID_P2M_ENTRY, "page must be ballooned"); - if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) { - ret = -ENOMEM; - goto out; + if (likely(set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) + continue; + + /* + * Signal an error for this slot. This in turn requires + * immediate unmapping. + */ + map_ops[i].status = GNTST_general_error; + unmap[0].host_addr = map_ops[i].host_addr, + unmap[0].handle = map_ops[i].handle; + map_ops[i].handle = ~0; + if (map_ops[i].flags & GNTMAP_device_map) + unmap[0].dev_bus_addr = map_ops[i].dev_bus_addr; + else + unmap[0].dev_bus_addr = 0; + + if (kmap_ops) { + kmap_ops[i].status = GNTST_general_error; + unmap[1].host_addr = kmap_ops[i].host_addr, + unmap[1].handle = kmap_ops[i].handle; + kmap_ops[i].handle = ~0; + if (kmap_ops[i].flags & GNTMAP_device_map) + unmap[1].dev_bus_addr = kmap_ops[i].dev_bus_addr; + else + unmap[1].dev_bus_addr = 0; } + + /* + * Pre-populate both status fields, to be recognizable in + * the log message below. + */ + unmap[0].status = 1; + unmap[1].status = 1; + + rc = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, + unmap, 1 + !!kmap_ops); + if (rc || unmap[0].status != GNTST_okay || + unmap[1].status != GNTST_okay) + pr_err_once("gnttab unmap failed: rc=%d st0=%d st1=%d\n", + rc, unmap[0].status, unmap[1].status); } out: @@ -754,17 +793,15 @@ unsigned long mfn = __pfn_to_mfn(page_to_pfn(pages[i])); unsigned long pfn = page_to_pfn(pages[i]); - if (mfn == INVALID_P2M_ENTRY || !(mfn & FOREIGN_FRAME_BIT)) { + if (mfn != INVALID_P2M_ENTRY && (mfn & FOREIGN_FRAME_BIT)) + set_phys_to_machine(pfn, INVALID_P2M_ENTRY); + else ret = -EINVAL; - goto out; - } - - set_phys_to_machine(pfn, INVALID_P2M_ENTRY); } if (kunmap_ops) ret = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, - kunmap_ops, count); -out: + kunmap_ops, count) ?: ret; + return ret; } EXPORT_SYMBOL_GPL(clear_foreign_p2m_mapping); --- linux-riscv-5.8-5.8.0.orig/arch/x86/xen/spinlock.c +++ linux-riscv-5.8-5.8.0/arch/x86/xen/spinlock.c @@ -93,10 +93,20 @@ void xen_uninit_lock_cpu(int cpu) { + int irq; + if (!xen_pvspin) return; - unbind_from_irqhandler(per_cpu(lock_kicker_irq, cpu), NULL); + /* + * When booting the kernel with 'mitigations=auto,nosmt', the secondary + * CPUs are not activated, and lock_kicker_irq is not initialized. + */ + irq = per_cpu(lock_kicker_irq, cpu); + if (irq == -1) + return; + + unbind_from_irqhandler(irq, NULL); per_cpu(lock_kicker_irq, cpu) = -1; kfree(per_cpu(irq_name, cpu)); per_cpu(irq_name, cpu) = NULL; --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/include/asm/Kbuild +++ linux-riscv-5.8-5.8.0/arch/xtensa/include/asm/Kbuild @@ -2,7 +2,6 @@ generated-y += syscall_table.h generic-y += extable.h generic-y += kvm_para.h -generic-y += local64.h generic-y += mcs_spinlock.h generic-y += param.h generic-y += qrwlock.h --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/include/asm/pgtable.h +++ linux-riscv-5.8-5.8.0/arch/xtensa/include/asm/pgtable.h @@ -69,7 +69,7 @@ */ #define VMALLOC_START (XCHAL_KSEG_CACHED_VADDR - 0x10000000) #define VMALLOC_END (VMALLOC_START + 0x07FEFFFF) -#define TLBTEMP_BASE_1 (VMALLOC_END + 1) +#define TLBTEMP_BASE_1 (VMALLOC_START + 0x08000000) #define TLBTEMP_BASE_2 (TLBTEMP_BASE_1 + DCACHE_WAY_SIZE) #if 2 * DCACHE_WAY_SIZE > ICACHE_WAY_SIZE #define TLBTEMP_SIZE (2 * DCACHE_WAY_SIZE) --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/include/asm/thread_info.h +++ linux-riscv-5.8-5.8.0/arch/xtensa/include/asm/thread_info.h @@ -55,6 +55,10 @@ mm_segment_t addr_limit; /* thread address space */ unsigned long cpenable; +#if XCHAL_HAVE_EXCLUSIVE + /* result of the most recent exclusive store */ + unsigned long atomctl8; +#endif /* Allocate storage for extra user states and coprocessor states. */ #if XTENSA_HAVE_COPROCESSORS --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/include/asm/uaccess.h +++ linux-riscv-5.8-5.8.0/arch/xtensa/include/asm/uaccess.h @@ -302,7 +302,7 @@ return -EFAULT; } #else -long strncpy_from_user(char *dst, const char *src, long count); +long strncpy_from_user(char *dst, const char __user *src, long count); #endif /* --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/kernel/asm-offsets.c +++ linux-riscv-5.8-5.8.0/arch/xtensa/kernel/asm-offsets.c @@ -93,6 +93,9 @@ DEFINE(THREAD_RA, offsetof (struct task_struct, thread.ra)); DEFINE(THREAD_SP, offsetof (struct task_struct, thread.sp)); DEFINE(THREAD_CPENABLE, offsetof (struct thread_info, cpenable)); +#if XCHAL_HAVE_EXCLUSIVE + DEFINE(THREAD_ATOMCTL8, offsetof (struct thread_info, atomctl8)); +#endif #if XTENSA_HAVE_COPROCESSORS DEFINE(THREAD_XTREGS_CP0, offsetof(struct thread_info, xtregs_cp.cp0)); DEFINE(THREAD_XTREGS_CP1, offsetof(struct thread_info, xtregs_cp.cp1)); --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/kernel/coprocessor.S +++ linux-riscv-5.8-5.8.0/arch/xtensa/kernel/coprocessor.S @@ -100,37 +100,6 @@ LOAD_CP_REGS_TAB(7) /* - * coprocessor_flush(struct thread_info*, index) - * a2 a3 - * - * Save coprocessor registers for coprocessor 'index'. - * The register values are saved to or loaded from the coprocessor area - * inside the task_info structure. - * - * Note that this function doesn't update the coprocessor_owner information! - * - */ - -ENTRY(coprocessor_flush) - - /* reserve 4 bytes on stack to save a0 */ - abi_entry(4) - - s32i a0, a1, 0 - movi a0, .Lsave_cp_regs_jump_table - addx8 a3, a3, a0 - l32i a4, a3, 4 - l32i a3, a3, 0 - add a2, a2, a4 - beqz a3, 1f - callx0 a3 -1: l32i a0, a1, 0 - - abi_ret(4) - -ENDPROC(coprocessor_flush) - -/* * Entry condition: * * a0: trashed, original value saved on stack (PT_AREG0) @@ -245,6 +214,39 @@ ENDPROC(fast_coprocessor) + .text + +/* + * coprocessor_flush(struct thread_info*, index) + * a2 a3 + * + * Save coprocessor registers for coprocessor 'index'. + * The register values are saved to or loaded from the coprocessor area + * inside the task_info structure. + * + * Note that this function doesn't update the coprocessor_owner information! + * + */ + +ENTRY(coprocessor_flush) + + /* reserve 4 bytes on stack to save a0 */ + abi_entry(4) + + s32i a0, a1, 0 + movi a0, .Lsave_cp_regs_jump_table + addx8 a3, a3, a0 + l32i a4, a3, 4 + l32i a3, a3, 0 + add a2, a2, a4 + beqz a3, 1f + callx0 a3 +1: l32i a0, a1, 0 + + abi_ret(4) + +ENDPROC(coprocessor_flush) + .data ENTRY(coprocessor_owner) --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/kernel/entry.S +++ linux-riscv-5.8-5.8.0/arch/xtensa/kernel/entry.S @@ -374,6 +374,11 @@ s32i a2, a1, PT_LCOUNT #endif +#if XCHAL_HAVE_EXCLUSIVE + /* Clear exclusive access monitor set by interrupted code */ + clrex +#endif + /* It is now save to restore the EXC_TABLE_FIXUP variable. */ rsr a2, exccause @@ -2020,6 +2025,12 @@ s32i a3, a4, THREAD_CPENABLE #endif +#if XCHAL_HAVE_EXCLUSIVE + l32i a3, a5, THREAD_ATOMCTL8 + getex a3 + s32i a3, a4, THREAD_ATOMCTL8 +#endif + /* Flush register file. */ spill_registers_kernel --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/kernel/perf_event.c +++ linux-riscv-5.8-5.8.0/arch/xtensa/kernel/perf_event.c @@ -399,7 +399,7 @@ .read = xtensa_pmu_read, }; -static int xtensa_pmu_setup(int cpu) +static int xtensa_pmu_setup(unsigned int cpu) { unsigned i; --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/mm/cache.c +++ linux-riscv-5.8-5.8.0/arch/xtensa/mm/cache.c @@ -71,8 +71,10 @@ kvaddr = TLBTEMP_BASE_1 + (page_to_phys(page) & DCACHE_ALIAS_MASK); + preempt_disable(); __invalidate_dcache_page_alias(kvaddr, page_to_phys(page)); + preempt_enable(); } } } @@ -157,6 +159,7 @@ if (!alias && !mapping) return; + preempt_disable(); virt = TLBTEMP_BASE_1 + (phys & DCACHE_ALIAS_MASK); __flush_invalidate_dcache_page_alias(virt, phys); @@ -167,6 +170,7 @@ if (mapping) __invalidate_icache_page_alias(virt, phys); + preempt_enable(); } /* There shouldn't be an entry in the cache for this page anymore. */ @@ -200,8 +204,10 @@ unsigned long phys = page_to_phys(pfn_to_page(pfn)); unsigned long virt = TLBTEMP_BASE_1 + (address & DCACHE_ALIAS_MASK); + preempt_disable(); __flush_invalidate_dcache_page_alias(virt, phys); __invalidate_icache_page_alias(virt, phys); + preempt_enable(); } EXPORT_SYMBOL(local_flush_cache_page); @@ -228,11 +234,13 @@ unsigned long phys = page_to_phys(page); unsigned long tmp; + preempt_disable(); tmp = TLBTEMP_BASE_1 + (phys & DCACHE_ALIAS_MASK); __flush_invalidate_dcache_page_alias(tmp, phys); tmp = TLBTEMP_BASE_1 + (addr & DCACHE_ALIAS_MASK); __flush_invalidate_dcache_page_alias(tmp, phys); __invalidate_icache_page_alias(tmp, phys); + preempt_enable(); clear_bit(PG_arch_1, &page->flags); } @@ -266,7 +274,9 @@ if (alias) { unsigned long t = TLBTEMP_BASE_1 + (vaddr & DCACHE_ALIAS_MASK); + preempt_disable(); __flush_invalidate_dcache_page_alias(t, phys); + preempt_enable(); } /* Copy data */ @@ -281,9 +291,11 @@ if (alias) { unsigned long t = TLBTEMP_BASE_1 + (vaddr & DCACHE_ALIAS_MASK); + preempt_disable(); __flush_invalidate_dcache_range((unsigned long) dst, len); if ((vma->vm_flags & VM_EXEC) != 0) __invalidate_icache_page_alias(t, phys); + preempt_enable(); } else if ((vma->vm_flags & VM_EXEC) != 0) { __flush_dcache_range((unsigned long)dst,len); @@ -305,7 +317,9 @@ if (alias) { unsigned long t = TLBTEMP_BASE_1 + (vaddr & DCACHE_ALIAS_MASK); + preempt_disable(); __flush_invalidate_dcache_page_alias(t, phys); + preempt_enable(); } memcpy(dst, src, len); --- linux-riscv-5.8-5.8.0.orig/arch/xtensa/mm/fault.c +++ linux-riscv-5.8-5.8.0/arch/xtensa/mm/fault.c @@ -110,8 +110,11 @@ */ fault = handle_mm_fault(vma, address, flags); - if (fault_signal_pending(fault, regs)) + if (fault_signal_pending(fault, regs)) { + if (!user_mode(regs)) + goto bad_page_fault; return; + } if (unlikely(fault & VM_FAULT_ERROR)) { if (fault & VM_FAULT_OOM) --- linux-riscv-5.8-5.8.0.orig/block/bfq-cgroup.c +++ linux-riscv-5.8-5.8.0/block/bfq-cgroup.c @@ -332,7 +332,7 @@ kfree(bfqg); } -void bfqg_and_blkg_get(struct bfq_group *bfqg) +static void bfqg_and_blkg_get(struct bfq_group *bfqg) { /* see comments in bfq_bic_update_cgroup for why refcounting bfqg */ bfqg_get(bfqg); --- linux-riscv-5.8-5.8.0.orig/block/bfq-iosched.c +++ linux-riscv-5.8-5.8.0/block/bfq-iosched.c @@ -2937,6 +2937,7 @@ } bfqd->in_service_queue = bfqq; + bfqd->in_serv_last_pos = 0; } /* @@ -5896,18 +5897,6 @@ struct bfq_data *bfqd; /* - * Requeue and finish hooks are invoked in blk-mq without - * checking whether the involved request is actually still - * referenced in the scheduler. To handle this fact, the - * following two checks make this function exit in case of - * spurious invocations, for which there is nothing to do. - * - * First, check whether rq has nothing to do with an elevator. - */ - if (unlikely(!(rq->rq_flags & RQF_ELVPRIV))) - return; - - /* * rq either is not associated with any icq, or is an already * requeued request that has not (yet) been re-inserted into * a bfq_queue. --- linux-riscv-5.8-5.8.0.orig/block/bfq-iosched.h +++ linux-riscv-5.8-5.8.0/block/bfq-iosched.h @@ -986,7 +986,6 @@ struct blkcg_gq *bfqg_to_blkg(struct bfq_group *bfqg); struct bfq_group *bfqq_group(struct bfq_queue *bfqq); struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node); -void bfqg_and_blkg_get(struct bfq_group *bfqg); void bfqg_and_blkg_put(struct bfq_group *bfqg); #ifdef CONFIG_BFQ_GROUP_IOSCHED --- linux-riscv-5.8-5.8.0.orig/block/bfq-wf2q.c +++ linux-riscv-5.8-5.8.0/block/bfq-wf2q.c @@ -533,9 +533,7 @@ bfqq->ref++; bfq_log_bfqq(bfqq->bfqd, bfqq, "get_entity: %p %d", bfqq, bfqq->ref); - } else - bfqg_and_blkg_get(container_of(entity, struct bfq_group, - entity)); + } } /** @@ -649,14 +647,8 @@ entity->on_st_or_in_serv = false; st->wsum -= entity->weight; - if (is_in_service) - return; - - if (bfqq) + if (bfqq && !is_in_service) bfq_put_queue(bfqq); - else - bfqg_and_blkg_put(container_of(entity, struct bfq_group, - entity)); } /** --- linux-riscv-5.8-5.8.0.orig/block/bio.c +++ linux-riscv-5.8-5.8.0/block/bio.c @@ -309,7 +309,7 @@ { struct bio *parent = bio->bi_private; - if (!parent->bi_status) + if (bio->bi_status && !parent->bi_status) parent->bi_status = bio->bi_status; bio_put(bio); return parent; @@ -738,8 +738,8 @@ struct page *page, unsigned int len, unsigned int off, bool *same_page) { - phys_addr_t vec_end_addr = page_to_phys(bv->bv_page) + - bv->bv_offset + bv->bv_len - 1; + size_t bv_end = bv->bv_offset + bv->bv_len; + phys_addr_t vec_end_addr = page_to_phys(bv->bv_page) + bv_end - 1; phys_addr_t page_addr = page_to_phys(page); if (vec_end_addr + 1 != page_addr + off) @@ -748,9 +748,9 @@ return false; *same_page = ((vec_end_addr & PAGE_MASK) == page_addr); - if (!*same_page && pfn_to_page(PFN_DOWN(vec_end_addr)) + 1 != page) - return false; - return true; + if (*same_page) + return true; + return (bv->bv_page + bv_end / PAGE_SIZE) == (page + off / PAGE_SIZE); } /* @@ -877,8 +877,10 @@ struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1]; if (page_is_mergeable(bv, page, len, off, same_page)) { - if (bio->bi_iter.bi_size > UINT_MAX - len) + if (bio->bi_iter.bi_size > UINT_MAX - len) { + *same_page = false; return false; + } bv->bv_len += len; bio->bi_iter.bi_size += len; return true; @@ -1042,6 +1044,7 @@ ssize_t size, left; unsigned len, i; size_t offset; + int ret = 0; if (WARN_ON_ONCE(!max_append_sectors)) return 0; @@ -1064,15 +1067,17 @@ 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) - return -EINVAL; + max_append_sectors, &same_page) != len) { + ret = -EINVAL; + break; + } if (same_page) put_page(page); offset = 0; } - iov_iter_advance(iter, size); - return 0; + iov_iter_advance(iter, size - left); + return ret; } /** --- linux-riscv-5.8-5.8.0.orig/block/blk-cgroup-rwstat.c +++ linux-riscv-5.8-5.8.0/block/blk-cgroup-rwstat.c @@ -109,6 +109,7 @@ lockdep_assert_held(&blkg->q->queue_lock); + memset(sum, 0, sizeof(*sum)); rcu_read_lock(); blkg_for_each_descendant_pre(pos_blkg, pos_css, blkg) { struct blkg_rwstat *rwstat; @@ -122,7 +123,7 @@ rwstat = (void *)pos_blkg + off; for (i = 0; i < BLKG_RWSTAT_NR; i++) - sum->cnt[i] = blkg_rwstat_read_counter(rwstat, i); + sum->cnt[i] += blkg_rwstat_read_counter(rwstat, i); } rcu_read_unlock(); } --- linux-riscv-5.8-5.8.0.orig/block/blk-cgroup.c +++ linux-riscv-5.8-5.8.0/block/blk-cgroup.c @@ -676,13 +676,20 @@ goto fail; } + if (radix_tree_preload(GFP_KERNEL)) { + blkg_free(new_blkg); + ret = -ENOMEM; + goto fail; + } + rcu_read_lock(); spin_lock_irq(&q->queue_lock); blkg = blkg_lookup_check(pos, pol, q); if (IS_ERR(blkg)) { ret = PTR_ERR(blkg); - goto fail_unlock; + blkg_free(new_blkg); + goto fail_preloaded; } if (blkg) { @@ -691,10 +698,12 @@ blkg = blkg_create(pos, q, new_blkg); if (IS_ERR(blkg)) { ret = PTR_ERR(blkg); - goto fail_unlock; + goto fail_preloaded; } } + radix_tree_preload_end(); + if (pos == blkcg) goto success; } @@ -704,6 +713,8 @@ ctx->body = input; return 0; +fail_preloaded: + radix_tree_preload_end(); fail_unlock: spin_unlock_irq(&q->queue_lock); rcu_read_unlock(); @@ -900,6 +911,8 @@ */ void blkcg_destroy_blkgs(struct blkcg *blkcg) { + might_sleep(); + spin_lock_irq(&blkcg->lock); while (!hlist_empty(&blkcg->blkg_list)) { @@ -907,14 +920,20 @@ struct blkcg_gq, blkcg_node); struct request_queue *q = blkg->q; - if (spin_trylock(&q->queue_lock)) { - blkg_destroy(blkg); - spin_unlock(&q->queue_lock); - } else { + if (need_resched() || !spin_trylock(&q->queue_lock)) { + /* + * Given that the system can accumulate a huge number + * of blkgs in pathological cases, check to see if we + * need to rescheduling to avoid softlockup. + */ spin_unlock_irq(&blkcg->lock); - cpu_relax(); + cond_resched(); spin_lock_irq(&blkcg->lock); + continue; } + + blkg_destroy(blkg); + spin_unlock(&q->queue_lock); } spin_unlock_irq(&blkcg->lock); @@ -1056,13 +1075,15 @@ if (preloaded) radix_tree_preload_end(); - ret = blk_iolatency_init(q); + ret = blk_throtl_init(q); if (ret) goto err_destroy_all; - ret = blk_throtl_init(q); - if (ret) + ret = blk_iolatency_init(q); + if (ret) { + blk_throtl_exit(q); goto err_destroy_all; + } return 0; err_destroy_all: --- linux-riscv-5.8-5.8.0.orig/block/blk-core.c +++ linux-riscv-5.8-5.8.0/block/blk-core.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -407,11 +408,11 @@ /** * blk_queue_enter() - try to increase q->q_usage_counter * @q: request queue pointer - * @flags: BLK_MQ_REQ_NOWAIT and/or BLK_MQ_REQ_PREEMPT + * @flags: BLK_MQ_REQ_NOWAIT and/or BLK_MQ_REQ_PM */ int blk_queue_enter(struct request_queue *q, blk_mq_req_flags_t flags) { - const bool pm = flags & BLK_MQ_REQ_PREEMPT; + const bool pm = flags & BLK_MQ_REQ_PM; while (true) { bool success = false; @@ -423,7 +424,8 @@ * responsible for ensuring that that counter is * globally visible before the queue is unfrozen. */ - if (pm || !blk_queue_pm_only(q)) { + if ((pm && queue_rpm_status(q) != RPM_SUSPENDED) || + !blk_queue_pm_only(q)) { success = true; } else { percpu_ref_put(&q->q_usage_counter); @@ -448,8 +450,7 @@ wait_event(q->mq_freeze_wq, (!q->mq_freeze_depth && - (pm || (blk_pm_request_resume(q), - !blk_queue_pm_only(q)))) || + blk_pm_resume_queue(pm, q)) || blk_queue_dying(q)); if (blk_queue_dying(q)) return -ENODEV; @@ -526,6 +527,7 @@ goto fail_stats; q->backing_dev_info->ra_pages = VM_READAHEAD_PAGES; + q->backing_dev_info->io_pages = VM_READAHEAD_PAGES; q->backing_dev_info->capabilities = BDI_CAP_CGROUP_WRITEBACK; q->node = node_id; @@ -621,7 +623,7 @@ struct request *req; WARN_ON_ONCE(op & REQ_NOWAIT); - WARN_ON_ONCE(flags & ~(BLK_MQ_REQ_NOWAIT | BLK_MQ_REQ_PREEMPT)); + WARN_ON_ONCE(flags & ~(BLK_MQ_REQ_NOWAIT | BLK_MQ_REQ_PM)); req = blk_mq_alloc_request(q, op, flags); if (!IS_ERR(req) && q->mq_ops->initialize_rq_fn) @@ -797,11 +799,10 @@ { char b[BDEVNAME_SIZE]; - printk(KERN_INFO "attempt to access beyond end of device\n"); - printk(KERN_INFO "%s: rw=%d, want=%Lu, limit=%Lu\n", - bio_devname(bio, b), bio->bi_opf, - (unsigned long long)bio_end_sector(bio), - (long long)maxsector); + pr_info_ratelimited("attempt to access beyond end of device\n" + "%s: rw=%d, want=%llu, limit=%llu\n", + bio_devname(bio, b), bio->bi_opf, + bio_end_sector(bio), maxsector); } #ifdef CONFIG_FAIL_MAKE_REQUEST @@ -972,11 +973,14 @@ } /* - * For a REQ_NOWAIT based request, return -EOPNOTSUPP - * if queue is not a request based queue. + * Non-mq queues do not honor REQ_NOWAIT, so complete a bio + * with BLK_STS_AGAIN status in order to catch -EAGAIN and + * to give a chance to the caller to repeat request gracefully. */ - if ((bio->bi_opf & REQ_NOWAIT) && !queue_is_mq(q)) - goto not_supported; + if ((bio->bi_opf & REQ_NOWAIT) && !queue_is_mq(q)) { + status = BLK_STS_AGAIN; + goto end_io; + } if (should_fail_bio(bio)) goto end_io; --- linux-riscv-5.8-5.8.0.orig/block/blk-iocost.c +++ linux-riscv-5.8-5.8.0/block/blk-iocost.c @@ -1370,7 +1370,7 @@ * should have woken up in the last period and expire idle iocgs. */ list_for_each_entry_safe(iocg, tiocg, &ioc->active_iocgs, active_list) { - if (!waitqueue_active(&iocg->waitq) && iocg->abs_vdebt && + if (!waitqueue_active(&iocg->waitq) && !iocg->abs_vdebt && !iocg_is_idle(iocg)) continue; @@ -1729,8 +1729,8 @@ u32 hw_active, hw_inuse; u64 abs_cost, cost, vtime; - /* bypass IOs if disabled or for root cgroup */ - if (!ioc->enabled || !iocg->level) + /* bypass IOs if disabled, still initializing, or for root cgroup */ + if (!ioc->enabled || !iocg || !iocg->level) return; /* always activate so that even 0 cost IOs get protected to some level */ @@ -1849,15 +1849,15 @@ struct bio *bio) { struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg); - struct ioc *ioc = iocg->ioc; + struct ioc *ioc = rqos_to_ioc(rqos); sector_t bio_end = bio_end_sector(bio); struct ioc_now now; u32 hw_inuse; u64 abs_cost, cost; unsigned long flags; - /* bypass if disabled or for root cgroup */ - if (!ioc->enabled || !iocg->level) + /* bypass if disabled, still initializing, or for root cgroup */ + if (!ioc->enabled || !iocg || !iocg->level) return; abs_cost = calc_vtime_cost(bio, iocg, true); @@ -2011,6 +2011,12 @@ ioc_refresh_params(ioc, true); spin_unlock_irq(&ioc->lock); + /* + * rqos must be added before activation to allow iocg_pd_init() to + * lookup the ioc from q. This means that the rqos methods may get + * 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 = blkcg_activate_policy(q, &blkcg_policy_iocost); if (ret) { @@ -2094,14 +2100,15 @@ { struct ioc_gq *iocg = pd_to_iocg(pd); struct ioc *ioc = iocg->ioc; + unsigned long flags; if (ioc) { - spin_lock(&ioc->lock); + spin_lock_irqsave(&ioc->lock, flags); if (!list_empty(&iocg->active_list)) { propagate_active_weight(iocg, 0, 0); list_del_init(&iocg->active_list); } - spin_unlock(&ioc->lock); + spin_unlock_irqrestore(&ioc->lock, flags); hrtimer_cancel(&iocg->waitq_timer); hrtimer_cancel(&iocg->delay_timer); --- linux-riscv-5.8-5.8.0.orig/block/blk-merge.c +++ linux-riscv-5.8-5.8.0/block/blk-merge.c @@ -154,7 +154,7 @@ if (max_sectors > start_offset) return max_sectors - start_offset; - return sectors & (lbs - 1); + return sectors & ~(lbs - 1); } static inline unsigned get_max_segment_size(const struct request_queue *q, @@ -375,6 +375,14 @@ switch (bio_op(rq->bio)) { case REQ_OP_DISCARD: case REQ_OP_SECURE_ERASE: + if (queue_max_discard_segments(rq->q) > 1) { + struct bio *bio = rq->bio; + + for_each_bio(bio) + nr_phys_segs++; + return nr_phys_segs; + } + return 1; case REQ_OP_WRITE_ZEROES: return 0; case REQ_OP_WRITE_SAME: @@ -534,10 +542,17 @@ } EXPORT_SYMBOL(__blk_rq_map_sg); +static inline unsigned int blk_rq_get_max_segments(struct request *rq) +{ + if (req_op(rq) == REQ_OP_DISCARD) + return queue_max_discard_segments(rq->q); + return queue_max_segments(rq->q); +} + static inline int ll_new_hw_segment(struct request *req, struct bio *bio, unsigned int nr_phys_segs) { - if (req->nr_phys_segments + nr_phys_segs > queue_max_segments(req->q)) + if (req->nr_phys_segments + nr_phys_segs > blk_rq_get_max_segments(req)) goto no_merge; if (blk_integrity_merge_bio(req->q, req, bio) == false) @@ -625,7 +640,7 @@ return 0; total_phys_segments = req->nr_phys_segments + next->nr_phys_segments; - if (total_phys_segments > queue_max_segments(q)) + if (total_phys_segments > blk_rq_get_max_segments(req)) return 0; if (blk_integrity_merge_rq(q, req, next) == false) --- linux-riscv-5.8-5.8.0.orig/block/blk-mq-debugfs.c +++ linux-riscv-5.8-5.8.0/block/blk-mq-debugfs.c @@ -296,7 +296,6 @@ RQF_NAME(MIXED_MERGE), RQF_NAME(MQ_INFLIGHT), RQF_NAME(DONTPREP), - RQF_NAME(PREEMPT), RQF_NAME(FAILED), RQF_NAME(QUIET), RQF_NAME(ELVPRIV), --- linux-riscv-5.8-5.8.0.orig/block/blk-mq-sched.c +++ linux-riscv-5.8-5.8.0/block/blk-mq-sched.c @@ -77,6 +77,15 @@ return; clear_bit(BLK_MQ_S_SCHED_RESTART, &hctx->state); + /* + * Order clearing SCHED_RESTART and list_empty_careful(&hctx->dispatch) + * in blk_mq_run_hw_queue(). Its pair is the barrier in + * blk_mq_dispatch_rq_list(). So dispatch code won't see SCHED_RESTART, + * meantime new request added to hctx->dispatch is missed to check in + * blk_mq_run_hw_queue(). + */ + smp_mb(); + blk_mq_run_hw_queue(hctx, true); } --- linux-riscv-5.8-5.8.0.orig/block/blk-mq-sched.h +++ linux-riscv-5.8-5.8.0/block/blk-mq-sched.h @@ -66,7 +66,7 @@ struct request_queue *q = rq->q; struct elevator_queue *e = q->elevator; - if (e && e->type->ops.requeue_request) + if ((rq->rq_flags & RQF_ELVPRIV) && e && e->type->ops.requeue_request) e->type->ops.requeue_request(rq); } --- linux-riscv-5.8-5.8.0.orig/block/blk-mq-sysfs.c +++ linux-riscv-5.8-5.8.0/block/blk-mq-sysfs.c @@ -36,8 +36,6 @@ struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); - cancel_delayed_work_sync(&hctx->run_work); - if (hctx->flags & BLK_MQ_F_BLOCKING) cleanup_srcu_struct(hctx->srcu); blk_free_flush_queue(hctx->fq); --- linux-riscv-5.8-5.8.0.orig/block/blk-mq-tag.c +++ linux-riscv-5.8-5.8.0/block/blk-mq-tag.c @@ -90,9 +90,9 @@ static int __blk_mq_get_tag(struct blk_mq_alloc_data *data, struct sbitmap_queue *bt) { - if (!(data->flags & BLK_MQ_REQ_INTERNAL) && - !hctx_may_queue(data->hctx, bt)) + if (!data->q->elevator && !hctx_may_queue(data->hctx, bt)) return BLK_MQ_NO_TAG; + if (data->shallow_depth) return __sbitmap_queue_get_shallow(bt, data->shallow_depth); else --- linux-riscv-5.8-5.8.0.orig/block/blk-mq.c +++ linux-riscv-5.8-5.8.0/block/blk-mq.c @@ -103,7 +103,7 @@ { struct mq_inflight *mi = priv; - if (rq->part == mi->part) + if (rq->part == mi->part && blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT) mi->inflight[rq_data_dir(rq)]++; return true; @@ -277,7 +277,7 @@ struct request *rq = tags->static_rqs[tag]; req_flags_t rq_flags = 0; - if (data->flags & BLK_MQ_REQ_INTERNAL) { + if (data->q->elevator) { rq->tag = BLK_MQ_NO_TAG; rq->internal_tag = tag; } else { @@ -296,8 +296,8 @@ rq->mq_hctx = data->hctx; rq->rq_flags = rq_flags; rq->cmd_flags = data->cmd_flags; - if (data->flags & BLK_MQ_REQ_PREEMPT) - rq->rq_flags |= RQF_PREEMPT; + if (data->flags & BLK_MQ_REQ_PM) + rq->rq_flags |= RQF_PM; if (blk_queue_io_stat(data->q)) rq->rq_flags |= RQF_IO_STAT; INIT_LIST_HEAD(&rq->queuelist); @@ -362,8 +362,6 @@ data->flags |= BLK_MQ_REQ_NOWAIT; if (e) { - data->flags |= BLK_MQ_REQ_INTERNAL; - /* * Flush requests are special and go directly to the * dispatch list. Don't include reserved tags in the @@ -378,7 +376,7 @@ retry: data->ctx = blk_mq_get_ctx(q); data->hctx = blk_mq_map_queue(q, data->cmd_flags, data->ctx); - if (!(data->flags & BLK_MQ_REQ_INTERNAL)) + if (!e) blk_mq_tag_busy(data->hctx); /* @@ -474,9 +472,7 @@ cpu = cpumask_first_and(data.hctx->cpumask, cpu_online_mask); data.ctx = __blk_mq_get_ctx(q, cpu); - if (q->elevator) - data.flags |= BLK_MQ_REQ_INTERNAL; - else + if (!q->elevator) blk_mq_tag_busy(data.hctx); ret = -EWOULDBLOCK; @@ -1304,6 +1300,11 @@ hctx->dispatched[queued_to_index(queued)]++; + /* 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) + q->mq_ops->commit_rqs(hctx); /* * Any items that need requeuing? Stuff them into hctx->dispatch, * that is where we will continue on next queue run. @@ -1311,19 +1312,20 @@ if (!list_empty(list)) { bool needs_restart; - /* - * 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 (q->mq_ops->commit_rqs && queued) - q->mq_ops->commit_rqs(hctx); - spin_lock(&hctx->lock); list_splice_tail_init(list, &hctx->dispatch); spin_unlock(&hctx->lock); /* + * Order adding requests to hctx->dispatch and checking + * SCHED_RESTART flag. The pair of this smp_mb() is the one + * in blk_mq_sched_restart(). Avoid restart code path to + * miss the new added requests to hctx->dispatch, meantime + * SCHED_RESTART is observed here. + */ + smp_mb(); + + /* * If SCHED_RESTART was set by the caller of this function and * it is no longer set that means that it was cleared by another * thread and hence that a queue rerun is needed. @@ -1909,7 +1911,8 @@ if (bypass_insert) return BLK_STS_RESOURCE; - blk_mq_request_bypass_insert(rq, false, run_queue); + blk_mq_sched_insert_request(rq, false, run_queue, false); + return BLK_STS_OK; } @@ -1961,6 +1964,7 @@ struct list_head *list) { int queued = 0; + int errors = 0; while (!list_empty(list)) { blk_status_t ret; @@ -1977,6 +1981,7 @@ break; } blk_mq_end_request(rq, ret); + errors++; } else queued++; } @@ -1986,7 +1991,8 @@ * the driver there was more coming, but that turned out to * be a lie. */ - if (!list_empty(list) && hctx->queue->mq_ops->commit_rqs && queued) + if ((!list_empty(list) || errors) && + hctx->queue->mq_ops->commit_rqs && queued) hctx->queue->mq_ops->commit_rqs(hctx); } --- linux-riscv-5.8-5.8.0.orig/block/blk-mq.h +++ linux-riscv-5.8-5.8.0/block/blk-mq.h @@ -159,7 +159,7 @@ static inline struct blk_mq_tags *blk_mq_tags_from_data(struct blk_mq_alloc_data *data) { - if (data->flags & BLK_MQ_REQ_INTERNAL) + if (data->q->elevator) return data->hctx->sched_tags; return data->hctx->tags; --- linux-riscv-5.8-5.8.0.orig/block/blk-pm.c +++ linux-riscv-5.8-5.8.0/block/blk-pm.c @@ -67,6 +67,10 @@ WARN_ON_ONCE(q->rpm_status != RPM_ACTIVE); + spin_lock_irq(&q->queue_lock); + q->rpm_status = RPM_SUSPENDING; + spin_unlock_irq(&q->queue_lock); + /* * Increase the pm_only counter before checking whether any * non-PM blk_queue_enter() calls are in progress to avoid that any @@ -89,15 +93,14 @@ /* Switch q_usage_counter back to per-cpu mode. */ blk_mq_unfreeze_queue(q); - spin_lock_irq(&q->queue_lock); - if (ret < 0) + if (ret < 0) { + spin_lock_irq(&q->queue_lock); + q->rpm_status = RPM_ACTIVE; pm_runtime_mark_last_busy(q->dev); - else - q->rpm_status = RPM_SUSPENDING; - spin_unlock_irq(&q->queue_lock); + spin_unlock_irq(&q->queue_lock); - if (ret) blk_clear_pm_only(q); + } return ret; } --- linux-riscv-5.8-5.8.0.orig/block/blk-pm.h +++ linux-riscv-5.8-5.8.0/block/blk-pm.h @@ -6,11 +6,14 @@ #include #ifdef CONFIG_PM -static inline void blk_pm_request_resume(struct request_queue *q) +static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q) { - if (q->dev && (q->rpm_status == RPM_SUSPENDED || - q->rpm_status == RPM_SUSPENDING)) - pm_request_resume(q->dev); + if (!q->dev || !blk_queue_pm_only(q)) + return 1; /* Nothing to do */ + if (pm && q->rpm_status != RPM_SUSPENDED) + return 1; /* Request allowed */ + pm_request_resume(q->dev); + return 0; } static inline void blk_pm_mark_last_busy(struct request *rq) @@ -44,8 +47,9 @@ --rq->q->nr_pending; } #else -static inline void blk_pm_request_resume(struct request_queue *q) +static inline int blk_pm_resume_queue(const bool pm, struct request_queue *q) { + return 1; } static inline void blk_pm_mark_last_busy(struct request *rq) --- linux-riscv-5.8-5.8.0.orig/block/blk-settings.c +++ linux-riscv-5.8-5.8.0/block/blk-settings.c @@ -466,6 +466,14 @@ } EXPORT_SYMBOL(blk_queue_stack_limits); +static unsigned int blk_round_down_sectors(unsigned int sectors, unsigned int lbs) +{ + sectors = round_down(sectors, lbs >> SECTOR_SHIFT); + if (sectors < PAGE_SIZE >> SECTOR_SHIFT) + sectors = PAGE_SIZE >> SECTOR_SHIFT; + return sectors; +} + /** * blk_stack_limits - adjust queue_limits for stacked devices * @t: the stacking driver limits (top device) @@ -581,6 +589,10 @@ ret = -1; } + t->max_sectors = blk_round_down_sectors(t->max_sectors, t->logical_block_size); + t->max_hw_sectors = blk_round_down_sectors(t->max_hw_sectors, t->logical_block_size); + t->max_dev_sectors = blk_round_down_sectors(t->max_dev_sectors, t->logical_block_size); + /* Discard alignment and granularity */ if (b->discard_granularity) { alignment = queue_limit_discard_alignment(b, start); @@ -832,6 +844,52 @@ } EXPORT_SYMBOL_GPL(blk_queue_can_use_dma_map_merging); +/** + * blk_queue_set_zoned - configure a disk queue zoned model. + * @disk: the gendisk of the queue to configure + * @model: the zoned model to set + * + * Set the zoned model of the request queue of @disk according to @model. + * When @model is BLK_ZONED_HM (host managed), this should be called only + * if zoned block device support is enabled (CONFIG_BLK_DEV_ZONED option). + * If @model specifies BLK_ZONED_HA (host aware), the effective model used + * depends on CONFIG_BLK_DEV_ZONED settings and on the existence of partitions + * on the disk. + */ +void blk_queue_set_zoned(struct gendisk *disk, enum blk_zoned_model model) +{ + switch (model) { + case BLK_ZONED_HM: + /* + * Host managed devices are supported only if + * CONFIG_BLK_DEV_ZONED is enabled. + */ + WARN_ON_ONCE(!IS_ENABLED(CONFIG_BLK_DEV_ZONED)); + break; + case BLK_ZONED_HA: + /* + * Host aware devices can be treated either as regular block + * devices (similar to drive managed devices) or as zoned block + * devices to take advantage of the zone command set, similarly + * to host managed devices. We try the latter if there are no + * partitions and zoned block device support is enabled, else + * we do nothing special as far as the block layer is concerned. + */ + if (!IS_ENABLED(CONFIG_BLK_DEV_ZONED) || + disk_has_partitions(disk)) + model = BLK_ZONED_NONE; + break; + case BLK_ZONED_NONE: + default: + if (WARN_ON_ONCE(model != BLK_ZONED_NONE)) + model = BLK_ZONED_NONE; + break; + } + + disk->queue->limits.zoned = model; +} +EXPORT_SYMBOL_GPL(blk_queue_set_zoned); + static int __init blk_settings_init(void) { blk_max_low_pfn = max_low_pfn - 1; --- linux-riscv-5.8-5.8.0.orig/block/blk-stat.c +++ linux-riscv-5.8-5.8.0/block/blk-stat.c @@ -137,6 +137,7 @@ struct blk_stat_callback *cb) { unsigned int bucket; + unsigned long flags; int cpu; for_each_possible_cpu(cpu) { @@ -147,20 +148,22 @@ blk_rq_stat_init(&cpu_stat[bucket]); } - spin_lock(&q->stats->lock); + spin_lock_irqsave(&q->stats->lock, flags); list_add_tail_rcu(&cb->list, &q->stats->callbacks); blk_queue_flag_set(QUEUE_FLAG_STATS, q); - spin_unlock(&q->stats->lock); + spin_unlock_irqrestore(&q->stats->lock, flags); } void blk_stat_remove_callback(struct request_queue *q, struct blk_stat_callback *cb) { - spin_lock(&q->stats->lock); + unsigned long flags; + + spin_lock_irqsave(&q->stats->lock, flags); list_del_rcu(&cb->list); if (list_empty(&q->stats->callbacks) && !q->stats->enable_accounting) blk_queue_flag_clear(QUEUE_FLAG_STATS, q); - spin_unlock(&q->stats->lock); + spin_unlock_irqrestore(&q->stats->lock, flags); del_timer_sync(&cb->timer); } @@ -183,10 +186,12 @@ void blk_stat_enable_accounting(struct request_queue *q) { - spin_lock(&q->stats->lock); + unsigned long flags; + + spin_lock_irqsave(&q->stats->lock, flags); q->stats->enable_accounting = true; blk_queue_flag_set(QUEUE_FLAG_STATS, q); - spin_unlock(&q->stats->lock); + spin_unlock_irqrestore(&q->stats->lock, flags); } EXPORT_SYMBOL_GPL(blk_stat_enable_accounting); --- linux-riscv-5.8-5.8.0.orig/block/blk-sysfs.c +++ linux-riscv-5.8-5.8.0/block/blk-sysfs.c @@ -896,9 +896,16 @@ blk_free_queue_stats(q->stats); - if (queue_is_mq(q)) + if (queue_is_mq(q)) { + struct blk_mq_hw_ctx *hctx; + int i; + cancel_delayed_work_sync(&q->requeue_work); + queue_for_each_hw_ctx(q, hctx, i) + cancel_delayed_work_sync(&hctx->run_work); + } + blk_exit_queue(q); blk_queue_free_zone_bitmaps(q); --- linux-riscv-5.8-5.8.0.orig/block/blk-zoned.c +++ linux-riscv-5.8-5.8.0/block/blk-zoned.c @@ -240,7 +240,7 @@ */ if (op == REQ_OP_ZONE_RESET && blkdev_allow_reset_all_zones(bdev, sector, nr_sectors)) { - bio->bi_opf = REQ_OP_ZONE_RESET_ALL; + bio->bi_opf = REQ_OP_ZONE_RESET_ALL | REQ_SYNC; break; } @@ -312,6 +312,7 @@ return ret; rep.nr_zones = ret; + rep.flags = BLK_ZONE_REP_CAPACITY; if (copy_to_user(argp, &rep, sizeof(struct blk_zone_report))) return -EFAULT; return 0; @@ -497,6 +498,9 @@ if (WARN_ON_ONCE(!queue_is_mq(q))) return -EIO; + if (!get_capacity(disk)) + return -EIO; + /* * Ensure that all memory allocations in this context are done as if * GFP_NOIO was specified. --- linux-riscv-5.8-5.8.0.orig/block/bsg.c +++ linux-riscv-5.8-5.8.0/block/bsg.c @@ -157,8 +157,10 @@ return PTR_ERR(rq); ret = q->bsg_dev.ops->fill_hdr(rq, &hdr, mode); - if (ret) + if (ret) { + blk_put_request(rq); return ret; + } rq->timeout = msecs_to_jiffies(hdr.timeout); if (!rq->timeout) --- linux-riscv-5.8-5.8.0.orig/block/genhd.c +++ linux-riscv-5.8-5.8.0/block/genhd.c @@ -51,7 +51,7 @@ * Set disk capacity and notify if the size is not currently * zero and will not be set to zero */ -void set_capacity_revalidate_and_notify(struct gendisk *disk, sector_t size, +bool set_capacity_revalidate_and_notify(struct gendisk *disk, sector_t size, bool revalidate) { sector_t capacity = get_capacity(disk); @@ -65,7 +65,10 @@ char *envp[] = { "RESIZE=1", NULL }; kobject_uevent_env(&disk_to_dev(disk)->kobj, KOBJ_CHANGE, envp); + return true; } + + return false; } EXPORT_SYMBOL_GPL(set_capacity_revalidate_and_notify); @@ -258,14 +261,17 @@ part = rcu_dereference(ptbl->part[piter->idx]); if (!part) continue; + get_device(part_to_dev(part)); + piter->part = part; if (!part_nr_sects_read(part) && !(piter->flags & DISK_PITER_INCL_EMPTY) && !(piter->flags & DISK_PITER_INCL_EMPTY_PART0 && - piter->idx == 0)) + piter->idx == 0)) { + put_device(part_to_dev(part)); + piter->part = NULL; continue; + } - get_device(part_to_dev(part)); - piter->part = part; piter->idx += inc; break; } @@ -349,6 +355,7 @@ rcu_read_unlock(); return part; } +EXPORT_SYMBOL_GPL(disk_map_sector_rcu); /** * disk_has_partitions @@ -719,10 +726,8 @@ disk->part0.holder_dir = kobject_create_and_add("holders", &ddev->kobj); disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj); - if (disk->flags & GENHD_FL_HIDDEN) { - dev_set_uevent_suppress(ddev, 0); + if (disk->flags & GENHD_FL_HIDDEN) return; - } /* No minors to use for partitions */ if (!disk_part_scan_enabled(disk)) --- linux-riscv-5.8-5.8.0.orig/block/keyslot-manager.c +++ linux-riscv-5.8-5.8.0/block/keyslot-manager.c @@ -103,6 +103,13 @@ spin_lock_init(&ksm->idle_slots_lock); slot_hashtable_size = roundup_pow_of_two(num_slots); + /* + * hash_ptr() assumes bits != 0, so ensure the hash table has at least 2 + * buckets. This only makes a difference when there is only 1 keyslot. + */ + if (slot_hashtable_size < 2) + slot_hashtable_size = 2; + ksm->log_slot_ht_size = ilog2(slot_hashtable_size); ksm->slot_hashtable = kvmalloc_array(slot_hashtable_size, sizeof(ksm->slot_hashtable[0]), --- linux-riscv-5.8-5.8.0.orig/block/partitions/core.c +++ linux-riscv-5.8-5.8.0/block/partitions/core.c @@ -524,19 +524,20 @@ int bdev_del_partition(struct block_device *bdev, int partno) { struct block_device *bdevp; - struct hd_struct *part; - int ret = 0; + struct hd_struct *part = NULL; + int ret; - part = disk_get_part(bdev->bd_disk, partno); - if (!part) - return -ENXIO; - - ret = -ENOMEM; - bdevp = bdget(part_devt(part)); + bdevp = bdget_disk(bdev->bd_disk, partno); if (!bdevp) - goto out_put_part; + return -ENXIO; mutex_lock(&bdevp->bd_mutex); + mutex_lock_nested(&bdev->bd_mutex, 1); + + ret = -ENXIO; + part = disk_get_part(bdev->bd_disk, partno); + if (!part) + goto out_unlock; ret = -EBUSY; if (bdevp->bd_openers) @@ -545,16 +546,14 @@ sync_blockdev(bdevp); invalidate_bdev(bdevp); - mutex_lock_nested(&bdev->bd_mutex, 1); delete_partition(bdev->bd_disk, part); - mutex_unlock(&bdev->bd_mutex); - ret = 0; out_unlock: + mutex_unlock(&bdev->bd_mutex); mutex_unlock(&bdevp->bd_mutex); bdput(bdevp); -out_put_part: - disk_put_part(part); + if (part) + disk_put_part(part); return ret; } --- linux-riscv-5.8-5.8.0.orig/block/partitions/ibm.c +++ linux-riscv-5.8-5.8.0/block/partitions/ibm.c @@ -305,8 +305,6 @@ if (!disk->fops->getgeo) goto out_exit; fn = symbol_get(dasd_biodasdinfo); - if (!fn) - goto out_exit; blocksize = bdev_logical_block_size(bdev); if (blocksize <= 0) goto out_symbol; @@ -326,7 +324,7 @@ geo->start = get_start_sect(bdev); if (disk->fops->getgeo(bdev, geo)) goto out_freeall; - if (fn(disk, info)) { + if (!fn || fn(disk, info)) { kfree(info); info = NULL; } @@ -370,7 +368,8 @@ out_nogeo: kfree(info); out_symbol: - symbol_put(dasd_biodasdinfo); + if (fn) + symbol_put(dasd_biodasdinfo); out_exit: return res; } --- linux-riscv-5.8-5.8.0.orig/block/scsi_ioctl.c +++ linux-riscv-5.8-5.8.0/block/scsi_ioctl.c @@ -651,6 +651,7 @@ compat_int_t stat; compat_caddr_t sense; unsigned char data_direction; + unsigned char pad[3]; compat_int_t quiet; compat_int_t timeout; compat_caddr_t reserved[1]; --- linux-riscv-5.8-5.8.0.orig/certs/blacklist.c +++ linux-riscv-5.8-5.8.0/certs/blacklist.c @@ -162,7 +162,7 @@ KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH, KEY_ALLOC_NOT_IN_QUOTA | - KEY_FLAG_KEEP, + KEY_ALLOC_SET_KEEP, NULL, NULL); if (IS_ERR(blacklist_keyring)) panic("Can't allocate system blacklist keyring\n"); --- linux-riscv-5.8-5.8.0.orig/certs/system_keyring.c +++ linux-riscv-5.8-5.8.0/certs/system_keyring.c @@ -171,6 +171,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-riscv-5.8-5.8.0.orig/crypto/Kconfig +++ linux-riscv-5.8-5.8.0/crypto/Kconfig @@ -145,7 +145,7 @@ config CRYPTO_MANAGER_EXTRA_TESTS bool "Enable extra run-time crypto self tests" - depends on DEBUG_KERNEL && !CRYPTO_MANAGER_DISABLE_TESTS + depends on DEBUG_KERNEL && !CRYPTO_MANAGER_DISABLE_TESTS && CRYPTO_MANAGER help Enable extra run-time self tests of registered crypto algorithms, including randomized fuzz tests. @@ -755,7 +755,7 @@ config CRYPTO_POLY1305_MIPS tristate "Poly1305 authenticator algorithm (MIPS optimized)" - depends on CPU_MIPS32 || (CPU_MIPS64 && 64BIT) + depends on MIPS select CRYPTO_ARCH_HAVE_LIB_POLY1305 config CRYPTO_MD4 --- linux-riscv-5.8-5.8.0.orig/crypto/aegis128-neon-inner.c +++ linux-riscv-5.8-5.8.0/crypto/aegis128-neon-inner.c @@ -148,8 +148,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-riscv-5.8-5.8.0.orig/crypto/af_alg.c +++ linux-riscv-5.8-5.8.0/crypto/af_alg.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -146,7 +147,7 @@ const u32 allowed = CRYPTO_ALG_KERN_DRIVER_ONLY; struct sock *sk = sock->sk; struct alg_sock *ask = alg_sk(sk); - struct sockaddr_alg *sa = (void *)uaddr; + struct sockaddr_alg_new *sa = (void *)uaddr; const struct af_alg_type *type; void *private; int err; @@ -154,7 +155,11 @@ if (sock->state == SS_CONNECTED) return -EINVAL; - if (addr_len < sizeof(*sa)) + BUILD_BUG_ON(offsetof(struct sockaddr_alg_new, salg_name) != + offsetof(struct sockaddr_alg, salg_name)); + BUILD_BUG_ON(offsetof(struct sockaddr_alg, salg_name) != sizeof(*sa)); + + if (addr_len < sizeof(*sa) + 1) return -EINVAL; /* If caller uses non-allowed flag, return error. */ @@ -162,7 +167,7 @@ return -EINVAL; sa->salg_type[sizeof(sa->salg_type) - 1] = 0; - sa->salg_name[sizeof(sa->salg_name) + addr_len - sizeof(*sa) - 1] = 0; + sa->salg_name[addr_len - sizeof(*sa) - 1] = 0; type = alg_get_type(sa->salg_type); if (PTR_ERR(type) == -ENOENT) { @@ -635,6 +640,7 @@ if (!ctx->used) ctx->merge = 0; + ctx->init = ctx->more; } EXPORT_SYMBOL_GPL(af_alg_pull_tsgl); @@ -734,9 +740,10 @@ * * @sk socket of connection to user space * @flags If MSG_DONTWAIT is set, then only report if function would sleep + * @min Set to minimum request size if partial requests are allowed. * @return 0 when writable memory is available, < 0 upon error */ -int af_alg_wait_for_data(struct sock *sk, unsigned flags) +int af_alg_wait_for_data(struct sock *sk, unsigned flags, unsigned min) { DEFINE_WAIT_FUNC(wait, woken_wake_function); struct alg_sock *ask = alg_sk(sk); @@ -754,7 +761,9 @@ if (signal_pending(current)) break; timeout = MAX_SCHEDULE_TIMEOUT; - if (sk_wait_event(sk, &timeout, (ctx->used || !ctx->more), + if (sk_wait_event(sk, &timeout, + ctx->init && (!ctx->more || + (min && ctx->used >= min)), &wait)) { err = 0; break; @@ -843,10 +852,17 @@ } lock_sock(sk); - if (!ctx->more && ctx->used) { - err = -EINVAL; - goto unlock; + if (ctx->init && !ctx->more) { + if (ctx->used) { + err = -EINVAL; + goto unlock; + } + + pr_info_once( + "%s sent an empty control message without MSG_MORE.\n", + current->comm); } + ctx->init = true; if (init) { ctx->enc = enc; --- linux-riscv-5.8-5.8.0.orig/crypto/algif_aead.c +++ linux-riscv-5.8-5.8.0/crypto/algif_aead.c @@ -78,7 +78,7 @@ SYNC_SKCIPHER_REQUEST_ON_STACK(skreq, null_tfm); skcipher_request_set_sync_tfm(skreq, null_tfm); - skcipher_request_set_callback(skreq, CRYPTO_TFM_REQ_MAY_BACKLOG, + skcipher_request_set_callback(skreq, CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL); skcipher_request_set_crypt(skreq, src, dst, len, NULL); @@ -106,8 +106,8 @@ size_t usedpages = 0; /* [in] RX bufs to be used from user */ size_t processed = 0; /* [in] TX bufs to be consumed */ - if (!ctx->used) { - err = af_alg_wait_for_data(sk, flags); + if (!ctx->init || ctx->more) { + err = af_alg_wait_for_data(sk, flags, 0); if (err) return err; } @@ -291,19 +291,20 @@ areq->outlen = outlen; aead_request_set_callback(&areq->cra_u.aead_req, - CRYPTO_TFM_REQ_MAY_BACKLOG, + CRYPTO_TFM_REQ_MAY_SLEEP, af_alg_async_cb, areq); err = ctx->enc ? crypto_aead_encrypt(&areq->cra_u.aead_req) : crypto_aead_decrypt(&areq->cra_u.aead_req); /* AIO operation in progress */ - if (err == -EINPROGRESS || err == -EBUSY) + if (err == -EINPROGRESS) return -EIOCBQUEUED; sock_put(sk); } else { /* Synchronous operation */ aead_request_set_callback(&areq->cra_u.aead_req, + CRYPTO_TFM_REQ_MAY_SLEEP | CRYPTO_TFM_REQ_MAY_BACKLOG, crypto_req_done, &ctx->wait); err = crypto_wait_req(ctx->enc ? @@ -558,12 +559,6 @@ INIT_LIST_HEAD(&ctx->tsgl_list); ctx->len = len; - ctx->used = 0; - atomic_set(&ctx->rcvused, 0); - ctx->more = 0; - ctx->merge = 0; - ctx->enc = 0; - ctx->aead_assoclen = 0; crypto_init_wait(&ctx->wait); ask->private = ctx; --- linux-riscv-5.8-5.8.0.orig/crypto/algif_skcipher.c +++ linux-riscv-5.8-5.8.0/crypto/algif_skcipher.c @@ -61,8 +61,8 @@ int err = 0; size_t len = 0; - if (!ctx->used) { - err = af_alg_wait_for_data(sk, flags); + if (!ctx->init || (ctx->more && ctx->used < bs)) { + err = af_alg_wait_for_data(sk, flags, bs); if (err) return err; } @@ -123,7 +123,7 @@ crypto_skcipher_decrypt(&areq->cra_u.skcipher_req); /* AIO operation in progress */ - if (err == -EINPROGRESS || err == -EBUSY) + if (err == -EINPROGRESS) return -EIOCBQUEUED; sock_put(sk); @@ -333,6 +333,7 @@ ctx = sock_kmalloc(sk, len, GFP_KERNEL); if (!ctx) return -ENOMEM; + memset(ctx, 0, len); ctx->iv = sock_kmalloc(sk, crypto_skcipher_ivsize(tfm), GFP_KERNEL); @@ -340,16 +341,10 @@ sock_kfree_s(sk, ctx, len); return -ENOMEM; } - memset(ctx->iv, 0, crypto_skcipher_ivsize(tfm)); INIT_LIST_HEAD(&ctx->tsgl_list); ctx->len = len; - ctx->used = 0; - atomic_set(&ctx->rcvused, 0); - ctx->more = 0; - ctx->merge = 0; - ctx->enc = 0; crypto_init_wait(&ctx->wait); ask->private = ctx; --- linux-riscv-5.8-5.8.0.orig/crypto/asymmetric_keys/asym_tpm.c +++ linux-riscv-5.8-5.8.0/crypto/asymmetric_keys/asym_tpm.c @@ -354,7 +354,7 @@ memcpy(cur, e, sizeof(e)); cur += sizeof(e); /* Zero parameters to satisfy set_pub_key ABI. */ - memset(cur, 0, SETKEY_PARAMS_SIZE); + memzero_explicit(cur, SETKEY_PARAMS_SIZE); return cur - buf; } --- linux-riscv-5.8-5.8.0.orig/crypto/ecdh.c +++ linux-riscv-5.8-5.8.0/crypto/ecdh.c @@ -39,7 +39,8 @@ struct ecdh params; unsigned int ndigits; - if (crypto_ecdh_decode_key(buf, len, ¶ms) < 0) + if (crypto_ecdh_decode_key(buf, len, ¶ms) < 0 || + params.key_size > sizeof(ctx->private_key)) return -EINVAL; ndigits = ecdh_supported_curve(params.curve_id); @@ -53,12 +54,13 @@ return ecc_gen_privkey(ctx->curve_id, ctx->ndigits, ctx->private_key); - if (ecc_is_key_valid(ctx->curve_id, ctx->ndigits, - (const u64 *)params.key, params.key_size) < 0) - return -EINVAL; - memcpy(ctx->private_key, params.key, params.key_size); + if (ecc_is_key_valid(ctx->curve_id, ctx->ndigits, + ctx->private_key, params.key_size) < 0) { + memzero_explicit(ctx->private_key, params.key_size); + return -EINVAL; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/crypto/ecdh_helper.c +++ linux-riscv-5.8-5.8.0/crypto/ecdh_helper.c @@ -67,6 +67,9 @@ if (secret.type != CRYPTO_KPP_SECRET_TYPE_ECDH) return -EINVAL; + if (unlikely(len < secret.len)) + return -EINVAL; + ptr = ecdh_unpack_data(¶ms->curve_id, ptr, sizeof(params->curve_id)); ptr = ecdh_unpack_data(¶ms->key_size, ptr, sizeof(params->key_size)); if (secret.len != crypto_ecdh_key_len(params)) --- linux-riscv-5.8-5.8.0.orig/crypto/michael_mic.c +++ linux-riscv-5.8-5.8.0/crypto/michael_mic.c @@ -7,7 +7,7 @@ * Copyright (c) 2004 Jouni Malinen */ #include -#include +#include #include #include #include @@ -19,7 +19,7 @@ }; struct michael_mic_desc_ctx { - u8 pending[4]; + __le32 pending; size_t pending_len; u32 l, r; @@ -60,13 +60,12 @@ unsigned int len) { struct michael_mic_desc_ctx *mctx = shash_desc_ctx(desc); - const __le32 *src; if (mctx->pending_len) { int flen = 4 - mctx->pending_len; if (flen > len) flen = len; - memcpy(&mctx->pending[mctx->pending_len], data, flen); + memcpy((u8 *)&mctx->pending + mctx->pending_len, data, flen); mctx->pending_len += flen; data += flen; len -= flen; @@ -74,23 +73,21 @@ if (mctx->pending_len < 4) return 0; - src = (const __le32 *)mctx->pending; - mctx->l ^= le32_to_cpup(src); + mctx->l ^= le32_to_cpu(mctx->pending); michael_block(mctx->l, mctx->r); mctx->pending_len = 0; } - src = (const __le32 *)data; - while (len >= 4) { - mctx->l ^= le32_to_cpup(src++); + mctx->l ^= get_unaligned_le32(data); michael_block(mctx->l, mctx->r); + data += 4; len -= 4; } if (len > 0) { mctx->pending_len = len; - memcpy(mctx->pending, src, len); + memcpy(&mctx->pending, data, len); } return 0; @@ -100,8 +97,7 @@ static int michael_final(struct shash_desc *desc, u8 *out) { struct michael_mic_desc_ctx *mctx = shash_desc_ctx(desc); - u8 *data = mctx->pending; - __le32 *dst = (__le32 *)out; + u8 *data = (u8 *)&mctx->pending; /* Last block and padding (0x5a, 4..7 x 0) */ switch (mctx->pending_len) { @@ -123,8 +119,8 @@ /* l ^= 0; */ michael_block(mctx->l, mctx->r); - dst[0] = cpu_to_le32(mctx->l); - dst[1] = cpu_to_le32(mctx->r); + put_unaligned_le32(mctx->l, out); + put_unaligned_le32(mctx->r, out + 4); return 0; } @@ -135,13 +131,11 @@ { struct michael_mic_ctx *mctx = crypto_shash_ctx(tfm); - const __le32 *data = (const __le32 *)key; - if (keylen != 8) return -EINVAL; - mctx->l = le32_to_cpu(data[0]); - mctx->r = le32_to_cpu(data[1]); + mctx->l = get_unaligned_le32(key); + mctx->r = get_unaligned_le32(key + 4); return 0; } @@ -156,7 +150,6 @@ .cra_name = "michael_mic", .cra_driver_name = "michael_mic-generic", .cra_blocksize = 8, - .cra_alignmask = 3, .cra_ctxsize = sizeof(struct michael_mic_ctx), .cra_module = THIS_MODULE, } --- linux-riscv-5.8-5.8.0.orig/crypto/tcrypt.c +++ linux-riscv-5.8-5.8.0/crypto/tcrypt.c @@ -198,8 +198,8 @@ goto out; } - pr_cont("%d operations in %d seconds (%ld bytes)\n", - bcount * num_mb, secs, (long)bcount * blen * num_mb); + pr_cont("%d operations in %d seconds (%llu bytes)\n", + bcount * num_mb, secs, (u64)bcount * blen * num_mb); out: kfree(rc); @@ -468,8 +468,8 @@ return ret; } - printk("%d operations in %d seconds (%ld bytes)\n", - bcount, secs, (long)bcount * blen); + pr_cont("%d operations in %d seconds (%llu bytes)\n", + bcount, secs, (u64)bcount * blen); return 0; } @@ -759,8 +759,8 @@ goto out; } - pr_cont("%d operations in %d seconds (%ld bytes)\n", - bcount * num_mb, secs, (long)bcount * blen * num_mb); + pr_cont("%d operations in %d seconds (%llu bytes)\n", + bcount * num_mb, secs, (u64)bcount * blen * num_mb); out: kfree(rc); @@ -1196,8 +1196,8 @@ goto out; } - pr_cont("%d operations in %d seconds (%ld bytes)\n", - bcount * num_mb, secs, (long)bcount * blen * num_mb); + pr_cont("%d operations in %d seconds (%llu bytes)\n", + bcount * num_mb, secs, (u64)bcount * blen * num_mb); out: kfree(rc); @@ -1434,8 +1434,8 @@ return ret; } - pr_cont("%d operations in %d seconds (%ld bytes)\n", - bcount, secs, (long)bcount * blen); + pr_cont("%d operations in %d seconds (%llu bytes)\n", + bcount, secs, (u64)bcount * blen); return 0; } --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/abiname +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/abiname @@ -0,0 +1 @@ +56 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/generic +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/generic @@ -0,0 +1,24513 @@ +EXPORT_SYMBOL arch/x86/crypto/blake2s-x86_64 0x23aa18fe blake2s_compress_arch +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 0x7c904efe poly1305_init_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xd9ec23eb poly1305_update_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xfaeb41b2 poly1305_final_arch +EXPORT_SYMBOL arch/x86/kvm/kvm 0x9f647092 kvm_cpu_has_pending_timer +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x52ac1fc0 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x92c8d8dc crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xad885ab4 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0xbc311978 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xd427b31b crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xeffd1d99 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/sha3_generic 0x2dce519b crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x75df2d28 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x79819f28 crypto_sha3_init +EXPORT_SYMBOL crypto/sm3_generic 0x271d72f9 crypto_sm3_finup +EXPORT_SYMBOL crypto/sm3_generic 0xfaff366a crypto_sm3_update +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0xceec93be to_nfit_uuid +EXPORT_SYMBOL drivers/acpi/video 0x2705bbe1 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 0xe06f60d0 acpi_video_get_levels +EXPORT_SYMBOL drivers/acpi/video 0xe92ca535 acpi_video_set_dmi_backlight_type +EXPORT_SYMBOL drivers/atm/suni 0x2ea94502 suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x67260908 uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0x1258a569 bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0x3823f077 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 0x13120d67 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x278e99f9 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x4de0f006 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x56b3f78d pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x5c30f359 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x7b762948 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x9a00edcb pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xa37bb9e8 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xab4ed06e pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xbda495a7 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xcfb38a0c pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xf32e64ea pi_write_regr +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xbce69a77 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x2aec1ffb rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x84324b7c 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 0x1cee47f9 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x41409df9 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 0x517341ec ipmi_smi_watcher_unregister +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 0x7f4951df ipmi_add_smi +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 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 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/nvram 0x3ef38dc9 arch_nvram_ops +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x577e58ed st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x5915c007 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xfa67c953 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xfac61673 st33zp24_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x6843208b xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7b2c2a43 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xa3083924 xillybus_init_endpoint +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc2567b85 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf44c01d7 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf5c4cbeb atmel_i2c_enqueue +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 0x00ae591b fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0ab7d184 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1d95a6a8 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1e5b3c4c fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x26dda38d fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x35547e3c fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x392cb85a fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a2478b9 fw_iso_context_flush_completions +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 0x3da8cacd fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x40a4fb4b fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x52a570fa fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5c113277 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5dc23a22 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x67178a37 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a35e0d4 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a86b8e5 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6df0e50e fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x84484a44 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9f520a88 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb24a4055 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc23c74df fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcd7f9dad fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd10a6c6a fw_core_handle_request +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 0xe90598a7 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xea57ea89 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfec2936a fw_bus_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0012114d drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x001ce96e drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0113ffb1 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01c1585e drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01d7adea drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01feec53 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x027ca822 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x036d5839 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03dab25b drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x044ead3f drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05325d32 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05455faa drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05a6048a drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05be7499 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x067b614c drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0843826d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0853288b drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0873ab3a drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0922376f drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x094d54f2 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09a4ca69 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a190894 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a9a0632 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0af32db3 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b8b5c9a drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bcf1921 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c028de9 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cd012da drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0daacb82 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0db2e16e drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e06ad61 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed25ae3 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x103e9e16 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10454655 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x109bd755 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11282640 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b9567a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12d6ab35 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12e2c38e drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x152cb881 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x154a57aa drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15837691 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15a9dc07 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d0f7c9 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1688f6d9 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1898fd5b drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18b47745 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1950bffb drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197e3382 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a43b2ff drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ad4172f drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1aed91b5 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bc087f3 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c8c5228 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d5cc011 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e00ce40 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e1e232e drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f956fa1 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fa08662 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20ba862f drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x212fa9c3 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d2ab6b drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2279a25b drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22ba5360 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22fe31cd drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x233d588a drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x239ff4f3 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x241178e3 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2431e90e drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x249215a1 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25331f65 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2551e937 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x262732e1 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26816f69 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26b99d34 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2791bd84 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29022afe drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x296abfc7 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29bd6b8a drm_prime_gem_destroy +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 0x2a98ed6a drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2aa8d3ea drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ae0bfea drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e011c0e drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e1050ba drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x300baada drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30765585 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31286fc2 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31325975 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31a059a0 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31ddab58 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31f3ef2b drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x328e2e38 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32d3dd9d drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x336d8159 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3507ae0a drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x352d7a4b drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3562ab27 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x367781be drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36a00594 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36a8d915 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3796fc94 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37f71e7f drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380bc930 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38322dd1 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38422cde drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aa3981d drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aec1bec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b37433d drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c2fe596 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d037010 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d10b04c drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3db16c1a drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e3ed03c drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e50b109 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e5b7a23 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e975264 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ea06fb0 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f6ad5b7 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fad73c8 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x400ce948 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4019a8f0 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43805148 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43fff266 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45ed51eb drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46d9eaec drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48f2d672 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49999fb1 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49a2b687 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4aa0cb69 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4af698ad drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce6a023 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d52d2ec drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d90e877 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dd63259 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e2ab66d drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f448790 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f4e5abf drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x501ac012 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x505fa925 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50cdb686 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50eba112 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x517a5a4b drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51a1038a drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51e9e61c drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51fb96a1 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53e94532 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x543b7919 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x548059cb drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54d581dc drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +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 0x57ed51f6 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5819d296 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5841073b __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58a80303 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e8584f drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a34f15e drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aaa38f1 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bca55bf drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c3d2c10 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5df4ecaa drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e3e86af drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e5e7d4f drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ef89a71 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f096225 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f1cb95b drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x605cd127 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60aec708 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x615ffab2 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62763f7e drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6283ce82 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63fade64 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64718635 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x650ea6ea drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6525898d drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65ace33f drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x667bb511 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x674cbab4 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67f4c47d drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68994a37 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a3ac4c2 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6aab231e drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca3cb89 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d495b34 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6eda4fbb drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ee71aab drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fb1ad6b drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fd23533 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7039e289 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70eaaaeb drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71d4166c drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72dc2a66 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73336f41 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x737f4079 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73a40e0c drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7472b23e drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b14b4c drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74f3fe1c drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7500e0e9 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75bedad7 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76078e9a drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x760e7dd5 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7759d0cb drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7839248c drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7851bf35 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78f3ca83 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x798578b2 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79a511ce drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a557ad7 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a733f9e drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a903abc drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ade1623 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7afa699f drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b05dee7 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b7d3579 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bd81f91 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c06e1df drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c637442 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d0110ad drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d848be4 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7de6377c drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f3745e2 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f9aa5fd drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fcfa6d6 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fdfce26 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8052bb7b drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80a285a9 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82614b71 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x827d1694 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8291210b drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82bbb971 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8320aef1 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83eb5a70 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87137677 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89e17c4a drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a8a050a drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b85adad drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bf28d46 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e177c31 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9015b087 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x911f117b drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92ce6cc8 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x947e5fa4 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95639c76 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x966e33e4 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96bf8c88 drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97373c9a drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x991d5d50 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99714ca7 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99a5afff __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9acea405 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b10b556 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b23c02f drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b98ccbc drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c5cbb6a drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e471dd2 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9feb5fb7 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1b91a27 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa22016dd drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa22cfcb1 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa33adb51 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3e65650 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa55bad6f drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5945b5a drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa67f15b6 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6a481e5 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa85861ec drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b5ea59 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa914fdee drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9969cc4 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa99ddc0a drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa612f30 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab195773 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabb362fc drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabb57554 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac930d13 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae7d9d0c drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf11533f drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +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 0xb1b86bbd drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb238f0c8 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2f875c3 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3d2384c drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6493b84 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba4420bc drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb06854c drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbfc45d6 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc9dab46 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcf5addd drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd4f2ce0 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe0f2408 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfa8cd42 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfd1a142 drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfd6c929 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc05f3da8 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2420204 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc32609e5 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3925e6f drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5f50866 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc70c1dbe drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7446cfe drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8174321 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc854d2b4 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc882aefd __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8c6b4d4 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8c766ab drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8e2569f drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9973027 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb56b7b7 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb6dcd07 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbe41505 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc3e7fba drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd4adb44 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd921f9c drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcddd0b74 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce4d2a6f drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf6074ab drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf744ea5 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf87a362 drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd09976a7 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0e88dfc drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0ecd131 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1ec7b65 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2e29362 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd361e3a2 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd425bdc1 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4ac342a drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5f5c00b drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6c07eed drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7e647f4 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd89202b9 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd949ca94 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9692cde drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda235d2c drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbf42acc drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc983c64 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdca857bc drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd2d9eab drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd9cd308 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdebdb4a7 drm_release +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 0xe09c037c drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe116d3a4 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1247e43 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1aa1d47 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3284890 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3678d79 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe44c4a9e drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5652960 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6027ca7 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe69ad1af drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7062fa8 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe810bf39 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8e4b74a drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8fd306e drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9ec145c drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xead1e563 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed19b49b drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeddddb7e drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef5e6e0f drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef87c534 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefb5ea45 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf135a933 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf35df2df drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3cceac4 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf494ec16 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4ebcc41 drm_agp_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf506e2ae drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa1867c3 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbaa3d46 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbac0f4d drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc1d75c7 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc39877c drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc4f0f9f drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcf444d1 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd49370b drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd952b40 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd9cd2fd drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff2ba927 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01b5d131 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01ba16b5 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02a02926 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02bd4d52 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03752c02 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0431090c __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0713424e devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08ad3900 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09de39f8 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b4b3f13 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d7a0bf9 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e3004d8 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f0b12e6 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fdb0af5 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1069c3c6 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x107e2d5d drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1230fbe5 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12b17322 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14727ed5 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x159ab2e7 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16224d4d drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16456519 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16ad932c __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19ae9771 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1add9f78 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1af7cff1 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1eb5612f drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ece3a7e drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2258dfd0 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x240890ff drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2410542d drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24269cba drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24c74294 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24ccd32f drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24e8cb21 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26f3a0de drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x285d7c55 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x298d5743 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a21a878 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2af37ab7 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c43b7fb drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c8d9647 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e8e60f6 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2eaea414 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31afc27c drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x361ede59 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3702271b drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x370ef52c drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37712e52 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37bd55de drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38174129 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x387d1601 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38d7335b drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39248617 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ef55717 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f88374d drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4154ce5b drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x424e175b drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x427f765c drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4379dcb7 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43dc83a2 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44bf10bc drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44f183ad __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46c935b2 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4beb4734 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4caa902f drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ccd9dbf drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d1f64ff drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ed1114b drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f646098 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fd3952e drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x503112ca drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54713abb drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5517b18b drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5974a8b3 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59d16ffd drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5b08bb51 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c2e08f8 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c63e489 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5cbd22b2 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f5cf93f drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fbdba4a drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x624cf869 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63801a62 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x639c500f drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63ec8f9b drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x651c2ac0 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67ee5fa1 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69e473c0 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a68558d drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b68083d drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c2d3bb2 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f0fa3dd drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f4cec65 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x719e6612 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71f62dea drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x729b3909 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x731ec287 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7528f42e drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7610d7ce drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7781843b drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78cd819f drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7970a32b drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b970ad7 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bf32a41 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7caa3ac6 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f7b90c5 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80144dd5 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80c3ceee drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80cdbc91 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80ef21da drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81b170c6 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8224159e drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8496e629 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x850289df drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x878b3d86 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x878e37be drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88075c48 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88e98628 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a67fad3 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8cde3442 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d195a50 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9008a929 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x937a360c drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93c517c2 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9476b99e drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94e7151b drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96422fe0 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96e67b91 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x979850e1 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97cc9c3f drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a3b30a8 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c0f7c37 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e317178 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ea2f314 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0969bf2 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5b45b98 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8dd4436 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9758976 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9b37f7d drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9d57a0e drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa43d5e6 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa43f752 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa648fce drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabfb4d88 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaedfebf9 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaefc1210 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0c19d9f drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb129ac9e drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb182a6c5 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3a935f5 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3d45970 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4ed597f drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb61cd055 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb986cc51 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba4c132e __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba9dd968 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd775d43 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe9d87c0 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbefb2e45 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc12285d2 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc27c5428 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3c4e84d drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc41fed53 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5247b96 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc59c6668 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc76a99f9 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc80a4e63 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2a3b7a drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd5bc55f drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd079c603 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd07df8ce drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd11657f2 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2c9bce5 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd34d932f drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4559f51 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd48eb7a9 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd51a07ef drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd614d69d drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6e05625 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd76163be drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd89505d8 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd909407e drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda5a5501 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdbaeb223 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde87bc7f drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdeac5017 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf8af1ed drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfa47453 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfc41199 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe092f240 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe09be0bd drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2370f72 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe245a19a drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe24a9fc7 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe585f070 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe74f70f9 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea763005 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb36f037 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf019430a drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0828b38 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0d03a7e drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2d6301b __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4ed4a45 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb925fe3 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe8507ba drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x04ef0d30 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0d31e170 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1740a615 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1b876c41 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x34af8875 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x39ab38e2 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x61e51db0 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x755d2893 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8508f056 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8c8fd921 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa52810d4 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb2dc03b1 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xcc5eb382 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xde581809 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe30daf74 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe3d47968 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf4c2f7c3 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x91289851 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xc90babf5 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x12db4035 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x255cd19f drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3f0fedd1 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x416e0bd0 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x622f4b91 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x660bc72b drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6763bb81 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7444366f drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7bbbf218 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8b54653c drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8e2ae5ff drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9aca2fb7 drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb0021677 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb6052867 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbeb09a1c drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc3f20e6b drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xcaba2218 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xcc4851b2 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xcd54c657 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd4c7492c drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfb8dcbd1 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x02f4b424 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0c05dcb2 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x36af30c1 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4d40755d drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5e0e9cbc to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x61319d63 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8f87d4a2 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9438c5c9 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x946ead79 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x950c4d49 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9bd52a6d drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb5ac2e39 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb6239ffd drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb9bcf23e drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc7204b07 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd2b75328 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdb707803 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdcd98b4d drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe26c8beb drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf0faa946 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf845aedf drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x111afaf9 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x163b89be ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17d67d5b ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c1b0585 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ffca310 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2313dc2f ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x281229f0 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b6ae8b8 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d46081b ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a05875a ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b68f626 ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3eb0218c ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x423d026e ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4c5db1e6 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d158469 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4ec36650 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x507be2f6 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x54dfe880 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x599a20db ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e538dc3 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6031900a ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x618668e3 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62a256c8 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x675755a6 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69982125 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69bb44c2 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6c61a5a1 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6cdc05e4 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6fe5f918 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71724cca ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x761cd36c ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a258c2c ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f20aaeb ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83a39d03 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88170520 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x888fb1f2 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88f688cf ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d28c79a ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9410e145 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa1ba2c54 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa50db72 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab5bb535 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xacb60c5c ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaf45c9e1 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb4c39d68 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb77ce429 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7c4a992 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xba15d0b2 ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xba628b6e ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc05b17fc ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc0f3f08e ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc35b73cf ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc780d198 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc80cb161 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xca3f5791 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd69608b6 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd8ce5998 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb7ab373 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdc904c07 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe2078b3c ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec2a1039 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfae61cf9 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfec71401 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x446c961c ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/hid/hid 0x78eaf929 hid_bus_type +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x03743f1c ishtp_recv +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0d2dd63c ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0f56e2f3 ishtp_set_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x11aba484 ishtp_set_rx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1917fcee ishtp_dev_to_cl_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1e6af658 ishtp_cl_get_tx_free_buffer_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x2173d4d9 ishtp_cl_send +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x425f37b2 ishtp_reset_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x49c2d4d7 ishtp_cl_connect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4a86b586 ishtp_trace_callback +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x530e7977 ishtp_cl_allocate +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5f9b0501 ishtp_get_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x712f4729 ish_hw_reset +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x7624c47a ishtp_get_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x80a55ac5 ishtp_put_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x82039ce3 ishtp_set_connection_state +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x87c82e58 ishtp_cl_get_tx_free_rings +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x9a221fd0 ishtp_cl_link +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa4b4d238 ishtp_register_event_cb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa5878394 ishtp_cl_io_rb_recycle +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xab5cac08 ishtp_fw_cl_by_uuid +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xabee7daa ishtp_set_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xac5d4174 ishtp_bus_remove_all_clients +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xad36b6a7 ishtp_cl_unlink +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xae6dc71d ishtp_set_tx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb1a3f63f ishtp_device_init +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb4e37f72 ishtp_get_ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb7d52c0e ishtp_cl_tx_empty +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb835384b ishtp_reset_compl_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xbd002970 ishtp_start +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xbea57f6e ishtp_get_pci_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xc2445250 ishtp_get_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xc6055543 ishtp_cl_flush_queues +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd937ab2a ishtp_fw_cl_get_client +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xda73fd7b ishtp_get_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe2bfdb5a ishtp_cl_rx_get_rb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe3159dd6 ishtp_cl_disconnect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe7c58c7a ishtp_send_suspend +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xece89c0c ishtp_cl_driver_unregister +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xed88b67a ishtp_send_resume +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf231150e ishtp_cl_set_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf7d703bd ishtp_cl_driver_register +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xfa606dbc ishtp_cl_free +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x5ae6f3f8 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xdba1edc3 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 0x34257f35 sch56xx_watchdog_unregister +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 0xb104170b sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x26105011 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xf3b76005 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xfe7ece20 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x17f0a52a i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x5c0acd84 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x5361eb59 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x146e7a7c bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x5ece10fe bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x8d44d538 bma400_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x163df006 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x2f85d81c kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x8870504e kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x020ed967 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x03e25ea7 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x19ece285 mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x1ed21860 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3b43b823 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3fb6b72e mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x4c82dd28 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x6a4d8424 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x7de238f1 mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x89c5bc6d mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x907f53b7 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x90a4555e mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9447464a mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc343d388 mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xd780b92e mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe8dcc0ea mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x07369ecb st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x8af4b0cb st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xf83442ea st_accel_get_settings +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xbefa7854 iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xf59052cc iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x7efee4b6 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xc3cb7fc9 devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xeee71d1f iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x917766e9 bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x040f5b4b hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x41061bb4 hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x4e0ca9b3 hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x67fe627a hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x6dcb50f5 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x83121bc2 hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x87762b91 hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x8cbabdf2 hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xeb99c7ef hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xf4cfa8b1 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x107372f4 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x2f307005 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xaa37bbe6 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xc3e0666a hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x0007616c ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x0562ecaf ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x34acd6ce ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x46fd085c ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x614ffa5f ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x91ba5536 ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xa4cfe27f ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xbad41dad ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xe8250a32 ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x1f6eb12b ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x295a21e8 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x4182cf4b ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xa265bfca ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xb78a6d43 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x64d848a0 ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xb2c97631 ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xc4e4a947 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0abc02ca st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x16a1aebc st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1e23209b st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x22867073 st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3290c48e st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x399037ea st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x4605d290 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x46ad908a st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x46ee2722 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x5062e53a st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x73eff53d st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x82047b29 st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x86edf08a st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8a8914de st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8fca8834 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xb0af0974 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc799844e st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xdd911952 st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0xdcfb52ee st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0xb71824b6 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x16a8c189 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x9e44ea2a mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xc99b4dc4 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x6fca0844 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x93390173 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xec25d9ae st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x359a5ec2 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xdde53c72 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x242c7b47 adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xf3217709 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca0cdb60 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x77c7d829 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x63dd8757 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xcdf2154b st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x0fbdb660 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x1819bf69 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x26115235 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x301594a3 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x31145a11 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x456392d3 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x4ad5a256 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x51fb68ff iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x61d8fe6b iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x7fd6653d iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x84ef5e8f iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x8c03d613 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x8ff9e517 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x9699d437 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x99a142bc iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xa31fcc5c iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xc1b9a9ba iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xc30a76ea iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xc42ff7e9 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc4ffe1aa iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xd3f4039b iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xd9fd8753 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe76ac3c8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xfcd071f4 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x9259ab3c iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x06ce4b1c iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x2b019520 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x5ee21b62 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x9dcef202 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x4c06cc32 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x676b853b iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x97f787f0 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xc3e4779c iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x3e5e7698 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xd52d4805 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x2c201b8c st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x6993cbc6 st_uvis25_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x33190f01 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x67f5a315 bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x79e675c5 bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x988ee8da bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x49c5c829 hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x4c0c1652 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x7fd1447f hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xdd9e41d0 hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x02cdcad2 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x723bb805 st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xede35918 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x395a77b9 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x54e495b1 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xbe6248d3 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xf2554688 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0xc8cef463 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0xcf93af9d ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x63f92287 st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xf5fa72cc st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xfe5068a4 st_press_get_settings +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x14cbe43a ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x34348b70 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x49107e32 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x68c35a45 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x76351b6c ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x77252260 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x775b89fe ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x776b99c4 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x883bfe31 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9888e21f ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc1e4a90 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc038f47f cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc80acb97 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd679c85c ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe2fb409d ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf9e8b5ee ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00533d34 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00b2ecab ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01b194fb ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0388fdec ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x042035ff ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06766ea5 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07520ae5 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a2ed54 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07aa8ad8 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08ebe770 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a827631 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0aef433a ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b7ca3f4 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b843eee __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d708362 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x105b01fd ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12a230d2 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12c3db46 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x138e0cdc ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x140b4676 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x156068ab ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16a8e3ac ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16bc88fb ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17a71e1e ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a147637 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a9d6c0f rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b2eb6a3 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1bdf5fe7 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1caeb5dc rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fb25ac5 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fb8fd83 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20b83c9f ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2104364b rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2240cac9 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f9a809 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2304997b ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23af2a76 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2470aa88 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2718c0ee ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28ad7f6c ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28cedce4 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x296993ff rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cf20da9 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f0ae834 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3038df01 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x337898f8 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35c511c8 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35ee86b7 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3931c131 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39951967 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c3f7114 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d3fa23b rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e0d6912 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e963640 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ea65550 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f851943 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40495fe4 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4060f864 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x435d12e7 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x447f633c ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4810b3c6 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4995751e ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x499c8a44 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4aea7621 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b9dd9ef rdma_port_get_link_layer +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 0x4fd8807f rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51726f33 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x526745f7 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x528b7b93 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52e4e8f3 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53acd299 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54193e39 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55633d56 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55aa6aaf ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55fb117d rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57b891b3 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57ef80ed ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b4df0da ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5bd451ac ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c68e3fa rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e1bf75e ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f65757b __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60eacb4b ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x615af59f ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6244894c ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62ec7171 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64029f05 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6777fb12 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ae50813 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ae55290 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d2ea21b rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7278e4f1 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74b70b70 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a6a4866 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ac1cce7 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c10975e rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d4429e7 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f0e67d8 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x807f53a4 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x844355c3 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86f62580 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x893ddc1e ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c214431 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c40955b rdma_user_mmap_entry_remove +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 0x9345372a rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x936f703a ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95b15ec7 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x961020c3 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9782e1e6 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97e4f930 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99d58015 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a42a896 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bbe5a30 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c6bd26e ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cb95d08 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0d022d3 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0f4c65a rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa19ec704 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1ec144e ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa278b3b2 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4aa30ce ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5937c51 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5af2f9e rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5b7a376 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5d521bd ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa70577c0 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7a197cf ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa991800d rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac745ec1 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaea872b6 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaecb696e rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb03c2796 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb044f643 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb094dba2 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0c9ed53 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb11dba17 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb20bf31e ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb46503bf ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5550357 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6c0da71 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8a0ce85 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb93b93ff ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9497e92 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd8355c3 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe568b2a ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc029460f ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc58f9f9a ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc655bf82 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7f0f16c rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc918081c ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc97d31b8 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdf2de58 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce4b233c rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce55e7b3 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd0e6190d rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd27d8fed ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd62a5b65 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd777ab71 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9be6109 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda94a4b9 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdcbcf1cb rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddc46b08 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfcbb8ab ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe00eeea7 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe24ca3cd ib_query_qp +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 0xe6e51aea rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8c3b8d5 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf01e10f9 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf196259b rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1b25473 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5e51888 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5f1f65c rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf67a5f85 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf77b75f4 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7858add ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7c1a763 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf80c9e61 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf978f594 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfaadaae8 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb9c2607 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbb0fba6 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc949051 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd008b20 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfedef311 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x10207744 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x13ae578f _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x15f5eaf6 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1cd55513 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x217a6b1c ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x249f4fe3 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2e6607d2 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2fec6fbe uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3238a3e4 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x457f285f ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x525d581c uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x52f7617f ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63fe6afe uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x645048d5 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x68fd3f1c uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6f9232ae ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x700689a6 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x76141913 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7cb02989 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7db593d5 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa6f217c7 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbcae7caa ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd1d5fd0e ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd5d725f2 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdd6e7232 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf0243e96 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf2089552 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf222f2d8 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x04ede1f4 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x21daf6da iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x47d5ef3a iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x50560040 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5605788c iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaae5580c iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd2fe644f iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf4cab833 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0b57465e rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1acb579a __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x262f52bf rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2abbbe8a __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x41a11637 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x51e8222e rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x68259610 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x719bbbc6 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7dd49dbd rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e219bae rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8805dba0 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9d416757 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa579a244 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa5b26bd4 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa5e1907e rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xadd10a1d rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb13efd6b rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb1c52f11 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb704d94b rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbe4206de rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc11d35e9 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc268b849 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc5c415ac __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc6daac1a rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe050f3a6 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xec93c802 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xedc87363 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfb3ea9d5 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xffa5b9e7 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e0ef2b7 rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e385842 ib_rvt_state_ops +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x14b564f4 rvt_error_qp +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x19cdbc05 rvt_dealloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2d9bd345 rvt_get_credit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x30d98854 rvt_cq_enter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x31b484ff rvt_qp_iter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x343a67ec rvt_rc_error +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x412583a3 rvt_qp_iter_next +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4824297c rvt_rc_rnr_retry +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4f135fa5 rvt_comm_est +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x522a582e rvt_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5903704d rvt_copy_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x650d93f8 rvt_unregister_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x67c68f19 rvt_stop_rc_timers +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x7d2b2c20 rvt_check_ah +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x84a2ab74 rvt_get_rwqe +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x888bd806 rvt_ruc_loopback +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x95e7263f rvt_register_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xa79206e3 rvt_rkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xae26c5a2 rvt_del_timers_sync +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb03b75c5 rvt_mcast_find +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb2a8ae10 rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb37cc161 rvt_qp_iter_init +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xcc1336c6 rvt_restart_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd7de4a7b rvt_add_rnr_timer +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe0dfb8d1 rvt_invalidate_rkey +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9cf3e43 rvt_rnr_tbl_to_usec +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9eaa1f7 rvt_send_complete +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xed02d866 rvt_lkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xed9495f8 rvt_alloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf80f29ea rvt_compute_aeth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3037fcae rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x33d12dd8 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x85ebe047 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x95e62f8b rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xc94595cc rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd4718c59 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x4387199e 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 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xaab07d37 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xbacfe47f rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xf1f30d7f rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1aca0c6b rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x388aac95 rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x47518d1e rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7a9148bb rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xa6d40202 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xc5561ae9 rtrs_srv_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x0f66a916 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x450a2c11 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xabb61f98 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd11a8df gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcd0a25d2 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcd9dd5b9 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd2520f4c __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd2f42daf gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdcd70bfb gameport_set_phys +EXPORT_SYMBOL drivers/input/input-polldev 0x15d70cf4 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x3ff50113 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc69bf025 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xcd59804c input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf8500dbd input_allocate_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x706dc728 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x87a14cb1 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xfa4fdc7d iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x0000af0f matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x0e499caf ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x75b9627f ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x90f12f8b 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 0xdc0e38ce cma3000_init +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x54e9534c rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x26ed77a6 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x691c3243 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8a950327 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0xcb92b323 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xdb7a0401 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x515bfdc9 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x964bdde9 ad7879_pm_ops +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x3c827c54 amd_iommu_set_invalid_ppr_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x53e2802e amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xb9549595 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xc956989a amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xe8b1efb1 amd_iommu_init_device +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xf3c9086c amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x33b65980 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x79b2c053 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8ef26387 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xae201759 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc90f8061 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 0x6ab34106 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x70b8dd8a mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x8bfefe61 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc773afc2 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x88c25193 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd7febf47 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1b4a6425 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x21bc43b1 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x236da01d dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2a22e24b mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2cb36e87 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2d74c582 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2fe96e99 bchannel_senddata +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 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54aa154d queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5cff8cde create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x610a94d0 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x731082c1 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7ea45ee4 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x874cc8b5 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9779ea90 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9b55ce9e recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad6705dc mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb7596217 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbb2b4780 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3be3e77 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc69e862a recv_Dchannel_skb +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 0xd51c7ad6 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xda55ee2e mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe42dd9e7 mISDN_unregister_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 0xa7da8a31 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xac466b10 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 0x0e765148 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x15a837de dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xad3281ad dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xdd4c1bae dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1072335f dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x33fe5a78 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x41b29910 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb553ffb6 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xbe4fc0c2 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc09e3d40 dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x23204ad2 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x304d4bf4 r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0bd2a5b4 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x17bcdd36 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x281df6b8 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x41c75632 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4b6e48d8 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x641648f7 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x67881209 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x67d7aff3 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa37493eb flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xae4b694b flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb02748d7 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xbdd25cf6 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xcc9814b0 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/cx2341x 0x00799e3b cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x16f6ea76 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x3ad6108e cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6e804cbb cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x582ec617 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x64d25313 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x528d338e vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x96219037 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0e054063 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x307c68e1 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x58c31d1c vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x79692866 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x84fb7cc7 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xa3fbbef3 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 0x1d11aabb vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0ecea7bc dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2dd9f7a6 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2fb79053 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3feecaf6 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x46b0e250 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4b391bc8 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4cf38732 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x52829e40 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x56cc2263 dvb_register_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 0x626b72b6 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x67480317 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6e166d3b dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x76a0fd6c dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7751ad77 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b0d51ce dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7e756d45 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x80985cc4 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x80f20497 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x95ceda89 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa0e69b2d dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4cdd04f dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xab1c7cb9 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc2f77206 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc6fbdc39 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcf60586 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe233bf3a dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe379da6d dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xecbb294b dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xef2762e7 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf0b442c8 dvb_ca_en50221_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 0x906829f3 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x0539bec0 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1479aafd au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x280546dd au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x6c6a6bfa au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x833a2fd3 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x8a453549 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x98f0662b au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xb4a3998b au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xd61c0f0a au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xd7fcd86b au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xdcaa7cb0 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xafe46339 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x986bc8b6 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x0e362a50 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xa126c943 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x5e24bed7 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xbe8cdec0 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x126d08f7 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x1a5b4d3e cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x76c58fd0 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xb52aec1b cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x6b12bfa4 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x5dd3cf44 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x63c604c4 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xcea4ec3e cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x8fc2597f dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xd4dbfcf4 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xd973dadd dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xf42795dd dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xfc4fe96e dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x032700f3 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0c36fd84 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x106273a7 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x179e3a2a dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x225d08d0 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x303d652d dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4d8d99c2 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4fd4506b dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x56c368c4 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x76488e08 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8ae6845f dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9a7ddf9d dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xa8904518 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xaacef71b dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbeaa9d81 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xd42ad55e dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0626c244 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x194d3dd6 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x4a836769 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7444f649 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xd93e8a6e dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xfd245d28 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x08a0c05a dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x0ffe0f12 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x4617a13d dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x65c28045 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xbba59600 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x71feb843 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x000b8e2b dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0dbb2fb3 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x185c143b dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2705ed1d dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x295cae34 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x59f8c269 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x797f3931 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa4597c56 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xbed8f987 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe172c126 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf032b7b2 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf2e1b8be dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf902b2ed dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x06f343ff dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x233f88e4 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x2675d838 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x2a8f83e4 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x3cbc3691 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x597c2213 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x9257c042 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x21f9f7d3 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x05ff0ee4 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0xd79924fd dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x553a27ee dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x75c01d20 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xfef40386 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0xdd3fc15f ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x1431d297 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xfe04c3b2 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xaec7b6c8 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x98102863 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x333334a5 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x2c470e44 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xac3be2c8 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x4dffeff6 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xe8ae6aa1 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x85748f61 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x36e6f086 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xce361f50 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x93c8e37b lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x0500440a lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x9d9c9126 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xabd22018 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x0a24bb0e lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x86640a72 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xfb1a0498 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xb7ea1579 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x197840ce m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x7100e71e m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x4fb4a008 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xbd5da000 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x34f7e0b2 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x43494d9e mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x2f989a05 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xf9b24353 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x7a8cd01f nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x7595a114 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x6d1f226a or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0xfd46c494 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x25d193b4 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xafbbe357 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xe43ecfca s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0xbf6991f0 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x2d08aeac s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0xe94890f0 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x96a2f517 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x09435e2e sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x1e686dfd stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x29cc11b9 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0xe2881919 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xa1e03525 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xb275ed6b stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x9139580d stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x742b3bcd stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xb11642c4 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xc1883d25 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0xdb38f3e2 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xfc20a23b stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0xa21a7fbc stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xd5cf1af7 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x6f92616a tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x16a08df4 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x912b251c tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xc5af6cb3 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xfaae2431 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x48c8c150 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xad16a1e9 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0xef8c79d6 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x29473403 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0xd0a04b34 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xb9a55c09 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x41d6bef0 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x80e2efd7 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xc808c17b ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xa4197d5b zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xefb07d7e zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x79e094f4 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0xc1aa706a zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x2c1ade53 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0c2b1c6e flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x15296227 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x1b4f978b flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x314199a4 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x8fcff7f8 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xe2ed41f9 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xf7bced18 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x3dac0005 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7cf7bd46 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fff4278 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x917c4b09 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 0x1dd53207 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x3414cf2d bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x36c58957 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 0x027cde92 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x2292a040 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x3cdaa4fe dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x5c9fcda2 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7da99245 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x85beca56 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xb02ef077 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xbef82501 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xcc3b6541 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x62f4bf14 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x5606c71d cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x709883f7 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x71d8fc1f cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xa223f9fb cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xf952aa63 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x55e9d0ec 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 0x10d7d5f7 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x5a672333 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x68b84a52 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x77b309b1 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x85840f5a cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x9ffa32c8 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe2074b81 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 0x2b56e9b7 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x2e63d372 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5cb26a0b cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x81ca3d8c cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xca7700f2 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xe2c198f8 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x561a998b cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x56ee1505 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xc06e0f29 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xc68dcf35 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xdcd0e443 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xf41322b8 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xf8e062d2 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2aaf9e88 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x323b3e13 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x46768adf cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4a812a23 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x54029043 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5eafa45b cx88_ir_stop +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 0x65034b42 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d3af291 cx88_reset +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 0x92449baf cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x93510abb cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x997897fb cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa23a43b2 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa248d0f7 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa839a40d cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa83d3b3d cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xaf8c5566 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb1049723 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb1c17870 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc6628a23 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcf959e43 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xb7893bd0 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x02dec9dc ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x30a73b1a ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x37fa9e1f ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x66f58192 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x68be9c71 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x78581d3a ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7afd01a4 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x984ac9d9 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x9e4635eb ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb3c3f85c ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xbe0f9137 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc8bd162a ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcf20d201 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd753c071 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe0ff45aa ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf5a989c8 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xfe95adca ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1104202d saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1e9e5b61 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2f817dfd saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3af83fb3 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x53a66d82 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x581824fa saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7f2931e4 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa54ff57f saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb972c8c6 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xca5faac0 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xe6e99bb0 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf632d8e4 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x4ed5e8d4 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x04e855bf snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0db446e8 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0e5c65d9 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6095c74e snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x88dac1fd snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa081c301 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xfcd5a243 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xabfed8a5 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xefabfa18 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x655b6147 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xcf1285aa fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x32e8fbc3 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x69bafeb3 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x8435c0d2 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/max2165 0x04af99e9 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xa5760d6d mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x69abf3b8 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x2250e344 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x6df036c8 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x2c11ddeb mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x4a01d01a qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x9c70e86f 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/tuner-xc2028 0x489a25d4 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x34707553 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x78fadb80 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x8b40b316 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xcccf1022 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0ab26f39 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0c3d8238 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x4e0d0fe5 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x634b7b67 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x66713673 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6d03f628 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xdac6fa68 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xf918f9ec dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfeb044dc dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x075c0d2d dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x4c1e3b80 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x5d46156e dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x69c1399c dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x826931b9 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 0xc73b0420 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 0x74a781ae 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 0x3ca9e494 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x42717209 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x51ee9bd4 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x5b9680b7 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x76bc6464 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x8306c9e2 dibusb2_0_streaming_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 0xbd6b1948 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xbe4b5281 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xca5d5d25 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x1c0222d4 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x2abbd89c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x75cb25bb em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xe7fef780 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0196b8c7 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x14af61f0 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x382d3fd6 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x6f8b3a14 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x946639c6 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x9aeab3a9 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xae66800a go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb65a2224 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe07ae81f go7007_alloc +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x13613922 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x19af9f27 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x69518c2d gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x82225030 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xcbd35d3f gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xe5abca00 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xeefecfd0 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xfce537cd gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x02954730 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x204edfb0 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x60462713 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x591e948a ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x72d99540 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x384c928c 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 0x67d95897 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x97e5f116 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xfa587ffe v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0109e59e v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x02b00980 __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0469dbf7 v4l2_clk_get_rate +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 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1549e007 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1aba9e5a v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27f6e832 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2acbe8d6 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b7d7abd v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2e8c369d __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f9d7478 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x304be248 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x30b694f7 v4l2_async_notifier_register +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 0x32d44088 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x34cf3fac v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x35976991 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x389570b2 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3b18717e v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdece06 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3d105702 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3e842c52 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3e8eabe5 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x424e6151 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x427a9f8f v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x45beaf01 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4f2c4ab4 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x514453a9 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x51ae302b v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x56521def v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5937905c v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60144571 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x642f4401 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x66732f9f v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6c1acd61 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6f9ef056 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x70b8d204 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x71bddc16 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x741301d6 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x74f32f5c v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x835fe8f8 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x84aa4537 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8f434a21 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9000adcb v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9d57b14b v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9f00c9b5 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa4915421 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa94b3f79 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaa39624c v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xacb5853c v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb95f86fe v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbdff8ce1 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbfb4af8e v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc14416bb v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc1813c74 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc47e1aab v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcd0f76f5 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd08cb659 v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd71c3a50 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdbd777bb video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe29284d6 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe36eeb59 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe7ffea0b v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe80ae32e v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe82d869f v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xee88cde4 video_device_release +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 0xf54c5a5c __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf5d1cecf v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf6a1e541 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2908c650 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4671757f memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x473d28de memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4f17bd61 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x51345b79 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6b7c629d memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x83198045 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x90c6f8be memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9d2a931c memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb085ac2c memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd4ffb87d memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf1af6cbb memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0643552b mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0d050c1f mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x130cb1cb mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x151ff77d mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2ac27ae5 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x43fd913e mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x457f83dc mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4e838e17 mpt_GetIocState +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 0x62c31e96 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x63fea3dc mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6dc9f7e9 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x84148dc1 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x87444782 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8d463d9f mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8ecccb09 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x914d0671 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9e41d0b0 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9e7b9051 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa81c1520 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbaa0d604 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcb6eea97 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcbba7c8f mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcd22efbf mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd3ef65a8 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd91619e9 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdcbee3df mpt_raid_phys_disk_pg0 +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 0xee04e349 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf82d27d5 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd54026c mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x00673a5a mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x17fa9204 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x232b8499 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2d54f2e1 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x37db015d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x40a6442e mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b5554f5 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4d6e7bf4 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x59cbbe76 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5a0554b2 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x62c7462b mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63539332 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x670b07cf mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x72beb1f8 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7df500ef mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8a7241c7 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9f5aec4d mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa56db999 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa5e88dfb mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb191bb23 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3da680d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc0a87f31 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5fea4cf mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcdda44ca mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd76fbccf mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf0891a7a mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfacc11bb mptscsih_show_info +EXPORT_SYMBOL drivers/mfd/axp20x 0x0a1a9cfb axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x217287e0 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x91588e27 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x06184cfa dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xd5f3943b dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xf21b92fb dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x0402f431 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x3ba250cf pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1259cb09 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x142a9f79 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1a3bbd18 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x27f87b47 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x700b6f41 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb8b3f778 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd64a9de8 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2f2582f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe778d286 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xec0edaab mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xeed3a775 mc13xxx_get_flags +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 0x00a3904d wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x129d1b3a wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x20a7a0a3 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x876b8f49 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xbe6f67b8 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xbfc5a28e wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x9d36caad ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xc22b4439 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x6e68e25c c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xec09106a c2port_device_unregister +EXPORT_SYMBOL drivers/misc/mei/mei 0x1545cfd0 __tracepoint_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xa5bff49d __tracepoint_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xb93bb2a0 __tracepoint_mei_reg_write +EXPORT_SYMBOL drivers/misc/tifm_core 0x0bb8fdf3 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x209d7704 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x428ea08a tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x4ed19687 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x580727df tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x66ab8e4a tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x6a5b4dcf tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x8dd07bc3 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8f58b88 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xa93d82cd tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xdf3b7ac0 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe8d961d9 tifm_map_sg +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x6804c1cf cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x72eb13cd cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x8517352d cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xba788406 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xc017b830 cqhci_irq +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2a8403f9 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x67fdd1e7 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x6d0ad69c cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x87a03fc2 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x89241071 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x8a0fbe87 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xcac56518 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x38c4bb6c register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x57cd0993 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xa5727c53 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfe568067 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x26e5ed89 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x03d21d52 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x4174d874 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x533f3bc3 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0x8a3e49ee mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xdc5f90fc onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xe7478f46 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xdc813d62 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xddb24755 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x006cc776 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x0cdec2aa nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x1120b655 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x2d9245d8 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x317da503 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3739d9df nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x42cebaaa nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x4f3fe79e nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8662a855 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe78ecda8 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf01144f9 nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xfdaccf0b nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x232ce34e nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xc20041d5 nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2c5a2d4a arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x33a0f10d arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3e7bd66d arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4cab9e7d arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5c5453e5 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6941463c alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x89981a21 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9efdb895 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb92fc2d4 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xeaf4bc5f arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x91dd3305 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa0fabe79 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xd69709d6 com20020_found +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x040d5429 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0b171eea b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0c3d4760 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0fabcca9 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x146ba180 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x25e780e8 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2b5c8dc2 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3c6af4c4 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4311bc78 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x472e7baf b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4ab330af b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x53b1bde4 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5ed989bb b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5fb553a2 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x650281ef b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6adb5b21 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6b1b17e5 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6b74370d b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x707f0817 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x713af6a8 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x71d55afc b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x71e6bf7c b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7a2bfca9 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x80d15fc5 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9a9ac647 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa19f7b55 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa390837c b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xaeb18bc7 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbb210c11 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbb93e5c4 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc54c0098 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcaf0698c b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcc928ba2 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xce83dff6 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdc32da7e b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe47fd0ad b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe4f292ed b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe5259c4f b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xed50d81e b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf69263d8 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfe212cbc b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x49225b10 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xbfdcaef8 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xd48b878c b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xdf583e66 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xe6694c56 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xee39cedc b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xb0f10d97 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xb8f3d0a6 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x7ef2562c ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x491b3905 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x29cfc0fe ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x5b8691ca ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xaad93942 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x3d2de364 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xeb7ffea5 vsc73xx_remove +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x02b75cee NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x25c7899b ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x34cc410d __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3a3ed70e ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x66a3adcd ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8dce78c9 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8e844d9c ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x95476f7d ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa6a89b60 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd668cfdd ei_poll +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x4d66b8c0 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x43b65909 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xbae718a1 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 0x11b4da95 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x16d8a6be cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3e618383 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x55a4a8e4 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x70f3e47b cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x83b1f562 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb9d4acbf t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd1f0cfc8 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd70cd39e cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdd4f271e t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe17a0170 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xecc9d64e dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xef68b57f cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf72b21bd cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfb6b3656 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfbd43b29 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x02c2090b cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b03e29c cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b96cc1c cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x14219947 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1855c174 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1c4f9981 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x213e15f4 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x29e68d22 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2b415c8c cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x320a2c58 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c9605a9 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4ec797d4 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 0x51d63744 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x59fb03ba cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5ab3ebf4 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5ab652be cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6271a342 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6637e303 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6ace0fd0 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6f1ca609 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x71789942 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8383329d cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8aa2c7c6 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8b48ffc1 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9248ffda cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x97c796f6 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa57b978e cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xaaf4fc6b cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xaed3e233 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb1bfc8c6 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb25a3c2c cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5eb461f cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe162408 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0746356 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0977fd8 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd2ecd164 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd33e6a18 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd797acab cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe1b90dc7 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe22a73f1 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe2882e03 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe506d8da cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xec16bd1f cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xed67b3d8 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xefa0e61f cxgb4_ring_tx_db +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 0x7dad149e cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x81f66430 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xa4a0ba86 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb704c0c0 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xc42e4a93 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd9ca3349 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe61bc9e4 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x1646a184 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x482eadfb enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x516acf82 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xb11b8c91 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc0d9daa2 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xfb5c555f vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x1fb4ec77 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x37f58c47 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x15a0bab9 i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x1e19318e i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x9f5f26ed iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xde9811f4 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0dfb4355 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x137c34b6 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1588bc6d mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15c9c344 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17b5b4d0 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18be566f mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x195e2c7d mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x261b3212 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28bfc682 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x328b9bf4 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x337f1e0d mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x393d4123 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x48426719 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4df2994d mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5340c15c mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58ed8c51 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61c4e526 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7494f467 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75a5c71d mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79938b4f mlx4_get_eqs_per_port +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 0x919a348d mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x979ebc96 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b933e01 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6ca098f set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa82a2345 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8b1878c get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb435eb44 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb46c5ba8 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbad02ac7 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc208863b mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6d4d733 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc943246b mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd139d8db mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5d022f9 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd7e5782 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdfab4041 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe16ec9a1 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec7c9ff8 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6a47a92 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8401e0c mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9a31692 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc7ff3ea mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd674637 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfde15357 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03f224f3 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0af21816 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0bb30b28 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x112cf174 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14a1aa98 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17e7f4aa mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x189a6b75 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b1379c0 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c6c65d2 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c7b63cb mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cd694ee mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1eda8322 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f859bc0 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24a49a96 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x255318b9 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27fa4d63 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28652841 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28b7d2d7 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28daab8d mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28f6d720 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a732a13 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f8715e7 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3221a75c mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32705594 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x360fe589 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651b47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x383abbd5 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a3c433e mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b5258a4 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b7dea24 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e63abcc mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e960390 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f38529c mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fb9179e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4133d91a mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45755518 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46150cf1 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4916a624 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4a75da96 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cb9d22f mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e550eff mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e75336e mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x519a46b1 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x525a2307 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54a0d86c mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5697e318 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x586f9b22 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cf0fd3e mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d58541a mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d78c290 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f58ac23 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fbbe50a mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60d13ad3 mlx5_eswitch_vport_rep +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 0x6649f07b mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66d1a9e2 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a1bc0b4 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d6b4595 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f48a9bd mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70f179cf mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x752c54d5 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x767d0331 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77518b4c mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77733d4f mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x795e6ac8 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c24bbf6 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x801bd6ab mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x819558cd mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82765e4c mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x870713e4 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87a25e22 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c7ef0d3 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8ce361c2 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eeefaa0 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90f48dc0 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9225a5c1 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x94080b36 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97e0d6a5 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9884865a mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98ab7cc6 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0ad456b mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa16a96bc mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa27eec01 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4fe3f63 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa53caf58 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9ea383 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xafe74a14 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb21d358a mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbaad21fb mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe91a6f7 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf411e06 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2d1b6e6 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc405a08d mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6afd449 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcaab43c6 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd25b93e3 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2aa001a mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd48753bc mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5db278c mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6ea2b72 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8d6dcbd mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd992a4ff mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd9eab585 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc5d21fe mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc8b06fd mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd2fcd1b mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe07cf643 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0ed4800 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe352e902 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe541f2c0 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe844ec2f mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe84b0a2b mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea4c79a1 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb68e074 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec1c0456 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeec4abea mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef01bb32 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1024d14 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf120e368 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1a39b2d mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf378cfe5 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa2d8ba0 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc70118d mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfceff045 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x2100725b mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0660df22 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0cd46fd8 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +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 0x21737137 mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3a7b681d mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3c5e57db mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x4798a71b mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8110ae57 mlxsw_core_port_devlink_port_get +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 0x84681a3b mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x872ad39f mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x91dc29a3 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x91ffa378 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x954a3ba7 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9a665b7f mlxsw_core_driver_unregister +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 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc6471bf8 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xceeb5ceb mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xeaaf58b9 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x6b8566e4 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x84b0947e mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x0f3f9879 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x316023bb mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0485a077 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x05c46b95 ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1474fb90 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x14b6d38c ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x18cc132c __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1bea6497 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1c06febe ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x207152ee ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2d7cc48b ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x32717c1b ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3cb8348a ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x46bf9c71 ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x484a6f8f ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4a1dbe50 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4e62024d ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x502a4931 ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x52a67243 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x542e24ec ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5d056662 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5d7933f3 __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7231b6cf ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7e193546 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8d8697ca ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x93e7ad02 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa0467f92 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa30ff46c ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa3fbf1f1 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa81217c4 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xadc2d811 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb0d98d96 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc68cd42d ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0a80af9 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd2127276 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd44aa067 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd5c962a8 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd6eac79c ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xda2b5fbe ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xda92fd26 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe33d7d3f ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe9000624 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xebbb2a02 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf0500be5 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf073631e ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf1cedcb0 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf49a81d2 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfeb40881 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x1269c38d qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x351a4c3f 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 0x6f81b3d9 qed_get_rdma_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 0xbcc6ab15 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x1edb82be qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xde281a9e qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5e38a982 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9995b50e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9ffca001 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc0ddba5e hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfe4137bf 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 0x652fb0b6 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/mii 0x1bf5723b mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x253d8d7c mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x2c6fde24 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x427bd104 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x794ae1c9 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x885d4bc7 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x8ca0795b mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xc7dd1585 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xe531812c mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0xf85ef2dd generic_mii_ioctl +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x627bb2ad bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xd6352fdd alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xfca43a01 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x40992190 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x8404556c cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x57ed67da register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xac802927 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xad6339d2 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf884f772 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x979e7b38 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x142bda0e team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x3f021d7f team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x7740c550 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x9051534b team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xa1cecbbb team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0xc8adce2b team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xde9d6a8b team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xfcb1ad99 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/usb/usbnet 0x0b8b5c63 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x5a075b0c usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x9aa5cf03 usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a587c40 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x320b31e5 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4142b29b unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5ce12467 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6c70b35e hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7a94916d alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7ac9458c hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9cb99f6a unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc8a00452 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf443c814 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x27a12ca7 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0226413c ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0ad6e373 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x10fec89f ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x361736be ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x38502bd9 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x531b6147 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x635db367 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x738bf2cc ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb1b0c58b ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbaee1b00 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdcb05031 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe2ac63d6 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0813633e ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0d089a88 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x12ea40c8 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b810b35 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x362ef6e7 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3b5c3b7b ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3bff1add ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4347be85 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4586f143 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50dd77c4 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x604aba85 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x61f4d71a ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x661fc060 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x66569719 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x678e2580 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6d262e4f ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75f9abfe ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7b0d091f ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7c766ad9 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x894f51c3 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8adeaa86 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8c99dcf0 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x972a4ed3 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x992b3c91 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x99cea6c3 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa0d09dce ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa2435883 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa2d5ef84 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa5409586 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa8284b73 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa9f39771 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb5fa0027 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb6745e95 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbbc9bc4b ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbf688265 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc288c154 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc39d82a7 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc5d4c691 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc8217321 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd1ceb13e ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd80b8fea ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd99a2910 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdb3e80db ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe31edb69 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe60d75a9 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf5b6e471 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfb0e54f7 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfba0511a ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfc2c64af ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x03e36a2b 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 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x61e78af8 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6a7c5ed0 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x71729aa6 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7d34b6b5 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8a6ac06a ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8d54f3b7 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 0xa4460337 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa886ddf2 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a3813f ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc8c4805e ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0319e1f3 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x11ce136f ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1716cdef ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x19994099 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2b419590 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8140de0f ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8183d9bd ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x88fd91ca ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x92a21023 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x96ceb979 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x98d74320 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb1026cd7 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb6d3e3ee ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb7979cba ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc1d28479 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc34f076c ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcd4a6b64 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdda84ef2 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdf54bfab ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xef0b3b13 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xef818119 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf0e5a2e8 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfaded853 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06ba4e80 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a5734df ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x108b3e45 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11c58db0 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14057adb ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14c0af1c ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1541ebe6 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1cd79f17 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1da08457 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f89e8de ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x214dd15a ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21fd3fb2 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23b38bb3 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x254f0d5f ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x263839d8 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x26fa25bb ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29ab5583 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d52f40f ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x30a119c8 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x326b4d71 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3811b744 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3976a68f ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d5862c7 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3dc55fbe ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e44bb5f ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42feb010 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43e8c904 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4661ec87 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48f22210 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a129024 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5bae6370 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ec8acdc ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x614c5b3f ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62fc92a6 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b07cde9 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c012ff5 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c74b2bc ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6cf425ee ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d9f56ba ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f2390ec ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7212e162 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7573fbd7 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7665f049 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x786a1ccf ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79633881 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79fe15e9 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c59affa ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7cc54ae2 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d23b43c ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ddaa3ae ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e7df7e1 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x803b30a8 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88edc2bb ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ceef832 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e46ee4f ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94014ca9 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9bece35c ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9dbdd670 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa07ba9ac ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2cfd449 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa5e751f8 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa775fb21 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa849acf7 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaba45110 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabad8edf ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb478a733 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4abf4b6 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb521fc44 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb802db8d ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb827e98e ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4acfd13 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcafdcd0d ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb9e60a4 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd0e793b ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcf813276 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd06129eb ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd42316cf ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4eeb6bd ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd7465354 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9ebd2e7 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xda21b29f ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb3b5c91 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc7b6760 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd3ac706 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xddd128af ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea004b5 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe1663b04 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe3f485fc ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe449e3f7 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe5c1f4c5 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8f9658c ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea58d011 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeb73f23b ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xebfbf198 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed60d68f ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee134361 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef43f431 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf04866d1 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf04eddbe ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf5259f78 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf6f2f127 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf7033fc1 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfc7dd6e2 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe021cac ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe187171 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfef49e04 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff1a673e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x76cffb22 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xa5fd8074 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xfde5edc7 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x58965e74 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5aa3da46 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5efe04d2 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x66892c1f brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x69320571 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7946254b brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x817bf7e7 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x847dfdb7 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9116c7e9 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb1c322e3 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd589d953 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xe200e83e brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xe8f02af6 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x2159b13c init_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x70814b06 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0xf7a9ffa2 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x19d4807f libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1be6ffe6 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x295bef56 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x29cdba35 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x333b8f2b libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x394ab4fa libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3a04934a libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4bb876d4 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x53d2994a libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5d9a81a7 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9b73ba94 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xadf7f2a5 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xaea813ae libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb64248a7 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb6a1706e free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcebef9d8 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd1512148 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd69c82a3 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdea1a147 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf44c3c20 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03a0d016 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x06c8c1cc il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x09c16177 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0a6fc1b0 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0b011c09 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f7fe140 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14702214 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a3ca134 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a75e106 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ca44e30 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20f55ff7 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x22039665 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26645eb6 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x27c82da6 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2fbc6026 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31428db9 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x315417ea il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3545b70b il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35a04f14 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38c8766c il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x41a8d13c il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4243685a il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x443c6d33 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x46353a0b il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4cc2f207 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4dbfc770 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f236ab1 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53e13fb2 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56ae49d8 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5a78c6f8 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ab656d9 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ad4497b il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5c9217ed il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e7c803f il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x621ad735 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63183e0e il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x638ff3ed il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x693b60cb il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6b9f2792 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6be50201 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x715a1c6c il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a563220 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b4797da il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c05765f il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c3f4bd3 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8083cce4 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x82d005f4 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8465ee49 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85edbfcc il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x86ef3427 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x88fc2967 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x89342e4f il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8ad4e53c il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d712c10 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f137ebf il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f600558 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x924a3b8d il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x93d9ebec il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x96143931 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x99e8e147 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9b37aa26 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9ca2d827 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa01241fb il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa01f98de il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa1489404 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa907406d il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb08ec024 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb1421dd4 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb2ac7335 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 0xb8b07e98 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb9411642 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb99e1bf4 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb73d496 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd40e809 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbdadfe38 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe98d9d3 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbea630a4 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbff6d033 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc182258a il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc436e7e9 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd31f1da il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd0e0027c il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2b05884 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd30d5c0c il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5dc1207 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe0b603fd il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe13bade3 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe17fed9d il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1a031c9 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe617be73 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xef0c8367 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf2ed9433 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf30a16fb il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf7338d1d il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf748629b il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf938f12f il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfb996c64 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfded5b4d _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1ee9c199 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x20a6a247 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb72ade7d __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0cf474e5 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0e2046ce prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1d11c6b1 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x32de4ef2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3afcca8f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3b00d334 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3ba7a6be hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x46438eaf hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6f63598c hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7549445a 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 0x76e04ac8 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x78b941ec hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7b55591d hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x85c2c84c hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x88b1715e hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9024b2d3 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x98b30d02 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa38c3b5b hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa5ee93f9 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb22905a6 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbf5defa5 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc9c458bf hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd0789f02 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe7f64c14 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf6df095a hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x20b542b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2c7a960b orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x313d75ac free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x35333719 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x42fe6978 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x44c43e04 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4eb205db orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5d2333a1 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x628f0434 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x77a01372 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x900e5d3c alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x96d70193 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa8fdd5c3 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc0f7b781 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xeb18d01c __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xfc3c25a9 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xf8fb24d6 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xd0004bda rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x161256ba rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1a26ad48 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 0x31a22854 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x34c3d906 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x35509442 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x375b17f6 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x464d866d _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x47529de0 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4a4d3a18 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4f104c12 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5d610d01 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x604b7feb _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6269a73c _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x62915362 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6769306e rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6a0d577c rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6c2c7525 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6c3d37b8 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6cccdd71 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6f2b777c rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x70526af8 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x72378f4f _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7b96ab38 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x87ad7899 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8f0d12da rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9399e09b _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x96d78005 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x981782c6 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x98fd1796 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa8d0e558 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb02e2c2a rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb1272cf7 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbc60e7d0 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc1994cd3 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc2cb6bfe rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc2dbec13 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc5648abf rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc985b054 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe5f58ec9 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe7ab3e41 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf32a1c0e rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x2d741278 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x391d5ae2 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x4bbc20c4 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xd25775bc rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x03675932 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x0cd4e837 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x346ca00f rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x663766c6 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x021c8bd3 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0430d13f rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0ff4bf43 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x20e3b3c9 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x263e9b32 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2b556533 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x341923a3 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x357b9f23 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x461b5770 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x47a01fbc efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x497e2bd9 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x53d8f77e rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c2ac27b rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6ea437b3 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x716cb815 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x76534cce rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x81d55312 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x829d0954 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa4f96469 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa6ee97e6 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaf83f1a9 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb9791393 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcc8d5750 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd190d153 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe1d5b1a0 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe26765b7 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xead0d358 rtl_rx_ampdu_apply +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 0xf2cc167b rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf9b6fb70 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfa0e326f rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x66f5d87c rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x8d15a2ce rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x62d7c9f0 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x026e39a9 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0415f795 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0590f63d rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x064b275b rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1053e520 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x12d9b788 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x144434e7 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x155aad01 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1734cdb5 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x17c8f52a rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18a93657 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1e7ab2a5 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1f436c25 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x214154c9 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x285b13a9 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2c1b9874 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x32201d91 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x335f3967 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 0x40ec69be rtw_phy_cfg_agc +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 0x48dbf010 rtw_phy_pwrtrack_need_iqk +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 0x5ed38c68 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x65cfed29 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x69079024 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6994a0f8 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6a58dd2f rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x75eed97e rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7b9b6a5f rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7cb60a6d rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fd8cfc9 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x80515102 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8c765937 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8e68d027 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8e6b3b29 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x90d077ef rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x98f33973 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9bf10e53 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb058c9d6 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb69e5049 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb714f56f rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcce58a7f rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcf1f3fe7 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd1e48c62 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd53643ad rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd9120e98 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdd5ac993 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe0825e34 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe3c6047f rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe6cfc92b rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xead2d2b3 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xebf06f5b rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xed58cadf rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x232bfb0f rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x455ab006 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x71965c94 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x8aab2879 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x1d70c2f2 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x1c9ca95e wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x44cf90b1 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xa82775d0 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xb57a3c3a wlcore_tx_complete +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x1b4c44f5 fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xabcc0f90 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xde6828dc fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x00166313 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xf3b2a9a0 microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x4fc28bc0 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x9abb2bb2 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xf6ff8e79 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x2cd36301 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x015511b6 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xd92287b0 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x33c30cb4 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x715342c4 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xaa71ecf1 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x441fc4bc ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x60b32be8 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x62f60e4f ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x693d67d3 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x751f414d ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x82b05da4 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x8914b435 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xbe671e4a st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xe3531af9 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf6b034b8 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x009b09a3 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x03d5e629 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0487d1ab st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1dcaea24 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x647a4b66 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x75e5bfd4 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x869a84cd st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8894f079 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8dbed9eb st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8ed4178e st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa21c13ad st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xb2665953 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbe7ea9b6 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc2968543 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc65ddeb9 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe5044384 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf94d5eed st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xfb8a9c6f st21nfca_hci_remove +EXPORT_SYMBOL drivers/ntb/ntb 0x081ae115 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x35fdfee9 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x4e3e01b5 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x4f570605 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x55de8c50 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x72b9ba1a ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x771c4f44 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7d13fb60 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x84af0884 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x8c4f4871 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xab1f0c1a ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xac783b68 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xad542f97 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xb4744255 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xc7599afa ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xca66b5af ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xdb52ddea ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xea758f32 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xf800bc4d ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xfadc7d30 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x8a7203b3 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xdf4a6eb9 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x07676d5d parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x1efe0e1d parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x2b8ca77f parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x309549db parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x343570be parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x34e3f5cf parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x3d22cea6 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x3f2bf6ef parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4005fc7e parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x469cdc92 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x50b75dc5 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x5af85961 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x611afb9d parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x6f3002ed parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x7226c317 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x82293f56 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x8554815e parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x934d5c46 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xae2689a1 parport_write +EXPORT_SYMBOL drivers/parport/parport 0xb40bb81d parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xc0bef2ec parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xcdc1d4b5 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd06ddcfc parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xd8e61509 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xde007d48 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xe37070e5 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xe75fb347 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0xe7897c46 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xea9778e5 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xef19d5d3 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xf9068de5 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x4b57bd0b parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x6002bf73 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0ee55c24 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1843a37d pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x56f95d1b pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5afe46e1 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x631e922a pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x688805a0 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c4f54c6 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6d679f7c pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7ad9b437 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7d62fdad pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8a9846ad pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8aded09a pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x98354bab pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb38d914d pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbb312663 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcc17fed9 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe8ed9f1f pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xeb48af86 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfb4dc6b7 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x015e6c29 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x12f601a8 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4ce672eb pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6a548068 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x838cdf68 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x90a8273c pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x93ee617b pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x973acca5 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc0fa0916 pcmcia_register_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_core 0xfeabbdbd pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x292d6ae5 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x416f3a86 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x11c9a74c cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x1375ee2f cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x3d64d5c2 cros_ec_handle_event +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xedacd122 cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xfca0d081 cros_ec_suspend +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/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/platform/x86/intel_punit_ipc 0x3a0b563a intel_punit_ipc_simple_command +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0xd857cac7 sony_pic_camera_command +EXPORT_SYMBOL drivers/platform/x86/wmi 0x252a3d0a wmi_driver_unregister +EXPORT_SYMBOL drivers/platform/x86/wmi 0x289366b3 __wmi_driver_register +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x24649b77 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3d24d794 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x5c894234 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6d54a33b rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7156530f rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7686d20b rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x863b9df7 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x92c0ed67 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xacf8e50b rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xada0f136 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb0d58024 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xbf3c11ed rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd43d2029 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf0c4fd33 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xa6aa9c82 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0x3eea1796 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/53c700 0x75ce1a47 NCR_700_release +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x68980359 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x8659f52f scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xf9dc400f scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xffc69eb5 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1a305605 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x21003f42 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2e6109bb fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6a3f5e5a fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6f0035b2 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x77bf81b1 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x87887655 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa8cfc598 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbed030af fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe2c06ce7 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xef7912b4 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09250f51 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d507555 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x10438949 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1170783b fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13890d20 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1661373e fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x16d475e9 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c1d0c8c fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x259c1bd0 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25ffe71e fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ed142bb fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x308b71e5 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3561acd9 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40e483ef fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40fd9f05 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x42b5101f fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46f0b7d4 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5026038c fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x53fb0d5d fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x54b58417 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5526a2fd fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a4adfe2 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ae134f9 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63288d59 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x633dee31 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7327ab8d fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7709f331 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7a8ce51d fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3ca77c fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81c4027b fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x962c0d3f libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9bca57b7 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9e0b71e9 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9f32dcf0 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa73e1ad4 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa88b5639 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf65bdf1 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0cef35e fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb566186c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc386d9c8 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5dfbe9b fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9cd2d93 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9e94f1c fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4a44cff fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xde4260ca fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdecf9e16 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1de8c80 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9aafd19 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeab6444f fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfbeaeb95 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb8d8eeae sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xd87a293b sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xed0ed6c2 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa713a9fc mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x536d4d70 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5e64979a qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x6a056748 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x983cd340 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9d6b915a qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa7ecf10a qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa93a139d qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xafc01e38 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb9de0ae2 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc6a0432b qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe6f7193c qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xede97090 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1109c59d qlogicfas408_host_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x2193f1c1 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x4dff807a qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5ab21237 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5e12579c qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x968cbe07 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x1a140015 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x4dcfe214 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x6edd7257 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0a10e133 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x10b69c76 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x13eb0a7c fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2e59070d fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4d5d5e6e fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5bee4fb0 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5ffdf62c fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x643f4e0e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x69fab874 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x73963a13 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7eda516a fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xaeff3300 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc29932fe fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdb1d50d1 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdd9ac80c fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfc31dd3e scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x01cd4bac sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x05c746ca sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c68a9b9 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c95ca0c sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x243d6035 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2531a0ca sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x27017aa0 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x278cb64d sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x33eb766d sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x704a9728 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x76fd494f scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7a02db24 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7e819d16 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x80a6a902 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8727d9c5 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa0f53704 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa256d012 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb4398831 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb59122d3 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb89aeca2 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbb8df85f sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbce9bb47 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc2163a24 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc351783e sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc40b2c82 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1893a8a sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf32694fe sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf3432d32 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf447ba2f sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x09be5897 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x6393d663 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb2ae5009 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf45ae835 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf9b90ca3 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x1debed76 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405476af srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x6b2c0b04 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xa447c4c8 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xa7bba6a0 srp_timed_out +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x8cf72b37 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xab7442d8 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x0131220f ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x06c5a573 ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2783943f ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4593fa2a ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x48d064a0 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x49d25f8d ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4d85d3ec ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xa8b8fe89 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xcc7eba1d ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x145da880 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x642270d0 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x03e5dde9 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x07a6ba1d sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x192c66fc sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1eb250f6 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2ed6304f sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4689f196 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4d4c4968 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x57fe39ee sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7130ca35 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7a28582c sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7c69551b sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x950f21c9 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x98b25c48 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9ac4ea28 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb7b72a52 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc0e2a787 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xce7b50cc sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf2453a49 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xfcbfd146 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x00cc4518 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x08aebd38 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x125f7b47 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x324f557e sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x3d81cd5c sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x597ff527 cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x6e197d5d sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x748d9278 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x778f5e59 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x93394cca sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa3dc1658 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa76a6fcb sdw_cdns_thread +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xbcba4976 sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xc161b9fe sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xdca51c7d sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xe0476b40 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-intel 0x6a849d86 sdw_intel_exit +EXPORT_SYMBOL drivers/ssb/ssb 0x0a36af0c ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x1b249d7f ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x1cf717e6 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x342ada6b ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x3431938a ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x42808262 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x581d1d2a ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x58f3e044 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x6d360fd5 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x704d8caa ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7256cedb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x74c98eeb ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x83f4a7eb ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xa6105e80 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa72d9ab6 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xc42adf7e ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe4685014 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xe6ced8db ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xecd8e077 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf3c85092 ssb_driver_unregister +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1dc81123 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x21e41f9d fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x25a4f0d5 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x49302286 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4bb7ef5f fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x50d88713 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6ec7f228 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x71a9ac79 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x727d0f34 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7773e52c fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x95a8f9e2 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x98302540 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9faa0544 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa3d19207 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb2b930ea fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb8f20a79 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbcd488d0 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbf3874d7 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc50872a8 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc5fe25d1 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xcdfd72b3 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd003ec6c fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd62bece9 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe2bccef1 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfe3f18c3 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x065f9c9d gasket_page_table_max_size +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x0ad36548 gasket_reset_nolock +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x339c2b95 gasket_page_table_map +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x372973e0 gasket_page_table_are_addrs_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x38c3d415 gasket_page_table_num_active_pages +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x3efc5307 gasket_sysfs_get_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4109757c gasket_page_table_partition +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4292ff96 gasket_page_table_is_dev_addr_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4679bf1c gasket_sysfs_register_store +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x46e1dae8 gasket_wait_with_reschedule +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4e52d45e gasket_sysfs_create_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x5737288d gasket_sysfs_put_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x59b017c3 gasket_get_ioctl_permissions_cb +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x64339058 gasket_mm_unmap_region +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x77311f6a gasket_page_table_unmap_all +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x876c3f87 gasket_reset +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8c92da47 gasket_page_table_num_simple_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8e38287e gasket_pci_remove_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xa98e904a gasket_sysfs_get_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaa2668a gasket_num_name_lookup +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaf2f8cd gasket_page_table_unmap +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc225208c gasket_page_table_num_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xd3eff209 gasket_register_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xd8bac0ba gasket_disable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xddc97327 gasket_sysfs_put_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xeee4bda3 gasket_enable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xfcdacf3d gasket_pci_add_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xfefd112f gasket_unregister_device +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x44b23ba1 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xe40f96a3 ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05062521 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x069d941b rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x087398e1 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x19febfda rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x203ccc74 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27237c94 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bfaadcb rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bfc04fc HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f908b9e rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x35a36e69 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x389d373b rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3a8287b4 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3eb3fb9e dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46b7c6b0 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4a297d63 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4c13ec97 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ff5046b rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5de4729a rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f45b6ab rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x68bc9d70 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x70124070 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x76d0cf86 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x77a524f3 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7935629e rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a0761e5 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8aee0c8a free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9019625e rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x95ae93a1 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9890caf3 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9b080ae2 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9b88609c dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9c17ba02 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9d1de2ab rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa2188f82 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa4d0a8db rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa5073f62 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb162b693 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbd39856a rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbfc06053 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc31f3bba rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc8bf8a04 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd1838b4b RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf17f156 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe11ddaaf rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe6026a4f rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeba73156 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec91c4d7 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf2791bbc rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf69b9d46 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x00eda7c7 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x04792671 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0678e056 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x184b0f7c ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1c8a54fa ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1e979278 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1f1ad46d ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x258760c6 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x289f5c44 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2a6f098b ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2d57a4af ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b8dc307 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40b2dff6 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x420fbe16 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42a6fa47 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42b57e21 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x44265e40 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a368a52 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4dcb5e7d ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x511afdfe ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5c80f6fb ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e09f1d9 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x622e6995 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x62ebfaa5 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c820917 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6fb1df28 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7651d5b8 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7a29a09e ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x86bc95fd ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8cc40ead ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d618a4d ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d72ac5f ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93ee5186 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x94c7630d to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95c0f258 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa0bb39e2 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa4001c33 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc52b048 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf157d77 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc9b95da4 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcaa3f034 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd313c8c4 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd31f8aec ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd725a801 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd8b4837e ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdce7518a ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe1b9fd01 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe664bec9 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf3928840 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf459376b ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5244887 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfd3e414f ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfd8cfda3 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x04869590 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x104f8d6f iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1a52d69c iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1dec4354 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1ebd8358 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x293a43f6 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2c0c101c iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x37bb25ad iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3c43e4b6 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3f335cc3 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4cfaffba iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x50ef2928 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5d168d71 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x69aae134 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x76ad385c iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7baf1498 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x83cb4632 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x87a7bbd9 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x89659ecc iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8d2c1de9 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8e8e9d50 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8f7af6aa iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x91b6769d iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x95536969 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9dfb29d1 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9ed87569 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa98a3e52 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xad22f0af iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xae895fbc iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaefa805c iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb7d9805c iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xba8de6d5 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc9e04db0 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcd32b9da iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xce938605 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xced24205 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd0614136 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd1e1778e iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd470fc25 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd63ccab4 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd9ffe35a iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdbb083d1 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xed1e88a4 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xef413fec iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/target_core_mod 0x0057104d target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x0089f2e6 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x00bc5350 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x0442b23c target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x049b254b transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0dcb70c9 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e4ed1c9 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x0fa9f1bb target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x155139f0 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x160e1b80 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x1ddc90cc target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f96d6ae target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x292a9f4f target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b2e30ea transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c28b0d8 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x2cfb3d97 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x385d15a7 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a0365a1 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3d020a5b transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x46656ce6 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x46a9f8e8 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x48b5a048 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x48b9c56f transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x52cf9efc transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x53263488 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x54a37a72 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x5b8a3307 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x5cee8ec8 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0x61218833 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x6607c3f0 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6cb1c628 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7df8a750 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x82a2b34f transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x85cf25e6 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x86ff707c target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x886ec943 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x8967ddf5 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a98a0d9 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8b9eca01 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x9da7c6bd transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2013e7d transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa8a965be transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xb08ae6d4 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xb18f52b3 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb515b81d sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xb72a81d9 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xc41216d4 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5519406 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xc591a123 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xc80e6eb6 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc812aa42 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc828b1c2 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8871166 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xc9920992 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc9ea93da target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xd9dffb40 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xdca0fe7f core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0393350 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xe50b4d25 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6b7ee01 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xea040278 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xea93e6ac sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xececa044 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xee963f64 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf23e5764 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf717dbe9 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xf73af903 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xf81c5aba target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xf98825b7 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9bfbed0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xfa1b725b passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xfd10c5c3 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xfea40bed core_tpg_deregister +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x111eefed acpi_parse_art +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 0xf0f9fe0d acpi_parse_trt +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xf1f37a3f usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0xcf8e54e9 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xfefca248 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0c3e78ae usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x134eb7e6 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1abe1fef usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2cea576d usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x34f0cf73 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x67a954fc usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x67f3d847 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x82a17fb6 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8d1f0cc8 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x91b044c4 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xade432c3 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb4be3fd0 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xcab34330 usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x30402099 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xad1e324d usb_serial_suspend +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x2ff9c45a mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3c53ca76 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4f809007 mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x50873bbd mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5217e48f mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5d98dc9f mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x687750fe mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x81cb88a7 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x94f8b50d mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x95b9b261 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xb3dc870f mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc2b63ec1 mdev_unregister_device +EXPORT_SYMBOL drivers/vhost/vhost 0x6f8fec4e vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x9311a841 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x22f575d6 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x74c39185 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x800d18bc lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x9ee61792 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0e636190 svga_settile +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 0x1d1f9844 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1d73e591 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7e3c92dc svga_tileblit +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 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xc27b5911 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xc6c02853 svga_tilecursor +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 0xfc62bfb5 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x674cfdb5 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x422d0f9b sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x0762cd2a sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x3de69a2a 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 0x3435f2d1 mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x0d4ae2ab matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x920a186d matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x99e73a07 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x730d8e67 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7ffa094d DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xb68ee592 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xeb8f664c matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xabc101aa matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0xfacd65c0 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7a6b6337 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7f07f35e matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x87f00a6f matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xb6110f1a matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x165b1c03 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xecaa4b80 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x092188ab matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x876dacd0 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xbe56089f matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xd329b836 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xf63673dc 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 0x08fea0fa vbg_hgcm_call +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x0c37cc8d vbg_get_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 0x6f5dee8e vbg_hgcm_disconnect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x70cdcbfd vbg_warn +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x93200bb9 vbg_hgcm_connect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x9c072aa8 vbg_status_code_to_errno +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xe42fa6b4 vbg_put_gdev +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x3ef0e4a2 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x5c1cff9a w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1b5e51a3 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6c649a49 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x4f92de4f w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x934926a9 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb245721b w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xf2bf52d4 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 0x025c7f33 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x0a91dcf1 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0x0b1ef4c8 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x1e6d950e fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1f4665ed __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x20f65d56 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x2db5d29e fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x35d0b7cb fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x41e478f9 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x43aff1ad __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0x4b05e5a2 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5b37f639 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x6042e525 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x69883921 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6acefa42 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x73f4d21e __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x7ad0133b fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x8a4bb3e1 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x8d1b4e98 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xa5482065 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xa6a84b91 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xae298d83 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xb135793e fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xc37f73aa __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xc3c6acec __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc83d49da fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xd0094d52 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd042efb6 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xd56fad52 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xd6d39a56 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xd733c316 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xdc747315 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xdfc9a587 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xec3b3bb6 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xef2268f9 fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xf18c72d8 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xf330493d fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0xfc3ddc4b __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xfc5d52e2 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xfdcd663c fscache_enqueue_operation +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x19250cce qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x54a9b3cd qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x6b554b08 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x80c3ee90 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x841a6383 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfbd82927 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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x1b11832a 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 0x8b8fe44a 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 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x175cbead lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x17eda269 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x3252f906 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x4336b65b lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x75d2a92b lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x8abdaf6e lowpan_register_netdev +EXPORT_SYMBOL net/802/p8022 0x11d491cb unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x954b6635 register_8022_client +EXPORT_SYMBOL net/802/psnap 0x1619332b unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x9b4c2be0 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x06e2107f p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x1215939d p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x1430723c p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x182e1215 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x1a689687 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x2baa47b2 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2c3d04fb p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x2cfb50c2 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x3674c30e p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x39f45ca9 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x419bf526 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x4517c8cb p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x65e4659d p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x697e6dfb p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x6aafd812 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6da2efec p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x8071644c p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x812a970d v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x8635353b p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x9217ab2f p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9aa4044d p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x9bfca388 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x9e5ddfd9 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xa1e43e0f p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xa6fba8cd p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xa9470b97 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xac7c26f5 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xaecf888b p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xb334059b p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbbabddb7 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xc3027c69 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xc59ae534 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xc71e1874 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xc8b5ac01 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd6b31b23 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xd89bc7d1 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xdd03220d p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xdf250eb7 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe82045e6 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xecde0177 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf0e3a525 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xfc618639 p9_client_create_dotl +EXPORT_SYMBOL net/appletalk/appletalk 0x101697b7 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xa07aa64f atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xd8d0c62e alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xeb8e0aac aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x0c6354ab register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x0c9ffae7 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x1157fbe1 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x23a5a460 atm_init_aal5 +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 0x4d1f19b2 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5abf284e atm_charge +EXPORT_SYMBOL net/atm/atm 0x866496ad atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x8f3c9dd1 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xd43b6c42 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xde4fa65e vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xe144332d atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfc3b29be atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xfc5a2137 vcc_process_recv_queue +EXPORT_SYMBOL net/ax25/ax25 0x0a5aea32 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x0b1788a4 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x1eb883b9 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x1f2e3b61 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3ea37b85 ax25_linkfail_release +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 0x933590d0 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x974d7437 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xea8c8622 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0238dc3f __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x053d6a69 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a0cb159 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a88acc7 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0b724638 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x14e1b447 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1739e25a hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1d585126 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1e2acdd6 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1e3ca584 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x22262222 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2ceeaf1d hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2d95116a bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3323789a l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x34b55583 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3728382f __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38d5dbea hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x395e926b l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4103beda bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x429d9335 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x432e084e bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x444f0674 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47467b8e bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47d4f811 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4bdf5a45 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x52c02393 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x54f0887c hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x58f81ab8 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b86081b bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7cc04f2c hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x83b64176 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x86aa0a9c bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8effb334 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x95355e81 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cd8ad26 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9ea91a97 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xad0025fa hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb0482102 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb4f31495 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb9ba hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8181cfd bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe641b222 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf866fe76 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf882b56d l2cap_register_user +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x73859f8a ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9c2374aa ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe9084703 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf85f90c8 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 0x3936a5da caif_connect_client +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 0xa0a4a6a7 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xb9fbf68e caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0xe4ece813 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0xe884b2fd get_cfcnfg +EXPORT_SYMBOL net/can/can 0x1133f357 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x31a8558b can_rx_unregister +EXPORT_SYMBOL net/can/can 0x4c267e1e can_proto_register +EXPORT_SYMBOL net/can/can 0x69414ff3 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x9ca22ef2 can_send +EXPORT_SYMBOL net/can/can 0xca85b98b can_rx_register +EXPORT_SYMBOL net/ceph/libceph 0x059797b8 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x05a50dc7 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x078bc78e ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x0bd2c1d4 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x15459424 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x17086eac ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x18771ec7 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x225a7910 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x2494626d ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x24e44e3e ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2af01487 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x2baf0368 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x2ed7004f ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x316d50e4 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x34dc749c osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x35b8e464 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x39fea7fb ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3deab911 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x3df2311f ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x3f02de84 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x415ef114 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x421e05c7 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x433106f8 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x44350a19 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x45754717 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x46555f2e ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x470cf7d9 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x47af42d7 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x4b398dd1 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x56810689 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5a4872f4 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b1354f4 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5bcfd720 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x5e0ec6a3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x612178fa osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x62dac177 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x630dca33 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x63869bc2 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x6586c476 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x664152d8 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x68716919 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6dfba7bd ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x6fe7f6b4 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x75afdcaf ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x7a92b98b ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x7ccae7bd osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7f14a0f2 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x83231f51 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x848f52c2 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x853a1cdb ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x888b8aa3 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x8d872357 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x8e5e3842 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x8ecc3e4f ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x8ed33762 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x8eff2118 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x8f7acbc4 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x915eb639 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x924db2a3 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x92feb3ea ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x9422da1b ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x94c4b087 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x9b120669 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x9b2f3478 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x9b850a3f ceph_put_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 0x9d595f88 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9d6d55bb ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x9ecb7b5b ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x9f1de30a ceph_osdc_list_watchers +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 0xa02d0bc0 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xa03807eb ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0xa178b5aa ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0xa56f377d ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa682640b ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xab062583 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xafe8be05 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xb3e665ff ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xb52b62e3 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xbac1de42 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xbc9ed15b ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbfb699f8 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0xc1df05df ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xc2aff247 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc94b197c ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcf34e241 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xd12451bc ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xd2885920 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd4f9ba5f osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xd6320d0d osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xd78e70a6 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xdc3d9105 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xdceff8b9 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xdd956b3f osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe06090c9 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xe0a0ed20 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xe2233b2c osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xe236977e ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xe26e9f36 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xed0e0b7e ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef65f2f5 ceph_pg_to_acting_primary +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 0xf6a1c589 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xf73e4708 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xfa581c99 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xfae1e040 ceph_compare_options +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x9e0a2b50 dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xd70ee179 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dsa/dsa_core 0x7c8f08a0 dsa_port_vid_add +EXPORT_SYMBOL net/dsa/dsa_core 0xd06e6323 dsa_port_vid_del +EXPORT_SYMBOL net/ieee802154/ieee802154 0x18dcb5d3 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2a8b7e7f wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x30bb2451 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6bdc728f wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9fd0db2d wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xdea93a83 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x58aa26f4 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x9e2bc886 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0xcdc335c5 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x2df26326 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x43dc3764 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x6f02688a ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xc9b11c26 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x282e66bb arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x6e1fd145 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8139c657 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc11ae95b arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x2c7955ae ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x91242beb ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xc9372a4b ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xeceab54b ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xfdfc421d ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x18847014 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x42a92d9c xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xbca956ad udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x10da6e79 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x41da0de3 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x73b36413 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fcfb08f ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x87f26f0d ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc127e41a ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd048b8f5 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe978964b ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xfed7c0c3 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x06974517 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0c95dcf2 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x129db089 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x6f9f451a ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x95e2c06d ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x6d30a53d xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x7505fcbf xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0e7dfc31 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x48292156 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/l2tp/l2tp_core 0x7970a1ec l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0xc89c99cd l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x15f06748 l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x54c51ed9 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x5a7cce54 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x6bbd9fda lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x91b3f4e0 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xbea87563 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xc6118023 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xc866ee45 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xe3cf4015 lapb_setparms +EXPORT_SYMBOL net/llc/llc 0x061018fc llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x33ad9e95 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4c3f506a llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x939b0770 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x9a15b8b7 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xc2cab15f llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xccaffd20 llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x0360ab54 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x04672859 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x04da1e4d ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x09a4cd6a ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x119ff7ce ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x143885e0 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x14e66c71 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x1869cd47 __ieee80211_get_tx_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 0x1b190f78 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x1c0aca72 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0x1d61bc17 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1ddb43f3 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1f3aca52 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x203075f3 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x2264b001 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x239b7737 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x242487fc ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x24d2d005 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x26b4bc58 ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x2702e1f7 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x29c7ff85 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x2acdb270 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x2b4a0fbb ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x2b568349 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x2cfc3501 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x2e8456f4 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x343cdc4f ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x3526c1cd ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x35deb51c ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x42ac5383 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x43dd000a ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4c80a919 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x52edc063 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x5a1e9af4 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x5a87bfc0 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x5e3faf6e __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5fe063ab ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x60c92e3b ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x632915c6 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x671cedf1 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x67c97c8b ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x68fa8312 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x6b3fb5bb ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x6f67a353 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x710d809c ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x762d1949 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x7661a80c ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x77266833 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x773697bd ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x778528ac ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x7c1c257a ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x7c8401e3 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x85f111ca ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x86eaf53d ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x8c227882 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x90d646da ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x91798009 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x92d4cf11 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x931cc904 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x99c7d789 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xa3c1a43e ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa96f1ebd ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xaabda5c8 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xab680e1f ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xab87ace8 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xac65fc19 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xac73102a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xad238c27 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xada89728 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xb3ca685e ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xb3f07c21 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xbfd32db3 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc40f0fb9 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xc577ef52 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xc7a974b1 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc85e968a ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcb0d37b9 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xce78c76b ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xce8d5ca5 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xd133e567 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xd2ed291c ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xd430d5e3 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xdad9676d ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xdb871ced __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xddaec90e ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xdde819b8 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0xea11e0ac ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xf098576d ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xf640f488 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf6d56d58 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf9c8637e ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xfb83ef1c ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xfbf6c985 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xfc025a07 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xfd219a45 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x42558a7f ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x489176f8 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x8a3c817b ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x8db7949d ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xa28d9e46 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xb27e1b16 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xb4bf7482 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xfdc4613b ieee802154_free_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0110d566 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1fc51e39 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1ffacca2 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2d3ba976 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x65aed9c5 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fbc81dc ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa2758059 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xadb1fb20 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb0146ec1 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc7fdbb84 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcf5a48b4 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd09a43c6 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd6353772 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfa970822 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfc295cb2 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x6a97eebe nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x03d64e97 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0x308bc951 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x687bf6f3 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x9b1c65ed __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xc1ebe3cb nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x22d010e7 xt_register_target +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 0x499e77ef xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x5420879c xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x61b644a4 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x6af5b5c7 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x91d61a56 xt_unregister_match +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 0xabc1cb5c xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xb67224ea xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd47b873f xt_find_match +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 0x1257b1fa nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x24846605 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x3a5bd09d nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x3f0b4957 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x539bb92e nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x56254b6e nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x5d904176 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x5eb7ec28 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7f261f1a nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xac1869c3 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xbef5d61b nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xc3d9c91b nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xca41b8f9 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xcc73f05a nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xd3ebdb12 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xdb2ecc5c nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0xdd1b810f nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe0da5bd2 nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xf372f7b2 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xfa124f40 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xfc9c24e0 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x0eb9c66c nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x16cc983a nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x172d14a9 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x1b261fc7 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x21f2ee0e nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x2a4c20a3 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x2e9c97d1 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x3388318b nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x371c7114 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x4c45baa9 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x54c486e4 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x6b38d3ab nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x6cfd457f nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x784a0286 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7c39e0a0 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x7e6caf3a nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa74977b6 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xa894d23d nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xb012ef9b nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xb27c7dd4 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc542caad nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xdc464685 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0xde8fca18 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0xe2b29e1d nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xef744eaf nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xf0cbe5ba nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf622c1f8 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0xfa4e9dfd nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xfab23240 nci_send_cmd +EXPORT_SYMBOL net/nfc/nfc 0x00d16bad nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x013257cf nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x026eeecd nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x1c9cd759 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x296a9fb7 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x43372f73 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x4b5aedab nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x4fe4a7a6 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x5b28ba56 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x5f3698e1 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x5faf32a7 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x65163e04 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x737d6518 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x75b4266d nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x75d2b9ea nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x7c70577a nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x80a6690e nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x8577ae44 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x9880ef19 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x9c844705 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xc11f0f76 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xd36c0c15 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xde397e16 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xf4f3464f nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0xfc5a9126 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc_digital 0x63aeba6b nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x67610e8d nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xa6e865fe nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xc7a7c0c4 nfc_digital_allocate_device +EXPORT_SYMBOL net/phonet/phonet 0x12bef65d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4063f2a1 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x4723cedd phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x8d39b06f phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xcf21c968 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xcfcbb8a4 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xf072abc5 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xfdb9846a pn_skb_send +EXPORT_SYMBOL net/rxrpc/rxrpc 0x16544b11 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x19df27a9 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1e7425d7 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x23ee5486 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2fbcd178 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3a9228fa rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5fffdd18 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8e81471e rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbefe5c09 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcbf75729 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcee11188 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd2a63daf rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd427c647 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd62b967a rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdf1ea1cf rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf21cd1d8 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf64262ec rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf97c42d2 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/sctp/sctp 0x75783334 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x054fd160 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x31dcbc75 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xfa4acb4e gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x5d4e1318 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xb7e4799a xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xb9622d73 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x57201255 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x80469674 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x8ca08242 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x9d1ea395 tipc_dump_start +EXPORT_SYMBOL net/tls/tls 0x8855a8c0 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x3ac817b4 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x5605b949 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x0570fd92 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x0a3ec041 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x0b9eefa3 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x0ca43191 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1015e044 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x1169085b cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x13087c70 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x18f35172 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1d90ae05 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x21c709d4 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x2338e4d4 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x2555f4d9 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x300c4cfe wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x35fbaf3d cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x36aebba6 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x387950f0 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3e8be527 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3fbd8124 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x4a33523d cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4b41a61b wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x5133cf3c cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x52cd97ff cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x53b02bde cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x54c68320 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x57ab95a2 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x57b8e9ca cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x598338b1 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x60a48be7 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x6152f6a3 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x66bc9d7a regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bc16f01 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6e9b28fd cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x71ddc5ad ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x73403d45 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x76ad29cd ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x78265c18 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x78b82881 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x79346116 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef35f60 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x82715204 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x828a86cd cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x88205373 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x8a10c69a cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x8a51c753 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x8ab4ec7c ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x8be983a6 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x8d3bece2 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8da12907 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x96683245 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x970f9568 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x996262a0 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x9c00c392 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x9d46e8cb cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9db86551 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x9fd35a6e cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0xa310256d cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa58de961 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xa5c19738 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xa9d79cf9 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xaa53b128 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xaee745e4 cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb12ba262 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0xb15f2563 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xb7cbfbf8 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0xbb1d39e9 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xbc14d809 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0xbf9a266e cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xc435d085 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xc7730d8a cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xd25742cb cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd54e64a8 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd6112a1b cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xd7154586 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xd9cdfc86 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdc76f643 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xde1d792f cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0xdfd53c73 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe1701ef7 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe4d3e6f3 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xe98c84d0 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xead6175a cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xeb094180 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xed9c1277 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xedeb32c5 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xee3b014f cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xeede950f cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf03598d9 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xf0eade1f cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf37316c8 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf575fb16 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xf8afdea8 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf8e83035 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5a546e cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/lib80211 0x0eca0194 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x6c27c74b lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x7d956f07 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9cb15555 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xc6b9abc8 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xeb578be0 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0xf4422bc1 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xa0c7729b snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x0cf8c2be snd_seq_create_kernel_client +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 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 0xa4b45782 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 0xbd502dc0 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe311d13a snd_seq_event_port_attach +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 0x6d78ab34 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x008fccca snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x064bed85 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x066d1f70 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x10991d1a snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x12a90647 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x17f0870e snd_card_free +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 0x277c4108 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x28c60361 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x28fd7c35 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x2a742312 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x2ddb712c snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x35bfdb11 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x4908a834 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x51d44962 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x5b0f4ab0 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x61d5dc04 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x62ac111a snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x65b82165 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x6cae226d snd_device_new +EXPORT_SYMBOL sound/core/snd 0x6eca98bc snd_ctl_make_virtual_master +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 0x7cddad5b snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x7e62f0dd snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x813de930 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x819345ff snd_device_free +EXPORT_SYMBOL sound/core/snd 0x86f474e5 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x87266513 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x8aa4ddb9 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8e2605c4 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92ab3945 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa4781ceb snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xa5fed03a snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xa87d791f snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xa917acc7 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xace406c8 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xad951888 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbb3d8d0a snd_register_device +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc6941f84 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xc889e9d6 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xcf6a231f snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xd07fed4a snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xe1a835c1 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0xe3993199 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xe7684808 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xe7a7d8ef snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xee8be955 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xef44a22c snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xf9164897 snd_card_new +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x4e62de79 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xc7c809f8 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x22cd767a snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x026a38db snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x033444d2 snd_pcm_period_elapsed +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 0x1cef80d8 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1d38186a snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x1ef5ac06 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x1f2b0864 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x224c24f1 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x29aa7bab snd_pcm_new_internal +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 0x3d78c354 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x3de731fe snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x4e23b40f snd_dma_alloc_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 0x5797e5f3 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x5cf87250 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5efb8601 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x5f60783e snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x63f6aee3 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 0x69c2fd42 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x75870b9a snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x75ce65a3 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x795e3182 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x79f080bf snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x7a3d8000 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x7e2f966f snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x85365fec snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x8ccb6b9a snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x8d8479db snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x902218af snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x96fb4ec6 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x99eaea9d snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa53b4dfd _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa682b682 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0xa74b412f snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xa78af279 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa95e4836 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0xaa86ca57 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb9431574 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xba7a8931 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xbbef53f0 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xbc5dffa5 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xca84c430 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcb61ddec snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xdfb20ab2 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf9dc716d snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xfd654266 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-pcm 0xfff32c55 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-rawmidi 0x017e00ee snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0bb2f0d2 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0fbc1aee snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3496c8d6 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x48b6061e snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ee254d7 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ee8d024 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4fa70626 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54cf0cae snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x65f5fa9e snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x74897323 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7bab98f5 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fa9ee34 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x86ca7ed1 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x926c9104 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbc0b30ed snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd79089d6 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd8cb86df __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe97b9ef3 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xecaa7a6a snd_rawmidi_kernel_open +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 0xde7e50d7 snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x0c566b34 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x1d7af08e snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x593bbb9d snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x5a1a1611 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x5a4a482d snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x6459d052 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x6651f400 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x77e11dd0 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x7af03fb3 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x7c349805 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x7c5fc708 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xb360d2c6 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xba90fde4 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0xdbb10cd4 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xee345618 snd_timer_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x007280d0 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 0x1a65f915 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1d80afde snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x26f42304 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x372ed37b snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x54c2fc5f snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa9267031 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbcab968a snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbde20ddb snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xddfff59e 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 0x8775a09a snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8b07c805 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9089e379 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb8300f27 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbb73c8b7 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xca426288 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd0d47d06 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd6126e33 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd8f2cb1c snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0a89e281 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x11a7e699 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x125c38be amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x22465926 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2b7697c2 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x338f2d04 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x355925b4 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x39a0f51d fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x41d7467b avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x43b6cd23 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4f671171 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x537f066c amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5609ba0f fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x57be5e87 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x584d90e9 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x64fa167e amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x80afd207 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8bdcf5d6 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x91f03029 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x945405ee fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x97482386 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9c41cf5b fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa3c57616 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa5a2e79f fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb6cc2582 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc8ec20f4 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe407756c cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe9259f88 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf23bfe32 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfa601398 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x1b3b8041 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xc1802976 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0fc48eab snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x6627afbf snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x6d8393b6 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x71bcf619 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8a12f8c5 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xabe76b06 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd2791e60 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe88a3e4e snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x12439b8b snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3cb2f7a3 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4526a911 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb760ec1a snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xd9bcf1f0 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xecb4f06f snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x67c66cff snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7a97e473 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x95e0c7e2 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd260733f snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x6bb67de7 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa35cbd20 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x0abdf986 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x82358615 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x87ded926 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8a970d18 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb18f4656 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe62a0e73 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-i2c 0x03da3d90 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2076513c snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x24026d5b snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4943c3a5 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf416f58e snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xff74616c snd_i2c_device_free +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0e2a7104 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x114f4d27 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x34fda19b snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x41251135 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5f2aed73 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x90851448 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa6965fee snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb19d52b0 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xbe736ac7 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xcab25a06 snd_sbdsp_reset +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x06843f4e snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x09d6911a snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d131fa1 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2b05a46a snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x388a485a snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4541acee snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x45aee964 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4906801f snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5f184b0d snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x67668408 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8f491dde snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc420c0a1 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc6672594 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd423db9e snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf5ecf918 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfa6c0a6c snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfe3ab7bd snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x0de9dc1e hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x01d8289d snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x0df00831 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2fbb48a3 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x576dce81 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5c8dc511 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x783b3ec6 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa9035dc2 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xba9f6738 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd1f5d958 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x191960be snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3b5301e7 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x8778321b snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0afe5d3a oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x11cf009c oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x12a2988e oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x13756382 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1a0c22a4 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2eda4e21 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x32635b47 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4481a711 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4f6f1783 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5e6c5430 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7af2f0ea oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9bc46631 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xae447b4d oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc961ac5a oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xccd58810 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd5517600 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe37bef15 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xeb657f66 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xebac4d7c oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xecf243e8 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf71d613d oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x4ae9dcf3 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8ddda47d snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xc8f3726e snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xddd77031 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xff910720 snd_trident_alloc_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xa89284e1 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xf82337ed pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x4c2a9fec tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xeee7cdb9 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x009d7ba0 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x61c473ec aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x8f52bd3f aic32x4_remove +EXPORT_SYMBOL sound/soc/snd-soc-core 0xddad5223 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0372feff snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x04820f0e snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x09480211 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0f317562 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x12719dfa snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x159b7e8e snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1687c043 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x22469c20 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x275e686f snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2b776b15 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2da12033 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ecd7b4e snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x391d527c snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39567615 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39d4be9f snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3c36d8d3 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4280d1c6 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x447caede snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x468c9cd4 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4ee5b107 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5444cdfa sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x55a6a99d snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x587206cf snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x599c09e9 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5b11e460 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5f34d877 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x63c26ed7 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6a10d18b snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6cceb459 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6cd2d1de sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7a40ead8 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x83ebf1e1 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x877b32aa snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x933ffbd7 sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x93b93fcf snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x940b4f9c snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9d4f1d2f snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb4d80ce7 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb4ecc746 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb5616c71 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb678515e snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb7911c7b snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb895f116 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbec1e17d snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbfe71d45 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcd0fc4fb sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd580dcbe snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd8863ac5 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe4e7fe94 sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe7327130 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xec83a690 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xee66245f snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf813fb99 snd_sof_device_probe +EXPORT_SYMBOL sound/soundcore 0x173356c2 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x4379d4e1 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8de9dfe7 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xa6e5bdf9 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xdaabc14e sound_class +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x04a2308c snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x399c1494 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x66a7c7cc snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd005e8f1 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd032e1e6 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd81228bd snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x293ac667 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x34ac95ae snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x48f920c4 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7d95566f snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x85659341 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x97bb24f2 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9db98086 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xe2935f8c snd_util_memhdr_free +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 0xd5ad0434 __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/hio/hio 0x0c92bafb ssd_reset +EXPORT_SYMBOL ubuntu/hio/hio 0x2173e4c5 ssd_bm_status +EXPORT_SYMBOL ubuntu/hio/hio 0x399d9f14 ssd_set_otprotect +EXPORT_SYMBOL ubuntu/hio/hio 0x6942a56e ssd_get_label +EXPORT_SYMBOL ubuntu/hio/hio 0x76970bc7 ssd_get_temperature +EXPORT_SYMBOL ubuntu/hio/hio 0x9da9608e ssd_submit_pbio +EXPORT_SYMBOL ubuntu/hio/hio 0xa7ef4648 ssd_get_version +EXPORT_SYMBOL ubuntu/hio/hio 0xadc45647 ssd_get_pciaddr +EXPORT_SYMBOL ubuntu/hio/hio 0xb4a75d4e ssd_set_wmode +EXPORT_SYMBOL ubuntu/hio/hio 0xc023ed4f ssd_register_event_notifier +EXPORT_SYMBOL ubuntu/hio/hio 0xd2f6ae16 ssd_unregister_event_notifier +EXPORT_SYMBOL vmlinux 0x00374f9f wake_up_process +EXPORT_SYMBOL vmlinux 0x00398fb2 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x003d8c32 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x0056f0ff set_user_nice +EXPORT_SYMBOL vmlinux 0x006ff109 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x0071cdfc netdev_warn +EXPORT_SYMBOL vmlinux 0x00a0c2b7 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x00a4b044 amd_iommu_deactivate_guest_mode +EXPORT_SYMBOL vmlinux 0x00ae3176 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x00ae6aa1 param_ops_byte +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00be4a41 input_grab_device +EXPORT_SYMBOL vmlinux 0x00c09837 clear_inode +EXPORT_SYMBOL vmlinux 0x00c39141 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x00cbd9b7 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x00d4d200 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00e1823c __serio_register_driver +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x011ca083 convert_art_to_tsc +EXPORT_SYMBOL vmlinux 0x011cefbd d_find_any_alias +EXPORT_SYMBOL vmlinux 0x012229b5 submit_bio +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x01551a4f unlock_buffer +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017cb16f __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x017fadc8 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x01a5aab4 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bf31ea xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01e0c822 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x022a7fa8 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x022be991 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x022d0f70 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d1b90 wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x023e7b25 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x024bd4bf vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x0251014a pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x02600384 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x02632e7a neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0281d121 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x02929102 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029a1acd pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a5aff1 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x02a8a269 dput +EXPORT_SYMBOL vmlinux 0x02b050fa vfs_ioctl +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c656b6 acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x02db229e generic_permission +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02f2fa7f thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x032b85a3 generic_listxattr +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03405df8 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x035c1a05 param_set_byte +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03730cbc t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0390e2af qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03a75f25 eth_gro_complete +EXPORT_SYMBOL vmlinux 0x03c363d9 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x03cba281 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x03cf289f I_BDEV +EXPORT_SYMBOL vmlinux 0x03d0466f neigh_parms_release +EXPORT_SYMBOL vmlinux 0x03f2a568 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x03f6b242 __skb_checksum +EXPORT_SYMBOL vmlinux 0x03fabe40 md_update_sb +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0415bfff simple_write_begin +EXPORT_SYMBOL vmlinux 0x042ab7d4 vfs_getattr +EXPORT_SYMBOL vmlinux 0x0433ee50 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x043e13c4 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x0446edd8 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x046949c7 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x047223ae inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x048faeee skb_free_datagram +EXPORT_SYMBOL vmlinux 0x04a76701 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x04c19c8e netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x0502f7c2 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x0504e8f1 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x0505e6c8 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x050c11e2 mntget +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05317408 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x0539d7e9 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x053c7e32 padata_stop +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x0563e640 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x057a2452 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x0584cb38 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x058e4ecb xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x05967d27 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x059a1c69 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x05cd516d bio_free_pages +EXPORT_SYMBOL vmlinux 0x05d6d611 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x05e32bb0 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x06052f8d __memmove +EXPORT_SYMBOL vmlinux 0x06083e07 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06231432 is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x0626dd8c pci_get_slot +EXPORT_SYMBOL vmlinux 0x062875fa xfrm_input +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0643e53f __sb_start_write +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x067410d2 dump_align +EXPORT_SYMBOL vmlinux 0x06762421 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x067fcf8b fd_install +EXPORT_SYMBOL vmlinux 0x068aedbb inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x068ca060 lease_modify +EXPORT_SYMBOL vmlinux 0x069364a1 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06b289bb logfc +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06d6005d xfrm_state_free +EXPORT_SYMBOL vmlinux 0x06e63169 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x06e8b5de fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x06ef9b8d phy_write_paged +EXPORT_SYMBOL vmlinux 0x06fa3afb key_move +EXPORT_SYMBOL vmlinux 0x06fc75d6 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x06ff7083 generic_read_dir +EXPORT_SYMBOL vmlinux 0x071d8bd2 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x072661c0 __sb_end_write +EXPORT_SYMBOL vmlinux 0x07277ed1 simple_readpage +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x073a9802 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x0742e0cc skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x0761f923 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x07798604 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x077cdd6e devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x078eb826 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c5763c framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07ea83ba amd_iommu_rlookup_table +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07fdba7e _dev_emerg +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x081e45fe make_bad_inode +EXPORT_SYMBOL vmlinux 0x081eef24 page_mapping +EXPORT_SYMBOL vmlinux 0x0823c498 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x0827ca5a flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08433146 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x08523a62 generic_make_request +EXPORT_SYMBOL vmlinux 0x0865f025 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x0872755d truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x089fbc5f crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x08b373ad xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x08c530be dev_activate +EXPORT_SYMBOL vmlinux 0x08e3c61f input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x090000c9 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x09042952 input_match_device_id +EXPORT_SYMBOL vmlinux 0x0905ef3d iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0x092a97df tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x0944c43f node_states +EXPORT_SYMBOL vmlinux 0x09593ebf udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x09682235 down_timeout +EXPORT_SYMBOL vmlinux 0x096d5414 pv_ops +EXPORT_SYMBOL vmlinux 0x0970fe0b phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x097564d2 d_make_root +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x0986c568 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09a79a87 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x09a9ea92 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x09af564d ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x09ba6d0c rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x09bfdafb mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cba84d pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x09d00529 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x09d19358 page_get_link +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09f7e469 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x0a005792 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x0a043b07 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a169126 dquot_file_open +EXPORT_SYMBOL vmlinux 0x0a194546 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a221c8f iterate_supers_type +EXPORT_SYMBOL vmlinux 0x0a22c984 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x0a266bcc poll_initwait +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a30176f kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x0a411824 d_add +EXPORT_SYMBOL vmlinux 0x0a4a93d6 __devm_request_region +EXPORT_SYMBOL vmlinux 0x0a5d7114 import_iovec +EXPORT_SYMBOL vmlinux 0x0a6acc15 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a7a18d9 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ab7e1a2 pci_release_regions +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad10eb8 _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x0ad1a808 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x0af03a73 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x0af20eae down_read_interruptible +EXPORT_SYMBOL vmlinux 0x0af42c42 cad_pid +EXPORT_SYMBOL vmlinux 0x0b059648 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x0b1806fd km_new_mapping +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b207f0f __serio_register_port +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b3c6d71 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x0b637410 cr4_update_irqsoff +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b77e4c0 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x0b8ee17f dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x0b9bc76a invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x0bbb3e46 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x0bbd8c5e security_path_rename +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bdf31e5 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x0c021b8e serio_open +EXPORT_SYMBOL vmlinux 0x0c0e0391 make_kprojid +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c154e62 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x0c1e0008 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c38d834 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x0c4d7eb7 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c77f484 sock_gettstamp +EXPORT_SYMBOL vmlinux 0x0c7c7f82 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x0c7f1617 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x0c811bad acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x0c84cd1d netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x0c94e7d9 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0ccc9811 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd630dc request_firmware +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ce4a710 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0cf683db __mdiobus_register +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0badb2 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x0d12372f netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x0d13e478 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x0d1b4965 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x0d1ff33a netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x0d2ad479 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x0d32e3b3 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x0d37a9a3 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x0d3e35ee get_amd_iommu +EXPORT_SYMBOL vmlinux 0x0d442ac9 tty_unlock +EXPORT_SYMBOL vmlinux 0x0d4a9fb6 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x0d4f09d6 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x0d533c2b get_super +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d63be93 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x0daa1341 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x0dac1086 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x0db0edf5 filp_open +EXPORT_SYMBOL vmlinux 0x0dbbee26 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x0dbceb3b pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x0dcbe840 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x0de3e5ab jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x0de6cfe6 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x0de81156 is_nd_btt +EXPORT_SYMBOL vmlinux 0x0dea4737 __kfree_skb +EXPORT_SYMBOL vmlinux 0x0e01e416 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x0e0310fc nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0x0e10f606 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x0e15cf69 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1ffa25 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x0e23b37f alloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e431961 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x0e4d289a mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x0e609b59 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e94435a tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x0e95c877 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x0e9820df pci_request_region +EXPORT_SYMBOL vmlinux 0x0ea65b8e pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x0ea67897 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x0ebd6aa2 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x0ec077e0 vga_switcheroo_lock_ddc +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ed6ba8e generic_file_fsync +EXPORT_SYMBOL vmlinux 0x0f0176ba jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x0f05c7b8 __x86_indirect_thunk_r15 +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f15b631 flush_signals +EXPORT_SYMBOL vmlinux 0x0f2663e8 generic_fadvise +EXPORT_SYMBOL vmlinux 0x0f269581 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x0f2be483 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x0f2f2a22 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f3a7a65 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x0f4866a0 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x0f707a0e napi_gro_frags +EXPORT_SYMBOL vmlinux 0x0f763598 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x0f829fcd devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8da5b2 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x0f9203bd dump_skip +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fd4c594 block_write_end +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0feaf818 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x0ff1828a tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x0ff4a302 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x0ff80f59 zalloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10003017 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x1005f5a8 phy_init_eee +EXPORT_SYMBOL vmlinux 0x100a4d94 scsi_device_put +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x101d3bfa flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x102bed66 cpu_info +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10397f5c scsi_scan_host +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105c7f8f inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x10664ac5 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x107f4938 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x1083cb5d vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x1091d3e9 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10ce4d90 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x10d77de6 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110b0602 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x110e6677 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x1112adba path_has_submounts +EXPORT_SYMBOL vmlinux 0x11150b0e nd_dax_probe +EXPORT_SYMBOL vmlinux 0x111585a2 vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x111ce8b4 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x112f5d41 sock_create_lite +EXPORT_SYMBOL vmlinux 0x113d803e phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x113fb4f9 tty_hangup +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11adeafa uart_resume_port +EXPORT_SYMBOL vmlinux 0x11b86f2d __x86_retpoline_rbp +EXPORT_SYMBOL vmlinux 0x11d64668 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x11dad38a hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11feb3f7 dquot_destroy +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120fb992 __block_write_begin +EXPORT_SYMBOL vmlinux 0x12120277 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x12282663 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x123edf42 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a8677d serio_reconnect +EXPORT_SYMBOL vmlinux 0x12bb61bb serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12df3888 param_ops_bint +EXPORT_SYMBOL vmlinux 0x12e457a7 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fca6ec blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x130406f9 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1305ce23 phy_disconnect +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x130e9a32 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x131a9c43 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0x131bc307 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x132547f7 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x1344d7e6 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x1346624f fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x134ce9ff ex_handler_clear_fs +EXPORT_SYMBOL vmlinux 0x135265e2 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x13580a71 dcache_readdir +EXPORT_SYMBOL vmlinux 0x1367ac24 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x1380e595 vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0x138575e6 phy_attached_info +EXPORT_SYMBOL vmlinux 0x1389619c __max_die_per_package +EXPORT_SYMBOL vmlinux 0x1391151b cfb_copyarea +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13c33007 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d170fe prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x13de5273 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x13f39767 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x141b6439 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x142b6967 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x1446f4b3 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x14499039 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14876206 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x148be8ba tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x14aa757a csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x14ae35f0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x14b25fc6 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x14b32b4f nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14e6dbd4 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x14f4ae9b d_alloc +EXPORT_SYMBOL vmlinux 0x14faf9c9 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x150afd0d unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x150e3657 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x15277142 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x152e8e26 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x153391ca posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x1534f409 bio_init +EXPORT_SYMBOL vmlinux 0x15441448 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x1546dd22 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155049b4 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x156b1ac1 sock_no_bind +EXPORT_SYMBOL vmlinux 0x15a11dde kmem_cache_size +EXPORT_SYMBOL vmlinux 0x15b584c8 dma_pool_create +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 0x15c94f12 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x15d2e363 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x15d82aa7 simple_statfs +EXPORT_SYMBOL vmlinux 0x15f7983f __x86_retpoline_r13 +EXPORT_SYMBOL vmlinux 0x1601a07b devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x1605dce4 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x160cb45e __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x16300b92 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x16301b34 wrmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x16305397 dcb_setapp +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x165aad23 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x166d64d0 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x16760185 nvm_end_io +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167d16c9 nobh_write_end +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16a7bf6d proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x16a9257b mmc_can_discard +EXPORT_SYMBOL vmlinux 0x16aa5a95 _dev_alert +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16d07746 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x16d07f9f __udp_disconnect +EXPORT_SYMBOL vmlinux 0x16d42cbb balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x16d8a707 address_space_init_once +EXPORT_SYMBOL vmlinux 0x16dc396c genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16f8f65c rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x16fb8122 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x1703533b blk_execute_rq +EXPORT_SYMBOL vmlinux 0x17068f4a fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x17337d17 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x174baa62 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x175a6e84 tso_start +EXPORT_SYMBOL vmlinux 0x175e33fb dma_spin_lock +EXPORT_SYMBOL vmlinux 0x17654e2f audit_log +EXPORT_SYMBOL vmlinux 0x1765ea1f __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x1778131d sock_i_uid +EXPORT_SYMBOL vmlinux 0x177ff099 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x179fde37 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x17ae2d6d dst_release_immediate +EXPORT_SYMBOL vmlinux 0x17bc37ac gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x17be68ca acpi_clear_event +EXPORT_SYMBOL vmlinux 0x17cdc87a neigh_xmit +EXPORT_SYMBOL vmlinux 0x17d1213f tty_devnum +EXPORT_SYMBOL vmlinux 0x17e03664 bio_chain +EXPORT_SYMBOL vmlinux 0x17e9ab4c try_module_get +EXPORT_SYMBOL vmlinux 0x17eb6e3c phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x18201c7e qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x182bc458 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x184a5171 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x1864e4a8 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x18681a41 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x187a4ecd __tracepoint_read_msr +EXPORT_SYMBOL vmlinux 0x187b87ef pci_pme_active +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18d7c356 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18e65fcf scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x19154b83 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x193ce697 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x19911d8a bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x1991a677 dev_trans_start +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19afb901 proc_set_user +EXPORT_SYMBOL vmlinux 0x19afd8e4 setattr_copy +EXPORT_SYMBOL vmlinux 0x19b59949 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19be5f18 send_sig +EXPORT_SYMBOL vmlinux 0x19c389e8 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x19d6ce26 proc_create_data +EXPORT_SYMBOL vmlinux 0x19d820e3 elv_rb_add +EXPORT_SYMBOL vmlinux 0x19df99b9 acpi_finish_gpe +EXPORT_SYMBOL vmlinux 0x19e54246 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x19e619e1 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x19e9d795 da903x_query_status +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a187dca cdev_alloc +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a2a189d devm_free_irq +EXPORT_SYMBOL vmlinux 0x1a2bbf4e jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x1a33d9d1 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x1a436abe __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4bbac1 dget_parent +EXPORT_SYMBOL vmlinux 0x1a4e6b07 pci_disable_device +EXPORT_SYMBOL vmlinux 0x1a58e3b4 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x1a5f0a7d fb_pan_display +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a63c4ff writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x1a74d0ca param_ops_charp +EXPORT_SYMBOL vmlinux 0x1a761cbf kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x1a7dbb42 file_open_root +EXPORT_SYMBOL vmlinux 0x1a9683c3 con_is_bound +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1aa5a997 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1af82ae7 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b083d63 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x1b2f844c kset_unregister +EXPORT_SYMBOL vmlinux 0x1b320695 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x1b3c14a0 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x1b4712be xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x1b48012d import_single_range +EXPORT_SYMBOL vmlinux 0x1b4e8e36 dev_driver_string +EXPORT_SYMBOL vmlinux 0x1b52b873 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b60ba2c file_modified +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6d3e3c configfs_register_group +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b727d76 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7c486a vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b92a6e3 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x1b97a27d tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x1b98280e phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x1ba27e47 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bc5bcef find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x1bc747ed d_alloc_name +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bdd38bc vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x1c06eb0e sock_wmalloc +EXPORT_SYMBOL vmlinux 0x1c1b9f8e _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x1c1d5338 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x1c243627 __breadahead +EXPORT_SYMBOL vmlinux 0x1c2784f6 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c3fe19c bdi_register +EXPORT_SYMBOL vmlinux 0x1c46dee1 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x1c540a9d dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x1c55eacf amd_iommu_enable_device_erratum +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5da36c pci_save_state +EXPORT_SYMBOL vmlinux 0x1c62a14e kern_path_create +EXPORT_SYMBOL vmlinux 0x1c8fac22 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x1c97c0b4 block_write_full_page +EXPORT_SYMBOL vmlinux 0x1ca849ca dev_deactivate +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cbd32e4 vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0x1cc2ee27 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x1cd0ffe6 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d0ac545 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x1d19f77b physical_mask +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d21d4b7 empty_aops +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d4ecd16 __free_pages +EXPORT_SYMBOL vmlinux 0x1d53efc0 mntput +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d6051b1 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x1d6812eb netif_carrier_on +EXPORT_SYMBOL vmlinux 0x1d6aabb2 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x1d7ac45d map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x1d82a810 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x1da41888 deactivate_super +EXPORT_SYMBOL vmlinux 0x1dacd0fc blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dc84dea ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1dea5f70 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x1deff347 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x1df2f686 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1df70a26 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x1df962e3 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x1dfe86ff pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x1dff3da3 set_binfmt +EXPORT_SYMBOL vmlinux 0x1e074299 tty_lock +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1a49fd mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x1e1b7d4f devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e2d6aea rproc_put +EXPORT_SYMBOL vmlinux 0x1e44d381 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x1e55b9db simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e63902e bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e9e266c task_work_add +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1eaf0389 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x1eb922a3 IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x1ed8b599 __x86_indirect_thunk_r8 +EXPORT_SYMBOL vmlinux 0x1ed94bf4 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1f029406 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f186b4c sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x1f411a6b pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f688259 param_get_ushort +EXPORT_SYMBOL vmlinux 0x1f80ab8d reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x1f8e5928 genlmsg_put +EXPORT_SYMBOL vmlinux 0x1fa47ccf posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x1fb5b0b2 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x1fb75611 mr_mfc_seq_idx +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 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1ff5e0b4 dquot_alloc +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x200c0f44 skb_dequeue +EXPORT_SYMBOL vmlinux 0x202246d0 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x2038ee6c security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x20453eac keyring_search +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208b72c5 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x20a1b519 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20a98c0b inet_protos +EXPORT_SYMBOL vmlinux 0x20b4a4e8 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x20ba4f3e rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20cbf924 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x20cf2ec3 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20e32c75 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f171e3 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x211130c1 alloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x2118d9b8 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x211bc6d5 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x212ced48 key_invalidate +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213c3bce key_reject_and_link +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x2151fd77 dump_truncate +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x2177bd71 acpi_disable_event +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 0x21c1477c mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x21dc142a netif_device_attach +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21e28ad0 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x2206af2c padata_do_parallel +EXPORT_SYMBOL vmlinux 0x220aa5d2 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x220ed2f8 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x2211bb47 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x221362c4 done_path_create +EXPORT_SYMBOL vmlinux 0x22227925 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x222f4bed __nlmsg_put +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x22356cd9 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2280c8c9 kernel_accept +EXPORT_SYMBOL vmlinux 0x228ddb81 get_fs_type +EXPORT_SYMBOL vmlinux 0x228e17de mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x229ab8c8 dev_uc_del +EXPORT_SYMBOL vmlinux 0x22a28bbd dquot_quota_off +EXPORT_SYMBOL vmlinux 0x22aeea8b scsi_device_get +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b63b97 tty_do_resize +EXPORT_SYMBOL vmlinux 0x22de4931 amd_iommu_register_ga_log_notifier +EXPORT_SYMBOL vmlinux 0x22e83e8c config_item_set_name +EXPORT_SYMBOL vmlinux 0x22f8f395 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x232f6ce5 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x2344106c pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x234f26ad pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x2356be58 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x236aead6 fqdir_init +EXPORT_SYMBOL vmlinux 0x2376af18 noop_llseek +EXPORT_SYMBOL vmlinux 0x2377a225 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x238cc471 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x238e9341 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23baac59 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x23c3d3d0 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x23c4c71b xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23cba2cd put_ipc_ns +EXPORT_SYMBOL vmlinux 0x23d1b073 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x23d6f8b5 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x23d7fbb8 vga_put +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f858ea mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2402d0d4 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2432dad0 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x2440cfc2 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245bb866 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x24668361 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x247bcfc9 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x248e8ab6 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x249e50cb bdget_disk +EXPORT_SYMBOL vmlinux 0x24a89521 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x24c276c5 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24e3461c fsync_bdev +EXPORT_SYMBOL vmlinux 0x24e8a635 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x24ed71a6 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x24fcf21e pagecache_write_end +EXPORT_SYMBOL vmlinux 0x2502f940 cdev_device_add +EXPORT_SYMBOL vmlinux 0x251f0596 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x2528955a free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x2543d38d scsi_host_busy +EXPORT_SYMBOL vmlinux 0x2556bbe8 inet_shutdown +EXPORT_SYMBOL vmlinux 0x256b4f3a i8042_install_filter +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x257e89ef tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25978e11 bmap +EXPORT_SYMBOL vmlinux 0x25b5cecd agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x25d428a1 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x25db1577 do_trace_write_msr +EXPORT_SYMBOL vmlinux 0x25df1310 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x25e01aa2 __destroy_inode +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 0x26176245 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x262c24ca pci_restore_state +EXPORT_SYMBOL vmlinux 0x26390207 page_mapped +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263ed23b __x86_indirect_thunk_r12 +EXPORT_SYMBOL vmlinux 0x26459e27 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x26567786 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x268eaa7b md_write_end +EXPORT_SYMBOL vmlinux 0x26948d96 copy_user_enhanced_fast_string +EXPORT_SYMBOL vmlinux 0x26cb33d6 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x26cc73c3 complete_and_exit +EXPORT_SYMBOL vmlinux 0x26e0ea26 kernel_read +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26eb6794 netdev_emerg +EXPORT_SYMBOL vmlinux 0x26f7bdb7 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x272b6d8f tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2748fdb8 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x27585ed0 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x277ec79d flow_block_cb_setup_simple +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 0x279228a2 key_unlink +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d71258 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x27e61722 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x27fb130f tcp_peek_len +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28186112 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x282473fa add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x283013a5 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x2837c961 sock_rfree +EXPORT_SYMBOL vmlinux 0x284b462c mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x288509f8 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x2890c10c vga_switcheroo_unlock_ddc +EXPORT_SYMBOL vmlinux 0x2894af54 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x28998df4 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x28a0bc9e sock_wake_async +EXPORT_SYMBOL vmlinux 0x28b75c36 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x28bae9ec audit_log_start +EXPORT_SYMBOL vmlinux 0x28c5b9c3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x28c82458 framebuffer_release +EXPORT_SYMBOL vmlinux 0x28e09af1 iosf_mbi_available +EXPORT_SYMBOL vmlinux 0x2902c814 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x29147b92 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x291a30a2 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x2951a1a6 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x296cb509 __xa_insert +EXPORT_SYMBOL vmlinux 0x297b00f4 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x298246ab bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x29930f90 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x29ad8e33 x86_hyper_type +EXPORT_SYMBOL vmlinux 0x29b05a19 get_tz_trend +EXPORT_SYMBOL vmlinux 0x29bae48f locks_init_lock +EXPORT_SYMBOL vmlinux 0x29c46597 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x29d7bb1b vfio_pin_pages +EXPORT_SYMBOL vmlinux 0x29d9d496 arp_create +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29eee0f4 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x29efa97f filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x29f1e5cc vga_switcheroo_init_domain_pm_ops +EXPORT_SYMBOL vmlinux 0x29f3be41 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x2a04722a netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x2a1befb4 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a306586 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x2a37bae3 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x2a449f46 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x2a4e9b51 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x2a57db22 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x2a86e485 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x2a96a9e9 fscrypt_fname_alloc_buffer +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 0x2ab7989d mutex_lock +EXPORT_SYMBOL vmlinux 0x2ab8e186 phy_suspend +EXPORT_SYMBOL vmlinux 0x2ac88904 vme_irq_request +EXPORT_SYMBOL vmlinux 0x2ae5c10e fifo_set_limit +EXPORT_SYMBOL vmlinux 0x2af41a3d xfrm_init_state +EXPORT_SYMBOL vmlinux 0x2af57f44 cdev_del +EXPORT_SYMBOL vmlinux 0x2b038698 md_register_thread +EXPORT_SYMBOL vmlinux 0x2b076ac3 do_SAK +EXPORT_SYMBOL vmlinux 0x2b094a99 bd_start_claiming +EXPORT_SYMBOL vmlinux 0x2b3abc9a may_umount_tree +EXPORT_SYMBOL vmlinux 0x2b3c9d44 skb_store_bits +EXPORT_SYMBOL vmlinux 0x2b3e3083 __x86_retpoline_rdi +EXPORT_SYMBOL vmlinux 0x2b3ebd68 kill_pid +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b62540c unpin_user_pages +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b83e12e tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x2b8ed089 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba52cf0 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x2bb5494c rt6_lookup +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bbe342e remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x2bc4e089 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x2bc600a9 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x2bd583bf neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x2bd5c486 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bde1747 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x2bde9b60 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x2bfb5352 dma_virt_ops +EXPORT_SYMBOL vmlinux 0x2c020fb4 dm_put_table_device +EXPORT_SYMBOL vmlinux 0x2c07fadf vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x2c1c367c file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c31d06e scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x2c3b356e unregister_filesystem +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c6271ef ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x2c84df74 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x2c85b588 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x2c8beb4c dev_mc_init +EXPORT_SYMBOL vmlinux 0x2ca3039d param_set_copystring +EXPORT_SYMBOL vmlinux 0x2ca99ecc rt_dst_clone +EXPORT_SYMBOL vmlinux 0x2caaffe2 neigh_lookup +EXPORT_SYMBOL vmlinux 0x2caf63d1 topology_phys_to_logical_die +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2ccd4513 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d27fa71 dev_get_mac_address +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 0x2d614a0a security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x2d61c032 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x2d756486 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x2d7dcd04 bdget +EXPORT_SYMBOL vmlinux 0x2d7e3fac tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x2d8022b6 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x2d81aa6d iget5_locked +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d92e5d3 bioset_init +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2d9c1c9b md_bitmap_free +EXPORT_SYMBOL vmlinux 0x2d9ef56a genl_register_family +EXPORT_SYMBOL vmlinux 0x2db388fa page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2db3d320 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2dc14b0a i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x2dc500d6 dump_page +EXPORT_SYMBOL vmlinux 0x2dcd63da ethtool_notify +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dda2fb3 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x2ddb93ff generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2dfe7991 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x2e0550e5 _dev_notice +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e19f660 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e30ac07 _dev_info +EXPORT_SYMBOL vmlinux 0x2e35fdf0 to_nd_btt +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e3f8d31 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e44bdfb mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x2e57d7f1 path_nosuid +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e64bd3a mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x2e66df17 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x2e88cc7a nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x2e90feb9 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x2ea2c95c __x86_indirect_thunk_rax +EXPORT_SYMBOL vmlinux 0x2eaf2245 iget_locked +EXPORT_SYMBOL vmlinux 0x2ebbec21 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f13550c blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x2f2765d3 dquot_drop +EXPORT_SYMBOL vmlinux 0x2f2ab278 tty_register_driver +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f42fd32 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x2f495e48 seq_open +EXPORT_SYMBOL vmlinux 0x2f5f2ac2 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8648fe pci_resize_resource +EXPORT_SYMBOL vmlinux 0x2f8c7c96 __break_lease +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fba0119 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x2fd01f64 mr_table_dump +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2feaa92f param_get_short +EXPORT_SYMBOL vmlinux 0x2fedbd17 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x3011e63b pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x3012147e nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x303ae11d pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x3048686a __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x30539383 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x305a4fa3 scsi_host_get +EXPORT_SYMBOL vmlinux 0x3089caf5 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x308c98ef invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30dec207 __x86_retpoline_rcx +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3100cff9 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310ee289 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x3113750e disk_stack_limits +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x312bc9c2 netif_napi_add +EXPORT_SYMBOL vmlinux 0x3137e5f1 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x313c92c2 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147fcce sock_bind_add +EXPORT_SYMBOL vmlinux 0x316f58eb __register_chrdev +EXPORT_SYMBOL vmlinux 0x3171acd7 seq_puts +EXPORT_SYMBOL vmlinux 0x317acabb blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x3187b16e dev_alloc_name +EXPORT_SYMBOL vmlinux 0x3188ac7d xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x318d6fec mutex_is_locked +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a02454 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x31abc407 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31b39a27 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x31b9761f __ps2_command +EXPORT_SYMBOL vmlinux 0x31c591ad dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x31cd0c9d seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x31f1a9a9 simple_unlink +EXPORT_SYMBOL vmlinux 0x31fedc67 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x320f1f86 twl6040_power +EXPORT_SYMBOL vmlinux 0x3214cdea netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x32368073 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x323d5eb7 __invalidate_device +EXPORT_SYMBOL vmlinux 0x32518952 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x3275cdc1 begin_new_exec +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32aa523c tcp_check_req +EXPORT_SYMBOL vmlinux 0x32ab657d mmc_add_host +EXPORT_SYMBOL vmlinux 0x32ae5741 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x32b1130f dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x32bb3c49 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x32c6170b inode_permission +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d3f62f xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x32d5d585 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x330a10f2 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x331f4272 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x3324ef3b acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x333f17ae amd_iommu_pc_get_reg +EXPORT_SYMBOL vmlinux 0x3371187b __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33788ea3 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x339113a9 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x339551fe misc_register +EXPORT_SYMBOL vmlinux 0x33a7efbe phy_drivers_register +EXPORT_SYMBOL vmlinux 0x33b2b66f xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x33fd9da4 acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x34025233 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x3423135c fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x343470fc udp_poll +EXPORT_SYMBOL vmlinux 0x34362cf0 no_llseek +EXPORT_SYMBOL vmlinux 0x343ff057 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x3441445f msrs_free +EXPORT_SYMBOL vmlinux 0x34460ef7 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x3489859f acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x349ac524 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34abbed4 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0x34b03ace ip_do_fragment +EXPORT_SYMBOL vmlinux 0x34e76d1c mpage_writepages +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f89363 acpi_terminate_debugger +EXPORT_SYMBOL vmlinux 0x35082e3a truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3529c03b nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x354b4a1e acpi_ut_trace +EXPORT_SYMBOL vmlinux 0x3553f003 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x3562b9f1 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x359ec42f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35e5fb35 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x35f2cff1 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x35fbbe15 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x3643cb5c vfs_statfs +EXPORT_SYMBOL vmlinux 0x3648e38e mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x36534c7e vc_cons +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36658e7f vfs_get_link +EXPORT_SYMBOL vmlinux 0x366ebbc1 default_llseek +EXPORT_SYMBOL vmlinux 0x36906b5a send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x3694942c rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x36983125 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x369d98c9 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x36a3ba49 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x36b3dd9c dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x36b7d810 vga_tryget +EXPORT_SYMBOL vmlinux 0x36c80d1a genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x36f0e735 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x37006a81 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x3701dd90 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x3709ade3 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x37432b5d consume_skb +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37477c70 skb_clone +EXPORT_SYMBOL vmlinux 0x37486f87 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x374f274b kern_unmount +EXPORT_SYMBOL vmlinux 0x375143a7 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3764b8d9 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x376525e5 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x37905051 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x380402be netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x3812050a _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381e4f17 inet_add_offload +EXPORT_SYMBOL vmlinux 0x384a9225 pci_iounmap +EXPORT_SYMBOL vmlinux 0x385f6121 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x38655ef8 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x3883f8e9 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x38861b4a skb_trim +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 0x3892ad3b agp_generic_insert_memory +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 0x38bd6c68 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x38c1f6ec ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x38c50fd9 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x38c81944 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x38d02ed1 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x38d0fabd pci_write_config_word +EXPORT_SYMBOL vmlinux 0x38d9628e scsi_print_result +EXPORT_SYMBOL vmlinux 0x38e2e574 kobject_del +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x38fefcd0 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x39081193 __max_logical_packages +EXPORT_SYMBOL vmlinux 0x3917366d fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x3920e2da devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3934c6a3 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393e7abd set_posix_acl +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394ed081 blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x394efa34 thaw_bdev +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x395f520c security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x3960e6ac dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x3967d958 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x39710843 lookup_one_len +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39ba8b18 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x39ce9a30 seq_open_private +EXPORT_SYMBOL vmlinux 0x39de7af2 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x39e3c030 do_trace_read_msr +EXPORT_SYMBOL vmlinux 0x39ff6ff2 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a0f4665 __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a229c61 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x3a299cb2 inet_sk_rebuild_header +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 0x3a413d43 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a602b8b tcp_disconnect +EXPORT_SYMBOL vmlinux 0x3a7a5a15 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x3ab36ca0 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac5885c unregister_qdisc +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 0x3addf974 ps2_end_command +EXPORT_SYMBOL vmlinux 0x3aed7e6d pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x3afb11a7 kobject_set_name +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b029f48 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b2349d8 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b370c3e do_splice_direct +EXPORT_SYMBOL vmlinux 0x3b4d3fca __x86_retpoline_r8 +EXPORT_SYMBOL vmlinux 0x3b4e88a7 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x3b5187f3 simple_get_link +EXPORT_SYMBOL vmlinux 0x3b5480e4 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b68d2c1 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x3b83610f cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3b974ab8 phy_start +EXPORT_SYMBOL vmlinux 0x3ba32a26 vfs_llseek +EXPORT_SYMBOL vmlinux 0x3bbf3f53 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x3bc3a37e cfb_imageblit +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c38b513 convert_art_ns_to_tsc +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c427f67 cpu_die_map +EXPORT_SYMBOL vmlinux 0x3c457453 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0x3c549d19 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x3c698a0a mmc_request_done +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c98a5fa sk_stop_timer +EXPORT_SYMBOL vmlinux 0x3caef067 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x3cc0bd71 find_lock_entry +EXPORT_SYMBOL vmlinux 0x3ccc8dbc __x86_retpoline_r14 +EXPORT_SYMBOL vmlinux 0x3cd8119e mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x3cdc5216 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf42f62 ilookup +EXPORT_SYMBOL vmlinux 0x3cf47c31 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x3cf7b8e5 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d1868e1 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d29d4f2 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x3d406ccc d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x3d43885c posix_acl_valid +EXPORT_SYMBOL vmlinux 0x3d483e68 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x3d527240 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d5bb3fd refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x3d5e660e scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x3d676597 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x3d8be0e3 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db57497 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x3dc535f4 xfrm4_protocol_register +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 0x3ddc6c04 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x3de12875 sk_stream_error +EXPORT_SYMBOL vmlinux 0x3de1add5 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x3df01e61 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dfde21a xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x3e01bec3 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x3e22fc84 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e338cf2 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x3e3b08db xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x3e43c8b6 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x3e59414d vfs_fsync +EXPORT_SYMBOL vmlinux 0x3e6ecaf6 sock_release +EXPORT_SYMBOL vmlinux 0x3e75f964 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x3e823b8f posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x3e8dbd06 register_console +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3ea36c16 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x3ea670c9 ps2_init +EXPORT_SYMBOL vmlinux 0x3ead3413 d_splice_alias +EXPORT_SYMBOL vmlinux 0x3ed37ed4 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f178b4c skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x3f4273e7 tcp_close +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f67ee62 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x3f6cd39f locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x3f76d7b1 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f89765f alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x3fa2f104 set_anon_super +EXPORT_SYMBOL vmlinux 0x3fab35d9 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x3fb52483 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x3fb6dddd ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fd4c944 get_cpu_entry_area +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fec1507 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x401f90b4 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x403c7ebc tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x404d31f3 vlan_for_each +EXPORT_SYMBOL vmlinux 0x4054db41 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x4055a920 acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x4056a1f7 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x4057c35c inet6_bind +EXPORT_SYMBOL vmlinux 0x40737c01 kernel_connect +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409bcb62 mutex_unlock +EXPORT_SYMBOL vmlinux 0x40a3d6a0 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40ae081c ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x40b2e2f7 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x40b6e654 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x40c47c36 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x40c716d0 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d31bbc tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40f12261 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x41066d4e netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x411c99d6 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x412b712a pnp_is_active +EXPORT_SYMBOL vmlinux 0x412f0a2f jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415fa3d2 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x4171660c jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x41757b6f vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41957766 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x4198ca95 __do_once_done +EXPORT_SYMBOL vmlinux 0x41ab57cb fb_set_suspend +EXPORT_SYMBOL vmlinux 0x41ba2f72 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x41be7d5b devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x41e96fe3 tcp_child_process +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41f370b6 netlink_unicast +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4218ed50 flow_rule_match_meta +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 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426c25c7 km_query +EXPORT_SYMBOL vmlinux 0x4271b8b5 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x429600f4 amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0x429a916d kernel_bind +EXPORT_SYMBOL vmlinux 0x42b1171e ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42c02a03 input_flush_device +EXPORT_SYMBOL vmlinux 0x42c8bbd9 devm_request_resource +EXPORT_SYMBOL vmlinux 0x42d01716 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x42dd99b1 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x42de3c36 devm_clk_put +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f98251 phy_device_create +EXPORT_SYMBOL vmlinux 0x42fcb808 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x431fc6b8 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x432bffd5 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x43398f24 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x433d4676 bio_devname +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4356e010 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x43764666 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x437ca2e1 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43b0463e iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x43be1238 keyring_clear +EXPORT_SYMBOL vmlinux 0x43c8a84f dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x43ca6eaa ip_options_compile +EXPORT_SYMBOL vmlinux 0x43d74a33 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x43e2ab71 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x43fd8772 register_md_personality +EXPORT_SYMBOL vmlinux 0x440838f1 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0x4418ae3f rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x443013ec load_nls +EXPORT_SYMBOL vmlinux 0x44414ff2 iosf_mbi_unblock_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x44462b88 __x86_retpoline_rdx +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44654ea9 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x446f7b3f mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x448e007f rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x44902cff acpi_enable_event +EXPORT_SYMBOL vmlinux 0x4490e77a cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44e5b3f9 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ff06bd udp_gro_receive +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450cc58f end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x4516a596 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x451fc731 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x452ea6dd migrate_page_copy +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x455bb372 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x4573c2b0 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4586177d dm_unregister_target +EXPORT_SYMBOL vmlinux 0x458fba44 revalidate_disk +EXPORT_SYMBOL vmlinux 0x45adb4e2 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x45d246da node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x45dfe79c vme_irq_free +EXPORT_SYMBOL vmlinux 0x45e04028 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x45e69e01 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x45e8d7b5 native_write_cr0 +EXPORT_SYMBOL vmlinux 0x45fba7a6 datagram_poll +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x4609fb3c inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x460bf29f input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x461d950d inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x461dcc23 generic_file_open +EXPORT_SYMBOL vmlinux 0x4629334c __preempt_count +EXPORT_SYMBOL vmlinux 0x462ea7c6 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x463219fb tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x463b67b1 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467180c4 unpin_user_page +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x4697d3e2 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46affa52 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x46c321d0 vme_bus_type +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cf10eb cachemode2protval +EXPORT_SYMBOL vmlinux 0x46d64707 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x46d75e02 sget_fc +EXPORT_SYMBOL vmlinux 0x46e664b4 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x46e88eb8 pci_get_class +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x4740b3bc xen_arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x474580cc unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x47466fa7 devm_iounmap +EXPORT_SYMBOL vmlinux 0x47566b29 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x475d8838 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x475e34bc tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47941711 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47de2f6a unregister_netdev +EXPORT_SYMBOL vmlinux 0x47f1c8e7 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x47fbe6c4 rproc_boot +EXPORT_SYMBOL vmlinux 0x481253c6 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x4821cccc d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x48333c01 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x484008bb alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +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 0x485b32d1 neigh_table_init +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x486af8a0 seq_path +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x489c4a58 skb_dump +EXPORT_SYMBOL vmlinux 0x489d2b5f pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48d50e79 amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x48d9436a pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x48de4232 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x48e6493d netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x48ff2562 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490d151e filemap_flush +EXPORT_SYMBOL vmlinux 0x490ebf24 tcp_filter +EXPORT_SYMBOL vmlinux 0x49115cee dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x491e5032 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x4934a0a7 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x495cb8e7 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x495e378d __pv_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x496d54f7 md_check_recovery +EXPORT_SYMBOL vmlinux 0x497642ed sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x4998a8f4 get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49bd3981 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x49c41a57 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x49d21ad0 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x49dde3de nf_log_packet +EXPORT_SYMBOL vmlinux 0x49e04a0c inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x49ecb422 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x49f29e8a d_delete +EXPORT_SYMBOL vmlinux 0x4a04a633 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x4a091c95 devm_ioremap +EXPORT_SYMBOL vmlinux 0x4a154889 amd_iommu_get_v2_domain +EXPORT_SYMBOL vmlinux 0x4a1557b0 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x4a1e5ac6 __quota_error +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a42bca3 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a6cfc5a eth_validate_addr +EXPORT_SYMBOL vmlinux 0x4a844b7b acpi_device_hid +EXPORT_SYMBOL vmlinux 0x4a88c303 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9cbe3d xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x4aacfe2f __f_setown +EXPORT_SYMBOL vmlinux 0x4aad913b input_event +EXPORT_SYMBOL vmlinux 0x4ab208ba acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x4aba4bc5 proc_create +EXPORT_SYMBOL vmlinux 0x4abb7d10 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x4ad3de0d fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af5ae9a kfree_skb +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4afdf095 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x4b041798 seq_write +EXPORT_SYMBOL vmlinux 0x4b082998 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b2e8dad tty_check_change +EXPORT_SYMBOL vmlinux 0x4b309168 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x4b39cd20 mr_table_alloc +EXPORT_SYMBOL vmlinux 0x4b3efb01 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x4b5317f6 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b906e16 blk_register_region +EXPORT_SYMBOL vmlinux 0x4ba5693b dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x4ba6491f mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x4ba78c21 sock_wfree +EXPORT_SYMBOL vmlinux 0x4bb37b1b phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf89aa2 cdev_add +EXPORT_SYMBOL vmlinux 0x4bfda34b __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c1b524a sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x4c1c0a22 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x4c3054f5 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c484509 vme_master_request +EXPORT_SYMBOL vmlinux 0x4c4f0078 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x4c56092a security_inode_init_security +EXPORT_SYMBOL vmlinux 0x4c7c7934 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x4c8b89bc take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x4c8d2778 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x4c9d28b0 phys_base +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cd5bac7 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x4cd5bc5e rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x4cdd288d blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x4cead32a simple_link +EXPORT_SYMBOL vmlinux 0x4cfefa28 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d33044b cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x4d3c5220 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x4d55f0bd serio_bus +EXPORT_SYMBOL vmlinux 0x4d7b448e neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x4d8e883e input_setup_polling +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b21fe __x86_retpoline_r11 +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da15b39 vme_dma_request +EXPORT_SYMBOL vmlinux 0x4db8e5b5 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x4dbb463b netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dca186f ip_frag_next +EXPORT_SYMBOL vmlinux 0x4dd40638 current_in_userns +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 0x4df33f12 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x4df8f055 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x4e03af80 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x4e09738f unregister_md_personality +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e4b08c9 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e745c58 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eaeba55 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ebf6456 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ecf5160 __phy_resume +EXPORT_SYMBOL vmlinux 0x4ed2e8a2 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x4ee42f44 kfree_skb_list +EXPORT_SYMBOL vmlinux 0x4ee4d447 d_path +EXPORT_SYMBOL vmlinux 0x4ee79e32 seq_read +EXPORT_SYMBOL vmlinux 0x4ef5ede0 single_release +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4f0a8766 get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f512036 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x4f51b82b user_revoke +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f5af5a7 security_sb_remount +EXPORT_SYMBOL vmlinux 0x4f6a6b26 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x4f711f84 intel_scu_ipc_dev_iowrite8 +EXPORT_SYMBOL vmlinux 0x4f7363c6 inet6_getname +EXPORT_SYMBOL vmlinux 0x4f8438b5 bio_copy_data +EXPORT_SYMBOL vmlinux 0x4f8dbf50 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x4f8ffa1b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x4fbda45c dev_mc_add +EXPORT_SYMBOL vmlinux 0x4fcc8ad2 ex_handler_uaccess +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe785e9 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x4ffc664b vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x503eda62 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x504a998d pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x5051a656 security_path_mknod +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506906a8 set_trace_device +EXPORT_SYMBOL vmlinux 0x506d8bad remap_pfn_range +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x50793944 request_key_tag +EXPORT_SYMBOL vmlinux 0x5091d003 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x509259af try_to_release_page +EXPORT_SYMBOL vmlinux 0x5092b218 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x509312b1 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x509b253d intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x509c659e ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50ab1de7 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50bdea69 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d68377 arch_phys_wc_del +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x50faba43 registered_fb +EXPORT_SYMBOL vmlinux 0x50ff1885 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x5110e56a mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x512a5fb9 scsi_compat_ioctl +EXPORT_SYMBOL vmlinux 0x513bd332 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x514340b0 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x515cb619 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516b8c55 md_done_sync +EXPORT_SYMBOL vmlinux 0x5174828e set_cached_acl +EXPORT_SYMBOL vmlinux 0x51760917 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x518707e5 skb_copy +EXPORT_SYMBOL vmlinux 0x518bc4eb fb_set_cmap +EXPORT_SYMBOL vmlinux 0x51965002 nvm_register +EXPORT_SYMBOL vmlinux 0x51b5cd95 netdev_printk +EXPORT_SYMBOL vmlinux 0x51c47ec2 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x51c88768 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51e79110 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x51f14aa6 nd_device_register +EXPORT_SYMBOL vmlinux 0x51f298e0 intel_scu_ipc_dev_ioread8 +EXPORT_SYMBOL vmlinux 0x51f507b9 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x51f7f770 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x52068517 mmc_put_card +EXPORT_SYMBOL vmlinux 0x5213a25c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x521428fc mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x5228cc27 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x522f9c2e mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x526616a9 inet_addr_type +EXPORT_SYMBOL vmlinux 0x526eb5f2 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x52822f8f crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x5289b5ab dma_find_channel +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52d590bf unregister_quota_format +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52db929b pci_dev_get +EXPORT_SYMBOL vmlinux 0x52df7056 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x52e3addd tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52ed1dd5 scsi_print_command +EXPORT_SYMBOL vmlinux 0x52f6248b ip_frag_init +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x533759e0 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x53569707 this_cpu_off +EXPORT_SYMBOL vmlinux 0x5367b4b4 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x5367d671 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x536d1431 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x5372f9db __dquot_free_space +EXPORT_SYMBOL vmlinux 0x53732f62 __brelse +EXPORT_SYMBOL vmlinux 0x537c45a5 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x53979982 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x53af8423 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53be34f0 __x86_retpoline_rsi +EXPORT_SYMBOL vmlinux 0x53c09d2f fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x53e685ec gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x54175c5f acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x54256345 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x54395bed tty_unregister_device +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54452917 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x54616cdf jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x5466f363 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x546d5eac sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x547c4e68 sk_net_capable +EXPORT_SYMBOL vmlinux 0x547e3344 acpi_disable +EXPORT_SYMBOL vmlinux 0x54a41112 set_nlink +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54d2870f mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x54d2b7f5 inet_select_addr +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x54fb4502 nf_log_trace +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x55089220 udp_seq_stop +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x551d6bb0 param_get_invbool +EXPORT_SYMBOL vmlinux 0x553ceee3 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x554212a2 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x555473ac vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x5559287b iunique +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 0x55717c57 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x55725a51 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x55737750 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55988ecf lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x55a3a7c1 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x55af82c0 pci_iomap +EXPORT_SYMBOL vmlinux 0x55d18924 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x55e22b84 dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e9792a get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x55f95e07 ioremap_prot +EXPORT_SYMBOL vmlinux 0x55fe21da serio_unregister_port +EXPORT_SYMBOL vmlinux 0x560548a6 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x5655445f devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x566bfe84 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x5674988e fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x567a83ee free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x567fe871 vfs_create +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x569abcca acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x56a3e3dd ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d54e83 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x56d8dd87 to_nd_pfn +EXPORT_SYMBOL vmlinux 0x56dbb0ee nf_log_register +EXPORT_SYMBOL vmlinux 0x56e5ff9f dev_set_alias +EXPORT_SYMBOL vmlinux 0x56e7b726 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x56f8c371 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x5702fe63 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x570f15f1 pipe_unlock +EXPORT_SYMBOL vmlinux 0x57125dba seq_hex_dump +EXPORT_SYMBOL vmlinux 0x571c68fe netlink_set_err +EXPORT_SYMBOL vmlinux 0x57253668 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x5743d381 key_put +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5762aa77 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x5783b03c inet_gso_segment +EXPORT_SYMBOL vmlinux 0x5783f8dc xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57a7a9f9 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57d01368 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x57d3903a reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x57d6848e tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x57de2411 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x57fb87d1 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x57fd30f6 tty_register_device +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 0x58341e95 inet_ioctl +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x585228e1 dqget +EXPORT_SYMBOL vmlinux 0x58545788 vme_bus_num +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x58604e4d alloc_iova_mem +EXPORT_SYMBOL vmlinux 0x58614c12 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x587cb6b8 sget +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x5898d2dd ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58c2a3bf fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x58c52b88 netdev_alert +EXPORT_SYMBOL vmlinux 0x58cde818 check_disk_change +EXPORT_SYMBOL vmlinux 0x58e0d257 sock_alloc +EXPORT_SYMBOL vmlinux 0x58e10d85 page_symlink +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e5bccd fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x59195b0e get_user_pages +EXPORT_SYMBOL vmlinux 0x593083c8 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x593c1bac __x86_indirect_thunk_rbx +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x597f54c0 native_restore_fl +EXPORT_SYMBOL vmlinux 0x59861fd0 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x599b5a34 seq_dentry +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a31288 dquot_operations +EXPORT_SYMBOL vmlinux 0x59b1a3a5 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59bd36fc tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x59bf6fa1 vme_init_bridge +EXPORT_SYMBOL vmlinux 0x59d89527 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x5a063a1b kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a1f2d37 inet_frag_find +EXPORT_SYMBOL vmlinux 0x5a245f6d _raw_write_lock +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a52baab tty_write_room +EXPORT_SYMBOL vmlinux 0x5a5a2271 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5a6f4693 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x5a723519 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x5a728eea devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5aa108d2 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x5aa3f58a kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x5aa6ad06 get_acl +EXPORT_SYMBOL vmlinux 0x5aa84f78 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x5abc3280 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x5ad435db rproc_add +EXPORT_SYMBOL vmlinux 0x5ae4d595 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x5aed8685 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x5b19de78 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x5b1d7615 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b31d0c6 file_update_time +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b516eda console_stop +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b8524d5 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x5b8b6685 __skb_pad +EXPORT_SYMBOL vmlinux 0x5b8ef3cc rio_query_mport +EXPORT_SYMBOL vmlinux 0x5b917103 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x5b974bf7 proc_set_size +EXPORT_SYMBOL vmlinux 0x5b989f10 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x5ba9796f ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x5bbe1587 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bd8c792 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5beb3156 translation_pre_enabled +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c0d8c65 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c292c53 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x5c2cb813 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c5b7e22 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x5c5fdc82 serio_rescan +EXPORT_SYMBOL vmlinux 0x5c6d3665 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x5c75258f filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x5c77e6e0 sock_efree +EXPORT_SYMBOL vmlinux 0x5c793462 vif_device_init +EXPORT_SYMBOL vmlinux 0x5c8c87d2 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x5ca9474e bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x5cb20eaf mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x5cc7a3ba init_task +EXPORT_SYMBOL vmlinux 0x5ccf6daf inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x5cdfd4a1 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x5ce6c234 fput +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfafd04 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d263d2e jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x5d269c98 follow_pfn +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d51a7d1 get_watch_queue +EXPORT_SYMBOL vmlinux 0x5d64b857 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x5d6f72ce set_device_ro +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d7a34f4 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d861475 sg_miter_next +EXPORT_SYMBOL vmlinux 0x5d9f8f36 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e2f4b54 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e407495 phy_connect +EXPORT_SYMBOL vmlinux 0x5e56887f flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x5e5b76f8 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x5e5e6ab7 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x5e7fcccc netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x5e8119f2 scsi_partsize +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e87c081 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e97380a vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb56ff6 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed702fd genphy_suspend +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ee3efe4 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x5ef11b2a dqput +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f08259c __post_watch_notification +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f0b8b15 __devm_release_region +EXPORT_SYMBOL vmlinux 0x5f1eba87 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x5f3769e7 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x5f391aca read_cache_pages +EXPORT_SYMBOL vmlinux 0x5f4c78b8 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x5f56663b rdmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x5f56beb0 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x5f58dd3f input_register_handle +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f6fbf3d pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x5f775adc __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f98341e keyring_alloc +EXPORT_SYMBOL vmlinux 0x5fc618d4 sync_filesystem +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fca9f4f unregister_nls +EXPORT_SYMBOL vmlinux 0x5fd2864f param_get_string +EXPORT_SYMBOL vmlinux 0x5fec80e3 phy_detach +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600c141b netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60289727 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x602a167a param_get_bool +EXPORT_SYMBOL vmlinux 0x60316637 mount_subtree +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x60500ab6 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x6051ebfc tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605bfa12 vme_lm_request +EXPORT_SYMBOL vmlinux 0x60830390 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608f8768 kset_register +EXPORT_SYMBOL vmlinux 0x6090edf1 sk_dst_check +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60aafee5 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60d9d214 iov_iter_init +EXPORT_SYMBOL vmlinux 0x60ee4b00 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x61050291 unload_nls +EXPORT_SYMBOL vmlinux 0x611e346d blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x611e8ba8 path_is_under +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x6129d1e0 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x6130fd60 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x6142def3 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x614ab540 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x615456e7 __lock_page +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +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 0x6196beaa kill_block_super +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x619dfcdc intel_scu_ipc_dev_readv +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bc3276 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x61c517c3 input_get_timestamp +EXPORT_SYMBOL vmlinux 0x61cd4fb3 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x61d51e31 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x61df6709 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x61e229c7 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f2a4ec cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x61f7a0b2 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x61fb9967 netdev_err +EXPORT_SYMBOL vmlinux 0x61fbadf6 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x620f91f8 eisa_driver_register +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x621ba39b in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x621bdefe phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6257cb23 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x626e7fdb jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627cb471 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x627e1643 put_devmap_managed_page +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62890955 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x629819cf blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x629d43f8 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x62a346bb watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x62a4e4ab tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x62bac2cc phy_device_remove +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62cae60e acpi_register_debugger +EXPORT_SYMBOL vmlinux 0x62ccea6c mpage_readahead +EXPORT_SYMBOL vmlinux 0x62cdf35c __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632610da generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x6330a10e unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x633d2feb unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x636257f7 get_ibs_caps +EXPORT_SYMBOL vmlinux 0x637a0e96 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x63a3131b __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x63a417b0 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b90b3f udp_ioctl +EXPORT_SYMBOL vmlinux 0x63c11137 xp_dma_map +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d6dbd9 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x63e2f9f2 udp_disconnect +EXPORT_SYMBOL vmlinux 0x63e8e041 _dev_warn +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ee8688 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x63f4c07d dma_free_attrs +EXPORT_SYMBOL vmlinux 0x63f835ba on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x64256e6e thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x643e8e76 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x64444e54 config_item_put +EXPORT_SYMBOL vmlinux 0x6447f275 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x644b223f mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x64508d2f skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x645d2f5b mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649a8143 tcp_req_err +EXPORT_SYMBOL vmlinux 0x649be175 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64dfa258 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x64e35db3 tcp_conn_request +EXPORT_SYMBOL vmlinux 0x64ec31d8 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6516c99b mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651efc4a eth_gro_receive +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x653273cb scm_detach_fds +EXPORT_SYMBOL vmlinux 0x653bc5e2 __frontswap_load +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654bd1ae zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x655f2037 dev_add_pack +EXPORT_SYMBOL vmlinux 0x656649c8 md_bitmap_start_sync +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 0x65b992ac xen_alloc_p2m_entry +EXPORT_SYMBOL vmlinux 0x65b9f4d0 netif_device_detach +EXPORT_SYMBOL vmlinux 0x65ba64f2 serio_close +EXPORT_SYMBOL vmlinux 0x65c10b47 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d32a13 fb_prepare_logo +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 0x65f67bba sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x65fa5401 backlight_device_register +EXPORT_SYMBOL vmlinux 0x65fb6cbe cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x660ddf59 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x661f5b40 ip_defrag +EXPORT_SYMBOL vmlinux 0x6620a385 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x6628d02c key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x663182c9 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x66472907 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666c39cc config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x66914ec2 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x66a27ccb block_invalidatepage +EXPORT_SYMBOL vmlinux 0x66addea8 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66bb07f8 passthru_features_check +EXPORT_SYMBOL vmlinux 0x66c05779 amd_iommu_pc_set_reg +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66d85edf kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x66dbbb77 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0x66fa5a70 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x6701fa2a udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x670b25e5 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x6725678c nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x6727653c kthread_blkcg +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x6734e289 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x6736addd bdevname +EXPORT_SYMBOL vmlinux 0x673bf848 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x67592c13 input_free_device +EXPORT_SYMBOL vmlinux 0x6761e6d9 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x6787a39b param_array_ops +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678b9ed0 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x679ffa92 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bfb2ca __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67d54299 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x67f6ccc1 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x680614e7 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x681caa03 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x681e29e2 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x683506db iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x683e7796 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x6851664e wrmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x68654ffe devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x68707686 amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68881359 fqdir_exit +EXPORT_SYMBOL vmlinux 0x68989efa kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68b8f575 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x68bab32d blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x68ca091b nvm_submit_io +EXPORT_SYMBOL vmlinux 0x68dd51db ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x68e4092e lock_sock_nested +EXPORT_SYMBOL vmlinux 0x68e44ccc uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x68f4920f hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x68f65532 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x69037c41 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x69047366 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x6905635f nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x69177258 param_set_ushort +EXPORT_SYMBOL vmlinux 0x6922c7d3 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x69287fea dup_iter +EXPORT_SYMBOL vmlinux 0x69427903 touch_buffer +EXPORT_SYMBOL vmlinux 0x69487898 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6969f425 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6975b6d6 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x697d2663 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b8ed14 to_ndd +EXPORT_SYMBOL vmlinux 0x69bff31c posix_test_lock +EXPORT_SYMBOL vmlinux 0x69d904b2 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x69da465c eth_header +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de56ed param_ops_int +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e229ff jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a261b78 irq_stat +EXPORT_SYMBOL vmlinux 0x6a29d312 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x6a30757c dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x6a316775 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x6a414408 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x6a424f9f request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a47a77d blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a647cc8 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x6a866029 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x6a995001 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa49823 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x6aa4e468 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x6aa94f1c skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ab8543a twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x6ac2b1e0 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x6ac36981 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6afe7c01 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0x6b0bc734 inet_del_offload +EXPORT_SYMBOL vmlinux 0x6b126a25 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x6b25eb73 param_set_bint +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2a0e17 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3fca86 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5a7393 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6ba274e3 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x6bbd18b9 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc5e589 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x6be08ece proc_create_single_data +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6beb38bb __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x6c18e14b mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x6c211a28 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x6c2184d9 bio_integrity_clone +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 0x6c2cfa64 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x6c2def3c clear_wb_congested +EXPORT_SYMBOL vmlinux 0x6c3bdcfd setattr_prepare +EXPORT_SYMBOL vmlinux 0x6c401b8d clk_add_alias +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6cae5801 __put_page +EXPORT_SYMBOL vmlinux 0x6cb0de15 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cb8d9ba bh_submit_read +EXPORT_SYMBOL vmlinux 0x6cc5cf9b dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x6cc64669 vm_insert_page +EXPORT_SYMBOL vmlinux 0x6ccb2bd2 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x6cd0d315 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x6ce68826 __register_binfmt +EXPORT_SYMBOL vmlinux 0x6cf62166 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6cf7acd6 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x6cfaf1f0 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x6d08c4fe mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x6d1f4caf mdio_device_register +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 0x6d3ab9b1 elevator_alloc +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d7abe02 first_ec +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d8a58ad put_watch_queue +EXPORT_SYMBOL vmlinux 0x6da7241e dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x6dad10d2 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x6daf242d alloc_pages_current +EXPORT_SYMBOL vmlinux 0x6db6d2a0 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x6dbb1461 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dcc6bd1 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6dd1eded ip_check_defrag +EXPORT_SYMBOL vmlinux 0x6de636b6 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df62cb8 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x6e019034 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x6e0781df dst_init +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e2888b6 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x6e46b0c5 inet6_protos +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7ff17d fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea7575d acpi_dispatch_gpe +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eb09910 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x6eb1ec04 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ec19db6 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x6ec506a8 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6f086b1b inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x6f11ddb8 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x6f216663 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x6f2197b0 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x6f21d625 phy_validate_pause +EXPORT_SYMBOL vmlinux 0x6f334fa8 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x6f34a5dd sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f718c3e show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x6f776af1 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x6f8b498a pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6f9a0976 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x6fa4f956 get_super_thawed +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fba5336 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fc30257 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcc3582 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x6fd8b815 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6ff46477 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x702c9b5d inode_add_bytes +EXPORT_SYMBOL vmlinux 0x703764cc compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x7040fff9 rtc_lock +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x7058699c kmem_cache_create +EXPORT_SYMBOL vmlinux 0x70667748 register_shrinker +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x70746ba3 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x708e3cc0 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x70972d38 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70b01011 write_one_page +EXPORT_SYMBOL vmlinux 0x70ba893a scsi_register_driver +EXPORT_SYMBOL vmlinux 0x70c64632 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x710384f8 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7160cbf2 make_kgid +EXPORT_SYMBOL vmlinux 0x71665a2d __register_nls +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x717395f9 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x717bc43e tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x718651b5 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x719407d2 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x719d7b2b ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a7269f mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x71ad2b83 mmc_get_card +EXPORT_SYMBOL vmlinux 0x71bb8571 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x71c6b3fc sock_no_listen +EXPORT_SYMBOL vmlinux 0x71d4ed34 dma_ops +EXPORT_SYMBOL vmlinux 0x71d71ac9 to_nd_dax +EXPORT_SYMBOL vmlinux 0x71e28c20 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x71e6775a reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x71f648ca xfrm_state_add +EXPORT_SYMBOL vmlinux 0x71f7cd24 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x71feaadf phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x723c549a tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x72483bdf agp_generic_enable +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x726a5215 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x726f84c1 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x7276c354 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x728bbf3f grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x728c1dbe new_inode +EXPORT_SYMBOL vmlinux 0x72a1af4e dst_dev_put +EXPORT_SYMBOL vmlinux 0x72a98fdb copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b25da5 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x72b54158 noop_fsync +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72c07dd0 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d68e29 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x72d79d83 pgdir_shift +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f238f6 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731788d3 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731e1130 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x731f8347 bio_add_page +EXPORT_SYMBOL vmlinux 0x732eeabd iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x7338ca1c inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x7354b47e sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x7355abf7 mdiobus_write +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x736b5662 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x736bacd8 tso_count_descs +EXPORT_SYMBOL vmlinux 0x737d0454 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x7381cd83 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x73a5414b __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73af6811 param_get_charp +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73df3986 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x740b22ff mini_qdisc_pair_block_init +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 0x7444f535 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x74610b34 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x74813716 sk_capable +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x749d51a8 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x74a652ad phy_resume +EXPORT_SYMBOL vmlinux 0x74aaddb0 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x74b012b7 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74d2a2dd jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x74e4f0f2 ihold +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f84902 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x74fa06c8 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x74fe716d kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x75012215 dev_change_flags +EXPORT_SYMBOL vmlinux 0x7504e6db md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x7531823b phy_attached_print +EXPORT_SYMBOL vmlinux 0x75365cca genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x753858ca ptp_clock_index +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x753b0f2d dma_resv_init +EXPORT_SYMBOL vmlinux 0x754591ad pci_clear_master +EXPORT_SYMBOL vmlinux 0x754d539c strlen +EXPORT_SYMBOL vmlinux 0x7558399b input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x755d1dc8 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x756d46e1 devm_register_netdev +EXPORT_SYMBOL vmlinux 0x7575d636 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x75943e25 i8253_lock +EXPORT_SYMBOL vmlinux 0x75a646e6 mmc_command_done +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c5bf2d i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d0f97a softnet_data +EXPORT_SYMBOL vmlinux 0x75d2bc09 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75e859f3 __frontswap_test +EXPORT_SYMBOL vmlinux 0x75f8cd87 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76264470 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x763a2145 sock_i_ino +EXPORT_SYMBOL vmlinux 0x763ba3ad ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x767dce4b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76835ca0 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x7684bc9b skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x768faf04 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a0ec54 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x76c50663 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76d69ff2 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x76d9320d acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x76e220fb param_set_bool +EXPORT_SYMBOL vmlinux 0x76fb08a7 amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x7702fdaf iommu_put_dma_cookie +EXPORT_SYMBOL vmlinux 0x770b06d7 eth_type_trans +EXPORT_SYMBOL vmlinux 0x770d342b jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x77278d01 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x77311ee6 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x7739c2bb clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x774b0050 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x7764c480 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x7775d509 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x7789f10f pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x778f3f30 dst_discard_out +EXPORT_SYMBOL vmlinux 0x779821c6 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b0fed9 __next_node_in +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x7802693b configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x782090c1 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x7873b640 padata_do_serial +EXPORT_SYMBOL vmlinux 0x78762812 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x787bde2f __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x787ecc18 inc_nlink +EXPORT_SYMBOL vmlinux 0x7880b45e iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78cfcd0a eth_mac_addr +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e54592 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x792f5594 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x7971aa62 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x7989ceaf agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x799fa008 padata_free_shell +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79b35fdc t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x79b6df62 d_add_ci +EXPORT_SYMBOL vmlinux 0x79d6b780 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x79df9633 ioremap_encrypted +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a234458 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2b2894 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x7a3edf7e remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4cbead _copy_to_iter +EXPORT_SYMBOL vmlinux 0x7a501190 agp_create_memory +EXPORT_SYMBOL vmlinux 0x7a527549 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x7a6b2bcc mpage_writepage +EXPORT_SYMBOL vmlinux 0x7a7c8cd5 icmp6_send +EXPORT_SYMBOL vmlinux 0x7a830021 __neigh_create +EXPORT_SYMBOL vmlinux 0x7a88da87 iosf_mbi_write +EXPORT_SYMBOL vmlinux 0x7a95a2d9 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac20428 get_task_exe_file +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad8e4c5 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae2854c load_nls_default +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7aff77a3 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7b000d46 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b252a28 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x7b2f72e2 sock_alloc_file +EXPORT_SYMBOL vmlinux 0x7b351be3 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x7b3645e6 write_inode_now +EXPORT_SYMBOL vmlinux 0x7b44b6f4 may_umount +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b704a6a inode_init_owner +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b891c7a devm_rproc_add +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bdd7b78 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x7bdfb3c6 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x7be26597 fget +EXPORT_SYMBOL vmlinux 0x7c083ac6 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c560bbd __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7c5ca769 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x7c66af12 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x7c674fe9 kernel_listen +EXPORT_SYMBOL vmlinux 0x7c7ba4db sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7c86a48b super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x7c96928e vga_client_register +EXPORT_SYMBOL vmlinux 0x7c99db76 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cb1f818 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x7cd8d75e page_offset_base +EXPORT_SYMBOL vmlinux 0x7ce0a1a4 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d071786 pnp_device_attach +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 0x7d1c973b skb_copy_expand +EXPORT_SYMBOL vmlinux 0x7d259a79 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x7d3876c7 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d628444 memcpy_fromio +EXPORT_SYMBOL vmlinux 0x7d6514b9 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x7d9f9f2b vga_switcheroo_client_probe_defer +EXPORT_SYMBOL vmlinux 0x7da87273 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7ddf72c0 dev_addr_add +EXPORT_SYMBOL vmlinux 0x7de3e210 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df8796d inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x7dfaa542 dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x7dfd6032 edac_mc_find +EXPORT_SYMBOL vmlinux 0x7e0826e2 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e4100b5 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x7e526bfa __x86_indirect_thunk_r10 +EXPORT_SYMBOL vmlinux 0x7e581ad5 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x7e64949b tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x7e6c9861 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x7e6d4b62 brioctl_set +EXPORT_SYMBOL vmlinux 0x7e6f1353 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x7e794c59 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x7e7bcf26 acpi_map_cpu +EXPORT_SYMBOL vmlinux 0x7e896314 __fs_parse +EXPORT_SYMBOL vmlinux 0x7e8e6604 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x7ea603cb tcp_parse_options +EXPORT_SYMBOL vmlinux 0x7ea7f343 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x7eb50264 dquot_disable +EXPORT_SYMBOL vmlinux 0x7ec1e75a get_tree_single +EXPORT_SYMBOL vmlinux 0x7ec598c2 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x7ec78bdd rename_lock +EXPORT_SYMBOL vmlinux 0x7ec88b3b console_start +EXPORT_SYMBOL vmlinux 0x7ef1f950 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x7ef28a63 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f343ebe tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x7f4ca106 proc_remove +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f5b72b3 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0x7f5c382e release_sock +EXPORT_SYMBOL vmlinux 0x7f5ee577 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x7f6f1a98 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x7f748d50 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f9a8c69 rproc_free +EXPORT_SYMBOL vmlinux 0x7f9d5610 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x7fadb6ae tcf_block_get +EXPORT_SYMBOL vmlinux 0x7fbaf7d8 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff049b5 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x8008012c netlink_ack +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x804af87c wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x8089fbba dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x8092935f in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809bb1ce locks_delete_block +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80a9a468 __check_sticky +EXPORT_SYMBOL vmlinux 0x80acc491 fb_show_logo +EXPORT_SYMBOL vmlinux 0x80ae7a0e send_sig_info +EXPORT_SYMBOL vmlinux 0x80ba632a gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80cb2ac8 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x80d5a8a5 generic_setlease +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d997bd inet_sendmsg +EXPORT_SYMBOL vmlinux 0x80e3749f iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x80fcdf7f flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x80fd4825 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x81346959 simple_open +EXPORT_SYMBOL vmlinux 0x81377f74 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x813e9f89 proc_mkdir +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x81641ae0 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x81644c3f uart_update_timeout +EXPORT_SYMBOL vmlinux 0x8164682d __scsi_execute +EXPORT_SYMBOL vmlinux 0x81826fbc security_path_unlink +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x8194125e pcim_iounmap +EXPORT_SYMBOL vmlinux 0x819c2da6 dst_alloc +EXPORT_SYMBOL vmlinux 0x819e41f0 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81b395b3 down_interruptible +EXPORT_SYMBOL vmlinux 0x81b3d7c3 inet6_release +EXPORT_SYMBOL vmlinux 0x81cdcef1 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x81ce9941 intel_scu_ipc_dev_writev +EXPORT_SYMBOL vmlinux 0x81d0c898 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e4e340 eth_header_parse +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fad7ba generic_writepages +EXPORT_SYMBOL vmlinux 0x81fc79f4 i2c_transfer +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820d903e iput +EXPORT_SYMBOL vmlinux 0x8218d521 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x8226f0a0 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x8239adc7 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x823c19ea iosf_mbi_unregister_pmic_bus_access_notifier_unlocked +EXPORT_SYMBOL vmlinux 0x82567830 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x8269e03c i2c_register_driver +EXPORT_SYMBOL vmlinux 0x8273cb1d __seq_open_private +EXPORT_SYMBOL vmlinux 0x82789e67 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x827ed48e sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82a428b2 vfs_create_mount +EXPORT_SYMBOL vmlinux 0x82c1b01d flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x82c1f5ad fb_get_mode +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82dea772 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x82eab6d7 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x82ecf266 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x82f00782 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x82f059ba neigh_update +EXPORT_SYMBOL vmlinux 0x82f1d8ac skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x831ec690 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x833f443f blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8359415e acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x835bb969 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x835d2cd9 netdev_state_change +EXPORT_SYMBOL vmlinux 0x8375aa45 tty_port_put +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x8383e37a cdrom_open +EXPORT_SYMBOL vmlinux 0x8384ad5d jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x8388b609 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x838b034a pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x838c28df km_state_expired +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839242c6 prepare_creds +EXPORT_SYMBOL vmlinux 0x839cb0a5 pci_find_bus +EXPORT_SYMBOL vmlinux 0x83b1755e kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x83c03b80 fc_mount +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83cc3a71 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x83cebf1b uart_suspend_port +EXPORT_SYMBOL vmlinux 0x83d5d246 touch_atime +EXPORT_SYMBOL vmlinux 0x83efa1fc vm_map_pages +EXPORT_SYMBOL vmlinux 0x83fb6c1a skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x84043421 simple_getattr +EXPORT_SYMBOL vmlinux 0x840c1c0a set_pages_uc +EXPORT_SYMBOL vmlinux 0x842817c4 skb_ext_add +EXPORT_SYMBOL vmlinux 0x842e16e1 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x8434820f inet_accept +EXPORT_SYMBOL vmlinux 0x844e60d8 nobh_writepage +EXPORT_SYMBOL vmlinux 0x846a4345 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x846ae51e tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x846d85d9 dev_printk +EXPORT_SYMBOL vmlinux 0x846dca87 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x84740f88 __frontswap_store +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x849fe807 csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x84a074ef nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x84ae7c2e cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x84b8c298 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84ce8320 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x84d3e1a0 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x84ec5e4d pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x8503a444 vfs_symlink +EXPORT_SYMBOL vmlinux 0x850838b9 generic_write_end +EXPORT_SYMBOL vmlinux 0x8544063b neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x85532eb1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x855e58ee ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856edfe0 build_skb +EXPORT_SYMBOL vmlinux 0x8581a583 put_cmsg +EXPORT_SYMBOL vmlinux 0x85830357 mmput_async +EXPORT_SYMBOL vmlinux 0x8586ef58 param_set_ullong +EXPORT_SYMBOL vmlinux 0x858b3fe3 free_iova_mem +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85970922 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x85a3554c dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85cc0c77 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x85cf31cf register_netdevice +EXPORT_SYMBOL vmlinux 0x85de3b3d abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e21d47 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x8609adea scm_fp_dup +EXPORT_SYMBOL vmlinux 0x8633d306 single_open +EXPORT_SYMBOL vmlinux 0x8639fea3 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x864172b5 bio_split +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x86592757 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x865fcda6 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x865fd983 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a080ff dst_release +EXPORT_SYMBOL vmlinux 0x86a5f7a6 pskb_extract +EXPORT_SYMBOL vmlinux 0x86c6de81 proc_symlink +EXPORT_SYMBOL vmlinux 0x86c7272b iosf_mbi_read +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86ebaa7f inet_offloads +EXPORT_SYMBOL vmlinux 0x86f27420 iosf_mbi_block_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x86f412fd sock_kfree_s +EXPORT_SYMBOL vmlinux 0x86fb4536 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8702bb1f seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x87097f5a register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x87208044 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x87360fd8 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x873bb6fe set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x87440fb5 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x874564f9 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x874f4499 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x87525651 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x87984370 seq_escape +EXPORT_SYMBOL vmlinux 0x87a2b3a8 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x87a804ee neigh_table_clear +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87c9e29c from_kgid_munged +EXPORT_SYMBOL vmlinux 0x87d508c0 skb_push +EXPORT_SYMBOL vmlinux 0x87dbaa48 netpoll_setup +EXPORT_SYMBOL vmlinux 0x87e07290 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x87eee480 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x87f27c6e register_quota_format +EXPORT_SYMBOL vmlinux 0x87f5da98 node_data +EXPORT_SYMBOL vmlinux 0x88083c5f blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x8808f6a8 follow_down_one +EXPORT_SYMBOL vmlinux 0x880e8064 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x8829a919 agp_backend_release +EXPORT_SYMBOL vmlinux 0x88387285 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x88611be0 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x88616859 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x88645b89 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x88679ed2 uart_register_driver +EXPORT_SYMBOL vmlinux 0x887888b5 sync_file_create +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x888b306e unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x88a1dcc2 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x88aaf404 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88b5307d agp_bridge +EXPORT_SYMBOL vmlinux 0x88c6409f ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x88d5a461 param_ops_string +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e78e7b sock_kmalloc +EXPORT_SYMBOL vmlinux 0x88fa2fb7 from_kuid +EXPORT_SYMBOL vmlinux 0x8932857b kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x893d2452 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x893ddb1a tcp_connect +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x894bab77 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x895791f3 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x896a9c4a dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x896c5f73 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x898d96f7 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x899b8de6 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x89c30605 should_remove_suid +EXPORT_SYMBOL vmlinux 0x89ec04c8 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x8a005579 inode_init_once +EXPORT_SYMBOL vmlinux 0x8a35b432 sme_me_mask +EXPORT_SYMBOL vmlinux 0x8a40b948 md_reload_sb +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a5486c6 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x8a588160 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a6c67f9 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x8a6c7139 acpi_mask_gpe +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a802a28 mmc_erase +EXPORT_SYMBOL vmlinux 0x8a829744 freeze_bdev +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a995394 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa6fc2e unlock_rename +EXPORT_SYMBOL vmlinux 0x8aba63ae tty_port_open +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8acfcba9 ps2_drain +EXPORT_SYMBOL vmlinux 0x8ad29bab _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x8ad39293 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x8ae2a07f __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x8ae2b398 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b0932e2 sync_inode +EXPORT_SYMBOL vmlinux 0x8b0a1d9e fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x8b18b37b dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x8b2876e9 find_vma +EXPORT_SYMBOL vmlinux 0x8b4a9836 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x8b50c268 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x8b531a9c pci_set_mwi +EXPORT_SYMBOL vmlinux 0x8b5b6d9a pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x8b5ba8f5 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x8b5ddb74 simple_write_end +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b69de04 bio_uninit +EXPORT_SYMBOL vmlinux 0x8b7364e0 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b80bce8 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x8b8cda8d textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b951302 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x8b966b63 sn_rtc_cycles_per_second +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8bb9c9b5 block_truncate_page +EXPORT_SYMBOL vmlinux 0x8bd577d0 acpi_ut_exit +EXPORT_SYMBOL vmlinux 0x8be6f4b1 seq_release +EXPORT_SYMBOL vmlinux 0x8c025306 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x8c15fe3e __x86_retpoline_r10 +EXPORT_SYMBOL vmlinux 0x8c183f09 __mdiobus_write +EXPORT_SYMBOL vmlinux 0x8c18aa18 backlight_force_update +EXPORT_SYMBOL vmlinux 0x8c2277e1 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c284ffc __scm_send +EXPORT_SYMBOL vmlinux 0x8c3253ec _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x8c5697d3 pps_event +EXPORT_SYMBOL vmlinux 0x8c5dda92 freeze_super +EXPORT_SYMBOL vmlinux 0x8c6142b6 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x8c64c609 arp_send +EXPORT_SYMBOL vmlinux 0x8c6accad fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c91dad1 zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca322b5 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x8cadd169 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x8cb09cad tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8cb544df __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce474b2 phy_get_pause +EXPORT_SYMBOL vmlinux 0x8ce79239 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x8d0e8dd6 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x8d1aa8ce sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x8d3ccde7 dev_mc_del +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d6407f6 ata_link_printk +EXPORT_SYMBOL vmlinux 0x8d6e6b28 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d7a584d netdev_change_features +EXPORT_SYMBOL vmlinux 0x8d96ee81 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8db22efe acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x8db319fb __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x8db5cafb filemap_fault +EXPORT_SYMBOL vmlinux 0x8dc6833f devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x8dd64f2f get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de86a9a param_ops_ushort +EXPORT_SYMBOL vmlinux 0x8de9729a skb_find_text +EXPORT_SYMBOL vmlinux 0x8df7e8d6 cpumask_any_but +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 0x8e2d1236 ex_handler_wrmsr_unsafe +EXPORT_SYMBOL vmlinux 0x8e41d0d8 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x8e43c683 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x8e5a4eb3 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x8e663d0f zalloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x8e763d83 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x8e804519 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8ea12b82 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8ebf6186 misc_deregister +EXPORT_SYMBOL vmlinux 0x8edd3dc7 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f06d344 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x8f142aa4 dev_get_stats +EXPORT_SYMBOL vmlinux 0x8f21ab35 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f38d383 ex_handler_default +EXPORT_SYMBOL vmlinux 0x8f4dd786 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x8f6ce35b jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x8f80bf11 acpi_install_gpe_raw_handler +EXPORT_SYMBOL vmlinux 0x8f98d317 lock_page_memcg +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 0x8fa4b08b agp_enable +EXPORT_SYMBOL vmlinux 0x8fc66e6f dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x8fdfbc3d i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x8fe65fca inet_sendpage +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ff8d789 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x901d11a7 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x902d2f30 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x90365843 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x9038d3b6 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x90542f3e rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x90589e62 page_pool_create +EXPORT_SYMBOL vmlinux 0x90602ed7 param_get_byte +EXPORT_SYMBOL vmlinux 0x9068d8fb arp_xmit +EXPORT_SYMBOL vmlinux 0x9073f3fc input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x90795233 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x9089bb53 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x909d2cdf vm_event_states +EXPORT_SYMBOL vmlinux 0x90dac0f8 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x90dbd0e5 inode_insert5 +EXPORT_SYMBOL vmlinux 0x90f7423a crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x9114dd5f vmap +EXPORT_SYMBOL vmlinux 0x9116080d tcp_shutdown +EXPORT_SYMBOL vmlinux 0x91206e8c seq_read_iter +EXPORT_SYMBOL vmlinux 0x91295cbf dns_query +EXPORT_SYMBOL vmlinux 0x9146c7e0 napi_complete_done +EXPORT_SYMBOL vmlinux 0x9146d24f vlan_vid_del +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91673122 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x9176145b acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x91790a40 tcp_prot +EXPORT_SYMBOL vmlinux 0x91829b10 mdiobus_free +EXPORT_SYMBOL vmlinux 0x91972881 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a092a8 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x91a10c61 intel_scu_ipc_dev_simple_command +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91ab4a3a blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x91b60cff ppp_channel_index +EXPORT_SYMBOL vmlinux 0x91c1f220 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0x91c88017 ata_print_version +EXPORT_SYMBOL vmlinux 0x91db173e dev_uc_sync +EXPORT_SYMBOL vmlinux 0x91e60a26 generic_perform_write +EXPORT_SYMBOL vmlinux 0x91ef24e3 give_up_console +EXPORT_SYMBOL vmlinux 0x91f1457a __skb_get_hash +EXPORT_SYMBOL vmlinux 0x91f42c57 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4cfc1 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x9202177e sock_create +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9240210d blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x925d94ae vga_con +EXPORT_SYMBOL vmlinux 0x9264022f ip6_frag_next +EXPORT_SYMBOL vmlinux 0x92705f37 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x92755c8d vfs_get_super +EXPORT_SYMBOL vmlinux 0x9286f7a7 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x928a1b6a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a51e56 acpi_debug_print_raw +EXPORT_SYMBOL vmlinux 0x92ac24d0 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x92b7d578 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c1fd32 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x92d61e4e scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f56be1 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92fbb60a devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x92fde250 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93074bac phy_loopback +EXPORT_SYMBOL vmlinux 0x932884f9 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x932889f0 single_open_size +EXPORT_SYMBOL vmlinux 0x933c6783 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x933caa54 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x9342fa8b dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x9349397d mr_dump +EXPORT_SYMBOL vmlinux 0x934c27f4 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x937d839d seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x9380abea devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x938c6007 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x93a527ac rproc_alloc +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b61e55 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x93b90388 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93c2345a sk_common_release +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93e11d34 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x93fe8d5d rproc_shutdown +EXPORT_SYMBOL vmlinux 0x94047391 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x9415b675 dev_uc_init +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x943dc80f csum_and_copy_to_user +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x9447f60c fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x9456de92 bdi_put +EXPORT_SYMBOL vmlinux 0x94796768 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x94802d74 noop_qdisc +EXPORT_SYMBOL vmlinux 0x948e89b2 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b88f84 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x9506ff1f nvm_unregister +EXPORT_SYMBOL vmlinux 0x9512dc46 napi_disable +EXPORT_SYMBOL vmlinux 0x9516c479 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x95172cf2 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x953cefde sock_no_accept +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x95525e3a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x95543e8e fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x9564cedf agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x956cf541 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x956d9c42 agp_copy_info +EXPORT_SYMBOL vmlinux 0x95800641 pipe_lock +EXPORT_SYMBOL vmlinux 0x95972213 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95bc257f pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x95c43d89 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x95d67750 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x95f3661a skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x96062b2f sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x960f010a skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x96107967 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x96174e99 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x9625695d acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x96289a35 drop_nlink +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x962eeacd tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x9634d45d clk_get +EXPORT_SYMBOL vmlinux 0x96387c8c proto_unregister +EXPORT_SYMBOL vmlinux 0x963dcba1 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x964b2899 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x967c2208 napi_get_frags +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x96968c73 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x969cc169 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96eab78b iosf_mbi_modify +EXPORT_SYMBOL vmlinux 0x96eb8b9c unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x96ed2e8e blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9716a65f iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x97198b17 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x97331b95 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x9764ee35 vfs_mknod +EXPORT_SYMBOL vmlinux 0x97651e6c vmemmap_base +EXPORT_SYMBOL vmlinux 0x976cbe6f dquot_get_state +EXPORT_SYMBOL vmlinux 0x977f511b __mutex_init +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97a5cb91 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x97a6454a bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97adf2f5 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97c0cf49 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x97c653c5 dma_cache_sync +EXPORT_SYMBOL vmlinux 0x97ca220b mount_nodev +EXPORT_SYMBOL vmlinux 0x97cae6fd dm_put_device +EXPORT_SYMBOL vmlinux 0x9813e7c7 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x9819eee9 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x98304d02 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x9846f4d9 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x98532e2e skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x987f5c39 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x988d5e32 vga_get +EXPORT_SYMBOL vmlinux 0x98baa58f vfs_readlink +EXPORT_SYMBOL vmlinux 0x98bf1668 ping_prot +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98ccfe32 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98e9966a max8998_read_reg +EXPORT_SYMBOL vmlinux 0x98eac3fc flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x98f5a1db ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x9910987d blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x991d0a9e uart_match_port +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995d5183 tty_throttle +EXPORT_SYMBOL vmlinux 0x9966b05d neigh_ifdown +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9976b8c8 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99c8bbc0 serio_interrupt +EXPORT_SYMBOL vmlinux 0x99cb361e ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x99cc2eb5 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d65df1 efi +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99f01673 kill_fasync +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x99f7f0c8 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2fceb2 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x9a301246 sk_free +EXPORT_SYMBOL vmlinux 0x9a326617 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x9a37a224 finish_open +EXPORT_SYMBOL vmlinux 0x9a4475a6 locks_free_lock +EXPORT_SYMBOL vmlinux 0x9a51922b dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a58f703 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x9a6eb9d1 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a82ce7b cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x9a95a8f6 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x9a991e0b _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x9a9f4549 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab2a15a pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x9abc93d2 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x9abdfe32 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x9ad610f7 neigh_for_each +EXPORT_SYMBOL vmlinux 0x9ad69aa9 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x9ad7a582 iosf_mbi_assert_punit_acquired +EXPORT_SYMBOL vmlinux 0x9adfe583 block_commit_write +EXPORT_SYMBOL vmlinux 0x9ae59401 igrab +EXPORT_SYMBOL vmlinux 0x9ae6f526 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x9afdf7f9 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x9b0ea5df scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x9b243593 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b25fcad ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b390650 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b62cb62 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x9b67a295 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b95cdde wireless_send_event +EXPORT_SYMBOL vmlinux 0x9b9b1cc3 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x9b9d4676 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x9bac8f3d read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x9bb45447 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x9bc04c6d d_set_d_op +EXPORT_SYMBOL vmlinux 0x9be6e685 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x9bf000db __bforget +EXPORT_SYMBOL vmlinux 0x9c052fe1 set_security_override +EXPORT_SYMBOL vmlinux 0x9c0a42f8 netif_skb_features +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c2b7df7 tty_set_operations +EXPORT_SYMBOL vmlinux 0x9c3e2b2a tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x9c4d3704 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0x9c4e7144 udplite_prot +EXPORT_SYMBOL vmlinux 0x9c6417cb block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x9c6badfc vfs_rename +EXPORT_SYMBOL vmlinux 0x9c7ac747 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x9c80d321 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb986f2 vmalloc_base +EXPORT_SYMBOL vmlinux 0x9cbfe69f pcim_iomap +EXPORT_SYMBOL vmlinux 0x9cc5d282 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd56b22 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce38e10 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x9ce5a0d6 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x9cea471e d_set_fallthru +EXPORT_SYMBOL vmlinux 0x9d077e0e from_kgid +EXPORT_SYMBOL vmlinux 0x9d099a39 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x9d09b66b netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d0d7216 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x9d0e393f sock_no_getname +EXPORT_SYMBOL vmlinux 0x9d116066 param_ops_short +EXPORT_SYMBOL vmlinux 0x9d201a24 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x9d22909c netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x9d2cdd76 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d620f9c tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x9d66ba5a dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x9d70541a native_save_fl +EXPORT_SYMBOL vmlinux 0x9d7f6dec dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x9d815f4a ns_capable +EXPORT_SYMBOL vmlinux 0x9d880ca8 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x9d88c975 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9dc6dd13 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x9de6e73d __put_user_ns +EXPORT_SYMBOL vmlinux 0x9e02fd15 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x9e05c151 vfs_iocb_iter_write +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 0x9e347e11 phy_find_first +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e683f75 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9ea6231f ab3100_event_register +EXPORT_SYMBOL vmlinux 0x9ea7500f PDE_DATA +EXPORT_SYMBOL vmlinux 0x9eab8d85 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb83265 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9efb2e9e tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x9f0d457c pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x9f109da5 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x9f15d12d tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x9f3b1897 xfrm_user_policy +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 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f6f6e83 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x9f753965 dcb_getapp +EXPORT_SYMBOL vmlinux 0x9f7dcd2c gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x9f807002 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x9f8ba9a4 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x9f8d9556 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f98824a ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x9f9e183e tcf_register_action +EXPORT_SYMBOL vmlinux 0x9f9e7163 iterate_dir +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fbb3f8a sk_ns_capable +EXPORT_SYMBOL vmlinux 0x9fd367e7 __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x9fd5e2eb i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x9fda7c27 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa00f9e27 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xa01d4a8e nd_btt_version +EXPORT_SYMBOL vmlinux 0xa0248eba mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa02eda3a scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa054d095 abort_creds +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05a469a xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xa05fe7f9 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa084f79f cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0a22653 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b8e3de sock_pfree +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0eafa3d bio_reset +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0f2da29 forget_cached_acl +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa120d813 pci_bus_type +EXPORT_SYMBOL vmlinux 0xa1391d1d jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xa13e780a gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xa1534047 eth_header_cache +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa16c8613 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xa1702ec3 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xa17340dd rproc_del +EXPORT_SYMBOL vmlinux 0xa1801454 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xa1855687 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xa1859830 nonseekable_open +EXPORT_SYMBOL vmlinux 0xa19d49ac inet_put_port +EXPORT_SYMBOL vmlinux 0xa1a431fb secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0xa1a441d6 device_get_mac_address +EXPORT_SYMBOL vmlinux 0xa1ab48a4 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xa1b51963 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xa1b535b2 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0xa1bedd72 amd_iommu_pc_get_max_counters +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1f6231e dmam_pool_create +EXPORT_SYMBOL vmlinux 0xa1f9a134 __x86_indirect_thunk_rsi +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa213ed86 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xa22322df agp_free_memory +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa272f563 key_link +EXPORT_SYMBOL vmlinux 0xa285642d xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa299c22c call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xa2ab198c agp_find_bridge +EXPORT_SYMBOL vmlinux 0xa2ac1e75 md_write_inc +EXPORT_SYMBOL vmlinux 0xa2aea123 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xa2afb46c netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xa2b0362b bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xa2b43c8f max8925_reg_read +EXPORT_SYMBOL vmlinux 0xa2b64218 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xa2c4f10c devm_clk_get +EXPORT_SYMBOL vmlinux 0xa2c61e8e dev_change_proto_down +EXPORT_SYMBOL vmlinux 0xa2ff8199 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xa30bcd6b config_group_init +EXPORT_SYMBOL vmlinux 0xa30d8fcc mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xa32419a0 km_state_notify +EXPORT_SYMBOL vmlinux 0xa32cbeba ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xa3479941 padata_start +EXPORT_SYMBOL vmlinux 0xa351c421 sock_from_file +EXPORT_SYMBOL vmlinux 0xa3637950 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xa36737d5 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xa38f21b9 amd_iommu_update_ga +EXPORT_SYMBOL vmlinux 0xa3a9f24c register_key_type +EXPORT_SYMBOL vmlinux 0xa3aa49a6 page_pool_destroy +EXPORT_SYMBOL vmlinux 0xa3b896a9 component_match_add_release +EXPORT_SYMBOL vmlinux 0xa3d61303 pps_unregister_source +EXPORT_SYMBOL vmlinux 0xa3d63520 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0xa3d78fdf __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xa3e4f871 acpi_initialize_debugger +EXPORT_SYMBOL vmlinux 0xa3e6d4af phy_init_hw +EXPORT_SYMBOL vmlinux 0xa3ec978e seq_vprintf +EXPORT_SYMBOL vmlinux 0xa3ef30c8 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa4191c0b memset_io +EXPORT_SYMBOL vmlinux 0xa4332d1d key_task_permission +EXPORT_SYMBOL vmlinux 0xa4508d5d blkdev_get +EXPORT_SYMBOL vmlinux 0xa45d8ee0 fasync_helper +EXPORT_SYMBOL vmlinux 0xa4663f8c mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xa46b3d17 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xa4765ad0 from_kprojid +EXPORT_SYMBOL vmlinux 0xa4890f12 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xa48f06b4 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xa49c8df6 d_lookup +EXPORT_SYMBOL vmlinux 0xa4a4547b tty_name +EXPORT_SYMBOL vmlinux 0xa4a7616c file_ns_capable +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bbe9f1 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xa4c3e6c4 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4d84cc3 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xa4faf62a acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0xa4fe9246 thaw_super +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa507125e acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xa50bcff0 x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xa513f658 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55d9a56 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xa5858160 genphy_loopback +EXPORT_SYMBOL vmlinux 0xa58c4a18 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0xa5956abe ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5a27a17 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5b55a7d sk_alloc +EXPORT_SYMBOL vmlinux 0xa5c3f6fd nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xa5c81588 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xa5e55057 rdmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xa6020688 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xa608d2b0 qdisc_put +EXPORT_SYMBOL vmlinux 0xa60b87e2 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xa618817d input_release_device +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa62830df phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xa633eba3 amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0xa63475ed __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xa635e1ab xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xa636219a lru_cache_add +EXPORT_SYMBOL vmlinux 0xa636aed8 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xa637a3dc netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xa63933d0 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0xa646028a pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xa659a1f7 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xa65cb904 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xa66de6e7 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xa675f740 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa683ab0e ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa68526d9 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xa6c25600 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa6c78eaf simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa72c9e8b cont_write_begin +EXPORT_SYMBOL vmlinux 0xa72cfb7d ioremap_wt +EXPORT_SYMBOL vmlinux 0xa72f2174 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xa740eb94 tcp_mmap +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa75920fc udp_pre_connect +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa77f2914 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xa78380e5 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xa784530b simple_setattr +EXPORT_SYMBOL vmlinux 0xa78fb9b9 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xa792a18d vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xa7978424 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xa79c77ab netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xa7a1ba3e vme_register_driver +EXPORT_SYMBOL vmlinux 0xa7aafb73 pci_dev_put +EXPORT_SYMBOL vmlinux 0xa7b9cec4 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xa7be6db1 d_exact_alias +EXPORT_SYMBOL vmlinux 0xa7c1c481 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xa7cc025a pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xa7cd3ae3 soft_cursor +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7db8873 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa805ecfc acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0xa805eefd dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xa80d1bdf mmc_start_request +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa81ab558 current_time +EXPORT_SYMBOL vmlinux 0xa81ec239 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa836ba02 wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84c200e nd_device_notify +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa8519a6a seq_pad +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa85c1da7 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa879d70c module_layout +EXPORT_SYMBOL vmlinux 0xa8884611 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xa88e710a simple_dir_operations +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa898cae7 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xa8a18091 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xa8a3230f devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8dc8df5 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa9004c74 ata_port_printk +EXPORT_SYMBOL vmlinux 0xa90483c9 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91e98a8 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xa9227d03 iptun_encaps +EXPORT_SYMBOL vmlinux 0xa92b34ba fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xa931af8a asm_load_gs_index +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa947d426 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa955f94c mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0xa95a40c6 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xa965a4a6 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa9785b49 cpu_core_map +EXPORT_SYMBOL vmlinux 0xa98b8587 d_find_alias +EXPORT_SYMBOL vmlinux 0xa9974859 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa998bff2 dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa99f7f4a kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xa9a1ebb4 sk_wait_data +EXPORT_SYMBOL vmlinux 0xa9a667c9 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xa9a8e17f arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0xa9ae4af8 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xa9bdec06 update_devfreq +EXPORT_SYMBOL vmlinux 0xa9c704f2 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xa9c72303 amd_iommu_pc_get_max_banks +EXPORT_SYMBOL vmlinux 0xa9d36e2a tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xa9fb900c skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa09bbc5 skb_append +EXPORT_SYMBOL vmlinux 0xaa2d5e47 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa38bcef genphy_update_link +EXPORT_SYMBOL vmlinux 0xaa551855 fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0xaa670e58 dev_set_group +EXPORT_SYMBOL vmlinux 0xaa673078 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa7327c9 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xaa7ce029 sg_miter_skip +EXPORT_SYMBOL vmlinux 0xaa97b32e genphy_resume +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa5c1bd init_pseudo +EXPORT_SYMBOL vmlinux 0xaaa7518d netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xaab7ef30 blkdev_issue_discard +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 0xaad8f7eb mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xaae51414 dquot_resume +EXPORT_SYMBOL vmlinux 0xaae899a2 inet6_add_offload +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1338f4 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xab1f3a50 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +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 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab79739c genphy_read_status +EXPORT_SYMBOL vmlinux 0xab7b8e68 __x86_retpoline_rbx +EXPORT_SYMBOL vmlinux 0xab7c6d2c arp_tbl +EXPORT_SYMBOL vmlinux 0xab900066 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xab973003 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xaba81805 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0xabdc974e tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xabde15b9 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xabef8a61 skb_put +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabffd76f eth_get_headlen +EXPORT_SYMBOL vmlinux 0xac15924a xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac253049 module_put +EXPORT_SYMBOL vmlinux 0xac2ecb72 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac39b4d7 dquot_transfer +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac73b10f __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xac85096a dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac8ab116 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0xac8bf7a0 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xaca97b08 __page_symlink +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacd4abd9 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xacd7204e sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xace4b390 get_disk_and_module +EXPORT_SYMBOL vmlinux 0xacea7e9b key_type_keyring +EXPORT_SYMBOL vmlinux 0xacea8173 acpi_debug_print +EXPORT_SYMBOL vmlinux 0xacec932a xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xacf0c615 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1036a2 amd_iommu_activate_guest_mode +EXPORT_SYMBOL vmlinux 0xad14f2c5 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xad20fd59 reuseport_alloc +EXPORT_SYMBOL vmlinux 0xad226b06 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xad27cddc vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xad2951a9 ex_handler_rdmsr_unsafe +EXPORT_SYMBOL vmlinux 0xad300fee disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xad536c91 x86_cpu_to_acpiid +EXPORT_SYMBOL vmlinux 0xad6a5d38 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad82fc62 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xada2b58e eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadaf7dc8 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadcd3198 seq_release_private +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadf292ad rproc_report_crash +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae18fdd4 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xae2edfe6 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae3fc37d tty_kref_put +EXPORT_SYMBOL vmlinux 0xae479486 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0xae5508aa gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae74134f agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xae7e3a35 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xae823dad vga_switcheroo_fini_domain_pm_ops +EXPORT_SYMBOL vmlinux 0xae89220a tcp_poll +EXPORT_SYMBOL vmlinux 0xae8b002b pcie_set_mps +EXPORT_SYMBOL vmlinux 0xae9f5d6b pci_set_power_state +EXPORT_SYMBOL vmlinux 0xaea272bb nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeba72a5 kobject_get +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaec4b1b6 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xaee77110 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xaef7d825 __mdiobus_read +EXPORT_SYMBOL vmlinux 0xaf0fa1ea simple_release_fs +EXPORT_SYMBOL vmlinux 0xaf187a29 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xaf25c81c truncate_setsize +EXPORT_SYMBOL vmlinux 0xaf3422e9 acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0xaf354bbe cpu_tss_rw +EXPORT_SYMBOL vmlinux 0xaf3942bc irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf492040 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xaf8c3fa1 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xaf935433 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0xafaced27 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xafb0ac66 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xafb8c6ff copy_user_generic_string +EXPORT_SYMBOL vmlinux 0xafb98c09 dst_destroy +EXPORT_SYMBOL vmlinux 0xafc5d729 __d_drop +EXPORT_SYMBOL vmlinux 0xafcde597 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xafeddca8 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xafee4c0f do_clone_file_range +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb02071cb debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xb02179fb fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xb03b9f5b pmem_sector_size +EXPORT_SYMBOL vmlinux 0xb05c33d2 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061a98a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb061ee88 dev_get_iflink +EXPORT_SYMBOL vmlinux 0xb078a147 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xb0808955 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xb08cf8ef nlmsg_notify +EXPORT_SYMBOL vmlinux 0xb09afef2 dev_addr_init +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0c4780f inet_frags_fini +EXPORT_SYMBOL vmlinux 0xb0c4f7d8 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0df6fdf is_nd_dax +EXPORT_SYMBOL vmlinux 0xb0e08999 mount_bdev +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb0fd67a6 md_flush_request +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb1301b03 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0xb143bdc4 netdev_notice +EXPORT_SYMBOL vmlinux 0xb149e4d7 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb1730d94 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xb1748e6c km_policy_notify +EXPORT_SYMBOL vmlinux 0xb1870148 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xb19a5453 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1b43094 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c5150e pci_request_irq +EXPORT_SYMBOL vmlinux 0xb1d49dd1 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb2037b0d mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xb206ed6b proc_create_seq_private +EXPORT_SYMBOL vmlinux 0xb216b308 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb21aaa4b finalize_exec +EXPORT_SYMBOL vmlinux 0xb22be193 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb22e7a5b kthread_stop +EXPORT_SYMBOL vmlinux 0xb23f73c0 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xb24411b3 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xb24a1b8c agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xb259dfc1 sock_register +EXPORT_SYMBOL vmlinux 0xb25fe620 skb_unlink +EXPORT_SYMBOL vmlinux 0xb2601569 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xb27917c3 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xb27cabbf tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb29ffce3 phy_print_status +EXPORT_SYMBOL vmlinux 0xb2b7ffb7 sock_no_connect +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2f851b9 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb3088eea dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb32935de generic_block_bmap +EXPORT_SYMBOL vmlinux 0xb32a5973 acpi_ut_status_exit +EXPORT_SYMBOL vmlinux 0xb34fda67 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb3635b01 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb37edb4e param_set_uint +EXPORT_SYMBOL vmlinux 0xb38557c0 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb3863a67 acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xb39a9194 nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0xb3a2dfdf nmi_panic +EXPORT_SYMBOL vmlinux 0xb3aa1ebd vfs_fadvise +EXPORT_SYMBOL vmlinux 0xb3b874f8 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3c276e4 mpage_readpage +EXPORT_SYMBOL vmlinux 0xb3c6d5fa simple_pin_fs +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3dd8b6a devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xb3e3b5ba get_vm_area +EXPORT_SYMBOL vmlinux 0xb3e80583 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb40569c5 simple_nosetlease +EXPORT_SYMBOL vmlinux 0xb40dfed1 module_refcount +EXPORT_SYMBOL vmlinux 0xb40e3464 proto_register +EXPORT_SYMBOL vmlinux 0xb413158a gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb44ad4b3 _copy_to_user +EXPORT_SYMBOL vmlinux 0xb44ee38d skb_queue_head +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb46a2755 netif_rx_ni +EXPORT_SYMBOL vmlinux 0xb46d953a param_ops_bool +EXPORT_SYMBOL vmlinux 0xb4739b56 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xb47cca30 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0xb47e1780 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xb486bdfc security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb4a7d760 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0xb4b9c777 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xb4c1eb67 xp_free +EXPORT_SYMBOL vmlinux 0xb4d92551 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xb4e42c47 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f57772 get_agp_version +EXPORT_SYMBOL vmlinux 0xb5132c03 phy_device_register +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb534a311 free_task +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb565ee25 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0xb56bf901 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5908ce5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xb5a19319 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a68edf inet_frag_kill +EXPORT_SYMBOL vmlinux 0xb5a76aa5 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ab892d uv_undefined +EXPORT_SYMBOL vmlinux 0xb5c8ab67 __find_get_block +EXPORT_SYMBOL vmlinux 0xb5ccc79c ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5ed6fe5 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xb5febc39 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xb601be4c __x86_indirect_thunk_rdx +EXPORT_SYMBOL vmlinux 0xb6147d10 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb663a5b2 vfs_unlink +EXPORT_SYMBOL vmlinux 0xb665ef32 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xb674a534 acpi_unmap_cpu +EXPORT_SYMBOL vmlinux 0xb6770b87 block_read_full_page +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6785708 register_gifconf +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb681c76a sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb69931b1 fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b4e8ac blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0xb6ca3b71 pid_task +EXPORT_SYMBOL vmlinux 0xb6dd2ea2 iterate_fd +EXPORT_SYMBOL vmlinux 0xb6e67844 __alloc_skb +EXPORT_SYMBOL vmlinux 0xb716da40 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb73c87c1 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xb740ae6a dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xb74e1b3c __SetPageMovable +EXPORT_SYMBOL vmlinux 0xb7593ddc iosf_mbi_unregister_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xb7776424 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xb77a65cb pci_read_config_word +EXPORT_SYMBOL vmlinux 0xb7863291 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb79370c8 register_qdisc +EXPORT_SYMBOL vmlinux 0xb7b069da pin_user_pages +EXPORT_SYMBOL vmlinux 0xb7b151f9 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xb7b7ed85 open_with_fake_path +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c24ca0 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xb7c6d3bf tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb8031eab dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xb80737b8 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xb814e18a on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb84463ac pci_match_id +EXPORT_SYMBOL vmlinux 0xb847cac7 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xb8497c58 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xb86556a5 security_sk_clone +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86daf5d commit_creds +EXPORT_SYMBOL vmlinux 0xb86f74c5 free_cpumask_var +EXPORT_SYMBOL vmlinux 0xb8851276 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xb8889c79 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xb8920c12 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b1798c input_register_handler +EXPORT_SYMBOL vmlinux 0xb8b2e21f phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8bd0725 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xb8c4eabf udp_sendmsg +EXPORT_SYMBOL vmlinux 0xb8d6b987 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8eb0382 inet6_offloads +EXPORT_SYMBOL vmlinux 0xb8eb6dcb devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xb9000325 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xb90288cc amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb914a303 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xb920d2d9 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xb92eb74e dma_dummy_ops +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9511103 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xb961f569 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb97a53b4 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xb97f7045 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xb98ec45b dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xb9a400b3 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xb9a58816 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0xb9a9e62b simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xb9ad6464 kobject_add +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9c0b869 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0xb9d098a7 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xb9dc462b file_remove_privs +EXPORT_SYMBOL vmlinux 0xb9e276cf wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xb9e3872a dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xb9e7429c memcpy_toio +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9fdaaa4 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xba0072f9 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xba05aa88 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba13969d xp_can_alloc +EXPORT_SYMBOL vmlinux 0xba15d2f3 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xba1dcb9f no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xba215487 skb_checksum +EXPORT_SYMBOL vmlinux 0xba29b639 compat_import_iovec +EXPORT_SYMBOL vmlinux 0xba3dfdce __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba545cb0 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xba5a9cac netif_rx +EXPORT_SYMBOL vmlinux 0xba5bf1b7 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xba7e21e4 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xba80cea1 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xbab5999a mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0xbac67a14 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbae2da2e locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +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 0xbb2e614c dma_resv_fini +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb4ea5eb skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb80fce0 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xbb8e169a vga_switcheroo_handler_flags +EXPORT_SYMBOL vmlinux 0xbb8e55e8 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xbbe75c3f finish_no_open +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf5d9b1 cdrom_release +EXPORT_SYMBOL vmlinux 0xbbfc2260 qdisc_reset +EXPORT_SYMBOL vmlinux 0xbc197009 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xbc1ec50b pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc322ac4 blk_get_queue +EXPORT_SYMBOL vmlinux 0xbc6056fa devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0xbc644af9 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xbc7473e5 simple_empty +EXPORT_SYMBOL vmlinux 0xbc751545 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xbc786283 gro_cells_init +EXPORT_SYMBOL vmlinux 0xbc826d3e icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xbc8d0861 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcdaf165 d_tmpfile +EXPORT_SYMBOL vmlinux 0xbcdc95ad compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xbce6ea43 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xbced1b50 elv_rb_find +EXPORT_SYMBOL vmlinux 0xbcf8566a sk_reset_timer +EXPORT_SYMBOL vmlinux 0xbd23a8bd acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd4cbab8 redraw_screen +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd71ebfb drop_super_exclusive +EXPORT_SYMBOL vmlinux 0xbd7325ca set_wb_congested +EXPORT_SYMBOL vmlinux 0xbd799bca skb_pull +EXPORT_SYMBOL vmlinux 0xbd99bdac flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xbd9dd67e ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xbda06c44 bd_set_size +EXPORT_SYMBOL vmlinux 0xbda319c0 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xbdb578a8 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xbdb88f57 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xbdc2e916 __scm_destroy +EXPORT_SYMBOL vmlinux 0xbde78d51 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xbdead3ff unregister_console +EXPORT_SYMBOL vmlinux 0xbdf3cfa5 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xbdfb6dbb __fentry__ +EXPORT_SYMBOL vmlinux 0xbe0110e7 acpi_set_gpe +EXPORT_SYMBOL vmlinux 0xbe06d27a input_set_poll_interval +EXPORT_SYMBOL vmlinux 0xbe0a44b3 finish_swait +EXPORT_SYMBOL vmlinux 0xbe224b79 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xbe2a8587 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xbe2aa477 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0xbe32b873 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xbe425418 drop_super +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe59378d ppp_unit_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe64ee6c tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0xbe67492b lock_rename +EXPORT_SYMBOL vmlinux 0xbe694c58 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6f50c5 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xbe7e05a8 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xbe83f15b bio_advance +EXPORT_SYMBOL vmlinux 0xbe9b039e sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xbea65512 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xbeaa9f9b get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xbec5f4b9 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xbeeda847 inet_gro_complete +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbefcbbb6 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xbf0bf8c9 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xbf12264d __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xbf176ff4 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xbf1adb2b dev_close +EXPORT_SYMBOL vmlinux 0xbf3193ec acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xbf47a06f nd_integrity_init +EXPORT_SYMBOL vmlinux 0xbf54877b flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xbf5736c4 seq_file_path +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf8f44a0 param_set_ulong +EXPORT_SYMBOL vmlinux 0xbf909688 path_get +EXPORT_SYMBOL vmlinux 0xbf9b5c7b account_page_redirty +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9f55f8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xbfae59c3 phy_device_free +EXPORT_SYMBOL vmlinux 0xbfbc679d tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfdcb43a __x86_indirect_thunk_r11 +EXPORT_SYMBOL vmlinux 0xbfe7cd44 stop_tty +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff680ba f_setown +EXPORT_SYMBOL vmlinux 0xc001b60c tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0xc0087504 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xc01abfc7 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xc01bb492 eisa_bus_type +EXPORT_SYMBOL vmlinux 0xc01f731a param_ops_uint +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc041db48 dev_open +EXPORT_SYMBOL vmlinux 0xc04df318 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xc0582144 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0782da1 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc08ebadc tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xc093fbe2 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xc095e66a fb_set_var +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0c21d0c ilookup5 +EXPORT_SYMBOL vmlinux 0xc0cb7199 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0e4937b configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xc0f05eb1 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xc0f6df82 blk_get_request +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc1000e11 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0xc111ae64 intel_gtt_get +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc1361a1d xp_alloc +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 0xc156c981 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xc15906df param_get_long +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc184b234 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xc192b7ed alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xc1a67775 elv_rb_del +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e177d6 __napi_schedule +EXPORT_SYMBOL vmlinux 0xc1e5abb9 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xc1f84c7b is_subdir +EXPORT_SYMBOL vmlinux 0xc20357f5 would_dump +EXPORT_SYMBOL vmlinux 0xc2387a3b blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0xc23e618f ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xc23ec0c4 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc245e0c0 param_get_uint +EXPORT_SYMBOL vmlinux 0xc248eefe abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc26d0513 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xc272a09e bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xc278c965 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc28d1444 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xc29269c2 PageMovable +EXPORT_SYMBOL vmlinux 0xc29957c3 __x86_indirect_thunk_rcx +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a17ebe seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xc2a5a127 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xc2ab62b4 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xc2ac51d0 __put_cred +EXPORT_SYMBOL vmlinux 0xc2c4ac94 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0xc2ca63c7 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xc2ca6f84 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xc2d5a47b pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xc2d7f1b3 pci_map_rom +EXPORT_SYMBOL vmlinux 0xc2e27831 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e9e185 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xc2ee1323 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xc2f0963b input_open_device +EXPORT_SYMBOL vmlinux 0xc2fdb9e6 notify_change +EXPORT_SYMBOL vmlinux 0xc2fe4f7d tty_vhangup +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc3098874 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc3395e43 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xc33cae76 pci_find_capability +EXPORT_SYMBOL vmlinux 0xc34406e9 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xc34a3049 blk_put_queue +EXPORT_SYMBOL vmlinux 0xc354ee34 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xc367d2fa kernel_getsockname +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37e76c4 filemap_fdatawait_range +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 0xc3c055a8 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc3cd501c unlock_page +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc40eae51 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc420a4f9 tcf_classify +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc425c87e phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc42e53e5 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xc433e13b twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xc43d42af dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xc449edfc tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xc4510651 inode_set_flags +EXPORT_SYMBOL vmlinux 0xc4606704 hmm_range_fault +EXPORT_SYMBOL vmlinux 0xc46d4e98 udp6_set_csum +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc48452a7 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xc485ed83 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0xc48d62dc scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xc4aa2ce6 processors +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4caadb1 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xc4cb5574 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xc4d2a1e7 legacy_pic +EXPORT_SYMBOL vmlinux 0xc4d9fcd5 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xc4e09a59 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xc505d8aa inode_set_bytes +EXPORT_SYMBOL vmlinux 0xc5189a4e path_put +EXPORT_SYMBOL vmlinux 0xc51c5d84 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xc521a926 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc5607753 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc57c59a0 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc58e9057 kill_litter_super +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59bbcc9 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xc59dc2bb __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5d894c6 _dev_crit +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5dbff0f tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0xc5e4a5d1 cpumask_next +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61b270a scsi_remove_host +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc655db30 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xc6569faa amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc6910aa0 do_trace_rdpmc +EXPORT_SYMBOL vmlinux 0xc6ad1c86 kern_unmount_array +EXPORT_SYMBOL vmlinux 0xc6b72685 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6d9298d phy_aneg_done +EXPORT_SYMBOL vmlinux 0xc6ea7830 lookup_bdev +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc71acce7 kill_anon_super +EXPORT_SYMBOL vmlinux 0xc71e8ae2 block_write_begin +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc73c624a dm_get_device +EXPORT_SYMBOL vmlinux 0xc744b680 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xc74661ec pnp_device_detach +EXPORT_SYMBOL vmlinux 0xc761742d dquot_initialize +EXPORT_SYMBOL vmlinux 0xc76d80a4 fs_bio_set +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc781ea17 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a39698 mdiobus_read +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b637bd tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7cb4aae cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7e257a4 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc82a5a97 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84a6648 blk_rq_init +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc875eb96 cdev_init +EXPORT_SYMBOL vmlinux 0xc8792ecd proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xc87a4eee zap_page_range +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc8878d6d param_set_short +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8bafa0b inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc8e7622c inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0xc8e892f4 bio_clone_fast +EXPORT_SYMBOL vmlinux 0xc8ef39a3 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xc915f0e3 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc917467e generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xc9216a82 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0xc92ad16e netif_napi_del +EXPORT_SYMBOL vmlinux 0xc93a61e5 __skb_ext_del +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc942d855 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xc94624f8 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xc9571c91 end_page_writeback +EXPORT_SYMBOL vmlinux 0xc959d152 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc97915cb jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc9950886 tcf_block_put +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9ab3177 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xc9c0a4b2 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xc9c0f769 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xc9d7b08d tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xc9d9292c scsi_ioctl +EXPORT_SYMBOL vmlinux 0xc9dea751 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9f34c1d acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0xc9f615bc pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xca03a810 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0xca145ca4 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca1b3e3d param_ops_ulong +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca237525 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xca3611c2 km_policy_expired +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca5419ea add_random_ready_callback +EXPORT_SYMBOL vmlinux 0xca5f0bcf scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xca6beb53 fb_find_mode +EXPORT_SYMBOL vmlinux 0xca791710 vfs_setpos +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcaa0d2bd pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xcaa14897 phy_stop +EXPORT_SYMBOL vmlinux 0xcaa4a4e2 textsearch_register +EXPORT_SYMBOL vmlinux 0xcaadb858 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0xcabca081 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xcac98e88 dev_add_offload +EXPORT_SYMBOL vmlinux 0xcacfe828 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcad85c7d request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xcae6750d scsi_device_resume +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb3187e4 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7e5550 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xcb9e1a22 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcbaac300 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbe8c3c2 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xcbf475a4 phy_read_paged +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcbfbc681 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2b37e2 config_group_find_item +EXPORT_SYMBOL vmlinux 0xcc3017b0 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc354e44 dev_getfirstbyhwtype +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 0xcc999d9d register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xcca92aa0 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xccbc20de setup_arg_pages +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccc8704f cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccdbf6fe max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xccec793e tso_build_data +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +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 0xcd08ac1c tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd3a0fdd rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0xcd448390 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0xcd49299d nf_log_unset +EXPORT_SYMBOL vmlinux 0xcd4e51b8 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcdbb4bd9 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xcdbc9115 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdc3b41d scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xcdd94a7c iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdee8173 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xcdfe9a3c dquot_acquire +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce389cf0 init_special_inode +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6477b2 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce81b507 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xce8609d7 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xce87e148 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xce8b1878 __x86_indirect_thunk_r14 +EXPORT_SYMBOL vmlinux 0xcea381dd x86_match_cpu +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcec8bc61 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced1184c set_groups +EXPORT_SYMBOL vmlinux 0xceda65bb init_net +EXPORT_SYMBOL vmlinux 0xcedc93cc override_creds +EXPORT_SYMBOL vmlinux 0xcee1ff2b param_get_int +EXPORT_SYMBOL vmlinux 0xceec00f0 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xceec5f00 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf283025 pci_request_regions +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf379fb1 seq_lseek +EXPORT_SYMBOL vmlinux 0xcf4fa0f0 simple_rmdir +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf535078 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xcf5467ad neigh_destroy +EXPORT_SYMBOL vmlinux 0xcf682b6b ll_rw_block +EXPORT_SYMBOL vmlinux 0xcf8279de kmem_cache_free +EXPORT_SYMBOL vmlinux 0xcf83d83a __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xcf8cf6ca md_error +EXPORT_SYMBOL vmlinux 0xcf97f655 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa21738 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xcfb081cd jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xcfb6c4e6 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xcfb95b7c sock_edemux +EXPORT_SYMBOL vmlinux 0xcfdf10eb fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0xd016aae7 input_allocate_device +EXPORT_SYMBOL vmlinux 0xd01bc7d5 build_skb_around +EXPORT_SYMBOL vmlinux 0xd028ebc0 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xd02bed48 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xd02d2de8 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd045fca7 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xd0495ed8 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd0700cb6 dev_get_flags +EXPORT_SYMBOL vmlinux 0xd071b215 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd0a4e6ac blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0a9e77d user_path_create +EXPORT_SYMBOL vmlinux 0xd0afcd2d get_phy_device +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0c94224 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xd0d45958 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xd0ddce6d jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xd0f284b8 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0xd0f66d7f bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11dca29 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xd12315de migrate_vma_setup +EXPORT_SYMBOL vmlinux 0xd1325193 find_inode_nowait +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1412f9b kobject_init +EXPORT_SYMBOL vmlinux 0xd15d1591 rtnl_notify +EXPORT_SYMBOL vmlinux 0xd15e821c netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd195fe25 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xd19bd2e1 __tracepoint_write_msr +EXPORT_SYMBOL vmlinux 0xd1a4053d config_item_get +EXPORT_SYMBOL vmlinux 0xd1b3587a napi_consume_skb +EXPORT_SYMBOL vmlinux 0xd1d53b5c tcp_read_sock +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1de207b fb_blank +EXPORT_SYMBOL vmlinux 0xd1e787a8 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xd1f60a89 arch_io_free_memtype_wc +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd1f7a40d simple_rename +EXPORT_SYMBOL vmlinux 0xd1f85b73 seq_printf +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd2459450 get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd263f29a sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xd26cc840 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xd2761370 set_page_dirty +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2867ca8 alloc_pages_vma +EXPORT_SYMBOL vmlinux 0xd29a14e7 ata_dev_printk +EXPORT_SYMBOL vmlinux 0xd29c4162 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xd29d0c66 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xd2c8c52e __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2da99f4 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2e367bf inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2f027de register_framebuffer +EXPORT_SYMBOL vmlinux 0xd316b315 seq_putc +EXPORT_SYMBOL vmlinux 0xd3241309 sock_set_priority +EXPORT_SYMBOL vmlinux 0xd3348269 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xd33b34d9 mmc_release_host +EXPORT_SYMBOL vmlinux 0xd33b76b7 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xd33d0db1 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xd33d275c kernel_write +EXPORT_SYMBOL vmlinux 0xd33e2d91 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0xd3486e8f register_filesystem +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3583738 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd3728719 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xd373cdf2 xattr_full_name +EXPORT_SYMBOL vmlinux 0xd3872044 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xd38c2421 irq_to_desc +EXPORT_SYMBOL vmlinux 0xd38cd261 __default_kernel_pte_mask +EXPORT_SYMBOL vmlinux 0xd3a4808b phy_read_mmd +EXPORT_SYMBOL vmlinux 0xd3b89a6f param_set_invbool +EXPORT_SYMBOL vmlinux 0xd3c3f753 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xd3c4d454 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xd3d46401 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xd3de74ad simple_fill_super +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3f0ea60 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xd3f254a7 stream_open +EXPORT_SYMBOL vmlinux 0xd3f81937 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd43ed31f posix_lock_file +EXPORT_SYMBOL vmlinux 0xd442707e mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd47947ff __x86_retpoline_r12 +EXPORT_SYMBOL vmlinux 0xd47c99d9 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd4b152b6 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xd4b8bad9 input_unregister_device +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4c3b9da nf_log_set +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4e4c5b6 d_invalidate +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd5352d90 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xd53bea9d configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xd53dca36 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xd54b91e4 dump_emit +EXPORT_SYMBOL vmlinux 0xd567dba1 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xd56d4107 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xd57643a0 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xd58df72d phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xd5a55879 fb_class +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5beb9f8 setup_new_exec +EXPORT_SYMBOL vmlinux 0xd5d0a2c7 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xd5e8c7f4 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xd5eb39f6 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xd5faf345 rtc_add_group +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd6042e37 complete_request_key +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd60a75cb pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xd60e2ae1 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd638b99c __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd642cca1 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd652cc56 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xd67ea9c2 truncate_inode_pages +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 0xd6d13179 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xd6e06b2d phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xd6e2783f xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f908d2 simple_transaction_release +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 0xd7343325 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xd738c960 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd7422be4 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xd78383eb vfs_link +EXPORT_SYMBOL vmlinux 0xd7896163 dquot_release +EXPORT_SYMBOL vmlinux 0xd7950193 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xd7b05eac __bread_gfp +EXPORT_SYMBOL vmlinux 0xd7b5f0e1 put_fs_context +EXPORT_SYMBOL vmlinux 0xd7b8239e __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xd7d06fe3 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e8dc28 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xd7f5f2f0 netdev_info +EXPORT_SYMBOL vmlinux 0xd805af50 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0xd8314a30 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xd83b15b2 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xd846c315 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0xd84f4d07 add_to_pipe +EXPORT_SYMBOL vmlinux 0xd85364f2 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd87408b3 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8ae2390 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd8d22748 submit_bh +EXPORT_SYMBOL vmlinux 0xd8da3728 d_move +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8e959e3 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xd8fbfb2d sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xd8ff8666 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd91b7c46 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xd9243f89 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xd9280dc4 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd92f278a nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xd932aea8 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xd942da98 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd9551df9 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xd971c6c4 xen_arch_register_cpu +EXPORT_SYMBOL vmlinux 0xd976efe2 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0xd979a547 __x86_indirect_thunk_rdi +EXPORT_SYMBOL vmlinux 0xd98196eb flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9884cea udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9a6d75e write_cache_pages +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9d31eda nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e8aee7 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xd9f38dbd input_set_abs_params +EXPORT_SYMBOL vmlinux 0xd9fbf08a pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xd9fc9949 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xda0ebaf7 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xda14992e register_netdev +EXPORT_SYMBOL vmlinux 0xda17f25c follow_up +EXPORT_SYMBOL vmlinux 0xda1ddef1 acpi_mark_gpe_for_wake +EXPORT_SYMBOL vmlinux 0xda26b8ea __irq_regs +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda4b0fda tcp_ioctl +EXPORT_SYMBOL vmlinux 0xda70f3f4 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda963610 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdab4e520 __pagevec_release +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdad13544 ptrs_per_p4d +EXPORT_SYMBOL vmlinux 0xdb01119b phy_start_aneg +EXPORT_SYMBOL vmlinux 0xdb16b170 topology_phys_to_logical_pkg +EXPORT_SYMBOL vmlinux 0xdb472ede blk_queue_split +EXPORT_SYMBOL vmlinux 0xdb4f1ae5 param_set_int +EXPORT_SYMBOL vmlinux 0xdb55c076 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6b14e7 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb88bdc2 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xdb95e185 intel_scu_ipc_dev_command_with_size +EXPORT_SYMBOL vmlinux 0xdb98ddc0 __inet_hash +EXPORT_SYMBOL vmlinux 0xdba96642 pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0xdbb731fa blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0xdbccf8ad clocksource_unregister +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbcff54a __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe50dd1 set_disk_ro +EXPORT_SYMBOL vmlinux 0xdbe6efc8 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xdbf17652 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xdbfd820e kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1aa928 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xdc1d0e48 dma_supported +EXPORT_SYMBOL vmlinux 0xdc2ae9e9 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xdc461ef0 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc5736d5 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0xdc67abdb filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xdc69641c xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xdc7b1af3 fs_lookup_param +EXPORT_SYMBOL vmlinux 0xdc7c3bec pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xdc89b802 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xdc9457d3 d_genocide +EXPORT_SYMBOL vmlinux 0xdca7674c mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xdca9f6e6 ps2_command +EXPORT_SYMBOL vmlinux 0xdcace680 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xdcae8625 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xdccfbfe0 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xdce55c98 __x86_retpoline_rax +EXPORT_SYMBOL vmlinux 0xdceb55bf __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xdcf12651 pps_register_source +EXPORT_SYMBOL vmlinux 0xdd09d612 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xdd0e30e9 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd490027 pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xdd57d607 udp_seq_start +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd6805d5 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xdd6aac85 dev_addr_del +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd746bad blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xdd79d38f set_pages_wb +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd8e06c5 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0xdd8ed09d flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xdd90730a phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xdd95eaea netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xdda3f9fb security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddb84cc7 vm_map_ram +EXPORT_SYMBOL vmlinux 0xddcbe1f3 acpi_ut_value_exit +EXPORT_SYMBOL vmlinux 0xddf04fec mmc_remove_host +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde0334f8 free_buffer_head +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4eeab5 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xde73c80f xfrm_lookup +EXPORT_SYMBOL vmlinux 0xde7ca287 __netif_schedule +EXPORT_SYMBOL vmlinux 0xde80cd09 ioremap +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9dece7 input_set_capability +EXPORT_SYMBOL vmlinux 0xdea060bc filp_close +EXPORT_SYMBOL vmlinux 0xdecf569b __icmp_send +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded40ff0 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0xded6a415 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xded6aebb __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xdedc5d53 inet_frags_init +EXPORT_SYMBOL vmlinux 0xdee07988 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xdee365b0 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0xdef0c6e8 skb_seq_read +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf151f3f i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xdf165e66 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xdf28ccdc revert_creds +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf40eb87 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xdf4895a8 blk_put_request +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf566a59 __x86_indirect_thunk_r9 +EXPORT_SYMBOL vmlinux 0xdf611584 inet_listen +EXPORT_SYMBOL vmlinux 0xdf660813 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xdf6a879b pci_get_subsys +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 0xdfb14029 down_read_killable +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe13bc1 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xdfedfe53 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0xdff8d92d km_report +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb6612 migrate_page_states +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe010a56f netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xe01bd173 dev_uc_add +EXPORT_SYMBOL vmlinux 0xe01e621d migrate_vma_pages +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 0xe034ef0c dev_change_carrier +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe0655403 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xe066e4ec eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe088686b pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe0913fd3 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe0aa9c9f mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xe0aed4af adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b1ea6c device_add_disk +EXPORT_SYMBOL vmlinux 0xe0cf67ba pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xe0d2617c put_disk_and_module +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe120dd4c bdi_alloc +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe125a996 input_set_timestamp +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 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe143d174 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xe190d777 __close_fd +EXPORT_SYMBOL vmlinux 0xe198846e make_kuid +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1a78562 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xe1a9b434 phy_attach +EXPORT_SYMBOL vmlinux 0xe1ab3988 dquot_quota_on +EXPORT_SYMBOL vmlinux 0xe1b4e4b4 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1e886ac __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xe1ed698d _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xe1fe8c55 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xe20381fb udp_prot +EXPORT_SYMBOL vmlinux 0xe2121620 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe22af302 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xe23a1022 generic_write_checks +EXPORT_SYMBOL vmlinux 0xe24cfacf i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xe24d1bdf inode_init_always +EXPORT_SYMBOL vmlinux 0xe24f0c0a dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xe25ee9d3 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xe2649f6f sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xe26c5a78 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2b2e779 key_revoke +EXPORT_SYMBOL vmlinux 0xe2ccaf02 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xe2cd74f7 vme_register_bridge +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d7a5e0 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xe2e5c8a6 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe305c855 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xe30a5ac5 blackhole_netdev +EXPORT_SYMBOL vmlinux 0xe30a8a10 kthread_bind +EXPORT_SYMBOL vmlinux 0xe30c83ef phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32f5070 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xe32fcc70 copy_string_kernel +EXPORT_SYMBOL vmlinux 0xe34f1399 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xe350c8d0 pci_get_device +EXPORT_SYMBOL vmlinux 0xe35e5915 user_path_at_empty +EXPORT_SYMBOL vmlinux 0xe36476f5 sync_blockdev +EXPORT_SYMBOL vmlinux 0xe379f840 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xe37bc43b udp6_csum_init +EXPORT_SYMBOL vmlinux 0xe3920df9 put_disk +EXPORT_SYMBOL vmlinux 0xe3a4665c dev_uc_flush +EXPORT_SYMBOL vmlinux 0xe3b56ecc tcp_init_sock +EXPORT_SYMBOL vmlinux 0xe3ce18ee get_cached_acl +EXPORT_SYMBOL vmlinux 0xe3d857ea __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe3e34a13 update_region +EXPORT_SYMBOL vmlinux 0xe3e915b9 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe3fffae9 __x86_indirect_thunk_rbp +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe4115c65 ether_setup +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe4190ae6 filemap_check_errors +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe41c513c pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xe41de50c nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe43341f7 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xe43e7393 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xe43feef1 skb_copy_header +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe44d5b22 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xe46aade6 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xe46c13c2 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xe4800ce4 bio_put +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe49bf993 kill_pgrp +EXPORT_SYMBOL vmlinux 0xe4d80bf4 acpi_enable +EXPORT_SYMBOL vmlinux 0xe4e49c8e security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xe4f1c824 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xe52294c7 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe528608f dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xe532d6a1 input_close_device +EXPORT_SYMBOL vmlinux 0xe534cd3b tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xe5494b25 input_inject_event +EXPORT_SYMBOL vmlinux 0xe54e148c pcie_get_mps +EXPORT_SYMBOL vmlinux 0xe555597b tcp_seq_stop +EXPORT_SYMBOL vmlinux 0xe568a20b __sock_create +EXPORT_SYMBOL vmlinux 0xe56e323c pnp_possible_config +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe580a339 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xe580b1c2 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xe582e6bf xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe587a1bf blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5a14b25 generic_fillattr +EXPORT_SYMBOL vmlinux 0xe5a60431 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xe5b36e46 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c09f2d gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c6df47 bio_endio +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5ca813d md_integrity_register +EXPORT_SYMBOL vmlinux 0xe5cea3cf skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xe5d2f678 mdio_device_create +EXPORT_SYMBOL vmlinux 0xe5e5172c ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xe5eebd80 devfreq_update_status +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61a9fe7 put_tty_driver +EXPORT_SYMBOL vmlinux 0xe61d6e37 is_acpi_device_node +EXPORT_SYMBOL vmlinux 0xe622ae86 scmd_printk +EXPORT_SYMBOL vmlinux 0xe64a7da6 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xe64ca326 bdput +EXPORT_SYMBOL vmlinux 0xe651c30c iov_iter_revert +EXPORT_SYMBOL vmlinux 0xe6526183 padata_free +EXPORT_SYMBOL vmlinux 0xe6546f12 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xe66290f6 start_tty +EXPORT_SYMBOL vmlinux 0xe6663bbb ppp_input_error +EXPORT_SYMBOL vmlinux 0xe675f5ee pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xe6898239 md_write_start +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe692e6a0 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xe69f0791 iommu_get_dma_cookie +EXPORT_SYMBOL vmlinux 0xe6a8d4b6 devm_release_resource +EXPORT_SYMBOL vmlinux 0xe6bcbb9b cred_fscmp +EXPORT_SYMBOL vmlinux 0xe6fa0900 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xe70877d4 acpi_remove_sci_handler +EXPORT_SYMBOL vmlinux 0xe71859fd scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe7234693 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe77bd201 nd_device_unregister +EXPORT_SYMBOL vmlinux 0xe787698f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xe79345c6 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7ab540c has_capability +EXPORT_SYMBOL vmlinux 0xe7b00dfb __x86_indirect_thunk_r13 +EXPORT_SYMBOL vmlinux 0xe7d3c4c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f134d2 request_key_rcu +EXPORT_SYMBOL vmlinux 0xe839309f abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe887a164 fget_raw +EXPORT_SYMBOL vmlinux 0xe8881110 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0xe898b809 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xe8ab3297 udp_seq_next +EXPORT_SYMBOL vmlinux 0xe8d68d64 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0xe8edbb82 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xe8edfabc ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xe8f77d77 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92e8a4f mark_page_accessed +EXPORT_SYMBOL vmlinux 0xe93ed2ee ppp_input +EXPORT_SYMBOL vmlinux 0xe94a6e50 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe96b98a7 param_ops_long +EXPORT_SYMBOL vmlinux 0xe9a5e67f intel_graphics_stolen_res +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9ce40e2 md_handle_request +EXPORT_SYMBOL vmlinux 0xe9d2c84b jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xe9db02b2 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xe9e5b1b6 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea0b8ba9 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xea1f8779 mdio_device_free +EXPORT_SYMBOL vmlinux 0xea231bdc down_write_killable +EXPORT_SYMBOL vmlinux 0xea34f153 vme_slot_num +EXPORT_SYMBOL vmlinux 0xea375459 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea46bdd4 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea7c6d00 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xea7ed22f pci_read_vpd +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea9523a8 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeaba33d8 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeafb0f20 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb084056 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xeb1a0322 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xeb1bdc48 __lock_buffer +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2391c9 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xeb31aee8 acpi_trace_point +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3e17ed napi_gro_receive +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb597b85 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0xeb5e6c30 con_is_visible +EXPORT_SYMBOL vmlinux 0xeb715da1 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xeb735f28 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb835249 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xebbe12f0 current_task +EXPORT_SYMBOL vmlinux 0xebe124dd inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xebee5500 param_set_charp +EXPORT_SYMBOL vmlinux 0xebf5ba78 set_blocksize +EXPORT_SYMBOL vmlinux 0xec09e1a6 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xec237e4f xps_needed +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec327a13 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xec36f691 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec8966a7 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xec8dce30 pci_find_resource +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecb6963e compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xecc2c0ed dma_set_mask +EXPORT_SYMBOL vmlinux 0xecd2706d of_find_backlight +EXPORT_SYMBOL vmlinux 0xecd4d2ef iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xecd91db1 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecea280b d_obtain_root +EXPORT_SYMBOL vmlinux 0xecf2dd05 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xecfb2104 set_create_files_as +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed0007d6 blkdev_put +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed0c761a try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xed140eb5 pci_release_resource +EXPORT_SYMBOL vmlinux 0xed34ebbc acpi_any_gpe_status_set +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed845d54 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xed849c28 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xed883d1d unregister_key_type +EXPORT_SYMBOL vmlinux 0xeda778c5 bdev_read_only +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbc28a0 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xede18c98 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xede4947b phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xee0985d6 d_instantiate +EXPORT_SYMBOL vmlinux 0xee0e8255 del_gendisk +EXPORT_SYMBOL vmlinux 0xee0f8cee xfrm_state_update +EXPORT_SYMBOL vmlinux 0xee25c371 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xee27d460 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee309a49 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0xee3ff956 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xee545a74 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee624965 input_get_keycode +EXPORT_SYMBOL vmlinux 0xee7be71d scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee806de0 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea40ff1 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xeeb91bfd amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0xeec9c7ab tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xeecb897f scsi_host_put +EXPORT_SYMBOL vmlinux 0xeecbcf86 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xeedc591b xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xeeea63b2 sock_create_kern +EXPORT_SYMBOL vmlinux 0xeef43c40 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xef001e0f cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0xef064232 dev_load +EXPORT_SYMBOL vmlinux 0xef31dc22 pci_free_irq +EXPORT_SYMBOL vmlinux 0xef41bc68 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xef46f4b3 d_rehash +EXPORT_SYMBOL vmlinux 0xef51ef87 pci_enable_device +EXPORT_SYMBOL vmlinux 0xef5bedba i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xef5d929b pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xef894f2c dcache_dir_open +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefad7344 sock_init_data +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefbf6387 dma_sync_wait +EXPORT_SYMBOL vmlinux 0xefc41e50 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefd4a687 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefe53ec9 unix_attach_fds +EXPORT_SYMBOL vmlinux 0xefebbd40 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xefec6ad7 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xeff8add7 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf003efa8 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0xf0083a83 _dev_err +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf00b2cec generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xf01c3774 inet_release +EXPORT_SYMBOL vmlinux 0xf02a7515 dm_register_target +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf04e72a9 free_netdev +EXPORT_SYMBOL vmlinux 0xf0559908 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xf05c32ad rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06f0824 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xf0719531 cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0xf0735c85 __module_get +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf093e913 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xf0961b22 key_validate +EXPORT_SYMBOL vmlinux 0xf0976383 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0ac4f31 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xf0d79660 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xf0d7d526 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xf0daea6b cdev_device_del +EXPORT_SYMBOL vmlinux 0xf0dcd157 devm_memremap +EXPORT_SYMBOL vmlinux 0xf0dfa06f refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0xf0f73325 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf10faa6a blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf11b92ce follow_down +EXPORT_SYMBOL vmlinux 0xf12dfff3 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0xf1488cdb flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xf1583afe __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xf1667ab3 bioset_exit +EXPORT_SYMBOL vmlinux 0xf16a2be8 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xf16e2f03 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xf174523e pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xf1747efa dm_io +EXPORT_SYMBOL vmlinux 0xf1848ee2 acpi_install_sci_handler +EXPORT_SYMBOL vmlinux 0xf1853651 page_pool_put_page +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19a429c tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xf19f93e9 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xf1a68107 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf1b6ba24 acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf21017d9 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf216d53a fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xf21c1d2a is_bad_inode +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2418d75 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29db00f poll_freewait +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2b81b64 arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2ccdf9a dentry_open +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ecd150 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xf2f26a9b blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf3022df7 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xf306f9dd discard_new_inode +EXPORT_SYMBOL vmlinux 0xf30965ac iosf_mbi_register_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf31c6948 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xf321e554 can_nice +EXPORT_SYMBOL vmlinux 0xf32ae09d bdgrab +EXPORT_SYMBOL vmlinux 0xf333857a csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34d4a02 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xf34e56b9 irq_set_chip +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35f42a0 pci_release_region +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3914af6 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a60d85 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3b8f298 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xf3c65500 unix_get_socket +EXPORT_SYMBOL vmlinux 0xf3ca8230 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xf3dac93b dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf4021624 mmc_free_host +EXPORT_SYMBOL vmlinux 0xf40e7a73 __xa_alloc +EXPORT_SYMBOL vmlinux 0xf410c78e ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xf4134d87 tty_port_init +EXPORT_SYMBOL vmlinux 0xf415ac56 vme_slave_request +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf43bb10f vfio_register_notifier +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf43dd39a input_register_device +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf443c1f8 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xf445ca7d ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf456e670 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xf4652718 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xf469890b lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf482f5e5 netdev_update_features +EXPORT_SYMBOL vmlinux 0xf4894ce6 page_readlink +EXPORT_SYMBOL vmlinux 0xf4a10b45 skb_split +EXPORT_SYMBOL vmlinux 0xf4a1629b scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xf4a3ac11 migrate_page +EXPORT_SYMBOL vmlinux 0xf4a3af9c netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xf4a565fd wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4afb153 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xf4b28773 tcf_em_register +EXPORT_SYMBOL vmlinux 0xf4b2b86e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c6a598 kobject_put +EXPORT_SYMBOL vmlinux 0xf4cba458 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xf4ce253f dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xf4cf3b2a ipv4_specific +EXPORT_SYMBOL vmlinux 0xf4d8c449 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xf4d91034 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e2baf0 key_alloc +EXPORT_SYMBOL vmlinux 0xf4eb96fd netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f87043 simple_lookup +EXPORT_SYMBOL vmlinux 0xf501fec6 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf541bc01 inet_getname +EXPORT_SYMBOL vmlinux 0xf55304b0 pci_set_master +EXPORT_SYMBOL vmlinux 0xf56225bd file_path +EXPORT_SYMBOL vmlinux 0xf5647c0e rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0xf56dddbb generic_update_time +EXPORT_SYMBOL vmlinux 0xf57131ff buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xf57910cd set_bh_page +EXPORT_SYMBOL vmlinux 0xf57e352d vme_master_mmap +EXPORT_SYMBOL vmlinux 0xf58f7040 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf595aed0 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a5c84c msrs_alloc +EXPORT_SYMBOL vmlinux 0xf5afaec5 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xf5c844da inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xf5e35a13 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5fdaa24 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xf60ab926 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf60df2a7 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0xf621216b inet_gro_receive +EXPORT_SYMBOL vmlinux 0xf6224909 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xf624e192 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0xf62575d1 mmc_retune_release +EXPORT_SYMBOL vmlinux 0xf6386fa1 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xf63b90fb i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf646c656 udp_set_csum +EXPORT_SYMBOL vmlinux 0xf64c7e91 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xf65fb01c compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf68c3704 read_cache_page +EXPORT_SYMBOL vmlinux 0xf68d9930 param_get_ulong +EXPORT_SYMBOL vmlinux 0xf6983165 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xf6bc584b scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf6c64c47 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xf6e4a587 skb_tx_error +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf709f227 param_get_ullong +EXPORT_SYMBOL vmlinux 0xf713619f nd_btt_probe +EXPORT_SYMBOL vmlinux 0xf71e3bdb mmc_of_parse +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf74abd3c vc_resize +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf78e10ca inet_bind +EXPORT_SYMBOL vmlinux 0xf7940a3b backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xf7993827 open_exec +EXPORT_SYMBOL vmlinux 0xf79ca3bb acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0xf7a3c18f iget_failed +EXPORT_SYMBOL vmlinux 0xf7a3e576 devm_memunmap +EXPORT_SYMBOL vmlinux 0xf7b4d598 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xf7c98c97 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xf7d040cd pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xf7d8b81a ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xf7da0483 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7dc0679 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xf7e07ed7 sg_miter_start +EXPORT_SYMBOL vmlinux 0xf7ef9a79 iosf_mbi_punit_release +EXPORT_SYMBOL vmlinux 0xf7f053f3 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xf7f773db tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xf7f851bc rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xf80be44e rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xf810c070 fiemap_prep +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 0xf8386d97 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xf839034e fddi_type_trans +EXPORT_SYMBOL vmlinux 0xf839a15f vm_mmap +EXPORT_SYMBOL vmlinux 0xf83a836a forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xf83c5036 input_set_keycode +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf85315e0 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xf8595510 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xf86893ff ptp_clock_event +EXPORT_SYMBOL vmlinux 0xf87d5d2e cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8b2174d sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xf8bb1f6b amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8c016b0 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0xf8c0bacc pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xf8cf9ff6 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8da9631 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xf8e93f4b dquot_free_inode +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8f7d18f tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xf8fc813b fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0xf906aab6 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf91cef9d genl_notify +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf96c1d03 tcp_release_cb +EXPORT_SYMBOL vmlinux 0xf96fba0c dcache_dir_close +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf97af9fb get_unmapped_area +EXPORT_SYMBOL vmlinux 0xf987305a vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xf99d0f08 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ba9314 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9d23145 pci_select_bars +EXPORT_SYMBOL vmlinux 0xf9e2892d vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f85951 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf9fd1181 inet6_del_offload +EXPORT_SYMBOL vmlinux 0xfa08f4b8 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa4bcc15 input_reset_device +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa5bb4ac simple_transaction_set +EXPORT_SYMBOL vmlinux 0xfa661833 nf_reinject +EXPORT_SYMBOL vmlinux 0xfa6890cb mount_single +EXPORT_SYMBOL vmlinux 0xfa72074c sock_no_linger +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfaa1fdf7 __tracepoint_rdpmc +EXPORT_SYMBOL vmlinux 0xfab726eb pci_choose_state +EXPORT_SYMBOL vmlinux 0xfac3e00a __x86_retpoline_r9 +EXPORT_SYMBOL vmlinux 0xfac77d30 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae89cb7 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xfb31bd80 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb3f57fb tty_port_close +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb60e4a3 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb746cc9 down_killable +EXPORT_SYMBOL vmlinux 0xfb74a90b alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xfb9c21f3 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xfba6e09f param_ops_invbool +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbabf343 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbe45067 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xfbe857a5 phy_driver_register +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbf4d03c dquot_commit +EXPORT_SYMBOL vmlinux 0xfc1421f0 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xfc28e098 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xfc2a0e3a release_pages +EXPORT_SYMBOL vmlinux 0xfc304309 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xfc321b3b vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc4129b8 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc45b929 get_task_cred +EXPORT_SYMBOL vmlinux 0xfc473419 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xfc517b67 netlink_net_capable +EXPORT_SYMBOL vmlinux 0xfc52f4eb peernet2id +EXPORT_SYMBOL vmlinux 0xfc5c46e2 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0xfc77dcf8 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xfc7e2596 down_trylock +EXPORT_SYMBOL vmlinux 0xfc9d4039 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc8e325 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfd12736b netdev_features_change +EXPORT_SYMBOL vmlinux 0xfd3ecabe netdev_crit +EXPORT_SYMBOL vmlinux 0xfd3f10d3 ip6_xmit +EXPORT_SYMBOL vmlinux 0xfd408d4d skb_checksum_help +EXPORT_SYMBOL vmlinux 0xfd42527c __x86_retpoline_r15 +EXPORT_SYMBOL vmlinux 0xfd4cca48 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xfd692143 scsi_add_device +EXPORT_SYMBOL vmlinux 0xfd6f5158 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xfd89e4e5 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xfd8ced84 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xfd93ee35 ioremap_wc +EXPORT_SYMBOL vmlinux 0xfda6d3a0 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdb2f917 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0xfdb6576f acpi_set_debugger_thread_id +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +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 0xfde4f926 vfs_iter_read +EXPORT_SYMBOL vmlinux 0xfdf0141e netlink_capable +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfdfb792f amd_iommu_pc_supported +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe19dd78 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe25b5cb blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xfe3b6792 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xfe41035a pci_enable_msi +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe507820 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xfe537da3 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe71eac8 i2c_del_driver +EXPORT_SYMBOL vmlinux 0xfe7efa35 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xfe84bd73 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0xfe86ec3c bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0xfe878b83 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xfe8d72c8 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe94db08 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0xfe9d19a0 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea4bdf8 kern_path +EXPORT_SYMBOL vmlinux 0xfeaa3c37 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfebb2f11 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xfec1409c flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xfec55178 secpath_set +EXPORT_SYMBOL vmlinux 0xfeda3be2 clear_nlink +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee30f01 param_set_long +EXPORT_SYMBOL vmlinux 0xfee72939 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef2615c nf_ct_attach +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2ddbcd register_cdrom +EXPORT_SYMBOL vmlinux 0xff5a8505 d_drop +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff71cf76 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff8e21a1 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffacf39a __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffc30c3a acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xffc6c30c dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xffcd7f49 iosf_mbi_punit_acquire +EXPORT_SYMBOL vmlinux 0xffe91ccd scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xffee2167 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x19711697 camellia_xts_dec_16way +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 0x6f3a8de5 camellia_xts_enc_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x8b44ee75 camellia_ecb_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x9056f10d camellia_xts_enc +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x9e600be1 xts_camellia_setkey +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0xc00f725a camellia_ctr_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0xfea2b457 camellia_xts_dec +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x0b901549 camellia_dec_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x315d28f7 camellia_crypt_ctr_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 0xee61eb71 camellia_crypt_ctr +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/glue_helper 0x1e1dc832 glue_cbc_decrypt_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0x30dafa64 glue_ecb_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0x47c4e08f glue_xts_crypt_128bit_one +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0x63f67411 glue_xts_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0xac4570af glue_ctr_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0xb80e5d04 glue_cbc_encrypt_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x09c17e6f xts_serpent_setkey +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/serpent-avx-x86_64 0x5cea0c9c serpent_ctr_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x99341b41 serpent_xts_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xa0100109 serpent_xts_dec +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xb75988d7 __serpent_crypt_ctr +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xbdfa6cc0 serpent_xts_enc_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xcee44453 serpent_xts_enc +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 0x2c7b3458 twofish_enc_blk_ctr +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0x31ddef7a twofish_enc_blk_ctr_3way +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 0x00663b03 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0110d881 kvm_arch_has_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x01334f0d kvm_intr_is_single_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x01622164 kvm_arch_has_assigned_device +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x031d427b kvm_request_apicv_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x046a667a kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x055bbfa6 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0841ac30 kvm_apic_match_dest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x08e68685 reprogram_gp_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0a12ab69 kvm_vcpu_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c310c84 kvm_emulate_rdmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d525f04 kvm_update_dr7 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d8f4740 kvm_mce_cap_supported +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0f1f48be handle_ud +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1035aeb8 kvm_hv_assist_page_enabled +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1235000a kvm_tsc_scaling_ratio_frac_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x130fd155 supported_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14ce1a3a kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x153c9399 kvm_mmu_invpcid_gva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x159b8d5e host_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x15f5cf6a __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x16632ce6 kvm_handle_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1809cfe0 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1988d912 __kvm_request_immediate_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a684e62 kvm_find_cpuid_entry +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 0x1da979e2 kvm_get_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1db1c372 enable_vmware_backdoor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1de646da __tracepoint_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1fe2fe56 kvm_emulate_instruction_from_buffer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20cb9b1d gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20d923d4 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20e727ce kvm_set_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x221a8b37 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x269e0929 kvm_init_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28411ed7 kvm_max_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x284e8c44 kvm_can_use_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x287f9876 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28c2b9e5 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2b951656 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2bfc708f kvm_unmap_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2cd2e910 kvm_fast_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d82cc24 kvm_spec_ctrl_test_value +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2e48908d kvm_set_msi_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30316dad kvm_lapic_find_highest_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x303618b7 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3178f4fe kvm_lapic_switch_to_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x32e49821 kvm_valid_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x32f13428 gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x32f30617 kvm_vcpu_is_reset_bsp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x34c8118e kvm_emulate_wrmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x36e16374 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b0ef7dc kvm_arch_no_poll +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3c1dfd17 kvm_arch_end_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3cc82f45 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ce60766 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3dfb62f4 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f761437 kvm_hv_get_assist_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3fc95361 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x40322695 kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42cd170b kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4308d9fa kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x444976d2 kvm_mmu_new_pgd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4d302059 kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4da31dd6 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4efd9d60 kvm_page_track_unregister_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52b3aa46 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53dcb63d kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55653de7 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5681cd3d kvm_mmu_free_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x584f0aee load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x589bf62c kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x598e8a17 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x599723d3 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5a35f2b3 kvm_read_l1_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5a6934a9 reprogram_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c0cd3aa kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c973134 kvm_arch_start_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d6794eb kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d996b31 kvm_set_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fb0cee2 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x601b7df1 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x615c2839 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6243ac82 __kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62e1edc9 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63270977 kvm_default_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63ee2982 kvm_arch_unregister_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x656ce6b5 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x65785b42 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x658cbb69 kvm_apic_update_ppr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x65ece2a2 __tracepoint_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66c4423a kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68f54e0f __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6ad87cbf kvm_wait_lapic_expire +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6bc93331 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c40a3a1 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6db0a522 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e3547e4 kvm_apic_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e743c08 kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6ffb9c69 kvm_get_apic_mode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709cd8cb kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x72fc106c kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73bedab1 kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7446b3bd kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74645d3b kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74890c27 kvm_require_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74e96ebc kvm_map_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74ef9c85 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7563972f kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x75cc5931 kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x773a493a kvm_vcpu_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7763a671 __tracepoint_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x77fc4aac kvm_mmu_clear_dirty_pt_masked +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x78f2b163 reprogram_fixed_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b8191df kvm_skip_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7be6bcde kvm_lapic_switch_to_sw_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7d866f95 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7dcdd77b kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7dd98882 kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e56e753 kvm_vcpu_block +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e63513d kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f4183ae gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7fe5a9c8 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8022157d kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8200b222 kvm_mmu_sync_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x82d5088b kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x84800228 kvm_lapic_reg_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x849344cc __tracepoint_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x84990462 kvm_get_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x867690a7 __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x86931b5d __tracepoint_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x86c0b3de kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x888d979f __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88c10094 mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88ed1619 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x892b5785 kvm_vcpu_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8981a1cd kvm_cpu_has_injectable_intr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x899073b5 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x89dbede8 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8af487eb kvm_lapic_reg_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c0b4480 kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c24a973 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x909a6494 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x91d4d992 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92f59c81 kvm_mtrr_valid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x935ad05d gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94abbd88 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x97cc6169 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9aab148b kvm_lapic_hv_timer_in_use +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c5f72a2 kvm_apicv_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c882924 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1d28c4f kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa344ec82 kvm_load_guest_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa417de7d kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6152d16 kvm_configure_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa90e44f5 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa975020d kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa9cdd5d kvm_slot_page_track_remove_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab31e82f gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xad243a00 kvm_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf3253c5 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb07cf04b kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb097e540 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb0d20d56 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb173982d cpuid_query_maxphyaddr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1f701f7 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2ecfade kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb5bcfab7 __x86_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb622ada2 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb65c6241 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb7711633 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb7abae68 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb8052db4 kvm_apic_write_nodecode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb84919db kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba9161e8 kvm_mmu_slot_set_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbbda6493 kvm_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbbf7dc4a kvm_scale_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc4fc63e kvm_queue_exception_p +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd23eed5 kvm_init_shadow_ept_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd949951 reset_shadow_zero_bits_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbe119986 kvm_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbfc61ecf __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1d769b7 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1fbabb4 handle_fastpath_set_msr_irqoff +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2be6d00 kvm_vcpu_exit_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2cb4744 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc471178a kvm_inject_emulated_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc4aac267 kvm_mmu_slot_largepage_remove_write_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc888a1c2 kvm_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc922c144 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xca3ab5ad __tracepoint_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcab0c0a4 __tracepoint_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc2e5c66 pdptrs_changed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcfb9204e kvm_mtrr_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd06366ef kvm_mmu_slot_leaf_clear_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2b60f20 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3798f19 kvm_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3afc359 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd541c07b kvm_apic_clear_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8237743 kvm_arch_register_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8ae2ac3 __tracepoint_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd99d0977 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda54591a kvm_page_track_register_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdb006f26 kvm_apic_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcc2e23e kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcef9a16 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd93240c kvm_apic_set_eoi_accelerated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd9e7aeb kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdda34ef8 kvm_load_host_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdf5ea4bd kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe3226458 kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe56cb3b2 kvm_lapic_expired_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe7734dc4 kvm_slot_page_track_add_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9674a16 supported_xcr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9d0fc86 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeb516d50 current_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xec06defc __tracepoint_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed736280 kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeecf997d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef4bd27a kvm_mmu_invalidate_gva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf12441fb kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2e8b9ce kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf34e766b kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf47e3dba kvm_no_apic_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf5f65110 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf6a2b8db __tracepoint_kvm_apicv_update_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7b59b1a kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7b96eb0 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7cc2adf kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa541ffc __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa54d9d3 vcpu_put +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa8c7c6f kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa8f96ba gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb054b67 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb72ac9f kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfbd33e0c kvm_deliver_exception_payload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfce27be7 vcpu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe167a6a kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe60b045 kvm_init +EXPORT_SYMBOL_GPL crypto/af_alg 0x026db0e8 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x19bbfce4 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x1b86a065 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x1bc88d30 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x21b1c77c af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x45951cad af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x4c22d3b3 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5ce02d19 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x9227f026 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x9413d530 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x98ad633c af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0xa41d684c af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xae0021a9 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb940a205 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xd38df28e af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xd9d41087 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xda168b11 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0xdfa0c448 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x828e9289 asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x3e2decfb async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x16a2f086 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa7010cb0 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xeb13dd4a async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xebe21aa1 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x260ba6fd __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x32ad345e async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4b074fef async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x522de10d async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xecd700fe async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xfb80d7f5 async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xc10db9f0 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xbdfc8dc8 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 0x44e7f0c6 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 0x14a3cdbf cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x2c179847 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x2d3d5660 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x350a72ca cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x3553ca07 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x396726c6 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x64bef909 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x8e8e96ea cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x940b7c0c cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xabb4d525 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xbb810290 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xbd87bb91 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xf8a15910 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0a1df00a crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1a86fef5 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x33408bc8 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x34dae6df crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x37e1e62f crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4699e429 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x530c8264 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5d34de86 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa9efc655 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb122ccde crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc31261d4 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe1fbbb59 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe598f155 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x219acd3b simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x56bccd93 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x66983e96 simd_skcipher_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7c76b1ac simd_register_aeads_compat +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 0xea2bb4bd simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbb960c12 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x9b71d64d crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xa8eacd1b crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xb9120281 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/twofish_common 0xa28bfaf8 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x061df24b acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x1c034b6a __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x20ac140b 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 0x52ba92ff acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x908a9418 __acpi_nvdimm_notify +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 0x16f1a850 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x18739e8d ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x194b8b3e ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1b1db497 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x24aa6445 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x25e61288 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2ca2610d ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3005189f ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x38136724 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x523f7287 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x74d81904 ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7926abba ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7d407324 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x92f05ad7 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc219ecaf ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xccf94897 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcf873e48 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd06f7097 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd1a2f624 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd56d8d01 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xee8917b9 ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf9960f98 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfb18d95f ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfd632d2d ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x2c08ea62 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x2e7ebb9f ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3c9459cd ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x4a356ccc ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x6a441ecf ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x7fede6a4 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x923aaa77 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x96073238 ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xa47a303d ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb164ebb3 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xbfb8f5e7 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xd0346cb2 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xd7596d1d ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xe34fe950 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xeea282c5 ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xf2032f55 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x3fcf2cff __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 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +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/base/regmap/regmap-i3c 0x0238f6bc __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x9d3ea9d5 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xa53639d9 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x6ff8449f __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xb20f2e6e __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x9a913a47 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xe0e082ec __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x2ef4deda __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x73dc2702 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x87a459d1 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xc746832b __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x2551dec9 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xe3a7240d __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0874932d bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0dbcd08a bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x15371c61 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1b1f54a3 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x467fb9fc bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4a0f1405 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4d1262a4 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4da08c6d bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5e64e1ce bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5e8dc280 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x64e9ee04 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x66cc217f bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x70d55a65 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x830b5099 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x854541c2 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8f94e341 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x97906ba1 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x97a3dcc7 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xab2ac85c bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb363961a bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbf7272b6 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd2bc0833 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd82a3344 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xece36332 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x3049dfee btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x3dc25901 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x3f118cd4 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x4e5656d2 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x9296a9dd btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xca3aeb31 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xe6c70183 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xfc4ae05f btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x032af1bd btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3399e06c btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3ea87140 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4db7a363 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x55a37697 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5c74373c btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5f629f5a btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x85ada736 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x982641e8 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa6374326 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb8230100 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbebb1c26 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc31a0d70 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xce79b180 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd61a0d2b btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xde046f93 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe050af25 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf2d2d2e7 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x03179a77 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x23a4ac85 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2d96cf40 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4a243222 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4ff459b5 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9a859dff btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9fa91aa5 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xbf08a41b btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcbd6e837 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd10d7136 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xde081e01 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x101fbb4b qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x422c6b9a qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x64a89256 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xb269785f qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xbb536544 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x1f799cae btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x93ec9ecd btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x94ba33d4 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xb980ce26 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xe006b0ef btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x87693883 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xa7b8acd5 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xca956896 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xf8fba3a2 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x122d5c38 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x22d96c6a mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2a395e62 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2b98cedf mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x32485542 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x51e9dddb mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x61db3a57 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x79a466c7 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7c1c9eb7 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x8b3c85f1 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x91b2c938 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x947a8a34 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x954e0c3c mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x976d97b1 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x99b4f868 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9ea90ed9 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa01cb9e6 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa81f7fbf __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa9cc6fef mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb7891c1e mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd7d330b2 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe52fa18f mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x17f59261 counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x1ce30ec2 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x1d5d66b8 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x346a814b devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x485c0886 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x58dd3cd9 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x798e263e counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x92e26008 counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xbdaa3af2 counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc3e43fdd counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xd5ee242a counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0xf6793c0b counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xfa4ffd34 counter_signal_enum_available_read +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 0xc7697d56 ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xcb0e8c98 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 0x05e07ee3 adf_dev_started +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x0cd21b33 adf_dev_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x1f4a17c3 qat_crypto_dev_config +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2bbe85d6 adf_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2fa19661 adf_devmgr_pci_to_accel_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x344676c4 adf_cfg_dev_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x35819ff5 adf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x415d1ddb adf_dev_in_use +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x419f8900 adf_init_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4392b27c adf_disable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x48a86873 adf_send_admin_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x55726520 adf_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6259f27b adf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x62886f2c adf_exit_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x697a54ca adf_reset_sbr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6ddc7ed5 adf_vf2pf_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6f91da61 adf_cfg_add_key_value_param +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x786511fd adf_init_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x79cada9f adf_vf2pf_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x8f77ca0b adf_vf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x97791229 adf_cfg_section_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x98a64825 adf_reset_flr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xad71fee2 adf_cleanup_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb117e210 adf_disable_sriov +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc5fde05d adf_devmgr_in_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc9180550 adf_enable_vf2pf_comms +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 0xd2384787 adf_devmgr_add_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd504c022 adf_dev_stop +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd60957f7 adf_dev_get +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd8499095 adf_cfg_dev_remove +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xdaf94f5a adf_devmgr_update_class_index +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xdf24b52b adf_exit_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe0396234 adf_vf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe0a16e03 adf_devmgr_rm_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe54a8098 adf_iov_putmsg +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xeb1058cd adf_dev_start +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xeccaf3f3 adf_enable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xecfc244e adf_init_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xfca7ba86 adf_dev_put +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xf07b654c dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dax/pmem/dax_pmem_core 0xacc9c965 __dax_pmem_probe +EXPORT_SYMBOL_GPL drivers/dca/dca 0x01a33ab9 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2c1ca7fe unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x3177e4bf dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x5c246229 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x7e23505b dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8815d89b free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x9aa164e7 alloc_dca_provider +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 0xf58a85c0 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x7e161148 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xb1c500e6 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x21479f58 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x479ae716 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x531615d8 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x5f20979b dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x73ced9f9 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb09fe5f7 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf357a232 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x0ce07d7b hsu_dma_do_irq +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x78a8c19b hsu_dma_get_status +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x810c9b73 hsu_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0xddde2f79 hsu_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x76aa120f hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xdecae3d5 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x4df8ddc6 vchan_init +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x5de1e438 vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xc4d339c9 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xca9ec9cb vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xfdf93f30 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0xc8eaf9a7 amd64_get_dram_hole_info +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 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x2c7a2992 alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x9d842f74 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x175a253e dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x349aa41e dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3bd511a2 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x537f83ec dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6e08d8e9 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x72030a27 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7e5249fa dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x901cecb8 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x91c6be7b dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9e99c6dd dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa003c2fe dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa3928258 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xbd7f3b1a dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc070df00 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd5a13d95 dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xda55a625 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe0573f1c dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe570d6fc dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xeec2dadd dfl_fpga_dev_feature_init +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 0x0c50cafb fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x1e464291 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6acf90e4 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x78d5e21f fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x86bc30ed of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x8b04c765 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x91ca7eae of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xab4347e7 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb5f93bbb fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xca546fad fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe882a4cb fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xff1f7a72 fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x003e9deb of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x02fe2c56 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3dc40a78 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x51878748 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x51909eed fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x56289491 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x6a916290 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7f76de01 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa911a93c fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xbf111904 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcb8b3edd fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf2edf491 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf62f0836 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x33747fd5 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x34c1ca4a fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x3d22421e fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x642e8a1f fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x83f03a97 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xb9a2825f fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc6a9b004 fpga_region_create +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x01a81c9c gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xb0880428 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xbca3eba7 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xc440af04 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xf4212428 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x11e8e879 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x3004b49e gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x3ff66a47 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4c22a606 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x8cd249ba gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xbf4c4950 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x0e494595 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xc4b0a22d __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x0dadf0ee analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x2158f09d analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x26d75d7b analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x2f9d65f2 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x304fd59f analogix_dp_stop_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 0xb41733e7 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe34297ec analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe3c90408 analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x061398df drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x09bba9b6 drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0b9227a2 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x145a54dc drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1bd114d8 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x367233e0 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x39071302 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3a877b99 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x44464c35 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4a74158c drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x56b64476 drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x58103019 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x698f14af drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6d60e2e6 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x740850b9 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7b3f0a8e drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x80bd1034 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x81a91f02 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x940e6eed drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9fb1a353 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc05926af drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc332db41 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc5679b92 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd52c29b9 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd6f4d548 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd7b593d4 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd88c6445 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xda2136dc drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xea29eb50 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfa021d68 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe8baa00 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfff9a358 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2034ef40 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x241ba8e5 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x24ed294c drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2925a004 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x29b2e4c6 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x418aa941 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6ff70ae3 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x9d5f5279 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb8c30d3b drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xbc73d7bd drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xbc7f5c24 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xea4b0ad1 drm_gem_fb_prepare_fb +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 0x3e6c09d9 intel_gvt_register_hypervisor +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 0x6fbc5503 intel_gvt_unregister_hypervisor +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x1f28c178 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x34359f56 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x45169dee ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00639cd8 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x025b6208 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0442541b __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x04e4b494 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0fe99903 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1ea6a4c0 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x222ae738 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3bd498eb gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d52d107 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3ef75a08 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3fabc8b7 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4222cfec gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4926c2d8 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x492ad63f gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4a8a5d2e gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4e76fda2 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5bb17915 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5e5388f5 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6276d17c gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6a1f788b gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d0901e5 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x70270872 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x70bd4ca1 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x726ca6c8 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7c39a2e0 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x868d032b gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9654f5ff greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x97571ada gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9cc89fec gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xacce64e9 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb1788cb2 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb461d701 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb8539548 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb95081da gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbc3688b3 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbe52dc85 gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc1bb530f greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc397c10a __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcb8c92cd __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd2426717 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe2479964 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xef7bae7d gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf3339d34 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0c70f1ba hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x335c566e hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3b76a9f3 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3cb19183 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x435a0107 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43cb1a21 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4a7fb688 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4f867a64 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5258db18 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x65095ed7 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x69aa9d90 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x712bb8d9 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x772d8271 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7a459c8c hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8466a26d hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8863c414 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8aa1fb16 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x937fd5af hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96499c27 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x98abe58a hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d7c33b7 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa41eda57 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae56ae2d hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb4f84c36 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb7040634 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe8abecd hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc02a2c76 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc4480f11 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc47641e5 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc8679b24 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc887deb2 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcccfc7d8 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcdc53ed7 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcf370fc5 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcffe9189 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd5bbd2d7 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdaa027f4 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdd1d48cb hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe721444e __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe8fdeab6 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf33ad46f hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf818ec52 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa1d619d hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc03386c hid_input_report +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 0x506c997a roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x499436b4 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x64a231b8 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xad95e945 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc95fb31b roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xef763443 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xf593e648 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x10ea5704 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1f3d55a7 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3a8aba34 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x43690a6c hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x47240707 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x6760a948 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x6ef1ad09 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x9800b842 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xe68850b1 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x1efe5277 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x3e952bfc uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xba50032c hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xfa02df2a usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x02c120b0 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x083d2077 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x133213e3 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x20b37369 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2b7f0e21 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2b989b9b hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x34720c97 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x47da4656 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4bd6ae25 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x647870b1 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x677c03af hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x687c3971 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x70cd3fd7 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa54e591e hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbffc7f97 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc52035f2 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd7074ebf hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x004581a6 __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0bc2f0ff vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x103d2e26 vmbus_are_subchannels_present +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x133df631 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x17972b30 vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x19a6f5b0 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1abbf563 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1fc5aab2 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2f8e347a vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x34d67db8 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x35055d41 vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3cedf145 vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3d1e1d48 vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3fe445ac vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x41f23fb0 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x45dff0dd vmbus_alloc_ring +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 0x53589d9e vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5dfab00e vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x627b0eb7 vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x66062611 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x77cadc96 hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8fc8ce2b vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x943255ff hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x99f7c2f0 vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa046ccf9 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xbb603eec vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf929ec86 vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x8c5d707c adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xa2d21164 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xeb0e692d 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 0xd59d3e51 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0301bab9 pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x079da594 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x09a22000 pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3bff2364 pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x8f5d68b9 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x976777dc pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x9d935e27 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa4ba57ed pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb200fabd pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb4c5557d pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb7085ace pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xbad62b6f pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc0a4de9a pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc33ae15a pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc68ff1f3 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xcd206b6e pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xde43c43d pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe3f92651 pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xfe20b6e8 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x0ada8982 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x16974a33 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x18d95b43 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x1a3598eb intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6e84eea1 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6f180d5d intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x742a3104 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x92b6d31b intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xc202c6ca intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xaa865fd3 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xcc9ada8d intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xf8e938d3 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x0df18dc8 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x411d8d6c stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x5ce7d988 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x964cc338 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x9c0c9270 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xabb69261 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb66d2c5d stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe1ac2889 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf9b9bee6 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x14e99b15 amd_mp2_register_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x17e55df5 amd_mp2_bus_enable_set +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x824719e6 amd_mp2_process_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x84ee9164 amd_mp2_find_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x950f0f86 amd_mp2_rw_timeout +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xb35f5d3a amd_mp2_rw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xf1db737a amd_mp2_unregister_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x52c00975 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0fed0877 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x79028e5c i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb58076c1 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xcea89e2a i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x87daa182 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xdd755c5b i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0cb14c5e i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3d886487 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x42edd22e i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x475bc077 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4d49f138 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x51ce0a93 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8b9c8b00 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x942cbcc2 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9bec445a i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9dd6e0f6 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9f7d39b7 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa0d39811 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa141a8c4 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa3dfcfc3 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xaa417e3c i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb1992711 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbf90c993 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc0499bc7 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc0651178 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xcb27fd8c i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd0904014 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdb617fd7 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe829ba10 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xedf4df72 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf1e7f703 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x26e37dc7 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x6a35ed15 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x138909e3 bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x3675c223 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xb973af92 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xe23ad109 bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x1c979a4e mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x8d6b76d5 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xd8f9cf02 mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x6465cca9 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x905ada69 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xb5e2fcff ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xe77469d7 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x034e71f5 ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x0e0c165e ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x21508480 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x23cbbda5 ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x29634f45 ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5ed3d1ca ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5fd54725 ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x73d14ccc ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x92c76456 ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xa9f2eed9 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb652f4c8 ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x1b5c8c66 devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x636f681b 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 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9cd56eaf iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9d93ca63 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xd537aa0a iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x36d85951 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x65a1887b devm_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 0xf51ad0d4 devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0xc2efffb5 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x032c5eb7 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x4a7e591d cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x6b4ff5a9 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7a21ce3a cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x8b5bb9c2 cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x910918fe cros_ec_sensors_core_init +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 0xb5957041 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xb7e69e9b cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xccabaaf7 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x62bd6ab3 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x800f6aff ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xc2f5f884 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xd544213c ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x7a712600 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xb7ddfd9d bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xbe182d9c bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x6caf0a1f fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x800708ad fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xc1a3e015 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x0677256d devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x12b27afc __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x1f2ee5ef __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x26d99381 __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x46e1869e adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x4c085f86 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5b9c5c9a __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5beebad2 adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x633e4e68 adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7da5f22c adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa59e5a6d __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa7f238d2 devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb37b61e9 __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xd385d55b adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xeae141be adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xe29e6536 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x6d7468aa fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x7abc05e3 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xb399ba00 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x09899cbb iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0999853b iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x101d9f05 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1313fb45 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x185c0fca iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b98d37a iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2e61c55f iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x30843afb iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x32e7c6e9 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3796dfbd iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3d28fac1 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4b9cc6b1 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4ea128e5 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x52ae3e13 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5349797f iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x53697a89 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x563a54b0 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x57eb1679 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x65fbbe7f iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7495f544 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7abe5fc3 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7dcd3fc2 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7df2abb6 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fbb75a2 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x841f9fb3 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8cb0df71 iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a76b952 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa1e18592 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb6c846f2 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc1b65db3 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc53f6665 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc941f41a devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc94c9f7c iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcd3dc88f iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd5f2ab01 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd85c0c4a __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd9d9a2e9 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdc65a125 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe7d531a8 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xea6344c3 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xebdab414 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf267f9e3 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf8cc3668 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x44d199c1 rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0xd7f85950 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x02b4442e zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x98b9a335 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xac8ff066 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xb2529093 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xbe950e76 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xde91c4a5 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x01d7b12e rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x34727c96 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3d8b7312 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b7d9031 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5e8ddaef rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x77dc23d8 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8490ac68 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa4e97379 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xaecf24cd rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc9bb4994 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcdbebaf4 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xdccb78c2 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe7787341 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xd9b25e55 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xeb00f389 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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 0xf62488db adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0d07a6b5 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x164456d1 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2566146b rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2989e998 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x29f1b4a3 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2da4c78f rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x3f1c52c8 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9accc844 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa3ca8379 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa8d51df2 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xbf100abc rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd413dfaa rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe757b80c rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x4551b27f cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x8799ff97 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xf3a2195b cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xa1a2f8a3 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xfac1234e cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x0fb75183 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x690a49ff cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x349b56c4 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x76213d06 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xb5095437 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xd343cdac tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x23ad1326 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2af9d699 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x63b783cb wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x67f1b467 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x686f632b wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7e099e91 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7f1ec947 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xad449ef6 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xaf1d8355 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb4263bd8 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xec81172f wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfc9cafcc wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x35346425 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x61b87606 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x838f788c ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x88dbfb2a ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x904b323a ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x97f7d97b ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa3fa9c56 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb4df47c7 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xd3f542cc ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x0a9d8702 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x35b1d333 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x58d1e4b9 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x70993b41 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8501d503 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8c70059e led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xec384239 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xfc8168e4 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0d588305 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x218235d0 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x3e219c84 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4e50013e lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5d78c335 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x635cb562 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x84c06479 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9fdfae1d lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa52b2bf4 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xbdf6f556 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xcb102369 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 0x15b97715 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19b88bec __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2307b422 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b46c4b6 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b793afb __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2fbf8560 __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33554606 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x414c7765 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f6a4a3e __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65fb81f0 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b1045c7 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7260fb66 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x748968f6 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7574c715 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c8a33fe __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x96bf5dba __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa353964f __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4682eff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xab4c5652 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb22f8879 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbf53dc9d __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc00185bc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc13b483f __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc36e201d __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8feefc9 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd8da0f0e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9f20dee __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe9c4d700 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee603d81 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf5d8bf62 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf8502c64 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0aaac662 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x12dc5fc9 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x153fa162 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 0x1c8edd8b dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3aa2ff6a dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3fc7ca6f dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x44fc3021 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4d4190ce dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x661099c9 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6e23a525 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x798d7835 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x953a55a8 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9df53d75 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa0482ca1 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 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 0xd4f056a1 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf2d21b20 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf5e59f4e dm_bio_prison_free_cell +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 0x48d03ab4 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 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x8e49bb52 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 0xdb3e2ef1 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x2744bf41 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x44f0306b 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 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 0x50c6ccdd dm_rh_bio_to_region +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 0x65bff0f0 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6d717ceb 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 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 0xc205a3de dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf3ee4a2f dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfba59a82 dm_rh_inc_pending +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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x70aee3fd dm_block_manager_create +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x02905548 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x08a346d6 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x164ca044 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1807c1df cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x24e791d5 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x27194edc cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2cc1aba7 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2d061f2b cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x332bf516 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x458a89e1 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x498dd15a cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5607b80a cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x604145d3 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x63b3c61c cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x82ea804f cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x95bda66b cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa7f5681c cec_fill_conn_info_from_drm +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 0xc19a6979 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xded36582 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe63b56fe cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0960383c saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x18d582a0 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2f5e34ec saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x72ee9b6b saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x8237f08e saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xabc97cac saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb392968e saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xde3edb00 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe6c6ce9c saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xfb26d970 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x19b4cb96 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x1b7cde67 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x5f88362f saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x862ea212 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x9532463b saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb85378f6 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfd48058a saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x04b78023 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0ff0cb17 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x261d21e9 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37986d2e smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3eb8b02a smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3f24db75 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x476a27cd smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x577eccc7 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x77fcbd92 sms_board_event +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 0xb41c9592 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc0ea1164 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc2b40870 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xdeb81678 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe1e17bc1 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe68dd52f smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe9e6af77 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xef882796 smscore_start_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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1100557e vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x13d03325 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1b63cb31 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x219e4c64 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2c8d4e84 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3106c2f1 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x311bf232 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x39c98f1d vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3c6af35c vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3f623848 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x49306458 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4cc549a5 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5ab545ae vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x75ffb5ba vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7de59849 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x875f3c74 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x877f1553 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ddae992 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90828029 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9fe6b99a vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaf3c704e vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbedc193e vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc88264fe __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd9943725 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xda18a8f5 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe7017b2f vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xef945cb2 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf50101ce vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf54b47f7 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x2bc444e6 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x376d132d vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x2ebe27f0 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xefbceece vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0679912d vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0ab67a01 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0ccf2bf4 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x191da483 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1a441480 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1d671451 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1eac15f2 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x27f1f3fe vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x33721327 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x376be9de vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3851b541 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3996f243 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3baeab9e vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3f783928 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5e43de65 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5f7e7a89 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6272786b vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x671c6e60 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x68f55189 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6f455804 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x83ea12ee vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8b373e52 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8e926287 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9d68b04c vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xaea51450 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xaeff771b vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbd1d9119 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbe1aeb9f vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xef5949c0 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfcd38a84 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfcf3ca60 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0xc44e3606 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x0ba85145 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x3a0dc33a dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x3f4a7dfb dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x67c56a37 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x749d4607 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0xe689eccf gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x8ee94085 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0xc2fda8f7 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xd2c9a76f stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xce2925ac tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0xd26d151e aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x99acf546 smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x02d85a21 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x040504bd __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x059bc3be __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0984dcbb media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x09e06396 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0f9dad73 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10605ad8 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x245d160a media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x257ee25e media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x29b0ed52 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2aa54ced media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2b29b9f7 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x43844c04 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x45b21d2b media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x46576b8b media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x46a42d35 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4727deae media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5373fcb3 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x569020d3 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5b054dfb __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x62f5ca47 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6f9e6751 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7547bcf2 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7730e2d7 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7ea2a9ad media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x855b3ee2 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x857c5e60 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x930613d2 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x967a2d09 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x98dbf7fb media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9ada264b media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9e4aed84 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9eeee7d9 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa1c3d46f media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa7e09a86 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xab147a5b media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xba470f48 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xba8c44c5 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbf7e7062 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcc87b7d0 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcdc58302 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdaab5662 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe722f169 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf07575f3 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf2c85d3c media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfba6bd86 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x29f5f444 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0564f127 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0bcb826e mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x18e7bb69 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1d84551d mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x34927572 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3afbc9b0 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x469e4497 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6f82613a mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7e2b8ae9 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x829de8db mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x83643a83 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x866ef0a6 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x87fe06af mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa12943f7 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa22a6014 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa7498e60 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xde1300b9 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe43d4a53 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xea559f23 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0f94d9b7 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x21f8ae99 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x23f56773 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x33aa3880 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3524fdaa saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3e59fbac saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4debe950 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7683c2fa saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x931cffbe saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa020f7d3 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa0a4060d saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xae0d8ed5 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcc2d4950 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcf099871 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd437a4cb saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd953cf5c saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdc3dc6e5 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdfba6062 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfe8bf203 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x05c7f64e ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0fb222c5 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x46d3ba5b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5b05ce3c 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 0xb079065b ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe862d0f4 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xfc4bf1ae ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x5423b18d mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x5fa90314 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x6de43898 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x8bb49ef8 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xae79f9d6 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x046cc727 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x5b9a04b7 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x66e9bc06 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x77e60c56 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x9103e36e si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xab3cd12b si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe80906b9 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x087ba771 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ac62c77 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4733d306 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4e3dcca7 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5ff6e8a2 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x77183c14 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7bc8ac67 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x90360dd3 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x91e75042 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x949be665 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9faebb75 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa049aa31 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xaa8d5d85 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xae2b1bfa ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb6e5cc00 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb716279f devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xca9eda51 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe0a0835f rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe3d88f1a ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb0c7af3 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb24fa3f rc_keyup +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x59d448d3 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xa6082b73 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x205479c7 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x8f4f59cd r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0xff21ff37 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xdd7f8bd9 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x16b23cd9 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x312db33c tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x40b5c6af tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xacabf2dc tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xe553644a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x3a307690 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x6dd0a5f0 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x806810f8 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0b69e297 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0d8978ba cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x14bca130 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x243d84db is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2927dbe1 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2dd1a968 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x436391bd cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5ef51800 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x71fa2c02 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x77a223b2 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7cb0c2d7 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa5bcb168 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb67b4ed4 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc2fc3d2c cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd15511c6 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdf74cc25 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe069f2e5 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe3bfaa45 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe921233e cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf37d1f4c cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xa045d6f9 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xca5ab41d mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0ff5b21b em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x35378395 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x36a65730 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5b3c06a4 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5c449797 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6e040801 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7c140f78 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x84287fbb em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8a20b5c5 em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x994f70f1 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa3bec1f9 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa484f62a em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xaa172895 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc23e2457 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc69ffdda em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdf782c2d em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xf5100b88 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfe316699 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x06213953 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x38ab1e43 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x774b030f tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xfca2661a tm6000_set_reg_mask +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 0x1366cde2 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x93ce84a0 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xfc8d4dba v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x038027a5 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2ff81830 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 0x67ead661 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x72a344cb v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x73091e82 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa3e4467b v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa4f64f79 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc2065015 v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc6cb6e36 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xcad62efa v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xdc52fe13 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xef0f5d5a v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x01730366 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0226c1f6 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x112c8c75 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1fbae840 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x235d0f76 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x305e4153 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x513e4bb6 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x51c7817a v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x587ecec0 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5943b25b v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5bf5a3d2 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x61859877 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x697e49ed v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6e7e85bf v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6f65a24d v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6fa1d46b v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x749e35e2 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7b8ae728 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7e6436c8 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x813da254 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x81dd72fd v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8286724f v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x83122482 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x91e8a6ea v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9998d120 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa4827e1f v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa881eac1 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xacf2a30c v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xafa77f09 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb0c9dfa0 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb1693905 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb4801d8e v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb57d7772 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb713aa94 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb9796e05 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc31c0cd4 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc54900ae v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc9f9d73a v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcdcd0667 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcf0862b7 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe56b7bf9 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xed4850bb v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf0d31a04 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfd6163cb v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x03debcaa videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0588e138 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x06dfae7d videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x14a147ae videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1581db72 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1c5fe1fa videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2239cfe5 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x26550d5c videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4abf43da videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x51df8658 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x535a1ca1 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6df4ad31 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7ce65d82 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x85fc2404 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8a7462cd videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8b7c288f videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x99d541db videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb0e52eba videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb71bc531 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc053dde5 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc240d04c videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcec3dd17 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf0c53b80 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf3295ad1 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x3548330e videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x5711eb25 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7a230158 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7aee3ea4 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x0971c8ec videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x690b2b21 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x878ee9a8 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x06f35995 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x09c97923 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0bf4e2cd v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c43b09d v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0d6afba4 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0fc5e90f v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x17aaf981 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2151c70a v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2746855b v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27884c1e v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x289940d6 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a53ca39 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2cb92a09 v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x316273e7 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x32431a1e __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x41159c58 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x43996a8c __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4576a1bc v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5c5474f1 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7091fa37 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x726ff783 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7456285e v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x806ce34e v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x831d69db v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x86848ffe v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8819133a v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8a38e9b3 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8b4b60fd v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x902d84ba v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x94309122 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x97dbcb68 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa0981756 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa84f994f v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xabbbfc8a v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xafbe9a89 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb1e117d6 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb7292a16 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb76d7516 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb795f071 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbbaeeb81 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc0712875 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc3ae55ae __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc4ac9574 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc9e0d48e v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc9f6105d __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd4dcd474 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd71bd924 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdc1139b6 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe0ab7e73 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe12abf2b v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe6cb60a5 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf183f462 v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5003b99 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf68b0901 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf6af479f v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf6f5b02e v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf7c3db25 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf7cb9184 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf880bcf9 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf9fc863c v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfe2fbd0a v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfe32f71e v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x30a13303 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xa5a0c008 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xb09bc2a5 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x10c7cc63 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x1ef0c222 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x2da6722a da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x43ba9b01 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa5ccc6d7 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd2f3f7f1 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xe7474a90 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x05557536 intel_lpss_prepare +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x1048ade9 intel_lpss_suspend +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x4ccc3278 intel_lpss_remove +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0xba454f07 intel_lpss_probe +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0xeed5f304 intel_lpss_resume +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x1fee9871 intel_pmc_gcr_read64 +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x48968bc0 intel_pmc_s0ix_counter_read +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x96a48dc8 intel_pmc_gcr_update +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2c0fe786 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x76861e70 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x90ed1514 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xae270207 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb00090a1 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xc407fe5b kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xe01fe5a2 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xe339d9b5 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x5698ebbb lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x56fdc031 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xdb8f2628 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x24f2de43 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x47255ce3 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x57ad3833 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xa3e26040 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb454b5b0 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xe6ce6b88 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xeede642e lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x9820b7cc lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xc1014f6f lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xd25a392a lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0cd83de2 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0ff244cf madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x210667d0 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x210bbb90 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x381fdf21 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x567f3597 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62337adc cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x623ea69c cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x82573cd8 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x825ae098 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x85d1282f cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x960f578d cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9a824b68 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9a8f9728 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa6935daf cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa8f0d010 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa8fd0c50 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb5d62725 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb5dbfb65 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc16221d4 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc16ffd94 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd988e00c cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd9b75664 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd9ba8a24 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebc5cd1c cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebc8115c cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf6e33a29 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf6eee669 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x09d2e65e mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0f5908b4 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x4fe34394 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x5decb6fc mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xbd38149c mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd0103ef6 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0bab569a pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0f20b2e3 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x12f3ad6a pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x34c4156b pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x459cf92e pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x81f0f5df pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9a3c23b1 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbf0079db pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbf5e6546 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd3e7d704 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf6431466 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x45bbe16c pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x4a328130 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4f372464 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x5976ff44 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x87b458f7 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc6f797fe pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xccac8736 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x73ad740f 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 0x05765020 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x05b47319 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1509c7fe si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x19bcc46a si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x327f323e si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3aa86d2b si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x429fc904 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x49373d9e si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5602d0ca si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x587080c7 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5f18027c devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x738bf335 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7711bbfc si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8069f202 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x80c68269 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x81d46dc0 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8f5a672d si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa06d7813 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa892a07c si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xae735ea3 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xba95c76a si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbb0a0b5b si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc975f3fd si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xca027643 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd03bce76 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd6b14015 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xde179324 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xde499e7c si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe1dac0e4 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xefda5005 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf034c3e8 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf575f87f si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfeae6707 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfef14c7f si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4b0ac8bc sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x75c4a0ce sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb97683f1 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd1767573 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf6065d15 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x41880c81 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x7a0dece4 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xbfe12774 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xd2f1e986 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x38a747b6 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x14f29f2f alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x6a5238c6 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7e2d17f5 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8804d7ef alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xd0310aa0 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf931858b alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xfdc9ddd3 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x09e9b4c1 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0a921562 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2acbccb6 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x30c65c55 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x375e136b rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x389c40d8 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3ddd73c0 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4afcce9b rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7455fc5f rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x76d9ee0f rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7d7f9980 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x82b18017 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8f7a7078 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x97866478 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa441b8c8 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa802eff4 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa945f045 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xaf8ef5bd rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc2b5894d rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd33b534e rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xde5e002f rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe11e2778 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xefc3cec3 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf32bf2a9 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x05c992dd rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x0b7c1cc8 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x25ebc1f7 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x305800c3 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x368604d7 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x683f8714 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6c8c1452 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6fb34e4e rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8a1e3d29 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8b19b914 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd9f2a7ac rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf39b1f0d rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf43d921d rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x03e35ef9 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x1cb9475b cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x41c1e51b cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd0210815 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 0x292e5e7f enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x59a7a30d enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x6d019111 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x79dd58aa enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7b110358 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb1ce74b8 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcd634f78 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xdc5dcab8 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1a55afbb lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5b0d5605 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x65701757 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa6be1ea2 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xbf9f4e74 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc373c689 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc68e0457 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe048d766 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x09200302 mei_cldev_enabled +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x0cdfeda9 mei_write_is_idle +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x10d1664c mei_hbm_pg_resume +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x2de6dbe4 mei_cldev_driver_unregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x36908709 mei_cldev_get_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3ce84321 mei_irq_compl_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x415fe339 mei_stop +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x47204c47 mei_irq_read_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x4e189bed mei_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x4e8213c3 mei_cldev_register_rx_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x552fc3e3 mei_deregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x5af55798 mei_cldev_enable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x5d907ff0 mei_cldev_recv_nonblock +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x7f49852a mei_reset +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x80501437 mei_restart +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x83c0e626 mei_irq_write_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x8f32577d mei_cldev_set_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x90a24af4 mei_fw_status2str +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x98b73841 mei_start +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x9e281b76 mei_cldev_ver +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x9fcb1259 mei_cldev_register_notif_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa42cba01 mei_cldev_recv +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xaba9b73e __mei_cldev_driver_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbc56b76b mei_cldev_send +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbef237b3 mei_device_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbfb0d096 mei_cancel_work +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd31b9e36 mei_cldev_disable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd60bc384 mei_hbm_pg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xeed7d424 mei_cldev_uuid +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x25416c7d cosm_find_cdev_by_id +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x438fa674 cosm_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x5c5f977b cosm_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x99d1fea8 cosm_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0xc778a358 cosm_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x1e0b17d1 mbus_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x354d9bd4 mbus_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x983f4836 mbus_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0xcb582fad mbus_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0x14f96510 scif_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0x36c4e50d scif_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0xac08982e scif_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0xd712b49e scif_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0x0ec885aa vop_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0x48ccb778 vop_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0xb1efefa1 vop_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0xe2227628 vop_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x0349c438 scif_accept +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x07d11022 scif_vreadfrom +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x1064e1be scif_fence_signal +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x13c0f1c3 scif_unpin_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x16f21600 scif_poll +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x28eeed3e scif_close +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x31ca1183 scif_register_pinned_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x32e6ea74 scif_client_unregister +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x3484e59d scif_pin_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x37ed5f6d scif_recv +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x3f9d5615 scif_put_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x46af2f61 scif_bind +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x4d99294e scif_register +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x55e83817 scif_vwriteto +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x8f2fed3f scif_get_node_ids +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xc00a186f scif_open +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xc08ffa1e scif_listen +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xc9f35d1c scif_get_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xcb17a62c scif_fence_wait +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xccb36f9a scif_connect +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xe01d3284 scif_readfrom +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xe0b03c4f scif_fence_mark +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xe563db80 scif_client_register +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xef9ae5f8 scif_send +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xf629e3d9 scif_writeto +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xfee96b16 scif_unregister +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 0x7d5ba9a9 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 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x25235b5f uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x2bbf3eb0 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x3cc4857e uacce_remove +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 0x58a3cc46 vmci_qpair_enquev +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 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 0xf8fd7ba0 vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xffc5797d vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0e201153 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x16d0aefd sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x19861130 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1a5a0f12 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2072dcda sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x20b6673d __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2142dde7 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2f4fcc27 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x31c2ae0a sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x370462aa sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x37da08b4 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3eea9826 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3fad590d sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x40a7e405 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x43c35877 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x46f69096 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x49fe253b __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x54a9665e sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x60485fca sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x65ebeb28 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6f181823 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x707fa74d sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x73c33d3e sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7c391927 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x87519ee8 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9453f582 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xabb4fe1a sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb188098e sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb216dcf1 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb3a71e2f sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb9df4224 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbe80fd64 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc0f1ac94 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc2e6de4c sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc3e4539c sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc9c40e14 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcc8c7c96 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdc3ac04d sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe77e9ee0 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xeaae2853 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfb06f004 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x16fa1843 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1f056583 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4ae4b514 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x67cb61fa sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6b44b1a3 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x89a377b2 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb4ba5cc9 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xbf35ecaf sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xdfa54fa2 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1caebfc1 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x24d5d2f9 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x285ebd71 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2fcdf9ed most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x34c32a58 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x58a6b3cd most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x59163e6a most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8ab06377 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8d025fcc most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xae95aeeb most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xcabf647b most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xcf994c8d most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe2d5ad92 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xed035e41 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x505bcba2 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x926ccbdc cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xad45ee34 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x4128b346 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xb2d17cc0 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xcc833710 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x23161a47 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x2895dd16 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3cc188c4 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc2a3a2f6 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x643c2b69 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xb286392f hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x08e26986 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0e1332bb mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0fcef5da mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1efe9a08 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x21c987ee mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x294277ca mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2dd233f0 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2e195d52 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3285d57b mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x37e77016 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b555d33 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x44c2d316 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4ec5572d mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x53a8534f mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x53cd3c11 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x58c7fdbb mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5a4adcd1 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5c430a1f mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5dffa497 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6057f3cd deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x64ad915c mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x65dcfb05 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x69c3a3ce __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6bc34211 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x77b4dbe4 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x826efbec mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x82875e81 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x873fa35b mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e2f9300 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x96bbbaa8 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9b6cf286 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa0525217 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa0fb0955 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa151a3ce mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa64fe2b6 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb0fc5964 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb9d56550 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc0536bf5 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc47b1064 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc536755b mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc7065819 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc982bd31 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcf334be0 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd5982084 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd676a842 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd824f519 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdd79117e mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe62c1ea0 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeaec8237 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeb1fd62a kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf7f75f4d mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf8f12fe0 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc58e0a8 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x1ae9ed7f del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x2cb42129 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x6b6dc61c add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xdf2b1826 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xec08e6ae deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x251119d0 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x3a5749bc nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x56b65932 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x65f10a8e nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6e5d21b0 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x74037b71 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x83856645 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8646a13c nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa98d7268 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb12fdb09 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xbef3f75d nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xee80d7fc nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf14a52c1 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x32bccbb6 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xdb8b152d onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x0c0d1686 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0c52edf4 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1401ac79 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1a89fa1b nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1eaab4d3 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x24aa51bd nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2f79a9c2 nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x39530a5c nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3c3ed31f nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x4f2e342b nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x51ba0b7b nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x573a519f nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7a88b9ab nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x92587396 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x973bbb2c nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa2086cad nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa34c728d nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa525cc5c nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xac1fa004 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb639cd3c nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc02ce75c nand_ooblayout_sp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc497a4fc nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd217bb2f nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3accc1b nand_deselect_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 0xdaeec724 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xdb1170b7 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x793a1a4f sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xa04a9f7b spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xadfa6e1b spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x062509dc ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1934bc4a ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x23845844 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2b0deacd ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3a3fc830 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5b30d9af ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5b9261a7 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x60c6858b ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x73828c06 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x78abe4aa ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f017eed ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x919830a8 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc260459a ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf8748362 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x274e7b51 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2959a9d9 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2ee70d14 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x367caadc mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x4b85e8c5 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x70c8f746 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x844e7475 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x877a83af mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdef5f13c mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe6e27848 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xed981f66 mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf20276f4 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf8695522 mux_chip_free +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x6b2565fe arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x9456b964 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/bareudp 0x903475cd bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x260c101b c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2bd457a4 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x36c43298 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x443b1d1d register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xab634b05 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb1a67186 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x56deea96 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc46ec6a1 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc7c47529 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xd5a7d7ed register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x01a6bfab unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0460c7ba can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0a8fc717 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x137d6df2 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x20abe31e register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x251787da alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x27389383 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3b26b40b free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4b07a34a can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4e199834 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x53275733 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x683f2c59 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x756d7fec safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x81b34181 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x883becf8 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8a5aec6e can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xabef3d7b can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb3aae36c can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb56679f9 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcdeaeffa alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdd565d8a can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe3f431af can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe672a647 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeae415ce can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfd2e90b7 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x0e3d0527 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x117f0acd m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2e014b74 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x398e075e m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x44c28749 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x8e08c419 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd1661e0a m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfda07d86 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5215d9c3 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc55b1b2e unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc6b6b696 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf415de89 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x8adc76dc lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x06de6885 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x226c5cd2 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x343282c4 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3d75efcd ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x47e54df1 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x59151314 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x74c4f3ab ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8800fd70 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x96a5cb35 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9790f0e3 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa4120e46 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb87da99f ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbefe9baf ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc17f8d39 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc209ff73 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe9abb7e9 ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf078f547 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0faeb3e7 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x1d54ecc5 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x20bb5fc2 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x20da180b rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x51527d5b rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x539cb7b6 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6760168f realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x94a74f4e rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x97d2bc79 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb2ec2fa4 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc6aca7b6 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd6a4a314 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xdbeb0444 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xee1111f3 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf0ed3f37 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf6091930 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0146c742 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0759cfed mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0afc5f79 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d4b33d8 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e8ba160 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x102169c2 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10665e0e mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x106a5722 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13408ebd mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13fa9c2e mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x14fad705 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b834fd0 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b8a33d3 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d8f50e4 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24ec8896 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x250c6d77 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27a4f2a6 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x281cd61b mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29628d6b mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c2ad841 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f4f0b5d mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31506f1c mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32452550 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3273158e mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x36091f95 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x36415318 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x365279f3 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38db25d2 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a800523 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3bb51dd6 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d0f2fea mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x423a2c03 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x441c0d22 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44328463 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4592204f mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45f118bf mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49e2f35e mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5046091d mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50900ed5 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52ad19fc mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53906797 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54324f04 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58df49cf mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ada884d mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5af68ecb mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cacd3e3 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e6f6f63 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60b9c60b mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61759a89 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6247f35a mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x638b9dfc mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x642bcf50 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6438d5b6 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67674214 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x699b1a1f mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c27ccdc mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7287c2c0 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72a40e0b mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x752e0d91 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7586a0b8 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a6d45e6 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7eea8114 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x806e70c3 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83d51a76 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x861ab05b mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8860e561 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x89b4694f mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b94d8cd __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ec5768b mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91d56520 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92148a48 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x935d6d9c mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x947771ee mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95532633 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9daaefe2 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2934b4f mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa55be134 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6983363 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa73a8402 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9fd6a7a mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaafe09a0 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae6431df mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xafe5f359 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0776c01 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb22ef769 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb2d0153d mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb37a4a9f mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb4880ae8 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6242be5 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb661c843 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8a847cc mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbcb8ce5a mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0074a53 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc01171e8 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc23d3ec3 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc601c4b2 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb797464 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xccc2a04b mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd084dedf mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0ca9e87 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2588fb3 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2bff1b8 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2e12a90 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7d33b33 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddb800b2 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde395b5e mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe24c864c mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe60ab8a1 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8bb8905 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb2236c1 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeed2b69d mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf19b2406 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1a09279 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf43c49ad mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf540bd7e mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6b259c6 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7fbfb8d mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf895e0c2 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8bebc8d mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb0ec3d5 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xffaacbe8 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03f363cb mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0441222a mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0478cb87 mlx5_modify_nic_vport_vlans +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 0x0a663564 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0bd6f469 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0de666b3 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x105c5689 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17bfba70 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a2ad112 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2af90f85 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30aa562e mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x31bf4a7b mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33a92d95 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ba6240e mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c03e82f mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x404333c8 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4511e139 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x472a7fef mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x51acc004 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54090966 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54738284 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5606750a mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57514709 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5abd4a12 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fcb3309 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5feb5c3c mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6621bdbd mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66ae4598 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x67e5440c mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d796715 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x710fb435 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71f90db7 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72ecbe16 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73f564bf mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x776072b4 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a1ba2b4 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f93301c mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80e83c6b mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8455ae0d mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x846bdb21 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cc5d495 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e378cbb mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9014161e mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90db4ded mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92084cf6 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x961c7def mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x999ddbbe mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b26f682 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ccfcdfb mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa5fa7de4 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xadae41a1 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4951fe5 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5840bf0 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb58bb3b2 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb88fb502 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbaa3d523 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbdbc129f mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc72b8c5 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xccf5a826 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcd3344f0 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf1643de mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc35e4b7 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd07eca3 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe419dade mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea71cbc4 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb3cbee9 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb6dcc7c mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeba86029 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xedb77d89 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf2ee5f5f mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf425bbf8 mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x0ebdc11e 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_common 0x27835921 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xee939506 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xffc91a18 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x1e3f9e2d stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x449b05c8 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x4ff6387e stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x5a13eb3c 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 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x053fdb22 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x6e58bb84 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x72c80708 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x9464ef06 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xbf062276 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x503379a4 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x929298ca w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xac049de5 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xfb856424 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0xa4f62ee1 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x0ff2fe9a ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x187b35b6 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x4c1b58d0 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa18621e1 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xd3ad006c ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macsec 0x44cdd1d2 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0ed344f9 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x3b090543 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x9cb3fc8a macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf70f6b25 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x2ef09f2c net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x900219d1 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x05bcf561 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0def6b67 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1d439c23 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1df3c2d5 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x279f6584 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x28f4174f __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2a23bd84 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x327884b2 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3915189d bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4df31266 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5bbda6de bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5f8b03bd bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x697d7bf2 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x69816020 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7048b986 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x728ddf9c bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7297ee09 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x787c5971 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7adc35c1 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x880058ae __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8dcea8ad __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x927d82ef bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x930ce712 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9608c060 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaeb3b1d9 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb4891186 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb7941ff3 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd5243514 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdef0409a bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf3e297c3 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfab1bc5f bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfba94c0b __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfc82b7c0 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x30768198 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0x448d2599 mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0664ac3e phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x136c40fe phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2e3ef201 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5c2ad24c phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5f2c2511 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +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 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86652f4c phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +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 0xa2f0ac7c phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0xeb9e9c6a phylink_add_pcs +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 0x05b5ede8 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x188edf6a tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x1ca193d7 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x448fefea tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x45a0c178 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x4e3934a2 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x504d8dd4 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x740af3c5 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xd449ecc4 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x404cd1cd usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x58ac17aa usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xba3e43bf usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbb73a726 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xd0c8f5b0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x0829a70d cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x09c7c045 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x41fbb5be cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x499785e0 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x64f49cf3 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x93fac8d5 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9a68eacf cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xb7b673f8 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbdccb22e cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc1c7c9c0 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe9c395b1 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1cd6ea72 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2dc93385 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x41c4a4eb generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x596450f1 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7a806c36 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf778603f rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x074ab693 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x110abd1d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1794a0c8 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b295d76 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c9b2a7c usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x27d536e1 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2e8a43cc usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x371f6947 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3a384e7d usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x598b72e2 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ccf163a usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6de7cd9c usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x734c967e usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x851508be usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8bf14595 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x93c21b72 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x94538a5c usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e735b13 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa42f6a0b usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb88a4637 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0916b79 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc50e6d7a usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc738b259 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xca7e89c8 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd42d1d85 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe96ede0f usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe97853d1 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xebc006fd usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xecb5af1f usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xedfa3936 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeeb9ebd9 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf1f565bc usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf2649bea usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x658a3ed4 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x9b57cd66 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xa09b3f22 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xea1d706e vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1cb5afbc i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2640841b i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2b03de47 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x35b5f2a5 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x37d04c52 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x41441ca6 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x55782e14 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5cc021ac i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x83c78b67 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9b851197 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xae0dc35d i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd81a92ff i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd826d5a0 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xeba12a3c i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xef5f17a3 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf937b79f i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xe32ac897 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c9ef7e0 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x614ce1f4 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x73601bef il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x88715bc9 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa74b9b1e il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0362bac1 iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x042d5698 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0684efd4 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0716db90 iwl_sar_geo_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0ec56759 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x11f24894 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1210e88e __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x127d1a30 iwl_acpi_get_mcc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1332e4de iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x13bd6020 iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x143af941 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x176850d4 iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x194fa5a6 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1fd0e3b5 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x21b71b13 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x22453c63 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x260c2545 iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x28f242c0 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2b2dc37a iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x381ee9e6 iwl_validate_sar_geo_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x38681401 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x39e51fcc iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3ae2b00d iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x485d4e46 iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4ce20b04 iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4f0a7c87 iwl_sar_geo_support +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4fb3b539 iwl_acpi_get_dsm_u8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x505409cb iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x55437dc7 iwl_acpi_get_eckv +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5988395c iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5d387ded iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5e44e575 iwl_sar_get_wgds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5e7c7549 iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6306cd16 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6697d850 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6f6c465c iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x75c59062 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x783e0db9 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x785b2654 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7da331c7 iwl_acpi_get_tas +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x86fd1b00 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x887193c9 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8c2357f3 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8e57b8d7 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9d38c254 iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9ded1f9b iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa2eafa2a iwl_sar_select_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa59e6d2e iwl_sar_get_wrds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa7160ecf iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f9c996 iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb122dc3b iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb2030a20 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb25bf5b6 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb5751af2 __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb6386bba iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb80b1ffb iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb9a59642 iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3cc26b1 iwl_sar_set_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd1262c3a iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd733fb38 iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd88bd218 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd9000919 iwl_sar_get_ewrd_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd9ae539e iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xde08d6e8 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdec7a0aa iwl_acpi_get_wifi_pkg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe0eb5838 iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe25445ff iwl_acpi_get_object +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe75b7e77 iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea29d281 iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf42abe90 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf88964e4 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf8d8758b iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfac5be5e iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfb3285c3 iwl_acpi_get_pwr_limit +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x481d0ddd p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4caa457d p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x742b9a3a p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x765ed5ef p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x78839b3a p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7dec7633 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9c01079c p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa03c7299 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb8af0942 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x231062e5 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x35641f80 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3798d816 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5ad847cc lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5e464408 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x740a8a74 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x84099102 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x86a344f9 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8cbb483f lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x91ce5e73 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd53f0180 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdbaee50c lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdf243607 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe019f05c lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe49786cf lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xee76cd1d lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x1c30e410 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x1eacaea2 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x20f24c7c lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x76a2b6b0 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x92f883a2 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xacbc6851 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc35ed8ea 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 0xcb78f921 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1320ad58 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x146b26f1 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1667b112 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x257b0620 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2624f2c9 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x29568179 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2c5cf70c mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3cbe13d7 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x47f6f1ec mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4bae82b8 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5707ab19 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5d12ae2e mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x71deac24 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7a25f1d9 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x81f2ebc8 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xadd33cbf mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb1d6476f mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb2e3f49f mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc07abc7a mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc2b9809b mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xcb78503b _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd412438b mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xefeb7634 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf67b90c1 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01140929 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x099dbbe7 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d1d8c0c mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0e37927e mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x19e7578f mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1a730fe6 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f535ace mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21cde117 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x309a06b1 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x32e00bac mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x35d0bd5d mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x36ea3e3f mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x370aba97 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3b83b603 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3eeaaef7 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3f8a6b45 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x47c77a6b mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x47fb0697 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e859012 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4ee9216f mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4f4e1387 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4fd64544 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5016a0a0 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x55ae688a mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x699b7bbd mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6bdb9120 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e484100 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x72d208c3 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x791028bb mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8291270a mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x85148f9a mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x85d77db7 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887a9a8d mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x88a24966 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8e99e471 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa1cc5462 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa1d61137 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa4e5417d mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa8af3b6f mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab2c75ca mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaceb6929 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xad1e7dbd mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb35c0e56 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb55fa2c3 mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb8c7e0f4 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc47502b4 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5fc58a3 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc7e6d609 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc8bb0205 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcaa9e5bc __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd0177fb9 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd5b58520 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd9501081 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdac5f8c3 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbaf1db5 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5347235 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe8761683 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xebf1200f mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf8f18b95 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf9b29a17 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfbc5cee9 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfd299544 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x05536152 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3399de4b mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3e8c5e3d mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5d48468d mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x72ea02b9 mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x81f986bc mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xcff8f5cf mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd6d2f50c mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf55b0700 mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfc6a5e2f mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfe844642 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0030508e mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x054ba44c mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x06659948 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x07a1ee2a mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0ab15082 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x10309b5e mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x11c96f14 mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1a2cd284 mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x20d9488e mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x289615f7 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x366c0d7b mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x48d138a6 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4b855939 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x53144902 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5e5f5abb mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7731020c mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x79097196 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x791e744f mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7ae37eea mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x852aed9c mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x86659d30 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9c1c04ea mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa41ee483 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xab6575fe mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb8e48cdb mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc745a75f __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc8523ba6 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc91b2cb6 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc9ea8981 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xca05288c mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcf5e3614 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd0afe50e mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xda42d477 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdf2ea832 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xef8700d7 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf87e51e3 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf9ae48ba mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2fccf63b mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x66e82080 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x8b9dbfac mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x9a092a7b mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xae7ebc7b mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc9616abe mt76x0_phy_calibrate +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 0x0758f008 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d38d252 mt76x02_mcu_function_select +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 0x0e27d698 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0e547ec4 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x12902822 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x17539d4b mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1be03f12 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x210fa064 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2593a761 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2a4bc53b mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2c04b1bb mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2cdc34dc mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2fb7805d mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x33ba973b mt76x02_init_device +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 0x367b0efa mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x37f02b1e mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3bc13235 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ddf434a mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x414f4eb2 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x440fb039 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x44dc485f mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x47233f95 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5256c118 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5266ec17 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x54f48b7c mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5742f67a 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 0x5eab3ade mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5f7f2693 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x613679d7 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6235357f mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x63da03f9 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7064602a mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7647d161 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bad566f mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7d9de7e2 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7dad0d1d mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ac0fb8d mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8b2256e6 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9a2db857 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9bfabad4 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9f26667b mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa2223f26 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad5aae3a mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb02f0465 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb41fad5e mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb6adcea4 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb86ea1f8 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc00d0bdb mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc5cc9b93 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc868e9e4 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd6bc0f2 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcdc94102 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd42efd0d mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd80e8c10 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdc359fa9 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe0e0dcc2 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe95bce1f mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeb141baf mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xecb3c9b6 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xecc734d8 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xecdc4799 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed617442 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf48b3dd0 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf67ed649 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfa3605f5 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfab4daaf mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x11f485cb mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x56c16cad mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x988b2aa5 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xb232d50b mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd27358df mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd3bb258b mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd6fd6c1d mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xe7476df0 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0106c706 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x18273a27 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x32f6b3cb mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x376def92 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x61a7ff9b mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x74e36bb7 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9d0a3d71 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xae165997 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbca591a0 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc01fe558 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc0ec7252 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd59db4c0 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe983bff2 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xecf367b8 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xedd80873 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf1b49f35 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf30e38f4 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfaf821b8 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xff71be9c mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x10a527d0 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x1ddc01a8 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x23096043 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x23934355 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 0xaaec3c6e qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xcd215194 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xdb6716d9 qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf0df79de qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x00ce2b26 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x04fd5d1b rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0b5707be rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0cc8d5f3 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0e9d566b rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x14cd0e53 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1e744dc0 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2388af94 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x256ce717 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x25bd6814 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x28227219 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x29a682ff rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3743d8a1 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3b5ce22c rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3fac2d93 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4409edca rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x51525221 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x519b9b61 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5369d971 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x53a8c5a6 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6abe96b4 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7267f87d rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x82d764be rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x92ca6a2d rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9637090e rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x97687cff rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa1bea171 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa402748b rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa633e5a1 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa8af393c rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xab6017d3 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb1f65399 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb44ea014 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb4d5ac00 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb7ebd643 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba687b55 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbaa526ec rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd383fc2a rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd62884ea rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdbd59348 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xeb7b041f rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf6a45896 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf8f9f3ef rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xff534a9f rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x17625175 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2c536ab4 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2dcc0af7 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3b452d54 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4f234380 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x72b13783 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8d039279 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x90fb2a9f rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa387c6ab rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa54766ac rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb527c3b3 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb91e1ee6 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xbbd130ad rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe09348e2 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe2b79e1e rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe95e51f9 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x00fd52b6 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x03155726 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x05cb4929 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x09f8b22f rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0f4f70d2 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1064bb99 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x11c110e9 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x12bc67a3 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x19a8cb67 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1a717f80 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1a860a18 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x233474e7 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x25e6bc2e rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3276d0ee rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x39b38fe7 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3fe0306f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x467606b0 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4932f5a1 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4ae03328 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x56bd0af8 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x58cd1f08 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5dd5777d rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x605606c5 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x61b17257 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6522b239 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x655266ad rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x71bddbb1 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x744f8cf6 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x85779f6c rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8b35735c rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8f7e0c46 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x98e56828 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9f5fde83 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa10dda50 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xafff28f4 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb24e8ef9 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb71ee2e7 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc0848d96 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcee9a9de rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd0744b2e rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdc94295d rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe01afe17 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe4096903 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf2df759c rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf55fcf13 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfbbaa5bc rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfd0f4fd6 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x4a6e4900 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x718383bf rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x8fe301ad rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x9ada2e1f rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xed86c452 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x42085d29 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xbc559276 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xd8b1fc8c rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xdefd89ff rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x069ec709 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x094144c3 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x202238e4 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x42e6beb9 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x634296c8 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x73089933 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7619f4ca rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8a78b201 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd544d667 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe5553a43 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe70e8f83 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe71d33bc rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe963b430 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xec3c8846 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xf17701b4 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xf3c21695 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x568f847b dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x59359ceb dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbc90a515 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd9e7622a dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x07ff366b rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x08fe6a5b rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0de21db5 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1176c0dd rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1a0815a9 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1c72b53b rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1cca4c67 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1d828b19 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2a0f7774 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x310b08b8 rtl8723_phy_path_a_fill_iqk_matrix +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 0x422c7164 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5443af3e rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6351c68e rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x677cee70 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x67af9fa2 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x730764fd rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7d6f0a2b rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x80359272 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x88666443 rtl8723_phy_query_bb_reg +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 0xa9626a9d rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa9898dea rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbbdc0056 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd35352c2 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf3551f2b rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf45b9f27 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x129feb71 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 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 0x35049b06 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4014e988 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x464af762 rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4984d9d6 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4bca9a8d rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e9978d6 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x50c83582 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5243cd57 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x52d62189 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x548b9ba7 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c360379 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6e4a0871 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x80718890 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x87c1f221 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa0990ddb rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa52a0ef0 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbd91162c rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc8293c8f rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xde72d0bc rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdfd59795 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdff973be rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed54d3db rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xedf260c5 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf7466246 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2d7e2cae rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x42d54049 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x91913bfe rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xa1cfbeb4 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc386b60b rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x2988b74d cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x3f3ea541 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xd66ebaa5 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xde0a0cec cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x1693560a wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x1a0a61d9 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x8d7a686c 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 0x1503fbbf wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x16edb3bc wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x172fdd2c wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17daf53e wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1df7698d wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2dad91df wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2eef01ec wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3081f217 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3861b85b wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3ea174b0 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x52fab4a2 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x553d0bd8 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x58759a6e wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x66be0d87 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6b58a222 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7673d5c4 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7f18cc7c wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x82432737 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 0x87a035d5 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92120be1 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x94c1be96 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x995bb9fb wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9966a113 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x99f5de63 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa2b7d869 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa66e48f8 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xae93649e wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb33386da wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb690a865 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbd6eb0e5 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbfa3b886 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc0f1828d wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc2f8e0db wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc7a41007 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc9df529c wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xca709055 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xccbd00d8 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd8f65ffc wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdf5556b6 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe43de08f wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe892a96a wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf1c879a0 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf7492cfc wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x4f38b0e3 nfc_mei_phy_alloc +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0xbdedab78 nfc_mei_phy_free +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0xd81b317e mei_phy_ops +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x2a372a9a nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x77a7d97e nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x87cc287d nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xc3a9c481 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x1e580365 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x5a5b2601 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x858d8a10 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc3b3a91b pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc4526476 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xe3368e87 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xfe760782 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x150c956a st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x20a6f3dd st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x2667bc85 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4bf6e125 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7672605a st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x894c5f15 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x9d3bb965 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xba7070af st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x0302b743 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xace55f0e st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xf4f37d14 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 0x7cdca683 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x826832dc ntb_transport_create_queue +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 0x9f195c81 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 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 0x17893cc8 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x19e0bb33 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x01b84a82 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x047b7dfd nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x051145dc nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x057b1672 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x05b75630 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0a9b0b08 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x105f6b63 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x179b0984 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x20f4f313 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x24c56984 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x325fe55f nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x37aabe81 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3d6808c9 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x53d21489 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54085d0d __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x575ed274 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5d601c98 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x756066d1 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x808c22ac nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8301ebd6 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8c328611 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8d99093d nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8fe1e55b nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9161bc0c nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x969ebb17 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa57d6d7a nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa5ed680e nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc26949ec nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc54fee91 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc550f924 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc68da795 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc91982c9 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcc9515ff nvme_complete_async_event +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 0xe36395f9 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe69b6154 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe8b1045f nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe913888a nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xec8ccf93 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf0d640f5 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x018d7ab9 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x073e9531 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x39c6b8a7 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x4b0478bf nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x65e58180 __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6a398102 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6f30521c nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x82d8b6a8 nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb64d871b nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc4edd0ba nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd3e04ed8 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe0b40c39 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0f6c1377 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 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 0x39b7c19d nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3f49325a nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x47dd4786 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x59d9dfb9 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5c6635f9 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5c891689 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x95d9e9bf nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xcd140bd4 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xde469717 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe3f11b8f nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xee8b73c4 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 0x176e6b6f 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 0xbcdb7e09 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0x0d22067b intel_pinctrl_resume_noirq +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0x2ba7b298 intel_pinctrl_probe_by_uid +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0x5be30c22 intel_pinctrl_probe_by_hid +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0x83b2dd48 intel_pinctrl_suspend_noirq +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd271d71b mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd9b31863 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xe9c8bc8c mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x265aaa90 cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x7feaf82d 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 0x579be2cb wilco_ec_set_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x6a550aa7 wilco_ec_get_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xc24aedf1 wilco_ec_mailbox +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xccf199bd wilco_ec_set_byte_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xff9130c6 wilco_ec_get_byte_property +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x57c46ceb asus_wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x9c95b63d asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xa66286f3 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-rbtn 0x51552fca dell_rbtn_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-rbtn 0xa060fe7d dell_rbtn_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x1b0b3141 dell_laptop_register_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x444bfd03 dell_smbios_unregister_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x45170471 dell_smbios_call +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x596a22ef dell_smbios_call_filter +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x6363306b dell_smbios_register_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x7fd2ce06 dell_smbios_find_token +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xb9400dbf dell_laptop_call_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xc2871e79 dell_smbios_error +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xd6c6b12d dell_laptop_unregister_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0x8eef8246 dell_wmi_get_hotfix +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0x9559234e dell_wmi_get_interface_version +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0xa167d064 dell_wmi_get_size +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0xa3dcfa65 dell_wmi_get_descriptor_valid +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_punit_ipc 0x8ee9455e intel_punit_ipc_command +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 0x52cb06fe 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 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 0xe3f0faad isst_if_cdev_register +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x112d0332 telemetry_get_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x17d36efd telemetry_set_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x1c7565c2 telemetry_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x35db93a6 telemetry_get_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x5847f501 telemetry_clear_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x5bb8e91a telemetry_raw_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x665cd407 telemetry_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x6b892524 telemetry_set_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x82bb2dbe telemetry_get_evtname +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x90551504 telemetry_add_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xb75bd1e6 telemetry_raw_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xbb9a2726 telemetry_reset_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xd14ffffc telemetry_update_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xe1eb4be1 telemetry_set_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xe8847f53 telemetry_get_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xf00771b0 telemetry_get_eventconfig +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 0x564f22ac 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 0xc188cc9f wmidev_block_query +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 0xe57a431c wmidev_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xf18bdd75 wmi_install_notify_handler +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x31e44be2 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x69ea507c bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xb2da30d6 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x6edab1b5 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x774770c6 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xd80d14d1 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x025c97e1 rapl_remove_platform_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x0da9a4dc rapl_add_platform_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x86aad8f8 rapl_remove_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x8e2eb919 rapl_add_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xa889a2f0 rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x495b03d9 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x5dc24f3a mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xae90e54a mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x07f4ca7f wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x221051b8 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x307eea2b wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5395c1ee wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbdc67164 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfcb6530c wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x8f98d691 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x9d6d3e8b 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 0x07473c9a cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a8d9673 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x105ea0ef cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x11c755c0 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1fe70580 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x20d4f869 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x23864337 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29602e78 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2cb78668 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2e9f8fca cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x31977353 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x33b8685d cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4674801d cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4801a49f cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5239726f cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x638b7855 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x72785645 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x74e8b672 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x768e137d cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7c6bfc68 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x82f5493d cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x85f8b56d cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c5f0383 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f0b4165 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x923b121c cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x95e403a2 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9df6db18 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa18ea932 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xac7efa57 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb68710b2 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb68a5c32 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc3b66842 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc7e1840a cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcbe2f105 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xccbc4f49 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd011ab74 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd0b95643 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3827bd8 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xda1c5d0f cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xea2233e9 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef05325f cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf84abba3 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfe1430cb cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xff02c5f7 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x37233b62 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x3f1bb061 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x43c7798e fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4e8bdd9f fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x59b99934 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5dc2454d fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6cf7aca1 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x725a139a fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x74722bd4 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7cdad0ee fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9bc1b930 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbd91a4c6 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc2af3ccc fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe025826d fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf1c2192f fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xffba2295 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x64f823b0 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x96731fea fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2a4d271f iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2e22d5c9 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x802e5a9f iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x99855bfa iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb5e8e0b5 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd5cb4487 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf89a02bd iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x02c05aaa iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x07a31be0 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09b897d3 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d59160d iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0fd0d001 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x15d1fc3b iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2aa89c28 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f6680dd iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x309a25d2 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x368e0ac9 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x51965730 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5224a55b iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x52c78425 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x57592567 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5cc883e9 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x64d8632d iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a411c5d iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b93507a __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x710d9093 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e0cc86f iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7eb869c9 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x874f2323 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88f36db6 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8f91bd87 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9116ffe3 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x968b0cca iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x98730c3b iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x993ae535 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa80cf598 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5f06136 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7145bf7 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc44eccb1 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xccfb84e9 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd0cdbbad iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd1761286 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4c32735 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9200741 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xebb37e73 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xef929893 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf4656a4d iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf4e05c6a iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf9085e01 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x09a3c06f iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x09d6c36a iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x18e76c5f iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x23993a0d iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3fdf9ea6 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x425dacb3 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x48f0910c iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7f227f62 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83011835 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8a9eb1d0 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x98423f1d iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x99000d1a iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa04101bc iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb579df27 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc20ccca5 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf4df5b81 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf9a5f6b7 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x04d1107a sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x149a3456 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1a5bc6fa sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1c6db3e2 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1db870a2 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x24700734 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x35ccad89 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x36edd020 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3fe6a7b8 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x465858d7 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x529e9615 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6767e726 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x718b57ed sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x797ab597 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8665337a sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x917faec5 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa9ec813c sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb2592ab2 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb30defbb sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbfe17e95 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcda86b68 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd780252b sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdf94772d sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe4a8bbe4 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x01846e77 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0f3dfad0 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x14805460 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1f4b7c7e iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x296acdd8 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2d06f6b9 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30e4bb1d iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3133dc5c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x369c63c1 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x386c3c05 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d66c80d iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x409fb662 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4704272f iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47867762 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x508b740d iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x51d0b4b3 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x594eedce iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5c896dc7 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5e30c14f iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x622296a5 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6d52297d iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7067db69 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x78fbbeac iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x79f4fc79 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85e27c3f iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8fb1c957 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa6cba038 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa9312bc9 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaac3519d __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaea92c90 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbf43372c iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc6bc5b32 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcb209bcd iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc2c14fc iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd0938543 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4697d5b __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4efbcba iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd8b0d186 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xda6abfa9 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xef4efdce iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf582f9c5 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfa4e620a iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfabe0913 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe63d555 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x4b325a58 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x697d209a sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x7bdfe972 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xad0815db 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 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xb49427e9 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x005e15ea srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1d2e2894 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5dfd142e srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xcc0045f8 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xced24c45 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xf03d1cb5 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x01cd6c93 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x14550f0c ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x3dbede81 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x4c0044bb ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x4c48727d ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6fd29fdb ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x7cfcfdb0 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x8112c318 ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x85298b43 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa53016d2 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa60f7140 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xaa62bf85 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xb00582ff ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xb175bef9 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xcf0353a7 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x08f9ea9e ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x426feb81 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x97c38ef5 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xa5a73acf ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xb1c968ec ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xde67d091 ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xfe89695f ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0db8a37c siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xa6923076 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb137e984 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb6496d93 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xda8388b4 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xf8a6b064 siox_master_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0a071830 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x19511ea7 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1b890b4c slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2bd32cd1 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3f4651f9 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x440b4d6d slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x806e3a63 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x899b254f of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8d0aa07a slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9ade5e71 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9bfe310f slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa0edb99a slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xaae53a73 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb6c103a8 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbb84bdd9 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc37683f2 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xca98117c slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe101d4fb slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe227e14f __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe22b2b6a slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe4c5b9d8 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe85e1675 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf1172294 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf991d220 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf9b6c7bd slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfe26790c slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x0830ae5f sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x3b057395 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x3b44134e __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x4ce88db4 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x06a9b43e spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1542996e spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x2007c2cc spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x71b82dd6 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x73c1a49f spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd6345029 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x09ad0d97 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1d523957 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x3802cf98 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x77afb266 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x7ce1c94d dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x7fdd5274 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa61778ab dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc48004e7 dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xfdd7061e dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x62406d8d spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xc652e5f8 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xeb4452c9 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0135f634 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0d417b33 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0e36e1f8 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x140898ed spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2d4b842a spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2e5e6466 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x30f48404 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x44f4e155 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x51801c53 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6cdffa9e spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8228d979 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8ab0e94e spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa81686f8 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xbe5862a0 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc11d4533 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xcbad33bf spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe72343fc spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xea999127 spmi_register_read +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x385bf464 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x044d42ec comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0ce9b3bd comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x11165649 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x242ea555 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x24d3fe32 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3152029a comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x34e6a4ea comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x40b5a3f4 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4b893ce1 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x65055f2c comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x692a7c9c comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7b0ff027 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x83a60571 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8943265b comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x89f9084e comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x911ae07c comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x912acb0f comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9821ede0 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x99aebcf8 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9a3760fc comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9e659cad comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa19166d5 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xae5b2c27 comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb0e26ec1 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb6552e23 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc9eb422a comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xceeaabc6 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb80e032 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdc677f06 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe34de1da comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe3bdfffd comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xea84f885 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xedbf6c82 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf926830b comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfa845494 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfb2a875d comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x03c63c92 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x093737a2 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x5d00009f comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x8ad813c2 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xa9a5bc59 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xb9c64dad comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xc6b49a4d comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xf6b650a6 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x185ebe36 comedi_pcmcia_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x1ce6afac comedi_pcmcia_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x5c86ccdb comedi_pcmcia_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xaa3d4c14 comedi_pcmcia_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xca7f31f8 comedi_pcmcia_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xcfd61153 comedi_pcmcia_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xd7401f50 comedi_to_pcmcia_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x20fc11ad comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x31f9ebd5 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x3fa2ceb3 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x6e5dc8ca comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xb5512b27 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xeb5b7fad comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x74bc1f13 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x50ec1103 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x82d8d803 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0x0ce7b8a6 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x1c7c9be6 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x35fb7262 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x55b61fa0 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x60800de9 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x6249ce5f comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x62b31a53 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x82e990c2 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x94521dad comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x9a6d4803 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x9eeaba02 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc7425ae9 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xea59bc7c comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xeca6f6d3 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x38dbfbbb subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xa71571d6 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xe17d4650 subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x3929286f comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x44480ab0 comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xb9a24eaa comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xf111eb19 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x07dc56cd mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1ed0d201 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x32d9d68a mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x35aa8b32 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x47a1ff3c mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x86b312a8 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x86b6689f mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x8bcfefa9 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x934306d2 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xa42a5964 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xabb0ecc7 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xacb19a23 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc23aa5fb mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xd601d217 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xd7fbea7d mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xdbc66060 mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x528787cb labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x53720ccf labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x3d66e6cb labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x6676edb6 labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x7bf5e217 labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x923dba69 labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0xf94dfa53 labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0341aa50 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x07cf680b ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1c0da45f ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5426baad ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5660e80a ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5ae72e8b ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x746d84ca ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x945abd38 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x9746ba89 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xa94ee08c ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb1b4f9cf ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb858f55a ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc10bd3b4 ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc94a0ff1 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xcc31ea46 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xe9cb6d5a ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x904603c7 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa088e8e1 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xb7e6b51d ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd8b81f1f ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe0e94907 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xedae8b27 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x19a6ccca comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x1a82a268 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x35c0b228 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x3ab80fbe comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x97f28d37 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x9f18bf49 comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xd9bc982b comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x59912b28 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x627a3713 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xcd72f649 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xe86ec80b fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x32c326f2 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x3af9be73 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x3d12cc2c gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4e828f7d gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7c976686 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x85cf9056 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x8f966fcd gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xac52b94b gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb7240533 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe4cc7852 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xec60db1d gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf3d7c642 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xfc062c9c gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x0fa68b18 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x28f52fc2 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x35559df9 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5865e9d0 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x828ca5db gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x9da89fd8 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa2ed3f3b gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb16098fc gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbe839657 gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbf4d8d00 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xcab9db90 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xdaab0dc2 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf46c0f21 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 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x68e623d4 gb_audio_manager_get_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 0x9ae7c9e3 gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x4aca6c81 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xe27cb804 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xf1fbadc1 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xf658a2e5 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0xbeac86e1 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x1c9dd31d load_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x81757e8e release_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xb4dda062 apply_msr_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x074c9167 atomisp_register_i2c_module +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x3a7df15a gmin_camera_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x473a07c4 atomisp_gmin_remove_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x65705c71 atomisp_gmin_register_vcm_control +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 0xc7895201 atomisp_gmin_find_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xd623a391 atomisp_get_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xe540bc39 camera_sensor_csi +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xf542e48a gmin_get_var_int +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0072d2f4 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x131e4aed spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x198addb2 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2f85c0a1 spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x533bbc95 spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8f0e678d synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x908f04a7 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa2682878 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa3713334 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xad28a35e spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb93a0fd3 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc10fad1c spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcaf18b62 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd0999821 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd7128706 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd9832210 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf368fbf7 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x0a02dde9 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x2fb50bd9 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x4ad69096 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x59e5a3a4 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x665f9868 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xbe322539 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xefe6e660 chip_wakeup +EXPORT_SYMBOL_GPL drivers/tee/tee 0x11d56212 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x18228e95 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x31091cdd tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3ec3da74 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3fc1731e tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x45872c46 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x477c4e8e tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4a1fd44b tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x693ca19f tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6a93e493 tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x71b340c2 tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x91a88715 tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x93bc0e39 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xa568e08d tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xab89502d tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb37d7f11 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xcd0da439 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd3205644 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd3970578 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd9847326 tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdd76373f tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe21a7576 tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xebe52a96 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xfb788a27 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xbf57fad1 int340x_thermal_zone_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xd2e19322 int340x_thermal_read_trips +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xee4fed5e int340x_thermal_zone_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x09db8926 intel_soc_dts_iosf_init +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x9cc9a120 intel_soc_dts_iosf_interrupt_handler +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0xb178e396 intel_soc_dts_iosf_exit +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0xdaf97146 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 0x143fbb4b tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1b2d496b tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2b351410 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2f2cd391 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4b287d24 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 0x5586bd53 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5b9227f2 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5e5dd310 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6538e14c tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6d132f2e tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x77d20e90 tb_ring_alloc_tx +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 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa5779711 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb34589f8 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc5a39d3d tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd3f9268a tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xdc6c1a88 tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf3630fee tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfc477bfd tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb837e33b uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd62d3ec6 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xe57c0859 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf18791f0 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x62a8c2c9 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xa678a4bf usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x3b604d77 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xbd64591e ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xee657823 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x05b4a4f9 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x3ec75892 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x951bc93b ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xab6039df ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd53ba284 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xf176988f ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x05091fea u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x13520d73 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x171a0fd2 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6ae1447c u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6af8b4e3 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x9e636775 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x13e329e3 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x29d06c3c gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3a52b8f5 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x57844a98 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5a0836a0 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5bcfc6ce gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x886fcbcd 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 0xafb88b3f gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xb1367dc3 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbe042733 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xcaf95633 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd5e9395f gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe21cd318 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xed61e9cc gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf7f00c9e gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x178e53ea gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x20e894eb 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 0xa6f4f05b gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb279f503 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 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x57f469c5 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x7b60a225 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x821c1b1f 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 0x29753a18 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x31260e24 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x38ce7aa7 fsg_store_nofua +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 0x4a0b86b0 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4a951817 fsg_show_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 0x64180f8b 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 0x7d818599 fsg_common_remove_lun +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 0x9b3275c4 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa4f852e9 fsg_show_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 0xa71a3551 fsg_common_set_cdev +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 0xbace93f7 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xbb483528 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc78f3bc8 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xcc7099b5 fsg_lun_close +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 0xd251bd2f fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xdf909990 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe8a23c7e 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 0x09e73c33 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x12b3268c rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1fc3b0b3 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2bfc99f2 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2f1df6e4 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x41425dfa rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x61728c8a rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6215acdc rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x83f32dc1 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa241ba76 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb3acb578 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc55be773 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd2d58531 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd97048dd rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xed26dca4 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0339dbfe usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x05bfe375 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 0x0fb73dc3 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1735a6cf usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1bfc6541 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x22198557 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x22716809 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2957a269 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4746202d usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x51ee969c usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x62e8cba0 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6305b889 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x69e1577a config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x83d41102 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8d54f56b usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x99b8afbe usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9b6885d8 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9f7984f0 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa267f1c1 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa607c019 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb1d45ed9 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb214bfd8 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb308692f usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xba423b1c usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc22046db unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd21440ac usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe58a746b usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xec7ebf9d usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xef9f28a3 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf7cfbdac usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf9a20939 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x19748701 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x241333f8 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x26d12d7a free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x4364baa7 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x54874ecb udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5bc0901f 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 0x8c4cfcb4 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe2726e7e empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xfa5b7099 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x00a56dd5 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x039f82fa usb_gadget_vbus_connect +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 0x18344a97 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1de7f389 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2656598f usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2bcb2304 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3359add5 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x373cf16e usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x492f2646 usb_gadget_probe_driver +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 0x592745ff gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x62e15964 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x64635684 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6a7d0fad usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x779b323e usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x78503cc7 usb_add_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 0x7d6f4dbb usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7fbcac9c usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9389db79 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x99db9e13 usb_gadget_map_request_by_dev +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 0xaa9ff4d2 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc08ee5aa usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xebab322f usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xee95e4a6 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf894b12a usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfa6abb67 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x0539fdf6 renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x10f3d41a renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x1db14a0d ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xf0de37f6 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0051c3e1 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x213d47d4 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3228a7c6 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3bdf3e8c usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4817d8a5 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5fffe82b usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x961ca045 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd4dd2943 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe0387196 usb_ftdi_elan_edset_output +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 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x952d2ed7 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x9777187a musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x987fcdfd musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xccd6ed2c musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xd6834e78 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf06858a9 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x8c3ded74 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xa0dc310e usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xc9fcd1ec usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf2b68239 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf58ac1e7 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x4b4537ed isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x4a70b53e fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x56636de2 usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x6050b338 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xdad17cc4 usb_role_switch_register +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x7139fc32 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0bd48d54 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2d2eebb0 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x30e60735 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x36ab7097 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x381aad33 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4cc7b253 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x563df3c2 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5e29fa96 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6875721d usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x83eecc41 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x87252f89 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8a835b34 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x91cbd51d usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x96398248 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9e88167a usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaec68b97 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc03aeffe usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc63f2edc usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe501aff5 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe92c69ae usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfccf97e6 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xbeb40eca dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xfc2679f9 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xb9728601 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x21b107c7 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x07fe71b3 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0bf9e1ea typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1450c604 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1ebfdb6a typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x21e59e72 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2323b0c9 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x363756ad typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x45339dd2 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4a734e53 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4a73f1fd typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4c797a8a typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x661c71bd typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x66645c13 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6cec8ed0 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x725b5aa7 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7389d78d typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7acff65e typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7b3d5fd9 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fbf24c6 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x84605293 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x976280fe __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa03a1f46 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa7e7c4a7 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb7b29590 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xba9ed33b typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbcd0cea3 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcffc9173 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd47813f3 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd6b757d8 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdfdb6198 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe581691d typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe8cf86c1 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x1c522d3a ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x24845697 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4fcc99ff ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5100be0a ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6962c8c4 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x87aefcc5 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbeb05e84 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xc760762f ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xc7a181c0 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd850eb5a ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2ab22119 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2cdc83a4 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x3aaa9104 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x3b97ca29 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x488d9fee usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5a7faae2 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x884715fc usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xb48206e8 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xba2a543f dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc0e8bdc0 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xcc897155 usbip_pad_iso +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 0xe8a0894d usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf357dffc usbip_in_eh +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x6adc835c vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x84ea4086 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb1cd7b0b __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xc60efb1b vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfee0fdad vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x23656db1 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x04240b38 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0aec4ff2 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x11feec0d vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x16f9d2e1 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2000da4b vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x20ca58c3 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x256f6ac2 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3481caed vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x364977bd vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3c5b815c vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4513fd65 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4e683135 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5317a6a9 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x56a0ebc8 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5a79d006 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6b014a92 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x771ded1f vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x78228c7a vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7a878444 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7d07a72f vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x861217e4 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x89279233 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8ba81020 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x92931a72 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x949807bd vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x96e9fd9f vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa8ec3abc vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb8df09a1 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4b5174c vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4ecae11 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcc6d446d vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcea56220 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdd36bff4 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe03a7042 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xeb8c1c3d vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xeeafa923 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf49f6839 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfc0f9dc7 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfec4244a vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +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 0x251f1c44 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x33960112 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x65c2a802 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9d6e8ac5 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa5ab60d2 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc7b0e3d8 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe1f922a5 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0xa60ef05f fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x34e38f6f fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x6b71fd42 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xb7cefd9c sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xbef129cf 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 0x5772b1b1 viafb_find_i2c_adapter +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 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x0e338292 visorchannel_signalempty +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x10c12ab5 visorbus_disable_channel_interrupts +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x2902b819 visorbus_write_channel +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x3b33302a visorbus_unregister_visor_driver +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x4de03230 visorchannel_signalinsert +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x56401853 visorchannel_signalremove +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x79166547 visorbus_register_visor_driver +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xc455c651 visorchannel_get_guid +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xeab03387 visorbus_read_channel +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xefbfc45e visorbus_enable_channel_interrupts +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0b87aa9f w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x218bb817 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x374c6afb w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x52fbb8ca w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x76bc842a w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7a419cdf w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa1fb6237 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc5d3b5ad w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xcc491772 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe9dc93fa w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfe31e73e w1_read_block +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x03fb023c xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x26326bd9 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x6d3aebb4 xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x7ac14bc5 xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xf392b76c xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x2884749c xen_privcmd_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xaa8cdbcc xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x1f3b1840 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x2e98979a 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 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xfffb051d dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x07a3c9e8 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8137a4c7 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x857dad47 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x85c988ee nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8cf546f4 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9d58baaf nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xbfa646b6 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0148d991 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x021bee1f nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03ab2a19 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06bd9709 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0895151e nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0b41ecee nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c1fd8e8 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0cdadfc7 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e86337f nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0f0a3f0c nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x190b1ebb nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x19ad7569 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d70d9d4 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ffac635 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x237eb46c nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23ca884e nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26c05eef put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2965cadb nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2cc6478b nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f341afe nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31eff9e8 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38020734 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3899e105 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3a9f3b9f nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3c6921c8 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3cccfebe nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3cf7cf9e nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ebed418 nfs_pgheader_init +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 0x41b76d36 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44ba56ab nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46b0524d nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47213d24 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4947d022 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x49f803fc nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b856c20 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e21ea4e nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e2b1c4c nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ed060cf nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f66e571 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51b5ac2b nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58fc8d75 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x628c42f9 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6335ba09 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x658bb424 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6892d599 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b0dcaff nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cce7d17 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6d8defaf nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e135d01 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72872d77 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x728d133b nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7388b1cf nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d6a3b81 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7deaeb7d nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e264dfa nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ee1793a nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f569f75 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80f9a19f nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82788dfd nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84253925 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x856e464b nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85da224c nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x861f8795 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8666be87 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87788b10 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88b9c965 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8990d1a0 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c45db05 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e9612a0 nfs_put_client +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 0x92c877f3 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94b1de51 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x96d1b7b2 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x974e2a12 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a302a2e nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9aed76ef nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9db6ed18 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e8ab7ca nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fa3a49c nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fd87110 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ffd8bc3 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa09ce6c8 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2bda522 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa352c293 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3ef7a38 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3f7e07c nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa4cd5808 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa55cda8b nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa77d9b21 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8a94d47 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8abcded __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9a410cd nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa339862 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xada14d2f nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaeb6c308 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaece3e2c nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb0efbfc3 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb126db0a nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2463f8b nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb511bfe5 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb58e97da nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5f5c91f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba682511 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb2c625e nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc6b2c88 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd9152e6 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6ab13be nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7e64599 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb6af431 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcdbefc98 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd2d3d54f nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3ce4083 nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5e6e911 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd85adfe2 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda8e2f32 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdba0ac92 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcd5feb5 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd3c2f8a nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd6ec8b9 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdde73eba nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0ad0d6e nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0df42ba nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe4fa1c74 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9e856f2 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb0f5020 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed54f4e1 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0926df1 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1be2e5d register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8557797 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa9af6f2 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd9612d5 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff023e8b nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xa891f669 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0776fc1a pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ade27ae __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x11fb9f03 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1532b64b pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x163831c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x17434cc5 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1896bf38 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18c6953c nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdde079 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x208f5c30 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2597dac1 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x25dffd26 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36237e65 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38e8fe6b nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39ac52fe __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3abb8fed pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7d84cc __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40bc3c6d __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4b64efe2 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x508a77aa pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x559255eb nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x576f89f6 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x59b9af52 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a75c203 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5acdc627 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5b139f61 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e2fd0e0 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x617a9b7e nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x61859300 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x62cb6f46 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65fa9e1f nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6887bece pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69676359 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f309a74 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x70ad0f9a nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x719ccd60 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75acd3da nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x76102073 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x778636f6 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78ecf37b __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x799ee118 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ebd9b6a pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8a9a5939 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8f352b58 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93cb8938 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x96661ef5 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9e7a58b3 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0a77fe5 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0ed2682 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa319bfee __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa4bcc3dd pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa6962a39 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaad1f921 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab22bb48 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb43e11b5 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4bf9b99 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4fbbe59 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb6f785a5 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb86558a7 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbad4e590 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc34035e nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc145a3a1 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xca09a250 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd23bdeec pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd4b2ca67 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd4d2b34e pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6ed7dda __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc29230a __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf05942f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1401c33 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe99c4428 nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xea2ac1d7 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeb4be2c7 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xebb20875 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee960d9f __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf3feeb6c pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf46017a9 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf4fef73a nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf76f231f nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7e0369c nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7f3645e nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x343ad86e opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x45382bd0 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x8fd5fe15 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x2f873c65 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xbec0f8f0 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x47ebca12 o2nm_node_put +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 0x5bbf609e o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x62fc4682 o2nm_get_node_by_ip +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 0x9af7f2cb o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae4b641a o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb20368ca o2hb_unregister_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 0xc0bd2297 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 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 0x1cd9ea38 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x519d4de4 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 0x7acdcfa6 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x95a05c2b dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb4af504f 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 0xf501d838 dlm_register_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 0x3c921ee6 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x6b2c86f6 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x87cef0e2 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x93f51b15 ocfs2_stack_glue_register +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/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xad819c55 register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xc8f29004 unregister_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x046ef208 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x51098e7e _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xecfe1d8f torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0x7f376d08 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xaeadcbe8 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xfa617389 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x249f2c13 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x7488e97a notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0x117d07cc lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xe1ceab5f lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x806e6df6 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x874528de garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xb8207d64 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xbd5b0c2c garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xd8e0b188 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xda5f19cd garp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x0974647e mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x4e57afd1 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x745144ba mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x9ef4d79c mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xa4592d24 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0xeac7a2bf mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x6ae2d575 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xd3aca427 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x93814423 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xd32180af 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 0xd485718d ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4131de4e l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x52fffb07 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x56994926 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7bb7ae2a l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xabc6ea71 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc7b08567 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xce2c735c l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xf9d6822e bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfdc9261f l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x8149e269 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1547deaf br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x15d54b00 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x50fb4a25 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5fde9755 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60e5a569 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6d6ff957 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6e10eb80 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x809b5454 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x817857d1 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8d4343e4 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9247f61a br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x94d8821d nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9f44e8b6 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb139edf3 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb96574bb br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd84ae570 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdceb663e br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdd36dc3b br_vlan_enabled +EXPORT_SYMBOL_GPL net/core/failover 0x8667868b failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xee401c1e failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xef42e3a9 failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x098516ab dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x117ac118 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x17ce2045 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x18f6c9b6 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1fd6f42f dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e679c4d dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x579792d2 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59da022d dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5b85bf04 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6c36a93a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x722630de dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x72bf42a6 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x75ebb0df dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7c4e2783 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x82931d40 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x85a32cf8 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8a11d7b7 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x97411073 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x98a40272 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2624a42 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa3811262 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb91fd3cc dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc5d8891 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbc964564 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc1f2828b dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc3b6a26c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcea5ee28 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd291f29e dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf5bba0b dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe8be3ddb dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe9b359e5 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3a67a7c dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf40d5bf2 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf986ecb8 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfd2e2025 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0xffe9a0b0 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x26feccd0 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4a345942 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8e6f84c5 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x97501011 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd07d7ae8 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe8c485ef dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x099ae333 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x108b89f0 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x24281991 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x26a207c7 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x29185856 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4782d461 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4fed0f9e dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x56c773ed dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6a2a8f5d dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6ab31841 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7776d27a dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x83b50841 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x88a72e4c dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9fcc1fbe dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa2e948a2 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb32cbab0 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbbb9cb8f dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc123df83 call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc782a189 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe0a6ac7b dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe729f1fd dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe8aff2d7 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf3445b8f dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x096a8679 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x308db37c dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x92b8cfb6 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x93498669 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xb97bb0dc dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xfdb156f0 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xff27be2c dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x08e2f8e2 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x4f485c02 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x8e082900 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xbcd541f4 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 0x7c6a4ae9 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x882fe1f9 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x67a0769e esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x9d804734 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xda04a5c4 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x9893161a gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xbdb6ada0 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x297cd660 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2ecf1f6c inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2f3703c8 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x75e2e45d inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x77383127 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7776f0ca inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa1e6b8a2 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xac2b4455 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xecbff5db inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x61fd9702 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x18982793 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2f7b1a13 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x608c99f8 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6cb8cc33 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7949cc50 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8d47e3a8 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9356e5a0 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9ba73fab ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xaa755756 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xbd603637 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xbea9bb4a ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc9c13a35 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xcb91d2fc ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe064f30f ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe1160e01 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf59e4c83 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf7637ea9 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xd31a7819 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x290e7ea6 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xcc7f0823 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x25e41a8c nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x30e46c26 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5eef0ab7 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x736a0fb9 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7f77aca1 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xed94102d nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x021dff62 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x2a0c8f10 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7701cf51 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xe62bafaf nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x27007ea7 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x32d4e9c2 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0a209da7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x270f033b tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x33c356cd tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x69ccc2c2 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xcdd99225 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x33e1d732 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x58e41552 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x5973bce3 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x80234a3f udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x856b4410 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc2112955 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xdd8d858e udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe20cbae4 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x71e06de8 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x82dfd9e9 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xc223dade esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x71d0933a ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xbce40502 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xc3639eef ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x83daca4a udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xd8be9cff udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x174fd62d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x2f6a9704 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xf4dca2c5 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x75c89589 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x75ab7ed5 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7d77e7f9 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xb03e24ea nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xe42fcfcb nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf6e20e55 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x857a5e0b nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x47fc235a nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x89631099 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xb9c1eb29 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x32fd270b nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x989753fa nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0cfe7bb2 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x12e277f1 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1c2967c0 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x37a55536 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x532e88cf __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6cea0493 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7a72b9cb l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7edfb584 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x85f21285 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x86d2474a l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9b80e7f1 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa778c3dd l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa7f3e624 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xac192891 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc7ac3b8a l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd68f9d19 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfd236368 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xd4bba18b l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x04fa9cd2 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0a98be19 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x132ec523 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x37e8f21d ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x492f4e81 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x67d78d9e ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6949d58a ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6e6f9d7e ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x77c2fde2 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7c43a326 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9e3a2920 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4233fba wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xabde9aa8 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb2243369 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb8dca281 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcadf1ea8 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdaf06fda ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe48b5606 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4843a3e4 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x59261d69 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xbc6748de nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xd7e5af8d mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xde40af47 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1c1524bc ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x211015fc 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 0x2b821b09 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x322aaa4a ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x36e99af8 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4efa918f ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x608f2e47 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x609c6c4a ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6d90be5a ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6fb75bde ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x73fd1c59 ip_set_add +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 0x93e75aba ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x98888db6 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e3cb7a0 ip_set_put_byindex +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 0xc403e4a2 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc68192ee ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xea2316cb ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xeebd8dd0 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf40c5855 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x34dc3b3e register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x4b3ad9bb unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x5988866a ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x67aa071c ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3ff55ad3 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4efac720 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x62f24c04 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8c4cb9c3 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xcad1f65c nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xd5ae1c05 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xff10dfaa nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00ae0508 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00cd3b03 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x056b05c4 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0581cd0c nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06cf64d0 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x09d9a760 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a45c916 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0dae5de8 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e23c0b5 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e9d0931 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0f945232 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11caf3e1 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x146859c1 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a4149ae nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a7a020f nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1aea9308 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1dc87555 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x222ef77c nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22c075d7 nf_ct_expect_related_report +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 0x2c415f5b nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3035a9c2 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31ebb06d nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35de909b __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35e1ec1a nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x363d1d5f nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d3796cb nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43933c42 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4457d181 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x474c52c2 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x479161a4 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48e814bc nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4a75ffbe __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b6724a9 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53982061 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55b36fac __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a645d47 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a861f45 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5cf256b1 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60d06685 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63259f00 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6475bfcd nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x672ba4eb nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7006ec08 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x719d2dd0 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x789d3d9b nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b2f83f5 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fcb8014 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x829a139d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84acd2fc nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a0c8927 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8f8d0ce3 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x901c4da4 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97b183d5 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c0e5ec8 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c1d431d nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c5941b2 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0323b08 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0b1f8a2 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9776ca7 nf_ct_unexpect_related +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 0xb13c334b nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb250b832 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2b8c3af nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2c82cc1 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6070201 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1c8966e nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc729fe1f nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc962f232 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc0875ac nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0eb543d __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd45868f6 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb760c80 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd689131 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xde711c8e nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdfd5f724 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe46a451b nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe78a62d2 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe93ed670 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf058a693 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf49e43b3 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4d4ac04 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf987867b nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x65ffd613 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x4a3cd03b nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xa82f51ee nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x07aee36e set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1e3351fe nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x228105f5 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2520f4cc get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a9d5c5c nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x47f1b9b3 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9c5fc526 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb1081bf3 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbbf466bb set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfc195d15 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x9d4c8589 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x19b62970 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x5b31c62f nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa7528ab8 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xf42ed76a nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x07f6dcc0 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x466bf49a ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7b8b5e0c ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9d30f2b2 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc0c9ffd4 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc72afe0c ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd3940d4a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x4d105e5c nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x5c60ff53 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x5651517a nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x663d9a9a nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xb1f09f63 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x037df6bd flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x13900462 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x196a6250 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2c521f98 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x33b0700f nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x39501fe8 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x5933cdb2 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x59ec7916 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x61f00fd6 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x629b5db9 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7374b689 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9ebe3486 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb48feafb flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcaf22400 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xea558ecf flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xeacb3ca0 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf7d3b276 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x240baeb1 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x27275efb nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x43e9d9e0 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x56effab4 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x9a4a8515 nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xf149d0fa nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x05caa036 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1f34a05f nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x362e7566 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x38cfda37 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 0x470aca31 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5ad3d86e nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x71b2469b nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x74d662bd nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7b798f77 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8fc05a64 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa0d6bef9 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xafd20d8f nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbf744d97 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xcdd0448c nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd92c62a1 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe0e9c2ce nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x006a51f2 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3cb9c3ae synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3d791b0c ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x412c47ed synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x58ed1232 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x727a0c8a synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc6df0997 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xdf89a8ce nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xeb84086d synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xeee04602 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf7b6e75b nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x006b3cec nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x020e3dde nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x021806ae nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0299fd02 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x037d6613 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x04c26b4c nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x051a3785 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1da9e4da nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1edc2f23 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1f8637dc nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x20708774 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x28dd8f87 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 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x504d9044 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x50d76552 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x546fa008 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5a0abb9d nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5a948834 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5aec58df nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6a52672f nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6cde589f nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7156b76a nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x71f097f9 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7692821f nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x78837fc9 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa188d0ca nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb2d41f39 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe811175 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc3d4e0aa nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd2c70f9d nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdbf0bdfe nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdcc82664 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xec369f8e nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf6384bb4 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf93a9467 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfcfe0fdd nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3079e8ce nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7616b5f4 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x95d8f484 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x96f0e619 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x97ca4eee nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfb3a25bc nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x0fc126d3 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x3c9a22c0 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xe98e7983 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x2177c39a nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xc5874305 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x7b36ef0b nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xab8e5fe0 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xb3f4cb9f nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xcb3ca24f nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x82a9be96 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x9ab689d1 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xd2dbae60 nft_reject_init +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 0x04e4a283 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x13b7750e xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2156b1b7 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x236b9dbe xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2e8f2072 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x39bfd143 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3c465077 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x41ca9877 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x426a6dee xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4ff1d5a9 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6dfc9f47 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6e831ece xt_table_unlock +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 0x8b12626a xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8ce00e6e xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa3c04d1c xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xaff085eb xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbdafb391 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbffa08a3 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcbbeb4f0 xt_register_table +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 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddfd5260 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0c393bf xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x186a0db0 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x72f9de69 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x0e0cd467 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x374afa92 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xb1a6458c nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xa46be7e9 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xb81b3489 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xd4e8915c nci_uart_register +EXPORT_SYMBOL_GPL net/nsh/nsh 0x66c11252 nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xbbcb90a8 nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x29cd4d97 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x43bc0446 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x71bca404 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x795168b9 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x796dec8d ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xc3a4b00f ovs_netdev_link +EXPORT_SYMBOL_GPL net/psample/psample 0x0cd482c2 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x142beae6 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x60648aa8 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x67ed5568 psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xabe289d6 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb4b0eeae qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xd69ecb5c qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0d2e5fcf rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x0e01da64 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x19b5b034 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x248a2c4b rds_atomic_send_complete +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 0x402839f9 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x40829094 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x467bd4fa rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x5140d3c4 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 0x5a8dec1b rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x6e73272b rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7ed0f7db rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x80d81b92 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8f109c2b rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x8f182ee2 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x98c331e3 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa5878b2a rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xa842f22c rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xad3f8834 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xce541c26 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xceead8b8 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xd36e213b rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xdc484c03 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xdc809fc3 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xe35f4a3f rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xea714f94 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf2612a58 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xfc47fc65 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xfe0f2cbb rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xae0e5190 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xc2ab9dd3 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 0x5cc8f4c8 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0x8950ddc1 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xbc46bc69 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0xcef30734 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/smc/smc 0x16fd0008 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x3f571031 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x5d2f1424 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x5fd99d05 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x699af4b7 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7ce4f60e smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xacc10855 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xba71be2e smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xd7e411f3 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xfb390fa0 smc_proto6 +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0b3356d0 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1dc2b6f7 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 0x3aa423b0 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x88f55fa2 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01d6e8f7 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02be7b9b svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x030b7f99 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06428a1b rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0747cea9 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07633d5e rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08ef7a0e rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x092f9969 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b142f99 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b18ba9e svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d0178cd cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0dba9d5e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0eb44461 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10d7390b xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1271c141 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12cb3c4a xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x142e4a91 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x144d31f2 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14c77d86 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15dec471 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1675a5dc svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x192b4094 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x195fc4d7 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a5ac628 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dd3cee5 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dfcb007 rpc_switch_client_transport +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 0x20b2614d svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x217c6093 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21e61466 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23f670f4 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25c06e73 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25d0a590 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x260de939 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26d5e5f5 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27cae06f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28792378 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x288dc535 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2aa7ed3f xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2adf3405 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d6f114a sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x308d2df4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32b96ea6 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32bc4486 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x358c93ce rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x360859b6 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36a32dc6 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36e4c2a8 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37095dca xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37e04dca xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x399536fc rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a241c79 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a327faa sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c5f937e rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c85ce9f svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d29f649 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e0179d9 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e3a302a xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4025440e svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x406c2e9c rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x414eb015 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4238dfe8 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4282fe98 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43eff01e svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44412b8d svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4487d520 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44fe8068 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49d14a1e read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a52b5d6 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b42052f svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8ca004 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50c53f3e svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5173db91 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51b6057b xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52b0e408 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x530bf121 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54be7365 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55537d5c xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5637087e cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57593d84 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5aa91f16 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ba2f5c9 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cf71cd5 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d136be6 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5db3d219 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x603ebf05 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6195f9e8 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x635ede5a gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64057578 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x672f2e50 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6766bb37 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69b98e1c xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a24c7f5 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ac69ce7 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ed2e05f xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70043bbf svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x717cf146 rpc_clnt_setup_test_and_add_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 0x72d06b9c svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x736fcd2c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7416dae9 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7448f4cb rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7478b809 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74979707 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75d97bdc svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76217c8d svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7715d78a rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78e08272 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7abe3990 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ad85b55 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cb3be3d rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dea300c xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ee2402f cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82a80e68 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8663d055 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x866f9e86 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89fd4d34 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b765d5d xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d1ffe6d svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e682b6f __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f62c02a xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fe092f6 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x901c19dd rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9348ea45 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x943a7333 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94c3fce9 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x967faf03 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x968fc6ca svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97047ce4 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97bcd56a rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x989a0cd6 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x997033dc sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99799e43 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9aae3938 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9aed8c92 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e21caea svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ea205b4 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ee9d388 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f05abab xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f91f59e cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f94ed56 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa08e4a44 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1b79c2b svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2850749 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4166d81 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4ccd70d _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa515a5a6 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa528d5c3 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5760ba8 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa61d45df xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa794f908 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa888a864 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa10de8b rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac812779 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad11538e cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae5daadb rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf353118 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb12188dd rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1789750 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3bc5d52 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5271664 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5cd564b rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7420cdb svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb79afa61 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb908f1c2 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba4fe338 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcb1844a rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcb46b47 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd94f713 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfdd6776 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc06be7e3 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc38f0c9d xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4b484ac xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4f0bd80 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc609af03 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc73351d8 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7c24eb svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf0eea4a xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfdae3e7 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd15e4c7a rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2bf90a7 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2c48fa2 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2f88628 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd38a2b9e svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd87e9e86 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8b3fd2a xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9afdc95 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda929825 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdab0d331 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbc780f7 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc91aae7 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf1759b2 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf856e66 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0c74b3a rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0efef1d rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1002299 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe22623c9 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe27f3cb8 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe43eec62 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe58cf46f xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6533817 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe694c3f7 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe780c0e1 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7db7e25 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe990a812 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9b3450b svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea36f55b xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec3732ed rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee2ae215 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeb836cc rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef84d85b rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1c362da rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1e91b13 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf25f0e18 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2cd3d95 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3a84673 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4131840 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf54af054 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7f2ccf5 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf85c4b18 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf974916a rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdef998e rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfee49c06 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfefb7034 xprt_free +EXPORT_SYMBOL_GPL net/tls/tls 0x8952b3ad tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xb25d1a02 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xb6b5854d tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xd717a52f 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 0x069ea4c6 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x095a889c virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x11a1d96f virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3daa3a9e virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3edec558 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x414d3fbc virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x474db718 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x496efbb7 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5e7328ff virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6c637768 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6e3d9651 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x707a75ed virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x75783957 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7f6c5c24 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x849cdc3a virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8c108756 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xab70d2b3 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaec7916b virtio_transport_notify_poll_out +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 0xbd9362d9 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc1c22978 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd1f53fdb virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd72e2cd6 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd99465db virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdd274368 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe02e3423 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe1d6014e virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe37bddc5 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe4d41f5c virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe7605dae virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xee9307b6 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf89883ce virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x18c3c5a3 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x209ce215 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x26e752d1 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x45023228 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x473103dc vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x58e27fb0 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7595b9e3 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x82ff85f6 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x909c39a3 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x967be259 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa3d70fc4 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa4db4b37 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xcdbff45a vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd674fb3f vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd8f67622 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe2177677 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe558a0ed vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe79dff83 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe9c0c6b5 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xecc817f7 vsock_remove_connected +EXPORT_SYMBOL_GPL net/wimax/wimax 0x12d0ee77 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x238fd9af wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2d63588d wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x36f73b12 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x455d3b71 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5c24ece8 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7d6c1476 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8c5bf034 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x94b51ca9 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xad203c22 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd1d80239 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xee4bb32b wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf141ac41 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x072fa0cb cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3b9ea1f6 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e21b0a8 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x418d8c9d cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x57cbee97 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e9fd602 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8f822f6b cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x97aa318f cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbabebfb0 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbeeefc33 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc02db6cf cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc5f45675 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xea19d907 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf4987163 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf61e0c10 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf773cd7d 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 0x1e67eb29 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x2a46cee9 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x30bb87d8 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x857875d8 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/ac97_bus 0xafed0b2d 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 0x016a4b93 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x0d01b598 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x0e73ef08 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x21a41ba4 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd 0x247fea91 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x2e78e596 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x36b956e1 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x5e4a5d9a snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x7d49ccf7 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0xace6e3af snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xb8983ff0 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0xf336a7e9 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x36e52b92 snd_compress_deregister +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x47ad72a4 snd_compress_register +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x5e3e4867 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xa6116a07 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 0x0d6ea33c _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x16064093 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x35b45759 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5665b88d snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x6ae7d113 snd_pcm_add_chmap_ctls +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 0xa58321e1 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa90b1061 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xaf871fe6 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xcda6bb22 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf42865cd snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x06297396 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x18f820a6 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x3f35802f snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x4329ce5d snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x50efa205 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x8cf32700 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x91c438a5 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb3282f47 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb9d4b4ad snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc2110647 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf16a5ff1 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf5a1782e snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x0ed2e9a9 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x4a36e1f6 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x04a2572c amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0deef5e0 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x11e1e8f4 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x13858fce amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x1e98d43e amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x34db8093 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7e02a17c amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8288939a amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8b719697 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8f4aacc9 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd3af533d amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe89a282a amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xfb839386 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x03737015 snd_hdac_ext_bus_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x0a9db2d6 snd_hdac_ext_stream_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x12e10a67 snd_hda_ext_driver_unregister +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1d6d72b1 snd_hdac_ext_stream_set_spib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1dcf750b snd_hdac_ext_link_stream_setup +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x232fd5fb snd_hdac_link_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3cfc15cd snd_hdac_ext_stop_streams +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x44215b21 snd_hdac_ext_stream_get_spbmaxfifo +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x4bb41963 snd_hdac_ext_bus_device_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x5e30fc77 snd_hdac_ext_bus_link_power_up +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6ed15c30 snd_hdac_ext_bus_ppcap_int_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x74754bbd snd_hdac_ext_bus_link_get +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x74a3044b snd_hdac_stream_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x792e740e snd_hdac_ext_stream_set_lpib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7f512d25 snd_hdac_ext_stream_release +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x83c1fa62 snd_hdac_ext_bus_device_remove +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8563c0a7 snd_hdac_ext_stream_set_dpibr +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x85e0692b snd_hdac_ext_link_set_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8ba671b3 snd_hdac_ext_bus_ppcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x94d89808 snd_hdac_ext_bus_link_power_down +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x9c9043eb snd_hdac_ext_link_stream_clear +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x9f709684 snd_hdac_ext_stream_init_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa5467dea snd_hdac_ext_bus_get_ml_capabilities +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xaa7defe8 snd_hdac_ext_link_clear_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xaae9a554 snd_hdac_ext_link_stream_reset +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xaf79305e snd_hdac_ext_bus_device_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xb17acd93 snd_hdac_ext_stream_spbcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xb474731d snd_hdac_ext_bus_link_power_down_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xbbd102b6 snd_hdac_ext_bus_get_link +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xbbe8f3e6 snd_hda_ext_driver_register +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc3511c4e snd_hdac_ext_stream_decouple +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc5e1a96e snd_hdac_ext_bus_link_power_up_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xd3db204f snd_hdac_ext_stream_assign +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf4c8628f snd_hdac_ext_bus_link_put +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf69d285f snd_hdac_ext_stream_drsm_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf77294c5 snd_hdac_ext_bus_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xfa65c3ba snd_hdac_ext_link_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x01473069 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x026acd46 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x06857250 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0aea1505 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0dd59d00 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0ecd03f1 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x140e4137 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x154bab22 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x16b61926 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1c34aaf3 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1f0fcb45 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x25bd2465 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x28b84cb5 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x292a3cf1 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2bb7b02d snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ca26134 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x382d7234 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3835767c snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x393b8b90 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3d45fcc8 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40252a70 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x41e3d5ff snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x44193f25 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x45136223 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x460842cc snd_hdac_i915_set_bclk +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x48872a81 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4b759a49 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4bc39b04 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x50a73829 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x552d902a snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x578bfb7f snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x581a68de snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x623bfff6 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x62843da1 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x643616b8 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6678096b snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bad422 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6ceeda06 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6febf1fe snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7172509a hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7446d8b2 snd_hdac_i915_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x768669b4 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7764c504 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7929b88f snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7d1a0de3 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x84e8f175 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8aeb46fa snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8bd5b62d snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8ef1f23b snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8f87df27 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x92b7086e snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x93133248 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x95414608 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x961b1086 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x98462534 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9932dc4d snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9c0d808e snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa0dda4c3 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa35d815d snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa4351c2f snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb187e9f7 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb3fccb24 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb5881405 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb5dfda5c snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc6b853db snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc6d355c5 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xccc59389 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcd9738e9 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcdf83012 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcf3054bd snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdb337eea snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe19c1131 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe68c3ed8 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeaeca127 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xee2b4406 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xee405668 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeec9e775 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf2defe68 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf632376f snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf6c200d6 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf8a02e91 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfb4a1433 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x96eb43d9 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xc0124bac intel_nhlt_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xd44ce247 intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0a299887 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1b40d229 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x6d9ff498 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x6e0617f7 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xcaefb5fc snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xff30c187 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0385fae6 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x052e5589 snd_hda_codec_parse_pcms +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 0x0701aa09 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07d496e7 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x087f968d snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c1218c4 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d008261 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e3df085 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1099d136 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16c2f404 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19b10622 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b871775 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d055ed9 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e134f58 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x210e5498 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2318e91a snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25295e84 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27256bc2 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28504ad6 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3051e300 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32124b42 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x332a4c59 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34ca4bd4 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x372d44a4 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b08d6c2 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b7d7d3e snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bf9098c snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3e505a87 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x424c1679 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x431c33ea snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x455f4fe4 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x475cfcc2 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c00f395 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5105b3e6 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52df2971 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x530af9bb snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x537634d3 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55454e8c azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x571d1e5f snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5774a89c snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57f2cddf snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58100b25 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c1954ef __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d50d109 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e82a137 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60b4b96a snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61b0a3f7 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61eaa577 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62260fb0 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62970bb3 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66529152 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66765804 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66fe1bc4 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69627ac9 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6996c2d2 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d23901f snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71733188 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x720c11a7 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x747b4715 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x770f9f66 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79b1c4c1 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7db01885 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x84f4f463 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x857a3a28 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8893c6ad snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x896897ea hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a2511db snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d6cb3b6 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f258a0d snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9201a887 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x925294a1 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x96ab1140 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x996fa24d snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b04ad51 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b3ca4d3 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e65fc31 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0df97b9 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa1be74c7 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2b2ad41 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2d55f24 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2f88e46 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4fe5d05 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaaaca091 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae0be6b9 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaeb70a67 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb17edc5f azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1971f87 azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1b9fe12 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb432f199 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4f3fc72 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7e72fd2 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8ab0622 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb16cb82 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc50c0ed4 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9762c34 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca1c44a7 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd2570531 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd530b216 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd78f6d67 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd92261f1 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9b9191a snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd3f7eff snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd581885 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xddc7eb74 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdeaeb901 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdeb2a578 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe08973d0 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1c3c558 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe498a8ad snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5a8319c snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5d9f7c0 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5fb9588 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe94c50e4 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xedc6583e snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef0752f1 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2ad3a0d _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9a7bcb8 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa8694b6 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc3bbb65 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdfb2cfb snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff70e782 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x28862efe snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x357ddbec snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x49d79dc6 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x54d7ad58 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x54feaa0f snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5c9928bf snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x73cb06f9 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 0x83f047dc snd_hda_gen_free +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 0x8a9b5d61 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x8e7feaf5 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9c5ed250 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9febf20e snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa3a94ed8 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa5b1f843 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xab67a4d8 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xae1d7d88 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb9db2396 snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcbd84888 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcc50058f snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcff7c325 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdb15078e snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf297c6b4 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-adau1761 0x00613971 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x579735b6 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x240d265b adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x322db3b2 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x391b6561 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x58f0a3a6 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x66a06a5a adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x702c0941 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x781a23d3 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x95002d76 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xdabc8652 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xf7747e4f adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x3a4006bd adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x54ecd10f cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xe97af17e cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x36913d36 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3ec33ab0 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x50dc6fe2 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xcb4b58ee cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xda5817fc cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x6694e6aa cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x98662f2c cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xfe6df6ea cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x19ff7fa3 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x234e8464 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x9428357c da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x7bf55d74 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xb0c2f90e es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hda 0xc963ae9f snd_soc_hdac_hda_get_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x793c8e21 hdac_hdmi_jack_port_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x9f371c71 hdac_hdmi_jack_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0xb35a92b5 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0xd109d508 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xe75729f5 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0xdbb94008 nau8825_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x1189999d pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x66cbd54b pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x72059ac2 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x75b536ea pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x87b93159 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xcb91e928 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xd99c51c1 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x0c42b426 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xa2dc9d03 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xe40a440f pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xfccb3e48 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x57c8560a pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xa3f521d2 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xba314ca8 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xe3f6e77d 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-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 0xea9c9a45 rt286_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0x5ad12c9a 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 0xae256061 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xe4e7c39f rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x71e78da8 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xaf093a6f rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0xa6c2df4a rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x24529552 rt5670_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2b4af948 rt5670_jack_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xdc17477f rt5670_jack_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xdf3937f8 rt5670_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0xeb18d467 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 0x069e469a rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0a62730d rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x118eea29 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x3f92f0f7 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 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc16543d1 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc26860f2 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xd4a54bf4 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xda442bb8 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xdf8ff3d9 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe62e2f69 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xee03da00 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x14506129 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa7da2efe sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa860dc39 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xb3a5e255 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xf197b947 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xd38a0537 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x6b51ca17 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x10998b9d ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xf0567105 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa11163c1 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x9b668eeb ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x13f6bcf1 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x30c5c498 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xa3229ec6 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xacaedea7 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4fbede35 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x496607c3 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x69fee96e fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0xa3dd0984 fsl_easrc_get_dma_channel +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 0x0d59812e asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x218bbb1c asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x34a164ef asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3991ad6d asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x42cc3272 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5e949fc4 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6a2de9b1 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x74040d7f asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x82c6c607 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb1766120 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc168a6f5 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc1bc47a7 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc52693d5 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc780db11 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xda065d91 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xda3748cb asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xed0c6a32 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf290090f asoc_simple_init_jack +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 0x4c702b74 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0xc8dc2527 sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x04a166a8 intel_sst_pm +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x0ca227ad sst_alloc_drv_context +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x353e98c4 sst_context_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x4413fe43 sst_configure_runtime_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 0x8760bc81 sst_context_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x019b3122 snd_soc_acpi_intel_cfl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1d21a3db snd_soc_acpi_intel_glk_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1f80ea06 snd_soc_acpi_intel_skl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2b5d28ad snd_soc_acpi_intel_baytrail_legacy_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2c947a0c snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x33ba323b snd_soc_acpi_intel_kbl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3719c4bd snd_soc_acpi_intel_broadwell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3aaabc6d snd_soc_acpi_intel_haswell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x49ee336d snd_soc_acpi_intel_icl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5b401a9f snd_soc_acpi_intel_cml_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5bf374aa snd_soc_acpi_intel_cnl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x70f4b115 snd_soc_acpi_intel_baytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7288ae6d snd_soc_acpi_intel_cnl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7beb3f35 snd_soc_acpi_intel_cherrytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x814c0dea snd_soc_acpi_intel_tgl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x862d7081 snd_soc_acpi_intel_ehl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x98304585 snd_soc_acpi_intel_tgl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xc628a218 snd_soc_acpi_intel_cfl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xcb73619c snd_soc_acpi_intel_bxt_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xcfbf7257 snd_soc_acpi_intel_hda_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xf45a3960 snd_soc_acpi_intel_cml_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xfc535677 snd_soc_acpi_intel_jsl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x0993db2d sst_dsp_shim_update_bits64_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x14046e84 sst_memcpy_fromio_32 +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 0x1df9b528 sst_dsp_shim_update_bits_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x31d5c048 sst_dsp_ipc_msg_rx +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x35ca0e3d sst_dsp_shim_update_bits_forced +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x3cf15acd sst_dsp_shim_write_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x3eaaf397 sst_dsp_outbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x4007e820 sst_dsp_sleep +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x43338093 sst_dsp_shim_read64_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x499e3f05 sst_dsp_mailbox_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x4c2d9f4d sst_dsp_shim_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x4ff196b9 sst_dsp_shim_update_bits64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x5b2fa920 sst_dsp_reset +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x61e1d601 sst_dsp_inbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x6c802c1b sst_dsp_outbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x76180070 sst_dsp_stall +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 0x87e2380c sst_dsp_ipc_msg_tx +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x8e9edabe sst_dsp_shim_write64_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x970bd5aa sst_dsp_boot +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x9c73cbb9 sst_dsp_shim_write64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xa4b87539 sst_dsp_register_poll +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xaaa72bf2 sst_dsp_shim_update_bits +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xb245ad3f sst_dsp_shim_read_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xb6d995d2 sst_dsp_dump +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc3c56b17 sst_dsp_inbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc4f326db sst_dsp_shim_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xcd409c30 sst_dsp_shim_update_bits_forced_unlocked +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 0xe587f7b4 sst_memcpy_toio_32 +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 0xf256c4ae sst_dsp_shim_read64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xf871363b sst_dsp_wake +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x0c638464 sst_mem_block_register +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x10056ba0 sst_block_free_scratch +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x154e2e93 sst_module_runtime_save +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x232e17b4 sst_dsp_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x34de087f sst_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x38427bdf sst_fw_reload +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x4e757501 sst_module_runtime_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x5ea215b9 sst_dsp_dma_copyto +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x6e56d595 sst_fw_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x780f94a1 sst_module_runtime_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x784262e2 sst_dsp_dma_copyfrom +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x78bb0dcc sst_fw_free_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x7afba52a sst_dsp_dma_put_channel +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x8b1e9a18 sst_module_runtime_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x8c5076d3 sst_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xa511e111 sst_dsp_get_offset +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xa98ce59e sst_module_runtime_get_from_id +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xac51d710 sst_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xc176e493 sst_module_get_from_id +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xd4591c86 sst_fw_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xd5d57de6 sst_mem_block_unregister_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xdfcbc42b sst_module_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xe25a4e87 sst_dsp_dma_get_channel +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xe984faf9 sst_module_runtime_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xebafde56 sst_block_alloc_scratch +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xf4a054e6 sst_module_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xf614795a sst_module_runtime_restore +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xfac1b02a sst_module_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xfcb64e26 sst_module_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xfcdcb08d sst_fw_unload +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x0050fa36 sst_ipc_tx_message_nowait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x01736478 sst_ipc_tx_msg_reply_complete +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x61b19797 sst_ipc_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x645be6cc sst_ipc_tx_message_nopm +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x718e03fd sst_ipc_drop_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x795f4854 sst_ipc_tx_message_wait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x9ee1fb56 sst_ipc_fini +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xaa3480f9 sst_ipc_reply_find_msg +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0x43750ab6 sst_hsw_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0xb40ff91f sst_hsw_device_set_config +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0xc12f8ee3 sst_hsw_dsp_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x6c5d2bcd snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x8795d901 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0xa2585abc snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0181378c snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x020a61ba snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x033ae954 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03f1b8d0 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04b76e54 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x061aaaa2 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0622f566 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c3e64c0 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d4f58d1 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f965cb0 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0faf3939 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10b735a0 snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10ec0b7d snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1157cf0a snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11d99465 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1278a8f6 snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13b92a2c snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14c85f19 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1647cb8e snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x191b6405 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a202cbb snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bb249b0 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bde366a snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1cc777a9 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1e837928 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ff64b12 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x204b6288 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20d51a32 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25ba16cc snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25f43226 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x283c984a snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28dd2268 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2937c80a snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b12fad6 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c6ada1c dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d87798e snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2dc6d381 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ef8edde snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f7188f0 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3081e351 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30e85ad2 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32c8ac75 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x360ac885 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36eebbf3 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x37d38e8a snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b1b92c1 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b1ec9e0 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3cdfb017 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3dab2267 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4003316d snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40876f6f snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40daba0e snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4376591f snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44861972 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44f29519 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4515ac60 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4517a712 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47cae43d snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f8a198f snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51d37e75 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53f8bc9e snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56015bb7 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x565293c2 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5693b426 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57d39d3f snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57e199b6 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b330751 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e1612e0 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5fe9a47a snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x601f2477 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x615d5217 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x616b45ee snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61e1dd69 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61f345a6 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62abe2e3 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x636b77bb snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63b6168d snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66717771 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68d7b32a snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b4007ad snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c7dea23 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71a58565 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7233245e snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74afebec snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x756aed40 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x758709b4 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79260924 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79ae8f45 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a7bda42 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b130087 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bc599ea snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cfbb384 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d1bd771 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d22bef3 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e99d88b snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f985bc2 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80ff4d73 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83e67c84 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86be4bc8 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x879a5c0e snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x889cc2ea snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a5d32f7 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a828003 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ae166a5 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f7374d2 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9032c30d snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9199f9d8 snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93347bac snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9395ea45 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9496f715 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94ea4f65 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95c9f7ce snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96760965 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9721e442 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9751a03e snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98ef2757 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x993b3d88 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b7e026b snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d50e3b2 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9df66c19 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9dfb2dc6 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e4976fe snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0cbe8b3 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1a1cc46 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2e338c8 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa96c36d2 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab075273 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf47afaa snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb08293f6 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb44d38a0 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8e28433 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb916f9a4 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba1a66e0 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba2fab19 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba7488ab snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb11d7e9 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbba33f3c snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcae34a9 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbde490be snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe792e69 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbeb6e1c3 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0796354 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc143d41d snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6007189 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc93256fb snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9baf720 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb26c93a snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc378027 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd7a8cd5 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce725541 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf0459b9 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd069c992 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2e38b21 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3f95764 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5b812d6 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd664af22 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6911b84 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7791f43 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb3dc94b snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbedb001 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc7ee02e dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd4e7729 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe020928d snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe03e6ad3 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe185ef16 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1d21ba6 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4e2d895 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe62dee22 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7787a7c devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe852a532 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9047b58 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea51238c snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb28314b snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb39a341 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xebd8f43f snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf00d837d devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf036b407 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf058eab3 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0ac35ed snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0d386fa snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6b065ce snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf89507a4 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8990065 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf92baac7 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9664249 snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbbcaa27 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd195889 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd660404 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfffc7a49 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x2bcd0f2b snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x5320319d snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x6de58ecb snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xbabd9919 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x05773d13 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1945b572 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 0x2ae77a71 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x2db07310 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x2de828b9 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3055940b line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x36eb1294 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x510cd44a line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7c5f84b5 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x83fd5de2 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa8a1d4ec line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc0b205fb line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd09e8a93 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe32736eb line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xfb4429b8 line6_send_sysex_message +EXPORT_SYMBOL_GPL vmlinux 0x000f65c5 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x0010309b __class_register +EXPORT_SYMBOL_GPL vmlinux 0x001b074f mce_is_correctable +EXPORT_SYMBOL_GPL vmlinux 0x00210f8b tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x0034f3b6 xen_has_pv_nic_devices +EXPORT_SYMBOL_GPL vmlinux 0x0037e579 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x003d5df5 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x003f51b0 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00531a17 xen_xlate_map_ballooned_pages +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x006221bf dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x0068a796 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x0072005a fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x007b15e7 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00b1673f dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x00be083a devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e9b479 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00f972ad irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x00f98264 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x010a9f7e led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x01177eca regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x011e4be9 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x012d968c gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x014e26be cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x01568f5a ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x015fd5f0 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x01609b7f driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018b3d1e intel_pt_validate_cap +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01b10fca ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x01c12c32 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x01c3c660 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x01c77781 acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x01cd64da wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x01daaa9d addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x01e0fa84 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x01e15e24 devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01ee5532 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x02015fdd unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x0233aedf crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x024c87a0 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x02532d5b devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x02690e34 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0x02722c29 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x0285d81e iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x02a77da0 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x02b508a1 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x02bfe176 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x02bfea9c regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x02e0fb84 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x02ec420f kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x02ff5690 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x033acbce to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x033f699e platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036013a9 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0368200f bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x037300e2 dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x0386424b iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x038c6a0b fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x038f1272 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03b65797 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d02a15 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x03f9f63b da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x04002ae2 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x04278126 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x043bb2cb tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x04420eaf srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x044c7176 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x04568852 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x045fdb3f gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0487a2b9 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x049929c0 hv_stimer_free +EXPORT_SYMBOL_GPL vmlinux 0x04a78183 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c0619f da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c5fa7d dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x04ce3682 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x04d5c5ea xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x04dc4b4a iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x04dcd275 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04e8e70d tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x04eca455 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x04f2b749 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x050886b7 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x052ce3d5 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x05340be3 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x05437718 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x054c43cc percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05664ebb evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x0579a11c tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x0589faa1 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x05961ee1 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x05988693 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x059abccc extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x059b1fbe fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x05a5856b __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x05b7ae73 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x05c36f80 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x05df8f1e regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x05e00583 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x05e2c6b7 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x05e7a926 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0614f8d5 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x061d5a66 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06212ea2 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x06357e1f thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x064caa68 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0657d8ee cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x06642a2d phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x067171b2 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x067a5693 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x068c49e9 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x06908512 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x06933ba4 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x069d88df xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x06a2bf29 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x06a8c3c7 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x06ae0592 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x06cbc7a3 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06db49f9 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x070e7ecf acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07644cb2 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x0781b437 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x079227f3 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x07aa557f mnt_want_write +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 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07bfeb72 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x07c23703 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x07e5a3a4 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x07ed2022 security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x07ed4702 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x07edeba7 hv_free_hyperv_page +EXPORT_SYMBOL_GPL vmlinux 0x07f5318e pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x080c6644 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x08148083 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x0828d609 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x083cf4ba acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x084cd9d8 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x0853b3cb sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x085d7547 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x086038ea led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x0865348d crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x086a6cde platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x08706805 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08855318 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x088db56b debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x08a83b7c handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x08ab6264 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x08b08275 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x08b38384 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x08bc0e16 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08d67008 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x08efc708 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x08fe4290 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x090b867a ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x09180cec led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x091ea6df rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0924426d ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x0925493f clear_page_orig +EXPORT_SYMBOL_GPL vmlinux 0x0932758f devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x093da1e3 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x094edc3d led_put +EXPORT_SYMBOL_GPL vmlinux 0x09553dfd uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x0962fbfd perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x096701ea tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x096a7e6f x86_spec_ctrl_base +EXPORT_SYMBOL_GPL vmlinux 0x096b2418 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x0983a4c6 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x098d8038 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0993c859 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x099912a5 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x09a5b7f0 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x09aabb05 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x09b3f590 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09c07c2c spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x09c09a1e pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x09c9ec9b device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x09d63265 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x09d7c870 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x09dba424 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x09df04d0 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x0a0c9d45 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x0a3a2383 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x0a4bb4e8 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x0a502c98 dmar_platform_optin +EXPORT_SYMBOL_GPL vmlinux 0x0a5bd94c devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x0a5d4696 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0aa06176 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x0aacacbd max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x0ab064b4 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0abdfbc1 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x0ac4f1c0 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x0ad137d3 lpit_read_residency_count_address +EXPORT_SYMBOL_GPL vmlinux 0x0ad5097e skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x0af313a6 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0aff5154 generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0x0b033ef2 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x0b05525a __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0aa798 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x0b10ed88 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x0b1b82d1 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b3369dc bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x0b39d029 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x0b3d2383 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x0b496090 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x0b4a6766 unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0x0b522805 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x0b52a577 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b6d2af1 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x0b76f3a5 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0b966c8a sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0b9dc6b0 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x0ba0d829 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x0bb43668 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x0bd1b3b7 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x0bdec799 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0be7c26a inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x0be822b3 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x0c17f0b0 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c326c89 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3f7dc3 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x0c50478c crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x0c751583 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x0c775f3a find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x0c7cb7d5 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c984237 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0c9bce45 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0cb579c0 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc16389 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x0cc3b29e acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x0cf599e8 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x0d116ad0 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x0d19991e crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x0d24c6fc kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x0d3527e5 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d49aca4 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x0d4f9a22 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x0d54bf84 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x0d6970e3 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x0d762c17 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x0da037a3 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x0db09125 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x0db98a89 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x0dc2d060 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dd12cbc wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0de28021 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x0df60f17 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x0df67031 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e04605e sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x0e06997e irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e1c46cb fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x0e477a1e blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x0e4d7171 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0e571c2d wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0e5d7078 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x0e5d9576 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x0e61770b scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e805e83 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ee27f35 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x0f0b21fe pm_trace_rtc_abused +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f29986f regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0f2abba0 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x0f2d7d87 mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x0f35bf51 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x0f5596bf nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x0f65611f bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f8ae46b bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x0fa4e4b3 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x0fa9c72d skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x0fb6fd7a sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fc37562 amd_smn_read +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fccce2c platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0fdc6e3b usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x0fe47c43 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x0fe7617c __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x0fea19bc dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x0ff33fde unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x102334c9 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x103026f0 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x10351a50 i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x1038b96f adxl_get_component_names +EXPORT_SYMBOL_GPL vmlinux 0x103a42a0 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x1053217d platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x105e53d6 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x107bfcd3 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x108113c3 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x1098dd1f serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x10a92a79 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x10aa4a1c sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x10b7bc60 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x10bcdaf4 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10d93a33 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x10e96294 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x111bd0bd class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x111bef39 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x111d1bb0 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x115641bb i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x1172d487 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x1185c249 arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x118970d9 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11ca25fd usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x11d4f354 scsi_autopm_put_device +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 0x11eab0b6 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x11eb2ed7 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x12273317 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x122cad03 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x1255e3ec tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x12586f63 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x12609b37 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x127d67ab xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x127de4eb pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x128a4fe0 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12950a59 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x12ab31f1 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x12ad50d8 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12d39624 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12e285ec is_uv_system +EXPORT_SYMBOL_GPL vmlinux 0x12e6abfb vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x12f1b814 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13086346 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x13092441 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x131ed40b serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x132168bb rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x1336ea9e sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x13397380 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x13549607 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x1360138b __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13803105 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139137db extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x13b17710 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x13b626b4 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x13c19ee7 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x13c51571 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x13c6cf88 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13e07f36 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x13e3aa9a smca_banks +EXPORT_SYMBOL_GPL vmlinux 0x13e45f31 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f1b5f0 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x1409d1a8 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1410d6b7 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x1418238a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x141f8448 vfio_external_group_match_file +EXPORT_SYMBOL_GPL vmlinux 0x143c9525 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x145bec4a blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x148d9666 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x14939839 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x14972713 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x14ab3747 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14ef03f6 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x150c2e5a devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x15172c83 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x152df030 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x1530914c regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x153fb481 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x1540aad9 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x154560ec __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x15504dc0 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15645ae9 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x156aa1a4 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x156c62c6 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x156cdac8 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x156ebe0e acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0x15701838 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x157d03cb sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x15890c62 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1590728e splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x1590c4fc rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x15a506a6 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x15acd98e __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x15b16439 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x15b8dc01 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x15bfcb7e rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x15c93119 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x15d72522 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x15db0aaa efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x15ea1f1b sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15fd08ad serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x16038ae8 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x1604cbbf thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x16092942 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x161befdd sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x162d3b81 md_start +EXPORT_SYMBOL_GPL vmlinux 0x16447a8f devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x1657d9cf rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x16693e50 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x166d6443 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x166db1b5 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x1692b053 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x169a0d43 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x16ad573d inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x16b6cc17 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16def2d6 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x16df6096 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16e3ede8 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x16ef8b21 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x16fd756f pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x170d46a0 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x1730c7b0 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x173109fc blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x173f7941 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x175ada38 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1765faed da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x176adf76 xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x177a949d i2c_acpi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x178b4765 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x17959eea of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x17a3993f __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x17add64b gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x17bb9100 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x17d09d70 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17e71272 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x17eb09af __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x17ee8bdc dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x17f3455e usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18269f5f clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x182791c5 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x183cee64 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x18447115 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x18548ca7 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x185c69cf dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x18a22404 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x18b1c16d power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x18bb3caf pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x18c32f3c skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x18c8199f gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x18d1b09d devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x18dbec95 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18effd39 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1904c99b dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x1938599e pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x1940108f ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x19404227 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x1949e18d ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x19539d10 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0x1959d9b2 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x196068df bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1965e11d nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x196cda4a root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x196fd2df ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x19970dc8 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x199e6640 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19cb4a7a sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19eece79 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x19f24413 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a25775e perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x1a280c7a acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0x1a2eb89b user_update +EXPORT_SYMBOL_GPL vmlinux 0x1a31c966 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x1a3f5568 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x1a45ca9e switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x1a45f30e regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x1a49d064 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x1a5f98f5 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x1a60d694 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a71659e ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x1a76a327 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x1a78d9ca crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1a992e7f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x1aabaea0 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x1ab15802 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x1ac2c86a blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1acc04f0 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ae2a221 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1aff3d55 mce_register_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b0ac74a pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x1b0c78d8 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1b1471f3 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x1b14e47a lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1b2612b9 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x1b265477 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x1b3fef8f usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b567d14 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b6131b9 alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x1b757913 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x1b7fd053 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x1b81aeb2 account_locked_vm +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 0x1bc3945c file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bcf5b07 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf30cbe device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x1c12d583 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x1c241db6 security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x1c28c532 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x1c2ab194 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x1c3a7345 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x1c44b902 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1c4b1963 __percpu_init_rwsem +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 0x1c6585b0 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x1c770b6e crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c810a29 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8fc7cc rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x1c92d9f7 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x1c944bbd gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x1c96ba8c find_get_pid +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 0x1ce2a9e9 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1cf7932b __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d3a506e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x1d4c3284 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x1d53d646 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x1d58d333 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1dab51a7 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x1dc38b0f crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x1dccb5a7 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x1dd2a7e1 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x1ddf766f gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x1df96120 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e069206 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x1e08a38e acpi_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x1e095b3a regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1e0a115b phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x1e0ea6ef fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x1e0f402f extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x1e44d75d usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x1e457c6c dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x1e51dabb __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1e5a5f22 sn_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x1e648fc0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1eaec09e sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x1eb6008e ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x1eb74d6e ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebe41f8 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec84f0a usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x1ee723d9 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x1ee7d3cd hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1ef8c208 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1f06d9ed rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f131366 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1f1ddd8d copy_mc_fragile +EXPORT_SYMBOL_GPL vmlinux 0x1f226334 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x1f242018 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x1f3849d0 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x1f4247f1 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f47b321 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x1f4b9b88 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x1f4cc67e arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5b753d init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x1f5ece97 cond_wakeup_cpu0 +EXPORT_SYMBOL_GPL vmlinux 0x1f641fca tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x1f6e352f platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x1f79e786 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8c8184 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x1f8e18e7 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x1f8e5f83 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x1f9f66f4 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb6bf2e wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x1fb70eb9 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x1fc9e53c shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1fcbbcea devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x1fe29d96 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe8f296 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x1ff3760d __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x200df0fa ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x20109d8d rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x2029d979 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2035195d serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x2037095d dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x203a5369 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x203ba08f set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x20447b31 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x205fd66a md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x2060cd3a vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20899467 hv_stimer0_isr +EXPORT_SYMBOL_GPL vmlinux 0x208bbc1d sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x2093f4dd clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x2094f6b9 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x20a028d5 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x20c696e5 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x20d70f09 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x20fa2a4d spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x2104d6e2 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x210a33fe fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x211507e3 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x212c2881 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x21385955 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x213cdc17 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x213ef32e device_create +EXPORT_SYMBOL_GPL vmlinux 0x2160fdb1 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x21799aae powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x219cb1ce pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21be0451 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x21c34c8f gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x21cacaf3 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21f4a00d nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x21fa0a0d device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x21fb1ef5 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x22073870 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x220d2389 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x22177895 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x2217bf0b __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x221a744d napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22256487 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x2226ead3 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x222c1818 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x22301441 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x223ec264 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x2246b4dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x2271d7b4 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x2281a0e7 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x22a7b259 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x22aab10c devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x22ac31f5 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x22bbb643 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x22ccf30d task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ea4c86 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x23192487 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x23448ac6 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x239d83ad pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x23afad43 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x23b4e0d7 clear_page_rep +EXPORT_SYMBOL_GPL vmlinux 0x23c4e50d __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x23e1ba1d platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x23ea0eb8 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x23f5f406 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x23fe59fd fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x2410c338 x86_virt_spec_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x2432e8b9 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x243c6168 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x243e2945 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x244d4413 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x246bb8ec dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x246df185 hyperv_fill_flush_guest_mapping_list +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x24744a0f pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x247ad0d6 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x249747e2 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24ce4c99 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ec6665 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x25202266 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x252c433e i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x253c10a9 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x2548f671 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x2554edd5 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x256fdd74 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x2576a84d device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x258e0038 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25a30a6d dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x25aafb2f sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x25f02c87 xen_p2m_addr +EXPORT_SYMBOL_GPL vmlinux 0x25f2ea03 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x25f6cf7f debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x26090910 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2628a274 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x262a7063 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x26370eab klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0x263f039e xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x2642163b tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x26481f29 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2661fdc7 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x2677d551 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2683c0d2 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x268de333 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x26986367 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x269cf64f noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b7ad20 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cda94f e820__mapped_raw_any +EXPORT_SYMBOL_GPL vmlinux 0x26dac565 rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2700411f gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x27634a92 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x276408be phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x2767d0e1 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x27763580 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x27811796 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x2782497c ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x278433a2 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x27913389 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2799e2f1 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x27a89ee8 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x27abea2b ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x27c06cd2 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x27d3ea9d usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x27df3105 hv_alloc_hyperv_zeroed_page +EXPORT_SYMBOL_GPL vmlinux 0x27e35aa3 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x280bd8b5 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x28190fb4 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x28284a92 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282e5940 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2833887f synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x283bf034 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x283cd2d1 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x284a9b87 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x2851277f usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2882419f serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x288f03fe attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x289f926d skb_send_sock_locked +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 0x28b31b80 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x28c6484f acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x28cec288 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x28debe49 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x28e64c64 xen_has_pv_and_legacy_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0x28f5286f md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x28f77571 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x29252e74 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x2949a136 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x294aa551 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x2951a872 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x29649545 xen_pcpu_id +EXPORT_SYMBOL_GPL vmlinux 0x2988174c dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x29888586 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x29889bac edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x298b00e9 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x29b7752c devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x29bcbca7 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x29d434f9 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x29d63612 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x29d8010f inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x29d8312e tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f58668 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x29f5c1d0 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x29f8a03a klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0x2a1573ac iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x2a228c48 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a324a9b ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x2a3ac9d9 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x2a43566a rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x2a5425f0 __intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x2a545964 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2a58ae55 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2a593552 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x2a5e6589 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a678372 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a7419c4 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x2a8164c8 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x2a874124 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x2a88a689 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a954902 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2a96cd04 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x2aa7654c dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ac0c16c kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x2ad51275 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x2ae05382 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x2ae42b04 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x2af9cf3c dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x2aff68f9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x2b0765ca xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b260a74 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x2b434d6e skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b67b6b7 mds_idle_clear +EXPORT_SYMBOL_GPL vmlinux 0x2b6d7946 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b747789 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x2b7ac82e serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2b7fc385 hv_init_clocksource +EXPORT_SYMBOL_GPL vmlinux 0x2b897da1 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2b8db62a devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2b9bd072 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x2bac54d3 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x2bf698af kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x2c0eb485 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0x2c11da39 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2c16ef13 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x2c1d54d2 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c23f187 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x2c2f5a09 x86_family +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c3a14f4 dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x2c5d0e9c usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c642fa2 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c753821 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x2c7ba956 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c86f6da component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x2c8d6186 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x2c8d9483 device_move +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c911647 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x2c9d34c7 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2ca16566 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x2cbb88b0 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x2cbcb497 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x2cc7a04a spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x2ccb6e21 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x2ccd27bf blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x2cd0eba0 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x2ce31719 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x2ce37c8f gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d297142 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d2fe28f iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x2d313698 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x2d3857f2 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x2d393f48 intel_soc_pmic_exec_mipi_pmic_seq_element +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d4edd3e led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d74018a netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2dbba397 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x2dbf0b1d ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2dc21312 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x2dd1d13e tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x2de40715 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x2de5fdfc crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2dec9cd1 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x2e01dbb8 __iptunnel_pull_header +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 0x2e2d1825 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x2e2df7f4 irq_remapping_cap +EXPORT_SYMBOL_GPL vmlinux 0x2e430ef7 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x2e4b0d63 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2e504491 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x2e626a41 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x2e678211 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2e98b5d5 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec42525 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2eda4807 is_uv_hubbed +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2eec6be6 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x2ef8af4f pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x2efb8e1f lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1593d1 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2f2911b9 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3aa128 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f4ae615 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x2f62ff9b device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f754726 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x2f7fc7f4 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x2f850c78 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x2f890f6e iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x2fa1c058 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x2fa5670b attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2fb1b5dd crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x2fb55a72 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x2fb72e9b sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x2fcc3bf1 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x2fdcfd28 smca_get_long_name +EXPORT_SYMBOL_GPL vmlinux 0x2fe544f0 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x2ff2f1a6 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x2ff4acc9 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x2ff52baf ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x2ff6ce99 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x300c81d4 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x30189737 devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x301ad1ed dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x301bc7e6 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x3026a74d fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x3030bf4e net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x303c2055 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x30508465 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x30541832 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x307f03f8 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x307fd163 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x3090cb05 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30cf804f slow_virt_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x30d06708 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x30d5e190 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x30dac88e pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30e6d82b pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x30e748a2 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30eb87d2 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x30f53127 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x3106b18c thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311c269f ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x311ca56b __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3129028b ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x313408fd disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x314383e2 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x3165daa3 arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x316f032a pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x31785f08 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x317a8e1b usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31afb952 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x31c46c47 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31eec36a ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x320a8139 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x321f43e4 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x322b9ed4 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x323ce7de dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x3249ff63 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x3256d497 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x3257398f devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x32722a3a devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x328e3354 __memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x329a24f6 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x329ca1db xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x329feb7c __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32ad9fd5 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c001d6 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x32c2bb04 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c46ff4 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x32c6c604 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x32c75a48 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x32cd4cea devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x32d95032 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x32dca62c crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x32e3b076 mxcsr_feature_mask +EXPORT_SYMBOL_GPL vmlinux 0x32e5ef93 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x32f77319 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x33021564 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x330c54e9 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x33138233 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x3317c53b clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x3334fc64 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x333c8093 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x33488bc2 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3362b03c xen_p2m_size +EXPORT_SYMBOL_GPL vmlinux 0x33655159 xen_pcpu_hotplug_sync +EXPORT_SYMBOL_GPL vmlinux 0x336a5f22 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x338b6548 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x33960d94 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x33a34de4 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x33c25037 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x33ed7f14 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x33ef36ad irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x33f5ff10 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x3408bf3a dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x3421ca7c __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x34426119 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x345ee2c1 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x3462d284 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x3467fa2a subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x346bab46 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x346f88d8 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x34752492 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x34885091 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x34892788 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x34a20e92 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x34a322c6 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x34a96466 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x34b662f3 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x34b6d569 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x34b88f8a tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34c33a66 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34c542cf tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x34d48450 nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x34dbf21a __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x34e13f26 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x351de1a3 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x351e78ca udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x352055eb regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x35265200 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352e57d4 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35326c16 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x353a6022 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x35432760 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL vmlinux 0x357926c9 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x35885dc4 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x358c0f86 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x3597a933 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x35a1c90c get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x35be9e92 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35e1009a ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x35ef7190 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x36173c1d phys_to_target_node +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362fa1ec class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x36307cc7 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x3636a6c7 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x363e5f59 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x365774b8 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x365bc67d blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x3698bca7 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a48ea1 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x36a9d935 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x36b50996 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36b74d2f gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0x36ed1e34 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x3709a353 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x372cfd6e gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x3742b8b0 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x3743b0f6 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x3774616e hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x37787963 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377f4981 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x3784cee7 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x378ec590 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37aa29a6 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x37b38356 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x37b5fe5b pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x37bc3020 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x37d87d17 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x37e15019 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x37edf25b regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x37f292c4 pmc_atom_write +EXPORT_SYMBOL_GPL vmlinux 0x37fc59f5 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x380000de n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x38172df1 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x382305df get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x3828a863 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x384ce1d7 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x3855404a sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x385833c0 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38bb4a5e dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38de3fae sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x38e2de20 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x38e42be5 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38eaaadf devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x38fb4ccc gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x38fe9388 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x39483d4c devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x39524eea gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x395f5e1c srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x39621192 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x396e2fd7 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x397a8c21 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x3999b5d9 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e51b3b nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39ef9fbd tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x39f0978e devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x39fdaaa3 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x3a115845 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x3a11a8c5 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x3a24a342 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a29f520 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x3a2d8e65 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a3bdcea phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x3a4ccc6e led_set_brightness_nopm +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 0x3a7d80f9 xen_max_p2m_pfn +EXPORT_SYMBOL_GPL vmlinux 0x3a897514 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x3a8bbb8e trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x3a9510b6 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x3a9a12b5 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa0ce71 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x3aa4e122 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x3ab2210a virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x3ab27635 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x3ab9cef7 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x3abd58ff __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3acf4b9d dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x3ad27c73 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0x3adfcfa7 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x3ae592dd devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x3aeedfa5 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x3af578f5 hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0x3b13e3cf tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x3b1900f5 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x3b1ad122 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x3b1b4797 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3b1fad60 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x3b205b73 vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0x3b47c77c rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b4da429 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x3b7ff9d1 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x3b87e483 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x3b8979ea gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3b8bbad0 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3b91db5b intel_pt_handle_vmx +EXPORT_SYMBOL_GPL vmlinux 0x3b940b9d icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba1d34b rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x3bb215ee bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x3bc056e9 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3bc4098b spi_async +EXPORT_SYMBOL_GPL vmlinux 0x3bd90b4e regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdb8395 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x3beb5f03 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3bebc6c1 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf8867f mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x3bfe1015 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0x3c00ad9a perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c157ef4 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x3c1b3991 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c20bbed shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3c212744 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3c2b5939 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x3c44f8f9 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c46e73c mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c47ce8d virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x3c4f8473 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x3c64b137 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c6660b0 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6b7e1d wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x3c8350b3 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x3c8febc3 find_module +EXPORT_SYMBOL_GPL vmlinux 0x3ca494b8 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x3cb3c67a device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x3cc1c56a wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cdb83d1 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x3ce2ab2b arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x3d011147 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x3d137f0a pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x3d16b1fe __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x3d170554 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d35896b ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x3d36d935 xen_set_affinity_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d418982 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d559ad8 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x3d6c5c38 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d925dd7 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x3d96fbdd fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x3db1ebe2 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df82d00 mce_log +EXPORT_SYMBOL_GPL vmlinux 0x3e054266 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x3e1ae3b0 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x3e220014 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e2538e3 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3e26f62b aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x3e28cf4d vfio_del_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x3e3cbcea da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x3e40d0cc device_attach +EXPORT_SYMBOL_GPL vmlinux 0x3e42dd23 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x3e47792c nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7a0c5b acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x3e8725f8 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x3e8bea59 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x3e98ca28 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x3e9d0835 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ea55fdd gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x3ea84b56 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x3eb1e1ad __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x3ebb299c rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x3ec78454 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x3ed96173 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x3edc5d40 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef354fe pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x3ef97f2a wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3efbcf77 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f07f1cf led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x3f131afd devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x3f2196f8 acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x3f231b6b dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f59898d crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x3f5a0044 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x3f5a0cd3 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f5f358f devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3f8b0c78 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x3f955959 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3faec29f devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3febd4db key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x3ff9dfb1 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x3ffed12c mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400bed37 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x4033fe14 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4041ce7a tpm_send +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 0x40a0aafc __flush_tlb_all +EXPORT_SYMBOL_GPL vmlinux 0x40b00b70 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x40b0c1cb dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x40b43bd0 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x40b72bcf icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x40dcc97a dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x40e2aa0e __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x40e83f64 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x40ef4faf __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f49b9c sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x410076c8 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4102fbd4 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4129f5ee kernel_fpu_begin_mask +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x413448b9 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x4144ab39 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x4164ddc8 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x4168cbea cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x4179f098 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x4180a4bb input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x418a4b5f securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x418a6770 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x418ca184 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41b99ea5 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x41e91f62 pm_genpd_remove +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 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4212c14b blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42230915 sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x4230657d crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x423541a3 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x423e9484 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x424d4e47 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x425055f6 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4263efcf pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x42698919 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4285e172 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x429b8fc8 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x42a7c1ca pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x42b301fb __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x42c51927 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x42cfdeea devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e4c819 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x42e7e2b7 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42fba1c7 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x432078e9 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x43538ddd ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x4358d6ef usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x437f5a06 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x4381416f anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x438cfc6a vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x4391bfe2 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b5e67c ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x43ca21ea dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x43cac5c2 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x43d59815 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x43d61301 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43e0e6ba usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x43ee7486 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f8717d fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x43fb5144 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x4403acb0 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x44068149 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x440b6597 mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x4414a4f9 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x4417759b rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x4418b8ce devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x441a58d6 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x44223a79 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x442e1ce1 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x44369442 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x44432277 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4443cf32 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x4459d0b9 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x4465f0f7 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x44738992 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a09eeb mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x44b59f9a kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c4a39c fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x44cafef2 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d2d185 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x44dea5f3 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44e24f01 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x44e4d69f sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x450110e8 perf_assign_events +EXPORT_SYMBOL_GPL vmlinux 0x45067052 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450d3a22 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x450fa23f fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x45145a61 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x4515a575 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x4516aa57 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x453beb96 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x45458861 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4555bf80 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x45678fd2 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x456e3790 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4579005c fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x4586e843 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x4587e513 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x458f0d62 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x45a60de9 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x45bf6df3 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45f16f6a devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x463724aa fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x463d8290 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x466093fb init_iova_flush_queue +EXPORT_SYMBOL_GPL vmlinux 0x4664dddf update_time +EXPORT_SYMBOL_GPL vmlinux 0x4671c728 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x4685fec2 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4696d2e8 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x469841bf ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x46a6c9ef hv_get_tsc_page +EXPORT_SYMBOL_GPL vmlinux 0x46a77257 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x46bad722 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x46c3b9ec iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46db9956 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x46e39cea metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x46e47ad3 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x46eb6e37 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x46ee7a42 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46fcddb7 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4725466f pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x47318a1f cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x4732f35f __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x475cd731 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x475d7407 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x47914417 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a89953 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ac1a6d __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x47b2732a pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x47b2c10d gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x47b6225a device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x47b98bff __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47d37637 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x47d4371d cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x48024cdc ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x48309cac iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x4833bbfb pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x483733b6 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x4846feb9 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x4860b55e device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4868f042 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x4880fb4e dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x48873788 blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x4889aef0 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48b4f704 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x48c916f2 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x48d1e1a8 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x48e0ac4e serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x48f025d9 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x48f179be pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x48f49400 apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0x48f4e1a3 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x49008217 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4933cf43 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x493d910a gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x49460869 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x494f82fa __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x495fd3c9 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x497b5998 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x497c9f8e mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49951708 sev_enable_key +EXPORT_SYMBOL_GPL vmlinux 0x4996d5c2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x499a1515 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x49b7076e rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x49c14a61 ex_handler_fault +EXPORT_SYMBOL_GPL vmlinux 0x49c5400d kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x49cf5df2 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x49db5c64 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x49e03a05 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49f645c4 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x49f6f375 store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0x49fc3e20 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x49fdd5b3 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a312ee1 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a5c65eb fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x4a6fe2bb spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x4a86ee0b regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x4a9212c7 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x4a9d5641 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x4aa349cb kvm_clock +EXPORT_SYMBOL_GPL vmlinux 0x4aa58bea inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x4ab19686 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x4ab3a197 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x4ad27582 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x4ad6be35 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x4ad85875 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x4ae14cc1 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x4ae875f9 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x4b1c085f tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x4b35c1cd edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x4b3cc1b8 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b56ce05 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4b85de19 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x4b8996b6 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b942368 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x4ba84f08 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x4bb70405 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bcba1ea udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4bd08448 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x4bd57f78 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x4c08995f xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c459ea8 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4c654ba5 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x4c65de6e tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x4c762b5c x86_stepping +EXPORT_SYMBOL_GPL vmlinux 0x4c864201 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x4c902e3e devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x4cab9082 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x4ce7ce6d usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x4ce8d7f7 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x4ce9b710 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d05c4f1 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x4d0f7c3e md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x4d14efe0 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x4d1616c5 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x4d1d96b9 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x4d202b8c __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4d4917f9 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d551a63 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x4d5be63c dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x4d655e40 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x4d6ce1c0 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d6febd5 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x4d8a96ab xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x4d911d70 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4d92e866 of_css +EXPORT_SYMBOL_GPL vmlinux 0x4d9477c0 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x4d9951ac pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x4da1f4a7 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df2c1fd dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x4e032910 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x4e0a0214 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1f2ff3 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x4e31fbee devres_release +EXPORT_SYMBOL_GPL vmlinux 0x4e428797 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x4e47e0d8 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e50510c fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x4e62358d serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x4e6b9323 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x4e6e9896 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x4e8d2f52 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ec1aeaf devm_intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x4ec39213 set_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ec8e920 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f282fec icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x4f29afc9 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x4f412c20 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x4f4e6fc8 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x4f566694 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x4f5914d9 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x4f5e2113 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7c596e bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x4f8318d9 __xenmem_reservation_va_mapping_reset +EXPORT_SYMBOL_GPL vmlinux 0x4f867c91 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4f8d1707 path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x4f9cb923 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x4fac98a7 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x4faef620 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x4fc02643 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fc8206e sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x4fd86720 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe9ee07 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x4fee5c05 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x5000b5ff acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x5015e0dd exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x502c1fcb spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x5048856a tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x505c56c3 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x506150e0 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x5077a23e phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x50794ba8 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x50831860 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x50857e8a adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x509178f0 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x509fb0f6 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x50a63f93 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x50b03f5d l1tf_vmx_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x50c829f7 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x50cc48c7 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50dce4b0 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5102df57 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x5117b0d2 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x512438d2 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x513b0d43 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x5143e72d power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x5145b924 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x515d2895 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x518274fb spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518a9e78 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x5190d49a fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x51ba6c89 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x51e7c32e iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x51fab242 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5207341a acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0x52121118 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x52207f13 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52295ff1 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x52303606 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x523b84b3 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x523ee08a i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x52435ce1 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x5247ad2f ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x52675092 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x5297397b devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x529d4744 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x52aabb8a sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d28448 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e5f40b fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x52eadfb8 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x52efbab8 vfio_group_get_external_user +EXPORT_SYMBOL_GPL vmlinux 0x52f4bba5 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x5326f798 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x532cb8d9 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x532ef0e4 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x53576cb8 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535b9645 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x535f5818 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x5362c24e __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x5381a21d da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5391f2c7 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x539f157b pci_xen_swiotlb_init_late +EXPORT_SYMBOL_GPL vmlinux 0x53a8147f spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x53b9a91a __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c47c53 apic +EXPORT_SYMBOL_GPL vmlinux 0x53cdb0a4 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x53d09d8f tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x53d2906d raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53ef77df platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x53fd969d devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x54038968 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x540a05de devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x54181d49 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5424a14b regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x543c6d5c policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x544a2337 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x54578764 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x545f3f95 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5481aea5 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x5493402f devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54955855 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x549fd68b power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x54a8c36f rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x54b7c3ca transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x54d5f902 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x54d6c781 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x54e226e5 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0x54f8fc3e em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x5503d2de fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x550a169e sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x550ce709 pat_enabled +EXPORT_SYMBOL_GPL vmlinux 0x550e3309 pci_get_dsn +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 0x5551429f usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x555f6852 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x555f9eca rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x556d2606 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557bc491 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x557f3ef1 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x55868e5a devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x55ac06c3 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x55ada15d __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x55b63ed8 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d1e56f edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x55ec82da devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55ff5e76 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560e1571 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561d1592 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x5625e802 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5626571d usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56343e23 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x564007be spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5674b3cb rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x567fbd87 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x56828ebb phy_init +EXPORT_SYMBOL_GPL vmlinux 0x56a6eb55 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x56db7f70 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x56ddfb19 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x56e5bc0c iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x56e832b7 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x56f1c90f serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x56f67ffd i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x56f6f8d8 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x571b3a6f sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x57211358 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0x57234e45 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x572c6247 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x575c213d sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x57732438 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x57834344 of_phy_provider_unregister +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 0x57ad7d73 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x57b81af3 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x57bed665 usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x57bfc258 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57cfe3e3 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x5815d9c7 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x581e5089 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x582bcdaf device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x583cdcad nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587b70d2 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x58a57fff thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x58ae24a7 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x58c2457d devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x58d2d0e5 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x58d46846 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x58d6311d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x58d858d1 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f03b99 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x5926d39d blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x592c3907 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x593a4204 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x593b19d2 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x5941a588 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x5943ff0d power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x5945d6d1 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x59683286 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59ad66c3 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x59aefd41 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c47b4d blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x59c6aff4 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x59cc3928 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0x59ccb71f skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x59ccea37 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x59d2a1b4 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x59d8fbc5 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x59f08f02 efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x59f6634c xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x5a028e80 acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x5a095ea8 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x5a19cee5 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a2cc79f dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x5a3c3f5e fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a5ff87a kill_device +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a6eaec5 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x5a721807 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x5a751b51 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a830c36 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x5a97848d cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x5aabaa9e strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x5aac04c3 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x5aae7eaa get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5abd176b skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5abf31cd tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x5ad6b452 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x5ae24c55 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5ae916b3 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x5af74ad7 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x5afc7e37 bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x5afd3ad7 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x5b00cf2b nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x5b055754 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x5b0a5a82 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x5b0dbfb6 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b28d98c ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5b4f8d6e bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x5b61ed47 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x5b62dcfc da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b884364 hyperv_report_panic_msg +EXPORT_SYMBOL_GPL vmlinux 0x5b88cc8b dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x5b9e3835 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5bb289ac __tracepoint_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x5bb327b1 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc6cbf0 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x5bca4253 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd66eb9 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bee1020 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5bff2332 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x5c119397 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x5c11b884 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x5c19c080 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x5c22b2b1 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x5c28c825 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x5c296b41 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c2e77bd pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x5c322bbc xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5a5e73 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c82e0e3 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x5c8daeb1 security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x5c91aa99 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x5ca3a32b bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5caeda98 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x5cb0ddd5 intel_msic_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x5cbacd78 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x5cd2fb11 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5d026030 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d0970bb xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d1afeb0 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x5d1c5099 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x5d2ad3b8 udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x5d3219b4 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x5d73ea9b sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d88c7df dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x5d9317d7 uv_teardown_irq +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db73e85 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x5dbcfa4f boot_cpu_physical_apicid +EXPORT_SYMBOL_GPL vmlinux 0x5dd1f624 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5de7447d __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5dee96e0 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x5df66244 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x5df83385 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x5df90401 device_add +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e3396ff powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x5e387ebc yield_to +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e532ab3 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x5e750434 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7a7cfc kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x5e7f60f5 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x5e85094e efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e9096cd bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x5e9efcfb md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5ea9874f put_pid +EXPORT_SYMBOL_GPL vmlinux 0x5eb79ca7 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5eb9d2ed balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x5ebc288c bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ec895e4 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x5eda7f05 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x5eec167f devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x5f01d0a3 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x5f043ea3 pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5f11bad3 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x5f1e6818 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f2fcc83 ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x5f3ca7a6 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x5f42bb9f icc_put +EXPORT_SYMBOL_GPL vmlinux 0x5f486387 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x5f5e2b5a dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x5f66a20c __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f76051c shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x5f778e18 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x5f79f43c platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x5f7ec856 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x5f856270 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x5f950041 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x5fb01722 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x5fd43994 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x5fdd9085 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5ff3ce8e dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60069ee1 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6008b1dc cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600ab19b tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x601b2c02 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x601ba3eb __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x601d233f skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x603b042f __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x603e9545 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x60490ce1 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x60559d07 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x605782ae fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x60578e4f kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x60806523 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60a7c3b9 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f2abbd __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fc9213 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x611f18df sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x61252529 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x6128d271 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x614f2f5a gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x615d452d put_device +EXPORT_SYMBOL_GPL vmlinux 0x615e071c xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x61631857 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x617b026c hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618dfe32 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619b14da fpstate_init +EXPORT_SYMBOL_GPL vmlinux 0x619f0c90 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x619f3d2b ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x61ae1d2d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x61baaa84 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x61cd5349 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x61ce3ec2 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x61d6df0f regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x61de79e3 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x61e830bc device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x61f589f0 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x62046248 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x621d58f5 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x622e7883 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x6230a51b ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624f061e nl_table +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x627efbc5 md_run +EXPORT_SYMBOL_GPL vmlinux 0x629be8b1 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x62a34279 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c46c43 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x62cdba60 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x62d70a0e device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x62ec0d01 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x62f845bd dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x631b0f39 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x631bd9f8 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x633a8665 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x6340434e x86_model +EXPORT_SYMBOL_GPL vmlinux 0x635877ec scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x636c4319 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x638a9653 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x638c3895 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x63a0641e regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x63a3dfb8 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x63b12f6c efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x63c046b9 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c8ca1e disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x63c8fd2b hv_setup_stimer0_irq +EXPORT_SYMBOL_GPL vmlinux 0x63cc86fc regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x63d56081 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x63e2f23e genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x63e431aa gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x640ab48f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x64192d07 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x641a6c7e gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x641eedad __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6434c387 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x643b0599 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x643cb5cd bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x643f0dda scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x6441a99e crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x647e5957 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x648355e3 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x648ad843 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x6497c33d device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x649acf9c devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x64a62e11 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x64a936d0 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x64c92c76 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x64c9ebbd virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x64d3cc4e xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64e130e6 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64f7a50d pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x6504cabc dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x6512c263 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x6512f425 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x6527a231 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x653a0caf pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x654f1d28 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x655767ad seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x655c281b skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x655d4ad5 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x65704d22 hv_stimer_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x65824d94 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x6584519b devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x6585e412 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x658b2f2a PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x658e58ca da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x65914976 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x65923bcc __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x6595f660 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x659e63f8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x65a880ba da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x65bb9dec bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d342e9 efi_mm +EXPORT_SYMBOL_GPL vmlinux 0x65eab834 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x6637ae22 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0x663a80ca usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66674506 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6668b5e0 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x66695f84 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x666b755a __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x66775c39 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x66806c11 vfio_iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x66807ee7 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669518ff regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6695c25b gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x66a6c061 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x66abf0cd blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x66ae4727 mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bd3a45 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e805b1 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x67181d27 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x672a35be virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x67314135 iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x6739e5c3 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x678d81f8 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6790ebd3 mce_is_memory_error +EXPORT_SYMBOL_GPL vmlinux 0x6792e25a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6798b5f1 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x679f3d95 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x67a4a8f8 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x67b21f14 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x67b75fcf tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x67d0038a desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dcd76b uv_setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x680a3e34 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x682383e6 acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x68280632 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x68295a3a ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x682ccf2e serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68312e15 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x6850e244 devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x6855d7ed dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x685d4521 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x6870bca2 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x68749567 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x689037ee pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x6892f732 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68b016c6 __xenmem_reservation_va_mapping_update +EXPORT_SYMBOL_GPL vmlinux 0x68b03652 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x68bbca13 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x68d0772c component_add +EXPORT_SYMBOL_GPL vmlinux 0x68debe1b fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6947144b is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x696d05dc skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x696d7e0b l1tf_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x69718f2a rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6980eee4 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x69b24b27 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x69b24dce rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x69b6ec68 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x69b8fef1 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69ee5f9a irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x69efd636 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x69ff215f fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a09d578 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a188bbc mbox_client_peek_data +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 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a68e043 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x6a7a0e8d ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa5a2ed pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6aadb1d5 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6ab9194c blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x6abd597e ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6ad502e8 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x6ae7b8cd net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x6af9858d synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b313e18 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x6b35a16b intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b5ff4b9 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x6b73f816 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6bb8fa47 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd570c6 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x6bddce83 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6bf630fc crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x6c1335f6 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x6c1f6d60 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x6c336892 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3b612b acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c440ae5 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x6c48a2cb ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x6c496836 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c5454f6 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x6c583b45 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x6c64ecce ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c7bd244 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x6c959a10 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c99e346 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cad5892 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x6cad5930 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6cd23cca ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x6d037f77 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d152ccf fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x6d2e899d mce_usable_address +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d34ed94 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x6d5f1479 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x6d68147c sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d794e1e sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d805df7 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x6d807222 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x6d8cb9fa tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x6d9442a8 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6da93b56 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x6db7f630 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbae737 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x6dc976fd devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x6e04f73a fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6e0f8459 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x6e1d2a18 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e65b15d blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x6e6668bd pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x6e6a8736 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7f1e0d dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x6e85b00b local_touch_nmi +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8a1f03 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x6e8b0a6e trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x6e910152 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x6e917fc3 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec4169e pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x6ec8f277 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x6ec95315 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x6ee35b1d skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f0f3feb dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1ddb44 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6f22ba5e spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0x6f49f3cb __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x6f542055 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6f582541 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x6f5b05ac __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x6f801f1d vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x6f828124 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x6f8dd2d3 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x6f92c39f tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fa01947 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x6fb5592f device_rename +EXPORT_SYMBOL_GPL vmlinux 0x6fc11565 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x6fcbf931 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffce680 x86_cpu_has_min_microcode_rev +EXPORT_SYMBOL_GPL vmlinux 0x7000e061 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x7002daf6 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x7004cc37 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x700b6397 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x700bb84d virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x700bf612 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x7028c7f2 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x703b169a led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70576fee acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x70603c82 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x706d5eb5 acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x709293cd bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x709648f7 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x70b654f9 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x70b7c07a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x70c02044 crypto_cipher_setkey +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 0x70ce5bf3 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70d6efd7 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0x70d76165 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x70f5332f sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x710e2752 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x71162fa2 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x712424e4 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x713bc198 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x71443a90 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x7154ce89 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x7154f5bc bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x71599977 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x716a1652 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x716f5262 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x7180c064 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7195376d pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71afec44 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x71b5a388 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x71d1100f ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x71e01ab6 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x71e1f3f4 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x72072457 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x7221de97 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x725d822c debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x7266f795 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72b407c9 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x72c1aeeb __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x72c9e82e devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72f218fd pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x72f27e51 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x7300c480 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x7302b751 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x730f99a7 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7314708a irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x73167c09 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x731d1fb6 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x7327a9a2 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x7336283c class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7337cf30 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7341c9d3 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x7345a5fd usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x735a51e6 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x73638ba4 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x73717df3 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x738f4c11 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x738fe32b amd_get_nodes_per_socket +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73afc422 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73da6179 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x73f1fce5 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x74026051 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x74346167 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7454877c crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x7454a89e __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x745c7f4e of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x74668d49 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x746b37dc gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x74728eda xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x747e5d83 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x74832d85 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x748a93e1 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x748ef44b nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x749a6e09 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x74a36a3d hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x74a63af1 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x74a6782c fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x74b1dabd crypto_register_scomps +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 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74ebc309 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x74eca1a9 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x74f6b396 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x74f6e704 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x75020ad7 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x75038b80 pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x753040f6 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x75430f1f iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x755eb6df __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x75792186 get_xsave_addr +EXPORT_SYMBOL_GPL vmlinux 0x757e3bdc regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x758670c9 gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75b9051d unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x75b90b76 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x75c5beb3 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x75c7714e pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d25e7e __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x75daec05 dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0x75e24e20 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f0e875 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x75f9a396 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x7609905b clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x762e5009 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x76313a72 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x764f49bf rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x765b348f dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x7669ebf1 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x766ae35f dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x766f36bf kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x767e7e9b ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x768390ce regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x768f1440 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x76bc7bab device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x76d785b0 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x76d7c188 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f41dc9 cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x77083870 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x771a2323 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x771c8bde sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x771fea5e devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7729561f ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x7734683c sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x773736da crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x774dba0e ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x77531ec5 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7760a241 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x7771fe84 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x7776faa5 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x778bb838 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7790c9be fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779dfb0c devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77bda8fa __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0x77c23c95 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eb2fe7 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f48ee9 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x780d565d pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x783259be ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x7837dcc7 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x784aec52 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x78577159 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x785b2b43 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0x785e82d4 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0x78630dfa led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x789cb5bb edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x78b1a8aa device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x78c264db shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78eff419 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x78f3f93a __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x79032033 iomap_set_page_dirty +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 0x791bf2bb ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x791ee10c pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x793aac58 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7945cc55 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x7948f5c4 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x7950c5d3 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x7966d494 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x797d9b9b dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x7990dda6 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x7991fd8d crash_vmclear_loaded_vmcss +EXPORT_SYMBOL_GPL vmlinux 0x799aebb1 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x79a479f2 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x79a8f516 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x79ae8bef clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79cf1043 fpu_kernel_xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x79cfdcce crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x79da75a3 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79f9e119 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x7a0b01c7 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7a0e0570 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x7a1f6327 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7a26a5a4 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7a28fe01 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7a2cc69e gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x7a42db56 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x7a45faf9 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x7a655f68 acpi_processor_claim_cst_control +EXPORT_SYMBOL_GPL vmlinux 0x7a6cf81f regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7be288 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x7a7d3472 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a9807e8 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa8fd59 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7abd52c5 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x7abfca43 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x7ac189c3 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7ac43ab9 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7adc5eab device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7aeba19e alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x7af12d4f ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b1e2c5a acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7b295038 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x7b2a68b9 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x7b4c9ba9 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x7b4ef438 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b56e9fb bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b689434 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b7a12a1 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7b827782 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x7b856860 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bc9f5b2 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x7bcba636 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x7bcfd6c1 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7be3bde3 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x7bfd0d95 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bfecf77 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x7c0b1b32 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7c20b6a0 load_direct_gdt +EXPORT_SYMBOL_GPL vmlinux 0x7c23dc83 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x7c300052 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x7c3da136 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7c411152 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c626556 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c681aba efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x7c771616 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x7c77526a tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x7c79488b sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c8062b4 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x7c870684 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x7c8ec047 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cc0a470 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd20e72 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cda794a device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf00278 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7cfd9818 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d017970 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7d026f9e list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x7d0b560e inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x7d0e1d95 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x7d1848d4 xen_remap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d64f228 split_page +EXPORT_SYMBOL_GPL vmlinux 0x7d8a43fa console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7da9ed02 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x7dbcfec3 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x7dc1be66 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7dd3e75c acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb2718 __tracepoint_block_rq_remap +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 0x7dfeb94b devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x7dfed568 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x7e0b4b5a dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x7e390001 intel_msic_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7e3dc5f0 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x7e40e98f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x7e41e9e3 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x7e51ea16 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e76c888 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e97e91f wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x7e9833da pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7ea8bf31 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7eb180ea usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7eb408cc __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec814de inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7ece9d63 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7ef6e147 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7f1286c6 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7f14b50d dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7f1743df tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x7f34a775 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0x7f38352d wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x7f3cc6d9 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x7f3f6b16 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x7f51d24a debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x7f626569 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x7f6ada4a kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x7f79c98a sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f807065 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x7f93a93b class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fa3a22a crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fbb87ed pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x7fd095de spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fd9c19d irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0x7feb21ad sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x80189861 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x806b3a55 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x80731326 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807fbb72 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808a8088 handle_guest_split_lock +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8092ea5b wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x80941773 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x80a10a17 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x80a15fa0 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x80a9ba6c usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x80ae3336 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x80b109d4 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x80b41b1f kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x80c11314 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80ec72d0 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x80f0c45a tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x80f483fa iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x80ff186d devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x81055cea phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x811f32a0 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x81221cad amd_nb_num +EXPORT_SYMBOL_GPL vmlinux 0x8134204d key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x8134da8c devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x813d868e pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x813e26a1 device_connection_remove +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 0x819939cb tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x819b0085 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x819c2be4 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a8e7b4 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b2af46 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x81c139dd ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x81c60b54 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81d4426c pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81fe529b sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x81fe5f1a gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0x8202474e tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x82079c55 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x821da8c6 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x8235f2a6 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x824981bf devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x82620916 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x8267a541 irqd_cfg +EXPORT_SYMBOL_GPL vmlinux 0x826d01ed xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x827f8113 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x8283ba4f dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x8283c027 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x82856de6 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x829d083f _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x82bc9bd5 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x82c17375 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x82c2215b skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e21441 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x82ed11ad cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x82fa18df ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x83055864 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x8318cef0 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x832b860c acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x832c7b73 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x83395e2c usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833d8e49 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x8348e4f0 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x836b052d rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x83777ddf raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x839055c2 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x83ca9ccc perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x83e13315 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x840b7163 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x842f5fc6 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x843f885c adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8456ddc5 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x845bb741 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x845e6dd5 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x84622862 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846317cd usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x847e530c security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x847ef1c6 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8498e337 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x84b9ef5d anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x84eda032 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84fc6723 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x85079fbf phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x853506a5 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x853c290b dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x85881fb2 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x859bffb0 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85ae6040 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x85b15444 arch_set_max_freq_ratio +EXPORT_SYMBOL_GPL vmlinux 0x85b1c626 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85bd6c0a __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85ca7a1d tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x85cb2c45 xen_has_pv_devices +EXPORT_SYMBOL_GPL vmlinux 0x85cfa886 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x85d4c0d4 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x85d5952a regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85e5d047 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x8612d8e6 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x86169f3e amd_smn_write +EXPORT_SYMBOL_GPL vmlinux 0x8619789a regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x861e429c __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86234ff8 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x8626a637 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x863fef16 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x86416821 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8641b25b sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x8646d271 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x8650b887 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8654be58 hv_remove_vmbus_irq +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x865f3a1c iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866ca6a3 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x86779836 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x8677f369 pvclock_get_pvti_cpu0_va +EXPORT_SYMBOL_GPL vmlinux 0x867a67ff ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x868430fc phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8689e3cc devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86bd3055 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86e346f9 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x86e6cfb3 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x86f24ec6 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x86f61b27 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86f96147 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x870e596a irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x870f3a50 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x8735ed3d irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x874082d5 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x8741744c blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x8749de55 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x875054ab cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x87582dc9 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x8768434f fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x8773e87c __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x8778cd37 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x878b6a3c wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x878bff0c fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x87bf7e41 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x87c55a06 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x87cc9a20 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x87cc9e67 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x87e64181 amd_nb_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x88066be2 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x88192a95 pwm_lpss_remove +EXPORT_SYMBOL_GPL vmlinux 0x8819ad3d iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x88293776 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x88428eaf led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x8842e25d ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x886687e1 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x888b73f3 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b0d48e perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88cf74f3 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x88f1ba90 devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x88f8dbe0 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x891064d1 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x891f242a acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892c5c6a gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x89363a3a usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893bd34d pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8954664f inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x89696218 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0x89a59443 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x89a61ef0 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x89a8c49a pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x89ac07b6 devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bbce63 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x89bd4157 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x89c6fc96 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x89dafe42 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89e4b4d4 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x89e86727 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x89e90a47 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x89edd413 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x8a0ace60 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x8a18eb64 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8a1b6f89 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x8a240bff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x8a26a97b devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x8a3240de encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a4508d1 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a472697 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x8a49f6f3 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x8a4aa519 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x8a4ca7be hyperv_flush_guest_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x8a604f1e edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a7cb9c4 platform_thermal_package_rate_control +EXPORT_SYMBOL_GPL vmlinux 0x8a838ef6 intel_scu_ipc_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x8a8b2d3a regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x8a92cd3b sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x8a95392a serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x8aa286ff genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x8aab8db3 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ad5ceb1 __uv_hub_info_list +EXPORT_SYMBOL_GPL vmlinux 0x8adb7612 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x8aea7657 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x8b0c5113 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b2b63af inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8b79c578 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x8b7b4d8e hv_stimer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8b9c64b1 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x8b9e77f7 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8bb05bc7 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2bcdec register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x8c411c61 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x8c4368f6 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c5c4da7 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c785891 pci_msi_prepare +EXPORT_SYMBOL_GPL vmlinux 0x8c7c4272 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c8bfb3f bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x8c8dd43e regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8c93035a wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x8c9d1661 arch_phys_wc_index +EXPORT_SYMBOL_GPL vmlinux 0x8c9ea2d6 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x8cacf809 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x8cbd6bd2 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x8cd398b3 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x8cd54602 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x8cf82acb gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x8d15a61e register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x8d166fb5 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d2504ea ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x8d27b67a pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d3b12c4 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x8d3bfd63 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8d4fb83c devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d678ef9 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x8d6ccaf4 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d7c2d44 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8db68a6c da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8dbce660 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x8dcce86c switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x8de7d893 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x8dfefb64 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x8e0ce7ae pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x8e1121fd sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e1f0e50 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8e22e4a1 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e2f7bb2 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8e4e09cc blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb5a2 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x8e546239 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x8e5c705f fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x8e60d19b raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e746b43 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e9bd4a3 hv_alloc_hyperv_page +EXPORT_SYMBOL_GPL vmlinux 0x8e9f24e0 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x8ea41092 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x8ea91583 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8eb61f32 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x8ec97750 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x8ecaa80a watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x8edf96f9 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x8ee1164d clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x8ee53e31 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef6866b dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x8f0463b1 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0c10e7 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x8f1fa94f arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x8f21685c platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x8f241ea9 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x8f2eb429 kvm_arch_para_hints +EXPORT_SYMBOL_GPL vmlinux 0x8f40fe3c inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x8f5015db device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x8f5142c9 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8f653ea9 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f759fde xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x8f75a455 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x8f77364d edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f7c6253 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x8f801d8d rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8f80cacf crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x8f90e228 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x8f97c07e __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x8f97f3e1 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fd8e4e3 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x8fe33636 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x9007d972 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x90164b06 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x90187d7c uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x901cf8f6 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x901d080c led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x9024f443 mds_user_clear +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x905899ff perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x9074dc69 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x90760f38 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x9081b5db btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x9084b044 clear_page_erms +EXPORT_SYMBOL_GPL vmlinux 0x90850fcd driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x909eee85 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x90a92015 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90d276d8 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x90dc29df aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x90de0452 platform_thermal_package_notify +EXPORT_SYMBOL_GPL vmlinux 0x90ed073c xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x90f118a4 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x90f251ba cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x91002ada of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x91143ea0 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x91467ee1 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x914f83c0 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x915429dc irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x91686e3d wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x916a05ab to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x9171f3d5 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9192b00e sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x919d1dd6 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91b6374f nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x91b9a4ba e820__mapped_any +EXPORT_SYMBOL_GPL vmlinux 0x91c0eb41 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c7d2db i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x91c8b5b5 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x91cd903e inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x91dc881a regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x91df449e ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x92058214 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92141343 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x92165e9a extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x921fb616 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x92295424 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924822db bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x9259d812 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x927f1dfe akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x92a5c764 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x92ad5452 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x92bc00e5 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x92c766d2 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d8e56f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92dbb4dc __devm_intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92f7dfc3 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x92fcd4cf usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9326880f vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x932d4c00 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x935b4f86 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x93611e04 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x93725986 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x937317ea skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x93be0d5c ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93d66659 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x93d74017 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x93da1590 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x93dc2586 pgprot_writethrough +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x94015d3a scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x94086056 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941e13da __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9423a7d8 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x9424058f arch_haltpoll_disable +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9426e464 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9475eac1 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x947b40c6 cpu_smt_possible +EXPORT_SYMBOL_GPL vmlinux 0x947f442a edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x947f7fa8 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94838af4 noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x9485254d md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x948cb5dc __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x94972c85 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94ac90ce led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x94b72195 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x94c1ac46 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x94dadea4 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x94de6a15 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x94e3fa59 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x94e4df71 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f36f39 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x94f72b76 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x9514268a bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x9518207e ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x951a0f4d do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x954fc103 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x9557d0c6 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955df08e pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x95650696 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x95897e9e pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x95985ce8 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95a77bbd bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x95b3842c dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x95b562bd nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c17350 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x95c3278c ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x95ceeece sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x95f3e65b edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x95f5f71c clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x96048784 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9633a71d ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x965576fa usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x967818f1 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x96820b01 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x9688b217 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x9690c529 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL vmlinux 0x969eac49 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x969fae19 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x96a29501 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x96c5d3cc bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x96cad70d dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x96d63788 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x96dea36b hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x96df5ba7 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x96eeb740 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x96f1a505 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x970eb932 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9719bcfd pmc_atom_read +EXPORT_SYMBOL_GPL vmlinux 0x9721ed64 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x9746c957 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x97623558 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x9777ffcb ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x97815f72 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x97a642e2 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x97ab6610 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x97ae26b1 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x97c2414c ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x97d12355 hv_remove_stimer0_irq +EXPORT_SYMBOL_GPL vmlinux 0x97da9719 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97df5ed6 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x97e0248d sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97ef65d2 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x97f467b7 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x97f896d3 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x98023693 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x98044f8e unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x980cdc6d debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x982c2d09 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98343eb5 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x98356d96 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x9848aa19 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9863c0d9 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x986881dc pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x986ef430 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x98724e3a sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x987ab0a5 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x988a1a00 sn_region_size +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98a235ce sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x98aa4ebd param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x98b19e7a crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x98c0f510 devm_acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x98df8ed9 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f4d306 hyperv_flush_guest_mapping +EXPORT_SYMBOL_GPL vmlinux 0x98f5bd67 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x99091cd3 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x990ed63e acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x991c4e39 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x992b4996 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x9930f8a3 uv_bios_change_memprotect +EXPORT_SYMBOL_GPL vmlinux 0x9942a05d crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x99430ba2 acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x99452f59 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x9958329f usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x995c7faa irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x996bcc89 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99ac3e03 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x99b55cd6 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x99b7c593 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x99c1f38d blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x99e0cb63 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99fc4e82 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x99fe8a6f ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x9a019e37 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1f2742 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x9a249ca7 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x9a277c8f usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x9a4059ea blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5b8f5c ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9a78b2d1 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x9aa13978 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x9aa71c2a efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x9aaac699 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9abe553e pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ae4191f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9ae96ee8 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b01a668 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x9b1f48cc crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x9b2af49e follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x9b3672f5 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x9b37d7e7 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9b42a150 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x9b4327bf crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x9b43aad9 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x9b457bb1 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x9b469578 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b5a8f99 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b770ef3 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x9b79e53f apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x9b7d0747 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x9b839bf8 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x9b869554 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b8fbfca ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92a4b5 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +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 0x9bc74be3 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x9bc77923 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9bc9a8e2 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x9bcae826 intel_pmic_install_opregion_handler +EXPORT_SYMBOL_GPL vmlinux 0x9bcd7122 lookup_address_in_mm +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf2dbf0 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x9c1a00ab __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x9c1a4442 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x9c4c5033 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x9c4c7814 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x9c5311ca lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x9c5fd574 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9ca87e76 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x9caab9ef acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x9cbc0959 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cc9e3e8 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x9cd8a5c6 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x9cde313c __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x9ce6fb83 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9d00959b dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d141d81 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x9d14205c cr4_read_shadow +EXPORT_SYMBOL_GPL vmlinux 0x9d1533b5 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x9d158acd __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x9d1b6f75 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x9d21119d tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x9d21fb4f rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x9d2ae42c usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x9d2e3a5d fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x9d492493 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x9d5b7eae __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x9d5c3d89 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x9d75bfde acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x9d8080b4 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x9d84bfb0 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x9d8c6001 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x9d8fd229 security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0x9da9d872 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x9dd15afc sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x9dda7577 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x9de8793e wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x9debe34c badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x9df68444 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x9dfade36 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x9dff5ddc blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e0725db crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x9e08d700 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x9e423bbc unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e5cedfa ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x9e789bb5 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x9e8176f4 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x9e87a48e dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x9e9ac1e9 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x9ea092e0 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x9ec54f55 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x9ed31519 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ee4a2ae devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x9ee55317 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x9ee6677c regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x9ee8ed96 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x9efc7602 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x9f048345 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x9f0acef8 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9f230cec crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x9f36457e __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f39e5b1 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x9f7b720c devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x9f89fdcb ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x9f956c79 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x9fab32df arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x9fb0d299 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x9fba3354 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fc7c02b dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x9fca4e3e __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd706cc crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x9fde9e88 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fef39e3 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xa002cbb4 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa0062040 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xa00bc4da usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa0227177 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xa02e6c1e ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa0407662 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xa0444eb8 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xa045050e cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0676f81 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xa06c97dd genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xa07a4a21 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xa07adc43 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xa095b4b1 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0xa09b27ed pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xa0a57247 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xa0af9095 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa0b96498 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xa0c138d3 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0xa0c213ca regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xa0c6befa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0efb414 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa11c2948 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xa126d5df rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xa146c493 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa157486c gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xa1691b63 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xa18ee545 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0xa1a5a801 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0xa1bf92d6 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xa1cddadd sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1e21df0 device_del +EXPORT_SYMBOL_GPL vmlinux 0xa1e94370 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1f0d590 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa1fe0ae7 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0xa207756e led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa2567423 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xa25bd475 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2885766 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa289dba0 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b68d14 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa2b9c030 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xa2c82185 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xa2ce3247 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xa2d3828c efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2ee2ffa irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xa2f0804c transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa2f25d0e xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xa2f402dc perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa2fd3333 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xa31050b7 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xa34fd86a pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0xa35eb4ec skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xa3659b5f __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xa36dbc07 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa37f2f27 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa39ecdf6 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a94811 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c81151 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xa3d10119 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xa3e19216 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa40829f4 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4127bd1 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0xa419798f sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xa41e2e73 cpuidle_poll_state_init +EXPORT_SYMBOL_GPL vmlinux 0xa44318f7 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44cc36a sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xa44e96f6 acpi_dev_remove_driver_gpios +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 0xa469748d mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0xa46e95a5 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa478e8ab trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xa47a7939 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa482ab2d pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xa4899693 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa49e78fa ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b1ca33 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa4d4e2a5 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xa4d62b28 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xa50335f4 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0xa519c294 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa536fe6b fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa544856e fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0xa54f69a1 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xa5546694 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xa568653f hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xa56904ea ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xa573373f vfio_add_group_dev +EXPORT_SYMBOL_GPL vmlinux 0xa5793722 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0xa57992a3 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa58f0a33 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xa59c260e fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xa5b00791 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5c5125e iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5e89857 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f015e7 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xa5f3d2b4 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0xa5fcf87b ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xa60ca8b8 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xa61c34f8 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0xa61f69da icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa62e24fd devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xa634ff39 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xa65062c1 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xa6644a7c dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xa666ef4b init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xa66f1fb6 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xa6716d37 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa67b421d gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xa6824f3f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa6999635 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xa69d04dd synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0xa6aab4c3 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0xa6aefd67 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c5df23 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0xa6c6010a dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0xa6cd1adf handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xa6d3ebfa __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa6df65a6 dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e95ba4 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xa6ebbbf8 vmf_insert_pfn_pud_prot +EXPORT_SYMBOL_GPL vmlinux 0xa7015520 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0xa7020cb7 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7127da7 mce_unregister_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0xa7234e97 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xa725bc6a sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xa7289f80 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa73ed3c6 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xa74a2950 pwm_lpss_resume +EXPORT_SYMBOL_GPL vmlinux 0xa750bd61 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xa757620c power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0xa76db526 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xa7d7d188 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa7e0205e bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xa7e1c779 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xa7fdb223 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa808e3e5 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xa80cbf62 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xa80ebf72 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xa8142c24 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xa81b7dd6 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xa81fcc71 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xa83dc7b7 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8596573 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa85f58a5 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xa869b326 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xa86f7988 d_walk +EXPORT_SYMBOL_GPL vmlinux 0xa878eff8 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa88ce3b5 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xa8903e6f cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xa89459b7 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xa89c2a4c uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xa89c5369 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xa8a0e4d5 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xa8a8d797 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0xa8ad80a3 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8c5da9d device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xa8e1a0a7 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0xa8e68acf mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xa8ec704d kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xa8f00f6c user_describe +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa91f1e18 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xa92d44a9 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa96d3ac5 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xa98005a2 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xa9840093 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xa9854364 umc_normaddr_to_sysaddr +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9bc8b74 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa9bcec4f irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa9ca2c8e addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0xa9cb6ff5 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9e5a46a gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xa9edf2b0 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xa9f1b56c gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa362938 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xaa367917 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xaa3d8767 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xaa3e9f7d regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xaa509d64 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xaa54944b fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xaa563dbf mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xaa5aee1c uv_bios_mq_watchlist_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa5e63ae virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xaa5f6454 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa7ea246 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xaa86cfb5 uv_possible_blades +EXPORT_SYMBOL_GPL vmlinux 0xaa9203fb debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xaa971095 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xaa987914 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaac0c7da acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0xaac595f2 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xaacf3341 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xaae9fd10 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xaaed4682 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xaafa049d gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xab00d0e4 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xab071fb2 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xab19daa9 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab20af94 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xab22a989 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab23788f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xab44d926 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xab57ae8f blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xab5c35b2 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xab5e59ad adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xab694f2e crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xab817242 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xab97c897 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xabc298d0 intel_scu_ipc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabc7ddbf input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xabdd13a9 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xabf4f536 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xac0db039 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0xac0ecbda tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xac12d343 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xac165e4e pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xac1912f8 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xac1977b8 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xac27181d uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xac29a618 pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xac3bc832 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xac4ca1eb __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xac50c064 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xac6d51b7 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xacaaa8ae sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacc28415 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xacd6fb6b of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xacef434a ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xad0146ef edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xad0f2b6c unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xad13eb1d skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xad31c8ad user_read +EXPORT_SYMBOL_GPL vmlinux 0xad428658 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5f0017 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad68f095 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xad71cebf devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xad82536b device_register +EXPORT_SYMBOL_GPL vmlinux 0xad963fad vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xada0386e fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada7ec69 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xadadc84c acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xadb2577f tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xadc2bdce iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xadd2bda8 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0xade5726f usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xadf279c5 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xadf99a87 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xae0f531b _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae1d5cdb max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xae21027c pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae2ed389 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae65ec04 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0xae67dabb gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae86d141 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xae9f47d0 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaea23a21 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xaeb12315 find_iova +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaecbb9a2 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xaed5f7ae pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaee37ad3 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xaef09c21 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xaef8c04a get_hwpoison_page +EXPORT_SYMBOL_GPL vmlinux 0xaf00daba usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf396d71 iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf4555fb vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaf55b2f4 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0xaf56b4eb usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xaf581b85 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xaf582e5f skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0xaf68da9f __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xaf68ef56 blk_poll +EXPORT_SYMBOL_GPL vmlinux 0xaf775059 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf809dc9 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xaf894e24 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xafb03187 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0xafbd4f09 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xafc05ebb extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xafd0391b gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xafdd65e6 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xaff95191 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0xb01d13e2 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0xb0230632 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xb026446a devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb02c476e __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0xb02d349f blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xb0314bcd invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xb03af9cd virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xb061564f compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb081022d irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xb0941983 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb09452cc mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xb09fe557 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xb0ab416d phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xb0b51d36 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0e64846 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb12aa504 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xb134b0df crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb144fa30 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0xb14ce1e7 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb1779758 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0xb17b85a6 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xb180457e xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb184ef97 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xb1851d52 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xb1a4e98e wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xb1a68dbd virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1bfe208 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xb1cc2f71 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb1d3462e usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1df394f ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xb1e03510 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e419ae amd_iommu_is_attach_deferred +EXPORT_SYMBOL_GPL vmlinux 0xb1eaa087 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xb1eb3f48 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xb1ef0548 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xb1ff97da pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xb20227c4 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xb20bf7c1 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xb2157531 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2343f46 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb2538569 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0xb259343f inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xb268027a wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb26a9745 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0xb277cb5b scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb2829ba9 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb285b8f8 xen_in_preemptible_hcall +EXPORT_SYMBOL_GPL vmlinux 0xb289a34d ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2aa09b2 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xb2aef1cd devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2c30e14 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xb2c9a1e8 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2de76b3 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2fee73b __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb322c2bc dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb3351c6c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xb3378f88 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb346969f rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0xb35dcd1d usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xb3697565 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb3754b56 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb3a41b67 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xb3b5b95f dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xb3c5ecd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xb3d5ce72 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xb3d90b1e bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0xb3ee7717 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xb3faa710 pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0xb3fea1a5 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb40a3e6b pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0xb40ab862 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb4511357 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xb45b2875 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xb45fb26e device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xb4686915 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xb468d7f8 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xb46a65ed irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xb474d8a0 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xb480c848 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4941454 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xb4952f54 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xb4b1ae21 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4be6c39 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb4e98148 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f2d121 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb4f46cf4 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xb4fd1a6c fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xb4ff6bb6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50e1f27 __uv_cpu_info +EXPORT_SYMBOL_GPL vmlinux 0xb510c250 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xb51a1195 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb528d493 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xb52adf9f unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xb52fbbb6 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xb5302c21 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xb530eca0 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xb53a2e4b input_class +EXPORT_SYMBOL_GPL vmlinux 0xb5400fc0 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xb56a01b1 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xb572f839 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xb5746ed1 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xb57ac356 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0xb57b20e2 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xb5878c51 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xb59b4cca regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xb5a63bf7 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5b2f661 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xb5c0f36e __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xb5cb82cc class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xb5d13003 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xb5d5b22d lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0xb5d8044d sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xb5de0607 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xb5ed48c8 bind_interdomain_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5ef3284 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb5efbf00 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xb608e98a event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6302235 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb6912f16 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xb6934965 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xb6992ece power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb69acf3d pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xb69e95c5 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xb6a2ce1f device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xb6a85f8a pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb6aa1525 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0xb6c5e614 acpi_processor_evaluate_cst +EXPORT_SYMBOL_GPL vmlinux 0xb6d32801 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xb6d8eb56 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6e8d043 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xb6ebb8a3 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb702838b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xb710a837 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xb713e5eb sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xb71ead1d pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xb725392d class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xb7260ef8 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xb72c92f9 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xb72e54de ping_err +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb75041d1 hv_stimer_legacy_init +EXPORT_SYMBOL_GPL vmlinux 0xb75a36e1 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb75e4c57 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb761318b sev_active +EXPORT_SYMBOL_GPL vmlinux 0xb78ec2c7 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb79cb967 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xb79df227 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7aaf050 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xb7b49b87 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xb7c0fbbd pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xb7c35be8 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7da03b7 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xb7ddd6fb bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7ecddac __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xb7f6c29c rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xb7f73ef8 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb7f931a1 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb7fdbb58 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb8053aac pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xb809def4 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb84d0be5 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb85937b4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xb85f0c75 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb8636607 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0xb87bdcbd blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0xb88685bd sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xb886b440 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb896523e __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xb897c4bb nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xb89d4ea1 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8b2b1f7 mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0xb8c67f3f ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8e6696f get_device +EXPORT_SYMBOL_GPL vmlinux 0xb8e98c2a fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f38e62 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb8f592de platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb91a798b gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xb928b10f xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xb945e10a regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xb9528e74 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb95c7478 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb98018b4 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xb9883da9 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xb9a3e118 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xb9ab1589 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0xb9ae1bf9 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xb9b7457e dev_pm_qos_add_request +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 0xb9d5efc5 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xb9e2b01f thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xb9f89246 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xba01ec83 hv_stimer_global_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xba027079 bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xba16d586 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba25d670 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba3df2a1 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xba61efe5 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xba65cd2f __module_address +EXPORT_SYMBOL_GPL vmlinux 0xba6e7c73 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xba71c1d3 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xba8d2ec4 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xba984d9b acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xbaafc0bd cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac68489 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbac74674 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xbadb5bba list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xbadcd12c preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xbae207d7 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xbae765e8 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbaf7c755 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xbaf9d785 __tss_limit_invalid +EXPORT_SYMBOL_GPL vmlinux 0xbaff4456 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb0f8c24 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb323ffc acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xbb326d21 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xbb373ddc ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xbb3e4691 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbb4643bf dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xbb5dd1ba is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xbb69f77c rt_mutex_lock +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 0xbb8f45ca thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb9ee752 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xbb9f477e kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbba23e8e cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbc80724 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xbbce4672 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xbbddfbec hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xbbde6fb4 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbbe21337 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xbc04bd46 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0xbc26977b ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xbc2c78c6 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0xbc300e87 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xbc346400 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xbc60dc37 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6e7b5f irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc73a2f6 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xbc75282c usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xbc94645b devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcd999f8 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd1045f1 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0xbd10c63f iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xbd2a891b blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd50adf7 phy_put +EXPORT_SYMBOL_GPL vmlinux 0xbd51d9c6 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xbd67e9ba acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xbd8d5801 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0xbd9ee3b5 gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xbdb2dfd5 uv_bios_reserved_page_pa +EXPORT_SYMBOL_GPL vmlinux 0xbdc5357f __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xbdfa1d55 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xbe0871c5 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xbe0aa066 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0xbe18d25c trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xbe3805f9 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xbe3e1577 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbe40a4b0 iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xbe58cf3b acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe744257 efi_get_embedded_fw +EXPORT_SYMBOL_GPL vmlinux 0xbe8df2f3 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea3a7cb get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeb456aa clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xbec1022b spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbed18a75 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf21f087 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf81a595 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xbf957eb9 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xbfb1be70 hv_setup_vmbus_irq +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfbce360 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xbff5bf46 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc006950f input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc023f5c9 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0xc060cd64 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0xc0748a4f ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc081590d tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xc08bbce6 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xc0a17ed0 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0aed674 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc0c2784a devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xc0c34120 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xc0cdd1c2 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xc0d3b7dd phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0fc86af kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xc1052595 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0xc108298b ref_module +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc11a2ac2 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0xc12b4a62 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xc12b99be netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xc12bd2c7 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xc13774de register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xc143b076 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc14e955e usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xc1535160 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc16458b3 pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xc167af12 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc16d25df platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17c1e92 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc18cdf36 amd_df_indirect_read +EXPORT_SYMBOL_GPL vmlinux 0xc1bb6377 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xc1bb7a43 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL vmlinux 0xc20e9bd8 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc234a580 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xc238158b tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xc23d677b ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xc2594a68 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc261de49 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xc26241d5 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0xc26867b0 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc283e842 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xc287d96a kvm_set_posted_intr_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0xc28895ba usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc2a1684c device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2aab8df devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c3c9fb fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xc2c69ddc lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xc2d25254 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2fc4b96 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xc303230c regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc35121fd bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xc36ba4d4 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3984df0 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xc3a08ebe dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xc3aa2b17 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc3aba264 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xc3bb65ae dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xc3c0d3a1 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xc3c22c14 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3c7e5e0 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e33e61 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3edf6aa save_fsgs_for_kvm +EXPORT_SYMBOL_GPL vmlinux 0xc3fbb861 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xc4032411 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xc40332dd dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xc40850b0 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xc40b7d4d irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xc40f4e07 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc41c6633 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4379166 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xc4382fc5 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc444d3b3 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xc4467788 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc45d0d13 injectm +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc4669f43 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc46aa0a9 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xc46c3ba6 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL vmlinux 0xc494cfe9 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4a9c157 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0xc4ac8eef __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xc4b913a9 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xc4bc683c devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xc4d68e95 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0xc4e845cc dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4e86c52 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fb9513 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xc4fc15a5 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xc4fca5b5 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xc4fe6ffb __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0xc5089ad0 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5156bf3 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc52c7f0c phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xc52f0388 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0xc5388988 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xc549c0ba usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc54a74c3 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc57190bb fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc575fde7 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5926a8c icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xc594d840 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc598eb12 events_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc59e00b7 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5d25213 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xc5d2af86 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xc5d789df alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xc5d904e4 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xc5ebd12b pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xc5eefae8 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0xc5fc7e52 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc60bddeb usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xc60d34ff devres_get +EXPORT_SYMBOL_GPL vmlinux 0xc612a41b usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc622a3cf blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xc63c68f2 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xc641cf07 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xc6437452 blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0xc6442232 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xc650d1eb rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc658737d gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +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 0xc694ee83 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a29c23 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6b10427 ex_handler_fprestore +EXPORT_SYMBOL_GPL vmlinux 0xc6b1c197 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xc6b464bb crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xc6b98a7d to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xc6b9ef0d gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xc6bec2d2 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xc6c34cab irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6d4e7d2 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e1e06f edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xc6e2c119 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xc6e85ec3 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xc6e8a639 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6f7a88f tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xc6ff65fe gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc735e2de i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xc7853d9d xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc78654ea device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0xc79ae9d3 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a44e1a hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc7b00252 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7c8846c ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xc7e9dc20 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xc7ec8c04 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc7fe587d do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0xc7ff6051 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xc8042a2a virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xc8198573 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xc823ec5d of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc830bdc5 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc8525726 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xc8563822 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc85b066d enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc8792545 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc87ed425 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xc87fb025 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc887ecf5 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0xc88ed080 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc890dced spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0xc895b285 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8b2e264 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xc8be1a05 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xc8c2df21 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xc8d2218f intel_msic_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc8d68ec1 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xc8daa164 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e2b6f6 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc8f162c9 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0xc8f9d866 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xc903e885 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0xc9045427 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9163772 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xc918c753 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc91cad86 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0xc91f0e9f cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc922b043 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xc92af918 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xc931370c ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc941df67 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xc95604b3 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95c3302 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xc9602896 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9739101 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0xc9763933 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xc97a00c9 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc98d23f6 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xc98f7d43 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xc992f82b nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xc99c230f regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xc99ee506 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc9a4b416 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xc9a50682 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xc9b58fed security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc9befb83 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9d8b46f serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xc9e4b7b6 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f95c99 acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0xca0768b2 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xca08b38b crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xca13d387 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xca180689 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca28d443 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xca2907d1 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xca3269ee arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0xca38385b spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca4e261b scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xca4e394e mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xca57789d rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xca5c604d pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xca761525 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9cd00c rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xcaa54d7c mmput +EXPORT_SYMBOL_GPL vmlinux 0xcaa68533 cpu_has_xfeatures +EXPORT_SYMBOL_GPL vmlinux 0xcaad57d3 arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0xcab39df7 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xcab71f40 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac437d6 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xcacd88a0 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcad221f9 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xcad6bee6 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb1e14fd acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xcb291307 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb7165bf serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xcb7cf5b8 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcb7db0c0 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xcb7f7a85 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xcb893979 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xcb8a461c hv_stimer_legacy_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xcb970751 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xcbb96a1a rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xcbb9cfa0 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbea0463 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xcbec2c6b blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xcbf60a87 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcbf89adf free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xcbfc8121 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0xcbfec966 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xcc00cef9 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcc234d62 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xcc2735c5 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcc2d925a ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc5104d0 copy_mc_to_kernel +EXPORT_SYMBOL_GPL vmlinux 0xcc66f246 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xcc69f0da pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xcc776c90 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xcc7c3f0b xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xcc8829b4 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xcc888484 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9e8c2b perf_msr_probe +EXPORT_SYMBOL_GPL vmlinux 0xcca4bb3a devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0xccba95e2 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0xccbae75e debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xccccf5f1 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd43404 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0328ba pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xcd0e0f7e devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd2fdb7e gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xcd3e5c7c acpi_release_memory +EXPORT_SYMBOL_GPL vmlinux 0xcd4dedf1 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xcd52d3aa ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xcd63fc72 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd80089e devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xcd81a945 switch_fpu_return +EXPORT_SYMBOL_GPL vmlinux 0xcd90087d fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9c1709 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc2afcf dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd54518 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcdf356b7 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xcdf42841 nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0xcdf5517a dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xcdf9626c devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce0f355c phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0xce0f6bf1 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xce29ad76 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xce37426b regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xce497ee5 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xce4bbb76 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0xce6333d6 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xce69173e __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce837c71 __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xce939281 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xcea9b73f __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xceb1e33c nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb3694c fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xceb66bec sched_clock_cpu +EXPORT_SYMBOL_GPL vmlinux 0xcebadccc usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcec74c29 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0xced0fb91 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xcee08832 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xceed8318 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xcf04f4ef devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xcf087f6d fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xcf1adf7f dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0xcf2dd0f6 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xcf48b85c ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xcf4ac63f strp_stop +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf5907be each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xcf63dab6 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xcf66a27e serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xcf6af2cf tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcf8bb3e6 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xcf8e041a iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0xcf9fe997 x86_vector_domain +EXPORT_SYMBOL_GPL vmlinux 0xcfa353dc devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcfaac547 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0xcfaacbad clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xcfba5ab6 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xcfc15f4b rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xcfc48098 synth_event_create +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 0xcfe5a834 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xcfec12b8 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xcfee8cb3 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xcff73507 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xd021599a gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xd0379d8c bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458a75 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd0481443 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xd04e7e57 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xd05377f6 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xd0548888 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0xd0598026 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xd060c6cd devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd0841312 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xd08d0e1f sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xd0910a2d irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0a08669 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0a85eac devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xd0b7159a devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0xd0b79e99 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0xd0baa3b0 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c2dd3d inet_twsk_put +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 0xd0e8f630 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xd0f2ded5 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xd10d1806 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd10f0b9c fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xd122a4ea mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0xd13d5628 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd1663950 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xd16c2f3a ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0xd1836224 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xd1c3bd29 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d06648 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xd1e363d2 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xd1eaff38 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f7a08b vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xd1fbc889 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd1fc4e20 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2117a9c dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd224cf4b wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xd2270856 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xd23a1ada nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd251c801 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xd2520916 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xd254e50f pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd25f8ae5 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd268a880 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27c8317 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd2873e6e devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xd28d2416 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2c8ae77 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2d0e256 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xd2d96100 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xd2dbe0c3 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2f46f9c check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xd2f6ad63 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xd30656be pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xd319084f devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32694be sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xd3308ec8 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xd333948a xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd3966338 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0xd39ba250 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3b6ac09 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xd3bfa753 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3e79577 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd3fd77fd sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xd3ffefc7 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd42b7243 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xd446a80e acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd44c0435 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xd450f42b dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd4746a1d regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xd49d2ed6 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd4a8c6b5 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xd4ac5c6b alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4bb5ecd regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xd4c102d7 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c16115 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xd4d1f4a7 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xd4d8b9c2 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f0ee8c smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xd4fba087 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xd4fdafd7 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xd513e846 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xd52936f1 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 0xd54370cf balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd56a9ffa lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xd57fbd31 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5813185 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd5822803 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xd58c7c8b ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xd58c9c02 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5a11422 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd5ad357f __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xd5b57ab3 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd5bbfb92 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xd5d34403 __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xd5d549b6 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xd5d862f9 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xd5e12d0d serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xd5e853d2 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xd5ed2218 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0xd5f3bb7b set_memory_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xd60152f6 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0xd6104929 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xd626d1e0 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xd6380d78 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xd6387bdf sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0xd6402118 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd656b69a inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xd65bacb1 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0xd6654233 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6751e4c irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xd68caa2d rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd69699be pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd6be7718 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0xd6ca1cf4 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xd6deb1f0 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd6e33449 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0xd6e549be __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd6ec6577 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xd6f13c91 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd732fe39 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd73b65a5 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0xd746e3bc skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xd759d1ae vfs_listxattr +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 0xd7873b50 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xd7c39fff free_iova +EXPORT_SYMBOL_GPL vmlinux 0xd7c9b546 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xd7cab466 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7e783a8 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xd7ec9839 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd80db728 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0xd810167d rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xd811b29a fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xd8166f4b __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xd8366724 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0xd83aad88 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xd83f3e40 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd853bef3 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xd8687190 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0xd870e5e5 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xd8729240 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xd87a9401 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xd87cae4f extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd88f0e2c pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0xd8998454 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xd89b6c69 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xd89e6a09 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xd8ab7ab2 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0xd8c0651b mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xd8c71865 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8ec7967 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8f0ff7e inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91b14bf crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd927a68e od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd934747b skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xd93a38a3 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd9436217 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xd94a871c get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xd954a088 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xd9626ba9 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd98a480c fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0xd9a410a1 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xd9bd2a03 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd9d5d879 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xd9dcf09b metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9f71b81 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda15a15d alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xda1f78ee clear_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xda309bfa __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda34f5f4 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xda358474 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xda36a926 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xda3bc242 fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xda5b07d4 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xda68d614 blk_mq_sched_mark_restart_hctx +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 0xdab10630 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdabddf23 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xdad2389c device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdae72035 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xdae76fa9 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdaf5d09f devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdaf7b2df bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb134df9 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xdb15f76a device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb318736 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xdb3b0fee crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xdb3f8d6d devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0xdb56d994 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb735885 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xdb88772f kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb924a53 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xdb9b39a3 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xdb9f6290 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xdb9fa712 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xdba829ed phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xdbaf86f8 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xdbba8877 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xdbe09ef3 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xdbe1b24d crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xdbe6a0a1 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdbf29726 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xdbf7808e pci_msi_set_desc +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf98c32 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xdc0013b5 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xdc042c90 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc176f3b __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xdc1b99f6 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xdc20f39d __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xdc21b41f sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xdc21e866 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc52cbc1 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xdc56ee12 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xdc60230a pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc6d1e35 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc82b79b regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0xdc84d653 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0xdc91b881 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc981008 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdccbbf23 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xdcd18d2f queue_iova +EXPORT_SYMBOL_GPL vmlinux 0xdcd8b9df xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xdcde3798 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xdcde805f i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xdce23a83 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdcedb586 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xdcedbe07 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xdcf075f0 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xdd0251a2 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd0e859a acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdd173db5 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xdd212845 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xdd32d5ac devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd44e713 component_del +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd7afd92 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xdd7f0765 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xdd8110d9 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xdd90c290 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xdd9f3a77 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xddba038f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xddbaed8b setfl +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddc75fee intel_msic_irq_read +EXPORT_SYMBOL_GPL vmlinux 0xdde5fa96 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xde09a94d xas_find +EXPORT_SYMBOL_GPL vmlinux 0xde09e851 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xde14c636 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xde228be3 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xde2d3af0 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xde3dee7b ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xde3ee971 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xde46c79e nf_route +EXPORT_SYMBOL_GPL vmlinux 0xde522d0a percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xde60bab2 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xde682d27 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde8f2b7d iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0xde971bfd gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xde9aeed1 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdebe9fa1 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xdec5ff48 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xded00e09 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xdedb4681 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xdee4e411 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xdee9aa6b icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0xdef0817e crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +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 0xdf223247 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf3cf123 do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xdf3f7c62 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0xdf46a5c9 init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xdf4e0cb1 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xdf81924d uv_bios_mq_watchlist_free +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfa3c62c spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xdfa8d578 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xdfb58884 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfdf2c48 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdfe1830f mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xdfe6f6b2 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xdfe823e3 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xdfe88102 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xdff40f0d is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xdff83168 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xdffa527e fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xdffda378 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xe0024ef0 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0xe01f275b irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xe035e871 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe0455e20 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xe04aaa05 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe07d0510 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0aa3f53 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0b50341 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xe0bd538d usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xe0c13f1d debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddc4a3 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xe0f5e6df usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xe0fd70f9 blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xe107c258 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe10e7517 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0xe133a2ba kick_process +EXPORT_SYMBOL_GPL vmlinux 0xe1529fdf irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xe15e8dd2 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xe1756b7a devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1a99fe6 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xe1aa2d62 set_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xe1aac473 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c5dd14 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1db9686 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0xe1e4df72 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xe1fcc2fe wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe20809ad rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe20c8bdb clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xe20f04e0 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xe2197530 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xe21e70bc rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0xe22a9733 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe23a6a1f pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xe24a9f8a tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xe24f4c55 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe2582a12 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xe25b31e9 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xe270eac4 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xe273f265 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xe292fdfc ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe299ef90 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xe29fd875 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xe2a090ed irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xe2ac0e55 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c8b54b serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2e5c0b1 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xe2ef6590 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30de58b pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xe32760aa pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xe329ba24 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xe32ad459 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0xe338c5ac inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xe356ba5c gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0xe363de1d devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xe36ffdc4 tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0xe373d088 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe3948ff4 acpi_walk_dep_device_list +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a5228a smp_ops +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b70030 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3ceaca2 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xe3da94fc regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xe3df6055 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3e795d2 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xe3e88acb __get_current_cr3_fast +EXPORT_SYMBOL_GPL vmlinux 0xe3e96462 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xe406776a blk_clear_pm_only +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 0xe4532a0f usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0xe46f653a bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xe4832b4e nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xe4846dea lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xe48611ac trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xe4874aef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe494a5d1 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xe495926a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a62d88 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0xe4a68e0c dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bfc7d1 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4d7e893 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4ed4155 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe4ee5a1c usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xe4f2ffd5 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe4f716d0 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe5029ff8 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe51874da device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xe51e3fe1 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xe5210e37 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xe52a4ac9 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0xe5326428 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe536d25d usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xe54a1d39 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0xe54c6d58 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xe56bf351 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xe5720c74 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe5bc871e pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c3350a bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0xe5c9bd37 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xe5cfa6fe clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xe5d27d85 node_to_amd_nb +EXPORT_SYMBOL_GPL vmlinux 0xe5e38632 dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe5f2a65b tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xe5f59904 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe6085a65 acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60c635b regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0xe60ec915 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe6350df4 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xe6358be5 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xe6381350 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe65ced6d ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe67218cb dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xe68edef0 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0xe69b33db disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6b507f2 ping_close +EXPORT_SYMBOL_GPL vmlinux 0xe6b79935 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xe6cb59a0 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xe6cc21b8 devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xe6d42d4d security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xe6d80a77 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0xe6d829cc extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xe6e0c6d5 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e727ea iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f5e6f5 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe71a421b net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0xe7205495 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe740b58a hv_vp_assist_page +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75888dd sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xe764d758 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe76a1e2c __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe78589d6 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xe788a3ba usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7a1fc8d blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7dcedb3 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xe7e0af4f rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xe7ea142e crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7efa8f1 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe800ab07 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xe808b1aa serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe8100229 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xe812ed07 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe81718f9 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81abdc5 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe81c0a5f devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe81eb3e7 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0xe82d3db5 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0xe82d5b21 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xe83396c0 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xe83eba32 itlb_multihit_kvm_mitigation +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe87adc1d intel_msic_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe8872e27 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xe892999a generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xe8ab699e fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xe8ac765d ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0xe8afb783 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xe8b234ea regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xe8b40f33 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe8cc47b7 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe8d7c5e4 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xe8f8518e relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xe91896de perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xe91db563 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xe9310014 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xe939d3bb pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94819ec iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xe9486a5d regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xe966fbdf blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0xe97aed0c xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xe9886477 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xe99c67f9 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xe9a0dc45 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xe9ce931a kvm_para_available +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d29449 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xe9d5b230 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe9dc9c42 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe9e18eb7 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0xe9ebeae7 ptdump_walk_pgd_level_debugfs +EXPORT_SYMBOL_GPL vmlinux 0xe9fe0aca tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea19b1d6 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xea204e38 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xea21a6dc platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xea281da4 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea5bea94 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xea69645b __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xea718135 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0xea73b8e3 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xea81f427 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea835be3 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xea849ba9 phy_get +EXPORT_SYMBOL_GPL vmlinux 0xea878438 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xea8aa706 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xea8be50b usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xea9f3a3b wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xeaa2d033 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xeaad96f9 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xeabecdb7 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5f782 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf1f2ef pwm_lpss_suspend +EXPORT_SYMBOL_GPL vmlinux 0xeaf37881 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xeaf7fe0f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb0080a6 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xeb127030 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0xeb1da4ea sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xeb30d7fa watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeb32772a bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xeb34e744 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeb379389 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb3d2960 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xeb40ba41 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb80e8d4 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xeb833c22 xen_has_pv_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0xeb8d5359 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xeb8da316 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xeb929b5b acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0xebb3a48c bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xebb52419 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xebb8ae48 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xebbf5708 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xebc987fd pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcd70c0 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebd8ba69 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xec053f79 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xec1628e6 pv_info +EXPORT_SYMBOL_GPL vmlinux 0xec24fee0 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0xec45492c blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec660cd3 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec714aec fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec788566 acpi_target_system_state +EXPORT_SYMBOL_GPL vmlinux 0xec8831f3 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xec8aecd8 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xeca9e473 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecc37dfa spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecd97533 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xecdc4668 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xece85e46 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0xeced6606 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xecf45079 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xecfda321 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xed0413e7 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0xed1bcb5d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xed3f8805 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xed41c272 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xed4bf348 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xed510b36 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xed59b6b3 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xed6582f1 intel_msic_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xed674e34 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xed7c7b91 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xed897a3b fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xed969f2b ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xed993fe1 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0xed9f548c __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xedaa0d28 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xedc65589 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede98ec5 intel_pt_validate_hw_cap +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedef4258 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xedf4e33d xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xedf7c396 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xee02170f gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0xee0d4984 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xee0fe76e device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xee12047f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee1b7d2f trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0xee2342be pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0xee2707f5 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee4f3aed sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xee512564 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xee56bb99 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xee5f59b1 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0xee64cf4c arizona_request_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 0xee6ee5c4 nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0xee78ad4c aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xee923618 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xee9fcda6 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xeea13abe rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xeea34194 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xeea39332 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xeec086e1 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xeecd52cd ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee667d3 fpregs_assert_state_consistent +EXPORT_SYMBOL_GPL vmlinux 0xeeed035b irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xef0e2ae8 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xef16587e phy_create +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef3a7d9e con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xef3d98db phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef531c69 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef8fc95f kvm_async_pf_task_wait_schedule +EXPORT_SYMBOL_GPL vmlinux 0xef91cdb2 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xefa0837f spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefa6be6c fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xefb3c23d devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xefb97194 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xefb9e22c virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xefe33ee0 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xf005c8d1 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xf00f796d hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf025e9dc regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf0271e66 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf02a3725 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xf037a23f to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0xf0405f48 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf0504ce5 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf0616a28 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf07227dd gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0xf0737b9b sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xf07ac2df debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xf07fa968 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xf08050c4 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf0898586 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0a2c6aa gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xf0a8374f mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0xf0c5273f i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xf0c73f94 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xf0cea88c __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xf0d478c7 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xf0df6235 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xf0e89ed3 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xf0efa77f hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xf0fef61b __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xf11b5984 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xf11f9315 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xf12dbaba relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf13ad8c4 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xf14b9abb ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1949a74 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xf19bf5b2 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xf19f9b39 set_pages_array_wt +EXPORT_SYMBOL_GPL vmlinux 0xf1a03355 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1c1ca5a trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xf1c76a4b devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xf1cd8929 kvm_read_and_reset_apf_flags +EXPORT_SYMBOL_GPL vmlinux 0xf1e553ad usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xf2199569 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf24c6ab3 pwm_lpss_probe +EXPORT_SYMBOL_GPL vmlinux 0xf2512957 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0xf251b707 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xf258128f pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0xf265f7b8 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xf26ad256 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xf26efb4c uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf27e6b9a ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xf28df6f0 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a96168 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xf2afb0b8 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf2b05117 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b94bf5 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xf2d9f4dc ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf2e913b6 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xf2f0d222 devlink_port_type_eth_set +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 0xf31a74f2 pinctrl_enable +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 0xf34220ca bus_register +EXPORT_SYMBOL_GPL vmlinux 0xf3457157 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xf34c0abc crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35b044b regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xf3676a0f ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf3713c53 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xf371ff4d led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf389170e crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xf38e777a hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xf39003aa irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xf3b1baee serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3c3976d usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xf3cd2751 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf3e0a112 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xf4030769 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xf408f669 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xf415941d sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf42c0ff7 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xf42c2dd1 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xf4327c5f spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf436d23d handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xf4476a17 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xf44a9498 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xf456250d public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf4724519 dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf486c921 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xf48e0b15 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xf4a17ab3 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xf4a71d0b i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4c8851b virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf4d2ef83 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xf4d89a38 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4ef450b vfs_read +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf4fe9abc __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf50a87b2 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xf50e911e copy_reserved_iova +EXPORT_SYMBOL_GPL vmlinux 0xf5183f83 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xf535eda5 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54dde99 clear_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5539aeb devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xf55461fd debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xf5566374 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0xf56336ab usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xf575dba4 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xf5a23d3f nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5af230a pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xf5bc4dfe devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xf5bd4a58 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xf5c7d12a pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0xf5c8e9be gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5e57211 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf5f2a7bb sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f86803 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf613a571 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf61559a2 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xf617f10d subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xf6230e49 fpregs_mark_activate +EXPORT_SYMBOL_GPL vmlinux 0xf6464d30 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf64ba585 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf654ba51 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a8d93d tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6c9228c sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xf6db01fa bus_unregister +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 0xf6f48d39 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xf6f6cf14 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xf7173948 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf71a234a tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xf726209b irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0xf72c135e tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xf73cea9c crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74a082e tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf7558ead devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xf767ca35 fixed_percpu_data +EXPORT_SYMBOL_GPL vmlinux 0xf76accfd screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf792dffc gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0xf7963d71 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +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 0xf7f57676 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf7f936d4 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xf7fb45a6 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xf8130bb1 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf831a160 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf840f9c5 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf843b1ba regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf84e28a2 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf84fe616 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xf858a12c devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0xf8640723 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf872dffa bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf880d5df pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xf881cecd load_fixmap_gdt +EXPORT_SYMBOL_GPL vmlinux 0xf89d1e91 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0xf89d6aea elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xf8a3d023 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xf8b16365 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf8c82748 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xf8d551d9 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xf8d5c51c dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xf8d9bdc2 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0xf8e16948 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3986 pat_pfn_immune_to_uc_mtrr +EXPORT_SYMBOL_GPL vmlinux 0xf9004a83 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xf90e96b3 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf90fbc8a badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0xf91ab2ed __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf9385ed6 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf9484d24 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a3fd5e usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xf9be6677 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xf9cd3c1c phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0xf9d3f047 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xf9e6bac4 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0xf9ec5657 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xf9ee75a1 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xfa0a8896 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0xfa15e773 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xfa1ced3a device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1edec3 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa316cb7 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa35044a alternatives_patched +EXPORT_SYMBOL_GPL vmlinux 0xfa41f77a do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xfa5d9586 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfa6263c5 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa79801f cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0xfa9189b6 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xfa996cd6 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0xfa9d6d2e usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xfa9faabc blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xfaaaca9b pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfac3d93b tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xfad294ee serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae3a943 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xfae9496f pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfaefe90e pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xfb0604be i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xfb066308 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xfb1947d7 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xfb1e5bd5 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xfb27c42f xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3afc82 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb3e826a blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xfb3f55d4 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb74573a devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xfb754c63 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfb93bfea bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xfba9ec71 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xfbba79b7 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbc4eaff __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xfbcb5924 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xfbd1c8bd unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0xfbdfc558 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xfbeb5e5e devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xfbeb8482 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0797e4 free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xfc084dd3 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc2c87c7 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xfc378b6c devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3f9117 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xfc5b8ba6 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xfc5f0fbe usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfc701dbd cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc746b3c gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xfc8644e3 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfc8bb0ce aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0xfc8ccca5 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0xfca54adc fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xfca7c517 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xfcaa1642 wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfce61e08 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xfce7bd44 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xfd00c20f inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xfd03f40f genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xfd1c5098 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xfd305377 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xfd31a23b usb_string +EXPORT_SYMBOL_GPL vmlinux 0xfd35a119 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xfd3ed842 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xfd42d890 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xfd5b2c27 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xfd5dd7ec vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfda6abfa devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfdac6af8 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfdadb44f power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0xfdb4eac9 __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdcd7fe4 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xfdd55f38 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xfdd5d194 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xfde173ba ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xfdf42b47 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe03f8ad regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe0ec4f6 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xfe29e355 devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0xfe2ecf55 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xfe31c6a4 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xfe3d4ede dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe573f50 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9ccad2 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfeb743b1 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xfecc5455 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed66c7b spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfee30672 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xfee754f6 vfio_iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff12ebb0 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xff1e67b9 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff385b04 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xff40a02e pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff62e485 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0xff7556c2 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff895588 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xff8a3fe6 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xff8bcbd2 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0xff8e65b8 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xff8e74e2 arch_haltpoll_enable +EXPORT_SYMBOL_GPL vmlinux 0xff8fd9e3 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0xff9483be tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0xff9ce667 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffb96d9c bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xffc4fd62 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0xffca8c8d virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0xffe43342 dma_async_device_channel_register +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x2d718d88 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x7006f03f ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x1a5d88e9 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2247e843 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2849a6ea mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2b45416e mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2cfa7eec mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x388f2b98 mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x53223c04 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x71ef5535 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x94430c9a mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xb100f0ce chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc3305fe8 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd7ff56d6 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xdad66a34 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeaa9bcca mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x0daae2c3 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x48e83539 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xdcdf9edb hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x234a6d5f hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x7d3f0a9a hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xff18df77 hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x5b5be595 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x61cf31b7 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x703e1716 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x9b3cc351 sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xa9a9b2b6 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xacf31f39 ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xeef823bf sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xf4d48b52 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xa9bda79a intel_pcm_open sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xb73f58ed intel_ipc_pcm_params sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xbf8c43b4 intel_ipc_msg_data sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xfc818e99 intel_pcm_close sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_MERRIFIELD EXPORT_SYMBOL 0x8639b9f0 tng_chip_info sound/soc/sof/intel/snd-sof-intel-byt +SND_SOC_SOF_MERRIFIELD EXPORT_SYMBOL 0x87850ba0 sof_tng_ops sound/soc/sof/intel/snd-sof-intel-byt +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0x8f720857 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +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 0x0a2f20bb usb_stor_set_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 0x3b69af8b fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5389b503 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5798bf91 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x677251e9 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6c743f9f usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x713ca4b4 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x723e221d usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x79c6287e usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7eb7a37d usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x85e8a0b2 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x8e96c92f usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x95867151 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x95d0c508 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9bafa58c usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa0190265 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xac83c12b usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb4d02a84 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcf51b9c4 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcf74c562 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe0e7aa46 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe614682e usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xee789cd1 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfd9d38e3 usb_stor_adjust_quirks drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/generic.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/generic.modules @@ -0,0 +1,5726 @@ +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 +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_rdma +9pnet_virtio +9pnet_xen +BusLogic +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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 +advansys +advantechwdt +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +airspy +ak7375 +ak881x +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 +ambassador +amc6821 +amd +amd-rng +amd-xgbe +amd5536udc_pci +amd64_edac_mod +amd76xrom +amd8111e +amd_energy +amd_freq_sensitivity +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 +analog +analogix-anx78xx +analogix_dp +ansi_cprng +anubis +aoe +apanel +apds9300 +apds9802als +apds990x +apds9960 +apex +apple-gmux +apple-mfi-fastcharge +apple_bl +appledisplay +applesmc +applespi +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquantia +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_ps2 +arc_uart +arcfb +arcmsr +arcnet +arcxcnn_bl +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 +asb100 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asus-laptop +asus-nb-wmi +asus-wireless +asus-wmi +asus_atk0110 +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +atbm8830 +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +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 +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 +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 +blake2s-x86_64 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish-x86_64 +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_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 +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_hsi +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-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 +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-pltfrm +cdns3 +cdns3-pci-wrap +cec +ceph +cfag12864b +cfag12864bfb +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-x86_64 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8505 +chipreg +chnl_net +chromeos_laptop +chromeos_pstore +chromeos_tbmc +ci_hdrc +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_usb2 +cicada +cifs +cio-dac +cirrus +cirrusfb +ck804xrom +classmate-laptop +clip +clk-cdce706 +clk-cs2000-cp +clk-max9485 +clk-palmas +clk-pwm +clk-s2mps11 +clk-si5341 +clk-si5351 +clk-si544 +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_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +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 +cops +cordic +core +coretemp +cortina +cosm_bus +cosm_client +counter +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpu5wdt +cpuid +cpuidle-haltpoll +cqhci +cr_bllcd +cramfs +crc-itu-t +crc32-pclmul +crc32_generic +crc4 +crc64 +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_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_kbd_led_backlight +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +crvml +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +cs89x0 +csiostor +ct82c710 +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +dax_pmem_compat +dax_pmem_core +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dcdbas +ddbridge +ddbridge-dummy-fe +de2104x +de4x5 +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_rbu +denali +denali_pci +des3_ede-x86_64 +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dl2k +dlci +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-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 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dps310 +dpt_i2o +dptf_power +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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 +dw9714 +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 +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 +echainiv +echo +ecrdsa_generic +edac_mce_amd +edt-ft5x06 +ee1004 +eeepc-laptop +eeepc-wmi +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efi-pstore +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 +enic +epat +epia +epic100 +eql +erofs +esas2r +esb2rom +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +eurotechwdt +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_cs +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +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 +fscache +fschmd +fsia6b +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +ftdi-elan +ftdi_sio +ftl +ftrace-direct +ftrace-direct-modify +ftrace-direct-too +ftsteutates +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gasket +gb-audio-apbridgea +gb-audio-gb +gb-audio-manager +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 +gdth +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-clmulni-intel +gl518sm +gl520sm +gl620a +glue_helper +gluebi +gm12u320 +gma500_gfx +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +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-generic +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sch +gpio-sch311x +gpio-siox +gpio-tpic2810 +gpio-tps65086 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +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_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hdaps +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +hecubafb +helene +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfi1 +hfs +hfsplus +hgafb +hi311x +hi556 +hi6210-i2s +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hio +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hopper +horizon +horus3a +hostap +hostap_cs +hostap_pci +hostap_plx +hp-wireless +hp-wmi +hp03 +hp206c +hp_accel +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +hsu_dma +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 +hyperbus-core +hyperv-keyboard +hyperv_fb +i10nm_edac +i2400m +i2400m-usb +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-cht-wc +i2c-cros-ec-tunnel +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-gpio +i2c-hid +i2c-i801 +i2c-isch +i2c-ismt +i2c-kempld +i2c-matroxfb +i2c-mlxcpld +i2c-multi-instantiate +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-xiic +i3000_edac +i3200_edac +i3c +i3c-master-cdns +i40e +i40iw +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 +ie31200_edac +ie6xx_wdt +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +ina209 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +input-polldev +inspur-ipsps +int3400_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-rng +intel-rst +intel-smartconnect +intel-uncore-frequency +intel-vbtn +intel-wmi-sbl-fw-update +intel-wmi-thunderbolt +intel-xhci-usb-role-switch +intel-xway +intel_bxt_pmic_thermal +intel_bxtwc_tmu +intel_cht_int33fe +intel_chtdc_ti_pwrbtn +intel_int0002_vgpio +intel_ips +intel_menlow +intel_mid_powerbtn +intel_mid_thermal +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_scu_ipcutil +intel_scu_pltdrv +intel_soc_dts_iosf +intel_soc_dts_thermal +intel_soc_pmic_bxtwc +intel_soc_pmic_chtdc_ti +intel_soc_pmic_mrfld +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 +intelfb +interact +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ioatdma +iommu_v2 +ionic +iowarrior +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 +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +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 +khazad +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +ks0108 +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +ldusb +lec +led-class-flash +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-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxcpld +leds-mlxreg +leds-mt6323 +leds-nic78bx +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +legousbtower +lg-laptop +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libblake2s +libblake2s-generic +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 +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 +lmc +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 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltpc +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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 +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +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 +max1363 +max14577-regulator +max14577_charger +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max63xx_wdt +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77693-haptic +max77693-regulator +max77693_charger +max77826-regulator +max8649 +max8660 +max8688 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +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 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-bitbang +mdio-cavium +mdio-gpio +mdio-i2c +mdio-mscc-miim +mdio-mvusb +mdio-thunder +mdio-xpcs +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mei-me +mei-txe +mei_hdcp +mei_phy +mei_wdt +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 +meye +mf6x4 +mgag200 +mhi +mi0283qt +mic_bus +mic_card +mic_cosm +mic_host +mic_x100_dma +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microread_mei +microtek +mii +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx-platform +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +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_sound +most_usb +most_video +moxa +mp2629 +mp2629_adc +mp2629_charger +mp8859 +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi-laptop +msi-wmi +msi001 +msi2500 +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +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 +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 +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxm-wmi +mxser +mxuport +myrb +myri10ge +myrs +n411 +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand +nand_ecc +nandcore +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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 +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 +ns +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_intel +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nuvoton-cir +nv_tco +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvram +nxp-nci +nxp-nci_i2c +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +of_xilinx_wdt +ofb +omfs +omninet +on20 +on26 +onenand +opa_vnic +opencores-kbd +openvswitch +oprofile +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +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-raspberrypi-touchscreen +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 +pblk +pc300too +pc87360 +pc87413_wdt +pc87427 +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-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 +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_pcmcia +peak_usb +peaq-wmi +pegasus +pegasus_notetaker +penmount +pf +pfuze100-regulator +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cpcap-usb +phy-exynos-usb2 +phy-generic +phy-gpio-vbus-usb +phy-intel-emmc +phy-isp1301 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-usb-hs +phy-qcom-usb-hsic +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pinctrl-broxton +pinctrl-cannonlake +pinctrl-cedarfork +pinctrl-da9062 +pinctrl-denverton +pinctrl-geminilake +pinctrl-icelake +pinctrl-intel +pinctrl-jasperlake +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 +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +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 +pretimeout_panic +prism2_usb +processor_thermal_device +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_vmw +pulse8-cec +pulsedlight-lidar-lite-v2 +punit_atom_debug +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvrusb2 +pwc +pwm-beeper +pwm-cros-ec +pwm-iqs620a +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pxa27x_udc +pxe1610 +pxrc +qat_c3xxx +qat_c3xxxvf +qat_c62x +qat_c62xvf +qat_dh895xcc +qat_dh895xccvf +qca8k +qcaux +qcom-cpr +qcom-emac +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qm1d1b0004 +qm1d1c0042 +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 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rdmavt +rds +rds_rdma +rds_tcp +realtek +realtek-smi +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rocket +rohm_bu21023 +roles +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +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 +sbni +sbp_target +sbs +sbs-battery +sbs-charger +sbs-manager +sbshc +sc1200wdt +sc16is7xx +sc92031 +sca3000 +scb2_flash +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 +scif +scif_bus +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 +seed +sensorhub +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 +sfp +sgi_w1 +sgp30 +sha1-ssse3 +sha256-ssse3 +sha3_generic +sha512-ssse3 +shark2 +shiftfs +sht15 +sht21 +sht3x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sil164 +silead +sim710 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis-agp +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +skfp +skge +skx_edac +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +sl811_cs +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc91c92_cs +smc_diag +smiapp +smiapp-pll +smipcie +smm665 +smsc +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp3x-i2s +snd-acp3x-pcm-dma +snd-acp3x-pdm-dma +snd-acp3x-rn +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-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-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-ext-core +snd-hda-intel +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-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-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-acpi +snd-soc-acpi-intel-match +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-bd28623 +snd-soc-bt-sco +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-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-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdac-hda +snd-soc-hdac-hdmi +snd-soc-hdmi-codec +snd-soc-imx-audmux +snd-soc-inno-rk3036 +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-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-nau8540 +snd-soc-nau8810 +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-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-rt1308-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-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-rt700 +snd-soc-rt711 +snd-soc-rt715 +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-skl_hda_dsp +snd-soc-skl_nau88l25_ssm4567 +snd-soc-skl_rt286 +snd-soc-sof_da7219_max98373 +snd-soc-sof_rt5682 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sst-acpi +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-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-firmware +snd-soc-sst-glk-rt5682_max98357a +snd-soc-sst-haswell +snd-soc-sst-haswell-pcm +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-acpi +snd-sof-intel-byt +snd-sof-intel-hda +snd-sof-intel-hda-common +snd-sof-intel-ipc +snd-sof-pci +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-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 +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-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 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +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_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 +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +stx104 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3-wmi +surface3_button +surface3_power +surface3_spi +surfacepro3_button +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +system76_acpi +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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_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 +tea +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 +tgr192 +thermal-generic-adc +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-ads7950 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-tlc4541 +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 +tmp401 +tmp421 +tmp513 +topstar-laptop +torture +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_key_parser +tpm_nsc +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps80031-regulator +tqmx86 +tqmx86_wdt +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +uPD98402 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +usnic_verbs +uss720 +uv_mmtimer +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vboxguest +vboxsf +vboxvideo +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vfio_mdev +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-dma +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +visor +visorbus +visorhba +visorinput +visornic +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 +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 +vop +vop_bus +vp27smpx +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 +wimax +winbond-840 +winbond-cir +wire +wireguard +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 +x25 +x25_asy +x38_edac +x86_pkg_temp_thermal +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +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_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_gmii2rgmii +xilinx_sdfec +xillybus_core +xillybus_pcie +xirc2ps_cs +xircom_cb +xlnx_vcu +xor +xp +xpad +xpc +xpnet +xr_usb_serial_common +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 +yealink +yellowfin +yenta_socket +yurex +z3fold +zatm +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/generic.retpoline @@ -0,0 +1 @@ +# retpoline v1.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/lowlatency +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/lowlatency @@ -0,0 +1,24524 @@ +EXPORT_SYMBOL arch/x86/crypto/blake2s-x86_64 0x23aa18fe blake2s_compress_arch +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 0x7c904efe poly1305_init_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xd9ec23eb poly1305_update_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xfaeb41b2 poly1305_final_arch +EXPORT_SYMBOL arch/x86/kvm/kvm 0x61c16451 kvm_cpu_has_pending_timer +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x36a0eea5 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x585f61fc crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x8964105b crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x8c26d2ab crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x8f2bfcfb crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xdb8bb32b crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/sha3_generic 0x3b6eb417 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xbf888019 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0xed263b42 crypto_sha3_update +EXPORT_SYMBOL crypto/sm3_generic 0x7e1a88bb crypto_sm3_update +EXPORT_SYMBOL crypto/sm3_generic 0x9df26755 crypto_sm3_finup +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0xceec93be to_nfit_uuid +EXPORT_SYMBOL drivers/acpi/video 0x6bf802ca acpi_video_get_levels +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 0xe92ca535 acpi_video_set_dmi_backlight_type +EXPORT_SYMBOL drivers/acpi/video 0xf786fc3a acpi_video_get_edid +EXPORT_SYMBOL drivers/atm/suni 0xd6c348ef suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xad3e1ef0 uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xca4220d4 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0xfabf1d36 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 0x071afa95 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x5ee3df1c pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x856a21a8 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x8bd067a4 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x9195307d pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x91a9260b pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x9a95826c paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xb0bf75cd pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xc2cde180 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xd21640e9 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xd725b335 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xecee588f pi_init +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x9706e6d8 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0xa0b91026 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x3cf2cfce 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 0x0748510e ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0f505832 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31d130bf ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x33e06c7c ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +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 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 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/nvram 0x3ef38dc9 arch_nvram_ops +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x3c65dcd1 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x4ef0c660 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x8686abd1 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xf1455bdb st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x5f18d862 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xbf7b63b4 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xd6f943a6 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x3004413c atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x66664a66 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 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaaa6f64 atmel_i2c_probe +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 0x0a612c83 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x14c67033 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1c378454 fw_core_handle_response +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 0x4753b503 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5655b47c fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x61873646 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x63ec2105 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6703a46f fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x73da1359 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x93c5d89a fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9a4d5141 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa1fe035a fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaa1e1375 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaecfa150 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb4556001 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc71e3c47 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd4b48209 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd91e48a7 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe64c904e fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe6da994b fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe89e7e98 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe8b0093c fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe9a6554e fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe9f3f9bc fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf095b3d7 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf4201c29 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0004a5c0 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00150df2 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00473aec drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00521e89 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x026ddcaf drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02aecd83 drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03e819e6 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0457df52 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04e44efa drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0510e8fd drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05145d1c drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05278463 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0696d1a7 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07a82e11 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fc99e5 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x082055a6 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a6d8776 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bdb1e93 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c088d34 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c1d587f drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c7adf48 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e4b2617 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e64ea24 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ead2716 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f5904e3 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10186fb7 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x104e5214 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x105160b9 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x119cd174 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b9567a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13651f62 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x147f7714 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14c046cf drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1586d8ae drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ab5955 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x184b15d6 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1895b016 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a430a05 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a866b54 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d2e85fc drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da84931 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da8ce30 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1db93371 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1df24a34 drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f16e4cb drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fbc4928 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fe63b99 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x203bde89 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20cf7a72 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x212cc4cb drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21861ff1 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x224efa05 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22677247 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24684582 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2473c0f9 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x249ecafc drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25288497 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25b327d2 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2748d906 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27640057 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2809d8be drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2882e8ce drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a1e25ca drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a341593 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ae0bfea drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c6c777a drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cd538e6 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ea0d507 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f69a948 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30d369db drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3146eadc drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31984e3e drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31f83463 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x321eb9c8 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x323ccda3 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x327a41f1 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33433c1b drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x336805a1 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33bf3511 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3455a51c drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x349b1bc7 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35250b28 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x358c1105 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35ad6215 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x365bbe4a drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36a36334 drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3726aed8 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37714087 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3811d744 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x387a6330 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x387fd5a7 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38bf4596 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39a89fe1 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aec1bec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b3dccac drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b88ccd4 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba6dd32 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cfbdfd4 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3df15494 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e50b109 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e867ec3 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x404cda2e drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4155df1f devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41b0896d drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42e5adff drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x435ef282 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4391512e drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43e1ec60 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45eae437 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46e7bc9c drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49fa8828 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a267220 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ae062f1 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4de378a3 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4df6189c drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ed05e4d drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4edb3275 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f4d1b06 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f68343b drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50ce4795 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x527a157d drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53279837 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53eba669 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5437b028 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54fbbe67 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x550f311d __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x577e0d42 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x588cf3c4 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x590493df drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a008957 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a22d6b6 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a83e7ad drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a961e0e drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b230381 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b7d5202 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b9b5740 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c574c29 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d1fef62 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e191448 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e4d1504 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f096225 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f4b4e14 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6047748c drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60554b51 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x605f46fd drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60695f63 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x610205dc drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x613c4cb6 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x622c819b drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x623f0c82 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x631e911e drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x642148c9 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x648760fe drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64e5b687 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64eab508 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x652bc9e5 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65d6889f drm_agp_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6628b897 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6663026f drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66812c1e drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66eecf78 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x676bc2c6 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6857e22c drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69014e89 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a90d466 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6aea1f33 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b699747 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ba218f4 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cae674d drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d62ce20 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dedd14e drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e8a5c47 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6eaa080c drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2765a drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f24ea7e drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fd23a02 drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ffb4ed3 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x724aab5d drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x727ede8c drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72925169 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72bc80da drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73940048 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b14b4c drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x753e2670 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75e1e77e drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7633dee0 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76c44e79 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77b44d07 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78175ccf drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7948ffe2 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79df2deb drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a9cb58f drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d727ef5 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e775671 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f2f96c9 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fa5b4ba drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81469d64 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81856829 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x820d1c0b drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x821cba4e drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82999dd6 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82d4f77d drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83351a02 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83dbb9be drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83ec6a63 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8438ada9 drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8456c969 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x845974ef drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x853cc81d drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8784db52 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x879d91f6 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e1de50 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x886920e0 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8895cc38 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89b55086 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a2958e0 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a98d311 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b0ec437 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ba86e2a drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c480891 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c766019 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dd4dab2 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8df2c398 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f85eff8 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90305b3b drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90e06cef drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90e49a6c drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9159483b drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93037f23 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93b376f4 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93e55fba drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93f61930 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94179e2b drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9506d3d7 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x952ec1b7 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96a0b4b8 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97c2eb07 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97f1f8d4 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x980f15f3 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x981d0c5c drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98e779d4 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9953397a drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9972c2c4 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b4b222f drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b5624ca drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b96d517 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bb5e1cb drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d6ff886 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e1047ef drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e5a2598 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f94a3ed drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0186d2a drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa089940d drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0d70c7f drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa12ffd45 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1428642 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa16bc124 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa18958af __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa19ccbf4 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2604ded drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2fc94f0 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa39991ab drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3cac1b3 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3fd2d83 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4fb7874 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6abfff8 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa740c0a1 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7715e7e drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8a4c0ae drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa62c928 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaae2d26e drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad86f0dc drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xade60e60 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae764d21 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf854f6b drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaffbeabd drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb04039cc drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb05b3361 drm_connector_attach_edid_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 0xb2576d24 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3824caa drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4fc1439 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5a12361 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7655901 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7d5b5cc drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8e5a1f8 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9859625 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba60c879 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb64be4e drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbf96767 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcf41b3c drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd2f1cc0 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe0f2408 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe7ea36c drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf173df7 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf3df85d drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf6a60aa drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf91b835 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f093dd drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4794341 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4deb3aa drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4e16593 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5267d62 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5accdce drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5bb0516 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6e1224a drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8ddadfe drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc950dedd drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc98dc6de drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd18fcbe drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1228e4a drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1ac06ed drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1b31dff drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1d8d4a1 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4359b0a drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd49b463f drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4b64dcd drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd84214fc drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd99b932b drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9bf7ea9 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdce99162 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcff3ce7 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddeb3b8a drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde448905 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf41bddc drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf5399b9 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf5a1c0c drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf90c8d6 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfbdc7da drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfc22712 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe116d3a4 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe120bb26 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1aff55f drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2049df9 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3b9cec6 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3d6550b drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe463a2f9 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4e89407 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5045b53 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe505a456 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe51d26a9 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5364fab drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe54c43d1 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5c4ae87 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe63628af drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe64f9eb2 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7f1e490 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8f97f29 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea82c8ab drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec861276 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed88eac8 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0710d3e drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf07bfdb2 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf149e49c drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf201f8b3 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf236dd54 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2aa99fc __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3c0ad9e drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf472703b drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5047b19 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf50a031b drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf53cffe3 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf72e805a drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf74e95c7 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf81f6ecc drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8b34354 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9af0cf0 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa41d222 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaa1a7c8 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaa3856d drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc39877c drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc8ba837 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcb2421e drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd69357e drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdb6f0ee drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe4e9abb drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0001180a drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x005077b1 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03ca90fa drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x040f1e12 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x046185dd drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x046ff1e0 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x056e4a83 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06133259 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0aa0cd6a drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ef29a56 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fd932fc drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10d0d4db drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11958f53 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x13bda090 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1458b67e __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14d077f8 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1756902d drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17ee8ae4 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1aad178f drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b0d5495 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b304508 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b33fd0a drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b829c9d drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c725735 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1efa1aea drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20b8b0b2 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22714b1d drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2665afee drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2851ed89 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b0d9db5 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b6b0858 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b9b0e57 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bfd6780 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c008a99 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c37b98e drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cff8d13 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e860a79 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fa3b7fc drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fe90695 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x301bdde8 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x305ca87d drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30d0575b drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30fb2e4d __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x312868c4 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31acde27 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x341dd34a drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x394ace34 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3bbb533b drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3bfaee78 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c6c53e3 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3db1599c drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e953285 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ecf3964 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40124b49 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x408f5660 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x423d268a drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x42efb915 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x431bd42b drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4335a864 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43ac4d86 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43f015f7 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44e80492 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44fd35a5 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46ab5394 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x482937ae __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a94825f drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c39f1a4 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4db42168 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ef8090a drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f25164a drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52d5732c __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52f5c990 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53660044 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5403965c drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x569cdc69 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56d01102 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x579e109b drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57faf030 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f9cdf78 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61286516 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6205312b drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63dc4c7a drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63fc8e55 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x657d3d06 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65b4b677 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6745eae8 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69763548 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a59daec drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c71a346 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c99be12 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d04c57e drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f09ed12 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f828437 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70eb4c5e drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71bf01fc drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72469f42 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x728dcacb drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x729b94d6 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x737b7c54 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7493fb8d drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x774fd3f8 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7754c715 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7777df65 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a28a686 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c8a21c4 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d9ed63f __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fa5f62e drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x814feab3 drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81dee81c drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x832ac8e5 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8475c252 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85cc6e6d drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8639c3be drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ae2ada0 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ae607fe drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b3339a0 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8bd15696 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f52892a __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f9f4f1d drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x903fd044 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91252b35 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x952a5c4e drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95e97029 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96c6ca37 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96eb6299 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x98ea60bb drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b9d3753 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c90de5a drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f399cb7 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0a278e6 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1e766fd drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3cab9b3 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa423c17d drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa56dd7a5 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8ea8fed drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa990b648 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa8b95d0 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab72b0ce drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac41501d drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xacb56130 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xacf1a589 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad8f5a55 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf03d0b7 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf79d427 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xafac7394 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb216f1d0 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb2c90124 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb36458a1 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb527f3a4 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb599ce6b drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb682d06e drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb80a37a1 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb82ba774 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8b7ab7d drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8bcfa17 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbac2650e drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb50e4eb drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd122515 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbdedd350 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbec68cbf drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc02406c4 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0fdf637 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc116689e drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc29fa713 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2b9e35e devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc55ec712 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c7e293 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5f7c37b drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6968e8c drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8096b09 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xca82473f drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf3b9eb5 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd0925d19 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd13071db drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1bc5cc3 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd21d472a drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2c73395 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd328dd8f drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3fe1d1d __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd53d7ca5 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd79a2192 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd835507c drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd91d0e17 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd937dabf drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd979b7af drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda27f1d6 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda56a957 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda78eef1 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda9235b6 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde82df89 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xded0b165 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2bd7171 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe45a2a93 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeaca470c drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb3d897e drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee06f737 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee5d7734 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf071bd9b drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf085f02b drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0ee2419 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf34fafa1 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcebc737 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd472060 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdcdbd8c drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe9c5a79 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff93026c drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x100445ee mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1b140849 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x46a16473 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4e6839ec mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f8b3775 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x57f5f3b8 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x74449bdc mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x785cf6b7 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8f4cee89 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x96910363 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa0886527 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbb333e99 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd17ef734 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd6b44b56 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd8487008 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xefbc848f mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf462bd7e mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x2386ac69 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xe005ed3f drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x082da8e2 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0d04e636 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x22408b5b drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3711e46f drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x37af7182 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3d8f209c drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3dd6fa1e drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3e580e0b drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4a0af830 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4e17f2d6 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x73d410c4 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x74bf1ead drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9ba2f0ad drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9e446fe2 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9ee31542 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xac972f81 drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb07dc0b9 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc1a68222 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd3bdd6ee drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd48b0842 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe8cf3a69 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x26560ad9 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x26a1bea4 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x28404d51 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x37b2f687 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4c8d2e58 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5eb10299 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x604b8442 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x63f010ff to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6795187c drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6a198009 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6ca89aa9 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6e9a9d11 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9ae5c859 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa0dfb468 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb1dc450a drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb2bc8418 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbaac09bb drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd431b7b7 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdffef4b9 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf7c5f621 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfc0a6f50 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0175446f ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x095c3266 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f2917b8 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x14decf39 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c1b0585 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ef20229 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1fba7f07 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x21f55077 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22247367 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x272fbfa3 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x27c1c758 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2981aa5b ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2993de9a ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30a6f86e ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x324cc893 ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3dd8dbab ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ffcd26f ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x41fa32a0 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x46ec7bff ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x472d5ecc ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4be18d62 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d488982 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d6f6a95 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4efb7e44 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4fbbe249 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x539fd551 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x562673d1 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e96a2f5 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x652418f0 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x701ba930 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71ba71e8 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71eaf90b ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x72f46450 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x74050f44 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7782d894 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88872a0a ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88ae8691 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8cdc3121 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d55b768 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8fcbf361 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9ba4e79e ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9bde3810 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa1b3723d ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa39dc643 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa26fc02 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb05738e2 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb476d989 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb53a29df ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd06cb4f9 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd0d244f1 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd28e82bd ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd9897478 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdfe8a3c1 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe08c3a2f ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe158a217 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe4332048 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe4d4090a ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9a5d33c ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec453b4b ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf0ccfc47 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf610db75 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbf24c08 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe436818 ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x446c961c ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/hid/hid 0x2d940485 hid_bus_type +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x012b43fe ishtp_cl_driver_unregister +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x01b31654 ishtp_cl_tx_empty +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0269c4e1 ishtp_cl_get_tx_free_buffer_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x03ed13ad ishtp_reset_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x04f85b86 ishtp_send_suspend +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0d2ec691 ishtp_cl_link +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0d38a531 ishtp_register_event_cb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x174c5808 ishtp_get_pci_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1accbdd7 ishtp_get_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1fe7602f ishtp_cl_connect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x256ac48b ishtp_set_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x268cbdd8 ishtp_cl_io_rb_recycle +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x52a810f8 ishtp_fw_cl_get_client +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x586393f6 ishtp_put_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5f9b0501 ishtp_get_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x600e512b ishtp_cl_rx_get_rb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x6c3fee84 ishtp_trace_callback +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x6ce9a20c ishtp_reset_compl_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x6dc432fe ishtp_recv +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x722fcecd ishtp_cl_send +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x76de3ac0 ishtp_bus_remove_all_clients +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x8312bb26 ishtp_send_resume +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x84d13da1 ishtp_set_rx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x8596543d ishtp_cl_disconnect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x8eadc714 ishtp_set_tx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa16dd38f ish_hw_reset +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa1f2f3b0 ishtp_cl_get_tx_free_rings +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xaa60aad0 ishtp_set_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xab73e05c ishtp_cl_driver_register +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb539d681 ishtp_get_ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb76e93b6 ishtp_cl_flush_queues +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xbd021cf0 ishtp_set_connection_state +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xbfef2154 ishtp_cl_free +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xc032c005 ishtp_cl_unlink +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xcec48255 ishtp_dev_to_cl_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd831a1e2 ishtp_get_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xda1e2146 ishtp_start +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xdad8ce60 ishtp_fw_cl_by_uuid +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xdec18bee ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe0f86800 ishtp_get_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe18b4bf8 ishtp_cl_allocate +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf3964fe2 ishtp_device_init +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xffb1cc29 ishtp_cl_set_fw_client_id +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x0e74710a vmbus_sendpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xfd51be8b 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 0x34257f35 sch56xx_watchdog_unregister +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 0xe3f8182c sch56xx_watchdog_register +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x0ad5f08f i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x0fcc96fd i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xf8c5ba05 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x522cc344 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xf5b05537 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xb35d6d77 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x8db36492 bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xbe159c67 bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xfff25ec0 bma400_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x488f41a2 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x77602a31 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0xcbbcf11e kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x13e3d969 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x17384fad mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x33852c1a mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3df3581c mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x435bc873 mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x514e4792 mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x57fe204a mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x685cee3a mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x73c51595 mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x814c5cce mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x83183354 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x93249bd5 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xa0444118 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xb4bec8c8 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xcac94829 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe6bb5180 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x14128284 st_accel_get_settings +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x5213f3e9 st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x86309ebf st_accel_common_probe +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xcd379a9d iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xe06e1a20 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x2786d966 devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x92bdc94e iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xe80db34a iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x94fe9f91 bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x35e54c95 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x54d14fd6 hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x576b0420 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x57e2a779 hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x57f73f34 hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x57ff34f2 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xb512fa75 hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xb59e0a39 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xb77b137e hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xc0588b10 hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x001525d2 hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x30f3bc69 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xab6071c4 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xf2b6eb18 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x365f19fa ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x7a36c254 ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x95cbc015 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xa7381bcf ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xaa7f314e ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xb79cfb88 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xcdd1a020 ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xd867157e ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xed164c59 ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x8d16b819 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x8f6df400 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xde064547 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xebd14ad8 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xeff1ec40 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x39739c11 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe45e908d ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xfdaa7f65 ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x06f1a6a1 st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0d2370af st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1eb07c44 st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1ef8c39d st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x439d09f4 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x4d9ace0d st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x56add562 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x75d4090a st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x7910fc7c st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x7b1379eb st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8f753627 st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x92975191 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xcbfbb13b st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd15b39ca st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd7b9dc45 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xecd50046 st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf471d878 st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf6d1e3ca st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x12b49044 st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0xd5677393 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x42418b1b mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xcd139d32 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xced8e06f mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x188c19b6 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xa5d22a11 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xd60b49b2 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x2d40e1e8 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xc3e9edf8 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x6263fbe6 adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xa1ecd28c adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xc88802a1 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x544064e6 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x711319d5 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xb2385217 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x0de57105 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x1f08930a iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x1fa7f3e1 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x250ad1ef iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x32cacb01 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x33d9441e __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5511223e iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x583e2e89 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x6a07c830 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x7297ae5a iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x79301757 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xa0b7aa3a iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0xa24500d0 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xa58a0251 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xab21239e __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xab4a0a3b iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xb6b931a6 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xcfe75f9d iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd0a5a708 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xdcf9843d iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe09ae399 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xf1138d52 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xfe0ae445 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0xff7c4bcd iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x3d820555 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x3e864b6f iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x5d7eb964 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x865a8503 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xe2238c6e iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x46b85db4 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7adedbc2 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x8be7ea36 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xbfe8c545 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x36d687ad iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xcdef49f5 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x1937e57e st_uvis25_probe +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x7292aa28 st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x22c59363 bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x63850544 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xd6bc50e8 bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xeb70c42d bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x0cedc2a4 hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x96e22ef8 hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xa369be78 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xd7aa2c25 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x47ff8213 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x9e60c037 st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xcaba2ea1 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x4904bfbd bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xa38262df bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xcaaa8cbd bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xe8bfa2f9 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x05c71d9d ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x36152c17 ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x1276a8ca st_press_get_settings +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x1ae3a3d2 st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xc456ee18 st_press_common_probe +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0b0d8b20 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2a4950c8 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2db04759 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2fff0c80 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x60802ba5 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x73adcb16 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8156e118 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x96d056b1 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa62a14db ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xab2acdef ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba52a59e ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba632e1f ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xddbb56b8 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe8ff326d ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf122bb88 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf6b58f34 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0039cd8d rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06ecc186 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a4326ca rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a4c4cbf ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a61960c rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a985c7c ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b95f3be rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c233ab8 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d0001ad rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11da63d0 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14493d12 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16257c5f ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x164a9a61 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1722f227 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17ba54cb ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b9aca4a ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d793356 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e2ead15 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20f1c6cc ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x218cae4f ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2338c6ca ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25169d11 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2876f54e rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29382433 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x294a76e4 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29903ba3 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2afb81e2 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b247619 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b4b246a ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cd0b616 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d9430b3 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e4e7813 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x307ef314 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30ad23cd ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31244317 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3350e319 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3447affa ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35a3fc97 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bb0108f ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bd12b57 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c9d25e4 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x409cfd34 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42b79161 rdma_init_netdev +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 0x4503035a rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45a44d10 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47c12e3e rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48579479 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4aee7fc0 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e18cffc ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f70ae1b ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x500a6df9 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x523a7e1f ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5469c761 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5648c5d7 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57777e5b ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x578c086e rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59491118 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x598cfb26 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a4e667d rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a80b008 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c7e005d ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6045cd28 ibdev_crit +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 0x64799ef9 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x651e749a rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x671405ed ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67c522c0 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x699e32b3 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6cb55366 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d89220d rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e4b3f93 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f837b61 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x704a8a3b __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x709a6474 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72dc64f3 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7445325e ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x745f0510 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7646f432 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x764dcd96 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x769e28a7 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x784c440b __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bca67ae ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c02267a ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7eccb323 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ee88544 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fad5aec ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x814e37c0 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81a03dda ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84507248 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84823ea0 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86c466dc ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86c9fe3c ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x870dbc17 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8724fa8f rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x884fd554 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89ec0c12 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b41fb12 ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b59845b rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c42cac5 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c57aeef ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c871197 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d51bdb7 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8df2497f ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ed53ec2 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x926dfaa2 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95c64067 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96733704 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9765c1f2 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9827d9df ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a7dad45 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d2bd1df ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e5c61ba ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f4e4155 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2ca9af5 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa367a112 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3b1403b ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa444e1cc rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4559bbc rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4b0e043 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa53e0cc3 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa57cdbec rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5debc97 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa2611b9 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa79d9e3 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa9324cd rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab4cdd68 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad3686f6 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad839462 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae38554e ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf88ce22 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf9bc2d2 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2c5e728 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3ab3d84 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4cc672d _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb58ff4db ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6c1bdbb rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb45a47e rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbba8f41b ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbcd124b0 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd323cff ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe0b40f0 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc02844d7 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2e8e63c ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3bc8d6d ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4af0b55 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc562544d ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5735c62 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6b49e77 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6eb8baf rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc82ee41d ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc852fe3c ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8b14c51 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca460e40 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6fa9d3e ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd78382a4 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda1242fa rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd29fef5 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde11e349 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfe6e562 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe10866ea rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe10de235 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2059e4b rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe22c9c20 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3213a70 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4d0ad59 ib_create_rwq_ind_table +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 0xe6b019f2 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe79a9abb rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8a42310 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4c39861 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf560aaf3 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6b9d442 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf91facaf rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf959a8fc rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf95b0e6d rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf99e8673 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9deeade rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb0b8a9a ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbebece7 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc1b9abf ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc1e51b7 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd77f741 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd9e498e ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfef23ec5 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffb41444 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffc81623 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07fab24b _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x13e64d3c ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x313cf16b ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3572ee9c uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x378b6db9 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x46d40645 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4959ea7c flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x496f7271 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x50a0ca35 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x526a759a flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x556811ba ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5637b5ac ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x58401c48 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5a20f14a uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63eaa4cd uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x64c2d64d ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7b937c5e uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8df9c789 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8fe2d9fe ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8fec1f76 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x92dcf5f5 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9377f4c9 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbb7fd6e1 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc3adc371 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc59857cd ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xca0bb292 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe13d927e uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe37e09cd uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0775794e iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x14ea4b51 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2c050a66 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x357b7f4d iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3645319d iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5c5c7b38 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc4f80514 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc8ffb428 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x00109f32 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x16ce0414 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f406a02 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1fed4cef __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2b8f17b6 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2d691d7e rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x30ed2c57 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3643c02a rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4e24810f rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x52c82080 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x66016ceb rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x68a742f9 __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6bc3af24 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6c115c4f rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e7dc30e rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7f8cc302 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8408c7c4 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x88b5e690 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8c5bb519 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8dd852de rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9586d8bb rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa2397193 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa43ab067 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xba70c657 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc136da4f rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcb3f1184 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd1a4c398 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd729240c rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xef5a68e5 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e385842 ib_rvt_state_ops +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0f024896 rvt_invalidate_rkey +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x12640006 rvt_stop_rc_timers +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x14fa3095 rvt_alloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1675173b rvt_cq_enter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1b7441b9 rvt_dealloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1d5235e3 rvt_ruc_loopback +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x23782a8e rvt_send_complete +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x3f3d9bd4 rvt_qp_iter_next +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x41554b7d rvt_qp_iter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x450aa1be rvt_del_timers_sync +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4824297c rvt_rc_rnr_retry +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x49a85fdb rvt_mcast_find +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4d0284de rvt_error_qp +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x53aab521 rvt_copy_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8802884f rvt_qp_iter_init +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8debf2b1 rvt_add_rnr_timer +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x988c409b rvt_get_rwqe +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x9ebf2cc8 rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xa61121ad rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xaac7c57a rvt_comm_est +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb875347d rvt_rkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xbe0b875e rvt_unregister_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd0bd76f5 rvt_get_credit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9be1d42 rvt_check_ah +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9cf3e43 rvt_rnr_tbl_to_usec +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf3384893 rvt_lkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf480c12b rvt_rc_error +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf4e3bfe7 rvt_restart_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf6aeb66a rvt_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xfd4ba476 rvt_register_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xff218de2 rvt_compute_aeth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x185c8d41 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x576c52d2 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x6cccff3a rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x713e0473 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xadde856f rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcf7f31fa rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x3029ca61 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x3ddaedf2 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x4e595af6 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 0xa895855d rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x011edc70 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x01370fc2 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x241410e6 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xae15e3bf rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xc2100e0a rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xc68dbf4b rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1c63c86c gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1ce3d3f9 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x242a8a4e gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5676c176 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9bca4646 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcb42aa32 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcb9aefef gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe56aef98 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xee882109 gameport_set_phys +EXPORT_SYMBOL drivers/input/input-polldev 0x04467eee devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x5688f5a4 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6a1a4ffe input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xdc3ee1a2 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xee1a8916 input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x4f27c936 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xb76eafdf iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xc62fd69c iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xcc2340db matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x549f9b27 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7f71af4b ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xef6ea77c ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x59896054 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 0xfc7bd62a rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x14f49bfe sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x5312fe42 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x5862c5bf sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa87fc91f sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xfa771267 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xb47d0f98 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xe2264251 ad7879_pm_ops +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x12842107 amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x562a160c amd_iommu_set_invalid_ppr_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x83c6caec amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xa00f3b37 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xaeb51556 amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xe4acc356 amd_iommu_init_device +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x15c33f04 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2f184e56 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x30d0e1c0 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8adadcea attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc42d2c2a 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 0x2f64d0b9 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x60a1ee9d mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x65f3dae2 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xb44725cb mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd2616698 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xe3ede1f3 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x15a47968 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x16baddb1 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x170dd497 bchannel_get_rxbuf +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 0x33ea3814 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3edf4dcd recv_Dchannel_skb +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 0x5a7dc2c9 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5bb2453b mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x62b002b4 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x66bd9fb4 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6abdcc95 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x76c2c0f0 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x85c5f473 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x87d35a9c create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8b4649ee recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9d51d44f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9f75f142 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa15fdfa2 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbca1cd7c recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc1c013d0 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc8786bbb get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xca4fadef mISDN_unregister_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 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xec153e1a mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xec3e2da7 mISDN_register_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 0x0aed7b7d 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 0xc38cfdd8 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 0x4b50bb75 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x657d49fe dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x9ddc8447 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xa153c11a dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x0eb015f1 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x61484e45 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x61ad2e6d dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x86cae06c dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe939d3ac dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf84a3aad dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/raid456 0x52e897c6 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0xf2622d75 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1d745e40 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4dbd555f flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x532c96ae flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x55f51750 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x56cf1418 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x59550ada flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x5e71ba28 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x643878b7 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7003ad32 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb34ba445 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xcaa91ffa flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xcc589dd2 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfa5cd11b flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/cx2341x 0x26ac3fdc cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8ef2ddff cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb6752bcb cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe60542ee cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x603a91e1 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xaeeb0f79 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x63f3f107 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xea9de70b vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0e3e672a vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x450d2135 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x4cb2d9bf vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x8aea0903 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xbf470116 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xe2e233e5 vb2_dvb_register_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 0xe39d498b vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x01d1f5f9 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x10aebad7 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x19c719a8 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1db41c68 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2dc07ba8 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x33d5f280 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b1c32b2 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3feecaf6 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5b6235b3 dvb_ca_en50221_camchange_irq +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 0x67480317 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6f34d3ce dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7751ad77 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7943abca dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b0d51ce dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x80985cc4 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x82094881 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8931227b dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa2de9321 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb6f9825c dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb953d0d5 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbe57a39a dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc6d076b4 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcbdc434a dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd4137191 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd6b2999f dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcf60586 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe379bf8c dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf9586f53 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf96756c2 dvb_remove_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-core/dvb-core 0xfd3469ea dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0xcfb0dfe9 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0xa8595196 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x2829c9ac au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x3a45260a au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x56949103 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x739d8ddd au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x793736b9 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x927c25fd au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xbb56e6fa au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xca17c760 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xeb4e0a17 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xd9b21d45 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x9d23c048 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xb6302f00 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0xe4ab0aa5 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x8f7d2ef5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x48ff8b15 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xd61934db cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x5fb9e4a9 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x3c14a6e7 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x57d6473b cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xc5709222 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0xb5600145 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x244508a1 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xf047ceea cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x4972821a cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x921809ea dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xa1efaecf dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xc444ff4a dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xc6cb6003 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xccafa839 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x032ffba4 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x09cb0e45 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1bfc5762 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x29d2885c dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x378699f4 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x41fd9789 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4eec0b28 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x533b535b dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8423f01b dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8c6c19ea dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb28832c7 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbfab1066 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd60f4312 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xdc2920cb dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xfd15ea81 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xd1b5a6a2 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0044c292 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x2ecfee99 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x3411ced9 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x5fd9f1c4 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xd1ca3bcc dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xea7cff1b dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x48aff770 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x6ba0db0e dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7197aeb7 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xdfbc318d dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x5d0729b2 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x047fb840 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0470bef2 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x16307a3b dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1fb0d534 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x31a34be7 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3cd593e3 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x435816e3 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x4b32c1b6 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x51cb8e4c dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x530f41f5 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x6ffa4b7a dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9a427b2e dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xc8573a56 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xccecd4e6 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x4cb21489 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x4eddb395 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7a98576a dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x8f7c2b14 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xbac4ef96 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x71a43c1a drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x222207bc drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x5cd37d6b drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xbaf704ad ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x96d07195 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x1c6a4623 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x4ce69dc6 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xb7a4624b dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x5e2ffc93 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x5386b5c5 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xa55f4f28 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xf11f40d2 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x38d9d4e3 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x701b949a isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x84343d5f isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xe45c2e4c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x0ac0c27c ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xd7893de2 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0xbabeff05 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xfc0dfcf7 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xa56c32ff lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x5d1f74b7 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x2b5ba3bc lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xc255c913 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xec09c466 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x630fbae0 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x457af292 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x4f216d29 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x8d9bbfd9 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x43cdea12 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xc4157ff3 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x722bb6d3 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x0146ae98 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x1934f021 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x0492a9e0 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x2bfdfebb mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xc2e2f533 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0xc126294e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x4ec51774 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x46d44e85 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0xff51b977 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x6c6a05c6 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x19ca2e24 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x1c0efea5 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0xf6d20782 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x998d1851 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x03d5b005 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x83b3b7c4 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x1c521cfd sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x412be0ff stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x8dc421e5 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x2becc537 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xe6633940 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x8ce3454b stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x4945765c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x0d0d4c5c stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x7d9333bd stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xc8303555 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x73d88f40 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x344d41d3 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x5ac5845b stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xc092bbcf stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x3d37bec7 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x2b3f9b2f tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xb05a16b8 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x427b5f73 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x7d7a17f1 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x0ff7ecda tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x9694e7ba tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0xc1d79e60 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x12cbe860 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x1108e66d tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xc48fd6b1 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xe5de8eac tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x771d3164 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xe5cbd1e8 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x25d47f3f zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x6ad7146f zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x2279af71 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x185e410c zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x1bfe3d18 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x46f8b3ea flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x65c7fb3e flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x889dd465 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x95b34090 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa848fc99 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xc6402bc7 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xcb4d6881 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5f14bc1d bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x76fa6260 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xa89d6711 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xb34679be 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 0x37216708 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x51dba90d 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 0xe60bdca6 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x19527f56 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x35c7696f rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7c67c755 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x950d52e6 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x9ffc7892 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xbaa24453 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xcb044c9c dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe0727f8b dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xef50be5b dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0xeec0739d dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x049ed370 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x27fcabb4 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x75058467 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x84bbe4e0 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xf585acbf cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x55e9d0ec 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 0x00aaebf9 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x4064fa0c cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x5dc92184 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x621b266a cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xaa12495f cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xab306d08 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xdaa05888 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 0x3fa8b806 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x8ed4d8b4 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x1e39daff cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x3ba870b0 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x90f1eceb cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xed652b03 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x36e9d2a4 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7a43e0a6 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7b14f114 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7f7a55cb cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x83fbc7b1 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xa9386a73 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xfca8ed87 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x11f8ea30 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2ebf64d0 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x425fa82f cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x42ad2698 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x44b76a33 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x50bc238e cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x51ba1946 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5af9c7ba 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 0x6e3b18bb cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7911df91 cx88_sram_channel_dump +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 0x9e0090fb cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xaa30480c cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb118975d cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb2bf95eb cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb38ad240 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb7a38ee6 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd313aac7 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe0bf670e cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xef4e9e13 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf5a4112f cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xcf00087c ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x111156bc ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x153b69ec ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1cd137ac ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2a5206d1 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3a011151 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4175b079 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4562b842 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x55b611f0 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x66abe4e6 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7b7a5d57 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7cdf7154 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fb699dc ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa7d1969c ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb3939499 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xed5b7ec1 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xfe5781ea ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xff6f50c1 ivtv_udma_unmap +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 0x2063378e saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x32dd1a41 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x32f9f05b saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x557d544a saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x581824fa saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x99f10811 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa070e2c2 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa6b2ee69 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc0c28728 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcbe67cc7 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xde862288 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xe328aff8 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x834ef375 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x220520bd snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xb0eeb698 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xc414aa56 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0xd5e54097 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xe78b4c15 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xec325549 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xfdec1e90 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/rc/rc-core 0x0762fbb6 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xa775c2ec ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xcd6e1bcd fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xa523e72b fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x02e0717c fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x5181f7f8 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x7517bd8d fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0xc5508716 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xcc5d0c83 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x1cd78b11 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x572c9bed mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xf77e75ea mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x513b5753 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xd08f9338 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x64af1388 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/tuner-xc2028 0xc803974a xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x7dcbe321 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x850e3a6e xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x74304593 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xcdc8b993 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x367ede7b dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x585c37ef dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6cc23a60 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x743ddc39 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x9bb27311 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xa2b7efd1 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xc55e5d5b dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xd6ec8b81 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xeed8c599 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x233d7a9e dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3a9c4496 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fac97c8 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8e538e98 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xdbc4aa88 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xedebdffc 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 0x3cd5fd12 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 0x0ab2e556 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x0d5e491b dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x16c15ded dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x2bea9869 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x47b11746 dibusb_read_eeprom_byte +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 0xb9fe34c5 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xd7f65212 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xdbe7abc1 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xf0cde848 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x5e7d5548 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xb62215e4 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x04c43043 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x2a0314dd em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x008c9cdb go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x047546e6 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x05edefcf go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x06383439 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x2f0b71c1 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x620f6615 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x68217d43 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc6496b5a go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe6738567 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x0a7d0164 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x4d5d4ca8 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x68bb7c06 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x76b2de93 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7bc82631 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x941e198a gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x95b64903 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xd6d73e17 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x24f21f8a tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x60d43228 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x63689103 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xcc0247e1 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xe7c5462b ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x042f15e0 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 0x471efb0d v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x4ec224cc v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xbac1f1cb v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x014ea370 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x01b67dfb v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x03b0538a v4l2_ctrl_g_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 0x0c22dcbf v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x103f42dd v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1252036f v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x14c8c72b video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15b63e0c v4l2_ctrl_new_std +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 0x24eca7a9 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b3148e3 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2e785fd2 v4l2_async_subdev_notifier_register +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 0x37561a4d v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3ad7a4f3 v4l2_clk_get_rate +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 0x3ea1d343 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x42b914a6 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b6ab6cf v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5009f7dc v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x50dead85 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x50eb1207 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x52ac448f v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x548f000b v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5630388f v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5925bb33 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5ab1b494 __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x622001cd video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x65e50734 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x66f4ed7e __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7071cd2c __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x79cbda6a v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7d0d6e14 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7ea9b755 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x81b13d83 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x82ac9813 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x84438a34 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x885a0cf1 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8ab546bf v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8ed718ab v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x901f707c video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9597fffd v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x97ad72f9 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x98eca34f v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9d68b94c v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9e4a0092 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa1d57477 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa2d09d1c video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaa7cc97f __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb0a46b7e v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb5f33e33 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb910a3fb v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc28c62e v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbe3c6dec v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc04f5791 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc17b0f73 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xceb5c641 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd700a421 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd7ea0c5d v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd9595a74 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb0db159 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb21ab12 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdd798bc0 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe23d9318 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2bbc9b1 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2d4ef32 v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xef0d7a09 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xef412786 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf21f3e81 v4l2_ctrl_poll +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 0xf81822a2 v4l2_clk_get +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0a143353 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1216d377 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x146d85d1 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3de0db38 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x439b6221 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x49bc5392 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6d27828c memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x836c3e7d memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8a316250 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8b7f2ee5 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcf22dc32 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd1f0af81 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x019d2610 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x034ce012 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x12fc06d5 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x17637910 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x197fd848 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d471f85 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d6338bb mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4a938e2a mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4f66c7a4 mpt_HardResetHandler +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 0x623ed192 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7f8bdb67 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85b9bbda mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8b78d666 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8fd34163 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x90527126 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x98ae7736 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d8b6116 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa55cc11b mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa5fd6298 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb43bff4a mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb4704d3e mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb5cea692 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc2cb19a0 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcc7f17f0 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xda43c9eb mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdabb3d47 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe4770b89 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe7d4bb41 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeb414481 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x05d5e58c mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x22adbf98 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x24d9d68d mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x442140d6 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x47b58801 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x49379f84 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b65eee6 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5123be87 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x51ad6e9f mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5260ea64 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x59d1f85a mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5ec1b301 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x67506545 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6d685fb0 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x71e028dc mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7ca18ec4 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x840cc810 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8b101fbe mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8d859d44 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa704b287 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xae7a9239 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbe823165 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd40b6417 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd700f901 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xda0e1759 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe5043570 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xee6819a3 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/mfd/axp20x 0x1f5ffda1 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x68772013 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x87d9b013 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x384439a9 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0x4b29c0ba dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x6a590ab6 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x424e7419 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xae694914 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x43ff6f35 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x447ae86b mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6ac61a7d mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x839ba6d2 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8d274581 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa9ca83db mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xccebe978 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd2420a5d mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf62d3dbd mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf80b9d5c mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfc135f28 mc13xxx_reg_read +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 0x246bc8fe wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x55758225 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x6b715b5a wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x8933714a wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x9b5c6227 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xbb09cad3 wm8958_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x0e103d4b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xafc3589b ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x5e16b888 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xdfc43762 c2port_device_register +EXPORT_SYMBOL drivers/misc/mei/mei 0x1545cfd0 __tracepoint_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xa5bff49d __tracepoint_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xb93bb2a0 __tracepoint_mei_reg_write +EXPORT_SYMBOL drivers/misc/tifm_core 0x0dd23164 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x15517ea3 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x1f1a783e tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x26d20a33 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x5b483060 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa5d14f4d tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xd6eea159 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xda87fa3c tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xdea4a743 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xf4919cf6 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xf689bba8 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xfd377ac9 tifm_map_sg +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x21917fbb cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x4b2a9a23 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x70948f9d cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x7455bf8a cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xfe82e581 cqhci_deactivate +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x03bc47c0 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x315fb812 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x40497380 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x600ef468 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7ade8a1b cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x995181cc cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe28f526e cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x93258a48 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x97359d2b do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x976855e9 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfb5d61bd unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x646ff4d7 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x919126ae lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x4174d874 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x65b63c18 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0x8e05d6c0 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x78c15302 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xd7fc9aa9 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x004fc0c3 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xb11c1214 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x0cdfb7cc nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x158717fa nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3da00aee nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x4e899b03 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x572a21c4 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x853bb52d nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x9477f8dd nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb777b92e nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb87bae14 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd040c736 nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd4763ae3 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xec2c4d31 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x3c4bc205 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xf6645ebb nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1a83fc89 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa17d4286 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb3285c3c arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc82d8b66 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc998d601 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xcad281e9 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe30fdf87 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe90e4db5 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xef463b6e arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf5b368ce arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x243d04ca com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x5b5c72e9 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x87d2bf99 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x07352c97 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0c218139 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x126966ab b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x133929de b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x240f6b56 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x29f4d54f b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3278d2cc b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x39c2290e b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3e94585e b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x401960b0 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x456cf01b b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4638f478 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x48531990 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x48dbd950 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x55c86cdd b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x58830af2 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5a69ff09 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5cf1ff99 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x637862f5 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x64042f7b b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6c3ea2d6 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6e14f301 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7271e956 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x77207cb3 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x77f1b567 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x842ae280 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x87747218 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x94282c12 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x94cd42c4 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x961d437c b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x98115e2e b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9f4532d1 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa6d68c24 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbfa2d887 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc7a4b8cf b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xce3368e0 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe16f34c5 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe5e89eab b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe6abec57 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe7ea4346 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf3b87729 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x2cdea135 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4e41b640 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7a132372 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xb8dcedee b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xc9284a1a b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xeb7fa6f3 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x3edfcf38 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x77aa50c9 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x69828a65 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xc784ecc7 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x2dd1562b ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x6fd10d1a ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x8ae8fe09 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x33cd5ba8 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xbc52fd8a vsc73xx_remove +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x16caded4 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1dba9325 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4bf0d03b NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5b6928d9 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x700a0d4c ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa2d7e7e4 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc54ac63d ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc791534c ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xea360a38 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf840634a ei_poll +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xb44009cc cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xd3d66da2 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xeb3ea798 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 0x0ea52ca2 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x128c3c35 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x32fdddce t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x684313e3 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x73d72144 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8f6c4857 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9c41aec0 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc278376e cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc84a4884 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd4a09018 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xda52c9c6 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe0a8755f t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xead7dc28 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf17ed825 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf23eac4c t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf9dfc322 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x07a3dce7 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x07be57cf cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x12110495 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1a5a9a54 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x305d097f cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x36a7f87d cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x385dbdf8 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3a334848 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3a389ac1 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4ce365dc cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4d989624 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4e7944fa cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x60a35541 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x66054076 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6f216015 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7f304478 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87298f8c cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x881f07e3 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x915d044a cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x95faa5df cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9868c7f6 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x99a21eeb cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9af68343 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9c4cf13b cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xab696e51 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xacf7985f cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb1ffb206 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb364fc5f cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbc63cc92 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe030bf9 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf9d238c cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc3234717 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc988b57f cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcad7f4c9 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcba1028e cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcd6eccf7 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xce5443c8 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd710944f cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdf06b534 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe40392c0 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe578c97e cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf3f24dc7 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb75eebc cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfd19510a cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfe751652 cxgb4_ofld_send +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 0x3b6e26d9 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x52ffe629 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x589cdda1 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x83f6cb27 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xa3a7af86 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb083543d cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb9cbbba8 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x20b38786 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x51480a0a vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x5b970964 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x5e1e7ce9 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x84820441 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xe38c1cc4 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xa558797c be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xbe2c33e3 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x91793b43 i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xac130ea6 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x97d63d1f iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xad2002a1 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05e21522 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x068ef6b9 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ca983a0 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ae0beb0 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x342647b1 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3877a9a4 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39612abe mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3eba8912 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x418dfc19 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x441a201d mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52e92855 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x530f8ffc mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58ed9260 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59a37faa get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a64918b mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c28951d mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6403556f mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6966cfad mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71aeac21 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7274c22d mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75e95dc0 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b3f0a1d mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ba9dbb2 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7edf62ae mlx4_test_async +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 0x80009a99 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83325113 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84221c13 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b85bdef mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x986e5870 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2135621 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa3bf5368 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa721f1ea mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa93aac02 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9d736ba mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1f8cbee mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc99d770b mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca58e66c mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3ec96e2 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd429c868 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7e1a5d5 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe089f44b mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe1a24e29 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb77bce3 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff699890 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0240cc69 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06c57ae0 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07080ff8 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07c47276 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x08858e88 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a024481 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c4a8e9d mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dd2b332 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f00544d mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13900aa9 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x177c5ed5 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18db5b22 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x192f9d48 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a7d18d0 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1bdd6e71 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2360b23b mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25457c8e mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26a1ff01 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27fa4d63 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2973e066 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2bc722b4 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c4bc59c mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d85fb84 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2df7a43d mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30171a33 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3043f741 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30d6fe2e mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3216fe8c mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32705594 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3467562b mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x34fadce7 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35374cf0 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36e11bcf mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651b47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3adcb778 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e960390 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f466142 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fb9179e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x438a3aef mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45eca94d mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46150cf1 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cf9127e mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f54c0b1 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4fa73837 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52434afa mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56d8f4b9 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cdc7480 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d926d2c mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e333227 mlx5_core_create_cq +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 0x6254d185 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62c86feb mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65f813fd mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6626b60d mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d71e141 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7034e2c9 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x709b181b mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71558096 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73849b65 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7798c23e mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c3f7ec6 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cd3cd7f mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80831199 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83004ae1 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8316e493 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8317d936 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83eaf995 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87a25e22 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88a83e04 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d7962a6 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e19c797 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eeefaa0 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f256f12 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91e8606f mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93f50dad mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9777a3a1 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9884865a mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98ab7cc6 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b59d0b5 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa210a154 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa329b19e mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4622b97 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa464edda mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabce2ca8 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaccdce8c mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9ea383 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaedb0275 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb20b7766 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb242ad31 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3650c43 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb38771ad mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb4d8a1d mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc4999ee mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf787d24 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc443682c mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4a1abc7 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc5f053b mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xccf6d2a1 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd0241566 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1b8470d mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3aa1da0 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4feadc7 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd66147fd mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd7a700c1 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8f3b52e mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda8af8a3 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd923270 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfe00115 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe56e794f mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe57653db mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe660cb73 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe923e5d9 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec25d4fe mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef01bb32 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xefbc0ed9 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf120e368 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3fdae8d mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88fe912 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf902853e mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9f51d8d mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9fd02c1 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb4c237c mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc28cbea mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff857db3 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xad91d526 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0498ed3c mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x09d10bc1 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0c3260c1 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x152e1d4e mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1e248c96 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 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x286e52bf mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x30acf975 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x37e2f6b4 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47318c0a mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x639f7439 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 0x856ad371 mlxsw_core_trap_state_set +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 0x8ba5fa7e mlxsw_core_lag_mapping_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 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 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa59e16f3 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 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb9598c82 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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcf92c527 mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 0xd41ece65 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xfd431f17 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x202b53e4 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xc4750ce0 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x290db28e mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x332b5b0d mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x046b513e ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x074ab875 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0bfde9a4 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0d2f772a ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0d57c9f7 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x14f4b2b5 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x17c53634 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x242ad61e ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x24cf8e38 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x26d86fc1 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2c3bd80e ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2e58f4a3 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x385b9160 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x39aa9f98 ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3a8232a7 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3d82e6db ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x44e9b449 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x45a847c2 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4d77c2e9 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x513ac20d ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x587ae6b1 __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5b826a32 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5c897542 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5ecd390e ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x60f09c39 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x694059d2 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6a150f62 ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x718962b3 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x83c1c0e4 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8949b7b9 ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8d8a1d49 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9139b3df ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x93bb04f2 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x99f4abbe ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa28ee3d8 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xabc5e19f ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb4fb8ff0 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbdfef610 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc37ed1ac ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcf96e35e ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd8daa7ea ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xde0f22d3 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xdfbc89e7 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xdffc2370 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe0d7b40b ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf17a0837 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x1f27f427 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2078a47e qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2fc41041 qed_get_fcoe_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 0xec78fef0 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xaf602f03 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xecacf147 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x1f14cc07 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x31a9ca30 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3a9593fb hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5dcb7f89 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xad34a1b1 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 0x652fb0b6 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/mii 0x4d95c891 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x50b099c6 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x89c8afe8 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x9e620e02 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xa1d4e347 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xad970073 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xb73c8315 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xba024e3e mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xcca0b240 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0xed151342 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x07fa6b87 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x66744667 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x79b48794 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x69b1caa0 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0xc90ceb07 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/ppp/pppox 0xb74f4811 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xbd0d7d2c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xcd711133 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xff27d9ca pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0xfefaffe2 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x096215b4 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x1762eb33 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x22e9ba23 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x476b333d team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x568a80f6 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x57efc5b2 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x6bd6d30d team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xfbb5b1ae team_options_unregister +EXPORT_SYMBOL drivers/net/usb/usbnet 0x0f629461 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x8983b8d3 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0xcd61ad4a usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x059e1e5d hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x16ea0e49 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x22df1971 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x35ba61d1 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4e32ef94 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x609e0c57 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6d32447f register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7369677c alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7bbc5455 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd131d636 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x63d269d3 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1203e8d1 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x17668ff3 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x234499f0 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2938d3f6 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x29a49691 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x432e5b45 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x479db440 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6360a4ac ath_hw_setbssidmask +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 0xcbcc6335 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd432ba50 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd5bc995a ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfff69087 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x00366a2d ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x009a251f ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0cc6aad7 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x18607bfa ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1dc3c4c4 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1fbe2090 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x20a5ec3c ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2449ac29 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x27a12fc5 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x312f4840 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x327e36c8 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x34510280 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x36ccb58f ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x414ed820 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x463f6f79 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x464aafbc ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4704e75d ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4e0c5a64 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4e22c167 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50dd77c4 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5a7d2a77 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c41a954 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62c3379d __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65a9a0a2 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65b4b4fa ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7167e866 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75083ccf ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8d4f38cc ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9198c961 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x94d539a8 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x96e66c44 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9b20dab3 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9bebed39 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c695355 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9ebe779b __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb6bde019 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb9a949e9 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc11e89a5 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdaf63df7 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdb30137d ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe299e92f ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe3ffccc2 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xea50dd21 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xecbc2e7d ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf1f0a42e ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf28bd15a ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf3373320 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf7e9f57c ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xff1457ee ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x268fbe84 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2cb88e82 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 0x41806e62 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x43f33f3c ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x589a6006 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7e152120 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8824df21 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x88702a30 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8dcf74d5 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 0x9fe1a39e ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb115e8eb ath6kl_cfg80211_resume +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/ath9k/ath9k_common 0x1e7f08c8 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x228cfaaa ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2c5b4bf1 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2e2f917b ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x31b93a76 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x348707d7 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3d921837 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5824e2e6 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x67dbf939 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6f232056 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x70569413 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8640f0e3 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8fb6dc5d ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x952adb85 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x989bf5d4 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9db7abd0 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xba9d4679 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc4217103 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xca722063 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd4e16c05 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd777704f ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe5b278f2 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xff49e14b ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x010633fd ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x03449ec2 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x082083b3 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0904b93d ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a326137 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0aacffcc ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b9c19ca ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c10183a ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x15e1df83 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x175ca5bc ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a750723 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f5ab9c3 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f8e3be3 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x248ff8f9 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x257eef9d ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e324d3c ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x329031c0 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x347548c3 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38317432 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x391aafd9 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3b27125a ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d7d066c ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f85150e ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fcf9e52 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41a4da50 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4373dddc ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44848aad ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47082062 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x484b7595 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48780dff ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4931746b ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e8ecf52 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52d474df ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57e7073e ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x580e1cbc ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b80e104 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d4e08fa ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fd25ba8 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x61d3261c ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x654fbf37 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68dbcae6 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x693b389a ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d76b6cd ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e119cde ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70c0b991 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74160ba9 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7997645c ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d006265 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7f82fcee ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80086cb2 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80d7d425 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x81aa5024 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82349e53 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x851a711a ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x86545f83 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88808b24 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88c92bd0 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9003d8e8 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90d7b26d ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x91c5d399 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x959f0085 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c79f9cf ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa1f097c8 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa281c55e ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa40a1040 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa67d2cc2 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7d74a90 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab611a0f ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae70aa27 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb06b2c33 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb17b8644 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2668f27 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5d93e15 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb90c3b2a ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xba453432 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xba73cb5a ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbbc22fe0 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbdd5b155 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbddb36ff ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf655b08 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbfba94c0 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5a3a6f0 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc60b90d0 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7d30015 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9321c72 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd116340c ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xda004953 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdad1c3a9 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb1e6c6b ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbe1237e ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd870fd6 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8a0d3e8 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe9097be7 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea3bd4bf ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeaa81188 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeb8152d9 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec49e9b8 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec78ed9e ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef681fed ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf684b0b8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf94381b6 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9dfaa99 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfad4c309 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfad5b24b ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb414f05 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb503556 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd2415cb ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x495cea48 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x72604d67 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xe1222593 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x0ee59160 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x31a88420 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3fd7c8c0 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x677807a1 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6c0457b8 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6f68e609 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x72b03971 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7869d829 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x88384f0b brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb342719b 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 0xd8ed5428 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xdc0dae8d brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xefa7f30e brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x7bf0434f reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x8730d9c9 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0xe21bffe9 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x00570e9a libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x028b23ac libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2d8eb2b2 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3750f806 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x39330301 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3be545e2 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x402f84fd libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x49941b34 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8466354f libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa325ac27 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa4d43733 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb8372146 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc145f8f5 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc7d8004f libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd31f7bd3 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd953b914 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdb7e5532 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdd95808a libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdf2d38d6 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf2e8002d free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x002f736f il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x01ed9785 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x073e0981 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x08c9be78 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0aa4881e il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0cd4b8a7 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1146bba0 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x11d43d4b il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x12ecf055 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14236732 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x15098a87 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x15da9a7a il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x18de8ab6 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ab66c35 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b208997 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b6d05d6 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20ecb7e5 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x228717fd il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2296ff9a il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2754443a il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2882ed7f il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2aefd943 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x318f60fe il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x383b9e57 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f3dedbb il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f82c47d _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x40ccf0b5 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x414c50f6 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x44d1f4de il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x490f96bf il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4ea33bec il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5068aeb6 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x527d42c3 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55bddefd il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x561c7fa7 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ac89146 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5b6f2c8b il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5c8f32a3 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e78d23b il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x61e51fd6 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x633ac438 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63b2fcd5 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63daccf0 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6438101b il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6e70a540 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6ff30f9c il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6ffc83bd il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x761e0502 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x79d8f72c il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7aa3f1c1 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c28f904 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7d02ff9b il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85b4b1f4 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x87df1196 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8ca7c990 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d78e068 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8e5d87e4 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x92c3f4b0 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x957b6d6d il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x95e3cdf8 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x97de9a86 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9ccc1a30 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9e8d5318 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa0fab060 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa535afbf il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa8deaa7a il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaaa312ce il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xab46ae2e il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb33dd0b9 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb472b152 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb6f91ad6 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7c22359 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb8a5100b il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd27ca53 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbde43dd3 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc2a832a7 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc310ba69 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc49e026b il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc887841f il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcad62c47 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcb6a62dc il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd4f1996 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2fb0514 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd3d8e06e il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd67e44b0 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdb10ac66 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xddff6da8 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe3d8dec5 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7259c37 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf06d918d il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf07bdbe4 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf11d39ff il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf1e4a9fa il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5c7644c il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5f4cacc il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf897c06c il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfad84986 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfb868318 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1ee9c199 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x20a6a247 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb72ade7d __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0741febd hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x09a0dea5 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1323e8df hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x187f8c80 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1b23cc12 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2de113c7 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3283e724 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x48d1ec64 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x55446ae7 hostap_init_data +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 0x85b0c768 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x956dcc13 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9dd78d14 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa3399118 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xaad59272 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b7053c hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb69e052c hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbe2c0bb9 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbff7b854 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcca8517c hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcf5c64d7 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd5d73ce5 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe103ba68 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe702fc0d hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xef47e2a2 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfe4e683e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0bdfadaa orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0fe68f99 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1f625779 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x20b542b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x32b4d5ee orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x466a1696 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x55064bc4 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x66662d67 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6b792a10 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x896ec986 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x967fa96f free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xaaa37a5e orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcec48452 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd42a5bef orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xec0d1753 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf66f87c2 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x6b9c90d4 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x7fffd459 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x01c5f4a5 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x04f603a0 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x07df400c _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0dc91daf rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0f36fb3e _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1dc3a3c6 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1ddbbe76 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x221434ef rtl92ce_phy_set_rf_on +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 0x249b88d4 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x36acd72f rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x40a0ec5a rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4a46f8ef rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4d4c5a69 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4ec7ae00 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5729981a rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5a6c2992 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x64a9964c rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6e5b2971 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x757e84c2 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7b4e3d48 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8008d1a4 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8170c3db _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8b98e63a _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8dc2c889 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9090eaeb _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x91027352 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x93bed3de rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9929451d rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xaa6295d3 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xad4c2430 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb171a7b5 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb55dd5aa rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcf68e742 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd6a7b0a2 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdcb5585f rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xebe123af rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xee219db0 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf0c06ee5 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf1932122 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfabbf4ed rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfd8afe5b rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x42c30dfd rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x67663b74 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7518b3b9 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xf5101dc2 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x76774e66 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xa66d52d4 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xcdb2e4d6 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xeb1f4b78 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0f8a15f1 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x10ad485f rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x18dc20c3 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x20bcfe88 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x20cb19ea efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2977a696 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3e28433e rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x539c16dc rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5a4cb824 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5f42d76b rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5f825e4e rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x62c49631 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x68b957a1 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6f418db6 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x78d13c4d rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8caccae8 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x91444ff5 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x938fc44d rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa3cd54b6 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa9dd54a9 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa89934a efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb5037c97 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb78b571e rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbee26f1b rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcd4722e7 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd1a5e5e6 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd320851b rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd3ebc619 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xec656d85 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf35d205c rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xfae13802 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x110142b0 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xfec3298e rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x06b5d49e rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x089e9bf7 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1663c804 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18c46ce3 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1a7043dd rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1ba99dd3 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x21c7268b rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x31023c73 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3366ae6d rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4232ea0e rtw_restore_reg +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 0x4665b893 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x46a504a6 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x47d05cc8 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x48e8374a rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4d1f85c9 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4d674443 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4e97e801 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5626ef57 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x671e2167 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x729fa540 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7768f571 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7a54b244 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x89a979eb rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8c154a65 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8c36c8cf rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8e29be29 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9056c1d9 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x90a4c311 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x91dde23a rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9c182225 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9e15a403 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa4137670 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa6d1dbff rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaa96de04 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaf1c9134 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xba022531 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbfdcfcac rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc0ce1bc8 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc39a6f71 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc6219186 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc699c3da rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcd1d2158 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xce052cbb rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd2c8bd7f rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd7bf3663 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe733f236 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xecb6c21a rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xede7d39a rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeea923e2 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf6fcb19e rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf8a98ad6 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x64735bd0 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x681212c7 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x8c37c2dc rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xfa258c47 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x171ff1d2 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x4e46d03a wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x78dd8487 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8d262cfb wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x9a21d459 wl1271_free_tx_id +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x2cd1d66a fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x7009723d fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xf1cd5492 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xd37584ef microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xd5f5e9f9 microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x2301d7a0 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x5f6df4a2 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xb086af9b nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xf1f41a96 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x1c241feb pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xc0cc1370 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x0537c71d s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x73050f4f s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xa214e180 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x0d5ac2ad ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x0e19f8d9 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x37775a91 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x735814f2 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x79c39b94 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9cfed974 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xba838b27 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xc55025e5 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd9e05406 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xed1a241e st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x08c113af st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x09bcae33 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0a72dc52 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0afa4126 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1c55ba05 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x3c0d4660 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x504c50ce st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x56ffb9c9 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5bde5b64 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5d69ab4e st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x63f82a5d st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x647fcbcf st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x757264ec st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7d2081be st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x85f0a643 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9c1258bc st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc0bfcd90 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xee312ee5 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/ntb/ntb 0x0609d5bb ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x07e7278d ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x10a242eb ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x14a59ddb ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x18f316cc ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x256c574a ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x344e567e ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x587a8d78 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x6c5a5da2 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x74a16236 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7a2aaaa1 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x85130b6d ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x85559f1c ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x8f9c6151 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x9b449c72 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xa71c24f5 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xb1472239 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xbfd3b4a9 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xc02401c3 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xd608fb4f ntb_clear_ctx +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xa76f35d2 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xe41c3382 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x008556a7 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x0211ed04 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x061b336d parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x1683244f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x23b3f1e1 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x2c88c346 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x3137254c parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x31d4ffb3 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x3fe9d00a __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x41a3652e parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x442a54ab parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x4d091a4d parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x53f6f152 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x541838ac parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x5739c448 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5b7df68f parport_read +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x61490f66 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x6d0911ff parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x79e69630 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x87450c87 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x964d8121 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xa8bbc9ae parport_write +EXPORT_SYMBOL drivers/parport/parport 0xaf6288dd parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xb974b505 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xcba9525c parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xd4e75c24 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xe69c90d0 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xf1414ec9 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xf29139bf parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xfc6c0310 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xfecce346 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport_pc 0x95b262fd parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xbbb20ad5 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x03856884 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x106b1d4f pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1e17a577 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x33f3af78 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8baf2aa0 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8caeb94d pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x977bd1db pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9b9d9724 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa344ada6 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xabd984bb pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb71674c2 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb75152ec pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xba40f7eb pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbb312663 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc258926a pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdcd871ce pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe445bd1c pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xee575f7c pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf0657579 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x059b5cc8 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x10d6e1c6 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x23ee6f41 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x248ea385 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x306f25c9 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4590b1dd pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6f2212b1 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7f9115dd pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb1afd0c8 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb936be9c pcmcia_register_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 0x3e32a4d4 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xff45c6c0 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x6c068e17 cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x77c58289 cros_ec_handle_event +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xb01139a6 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xdd0192d2 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf76c564a cros_ec_suspend +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/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/platform/x86/intel_punit_ipc 0x3a0b563a intel_punit_ipc_simple_command +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0xd857cac7 sony_pic_camera_command +EXPORT_SYMBOL drivers/platform/x86/wmi 0x63fab4a7 __wmi_driver_register +EXPORT_SYMBOL drivers/platform/x86/wmi 0x7ff46e94 wmi_driver_unregister +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x00f09976 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3a847432 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8a19ed32 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8a1f6296 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8c81629a rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x95ee683d rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x9d987ffc rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa30e6263 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb21ca0bc rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd36a0ac9 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd79db311 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xdc0add06 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe01b5ca0 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe9aa78e9 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xfe64f9c2 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/53c700 0x3a289aa7 NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0xd4d26cf4 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x00147154 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x5a8a0adf scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x75c43e6c scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xf59f5b5f scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x17a0346c fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3485292a fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x458d8faa fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x72d5596a fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x81aa883e fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x90385ae1 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x94056415 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xabe17618 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xcb80274a fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd7e6d79a fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xeadc75d7 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05d6191b fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x080f4450 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0bfceb5c fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13dd0d63 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1463b5f0 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1745345b fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a5bf236 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a7de546 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1de73823 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f3ba8b0 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x363d5ad1 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3687259c fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a1d6cec libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f24af45 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5046e43b fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x519367e3 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x54923fff fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56afa177 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a5d4f47 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c323268 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x626f72dd fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e38b94e fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x771bf457 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b8d72ea fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7c78817c fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7d663b3c fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x810f1eb7 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8209b343 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83b6c7ec fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83b81dc5 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83fd9ae4 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x94879d26 fc_disc_config +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3cf5170 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6ecc347 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbcb9649e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbffe347f fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5c65159 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc62a7957 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc67da892 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb65a2b4 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd132b065 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5cfa7fa fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda617dab fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5bcb469 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeafee872 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf4a722fc fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf5ea92f4 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfabc2e86 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfcaa0a60 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xff54398a fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x0341d86b sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x46cf75cb sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xabd2f03a sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x85bbb0ff 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 0x12e4eba7 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x17a11566 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x29ed721e qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x33a53fa5 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x615b84bc qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8d073ad3 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa3d54b03 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa45f2ac3 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb41df364 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xca884597 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdd2d2fb9 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xeea6b5da qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0142ef62 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0cfbe150 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x5255b311 qlogicfas408_host_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x593f28a0 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x74d32ed8 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd738b737 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 0x4ecb956f raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x5fc1125f raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xbb8c0772 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x12822bd2 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1efe8f1a fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x267facc9 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4008662b fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x429327f9 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4b632d06 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x52e1e8f0 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5ce56c9b fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x61b2482d fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x659ddd3d fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6bbcec69 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x74269303 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x92f0ecb4 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa65f0513 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb6a956da fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdd1a8d53 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08e4604f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x16a6d6e7 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1942527d sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1b86ff38 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bc9ce68 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x263067ce sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x265de211 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x274615fa sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x29ab08aa sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3bd64a08 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3ec1ba63 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4a50da50 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x71ae5afe scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x73843bbc sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7b6e4bca sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x87c65182 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9018cf7e sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9df41c8c sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa23acc4c sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3b2d2a9 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab86d991 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbd299e46 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xce546e76 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd4098c7f sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xde7d4d6d sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdf76855f sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf28d7741 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf6954d8f sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfd130356 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x036186e1 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x19b03f47 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x6e4aaf3a spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xa12d13fa spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb81b418c spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x097ca3a5 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xafb29699 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xbe0ca5ef srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xc968de8e srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xde0dedac srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x5ba5c2f6 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x5da898fc tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x04cc289f ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x0a6ee41a ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x3a006531 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4ba99f40 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xb61c4d27 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xbabb8cca ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xc75b3a8c ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xed461395 ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf84cdb82 ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x7706d763 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xc3d0eed7 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0318dcae sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0e858c13 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1cbf8ede sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2d322844 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x56990e7a sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x82c8b047 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x84e10dc8 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x877446ad sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x94c786ce sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x975e1732 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9bd92e43 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa06ee24d sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa26c8a3d sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xad445aaf sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd75fda8d sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe041fb9d sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe3869fbf sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xef02c017 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf16bbff8 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0b85ddd0 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0becd1d1 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0e42970b sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x1827dffd cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x193827a3 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x33c8bacb cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x43fe3b88 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x5268166c cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x535de6cf sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x68cab39a cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x74e06a8b sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa76a6fcb sdw_cdns_thread +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa7cfeec9 sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xae213565 sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xe38cc225 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xecbb1f39 sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-intel 0x0c7e74ff sdw_intel_exit +EXPORT_SYMBOL drivers/ssb/ssb 0x057e65e1 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x0be227c0 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x23b2841f ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x2d44e2a8 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x32c944cc ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x5068cf3f ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x55d09a2d ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x6db94ad1 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x81f09475 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x88ff93d9 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x90ec9dc4 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xa13216dd ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xb53276d0 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcf6a3d51 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xcf985b3b ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xd1cb0bec ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xd410e7eb ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xd8a93866 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xea54b0e5 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xef8224aa ssb_bus_resume +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0158f79e fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0f738024 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2220b1a3 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x27bc8076 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2be83c03 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x35c35699 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x38103213 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3975572f fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x43e199ad fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x5a5ffeba fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6801bf8d fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x76bd42ef fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x83394fa1 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8670a72b fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8809fea3 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x91a1828e fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9569d6bc fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xac24aac8 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xac7a46b3 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb11e7c36 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc4fc09af fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc6e16892 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd2039abb fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf0d43b42 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfb15ed96 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x05ec6d45 gasket_wait_with_reschedule +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x065f9c9d gasket_page_table_max_size +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x0cfa170f gasket_sysfs_put_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x1754524a gasket_get_ioctl_permissions_cb +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x192dedcd gasket_sysfs_put_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x339c2b95 gasket_page_table_map +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x372973e0 gasket_page_table_are_addrs_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x38c3d415 gasket_page_table_num_active_pages +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4109757c gasket_page_table_partition +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4292ff96 gasket_page_table_is_dev_addr_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4e7e2d63 gasket_sysfs_create_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x5928f326 gasket_reset_nolock +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x6dea7095 gasket_pci_remove_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x74cdee62 gasket_sysfs_get_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x77311f6a gasket_page_table_unmap_all +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x82d836a7 gasket_disable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8715d93e gasket_pci_add_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8b970c82 gasket_register_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8c92da47 gasket_page_table_num_simple_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x94058edd gasket_reset +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x96185d9f gasket_sysfs_register_store +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xafcb5433 gasket_unregister_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaa2668a gasket_num_name_lookup +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaf2f8cd gasket_page_table_unmap +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbe040579 gasket_sysfs_get_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc225208c gasket_page_table_num_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc7dce221 gasket_enable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xf97c0305 gasket_mm_unmap_region +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8c3a848e adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x1a0934d1 ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x01b23275 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05af401c rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0744693a alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0c421995 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0ebe472b rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1302ef8d rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x13a64a85 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17fb6ecd rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x18267c4f rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ca81b85 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27874d89 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x29a1cf89 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2cd5e841 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2e0746eb rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x35911127 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3bb79327 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x428a1b93 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x524f55f2 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x544a73f8 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x55c37bc5 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x57917361 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5bc41211 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5d8dd1b1 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5fc4c4ef dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6cf14902 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x72599d99 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x72687c9b rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7e8c76ef rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x92cdaf06 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa007cc2c rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xab65402d rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae7405e9 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb26b97ba rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb4851f80 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc1bde3fe rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc44d5ae2 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcef473d6 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd2195ae7 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd3ec63c0 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdce22f78 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe055ab3b rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe71871ef rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe98a8b2a HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1d5234c rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf252eb18 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf3e2a2a7 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf531c251 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf5980152 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xff058135 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x015f850d ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x07be53af ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x089c516c ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0ab9a6dc HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0c9d4db1 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10a27a74 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x17fa4ae2 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1db4f00d dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1efef7e0 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1f927f9b ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x24569276 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2607fe34 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x289c810a ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28aa65f9 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x29344969 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2df0992a ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2eb132dd ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3853053f ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cc18a76 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x41bd2963 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4504b372 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4cb420ba dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4ec1d9f6 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5077f7e2 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x56c0cb47 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5c578c5c ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x60f20eb7 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x612f6e26 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68b3846b ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6d2008f5 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x711521d0 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7235d0dc ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x736a14b6 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x84b18c38 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e606d0f ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90d5ea37 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95da7b28 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9802cb83 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9de31fc7 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae99eeab ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb33b7d27 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb34dabac ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc8e48b5 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcbb5d20b ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd03cf724 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd16651f3 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe50e4e27 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe60e32d4 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecabd930 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf4c61f3c SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf73037ac ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf9cd55f4 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa08b2ee ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x030963e4 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1391017f iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1b37a4ae iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x22e816a8 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x234a6da1 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x242d1d42 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x26960abf iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x298c1b97 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2db248e2 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2e66d559 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2e6868c6 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x37692cec iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x44846ef1 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4526e3fd iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4805b313 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4d36c131 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4d97fc9d iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x69546b3e iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x716f1e08 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x73feb461 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x749a2dac iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x77c88093 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7ccaa73f iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7d864283 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7ea6e6cf iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x836b88e3 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x852ee0b3 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x85ae96cb iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x860a7312 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x90fb7aab iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9fc3618d iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa604a0d0 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xac0c4e84 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb00f698a iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb6a47b4c iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb79fec05 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbb96cab7 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc4279051 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcd94163e iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd1856d7c iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe89a21b0 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xea17ba7a iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf8c0d027 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfa5bcfec iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x03df529a transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x057ee46b target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x09f3fa58 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x0a6479fe target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x177364d4 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x19ab1cd8 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x1afcdd2d sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x1ba508f8 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x24e37e66 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x25ab11f5 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a6a7852 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x2e40c6b5 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x30db2985 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x34c36266 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x3616ee48 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x373c30cf transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x399b3498 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ac156c4 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b5edd4f target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3fd6ad66 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x42dbde03 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x459e48d5 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4766c434 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x49b0c3ab target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x4c8369d4 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x4db89320 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e49c555 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x50e77b18 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x52324c13 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x59b81a26 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x632af941 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x65f7fa69 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x6a56a264 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6af5a65a passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x6ea3ad50 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ac4c189 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ad865f2 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7d0057be transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x7da70911 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7efacf25 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x83470d0b target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x91caf71d transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x965b222b transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9c726a88 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d31e737 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e4073dc core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0xa05aff8c core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xa0d6bbf4 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xa1e59dbd target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4e4a14f transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa703dc69 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7bb4fea target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xac3d5d97 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xac8957da transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xafab0d27 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xb08ae6d4 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4c5b8af transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xb5851d8e core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb85a1daf target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xbaaeefbd transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbd69369 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xbfe34024 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc3f717af sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xc990a335 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xceb3f235 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8cca62e transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb8b6d86 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe00af512 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xe1556af5 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xe26dc032 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xe86a2c4d transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xec8dab84 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfaf3974a __transport_register_session +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x111eefed acpi_parse_art +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 0xf0f9fe0d acpi_parse_trt +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x2250dda4 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x0d2a8184 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xf7b9abab sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1cd42b00 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1fe7b443 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2a61ba0f usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x34aee10e usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x52332783 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x60b52193 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x708d71f6 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb2ae4dc0 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb60f9c36 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbb187718 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd27fd23e usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xda8b89f2 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xea49d437 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x8e27c1d6 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xb65ae444 usb_serial_resume +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x19a78d00 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x25732ff1 mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x37e725c3 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4e2d818c mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4f31b678 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5e73ca51 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x70464b80 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7202f0fa mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xabc7e77c mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xabe7c238 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xd6442500 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xe64ae019 mdev_get_drvdata +EXPORT_SYMBOL drivers/vhost/vhost 0x20e9c83c vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x45d820fd vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x76317953 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xa06573c6 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xa4c7ef36 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xed2d0a61 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x03fdb830 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x167033e4 svga_tilecopy +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 0x507fd61a svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x82eb6517 svga_tileblit +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 0x93123bd1 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xc1e1c29c svga_tilefill +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 0xdc6f3887 svga_tilecursor +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 0x4cf5555b sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x4d6f557f sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x11caa4e2 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 0x8944443c 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 0x9e0f3ead mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x95c8aa6b matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x968a387b matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x9887f03a g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x6a39b005 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x90568910 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xa669cb3b matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xeb2d1185 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x7f988990 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x8c6df1a5 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x3797ec0c matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x83329f63 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xd6d84181 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xfc930544 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x8067cd48 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x8caa7ea9 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x0ef2fcb3 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xd06e2ba6 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xde5f7dba matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xe78a4012 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xefbc8039 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 0x260590c0 vbg_err +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x569b312f vbg_info +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x70cdcbfd vbg_warn +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x7902aab8 vbg_hgcm_call +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x9c072aa8 vbg_status_code_to_errno +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xbb00e335 vbg_hgcm_disconnect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xccfd70e7 vbg_hgcm_connect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xd4165dc3 vbg_get_gdev +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xec03f613 vbg_put_gdev +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x1f662512 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xd8dcee7d w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x0fc8f6e9 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x23cff469 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x717cd337 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa0a38c05 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xcb53ecdd w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xfbb379b0 w1_add_master_device +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 0x02667129 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x0b793b7d __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x0f9c346c fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x148f2263 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x21102ad0 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x2ed6cfda __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2ed83eb0 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0x32b0a3ea __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x3ea15162 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x3f3cf88c __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x4463fea9 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x45127a09 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x4f0d82c4 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x5bc4018e fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x60431a81 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6996a9f8 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x6acefa42 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x6b9d4c8d __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x714b18e6 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0x721f8de4 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x764512a3 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x7793f347 fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x77e09458 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x840ab70f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x8eb42d45 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x942cea0b __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9ce74310 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xab9786db fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xbb343df7 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc3181ddb fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xc3f74240 fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xc69b2180 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc886fe6a __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xce339c9e __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xda6c40cb fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xdfd44474 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xe4ed7167 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0xe78cc75d __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xe9f3a417 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xf7a86eb8 fscache_object_destroy +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x54ca5ccc qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x677c510d qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xc2b70a50 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc5f4fab2 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfbf0348e qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xff8c9a3e qtree_get_next_id +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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x393f7002 lc_seq_dump_details +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 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 0xcf1805a5 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x3cf356a1 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x729713e8 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x8ddd1c3f lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x934a71ac lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xae55e5cb lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xd70c96bf lowpan_register_netdevice +EXPORT_SYMBOL net/802/p8022 0x11f4e99c unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x9e39c7d0 register_8022_client +EXPORT_SYMBOL net/802/psnap 0x809a45e4 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x81a135a8 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x006cea95 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x05f07d54 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x092adc97 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x0e370f0b p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x1430723c p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x16290ba7 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x18cead85 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x18e802ac p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x1f6a8129 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x2312551e p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x273500cd p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x338b0e7a p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x3c6bc17e p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3dcdaf02 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x426586c5 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x4c1466b8 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x4db3957d p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x4e5636ea p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x522a7c8f p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5a58a2b5 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x5b0e5ae7 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x62de4767 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x64e4b443 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x66d543c0 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x692cd776 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x73686a2d p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x746c1110 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x868b43e8 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9477f111 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x96857498 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0xa13cc03f p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xa33f8ac7 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xa68eb3f5 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xac4de907 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xb1520127 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbd4d46e2 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xbef0b875 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xc1117d7e p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xca711b1e p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xda002cee p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe4021ba1 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xef59a4f1 p9_client_readdir +EXPORT_SYMBOL net/appletalk/appletalk 0x4c980156 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x72ee33f5 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xe87c83aa aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xf676e8ee atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x01b79873 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x2acf667b vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x330aa52e deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x3a64991a atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x427b9577 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x460a10cc atm_charge +EXPORT_SYMBOL net/atm/atm 0x72c26325 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x7b189ba7 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x905dd661 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xbc96263f atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xc92a7634 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xe55d35f8 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xefcf82b0 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x205a8cbd ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x32d4b699 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x4869e01f ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x6878a04d ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x737cd02f ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xaee30e6c ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcc98b68f ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xf420ef47 ax25_listen_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00a265f7 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0213adbc bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0377d6fe hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0498528e hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x04f27a84 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x06f3a4f5 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a73469d bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x238fe140 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2500b72f hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x26c3e940 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2ef26b07 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3377c4b4 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4b471c0f hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4caa9e0a bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x50af9ae4 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x51171f73 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x565ead34 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5aae373f bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5ee425a8 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x65f87a5c bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6fc113d5 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7480ee21 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b3caa9c l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x820e4564 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8431d88d hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x882332b9 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8da5ac0e hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8e74aeb6 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9816a639 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x989dbe63 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9924acc4 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9ba57fbf hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaec73c40 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb12feeda hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb139cb24 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb77d3741 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbbfae60d bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc4ea4e82 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xce2f7e4f __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd4f0e2e9 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xde007363 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xde4c236b bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf9da55e6 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfcd36fae bt_procfs_cleanup +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x29f9849e ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x3afeda89 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x42fe39cc ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc29dd4c1 ebt_unregister_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 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 0xb67c4fac caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xbcce1d31 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xc3b0d4ea get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xda91bd62 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0xeb98066b caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x0845f1bc can_rx_register +EXPORT_SYMBOL net/can/can 0x5e7dd444 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x8d2237e2 can_send +EXPORT_SYMBOL net/can/can 0x9013938f can_proto_register +EXPORT_SYMBOL net/can/can 0xa58ab7ee can_rx_unregister +EXPORT_SYMBOL net/can/can 0xd7f35980 can_proto_unregister +EXPORT_SYMBOL net/ceph/libceph 0x010c530d ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x080bf647 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x082aa4b5 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x083d70f8 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x0e2e861f ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x1561c171 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x166336da osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x18256874 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x185ee65b ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x19fce595 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x1cd15129 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x203946fe ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x2201e4e7 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x237c113a ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x2494626d ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x268ca11b ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x2722e8b4 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2e511dc1 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x3258efc8 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x352e2809 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x354b7e6c ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x377ffe5f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x39cd5d3f osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3d6904da ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x3ecce571 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x4236e451 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x4286d0ff ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x450cd7c2 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x45d1b894 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x46555f2e ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x46ff5c01 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4b576c45 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x4b73cc9f __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x4ee307ce ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x4f4b4415 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x51ac2c11 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x530ef8ee ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x548bb3c3 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x5651cd2b ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b3c8733 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x5bafcd32 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x5bccf559 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x5e0ec6a3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x63dc2e96 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x64331607 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x64dc15b1 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x6606628c ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x674a94c8 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x70375f13 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x74105746 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x755de1c3 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x75efefb6 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x78ebe3ac ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x82932fc4 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x84ae09bf ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x8545d601 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x87da02c1 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x8ac7d16f ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x8d0b3b8f ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x91a40b53 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x948a4c39 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x97ef1a83 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x9906b310 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x9a317d3e ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x9b2f3478 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9bd5ca76 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9cad067f ceph_msg_data_add_pages +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 0xa04bf990 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xa115c6c3 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xa31ab86f ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa815986a ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xafef148c ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xb07660eb ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6e2cde9 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xba76c3e5 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xbb0ebd35 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbbc18386 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xbd0847cc ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbf63a61c ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xbfd23cb7 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xc1220c21 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xc3519e99 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc61a19ce ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xca3dcbab ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcba87efd ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xcc47d874 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xccf9ae44 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xce8ad3cf osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xcfaead12 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xd0453a4e ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd68f7cd3 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xd9e64a14 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xdc0f1852 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xdd5dbd7c osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe2dbda7f ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0xe42f49d9 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xe4f90a33 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe9422ef1 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xec397cd6 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 0xef65f2f5 ceph_pg_to_acting_primary +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 0xf0ef583f ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xf452ca67 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xf794f0e1 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xfacfecee osd_req_op_extent_init +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x4aa4ffd9 dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc02a9fc1 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dsa/dsa_core 0x83cc3217 dsa_port_vid_del +EXPORT_SYMBOL net/dsa/dsa_core 0x911c778a dsa_port_vid_add +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3cdf9098 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4475bdec wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x53d60b42 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x55b87986 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6d63099f wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8af73291 wpan_phy_free +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x4b553ed9 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x91814aba __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x6d7faadb gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x0bfdca78 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x2e6bebc1 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xbb5b2be8 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xf3a0f567 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x3c96a206 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x8fc6768f arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xafc49b13 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe1cec898 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x0f0a546b ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x25fea1e2 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x31a0f38b ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4c8ed0cd ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa7d90a20 ipt_do_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x9dbe5e2a xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xaf710bc8 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x59f43c1d udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x09ba28ff ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0d7ca390 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0fd0031d ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1d04f75f ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x22f5f5e0 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x571b48a3 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8189bc8f ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb82054f4 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xfc019852 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0bcc95ce ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x74680755 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8d18d395 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa4ee342f ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xef1ad79d ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8ca3c491 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x920d48a0 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x1db3a2fa xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x61f20a4b xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/l2tp/l2tp_core 0x157dcdd1 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0x5c504f7d l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0xb1f24736 l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x5ba93d32 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x615e9dff lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x82d116d4 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x88c41aa2 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xabc69b9f lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xbbeb492f lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xc08ff491 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xcf16370e lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x112475cc llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x1adb2aaa llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x38b533c3 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x64aa0257 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x8b175775 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xabdf6c70 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xd5b12aa9 llc_sap_find +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x06adfc93 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x16736e02 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x17d78eaa ieee80211_restart_hw +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 0x1e26177f ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x23f6b4a4 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x24cfec22 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x26092359 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x2b0bc71d ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x2b6e694c ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x2b8fa51c ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x2d7c84b1 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x318ddf71 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x32146288 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x377d77b8 ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x3a195ba3 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x3bc520c5 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x3c2a75af ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x3c358d09 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x3d9b7b3a ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x3fb1138e ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4023cadc ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x406f0e60 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x47199c3b ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x4a63eeb4 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x4ef70f66 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x53eb3e60 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x5458fc59 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x57d29fbf ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x5ab2b97d ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x64eb2a81 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x697bce0d ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x69b25353 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x6a96d39c ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x6daa49db ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x734c431c ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x74075160 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x749199f2 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x766989b8 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7923c85c ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x79e5807f ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x7a2ad283 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x7ae1e5fb ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x7af96d63 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x7d414f76 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x81bfe972 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x820a6551 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x85047523 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8c09df44 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x8d41ed14 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x8e3f3d02 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9032f475 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x93572b2e ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x98e51a0c ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x99f4ca4b ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9d3d4bd4 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x9f423878 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xa68c8588 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa90ce432 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa9f27528 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xae4f1f00 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xafef97a4 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0xb0cb7037 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xb14428c8 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xb2d7d11b ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xb2ef223c wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb3c6b206 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb432c318 ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0xb99447d5 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb9c2b343 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xbca58d91 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc1a44349 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc68b4575 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xcd079576 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xce40f587 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xce66ad74 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0xd830e959 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xd98fefab ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0xdf775a56 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xe2d0f09c ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xea6cccdc ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xeabda8a0 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xeae8b11d ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xefa1820c ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xefa1a328 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf08ca6a3 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0xf12418f4 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xf178c1d7 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xf1a3e8bd ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf1e1135d ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xf6ea6d5b ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xfba93aea rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xfcbf9d05 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xfd59dc31 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xfd7904a3 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0xfe407044 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac802154/mac802154 0x15e54070 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x1a27d294 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x1a80ad4f ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x1c220ca6 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x1f72a628 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x3059f7f1 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x9fe70854 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xc4983b0a ieee802154_unregister_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0f92bb3c unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x165d7717 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x227c97f0 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x53528cea register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x691cc803 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x72766610 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x75eaf9d6 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x762ffb16 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7a86026f register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7e716951 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9249150e ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa5ca8b78 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa73baf39 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd5d49e5b ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdcca9028 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd75736c7 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x211044a8 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x39df85b6 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0x8b2c752c nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xe4e259f2 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xfbecd0c5 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x253fb3fc xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x36c2d658 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x3dfd08f6 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x433f69f2 xt_register_targets +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 0x7dc7e6f6 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8f1499c5 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa03a09bf xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xb3b84221 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 0xda41bb6b xt_unregister_match +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 0x0bc9b02e nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x12430c53 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x13d47230 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x145b51a2 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x199c9f3e nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x28366e76 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x396afd47 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x44001091 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x48ed4a05 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x7418f6c8 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x9a380347 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xa9aebd4c nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xbd4068af nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xc7080128 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xcba83351 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd0fb3150 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd3c92230 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xdfdc91a0 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xe597b9c8 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xf3640ac9 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xf577197e nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x0430d415 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x0a743a74 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x0bcf94f1 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x10015a9d nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x13c303bd nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x16b8113f nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x2f8d99d9 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x4b2236df nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x4c5f6ffd nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x4d655867 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x5178e37d nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x54509ac1 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x636dfbac nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x6cf2690e nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x73a3850a nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x78a63bae nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x8f1c193a nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x941533ec nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x95e3af29 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x9e6db458 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xa47b3315 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xa6288a7b nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xaea8e977 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc297ab8a nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xd1dd38d4 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xd79f651d nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0xd88cca1c nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xf41b3182 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xf6f6e517 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nfc 0x1601ccb0 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x1eef1137 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x2f5c0670 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x40a8899c nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x4b49d988 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x72238adc nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x73d48119 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x85b17ba7 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x869ddc7b nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x86a56443 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x974e516a nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xadd480e9 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xb5895284 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0xbb09de55 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xc794c7c1 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xcb80f978 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xd13d272a nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xd65e591e nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0xdd1ffc8e nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xdebb7817 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xe02334a1 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xe027bb84 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xf8c027e2 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xf9101ebf nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xfbe56a10 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc_digital 0x138b05b4 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x1b3614dc nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xb52239b4 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd1ada8cf nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x25948654 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x372ecbd0 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x3ad7493e phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x71a24e36 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x80f2aa9a pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x87d2f29e phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xc57c84a0 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xca136bd3 phonet_header_ops +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1c18e8e4 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x22f2a5f3 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4622aecc rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x73032fdc rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x75616430 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8041d845 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x806a17c1 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x89794000 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x898bb0b9 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8eca12f6 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x903ce1c7 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa6378a2e rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb651848d rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcb43b818 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xccc0b346 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe1f00fb9 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe2efd1c6 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xecc1d274 rxrpc_kernel_check_life +EXPORT_SYMBOL net/sctp/sctp 0x2b947617 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xa970c6b5 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xc0c2c793 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf9a44642 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x3790fc10 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x4491c3d1 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x549f2701 xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x4a69a2d2 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x9fbacbe7 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0xec7bf5f3 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xf304f101 tipc_dump_done +EXPORT_SYMBOL net/tls/tls 0xbbdd3570 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x1fdf597e wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xe48bbde9 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x013e2f37 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x0552256a ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x088063bd cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x09a4f01d cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x0c117f99 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0cd02cdf cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x0dc247e6 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x1013206b cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x132dcb44 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x14fa97b1 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x170c95f1 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1f3c5041 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x218395fc cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x2260c11b cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2385ea6f cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x2584a466 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x27dd53a2 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x29f25c04 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x2de1fea3 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x2f0b1a61 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x310d564b regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x3320082c wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x348a6530 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x38b53e2e __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x39149056 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3b6d7d77 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x420cb28d cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x43d7571d wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x4c01f838 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x4dfe5f7c cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x4f92cecf cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x53d3e935 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x54654dab cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x54bba1f6 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x565021a9 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x58267e8f cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x58633098 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x5ac0984e cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5dd562cd cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x61d93219 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x622b3e4a cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x675b5d0e cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x70ba992a cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x71f0d40a cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x73c8856b cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x816452ca cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x8458407c wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8793d2f7 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x8a0ce04f cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x918b3698 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x9763c2a0 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x9bf44175 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x9d024ed6 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9dd46547 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xa1f47974 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0xa332f4eb cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xab7c75de cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xac18e075 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xafb5e5ed cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb0011e39 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xb2c41eee cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xbe18af41 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xbec36d85 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xbf0dfb98 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xc0673f86 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xc1ffe082 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xc524a129 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0xc96ff700 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xc98b57fe regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xc99e3a0b cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc9c7ee34 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xca58c7f0 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcd68ed33 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xd006dfea cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd16bedf7 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xd32ea847 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd959224c wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xd98c8fb0 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xdb9cfb1e cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xe26ee406 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe35159cf cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xe6fcee3f cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xeb7285d5 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xed2d70aa cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xed651fea cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0xf0dd173b cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf678659a cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xf7a0f55e wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xf848bb95 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfb2877ce cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xfbe00af4 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0xff64cfd0 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xffa4177b cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/lib80211 0x1b82bb30 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2f0bfd7b lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x40804ff0 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x85dfe561 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x957bbae0 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9ebc5b01 lib80211_get_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x623ec9fa ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xc78985c6 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 0x2401f4c9 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 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 0x7785f7d3 snd_seq_create_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 0xc4cc890f snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe213d62f snd_seq_event_port_attach +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 0x8d2c1dd7 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x04ac57c4 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x0a78988c snd_card_free +EXPORT_SYMBOL sound/core/snd 0x0d100a98 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x13ae5bb2 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x13f4cff4 snd_ctl_find_numid +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 0x1a61802d snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x1f88bc05 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x22b56294 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x2486d8fc snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x27e618b8 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x2b1d91c3 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x2c70caa4 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x2eb5d911 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x30142217 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x3072e675 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x37abd05b snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x38409d4a snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3984b762 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x3e8001d2 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4c397ce8 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x4db94d88 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x5a6c115f snd_info_register +EXPORT_SYMBOL sound/core/snd 0x5bc8137c snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x618550d4 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x72057051 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x763a3e43 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x7eaf7cf0 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x8007bf02 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x80e2be09 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x83133a01 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x8491b514 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x86fd3083 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f24f722 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa6d9994f snd_device_new +EXPORT_SYMBOL sound/core/snd 0xb1ee431a snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xb2de1c8d snd_register_device +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb55fa909 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xbde322d2 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xc533d5d5 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 0xd0e12918 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xe3245438 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xe3e38d68 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xe43100d7 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xe59f9156 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xe8086797 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xed98afb5 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xfb9bb294 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0xa1b09f13 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xb749f6e6 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x442948d8 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 0x0bc16272 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x168c68f5 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2259cf65 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x25c09993 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x2d317acc snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x30d6fb0b snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x36fc3423 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x38258aac snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x424b7d1e snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x42c21f11 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x46e5eb4c snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x49a28364 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x4a49a817 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x4aa4acfa snd_pcm_hw_param_first +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 0x559b616d snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x62cba1f8 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6833c301 snd_pcm_hw_constraint_ratnums +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 0x6aab82be snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x6d1e751b snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x75870b9a snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x874579c6 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x8a0689fc snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x8ec207bc snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x8f23d0e7 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x97a81b1d snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x9f84033e snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0xa23a3713 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa642801f snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xa6e33e2e snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xadf028e1 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xb7a83398 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xb8ad203b snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbacab247 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xc16fbc59 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xc1770ff7 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xc35d2efc snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xc7b92b19 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xc8d0d565 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xca84b1ec snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xcabe2722 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xcb507f8c snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xcfabae68 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xdb046972 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xee854088 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xfc8edf10 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0db8c556 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x13eb681b snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1502bfba snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1a0e32ca snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x277fe0d0 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2c677ee7 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2ccd7be4 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3232b59a __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x457b1b84 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5d3134c5 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6046890e snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x62758ca6 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa0a2c843 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa1b6a60d snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa6b1338c snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0xaea13840 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb91a3fb2 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc6299608 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc83c506e __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdca3ea8b snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x124ef51f 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 0x1b01cd1b snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x414419ab snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x4dabffa8 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x58c2ab17 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x62ff2f0c snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x76dccc2f snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x8ffc4e61 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x96116608 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xc93e4f0b snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xd58b6762 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0xf27e70e1 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xfa5014dd snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xfb0722dd snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xfd76958c snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xffb8a40b snd_timer_global_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/mpu401/snd-mpu401-uart 0xff69bdb1 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x19c6e048 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x32e95138 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6fc57cc4 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x78a41900 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa8467003 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf32535a3 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf531c7e7 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf68bca2b snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfe927717 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4e366410 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x55bcfcb1 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x58f9c2b4 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5e1d6928 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x60411184 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x69c13b70 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8aed3f0a snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xadf6bd9b snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbe263752 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x011c4f4b fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0737b4e4 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0ccda595 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x12516794 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1627d107 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x178f7664 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x19b37cfe avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x19fc6568 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1b36e0a1 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1e6329b6 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x22c3efa7 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2447ae41 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2b7914a1 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x593fe841 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x63d08c25 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6dca386d amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74c3baec cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x795a4675 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7ba390e8 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x826ddca8 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9e9a3613 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9fb6aa1e fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa73f3953 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb568e7b5 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc02dd72e cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdb10e5a7 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdb11f6a3 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdeb8293e cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe34499df avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe9a68618 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x4928feae snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x973fcc51 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0f8bcd54 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2267db78 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x53b77066 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5703f2ee snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x700a2c97 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8dd0fcca snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc5bfdd3b snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf4f12a25 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x155c50a5 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5ba32bcc snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x649006a9 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc07398ac snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf5e0c93b snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xfc508bb4 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x1d7c5034 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xa364facf snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xa5078b11 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xc662bff5 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x22c3cd57 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xf909db22 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3d7dc521 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x417bd251 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x80eab248 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x97c0ee60 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa24b9a3b snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa50e8e4b snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x018b1bf1 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4c641c21 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x91093d0c snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9c61c1f6 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd1dd717c snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe3e71598 snd_i2c_device_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0f1f15d5 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x397bd3f3 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x3995fa20 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8af39f85 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9f77e54d snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb2bf4024 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc2f6a74e snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xca247ac7 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xda6b54f6 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdda351ba snd_sbmixer_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x05fe2ccd snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x064e9c47 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x12bb8904 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4701d302 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x590a11b8 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x59f5288b snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e9f2977 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9650cebb snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa5646632 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb1b66869 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb6358853 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd335c253 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdad2709b snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe1550282 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe417cd85 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe4230fc2 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf8e5612d snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0xdc1630a5 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2bdb01b6 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x4e3eafe8 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6ae52917 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x85b7cfb6 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x912383cb snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xaf7cd5bf snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xb837d0d1 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc74382e2 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf2905dd8 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x2acc8593 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x96a35d19 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xfffc3bdb snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x014ae084 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x11df29e7 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x126661d2 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x15678c67 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1aaab22c oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1b3bd831 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x38f2c2ca oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4a2a6e04 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5d6127ac oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c318fe4 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x73f2ccc8 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa4158742 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa7c04538 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb1be173e oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb8d7a572 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc6d90456 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd5bae2b7 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd7534c2a oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe8603d06 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf3be0458 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf3cc064c oxygen_write16_masked +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1b71642a snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x203440ac snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9b2f696a snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe6679316 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xf155c8a4 snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x4d3ce621 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x586c8037 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x1cbb525e tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x64e5dea6 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x5230f29e aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x9747a52e aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xd894ea8b aic32x4_probe +EXPORT_SYMBOL sound/soc/snd-soc-core 0x7a8be600 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x02b35d1a snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x033a4e77 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x12faab87 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x142f86e9 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x16271229 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1754703a snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x17fa9fc4 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x216f195b sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x21c1ea49 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x21dc3000 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x237f4e96 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24404410 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24c6e413 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x26f70fb5 snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x28ed3929 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ad11f88 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x321e27b5 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x37d73ea1 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3cb10f34 snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4153deb7 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x43b20634 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x45071c98 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4ba3de25 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4d333caa sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x50e416a8 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5c85592c snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5e66baa0 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6121f6fa snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6469c012 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6a0aadeb snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6bd8e8fa sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6d139988 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8077235d sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x81ae4aab snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8a15fc01 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8f7c1d25 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x95d7e21a snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x98692a93 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa113fee8 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xadedb77c snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb400020b sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbbc0a032 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc11c0681 snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xca9f750d sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xccca1982 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd1efdfe4 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd35458af snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xda1ed93a snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe128a4f9 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe2beeab9 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf3d2b60d snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf650d4a5 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfce09e39 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x33920d72 sound_class +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x892b1380 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xd40f15ad register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xdd8cf99e register_sound_special +EXPORT_SYMBOL sound/soundcore 0xe23f70bc register_sound_special_device +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x116d1c74 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5945c5a4 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 0x7e5639c0 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x8440fdc8 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xca3e9437 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xfde3f86f snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/snd-util-mem 0x293ac667 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x34ac95ae snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x48f920c4 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7d95566f snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x85659341 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x97bb24f2 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9db98086 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xe2935f8c snd_util_memhdr_free +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x10c1e242 __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 ubuntu/hio/hio 0x1d94d47f ssd_set_otprotect +EXPORT_SYMBOL ubuntu/hio/hio 0x34b353a0 ssd_submit_pbio +EXPORT_SYMBOL ubuntu/hio/hio 0x499f8f81 ssd_set_wmode +EXPORT_SYMBOL ubuntu/hio/hio 0x61bb941d ssd_reset +EXPORT_SYMBOL ubuntu/hio/hio 0x646019c1 ssd_unregister_event_notifier +EXPORT_SYMBOL ubuntu/hio/hio 0x649f0f63 ssd_get_pciaddr +EXPORT_SYMBOL ubuntu/hio/hio 0x67e5bde5 ssd_get_version +EXPORT_SYMBOL ubuntu/hio/hio 0x937901b4 ssd_register_event_notifier +EXPORT_SYMBOL ubuntu/hio/hio 0xa29d3c3d ssd_get_temperature +EXPORT_SYMBOL ubuntu/hio/hio 0xcb7ff76d ssd_get_label +EXPORT_SYMBOL ubuntu/hio/hio 0xfa35c877 ssd_bm_status +EXPORT_SYMBOL vmlinux 0x001e011e fb_show_logo +EXPORT_SYMBOL vmlinux 0x002cbda8 genphy_resume +EXPORT_SYMBOL vmlinux 0x0063e605 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x00686440 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x00709f2c dquot_quota_on +EXPORT_SYMBOL vmlinux 0x008870a7 proc_mkdir +EXPORT_SYMBOL vmlinux 0x008a89e4 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x008f3168 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x00962201 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x00a4b044 amd_iommu_deactivate_guest_mode +EXPORT_SYMBOL vmlinux 0x00ac757e __bforget +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00b78da9 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x00b93a6c netlink_broadcast +EXPORT_SYMBOL vmlinux 0x00ba1d25 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x00baead5 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x00bcb353 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00eb59cc filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x00f7ca0b kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010e0d1c blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x01192199 __serio_register_port +EXPORT_SYMBOL vmlinux 0x01199092 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x011ca083 convert_art_to_tsc +EXPORT_SYMBOL vmlinux 0x01314dc9 eisa_bus_type +EXPORT_SYMBOL vmlinux 0x013352a9 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x013abb55 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x015008bc sync_inode +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x01755417 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x01761fee blk_mq_start_stopped_hw_queues +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 0x019ca712 pci_select_bars +EXPORT_SYMBOL vmlinux 0x01a54683 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01be35de unlock_buffer +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c49ec7 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x01e9edc2 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x01f94134 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x0204ac25 param_ops_short +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x020f237b pnp_start_dev +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02171d33 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x022583bc neigh_parms_release +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x023155f8 dm_io +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d1b90 wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x0251e58a jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x0252c7c7 generic_file_open +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x025b909e free_buffer_head +EXPORT_SYMBOL vmlinux 0x026f05ae hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027e3ecb blk_queue_split +EXPORT_SYMBOL vmlinux 0x027fe463 dm_put_table_device +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a1d806 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x02aa2870 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02b8b0f4 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x02c656b6 acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x02dec8a4 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x02e6cc00 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02f14de8 ps2_init +EXPORT_SYMBOL vmlinux 0x02f3cc5e amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0x03189c05 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x031e865d bio_reset +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0338dd83 __skb_pad +EXPORT_SYMBOL vmlinux 0x0346a04d i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x03596789 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x0372dae2 kernel_connect +EXPORT_SYMBOL vmlinux 0x037534eb amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0393d521 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03a3f3b1 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x03d196c7 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x03e85eff pci_disable_msi +EXPORT_SYMBOL vmlinux 0x03fb611e seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x041f7a50 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x042d7877 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x043dad89 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0455e7c3 ata_link_printk +EXPORT_SYMBOL vmlinux 0x04573310 dst_destroy +EXPORT_SYMBOL vmlinux 0x045bd86f pneigh_lookup +EXPORT_SYMBOL vmlinux 0x0471a6b4 legacy_pic +EXPORT_SYMBOL vmlinux 0x04765bf0 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x0494ff9e blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x04a61d2a ip_check_defrag +EXPORT_SYMBOL vmlinux 0x04b12df2 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x04bd3cd1 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04d81283 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea5330 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f05b25 set_create_files_as +EXPORT_SYMBOL vmlinux 0x04f87273 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x04fe4fc8 __check_sticky +EXPORT_SYMBOL vmlinux 0x05081a56 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x050ae593 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05220c78 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054395fd dev_uc_del +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0551d047 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x05581f24 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x057fa5b9 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x05a46c64 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x05b717f8 get_task_cred +EXPORT_SYMBOL vmlinux 0x05d8a541 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x05ddcf87 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x05fe89be rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x06052f8d __memmove +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0635535f fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x065361ac tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x066d3c92 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x06740e7e page_mapping +EXPORT_SYMBOL vmlinux 0x067923b0 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06ac3cd4 put_tty_driver +EXPORT_SYMBOL vmlinux 0x06b39ab8 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x06b7ddde tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06cb588e ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x06d7ad91 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x06ee88c4 param_set_ullong +EXPORT_SYMBOL vmlinux 0x0702dc0a compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x070b58ae input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x07148285 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x0726b500 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x072b56e2 dev_activate +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0736ea6e cdrom_release +EXPORT_SYMBOL vmlinux 0x07380b3a tcf_block_put +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x07484388 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x074dadb5 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x075cb826 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x076b7d81 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x077b4219 set_anon_super +EXPORT_SYMBOL vmlinux 0x0783efff md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x078f659f blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b80cd0 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x07c88054 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x080530aa param_set_byte +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x0806163f kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x08081d02 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x0809ac2c register_framebuffer +EXPORT_SYMBOL vmlinux 0x080f9903 dev_get_iflink +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x0817744d sock_bind_add +EXPORT_SYMBOL vmlinux 0x081d3447 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x08263089 tty_name +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x0830ca0e flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0841f10b udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x08422e9a thaw_super +EXPORT_SYMBOL vmlinux 0x086afb2d clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x087ea24e fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088b5361 inet6_getname +EXPORT_SYMBOL vmlinux 0x08b22ef8 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x08b957e7 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x08bb5a01 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x08cbb4c2 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x08e12988 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x08ea5bc4 generic_write_checks +EXPORT_SYMBOL vmlinux 0x08ec2901 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x08f81005 request_key_rcu +EXPORT_SYMBOL vmlinux 0x08fee4c9 phy_start +EXPORT_SYMBOL vmlinux 0x09009854 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x09107ce5 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x0912f3ed rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x091b613f seq_read +EXPORT_SYMBOL vmlinux 0x091e8856 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x0939e795 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x093ba8c0 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x093caa28 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x093dab15 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x093f5632 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x09425231 dev_close +EXPORT_SYMBOL vmlinux 0x0944c43f node_states +EXPORT_SYMBOL vmlinux 0x09486c10 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x09682235 down_timeout +EXPORT_SYMBOL vmlinux 0x09699fea security_unix_may_send +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x097c18d1 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x097f7528 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x097fa141 I_BDEV +EXPORT_SYMBOL vmlinux 0x09875fc0 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09a90766 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x09c6a779 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e1bb44 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a106904 sk_capable +EXPORT_SYMBOL vmlinux 0x0a1164d0 netdev_emerg +EXPORT_SYMBOL vmlinux 0x0a15d39b phy_get_pause +EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a1fef2a dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a342afc jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x0a41726e __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x0a56b42e security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ac98cae tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad10eb8 _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x0ae80641 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x0af20eae down_read_interruptible +EXPORT_SYMBOL vmlinux 0x0b10272b fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0x0b179dae input_mt_init_slots +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 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b31414f soft_cursor +EXPORT_SYMBOL vmlinux 0x0b4016ee gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x0b4b9c0f to_nd_btt +EXPORT_SYMBOL vmlinux 0x0b637410 cr4_update_irqsoff +EXPORT_SYMBOL vmlinux 0x0b6b338e devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b98fcfa get_tree_single +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bf9868f sk_free +EXPORT_SYMBOL vmlinux 0x0c07111f dma_cache_sync +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2607d3 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x0c32ed3a km_state_expired +EXPORT_SYMBOL vmlinux 0x0c34b3f0 noop_qdisc +EXPORT_SYMBOL vmlinux 0x0c4b490d serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x0c68a39f __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x0c68df3e fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x0c69ca9b skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x0c6ba43a devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c6f7bd1 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x0c763f89 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x0c9b2077 tcf_register_action +EXPORT_SYMBOL vmlinux 0x0c9ffb0a __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ce9df38 key_validate +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0f5e8f nf_hook_slow +EXPORT_SYMBOL vmlinux 0x0d15cbe8 inet_add_offload +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d71281c qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x0d877689 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x0d89b5d9 dma_find_channel +EXPORT_SYMBOL vmlinux 0x0da6aad8 dev_load +EXPORT_SYMBOL vmlinux 0x0dacd529 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x0dcc675d dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x0de6af06 input_set_keycode +EXPORT_SYMBOL vmlinux 0x0de7799b unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x0dfbdb9f xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x0dff9aa5 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x0e0d209a create_empty_buffers +EXPORT_SYMBOL vmlinux 0x0e15efad bio_chain +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e23b37f alloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e299fed get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x0e364092 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x0e3fe177 fb_pan_display +EXPORT_SYMBOL vmlinux 0x0e4722f5 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x0e56c4f9 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x0e5e73ac fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x0e6a1351 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e84eacc ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ec7d26d __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x0ef0a3a6 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x0ef51f90 devm_register_netdev +EXPORT_SYMBOL vmlinux 0x0f05c7b8 __x86_indirect_thunk_r15 +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f290392 udplite_prot +EXPORT_SYMBOL vmlinux 0x0f30fbf8 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f465e77 inet_frag_find +EXPORT_SYMBOL vmlinux 0x0f6d59b0 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x0f7cd2db phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x0f7e17d9 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x0f815528 finalize_exec +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8849a7 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x0fa21d8c ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x0fa81b57 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fb7c991 dput +EXPORT_SYMBOL vmlinux 0x0fd14c52 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0ff4178f __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x0ff80f59 zalloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x0ffe3042 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10003fed single_open +EXPORT_SYMBOL vmlinux 0x100da54b scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x1012fd72 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x102bed66 cpu_info +EXPORT_SYMBOL vmlinux 0x1032060c inet_put_port +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x1039fa61 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x1048f90b vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x104a0872 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105c8280 vfs_link +EXPORT_SYMBOL vmlinux 0x105ff3ef udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x106d7dab dump_skip +EXPORT_SYMBOL vmlinux 0x1078dbc6 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x1098e89a mmc_detect_change +EXPORT_SYMBOL vmlinux 0x10992e09 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x109c861b i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x10a92ff9 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x10b1da41 cad_pid +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c40540 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x10d3f303 neigh_destroy +EXPORT_SYMBOL vmlinux 0x10d81c1b xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10df2294 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x10e90c73 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11449e82 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x114e5642 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x115abe25 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x115fc585 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116ec036 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11716274 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x1173ac9b nvm_register +EXPORT_SYMBOL vmlinux 0x1177911d set_pages_array_uc +EXPORT_SYMBOL vmlinux 0x11824cb5 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x11838cf4 bio_copy_data +EXPORT_SYMBOL vmlinux 0x118393dd pci_dev_driver +EXPORT_SYMBOL vmlinux 0x11844bdc inet_frags_init +EXPORT_SYMBOL vmlinux 0x1198645c __destroy_inode +EXPORT_SYMBOL vmlinux 0x119b8623 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x11b86f2d __x86_retpoline_rbp +EXPORT_SYMBOL vmlinux 0x11b89e1c tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x11de3e96 vfs_getattr +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f567ae devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120f2eac blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x1227d87e tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x1233a45a frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x12355e53 inet_bind +EXPORT_SYMBOL vmlinux 0x1240a129 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x125a6459 input_flush_device +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x127a7a54 bio_free_pages +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a436da param_set_ulong +EXPORT_SYMBOL vmlinux 0x12a89e1c vmap +EXPORT_SYMBOL vmlinux 0x12ac5e3e key_alloc +EXPORT_SYMBOL vmlinux 0x12ae59c8 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12dfbdec pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x12e1dd6e pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fdabe2 input_register_handle +EXPORT_SYMBOL vmlinux 0x12feefa4 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x1309e9d1 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x13170026 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x131e1452 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x13278483 netdev_update_features +EXPORT_SYMBOL vmlinux 0x1339c804 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x1344d7e6 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x134ce9ff ex_handler_clear_fs +EXPORT_SYMBOL vmlinux 0x13586d12 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x1366241f dev_driver_string +EXPORT_SYMBOL vmlinux 0x137809c2 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x1389619c __max_die_per_package +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13a17f0d page_pool_destroy +EXPORT_SYMBOL vmlinux 0x13ae8709 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x13c33007 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e96ab7 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f4f5de register_netdev +EXPORT_SYMBOL vmlinux 0x13fa8a2b xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14677057 pci_iounmap +EXPORT_SYMBOL vmlinux 0x1479c35f inet_listen +EXPORT_SYMBOL vmlinux 0x148a2fd3 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x14ba2ee3 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14d23636 param_set_uint +EXPORT_SYMBOL vmlinux 0x14f0b729 find_lock_entry +EXPORT_SYMBOL vmlinux 0x14f3bc1d max8925_reg_write +EXPORT_SYMBOL vmlinux 0x14f97e22 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x150422e7 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x150e3657 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x1512999a __devm_release_region +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x152022e1 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x15387dc1 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x1543029a fput +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155892a6 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x15606b06 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x158bbd1e seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x15a55a9e neigh_app_ns +EXPORT_SYMBOL vmlinux 0x15a883cb vfs_llseek +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c42b9f __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15e1dd09 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x15edb07a jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x15f7983f __x86_retpoline_r13 +EXPORT_SYMBOL vmlinux 0x1601d055 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x1607465b serio_open +EXPORT_SYMBOL vmlinux 0x1607a282 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x16089187 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x161bcb99 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x1623781f dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x16247c51 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x162a58b6 __frontswap_test +EXPORT_SYMBOL vmlinux 0x16301b34 wrmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x1646a5e1 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x164d36b3 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x1671f29c tcp_peek_len +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x1680d8dd scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x16866538 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x169cc185 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x16b0426d sg_miter_start +EXPORT_SYMBOL vmlinux 0x16bced5c dev_uc_init +EXPORT_SYMBOL vmlinux 0x16c639d6 poll_freewait +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16ed5cf5 page_symlink +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x171d7979 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x1722819e twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x174c4224 rproc_free +EXPORT_SYMBOL vmlinux 0x1752db0b pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x175e33fb dma_spin_lock +EXPORT_SYMBOL vmlinux 0x1765ea1f __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x176daf3f done_path_create +EXPORT_SYMBOL vmlinux 0x17824821 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x179231bc inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x17b7a330 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x17bd4826 task_work_add +EXPORT_SYMBOL vmlinux 0x17be68ca acpi_clear_event +EXPORT_SYMBOL vmlinux 0x17d3846d tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x17e1b395 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x17eca8b9 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17fe43f9 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x1816009b __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x181748b6 security_sock_graft +EXPORT_SYMBOL vmlinux 0x1829ad1d remap_pfn_range +EXPORT_SYMBOL vmlinux 0x183232a5 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x1840eab3 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x18486dc7 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x185543a3 locks_delete_block +EXPORT_SYMBOL vmlinux 0x18618b28 register_quota_format +EXPORT_SYMBOL vmlinux 0x186d0dbc thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x1871d826 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x187a4ecd __tracepoint_read_msr +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x189ce8f9 proc_set_user +EXPORT_SYMBOL vmlinux 0x18acb9a7 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18b8e157 phy_write_paged +EXPORT_SYMBOL vmlinux 0x18d99c74 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x18e448f4 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18e6f879 nf_log_packet +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x190c1a5d should_remove_suid +EXPORT_SYMBOL vmlinux 0x1916f0f9 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x194ea9d5 sock_efree +EXPORT_SYMBOL vmlinux 0x194f72bf blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x19694e18 file_modified +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198a6863 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x198fca20 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x1992ed20 inet_getname +EXPORT_SYMBOL vmlinux 0x19984c7c ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b76073 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19df99b9 acpi_finish_gpe +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a3511d2 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4ab697 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a66a625 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x1a8c5ab7 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9ee401 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x1aa72dce gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x1ab5baea rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1aea9f44 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x1af584d8 drop_nlink +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b1027a3 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x1b21897d netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x1b2f844c kset_unregister +EXPORT_SYMBOL vmlinux 0x1b38222d dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x1b395b3d xp_can_alloc +EXPORT_SYMBOL vmlinux 0x1b45b5cc param_set_bint +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6748d6 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x1b67a992 ip_frag_init +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b76ab33 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7c2365 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb7f042 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x1bd4c0db devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bd9dd61 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x1bf0c379 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x1c105031 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x1c1b9f8e _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x1c2784f6 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x1c284356 iput +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c37f717 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5922b7 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x1c63d2e5 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x1c81a2ee phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x1c8fd552 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x1c921dfd sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cc48973 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x1cc5f477 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x1cd4f4c7 phy_stop +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1ce66722 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1cf08bf0 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x1cf74d5a d_obtain_alias +EXPORT_SYMBOL vmlinux 0x1cf87b38 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x1d003e16 kill_fasync +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 0x1d2b688c mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d42a559 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x1d462b29 ping_prot +EXPORT_SYMBOL vmlinux 0x1d5c7367 napi_complete_done +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d616619 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x1d65ffcb max8998_read_reg +EXPORT_SYMBOL vmlinux 0x1d72a4a1 bmap +EXPORT_SYMBOL vmlinux 0x1d87fd22 dup_iter +EXPORT_SYMBOL vmlinux 0x1d8ff093 inet_select_addr +EXPORT_SYMBOL vmlinux 0x1d9d6b41 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x1dae4faf tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dbc5d3c jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd7d00a generic_setlease +EXPORT_SYMBOL vmlinux 0x1ddba77b _dev_notice +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de211a0 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de76207 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x1deebdd3 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1df9e787 dev_addr_init +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e14603f get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x1e1541de blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e3914ec scsi_host_busy +EXPORT_SYMBOL vmlinux 0x1e45737c param_ops_bool +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6de777 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x1e898ea1 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1eb922a3 IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x1ed69809 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x1ed8b599 __x86_indirect_thunk_r8 +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1edf95c7 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x1f017976 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f571a0f bio_clone_fast +EXPORT_SYMBOL vmlinux 0x1f66ab4a ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x1f68475e locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1f699471 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x1f6f656b __block_write_begin +EXPORT_SYMBOL vmlinux 0x1fa47ccf posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc0cc7c intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0x1fc3562e input_release_device +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fd4773d pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x1fde5987 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x1fdf4245 fb_set_var +EXPORT_SYMBOL vmlinux 0x1fe618a0 address_space_init_once +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2017f7f3 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x202246d0 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x20373adf blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x206b6f94 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x206bb5c7 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20939a0b gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x209ed1ac unregister_netdev +EXPORT_SYMBOL vmlinux 0x20a1b519 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20a95e12 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x20b0202e mmc_erase +EXPORT_SYMBOL vmlinux 0x20ba4f3e rdmsr_on_cpu +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 0x20f1c29a lookup_one_len +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x2104b586 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x211130c1 alloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x212dd3f6 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213bf79a rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x21738a0b configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x2177bd71 acpi_disable_event +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21a67d10 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21bf298b fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x21bfc197 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x21c44457 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x2201dccb netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x22107ee7 blk_rq_init +EXPORT_SYMBOL vmlinux 0x2213f79f ptp_clock_index +EXPORT_SYMBOL vmlinux 0x221c05b4 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x22224c61 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22303339 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x223ac644 udp_gro_receive +EXPORT_SYMBOL vmlinux 0x223da53d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x22417ad9 netdev_features_change +EXPORT_SYMBOL vmlinux 0x225fb9f7 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x2266e13b generic_fadvise +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x228d175e set_cached_acl +EXPORT_SYMBOL vmlinux 0x229502dd migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x229d89a2 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c9b66b qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x22d8c84c rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x22de4931 amd_iommu_register_ga_log_notifier +EXPORT_SYMBOL vmlinux 0x22e83e8c config_item_set_name +EXPORT_SYMBOL vmlinux 0x22f4a25b acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x22fba8db ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x23121d36 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x2312f90a nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x231357fe audit_log +EXPORT_SYMBOL vmlinux 0x23316569 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x2334f3ff tty_do_resize +EXPORT_SYMBOL vmlinux 0x234e4aae input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x2380490a inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x23849597 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23ac5101 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23ba76ad page_pool_release_page +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23dc0187 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x23e21ec0 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24084c80 dev_get_stats +EXPORT_SYMBOL vmlinux 0x240e57dc d_alloc_anon +EXPORT_SYMBOL vmlinux 0x2413f776 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242c83b3 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x24393a1c ip_frag_next +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a1265 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x2470d8c5 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2474e274 sync_blockdev +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24903709 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24e4e9a0 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x24f1f62c dentry_open +EXPORT_SYMBOL vmlinux 0x24f4c37f clear_nlink +EXPORT_SYMBOL vmlinux 0x2500c913 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x250d29d3 dquot_get_state +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x25504359 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x2556317e pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x256ec239 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258bf6e7 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25b49466 sk_dst_check +EXPORT_SYMBOL vmlinux 0x25cced29 from_kuid +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 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x260bd196 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x26128d52 seq_printf +EXPORT_SYMBOL vmlinux 0x26171ce4 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x2635ef33 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x26367654 cont_write_begin +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263ed23b __x86_indirect_thunk_r12 +EXPORT_SYMBOL vmlinux 0x264d3c66 stream_open +EXPORT_SYMBOL vmlinux 0x264f7214 rt6_lookup +EXPORT_SYMBOL vmlinux 0x26519d72 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x26708969 blkdev_put +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26948d96 copy_user_enhanced_fast_string +EXPORT_SYMBOL vmlinux 0x26a9e8a8 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x26b9e8f3 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x26c1677c pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x26cc3e2a md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x26cc73c3 complete_and_exit +EXPORT_SYMBOL vmlinux 0x26de9eb6 locks_init_lock +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x27235e75 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x273a5a64 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +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 0x2786753b amd_iommu_pc_get_reg +EXPORT_SYMBOL vmlinux 0x2794e1d1 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x2796bc84 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x279bbae5 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x27afc28e to_nd_pfn +EXPORT_SYMBOL vmlinux 0x27b01938 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x27b428a9 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d66dd8 input_set_capability +EXPORT_SYMBOL vmlinux 0x27fd4ab3 dm_get_device +EXPORT_SYMBOL vmlinux 0x280459ba genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x2808b26c input_open_device +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281c1a90 udp_disconnect +EXPORT_SYMBOL vmlinux 0x282d7d47 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x283bf047 make_kprojid +EXPORT_SYMBOL vmlinux 0x28455781 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x285f76b1 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x286ade3e mntput +EXPORT_SYMBOL vmlinux 0x28738c4f proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2884d738 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x288a2fbd flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x28915bb7 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x28942e3a blkdev_fsync +EXPORT_SYMBOL vmlinux 0x289be38e xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x28c16861 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x28dedfee mpage_readahead +EXPORT_SYMBOL vmlinux 0x28e09af1 iosf_mbi_available +EXPORT_SYMBOL vmlinux 0x28f12392 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x28fb046b nf_getsockopt +EXPORT_SYMBOL vmlinux 0x29090cef __nlmsg_put +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2920a00d agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x29220603 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x2950c553 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x2952096e loop_register_transfer +EXPORT_SYMBOL vmlinux 0x295a18ae pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x296cb509 __xa_insert +EXPORT_SYMBOL vmlinux 0x297afbb5 blk_put_request +EXPORT_SYMBOL vmlinux 0x297d7ff2 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x29803daa udp6_csum_init +EXPORT_SYMBOL vmlinux 0x298ed8e3 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x2994e569 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x29ad5408 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x29ad8e33 x86_hyper_type +EXPORT_SYMBOL vmlinux 0x29dc451e pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29e2b921 dquot_transfer +EXPORT_SYMBOL vmlinux 0x29e351ed dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x2a0921bb ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x2a0bc06a agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x2a1a93e8 mr_table_dump +EXPORT_SYMBOL vmlinux 0x2a1bfe56 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a43a0c8 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x2a8d13ea mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x2a98a2d8 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x2a998994 vga_switcheroo_get_client_state +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 0x2ab7989d mutex_lock +EXPORT_SYMBOL vmlinux 0x2b0199f0 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x2b11f648 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x2b1c7086 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x2b21e93e pci_enable_device +EXPORT_SYMBOL vmlinux 0x2b32c559 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x2b3e3083 __x86_retpoline_rdi +EXPORT_SYMBOL vmlinux 0x2b494eb3 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x2b4a1798 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b6060e8 vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b9cc334 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bbb7d16 neigh_lookup +EXPORT_SYMBOL vmlinux 0x2bbcbea0 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x2bcb8331 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x2bce174a vfio_pin_pages +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bd88926 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x2c09a8fb mntget +EXPORT_SYMBOL vmlinux 0x2c0f2fbc tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x2c17d41c vme_slot_num +EXPORT_SYMBOL vmlinux 0x2c191625 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3d1e60 path_put +EXPORT_SYMBOL vmlinux 0x2c3ea6b5 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x2c3fdbca pnp_device_attach +EXPORT_SYMBOL vmlinux 0x2c473275 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c547516 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x2c581fd6 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x2caf63d1 topology_phys_to_logical_die +EXPORT_SYMBOL vmlinux 0x2cb71a02 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x2cc0b4c0 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ce18b09 to_nd_dax +EXPORT_SYMBOL vmlinux 0x2ce9c710 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x2cee6cc9 i2c_transfer +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d23f748 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x2d254d43 simple_readpage +EXPORT_SYMBOL vmlinux 0x2d277f3d dma_pool_create +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d37f37e tty_port_close +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d666b81 kill_anon_super +EXPORT_SYMBOL vmlinux 0x2d77a53f get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2db3d320 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd39e70 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x2dd6a214 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x2de1ffa6 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x2de37877 vme_register_driver +EXPORT_SYMBOL vmlinux 0x2dee9d87 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2dfb9dae phy_resume +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e1ccf3e scsi_compat_ioctl +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 0x2e5d5100 tcp_poll +EXPORT_SYMBOL vmlinux 0x2e5e5341 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e6a343e vlan_vid_add +EXPORT_SYMBOL vmlinux 0x2e760522 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x2e8669aa pci_find_resource +EXPORT_SYMBOL vmlinux 0x2e877fd4 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x2ea2c95c __x86_indirect_thunk_rax +EXPORT_SYMBOL vmlinux 0x2ea6bff6 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x2eae6c8b sock_gettstamp +EXPORT_SYMBOL vmlinux 0x2eb8baf8 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f05d7d3 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x2f16df0f tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f3991f4 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x2f3a8cff __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x2f3ad11c inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x2f3f4ee2 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x2f6801e1 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8ce645 pci_map_rom +EXPORT_SYMBOL vmlinux 0x2fa8184d input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc6e911 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2ff2a4e1 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x3019f0c4 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x301fa007 _raw_spin_unlock +EXPORT_SYMBOL vmlinux 0x303209be eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x303b6cb9 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0x303d69f3 devm_clk_put +EXPORT_SYMBOL vmlinux 0x303dfcd6 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x306a81b0 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x306ce453 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x30716bd0 skb_trim +EXPORT_SYMBOL vmlinux 0x308a92e8 dev_mc_add +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30b09ab2 get_agp_version +EXPORT_SYMBOL vmlinux 0x30b757e9 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x30db9e9e pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x30dc97e1 simple_link +EXPORT_SYMBOL vmlinux 0x30dec207 __x86_retpoline_rcx +EXPORT_SYMBOL vmlinux 0x30dee0c1 put_devmap_managed_page +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x3100388d current_in_userns +EXPORT_SYMBOL vmlinux 0x3100cff9 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x31305331 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x3135270b simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x313ab1b3 simple_release_fs +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x31457887 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x314f87f5 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x315013f2 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x316506b5 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x3166ed09 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x31755afd __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x318d6fec mutex_is_locked +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a3053b mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x31a359a6 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x31a4fb6c ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31be735e component_match_add_release +EXPORT_SYMBOL vmlinux 0x31c4d724 vme_slave_request +EXPORT_SYMBOL vmlinux 0x31f11fcd __sb_start_write +EXPORT_SYMBOL vmlinux 0x31f3207f inode_add_bytes +EXPORT_SYMBOL vmlinux 0x320997a1 follow_pfn +EXPORT_SYMBOL vmlinux 0x320ac435 dma_ops +EXPORT_SYMBOL vmlinux 0x32328d40 is_nd_btt +EXPORT_SYMBOL vmlinux 0x323d3da2 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x32430fd2 km_state_notify +EXPORT_SYMBOL vmlinux 0x324b479c netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x325d7393 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x3270c6fe kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328585dc md_integrity_register +EXPORT_SYMBOL vmlinux 0x328c6a48 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x32920bf6 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x32a0412a input_register_device +EXPORT_SYMBOL vmlinux 0x32ae5741 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x32b3da27 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d6e0be fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x32e2953c abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x32e2e12d skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32ef2635 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x331a0c7f qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x3324ef3b acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x3328a436 inet_addr_type +EXPORT_SYMBOL vmlinux 0x333c7fe0 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x33436780 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x3344ca28 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33794724 genl_register_family +EXPORT_SYMBOL vmlinux 0x3379bf5b icmp6_send +EXPORT_SYMBOL vmlinux 0x339405b2 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x33abe1be add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x33b3328e qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33b93b3a configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x33d4c8ca inet6_protos +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x33fd9da4 acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x34057333 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x340dfc89 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x341bc348 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x342b80fe make_kuid +EXPORT_SYMBOL vmlinux 0x343ee939 ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x3441445f msrs_free +EXPORT_SYMBOL vmlinux 0x34521a22 vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0x34734638 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x3486363d mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x3489859f acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x348ad652 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x3490a8c2 devm_free_irq +EXPORT_SYMBOL vmlinux 0x34960a38 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x3497b226 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x349ac524 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34a534bb remove_arg_zero +EXPORT_SYMBOL vmlinux 0x34b3d766 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x34c7ed64 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x34cdd2be phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x34d466f4 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x34e586ee vif_device_init +EXPORT_SYMBOL vmlinux 0x34ef5786 is_acpi_data_node +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 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353f632a netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x3540c8a8 put_cmsg +EXPORT_SYMBOL vmlinux 0x354ae46e elv_rb_add +EXPORT_SYMBOL vmlinux 0x354b4a1e acpi_ut_trace +EXPORT_SYMBOL vmlinux 0x355bad74 serio_rescan +EXPORT_SYMBOL vmlinux 0x355f6e45 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x356a7e5a kern_unmount_array +EXPORT_SYMBOL vmlinux 0x357a216e scsi_ioctl +EXPORT_SYMBOL vmlinux 0x358dd3df inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x359e73af dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x359ec42f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35e3a117 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x35f616e8 fsync_bdev +EXPORT_SYMBOL vmlinux 0x36013114 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x360f0f33 inet_shutdown +EXPORT_SYMBOL vmlinux 0x361aa8aa __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x363fe56a udp_seq_start +EXPORT_SYMBOL vmlinux 0x36423ed8 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x36444c06 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x364804c3 tty_register_driver +EXPORT_SYMBOL vmlinux 0x364a8a5f __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36679af6 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x36789513 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x3692a4cc noop_fsync +EXPORT_SYMBOL vmlinux 0x369f0fd4 tcp_child_process +EXPORT_SYMBOL vmlinux 0x369f4847 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x36b404e6 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x36bbe60d devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x36e1f317 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x36fbf196 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371bc805 netdev_state_change +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x3735cbb5 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x3741a0a8 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37524044 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x3755c2e4 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x37624dbd input_grab_device +EXPORT_SYMBOL vmlinux 0x3766fdd0 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x37817b35 neigh_table_init +EXPORT_SYMBOL vmlinux 0x379be2f4 pci_save_state +EXPORT_SYMBOL vmlinux 0x379c08ad gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x379e6954 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x37ac5020 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37bc3370 bioset_init +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c7bb8d sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37fb80b1 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x3812050a _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x38148b54 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x3818ce45 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381ab291 compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x38223880 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x382cdd80 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x3875f30b mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x387ed5d5 devm_clk_get +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 0x389b872c param_get_invbool +EXPORT_SYMBOL vmlinux 0x389d1b80 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38c32fa6 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x38c81944 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x38d02ed1 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x38e2e574 kobject_del +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38ea6bbd pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x38ef8535 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x38f0b81e tty_hangup +EXPORT_SYMBOL vmlinux 0x38f0fbdc md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x38f6050d phy_drivers_register +EXPORT_SYMBOL vmlinux 0x38fefcd0 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x39081193 __max_logical_packages +EXPORT_SYMBOL vmlinux 0x390ea4cb __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3933b11a neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394b603e sock_i_uid +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3962d843 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x396a4711 register_console +EXPORT_SYMBOL vmlinux 0x397db40b irq_set_chip +EXPORT_SYMBOL vmlinux 0x39823474 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399e8114 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39baac85 phy_read_paged +EXPORT_SYMBOL vmlinux 0x39d64325 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x39d9adc1 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x39e3c030 do_trace_read_msr +EXPORT_SYMBOL vmlinux 0x39f0f664 path_has_submounts +EXPORT_SYMBOL vmlinux 0x39fd2cd8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x39fe010c __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x39ff4bce pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +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 0x3a511fc6 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x3a8610d2 block_write_end +EXPORT_SYMBOL vmlinux 0x3a8c6fe8 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x3a9e6d83 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x3aa39d9d shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac9e12c napi_gro_frags +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 0x3afb11a7 kobject_set_name +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b029f48 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x3b14515d inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x3b180242 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b2d8237 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x3b2f86af devfreq_add_device +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b42f22e key_move +EXPORT_SYMBOL vmlinux 0x3b4d3fca __x86_retpoline_r8 +EXPORT_SYMBOL vmlinux 0x3b4e9da0 igrab +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b688574 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x3b72f08d preempt_schedule_notrace_thunk +EXPORT_SYMBOL vmlinux 0x3b7a025b register_cdrom +EXPORT_SYMBOL vmlinux 0x3b83610f cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3bb671c4 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x3bbf177d udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x3bc81ab3 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x3bc9cff6 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x3be0f3cd blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c1cb7f4 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x3c228a92 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x3c3341a5 node_data +EXPORT_SYMBOL vmlinux 0x3c38b513 convert_art_ns_to_tsc +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c427f67 cpu_die_map +EXPORT_SYMBOL vmlinux 0x3c457453 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0x3c462b61 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x3c492081 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x3c5f3645 f_setown +EXPORT_SYMBOL vmlinux 0x3c60cc14 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x3c6ecf6e i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c8f2e10 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x3ca0f2a6 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x3ca5ad4d cdev_del +EXPORT_SYMBOL vmlinux 0x3cc271a2 account_page_redirty +EXPORT_SYMBOL vmlinux 0x3ccc79ec has_capability +EXPORT_SYMBOL vmlinux 0x3ccc8dbc __x86_retpoline_r14 +EXPORT_SYMBOL vmlinux 0x3ccfd7d9 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf40494 udp_seq_next +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d0f6870 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x3d1642b5 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x3d1911f7 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d376292 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x3d43885c posix_acl_valid +EXPORT_SYMBOL vmlinux 0x3d4b4d4b _dev_err +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d5bb3fd refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x3d7c3ad7 pcim_iomap +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da61e01 framebuffer_release +EXPORT_SYMBOL vmlinux 0x3da92163 bdget +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db87a18 phy_print_status +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dc8269b irq_to_desc +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd7a01f set_device_ro +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3ddc6c04 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x3dfb03c3 seq_pad +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e052e5d file_open_root +EXPORT_SYMBOL vmlinux 0x3e07c6c3 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x3e180c72 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x3e228686 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x3e237c47 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x3e29a70a dqget +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e34dc7c bh_submit_read +EXPORT_SYMBOL vmlinux 0x3e576e3b vme_bus_num +EXPORT_SYMBOL vmlinux 0x3e84ad95 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x3e8f2438 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9a7ad7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x3ea068bd skb_checksum +EXPORT_SYMBOL vmlinux 0x3ea8589d finish_open +EXPORT_SYMBOL vmlinux 0x3ece54a7 get_task_exe_file +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f0951fd mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f3ae8e2 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f45d84f twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f61ec45 netdev_info +EXPORT_SYMBOL vmlinux 0x3f6341be jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x3f664ed7 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x3f683b1d mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x3f77f8b6 edac_mc_find +EXPORT_SYMBOL vmlinux 0x3f7ee780 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3fa76522 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x3fb484d3 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fce47bf ip6_frag_next +EXPORT_SYMBOL vmlinux 0x3fd11a29 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x3fd4c944 get_cpu_entry_area +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fd796f0 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x3fe1cf9d cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fe51318 md_bitmap_free +EXPORT_SYMBOL vmlinux 0x400fdc72 dquot_destroy +EXPORT_SYMBOL vmlinux 0x4029c2c5 register_md_personality +EXPORT_SYMBOL vmlinux 0x40361012 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x4053b3cd jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x4055a920 acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x405816a2 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x4060c1a4 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x406327cf fqdir_exit +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409bcb62 mutex_unlock +EXPORT_SYMBOL vmlinux 0x40a04596 vlan_vids_del_by_dev +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 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x41247ddd mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x412ae60d generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x412fb682 fget_raw +EXPORT_SYMBOL vmlinux 0x413cd5cc capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x4140c8d1 vme_lm_request +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414886e1 dma_supported +EXPORT_SYMBOL vmlinux 0x414aa6cc pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x416eeaae acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x4170e440 phy_init_hw +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418bec56 end_page_writeback +EXPORT_SYMBOL vmlinux 0x41989b12 skb_copy +EXPORT_SYMBOL vmlinux 0x4198ca95 __do_once_done +EXPORT_SYMBOL vmlinux 0x41b50f3b jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x41c6e6ce pci_write_vpd +EXPORT_SYMBOL vmlinux 0x41c84812 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x41d1b8d4 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x41de4c28 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x41ecb3e0 dst_discard_out +EXPORT_SYMBOL vmlinux 0x41ef0727 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41f2f1c6 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x41faebfb keyring_search +EXPORT_SYMBOL vmlinux 0x42003cd8 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x420e7b63 d_path +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4218f292 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4233d368 netif_device_attach +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x425b07d1 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x425b3d2a tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x425c4357 build_skb_around +EXPORT_SYMBOL vmlinux 0x4260b38c phy_disconnect +EXPORT_SYMBOL vmlinux 0x42832892 sock_edemux +EXPORT_SYMBOL vmlinux 0x4285ab2f lock_page_memcg +EXPORT_SYMBOL vmlinux 0x42946145 dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x429f8d72 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x42b23a52 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x42b76f68 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42d7bdff simple_nosetlease +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x4320f3b6 del_gendisk +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x434289e0 tcp_close +EXPORT_SYMBOL vmlinux 0x43437ee1 param_ops_long +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x437ad60e tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x437f6257 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43a7524e skb_free_datagram +EXPORT_SYMBOL vmlinux 0x43b0c9c3 preempt_schedule +EXPORT_SYMBOL vmlinux 0x43bab832 set_user_nice +EXPORT_SYMBOL vmlinux 0x43d5d83a genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x440bba9a request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x4410836e unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x441e1877 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x44277fc1 import_iovec +EXPORT_SYMBOL vmlinux 0x443013ec load_nls +EXPORT_SYMBOL vmlinux 0x44414ff2 iosf_mbi_unblock_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x44462b88 __x86_retpoline_rdx +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44496b9b pci_pme_active +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44723a78 cros_ec_query_all +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 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ea752f generic_file_llseek +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x451b8fa2 dev_change_flags +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45436aef da903x_query_status +EXPORT_SYMBOL vmlinux 0x45480f76 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x45505cd2 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x455590fa xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458bf3e4 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x45a57617 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x45ba196f nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x45d246da node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x45e456f6 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x45e69e01 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x45e8d7b5 native_write_cr0 +EXPORT_SYMBOL vmlinux 0x45ead0ee free_task +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x4629334c __preempt_count +EXPORT_SYMBOL vmlinux 0x463219fb tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x463eeffb dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x464ef460 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x46983827 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x469adb94 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x46b4c3ea xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cf10eb cachemode2protval +EXPORT_SYMBOL vmlinux 0x47080ef0 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x47149d52 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x473fa599 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x4740b3bc xen_arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x474a3348 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477b8a8b generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47941711 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47acb2be serio_interrupt +EXPORT_SYMBOL vmlinux 0x47aff975 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47d8fae0 md_check_recovery +EXPORT_SYMBOL vmlinux 0x47de1df8 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x47e3d469 user_path_create +EXPORT_SYMBOL vmlinux 0x47ed680d bprm_change_interp +EXPORT_SYMBOL vmlinux 0x47f075c9 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x480ccc8b nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4844e3a1 tty_set_operations +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 0x4859f69a watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x48670ac6 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x48932f4a napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b1ce50 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48c8d353 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x48d50e79 amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x48de4232 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x48eddeac unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4905e7f2 generic_update_time +EXPORT_SYMBOL vmlinux 0x4932ae53 is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x49393717 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x4953c5c3 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x495e339d wireless_spy_update +EXPORT_SYMBOL vmlinux 0x495e378d __pv_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x4961aefd i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x496c2add __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x4978ae61 netdev_change_features +EXPORT_SYMBOL vmlinux 0x497b0f47 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x49829daf peernet2id +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x49939678 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x499b6fdf pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a195a8 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49c41a57 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x4a1a69c9 xp_free +EXPORT_SYMBOL vmlinux 0x4a24b217 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a47d926 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x4a608b6c sync_filesystem +EXPORT_SYMBOL vmlinux 0x4a6aea95 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x4a8685ac sock_alloc_file +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa72928 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x4aaf97a4 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x4ab208ba acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x4ab38de6 sock_i_ino +EXPORT_SYMBOL vmlinux 0x4abb7d10 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x4ac73859 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x4ad8bca9 tty_lock +EXPORT_SYMBOL vmlinux 0x4ae56e41 seq_path +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b03faf9 agp_create_memory +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b203a8e param_get_ulong +EXPORT_SYMBOL vmlinux 0x4b224b2d mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x4b2661cc dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x4b302e2a vme_master_mmap +EXPORT_SYMBOL vmlinux 0x4b315a2c unregister_binfmt +EXPORT_SYMBOL vmlinux 0x4b33b6a6 __register_chrdev +EXPORT_SYMBOL vmlinux 0x4b5a2eec alloc_fddidev +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b615a43 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x4b675d39 release_pages +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b744f83 param_ops_int +EXPORT_SYMBOL vmlinux 0x4b8bfab2 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x4ba29629 dev_addr_add +EXPORT_SYMBOL vmlinux 0x4ba596ff kern_path +EXPORT_SYMBOL vmlinux 0x4baccc8c xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x4baf9328 read_cache_pages +EXPORT_SYMBOL vmlinux 0x4bc024d5 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x4bc49050 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bd74c7e seq_file_path +EXPORT_SYMBOL vmlinux 0x4bd918da d_obtain_root +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf6c382 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c107b7a skb_unlink +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c65752f ata_port_printk +EXPORT_SYMBOL vmlinux 0x4c8bcb05 vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x4c98e607 bdput +EXPORT_SYMBOL vmlinux 0x4c9d28b0 phys_base +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4ccd378a _raw_write_unlock_irq +EXPORT_SYMBOL vmlinux 0x4cd4fc97 dev_change_carrier +EXPORT_SYMBOL vmlinux 0x4cd5bc5e rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x4ceda7ca bdi_register +EXPORT_SYMBOL vmlinux 0x4cfef38e generic_permission +EXPORT_SYMBOL vmlinux 0x4d0554ed flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x4d1f5c68 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x4d284d99 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d2e282e get_phy_device +EXPORT_SYMBOL vmlinux 0x4d351e3c vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x4d431955 get_tz_trend +EXPORT_SYMBOL vmlinux 0x4d439074 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9775b5 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x4d9b21fe __x86_retpoline_r11 +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4d9e8897 sock_from_file +EXPORT_SYMBOL vmlinux 0x4dc04f93 eth_gro_receive +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 0x4df6c201 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x4e10d97c dquot_resume +EXPORT_SYMBOL vmlinux 0x4e1335e5 bdgrab +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e29ae75 ptp_clock_event +EXPORT_SYMBOL vmlinux 0x4e2c0db3 kfree_skb_list +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5d0a25 dget_parent +EXPORT_SYMBOL vmlinux 0x4e654923 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e84b5 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e741a78 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x4e8301bd pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x4e9d9d74 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eac9b48 bio_uninit +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb51315 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ec5bb32 amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x4ed7e27b rt_dst_clone +EXPORT_SYMBOL vmlinux 0x4eea2d7b give_up_console +EXPORT_SYMBOL vmlinux 0x4eef257f __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x4eef929d md_error +EXPORT_SYMBOL vmlinux 0x4ef8ac5b nf_setsockopt +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4efc3418 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x4efc49e9 csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x4f196d9a security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f53b0a2 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f6dc71a fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x4f711f84 intel_scu_ipc_dev_iowrite8 +EXPORT_SYMBOL vmlinux 0x4f75f586 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x4fb5117d security_task_getsecid +EXPORT_SYMBOL vmlinux 0x4fc8d645 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4fca89cf nd_dax_probe +EXPORT_SYMBOL vmlinux 0x4fcc8ad2 ex_handler_uaccess +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ffdfa08 sock_no_getname +EXPORT_SYMBOL vmlinux 0x50049cbf bdget_disk +EXPORT_SYMBOL vmlinux 0x50092436 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x50224c2e inode_needs_sync +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x5029c6c5 dm_put_device +EXPORT_SYMBOL vmlinux 0x50352dbe devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x5044654c path_nosuid +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x5067e768 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +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 0x50b9f467 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c5e0a3 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x50d34ac8 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x50d68377 arch_phys_wc_del +EXPORT_SYMBOL vmlinux 0x50f0863f scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x51014286 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x5110c255 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x51730357 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x51760917 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5188bf58 nvm_unregister +EXPORT_SYMBOL vmlinux 0x51a07e59 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x51a95440 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x51b3c537 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x51b92994 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x51b98520 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x51ba2a24 vme_irq_request +EXPORT_SYMBOL vmlinux 0x51c5ba73 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51e74be7 discard_new_inode +EXPORT_SYMBOL vmlinux 0x51f298e0 intel_scu_ipc_dev_ioread8 +EXPORT_SYMBOL vmlinux 0x51f6954e sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x52214393 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x523a11f9 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x523a12fd __breadahead +EXPORT_SYMBOL vmlinux 0x52440787 nobh_writepage +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5286785e fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52ba636e d_move +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52da7c77 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x52dcc726 param_set_copystring +EXPORT_SYMBOL vmlinux 0x52e3f1a7 seq_vprintf +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x53028eb9 fb_blank +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x532a40c8 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x534e2b67 con_is_visible +EXPORT_SYMBOL vmlinux 0x53569707 this_cpu_off +EXPORT_SYMBOL vmlinux 0x535eed61 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x535f4fc3 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x5367b4b4 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x53941e02 skb_split +EXPORT_SYMBOL vmlinux 0x53a5cf13 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x53a6879d kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x53ac5feb rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x53af2206 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x53b237be nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53be34f0 __x86_retpoline_rsi +EXPORT_SYMBOL vmlinux 0x53c2674d inet_protos +EXPORT_SYMBOL vmlinux 0x53f9d1f5 devm_ioremap +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x54175c5f acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x544b23b0 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x5456e9fc security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x547e3344 acpi_disable +EXPORT_SYMBOL vmlinux 0x548e98a4 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54adf8fd locks_copy_lock +EXPORT_SYMBOL vmlinux 0x54c1bf71 mmc_of_parse +EXPORT_SYMBOL vmlinux 0x54c51d4e prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x54cd3b8a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x54d2ceef dcb_setapp +EXPORT_SYMBOL vmlinux 0x54d5359a elevator_alloc +EXPORT_SYMBOL vmlinux 0x54dd26ab generic_file_fsync +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x550350e1 dev_trans_start +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x550ef27e param_ops_ulong +EXPORT_SYMBOL vmlinux 0x551b8db2 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +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 0x557c5a05 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x5586b11d dquot_operations +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x5595d48c fddi_type_trans +EXPORT_SYMBOL vmlinux 0x55a85281 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x55aecf3f phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x55b5f947 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x55c621be bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e8669f scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x55f95e07 ioremap_prot +EXPORT_SYMBOL vmlinux 0x55ff3f0d flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x560f38c6 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x5612dfc2 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x562de8f1 sock_set_priority +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563fe735 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x5642bb52 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x5659ab14 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568b2590 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x568f5282 audit_log_start +EXPORT_SYMBOL vmlinux 0x56985aa6 unregister_console +EXPORT_SYMBOL vmlinux 0x569abcca acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x56a6ff37 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x56a84bef fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0x56ab85ca __bread_gfp +EXPORT_SYMBOL vmlinux 0x56bc9fd6 _dev_warn +EXPORT_SYMBOL vmlinux 0x56c21dca phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cba878 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x56d49d1c fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x56d9b718 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x56df52e4 cdev_device_del +EXPORT_SYMBOL vmlinux 0x56e0c3af nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x56f8c371 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x57037e53 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x571de1ba pci_get_class +EXPORT_SYMBOL vmlinux 0x5727cbf7 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x5738ff24 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57892670 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57ad7976 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57cb0028 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x57d02fb1 pci_request_region +EXPORT_SYMBOL vmlinux 0x57f25ff9 _dev_info +EXPORT_SYMBOL vmlinux 0x580928cb ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x5824e5b7 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583c95ac scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x58490818 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585a7a21 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x58604e4d alloc_iova_mem +EXPORT_SYMBOL vmlinux 0x5864a55b secpath_set +EXPORT_SYMBOL vmlinux 0x587daf51 key_revoke +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x588e5e6d kernel_listen +EXPORT_SYMBOL vmlinux 0x5897b965 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x5898b39c mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x58a2acb8 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x58a3cbe1 d_set_d_op +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58bcaf87 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x58c3da38 simple_rmdir +EXPORT_SYMBOL vmlinux 0x58ccdabf migrate_page_states +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x593c1bac __x86_indirect_thunk_rbx +EXPORT_SYMBOL vmlinux 0x594b727f mpage_readpage +EXPORT_SYMBOL vmlinux 0x594be275 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x597f54c0 native_restore_fl +EXPORT_SYMBOL vmlinux 0x5983bec5 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x599a29c7 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a8c35e i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59e62647 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x59ff9a4b tso_count_descs +EXPORT_SYMBOL vmlinux 0x59ffd75e acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0x5a091151 param_get_charp +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a1fdfa3 mmc_start_request +EXPORT_SYMBOL vmlinux 0x5a245f6d _raw_write_lock +EXPORT_SYMBOL vmlinux 0x5a32e910 blk_mq_free_tag_set +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 0x5a743d1e padata_stop +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a8c8ba5 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9e0cac vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x5aa18540 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x5aa86acf input_free_device +EXPORT_SYMBOL vmlinux 0x5acb56df xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x5acc9ae7 md_handle_request +EXPORT_SYMBOL vmlinux 0x5ad14ecc add_random_ready_callback +EXPORT_SYMBOL vmlinux 0x5ad301ef pci_dev_put +EXPORT_SYMBOL vmlinux 0x5b05bf44 elv_rb_find +EXPORT_SYMBOL vmlinux 0x5b10dbb8 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x5b13b7c7 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x5b2201b7 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b67b93c fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x5b68c1e2 check_disk_change +EXPORT_SYMBOL vmlinux 0x5b775e10 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x5b7de31d tcp_req_err +EXPORT_SYMBOL vmlinux 0x5b829f1f sg_miter_skip +EXPORT_SYMBOL vmlinux 0x5b9b8a23 fc_mount +EXPORT_SYMBOL vmlinux 0x5bb626e6 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x5bb6fbf3 proc_create +EXPORT_SYMBOL vmlinux 0x5bc3c7e3 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bf88f36 vc_resize +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c2dec99 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c463d30 netdev_crit +EXPORT_SYMBOL vmlinux 0x5c5e63fa get_watch_queue +EXPORT_SYMBOL vmlinux 0x5c832389 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x5c8e5661 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x5ca1cdb4 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x5cb42d7d __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x5cb6790f __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x5cb91042 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x5cbaf2f2 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x5cbd7599 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x5ccc747f sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d347dad devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x5d3a01d8 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x5d3ed487 __lock_page +EXPORT_SYMBOL vmlinux 0x5d420a90 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x5d44c0ba mmput_async +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d52f76e mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5dc3b0e7 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x5dc7f944 netlink_capable +EXPORT_SYMBOL vmlinux 0x5decaf0f mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x5df33cea abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x5df5ecc1 vga_put +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e129428 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x5e241492 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x5e29946a sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e481a00 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x5e5b76f8 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x5e639eb8 user_path_at_empty +EXPORT_SYMBOL vmlinux 0x5e63c8a7 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x5e786e2e mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x5e81bf30 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e9047d7 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e971db7 get_super_thawed +EXPORT_SYMBOL vmlinux 0x5e9ebc1b elv_rb_del +EXPORT_SYMBOL vmlinux 0x5ea0b5bb mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x5ea25371 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb33ae7 param_set_ushort +EXPORT_SYMBOL vmlinux 0x5ec314df tcp_filter +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efd9dc1 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f19cd49 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x5f2708bd agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x5f489713 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x5f56663b rdmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x5f6294cf phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f729f97 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x5f8752ba mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f9cb301 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x5f9d3567 intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x5fad4c51 kthread_blkcg +EXPORT_SYMBOL vmlinux 0x5fb0df3d mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x5fb7ef2f __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fca9f4f unregister_nls +EXPORT_SYMBOL vmlinux 0x5fe5a7bb flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x5ffcaa86 kern_unmount +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x60050b89 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60139b8b sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x6018a45a tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60206d9d amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0x603313bd ether_setup +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x60463dea nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x60594304 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x6088a41f page_readlink +EXPORT_SYMBOL vmlinux 0x608f8768 kset_register +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0badd blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60aff407 nd_device_unregister +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60b7f721 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x60c19060 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x60c9bbd0 rtc_add_group +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60dae119 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x60ddf08e lookup_bdev +EXPORT_SYMBOL vmlinux 0x60e05223 km_new_mapping +EXPORT_SYMBOL vmlinux 0x60e5d292 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x60f97187 page_pool_put_page +EXPORT_SYMBOL vmlinux 0x61050291 unload_nls +EXPORT_SYMBOL vmlinux 0x611fec33 phy_attach +EXPORT_SYMBOL vmlinux 0x6120b641 tcp_check_req +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612e772e key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x6133b261 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x613af3a1 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x6149f180 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x615516f8 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x6168d086 vga_switcheroo_client_fb_set +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 0x618e1020 tty_throttle +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x619dfcdc intel_scu_ipc_dev_readv +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bd3544 posix_test_lock +EXPORT_SYMBOL vmlinux 0x61d5ac6b pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61fc244a clk_add_alias +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x62197524 bdev_read_only +EXPORT_SYMBOL vmlinux 0x6223658f security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622ce521 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x623189e7 mmc_retune_release +EXPORT_SYMBOL vmlinux 0x62328f2b genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x6236723c send_sig +EXPORT_SYMBOL vmlinux 0x623a2a31 nd_btt_version +EXPORT_SYMBOL vmlinux 0x623a4365 request_key_tag +EXPORT_SYMBOL vmlinux 0x6253c988 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x62594b4c dev_set_alias +EXPORT_SYMBOL vmlinux 0x62611083 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x626acc79 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x6271ce0e gro_cells_init +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62890955 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x629158ea pci_scan_slot +EXPORT_SYMBOL vmlinux 0x62a26f7c param_ops_ushort +EXPORT_SYMBOL vmlinux 0x62b7f25c udp_seq_ops +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62cdcbb7 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x62d0cf53 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x62e03056 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x62fc6a2b inet_release +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x631efb12 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x63334ae0 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x634de153 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x6352cba0 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x636257f7 get_ibs_caps +EXPORT_SYMBOL vmlinux 0x636a8575 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x63742907 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x63781ea5 pci_find_capability +EXPORT_SYMBOL vmlinux 0x637bead4 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x63848d53 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x639932f2 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x63a4686f pci_pme_capable +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b41313 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x63b858fa iptun_encaps +EXPORT_SYMBOL vmlinux 0x63c13dd0 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d4f806 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x63d6dbd9 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x63dc3fde writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f835ba on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x64181dd6 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x641d2cae __getblk_gfp +EXPORT_SYMBOL vmlinux 0x641ea81c tcp_conn_request +EXPORT_SYMBOL vmlinux 0x64291c5f rproc_del +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643b78ff pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x64444e54 config_item_put +EXPORT_SYMBOL vmlinux 0x6470115b pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x64715fa4 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x6480fcdf tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64d1e108 d_alloc +EXPORT_SYMBOL vmlinux 0x64e1080b max8925_reg_read +EXPORT_SYMBOL vmlinux 0x64e8ab6f __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x64ee67a8 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x64fb4d15 block_write_full_page +EXPORT_SYMBOL vmlinux 0x650a631f page_pool_create +EXPORT_SYMBOL vmlinux 0x650f890e sk_ns_capable +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x653d4d8d devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657274d0 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x657aa911 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659518f6 sock_init_data +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a41c3a copy_string_kernel +EXPORT_SYMBOL vmlinux 0x65b992ac xen_alloc_p2m_entry +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +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 0x65ef608a xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x663182c9 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6636f4ec i2c_verify_client +EXPORT_SYMBOL vmlinux 0x663883e3 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x664321ba dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x66484d11 tcp_connect +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666c39cc config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x6690f918 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66f8bac2 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x671533d9 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x6715cfa4 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x6716a380 sk_wait_data +EXPORT_SYMBOL vmlinux 0x67281d74 netif_napi_add +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x67328395 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0x6732c91e ip_options_compile +EXPORT_SYMBOL vmlinux 0x673af138 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x675b730d get_tree_nodev +EXPORT_SYMBOL vmlinux 0x67626cb0 set_pages_wb +EXPORT_SYMBOL vmlinux 0x676da089 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678ccd8d mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x679bfad0 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x679fa187 param_ops_string +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67da9dfa sock_register +EXPORT_SYMBOL vmlinux 0x67ea4421 arp_xmit +EXPORT_SYMBOL vmlinux 0x67f5d659 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x67fc19ad blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x6806e933 find_vma +EXPORT_SYMBOL vmlinux 0x682e6237 alloc_pages_vma +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6840150b qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x6842d4a7 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x6851664e wrmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x686e678c param_set_invbool +EXPORT_SYMBOL vmlinux 0x6873c23e setattr_prepare +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687c46fd blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x6883cad6 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x68887b47 console_stop +EXPORT_SYMBOL vmlinux 0x689f0897 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68ae2413 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x68d89698 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x68e9d880 get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x68f04c1d pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x692b7d22 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x6933b097 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x6943a4da arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x694f9b9f fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x696c17ed __brelse +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69735a23 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x698875b4 kill_pid +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x6998b96d seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x699d6f7e uart_suspend_port +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69bb4f03 udp_ioctl +EXPORT_SYMBOL vmlinux 0x69c46d83 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x69c7f516 page_mapped +EXPORT_SYMBOL vmlinux 0x69cdf070 mpage_writepage +EXPORT_SYMBOL vmlinux 0x69d904b2 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e482b7 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a1a828b pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x6a22953e zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x6a261b78 irq_stat +EXPORT_SYMBOL vmlinux 0x6a37955c param_ops_uint +EXPORT_SYMBOL vmlinux 0x6a3a1602 __invalidate_device +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a597b4c pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a73b245 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x6a85e9b8 poll_initwait +EXPORT_SYMBOL vmlinux 0x6a8e71db nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x6a9292f8 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x6a971363 skb_ext_add +EXPORT_SYMBOL vmlinux 0x6a9c4790 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x6aa075a6 param_get_ushort +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6ab35ca4 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ad0d92b dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0x6adc1a57 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6afa516a mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x6b110f5e generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3343c2 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x6b3a9e82 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x6b4555aa __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x6b51f495 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5a7393 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b69b4b0 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b96a156 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x6b9f5e27 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x6ba1908b reuseport_alloc +EXPORT_SYMBOL vmlinux 0x6bae5167 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x6bb6ad31 from_kgid +EXPORT_SYMBOL vmlinux 0x6bc3a32a tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdfaf61 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6c04d096 mmc_cqe_start_req +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 0x6c521cb2 inc_nlink +EXPORT_SYMBOL vmlinux 0x6c5cab5f inet_accept +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c7e0656 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x6caa1033 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x6cabbb42 vfs_setpos +EXPORT_SYMBOL vmlinux 0x6cb37f1d netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cb63089 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x6cb7ba31 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x6cbc54e7 user_revoke +EXPORT_SYMBOL vmlinux 0x6cbea920 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x6cebef06 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x6cf442bb agp_backend_release +EXPORT_SYMBOL vmlinux 0x6cf62166 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6cff18ae tty_unregister_device +EXPORT_SYMBOL vmlinux 0x6d121b76 vfs_readlink +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 0x6d41bc4d rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x6d49f515 pci_choose_state +EXPORT_SYMBOL vmlinux 0x6d4a6231 dquot_commit +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d7abe02 first_ec +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d7f9298 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x6d80d7c0 pci_resize_resource +EXPORT_SYMBOL vmlinux 0x6d8c391e rproc_boot +EXPORT_SYMBOL vmlinux 0x6d9c7890 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd07135 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6dd7a073 release_sock +EXPORT_SYMBOL vmlinux 0x6ddc464e __neigh_event_send +EXPORT_SYMBOL vmlinux 0x6ddfe7d0 set_blocksize +EXPORT_SYMBOL vmlinux 0x6de218c6 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6dfba89c netlink_unicast +EXPORT_SYMBOL vmlinux 0x6dff28fc dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x6e00b744 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x6e019034 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x6e09d55d md_write_inc +EXPORT_SYMBOL vmlinux 0x6e18c628 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e2eb38d mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x6e45ef9d inet6_release +EXPORT_SYMBOL vmlinux 0x6e513cd9 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x6e52213d page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x6e5422a8 can_nice +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e6ac2eb tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e792314 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x6e9b7324 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea7575d acpi_dispatch_gpe +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eba5e47 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x6ebc30a6 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6ed9d0bd blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x6f1cd2e3 neigh_xmit +EXPORT_SYMBOL vmlinux 0x6f204d86 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f605a74 skb_pull +EXPORT_SYMBOL vmlinux 0x6f7cbfa8 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x6f812bb1 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x6f8745b7 skb_find_text +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6f942b73 dma_virt_ops +EXPORT_SYMBOL vmlinux 0x6f9b5185 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x6faeade8 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fc83742 file_remove_privs +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd8ced1 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdc97f4 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x701a832d bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x701be3cd xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x70291999 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x70319d05 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x703d3af1 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x7040fff9 rtc_lock +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x706047e4 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x70a1e315 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x70acfa75 blk_get_request +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70b92a49 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x70d3d3cc open_exec +EXPORT_SYMBOL vmlinux 0x71085695 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x71104728 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713b94d9 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x713e518f crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7144b81b xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x71570bcf dquot_initialize +EXPORT_SYMBOL vmlinux 0x71665a2d __register_nls +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x719b6edb dmam_pool_create +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71e2a9e1 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x71f3b071 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x720bfd95 padata_start +EXPORT_SYMBOL vmlinux 0x722b4a09 netif_napi_del +EXPORT_SYMBOL vmlinux 0x72336ac2 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7233bcb7 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x7290943c compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x72989b7c processors +EXPORT_SYMBOL vmlinux 0x7298cf4b simple_statfs +EXPORT_SYMBOL vmlinux 0x729e4b7a seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x72a98fdb copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72cb3791 mount_nodev +EXPORT_SYMBOL vmlinux 0x72cca8d4 amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d79d83 pgdir_shift +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72ee02bd ipv4_specific +EXPORT_SYMBOL vmlinux 0x72ff3cd5 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x732a49a1 get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x7340cc17 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x73464924 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x73478318 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x73552bbd inode_insert5 +EXPORT_SYMBOL vmlinux 0x73565d77 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x736b5662 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x73703e0b vm_mmap +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738a11a4 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x73946805 __icmp_send +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b5ea6c flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x73c2b450 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73de02b5 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x73e0e035 cdev_device_add +EXPORT_SYMBOL vmlinux 0x73e81e22 seq_write +EXPORT_SYMBOL vmlinux 0x73f7972b tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x73f9ce5d padata_do_parallel +EXPORT_SYMBOL vmlinux 0x73fc6d77 ipv6_chk_prefix +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 0x74277aa8 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x744398f2 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x7443bba9 register_netdevice +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x74799f4d jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x7484a218 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x74b40d91 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74ec7c27 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x750ecb0d __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x751f7bcc generic_make_request +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754b6f35 rtnl_notify +EXPORT_SYMBOL vmlinux 0x754d539c strlen +EXPORT_SYMBOL vmlinux 0x755113fc sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x75678b0b udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x7580a314 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x7588dd7a pps_unregister_source +EXPORT_SYMBOL vmlinux 0x7594077b iterate_dir +EXPORT_SYMBOL vmlinux 0x75943e25 i8253_lock +EXPORT_SYMBOL vmlinux 0x759a6c62 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d081c5 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75eef5cf param_set_int +EXPORT_SYMBOL vmlinux 0x75efa48b proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x7605a6b1 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7618994a ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x76192f67 mdio_device_create +EXPORT_SYMBOL vmlinux 0x761c7878 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7629bac2 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x763ba3ad ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x7662c297 inet_sendpage +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x767dce4b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x76812dc9 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x768a6e85 dump_align +EXPORT_SYMBOL vmlinux 0x769dc5ac thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a9269d unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76fb08a7 amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x771314e9 sock_rfree +EXPORT_SYMBOL vmlinux 0x7731c7ce dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x77374a26 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x77650064 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x777b526b dquot_drop +EXPORT_SYMBOL vmlinux 0x777f42f7 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x778194df watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x77857b68 pci_clear_master +EXPORT_SYMBOL vmlinux 0x7791fcc5 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b0fed9 __next_node_in +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77cf3bf5 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x77e39d2f skb_push +EXPORT_SYMBOL vmlinux 0x77e9ccae seq_puts +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ec56a7 genphy_suspend +EXPORT_SYMBOL vmlinux 0x77ed2782 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x77f1efb3 posix_lock_file +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x782adc98 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL vmlinux 0x783ec03c clear_inode +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78583277 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x78666528 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x786c402b follow_up +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7887cb55 md_update_sb +EXPORT_SYMBOL vmlinux 0x789813dc bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x789acd8f scsi_block_requests +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a382d5 rproc_put +EXPORT_SYMBOL vmlinux 0x78b3b8ba unlock_new_inode +EXPORT_SYMBOL vmlinux 0x78ce49f3 arp_send +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f6f3c0 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x791fc430 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x792d9d12 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x7931aff1 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x7932184a xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x7934cead scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x7935bc73 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x797bf827 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x7980824e udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79a6dd6d rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79d56f5d kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x79df9633 ioremap_encrypted +EXPORT_SYMBOL vmlinux 0x79e5fa29 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x79ef0b4a vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a31a93c vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x7a356b3f __seq_open_private +EXPORT_SYMBOL vmlinux 0x7a39b891 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x7a40067c skb_queue_tail +EXPORT_SYMBOL vmlinux 0x7a449301 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a5f7b44 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x7a620810 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x7a683a4e configfs_register_group +EXPORT_SYMBOL vmlinux 0x7a7f0b6c vfs_rename +EXPORT_SYMBOL vmlinux 0x7a88da87 iosf_mbi_write +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7a9c0ab2 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x7a9d7f4c make_kgid +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa80076 netdev_alert +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac06920 __napi_schedule +EXPORT_SYMBOL vmlinux 0x7accecfc netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae2854c load_nls_default +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7af69a16 netdev_printk +EXPORT_SYMBOL vmlinux 0x7af93301 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x7aff77a3 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7affc209 brioctl_set +EXPORT_SYMBOL vmlinux 0x7b008f8e cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b21fe9f backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x7b349d09 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x7b3a0bcd xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b4f7ae7 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5e8e58 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x7b7c530c remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x7b7ffd5f mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x7b81cd83 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x7b82150e dma_sync_wait +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b88ec99 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x7bb3900a dma_resv_fini +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bc3300c mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x7bd4249c devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x7bd88bbd nf_log_set +EXPORT_SYMBOL vmlinux 0x7bdfb3c6 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x7be723da scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x7bff73be __sock_create +EXPORT_SYMBOL vmlinux 0x7c018ce8 blk_register_region +EXPORT_SYMBOL vmlinux 0x7c06141b sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x7c0efa53 pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1b2654 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x7c2bb7d2 __neigh_create +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4ffeef page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x7c644bd7 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x7c69a065 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x7c7019f9 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7ca51b76 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cbc5dfc pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x7cd8d75e page_offset_base +EXPORT_SYMBOL vmlinux 0x7cdf381c __find_get_block +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +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 0x7d111eb1 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d220135 inode_set_flags +EXPORT_SYMBOL vmlinux 0x7d4a7326 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d53dab7 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7d5804cd __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d628444 memcpy_fromio +EXPORT_SYMBOL vmlinux 0x7d8820f0 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x7d918667 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x7da42e8a pci_write_config_word +EXPORT_SYMBOL vmlinux 0x7daebfc9 init_special_inode +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dd4bcd6 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7de28178 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x7de2b7ed ip_getsockopt +EXPORT_SYMBOL vmlinux 0x7de9d7e5 fs_bio_set +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df57830 single_release +EXPORT_SYMBOL vmlinux 0x7e032bbd __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7e0826e2 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7e1575f0 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x7e1e17db pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x7e1f55e2 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x7e29beae backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e3832b3 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x7e501464 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x7e526bfa __x86_indirect_thunk_r10 +EXPORT_SYMBOL vmlinux 0x7e613141 get_super +EXPORT_SYMBOL vmlinux 0x7e7bcf26 acpi_map_cpu +EXPORT_SYMBOL vmlinux 0x7e8e2705 bdi_alloc +EXPORT_SYMBOL vmlinux 0x7e9069e6 d_add_ci +EXPORT_SYMBOL vmlinux 0x7e98611b __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x7eb0d63b input_match_device_id +EXPORT_SYMBOL vmlinux 0x7ec32fc2 __break_lease +EXPORT_SYMBOL vmlinux 0x7ec78bdd rename_lock +EXPORT_SYMBOL vmlinux 0x7efc7041 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x7efcd1f9 tso_build_data +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f122ec0 pci_dev_get +EXPORT_SYMBOL vmlinux 0x7f142662 dev_printk +EXPORT_SYMBOL vmlinux 0x7f14f3a0 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x7f21102f complete_request_key +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f258114 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7f29104e d_alloc_name +EXPORT_SYMBOL vmlinux 0x7f39f2ba dev_remove_offload +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f525129 add_watch_to_object +EXPORT_SYMBOL vmlinux 0x7f539c73 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7f5a9392 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f60b1f2 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7f6e5a30 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x7f7594ac sock_no_mmap +EXPORT_SYMBOL vmlinux 0x7f78ed6d xp_dma_map +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f848c5f skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x7f9d68de serio_close +EXPORT_SYMBOL vmlinux 0x7f9fa220 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x7fbb3c1c mdiobus_read +EXPORT_SYMBOL vmlinux 0x7fca64e8 simple_lookup +EXPORT_SYMBOL vmlinux 0x7fd0bcb8 phy_device_free +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fe691ed inet_ioctl +EXPORT_SYMBOL vmlinux 0x7fff71e4 md_write_start +EXPORT_SYMBOL vmlinux 0x800e7f03 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x801a45c3 dev_set_group +EXPORT_SYMBOL vmlinux 0x80289cba netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x80355cfc fb_validate_mode +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x803e9792 input_inject_event +EXPORT_SYMBOL vmlinux 0x804af87c wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x80686254 touch_buffer +EXPORT_SYMBOL vmlinux 0x806e0db0 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x808015fd skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x808235e4 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x8089fbba dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809f2644 security_path_mknod +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80b14c77 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x80be49e8 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d3ccb2 get_disk_and_module +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80f068c3 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81146980 file_update_time +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815bc926 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x816e0fe7 pps_register_source +EXPORT_SYMBOL vmlinux 0x817d5df9 dquot_acquire +EXPORT_SYMBOL vmlinux 0x817fc949 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x81993908 mmc_add_host +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81accdf3 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x81b395b3 down_interruptible +EXPORT_SYMBOL vmlinux 0x81b9cdae vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x81c661ec copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x81ce9941 intel_scu_ipc_dev_writev +EXPORT_SYMBOL vmlinux 0x81d40214 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e36151 __register_binfmt +EXPORT_SYMBOL vmlinux 0x81e3c2fd phy_read_mmd +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8219c316 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x821bc089 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x82261d78 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x822e1279 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x8239e513 __scm_send +EXPORT_SYMBOL vmlinux 0x823c19ea iosf_mbi_unregister_pmic_bus_access_notifier_unlocked +EXPORT_SYMBOL vmlinux 0x824dc62f nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x8268f1cc fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x8274129d scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x827d73c6 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x827de522 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x827f2245 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82a0416e seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x82a1d7cd kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x82a2c1ee d_splice_alias +EXPORT_SYMBOL vmlinux 0x82b48cd6 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x82b6ef79 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82cba417 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x831154c5 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x83210f2d netdev_err +EXPORT_SYMBOL vmlinux 0x83376dee inet_sendmsg +EXPORT_SYMBOL vmlinux 0x833a1189 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x834e69f2 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835a40a1 dump_emit +EXPORT_SYMBOL vmlinux 0x835dfc2f blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x8377482d icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x837f36fc pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x83843477 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839242c6 prepare_creds +EXPORT_SYMBOL vmlinux 0x83a2089d blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83dacd37 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x83e37026 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x83e64e0b put_watch_queue +EXPORT_SYMBOL vmlinux 0x83f55f1b xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x83f899ae input_set_abs_params +EXPORT_SYMBOL vmlinux 0x83fb11cf vme_dma_request +EXPORT_SYMBOL vmlinux 0x83fe7f1c __mdiobus_write +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8405c0f0 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x84080457 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x842bcd10 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x844c9fc4 input_setup_polling +EXPORT_SYMBOL vmlinux 0x844ce991 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x8455404d reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x846c9437 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x846e5350 dst_init +EXPORT_SYMBOL vmlinux 0x8488b2ad security_binder_transaction +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x848f367a __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x849fe807 csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x84b03911 sock_create_lite +EXPORT_SYMBOL vmlinux 0x84bf2635 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84e833e2 netlink_ack +EXPORT_SYMBOL vmlinux 0x852aad1a iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x853a2cd6 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x854077cf input_get_timestamp +EXPORT_SYMBOL vmlinux 0x854b9370 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x85532eb1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x85611c89 param_ops_charp +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8578e2ff sock_setsockopt +EXPORT_SYMBOL vmlinux 0x858b3fe3 free_iova_mem +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85af4077 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x85b290d7 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85ba1cc8 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85c2d105 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x85d1e57c blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x860e8767 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x862ef6aa simple_transaction_get +EXPORT_SYMBOL vmlinux 0x8633a6f0 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x8633c2b2 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863aceac pci_iomap_range +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865fdb23 napi_consume_skb +EXPORT_SYMBOL vmlinux 0x8662fd47 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x866c6e78 from_kprojid +EXPORT_SYMBOL vmlinux 0x867184bd vga_switcheroo_client_probe_defer +EXPORT_SYMBOL vmlinux 0x867f7cf8 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86b0c96d mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x86c7272b iosf_mbi_read +EXPORT_SYMBOL vmlinux 0x86c8f69e __dquot_transfer +EXPORT_SYMBOL vmlinux 0x86cea547 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +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 0x8703afc6 param_set_charp +EXPORT_SYMBOL vmlinux 0x87061bff tso_start +EXPORT_SYMBOL vmlinux 0x870e18f6 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x872974c5 dev_open +EXPORT_SYMBOL vmlinux 0x87488023 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x876b767e set_nlink +EXPORT_SYMBOL vmlinux 0x8770e0f9 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x877a37e9 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x87826d81 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x87a35f96 proc_create_data +EXPORT_SYMBOL vmlinux 0x87a42e6b dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x87b0fc7f xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x87b86797 kill_litter_super +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87ee330c iunique +EXPORT_SYMBOL vmlinux 0x87eedf19 tty_port_open +EXPORT_SYMBOL vmlinux 0x87fde9a0 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x87fe9bde tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x8841d7b8 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x8847771f __frontswap_load +EXPORT_SYMBOL vmlinux 0x88543f36 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x885a7e7f devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x8871df2a skb_checksum_help +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88bee2b9 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x88c27da6 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x88c7b3a2 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x88cc2b49 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x88cf5d32 lock_rename +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f76cf4 blk_get_queue +EXPORT_SYMBOL vmlinux 0x88fefdea ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x88ffe203 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x891326a8 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x891a1bb8 rproc_alloc +EXPORT_SYMBOL vmlinux 0x891a7ec7 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x89235d66 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x8936104e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x89416d82 sget_fc +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x894e2d7d pci_request_irq +EXPORT_SYMBOL vmlinux 0x894ea450 netif_device_detach +EXPORT_SYMBOL vmlinux 0x896a9c4a dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x897270fb _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x89763191 sock_no_accept +EXPORT_SYMBOL vmlinux 0x89791758 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x898bd644 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x898f1554 vga_switcheroo_init_domain_pm_ops +EXPORT_SYMBOL vmlinux 0x898fd6a6 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x89b7ecb7 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x89cef396 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x89d5f1ee filp_open +EXPORT_SYMBOL vmlinux 0x89ebe990 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x89ec81da pci_irq_vector +EXPORT_SYMBOL vmlinux 0x89f4d9b4 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x89fcf0ec posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x8a000b3f module_layout +EXPORT_SYMBOL vmlinux 0x8a186c1f unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x8a29853a may_umount_tree +EXPORT_SYMBOL vmlinux 0x8a35b432 sme_me_mask +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4ce7bb flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x8a5c58f2 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x8a6a3c3d inet_recvmsg +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a6c7139 acpi_mask_gpe +EXPORT_SYMBOL vmlinux 0x8a773b9c flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a915bf8 ppp_input_error +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8abe05bd __inet_hash +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac42603 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad29bab _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x8ad5a508 take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x8ae56501 con_is_bound +EXPORT_SYMBOL vmlinux 0x8af2bfa4 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b030a12 neigh_update +EXPORT_SYMBOL vmlinux 0x8b14e83e __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x8b28925a kern_path_create +EXPORT_SYMBOL vmlinux 0x8b37a2f2 dst_release +EXPORT_SYMBOL vmlinux 0x8b49c9b9 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x8b514f20 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x8b52442e vfs_symlink +EXPORT_SYMBOL vmlinux 0x8b526697 would_dump +EXPORT_SYMBOL vmlinux 0x8b58fdc0 set_page_dirty +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6190f2 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x8b6cc2fa ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b84eecc zap_page_range +EXPORT_SYMBOL vmlinux 0x8b8cda8d textsearch_find_continuous +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 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8ba91108 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x8bbd23f1 import_single_range +EXPORT_SYMBOL vmlinux 0x8bbe2d13 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x8bd577d0 acpi_ut_exit +EXPORT_SYMBOL vmlinux 0x8be0921a flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x8bfa6724 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x8bfc3465 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x8c0aca8b dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x8c0eaa36 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x8c15fe3e __x86_retpoline_r10 +EXPORT_SYMBOL vmlinux 0x8c20685f follow_down +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c3253ec _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x8c3c5ecc agp_bridge +EXPORT_SYMBOL vmlinux 0x8c494476 neigh_for_each +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c6dec24 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca6eb2c PDE_DATA +EXPORT_SYMBOL vmlinux 0x8cb51485 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x8cb544df __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cccc197 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cdfcec1 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x8d070b36 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x8d140e46 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0x8d14ebcc keyring_alloc +EXPORT_SYMBOL vmlinux 0x8d189070 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x8d208f3d eth_header_parse +EXPORT_SYMBOL vmlinux 0x8d20a36a mdiobus_free +EXPORT_SYMBOL vmlinux 0x8d2be6b3 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x8d3c1cfa dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x8d40ebfd registered_fb +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5c2e9c amd_iommu_pc_set_reg +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d824231 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x8d90a95b ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8d9f846d ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x8dae2439 udp_prot +EXPORT_SYMBOL vmlinux 0x8db22efe acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x8db77abf proc_set_size +EXPORT_SYMBOL vmlinux 0x8db83001 cdev_init +EXPORT_SYMBOL vmlinux 0x8dbdf07b mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x8dc9ec6d cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x8dcda276 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x8ddcab72 security_path_rename +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de644d4 set_bh_page +EXPORT_SYMBOL vmlinux 0x8df7e8d6 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e0327ad pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x8e04dbd5 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e186bcc __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x8e1cfc28 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x8e1ff167 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e2c4a91 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x8e2d1236 ex_handler_wrmsr_unsafe +EXPORT_SYMBOL vmlinux 0x8e3f6d16 __f_setown +EXPORT_SYMBOL vmlinux 0x8e45a0f3 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x8e4de489 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x8e4ee90a new_inode +EXPORT_SYMBOL vmlinux 0x8e5b4e78 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x8e663d0f zalloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x8e782cab __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x8e792867 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x8e7945ae inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9c3a55 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x8eabf70c dev_alloc_name +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8eb8e7f8 is_subdir +EXPORT_SYMBOL vmlinux 0x8ef2051c register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x8ef4ebf8 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0a7080 ilookup5 +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f2971dd dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x8f3835c6 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x8f38ce84 vfs_get_super +EXPORT_SYMBOL vmlinux 0x8f38d383 ex_handler_default +EXPORT_SYMBOL vmlinux 0x8f420b67 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x8f6ba144 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x8f6d4125 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x8f7b3bd8 bio_add_page +EXPORT_SYMBOL vmlinux 0x8f80bf11 acpi_install_gpe_raw_handler +EXPORT_SYMBOL vmlinux 0x8f95b399 insert_inode_locked +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 0x8fac002d handle_edge_irq +EXPORT_SYMBOL vmlinux 0x8fb90f69 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x8fe5ee26 __scm_destroy +EXPORT_SYMBOL vmlinux 0x8ff86643 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x903b4740 eisa_driver_register +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x9059d910 arp_tbl +EXPORT_SYMBOL vmlinux 0x9085b6dc pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x9087a9f7 scsi_device_get +EXPORT_SYMBOL vmlinux 0x9099d8f0 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x909d2cdf vm_event_states +EXPORT_SYMBOL vmlinux 0x90b5dbb6 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x90c36d40 genl_notify +EXPORT_SYMBOL vmlinux 0x90d41bff mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x90ef2652 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x90f2a778 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x90febb9f jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x910b5688 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x91187a4c revalidate_disk +EXPORT_SYMBOL vmlinux 0x91295cbf dns_query +EXPORT_SYMBOL vmlinux 0x912bb8b9 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x91373bcb pci_match_id +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91613557 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91724c6c filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x9176145b acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x9197f319 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919ec8a2 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x91a10c61 intel_scu_ipc_dev_simple_command +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91aab300 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x91bb6900 filemap_flush +EXPORT_SYMBOL vmlinux 0x91bd86db vfs_mkobj +EXPORT_SYMBOL vmlinux 0x91c0e7f0 redraw_screen +EXPORT_SYMBOL vmlinux 0x91c62e5e __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x91e4b281 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x91e71176 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x91efb924 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91fcb449 vfs_statfs +EXPORT_SYMBOL vmlinux 0x92007cf3 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x92018176 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x920a2f3b phy_start_aneg +EXPORT_SYMBOL vmlinux 0x920c9f37 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x92264114 generic_listxattr +EXPORT_SYMBOL vmlinux 0x92291d6e netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x926d648c linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x926eb825 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x927d0c97 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a23031 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x92a3d0a2 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x92a51e56 acpi_debug_print_raw +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c03755 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x92e30499 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x92e6fbb9 agp_enable +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f56711 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92fde250 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x93010389 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930df813 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x933f08c3 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x936737d7 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b7b77e acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93ed3f7b block_read_full_page +EXPORT_SYMBOL vmlinux 0x94059219 dcache_readdir +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x943dc80f csum_and_copy_to_user +EXPORT_SYMBOL vmlinux 0x9442b8a0 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x944354c5 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x94526197 inode_permission +EXPORT_SYMBOL vmlinux 0x9461f003 migrate_page +EXPORT_SYMBOL vmlinux 0x948ea396 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94cb3a05 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x94f103d9 dev_mc_init +EXPORT_SYMBOL vmlinux 0x94f46601 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x951bcaa3 __kfree_skb +EXPORT_SYMBOL vmlinux 0x951c0628 block_commit_write +EXPORT_SYMBOL vmlinux 0x952df5c9 PageMovable +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x95617849 vfs_unlink +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x957f2c0a mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x9590078e mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95af9b9a nvm_submit_io +EXPORT_SYMBOL vmlinux 0x95b86d25 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x95b9c561 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x95bc6493 pid_task +EXPORT_SYMBOL vmlinux 0x95e5e02a bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x95e967cc udp6_set_csum +EXPORT_SYMBOL vmlinux 0x95fb2b17 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x96110453 bio_endio +EXPORT_SYMBOL vmlinux 0x9625695d acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x963b27fd no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x963dcba1 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x965b50dc mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x965cff1f d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x9664864c __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x9669f91f skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x966db8b6 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x968cc547 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x969e6a19 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x96a5cff2 md_done_sync +EXPORT_SYMBOL vmlinux 0x96a8f7ff xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96be7730 arp_create +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96ea6db6 devm_memremap +EXPORT_SYMBOL vmlinux 0x96eab78b iosf_mbi_modify +EXPORT_SYMBOL vmlinux 0x96f9a269 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x970e0e85 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x97180891 eth_header +EXPORT_SYMBOL vmlinux 0x971ac03e pci_enable_msi +EXPORT_SYMBOL vmlinux 0x972309b0 sock_wake_async +EXPORT_SYMBOL vmlinux 0x973e1b6b sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x97651e6c vmemmap_base +EXPORT_SYMBOL vmlinux 0x97796b35 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x977bcbf4 pipe_unlock +EXPORT_SYMBOL vmlinux 0x977f511b __mutex_init +EXPORT_SYMBOL vmlinux 0x97901691 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +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 0x97dbe9d9 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x97e6a16c dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x97f480dd inet_del_protocol +EXPORT_SYMBOL vmlinux 0x98115673 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x9826eadd vfs_iter_read +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x9858d509 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x985b08a2 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x987441cb wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x98789309 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x98ac6eb1 nf_log_register +EXPORT_SYMBOL vmlinux 0x98b2dbd3 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c6c6a8 xattr_full_name +EXPORT_SYMBOL vmlinux 0x98c87be3 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98dc9b49 current_task +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98fdecd3 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x990c9bce vga_tryget +EXPORT_SYMBOL vmlinux 0x9916ffab udp_poll +EXPORT_SYMBOL vmlinux 0x9934b0f6 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x994488fd pnp_register_driver +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x9959aaca fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x9962f602 softnet_data +EXPORT_SYMBOL vmlinux 0x996bae6d mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x996f08e8 seq_open_private +EXPORT_SYMBOL vmlinux 0x99738ed1 fb_find_mode +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x997f23d3 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a09225 param_set_short +EXPORT_SYMBOL vmlinux 0x99a13d0d dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x99a6246d mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x99c5599d fd_install +EXPORT_SYMBOL vmlinux 0x99c8c147 skb_store_bits +EXPORT_SYMBOL vmlinux 0x99cb9be6 logfc +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d65df1 efi +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99e77a63 bd_start_claiming +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1a7dd9 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2a5095 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x9a3a75c7 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x9a409f43 mdiobus_write +EXPORT_SYMBOL vmlinux 0x9a565b2e dcb_getapp +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a61b657 vfs_get_link +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a7b05e9 get_fs_type +EXPORT_SYMBOL vmlinux 0x9a7b85f7 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x9a8ddbec vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x9aa20e83 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x9aa54c77 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9abdba38 single_open_size +EXPORT_SYMBOL vmlinux 0x9accd360 device_add_disk +EXPORT_SYMBOL vmlinux 0x9acdd56e bio_put +EXPORT_SYMBOL vmlinux 0x9ad16e25 pskb_extract +EXPORT_SYMBOL vmlinux 0x9ad77375 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x9ad7a582 iosf_mbi_assert_punit_acquired +EXPORT_SYMBOL vmlinux 0x9aeab485 register_gifconf +EXPORT_SYMBOL vmlinux 0x9af7ce73 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x9b202069 sock_no_listen +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b28e739 vme_master_request +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b37da04 seq_escape +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4adfe8 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x9b6398f6 input_unregister_device +EXPORT_SYMBOL vmlinux 0x9b70dd61 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b8a02a3 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x9b988d05 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x9baae951 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x9bb09286 dev_uc_add +EXPORT_SYMBOL vmlinux 0x9bddce71 sock_create_kern +EXPORT_SYMBOL vmlinux 0x9bf56908 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x9c0032e4 input_event +EXPORT_SYMBOL vmlinux 0x9c052fe1 set_security_override +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1f9e19 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x9c224b0a get_cached_acl +EXPORT_SYMBOL vmlinux 0x9c2c6e5d devm_memunmap +EXPORT_SYMBOL vmlinux 0x9c5041a6 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x9c68c5d7 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x9c78ca99 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x9c8a0480 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb986f2 vmalloc_base +EXPORT_SYMBOL vmlinux 0x9cc569db set_binfmt +EXPORT_SYMBOL vmlinux 0x9ccb8fad skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd01df2 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce90d06 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x9cfab51e dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x9cfe4937 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x9d099a39 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d289ba1 phy_device_create +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d427454 kthread_bind +EXPORT_SYMBOL vmlinux 0x9d456da9 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x9d4dd35a devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d66ab83 empty_aops +EXPORT_SYMBOL vmlinux 0x9d70541a native_save_fl +EXPORT_SYMBOL vmlinux 0x9d805d3a pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x9d815f4a ns_capable +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9dbc68c9 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x9dd10c05 padata_do_serial +EXPORT_SYMBOL vmlinux 0x9dd7d029 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x9de12238 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e175abb pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x9e1f556f param_get_long +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e37eb30 mmc_release_host +EXPORT_SYMBOL vmlinux 0x9e41301d inode_nohighmem +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5799ed tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x9e596191 follow_down_one +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e683f75 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x9e77bf3a acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8058e9 put_disk +EXPORT_SYMBOL vmlinux 0x9e87036f pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x9e938e83 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea1d9a2 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x9ea224b2 phy_suspend +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9eab8d85 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eadf31f cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x9eb82d45 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9f131d03 xfrm_state_free +EXPORT_SYMBOL vmlinux 0x9f2c3a9a inode_init_once +EXPORT_SYMBOL vmlinux 0x9f335ba4 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x9f42d38b build_skb +EXPORT_SYMBOL vmlinux 0x9f43ea3a netdev_txq_to_tc +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 0x9f5931f3 vm_map_pages +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f6a0963 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x9f7c7a7b phy_attach_direct +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fb44ed0 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x9fc8da25 filp_close +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9febff13 fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa0078c78 dqput +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa00d682d kernel_read +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa02d3ec0 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xa03a529c sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xa03d102e inet6_add_offload +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04b5eee consume_skb +EXPORT_SYMBOL vmlinux 0xa05465ac backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xa054d095 abort_creds +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa0687ce7 dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa084f53a __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xa084f79f cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xa08ceef5 file_path +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b27afe simple_unlink +EXPORT_SYMBOL vmlinux 0xa0c3153a begin_new_exec +EXPORT_SYMBOL vmlinux 0xa0caecf7 freeze_super +EXPORT_SYMBOL vmlinux 0xa0cfd4eb dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0ea0e36 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0f9e958 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10f1a4c tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12543de md_register_thread +EXPORT_SYMBOL vmlinux 0xa13e780a gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xa14d9d80 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa164a9a5 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xa16c8613 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xa17629f2 vme_irq_handler +EXPORT_SYMBOL vmlinux 0xa17694f7 block_write_begin +EXPORT_SYMBOL vmlinux 0xa1a00ed5 console_start +EXPORT_SYMBOL vmlinux 0xa1bc9b3c i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xa1bedd72 amd_iommu_pc_get_max_counters +EXPORT_SYMBOL vmlinux 0xa1c46913 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xa1ca4bc2 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xa1d4ceb2 input_register_handler +EXPORT_SYMBOL vmlinux 0xa1d7c73f pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xa1dc2276 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xa1ecd9f4 dev_deactivate +EXPORT_SYMBOL vmlinux 0xa1f1dd41 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xa1f9a134 __x86_indirect_thunk_rsi +EXPORT_SYMBOL vmlinux 0xa1fee478 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa22309e7 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xa229a57d kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa259d84a try_to_release_page +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2785497 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xa284f38f vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xa285f7be vga_switcheroo_lock_ddc +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2b3f522 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xa2b68477 dma_set_mask +EXPORT_SYMBOL vmlinux 0xa2cb9172 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0xa2d57d9c unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xa2e9d83b fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xa2f04092 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xa30bcd6b config_group_init +EXPORT_SYMBOL vmlinux 0xa311d0ec vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xa32642fc tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xa36b327c input_set_timestamp +EXPORT_SYMBOL vmlinux 0xa377edf6 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xa37994b7 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xa387c1d0 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xa38cad70 ptp_find_pin +EXPORT_SYMBOL vmlinux 0xa38db5f1 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xa38f21b9 amd_iommu_update_ga +EXPORT_SYMBOL vmlinux 0xa3959915 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xa3960c6a finish_swait +EXPORT_SYMBOL vmlinux 0xa3a67b61 fget +EXPORT_SYMBOL vmlinux 0xa3e4f871 acpi_initialize_debugger +EXPORT_SYMBOL vmlinux 0xa3f10ea9 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4083a57 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa4191c0b memset_io +EXPORT_SYMBOL vmlinux 0xa434033c pci_assign_resource +EXPORT_SYMBOL vmlinux 0xa43b7965 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xa45cf0ab inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xa45dc9b3 dm_register_target +EXPORT_SYMBOL vmlinux 0xa47d0d48 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xa484ce6d bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4f152e3 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xa4faf62a acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa507125e acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xa50bcff0 x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xa522c2f2 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xa52a6c72 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa551bbd2 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa556086c i2c_del_driver +EXPORT_SYMBOL vmlinux 0xa5613654 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xa5614694 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xa579c535 netpoll_setup +EXPORT_SYMBOL vmlinux 0xa57c3064 sk_net_capable +EXPORT_SYMBOL vmlinux 0xa5956abe ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5d70ef9 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xa5da594f lease_modify +EXPORT_SYMBOL vmlinux 0xa5e55057 rdmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xa60f7b1f scsi_host_put +EXPORT_SYMBOL vmlinux 0xa612f491 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa628b135 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xa6331873 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa643d36b mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682e466 drop_super +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa688ef5a security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0xa68f726f nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xa6a36285 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0xa6a93388 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xa6ae1703 pv_ops +EXPORT_SYMBOL vmlinux 0xa6bb2bcb vga_switcheroo_unlock_ddc +EXPORT_SYMBOL vmlinux 0xa6e8eb61 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xa7032519 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa7157d8d lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xa71e6124 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xa7270e2a twl6040_power +EXPORT_SYMBOL vmlinux 0xa729336b sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xa72cfb7d ioremap_wt +EXPORT_SYMBOL vmlinux 0xa73b6af4 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa777ea1f unix_get_socket +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7cb02e9 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7f54d66 vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0xa7fd5d9e key_unlink +EXPORT_SYMBOL vmlinux 0xa801899d irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xa805ecfc acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa83481ea remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xa836ba02 wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xa83d3203 ip6_frag_init +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 0xa8846940 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xa8969879 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa8b33f41 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8d8a74e netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa90fa680 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91e4ebe netif_rx +EXPORT_SYMBOL vmlinux 0xa926e6a2 fb_class +EXPORT_SYMBOL vmlinux 0xa92cf2dc key_link +EXPORT_SYMBOL vmlinux 0xa931af8a asm_load_gs_index +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa9443d61 scsi_print_command +EXPORT_SYMBOL vmlinux 0xa9480062 backlight_force_update +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa9785b49 cpu_core_map +EXPORT_SYMBOL vmlinux 0xa985a48a __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xa990051e xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa99c7b85 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xa9a8e17f arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0xa9b16237 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0xa9c72303 amd_iommu_pc_get_max_banks +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa0887a8 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xaa0d391f kill_block_super +EXPORT_SYMBOL vmlinux 0xaa0e77a4 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xaa23653d pci_remove_bus +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa35a38f kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xaa49cdf9 backlight_device_register +EXPORT_SYMBOL vmlinux 0xaa5cbbb5 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xaa6f1e22 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa76342c iterate_fd +EXPORT_SYMBOL vmlinux 0xaa8025cd generic_read_dir +EXPORT_SYMBOL vmlinux 0xaa868ce7 param_ops_byte +EXPORT_SYMBOL vmlinux 0xaa88539e nvm_end_io +EXPORT_SYMBOL vmlinux 0xaa959bf3 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaab45170 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xaab4965f phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xaab6b423 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0xaacb73c2 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad3f951 fqdir_init +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 0xaaeff447 sock_no_linger +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab045d15 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xab0d3768 put_disk_and_module +EXPORT_SYMBOL vmlinux 0xab10ec04 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0xab133d2e tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xab17a9b2 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xab2c3ba0 make_bad_inode +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab522c05 kernel_accept +EXPORT_SYMBOL vmlinux 0xab5c0b87 inode_newsize_ok +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 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab7b8e68 __x86_retpoline_rbx +EXPORT_SYMBOL vmlinux 0xab8d3c3b inet_frags_fini +EXPORT_SYMBOL vmlinux 0xab96e9d6 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xaba2a633 read_cache_page +EXPORT_SYMBOL vmlinux 0xaba81805 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0xabb99952 param_get_byte +EXPORT_SYMBOL vmlinux 0xabc3e7d2 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xabc91e54 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xabd21612 default_llseek +EXPORT_SYMBOL vmlinux 0xabef2062 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabf3871a netdev_notice +EXPORT_SYMBOL vmlinux 0xabf91745 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xabffec75 inet6_bind +EXPORT_SYMBOL vmlinux 0xac000bd5 amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0xac02858c devm_rproc_add +EXPORT_SYMBOL vmlinux 0xac085b94 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xac0c49b9 notify_change +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac29c3b3 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac4a8b3b dquot_alloc +EXPORT_SYMBOL vmlinux 0xac4af54c d_rehash +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac7aa727 freeze_bdev +EXPORT_SYMBOL vmlinux 0xac7c7f50 key_task_permission +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac8d571d vme_dma_list_free +EXPORT_SYMBOL vmlinux 0xac920fba __skb_checksum +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xac982f85 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacb03a9c netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xaccce84d netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xace531c8 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xacea8173 acpi_debug_print +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacf9e6a9 bio_split +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad046ac8 cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0xad1036a2 amd_iommu_activate_guest_mode +EXPORT_SYMBOL vmlinux 0xad1a8367 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xad20057c tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xad21ab3d mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xad2951a9 ex_handler_rdmsr_unsafe +EXPORT_SYMBOL vmlinux 0xad3557e4 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xad41ceeb dm_kobject_release +EXPORT_SYMBOL vmlinux 0xad4ec2c0 blk_put_queue +EXPORT_SYMBOL vmlinux 0xad4ed252 register_key_type +EXPORT_SYMBOL vmlinux 0xad536c91 x86_cpu_to_acpiid +EXPORT_SYMBOL vmlinux 0xad5ba150 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0xad634da6 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad6dae7d seq_dentry +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad85e669 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xad9d21b2 translation_pre_enabled +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xada979f1 unlock_page +EXPORT_SYMBOL vmlinux 0xadb46820 iget_locked +EXPORT_SYMBOL vmlinux 0xadbdf7d3 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xadbe957d __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadee795e nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xadf6b737 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae0030ec kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xae03ea8b unpin_user_page +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae0c1466 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xae0c4152 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xae1b3b7c phy_device_register +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae34bf85 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xae363df2 __frontswap_store +EXPORT_SYMBOL vmlinux 0xae3b2a04 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xae4c155f inet_gro_complete +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae5e874f find_inode_rcu +EXPORT_SYMBOL vmlinux 0xae600b7c phy_modify_paged +EXPORT_SYMBOL vmlinux 0xae799593 dev_mc_del +EXPORT_SYMBOL vmlinux 0xae7e3a35 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xae8a7e97 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0xae90f353 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xae9d6ea3 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xae9d8f10 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xaea9203b udp_pre_connect +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaead2ad1 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xaeb04e02 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xaeba72a5 kobject_get +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaec8aab9 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xaecb89ee copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xaed75f66 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xaee8f796 dev_addr_del +EXPORT_SYMBOL vmlinux 0xaeec815d clear_wb_congested +EXPORT_SYMBOL vmlinux 0xaefc4eab fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xaefe9c45 request_firmware +EXPORT_SYMBOL vmlinux 0xaf00b7b8 scsi_partsize +EXPORT_SYMBOL vmlinux 0xaf13bc3b jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xaf14b099 sync_file_create +EXPORT_SYMBOL vmlinux 0xaf2fae7e reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0xaf354bbe cpu_tss_rw +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf437318 ata_print_version +EXPORT_SYMBOL vmlinux 0xaf4907fa scmd_printk +EXPORT_SYMBOL vmlinux 0xaf4d952c clocksource_unregister +EXPORT_SYMBOL vmlinux 0xaf674956 nf_log_unset +EXPORT_SYMBOL vmlinux 0xaf6815ec rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xaf73c3b6 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xafb3eb2f skb_dequeue +EXPORT_SYMBOL vmlinux 0xafb88de9 dquot_disable +EXPORT_SYMBOL vmlinux 0xafb8c6ff copy_user_generic_string +EXPORT_SYMBOL vmlinux 0xafd2a1a0 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafdee144 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xafe9ee5b finish_no_open +EXPORT_SYMBOL vmlinux 0xb0175f71 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb0306803 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xb034d224 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xb05659e3 sk_stream_error +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061a98a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb06deae3 md_finish_reshape +EXPORT_SYMBOL vmlinux 0xb0860a1c seq_read_iter +EXPORT_SYMBOL vmlinux 0xb08ef275 vme_init_bridge +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0afcadd ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb0bcd4c3 sg_miter_next +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0db86fa dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xb0dcb914 security_sb_remount +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0ebb9fb register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xb0f05aa3 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb101206e alloc_fcdev +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb1113f5b fs_lookup_param +EXPORT_SYMBOL vmlinux 0xb11de022 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1263b75 input_get_keycode +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb135e8c5 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xb14281b8 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb154b347 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xb15b6078 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb19a5453 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1abf796 inet_gso_segment +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c3a78b km_policy_expired +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb1f794a8 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xb20213a0 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xb203d89d passthru_features_check +EXPORT_SYMBOL vmlinux 0xb2056ba5 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xb205df7c gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0xb20b3718 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xb20c5737 genphy_loopback +EXPORT_SYMBOL vmlinux 0xb2124f66 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb220edd7 param_ops_invbool +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23590e7 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xb25e576d filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xb27e63e4 configfs_depend_item +EXPORT_SYMBOL vmlinux 0xb289aa01 bio_advance +EXPORT_SYMBOL vmlinux 0xb28ecc4c scsi_dma_map +EXPORT_SYMBOL vmlinux 0xb2aeb797 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2f9a9d0 uart_register_driver +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb313dc4e pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xb3178019 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xb31af1c4 simple_rename +EXPORT_SYMBOL vmlinux 0xb31c7bc3 tty_port_init +EXPORT_SYMBOL vmlinux 0xb31d06e0 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb32a5973 acpi_ut_status_exit +EXPORT_SYMBOL vmlinux 0xb33460b6 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xb33464f4 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb3558d17 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xb3570ea7 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xb35981a2 skb_queue_head +EXPORT_SYMBOL vmlinux 0xb359cf97 seq_release_private +EXPORT_SYMBOL vmlinux 0xb3635b01 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb373e767 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xb3863a67 acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xb397a070 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xb39fdf6e dquot_commit_info +EXPORT_SYMBOL vmlinux 0xb3a2dfdf nmi_panic +EXPORT_SYMBOL vmlinux 0xb3aad063 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3d40372 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0xb3e04e08 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3fcba13 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xb401dc9e ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb4063d24 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xb4081f64 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb421b404 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42cf69b __scsi_execute +EXPORT_SYMBOL vmlinux 0xb42fdb76 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xb4387ed0 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xb44ad4b3 _copy_to_user +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb45dcff0 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xb468bd37 pci_disable_device +EXPORT_SYMBOL vmlinux 0xb479c17f bd_set_size +EXPORT_SYMBOL vmlinux 0xb47cca30 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0xb4825ae9 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb48f8060 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xb4916da9 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb49965f5 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0xb4a2fafc keyring_clear +EXPORT_SYMBOL vmlinux 0xb4ae5517 netdev_warn +EXPORT_SYMBOL vmlinux 0xb4b1e0cb configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb507f833 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xb51ddf8e d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xb523d916 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xb528f605 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb5502b34 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xb55ff7da sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xb5616a39 iov_iter_init +EXPORT_SYMBOL vmlinux 0xb5670043 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5739a59 pci_iomap +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb58ed8fd acpi_register_debugger +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ab892d uv_undefined +EXPORT_SYMBOL vmlinux 0xb5ac90d6 pci_release_region +EXPORT_SYMBOL vmlinux 0xb5d46471 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb601be4c __x86_indirect_thunk_rdx +EXPORT_SYMBOL vmlinux 0xb603ca43 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb608fbed param_get_int +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb6586408 mmc_request_done +EXPORT_SYMBOL vmlinux 0xb65cdfec xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xb667041a ps2_handle_response +EXPORT_SYMBOL vmlinux 0xb674a534 acpi_unmap_cpu +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6893cf0 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b1ffb7 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xb6bb9e8b jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb6cf59c6 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xb6d3acee clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xb707ca6c sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb7593ddc iosf_mbi_unregister_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xb7636f95 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xb7645c37 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xb77a46d8 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xb77cf110 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7c0a547 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c3d1e7 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xb7c4f9f1 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7ce6256 vga_con +EXPORT_SYMBOL vmlinux 0xb7dda983 blkdev_get +EXPORT_SYMBOL vmlinux 0xb7e4b718 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xb7e6056d inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb7fd227f ps2_drain +EXPORT_SYMBOL vmlinux 0xb814e18a on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0xb8286f67 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb84424d5 file_ns_capable +EXPORT_SYMBOL vmlinux 0xb84ba8c7 tty_unlock +EXPORT_SYMBOL vmlinux 0xb861faa6 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86daf5d commit_creds +EXPORT_SYMBOL vmlinux 0xb86f74c5 free_cpumask_var +EXPORT_SYMBOL vmlinux 0xb8869824 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0xb88bb272 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xb89b363e tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8a3cd2b __SetPageMovable +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8c2e18a agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xb8da5ca8 iommu_put_dma_cookie +EXPORT_SYMBOL vmlinux 0xb8e4033d __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8e9f19e _copy_to_iter +EXPORT_SYMBOL vmlinux 0xb8f01040 dst_alloc +EXPORT_SYMBOL vmlinux 0xb8f7dece param_ops_bint +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9540ecc __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xb95f81d0 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb972c462 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xb97f7045 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xb990c8e7 write_one_page +EXPORT_SYMBOL vmlinux 0xb99ea245 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xb99ed76f jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xb9ad6464 kobject_add +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9cae84e __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xb9cda332 unregister_shrinker +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 0xb9f41c87 touch_atime +EXPORT_SYMBOL vmlinux 0xba0cca6a security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba137ab6 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xba19433a dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0xba2bdfa2 scsi_print_result +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba7bfb8a skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xba923d68 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xba9f78f6 inet_del_offload +EXPORT_SYMBOL vmlinux 0xbab241ce km_query +EXPORT_SYMBOL vmlinux 0xbab65a45 key_invalidate +EXPORT_SYMBOL vmlinux 0xbad21a8f scsi_device_resume +EXPORT_SYMBOL vmlinux 0xbad4d7c5 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbadcd996 dquot_file_open +EXPORT_SYMBOL vmlinux 0xbaecd555 ppp_input +EXPORT_SYMBOL vmlinux 0xbafc6c9e deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xbaffa790 amd_iommu_rlookup_table +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb065e3a pci_request_regions +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 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb3ea69d genphy_read_status +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb5755c2 misc_deregister +EXPORT_SYMBOL vmlinux 0xbb60307f simple_write_begin +EXPORT_SYMBOL vmlinux 0xbb63fe85 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xbb644fcd iov_iter_advance +EXPORT_SYMBOL vmlinux 0xbb659cd9 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xbb7e7a1e tcp_seq_start +EXPORT_SYMBOL vmlinux 0xbb805818 __put_user_ns +EXPORT_SYMBOL vmlinux 0xbb824656 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xbb8373c9 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xbb893fdb tcf_exts_change +EXPORT_SYMBOL vmlinux 0xbb8e169a vga_switcheroo_handler_flags +EXPORT_SYMBOL vmlinux 0xbbc878b5 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xbbce73ba iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbc1f2797 sk_alloc +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2250ba path_is_under +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc707f26 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xbc81330e blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xbc98c5b6 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xbc996160 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xbc99f1e4 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb198a8 proc_symlink +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccaece0 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xbccf444a register_shrinker +EXPORT_SYMBOL vmlinux 0xbcefbad4 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xbcf2d21d tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xbcfda36c devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xbd03a9a1 sock_no_bind +EXPORT_SYMBOL vmlinux 0xbd0aedce sock_wfree +EXPORT_SYMBOL vmlinux 0xbd19f6cd netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xbd1dcf7d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xbd221ccd nd_device_notify +EXPORT_SYMBOL vmlinux 0xbd2284a7 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xbd28184d mdio_find_bus +EXPORT_SYMBOL vmlinux 0xbd3a11c1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd512005 proc_remove +EXPORT_SYMBOL vmlinux 0xbd567d2c scsi_scan_target +EXPORT_SYMBOL vmlinux 0xbd63ae9f input_allocate_device +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd789827 param_get_short +EXPORT_SYMBOL vmlinux 0xbd790198 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xbd94a066 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xbda05650 security_sk_clone +EXPORT_SYMBOL vmlinux 0xbdb9e708 iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0xbdca8978 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xbde19b3d kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xbdf392a1 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xbdf43efd in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbdfb6dbb __fentry__ +EXPORT_SYMBOL vmlinux 0xbe00a5ef pcie_set_mps +EXPORT_SYMBOL vmlinux 0xbe0110e7 acpi_set_gpe +EXPORT_SYMBOL vmlinux 0xbe24f155 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xbe2ade8b md_cluster_ops +EXPORT_SYMBOL vmlinux 0xbe423a08 devm_alloc_etherdev_mqs +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 0xbe5be5bf __ip_dev_find +EXPORT_SYMBOL vmlinux 0xbe65019b pipe_lock +EXPORT_SYMBOL vmlinux 0xbe6988c1 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6cef4f netif_carrier_on +EXPORT_SYMBOL vmlinux 0xbe7e05a8 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xbebd1bd4 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xbebe5d90 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0xbec59317 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xbec80ebc param_get_ullong +EXPORT_SYMBOL vmlinux 0xbed8fcf0 phy_find_first +EXPORT_SYMBOL vmlinux 0xbee2277d key_put +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbefe0a56 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xbf07416d vga_client_register +EXPORT_SYMBOL vmlinux 0xbf3193ec acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xbf323bf5 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xbf354f86 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xbf395ccd rproc_add_subdev +EXPORT_SYMBOL vmlinux 0xbf41ef4e lease_get_mtime +EXPORT_SYMBOL vmlinux 0xbf423db1 vm_insert_pages +EXPORT_SYMBOL vmlinux 0xbf51d778 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf6f5ac5 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbf77e785 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xbf987fc5 genphy_update_link +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa1216b mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0xbface16d rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfdcb43a __x86_indirect_thunk_r11 +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc028253c __serio_register_driver +EXPORT_SYMBOL vmlinux 0xc032bf68 ip6_xmit +EXPORT_SYMBOL vmlinux 0xc03a0dbe is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0xc049ce11 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xc0617c56 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0xc06c7fa9 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07a5c14 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc07deb55 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0b8b3e0 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0c443da inet_gro_receive +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0e24050 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc111ae64 intel_gtt_get +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc1365323 acpi_enable_all_wakeup_gpes +EXPORT_SYMBOL vmlinux 0xc13a7e94 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc156c981 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc164c8d7 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc16d4cf6 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xc17637f3 truncate_setsize +EXPORT_SYMBOL vmlinux 0xc192a924 d_make_root +EXPORT_SYMBOL vmlinux 0xc194887c tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xc19cf21f pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xc1a03d78 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xc1a3761d input_close_device +EXPORT_SYMBOL vmlinux 0xc1ae6333 mr_dump +EXPORT_SYMBOL vmlinux 0xc1afddc2 phy_device_remove +EXPORT_SYMBOL vmlinux 0xc1b1a0c2 vfs_ioctl +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e65031 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xc1e80816 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xc1ed123c __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xc1f2a20a acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0xc20a3f1c __page_symlink +EXPORT_SYMBOL vmlinux 0xc217485e max8998_update_reg +EXPORT_SYMBOL vmlinux 0xc23aa9fd sock_create +EXPORT_SYMBOL vmlinux 0xc23b219a dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc25cf87f security_socket_socketpair +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc270f593 pci_restore_state +EXPORT_SYMBOL vmlinux 0xc278c965 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc27ac56c pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xc27b94e2 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xc27f40a4 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xc28c46ee inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xc28f5284 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xc29957c3 __x86_indirect_thunk_rcx +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a17ebe seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xc2ac51d0 __put_cred +EXPORT_SYMBOL vmlinux 0xc2c92404 __ps2_command +EXPORT_SYMBOL vmlinux 0xc2dd765c ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc306568a dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc307465a agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc317e757 dev_add_pack +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc31f89b1 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc333c072 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xc338235e init_task +EXPORT_SYMBOL vmlinux 0xc35b6255 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xc36126bc devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0xc3630d2c md_reload_sb +EXPORT_SYMBOL vmlinux 0xc364c4ce pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc3775d71 pci_bus_type +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc39f0bbf phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3ae0da4 agp_copy_info +EXPORT_SYMBOL vmlinux 0xc3bbdae4 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3cf8d44 __lock_buffer +EXPORT_SYMBOL vmlinux 0xc3dd5ba5 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc40a626f vga_switcheroo_fini_domain_pm_ops +EXPORT_SYMBOL vmlinux 0xc4191613 vga_get +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc4237aef init_net +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc437c6ce ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xc43fb49b nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xc44fc532 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc47a267f nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xc487dce0 kthread_stop +EXPORT_SYMBOL vmlinux 0xc498a039 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4bed5dd max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xc4c54c64 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xc4ceeb18 vme_bus_type +EXPORT_SYMBOL vmlinux 0xc4ebfc6d t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xc4ec53c2 no_llseek +EXPORT_SYMBOL vmlinux 0xc4f809d8 ip_defrag +EXPORT_SYMBOL vmlinux 0xc4f967c1 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xc4f98a43 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xc50e8454 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xc5136885 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xc5195ab6 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc52af17f dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0xc52f939e dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0xc539720c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xc54e08ab vfs_iter_write +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5550431 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc56275fb kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xc5664491 _raw_spin_unlock_irq +EXPORT_SYMBOL vmlinux 0xc567920a __quota_error +EXPORT_SYMBOL vmlinux 0xc568b7dc scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc58ff511 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xc595c060 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5b8c206 update_devfreq +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e4a5d1 cpumask_next +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5eca874 deactivate_super +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5ff0bd4 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc611b5f3 write_inode_now +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc6242cbf sget +EXPORT_SYMBOL vmlinux 0xc62a8bec vme_dma_list_add +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63a89d8 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xc63ae4b1 unlock_rename +EXPORT_SYMBOL vmlinux 0xc6512d87 phy_init_eee +EXPORT_SYMBOL vmlinux 0xc6523188 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0xc6576564 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66bb8d2 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc6910aa0 do_trace_rdpmc +EXPORT_SYMBOL vmlinux 0xc6934173 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xc6947862 d_delete +EXPORT_SYMBOL vmlinux 0xc6b99401 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xc6ba0468 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xc6bec40e tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xc6c61301 devm_request_resource +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6d6e84b fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0xc6eb8d0c tty_vhangup +EXPORT_SYMBOL vmlinux 0xc6f1ff85 udp_set_csum +EXPORT_SYMBOL vmlinux 0xc6f35f87 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f9a740 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xc7013fef security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xc705e390 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc71454b1 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xc71bfb86 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc72a1ac9 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7825656 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7aa63f5 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7cf0835 register_qdisc +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7e90ca5 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xc7fee23f xfrm_register_type +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc80f8420 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc83a779d seq_putc +EXPORT_SYMBOL vmlinux 0xc841408c amd_iommu_enable_device_erratum +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc8679bbb md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xc8718a39 cdev_add +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc8833063 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8ca1cfc tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xc8cd3dd2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xc8d6d5fc __devm_request_region +EXPORT_SYMBOL vmlinux 0xc8e7622c inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0xc8ef00e6 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xc8f055dc i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xc8f375c1 _raw_read_unlock_irq +EXPORT_SYMBOL vmlinux 0xc8f76444 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xc9216a82 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0xc92474cd serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xc92bab67 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xc93778d1 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc959d152 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9aacb05 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xc9d6d223 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9f34c1d acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0xc9f3510e mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xc9f675c6 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xca132aa9 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca176407 tcp_prot +EXPORT_SYMBOL vmlinux 0xca1d1130 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca26785a bio_devname +EXPORT_SYMBOL vmlinux 0xca2ac77f blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca43900e xfrm_register_km +EXPORT_SYMBOL vmlinux 0xca494952 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xca565afc zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0xca683b9f pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xca7b100d mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0xca8caae5 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xca9d07e8 d_genocide +EXPORT_SYMBOL vmlinux 0xcaa4a4e2 textsearch_register +EXPORT_SYMBOL vmlinux 0xcab8d6dd __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb4afab9 tcf_classify +EXPORT_SYMBOL vmlinux 0xcb508ee0 amd_iommu_get_v2_domain +EXPORT_SYMBOL vmlinux 0xcb6d2165 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7bac38 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xcb811247 skb_copy_header +EXPORT_SYMBOL vmlinux 0xcb9a4adf proto_register +EXPORT_SYMBOL vmlinux 0xcb9e1a22 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcba93350 kill_pgrp +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbf8f904 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcbfb85df dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2b37e2 config_group_find_item +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc384380 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xcc3b3b7d path_get +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc48059c __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc8b77b8 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xcc93a014 vme_irq_free +EXPORT_SYMBOL vmlinux 0xcca044aa skb_dump +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccc85e07 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccde7e1d forget_cached_acl +EXPORT_SYMBOL vmlinux 0xcce257e5 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xcce482a1 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xcceba872 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +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 0xcd219f51 i8042_install_filter +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2a810e inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xcd3011de nd_integrity_init +EXPORT_SYMBOL vmlinux 0xcd3bba43 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xcd49d9d4 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xcd71eb44 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xcd763409 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcdacd610 bio_init +EXPORT_SYMBOL vmlinux 0xcdb4766a inet_offloads +EXPORT_SYMBOL vmlinux 0xcdbb095e dev_get_flags +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdcd0015 cdev_alloc +EXPORT_SYMBOL vmlinux 0xcdd72b81 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcde88d89 _dev_crit +EXPORT_SYMBOL vmlinux 0xcdf5ee6e ___pskb_trim +EXPORT_SYMBOL vmlinux 0xce08d2f3 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xce175fff put_ipc_ns +EXPORT_SYMBOL vmlinux 0xce1f7db5 init_pseudo +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce563667 phy_detach +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6477b2 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xce728d10 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce7e2647 tcf_em_register +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce8b1878 __x86_indirect_thunk_r14 +EXPORT_SYMBOL vmlinux 0xce910e1f device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xcea381dd x86_match_cpu +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcebcb277 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xcec3bccf alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xcec5f331 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xcec88a00 d_exact_alias +EXPORT_SYMBOL vmlinux 0xcecbeb08 blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xcecf9705 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced1184c set_groups +EXPORT_SYMBOL vmlinux 0xcedc93cc override_creds +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcef07b7f agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcefe75ba unregister_cdrom +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf056bd5 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xcf0ec4c0 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xcf18972d vfs_mkdir +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf261fcd freezing_slow_path +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf390e4c xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xcf4c945c udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf5f88af request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xcf799809 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xcf83d83a __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xcf85de9b lru_cache_add +EXPORT_SYMBOL vmlinux 0xcf87f2ca __pagevec_release +EXPORT_SYMBOL vmlinux 0xcf8af857 nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0xcf9611bf generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xcf96dbaa mark_info_dirty +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcffe0f88 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xd00fd33b flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xd018c17b devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xd0209bd8 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xd02d90dc sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xd0317320 __d_drop +EXPORT_SYMBOL vmlinux 0xd0374ed1 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06c31b9 eth_header_cache +EXPORT_SYMBOL vmlinux 0xd07ad412 seq_open +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b2398e dump_truncate +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0c25447 dump_page +EXPORT_SYMBOL vmlinux 0xd0c7ca0d ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xd0ef6643 vfs_create +EXPORT_SYMBOL vmlinux 0xd0f1aaf0 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xd0f208f3 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xd0f284b8 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd103f5f1 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xd117c0f8 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1398661 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0xd13d1158 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xd1412f9b kobject_init +EXPORT_SYMBOL vmlinux 0xd146102e mark_page_accessed +EXPORT_SYMBOL vmlinux 0xd14c3a71 compat_import_iovec +EXPORT_SYMBOL vmlinux 0xd15b8459 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd19a2113 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xd19b30fb blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xd19bd2e1 __tracepoint_write_msr +EXPORT_SYMBOL vmlinux 0xd19d3210 iov_iter_revert +EXPORT_SYMBOL vmlinux 0xd1a4053d config_item_get +EXPORT_SYMBOL vmlinux 0xd1b4cdec mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0xd1c93d04 thaw_bdev +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1df5432 get_tree_keyed +EXPORT_SYMBOL vmlinux 0xd1ed4d42 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xd1f60a89 arch_io_free_memtype_wc +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd2265f63 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0xd22c3009 pmem_sector_size +EXPORT_SYMBOL vmlinux 0xd23489c6 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xd24da3f7 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd26cc945 generic_writepages +EXPORT_SYMBOL vmlinux 0xd27198fa phy_attached_info +EXPORT_SYMBOL vmlinux 0xd27269d8 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd2760c46 inode_init_owner +EXPORT_SYMBOL vmlinux 0xd27829a3 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd28095f8 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xd2819102 netlink_set_err +EXPORT_SYMBOL vmlinux 0xd28e14cd phy_driver_register +EXPORT_SYMBOL vmlinux 0xd2b96ce4 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +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 0xd30e6e20 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xd3342fc7 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xd33e775d dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xd3489db3 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xd34e8f18 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36af737 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd3712ed0 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0xd37ee895 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0xd38cd261 __default_kernel_pte_mask +EXPORT_SYMBOL vmlinux 0xd390d3d7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xd3966506 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0xd39b428c ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xd3a2a0b7 ps2_end_command +EXPORT_SYMBOL vmlinux 0xd3a5e4ff serio_bus +EXPORT_SYMBOL vmlinux 0xd3ac0e59 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xd3d64bf1 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3fe3ad1 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd40eb65b genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xd412a556 tty_port_put +EXPORT_SYMBOL vmlinux 0xd429aa60 d_drop +EXPORT_SYMBOL vmlinux 0xd42b0421 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd465ae7c noop_llseek +EXPORT_SYMBOL vmlinux 0xd4660535 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xd46b678d __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xd472cd24 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xd47947ff __x86_retpoline_r12 +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48477c3 fasync_helper +EXPORT_SYMBOL vmlinux 0xd4a85950 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xd4af673b security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4ce78be nf_log_trace +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4e31063 tcp_mmap +EXPORT_SYMBOL vmlinux 0xd4e3f8ba locks_free_lock +EXPORT_SYMBOL vmlinux 0xd4e6d310 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xd4eafc00 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5289f37 register_filesystem +EXPORT_SYMBOL vmlinux 0xd52ac11c key_type_keyring +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd54548e1 __module_get +EXPORT_SYMBOL vmlinux 0xd561cfa8 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xd5656678 ll_rw_block +EXPORT_SYMBOL vmlinux 0xd56dac6e dm_unregister_target +EXPORT_SYMBOL vmlinux 0xd56fdd77 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xd5729fc8 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xd57db8b5 inet6_offloads +EXPORT_SYMBOL vmlinux 0xd586bca7 skb_tx_error +EXPORT_SYMBOL vmlinux 0xd58e3689 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5c1d49e netif_schedule_queue +EXPORT_SYMBOL vmlinux 0xd5d7a3ae pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xd5e3a92f of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xd5e436be blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xd5e77ec8 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd6033589 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd61fa44f jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd634bf43 nobh_write_end +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd64a2ecb d_tmpfile +EXPORT_SYMBOL vmlinux 0xd65b5388 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xd6742002 preempt_schedule_thunk +EXPORT_SYMBOL vmlinux 0xd679a188 ihold +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd69f149b skb_seq_read +EXPORT_SYMBOL vmlinux 0xd6a440a1 param_set_long +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b2ed5f generate_pm_trace +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6bf79d1 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd703cfbc simple_pin_fs +EXPORT_SYMBOL vmlinux 0xd70833de iget_failed +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd714c237 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xd7225965 param_get_string +EXPORT_SYMBOL vmlinux 0xd72568d1 start_tty +EXPORT_SYMBOL vmlinux 0xd73242a7 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd740d687 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xd7411f01 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0xd7454ebf d_add +EXPORT_SYMBOL vmlinux 0xd75bf37a try_module_get +EXPORT_SYMBOL vmlinux 0xd7808451 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xd78372d5 sock_pfree +EXPORT_SYMBOL vmlinux 0xd790d237 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7dce091 send_sig_info +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7f409e3 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xd8026763 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xd808e339 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xd80a3bca rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xd81fafa5 __sb_end_write +EXPORT_SYMBOL vmlinux 0xd8247b3e simple_empty +EXPORT_SYMBOL vmlinux 0xd835c7dc generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xd837dc88 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xd846c315 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0xd84788b1 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xd858732d tcp_disconnect +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd8675d1e phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xd87649bf dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a61d92 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8c318e2 _raw_write_unlock +EXPORT_SYMBOL vmlinux 0xd8c45797 __phy_resume +EXPORT_SYMBOL vmlinux 0xd8d13d8a flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8edd8f9 vlan_for_each +EXPORT_SYMBOL vmlinux 0xd8f00201 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xd9060a18 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd912a795 wake_up_process +EXPORT_SYMBOL vmlinux 0xd91c25f3 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xd92c7b08 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd933a434 uart_match_port +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd96aefa4 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xd971c6c4 xen_arch_register_cpu +EXPORT_SYMBOL vmlinux 0xd9786ced ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0xd9788e59 may_umount +EXPORT_SYMBOL vmlinux 0xd979a547 __x86_indirect_thunk_rdi +EXPORT_SYMBOL vmlinux 0xd9846492 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99607c1 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9ba0ee2 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xd9be3925 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xd9d23678 rio_query_mport +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e8aee7 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xd9fdeff5 tcp_release_cb +EXPORT_SYMBOL vmlinux 0xda1367d5 iommu_get_dma_cookie +EXPORT_SYMBOL vmlinux 0xda1ddef1 acpi_mark_gpe_for_wake +EXPORT_SYMBOL vmlinux 0xda1fe211 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xda26b8ea __irq_regs +EXPORT_SYMBOL vmlinux 0xda2bda05 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0xda352e00 tso_build_hdr +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda45f0a6 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xda61ee93 dst_dev_put +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaa551da __i2c_transfer +EXPORT_SYMBOL vmlinux 0xdab48807 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xdac48e1d vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdac4ffe3 submit_bh +EXPORT_SYMBOL vmlinux 0xdac98d53 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xdad13544 ptrs_per_p4d +EXPORT_SYMBOL vmlinux 0xdadeda90 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xdaec8845 md_write_end +EXPORT_SYMBOL vmlinux 0xdb0a7c1a mmc_can_discard +EXPORT_SYMBOL vmlinux 0xdb16b170 topology_phys_to_logical_pkg +EXPORT_SYMBOL vmlinux 0xdb17862c blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0xdb18b3f4 pci_set_master +EXPORT_SYMBOL vmlinux 0xdb1b3685 d_invalidate +EXPORT_SYMBOL vmlinux 0xdb409228 qdisc_put +EXPORT_SYMBOL vmlinux 0xdb55c076 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xdb5bbc1f devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xdb6582fb bdevname +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb76134e dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xdb95e185 intel_scu_ipc_dev_command_with_size +EXPORT_SYMBOL vmlinux 0xdbb798a5 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xdbbbc5e0 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xdbc59afa from_kgid_munged +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbf17652 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xdbf9f899 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xdbfdc1d6 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc3597b0 xfrm_input +EXPORT_SYMBOL vmlinux 0xdc3cb373 do_splice_direct +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc4bb975 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc55d3b6 page_get_link +EXPORT_SYMBOL vmlinux 0xdc5736d5 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0xdc5f256c security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xdc8fc490 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xdc9641a2 tty_check_change +EXPORT_SYMBOL vmlinux 0xdc9a3f46 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xdcb12ffa __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xdcd213bd simple_transaction_release +EXPORT_SYMBOL vmlinux 0xdcd4ea3f component_match_add_typed +EXPORT_SYMBOL vmlinux 0xdce55c98 __x86_retpoline_rax +EXPORT_SYMBOL vmlinux 0xdceb1e65 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xdcf5fcfa gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd274f29 to_ndd +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd3293a1 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xdd3a42e7 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xdd5408df fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xdd566361 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xdd56c6e1 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xdd5c56be clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdd61f345 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd692428 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd7978ec iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xdd807ba0 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd971ff2 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xdda96b2a nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddb6fc12 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0xddb9834a dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xddcb739d rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xddcbe1f3 acpi_ut_value_exit +EXPORT_SYMBOL vmlinux 0xddf3facf nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0xddf68691 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde011a46 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xde2932e1 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde32aa51 timestamp_truncate +EXPORT_SYMBOL vmlinux 0xde37971a devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0xde387469 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xde3b1415 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4eeab5 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xde50edef tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xde54997b netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xde697ad9 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xde70f8f6 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xde778708 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xde80cd09 ioremap +EXPORT_SYMBOL vmlinux 0xde89ad94 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdeaa9f12 dev_add_offload +EXPORT_SYMBOL vmlinux 0xdeb54f16 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xdecc9cae tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded6a415 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xdede1183 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xdee365b0 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdefea64b tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xdf28ccdc revert_creds +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf3cc456 get_vm_area +EXPORT_SYMBOL vmlinux 0xdf3f5288 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf566a59 __x86_indirect_thunk_r9 +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 0xdf946de7 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xdfa4772a register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xdfaef558 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xdfb14029 down_read_killable +EXPORT_SYMBOL vmlinux 0xdfbbbb2e fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfddd67b submit_bio +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffaf81d tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0248727 __fs_parse +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 0xe044c6c2 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xe04bd3a6 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0xe05dea0a pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xe06c8f9a vme_irq_generate +EXPORT_SYMBOL vmlinux 0xe06e83d6 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xe06e8890 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xe070c7ca ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe08ff493 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe09a8f9b blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xe0a69fa7 tty_devnum +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0c61689 param_set_bool +EXPORT_SYMBOL vmlinux 0xe0db9c11 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe0ed55b3 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xe0f1ac3a mpage_writepages +EXPORT_SYMBOL vmlinux 0xe0f38a38 generic_perform_write +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe121d37a set_disk_ro +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe1250712 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0xe12b6246 submit_bio_wait +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe134f6a9 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13c19a0 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe151da70 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xe169db13 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xe18937d2 fb_get_mode +EXPORT_SYMBOL vmlinux 0xe18e88d8 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1aeb84d tcp_time_wait +EXPORT_SYMBOL vmlinux 0xe1c1b732 kfree_skb +EXPORT_SYMBOL vmlinux 0xe1d387ad tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1ed698d _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xe1fe78e9 phy_connect +EXPORT_SYMBOL vmlinux 0xe205775b devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xe207b7a1 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0xe209c639 pnp_is_active +EXPORT_SYMBOL vmlinux 0xe20be3de set_trace_device +EXPORT_SYMBOL vmlinux 0xe21dcabd get_user_pages +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe22eae35 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xe247cff4 padata_free_shell +EXPORT_SYMBOL vmlinux 0xe25ee9d3 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe27e2f4b skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xe2998b4c get_amd_iommu +EXPORT_SYMBOL vmlinux 0xe2b0caea nd_device_register +EXPORT_SYMBOL vmlinux 0xe2d44b4a pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2dba0f2 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xe2e88c8b blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xe2ea75cb devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xe2ed5ed1 update_region +EXPORT_SYMBOL vmlinux 0xe2ed9119 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xe2f8ab1f scm_fp_dup +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe33c7b10 kernel_write +EXPORT_SYMBOL vmlinux 0xe390789a dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xe3ba6dd5 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xe3c43ca6 mdio_device_register +EXPORT_SYMBOL vmlinux 0xe3c86eb2 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0xe3d857ea __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe3dcc4c3 ethtool_notify +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f9d6cf mount_bdev +EXPORT_SYMBOL vmlinux 0xe3fd4cd3 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe3fffae9 __x86_indirect_thunk_rbp +EXPORT_SYMBOL vmlinux 0xe400facb netif_skb_features +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe41de6d4 vfs_mknod +EXPORT_SYMBOL vmlinux 0xe42c55d7 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe484b691 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48daea6 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xe4b0d147 write_cache_pages +EXPORT_SYMBOL vmlinux 0xe4c9ccfa iov_iter_bvec +EXPORT_SYMBOL vmlinux 0xe4d80bf4 acpi_enable +EXPORT_SYMBOL vmlinux 0xe504338f padata_free +EXPORT_SYMBOL vmlinux 0xe50b41a5 free_netdev +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52df78b md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xe561b3d9 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xe5636f5e pin_user_pages +EXPORT_SYMBOL vmlinux 0xe5742c6d sock_alloc +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58b8d34 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59be527 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xe5a61fba netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xe5b3248b i2c_register_driver +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5e6444a __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xe5f5a824 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xe5fa47ac cdrom_open +EXPORT_SYMBOL vmlinux 0xe5ff70c6 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xe611272c blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe615716a tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xe61ceef2 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xe61eb6d9 scsi_device_put +EXPORT_SYMBOL vmlinux 0xe639ab68 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0xe646d7e0 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xe65b4c83 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xe6736e6a ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xe6811ef4 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xe689d9ed sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xe68c0b44 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe694017a pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xe6a77483 fs_param_is_string +EXPORT_SYMBOL vmlinux 0xe6ac5906 d_lookup +EXPORT_SYMBOL vmlinux 0xe6bcbb9b cred_fscmp +EXPORT_SYMBOL vmlinux 0xe6cd0983 pci_release_regions +EXPORT_SYMBOL vmlinux 0xe6d880c0 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xe6dc5c09 __alloc_skb +EXPORT_SYMBOL vmlinux 0xe6e1b3c5 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xe6e5f2c0 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xe6e60d47 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xe6f72dec ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xe6fb1576 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0xe7016c75 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xe70877d4 acpi_remove_sci_handler +EXPORT_SYMBOL vmlinux 0xe70db8fd blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xe71ae308 filemap_map_pages +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe74b9830 __put_page +EXPORT_SYMBOL vmlinux 0xe75125f8 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xe7621a39 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xe787698f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xe78c7edb tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xe799f168 inode_init_always +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7a32b39 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xe7aa1b0b mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xe7b00dfb __x86_indirect_thunk_r13 +EXPORT_SYMBOL vmlinux 0xe7d3c4c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d76029 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xe7ecef8a path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe860ce14 setattr_copy +EXPORT_SYMBOL vmlinux 0xe86c38c0 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0xe8734a93 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xe88402c6 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xe89c8b0e ilookup +EXPORT_SYMBOL vmlinux 0xe8a80af2 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xe8aa90d4 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xe8aed29a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xe8b3bd18 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xe8bc2401 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xe8d9d0fe security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe8ffec7c rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe926fecf param_get_uint +EXPORT_SYMBOL vmlinux 0xe93bd958 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xe95260fd module_refcount +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe968835c ps2_command +EXPORT_SYMBOL vmlinux 0xe98e5bef rtc_add_groups +EXPORT_SYMBOL vmlinux 0xe9982b72 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xe9a57ad5 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xe9a5e67f intel_graphics_stolen_res +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9c0d0af is_bad_inode +EXPORT_SYMBOL vmlinux 0xe9d4d9f5 nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0xe9d52da6 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea119050 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xea1aacdc current_time +EXPORT_SYMBOL vmlinux 0xea20caf8 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0xea231bdc down_write_killable +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea4a4b30 phy_attached_print +EXPORT_SYMBOL vmlinux 0xea57eb84 mount_single +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea7d2964 iget5_locked +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea84a483 wireless_send_event +EXPORT_SYMBOL vmlinux 0xea8d9fb2 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xeaa532ce pnp_device_detach +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeaddc496 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaec7672 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xeaf377b9 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb08f729 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xeb1f171b jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2391c9 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xeb31aee8 acpi_trace_point +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb5d2834 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xeb794944 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeba34afe mdio_device_reset +EXPORT_SYMBOL vmlinux 0xebcd85d0 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xebdc70b7 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xebe282da napi_disable +EXPORT_SYMBOL vmlinux 0xebf28cc3 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xebfa572f dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xec061ede jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xec237e4f xps_needed +EXPORT_SYMBOL vmlinux 0xec266956 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2cded4 pci_free_irq +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec3c7f50 iov_iter_discard +EXPORT_SYMBOL vmlinux 0xec4d3eb6 mmc_get_card +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec563371 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0xec73e69e pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xec74a0fc register_fib_notifier +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecafb753 md_flush_request +EXPORT_SYMBOL vmlinux 0xecc15cdb km_policy_notify +EXPORT_SYMBOL vmlinux 0xecd06961 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xecda01d7 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf26811 is_nd_dax +EXPORT_SYMBOL vmlinux 0xecf6829c nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xecf7a53d nonseekable_open +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed1143c4 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xed179cdc vc_cons +EXPORT_SYMBOL vmlinux 0xed233447 simple_setattr +EXPORT_SYMBOL vmlinux 0xed34ebbc acpi_any_gpe_status_set +EXPORT_SYMBOL vmlinux 0xed3667c8 phy_loopback +EXPORT_SYMBOL vmlinux 0xed45354f sock_release +EXPORT_SYMBOL vmlinux 0xed5460ec dquot_release +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed57a87e vm_insert_page +EXPORT_SYMBOL vmlinux 0xed7a6495 mmc_put_card +EXPORT_SYMBOL vmlinux 0xed81a5e4 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xed8635cb kernel_bind +EXPORT_SYMBOL vmlinux 0xeda87b44 skb_clone +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc1e7f8 d_find_any_alias +EXPORT_SYMBOL vmlinux 0xedc690f4 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xedce89bd pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xedd0d718 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xedd3bd8a bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xeddc8ce4 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0xedf0d906 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee555d78 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6d2554 proto_unregister +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee7f1593 tty_register_device +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee938bc9 tcf_block_get +EXPORT_SYMBOL vmlinux 0xeeace3dd __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xeed2b506 simple_get_link +EXPORT_SYMBOL vmlinux 0xeed444a0 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xeedcd1cb uart_resume_port +EXPORT_SYMBOL vmlinux 0xeef482ff tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xef09b06c ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xef156d32 generic_write_end +EXPORT_SYMBOL vmlinux 0xef19b4e4 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xef2993f4 _raw_read_unlock +EXPORT_SYMBOL vmlinux 0xef3c7113 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xef41d9b5 pps_event +EXPORT_SYMBOL vmlinux 0xef4c2a77 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xef7bf5a2 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xef8f1eac fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xef9dbd79 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefc276cd blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefdfc588 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0xefe1ceb4 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xefe2ac50 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefe84cbc compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xefebbd40 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xefeda047 qdisc_reset +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf0167f27 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xf021412c tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf03896b2 simple_open +EXPORT_SYMBOL vmlinux 0xf03ddffb km_report +EXPORT_SYMBOL vmlinux 0xf051f385 tty_write_room +EXPORT_SYMBOL vmlinux 0xf059a3e9 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xf05c32ad rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf07b789c mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xf07bdbdc skb_vlan_push +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09158a7 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0b38bf8 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xf0bbadb2 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xf0cdba5d ppp_unit_number +EXPORT_SYMBOL vmlinux 0xf0de8dc4 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf1084bec invalidate_bdev +EXPORT_SYMBOL vmlinux 0xf1097a3d pci_set_power_state +EXPORT_SYMBOL vmlinux 0xf10a8a0f _dev_alert +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf114c404 tcp_seq_next +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf11f4a5c skb_put +EXPORT_SYMBOL vmlinux 0xf1225590 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xf12741c9 amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xf157551f generic_fillattr +EXPORT_SYMBOL vmlinux 0xf1610a54 security_path_unlink +EXPORT_SYMBOL vmlinux 0xf16f2e03 devm_release_resource +EXPORT_SYMBOL vmlinux 0xf1848ee2 acpi_install_sci_handler +EXPORT_SYMBOL vmlinux 0xf1891545 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xf19393d5 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xf1958598 get_acl +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a68107 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf1aef5f8 filemap_fault +EXPORT_SYMBOL vmlinux 0xf1b3720a sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xf1b6fbbf blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0xf1c4e026 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xf1c6e575 of_find_backlight +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d6440f ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f550a2 pci_find_bus +EXPORT_SYMBOL vmlinux 0xf21017d9 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf21c8fc4 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf2258ebd open_with_fake_path +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2428357 pci_get_slot +EXPORT_SYMBOL vmlinux 0xf25fe9d6 input_reset_device +EXPORT_SYMBOL vmlinux 0xf264008d devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0xf2729e9b pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0xf276ec83 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0xf28277fe seq_release +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +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 0xf2b1708b sk_stop_timer +EXPORT_SYMBOL vmlinux 0xf2b81b64 arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2d0232b netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf3059421 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xf30965ac iosf_mbi_register_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf330abaa skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf3354d59 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf33cdf75 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35ca871 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xf37ff986 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a638c9 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3d1dd5a devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3f14b4a mmc_free_host +EXPORT_SYMBOL vmlinux 0xf4029286 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xf407469a mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0xf40e7a73 __xa_alloc +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf436a590 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0xf436ce1f genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xf43af3ec bdi_put +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf495ca68 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xf49a7aaa scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xf4a565fd wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf4a5936f nd_btt_probe +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4a93f3c dma_free_attrs +EXPORT_SYMBOL vmlinux 0xf4b2b86e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xf4b6ff66 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c6a598 kobject_put +EXPORT_SYMBOL vmlinux 0xf4d4f134 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xf4d9ebe7 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4dc0819 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f2c808 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xf503c868 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0xf508bc6f mmc_sw_reset +EXPORT_SYMBOL vmlinux 0xf51e4717 acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0xf51f0f42 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xf524ce9b phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xf531194b __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf55d2a0d mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xf56d3d3d blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xf56f0be6 eth_type_trans +EXPORT_SYMBOL vmlinux 0xf570739f pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf59ee923 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xf59fe5e2 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a5c84c msrs_alloc +EXPORT_SYMBOL vmlinux 0xf5a8a591 misc_register +EXPORT_SYMBOL vmlinux 0xf5cb0244 __close_fd +EXPORT_SYMBOL vmlinux 0xf5da14e1 put_fs_context +EXPORT_SYMBOL vmlinux 0xf5e30f9a i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf60ab926 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf6191d4f tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xf61c1b4a vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xf63ff8f2 block_truncate_page +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf64d4f3d mmc_command_done +EXPORT_SYMBOL vmlinux 0xf64dd790 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xf650fe76 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xf651178e skb_append +EXPORT_SYMBOL vmlinux 0xf65b19ce tty_port_close_end +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf6682658 pci_get_device +EXPORT_SYMBOL vmlinux 0xf67069b5 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xf678898b filemap_check_errors +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf687e39c skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xf6af2915 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0xf6b4ff94 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xf6b884c1 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0xf6bb893f neigh_table_clear +EXPORT_SYMBOL vmlinux 0xf6dbccaa module_put +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f571b2 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf701f94c flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xf720ec3c blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xf727bd3a insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xf72d4684 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf73f7a9a pci_release_resource +EXPORT_SYMBOL vmlinux 0xf7418cd7 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0xf746f4fc serio_reconnect +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf758a687 netlink_net_capable +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf792062e mdio_device_free +EXPORT_SYMBOL vmlinux 0xf799af8e eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xf799e415 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xf79ca3bb acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0xf79cee35 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0xf7b92309 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0xf7c97f71 generic_ro_fops +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7ef9a79 iosf_mbi_punit_release +EXPORT_SYMBOL vmlinux 0xf7efad01 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xf8031ff4 dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xf80ae92f page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xf80be44e rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xf80f316a phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf815ece9 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0xf8169e89 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf8386d97 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xf839ed3b gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xf8449879 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf84e50e5 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xf8595510 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xf86889e9 devm_iounmap +EXPORT_SYMBOL vmlinux 0xf8803f1c __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8926fd8 param_array_ops +EXPORT_SYMBOL vmlinux 0xf895a94b d_instantiate +EXPORT_SYMBOL vmlinux 0xf89cf33e seq_lseek +EXPORT_SYMBOL vmlinux 0xf89e37de clk_get +EXPORT_SYMBOL vmlinux 0xf89f0e1d mount_subtree +EXPORT_SYMBOL vmlinux 0xf8b8e84c agp_free_memory +EXPORT_SYMBOL vmlinux 0xf8bea24a tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8fd51af do_SAK +EXPORT_SYMBOL vmlinux 0xf902eb3f neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf916ee14 param_get_bool +EXPORT_SYMBOL vmlinux 0xf919dfce vm_map_ram +EXPORT_SYMBOL vmlinux 0xf91ef185 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xf9202f76 set_posix_acl +EXPORT_SYMBOL vmlinux 0xf9370315 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf94fabdc mmc_can_trim +EXPORT_SYMBOL vmlinux 0xf96b50b5 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf9a3fed4 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c03618 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9d3bf47 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xf9d89d0f tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xf9df8324 scsi_add_device +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xfa08f4b8 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xfa1192c3 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xfa1962e7 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa55306d __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa6247e3 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xfa658c3e bioset_exit +EXPORT_SYMBOL vmlinux 0xfa66d487 dma_resv_init +EXPORT_SYMBOL vmlinux 0xfa6782e3 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xfa70d4da xp_alloc +EXPORT_SYMBOL vmlinux 0xfa70e05c sock_no_connect +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa8d861e amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0xfa90b870 __ip_options_compile +EXPORT_SYMBOL vmlinux 0xfa9209c7 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xfa95c6d0 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0xfaa1fdf7 __tracepoint_rdpmc +EXPORT_SYMBOL vmlinux 0xfac3e00a __x86_retpoline_r9 +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfad71cb8 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xfb042f01 add_to_pipe +EXPORT_SYMBOL vmlinux 0xfb2b1dd4 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb448843 napi_get_frags +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb4bbb78 stop_tty +EXPORT_SYMBOL vmlinux 0xfb50b83a ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xfb54d96d set_wb_congested +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb58734b __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfb5df556 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb746cc9 down_killable +EXPORT_SYMBOL vmlinux 0xfb83cd5f phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xfb9044a0 set_pages_uc +EXPORT_SYMBOL vmlinux 0xfb936e59 fiemap_prep +EXPORT_SYMBOL vmlinux 0xfb957973 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xfb9ae46c jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xfba4975a agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaa0533 unregister_key_type +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 0xfbc4ff21 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xfbd1502b simple_getattr +EXPORT_SYMBOL vmlinux 0xfbd22e0b __netif_schedule +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbfbf611 super_setup_bdi +EXPORT_SYMBOL vmlinux 0xfc1c1862 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xfc314445 genlmsg_put +EXPORT_SYMBOL vmlinux 0xfc3240b3 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc5567e9 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xfc5c4306 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xfc5c46e2 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0xfc7e2596 down_trylock +EXPORT_SYMBOL vmlinux 0xfca1c8d8 nf_reinject +EXPORT_SYMBOL vmlinux 0xfcae18ab mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc01895 tty_kref_put +EXPORT_SYMBOL vmlinux 0xfcc53d70 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xfcc70794 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcd75158 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xfcdc9d59 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xfcdddca5 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xfce9a91b __free_pages +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf9d91b scsi_host_get +EXPORT_SYMBOL vmlinux 0xfd109365 simple_fill_super +EXPORT_SYMBOL vmlinux 0xfd10b12d jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xfd2192f7 sk_common_release +EXPORT_SYMBOL vmlinux 0xfd2e71fb flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xfd312d03 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xfd3c649c forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xfd42527c __x86_retpoline_r15 +EXPORT_SYMBOL vmlinux 0xfd5f3a2d sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xfd647e75 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xfd7784b7 vfs_fsync +EXPORT_SYMBOL vmlinux 0xfd7acdfd rproc_add +EXPORT_SYMBOL vmlinux 0xfd93ee35 ioremap_wc +EXPORT_SYMBOL vmlinux 0xfd9bbd1b skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0xfd9d3563 d_find_alias +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdb6576f acpi_set_debugger_thread_id +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +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 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfdfb792f amd_iommu_pc_supported +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe1fea78 devfreq_update_status +EXPORT_SYMBOL vmlinux 0xfe2c33e2 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0xfe2d8a60 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xfe393bc1 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe69d2cb inet_csk_accept +EXPORT_SYMBOL vmlinux 0xfe6e326d skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0xfe90121f jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea8f56f setup_new_exec +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec314b1 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xfed605c8 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee10a24 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeee8f34 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0xfeefd125 simple_write_end +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff0019b8 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xff0d4a3d input_set_poll_interval +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2a8d1e flush_signals +EXPORT_SYMBOL vmlinux 0xff334a8e iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xff345440 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xff5272b9 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7adcc3 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff8a99de wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffa5a92d datagram_poll +EXPORT_SYMBOL vmlinux 0xffa84065 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xffb672f8 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffbb9c0b vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xffc1f47e bio_list_copy_data +EXPORT_SYMBOL vmlinux 0xffc30c3a acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xffcd7f49 iosf_mbi_punit_acquire +EXPORT_SYMBOL vmlinux 0xffdd60dd i2c_clients_command +EXPORT_SYMBOL vmlinux 0xffe9bb2e scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff35bea _dev_emerg +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x19711697 camellia_xts_dec_16way +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 0x2e46ede4 xts_camellia_setkey +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 0x6f3a8de5 camellia_xts_enc_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x8b44ee75 camellia_ecb_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x9056f10d camellia_xts_enc +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0xc00f725a camellia_ctr_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0xfea2b457 camellia_xts_dec +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x0b901549 camellia_dec_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x315d28f7 camellia_crypt_ctr_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 0xee61eb71 camellia_crypt_ctr +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/glue_helper 0x336dcee0 glue_ecb_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0x47c4e08f glue_xts_crypt_128bit_one +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0x9adcd8f3 glue_xts_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0xba5113a3 glue_ctr_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0xd7f9a410 glue_cbc_decrypt_req_128bit +EXPORT_SYMBOL_GPL arch/x86/crypto/glue_helper 0xeec1f25f glue_cbc_encrypt_req_128bit +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/serpent-avx-x86_64 0x5cea0c9c serpent_ctr_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x99341b41 serpent_xts_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xa0100109 serpent_xts_dec +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xb75988d7 __serpent_crypt_ctr +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xbdfa6cc0 serpent_xts_enc_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xc75fe764 xts_serpent_setkey +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0xcee44453 serpent_xts_enc +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 0x2c7b3458 twofish_enc_blk_ctr +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0x31ddef7a twofish_enc_blk_ctr_3way +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 0x013afa7d kvm_mmu_slot_largepage_remove_write_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0314a1ea kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x044492fe kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x06604981 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x08d1bad8 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ae158bb reprogram_gp_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b38a023 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b76c332 kvm_apic_update_ppr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b92b60d kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0bd4fed3 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0c341ab0 kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d8f4740 kvm_mce_cap_supported +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0dc88132 kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0eac8ced reset_shadow_zero_bits_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1235000a kvm_tsc_scaling_ratio_frac_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x126e0338 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x130fd155 supported_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x13a8a3a6 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14071ebe kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x159b8d5e host_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x15ae7f3d kvm_can_use_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x15f5cf6a __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x16202f63 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17791e00 kvm_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a4307ec kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1c721561 kvm_lapic_expired_hv_timer +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 0x1db1c372 enable_vmware_backdoor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1de646da __tracepoint_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e6eb8f0 kvm_init_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1fd282d1 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2397314d kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23e61e60 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28411ed7 kvm_max_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x289efa4f kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x29b3b4fb kvm_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2a6dc989 kvm_load_host_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2b01e3c8 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2cbe30dc kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d82cc24 kvm_spec_ctrl_test_value +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2dc0648b kvm_mtrr_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2e30b42b gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2ee37afd kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f9c53dc kvm_hv_assist_page_enabled +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30425f19 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x32f13428 gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x34af12a6 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x37186a4a handle_fastpath_set_msr_irqoff +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x383c4e95 kvm_wait_lapic_expire +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x38ff8b77 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39998d17 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3bd5c09b kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3cc82f45 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3cd1b097 current_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e5364b1 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f91772f kvm_mtrr_valid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3fc992bd kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x40476818 kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42d1f192 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x43e16226 kvm_get_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x44eb43fa kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x46ea16e8 kvm_require_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a755ab7 kvm_inject_emulated_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4b2e4d50 kvm_hv_get_assist_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4caa8015 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4d422201 kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e4181e8 kvm_mmu_free_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e46a0e8 kvm_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4fd7a9e3 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x50417ccd kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x517bd2fc load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51a445a0 kvm_mmu_sync_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51c87b7e gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51d086b2 kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x51d71e7b kvm_request_apicv_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5520e250 kvm_lapic_switch_to_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55b5b89e kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x56ffb300 kvm_intr_is_single_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x57420969 kvm_slot_page_track_remove_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x57d3b6f6 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x584a745f kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x58d98071 kvm_page_track_register_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x595bd73c kvm_lapic_switch_to_sw_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x598e8a17 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59f90499 kvm_scale_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5a820cc5 kvm_apic_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5cf54143 kvm_set_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d996b31 kvm_set_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ed756c4 kvm_arch_has_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5f597c21 kvm_cpu_has_injectable_intr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5f65d1c1 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5f712e8a kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fd782f3 kvm_mmu_clear_dirty_pt_masked +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x60789de9 kvm_fast_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6086f4ec vcpu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6243ac82 __kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6252c003 kvm_mmu_slot_leaf_clear_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63270977 kvm_default_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6391f0b2 kvm_apic_write_nodecode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6408482f kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64fb87a6 kvm_unmap_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x65ece2a2 __tracepoint_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669dfa2a kvm_read_l1_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66c4423a kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68063515 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68f54e0f __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c763bff kvm_vcpu_exit_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6d165218 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6df1b94f kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e6fa4c3 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e85fc31 kvm_deliver_exception_payload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6f83f0b2 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709cd8cb kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x71bf44c5 kvm_update_dr7 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7378f842 kvm_vcpu_block +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74b3e6fc kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x76cd648a kvm_arch_has_assigned_device +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7763a671 __tracepoint_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7856a8f1 kvm_apic_clear_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7972d4d2 kvm_apic_set_eoi_accelerated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7beadcad handle_ud +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c812b76 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e3575ec kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7ef80255 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f382cb0 kvm_arch_register_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f4c57ec kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8098d560 kvm_mmu_new_pgd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x83fcb589 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x849344cc __tracepoint_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x867690a7 __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x86931b5d __tracepoint_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x86e10b8c gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x881fe945 kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x888d979f __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x89efe9a8 kvm_map_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x89f77c0d vcpu_put +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b72d209 kvm_get_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c8200f7 kvm_apic_match_dest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8dd4bca0 kvm_lapic_find_highest_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8dff2962 pdptrs_changed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8f95b1c3 kvm_vcpu_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x91d4d992 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94abbd88 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96b7a622 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9713b1c6 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9846a4e0 kvm_lapic_reg_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ad2f156 kvm_apic_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ae6034e kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c78c546 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f3d8521 kvm_arch_start_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa0c5685b kvm_lapic_reg_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1f1dafb kvm_vcpu_is_reset_bsp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa29cb0d1 kvm_mmu_invpcid_gva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa354b3d2 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa358dbec kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6152d16 kvm_configure_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa78c5c0c reprogram_fixed_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa7c0d799 kvm_slot_page_track_add_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa90e44f5 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa975020d kvm_mmu_set_mask_ptes +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa9a2b448 kvm_vcpu_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab31e82f gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xac3bf0e4 kvm_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xac938d27 kvm_lapic_hv_timer_in_use +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xacc28a38 kvm_mmu_slot_set_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xadc9c183 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf55d195 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb097e540 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2bfafab __kvm_request_immediate_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb592b119 kvm_get_apic_mode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb5ab5d21 mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb7126875 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbbf78c7f kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc61269f gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd12b65e kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf2f9c1a kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbfc61ecf __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc00a2551 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc02021ee kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1acf387 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1b3af5e kvm_arch_no_poll +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1d769b7 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc58708c0 kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc710bf3f kvm_arch_end_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc725f63b kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc7a0304f kvm_vcpu_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc7b99500 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc888a1c2 kvm_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xca3ab5ad __tracepoint_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcab0c0a4 __tracepoint_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb354a4c kvm_arch_unregister_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd07d5e4 reprogram_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcec34848 kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0d7bac6 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd10a8675 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2898069 __x86_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd40ee89f kvm_emulate_wrmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd532a492 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd7969301 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd79f5443 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8ae2ac3 __tracepoint_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd8ea00d9 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdc39d6e0 kvm_page_track_unregister_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd9e7aeb kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xddacdaf7 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0d0bb52 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0f69844 kvm_emulate_rdmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1974682 kvm_skip_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1cf08d4 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe24937c0 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe2b6e7c8 kvm_queue_exception_p +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe436a7a1 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe4dbd6af kvm_set_msi_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe502a29a kvm_valid_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9674a16 supported_xcr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe96f3c6f kvm_handle_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xead56329 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeb06f20d kvm_apicv_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeb2c02d9 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xec06defc __tracepoint_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xee05639a kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeecf997d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf0958c81 kvm_mmu_invalidate_gva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1d317f9 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf4675565 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf47e3dba kvm_no_apic_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf4e9e65e kvm_init_shadow_ept_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf5f65110 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf6a2b8db __tracepoint_kvm_apicv_update_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf6ec290e kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf84df62f kvm_load_guest_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf8c468a0 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf8fdd989 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf95b561c kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf9fdbb34 cpuid_query_maxphyaddr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa541ffc __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfcb475ed kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe60f145 kvm_emulate_instruction_from_buffer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfebbb84c kvm_requeue_exception +EXPORT_SYMBOL_GPL crypto/af_alg 0x0e0c47e0 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x281dbbf1 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x3d044047 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x45b99252 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x5fb256d5 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x64e34707 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x65ec7e88 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x784f7621 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x954681ba af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0xa6221301 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xa9e1ce04 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xc24db46c af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xc3a5e272 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xca170914 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xcfc00f15 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xd2f7bd72 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xd47ac7e2 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xe75ed88e af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x1dc7786e asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe4cf5a10 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x775e6991 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xc4f3bdb9 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x3d2bedc6 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x86b786eb async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x0679096e async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x35b2af15 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xde25b277 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe8142114 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x190df40f async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa06c4a82 async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xd76b181a blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xd6c3ac31 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 0xa33528ed 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 0x0c646651 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x2c6992a1 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x4252577b cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x4362967f cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x4df8a0b0 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x510992a1 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x5d19b8f9 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x758464aa cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa9fd2c0d cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xdccbea50 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xf30706bc cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xf7bb7f89 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xf8bad744 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x16c46ad7 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1e807bd0 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x25ab5eee crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x37f406c6 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4b419f21 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x62fffd17 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6fb6976e crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xbe7702f9 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc4a91416 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xdf638e8a crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe2aebab2 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xef559512 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xfbd969e3 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x29c87e5f simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x3b5ef767 simd_register_aeads_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 0xc95e1db8 simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xd1afda81 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xc11b51a7 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x74d04826 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xb098a21b crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xb81bd553 crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x78e17fdc twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x3b60ae72 acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x40ad4fa1 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 0x6f522fe1 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x750961a1 __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xa9ae066c acpi_nfit_desc_init +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 0x06800bb6 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x143df00f ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x18732311 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x20c64ee0 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x23364168 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x24c8b4a5 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2cdf2f97 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x47e4cf49 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4b1836d8 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4bffcf09 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5135441a ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x55a49458 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5e4a1105 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7d7baab5 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8d766ad3 ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x96dbe108 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa8e62304 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xae948c9c ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbeaa0573 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc03a93ce ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xca412441 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xce4bd365 ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xced57f58 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd2e8b9fc ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x1a2d8b4b ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x2d4801f3 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3a6166f8 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3b706c2d ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x482eb764 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x69b23f31 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x709fb949 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x8c9b0b2d ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x92705ac7 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x972976ce ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x9faa1156 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xa0149557 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xac14bc1e ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb7b4821a ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xed9c8073 ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xfc5b577e ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x0d7c2b48 __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 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +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/base/regmap/regmap-i3c 0x8d2ebd3e __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x623a2f37 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xf20960c5 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x217bfa26 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x8f29079a __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x78180fff __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x850e78cb __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x1613cb53 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x1d724cf9 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x22b2327b __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x636b94f5 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xeab67227 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xfc6b020d __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0aef7b7c bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1ccbce12 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x326bdcd3 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x35b732ea bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3b5b16cc bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3c6ebfeb bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3ef86c11 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x413e99cf bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4cb38f84 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5120632e bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5ec44313 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x76427045 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7d4d0921 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x910ac704 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x96dae603 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd50ec4f1 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd6496ec7 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd6aebb9e bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe1bc97e7 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe3ee7297 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe9374926 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf53f0943 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf7d1f8b7 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf9bf74e0 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x022ea82d btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x64b8e381 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x86853508 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb92ae6d9 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xbccfeb84 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xcade1927 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xcc7fe8a3 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xea7b6eb1 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x19a3096e btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3b924525 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4a0d1af2 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x52ea79fb btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x589c3f24 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5eca49b4 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x60a8d3a7 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x713034d2 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x782aa7c1 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa43fdfc5 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa64f576e btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb5334f03 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbce65f4e btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc7e675d0 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xdb715c7f btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe0aab0a3 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe1e42fe4 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe2bf5f97 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2428413c btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x571ee943 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x63f2f8fc btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7439b567 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x852dedd7 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x886ca8d9 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa3668c29 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xacc539fd btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc1f4a183 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd3d71cf9 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd74da524 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x14e5ae94 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x62615e21 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x70e220d3 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xa5723886 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xf1700e3d qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x48bfabcb btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x584f9c93 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x589c19b7 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x94953148 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xeb944ed5 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x196fcba6 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x35290b5f hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x392faf78 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xece9adad hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1444bd69 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x305cc9b5 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x39507375 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x45f67c57 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x467cd51d mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4d9ad886 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4dcfee80 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x61dbc5f3 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6866b785 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6ae655fa mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6d5b3c64 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x789a4ae3 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9843ad84 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa282c2b6 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa29d5f13 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb30b93df mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb6824dba mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb7159593 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xba223468 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbc553153 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd602f01b mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe780052c mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x2da2fd64 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3f2da366 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x497c2398 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7caa96f4 counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x8fe3d47d counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x93c5b33d counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa08f1d29 devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa52eedd6 counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xafeb304b counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xd22cc317 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe10e4807 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe6f170ab counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xea4347e1 counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +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 0x303c13ad sev_issue_cmd_external_user +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 0xd02e197f sev_platform_init +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xe64dbe01 ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x01e471eb adf_init_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x04343757 adf_exit_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x07c4dfa2 adf_disable_sriov +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x0ee61f84 adf_vf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x0f11e0af adf_dev_get +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x1228aab3 adf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x170f051c adf_send_admin_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x17d8b856 adf_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2899397e adf_cfg_section_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2f8391c7 adf_exit_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x32a638d9 adf_init_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x334ed0b0 qat_crypto_dev_config +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x36054b87 adf_dev_put +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x474fbf03 adf_dev_stop +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4975fac8 adf_devmgr_in_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4e011abf adf_reset_sbr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x60baea59 adf_reset_flr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x64714f7e adf_devmgr_pci_to_accel_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6878b522 adf_iov_putmsg +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x711578d4 adf_cfg_dev_remove +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x737e7677 adf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7e391bce adf_vf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x8880c50c adf_cfg_dev_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x88bb347e adf_devmgr_update_class_index +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x921fc0eb adf_dev_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x9cbe28bc adf_dev_started +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb0208765 adf_devmgr_rm_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb656de4a adf_cfg_add_key_value_param +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb7621298 adf_vf2pf_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbc7e6422 adf_enable_vf2pf_comms +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 0xdb64f5d7 adf_dev_start +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe329ee62 adf_devmgr_add_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe6d03d9b adf_cleanup_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xecf34b28 adf_init_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf0faaeb8 adf_vf2pf_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf42c5431 adf_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf461ebbd adf_dev_in_use +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf5e55f64 adf_enable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf740dd8f adf_disable_aer +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xb5ba05fe dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dax/pmem/dax_pmem_core 0x7dd0da87 __dax_pmem_probe +EXPORT_SYMBOL_GPL drivers/dca/dca 0x01a33ab9 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x06003d68 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x1b68ae5a dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x1c8cf274 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x20b94a75 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x819d0083 free_dca_provider +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 0xcf8e0eec unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xef61fb2c dca_add_requester +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x5b7f297a dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x6732a428 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x0190f00f do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x0e531e81 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x72f0c9ae dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x96a0c151 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x98b7935f do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb84f57c5 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf4bbe8a5 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x07760a65 hsu_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x1603ddf0 hsu_dma_do_irq +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x94ea767f hsu_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0xbe057fb4 hsu_dma_get_status +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x0ccd0b4a hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x3ea88a58 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x3c964c9e vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x46d893c6 vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x7897e2f7 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x887fca3a vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xdb5a4e35 vchan_init +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0x843d00fb amd64_get_dram_hole_info +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 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x0eb11c2a alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x89bf06c1 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x046e61d8 dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0571ec89 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x28308442 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2f97340e dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x37692eba dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x39637c83 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x5a7985f4 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6416f682 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x66a0b919 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x84743665 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x89a3e49a dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x98ede3f7 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xaec8276b dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb1bce6d7 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xbf31bd6c dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdc9ce6e9 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe806d45b dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfdd803d2 dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfe89af40 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x048d0b0e fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x04aa3285 of_fpga_bridge_get_to_list +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 0x1cc4ca2b fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x46835bc2 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x49c7d9df fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6d68471f devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x74af0c63 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9775716c fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xab6973a5 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb5c20318 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf1dc12a4 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf5ac883e of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1441428e fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x15e69acf fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x185e7364 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1ee89e7e fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x525caf57 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5281e464 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5ae470cf fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x89393293 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x8e952e10 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd8491573 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe1d95639 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe608fce1 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xedaf9272 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x5593cfa8 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7a1edcf3 fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc094a878 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xf0242ee0 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xf5163ee6 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xfb19dc62 fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xfb40032d devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x43f715f9 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x93cef8b8 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x9c695008 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xb0ec8e7b gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xeff73f1d gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x79eaca1a gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x8afd58ad gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa206c0bc gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa2199bb8 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xaae562c8 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x4f060580 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5aa1dc1a __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xce79dabc __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x171abdc0 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x27404628 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x323c757d analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x36c5c185 analogix_dp_probe +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 0x71cf957c analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x92cd9bdb analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xabd3fd83 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf205d2e9 analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0242c0c6 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x026dc169 drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0629bb32 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0c470873 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x10a5a1b2 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x13474653 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x24154a68 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x25790397 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x26ea72f1 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2709f516 drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x505a80e7 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5303a718 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5b2b8a78 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x62f0e735 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6398dade drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x64b7a2f8 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68417ce9 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6e5cfb2a drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6fb7d00c drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7214176a drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7546e74b drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x75b8143d drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8f83aaa5 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x94c621ad drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa04461b4 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa1613385 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb55495a5 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb61481d5 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc2a347af drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xdb118b15 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe8e2e843 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf7111961 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x04d56f39 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1572b860 drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1c75cec1 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x52eb21c8 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x643568e0 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8722c408 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x992297aa drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb45d7710 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb6ffb034 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc233b7f8 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe2b4e207 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xeb7a6e19 drm_gem_fb_create_with_funcs +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 0x6fbc5503 intel_gvt_unregister_hypervisor +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x71cb487b intel_gvt_register_hypervisor +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x35098ba5 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xa4922281 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xcd4da86b ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00639cd8 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0442541b __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x079fda33 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x087b3fc0 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0ac86a9a gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x13af6bda gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1f04601b gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x231ae905 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2a900845 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2bec1e66 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x38ee7a7b greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x394b935e gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d52d107 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3ef75a08 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x457f2b0c gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6b063a9f gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d58cacd gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8d6491c2 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x94a1a487 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x94ac7149 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x993e8e60 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa40e5bd2 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb0a4a9b9 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb0c68fc2 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb339725b gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb6d0114f greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb87136bd gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbab5f814 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbf62b62d gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc148530e gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc397c10a __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcb8c92cd __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcc6d4d0d gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd2c392ae greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xec54f4f2 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xedf6f77c gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf279781b gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf3978e31 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf6e5051a gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf7a4e08d gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf8f6d911 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfd6fa530 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfe81b9fc gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0396c278 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e5c2c16 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1198380a hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1b1ae4cf hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x213d7ff8 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2e885807 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2fad9f17 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31141aa3 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3b5b93ad hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3f1373a0 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4074cb1b hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x418b8006 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x48315221 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4d348cd7 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50c9ea68 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5ce2a8bd hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5fa5b9ac hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x622d8285 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6973c057 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7b296a0c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x818aa229 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x846c1ed2 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8e0a5b4b hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8f604455 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x90a32f48 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x956a1b8a hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9f2adbd0 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xab77f29d __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaceb1a00 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb17dc690 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb412cd3b hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb5651ed1 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xba894cd1 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbabb47ce hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbda841b8 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe8e76dd hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6d6824d hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd04f8a08 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd127a359 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2666121 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf2281e7b hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf812ecf7 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf87ca7d3 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfb3e58bf hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x0119825c 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 0x529c0952 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x552a1920 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x65783479 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x80375607 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc2af6ec7 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xff728799 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x122375b3 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x230931c2 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x39542790 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x76d0453b sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x87d8f3c7 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x993c7b83 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xa3e40fab sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb631734b sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xc13ab172 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xe777b86d i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x0d9c8451 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xc8e35fb7 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xfbf853dd hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x044cb733 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2513dc30 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x258d3255 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x32ab2908 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x46f9a8c2 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4898276e hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5661447a hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5f3b93c2 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x679fa343 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7acb5831 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x84de1683 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x90fd2b53 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9baf97cd hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9f23c2fc hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaf25f5d8 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaf492e94 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xdbaf66ca hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0078c896 vmbus_are_subchannels_present +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0a141371 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x198dfb1a vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1bbe1141 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1c6a16c2 __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3248ee5f vmbus_recvpacket_raw +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 0x52dd143c vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x53589d9e vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x6083ac30 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x624d43f4 vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x71a2da21 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7522a573 vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8fc8ce2b vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x90e7e5f5 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x943255ff hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x94eda29f vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa1e37019 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb02082f3 vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb5f3b2ae vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc3e52245 vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc615c62b hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xcc808338 vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xeb1d4b69 vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf1404dd9 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf23e9c2a vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf57607b4 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf9a1051b vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x29196af4 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x4527ce8b adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x49bfb131 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x0e3e2d38 ltc2947_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/pmbus/pmbus_core 0x025504aa pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0273ed96 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x079a5279 pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0820118a pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0e0d92bd pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0fbb4b10 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x276a5373 pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3bac0254 pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x435eaf74 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x89d20615 pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x8a551a80 pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x8d65eb54 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xae6bb981 pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb8b44849 pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc3029321 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc534a8a6 pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xfe88d0ff pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xfec6ff47 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xff0727ab pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x720c9ea1 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x78ca34ec intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7b1536a1 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xaf4b01d8 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xc1002f31 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xc3d7a321 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd3504345 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd4327b6b intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xfbdbc909 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x226bddf2 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x79493c0c intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xb2cf8948 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x36316981 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x4573e9f7 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x508c7fa9 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7ecdecb1 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x83570abd stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa42faeb4 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbc2f2006 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbe76c7ae stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xda843674 stm_register_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x03c13931 amd_mp2_unregister_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x20b178f1 amd_mp2_bus_enable_set +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x5bd70a29 amd_mp2_register_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xbd83cf29 amd_mp2_rw_timeout +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xc984b17b amd_mp2_rw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xecf31559 amd_mp2_find_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xeedd5865 amd_mp2_process_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x22a52135 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x7e10a41c i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xaf2e0f3c i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xaff8615f i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xfc65dfdd i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x66bdb142 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x727c7cc6 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1110daff i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1c404a24 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1ebe5ac5 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x21d36d1a i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x28a0f088 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x566101e5 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5af3b4eb i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x65868164 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x660b4ad9 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6f8d2210 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fa66ca7 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x82689474 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8a2f7bc2 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x963ceeed i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9d79a6a1 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa25cee67 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa2614be6 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xac1003aa i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb7d7fda2 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdfb6cf81 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe285db7f i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe554cb04 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe602e71c i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf167a206 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfb141e0a i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0xab1716d1 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0xccdbdf54 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x1f1b3425 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x88b148a8 bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xab108527 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xe4dcf81c bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x793d20b1 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x98f0d0bf mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xf5133e60 mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x13c3745d ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xaa1fda1f ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x2d510044 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x8ef4fc1d ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x34667b6d ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x654c1140 ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x764f26f2 ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x897bc950 ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x8f96c2eb ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x972c6c52 ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x99183013 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xa3876b6a ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb22aea74 ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xc0c38c38 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xd2753fff ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x1f2d1a5c adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x5de4f754 devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x0525286e 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 0x5b379312 iio_channel_get_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 0x9f6b9eb0 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x2a32030a 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 0x36a7071a 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 0xc1d9ab69 devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0x9af52077 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x2a51984d cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x51facc5b cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x69084334 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7a483697 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x94254570 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 0xb68d89ec cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xcfc89c80 cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd9aaa18d cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xe6010d69 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x5ad8c9d9 ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xed3ca4d3 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x87d2f80e ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xd788508c ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x6f9812d4 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x9a636621 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xecef1955 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xb78b5c93 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xd160518f fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xf5d4736f fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x17b9dd7f __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x198846c2 adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x3dfb1c61 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x61961f79 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x79549c0d devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x80a29abc adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x840cb0cd devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x8a7a486d adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x91250a43 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb2ac91e1 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb73eaa92 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc1964cd6 __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc30c3d08 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc7a9c405 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xee88f295 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xd1c11d54 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x69a50509 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x57029e5f inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x6197e7f3 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x14be9bb0 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x186e0d2b iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x19760173 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x19c37190 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1f7268bd iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x202eb80e iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x217e09e0 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x22e1b604 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x230ea6b6 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x23c889b4 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2a20bb0f iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2d3aeac0 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2e726858 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x317cebf2 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x374b7f1c devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3ab292b5 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3cc0a208 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3d220fae iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x42287281 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x446ba59f iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4ff67653 iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x55ee59a6 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x60e54bf8 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x625a0122 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x64db6fb3 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6dcc1000 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x75e4281b iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x838a1dfd iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x89cce4cb iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x93f52fe1 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x99f61719 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9d194058 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa7cc854c devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc02c4dbb iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc1ad58a3 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc9e6ce17 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc9eaf50f iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd9738f29 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe1a1b955 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe2703b5d iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe3532455 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf17fc38d devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf5402d47 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x3ffd988c rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x2c614e69 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x197ff682 zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x43fbbae4 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x53bb7383 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x6a248416 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xd5df37dd zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xf0aa9b22 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x015fdf69 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4af40875 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4cb56af3 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x53efb34f rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7adcf5b5 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7cde7b03 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x880a235e rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8fc46d27 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x93e8f046 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9cf4ecb3 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xace9bca1 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb3db9c86 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd4e1727c rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x30517985 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xfdd3b83b matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x56350dc9 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/rmi4/rmi_core 0x034e6e67 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5b4dcb77 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6259224d rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x75890eee rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x93a875b0 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x940dc239 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x94a71cbe rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa6b3e78c rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc0a4474c rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xdb48cc3b rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf1c0867b rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf3d137b8 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf9d7c581 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x366c4f7a cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x5ac9f31d cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xa3247753 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x843405aa cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x8eacbcf6 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x1ba1308b cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x693923b1 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x184fcb02 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x1b7d6b99 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x9e228045 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xc50b701a tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x48ce81a6 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5af6666e wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x73b59f6a wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x895d437f wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8be27baa wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x92dcb7bb wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x965c66f0 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa06d1d3d wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb22f899c wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb468a590 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc18dfe74 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xdff45e68 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x662d31c1 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x67802635 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x73bf913f ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x768346a8 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7b72c7fd ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7cd20a07 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x8a0b4f10 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb867f736 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdf9aaf79 ipack_device_del +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x2b19350e led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x3a0584e7 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x6639c8c9 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8da099cb led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x9fc1eac4 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xd0e636a2 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xda09ebd7 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf6904532 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x14ecfc8c lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x25a50cdc lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x436c1213 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x75225842 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x846ce8cf lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa0bddfe4 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa376d23b lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xab357859 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xc5b5e6be lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xdaa66339 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xfd413af3 lp55xx_register_sysfs +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 0x15b97715 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19b88bec __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2307b422 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b46c4b6 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b793afb __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2fbf8560 __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33554606 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x414c7765 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f6a4a3e __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65fb81f0 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b1045c7 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7260fb66 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x748968f6 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7574c715 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c8a33fe __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x96bf5dba __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa353964f __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4682eff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xab4c5652 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb22f8879 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbf53dc9d __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc00185bc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc13b483f __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc36e201d __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8feefc9 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd8da0f0e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9f20dee __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe9c4d700 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee603d81 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf5d8bf62 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf8502c64 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x217a2d14 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2252f16f dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3e7c9e61 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x42a49c22 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4d112ff6 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5c4cd95a dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x612fc961 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x628d1c21 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x65f42a44 dm_bio_prison_free_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 0x8a56a471 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8ab95567 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x94072273 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xab92dba0 dm_cell_unlock_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 0xd993cc9f dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xdbc6765e dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xe5f32ef6 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfa1cbe8e dm_bio_prison_alloc_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 0x1b623cfe dm_bufio_client_create +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-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 0x7d658b31 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 0xc803a47d dm_cache_policy_unregister +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 0x4243758b dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x717cd867 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 0x37e4b7c0 dm_rh_delay +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 0x45762f0f dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4c7d2ca7 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 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 0x992ec7b0 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 0xaa64b4d5 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 0xf61a0e91 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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc5c0d5dd dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x07ab2621 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x12e982c2 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x14931207 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x16800402 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1b7fd043 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1d9012d6 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x23a4845c cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x31167e6d cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5a355c8e cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x680b5951 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x781d6088 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x82fd69ee cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x835dfc60 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8591d89e cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x872cc4a6 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9a6dd584 cec_queue_pin_5v_event +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 0xb001614f cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbd05cb0c cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe8ed2a5 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbfef036d cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc0d74c08 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xffac7bcc cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x269f09a3 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x79aff39d saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x938254e7 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc815b3ce saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xcc7730a8 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xda28b6bf saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xde4ed5f8 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe2e59bc8 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf0a6acfd saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xfa5cdc7f saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2c72a618 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x316accdc saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x4c91f201 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x79d50758 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x89f59e1c saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8ba0f78f saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xdeef43d8 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x01a23340 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x252d2c61 sms_board_led_feedback +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 0x3e82d656 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45a0ba49 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x46984ecf smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4c3a6da8 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6b3543b1 sms_board_event +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 0x8de65dd6 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa9bf5f80 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb7541b10 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xba703b6d smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbb3677b smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd3319876 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd660baf1 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe0eea956 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe2c3f62c smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe84c51f6 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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1b66128b vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x21926588 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x219e0456 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b5f5341 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3f623848 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x48a534d6 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x54610ab9 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5791b32d vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5fc34ae1 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6ed59504 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x71e934e0 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x74676ff1 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x840d9ca1 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x86f13816 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x88e33122 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ddae992 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90828029 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x96765f01 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9fb35966 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaf42c8df vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb3d8aa98 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb44c8729 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbaa72cc0 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbd15f211 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc166eb62 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7cac640 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc88264fe __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xdc4e181d vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xdecbdf22 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xb31a8c5a vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xb99ff042 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x1740e148 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x0e98b8b7 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1e0400c2 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x24e68165 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x28199bac vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2ffe17b1 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3441a26d vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x375e8a4b vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x41515cfe vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x427411cc vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x558ba311 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x586f3bf9 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5accf7bd vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5d3e650c vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6b30204e vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x771670d9 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8fbd1235 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x909d77da vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x97a10d7c vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9bf3dae4 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa3f305ba vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa6dd2d9a vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa8990fca vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcc6c4662 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd7a3edb4 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe05078bf vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe3625f98 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe80b6937 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe98a8211 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xebadb96e vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfb6f7d5b vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfcee6fd2 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfdf6820a vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x01cdf37e vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x414b3e29 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xbc358ae3 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xd126ec28 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xf772c186 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x5ac6a1b1 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x4faf5032 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x52bde8de mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x9062b51f stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x0b3d9609 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x72fb9ddf tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x0583c253 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x1902b1da smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x04ed0a8b __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x057a44d9 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x06e9a3fc media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0ca56fe7 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x164a0304 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1d62bd4c media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1dac240e media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1dbadb12 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1fcf16a8 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x21763769 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x26e6fbe8 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2d61d821 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2da56290 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3a6b499d __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3b52f792 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3e3d4f1d media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x446d7082 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x53acae8f media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x590cbe51 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5cd229bf media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61796a76 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x65f11ec0 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6644a6a5 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6691ed38 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7741368e __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7d516869 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7e9ecfd6 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x80151788 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x824c9fd7 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8274d7d7 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x829f2c7e media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x86455f00 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x87f66ab8 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8a51b015 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8a717655 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9b828d43 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa6eff717 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb61846d9 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb8a3d20b media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc7f17888 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc8908617 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcc7cbfa8 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcd279c01 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xea8b20ef media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf6e44ea9 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc4210dd media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0xb6a4fda9 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x15f2a16d mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x344eda57 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5741d41d mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5b803992 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7aa773db mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7b908ca9 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x839d64c4 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x87e15540 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8d9a2b93 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9040a61f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa65d2e7a mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xaa1c6341 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbe14a693 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc83f03be mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xced680e3 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcfa458ff mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd578811e mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xdceaa068 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xdde77353 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x03af84a4 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2afe9032 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2f1076f6 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x30661c65 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x43248fb9 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x48c6e57b saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4bb9d572 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x61a6c3a3 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7b15b7d1 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x92296149 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x99ce0285 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa2cc5be0 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa345bf5a saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xaddae631 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc4260ffb saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf5d59306 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf91e77d0 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfb075b90 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfd29a48c saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x082e14a7 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0c8998ac ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x20cbd828 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x30433d8d ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9544e351 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xea65b491 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xedc7a93b ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x436bbc81 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x4d0f486c mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x64278436 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xcdcfd520 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xfbd81706 mccic_register +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x59fb9f3d radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xb720b310 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x1c8a062c si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x3504769e si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xce706e05 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe92f0386 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xeca409a8 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x038ea298 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x066f1665 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x087ba771 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ac62c77 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3b380653 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6ef56ce1 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7bc8ac67 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7dbdc0f8 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7ed60d59 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa1b99b64 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbcaf5d30 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbcc4f7bf rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc0477d06 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc246e8b2 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcb965bd6 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd7e1ad62 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe547bb1b ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe70eebbe rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeca6dae2 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeedbbf23 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xffdcc368 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x30ff493d mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xc4713e9c microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x27ebe064 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x7ac8aa2f r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0xb38acfa8 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x4bb79992 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x1143b2b3 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xd9a659ef tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x8aba4f9d tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x189558a7 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x2f5ced78 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x3c6d0feb tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xe3c447f6 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xd7570dfa simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x01a05f4c cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0f9d6773 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2044ad0f is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x29777e84 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3cdfa20c cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x59ad407b cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x606b3af9 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x61d60305 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x646479c0 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x74967eef cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x877daa73 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8923dd06 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8ef62df0 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa19689a5 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa2fc7be2 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xbd55b2cf cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc22725ea cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcf204514 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd5c8acce cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe7d06d74 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x11d22327 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xf2bb4c85 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x119cd63f em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x18a388de em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x365de1c4 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4a405a3a em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4dbdacb9 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6762cda6 em28xx_init_camera +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 0x7fce18b3 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8e9ac862 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x97264d5d em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x988b8b41 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb311c328 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbaac6716 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcca9b701 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xccdcbc0c em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcd0e54df em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd8e53a4d em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xee400547 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfa599052 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x5f096d9a tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7501318b tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xae0816be tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xbe952255 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x861e6d69 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x9ef2b743 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xb0aba059 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1d800bfb v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x48bdb915 v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x621a461f v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x78bfa168 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7a6888ce v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x88b73417 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa84674df v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xab26f9b3 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc798c64e v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xca1eed96 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xdbbd946a v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xff981c5e v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x03d71a41 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x07091b88 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x082f30f4 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x09a0110d v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x103c065c v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x12bbcb2d v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x144affea v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x191b6297 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1d9c53c5 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x239a5608 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x28712da7 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3250781a v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3aab9607 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3c1a8bef v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3f044929 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x45c7e0bd v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4dcd248c v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x54f1778d v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x54f826d9 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x638a321e v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6da33ad4 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6f91baaa 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 0x73fd6951 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x796a1f60 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7d891e66 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7dc41729 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8abba645 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x920b54a8 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9e673159 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa0135363 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa348a579 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xadc85133 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaef1f776 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb652c1c1 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb96fbad9 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb9b8d45a v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd02bd65a v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdc337ce6 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdceb0ee8 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe3a4113d v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf1759a5f v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf906a4e8 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfeaf7aa2 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xff3d3425 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1c9dcea7 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1d1e12ef videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x278c027f videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3416e240 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3cbf268b __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x453e47cb videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x46e4c26a videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4aa797ef videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4e7cf08b videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x65549173 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x71dd6c22 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7654c970 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x77f05fe7 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x87fbb9a5 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x882bcedd videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x88c41333 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa08a682a videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xabafbce3 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb4d02566 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc1d821bf videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc4457812 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc9d44d96 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe2d7e409 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf7b2ef86 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x2bb97396 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x9e99db22 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xc6387cdb videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xdf0c1f47 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x7152916b videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x79a863d7 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xd131d742 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x04282f9c v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x097b03f5 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a797910 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x12fb636f v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1c314c51 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x230b9fdd v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a53ca39 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2c3917ae v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2d3cd205 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x30569ce2 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x32431a1e __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3340bf14 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x34748ff5 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x355b3d41 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x39f73027 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3a57874d v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3db8061f v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x43996a8c __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x493dcffa v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4cd3bb30 v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x56664b57 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61b38246 v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6228aa8a v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x65d357ad v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66d80e1a v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x70336daa v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x706d595b v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74fc5cfe v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7a726919 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x80408ea6 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x80d15232 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x80d36bd0 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x81917b46 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x82cc7efa v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x83914315 v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x843ab1fc v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x85722985 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8975b52f v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8f55e067 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9bba0bb4 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9c8d2453 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9cea8d36 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa161976e v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa3baed34 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xab1a17ff v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb47a9012 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb795f071 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbf9ce8ae v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc2d4617e v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc5835b9f v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8aa2df5 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc9326353 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc662b2f v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd16ac207 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd2c6584e v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xda396264 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdac31f40 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xed49a5e3 v4l2_event_pending +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 0xf66fefd0 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfb4f3651 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfb676ddf v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfed0cefe v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x235f5764 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x281c1c2b pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xfce248d2 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x4356e14c da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x45e420cf da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x845f2a68 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x87370446 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x8c9791b0 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa8aa94ac da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xbe2b6318 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x33481283 intel_lpss_prepare +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x39b3b308 intel_lpss_probe +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x96443b48 intel_lpss_remove +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0xd40baf26 intel_lpss_resume +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0xea39b01e intel_lpss_suspend +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x3d7254cf intel_pmc_gcr_update +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x8957bede intel_pmc_s0ix_counter_read +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0xe4e213de intel_pmc_gcr_read64 +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x00d3febb kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x3ea77d8b kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xa6e87c7e kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xbb994247 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xde43ae68 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xe0a2ccf0 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xeebd23d7 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf052eb17 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6fde91ac lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7e79a2c9 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7f67375c lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2d0158a9 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2d556c2d lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x755b878e lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xa896560d lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb9d96fcc lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xbdda6965 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd0f286aa lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x1c61d399 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xd5d4c978 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xe077be5f lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f4566f4 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f48bab4 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17901144 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x179dcd04 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x25e28a3c cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x25ef567c cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x36d1d126 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38c47d09 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38c9a149 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38d23aaa cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3b2d2372 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4c707bf8 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4c7da7b8 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54a50c48 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54a8d008 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x66d79730 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x66da4b70 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7bf16005 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7bfcbc45 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x80241e8f cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x85ddac4b madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xac143dfc cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xac19e1bc cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc9dfca0d cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdcf901bb madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xef2120f0 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xef2cfcb0 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf14c652f madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0fe6c5c8 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x1045e039 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x4f5c8ee8 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x5d537b80 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x9de500d0 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xcacc4bf8 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x16f04085 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1f8b5552 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3c97aa2a pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4bf1c9da pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5bf8515d pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5e9e739d pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6bccab7d pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8bcdf910 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x95b27628 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb26104b8 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd3fdb2ef pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x3bdc6b0e pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xdff5ec49 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x020e691b pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x22241974 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x76724c54 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa8f83f95 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf965d9af pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x679c9d41 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 0x049be453 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x094acf65 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x119a7b7c si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x155aed15 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1a30046a si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1ba78625 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1d0f021b si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x23e2b923 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x348ef6e3 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3db1d4f8 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x41a94df8 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5a48f50b si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x68586b62 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x71da755d si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7a93dac1 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8231ccbd si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x85dc1f38 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8b6e5294 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x90878e1d si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x91c4db43 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x92db8303 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x986bd42a si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xab3942d7 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaff4ff4c si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb2ed3588 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb8c89eef si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbb3689a8 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc7ab4ca9 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xddaed251 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe2b465b3 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe30bb1a3 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xec995ac0 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf508eff1 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xff96845d si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1a51a320 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1c145f29 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x28f7d723 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x60c8e76f sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb7d54402 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x0bab66b0 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x8a009412 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xa8af6e4e am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xbdaea80b am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x426c39a3 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x01171fd7 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0d75d0f0 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1eda45d8 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x5bd9917b alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xba43644a alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xcfd7fba8 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xdaceea7c alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x09df1c7a rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x18c27a77 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1e3885c2 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1fc96d88 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x24e12862 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x346274c1 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3d545d58 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x45055d69 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5d588bdd rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7ef1fa5b rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x86ccbe94 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8f002bd8 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9a3dda3c rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb2dd3336 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc4ed2e8d rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc9321cef rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcb9f8a78 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcec28504 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd74f488c rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xde45110c rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe4c4c565 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe89b814b rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xed925b55 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf564d03b rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1e1a575e rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x35b68e00 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x54500a73 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x5be8ce3a rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7bdfe342 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x888033a7 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9fd71ea6 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xaa129be2 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xb4e72c7e rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd9a961ff rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xe54ae419 rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xe9717461 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf3605786 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x33ee8712 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xacb949a9 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xb998fe3a cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf052c720 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 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 0x2b9297b3 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x335f41ca enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x41414352 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7732c51f enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8d3cdcb3 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8f40351b enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc7e526a0 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe1dcd18c enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0e40290c lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x21632380 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x2378d64b lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x290df03e lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x33d0d964 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x49bb6b9f lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc95de97c lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xff16cf43 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x0c94919f mei_start +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x26ab76c6 __mei_cldev_driver_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x368cd412 mei_irq_write_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x38b7bafd mei_cldev_register_notif_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3baad86c mei_write_is_idle +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3de8b5dd mei_cldev_send +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x4b5ec3f2 mei_stop +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x4dfc2529 mei_cldev_ver +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x642d458f mei_cldev_enabled +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x68aac3d0 mei_irq_read_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6a51ff87 mei_hbm_pg_resume +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6b77d14c mei_cldev_enable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6e76254f mei_cldev_recv +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x78b958f2 mei_cldev_register_rx_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x7ab0377b mei_irq_compl_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x90a24af4 mei_fw_status2str +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x933161fd mei_hbm_pg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x9e2dd174 mei_cldev_set_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa59687d3 mei_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa67cb2ea mei_reset +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa7191e0f mei_restart +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa9d9cd6e mei_deregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa9e4dede mei_device_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc429e553 mei_cldev_uuid +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc4fcf4d2 mei_cancel_work +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd32b18e0 mei_cldev_recv_nonblock +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd3aaa655 mei_cldev_driver_unregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd7c0e5e4 mei_cldev_disable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xe6934dbd mei_cldev_get_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x067a96bf cosm_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0x9de3b3c1 cosm_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0xadaa8f61 cosm_find_cdev_by_id +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0xd56991d6 cosm_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/cosm_bus 0xe8603e34 cosm_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x05513798 mbus_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x3d18975f mbus_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0x97ae75a1 mbus_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/mic_bus 0xcf2cd5f0 mbus_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0x1a3533d0 scif_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0x292c6980 scif_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0x88a39673 scif_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/scif_bus 0xafa99342 scif_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0x27ccb5d5 vop_register_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0x3d698daa vop_unregister_device +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0x8f1e628c vop_unregister_driver +EXPORT_SYMBOL_GPL drivers/misc/mic/bus/vop_bus 0xed123b87 vop_register_device +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x027e0517 scif_unpin_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x13229c6e scif_register +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x19730781 scif_vreadfrom +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x2f7efc18 scif_pin_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x37d59301 scif_get_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x3f59abc4 scif_vwriteto +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x3f9d5615 scif_put_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x43ac7ad5 scif_open +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x4f709ba9 scif_client_unregister +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x5519c275 scif_fence_mark +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x57046553 scif_unregister +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x63811d23 scif_bind +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x68a4cd53 scif_poll +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x8f2fed3f scif_get_node_ids +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0x9b02f7d6 scif_client_register +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xa729eb86 scif_fence_wait +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xa8af4a54 scif_send +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xba2de618 scif_writeto +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xc06b0697 scif_close +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xc5669ce6 scif_readfrom +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xd4d1cedb scif_register_pinned_pages +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xd6ed0692 scif_listen +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xda29370a scif_fence_signal +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xe82cf5a9 scif_recv +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xf9c5dd98 scif_connect +EXPORT_SYMBOL_GPL drivers/misc/mic/scif/scif 0xfb75a4ab scif_accept +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 0x7d5ba9a9 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 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x6d29e34e uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x7b01e16f uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x7ecaaced uacce_alloc +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 0x513f6c56 vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x58e273e1 vmci_qpair_enquev +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 0x6de2570f vmci_qpair_dequev +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 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 0x01f11b90 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0bb31cf8 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0c1af3f0 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x11dc683a sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1a2fff2b sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1bac3272 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1bfc2141 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1f292ce3 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2b09702b sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2f719192 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2fc23f9f sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x30aa1398 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x43f19437 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4498eed7 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x58f9836f sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5c06c406 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x641ead6f sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x65325229 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x680ae6c3 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x798b78ff sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x81df4f2b sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x89afaafe sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8cb5ea3c sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9f4b8321 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa43de96d sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xadf7d71f sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb0b2b95a sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb1379cf1 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb5164352 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb70ced6a __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb9888d8c sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbbdc6960 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbc2e2a39 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc22afea4 sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd8257c19 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe5c41aee sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe67cf1d6 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf0818e84 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf74f991e sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfbf78f32 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xff4720fa sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x046e0e97 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x25e0a799 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x26920045 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x48ab2442 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6f22efae sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x86e459bc sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9ca94f6c sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa8c87c47 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf3fac5cd sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0e493b4d channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x12e93d43 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x597cc000 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5eb5d3e0 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x62a21325 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x64100a42 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa7703df6 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa89265dd most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc35b6b5d most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc4a0c60a most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc74be7ee most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xda747bfc most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xeaeea5ec most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xfebb4da7 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1f446cd5 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x206d493d cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xdd736cab cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x3ff9dbc9 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x41ab9019 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xcc00144f cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xae3ebd4e cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x24fc3d48 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x6c85aca3 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x749d5bca cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x5a0294bf hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xe3698d83 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x02b65bd0 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x05b2a411 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x05be9b5d mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x065fc178 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x078dac03 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0cbdde90 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0d827718 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0d839abf mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0e83bb76 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x16e7186b get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x22119294 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x234f51de mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x258ccce1 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2fb521c7 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3072afe0 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3790f69b mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3bd1275a mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x462345f5 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4832948c mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x49fbdff4 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4a5aab5a put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4c262fb3 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4ea499c4 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x500f290b kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x51263e0f mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x533a37be __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x589cbe9f mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d73a746 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x69de66f0 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6a9fcd91 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b02244e mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6e941af3 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x73e1f83d mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x76e2f8f7 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x776cb905 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x80459a61 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8c4f9a98 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x90b5c9ec mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa4bcde64 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa6ea0d6f mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xac58603e deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb426d845 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb536a40f unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb66348d5 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb8718d84 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc48d9990 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xce3d48e2 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd2e76d60 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdf457f57 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdfea0b57 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe62c1ea0 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe76e42ce mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc015a33 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x57e95724 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8e7ebf28 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb08bfe19 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xf6b08ccc register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xf7a6428f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x172f2b7a nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2c01a0f0 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x34ac6a64 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x411ef18f nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x4f3d5b86 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x620cb26a nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x863f7fcd nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xae646bb6 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb4091355 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xbd98d1be nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc6b60ce5 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xea5ddbe5 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xee861ef0 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x1fdcc5cc onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x7a20ffc4 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x13bbcac9 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x082d580a nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x111c23c4 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x16f5a368 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x22801880 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x305cd57c nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x31d1e88a nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x36a2ef11 nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3d5d2e75 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3ef8df79 nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x430e1dc8 nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x46e44d84 nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5afa595b nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6ac19119 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6baa330b nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x703fbf0b nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x71835856 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x76720f7c nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x775bba23 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7b0edc51 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa0480120 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa354cd4a nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xaf6e335e nand_ooblayout_sp_ops +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 0xdce7a936 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe925431b nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf1a86f70 nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x27bea66e sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x35b6cad9 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xf67aed27 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0c53fd5f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x23b41d21 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x25da6165 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x30ec5cc3 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 0x4ae21df3 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5036e971 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x781404ba ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7b797d7d ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x82eb7fed ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xafbb6594 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbd3daa95 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc9bc62df ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf7bea94b ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfc07e2c3 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x17c8e221 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2f6ce505 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x31cffaff mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x52980a1c mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x57efe092 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x764d96c4 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7bccd047 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa566d059 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb2a676c3 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb3935451 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xcfaf1b91 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xef43135d mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xefe5761b mux_control_get +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x4a1dcaa4 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xdd3529c8 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/bareudp 0x3e6fba42 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x3817a4f6 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x60f337aa c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb5932cdd c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe0343e14 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe30b7e22 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe514f68f unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x06dba01f free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xa4db26df unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xcb46ae69 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xd2ab99e6 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1de7b095 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x26e8ec5b can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2b5936d8 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3a9a6fcf can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x48b31b4c alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5de9cea0 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x633aad7f register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x791f4462 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8621ca5c unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x96f1ec81 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9c4e889e alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9c6d6ca8 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbb3a8e46 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbf21c7a1 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc2a86f5c can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc538eb1d can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcac2362d can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xce7cc8c3 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcef98d2e open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd416d5c1 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd5667b59 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe5d88826 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xee021555 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf58b689d alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfd020b05 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1b59ff48 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x3502fc97 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x50ca5200 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6d861ea2 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7d660326 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xef36507c m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf47309f0 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfd0c11bc m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x50b7d6b8 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9f9685e3 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb0f95deb alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xce6ae852 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x8099abd0 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0a6419eb ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0dcf0a34 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1030af88 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x30107f37 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4f4f7c44 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x57deeb5d ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5fe1d657 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x64b6810f ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7656564e ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x93a9b219 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa267e2d3 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd13f680f ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd4f3c884 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd9cbc184 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdd60f1c5 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe631d211 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfab1c503 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0af8469e rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x15252959 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x19ba0f00 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x32dc121c rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x375b5a0a rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x3df11d53 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x49706951 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x4c223252 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x549bf89d rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x5507205c rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x5629738f rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x64710491 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6ed5e8c5 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x98a9ec91 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa6bd072e rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe857a33f realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x018c97fc mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01f68c35 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x033be4a2 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09bda6e2 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09c41a6b mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e1374a1 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12259250 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x150b3f8f mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19e22f90 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1cfc7cd3 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1dfec55b mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ee95fcb mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2067d72e mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21617d53 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x248065b9 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2480a305 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b1331bb mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e256d5a mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fe0715f mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x306efbca mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x314fc2f9 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3195d8a2 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32c811e3 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x344fbf5a mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35d011eb mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3783c99d mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3af55d45 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ca21750 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ce13b27 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d5d74af mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e0fc992 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41bf9b71 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41c7023e mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41f56c0f __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44373ecf mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46dca6fe mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47f4cffa mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b2888c3 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4dcfea71 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f687228 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x500d15de mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50b6c96b mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58b3e770 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58ce6f8e mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59153776 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59db2790 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b0063e4 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b672e79 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c948d3c mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf49a98 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf5b43f mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63176dc2 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6517ffba mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x659d3bd5 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x68709e6c mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x707a142b mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7204bdaf mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72977062 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x74efa553 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7648dcdc mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x771d8959 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77bbbb44 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78a43a8d mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e955cb4 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f4c6c16 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fee369d mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82fe7f04 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x879bf752 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87b5be8b __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a39dff5 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c379db1 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9031d912 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91cd2c10 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96f3dcdf mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9838df29 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98d56e16 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ae1bf23 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9afea513 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9dd82535 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9edfbe7b mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa3e1ea5e mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa5d6535a mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa60929ae mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa90269cb mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa93582ef mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xac0b0f74 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf4f58f8 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0dadf3a mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb61fe4f6 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7892ebb mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc29ac42 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbde70ba5 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbfb2a12f mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc13b21c0 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5dc8b0b mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc75fb5aa mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb26b7eb mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd8cb0fd mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf35f2a1 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf9cf45e mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfb1d649 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfe6856e mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6d9ebb1 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd94a51b1 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdbe4b2f7 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcb028af mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdef368ac mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe7102271 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe82416a4 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef79c237 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf27132f5 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf31f5280 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3cdf0bf mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4a1225b mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6b92710 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9299df3 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9b1b82a mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9ce2763 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfbac4e44 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe2b9849 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe9df08a mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01a57488 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02e48bf2 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x036ba653 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x049e67db mlx5_accel_esp_destroy_xfrm +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 0x0b8d6971 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0daed727 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ff858d7 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x137c3984 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c2e135b mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ddf9c8e mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x214991d8 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x21d53edc mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25533a15 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x263b01be mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2944f69f mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c588371 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c8ae439 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d1b1030 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2fe48247 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37795fe7 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b9e26e1 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43523718 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4556ade3 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45d5b926 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4a62b9a2 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cda55d4 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cf0a5e9 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d7f63e6 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x515efc4a mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ae8fc3a mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6634ab mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x603bd937 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68b592a8 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c350ede mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7615a934 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x767a9ff2 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7785b9d1 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83cc65d2 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872df0de mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89477b32 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89afc837 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b56a5da mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b7d7672 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d957dff mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x957f75c7 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c059f64 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d202daa mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f260c02 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab3623c6 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xadf42589 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb082568b mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb42ed25f mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbef4bdcf mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc096cd25 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5ab2395 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc1cfaa8 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf1b3c67 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1d4f0e3 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6fe35df mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd88b02c5 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda562f58 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbdfe826 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0364d39 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1d056ac mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe611aa46 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9c2e193 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9b09f1 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf37bc70d mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5f0ef89 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe2051b5 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff5aaf84 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x9ce30f87 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_common 0x9cb9f4c3 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc346c963 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd34f3d8f ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x562a2ba6 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 0xc76cb55d stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xe5c90117 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xf3c235b5 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x04c1b864 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x1c62ef8a stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x1d993f34 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x6e8e472c stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x9a82870b stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x187f7ad9 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x26a978f8 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x3428fb3a w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x867e9680 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/geneve 0x0d0a7af6 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x1f28b523 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7279a17f ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x8de45648 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x996debbe ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xbd733a5e ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/macsec 0xb9d82971 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x3300976c macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x3a96edc8 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x8e949af2 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa55339c5 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x413e3460 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xc8bf71f6 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x09d25b4c bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1450846d bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x15196295 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x19706d14 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1caa36b2 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x221fb64e __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2e18589c bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31573f32 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31759754 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3e6559f8 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4ab2bd86 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4cca1ee2 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x54cb89e0 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x58cc6732 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x72cf8d22 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x73f60ee6 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x82a6f0a0 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8845f14a bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8be2e8c7 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9108b340 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9230c728 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xad4850ea bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb39fd863 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb9ae87c8 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xba7bda3e bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xca37b20c bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd0e70856 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd6c0616d __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd7898795 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe9a834bc bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xeded5e8a bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xefea499a bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf0b88931 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x3d2fa190 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xb2df8dd1 mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x1a761a7f phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x3afb365b phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x52dbb5f2 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 0x5fb6b35f phylink_helper_basex_speed +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 0x7d6d8571 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7e396b15 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x89533906 phylink_mii_c22_pcs_set_advertisement +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 0xa4831f8e phylink_add_pcs +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0xea789274 phylink_connect_phy +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 0x0cef275b tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x52a88c87 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x57358060 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x7c660cd1 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x9517a751 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xb725f0fe tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0xc5db877c tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xdad44973 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xddc6ee8a tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x0bfb81ae usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x742e67a1 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8f9ca82d usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x9bea342f usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xec5ae883 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x6763b262 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7c2abe8d cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8e142b6b cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x926daeee cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9cf41d75 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xa09d9b15 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xa57a4c8e cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc1a2288e cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xce2a46b8 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd7cd8a05 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe0da7ca8 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x03f6eeba rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x12707bd5 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x12abb70a generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1db1678d rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x8b995446 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa6743913 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0b81077f usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x18577916 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19c71d8e usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x25f61bf1 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x28ca372e usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2afcff80 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3f422104 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x403b76f4 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x47a8e0e7 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55e08998 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5f7be603 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x78fa6ad7 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7b57fe52 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x844187a5 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x877bec95 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x884919f4 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8a255015 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x93ee5695 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x982d6962 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x985fa64b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa6871c1f usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaff2343b usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb390e5e6 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb52da41c usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc884b143 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc8a6587e usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd6dc11ee usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdd18f21a usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdff56fb7 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe362ee48 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe605ba22 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf15b4b40 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf40eee11 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x618a2320 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xa43657d8 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xd1347854 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xf860631a vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0b441ff7 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x15a62f69 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1c7aef36 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x21cd7801 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x312e2a11 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5a1dbf62 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x71c68347 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x73e65992 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7bac936e i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa2aa9db9 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xabea5f3f i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb7fc9902 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xba7acfdb i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcebea090 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd16f8a60 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdb23c933 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x75d007fc libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19469157 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7278507d _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa5ca7749 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaca7f097 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2b4113d il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x01fd8264 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0558af9d iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0ab4dd72 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0ba1cb21 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1332e4de iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1bf972bc iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2161d76b iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x22453c63 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x23960f3e __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x23f7cf64 iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x285c3a56 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x326942b6 iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x374ddc03 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3861e378 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3994cb14 iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3b256e75 iwl_acpi_get_object +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3e72916c iwl_sar_select_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3ea5c2b5 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x40e6ca96 iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x430e6029 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x45f3e8e1 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4741b1b2 iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4951e69c __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4f4d9459 iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5988395c iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5a0299a8 iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5a071cb2 iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5b213baf iwl_sar_get_wgds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6055b4bb iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x636e4972 iwl_acpi_get_wifi_pkg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x65ebf136 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6a9333d9 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x70171265 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x75948fb8 iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7af78108 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7e31c257 iwl_sar_geo_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x81eb9e94 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8583604e iwl_sar_get_ewrd_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x85c5486d iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8c39d4db iwl_sar_geo_support +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x92d3b957 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x94dfb500 iwl_acpi_get_tas +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x99537423 iwl_acpi_get_mcc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9aeb1844 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9b529a78 iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa11d2477 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa8b74790 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa938a52c iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xaea6682e __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb0c4231f iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb197d6b6 iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb3a6e5c2 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb4c0568c iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbc729cd7 iwl_acpi_get_dsm_u8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc099b84f iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc35218c8 iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3ca077e __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3cc26b1 iwl_sar_set_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3eeb223 iwl_sar_get_wrds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc5374a29 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcc9ac87a iwl_validate_sar_geo_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcda990ea iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcf8fadd5 iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd612ab60 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdfe61bf7 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe09e75a8 iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe0eb5838 iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe7582c1b iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe75b7e77 iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xee429cb0 iwl_acpi_get_pwr_limit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf0006995 iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf38391e8 iwl_acpi_get_eckv +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf88964e4 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfe66f317 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0a64a794 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x2112f331 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x43bdb7b3 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x66d88b90 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x66e2194d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9d212660 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xbd6c74eb p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc5f19d8c p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xdb0583b7 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0a0a57c5 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x11502fbd __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x15ccec05 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x24f480a6 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3dea4163 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5b1deaec lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x6c4e5691 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x872284a2 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa064e9b5 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb9db8b84 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc1d5942f lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc1e961c6 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd912c218 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd93546a4 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xeb779985 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf9de1be1 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x10f958af lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x1edb0a23 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x30ee02ec lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x445fdb41 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x646995b7 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x75d9a08e lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x88a319be lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc5c32100 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/mwifiex/mwifiex 0x1fa529f6 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x23ec6b43 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x300070cc mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x32de6879 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x336dd6e9 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x37423546 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5ab34f97 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x645c98a0 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x69d8e951 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6ac21e89 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7b4a8dc8 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7c55e0e3 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x85306901 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x888b4f1a mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa453909c mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xad8351c6 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaf79617f mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb37aacd5 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbcb71eef mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbe6c5add mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd01930bb mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xda18a61b mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdb34b8d6 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe8178023 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x03778b59 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0475556a mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x04aa9b2e mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0814bf51 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x10f2db36 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12589517 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x129bedf5 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13ea0256 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x14b98c65 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x19652878 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e7ec796 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x207404a6 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2c6c1641 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x30fe0564 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x412c6aa3 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x429abf0b __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x46ab907d mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x52f26686 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x53eb5fb4 mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x54ba9bf8 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5838df89 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5c58d359 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6579c9cd mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x67695d9e mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68467fc2 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68d8584c mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7297b96a mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x74b812d3 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x786f486f mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x79114d8d mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8657c3a0 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x868b2be8 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x954145d3 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9d459fa4 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xacbc41d7 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf39ee17 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb3e943e2 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb4a403d1 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb64398b5 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xba0685a5 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xba83d8f6 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbc8b6e4d mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbf79dbf6 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc37a7e31 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc56321f4 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5fc58a3 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6192f85 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcc40ad32 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd3335cd6 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd6f2ac98 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbaf1db5 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdc021ea6 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdc51b4ad mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdf49a24d mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe62ee915 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xebc336bb mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeebb4d20 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefa7d34c mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf08d05d8 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf167088b mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf704cb2c mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfddaad90 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x15b4112e mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x1cc9ce05 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x50b648aa mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6b67547c mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6c96932f mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x824f74c7 mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x87195373 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8c3e52f3 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x949465fc mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9f8d9d45 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf067c41d mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0d6054ff mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x14ae5d96 mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x158ac941 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1f7db10e mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x237b0887 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x29cc8ee7 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2c3d5288 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x304afe5c mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3050682e mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x31696258 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3469700b mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3843d292 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3c0dba00 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x46721954 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x54004289 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x58bdd79c mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6eca472b mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x733a3cc6 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7e0faa03 mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8089cdde mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8ec4f207 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x936af08f mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9c0c92c1 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa83ea56b mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xadffc784 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb32ee99a mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb5c15218 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb9bc3d26 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xba178774 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbd9803f9 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc22538f5 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc633db1d mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd399df0f mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe562b4b4 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf6697b61 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf8910d9a mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfe3577a3 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2e72f643 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x3ea24c00 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x450d4495 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x798a5e2e mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbc6f53fd mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xfa8d281f mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x01339b40 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x01a594ce mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x02f37700 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0432079d mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x04608da6 mt76x02_phy_set_band +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 0x076adbd4 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0cda2cd9 mt76x02_phy_set_txpower +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 0x0d6814d6 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0e4290ad mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0f2a7c8f mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x111bcbf7 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1616c77e mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1871a1f3 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1eb945e1 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x22383251 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x25c3611c mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x26078815 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x29ca6ee7 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x311e32b6 mt76x02_get_efuse_data +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 0x3af3d70b mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x40737e6c mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x43362c7f mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x43b1ddae mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x45378d5a mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x480f1e48 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x594ef772 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x633a2bb6 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x67fdd835 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x68485702 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x68f5329d mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x69a0dbdd mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6d994726 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x73607ae6 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x747d0b77 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x772386f2 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x776f6c9b mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7a0d5a78 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7ca72f19 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8dba7ad2 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x912c6feb mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9850ab30 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9be1a500 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9d40c2aa mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa1776830 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa4049b99 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbb56035d mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc226f578 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc2abf2a9 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc2ce0e4b mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc420babc mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc4349bb4 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc6ab705e mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc77ea917 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc8a818d6 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd2dc29d mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd7f1d7e5 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdeebf709 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe36568b4 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe3f26513 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xea2457c8 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xea566b5a mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf3395f33 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf5683cfd mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf64f3187 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf7c7baf6 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfc5ce1f4 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2d119cba mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x3fd9b2a3 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5b376a09 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5d9b22f9 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x85f6b3f8 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x900a06d5 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x9f35fe49 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x9fdf88a6 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1c41a167 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x21fef791 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x438b9ede mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4729e8c7 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4e684dbe mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x54e27468 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x551fbe77 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5a2ef512 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5aaac85b mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5e197dfe mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x99cf1fea mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa368ad2e mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa7919a0b mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa9b3da36 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc6ff34f1 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xce7d579f mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf0961844 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf297dc54 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfe49c7ad mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x32b16eb5 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3e18f3d0 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5f7c9abc qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x624b520a qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x66e4a7d4 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x90b69951 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x9a6e9fc8 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xadbf935c qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x05795072 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0ce79c97 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x10c0a884 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x156ded71 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1ea7d619 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1f240352 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x272a17a5 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2f5babdb rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x330fbafb rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3afcb3a5 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3c23cb97 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x59b77696 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5c97a2e4 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x602b0cb5 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x638e2f5c rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x644675c6 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x646ac866 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6ceda165 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7151ba61 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7f87a8ef rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x80b6e0aa rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x866d7651 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8c204545 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x96109b75 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x982cbd9a rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9d471e16 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa340e14f rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb0c06aab rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb4a472f4 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb4d9dd1f rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb4def316 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb6ebf268 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb93c4de9 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc788a569 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcbd22e4e rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcbeeae03 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd32cbc36 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd4d8efca rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd799bb8b rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdabe77a1 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe4de1cfa rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xeba86788 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfb213090 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfe8203b2 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3551b115 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4200712c rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x60582746 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x745606a3 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x82963d5c rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x91beaefb rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9b14e93a rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f55a12d rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa84fcd92 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb022a15e rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xbd22ca2b rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xcdeebbe1 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd79ab7df rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xee411db3 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xefdfce37 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf86e3a28 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x033b84af rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x037092f5 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x05be0140 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0716c44a rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1bee1d8f rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x237a35b5 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x244508eb rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2ea34826 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x315f8af4 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3b0625df rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x46b7badc rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4e549751 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4e8cb157 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x51811201 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x52c96a06 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x52d5519a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x52efe7c7 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5abd64b3 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x666f7161 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6cb842e7 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6dbc21f6 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6dc7387e rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7223c87a rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x738cda85 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x79e5e921 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fbcee84 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x91aa977d rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9922955c rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9c138873 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa17fcbd7 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa5b29262 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaa6f41ce rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb0514b8c rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb0c2d0f5 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb112ba20 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb1680aea rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbe649e3b rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc34d7ea3 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc57b4424 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd3c9aaa8 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdf1e719a rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe8ba47a9 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xedfa878a rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xeec58917 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf4e05779 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf5f9e2b8 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xff267121 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x0d656071 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x5cfbc344 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x5eba9f17 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x628f2d40 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xdf9fa5ad rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x0af03bed rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5abf3569 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x90aada0f rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xd9e32d6f rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x02eddf79 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0761521e rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x08549bc4 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x129abb23 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x2ab65f1b rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x31e5cbdf rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3202f0d3 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x32f48548 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x36159f0b rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3f64d0e0 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x84274962 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9736371e rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa0ee903a rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb5adf3bc rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbfbc52eb rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc0dad6cc rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4869d47a dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xba840cc6 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbef9d2f1 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc368df7b rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0665a1be rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0a4578dd rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x14a97c13 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1e20d9ed rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x20f029a8 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x224c7461 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2d5a8547 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x325fc296 rtl8723_phy_rf_serial_read +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 0x40d6dfdf rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x41989c89 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5fa19232 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6271db6e rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6852ae6e rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x71f8ba90 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x74050738 rtl8723_fw_free_to_go +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 0x95028e93 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x98cbe277 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa3f359ac rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb38876ab rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xba06a4af rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbc050ab6 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc9481c5d rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xecb9db73 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xee639265 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xeed8e0d8 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x03748d3f rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x09979611 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1341a89f rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x290675c2 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 0x35dc55e8 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 0x4f3b136f rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7564a450 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x76a3ced0 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x77443068 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7ecd4ecf rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x87aecb05 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb2176327 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb401cd1d rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xba48c692 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbbf2e692 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc78c3d4a rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc8814367 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd1fe0521 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd2ecd21f rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd776471b rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdb368b2a rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe34411bd rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe8cfa2a7 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeceb3331 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf0b0e501 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x601faf05 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x81944137 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xbbdd340e rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xd88d576a rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xe2601177 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x062b8d64 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x4e79d06c cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x59606d69 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xd8ae30a6 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x565ed90d wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb9d3dfad wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xdc2adc5d 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 0x0b1b0a7c wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x107adee1 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x10e77e2a wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1621251a wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1e4c744d wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2425679b wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x282fb223 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c401ab2 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2e2a6aed wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x30e4c8ea wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x31b418d6 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x349ce493 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4249a65f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x453f9ddb wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x493f0cc5 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4a83aa98 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4fc2b836 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x54ddfea4 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6c9f028d wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x797e3d8a wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8eaf7835 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x980a07e3 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa8074ea0 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xac13a079 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xac895163 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb236b59f wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb25e6692 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb461deeb wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb4891603 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5aa69ef wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb98f1610 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc05fb4c3 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc932885e wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd16e15a2 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd449983d wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdb102987 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdea5a85f wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe3ca8642 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe4b81786 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xeb43b6cf wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf258a673 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf50a4710 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xff627796 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x30dcd015 nfc_mei_phy_free +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0xc7691549 nfc_mei_phy_alloc +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0xd81b317e mei_phy_ops +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x5a80af73 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x75e677b8 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x8faa4e68 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x9551fac9 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x42d08c61 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x67da15a4 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7427de7f pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x8a6dd500 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa35f8586 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa41e41bc pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xe87e8974 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x33627d84 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x5f7e648b st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x697d05e7 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x88f58758 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xa6fa7961 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xd71023f5 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xdb417c93 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe6a2826b st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x178adcd9 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x44e594b8 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x5206d402 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x00cb5d50 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 0x520545f7 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 0xe177fc7b 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 0x3a645efb virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x7809f683 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0139f582 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0c16f6ea nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0cdbf39e nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19780888 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1b3965a0 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1b5da00a nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1b675900 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x22f244a0 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x26eb4e23 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2a76986d __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3ee4d742 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x40eb0156 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x454cf538 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4bb2a9e2 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x52b8d1de nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x538e4014 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54085d0d __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x637015bb nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x692608ac nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x69511b7e nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6957b038 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6bbef757 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6e6086e7 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x72b8fb4a nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x759f0f03 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9aade491 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa7f1042a nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xad560836 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb7f8b528 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbee80d3e nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbf859c3e nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc30805ef nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcc662475 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd14c94bc nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd56af519 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe226ff8b nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe465b0ae nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf450b5bd nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfe76b70f nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x082c5776 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x247c15af nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2c5b972f nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x50c13103 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5663aab4 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6d957871 __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7c0d3965 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x830e8bdc nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x8b5858f8 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9c98a0f2 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd8405a2b nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf0981d1a 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 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 0xf9b5cf74 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x0e64a00f nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3bb05b96 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x42f997cd nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4caa8be6 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5bb587df nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7025530b nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7ebfd112 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8556188a nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x90d9a7d4 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9bfd593c nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xef46d198 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 0x506a468b 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/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 0x3e919039 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0x22da0d5c intel_pinctrl_suspend_noirq +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0xd2642956 intel_pinctrl_probe_by_uid +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0xf7d640ff intel_pinctrl_probe_by_hid +EXPORT_SYMBOL_GPL drivers/pinctrl/intel/pinctrl-intel 0xffe85fc0 intel_pinctrl_resume_noirq +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x9e379052 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xc110b72e mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xf16b13c1 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x2cf2aba0 cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x6c3c9316 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 0x579be2cb wilco_ec_set_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x6a550aa7 wilco_ec_get_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x83e12479 wilco_ec_mailbox +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xccf199bd wilco_ec_set_byte_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xff9130c6 wilco_ec_get_byte_property +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x39958a9f asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x4b3b9e3d asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x57c46ceb asus_wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-rbtn 0x51552fca dell_rbtn_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-rbtn 0xa060fe7d dell_rbtn_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x136ded28 dell_smbios_register_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x1b0b3141 dell_laptop_register_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x45170471 dell_smbios_call +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0x7fd2ce06 dell_smbios_find_token +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xb9400dbf dell_laptop_call_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xc2871e79 dell_smbios_error +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xd6c6b12d dell_laptop_unregister_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xe6f9794e dell_smbios_call_filter +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-smbios 0xf688b59e dell_smbios_unregister_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0x8eef8246 dell_wmi_get_hotfix +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0x9559234e dell_wmi_get_interface_version +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0xa167d064 dell_wmi_get_size +EXPORT_SYMBOL_GPL drivers/platform/x86/dell-wmi-descriptor 0xa3dcfa65 dell_wmi_get_descriptor_valid +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_punit_ipc 0x8ee9455e intel_punit_ipc_command +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 0x0ba9d076 isst_if_get_pci_dev +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_speed_select_if/isst_if_common 0x136af905 isst_if_cdev_register +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 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_core 0x112d0332 telemetry_get_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x17d36efd telemetry_set_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x1c7565c2 telemetry_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x35db93a6 telemetry_get_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x5847f501 telemetry_clear_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x5bb8e91a telemetry_raw_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x665cd407 telemetry_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x6b892524 telemetry_set_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x82bb2dbe telemetry_get_evtname +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0x90551504 telemetry_add_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xb75bd1e6 telemetry_raw_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xbb9a2726 telemetry_reset_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xd14ffffc telemetry_update_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xe1eb4be1 telemetry_set_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xe8847f53 telemetry_get_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_telemetry_core 0xf00771b0 telemetry_get_eventconfig +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 0x5df42e10 set_required_buffer_size +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x6068bedf wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x7388e6c5 wmidev_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 0xabc80c2c wmidev_block_query +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 0x2b5c7940 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x809caf63 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xa8dc8ef0 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x941db7f9 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xb5f995dd pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xf7565a57 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x0d99e2fa rapl_add_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x1e5c0253 rapl_add_platform_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x758dd4b0 rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x772fcb83 rapl_remove_platform_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xf8ceaf43 rapl_remove_package +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbf98f6bf mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd60a32da mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf8208726 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x24d198e1 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x33e0085b wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x780fb379 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x80908523 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x894e98c1 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaf942a62 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xdc563788 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xce32aeed 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 0x02a84de7 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0b5959e4 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x17f435b0 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1967d9ee cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x311fff49 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3595bd9c cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3aed57eb cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x40663e95 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4714cd80 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4a45ade1 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f80e498 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55b94c34 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5e263dc0 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x68cfe23a cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6c5b1d1b cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f26be9e cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7054a540 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x71f071b0 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7292d7e7 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x741def3d cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8368da95 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87de51ba cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8bdf9a11 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c6a7284 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x909b8a31 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x934a3161 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x93cb0a46 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x95222249 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x997ee9a8 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9b1f21f4 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa7398839 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaaceea67 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xacbe4234 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbf9135f2 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xca0986e9 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcbc17f9e cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcf241f9a cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdaecf4d0 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xebf25149 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xeee2c78c cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xefa4edd0 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf3c7b149 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf7de7b33 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf863f1f1 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x00a2bb7f fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x070ade35 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x14a976d6 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x26cf22d6 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x35ed1d77 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7caeeb32 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fc312bd fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8f8b6b18 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x90fb1763 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x979f14f3 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9a41b2a9 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9f8a59a5 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xae12c193 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb04d9a53 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc1723076 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe034c0da fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x05d11552 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0xf3079bec fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2a4d271f iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2e22d5c9 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x802e5a9f iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x99855bfa iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb5e8e0b5 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd5cb4487 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf89a02bd iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x106a4e80 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x145bd866 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x157a523d iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x15ac8418 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b3d28d8 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1db80bc6 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ec57b2c iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2786e49c iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283a1fda iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x29f92d58 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d4d4d9e iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e1d8d35 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x32287bfd iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x37c160bf iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d04d3d5 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f8c591b iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4378070c iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x458147e0 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5038085e __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x553afdf6 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b822d71 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x66ec4363 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7eb9427e iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f41770f iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8024b16c iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88bb1a70 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b94d549 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e47e811 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9a09ae3b iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9abb5c4b iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b6a5e52 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa38ccd50 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa5ff48f3 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa8501a60 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbc2ac897 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcdd7b1d4 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcfb6f321 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd5521288 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd65b69c7 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd90454e1 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe0b0f55c iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeff73b00 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0f769f29 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x10ac4c4e iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x30ddbf32 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x488edcf5 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5ae9cee8 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x66fe23d1 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x77d63f3c iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x80382e4f iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x867f631b iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9422476f iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x947c1716 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9a08a132 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9fa0dd13 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa06fff87 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc7499d49 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcbc9dd34 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd6601dec iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0041cf28 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0d0e1cc4 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1809f59a sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18d2f7b1 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1d405da5 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x40a93a0d sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x627eeecf sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6d491cf2 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7399dd0b sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b5291c9 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7e0e8bc9 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x896802e9 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x97500ce1 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f21f852 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa52a91c5 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xab759083 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb00b2db0 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb0818c26 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb11f094c sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb89a952e sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbe370337 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe0df9e1d sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe7346652 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf314eadf sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04d41e68 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17ae3136 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1ab33c02 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x28f93421 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b24ab97 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3133dc5c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3349d00f iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x39b84bb8 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f51ccc2 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x401ea355 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47867762 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4ed09cfe iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50e407d0 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x54e14989 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56a12609 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x691cbd4e iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6a4e05d9 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6cbc9a48 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76d1202a iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7c6e27b2 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x833730be iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83ba5647 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 0x880bf23e iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88861438 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8f0951d2 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8f9b9afb iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b1966c1 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaac3519d __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaea92c90 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1e6564b iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb29f7967 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5a41ae0 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc0b266ea iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc65af4a iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcebf54d4 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4697d5b __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdea0f5af iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5671afe iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5eb78a9 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xea56f497 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf02ab4a7 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3603d4d iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf6994266 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf9f64f50 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x187a08f4 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x846b2b42 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa5eac82b sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xf05ce05b 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 0x8088682e 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 0x1e4cbdd7 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7ed19e2a srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x86145dc4 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa5b796b8 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xed5a091b srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xedc5c860 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x1723426a ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x2ca0e192 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x37edbc81 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x718deed8 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x782f4c21 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x7ae6599a ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x90f117d8 ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa60e4ad2 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xbcc65ad4 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd2bad597 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xdb0445af ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe57c9f03 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe5b5e71a ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xeee6c1c5 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf75f8cbc ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x402b8f00 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x4c26a0e4 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x69534f5a ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x6f8667c3 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xb7ed81cd ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xc5f35e2c ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xf51e375c ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0ea71b98 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2436317c siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x61089de5 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb4060612 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xe2f6cc31 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xf66a6289 siox_device_connected +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x04905d89 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1915f900 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x454fb7cf slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x54d1ba14 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5c811907 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6322bf71 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x684af679 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x686d7ac1 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6fd4f38e slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7d03701a slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7f79f5a2 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x80c42acb slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x82b0c175 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x82ca5452 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8c4db70e slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8c912bb4 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x90fd9b37 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x998cec7c slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9b427050 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbb0dbdc2 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc02eea85 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc390b04d slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd01a596c __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xddb5cfbe slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe63851d0 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf0f9a612 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x08b3c918 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x48658651 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xd210f2da __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x3b2e8a16 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x438d008b spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x54744ee4 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x78ec464f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xb284938b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xe33fff2a spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xeae444d6 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x3bdb4d9c dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x540b5398 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x598fc265 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x93fb6e26 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x963945ec dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xab3a6760 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xcaa0291d dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xe841dd88 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xebc7022c dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x2eeac5b3 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xb4b47891 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xc8392421 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x000a7c40 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0673ed39 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x09a628a8 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x237fc3de spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x52521279 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x55654450 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5606a6ac spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x58e703c9 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6108f373 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6a48a783 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x810045a6 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9c93d400 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9ee81fbb spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa384dab1 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc59a8cb3 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xcccd8a1c spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd430c233 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd66b09af spmi_device_add +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xc0d4464d ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x06857d13 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0776474e comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0c327c41 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x100f8c84 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x14771926 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1b9c8823 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1be7b319 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1eb5e2ea comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x229e9cee comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x259658a4 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x27ecdb90 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2d15bf78 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x30301dd6 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3d5e4154 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x44d15e07 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x50f60c73 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x55dc4c4b comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5616de3e comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5bdb6d52 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x755353a3 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x78723221 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9d386e53 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9fd83101 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa262ef2e comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa8480a28 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb32d53d comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbd5c72ff comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbf9c9b13 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd7f0989b comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd8789b1e comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdf00d076 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe48ef50b comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe877f46d comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xeddb1a73 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xef378fbb comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfca4778c comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x1080be5c comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x2a8040ef comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x54c59355 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x7a0ce77f comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x91a8c963 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xa3c606fb comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xc18f5758 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xe93d1dec comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x20ee6c88 comedi_pcmcia_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x229926da comedi_pcmcia_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x6d0378fb comedi_pcmcia_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x7c5781f7 comedi_pcmcia_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0x8e3ddc17 comedi_to_pcmcia_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xc88b1efc comedi_pcmcia_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pcmcia 0xf8fd6e50 comedi_pcmcia_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x5f1fe2a5 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x6be9e483 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x86574d27 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x8fd92811 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xdca6d4ca comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xe4ca071c comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0xd1f8afa8 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x0a40f08b amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xddb8f997 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0x7c588dc1 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x586a7c89 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x86150fd8 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x89945f9a comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x91db6b33 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xbab8916a comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xbe2816aa comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xcd2617b0 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd7b1b8ed comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe5c15ea1 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe5e225ac comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xed999aed comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xf459d768 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xff22be2b comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x5bde6a5a subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xc1da16e5 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xd92dd164 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xbd961b82 comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xdb0a6393 comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xf1f4538e comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xaaa18b76 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x02854ec0 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1fac799f mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x2555764d mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x3680b4e3 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x38b02dfa mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x3cd8242d mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x57f5c787 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x766b6889 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x86a0f2a9 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x895674ac mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x907c00d3 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x94f2300a mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xadc8d521 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc34cd6a0 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xd94faa7f mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xfea8f782 mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x73469a69 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xb135d8f0 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x056daeaa labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x578c8d7f labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x96bc5dbb labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0xa72444f7 labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0xfa0dc86e labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x001569b2 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x005cd4f6 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0ba8fd2b ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x110c526d ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x217b06d2 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x272f8ce4 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4096d323 ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x51fa38ae ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5de7a70a ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x62ba19fe ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x707b1c1e ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x75422afa ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7aad4ef5 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8703695f ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x891d18a7 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x918f5f89 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x063f50e7 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x2161198d ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x9e8dcdc5 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xaa786b63 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xcdb1d2a7 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd4ed860b ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x42bea502 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x43f63240 comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6baf7ed8 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x93997bee comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xc99c63aa comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xdac96cfe comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xf76e99c4 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x30530f8f fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x9843c552 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xb2a60e13 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xc534c78f fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x006024ed gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x04f6e316 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0ced7925 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x1a3ffa9e gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x301e8a85 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x46023566 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x767c9b0e gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x87564de6 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x97350464 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa74baa0c gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xad6dd561 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xcac62716 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd6e90e7a gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x08e5474a gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x0bd2a6eb gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x0cfb0ce7 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x365cb84d gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x3e0063bd gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x525ac7ea gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x54718917 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x6443eaa7 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x6ca586e7 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc7cf6cdf gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xcb3c1eca gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xdfc26c5c gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf7fd0f6f gb_audio_gb_deactivate_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 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x68e623d4 gb_audio_manager_get_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 0x9ae7c9e3 gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x35b057b9 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xf6ac8115 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x50cf674f gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xc0cefc9d gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x84216967 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x6c7f09ba apply_msr_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x7605e8fe load_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xf57582e2 release_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x0b319f7d camera_sensor_csi +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x0ccdef48 atomisp_register_i2c_module +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x3b0a25f1 atomisp_gmin_find_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x5bd4e837 gmin_camera_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x5d704041 atomisp_gmin_remove_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x93a9d39c atomisp_gmin_register_vcm_control +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xab3ab417 atomisp_get_platform_data +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 0xcd1ed1d3 gmin_get_var_int +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x12a4a003 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1d6a560f spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x33d5d77f synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x44e57f57 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x58289605 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5e320d1f spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5e54d850 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6e0dc0fe spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x77ef7341 spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9a08c1ee spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa38c2951 spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbfb7d492 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcd446563 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcf17346f synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd4019b6a spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe79700c5 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf1393d08 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x3ba13c3f wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x4540375c wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x8f80c8e0 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xb46ea82a host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xd1292435 chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xea019555 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xf6316b8e host_sleep_notify +EXPORT_SYMBOL_GPL drivers/tee/tee 0x03461cfe tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0bc0e816 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0ca2bad0 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x17e0e6bf tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4e12f150 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5c35240d tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x602b782a tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x651a5b28 tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x896a0ba7 tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8b1786ea tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x916c8a1d tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9cf7677d tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9dea06bd tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9e24396d tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0xa78e3021 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb8d0af36 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0xba02d1e3 tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc3df847b tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc3f3946d tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0xcfce1b6e tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe9b55783 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xfb735972 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0xfc76c503 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xfdb0cff5 tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0x34e4ae9d int340x_thermal_zone_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xbdc0aedf int340x_thermal_zone_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xc3d10ae0 int340x_thermal_read_trips +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x08f282fa intel_soc_dts_iosf_add_read_only_critical_trip +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x0b80c16d intel_soc_dts_iosf_exit +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0xc4a5091e intel_soc_dts_iosf_interrupt_handler +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0xefb554c4 intel_soc_dts_iosf_init +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0978e216 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1e793ce5 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x24c098c6 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2a584dca tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36c8f5e7 tb_service_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 0x524d30e5 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x58721f1d tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x598fcc1a tb_xdomain_find_by_route +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 0x7640cb58 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x767f402e tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7a4dfee9 tb_ring_free +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 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xba251cbe tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc9715e76 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc9ba9e9a tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd400fcf0 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd8971fd2 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xe8d5df43 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xece1cf91 tb_ring_poll_complete +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/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3dd7f432 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x4c2da40b uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb82b55ff __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf2b39d72 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xbc087648 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xe0fad087 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x2ffe0b7a ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x98298812 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xfddead5b ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1d9f99d3 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x2ba3521b ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x5db0b5f5 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x72e976fe ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xb355cf3b ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xe741b1e7 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x489806be u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x71239696 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x793d10d0 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbeaa1f2f g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xce5bfee3 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xdb187fdf u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x144901b0 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x50329ce4 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x67b73966 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7ef3e7d7 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x82ede611 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x941ed0ee gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x95a6a9ef gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9c81fc36 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xaf5ecb72 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xb223105c gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbe449d30 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc62bc2f1 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe02868f6 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe0cf1c64 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf2d69ad4 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x0d4a94ac gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4319c9ce gserial_disconnect +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 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 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xec773f0b gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xf2de5e8e gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x06899a8b ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x57f469c5 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xae5002e2 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x03cdf695 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0cbbb88c fsg_show_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 0x2125b682 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 0x2ead553e 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 0x460069b5 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 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 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8b7441ff fsg_show_file +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 0x9a16f251 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa25b6318 fsg_lun_fsync_sub +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 0xa8f0af99 fsg_store_removable +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 0xc1ade9a3 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xce8947f1 fsg_store_nofua +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 0xd31f5592 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd6230ea8 fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd9bc6a39 fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xef9beb30 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf015db75 fsg_store_inquiry_string +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 0xf688113b fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x04b845f8 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0ed8a583 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1503164f rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x175e2dde rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x218667f9 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2cb60cb7 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2f2ee66a rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x69ad5c60 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x71155f5f rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x77f9bef8 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xae2395bd rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xaf4ddc4f rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd7da9e79 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd947b0a2 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xfab50b34 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x05753314 usb_string_ids_n +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 0x1331cb57 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1e43ce07 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x26068fe7 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x37f2925f usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x41d82eba usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x44e0d45f usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4551e29b usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x473a06ec usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x48470134 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x53a60c11 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x65547787 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x69dab2d1 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6dbd2632 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7339817c usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7b6dab96 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7c2f8161 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8de45a51 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9448c213 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9bceb4b7 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa3a2b0e1 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa86ed569 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb7dc8be9 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcccbe616 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd1cee1b7 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd392451d usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd9a18ede config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe649b6d3 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe7576986 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf615b172 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfbd777a3 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x02a6af76 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0e6c3f53 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x397a0225 free_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 0x691502d4 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x74280557 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7a158085 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x89b37877 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9bd378d1 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xbfe11462 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 0x0288d05d usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x03719366 usb_gadget_map_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 0x10ce33da usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x208b93d3 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2eda110d usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3eb09cb5 gadget_find_ep_by_name +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 0x52a9fc80 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5488805b usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5f43eeb3 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 0x74c1f196 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 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7c752427 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7c990f7c usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7e532bc8 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x84b497ff usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8c807e1f usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8d91897f usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9b8cf3cb usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa42e629b usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9246974 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 0xaadcd8fa usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xadce2f13 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb4e7c87e usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb50c5458 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe6a33ab4 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf9b2211c usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x3802e319 renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xc80ded64 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x29078f28 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xf3a7078d ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x26d582b6 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4d9774da ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5fc688df usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7cfb2a3d usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x92728ff7 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb5e4851e usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc57efb04 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdaba3aee usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf5f2b545 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x07ceed2c musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0ae143e8 musb_get_mode +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 0x4d6acc1a musb_set_host +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 0x76deb6a6 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 0xe8345df1 musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf52508e1 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x16ad8b00 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x26b5a790 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x58d2b097 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xc7556b50 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf721d524 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x6cc40b6e isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x618aa194 usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x8d9c28d9 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x8f36aa36 usb_role_switch_register +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xa3c1d0cb usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x79727c1a usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x09f4b065 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x20b78020 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2d2c6dbd usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2e745658 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x60d7d0d7 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x60ee28d7 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x63f606b3 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x647b3cd8 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7139378c usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8f35973d usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9c3f6486 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa613a772 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaa78eacd usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xafe24b56 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb4021adb usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb7f7a48c usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xba16dc38 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc271dfd8 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd0a23601 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd61fd5ec usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe2f0a2a2 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xb84417b6 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xf2deffe0 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x44c243d8 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_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 0x9ddbcb28 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x05ef7701 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1793bc4b typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1bc0a2bf typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x254b7b55 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2884b35c typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2f18a678 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32dad895 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33c9064b typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x359d07d1 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x48b7e0d6 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x62fa4b98 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b78203b __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e23f3fa typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8c8c90d9 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8d8466fe typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8f2910a9 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x95dfd16b typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9800fbb6 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9ed6cb39 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb2a623ac typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb3a0d09b typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcb20fd3d typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd8674766 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdd1c173b typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdd764ef0 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde4a3139 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xed669982 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf6a7326d typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf898ddd0 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfb825e92 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfda9ef65 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xffd2e98c fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x62f532d5 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x992a0b2d ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x9d7f3478 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xadc3d2d2 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xb598b26b ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcc43b442 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcef5e064 ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd1869fcf ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd8a5c155 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe18cbed6 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0c727aa8 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x10dc4a2a usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x13e8293f usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2330ae2f usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x72fcf406 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7f33ce86 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8f058906 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xbd09f11a usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc4687d31 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xcf4b1ba7 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd58fc5cb usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xdac72456 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe2d5ee96 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x2f6003d8 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x326fcc74 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x632c7d9d __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa24caaa2 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xc8945999 __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x031dca05 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x058c3580 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0e4b458b vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x106cf3e5 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1289b835 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x138d7929 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x16250dde vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3594e8f6 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3a0bd49f vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3d017328 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x411e9eb8 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4d054e41 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4f8396c4 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x563924da vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5b4f07dc vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6eb48b37 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x70bd5566 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x73706faf vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x75b39694 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7a25e121 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7ff16745 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x803c8270 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x877500ed vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x90a127a2 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x95441654 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x968a6d1e vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x98661a3b vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9cd691b9 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9f1dac14 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa4eb34ee vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa5287d24 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xabd5e656 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xae0aed2d vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb117bf4b vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbf436b97 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xce30b95a vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xddd60580 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe209d628 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfa9ee8e4 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfac08a0a vhost_disable_notify +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +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 0x18d6bbc2 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1f30d721 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x3ef22bc1 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb7582446 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb9529598 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc757c4d2 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd2f5b885 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x3a5e603c fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xd4d155dd fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xf237cb67 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x8fd0aef0 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xd7a7673f 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 0xb0eba584 viafb_find_i2c_adapter +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 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x0e338292 visorchannel_signalempty +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x4de03230 visorchannel_signalinsert +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x56401853 visorchannel_signalremove +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0x8a7a7e76 visorbus_enable_channel_interrupts +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xc455c651 visorchannel_get_guid +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xcd5f8a8e visorbus_disable_channel_interrupts +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xd3caaa97 visorbus_register_visor_driver +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xd8b7b259 visorbus_unregister_visor_driver +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xe13f1703 visorbus_read_channel +EXPORT_SYMBOL_GPL drivers/visorbus/visorbus 0xfa851ff7 visorbus_write_channel +EXPORT_SYMBOL_GPL drivers/w1/wire 0x06ffe1c1 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1369b70e w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2487f23f w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x24b25055 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3ad4536a w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x72cafb3e w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7d5b66a7 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8e528ea4 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x94c0f02b w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xae990192 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xeb552444 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x2c700a73 xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x50e4f5b0 xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x6b54d0d8 xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x7e6408f0 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x9ac0c444 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x3c08fead xen_privcmd_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xe51861e4 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 0x9be15669 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xc67be9cb 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 0xfff28fb4 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x10859a97 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x18775031 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x32b59560 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x85aa2029 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x95898427 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xce7a6235 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd9ba9489 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x05353ac3 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0712968f nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07763b05 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0b37fa50 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d924ad8 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0dd1fbbd nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1050d848 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1230f49e nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18b7f281 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1bca7d69 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1cdc501b nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e8a9e21 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f36b7d3 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25bb49a4 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29e03f0d nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e06cf12 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e3f0f9f nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39c13d83 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3a1de1c4 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3c985d99 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3d729d97 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ef09f97 nfs_flock +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 0x49d9f107 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bcfb836 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4d630dbe nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ff89f26 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x56d95e7f nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x576e443f nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58cdb446 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b4fefe1 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5c0bcbd5 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5dbc0ddf nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5dd15c30 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6004f4f7 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x631fb577 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x660c738d unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66c636d8 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69a301b6 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6acfb1af nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6c2aa088 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70519615 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7123c0dc nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7224a8d5 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x723ec681 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x728062a1 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75ae8069 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76e0e1a2 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x779b6b24 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x783c3c25 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a2dcbc0 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a71e797 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7aadfdad nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c7f5a57 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e6e4193 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f18aee7 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fe1eea0 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83245af5 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x867ef549 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x884c436f nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x888c15e8 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89434a6d nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89d41228 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a10cdb3 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8b757d4d nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8b832faa nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8cea3b22 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d169bb1 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90abeb27 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x920ce422 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94ad759c nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9863deb1 nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x998cf1d2 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b481cb6 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ba58962 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d0123d7 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e7bfcfb nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3031cba nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa5298535 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8abcded __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa70b353 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab9c9a9e nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf25594a nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2463f8b nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2493a60 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5f5c91f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb6088fc7 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9d8a827 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc6b2c88 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd6379ba nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe981099 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc624c264 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7205290 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8c20af5 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xca7154e1 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc6b2048 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd29e5d1 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1802146 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd530e6e5 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd54b0f4c nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd56bd6ce nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5f47c09 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd65097fe nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd75be952 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8cc941b nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9f20bf4 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda4c080e nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc6c1c5b nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdea2f17d nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdfefd562 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe497aece nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe57b877d nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe73144d7 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8269666 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8525fbf nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9f63df8 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9f65aea nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea5ecfdb nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb0b72b1 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xee9a863a nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xee9e22ea nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef9a4b66 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0083a06 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf12c988f nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf238f97e nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf26ce7b7 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3080f8f nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5270b22 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7f4d053 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb3add09 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd323605 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfded13cc nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xeb5ad8a5 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x05a212a9 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x05c38329 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0714fcdb pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ab6bd89 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0adca400 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ade27ae __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x163831c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x165bb730 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x177562a1 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x191ff719 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c4dedcc pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c8eceef nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdde079 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1d802354 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x208f5c30 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22275c74 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22990bc7 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x23d8f344 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2bd873cf nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2d3ef5bd nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e6b4f7e pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e81cb13 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2f3a999e pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2ff37fbb pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30445295 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x31ef710c pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3534b9a4 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39ac52fe __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7d84cc __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3d3d7ea4 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e20e9e7 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3f2360ca pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40bc3c6d __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x475aa2b7 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x47764d0b pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x51c9ea94 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x52976226 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5b62ca53 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5d20d522 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x61484b47 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6459ea95 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65ebfafa nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x67a413bf pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78ecf37b __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81d0028f nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8562726d nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x89dff896 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8ba2b34d pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8e84981a pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9312e7e9 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9488a893 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b0abc6b nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa319bfee __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa53ae5e7 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xae48c84e pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb7a15569 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd2e3b60 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd9e96c3 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc2bf961e nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc950751a pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce524800 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd02a8f93 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6ed7dda __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc29230a __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf05942f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe3a04fbe nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe40f9885 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5b578d1 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe7424d6b nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe76bd5a6 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe862bfed nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe9e34ba0 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee960d9f __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf2f3d412 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf54f9fd1 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf6d4065f nfs4_pnfs_ds_connect +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 0xfb1d1da6 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfce9e5e6 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfdc36372 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfdc895c0 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xffb55aba nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x343ad86e opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x45382bd0 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x8fd5fe15 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7f164d80 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa6183d58 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x01a4fd8c o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1fbd2230 o2nm_get_node_by_num +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 0x6fabe02c o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x87e64cc3 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8a88a597 o2nm_node_get +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 0xbecb0db8 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc2fe622f o2nm_node_put +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 0x1e798746 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x37fb12ca dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7c2da178 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8ba5f2b8 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9c6b8f31 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa02b8629 dlmunlock +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 0x11f423a2 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x2b2a48a4 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5f6566b6 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x903edaba ocfs2_stack_glue_register +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/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x678d488c unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xdcbc1543 register_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4b268e1c _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x6c9024da torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xeff40877 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0x7f376d08 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xaeadcbe8 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xfa617389 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x65ddf3ee notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x72c11f62 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0x29d81afd lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x5fcc9771 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x270aa2c0 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x27f7ff91 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x458ace3e garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x910ff04b garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xd9cef300 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xfa64f30c garp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x1540ef66 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x4d0d6bfc mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x5dbd8d6b mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x72e51243 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xb1f641ca mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xf7171448 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x37858bc8 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x42fd7967 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x1e6a14cc p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xada6477c 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 0xb3e3377a ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0ed606c7 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x1d57c55f l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x298d5043 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x416426ae l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x668a7473 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7024de24 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7d68779c l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xb8826212 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xca1d9c90 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xc923cb59 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x29d7091a br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x384ad759 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4443bd63 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4b08b64c br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4b7d5385 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5ee23bca br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6e104ece br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x74e447a8 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7adba2cc br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7c24d632 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7e4dca46 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x83ddbf87 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa3e2832a br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa52a50f5 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc0c971e6 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xcbf2c7f7 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd6c922c2 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf5d73841 br_fdb_find_port +EXPORT_SYMBOL_GPL net/core/failover 0x18825532 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x46c6a2f3 failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x861115b2 failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x00e56483 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x076c6027 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e87c9f3 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x11bd44e4 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d29aca8 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2419703e dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x362400db dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3a54e041 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3df75886 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4bd5e5a8 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x52633e68 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x572e842b dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59d42baf dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x649a92b0 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6b2b3946 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6f0fa740 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x722630de dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74b84ba5 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x818da909 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x87449798 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8a1b2741 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8d0797b3 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x923f6b77 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9595259c dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x97a10010 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99e355b9 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2624a42 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa5ef7b77 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb510792c dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbe08a428 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc3b6a26c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc74ae214 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe2c218e2 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe7f9e6f7 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf106a324 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfb987807 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2efd0675 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4a8017a9 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8b376392 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x92cb0a5b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb4ed9520 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbe46c007 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x050bf16d dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x136e43c9 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x20a06e02 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x28b317ec dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2d2b650d dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x40f80438 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x422937d2 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4e4b4405 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5307f52e dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5428c830 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x70bd0240 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7334d937 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x82c4fc01 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa382184b dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xad5b7eda call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb81a6ea9 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc826d244 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc97f263b dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd15811a9 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd73f24c2 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xece82f66 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf662f883 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf9c80a76 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x16000365 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x1f01f30d dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x5832e8a3 dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x72421fc0 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x74b85a57 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xd5bce637 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf3a915af dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x14767340 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x2cb41f70 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x57c4bbb5 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x5b80d573 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ife/ife 0x03a5e47b 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 0xe6fb5008 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xdc2737cb esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xea49f8bf esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xf9c897cc esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7cc8ad98 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x9203ca08 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x087a49e7 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x16610937 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x516a2c7f inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6ec51432 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6f231bd6 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x725d5001 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7ddfda45 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9898475f inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa8c020d2 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xd5e4af61 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0ba889cf ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1a461e57 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x20ec2cb1 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x248848ac __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x275794a0 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x440bf01b ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x52d3334f ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6ac8243e ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6d0d6ef5 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6e3e1712 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7772d195 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x94f6aea6 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9547fb3d ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa630fb1f ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa7c1aa93 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb6206000 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe201ae9b ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x342c627e arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xe1069d4d ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xef178f1e nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xda1326c3 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x1a8b266f nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x44a86e5b nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4a7da2e0 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5a56cb78 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc137b087 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xa05841c5 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x83d64ad5 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x8da1983d nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xe25b66c0 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x1185ec05 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x8fd03c51 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa4f146ea tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa8433441 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xaac9f75d tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb54d5a70 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xfeb52754 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x31b33234 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x590424fc udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8f6f7071 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x94290fcd udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x9d72c1b5 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa4d6f231 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd4e03520 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd80289d5 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x1128f238 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xc8304908 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xcdfee8b8 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x05170a27 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x21edbb66 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xf8adb83b ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x46f517bd udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xc54f0da2 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x19b1c6a7 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x3c480968 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x4218e3d6 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xa991e52e nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x1973c7d0 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x8854bdd5 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa6500489 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xdf2fad9c nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf7d1676c nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x273fe0ac nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x85c39d0c nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x8be7a18c nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xfdad8c8f nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x4e4ef962 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x975eb02f nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x052cb297 __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0e543b55 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x23d7430d l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x371d73e8 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6ba71cdd l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x70c40bb2 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7c52332f l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7e42aa27 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x901bd55a l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xabb723ff l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb4dfd8ae l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb776e05a l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc57ed678 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd477bf07 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe4b46e28 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf61ef4eb l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf72f1ff7 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xde984b7f l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x059e86dd ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x173987cc ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4f3788be ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6eed46ae ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x751eefb2 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x77ba3545 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x79f0f0f1 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8a7248af ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8e155531 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x955a35c1 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9ee1740c ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa0c6b48a ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcf06decb ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdfb6f2e9 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe528577e ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xef97af57 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf074533f ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xfc5a6952 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x091fdce2 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x502bfd24 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x574b002c mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xa88b7a38 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xfd3e62e4 mpls_output_possible +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0d3fa4b0 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0ea7b13f ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x323abbc9 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x37a98c9e ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3c570b86 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4f136575 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x592fd47e ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5aca7ad2 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x61c203e1 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x642996d4 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6a2eb042 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7c869ec0 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7e285259 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8c0c02c6 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x96d96c50 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9b720b23 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 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb187e1c6 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd26ef5b7 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe0e16e19 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x312fa9b1 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6fe2085f ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7a097093 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf9277bfb unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x127edf09 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x2abe9f4b nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3a05999b nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3ff55ad3 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4d8dbd1e nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8c4cb9c3 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xfff8d0a5 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x03a9c191 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05b5c3e8 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08c231d6 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ae37394 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0b7ce66d nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0cc243ba nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x114252b7 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1285535b nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13c9f9e5 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x165ba8f0 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16cde53e nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a278ad4 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a94a20b nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d14d2fd nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1dffdda0 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f0d2d2e nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x217789a0 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2687cbbf nf_ct_seqadj_init +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 0x2af3e5ce nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c58f3e8 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c663a73 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2cb4814b nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34b8256b nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38f8ce0d nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39693b92 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39e86c3c __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d1ab4b4 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d5ddf88 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e5914fc nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f0ccd2f nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41a0ddc1 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47337a6f nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x489aed93 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c0a2e56 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c7554b9 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x545b9e23 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5ba14ce4 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6083e72d nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6b961374 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d421e9f nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7ddefee2 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x813fb1b0 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x887b7d83 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x899dbe9d nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x91920400 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x938aa479 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9570d178 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9803cdf6 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x983c4574 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d06c9f6 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa11f868b nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1b4c2ee nf_conntrack_eventmask_report +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 0xb252344d nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f24a85 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6fb203e nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb758f659 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb90c6b16 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb1edf9e nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc5144a2 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd8c681c nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1dcfd87 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1ee648a nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc7fe43f2 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc7a225e nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce24995e __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf53fc4a nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1b6e5f1 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd493b8e6 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9145ce9 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb4ccaa9 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd4385a6 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe4824166 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xea95f15f nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb10a42d nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef1f6606 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf12b6a64 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf68d1ce4 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf7678ed4 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf7d10b20 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff01e5c1 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xffac20d6 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x11c25b50 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x3211b0e7 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xb0b8931e nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x03fd3b50 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x369373e0 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4797dd7f nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4bd25df5 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x755f7b30 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa97e719a nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb3190499 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf5850729 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf8c36dd1 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfd7cd75c set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xc3b2f024 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xbe38b84d nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xca5c656c nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xcf71840e nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xebbb40c2 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x06693834 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x07c9d4c2 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x17b0c6bc ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1a1acfd2 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8d498716 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9995fd65 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbe909e11 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x06b28e5d nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xf3b32472 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x4b773050 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x724c4785 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x7c0e6119 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1797f784 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2dc0b71f flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x63f7bc76 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6f9f2d74 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x72760e46 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x947482ca nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9bcccab8 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa3b98c17 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa82377c7 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb673b075 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb7ab440b nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbfd3d79d flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xccb93217 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe372c071 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe726fe58 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf07d6e4f flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf0b7aaa0 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x028f650d nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x35fb9e7b nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x3d139594 nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x753144a0 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x8336a297 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xde23590a nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x07468a7d nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1027e220 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x24efe656 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 0x494a4504 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5bef4ef9 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5e69728e nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6b5fe12d nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x70ec3a6e nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8337c181 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x86adfba4 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9512ffb4 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb8c44b66 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc097136f nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd3e9f2fd 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 0xeaeebf44 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf065763a nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x147f03ff ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x212aa125 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x29b0d2e7 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2ab69fb3 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5a8440c6 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x73eeb25d ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7602580c synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7c27beb4 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7f21f3e0 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc576c8fc synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc7fa9817 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x04c26b4c nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0ca8a780 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1740eb74 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1d1a4cdb nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1f3490f1 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a7885f6 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2d5f43de nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2ffb2074 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3f1b67f6 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41058120 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x44748747 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4e875b97 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x51141e42 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x552dc276 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5f88d6be nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x66072204 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x67a5160c nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6e16279f nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7692821f nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x76f1d2bb __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x82347ad6 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x852f2017 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x953f5cd0 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9fcd17ee nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9febaf0a nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa960fe94 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xace666ae nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xaf97c28c nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb3640f1b nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe811175 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc1a1f313 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd48a69b5 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2cad222 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfb9a359a nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfe24080d nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1fac878d nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2c19c03a nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x69dbab8a nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x818231a7 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8479d832 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x84a2e9e2 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x636350d4 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x83b475c0 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xaaad01f6 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x2dfab4e5 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x7d9e5492 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x4850628f nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x5c81d093 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x76369ff9 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xa43946f7 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1ae67011 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x7df6597a nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xb34502f1 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 0x11d4e737 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x15cab386 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1cd37f34 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x20ede3c9 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x33def4fb xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4d1747c8 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x57501baf xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7c37ebce xt_compat_match_offset +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 0x8f2220ee xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9d575f1b xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa751821a xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xad41c1aa xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfca1618 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc0adfbed xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc6886888 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd013ad00 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd2c7458d xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe5815486 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xea51b291 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf1b97986 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfe751299 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7dc8d784 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x8fb53359 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x1d6500dd nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x640ba883 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x673a95f2 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x3aff3e79 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x626db73e nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x8a537ba6 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x298cc35e nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0x7a936550 nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x19202306 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x45d147f5 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9a252ad1 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xac4dd7e4 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xd0c18867 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xfd277ced ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/psample/psample 0x19c4c2ea psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x4241fd72 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x5539a3b1 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xd07567c6 psample_group_put +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x342d0207 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x48715b93 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d0e2aad qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x014c5a99 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x0453ddb8 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x097e414b rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x0d95a6db rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x1156b8ef rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x12c75677 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x1315f51b rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x175fc329 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x1cd194a6 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x1d38acb1 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x295ddcb1 rds_send_ping +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 0x395af371 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x422e20f0 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x45545b26 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4b7c5194 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x5739b682 rds_conn_path_drop +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 0x5a51de0f rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x6ca7cc08 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7358c62a rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x745df98f rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7c57167f rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x87e6515c rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x9f73fdf5 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xa111c1a0 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xaa136c15 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd0d2967f rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xe538f01b rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xf1f354c8 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x2e599bbd pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x8c36d320 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 0x3212e03d sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x9929bbd7 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xa1b47763 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xfa445e41 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/smc/smc 0x0f5452fd smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x208d0538 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x55a8da7c smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x91c1e11a smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9dd9e760 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9e648bc1 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xa7142457 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xd7cd9278 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xddd64f09 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0xf1c42269 smc_unhash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x079d4ad2 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2b267975 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 0x66de2b24 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7b3830ae svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x031c7687 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03fce728 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04d4d5ca 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 0x0669a65d write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06b95e38 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x071ad1f3 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07af6c35 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07eb4e7f svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x082cde7f cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0acd7388 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ad4c838 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b2fd7fa xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b81de1d rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d32bd3e sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f7d1038 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10389dc7 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x119b293d svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11c3ffe8 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11c61799 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1243b7df rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13085003 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13ee8d81 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x141f9aea rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17b99475 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17dbbc04 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x187c9d1b rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19c01a25 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a209192 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a39dffb rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ae36a1c rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c8f26fa rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cf8fb8d sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ecac98e rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2101938a xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21af0faf rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21dd0b60 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22b7491f rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23331eae rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2404c230 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x285df8a6 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29af06f0 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b97b7c1 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bbc16ba rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ccd5080 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d6ce1c4 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e5250e1 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e8c6b92 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324d4ab9 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x348e5ef1 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35318fc9 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x385686ff xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39012ee1 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39687b4c rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39aca394 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a0dba3a xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c90a734 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cb913b0 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ee8e77a sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f21c2e5 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x407ce321 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41288c4d rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x427a2cec xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x434e7f39 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44086e93 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4408c3ff svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x461c1f12 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46fb03e3 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49fdc575 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bde01b6 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ccd8de7 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cf790da rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e4ebf17 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f800277 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x500ea06a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50f56fd9 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x520db935 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x530a881b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54e9b8be rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5510332d rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x569784ee sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x593889e4 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cdb31d5 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e0c604b rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ea48ad0 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x625e786b rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63a0eb47 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63e7514b cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64480c14 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64542b98 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x662fe7d8 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68793e18 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690a0ae7 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cfc7bb7 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70714dd5 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x715ef7b6 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7184b09f svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71ac3087 xprt_release_xprt_cong +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 0x724a7721 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7273e9c9 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74e2632a rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x762c62c8 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x776453bc svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x781b4089 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7832eb71 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78bc6635 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c3b1ef0 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d9c4b51 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e2eb790 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e6a6269 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e6efe06 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8055a2e8 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80bb7d47 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825e3355 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82eab78c rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8491ee55 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85e8836e rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8705afcb xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8845c926 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89bdae60 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8aff5dd8 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d44ddfd gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d928eb0 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ef53dc3 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90e68fff rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93498d06 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e5e849 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95d7d518 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9686666e xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x969a1fcd rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97339e8f xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x996c3555 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9989abc3 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b9f576b xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e37f376 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f513d5b rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f8f9814 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa18c168c csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa24109da rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2f297ae rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa41f237f rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa449190a sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa81de566 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa854dd27 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8a2d25a bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9629d0d xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9b185cf rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaad64be0 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacc30c5c svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad594f3e svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xade2f8cf svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb09c902b rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0ce1226 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0de1048 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2ccdf50 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6f5cef4 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8ff3dd2 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9f71c55 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba4fe338 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb517fb4 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbe945fa xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbfc817e xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf24de11 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf67f04a svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0bfee53 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc113d6bc svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1a86c2b rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3260b4f xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3b54bbd xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc801003d rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca9fbb51 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaa87629 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce1cbb83 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfda9282 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd016fa11 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd07ce569 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd08cc4d0 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd08f6b42 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd188e0a6 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3ed0ca8 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5e0632b svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6e165c9 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7485aa0 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd811a58f xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8ac5827 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd90808c9 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9ba9c9d svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda91a189 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbf94693 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde8623ee svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde90905a svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdef99faa svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2e85a52 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3f1523f svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4458ae4 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4f5f016 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe636885c xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe65fec73 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7b919e3 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe98eaea1 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9a60c4 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed41486e rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed783d03 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedd3b3da rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedf3f251 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeecdbfc9 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeef77901 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef53e84a xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef73742c xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefa3f085 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf069e973 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf11eaad0 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf289c311 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4ab98e0 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6b46d87 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf74644d5 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf805fae0 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8700d60 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9992086 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb12be12 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb32bb10 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde0e53b xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffb3a062 svc_shutdown_net +EXPORT_SYMBOL_GPL net/tls/tls 0x1370886d tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x174e8999 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x68da24c7 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xf57afda6 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x006d9b02 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 0x11c062c2 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x16e089b5 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2f01e951 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2f99d9c7 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x38bc04e7 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3aca3291 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4043c097 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4e950ad1 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5487e72c virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5ac7cd80 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6c0ee2be virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7e43890b virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8439dbe7 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8522ff76 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8a651790 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8a9aa3a8 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x94c69e5f virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9b3e7618 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0c5a3d4 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb7e31a89 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb86262a6 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 0xc690f3e4 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xcbb34de4 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd14cb77d virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd2dd4d6b virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdc011b33 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe7a31a95 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe8ebde7f virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf0a01b7a virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfb894149 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x082f3698 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x18df8e12 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x291e0c81 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x31400328 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x38eeea23 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b208b66 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x56a17dc2 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x67826547 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x69e8f78c vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x76ce0ab2 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7d81f215 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8208438c vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x87723956 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8bc06666 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x999c1594 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa171cc95 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb483ed0c vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb49bdd2d vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xba72a8d6 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe08811d6 vsock_remove_tap +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0dd13d69 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x12196529 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x24545e8b wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x317bf954 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x42df528a wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x56187558 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x80be2f60 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x81a005cb wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x868b66d0 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x88f21106 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb74234df wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd8707abb wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xff7d0d6f wimax_msg +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2f8ef0c8 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x31543c50 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x39e0f93c cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3b4b00e2 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3bd41b41 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e28bc79 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x68f14a16 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6c3ae361 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x77ba443e cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb2bdbd8d cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb4d2452b cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbc0d2e11 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcf9935d0 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd59420d0 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdf16e405 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf7e001ee cfg80211_wext_giwretry +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 0x019b4d9d ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x341b5b58 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x545a5968 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa5f91035 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/ac97_bus 0x7f8df08b 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 0x121b288d snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0x199328dd snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x2b12fe6d snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x313f7ee6 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x48d76d76 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x4b175a1b snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x77a30037 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x98790483 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0xce664ee2 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd 0xd01c7515 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xe7bf80e3 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xfd4b825c snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x26b22021 snd_compress_register +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x6c054206 snd_compress_deregister +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xb56c927f snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xb97766ab 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 0x37629a51 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x479644c6 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5584f0ab snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x6570c881 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x73cda329 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x818f0744 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x9dc1bdc9 snd_pcm_hw_constraint_eld +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 0xb4b10802 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb5113cae snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf7d16f29 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x0a6dba3f snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x15a76286 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1804d772 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x199290eb snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2d11f911 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x46c56b77 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x50966754 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x61700aac snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x897e9650 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xeb2d99fb snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xee1c9b68 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf19e3bb3 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xacc000be snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xbe884968 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x11183d68 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3512130f amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3c25eff7 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5c38e134 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5f88d50b amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x6a5bf3cc amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x816c04f7 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x863bb505 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8df1a4b6 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa97a2ec0 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc2b63a9c amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc64e62bb amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xfcb1c213 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x026276f2 snd_hda_ext_driver_unregister +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x03e18cb0 snd_hdac_ext_bus_link_get +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1025bbff snd_hdac_ext_stream_set_dpibr +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x16ab29a8 snd_hda_ext_driver_register +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x21b2fadc snd_hdac_ext_bus_get_link +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x2d6b20fa snd_hdac_ext_stream_get_spbmaxfifo +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x30241c26 snd_hdac_ext_bus_ppcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x31fb25bf snd_hdac_ext_stop_streams +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3924922d snd_hdac_ext_link_stream_reset +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3e35d069 snd_hdac_ext_stream_release +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x42556ea0 snd_hdac_ext_bus_get_ml_capabilities +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x49697ef9 snd_hdac_ext_bus_device_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x529e4a9b snd_hdac_ext_bus_link_power_up_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x67aaa40c snd_hdac_ext_stream_decouple +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x81fb4ab3 snd_hdac_stream_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x830b8217 snd_hdac_ext_link_stream_setup +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8762251c snd_hdac_ext_link_stream_clear +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8e1db99e snd_hdac_ext_bus_ppcap_int_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x97217226 snd_hdac_ext_bus_link_put +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x989167c1 snd_hdac_ext_bus_link_power_down +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x9a6588a1 snd_hdac_ext_bus_link_power_down_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa3db8379 snd_hdac_ext_stream_set_spib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa5d6c1e2 snd_hdac_ext_stream_init_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa670cc45 snd_hdac_ext_bus_device_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa735e082 snd_hdac_ext_link_stream_start +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa8b792ea snd_hdac_ext_bus_device_remove +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xb7d0654d snd_hdac_ext_bus_link_power_up +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc26b4158 snd_hdac_ext_stream_assign +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc50e76c4 snd_hdac_ext_link_set_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc7f9f83d snd_hdac_ext_bus_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc92da749 snd_hdac_ext_bus_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xcafc8694 snd_hdac_ext_stream_drsm_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xd36a0426 snd_hdac_ext_stream_spbcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe53c8bc8 snd_hdac_link_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xee2b88bb snd_hdac_ext_link_clear_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xfa8e1519 snd_hdac_ext_stream_set_lpib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xfbd2ab29 snd_hdac_ext_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0558871c snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07ec1e38 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a2abc2c snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a74ceb9 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0cf737e0 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1018118a snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x10cc1838 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1309b633 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x13841b70 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x14f45a99 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1fd071bd snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21953b96 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2303dbde snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2358797e snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x255d7b2b snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x290cf164 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2c1f99c7 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2fc5cfb2 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33435f98 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3a9fa51d 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 0x419ddf8a snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x44931b18 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x46f9d985 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x47b0ace2 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x48767dbc snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ba86104 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x53a35901 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x54b2cc0b snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5ef6e33d _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x610a1b21 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x618d958f snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6372a7bf hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6749ebb6 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67e3d759 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6b05888b snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6cf36a26 snd_hdac_i915_set_bclk +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6da2b31e snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x74edf7d8 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7670f4ec snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x76fba586 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x78414f0d snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x784da247 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x79b5de67 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x82577e8b snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x830f4504 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8481d318 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8861527c snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8b773ae2 snd_hdac_i915_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x967c48b8 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9716058b snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9748c94d snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9c919e0b snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9e5b49d1 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9e7b53c7 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa16358fa snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa32717b1 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa54e205b snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaffa2d33 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb15ec07c snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb1a35ba2 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb6be2dce snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb7281ebf snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbb84a658 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbc9e16f3 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbeb2d3f4 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc0aba410 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc4fe84a0 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc843c55f snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc852bb1d snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc9bf146b snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd1a7f6e6 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6885f67 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6bcfe55 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe8529f24 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe99940e8 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf22ccc35 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf3e5962f snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfa948366 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfaf2b816 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfb68d21e snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfcb684e3 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfd1ab5ae snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x074c283a intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x1886f5da snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4d37c1ac intel_nhlt_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x5c1bec96 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x6f57fa6f snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7b6cf8e1 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8065d7b5 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa500de6c snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xfd38bf2a snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x020f969b snd_hda_codec_set_pincfg +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 0x06b14baa snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09c76b66 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c2b17da snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e028376 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ee34896 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1058c03f snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14605d23 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15e32424 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16bbcd8c snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24017c5f snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x26d69af5 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28863f16 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29e2191b snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29e39b9b snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ba37362 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e11df3e snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x314264bd snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c1bc3ce azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c82987a snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3fbf41b2 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x40a0daa5 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41fa9103 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42ce810b snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x432deaa6 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47f34f8b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x480f808e snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4910c794 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e31d4b6 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f715cf7 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f9dec70 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x506759dc azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x526d6396 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53421f77 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54b34b5d snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5af2ed3e snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b3d6f7f snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5bd91fa6 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c9a9f30 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6451ce7b snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64a3747e snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65214445 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65810452 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6669c993 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6834be8a snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68d93ebb snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69686476 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cb73483 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f85454d snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x703d5f77 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7258b9fe query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x737a888b snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x73d029bf __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x73d38f5b snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x765b7c57 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78114915 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7db50771 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e0696d1 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81609c22 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85a8347e azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88de3afe snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8cd985a8 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8db55218 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x928ad07c __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x92a527a0 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x946df143 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99ea8b09 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ccfd0b7 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d5a419b snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9db0f51d snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ed8959e snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0322994 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa116ae95 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa216c596 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa30ed8e5 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3ea876f snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa502fa4e snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa51b8762 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa55461b1 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa63d6d4d snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa67c3f72 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa6a73824 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab715b43 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad00d468 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad209769 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad3e03f0 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb13bce1f snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1c72f84 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb23e2271 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2b74032 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7d3d579 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb87732b5 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba145171 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb8a010f snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbbea192b snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc71dcb7 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf0541aa snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc03ac86f snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3084d27 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca0e612f _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca8c3449 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd13cddc snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0be2b0e snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd621a9ab snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7a371d7 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8030ec0 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd4c7701 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdeb4e967 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe2a60e76 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5b0f7b9 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe73f4b48 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xebb6259b snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xebc577bd snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf02ec665 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf197a7a4 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf458d650 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf51a1698 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa05fdf7 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfac0d651 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb2e2188 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe966f47 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x06201aab snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0a50f77f snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x17a9438a snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2ba66892 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3c126d17 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5efb0e5c snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6a7d5988 snd_hda_gen_reboot_notify +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 0x77f60f0d snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7b1bc456 snd_hda_gen_update_outputs +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 0x946f903a snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9c078a1b snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9e2d81d2 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb0f4a483 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb2bd12c1 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb8df05d3 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc1418612 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcc1098f4 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe06daee6 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe3491514 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf0a56d07 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xfac09a7f snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xfe2304ca snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x6edf0f1f adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xe9158894 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x199807d2 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x2acf1d14 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x38c3139c adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x71165bda adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x741b8377 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x995d4b02 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9caf4f39 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb87c6a36 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xbcdd78fd adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xec832dc3 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xb1eda668 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x2670f341 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x99fea727 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x1a812e2d cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x2e50a399 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xdf7fb693 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xe7755bd8 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xf093d838 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x07d28677 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x70319fc4 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x92a2f7ba cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7dfafa45 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x818b5dac da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xc9765e4e da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x70b8a332 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x875a263b es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hda 0xd3fcb0d2 snd_soc_hdac_hda_get_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x0134e04d hdac_hdmi_jack_port_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x375dd52c hdac_hdmi_jack_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x322207a6 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x433e4add max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xcf6d4006 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0x415ee37a nau8825_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x4eff82ed pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xa6efe709 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xedb13399 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x36cbd6db pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xea019fb1 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x33ea708d pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x6bde5ef2 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x05c90fa7 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x82158605 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x84d1f42b pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xa122ae4d pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x046320c5 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x1a7efb72 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x215f641a pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xcccf3f23 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-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 0x2aa70958 rt286_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0x905a8ce0 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 0x2e1b6769 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xabc9d4dc rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x33c03e50 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xcfad3433 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x3b3d07ba rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x052f947c rt5670_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x611e1a7a rt5670_jack_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x62350934 rt5670_jack_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x7c59e3e7 rt5670_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x4e0c1dc5 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 0x234b1b61 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x37858ade 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 0x751811f5 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7d33a0a6 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9180b659 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x99c16aac rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9fca7831 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 0xd310f82a rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xdcb231dd rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe0801425 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf7b5864f rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x687442d1 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xae46f790 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xbaa59955 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xdee7e133 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xeed9109e sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x4c637f7c devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x23744e68 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x6fe2d85e ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xcbc6d505 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa113d2f5 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x165de5f4 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1cd44a00 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x235ec5fc wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xa86f6080 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xda6201a5 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x7a51c186 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xa7061605 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0xd05aef2f fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x7b6b0a45 fsl_easrc_get_dma_channel +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 0x0c36dc8f asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x309feb4f asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x36013fc6 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3b7aeec9 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3b7e5d13 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x419ea2d1 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5e08804b asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x71cd2257 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8d039d88 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9ff36071 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa44d0594 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb67968a5 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbe4e48ba asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcf106370 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe3717eea asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe44e9659 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xeb93b80a asoc_simple_parse_routing +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 0xf5361afb asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x1de18895 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x8ade86a5 sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x2ed4cc52 sst_context_init +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x30aa0870 intel_sst_pm +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x4ac19495 sst_context_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x5181db9d sst_configure_runtime_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 0xd50ae505 sst_alloc_drv_context +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x019b3122 snd_soc_acpi_intel_cfl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1d21a3db snd_soc_acpi_intel_glk_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1f80ea06 snd_soc_acpi_intel_skl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2b5d28ad snd_soc_acpi_intel_baytrail_legacy_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2c947a0c snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x33ba323b snd_soc_acpi_intel_kbl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3719c4bd snd_soc_acpi_intel_broadwell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3aaabc6d snd_soc_acpi_intel_haswell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x49ee336d snd_soc_acpi_intel_icl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5b401a9f snd_soc_acpi_intel_cml_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5bf374aa snd_soc_acpi_intel_cnl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x70f4b115 snd_soc_acpi_intel_baytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7288ae6d snd_soc_acpi_intel_cnl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7beb3f35 snd_soc_acpi_intel_cherrytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x814c0dea snd_soc_acpi_intel_tgl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x862d7081 snd_soc_acpi_intel_ehl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x98304585 snd_soc_acpi_intel_tgl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xc628a218 snd_soc_acpi_intel_cfl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xcb73619c snd_soc_acpi_intel_bxt_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xcfbf7257 snd_soc_acpi_intel_hda_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xf45a3960 snd_soc_acpi_intel_cml_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xfc535677 snd_soc_acpi_intel_jsl_machines +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 0x1f0cd92f sst_dsp_dump +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x26750849 sst_dsp_shim_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x268f89fd sst_dsp_sleep +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x38cce113 sst_memcpy_fromio_32 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x3eb17b35 sst_dsp_inbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x41c1ddf7 sst_dsp_shim_update_bits64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x456ad190 sst_dsp_shim_update_bits_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x5330ca11 sst_dsp_inbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x58130687 sst_dsp_shim_read64_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x62f6f1f1 sst_dsp_shim_read64 +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 0x87ceb85f sst_dsp_stall +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x8914c9b9 sst_dsp_outbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x8cc85060 sst_dsp_shim_update_bits_forced_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x921ea360 sst_dsp_reset +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x98a529b8 sst_dsp_ipc_msg_tx +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xa802b604 sst_memcpy_toio_32 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xa84e6414 sst_dsp_shim_write64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xa9c54be6 sst_dsp_shim_write_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xb176c241 sst_dsp_shim_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xbb4a4e95 sst_dsp_boot +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc1990ef8 sst_dsp_shim_update_bits_forced +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc2d50b87 sst_dsp_register_poll +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xcb61e65a sst_dsp_mailbox_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xd6bb3b53 sst_dsp_shim_update_bits64_unlocked +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 0xd79457fe sst_dsp_ipc_msg_rx +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xe282910f sst_dsp_wake +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xe66674ec sst_dsp_outbox_write +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 0xea8fbd2f sst_dsp_shim_write64_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xf2daab14 sst_dsp_shim_update_bits +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xf718e03a sst_dsp_shim_read_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x192c850c sst_fw_free_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x1f9a7f65 sst_module_runtime_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x46b8db8c sst_dsp_get_offset +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x4700547c sst_block_alloc_scratch +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x55ee4404 sst_module_get_from_id +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x5b2a96a1 sst_block_free_scratch +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x6583e346 sst_module_runtime_get_from_id +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x71ac12fa sst_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x81ebdbad sst_fw_reload +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x82441e2a sst_mem_block_unregister_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x852bdb06 sst_dsp_dma_copyto +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x877dc955 sst_dsp_dma_get_channel +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x885edf6b sst_dsp_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x90450096 sst_fw_unload +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x90d2fc36 sst_module_runtime_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x93fbfadd sst_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x97b0a221 sst_module_runtime_save +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x98c10e46 sst_fw_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0x9ce30303 sst_module_alloc_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xa07e01d4 sst_mem_block_register +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xa3e24b75 sst_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xaa7d786b sst_module_runtime_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xb778f30b sst_module_runtime_restore +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xbe296f82 sst_module_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xbfbdebe7 sst_dsp_dma_put_channel +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xc0025984 sst_dsp_dma_copyfrom +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xcd4220cd sst_module_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xd15f3a14 sst_module_free_blocks +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xe0669240 sst_fw_free +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-firmware 0xf0cbc141 sst_module_runtime_new +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x086a3869 sst_ipc_tx_message_nowait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x458a6dc6 sst_ipc_tx_message_nopm +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x71b6679e sst_ipc_tx_message_wait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x8bc3963e sst_ipc_tx_msg_reply_complete +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x9f6994e7 sst_ipc_fini +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xb05a9269 sst_ipc_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xb270d80e sst_ipc_drop_all +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xf7f7c9b2 sst_ipc_reply_find_msg +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0x39d3f40b sst_hsw_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0xb40ff91f sst_hsw_device_set_config +EXPORT_SYMBOL_GPL sound/soc/intel/haswell/snd-soc-sst-haswell-pcm 0xf680a973 sst_hsw_dsp_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x6c5d2bcd snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x8795d901 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0xa2585abc snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x005152bd snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00eb57a1 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x044f02db snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x058e6f65 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0615a861 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0785d336 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08ba7060 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c101653 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c987f0b dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ca21b87 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0caad645 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0caccab8 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x104e2d41 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1294b7c1 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12bbe619 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13a42598 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x144defd6 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15660de8 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16e558f6 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1844a41d snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19d89a3f snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c88ec97 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1e472dfb snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20cec904 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2176cbe8 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21c0cf17 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2323e412 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23c182ea snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24d421d2 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25369703 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x264f26d6 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26aee094 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x272c49f7 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28d2faaa snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2960c0da snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2976511f snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2985133e snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b47ce54 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2bc283bd snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f5b4fe1 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30288721 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3034de84 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x31e54bbf snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33d794a0 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34b2be7b snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3527478d dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3566c964 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a3b84af snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40ce6240 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x455fefba snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48765c67 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49dabfce snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49f0c4c9 snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a9ad136 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c81d868 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4db6eb5c snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f3d8704 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50dac5b4 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52120105 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57ec2e42 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5958549f snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59ce7d38 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bde5d6d snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d8abbae snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dce28cd devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61bef494 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66c7fe87 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67514c39 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x689ce95f devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69725dd2 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a54a115 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a80ec20 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ae73e4b snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bad13a7 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c59bded snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cb68f58 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cde7914 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d64d096 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6dc4a86b snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fc3c302 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7114aa19 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71d6ccb0 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72d471d6 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x735c7854 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73c4b14f snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73d5e562 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7622a07d snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x764efead snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x766cb2fd snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ae1661d snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d33cc46 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 0x7e7af580 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f4a4617 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80e5bd53 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81127e8b snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81909281 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x819d501e snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83051fa6 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83ed7f75 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x840021b7 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x853754be snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8550d85c snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x883277c8 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88ad5d24 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a28dd0e snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8aea621f snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c085e7f snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c8406cb snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d40ed2e snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e75dbe8 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8eb23e32 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f7c22b8 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fe52957 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91564e5c snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9288c6a9 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93801fbe snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9393186d snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96100005 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96d4bea2 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x973946c4 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9942d12d snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9cc1b97a snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9dee03ed snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e83ff4e snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ee453f9 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fd0ce39 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fdb381e snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1a487f2 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa46a30ee snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6aebcde snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7b6570b snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa883e9b6 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9c617fe snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9fef1af snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0727154 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0803b40 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb340974e snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3529910 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3feee5d snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb846d333 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8dd9ced snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb0f5efe dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe987df6 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6a44afc snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc7b078bf snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8f75b2d snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca2bc1e2 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb36827f snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd8651f2 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdb6ba85 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf025b23 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd13650fa snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd26a7195 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd30ed068 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3c29ace snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3f03c8b snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5d75255 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7572246 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7d99358 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd879d214 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8834c65 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9a36c1a snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda29e405 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb2fd325 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc1c1ef8 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdcaf8b97 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd8531d2 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf6f460e snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe11e9371 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1784c93 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3e22282 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4a945c1 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5171d60 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe67a75b4 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeadbed3a snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed6a609d snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeda2d075 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef645cd6 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef6dfd2a devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0240523 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf03a1f77 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3e2dd91 snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4462c80 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf77bd118 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfafb0908 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc86f6b5 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd0f143e snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd9ebef5 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff6a9f36 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x1fa26fb9 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xa5638f1b snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xd0112f39 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xdc79d60a snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x133bd11d 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 0x223097b3 line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x458da28d line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x45d453c1 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5727b62f line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5dd7f1f0 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x65eff424 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x67de139c line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x77cfe908 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7ab30b75 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x84c85777 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb5a183cd line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb98dede6 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc275f67a line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf1660bbd line6_resume +EXPORT_SYMBOL_GPL vmlinux 0x00083217 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x000ce049 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x0018eb2e dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x001b074f mce_is_correctable +EXPORT_SYMBOL_GPL vmlinux 0x001b1869 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x0034f3b6 xen_has_pv_nic_devices +EXPORT_SYMBOL_GPL vmlinux 0x0044c6a6 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x00490aee pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x0052cf3a gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x00531a17 xen_xlate_map_ballooned_pages +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x0061e57a free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x00812205 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x008d1e6c irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x00b67465 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x00c110d5 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00c8fa0b net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00eb1609 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x00ef77ea pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x0103bfd3 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x010a839d xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x010ba6e1 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x011819c3 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x011baf97 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x012d8d9c relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x0130df8a devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x014727be max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x015fd5f0 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x016015f2 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x01694619 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x01819f2a spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0181a821 devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018b3d1e intel_pt_validate_cap +EXPORT_SYMBOL_GPL vmlinux 0x0193189b blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x01976069 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01b10fca ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x01c12c32 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x01d93667 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01eb9afd ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x01ee5532 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x020e84eb pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02404295 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x0246f548 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x02639108 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x02772a98 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x02a85dbd regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x02b8477a dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x02bfd52b dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x02cd4d05 pwm_lpss_remove +EXPORT_SYMBOL_GPL vmlinux 0x02d04021 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x02e1d619 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x02ec420f kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x0309763d blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0322f95f genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x032fb9ff pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034529cf do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x034bfb8f metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x036013a9 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x038d93b9 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039b9047 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x03a59ffa synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x03b9f1e7 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c3c886 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03e306dc crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x03e6b7b3 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x03e9e8fb switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x03eb32ab usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040e1962 x86_vector_domain +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x041f95f8 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x0423d57d devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x042c8fe2 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x043244fe rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0434be32 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x04358bc3 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x04420eaf srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x044ea143 acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x045443f5 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0475d07c virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x0482b006 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x049929c0 hv_stimer_free +EXPORT_SYMBOL_GPL vmlinux 0x049d69a3 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x04a020ec syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x04b832a2 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x04ba0735 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f35b50 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x0533d064 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x0543e5af nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0550a317 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x05527798 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058be7f6 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x05972e04 mmput +EXPORT_SYMBOL_GPL vmlinux 0x05a5856b __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x05a59d01 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x05a77669 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x05b6a51f usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x05c70748 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x06204df3 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x062a8dee get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x062f9006 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065510ba devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x065f207d power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x0671d86d crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x068487cd crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x06a7d42f skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x06c34b46 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d4b401 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x070ef097 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x071d91db fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x072417e9 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x073288a5 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x07413b77 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x07546eb9 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x0761b625 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x076632d0 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x076f31a2 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x07782df3 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x07829613 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x07873d3e gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x079d55a3 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x07a402e3 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x07a7e311 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x07a82ef8 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x07ad146d gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b49695 ip6_flush_pending_frames +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 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07c23703 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x07ce4225 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x07dfeaa7 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x07edeba7 hv_free_hyperv_page +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x0819d853 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x0821d76b ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0828d609 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x08319211 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x0834de8b devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x08376acc pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x083c7e4d set_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x08637975 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0875f76b ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x08795a28 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08861026 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x089ace10 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x08a57dfa udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x08b52c64 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08d72693 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x08e0ddd0 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x08e6a2ba iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x08f2d06d report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x0902a379 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x09082406 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x09152c11 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0925493f clear_page_orig +EXPORT_SYMBOL_GPL vmlinux 0x0928391e tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x092b6605 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x09407ca2 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x0942a2bf rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x094bec5e dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x0957dd49 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x096a7e6f x86_spec_ctrl_base +EXPORT_SYMBOL_GPL vmlinux 0x096a8024 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x096b2418 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x09aa3ab2 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09c7b909 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x09c816d2 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x09d63265 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x0a05e8bb gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x0a0c9d45 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x0a0f76b8 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x0a122996 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x0a1db190 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x0a2f8b27 setfl +EXPORT_SYMBOL_GPL vmlinux 0x0a31e0d7 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0a3edbce devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x0a502c98 dmar_platform_optin +EXPORT_SYMBOL_GPL vmlinux 0x0a50e275 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x0a571d77 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x0a69e823 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6c835b ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a7eb67e fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x0a80ed51 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0x0a843307 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x0a9f1bb1 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x0aa3660b unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0aa58a77 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0aa8161d __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x0ac0cf2e kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x0ac15736 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x0ac84292 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x0ad137d3 lpit_read_residency_count_address +EXPORT_SYMBOL_GPL vmlinux 0x0ad44414 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x0adc06d7 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x0adedb0f crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0af038f6 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x0af3978c crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af94f0c skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1070a4 pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x0b124e22 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b1e76c1 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x0b23ebc4 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b32dd43 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x0b50df01 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x0b51d16a nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x0b529e94 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b734bc2 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x0b758976 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0b9bf581 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x0ba39288 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x0ba7203c xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x0ba80764 acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0x0bb3e53e blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x0bc1c0e1 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x0bc49335 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x0bca2229 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x0bd8eae9 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0bdef760 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x0bf38f43 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0c02e4ca rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x0c08ec5a dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x0c1f0c6d ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0c29c9bd ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c36f24e badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c373e2f gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x0c3fdf55 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0c51a1de bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x0c545852 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x0c5ce4f6 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x0c8016a6 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c83d665 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x0c856e46 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x0c8f98c7 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x0ca142fb udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x0cb00368 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cb4e3bb sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0cb579c0 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc3b29e acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x0cebcd95 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x0cef1670 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x0cf411db edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x0cf4662d ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x0cf8492f ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x0cfc3e82 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0d0133d4 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x0d042c60 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x0d116ad0 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d7d3e87 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x0d81b6ce fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x0d9809ac sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x0d9a80ba ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0dbd1ed7 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dd2ef2b usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x0dd6e7b1 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x0dd95bc8 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dee0217 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x0dee5883 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e0be40c regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x0e114d29 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e1bc5d2 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e2079c4 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x0e29510f iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x0e2c985d bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x0e35dd9f ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x0e535bab fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x0e5b8b48 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e984044 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0eac1aab pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x0eafe150 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ef62f17 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x0f00ed91 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0f0b21fe pm_trace_rtc_abused +EXPORT_SYMBOL_GPL vmlinux 0x0f0cc84f tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x0f161753 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f2d7d87 mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x0f323f9b synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x0f3c7c51 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x0f3ccd6e devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x0f3d7977 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0f47d9f6 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x0f6aa6d4 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x0f77959b usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f92ebf5 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x0fa9775c blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x0fb111d9 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x0fb50212 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fc37562 amd_smn_read +EXPORT_SYMBOL_GPL vmlinux 0x0fcb16fb adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fe151f5 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x0fe7617c __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x0fee9b1f wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0ff9948d pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x100fed20 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1016e0b0 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1017f101 vfio_add_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x1032d3d0 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x1038b96f adxl_get_component_names +EXPORT_SYMBOL_GPL vmlinux 0x104042e2 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x1049582e kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x1081307d dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10915baa serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x10927d76 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x10928c8c dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x109ef068 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x10a229c1 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x10a932af vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10c9c0ee __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x10e0a821 nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110d5795 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x1123277f usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x113714b9 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x113c1688 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0x113d1815 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x1172d487 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x11799961 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x117a970a to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x117cd045 amd_iommu_is_attach_deferred +EXPORT_SYMBOL_GPL vmlinux 0x117fd8a4 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x1185c249 arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x1188cc05 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x118c8f1d __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x118ee29d spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x119acac5 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11ae61b4 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x11b32951 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11cdd846 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x11d6ddf7 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11dfddfd iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11fd644b anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x1203ecf6 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x120610d5 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x122caff4 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x123c4790 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x124975a1 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x127bd874 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x127cca07 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x127e71f6 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x12817edf crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x128df346 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12a0d6ba mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x12a103b7 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x12a1d62f od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x12a49cb2 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x12a4b099 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x12ab31f1 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x12b6a908 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x12bf155f balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x12c86c71 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12e285ec is_uv_system +EXPORT_SYMBOL_GPL vmlinux 0x12e3041c ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x12e9a440 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132d6c11 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x1330d78f aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1335efac clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x13391519 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x1339e020 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x133dafb9 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x133e032c device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x1340a300 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x134915e6 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x1349f572 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1374fed7 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x137ae2c4 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x138fe029 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13a9022a xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x13b9cc75 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x13bb8699 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x13c19ee7 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13cf6eaa ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x13e3aa9a smca_banks +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13fce9b2 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x140ddfe1 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x14101411 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x1418238a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1420aff6 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x1425c985 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x145f1f0c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x1489dccf fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x148f24eb mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x14a3a78c vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x14a828ac tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x14ab2d3d fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x14abf609 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x14cd7923 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x14cddb8f l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14eee0f4 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x14f4a348 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x14f9fd8f mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x14ff2e9b acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0x1523261d rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x1527fee8 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x153113d5 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x153701ea of_css +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154d389f dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1551a3d8 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x155ed5df PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x15602956 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x156cdac8 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x15856b3b i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x158cc922 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x15adf45c dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x15af5f5b genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x15b35624 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x15b814eb shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x15c6e32c crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x15d0473f rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x15d1c8be get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x16007f33 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x160da6ac __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x165476b4 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x165775f3 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x166d6443 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x166db1b5 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x169f41c4 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x16d95e2f pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16e91669 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x16f21813 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1722272f hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x17235ecf i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x172c1aee thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x172fdfeb regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x1735ab72 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x174480f5 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x1748e2a2 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x174aa477 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x175b547d debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x175c1987 __class_create +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 0x178381b6 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x178500d8 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x178c1814 devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x178dad6f __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0x17a12d60 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x17a3993f __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x17add64b gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x17b48114 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x17bcb864 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17eb09af __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1800d246 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x180e6ea3 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x1821dcbd spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x18298af5 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x182d0cb0 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x18323452 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x184d0fe1 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x18516b36 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x18611b0b ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1866afbf fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x18a14c6e debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x18a5236d follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x18a7817f xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x18a98b69 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x18cb71b1 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x18cc8a74 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18ccac3a serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x18d7efd8 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x18da6710 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x19084f2a restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x19284ef6 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x192d9299 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x192d9644 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x193b5fc9 gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x1941d0d2 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x19664142 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x1968107f metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x1970fdf5 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x198352bc devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x199e6640 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b5a38c vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x19b748cd __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x19bed447 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x19d12a41 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x19d739bd tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x19e72525 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a0825c8 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x1a0d0668 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a2cc64a iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x1a496319 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x1a51c4af proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x1a545334 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a6c4790 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x1a75b4b8 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x1a75c714 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x1a8dfdfc gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x1a970bbc pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x1a9bb5d8 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x1aa789cd irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ace08c3 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x1acf039c ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1aff3d55 mce_register_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b1471f3 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x1b235905 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x1b3bd360 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x1b415c5c linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b57f0cb devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x1b58e897 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b610deb clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x1b6131b9 alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x1b6a2fa5 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1b7f0e0f security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b8c0261 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9609bd iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x1b9e89ec ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x1ba0ca0a __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x1ba237b0 default_cpu_present_to_apicid +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bee6681 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x1bf8226c fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x1c36bbdf led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1c44b902 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1c4d1859 trace_array_printk +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 0x1c67545c ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c88162b l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1c88a35f pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x1c8c563e metadata_dst_free_percpu +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 0x1ce0147d devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d0598b3 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d272e95 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x1d34db7c xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x1d3ca0d2 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x1d4ffcaf vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x1d54419c pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x1d5dfac7 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x1d6e9eb6 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9e06d5 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x1dd4c2f2 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x1de34e66 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x1dffb73c ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e37cc40 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1e3d7978 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x1e46c663 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x1e51dabb __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1e58b5a1 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x1e5a5f22 sn_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7dc9a9 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e80593a vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e93d8ae bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x1e9abb25 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1eaec09e sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x1eb0db06 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x1eb4dfca pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed32bc4 pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x1edf9743 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x1ee7d3cd hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1ef5c24e ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x1ef5fff5 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x1ef8c651 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f0e19b0 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x1f1ddd8d copy_mc_fragile +EXPORT_SYMBOL_GPL vmlinux 0x1f30a8b3 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5ece97 cond_wakeup_cpu0 +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f923cf0 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb70eb9 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x1fb76514 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1fc82afe rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x1fceb152 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x1fdcb255 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x1fe0c35c devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1fe41d36 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fed22d5 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0x1ff3bd60 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x1ffc0023 security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0x200f4bf0 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x201e6eb8 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x202a8814 devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x20327138 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x204140b9 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x2046e2b3 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x204998d1 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x2050ac58 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x2051bd62 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x2051cfd9 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x205c258f crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x20642c2c led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x2074da89 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x2085e3c7 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x20899467 hv_stimer0_isr +EXPORT_SYMBOL_GPL vmlinux 0x208ca439 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x2093f4dd clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x209c7857 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x20a28576 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x20a5d96e lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x20a842eb dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x20d2af31 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x20db6f96 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x210b8a46 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x211fe6a5 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x212e25a6 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x212ec423 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x2134a5d3 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x214d48b1 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21747884 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x21828601 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x218b1b8d device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x218ef097 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x219afeaa dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a7fe32 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21c34c8f gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d51561 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x21d897f5 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x21dd2b0d __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x21debadc phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x21edab73 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x21fd922d pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x220fddfa devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22261511 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x223ed963 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x224027a2 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x2246b4dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x224ef4bb skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x226099cb lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x228816e6 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x228de796 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x2293291f inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2298d2ee devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x22a51707 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x22a64fe8 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x22b325ac ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x22b43dc6 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x22ce5d0a __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22eca181 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x22f214ce sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x230f7e27 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x23323c31 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x2347e3dd bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23797701 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x237f9ad3 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x23823ac6 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2384a40b sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x23851413 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23920c18 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a58c23 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x23a5ef71 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x23a7808e ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x23b4e0d7 clear_page_rep +EXPORT_SYMBOL_GPL vmlinux 0x23ba4eca driver_register +EXPORT_SYMBOL_GPL vmlinux 0x23f113cf skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x2410c338 x86_virt_spec_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x242de5f7 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x24307c50 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x2449db9f addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x24500a32 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x24611f1f sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2469810f __rcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x246df185 hyperv_fill_flush_guest_mapping_list +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x2478f704 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0x247a1ab0 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2491033f badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x24968af8 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x249abffb sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x249cca27 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x24a1abad __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24b3c524 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x24b741b9 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x24b8d2e3 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x24d28c83 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e48623 bpf_trace_run5 +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 0x2502e591 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x2524bae3 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x252eedda inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2530ef63 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x254b49ee devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x25558bc3 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x2556939e pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x258473ab __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25a49a62 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x25ad9714 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x25b1f314 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0x25c629fd usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x25e7da4f scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x25f02c87 xen_p2m_addr +EXPORT_SYMBOL_GPL vmlinux 0x26123465 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x262a7063 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x263b2f86 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x263ce27a pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0x263ecbbe __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x263f039e xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x264845a3 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2667a852 pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x2669866d xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x266e9fc4 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x267646ca blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x267831ee is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x267f53a9 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x268b7c3f blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x26997376 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x26a2f896 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c81ae0 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cda94f e820__mapped_raw_any +EXPORT_SYMBOL_GPL vmlinux 0x26dabed3 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x26ec12f3 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x26ec9be6 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x270d11c1 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x270d3542 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274d7966 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x276ea250 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x2775f62a __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x277c1c0c wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x27849877 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x27b2c883 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x27df3105 hv_alloc_hyperv_zeroed_page +EXPORT_SYMBOL_GPL vmlinux 0x27efb3b9 acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x28010021 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x2807e376 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x283112f0 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x283e1a79 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x28461c90 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x284743e0 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2864de59 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x286bfc41 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2887cc9d tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x28a94f58 dm_device_name +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 0x28d9ae87 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x28e64c64 xen_has_pv_and_legacy_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0x28f2e3f8 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x2908db5b gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x291c29a1 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x29252e74 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x292eb0cb fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x29442388 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x295057e9 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x2951a872 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x29552115 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x295766e7 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x29646c60 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x29649545 xen_pcpu_id +EXPORT_SYMBOL_GPL vmlinux 0x298291b5 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x29863bea devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x298d9d86 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x29bc936b icc_put +EXPORT_SYMBOL_GPL vmlinux 0x29bd0f17 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x29cb3f51 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x29d015e3 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x29e1f146 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x29e76998 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a02eb5e phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x2a048cc7 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x2a0a254d dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x2a1c035b ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x2a1c3469 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2a246413 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2a2543a2 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a3f8bf8 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2a411095 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x2a58ae55 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2a62ba6d serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a62e7ad irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a6de973 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x2a80dc85 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x2a84297b netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a8adb5b pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x2a9a27f8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x2a9ba722 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x2aa06c2b nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x2aab2a8c devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2aac698a regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ac29fe0 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x2ac3d632 serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x2ad41f3e hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x2ae354e8 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x2aff68f9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x2b01f814 irqd_cfg +EXPORT_SYMBOL_GPL vmlinux 0x2b0765ca xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b10a208 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2b1257ce serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x2b1412a5 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x2b260a74 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x2b3b7865 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2b3c39d2 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b5910d6 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b67b6b7 mds_idle_clear +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b7e9709 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2b7fc385 hv_init_clocksource +EXPORT_SYMBOL_GPL vmlinux 0x2b824102 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x2b8395cf scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x2b9409bb dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b988039 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2ba665c7 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x2bab04be acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x2bbe6c59 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x2bc85ea7 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x2bc9cb32 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2bcb29f1 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x2bd1a90d cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x2bdc00ca ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x2be310c9 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x2beb293e pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x2bfbdc54 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x2c0012d6 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x2c0a03c5 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x2c0c1704 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2f5a09 x86_family +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c648328 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c68c5e5 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x2c6975e1 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x2c6a8b47 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x2c6b588d put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x2c6d451e cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c7f74ae devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2cc0fe28 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x2cdf72ce i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x2cdfa3ba devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d393f48 intel_soc_pmic_exec_mipi_pmic_seq_element +EXPORT_SYMBOL_GPL vmlinux 0x2d3b8ebc sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d467c8c hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x2d534114 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x2d5741e8 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x2d5e6b3b inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d7c9542 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x2d8178c0 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x2d836808 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x2d919801 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2d926200 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x2d97e243 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x2d980244 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x2da78e29 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2db33d9f dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x2de0c964 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x2df030e4 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x2df460a2 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x2dfacdce device_property_read_string_array +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 0x2e2df7f4 irq_remapping_cap +EXPORT_SYMBOL_GPL vmlinux 0x2e3301ae rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x2e4c825a ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x2e66ef23 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x2e678211 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2ea15626 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x2ea7f1ee gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x2ea8eab6 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x2eb0d999 blkcg_activate_policy +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 0x2ef3b1c7 store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0x2ef8665d kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2ef9fd64 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x2f00c636 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f0ff2e5 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f426c22 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f5208af scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x2f5d26a8 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x2f5dd7c6 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x2f5e7fbe ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f6aaeb5 __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2f6ae4cc blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x2f6fc558 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2f7893da firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x2f8b3673 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x2f9f5c5d blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2fb0dc13 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x2fb3a3c8 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x2fb72e9b sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x2fdcfd28 smca_get_long_name +EXPORT_SYMBOL_GPL vmlinux 0x2ff9ca75 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x302a15f6 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x302ddd6b sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x3032889c bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x303fc0d1 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x3040950e __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x304d3699 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x305902d4 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x305e3273 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306b4201 acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x306c0914 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x30722d0a pwm_lpss_resume +EXPORT_SYMBOL_GPL vmlinux 0x307a5f46 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x308599a7 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x3090cb05 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x309f2e1b ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x30a8edf7 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x30aadf42 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30cf804f slow_virt_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x30d2e81b skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30f21cf1 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x3116f3d7 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31332bf9 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x3134ea21 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x31358705 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x3137c0c2 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x313d7ff5 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x31402a6f devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x31455a41 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x315580e0 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x31586aaf dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x3165daa3 arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x31708a2c platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x31785f08 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x31891b0c regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x3194cfe4 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31ad61a4 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31ca1bfc __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x31cfdcd5 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31efd72c platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x31f5a14a iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x31f62391 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x31fde53d pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x3209f5d1 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x321c3185 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x3231881e transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x323afd93 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x323ea1ec bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x32625998 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x326811a9 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x327e02b8 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x328e3354 __memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x3298d543 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x329e72db udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x32a81771 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32b0dfe1 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x32b4a056 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x32b5f595 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x32bb1f39 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c2bb04 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x32c3119f scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c6c604 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x32cb367e genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x32db051d rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x32ddbdd6 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x32e27056 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x32e3b076 mxcsr_feature_mask +EXPORT_SYMBOL_GPL vmlinux 0x32e520fa edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330aae75 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x331e0870 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x3323e8e5 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x33241212 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x334067f1 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x334ab16e iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x3351b9d6 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3362b03c xen_p2m_size +EXPORT_SYMBOL_GPL vmlinux 0x33655159 xen_pcpu_hotplug_sync +EXPORT_SYMBOL_GPL vmlinux 0x336abed3 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x337bf652 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x33835348 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x33835c24 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x33f779d6 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x33fc126b iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x340a301a device_attach +EXPORT_SYMBOL_GPL vmlinux 0x340e8823 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x341156d5 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x3421ca7c __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x343da720 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x34491f00 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x3449ee05 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x345379e0 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x345816f4 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x347e16ad devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x34b47346 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34d48f42 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x34dbb6b0 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x34de0922 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x34e08ffa driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x3505a279 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x3509724c platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x350b2bfb platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3520aedf wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352dd9de fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35407f49 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x35601145 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL vmlinux 0x3569e545 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x357c727e devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35876228 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a84e10 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x35b18819 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x35bc6322 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x35cdc550 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x36173c1d phys_to_target_node +EXPORT_SYMBOL_GPL vmlinux 0x36213021 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362cbfa9 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x362f6627 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x36440185 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x3645677e rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x36470f57 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x3647beca cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x368e1b40 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x368fed0a sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x369e4399 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x369fd647 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x36a2c467 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x36b15ebd platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36d8af4a blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x36eec6b1 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x36f370a2 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x37230ee1 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0x372cfd6e gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x372e8629 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x373c9858 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x37574653 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x376777c9 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x37895973 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x378c3baf wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37958453 devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x37a360c4 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x37a67d46 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x37b235ea fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x37bc3020 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x37c48e5f pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x37d2230b usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x37d6b292 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x37ddaa90 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x37e602cd fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x37f292c4 pmc_atom_write +EXPORT_SYMBOL_GPL vmlinux 0x37f4627e ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x38189465 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x3827ea13 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x383f31b5 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x385723f1 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x385fc6b7 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386a1869 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38a1925d tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x38a64bcc tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38ac5422 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38b07996 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x38babc6f task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x38bf7e55 devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38df5193 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38e9ddce ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x38f15d53 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x3921ac11 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x3922d8d2 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x39343611 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x393b0282 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x3947276f ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x394e23d6 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x395f5e1c srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x39626a9b rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x396e2fd7 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x39852ff6 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x39a0cf1e gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x39a38c74 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39a989c9 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x39c438b5 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e29d7b fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39f9f9c0 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x3a0eb1ab nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x3a23ada2 led_put +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a2bd67a devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55259d perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a6a3bfa cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x3a6c8f6e bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x3a7d80f9 xen_max_p2m_pfn +EXPORT_SYMBOL_GPL vmlinux 0x3a89d656 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x3a8bbb8e trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x3a8d187e ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9e9c11 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3acef805 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x3ad374f3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x3ad43503 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x3af578f5 hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0x3b07f6fb ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3b0d04a8 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3b30fe6f fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x3b3774f5 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x3b37f616 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3b4b074a usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5ae0c6 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x3b722dee udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x3b87827f pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x3b891caf pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x3b8979ea gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3b8bb790 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x3b91db5b intel_pt_handle_vmx +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3b987bbb ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3bd4ef70 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x3bda2c10 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3be83c82 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x3be9235f device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf371d6 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c10a761 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c212744 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3c21309e dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x3c479787 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6a22da set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3c7849f7 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x3c805f7f crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x3c8b55e0 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x3c8dd0fa ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x3cb3e9d7 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x3cc0f319 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd69e0a find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x3cee0068 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0x3d0e2c65 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x3d0f1c29 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x3d1d4ba9 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x3d26ca75 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x3d2dd80d class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3b5d52 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d514af6 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x3d59503b irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x3d5ac29e badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x3d5b9abe fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x3d5bfa81 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x3d5ed473 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x3d882cc8 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d9d0184 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x3da365a4 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x3dabfa4c sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3dedfe66 i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x3df82d00 mce_log +EXPORT_SYMBOL_GPL vmlinux 0x3e09dbdf input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x3e1d1692 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x3e36ef5c max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x3e6dfff4 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e989d71 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x3e9cd7d5 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ec24b4b clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x3ed0f8d2 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x3ed96173 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x3edfcf43 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x3ee3487e iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efaaa8e spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x3efb0685 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f0c27b1 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x3f0ebf1a crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x3f2196f8 acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x3f268a84 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x3f2e1cc5 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x3f410102 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f4abed1 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x3f51c283 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x3f6e7d78 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f859320 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3f9040f5 acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0x3f98f954 devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x3fac0638 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fb6501c __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x3fcd7316 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x403e413c cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40411eea pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x4060cd95 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4063ffee usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x4066ff20 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071501c ndo_dflt_bridge_getlink +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 0x4090eeb4 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a0aafc __flush_tlb_all +EXPORT_SYMBOL_GPL vmlinux 0x40b43bd0 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x40ba8f35 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x40bce43e ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x40e0679d battery_hook_register +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 0x41066d66 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x4109d8eb __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x410e6cef pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x41137333 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x4129f5ee kernel_fpu_begin_mask +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x412feeef __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x417d3d14 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x41903887 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x41948b13 cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x41982746 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x41992bc4 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41b67ecb regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x41d88a11 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ef3afb dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x41f11086 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x41f53a94 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420700d6 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42230915 sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x42288420 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x4228bcbf kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x422a8185 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x422fd357 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x4235ab94 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x42482deb irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4268105b md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4269ab7f usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4281bfe7 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x428b849a regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x428f829a devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x42b0c7f8 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x42b4779f _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x42ceb892 devm_acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ecf449 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x42f6fc4d bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42f85e70 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x42fba1c7 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x42fd3a28 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x430e8339 md_start +EXPORT_SYMBOL_GPL vmlinux 0x4339345c wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x4341229c sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x4343530c edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x436609cf ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x438ec28b dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43ac4aa7 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x43d93462 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x4404c195 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x4406dd79 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x44071480 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x440c2dfd pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x4434ca12 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x4436fb1f sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x44435168 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x4447e72f pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x444a1877 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x4453718e ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x446f2158 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x44779072 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44885d25 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x448b0a57 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x4498e9cc device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x44aad347 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c1c689 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x44c27f5a devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x44c58c16 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44da15f4 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44ebe25f vfio_del_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x450110e8 perf_assign_events +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450a9f22 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x45124e07 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x452fe12c clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x453b3aff of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x4541ca55 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455fe868 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x45612c6b device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x45718ac8 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4578f421 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x45c96e60 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45d416a2 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x45e1e282 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x45e6fa7d blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x45fd0ae2 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x460bcc99 component_del +EXPORT_SYMBOL_GPL vmlinux 0x460bd376 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x461ecb8f ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x463d8290 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x464768aa lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x464f7e6c clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x46516210 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x466093fb init_iova_flush_queue +EXPORT_SYMBOL_GPL vmlinux 0x466d3178 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x46817941 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x46846b53 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4689d8dd tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x468cdd0f virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x46951eb0 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x46a6c9ef hv_get_tsc_page +EXPORT_SYMBOL_GPL vmlinux 0x46c26495 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c64c29 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x46d332b1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x46e561c7 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x46ed397a extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46fabebd devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x471254bf usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4727bcde pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x47443e34 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4768a712 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x47776545 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a89953 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x47a936c5 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47b5c4c3 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x47cb2bbc dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47da56d8 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47dfff94 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x481be385 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x484946ac proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x485968b6 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x487b2d33 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x487e1e0d devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x488d1351 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x4894b10d spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x48a3809b sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48c3eb9f udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x48f49400 apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0x48facd7f i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x48fe4c6d tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x4900d536 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x4908086e perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x490eed28 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x491bb712 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x4920d87b inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x49878bc7 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49919307 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x49951708 sev_enable_key +EXPORT_SYMBOL_GPL vmlinux 0x49a616ab tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x49b4a6ba usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x49b90f20 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x49c14a61 ex_handler_fault +EXPORT_SYMBOL_GPL vmlinux 0x49c511ce crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x49c5400d kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x49ca7981 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x49cd2692 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x49d17cde tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x49db5c64 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x49e59bc2 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49eb7855 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x49ee99ee devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x49fd1a34 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x4a1072eb __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a1bc6d1 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x4a29381b bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x4a2a733b __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a5a4b43 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x4a80c106 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0x4a8695c6 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x4a89c571 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x4a9c2399 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x4aa349cb kvm_clock +EXPORT_SYMBOL_GPL vmlinux 0x4aa58bea inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x4ac24598 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x4ac46c27 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x4aebb841 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x4aeda8d1 arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x4aefa707 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x4b11dc3a tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x4b358006 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x4b36fa40 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x4b464ce5 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b56ce05 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x4b5ab7fc edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4b61e1e9 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x4b6c1dc5 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9ad7d5 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x4b9d9f9c screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x4ba44be0 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x4ba476d7 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x4ba8639f user_update +EXPORT_SYMBOL_GPL vmlinux 0x4bb9f789 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bcdb711 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x4bd03686 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x4bd334bd regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x4bf45866 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x4bf5b5ed devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x4c0ba2ed tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x4c1cc510 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c2f354a iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0x4c47fe4c gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x4c762b5c x86_stepping +EXPORT_SYMBOL_GPL vmlinux 0x4c8b39a5 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0x4c90ac14 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x4caabf05 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x4cab902f dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4ceb15c9 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d16195e __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4d202b8c __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4d241e42 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x4d2c2ffc da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x4d39808d fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x4d3f362b virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x4d446497 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d52413d __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7cd9fd iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x4d7fbfb5 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4d867146 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4d8a96ab xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x4d8b6041 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x4d8c9800 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x4d8df60a ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x4d964e74 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x4da1f4a7 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4daff65f thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x4db99590 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x4dc108f4 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x4dce69d1 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x4dd97b6c rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df4f10e devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x4dfda581 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x4e00a09f lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x4e069ca7 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x4e105e62 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e372f68 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x4e428c01 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e4c503b iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0x4e584456 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4e69f744 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x4e824bd7 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x4e85351d dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb214d5 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x4ec9ddb3 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4edec5a5 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f17b1c6 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f43aa5b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f78bebb devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x4f93567d __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x4f99e1de devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4f9b5094 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4fa572fc pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x4fa9793f usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x4fac98a7 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x4fc02643 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fc8206e sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x4fc8ba65 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe53b60 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4feb1a77 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4feb62f5 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x4fff46d1 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x50286284 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x50547c57 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50615b73 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x507644df regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x507aad60 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x507e0505 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x508ea8df acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50a63f93 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x50a9e0ac tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x50b03f5d l1tf_vmx_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51068c48 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5109e548 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x510c4c9b kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x511bd992 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x511ca058 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x51258df5 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x512890d8 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x51505718 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x5169c91a virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x51858dcc ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51a77461 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x51b7e2a0 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x51bd2ac2 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x51d3f1dc balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x51d9477e usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x51dced40 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x51e70531 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x51eccbc0 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x51f3d255 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x520614a7 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x520639ca input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x52121118 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x52169726 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x52169927 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x52196f40 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5226c9d3 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x523c2585 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x52418ae0 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x5244814d __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x52457d9a evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x52511014 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x52517920 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x525a3d78 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x526c8560 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x5271c928 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x527289f4 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x5286bea5 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x5299db33 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x529ca166 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c9e9f4 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e8fc29 gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x52eadfec fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x52f2e891 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x531b3da4 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x531ee06e add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x534b92d2 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535d4d72 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x536441f1 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x5369bef8 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x536d6d22 cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x536e7148 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5385aba9 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5391f2c7 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x539f157b pci_xen_swiotlb_init_late +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c47c53 apic +EXPORT_SYMBOL_GPL vmlinux 0x53cd2ca5 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x53cf05cc tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x53cf9d09 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x53d07965 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53ede5c3 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x53f06559 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5402efcf tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x544c98af kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x544f2291 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x5493ab99 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5493d084 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5495523a kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x54955855 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x54974c44 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x54bc2911 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x54bc4213 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x54c34e77 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x54c682de blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x54dcf4d2 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x54f8fc3e em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x5506fe5a usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x550c6b23 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x550ce709 pat_enabled +EXPORT_SYMBOL_GPL vmlinux 0x550d56c3 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x5517f6bf __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x5518f7da sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x5533915a gpiochip_irq_domain_activate +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 0x555f9eca rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x5568fa0e rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x556d2606 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55a1880a pci_msi_prepare +EXPORT_SYMBOL_GPL vmlinux 0x55acac3e ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x55b8f531 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d69e02 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x55d89fb0 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x55dbad83 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x55eaf578 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f9f361 rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x55fa05a3 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x55fefd6d eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5608a17e bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5614acbd usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561c4e7c dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x561c5d77 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x561f6317 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5624b556 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56333e35 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563cc7a6 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x567299af crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x5674b3cb rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x56966714 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x56a6f8aa device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x56c72395 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x56dbd822 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x56f7799f devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56fd6a71 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x57086aa8 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x5714da57 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x571f4a46 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x572782d2 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x572fa4ac devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x573ebd26 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x5744015b __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x5744f05f __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x57732438 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x5799bf32 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a59762 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x57a66ecc gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x57af023b devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x57b4e4d0 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x57bce0bc crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x57c1c94a ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57dc21ea security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57fa0ac3 unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0x57fc6936 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x58052be3 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x5818533d rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x58240b49 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x582b810a fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x582efb37 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58374104 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x584bb63c i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x58578422 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x585f3215 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x589cecbe to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x58adc7eb __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x58cff4d8 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x58d6311d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f03b99 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x58f0d2a9 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5909478b dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x5927c1cf usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x5931a76f wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x597acc41 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x597cf1a0 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59982fd4 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x599fc350 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c6aff4 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x59d2a1b4 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x59d69da1 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x59d816b2 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x59dc1c81 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5a090912 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a1f9b73 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x5a2d0c81 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x5a33a113 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a49e206 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x5a4f86af noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x5a62b45a pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a6ed4e0 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x5a70f107 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x5a72f77d posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x5a743241 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a8f070b device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x5a9a4e38 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x5aa03412 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x5aa652c5 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ac0c170 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5ac0d3e0 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5acbbbee is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x5acca8e5 clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x5ae61a57 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x5aed597e rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x5afc7e37 bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x5b20bef5 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b3436eb skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5b512d69 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x5b639b6e irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b746ac8 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x5b7a8a2b sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x5b7b965c ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x5b8073eb arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b873bf5 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x5b884364 hyperv_report_panic_msg +EXPORT_SYMBOL_GPL vmlinux 0x5b8eb507 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x5b91081a platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x5b9fb90a pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x5baac58f acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5bb289ac __tracepoint_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc7d34e ima_file_check +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 0x5be7ce83 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x5bea6214 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x5beeec77 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x5bf6d649 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x5bfae8ff kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5bfcdb5f handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x5c051815 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x5c10fd63 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x5c15f21a nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x5c2b909f pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c3842ef rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x5c3bec6e devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x5c49f663 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x5c530d4c scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x5c5861a4 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x5c588b47 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c60f016 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c764f8b pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x5c9219a1 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5c95c0c2 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x5c9be9ca iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x5ca283ec dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb0ddd5 intel_msic_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x5cb26c86 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x5cb361c6 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x5cba94a1 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x5ce332d5 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x5d0603a4 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x5d0d201e tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d1cdce0 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d2c31d5 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x5d33afc7 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x5d3c991d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x5d3dacef virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x5d3eb70f gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x5d452b88 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x5d4bafc2 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x5d5412f0 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x5d555273 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x5d6f5136 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x5d7b2c38 vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d85df0e skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x5d882013 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5d9317d7 uv_teardown_irq +EXPORT_SYMBOL_GPL vmlinux 0x5d93d20b fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x5d966550 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db52e5c xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x5dbbfb3a efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x5dbcfa4f boot_cpu_physical_apicid +EXPORT_SYMBOL_GPL vmlinux 0x5dc5b424 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x5dcd0d22 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x5dd3ec8a ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x5de2bfdd register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x5de5d9fc usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x5de7447d __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5dea33a4 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x5df141c3 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x5df19a1c rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5df1b21d ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x5e060735 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x5e0d4b56 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e1e8c21 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x5e3966e8 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e50e716 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e63c4ec iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x5e77ee20 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e95c216 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x5e98f1f8 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x5e9cb9c1 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5ec0db9a thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ec86525 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ee4a5c7 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x5ee7c2d2 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x5efea641 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x5f001575 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5f02701f iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x5f0b00ad elv_register +EXPORT_SYMBOL_GPL vmlinux 0x5f164f0b __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f25303a irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f2fcc83 ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x5f301230 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x5f3c971b pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x5f646242 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x5f6e31fe nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f75444e inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x5f828d35 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x5f9157c5 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5f91a5c0 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x5fa02141 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x5fa33bbd gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x5faa347e crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5ff0fcee uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x5ff8afe3 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x5ffac4e8 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60069ee1 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x601158a1 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x601ba3eb __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x60200c51 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x6036ebd1 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x603b042f __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6046824f of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x60578e4f kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x606d7559 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x607c1a19 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x607d4aa1 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x60806523 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0x6084461f dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60ac6281 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x60bbee8f irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fe933e devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x611fff52 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x6124e3bb dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x612c8d3e devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x6137e4e8 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x613cdde2 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x61685ba1 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x617b026c hwrng_register +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 0x6199f520 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x619b14da fpstate_init +EXPORT_SYMBOL_GPL vmlinux 0x61ae1d2d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x61b3de38 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x61b40bee bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x61b4cf8b dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x61d24ace update_time +EXPORT_SYMBOL_GPL vmlinux 0x61ec0205 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x61efd142 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x620381a0 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x6212f8ce ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6219cd8e max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x621dd2ce vfs_test_lock +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 0x62495099 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x624a1feb iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x62513e33 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625dcb51 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6267e081 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x629ffd40 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x62ba7560 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bb9b00 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x62bce3fb crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x62bceea7 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x62c30b14 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x62d25b2e mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x62e071e7 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x62e884ce pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6317f132 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x63205f28 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x632be60e sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0x63336112 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x63378d92 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x633806a5 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x6338bf98 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x6340434e x86_model +EXPORT_SYMBOL_GPL vmlinux 0x6340fcab mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x634ae6b3 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x634d08e8 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x635b66e8 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x638853a9 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x638a9653 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x639ae1fa fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x63b71d49 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c8fd2b hv_setup_stimer0_irq +EXPORT_SYMBOL_GPL vmlinux 0x63d01b15 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x63d8fda8 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x63d9d5b5 vfio_external_group_match_file +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63ef8eb4 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x640ab48f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x641eedad __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x642ce438 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x6436fa3b mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x6437e620 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x643a0372 devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x6447997e uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x6451b89e find_module +EXPORT_SYMBOL_GPL vmlinux 0x647e3a83 acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x64a453f5 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x64a62e11 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x64acfb5c __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x64b522be md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x64d3cc4e xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64d6d2bb bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64e88768 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x64f30afe component_add +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x65135e5c pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x652472ff __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x65265921 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x6527a231 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x65401aa4 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x656be5dd dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x65704d22 hv_stimer_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x659180a6 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x659e63f8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x65b35a7a xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d74698 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x65e4bdee iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x65ed0767 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x65ee1f1e sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x65f4ed8f fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x65fc1261 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x66011fb9 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x66081a76 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x660adda7 input_class +EXPORT_SYMBOL_GPL vmlinux 0x660f6620 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662aa6f0 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663964fa edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x66420f43 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x664c21d4 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666b755a __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x66733c4e of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6695d2ce balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x66a6c061 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x66abd2b3 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x66ae4727 mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b26f17 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x66b82ad0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bd3a45 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x66c5e434 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e20b32 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x66ec107a gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x66ee00a3 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x671532b0 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x671ca481 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673a0c2c led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x673ae4fc dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x673af860 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x67596e17 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x676863ec mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x677b8fdf serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x67867de8 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x678d3dee spi_async +EXPORT_SYMBOL_GPL vmlinux 0x6790ebd3 mce_is_memory_error +EXPORT_SYMBOL_GPL vmlinux 0x6792e25a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679bed60 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x67a8a864 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x67b0c9d9 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x67b0e381 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67cd5b77 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dcd76b uv_setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x67dcf217 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x67ee4764 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x67efce81 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x67f2cb0a __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x6803e3e2 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x681518e8 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x681784d0 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x68280632 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68427b2b usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x68494f6c pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x6855a40b wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x6868b445 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x686c476b fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x6870bca2 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68a1c1df power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x68a7f3ed percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x68aab822 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x68d83a7a __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x690d9145 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x693b293d xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x6969ecb2 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x696d7e0b l1tf_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69819e6f usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x6986b95e gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x69a23c56 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x69a505d9 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x69b7b920 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x69c9f78e inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x69cae494 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x69dd4e27 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x69e28fff dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e77098 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f3a65b vmf_insert_pfn_pud_prot +EXPORT_SYMBOL_GPL vmlinux 0x6a046770 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a0fe960 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a34012d dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x6a417a6a __regmap_init_spi +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 0x6a5837b3 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a62f34d cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x6a836902 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a876f81 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6a88fad5 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x6a93e3ee crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa61bcf bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ac1e5fd unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x6ad06b07 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x6ad962bd tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x6ae7e6df cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x6ae99256 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6aebe243 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6b003654 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x6b0371b2 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b1e7fb2 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b25cba7 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b35a16b intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x6b36ccf8 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b533d0d wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6b78ffab spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b7e54d7 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b92ca56 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x6b9c8366 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6bc3cb11 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6c1557e5 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x6c314d36 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3b33b7 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x6c3b612b acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4d5962 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c567663 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c79c911 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x6c86a8bd platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x6c99662e rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x6ca38d0a dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca71738 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x6cc56fe8 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6cc9d8f0 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x6cce8180 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6ce5ce54 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d111021 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x6d28c2ac fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6d2e899d mce_usable_address +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3002ba switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x6d3b6940 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d3bdbfe acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x6d41cffb fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8bf6db devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d9a4548 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6db23846 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x6db6e5d9 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6df13e95 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x6e0a4448 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x6e158163 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x6e390f50 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e45bda1 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e6286f2 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7fcf6e pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x6e85b00b local_touch_nmi +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e996359 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6e9fe3d0 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x6eb4b998 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ecab228 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x6ee17be1 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x6ee8967e pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef50a15 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef89492 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x6f0bb130 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x6f0d2c40 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1bef30 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x6f1f3413 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x6f206541 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x6f33e092 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6f38a7e7 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x6f5c280a skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x6f6d23fa nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x6f72945e net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x6f756824 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x6f7d6be9 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x6f83ebfa sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6f918753 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fb49a64 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x6fc54bd8 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +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 0x700c5bca dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x70492b40 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x704b42df pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x70576fee acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x70b7c07a gnttab_grant_foreign_transfer +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 0x70c8fb64 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70e9873b mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x70f5332f sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0x70f85dc0 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7122e39b inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x713b728a get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x7152dc6b xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x717598a4 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x717b25bb xen_remap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71b24eea efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x71c34120 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x71cb958c devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x71cd8493 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x71d2b763 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x71e49e27 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x71f4d9e3 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x721c1e1c cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x721d3770 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x722f4d9e msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x724d5b78 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x729f1768 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x729f2f80 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x72c02d52 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x72c1aeeb __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72e90b6f driver_find +EXPORT_SYMBOL_GPL vmlinux 0x72ed6a0e generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x72fa66cc tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x730cd714 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x731133d5 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x731487fd iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x732f399c clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x73367780 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x735e92d3 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x737a6c69 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x738fe32b amd_get_nodes_per_socket +EXPORT_SYMBOL_GPL vmlinux 0x73986288 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73eac458 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7418a396 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x74346138 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x74488328 wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x745800f7 md_run +EXPORT_SYMBOL_GPL vmlinux 0x747c03cc blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x74865b16 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x74887a84 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x748da24f regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x749b0dc5 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x74b099b7 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bcb8a0 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x7500bb12 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x750c6dda clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x757471ad phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x7576894e gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x75792186 get_xsave_addr +EXPORT_SYMBOL_GPL vmlinux 0x757dd6e6 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x758629fd blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x758e05e5 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75a048d3 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x75a2d9af __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75cd683c of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x75ceca65 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x75d25e7e __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x75d94ba0 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f0e875 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x75f7482a kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x76073191 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x760a5776 virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x760b939a sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x763a810b unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x763ab1a2 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x765766af dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x7678e400 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x767bdb4d crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76c144bb set_pages_array_wt +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f5bc6c devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0x77109ac3 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7726897d ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772c0179 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x772ee722 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x7745ea89 klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0x77490abe dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775b4e42 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x77732cd5 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x7774ff2b irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77a8821b rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77bd57cd usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x77be79d8 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x77d3643d irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x77d79cee skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eb2fe7 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77eec21b blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x77ff54d6 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x781c1b24 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x782fb43c crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x783725fb fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7867e55f acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x787987c3 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x78942867 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x789972b6 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78ae83b3 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x78afafc5 nf_route +EXPORT_SYMBOL_GPL vmlinux 0x78bab6b5 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x78ca8cac blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x78d7545c gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e510fd register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x78ebcfdd blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x78eeec16 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x78f24be7 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x79114eac fat_remove_entries +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 0x79287d38 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7933535f blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x79339b36 fsverity_ioctl_enable +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 0x794e1194 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x794e6677 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x79556a74 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x795cb183 ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x7991fd8d crash_vmclear_loaded_vmcss +EXPORT_SYMBOL_GPL vmlinux 0x799aebb1 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x799ce62d genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79c5301a adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x79cf1043 fpu_kernel_xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x79d0e5ba ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e02bbe __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x79e88308 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x79f54498 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a102867 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x7a1bc731 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7a1cd02a device_add +EXPORT_SYMBOL_GPL vmlinux 0x7a3ee380 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x7a42318e dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x7a51d657 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x7a51e73b gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x7a528870 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x7a5624c1 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7a566e3b icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x7a655f68 acpi_processor_claim_cst_control +EXPORT_SYMBOL_GPL vmlinux 0x7a663891 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7a66abde sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7a6e0b46 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a833a6f blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0x7a84cb4c __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x7a87bacf nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x7a87fcd9 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x7a93b430 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7ab3e679 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x7abfca43 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x7ac68701 intel_pmic_install_opregion_handler +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02f10 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ae266ee blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ae58fea md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x7af1ba35 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x7af78560 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x7afa9dc2 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b02c20a xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x7b032bb2 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x7b055480 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x7b17811a dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b3204db regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x7b3da2e7 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x7b4667f0 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x7b4c9ba9 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x7b4ef438 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5ad733 i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x7b61279c crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x7b6d19da usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b832cef ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7b856860 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9e86c6 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7bcfd6c1 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7bd2493e wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x7be4ac1b pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7bf1e522 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x7c0d8bdd sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x7c15bfa2 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x7c19df45 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x7c1ab230 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x7c20b6a0 load_direct_gdt +EXPORT_SYMBOL_GPL vmlinux 0x7c24c62b dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x7c3617de nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x7c39068b efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x7c4bb5ea fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c626556 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c681aba efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x7c7019ac firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x7c776fb6 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cbb8892 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x7cbbfd4d blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x7ccc34ba devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cdb6f32 get_hwpoison_page +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d0e1d95 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x7d13f1fb serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d1f88a4 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7d21a5bd rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d386384 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x7d3e60cb page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d83351c md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x7d9e6baa gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x7da1954c usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7db81e26 acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb2718 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7ddd0934 ata_bmdma_port_intr +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 0x7e390001 intel_msic_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e5e0e30 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e67fc81 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7e763b10 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7ea09e52 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec814de inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7ecbcc63 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7ed92a94 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x7ee4745c edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ee79756 i2c_acpi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eee5513 acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7ef64835 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7efc89c2 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x7f0147a6 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x7f10039b security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x7f12a72d regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f16e5e1 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x7f2d3ce7 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x7f30c924 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x7f701f91 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84920d thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x7fa7f2c3 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fd994bb pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x7ffd91c3 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x8009d7ee devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x8016df04 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x802484f9 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x8029f708 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x80318d6e noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x80459421 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x804d592c pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x80583896 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x805dab94 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x80623810 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x806606b6 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x807418ce __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x8080ee44 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x808a8088 handle_guest_split_lock +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8095ded9 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x809ebc38 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x80a5ac86 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x80ae393f fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x80b109d4 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x80b608f5 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x80c11314 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80cbd018 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x80cd2290 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80db3c46 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x80dfa4aa xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x80e4092e fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x811de436 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x81221cad amd_nb_num +EXPORT_SYMBOL_GPL vmlinux 0x81288191 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815c4995 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x816d326d pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x8175d03d devm_intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x817dddb0 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x8182ae3c find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x81867849 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x81886533 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a090d4 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x81a4357a tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x81a9e0a1 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x81ab5877 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b53c1d devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x81b8b168 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81dce4c8 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x81ded6ac pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x81e4f72a tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x81fd8451 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x820be6ce spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x822112d4 gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x824da8aa pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x8250abce fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x825c87bc pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x826c7231 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x82763644 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x827875f2 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x827fc404 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x8284eb6e skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x8285a413 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x828ad3de pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x829dfe85 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x82a1366c pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x82b4f961 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x82b7f0e0 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x82c1043f get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x82c56e0a ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x82ca84bb xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82daad39 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x82dd638d pci_msi_set_desc +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x831472b8 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x8318cef0 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x831ea124 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x8322fc7c cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x83284685 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x834510e0 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x8348e4f0 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x834d99bb md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x835af4af ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x8372c740 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x83743e0b vfio_iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8374d674 blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x8378a3ff regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x838c08b6 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x83954b44 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x8397f234 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x83b31c81 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x83b3ff2a platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x83c88edc fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x83d05c89 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x83eb54ea dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x83f1bdce __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x840d04f5 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x840f3cdf blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x8412e109 ipv4_sk_update_pmtu +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 0x8440d4f2 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x844fe5ad arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8452d048 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846cd36c tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x846edd98 pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x8472b907 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x84826492 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x848b66dd nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x849b7096 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x84b0e1bb debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x84c44363 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f09d68 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84f648b6 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x84fc6723 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x850cbdac devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x85170ac2 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x85304b3c regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x853d5fea devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x85446a3b xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x85475b0d dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x8549605c device_create +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85686b76 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x856f859c dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x8589d722 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x858ef564 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x85904aa1 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x8592245a ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x85a2cb2b disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85a95434 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85b0240f extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x85b064b8 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x85b15444 arch_set_max_freq_ratio +EXPORT_SYMBOL_GPL vmlinux 0x85b1c626 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85b5a960 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x85b7a631 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x85bfea35 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85c91459 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x85ca0bc4 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x85cb2c45 xen_has_pv_devices +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85dec596 i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x85e5d047 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x85e66235 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x85fa748b irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x86169f3e amd_smn_write +EXPORT_SYMBOL_GPL vmlinux 0x8619e122 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x8628c1c2 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x8631753b skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x8637611e perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x864c33d6 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x8654be58 hv_remove_vmbus_irq +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x866176bd device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x8663905a bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x866ca6a3 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x866ff803 relay_open +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 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8697c732 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x86a76366 acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x86afa43f tcp_sendmsg_locked +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 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86e08511 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x86e346f9 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x86e9f057 bus_for_each_dev +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 0x8713272a perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x871e117f of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x87348ba2 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x8735ed3d irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x875cabd0 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x87675181 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x8773e87c __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x87aa5c72 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x87c006ea nl_table +EXPORT_SYMBOL_GPL vmlinux 0x87c0198a fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x87c29db8 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x87ceea9a get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x87e64181 amd_nb_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x87f2bfc4 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x87f35791 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x88066be2 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x880a5115 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x88234683 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x884ebe20 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885d5279 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x8866aa40 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x886d69b1 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x887c3545 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x8885da0d devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x88a8b025 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b3748c max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88cd02a1 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x88e1a081 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x88e4d35f pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x88f9ae88 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x8913e566 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893fa6a1 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894cbcd8 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x895cd33d fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x89696218 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0x898a369f blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x89930474 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x899c0d55 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x89a230e9 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89af37b3 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c2898b icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x89c93c31 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x89cf18bc devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x89d87264 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89eeec4c nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x89f1c6c4 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x8a0f45ad spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x8a167896 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x8a240bff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x8a2710b9 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a4ca7be hyperv_flush_guest_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x8a60a6ef serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a65c5d2 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x8a6ceaea nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0x8a7cb9c4 platform_thermal_package_rate_control +EXPORT_SYMBOL_GPL vmlinux 0x8a7e72ea rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8a838ef6 intel_scu_ipc_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x8aa690b4 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac85ee1 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x8ac8cd2d pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x8ad36f44 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x8ad5ceb1 __uv_hub_info_list +EXPORT_SYMBOL_GPL vmlinux 0x8ae1d19b device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b1d290f vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x8b1d748e pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x8b27d282 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x8b3097f7 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x8b354909 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x8b424186 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x8b4516ed gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x8b684b2f hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x8b7b4d8e hv_stimer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8b8355aa __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8b846461 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x8b8959d5 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8b945931 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x8baaa224 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x8bc5cffa pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x8bc7ebd5 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x8bc8eabe ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x8bcc0798 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8bd0128b sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x8bd2d16c nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x8bde404b __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x8bfc087b hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8c00e006 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c1555b3 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x8c18b29f fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x8c25b38c debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c6dc9b2 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c873dad tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c954e5f pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x8c98f5e7 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x8c9d1661 arch_phys_wc_index +EXPORT_SYMBOL_GPL vmlinux 0x8cab6f68 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x8cbd6bd2 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x8cc95ca2 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x8ce35313 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x8ce648d0 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x8cf2c4da __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x8cf879c1 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8cfa5bdf blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x8d193f8a subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d28e756 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x8d2d6ce9 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x8d2dade5 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x8d30938c scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d522714 __rcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d6a79f1 pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d83072c input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8d99c10f platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x8d9b561c vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x8d9cc4e1 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x8da8b209 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x8dac0674 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8db4b4a7 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8dbd98ce pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x8dbf82a4 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x8dc3ed56 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x8dca9656 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x8dcf3069 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x8dd18baa devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x8dec9011 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x8df0df2a device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8df469dd acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8df91299 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x8df95945 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x8dfe0b08 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e41550c scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x8e43e1e7 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e92ae95 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e9bd4a3 hv_alloc_hyperv_page +EXPORT_SYMBOL_GPL vmlinux 0x8ea4a40b bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x8eae7044 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8ecdc582 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8ed28aa7 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8ee08043 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8ee0b431 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x8ee53e31 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8eef9b03 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8ef11dac led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x8f0463b1 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f1256f1 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8f2eb429 kvm_arch_para_hints +EXPORT_SYMBOL_GPL vmlinux 0x8f3a230f irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x8f662b2b device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x8f697749 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x8f6c23a3 devres_get +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 0x8f801d8d rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8fa5f4eb cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8fae6d1b crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x8fbeb4c1 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x9007d972 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x900f58ba xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x901d168e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x9024f443 mds_user_clear +EXPORT_SYMBOL_GPL vmlinux 0x9025153e nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x902cbff9 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x904fe828 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x90719cff __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9081b5db btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x9084b044 clear_page_erms +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90aa4e32 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90bf457c wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x90c1c17c iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90ce2404 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x90dc29df aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x90dca10c dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x90de0452 platform_thermal_package_notify +EXPORT_SYMBOL_GPL vmlinux 0x90de97ab mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x91168ad3 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x911eef02 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x911f7039 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x9124edf9 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x9136aff5 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x914a00ee cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x9160d7aa led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9171da2a dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x9171f3d5 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9173aed0 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x917cfe96 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x91888a74 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x918caf3f pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x919b9301 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91aa799c usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x91b9a4ba e820__mapped_any +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c85e4e serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x91c8b5b5 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x91cb69a8 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x91d9a45d of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x91efb3c5 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x91f46413 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92141343 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x9215c280 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x92295424 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x9248c4b0 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x92608e82 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x92733a45 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x927347c1 usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x928c8f91 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x9295366e devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x9298c48d __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x929a0a73 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x92a3741c gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x92a4a6cc vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x92c13269 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d8e56f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e2ed90 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x93069b11 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x9319c2c9 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932801cb nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x932fae5c task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9345abe7 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x93725986 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x93818a7a acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x93939644 put_device +EXPORT_SYMBOL_GPL vmlinux 0x93a47688 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x93abb893 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93dc2586 pgprot_writethrough +EXPORT_SYMBOL_GPL vmlinux 0x93eceda2 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f626af transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x93fa8773 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x9402dc53 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x940cb642 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x940fb7ee alloc_dax +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 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9434d837 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x94440195 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x9445dd37 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x946c35d3 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x947b40c6 cpu_smt_possible +EXPORT_SYMBOL_GPL vmlinux 0x94809432 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x94831066 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x9485ce31 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949b91f4 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x949f63e2 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94bc3461 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x94bc8faf regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x94c648ba vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x94d5bba5 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0x94def28d securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x9500b1b2 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x950d03cd gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x9515e708 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951eb2cc led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x95468453 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x954c9bd0 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x9556572e sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95a5c049 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95d7cfaf sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x95dc2584 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x95ee1947 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x96006930 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96173686 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x962e3e16 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x96311ded pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x963f3766 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9688b217 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL vmlinux 0x969fae19 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x96a467c3 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x96afea14 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x96c539af phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x96c8132e devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x96dcb9f0 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x96e2c42e clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x96f1f751 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x96f73e2d find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x96ffb045 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x970090de skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x970f862b __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9719bcfd pmc_atom_read +EXPORT_SYMBOL_GPL vmlinux 0x97284d81 __devm_intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x975e62f3 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x97623558 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x977602c4 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x979b7966 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x97aa6f36 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x97d12355 hv_remove_stimer0_irq +EXPORT_SYMBOL_GPL vmlinux 0x97d12a33 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97ed9442 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x97f43f6f devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x97fbd45b devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x97fee240 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x981501c4 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x98228564 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x982a9736 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983c06b2 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x983cbcf9 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9859b143 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x986096d8 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x9860a43e usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x987ab0a5 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x987de66a tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x988a1a00 sn_region_size +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9891eef3 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x9896dc80 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x989b142c hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x98a76647 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x98a9e17f devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0x98b2feea device_move +EXPORT_SYMBOL_GPL vmlinux 0x98c2478b iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x98c578cf trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x98e1fd66 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f4d306 hyperv_flush_guest_mapping +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x99002445 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x9901e00d pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x9907ad54 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0x9914541d ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x9930f8a3 uv_bios_change_memprotect +EXPORT_SYMBOL_GPL vmlinux 0x99430ba2 acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x9957d18a tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99755a85 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99be5fb2 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x99d3bc25 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x99d64f71 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x99d9ffe5 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x99ed6cda rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a009e35 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x9a0bbbe8 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2367f6 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x9a28e242 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x9a341b50 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x9a52022c mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x9a539018 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5b78a7 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x9a5bdae9 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x9a63f34e fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x9a7cc858 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x9a8a0b77 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x9aa302e0 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x9aa71c2a efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x9aaac699 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ade368a input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x9ae14248 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9ae4191f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af8fca7 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x9aff0c18 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x9b00ea52 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x9b260c6f power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b2b3a42 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x9b31db76 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x9b468ea7 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x9b47e24d ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9b50d63b edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b560a0d acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x9b58b94f vfio_group_get_external_user +EXPORT_SYMBOL_GPL vmlinux 0x9b6722b7 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +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 0x9bb6903b debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x9bbb01ca device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x9bbde5ea devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x9bc77923 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9bcb6202 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x9bcfa5ba crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bef909c dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x9c0237a1 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x9c0b10f5 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x9c178e4d bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x9c5a3cd7 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9c63e15d usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x9c6cb0ff fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x9c6fb8be blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c758e70 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c803f6c crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x9c8c2ffe ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x9c977028 fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x9c9d54d8 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x9ca44326 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9caab9ef acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x9cb4bfba fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9cb88057 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x9cbba0bd fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cc9e3e8 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x9cce7019 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x9cde7ab6 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf6377e bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d14205c cr4_read_shadow +EXPORT_SYMBOL_GPL vmlinux 0x9d156c41 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x9d1a529c ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x9d57cfec crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x9d69d439 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x9d7d690f sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x9d87c9cd rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x9d94b645 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x9d9820d1 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x9da08dc0 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x9da6458b led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x9da716d1 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x9deb13a9 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x9debd772 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e08d700 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x9e319261 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x9e3a849d dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x9e423bbc unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4daca7 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x9e6b8214 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x9e7483fa cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x9e755473 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x9e9ac1e9 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x9e9c9b91 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x9eb55f5c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x9eb8d17a pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9ebdd35b bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x9ebf6faa xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x9ec64aa5 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x9ed1f4cc acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ed6187c acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0x9edbfed6 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x9ede8516 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9edf2b19 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x9ee5aead fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x9ef0cb18 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x9efe22e5 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f17b7e5 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x9f1a2f0f ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x9f2903e0 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x9f2c8fa0 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9f2d2bea edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x9f310fab pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x9f36457e __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f403cc6 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x9f463a4e serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x9f6f5b3f __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x9f77aaa7 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f799f6a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x9f7c2b11 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x9f955a13 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x9fa31727 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x9fa866f2 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x9fab32df arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe72ffd genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe8e5f0 vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff231bc usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x9ff2ce5e skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x9ff8452a rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xa000f665 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa03c1a19 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0xa03f3952 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0xa04baad8 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa05b0ba3 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xa063ba2a wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xa07c4621 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0xa07f4a6a nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xa0bc22e5 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xa0c0e4a8 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xa0c6befa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa0c83aaf skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa0d30088 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0ea27dc component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xa107a3c0 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa13d3d96 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa1435e5e gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa1691b63 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xa18b3c91 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa18ee545 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0xa18fb917 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xa19da4b3 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xa1c8ac93 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xa1cb0d70 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1f4e4af ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xa1f5671a sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xa2016699 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa219a56d fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa222a34b virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xa222f555 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xa2308e91 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0xa2316ca3 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xa2367d9e blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xa2413dff iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa249d2ee sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xa24d625c handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xa253d8ac apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xa26829c1 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2739679 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0xa274628c irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xa29373f1 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xa2acab0e ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2bb5077 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xa2c424f4 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0xa2c6e2eb __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xa2cecf3a dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xa2de839c key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa313d49a crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa314542a fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0xa32a7211 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xa3472b9d iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xa34962d2 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xa34fbb84 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xa3659b5f __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xa368316c tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa3943d88 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3ae5df4 pwm_lpss_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f6c64c virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0xa3fc55e6 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4186e59 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa41e2e73 cpuidle_poll_state_init +EXPORT_SYMBOL_GPL vmlinux 0xa42c02ac dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xa42da147 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xa432e263 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa451d076 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa459bbcc irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa46181ac lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa47942eb init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xa47d8441 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa495a62a irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xa49b10ff iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xa4a3b597 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b6717c apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xa4b6fc01 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4b8c37f bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xa4bba564 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xa4c8804c devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa4ccaf5e regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa4f3c18f cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xa4f4e988 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xa5016f70 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xa50335f4 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0xa5160a2e ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa536906d devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xa5678117 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xa5745751 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa5747e1f param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xa57fd60e usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xa583e5a0 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa5b2aa37 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5bdff9e __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xa5be44a6 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6473 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xa5ea4bf4 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xa5eb866f switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5ff9c8c spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa60aa964 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0xa627e8ac tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa62f56f4 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0xa6322f49 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xa661564e tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xa666ef4b init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xa6824f3f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7127da7 mce_unregister_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0xa7231d40 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xa731027d uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa7480592 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xa75e02f6 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa774ec3e agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xa7809587 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xa795ba0c ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xa7a5d066 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xa7b7f3e1 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0xa7b9d796 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xa7bc396f key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xa7c42425 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xa7ca933d aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0xa7cc2b53 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0xa7cf698b debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xa7d546e8 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xa7de4435 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xa7ea3953 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xa8039899 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xa817a39c tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xa81a03f8 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa85c6db0 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xa8600f5f genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xa8640061 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xa865581f register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xa89be4ef wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xa8a5c93b dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8e592ae devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xa8e66e25 usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa8ed3f30 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xa8f3e966 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xa8fc75ea devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xa90961f7 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9213eb4 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa94474df sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xa946c852 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xa94abde7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xa9613eca pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xa9743775 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xa97dbd39 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xa97ff816 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xa98287a1 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xa9854364 umc_normaddr_to_sysaddr +EXPORT_SYMBOL_GPL vmlinux 0xa9892d6b pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a5d787 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa9ac2ebd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xa9acaeeb nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0xa9b2e6a2 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xa9b47b9c bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xa9b549fa generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0xa9bc8b74 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa9c8146d sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0xa9d6c609 efi_mm +EXPORT_SYMBOL_GPL vmlinux 0xa9dc092e net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaa034f11 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0xaa040542 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0xaa0d25f4 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xaa12da98 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa3cae58 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xaa403b26 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xaa45cc4b rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xaa48b45b anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xaa5aee1c uv_bios_mq_watchlist_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa5d2c16 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa7fa039 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xaa7fd2c8 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xaa86cfb5 uv_possible_blades +EXPORT_SYMBOL_GPL vmlinux 0xaa8c5f85 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xaa974e08 get_device +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab263ab badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xaac2fbad acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0xaac964a4 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xaadb878f devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0xaadeb616 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xaae0ed0f tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xaaea965a iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xaaf096c4 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0xab00d0e4 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xab03b147 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab3efde7 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xab4cea0f led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xab57cb2c crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xab6fa743 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0xab862516 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xab91c247 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xabc298d0 intel_scu_ipc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcd1979 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0xabe750df blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0xabf8288c clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0xabff8713 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xac0d97a6 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xac0ef0cd fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xac132abc subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xac336218 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xac4a6870 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xac6e56c4 dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0xaca8bb19 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0xacaab91b console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacc9a222 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xacd19565 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0xad0e8ad2 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xad0f2b6c unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xad25e34e list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5351c1 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xad55560a regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xad5724a5 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5c8986 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xad5f0017 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad71ea28 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xad7fda9e bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xad97781c platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadb44a5c spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xadd2f50b dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0xadd7704a sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0xadf6867e crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae0f15f0 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae124d46 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae2d5271 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3df45f sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0xae4e9abf regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xae57ee1c blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0xae681761 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae78b8b0 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xae7b6792 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae8555a0 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaeb12315 find_iova +EXPORT_SYMBOL_GPL vmlinux 0xaeb6b5d8 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaec82561 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xaee5577a iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xaee957e7 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xaef6badd usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf1e3c73 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf41c996 alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xaf613276 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7ab867 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xaf9853ab skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xaf99dc12 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xafaf7172 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xafc04964 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xafd34985 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xafd5d84f sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xafda5040 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xafdd9384 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe4954a pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xb00b4498 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb0175f2b ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb043a83d bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xb04422f4 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0xb045d43f spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xb057b661 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb06a47d8 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xb071b69e phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb07b9f4a power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0xb082feb0 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0xb0938e29 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb094e10d lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d5d789 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb0fc394b rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xb10b9952 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb115176d unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb15ef8fc sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb16429d0 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18bc2e2 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xb1a4db7e iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0xb1b6e3d8 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0xb1bb4a07 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1cd1312 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ef0548 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xb1f5dfd2 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xb1fc053f __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xb1fe1c1d ptdump_walk_pgd_level_debugfs +EXPORT_SYMBOL_GPL vmlinux 0xb213255d device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb22733fb component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xb228fb2d pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xb23434de register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb2547209 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb25e563a lookup_address_in_mm +EXPORT_SYMBOL_GPL vmlinux 0xb25f6aee relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb2717a3e devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xb2756a0f xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xb27e3374 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb287656e skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2960be7 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0xb2a8183e dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xb2bebdf7 path_noexec +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2cf8697 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2d15b24 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xb2d9afea da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2e1f747 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xb2e42971 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2fa0caf tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xb2fd1239 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30fc8e8 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xb31f6c80 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb32273e3 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xb32348be relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb3351c6c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xb353d068 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xb35848b8 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xb3626d1f crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xb3697565 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb370835e i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xb3729210 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xb39164fd regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xb39d1bfa pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xb3ad4cad acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xb3c5ecd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xb3d935da pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xb3e8604f d_walk +EXPORT_SYMBOL_GPL vmlinux 0xb3fa51b5 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb4354e5c pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xb43c8ca3 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xb43dd50d gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4436f69 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb44f340c devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xb45ad9b3 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb45faaf3 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb4620806 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb46d478f tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xb48538fc ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb499a325 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xb4a9d9ae fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4bd286d devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xb4ca1cf9 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xb4cc67f4 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xb4cc998e pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xb4ce19c7 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xb4de7752 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xb4e7642d simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4ebb31d irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f893a9 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb4ff6bb6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xb500f487 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50e1f27 __uv_cpu_info +EXPORT_SYMBOL_GPL vmlinux 0xb50f3e60 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0xb510c250 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xb51423a0 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0xb51427dd usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb529e256 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xb52cc947 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xb5412e00 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xb55bd5b6 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xb5699922 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xb56e90c2 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb583cbe2 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb587a0a0 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xb58b57b0 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xb58f06b0 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xb595327b regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5c0c844 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xb5d00065 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb5df5c60 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xb5df82e1 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xb5e96a49 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xb5ed48c8 bind_interdomain_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5f0f470 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xb6172bb2 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xb621cf81 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xb621f3a3 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xb624e412 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xb624fb02 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6296a10 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xb649bb8c virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xb64dc800 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb69b8b9c mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xb6aa7a81 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0xb6b7dc5e raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xb6b9eb18 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xb6c5e614 acpi_processor_evaluate_cst +EXPORT_SYMBOL_GPL vmlinux 0xb6d442af rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb6df27d9 device_register +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb702838b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xb7052a0c ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb7136c49 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xb721b385 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xb72be808 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0xb72facfd __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb749e8e7 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xb75041d1 hv_stimer_legacy_init +EXPORT_SYMBOL_GPL vmlinux 0xb75060e4 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb752bad3 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xb754654a bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xb75f21c2 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xb760abcd arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0xb761318b sev_active +EXPORT_SYMBOL_GPL vmlinux 0xb77f9498 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a784c4 powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0xb7b8bf1a nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xb7bbe477 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xb7bdb3cb pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc8b6b pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xb7ccf4bb netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e650a5 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xb7ed50c8 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb7ed7eb7 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0xb7ee4c18 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0xb7f25c81 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xb7f73ef8 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb81285b0 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xb81bb2e1 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb82daea2 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xb82e314d vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xb843e6d9 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0xb8449ead xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xb845630c dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb84eb28a dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb858c03d extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xb85c8043 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb85f8f3c dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xb86dd638 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0xb8720935 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xb8744b81 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xb879c487 bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb88f737d pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xb895a78b gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8b2b1f7 mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d94a4d fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb90d23b0 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb91279e3 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xb91a8024 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xb91b26f0 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb91b4ad0 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0xb923006d debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0xb9246a97 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xb93b293e usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xb9508ea7 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb95d7ef0 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xb963986b phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb990d358 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb9a3eee8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c34113 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d0664f xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xb9dde4df devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0xb9e404d6 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xb9f89246 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xb9fe917b xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba01ec83 hv_stimer_global_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xba030018 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xba126d24 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xba1be2fa l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba2f6045 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xba32362b ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xba4bc57f zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xba548f1f clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0xba7a7338 yield_to +EXPORT_SYMBOL_GPL vmlinux 0xba82d3c5 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xba91b14a raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xba953f05 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xba984d9b acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xbaa2b72e crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xbab266b1 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac15be9 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xbaca5640 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xbacac8f5 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xbad6ca9f iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xbaeda2d8 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbaf9d785 __tss_limit_invalid +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb307b5f platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xbb3aa1f5 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xbb4e1f51 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6b9582 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb78f88f blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xbb8c7a23 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xbb8cbb4e hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb9edc69 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0xbb9f477e kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbbb34b1 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xbbcad8b6 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xbbd5c6bc phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xbbd60fdc dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xbbe2c632 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xbbecc159 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xbbfa0472 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xbc04bd46 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0xbc0f98c1 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xbc3a578b crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xbc45aa00 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xbc5e4a57 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xbc60dc37 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6c8097 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xbc6f57c8 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xbc84db79 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbcbbab88 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcd1c770 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce7fbc6 __xenmem_reservation_va_mapping_update +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcf67af8 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xbcf7ebd5 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0xbd00a154 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0xbd00c965 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xbd03344a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd342dbc devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xbd383d47 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd4650ba usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xbd4b408e rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xbd4b6251 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xbd689eec skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xbd7c3b53 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd96cffc fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xbdb2dfd5 uv_bios_reserved_page_pa +EXPORT_SYMBOL_GPL vmlinux 0xbdb96fda debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xbdbd2e18 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0xbdc9619a bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xbde1c125 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xbdffba96 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xbe059012 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbe113332 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0xbe12ddbd pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0xbe22044e rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xbe2c61b7 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xbe3294fc ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5d699e l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe69c69f __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xbe6a63c3 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe744257 efi_get_embedded_fw +EXPORT_SYMBOL_GPL vmlinux 0xbe8901c3 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xbe930534 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xbe96e509 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeb62736 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecb55ac __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbee6d7a4 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xbef74fa0 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0xbef7e7ea iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0e946c xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0xbf149cb1 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xbf221f03 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xbf268e84 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0xbf41cf36 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xbf4e85f2 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xbf666608 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf7c349a attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xbfb1be70 hv_setup_vmbus_irq +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfd13a5d xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xbfd5ee47 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xbfdad01d acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0xbfe216cf fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xbfefa7b0 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc005d607 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xc00fb410 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xc0225e24 acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xc0360fdb blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xc043a722 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0xc0445508 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xc048f179 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc05048d4 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xc05f1a78 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0xc06decb3 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xc0702437 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc07e7757 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xc08bbce6 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xc09bfd47 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0e12472 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc0ebbcbf ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc100f1ea device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc122688a get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xc133518f pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc138dda7 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xc1541e2e dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0xc1557062 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc1558d01 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xc15f4fcb spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17745e7 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc189b298 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xc18cdf36 amd_df_indirect_read +EXPORT_SYMBOL_GPL vmlinux 0xc19f746d fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xc1a31852 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xc1a3d295 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0xc1a49d4a powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xc1b27a4a skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL vmlinux 0xc223963d root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc233b143 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xc246ed9c add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xc250ea1f xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xc256c707 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +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 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b8ca68 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2cd6704 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xc2cea1be gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2de4d28 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xc2e25cf6 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc2f15285 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xc303c7e0 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xc332a560 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xc33606e4 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xc339c1c9 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xc341022a kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc36904e1 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3842a08 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xc3a13cfc kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xc3a5ba76 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xc3a8dd0f sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0xc3c097bc __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d55007 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3edf6aa save_fsgs_for_kvm +EXPORT_SYMBOL_GPL vmlinux 0xc40f4e07 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc410dfcf clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4393a7c fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc44f56eb securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc453d240 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc45d0d13 injectm +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc46faa63 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0xc470a481 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47e665f pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xc481384b napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0xc48b1f24 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL vmlinux 0xc494cfe9 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ac8eef __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xc4d6cf34 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc4dec8b6 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xc4ec7f27 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fbe6ef fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5156bf3 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc52f0388 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0xc5356274 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xc53c1e23 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xc54aabb9 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xc54f4dfb tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc5544dab phy_init +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc5629710 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc5751988 regulator_set_current_limit_regmap +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 0xc58fbb9c debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xc594d840 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc59b48ba usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xc5a17bbb pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5b31155 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xc5b3e97e phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xc5cdec61 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xc5d03446 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xc5d789df alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xc5de1481 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xc5e4b590 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xc5e53ca7 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xc5f5a147 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0xc5f7a957 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc6007ba3 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc6027e08 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc617ee99 user_read +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc622e0df scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xc62b8522 clear_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc671d4cf show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xc67211e6 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +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 0xc6a14eea acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6aaa72e evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xc6b10427 ex_handler_fprestore +EXPORT_SYMBOL_GPL vmlinux 0xc6b4d5a6 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xc6bbc34a pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc6d2a130 acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e516b4 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6fcc60a unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc7192f97 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc71fb9af pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xc738a00e __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xc7700792 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xc7848401 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a85e9c regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc7afb2d6 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xc7b4aeeb acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc7bbb92e pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7d880fb scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xc7d9bc51 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc80221fd led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xc8048262 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xc80b7585 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xc813b737 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc81cb9a7 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82f1fc5 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0xc83963a7 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc83b9217 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc85b066d enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc86bd0e0 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xc870b1c0 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc8758d74 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0xc875d21f tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc87fb025 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc8b7c29c dm_put +EXPORT_SYMBOL_GPL vmlinux 0xc8cd20bf pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xc8d2218f intel_msic_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc8db3103 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8ead711 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xc8f11f7d i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0xc8f162c9 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0xc8ffe357 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xc90853cd devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0xc9114c7b sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc912da18 shash_no_setkey +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 0xc96f8ff3 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xc97a00c9 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc99ee506 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc9a4b416 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xc9a66ecc list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xc9aad4df sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xc9b94f83 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9d6a5eb pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xc9e82b17 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9edae5a fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xc9f6ecd1 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xc9fac739 tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0xca0ab817 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xca13e8d8 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xca18fc57 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xca2508f6 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xca3ce041 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca56721c dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xca66ed80 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca90aaee sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa68533 cpu_has_xfeatures +EXPORT_SYMBOL_GPL vmlinux 0xcab62d86 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcacd88a0 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcad69fb3 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xcae11625 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0xcae21f7e register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xcae7441b rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcaeeb5f0 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcaf748bd spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xcb069e61 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb34b060 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xcb53fb49 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb64327d platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xcb7ac8ac regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xcb8a461c hv_stimer_legacy_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xcb970751 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xcbb8b4f0 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbfeb47d __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xcbfec966 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xcc07df2a fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xcc1d1c7e synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3b86d5 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0xcc4415c3 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xcc5104d0 copy_mc_to_kernel +EXPORT_SYMBOL_GPL vmlinux 0xcc522853 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xcc5eeb92 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xcc77402d dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0xcc8f5c5d spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xcc925509 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9e8c2b perf_msr_probe +EXPORT_SYMBOL_GPL vmlinux 0xcca817c5 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0xccb571ca ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xccc4e89c xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xccc8959d task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xccca374a generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd80e82 xen_set_affinity_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdcc31f iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccf25c66 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0fea24 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd3e5c7c acpi_release_memory +EXPORT_SYMBOL_GPL vmlinux 0xcd444e03 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xcd4973a6 dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0xcd669c6d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xcd6d3f59 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd81a945 switch_fpu_return +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd9c0b75 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda61d25 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcddf674d serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcde5490a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xcde963c8 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xce06da80 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce0de687 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xce0e0a71 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xce157849 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xce174a14 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xce345f73 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xce3d5dce blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xce3f9556 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xce6b095b __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce80b862 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xce8ba988 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xcea25007 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb66bec sched_clock_cpu +EXPORT_SYMBOL_GPL vmlinux 0xcebfc1d0 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xcec6b7d3 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee36f52 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xceed4428 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xceed8318 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xcf3232bc usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xcf3d7987 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xcf3dec7d ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf55eb44 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcf656b2b fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcf77f82c scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xcfa4a10c acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xcfbe02ed skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xcfc10f31 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xcfc15f4b rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfca64c1 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xcfca92cd of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xd0053bd1 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xd0161898 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd0265a56 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0xd030d7f5 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0xd031aec6 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd05a2304 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0xd0619c43 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd0703b32 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xd08627e6 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd08f903d led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0xd0915af9 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xd0950619 clk_register +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0a58efc pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xd0acfbaa virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xd0aea48f device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xd0af7971 phy_create +EXPORT_SYMBOL_GPL vmlinux 0xd0b75086 do_splice_to +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 0xd10e6d72 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd111ecd7 __put_net +EXPORT_SYMBOL_GPL vmlinux 0xd119c3c1 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd139a132 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd143f50e devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xd14bc0c8 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd16538e5 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xd16dcceb tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xd18295f7 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xd182ab64 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xd1a0a91b serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xd1acaa64 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xd1b776f7 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d53c6a bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0xd1e2d2bf __module_address +EXPORT_SYMBOL_GPL vmlinux 0xd1e7787f ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xd1f14f84 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1fbc889 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2118d34 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xd2134d5d platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd213868a synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21e9d78 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xd226dda0 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xd22d7f73 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xd240c902 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0xd245a481 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26d0e85 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd273f757 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xd275db7a virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd28b1237 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xd28ba2ce devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xd29a7874 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b94ff9 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xd2c8ae77 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2ca171a sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd2d719a5 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2e32141 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xd304760d pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32694be sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xd326bae0 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd3349d8f devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd33cb887 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xd33f064d irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xd35e2e23 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0xd3609eea do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd37287b5 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xd37307bd transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xd373f151 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd37a1825 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd37cf39e open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xd3992e29 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a0f2e0 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xd3b6759a blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xd3bfa753 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3c6128a crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd3c7a69a extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xd3e963f0 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xd3ea1592 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xd3ebb791 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xd3f4a4e8 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd436b69c security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd44834e1 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd454d3e2 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xd46a67ba iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd472b706 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xd4817a86 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xd483874e gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xd4899e5d cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0xd4997aec pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4a1cc75 tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0xd4a4a3df acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xd4a7e0be regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4bd7812 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d117b0 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xd4e45f3e gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xd4e47fea usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xd4e65713 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd524ea1a fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xd529c0ed crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xd52fdcf0 vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd534ad16 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xd538a87c wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd553553d rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd5607a5f iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xd564cfdd rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xd56e0138 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd56eff31 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xd57db365 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xd57fa0d0 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xd57fbd31 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5846bb0 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd5864bc9 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59de8bd gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xd5a033aa md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0xd5ad357f __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xd5b16ac8 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xd5b25aed dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0xd5b53ec5 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5b57ab3 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd5c3843a sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xd5dc25bf __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xd5f33ade dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xd5f3bb7b set_memory_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xd5fa2973 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0xd62ac451 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xd640c0af bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68b654a arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xd6b3a507 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xd6b63e8f regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xd6b7242c badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xd6be6ac0 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd6bfcd3a class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd6cd0bc3 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7100cc5 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xd71c27d3 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xd7282dee memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd7483409 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd749dac7 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xd74a6901 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75b2fd0 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd7682caa pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd78a63c4 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xd78f8ce5 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xd7a75e97 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xd7abcb74 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xd7b9ca99 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0xd7c1fec9 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xd7c39fff free_iova +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7ee86b2 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xd7f5395d i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xd807d5f3 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0xd813d555 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xd8174df3 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xd82a2bea debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd82d51c9 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xd8397c27 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xd84b038d ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xd84b24e6 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84d8014 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd862dfd3 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd865af0c serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd86e7639 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd885290e icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0xd89a0c5d phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xd89a759c __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xd89cce4a gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0xd8b3fc97 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xd8bd92cc blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xd8bf80fd power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xd8d6201d usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8da4a30 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xd8dc444a iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xd8e1ffb2 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd8e45a4e policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0xd8f6533c sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd9096fcf crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd9308624 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xd9339828 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd93d4bc1 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xd9468919 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd99567ac pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xd9963b4e acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xd9bb9692 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xd9bc4971 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xd9bd2a03 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd9d2abba da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xd9d5d879 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e49756 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xd9f016a3 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda05eeba ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xda0b8ec0 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xda15a15d alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xda1f78ee clear_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xda1f8a65 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xda2990a1 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0xda29e10e devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda429ba1 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xda483653 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xda4f231e acpi_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0xda55cb7c nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0xda671ac2 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda7a5a20 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xda805658 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdab2357e extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdacf37b3 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb097ece pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xdb169b7b pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb2b357a dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0xdb2ebf1f edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0xdb4b3015 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb64aca2 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xdb69cd50 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xdb711fae devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xdb735885 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xdb86c811 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0xdb8720a9 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8b7a1d xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0xdb9ca2e3 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xdba03ad9 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xdba4e69b pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xdba6c86e pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdbb1d479 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0xdbb7162d pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xdbb81465 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xdbc5c567 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xdbcbc5e8 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xdbd6ee3d aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xdbf29726 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfeeb70 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0xdc04092e serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xdc041b77 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc156a23 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0xdc1ec5ba fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0xdc211cc4 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xdc21347c rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xdc21e866 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xdc226d89 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xdc2fd7a8 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xdc368609 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xdc3f46ba of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xdc43befb security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc4ee60c noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xdc54a9b1 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xdc610292 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc6e48cc clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0xdc74edde adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc8de252 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcbc1761 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0xdcd18d2f queue_iova +EXPORT_SYMBOL_GPL vmlinux 0xdcd7ebad ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xdcd9ea78 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xdce23a83 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdceda963 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0xdcf075f0 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xdcf39dd7 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1b6abe events_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd3bedeb crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xdd434d16 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xdd54026c crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdd5735f8 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0xdd5fe153 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd75400d software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xdd79803e netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xdd7f0765 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xdd857738 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xdd911796 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0xdda42bf8 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddc75fee intel_msic_irq_read +EXPORT_SYMBOL_GPL vmlinux 0xddd43fb9 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xddd5e5d1 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xdde8ac48 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xddea81c4 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xddebb38e screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xde09a94d xas_find +EXPORT_SYMBOL_GPL vmlinux 0xde2d3af0 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xde3a331e direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0xde3be6c0 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xde653709 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xde6bbb81 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde786455 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xde92001d anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeb73846 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0xdebc088f validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xdebe72f8 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xdec1edf0 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xded20f9e nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xded5970e pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xdef3a510 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xdefbae6b acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +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 0xdf1d9826 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0xdf1ed14a sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xdf1fd64d do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xdf223247 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf46a5c9 init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xdf81924d uv_bios_mq_watchlist_free +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdf94d9ed nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfc154ac node_to_amd_nb +EXPORT_SYMBOL_GPL vmlinux 0xdfc2dcbf fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfd1d5ee genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xdfd413c9 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xdfe7f545 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xdfeea297 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xe00a8dce __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xe024fd45 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe025406b xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xe04591fc phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xe04999db regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe08d7b36 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xe092dba9 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cddf21 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0xe0d3d989 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xe0d504b3 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xe0fa6551 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0xe10b1273 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe1245a71 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xe12c5ac4 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xe135e1ec edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xe13b6713 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0xe14aa555 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xe14fc666 rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe179135a ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xe1814c9e gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0xe18a1e73 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xe1a37e60 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1aa2d62 set_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1ca145f nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xe1cdcf21 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xe1cfcc98 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xe1e1dd3f rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xe1e4df72 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xe1e92b95 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xe1ea9111 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xe1f14f96 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xe1f6d538 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xe20fcf99 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xe2179936 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xe21e70bc rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe23e7c58 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xe250ed9b ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xe257c6c7 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe2582a12 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xe259bda4 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xe266483d rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe26a635a fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xe274ac34 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe2779b85 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xe287bb6f sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xe289b7cb preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe29f2959 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2cbb012 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2e20d47 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0xe2e483e5 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe2f200ba wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xe2fc325d __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30e4941 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xe325344a pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xe329ba24 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xe3332ed6 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xe338c5ac inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xe347c25c devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xe3647cfc kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xe3766f0c driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe3948ff4 acpi_walk_dep_device_list +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe3994284 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xe39a407c fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a0b504 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b38ac9 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3c8a83a device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3ce6d6d class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3d1192e regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0xe3d245ae usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0xe3dae702 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe3e2e79c blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xe3e88acb __get_current_cr3_fast +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 0xe4384fb0 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xe43e2f90 device_del +EXPORT_SYMBOL_GPL vmlinux 0xe4539a29 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xe4785a39 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0xe47b281e sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe47f6e7d bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xe48611ac trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xe4874aef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe48afb7b do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xe495926a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a6e1b3 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xe4adc478 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c01109 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe4c22383 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4e04578 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe5010cea led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe5021a5f regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xe50dfa52 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xe512186a unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0xe5158f3c decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xe5171fe1 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0xe51c2bf9 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe52a4ac9 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0xe54c6d58 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xe550a804 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xe55b7f54 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xe57a76df xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xe57c0101 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58aa56b debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xe590d601 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xe593c1e6 blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0xe5b937e8 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5cea7c6 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xe5d0ac3a usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe5d62046 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0xe5f0fc62 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0xe601be07 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60a7553 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0xe6130abf device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe62ecb8a crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe6356324 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xe63dbdd8 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe656f831 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe65e3418 nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xe662437a debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xe66673f1 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xe6941033 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe6974116 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xe6990e99 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xe69bade2 pwm_lpss_probe +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6bcaed2 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe6d844e6 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6f15cf7 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f5e6f5 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe7166d87 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xe72013a2 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7259821 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xe740b58a hv_vp_assist_page +EXPORT_SYMBOL_GPL vmlinux 0xe745f082 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0xe74696d2 devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0xe74cd245 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe762e2fe rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xe7670790 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe77f8812 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe79d1ceb power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xe79daad3 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xe79f989c device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xe7a5e882 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xe7c701d4 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7de4d9e pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xe7e765cb sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xe7ec799e sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xe7edb9eb dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe802efe5 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe8070608 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xe807f8b5 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe8112192 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0xe8161484 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe8214788 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe825293d fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xe8263098 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe8302b0f fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xe838cace pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xe83eba32 itlb_multihit_kvm_mitigation +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe8500deb tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8764c0d devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xe87adc1d intel_msic_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe880bebc irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0xe8982597 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xe8a6fc49 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0xe8b40f33 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe8c75180 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe8c7794c blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xe8cefd69 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xe8d4a958 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe8edb47b register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xe9050b2c ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xe910ac1d usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xe91dda22 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe9281c93 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe97c2fa8 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xe97cb4e7 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xe98b71ab regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0xe9a7216a fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xe9aaf6d8 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0xe9c8e617 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0xe9ce931a kvm_para_available +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9dcf4a1 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xe9e18eb7 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0xe9f79468 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xea01542a regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0xea0c385c __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xea0f0fd2 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea19abb7 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xea1a2a3f param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xea2715d8 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3c877f dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xea4a1daa serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0xea6122f2 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xea705749 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xea845064 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xea8c8a22 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xea8f7fdf serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xea9ec376 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0xeaa00842 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xeaa77739 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0xeaad96f9 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xeab7c1c7 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xeab98d54 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae57df6 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xeaf5060a register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xeaf50669 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xeaf7fe0f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeaff483f sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xeaff73fd sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xeb1ddb76 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xeb2cec2a get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0xeb2ecfdf __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xeb37ac4d akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb474fb0 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xeb5d835f cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb745c3e handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb833c22 xen_has_pv_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0xeb8801da sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xeb94b3e2 dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xeba71dac led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0xeba8b29f __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcbfbe7 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xebd2f25c __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe552f3 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xebf1185a extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xec1628e6 pv_info +EXPORT_SYMBOL_GPL vmlinux 0xec2e5047 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xec45f963 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec5d59e1 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xec660cd3 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec6dce5b dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xec76c934 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec77e522 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xec788566 acpi_target_system_state +EXPORT_SYMBOL_GPL vmlinux 0xec9dfc85 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xeca0394f fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xeca25f66 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeca639d8 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecc1fba9 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xecc6f087 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xecd5ec4c regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecf9e6c8 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xed1bcb5d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xed210a07 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xed36a7ca __intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0xed6582f1 intel_msic_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xed70c6a6 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xed7c7b91 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xed8656a7 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xed9adaf3 split_page +EXPORT_SYMBOL_GPL vmlinux 0xeda1aa6b ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xedbfb165 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xedc08168 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xedd212a9 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xedd87292 __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0xeddbda22 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xeddfda32 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xede106c4 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xede3eb56 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xede98ec5 intel_pt_validate_hw_cap +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedef49cf skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xedf3be00 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xedfd3887 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xedfeee78 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee1b5bd3 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0xee1b8842 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xee2f4e41 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3e9ca6 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xee4aa764 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xee59278d icc_get +EXPORT_SYMBOL_GPL vmlinux 0xee69f84a iptunnel_metadata_reply +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 0xee8149b9 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0xee97a82d ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xee9fcda6 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xeea31288 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xeeac07cc dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xeeaf2fe2 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee667d3 fpregs_assert_state_consistent +EXPORT_SYMBOL_GPL vmlinux 0xeef74959 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0xef0ab87f serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xef111c07 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xef1288f7 acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef333004 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xef44be3d splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef876e8a crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xef89969f agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xef89d0eb sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xef8fc95f kvm_async_pf_task_wait_schedule +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xef9b1c0b dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xef9f04bc trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefa798b1 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefb67310 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xefe0f69f dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xefe86007 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff06bfe dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0xeff49546 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0xefff2a9e rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf00b9df7 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xf02a1f5a gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf048faaa __xenmem_reservation_va_mapping_reset +EXPORT_SYMBOL_GPL vmlinux 0xf04a67b8 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf0504ce5 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf062e051 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06ba954 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xf08050c4 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf08be0c9 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xf0906519 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0917fe0 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xf0a111bc irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xf0ca4d98 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0xf0ce073c xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xf0cedbcf regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xf0d478c7 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xf1092443 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf10bbeb1 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0xf1108fe3 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xf114a0b8 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xf1163b0a vfio_iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf139bf88 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xf13a4c66 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xf13db29e usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf14740aa exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xf14bfb09 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xf15a1b0f uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0xf15a8eca xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf1765dbb hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1a3fc7e sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf1a58b00 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1bed8e4 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xf1c72e61 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0xf1cd8929 kvm_read_and_reset_apf_flags +EXPORT_SYMBOL_GPL vmlinux 0xf1db97df acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0xf204798e devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xf2125cba regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xf212aba5 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xf21a1b82 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf21e3bd7 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xf22fafde tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xf24868c0 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xf250063e pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xf2699de9 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xf2769923 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28989c0 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xf28deeee dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b8cfd8 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xf2bab9c9 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0xf2ea6c64 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf3086d57 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xf3095659 klp_get_state +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 0xf3167ae9 sock_prot_inuse_add +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 0xf33740d8 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xf33d5646 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35f2600 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf3682b0f relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf370eda9 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3875661 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xf39d3a31 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xf39ef353 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xf3a4a0ad dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xf3a5b0aa tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xf3a64c47 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf3a92849 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3bddf7c class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf3d1e3e6 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xf3ddab07 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0xf3e75ce9 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf3f97ac9 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0xf41673db rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xf41d9eda transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xf424ae0b ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xf425db54 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xf42e87f7 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xf4474820 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xf44d9e12 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xf452e935 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xf4573666 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xf4586628 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xf4605c5c fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46a13b4 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf4a07f9a efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b47cbb modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf4b55520 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xf4d7b890 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4e5204e pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0xf4e90dde ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xf4ec9d76 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf503317e fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0xf50e911e copy_reserved_iova +EXPORT_SYMBOL_GPL vmlinux 0xf50f2ae2 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf510138e regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xf522f651 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xf5266555 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xf53a619e __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xf54ade20 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55c2049 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xf5662efe crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xf5900545 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xf59a81fe tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0xf5a0d626 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5aa65b4 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xf5b32eea gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5d96580 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xf5dbb889 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xf5f28123 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5fbe177 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xf607aac9 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xf607adcc crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xf620a893 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xf622c5fa ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xf6230e49 fpregs_mark_activate +EXPORT_SYMBOL_GPL vmlinux 0xf62ad6b2 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xf63faeb6 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf678bf2f sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6acbfd9 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0xf6c4f129 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6c9228c sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xf6dee15f dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0xf6e18645 nvmem_cell_read_u32 +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 0xf701c2c5 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xf70d460a irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xf70e4a4d preempt_schedule_notrace +EXPORT_SYMBOL_GPL vmlinux 0xf715ae20 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xf71ebbec dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xf7212d50 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xf740ece0 pm_clk_suspend +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 0xf7539241 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xf75c3836 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xf75fa0f4 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xf767ca35 fixed_percpu_data +EXPORT_SYMBOL_GPL vmlinux 0xf76c47f3 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf773b5eb regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf78b3206 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7a4dba8 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0xf7a69b4b kick_process +EXPORT_SYMBOL_GPL vmlinux 0xf7aa0b8d crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xf7b6e16f gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf7bafc7a phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7c8b205 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7e99fbc simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf7f91890 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf807b59f spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xf82acc32 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834bfe4 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84745e5 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf848c091 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xf84e28a2 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf852f634 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0xf872dffa bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf881cecd load_fixmap_gdt +EXPORT_SYMBOL_GPL vmlinux 0xf882c9dc cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xf8bf3fc2 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf8cde86a pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf8ce4643 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xf8d051b8 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xf8dbc798 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xf8ece4f6 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xf8ef47d4 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xf8f37b3b mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f54a01 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xf8f77bec devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3986 pat_pfn_immune_to_uc_mtrr +EXPORT_SYMBOL_GPL vmlinux 0xf91507f6 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xf91ab2ed __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xf924b91f platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xf931d121 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf93408f0 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xf945014e is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xf94fc87b usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf9542d20 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf98c9d80 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xf9957dac irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xf9980d47 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf99ccb5f dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a30427 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf9a9adc5 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0xf9afe343 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xf9b174eb scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xf9cb1ab9 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xf9db1c78 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfa0a8896 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1ef702 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfa25a7ca dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xfa275959 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xfa28316b ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xfa2afae8 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa35044a alternatives_patched +EXPORT_SYMBOL_GPL vmlinux 0xfa556f36 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa7de1cc device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfa99d285 pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfad0265a adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae5549e blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xfaeda1cf devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xfaf5f983 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0xfafd2fc3 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xfb09c1e4 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xfb0ec7a4 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0xfb233f01 dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0xfb2df073 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb363c55 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfb3748bb ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb511c13 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xfb523bd6 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xfb5d188c regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfb5ef467 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xfb5ff4a9 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xfb668f98 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb8e13d4 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xfb93d85b skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xfb98a9f0 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0xfb9c8779 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xfbbc2118 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbcdc74e fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xfbdfc558 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xfbe9a528 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xfbfdb498 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0797e4 free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xfc149ea7 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc160b60 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3e62eb dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xfc4366e9 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xfc58438b devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xfc59e158 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xfc6f14c5 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0xfc746b3c gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xfc908737 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xfca52c47 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0xfcaa1642 wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcc3e6cf regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfcc5cb81 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xfcd006e4 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xfcec8e10 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0xfd1882bc phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0xfd31a620 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfd4beb2f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd5118f9 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfd5f67a9 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd7556b6 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfd7de851 iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0xfd947e66 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xfd9f5f87 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xfdb4c9e0 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfdbc6bb3 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdda1e09 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xfde30159 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xfde60a1a crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfdf8d0c3 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xfdf99f41 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xfdfebadf irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xfdff3527 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xfe01763c device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xfe01dca7 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe0ec38b bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0xfe0f58bb ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xfe31c6a4 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xfe31d725 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfe3250ce dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe4a8535 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfe620e6a sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0xfe631370 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xfe65bd59 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe8673ee iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfebfcab8 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xfec9f00f set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xfeca2091 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xfecca49c fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfeebeeea devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfef26f55 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfeff9c72 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff1753c9 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xff1e67b9 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0xff2386b1 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xff24739b tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff337d6b led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0xff38a7a5 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xff56454f nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff7186e6 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xff812867 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8c6ed4 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0xff8e74e2 arch_haltpoll_enable +EXPORT_SYMBOL_GPL vmlinux 0xff9d5168 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffab902f acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffae9ac2 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xffc12910 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xffc8bb7a pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xffdb499d register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xffe2c6d6 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xffeee9c2 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0xfffa6f19 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xfffce139 __page_file_mapping +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0xe1fb106e ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xf60b2367 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x175d6425 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1f024c4e mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x234eb1bc mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x32be9718 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3d7456c8 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5e121adc mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6d35dc6a mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x71cff739 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x808b67e7 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xb79e7c53 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc5458fb2 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd6e284ec mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xea097dcf chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xf3309c18 mcb_free_dev drivers/mcb/mcb +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x73407fd0 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xebabce56 hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xf93917f7 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x1fe3d6dc hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x2f7c1845 hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xdf5304a0 hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x2517ce95 sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x50d32e7b sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x5b5be595 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x61cf31b7 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x703e1716 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xa9a9b2b6 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xacf31f39 ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xf4d48b52 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x20124f66 intel_ipc_msg_data sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x2b475d25 intel_ipc_pcm_params sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x866ab67b intel_pcm_close sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xe11f7b2d intel_pcm_open sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_MERRIFIELD EXPORT_SYMBOL 0x4c6ae68a sof_tng_ops sound/soc/sof/intel/snd-sof-intel-byt +SND_SOC_SOF_MERRIFIELD EXPORT_SYMBOL 0x8639b9f0 tng_chip_info sound/soc/sof/intel/snd-sof-intel-byt +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0x78a407f1 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +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 0x0ca463b1 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0ec84ece usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0f965135 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x12210e5c 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 0x25505865 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2e81cce9 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3550fb21 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3b1df911 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3dac0eca usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5ee31324 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6a796340 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7012a799 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x70ca7427 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x78c05518 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x8af9d80f usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x95bbe89a usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa18fa8e3 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaaf3252d usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xabd14d36 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc1280d48 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcee5831b usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xda9e9d65 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdeab8b1b usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf785d62e usb_stor_CB_transport drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/lowlatency.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/lowlatency.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/lowlatency.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/lowlatency.modules @@ -0,0 +1,5727 @@ +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 +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_rdma +9pnet_virtio +9pnet_xen +BusLogic +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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 +advansys +advantechwdt +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +airspy +ak7375 +ak881x +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 +ambassador +amc6821 +amd +amd-rng +amd-xgbe +amd5536udc_pci +amd64_edac_mod +amd76xrom +amd8111e +amd_energy +amd_freq_sensitivity +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 +analog +analogix-anx78xx +analogix_dp +ansi_cprng +anubis +aoe +apanel +apds9300 +apds9802als +apds990x +apds9960 +apex +apple-gmux +apple-mfi-fastcharge +apple_bl +appledisplay +applesmc +applespi +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquantia +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_ps2 +arc_uart +arcfb +arcmsr +arcnet +arcxcnn_bl +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 +asb100 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asus-laptop +asus-nb-wmi +asus-wireless +asus-wmi +asus_atk0110 +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +atbm8830 +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +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 +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 +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 +blake2s-x86_64 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish-x86_64 +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_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 +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_hsi +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-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 +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-pltfrm +cdns3 +cdns3-pci-wrap +cec +cec-gpio +ceph +cfag12864b +cfag12864bfb +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-x86_64 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8505 +chipreg +chnl_net +chromeos_laptop +chromeos_pstore +chromeos_tbmc +ci_hdrc +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_usb2 +cicada +cifs +cio-dac +cirrus +cirrusfb +ck804xrom +classmate-laptop +clip +clk-cdce706 +clk-cs2000-cp +clk-max9485 +clk-palmas +clk-pwm +clk-s2mps11 +clk-si5341 +clk-si5351 +clk-si544 +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_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +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 +cops +cordic +core +coretemp +cortina +cosm_bus +cosm_client +counter +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpu5wdt +cpuid +cpuidle-haltpoll +cqhci +cr_bllcd +cramfs +crc-itu-t +crc32-pclmul +crc32_generic +crc4 +crc64 +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_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_kbd_led_backlight +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +crvml +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +cs89x0 +csiostor +ct82c710 +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +dax_pmem_compat +dax_pmem_core +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dcdbas +ddbridge +ddbridge-dummy-fe +de2104x +de4x5 +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_rbu +denali +denali_pci +des3_ede-x86_64 +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dl2k +dlci +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-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 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dps310 +dpt_i2o +dptf_power +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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 +dw9714 +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 +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 +echainiv +echo +ecrdsa_generic +edac_mce_amd +edt-ft5x06 +ee1004 +eeepc-laptop +eeepc-wmi +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efi-pstore +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 +enic +epat +epia +epic100 +eql +erofs +esas2r +esb2rom +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +eurotechwdt +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_cs +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firestream +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +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 +fscache +fschmd +fsia6b +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +ftdi-elan +ftdi_sio +ftl +ftrace-direct +ftrace-direct-modify +ftrace-direct-too +ftsteutates +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gasket +gb-audio-apbridgea +gb-audio-gb +gb-audio-manager +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 +gdth +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-clmulni-intel +gl518sm +gl520sm +gl620a +glue_helper +gluebi +gm12u320 +gma500_gfx +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +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-generic +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sch +gpio-sch311x +gpio-siox +gpio-tpic2810 +gpio-tps65086 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +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_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hdaps +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +hecubafb +helene +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfi1 +hfs +hfsplus +hgafb +hi311x +hi556 +hi6210-i2s +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hio +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hopper +horizon +horus3a +hostap +hostap_cs +hostap_pci +hostap_plx +hp-wireless +hp-wmi +hp03 +hp206c +hp_accel +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +hsu_dma +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 +hyperbus-core +hyperv-keyboard +hyperv_fb +i10nm_edac +i2400m +i2400m-usb +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-cht-wc +i2c-cros-ec-tunnel +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-gpio +i2c-hid +i2c-i801 +i2c-isch +i2c-ismt +i2c-kempld +i2c-matroxfb +i2c-mlxcpld +i2c-multi-instantiate +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-xiic +i3000_edac +i3200_edac +i3c +i3c-master-cdns +i40e +i40iw +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 +ie31200_edac +ie6xx_wdt +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +ina209 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +input-polldev +inspur-ipsps +int3400_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-rng +intel-rst +intel-smartconnect +intel-uncore-frequency +intel-vbtn +intel-wmi-sbl-fw-update +intel-wmi-thunderbolt +intel-xhci-usb-role-switch +intel-xway +intel_bxt_pmic_thermal +intel_bxtwc_tmu +intel_cht_int33fe +intel_chtdc_ti_pwrbtn +intel_int0002_vgpio +intel_ips +intel_menlow +intel_mid_powerbtn +intel_mid_thermal +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_scu_ipcutil +intel_scu_pltdrv +intel_soc_dts_iosf +intel_soc_dts_thermal +intel_soc_pmic_bxtwc +intel_soc_pmic_chtdc_ti +intel_soc_pmic_mrfld +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 +intelfb +interact +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ioatdma +iommu_v2 +ionic +iowarrior +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 +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +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 +khazad +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +ks0108 +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +ldusb +lec +led-class-flash +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-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxcpld +leds-mlxreg +leds-mt6323 +leds-nic78bx +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +legousbtower +lg-laptop +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libblake2s +libblake2s-generic +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 +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 +lmc +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 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltpc +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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 +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +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 +max1363 +max14577-regulator +max14577_charger +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max63xx_wdt +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77693-haptic +max77693-regulator +max77693_charger +max77826-regulator +max8649 +max8660 +max8688 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +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 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-bitbang +mdio-cavium +mdio-gpio +mdio-i2c +mdio-mscc-miim +mdio-mvusb +mdio-thunder +mdio-xpcs +me4000 +me_daq +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mei-me +mei-txe +mei_hdcp +mei_phy +mei_wdt +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 +meye +mf6x4 +mgag200 +mhi +mi0283qt +mic_bus +mic_card +mic_cosm +mic_host +mic_x100_dma +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microread_mei +microtek +mii +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx-platform +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +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_sound +most_usb +most_video +moxa +mp2629 +mp2629_adc +mp2629_charger +mp8859 +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi-laptop +msi-wmi +msi001 +msi2500 +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +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 +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 +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxm-wmi +mxser +mxuport +myrb +myri10ge +myrs +n411 +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand +nand_ecc +nandcore +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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 +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 +ns +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_intel +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nuvoton-cir +nv_tco +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvram +nxp-nci +nxp-nci_i2c +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +of_xilinx_wdt +ofb +omfs +omninet +on20 +on26 +onenand +opa_vnic +opencores-kbd +openvswitch +oprofile +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +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-raspberrypi-touchscreen +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 +pblk +pc300too +pc87360 +pc87413_wdt +pc87427 +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-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 +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_pcmcia +peak_usb +peaq-wmi +pegasus +pegasus_notetaker +penmount +pf +pfuze100-regulator +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cpcap-usb +phy-exynos-usb2 +phy-generic +phy-gpio-vbus-usb +phy-intel-emmc +phy-isp1301 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-usb-hs +phy-qcom-usb-hsic +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pinctrl-broxton +pinctrl-cannonlake +pinctrl-cedarfork +pinctrl-da9062 +pinctrl-denverton +pinctrl-geminilake +pinctrl-icelake +pinctrl-intel +pinctrl-jasperlake +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 +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +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 +pretimeout_panic +prism2_usb +processor_thermal_device +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_vmw +pulse8-cec +pulsedlight-lidar-lite-v2 +punit_atom_debug +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvrusb2 +pwc +pwm-beeper +pwm-cros-ec +pwm-iqs620a +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pxa27x_udc +pxe1610 +pxrc +qat_c3xxx +qat_c3xxxvf +qat_c62x +qat_c62xvf +qat_dh895xcc +qat_dh895xccvf +qca8k +qcaux +qcom-cpr +qcom-emac +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qm1d1b0004 +qm1d1c0042 +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 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rdmavt +rds +rds_rdma +rds_tcp +realtek +realtek-smi +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rocket +rohm_bu21023 +roles +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +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 +sbni +sbp_target +sbs +sbs-battery +sbs-charger +sbs-manager +sbshc +sc1200wdt +sc16is7xx +sc92031 +sca3000 +scb2_flash +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 +scif +scif_bus +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 +seed +sensorhub +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 +sfp +sgi_w1 +sgp30 +sha1-ssse3 +sha256-ssse3 +sha3_generic +sha512-ssse3 +shark2 +shiftfs +sht15 +sht21 +sht3x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sil164 +silead +sim710 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis-agp +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +skfp +skge +skx_edac +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +sl811_cs +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc91c92_cs +smc_diag +smiapp +smiapp-pll +smipcie +smm665 +smsc +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp3x-i2s +snd-acp3x-pcm-dma +snd-acp3x-pdm-dma +snd-acp3x-rn +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-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-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-ext-core +snd-hda-intel +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-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-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-acpi +snd-soc-acpi-intel-match +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-bd28623 +snd-soc-bt-sco +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-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-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdac-hda +snd-soc-hdac-hdmi +snd-soc-hdmi-codec +snd-soc-imx-audmux +snd-soc-inno-rk3036 +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-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-nau8540 +snd-soc-nau8810 +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-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-rt1308-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-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-rt700 +snd-soc-rt711 +snd-soc-rt715 +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-skl_hda_dsp +snd-soc-skl_nau88l25_ssm4567 +snd-soc-skl_rt286 +snd-soc-sof_da7219_max98373 +snd-soc-sof_rt5682 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sst-acpi +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-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-firmware +snd-soc-sst-glk-rt5682_max98357a +snd-soc-sst-haswell +snd-soc-sst-haswell-pcm +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-acpi +snd-sof-intel-byt +snd-sof-intel-hda +snd-sof-intel-hda-common +snd-sof-intel-ipc +snd-sof-pci +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-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 +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-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 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +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_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 +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +stx104 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3-wmi +surface3_button +surface3_power +surface3_spi +surfacepro3_button +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink +synclink_cs +synclink_gt +synclinkmp +syscopyarea +sysfillrect +sysimgblt +system76_acpi +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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_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 +tea +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 +tgr192 +thermal-generic-adc +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-ads7950 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-tlc4541 +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 +tmp401 +tmp421 +tmp513 +topstar-laptop +torture +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_key_parser +tpm_nsc +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps80031-regulator +tqmx86 +tqmx86_wdt +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +uPD98402 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +usnic_verbs +uss720 +uv_mmtimer +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vboxguest +vboxsf +vboxvideo +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vfio_mdev +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-dma +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +visor +visorbus +visorhba +visorinput +visornic +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 +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 +vop +vop_bus +vp27smpx +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 +wimax +winbond-840 +winbond-cir +wire +wireguard +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 +x25 +x25_asy +x38_edac +x86_pkg_temp_thermal +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +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_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_gmii2rgmii +xilinx_sdfec +xillybus_core +xillybus_pcie +xirc2ps_cs +xircom_cb +xlnx_vcu +xor +xp +xpad +xpc +xpnet +xr_usb_serial_common +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 +yealink +yellowfin +yenta_socket +yurex +z3fold +zatm +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/amd64/lowlatency.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/amd64/lowlatency.retpoline @@ -0,0 +1 @@ +# retpoline v1.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic @@ -0,0 +1,24587 @@ +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x68f275ad ce_aes_expandkey +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x8ff421c6 ce_aes_setkey +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0x52d67a4e neon_aes_cbc_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 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x737051cc poly1305_init_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 0xd4671463 xor_block_inner_neon +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x36514a77 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x371ade8d crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x40623d3e crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x7675e4b5 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xa4697bb5 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xa56f5e9d crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/sha3_generic 0x02880cd8 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x2ea42507 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xf42faf5b crypto_sha3_update +EXPORT_SYMBOL crypto/sm3_generic 0x81bcbade crypto_sm3_update +EXPORT_SYMBOL crypto/sm3_generic 0xfc87c584 crypto_sm3_finup +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0xceec93be to_nfit_uuid +EXPORT_SYMBOL drivers/atm/suni 0x6ec6803d suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x540d9b3b bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x5721a431 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/bluetooth/btbcm 0x75bc5a20 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0xd87b5f3f rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x9d02461d 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 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x478105df ipmi_smi_watcher_unregister +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 0x710492c0 ipmi_get_smi_info +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 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbd399cf0 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xca8a2c85 ipmi_smi_watcher_register +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 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 0x2bb93664 st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x31c64821 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xbc492aa2 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xe3a23aff st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x3f092c44 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x4d34a105 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x6bf82876 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x9efa15ef atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc249fb72 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc7aea5a2 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 0x0aa1a933 caam_drv_ctx_update +EXPORT_SYMBOL drivers/crypto/caam/caam 0x0e18667f caam_drv_ctx_init +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 0x4cfb8e88 caam_drv_ctx_rel +EXPORT_SYMBOL drivers/crypto/caam/caam 0x885b9b2b caam_qi_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam 0xc0eaa792 qi_cache_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x1e6bfacd caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x20568a53 caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x3a70fcc5 caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x4ab24a42 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x78380fdc 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 0x12fbce4f dpaa2_caam_enqueue +EXPORT_SYMBOL drivers/crypto/caam/error 0x53d0fc97 caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x70d2cd16 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 0x0ee4239c xilinx_vdma_channel_set_config +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x12e47002 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1cad33c9 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2f15259b fw_iso_context_queue +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 0x4e9dbb19 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x57fa4383 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5ed62f1c fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x720c4334 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x797bf85a fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8730410d fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8c1e5ed4 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8d6acc5d fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8e7e6f8f fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9ba0f3f7 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9d60ef85 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9e5c458c fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa4818c06 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb8161e9d fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbfc74991 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc16f0e91 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc550c97d fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd3ec3a8d fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdcec90e9 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdfe3527c fw_core_handle_bus_reset +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 0xefb09308 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf099ccb2 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf771b5b2 fw_core_handle_response +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 0x2fa53a28 imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00cf8bde drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00e07071 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01101c09 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0138e449 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0169b35f drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x019427f1 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0231a6d4 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x030cec86 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0387c4eb drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03f38588 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05194188 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x057b7c0e drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05d16781 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x063efbbb drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07569971 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0797f304 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x087b81d8 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08bc0a42 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08c056bd drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x091bb943 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09c7c7ce drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ab5ac3c drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b6b43fd drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b92170e drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bff0a02 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c7e79c9 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cc7e06d drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cf8f2e7 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d600e22 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f5f9f33 drm_atomic_bridge_chain_disable +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 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x114f27df drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b9567a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14fa0ff6 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15b0d35d drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d97bd8 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1604be4a drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1647a039 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x165f91f0 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1747d2a3 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17836a40 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17c7d593 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x180bcb10 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18b48326 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1947b2e9 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1996ffae drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a1bb11d drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a90417b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b7f6a32 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d3e0f0e drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d8733ab drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dc88d66 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f0e9234 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fb637b7 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2050d12e __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20924b58 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x210011e3 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x222014cb drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x227809af drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x232c166e drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x233ed6bc drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x235ec66e drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23738237 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x241631e0 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25e60633 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25f74bfa drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x263731d2 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x284ade74 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x287260e7 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x296e9d40 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a404abc drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ae0bfea drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b4f023f drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cbaf8bb drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d34fc41 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f671de2 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f968dbf drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x312d8cde drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31cb1768 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36e6ac0a drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39660bbc of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39cdbeb6 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a421bf2 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aec1bec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b638c9c drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d0725be drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d2b6cdc drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d6bf56b drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3db073cc drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e50b109 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb8d034 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f823d76 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42ac1775 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x431ea851 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43e76907 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43edd2d2 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44059b0e drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4445dcce drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x455a934b drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46612343 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4686525c drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474f5222 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47dae956 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4905dc0f drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b3bb52f drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b8165c0 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bb3acfc drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bee7b7e drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c3d4624 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cbb398b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce18954 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d4967f9 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e90efc9 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f9840db drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fa8e78d drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50726f52 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5144d4cb drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x517a52e7 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b90b13 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51beff52 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52c097d6 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52e0015a drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54495c04 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x546ac9b3 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x547433d1 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549569c7 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b48099 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b6e05f drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55d50380 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +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 0x57e1df0e drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5817c4c7 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5850e462 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x592a4576 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59a9e971 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59b0dc73 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59d89a2e drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a7b9f40 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ad71b4b drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bb62428 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5de516cd drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e64a0d0 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f096225 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6018e897 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60f833b1 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62794614 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62bf0eee drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63015b17 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x639bd5bd drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63f0293e drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64411bfd drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6482177d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65ea311b drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x660caa08 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66360d93 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66c5fa06 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66dda78b drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66f79a59 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6824813d drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6831c4b8 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68be91c9 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68d49ed1 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69dc2b7e drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a41f01c drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a6689d3 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dee2d42 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e5517de drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70457d6b drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70617bb4 drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x714abb70 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71849bd0 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x721c7d45 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72fb6a13 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7424b744 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x745fd1a7 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b14b4c drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76465d99 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76eec582 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x780e2018 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78c4046e drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78d363e2 drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x793f768b drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ac0d132 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b052d82 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b13b1e8 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb2f918 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d6d13ee drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e6008a1 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f427b06 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f49ff17 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f6c099a drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fbe2320 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8058a65b drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x813822e1 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x827e1bff drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82defc64 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x840e809c drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ec237 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87ab0f58 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8820e570 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89c6de5c drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a6500bf drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8adc1841 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b87434c drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c681161 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c783f2d drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8db20a29 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfa427e drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e5d6555 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x915a9946 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92034f1e drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92487fb3 drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x926177bf drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93df4fdc drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94a403ff drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95c43ea9 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95d4235b drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96018919 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9876a2b1 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9939ccd5 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99965441 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99dc24ea drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9aa85ded drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9af84454 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c2b423a drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ccc6c02 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d7ed9ff __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9da20452 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e0fcc95 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f66b5db drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa044bd8e drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1227160 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1f99680 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2b2bed7 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa320b4c5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa387fb6b drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4338d41 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5c79b91 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa67b22bb drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa691da5c drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa69db9f7 drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8e864d2 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa97a5e8d drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9ad9829 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9c38491 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaafbc97d drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab28c39f drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac14aa36 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac4c5033 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacf7831f drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad842624 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae1f8dcc drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafbdd61e drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb06eef7f drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb08771cf drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb105f093 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb14dfae3 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb21f5590 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2a78c01 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2e011c9 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2ed05d5 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb315a7dc drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb399fc8f drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3db66e2 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb408e958 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5f08344 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb634ec0f drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb660982b drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6ef1b52 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7b660cc drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb890d6bc drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba83ebad drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba8e9c44 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba958b30 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbac14def drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb191b5d drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb89e781 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc880dea drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcd6bcad drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe0f2408 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe2b4eaf drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe4fb92f drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe5c08e0 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe69dedd drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeda498e drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbee22c86 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf609a8e drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0187960 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc03b3b71 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc05015ee drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc101de73 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc12598d5 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc17a8674 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1dfd892 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc24a1991 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2f76669 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc37049ae drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3a9f47d drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc43b9620 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5d51f48 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc61571a9 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc65e7d1f of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7658af2 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7c8a89b drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc906d383 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9c8e938 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbdbf258 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc44c589 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd2a1417 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd88c7da drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd9b6afe drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcde1b90b drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf5b00c2 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1627237 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd23b2c84 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3ab093b drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd41a0117 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd41e6cca drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd479b1e6 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4eb2b60 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5d38bc3 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd691c348 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6c856fd drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd85d1fdc drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9f1550f drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd506edd drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddd93eba drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdef4026a drm_property_create_range +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 0xdfb121c0 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfd59c30 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe01a524d drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe09b86cb drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe116d3a4 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2c3a773 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317d43f drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe486db15 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5d70710 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6350114 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe77a985c drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe89009ed drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8c9fedd drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8dc30ad drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea65ff33 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaacb463 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeae982aa __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaef6c2a drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb35da7c drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb58842e drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec159921 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec828bb7 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed96e6e9 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeed479ca drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefdbd20c drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf01c424b drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf07b7052 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0e1c87b drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf370aa6c drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf40d1eb3 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf49ebdb8 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf55630b5 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6432904 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b24817 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b67255 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf764a72d drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf886d8e0 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8f7e5f3 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa3554ad drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfafcc0ad drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb446a8e drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb6e287b drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbf9e73b drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc39877c drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcf10700 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0088b393 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01676a8f drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03c521bd drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03cf9a3d drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05d84592 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08dbe7ae drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09a72247 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a84aa01 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b4fe4ef drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ceb6190 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0cec9666 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e13dfad drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f8a05a7 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fe03f10 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11413ba5 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x121593c5 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x15fb57a5 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17a95f47 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18af1cb5 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1970a553 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x198071c0 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ab25c15 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b609d4d drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1bf343ce drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1de78266 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e1a5f06 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e534fb8 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f688acb __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20108e12 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2053159e drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22b06c43 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x231854ff drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x243e4ff8 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2506afd2 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25224a66 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x29898ed4 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b80190e drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b9dead0 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c3e5afa drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e4cab2a drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f9f76e9 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x302a86e0 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32776f14 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34793b05 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x347eb723 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x348cafb4 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37fc0538 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x389b5eac drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ada37ef drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3cb920ea drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d0db136 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3db6261a drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3dd0e94c drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4157468c drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4486b20f drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45e583fd drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46e6e453 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4769ff8d drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4930451a drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a649348 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c9c6adf drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e59f07c __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52e59946 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5301dd66 drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x530f9518 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x568c62a5 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x580f91c5 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582703f8 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ba5afe7 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d8618fa drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e4d264b drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e4e1b07 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ee3441b drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fc24e68 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6064600b drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62673e52 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62f22dea drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66c89f25 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66d8d00e drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66d919d2 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x677654a3 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68c29728 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a351a30 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bbe7747 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x708b3e3b drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71080572 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71a99c8f drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71ea2456 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72a6fa37 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74f34734 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x773b5cf5 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x792117e4 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a06a91c drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7de7779c drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ea0666c drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ed68306 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fef36af drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x813f02d6 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8152c14c drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x837ad893 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83faf60b drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83fed674 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x863378c5 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86c71057 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87d1a845 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88d7d95f drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ae2286a drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ce27b1f drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9405bc3d drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9424c2bd drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96052c2d drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97728ab0 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97a1a4cb drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97fd17ea drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x98d6afba drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a5cd2b8 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b0cc34b drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bc958a0 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cb13975 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ce8a391 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9eabe8ec drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa08de144 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0c19a2d drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1be516b drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa25170a7 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa37083bb __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa7dc83d9 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8e3b110 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa972ac51 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaab8a6fc drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xada51075 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae4a2fa0 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae59e923 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaeffea49 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0aaf28e drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb302b4c3 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb362ad3f drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb50d782c drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb73033ee drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbaa48f84 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc9944f0 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd396c98 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0ad19be drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0c4feff drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc1e64afd drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2dee422 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5bce26d drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc72d8cba drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8b7da52 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8dff1d3 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc96f2181 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc512a10 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd2bb4e4 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce0a6573 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcecbb369 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd12f593b drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd40f44c7 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd53ee306 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd55b77fe __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd56375b5 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5780387 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6e918ef drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8b4be47 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdbcc7ad9 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd10b0b0 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdef13cf2 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf7c293d drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfedc001 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdff7a394 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe00eea14 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe05fddcc drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe148af9e drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1eb7bdd drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe206b16c drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3539679 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7b849d0 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7c2749e drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea47342d drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb4451c8 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb4b4013 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec310588 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcfd98c drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedef34e5 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee3f318a drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee9e91e5 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef325a44 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef875b98 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf02cc03d drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf151f8e5 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2ad1621 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf35f3313 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf3e45599 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4f7e7fb drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5c6d299 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6802b18 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf78fdd7f drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7b05e3d drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa4c9fee drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa635d93 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfbcec280 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfbdd69b8 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc02e32a drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc3da0ac drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfccc80bb drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcf9157d drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfda7308c drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0a2b6e71 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x35c76b6a mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3dd84b88 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x40acad25 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x42b93b65 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x82226fc2 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8347a35a mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x9c2a91d1 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xaa0f8a6c mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb3236a74 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xce850363 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xddedc2fe mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe1543dfc mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe64f7eef mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe80ed141 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf0e59ea7 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf753df58 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x15075e06 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xdd134819 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x13d98615 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x15366d49 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x25359f72 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x28f5d309 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2b06da54 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x41c26469 drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x44bc2f61 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x47a1fd43 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4d40a671 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x50056e3a drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5e579ede drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x604d8ae6 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8af72c6d drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8e819c48 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x94899bc7 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9e945bb0 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xaa424b7c drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc18ca8ec drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd6af3f9e drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd926cf5d drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfd57361c drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x69266528 rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x05b5bd90 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x09652b98 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0d083f6e drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x198bbfb0 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x31ec7ed5 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x36be49ec drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3f441f65 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6c2113f3 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x71d810fb drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x775aa682 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x79935e95 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x83a17114 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8739da8d drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x89870fdc drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa8df827e drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb733b797 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc6744476 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd1b7bfd3 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd1dfc225 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd772d1d2 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe6bd2996 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x6e9d2566 sun4i_frontend_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x81d3158f 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 0xb325323d sun4i_frontend_update_coord +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xd047261e sun4i_frontend_update_buffer +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe13164ef sun4i_frontend_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xf68556b8 sun4i_frontend_update_formats +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xfe91ef2c sun4i_frontend_enable +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x21462479 sun4i_tcon_enable_vblank +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x31a4aec3 sun4i_rgb_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x3986b1e8 sun4i_lvds_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x3eddcef7 sun4i_dclk_free +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x5463b560 sun4i_dclk_create +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x6c10c7a7 sun4i_tcon_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xc6ce9c09 sun4i_tcon_mode_set +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x1e7c36e6 sun8i_tcon_top_de_config +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x350e5dcd sun8i_tcon_top_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0xba3e639c sun8i_tcon_top_set_hdmi_src +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x00eed14a ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0661cb76 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c92fce9 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0d6c63f4 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e623435 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11f77cb8 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20f714ae ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23414945 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x255ae216 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b2fca31 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30e88506 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31dd844e ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3500146d ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x463199d6 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49dc14ca ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4b37b7ea ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x51f403b5 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52e29328 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59b879b8 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e46d4a7 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6637f191 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69b95790 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6ba26754 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6d68798a ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e4ea40d ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x73769a02 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x770d576a ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78780ab6 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7bb0ad0e ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x81b453b5 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x857af481 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x92588b7b ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa07fdb2c ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa1efc6e6 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa929067b ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb057cebc ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb595c4e4 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb6bc400d ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xba635de0 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbb874f77 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbdcf504b ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbddc87eb ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe757a85 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc0f0bbff ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc1d43b86 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce12c18f ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xced7d996 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcfb81529 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd2196e4a ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdac729e4 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde92f14f ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe322d941 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe80cdc70 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe962caff ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef7b6228 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf33dcc86 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4607a28 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4881ee6 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf7d7cc07 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf97def1a ttm_dma_tt_init +EXPORT_SYMBOL drivers/hid/hid 0xffefebb7 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 0x02aaaa5e sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x16364166 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x769cb234 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xfb7a8fb4 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x444b4236 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xf7ab4658 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xd5eb5002 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xac98f98e bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xb6b7090e bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xf1879896 bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x552182f1 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x8bb26184 kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x915c60e8 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x1395e5ba mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x1af9c651 mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x239a5671 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x28870a40 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x4061d15e mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x4df983b3 mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x5766da80 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x5fd1631e mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x63cd1139 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9c7abf47 mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9e78459f mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbe239d01 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbee1aa32 mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xcdae4252 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe184682b mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xead6dae1 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x69a17ba4 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x8d1175e6 st_accel_get_settings +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xd753cd73 st_accel_common_remove +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0xeff30e6f iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x144076af iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x2d324c43 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x4726c866 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xad78a8ed iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xc54571bb devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x5ac78abf bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3988ba6b hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x48a8794b hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x4dfc37a7 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x62ea2b2f hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x71f6415c hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x9bc7255d hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xce4a1aaa hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xd4174ca9 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xfd30c65e hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xfec7b1a5 hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x917b9399 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x96e99705 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xafc0895a hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xc27f1d72 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x0662c462 ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x20400b52 ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x27e03e61 ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x31889970 ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x68f1ad8b ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x7a966704 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x7e761785 ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xae63d821 ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xecc18c34 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x408fb6c2 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x447ee132 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x8df5affb ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xc83626c7 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xee3abb99 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xa65bd26a ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe8165316 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe91af58e ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x058986e7 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0bf829a6 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0f7e628c st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3ecde6c4 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x4a2f0fd8 st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x652f66f3 st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x98f2ff62 st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x9ce9f899 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xb37a0d5b st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xbfe410fd st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc71c1587 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd10e0baa st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd27ea945 st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd83e2e1c st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd962c20c st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf100d0bc st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf1d65dda st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xffca61d6 st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x29f9c110 st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0x61382cf7 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x8b5ba49d mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xb1e1de92 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xdb9199de mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x20b8eea5 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x4dfaa2b3 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xdcad91b1 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x727c4b84 hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xa68d674d hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x31940e5c adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xd7542687 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xf9279b4c bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x329a4718 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x4047fc9a st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xdc2cb772 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x0b24a57d iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x1086c35e iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x281dd128 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x47615df8 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x527029c3 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x6411e80e iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x6486579a iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x6502f83b iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x695d9ae8 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x6c09ce7c iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x6d30e60d iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6e4b97b2 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x72444623 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x7c3c4527 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x8eaca806 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x9fb7da3b iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xa07ad2f1 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xa67400fb iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xbc94b20c iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xc431f077 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xcf0f1e5d iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd9e463a5 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xdfcc3a86 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xf5fba5d3 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0xcd1cb3ca iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1574365b iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x577ec353 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xb6388d99 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xc667c8c2 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x4a0ad44a iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x9ef4bca3 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xb1c71280 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xee271500 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x1f56de0b iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x9990d6dc iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x69a926d0 st_uvis25_probe +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x6f3c697b st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x26b023cc bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x76cc7cf5 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x957f519b bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xfe5d0261 bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x4d0c2eb6 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x9096beea hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xa7456883 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xb364a27c hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x4d595a10 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x72a0cfee st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xaca6228a st_magn_common_remove +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x1ac00c74 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x481a11c9 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5cd2e5b2 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xb65438d0 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x4199c3df ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x92bedd06 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x2d715df6 st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x440c9dba st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x8b755fa8 st_press_get_settings +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1df83f26 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x22dcf222 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x46d82633 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x47976724 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4d6ff4f2 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6742f09a ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x80dba30d ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8bad5f99 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x96863509 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9f2e995c ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb85460b1 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb92b4d8f ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba5f11cd ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc04661c7 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe1194e04 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf676b406 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x007ccd39 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x017df869 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x026438ed ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0283492d ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03a7514f ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08a25a95 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08aa8b57 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08c396d2 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09cb4942 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e2fee91 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e57189b ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10cd8703 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14cc9b14 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15f1a2e6 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17b09084 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x185c450c rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18e00606 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19b59a8b ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a058359 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a305194 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1cae3f1c ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1cc837f4 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ce16709 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ef5e8c6 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f6b33fe ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x234d8f57 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2375534d ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x278acb95 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x280d9415 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29364671 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a3f19b6 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b2427ad ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b709818 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f25518c __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32a591b4 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33a4653c ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x347ed4c1 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36075e9c __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3668dfbe rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36867cc1 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3886c905 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x394ead7f rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39b59c33 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e7bec01 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3eacd401 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fa26057 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40c7b04f ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41612205 ib_create_rwq_ind_table +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 0x43f717a2 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4553c5e0 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x459c8b58 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x475b8a09 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47f18e2a rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e5b59a rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a435f9a rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b779238 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bb3da8a ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d990400 ib_query_pkey +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 0x4f7ef58a ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54092151 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5543d72f ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x569ee8c6 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x576988f1 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57f18620 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57fb5d5e ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d2aabe5 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f8d9a58 ib_post_send_mad +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 0x63d3e261 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65eeb2a1 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x694b291a ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a323394 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6afcdb23 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c0ffd02 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d943bd8 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f28d5ef ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x736a605b ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73e57d4b rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x747b0567 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75cf153b ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7625fca1 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x763098b9 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7643c71e rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x766227b6 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x767a9810 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7795fc8a ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a3d2b7a rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c1cb325 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e8c76bc ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x809d58b1 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81c67f36 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82efe6d2 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88aedcb5 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89c3fde1 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d8dbfcb ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e0ee842 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e8ea020 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f556369 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f5be6bd rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94c333af rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94dec540 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x956352cc ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95f9b321 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98ac81c5 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x999e02ff ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99ca390b rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ace2ac5 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c9d21cf ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cd35bec ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ee92e9d ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9eeca9b4 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0c8ad17 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2f94191 rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa383c788 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa41e3c22 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa430b875 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4880580 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6df53f4 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb291fc92 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb56ec258 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5b0c56b rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb672147b rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9acd535 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb3a37e1 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb97a1bb ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbba4b91a rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc2afdf1 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbdd2708c ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0c8fbba rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc12188b0 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc25faeaf rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2bfe3f1 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc85f6079 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9fd2f82 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcab940c9 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb390b1b ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd3d7c94 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf34a5df ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1da173e rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3036173 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3b3c7df rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3fa9fa5 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd77bfb67 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd96ac7ca ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda245566 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdaf21894 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc87056f ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd055a53 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdee6c6a3 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfd3dee8 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0bade6f ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe110cc88 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe179bb36 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe23c40d9 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe404d493 rdma_user_mmap_entry_get +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 0xe62980cd rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe646cbdf rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7ae47ac ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8248b56 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8b116fa rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9c0f5dd ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea2bf378 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeaecb716 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecbac264 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed5c30b3 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed9fe87f ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee041695 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeeac09b5 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeeacc10a rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef775eb5 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeffc18c8 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1dc124e ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3551654 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf36c419c ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4dc3539 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5398d06 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5422ee8 ib_modify_device +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 0xf7a5870d ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7c5e5d0 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8220200 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf918ca63 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbacbd20 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdfe9296 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe5d40e8 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe643af6 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0916ac78 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0cf05ed9 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2dee4b17 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3a8b7c0b uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3baddba5 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x526df820 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x57928e39 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x596f4374 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5d80c1c7 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5f7f016e ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7230c15a ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7337ce1b uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x73db337b uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8afc408c ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8b9868ff ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9200060f ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x988c6354 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa4d210ff ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb1692254 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xba97b23c uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xce32f91d ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xce7c1203 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd1d1b13c flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdb0e70c1 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe07f997a uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe99cfe78 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf23be6b7 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf94829b0 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x54c22791 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x69cf5c9d iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6f502cc9 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa1b024c5 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa3105638 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb1c0fd21 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb854149d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xfa1821a0 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05b129c5 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x095ff4cb rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x103f031a rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x11fe560c rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x14815cd7 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2a0ddb31 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2aac9152 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2bc2bc96 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3af4b8d4 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x460fc948 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4d881654 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x534162c2 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5661d3e8 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5840fb84 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5992a026 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6e42141d rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x899f61d3 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9722d0e7 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x97ea6ea4 __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x984dd290 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa55dc1a3 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb2398bb9 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc7c89a5e rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd5757fa8 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdb1ed4fc rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf2acb5a4 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5c416e8 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf87599f0 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfb883088 __rdma_accept +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0eb93e68 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x12a42ebb rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x9a864197 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xa18c05f0 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xbe2f0af9 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe34b9e69 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5ea15433 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x6d88c790 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xb1359939 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xcf5ec78a rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x08f88090 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x14784cab rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x839f0dfa rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x8bc7d2db rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xa31d0a1c rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xb4bff7d0 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/input/gameport/gameport 0x11e7fe46 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x21955e75 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x6bdcd953 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x74bdc163 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8e60468e gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb2bc5903 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb87349b8 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xccb8a16f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe2d088ed __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x42713649 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x42c31fcd input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x4e45d2d0 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6843f19f input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf0f4a5ed input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x5160c777 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x8d0d132b iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x943092fc iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x12978b66 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x39ada30e ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7597d7e2 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf4241a1e ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x006cc045 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 0x0ca40d79 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x277a94ab sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2a43de9f sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8354475a sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x898c0f37 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb1601adc sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x4ea5ca6f ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xfd80554c ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0fb7ade4 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x324cbde8 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x614f357f attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xbea9640e capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf7664374 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 0x3981f653 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x65605ef4 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x906c6e2a mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf5e19ee5 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x59d3865e mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xb08f3d86 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x04d0292f mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x23df38c3 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2e5446c3 recv_Bchannel_skb +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 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5210821c recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x58fd5a4c recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x613072bc mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6530957b bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6774e782 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6818cd6a recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9b8addaa mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb2dc5f89 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb47d98ee mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb4995b28 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc7ce2fd1 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xca4303f5 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcd8794df mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcfe15543 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcfe5ab3e mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd0118bb9 mISDNDevName4ch +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 0xd685f242 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdb37861f mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xde9e9afe dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf4c18b35 mISDN_freebchannel +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 0x3d81ff38 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 0x6d0fe57e ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x669ce879 omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x87bf9bac omap_mbox_request_channel +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x87e8709f omap_mbox_disable_irq +EXPORT_SYMBOL drivers/md/dm-log 0x185d6c75 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xa6a5b2de dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xcd6e311d dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xd4bf6e1c dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x075b8d35 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x51358308 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x52de661c dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6fcc7a15 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7280328b dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf9226e60 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/raid456 0x42b0bc63 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x96ab5184 r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x050e4add flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0559a0b1 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0d975064 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x156a59a1 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x2f8b1b08 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x31963aa0 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3685c0b6 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4bb24187 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x9ac3d079 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa8821b9b flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xaa2c210f flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb8aeb54a flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf9794d92 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/cx2341x 0x0f83f146 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xa8ae7687 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xadcf8bc9 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc68f02cf cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x271971b3 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x1ecdb832 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b44f2f4 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x29e067e2 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0945c5c2 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7c111bd7 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x80d448dc vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb233cc71 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xca04d37e vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xea3a9f32 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 0x8fea9d5c vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0d9a80f1 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1d5f5b6c dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e40f5a6 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2a6003b2 dvb_register_adapter +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 0x3c98c191 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3feecaf6 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4850e41c dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4fe3d4ab dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5a1e14d9 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5ccd25fb dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5d970865 dvb_frontend_suspend +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 0x64d451a7 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x67480317 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x72dec182 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x73a30a5e dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7751ad77 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b0d51ce dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x80985cc4 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9d8b0eed dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4062683 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa8a4023f dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xaa943ecb dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb2aa5011 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb9a33c2e dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xba8486a9 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbb0168bb dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbeb0554f dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc556d048 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc6e8a869 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcf60586 dvb_dmx_swfilter_packets +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 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 0xc9d61662 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x8e92852b atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1a72055e au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x2ce16de7 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x4b020e67 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x4f3d15d2 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x792e1aeb au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xb6840f74 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xba890189 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xc53c2bfc au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xf2664309 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x0202b7aa au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x6931e0ca bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xa2799b78 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0xc9c2bb95 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x3e40ad2c cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x05734e25 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x7f351418 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x9d5bdce5 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xcec0f4eb cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xc7e8815a cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xcb047fd0 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0xfdb61b76 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x767c472d cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xa788288d cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x2de9e8b1 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0ec92c3c dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x8bd06233 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xdd3e12cc dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xf9c88356 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xfac77df5 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x121603ef dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2760de49 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2c749894 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x367a757e dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x5c8495fa dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x67ee99e1 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x78e3764f dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8096a3ca dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x89e9b454 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9429999f dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9e2cb52e dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xa9ac6e6b dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xdde0d512 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xde572021 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe8c2dba4 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x8dcd398d dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0dac55e6 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x535e6663 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x647c295c dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7dc5d115 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x946dba9f dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xab53c8e0 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x2e19baab dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x5e369ca1 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xc27bdc5d dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xe0c8bf6a dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xbba45bb4 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x313dff75 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0e2def45 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x239f43c1 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x4a01279f dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x743117bd dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x831e2b0f dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9dee4fec dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa78c7eff dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa822e6a1 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xaa31755b dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xaf7f2f63 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe202b69c dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe5f43f91 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf1223291 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x364b224f dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x46a00f2a dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x75c70873 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xaa477fb8 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xf6943ac8 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xa6ff181e drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0xb2c2d4b0 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x2a20572c drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xd9c041b8 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x230dbd32 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x44a3b819 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xef6d9c71 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xf24d87d4 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0xf13922e1 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x6f67a535 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x7852a15d helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x6ec614ae horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0xcbab950e isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0xe0f6ea24 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0xcef35456 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xfeb94334 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x9dceffd8 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xdae132bd l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x9a29f3c2 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xf5fe90b1 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xa3135e08 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xe214a081 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0xd2fd3483 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x051e7dbb lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x2104c191 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x345d77f5 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xa2b952db lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xcaf07181 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x6dfcbf36 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x2426815f m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x29b72163 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0xfb06ef17 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x631399b8 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0xc9eb81d5 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x3a49cf55 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x65ad6896 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x28c1d739 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0xbaae5f60 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x9724981b or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0xf2cd19e9 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x2f6784a6 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x3a5c08ef s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x127a1357 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x5c5b4eee s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x920d5276 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0xb6e9c9e4 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x1199048e si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x2c7b46bb sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x85a37f26 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x89fdf666 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x2a58d6b4 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x027df692 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xd888b4a0 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x195e1f60 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0xdb1538e1 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x002fe62d stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x3e48cdfc stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xd8af17be stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x276dd8fa stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xdb49da90 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x2ca6584a stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x5c5be900 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x55ca91c4 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xd1745b47 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x0553e453 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x4477eb20 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x8e73cff4 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x02f3ae6d tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x088c2bf1 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x0c887775 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xe71827e4 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x0bb25e22 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x99f28df6 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x16990775 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xa38dcb46 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x82f01d4c ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x6bd398ea zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xc4d7cb39 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xf12c262c zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x93036a3d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x4408441b zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x01ebebde flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x5aa12e60 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x8c15d21c flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9a35d72d flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb96cf3fd flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xebd45138 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xec9f0be5 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x0d4d6d3a bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x1240cb13 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x932dde7d bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xe07fd4e4 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x04b23462 bttv_sub_register +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 0xa4e8fbf9 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xabf3799c bttv_sub_unregister +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 0x440e39c3 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x53b559bb read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x67bb87ac dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x8fc95bf4 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x92d2e67d dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xb7855555 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe0051dc2 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe92fe402 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf28b2388 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x52683670 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0b68787d cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2a735115 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6d4dee2f cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xb9101571 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xf7ba763b cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x55e9d0ec 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 0x489fc62a cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x4c9bc651 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x4e642627 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x541c97c9 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x99e6ffcf cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb497e43b cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb6ddfd97 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x8a91cb8b vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xb3dedd3d vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x55b167ba cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5a6a9cb8 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9f95e483 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xbdd750c2 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x306d1e5f cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x3a771789 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x4a815206 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x9a0c097b cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xb608a174 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xbba9b129 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xe2152557 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x139b0f31 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x22f7fb4b cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2cb3e714 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4118028d cx88_dsp_detect_stereo_sap +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 0x678168f5 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6c20bda0 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x781ae380 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x82066965 cx88_ir_start +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 0xa6a52427 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb3d484dd cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xbdc5cc40 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc7cab669 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcc9fa879 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcee48f0b cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdd629a9b cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe9f5035d cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xecf56d10 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf1e5bcf9 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf3315e66 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf96cab52 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x45ef4ad2 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0069d965 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0d482a62 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0eb8154c ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x19fb3654 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x24527ca1 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2f11f001 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x36773df4 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x65a01fd2 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6eb0376f ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x82a3a786 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x85475654 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x89a15f54 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x8d184ee1 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xbd5c6b12 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc00cb0ad ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe6e49988 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe92cd83b ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x05ed1f71 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x581824fa saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5aa5dc22 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x6c382248 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x808ecbaa saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8b020ebf saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8eb6837a saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x94dd69d5 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x98351bd1 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xca3c8807 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcfe0a652 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf5aa34ae saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x0cc13c4b ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x3191d2b1 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0x54d91427 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x9e278625 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x9e6777f7 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa581ff79 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf2de9360 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0xfb30edd0 snd_tea575x_init +EXPORT_SYMBOL drivers/media/rc/rc-core 0x1cc929a9 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x21719b96 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x3be8d7f3 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x5a581a5e fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x3ac999a3 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x51ee0c19 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x6ed4ca1e fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/max2165 0xdafb44ae max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x668428b1 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x5452bfba mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x195c588e mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xc9622c83 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x9cf29377 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x833f0faa qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x237a4c5c 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/tuner-xc2028 0xbe4ab863 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xb6ddfefd xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0xf5e4e235 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x19b454ca cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x2fa55ac2 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x5df8699a dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6667989e dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x72486f50 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x8da90f60 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xd58499b4 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xd6d55d9b dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe6a19826 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xec09e6a5 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfbce8696 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x36260e68 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x6a306b24 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7488c141 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8db2d802 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xaaffc37f usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xca63c98c 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 0x7f334609 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 0x00a5d58e dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x0ab273b0 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x55e268b8 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x92bca787 dibusb_pid_filter +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 0x9a87ad73 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa3bc9cfb dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xab2089fe dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xc512a957 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xde4b14a1 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x4353aa3b dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x8bcb6a7c dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x0470d127 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x9b897ab4 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x197f3529 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x22f55cdb go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4c49ec87 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x66e03d58 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x9bf3e87c go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb2322bff go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xbd77f95e go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xd0dd6846 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xfd51cde3 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x0ac74686 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x5e356648 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x783fcccf gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xadb270d4 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xbd0b3f94 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xcd1c263a gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xdc2b9336 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf88f653d gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x98b73224 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xc8dd9e69 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xc901c3c0 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x96bf17d5 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xbd78161f ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x33bc176f v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5c0aa851 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xa37850c7 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xc8053def v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0121b60e v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0271838a v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x071cc32e v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0820c0f6 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0cb48b9a v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x128847dd v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1444cf12 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1447e8d0 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16ba729b v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x174517cb v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1e8627e4 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x273e1a63 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x29f975f4 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b6d9bd7 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2c0ba195 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2d07562f v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2da3fcf1 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2dd4d447 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2e273a13 v4l2_clk_disable +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 0x32d82b88 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x37b7634c v4l2_ctrl_poll +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 0x3cfb37a1 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x43662fd0 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x464133f4 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b33ef13 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4c5eb075 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4c687b95 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4f1313c7 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4f876e87 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4f9bc0db video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x51224571 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5975aeff v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5efb9f19 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60c99fad v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6300da06 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x63b821ec v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x693868fd video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6b18f4b1 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x70e1cc25 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x71ab18f0 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x71ad2ddc v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x758ea40b v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x773c8822 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7ab04367 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7b4628fd __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8e1a2f7a __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x93cd29a9 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x965c5ca1 v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x975ace1b v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9e897e35 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa1424158 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa4238bd4 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaed91024 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb451024d v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb4aaffa1 v4l2_ctrl_add_handler +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 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd058d250 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd1569b61 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd569236b v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdbf277e0 __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xddedb495 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2baa4cb v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe7b45b35 v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xefaf25c1 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf06a64e6 __video_register_device +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 0xf62e3274 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfa21a533 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfdd1cf3f v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1f9dd48b memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2538d342 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2f0cb132 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7ed3b5e5 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5c6d45c memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xad6e3678 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd9e479a3 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdee54d37 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe4b9d9c2 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xee313457 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf34f73a5 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfd925cd1 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x01b583ae mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x163b729a mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x354938b7 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3603542b mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3a6148e4 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b1dba61 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x432e3671 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x45c170a4 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x47c82003 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x521e7ac2 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x54ec470a mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f08de84 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x621a80c9 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7052ba9e mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x72122751 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x941132c6 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9cf3a33f mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb1299111 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb572dc7f mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbc12725d mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbcaa86c6 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcc42f0a1 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe00153fd mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe27213c1 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe4d160e0 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe5ba58d1 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xee06e496 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf325e317 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf8afe485 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x066b5793 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x08f6b2fe mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0ce10a33 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1f34416f mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2f385311 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3496604d mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5cc13ff4 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x60f7fda4 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x61d4c4e2 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x647e2d28 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x74cb3da2 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x78a8fd13 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7bb54d03 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x88142f3d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x89e3709a mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x97d3b530 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9d652add mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaf644f72 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb64dfdbc mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbd9f170c mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc35179a8 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xca49bea1 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcae8bcb6 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd63854b9 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdcdbfa43 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe997c73c mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfdeeb958 mptscsih_info +EXPORT_SYMBOL drivers/mfd/axp20x 0x10979f63 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x8f508e54 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x9be3c3ea axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x18f9e268 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x7a2a7a5d dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xc325cc93 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xda68d604 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xebb07c9e pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x124ec657 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3a949d0c mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x40aa80a0 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x54ff69f8 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x690f503b mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6b7b7587 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7d95109d mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc121cc88 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xca912a8a mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe37a5b5f mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfad4eb5d 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 0x02629257 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x096dab80 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x516a885c wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x635033c5 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x87da82b0 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xce088a71 wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x8c2e50e1 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xc91f8b3a ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0xb6f5f7a1 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc43957e2 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x208144ad tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x2c95d48b tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x493f314c tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x4a76b9c3 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x6352c170 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x8832eab7 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xcda8126d tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd4a7d149 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xd56cf0ff tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xdd5c669e tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xdd6ad5d0 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe7a94052 tifm_has_ms_pif +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x16070815 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x4aa91021 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x6487a54b cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x7bfa088a cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xb1daefe8 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x29788d3e dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xbcdcd55a dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcad53b8d dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcdc17e10 dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x56d0547e mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xfff552b4 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x156f2a8b cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x353a251f cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x370d27c6 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x380f1f9e cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x67d36282 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fb7bd6a cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xad41867b cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x9282141f map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd2289ab3 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xdc95c5e8 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfb0483fd do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x012a0823 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xa72f3b3d lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xc946c3cb simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x063a42d8 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xefd5a7d6 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x42130ca7 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xc689d391 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x52d65fa0 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x6ed7cecb denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x02a388a8 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x07964523 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x337dc707 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x33880a2b nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x6aa27dcd nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7b4f3b4f nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8a263bd0 nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8cba5526 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x98bb34b9 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xaad02631 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd6670530 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xda9155f4 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf093c13b nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x17de40e1 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x787748e8 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0da63859 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2375e26d arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x60e96992 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x77ccc1d3 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa9a1a658 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb289a68c arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc99f55d3 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd3bbd655 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe25a5815 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xefc69462 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x3c91ae99 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x67fcd91b com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xd43590ba com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x07a6ab81 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0908770c b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x14778248 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x17eedba6 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x258224a6 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2f3025cf b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x32859651 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x332a339c b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x39d79fe5 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x43ff747f b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x463892a6 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5ab1dd3f b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5b28a0ea b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5c4ee733 b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x687f0d55 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6c12e659 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x75175c87 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7a3bb9b3 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x802aa3c0 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x85724ba1 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8f573fd2 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x94762bad b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x955b7307 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa0977435 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa1f9d17d b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa58f0cde b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb1270a64 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb26a361a b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb4edc789 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb707c0c9 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbe158ac7 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd98ee235 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdb46607e b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdffd2668 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe266772e b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeb21f9cb b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xec665d85 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xecdb8682 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf554ebe0 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf77ebcc4 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfdecf737 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x0cc05b93 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x3b2b324d b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4634728f b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xb6eb5534 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xbfc59795 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xcd7dc223 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x61fd5629 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xcf2771a5 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x868d63f9 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xb4020fd5 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x049e17c6 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x07444cf8 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xd47bb3fa ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x36fe3b45 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xb85e608d vsc73xx_remove +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2d5d0bf0 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x63f4c2f0 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x65f289b8 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x756891cd ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7aad9ef3 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x835caa3d ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x87bee85c ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x95e01ce7 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc6950743 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xefbc6098 ei_open +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x9fb889c2 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x4628c142 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xaafd6585 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 0x0837a98b cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0a110f8a dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0e23a0fb cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x184f0efb cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x234faea1 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x692f014f cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x77043873 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7949afad t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x84b463f7 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xae17cfb0 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xae3d8a4e cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb373c2e0 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd9bedc9a cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe99ca630 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xed8ecdce t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf72f5a04 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x03b2355c cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x12972861 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x12cdfa00 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ba55c50 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1c53535f cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ccf9180 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x237d68d8 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x23913aee cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2d0e0c33 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x313ac963 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x397bade4 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x40294b2d cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x44a53b92 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x481541bd cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4f39794f cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x57a7873e cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5ec70c99 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5fb469f2 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6346d5ac cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6561e335 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6bb0db6d cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6ce71e81 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6d396d67 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6f9069a0 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x741c2170 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x82a95ae4 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8e59e1e5 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96871014 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x99ba341f cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa90c9840 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa9407d09 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xafe539c8 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb318f2ca cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5b238ca cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5e25b09 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbdc9a9d6 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe7f1495 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd0f16433 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd4a77ade cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd54b622e cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xda3353b1 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe529543e cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xefee64d2 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf003ab50 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfc84a0c2 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x158ef842 cxgb_find_route6 +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 0x28285834 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3f42d97e cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x492fe900 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6ded6f12 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb02923bd cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd702c026 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x1bb7070f enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x81997b87 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x8f1919d6 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xab198218 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xceee2474 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xed4587d1 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x5c62037a be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x6b2155b2 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x4412391e dpaa2_phc_index +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x0c58237e hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x0eb336ce hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x125106b9 hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x41280bfa hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xa2338e70 hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x3ef9a898 hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x1f176b2b hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x2714225e hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x49ef196f hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x4d912827 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x65fb44d3 hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x8cdc1e53 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xe2272562 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x1bb334bf i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x287807e4 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x4c4227fa iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xd5e4203e iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x1c334cb1 otx2_mbox_msg_send +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x536f1456 otx2_mbox_nonempty +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x5a9f09a0 otx2_mbox_wait_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x61652e6f otx2_mbox_get_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x83149ed2 otx2_mbox_check_rsp_msgs +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x8f772a3f otx2_mbox_id2name +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x92d6a5ab otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xaa7de2f5 otx2_mbox_busy_poll_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xad8c4e3b otx2_mbox_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xc2934ec3 __otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xc81c58cb otx2_mbox_alloc_msg_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xe01ab0d8 otx2_mbox_destroy +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xe1337dd0 otx2_reply_invalid_msg +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x067770c9 mbox_handler_msix_offset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x2b4421c1 otx2_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x3ef8db25 mbox_handler_nix_txsch_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x52b1b7ef otx2_attach_npa_nix +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x5d2f1b0a otx2_open +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x691635a6 otx2_mbox_up_handler_cgx_link_event +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x6dcd2220 otx2_get_stats64 +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x6e9a384b otx2vf_set_ethtool_ops +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x79456aae otx2_stop +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xbd9279fb otx2_get_mac_from_af +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xbfa5e723 mbox_handler_nix_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xc41389b6 otx2_set_real_num_queues +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xd5ffc3e3 otx2_set_mac_address +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xdb3ec3d6 otx2_sq_append_skb +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xf078cea1 mbox_handler_nix_bp_enable +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xfc02c4a0 otx2_detach_resources +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xff836d95 mbox_handler_npa_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x091cf0f3 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0dbc83fc mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12eb437e mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16078e2e set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a024ed1 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x214c70f4 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x251f6945 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25fef1eb mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x299799b3 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a68fe97 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fbb5044 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31bc0583 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31bf2fff mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38a5c604 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3efc14ba mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40a11ad2 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49ecdaf7 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e317b46 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5442ba69 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x641f67af mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a85b02c mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d636dde mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x760a72cd mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77852786 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79e4ac62 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ee84779 mlx4_get_parav_qkey +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 0x8bde1424 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8beecb60 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cf8945c mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f1c9138 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93eb303e mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ee5ddc0 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f07e8c0 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0e0c247 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba25ca0a get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc3f18f1 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbcb671a3 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbcf56893 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5472a0e mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0c27a1e mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe745ab12 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xea59f557 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeeeac27f mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf258fdc5 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0328e808 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04d794dd mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06203bd2 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x076106d4 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09cc6c58 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10d8ffd7 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x114ba346 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16c18e3e mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16f6b7bf mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18daa484 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1947a305 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ade6792 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c6fa59a mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c9634e2 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cb38979 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d0a65a7 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e32f115 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x235ca98a mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x267e3042 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27fa4d63 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28400c10 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2991aba3 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a7413fc mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2bf874c1 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c829ad4 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2de0f94a mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f80c1d9 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x301870b6 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x322b2902 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32543961 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32705594 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651b47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39259f30 mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39ea3ad6 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a29d801 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b739d73 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3cfcd0ca mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e960390 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ea6eb15 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fb9179e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fda3a70 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x451d8059 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46150cf1 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47884dd6 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x482606d2 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x497a0668 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4bacd6dd mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c5f8804 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d76c8bd mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f591a9b mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x532629e8 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59bcf588 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c5e56f5 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6097fc2b mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x611e6bad mlx5_core_destroy_psv +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 0x6410f3dc mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6492df6d mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66ab55a9 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c0ae842 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c51bfcd mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71468216 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e1ab3e4 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82e2f92b mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x830c56d6 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87a25e22 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x886fced7 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8978d712 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eeefaa0 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f54b16b mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9328d9cd mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9884865a mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98ab7cc6 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa3991b47 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa95b0241 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9f8a421 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac34e1c4 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xadb58c03 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9ea383 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf7a65fc mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb85d43c2 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9a60dba mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba4f6ac4 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb047279 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb6762ce mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbca43eb6 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbed87900 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbfa3a580 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1f69fc1 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc378f47d mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3f7a67e mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcb3758ac mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf6d0c98 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd072deba mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd0e87d39 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd195ecb4 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3c8e60f mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd43d5eab mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd539ec54 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb50f34e mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdcef49aa mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xddbb7a72 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf300ec7 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf37b2f8 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe14fb81b mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe269eba0 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe38d65ec mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4a74f84 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7104fb9 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb1db8ce mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec174cc8 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec27e78f mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xedf31628 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef01bb32 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0207498 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf088b9fc mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf120e368 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf20b264c mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf22e6222 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3698673 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf41aa558 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6c6dc09 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfacf8b3e mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd8c5ada mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x8a280436 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x08663ca6 mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x20194b33 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x31ec1404 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x59741e6b mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ca4b2a9 mlxsw_core_driver_unregister +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x661872cb mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6d4d260e mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x750d8b5e mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 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 0x8940b498 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8d758287 mlxsw_core_bus_device_register +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 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 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbb1bd16b mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe706085 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc081cecf mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 0xd3949b18 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +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 0xdc8d5d95 mlxsw_core_ptp_transmitted +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 0xdeff4950 mlxsw_core_event_listener_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 0xe4c49d1e mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x02f180c7 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x81ff37a5 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x0b890d56 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xe7f52003 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x031d7e54 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0c187a0b ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0c53f8e4 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0cd0e0fd ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0e9b210a __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x132e00f3 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1411acbd ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1666c75b ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1ffd57b1 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2c1eef07 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x389ce3e8 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x40e57356 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x44968da8 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x45b6285b ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x46a2fd33 ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x58ed340b __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5ad24fc6 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x616ffdd6 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x654d1d37 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x65f76415 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6697d0ba ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x682695a4 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x690bc161 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6c50f2af ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6f6bb10b ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x81ddd89a ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x82b0ff90 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x84036dbc ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x97313582 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9dbed1eb ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9ef9e0de ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa6c1621a ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xac76d8f0 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xae998114 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb3b85853 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb98f2ff2 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb9ffceb0 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc7890b28 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc79cc349 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcd42f42c ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd49c29d5 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd4cd9ac1 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xdc9a68fd ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf66a5c41 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf84cf8ba ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfd3cbde8 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x1d469493 qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x23fad387 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 0xb8ae251e qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xfe33dc52 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x92ce1a80 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xd4bc1fb6 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4096cb15 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5c3bfeb9 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x61762cdc hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd08dfd21 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd65d26ce 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 0x652fb0b6 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/phy/bcm-phy-lib 0x0aa287bd bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x4fa519b2 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x91431c46 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x4c16bc08 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x897d4447 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-octeon 0x8a1d5c26 octeon_mdiobus_force_mod_depencency +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x211e2aa7 xgene_enet_phy_register +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x24644857 xgene_mdio_wr_mac +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x26b84c3e xgene_mdio_rgmii_write +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x4e88f9f4 xgene_mdio_rd_mac +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x9d4db5e6 xgene_mdio_rgmii_read +EXPORT_SYMBOL drivers/net/ppp/pppox 0x2909fcfc pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x40d45c8b pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x48a859aa pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x5eb2c6d9 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xf7e7ad82 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x166ed4b0 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x28908cb2 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x31ab530d team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x6b61db9d team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x6db5257e team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x83bf8485 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xaa13b4a5 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0xcc3a4d63 team_mode_register +EXPORT_SYMBOL drivers/net/usb/usbnet 0x22f4a78e usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x47a0aaf8 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0xff66c3b0 usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0f3abeaa hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x626cab67 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6dddaf03 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9dc9cf24 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9fa1663c attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa5d1e4a5 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc5cff40f hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd1da8484 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe8f7b86f hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf50ea5f8 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x88ab6261 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0c49c03d ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3cef436c ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5824f69b ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x70d4a223 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x74cac5ad ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x81cdb72b ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa33a4692 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc41646e9 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc4864065 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc522b480 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe32bb68b ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe4077f58 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x00221999 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0037aebb ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x01d76437 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0f56396c ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x101dd4a1 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x101e8244 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x128469e2 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x13951dfb ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1b8e9e78 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x21a432ae ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x223ab366 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x24ae2fad ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x29195706 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2c0b2942 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x324c15e2 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3782a392 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x38b40169 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3b2bdd6b ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x41d6360f ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50dd77c4 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x53ce7389 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5f4da08e ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6105bffa ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62b93d9e ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x63637d9a ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x66245238 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75816909 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ba373b8 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7bc4381a ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7dd873a7 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87b3baa3 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x93645734 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x95182bfd ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x992c430a ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9e21b1d5 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa2326c96 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa64a62da ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa733dbd6 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb095b633 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb24033e2 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xba8a4131 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xccd64698 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcfcf33bf ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdf15f49d ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe1559ce9 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xec0c43cb ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xeee016fc __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf4ce2bb3 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf8210746 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x324e3645 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3b4635b1 ath11k_core_get_hw_mac_id +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4385afa8 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4694da81 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6c02a59e ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7b8f130a ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x80b1706e ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x81868f2a ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x85f3a2c6 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 0x947c3b67 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb866216d ath6kl_hif_intr_bh_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 0xd2bd5b2e ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xef0154c0 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0e6a33ec ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2ac657a2 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2b12fe69 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2e3aa8f3 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x330d7321 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3531e6ac ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3d6f57f7 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x446adea3 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6408a6bd ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x665357cf ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6c02a9d3 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6cf768ae ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8592810c ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x87f6b397 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x888e7feb ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8c154cec ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb1381e7c ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb4f3caa9 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc2505c17 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xccb2dcc0 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 0xd72242f9 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe2ce5b54 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfc8e4785 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x015e693d ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x016b9a7b ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0254c9dd ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04890859 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x05b4a036 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x085ec708 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x126a3686 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18717280 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18c59b90 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1922c38e ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1eca54c5 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x237258a0 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a0a3877 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c83861b ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e2b788d ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x30834967 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x348ce3cd ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x364b5023 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x391d5acf ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3aaa1aae ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d517acc ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x415573b9 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4625e3e3 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49158e11 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d0fc413 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d220f03 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f69b2d1 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54a9257a ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54b7e2c2 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x55adbd05 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57c6e49a ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x592f4296 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59f3bef0 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b7fd8b7 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5be6b3fc ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x61daee52 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63b31e9a ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6523122f ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x669ff31a ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x66ae68ff ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x670e9150 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6759ff80 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6816a8f8 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x696e3d07 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6aefc11d ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b44bf95 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x700d423c ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74dad894 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x792f296f ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7bda7e08 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7cb1e65a ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7f47dec8 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fac981d ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8183db1c ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x823cb08a ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82ebc45d ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x842e532c ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8468a211 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x847fef73 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x86bc658e ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87d29e51 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x890b020b ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c8cf4d5 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ce98641 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ffbf1e1 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90014bf4 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90824cd6 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x918aec3c ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x925e598b ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94cedf5b ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x970307f1 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c37b567 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9edc5365 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa14cb981 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa3a3f050 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa3e588d3 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa4d36f33 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa87e2df5 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8dd8aaf ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1a019c0 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc2dbdd5 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc5df41c ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc27cdaf4 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc646daa7 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca0bd83c ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcabd41d4 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcda6fb58 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcea725fe ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcf80e9ac ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd198aa11 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd45a6dcf ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd8b9a7d8 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdaa1132a ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe03d6299 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe176405b ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe189ad87 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe28b5ae9 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2bfa2fb ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea0a357a ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeac74fa4 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xebcbe067 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xebd814f5 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xefd69a2b ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf3fcb015 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf431bfc1 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf8714f36 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd3355e7 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x343bc8df atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x4b791dae stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xe653eef3 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x05304992 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x18e2cf23 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2d126228 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x389af0a4 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5c60cc04 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 0xa672c222 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xad47f95f brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xae01c85b brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xbaca55b3 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xbef6a7c1 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xc1e5390c brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd5b92693 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 0xe21985d4 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x03e2e6f3 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x088d347f libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x08f1c7a4 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x12f5f727 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1bfa13db libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x21ee0ce3 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x22601b8b libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x54b2ce35 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7cfe09c9 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x88d65184 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8fee521a free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa98fade4 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xaa5b283a libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xac4daf73 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc45263b1 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdc8ccca6 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdfe8cfa1 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe89140f2 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xeca55474 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf4903083 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x05ffe9ff il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0752051a il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x08eb398d il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0940545a il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x09d28e57 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0a861c6d il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0dd2c169 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0e7d5fb5 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0ffca7ae il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1224997a il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1453cfac il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x174d8c7b il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17e9b7a9 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19117e42 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19816b32 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19ac56af il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a697f8d il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ad9206e il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1d5ff7ab il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1d72b86e il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20889c1a il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x27466ed0 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x277003fa il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x27804cda il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b99de8f il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e647aac il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2f0156f4 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3230f1f6 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x328baecc il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3672fd60 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39910f6c il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bb4113f il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f1bdb17 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x40ffd006 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4222b7fc il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4894f8d6 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b3a3b8d il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4d318058 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x51b1514f il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x51f7982d il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x521316d8 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55ad958b il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x561bbc04 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5708084c il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6403de3d il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x67c11158 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x690e058d il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6a83f671 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6f6d478c il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x709a0bbb il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x715a0040 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x73fa0571 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x74b1d978 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7531a4a5 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a246b3a il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c535aba il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7ed9ca4a il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x804b1beb il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8060a0fd il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x834eb8fa il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x84760d4c il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8bc867a9 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8c4b3eb6 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9249adab il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x93ecf242 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94fde5b2 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x995c35ee il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9b97672a il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9ed7cab9 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa43322e9 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa8fea885 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xab3fcd86 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xab4b3397 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb1b4f242 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb2d6e1c7 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb5d40892 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb637741b il_apm_stop +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 0xb99e557d il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb9a9a48e il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbdcabab5 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc17aa503 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc35ad3ad il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc3fbe25f il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd7cdd8c il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd05e66bb il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd6a1f773 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd6a93b41 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd87c0f2c il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdbdf5b3e il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdbeea056 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe70fac4d il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe768f297 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf05ab907 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf0df6c82 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf365e0a1 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf80155e6 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa3a8c98 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xff483358 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1ee9c199 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x20a6a247 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb72ade7d __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0670e8cb hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0afcb9e8 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0f48d830 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1e172d1d hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x22d5c201 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4d848bca hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x57a06657 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x66593e89 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6d78c2d0 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x702e0437 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x707155c9 hostap_set_encryption +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 0x8084d975 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x87ff8123 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x930fa156 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9cf88c0c hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9e172d3f hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa3947f2a hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xad1756ea hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xae5f1518 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc6c1092a hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd7fc52c1 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe7935a95 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf2c86023 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfb3a0843 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfb7d2345 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x20b542b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4c8eee40 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4d87a67a free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4f4e86cc orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x532298a3 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x53de8568 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6e792c14 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x858f9bd9 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa574914c orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xabbe65c1 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xbcdab728 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc0f9fc03 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc1ddd8f2 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc4e88c54 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf0fa760b __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xff0e8bde orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xd0bc904f mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x656f8d8f rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0167c60b _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0bff3385 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0e647bbb _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x11343556 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1aa3c7db rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1c33fc57 _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 0x26394c36 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x30fbc1e7 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x36342b5d rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x44a54dba rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x48eca5f3 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4db441f7 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x50a67197 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x511ebce0 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x58e90a39 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5a7d93c7 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x607422e2 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7033c22e rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7ad2be76 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x816d3597 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x839ac130 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x98ae9432 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9a636933 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9d93b5ed _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa5e6380f _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xab446392 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb4b5a7ef rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb66740f5 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbc3b4931 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbfdc906f rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc15b678f rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3f1b9c4 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd657c906 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd68e2ae0 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd867aedb rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdbafaf81 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdedf1b53 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf1e3c091 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf77119ae rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf913044c rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfb8acaad rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x62cd87a4 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x6db0ba3a rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xb285b4a4 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xb7f3bff8 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x5041b80a rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xa6e4ed51 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xa978c834 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xb0ce092e rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0024429c rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x18226d26 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1967f848 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x234f7b28 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x25286563 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x277f11c2 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2dd762d2 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3d406f73 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3dc0481b rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x461718b3 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x480dd46a efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4c53e1ff rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5ba4df61 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5eda4d01 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x654088a5 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x677a12e4 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6a7ba557 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6b1ad92c efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x709d3ba0 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x76be303a efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x780f276b rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x842d3b97 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x84854a66 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x94447de7 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x963cd3e5 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x96aa8ea0 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9ecb4e7a rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb0bc06b2 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc9cd4d33 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe382ab5b 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/rtw88/rtw88_8723d 0x065366b6 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xedb31c04 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x0271773a rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x021a8e67 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x03ab2c08 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x07767be7 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x07f37be8 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0a045c50 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x130d9961 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1befe5f7 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x284c5fa2 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2b773b9a rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x30987fe5 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3c84db0a rtw_ops +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 0x45551b52 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4d575582 rtw_tx_write_data_h2c_get +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 0x5dc72065 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5f2a33e0 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6af49524 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6d6ad229 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x74248b16 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7ec23903 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8120331c rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x82116689 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9a112439 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9a977df2 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9b49aba2 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9d527a68 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9d81f8b0 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9f5413fa rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa0bc7456 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa0cdc0d3 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa356c8c2 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa457b3eb rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa6b70b3f rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa7b85fc0 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xab0efca3 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xab4cfa9f __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb028cd7e rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb16273b4 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb5ebc219 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb67ba275 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbe939d4c rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc310825e rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc54169ea rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc6a1117b rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcceb41d9 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd42430b1 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd9e41c77 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe0f676a0 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe34a6563 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe8a7edb3 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeba5dbb9 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf4ba623b rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x0355b3c2 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x0dec7bf6 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xb3d4ff30 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xdd4430f8 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0xd4bab3e3 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x1fe4c508 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xa0d627d1 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe3c840c8 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xf1fec3f0 wl1271_free_tx_id +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x36010dcd fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x6a1582ad fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x715d6e8e fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x35da34f5 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xab74fc8d microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x2466e0d6 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7436b81c nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xea97defa nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xb3f57747 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xd2d363d4 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xdebe2c5e pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x39940265 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x5026903b s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xaa7fe551 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x09a0c206 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x119a9574 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x41da7cf7 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x511e9928 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x78f1c741 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x868ff454 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x924da5f2 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xb00a6023 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd58b9f8a st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xec12bab4 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x039b4e49 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x05b67be3 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0942f55f st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x37355552 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x3bfa84f6 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7344ca55 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7445308a st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x759b619c st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x79e45fca st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7aaca05c st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9f265a57 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc50f41c1 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xcc018a4b st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd6802038 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xdf90a5c9 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe327f500 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe5abdf65 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf905d43a st21nfca_hci_remove +EXPORT_SYMBOL drivers/ntb/ntb 0x03c0d8ca ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x10519d55 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x1b702000 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x38231b47 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x490ce4db ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x4a803354 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x56cbc99a ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x676e2dd9 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x959c3ea8 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x9d78f57a ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xada4a867 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xaf6eb06c __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xaf8863a0 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xb0725622 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xdcd6acae ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xdd3dcbbd ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xeba07ee8 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xec7d4b31 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xf7a270ea ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xfa53e6b1 ntb_set_ctx +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x20bdc0e5 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x21e0158f nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x11b990bb parport_read +EXPORT_SYMBOL drivers/parport/parport 0x15ec3e64 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x1941aae2 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x210a99c8 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x2a34df02 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x31a49835 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x4a3528e2 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4b62a3ad parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60e74641 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x649710a9 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x65946be3 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x77308e87 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x782b9cef parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x86f8cffe parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x8d95c103 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x93c1ed86 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x9b284b49 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xb2e9637d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xb73123bf parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xc01473fe parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xc9937fa0 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xcbb53e14 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xd1821731 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd7798e2f parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xd84e6d14 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xd914d805 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xdee92e00 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xdf8a82ee parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xe5ed92c3 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xf9e71916 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xfd3b9b60 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x29ccd673 iproc_pcie_setup +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x3fb0375d iproc_pcie_remove +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x394b5a1a pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4f57773f pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x89b9c6d4 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8f96cec7 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x91de2239 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc9b7a098 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xca5b3b86 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xd79f435f pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe5be3fa3 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe83bf3a3 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x03f03033 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x28222578 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x2dd14a75 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x5314c502 cros_ec_handle_event +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xa811b2fd cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xec4322af cros_ec_resume +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x3673f69b rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0xdfb7c8b6 qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x07bd278c rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0ce6381f rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x25f1b564 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2982b913 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x5e981cae unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x65987409 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x68a45b64 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x784f0938 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8cdb341d rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xaca06eaf __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc5c38c64 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd3be1ea0 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe43a5714 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe8132ee1 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x7da8b27c ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x2b466a5b scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x46314d8a scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xdeb8ee70 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xffa0b1d8 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x088a0446 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x130a8879 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x132b0b99 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x21575133 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8285371c fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8e17e955 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9b977a82 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xadc065f3 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe71fb29a fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xefcd9398 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf5400506 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01024dba fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x054f4207 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0bba7cea fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x155a61f1 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x21bed7c5 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2440a110 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x24eb3b99 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2cff85e5 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32ff73a3 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x34ef4891 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38641b7e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x396cb40c fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43d495d6 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b607912 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4d1da67e fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x530607d6 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x532917c8 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5af30a23 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x674c9276 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x674cb476 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67c90f04 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69c02881 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6dbae01e fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x705184a7 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x790c5b86 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x798e55cd 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 0x839e77a9 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x851b8f12 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x86664c78 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9074dead fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9309c75e fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9758df46 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x985be011 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99580f90 fc_get_host_port_state +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa460c2f3 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa4d16e24 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa88d7abc fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xacadbce1 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xafab5e82 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb761f98b fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb8302f82 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0110abc fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb0735b3 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1546463 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf0df049f fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf26e5ad5 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf58e9d47 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf806fc7a fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfcf90303 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xff3fe7a7 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x19456e42 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x613339e2 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xaa191bdb sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x9d079df8 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 0x0ece17d0 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1335283d qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x154f16ae qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2d327613 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4bc90e81 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5910b04c qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x69b52d6e qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7e077d50 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x960c91ae qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb345aacf qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdbae4cfb qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf5dea62d qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/raid_class 0x4ccd8646 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x533b0bc4 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xaee0ee51 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x02e9ff7b fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1659dd44 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x19d24348 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x245740b8 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x717b4f01 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x826c0ff1 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8fe2c003 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x914a734a scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9689a064 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa57afe66 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb6a9c075 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbebe9da3 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc306c321 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdf74f894 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2c61561 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf24a5864 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0792d6ef sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08caf727 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0eb028ee sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1b7e77d4 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x232939de sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x35dbba5a sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3982fa7a sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x43e6bab6 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5905efae sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6607ff1e sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6cea3451 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6d2e4b2b sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7775c853 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x79401bfc sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f7a4aeb sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8694afca sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e796d8e sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e9cd0e4 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8ee1a0bf scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9ec38412 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa0d00cda sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb032b8c6 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbaf3743c sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc9fdd084 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcf663ea2 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd36bae36 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe1f3ef18 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe988d2c9 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xeeeb92cd sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x74501136 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x745dfe47 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x81634d3e spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe572a420 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xed9da637 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x2ab099c0 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x420bdfeb srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x47a86fe9 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x6d3dd534 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x79416825 srp_rport_put +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x083ae309 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x71039095 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x00fd22d3 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x18862b25 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2d27db7b ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x3bbaf1fd ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x5bd96e2c ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x6fd2ced1 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x839f8bfa ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf149a30e ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf7cf12b7 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x05c79fb3 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x6c779b7f ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x030f2d6c dpaa2_io_service_enqueue_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3d01f417 dpaa2_io_service_pull_fq +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/mediatek/mtk-cmdq-helper 0x00b4b126 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0348ce8f cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0a86537c cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x12fd880d cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x23d0b9f2 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x24635c1b cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x50396152 cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x85e281f0 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa033d6a0 cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa066b5c3 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa846e75e cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa9dc86da cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xede9ce4c cmdq_pkt_flush +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x144a069d 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 0x2831217a geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x54f1a735 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5a93967b geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x764a0999 geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x9692646f geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xa821d5ed geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xbd34638b geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xd697b7c8 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdc01377d geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdc51895b geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xe9295859 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xf341af6f geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x07c037af qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x15637e25 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21d20d35 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x27c5c87e qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68ed3fbb qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x81c2a4d4 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa5e85708 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xc5794c48 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xcae78770 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd1369cbf qmi_txn_cancel +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 0xf3b3f1c7 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0bfdefca sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x130418aa sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x15bf9768 sdw_bus_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 0x20a38210 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x29e711ca sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x313778cc sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5548ca01 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5d78718a sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x62a7b81e sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6bb8188b sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6fed59c1 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x889fb6dd sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8c037752 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8d9fd7c3 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb7c2dc77 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc3d8a104 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xcb67f000 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xef918908 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf43d8145 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x15266e08 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x20d52124 sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x2d49a9ac cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x4145578c cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x4897915f sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x76c40515 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x7df43e81 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa76a6fcb sdw_cdns_thread +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xad1c2cf8 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb7ae05c3 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb93b3956 sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd398d02c sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd9a32dd8 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xe44de745 cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xf4de9042 sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xf8a07bd1 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-intel 0x6c5e9333 sdw_intel_exit +EXPORT_SYMBOL drivers/ssb/ssb 0x00f7f2a1 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x1e12a9ff ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x22338acb ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x24197e9e ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x4a9556b3 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x4ccef4f1 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x5447d999 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x6315bd89 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x6567f78c ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x8f51e6e4 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x8f7ec27b ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x90bbbc74 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xa14e5ed4 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa50b8809 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xc0a15f2c ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd5e6500b ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xd9a61930 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe1338b84 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xe95c47db ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xeea0e733 ssb_bus_unregister +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x016d2d09 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0e6c3829 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1bebcd19 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x208e5e1f fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x217f0d2a fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2fc94f2e fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4c710961 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x5a3ebbbc fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6a340f50 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6c30917a fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7ab090df fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7dada9b0 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x853ed672 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8a8e359e fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8dbad502 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8dc1dd1d fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa65c15c5 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xac727133 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc0b310b4 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd0320f02 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd4206913 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe43da807 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe9da0d40 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xebb82ea9 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfc693dc6 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x065f9c9d gasket_page_table_max_size +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x27c37d7e gasket_sysfs_put_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x2d7370a9 gasket_pci_remove_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x339c2b95 gasket_page_table_map +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x372973e0 gasket_page_table_are_addrs_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x38c3d415 gasket_page_table_num_active_pages +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4109757c gasket_page_table_partition +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4292ff96 gasket_page_table_is_dev_addr_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x601dcb60 gasket_reset +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x68368f40 gasket_get_ioctl_permissions_cb +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x6d40dce8 gasket_disable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x77311f6a gasket_page_table_unmap_all +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8c92da47 gasket_page_table_num_simple_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8cad8e93 gasket_mm_unmap_region +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x99e01e53 gasket_sysfs_create_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x9cb4932e gasket_sysfs_put_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xaeb30947 gasket_sysfs_register_store +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaa2668a gasket_num_name_lookup +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaf2f8cd gasket_page_table_unmap +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc225208c gasket_page_table_num_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc3f0f684 gasket_register_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc6aa8b04 gasket_sysfs_get_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xd4edacca gasket_sysfs_get_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xd5fc1adb gasket_reset_nolock +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xdcb7257a gasket_unregister_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xe78585bb gasket_pci_add_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xed5f848f gasket_enable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xf168ab15 gasket_wait_with_reschedule +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x88bc4be6 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x88825765 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/allegro-dvt/allegro 0x2c79d0f2 msg_type_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x03c40ccf rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x06317967 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1a68509f rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1fdd9d28 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x202dc65b rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x26be911a rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2ba1d169 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2c32f87b rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2e4554c6 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x30a74cd5 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3bcb687a rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3c0eb35f rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3cf1520c HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x413649ec rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x42674e10 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x49325459 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4a6424c6 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x52add02e rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5b3b59d3 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6189e20e rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x65399b45 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67b72cf0 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67e57ccf rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x70acf19f notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x753a11d0 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d22c423 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x83c076e3 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8555af4a rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x87b972dd rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8a2b0235 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8ae84ed7 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x97decc21 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa215cc53 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa493136b rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa9091fd6 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xac56dfa3 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb48b65b2 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbcb42370 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc03049e8 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc38b2a3c rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcac8c750 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd547ad20 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdc5dd0da rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec796281 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xed6aa8b1 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xee4bd4ad rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xefd1d5fc rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa06d044 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfd2b4dbb rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x01e23a6d ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x05cc45f7 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x07a7e056 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x094eb4a4 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0befd076 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0ff085f6 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10f47462 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x11f611e0 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x123682c4 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1313a12c ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1521db23 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x18a92a28 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28835a6c ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b8dcd42 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2fe524fe ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3ba1b8eb ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a539921 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4c124545 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x52d6414c ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5525448b ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5af59d24 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6034e307 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x66f3c599 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x77dd1dd8 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x79f10e5b ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c85e51e ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7e9770c9 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8ceae7be SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x92b53368 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9369758b ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x98d3fe8f ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9b26ab46 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa254a168 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa6dedb30 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb56e8574 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb9c1887f dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc109976 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd347e68b ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd400991e ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd7aea10b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdfba121a ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe08a8f4c ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe3b7fbba dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe4b9d1a7 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe6481248 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe9a520a1 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xec667e11 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf45602b2 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf4932381 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5fedb77 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf9d14f6f ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf9fa0af5 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xffec89b6 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x2b777418 vchi_get_peer_version +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x2f3516ab vchiq_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x36331e4f vchi_held_msg_release +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x47f110c2 vchi_service_release +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x5211f7cb vchi_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x57e16fff vchi_disconnect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x582ed8ca vchiq_bulk_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x6682543a vchi_msg_dequeue +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x69df51ac vchi_bulk_queue_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x713b5716 vchiq_shutdown +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x84112d9c vchi_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x915629ae vchi_bulk_queue_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x92b2feb4 vchiq_bulk_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xa22e9df3 vchiq_add_connected_callback +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xaa03351f vchi_service_open +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xaba69e05 vchiq_add_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbd9445f3 vchi_msg_remove +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbf670d66 vchi_msg_peek +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc1fdb31f vchiq_open_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc4b0bf30 vchi_service_close +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc5c429da vchiq_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xcc07cfe3 vchi_queue_kernel_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xf2e8c52e vchi_service_use +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xf63a36d7 vchi_msg_hold +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0132b272 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x07cb21d9 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0a5c5454 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0aca3bba iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x219ec611 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x257c1c15 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x27f93358 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3726b1a5 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x372d52ff iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3f05f153 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x593a368f iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x62b406a9 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6565a493 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x65f7090d iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x672c83df iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x674b0091 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6f156625 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x77e2c891 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x813872d7 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x82fdb2a0 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8625a8cf iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x867fbcd4 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8d881057 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x989f17ec iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9c62e0e8 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa53244a3 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xab7a4d17 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xae3217d0 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaeab1ece iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb099a33d __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb0d16b04 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbbc3d619 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xca9024fd iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd18b8d44 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd19242b5 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd607ece2 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe7db0edb iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe842db4e iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe9d8b82a iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xeb00880c iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf0dda745 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf4092964 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf93965eb iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfc3357e7 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/target_core_mod 0x00832cae target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x011a85c8 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x01b4cebd transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x05dd2d69 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0c932efd target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1556857b core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x19044ea5 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x1d5c4e5f target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f4f4d0e passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x1faf26ec transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x22a45d7e target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x22efaf8d core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x258cb89e target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2bde0b61 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x307f87f0 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20704d core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b5c8954 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c266ba7 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x433cca9d target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x43b86346 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x44824756 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x451c60ed transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a6f4414 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d9a41dc target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x531d38dc target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x570ebcfe spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d5d4d58 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x603f8e3f transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x60ee0a4e sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x62adba3a core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x672f48a3 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x68e8073e transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x74a6cf71 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ac2e23f sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f7efb7b sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x9101740d target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x94db4075 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0x9596793a target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x965a0557 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x9704286d sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x99adb409 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x9a563607 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9c66755e target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e31b21c __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa01ea849 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2103c05 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2be0aeb target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5c4dba7 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xadebe964 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0xb08ae6d4 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xb5966f5e transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6b3942d target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xb7f0f9fe transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xb9da8c78 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd62c9b0 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbecb1c24 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xbee84c3c transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0cd42cd target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xc154fbc3 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4059df7 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4d1c329 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5c9e323 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xcf523c1b transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcfac1c10 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1ae454f transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8343467 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xe4c9ec67 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xe4e0c9f9 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xf03d243b passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0bd8672 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xf1665119 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9999e14 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb230a18 transport_init_session +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x153c1042 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x6970f35e usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9e9f0961 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x062fb161 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0dd8a473 usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x187414d8 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x35e45a3c usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3f43151a usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x43a1e6dc usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x43f4b2c5 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5648da0d usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9a931e67 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9e4e41dd usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb3a11b1e usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb4264914 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd33e9cdb usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf5099f66 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf83f0df5 usb_serial_resume +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x0569ad3a mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x122574d7 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x170b286a mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1ecb69df mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3a8cbabf mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3c3d110f mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x44d5080a mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8f1c7f17 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9810b765 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa8ec8b1c mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xd679ccf9 mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xfc3bd1d6 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/vfio 0x00c64046 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x2208a34f vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x8a213413 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xf167a175 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vhost/vhost 0x3ce18bcb vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x60e57e82 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x2ba4654e devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7ff6e1d7 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xcb00a3af devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xcbb9455e lcd_device_register +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x04739001 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 0x402e2651 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x6d383e16 svga_get_tilemax +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 0x8ee831c9 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xa5f89e61 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xabed39d4 svga_settile +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 0xe1602401 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x8c513858 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x52c9d698 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x5a5585a2 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x097aa175 cyber2000fb_attach +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/macmodes 0x074c3de7 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 0x61bcb5da matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xa4ba2c0c g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xd7702cbf matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x01774779 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x3c9dc1d5 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x3cab7d22 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x79d189ea matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xdada594b matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x1ba1a3d5 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x6481c09e matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xd98ce8ff matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xde51fdef matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xfd7b3225 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x8315d121 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xbda6a732 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x23146e67 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x4fe86fd2 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x63c95c32 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xde0892f2 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xefc98e6c 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/w1/slaves/w1_ds2780 0x2ac025ac w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x74915d9a w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x3ba60646 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xa2a1ca34 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x4403ab99 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xbe3fa476 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xd049496c w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xe88cec6e w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x459609ba bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xc1499ae0 bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xd14b0649 bd70528_wdt_set +EXPORT_SYMBOL fs/fscache/fscache 0x03c2fc75 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x0810900c fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x09bd14c7 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x0c6ae9d4 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x188e0482 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x24e32add fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x268359f7 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2c40c24a fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x2c7d84d6 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x2cd1af39 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x32afa358 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3ae7948e __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x4463f64b fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x49b5014a __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x4c8f198b __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x5525ef4a __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5fa7e12c __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x625cd56a fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0x662845cb fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x6acefa42 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x6e923564 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x76d18c15 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0x80575e02 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x838bb872 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x9f8c7276 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xa182e4ba fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xa4102c10 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xa8cfdbfc fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xa8d2f7a7 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xb175b9e5 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb3d89be0 fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xb64dd7f0 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xbe3cb73b fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xc4ed0c27 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0xc7902681 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xcbacafa8 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xcd94aa9b __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xdde86067 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xf8ed4aab __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xfeadf345 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x01c320e2 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x42a2aef0 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x99637dd2 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa540a7ad qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd4455320 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xde768286 qtree_entry_unused +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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x96a2d9e4 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 0xf250d433 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x859d132d lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x8f8be712 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xa3ead487 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc8f7535a lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xd2e4c370 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xdae2ed86 lowpan_register_netdevice +EXPORT_SYMBOL net/802/p8022 0x85b2dae6 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xff744e35 register_8022_client +EXPORT_SYMBOL net/802/psnap 0x41b0868f register_snap_client +EXPORT_SYMBOL net/802/psnap 0x4e28c849 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x06afc642 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x1019edb2 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x1430723c p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x14728623 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1d61a5d1 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x23be930c p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x28628ea4 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x3bb26647 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x4a76fb7a p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x4ac1508e p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x4ac1533a p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4dd12ca7 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x4e360663 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5123c1d1 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x51ed2785 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x561e81d1 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x5bde1a35 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x64dc5a0c v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x6f441070 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x72c35aa4 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x7649dd64 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x79551fab p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7e0c15b5 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x7eaeb544 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x879a1c82 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x8b980d30 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9aa1c89a p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9b6b4da0 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x9e1e5124 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xa064fe57 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb1da9684 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbe595ba7 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xc82209b9 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd61c8955 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xd8e30947 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xdbab0be1 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xdc0f3151 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe7c31a50 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xec27c06a p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xf543fa89 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xf9bd0ccb p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xfe08231b p9_tag_lookup +EXPORT_SYMBOL net/appletalk/appletalk 0x185c5960 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x1ee007af atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x1ff04382 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xc806b8ef alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x07aedff1 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x1c02c4c5 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x1ddc6ebc atm_dev_register +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 0x465cb5cf atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x568a34fe atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x5a580222 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x5d9bf317 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7ae8b1b6 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xce6393ae deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xcf212036 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf75e5a35 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xfb8bb97c atm_charge +EXPORT_SYMBOL net/atm/atm 0xfe38216d vcc_insert_socket +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 0x65ea43e5 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x68898165 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x7dce27d4 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x85e0548f ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x868cdba0 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcbd9202c ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xf7663537 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xfbae83f8 ax25_linkfail_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00dd54ce hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x13a55f47 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x184f68c0 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2033f547 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x23458533 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x24310c16 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3038848c bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x366d90ec bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38107fb5 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4146ac62 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42aeed89 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x44595fdf hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x44a4b170 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48f0ec52 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x496b2371 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4eaa680d l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x52665e43 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x53125a85 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x59ebe1ed hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5f28584c hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6a79cbde hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x732a19b4 l2cap_chan_close +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 0x7f84a000 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x800eec67 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x812e5bb2 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x84eae288 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8a807d20 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c3aac77 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92b3a5ba hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xae817804 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xae84d37f __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb32fb328 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbb21a37e bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbdecfb13 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbf466036 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc189e8b4 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc426b286 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd26f49be 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 0xe0222130 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe62b393a hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea3f9ba2 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea79311c hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfa8cc9bc bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfad875d7 l2cap_conn_get +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x081999c2 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x5c6a14d4 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa877aaa3 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xdcbff03a 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 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x43e481a5 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x6afa901d cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x8c6674c0 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xaa86e497 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xd7271921 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x16f72a1b can_rx_register +EXPORT_SYMBOL net/can/can 0x35e2c216 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x62347b64 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x7ed14366 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x9cbe25bb can_send +EXPORT_SYMBOL net/can/can 0xf880bead can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x045da15f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x0502971c osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x070d7842 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x0d283e88 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x0e74f521 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x10cc2e94 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x12c0cdde ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x1753c750 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x1b639a17 ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x1b776471 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x1c264df0 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x1d1aecaf ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x1d7706a0 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x1e02ce3d ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x22d3f1a5 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x2494626d ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x24be2a89 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x255ec57a ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2e46deaf osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x3160dac4 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x32b0db6f ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x365702de ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x375a6dd4 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x37c63be2 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3bec2753 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x3c2e1555 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3f58c2d0 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x3fc220c9 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x4111ccb2 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x4334fad8 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x46555f2e ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x47469fe2 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x4a921df9 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x4cc4055b ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x4df4b0b5 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4e55d6d1 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x50ba7733 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x52034323 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5aac1b71 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5e0ec6a3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x603f2fa2 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x699011f2 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x6a37e4f7 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6b961b82 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x71adfe3f ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x739b0e24 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x784690f0 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x787b4119 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x7a177aa2 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x7b61e8bf ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x7bce71c4 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x7f3fcdcf ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x7f518192 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x811c94cf ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x845e734b osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x88d94d54 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x8a9cbe48 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x8be3983a ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x8d4541df ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x950387fe ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x955eb819 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x966ea3f1 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x9a705db2 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9b2f3478 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9c516a4d ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d8d76b6 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x9de07bba ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x9e6ece20 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x9ed99fc6 ceph_destroy_client +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 0xa2f2244f ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xa3c45f13 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa7fba113 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xa967e79d ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xaf961ba4 ceph_con_open +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 0xb9b65233 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xbcd9fc36 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbfb66dd1 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0xc07d4e51 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xc2537017 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc378624f ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xc40b1c10 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xc4820bc2 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xc63bd16e ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0xc93c8fa2 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xc98b9e85 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcbba4d4f osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0xcc3c9b00 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xccaa3edf ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xcd3ba025 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xce66192d ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xcef91521 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd8735fde ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xd965c280 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xdbfabdfc ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xdd6c1312 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0c393a7 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xe50b7310 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0xe629094f ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe8214bee osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xe9dac0ae ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef65f2f5 ceph_pg_to_acting_primary +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 0xf4ac141f osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xf8f6b9e1 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xfcb7afc8 ceph_osdc_watch +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x64ad1eec dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc8c90014 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dsa/dsa_core 0x3e9c5cf9 dsa_port_vid_add +EXPORT_SYMBOL net/dsa/dsa_core 0x78c49c38 dsa_port_vid_del +EXPORT_SYMBOL net/ieee802154/ieee802154 0x00965cc4 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x40de5a3b wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x462644ec wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x87b536ba wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9a8ef8c6 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9dfcbdb9 wpan_phy_for_each +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x74ea1c08 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xdc3516fa __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x9c5e2730 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x1d187c1e ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x36e9ce62 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x4bb34eac ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x562f38ee ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x2f51f211 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4d3386c9 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x64c8b0a3 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x6f84f881 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x32cb1ba6 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x39715845 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x685be8ea ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6b2cd5f4 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6e28f8ce ipt_unregister_table +EXPORT_SYMBOL net/ipv4/tunnel4 0xb93c8d9b xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xd25dea0a xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x137ff83c udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x29fd9f63 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3bba7512 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x479bdc8d ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x5e6b0f2c ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8355cfc6 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8f8a33fd ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x96421c6d ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc3e6fe77 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xebc7286d ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x00d0a177 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x638d7c8b ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x6a6f1390 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x97e9fac2 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf6039a9b ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x7ccf41d4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xf22f0d41 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x3b95ccd2 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x68ada989 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/l2tp/l2tp_core 0x58e16c11 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0xfd64e53e l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x84d99cca l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x647d0344 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x89e3060a lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x8fccb1fd lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xa5d78ccf lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xa8608a54 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xacbf27ce lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xacdc29b4 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xc9b95167 lapb_setparms +EXPORT_SYMBOL net/llc/llc 0x1a0ef6f2 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x22f5206b llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x2de0179b llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x51bd0b02 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x63507527 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x7be68231 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x9ff19267 llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0dcee131 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x1075d2f5 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x12f28302 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x14e21ab6 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x161b5cc8 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x176e2395 ieee80211_alloc_hw_nm +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 0x1b35b524 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x1bc88a03 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x1d655aba ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x1d8f20db ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x1ed42cab ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x1fdeef64 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x21d850f5 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x2e5a22b4 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x2e65f19f ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x34ee090b ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x35e191b2 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x369bee97 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x37014f01 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x37356ff8 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x390f872f ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x3ca5e04b __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x3cdd251a ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x3dc122cc ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x401f6ad0 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x4203cd03 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x44446539 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x45f5623f ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x48dd7d53 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x4a3a7634 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x4e5783c5 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x4fbe5a31 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x4ff5b166 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x53ffb372 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x57750643 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x586dfa6b ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x58d01be4 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x5bdc326e wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5cbed358 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x5eb8b851 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x64506d6d ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x650cfb1a ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x655b92a2 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x6a0d1ac1 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x6e119116 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x6f5763ad ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x6f7b7919 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x70bea7ef ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x77000c0a ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x771586bd ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7c6d8c02 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x7ea7aa91 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x80802a8c ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x84948c20 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x86196580 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x867afd34 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8a9c264d ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x935b0fd5 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x94f740a9 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9bc7892a ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x9cdfe0b7 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xa6d98667 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa78bd900 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xadd35623 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xb1c6d88f ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xb35be31e ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xb87ac86a ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xb92f2c50 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xbb274bf9 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xbbe7a15b ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xc56bc94f ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xc5c4b04e __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xcedd4eff ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd0e754f6 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xd0ef6dd1 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd696ceac ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xdaab7c90 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0xdb00cb19 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xdc157682 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xe3764efe ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xe58cc5e9 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xe6ede1b0 ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0xe6eebd8b ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0xe80cf6b0 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xeda88b0b ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xeed2a912 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0xf0d2aee3 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xf3deeeec ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xf5e7213f ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xfa534b79 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xfa7c68e2 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xfd5211ed __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xfeaf86a3 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xff970233 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xffeae2eb ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac802154/mac802154 0x4e95b954 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x51eb806a ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x5ff0ead4 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x7663fe4c ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x9c31e5ae ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x9d0aa7ae ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x9f90935b ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xc74cea03 ieee802154_wake_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x246f7229 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x34dfc831 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x39bc43fe ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4121c54c unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x49f19e87 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x62303bd4 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x845d95ed register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8696fa51 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x90c731ea ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x92275da4 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x92d8c983 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc03fbf59 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xca9abb20 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe9063a56 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xea97a63a ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x4a7e551d nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x06faeb17 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x31303b48 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0xb19cc8ea nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xc6c331c2 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xf675002d nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x09b838a1 xt_register_targets +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 0x4e3fae84 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x781cd3ba xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8e23e4e8 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 0xbb7abe06 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd5e1ce39 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xdb8d892e xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe5615e38 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xf1fb55af xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x00141225 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x0260dbae nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x038e67ab nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x23cd6c6d nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x24b2831d nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x33230d99 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x537167e7 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x54d6417b nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0x614b0cc1 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x619670b2 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x6c26048c nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x773d6cc5 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x794c0ae2 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x80c7ad04 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x84bd73af nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x8af62cf8 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x961ff45b nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x9b018283 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xd227fab3 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe96d2ffa nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xe9f8bc18 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x1ab13c04 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x254d5fcc nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x290acf5b nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x3252716c nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x37be79af nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x443241f3 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x48ca5201 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x4bdc8d8b nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x57c2494a nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x68436aa0 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x6ca2d6a7 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x6d181385 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x7ab16c5b nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x7e72748f nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x8eb72e6b nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x90b83359 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x9c49fd5e nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa794e5dd nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xb1ed666a nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0xb2df643b nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbf7a42b7 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xc966f773 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xca62e4d3 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe11a83ac nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xe959b761 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xeb7c6f57 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xedb2d6b2 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xfc76da20 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xfff176aa nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nfc 0x00869bc8 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x05c25a70 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x0b28ee2f nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x11105120 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x12404c68 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x3bba9860 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x49934fe3 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x69f79039 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x6b79f622 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x6d4dba8d nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x779ee773 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x7f483ad8 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x845ec2f4 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x86b77b61 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x87ddfbf7 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x8bc7fc42 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x8fe696de nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x93a527aa nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xac26a9cf nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0xb2012e06 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xb241bfaa nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xe4eba1a5 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xeb6b47ae nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xed9feb9a nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xfb3559b2 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc_digital 0x34a8f8ab nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x961136c6 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xb19c4d62 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xf8546a31 nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x01d0c18c phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x0ff3356e pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x6e26c4d8 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x79dee833 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x8f6bb8bf phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xc72c882b pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xcccea827 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xd38243dc pn_sock_hash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x09d3ab3f rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0b09d1be rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x15df2b12 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x475c5b85 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5da00839 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x636f9fde rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6a4bbaad key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6fb9c537 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x76d7d36c rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x85f87c5c rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x867d39d8 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x87d8ecf7 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8a6886b1 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbbe7e721 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc876f3d8 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe21ec18b rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe80c1a44 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xeec7814f rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/sctp/sctp 0xc60a227c sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x73628867 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x785db6d5 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xb9788e77 gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x1b1f1299 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x243440e7 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x81349c7c xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x11983d3b tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x2af10a8b tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x3a54b533 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xdfbe0b76 tipc_nl_sk_walk +EXPORT_SYMBOL net/tls/tls 0x26f95c66 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x6884494d wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0xcb499589 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x05b19c46 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x06fb2c3f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x0775474c regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x0c22029a cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x0d8c0efc regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x0e1204c1 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x0e3019bf cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x14896e95 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x15d9a604 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1ccba7ca wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x21674dab ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x2196373f wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x2302029b cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x271784f4 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x2bb6327d cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x2ebee5f6 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x2f81704b cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x30742850 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x314ea105 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x32695df8 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x3923bc0e cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3e929455 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x41702d9b cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x435a0cd0 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x4b015ecf cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x4d50de78 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4f61e34d ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x51117e93 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x53a8052f cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x59a0dd4c cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x5a6d5176 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x5d2d4f07 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69400921 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6c7cc730 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x6e772ea0 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x78b00a37 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7a831053 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7c099a34 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7d35fe5b cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x839deb4c cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x844e2c00 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x84fdaf9d cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x853e4a82 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x85be5736 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x89aec2d7 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x8eb5ca6e cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x909e8cf7 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x90c462da cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x9287fa59 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x94539247 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x94faa193 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x9a68b38c cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x9b7215ed regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x9cd37035 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9f26acbb cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x9fe2e751 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa08838a8 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xa6e504f8 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xaba82cd5 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb1d78b4f regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xb3220825 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xb61587f7 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xb8489c04 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xb9ab8d69 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xbbb3e1b3 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xbdfeeda6 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xbe04425a cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xc93e5e6f cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xcba5c167 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xcbe8ff04 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcf444842 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd0b5676d cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xd18fdec3 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd6f83e22 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xd8085420 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xd8b4e071 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xda082976 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdec00351 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xe03c5750 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xe0f450a4 cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xe1852fc8 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0xe2d7142c freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xe5e8db36 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe7c1af4a cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xea41047f wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0xeb7af47e cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xf30d4c08 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xf481d68b cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf94e826d wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xf9afa74b cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfbbca090 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xfc2f1f57 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0xfc5d4a95 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0xff14c5f5 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/lib80211 0x1542be8a lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x75ca9aae lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x9a0e1d66 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xa45ef69b lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf5e456bf lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xfb16e7a0 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x8bcba9fe ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x4fc31547 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 0x4cdc2e6f 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 0x6e687b92 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x73c82cc7 snd_seq_event_port_attach +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 0xbe10865a snd_seq_kernel_client_write_poll +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 0xefdced87 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x1686c291 snd_jack_add_new_kctl +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 0x25b6f0c8 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x2847b85d snd_component_add +EXPORT_SYMBOL sound/core/snd 0x28978211 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x38a2a353 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3a11b304 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x48285686 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x4857cdf7 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x50580279 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x5b8e674a snd_card_register +EXPORT_SYMBOL sound/core/snd 0x6f5b1ee6 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x7680a762 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x784b06db snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x8125574e snd_register_device +EXPORT_SYMBOL sound/core/snd 0x83a5bbbb snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x899e50bf snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f53603e snd_device_free +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x8f958a96 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x911d32d6 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x920a4779 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x92c8213a snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x943e5f3c snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa1e395d2 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xa4d47540 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xa512ca00 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xa8126553 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xaa536b61 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xb0f196e9 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xb133aa14 snd_card_new +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb37dc1cb snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xb584dc06 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xb84de605 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xba168bd1 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc0fcd5ef snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xc4f648a5 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xc582e129 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc69ef482 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xcc1aa6c7 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xe0d61420 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xe343eb85 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xe824cbbd snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xeb14bd90 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xec73a956 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xef9c6161 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xf9725c3e snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xf9c9e84a snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xfe5607a2 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x25229f25 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xa08ccaf7 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x60c8b9b7 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0260edd2 snd_pcm_set_ops +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 0x1a7fb8cc snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2b0ed805 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x2c7b1f07 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x2e434ea9 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x306c4dc0 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x3246f11b snd_pcm_open_substream +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 0x3d7c551c snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x463c3ff5 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x5019b031 snd_pcm_new_internal +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 0x54778fbe __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x55a5d48a snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x57f7b8ff snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f1a99db snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x6274b4b9 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x66823cbd snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x681513d2 snd_dma_free_pages +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 0x6a532587 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x731b7658 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x74935703 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x781c2908 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x7e2ebc48 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x86d12416 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x89df9444 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x8b30565c snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x968cda9c snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x9819b8cf snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x9ced7d3e _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xa5840353 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa9d67634 snd_pcm_hw_param_first +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 0xc19f4c32 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xc37de15c snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xc42ccafd snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xc753cd35 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xcabe2355 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0xd0741880 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xd7c89ea4 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xe0808626 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xed71ddba snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xf05455a6 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xf0c9f636 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf6b2a83c snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xf76787d7 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x089fc4d9 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0f0f7494 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x140fa756 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1dfae422 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2cb8e449 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x32fbbdee snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x35281284 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x504d6cc8 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8d2657ca snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9b78d598 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa2dc6e51 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa448f2bf __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xaead983c __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbaa2586b snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc6097f4f snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd2a567ad snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe384807b snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe4d0081e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfa499bb0 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfc81195e snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x282faeb3 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 0x228c51b8 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x25db026b snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x41f2da5e snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x5fe53f2c snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x71cb33d3 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x75677e8c snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x7c6ceb1b snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x85a31266 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x9392f4a3 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xa3781e5f snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xa48dc24b snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xb0fda15c snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0xc1aef0f3 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xcba7c9f2 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xcec4756f snd_timer_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x58490f3a 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 0x19125087 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2c6bccb6 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3b09b652 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x70433ed0 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x74157e61 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9dbf4778 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa782afdf snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xaf69b341 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd744bc1c snd_opl3_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x006400de snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1468c298 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1fd9a493 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 0x6995f7ef snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7bbc0bf2 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9da6802a snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc5c5fee9 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcef56b45 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe6208a07 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x065bddfa cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0850627e cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0d9e669c avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1d414fc7 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2214b40c amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x266c5327 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2856315a amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bc6897d cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bd83358 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x32235c42 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x47b6ce73 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x504200cd snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x56ee5a7a iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x57556c1b amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x58cb56f1 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5c38804a amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5ec916d8 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6754c3bd snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x68989848 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6f8a700f amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x863b096f cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x864038ba fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8c2ab07f cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa577c7c0 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa66c4459 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa8702015 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb7e48c84 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc8296bc9 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd5a759bc fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfc489b05 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xa893a857 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xfb760e0f snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1b1e47f4 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x23d55f81 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x240c5734 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x36f606e1 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x54b4bc1d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x6dbd6709 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa1176c38 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xaaa19c4c snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x40526f3a snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x69b44a59 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x76006067 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb81be6ca snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x5b7b3dc4 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa4aa7259 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x275d69c2 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x79b5468b snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xcd3be673 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd46e4028 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd53a056e snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xfe7f7adc snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-i2c 0x481cbc79 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9ed27185 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa1e46322 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xb8979f91 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe18fb40c snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe211d1d1 snd_i2c_device_free +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x01f86f1c snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x444aca43 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x48a3d4ec snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6bedeb3d snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x70f348b2 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x74d6e6fd snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x781c02e4 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x84e7cff5 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9406e99e snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xae84caf2 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbd43977d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc11186eb snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc94de475 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xed3ec273 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf2f37bec snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf6e4ab47 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf801f060 snd_ac97_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x0e374705 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x143801ff snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1a75c047 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x35ce4309 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x4c692046 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa75fedff snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa7fd5f83 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd23bacad snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdefee2d8 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3123bb22 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x68b247d9 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xae9f9041 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x01dfe64a oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x02273c2c oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x03b566e9 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x11d4da8b oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1a1a812c oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2200c16f oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x23a36f7c oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2852e2b8 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2ff4866a oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4ceccd02 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x792484f4 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x879b6ac2 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8aa86a37 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x99969641 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc3f9cdf oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc56077ad oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xca953495 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcd9920d8 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xce15c7bf oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe9339111 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf65aaaef oxygen_pci_pm +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1f5002dd snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x263310b8 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8f9f7208 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa3c8bcbd snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xb4abb59c snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x1167d122 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x2d636b4a pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x82a81d73 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xc8d8ca0b tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x16cbd046 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x2e4f42eb aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x39c7810a aic32x4_remove +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x7166b0ad qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/snd-soc-core 0x851ab0ce snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8 0x0bdcf6f6 sof_imx8x_ops +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8 0x45bc1bbc sof_imx8_ops +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8m 0x7b1bcb88 sof_imx8m_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x05bfe113 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0a8ea110 sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x123957d6 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x188ce869 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x19c74cde sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1a75166c sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1c664c3a snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x23cd76d1 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2a130aaa snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x35893cc2 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x35af38b0 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3ae92934 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3dc5e3ec snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3f45e5c8 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x415fd9e4 snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x42423d11 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4900bd20 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4bf48d3e snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4f99c5ab snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x59dddccc snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5cb5b512 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6e9e2bb0 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6f80c2fa snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x75cfcc29 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x75edf0c7 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7d4f153f snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7e201d38 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x800798dc snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x861132a2 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x87532666 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8819f0da snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x89f92a1a snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x91cb0013 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x92a18ca4 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9f556b24 snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9f55e551 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa0864061 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb8c3164c sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb9d3592d snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc08a13fb snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xca44bb4a snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcee695fa snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd39c880b snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd3d9b8b5 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xda1ee2d4 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdd640ecb snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe159d498 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe8a1573a snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xef1d9d65 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf8bfdd5c sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf8df663e snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf98d3f46 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfbdcc3f0 sof_io_read64 +EXPORT_SYMBOL sound/soundcore 0x0d7916ad register_sound_special +EXPORT_SYMBOL sound/soundcore 0x39755e54 sound_class +EXPORT_SYMBOL sound/soundcore 0x3c361713 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x64cf82b9 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x895159e4 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0e9cf516 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x13859f40 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x471d4ae5 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x61acf296 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x913a0591 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xb6ed62ba snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x293ac667 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x34ac95ae snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x48f920c4 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7d95566f snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x85659341 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x97bb24f2 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9db98086 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xe2935f8c snd_util_memhdr_free +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 0x9ad05c29 __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 0x000752dd blkdev_get +EXPORT_SYMBOL vmlinux 0x0007bd25 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x001b9e4f pci_scan_bus +EXPORT_SYMBOL vmlinux 0x00225f15 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x0032f7f6 update_region +EXPORT_SYMBOL vmlinux 0x0049d7fb unregister_nls +EXPORT_SYMBOL vmlinux 0x0099da73 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00ce225c __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00efdc07 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010c48f4 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x01238305 padata_alloc_possible +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 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x016c2a43 dst_release +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x01790e94 csum_partial_copy +EXPORT_SYMBOL vmlinux 0x017cdda7 input_inject_event +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x0181e9aa input_get_timestamp +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c39df5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x01d04b4b finish_no_open +EXPORT_SYMBOL vmlinux 0x02097437 mdiobus_write +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x022b6867 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x0254a8dc security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x02561b3e __close_fd +EXPORT_SYMBOL vmlinux 0x0266dfa8 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x0268cbe6 inet6_offloads +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x028045b5 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029b50ae ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a670ca fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02d70bf5 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x02dcecf1 unlock_page +EXPORT_SYMBOL vmlinux 0x02e66d7f rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02ea85cc dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x02f67f82 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x030ddac8 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x0312c04c crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x03184020 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x031d642c is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033e5506 iproc_msi_exit +EXPORT_SYMBOL vmlinux 0x035cecc9 __put_user_ns +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037e14a3 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x038f2cd1 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x03951f39 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03b39533 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x03ba4334 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x03c70f50 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03feea40 cpumask_next +EXPORT_SYMBOL vmlinux 0x04189cbe block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x04306b7a phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x0444ac05 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044b7060 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x044c4b8a devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x04673adb qman_ip_rev +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x049b16b5 _dev_notice +EXPORT_SYMBOL vmlinux 0x04bcffa0 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x04d141ee get_tree_single +EXPORT_SYMBOL vmlinux 0x04d2eac4 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x04e7cf08 xfrm_input +EXPORT_SYMBOL vmlinux 0x04e870ec unregister_md_personality +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f13173 seq_release +EXPORT_SYMBOL vmlinux 0x0507fb98 mii_ethtool_get_link_ksettings +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 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054c16a7 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x054ca0a0 module_refcount +EXPORT_SYMBOL vmlinux 0x0550f474 secpath_set +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x057127a2 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x05882a50 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x059bb33a ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x05a669cd kern_unmount_array +EXPORT_SYMBOL vmlinux 0x05ba6c63 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x05c9b986 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x05de72b8 __serio_register_port +EXPORT_SYMBOL vmlinux 0x05e06f18 simple_link +EXPORT_SYMBOL vmlinux 0x05e674fa n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x05ebe53c tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x06156e40 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x063d3668 skb_clone +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x06564fdf tcp_release_cb +EXPORT_SYMBOL vmlinux 0x0689556d __post_watch_notification +EXPORT_SYMBOL vmlinux 0x06a50560 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06bea332 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x06c49304 simple_statfs +EXPORT_SYMBOL vmlinux 0x06c5a000 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x06c60eff skb_find_text +EXPORT_SYMBOL vmlinux 0x06c83464 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06cef598 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x06d80953 netdev_update_features +EXPORT_SYMBOL vmlinux 0x06e403d7 phy_resume +EXPORT_SYMBOL vmlinux 0x06e85aca input_free_device +EXPORT_SYMBOL vmlinux 0x06ebb9c6 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x0706f487 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x070f58d1 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x075356e9 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x075cfd28 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x07642daf jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x0781ec97 logic_insl +EXPORT_SYMBOL vmlinux 0x07876aef __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x078fadc0 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x07a3beb0 skb_copy_header +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07d2952b phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x07da1144 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x07eb2985 param_ops_long +EXPORT_SYMBOL vmlinux 0x07f3a069 mmc_release_host +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x080933d3 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x080aa40f ppp_input_error +EXPORT_SYMBOL vmlinux 0x080d9ead simple_transaction_read +EXPORT_SYMBOL vmlinux 0x080dcbb6 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082bd7ff dmam_pool_create +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082c8029 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x08356f32 fman_sp_set_buf_pools_in_asc_order_of_buf_sizes +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08436ade inet_addr_type +EXPORT_SYMBOL vmlinux 0x086ce13a kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08859692 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x08a12b35 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x08a880c0 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x08dde5d9 cdev_add +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08e7f647 mount_single +EXPORT_SYMBOL vmlinux 0x08eea9d4 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x08f2401c phy_init_eee +EXPORT_SYMBOL vmlinux 0x08f51c61 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x08fc3622 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x091e3c69 PDE_DATA +EXPORT_SYMBOL vmlinux 0x092899fa keyring_clear +EXPORT_SYMBOL vmlinux 0x092b1aaf inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x09323574 netdev_printk +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x093d5087 inode_insert5 +EXPORT_SYMBOL vmlinux 0x0944bc4e acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0x09568fa9 bdget +EXPORT_SYMBOL vmlinux 0x09593b4d nd_device_unregister +EXPORT_SYMBOL vmlinux 0x095a89c7 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x09682235 down_timeout +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x0988c084 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098c999c mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x09aad74e vme_slot_num +EXPORT_SYMBOL vmlinux 0x09b48190 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x09b51dc9 simple_get_link +EXPORT_SYMBOL vmlinux 0x09c12ba5 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d9b0d9 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e3fd32 notify_change +EXPORT_SYMBOL vmlinux 0x09e536f0 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x09e58a63 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x09f195b1 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x09f9b261 xudma_rchan_put +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a38846b xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x0a40b41e seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x0a4ed92e ip_ct_attach +EXPORT_SYMBOL vmlinux 0x0a51bf2b param_set_byte +EXPORT_SYMBOL vmlinux 0x0a6c87fa try_module_get +EXPORT_SYMBOL vmlinux 0x0a6e6a3d eth_header +EXPORT_SYMBOL vmlinux 0x0a721302 padata_stop +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a8a6f0c jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x0a97df60 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ab2be77 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ada1235 cont_write_begin +EXPORT_SYMBOL vmlinux 0x0ae5af3e of_get_mac_address +EXPORT_SYMBOL vmlinux 0x0aed74eb tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x0af20eae down_read_interruptible +EXPORT_SYMBOL vmlinux 0x0afb7a2b iov_iter_init +EXPORT_SYMBOL vmlinux 0x0afd4eb4 of_get_parent +EXPORT_SYMBOL vmlinux 0x0b0af9eb netif_napi_add +EXPORT_SYMBOL vmlinux 0x0b0ede36 page_get_link +EXPORT_SYMBOL vmlinux 0x0b15c2a8 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x0b19c845 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x0b1bae9c eth_type_trans +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1cfc29 of_get_address +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b2d3869 from_kprojid +EXPORT_SYMBOL vmlinux 0x0b35f243 netdev_warn +EXPORT_SYMBOL vmlinux 0x0b37da6c elv_rb_find +EXPORT_SYMBOL vmlinux 0x0b391879 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x0b42a26e pps_event +EXPORT_SYMBOL vmlinux 0x0b4ddf06 netdev_alert +EXPORT_SYMBOL vmlinux 0x0b564e5b ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x0b72418b ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b8284c5 get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x0b8ad19b compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bcdb21f blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x0bdcad76 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x0bde2de7 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x0be6e07c ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x0bea94e4 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0bef8604 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x0bf678e5 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c3402fb block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x0c3575a4 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x0c4d5848 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0cae1098 register_netdev +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cb8984d page_pool_destroy +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cda8f94 nd_device_notify +EXPORT_SYMBOL vmlinux 0x0ce0086a igrab +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0d01f655 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x0d06ef4b dm_table_get_md +EXPORT_SYMBOL vmlinux 0x0d078c16 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d1c9988 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x0d23b538 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3140a9 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x0d3d6161 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x0d3f5c1a fman_get_max_frm +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d7a955b tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x0d7ff482 tcf_block_put +EXPORT_SYMBOL vmlinux 0x0d8386b3 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x0d91abfa dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x0db0e792 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x0db623a9 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x0dc3c451 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x0dfbf9ad mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x0e15d7a2 register_qdisc +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1bc367 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x0e21b47d devm_clk_get +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e2ceaac tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x0e3949f3 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x0e4f2317 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x0e594262 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x0e63092e dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e846d60 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x0ea19c8d scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x0eaf8847 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0eb18bf7 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x0ec118b0 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ee52715 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x0eee85c2 sock_alloc +EXPORT_SYMBOL vmlinux 0x0efc5fe7 skb_checksum +EXPORT_SYMBOL vmlinux 0x0f01f8b3 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x0f030ff7 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x0f0583bb md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f0e0399 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x0f19e041 __scm_send +EXPORT_SYMBOL vmlinux 0x0f29f792 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f4a4b8d sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x0f840d0d blk_rq_init +EXPORT_SYMBOL vmlinux 0x0f864812 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x0f86805e dev_deactivate +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8aa3b7 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0f952280 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x0fa8d729 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fbb5505 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fdc5c01 tty_unlock +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x1010d4ff fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x1027124d seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105cc33c frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x1064470e md_integrity_register +EXPORT_SYMBOL vmlinux 0x10670b87 generic_write_checks +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10909b33 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c50c3e dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x10c746be dentry_path_raw +EXPORT_SYMBOL vmlinux 0x10cc17bb __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10ead663 seq_open_private +EXPORT_SYMBOL vmlinux 0x11072cb1 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11161a77 __frontswap_store +EXPORT_SYMBOL vmlinux 0x11273443 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x11349f21 __frontswap_load +EXPORT_SYMBOL vmlinux 0x114b2a59 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x11696698 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x116d4149 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118d0b36 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x11b61c4c mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x11c9fd2a vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x11d99756 inode_init_owner +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ed2b57 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11fa797e dev_get_iflink +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x1207dd9a sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x121e4df7 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x1246a076 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x12524446 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0x125bbd5c set_disk_ro +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x127e38c6 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x129335a4 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12c5249c sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +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 0x131ac50c key_payload_reserve +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x1333b030 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x1337c2a1 km_policy_notify +EXPORT_SYMBOL vmlinux 0x1348719e put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x135b4a63 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x1374f6b9 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x13890f92 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x13990161 udp_disconnect +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13bb24e3 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x13cc02a8 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13dd9dbc register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x13f5292f neigh_lookup +EXPORT_SYMBOL vmlinux 0x140400bc inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x140d52ba netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x14469efd xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x146d14e2 register_filesystem +EXPORT_SYMBOL vmlinux 0x147723af generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x147732ca devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x14828916 bio_clone_fast +EXPORT_SYMBOL vmlinux 0x148be68f unload_nls +EXPORT_SYMBOL vmlinux 0x149b174a inode_dio_wait +EXPORT_SYMBOL vmlinux 0x149ec8c9 sock_no_connect +EXPORT_SYMBOL vmlinux 0x14a15487 inet_bind +EXPORT_SYMBOL vmlinux 0x14b89635 arm64_const_caps_ready +EXPORT_SYMBOL vmlinux 0x14bcf907 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x14c457c7 vfs_unlink +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14e65313 scmd_printk +EXPORT_SYMBOL vmlinux 0x14eb99a6 pci_pme_active +EXPORT_SYMBOL vmlinux 0x14f45fcc bman_free_pool +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x15136533 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x1519e150 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551a479 d_obtain_root +EXPORT_SYMBOL vmlinux 0x1556ed26 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x157135ed sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x1596ea5b blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x15b3f8ed xfrm_state_add +EXPORT_SYMBOL vmlinux 0x15b4d95e __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c31421 deactivate_super +EXPORT_SYMBOL vmlinux 0x15c32af1 mmc_put_card +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15ce4c23 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x15ea4898 qman_oos_fq +EXPORT_SYMBOL vmlinux 0x15f3559c blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x1611622b cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x161a6f7b neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x16201e59 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x1620c6ce bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x162debf8 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x164c285c tty_kref_put +EXPORT_SYMBOL vmlinux 0x166c515e ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x16846b1d __skb_ext_del +EXPORT_SYMBOL vmlinux 0x16855891 rpmh_invalidate +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x169a539b simple_rename +EXPORT_SYMBOL vmlinux 0x169f4501 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x16a0241b unregister_key_type +EXPORT_SYMBOL vmlinux 0x16b6370a skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16cdd83e dev_uc_flush +EXPORT_SYMBOL vmlinux 0x16d1ebd8 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x16d41e23 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e7e2cb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x172ff654 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x17326159 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x173e4f0e sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x173f59d8 serio_open +EXPORT_SYMBOL vmlinux 0x17492e87 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x174d92c5 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x17506c9a devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x175d24c1 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x1765ea1f __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x177415a5 neigh_xmit +EXPORT_SYMBOL vmlinux 0x177a3f80 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x17825d3f xudma_rchan_get +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x179fb1cd redraw_screen +EXPORT_SYMBOL vmlinux 0x17ab96b3 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x17c39405 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x17d6ca91 locks_delete_block +EXPORT_SYMBOL vmlinux 0x17ef9082 gro_cells_init +EXPORT_SYMBOL vmlinux 0x17f17a77 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x17f65e85 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x17fadfe0 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x17fbbca5 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x180056c9 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x1817d7ad qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x1818a75d dget_parent +EXPORT_SYMBOL vmlinux 0x1830d5e6 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183ec2c3 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x1842c8fc pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x185ca3dc cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x1864a960 netif_rx +EXPORT_SYMBOL vmlinux 0x1866eb20 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x18741d11 config_item_put +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x18844b4b mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x1887919d security_binder_transaction +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188bd5e1 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18990ea4 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x18a836c6 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x18b15e63 phy_stop +EXPORT_SYMBOL vmlinux 0x18b48e28 __memset_io +EXPORT_SYMBOL vmlinux 0x18b83534 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x18bb5b85 fb_get_mode +EXPORT_SYMBOL vmlinux 0x18c9ccf8 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18e8cf40 sget_fc +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x18efedc1 kthread_blkcg +EXPORT_SYMBOL vmlinux 0x18f341bb flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x1901d44b phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x1901ffdb brioctl_set +EXPORT_SYMBOL vmlinux 0x190e29ce unlock_new_inode +EXPORT_SYMBOL vmlinux 0x192880ed inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x196bac43 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x197336a9 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198d47a9 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x1990a489 dev_get_stats +EXPORT_SYMBOL vmlinux 0x199abaf3 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x199d923b icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a527e5 file_ns_capable +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c632cd pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x19c683eb mmc_remove_host +EXPORT_SYMBOL vmlinux 0x19eeb197 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a16e21c netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a2399a5 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x1a26c336 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x1a28dad9 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x1a43c98a mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a503c28 is_nd_btt +EXPORT_SYMBOL vmlinux 0x1a9307a0 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ad15cf1 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x1ad5a004 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x1ad75333 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x1adc177c pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b064c06 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x1b18e089 mii_check_link +EXPORT_SYMBOL vmlinux 0x1b302b2c con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x1b321d02 sk_dst_check +EXPORT_SYMBOL vmlinux 0x1b5196fc xudma_tchan_put +EXPORT_SYMBOL vmlinux 0x1b525b26 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x1b545183 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5b7925 bh_submit_read +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b74a33c pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x1b758312 ether_setup +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b83b029 mmc_start_request +EXPORT_SYMBOL vmlinux 0x1ba00d95 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb86b9a xen_start_info +EXPORT_SYMBOL vmlinux 0x1bc24e47 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x1bca7cd6 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1be2e5e1 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x1bfba7af genphy_update_link +EXPORT_SYMBOL vmlinux 0x1c01dddf scsi_print_command +EXPORT_SYMBOL vmlinux 0x1c1357b1 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x1c1375d4 make_kgid +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c59ee52 param_set_ullong +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c921535 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x1c9c7aab __dquot_free_space +EXPORT_SYMBOL vmlinux 0x1c9e1d87 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x1ca4e691 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cbbfe3a lock_sock_nested +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdd39ba logic_outsl +EXPORT_SYMBOL vmlinux 0x1cedb6bb vga_client_register +EXPORT_SYMBOL vmlinux 0x1cf0eb7f __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x1cf5efa6 xudma_rflow_get_id +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d2585ef genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d3fc09e ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d5e2fa8 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d66b4e5 ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x1d70138b __ps2_command +EXPORT_SYMBOL vmlinux 0x1d72ed0e __ip_options_compile +EXPORT_SYMBOL vmlinux 0x1d913e3e phy_attached_info +EXPORT_SYMBOL vmlinux 0x1dc113b1 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd23dd file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de4b9bb ptp_clock_index +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1dea47a5 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +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 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e64ff04 get_phy_device +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e883735 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ed8bad9 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x1edaae16 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1eefd8c6 arp_create +EXPORT_SYMBOL vmlinux 0x1ef16f6a fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x1efabe5f i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f102a4e __register_chrdev +EXPORT_SYMBOL vmlinux 0x1f126a74 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x1f186725 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x1f1edcf8 fb_class +EXPORT_SYMBOL vmlinux 0x1f1fe5c9 vme_irq_free +EXPORT_SYMBOL vmlinux 0x1f241147 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x1f30b3be do_splice_direct +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f890141 pci_enable_msi +EXPORT_SYMBOL vmlinux 0x1f95ff68 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x1fa47ccf posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x1fa72ff9 filemap_fault +EXPORT_SYMBOL vmlinux 0x1fa8716c devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x1fb6acdb vfs_rmdir +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fd4811c of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x1fd5ddb9 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x1fdf9462 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x20250e06 to_ndd +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x205e29e4 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x2075888b page_pool_release_page +EXPORT_SYMBOL vmlinux 0x20775b77 clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0x208547b1 sock_alloc_file +EXPORT_SYMBOL vmlinux 0x20a1b519 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20adb51a flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x20af9298 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x20c4fe4c pci_set_power_state +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d5a0db mmput_async +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f2fecc single_open_size +EXPORT_SYMBOL vmlinux 0x20fde1f4 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x210e750e truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x210fab53 dev_trans_start +EXPORT_SYMBOL vmlinux 0x21114fd2 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x2132297b scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x216cc2e9 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21aa8c7f sk_net_capable +EXPORT_SYMBOL vmlinux 0x21af8f17 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x21b0e830 cdev_del +EXPORT_SYMBOL vmlinux 0x21bbd2d5 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c2ec2c phy_start_aneg +EXPORT_SYMBOL vmlinux 0x21cb7bf2 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x21cfc71e genphy_suspend +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x220174e9 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x220d136a input_register_handler +EXPORT_SYMBOL vmlinux 0x220e55d0 mem_section +EXPORT_SYMBOL vmlinux 0x22107416 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22311809 amba_request_regions +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x2242f8e5 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x2243dc35 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x224ce651 xudma_free_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22843abe inet_accept +EXPORT_SYMBOL vmlinux 0x22a4c7df skb_clone_sk +EXPORT_SYMBOL vmlinux 0x22ae3ed2 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x22b289c8 from_kgid +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c0d54d dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x22cde8c7 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x22dc3248 module_layout +EXPORT_SYMBOL vmlinux 0x22de1cca flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x22efacf3 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x230f811e mdio_device_register +EXPORT_SYMBOL vmlinux 0x2326e10e dquot_scan_active +EXPORT_SYMBOL vmlinux 0x23271a27 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x23286d96 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x2334cd13 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x235fdf25 noop_fsync +EXPORT_SYMBOL vmlinux 0x23628f3a xp_dma_map +EXPORT_SYMBOL vmlinux 0x2366d754 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x2374472d get_tree_bdev +EXPORT_SYMBOL vmlinux 0x2376b4d7 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0x238ad608 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x239473fb mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x239a836b cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x239da7f4 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x23a8216f pci_bus_type +EXPORT_SYMBOL vmlinux 0x23b5a786 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23d1dfad security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e02dbb key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x23e69100 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240429c9 bdevname +EXPORT_SYMBOL vmlinux 0x2412a47f input_get_keycode +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242444b3 pci_save_state +EXPORT_SYMBOL vmlinux 0x24410469 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2447dd06 rproc_free +EXPORT_SYMBOL vmlinux 0x2458b920 pci_find_resource +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a846c rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x246b61aa ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x2493b00e vme_master_request +EXPORT_SYMBOL vmlinux 0x24a52f18 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x24bd2824 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x24ce3548 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253c988c xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x255d2d50 inode_permission +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x2579915e genl_unregister_family +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25a65511 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x25b0c16e netif_device_detach +EXPORT_SYMBOL vmlinux 0x25ba7d6f ipv4_specific +EXPORT_SYMBOL vmlinux 0x25bcea59 tcp_parse_options +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 0x26245e6e no_llseek +EXPORT_SYMBOL vmlinux 0x262e4381 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263f0d1f qman_portal_set_iperiod +EXPORT_SYMBOL vmlinux 0x264cb790 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x26525794 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x2670d100 inet_add_offload +EXPORT_SYMBOL vmlinux 0x2674d9fa of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x269318be bio_init +EXPORT_SYMBOL vmlinux 0x269aabf8 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x26b9cb42 dcache_readdir +EXPORT_SYMBOL vmlinux 0x26c30cc4 is_nd_dax +EXPORT_SYMBOL vmlinux 0x26cbe6e4 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x26cc73c3 complete_and_exit +EXPORT_SYMBOL vmlinux 0x26dd6733 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x26dda087 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x26df76c1 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26ea7c14 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x270cbacb vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x27142fb9 task_work_add +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272a535b tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x272d9ff4 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x272e8027 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2753897d sock_no_linger +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x277dcf49 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x27818fb9 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278ac871 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x279e39db scsi_host_get +EXPORT_SYMBOL vmlinux 0x27a149be inet_getname +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c3c728 qman_release_fqid +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27f5a346 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x280fa929 phy_device_create +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281a26f1 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x282b3529 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x2841fab1 blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x28601bb4 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x286b6146 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x286c8008 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x28727927 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x288271e4 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x288539c8 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x28c23afb udplite_prot +EXPORT_SYMBOL vmlinux 0x28e144c1 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x28e2a5fd devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x28f15052 vfs_create_mount +EXPORT_SYMBOL vmlinux 0x290fbf0c get_task_exe_file +EXPORT_SYMBOL vmlinux 0x29113b5a neigh_ifdown +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2917a617 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x292334c0 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x29259955 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x292bc5c0 __page_symlink +EXPORT_SYMBOL vmlinux 0x293fb9f8 of_get_next_child +EXPORT_SYMBOL vmlinux 0x294b2e24 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x294c3704 dma_set_mask +EXPORT_SYMBOL vmlinux 0x296cb509 __xa_insert +EXPORT_SYMBOL vmlinux 0x298a405c tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x299832a7 bio_add_page +EXPORT_SYMBOL vmlinux 0x29a30799 mdio_device_create +EXPORT_SYMBOL vmlinux 0x29aae9ab bioset_init +EXPORT_SYMBOL vmlinux 0x29b31a41 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x29b567d9 init_task +EXPORT_SYMBOL vmlinux 0x29b577e9 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x29c3203b _dev_warn +EXPORT_SYMBOL vmlinux 0x29c38436 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29f48815 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a5f6b13 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x2a60c2d7 node_states +EXPORT_SYMBOL vmlinux 0x2a60c676 single_release +EXPORT_SYMBOL vmlinux 0x2a821296 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x2a8743f4 pci_release_regions +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa0e09e flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x2aa986ea file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x2aaae342 backlight_device_register +EXPORT_SYMBOL vmlinux 0x2aabaf9d xudma_tchan_get +EXPORT_SYMBOL vmlinux 0x2ab2ee91 brcmstb_get_product_id +EXPORT_SYMBOL vmlinux 0x2ab7989d mutex_lock +EXPORT_SYMBOL vmlinux 0x2abdf165 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x2ac7d3b6 sk_common_release +EXPORT_SYMBOL vmlinux 0x2ac7ffd0 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x2ad7a2ed __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x2ad9b353 udp_pre_connect +EXPORT_SYMBOL vmlinux 0x2adaace5 inet_gro_complete +EXPORT_SYMBOL vmlinux 0x2adafbca config_item_get +EXPORT_SYMBOL vmlinux 0x2b0106c5 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x2b159852 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x2b1abce3 fman_has_errata_a050385 +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6f120f truncate_pagecache +EXPORT_SYMBOL vmlinux 0x2b7a5006 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba19c70 dst_init +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bb7e8a6 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x2bb8680d skb_seq_read +EXPORT_SYMBOL vmlinux 0x2bb9a006 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x2bbb22e2 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x2bc94ec5 md_write_inc +EXPORT_SYMBOL vmlinux 0x2bd0046b padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bdab242 devm_free_irq +EXPORT_SYMBOL vmlinux 0x2bec8930 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2bf34345 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x2bfbab10 __memmove +EXPORT_SYMBOL vmlinux 0x2c03fc27 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2c052e98 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x2c20e104 dquot_file_open +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c4bfd2e jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x2c502bc8 pci_get_device +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c560a98 set_bh_page +EXPORT_SYMBOL vmlinux 0x2c91e17c vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x2c942c80 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x2c9e2569 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x2c9fc36e vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x2ca344d7 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd860af jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2cea8a2b kernel_getpeername +EXPORT_SYMBOL vmlinux 0x2ceb6fb2 tty_register_driver +EXPORT_SYMBOL vmlinux 0x2cf14b15 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cf86df6 inet6_bind +EXPORT_SYMBOL vmlinux 0x2d0b53d0 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x2d122cd6 tc_cleanup_flow_action +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 0x2d356127 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x2d39a2f5 iommu_get_dma_cookie +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d48b551 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x2d48ba95 fman_get_bmi_max_fifo_size +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d638715 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x2d65707f dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0x2d675ae8 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x2d69d32a of_dev_get +EXPORT_SYMBOL vmlinux 0x2d6dfee2 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x2d7c2e3d tcp_close +EXPORT_SYMBOL vmlinux 0x2d826021 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da29336 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x2da99772 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2db3d320 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2dccee7a vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x2dce2f1c __irq_regs +EXPORT_SYMBOL vmlinux 0x2dfef1ff scsi_add_device +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e17de3b mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e20015e get_task_cred +EXPORT_SYMBOL vmlinux 0x2e238d45 to_nd_pfn +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 0x2e55df53 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x2e5b27da xudma_alloc_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e861808 inode_nohighmem +EXPORT_SYMBOL vmlinux 0x2e9fc238 param_ops_uint +EXPORT_SYMBOL vmlinux 0x2ebc4d4a pci_enable_wake +EXPORT_SYMBOL vmlinux 0x2ec3453b qman_schedule_fq +EXPORT_SYMBOL vmlinux 0x2ec6a53a iget5_locked +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0616f2 dup_iter +EXPORT_SYMBOL vmlinux 0x2f1515a7 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x2f23d63f textsearch_register +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f30fef4 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f45edd3 napi_disable +EXPORT_SYMBOL vmlinux 0x2f51c20c genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x2f538d4c config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8c94d5 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x2fa288ab md_handle_request +EXPORT_SYMBOL vmlinux 0x2fac5ce1 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x2faf1428 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe50647 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x2fe5b535 qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x2ff6d2a0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x30023cfc proto_unregister +EXPORT_SYMBOL vmlinux 0x30090ea1 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x301fdab7 kill_fasync +EXPORT_SYMBOL vmlinux 0x302161a9 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x3022ecf4 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x3031ca58 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x30329c7f ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x30463ec4 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x30562c86 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x305c065c __icmp_send +EXPORT_SYMBOL vmlinux 0x3080427d tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x30814211 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30971c8e __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30b0cf11 dev_change_carrier +EXPORT_SYMBOL vmlinux 0x30b56d7b __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x30b6fc8b sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x30bd5ee0 qman_destroy_fq +EXPORT_SYMBOL vmlinux 0x30cb7693 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x30da108e mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x30e3e1f0 I_BDEV +EXPORT_SYMBOL vmlinux 0x30e571f4 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ee2d61 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x3100cff9 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3103b611 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x31041b28 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3129b1c6 input_register_device +EXPORT_SYMBOL vmlinux 0x31333a36 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x318d6fec mutex_is_locked +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31af03ae kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x31b78ff9 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x31d61370 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x31e33d17 phy_get_pause +EXPORT_SYMBOL vmlinux 0x31f4a78e open_with_fake_path +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x324b8759 make_kuid +EXPORT_SYMBOL vmlinux 0x3252bdcf mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x32676a09 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x326a2901 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x326b2fca configfs_register_group +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32ccfc9d netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32eefde1 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x32ff39a7 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x33037fd8 logic_outl +EXPORT_SYMBOL vmlinux 0x3308d8da softnet_data +EXPORT_SYMBOL vmlinux 0x331fc41c ip_do_fragment +EXPORT_SYMBOL vmlinux 0x33576d73 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x335f9b59 md_write_end +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33782c07 ip_defrag +EXPORT_SYMBOL vmlinux 0x33a9b5c4 __netif_schedule +EXPORT_SYMBOL vmlinux 0x33b101cf nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x33c3026a jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x342c02d8 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x342dad41 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x344ca9d4 qman_init_fq +EXPORT_SYMBOL vmlinux 0x344d06ba qdisc_reset +EXPORT_SYMBOL vmlinux 0x344d0d87 fb_pan_display +EXPORT_SYMBOL vmlinux 0x3450bca2 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x3457680e truncate_setsize +EXPORT_SYMBOL vmlinux 0x3475d45a check_disk_change +EXPORT_SYMBOL vmlinux 0x349ac524 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34ab0c20 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x34b16376 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x34c62e83 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x34c8f8ea skb_dequeue +EXPORT_SYMBOL vmlinux 0x34cca8b9 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x34d0eb7a ptp_find_pin +EXPORT_SYMBOL vmlinux 0x34dba157 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x34ecb80a of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x34ee3749 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x35070c75 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x351406c7 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x352caf13 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x35363209 dquot_destroy +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x35621d2b __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35744dca phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x357f03c1 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x35809203 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x35927581 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x359ec42f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35b5bdbf fqdir_init +EXPORT_SYMBOL vmlinux 0x35e31f31 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x35eaa8bd page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x35ec1734 sg_miter_skip +EXPORT_SYMBOL vmlinux 0x35fc0939 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x360236f8 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36544747 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x365eb6b6 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x3660395a max8998_write_reg +EXPORT_SYMBOL vmlinux 0x366461bd udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x367188b7 get_super +EXPORT_SYMBOL vmlinux 0x36736309 __napi_schedule +EXPORT_SYMBOL vmlinux 0x36833a37 sock_create_kern +EXPORT_SYMBOL vmlinux 0x369c3705 __block_write_begin +EXPORT_SYMBOL vmlinux 0x36b5a119 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x36bdf020 filemap_flush +EXPORT_SYMBOL vmlinux 0x36f9459c dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x37251c7b pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374b5c0d max8998_update_reg +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3758cb3f dma_virt_ops +EXPORT_SYMBOL vmlinux 0x3760eae2 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x378af147 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d59338 write_one_page +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37dc3292 param_set_invbool +EXPORT_SYMBOL vmlinux 0x37f2d0d0 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x37fbf211 d_make_root +EXPORT_SYMBOL vmlinux 0x37ff8a42 md_update_sb +EXPORT_SYMBOL vmlinux 0x3811c5d5 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38228e2a dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x38428769 set_posix_acl +EXPORT_SYMBOL vmlinux 0x3850cddf pci_dev_driver +EXPORT_SYMBOL vmlinux 0x3855719a sunxi_sram_claim +EXPORT_SYMBOL vmlinux 0x3857c472 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x385e261f __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x386ea33c clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x387a5b98 zerocopy_sg_from_iter +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 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38b9e9db sock_create +EXPORT_SYMBOL vmlinux 0x38c81944 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x38cd5507 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x38d76b76 clk_get +EXPORT_SYMBOL vmlinux 0x38ddd09f sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38fee0e0 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x38fefcd0 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392a95f7 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39430cfc flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x3948f864 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394b79ee page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x395368c4 vfs_rename +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3967f791 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b8d49c cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x39ba2ae3 start_tty +EXPORT_SYMBOL vmlinux 0x39ba9d4b tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x39c63634 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x39c7bbb2 sock_wfree +EXPORT_SYMBOL vmlinux 0x39ccbe5b ps2_command +EXPORT_SYMBOL vmlinux 0x39f9769f irq_stat +EXPORT_SYMBOL vmlinux 0x3a0b633c tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a2ec949 proc_create +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a331948 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x3a4a13ff dquot_commit +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a685ed7 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x3a782543 fb_set_var +EXPORT_SYMBOL vmlinux 0x3a7f6732 da903x_query_status +EXPORT_SYMBOL vmlinux 0x3a96c030 of_get_next_parent +EXPORT_SYMBOL vmlinux 0x3aa531e7 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3aba9621 xfrm_unregister_type_offload +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 0x3adda07e jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x3af2cc04 dm_get_device +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b021b06 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x3b0f5a09 skb_ext_add +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b22c96b ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x3b2842cd kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b386c7d scsi_remove_host +EXPORT_SYMBOL vmlinux 0x3b4284a6 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6bcda7 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x3b6e2dd6 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x3b73e0a0 blkdev_put +EXPORT_SYMBOL vmlinux 0x3b7ccc0a fman_get_revision +EXPORT_SYMBOL vmlinux 0x3b898d48 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3ba2dc74 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x3bd378f7 security_path_unlink +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bec44c9 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c276d1a pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3494fa ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x3c34fbc9 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c471eb7 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x3c48ec3e mark_page_accessed +EXPORT_SYMBOL vmlinux 0x3c4c84c2 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x3c560959 of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x3c61993b follow_up +EXPORT_SYMBOL vmlinux 0x3c7699ee vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c961660 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x3caf8437 dev_driver_string +EXPORT_SYMBOL vmlinux 0x3cb53312 proc_symlink +EXPORT_SYMBOL vmlinux 0x3cc70b00 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x3cd0782a get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x3cd9ed83 logic_insw +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce97dd5 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x3cedf4e8 dump_emit +EXPORT_SYMBOL vmlinux 0x3cf144f8 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d0aece5 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x3d11fc8a dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x3d1dfbdd backlight_force_update +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d43885c posix_acl_valid +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d5bb3fd refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x3d6519bb vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x3d7920d8 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x3d821fda invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x3d98edc1 cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da25b6c pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +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 0x3dd3f054 xudma_rchan_get_id +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3decd401 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x3df2ff02 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e037e42 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x3e0679d9 kobject_init +EXPORT_SYMBOL vmlinux 0x3e0b3476 iget_failed +EXPORT_SYMBOL vmlinux 0x3e1abdf3 of_find_backlight +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e2d7694 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x3e347c7c ip_setsockopt +EXPORT_SYMBOL vmlinux 0x3e3aef1a __devm_release_region +EXPORT_SYMBOL vmlinux 0x3e4baaf6 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e944c2b inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x3e9aae53 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x3ec37b4a trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x3ecd5829 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efb5c4d tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x3efd6987 phy_attached_print +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f231d0b unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x3f34767b phy_detach +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 0x3f7c2251 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f891f27 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x3fa527b8 clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x3fa6549f get_tz_trend +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fca734b rproc_add +EXPORT_SYMBOL vmlinux 0x3fd0acb6 param_get_byte +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fde4ca2 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x3fe251e8 inet_shutdown +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fecea50 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x3ff629f6 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x4011d449 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x402eef81 phy_loopback +EXPORT_SYMBOL vmlinux 0x404a1605 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x4051a73d rtnl_notify +EXPORT_SYMBOL vmlinux 0x4058353f poll_initwait +EXPORT_SYMBOL vmlinux 0x405a23df __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x4071fa24 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x40872ec9 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409bcb62 mutex_unlock +EXPORT_SYMBOL vmlinux 0x40a0810e blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b79c1d mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x40c3f592 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x40c5e106 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c9bada inode_set_bytes +EXPORT_SYMBOL vmlinux 0x40ca459f get_unmapped_area +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d20bb0 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40e341c2 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x40f1f6a3 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x40fb22e3 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x4100f739 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x4101e3f6 dev_add_offload +EXPORT_SYMBOL vmlinux 0x4109e32c __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x411cec49 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x412d98ed pci_resize_resource +EXPORT_SYMBOL vmlinux 0x4145992d padata_start +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415e8677 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4198ca95 __do_once_done +EXPORT_SYMBOL vmlinux 0x41a5dd7a phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x41aa6556 iommu_put_dma_cookie +EXPORT_SYMBOL vmlinux 0x41eb3c8a posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x421f3cb6 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4238bb9c d_rehash +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x4268ff8b nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x426a1f7c __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x42722633 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x427f3fb4 d_genocide +EXPORT_SYMBOL vmlinux 0x429f48ee input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x42a36115 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x42a48d1c of_clk_get +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42eed626 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430b32d2 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x43207ea2 sock_release +EXPORT_SYMBOL vmlinux 0x432bf3ff netif_napi_del +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x4337ff79 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x433c1ca6 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x433f6b19 tcp_mmap +EXPORT_SYMBOL vmlinux 0x4340b646 registered_fb +EXPORT_SYMBOL vmlinux 0x434968dc pcibus_to_node +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436b1267 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4383ad9a seq_read_iter +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43a308de simple_nosetlease +EXPORT_SYMBOL vmlinux 0x43bce5a9 netif_skb_features +EXPORT_SYMBOL vmlinux 0x43c991ca seq_putc +EXPORT_SYMBOL vmlinux 0x43e1de3f file_path +EXPORT_SYMBOL vmlinux 0x43f46f82 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x43ff38b2 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x44016179 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x440bf216 sock_i_ino +EXPORT_SYMBOL vmlinux 0x440da622 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x441426bd blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x44143501 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x4429a4e4 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x4436f5f7 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x4444af67 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x446f35b4 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x447624bb simple_getattr +EXPORT_SYMBOL vmlinux 0x447f5676 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x449bebcc inet_sendpage +EXPORT_SYMBOL vmlinux 0x449c3867 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x449e91cf jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44b7c9b4 d_add_ci +EXPORT_SYMBOL vmlinux 0x44bee8ae cdrom_release +EXPORT_SYMBOL vmlinux 0x44c77696 rproc_boot +EXPORT_SYMBOL vmlinux 0x44c9213b security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f8f3bd __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x44fd26ff of_translate_address +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 0x452413a1 qman_alloc_pool_range +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x45325653 napi_complete_done +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45430e3d __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x45518c9d invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x45518cdf qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x456d1ac6 scsi_device_put +EXPORT_SYMBOL vmlinux 0x45720a49 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457a46cb tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x457dfec7 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x458003c7 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x45888608 dma_resv_init +EXPORT_SYMBOL vmlinux 0x459806cf module_put +EXPORT_SYMBOL vmlinux 0x45a0a04c twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x45a5ac87 fman_get_pause_cfg +EXPORT_SYMBOL vmlinux 0x45c7a614 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x45dc004c tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x45e69e01 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x4631ed16 nd_device_register +EXPORT_SYMBOL vmlinux 0x463219fb tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x46325167 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x463e21cd framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x463ee806 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x4658c371 skb_store_bits +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46723cf4 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x4672400c uart_get_divisor +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x468a8b01 nd_dax_probe +EXPORT_SYMBOL vmlinux 0x4698fe8a bman_release +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46b6fc82 dev_addr_add +EXPORT_SYMBOL vmlinux 0x46bfa479 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46c718a5 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x46d76580 is_bad_inode +EXPORT_SYMBOL vmlinux 0x46daa7a6 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x46eb38f1 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x46f31d83 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x46f54e7e nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x46fdf081 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x46ff7d12 qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x470612dc fman_port_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0x4706c533 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x4709f603 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x470a471b rproc_report_crash +EXPORT_SYMBOL vmlinux 0x470ac214 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x472ce8da param_get_ulong +EXPORT_SYMBOL vmlinux 0x47590a26 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x475d7427 fman_get_rx_extra_headroom +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477c7680 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x477d48ab md_flush_request +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47b41e69 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x47b7fc6a rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x47c04c41 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47c6ffea fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x47e5f9d7 vc_resize +EXPORT_SYMBOL vmlinux 0x47ef267b pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x480b0416 clkdev_alloc +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481c0394 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x481f69dd of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x482445bd scm_fp_dup +EXPORT_SYMBOL vmlinux 0x4826a479 bd_set_size +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4837bb10 logic_outsb +EXPORT_SYMBOL vmlinux 0x4837fde2 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x483beb9a flush_signals +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x48420329 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x4848ea70 mr_table_dump +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x485181cf tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x486a9ab6 mii_check_media +EXPORT_SYMBOL vmlinux 0x48707f03 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x489fa133 param_ops_short +EXPORT_SYMBOL vmlinux 0x48a0388d of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x48a5a10b revalidate_disk +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48acd9ef input_unregister_handler +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c2406c scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x492a0cab fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x492d7542 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x49332e74 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x493461a4 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x49467333 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x496acc7e security_sb_remount +EXPORT_SYMBOL vmlinux 0x497cc80d inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x498ba2e5 arp_xmit +EXPORT_SYMBOL vmlinux 0x498c886d sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x498cd333 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x498e2631 _dev_alert +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49b65b3c input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x49be45c1 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x49c101a4 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x49c1cd94 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x49c7bc28 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x49e39f0e inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x49ed326c sock_edemux +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x4a040b28 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x4a139c38 migrate_page_states +EXPORT_SYMBOL vmlinux 0x4a1b5fbb bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x4a1fe706 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a4e45aa nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0x4a753411 simple_rmdir +EXPORT_SYMBOL vmlinux 0x4a7a5712 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x4a7f13f3 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x4a833b28 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x4a851f8e tcp_splice_read +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa34f78 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x4aaceb80 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x4ab208ba acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x4ac1c066 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x4ac62af7 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x4ac97c6f devm_request_resource +EXPORT_SYMBOL vmlinux 0x4ad110f3 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4aeadd0f get_fs_type +EXPORT_SYMBOL vmlinux 0x4af025a9 iget_locked +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b0c6525 km_policy_expired +EXPORT_SYMBOL vmlinux 0x4b255824 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x4b2a4002 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x4b316afb vme_slave_request +EXPORT_SYMBOL vmlinux 0x4b533b41 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x4b545571 dump_skip +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b7d81a9 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x4b89307f fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x4b8dbd21 nf_reinject +EXPORT_SYMBOL vmlinux 0x4b93d4e3 dev_set_group +EXPORT_SYMBOL vmlinux 0x4b981eb0 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x4ba29629 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x4ba77ac4 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x4bb17a1c param_get_charp +EXPORT_SYMBOL vmlinux 0x4bb462f6 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bdb5d28 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x4be0584d tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x4bee445d give_up_console +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf3ce6f qman_release_cgrid +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c18b379 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x4c287c95 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x4c2d2bb9 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c399a33 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x4c3d18dd pci_request_irq +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c52f4ec tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x4c66c6ef genl_notify +EXPORT_SYMBOL vmlinux 0x4c8f7b58 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x4c961b53 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x4cb0740c cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cbb4cad blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x4cd6816a vfs_symlink +EXPORT_SYMBOL vmlinux 0x4ce04c39 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x4d0040a0 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d153730 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x4d1d9c51 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d4755e6 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x4d4a6a1b netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6e27b4 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d93154e blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x4d937007 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da5e7d8 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x4dc5ec3e dev_alloc_name +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dce67af md_error +EXPORT_SYMBOL vmlinux 0x4de64a3d ppp_unregister_compressor +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 0x4df8535b inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4dfd27ae bio_put +EXPORT_SYMBOL vmlinux 0x4e0d4913 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e22ff40 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x4e29a553 clk_add_alias +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3948c6 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x4e405176 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x4e4b4870 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6b87fd create_empty_buffers +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e9ad4e4 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb95f11 framebuffer_release +EXPORT_SYMBOL vmlinux 0x4eba857f pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4edb3946 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x4edbb500 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x4ee2efee __udp_disconnect +EXPORT_SYMBOL vmlinux 0x4eebf632 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x4eeef67a tcp_req_err +EXPORT_SYMBOL vmlinux 0x4ef94ca3 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4efa58f8 d_delete +EXPORT_SYMBOL vmlinux 0x4f0a7b0f scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f3e3b20 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f5e84fb pnp_device_attach +EXPORT_SYMBOL vmlinux 0x4f6b355c pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x4f783ec2 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x4f88122a neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x4fa51b5a block_write_begin +EXPORT_SYMBOL vmlinux 0x4fa68775 unregister_netdev +EXPORT_SYMBOL vmlinux 0x4fbf73f7 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x4fd044bf pci_release_resource +EXPORT_SYMBOL vmlinux 0x4fd2307a phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x4fedb565 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x4ffd70eb qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x503c75cf uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x504e2b7a crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x5053b5e2 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x50564b4f udp_seq_start +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x50918a30 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x509cec67 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c4d95a of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x50c73091 block_commit_write +EXPORT_SYMBOL vmlinux 0x50d57335 of_iomap +EXPORT_SYMBOL vmlinux 0x50e7e120 of_match_node +EXPORT_SYMBOL vmlinux 0x50f06f59 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x50f2bfa2 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x50fc111d tcp_shutdown +EXPORT_SYMBOL vmlinux 0x51013374 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x5143edfd genlmsg_put +EXPORT_SYMBOL vmlinux 0x514b8419 setattr_copy +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 0x5169d6e7 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x516e4bb2 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x51728570 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x518eadbd pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x519c4937 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51e1797d key_put +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51f0349c skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x51f35e95 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x52202dfa security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x525c8698 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x528bbeba pci_iomap +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x529a247f fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x52ae7c82 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dbd3ee page_mapping +EXPORT_SYMBOL vmlinux 0x52e74eac inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x52eb8b9c inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x5303fb47 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x5309fab4 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530e7bde __inet_hash +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x532600ac netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x5328bec5 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x5347962c sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x536e26bc of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x537637b4 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x5378ad57 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x537a0b45 __pagevec_release +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53d2217a gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x53d47930 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x53e96dc1 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x53fd2c5d input_event +EXPORT_SYMBOL vmlinux 0x5402da9f xudma_navss_psil_pair +EXPORT_SYMBOL vmlinux 0x5419ebb6 ethtool_notify +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x542f4cde vm_insert_pages +EXPORT_SYMBOL vmlinux 0x543009e2 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5455b1c0 phy_disconnect +EXPORT_SYMBOL vmlinux 0x5469ff81 efi +EXPORT_SYMBOL vmlinux 0x546aef32 _dev_emerg +EXPORT_SYMBOL vmlinux 0x546f2085 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x54747807 seq_escape +EXPORT_SYMBOL vmlinux 0x5474a289 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x549edb28 nf_log_packet +EXPORT_SYMBOL vmlinux 0x54a75ed3 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54c3f0d6 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x54df30b5 bmap +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x54ec41e5 genphy_resume +EXPORT_SYMBOL vmlinux 0x54ed9084 __check_sticky +EXPORT_SYMBOL vmlinux 0x550560e4 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5508f28d bman_acquire +EXPORT_SYMBOL vmlinux 0x5513b4ce flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x552db3aa qman_query_cgr_congested +EXPORT_SYMBOL vmlinux 0x5547ca70 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x55686530 __arch_clear_user +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x557bc6d9 dquot_resume +EXPORT_SYMBOL vmlinux 0x55812448 mntget +EXPORT_SYMBOL vmlinux 0x5583f43e sk_reset_timer +EXPORT_SYMBOL vmlinux 0x5584f962 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55997a6c of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x55a5b33a blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x55ad7098 of_root +EXPORT_SYMBOL vmlinux 0x55b03587 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x55e1857f generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x56000535 param_set_long +EXPORT_SYMBOL vmlinux 0x5614f48a qman_dqrr_get_ithresh +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x5647595a flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x566359a4 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x5681277d md_check_recovery +EXPORT_SYMBOL vmlinux 0x568e8230 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x569abcca acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x56aeda82 vfs_get_link +EXPORT_SYMBOL vmlinux 0x56b80d51 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56de0771 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x56f36406 kern_path_create +EXPORT_SYMBOL vmlinux 0x56f8c371 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x56fdae5f qman_get_qm_portal_config +EXPORT_SYMBOL vmlinux 0x5713eb43 touch_atime +EXPORT_SYMBOL vmlinux 0x572a6e04 try_to_release_page +EXPORT_SYMBOL vmlinux 0x573a58ef rt_dst_clone +EXPORT_SYMBOL vmlinux 0x573d66d9 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57503212 dma_supported +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5782152a register_quota_format +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x579f91e7 register_shrinker +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57bc905c put_tty_driver +EXPORT_SYMBOL vmlinux 0x57cc2575 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x57d0038d simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x57d0427e amba_release_regions +EXPORT_SYMBOL vmlinux 0x57d5f18b mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x57eafbbe dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57f9ba52 get_super_exclusive_thawed +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 0x5832bcbb dst_alloc +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58604e4d alloc_iova_mem +EXPORT_SYMBOL vmlinux 0x5868427c user_revoke +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x587f7ec2 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x58889782 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x58abcc7f devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b000cf dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x58b0791b blackhole_netdev +EXPORT_SYMBOL vmlinux 0x58b2b425 free_netdev +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58c55940 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x58d3f1c6 __free_pages +EXPORT_SYMBOL vmlinux 0x58e02d36 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x58e1d95c pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e3d71c simple_transaction_set +EXPORT_SYMBOL vmlinux 0x59020e9a put_fs_context +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x591fac89 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x593d3670 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x59408b65 napi_get_frags +EXPORT_SYMBOL vmlinux 0x594e65cd devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x5951cce1 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x596b1d8a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x59946192 inode_get_bytes +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 0x59bce381 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x59ce4966 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x59d0f756 clkdev_drop +EXPORT_SYMBOL vmlinux 0x59d497dd dquot_quota_on +EXPORT_SYMBOL vmlinux 0x59f825de genphy_loopback +EXPORT_SYMBOL vmlinux 0x5a054aae netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5657ca bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x5a60b950 qm_channel_pool1 +EXPORT_SYMBOL vmlinux 0x5a651c71 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a8f1169 default_llseek +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aa86caa lock_rename +EXPORT_SYMBOL vmlinux 0x5ab36018 clear_wb_congested +EXPORT_SYMBOL vmlinux 0x5abcb7b9 get_super_thawed +EXPORT_SYMBOL vmlinux 0x5ac12e70 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x5ad05253 tty_name +EXPORT_SYMBOL vmlinux 0x5ad06005 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x5aecd370 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x5aed2418 param_ops_bool +EXPORT_SYMBOL vmlinux 0x5af2dc10 cpu_hwcaps +EXPORT_SYMBOL vmlinux 0x5af89d41 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x5b1c254c pnp_possible_config +EXPORT_SYMBOL vmlinux 0x5b233205 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b40a60b fs_param_is_string +EXPORT_SYMBOL vmlinux 0x5b46d368 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b5c1f23 param_set_charp +EXPORT_SYMBOL vmlinux 0x5b9529fd input_close_device +EXPORT_SYMBOL vmlinux 0x5b9b1cc3 sock_pfree +EXPORT_SYMBOL vmlinux 0x5b9bbecc tcf_exts_change +EXPORT_SYMBOL vmlinux 0x5ba8161e finalize_exec +EXPORT_SYMBOL vmlinux 0x5bba2b35 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x5bc2f595 filp_open +EXPORT_SYMBOL vmlinux 0x5bc64eaf input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bcf361f vga_get +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdcf69f __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c143f53 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x5c1ef893 inet_put_port +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c48cb7d vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x5c49f747 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x5c54ccd7 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x5c54cfba write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x5c6f1e39 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x5c815348 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x5c84742b jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x5ca63962 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x5cc0d99e inode_io_list_del +EXPORT_SYMBOL vmlinux 0x5ce2cf16 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cf6785a unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5cfff1f0 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x5d0bdee7 passthru_features_check +EXPORT_SYMBOL vmlinux 0x5d112304 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0x5d1f8b90 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x5d3105b5 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d71e7fc generic_fillattr +EXPORT_SYMBOL vmlinux 0x5d738ca4 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d880e26 of_get_property +EXPORT_SYMBOL vmlinux 0x5d8fa18f sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x5d9afb39 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x5d9cbe81 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x5d9d977c kill_anon_super +EXPORT_SYMBOL vmlinux 0x5da9770a locks_remove_posix +EXPORT_SYMBOL vmlinux 0x5dac4cd6 qman_dqrr_set_ithresh +EXPORT_SYMBOL vmlinux 0x5deda938 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e061ffc __breadahead +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1f99f2 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x5e292090 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x5e2b16c4 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x5e3240a0 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5e3251f0 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e3a2fae irq_to_desc +EXPORT_SYMBOL vmlinux 0x5e3ec35d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x5e468a6e jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5e5b76f8 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x5e635252 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e862413 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x5e8a5d8a xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9689d3 proc_set_size +EXPORT_SYMBOL vmlinux 0x5e99decc pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0x5e9c06a7 bdgrab +EXPORT_SYMBOL vmlinux 0x5e9f14ad uart_match_port +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee11422 has_capability +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ef49f28 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5ef559c3 xsk_set_rx_need_wakeup +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 0x5f09d354 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x5f12a206 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x5f3487f3 fd_install +EXPORT_SYMBOL vmlinux 0x5f34e275 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x5f3ca8ed nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f84df64 mmc_request_done +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5fa241af mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x5fbfb495 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fe419a9 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x5fe5e117 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x5fed178c meson_sm_call +EXPORT_SYMBOL vmlinux 0x5fef79b1 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601837bb unix_get_socket +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601acfc4 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60270f81 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x6033e089 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x607d4eef node_data +EXPORT_SYMBOL vmlinux 0x607eff55 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608af548 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +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 0x60ba7ba6 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x60cab018 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60eda113 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x60ef02d7 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615e2aeb neigh_for_each +EXPORT_SYMBOL vmlinux 0x6161da72 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x6177cc3e mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x617ae3b9 mipi_dsi_dcs_exit_sleep_mode +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 0x618d0e43 netpoll_setup +EXPORT_SYMBOL vmlinux 0x6191f39b devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x61983fe2 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a88920 finish_swait +EXPORT_SYMBOL vmlinux 0x61b4717a mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c5337e md_reload_sb +EXPORT_SYMBOL vmlinux 0x61cc4098 set_page_dirty +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f240f1 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6230bb78 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x6239baea dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x6254d72e nlmsg_notify +EXPORT_SYMBOL vmlinux 0x6256b538 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x626975d0 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6276d4aa thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62890955 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x62a265bc i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x62afbad5 fb_show_logo +EXPORT_SYMBOL vmlinux 0x62b877ac init_special_inode +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62c2d47b sockfd_lookup +EXPORT_SYMBOL vmlinux 0x62cac127 vm_event_states +EXPORT_SYMBOL vmlinux 0x62d96443 qman_dma_portal +EXPORT_SYMBOL vmlinux 0x62f02cb4 __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x62f1fdeb consume_skb +EXPORT_SYMBOL vmlinux 0x62f4bfec devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632daa7f tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x63309fe6 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x633ad6c9 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x633afe52 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x63482770 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x637f416b pci_disable_msi +EXPORT_SYMBOL vmlinux 0x637f578e __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x639ec426 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a6de0e setattr_prepare +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b5a8ea vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c55fe3 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x63c8129d nmi_panic +EXPORT_SYMBOL vmlinux 0x63d6dbd9 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f089e1 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x63f5c189 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x640cba68 ilookup5 +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x641ee107 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x642a7f9a serio_close +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x64303c8c forget_cached_acl +EXPORT_SYMBOL vmlinux 0x64339c3d dquot_free_inode +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x644ad84e set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x644be12c qman_affine_cpus +EXPORT_SYMBOL vmlinux 0x64508d6b pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x64718e94 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x6475a41d dev_load +EXPORT_SYMBOL vmlinux 0x64788392 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x6482a193 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x6482d741 open_exec +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x6496a8d9 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x64994ad7 nvm_register +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649cb188 of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64ab4596 xp_alloc +EXPORT_SYMBOL vmlinux 0x64b06163 sg_miter_start +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64c43f5a devm_rproc_add +EXPORT_SYMBOL vmlinux 0x64d053fb file_modified +EXPORT_SYMBOL vmlinux 0x64ee9df1 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x64f4ad15 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x64f575d2 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x65109c0e pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6522fcd5 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x656299e9 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x6579e966 lookup_one_len +EXPORT_SYMBOL vmlinux 0x657cbbf1 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65b0c44d vfs_get_super +EXPORT_SYMBOL vmlinux 0x65b692af skb_append +EXPORT_SYMBOL vmlinux 0x65bf8c78 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +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 0x65f12584 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x65f79654 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6623c3eb nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x6624b0b6 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x662c6b4c key_invalidate +EXPORT_SYMBOL vmlinux 0x664aedb2 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x664b1e29 qman_delete_cgr +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x6663797b __block_write_full_page +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x666c00c1 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x6690d712 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x6693f03b __sb_start_write +EXPORT_SYMBOL vmlinux 0x669b05d3 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x66a68d4b inet_gro_receive +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66c7518d dquot_transfer +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66d89005 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x66db40f5 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x66dbada0 inet_del_offload +EXPORT_SYMBOL vmlinux 0x66dff432 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x66e83b14 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x66ee41c3 sock_i_uid +EXPORT_SYMBOL vmlinux 0x66f05268 fc_mount +EXPORT_SYMBOL vmlinux 0x67011e0b inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x670f67ff abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x6732d822 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x67474606 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x676dc453 seq_read +EXPORT_SYMBOL vmlinux 0x6770f28b reuseport_alloc +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x6794e349 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c0603d fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67c3aeb2 register_netdevice +EXPORT_SYMBOL vmlinux 0x67c7462b flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x67d93a9d km_report +EXPORT_SYMBOL vmlinux 0x67de8918 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x67f630d2 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x67fb655d __fs_parse +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6853e55c locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x686ad0ba mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x686b5107 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688110dc pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x68a49e0b nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68ab3b78 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x68c4070f iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x68f69f2b tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x691378b9 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x6919cbbb mdio_device_free +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x694a5dcb mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x694e63ec bdget_disk +EXPORT_SYMBOL vmlinux 0x694ffc75 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x695f1230 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69950dce udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x699ca6ac blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69c92d0d unregister_console +EXPORT_SYMBOL vmlinux 0x69c9a007 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x69ccf97c qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e80f4e dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a082687 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x6a1cdc50 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x6a27dadd rt6_lookup +EXPORT_SYMBOL vmlinux 0x6a345dd2 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x6a3766b2 qman_delete_cgr_safe +EXPORT_SYMBOL vmlinux 0x6a3fee2b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a51ff36 blk_get_queue +EXPORT_SYMBOL vmlinux 0x6a57271a mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f4ee tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x6a854191 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x6a8589cb skb_copy +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6ab10ff7 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ab6fb50 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x6adab500 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x6adb6a38 proto_register +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b0c085f blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x6b215ba1 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2941b2 __arch_copy_to_user +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4024b4 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x6b460fbc from_kuid +EXPORT_SYMBOL vmlinux 0x6b4b2933 __ioremap +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5a7393 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6b61bf02 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b6693fe nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b859b7a tcf_block_get +EXPORT_SYMBOL vmlinux 0x6b8a8483 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b97cc1c neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x6bbfc8f2 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd13f5a fs_bio_set +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6bebb63b input_flush_device +EXPORT_SYMBOL vmlinux 0x6bf22f94 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c2e9f38 phy_read_paged +EXPORT_SYMBOL vmlinux 0x6c312945 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x6c564922 genphy_read_status +EXPORT_SYMBOL vmlinux 0x6c5659da bdput +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c61e176 set_nlink +EXPORT_SYMBOL vmlinux 0x6c645dd2 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x6c663b3c phy_validate_pause +EXPORT_SYMBOL vmlinux 0x6c6896a9 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x6c79f27b mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x6c8364e4 dquot_operations +EXPORT_SYMBOL vmlinux 0x6c88ae1c mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x6c8cf196 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x6c907e2c scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cb552b7 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x6ccbdc7e finish_open +EXPORT_SYMBOL vmlinux 0x6cce3568 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x6cd2ca9a mmc_erase +EXPORT_SYMBOL vmlinux 0x6cddebdd devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cf62166 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6cf9afb4 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x6cfe28a5 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x6d0c5e77 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x6d25d37e pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d303ea4 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x6d308213 _dev_err +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3aeea0 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x6d40fa4c mod_node_page_state +EXPORT_SYMBOL vmlinux 0x6d43af04 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x6d45b83c dev_mc_add +EXPORT_SYMBOL vmlinux 0x6d55b453 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x6d5664b3 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d70e780 sock_from_file +EXPORT_SYMBOL vmlinux 0x6d73c95f logic_outw +EXPORT_SYMBOL vmlinux 0x6d7abe02 first_ec +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d8188ae fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0x6d831456 netlink_ack +EXPORT_SYMBOL vmlinux 0x6d8b5c25 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x6d913a5e xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x6d95a992 kernel_recvmsg +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 0x6dda3003 fman_reset_mac +EXPORT_SYMBOL vmlinux 0x6dddf775 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e019034 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x6e11d89a clear_inode +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e40d4fb vfs_link +EXPORT_SYMBOL vmlinux 0x6e4c877e find_vma +EXPORT_SYMBOL vmlinux 0x6e5967ec xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e62ebae __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e782741 seq_printf +EXPORT_SYMBOL vmlinux 0x6e86c008 input_unregister_device +EXPORT_SYMBOL vmlinux 0x6e9be44c release_pages +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea2a5d7 misc_deregister +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ecd0dfd blk_execute_rq +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6ee93593 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x6eec304b ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x6eef6444 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x6f051dc4 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x6f0b60dd ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6f1e87f5 phy_attach +EXPORT_SYMBOL vmlinux 0x6f320133 inet_gso_segment +EXPORT_SYMBOL vmlinux 0x6f3835db sock_register +EXPORT_SYMBOL vmlinux 0x6f385bbf skb_queue_tail +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f45e6ea input_grab_device +EXPORT_SYMBOL vmlinux 0x6f510654 sock_no_getname +EXPORT_SYMBOL vmlinux 0x6f6f3736 pci_choose_state +EXPORT_SYMBOL vmlinux 0x6f785a97 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6f86add6 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6f94169d neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x6f98f9d6 path_get +EXPORT_SYMBOL vmlinux 0x6fa5179f vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x6fa61af5 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x6fa68351 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x6fb16300 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd1824c scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6ff2ec8c thaw_bdev +EXPORT_SYMBOL vmlinux 0x6ffd9db4 padata_do_serial +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70048a98 vmap +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x704ebd26 inet_select_addr +EXPORT_SYMBOL vmlinux 0x70569c28 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x708185fb phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x708765b5 keyring_alloc +EXPORT_SYMBOL vmlinux 0x7091f658 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70d1a18e qman_release_pool +EXPORT_SYMBOL vmlinux 0x70d61dd0 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x70e1eda2 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x70ee260f vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x710e1239 may_umount_tree +EXPORT_SYMBOL vmlinux 0x7112947e dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x711b56e7 param_set_ulong +EXPORT_SYMBOL vmlinux 0x712412ee dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x71313f0f proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x71357ca7 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x7141b88a logic_insb +EXPORT_SYMBOL vmlinux 0x71669238 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x716b4c4f inet_frag_kill +EXPORT_SYMBOL vmlinux 0x716dd600 freeze_bdev +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x717c8228 dev_mc_del +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ac5435 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x71b3e0c7 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x71bf13e0 ihold +EXPORT_SYMBOL vmlinux 0x71c41f71 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x71e3bfca con_is_visible +EXPORT_SYMBOL vmlinux 0x71e5c080 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x71e9813e phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x72022290 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x7214ba0e rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7218e233 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x722fd3bf __SetPageMovable +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x725c3513 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x72787dc3 tty_register_device +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72dbfbac page_symlink +EXPORT_SYMBOL vmlinux 0x72e9fdf5 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f66a99 kill_litter_super +EXPORT_SYMBOL vmlinux 0x73023211 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x7313e75a pcie_get_mps +EXPORT_SYMBOL vmlinux 0x73149870 bio_copy_data +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731644c4 elevator_alloc +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL vmlinux 0x734b92fd compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x739449c3 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73c7d751 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x73cb79c9 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x73d5d816 key_unlink +EXPORT_SYMBOL vmlinux 0x73ebd888 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x73f6d1b0 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x73f9d14c i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x740b278f iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x742eabb4 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x743f4126 keygen_port_hashing_init +EXPORT_SYMBOL vmlinux 0x7446229f remove_arg_zero +EXPORT_SYMBOL vmlinux 0x744ad75a generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x745a0335 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x745b7a25 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x745f18ac xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x746beb58 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7480755e cdrom_check_events +EXPORT_SYMBOL vmlinux 0x748aac84 d_tmpfile +EXPORT_SYMBOL vmlinux 0x748aca20 scsi_print_result +EXPORT_SYMBOL vmlinux 0x748afe28 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x74999726 tty_check_change +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c6b3a0 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x74d310a5 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x74e5b763 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f4a476 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x74f591ad __lock_buffer +EXPORT_SYMBOL vmlinux 0x74fa8111 register_md_personality +EXPORT_SYMBOL vmlinux 0x7506cea0 key_alloc +EXPORT_SYMBOL vmlinux 0x751029f5 tty_vhangup +EXPORT_SYMBOL vmlinux 0x7518d8c4 pci_map_rom +EXPORT_SYMBOL vmlinux 0x7524b445 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x7524f9ed _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x7539bbb1 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x755b78c6 meson_sm_call_write +EXPORT_SYMBOL vmlinux 0x756c0b24 __register_binfmt +EXPORT_SYMBOL vmlinux 0x756d40a5 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x7575ff90 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x757f088f cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x75924eb7 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x75b4f684 eth_prepare_mac_addr_change +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 0x75ed712e dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x75f9211c nobh_writepage +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7611a47d blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x761dee9e acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x76236bbc dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76326d19 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x7633605a posix_test_lock +EXPORT_SYMBOL vmlinux 0x763d6403 bdi_put +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7676c7ab pin_user_pages +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76ac9e7d blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x76b525b7 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x76bf26ec fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76e19c7b rio_query_mport +EXPORT_SYMBOL vmlinux 0x76ea68b9 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x76f98e23 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x76fc9abc locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x77058729 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x77308e47 find_inode_rcu +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 0x773ffe96 skb_trim +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x775033aa dcb_getapp +EXPORT_SYMBOL vmlinux 0x775edd67 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x776d90ec t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x776f64b4 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x777a3c9d pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a5b355 sock_rfree +EXPORT_SYMBOL vmlinux 0x77b388b8 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e5ad7e udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ea2002 of_device_is_available +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x782c2f43 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x78371902 pci_request_region +EXPORT_SYMBOL vmlinux 0x78454a01 netdev_emerg +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78564a35 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788495df __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x788cbd08 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b28421 key_task_permission +EXPORT_SYMBOL vmlinux 0x78c40456 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x78c99ece uart_resume_port +EXPORT_SYMBOL vmlinux 0x78d76487 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x78dc5b50 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e98f86 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7910827c loop_register_transfer +EXPORT_SYMBOL vmlinux 0x7916cb22 par_io_of_config +EXPORT_SYMBOL vmlinux 0x7918f48f phy_device_free +EXPORT_SYMBOL vmlinux 0x7950ff40 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x7957d234 inc_nlink +EXPORT_SYMBOL vmlinux 0x795a7fb2 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x796ad69f qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x796af5d5 may_umount +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7977d983 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79bb625e soft_cursor +EXPORT_SYMBOL vmlinux 0x79eca044 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a16d05e ata_print_version +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2afc9a tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7a2e8497 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x7a441bd1 kill_pid +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a54aad7 dst_discard_out +EXPORT_SYMBOL vmlinux 0x7a594802 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x7a59aa22 bio_chain +EXPORT_SYMBOL vmlinux 0x7a638638 peernet2id +EXPORT_SYMBOL vmlinux 0x7a7e4562 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x7a84bc99 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa60ddd simple_pin_fs +EXPORT_SYMBOL vmlinux 0x7aace058 mount_nodev +EXPORT_SYMBOL vmlinux 0x7ab03831 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad0fd1e dentry_open +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7af77974 tty_do_resize +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b07b656 dst_dev_put +EXPORT_SYMBOL vmlinux 0x7b15501f submit_bh +EXPORT_SYMBOL vmlinux 0x7b2d2421 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x7b3d35e2 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x7b3f3adb nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b710136 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7ba18254 misc_register +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bb912a9 set_wb_congested +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bc450c8 d_invalidate +EXPORT_SYMBOL vmlinux 0x7bd346f9 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x7bdc62dc copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x7bdfb3c6 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x7c03d953 vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2fab78 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x7c348129 nobh_write_end +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c520866 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x7c56b484 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x7c587905 __frontswap_test +EXPORT_SYMBOL vmlinux 0x7c8bf40e tty_port_init +EXPORT_SYMBOL vmlinux 0x7c8fadc8 register_key_type +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cac651d devm_iounmap +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cda5c54 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x7cdea7f3 phy_print_status +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf6aaf4 __f_setown +EXPORT_SYMBOL vmlinux 0x7cfaa6a2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d036a93 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d0f484f genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d1758c8 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x7d246aac tcp_seq_start +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d8582d0 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x7d897586 vme_init_bridge +EXPORT_SYMBOL vmlinux 0x7d9720e7 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7de13688 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x7dec899b devm_clk_put +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0826e2 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7e2f9a56 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e368608 posix_lock_file +EXPORT_SYMBOL vmlinux 0x7e65fdaa __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x7e747d2d vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x7e89ae59 is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x7ec78bdd rename_lock +EXPORT_SYMBOL vmlinux 0x7eef8df0 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f1ab623 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f24e0a1 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x7f296eb0 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x7f3da06a ptp_clock_event +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f7a0743 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f80ce61 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x7f8b558d dcb_setapp +EXPORT_SYMBOL vmlinux 0x7f8cafce flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x7f95296a sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7fad56f1 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x7fd0eaf2 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x7fd350e2 input_register_handle +EXPORT_SYMBOL vmlinux 0x7fd4f232 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x7fe105d7 bman_ip_rev +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fe5babd napi_gro_receive +EXPORT_SYMBOL vmlinux 0x7fe9bb92 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8022263c get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x80579e43 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x805ff02f __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x8078a34b fman_bind +EXPORT_SYMBOL vmlinux 0x8089fbba dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x80a00dfa mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80b4989b security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x80b4c3b4 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x80c2f5d3 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80ded3ba rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x80eea80e bio_advance +EXPORT_SYMBOL vmlinux 0x80f3dff5 skb_dump +EXPORT_SYMBOL vmlinux 0x810be622 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x811af6b5 ip_frag_next +EXPORT_SYMBOL vmlinux 0x81217e62 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x8124df93 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x813898fa udp_poll +EXPORT_SYMBOL vmlinux 0x813cd223 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x8144b330 netdev_change_features +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x81564c42 set_cached_acl +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815cef88 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81751358 follow_down_one +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81a55811 ip6_xmit +EXPORT_SYMBOL vmlinux 0x81a7c366 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x81a885cc phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81b395b3 down_interruptible +EXPORT_SYMBOL vmlinux 0x81c97fca udp_set_csum +EXPORT_SYMBOL vmlinux 0x81cb17cc filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81f53896 dm_put_device +EXPORT_SYMBOL vmlinux 0x820103b6 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x823d3505 cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x825f1ca9 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x82609241 nvm_end_io +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x827dcc63 pci_free_irq +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82a6590c xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x82b1dce5 follow_down +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82cf4e5f xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x82dc6e71 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x82eeb0a5 complete_request_key +EXPORT_SYMBOL vmlinux 0x83224fc7 pci_enable_device +EXPORT_SYMBOL vmlinux 0x8327d0f2 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x8349cddb tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x8357bab1 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x83599ae3 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x8363a508 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x83654917 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x8373a4b8 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x8377c323 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x837991b5 md_write_start +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839242c6 prepare_creds +EXPORT_SYMBOL vmlinux 0x839dd3f3 fget +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83ee3513 tcp_filter +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8406dbea pci_dev_put +EXPORT_SYMBOL vmlinux 0x8424fc3c tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x843871dc phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x84461a86 tcp_prot +EXPORT_SYMBOL vmlinux 0x845a3a1c cpu_hwcap_keys +EXPORT_SYMBOL vmlinux 0x84763a7a input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x8495b7ca netpoll_print_options +EXPORT_SYMBOL vmlinux 0x84a19da8 edac_mc_find +EXPORT_SYMBOL vmlinux 0x84ab200c sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x84bcdded block_truncate_page +EXPORT_SYMBOL vmlinux 0x84c0a4c5 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c37592 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x84cdea1d netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x84db9b62 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x84e529e5 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x84f4c289 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x84f6e95d mmc_free_host +EXPORT_SYMBOL vmlinux 0x8505230a f_setown +EXPORT_SYMBOL vmlinux 0x851b9121 xudma_dev_get_psil_base +EXPORT_SYMBOL vmlinux 0x851e71f2 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x851fa655 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x85209c3f scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x854c279e would_dump +EXPORT_SYMBOL vmlinux 0x85532eb1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x8565f101 d_alloc_name +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85751fa8 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x858b3fe3 free_iova_mem +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d50730 config_group_init +EXPORT_SYMBOL vmlinux 0x85d801a1 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x85d82bff devfreq_add_device +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e12d4b dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0x85e2d8a4 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fa827c pci_write_vpd +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x860ba125 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x86113bf6 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x861c50be max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x86299abf fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x862abcb8 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x8649468c devfreq_update_status +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865947d0 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x865e05df pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x86882b18 noop_llseek +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x868dd247 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x86988e8e zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x86b0cfc8 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x86b24fc6 init_pseudo +EXPORT_SYMBOL vmlinux 0x86cbbabf scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x86d15c85 fget_raw +EXPORT_SYMBOL vmlinux 0x86d2cfd1 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86d6bede iterate_supers_type +EXPORT_SYMBOL vmlinux 0x86e9bf43 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x86ec2c39 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8700bd8d generic_block_bmap +EXPORT_SYMBOL vmlinux 0x8711c093 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x87121b1a mpage_writepages +EXPORT_SYMBOL vmlinux 0x8712f073 of_phy_connect +EXPORT_SYMBOL vmlinux 0x872d3efc generic_read_dir +EXPORT_SYMBOL vmlinux 0x875705e9 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x87956119 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x879f1d79 netdev_notice +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87c3018b __d_drop +EXPORT_SYMBOL vmlinux 0x87d4ac78 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x87f13038 input_set_capability +EXPORT_SYMBOL vmlinux 0x87fea985 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x880ceb08 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x8816fcb6 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x8824ad6a nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x88283c65 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x8832eccb skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x88351afa pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888ebd5 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88b09e1b km_new_mapping +EXPORT_SYMBOL vmlinux 0x88bb029b kernel_listen +EXPORT_SYMBOL vmlinux 0x88c6d416 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e4853d phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x89012555 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x890ec3ed inet6_del_offload +EXPORT_SYMBOL vmlinux 0x89124a39 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x89275852 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x8946ea72 fpsimd_context_busy +EXPORT_SYMBOL vmlinux 0x894dc12b lease_get_mtime +EXPORT_SYMBOL vmlinux 0x89560c21 kill_pgrp +EXPORT_SYMBOL vmlinux 0x896a9c4a dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x89792d3b i2c_register_driver +EXPORT_SYMBOL vmlinux 0x89898c96 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x8993ab14 _dev_crit +EXPORT_SYMBOL vmlinux 0x89a29539 bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x89b3db5c nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x89bf0c28 of_device_register +EXPORT_SYMBOL vmlinux 0x89d08924 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x89d7a0ef of_node_put +EXPORT_SYMBOL vmlinux 0x89e91425 sock_wake_async +EXPORT_SYMBOL vmlinux 0x8a011ae9 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8a1b88bb unregister_quota_format +EXPORT_SYMBOL vmlinux 0x8a2d4c5d security_sk_clone +EXPORT_SYMBOL vmlinux 0x8a310933 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4ae731 dqget +EXPORT_SYMBOL vmlinux 0x8a550dba dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x8a5592ea wireless_send_event +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a6b788e __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a7d70b1 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x8a871ce8 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x8a8cd470 param_set_copystring +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9e4f6f of_find_property +EXPORT_SYMBOL vmlinux 0x8abaca02 d_set_d_op +EXPORT_SYMBOL vmlinux 0x8abe124a inet_csk_accept +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 0x8ad2d07c mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x8adcec77 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x8ae076cc inet_frags_fini +EXPORT_SYMBOL vmlinux 0x8ae0e319 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x8aed1a2e unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b1f1a14 dma_pool_create +EXPORT_SYMBOL vmlinux 0x8b1f39fd tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x8b240716 to_nd_btt +EXPORT_SYMBOL vmlinux 0x8b2ffd83 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x8b3df82b tcp_conn_request +EXPORT_SYMBOL vmlinux 0x8b40b9b2 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b65c47b __bread_gfp +EXPORT_SYMBOL vmlinux 0x8b6ed789 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b8b8af1 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x8b8cb31b remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8b9efce5 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x8bb7f8ae bio_endio +EXPORT_SYMBOL vmlinux 0x8bcfd71f i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x8bcfe1b9 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8bf1374a pci_select_bars +EXPORT_SYMBOL vmlinux 0x8bfa906e input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x8c1b7b1a xudma_dev_get_tisci_rm +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c48b6eb set_user_nice +EXPORT_SYMBOL vmlinux 0x8c5a3842 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c80c579 PageMovable +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8cb544df __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8cbe66e5 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cd481a3 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cdd7200 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x8cded4e9 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x8ce05225 make_kprojid +EXPORT_SYMBOL vmlinux 0x8d018f11 d_exact_alias +EXPORT_SYMBOL vmlinux 0x8d0408e1 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x8d0e25fd nvm_submit_io +EXPORT_SYMBOL vmlinux 0x8d18b23c twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x8d26a461 xfrm_state_free +EXPORT_SYMBOL vmlinux 0x8d42d513 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5c443c dev_open +EXPORT_SYMBOL vmlinux 0x8d6c2423 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d97cf7f backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8dc1827c phy_write_mmd +EXPORT_SYMBOL vmlinux 0x8dcac935 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8ddff43d dquot_disable +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +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 0x8e2a9691 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x8e49be63 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x8e4b337d configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e5aae6e write_inode_now +EXPORT_SYMBOL vmlinux 0x8e72a35b skb_pull +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e97a653 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x8ea3ab0b sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x8ea60013 skb_tx_error +EXPORT_SYMBOL vmlinux 0x8eab1ff2 dev_activate +EXPORT_SYMBOL vmlinux 0x8eb79206 eth_gro_complete +EXPORT_SYMBOL vmlinux 0x8ed5c536 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x8ee69e64 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x8ef9c0e8 load_nls +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f33795a d_alloc_anon +EXPORT_SYMBOL vmlinux 0x8f370f3c i2c_del_driver +EXPORT_SYMBOL vmlinux 0x8f39d08b get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x8f5f2099 nonseekable_open +EXPORT_SYMBOL vmlinux 0x8f60b0cf bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x8f68bef5 tty_lock +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fa68d85 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x8fad1c04 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x8fc9ea11 fman_port_cfg_buf_prefix_content +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fda6a7f __next_node_in +EXPORT_SYMBOL vmlinux 0x8fe3f5be bdev_read_only +EXPORT_SYMBOL vmlinux 0x8fe9e205 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x8ff58fe9 dquot_alloc +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x90176c72 seq_puts +EXPORT_SYMBOL vmlinux 0x901abbcc pci_write_config_word +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x902da036 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x902f5199 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x904b64d6 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x9054b5a1 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x90867b07 generic_listxattr +EXPORT_SYMBOL vmlinux 0x9087c4ba dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x90956cf6 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x909b978f remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x90a06771 sk_capable +EXPORT_SYMBOL vmlinux 0x90c431d3 __phy_resume +EXPORT_SYMBOL vmlinux 0x90c4bfd3 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x90c92021 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x90cc65c1 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x90ef9727 dump_truncate +EXPORT_SYMBOL vmlinux 0x90f615f3 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0x91295cbf dns_query +EXPORT_SYMBOL vmlinux 0x913898ec rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x91412775 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91747050 generic_make_request +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919ea0d0 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91b87fdb insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91c6ee1b nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x91dfaa14 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x91e676a0 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x91e7e9cd pskb_extract +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x9210d51d genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x9216b8dd security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x92199d23 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x922611d2 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x92402f14 simple_write_end +EXPORT_SYMBOL vmlinux 0x9245f3af __kfree_skb +EXPORT_SYMBOL vmlinux 0x924b4f34 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x92561b06 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x925e22b1 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x927a41f6 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x928ee442 put_watch_queue +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92b87d9e arp_tbl +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bde829 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x92cb747e scsi_host_put +EXPORT_SYMBOL vmlinux 0x92d9cdef iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0x92deff3d amba_driver_register +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92efed9b tty_port_hangup +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92fde250 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x93018fdb param_ops_string +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x93039bb1 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930d8d77 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x93354104 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x933a0f34 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x933e9ede input_allocate_device +EXPORT_SYMBOL vmlinux 0x93458b66 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x93546f6c dev_add_pack +EXPORT_SYMBOL vmlinux 0x935e5554 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93ad0913 current_in_userns +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93f2e9bc __break_lease +EXPORT_SYMBOL vmlinux 0x93fd8def flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x94049c93 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942a53ac phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x943091ac cdev_alloc +EXPORT_SYMBOL vmlinux 0x94334e63 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x944f3dbd input_open_device +EXPORT_SYMBOL vmlinux 0x945042cc d_instantiate +EXPORT_SYMBOL vmlinux 0x945220a9 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x9458cc2c unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x946c61ba del_gendisk +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94aa1fdb blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x94af1d39 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x94b47d58 build_skb +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c0d01e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x94dec6d2 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x94e48be4 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x94e56320 vif_device_init +EXPORT_SYMBOL vmlinux 0x94e9f28a mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x94ec6b40 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x94ed3647 dput +EXPORT_SYMBOL vmlinux 0x94f7943d skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x94fc8d93 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x94fdef66 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x950dd73c flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x950df37a no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x951056d0 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x9522f351 param_get_invbool +EXPORT_SYMBOL vmlinux 0x95271349 lru_cache_add +EXPORT_SYMBOL vmlinux 0x95310743 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x953e1342 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x954297c7 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954b69d8 dm_put_table_device +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x95722936 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x957aaf9d of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95a8147b xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x95d337ac scsi_block_requests +EXPORT_SYMBOL vmlinux 0x95e15aae mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x95f94d26 fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x96074fe4 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x9612486a devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x9624fa88 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x963c4120 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x963e590a param_get_int +EXPORT_SYMBOL vmlinux 0x96696517 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9688de8b memstart_addr +EXPORT_SYMBOL vmlinux 0x96adb0b6 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b5f8d4 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x96c0278f neigh_parms_release +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96cf9752 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x96d36f66 put_disk_and_module +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96e5f016 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x96fb29e4 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x9704d68a dquot_get_state +EXPORT_SYMBOL vmlinux 0x970c77b0 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x97141bc6 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x9757fb64 dev_change_flags +EXPORT_SYMBOL vmlinux 0x9767ee64 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x976b064e jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x9774fece tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x9775d9f0 iterate_dir +EXPORT_SYMBOL vmlinux 0x977ed224 vm_insert_page +EXPORT_SYMBOL vmlinux 0x977f511b __mutex_init +EXPORT_SYMBOL vmlinux 0x97819b7d __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x9790e240 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x97928819 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x979aab74 scsi_device_get +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b92249 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d2562e mmc_retune_release +EXPORT_SYMBOL vmlinux 0x97d75b9d netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x98122f4f sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x9813cd1c blkdev_fsync +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982fb24d bio_reset +EXPORT_SYMBOL vmlinux 0x9837c7f1 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x985482bd tcp_poll +EXPORT_SYMBOL vmlinux 0x986858b8 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x988bacb4 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x98aa9c17 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d1d056 padata_free +EXPORT_SYMBOL vmlinux 0x98ddc16c lock_page_memcg +EXPORT_SYMBOL vmlinux 0x98e141f2 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x98e1e3d0 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x98e22db1 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ea82a5 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x98ef90e2 __register_nls +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x991b06a0 vfs_statfs +EXPORT_SYMBOL vmlinux 0x991b6a2b tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x99223a7c vme_dma_request +EXPORT_SYMBOL vmlinux 0x9933b2ff vlan_for_each +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99409d20 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x9941d145 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a18b13 d_move +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d5e9b4 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x99d78ad0 seq_write +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99dd45d5 d_drop +EXPORT_SYMBOL vmlinux 0x99e60f64 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x99eacfaf ps2_drain +EXPORT_SYMBOL vmlinux 0x99f1eec4 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x99fe9920 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a25ff44 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x9a27ea37 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x9a2b12a5 fsl_ifc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x9a382235 user_path_create +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a646a06 input_match_device_id +EXPORT_SYMBOL vmlinux 0x9a692087 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a7fbe75 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x9a9276ef key_revoke +EXPORT_SYMBOL vmlinux 0x9a9617b5 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x9a9e0325 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x9aa0a107 of_dev_put +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9aaf1eec xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x9abf7734 cdev_init +EXPORT_SYMBOL vmlinux 0x9ac661d7 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x9acd508b iov_iter_npages +EXPORT_SYMBOL vmlinux 0x9adc286f sk_free +EXPORT_SYMBOL vmlinux 0x9afbeab8 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x9b08d3e3 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x9b0e1334 __scm_destroy +EXPORT_SYMBOL vmlinux 0x9b10b624 md_register_thread +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 0x9b3c4efc set_create_files_as +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4e107a dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x9b539ebb wake_up_process +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b846e52 __bforget +EXPORT_SYMBOL vmlinux 0x9b92f76c phy_driver_register +EXPORT_SYMBOL vmlinux 0x9b951420 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x9b981306 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x9ba6d138 fasync_helper +EXPORT_SYMBOL vmlinux 0x9bbd3823 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x9bc2411e block_read_full_page +EXPORT_SYMBOL vmlinux 0x9bc716ea gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x9bd006b1 inode_set_flags +EXPORT_SYMBOL vmlinux 0x9bdec7a6 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x9bf77ca7 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x9bf84e5d kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x9bf8c7b3 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x9c052fe1 set_security_override +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1e5bf5 queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x9c383806 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x9c50f284 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x9c6acd42 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x9c6c5a58 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x9c81b53a jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x9c8991d3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x9c8f8aa1 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x9c9043b4 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9ca03270 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x9ca05221 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cba8c28 serio_rescan +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd358f5 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x9cd378b7 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x9cd79ad5 fb_blank +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cf0a075 begin_new_exec +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d271469 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x9d2ce544 __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d3612e3 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0x9d399625 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d769874 pci_release_region +EXPORT_SYMBOL vmlinux 0x9d7c33e0 get_acl +EXPORT_SYMBOL vmlinux 0x9d815f4a ns_capable +EXPORT_SYMBOL vmlinux 0x9d839a92 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x9d885332 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x9d8f4f2c insert_inode_locked +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9da63eb2 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x9dbec908 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x9dd9f291 netdev_features_change +EXPORT_SYMBOL vmlinux 0x9de736cc of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x9decee39 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x9ded2453 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x9df21d0e qman_affine_channel +EXPORT_SYMBOL vmlinux 0x9dfab136 import_iovec +EXPORT_SYMBOL vmlinux 0x9dfe23f2 handle_edge_irq +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 0x9e2f184a vfs_mknod +EXPORT_SYMBOL vmlinux 0x9e328cbd rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5d43c8 cdev_device_del +EXPORT_SYMBOL vmlinux 0x9e5e750d node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x9e60097d unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6ce6bd tcf_action_exec +EXPORT_SYMBOL vmlinux 0x9e6da77e unpin_user_pages +EXPORT_SYMBOL vmlinux 0x9e6e365c ps2_begin_command +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e97699e pps_register_source +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea10cf8 sock_create_lite +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb6e4b4 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x9eba9f61 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x9ebc1552 irq_set_chip +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed2755e ppp_input +EXPORT_SYMBOL vmlinux 0x9ed7c847 brcmstb_get_family_id +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9f0da46f phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x9f1cb664 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x9f34d7a8 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x9f426274 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f49dcc4 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x9f4e99aa devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f5f955d d_lookup +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f7d7dbb logic_outsw +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9faa229c generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fb6be24 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x9fcd1bb5 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x9fdd8c85 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fdf6578 logfc +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa00d95eb ilookup +EXPORT_SYMBOL vmlinux 0xa0111585 vga_tryget +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa03024f4 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa054d095 abort_creds +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa0596e64 device_add_disk +EXPORT_SYMBOL vmlinux 0xa062e1aa dquot_acquire +EXPORT_SYMBOL vmlinux 0xa0661d83 rproc_put +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa0805341 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa086bf53 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xa092b593 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0978a7f dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xa097d996 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0d43d3d nf_hook_slow +EXPORT_SYMBOL vmlinux 0xa0d44ffe filemap_fdatawrite_range +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 0xa0f65961 filp_close +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10a14ff jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xa1139e21 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xa1192a4b inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12917ef of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xa13852db of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa13e780a gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xa13ffd88 processors +EXPORT_SYMBOL vmlinux 0xa14ead21 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa1873f75 kset_register +EXPORT_SYMBOL vmlinux 0xa187bcb1 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0xa188769c simple_release_fs +EXPORT_SYMBOL vmlinux 0xa1bff467 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xa1c492e2 simple_fill_super +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1ed90fb tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xa2035ac6 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa22e1b97 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa236f1cf kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xa23d3fa0 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xa24e2f9d ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa262af9e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xa26364da rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa27959ff bdi_alloc +EXPORT_SYMBOL vmlinux 0xa27c7a75 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2a06eba bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa2bf0bbc qdisc_put +EXPORT_SYMBOL vmlinux 0xa2ef4647 param_get_short +EXPORT_SYMBOL vmlinux 0xa2f64706 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0xa2f83f77 kobject_get +EXPORT_SYMBOL vmlinux 0xa339e6e5 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xa3533ade dm_register_target +EXPORT_SYMBOL vmlinux 0xa3578383 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xa363d845 request_key_rcu +EXPORT_SYMBOL vmlinux 0xa373e834 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xa3850bb6 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xa3921245 request_key_tag +EXPORT_SYMBOL vmlinux 0xa3921f2c dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xa3c4c592 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xa3cbb0da tcp_time_wait +EXPORT_SYMBOL vmlinux 0xa3ef579b inet_frags_init +EXPORT_SYMBOL vmlinux 0xa3f77063 tty_write_room +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4011b48 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xa40633db netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa41a40e1 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xa433cc7c pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xa4500675 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xa4596cf2 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xa47776b3 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xa47eae1f rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xa4a1a802 put_disk +EXPORT_SYMBOL vmlinux 0xa4a1f8e2 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0xa4aba651 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4d627b9 skb_queue_head +EXPORT_SYMBOL vmlinux 0xa4d94d63 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xa4ed7708 of_phy_attach +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa500253d vfs_fadvise +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa5755254 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xa580a68e generic_file_open +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa597954f xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5c1f658 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xa5cc2145 dma_cache_sync +EXPORT_SYMBOL vmlinux 0xa5e161cb bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xa5f5a216 fs_param_is_path +EXPORT_SYMBOL vmlinux 0xa5f69b58 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0xa5f7cf37 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xa5fbadfe blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xa60661be make_bad_inode +EXPORT_SYMBOL vmlinux 0xa60c2f97 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa64640a8 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xa64865e0 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0xa6737cfd dev_set_alias +EXPORT_SYMBOL vmlinux 0xa67dbc22 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa689551f watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xa68c5aa7 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0xa69508b7 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xa69ce3fc __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa6a4c8ff key_validate +EXPORT_SYMBOL vmlinux 0xa6ab2e40 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xa6b23e4d sk_stream_error +EXPORT_SYMBOL vmlinux 0xa6beaa8a __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xa6c45e92 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xa6cd0d6d tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa6cefec6 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xa6cfaef5 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xa6d6dc3a zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0xa6ddc284 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xa6e08a73 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa70e7cc0 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xa71acc92 fman_port_config +EXPORT_SYMBOL vmlinux 0xa7231a32 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0xa724a946 fput +EXPORT_SYMBOL vmlinux 0xa746f0e8 netlink_capable +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7638d59 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xa766be3c skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7af1c29 sget +EXPORT_SYMBOL vmlinux 0xa7b43617 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7df5022 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7efb070 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xa7f0deee skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa7f3ae95 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xa7fedfa0 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84cc8e6 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa8501d2f eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8718951 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xa87a87fc read_cache_page +EXPORT_SYMBOL vmlinux 0xa886af97 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8ae72ca jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xa8c2225a blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xa8c98ff1 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8ea26e7 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8fbdc2f ip_frag_init +EXPORT_SYMBOL vmlinux 0xa905cef7 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa920063c simple_readpage +EXPORT_SYMBOL vmlinux 0xa92678c6 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0xa929b888 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa9391684 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xa943ebdc jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xa950f829 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa9674db3 blk_queue_split +EXPORT_SYMBOL vmlinux 0xa96c97bd page_readlink +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa99cd943 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0xa9a9ff51 pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0xa9abb892 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xa9de0470 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xa9e8ae65 of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0xa9f32e22 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xa9f92899 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xa9fd785b skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa02f8ad tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xaa0b1e62 tso_start +EXPORT_SYMBOL vmlinux 0xaa2bfe73 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xaa314be7 __sb_end_write +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa34c445 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa73a904 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xaa831770 tty_devnum +EXPORT_SYMBOL vmlinux 0xaa90537d pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xaa934ef2 ping_prot +EXPORT_SYMBOL vmlinux 0xaa959f2f scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xaa9bc4d7 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa5cba0 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xaaa82479 sg_miter_next +EXPORT_SYMBOL vmlinux 0xaabd9fef mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xaac40bb2 security_d_instantiate +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 0xaae485c9 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xaae5d00f generic_update_time +EXPORT_SYMBOL vmlinux 0xaae74f81 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaafac5c9 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1b32aa tty_hangup +EXPORT_SYMBOL vmlinux 0xab1ca205 tcf_classify +EXPORT_SYMBOL vmlinux 0xab21a80f of_node_get +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab4b4c33 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0xab4e0572 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab771a49 __module_get +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xaba81805 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0xabce1c7e sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xabcf27ed security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0xabd8981b d_find_alias +EXPORT_SYMBOL vmlinux 0xabee21ad block_write_end +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac1374ef page_pool_create +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1fdad2 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac37277a kernel_getsockname +EXPORT_SYMBOL vmlinux 0xac483cdf blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0xac4a1707 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac68f7a4 netdev_info +EXPORT_SYMBOL vmlinux 0xac745b65 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xac755761 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0xac7f0a1c md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac92bf22 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xac9642b0 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xac9d94a8 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xaca1e341 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xaca9d62a _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacadacc9 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xacaf8c24 sync_inode +EXPORT_SYMBOL vmlinux 0xacb8eebd neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xacc1ff0d qman_volatile_dequeue +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacdb3d6c kernel_param_lock +EXPORT_SYMBOL vmlinux 0xace120d3 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xace16fb1 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad13b53a tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xad3ea04c qman_p_irqsource_remove +EXPORT_SYMBOL vmlinux 0xad528ac3 mmc_command_done +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 0xad7c8ef7 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xad81f4fa lookup_bdev +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadcdbc08 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xade98904 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0xadecd134 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae1303e3 __destroy_inode +EXPORT_SYMBOL vmlinux 0xae1e0552 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae33c403 xudma_navss_psil_unpair +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae742bb5 qman_enqueue +EXPORT_SYMBOL vmlinux 0xae7e3a35 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xae91b8c3 dm_io +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeafed3e compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xaeb278ef netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaeda6c82 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xaee6eba3 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xaef637ab mmc_add_host +EXPORT_SYMBOL vmlinux 0xaef97b51 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xaf07912b phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xaf11caa9 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xaf2b0460 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0xaf38b40d tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf507de1 __arch_copy_from_user +EXPORT_SYMBOL vmlinux 0xaf56600a arm64_use_ng_mappings +EXPORT_SYMBOL vmlinux 0xaf567d0f of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xaf7d6ed5 sock_efree +EXPORT_SYMBOL vmlinux 0xaf884fff rproc_alloc +EXPORT_SYMBOL vmlinux 0xafa591ab cdev_set_parent +EXPORT_SYMBOL vmlinux 0xafae0e9d scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xafae7712 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xafc0f8f5 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xafc39043 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xafed626c __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb01db0e9 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xb0349726 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xb041ef60 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xb0423fda drop_nlink +EXPORT_SYMBOL vmlinux 0xb04349b8 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xb05f78b1 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061a98a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb06ed79d udp_seq_stop +EXPORT_SYMBOL vmlinux 0xb06fd1e6 __d_lookup_done +EXPORT_SYMBOL vmlinux 0xb0825d96 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xb08e6fc1 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xb08f9b53 rpmh_write_async +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a3373e dev_remove_offload +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb0ffd363 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xb103dfbe init_net +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb116d312 scsi_partsize +EXPORT_SYMBOL vmlinux 0xb11c5010 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0xb120c599 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb13b5800 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb1689f17 release_sock +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb18502b1 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xb18da237 simple_write_begin +EXPORT_SYMBOL vmlinux 0xb19c960f __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1bd1448 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1d1d060 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xb1db9a69 fsl_ifc_find +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb20962ce param_array_ops +EXPORT_SYMBOL vmlinux 0xb20c8666 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xb20e76d5 fman_get_mem_region +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23704bf neigh_destroy +EXPORT_SYMBOL vmlinux 0xb23bc4b1 __skb_checksum +EXPORT_SYMBOL vmlinux 0xb2459eb5 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xb24dedd0 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xb2677a00 rproc_del +EXPORT_SYMBOL vmlinux 0xb27012b8 pci_read_config_word +EXPORT_SYMBOL vmlinux 0xb27ffc43 i2c_transfer +EXPORT_SYMBOL vmlinux 0xb281ba19 seq_file_path +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2ead97c kimage_vaddr +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f870ae __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb30e7af5 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0xb31e122e __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb335bfd1 set_binfmt +EXPORT_SYMBOL vmlinux 0xb3443852 set_blocksize +EXPORT_SYMBOL vmlinux 0xb34a12fd netif_rx_ni +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb38501f4 touch_buffer +EXPORT_SYMBOL vmlinux 0xb38536d1 bioset_exit +EXPORT_SYMBOL vmlinux 0xb386eda1 nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0xb39741ef ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xb3b2df85 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d21e71 new_inode +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3d5b61b ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xb3e65402 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xb3ea3106 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0xb3f415d6 bdi_register +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3fb648d devm_memunmap +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4296653 param_set_bool +EXPORT_SYMBOL vmlinux 0xb43d5766 alloc_pages_current +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb46ecfec netif_carrier_off +EXPORT_SYMBOL vmlinux 0xb48a3880 keyring_search +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4909713 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xb496b342 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb4b19225 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xb4c3fd69 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb4d4b390 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f4fd1b register_console +EXPORT_SYMBOL vmlinux 0xb5019a01 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xb50c9e25 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xb52adf46 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb5451340 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xb5613edb config_group_find_item +EXPORT_SYMBOL vmlinux 0xb56fe6d7 generic_perform_write +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57f1e27 fman_port_disable +EXPORT_SYMBOL vmlinux 0xb58779a9 serio_bus +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb58f55fc nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b990ec flush_dcache_page +EXPORT_SYMBOL vmlinux 0xb5bdfbe7 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xb5befd79 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xb5c685e2 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb61a7d38 mpage_writepage +EXPORT_SYMBOL vmlinux 0xb62db4ea dump_align +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6448cf1 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb676cd0b qman_create_fq +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67caf65 ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6868bb5 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xb6892268 nd_btt_version +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb699ba5b xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xb6a01cf3 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a79ef7 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6ace83d kern_unmount +EXPORT_SYMBOL vmlinux 0xb6c17ab6 put_devmap_managed_page +EXPORT_SYMBOL vmlinux 0xb6df5b78 netdev_crit +EXPORT_SYMBOL vmlinux 0xb6ef2a03 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xb700836a phy_get_eee_err +EXPORT_SYMBOL vmlinux 0xb70e4519 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb7403e4c sock_no_accept +EXPORT_SYMBOL vmlinux 0xb75357c2 put_ipc_ns +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb788fb30 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xb78bcc29 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb791c37e __quota_error +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7cd8b0e tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0xb817c08d set_anon_super +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb8398b2e pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb85b70c9 load_nls_default +EXPORT_SYMBOL vmlinux 0xb8605d9c qman_p_static_dequeue_add +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86daf5d commit_creds +EXPORT_SYMBOL vmlinux 0xb877eed4 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xb877fb46 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb89e43f2 qman_query_fq_np +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b13d26 dev_uc_init +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8c2ea2d param_get_bool +EXPORT_SYMBOL vmlinux 0xb8cfbdee tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xb8fcf394 fb_find_mode +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb90c43bd seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb912c1cb mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xb914b216 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xb9358b89 register_cdrom +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9440898 __skb_get_hash +EXPORT_SYMBOL vmlinux 0xb961b08e vm_map_ram +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb975957f of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0xb97ef779 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xb9823f1c pci_fixup_device +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9b1ffc9 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0xb9d77481 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9efe507 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xb9fb7265 inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xb9fd7e99 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0xba0610bf reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba2634fa rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xba27fe62 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xba35817e kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0xba36a55f __scsi_execute +EXPORT_SYMBOL vmlinux 0xba441d21 kset_unregister +EXPORT_SYMBOL vmlinux 0xba44c602 vfs_create +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba5ca4f9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xba60642d input_reset_device +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba79c731 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xba8dc06d ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xba94d9c0 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xba96d165 elv_rb_del +EXPORT_SYMBOL vmlinux 0xba99e161 netif_device_attach +EXPORT_SYMBOL vmlinux 0xbaa9c170 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xbabb68f7 netlink_set_err +EXPORT_SYMBOL vmlinux 0xbabe017b jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xbac9c9f6 add_random_ready_callback +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbaf5a882 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb02659b iterate_fd +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb21260e convert_ifc_address +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb257483 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb48713e send_sig_info +EXPORT_SYMBOL vmlinux 0xbb4bcfac setup_new_exec +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb62b512 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xbb687724 bman_new_pool +EXPORT_SYMBOL vmlinux 0xbb75eea0 key_type_keyring +EXPORT_SYMBOL vmlinux 0xbb83526e __put_page +EXPORT_SYMBOL vmlinux 0xbb8530c2 eth_header_cache +EXPORT_SYMBOL vmlinux 0xbb8bfc59 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xbb8e19a1 register_fib_notifier +EXPORT_SYMBOL vmlinux 0xbba24dda ppp_dev_name +EXPORT_SYMBOL vmlinux 0xbba4ea0c __sock_create +EXPORT_SYMBOL vmlinux 0xbbaa1931 free_buffer_head +EXPORT_SYMBOL vmlinux 0xbbb1c93f netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbbbcc0a5 uart_register_driver +EXPORT_SYMBOL vmlinux 0xbbc39b0f scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf0d86f generic_permission +EXPORT_SYMBOL vmlinux 0xbc07b4bf of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xbc0e36c9 qman_start_using_portal +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc32be3a jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xbc544f3d udp_gro_complete +EXPORT_SYMBOL vmlinux 0xbc947bd2 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xbc95e9df jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0xbc9c3549 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc30c77 find_lock_entry +EXPORT_SYMBOL vmlinux 0xbcdf8985 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbce7b0ce pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xbcf4fa21 inet_protos +EXPORT_SYMBOL vmlinux 0xbcf5cb13 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xbcfc8a85 udp_seq_next +EXPORT_SYMBOL vmlinux 0xbcfce973 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xbd018123 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xbd25e08c cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd4c78f2 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xbd4d6934 scsi_compat_ioctl +EXPORT_SYMBOL vmlinux 0xbd638e02 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd915682 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xbd943c92 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xbda87a67 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xbdabd587 file_update_time +EXPORT_SYMBOL vmlinux 0xbdae13df fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0xbdc00028 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xbdc6f9e0 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0xbde0e3e6 sock_init_data +EXPORT_SYMBOL vmlinux 0xbdec1436 nf_log_trace +EXPORT_SYMBOL vmlinux 0xbdf842bb iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xbdff4160 mount_bdev +EXPORT_SYMBOL vmlinux 0xbe2cb6dc mmc_register_driver +EXPORT_SYMBOL vmlinux 0xbe371d89 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4bc5e5 md_bitmap_update_sb +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 0xbe7e05a8 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xbe9c4131 eth_header_parse +EXPORT_SYMBOL vmlinux 0xbea5c1f2 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xbeb23484 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xbebd413c devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xbed0a63d scsi_host_busy +EXPORT_SYMBOL vmlinux 0xbed172d7 take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xbed5d8b2 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xbedaa995 vme_bus_num +EXPORT_SYMBOL vmlinux 0xbee432b5 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xbee9e764 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbf04bcda bd_start_claiming +EXPORT_SYMBOL vmlinux 0xbf09450a devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xbf129bc0 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0xbf1d8c22 pci_set_master +EXPORT_SYMBOL vmlinux 0xbf31e0e1 account_page_redirty +EXPORT_SYMBOL vmlinux 0xbf46f4b1 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0xbf49252f mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xbf4e3fba fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xbf51a581 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf680f20 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xbf691f68 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xbf868958 of_device_alloc +EXPORT_SYMBOL vmlinux 0xbf91a58d sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xbf9b84bf get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfb76e71 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc025d405 seq_lseek +EXPORT_SYMBOL vmlinux 0xc030d837 netlink_unicast +EXPORT_SYMBOL vmlinux 0xc03ca24b mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xc04b9012 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc07d32a8 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0xc08e7280 key_link +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc09c8cbb setup_arg_pages +EXPORT_SYMBOL vmlinux 0xc0a15ec0 km_query +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a8e286 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0daade7 sunxi_sram_release +EXPORT_SYMBOL vmlinux 0xc0e0a560 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0xc0ec6315 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc140e663 blk_register_region +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc156c981 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xc1579516 fman_port_enable +EXPORT_SYMBOL vmlinux 0xc16396ab udp_prot +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc164a51c keygen_init +EXPORT_SYMBOL vmlinux 0xc164e3f6 config_item_set_name +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc1711529 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc184018c pci_remove_bus +EXPORT_SYMBOL vmlinux 0xc1938c6a devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0xc1946e88 compat_import_iovec +EXPORT_SYMBOL vmlinux 0xc1afe89a padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xc1b0d2e4 tcp_check_req +EXPORT_SYMBOL vmlinux 0xc1b8370e blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xc1ba912a dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xc1be8174 kfree_skb_list +EXPORT_SYMBOL vmlinux 0xc1c9026a discard_new_inode +EXPORT_SYMBOL vmlinux 0xc1ccd290 register_gifconf +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1d9e8b0 rproc_shutdown +EXPORT_SYMBOL vmlinux 0xc1ef984b bio_devname +EXPORT_SYMBOL vmlinux 0xc1f3dcc9 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xc1f66031 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xc1f9de9b dst_destroy +EXPORT_SYMBOL vmlinux 0xc1faa880 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xc2050974 fman_port_get_tstamp +EXPORT_SYMBOL vmlinux 0xc20bb2bd inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xc2310cdc logic_inl +EXPORT_SYMBOL vmlinux 0xc261a886 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc26c45ce pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xc2808248 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a17ebe seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xc2ac51d0 __put_cred +EXPORT_SYMBOL vmlinux 0xc2be743d fman_unregister_intr +EXPORT_SYMBOL vmlinux 0xc2d627b7 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xc2e4c9f5 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e83d41 sock_bind_add +EXPORT_SYMBOL vmlinux 0xc2f11eac meson_sm_call_read +EXPORT_SYMBOL vmlinux 0xc2f41f69 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc305e322 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc30b371c lease_modify +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc324fdd9 inet6_protos +EXPORT_SYMBOL vmlinux 0xc3277547 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc32f07ee __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc3478a77 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xc34ac0df pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc36e6e31 pipe_unlock +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc39a2a32 file_remove_privs +EXPORT_SYMBOL vmlinux 0xc39f22f6 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xc3a50e6d security_path_rename +EXPORT_SYMBOL vmlinux 0xc3b75d7b end_page_writeback +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3bd9e19 get_disk_and_module +EXPORT_SYMBOL vmlinux 0xc3d0c694 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xc3e2cb1e fman_port_get_device +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc40a2d58 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc41bef29 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42b1c5a add_watch_to_object +EXPORT_SYMBOL vmlinux 0xc42bfdf6 inet_release +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc4387caf dma_find_channel +EXPORT_SYMBOL vmlinux 0xc43951b6 __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xc43d9a60 d_alloc +EXPORT_SYMBOL vmlinux 0xc454923b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc45c9152 locks_init_lock +EXPORT_SYMBOL vmlinux 0xc4627155 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xc467dec2 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4826bf7 iptun_encaps +EXPORT_SYMBOL vmlinux 0xc49c78d8 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xc4a2d223 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xc4a9ab4f devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xc4b21d2f qman_get_affine_portal +EXPORT_SYMBOL vmlinux 0xc4b70815 __brelse +EXPORT_SYMBOL vmlinux 0xc4ca3997 kern_path +EXPORT_SYMBOL vmlinux 0xc4d117af sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xc4dff608 generic_fadvise +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc53ce83e mark_info_dirty +EXPORT_SYMBOL vmlinux 0xc53d81d0 iproc_msi_init +EXPORT_SYMBOL vmlinux 0xc53dca4a pci_clear_master +EXPORT_SYMBOL vmlinux 0xc561186b __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xc56a41e6 vabits_actual +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc595027d input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59d25e3 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xc5a7da88 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xc5a90ef7 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xc5b19c8c netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5d85f97 get_tree_nodev +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5ff0082 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63a26e9 stop_tty +EXPORT_SYMBOL vmlinux 0xc64529ac netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xc652072b seq_release_private +EXPORT_SYMBOL vmlinux 0xc656d73c blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc667f415 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc67d4ff7 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xc68ba660 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xc69ebb02 rpmh_write_batch +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6ce2bb3 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6fd3722 audit_log +EXPORT_SYMBOL vmlinux 0xc7040bf5 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0xc7083f92 pci_find_bus +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc731b295 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xc766fbb2 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xc7802e44 inet6_release +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856911 sync_filesystem +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc78e0ba8 pci_request_regions +EXPORT_SYMBOL vmlinux 0xc793be67 cdev_device_add +EXPORT_SYMBOL vmlinux 0xc796373a twl6040_power +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ba322c noop_qdisc +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c3b7a9 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xc7cbd7e3 iput +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc82046d0 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85634ef ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc87823d2 ps2_end_command +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc89846c4 xudma_tchanrt_read +EXPORT_SYMBOL vmlinux 0xc8999bfa bio_split +EXPORT_SYMBOL vmlinux 0xc8a13087 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0xc8a71935 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b0835e rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0xc8cc1243 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xc8dee202 nvm_unregister +EXPORT_SYMBOL vmlinux 0xc8e7622c inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0xc8fd2510 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xc91178b2 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xc9138ed9 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xc91e90dd pci_match_id +EXPORT_SYMBOL vmlinux 0xc934307d md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc95076f4 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xc952eb85 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc9957204 __arch_copy_in_user +EXPORT_SYMBOL vmlinux 0xc99bed96 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a5bf4d inet6_add_offload +EXPORT_SYMBOL vmlinux 0xc9b432e5 fb_set_cmap +EXPORT_SYMBOL vmlinux 0xc9b821dd kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xc9d004b1 proc_set_user +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xca0976ec kobject_add +EXPORT_SYMBOL vmlinux 0xca09b3a5 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca29f417 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xca2b5fe0 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca62afaf xudma_rflow_is_gp +EXPORT_SYMBOL vmlinux 0xca64adeb kmem_cache_free +EXPORT_SYMBOL vmlinux 0xca7f21a5 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0xca91ad34 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xca9e8f10 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xcaa231dd locks_free_lock +EXPORT_SYMBOL vmlinux 0xcaa9cef7 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xcaac19c3 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0xcab8090e simple_unlink +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcaf5eb77 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb052230 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xcb17df99 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xcb20f401 pcie_set_mps +EXPORT_SYMBOL vmlinux 0xcb2b8c32 pmem_sector_size +EXPORT_SYMBOL vmlinux 0xcb39290d mpage_readpage +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb57c269 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0xcb595e5b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xcb64f0c5 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xcb6709a6 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb76cccf xp_can_alloc +EXPORT_SYMBOL vmlinux 0xcb9e1a22 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcba75e74 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xcbaa3716 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xcbc2fbaf pid_task +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc02a754 kthread_bind +EXPORT_SYMBOL vmlinux 0xcc03a0cf simple_open +EXPORT_SYMBOL vmlinux 0xcc0a348e tcf_em_register +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc35c701 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc48f9c4 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc611c70 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xcc6f3dec __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xcc6feec1 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xcc9f6689 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xcca583fd of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xcca9ad64 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xccad61bd devm_ioremap +EXPORT_SYMBOL vmlinux 0xccbe28e6 dst_release_immediate +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccca242b freeze_super +EXPORT_SYMBOL vmlinux 0xcccf2e36 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xccd210a6 get_cached_acl +EXPORT_SYMBOL vmlinux 0xccd23c06 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xccf93525 md_done_sync +EXPORT_SYMBOL vmlinux 0xccf9bc8f pci_wait_for_pending_transaction +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 0xcd03d068 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xcd09538a vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xcd0f6bae xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd2714c4 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd417125 serio_interrupt +EXPORT_SYMBOL vmlinux 0xcd7e37ee seq_dentry +EXPORT_SYMBOL vmlinux 0xcd81eaf0 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcda8c48d configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xcda91691 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xcdac7bf3 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0xcdb16108 copy_string_kernel +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcde639cb phy_device_remove +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdfb44fe flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xcdfd2df3 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xce036f24 sg_split +EXPORT_SYMBOL vmlinux 0xce072d80 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xce1d213e udp_ioctl +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2a9847 phy_drivers_register +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce3eb895 kernel_accept +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6208a3 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0xce642f3c ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xce6477b2 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce7ca926 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce8e65c8 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xce9c48ac sync_file_create +EXPORT_SYMBOL vmlinux 0xcea0ba41 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xcea2671f mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceadc950 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xceb74a92 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xceb8c8e9 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xcec9a553 __devm_request_region +EXPORT_SYMBOL vmlinux 0xcece966a generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced1184c set_groups +EXPORT_SYMBOL vmlinux 0xcedc93cc override_creds +EXPORT_SYMBOL vmlinux 0xcee3bd40 poll_freewait +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefb2bdd rproc_get_by_child +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcefedd50 tso_count_descs +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf27f912 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf31c6ab of_node_name_prefix +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf668027 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xcf681e74 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xcf68a2ca __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xcf6eab0d nd_pfn_probe +EXPORT_SYMBOL vmlinux 0xcf71d032 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xcf7eae19 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xcf83d83a __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xcf83f68e tcp_connect +EXPORT_SYMBOL vmlinux 0xcf9823f8 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa5eb07 kernel_connect +EXPORT_SYMBOL vmlinux 0xcfb159de zap_page_range +EXPORT_SYMBOL vmlinux 0xcfe306b4 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xcfe36872 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0xcfeb98a8 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xcffa119f param_ops_charp +EXPORT_SYMBOL vmlinux 0xcffd094f __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xd003985e pci_set_mwi +EXPORT_SYMBOL vmlinux 0xd0096e26 param_ops_invbool +EXPORT_SYMBOL vmlinux 0xd0249266 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd02b24f9 amba_device_unregister +EXPORT_SYMBOL vmlinux 0xd0409a86 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd054f46d prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06872fd pnp_register_driver +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd092398e acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xd098f476 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xd0a05eea security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xd0a73907 clkdev_add +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0f7067d should_remove_suid +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd112b56f security_path_mknod +EXPORT_SYMBOL vmlinux 0xd11c30a4 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd11c7fb4 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xd120e48f seq_path +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd16a702b compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd185aaef xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xd18a946a pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd19f29fd ps2_init +EXPORT_SYMBOL vmlinux 0xd1bc3f63 tty_throttle +EXPORT_SYMBOL vmlinux 0xd1bdfae5 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0xd1d313c6 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xd1d61a5c xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e88f5d pci_get_class +EXPORT_SYMBOL vmlinux 0xd1f1beaa of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xd1ffa04f disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd2093b6b mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xd2120252 rtc_add_group +EXPORT_SYMBOL vmlinux 0xd215ee4a dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xd216060d security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd23c6173 ata_link_printk +EXPORT_SYMBOL vmlinux 0xd24cd408 xattr_full_name +EXPORT_SYMBOL vmlinux 0xd255653c done_path_create +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26264a9 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2847eb9 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xd296a72f pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xd297bac8 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0xd29ebaab jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xd2a6c50e filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd2b0d2bf ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xd2b1992d neigh_update +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2d728ba input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2212c fb_validate_mode +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2f3a5ad icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xd306dfbb mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3559ef4 __memset +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37338c5 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0xd3823773 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xd38368a2 sock_no_listen +EXPORT_SYMBOL vmlinux 0xd390a0db devm_register_netdev +EXPORT_SYMBOL vmlinux 0xd3afd633 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xd3b9cfd4 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0xd3c8b783 __neigh_create +EXPORT_SYMBOL vmlinux 0xd3cd1f68 pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0xd3ce0b03 empty_aops +EXPORT_SYMBOL vmlinux 0xd3d43d48 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xd3dc8b3f d_add +EXPORT_SYMBOL vmlinux 0xd3e743cd neigh_direct_output +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3fba534 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xd3ffeeec clear_nlink +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd4191573 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xd425212e param_set_short +EXPORT_SYMBOL vmlinux 0xd42dfabf i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd4339de8 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd4610c7b gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xd47148a1 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd4a164f0 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xd4a22d88 dquot_quota_off +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 0xd4d969e7 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4feb087 pci_get_slot +EXPORT_SYMBOL vmlinux 0xd5027eb3 kernel_read +EXPORT_SYMBOL vmlinux 0xd515cb8b inet_offloads +EXPORT_SYMBOL vmlinux 0xd516f263 inet_listen +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd52c0f90 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xd531484a pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd5356e0f netdev_err +EXPORT_SYMBOL vmlinux 0xd53e77d2 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xd5416a58 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xd58055ad vga_put +EXPORT_SYMBOL vmlinux 0xd5877b44 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xd589a620 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xd5989406 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xd59d9ed6 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5b75def param_get_long +EXPORT_SYMBOL vmlinux 0xd5c21823 simple_empty +EXPORT_SYMBOL vmlinux 0xd5d61d2a ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xd5d8ddc8 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xd5dc201c ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xd5f27a52 tty_port_close +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd5ffcdce __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xd60270a6 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd609c2ba pcim_iomap +EXPORT_SYMBOL vmlinux 0xd60a14b0 stream_open +EXPORT_SYMBOL vmlinux 0xd62360b8 iunique +EXPORT_SYMBOL vmlinux 0xd624cc35 fqdir_exit +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd66b0206 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xd677e7a5 of_get_compatible_child +EXPORT_SYMBOL vmlinux 0xd67c80e7 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd69e0061 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xd6a2025c proc_mkdir +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6aeb22f in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xd6b19c32 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xd6bda92f scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xd6d50fbc ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xd6d69970 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd709fe13 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd721efc7 acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd7448522 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xd74e6f62 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xd75dc57a generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xd76451ea do_SAK +EXPORT_SYMBOL vmlinux 0xd7679913 single_open +EXPORT_SYMBOL vmlinux 0xd77f79c3 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xd789dbb0 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xd7936ef5 rtc_add_groups +EXPORT_SYMBOL vmlinux 0xd79f0f79 input_setup_polling +EXPORT_SYMBOL vmlinux 0xd7a13778 path_put +EXPORT_SYMBOL vmlinux 0xd7a16ff2 neigh_table_init +EXPORT_SYMBOL vmlinux 0xd7a7e7f8 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xd7b095fc fiemap_prep +EXPORT_SYMBOL vmlinux 0xd7b3c7e6 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0xd7ca6dea sk_wait_data +EXPORT_SYMBOL vmlinux 0xd7ce1323 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xd7cf74f0 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xd7d1fb40 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d46db8 console_stop +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e750dd flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd8131274 qman_alloc_cgrid_range +EXPORT_SYMBOL vmlinux 0xd82609ab alloc_pages_vma +EXPORT_SYMBOL vmlinux 0xd828f063 xudma_tchanrt_write +EXPORT_SYMBOL vmlinux 0xd83bec83 genl_register_family +EXPORT_SYMBOL vmlinux 0xd83d6042 mdiobus_free +EXPORT_SYMBOL vmlinux 0xd84410ad audit_log_start +EXPORT_SYMBOL vmlinux 0xd846d602 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xd85b0eeb to_nd_dax +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd870f0c6 add_to_pipe +EXPORT_SYMBOL vmlinux 0xd883aeba unlock_buffer +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a661f5 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8a9c2b4 sock_no_bind +EXPORT_SYMBOL vmlinux 0xd8b350cf serio_reconnect +EXPORT_SYMBOL vmlinux 0xd8b6fd43 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xd8c7daa2 send_sig +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8e04036 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xd8fa3fa8 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xd8fc0cf7 tty_port_put +EXPORT_SYMBOL vmlinux 0xd901c129 import_single_range +EXPORT_SYMBOL vmlinux 0xd9049c2c mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd91a9682 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd9350f3b i2c_clients_command +EXPORT_SYMBOL vmlinux 0xd94124fb skb_put +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd9774e0a __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xd9797cb2 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xd97b35d1 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98a0667 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xd99a6b3a ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9bf1dca dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xd9d45eaf inode_init_always +EXPORT_SYMBOL vmlinux 0xd9d71238 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e02055 block_write_full_page +EXPORT_SYMBOL vmlinux 0xd9e8aee7 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xda01ce60 amba_device_register +EXPORT_SYMBOL vmlinux 0xda064c0a ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xda10443c xudma_tchan_get_id +EXPORT_SYMBOL vmlinux 0xda1a2d4f pci_assign_resource +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda693eb2 of_xudma_dev_get +EXPORT_SYMBOL vmlinux 0xda6abcab blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda7d1e33 file_open_root +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda900f62 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaae2093 simple_setattr +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdae72764 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xdaed0dfd mdio_device_reset +EXPORT_SYMBOL vmlinux 0xdaee51cc remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xdaeeda42 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xdafedb64 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xdb05a82a find_inode_nowait +EXPORT_SYMBOL vmlinux 0xdb22f32d tty_port_open +EXPORT_SYMBOL vmlinux 0xdb241dad dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xdb2dcdde sock_no_mmap +EXPORT_SYMBOL vmlinux 0xdb34e855 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xdb472b17 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xdb55c076 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xdb55e4d4 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb82a241 nf_log_register +EXPORT_SYMBOL vmlinux 0xdb996c93 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xdbb10e78 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xdbc61149 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe86399 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xdbf0e874 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xdc02c140 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xdc07eb77 iov_iter_revert +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1d518d path_has_submounts +EXPORT_SYMBOL vmlinux 0xdc241c42 vfs_getattr +EXPORT_SYMBOL vmlinux 0xdc2e90aa __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xdc331d44 phy_init_hw +EXPORT_SYMBOL vmlinux 0xdc34158f fman_port_init +EXPORT_SYMBOL vmlinux 0xdc3d62ae generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc8869f8 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xdc96c0e0 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xdc98c7c2 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xdc9d3d83 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xdc9dcdd0 of_match_device +EXPORT_SYMBOL vmlinux 0xdca38ef7 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xdca8c3d4 logic_outb +EXPORT_SYMBOL vmlinux 0xdcb1067e fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc76372 vfs_readlink +EXPORT_SYMBOL vmlinux 0xdcd6c69b sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xdd076492 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xdd07bff7 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xdd0d3767 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd19db1d dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0xdd282a36 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd572d07 dev_mc_init +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd6bc9b0 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xdd73369a kernel_write +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd825416 simple_lookup +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdda7d27b mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xdda7d82d tcf_idr_create +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xdded025e __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xddf073ae inet6_ioctl +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde2ab240 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xde3fb0d5 fsync_bdev +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde7912bf mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xde7ac8a9 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xde89adab xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xde968b0d sock_set_priority +EXPORT_SYMBOL vmlinux 0xdea5b108 __seq_open_private +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded6a415 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xded7154f rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0xdee365b0 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0xdef2ddcc datagram_poll +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf050b1e key_move +EXPORT_SYMBOL vmlinux 0xdf05f7c6 param_get_uint +EXPORT_SYMBOL vmlinux 0xdf1c0c44 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xdf2214fc phy_device_register +EXPORT_SYMBOL vmlinux 0xdf28ccdc revert_creds +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf42e5f0 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf5a082a nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfa3a80e flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xdfacc647 kobject_del +EXPORT_SYMBOL vmlinux 0xdfb0201a neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xdfb13eac dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdfb14029 down_read_killable +EXPORT_SYMBOL vmlinux 0xdfb692a2 km_state_notify +EXPORT_SYMBOL vmlinux 0xdfc7e7c9 current_time +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe239fa mdio_bus_type +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe013c243 padata_free_shell +EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe03533e6 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe04ca325 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xe0608310 phy_start +EXPORT_SYMBOL vmlinux 0xe06c8c24 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xe07aa2ea mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe08f15bd page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe0905577 __skb_pad +EXPORT_SYMBOL vmlinux 0xe09083be filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xe0921d1c pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xe0944ecb udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe096e7ef eth_get_headlen +EXPORT_SYMBOL vmlinux 0xe09c1905 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0xe09f7e77 nf_log_set +EXPORT_SYMBOL vmlinux 0xe09fcc35 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b9b3ff max8925_reg_write +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0c4908a blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xe0c837b4 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xe0f20402 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0xe0f93b84 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe114c0bf send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12b62da simple_transaction_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe12de666 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe148baf7 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xe16b12e0 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xe184c2fc dquot_initialize +EXPORT_SYMBOL vmlinux 0xe18eb273 inet_frag_find +EXPORT_SYMBOL vmlinux 0xe196ad8d sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0xe19a7207 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xe19dcb25 proc_create_data +EXPORT_SYMBOL vmlinux 0xe1a3e75b __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xe1a4649d mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1a86240 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xe1be343f kernel_bind +EXPORT_SYMBOL vmlinux 0xe1d6367f of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e096e6 is_subdir +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1f0e597 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xe2188427 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xe21dd2a5 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe221dd0a iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0xe2270991 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xe234fe6b dev_uc_del +EXPORT_SYMBOL vmlinux 0xe23793df migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xe24cabeb user_path_at_empty +EXPORT_SYMBOL vmlinux 0xe24daa69 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xe2549faa skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe294e5ea pci_read_config_byte +EXPORT_SYMBOL vmlinux 0xe29dc5a2 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xe2a6979c security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xe2b540ca path_is_under +EXPORT_SYMBOL vmlinux 0xe2c01117 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2e3e0e7 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xe2e70ebd devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xe2e93c56 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xe2f81a2a ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe3122ee0 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xe31d3e0e zpool_register_driver +EXPORT_SYMBOL vmlinux 0xe3268ec0 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe3350053 follow_pfn +EXPORT_SYMBOL vmlinux 0xe33ba062 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xe34ff51f scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe35d26cc flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0xe35e8406 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0xe37d7f97 __mdiobus_register +EXPORT_SYMBOL vmlinux 0xe37e032b mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0xe38606f7 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xe3ac5e08 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xe3b2cf66 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xe3e93f2a mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f2e725 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe41807ba mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0xe420c2db seq_open +EXPORT_SYMBOL vmlinux 0xe42ed0b8 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe4357c15 imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0xe43c1d7f mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe457d6d7 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xe45df457 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xe496212c __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xe49f2ab2 __find_get_block +EXPORT_SYMBOL vmlinux 0xe4ad3015 generic_write_end +EXPORT_SYMBOL vmlinux 0xe4bbc1dd kimage_voffset +EXPORT_SYMBOL vmlinux 0xe4cc7b8e page_mapped +EXPORT_SYMBOL vmlinux 0xe5110417 __lock_page +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe524cab3 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xe5310cdb ip_options_compile +EXPORT_SYMBOL vmlinux 0xe5378db7 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xe548b6e6 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xe553872e crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xe5610a26 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xe575faf9 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xe57eaa4c vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe583cd7b rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59791e8 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe5992451 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xe59d9999 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xe5a7ac62 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c9c583 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xe5ddd54d twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xe5ef4c28 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xe60d1efe vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe628e7cb devm_release_resource +EXPORT_SYMBOL vmlinux 0xe63a11ed compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0xe644a61b param_get_string +EXPORT_SYMBOL vmlinux 0xe65cb43d prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xe68affe8 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe6a1fa0c pci_find_capability +EXPORT_SYMBOL vmlinux 0xe6a81815 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xe6ba2f26 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xe6bc08de call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xe6bcbb9b cred_fscmp +EXPORT_SYMBOL vmlinux 0xe6c28f5b lock_sock_fast +EXPORT_SYMBOL vmlinux 0xe6c43262 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xe6d73bd1 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xe6f12401 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xe6f17ff8 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xe70674fa nd_integrity_init +EXPORT_SYMBOL vmlinux 0xe70cebc7 mount_subtree +EXPORT_SYMBOL vmlinux 0xe70e58ef param_ops_int +EXPORT_SYMBOL vmlinux 0xe70ffec7 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe7265897 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xe72819f0 of_device_get_match_data +EXPORT_SYMBOL vmlinux 0xe72d5ef2 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe74bffb0 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xe74f9694 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xe75f61da tty_set_operations +EXPORT_SYMBOL vmlinux 0xe765effc dcache_dir_close +EXPORT_SYMBOL vmlinux 0xe7698027 ioremap_cache +EXPORT_SYMBOL vmlinux 0xe771cdda __ip_select_ident +EXPORT_SYMBOL vmlinux 0xe776a47b amba_find_device +EXPORT_SYMBOL vmlinux 0xe78dfbc6 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7aef766 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xe7b0353b __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe7cc705f flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xe7d3c4c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e414c3 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xe7f2cebe __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xe80128d9 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xe8118b16 of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0xe816f5f3 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xe8512819 d_splice_alias +EXPORT_SYMBOL vmlinux 0xe854bb9d mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe8604e90 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xe86353dd pci_restore_state +EXPORT_SYMBOL vmlinux 0xe86454b5 blk_get_request +EXPORT_SYMBOL vmlinux 0xe8701cd0 cad_pid +EXPORT_SYMBOL vmlinux 0xe87aeac8 vfs_setpos +EXPORT_SYMBOL vmlinux 0xe888b12e migrate_page +EXPORT_SYMBOL vmlinux 0xe8b7b196 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xe8da04a8 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xe8dd71f6 vfs_llseek +EXPORT_SYMBOL vmlinux 0xe8f268f1 fman_register_intr +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe90253f0 xudma_rflow_get +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe92b3980 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0xe9349061 blk_put_request +EXPORT_SYMBOL vmlinux 0xe937b665 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xe943f875 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xe94a9edc phy_suspend +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9593ff4 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xe95c4d8a param_set_bint +EXPORT_SYMBOL vmlinux 0xe960c33e map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0xe96b288e mpage_readahead +EXPORT_SYMBOL vmlinux 0xe96c1eea update_devfreq +EXPORT_SYMBOL vmlinux 0xe97c82cc genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xe97d05ef pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xe984b995 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xe9970eb8 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xe9a919c9 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9c23d5e __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xe9d58915 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xe9ddcc4d fman_set_mac_max_frame +EXPORT_SYMBOL vmlinux 0xe9e84ea7 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f3d09d netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea11ba2b hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xea12f396 vlan_vid_del +EXPORT_SYMBOL vmlinux 0xea163e47 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xea1dabd2 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xea231bdc down_write_killable +EXPORT_SYMBOL vmlinux 0xea293876 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xea3449d5 md_bitmap_free +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea436882 drop_super +EXPORT_SYMBOL vmlinux 0xea4561c6 vm_map_pages +EXPORT_SYMBOL vmlinux 0xea4bce2b dev_change_proto_down +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea747312 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xea7686ec __mod_node_page_state +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea78ae2d phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea8547d6 skb_push +EXPORT_SYMBOL vmlinux 0xea9003ac param_get_ullong +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeabca760 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xeac001ed xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xeacf7641 arp_send +EXPORT_SYMBOL vmlinux 0xead8c400 bman_get_bpid +EXPORT_SYMBOL vmlinux 0xeadefac7 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaeb4258 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xeaeca673 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xeaf37fb2 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb12726a mmc_can_erase +EXPORT_SYMBOL vmlinux 0xeb21dc67 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2391c9 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xeb24c5a2 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xeb2cbfc8 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb4eb462 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xeb4f98d8 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0xeb5efbbd rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xeb63391d blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0xeb6816fc no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xeb72b302 dump_page +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb905afb scm_detach_fds +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xebd1daca cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xebd578a7 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xebef8172 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xebf3267f mntput +EXPORT_SYMBOL vmlinux 0xec023498 vme_lm_request +EXPORT_SYMBOL vmlinux 0xec0430b0 read_cache_pages +EXPORT_SYMBOL vmlinux 0xec051c94 mdiobus_read +EXPORT_SYMBOL vmlinux 0xec0be3f9 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xec237e4f xps_needed +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec313ab0 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xec370599 fman_set_port_params +EXPORT_SYMBOL vmlinux 0xec41716a qman_alloc_fqid_range +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec5c5a49 dev_close +EXPORT_SYMBOL vmlinux 0xec64ef6d dquot_release +EXPORT_SYMBOL vmlinux 0xec691050 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xec6c90e4 bio_uninit +EXPORT_SYMBOL vmlinux 0xec9bca00 kobject_set_name +EXPORT_SYMBOL vmlinux 0xec9d841e thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xecacd1e1 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xecb6ae18 unpin_user_page +EXPORT_SYMBOL vmlinux 0xecc98f0a proc_remove +EXPORT_SYMBOL vmlinux 0xeccd1214 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xecce2d1f rfkill_alloc +EXPORT_SYMBOL vmlinux 0xecd72663 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xecdae264 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0xecdd90de ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xece15c0f can_nice +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf49baf __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xecf60a6c register_framebuffer +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed008bc6 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed02a796 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0xed069e27 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xed0bafc8 pci_disable_device +EXPORT_SYMBOL vmlinux 0xed1796f4 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xed28bd05 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xed3e213f inode_init_once +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed5bd3c2 phy_write_paged +EXPORT_SYMBOL vmlinux 0xed68828d phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xed7af0cb dqput +EXPORT_SYMBOL vmlinux 0xed7d09d7 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xed896acb ata_port_printk +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed9abc3a phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0xed9d12ec write_cache_pages +EXPORT_SYMBOL vmlinux 0xeda2c64a generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbd219d dev_printk +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedcc867f from_kprojid_munged +EXPORT_SYMBOL vmlinux 0xedd77308 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xede9ae2d xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xedeaaeda fman_port_bind +EXPORT_SYMBOL vmlinux 0xee0cec37 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xee276f04 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee2edb83 param_ops_byte +EXPORT_SYMBOL vmlinux 0xee39d882 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xee415dbb page_pool_put_page +EXPORT_SYMBOL vmlinux 0xee4bce80 thaw_super +EXPORT_SYMBOL vmlinux 0xee573941 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6b67cd phy_connect +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee877be4 pps_unregister_source +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee960a05 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xeeaddedf dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xeeb835b6 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xeed2df32 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xeee10ec2 set_device_ro +EXPORT_SYMBOL vmlinux 0xeee7ec03 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0xef1b1efc alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xef1ff994 d_instantiate_new +EXPORT_SYMBOL vmlinux 0xef3ac6d2 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xef473b68 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xefa01720 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefb7d801 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0xefbb6ad3 seq_pad +EXPORT_SYMBOL vmlinux 0xefcaad4a param_set_int +EXPORT_SYMBOL vmlinux 0xefccb765 address_space_init_once +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf01e1be7 vfs_mkobj +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf030a4ad mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xf0314869 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xf03dfc50 put_cmsg +EXPORT_SYMBOL vmlinux 0xf04071a6 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xf054cb83 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xf06ffcd2 km_state_expired +EXPORT_SYMBOL vmlinux 0xf073be38 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0b2419f cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xf0bec717 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xf0cd9d6e cfb_imageblit +EXPORT_SYMBOL vmlinux 0xf0e00396 icmp6_send +EXPORT_SYMBOL vmlinux 0xf0e84446 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xf0eb66cf dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xf0f20d89 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf10afa6f skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xf158c4a5 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xf159d4b8 rpmh_write +EXPORT_SYMBOL vmlinux 0xf17a69f3 seq_vprintf +EXPORT_SYMBOL vmlinux 0xf18300ad logic_inb +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a9aa79 get_user_pages +EXPORT_SYMBOL vmlinux 0xf1ae918d security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xf1bc4834 devm_memremap +EXPORT_SYMBOL vmlinux 0xf1bd1941 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xf1c95af4 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d0407b adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xf1d0ed04 sk_alloc +EXPORT_SYMBOL vmlinux 0xf1d7b813 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0xf1da6931 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dbcf5c get_vm_area +EXPORT_SYMBOL vmlinux 0xf1df6f36 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e4a3b4 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf203d7d0 mii_link_ok +EXPORT_SYMBOL vmlinux 0xf20e6eed scsi_register_driver +EXPORT_SYMBOL vmlinux 0xf21017d9 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf21beaf8 fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf22a8d83 profile_pc +EXPORT_SYMBOL vmlinux 0xf2303fba pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf247750d tcp_child_process +EXPORT_SYMBOL vmlinux 0xf24efba5 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf2705d8b ucc_fast_init +EXPORT_SYMBOL vmlinux 0xf2729ab7 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xf281ce49 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xf281ff2c migrate_page_copy +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf286ad13 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xf2888859 netdev_state_change +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29740f9 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2b1c3b4 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2d63e5a bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ed843b gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2f5d9c5 phy_find_first +EXPORT_SYMBOL vmlinux 0xf2f70c25 qman_fq_fqid +EXPORT_SYMBOL vmlinux 0xf310495d cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf3223a83 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xf322853a generic_writepages +EXPORT_SYMBOL vmlinux 0xf333f3e4 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35498fd devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xf35f2ff2 free_task +EXPORT_SYMBOL vmlinux 0xf37cb75d neigh_app_ns +EXPORT_SYMBOL vmlinux 0xf3813e9d security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xf386b7e5 skb_unlink +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3918522 qman_retire_fq +EXPORT_SYMBOL vmlinux 0xf3a0d4f9 vfs_fsync +EXPORT_SYMBOL vmlinux 0xf3a1a2c8 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3c3fdaf generic_setlease +EXPORT_SYMBOL vmlinux 0xf3c585b6 vc_cons +EXPORT_SYMBOL vmlinux 0xf3c91f67 __mdiobus_write +EXPORT_SYMBOL vmlinux 0xf3d5b8c2 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf40e7a73 __xa_alloc +EXPORT_SYMBOL vmlinux 0xf41de073 dquot_drop +EXPORT_SYMBOL vmlinux 0xf41fe6bc blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf42b30d1 mr_dump +EXPORT_SYMBOL vmlinux 0xf435f689 dev_addr_del +EXPORT_SYMBOL vmlinux 0xf4376237 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xf43c055f devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf454628d reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xf457e340 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xf45fdcb3 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47785c4 console_start +EXPORT_SYMBOL vmlinux 0xf4829d63 vm_mmap +EXPORT_SYMBOL vmlinux 0xf48f0218 component_match_add_release +EXPORT_SYMBOL vmlinux 0xf49dca92 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xf4b0f18f skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xf4b2b86e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c93219 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xf4cdccaf proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xf4ce19d1 param_get_ushort +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e6419e vme_bus_type +EXPORT_SYMBOL vmlinux 0xf4eb081b elv_rb_add +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4fef14b vme_irq_request +EXPORT_SYMBOL vmlinux 0xf52aa2f0 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xf5356405 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf560cbc8 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xf56fc397 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xf57b7df4 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xf588a519 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xf58b1da9 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xf58f3d54 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf597b4bd blk_put_queue +EXPORT_SYMBOL vmlinux 0xf5a08d48 mmc_get_card +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5ac1f11 submit_bio +EXPORT_SYMBOL vmlinux 0xf5c40fb4 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xf5cd0434 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xf5d25ce4 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xf5d701c4 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5f031f4 tcp_peek_len +EXPORT_SYMBOL vmlinux 0xf5fe367d backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0xf603f207 grab_cache_page_write_begin +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 0xf66fa352 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xf672d360 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xf675583a mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xf6772670 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf68e6f1a vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xf6ca6398 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xf6d8d53b param_set_uint +EXPORT_SYMBOL vmlinux 0xf6ebba18 pci_dev_get +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf71055e8 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0xf71266ea serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xf719c460 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xf729f4b4 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xf73540d4 dev_addr_init +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +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 0xf7775e71 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xf77aaed7 cdrom_open +EXPORT_SYMBOL vmlinux 0xf783dfd1 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0xf7b6f853 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xf7c55d6d mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xf7d38198 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7ea6311 qman_p_poll_dqrr +EXPORT_SYMBOL vmlinux 0xf7f05c17 fman_port_use_kg_hash +EXPORT_SYMBOL vmlinux 0xf7fe6be7 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xf7ff38d9 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xf8082463 hmm_range_fault +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8137164 ll_rw_block +EXPORT_SYMBOL vmlinux 0xf8227a97 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0xf8282e4a of_device_unregister +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 0xf84c089a __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xf854f6bd pipe_lock +EXPORT_SYMBOL vmlinux 0xf86be9c2 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xf87292d4 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xf8870e29 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf88fff56 kobject_put +EXPORT_SYMBOL vmlinux 0xf8a34cad call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xf8bb9ed4 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8c4fa6b blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d7e595 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xf8e88b76 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xf8e8bf2b tcf_register_action +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf901e1be input_set_keycode +EXPORT_SYMBOL vmlinux 0xf905411d i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf91b89ab fman_sp_build_buffer_struct +EXPORT_SYMBOL vmlinux 0xf923644a skb_copy_bits +EXPORT_SYMBOL vmlinux 0xf933dfee xfrm_register_type +EXPORT_SYMBOL vmlinux 0xf933f91a _dev_info +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf94aa710 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xf95c619b acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf96593a8 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf98f735f iov_iter_alignment +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9af45e5 inet_ioctl +EXPORT_SYMBOL vmlinux 0xf9bd77c6 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9de1e64 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xf9e5dee9 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f732b6 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xfa08f4b8 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xfa0caf43 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0xfa135da1 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0xfa138c13 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xfa198e17 xp_free +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2b7c5e build_skb_around +EXPORT_SYMBOL vmlinux 0xfa3c42de csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa7ec781 bio_free_pages +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa8cc34e generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xfaa1722d tso_build_data +EXPORT_SYMBOL vmlinux 0xfaa7137f __alloc_skb +EXPORT_SYMBOL vmlinux 0xfaaf7291 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xfab6ebf4 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xfab9ccf9 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacadc2a request_firmware +EXPORT_SYMBOL vmlinux 0xfad9de09 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xfb1c1808 sync_blockdev +EXPORT_SYMBOL vmlinux 0xfb230e8c refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb50c000 unlock_rename +EXPORT_SYMBOL vmlinux 0xfb5610fa cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xfb59fc82 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb746cc9 down_killable +EXPORT_SYMBOL vmlinux 0xfb94c6b4 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xfb9a5445 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0xfb9d459f unregister_filesystem +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 0xfbcaf18e pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0xfbdd9302 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0xfbe1bf97 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xfbe4b175 qman_create_cgr +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbf200af fman_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0xfbfe0e86 ucc_fast_free +EXPORT_SYMBOL vmlinux 0xfc2406c4 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xfc2e58b4 path_nosuid +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc45b5f4 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc5c46e2 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0xfc5f89aa param_ops_bint +EXPORT_SYMBOL vmlinux 0xfc6d5d73 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xfc7e2596 down_trylock +EXPORT_SYMBOL vmlinux 0xfc881b89 fman_port_get_hash_result_offset +EXPORT_SYMBOL vmlinux 0xfcb0db8b d_path +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc7fcca kfree_skb +EXPORT_SYMBOL vmlinux 0xfcd1208d inet6_getname +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfce48a5b do_clone_file_range +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfcdb79 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xfcfd6d3d __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xfd064e7f fman_set_mac_active_pause +EXPORT_SYMBOL vmlinux 0xfd06bfe4 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xfd0aa319 kthread_stop +EXPORT_SYMBOL vmlinux 0xfd0ce13e __invalidate_device +EXPORT_SYMBOL vmlinux 0xfd26183a con_is_bound +EXPORT_SYMBOL vmlinux 0xfd2d8d7b inet_stream_connect +EXPORT_SYMBOL vmlinux 0xfd4a38cc ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xfd643de0 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0xfd8608e6 nf_log_unset +EXPORT_SYMBOL vmlinux 0xfd8caa46 kill_block_super +EXPORT_SYMBOL vmlinux 0xfda6e384 pnp_is_active +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdaa845e skb_split +EXPORT_SYMBOL vmlinux 0xfdc1f8c2 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcbf148 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd859cd pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xfde28d2e abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xfdec192b pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfdf9b562 get_watch_queue +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe0c3773 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xfe0dc47f dev_uc_add +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe228506 vme_register_driver +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5cf0c2 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6dffed blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xfe88a58b netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea83ad6 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeddf3c7 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xfee0ce61 acpi_device_hid +EXPORT_SYMBOL vmlinux 0xfee8c219 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeee4cf6 skb_checksum_help +EXPORT_SYMBOL vmlinux 0xfef81d4a input_set_timestamp +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff108f39 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff32caa7 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xff43162f udp6_set_csum +EXPORT_SYMBOL vmlinux 0xff5f9050 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xff614021 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff728327 input_release_device +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff8893a2 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffa4f61b ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xffaa4e67 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff8c343 neigh_table_clear +EXPORT_SYMBOL_GPL crypto/af_alg 0x0bd96b7b af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x159fea02 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x23e808b2 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x3ef095bc af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x456e3875 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x523d3f12 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x6db7d32c af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x75054c1d af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x7d9d77bb af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x97050f94 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x9f290b4c af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xa00e46dc af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xaec479a3 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xb40bbf2f af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0xc3ff01b8 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xcf463992 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xe8f35d2e af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xf4cdf53c af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0xa7f7327f asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x350c95b1 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x73c281ab async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xe1ba6179 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x99ee0e3c async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc228ea13 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x493f8afb async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7a22d3cb async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbaf4d6f9 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xd909515e async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x6f2a674b async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa06ceb42 async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xdf509bf5 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x235b348e 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 0x50bed3e6 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 0x19cf8a5e cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x2511a7ef cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4a381106 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x63812b5e cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7f14ef87 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fb97182 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x93891b84 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x95ebbb87 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xa12e44ec cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa63e6313 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xbc6c3025 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xd006ad45 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xec897de5 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x14704be9 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x39b98f15 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6215b5f3 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6459d088 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6560716c crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x73a9c751 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7f7ece79 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8f408bca crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x9f63350b crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb373a58b crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xda5c465a crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xef779839 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf9cc1af5 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x36de30a0 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 0x8f7287a4 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xbf2d5776 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xbfd26f15 simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xc29eff18 simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x3959a1db 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x1b2e4ed8 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x85490bd9 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x8b46cf4c crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x720547b4 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +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 0x4e95fd66 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x55a070ff acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xb83c3655 acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xe2c95655 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xf38cdbd3 __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x0cbe8406 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x6e7dc1ca sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x140b90a2 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xa36bdc4e __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xb6707def __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x9ba4720c __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xa7eea1f5 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x46feadf6 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x83d67c5b __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x6e2a8d55 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x876b07de __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x9219e41a __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xe89aff38 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x67bfb8c1 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xeb087e6f __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1176452c bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x11a2e6cc __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1a37c591 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x463353a0 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x482edd8a bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5b86ebd4 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x65717f28 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x71be8fb2 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x781a8d4e bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x89a6947d bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9829220b bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9b7ffd85 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9f8edb61 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa140499c bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa2d7698f bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6adba2a bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa8573d74 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb8549113 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcd60e1f7 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcf3e4e46 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd53cd38c bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeafc831e bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xed1ce603 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfcc9aca7 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x32dd7645 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x52fb8f8c btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x68db94ba btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x772dcb01 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x80775dea btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa019fd01 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa2cb49b0 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xcebb66ef btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x106e5f9a btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x14eb87f1 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1815195c btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1ec9e142 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3070fc5c btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3a085cd3 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3cee03ca btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5944c5fd btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x69693c2f btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6bbd1534 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6be951fc btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6ede2e7c btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9231e0d0 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x96180ea7 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9a37ba6c btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa006c927 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa067bb80 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf53d31a0 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x00cf3f56 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x04709db8 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x21d5a723 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x382a4431 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x57ab4c4e btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5bc812bb btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x729529cf btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7cdae29e btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x854f41a4 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8ffd148b btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xba2cb796 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x2cc58e16 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x6750efd5 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xac917a4b qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe52f5ead qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xf9c5f883 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x3645c8f3 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x418981d0 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7dd8b4d4 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xdcf3280e btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xe871f1a0 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x07a23a77 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x20ec2dc0 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x5e81df6f h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe0298767 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0e934463 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x136125a9 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x171fafb2 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x21fb4f2d mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x243f900f mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x37bf7607 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3bc4a70c mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3ef40775 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x572a7d21 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x73c2fe1a mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7d3d32d3 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x86a98722 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x95318634 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb7b7856f mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb91c6f92 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbb83eb50 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc7b541f8 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xcdbf7fb3 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xdc29c70e mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xec6e48e8 mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xef9295bd mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xf2c886ed mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x3e43e3a6 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4390d1b9 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xa9fb5d85 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xb3a44c0d moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x5e68b79b __devm_regmap_init_sunxi_rsb +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x60997dba sunxi_rsb_driver_register +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x259c6a72 meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x875b274f meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0xce28c471 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 0x06d0c83c qcom_cc_register_board_clk +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 0x1987883d clk_alpha_pll_fixed_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_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 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 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 0x6eeb9c92 qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6f351870 qcom_cc_really_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 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8a3826b4 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8c0ca467 devm_clk_register_regmap +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 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 0x9e33f365 clk_trion_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xa6f08f9a clk_trion_fixed_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xadc2751b clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xb09ba7ac qcom_find_src_index +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 0xce340fb8 clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xdc014e02 qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe5c78183 qcom_cc_map +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 0xec88bfe0 clk_lucid_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xf6e38599 qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x096aa17b sprd_div_helper_recalc_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x0a3ec278 sprd_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x14212841 sprd_div_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x1ca519ca sprd_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x4cad4f51 sprd_div_helper_round_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x4f93d75f sprd_mux_helper_get_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x597905e4 sprd_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x6b8639b9 sprd_div_helper_set_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x911aa4a0 sprd_mux_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x94781ca3 sprd_clk_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x9925914a sprd_mux_helper_set_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xaf833f64 sprd_pll_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xe305cb73 sprd_comp_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xee5a235c sprd_clk_regmap_init +EXPORT_SYMBOL_GPL drivers/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x26ce16b3 counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3e85c9a7 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x5f30d25f counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa02995c6 counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa4d12412 devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa8b025d6 counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb501492e counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb7276dd3 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xde7df606 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe069842d counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe22aa2ef counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe56a9368 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xeb5f4e04 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +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 0x5b2207ae ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x0f1bce49 hisi_qm_create_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1b9e598b hisi_qm_dev_err_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x263faed8 hisi_qm_stop_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x369fe7ca hisi_qm_start_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x3c125b06 hisi_qm_debug_regs_clear +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x42ca99b3 hisi_qm_get_free_qp_num +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x552faf94 hisi_qm_sriov_enable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5a06f79d hisi_acc_create_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5acd3728 hisi_qm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5b30e08c hisi_qm_reset_done +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x609b9145 hisi_qm_stop +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x684094a7 hisi_qm_alloc_qps_node +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x69538a82 hisi_qm_reset_prepare +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x7a827118 hisi_acc_sg_buf_map_to_hw_sgl +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x95152150 hisi_qm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9d465b9a hisi_qm_release_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa8014a9c hisi_qm_debug_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xae4b88a1 hisi_acc_free_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xb041cf7a hisi_qm_get_vft +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xb7b9c775 hisi_qp_send +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc3404455 hisi_qm_start +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd2f2e1b6 hisi_qm_sriov_disable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd33986ff hisi_acc_sg_buf_unmap +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd5176a2c hisi_qm_free_qps +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd67e69cb hisi_qm_dev_err_detected +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd7e3e986 hisi_qm_dev_err_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xed8e818f hisi_qm_dev_slot_reset +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xee305f6e hisi_qm_sriov_configure +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 0x58f7cbdd otx_cpt_eng_grp_has_eng_type +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x61cda53d dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dax/pmem/dax_pmem_core 0xd8401afb __dax_pmem_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x1cf67f19 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x70a3950e dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x151a843e dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x24319e4c idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4f948657 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x6a251c92 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xbac959b8 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd8844f16 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf1aebd5d idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x282f40e9 dpdmai_get_tx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x28a26f8c dpdmai_open +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x3c562b0e dpdmai_disable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x3c9b4683 dpdmai_get_attributes +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x8a253e3a dpdmai_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xc4fa40ef dpdmai_destroy +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xc90efe9d dpdmai_close +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xe68f69c8 dpdmai_get_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xf72aeb36 dpdmai_reset +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xf84b6026 dpdmai_set_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x09bf8cdb fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0c9a91b5 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x18dda85c fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x32193855 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x39c26297 fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x5cccb605 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x6f224f8f fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7e3c2a3c fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x844ff5db fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x891c9d96 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x95e47d3b fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc1b986ac fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xcfff94b9 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe210d79c fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe5c7db8d fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xea25498f fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x4326d54e hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xf493047f hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0xe651c519 get_scpi_ops +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/firmware/stratix10-svc 0xfaa29fca stratix10_svc_request_channel_byname +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x1b42f7c8 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xaa09228b alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x02f6662c dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x385bfc06 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3c74fa48 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x478f64e3 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x577bc5d0 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x61a26ae0 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7d5952bf dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x83bdbc2b dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x88449041 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x88c7da55 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8b7266d6 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8daba2e3 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9a959ccb dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb09a50ad dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xbfe7cdce dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd4396b90 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xef922545 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf37c8524 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfd650239 dfl_fpga_dev_feature_uinit +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 0x21a72282 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x265f4b78 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x40fb4584 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5baabf04 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x65926261 fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9f6d6d4f fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa3001cf6 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xab6420ab fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb65b5810 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc8eebe9d fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcc4ebbb1 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe051fd1d fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0f08733d fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1ebf1c57 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1fc4321b of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x52a416ce fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x66884413 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x990df205 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xabc9e74e devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xbc5fbb5b fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc08cc661 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcdc33f4e fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd7fb27de fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xefc99f67 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xff94c4f5 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x15b3acd3 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x42c939ed fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x6b541425 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7882a416 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x94a96f39 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x9aff52f2 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc8a43a7e fpga_region_create +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0aba5c64 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x27c2b664 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x40664245 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x45201459 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x671df99d fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x8abfb543 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xb060bee9 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xc6a66354 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 0xd9ae4ba4 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xea6e9bf9 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x9f88c11b fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x6074999b sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x6d9d8c42 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x1d768c04 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x28541acf gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x89402a3c gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xc2711d12 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xefddc392 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4fc7d0e6 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x9448e671 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa9c3b575 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xb215a269 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xc3e7d53b gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x777dd81e __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf17c33a5 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x04edb222 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x24150f39 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3cdd9c56 analogix_dp_stop_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 0x83cc051d analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x8a966e95 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xa01c3089 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xa9ce3695 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xb9948bed 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 0x157e02b6 dw_hdmi_phy_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1ba596a8 dw_hdmi_bind +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 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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x96b53d0a dw_hdmi_probe +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 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 0xd8a4a7de dw_hdmi_set_plugged_cb +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-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x36e55b6e 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/bridge/synopsys/dw-mipi-dsi 0x98885877 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x01763ce0 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x025e1422 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x09841480 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0bcfa57c drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x116664e9 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x12df5292 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1a5eadc8 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1ea85c0e drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x284cdee8 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2a67420a drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2f618e76 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x372e18fd drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3910c383 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x438ff3ac drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x473cac8c drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x48e527d2 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x49bdf660 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4e0e6684 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6a74b88c drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x729746b0 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x78f58a5d drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x865a6cc5 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9441d879 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x96265c52 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa86dbb0d drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaa5c468b drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xae906094 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xafdb6983 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb5648fb3 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb6583aa7 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb74d766d drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc80b072a drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc922080d drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe07e982d drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf81cc991 drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfd57b7f4 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfed8e963 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x059accbd drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1d65ba6a drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x20faf4e2 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3d140f85 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x572a0f2f drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x57676897 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x96b47518 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x98c224e1 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc3cf69fd drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc77c4242 drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xda29e00c drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe21868eb drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x0cda6651 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x606df978 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x9edb954a 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 0xfd34888c meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xff0908ec meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x57ef48f3 pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x253da1db rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x60b106b8 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xabb5f43f rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xd6f0abde rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7695ad4d rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x8b619907 rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xfef37e1a rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x40442e1d vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x4605b82c rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x66cfd7db ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xa6645593 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xe72a7ff9 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00639cd8 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0442541b __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x16b6050e gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x221d1dd1 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x25992620 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x37830a91 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d52d107 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3ef75a08 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4246197c gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4b0d299e gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4b38b141 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4fa52b26 gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5098de66 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x589f22fe gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5b4f2db0 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x61951ef5 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x63af4db0 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x78383195 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x860da7d0 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x863942b1 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8a67cc86 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8adaab08 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x923e344f gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x97249a23 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xad4a7499 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xae601aeb gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb656f9c0 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbc5ac4d7 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbd24b7bb gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc397c10a __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcae6f671 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcb8c92cd __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcef7159e gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd9818675 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdcb98eac gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe24a6da0 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe57c4341 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe674e3c8 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe82f0c1a greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf4a4f422 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf72dcec3 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf92ad0e1 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf9660239 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/hid/hid 0x025ca97b hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x057be8c3 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0c26ead7 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1547d782 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x187a0156 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1b571052 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1dee2d28 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f02570f hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f19fd43 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f7c13c4 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x26c1a1f5 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x28eff9e8 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2fb015f7 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x30004cac hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x46c50542 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x521dd17e hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x602bd9fa hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x81aab831 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8990027a hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8c8b0638 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x965784b0 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96d41ec7 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x97b2d870 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9eb1e0cd hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa09f3d8a hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa1b3f18c hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa515eff7 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa87a2859 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xac226282 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae0e8ee2 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae7c8d7c hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaed80fda hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb4fa1d3a hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc0250c9f hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6dd27e5 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcab009bb hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xce633690 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd40d9e45 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdfd9f2a6 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe2cdbcbb hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3a8b98e hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf58e7403 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf7a1b363 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xffc03528 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x39ad7440 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x12b547c1 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x671bcabf roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x758251b0 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x9765631b roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc2e26efe roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xf758cec1 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2b396737 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2ea2c251 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x9847f343 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x9a51b244 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xab2c3fe6 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb918f9ba sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xbbafea34 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd4175d3a sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xfdda5b83 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xc635509e i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x1fd3cc3f uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x5a41edab usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa8681545 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2532d55d hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3472af72 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5582eda9 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x58385390 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x65eb75fc hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6a0cffa1 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x783296a1 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x794fe023 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7f217801 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8e2f7d63 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9529c4af hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xacfcd286 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaef0a448 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb4f2a70d hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xba0f8b89 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc85ee4ca hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe5e81369 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfe38a5e3 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x967340d7 adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xa7fd7619 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xdbdf3d7b adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x8f26085c ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x09b8137b pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x183e3c56 pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x1d7ebe2b pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x2ca6a67d pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x416e52af pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x4fe14990 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x52b65a69 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x5c79177c pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x6bef287c pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x79458fa6 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x84da5f6c pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x93929489 pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa2fa777d pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa8a9961c pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xadc7a92d pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb6e6ed01 pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb711559d pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb9d18573 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xbaf80597 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x059ebfb8 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x196091af intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3c1923cf intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x47bfbe10 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4c713d7a intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x9a07852e intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x9c9e2853 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xdbd0bb44 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe4cea312 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x03456ac4 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x051c583d intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x2d24aa30 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x1f149604 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x222dc09d stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x4ebb96e5 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x54165427 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x5949d757 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x71818af3 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x8a123089 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xafa01fc0 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xc72eefd7 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x024d0793 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x33b89490 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x39aa29a8 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xfdff177c i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x202ce2ba i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x4133da91 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x038ce2e2 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x150dc00d i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1cda00dd i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x26ef0b52 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2ac7464c i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3522e703 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3bbdbd00 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3ccc1b2b i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4d099bd3 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x532a97e3 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6e350dad i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x78efb0d0 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7b0145ea i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fb317a7 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x85c6c5f2 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8645aa3a i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x89f0154a i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8b1fdfb3 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8c5772fc i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc139106b i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc34e37d2 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd17de8b3 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdfa4ebd2 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe6c8485d i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfaddcd86 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x6cebb208 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0xb3bedb71 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x58af327f bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x6904311b bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xc13866c0 bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xd8367299 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x54cec7eb mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xc39c00de mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xecfb88b1 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xc2a44552 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xcbceca41 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x50a8ccc4 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x5ff47c2e ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x2cca5e43 ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x86f05800 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xa9cee753 ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xbdfdf803 ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xc7464d45 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xd22526e5 ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xd6eb1f5f ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xddd132b6 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xe785dcce ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xf3459c12 ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xfde809fe ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x1367f5da devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x7c1db3cc adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x0d13b2f0 iio_channel_get_all_cb +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 0x5600db4d iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7ebdae76 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x083130d9 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x173d1354 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4a57f7df iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5136ca5d iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x541121b6 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x58a75ee1 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x6c6c708b iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x6c934d3b iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7e5bd8a0 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x82ff544b iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x91917295 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf10ce09f iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x07115c9a iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0xa8b2d492 devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x1b60b0fa 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 0xaf21f63e 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 0xf8b1ad3e devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0xbd782599 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x301cfebf cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x31405a2b cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x51ee63a9 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x717aa72c cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9010b301 cros_ec_sensors_read_cmd +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 0xa583003a cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xad10a19a cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xae420b49 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd7d0136b cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x5e5f83fa ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x771587e9 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x36edc5cf ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xcfb3b506 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x09294471 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x0df57991 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xaf423f39 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x65c538c9 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xd32d5a9b fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xedec8f33 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x222d8454 __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x33592671 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x52c13df5 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5755e346 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5aa925d8 adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x77b9b693 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x8505ce41 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x98b63d77 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xaa3705ef __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb4b7941f devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xbbbc9501 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc36158e1 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xdeae9d4b adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xdef38b91 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xf2bfdc8e adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xbd586391 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x94302898 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xbc639943 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xc448bc0f inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x18348507 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1c610d19 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ebbd25 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2a413ec7 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3cc64f1b iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3df81bab __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3f544a60 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x42fd12a0 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x44029170 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x458c4faa devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4d13ee68 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f38f4d4 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5e480201 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x615520c1 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6b345fe6 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6c278401 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x73214d81 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x749c7116 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7d6e77a8 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e121d47 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x924f92ce iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9391ac50 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9905295c iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9b52162c iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9eac9c38 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa442a18f iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xaece1bdf iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2312ead iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbb2f74d9 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe1cc77f iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbfd22cf6 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8b14ee6 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8bb8592 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd16736ed iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd88c5b53 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe9ee54f9 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf41b80d0 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfc04740c iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfe94afb1 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff2f4a37 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff6cc6c9 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff8c516b iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xffbc4186 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x97a7c11a rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0xee7addce mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x09431268 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x2675ccf6 zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x3519e697 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x4fabfab4 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xd11a1ef0 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xee230e94 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1908cc91 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x244553c2 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x36f7b1d7 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x41436123 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4c884821 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6551f49c rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x996b43fd rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa87134b2 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xba7a93e3 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc2c48157 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xca2486a0 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe281bd52 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xfb20dbaf rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xe637b796 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xd717025b matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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 0xee57d7f0 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x00eb4888 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1d3dd3a3 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x23e36c2a rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2c614f3b rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4488dcf7 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x73cbbfdc rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa092b91c rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xace5c37f rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb6bbc397 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd1535818 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd3dbbdfe rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xdfd9b352 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xfc4c093e rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x557585b4 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x822faebb cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xe4544565 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x32a52ddf cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x910aabeb cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x120bf92a cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xb2d9cf16 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x128da37d tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x3142e472 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x359d0921 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xc32e5c55 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x51a5210a wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x56b24e30 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6093f87a wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6b747826 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x791512ee wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7d2de520 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9f7dbd02 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb187e5be wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc9eab283 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcc31d270 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd4a1b092 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe675e77c wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x19867ed4 imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0xbb6af93c imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x1793fc35 of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x2914cec7 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x11cfaadd qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x2e97b852 qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfddd05ab qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfdeaf04c qcom_icc_bcm_init +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 0x0bb60b9b ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3145e917 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x41b6f150 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x4c7f9ba8 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x95ca5016 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbe2a9dda ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xcaff3588 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdc2e512e ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdc9327ca ipack_get_device +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x32197ca6 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x728e5e1e led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa650d602 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xb32efab6 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xceb586a9 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdace3a08 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdeacd744 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xef011b5e devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x36ac4a29 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4fcfadaa lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x530d59e2 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5a674471 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5ca1b214 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6d21b082 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6d9135f9 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x71c5d309 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7c7a3119 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x84ab3ed8 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xc3ed0b9a lp55xx_unregister_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 0x15b97715 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19b88bec __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2307b422 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b46c4b6 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b793afb __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2fbf8560 __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33554606 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x414c7765 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f6a4a3e __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65fb81f0 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b1045c7 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7260fb66 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x748968f6 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7574c715 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c8a33fe __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x96bf5dba __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa353964f __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4682eff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xab4c5652 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb22f8879 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbf53dc9d __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc00185bc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc13b483f __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc36e201d __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8feefc9 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd8da0f0e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9f20dee __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe9c4d700 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee603d81 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf5d8bf62 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf8502c64 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x141c52ff dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x145efdca dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1c978bf3 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1d7b5d07 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3a3cc05a dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4fa24cb4 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 0x7ceaf6ca dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7ceedc5a dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7dee4f49 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x82539a5d dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8587b24d dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8b589232 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa7c8c6d9 dm_get_cell +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 0xc1c96ceb dm_bio_prison_alloc_cell +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 0xe3d4c0a9 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfbec44df dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfdb3f4db 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 0xd95eaa98 dm_bufio_client_create +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 0xbaf4dd74 dm_cache_policy_register +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 0xe95e4d9d dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x53ee225a dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x979fa618 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 0x28596d1e 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 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 0x807a4cce dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x87f3d57f dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8f6b1049 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9e8bbb39 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 0xe1829fc8 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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8d0d6362 dm_block_manager_create +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x10a17702 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x10b42cdc cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1a32af82 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1d5c2562 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2b03723c cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x422b6b41 cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x43f38ade cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5a536347 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7f4a000d cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x854afd75 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8b7d6bc9 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8c858f2b cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa3086691 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xac191da1 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbb4b2f9c cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xcd3d8f49 cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd451f11b cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdabc09ee cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe9a621ae cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf2320ae8 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf4f7827c cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xff243696 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0a0548b8 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x14576415 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x31a1a654 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x3afbaa54 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x47d0dab3 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb33c1457 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe1ea386b saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe1f5511a saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf21e1bf9 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf28e27e4 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x34b815e1 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x60ed963e saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x6fd9935d saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x75496f6f saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8c097a4f saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb5e62238 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xd438ed78 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x085e0b40 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0922b3be sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0c09a4ec smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x11d2fa1b smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x1406c9e5 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x16715092 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x269e3004 sms_board_setup +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 0x50ec6da1 smscore_get_board_id +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 0x936cc815 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xaf075a8f smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc03f9907 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xce3b3f47 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xdb94eba3 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xea7c73ef smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf1a52885 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfa676338 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfd2df908 smscore_start_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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x02f280a5 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2ad26595 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2f2292af vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2f5bd554 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3f623848 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x441c7dd6 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x586554da vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5c558b85 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6593c8a7 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x68b92fd5 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7145f6cd vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x78cdf151 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x82e72d64 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ddae992 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90828029 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90efe501 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9e429275 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaae5c83b vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb1d9fa34 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb648fee8 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb697416d vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc591f8a1 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc88264fe __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xce7e548b vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe266bf16 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf008dafd vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf4982b85 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf61cef1f vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfacba9ba vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x0ca4ae80 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x392384da vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0xb40f2109 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xdbe8030d vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x030b9956 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0561d442 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x066e7650 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x081e9a5c vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1314167c vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x134a3968 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1817cc1f vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1dd6d3c5 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2475aab7 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x261d8bbb vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3155a402 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x400757b4 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x432ba77d vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4bec24e9 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5339d1d2 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5f3d36bc vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x64aefaeb vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7ccb26b1 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x821850b8 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8a5023b9 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9a19616a vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xaa8391cc vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb34b6e04 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb3dec9e4 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc5b07fb1 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd54fd858 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd6556281 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xde869b3a _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe208e711 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xef6ad0a5 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xef795de9 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x00b5cdb8 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x0439ae4c dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x4a57ffc0 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xbcc873e6 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xe3e9c3d5 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x518ee1ad cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0xd32bfb1a gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x0c0a553e mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x2322f3c8 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xcfcfef91 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xcfc1cc07 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x57d77698 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x22c13ec7 smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0052a0a7 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0406b313 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x05286c3f media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x05ae1914 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x07243cf3 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x100551b7 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10f4e6ef media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x11f76cd5 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x11fd7f42 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x12050790 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x17665c8e media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x17c07015 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1dc66ae0 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x22d23d5c __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2cc7ff34 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x31ea8947 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3f62fc4f media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x489617dc media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x55426fea media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5ce7602c __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6112aab7 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61fce90b media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x63c3e848 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x66af6bbf media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x670a65b4 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6b034763 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6bf0ef88 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x79ccf912 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7b3449ef __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7b75f46e __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x816710a6 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x852700aa media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9cfcc165 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9d443ed3 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa39a380b media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa4fe3945 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xaf3aec99 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbc0df22d media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbc7275c5 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc307c65b media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc825dfbb media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcd79fe8b media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcec5be53 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd5ae21af media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdad63e10 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe934d3b8 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x50fa1b89 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x01fae26a mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x033556b9 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x04e4a31d mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0dca50fa mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x38a61151 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x38fc1da2 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x405dcbd2 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5bed6fe3 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6fa2c4b1 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7ba150a2 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x988240f3 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9cfe0a74 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xaa0d1439 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb6192674 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbc487d7d mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd3b91bf3 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe90a55ca mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe9505939 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf1bbc3a9 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x02de3518 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x04218137 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x09bee0bc saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1e528d89 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2618799f saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2a05470d saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x59bd36c1 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x674cd929 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x73e5b4c5 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8a031717 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x90a976af saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa14e0001 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa5df7f34 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb45198dc saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc85a2f16 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd17856a1 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdb4193a2 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe0e90fec saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xffd62e48 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x00865e09 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x289865bf ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x2ed07d73 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x53eccb7d ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x84358217 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xa474b35f ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xeb065493 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x05259b9c mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x0c79effe mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x5ff8a7f0 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x9c61ddb0 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xe6903996 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x0b659408 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x17ef8282 vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x2148ac07 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x6ce765c9 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x766228d5 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x948baceb vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xa9f6b134 vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xff1d0cd1 vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0595a0f5 hfi_session_stop +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x05fc86d5 venus_helper_init_codec_freq_data +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0742ae31 venus_helper_vb2_buf_prepare +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0ab0f2de venus_helper_get_opb_size +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x101cc541 venus_helper_set_bufsize +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1738c36e venus_helper_intbufs_alloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1ad7c3b6 venus_helper_intbufs_realloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x206db0ac hfi_session_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x25c8aed2 hfi_session_set_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x27727541 venus_helper_set_color_format +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 0x29bf2361 venus_helper_queue_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x29ffc001 venus_helper_set_work_mode +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 0x2e4f50c3 hfi_session_flush +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x36801331 venus_helper_set_input_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x382053bc hfi_session_continue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x453d4445 venus_helper_set_raw_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x485164b2 hfi_session_get_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4ba5f31d hfi_session_start +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x51e40381 hfi_session_destroy +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x574caf81 venus_helper_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x66df5d8e venus_helper_unregister_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6c73dbf7 venus_helper_process_initial_out_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x77614d66 venus_helper_set_num_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x787c6b22 hfi_session_process_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7f0b90a3 venus_helper_set_dyn_bufmode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7f71ebff venus_helper_vb2_start_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x82ff01fb venus_helper_free_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x852f060b venus_helper_process_initial_cap_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8a801991 hfi_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8da257e7 venus_helper_release_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x98384d0c venus_helper_get_out_fmts +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9a6e893f venus_helper_acquire_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9dcbec69 venus_helper_check_codec +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa12f5946 venus_helper_get_ts_metadata +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb12b85fe venus_helper_vb2_buf_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb1e01dcd venus_helper_vb2_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb316385b hfi_session_deinit +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 0xb890f4c2 venus_helper_intbufs_free +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc7af28dc venus_helper_init_instance +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc863dc22 hfi_session_create +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xcd8bdab1 venus_helper_get_bufreq +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 0xd5d5302e venus_helper_set_output_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xda41e98c venus_helper_set_multistream +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xdbc7f4ea venus_helper_find_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe5f7cf27 hfi_session_unload_res +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe5fb8fe2 venus_helper_buffers_done +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf93371b0 venus_helper_alloc_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0xb6986c24 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x36bc3629 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x3cefbd09 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x401143a4 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x5d7b0204 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x5e4dc0ec vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x870f2a5f vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xae9d5059 vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x237f3d1e xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x4109720f xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x8e1a58a9 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa8669a05 xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb13db3dc xvip_init_resources +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 0xeb899a9e xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xf2b907b3 xvip_enum_frame_size +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 0x96ea2d57 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x6dd3936b radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xbbb38337 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x55ee0a4d si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x87ac07de si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xbba86b76 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xeb33bc7e si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xf98f2cdb si470x_stop +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x087ba771 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x167a5618 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ac62c77 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1bd7184e rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x280bc8a5 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4104ffd1 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4d41f8f7 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5166ec94 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x54c033a4 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x56d8110a rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5df3f05d rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x63a9ef7a ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x71ef8ab1 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7bc8ac67 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x80f60c99 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8630dd90 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9b86c07b devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb9613d49 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc2a18f4a rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdb946abe rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe52a03c6 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0xa3758199 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x4d45f60b microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x99aee382 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x201b3dd5 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x0dd6fd09 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x9e955e52 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x0442e5de tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x842ed887 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0xeaea1381 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x55e125e4 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x5be964fd tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x5228303b tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xb89c3fe8 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xeefd2dad simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x04fc8063 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x13b236d8 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1782548c cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1dafb258 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x209dccaf cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x264c712d cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3585f22d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3fe787b6 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x42ce7f35 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x51150abe is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5867a024 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7e127f30 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x83dcb710 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8970c964 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x940be290 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9e1fe309 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xbb728273 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc562caa9 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe87ea57b cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf825abd0 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x809d4503 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xfe914fee mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x11a0105e em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x323f4235 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x341878fb em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4175a8d7 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4eca846e em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x661d16ea em28xx_read_reg +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 0x8bc5ab0c em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8c783893 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9d43946c em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa059ca51 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa0a9714f em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa9a4c056 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbf2cbd07 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcabce66c em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdf01f318 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe240cfe5 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe90ea822 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xed039359 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x244e9870 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2d6d200f tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x3839e6e7 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x3e641352 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x72cb59ef v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x88ac03d0 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xbcb3d82d v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2e619746 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x3696fb70 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x549e54d3 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 0x75bfaab6 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x83bb3a97 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x84065cfc v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x9c8a7e29 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa870b052 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xab0f8c04 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb19c6c14 v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xd024bdab v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe31cbaac v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x8468300b v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xa003c02f v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xae38bf6d v4l2_h264_build_p_ref_list +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 0xf8ffd565 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xfe634d65 v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0d0da84d v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x174cd0ad v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1ca44f84 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x237e5c13 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x26559bcb v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x265b6e5a v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2b314549 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2db53ed2 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x36d15d09 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x58b950ce v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5a66f29d v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5e048839 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x65330137 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x68ddbda0 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x747c7a52 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7e12d3fc v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x812707b3 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x831eaa9c v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x83276529 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8f06b4be v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8f491550 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x94ffcc93 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x951112bf v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x995df953 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9984b347 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x99865410 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9a5e70c9 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9aa81201 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9b5c3351 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa17fbe80 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa4704c05 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa48766ad v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xafe92990 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb64a7dd6 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbe1f6571 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 0xcbf57758 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd44b09fa v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdd5ff3a9 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeab99c33 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeef77775 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf2f33950 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf6998d4a v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfdfcdef4 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xff27259e v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x044dace7 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2a52d492 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2b361165 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3381367f videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3da16064 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x46dc01de videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4a3050ef videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4b5a571b videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4e9ade3b videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6c75109e videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x769fff7c videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x828a128e videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x835e619f videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9dda78aa videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa2317504 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb931a0dd videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc61e8f4e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc8f0b0ab videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc91d7b2e videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd1ca7146 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe3403dfa videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xeb495e57 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf7591b24 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xfd985837 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x0b251533 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 0x615a8953 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xd35c96d3 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xf92b3b55 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x347eeaf8 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x60b0ebe3 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xb5f1d9f6 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x001cb22f v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x01417a8b __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x04b79b86 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x06822c09 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0b4b07c1 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0e59df2c v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0fc657ad v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x107a09bd v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x15d681b5 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a53ca39 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2f861ff9 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x32431a1e __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3313c768 v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3466dcd3 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x35577cb9 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3d074b35 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3fa202e0 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x43996a8c __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x45d66c9e v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4dd7e09c v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x52c0cf2d __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x593635a6 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5a019c26 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5e3ec5f0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x60bd2f23 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x611523b5 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6282fd59 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62c66122 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62d1336f v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x64314eba v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x804868db v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x857fd434 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x88149bd5 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8f12cca0 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x94f52cc9 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9837e844 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9c20a705 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9f1a2412 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa91aca84 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb77f6c8d v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb795f071 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb8e95e02 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbbe96ab9 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbc91a525 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbd115c1f v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbe21b076 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc21c0aed v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8aab305 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc9e4a819 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcda002bf v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd1a3122c v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd23b065c v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd26e4201 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xde50d542 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe204f77c v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2a4b393 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe6140f00 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xeb5d3980 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf1b0fb68 v4l2_fh_del +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 0xfb4fa594 v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfbcba437 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfd3d7846 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x12fb417d pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x36b3b538 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xbe533590 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x59200b8d da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x814dfcb4 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xbd8f16e4 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xce3e7013 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd27eecd6 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd336cd66 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xe3784f6c 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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x09ede45f kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x14e97483 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x4289eb5e kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x4fe3d299 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x5d24ea9e kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x934dbbe5 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xaae297af kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf778420e kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb63a42c2 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb67048f9 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xbd9ed054 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0f7be41a lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x10030c16 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x22fff438 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x3e6889a6 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4af96b53 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x61c8c2bc lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x72a3df29 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x248fb5eb lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xc175cd20 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xf063aff3 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x31571dce cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x315ac18e cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x64527c27 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x726200c2 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x726fdc82 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x77f568b4 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7ac1e369 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8a41390c madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8ad33176 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8adeed36 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x920646c6 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x920b9a86 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x92f34669 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9a58687c cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa5875d3b cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa58a817b cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb8a1aa0e cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb8ac764e cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc9e62c7a cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc9ebf03a cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcbe90b18 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd1335bca cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd13e878a cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe6b24037 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe6bf9c77 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfb94b702 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfb996b42 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xffce3b09 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x00b4e5f8 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x150296db mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x47b72893 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x51abce86 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x55b8ddfb mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd449a6d3 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x030a9b44 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1bd22aa5 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x247d161f pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2f773afa pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3adb76d5 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4409bd13 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x592b77a7 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7a2a30a6 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x82175835 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe78b08e1 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xef2d5f5b pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x3a9b0d4c pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xf0a09370 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1757ecc1 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6716fd0d pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x677d42ae pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb7bd8276 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe5a1611d pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xec9d257b 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 0x247abcb3 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x299e73fd si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2d5bd80f si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3361cff2 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x347ce97f devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x35bb9018 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3fcb0742 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x40eabe95 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x48208006 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x521015c7 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x538c0a14 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5a89f4c7 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x623ca085 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x62418097 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x63065124 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x664ce19f si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x668014a0 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6bfea03b si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7275825a si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x86619af4 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x90cf6ac9 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x91e1b8ae si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x99c13f85 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9d364cd3 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9e624811 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa2365ac4 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb31bcf08 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb8098ffa si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd02d3471 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe3419c9f si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe93b88a9 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfd70757b si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfdae3929 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfea12a3d si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x39e23831 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x786d3ae8 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa7dceecf sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xc7213276 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd9120d0d sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sprd-sc27xx-spi 0x565d010b sprd_pmic_detect_charger_type +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x053391f9 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x515f6ea0 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x3f624d2d am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x979f1593 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xbf4acfbe am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xcbdfdadf am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x5c360e1d tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x6f920399 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x7dfec341 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xae095cd8 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x44041c83 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xf00ff398 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xf3af737e tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xe528c3b0 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0a941a20 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x88e44753 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8f7cd18e alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xa4f9739a alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xacac9fe3 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf12154d6 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xfbe2d638 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x202918fb rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5a8e03d3 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5dae96b7 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5f5eec66 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x68013450 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8030cbfe rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9ae4ca90 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9dab8d34 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa3866974 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa77b2447 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbd6c9eb9 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbfc095a3 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcbadc2c0 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcbe3cf84 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcc967dbb rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xccf80cf4 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd27da415 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd2e722bb rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe276aa8c rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe67a6317 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe884082d rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe926ab76 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfa77f24c rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfd37091f rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1310be71 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x56678def rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x633b52bd rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7730b856 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7f579b10 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x88344c36 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x99239dc0 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa8ebdb1c rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbe58968c rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xc9eda7c3 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd0be3342 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xe4cb2753 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf88ef660 rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4283307e cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7cafdb17 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x9be28082 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf08ef06c 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 0x1c15bcab enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4d73e79b enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x56c7b6d8 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb6bc8c55 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc89340ce enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcf2a5309 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd26b6fa0 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xfd6d99c7 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x044a80d2 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x09fb068e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d437d2a lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6857cff5 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7382cf40 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x84320ad7 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa8d30256 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf17e94ee lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x240a72f7 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x5c5444b1 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x6acd3d3f uacce_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x4f69e91d dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x8ec5159c dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xfea08801 dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x0a00e5e7 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x2e2f614d mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x866e18fe mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x87500493 mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x19c10b9c renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x50f17bbb renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x00b0d98d sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0bdc5e6c sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1da2b0bb sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2b50ebaf sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2d99c828 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x30205aa3 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3b9970d3 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3bb90787 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3e719bfa sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x43dab870 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x57581b74 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5953c113 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x649087c0 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x664651a4 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6e8ecef9 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x714d7b2e sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7932f9b8 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7b62aabf sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7d6c82bd __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8cf3878d sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x94e5be2f sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9caea617 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa4cf8ece sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa6281da7 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa696a865 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa78a4d8a sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xaaac344a sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xac2e11b8 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xad3dcacf sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb2f85bbf sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb5914dcc __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb6dd5ed0 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc0828f94 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc179f96c sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd49c1b64 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd7cca8ec sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdfa752d3 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xeacb8108 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xed020c78 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xedf91da7 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf7fcee5c sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0981423b sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1fc93918 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x272a0341 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6b73f922 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x83d7b908 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x86e84d51 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xbb80c0ad sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc496a418 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xfe480aea sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x0644b6c5 tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x4b1db71a tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x5edaf143 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x60c812c3 tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xb2d1ea86 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xbe606c8c tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xcb75e506 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xd2694e27 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xd3fb1f91 tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/most/most_core 0x29429808 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2b55e0ef most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4a9b20c8 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9b891d01 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9becf81e most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9c4d7224 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xae6436dc most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb5fb6be6 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb70b917e most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc39441b9 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xdae71d5a most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xdb08ac0c most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe4e598f0 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xfcb0d735 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x6bbce6e7 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x96a2c371 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xa98be699 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7acf9e03 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x89365185 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xf7641a55 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x18f13702 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x732b54fd cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x8c877013 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x9e351fc5 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x588575d5 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xc95afc40 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x05928f66 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x06bde784 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0777f205 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0c8bd190 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x118a6387 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x16ef2323 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1a8d57d5 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1b90d6de mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1e642497 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1fda5995 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x23f8119a mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2abb7eab mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b954bc0 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2bc12e3c mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x36469c7c get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b9a4653 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3eac3303 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x412cd909 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x41a045c5 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x49691924 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4ec200e9 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d776022 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ee7ba51 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x69c8fc77 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7073e7d9 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7a5f6e5d mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7e514208 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8519fb79 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8ec452f1 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x95de8623 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9d1c20a8 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa4a9aeb4 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa62b6b49 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa87e31d1 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa9585b41 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb36cca05 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb46bfe3b mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc6aeca2f unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc968c0ff __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd5127158 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xda56be38 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdbe81e72 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe162dc8d mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe20ca104 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe5de601b mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe62c1ea0 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf1448dd5 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf1fbb088 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf2965abd mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf33aac1b get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf9f2da58 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc5e7334 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe711fd9 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x245169a7 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9b55b046 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xbf13fc66 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xbf1b8e90 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd42a55f7 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x08b1fb62 nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x20e8e6fa nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x28fb0ec7 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x584116ab nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6ff3b6b2 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x78778053 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x85daaae7 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8a88ee41 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x9851f697 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb693c15e nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xdb064c60 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf61f9a2e nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf9e07357 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xb2cb6231 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xe435849a onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x2e8711ed brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x69b4a121 brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xa777e845 brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0xd893c037 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x17e2a1ba nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x210840cc nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2c9a26f7 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d22bb3e nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x30747d54 nand_ooblayout_sp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3ea346db nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x58a685d3 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5985ea4f nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5afacb97 nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x71753fe1 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x735b20f9 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8039cf7a nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x845c6a91 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x88718aeb nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x960671c2 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x97a347c9 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x97cc447d nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa1e29173 nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xad1ffaf7 nand_wait_ready +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 0xd53c3bad nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xdfdcc5b9 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe082302c nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe6b1c35e nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xfbb85040 nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xfc2f1120 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0xee0f1b2f sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x23a7cbf5 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x89eacf4c spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x09bccf31 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x273508db ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d077014 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2fd43e6a ubi_leb_change +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 0x4f1fa8dc ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5068baab ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x56f1fc1e ubi_leb_read +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 0x8f64d03c ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xaccc0349 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbbc5aecb ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd7b92af4 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe4a5152c ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe8918cf3 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfae95184 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x00f6ae32 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x04aca294 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x06ceb637 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x17d67323 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2a481d53 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x378bce3a mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x55f55650 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x74f0c4e8 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x75bb7ca7 mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb99846e2 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xca68d0cd devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xccc899d9 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe5336787 mux_chip_register +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x7a932008 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x80f65570 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/bareudp 0x9228e60b bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x1170eaa1 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x4f81665a c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa8986f5b register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xaf8ae294 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xbac8a5e7 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xf00ebb6f c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7391a770 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x73b07ba3 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x82a85ed1 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xfde188d5 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0688cccc can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1724dd0d can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x267902e9 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2aac6270 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2bfac5bc can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x303da3aa can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x33bb1175 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x381145f4 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3c3c5a9b unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x41df6362 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x44e09824 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7446fece of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8302d3d1 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x89480380 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8edbbafc open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x98bb16bd can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9ec1be1a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa2f0b415 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa4c5a578 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xadafba7d register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd058630c can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xea6a145a can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeb51007f alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xed331f9c alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf7759533 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfad19688 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x0696a02b m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2140bfcf m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x87a52a64 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa0aeb590 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xaf9a8530 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd6dd3606 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf5b2f7d8 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfcd550e8 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5683cce6 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x83289214 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x88f45fb8 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd525ac3f free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x7995cd5c lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0b44299a ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x19e79f9e ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x205a62fc ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x27a61015 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x32432043 ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x34b1dd79 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x36fc8c00 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x43901245 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x58fb61b2 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x60190bd1 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8f1cf61d ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa1337d6e ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xaf78d6e7 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd78ee7e7 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xda6082dc ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe3fb1835 ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfc6099ea ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x438d523f rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x569de76a rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x656ae0de rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x68788f85 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x692e8689 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6eb0a446 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x90596496 realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x9349edd9 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa5b8f2c1 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa6883b75 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc65749fd rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xcdc2f673 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xce8c40cb rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe7e15eb1 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xee26a3b7 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf375d878 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x3ba00ed0 arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x64de07ef arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x2c25af9d enetc_mdio_write +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 0xe0e793b8 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xedc40714 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x041714d6 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x07829d72 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x079e2372 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08345522 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09e1f9bc mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09ef194f mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a049a5f mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0aad3d35 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fb192b9 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x113b04ab mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1159194b mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11b1a690 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1207c3bb mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12ce8444 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x130f82d6 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15f1d48c mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x175fb293 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b64e0a3 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c08e0b8 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f821b6f mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1fc2feaa mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21163c2c mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21b66f50 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24e88abc mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27187c16 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x282afd61 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28dc06c4 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29c35f02 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d29c452 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d5fe011 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fc6ffd1 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30c50b43 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x313f1e69 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3237ffc4 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x327fed4d mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x357f8d87 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x392e11d4 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a052ef3 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x404493b8 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x409d005f mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x430a9807 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x437c8b13 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4515521d mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45c56255 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46d5c907 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47b0e2ac mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x498bcb35 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4dd6d565 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4de94a9a mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e518420 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f9b0e13 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52517179 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x560a0dc8 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x577992ae mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5861b140 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cd98900 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60962e72 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x612758bd mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6565451f mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x786f3b00 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7911f47a mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a892b6a mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ac60f75 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b1abd78 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80a18df0 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8947c13d mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8acde0e8 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8adf5b25 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cec9136 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93a99162 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94e6d6f3 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9cb6cfb4 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9db9aa0f mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1304362 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1de2006 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa360fffb mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa581021d mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa997e49d mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa968295 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae7395c8 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae99fe70 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0022245 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb250fbb5 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3dc22c0 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb4de8f18 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6bdc939 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbaa17688 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbab0eaac mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc8a7f56 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe890851 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbeb7fec1 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1e5eed6 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2ac3b5b mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2ec4106 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc34c0448 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc68d77f5 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9f1c4f6 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb2699c5 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcda9e02f mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce2ad2cc mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfe26b38 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd04a41b9 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd14f0162 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd53f1387 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd79316f4 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8426885 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd608d0b mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddaefa9c mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe02ec9f9 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe102839a mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe269c737 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe575ad86 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5c62a54 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec0fa872 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec7b9091 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf47c3ddc mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf643f080 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf947c3cf mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9a938a9 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa85eb48 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe1d82c7 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0023868b mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04cf8505 mlx5_query_nic_vport_mac_list +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 0x0a9c930c mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ab4b634 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b33107f mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c100bce mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1694f149 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17499f05 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cc15a39 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23a19242 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25f95cfa mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26288b9f mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x290ebb7f mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3205836e mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3422715d mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x34d1d2a5 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651a89 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37c2a39a mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c336e1e mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c7bac4c mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3cc12556 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ee0953b mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f710dc2 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x415619d9 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x453a3c60 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4574efd7 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46618718 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4becd8d0 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4fa96def mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x538b9d1c mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59aa6a9a mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62c1b534 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c131c72 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a4a3db7 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8371215b mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x871d4346 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93698d4d mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9682f127 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9a859c78 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e44cdaf mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f67846c mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa516d7cf mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6cc624b mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7cc861a mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa8527eb1 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa12ac98 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6f46541 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb8ef73e mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3f217f2 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc667accb mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3e86804 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8f16507 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc29f066 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdead2958 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe30a9ab5 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe30ea58d mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3e7fd03 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6e714ce mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe832d5e0 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeae49bb7 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb2d657e mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed4ef0c0 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef9b033f mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf05a20a3 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf127f4c9 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5f2bfb6 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf84ba3a5 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf887dce6 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa229e5f mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfadbda75 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff906be7 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x7e764628 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_common 0x45ff0124 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6c708db4 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x76fff00d ocelot_cls_flower_stats +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 0x145b91df stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x485c82a9 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x80d308ac stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xa7a0acad stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x0f5f2d93 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x2faaef46 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x4770a06c stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x93462582 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xa21e4dc4 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x17617583 am65_cpts_prep_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 0xa3577b90 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 0xf16164f7 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 0x2550207a w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x3ae0f830 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7c6f5039 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xde2f8262 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/geneve 0x9fc2a569 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x21511fc9 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x3fc3bb4e ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x6c77c511 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa6c83060 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xfe049ab1 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/macsec 0x1aabbdf8 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x41012b7e macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4ff31b56 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x6dc91c9e macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7767d271 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x0d96e78a net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xe94fb33b net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0087f6b1 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x02f09e4f __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0ab55672 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0f054ef3 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1d307ba9 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x25f5a169 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x27c94c5c bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2810dfa4 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2dbc7a96 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x314a466a bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x37b64ac7 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3f9b9d99 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x535b7ea4 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x546a2710 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5b06519a bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5c443f18 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5e9f1c23 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5ed80ab9 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x610ed555 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x71f09894 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7c193eff bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9d0ee743 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa341efda bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa5595f0f bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb5235de5 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc8a28176 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xca51f481 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd4a05c92 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd7585e35 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe028fb5f bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe941aa73 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xed54cba7 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xefd0a10b bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x28ec641f mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xe5dc78c1 mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0b4692f2 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x484b7e49 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x608acaa6 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 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x855c3465 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +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 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc87690cb phylink_add_pcs +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 0xe60a0eed phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf0423b20 phylink_mii_c45_pcs_get_state +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 0xfd374bc4 phylink_create +EXPORT_SYMBOL_GPL drivers/net/tap 0x25bbacae tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x5a292193 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x826fbe13 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x8d8e581e tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xa7731519 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xb4a1f769 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xe45bc07d tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0xe58f005b tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xf2ff8917 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x136b804f usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x57c306fd usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb496f689 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbe1d3e72 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc7fe3661 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1394be02 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1d6ce2a5 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x32b0061a cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x48b9771f cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x5faaef6f cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x86b67db0 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8d85e9b9 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xb045e45c cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbbda5bb8 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe5e2261b cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe8b022bc cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2859033e generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2bf11d72 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2f742349 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3d06d19f rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa4d3fa06 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd46b6a84 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x13e75980 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x179f27ba usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1edfa881 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x20b8a996 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x277edac9 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30c295cc usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30e2be39 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x33f47451 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3ba57959 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3f646b37 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x437fa08c usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55cd246e usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55e4f193 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x66c253ec usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6e36b0c1 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7e063adc usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7f11fc0e usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8381cd27 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8602132b usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x89ae97a8 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x911e39d3 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x93fcaf55 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xac1dbb87 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb5a35d3b usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbb153051 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbbc7f0d6 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbf9a0cf7 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc8d86ea7 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd4c54861 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd6f7ca36 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdcdcd19d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0c305b4 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe2febdb6 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x520e7f38 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xa4234fe5 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xbb671287 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xc65f9500 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x05b55c8c i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x200303ae i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x29f0254c i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2df95f30 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x417bcd56 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x444c6eaa i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4f360408 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x69f12736 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9cbf18d3 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc22b2af1 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xce55da4a i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd054c300 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdbe49a60 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xeb92c20e i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf49717f4 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfc71c8f5 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x31bc16ba libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2eecb1f5 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e78b08f il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9aed7def il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa3e19827 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa956de16 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x05891f1c iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0ab9b9d0 iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0ac3a803 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0e025b09 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1087a5cc iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x10d95ee1 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1332e4de iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x13bb6913 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x22453c63 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x284df603 iwl_acpi_get_mcc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2921f428 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x29bc3986 iwl_sar_get_wrds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x30d449a9 iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3135e4f9 iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3ab08458 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3bb4f6d5 iwl_sar_select_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3eb1a815 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4553995c iwl_acpi_get_eckv +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x46214144 iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4e8cac5e iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x50033e6b iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x52bb368f iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x57db372b iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5988395c iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5aa1f589 iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x63808213 iwl_sar_get_ewrd_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x65fc5acb iwl_sar_geo_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x741a6bd5 iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x76323dc6 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x81bd25ce iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x826395d7 iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x858c3664 iwl_acpi_get_tas +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x85e44ccc iwl_acpi_get_object +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x86243964 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8ea95bef iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x920fa9e1 iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x960ff1c2 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x973b9b16 iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9bb491c7 iwl_acpi_get_dsm_u8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9c986608 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9f3846ed iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa0ee79c7 iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa6e50380 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb2c7f2c3 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb552c2d8 iwl_sar_geo_support +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb554c9c4 iwl_acpi_get_wifi_pkg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbf7b849b iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3cc26b1 iwl_sar_set_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc833476b iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce470d18 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcf2277d7 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd365bd6f iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd7af3961 iwl_acpi_get_pwr_limit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdfeb7474 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe0eb5838 iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe141e3e9 iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe192c754 __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe1c1efad iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe2c083ff iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe4d37b31 iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe6601969 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe729d715 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe75b7e77 iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea4ee5c2 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea99a2e3 iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeb84eccd __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xed2a591a iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf091eb2e iwl_sar_get_wgds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf103ad15 iwl_validate_sar_geo_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf6f977fe iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf88964e4 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfb993245 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfc4af951 iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfe639711 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x16cafc51 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x1a220216 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x352f313e p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4d0bd860 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa0c8e877 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xad40fdeb p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xcf472a9c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xd63ca83a p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xfe6521e4 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0d4a613d lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0e3b6c96 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2836122b lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4173570e lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5ec958dc __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x62327ea3 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7f64decf lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8d294079 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x9453c648 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb7d40088 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd68fcc08 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe7924a5b lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf3fa3aec lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf41c51cf lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf5870565 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 0xfe3d8c42 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x0b538950 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x360b3e8d __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x45e1b69b lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x5d12a7db lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x651ec905 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x73850741 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8d255f27 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x917cba40 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x032492d2 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x05747dd5 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0db4e7fb mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x139da7f1 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x15be93c8 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2b8a66e7 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2f0f15f7 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x31a79d35 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x59f11a45 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x618be889 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6799ea8e mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x690b53f6 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6a4cd9fd _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7b7ffc69 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x899babdf mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9215498f mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x95b1690d mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9689bee8 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb7575a3b mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbb66cb53 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc2e3bdbe mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc7f6f1ea 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 0xd77d3709 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf113adae mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01b70f0e mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0b217b83 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0ede4119 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0f88c6e5 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x105431da mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x11010067 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1418c273 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x155b7327 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1b145687 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1eb1122c mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f14d573 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ff3ed2e mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x22071d48 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x25be383c mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x31245027 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3a2cf1bb mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4d7b061f mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x510702b2 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x55784ab2 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x56b957ca mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x579823d5 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5aa3fd49 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5ea0aa28 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x604d0f1d mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x618cae6b __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x61b618aa mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6580e230 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x65fb3e0c mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6753bdc4 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6953c477 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x70a09301 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x70ac92f6 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x78a8fc8b mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b209454 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81b98fc4 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x837d4c9b mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x860100b6 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8cc45ac7 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8f6c7eae mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x90f49010 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9b158741 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb2339106 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb3451f34 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb27c443 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd1775f5 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc07baeeb mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc3896e52 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5fc58a3 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd705c27d mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbaf1db5 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbf4b4f8 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdd5a19a3 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe39add50 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe6b1a69d mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xea9cbb92 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xead36c09 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb0b3226 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xec61c1f9 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee441033 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf45cf55d mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf94944ba mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xff35e9e3 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x03e69b26 mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x33f38878 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x54df66d7 mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5a05be7f mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x691dbacb mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x69e55a00 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7411e24f mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x989af927 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xee94e755 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf07b3e91 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfac6091e mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1bfc54b3 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x23393594 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x296de23c mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x370c4e5a mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x39c0e698 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3a0eb28e mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3b932613 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3e0f0999 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x44763cef mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4cd8fa0c mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x573ef8c0 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x587af266 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5a9e9f87 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5bc49110 mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5dd6f6c7 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x72b5cb31 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7bcb3b9d mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7d95bd09 mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x884db240 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8d890066 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x95fa4684 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9fca6250 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa3ee276e mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xafe07e94 mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbd8e1cb6 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc2b616a1 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc3f02bde mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc4e16e24 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdbe0c845 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdd9af05c mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdedba6d1 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdf7a260c mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe5e8afad mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xebdd48b5 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf1d6645b mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf30b9706 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfafc1a4e mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2bafd97e mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x588aebaf mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xafe44c4b mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xb300ba99 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbc966d18 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xf6e9d63a mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x01157f9c mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x030cac01 mt76x02_init_beacon_config +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 0x0508e9d7 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x057d154c mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x07871045 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x07a25eff mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0be098a6 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 0x1188b595 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x15347510 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1f0e9c12 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x205afde3 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x20bb0c5a mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x234f5e0b mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2ae61915 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2b0b1b58 mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2bebc144 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2c60c126 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2e2672a8 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x30023941 mt76x02_update_beacon_iter +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 0x369f0b17 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3d6c3d2f mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3e2e0c5a mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x456e8b39 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x48af7b28 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x48c6f233 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4a6669bb mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x50b79344 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x51a9dcd0 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x526d05d7 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5ad1d488 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5dbfe818 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x676cc3d2 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x677cf3cf mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6ee61e11 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x714afef0 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7184ad15 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x757dc8af mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7db3074f mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x84a4ae4d mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x88d7fbc0 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8f3d70eb mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x914d4b03 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x94dcae3f mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x97334507 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x998452ac mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9ad1248b mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa603a53e mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa8841788 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbc2fa31d mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc3d3a84b mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd2553063 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd4baa13e mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd63bb332 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdda330eb mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe0122f0c mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe1c4915b mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe563573f mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe5d67719 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xebd5c376 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xec1d083e mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf5ba94dd mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb24b5c8 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb66693d mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfd38b0e9 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe336ed0 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfee047c1 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2bf7c0a5 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x4e4c945a mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5fa65381 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x80af155e mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xb012ba1c mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xba52fbaa mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xf2b44857 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xf7f22f9f mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x043740dd mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x07e796b8 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x13fc93e3 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x24a30d25 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x26ead60c mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x435fe452 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x496f8efb mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4c851e35 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5fa5135d mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x84e8aab8 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa41f57ec mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa5ce3911 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc387b9dc mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd6b006e5 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd7fe93df mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xef8ae2fd mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf2ae22c4 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfbb0380c mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfbe53571 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x089cc18e qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x145d50cb qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x29948a32 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x2fe81f8a qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x9374a415 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x99766d14 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xe6aa7dc3 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xeca13c8c qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x08e0333a rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0defd602 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0f056578 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x14da7b4d rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1907c73b rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1d33d8fb rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x239cbaa6 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2429bde4 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3cb74d16 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3e1c76ca rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3f2011b5 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x43735553 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x47541545 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4d1644f2 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5134d41a rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x62a904cc rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x66601ea5 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6a50e84e rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6b5bb06d rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x725b7dfc rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7650c37d rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x78c699ed rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7d22de29 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fe6c4e0 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x83a49867 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x86de794d rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x92befa51 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x93a8f500 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x946c0d8e rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9951c30a rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa3cf1082 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xac36a3ec rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb8adde62 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbb96869e rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xccc22034 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd2cbdd5b rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd620b4a2 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd86a807e rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd8c495dc rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdf82a070 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe268d9d1 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf8a25f62 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfaef4a08 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfb185db0 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x10471574 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x25a7676b rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3ada2dcb rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4a8f203d rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5810f6fe rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5e9fde61 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 0x691b1aca rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x792a41f4 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8b505a4c rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8ddc9f00 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9d938601 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9d9f387a rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xbeee6520 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd5c0ffdd rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd72bf2b3 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe78ab868 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x02a18b77 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x04d41024 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x13513a83 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x14e55221 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x14fc6948 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x23112c02 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2bc8cf0c rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2f009912 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x31b7dabe rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3ab502ce rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3c6ef295 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3cb2f386 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3f9b1df6 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4525ebef rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x45affb34 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4d7da6ea rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4ea851d8 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x501b89f8 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x59016d62 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5b2bb3fc rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6937bbf3 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6a8224ce rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x72bea613 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x76a82013 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7ab7daa3 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7e7fce8c rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7ea79c5a rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8cf67391 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8e3b55c7 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8fccf20d rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x955a6dea rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x96442fca rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa0730a10 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb4bcfc5f rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb9c4ecf1 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbf40a356 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc1800112 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xca40ab5f rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd03f7cf4 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd86a0104 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd8721d21 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdcd6253e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe2270c3b rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe40c0068 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe88b6c6b rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf453ac00 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfc153e08 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x3de56255 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x4fc1a742 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x9f544811 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xa1c7ee4d rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xd9005ff1 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x06e0e982 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5f661b3f rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x87d01906 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xab552443 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0a644d91 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x190ba075 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x2bfdc66b rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x32101a24 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4f1fe63e rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5038a596 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x54c71017 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5c23f129 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x661cba56 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7ef15027 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x85dc1c88 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8a8f3b1b rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8a9abaaf rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xcb705e4c rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd9c56256 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xfcf9bad5 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0b669178 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x60b0c716 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9f08c288 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa6e93eba rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x05651d66 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0a3a0ada rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x14ba82bb rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x152d22dc rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x22fee76a rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x239f48b8 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2ad93503 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3239750f rtl8723_phy_path_a_fill_iqk_matrix +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 0x408b33b7 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5085dcea rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x513f2084 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x649fa01e rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6912b1a3 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6a20c385 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x89fdef2c rtl8723_phy_query_bb_reg +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 0x8dcab76a rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb10b8090 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbc1059e0 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbf1bc854 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc5aca556 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcb0d1df1 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xddf1ec34 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xef06db24 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf9b2fdaf rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xffc7af9a rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x074ce244 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a869b2d rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1cbbbb34 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x20e37470 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x24a6e88c rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x29ee7005 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2b2f8697 rtl_lps_enter +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 0x3a223352 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3d80e569 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4103cdc2 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x44dc4752 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4c496082 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 0x7a879729 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8dd3d0c1 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8efda1fb rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa96fcac1 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb927f605 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb95f80ed rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbcf88055 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbedbeedf read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xce646d8b rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe95f85f7 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xea2fc3aa rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb0bc776 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfbff9d76 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x3c902e5e rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x521422cf rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x6bfdd2ee rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x6c8e5735 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x75201987 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 0x15e0dbe8 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x25458e3c cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x87fa6a93 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x9edefa11 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7ebf6549 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb63e9f15 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xc50cd132 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00c029cf wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0a470796 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0fb576b8 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13736314 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2b7ba10e wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x30f9f9e4 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x397f9827 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3c5aa46c wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3e66e294 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3f0dc898 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4846bef1 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x49ae9e90 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4a0954ab wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4c8314c7 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5d867f9f wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x626e2178 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x64b7c222 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x64f7223e wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6925e374 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6d167c7d wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6f349973 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x70dbed8b wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fbbec92 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x841f8b3c wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x87e920d9 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x99baae60 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9b731033 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa2152492 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa60ad768 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbc657820 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc34000eb wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc381019f wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc7ceccfc wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc7dada91 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc91784bb wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xccaeaefc wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd254822f wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd7d58198 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdfe73812 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe2a4f8dc wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xed2221bf wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xeed205cc wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf7234d46 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x07b263a6 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x14a2d5cb nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x68d0b51e nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7dccc64f nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x5218e93f pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x654df904 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa3a7da3c pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa8ba7ae5 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb8b7d315 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xe1be6fb0 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xf169958c pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x06fc58aa st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x43295e8c st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x59f59658 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7c22de8e st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x835648c1 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xabd5d20f st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf330cd74 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf9e6d876 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x452341b3 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x89ae2200 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xaebb2856 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x02cd42da 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 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xcdc06478 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 0xf8a2eda3 ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xad7b742d virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xed25d890 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1e685f05 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2cb3e831 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2f337a9a nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3611140d nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3f28152a nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x437ad7a2 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49755bbc nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49da1842 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4b960cae nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4d3ff832 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54085d0d __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x615d36a4 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x640446be nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x66b9abe4 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x67d6884b nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6d2bff05 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6f056d1b nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x722042d3 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x75424af7 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x83d36634 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8b3e2eb2 nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8ef7ad9a nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8f0676a8 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x936b77b7 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9aca4665 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9ebe38d1 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa76d2256 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xab54fd00 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xafff7335 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbd506e09 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc37aed48 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd02ab9dd nvme_set_features +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 0xd5f9ad5f nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd7f184f8 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdeb9ffdc nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe5faf657 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xea27e623 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xed3c179d nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf774a3e2 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x007f77a7 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x68ab9960 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6ad0d50b nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x73cf26ec nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa6c008a2 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa71822be nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb58f32f9 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd3b80fa3 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd7a1afce nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdebd057b __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe0cf8d74 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf856dbd7 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 0x62e05b37 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 0x083ca739 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x180409dc nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5157f166 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x74569f0f nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x93559c32 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xa29e78f4 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xd0534143 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe222ac23 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe885271c nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xea4a30f3 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf050a02f 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 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 0xa1bfb29d nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pcie-iproc 0x6f14cb65 iproc_pcie_shutdown +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xe6308d49 switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/allwinner/phy-sun4i-usb 0x285deb44 sun4i_usb_phy_set_squelch_detect +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x1e0a3bd1 ufs_qcom_phy_init_clks +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x3ec3d2f1 ufs_qcom_phy_init_vregulators +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x6ad84c46 get_ufs_qcom_phy +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x7ce4516e ufs_qcom_phy_power_off +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x80d0cb6c ufs_qcom_phy_set_tx_lane_enable +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xd65bbd03 ufs_qcom_phy_calibrate +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xdc1851a2 ufs_qcom_phy_generic_probe +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xe339c551 ufs_qcom_phy_power_on +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xe478478e ufs_qcom_phy_save_controller_version +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x845e0f89 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xb425ab66 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd230489e mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x0183e0ff cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x14b41622 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/power/reset/reboot-mode 0x132fa901 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x322ea8bc devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xb5c1a8f6 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xbaec8c76 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x8c9c7d8b bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xd2406ac4 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xf6d18be2 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xb9b925e4 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xbada2800 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xfb3a9421 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x1bec2497 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x24867d40 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2e4ec2f4 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa3900106 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa8b2c8f7 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xb19b1269 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xcd9a0907 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xf2948d55 extts_clean_up +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x032196b3 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x08a419cd mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x19afbd9e mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x41fc8239 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa60eb588 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x52972de0 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x66104d4b wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6b3c6b1b wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x975e8051 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa2bb2aff wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcd34a0ab wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x6f37d829 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x312d5f54 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x389eea2a scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x4a450355 scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7e548bc7 scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x845f5c0c scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x91004230 scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xb466b9da scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x4725c203 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x5b6129d6 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x74300660 scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x8891224f scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xe849509d scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x31bfd40e qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x3253228d qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x4c350a90 qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x60485f8f qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x61356d00 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x724fa632 qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x86a84622 qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xcc9d9589 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xed29be54 qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3679b752 qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x61d0496c qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x75fe050f qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xe85fdf60 qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xeba9fa5d qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xf5d1ddca qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0x6114c0fd qcom_add_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0xf9ac4989 qcom_remove_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0x46d5d781 qcom_register_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0xe8aca651 qcom_deregister_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xd00ab0bb qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x86903274 mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0xef3b96d1 mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x17ffcfca 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 0x398801ee qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x02575200 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0fdd9520 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x18a206a3 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1ab4fee6 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1bef2225 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1dc79409 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x25e76860 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2a0e12da cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c442878 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3500f68d cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x362a5e8d cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3aaa341d cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3aaca884 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3ac0ecd7 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x41417d3c cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4388e0fe cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4892ad1c cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5254467a cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55f7d22d cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5ba97d18 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5fe458b1 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x661c1952 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6e92aa3c cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7f3b8838 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 0x96122080 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x97fb155c cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x997ac16e cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa0a97088 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa71e1335 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa957a1a5 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xacd48e28 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad8512c0 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb26570b2 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb9d64dd4 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbbad0c5b cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbeae6bc3 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 0xc154fb86 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc407df46 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcc934465 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd124591a cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdc0c3ec8 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf11f1781 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfa1f0fb9 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfc00a564 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x01be1bcd fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1a8aa7ef fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2e65debb fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x32f5ceeb fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6867c656 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x68b85234 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x72be2418 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x752f2f65 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7967d2d8 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7bdb3b8a fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84fb9d15 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x88e97dcc fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8c439826 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe8a8f781 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf075a1f9 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf15c022f fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x06d42037 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x0d00bf36 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x052e742c hisi_sas_phy_oob_ready +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x0613f827 to_hisi_sas_port +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x14b819a4 hisi_sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x23cad416 hisi_sas_controller_reset_prepare +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x242b99ef hisi_sas_debugfs_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x32ed4fb4 hisi_sas_scan_start +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x3f7d3619 hisi_sas_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x47db438c hisi_sas_init_mem +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fc22123 hisi_sas_stt +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x507a5c64 hisi_sas_release_tasks +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x54c05540 hisi_sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x65eae317 hisi_sas_slot_task_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x74369364 hisi_sas_debugfs_init +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x878d38cc hisi_sas_sata_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x90f7a58d hisi_sas_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x98215329 hisi_sas_controller_reset_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x9b807c91 hisi_sas_get_prog_phy_linkrate_mask +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x9e6a8d7d hisi_sas_sync_irqs +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 0xb12a5646 hisi_sas_debugfs_exit +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb5509276 hisi_sas_phy_down +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xbb42ab1e hisi_sas_probe +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 0xc75f673d hisi_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xdb21eceb hisi_sas_stop_phys +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xdce74090 hisi_sas_get_fw_info +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe27dc586 hisi_sas_scan_finished +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 0xf65f3123 hisi_sas_remove +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xfc2ce2cd hisi_sas_host_reset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x0494d840 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2318d0e9 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7bc22244 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7bd4cf05 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc4732131 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc5eac448 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd81a3ec8 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x14690f36 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1ad68a70 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x22b2daa3 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283ebe52 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a8bd8d2 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3350e75b iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x38803ef7 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x39960169 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x459d585a iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x45e8593e iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b41a0a6 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4c2c431a iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5770c603 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dce182f iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x677f4647 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x72bace61 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x75c527a1 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c945fd5 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8501361d iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x89f0c160 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e416adf iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x96c0485d iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9a70d3c0 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9d216bbc iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9dd95c46 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa00eff29 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa2a6c02c iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb8c5c88f iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbc0d0cbe __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbda67199 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc2dfef35 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4acf7f2 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd10697f5 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd1e6f854 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdabb37c1 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdccfb32a iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe16e4250 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe408646d iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe492696d iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2a914c1 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf46c16c3 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf55180ec iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2e0aedcd iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x322daf6f iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x34bfb6fd iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x47bfc505 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x505b3871 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x534bee57 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x54f579eb iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x62155ed5 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x643c1c9c iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x783b8074 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7e3ff6f0 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8637c54e iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9e5d3577 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd2242b16 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe7726b70 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe81634e1 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfc13f6ac iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08c99264 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0c2bfd30 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x16576ede sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x221044d3 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x26249ac6 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x30051c1e sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x38012b46 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x407eb191 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45954a0b sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4bc6cf1b sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x52c9c16b sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x62523240 sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6d12f4f7 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x723b0e64 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x86e33caf sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9050b01e sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xad71c9d1 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb085e452 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb44cc311 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4c235ea sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbd2bcbbe sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd0a26459 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf05d1620 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfe78bbb3 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x040553e2 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ade261c iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0e83f5c8 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x128978b0 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1328325d iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1c340c5e iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x215582c5 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b0e521b iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3133dc5c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x314fff1c iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x326035bc iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3288544c iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x351a35d5 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e1193ac iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e2733ff iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47867762 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4793c071 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x525b9771 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x594298a6 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5dae0adc iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5fc46b29 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6751e75c iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6f73ccb4 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76470b6f iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x784bf84d iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x793b33f1 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b2f61e0 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8fd90015 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x908648cd iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9517f4ca iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a3505db iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa6db8a3c iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaac3519d __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaea92c90 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbfb760d2 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc1b26bf7 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc713bfb4 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca5b491e iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd0e295ac iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd243663f iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4697d5b __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdda24882 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2e1077f iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe9c45f49 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x22a0ca9b sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6394edf4 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd2988ae8 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xfbe6a17f 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 0xf88caa33 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x0bcc59d0 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3037295c srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x325ad869 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x86a70a27 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x93eacda2 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfa72f7f8 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x060c729d ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x21532db7 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x40b88a1c ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x595b208d ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5e88957a ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6522bae2 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x81257d21 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x812bfb35 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa1bd44ca ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xaa39d934 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xccba54fa ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe65a6d94 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe86203b0 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf37dc227 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf60df443 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x1f1c6b47 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x50264942 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x6d8c9798 ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x7355ad19 ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x96a7541f ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xa5a9f936 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xc68b5695 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x14b3fd95 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x54dab472 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x755fc6b0 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x9a9793fb siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xc6ae6b61 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xcf3f632c siox_master_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x04ca2b1a slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x062670ab slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x166f1326 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x19bd3f5c slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1f55c537 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x335bb0e6 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x452d3a77 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x456b52f2 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x487db57e slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x48ac9d9d slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4c9bce1a slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4dca10f3 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x50bf596f __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5a0fe1a4 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5e7dcfd5 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x61e0894a slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6359f761 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6e151cab slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x74035c8e slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb10ee72a slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb4aa96d6 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcd80121f slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd36f930c slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe19a4c79 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf083e793 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfd14240c slim_do_transfer +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 0xa561fe75 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 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 0x7de0244f 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 0xab88dfe0 dpaa2_io_service_deregister +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 0xcf20c0b7 dpaa2_io_service_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x58f2c3bc apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x753966e1 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x79c321af aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xd8bceb27 __apr_driver_register +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 0x07947672 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xa1c6a5b9 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 0xef910687 qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x3363f0a5 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x94514c5b sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xf05e372d __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x04871317 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x0b25a0df bcm_qspi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x2fae9db2 bcm_qspi_remove +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xa4e71d5c bcm_qspi_pm_ops +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x207fd5ca spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x346a155a spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x53f90c0f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x860cdfa6 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xaca7563d spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xced42d85 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x09027c24 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1c7ff36d dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x277046fd dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x43f47e43 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x5f71cbdd dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x7a51b356 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa4276604 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xea7a04a4 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xfdcf9ca8 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x498743f5 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x5b669b84 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xed48a4be spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0899982a spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x136be1ca spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1c7d1077 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x25da3e79 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x313b77d9 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x343d7214 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x346e4d3e spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3f39e5eb spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x49e21c85 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x507ea24a spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x69c9ee46 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7a7395c2 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x882fef88 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xaaae0525 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xbf133f70 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc6b51613 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe2dfaf97 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf770e086 spmi_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x668668f6 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x03abdb08 comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x051f1308 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x073fcc70 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x095656a0 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0ce3229e comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0fe0bd76 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0fea5117 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3146f0ae comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x31662844 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x363b92da comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x43f0b613 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x455f9543 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4630c930 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x58132e1d comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5c72cdfe comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6b3b5ed6 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x753c0281 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7afe9172 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7d632913 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7e514443 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x81b7b797 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x99acdd5e comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9c15ea5c comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xae8c48d3 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xaf50dcd0 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb6332e1d comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc15496a2 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd6bd04a6 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe1f34a37 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe2cddcab comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xecddb45e comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf56e1f14 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf95b763a comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf9e63b24 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfa75b2b6 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfef93159 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x1738ecfe comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x1abd756e comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x391a88fb comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x3d83de8e comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x53589f94 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x8887822c comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xba2ccf54 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xe3bd9b56 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x18a0bc15 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x7ed66a33 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x855dbe53 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x8a315798 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xba428162 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xdba45e19 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x9208dca4 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x1d74bd5d amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xa98e7434 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0x59fe9cd1 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x0cbcf3eb comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x20991e6d comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x2ed3bdd7 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x4015cc4e comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x44707956 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x5c850dfa comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x6ad1d201 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x72e294a7 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x94e9d69b comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xbb979f6d comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd465d758 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xf5d51cc1 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xf62699b2 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x0759af8e subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x19435578 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xb7a1a01c subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x5d882676 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x039fc171 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1ff07c8b mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x27b4f4f7 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x58ccb24a mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x6a0ad2f4 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x6f01b5d8 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x777a8d92 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7b9c4fd9 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x835ccda2 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x839b7b53 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x92424fe3 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xa56711b0 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xbfc1c2f5 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xf5db354f mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xfe445980 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xfe47209b mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x053ce676 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x34986b3b labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1115a15e ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x185501cf ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1d65754b ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x23379a8f ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x28be39bd ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x2d0f0a83 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x381c8e7b ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x682d43d3 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6e028552 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7782845a ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x78b0ed65 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x99cb8c5d ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xaf44a96a ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc1459e81 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc4225fc0 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd570b558 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1a913727 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x290e2788 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x5cb0fe8e ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xb77793f2 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd1b1e965 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe87c3a17 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x251400ec comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x38427df5 comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x4643c47b comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6cd8037c comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x74aaeda6 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xaafdc36a comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xd6c8049e comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x025ceaed anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x069b1342 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x0b0886d2 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x175218fe anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x20d407fb anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x2e0f3072 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x34af277f devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x4a504121 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x954b00e6 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x96f5d93a anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc5c2f992 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xcaf09973 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xd06ef942 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x0c4623dc fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x8480b23f fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x886626a8 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xc82f51fe fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0985bb30 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x292ec4d3 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x2ab31011 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5a3d1532 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x653297a5 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x68113e3a gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7a03cea9 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7aa09725 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x944ac31c gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb4d7410b gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc7c490ea gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xcbb9ebc1 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xdcab7213 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x047a9527 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x282fab4f gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5f410fa6 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x649b062a gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x6d6a6010 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x72e97fba gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x77a5b00b gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x8be8a73a gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x9f537e70 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa48977fc gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc6db7daa gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xceb6daf6 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd5e45fcd gb_audio_gb_set_tx_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 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xa95cfb4f gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xd3253735 gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xb8f62699 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xfe9ef43e gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xa763d1f6 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xb1f4bacf gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0xac8fc936 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0x1eb022b8 nal_h264_read_sps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0x23aa2327 nal_h264_read_filler +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xbd5e12e4 nal_h264_write_sps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xcf3e2bac nal_h264_write_filler +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xe994780f nal_h264_write_pps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xfd5aaf1f nal_h264_read_pps +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0ff71c69 amvdec_dst_buf_done +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 0x12816b69 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x168bf6a5 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x17052df9 amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x30fc06b3 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x47851db9 amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4d6c0a68 amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4e400813 codec_hevc_fill_mmu_map +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 0x6abe442a amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x8c0aca92 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x95544462 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa29b2877 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xaaac32d7 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbb25b3d7 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbe18090a amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbef2a0d5 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc5adcbe3 amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd375150f codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd4e8fb98 amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd92198ee amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf2ae7687 amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x01b46e8d synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0ec9e1ca spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0f843d0b synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x14a077f4 spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x311f436b spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x33fe5203 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x374bf49c spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x56d01abe spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x56f1fb6f spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x619533a5 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7cbfc2fb spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9157eaf5 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x96bd03b0 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9713360b spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa7e60a77 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa9290d07 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaf7d79c1 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x064ef906 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x0e2a6fc8 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x10f7c9a1 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x2162aa09 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x6dc10e76 chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x851a6a39 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xa60d436c wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0082da62 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1030662b tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x11068c58 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2f2d8f35 tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x36f4dbda tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x40695fe9 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4b9228d3 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6d2a165a tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7149d344 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x948c4876 tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb235c367 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb4c0b878 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb6eec7ed tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb8b48d13 tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb94c5602 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbf14ab2a tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd0cce22b tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd17f44a1 tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdc694435 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe0bb74f0 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe42c3eb1 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xeb0c172d tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xee82e8c8 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf730d65e tee_client_get_version +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x09ec3a5f tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1d347cf7 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x23ee8f05 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x26f57213 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3d62a00e 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 0x5a94bd43 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5aba3bb2 tb_xdomain_find_by_uuid +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 0x66d10e6c tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x70e9cf71 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 0x79bf1ab2 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8f01904a tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9993ce9a tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa6431716 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xca0965ed tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xcabc08ca __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd33d4a3b tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xda6351ca tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf4fd3c16 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x19adbb00 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x269b3463 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x85551f29 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xbec9041a __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x9f39bbc0 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xab5f49b1 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x2b08a134 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x63538bac ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x72c35dfd hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1c537594 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x39717284 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x3aea0cb3 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x9d3f9ada imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xa48c16b1 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xfda56240 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x11f525ff ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x4c0402f4 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x735e1247 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xacdeab56 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xb23dd157 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xeba21711 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0f3a5d15 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x43020bfc g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4ede1921 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5ed98d67 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x88a1d59e u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xa954c56f u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0ce920fe gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x188516bb gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x2c74bf4a gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x304c953f gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3e424391 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x41800756 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4e4f41c1 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x63dc3127 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7104f016 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9bfb8b19 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xaebdb57d gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd2839475 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf0a46027 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf55bd822 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf7af9e30 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x34ba511d gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x49b745c0 gserial_disconnect +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 0x83321efc gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xa9c15d95 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 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x33b4f2d6 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x35cb2ad1 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x57f469c5 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x10206e45 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 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x20a84c30 fsg_store_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 0x35a48822 fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3860c8a6 fsg_store_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 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x55411c98 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 0x6576a2ff 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 0x8186991a fsg_lun_open +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 0x893e7cd7 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8b3910f0 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x91da5869 fsg_store_nofua +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 0xaaa1d0a9 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 0xacc5acc6 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xafb3b553 fsg_common_remove_lun +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 0xb8447c87 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xbd3dda0d 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 0xf47f32b1 fsg_store_ro +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 0xfb529e45 fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0849d55d rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x09f729c4 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x34feea56 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3da53f9d rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x79620995 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x82d70d28 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8325d0d0 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x88075256 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x96f92d1f rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9a7cbacd rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9f30ec35 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd3e72ebb rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xee005492 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xfba13f27 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xfd2d4ce9 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x01e6fb60 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c09ae29 config_ep_by_speed +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 0x1a20e754 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1f112d22 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x21f026a4 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x350a48ef usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x42083149 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x43241844 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x43b43c7f usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4d76cec4 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4f5b982b usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4fec3d72 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5359223c usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x540887be unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5508bde2 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x55d1bbe8 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5766411d usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x57e08eea usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5b9d763b usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x61390af0 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6fb988ef usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7b65a257 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x823b6c5d config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8a4a7fa2 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x93d370f0 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa74e047c usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaa3f2bfc usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbe3ffb55 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xde77cb6c usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfd361c52 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfe4d88cf usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x13d27762 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2ed02ae4 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x58c120ee 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 0x6669b995 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x88282973 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x90c2b930 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9133dd0e udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xa7bc3009 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xfab6df55 udc_remove +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 0x0bd2c6cb usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1de137a3 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1dfbc2df usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2152316d usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x29803cfd usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x420b8cf7 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x472278af usb_gadget_activate +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 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x722faab5 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 0x85488113 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x90e3fa62 usb_add_gadget_udc_release +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 0xad70647e usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf5c6427 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaff25d8e usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb2efe96c usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb306618f usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbdc0f14c usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbe00a8f3 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xced4a291 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcfddbc10 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd3ed915d usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe5fd694b usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe9381e6b usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xefaafa4b usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xefb5d12d usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfa923f9b usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x0c25e33d renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x2b8cf96f renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x4116688e ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xb119d6de ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1bbbe551 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2a242e29 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3f500998 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3fabc34c usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6b2ccc60 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8d3582d0 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xec214e66 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf1dea8a0 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfca0f1ac usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0376c623 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 0x5e358205 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 0x7fc6c820 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xa34dd1bf musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xb8bd9f1d musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xc02ed70a 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/phy/phy-generic 0x46700d14 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x7946801a usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xaaed7a3a usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xd05ea845 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xe345027a usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x759078ef isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x9e5f2071 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x12c27f4a usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x22bdd616 usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2d9c0262 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3033db86 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x422230db usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x55493216 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x58b71622 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c0f0fda usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5f987a67 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x63616ccf usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x73aee522 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x780190df usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x807f9e90 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8c57b48b usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8d01e81c usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8e409b66 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa3ef9412 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa6dac968 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaaec6b07 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb8b4b7e2 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe20bd556 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x0505ce9c dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x6ccaf16c dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x54d00ae1 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_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 0xf34ac351 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x04a3ee43 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x100fb8c8 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1e6d559d typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1fc9e222 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x315f9e2f fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32c77f38 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36aec674 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3dfc61a5 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4198f6aa __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x462fff35 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4d0f43c2 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x51f923d0 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6144d713 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x63b7acbf typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x72b22983 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7527476a typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x754ea347 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x778fffdc typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7a6331df typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8ca5bf4c typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9692f291 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x992a1397 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9a8d01f0 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa2e46c63 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa741a1bf typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xafda8d4e typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbd6f2d13 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc541b9a7 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2420d55 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd53b731b typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe9d33f1d typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf4887d86 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x0cf985ce ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x26db4db7 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x536e1b90 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbace9806 ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcadc1de3 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcbb6fb0c ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd77fce09 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xebf369d5 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf9fbdd52 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xfa87a2f9 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0790b1dc usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x12316c70 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x76f7a4bd dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7eccd043 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9a48d996 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xafdfee7c usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xb5708a69 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xbb6e82e8 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc44acfcc usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd2723de0 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe6c8912e usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf27f347a usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf9b844af usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x71b6d45f vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xd61ca31f __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xd8125e21 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xf99b985a vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfaaec15e __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0xa0a78430 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x04c09dd8 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x27604453 vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x3144163e vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0xa267c164 vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x075eb9cb vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x265ece98 vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x4bd9c328 vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x51c45a6c vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x839d3ff3 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x87de0644 vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa79dd6e6 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xb0cb1778 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xec20060f vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xf8e3a28c vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x41f0ab88 vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x5a836655 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0843d364 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0d688610 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x13c66a08 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x14ac9521 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x183f30bb vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1ce38d4d vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1e3384c3 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x239c96a6 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x267b0757 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4204e8da vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4c47f324 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x52ae350f vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x54a9bc75 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5f21baf6 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6561c61d vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6da73014 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6eb7b717 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6ee8068b vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x75be0d36 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x79404711 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7e4d93a4 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x83fdf7d7 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8777e74f vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8b8da506 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9dc162f9 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa19e4c34 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa39ecc40 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa70b9b55 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbb21ae37 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc81d97ba vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcf681340 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd3d195e9 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe573a6a4 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe74ae99c vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf088e377 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf7cef7fa vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf924d18a vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfbb9016d vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfc5c4b1e vhost_work_queue +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1b6df00d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x22fff3bd ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2816c6fc ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x589da098 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x71033608 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xde62bf15 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe13ad0f1 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x47cbf12e fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x4cc8b73f fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xa297c6f4 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x71587fbf sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x89fc0db8 sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x143a46f1 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x31c6fe7f w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x39b76ccf w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3ad565e9 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4d5dd390 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x55a8aa17 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6dda4b20 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6ebd97a1 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa1c8ba57 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa3155e07 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb52ce9f0 w1_write_8 +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x58116cbf xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x62c285bd xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x964ce819 xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xd0bb8c5e xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xe5bf928f xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x10a11e92 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xd9f06b8d xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x33806996 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x35bb97ed 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 0xacf1e8eb 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/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2a15bae5 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2c4593e9 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4420116b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4ffbd2cf nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x54473c1d lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa04cd52f nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe8c0bfc0 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x016a493e nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02b3ee49 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x047a8e88 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04dbf010 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06500a6e nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a9c3d0a nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0abd0b99 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0bb80cbe nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0cfef311 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x102b6c3e nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x151081a7 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x151a8d63 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x169ca6a2 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1caa1873 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f22f81d nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fe666a1 nfs_flock +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 0x2ac7c790 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2acf4044 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d7569a6 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2da5138e nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30b17dfc nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30b6fd32 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x315cd903 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31ac2c0a nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x34de2b9a nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37cb64be nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37f49691 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3951ae70 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3d26db07 nfs_mkdir +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 0x43b68900 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bb151e4 nfs_lookup +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 0x547ef756 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58d0b031 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59affe3c nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59e6a4d5 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a07e4c7 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b592cda nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5df4f74d nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f0c11e4 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62d0b5a9 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x651af352 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6898eb17 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x68d73720 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6decc2c5 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e5430a9 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e876888 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73bcadf7 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73ec549d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74a3e7e6 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74c7f5c0 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x751508fe nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x761f582f nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78444288 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c629467 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7de7dae7 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7df0bfc7 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x81f89c64 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82b48aa1 nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82c4cd8d nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85e8263f alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x893b9010 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a1ce09e nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e4437f3 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91382126 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94e5e5a0 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x968b230b nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97687caf nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97b06caa nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b3829e7 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d826514 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d8c1d6b nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9df1f4ce nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e2ae711 nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f93b61c nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fb58c9d nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0c2119d nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0e75375 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3afbb1d nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa41f30dc nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa5599968 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa696abf3 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa75d27af nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8abcded __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa755195 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaecbc185 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xafb1a050 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xafde7dc7 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2463f8b nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5f5c91f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb78878c3 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb2dea27 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc6b2c88 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe2e278b nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe79b318 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc40fb6f5 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc67dc7d6 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c6bfe6 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9ac71f8 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd420cd7 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf942484 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd0101cd0 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1523057 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd617d8e5 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd6e387e1 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd71f133a nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd898aa47 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbd05eeb nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc5142f0 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcf09c4f nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe2bc93fb nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6d0a147 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7a8e9b8 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7b96730 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe823e393 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8662c18 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9b71aff nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb282e47 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed77ccc0 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef67d4e0 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefffbac6 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0cbfca0 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1484c85 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4e0b509 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf747a63d nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7b0bbed nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8357025 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf91f9ed9 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa0e45ed nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfbcaeeaa get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe777774 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfff3ce0a nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xda4cf405 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x07bb8286 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ade27ae __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x103c3a15 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x15c0f327 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x163831c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdde079 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1eaaf974 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x208f5c30 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x217eda44 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x277536cf pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x281fb2d4 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x28b15a27 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x29e69b59 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39ac52fe __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3bd64e3a pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7d84cc __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3de14ba1 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40bc3c6d __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x41677390 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4520442c pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x549fabd4 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5b6d97aa pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5b8d8dab pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x63785c0b nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x68f6d8a0 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a214ba4 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6d7b01e8 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e54d3b8 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x741076f2 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x757fb39e pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x765fd04a nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78ecf37b __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e720157 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ea46644 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7f8bacdc pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x83e3f69c pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x86dae8eb pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8b5d3272 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8c8c5a80 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x92ff174c pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x932e6380 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974464ab nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b769e9d pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d25c55e pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa319bfee __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa470a140 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa5999806 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa64c9e33 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa6f9e882 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaa97e7aa pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac48464f pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb15c5ba6 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb6d337f7 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb6fce097 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb795aada pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd92ac84 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbebfbec6 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0479f76 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc2b85ec4 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcd6ff174 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce93d30e nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd5c6ef3a pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6ed7dda __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd91f2655 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xda82e37b nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc29230a __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf05942f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf18ffcb nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe17c920d pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe193c1ca nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5677d85 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe672b505 nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe75bac7b pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed7cd2f4 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee960d9f __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf139d882 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf311818d pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf49441ee nfs4_init_ds_session +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 0xf9df39c7 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfeb126f8 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xff49f108 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x343ad86e opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x45382bd0 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x8fd5fe15 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x1bb542a8 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x8c559828 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x01d71c00 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0f548792 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2f2a46ef o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2f6850fa o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x33498011 o2nm_get_node_by_ip +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 0x5ff034fd o2nm_get_node_by_num +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 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 0xe21523d4 o2hb_setup_callback +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 0x05e5450f dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x46ba9bf8 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x61e91c20 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x64846a65 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc6ba3f3c 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 0xecfe8317 dlm_register_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 0x24ba511e ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5a88cd4b ocfs2_plock +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 0x95a0465b ocfs2_stack_glue_register +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 0xe720eb60 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x281143b9 register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xf7546ca1 unregister_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3b137dd9 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xb0f13c68 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe21c9c32 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0x4370baea poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x002943c0 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x6f495013 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0x4391638a lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x575d53da lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x21cc1084 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x36610049 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x5f62382d garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x677a4504 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x7aef7d3e garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xb08035af garp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x1eb2747d mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x24ee47d0 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x327ebbf6 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x47ec1ecf mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x7c63c2d5 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xfdad9db4 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x617f37c2 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x7ce0d7ed stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x46761116 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0x62d3faeb 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 0x710adcbb 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 0x146257a9 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x19b9c4b8 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x2d11252b l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x739720c7 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x84b3942c l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x99095ea1 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xd44f22b9 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe7156392 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xf6ffc105 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x6ca2c508 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x09c26e14 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0d02ac9a br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x273dbace br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x489a7d5e br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4bcc7494 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x59397f58 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60286677 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8a3cdafd br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9a553cca br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9af12c0f br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa22b4acd br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa96713f9 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb2189a83 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb75d9820 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xde9380df br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe2b10714 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf3be96ad br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf9081645 nf_br_ops +EXPORT_SYMBOL_GPL net/core/failover 0x109ba49d failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x58c0302f failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xf7c66ca2 failover_register +EXPORT_SYMBOL_GPL net/dccp/dccp 0x084dc8cb dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0ce927c2 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1976716b dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x338cec7c dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3931633f dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cdfc23e compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x41f62ce1 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x44aa643a dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x48f45ac0 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x537e8daa dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5a8ab9f4 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x60ea294c dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x61de2507 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x62c409cc dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x691486e3 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x722630de dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x82ec2276 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x908ca982 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9471ce89 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x997dcb34 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e8faa4a dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2624a42 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2e16fff dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa3c95740 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa4bc4d3f dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xac9bdc8e dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xad4972f6 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xad996409 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb32629c7 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc3b6a26c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc6ede63b dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd16be529 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf46e296 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe0a1fa22 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe75414f3 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xec92a5d8 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x00b0376c dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0495a7da dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0d27906b dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x53a20a8c dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6e9a5dd6 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x83726d1c dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x12194577 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1f5234e4 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x28167719 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2e93b114 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x31875043 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x44bc52fa dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4759686c dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4c90e8da dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5a708118 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5fe06bce dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x68bf8d7b dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6c22b2c9 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x79ccbb3d dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8cdcfbb6 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8e4b4569 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x961d5531 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa6fe534a dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb160c146 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb90f1d93 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xca1650cf dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdb5a1f4e dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf45c54f1 call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xff24e90d dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x04cb257b dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x0f013377 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x133fce66 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x45efdab0 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xaa395ec0 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xe7e89f2a dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xff02688d dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x4c20d6ce ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x53e97408 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x6a126f12 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x6ea84211 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +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 0x7764aabe ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xb2ddd2f2 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x16d11e5b esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xc92cd121 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xfd98e078 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x4de681b3 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xedae0155 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0a4ccebc inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2ee1e1db inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x653091ed inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xad3eb479 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xafd2a2e5 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xb7aa7a9a inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbebe2183 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xdced6e96 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe7be824f inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xe1093b52 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0241e0d0 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x05a66004 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x126fb543 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x207b0c83 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x23967429 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2bbb3b44 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3b4f089e ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3bc1b23d ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3bcb3db1 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6180480b __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x65f824a7 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x70619e1e ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7ecbbf9f ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8154f1f2 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xaff7e7bf ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xda8bb8b3 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeef774c7 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x2a1e8481 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xbb9d917f ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x8dc45863 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xfe1b7539 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x15a06e89 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x630c62cc nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xa1e224e9 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc93fb371 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc986a68e nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x73f0996f nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x09f94228 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xa1b0fcac nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xc85b8f3b nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x375572df nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x63502343 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x049c2619 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x6290b6a1 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc182afe4 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc6493b8d tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf268109e tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x00114feb udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x45114cc7 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6057b9df udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6be8189b udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x70efdaf4 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8727de23 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa9f9899a udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbd7a22cf udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7ace4dc8 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x8980fab4 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xf15d15a3 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x6565a108 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xaf5de52a ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xdea3c8b6 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x44589d10 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xc77a6781 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x0d4f2cce ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x8643c1e6 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xfeef6836 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x9783593e nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x1a4d3e0c nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xaa97455d nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xab5b7159 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xad21408f nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xd159ef77 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xf4973806 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x4f59725c nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x88427da8 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x8ab070be nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x16d833d0 nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x5ed8d249 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x21c3d0e9 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2cf1a6b3 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2de765ea l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x43e462dc l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x498ff87c l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x49df285c l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4ac44ea1 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4af74d00 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6084a9ef l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x64fec3e5 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x66737cc2 __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x86ed4552 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9adb250f l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9bf5b4c1 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9c47c2c3 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb37cfd1f l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xff4a2382 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x179a1ee0 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0df1dd07 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1ac12258 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x20563fc1 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x23d54321 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x28307db1 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x368d4e10 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6a72e331 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x848c22e7 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9a80014a ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa45a9892 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa57b11b9 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa68df0e3 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbafca2d8 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc36e3ec8 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc7a19657 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe812d6a8 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe9ee408b ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xfb2923b0 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x338c0eb1 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4f68492c mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xc69cc878 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xdf5bf025 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xfffe6eb5 mpls_output_possible +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x15a5e650 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2f0ec66f ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3e317d21 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x683b8101 ip_set_add +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 0x8f6e01ca ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x98a15cdb ip_set_name_byindex +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 0xa29f8e08 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa3c74922 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa4361640 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa4f602a9 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xaa03dc95 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xae7151d7 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb13ca759 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbd1dbc0 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdc5d14ee ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe30e6241 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xedafdddd ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf0d3112b 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 0xf9eebf44 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x02a299bf register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x3d3e3830 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc868b194 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf78acf14 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3319f1f1 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3ff55ad3 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x46a5a837 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7aec5ec2 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8c4cb9c3 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa65742b4 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xddc46305 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00769eb4 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x01083b67 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x012c8ee2 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x066ed1ba nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x09856739 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d4c791f nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d88a8ad nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0f41c1cf nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0fc97675 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x15414d2a nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1993b4fd __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d5427b6 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d6f9550 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e699ac2 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f96e09b nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x215f68da nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25fb86c2 nf_ct_gre_keymap_destroy +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 0x2ca76170 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2eeacdbd nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34f786d5 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x352c8efb nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38396b80 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3a877884 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f6a79d3 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x407d9c13 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47604a5f nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47b12d7c nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48aff1d3 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4a8a9e78 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b840fbe nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x554c410c nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5921ef29 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d21f6b8 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6147ce4e nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61ce0b69 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x629538e9 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64632efd nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66fc4fb8 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c16c378 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76871914 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7ae46ccd nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8842b8dd nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x89b2c55a nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a4f7c73 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90f43b61 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90fc3d58 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9502cab1 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9507b82e nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9548b81f nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9bd50285 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9be6ab2f nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d9d9a84 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ee9188b nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ef01457 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa278521b nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa426fe03 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa48c9162 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa511ce45 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa567b3f7 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadb64a3d 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 0xb21e23e1 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba8af1af nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbbd2d7f8 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc04b8d43 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc05c6512 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc283e2a0 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2bd8176 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc494590e nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc8e40994 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf7342d0 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0bb3f86 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1324478 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb1c0264 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe0275a30 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe381a98e nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe71092ac nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe725fe13 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1bfe6aa nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8cb832d nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf948bbf2 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb330294 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x373a86f1 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x3988ad42 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x8eb4fd64 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x09d9677e set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x40f9a669 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6cf18a38 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x72bab185 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8b199324 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x928eee15 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb947bfb4 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc813553a get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdac75cec set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf53c7015 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x797ef413 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2a3cf8b2 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x595cb29d nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x73a8d47f nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x78095989 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x196e8bf6 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4cb5d337 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x50d5f832 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5d1b9333 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x63c1a614 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x941340b3 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc699f5cd ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x5313e211 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa9aa22fa nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x1c371b7c nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xc1562710 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xe5e9cdcf nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x405b89c4 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4f8c3565 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x623af990 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x70c1cb21 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x80ab1840 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x862b71cc nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x886d9c42 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x91f2e8ed nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xaf475bb2 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb58ef517 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbd1baafd flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc40d1571 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd48e0f3f nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd88c5b86 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe08e9bd1 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe9fec9ec flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xeb4d7f15 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x27100d89 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x7e77d685 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x9236392f nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x9e2f4b6e nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xb70bc863 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xf123cffd nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0087d4dc nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2f9d0d03 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 0x41560662 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x49f7df3d nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x59ca29dd nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5f157174 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6619841f nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7655125c nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x937005ea nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb18578ff nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc9ddee29 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xca651326 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xce362d44 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdb717e86 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xde77f130 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdea88a7a nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x26cde4a5 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2ade49da ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7377caf6 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8766f0a7 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x92408c0f ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa29d9415 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa6350bbc nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb15ff9f7 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xcceb5284 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf310214c synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf38f25ef nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x04c26b4c nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a602584 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a9f8bed nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x309cc9ad nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x389ab2fa nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x47e22fe5 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x47e7019d nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4aef9790 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4b2ea1e6 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x54f4de16 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5b50c13f nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6ccb4357 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x71db5058 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7692821f nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7b300601 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7c7812da nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x82269ba5 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x83ffffee nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8678ab79 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x871fbec3 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x883fc0f6 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x90356802 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x99db8a04 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa28c8934 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa34602b5 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa7441e49 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb964c91c nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe811175 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd2219e50 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd55c40b6 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe07a5aac nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe51685a9 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe66ce60f nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf635d436 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xff066e4f __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x755d417a nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x83694e3a nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa3f100ac nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb2ac983e nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd5e5097a nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf0ecf0aa nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x535772c1 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x73cbcbde nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xa4a060d2 nfnl_acct_find_get +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 0x98bfd084 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xb1b6201c nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x071d1e17 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x39457f14 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x8b6c737d nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe787a736 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1a9c6b66 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x546d6734 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x5ddd650a nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x005f0e25 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x03ea20cc xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2133624a xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x30156eae xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x48f892aa xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x493895ae xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x51e83001 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x54d6bf89 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x79f55d86 xt_compat_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 0x8815b3c8 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9480e8f8 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x97948374 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa74d301c xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xaa2481b4 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfce9428 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc8561bf5 xt_proto_init +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 0xd5d09181 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd99accf3 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe827deb3 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf458ed85 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfb1b186a xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3b93995f xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xea1da657 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x47e494f4 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x9547000a nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xf9b7c6d6 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x31da3200 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xe7509b6e nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xea3d8581 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x3be11fce nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xf334b962 nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x06b9e9f3 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x966d31a8 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9c7c1715 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xa9bfd56d __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xdacc5dec ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf0594fb4 ovs_vport_free +EXPORT_SYMBOL_GPL net/psample/psample 0x9c435443 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xc849aad6 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xd3f3d04e psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xdb603922 psample_sample_packet +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x27788886 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x3227d8f2 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa4db8691 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x01e83bc6 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x0e3f3af2 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x108f3fcb rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x18138758 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x243d1858 rds_send_xmit +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 0x4607db81 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x46cfed31 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x4bfdf267 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x4e1f9713 rds_conn_create +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 0x62ad5057 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x679f4aa5 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x78846cc3 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7f69d8ef rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x83ccf8ad rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x857d376b rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8e70e4b1 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x8fc5bf4c rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x9948dacc rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x9cd42dd9 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa89cbd90 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xabca3393 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc3867b55 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xc501438f rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xc544b256 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xcbe18d58 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xd893e749 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xdd5256b6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xe59ad95f rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x1b405e32 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xa90a3206 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 0x19ac399a sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x2c09a5e0 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x930e3122 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0xde49a52d sctp_for_each_transport +EXPORT_SYMBOL_GPL net/smc/smc 0x0f93a687 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x118cd1a2 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x189b0102 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x37517a26 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x5af63051 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x6d481a8f smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x889eac39 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x9474d95b smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xd35ced93 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xe279a04e smcd_alloc_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x350aa09c svcauth_gss_flavor +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 0x7e1a29d0 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x867bea92 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 0xf7f379ac svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00b1e531 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00d893fd cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x022dac0a rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02d80ae6 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03788fb2 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x045ac7e8 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04c7da2f rpc_prepare_reply_pages +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 0x06d7d3e8 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07749010 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09ca9d02 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bfa5b13 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c2b077a svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0dbf7ea0 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e1e9d00 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e334e8e rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11be3cc8 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12c09656 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x133bd7f7 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13da0b1e rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15944c5d xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x159687b4 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16ad8736 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1981e60d __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a1dc258 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1aa9cee6 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bcc2149 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dc6b1cf rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e114dc3 rpc_run_task +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 0x208069d4 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x217bed5d cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x219a1f10 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x250d75f8 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x251e2642 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25860876 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25bad235 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x270d9eb2 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27669de4 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x299abf3e rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29ba25f2 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c3c18c1 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da83aee rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30131132 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31ccbd85 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3479ff1b svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34a79d0c svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35e51030 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x370dd320 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37ddbc12 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39639cc0 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a63253c auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aea6f7d rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bf7f32c rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bfc8ec5 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ef3b046 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40003c37 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x401ecf4d xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40aa5309 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4122a4f9 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4379ab50 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43ecfa6c xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46e6e71d xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48150c57 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4867babd rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a2d8c08 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a938e29 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b452d91 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c35b1a1 rpc_put_task_async +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 0x4f16715f xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5069a2b0 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x553c429a csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56befdd1 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x586f5b3c svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5874f4a4 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58a8e121 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x597bee2b xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5becf21d xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c29f8ba rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d885e2e xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f73eb3a xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61efc025 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x624847a3 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62d14b25 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x636d3cd9 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63c09442 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x650aaa13 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69696608 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c291759 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dc127e9 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e373d06 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e7c3833 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f6cc93c svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70b79e6c rpc_wake_up_first +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 0x72a56e53 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b48cb5 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x734053d1 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74263dd4 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75ee585c put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75eeda0a svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x778fa339 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x786af3b8 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a0be827 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a43e5b4 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b0d590b xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d457861 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d49f4f3 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7da7309c rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ee52ee3 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f00f6d5 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x803420c7 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80a4503c svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81d9e142 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82b3b462 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82b96e10 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x833a599e rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x838accb4 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x843dd8d0 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8564e1d7 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x867315ae xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x887a15a0 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b782706 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c3fc9c8 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0a08f7 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e0aaa70 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eceb74b xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9079df46 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x910b537f xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92c7048c xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94ab48b0 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95076d48 rpc_sleep_on_priority_timeout +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 0x99ece55c xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b5aab1f xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c4ea5a0 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9caf40b3 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dc7c97e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ecbeb57 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f941bef xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fe03f47 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0c018c5 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa130aa8a svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa141cce1 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2246503 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2a8f339 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3bcfb88 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9062cd8 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa980a412 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac2fa13b rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacf3dd2e xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafed49d1 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb07bd9bc xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb18d58e8 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb21c23a6 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb235cfcc svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4485698 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4510480 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb52bf985 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb61e4afc xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7d63f5e write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7e8cf8d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9b97854 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba4fe338 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba685ad9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbab2cdaf svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb6e23d2 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbe745b8 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe13ed53 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfc73909 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2ddc079 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3464c8e sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3a3acab svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3f1fd1d rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc42077b4 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7e9c9d7 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc99171ca bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9b7f809 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9dcdc9b rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9f8026f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca18aa4f svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca7f02fa svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb176421 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb773aac rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc3f1e63 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd098956 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd0f17e0 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce955eb3 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3268171 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3514bdb svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4e77682 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd78c55f2 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7c20673 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd89717ef rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd89a3480 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9d6793d rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb380198 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2144b03 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe241616d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe37c0656 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe59db279 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5ca30a8 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6607efe rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe77995cd svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7c5ed59 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe90c6326 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9f2896c rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeae4a08b svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb5fbc81 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecd1163e svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedc29bca rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee4de6b9 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee756c40 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeed8ef00 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefccc286 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf04f1033 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0d42e5e svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1ab7093 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1d9cbe0 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf38386e0 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5ad81e9 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf64879ae xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6f14b93 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa4c1bfa svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe1a30a1 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe9c27af sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/tls/tls 0x1b9ebd0d tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x7b54de67 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x8488b29d tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xf9cb0d53 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 0x03e57d14 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x071afc0d virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3d97f90b virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x479336a0 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x50dfd79a virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x51287f21 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x51f76596 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x521d496a virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5359b951 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x55a46e6a virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5e637cca virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fb3801e virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x842eacef virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8798ae0c virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x88f55c8c virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8f22a254 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x904f2edb virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x961884ef virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x96c63b42 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9a106893 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa99d4fc0 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0129f4c virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb18835b1 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb2cbf8d3 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb59cc7ad virtio_transport_do_socket_init +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 0xc1a4783e virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc543868c virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd0d8b417 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdc0f1678 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe36f7a6f virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xefaf5e32 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x06ebe66c vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0b18e727 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0fefff11 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x10d5a78b vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1d165a6c vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x35ce9ae6 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x454cd46d vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x63db1f67 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7d1106fe vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7e0cd0b5 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x83d4f1c3 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8cef0874 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9667fb09 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9b0113a8 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9b62036b vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa424445b vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa69c45c9 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbdc59908 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xeef1eee6 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf595864d vsock_add_pending +EXPORT_SYMBOL_GPL net/wimax/wimax 0x03992960 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x066800c8 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x09fe8f12 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0c0563c0 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1491fa6b wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x52941f6b wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x767140c0 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8ee11673 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa3ee831e wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb21bb837 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb2415eeb wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xde1a06c8 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdfe4f787 wimax_msg_len +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2e6aafc2 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x300e9846 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e2a0505 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e838c20 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4e4911f4 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x638173b8 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7054c54b cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x770dfea0 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8390467e cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8b5c093f cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa6ee8e92 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa7f0b0cd cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa94484ec cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xae7628b2 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbe2a3777 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc0061a86 cfg80211_pmsr_report +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 0x4bdaeb9a ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x83dbc640 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x85458d74 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xc5a2e56d ipcomp_destroy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x02cf5b13 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 0x2652db96 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0x2de55a47 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x3a0a3f25 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x3c8fb811 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x5d8e0e7a snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x692e6656 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0x8eeeee41 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0xa09fbb48 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xa336de9f snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xac5c11a5 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xd014df5a snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0xf83ab35b snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x0fa49ea4 snd_compress_register +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x3dfcdd4e snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xc7100e6a snd_compress_deregister +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xcac04608 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 0x1e8d24fc snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x2601d5a1 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x296c790d _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x4c9bc613 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x526f8313 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x6c701548 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7ebd0cce snd_pcm_lib_default_mmap +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 0xa5321acb snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xad101516 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xc69e8cbb snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x12187cbb snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x208d1ba1 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x312aefec snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x48916b00 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x491fa68a snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x55947e37 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x664e3ebb snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x6d4f78c7 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x9887a13e snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc4069ce8 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd30d2af1 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xfbac0bb3 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x01f91a18 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x76d12b27 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x03f46992 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x09bc780a amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x16e65270 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x178800a0 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x1fc1c6e8 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x22770fda amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x619c5e13 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x6e740ccd amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x990f96f0 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa7773e85 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xacf21ac3 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd83f1930 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xdbad444c amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x068771f4 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x08d1b825 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0d2a46bf snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0eb5f5fb snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1020972d snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x13d18527 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x15ba808a snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1911af96 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b304cd7 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b536cf1 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1caa3ee6 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1e68e5d9 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21f28eab snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x263dfe37 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x292d8eb3 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2b3960ee snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x336a19cc snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35027336 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35252b75 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35283dc0 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x37154246 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ba4cc14 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3d3e2936 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3dcf4ca8 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x41105fe8 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x42078260 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4295f6e8 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x475b8864 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x489a3f37 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x505f4b3c snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x58cdaf33 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5fd8f089 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x615a3b88 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x65f56204 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6d37229d snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x78660bb0 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x841824bf snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x841bff61 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x863ec316 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x880ef1d5 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x88e47310 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8f02e91b snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x916ebf67 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x92477836 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x96e31e60 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x97f17284 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x991bfa1d snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9b026343 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ffb2aed snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa479b0f3 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa6e4f09c snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xac50a288 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaf988f73 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb0fc61b0 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb7bb47b3 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9d4c665 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xba5277e8 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbcb2ddaf snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc0a59bf1 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc4fa2dcd snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8a69122 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcf942013 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd1d82781 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd3109e23 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd4bd391a hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6b4e68a snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdae06e86 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdc66a6a2 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xde72555e snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xde75ce95 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe01e5ed0 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe552238e snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe795775a snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe973bd22 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf02169fd snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf0c8b9a7 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfd679bae snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfe07a178 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfe3a2f55 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfedbbe4e snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x067f97a2 intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x27f7d724 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 0x821aec61 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1ddbd22c snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x675aefed snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x835e79ef snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xaf410835 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd47a104b snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe0f4f6e2 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0094d1d3 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x022f8811 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0249aca5 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02cd98f9 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03605776 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04b5d1d1 snd_hda_codec_amp_init_stereo +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 0x09e8a40e snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12710389 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12f387d8 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18c40039 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a95c6eb snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1db61795 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x211f075e snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21d3d303 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23a6de12 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2489b345 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24c9d16a snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x26b3f9f3 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c1d8f38 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cf2cdbe __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f970ad5 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30bf6995 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x318c7b6b snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x333fe228 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33defb0e snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36e94958 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37147f9a azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x388755a3 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b04d26b snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3e5eec61 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3ee77042 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f040db1 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x484a8e3b query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a11b497 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a627411 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4bdd02d5 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e957b82 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ed8d9b7 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50c241a7 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x512d2d26 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51615119 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54bcddea snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54bd4e9a snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a089b5f snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c99f197 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5dc83bc9 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e2f1814 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x641b7373 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x643e02ed snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6697f54a snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66c95dd3 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x672bb19b snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a1ad616 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a65d491 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b3f3756 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d71fdb0 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6da9d94f snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6db1cc96 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x713f3b9d azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72057b43 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x721fbea3 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72613b4f snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7786ba77 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7821810b snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7916c655 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b313b2b snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b3680f8 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d38063f azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7dd34306 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f32b4f9 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x84ff5f6b snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85785071 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87065530 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a25f435 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c013be9 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f928b75 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x906b33a7 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x907be740 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x911b3e1e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x929c4182 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94482294 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95727226 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ddca889 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa244f2e4 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa69fc2cb snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8ed1f14 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab196e56 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xadf8b984 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3a43be1 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb42d2201 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb476ddf2 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb548e102 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5bedeba snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb961f074 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc1c9c1c snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1d5d068 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb8a16e5 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf6e2a11 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd14daa47 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd26b9bdd snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd27f93af azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd44e19c0 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6741c4d snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9e27eca snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcb3afef snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd2910b2 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe29420d6 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe37e85e7 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe3ecd312 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4c357b3 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8fec877 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeca82f37 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf31d3d58 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf41ceab3 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6a17cd0 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6aaaead snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9889708 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb654ad2 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd23167d snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfde3f035 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff9bdbd7 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0f59c474 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x16c9f1da snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1a09518c snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1ffa216c snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x316f7306 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x542b5e25 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x54652ceb snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x54e36c89 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x55033d23 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x61156398 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x635c8efd snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6f57db4c snd_hda_gen_init +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 0x7ad297b5 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7d2d0f97 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x80d8c22d snd_hda_gen_add_kctl +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 0x8c2dbe70 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9a6ec7ee snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xad8628be snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb472a70f snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb6a9816d snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc786270d snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcc93a143 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x3dc49c4b adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x5eb9dee4 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x11c9181a adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1b6a69b0 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x212a7a1f adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x25a9137d adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4e03a58b adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x6af14130 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x75161a0d adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x80062ebc adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xaa8e5081 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc2e60680 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x6b821feb adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x70095c3b cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xf18dfcc8 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x2a164f06 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x32bb080e cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xb5aafc1e cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xb998892d cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xcdfe6bcf cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x44552c82 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x642ac8ea cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcf722069 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x254a8156 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x6d5bc1f4 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x70017592 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x8e9ae72f es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xe3d4b70f es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x2c8c9dc9 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x5e037086 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x74eb9d87 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x4de8d499 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x8e497d04 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xf10bda91 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x89f9d12c pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xbf7adb3c pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x22d50fe7 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xbb181d2c pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x3ddf3071 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x628d74ac pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x6d3c4faa pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xf9a8daed pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x099ab98e pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x5375aa67 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x5f5c25ef pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xe0bc73f6 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-rt5645 0xb135f40b rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xcf7e07d5 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0xcb0e9177 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x1c8ded8e rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x1cd6dfee 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 0x31cc3a5c rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x33db151e 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 0x5a0cb1a5 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6066f425 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x66b95e08 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7b8896f9 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x90bf2dfa rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb1183e09 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc98f2316 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x10bb3b6c devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x149cb9d7 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x3e032c22 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x8bc15308 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x9c89a782 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xd7746fb2 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0xf20a7938 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x0c1a96c3 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xcd14d569 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xde5661fd aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xef4dfd3b ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x05cff9e9 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x564d249d wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x62aed05f wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xe44f0b75 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xf32ff110 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x793d91a4 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/imx-pcm-dma 0x2ce2b91c imx_pcm_dma_init +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x2859f639 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x39be4528 fsl_easrc_get_dma_channel +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 0x08fc9fb0 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0d460032 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1104b902 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x39a94229 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x51a49f02 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x66f42351 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7cd9ae46 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8fefd643 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9ece109b asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa2ef325d asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa6fbb879 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb6905e1b asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcb4de379 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd2d57c3f asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd754d6ff asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe824c349 asoc_simple_parse_routing +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 0xf4a00bc0 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xfc21ad2e asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x00ddebd2 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x14338e0e mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x1bb6593b mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2ef85584 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x35bdcc37 mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3a3559a1 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3df80158 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4426294a mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5652fab0 mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5ea1d16a mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x66e5c462 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x70f688a3 mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x75332759 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7ebddd4b mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8cc7aee8 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8e9e41e5 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x9098616c mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xa11a5c24 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xb840e2cd mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xc283b862 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcdf1d60d mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xdf31cbb4 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe540cf67 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xed883b31 mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x4e6bfaf0 axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x579f7ccb axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x5e6f0475 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x67864f5f axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc3c804ae axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc5153381 axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xec212fef axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xfaab4c03 axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xff8d6378 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x216268ee axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x2ca8b616 axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x600d06ea axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x9258a990 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xb0e9b620 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xd6361dff axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xf2948bf2 axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x524ac911 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x28035a59 meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x58009a15 meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x8a540154 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xb70d4fcb meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc18dc8a8 meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc3992a9a meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xe2426d04 meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xe6eea0a0 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x01bca52a meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xab8be853 meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xb1e575a1 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xd8d7a29f meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xd9d4b5fd meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xee49c5a3 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x2b0cfcc9 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x4f17b5cb q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xab1532c3 q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3997e13a q6afe_is_rx_port +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 0x54f24fd4 q6afe_port_get_from_id +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 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 0x01d71b3d q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x151ae9d4 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x40299233 q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x5382edf1 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x689e402d q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6eb89e95 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x720ce413 q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7353d9dd q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x857330c9 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa06e9828 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd599e50f q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xdbedfcd9 q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe060c0a1 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe1531577 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe90d8a24 q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xea75a5dd q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf40aaabe q6asm_stream_media_format_block_wma_v10 +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/q6dsp-common 0x17142e58 q6dsp_map_channels +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/snd-soc-lpass-cpu 0x3a92b8dd asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x6041a390 asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x75fe832d asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x8deb5380 asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x856e4af4 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/rockchip/snd-soc-rockchip-pcm 0x6452247b rockchip_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x6c5d2bcd snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x8795d901 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0xa2585abc snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x014612c0 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x019dfe72 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04787616 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04c0130c snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04e80021 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x058405b7 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0aa4e42e snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ab48986 snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d2e2d40 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d6a851b snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d6e85fe snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f00359e snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10d900ce snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13b731b5 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1509df9f snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1538f8ec snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x154c3be0 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16a21b25 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x174453ab snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17513a3e devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x176e2362 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19594b0d snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a051de1 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bff3b91 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ca55861 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1eaf6fd1 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1faa80cb snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1fb2cb30 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20959a9c snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x229d7cdc snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x230a5ed7 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26b661bc snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28053c98 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2985b85b snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2eb5307a snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ff85b17 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x311772da snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x321217b9 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32c0027e snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34d049fe snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34d6d172 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x352ae215 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x356ca92c dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x362cf402 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3645e6fd snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36d82a0c snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3711d58a snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3790ba0b snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39cc14cd snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a320218 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a9c6602 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c02d403 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3cbc89eb snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e25e07f snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f04702e snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x403e243d snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41eeef08 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42cad05c snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44add3e0 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44c5e8e0 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44e850f7 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x453223a0 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x455d44e1 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46345904 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46f33068 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b6bea8a snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b73d4fe snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c2b958c snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f0131c7 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51203adc snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x520f7918 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55606240 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5623e96c snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f913a35 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x615685fe snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61cae596 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62cc74ae snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x636e4377 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64ba8e6a snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66766158 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x694549e0 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a8e9766 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ec19584 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ef1298d snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fd76177 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fe50532 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71203077 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7518e5c3 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75ee361e snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75f1e892 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76cdc43a snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x772628fb snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7729fc20 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x779719f3 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7942547f snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ade49e8 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b86d34c snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bcab0fe snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cac96b1 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fdceed1 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x855a4d13 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87a7238a snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a69f539 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ae11d8f snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c111797 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ca2bf92 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ca49ceb snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e2271fb snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ec686bc snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x907b4883 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90b6001f snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92b5ce39 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93238217 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x954995bb snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99e1cc5f snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bfaa4f4 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d0a6e20 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d558b1e snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ddce4a6 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9eb2553c snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa075ce3b dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1902289 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa21389c9 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa22602b2 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa39b0669 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4435614 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5f744f6 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6ec7ae8 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa761cef6 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa89cea93 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa971f9e8 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabe7d075 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad0710e6 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0950849 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3c59edb snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5e092e8 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6d1be92 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9e2084a snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbaa51c63 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbd8518b snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc195323 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc2dc8ea snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcc19723 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf161eb0 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf4fffe2 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0e7ad05 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2b54ae3 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc79e9959 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc88401e1 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc90220a8 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc962b14e snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9b2ef89 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc2ad303 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc4eb1db snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd37c213 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdcc8ed5 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce223af2 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcecb36f7 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf2fd425 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd21db560 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd253b1e2 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd354811a snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd61977b8 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7eeec3c snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd891d7f2 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9776ffd snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda8ef976 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbc08d67 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf397428 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf467b66 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe17fad06 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2612952 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe34e15c4 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe34f45a1 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3eb497c snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe493b29a snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe501f5bd snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7b7f915 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9947d3d snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9e55a4f 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 0xec99d34c snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeddc4190 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedf632b1 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef660c0d snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef69735c snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf72fbfed snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfab4ee2a snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc52b16c snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfdafb3a3 snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x25bd527f snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x3dcff9a9 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x79f2ffb7 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xe51f2c83 snd_sof_debugfs_buf_item +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/ti/snd-soc-ti-edma 0x5a8a6554 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0x532eea16 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x4e906a07 udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1ddd5904 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 0x494cfaab line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6220cac1 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6ef7ca91 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7177ad6c line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9fa63a32 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa04dd99e line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa9d606ce line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xaffb1297 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb256ee1d line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc6aec0d2 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd136da4c line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe6f3159d line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe94465e7 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xeedf8cd7 line6_send_raw_message_async +EXPORT_SYMBOL_GPL vmlinux 0x00007132 devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x00186c40 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x0019fd54 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x003505d1 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x0067b750 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x0075e1eb devres_release +EXPORT_SYMBOL_GPL vmlinux 0x007693e9 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x008e3223 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x009c60d3 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x00b04ff6 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x00b517e0 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x00bf07d0 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x00c25c44 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x00e25c31 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x010ce609 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x01172a83 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x0117d864 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x01228b7a usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x01499937 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x014c751e ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x014d930a relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x01512a65 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x015fd5f0 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x017b402e __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x017c46c9 dpcon_disable +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x019464a2 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01ac0cb8 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x01b9fa46 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x01c0c5f9 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01c8ca2b fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e67468 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x01f2d0b1 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x01f92e6f devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01fe2dc6 bgmac_enet_probe +EXPORT_SYMBOL_GPL vmlinux 0x01fe9864 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x0205d59d nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x020af8f4 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x020d413e inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x0215335e devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x02154b25 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x022fc1b0 meson_clk_dualdiv_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x0245ad85 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x02591ca5 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0285befc perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x0287d358 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x02943cc7 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x029dd9d5 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x02a14d11 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x02b83f3b genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x02ba8fe5 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x02c7ec70 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x02d324c7 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x02d4ed31 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x02f66861 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x02ff13f4 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x030e46be dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x0329528d fsl_mc_resource_allocate +EXPORT_SYMBOL_GPL vmlinux 0x032c2c9f ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x032c3f8b fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0339d4d8 dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036013c5 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x03695785 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03771f58 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x037e4434 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x038f2ab6 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03a10f54 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03dcbb1f of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x03df1a01 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03f5e3e5 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x041dac22 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x04237117 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x0429f4db ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x043221a6 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x04481ab2 crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x04599da9 arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046a972d hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0473d982 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x0477769a kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048fcd34 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x04abf294 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x04ad59c0 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x04ad7359 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x04b4995f rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x04bef63f of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04bf7aea dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x04c17474 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f0fd0d ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x0513c3b4 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053a4a31 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x053e9455 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x05411f99 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0566c9fc kvm_map_gfn +EXPORT_SYMBOL_GPL vmlinux 0x0566f576 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0569c481 dpbp_disable +EXPORT_SYMBOL_GPL vmlinux 0x057c4395 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x0586328a dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x0586a833 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x0597c332 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x05a5856b __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x05a9ab79 device_create +EXPORT_SYMBOL_GPL vmlinux 0x05aa4d71 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x05b25532 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x05ca49f1 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x05d46983 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x05d637f7 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x05de3d8e path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x05ff6198 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x061938f6 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x061ad670 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06246cee crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x0628c3d4 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x062a99c5 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06597c0a sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0661cf1d crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x06743436 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x0676c21a serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x068ddcc0 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x069c89db edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x06a27921 dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x06ac816d ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x06ace640 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x06bee538 gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x06cb431b devm_ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d6b5ef pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x06e12354 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x06e4433e sunxi_ccu_set_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x06ee2d70 acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x06f6cfd6 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x06f93cca usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x070ae907 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0720f6ae dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x07358548 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x074403a0 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x074cc3f1 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x075b3650 xen_set_affinity_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x077f3e18 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x07805c49 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x0792c24e i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x0799beeb __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x07a6e648 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x07a97627 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x07a9a704 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x07af0e48 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b31f2c spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b675a3 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07c0b037 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x07c23703 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x07ccb733 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x07df0e74 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x07e3ce51 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x07f02489 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x07fa055e scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07fb4e6f srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x08070e86 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x080aa78d blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x0816538c sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x08418d08 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x08475491 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x084809e9 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x087a1de2 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x087b0e8d security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x087c0c0c class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x089a65e5 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x089c6de0 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x08a8993a cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x08bced45 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x08c8c5cc irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x08cb713c of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08da98ee sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x08e583eb dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x08f6e4f0 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x091c4ea6 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x091c5357 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x091dbee9 __audit_inode_child +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 0x096b0a7f fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x096b2418 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x097268bd blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x098fb059 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x0990c4c2 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x0990dd42 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x09929c6c fsl_mc_bus_dprc_type +EXPORT_SYMBOL_GPL vmlinux 0x099d9381 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x09ab6553 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x09b03a62 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09bf14cc k3_udma_glue_request_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x09c5edb5 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x09cc9e7a addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x09ceec31 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x09d55f32 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x09d63265 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x09dd8060 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x09f41610 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x0a0c9d45 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x0a1cd107 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x0a2a2505 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x0a2c17cf regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x0a3630ad pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0a41f34d arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a43852a firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x0a456d0a scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x0a51e8b9 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x0a5caa4d devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x0a5cc9ce sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x0a60fb5d dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x0a6367b5 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0a64c6e6 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a7c4571 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x0a7d4d04 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x0a8bfe27 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0a9665f9 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x0a9c8e0e regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0ab32d0d da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x0abc6be6 k3_ringacc_ring_is_full +EXPORT_SYMBOL_GPL vmlinux 0x0abcf6ee ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x0ac2599b dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x0acb7863 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x0ae51719 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x0aef4d67 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0aff9964 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x0b055024 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b3a3ed7 zynqmp_pm_fpga_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0b4352dc add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x0b437271 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x0b453bc8 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b580fba kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x0b635cb8 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x0b690f04 k3_udma_glue_tx_get_txcq_id +EXPORT_SYMBOL_GPL vmlinux 0x0b7eee73 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x0b846678 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0b95088e __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x0b9e0b7e pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x0bad6fab generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bc14093 pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x0bcc0a4f ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x0bd97efe dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x0becec61 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x0bf126f4 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x0bff7564 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x0bffbdcc powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x0c11c8a0 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x0c2228e6 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x0c28c3bc regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c2d3c1a xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x0c31bb59 dpcon_close +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3e6241 k3_udma_glue_disable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0c47f677 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x0c53e499 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x0c75df4a pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x0c824c96 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0c901a53 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x0caea4c4 component_del +EXPORT_SYMBOL_GPL vmlinux 0x0cb0060e spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0cb579c0 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc3b29e acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x0ce3dd73 bman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x0ce525c6 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0cec1833 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x0cefacbc __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x0cfcc2c6 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x0d116ad0 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x0d122b01 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x0d36406c tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x0d40d8be ti_sci_get_num_resources +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d459a6d device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d6a196b class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0d84d30c pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0db1163a __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x0db69843 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x0dc2b9b6 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dc8c1ee blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x0dcfedfe ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x0dd2e2e1 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0dd4c5e3 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x0dd5abc7 mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e0510ae devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e14bee6 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x0e21d104 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x0e25ebae ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x0e580fc5 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x0e5af25a ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e5afa95 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x0e613277 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x0e66569f dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6c8861 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e73da62 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x0e8a9017 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0e929bc7 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x0e949aa9 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x0e9ad0ef k3_udma_glue_request_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0e9fa427 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ea6e7ef devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0eb1cf20 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x0eb6b9ef vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0x0ec0bc8a spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ed76ba4 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x0eef2d68 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x0ef0133a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x0ef53ec5 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x0f117414 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x0f11d712 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1b6a44 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0f259175 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0f2ca96c fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x0f353cb9 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x0f6c8aa7 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x0f6f5723 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x0f79197e nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f88b216 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x0f8e4b34 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0f9d2410 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0fb77813 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fd9789f ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x0fe7617c __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x0febfd85 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0ffebf46 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x10084ce8 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x1008e993 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x100e2811 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10363443 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x103712ad sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x1037de4b debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x103ddbc7 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x105f3e88 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x1061b3f6 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x1080ae06 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1085de17 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x10863e19 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x109c9600 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x10a5ea7b pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x10a8fbe8 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x10ab8761 fsl_mc_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x10b414a0 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10c76851 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x10cf3b0d serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x10d02d5b dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x10d338b4 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x10db05f9 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x10e16931 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10fb97c4 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x10fcfa94 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110ef093 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x1110ecf2 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x111b555a bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x111d4170 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x113d52e8 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x1142815d usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x114e8d06 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x11538b1f acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0x116448e6 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x116737ad pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x1172d487 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x1185c249 arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x119867e3 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11a8e42a raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11c86c88 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11df64ad dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11ed2e63 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x1204016d ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x1208bb30 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x120dbeb9 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x120e702d dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x122164ea md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x12366205 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x123b07a7 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x12407b55 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x1248d7a7 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x124eb40e ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x125848f2 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x12671ef1 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1274c6ec extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x127be90d desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x1283e0c5 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12ab31f1 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x12ac0468 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x12d2c363 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12dbf3ac cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12e4f739 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x12f78363 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x13108fff iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x131427fa rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132650fb follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x132bfe4b iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x132f0ed6 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x132f160e usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1332ac58 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133a1e10 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x134ffeae fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x135687da efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1367a259 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x13756327 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x13760b7d wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x1386cf95 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a07714 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x13c19ee7 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x13cae6de ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13ff419a devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x14095454 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x1414540a inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x14175dd8 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x1418238a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1428f570 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x142f9824 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x14378fd1 acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x1438cfc2 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x144b494d regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x144b8e40 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x1456762b k3_ringacc_ring_get_free +EXPORT_SYMBOL_GPL vmlinux 0x1456b2fc xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x147460ca kvm_vcpu_block +EXPORT_SYMBOL_GPL vmlinux 0x1485a307 free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x149039bd rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x14962809 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x14b58afa devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x14bcf606 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x14ceea20 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14e818bf usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14f62fae dpcon_open +EXPORT_SYMBOL_GPL vmlinux 0x150253df adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x152665cd debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x153d4a74 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15610026 acpi_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x156cdac8 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x156fa606 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x157360ec sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x158ddb8d __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x158e8e26 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x159d7f08 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x159f5beb rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x15a2a64e sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x15a9bf89 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x15b320f8 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x15d0e7dc fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x15e1e739 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15f9f4b2 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x15fe1ee4 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x1625a1fa regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x1625ff50 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x1637902a gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x166d6443 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x16700fe1 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x167b1c64 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x167d9343 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x168592c7 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169158a2 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x16b2a272 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x16bb8520 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x16be03a5 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x16c6b44a __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x16cb311d of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x16cd15c3 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x16cd9974 acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x16d16032 kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16eb2c68 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x16fe4421 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x170150b6 acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x17031800 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x1703c544 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x170e54f0 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x171ddb32 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x1725f68f gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x17281ee2 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x1735d82f of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x17438699 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x17506fcf dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x17579245 ata_ncq_sdev_attrs +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 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x178d6c3a pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x179d5344 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x17a3993f __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x17b06dce ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17f6457c fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x17fdfb5a powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x17fe3602 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x183bfdc1 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x1840597c cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x1845eea1 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x184a5a42 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x184d2526 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1862a55b devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x1868bd85 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x187962a7 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x187993c0 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x187a6e9e __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x188b3748 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0x18c34c34 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x18dd480b of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x18e255e3 bgmac_enet_remove +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18f10f38 k3_udma_glue_enable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18ff25be thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19002351 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x190ed462 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x190fc25a usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x192b6892 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x1938b192 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x19413f63 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x1941bc6c devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x1959a450 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x196b1f72 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x197d73ed phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x19826b50 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1982e968 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x19846e45 input_class +EXPORT_SYMBOL_GPL vmlinux 0x198cdcd7 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x19951d19 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x199dc788 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x199e6640 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x19a13761 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x19a19ad8 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ba1363 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19d30733 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x19d9f082 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x19e67ff9 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19ef4386 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x19f7e68e ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x1a0dcf1c devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a11c3e3 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1ba294 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x1a242389 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x1a2c72b3 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x1a2df49a ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x1a338944 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x1a426440 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x1a4a4ed0 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x1a52487d dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x1a63e3ed of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a6c94da usb_string +EXPORT_SYMBOL_GPL vmlinux 0x1a7643d8 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a795ed0 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ae5308f spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x1aea05d1 __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af3123c pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0x1af7c938 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1afd39c7 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x1b1471f3 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x1b27fab4 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x1b2acd2e __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x1b374e54 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x1b3cb0c9 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b6131b9 alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x1b652d09 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b88c047 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1ba3a7fb task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x1ba65008 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x1bb0ff43 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x1bb87971 devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf643bc crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x1c2d93e4 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1c39c3bd crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x1c44b902 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1c4f3b68 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5a57ec phy_create +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +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 0x1c923161 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x1c93450d scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x1c959b2e of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x1ca4a930 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x1cb33605 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbb351e dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd1f436 clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x1cd8f6be inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x1ce1f2c7 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x1ce5a131 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1ced1347 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x1cee9e7a dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x1cf43e8c governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x1d0963a4 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x1d1453cf crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x1d1de522 get_hwpoison_page +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d28c265 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x1d37032f acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1d405833 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x1d44efc0 acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x1d607461 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x1d62499e l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1d62ff45 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x1d6406d1 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x1d64667b xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x1d6cac7a __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x1d734277 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x1d770284 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9b8937 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1da89f1b gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x1db60e1a l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1db9bd33 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x1dd49953 device_register +EXPORT_SYMBOL_GPL vmlinux 0x1ddadbd1 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x1df100ef sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1df55f06 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x1dfd2763 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x1e049fcd regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1e05fdc1 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e13c469 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x1e1917a6 hisi_uncore_pmu_add +EXPORT_SYMBOL_GPL vmlinux 0x1e34b18f nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x1e486fff fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x1e51dabb __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1e669c12 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e83fee6 HYPERVISOR_physdev_op +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1ea84865 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x1ea997cd __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x1eadb6e8 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x1eaec09e sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec47ece usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x1eca8ea3 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x1ed47918 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x1ee2ef34 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1ee7d3cd hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1eeb9af2 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x1eeda4f3 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x1efe89ae __class_register +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f1cc011 zynqmp_pm_get_chipid +EXPORT_SYMBOL_GPL vmlinux 0x1f287915 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4a0f08 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f6daa5d devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f901044 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1f966d3d kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x1f9a2b53 zynqmp_pm_clock_enable +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb11d6e debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x1fb38a40 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x1fb70eb9 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x1fc4c11d __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x1fcf18c4 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x1fd9e3b7 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x1fdc564c rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1ff210d2 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0x200efe38 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x20136f1c kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x201fadcd sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x2021701f i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2034809a nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x2038fec2 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x20500165 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x2050140e disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x205067c8 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x2051066c rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x20670f89 scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x20753b4a __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x2093f4dd clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x20da2565 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x20ea7e73 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x20f2fb90 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x20fb2956 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x21098d1f sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2111f220 kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0x2124252d device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x21261e42 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x213221c2 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x2136a18a hisi_uncore_pmu_counter_valid +EXPORT_SYMBOL_GPL vmlinux 0x213f80bc __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x21628552 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x216e334f udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x2175eb9f securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x217a6c4d ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x21867130 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x21873ac5 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x21959783 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x2195f2d0 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a9d793 __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21c25869 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x21c34c8f gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x21cc4ba3 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d4672e pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x21d6e6ef virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x21d82c30 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x21e00a01 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x21eb8876 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x2200f9bc hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22200a4a device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x223d6f81 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x2246b4dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x227ebedb alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x2290c30f irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x2296dcd5 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x22a0ac5d skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x22ae8097 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x22bc36f9 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22c6d9ef regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x22ccab0e devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22e6cb22 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f0aac3 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x22f3dd89 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2303bf51 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x231f2b14 fsl_mc_bus_dpbp_type +EXPORT_SYMBOL_GPL vmlinux 0x2326717e gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x232c0a10 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x234027ab fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x234d05a9 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x234e058b is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x235549da user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2355e0b3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x23627511 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x23811502 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23b95e03 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x23c9008a regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x23d0b206 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x23d25934 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x23d78788 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x23eb139d fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x23eda260 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x241f8e94 zynqmp_pm_set_requirement +EXPORT_SYMBOL_GPL vmlinux 0x24224d68 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x24284df7 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x242a9956 clock_cooling_get_level +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x2442cb0c fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x24517107 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x245e527f inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2468bb87 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x24756137 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x247798dd of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x2477af55 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x247b5207 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x248dd41c blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x248e8c01 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x24929a78 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24bbb8e6 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24dffdb3 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x24e3b91e led_trigger_unregister_simple +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 0x2500b43f usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x2508bcae posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x251077d4 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2539a44a fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x2544da51 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x25512488 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x255a8fe5 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x256485b9 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x25675359 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x256a784c disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2570a4bb inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x2574da11 zynqmp_pm_write_pggs +EXPORT_SYMBOL_GPL vmlinux 0x257ccc12 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x257f69f4 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x258dd062 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259956df bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x25adda2a k3_udma_glue_push_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x25b93629 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x25ba1b3a clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x25d810c6 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x25e50deb lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x25e6aa66 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x25e7b009 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x260562e7 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x260867a4 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x2614522e dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x2615e7c1 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x26192cd2 clear_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x26233b36 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x263f039e xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x2648315c nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x264f760c __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x26580d10 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x26700477 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x267c9401 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2682be8b iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x2698d635 fsl_mc_get_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x26a104a3 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b2847b tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x26b67f64 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c8ee2f rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d0b384 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x26e33d46 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x26e9ef32 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26ffe303 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x270e8648 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x272577fb fsl_mc_cleanup_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x272f0846 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x2738c385 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x2750944a dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x27715e4a enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x279ba8b7 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x279ee54a fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x27ae6c49 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x27be598f component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x27bef586 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x27daa6de blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fb8685 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282d79b5 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x28341271 mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x2835a204 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x285792d3 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x28655559 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2891887d dpbp_enable +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 0x28b33cac gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x28b4b934 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x28b54755 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x28d682af ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x28f26684 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x29198ee0 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x29252e74 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x2925cc8c efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x292e9fde dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x2932718b raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x2933e4d7 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x2950e682 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x295d58cb devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x295fa313 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x296e999f kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0x29710631 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x2972a383 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x2973c164 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x2984e2d6 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x2986717d devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x298a84dd sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x29947326 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x29a4ad36 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x29aa619c ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x29d76547 k3_udma_glue_tdown_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x29deeb70 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29fb8598 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x29fd4fbf strp_init +EXPORT_SYMBOL_GPL vmlinux 0x29fd9f56 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x2a0084a0 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a171e7d usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x2a24c1a6 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x2a2e89b1 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x2a36183c d_exchange +EXPORT_SYMBOL_GPL vmlinux 0x2a38efa3 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x2a400e02 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x2a585eed input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a64eae3 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a770b2c iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x2a78d710 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a7b73a1 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x2a7e1ded gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2a8cafaf sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x2a9eacf5 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x2aa1ce67 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab66eb2 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x2ac7d0f1 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x2adaf8d4 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x2add045b of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x2add62a9 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x2ae1689e zynqmp_pm_clock_getdivider +EXPORT_SYMBOL_GPL vmlinux 0x2aea546a l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2aeb9376 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x2b0765ca xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2b0b0df3 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x2b0c56ea dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b260a74 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x2b2693a9 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x2b2c894c rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b5a8564 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x2b5c7c2a thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b61ca32 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +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 0x2ba98cf1 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x2bb1ea94 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x2bb6892c inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2bb6d068 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x2bd9d2be trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x2be32982 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2be3c9f9 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x2bea52d0 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x2c0ac11f iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x2c1d080d md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c28fd0f iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c37b56c devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x2c40e3bd ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x2c43fa93 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x2c450e72 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2c5096ba bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c68b65f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x2c6e0fb8 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x2c7cd5d8 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c94e01c blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x2c94f813 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c993478 bgmac_enet_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2c9f89d6 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x2ca15e83 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x2cab0d60 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x2cae7138 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cb09a80 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0x2cb1e84c pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x2cb27d54 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x2cb88efc pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x2cc495c5 rpi_firmware_property_list +EXPORT_SYMBOL_GPL vmlinux 0x2cd47cc2 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x2ce74a91 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cf0cc0c pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x2cfe36fc vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x2d1a4bd4 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1cc198 fsl_mc_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d494c86 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x2d5680ce power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2d5f7708 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d85225b pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x2d91c92a tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x2da74626 hisi_uncore_pmu_del +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2dca4541 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x2ddbfee7 bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x2ddf9fa4 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2df69f94 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x2dfd5ef0 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e068bd7 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e0de915 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x2e2320cc crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2aea18 bgmac_enet_resume +EXPORT_SYMBOL_GPL vmlinux 0x2e434030 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x2e4c616b devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x2e5194f0 devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x2e59fd70 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x2e5d88a9 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x2e678211 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2e6f12b5 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x2e8232db kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x2ea630a1 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x2eb81d86 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec3cf98 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x2ec919c0 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x2eceeba1 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x2ed0036f bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1af563 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2f1bd3f3 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x2f1f1022 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x2f1f63b0 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2f270d41 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3932d8 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f4933e5 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x2f4bebd3 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f5b3b0d srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2f63edcb ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f8c89d6 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f96858a cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x2f9c3fdb of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x2fa1ea4d validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x2fadd955 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x2fb72e9b sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x2fc939af virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x2fd4e3e3 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x2fdbe688 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x2fdefd67 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2ff6bd58 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x2ffe98b8 meson_vid_pll_div_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x30161d69 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x30351294 k3_udma_glue_rx_flow_get_fdq_id +EXPORT_SYMBOL_GPL vmlinux 0x303ff4cb dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x30500cda bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306ce46a phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x30713924 fsl_mc_bus_dpcon_type +EXPORT_SYMBOL_GPL vmlinux 0x3071e78a __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x3073a0b1 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x3074659e get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x308228b2 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x3090cb05 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30c62817 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30ea1c06 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30f163a7 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x30f7756c wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x30fc6dd6 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x31038044 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x3103bbff of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x310db7d6 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312f68cf of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x3157ed94 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x31594af3 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x315a8925 xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x316ae413 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x316c2bdd iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x316c804f regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x31753e80 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x31785f08 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x319fdfde get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31abaaca devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x31b86247 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x31be2d51 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x31c055ae dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31e9e8d5 zynqmp_pm_set_suspend_mode +EXPORT_SYMBOL_GPL vmlinux 0x31ed375c __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x31f1abda page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x3206c152 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x3209c475 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x321a2a42 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32223eb0 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x323c4352 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x32415f26 iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x32567e28 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x325e4464 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x32635d02 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x3285d8f8 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x3287812d security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x3288b55e usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x328ba8e6 rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c2bb04 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c68e35 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x32c6c604 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x32cb592b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x32cf8604 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x32d15ab6 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x32d8c5cb ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x32f2f02c ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x32faf0d1 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3319a217 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x33259f29 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x334238f9 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x336773b7 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3386ad84 devm_ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0x339034cd iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x339dd074 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x339f4ae2 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x33a32177 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x33ce1a7e regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x33dd65c5 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x33ec7edb set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x340cfe80 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3421ca7c __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x3426a997 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x343de0d8 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3440eb91 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x344978af dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x3462a5f4 rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0x3468b6eb gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x347ce38e sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x347d0dd4 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34c546ae dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x34dc8b1a srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34eeb2ae device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x34f71bb0 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x352fe9e7 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x3530b154 ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x3540a14c ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x35416208 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x354d7cdd __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x354dc40e acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x356e2ae2 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x357a34ba crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x35872c3c of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x358bbc37 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a4f59d zynqmp_pm_clock_setdivider +EXPORT_SYMBOL_GPL vmlinux 0x35a90312 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x35a93685 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x35acbcfa blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x35b200f4 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x35b2cf38 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35f3d82c thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x35f5f763 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x35f91ee7 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x3603b374 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x360570e0 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x360fba3c blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3611fd1a wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362723ec iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x36313ad4 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x363da623 acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x364291d1 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x3642f16a strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x364e98e9 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x36657225 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x36763961 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x367a488b gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x369ad91a __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a45d05 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x36a7d15c ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x36b60da5 kvm_init +EXPORT_SYMBOL_GPL vmlinux 0x36bfbef0 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x36c717dd kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x36d2254b blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x36d61987 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x36e8abf7 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x36f9a8cf dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x3706aaf1 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x370faa49 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x3722b7e1 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x372cfd6e gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x372e03b8 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x37364b13 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x3738f4c6 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x374b12ad firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x375f1ed3 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377f30c9 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x378adfb7 zynqmp_pm_sd_dll_reset +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37a1fc32 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x37ad353d blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x37b4e798 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x37bc3020 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x37caebc4 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x37cdb7c6 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x37d8da61 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x37df6fb8 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x37efeec4 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x37f75cb0 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3803f3a5 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x38193c40 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x381b8c99 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x3830323d platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x38472621 devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x384992a9 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x385dca2c blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38739ccc regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3883fecf dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x3894ffed __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38af7688 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x38b98657 device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38c5505a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x38cad037 acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x38ce9972 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x38dfd0fb crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38e6dce0 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x38fa3f05 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x390671a1 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x390780e1 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0x3930dc61 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x3937f163 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x39416e00 acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0x3942e511 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x39508978 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x3952ef04 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x396114f8 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0x3970e7d2 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x3988698c dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3989b552 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x399b096f pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x39a61ba0 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39b220ff devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x39b4d0a7 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x39ba109f dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x39c9828e __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x39d6e5e0 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39f30e36 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x39f56150 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a30614f sock_prot_inuse_get +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 0x3a5734e0 i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x3a5aa86f skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x3a5c755b device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a9af615 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3ac415b2 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x3ac6b75b rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3acea01a phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x3ad66b90 dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x3ada9d0d acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0x3aef9537 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x3b019237 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3b02ffb9 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x3b0a0305 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x3b338e02 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x3b35101e relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x3b4664e3 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b4e0ae2 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x3b5698a2 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x3b5aeb27 fsl_mc_portal_free +EXPORT_SYMBOL_GPL vmlinux 0x3b5fd9b2 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x3b605a25 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x3b700c81 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x3b739275 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x3b78bf02 sunxi_ccu_get_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x3b834c61 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x3b83cdc5 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x3b8979ea gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3b89e140 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba171d0 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x3bae97a0 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x3baf25c3 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3bb56a89 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0x3bbdc479 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x3bc7da0a mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x3bcd4871 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3be39b9f devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf9213e pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x3c1a8f59 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3f26 dpbp_reset +EXPORT_SYMBOL_GPL vmlinux 0x3c212744 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c34a74b tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x3c4fb6d3 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x3c5528dc gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x3c615051 fsl_mc_populate_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c79e98e __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x3c8df542 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x3c979943 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3c98faf0 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x3c9d571b of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x3c9fbdfb devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x3ca751da gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x3cabf63d rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x3cb23bbc virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3cb5ad67 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x3cc4ccd1 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x3ccd8b46 zynqmp_pm_clock_getparent +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3ce77caf register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3d189a0e usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3d1eb282 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x3d2dd8d4 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3f049a dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x3d500cf8 iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d76daec rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x3d869e1e pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d9e3f41 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x3dbc0b9c dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dd077da debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3deb65de cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x3dee4ee0 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3def19db spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x3df70c99 trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x3df90982 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x3e013c7e blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x3e0d5ae8 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x3e100148 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x3e2c8ca3 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x3e318efb of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x3e33fa22 sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x3e3985a1 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x3e4b9cc2 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x3e605145 ti_sci_release_resource +EXPORT_SYMBOL_GPL vmlinux 0x3e6cee43 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x3e6d607f spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e73d98d synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x3e871e4e fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x3e8d09e1 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x3e9a4653 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x3ea227c5 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ea7fbd4 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x3eaf0b5b ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x3ec4fc27 hisi_uncore_pmu_online_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3eca4540 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x3ed68d38 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x3ee8c890 rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x3eee95a4 kvm_unmap_gfn +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f0f3806 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x3f16acdb __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0x3f1d8213 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x3f2196f8 acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x3f264a8e altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x3f2e2c4a irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f31965d add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3f3b01b6 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3f3efd9b devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f715d4d regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x3f788616 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3f9ad03c serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x3fb2e0f3 kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3fcae4e0 lwtunnel_get_encap_size +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 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x40003944 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400e497c crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x40164ba7 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x401ea28a hisi_uncore_pmu_event_init +EXPORT_SYMBOL_GPL vmlinux 0x40241423 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x402a2cf8 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x402ee2c5 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x4033db42 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40479855 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x404cfeae ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x40629069 switchdev_port_obj_del +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 0x40780750 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4082ea6e irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40aa985c md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x40b43bd0 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x40b48e75 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x40d5ef21 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x40dfd182 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x40ecc10e gpiod_set_value +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 0x40face63 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4105b219 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x4108247e devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x41106610 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x41236e2e dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x41237f71 cpu_have_feature +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41339d7d rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x414b088b meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x4157b2dc noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x416f80b3 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41845d6e fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a84696 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x41a97fd3 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x41aa6a81 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41b6bcfb inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x41ca9394 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x41ccd5b2 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x41d229a3 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x41da2006 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41f88f6c ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42230915 sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x42561544 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4266a0a6 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x426f8107 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x42754765 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x427a3a3e clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42875622 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x42a933d7 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x42a985a1 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x42afaeab rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x42b9ffd7 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x42c97cdb set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x42d80bfe get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x42d90547 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x42df1f0b mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ea756f synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x42eefaa6 net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42fb7d0a ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x42fba1c7 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x42fff416 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x430a952a virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x431845b8 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x4327824d bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x43281342 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4332e43e i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x434a58c0 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x435260ba of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x43596945 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4383178b dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x43872b52 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x43881b91 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43c11428 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x43c2a786 __cpu_clear_user_page +EXPORT_SYMBOL_GPL vmlinux 0x43cac5c6 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x43d0553c devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43fac6d1 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x441ae1ad bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x441ef72e ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x4433a6c6 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x44352f15 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x445933e8 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x44627597 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x446318d5 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x44769e05 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x44819ed4 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x448b651a sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x449e2704 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x449e2ea6 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x44a2fd5e usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x44a793ab HYPERVISOR_grant_table_op +EXPORT_SYMBOL_GPL vmlinux 0x44ac8595 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x44b000c1 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x44b48226 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d6bb43 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x44dc8daa phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44e5519f devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x44e7c6e2 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x44f2df9a __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x44fa9131 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x45042977 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4510865f perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x45195bae regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45421510 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x4550f257 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455da03c balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x456aba58 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x456c41f7 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x456e5816 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x45722400 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x457341a9 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x459356f2 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x45966d76 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x4596e819 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x45a4e609 dpbp_open +EXPORT_SYMBOL_GPL vmlinux 0x45b433a3 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x45b72ea5 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0x45c5f39a alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0x45c8adfc tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x45c9de1b crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x45d9beba fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x45e3e6c5 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x45e689bc i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x45f78774 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46066e5b perf_pmu_name +EXPORT_SYMBOL_GPL vmlinux 0x460dd8c7 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x461189ad icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x46468af3 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x465d51b7 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x466093fb init_iova_flush_queue +EXPORT_SYMBOL_GPL vmlinux 0x46618df3 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x466c4125 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x467002a7 blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x467f81be usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x468868e1 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46be7634 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c67fd9 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x46c9ef9c k3_udma_glue_rx_flow_init +EXPORT_SYMBOL_GPL vmlinux 0x46ead0aa gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f5d0cc iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x46fdd8ae genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x47137cb0 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0x47141fd9 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x47159785 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47296974 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4737faf5 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x47456cf6 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476c6a6c dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x47784dfc input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x477d8b86 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x47824267 sprd_pinctrl_core_probe +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x479086a0 iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x4792e684 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x4795e76b rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a6e0d9 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x47a889f3 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x47a89953 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47fa0a89 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x480b3195 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x4815aa79 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x4828ebcd relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x4831b550 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x4843a748 qman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x486e7978 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x48797077 fsl_mc_bus_dpseci_type +EXPORT_SYMBOL_GPL vmlinux 0x487d6e8a trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x489e9028 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48bcda33 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x48db13c4 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x48ed90b9 do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x48efba03 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x48f49400 apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0x48f8010a regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x49148d41 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x491840f3 dpcon_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x491bcc8f dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x4923d022 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x49428177 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4945225f free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x494ff0fa crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x496e81a9 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x496f421e dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x497d8eb3 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a38501 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x49a88737 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x49b313c7 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x49b3f1d8 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x49c1c632 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x49c1ec52 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x49db5c64 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x49e0fd21 __cpu_copy_user_page +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ebf2d5 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x4a01d0c1 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x4a078790 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a086861 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x4a0da32c pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a2e1dae gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0x4a30cb64 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a434cb7 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x4a7f490f serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x4a903dfa vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x4a9e553d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x4aa04f7b ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x4aa42064 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x4aa58bea inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x4ab44d6e fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x4ac25926 device_add +EXPORT_SYMBOL_GPL vmlinux 0x4ac77fd8 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ac7bb7d dprc_close +EXPORT_SYMBOL_GPL vmlinux 0x4ac9b9e6 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x4acb5b94 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x4ae3eb1d spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x4aff4889 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x4b002eff ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x4b2f38cf ti_sci_inta_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x4b35230a regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x4b3dbd07 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd4a ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x4b617a40 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x4b69a433 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x4b7e797a ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x4b7ecbd6 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9e5441 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x4b9e89cd clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x4bb3344b crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x4bbc847c driver_find +EXPORT_SYMBOL_GPL vmlinux 0x4bc6b369 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bc87a3c cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x4bcf0eae serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4bf2c6f9 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4bf8411b usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4c14558c hisi_uncore_pmu_get_event_idx +EXPORT_SYMBOL_GPL vmlinux 0x4c18c59b devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x4c220fcc hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c2e5f12 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x4c34c0ec regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4c51b624 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x4c6f0d86 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x4c788f5f clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x4c7b02f5 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4c94a9de __module_address +EXPORT_SYMBOL_GPL vmlinux 0x4cc751cf dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x4cc83f43 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x4cdab93f devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0x4cdd8c89 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x4cebe551 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x4cf5939b pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d010cfd nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x4d0ca481 xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x4d155086 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x4d18fa75 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x4d202b8c __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4d2109bb tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d2c0807 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x4d307f8e of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x4d322843 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4d354438 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4d39bf86 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7c2305 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x4d83c710 k3_udma_glue_tdown_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x4d86e0d7 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x4d8a96ab xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x4d921976 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x4da1f4a7 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x4dab6e89 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db52f2a badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x4dbdb767 ti_sci_get_free_resource +EXPORT_SYMBOL_GPL vmlinux 0x4dcb0368 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x4dd68a61 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df7523a power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x4e08ca1f ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4e0a3187 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x4e16da95 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e204454 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x4e30eaeb __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x4e370c6c dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x4e37db58 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e75b37a pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x4e8e8725 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x4e9997a0 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x4ea39f5b device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x4ea8eafe skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ecd0512 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed277fa regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x4ed63913 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x4edd5d99 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4ef0db53 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f01cbb4 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x4f1313e1 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f36ce73 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x4f378aad nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x4f483641 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x4f51d192 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4f56bd11 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x4f5ced19 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7a814b xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x4f7e1183 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x4f8b9875 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9997bb dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x4fa41a0d devres_get +EXPORT_SYMBOL_GPL vmlinux 0x4fb62451 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x4fc02643 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fc8206e sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fff204a xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x500ed31b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x501ab9e3 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x501c79d2 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x501ecf5f dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x502befa2 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x502f93c0 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x5032c07c ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x5036b323 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x503fbf2a hisi_format_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x5044ba9e fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x504e71f3 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x5050dab6 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x505e5f92 of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x50652dff pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x506d9825 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x507216b8 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50722eef __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x50850496 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509d052d devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x50a63f93 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x50c2ae54 rpi_firmware_property +EXPORT_SYMBOL_GPL vmlinux 0x50d1f5d0 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f12890 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x50f937cb ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5109b852 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x5112ed88 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x5114901a cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x51219736 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x512c382b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x51398b47 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x5169344d k3_udma_glue_pop_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x5170d6fa arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x51829e7f devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x519b89ca power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51ef3af7 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x51faba77 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x51fc9a6d xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x52113c91 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x52121118 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x521d142e security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52281b40 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x522b786d ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x523060ac serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x5233f6ba __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x5234ca06 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x52579c06 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x526f3fe9 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x527d5bd5 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x52992bcf clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52993f1b device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x529b501d debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x52a3b9b2 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b71d20 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52cf16d8 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52db0890 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x52db6e37 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x52dc34c0 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x52fe42db tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x53374e0d add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x533ec9f0 reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x534d27e5 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x5351a3bc mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x5354b530 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x5357f9f4 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535a0ea9 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x537968c2 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5391f2c7 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x539b727b bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x539c9fc8 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x539d4214 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x53a38888 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53dc9d57 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x54139bfb __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5431de30 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x54380975 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x543fc160 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x5444e851 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x54482246 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x544d043e cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x545c7b6e crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x546b4f63 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x54740b1c lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x5483810c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54955855 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x549d1db2 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x54a10406 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54a701b2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x54bec11a phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x54c947f3 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x54fac1c4 phy_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 0x5542994b cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x5547dd8d io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x555e6f30 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x555f9eca rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x556cf1f0 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x556d2606 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x556e4c06 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x556f7258 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558fce99 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5590be1c scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x55948b11 ti_sci_put_handle +EXPORT_SYMBOL_GPL vmlinux 0x55a14f01 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x55a8a560 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x55b10bdc iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55c7d998 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x55c85537 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x55c9880c zynqmp_pm_release_node +EXPORT_SYMBOL_GPL vmlinux 0x55dafb3e clock_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55dbe121 mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f5e9e9 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55fa8b29 hisi_uncore_pmu_enable +EXPORT_SYMBOL_GPL vmlinux 0x5600835d ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x5602181c __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560f903d dprc_open +EXPORT_SYMBOL_GPL vmlinux 0x5610dc82 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x561107cb iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561b83f3 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56335352 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x563f3b01 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5646b3e9 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x56580de7 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x565d3240 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x56633183 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x566432a8 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x5674b3cb rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x567687f9 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x56817584 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x568956e2 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x5689d0ef of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x568b6a26 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x568fd7af hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x569238a2 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x56979009 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x56a7f114 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x56a9242f fsl_mc_bus_dpsw_type +EXPORT_SYMBOL_GPL vmlinux 0x56be65db pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x56d92899 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56ecf718 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x56f02585 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x56f1ef0f devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56f3ff83 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x56ff5447 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5705379e fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x5709804f pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x5710d0c1 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x571ada5b xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x5722077d pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x572ccbdc kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x574713cb rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x5748809d usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x5758d75e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x576493ca __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x576b2086 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x57732438 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x5778064e crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x578a67fc fuse_dev_operations +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 0x579e3607 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x57a299fb blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x57b83edf crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57cd6b89 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x57e3b080 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x57e9bd68 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x57ec1d4d thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57f8515e regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x57fbcc24 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x58126c0d sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x5822ae60 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58421beb transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x584bc73e sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x58547b60 devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x58561124 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x5877d227 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x588ee70f acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x589820b7 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x58b2894a pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x58b834fc trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x58bebb01 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x58d88f72 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58df636a hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x58e06421 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0x58e14f15 HYPERVISOR_event_channel_op +EXPORT_SYMBOL_GPL vmlinux 0x58e4c6d4 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x58f32db8 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x5902d404 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x59052a5c xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x592803cc xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x592bd42e ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x59449eae ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x594771d5 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x59507cf6 acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x59728261 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x5979a804 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x597d3dd8 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x5988d2d3 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x59a45bf8 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b7a5d0 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x59d2a1b4 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x59d3c564 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x59e20fa8 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59fce144 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x59fe70a8 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x5a19500a pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x5a19ac2c blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a1e8ea8 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5a26705e usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x5a4189a3 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4aa013 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x5a4e371e __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a729cef of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a88442b regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x5a8ba1e5 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x5a921b97 rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x5a9787a4 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x5a9904ed dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x5a99cf5c rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab6daab lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5ac50493 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x5acb29f7 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x5acb7ec6 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x5ad48777 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x5ad7e1b1 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5ad90dde devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x5ae2df8f platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x5af15e17 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x5af45661 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x5afb8bf3 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x5afc7e37 bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x5afc8acf regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x5b03f5ae dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x5b07d31f perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x5b09ef38 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x5b204a5d fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b315a9e dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b35933c md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x5b4fdee5 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b6f65c6 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b77103a iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x5b7c7f4a spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5b7d4807 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5b8c1b43 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x5b8f0e7e pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x5b9259dd security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5b92e9ad __class_create +EXPORT_SYMBOL_GPL vmlinux 0x5b9a3f01 xhci_mtk_drop_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x5bb8b22a virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x5bbbde32 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc20670 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x5bc8685d pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd3b89d acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x5bd66ed0 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bdf1f46 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x5be3d424 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x5be8980f irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x5bf833b6 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x5bfb6f3a fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x5c00ca29 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x5c0f77ce HYPERVISOR_platform_op_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c1465fc sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5c1f2714 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x5c20cdbd irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c3f7460 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x5c425c21 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x5c43eeb3 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5b383c ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c6b50fb regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x5c9596c8 clock_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x5ca67d02 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad5e1b memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cc3ee6a wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x5cfc9664 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x5d0087a7 meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x5d1023a4 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d3c6994 hisi_cpumask_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x5d3d4a9a device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5d411b4c regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x5d4b2c10 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x5d55e316 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x5d59ba81 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x5d5af04a regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x5d67769d devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x5d822ff1 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d877c53 mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x5d895a66 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x5d9861a1 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db60f56 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x5dc4a854 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x5dcd5696 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x5dd51a0a pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x5de412cd k3_ringacc_ring_push +EXPORT_SYMBOL_GPL vmlinux 0x5de6151d power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5de7447d __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5de7e868 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x5dfa7ece of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x5dfb6491 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x5e03c3ec xhci_mtk_sch_init +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e302183 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x5e306778 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x5e32da0e devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e571223 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x5e5c0806 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x5e64c94a fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x5e685495 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x5e76bb57 k3_ringacc_ring_get_size +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e84064f power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e885c39 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x5e936c32 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x5ea0665a devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5ec21c15 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x5ec4de57 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ec96d25 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x5edfa683 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x5efc1a43 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f27195a rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f7207b4 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x5f7b780f __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x5f81d83d usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5fb13613 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fbbced4 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x5fc1f34e devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x5fd9fd0c wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5fee66de ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x5ff92963 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x6004c0ff debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x60069ee1 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600e1817 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x6010b803 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x6016c7d0 mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x601ba3eb __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x6028da9a iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6030248d regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x603acc1a iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x60400749 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x60442822 phys_to_mach +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x604e66af tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x605ccd9d dpcon_set_notification +EXPORT_SYMBOL_GPL vmlinux 0x605d5bfa cache_line_size +EXPORT_SYMBOL_GPL vmlinux 0x606daaea pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x606f3786 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x6071cd6f bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x60806523 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0x608a32db gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x608a9b7f devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x608f3985 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x608f89f1 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60982911 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60a36669 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x60af2471 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x60c186ef get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x60d22929 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x60d5dbaa fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x60dab07f ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x60e0b46c kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60ed4599 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fc56ff __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x6107e5b9 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x6110cdec of_property_match_string +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 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x616ce6b6 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6173c760 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x61746dde clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x617b026c hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x617e96f3 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x61844892 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61a9d9a2 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x61ae1d2d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x61cb673e pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x62299fcf napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6238c8e2 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x623dbf4d regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x624486c0 tty_port_register_device_serdev +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 0x62672304 of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x6280ed91 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x628608d7 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x6294c20d usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x62ab7348 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x62ad2165 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x62b03db3 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c4d817 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x62e04914 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x62f342ea nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x62f35c97 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x630ad941 acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0x630c7b11 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x630ee7ed iomap_set_page_dirty +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 0x631abb33 ti_sci_inta_msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x6330eef6 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x633113b6 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x6333c9cd devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x633b03a8 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x633e1325 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x63401ee8 mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x634624a1 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x63692f2b phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x63756754 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x63803403 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x63847f19 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x638eb89f pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x63ac07db page_endio +EXPORT_SYMBOL_GPL vmlinux 0x63b925dc acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d0014d __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x63e10b62 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63f901a8 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x640ab48f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x640fbaac watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x64116c0b usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x641ccc1c gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x641d767d ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x6424f89a cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x6436dc82 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x643b06b0 zynqmp_pm_clock_setrate +EXPORT_SYMBOL_GPL vmlinux 0x6440ecfb sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x6445e320 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x644d4dfc tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x64555064 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x64573a93 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x6473ec18 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x648000c8 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x6484e9ea of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x64949476 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x64961c83 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x649d5ce0 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x64a44802 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x64a623b3 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x64aaf666 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x64c8f3ac regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x64d3cc4e xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64d5c560 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x652054ea mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x653d6b47 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x654ef670 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x655e4879 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x6561f86f devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x656736e7 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x6577fd21 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x658b8be5 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x659e63f8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x65a2b5b4 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x65a39854 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x65c29b11 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x65c2e77f fsl_mc_device_add +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65e01af9 __sync_icache_dcache +EXPORT_SYMBOL_GPL vmlinux 0x65f27867 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x65fd7c74 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x660b57c8 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x660cdef0 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66215372 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x6643fe5a acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x664681b2 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x664eb54a k3_ringacc_ring_reset_dma +EXPORT_SYMBOL_GPL vmlinux 0x665018c2 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x66548921 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x6658d81c dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666b755a __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x666d1b0f wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x666e200b da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x667c9604 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x6682ec28 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668a6d65 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x668c7432 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x6696b549 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x66a6c061 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x66a8c5f6 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x66ae98c4 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x66b5abcf uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x66b661c1 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bcf85a aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x66d32890 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f71750 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x66f72297 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x66f9014d power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x66ff0dbe ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x67085e36 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6714d7ef pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x6729efe6 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x672e998a devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x67517531 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x675a5ae1 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x676c688f k3_ringacc_ring_free +EXPORT_SYMBOL_GPL vmlinux 0x6792e25a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679d17e2 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x67a6b428 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x67afc867 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x67b42f7b mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x67c03022 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x67c169bd dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x67c8e1ff ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x67ca8b04 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e7fe51 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x67f34389 i2c_acpi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x67fbe59e mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x68062375 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x684ca117 zynqmp_pm_get_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0x68584bba __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x68655843 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6869c8eb unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x687bc754 hisi_uncore_pmu_event_update +EXPORT_SYMBOL_GPL vmlinux 0x6880c6ee usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x6880cb4a extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689a25f3 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x68b0c8f4 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x68e86673 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x6901f71b pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x6905617e bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x69248758 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x692514dc rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x6939fc46 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x69403f1f pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x6946c436 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x69478ae9 setfl +EXPORT_SYMBOL_GPL vmlinux 0x69497167 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x694ce030 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x695f5c14 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x69625bbe set_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x6966467a sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698ef2ef sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x69919cc5 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x69a1c52b of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x69a44c70 unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x69a9e07a regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x69af9229 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x69bdbee5 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x69d1b6cb to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a0e024c edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a0e1b82 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x6a103de0 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x6a14e740 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a2c3bc1 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x6a2d2ee5 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x6a2edb65 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6a3fb0d2 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a44582f pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4b3a47 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x6a4c2adc k3_udma_glue_push_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a520718 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x6a524e46 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a647b2e ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x6a655c31 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x6a6bbe94 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x6a6cef61 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a910787 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x6a9830f8 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x6a9fd4b1 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6abacb0a ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x6af29d14 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x6af55d40 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x6b0171ae replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x6b08399a __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b16a430 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2d0bae __irq_domain_alloc_fwnode +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 0x6b5a1612 devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x6b5f36b9 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x6b81b67b ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b82491b skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x6b834121 bman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x6b866af6 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x6b8daceb fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6ba521f7 em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x6bab871d pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6bba7b8c usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x6bbe7e8d driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6bc1b0ac bgmac_adjust_link +EXPORT_SYMBOL_GPL vmlinux 0x6bca532a debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x6bcf1647 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd8816f ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6bf6bcbe crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x6bfd495f mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x6c08a34a sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x6c09750b rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x6c19abda blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x6c1ffe0a led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3b612b acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c3b8e3c ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c55cf5a shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c7725f3 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x6c77d0df dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x6c7ea0bc da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x6c83972f regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x6ca19572 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ca25fe1 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca58388 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6caceb6b scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x6cb0ce87 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x6cc38af7 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x6cc43716 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x6cd6869b tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x6cd8accb tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x6ce10eb0 trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6ce2feb1 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x6cf95aeb mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x6cfcbdf3 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d141ca7 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31b434 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6d322cdd regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d74bc94 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6d7d0569 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d84fa17 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x6d962522 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x6d985600 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6daa7e55 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dc29120 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x6dc44230 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x6dcbcecb metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6dd51e42 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x6dd52eee phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x6dd7b538 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x6df84afa usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6dff7dc6 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x6e06c040 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x6e12f404 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x6e185ea4 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x6e18e2e7 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x6e1b0671 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x6e224325 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x6e2c62dd k3_ringacc_ring_cfg +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4aa78d k3_udma_glue_rx_flow_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e5c3197 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6e71e800 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x6e766646 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e90c54e fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x6eb6fe17 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec79b01 blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x6ed6078e devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eec7d7f fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef7606d __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x6efb7a20 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1462d7 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x6f2d83bc usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6f352c21 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x6f392f73 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x6f42b0ec get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x6f4a5881 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x6f56c35f blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x6f7213f8 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6f769f59 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f8129b5 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x6f95ce15 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fab53c2 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x6fb02b41 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x6fc0cc9f nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x6fc3b054 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7006747a ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x702ec157 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x704ac7d0 dpbp_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x7051d266 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x70610dd4 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x706df19f crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x70763cbd devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x708b0645 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x709a9563 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x70b7c07a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x70ba5a4c regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x70bf7a25 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x70c18b1f sbitmap_queue_show +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 0x70d8e2c7 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x70da534a gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x70ee31c1 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x70f1ee2a debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x70f3e0cf arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x7101ed4f mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x71028b90 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x7106e7ff usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x710aebf6 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7117b89c scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x712b91d8 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x712c8721 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x712cf0d0 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x716fc453 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x71714088 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x71757f3e gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7177bad2 mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7196fe26 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71d65179 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x71dee5b1 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x71eadf26 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x71ed2181 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x71f332b8 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x721820fd bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x72477e41 ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7249c0f2 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x727036ad security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x728ce40b usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x72a09e70 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x72a5e6e0 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x72acf43e xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x72b1e8a2 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x72c1aeeb __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x72c58e63 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x72cecab6 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d8b557 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x73016e45 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7317b1ca ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x73242dcd cpu_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x732fb338 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x73395284 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x73536e4f ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x7362c7f2 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x737067e6 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x73865efa xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x73924a32 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c7acde usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73df713b sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x73e3c167 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x73eb342c devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73ec9363 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x73f842b3 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73fe251a mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x740d9582 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x740f8a43 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x7410a9c5 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x74299195 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x742ec593 led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x742ff6cd fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x7439ef18 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x743a0556 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b99d8 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x746170da regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7472f655 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7476cb46 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x747d8658 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7484596b pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x749aaf5e netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x74a31282 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x74aac7f5 addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b75559 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x74b7cd39 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x74ba66ae efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bdf178 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74d1f333 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74fb615c of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x75077ba1 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x750a0ba5 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x751f7574 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x754e8789 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75611a09 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x75674b08 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x756dd633 crypto_stats_rng_seed +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 0x75920c3b ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x759c275e extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x759c4674 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x75bf2662 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x75c3c490 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d1720d virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x75d25e7e __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x75d3aac4 fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0x75d97a01 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x75da85c3 handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e8abbd crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f0e875 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x75fa740b inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x76242e2a serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x762d34ed vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x76370173 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x764c0d68 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x766786e0 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x767da04c usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76854d03 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x7689d631 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x7695bdcd irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x76967c6c usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x76aee90c tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x76cf5135 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x76d643a0 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76db5242 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x76e589b7 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x771e1a23 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772dde2c rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7737c2de balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7743a9e4 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7758d4a0 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x77789e3e skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x77849a6f clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x77906ba1 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x7793a3a3 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0x77963ba3 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7796b025 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77c02309 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eb2fe7 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f330bf fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77f3d12b regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x77f71db1 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x7805562b acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x7810929b usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x78282145 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x783bee57 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7865775f iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x786ec5aa put_device +EXPORT_SYMBOL_GPL vmlinux 0x786fd9fc led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7871dfee fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78871545 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c6a8e pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a8bfb5 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x78b2d86f fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x78c8d50c skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x78d24932 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x78d8c993 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78de4768 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x78eb9886 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x78fa004b xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x7902ff15 fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x792ce5e6 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7931d9f1 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7932e94e acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x793e099e pci_epc_put +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 0x795a2984 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x79623e6a irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7977e512 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x799aebb1 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x79a4e933 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x79b0b462 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x79b1f864 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x79b5c5b3 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x79b60930 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79c0fec8 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79ebe89a scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x79ed5817 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a167411 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7a25fe5f modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7a2e732a pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x7a2eba2d devres_find +EXPORT_SYMBOL_GPL vmlinux 0x7a33dbca synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7a3cca99 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7a61439c iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x7a672569 xen_xlate_map_ballooned_pages +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7441f1 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x7a75ad3c mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x7a76a681 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x7a7f48fa proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a865223 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa049e1 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x7aa053d2 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0x7ab5421b bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x7abfca43 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac16a81 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad2c64c k3_udma_glue_release_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7ad3f38f rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x7adddd99 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x7ae45e47 pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b17ca1d driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7b2163bd HYPERVISOR_tmem_op +EXPORT_SYMBOL_GPL vmlinux 0x7b320de5 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x7b3e62c2 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x7b4b4bfc pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x7b4c9ba9 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5e7379 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b728e89 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x7b736e6f blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x7b856860 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7b88df94 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7b8eda43 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9a881e devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x7ba72937 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x7ba8b547 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x7bbbbe2f devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x7bc05d03 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x7bc2d676 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x7bc353a6 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bce521e ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x7bdbe86c trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x7be21519 gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x7be30639 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x7be4ca2a mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x7bed0572 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x7bfaf01b spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x7c05dd1d crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7c065e91 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x7c1214cd dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x7c1b7b7e crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x7c20d464 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7c243c10 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7c2447ab __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c48c57a virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7c4b55f6 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c5ca2c1 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x7c626556 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c681aba efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x7c7a4aeb pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c8237e5 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x7c832ecc spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x7c860140 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7c910008 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7c910e0a xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7c9543c3 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7cb0e51d kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x7cb28001 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cc149a1 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x7ccc5558 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cdf67d8 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x7ce794d7 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cfc62e5 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x7cfd5bff pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d042776 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x7d06d41a bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x7d12d68e sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d165383 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d32893f zynqmp_pm_request_node +EXPORT_SYMBOL_GPL vmlinux 0x7d4ab425 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d6e8e3f kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x7d89712a fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x7d8a1c23 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x7d984676 iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0x7d9cfed1 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x7d9eebbd nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7d9fe814 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x7da45cfe fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x7da485de tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x7da5d0d0 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7dac8458 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x7db0a751 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7dd634a0 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb2718 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7dde50a9 irq_chip_release_resources_parent +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 0x7dfbbfd5 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x7e033f1d regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7e120155 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x7e1e6bb3 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x7e218df0 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7e4277bb subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7e598aaf xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e5dd0ad dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e74878d pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x7e7ad10f md_start +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e83f6f3 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7ea1bac5 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb49c49 fsl_mc_resource_free +EXPORT_SYMBOL_GPL vmlinux 0x7eb7a50b crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec814de inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7ed5613f crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x7ed82527 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x7ed8c459 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eef617c bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x7f04199c dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x7f049533 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x7f10805c clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x7f23f1bb crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7f268849 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x7f3b757c kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f91642f pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x7f91de12 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x7f97b606 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x7fa8dc6f of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fab9b81 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fb70c13 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x7fba5e64 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fcb3a9e stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fdb117f led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x7fdb63f2 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fdfedb9 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x7fe152a4 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x7fe899cf pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x7fe8da71 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x7ff9040f pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x8005d09f fsl_mc_portal_reset +EXPORT_SYMBOL_GPL vmlinux 0x80135182 k3_ringacc_ring_pop_tail +EXPORT_SYMBOL_GPL vmlinux 0x80179fd6 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x80295935 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x8034db89 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x80357149 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x80402d14 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x80591598 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x80634015 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807ae4a6 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8091e38d pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x80a4e17e sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x80b0daf7 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x80b109d4 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x80b167cf dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x80c11314 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f8ed52 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x810faa8d ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x811c75f0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x812c317e mtk_smi_larb_put +EXPORT_SYMBOL_GPL vmlinux 0x812cadae iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x8142923f bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x814ef078 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x8155c1c4 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x815ae138 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x8170ba33 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x8174787d acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x818b8dbc otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x819ae90f perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81aa78d8 zynqmp_pm_aes_engine +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b37ee6 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x81d39731 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81d85528 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x81d9ec34 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x81ecd42e of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x81f798d8 devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81fb4b8d devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x820d9fca pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x8220a38e k3_ringacc_get_ring_id +EXPORT_SYMBOL_GPL vmlinux 0x82217890 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x822a4693 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x822f80a3 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x824bda56 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x826fac6d of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x828617af pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x82ba7081 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x82bc4753 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x82c62236 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x82cb6418 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82d996e1 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x82dfff2e phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x82edecab trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x82f43531 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x8308b344 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x830e75b1 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x831a5a2c __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x83206f45 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x8338a9ec blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8348e4f0 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x837277af iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x83739494 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x839dc554 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x83a76094 mtk_pctrl_show_one_pin +EXPORT_SYMBOL_GPL vmlinux 0x83ce1a24 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x83ea9a4e pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x83ee8ac4 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x83fa7f0a pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x84035366 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x840923ae rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x840f1317 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84164a27 get_device +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 0x8445a4c2 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x84480011 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846d7c2e debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x847cb07f devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x847f1eae srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x84938836 timer_unstable_counter_workaround +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84b54425 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x84bb50da devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x84cd1b06 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x84db3135 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x84de670b mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f4de1a usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x84fa5cb4 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x8505d85b dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8511a8f3 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x85182247 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x851c5f97 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x8527ca33 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x85461626 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x854e97fb crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x855a0671 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x8560eeca dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x85764c09 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x85852c85 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x859920a8 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85b0a710 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x85b1c626 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85c9195e rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x85cc8a18 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x85d5d1c4 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x85e5d047 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x85f67304 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x85fc64a3 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x863afa1b event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x8643a06f __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86598368 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866ca6a3 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x867355df gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x86737fb3 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x86761216 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868e82a2 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x86b11368 hisi_uncore_pmu_read +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b51eca __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x86b7eaa9 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86cda581 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x86ce4e81 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x86cea33e sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x86d7aaed blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x86e90587 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x86f0d032 mc_send_command +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f6e746 fsl_mc_bus_dpni_type +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fa2018 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x86fe4099 i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x871506d4 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x8717c160 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x872e0359 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x873c9074 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x873c977c reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8751d271 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x875d1f8c hisi_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x8775a7e3 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x878a73c8 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x879d014c simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x87a48c46 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x87a5f719 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x87b23aa5 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x87c42ef8 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x87c5910b fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x87d6ae06 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x87d74eb8 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x87daedb6 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x87ebad15 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x87f8018f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8800a9e5 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x88036a6e devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x88066be2 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x881f657f spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8831b41b xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x88323d35 bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x884cf084 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x88536be1 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8856e29f user_update +EXPORT_SYMBOL_GPL vmlinux 0x8865624f akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x886b6d0b tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x886ca7eb gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x8875c307 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x887e9bea irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x88948ea6 i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x88ab3978 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88cd7a9a k3_ringacc_ring_get_occ +EXPORT_SYMBOL_GPL vmlinux 0x88e83489 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x88ec8f45 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x88f3c14f tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x890781f3 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x8908521f mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x8909a2ad uprobe_register +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 0x891bba2c mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x89239e9f kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892a4313 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x89357e4e crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893cecef device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8949f564 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x894fba92 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x895d16cc devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x89696218 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0x896acdeb rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x897bf84d mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x89a4476d HYPERVISOR_multicall +EXPORT_SYMBOL_GPL vmlinux 0x89a9cd31 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89b2de5c fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89be9372 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x89c7fc1b set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x89ca5c97 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x89cd43f3 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x89d5a2bc devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x89da5517 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x89de09c8 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89e4a23b devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x89f0a812 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x8a0543e2 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x8a10c1ee trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x8a13153c pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x8a240bff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x8a280e5a bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x8a28de9c rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x8a3a868f platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a6187cc cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a7600d7 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x8a7c017c iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x8a7d6556 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x8a82d56e acpi_irq_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x8aa282a7 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8accb79c blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x8ad085c7 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x8ae1252b pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x8aead1a3 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x8aeefff0 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x8af5dce7 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x8b00a53c fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x8b0545c0 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8b12b1f5 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b151448 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x8b186ba3 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x8b1b7f47 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x8b25c9ad crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x8b275e37 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x8b2a8b6c PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x8b446719 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x8b4bbacc iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x8b5a9593 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x8b795068 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x8b87dc65 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x8b8a7b4f __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8b98328f sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x8ba4b8ec sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x8ba5afe9 HYPERVISOR_memory_op +EXPORT_SYMBOL_GPL vmlinux 0x8be95ec5 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x8beb7cb1 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x8bf144a1 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x8bf15936 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x8bf5f379 k3_udma_glue_release_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x8bfd97ce usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0e4685 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x8c22bf35 devm_acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x8c2ad5a5 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x8c3773b4 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x8c3c2f10 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x8c418a53 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c795fbb __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x8c80dc8f pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8cb3be1a usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a38e k3_udma_glue_rx_flow_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cc896e2 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x8ccbaea0 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x8cd7e8f6 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x8cdbb8c0 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x8ce233ab fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x8cee9144 fsl_mc_bus_dpmac_type +EXPORT_SYMBOL_GPL vmlinux 0x8cf0424b fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8cfee1ec security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x8d0eb68a transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8d11f588 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x8d1d761e strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d5ad877 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d83c139 divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x8d861bed platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x8d8b4994 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x8d8d82ae sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8da3c655 sprd_pinctrl_remove +EXPORT_SYMBOL_GPL vmlinux 0x8dab42de ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8dbc85a3 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x8dbf7aaa privcmd_call +EXPORT_SYMBOL_GPL vmlinux 0x8dc888dc battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8dce32ee fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8de01f87 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x8df60a47 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x8df7ba1b rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8e07f2de to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e16419b trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e248231 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x8e2d11dd dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8e34e643 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x8e3a1e55 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e68cf49 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e710aaa mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x8e748934 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x8e766ca4 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x8e76eafd _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x8e78a36b mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x8e7ecb01 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x8e7f0a9c acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x8e8779e0 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x8e92a0e0 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e9756bd sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x8e9a76dc netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8eaa8ed9 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8eabfaf3 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8eb76803 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8efdfc5d ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0b842b nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8f0d8c64 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x8f2537aa devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8f2e59db skcipher_alloc_instance_simple +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 0x8f588d53 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x8f610cef tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x8f67d2d3 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x8f6ca695 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6e7fd5 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x8f7073a8 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f7bf636 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x8f801d8d rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8f94b561 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x8f9aca26 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x8fa6052c sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x8facf099 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x9007d972 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x901e6c73 xen_dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0x9024b103 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x9034947c blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x9036652e tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x904851be ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x904f785d bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x90527819 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906ca843 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9071aea8 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x90781a84 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x907f461a crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x9081b5db btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x9084091c pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x9086eaf3 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x90994041 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90af7426 efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x90b763f1 HYPERVISOR_console_io +EXPORT_SYMBOL_GPL vmlinux 0x90b8ac7b i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x90c311a0 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90cd391b mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x90ce8348 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x90e04e31 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x910565f3 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x9107490e __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x91243dbb init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x9132f5da driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x9134faa9 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9146cb74 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x9148b37b of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x914a7ffb pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x915d3139 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0x9174e221 device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x9192a142 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x919425fd pv_ops +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91a4e148 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91be5d6d usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c8b5b5 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x91cf9208 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x91cff3b3 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x91e30809 HYPERVISOR_vm_assist +EXPORT_SYMBOL_GPL vmlinux 0x91e5bf6c dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x91f5a88e fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92295424 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x9232448f pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x923f7e51 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x923fa44f devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924c25b5 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x92673171 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x927487ea zynqmp_pm_read_ggs +EXPORT_SYMBOL_GPL vmlinux 0x92807734 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x92849b1b __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9288cee4 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x92956f03 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x9296bae7 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x92b08ecc pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x92b758aa mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d89569 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x92d8e56f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e77505 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92f266b2 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x92f3b3f7 of_k3_ringacc_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x92ff5e18 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x930ab533 k3_ringacc_request_ring +EXPORT_SYMBOL_GPL vmlinux 0x930b3e1b tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x93130dd7 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x933cb922 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x934d1b2a phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x93511cb2 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x93516c96 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x936245e8 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x93725986 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x938143a5 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x93951ee3 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x939c0091 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x93ae38a1 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93e5359c perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93fd336d sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x940328cb xhci_mtk_sch_exit +EXPORT_SYMBOL_GPL vmlinux 0x9405b9cd gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x940aa504 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x940dd187 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x94227950 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x944043e7 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x944229cf dprc_get_obj_count +EXPORT_SYMBOL_GPL vmlinux 0x944fd33b fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x945d993a clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94c1b8a1 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x94d43cf6 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x94dc8f7a regulator_set_voltage_sel_regmap +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 0x94f0b152 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x950ec03b thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x95131dcc inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952563ef i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952a3d45 fwnode_graph_get_remote_port_parent +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 0x95832821 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959be0e2 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95abbe53 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x95b10d0d skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x95b38044 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c01735 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0x95dc459d fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x95ee39be regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x95ee7969 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96174dd4 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x96288b34 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x9629d54d pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9632e31b clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x964eb002 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96587311 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x9659b1c2 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x965c412f msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x966c0847 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x96708f8f bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x96718955 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x9693398e blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x96953cdb crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x96a4c9cb trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x96bce02f spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0x96d445a7 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x96e87b97 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x972386dd hisi_uncore_pmu_set_event_period +EXPORT_SYMBOL_GPL vmlinux 0x97280f89 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x973ff95f blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x97534555 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9760306d ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x97623558 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x976b419e pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9782b554 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9791b3cd clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x9795808c xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x979d5ab6 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x97abb826 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x97ac312c rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x97b9eec3 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e43fc2 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97ece0c1 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983a024f pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98519642 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9868e3b8 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9871ed10 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9884f0c2 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x989c50f8 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x98b98e50 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x98c6aaef pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x98cd027c proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x98e90dd0 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f4e664 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x98f5a508 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x98f854e3 __fsl_mc_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x98f9f2a3 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x98fd106a fsl_mc_bus_dpmcp_type +EXPORT_SYMBOL_GPL vmlinux 0x991eaea2 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x9945f261 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9967b392 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x9994a3d5 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x99983574 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x99a6de68 of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x99b357af pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x99dcbab3 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x99ebd860 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2a864 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a121534 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x9a13d665 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x9a175c62 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x9a24c75c xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x9a2feb84 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x9a3ae290 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a7cc994 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x9a906620 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9a9ad65b trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x9aaae52b pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9ab0d4dc spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9ab50496 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x9ab87451 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9acc08bc ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x9acc93d4 acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x9ae4191f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af3a2b6 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x9af89a4c extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x9afca167 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x9b303812 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9b316343 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x9b3efb84 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x9b44a2ca ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9b48f9a6 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x9b5344d0 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b5685ad tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x9b5dea32 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b7002fc extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x9b722922 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x9b814a45 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9ba55824 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x9badca5c sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x9bb60e72 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x9bb98d76 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x9bbb7749 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9bc77923 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9bccd7cd pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x9bdeea9a dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bedd3b2 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x9bee211d switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x9c0d7777 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x9c10368b iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0x9c1be224 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x9c1e0110 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x9c20e7d1 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9c24454a acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x9c32bc7c class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9c4deacb iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x9c512690 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c729ec2 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x9c7b3d48 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c8e6ca6 xhci_mtk_add_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x9c96980b usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9c98517f ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9c9d834a irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x9ca2867c debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x9caab9ef acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x9cb3d657 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x9cb571e6 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cc9e6d9 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x9ccfadd8 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x9cd06fb1 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x9ce46b3d xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x9cedd84b tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d184e1b virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x9d290522 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x9d2e9022 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x9d5ea3d9 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x9d625251 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x9d81bc2a input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9dad8ce6 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x9db0e2cf crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x9db5bfe7 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x9db79967 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x9dd16c72 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x9ddc6495 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x9ddc9176 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9df07a30 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x9df838cc synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e05e6d5 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9e08d700 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x9e1a15e6 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x9e1d553b rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x9e26bb9b regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9e36f3b4 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x9e396e89 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4fb3e8 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9e59748a ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x9e5f93bc linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x9e62b2b3 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x9e6f59b7 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9e705188 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x9e8607b9 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x9e9ead20 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x9ea87b66 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x9ea942c8 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x9eb19ca8 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x9ed2c7b1 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x9ed41d3d spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9eda066f of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x9f10b6de ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x9f19c30b dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x9f277ed0 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x9f27c01a lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x9f36457e __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f3f848c __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f41a906 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x9f437771 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x9f492c5d devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x9f517986 HYPERVISOR_hvm_op +EXPORT_SYMBOL_GPL vmlinux 0x9f5b50c7 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x9f61ec7d dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x9f6d739d hisi_uncore_pmu_start +EXPORT_SYMBOL_GPL vmlinux 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL vmlinux 0x9f6f2cc7 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x9f73206f pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x9f834228 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x9f982cdf kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x9f9a2dcf usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fcdb4d7 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd3e1a1 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x9fd996b8 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa0143c8f pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xa0170c3e pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa01c87ef dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xa042befe ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xa047b2de bus_register +EXPORT_SYMBOL_GPL vmlinux 0xa048de07 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xa04c01ed ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa05e58d8 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xa063acd9 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xa07a8c0e __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xa07e8399 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0xa083176e hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa08c2980 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xa0c0a5ee __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xa0c231a5 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0c6befa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d856f6 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xa0e94019 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xa0ec1859 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xa0f9c41e xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xa1086410 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa112cb13 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xa1167bcb devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xa13c91a0 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xa144984a task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xa14e08fb sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa152a0bc of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa1636cb9 rpi_firmware_init_vl805 +EXPORT_SYMBOL_GPL vmlinux 0xa1691b63 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xa16bd696 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa16d69c8 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa19acdad bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa1ae223e nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1ece723 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1f51d55 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xa200568f ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa24cf24d ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0xa25d1b35 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xa26229e1 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa27cc96c mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0xa294e3c5 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2cba283 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0xa2dcea88 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa2fc76b0 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0xa30577f6 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xa30ad672 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xa30bc3c9 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa3271758 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0xa33105ea cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0xa331d440 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa33904bd ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xa34bd4af wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xa35b1030 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xa3659b5f __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa37229d3 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c1436 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa38f3a20 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa3953db2 meson_clk_cpu_dyndiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xa3970925 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa39a4662 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b6b297 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c1f14f nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xa3d2acdf usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xa3d767af rt_mutex_unlock +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 0xa3fcea99 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa40d4e12 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa41dd5de fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xa420bd02 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xa42f080f rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa435ede4 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xa4385bdd dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa45264b7 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa4587728 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45d44fc zynqmp_pm_get_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xa46aa2e2 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa49367f4 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xa4a026b7 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4a1f96c of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4bb31a8 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xa4bdfa87 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0xa4bfb27f fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0xa4e09629 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xa4e90d43 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xa4f2a2ed acpi_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xa4f6926e pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0xa4fff07c iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xa50335f4 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0xa508b61a __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xa509d5df skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xa51bc326 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa5846c3e ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xa58c1622 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xa590e7dc pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xa599324a irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xa59baeae devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa5bafd93 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5ca5739 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xa5cf4ef7 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0xa5d76953 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5d9964d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa5ed389d register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6119589 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xa6143ac6 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa61b61a5 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa62dfcb4 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xa6351665 devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0xa639d149 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xa6759da5 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xa6777229 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xa6824f3f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa69a4227 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xa6af3163 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6fcafd4 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa71484c0 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xa717563b scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xa71fcd10 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xa72273da vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0xa73103b2 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa7336759 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xa741a0f2 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xa74a6930 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0xa7595df4 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xa75df245 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0xa7749e9f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xa780c449 mdio_mux_init +EXPORT_SYMBOL_GPL vmlinux 0xa7815ad6 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xa7856098 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xa788700b copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xa7a276ed wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xa7ab8d87 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xa7b3c16c usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xa7bb8daa adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa7c52265 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa7c8056c lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa7de85a7 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xa7f15105 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa7f2f195 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0xa80789f2 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xa81a2e64 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xa81fc1b9 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xa83e2076 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0xa844c5bd devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8793e36 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xa8835e5e tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xa89bfb83 is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xa8a7972b mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xa8b1510e max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xa8b9059f tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0xa8b93664 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8e2eb8f of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0xa90cd324 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xa916341a mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa91ffba3 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0xa92ae4dc __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa93ab149 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0xa93ceda4 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa9458d18 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xa9519799 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0xa9628e0e usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa979ec9b find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xa9831482 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xa9885248 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9ae4f76 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xa9bc8b74 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa9be1c41 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0xa9cd4c6b scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xa9d25f18 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xa9db1c36 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa9de21cb tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9eb4984 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xaa19b899 phy_put +EXPORT_SYMBOL_GPL vmlinux 0xaa207470 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa2b7fe7 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xaa2f461c pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xaa33455b dprc_get_obj_region +EXPORT_SYMBOL_GPL vmlinux 0xaa5c7eab usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xaa663bb4 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa70cd17 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xaa75c546 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xaa83b9c1 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xaa87f065 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0xaa9bddd8 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xaa9cd861 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaad6be7 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xaade5ba2 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xab00d0e4 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xab060841 zynqmp_pm_query_data +EXPORT_SYMBOL_GPL vmlinux 0xab2ef2c5 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xab30b1e8 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xab336e12 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xab3b03b5 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0xab3f7e25 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0xab5a3e63 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0xab5bd7c2 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0xab684b3e __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xab69205b component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xab95fe8f gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaba9f5ed pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xabad5aa3 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xabb69b53 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xabba4a0b dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xabbdbd35 zynqmp_pm_reset_get_status +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabc6ff58 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xabcf8fd6 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xabd45848 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xabda34bd ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xabf9eac5 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xac0d80d4 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xac343bb2 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xac38ce0a call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xac3a8b07 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xac42bb41 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xac4367cd irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xac695402 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xac6bdbc1 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xac6cc27e virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xac72da47 psil_get_ep_config +EXPORT_SYMBOL_GPL vmlinux 0xac770d9a ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xac79e2de usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xac9d35e5 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xaca10acf find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacb97bec dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xace33289 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xace87fa5 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xacea176c nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xad074200 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0xad0f2b6c unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xad222507 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xad2c9585 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xad42e74d mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad60ca4e devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad664987 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xad6baf93 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0xad73adce xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xad9ae94b alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadb05809 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xadc6a9b8 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0xadc80136 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0xadd0eaf7 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xadd310da fsl_mc_object_allocate +EXPORT_SYMBOL_GPL vmlinux 0xadd855d2 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xaddccde1 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0xade1e090 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0xade4f608 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xade847dd mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xadf122c2 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae0b4625 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae22c430 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xae249887 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xae286f3c edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae4409f7 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae53ec0c extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xae5494cd gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0xae66224d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae720d31 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae81588b device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xae82dfea xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xae9eb12e raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xaea8d407 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xaeb12315 find_iova +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaebdcec5 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xaec8b252 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xaed3f6ee device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xaedce088 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xaee48fb1 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0xaee4a0b8 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xaef25604 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf07ed93 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf0e8cfb debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xaf1f601e thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xaf21c9f4 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf478523 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xaf56217f pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0xaf70364b __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xaf763621 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7eb3dc tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xaf8b14f7 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xaf9c1e73 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xafad9739 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xafb07262 __pfn_to_mfn +EXPORT_SYMBOL_GPL vmlinux 0xafcac948 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xafd83890 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xafdd844e gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xaff341a6 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xb0204c02 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb059eeb9 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xb05b5c35 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077cd76 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb08a22a3 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb097dcb1 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0xb0a66ef7 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb0b1f851 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c7f547 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xb0c93332 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d60ae5 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xb0d6b86c ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0eb1efa pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xb0f1d85a sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb117c552 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1418ba5 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb145f588 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb146a49a thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xb15e357f scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb16974f3 dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb173c34d irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb185c641 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0xb1a86eeb regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb1ac2784 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xb1aeb523 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c114e3 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xb1d95157 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1db077c usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xb1e1fbd2 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e856f9 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xb20063e4 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xb2051701 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xb205ae2a devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xb20ae34e fsl_mc_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb20dce5a iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2211445 amba_apb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0xb225eb8b ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb249c253 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xb2617b5a rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xb2647b84 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xb266cf19 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb27043b5 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb29a4a30 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xb29c2bf0 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xb2c0480d skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2e55d53 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ec14b3 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xb2ed71ad devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb3165733 ti_sci_inta_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb3347f92 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0xb3351c6c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xb3399822 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xb343b70d blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xb346c859 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xb346f45e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb3697565 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb37e80b3 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xb3ab85fa __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb3b40fc9 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xb3bb5c3a acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xb3c1b113 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xb3c5ecd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xb3c8c84b blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xb400200a sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0xb4004fe1 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb417d12a genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xb4182f22 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xb42da3cf mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44241be da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb452c7d9 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xb45baf3a lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xb461e81c cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xb466e7e6 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xb46923b9 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xb46d21cd devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb472502f dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb492611b sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb49c1e5c devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xb4a56809 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4ce1edd pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xb4de72eb nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0xb4e05665 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4ee5ff4 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb4f5cb1c crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb4fda8bf alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0xb4ff6bb6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50f68ef dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb510c250 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xb515d06b rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb5247e11 mtk_paris_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xb529ed2d ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0xb5460fac crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb54b3a46 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xb550a32c kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0xb553b210 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xb55de460 HYPERVISOR_dm_op +EXPORT_SYMBOL_GPL vmlinux 0xb570b188 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0xb57c65d7 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xb580e830 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xb5845bb9 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xb5854078 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xb58e194b netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5c18c05 clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0xb5cd70e5 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0xb5dd6a1d regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0xb5e062dc ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xb5ed48c8 bind_interdomain_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5fd2aa5 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0xb5fe5608 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xb60c099c ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xb60d928b ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xb61c9fd4 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb61dd682 user_read +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62894d6 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xb62cbd80 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb643793c tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xb64e4321 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xb65c604b fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb68afc7c devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xb6979a52 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb148 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xb6b53892 psil_set_new_ep_config +EXPORT_SYMBOL_GPL vmlinux 0xb6d3c9ba icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0xb6d60efb ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb702838b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xb7042603 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xb7181541 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xb71f212b crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb7467292 virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xb74a2630 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xb757086a of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb760776d register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xb760e295 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xb761d2a4 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0xb786c753 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xb7981e76 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7bdf651 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7ce265e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0xb7cf8b28 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0xb7e6b727 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb7ecee92 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0xb7ef35d1 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xb7f1597a devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7f5d22b crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xb7f73ef8 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb802279e of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xb8075006 acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0xb813ec9a skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xb81cbb1a da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb81daee0 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb822ef8b mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb83606ac xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xb8360a74 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xb8458067 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb85a19aa xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xb87c7ce3 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8994699 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xb89bc9bc efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb89f60b5 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xb8abedda thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb8bca7a9 ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0xb8be8bc0 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xb8c2ea1d device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d10bd9 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xb8e731dd clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xb8f05def sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb90387d0 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xb909717f pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb92267e6 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xb93cca82 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xb944e8d2 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xb94be7d3 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xb94ddcdf inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb956942e gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xb95d4586 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0xb9614950 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb9778d97 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0xb97fe74b tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xb9813fad extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c174f4 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9cd7339 wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb9ce1840 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d1cda1 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xb9d785ae regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xb9e78853 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xb9f02ce4 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xb9f89246 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xba03f703 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xba05fbb3 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xba087637 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0xba1e19a6 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba2f171c acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0xba3a3391 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xba5a34a3 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xba5aadec genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xba5df6c9 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xba6a1afa nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xba970ea5 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xba984d9b acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xbaa2a857 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbae957cc __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0xbaf16e16 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafa3d60 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb0d1e5f usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xbb10d434 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xbb11beb7 update_time +EXPORT_SYMBOL_GPL vmlinux 0xbb1f591b __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xbb25b493 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb2a9e04 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xbb396dc5 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xbb43fc26 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xbb478a27 skb_copy_ubufs +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 0xbb9cac08 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba977e5 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0xbbb3152f pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbbcc1927 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xbbcda938 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xbbe763ce dprc_set_obj_irq +EXPORT_SYMBOL_GPL vmlinux 0xbbf7880c tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xbc0f51e5 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbc14beb6 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xbc1cdfd8 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xbc284aee acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbc578396 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc7718ae __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xbc78540f register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbc9bbf5c usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0xbcac30ae mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcca9655 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcdef600 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xbcebf202 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbceeab02 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd0a253d sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xbd29099e gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xbd29189b regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xbd2c3ee7 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xbd3a135c devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd902f76 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xbd9130cb regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xbdb9b5ff sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xbdd2efe0 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xbde0f482 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xbdf33263 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xbdf8119d gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xbe003dcf irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xbe2bf209 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0xbe45f801 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5e3414 k3_udma_glue_reset_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe6a8423 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xbe706f23 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xbe83793a of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbe9aae45 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xbea16ab3 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xbea172e1 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeb42e60 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecbd930 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xbee6935d serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xbeee01bd nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0ae840 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0xbf0f402b crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xbf467845 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xbf5cb3f8 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xbf6a5aa1 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf71bf32 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xbfa621be regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfeaf469 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xbffa2ec6 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc00b56f7 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc01339a7 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc016db4d of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xc02b22d9 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc0308664 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xc03e4365 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0xc0527708 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xc065465e init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc09d8543 debugfs_create_u32 +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 0xc0bfd9b8 find_module +EXPORT_SYMBOL_GPL vmlinux 0xc0ca10b5 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xc0cc9b95 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xc0d73417 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0e90677 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f293a0 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xc0f9d926 hisi_uncore_pmu_stop +EXPORT_SYMBOL_GPL vmlinux 0xc0fbcc24 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc113b4bb tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xc1143f64 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0xc1147843 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xc153abac device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc18ae88c devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc19286b2 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xc19ee2ec spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xc1a95a1b devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xc1b11cb0 nl_table +EXPORT_SYMBOL_GPL vmlinux 0xc1cb2fe2 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0xc1cc1462 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xc1cdd57e genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xc1dce028 k3_udma_glue_reset_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc1dd2bac trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc1ecc1a4 meson_clk_dualdiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xc1f02150 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc1f50cfc shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xc1f53f27 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc1fe5eb8 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc20b818a kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22ed7f4 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xc23c942f skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xc245072f blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xc250ff2d register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xc25244ee extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xc253b833 acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xc25ef00b shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xc268ed7c platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc2695e3b wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xc27e2f25 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc27f6af2 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc288085a serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc28d02bd regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xc28fb00b ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xc29f100f of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c3790c smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc2cfea8c bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2ea897d amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xc2eb9b82 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc2ee91ff gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xc2f066a5 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xc2fdb243 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0xc316612a inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xc3203a75 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xc3212352 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc3375d55 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc3432887 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xc34ab92e dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc34adb57 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xc3544670 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc38ac121 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xc38d00cd ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xc390a885 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xc39c1ffd devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xc3a0438d ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xc3b137a8 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xc3b2fc80 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d13c3e mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc3da8c8c pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0xc3da92a5 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3de9864 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3ea8f3a synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xc3fb4a9d acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0xc405f241 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc409b39b pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xc40f4e07 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc4115678 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xc42715a3 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42a5cd4 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xc42e1082 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xc4328f79 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc4501223 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc4569c6f dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xc456b091 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0xc45a42e2 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc466e961 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xc4692f12 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xc4704748 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc488d05f crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48f250c scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ac8eef __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xc4afd1bd devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4d3dd3e debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xc4ddc889 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xc4eae733 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4f4d9e2 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0xc4f63ffa __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xc508cfab d_walk +EXPORT_SYMBOL_GPL vmlinux 0xc5156bf3 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc5180b95 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5232302 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xc52f0388 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0xc5551698 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xc5569cde ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc56fa194 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc57813ab scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xc5824d5b tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xc585781b pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58f97da mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0xc594d840 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc59841ca proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5bd9490 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xc5d09438 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0xc5d77af1 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0xc5d789df alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xc5df7835 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc5fd6b92 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xc6100471 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc6108e3a rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc61da59c fsl_mc_object_free +EXPORT_SYMBOL_GPL vmlinux 0xc6230ebc ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xc62e42aa acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xc633e07c __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xc63401e8 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xc63b61e3 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc640637c dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xc643359b ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xc64a24e4 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xc64e593a iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66bad3e fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc678d434 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc69bc9f1 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6b6c8c9 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0xc6dab6b5 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xc6dac96f __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xc6de7156 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e0a5cc perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xc6e4ee70 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc71e602b blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc74767c2 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xc757b963 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xc75f3847 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xc770ec55 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xc781d43f raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xc781dd59 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc79413b2 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xc797e357 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xc79e00c6 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a5cc51 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7cbfda3 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xc7d2907f dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xc7d67d2c xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc7db85eb usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xc7e91b0d of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xc7f91151 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc8075e40 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0xc8086e78 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc810185b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xc810e714 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xc8134f8f ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xc819bc25 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xc82556ca devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82d53c8 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc83ab1ff fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xc8424a00 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xc854c19b handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0xc858b010 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc865e1f3 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xc87dd725 k3_udma_glue_pop_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc87fb025 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc8836d74 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xc88b37e3 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0xc88d02f3 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xc88e3908 device_move +EXPORT_SYMBOL_GPL vmlinux 0xc89cef55 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0xc8a38816 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc8d7e560 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8dfeae5 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xc90ce874 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xc90ef7c9 iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9139885 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xc9204473 pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc938e66a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95af40b tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc97a00c9 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc987126b edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xc988a22e dpbp_close +EXPORT_SYMBOL_GPL vmlinux 0xc98ea055 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xc9a44dfd regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9a7b3f6 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xc9c9cff4 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc9cca126 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xc9cdb0c7 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc9ce937b uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xc9cf0c07 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9de899f nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xc9e43c87 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xc9e4dec6 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0xc9e6ba47 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9fa5457 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca0e982e mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xca18be67 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xca211b35 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xca4cae2e ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xca4ef9d9 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xca630917 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xca7a28fb xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa96830 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xcaae2d93 xen_dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0xcabb45e9 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac70aaa crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xcac7cb9d kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0xcac8a6c9 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xcacd88a0 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcad0f7fa kvm_clear_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xcadf270b fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xcae67d45 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xcae7ce5d fsl_mc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xcaef082f fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcb0945ec of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0xcb095206 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0xcb110b06 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xcb14b577 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb28f7d3 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb2d9d34 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xcb565e6b ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb79f06e genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xcb878b6a pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xcb979452 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xcb989d11 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xcb9cbed4 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xcbcc23ab fsl_mc_bus_dprtc_type +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf70d68 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xcc02fc7b xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0xcc07cc51 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xcc0fd0a7 k3_ringacc_ring_push_head +EXPORT_SYMBOL_GPL vmlinux 0xcc20c5d4 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcc263d9a rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc308da6 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc417c76 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xcc4f5f67 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xcc51f83a xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xcc61afc0 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xcc8b497b relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xcc8e1b6e pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc942191 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdcb9a2 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xccdebdc6 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcce0952a anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd1626e9 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0xcd18c42b dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd3e5c7c acpi_release_memory +EXPORT_SYMBOL_GPL vmlinux 0xcd5c2d97 xhci_mtk_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xcd60f05b md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0xcd6dd56e trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd759b82 k3_ringacc_ring_reset +EXPORT_SYMBOL_GPL vmlinux 0xcd76ebd7 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd996c4b bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcdb18aea acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdb74ea3 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xcdc571cc debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0xcdc86b55 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcdec7875 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xcdfe2b49 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce0eb389 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0xce15b662 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0xce2b97de udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xce2d9658 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xce3046e1 dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0xce316d7e zynqmp_pm_set_sd_tapdelay +EXPORT_SYMBOL_GPL vmlinux 0xce3ab248 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xce5b5832 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce735db2 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xce885d5e device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xcea3a462 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xcea81988 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xceac8674 zynqmp_pm_read_pggs +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xcebff1d5 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xced2d759 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee5c8d5 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceed8c16 __set_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xceff2b4d pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xcf02f66a hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf03de13 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xcf045847 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xcf2e0979 fsl_mc_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xcf33ac63 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xcf4f55ec bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcf4f715b pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf7089ab invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xcf82c37c tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xcf853cb7 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0xcf88c2fc usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xcf8fac45 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xcf967b64 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xcf9ffeea gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xcfa7f477 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcfa846a8 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xcfc15f4b rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xcfc3e92d alarmtimer_get_rtcdev +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 0xcfd6c11e iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xcfe8956d trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0xcfec679b devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xcff52970 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0xcffe3ee4 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xd009812c wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xd009e4c6 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd026d518 HYPERVISOR_vcpu_op +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04725a8 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd061f55e __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd06ecd43 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0xd07368a0 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xd0874643 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xd0912586 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0ba4d2d tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cd7eb0 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0d5f2d5 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0dd3ab7 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xd0f2fe22 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xd1420f83 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xd14e5bc1 sprd_pinctrl_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd15ca179 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xd1646200 kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0xd1801af6 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xd186e6ca pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xd19f4b2b inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd1a316ef usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xd1a88aa3 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xd1a9daf6 amba_ahb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0xd1aceceb clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xd1b7a99e phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd1c30c33 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd1c38135 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xd1c7d114 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d8961c dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xd1eb1746 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xd1ee9c04 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f60c40 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xd2002e52 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0xd201bda3 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0xd205db34 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd22a2e77 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xd230eeb8 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xd2385831 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xd24c4e84 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd250401e devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd272b77b of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27d521a security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd2a6febc xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b91da4 fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0xd2c8ae77 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2d27998 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0xd2d8c839 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2fead83 udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xd30920fe mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32694be sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xd329c24e ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd32d69fc usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd338dcaf usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd346a5ef device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd36fe0a8 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a790d0 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xd3bfa753 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3c115d9 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0xd3c5d36b fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xd3daef36 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xd3df5503 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xd3ec28d4 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0xd3ec9552 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd406c94f virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0xd40de7f4 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xd42009d6 fsl_mc_portal_allocate +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd44716eb device_del +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd456ccb3 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xd4603627 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xd466d26f iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd4888207 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xd493d409 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xd496508e blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xd4a5775e pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0xd4ac1393 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xd4b60dac fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4bf8c42 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0xd4c106a2 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4dd0f73 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd4dd2597 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4ee9107 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xd4f8fe2a nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xd50730c1 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xd5171989 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xd51e6493 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd5344621 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0xd5393ded crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd54cafc7 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd55d1569 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0xd5740521 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xd57fbd31 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5807af3 k3_ringacc_ring_pop +EXPORT_SYMBOL_GPL vmlinux 0xd580bdf6 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xd5828b23 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd5835918 save_stack_trace_regs +EXPORT_SYMBOL_GPL vmlinux 0xd583fb58 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xd5848f4d kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0xd5863c68 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5abc526 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0xd5ad357f __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xd5b57ab3 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd5e4f59e crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xd5e61714 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xd602178f genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xd60a8e9d cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xd6139795 of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0xd6175525 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xd61b175c crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xd625cfec dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd63f4a1c kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xd6423661 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd645914c dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xd6493163 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd65aeb00 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0xd664146d phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xd66ac691 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xd66f5939 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xd6706052 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd6726400 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd680ae9d __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xd68415b8 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xd684518b net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0xd685d2d3 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xd6949eda unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xd6b02d5c bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0xd6c0c746 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xd6d55074 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0xd7175ad4 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0xd71f755d proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xd7206158 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xd72a00cc ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7334379 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd740f9ae crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xd74438ef device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xd75545a7 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd766479c dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd7861da1 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd7b8470b serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7c39fff free_iova +EXPORT_SYMBOL_GPL vmlinux 0xd7c97a13 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7dfb9b6 ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7fc179e device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8121e2d usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xd81f60d3 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xd82b38a6 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd82ca5eb rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xd82f6f19 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd836effc vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84e49ff ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd85b9fb5 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xd8602a15 pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xd87972f6 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd879c619 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd88235f0 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xd88263cb ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd8984d85 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xd8cdabd1 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xd8d24416 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8dad28e devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8ecc860 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xd8ee444b tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd8fcd3e5 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xd903aa0d devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0xd90743f9 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xd9086502 zynqmp_pm_reset_assert +EXPORT_SYMBOL_GPL vmlinux 0xd90a27d1 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xd90a93a7 k3_udma_glue_rx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd90c4052 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xd90f9737 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd90fa350 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xd9125454 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xd920216c crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd92206bb pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd937585a dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xd93792d0 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd9556899 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0xd957eaeb skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd97b3622 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xd98b1f07 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xd9ae5c5e of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xd9b139dc page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xd9b4457b usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd9bd2a03 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd9bdef5a dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xd9cfd956 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0xd9d5d879 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9faa7a5 zynqmp_pm_set_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0xd9fe6e03 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda02f54c genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xda03bb51 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0xda11f1b2 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xda15a15d alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xda19ce00 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xda19e321 xhci_mtk_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xda1c9302 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda5123df blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xda589c65 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xda77876b phy_reset +EXPORT_SYMBOL_GPL vmlinux 0xda78bc22 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda97c323 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdab56f23 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdadf8484 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xdae2f14e udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xdae6c90e unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xdaed28b3 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdafdfe4e rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdb0d3fcf ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xdb22154b cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb28c0c3 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xdb33f713 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xdb4e612f ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xdb4e72df acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0xdb555268 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xdb5a934e clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb6c2ea8 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdb735885 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8b6fa0 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdba75894 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdbf29726 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +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 0xdc217b74 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0xdc21e866 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xdc22d740 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xdc231c68 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xdc250631 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xdc38220e mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc65f0ab gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc69d036 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xdc6cf2be ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca33d0c do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xdca4cff9 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xdcbddcd6 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xdcc46b2e __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xdcc5b168 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xdccd03e5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xdcd18d2f queue_iova +EXPORT_SYMBOL_GPL vmlinux 0xdce23a83 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdcf4c6c0 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xdcfefde9 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xdd04cfca nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd2eedb5 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd2fc20f devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd4fe9cc pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xdd51e126 fsl_mc_allocate_irqs +EXPORT_SYMBOL_GPL vmlinux 0xdd5e6e4b udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd74e601 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xdd758348 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xdd7f0765 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xdd7f64f0 cpu_logical_map +EXPORT_SYMBOL_GPL vmlinux 0xdd8afdb1 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xdd93aaac ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xdd9821ee blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdd9ad49a clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xddacd597 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddd241c0 mtk_smi_larb_get +EXPORT_SYMBOL_GPL vmlinux 0xddf5fee7 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xddfc6d65 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xde09a94d xas_find +EXPORT_SYMBOL_GPL vmlinux 0xde0f4e72 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0xde177b87 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xde1cc179 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xde2d3af0 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xde4c3e79 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0xde506c39 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xde66cfa4 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde797d87 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xde96fc70 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xde98b2b9 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdea10516 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xdea68d0d badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdec9a3bb __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xded2b840 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xdedd6290 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xdefbfc70 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdefff25a regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xdf0926c8 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf17859b tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0xdf1b8935 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xdf223247 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf46a5c9 init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xdf77c619 bgmac_phy_connect_direct +EXPORT_SYMBOL_GPL vmlinux 0xdf7ba1a1 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdf7fbac0 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xdf80670a component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xdf81b0ba usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdf93cf24 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xdf958a2a nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xdf9e7e4b blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xdfb94686 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xdfc0ba83 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xdfcafb6c usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfd412ac sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xdfeff236 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0xdffef400 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe00c7d22 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xe019c57a handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xe02fcd79 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xe037666e unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe03bbcfa l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xe03fff23 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0435664 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0xe054b3a0 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0679f60 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xe087e98b rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xe08fa953 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xe094b8ae fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xe09d630b debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe0a3f4d7 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe0acf372 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c7e9c6 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe0db31c4 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe0e3147c HYPERVISOR_sched_op +EXPORT_SYMBOL_GPL vmlinux 0xe0e335ff sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xe0e89d8a device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xe0f863cf irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe1118ea2 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xe11295fe cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xe1214842 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xe1327c3d netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xe13851b4 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xe13b38c5 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xe1409230 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xe14fdd1d xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0xe16875f7 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0xe1714bb3 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1800785 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xe19288bd __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1b893d0 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1d31f7f ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xe1e04ab2 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xe1e4df72 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xe1e65ea2 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xe1e9227a iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xe209cd76 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe20bf52b devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xe20e1a1c pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xe21e70bc rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0xe22857e9 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xe228d740 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe2582a12 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xe267006a platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe2690305 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xe2908032 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0xe2abde28 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c7de29 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d3fe25 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xe2e1351c dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0xe2e236be crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xe2ec4702 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe31e67c0 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xe327e69b tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xe32d984c __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe338c5ac inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xe34bf0bb screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xe352c687 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe356b698 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xe35c0a97 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0xe36ac996 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0xe3870ad3 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe3948ff4 acpi_walk_dep_device_list +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39c0868 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3c038d6 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xe3c83e47 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3dc575b qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xe3e3902b sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe3eb7ef0 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xe3ebf9bd arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xe4008f2e blk_mq_init_queue_data +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 0xe44009ca ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe44754f7 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xe448146e i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xe4668421 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xe4716084 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xe48430c5 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xe4874aef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe48fafcd gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xe49412b4 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xe495926a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a83806 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b44fbe blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0xe4b7f4da badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4be5b0b raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4f140d5 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe4fdafd9 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xe51028d1 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xe511d441 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe51f8fcf blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xe52a4ac9 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0xe54c6d58 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xe5516728 k3_udma_glue_tx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5538557 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xe55537ca usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0xe56b7fe5 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe595d4d7 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe5998f34 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xe59b3f30 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0xe59c141e __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe5a925d3 zynqmp_pm_init_finalize +EXPORT_SYMBOL_GPL vmlinux 0xe5ba4c3c dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c167e3 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xe5c56a63 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5cf118c regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0xe5cf82a7 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xe5d8bf99 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe5e0cde3 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xe5eedd3c devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xe5fa83f4 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0xe5ffd017 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe61d5ed8 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe62c14e7 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xe635d5fb dpcon_enable +EXPORT_SYMBOL_GPL vmlinux 0xe654f9e1 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xe65d6bef tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xe6614876 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xe6822f56 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe6832142 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xe6aa102d pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xe6cf1e52 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xe6cfac65 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xe6d5e6ea mmput +EXPORT_SYMBOL_GPL vmlinux 0xe6daff4b pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e988c5 k3_ringacc_get_tisci_dev_id +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f5e6f5 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe719e83f efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0xe71ba5b3 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xe71cd9a4 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe722e49d mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0xe730231b gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xe732ae05 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xe7381a59 vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xe73dd0d1 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xe741800f kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xe74b6781 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0xe75345b5 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75781f0 dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe760b434 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77b01a0 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe77d6654 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7936243 zynqmp_pm_clock_getstate +EXPORT_SYMBOL_GPL vmlinux 0xe79cdf16 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0xe7c9711b ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xe7cef1ca generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xe7d58bd2 gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7d96288 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xe7da667e sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7f8bd44 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xe7f90311 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe804f5e1 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe8059e4b ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0xe8060d0f ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe815aa00 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8191b8e ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe836afd9 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xe8452b94 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe86236b6 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe873e11e fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xe8a4ec23 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe8a7ca1a regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xe8b40f33 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe8b8608f crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xe8ba270b gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xe8d75ad7 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xe8e04b35 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xe8ecc658 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xe8f061dc tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xe9090f12 mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xe9112370 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xe9205962 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xe920c03f power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xe93080d0 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xe932621d ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe940fbdf device_link_del +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe95c39de platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xe9726a8a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xe975eaa0 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0xe983e3ae skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xe9a14f1a extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xe9ae858a serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xe9bea6a0 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xe9bfea34 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0xe9c5b605 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d387c5 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9d63a0d k3_udma_glue_enable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xe9d84874 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe9e18eb7 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea261fab get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3817d4 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0xea48f100 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xea48faa2 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea6a3c92 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xea6eee08 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xea6f3603 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xea7a10e7 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0xea88db0a pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xea8ebf51 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0xea9889d8 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xeaa818c4 dprc_get_obj +EXPORT_SYMBOL_GPL vmlinux 0xeaab5051 ti_sci_inta_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xeaac52fa cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xeaad96f9 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae867b5 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xeaf7fe0f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb003879 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xeb08eda0 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xeb0a463a of_css +EXPORT_SYMBOL_GPL vmlinux 0xeb0c1a41 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xeb10e50d pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xeb18c54b ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0xeb1fec31 of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0xeb2ea94a acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xeb3a3d34 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb3f8466 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xeb4221e4 trace_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb4b07a6 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xeb4b64e7 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xeb5024af xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xeb5ad46d posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb75ea68 kvm_vcpu_destroy +EXPORT_SYMBOL_GPL vmlinux 0xeb875f89 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xeb93ee87 devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xeba6b2a4 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xebb4a97b crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xebbcd896 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcf58b2 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe0594a skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xebe5a743 blk_poll +EXPORT_SYMBOL_GPL vmlinux 0xec1a9c57 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xec1f0100 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0xec31cbe2 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xec3cdc63 security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0xec5197ef bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec58c5fb of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xec59e7f1 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec6372c7 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0xec660cd3 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec6cd234 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec91faff adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xec94f61a vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xec965b17 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0xec9c1b60 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xeca0a6b9 fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xecab979e kvm_vcpu_kick +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecca240e usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecee15da security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xecf97a27 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xecfcb271 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xed084379 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xed1bcb5d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xed50c0a0 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xed5a19d8 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xed658e65 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xed707728 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0xed7c7b91 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xeda127a5 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xedb743aa i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0xedc05a1c devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xedc45704 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xedcb33ab serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xeddc6d61 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xee0929a4 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xee197fcb xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0xee27a837 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xee27b50d bgmac_alloc +EXPORT_SYMBOL_GPL vmlinux 0xee2d2315 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xee364e12 rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee46a204 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xee48d0fa pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xee4ea9bd irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xee50e079 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0xee69404b __phy_modify +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 0xee6ccde8 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xee7abd1d fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xee7e8f63 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0xee82fe52 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xee9202d5 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xee9cc023 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xeeb9604d usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee024f9 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xeee175b5 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xeee23dea __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xeeea582b i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xeef5429a pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xef0db8f3 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xef18c91a regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xef1dde67 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef3dadcc fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef4b3c5e of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xef4ecfd3 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xef4ff91c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xef5bdbeb rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef744100 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xef98b7ed usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0xefa0b547 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefb9d3db mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xefdd0dd3 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0xefe3db65 fsl_mc_bus_dpio_type +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff6055a skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xeff83127 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf03c0ee2 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xf03d56d0 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf04486bd gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xf06147c9 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xf06303d8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06f7102 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf073e8c6 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0xf07fe5c6 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xf08050c4 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09592ea kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xf09bfc57 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf0b0465f dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xf0bc6900 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xf0c96be0 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xf0cc3f04 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xf0d478c7 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xf0f415b5 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xf120df45 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf1332b85 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf140f46a perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xf156b20e led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xf1575847 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf168a590 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0xf173ebac fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf186127f spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0xf1991dfe __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xf1aafd3d iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf1aed9df nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1ba6172 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xf1d93782 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf24d7ab6 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xf2531bec xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0xf25e884d phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xf26ec0da uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28040e3 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xf28a79b8 component_add +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf298c75b dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xf29a3994 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xf29f5926 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xf2b0669f of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b41dc1 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30e108a perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31869e1 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf3231dfb pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xf328175b mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33ad88e dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xf34e2f33 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf3620cf5 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xf376c712 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xf378d2f9 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3905ef3 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xf3b4155d tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b61bd0 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3bb7a4a pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xf3cba3b1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf3d26d9d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xf3d9968b clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xf3e92594 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xf3ed42c7 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xf3f2c385 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xf3f5906f kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xf3f5fe5e led_put +EXPORT_SYMBOL_GPL vmlinux 0xf3fb578c irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xf3fbea56 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xf414d7f1 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xf4245f15 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xf436fd03 md_run +EXPORT_SYMBOL_GPL vmlinux 0xf4595793 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xf4641e39 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46dd033 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xf4817f55 meson_sm_get +EXPORT_SYMBOL_GPL vmlinux 0xf4873fa2 __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf49c6d6f ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xf4a44b6c thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xf4a68529 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b1c8d1 hisi_uncore_pmu_disable +EXPORT_SYMBOL_GPL vmlinux 0xf4c0a8f6 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4e5d180 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0xf4f6d7c7 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xf50e911e copy_reserved_iova +EXPORT_SYMBOL_GPL vmlinux 0xf512e563 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf5158e83 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xf51de9b1 ping_close +EXPORT_SYMBOL_GPL vmlinux 0xf525e3e2 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xf52c06ed usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf546d049 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xf5479c11 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf550ca45 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf5512860 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf573f57a pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xf57bd3e8 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0xf57c8d4a device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xf587271b sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b02506 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0xf5d299fd mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xf5d38b4f alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5dedd8f mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xf5df687d udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xf5e42677 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0xf5e4e790 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf603e21a bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0xf62e4831 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xf62edb46 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf63d2991 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0xf63fe85e mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf64352e3 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xf64d1c94 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf66ab859 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xf6716c01 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xf6719dc6 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf6748dfd kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0xf678093f iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0xf682c1f7 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xf68763d3 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0xf6885ef0 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf6a1809a gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a42bbb shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xf6b4323b usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6c9228c sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xf6d1a675 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xf6d4ce7e pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0xf6d7238f spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xf6db1884 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xf6db654d ata_sff_port_ops +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 0xf72060df ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xf7258051 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf73fcfb8 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xf744d59f kvm_release_page_clean +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 0xf758bfe1 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf78813c5 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xf78ca470 vchan_init +EXPORT_SYMBOL_GPL vmlinux 0xf79c70ab trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xf79e14d8 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7c5ffe1 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xf7cd5a65 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0xf7d0c723 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7dd4b83 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7de5337 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xf7de660b fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xf7e9f6fd netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xf7ef8531 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf80b3e05 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xf80f1b3a devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf81c0a59 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf83ba450 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xf83d78c7 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf85eaddb tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf86f56e4 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xf872dffa bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf878c4a8 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8bfa4f9 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf8c16788 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf8c2d2d3 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xf8d1f12d tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xf8d6b203 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0xf8ddbc20 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fd7d66 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xf900c77d zynqmp_pm_clock_disable +EXPORT_SYMBOL_GPL vmlinux 0xf910a0d6 meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xf91ab2ed __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xf9274ce9 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf94a6161 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf954e258 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf9597239 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0xf967422b HYPERVISOR_xen_version +EXPORT_SYMBOL_GPL vmlinux 0xf97b61c4 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0xf99a06d7 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a52651 dpcon_reset +EXPORT_SYMBOL_GPL vmlinux 0xf9cb788b nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xf9cf5048 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xf9d1d6e2 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf9dda77c devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xf9ecc863 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xfa0a8896 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0xfa119c00 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0xfa154024 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa2602d2 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xfa26c413 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xfa2d8e19 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa3b663c dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfa3ec42c blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xfa6453f2 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa67f93d crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa88f46e ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0xfa92845b kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0xfaa13028 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0xfaa1d651 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0xfaa4df0a pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xfaaa515f led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfacccec1 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfadcb9e5 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfaf1e00c is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xfaf55630 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xfaf5b275 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfb06d0c3 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xfb0c55f0 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xfb237911 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3c6fd4 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb4811b4 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xfb4a0bf7 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0xfb4ed39a devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xfb5f249a mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfb6373d1 hisi_uncore_pmu_offline_cpu +EXPORT_SYMBOL_GPL vmlinux 0xfb6694d3 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xfb671839 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb7b7a08 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xfb8850ca dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0xfb8c62cc gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0xfb8d23de devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xfb9ca0f4 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbcdd1ff subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xfbcfa308 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xfbdfc558 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc033120 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0797e4 free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc1d1feb __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc2062c8 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3dd3a6 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xfc56217d serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xfc57a2ca crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xfc5af8aa of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xfc5c3866 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xfc632606 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xfc746b3c gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xfc8e8050 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfc9477b5 zynqmp_pm_set_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xfcaa1642 wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfcae3c2f ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcc259a8 store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0xfcc7c0fd split_page +EXPORT_SYMBOL_GPL vmlinux 0xfccefe44 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xfd0c1e4f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xfd0e2a2d gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xfd17b127 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xfd17cd6d fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0xfd195774 k3_udma_glue_disable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xfd25663c tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfd28faa0 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xfd32c34a cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfd3cbb41 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0xfd61a9a0 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0xfd6f8d44 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xfd71716b pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd74a2c2 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xfd75c2f9 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0xfd8b1618 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xfd8b7376 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xfd8efd89 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xfd948202 kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xfda5df06 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xfdb8bd8c md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdd75aac posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xfdda2334 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xfde692f8 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfdf8634d sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xfdfde11d pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xfe0cf59b crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe1b0369 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfe2ac88c regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xfe31c6a4 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xfe3264c9 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xfe3a4790 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xfe407e34 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0xfe455922 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe602567 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe725ffc ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xfe792b74 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfea2a479 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfebd50ef ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed4aa58 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfefe8d5c sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xff00d4ec platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0704bb pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xff24c6f0 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff2e6d80 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff4ef60a elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff61043d pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xff624eba mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8a41af blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffaaa62b dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffaf84b4 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xffed1a15 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0xfff33458 nvdimm_badblocks_populate +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x54d924f3 ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xbc9af62a ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x059417ec mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x0f2c48ef mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x181832e5 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1bb0d64a __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3450add6 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4c9a31e6 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7bc8d535 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x85ea1bef mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9b5ea7d6 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9ce8ca1c mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xb71b2373 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd1fd3a10 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xde398784 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xf7e0fd4b mcb_bus_get drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x089baad5 usb_stor_Bulk_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 0x211f29f6 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x29ef6902 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3824a3ec usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3f0cb654 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3f7e25a7 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x432a2c75 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x52ffe693 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5a2f9fa9 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5d9c86e1 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7456565f usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x82211edb usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x85863de5 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x88be8f9d usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa8d00796 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaa3e269a usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaaf438fe usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xac5f3b87 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc3725717 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc938e362 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcd8694d6 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcf6ec707 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe12058b6 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf5733bf8 usb_stor_clear_halt drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic-64k +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic-64k @@ -0,0 +1,24583 @@ +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x68f275ad ce_aes_expandkey +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x8ff421c6 ce_aes_setkey +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0x52d67a4e neon_aes_cbc_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 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x737051cc poly1305_init_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 0xd4671463 xor_block_inner_neon +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x0df59941 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x1d1c3ed5 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x25cb57f5 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xa48e99c1 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xad28ec6e crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xf25c90ac crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/sha3_generic 0x6ee5ebdb crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xb7cb0abc crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xc9946034 crypto_sha3_init +EXPORT_SYMBOL crypto/sm3_generic 0x23123744 crypto_sm3_finup +EXPORT_SYMBOL crypto/sm3_generic 0xd8f12258 crypto_sm3_update +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0xceec93be to_nfit_uuid +EXPORT_SYMBOL drivers/atm/suni 0xf92045ce suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0xa1d2728b bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0xfbfc44bf 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/bluetooth/btbcm 0xf6cb926b btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x02d94db3 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0xf7d4a55c 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 0x1150f95e ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x314d24cb ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x34e3ddf4 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +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 0x5b6e01f6 ipmi_smi_watcher_unregister +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 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 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 0x62c492f5 st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xb7a00c41 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xd7627355 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xf1911358 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x9941208b xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xacbedda2 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xad060bd6 xillybus_init_endpoint +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7d081041 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7eec2696 atmel_i2c_probe +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 0xd34abbab 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 0x686a59f6 caam_drv_ctx_rel +EXPORT_SYMBOL drivers/crypto/caam/caam 0xae9b8b98 caam_drv_ctx_update +EXPORT_SYMBOL drivers/crypto/caam/caam 0xb57295d7 caam_qi_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam 0xc0eaa792 qi_cache_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam 0xddf5a7b8 caam_drv_ctx_init +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x0ae06174 caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x3197ffaa caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x7067ef29 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x7b7dfafb caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x88178022 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 0xeb74e448 dpaa2_caam_enqueue +EXPORT_SYMBOL drivers/crypto/caam/error 0x53d0fc97 caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x58d90a2f 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 0x8a602b4e xilinx_vdma_channel_set_config +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0dded687 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x186c5fde fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1b24303e fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1dd5e5c9 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2377695d fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3299d186 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39f84218 fw_card_initialize +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 0x3db9a791 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x42c77c21 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4b55fcd7 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4f2ef052 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x587a3e9a fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5c57f150 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6450e36b fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7450974d fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x776a9549 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7bb97e3a fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x94255984 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9ab4c6c6 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaaba4d84 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbf51d993 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc325966c fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe54f3c5f fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe75c0bea fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf501c837 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xff22c136 fw_device_enable_phys_dma +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 0x2fa53a28 imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/gpu/drm/drm 0x000f5b21 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0072a84c drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0177abf8 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0188eb8e drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02587ed0 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x025c223f drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x027ac46b drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02a640af drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0469e191 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x057cf08f drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05a36653 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06ebf483 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09311f21 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09676380 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a178305 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ab05259 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0adc2485 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae22d27 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b95d1d6 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c142087 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c7e79c9 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cee3f6e drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d373677 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +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 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x111cfd78 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b9567a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x120cc878 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12bf067b drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1322cdb9 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x134c0424 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13740a5b drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13d6d8ea drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14911ed1 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14de5303 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15e216d6 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x166bd172 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16742e40 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16a69780 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x176323bb drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x176cdc49 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17b0c77c drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1929414c drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1939d6d8 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194255a4 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a5f863a drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a7efcf6 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b53a134 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b8b3a74 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c20f9bb drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c3a45c8 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d08dcbd drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d2007e4 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1de5ee5d drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e27543c drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ec329a3 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2068b6cf drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20d28f60 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x217476e4 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x238c9d06 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x238db025 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24dad2aa drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24eebb11 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x250d604a drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26b3d1b7 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27855373 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x279ebb5b drm_bridge_chain_mode_fixup +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 0x2ae0bfea drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b47385f drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c082c68 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c3dbf47 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cf349cc drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2daf6850 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ddb3a56 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e29b8a3 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ea003ee drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed1196d drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f037f7b drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f55fac5 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f7381a9 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3084735f drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x309b6faf drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31274954 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x339ec2dc drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33a698cb drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33e5f7d5 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34c45cc0 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3545df95 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3575954b drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x362f2f20 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x363ab8e2 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37821cc9 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x379344bb drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37bda7a4 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aec1bec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b71341e drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3bac7b5b drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cd3e4d1 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d27e8dc drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d6da721 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dc6720b drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dd05743 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e50b109 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e696d2f drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb663f5 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40587f12 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41d5f5da drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43c82f10 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x443d5bd2 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x448f267c drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44ed6c0b drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44f6c79d drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x461147cf drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4715ffe8 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47198278 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474132fc drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47ab8bd7 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x481ba878 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x489c889a drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48b181b2 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48b70389 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4905dc0f drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x497f1fa4 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49a18a46 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ab81a6f drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b0e0d46 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bd911f3 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e396150 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea850d2 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fcb3517 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50aa89d5 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50cbd164 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x533c1068 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53656c52 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53bc4813 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53dbdd60 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x542aa5ca drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b3cc21 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b48099 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54cd9aca drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5522b1c8 drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55a39c22 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x560555b2 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x566b2921 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57256049 drm_mode_plane_set_obj_prop +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 0x57efc770 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b1a451b drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b7e4f6e drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cfc3c4a drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5db2d789 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e0a2c5e drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5eceebc3 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f096225 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f3839a1 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f5b57be drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f8f16e8 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fd3954b drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x604f4e21 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60776acf drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60c85a22 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62e28c17 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63cb0212 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6497ce72 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64c76738 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6756b5fe drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x675f8d93 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x678b8c57 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67e7f1b8 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x681dc9d5 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6828a985 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a60d6e7 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6affad5b drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b7aedad drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c3c5d11 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d4ffa10 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6df7f6ba drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6eb781f5 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ec788e1 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74039523 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x749d3a87 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b14b4c drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75d7aa79 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76767973 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76b25868 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x771383b8 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x772f64ce drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77a172ea drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bd2e571 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bede0c4 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d039549 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d682972 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d6bbb1d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d8ac619 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e225286 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f1a190e drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f31ce42 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f6683e9 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f8f3c53 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x803c9839 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83473920 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x845a2714 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84e40fe2 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x853da6ea drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86142803 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86d9581b drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87522215 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8766c0d7 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f5d71c drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c6e3aaa drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cabfc37 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ccd4289 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dfbbf74 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f6fca90 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9011ba8f drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90c60438 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9244f643 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x938b1596 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93915d18 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9421ae38 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9582f48e drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96c96218 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96f72197 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99d9891b drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d612c17 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d7ed9ff __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e199493 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa021a410 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa059c17d drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0fad845 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1a5189d drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2f079f5 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa46bf082 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa55871a2 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a58613 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5f98e47 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa670c2bf drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6a72a99 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8299858 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa82be1ba drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9b781f2 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9ec26be drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa3a7f86 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab2d8f41 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab6eb80b drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabb2509a drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabbb48c7 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabbdf948 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac3e0ee2 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbceca8 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad638de5 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad79cc41 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae28697f drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf017f04 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafa00d69 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb048a7ee drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb04fe2e3 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0ac18da drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb109f226 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb29e757f drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2e51a93 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb38420e9 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3b4ce22 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb472f877 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb624ad6e drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb634ec0f drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb93806b0 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbba3533 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd8a9537 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe0f2408 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe73bcae drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf3658dd drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc02a46b5 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc090518e drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0c8534a drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc11731bb drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1744cfc drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3db3600 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4435e5d drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4b8ece8 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc55d1f07 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc729aadf drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc72ce52d drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7c87a91 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8de126a drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc901e33f drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc918aac7 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca1aeab5 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb57825e drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc97d0d6 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd6c1343 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcee22c06 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfdf4e85 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfeb470a drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0159559 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd16dc1b8 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd16df5f5 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1ddc829 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2f1f985 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2faade3 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd371adee drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd39ca0f7 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3c867d5 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd47d8f8e drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4e1f228 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4eb2b60 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd80662c2 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8c065ba drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd91317b7 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9136c6d drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd93b5654 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9cf419c drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda39d4a5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda5fc70a drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda9a017d drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc2c2847 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdccd3d00 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcf3d229 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd56a83d drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdebfaec9 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf12e743 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf1d5231 drm_modeset_acquire_fini +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 0xdfb839c4 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfbe20f1 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0b8b99d drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1066e5f drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe116d3a4 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1afd2de drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2854d1e drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317d43f drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe34bb18b drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe34e12f5 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe36e018f drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5d70710 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe61b5e6e drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7617b88 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe766a2f6 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7fb2b7f drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe87b5feb drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8ead43e drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00741d drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea3d57bc drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb422636 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebacfde4 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedb71d72 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef54a5f9 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef5a4099 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0220057 drm_panel_enable +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 0xf20b5847 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf29f52df drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3333738 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf364d794 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf44b01d6 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf49c89ed drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf49d195e drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4ef0da1 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf55d9a31 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5ce43ad drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b511c3 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf771aa1b drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf91cf669 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9afde14 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfad7ae7a drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb051217 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbe9cfae drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbf9345e drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc39877c drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcbd8b4e drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcd818c1 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdba2d9f drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdfa8281 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe23b884 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeaa7281 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff92539e drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x025110e7 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02c93a67 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x036eaedb drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03af2baa drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03b7835e drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05230ceb drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0736d2d4 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08013bab drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x083883dd drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a3ed4b5 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c0db1a9 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d6b6d95 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f1c3830 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10414ffd drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x114aa3ae drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x137a6311 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x145f737d drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x15eb3e7a drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x163e3b72 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16f99df5 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x174b14fe drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1780a13a drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x187c7d5a drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c65c0bc __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d9afa04 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e23ddd7 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f595b98 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x204ef4b4 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20d38a45 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x226b88e3 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22da141c drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x231cba95 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x246e42ec drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24d3e192 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2524d19b __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x262a0767 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x268ffb92 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x281a40ac drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a4f613f drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b5ab902 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b9dff25 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d401ee8 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2de0b6bd drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2ee2a4a6 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x304cad97 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3197a4de drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33a44faa drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33acd315 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3534be39 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ac6f7c1 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b003c9a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e2be874 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e9bbaba drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3fe67610 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40695699 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41bd471c drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x422ead18 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43f52561 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44650b53 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4749009e drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x484992b5 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x486f0de0 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48df67f6 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49cc445e drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49f95a2d drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a885731 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bde1a41 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4cf6422d drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ee9541a drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x501209bb drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5096144c drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x520b6396 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x543853d0 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56d29026 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x578475c9 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x579b78ef __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57e2e06b drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59155558 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x592ced2e drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59c11597 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dd518c8 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fc3dd4f drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61aa4229 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62ab342d drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62e400fc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x639e6324 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65571c02 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66423588 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x684952fe drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69f252ab drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0bcb8a drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bea007a drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c629e73 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6cd69d0d __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dd4b71c drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f43ce14 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f8b5c4e drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fc35f0d drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fff3baf __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x701298ac drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72b752e1 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74d7c1cf drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7531ffc5 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76a488ef drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76cd1c45 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x776fc097 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78aadc8f drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a100558 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c4d43f3 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f0c2353 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81e44c31 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81fe1e3d drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x823f8b5f drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82547693 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82857de9 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82b6f739 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83763752 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x845678d6 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84944a1f drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84b2ffac drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8543aedb drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86119a72 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x868449b6 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87cf7a80 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x881d774a drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88c8d50e drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a0b2c9f drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b516670 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f67b009 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x90d46a6f drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93466155 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94bb0eb5 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97ad1ad7 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x997a4f64 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99a2b9eb drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99b897cc drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a2dfd8b __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bb6795b drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c7e767b drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d70f8e7 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e2e77cc drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e8405c6 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1df2149 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2e19ba7 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3e7ec4c drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa53231ff drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa61a783f drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6411689 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa694ca7d drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa76b33d7 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa29bb8a drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0798a2 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac3dfc9c drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac45d3a4 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac49c85e drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaccdfbeb drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae92d955 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf10db69 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb02898bd drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0e09255 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb42bf265 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb67e7df5 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb6d4f2e5 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb703bb02 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb83d2bac drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb84d2c47 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba87110b drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc06aae23 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc34830e6 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc576c541 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7b0f1e7 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc80b377e drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc521908 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd0ed1bab drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3a12923 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3e64447 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4981a44 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd576dd4e drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7a85f3f drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd848b3be drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda13581a drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda4666cf drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda77073a drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdba16bff drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc07ea17 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfc6de87 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfdedda4 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0308af9 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe32aec88 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3dfc66d drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9f937e6 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea9c31b7 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed028687 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee2ef68e drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee6fe302 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf165b05a drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf23b825f drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf258dfbc drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf370dfae drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8b87be5 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9f44b62 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa9cfc44 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc0546af __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcbf3b98 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdc41d3e drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfde89328 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x20fe7331 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x2b739e00 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x350e9577 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5ad89ef4 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5cc761d5 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x62235fa4 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6fbf14fd mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x72f73893 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8e2a2f4f mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8f89d29c mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb4b2a4c2 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbcadc32c mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbd0e873c mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xca343c00 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd629b5f0 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xec5abfef mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xfd0cccd4 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x87a887f9 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xc523957e drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x02b48c25 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0b02bbb2 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x31b4d39b drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x50a1be4c drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x529c0180 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x545c452a drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6070a52e drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x60a9fe1d drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x677b3a29 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6dfe29cd drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x852263fa drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8f73703d drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa14ae990 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa445ce78 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbb51259d drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbf534033 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc4dfff9a drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xca210d5b drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe4d0495b drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf06fd058 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf618e1c3 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0xdf3c7f4b rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x11f526b4 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x198bbfb0 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2982af1e drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2e1604b6 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x31ec7ed5 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3e999678 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x415945ed drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4cd13247 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4d2f9493 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x71d810fb drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x79935e95 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8226b04d drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x898633c3 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x89870fdc drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x93770be6 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa8df827e drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa95b6a86 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb733b797 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd1dfc225 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd79ec4d6 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe2f7c876 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x13d3fa20 sun4i_frontend_enable +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x14f552c6 sun4i_frontend_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x2b08b08e sun4i_frontend_update_formats +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x635e15b7 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 0xd0032059 sun4i_frontend_update_coord +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe13164ef sun4i_frontend_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xfe60e8ee sun4i_frontend_update_buffer +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x00735d5f sun4i_dclk_create +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x03bdf9f3 sun4i_dclk_free +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x08f88425 sun4i_tcon_mode_set +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x11974798 sun4i_rgb_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x3a902492 sun4i_lvds_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x6c10c7a7 sun4i_tcon_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xf4d118df sun4i_tcon_enable_vblank +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x1e7c36e6 sun8i_tcon_top_de_config +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x350e5dcd sun8i_tcon_top_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0xba3e639c sun8i_tcon_top_set_hdmi_src +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x037d4248 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03a1e940 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0edf39ab ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1657a03b ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x177a4fad ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1cb2ab06 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1daf6ab5 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1dfc9d0d ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1fc5a9a3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23485ed8 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x282a274d ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x29bc47a5 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a6d6d6a ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x38a3d542 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ed77d0a ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ff43a22 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44671ae8 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d83126e ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e461e2c ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x540f8262 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6125aeab ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67a35269 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6854ae97 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6f2513d5 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79e71aab ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7ead11ba ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x810bd428 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x81b453b5 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83096012 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8b6b043d ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8daac7e7 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8df6e99a ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8f862a36 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9ca2b67f ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9cda9ab2 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa466981f ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa98d9ada ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa074d1f ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb0e1bc92 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb6bab78d ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7955652 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbd4a1d58 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbeb092fb ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc96d05f7 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcde5626b ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcfade370 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcfbb483f ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb326689 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb78b684 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe31db15a ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3cb20a1 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe97893fe ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeb5a3d5a ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef27ee25 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf3649951 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf626155a ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf842e726 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb766426 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfc272fe3 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfd2fb83b ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/hid/hid 0xa93448f2 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 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x5b866fc8 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 0x1dd4b19d i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd58d5cf4 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe526db36 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x0841380f i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x8e89e27d i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x7619e9fd amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xac98f98e bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xb6b7090e bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xf1879896 bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x552182f1 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x8bb26184 kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x915c60e8 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x0252f2cd mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x0cd0e577 mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x1ee8074e mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x2392adf6 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3fae19b3 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x432013a0 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x4b036ef5 mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x63181b29 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x791e3dc2 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x7ac86187 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9c592cc8 mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbb1ddd46 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbc23765a mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc6b1ca94 mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc7f02e56 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe0bb538f mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x3627e8bc st_accel_get_settings +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xabc9efb8 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xb7c9eb47 st_accel_common_remove +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0x98fd7ae0 iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x144076af iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x2d324c43 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x1c86db5d iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x7bbc41b5 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xa78371e3 devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x0f6f0633 bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3988ba6b hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x48a8794b hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x4dfc37a7 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x62ea2b2f hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x71f6415c hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x9bc7255d hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xce4a1aaa hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xd4174ca9 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xfd30c65e hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xfec7b1a5 hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x917b9399 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x96e99705 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xafc0895a hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xc27f1d72 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x21c54b6b ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x3ee0a235 ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x522bdc2d ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x538b4d6d ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x65d9973f ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x8fea8291 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x93e08e2b ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xc8c84046 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xf0417fcb ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x13d2142f ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x362c3b66 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x444a5c92 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xc3b2438f ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xcf945301 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xa65bd26a ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe8165316 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe91af58e ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x08230825 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x152ea159 st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x2a417669 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x41775f4e st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x4d3ec83a st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x6884fb26 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x7fe70808 st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8cfb76c2 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x92028bd9 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xaf521d0c st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc055d869 st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc119d6b8 st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc6dfa7ec st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xdf02727a st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xed84c4b0 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xee3e9e38 st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf4573173 st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf97ad5bf st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x37107aa5 st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0x78277032 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x043c1da1 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7100061f mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7b164142 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x1d8ffba6 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xce3ff739 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xe177c804 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x727c4b84 hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xa68d674d hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x11dcfe20 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x5821ad03 adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x04041a64 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x41a20afc fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x4047fc9a st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xdc2cb772 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x0b24a57d iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x1086c35e iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x281dd128 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3ab253b7 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x47615df8 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x527029c3 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x6411e80e iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x6486579a iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x6502f83b iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x695d9ae8 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x6c09ce7c iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x6d30e60d iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6e4b97b2 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x72444623 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x7c3c4527 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x8eaca806 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xa07ad2f1 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xa67400fb iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xbc94b20c iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xc431f077 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xcf0f1e5d iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd9e463a5 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xdfcc3a86 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xf5fba5d3 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0xcd1cb3ca iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1574365b iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x577ec353 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xb6388d99 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xc667c8c2 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x4a0ad44a iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x9ef4bca3 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xb1c71280 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xee271500 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x1f56de0b iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x9990d6dc iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x69a926d0 st_uvis25_probe +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x6f3c697b st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x19fdf11e bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xb6d8bd70 bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xcc0368d5 bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xdc5de334 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x4d0c2eb6 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x9096beea hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xa7456883 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xb364a27c hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x019a3c5c st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x708303a5 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xb7996f68 st_magn_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x1ac00c74 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x481a11c9 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5cd2e5b2 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xb65438d0 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x4199c3df ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x92bedd06 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x3043c2f2 st_press_get_settings +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x4e908acd st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x97433791 st_press_common_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x16ddaac3 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1b0e441e ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1dbb79c1 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1dde1e4a ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2da7c775 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2de0c406 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x32739f6e ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x359d4da4 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x577100bf ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5ec8c18a ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x68ba2e34 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9cab8a9c cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb9569f36 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc3d71a0 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbd5a7557 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf0501d57 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00b377d0 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00ec5d1c ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x025aec25 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0460481e ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0486e2a5 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05b883fe rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07809bf9 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08d81500 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09537a2d __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09de93ea rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e36f195 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ef6028d ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15c13972 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x169401f9 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x176cdf6f ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18486e87 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1aada03b ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c523455 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d08be2b ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1da08bbb ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1dbc169d ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f46251a ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f9c04e5 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20ae5c91 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x217b31a7 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22650d05 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x243e32f9 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25e8a644 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x278e91dd ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28557862 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29061885 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x296f7e8b ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b6a6eaa rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c3aa518 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cdad4f1 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cf6a68c ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e073bb0 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e212bff ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f55bc1c ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32585d3e ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32d4f7ea ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33368a36 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35694b84 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35c47a25 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36e25df9 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b512c5c ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b8c53c9 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c60f520 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d106abe ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d68e80d ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x413cd8b1 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x431b80c6 rdma_user_mmap_io +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 0x44b5be96 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44c0173a rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x484c89d0 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48648764 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48f378aa ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4abdfa98 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4af535ae rdma_read_gid_l2_fields +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 0x506ea6f1 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5193929e rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x526c1677 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x538891d5 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53e33cde ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54495081 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56cc0f39 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57b8fe8f ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a2e4fb8 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a956337 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5aa1a6aa ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x607dc42f __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6087352a ib_init_ah_attr_from_wc +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 0x636dbe6c ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63830d36 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x638dd2d8 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63eca825 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67758a62 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67936314 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b75bc5d ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6bbeb3c3 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6dc89e37 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f43649f rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x705447c5 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x736d2c21 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74014bf0 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77269f8c ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77a6e5fa rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x784e941c rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cbcb48f rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d0c6e36 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81521c94 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8355b665 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86686470 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86c5143a ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8897c4de ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89b03d53 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89d2ee30 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89f26fe3 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ae86c73 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8af19f4b rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90cc9028 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x910a5617 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x912ddd26 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91f9d808 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95a6146f rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95c5dbff rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98db1544 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bec6544 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c28aa57 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa16475af ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5b40559 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5fbc5e4 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa663ae97 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6c81891 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacb13f10 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae567b78 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf5df44b ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0207901 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb067b0d7 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4df30f0 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4e94109 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb552524b rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb56b8e8e ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb84b90af ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9dd8cfb ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb0d517b ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb8b2e89 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd87b32b rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc148ce63 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc225cb22 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32fc6c9 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc492416b rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4eb8adc ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc624c465 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc63d84d5 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6b3f8dd rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc764558b rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7974361 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc81a1ae4 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8836b9b rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca105ecc ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xced991a3 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd236efd6 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd253e04a rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2c1ce08 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3006da1 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6c517b1 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6f9140b ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7011942 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd726d65f rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda796dfc ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc46422d rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdcf74506 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd30ece7 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd90b733 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfa3275c rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe144f38a ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe20183c0 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe30f9793 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4165ff4 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe499bef4 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5395b53 ibdev_err +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 0xe67bada2 ib_register_client +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 0xea08747f ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee818359 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeea57f24 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeed2c2d4 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefc234d5 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2357d00 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf288dd31 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3899a97 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf432f443 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf51bb8b6 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf67a4c4b rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7a09a58 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7ca61f8 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf868124c ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa4504a9 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbe84501 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc5f9d3b rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc776629 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcc69bfe ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd07d2b9 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff7d2205 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x03210d1f ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x04741fbf _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x07ad1a42 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0f7a6bc2 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1d4f9770 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3726b2ba uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d5f65e3 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x46130b23 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4cc931d8 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x538ab314 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x54c3fb18 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x583d2995 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6d1e9540 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7c58cd6a flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7c799633 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x819fa1b9 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x857c7e88 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9541167d ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9deb74fd ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa067eeaf uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xaca97a5a ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb1629d01 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb4665313 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbc89ebc6 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc166b9e7 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc677e37d ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xda3f8225 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe27c8de8 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x44d51f19 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x4d51f9f3 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9816e053 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x99b393a1 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaa4c6727 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd8cf2950 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe3747dd6 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf0c7b93d iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1af84773 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x314bfbf8 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x315e9864 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3adfb52c rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x49aba625 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4c609942 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x568cf6e1 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5bb1beb7 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x61571b90 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7b5e902b rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7d85e4db rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8c1ca9d6 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x915992c6 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x98230dad __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa52ee02d __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6256191 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6850383 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa7bc3a23 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaf237b13 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc9d915af rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdb970285 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdbd97f48 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe5aa2ab7 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe889b850 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf0a03a85 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf199d2fd rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf2edd504 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf8bf412e rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfce95949 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x1249ca08 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x5b728d08 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x8221365d rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x9e1169b2 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xa32cc68e rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xdf0bf8ba rtrs_clt_request +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 0x9529f456 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xa84fc484 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xb1bd501b rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xca2632a2 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x249c3ac5 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x324f143e rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3f1819ac rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x46e38531 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x9d936704 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xd431337b rtrs_srv_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x11e7fe46 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x21955e75 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x6bdcd953 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x74bdc163 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8e60468e gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb2bc5903 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb87349b8 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xccb8a16f __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe2d088ed __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x42713649 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x42c31fcd input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x4e45d2d0 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6843f19f input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xf0f4a5ed input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x5160c777 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x8d0d132b iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x943092fc iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x12978b66 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x39ada30e ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7597d7e2 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf4241a1e ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x006cc045 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 0x00121aba rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x277a94ab sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2a43de9f sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8354475a sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x898c0f37 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb1601adc sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x4ea5ca6f ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xfd80554c ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x1cd15984 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2127335d capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2341a8f8 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x97ec965f detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb516a7ef 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 0x458ff06b mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7712ba5c mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7bcbc58f mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x8129506d mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x87200013 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xf9776073 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x017903a4 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x07da450f bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x177069ad create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x186da39c mISDNDevName4ch +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 0x26929505 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x278dce5b mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2968aa32 mISDN_freebchannel +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 0x43bddf07 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x503cdfe8 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x546cbaa9 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5b574a84 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x62c6502b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6814e4de mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6f0a94eb get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x715ab5e8 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b1e3c6f get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x830d0ff7 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x865846a7 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa7443020 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xafae6cd3 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcf0e1a5e mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcfde74f9 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 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf15be39e recv_Bchannel +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 0x3d81ff38 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 0x6d0fe57e ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x3dffd3c4 omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x4e7263b2 omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xb0c53e1d omap_mbox_request_channel +EXPORT_SYMBOL drivers/md/dm-log 0x4777c2ca dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x6dbee48b dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x7cb3f51b dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xfa8cc4c0 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1e36f5e5 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x29060027 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x35d7cf1c dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7501686a dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x94486d1f dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xa68c95ca dm_snap_cow +EXPORT_SYMBOL drivers/md/raid456 0x7bfe6a57 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0xd00a26aa r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3d8e4d48 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x53185207 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x53891037 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x5c55b137 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x6bb7440f flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x780fa1a3 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x9f25fe49 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xac72bc83 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xda4308bb flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xee92d80d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf71f2b02 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf88150ee flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfb639e14 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/cx2341x 0x05068f6f cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x505317b5 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x70351655 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xccae9b8e cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x271971b3 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xfb0e63c1 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x38a0a362 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdfe18b5d vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x3f02f1f2 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7f7387eb vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xaa122a81 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb0ff7810 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xe3b92dda vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xf20b81fa vb2_dvb_register_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 0xa3a86f87 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x052f4fc3 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e1603f1 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e40f5a6 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2e4f7c3b dvb_dmxdev_release +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 0x3feecaf6 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x41899b79 dvb_register_device +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 0x67480317 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x72dec182 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x766595d5 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7751ad77 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b0d51ce dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x80985cc4 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8670b81d dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x88f1af06 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8b36c64b dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8bf71894 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9ade8181 dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9d8b0eed dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa254fc5d dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa6ce8936 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa8a496e8 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xaa943ecb dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xaf85aba9 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3eb6f48 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbb0168bb dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbdfb1b1c dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcd8fa967 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd4279c5b dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcf60586 dvb_dmx_swfilter_packets +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 0xf083ea9f dvb_generic_open +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 0x224549b7 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x5f4537cd atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x034d12fb au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x24c50b77 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x5e47c586 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x9360392e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xde737465 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xdeb80abe au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xe22d3d20 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xef2d86d2 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xfb7e4543 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xd09a5146 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xf2a71144 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x2c361ffa cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0xf925434b cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xb00f29ae cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x026ce4bb cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x90a354c7 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0xd895fcfa cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x85820aa4 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x7e874c11 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x9ccf69f8 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x07eff948 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x282219eb cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xb6fb7ae8 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x3fd85604 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x5c1c5e9b dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x9a29cbab dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xbb88be09 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xd53a1214 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xe3301e1f dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0497ce90 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0e373c06 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x41ff069b dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4666c14e dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x519ad41d dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6bb195fc dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x75267e7a dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8a2eb4fb dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8f55bc57 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xabc8be71 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xae2d1621 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xae3b93eb dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbd0a0c78 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbd83a108 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf2575f9a dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xd9ecc11a dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0e1abe2a dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x5012bc8a dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x68c54ca0 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x81ad6f7d dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xa18b8402 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xb80c24f2 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x02eca63b dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x42adbfe7 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x957473f8 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xae971bb8 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x305269da dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x25d141b7 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x018d0a25 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x509ed3fb dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x6685f7c0 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7d181ae6 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x934aab69 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa4651ecb dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xaa7d5f32 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd36fa6d9 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd479a22e dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xdd02ed33 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe792579c dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe7f32e58 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe8eff30d dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x1ccd87d3 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x1eb6dddb dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xa309725a dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xab5c2b87 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xbf703f2d dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x73bd4cf4 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x6e4bb5dc drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x9e109cd2 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xc8b49de1 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x2f53754b dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x44042979 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x4ac5d6fb dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xefca0d11 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x26b95c07 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x30ad8b99 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x6463016b helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x85554b7b horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x799956a7 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0xc9237d74 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0xe77c3211 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xacbe74db itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x78935d72 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x6578ed6c l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x91358092 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x8e00dccb lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x137a7086 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xd9e2fb04 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x5cb2b001 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x4736c19e lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x91ef40e9 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x0f442d8f lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x27b60ab8 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x2d71d362 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x5fc8af89 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x793d925c m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xe36573c4 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0xc6cf0992 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xef4a3539 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0xbe9133f5 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x8aa24e2d mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x2e5676de mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x83b70b55 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x54c8dc4c nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x3c524477 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x79afd368 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x0838c127 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xff395d36 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x5139b9c6 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xa7f92096 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x576807af s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x12ecddfb s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x217efc50 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x7d45c8e8 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xd49df175 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0xb4c9ee83 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0xf130c50a stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x4a6017f7 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xc9fbe6c5 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xbebf2a4f stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0xb345ed2b stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x54f6bb3f stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x8c764aac stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xb211617d stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x8875e431 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x0d87f96a stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0xaab516ae stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xf2d3d559 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0xf917339c tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xecbdbdc2 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x83da8768 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x5de61523 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x97e231f7 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0xe7ae0cc7 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x57629a89 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x82c7f3f7 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xdf9bc2c8 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x737cc448 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x2dc24608 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xcdf114cb tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x499acaf7 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xf58aaf6c ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x141e68bc zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x6da7cfe3 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x605b0590 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x40d90217 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xd4ac8748 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0c3e1655 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x12f12a9e flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x29c279cb flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa1672455 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa19d8ccf flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xbc8f9e0e flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xee8b95c9 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x0c59fc2a bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x57533635 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x8d70c7d8 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xb7146651 bt878_device_control +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 0x129a312a bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x9058cc42 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xc61903aa bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x045a0a59 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x0a379844 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x3ac94e5f dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x656dc6aa dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7e8b8030 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xb71cd805 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xc6c9364c dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe0f27171 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf1e531e0 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x51988049 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6637537b cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x686ae4d3 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x9294c394 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xa0cc80d5 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xc73a4445 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x55e9d0ec 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 0x51722e8a cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x534b5ead cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xa8429ead cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb4e92305 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc3379dfc cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc89ca718 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xd26c7ac5 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x35b3f348 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x3a9eddc6 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x1b0019fe cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5b8a2e0e cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x82370697 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xb98383e3 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x032545be cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x05db1cf3 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x07ceaeec cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x4bcd71aa cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xa3876e75 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xad09620a cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xe515ce37 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x04e7bd4b cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x13e7d1a2 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x29794983 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x32c0bb19 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3581f920 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3b073293 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3b661690 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x42b80ac0 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x45c4552f cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6010dca4 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x67b55c49 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7b7f2af3 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7ca92384 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 0x9758e886 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcfe9e810 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd07e305f cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe4a43355 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xec7147dc cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xee7ea056 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xef0f7204 cx88_reset +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xb6f5f448 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1870d853 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1c652fea ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1f7aa444 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x256c3348 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x30efe585 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x39916f2e ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x40d64734 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x44bcbb7a ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4cd4a011 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6fca24f9 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7752c3d2 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7a4d6221 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb4f4278f ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc0a7660a ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe6780597 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe949db08 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xecbe387f ivtv_api +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x045c1130 saa7134_set_dmabits +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 0x168d00f3 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x17a29191 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x20471184 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2bb45406 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2e6a7e16 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3d73b863 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x4cce2533 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x581824fa saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x64bcd010 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x80f8d302 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x99a185de saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0xaac4ab2c ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0cf7e982 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0x1b308eca snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x2167aaf4 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x7087dd31 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xcbcaf466 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xd0ba1fd6 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0xde425cd0 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/rc/rc-core 0x258216b9 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2b7fecaa ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x5ef4d397 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x5a5279db fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x17c31d3b fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x190ef41f fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x3d7bf746 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/max2165 0xa779f2af max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x5d9d72cb mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x1bf01418 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x56fef32c mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xaccc7e55 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x28c25889 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xe6915d7c qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xa56902b8 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/tuner-xc2028 0x5e4726c5 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x73b8ab24 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0xf886151d xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x593c4dc2 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x9b7d2510 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x182ae49a dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x2a4a2dfc dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x3ef24cb4 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x5497345f dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x64912457 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x8fd3af23 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x94e06622 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xaee9f873 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xbbf4c491 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x0699e4f9 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x09698740 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x96136b48 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xb31bc6cc dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xdb61d9f6 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xf8924f29 dvb_usb_nec_rc_key_to_event +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 0xc6949b83 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 0x0501054b dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x15d4a26c dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x42e84658 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x45f0ac0c dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x475e725f dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x718921ac 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 0xa33af84b dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa5d0f575 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa6de7d41 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x06e6d020 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xc061ff00 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x3c8ec434 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x437d3e68 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1d948c9b go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1fe9fd14 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x47b01686 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4e0be1c5 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5f0718f1 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xa8416cb4 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc915cad8 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xde5dc103 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xefbd2e7e go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x2117b703 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x3f846692 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x5f5fd354 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x89c6876a gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xba92a1d5 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xc35c8fee gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xe37d98d4 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf82f9976 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x2bffc07c tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x87e08787 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xd81c71dd tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x16263cc0 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x3de13d0a ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x65f48ff3 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x79f2b2b0 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xc6dc8b89 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xe57908d5 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x021a3bfc v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x04b2581f video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x064aaa00 v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1324d626 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x19fdcdd8 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1eec8635 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1f751eb3 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2d52f109 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2fffa084 v4l2_clk_enable +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 0x3591d9cd video_unregister_device +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 0x42ac2f45 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x430e89b3 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x44b2ce1c v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4575f15b v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4f6ee7c2 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x504c93a6 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x535cc705 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x53c9c4cb v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x553c09aa v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x575e5d94 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5b5f473b v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x68ef4a89 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x69d3fe3e v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6e2a6fec v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x735946df v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7aea9cf8 v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x80c1725d v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x852554d7 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x863a52a2 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8902e8dd __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8a35fdbb v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8de6f034 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x919e8d1d v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x91e98889 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x979b993c v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9af69511 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9d70cc4a v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa149e7a7 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa9d76646 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb1dc7a07 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb2a9ba0e v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xba9b79a2 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbdd79685 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbe265db7 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc0d56900 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc15d5b57 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc32dbe67 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcde3c518 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcedb62cc v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd063a1d2 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd2ec7f7c video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd88fe395 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb6ed8c0 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdc2e003f v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xde46211d __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdeec95ef v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe900d43c v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeb71ce51 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeecda70d v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xef864461 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xefc89dd0 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3a81eec v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf5d53d4e v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf6984f23 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf817777e __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfdb146b4 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfdc5ef6c v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/memstick/core/memstick 0x073103d1 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x42a28318 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x505c771b memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5878e8ce memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x588fae44 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7005848c memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7c1fb137 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7f1b2fc8 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xab4da84b memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc45a6b45 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd2b2b8e4 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdf9181cc memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x034d72d3 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0e1ae3eb mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0f09f922 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x12318074 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x15d4fcf9 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x27bd2fff mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2870f743 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x31499583 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3645fec3 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b81df18 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3f8b2e7f mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x56137aec mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x714d6467 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7228cd84 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x795af114 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9333dfe8 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9796c9aa mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa0cc2c9e mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa1e25619 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaecccb69 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xafac48e4 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc2fb65a8 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc8242933 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcf7d4efd mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd3f145b6 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe1b78517 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe22fd5cb mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xea99a718 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xed12dc9d mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x016cbcd4 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x09661606 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0e860e02 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x20f54560 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2992e05e mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x33128202 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x49946a76 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x586780bc mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7ba23c02 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x87667900 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9dce370c mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa4a54022 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb6a88c83 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbba1ab24 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xce2f68a8 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdb17ef53 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdb875ad2 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdbe1aa12 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdd58fa1d mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdef2983d mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe30e6dac mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe371af4b mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeb75fd59 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xee0910e0 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf5202d6b mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf667386e mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf72398ea mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/mfd/axp20x 0x20d5e488 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xbb3df184 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0xde5fec9e axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/dln2 0xaf59e9f3 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xb1011c08 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xb2b817a0 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xda68d604 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xebb07c9e pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x124ec657 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3a949d0c mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x40aa80a0 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x54ff69f8 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x690f503b mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6b7b7587 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7d95109d mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc121cc88 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xca912a8a mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe37a5b5f mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfad4eb5d 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 0x516a885c wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x635033c5 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x87da82b0 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xa91de9e8 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0xcbc889e6 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xce088a71 wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x8c2e50e1 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xc91f8b3a ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0xb6f5f7a1 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc43957e2 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x1cd4b2ef tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x282ecb5d tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x41da89b5 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x5316ad02 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x665e7190 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x87295034 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x921af74b tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb6a86f4e tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xc67dc42a tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd05538ee tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xed3de728 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfc2448d3 tifm_alloc_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x1c498b2b cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x2928f8b9 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x2f7b397c cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x61189d03 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x97cf01a2 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x0381ece4 dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x20ffd81e dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x3f51c035 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xa637d46f dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x388eae19 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x7d80b878 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x156f2a8b cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x353a251f cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x370d27c6 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x380f1f9e cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x67d36282 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fb7bd6a cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xad41867b cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x9282141f map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd2289ab3 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xdc95c5e8 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfb0483fd do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x012a0823 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xa72f3b3d lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xc946c3cb simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x4ec4e195 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0x8bd41a07 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x42130ca7 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xc689d391 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x5e021d52 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x8e4abad6 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x1b1ddbb8 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x34f1ccab nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x56896e29 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x5d3793e4 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x6aa27dcd nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7144c598 nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7e788eb5 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8cba5526 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x98bb34b9 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xaad02631 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xec548787 nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf093c13b nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf4d0c466 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x17de40e1 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x787748e8 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x06db2e63 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0a447746 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1f1c5b3e arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x21288791 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x40770407 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x52a45c3a alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa811ced3 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc8cae625 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xee322e30 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfa80ebcb arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x2b0f0d3d com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x42348e31 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x64319d65 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x06c74bd9 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0a2280b5 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0a9eeb86 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0ab06cfd b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0e0b9cfd b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x13ee78f8 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1456c3b5 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x14d977da b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x19a89de9 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1efcdc30 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x21ef547e b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2a6b4f30 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2e218b4f b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3ccf34b7 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3d378185 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x406a9d82 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4a3790d5 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4d80e179 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4e4d9083 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5e77aa06 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x67736a1e b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6a4dc420 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7be1de01 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7d509213 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x94783b88 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9b062a3c b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa51d68b5 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa7de5145 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xab46466c b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xaf591f4e b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb543b8fa b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbb61f7d4 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc9ec06f3 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd0e87f1d b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd53dbc64 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd7ab780d b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe1673ccb b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf2f6f54b b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf4a319ac b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf9316db1 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfd6b60bf b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x525475bf b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x61038d1b b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xae0137e0 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xd4ec9563 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xe33d6afe b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xff71ecb7 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x4788d074 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x9505c0da lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x2c2c5461 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x0e284ef8 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x00da3f22 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x44ce1a03 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x68797e69 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x0c526956 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x49341146 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x11b813b5 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2065369d ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x283a622a ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x512191e4 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x58b7ad94 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x6966b710 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x74971d41 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x98e4ed79 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc17eb9b7 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xfeadc19d ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xba3a917f cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x993fc8a3 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xe909fd97 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 0x26a825c1 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4980bdad cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x586d07ce cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5934b435 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6088d092 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x64eff9b6 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x68cfbaea t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x719a7364 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x77bb1bd9 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7b54b8da cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x828bd54c cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x87fd92d4 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8fb6e93d t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb33c5683 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd07b0cfe cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe7aa96de cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01c633ee cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x030eb471 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x03608f71 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0d1777fc cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x16f9ae54 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1cd76bd4 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1dcf96cc cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x23d65433 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x25b7b2f9 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x274dbf60 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x279f6570 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x291a48cf cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x393925bb cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3bc73bc8 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50f1835b cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x53a4be8f cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x54e426f4 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x582f6043 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5c5ca6b0 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x63369405 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x646ed861 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6d8144de cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x70e26724 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x738708c6 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7843f238 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x86a04ae1 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87497acf cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8d4a001f cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8ed4c823 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x979087b8 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9ed4b558 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa3271c14 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6b1a6c5 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0b68de1 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc10cfc24 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc64a155f cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd3bd91a6 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd439fbb5 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd5425391 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd5726a79 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xda1fbf98 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdd39962a cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe875cbc4 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xec68579b cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf8fd1c49 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x186f6836 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 0x3b69c386 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3f98f775 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x576dbfae cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6b75d046 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6e8b1b5c cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x864560eb cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7939cd7a vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7949f09f enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x881f920f vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x923b9765 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xab451bfa vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xb5156266 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x356bd8ef 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 0xdf4a5533 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x4412391e dpaa2_phc_index +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x784f93d4 hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x9c193984 hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb2b23b7f hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb3d04c33 hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdb7ea2b3 hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0xd2fc7fd8 hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x3ca9b331 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x6e48532f hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x895839ae hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xb9ff2e39 hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xe79bdd0c hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xe7b50f03 hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xeb1ece27 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x2fabecc1 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x57b266af i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x60e81878 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x78761542 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x0683571c otx2_mbox_destroy +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x0af3da8f otx2_mbox_wait_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x21efe09a otx2_mbox_check_rsp_msgs +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x2f1b5610 __otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x7b94f993 otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x8c1c568a otx2_mbox_nonempty +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x8f772a3f otx2_mbox_id2name +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x9d7915e2 otx2_mbox_get_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0x9ee021ae otx2_mbox_busy_poll_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xa6166d68 otx2_mbox_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xbd0ce30f otx2_mbox_alloc_msg_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xc24af817 otx2_mbox_msg_send +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/octeontx2_mbox 0xfffc27e0 otx2_reply_invalid_msg +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x009cfd1c otx2vf_set_ethtool_ops +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x05e9d2fe mbox_handler_nix_bp_enable +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x06053960 otx2_sq_append_skb +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x23551c0c otx2_set_real_num_queues +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x39942aa7 mbox_handler_npa_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x3e0e64c4 otx2_mbox_up_handler_cgx_link_event +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x50434f58 otx2_set_mac_address +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x65f029c1 otx2_stop +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x6889865a otx2_open +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x7165a4fa otx2_get_stats64 +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x787e2b34 mbox_handler_nix_txsch_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0x9e049910 otx2_get_mac_from_af +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xa4e04943 otx2_detach_resources +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xc4948987 otx2_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xd9252381 mbox_handler_nix_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xef27fea3 otx2_attach_npa_nix +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/octeontx2_nicpf 0xf9e81622 mbox_handler_msix_offset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04115235 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x135c46b0 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x166b2ded mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19c895be mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1be7d6f0 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1cd5df37 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21e43900 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2559dcd3 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27f615eb mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a19a7eb mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d993845 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30a04684 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30b2957f mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ef60010 mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x436db9d8 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x548348ec mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57211896 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a546c65 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b785170 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ddb66a4 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a118ed3 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ec1373d mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fa45547 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76c58c37 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77ebd8da mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x785011b8 mlx4_query_diag_counters +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 0x8cb55192 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91312e47 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96e3ceff mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d3a3a87 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d5f136a set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2cb0e79 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb98f72a3 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd27b747b mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2f029bd mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdaad8d78 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdccff035 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde9ed518 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe17e9ae5 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe1ef5afc mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6936f45 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0edc36e mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf70c3385 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf760dcee mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x003f4195 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01b71348 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0442e9d1 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x044c7b8e mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04d8c822 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x083a637b mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0859775d mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x08f91663 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b829a69 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c67bbf1 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c9a7719 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ce020aa mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d6f3a6e mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0fb6f2df mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14cf2b07 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15c15d05 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1628c0e1 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19995cf4 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e32df9e mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x20c311de mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2216290a mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x232a4d31 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27fa4d63 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29d987b2 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b4b0a92 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3146fa47 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x31753797 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32705594 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3311db70 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33ba300d mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x344b21db mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35707603 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651b47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38abbffb mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a981f4b mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3bbf457b mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c7c4d40 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3d5ecfe3 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3dabe600 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e960390 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e9a14be mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ec760e0 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fb9179e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x400b09d0 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46150cf1 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49f29418 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e819c99 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x513e4852 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56813ee1 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x580590a5 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c081adc mlx5_get_flow_namespace +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 0x62278552 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x633fb9ca mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x665dff3e mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x685b5816 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b1597d3 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7226ed93 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73e6b260 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7496d420 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77aab550 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x79b00bd0 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f8e05b7 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7feca7b4 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81a51dde mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87a25e22 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87ddf152 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89318701 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8933bdfb mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8abfa008 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c166071 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8dc8532d mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eeefaa0 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f4d3b66 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x934ed1dd mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9724d7bf mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9884865a mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98ab7cc6 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98bac0ac mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f15c40e mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa040a519 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2fff81b mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6ba0e51 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa74faffa mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa800b796 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabbe7875 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac035f02 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9ea383 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb24a4586 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb80a6ad7 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb89fc509 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba1f1952 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbcf0d61 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd3bcf4d mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd92c3b6 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbde88e5c mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc02dd6de mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc183af72 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5f0e4b3 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcbbfd372 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcdaab469 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd23a7f73 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd383dd36 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3fe2de7 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4661821 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd58e78ea mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd64f37d4 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd7b8ec62 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd94a6ad7 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda247425 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda3d4907 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd01a9d5 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf11db67 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe42eb3bd mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe43febba mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef01bb32 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef49b815 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf120e368 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5468dc4 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf60fd4ee mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6e5b2b5 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfae35518 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcb41738 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe4a4011 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x5ba83b3e mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0dd70f4c mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x129663f8 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +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 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3982538e mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x45895256 mlxsw_core_trap_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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5c03fac3 mlxsw_core_port_eth_set +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x65d39708 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 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 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8f58a60a 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 0x936b0f57 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +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 0x9edde588 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3752fba mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb8a9e80f mlxsw_core_rx_listener_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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc044ea8c mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc29e0d58 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf5270e51 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf57b6c71 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf8dc0ae8 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x12803c19 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x637bd6d4 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x887fb283 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xba0d8fb9 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0082bcb7 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x03b4d97f ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x04bcc557 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0832640f ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x309f0126 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x32679127 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x33c12c89 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x36337087 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x426b9f6b ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x48c82dd3 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4dd4d6bb ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x558bd971 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x570da9d2 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5bb05250 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5d3709d4 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x657d072d ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x670651c5 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x67466fc6 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6830fc3e ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x77319904 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x848f37ee ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8a7f6937 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8f568a76 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x94747775 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x950f472b ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9f1fcaf9 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9f6b74f6 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9fa4d6ee ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa2df524d ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa5038b18 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa7e3cdf5 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb0cee98d ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb5f3ac69 ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbb7cc9c0 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd29f4c08 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd36a6bdc ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd4eb04c3 __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd6cd5dac ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xde249e2e ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe1560fac ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe347e080 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe42e6874 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe5d3b7e8 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xed036cc0 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf0b2c5bf ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfcec9adb ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x08ebaf75 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 0xa046c74b qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xab3bfd14 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xbc85b1ea qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x06cdf059 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x81aa5b4b qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x08bf403d hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9529bf4f hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa72ae51f hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xb7f2981d hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe467d6fc 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 0x652fb0b6 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/phy/bcm-phy-lib 0x0a0179b4 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x17c9ae1f alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x6712be3e free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0xb0e63285 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0xd5ed428b cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-octeon 0x8a1d5c26 octeon_mdiobus_force_mod_depencency +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x3d61a5e0 xgene_mdio_rgmii_read +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x46c33868 xgene_mdio_rgmii_write +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0x743a5583 xgene_enet_phy_register +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0xd52f12d5 xgene_mdio_rd_mac +EXPORT_SYMBOL drivers/net/phy/mdio-xgene 0xe5766657 xgene_mdio_wr_mac +EXPORT_SYMBOL drivers/net/ppp/pppox 0x0db0865a pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x4234ff45 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x867df334 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf844f2ef pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0x893ff12b sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x0cc4ae7e team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x3f7d7ee8 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x46c26738 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x5309e87d team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x55b3cd40 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xa64540b2 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xc6a08be0 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xeb219638 team_options_change_check +EXPORT_SYMBOL drivers/net/usb/usbnet 0x3ac38106 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x3ba98dc2 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xb5bc5dbc usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x01f7e8fd unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3c6d7b27 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x424dd4ba unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4cec7946 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7aae11ad alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8c51564a detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb366485c attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc016faf5 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc4eed8f0 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf421d38b register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x492e560f i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x06ea2166 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0c7e0384 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x26f8b8ea ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x315349ec ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4a8073c8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6b22ed1c ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x700ffa0d dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xaf6f2bf3 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xba915f45 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbb05fd50 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbc93ae8b ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd16b564c ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0437f95b ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x06d386b4 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x06f2bc96 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x09f8e0b7 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x12571dae ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1803352a ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1cfdf29e ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x20ae4c40 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x22a82688 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x29fa7a7f ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2ca18b0e ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3145a628 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x34662f05 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x37c5470c __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3d01d7cd ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x46cbc375 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4873801d ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4d52f041 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50dd77c4 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x517a8541 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x578efb47 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5edd140e ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6c50d27c ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6fd301e2 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x72946d6a ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x79dbfcc3 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7c3ba493 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x80bb2d00 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x81656ccf ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8f8ef43f ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x904be1cb ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9ef76d69 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa15f4dce ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa93d071a ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaaabf8c8 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb956dc1f ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc2acb96e ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc6282c20 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcab67cd2 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcae705b4 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd2351e24 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd878cba8 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdffcc13d ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6e768fb ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf2f8c3ab ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf3c969e5 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf6b5d88a __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfa7d2964 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfebd3aee ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf38d063a ath11k_core_get_hw_mac_id +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf58ae1e6 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0740b729 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x17bd3594 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x20b989d4 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6968975d ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9a3464d4 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9ab76719 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa60c9562 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb5c1241c ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb898bc66 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcb332ff8 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xea890cad ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x01808f5d ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0236932d ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x09691fef ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x15d25bd5 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x21bd7cdc ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2889ec5b ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4998b0bc ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x58325457 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5a9dff36 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x72956c99 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x87beab94 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8b06f893 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8d4cdd3a ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa7e8ad48 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xafeb5a3c ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb2e86c7e ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2652023 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2eacd3e ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd3547ddd ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xda284f97 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe89118b2 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf700e003 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfeba0c2f ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01336196 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0155d32f ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x03fc5701 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0779a98b ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0801f26f ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09959f19 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0ad0a883 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c2eb086 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d30da64 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11b8bd0a ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f3ba100 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f81b09f ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x225ef9de ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x22ee14a7 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x24b9ae28 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x251d09c7 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x293d0cd1 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29e6346b ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c2c3999 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x330c26c4 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33733038 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34f0657a ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35518ae1 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36f6a265 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3b4995a8 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d71dd82 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x444fcc2b ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x470d99c7 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48a99da1 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b4ba681 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e540721 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f2ebbfa ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f9323aa ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50c7d70a ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5460a2fe ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x599134b5 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b0d78cf ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b359af5 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d94f868 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f1b29fc ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x624cb8da ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6391b006 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64898236 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65bf03e1 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d372d2a ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x707ab992 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7281f75c ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74159762 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78e1be47 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ba2c3e5 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7dd481e8 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7eb6d3ee ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ff2fcb2 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x886f82e0 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88fd1ce7 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8cb43d77 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ec39988 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93c3b9aa ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9674eda8 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9774f894 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9af397c2 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e85cc1b ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9f1043bf ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9fcec417 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa20cea6d ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6aa6a5d ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6c75fc6 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7289ee6 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa788ef84 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7f6063a ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9152c0a ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaad457bc ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac5177f2 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb138133d ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb703453f ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbb40b45f ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbde3c13d ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1307667 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc35ae777 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6f6ed61 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7564999 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc8082cd3 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc94c7f9e ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc94ee2c4 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc976e346 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9f54617 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd56cb2c ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd996b4b ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce41ef6a ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd024e3d4 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd12dc718 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd2431b8b ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd6d9303b ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd8b5a32e ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9659d51 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdced1016 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde2c5b3f ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0c33811 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe294c2f5 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe329a990 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe3b0499a ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe65c1a13 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe895abe7 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea22df86 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee339e5d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2eb9510 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf903f9ce ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x08a2c1d4 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x1fca669c init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xb766d3b3 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1273b932 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x138bcb3e brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x32a18c0c brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x50619081 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x56612e85 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x60e77c8e brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x63d8f9fc brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x82b4e5ae brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x87e2a5f7 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 0xc42283c0 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd64c1ed4 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd68b5521 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf410bf6f brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x065dd62a libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x094be65d libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1918aeca libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1dee1c3b libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x208e7566 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x287669eb libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x28dcaa02 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x310b7aca libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x33c0b11a libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4d3d9edf libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x596853ad libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5d01548b libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6ae263ff libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6cc429ea libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6fc45787 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x88d8e355 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8ab23a2f libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xba892b82 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbe7fe42c free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcd7418ad libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x017bc363 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x056156a6 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x078b5947 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0b07f875 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0ffda293 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x101bd660 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x12753538 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x158cb0fd il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19ee9e73 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a69a5b0 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ccd03d0 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1d16fcfb il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1d805f35 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20ba067b il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x212202a6 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x22c9f18d il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2a2693b5 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c038ddb il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c0b36d2 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e10e436 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e1324d4 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x32dacdb9 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3591968d il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35b37ace il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39461eb9 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3aba3214 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3ae6be84 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3b738621 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c28a511 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f3fe0ba il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f7e3682 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x435cd02c il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x47257694 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x48d69ea2 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4913ebc3 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b3cecc2 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b7c40a5 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4bdfbe9d il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4d106e80 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f98dbb3 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x57d9b0b7 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x58fb1866 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x59d36d7a il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5a1c23c9 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5c1282cb il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5cf50e6f il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5d0e5785 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5df9974a il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5eb83c93 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x604322e6 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x61a7f10d il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x69a2071b il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x69e231ae il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6a05bcb9 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d406f32 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x76dc6b43 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a476a90 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b2c9118 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c037c32 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7e6783d5 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f2deb4d il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x84c74d6e il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x88cda9ae il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9111d1cf il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x92803ddc il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x93e8131f il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9c5dca4d il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d186753 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d2e5651 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa441fa0e il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa608950f il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaf3a98ec il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb237f189 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb3acfae7 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb3d79ea5 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb41ce33f il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb5727836 il_full_rxon_required +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 0xbb292ba7 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbca59155 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc9548914 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcb3c0dbd _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd0a9246b il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd19e8fe1 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2692d85 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd28135ff il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd443110c il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd68c90c2 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xda3df8d7 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc238727 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdcbcc404 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd670a03 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe05e744a il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7743000 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7def259 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7f32d42 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf265f4b3 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf2a85a8a il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfd4a2701 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1ee9c199 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x20a6a247 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb72ade7d __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x00d29bf2 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0d1dd568 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x146dde86 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x20f9f495 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x228d1a3f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x314bfffe hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x47c50d51 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4f520f70 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5c1d5e15 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5eb5fce2 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x71734ce2 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x751bf7a3 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7ae61031 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x840e813d hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8743e6cd hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8bc21daa hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8c94648b hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x90717d69 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa4f351d1 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd1a2d352 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd41953e6 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd6bf39d3 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd6e55423 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe90b33fb hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xff5b914d hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1ed79838 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x20b542b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x315fb4e9 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x39ff451c orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4622abf5 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4bb4d0a1 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x70653106 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9e11de19 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xab56703a orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xaf7fb99c orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb3285956 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb80564de orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc959f423 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd1bb2867 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xdaeba023 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xfc1c78b8 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xc9d741db mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xbae93dc3 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x017b2b77 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0dee27dd rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0e14958a rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x196a49d3 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1d93028a _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2178ade3 rtl92c_download_fw +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 0x2636b3da _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2c292a54 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3476622b rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x37dc1adc rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3d05906e _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3d5fb50e rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x44d82308 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x556bac83 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5eaf33ca rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x632d3c3b rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x65769576 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x70a0576a _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7b6b7d06 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7c9bfbeb rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x88fae4d8 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x91b6d41c rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9bd7ced4 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa069bfd0 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa13936fc _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa7b38d0c _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb0a4d6d0 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb49a4b1b rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb9ef8105 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc9941a27 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd387f21d _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd540afb8 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd5a092f2 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xda57d066 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xda71867b rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdc2eaf34 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdc919626 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xea5a8f3f rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xed650731 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf9abb9f6 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf9cc1e96 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x247c95f1 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x3c3c5cdf rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xf46875c6 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xf6796ce1 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x73e31c91 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7c7e2734 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xa2c68799 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xbf0584df rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x015db469 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x05472069 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0944490e rtl_cam_mark_invalid +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 0x1c9f346a rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1de75b14 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2f9b7c14 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x35fcbdbd rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x40bc8cf2 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x46480bd4 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5e9e931b rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5ea057b5 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6613e928 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x727620b8 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x73f4e07d rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8f9f1a55 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9035a663 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9c280e7f rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9dfe4ea2 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb1e946ca rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc5495569 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd7fdb293 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdca349ed rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe70f7888 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebbb1f08 efuse_read_1byte +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 0xf01d19c0 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf310c75c rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf47c1b14 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8a22ff3 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfa0c23b3 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfc49dbd0 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x288510c9 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xc3656a7b rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x2ca70145 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x02909d17 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x066bde0b rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x07168946 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0ad637fe rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0c125a7a rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0e51b7a6 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0e8d59e7 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x10b1ef0d rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1347c154 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x162b8e23 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1d32bc5d rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1edfc0dc rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2c6b4b2c rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2f1f967d rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2f294f63 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3154bede rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x377a3ff6 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x38a47401 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3c40f635 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3ca53684 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x413626f2 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x430b4582 rtw_bf_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 0x474ad75b rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4a7473ee rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4ac96d99 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4e3a88aa rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x51cb160e 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 0x59fa6477 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5aafca8e rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5c1f3be9 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x642a1974 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x65348ef4 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6e8ac21d rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x72ca7429 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x74a296ad rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x779e6a0d rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x785a17bc rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8aca4f9a rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa159a4e0 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa6f1a928 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xafd53565 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb7f615dd rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc39bf133 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc9714c46 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdb8448e9 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdbec0324 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeaf52f04 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xecafb463 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf4846e60 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf6bde617 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfd847f2f rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x5ff7d217 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xd955b25a rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xeb0fdde1 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xfb7a1b0c rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x4b69e2a7 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x570fc4d3 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbc5bc431 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbc878093 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xf35f80b9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x853a16dd fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x8d62a0d5 fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xf9ff3d9b fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x3a70dee6 microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x6c3dffaa microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xdce2d3ca nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xe58bdb24 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xfc79ea09 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x4f3ff9ec pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xbd4ef83f pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xf0245612 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x26ed18b1 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x2ffce7a0 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xe3265866 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x05bbf774 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x3920b307 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x3c516cde st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x45e9ac6e st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x93a67683 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x97aecf65 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xb90828c1 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd3215939 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xedcfeda6 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf5f3949c st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1a007486 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x297a86f3 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4e4425e0 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x546f3c40 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x54efce5e st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x735c88f7 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7723de6f st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x775569b0 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x840d6d2b st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9d513183 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9fd25510 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbf8e8140 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xca9be1be st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xcb97d611 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd1ca193c st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xde7fd3a2 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe33670cd st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe95cab08 st21nfca_hci_remove +EXPORT_SYMBOL drivers/ntb/ntb 0x0456fe85 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x13e33e16 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x19c8b870 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x22026fb4 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x392acbf5 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x482e8ddb __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x4db15cdf ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x5957c8ae ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x668375bf ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x6ae3927b ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x6f612ad9 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x89637fb1 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x90831e0b ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x91848698 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xa1498cb9 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xa188b16f ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xad200b28 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xbf5af411 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xc3839325 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xe778acc0 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x3d941b7b nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x3ea6590d nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x11b990bb parport_read +EXPORT_SYMBOL drivers/parport/parport 0x15ec3e64 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x1941aae2 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x210a99c8 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x2a34df02 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x31a49835 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x4a3528e2 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4b62a3ad parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60e74641 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x649710a9 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x65946be3 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x77308e87 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x782b9cef parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x86f8cffe parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x8d95c103 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x93c1ed86 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x9b284b49 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xb2e9637d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xb73123bf parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xc01473fe parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xc9937fa0 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xcbb53e14 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xd1821731 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd7798e2f parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xd84e6d14 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xd914d805 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xdee92e00 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xdf8a82ee parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xe5ed92c3 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xf9e71916 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xfd3b9b60 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x0c566238 iproc_pcie_setup +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x6c4fa90c iproc_pcie_remove +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x03a3bfc2 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x22c6696c pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3fee487f pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5f142945 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x705f3c53 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa4b7d5ed pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xabe4d30b pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbe4f3f14 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc3c4a072 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf303fc57 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xc9c7ff37 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x56caa089 cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x81f9bab5 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x9657b4fd cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xa887d677 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xbf12c4b5 cros_ec_handle_event +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x3673f69b rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0xdfb7c8b6 qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x07bd278c rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0ce6381f rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x25f1b564 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2982b913 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x5e981cae unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x65987409 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x68a45b64 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x784f0938 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8cdb341d rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xaca06eaf __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc5c38c64 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd3be1ea0 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe43a5714 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe8132ee1 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x7da8b27c ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x401b21e6 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x67cb78ab scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x88be5e8b scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xd63d4e64 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x159df547 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1bb43cf0 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4c959670 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x52c09839 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x63a276c9 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x800a4c80 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x92d32328 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x98e934c3 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc2052a6e fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xcf572330 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd78c6520 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x076493de fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ac7a1fb fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x10ba5183 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x143238be fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x164b05b3 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x17124b20 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a32b843 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x278b7ad6 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bbd4bf0 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2cc8905f fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d78fe2b fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f92276f fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x30f164cf fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3849a787 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3902a491 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4005aee1 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41c56454 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43ae2608 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4489c6db fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x47571b68 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x518e1a81 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x553a2941 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x588bb2c7 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x58a628a0 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x637b29b3 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66a8f133 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6b90f9ad fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e032684 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7356b52e fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7512867d fc_exch_recv +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 0x82540234 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8385121d fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e6dca0 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x887774f6 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a648c7d fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8bb59497 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x999f7a8e fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9e4c8c87 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9f99a706 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa579086c fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xadf3efb6 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc321940b fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc87d9f25 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd36f7a87 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6c31c20 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe0d94b48 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed238974 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf33c62d9 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf89579e7 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf8ccb94b fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x202ad8c8 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x65779f1d sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xc977b5a6 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 0xdfc72898 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x072c4b8a qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x114a7406 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3dbb4d01 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x701cfb7e qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7b1ee001 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x94b84a12 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9bb84782 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb1c32fbd qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xcbe804bc qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdba5ace0 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe7557e38 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf4d5489b qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/raid_class 0x0b0f8edb raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x3cb4ab35 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xb690f72e raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0098fb48 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x01a02064 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x05c2475d fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x16422a00 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x35d77c2c fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x61f92edd fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x73d2e348 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x778fda0e fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7e81d0df fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x89460e59 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x93ee804b fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbea34a8e scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xca4063e1 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe4011571 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf36554cd fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf7f3a73d fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0373812a scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08b2a98c sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1814e768 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bade216 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x24b20386 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x30f492a7 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x33bacdc3 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3c1340dd sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41039d9b sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4c3d15e5 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x57f9e751 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x585f4726 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6c6a0911 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6fb4230f sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x87cb9a34 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x898a08f0 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa483f9d6 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbd28443b sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc0299baa sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc188755d sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc26313af scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc9abf81e sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcc32ca33 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd0a7710e sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd4f673e9 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe82f6fef sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xec10b431 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xedde42a5 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xefc45c69 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x46bfb334 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x4d2d1335 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x9fe79666 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xa61fe19c spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb81f7348 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x64f853dc srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x763fea14 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xd8a940e0 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xe28f760a srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xf47a8859 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x86a162cd tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xb4991f22 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x18d69c86 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x334b7f29 ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4d09d5a0 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x696ea93e ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x8962bb65 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xd7e7bd64 ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf2297e9f ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf5fd41ff ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf97ffefc ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x3031559c ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xf858bc84 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x030f2d6c dpaa2_io_service_enqueue_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3d01f417 dpaa2_io_service_pull_fq +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/mediatek/mtk-cmdq-helper 0x0348ce8f cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0a86537c cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1d8374d6 cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x23d0b9f2 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x2c5d8fa9 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4e615171 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x50396152 cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x85e281f0 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa066b5c3 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa846e75e cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa9dc86da cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xcd5e2da9 cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xede9ce4c cmdq_pkt_flush +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x144a069d 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 0x35d33ab6 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x453a6b95 geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x4b148700 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x52cf9f96 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7880e50a geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7949942c geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x799c0013 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xa7792924 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xb8f19eb5 geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdef67e53 geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xf12e962a geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xfdd80631 geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1bc207d8 qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x38830739 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x655a0037 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68656153 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7f72b7b1 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7faaf11c qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x97b09a8d qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xc282a8f5 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xcf121233 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd66332dc qmi_handle_init +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 0xf3b3f1c7 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0bfdefca sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0c2f7c1f sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x130418aa sdw_stream_add_slave +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 0x29e711ca sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2bde0eb4 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3236e232 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x49146973 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x537905a8 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5dc75e38 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6fed59c1 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8c037752 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9208665a sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x968a0b0c sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa2b5b7c4 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa4dc06e4 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xab7e947b sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb31e813b sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc3d8a104 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe90871cc sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x01882275 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x089e1a3f sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0e93984c sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x15ce66d7 sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x1f2c253e cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x8fab4bb3 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x911eb88a sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x926f5e2e sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x9e0013ef cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa76a6fcb sdw_cdns_thread +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xbb95a5bf cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xcc954265 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd9c84c9a sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xddb7440b sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xe140c3d3 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xe409d9d0 cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-intel 0x723f6f7c sdw_intel_exit +EXPORT_SYMBOL drivers/ssb/ssb 0x05e00c4e ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1dd5ca00 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x22d90e79 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x32c4cc00 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x3d084f80 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x3f0cc904 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x425611cb ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x474d7f10 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x60898103 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x6bdbefcc ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x843357d3 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x9be52a0d ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa121c49b ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xa93a85db ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xb287f1b1 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xb6ed75fc ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xda2302f9 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xde577213 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe759c36c ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xeb911e86 ssb_pcihost_register +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x02c124f0 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x03a35379 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0b3e5264 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0b4dd82c fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2efe5f9a fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x628f6b5d fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x68275471 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fec89ef fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x83f59bb7 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8476e430 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9487bdc0 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x970bbf8c fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa1b4c727 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb0f7d2e4 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbfca651e fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc357329a fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd0649581 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd6ffc4f7 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd8656880 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe3d5ae26 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe69564a9 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xeb1e44a0 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xec051606 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xefe4da27 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfe774070 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x037cc36a gasket_mm_unmap_region +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x065f9c9d gasket_page_table_max_size +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x29b2555f gasket_pci_add_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x2cb508fe gasket_sysfs_get_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x339c2b95 gasket_page_table_map +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x372973e0 gasket_page_table_are_addrs_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x38c3d415 gasket_page_table_num_active_pages +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x3b0a44ce gasket_sysfs_get_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4109757c gasket_page_table_partition +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4292ff96 gasket_page_table_is_dev_addr_bad +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4b524f01 gasket_reset_nolock +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x4c1485ae gasket_sysfs_put_device_data +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x6de6eb7f gasket_register_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x77311f6a gasket_page_table_unmap_all +EXPORT_SYMBOL drivers/staging/gasket/gasket 0x8c92da47 gasket_page_table_num_simple_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xa525a4ab gasket_sysfs_register_store +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xa7ebdb0b gasket_sysfs_put_attr +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xa89f1317 gasket_unregister_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaa2668a gasket_num_name_lookup +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xbaf2f8cd gasket_page_table_unmap +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xc225208c gasket_page_table_num_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xca44c00a gasket_disable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xcc2003e8 gasket_get_ioctl_permissions_cb +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xdfa030c0 gasket_enable_device +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xe9fea306 gasket_wait_with_reschedule +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xed14f95c gasket_reset +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xfa3d3f09 gasket_sysfs_create_entries +EXPORT_SYMBOL drivers/staging/gasket/gasket 0xfca1a79f gasket_pci_remove_device +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xfe47a865 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x88825765 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/allegro-dvt/allegro 0x2c79d0f2 msg_type_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x03fb5bd8 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05fa32a2 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0c74bd9d rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x12b91bea rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x199269a7 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x23e30557 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x336ba0a0 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x37808318 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x389b5f65 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x425a39e1 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48091b13 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ac84ce6 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4cdbefd1 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x551c9042 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58e56f64 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x597b1ada rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5eb31132 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e8eace5 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x70974921 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7401e3dd dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x757712c3 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a31bee9 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85b645ae alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8af9f11f rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8e694b16 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x94094e57 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9eafb99f rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa38f0562 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa551dcdc rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa9ef21ae rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaa6c457e rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbb2460fc rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc2bf58ad rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc466cc4e rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd080e0d2 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd124a740 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd54284f8 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd9761d70 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd9be9922 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdb22ac5b rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdffc71e4 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe24c4d23 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe5042c7e rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe819087a rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe8516a35 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xedc7b8e6 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0ea8fff rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf42ecaaf rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf7150a20 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x00a67323 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x071d31c9 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x15aed6ed ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1674cb06 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x18f145d4 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x194ed5f9 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1a7f7068 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2008dfe0 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x222d398c ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2599f148 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x25a3ee18 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x270df71b ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28c4bd84 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2d4a572c ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3a967c5b HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40f9641e dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x41e89178 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4366a4c4 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4549bf69 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x470cea68 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x49d717a5 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4c634f71 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4cb70241 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5cdd582d ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x61ef82c4 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x64e6ced0 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6a5db5e1 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x70462ea2 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x767bad08 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x78667d6e ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7b25f126 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7e1423b7 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x83b66b90 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x87a3ec50 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa0879d69 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa6af5229 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa75f8b79 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xadf48ab5 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaf7fd8b5 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb2b8f647 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb389e16d ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb511106a dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc10d1d3d to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc835d7e0 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc9177160 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd62335fb ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe288893f notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe2bf5815 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xea494948 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xee6ff361 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf4fbfd34 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf52529e7 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf70333ce ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x2b777418 vchi_get_peer_version +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x2f3516ab vchiq_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x36331e4f vchi_held_msg_release +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x47f110c2 vchi_service_release +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x5211f7cb vchi_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x57e16fff vchi_disconnect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x582ed8ca vchiq_bulk_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x6682543a vchi_msg_dequeue +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x69df51ac vchi_bulk_queue_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x713b5716 vchiq_shutdown +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x84112d9c vchi_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x915629ae vchi_bulk_queue_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x92b2feb4 vchiq_bulk_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xa22e9df3 vchiq_add_connected_callback +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xaa03351f vchi_service_open +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xaba69e05 vchiq_add_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbd9445f3 vchi_msg_remove +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbf670d66 vchi_msg_peek +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc1fdb31f vchiq_open_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc4b0bf30 vchi_service_close +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xc5c429da vchiq_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xcc07cfe3 vchi_queue_kernel_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xf2e8c52e vchi_service_use +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xf63a36d7 vchi_msg_hold +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0755fc7f iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x09a9df6f iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0dd54b75 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x15e20813 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1e037ec0 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x222d3131 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x22a80f84 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x23f5fa21 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x24e22d5f iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x253cb569 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2c8d31f3 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x316a83c2 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x332abb8a iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x33448754 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3e7025ca iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x43801198 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4c5e87c0 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4d0c3da5 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6105bf12 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x62ba7465 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6f26547d iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7b94a33b iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7c427460 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7c77bb6a iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7f6376b1 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8186683c iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8630a613 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8ba88183 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x948d1ff4 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9603131f iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9b7a3cf9 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa2e9e83d iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaa061ada iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaaeee59d iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb04f543f iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb9add287 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcaa493e3 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd82d5e1c iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xda9155e2 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe85aebed iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xea4fe00d iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xebfaa9b0 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xee06a369 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf6221091 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/target_core_mod 0x01719bb7 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x028fee17 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x0347fe8f transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0c6f828a target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x10f8b8f2 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x13a0dbcf core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x18e633d6 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x191122ed target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x193bdb49 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x25aefa94 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d72cef5 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x3034c97e target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x31d4547f transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x33c88d0c transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x33f66658 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3812db15 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c266ba7 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x4066c989 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x42a46633 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4800aa14 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e363a63 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x4eaafc54 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x4f3ff696 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x5ccc8b3f target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x5e660576 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x6417c56a passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x66e9ad5a spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x678068b3 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x6839d37f __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6893e610 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b583fb1 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x6d10f592 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6dc35976 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7060a2dd sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x709a4470 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x73c7ebb5 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x7639ab30 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x81d66d91 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x87a82400 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x968f8f04 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xa1b138ae target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xa644621f transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xaa239a4b target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xac2b23a4 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0xb08ae6d4 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xb5df45f7 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6c8662e core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xb81ffcfa target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xba50a012 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xba9ddf70 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0xbb1e9688 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc0f3921 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0039dbd passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xc12d734e transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xc177ec5c target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xcd70b1b4 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xcedef082 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xcf94fff6 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xd31255f2 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0xd3d8e7b7 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xd4376ad5 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xd77d5b40 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbd9c403 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xdf70d7ca sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xe05d3603 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xe55d1241 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xec8124fd target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01d2147 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf53cd81b sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf679220c target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf7297922 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xfc2c8577 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xff7f069a transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x153c1042 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x485822cc usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x9e9f0961 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x20780192 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x34d9fc3f usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x49bb5e07 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8e4fdc4f usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa50e8f18 usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb9307061 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc35d5ce8 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc418e76c usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd9b8885b usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdbfd5662 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdd3f1b07 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf07c6f50 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfbfd7098 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xc370a1e0 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf974fe30 usb_serial_suspend +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x122574d7 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x170b286a mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1c7fc0dc mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1ecb69df mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3a8cbabf mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x44d5080a mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8f1c7f17 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9810b765 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa52dc845 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa8ec8b1c mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xd679ccf9 mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xfc3bd1d6 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/vfio 0x0473fc46 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x105a39f1 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x619cd7dd vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x84c1bc5b vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vhost/vhost 0xaf4f9b2a vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vhost 0xe444e8e5 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x302a0fd0 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x5c05efd1 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xe4b2e114 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xf361a541 devm_lcd_device_unregister +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 0x26ee5d99 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5c645939 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 0x88e9f767 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xc26dff88 svga_get_tilemax +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 0xd83f7eaf svga_tileblit +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 0xed8ec975 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xf26a0c78 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x282484c8 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0xfdf6d5de sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x3594bae8 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0d56ae5d 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 0x0421ff21 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 0x649a6e6b g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x7bb26c6c matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xabf4dabd matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x0713173d DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x1a424134 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x20220b47 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xb1bdd27d matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x7b360e29 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x72213bf3 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9a1f2756 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9c33cdf4 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xa383dac1 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xc6873461 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x39c320c8 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x7bd1cbe8 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x0c3679dc matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x3b7e477c matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x5b49f1d7 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x64b16208 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xc0c7bb96 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +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/w1/slaves/w1_ds2780 0x2ac025ac w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x74915d9a w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x3ba60646 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xa2a1ca34 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x2c18c1e6 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x41f5b1ec w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x4403ab99 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xd049496c w1_register_family +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x459609ba bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xc1499ae0 bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xd14b0649 bd70528_wdt_set +EXPORT_SYMBOL fs/fscache/fscache 0x09effc69 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x1054c036 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x11609e7b fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x13f457d5 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x162beac0 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1a7eaa7c fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0x1e03288d __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1e93e7ab __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x23b080f9 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x29ec443f __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x2e5f81b7 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0x2e8107d5 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x389e43fa fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x40f17064 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x4526ef21 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x504ecd49 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x51fe2148 fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x5407dd88 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x5e0cb538 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x64e0e9da __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6acefa42 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x7029d476 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x73b88404 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x759a2e34 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7b1135b6 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0x7c903628 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0x7e5cc9fa fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x81c419be __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0x97010e2a fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xa5ca2905 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xb3094b0a fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xb6f97aa5 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xc106b338 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xc29ef6cd fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xd3f0268c __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xebd5466a fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xf18c9009 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xf1c29fdc __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xf81eb9e0 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xfe341111 __fscache_invalidate +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x01c320e2 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x42a2aef0 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x99637dd2 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa540a7ad qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd4455320 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xde768286 qtree_entry_unused +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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x96a2d9e4 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 0xf250d433 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x23f7f257 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x3972bd22 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xa4735a5d lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc4e78195 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf126b27a lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf52a620d lowpan_unregister_netdev +EXPORT_SYMBOL net/802/p8022 0x1ecb60dd unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xe19ba781 register_8022_client +EXPORT_SYMBOL net/802/psnap 0xbdf63da2 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xfadfbdba unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x010fd127 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x058f51e9 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x0a9ff6d8 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x1001b630 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x12d9b57a p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x1430723c p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x1ac145d0 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x1cddb795 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x262880ab p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x2d05d7d5 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x2f1e2380 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x3138d75e p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x3b09cf8a p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3e9d195f p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x44fabf03 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x48f3ec8e p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x5584d671 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5c9d8f31 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5e358d45 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x64dc5a0c v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x66302729 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x6b33a925 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x6f441070 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x74f8874c p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7bb68c21 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x8afcf0c2 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x91f78209 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x96ed9215 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x99433976 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa38173b1 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xa8fb8f1f p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xaa4f6fa1 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xb3d782ab p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbd19fe86 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0xbe595ba7 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xc39f8afc p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xc3fdbf1a p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd3d26d0b p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xd61c8955 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xdd5c69cd p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xeaa87e61 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xf491d6be p9_client_walk +EXPORT_SYMBOL net/appletalk/appletalk 0x8ddcb44f alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xb1cd34f2 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xdf38e3a2 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xf401cd41 atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x34d6e4e0 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x6097ece1 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x72fd6a2a atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x7b5b1d0e vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x8065b787 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa46ed724 atm_charge +EXPORT_SYMBOL net/atm/atm 0xa928b761 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb9b5e007 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xc072eb0e atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xc14efc25 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xc4cd30f4 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xdcb0b097 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xefd18893 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x1048b666 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x1b898bfa ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x1ee0afa2 ax25_listen_release +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 0x5cde3845 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x665c4166 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x815138d3 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x8aff5de7 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 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xf5a59cfd ax25_header_ops +EXPORT_SYMBOL net/bluetooth/bluetooth 0x01cb517c hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x03540027 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x05a708b3 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x07ffb611 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x15ea0c0e l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x17b95e79 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1cbb0f79 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x23fff6fe l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2f000b8f hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3390a8b8 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3561440d hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3d36f59d bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48f07e8f bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c02a1d9 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4f4c3f54 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x55a23686 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5714c67b bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5c238ac9 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f3211f7 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x70388e21 bt_accept_unlink +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 0x7bd87167 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x814c13be hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x87f666a9 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9a8401f2 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9f77fed9 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9fcce960 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa91f84e7 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa98ffdae hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xae6bdb55 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb2d89329 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb35cc46c bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb6dcba31 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb6f21d31 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb88cf4e1 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbb3e2f4b bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc3e8ca4a l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc7fb9cfa bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd0a074d0 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd276a00d hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xde98c2ab l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6178982 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf389d1b5 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf402e46b bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xff90314e hci_set_hw_info +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x19557cb1 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x75d10400 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7d8c11b6 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x88ebdc7c ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x13b6322f get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1f1d4eca caif_enroll_dev +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 0x407e2fae caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x73c9331d 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 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xe4beed48 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x6b08b713 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x6c305628 can_proto_register +EXPORT_SYMBOL net/can/can 0x7ea377f9 can_rx_register +EXPORT_SYMBOL net/can/can 0xa0e3a1e4 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xbd30051f can_sock_destruct +EXPORT_SYMBOL net/can/can 0xf1a44809 can_send +EXPORT_SYMBOL net/ceph/libceph 0x08416436 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x09742e39 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x0d416732 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x0ee4d7f0 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x1b418c03 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x1b8260aa ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x1fd2c491 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x20071bc6 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x20dffab5 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x21784599 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x24379411 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x2494626d ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x280a16b0 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x281256b0 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x2828119f ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x2a060c51 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2cac5ab0 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x2cb832bf ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x2fb6f875 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x31da5efe ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x379a9e76 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x37dd0aa5 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x37f0c29e ceph_osdc_put_request +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 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x419dcc3c ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x42b6288e ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x46555f2e ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x49daba53 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x4a2967bc osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x4ecf6d6e ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x513773c2 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x565bab46 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x58be7f77 ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x59e57fbf ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b3712d8 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5c34b202 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x5d954931 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x5e0ec6a3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x5e8bb016 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x6329410d osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x693de886 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6bdd4897 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x70c5f54c ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x755ea5ff ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x7a98fbad osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x7c2a0f5a ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7c362af5 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7c594d0d ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x7cb24eac ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x87065638 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x880562ce ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x8b960313 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x8ba3fe87 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x8ca4715d ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x93b49c3b ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x9913e80e ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x99bdcb18 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9b2f3478 ceph_pg_pool_flags +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 0x9deb2637 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x9eba7988 ceph_monc_blacklist_add +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 0xa040d011 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xa0833fb0 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa3ef35ca ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xa48781f1 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xa666a7f4 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa7dfcf2b ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xa91ae4b3 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xa9b268fd ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xace946ec ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xae34ec32 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0xaf480f78 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb0cca51f ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xb21f0b15 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xb50af01d ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb59f4fe7 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbe81dfb4 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xbfd0bd6b ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc5f0afb7 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xc5f3e8aa __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xc9847665 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xca602351 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcaf6d2c7 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xcbee909e ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xd095cb65 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xd1b8030e ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xd1fb915b ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xd2f260a9 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd9ce4968 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0dd5549 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xe3a4808c ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe6e3c819 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe8d97c88 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0xe98ea1db ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xeadde70c ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xeaee287f ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xec133bff ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xee7f3568 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef65f2f5 ceph_pg_to_acting_primary +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 0xf0f54a3b ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xf6d0e9d2 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xf76a805c ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf81ec444 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xf845a24a ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xfb9240fb osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xfe0ffd8c ceph_monc_do_statfs +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x1ea3fca4 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xb7d72f55 dccp_req_err +EXPORT_SYMBOL net/dsa/dsa_core 0x18589856 dsa_port_vid_add +EXPORT_SYMBOL net/dsa/dsa_core 0x1bea1f3c dsa_port_vid_del +EXPORT_SYMBOL net/ieee802154/ieee802154 0x13fd11c6 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x45d28784 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa2ee9cf4 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa53412cd wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb0345a06 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd1d159ab wpan_phy_for_each +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x566308a0 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x8eac233e __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0xec69b15a gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x2befd4b5 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x629133da ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x8eea9d97 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xd1a19514 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x1c10257c arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x214287ad arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x304e6fab arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x41e933cb arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9405e51a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x94b29a1c ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x997092cf ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa4b09f57 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xc51a80f8 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0xca764d71 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xff134ed1 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x6f621604 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1b29c0fa ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x344adf1f ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4512a90e ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6fb6b206 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x79b73cb7 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7a086f9b ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7bf9bb72 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xbac63884 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc5d21a6d ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0450bfe5 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3f315913 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x4ffce2e0 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8ca97abb ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x93762540 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8a627f94 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x90cdea1d xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x563da357 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x76ce71db xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/l2tp/l2tp_core 0x1441f4aa l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0x622c1acd l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0xb9042cc3 l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x05ea3872 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x08170683 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x2612d241 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x397515c2 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x6062fd31 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x68c89c29 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x81a0cccd lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xbd6d400d lapb_register +EXPORT_SYMBOL net/llc/llc 0x14912cea llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x7b79e41c llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x9ff98855 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xbadf4155 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xd4dac47d llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xe5d64c10 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xf83fa4be llc_sap_open +EXPORT_SYMBOL net/mac80211/mac80211 0x03914569 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x06b3e2a9 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x07e94231 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x0a8f67f9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x0c3419af ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x121c7fdd ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x13d974e4 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x18faf04e ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x19194a75 __ieee80211_create_tpt_led_trigger +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 0x1bfc60d5 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x1e8087d9 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1fe0ec35 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x20083906 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x21275fe7 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x219826d7 ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x2488fe69 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x2fd0b116 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x30c19b4b ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x35112306 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x35862c80 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x3611977f ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x3b795f71 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x3f1d3ea8 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x447c332e ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x4d6906e7 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x4e3068c5 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x4f791bab __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x549e1338 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x585f3e94 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x59e087a6 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5b24a680 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x5bfc3c45 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x5f3bf8e3 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x6a2b4cdf rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x6e5903f9 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x7b5318e7 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x8082479d ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x82a383d1 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x8735fd12 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x88439684 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x89ad730a ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8adf5d6f ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x8c1dab8c wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x93001da3 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x958ff0c3 ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x964f4428 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x96823c5f ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x97014afb ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x972414d4 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x978de3e1 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9b75e50c ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x9df5aaa3 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x9e430f9c ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x9f6bf699 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x9fa0552b ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa0ed3902 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa2a4d610 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa60f3ae7 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa6f1077f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0xa90a5353 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xac2db301 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xadc425d8 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xb07151f6 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xb470454f ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xb492fef9 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xb9c41beb ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0xbf47fa76 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xc1173151 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xc3108aca ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xc4129758 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0xcaee8518 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xcc2cb235 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xd1fa17b1 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xd1fa33a1 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd270dbbd ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd2a8f1b9 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xd646f62c ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xdac60240 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xdafd82bd ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xdb11113c ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xddb3a57f ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe30a593d ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xe486da9c ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xe691f883 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xe6df66e9 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0xea0324da ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xeef2d36b ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xef3d10d4 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf25a35b2 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xf312fd61 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf41a1020 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf493fb1a ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xf82108f3 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xfa62625e ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xff69235c ieee80211_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x33ceb916 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x33ffe4d9 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x611147df ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x6d59951c ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x9618e597 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xa20a65e5 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xc3e21278 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xdb4c1fce ieee802154_register_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x02875b35 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x05db158d unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2100d9e4 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3ce34cd6 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x586c6b13 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x76178fb2 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7682a242 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x79a8bbe6 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7d5fd198 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7d75d785 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x85784513 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa7df20d1 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xaebad360 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbb296805 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd337a610 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x4e046740 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x1e215e6d nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x45f3befe nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xbe2297d2 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xf5ca80aa nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0xfdb0e393 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 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 0x46748631 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 0x5b07dc57 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x79d7e32c 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 0xa5084d2d xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xb7f5c87f xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb8bd84fe xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xbd641748 xt_unregister_targets +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 0xde5dd8f4 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe28fdb08 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x06e6aab2 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x0b33fca2 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x24754920 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x36e9879b nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x42feafdf nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x5542a1bf nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x6af245e2 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7e3605ba nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x8c0c1019 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x8ccab9af nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0x98290cd6 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa1756028 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0xaa1acb79 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xb4cc8b9c nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xbae8553c nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xc51229c9 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc723ae15 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xd14eef75 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd2fa92d1 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xd6a8e42a nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xfb419c8d nfc_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x11e7d122 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x1f28fc56 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x1fbda2a0 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x20a3d3e6 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x2469042f nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x2bfe395d nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x5094113f nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x511ce955 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x57874cd2 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x5a94cf1f nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x5c893b53 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x6cb0f044 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x6ff4545d nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x6ffddc1e nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x80ff01ac nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x84c8b6bf nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x97cc95e2 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x9ed28445 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xac3aa177 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xb5295c45 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xb5de89af nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc245dcd8 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0xc31b6fca nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0xc34275d3 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xcdd7567b nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xd2460851 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xd9a58b32 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xe9eba3b7 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xf132f516 nci_req_complete +EXPORT_SYMBOL net/nfc/nfc 0x01be9b96 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x1004ad02 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x128e0a3b __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x18ff883e nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x30230060 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x369213e9 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x42f71820 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x49b97503 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x4cc983df nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x57967f60 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x67bccbfa nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x6bccc1db nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x70ade8db nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x735697c6 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x78570aef nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x83139571 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x9bfd917a nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xa1f3c1c0 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xa51a4985 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xb9624b8b nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xc6baf351 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xc811709f nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xdb37e65d nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xf1266f66 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0xfb55587c nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc_digital 0xc3cb7deb nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd2abda71 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xdc924f62 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xfa15ad9f nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x4edd20d3 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x50cef8cd pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x8442ed9a pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x995fd473 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x99881d35 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xb62a36e5 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xc48fd4b6 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xde07032b phonet_proto_unregister +EXPORT_SYMBOL net/rxrpc/rxrpc 0x04857def rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x06022884 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0a4d70b7 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1eb36971 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31c55563 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x548589ab rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5a3f1e08 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x660106d0 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7d480403 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa22cbd17 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xaeee6444 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb966a942 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc208fe3e rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd355bc34 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdb1eb5b6 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xeb3da499 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfe7c32e5 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfff53612 key_type_rxrpc +EXPORT_SYMBOL net/sctp/sctp 0xfca575dd sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x51cf563e gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x7e2cbcac gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf3f8a2a4 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x11099120 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x9563bf06 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0xac43909f xdr_truncate_encode +EXPORT_SYMBOL net/tipc/tipc 0x0b82f54d tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x1cad43f0 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x52389deb tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x90e36d16 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tls/tls 0xef03d4ac tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0xaf204551 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xcd09fbe4 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x0290828d cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x0429e38a wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x0babbdec cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x0e70e5dd cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x116fbd6f cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x11c200d5 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x12973125 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x138f8cd1 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x15e4a27e regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x165727c1 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x1658b77f cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x17023021 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1b073f9b cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x1c691071 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x1c9dcb5a cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1cfb5427 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x20d6b8c3 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x215792b3 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x269e699e cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x27c5ef1a ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x2aa38be8 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x30cf56d6 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x334bf40e cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x377195e8 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x38a477aa cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x40e397b8 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x46e1e4d1 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4bd18b94 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4c5a602e ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x4c6a737d cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x4c95e79f wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x4f3ac6b7 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x554da616 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x57c43b92 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x57cb0d2a cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x5d328710 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x6184d380 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x625065d8 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x64c57ea1 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x66be48b0 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x6767cc5f cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6f83fb56 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x75cd2b12 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x765bb6aa cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x79a96c73 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x79ba3ea8 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fb81430 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x802d2e6b cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x83fafa92 regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x855d6d1a cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x85dd3f5b cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x866b13e8 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x872f8ebc cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x91b617d7 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x94b0b97c cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x9766a5ef __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x992fd375 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x9d4b51b7 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa07ab81f cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa741a5ef cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xaa4696d6 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xaf631dc2 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb12b0023 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xb131c428 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xb6b724fa cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xb78dc04c cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb94f19ce cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xbbe10c69 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xbbefea47 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xbf51c40b cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xc121bab8 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xc410c1c5 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xc585bccc cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xcae250d0 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xd17d3b59 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xd1fb1a4e wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0xd41e2d32 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xd450cda8 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xd4bc7718 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xd4e1a4f6 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd64184cf cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xd77f6a27 cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xddfff19b wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xe29a3ae5 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe8444493 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xec5fd4ae __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xed7a9443 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf09646b0 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xf52d885e cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf70720ed cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf819d6bc cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xfa9b6371 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfc1075fb cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0xff0727b7 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/lib80211 0x2f235c8d lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6863209f lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x6f5330f9 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x870421c1 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xa76b58e7 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xef064830 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x32a28a15 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x4fc31547 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 0x4cdc2e6f 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 0x6e687b92 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x73c82cc7 snd_seq_event_port_attach +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 0xbe10865a snd_seq_kernel_client_write_poll +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 0xefdced87 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x08546591 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x1096c604 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x1686c291 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x195d5d99 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x2056cd99 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2847b85d snd_component_add +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x38a2a353 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3b48bbaa snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x50580279 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x56e2fef9 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x5b8e674a snd_card_register +EXPORT_SYMBOL sound/core/snd 0x69a9aa7b snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x784b06db snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x8125574e snd_register_device +EXPORT_SYMBOL sound/core/snd 0x851b016a snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x86aedd2c snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x877f5307 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x899e50bf snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f53603e snd_device_free +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x8f958a96 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x911d32d6 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x920a4779 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x9be84f10 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa105f7c4 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xa1e395d2 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xa512ca00 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xaa536b61 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xb0f196e9 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xb133aa14 snd_card_new +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb4bdc1c2 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xba168bd1 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xc4f648a5 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xc56e8ae5 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xc582e129 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc828d009 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xcade8bb9 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xcc1aa6c7 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xd061f35e snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xd0dab2f8 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xd1dd35c7 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xdabc31a3 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xdc8d33cf snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xe0d61420 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xe54fba2f snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xe824cbbd snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xf9725c3e snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xfe5607a2 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x16efbbaf snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0x1b13bfd4 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x60c8b9b7 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x03ee9b3d snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0c85aa9d snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x0e5dec4c snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x1315279c snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x14e0a7d5 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x182cdae3 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x1add9b4d snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1f3af56b snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x22775195 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x31e92f91 snd_pcm_new +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 0x44451ea5 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x44e07061 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x498316f4 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x4d42ebd0 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x4e175308 snd_pcm_stop +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 0x590eec70 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x5b794387 snd_pcm_hw_constraint_ratnums +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 0x7448a1ad __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x760b97a4 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x82e2153f snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x902606eb snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x9249a468 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x951e2afd snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x9ddcb343 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xa0b305f8 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa0e2ced0 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xa5c3f240 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa7604e4c snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xa81849ab snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xa819b6af snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb197a1a9 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xb718bbaa snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xb9b023d7 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0xba683e4c snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xbcc90a9c snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xcbe6708a snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xcf7463ba snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd09d1ec7 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xdd8847f1 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xdfbf7f9f snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xe1396c2d snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xee6bf58f snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xfc2da9be snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x02604f27 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1ae0fe2c snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x23cb372f snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3682c1f5 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x388057ee snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ef64572 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x54e3b8b7 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x557d9302 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5f71378d snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6d8dddb7 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x81e5686c snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x961694a9 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x972da4fc snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xabe3831c snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbabcdef1 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc0057019 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcc9579f3 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd9523ead snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe7d0749d snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf9069f81 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x282faeb3 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 0x228c51b8 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x25db026b snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x41f2da5e snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x5fe53f2c snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x71cb33d3 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x75677e8c snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x7c6ceb1b snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x85a31266 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x9392f4a3 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xa3781e5f snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xa48dc24b snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xb0fda15c snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0xc1aef0f3 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xcba7c9f2 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xcec4756f snd_timer_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x58490f3a 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 0x19125087 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2c6bccb6 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3b09b652 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x70433ed0 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x74157e61 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9dbf4778 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa782afdf snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xaf69b341 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd744bc1c snd_opl3_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0dc675d3 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0fead1da 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 0x33d7f8c3 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x43eb6279 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x50ba41b2 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x54f54fc4 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x89196e26 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc8ad0076 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcee8083d snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x029ab495 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x051de317 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x162a5a40 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x21e066e2 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2770de06 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4ebd6efb cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x59a8b15c fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7455b133 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74edd2ce fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x75da3b4a cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x76eb4881 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7cb7f408 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x88d7d768 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8afd0c28 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x914f08b9 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa47c00ca amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa64df8ed cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb86406a7 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb9f81ff3 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbc0518ad cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc00a2c4c cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc8209f33 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcbf8ef2b amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xce1a70b5 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd38ceee2 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd66abcf4 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdf7e4759 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xead98c8a cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xeaeb720f avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf1cb5ceb cmp_connection_check_used +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x3eb0da07 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x5e0fc2e2 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x12793f6a snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x51657c8d snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5323a464 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x854a6f64 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x95c74893 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xbfbec42d snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc29ac6d6 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd98b1765 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x40526f3a snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x69b44a59 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x76006067 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb81be6ca snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x5b7b3dc4 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa4aa7259 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4a7b0e81 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x5fb9b4e5 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x78ecd9f2 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb7bba1b0 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xbb08853e snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf0ad0a66 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-i2c 0x481cbc79 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9ed27185 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa1e46322 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xb8979f91 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe18fb40c snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe211d1d1 snd_i2c_device_free +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d1e9b12 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1618e778 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x24e7b7b7 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2b6103ee snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2ce8e9d6 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2f874d1d snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x36c4bb23 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3b02529d snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3fbab36d snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x48aa7e57 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8877f9ec snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9e0ec06d snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbf56730f snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe200be6d snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe46e7e6a snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe4a4ab2c snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xef2db4d8 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x134c93aa snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x150421f4 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x58fb802a snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6a2aafa6 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x790cea48 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9a11025f snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa9355a07 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc27bb0a0 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe3fc86ef snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xb993f1bd snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xcb2fcb20 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xce663c2b snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x01dfe64a oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x02273c2c oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x03b566e9 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1a1a812c oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2200c16f oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x23a36f7c oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2852e2b8 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2ff4866a oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3b9de4c1 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x43d2b6ad oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4ceccd02 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x681d525c oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x879b6ac2 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8aa86a37 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9c0b81a4 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc3f9cdf oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc56077ad oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcd9920d8 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xce15c7bf oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe9339111 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfe9008c8 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x01f809e4 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x17209593 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x22a48bf6 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xa66bc5db snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xaa03ed70 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x3e9a5d22 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x40f39e8e pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x60445d3e tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x95978714 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x37ac8d8e aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x56ff829e aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x8d232c18 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0xb60c76e3 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/snd-soc-core 0x2c1fd34d snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8 0x0674a82b sof_imx8x_ops +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8 0x8088f836 sof_imx8_ops +EXPORT_SYMBOL sound/soc/sof/imx/snd-sof-imx8m 0x3b83a68a sof_imx8m_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x04098d6a snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x057ccc17 sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x138fdab7 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x163ae017 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1b7a5af2 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1c02ad26 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x20728693 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x20a019db sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x241dfd82 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24652dd1 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24af8a16 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x26ce18f0 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2eaa09aa snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2eb8570f snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x30d4a672 snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3407d6b3 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x349e4bd9 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3564507a sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39a1d2f7 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4567f51c sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x485980ef snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4de0f15b sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4df1d368 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5298627e snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5aa50881 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x681f99a8 snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c6528bc sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7f8f25ea snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x85647120 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x889d4c3d snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x904b1e19 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x94d1a94c snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa1e55251 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa53e89ce snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xad63077e snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb329e227 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb6e54386 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb706a8ba snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbf7fbce8 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc14cb146 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc9ed2fe2 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcd052555 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd0b8b136 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd59d3adf snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd99e0e3f snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xda00dff4 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xda2d4d1d snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdbf840cf sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe0e10796 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xeac43efe snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xeeff59a9 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf3f3b13a snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf6eb6867 sof_mailbox_read +EXPORT_SYMBOL sound/soundcore 0x0d7916ad register_sound_special +EXPORT_SYMBOL sound/soundcore 0x39755e54 sound_class +EXPORT_SYMBOL sound/soundcore 0x3c361713 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x64cf82b9 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x895159e4 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x0e9cf516 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x13859f40 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x471d4ae5 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x61acf296 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x913a0591 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xb6ed62ba snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x293ac667 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x34ac95ae snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x48f920c4 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7d95566f snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x85659341 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x97bb24f2 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9db98086 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xe2935f8c snd_util_memhdr_free +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 0x9ad05c29 __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 0x000c867b tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x001d84ab page_frag_alloc +EXPORT_SYMBOL vmlinux 0x004826b3 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x0049d7fb unregister_nls +EXPORT_SYMBOL vmlinux 0x00528ac8 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x0052f7d9 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x006f409e inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x00761cce tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x00793417 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x00928200 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x009acb51 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x00add6a4 proc_mkdir +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00d007bb skb_copy_expand +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00efdc07 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01173f9a nvm_end_io +EXPORT_SYMBOL vmlinux 0x011c29e0 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x01238305 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012de2ea xudma_rchanrt_read +EXPORT_SYMBOL vmlinux 0x012e7037 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x01302c75 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x013b8b03 wireless_send_event +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0149361e compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x015b4466 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x01790e94 csum_partial_copy +EXPORT_SYMBOL vmlinux 0x017cdda7 input_inject_event +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x0181e9aa input_get_timestamp +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x018b7557 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x01a01e56 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01b7bc8f devfreq_add_device +EXPORT_SYMBOL vmlinux 0x01bd3ad8 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c4b35e alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x020b0e9c bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x022d0550 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x023681ad can_nice +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x02643324 simple_fill_super +EXPORT_SYMBOL vmlinux 0x0266dfa8 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027f751f eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x028fd0a2 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x0292a122 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029eef65 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02b47ffc i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02d07bfa dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x02dae2ea sync_inode +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02fe7d49 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x030f7049 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x03127017 passthru_features_check +EXPORT_SYMBOL vmlinux 0x032c1572 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x035cecc9 __put_user_ns +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037d163e vm_map_ram +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039f40b5 pipe_unlock +EXPORT_SYMBOL vmlinux 0x03a65da1 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x03b65f67 sock_from_file +EXPORT_SYMBOL vmlinux 0x03f2a8d5 to_nd_dax +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03feea40 cpumask_next +EXPORT_SYMBOL vmlinux 0x0402deb3 stop_tty +EXPORT_SYMBOL vmlinux 0x0402ec18 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x0409e3e4 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x04262b94 elevator_alloc +EXPORT_SYMBOL vmlinux 0x04365ca4 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x04454e8d tty_devnum +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044c4b8a devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x0452a344 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x045d0995 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x04673adb qman_ip_rev +EXPORT_SYMBOL vmlinux 0x046f7eaa invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x0470e403 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x047d4037 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x047ec778 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x04840b61 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x04b92138 discard_new_inode +EXPORT_SYMBOL vmlinux 0x04bd9178 set_disk_ro +EXPORT_SYMBOL vmlinux 0x04d2eac4 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04ef8c4c netif_receive_skb +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 0x053cb9be dma_async_device_register +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0545f77e dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x054ae357 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x0580d5c7 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x05af55ae i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x05c9b986 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x05ceba18 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x05de72b8 __serio_register_port +EXPORT_SYMBOL vmlinux 0x05f3bd87 empty_aops +EXPORT_SYMBOL vmlinux 0x06080152 d_move +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061358aa seq_pad +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x062288d1 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x066d9839 __put_page +EXPORT_SYMBOL vmlinux 0x069ca8a6 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x06af1fbb dev_open +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06c46f45 d_alloc_name +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06cef598 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x06d77957 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x06e85aca input_free_device +EXPORT_SYMBOL vmlinux 0x06e9537d kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x06f12180 qman_get_qm_portal_config +EXPORT_SYMBOL vmlinux 0x0723c3ff finish_swait +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0737e464 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x073ba5be ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x073e3328 param_set_short +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x07485628 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x075b76f6 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x0766b9c3 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x077c4fc5 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x0781ec97 logic_insl +EXPORT_SYMBOL vmlinux 0x078de1e6 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b4efba mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x07b559c4 path_is_under +EXPORT_SYMBOL vmlinux 0x07c6199b phy_find_first +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07d2a894 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x07f102fe inode_nohighmem +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0801c25d kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08078bc3 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x080f72a8 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x0827825c ip_sock_set_mtu_discover +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 0x0870783b devm_rproc_add +EXPORT_SYMBOL vmlinux 0x0871b599 inet6_getname +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088f2f41 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x0893b236 d_add +EXPORT_SYMBOL vmlinux 0x08a6fcc8 get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x08c19fe5 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x08c96291 fb_pan_display +EXPORT_SYMBOL vmlinux 0x08df2375 bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x08df43d2 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x090259a6 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x093b054f pci_find_resource +EXPORT_SYMBOL vmlinux 0x0940ebd4 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x0946bab6 simple_empty +EXPORT_SYMBOL vmlinux 0x096194aa irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x09682235 down_timeout +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x0989c3c6 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x099d710e security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cf81b8 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x09d24dd1 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x09d358dc nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e58a63 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x09e6d233 thaw_bdev +EXPORT_SYMBOL vmlinux 0x09f32699 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x09f9b261 xudma_rchan_put +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1464c4 inode_init_once +EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a27281f blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a3b59d3 sock_i_uid +EXPORT_SYMBOL vmlinux 0x0a4a6965 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x0a5093ae sg_miter_skip +EXPORT_SYMBOL vmlinux 0x0a5755b8 bio_add_page +EXPORT_SYMBOL vmlinux 0x0a5fb53e blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x0a721302 padata_stop +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a882022 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae1b997 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x0ae60d63 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x0aed74eb tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x0af20eae down_read_interruptible +EXPORT_SYMBOL vmlinux 0x0afa0e23 __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x0afd4eb4 of_get_parent +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1d9310 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b26fd43 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x0b28b2d8 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b2d3869 from_kprojid +EXPORT_SYMBOL vmlinux 0x0b415861 cad_pid +EXPORT_SYMBOL vmlinux 0x0b42a26e pps_event +EXPORT_SYMBOL vmlinux 0x0b62e9eb pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b80168b scsi_print_sense +EXPORT_SYMBOL vmlinux 0x0b8914c9 phy_write_paged +EXPORT_SYMBOL vmlinux 0x0b94cb42 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x0ba4a3aa __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x0ba4fee4 would_dump +EXPORT_SYMBOL vmlinux 0x0bb31acb io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x0bb3ece3 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x0bba71ca csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x0bbe512d is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bd9ae3f start_tty +EXPORT_SYMBOL vmlinux 0x0be15eba open_with_fake_path +EXPORT_SYMBOL vmlinux 0x0bef8604 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x0bf0b527 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2899df dev_get_iflink +EXPORT_SYMBOL vmlinux 0x0c291a15 seq_write +EXPORT_SYMBOL vmlinux 0x0c2d58d4 sock_gettstamp +EXPORT_SYMBOL vmlinux 0x0c380fe0 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x0c46663f security_path_rename +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c751abe netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x0c7f2da1 __icmp_send +EXPORT_SYMBOL vmlinux 0x0c7fe683 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x0c9ce971 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0ccfa123 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0ce0b6ae key_type_keyring +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0cf3c943 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d1d0ca8 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x0d1ef9a5 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x0d23b538 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3f5c1a fman_get_max_frm +EXPORT_SYMBOL vmlinux 0x0d4a785b igrab +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d5739e7 tcf_em_register +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d7866af pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x0d85ccbf scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x0da1f3f9 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x0da20aef dst_release_immediate +EXPORT_SYMBOL vmlinux 0x0dae6921 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x0daf002e blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x0dc9e171 unregister_netdev +EXPORT_SYMBOL vmlinux 0x0dca9590 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x0de8e8b9 tty_register_driver +EXPORT_SYMBOL vmlinux 0x0df73558 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c4796 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x0e21b47d devm_clk_get +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e4881c8 bdget +EXPORT_SYMBOL vmlinux 0x0e569443 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x0e58733b d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x0e58ebc0 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x0e5cf774 fb_find_mode +EXPORT_SYMBOL vmlinux 0x0e5df2fc dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x0e6c00dc of_dev_put +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e87487d mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ecc5ad0 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x0ed6437e of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x0eea1104 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x0f01285c alloc_pages_current +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f0e0399 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x0f20e422 vme_dma_request +EXPORT_SYMBOL vmlinux 0x0f27ac2f security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f4b6643 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x0f5fc7c3 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f9c0f47 netdev_state_change +EXPORT_SYMBOL vmlinux 0x0fa43eb1 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x0fa679a4 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x0fa70d7f bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc68fdb __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x1017be32 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x104c5bda import_iovec +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105e1590 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x1075ef40 block_commit_write +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10b1c152 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10d55b2e bdevname +EXPORT_SYMBOL vmlinux 0x10d80440 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10ec039f bio_free_pages +EXPORT_SYMBOL vmlinux 0x10ef0e35 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x10f4c161 udp_seq_next +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110b5e6a __dquot_transfer +EXPORT_SYMBOL vmlinux 0x1116ee53 km_new_mapping +EXPORT_SYMBOL vmlinux 0x112064a5 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x1135f3af param_ops_short +EXPORT_SYMBOL vmlinux 0x1138123b pci_select_bars +EXPORT_SYMBOL vmlinux 0x114899d6 blk_queue_split +EXPORT_SYMBOL vmlinux 0x114b2a59 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116cdabe sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x116e6325 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117c1856 dquot_disable +EXPORT_SYMBOL vmlinux 0x119d8250 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x11a30761 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x11d46005 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x11de9509 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x11deb57a md_check_recovery +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f0144a xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x11f30b1c seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11f87691 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x11fc31d1 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x1206dd1e flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x121f9443 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x122f0f86 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x1234a904 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x1246a076 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x12616ffe mmc_can_trim +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x1289c1d4 nd_device_notify +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12c46de5 get_cached_acl +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d7347a dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x12daafc4 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x12ea7cd3 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12f853a2 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x13009a5d blkdev_issue_zeroout +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 0x1340ae08 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x13628456 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13abe00f pneigh_lookup +EXPORT_SYMBOL vmlinux 0x13c72edf blkdev_get +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d187d8 dma_virt_ops +EXPORT_SYMBOL vmlinux 0x13d8ebd9 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x13dfbce0 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x1405f6cd tty_vhangup +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x14290c90 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x1446e572 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x14481736 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x14520c85 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x1460a39e jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1476b3cd jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x148be68f unload_nls +EXPORT_SYMBOL vmlinux 0x148ebbac jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x1497cd88 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x14b89635 arm64_const_caps_ready +EXPORT_SYMBOL vmlinux 0x14c28e29 __break_lease +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14ca1de0 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x14e9bc1a inode_get_bytes +EXPORT_SYMBOL vmlinux 0x14eeab9c kill_block_super +EXPORT_SYMBOL vmlinux 0x14f45fcc bman_free_pool +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x15018d43 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x151d6cc3 init_pseudo +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155ad4bc sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x15769095 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0x15a9279f sock_no_getname +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c1bc6b unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15d5d554 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x15ea4898 qman_oos_fq +EXPORT_SYMBOL vmlinux 0x15f4b5a8 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x15f6c228 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x1618936a freezing_slow_path +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x1648e296 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x164b73bb __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x164df09b dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x165ad395 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x166426ff __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x1680a518 dquot_acquire +EXPORT_SYMBOL vmlinux 0x16855891 rpmh_invalidate +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16ad1f44 dev_uc_del +EXPORT_SYMBOL vmlinux 0x16c16605 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x16c2cae5 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x16c4fba9 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x16c9d5c4 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x16cd6b2b csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16dd4bbe inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e7e2cb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x16f28402 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x16f41245 netdev_change_features +EXPORT_SYMBOL vmlinux 0x16f644c4 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x170af311 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x173f59d8 serio_open +EXPORT_SYMBOL vmlinux 0x17447b8a put_disk_and_module +EXPORT_SYMBOL vmlinux 0x175208b8 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x1765ea1f __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x17808cae unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x1780ec9c nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x17825d3f xudma_rchan_get +EXPORT_SYMBOL vmlinux 0x1788da7f jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x179df4ff nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x17a697f4 dst_alloc +EXPORT_SYMBOL vmlinux 0x17ab96b3 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x17b907b6 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x17c005a5 kthread_bind +EXPORT_SYMBOL vmlinux 0x17c39405 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x17e94f3c tcp_close +EXPORT_SYMBOL vmlinux 0x17ebd1b6 phy_init_hw +EXPORT_SYMBOL vmlinux 0x17eee85a phy_stop +EXPORT_SYMBOL vmlinux 0x17f8ea7d touch_buffer +EXPORT_SYMBOL vmlinux 0x180b2e6f sk_free +EXPORT_SYMBOL vmlinux 0x18126fda ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x1816a9bd pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x18192da1 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x185ca3dc cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x1860350b unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x186bff84 set_nlink +EXPORT_SYMBOL vmlinux 0x18741d11 config_item_put +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x18862b79 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18a46281 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x18a4b5a0 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x18aa71f5 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x18b48e28 __memset_io +EXPORT_SYMBOL vmlinux 0x18b961cb abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x18c08b39 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x18c68cdb path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x18c92647 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x18c9ecd6 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x18e5c4e8 __quota_error +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x194bcee1 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x1961393b reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x19827c0e blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198d47a9 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19accca3 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x19b57ed6 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19e23799 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x19fe611e filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x1a0e3018 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x1a0e4e84 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a134e98 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a2b8f15 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4b9c21 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x1a55322e kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x1a6477e6 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x1a814d27 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x1a861065 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x1a871183 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x1a97e697 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x1a992139 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9c4226 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x1a9e0393 __lock_page +EXPORT_SYMBOL vmlinux 0x1ab0843c netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x1ab81b3b pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ad14cbd jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x1ad15cf1 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x1ae2c479 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x1ae83fc6 bio_endio +EXPORT_SYMBOL vmlinux 0x1aef0f76 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x1af4a4dc sk_ns_capable +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b064c06 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x1b0bc031 get_super_thawed +EXPORT_SYMBOL vmlinux 0x1b1201e2 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x1b15f65a build_skb_around +EXPORT_SYMBOL vmlinux 0x1b1b716e pci_request_regions +EXPORT_SYMBOL vmlinux 0x1b262b9d kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1b34de1e udp_gro_receive +EXPORT_SYMBOL vmlinux 0x1b424f0f dst_dev_put +EXPORT_SYMBOL vmlinux 0x1b4dfc32 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x1b5196fc xudma_tchan_put +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb86b9a xen_start_info +EXPORT_SYMBOL vmlinux 0x1bbad042 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x1bc66d91 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x1bc6dfb7 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bdb8957 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x1bff9efb inet_offloads +EXPORT_SYMBOL vmlinux 0x1c0f3915 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x1c1375d4 make_kgid +EXPORT_SYMBOL vmlinux 0x1c175191 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x1c2dfa28 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x1c318a78 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c408f8b find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c823299 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x1c873956 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x1c87f21b inet_stream_connect +EXPORT_SYMBOL vmlinux 0x1c9daf2d simple_link +EXPORT_SYMBOL vmlinux 0x1c9e1d87 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x1c9f1b36 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1cab1c9e __scm_destroy +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cc3d77a tty_write_room +EXPORT_SYMBOL vmlinux 0x1cd1e3f1 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x1cd4c023 vfs_unlink +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdd39ba logic_outsl +EXPORT_SYMBOL vmlinux 0x1cea9b30 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x1ceb0acc sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x1cf2011d dev_remove_pack +EXPORT_SYMBOL vmlinux 0x1cf5efa6 xudma_rflow_get_id +EXPORT_SYMBOL vmlinux 0x1d0544d2 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d2b4a5c inet_sendpage +EXPORT_SYMBOL vmlinux 0x1d2ba574 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d38d489 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x1d39a384 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d4d0588 get_task_cred +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d66b4e5 ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x1d70138b __ps2_command +EXPORT_SYMBOL vmlinux 0x1d83fb81 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dc7d9ca neigh_table_init +EXPORT_SYMBOL vmlinux 0x1dd20f4d remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x1dd22d36 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e096522 fqdir_exit +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0a0e6d lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e243bc7 con_is_visible +EXPORT_SYMBOL vmlinux 0x1e245626 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x1e26da9c twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x1e2beee1 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e637245 iget_locked +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e7c472a neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x1e7d9681 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x1e84a2f9 param_ops_long +EXPORT_SYMBOL vmlinux 0x1e883735 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x1e895cbf __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x1e93949d ppp_input_error +EXPORT_SYMBOL vmlinux 0x1e98e5f0 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea10f04 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x1ebd6d7a netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x1ebdb321 sk_wait_data +EXPORT_SYMBOL vmlinux 0x1ed4688a simple_get_link +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ee4f283 dev_add_offload +EXPORT_SYMBOL vmlinux 0x1eff3bb8 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f0ce3a8 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x1f241147 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x1f26aba1 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x1f2d1038 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x1f3a3cc1 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1f4a4cb4 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f5a0ddd __register_chrdev +EXPORT_SYMBOL vmlinux 0x1f5b9ff3 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x1f66c727 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x1f86f722 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x1f87e662 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x1f8deb62 vfs_readlink +EXPORT_SYMBOL vmlinux 0x1f96186b sock_register +EXPORT_SYMBOL vmlinux 0x1fa47ccf posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x1fa8716c devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x1fb731f5 simple_unlink +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fd4811c of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x1fe73de8 d_set_d_op +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1ff0d775 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005a83b ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x2008498d udp_seq_ops +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2020be2c ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x2039329d udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x204371d3 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204809ee mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x2049fe28 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204d0d76 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2051b5b8 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x20587564 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20757ca5 fb_class +EXPORT_SYMBOL vmlinux 0x20775b77 clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0x20968dad neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x20a1b519 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c1d376 mmc_add_host +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20e48265 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20ef1aa3 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x20f46a5b pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x20f677ec vfs_create +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x2100bf7c fb_validate_mode +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x2168923b unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x21707a14 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x21711b92 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x218362c2 pin_user_pages +EXPORT_SYMBOL vmlinux 0x218b5c99 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x219b3478 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c4826b phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x21cddf1a security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21e74150 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x21f7471b cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x220d136a input_register_handler +EXPORT_SYMBOL vmlinux 0x220e55d0 mem_section +EXPORT_SYMBOL vmlinux 0x2211ed15 vga_tryget +EXPORT_SYMBOL vmlinux 0x2215f445 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x22215958 nd_dax_probe +EXPORT_SYMBOL vmlinux 0x222c2554 fqdir_init +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22311809 amba_request_regions +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x223b9dd9 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x224ce651 xudma_free_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x22659bec pci_read_vpd +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x228770c1 inet_select_addr +EXPORT_SYMBOL vmlinux 0x22a8fd9e shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x22abd153 sync_blockdev +EXPORT_SYMBOL vmlinux 0x22ae1235 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x22b289c8 from_kgid +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cde8c7 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x22d02596 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x22ea7248 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x22eea327 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x23107a72 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x2332d6bf blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x2335e038 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x235b2c97 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x23752943 inet_addr_type +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23b15899 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bc8864 elv_rb_del +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23ca897d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23d465d7 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e02973 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x23e11979 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x23e64212 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x23e7b3b8 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f2dc17 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x23f5ffc5 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x23fcecb8 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2412a47f input_get_keycode +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2421a664 vif_device_init +EXPORT_SYMBOL vmlinux 0x243dea80 bio_reset +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244553d7 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246a84f7 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x2485983e fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x2493401b security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x24a5732f end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x24a907ac skb_unlink +EXPORT_SYMBOL vmlinux 0x24af796e kmem_cache_create +EXPORT_SYMBOL vmlinux 0x24c46613 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24e5a893 cdrom_open +EXPORT_SYMBOL vmlinux 0x24f7970c pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x24fe7344 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x2517fd0c neigh_update +EXPORT_SYMBOL vmlinux 0x2518a4d8 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252eeea9 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x253e4757 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x254bd530 edac_mc_find +EXPORT_SYMBOL vmlinux 0x25706d82 tty_unlock +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25864f2e mmc_get_card +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x2595da74 key_task_permission +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25a072ca neigh_connected_output +EXPORT_SYMBOL vmlinux 0x25a65511 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x25b3358c blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x25cd44a5 import_single_range +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f01a0a vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x25fdf004 mii_link_ok +EXPORT_SYMBOL vmlinux 0x2603e1e1 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x260f87fb acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x262749b7 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263f0d1f qman_portal_set_iperiod +EXPORT_SYMBOL vmlinux 0x2674d9fa of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26992d69 udp_disconnect +EXPORT_SYMBOL vmlinux 0x26a465fc blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x26acc75c __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x26ba2be3 wake_up_process +EXPORT_SYMBOL vmlinux 0x26bacecb gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x26be1084 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x26cc73c3 complete_and_exit +EXPORT_SYMBOL vmlinux 0x26cfa2de single_release +EXPORT_SYMBOL vmlinux 0x26cfb246 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26ec2113 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x26f1a90f sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x26f91c9e __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x26ff01a4 skb_seq_read +EXPORT_SYMBOL vmlinux 0x27011ce7 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2721a7b3 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x272a1af3 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x272c664d ip_defrag +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x274b694f get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x2761f635 __brelse +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27649ab0 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x276b4d80 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x27806e21 scsicam_bios_param +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 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x279fe04b noop_qdisc +EXPORT_SYMBOL vmlinux 0x27a04d89 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x27a48a19 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x27ab88f1 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bcaf8b iov_iter_init +EXPORT_SYMBOL vmlinux 0x27bd5a47 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x27c3c728 qman_release_fqid +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27de1c19 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x27e34833 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281aad91 proc_set_user +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x28401192 vm_map_pages +EXPORT_SYMBOL vmlinux 0x2852b3f1 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x286b6146 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x28759ffb xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2884f44b __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x28c7a06f xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x28cab560 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x28f05e1b param_set_ullong +EXPORT_SYMBOL vmlinux 0x28fce91a tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x2909f48f has_capability +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x29244286 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x29259955 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x2935c3dd seq_path +EXPORT_SYMBOL vmlinux 0x2938daec dump_truncate +EXPORT_SYMBOL vmlinux 0x293fb9f8 of_get_next_child +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x29632ff0 audit_log +EXPORT_SYMBOL vmlinux 0x296cb509 __xa_insert +EXPORT_SYMBOL vmlinux 0x29750ce7 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x29b1da9f phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x29b90b8a netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x29b9c6a7 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x29cf44f2 seq_putc +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a36b1bd single_open_size +EXPORT_SYMBOL vmlinux 0x2a60c2d7 node_states +EXPORT_SYMBOL vmlinux 0x2a709314 migrate_page_states +EXPORT_SYMBOL vmlinux 0x2a7668d1 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa21372 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x2aabaf9d xudma_tchan_get +EXPORT_SYMBOL vmlinux 0x2aae1804 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x2aaed645 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x2ab22885 dput +EXPORT_SYMBOL vmlinux 0x2ab2ee91 brcmstb_get_product_id +EXPORT_SYMBOL vmlinux 0x2ab7989d mutex_lock +EXPORT_SYMBOL vmlinux 0x2abdf165 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x2ac58b74 pmem_sector_size +EXPORT_SYMBOL vmlinux 0x2ad16ae8 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x2adafbca config_item_get +EXPORT_SYMBOL vmlinux 0x2b0550c6 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x2b1abce3 fman_has_errata_a050385 +EXPORT_SYMBOL vmlinux 0x2b23bf66 alloc_pages_vma +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b74e424 iget5_locked +EXPORT_SYMBOL vmlinux 0x2b8219c9 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x2b8d6df4 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x2b8dbcd5 netlink_unicast +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bac29b8 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x2bb48d14 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bbc259d softnet_data +EXPORT_SYMBOL vmlinux 0x2bbf88d3 lookup_one_len +EXPORT_SYMBOL vmlinux 0x2bd0046b padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bdab242 devm_free_irq +EXPORT_SYMBOL vmlinux 0x2bddf0d4 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x2bdeb387 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x2bfbab10 __memmove +EXPORT_SYMBOL vmlinux 0x2c1ecd4d key_payload_reserve +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c25cea8 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x2c2972db netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2c366a80 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x2c43b419 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c658264 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x2c763356 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x2c7b2135 iunique +EXPORT_SYMBOL vmlinux 0x2c7eb636 pci_resize_resource +EXPORT_SYMBOL vmlinux 0x2c91e17c vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x2ca772b3 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x2ca7d511 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x2cc293d6 neigh_xmit +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd48466 xp_free +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ce078c0 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x2ce13de6 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x2cf14b15 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d2b473a netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x2d2f802d blkdev_fsync +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3a7319 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x2d48ba95 fman_get_bmi_max_fifo_size +EXPORT_SYMBOL vmlinux 0x2d4b9a45 dev_uc_init +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d5251f3 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x2d548b31 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x2d5f7d55 page_symlink +EXPORT_SYMBOL vmlinux 0x2d734140 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x2d787271 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x2d8defff xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2dabb07f tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x2dadd0ac xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2db3d320 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x2dc97232 pci_map_rom +EXPORT_SYMBOL vmlinux 0x2dce2f1c __irq_regs +EXPORT_SYMBOL vmlinux 0x2de530aa __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e11e1a2 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e1f4bfb phy_modify_paged +EXPORT_SYMBOL vmlinux 0x2e218a71 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2c4ddc logic_inw +EXPORT_SYMBOL vmlinux 0x2e337940 cdev_init +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e44d262 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e4515ac serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x2e58e8ed rio_query_mport +EXPORT_SYMBOL vmlinux 0x2e5b27da xudma_alloc_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e6dad52 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x2e76623b add_to_pipe +EXPORT_SYMBOL vmlinux 0x2e8619aa security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x2eab35fc block_read_full_page +EXPORT_SYMBOL vmlinux 0x2eb08382 pci_save_state +EXPORT_SYMBOL vmlinux 0x2ec3453b qman_schedule_fq +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0e6247 param_get_string +EXPORT_SYMBOL vmlinux 0x2f1c9361 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x2f226169 sock_no_listen +EXPORT_SYMBOL vmlinux 0x2f23d63f textsearch_register +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 0x2f538d4c config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x2f583026 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x2f69566d abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x2f6a081e rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x2f70ef36 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8f2d2d pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x2fb46a5e sock_i_ino +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbf5d78 setup_new_exec +EXPORT_SYMBOL vmlinux 0x2fd6af32 set_anon_super +EXPORT_SYMBOL vmlinux 0x2fe10a3d vme_irq_generate +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5b535 qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x2ff2f131 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x30090ea1 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x302d3a7b mark_info_dirty +EXPORT_SYMBOL vmlinux 0x302f67a0 logfc +EXPORT_SYMBOL vmlinux 0x3036d660 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x3044faf4 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x30584983 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x30645a6f scsi_compat_ioctl +EXPORT_SYMBOL vmlinux 0x307ae15e __pagevec_release +EXPORT_SYMBOL vmlinux 0x307ec861 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x3084789a dquot_quota_on +EXPORT_SYMBOL vmlinux 0x308afb1f param_set_long +EXPORT_SYMBOL vmlinux 0x30957dfc blk_execute_rq +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x3099d753 scsi_device_get +EXPORT_SYMBOL vmlinux 0x309e4cf4 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af3593 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30b92371 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x30bd5ee0 qman_destroy_fq +EXPORT_SYMBOL vmlinux 0x30d79b59 param_get_short +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f1a5ca __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x30f6d854 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x3100cff9 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3107da00 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x31223287 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3126ce54 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x3129b1c6 input_register_device +EXPORT_SYMBOL vmlinux 0x312f1d04 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x3132874d xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x3140b6b8 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x315ec3dc security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x318d6fec mutex_is_locked +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a09512 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x31a2d8ca sock_alloc +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31a8fd8b genphy_resume +EXPORT_SYMBOL vmlinux 0x31a95cb1 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x31aad9db sk_mc_loop +EXPORT_SYMBOL vmlinux 0x31b19f81 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x321b10bc dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x321dd834 may_umount +EXPORT_SYMBOL vmlinux 0x321ec34d netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x32449466 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x324b8759 make_kuid +EXPORT_SYMBOL vmlinux 0x32596d8f kfree_skb +EXPORT_SYMBOL vmlinux 0x32651177 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x3275a9a6 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x327659f8 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e296 km_policy_notify +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d5c693 pci_enable_msi +EXPORT_SYMBOL vmlinux 0x32dc2bfc drop_nlink +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32f301d4 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x32fdf39d tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x32ff39a7 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x33037fd8 logic_outl +EXPORT_SYMBOL vmlinux 0x33115a5f inet_release +EXPORT_SYMBOL vmlinux 0x3316b2b8 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x332219cd mdio_bus_type +EXPORT_SYMBOL vmlinux 0x33257cd5 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x332bb7a2 md_integrity_register +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33886c25 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x3390b641 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x33ca7cb4 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x33de9006 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x33edd30d sock_no_linger +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x3431b424 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x344ca9d4 qman_init_fq +EXPORT_SYMBOL vmlinux 0x3468f79e netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x3470b9fb md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x347a5c44 simple_rename +EXPORT_SYMBOL vmlinux 0x3499c7d6 seq_dentry +EXPORT_SYMBOL vmlinux 0x349ac524 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34b532ae __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x34ceadd6 dev_mc_init +EXPORT_SYMBOL vmlinux 0x34e409af nf_setsockopt +EXPORT_SYMBOL vmlinux 0x34ecb80a of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f61c61 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x34fb0528 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353ec70d flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x3544028c phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x3552f411 security_sock_graft +EXPORT_SYMBOL vmlinux 0x35569a84 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x356b50c9 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x3589e279 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x358d44a9 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x35965eb5 do_SAK +EXPORT_SYMBOL vmlinux 0x359ca24a simple_getattr +EXPORT_SYMBOL vmlinux 0x359ec42f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x359efb0c kill_litter_super +EXPORT_SYMBOL vmlinux 0x359fcd82 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x35a59db5 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35ac9ba8 __neigh_create +EXPORT_SYMBOL vmlinux 0x35af6310 sock_init_data +EXPORT_SYMBOL vmlinux 0x35b47afa dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0x35b84376 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x35ba4821 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x35c84760 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x35cbf479 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x35d6f19a devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x35e31f31 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x35eb9e12 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x35f0aa04 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x3609ecf7 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3613095b xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x361d4990 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x363058d2 d_delete +EXPORT_SYMBOL vmlinux 0x3635230a skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x3651da42 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365b665a refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x367a5af8 backlight_force_update +EXPORT_SYMBOL vmlinux 0x369be02e account_page_redirty +EXPORT_SYMBOL vmlinux 0x36a8787c pci_irq_vector +EXPORT_SYMBOL vmlinux 0x36b7bb60 simple_readpage +EXPORT_SYMBOL vmlinux 0x36b8dd27 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x36c891ba genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x36ca58ee blk_put_request +EXPORT_SYMBOL vmlinux 0x36e9f2a7 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x36eda7b3 __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x3722063c sock_create_lite +EXPORT_SYMBOL vmlinux 0x372d7360 iput +EXPORT_SYMBOL vmlinux 0x3733b292 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3745323c bdget_disk +EXPORT_SYMBOL vmlinux 0x37491a9f tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x376a1c6b __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x3770e0b0 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x37727074 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x37a9e1de tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37b294fc inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37f04944 param_ops_uint +EXPORT_SYMBOL vmlinux 0x37f8b5ac poll_freewait +EXPORT_SYMBOL vmlinux 0x3800b124 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x38096698 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x3809a7b6 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x3811c5d5 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x3833fdce mdiobus_read +EXPORT_SYMBOL vmlinux 0x383fe2e1 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x3855719a sunxi_sram_claim +EXPORT_SYMBOL vmlinux 0x386ea33c clocksource_change_rating +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 0x3894a06e tcf_classify +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a7cc1b configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38b58554 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x38c81944 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x38d76b76 clk_get +EXPORT_SYMBOL vmlinux 0x38e0cd09 key_move +EXPORT_SYMBOL vmlinux 0x38e3e1f0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38fa3848 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x38fefcd0 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x390d798e vlan_vids_add_by_dev +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 0x393a410c vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3957539f to_nd_pfn +EXPORT_SYMBOL vmlinux 0x395b8515 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x395bc951 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x39920df8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b62dbc d_instantiate +EXPORT_SYMBOL vmlinux 0x39b65a2f max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x39b8d49c cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x39ccbe5b ps2_command +EXPORT_SYMBOL vmlinux 0x39e931ab noop_llseek +EXPORT_SYMBOL vmlinux 0x39f67245 devm_memunmap +EXPORT_SYMBOL vmlinux 0x39f968b4 get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x39f9769f irq_stat +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1dc27e pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x3a21868a flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x3a2756d2 key_revoke +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a34bb37 param_set_byte +EXPORT_SYMBOL vmlinux 0x3a477443 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a96c030 of_get_next_parent +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ad410b2 read_cache_page_gfp +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 0x3ae2dfb5 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b1d96a5 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b22c442 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b3f8e91 sock_no_accept +EXPORT_SYMBOL vmlinux 0x3b45ff3a insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b708992 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x3b7622cb dev_mc_add +EXPORT_SYMBOL vmlinux 0x3b7b6d08 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x3b7ccc0a fman_get_revision +EXPORT_SYMBOL vmlinux 0x3b8dfb84 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3b93dbad neigh_for_each +EXPORT_SYMBOL vmlinux 0x3b9c6b7d __skb_pad +EXPORT_SYMBOL vmlinux 0x3bdeff31 skb_checksum +EXPORT_SYMBOL vmlinux 0x3be6f4ac vlan_vid_add +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bf68fde dma_sync_wait +EXPORT_SYMBOL vmlinux 0x3bfca0fd param_get_invbool +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3494fa ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x3c3b7421 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c51204f xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x3c5ec7a8 get_vm_area +EXPORT_SYMBOL vmlinux 0x3c69b1a0 netdev_alert +EXPORT_SYMBOL vmlinux 0x3c734d7b vme_register_driver +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c8960ca backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x3c89876d find_lock_entry +EXPORT_SYMBOL vmlinux 0x3c92891f mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x3c9817e7 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3ca4e168 fb_set_var +EXPORT_SYMBOL vmlinux 0x3cc30cc9 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x3cd9ed83 logic_insw +EXPORT_SYMBOL vmlinux 0x3cdaa4db inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cff0a0a ll_rw_block +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d0aece5 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x3d0b141e devfreq_update_status +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d242ecb blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x3d38d705 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x3d42ca78 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x3d43885c posix_acl_valid +EXPORT_SYMBOL vmlinux 0x3d454707 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d5ab358 bio_devname +EXPORT_SYMBOL vmlinux 0x3d5bb3fd refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x3d621d7e __skb_checksum +EXPORT_SYMBOL vmlinux 0x3d67d4a9 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x3d7a041a acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0x3d8375a1 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x3d98edc1 cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db7fdfc proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x3db9eed9 of_find_net_device_by_node +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 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0679d9 kobject_init +EXPORT_SYMBOL vmlinux 0x3e0b3476 iget_failed +EXPORT_SYMBOL vmlinux 0x3e10188e acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x3e179a26 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e388dcf netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x3e4ee71d skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x3e55394d inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x3e693794 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x3e7001db inet_sendmsg +EXPORT_SYMBOL vmlinux 0x3e749732 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x3e7b3554 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9aae53 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x3ed923ea netdev_notice +EXPORT_SYMBOL vmlinux 0x3edc187e blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3efe2f9f iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x3f02a4c6 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f42a163 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x3f430f1f netif_napi_add +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 0x3f5665eb generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x3f64c2a9 request_key_rcu +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3fa527b8 clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x3fa6549f get_tz_trend +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3ff5fec7 key_put +EXPORT_SYMBOL vmlinux 0x4011d84c __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x40121a99 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x4038bfd6 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x40399173 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x403d7472 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x405e0786 filp_close +EXPORT_SYMBOL vmlinux 0x4060ccf5 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x4077f1dd dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409bcb62 mutex_unlock +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 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40f0e65c nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x41005ac7 kfree_skb_list +EXPORT_SYMBOL vmlinux 0x4108aecb iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x41269265 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x412c3e82 tcp_poll +EXPORT_SYMBOL vmlinux 0x41450459 param_get_long +EXPORT_SYMBOL vmlinux 0x4145992d padata_start +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x416c798b skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x416d83dd put_devmap_managed_page +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4198ca95 __do_once_done +EXPORT_SYMBOL vmlinux 0x41a57c4e mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x41d04fc9 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x41dbc148 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x41ed18cb vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x420f59c9 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x422ab6ec block_write_end +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x42456a10 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x4249f23b inode_init_owner +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x4266bac7 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x427c791d dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x4288075d pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x429b9a0a vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x429f48ee input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x42a7ef64 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x42be14c2 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42c20fa7 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x42cb75ab sock_bind_add +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4306f82d dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x430bdcf0 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x433363a8 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x4339434b sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x4345fe92 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x434c4f27 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43699896 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4382af64 param_ops_bool +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43889c5e inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x439e723b __sock_create +EXPORT_SYMBOL vmlinux 0x43a6b2dd mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x43ae47b6 of_iomap +EXPORT_SYMBOL vmlinux 0x43bb7dbb init_task +EXPORT_SYMBOL vmlinux 0x43cc99d4 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x43ebf76e bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x440f3912 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x442115d0 fb_show_logo +EXPORT_SYMBOL vmlinux 0x44229819 md_flush_request +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44626608 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44805139 __fs_parse +EXPORT_SYMBOL vmlinux 0x44850769 vc_cons +EXPORT_SYMBOL vmlinux 0x4488febc scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x449a8087 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a2740a register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44a7e4b7 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +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 0x45149e88 abx500_startup_irq_enabled +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 0x453e554f i2c_transfer +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x4554410b __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x45554a56 ipv4_specific +EXPORT_SYMBOL vmlinux 0x45720a49 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x457279ba noop_fsync +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4590149c submit_bio +EXPORT_SYMBOL vmlinux 0x45a44fdc generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x45bec571 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x45d94841 bio_split +EXPORT_SYMBOL vmlinux 0x45da254b scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x45dab00b vga_client_register +EXPORT_SYMBOL vmlinux 0x45e69e01 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x45e6fee7 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x45fa864e proc_create_single_data +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x46175bf5 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x461fca49 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x463219fb tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x463dd030 napi_complete_done +EXPORT_SYMBOL vmlinux 0x463ef4a8 send_sig_info +EXPORT_SYMBOL vmlinux 0x463fadf4 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x463fc8ca splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x464181a1 alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466feea4 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x468141bb bdgrab +EXPORT_SYMBOL vmlinux 0x4698fe8a bman_release +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46d20922 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x46d76580 is_bad_inode +EXPORT_SYMBOL vmlinux 0x46f13b07 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x46f324b5 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x46fb1ae2 netpoll_setup +EXPORT_SYMBOL vmlinux 0x46ff7d12 qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x47033ec5 __scsi_execute +EXPORT_SYMBOL vmlinux 0x470612dc fman_port_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0x4706ac67 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x471be4a6 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x47357fec __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x4755cce2 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x475d7427 fman_get_rx_extra_headroom +EXPORT_SYMBOL vmlinux 0x476fca7d set_bh_page +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47867a7b tty_lock +EXPORT_SYMBOL vmlinux 0x4790c122 audit_log_start +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x479722dc dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x479f2d83 d_alloc +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47ad9412 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47df687f filemap_check_errors +EXPORT_SYMBOL vmlinux 0x47e3f703 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x47f1ff9c blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x480b0416 clkdev_alloc +EXPORT_SYMBOL vmlinux 0x48134987 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x48204550 mmput_async +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4837bb10 logic_outsb +EXPORT_SYMBOL vmlinux 0x483b5a4d tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x483fc54a phy_modify_paged_changed +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 0x485b5bdf blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x4863b450 km_state_notify +EXPORT_SYMBOL vmlinux 0x4874a9d9 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x487b6427 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x487f756a skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x4895ac47 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a0388d of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x48a8e76e vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48acd9ef input_unregister_handler +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48c52e98 register_md_personality +EXPORT_SYMBOL vmlinux 0x48f30bee path_put +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4959e282 unlock_page +EXPORT_SYMBOL vmlinux 0x49624671 sk_common_release +EXPORT_SYMBOL vmlinux 0x496fa787 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x4976967a seq_escape +EXPORT_SYMBOL vmlinux 0x497a9ff3 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x498cd333 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a9eb1d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x49aa6367 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49b65b3c input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x49c015e4 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x49c1cd94 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x49ce68a6 follow_down_one +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x49fbfb4c dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x4a11d68f pci_match_id +EXPORT_SYMBOL vmlinux 0x4a36384b rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a5547cc kernel_accept +EXPORT_SYMBOL vmlinux 0x4a7dad7a __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x4a94a447 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9e4008 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x4aab4724 __block_write_begin +EXPORT_SYMBOL vmlinux 0x4aab8a82 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x4aaceb80 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x4ab208ba acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x4ab6a75c kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x4ac62af7 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4afa1a14 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4afd21cb request_key_tag +EXPORT_SYMBOL vmlinux 0x4b028f16 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x4b0923f8 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x4b12beec compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x4b3560e5 fc_mount +EXPORT_SYMBOL vmlinux 0x4b39388d pci_restore_state +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b7e3591 put_tty_driver +EXPORT_SYMBOL vmlinux 0x4b895ede scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x4ba0e475 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x4bb5e98d pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x4bba9e22 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x4bbd866a __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x4bcbec6a dcache_readdir +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bcfaaaf tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x4be0584d tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x4be5c060 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x4be946d1 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf3ce6f qman_release_cgrid +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c325fe0 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c3abc54 proc_symlink +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c47899d is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc204f8 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x4cc79bc1 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x4cffda0f security_unix_may_send +EXPORT_SYMBOL vmlinux 0x4d0040a0 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x4d01221a __tcf_idr_release +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d1c5bab da903x_query_status +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d39557f jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x4d40bab0 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d80e1b5 proto_register +EXPORT_SYMBOL vmlinux 0x4d8e679c genl_notify +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4db20bc5 processors +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4ddb90c5 con_is_bound +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 0x4e051406 to_ndd +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e29a553 clk_add_alias +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5c15f1 dev_change_carrier +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e6f9eb7 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x4e757a70 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x4e8e43e3 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x4e924492 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x4e9660b4 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4ea5cf51 blk_put_queue +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ec73771 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x4ed7097a update_devfreq +EXPORT_SYMBOL vmlinux 0x4edb3946 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x4edbb500 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x4edbf3b6 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x4eeda193 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4f173d46 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f2429e5 sock_set_priority +EXPORT_SYMBOL vmlinux 0x4f4d209a fput +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f50707f generic_fadvise +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f5e84fb pnp_device_attach +EXPORT_SYMBOL vmlinux 0x4f673456 scsi_print_command +EXPORT_SYMBOL vmlinux 0x4f8d0e18 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x4f8fd5b6 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x4fbe8c5b fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x4fc7ad92 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x4fcf97f3 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x4fe4af98 bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x4ff19c55 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x4ff8904d dma_supported +EXPORT_SYMBOL vmlinux 0x5000d9a8 gro_cells_init +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500c3555 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x5011cd97 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x5018dba6 ppp_input +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x50644c53 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x50890d91 seq_puts +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 0x50bc6906 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50e7e120 of_match_node +EXPORT_SYMBOL vmlinux 0x50e9db48 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x50f98659 netdev_err +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x5154af41 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x515a8c0f xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x515f520b qman_portal_get_iperiod +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516dc2f1 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x5172bccd fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x5177dfcc locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x5181c7b5 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x519e57fd xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x519ed57c ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x519fcaa9 __register_binfmt +EXPORT_SYMBOL vmlinux 0x51adb656 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x51b40718 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x51d0564e iproc_msi_init +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51fbb186 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x524fe350 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x5257867f security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x526e5ef2 eth_header_parse +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x527365e5 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x52813351 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x528e7efd mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a3508f inet6_offloads +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530f641a xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x53256053 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x536e26bc of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x53748131 thaw_super +EXPORT_SYMBOL vmlinux 0x537dd070 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x538570ec kernel_bind +EXPORT_SYMBOL vmlinux 0x5388fc3e xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x53abb9f3 filemap_flush +EXPORT_SYMBOL vmlinux 0x53b264c1 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53d38f35 vga_put +EXPORT_SYMBOL vmlinux 0x53d47b66 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x53de1584 inet_shutdown +EXPORT_SYMBOL vmlinux 0x53f3b69b sget +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x53fd2c5d input_event +EXPORT_SYMBOL vmlinux 0x5402da9f xudma_navss_psil_pair +EXPORT_SYMBOL vmlinux 0x54095b38 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x541fef5c blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x54234d96 param_set_uint +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x544bb16a iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0x544cfe57 register_gifconf +EXPORT_SYMBOL vmlinux 0x5463188b dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x5469ff81 efi +EXPORT_SYMBOL vmlinux 0x546a162a reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x546f2085 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x547a3b5e devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x5487c550 mmc_free_host +EXPORT_SYMBOL vmlinux 0x548dc3f5 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x54913400 inet_del_offload +EXPORT_SYMBOL vmlinux 0x54a188c9 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54bbb9a4 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x54bee48a skb_store_bits +EXPORT_SYMBOL vmlinux 0x54d2cd01 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x54d3776e xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x54d3e534 d_obtain_alias +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 0x5514fede configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x552db3aa qman_query_cgr_congested +EXPORT_SYMBOL vmlinux 0x553a60ee free_buffer_head +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554def1c block_invalidatepage +EXPORT_SYMBOL vmlinux 0x55588ff1 bd_set_size +EXPORT_SYMBOL vmlinux 0x55596fd4 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x555fd3a1 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x5563c2aa inet_ioctl +EXPORT_SYMBOL vmlinux 0x55686530 __arch_clear_user +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x557519a7 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x5584f3ac vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x5584f962 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x55859a9f __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55926343 proc_set_size +EXPORT_SYMBOL vmlinux 0x55987971 sock_edemux +EXPORT_SYMBOL vmlinux 0x5599d1c6 blk_get_queue +EXPORT_SYMBOL vmlinux 0x559ee443 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x55a344cd __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x55ad7098 of_root +EXPORT_SYMBOL vmlinux 0x55cb3830 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x5614f48a qman_dqrr_get_ithresh +EXPORT_SYMBOL vmlinux 0x56172180 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x561d23d2 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5636bb55 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x563bde34 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x5646aca2 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x5654a67a qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x56587f31 inet_accept +EXPORT_SYMBOL vmlinux 0x565aad59 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x56630c0e scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x566548b4 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x566ab40a sock_alloc_file +EXPORT_SYMBOL vmlinux 0x567302cf kthread_stop +EXPORT_SYMBOL vmlinux 0x567e7d63 mmc_put_card +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568e8230 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x5693729b km_state_expired +EXPORT_SYMBOL vmlinux 0x5698c998 set_user_nice +EXPORT_SYMBOL vmlinux 0x56996a49 tty_throttle +EXPORT_SYMBOL vmlinux 0x569abcca acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x56b5b7d7 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56c8d586 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x56ee619e __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x56f52798 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x56f8c371 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x56ff9c99 unlock_rename +EXPORT_SYMBOL vmlinux 0x57021d3a scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x57085c5c page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x57241b9d tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x574945b7 simple_statfs +EXPORT_SYMBOL vmlinux 0x5749b105 mii_check_media +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x5755eda4 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57babcb9 generic_file_open +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57c65b29 twl6040_power +EXPORT_SYMBOL vmlinux 0x57d0427e amba_release_regions +EXPORT_SYMBOL vmlinux 0x57ebfe36 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57f85d0e mount_nodev +EXPORT_SYMBOL vmlinux 0x57ff2b30 vme_slave_request +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 0x582de8ae tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584ea43e napi_gro_flush +EXPORT_SYMBOL vmlinux 0x58562f88 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x58604e4d alloc_iova_mem +EXPORT_SYMBOL vmlinux 0x586ead47 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x588db4da skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x588f451f phy_loopback +EXPORT_SYMBOL vmlinux 0x589279c3 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x58960a6a ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x58abcc7f devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b000cf dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b62dc6 param_set_int +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58f5aec5 key_validate +EXPORT_SYMBOL vmlinux 0x58fb85c8 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x59004d45 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x59110cb3 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x591fac89 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x591fb604 scsi_add_device +EXPORT_SYMBOL vmlinux 0x593b1e37 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5945a1a4 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x595791ed xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x595995aa dma_resv_init +EXPORT_SYMBOL vmlinux 0x595e214a neigh_event_ns +EXPORT_SYMBOL vmlinux 0x596a2635 dst_discard_out +EXPORT_SYMBOL vmlinux 0x59723e11 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x59811d25 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x598f3fed ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x5992b18b flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59ae4308 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59bac452 new_inode +EXPORT_SYMBOL vmlinux 0x59d0f756 clkdev_drop +EXPORT_SYMBOL vmlinux 0x59ef5f1e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x59fb9963 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x5a07fd89 inet6_protos +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a14eb5c tcp_child_process +EXPORT_SYMBOL vmlinux 0x5a227995 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x5a2dd0f6 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x5a4475d2 try_module_get +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a462cf6 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a60b950 qm_channel_pool1 +EXPORT_SYMBOL vmlinux 0x5a750bac vfs_mknod +EXPORT_SYMBOL vmlinux 0x5a8211e8 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x5a84b89a security_path_unlink +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a90ceaa sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a956b5b empty_zero_page +EXPORT_SYMBOL vmlinux 0x5a9628f5 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x5a998929 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aae8e2e vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x5acc256b devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x5ae3c4fb __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x5ae53c7c ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x5af2dc10 cpu_hwcaps +EXPORT_SYMBOL vmlinux 0x5b13722b inode_insert5 +EXPORT_SYMBOL vmlinux 0x5b29424e pci_fixup_device +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b393175 follow_down +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b78edc0 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x5b831242 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5b886d19 cdev_device_add +EXPORT_SYMBOL vmlinux 0x5b913d89 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x5b9529fd input_close_device +EXPORT_SYMBOL vmlinux 0x5ba49b18 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x5bbe8f91 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x5bc64eaf input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4e341 nonseekable_open +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bed3f8b param_set_ulong +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c023fc7 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x5c24c905 generic_perform_write +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c4555ef nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x5c5cc709 bio_clone_fast +EXPORT_SYMBOL vmlinux 0x5c79d466 get_tree_single +EXPORT_SYMBOL vmlinux 0x5c80ad44 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x5c81f8df eth_get_headlen +EXPORT_SYMBOL vmlinux 0x5c979aa6 rproc_put +EXPORT_SYMBOL vmlinux 0x5c9ae18f get_task_exe_file +EXPORT_SYMBOL vmlinux 0x5ca402c5 genphy_update_link +EXPORT_SYMBOL vmlinux 0x5cb2f852 deactivate_super +EXPORT_SYMBOL vmlinux 0x5cb45b02 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x5cbac492 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x5ccc855c blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x5cdc9678 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x5ce58715 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cf6cd9a blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d112304 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0x5d14850e con_copy_unimap +EXPORT_SYMBOL vmlinux 0x5d15b903 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x5d3266ab __sk_dst_check +EXPORT_SYMBOL vmlinux 0x5d476296 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d67d8eb ilookup5 +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d7d0735 nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d880e26 of_get_property +EXPORT_SYMBOL vmlinux 0x5dac4cd6 qman_dqrr_set_ithresh +EXPORT_SYMBOL vmlinux 0x5dbcf283 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x5dc7e889 d_tmpfile +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e176266 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x5e1dac04 user_path_create +EXPORT_SYMBOL vmlinux 0x5e1f1ffe dquot_transfer +EXPORT_SYMBOL vmlinux 0x5e3240a0 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e3a2fae irq_to_desc +EXPORT_SYMBOL vmlinux 0x5e4f0f9b scsi_host_put +EXPORT_SYMBOL vmlinux 0x5e5b76f8 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x5e5b9608 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x5e62c595 reuseport_alloc +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e91c694 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9e01fa __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +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 0x5f0df73b mmc_release_host +EXPORT_SYMBOL vmlinux 0x5f2571b3 send_sig +EXPORT_SYMBOL vmlinux 0x5f4a337e mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x5f5649c2 seq_read +EXPORT_SYMBOL vmlinux 0x5f6ab7a8 follow_pfn +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fd3df39 d_lookup +EXPORT_SYMBOL vmlinux 0x5fdbe3cd __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x5ff6bb0e qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601a4b00 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60252dd1 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605aee70 unregister_console +EXPORT_SYMBOL vmlinux 0x605df1f4 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x60603779 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x6069b5c4 ata_link_printk +EXPORT_SYMBOL vmlinux 0x6069c325 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x607eff55 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x608123ab ip6_frag_next +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608ed0d5 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x6092bfb4 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a2ab14 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x60aaeb4b qman_p_irqsource_add +EXPORT_SYMBOL vmlinux 0x60b2f630 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60cb632c tty_unthrottle +EXPORT_SYMBOL vmlinux 0x60d123ff pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x60d493d1 tso_build_data +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60eda113 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x60ee97f8 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x60f6f2df mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x6102b1fe fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0x611dd689 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61411056 mpage_readahead +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615f74af phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x617cfa6e xfrm4_protocol_deregister +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 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c53deb ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x61cb5d90 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e5ce5a of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x61e5ee51 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x62011495 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x6207770d generic_delete_inode +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x624aa681 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x624cde92 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x6258c237 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x6269398e cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x62724098 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62821d72 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62890955 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x629d0dde __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62cac127 vm_event_states +EXPORT_SYMBOL vmlinux 0x62d61aae dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x62d96443 qman_dma_portal +EXPORT_SYMBOL vmlinux 0x62dd5a6b bioset_init +EXPORT_SYMBOL vmlinux 0x62e1d6d4 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x62ec7824 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x6308e875 __destroy_inode +EXPORT_SYMBOL vmlinux 0x630ee867 fs_bio_set +EXPORT_SYMBOL vmlinux 0x6313bda3 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x631534a5 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63237d8c uart_suspend_port +EXPORT_SYMBOL vmlinux 0x6324f9f2 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x63482770 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x635d281a kernel_listen +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x637271f2 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x6381b291 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x639cd4a5 page_mapping +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63a99029 mntput +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c8129d nmi_panic +EXPORT_SYMBOL vmlinux 0x63d6dbd9 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x63e09fc3 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x640660bf tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x642a7f9a serio_close +EXPORT_SYMBOL vmlinux 0x642aa37a flush_signals +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x643e10b9 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x644be12c qman_affine_cpus +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64879401 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x6496a8d9 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x6499482f xfrm_state_free +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649bb588 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64de404f i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x64e6aeec xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6515677a cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x652edc28 mpage_writepages +EXPORT_SYMBOL vmlinux 0x653a76e7 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657f9a83 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65c15a8e free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x65cd42d8 tcf_block_get +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +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 0x65e481f5 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x65e8859a insert_inode_locked +EXPORT_SYMBOL vmlinux 0x6603c6a4 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x66104e39 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x66258a84 sync_filesystem +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x662cc2c6 pci_get_class +EXPORT_SYMBOL vmlinux 0x662de50b tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x662e639d should_remove_suid +EXPORT_SYMBOL vmlinux 0x66380171 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x66428a65 md_handle_request +EXPORT_SYMBOL vmlinux 0x664b1e29 qman_delete_cgr +EXPORT_SYMBOL vmlinux 0x66572008 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6671a3f1 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x66902dac tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x66949069 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x669b05d3 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x66a95547 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x66ad0fa3 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b13d42 inet_listen +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66baa8f3 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66dc0e1b fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x66ee49a0 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x66f5edb9 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x67002dce scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x670f4c9e sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x671f3b9f scsi_block_requests +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x674321c2 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x674c1546 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x6780bec4 neigh_destroy +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678fd7fc mmc_detect_change +EXPORT_SYMBOL vmlinux 0x67a659a6 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67dc7c8c vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x67ff6a55 mii_check_link +EXPORT_SYMBOL vmlinux 0x67fff133 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x68023913 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x68311155 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x683ce857 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x68425f9c qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x684fde9f pci_clear_master +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x685e4b93 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x68650030 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68a3e89e locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68c66115 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x68c87573 write_cache_pages +EXPORT_SYMBOL vmlinux 0x68ce5afc skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x68ebedba pci_write_config_word +EXPORT_SYMBOL vmlinux 0x68f69f2b tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x690b8b87 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x691378b9 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x693a62bc md_write_end +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x694a5dcb mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x6957c91e gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69735d7d ilookup +EXPORT_SYMBOL vmlinux 0x698ff752 vfs_symlink +EXPORT_SYMBOL vmlinux 0x6992628a netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x699f5260 vme_irq_request +EXPORT_SYMBOL vmlinux 0x69a35138 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b341b4 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x69c93e26 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69eaadf3 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x69ef4415 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a101c29 d_find_alias +EXPORT_SYMBOL vmlinux 0x6a3766b2 qman_delete_cgr_safe +EXPORT_SYMBOL vmlinux 0x6a3fee2b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x6a4489a3 fscrypt_ioctl_get_policy +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 0x6a76e205 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x6a76f4ee tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x6a7d3460 keyring_clear +EXPORT_SYMBOL vmlinux 0x6a8911bb devm_memremap +EXPORT_SYMBOL vmlinux 0x6a8b8774 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x6a8f2afb blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x6a9248bb I_BDEV +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa62973 dev_activate +EXPORT_SYMBOL vmlinux 0x6aaf85aa dump_page +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ac8701c sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x6ad6e604 zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae1fae6 param_ops_string +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b01b8de udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x6b13125f genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b293397 arp_xmit +EXPORT_SYMBOL vmlinux 0x6b2941b2 __arch_copy_to_user +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4024b4 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x6b460fbc from_kuid +EXPORT_SYMBOL vmlinux 0x6b4b2933 __ioremap +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5a7393 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6b5bb929 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b649da0 tty_set_operations +EXPORT_SYMBOL vmlinux 0x6b76c9e2 pci_pme_active +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6bb8472b bmap +EXPORT_SYMBOL vmlinux 0x6bc0ebf1 sg_miter_next +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6be16c1b __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6beb32fe bioset_init_from_src +EXPORT_SYMBOL vmlinux 0x6bebb63b input_flush_device +EXPORT_SYMBOL vmlinux 0x6beed274 pci_iomap_range +EXPORT_SYMBOL vmlinux 0x6c03836c nf_log_unset +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c2c13c0 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x6c320e97 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x6c32493c mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c601425 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c813e66 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6ccd7d29 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x6ce4a50c sock_wake_async +EXPORT_SYMBOL vmlinux 0x6ce63b45 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cf62166 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6d0c7c4f dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d6fea80 __bforget +EXPORT_SYMBOL vmlinux 0x6d73c95f logic_outw +EXPORT_SYMBOL vmlinux 0x6d7abe02 first_ec +EXPORT_SYMBOL vmlinux 0x6d7afe8f rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d88d3e1 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x6dad8d9e arp_tbl +EXPORT_SYMBOL vmlinux 0x6db6f9ee pci_enable_device +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 0x6dda3003 fman_reset_mac +EXPORT_SYMBOL vmlinux 0x6de8f078 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e019034 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x6e173f51 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e2ce64e tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x6e3d7837 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e5fc962 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x6e6febf3 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e825a8f fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x6e86c008 input_unregister_device +EXPORT_SYMBOL vmlinux 0x6e8b3ac1 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x6e8e9f7a dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x6e950012 init_net +EXPORT_SYMBOL vmlinux 0x6e9c3165 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea2a5d7 misc_deregister +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec069b3 finalize_exec +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ecf971b mdio_device_free +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6edb368e proc_create +EXPORT_SYMBOL vmlinux 0x6eec5ed8 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x6eef6444 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x6f099a87 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x6f190307 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x6f3dc2f2 proc_create_data +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f45e6ea input_grab_device +EXPORT_SYMBOL vmlinux 0x6f7d0196 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6f922703 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x6f929cb8 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fb95cc4 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fccf125 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x6fd3892a netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdc341d param_ops_ushort +EXPORT_SYMBOL vmlinux 0x6ff28c20 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x6ffd9db4 padata_do_serial +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x700fe757 sk_stream_error +EXPORT_SYMBOL vmlinux 0x701b96e2 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x706b19f8 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x709833c1 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70ae7739 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x70ca9035 elv_rb_add +EXPORT_SYMBOL vmlinux 0x70d1a18e qman_release_pool +EXPORT_SYMBOL vmlinux 0x70e1eda2 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x70ebfaad scm_detach_fds +EXPORT_SYMBOL vmlinux 0x7117b867 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712b9a6d ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x712c173c pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x713ad8cb key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x7141b88a logic_insb +EXPORT_SYMBOL vmlinux 0x71497dd7 inet_frag_find +EXPORT_SYMBOL vmlinux 0x714c4dc2 mr_table_dump +EXPORT_SYMBOL vmlinux 0x71628afd fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ac5435 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x71d47c89 napi_disable +EXPORT_SYMBOL vmlinux 0x71db386a dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x71ebb1b2 inet6_bind +EXPORT_SYMBOL vmlinux 0x71fbf15a kern_unmount_array +EXPORT_SYMBOL vmlinux 0x7209639f udp_seq_stop +EXPORT_SYMBOL vmlinux 0x721695cf dev_close +EXPORT_SYMBOL vmlinux 0x724a20c8 qdisc_reset +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x724e58f3 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x7252ee78 bio_advance +EXPORT_SYMBOL vmlinux 0x72556e3d kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x725bff21 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x726f975c tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72ba9ebe d_invalidate +EXPORT_SYMBOL vmlinux 0x72bfa835 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x72c9176c __nlmsg_put +EXPORT_SYMBOL vmlinux 0x72d0c507 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d423f4 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x72dc7007 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x72e12f6c dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x72e26aca genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73043935 xfrm_policy_byid +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 0x73342fb5 sg_miter_start +EXPORT_SYMBOL vmlinux 0x733bc9b1 setattr_copy +EXPORT_SYMBOL vmlinux 0x73515ed4 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738bfa8e fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b230ab sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x73b42b50 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x73be36aa _dev_info +EXPORT_SYMBOL vmlinux 0x73ebcf43 uart_register_driver +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x743f4126 keygen_port_hashing_init +EXPORT_SYMBOL vmlinux 0x74417e93 pcie_set_mps +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x745b7a25 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x74713490 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7477bd6e mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x74999726 tty_check_change +EXPORT_SYMBOL vmlinux 0x74ad7fed always_delete_dentry +EXPORT_SYMBOL vmlinux 0x74b7ad4f __SetPageMovable +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74e5b763 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f80390 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x74fbb893 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x74fe9676 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x755d3ba9 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x75646dd1 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x756dcfd6 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x757f088f cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +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 0x75dabd5b inet6_del_offload +EXPORT_SYMBOL vmlinux 0x75e832b0 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x75fc2e78 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x7600c8df tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7612637e __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x7616e467 console_start +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7626987e flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x76405fa7 __getblk_gfp +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764f42d9 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x7657fb43 iterate_dir +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x76867fea generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x768b2d1e blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x768c44c5 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x769c355e pci_bus_type +EXPORT_SYMBOL vmlinux 0x769e0fa9 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x769fb69f of_dev_get +EXPORT_SYMBOL vmlinux 0x76a55e84 dquot_alloc +EXPORT_SYMBOL vmlinux 0x76a56d67 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x76bc354c release_pages +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76ee7847 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x7710e97d __free_pages +EXPORT_SYMBOL vmlinux 0x771f473e pci_get_subsys +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 0x774139f4 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x774b71f6 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x77559b51 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x775e6693 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77ab56e8 dup_iter +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e6ef42 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ea2002 of_device_is_available +EXPORT_SYMBOL vmlinux 0x7805dab3 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780a8f34 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x780f66d6 fb_get_mode +EXPORT_SYMBOL vmlinux 0x7818e943 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0x781c4ee6 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78556271 generic_setlease +EXPORT_SYMBOL vmlinux 0x785b44f5 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x786811dd mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788f9fe1 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78c27afa pci_disable_device +EXPORT_SYMBOL vmlinux 0x78c8f208 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x78d6f281 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x78d76487 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x790fc93c scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x7916cb22 par_io_of_config +EXPORT_SYMBOL vmlinux 0x791ada44 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x791dcbd0 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x792368b6 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x793178f1 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x795312d1 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x795a7fb2 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x795dae61 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x795fc3ff blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x795fd122 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79863cc4 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x798e0b63 pci_dev_put +EXPORT_SYMBOL vmlinux 0x799874d5 tcp_conn_request +EXPORT_SYMBOL vmlinux 0x79a14b5b seq_hex_dump +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79b6ef7d generic_write_checks +EXPORT_SYMBOL vmlinux 0x79bb42f3 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x79d9af4f secpath_set +EXPORT_SYMBOL vmlinux 0x79ff8408 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a21f368 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x7a2a7fc0 skb_queue_head +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2c801d sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x7a350dbd vme_bus_type +EXPORT_SYMBOL vmlinux 0x7a3c19ca vmap +EXPORT_SYMBOL vmlinux 0x7a420d89 dma_find_channel +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a5601a0 pci_find_capability +EXPORT_SYMBOL vmlinux 0x7a741a99 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7a924eb3 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac7fe65 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7aea7604 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b09ece8 rtnl_notify +EXPORT_SYMBOL vmlinux 0x7b1dc511 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x7b26d686 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x7b469828 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x7b4da33c _copy_from_iter +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b52973c cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b7b8f1f fget +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b8ccc44 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x7ba18254 misc_register +EXPORT_SYMBOL vmlinux 0x7ba97ca1 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bd0b624 revalidate_disk +EXPORT_SYMBOL vmlinux 0x7bdfb3c6 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x7be7d684 is_subdir +EXPORT_SYMBOL vmlinux 0x7be8075d unix_get_socket +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c182508 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x7c2fab78 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x7c3058cb generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x7c3089f1 __frontswap_load +EXPORT_SYMBOL vmlinux 0x7c3db4a8 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c48fad3 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x7c50737b inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7c544c16 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x7c6c0c49 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x7c8bf40e tty_port_init +EXPORT_SYMBOL vmlinux 0x7c8c3ebf dev_driver_string +EXPORT_SYMBOL vmlinux 0x7c90fe39 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7c9e20bb vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d074626 file_update_time +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11a136 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d1800cb pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7d47a582 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d5ed5fd ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x7d7886fd of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x7d81d13e netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x7d8e225a genlmsg_put +EXPORT_SYMBOL vmlinux 0x7d90f5d7 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db3ac73 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x7db7588b dquot_scan_active +EXPORT_SYMBOL vmlinux 0x7dbced80 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x7dc639fe sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x7dd1c485 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x7de9916e flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x7debf393 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x7dec899b devm_clk_put +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0826e2 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7e0c222f pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x7e10c788 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7e2f9a56 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e670a09 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x7e72a446 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x7e79f719 dma_pool_create +EXPORT_SYMBOL vmlinux 0x7e9f5c88 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x7ea12621 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x7eaa848f block_write_begin +EXPORT_SYMBOL vmlinux 0x7eb559c1 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x7ebab67a phy_init_eee +EXPORT_SYMBOL vmlinux 0x7ebaf621 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x7ec490c8 of_translate_address +EXPORT_SYMBOL vmlinux 0x7ec78bdd rename_lock +EXPORT_SYMBOL vmlinux 0x7ee74a0b get_disk_and_module +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f24a1e6 set_page_dirty +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f30d69c iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x7f33a5ed migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x7f372486 pci_iomap +EXPORT_SYMBOL vmlinux 0x7f3f0d06 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f862812 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x7f88f3db __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x7f8b12e6 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x7f931fc2 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x7f9832f4 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7f9a23b6 d_rehash +EXPORT_SYMBOL vmlinux 0x7fd350e2 input_register_handle +EXPORT_SYMBOL vmlinux 0x7fe105d7 bman_ip_rev +EXPORT_SYMBOL vmlinux 0x7fe2cbeb phy_resume +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff531ba __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x800008a0 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x800e9097 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x80110d35 keyring_search +EXPORT_SYMBOL vmlinux 0x802287b2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x8026188f netlink_net_capable +EXPORT_SYMBOL vmlinux 0x802ac83b tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x802e2575 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x8030bc07 seq_file_path +EXPORT_SYMBOL vmlinux 0x8032c39e pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x806b7f4f dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x8075acbb mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x8078a34b fman_bind +EXPORT_SYMBOL vmlinux 0x8089fbba dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x808a31cd __mdiobus_write +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809cd1fc ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80b9a3b0 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e43820 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x81075416 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x810fd05d unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x813d2e24 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x8182900f genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x8188e4c0 lru_cache_add +EXPORT_SYMBOL vmlinux 0x818d4dfb __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x8193f464 user_revoke +EXPORT_SYMBOL vmlinux 0x81abece3 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x81b395b3 down_interruptible +EXPORT_SYMBOL vmlinux 0x81c07e1c _dev_crit +EXPORT_SYMBOL vmlinux 0x81c7112c __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x81cd0f8a configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x81cdb698 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e3cc7e fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fe0cb4 of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8221f450 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x82268c41 udp_set_csum +EXPORT_SYMBOL vmlinux 0x822e9c9a kill_fasync +EXPORT_SYMBOL vmlinux 0x82353a21 tcp_filter +EXPORT_SYMBOL vmlinux 0x823af321 tty_name +EXPORT_SYMBOL vmlinux 0x823d3505 cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x824d2935 phy_detach +EXPORT_SYMBOL vmlinux 0x825906bc iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x826b3e9c pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x8275c739 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x82767328 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x8277a277 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82985c07 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x82c0dea3 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x82c44292 __lock_buffer +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82cfedfa configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x8306516c scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x8310c805 nd_integrity_init +EXPORT_SYMBOL vmlinux 0x831a2722 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x8338a6e8 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x8344c706 posix_lock_file +EXPORT_SYMBOL vmlinux 0x834aee06 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835b8754 key_invalidate +EXPORT_SYMBOL vmlinux 0x836ec0bb blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x837697d4 clear_inode +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838246bf fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x83858063 skb_clone +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839242c6 prepare_creds +EXPORT_SYMBOL vmlinux 0x839e4aa5 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83c5a8f5 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x83d712cb generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x83e76610 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x840e621f write_one_page +EXPORT_SYMBOL vmlinux 0x841ce8da tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x842ee815 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x845a3a1c cpu_hwcap_keys +EXPORT_SYMBOL vmlinux 0x84654ee6 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x84763a7a input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x847c284a genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x84bb9fd7 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c48074 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x84f30265 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x84fe6a02 kern_path +EXPORT_SYMBOL vmlinux 0x85061428 mmc_request_done +EXPORT_SYMBOL vmlinux 0x851b9121 xudma_dev_get_psil_base +EXPORT_SYMBOL vmlinux 0x851e71f2 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x85237e70 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x853dbd25 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x85532eb1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x8555db2d qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x8565f1f5 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85805952 tty_kref_put +EXPORT_SYMBOL vmlinux 0x858b3fe3 free_iova_mem +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x8597f802 build_skb +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d50730 config_group_init +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e8c34f crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f5618e peernet2id +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x8600154c get_unmapped_area +EXPORT_SYMBOL vmlinux 0x86113bf6 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x86235b0a pci_reenable_device +EXPORT_SYMBOL vmlinux 0x863208e0 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x863850cd scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8667613b of_get_address +EXPORT_SYMBOL vmlinux 0x86820ada no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869323ea security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x86afcd5c dma_cache_sync +EXPORT_SYMBOL vmlinux 0x86b93c55 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x86d2cfd1 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870ec0a9 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x87254de7 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x8754a6ec simple_setattr +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x876d595c key_link +EXPORT_SYMBOL vmlinux 0x87755e64 __close_fd +EXPORT_SYMBOL vmlinux 0x8777527d dump_align +EXPORT_SYMBOL vmlinux 0x8780e9b8 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x87870fa0 registered_fb +EXPORT_SYMBOL vmlinux 0x8789a21c _copy_to_iter +EXPORT_SYMBOL vmlinux 0x8794cac0 param_set_copystring +EXPORT_SYMBOL vmlinux 0x8799dc5f sock_kfree_s +EXPORT_SYMBOL vmlinux 0x879c0eb0 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x879e8d5f phy_print_status +EXPORT_SYMBOL vmlinux 0x87b7bb62 page_readlink +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87b8f98f backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x87d301a2 pci_set_master +EXPORT_SYMBOL vmlinux 0x87d6ed53 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x87eee11f free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x87f13038 input_set_capability +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x881d4fd8 udp6_set_csum +EXPORT_SYMBOL vmlinux 0x882ed138 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x885367fa pcim_iounmap +EXPORT_SYMBOL vmlinux 0x885a3e2c blk_sync_queue +EXPORT_SYMBOL vmlinux 0x886298e3 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x8889a6e4 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x888c04e6 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x8898c242 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x88a24258 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88c9f4ed inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f3da3c register_filesystem +EXPORT_SYMBOL vmlinux 0x89066050 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x891a47ca dquot_initialize +EXPORT_SYMBOL vmlinux 0x8924edd0 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x893685b7 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x8946ea72 fpsimd_context_busy +EXPORT_SYMBOL vmlinux 0x8948627d unregister_filesystem +EXPORT_SYMBOL vmlinux 0x896a9c4a dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x896d11da put_disk +EXPORT_SYMBOL vmlinux 0x897ae6cd blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x897c6137 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x8989d08b lookup_bdev +EXPORT_SYMBOL vmlinux 0x899a074a scsi_remove_target +EXPORT_SYMBOL vmlinux 0x89d7a0ef of_node_put +EXPORT_SYMBOL vmlinux 0x89f528c0 dev_mc_del +EXPORT_SYMBOL vmlinux 0x89f7b076 dst_destroy +EXPORT_SYMBOL vmlinux 0x89fe35b3 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x8a15ca1a dcache_dir_close +EXPORT_SYMBOL vmlinux 0x8a3cf090 PageMovable +EXPORT_SYMBOL vmlinux 0x8a3d3cf9 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x8a429e7d i2c_register_driver +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a54034c param_get_bool +EXPORT_SYMBOL vmlinux 0x8a5b7f08 generic_make_request +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a756847 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x8a799758 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9c9df0 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x8a9e4f6f of_find_property +EXPORT_SYMBOL vmlinux 0x8aa11a26 sk_capable +EXPORT_SYMBOL vmlinux 0x8aa5a5e6 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x8ab57aef remove_arg_zero +EXPORT_SYMBOL vmlinux 0x8ab8c76a vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x8ac136ae imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x8ac2563b mount_single +EXPORT_SYMBOL vmlinux 0x8ac29431 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8adc64ad vfs_iter_read +EXPORT_SYMBOL vmlinux 0x8ae5bd34 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x8aed8c3a dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x8af9715f devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b1a1c6d napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x8b27426b __block_write_full_page +EXPORT_SYMBOL vmlinux 0x8b2ffd83 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x8b3ee838 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b62c4f1 dst_release +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b8b8af1 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x8b8c00a8 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b91f6ec blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8b9efce5 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x8b9f1eca dm_get_device +EXPORT_SYMBOL vmlinux 0x8ba60389 dquot_get_state +EXPORT_SYMBOL vmlinux 0x8baad913 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x8bae2bdd grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x8bae935c pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x8bb0ae2a devm_ioremap +EXPORT_SYMBOL vmlinux 0x8bb13b55 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8bb20140 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x8bbf0761 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x8bd0e027 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x8bd20ff3 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8be3396c skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x8bfa906e input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x8bfafb02 iproc_msi_exit +EXPORT_SYMBOL vmlinux 0x8c1b7b1a xudma_dev_get_tisci_rm +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c3f3360 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca09550 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x8ca3323c skb_find_text +EXPORT_SYMBOL vmlinux 0x8cb544df __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce05225 make_kprojid +EXPORT_SYMBOL vmlinux 0x8cff8da1 param_set_invbool +EXPORT_SYMBOL vmlinux 0x8d1fb070 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x8d30f1b7 skb_ext_add +EXPORT_SYMBOL vmlinux 0x8d3c6bc5 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5c684d dump_emit +EXPORT_SYMBOL vmlinux 0x8d648c98 security_binder_transaction +EXPORT_SYMBOL vmlinux 0x8d6fb537 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d88c5e0 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x8d905392 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8db52b46 update_region +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfe7612 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x8e0f35c8 phy_device_remove +EXPORT_SYMBOL vmlinux 0x8e12d302 skb_push +EXPORT_SYMBOL vmlinux 0x8e14af9f dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e1be9f4 nd_device_register +EXPORT_SYMBOL vmlinux 0x8e1d7a82 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e220c68 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x8e2ea8ec __scm_send +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e6668fc nvm_register +EXPORT_SYMBOL vmlinux 0x8e6ae41a simple_transaction_get +EXPORT_SYMBOL vmlinux 0x8e8d0a88 of_phy_attach +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e95c8bc rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x8ead574e default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x8eaf303b ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x8eb7478a mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x8eb9d9b6 cdev_del +EXPORT_SYMBOL vmlinux 0x8ee81bb8 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x8ef9c0e8 load_nls +EXPORT_SYMBOL vmlinux 0x8ef9dbad xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f026954 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x8f143022 __find_get_block +EXPORT_SYMBOL vmlinux 0x8f1eef24 __check_sticky +EXPORT_SYMBOL vmlinux 0x8f405ed0 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x8f6adcf4 consume_skb +EXPORT_SYMBOL vmlinux 0x8f6e0635 nf_log_set +EXPORT_SYMBOL vmlinux 0x8f8095dd remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x8f83f63e max8925_reg_write +EXPORT_SYMBOL vmlinux 0x8f844759 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8faccbe9 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x8fc9ea11 fman_port_cfg_buf_prefix_content +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fda6a7f __next_node_in +EXPORT_SYMBOL vmlinux 0x8fdd9240 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x8fe4cb1e dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x8fe7eb74 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x90036edd __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x900aaa9b blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x902f5199 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x903e0c47 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x903f8bff skb_queue_purge +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x90652890 touch_atime +EXPORT_SYMBOL vmlinux 0x906a96c0 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x90aa3cf5 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x90b261e7 __inet_hash +EXPORT_SYMBOL vmlinux 0x90c6e8ee mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x90e147ac inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x90e78e5c netdev_info +EXPORT_SYMBOL vmlinux 0x90ff40dd of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x911e2213 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x9120bc33 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x91295cbf dns_query +EXPORT_SYMBOL vmlinux 0x912fde8f security_path_mknod +EXPORT_SYMBOL vmlinux 0x913abce1 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x913bbed7 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x915dea8f pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919d6ab6 locks_delete_block +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91ba4aa1 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91c92497 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x91d1f9ff qman_start_using_portal +EXPORT_SYMBOL vmlinux 0x91e676a0 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f7f89e max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x91fa956c inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x920c8dcb dquot_destroy +EXPORT_SYMBOL vmlinux 0x9216e96e dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924b3e06 genphy_suspend +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x925e646c pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x9266a523 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x9267df6a genphy_loopback +EXPORT_SYMBOL vmlinux 0x926f9979 sock_wfree +EXPORT_SYMBOL vmlinux 0x9276b9b9 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x9280a24b _dev_alert +EXPORT_SYMBOL vmlinux 0x92860b84 devm_request_resource +EXPORT_SYMBOL vmlinux 0x9289f6d3 simple_rmdir +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bf4420 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x92c59ef0 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x92c784e2 vm_insert_page +EXPORT_SYMBOL vmlinux 0x92d6ea37 kern_path_create +EXPORT_SYMBOL vmlinux 0x92deff3d amba_driver_register +EXPORT_SYMBOL vmlinux 0x92e2458d rt_dst_clone +EXPORT_SYMBOL vmlinux 0x92e4f069 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x92e625e1 phy_disconnect +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92efed9b tty_port_hangup +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92fde250 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x931749b2 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x932d533e mr_table_alloc +EXPORT_SYMBOL vmlinux 0x933a0f34 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x933e9ede input_allocate_device +EXPORT_SYMBOL vmlinux 0x934bb8e7 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x9367be7d blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x939a6e95 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93ad0913 current_in_userns +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b7a5c5 set_binfmt +EXPORT_SYMBOL vmlinux 0x93be6e1e flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93e18d2b locks_free_lock +EXPORT_SYMBOL vmlinux 0x93e4c728 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x94049c93 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x940de49a cfb_imageblit +EXPORT_SYMBOL vmlinux 0x941ee23c of_device_register +EXPORT_SYMBOL vmlinux 0x94262407 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942dd4dd bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x94380d23 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x944f3dbd input_open_device +EXPORT_SYMBOL vmlinux 0x94594afe __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x945c9a9f ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x94745b00 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x948cfc8b of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x9499f4cb nlmsg_notify +EXPORT_SYMBOL vmlinux 0x94a90537 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x94adfd7a page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x94af1d39 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94d2a8e9 dquot_commit +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x94fc8d93 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x95134b12 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x9515e002 set_create_files_as +EXPORT_SYMBOL vmlinux 0x95210582 ata_port_printk +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x955fa497 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x95722936 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x957aaf9d of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95b4412a jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x95b73a1a nf_ct_attach +EXPORT_SYMBOL vmlinux 0x95bf7bef ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x95ccca1c inet_getname +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x96044cb3 filp_open +EXPORT_SYMBOL vmlinux 0x9612486a devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x96504303 param_ops_charp +EXPORT_SYMBOL vmlinux 0x9652e760 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x96563049 phy_attach +EXPORT_SYMBOL vmlinux 0x965d9f81 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x96768698 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x967995da seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x967df554 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x9681b658 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9688de8b memstart_addr +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b5f281 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x96b6c6a5 cdrom_release +EXPORT_SYMBOL vmlinux 0x96b6c76b dmam_pool_create +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c8297b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d536db tcf_idr_search +EXPORT_SYMBOL vmlinux 0x96d6a94a devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x96d8dfc8 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x96e46df8 block_truncate_page +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96e5f016 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x96f7df38 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x96f906a5 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9703e90c pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x9704cca3 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x97141bc6 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x9730e197 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x9735e0e8 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x973a1ac3 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x9765e634 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x976b60af md_bitmap_free +EXPORT_SYMBOL vmlinux 0x97721265 brioctl_set +EXPORT_SYMBOL vmlinux 0x97785bfd scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x977f511b __mutex_init +EXPORT_SYMBOL vmlinux 0x978e023c inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a4c3ba try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97ba57f9 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x980c7760 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x980cd11a ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x98291c6b simple_write_end +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x9837c7f1 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x983bd6eb kthread_blkcg +EXPORT_SYMBOL vmlinux 0x984788e6 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x984f46b0 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x9868a1a4 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x986f4baf mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x988bacb4 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x98aa09cc skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x98aa9c17 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c626b7 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d07336 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x98d1d056 padata_free +EXPORT_SYMBOL vmlinux 0x98dcdaa7 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ef90e2 __register_nls +EXPORT_SYMBOL vmlinux 0x98f41937 scsi_print_result +EXPORT_SYMBOL vmlinux 0x98fa57e0 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x990225fe acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x993059f0 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x993b5185 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99527ce2 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x995b892a vc_resize +EXPORT_SYMBOL vmlinux 0x996f93a1 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x9973fea4 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9982e2b7 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x998c8d61 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x999f108e unlock_new_inode +EXPORT_SYMBOL vmlinux 0x99a01736 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x99c41808 arp_send +EXPORT_SYMBOL vmlinux 0x99c464c6 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d7b909 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99eacfaf ps2_drain +EXPORT_SYMBOL vmlinux 0x99f17b0c dquot_drop +EXPORT_SYMBOL vmlinux 0x99fc2108 single_open +EXPORT_SYMBOL vmlinux 0x99fe9920 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x99ff530e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x9a00ac76 pskb_extract +EXPORT_SYMBOL vmlinux 0x9a080870 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2389be sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x9a25ff44 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x9a2b12a5 fsl_ifc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x9a36c9df unlock_buffer +EXPORT_SYMBOL vmlinux 0x9a534dd3 pcim_iomap +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a646a06 input_match_device_id +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a9617b5 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x9aa29cc3 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9acac8de nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x9afba558 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b2d2865 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3a82e5 uart_resume_port +EXPORT_SYMBOL vmlinux 0x9b3f623b of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x9b3fe33d posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b44aba6 do_splice_direct +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4cc435 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x9b5d12bd proc_remove +EXPORT_SYMBOL vmlinux 0x9b63edc9 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x9b6ac475 param_set_bint +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b7ba5fc flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x9baf2227 forget_cached_acl +EXPORT_SYMBOL vmlinux 0x9bb101b9 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x9bece2cf gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x9bf7ba27 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x9c052fe1 set_security_override +EXPORT_SYMBOL vmlinux 0x9c0b33cb udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1c4973 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x9c1d2a51 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x9c1e5bf5 queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x9c21c232 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x9c25b82a ip6_xmit +EXPORT_SYMBOL vmlinux 0x9c324bdb acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x9c3de2d9 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x9c4159cb vfs_rename +EXPORT_SYMBOL vmlinux 0x9c41f867 kern_unmount +EXPORT_SYMBOL vmlinux 0x9c528263 pci_dev_get +EXPORT_SYMBOL vmlinux 0x9c5a517b tcp_init_sock +EXPORT_SYMBOL vmlinux 0x9c5c72f4 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x9c90af21 phy_validate_pause +EXPORT_SYMBOL vmlinux 0x9c935a84 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9ca4ab3b dev_set_group +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cba8c28 serio_rescan +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 0x9ce4a38a put_watch_queue +EXPORT_SYMBOL vmlinux 0x9cf70d7d tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x9cf9ba7e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9d075227 register_netdevice +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d272817 configfs_register_group +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d378d73 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x9d3b1e74 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x9d496eef phy_device_create +EXPORT_SYMBOL vmlinux 0x9d4d7043 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x9d5c4b0c dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d6b9461 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x9d800add cont_write_begin +EXPORT_SYMBOL vmlinux 0x9d815f4a ns_capable +EXPORT_SYMBOL vmlinux 0x9d84dc3d abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x9d911e4d blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9d9fd512 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x9da25d3c mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x9daf4631 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9dc9a291 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x9ddfa93b inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x9de736cc of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x9df21d0e qman_affine_channel +EXPORT_SYMBOL vmlinux 0x9dfe23f2 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13ce6e dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e15f305 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x9e2247ad blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e339d63 generic_writepages +EXPORT_SYMBOL vmlinux 0x9e35f61a xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e54031a ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x9e579281 netif_skb_features +EXPORT_SYMBOL vmlinux 0x9e5e750d node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e626b2f d_make_root +EXPORT_SYMBOL vmlinux 0x9e650782 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x9e6e365c ps2_begin_command +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e924dfa sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x9e97699e pps_register_source +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea37e9c scsi_scan_target +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9ea8df01 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb8ebfa elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x9ebc1552 irq_set_chip +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 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9efd61b0 skb_split +EXPORT_SYMBOL vmlinux 0x9f010c3d find_vma +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f49dcc4 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f5638c2 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f7d7dbb logic_outsw +EXPORT_SYMBOL vmlinux 0x9f7e9bf3 module_refcount +EXPORT_SYMBOL vmlinux 0x9f886dda __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fad65f1 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fb63fdb dec_node_page_state +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe34b32 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x9fe4135e register_key_type +EXPORT_SYMBOL vmlinux 0x9fe9fc69 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffbea3b skb_pull +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa013941c pci_release_region +EXPORT_SYMBOL vmlinux 0xa028ae49 tcp_time_wait +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa0402525 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa054d095 abort_creds +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa0584396 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xa063393a qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa0896a6d inet_del_protocol +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0bee3b8 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0xa0cc9a81 tso_start +EXPORT_SYMBOL vmlinux 0xa0ccd20c md_error +EXPORT_SYMBOL vmlinux 0xa0ccddab xp_dma_map +EXPORT_SYMBOL vmlinux 0xa0cd4964 mdiobus_is_registered_device +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 0xa0f2aed9 bio_put +EXPORT_SYMBOL vmlinux 0xa0f4b145 put_cmsg +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1139e21 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xa119fdb3 vme_new_dma_list +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa127cd3b generic_update_time +EXPORT_SYMBOL vmlinux 0xa133053b pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xa135100a __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xa13720b3 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa13852db of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa13e780a gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa1662304 dev_add_pack +EXPORT_SYMBOL vmlinux 0xa1731c08 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0xa173f330 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xa177da03 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xa17c0734 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xa1873f75 kset_register +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1defa6c devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xa2035ac6 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2152f3e dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xa22c9fec md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xa22e9930 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa2418149 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xa24b9afe __bio_clone_fast +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa2610a59 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa266e350 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2a5356a fiemap_prep +EXPORT_SYMBOL vmlinux 0xa2ce45b0 redraw_screen +EXPORT_SYMBOL vmlinux 0xa2f1d355 skb_put +EXPORT_SYMBOL vmlinux 0xa2f64706 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0xa2f83f77 kobject_get +EXPORT_SYMBOL vmlinux 0xa314ee4e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xa319bce0 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0xa32b22c7 scmd_printk +EXPORT_SYMBOL vmlinux 0xa339e6e5 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xa342e618 get_user_pages +EXPORT_SYMBOL vmlinux 0xa3572124 udp_ioctl +EXPORT_SYMBOL vmlinux 0xa36150cf mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xa378d42b devm_iounmap +EXPORT_SYMBOL vmlinux 0xa38269b4 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xa391c949 generic_permission +EXPORT_SYMBOL vmlinux 0xa39290f9 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xa3b48dee dev_lstats_read +EXPORT_SYMBOL vmlinux 0xa3c52b8c bioset_exit +EXPORT_SYMBOL vmlinux 0xa3ca9fa7 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xa3d98de9 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4082811 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xa40be266 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa41a40e1 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xa4214a7f udp_seq_start +EXPORT_SYMBOL vmlinux 0xa42e154f dev_uc_add +EXPORT_SYMBOL vmlinux 0xa4303f56 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xa4344313 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xa445922a neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xa44726f3 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xa466b94e mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xa47d1159 pipe_lock +EXPORT_SYMBOL vmlinux 0xa4995ca9 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xa4b59db9 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xa4bac6c3 phy_start +EXPORT_SYMBOL vmlinux 0xa4c0be66 seq_release_private +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4eefd7c param_set_bool +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa5158c10 file_open_root +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa54e4366 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xa551b654 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa56bada8 param_get_ulong +EXPORT_SYMBOL vmlinux 0xa58236e3 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xa5850704 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5a3d5f8 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5b5139e rproc_add +EXPORT_SYMBOL vmlinux 0xa5cb0c70 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xa5d70d6e blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xa5e818bb netif_device_attach +EXPORT_SYMBOL vmlinux 0xa5f7cf37 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xa60093e2 vfs_getattr +EXPORT_SYMBOL vmlinux 0xa60661be make_bad_inode +EXPORT_SYMBOL vmlinux 0xa6170ae8 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa62e132c dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xa63cce04 nf_log_register +EXPORT_SYMBOL vmlinux 0xa6409dc5 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xa64640a8 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa689551f watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xa68aeb44 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xa69f82fa tcp_sendpage +EXPORT_SYMBOL vmlinux 0xa6b2c99f page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xa6c4a019 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xa6c80d69 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xa6f4a8bc dev_load +EXPORT_SYMBOL vmlinux 0xa6f77763 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xa7038a52 get_acl +EXPORT_SYMBOL vmlinux 0xa70af9bb blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa718de27 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xa71acc92 fman_port_config +EXPORT_SYMBOL vmlinux 0xa71e716e of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0xa72bd397 register_qdisc +EXPORT_SYMBOL vmlinux 0xa73aa3ac add_random_ready_callback +EXPORT_SYMBOL vmlinux 0xa7471090 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa787a9c4 __d_drop +EXPORT_SYMBOL vmlinux 0xa78b0867 bd_start_claiming +EXPORT_SYMBOL vmlinux 0xa796cbb7 is_nd_pfn +EXPORT_SYMBOL vmlinux 0xa79b7faf of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xa7ad299a sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eb9ffd get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa804da2c page_pool_destroy +EXPORT_SYMBOL vmlinux 0xa807b78d nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa822a32d jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa836614b security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xa838cb93 zpool_register_driver +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa8490292 may_umount_tree +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa852799c generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa85ba37c mmc_command_done +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa872e591 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xa886af97 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xa895898d mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8ec674b vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xa8f27508 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xa8f56a3a skb_copy +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8fa47c1 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xa90b036d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa918acab sget_fc +EXPORT_SYMBOL vmlinux 0xa92583cd xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa9386494 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa9846d9b mmc_retune_release +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa9a5b993 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xa9cfcde5 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xa9da11dd fsync_bdev +EXPORT_SYMBOL vmlinux 0xa9de0470 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xa9ece5d4 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xa9ff7573 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa1c0c3f md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xaa20fe73 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0xaa32aed1 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa600a78 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xaa656a68 phy_get_pause +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa895036 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xaa8b718f xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xaa95f0a9 dev_get_stats +EXPORT_SYMBOL vmlinux 0xaa991d26 inet6_release +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaabd9fef mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xaabddb15 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xaac7c29e ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad5021b iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0xaad5d491 uart_get_baud_rate +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 0xaaeccdff dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xaaf0c87e flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xaaff4a6d kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xab213da1 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xab21a80f of_node_get +EXPORT_SYMBOL vmlinux 0xab25e542 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab5729cc fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xab5eb7c3 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab7a90d9 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xab7c3df0 dquot_release +EXPORT_SYMBOL vmlinux 0xab9b1097 sock_release +EXPORT_SYMBOL vmlinux 0xaba81805 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0xabb5d9a2 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xabcde9c9 dqget +EXPORT_SYMBOL vmlinux 0xabe02e56 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xabe63e97 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0xabed09a8 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xabefdc61 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabfc5fba __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xac01dd97 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xac0c7859 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xac0f5bdc bd_abort_claiming +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac24b8b2 clear_wb_congested +EXPORT_SYMBOL vmlinux 0xac283f81 unpin_user_page +EXPORT_SYMBOL vmlinux 0xac2abcad iommu_get_dma_cookie +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac39f4ae is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0xac4fe9f8 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac6929e7 migrate_page +EXPORT_SYMBOL vmlinux 0xac6e9cca blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0xac6fa364 _dev_emerg +EXPORT_SYMBOL vmlinux 0xac7c2a27 kill_pid +EXPORT_SYMBOL vmlinux 0xac7d7708 mmc_start_request +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac908d8c tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xac9642b0 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xaca5d13e kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacafb02a ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xacc1ff0d qman_volatile_dequeue +EXPORT_SYMBOL vmlinux 0xaccf725e generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xacd08db7 read_cache_page +EXPORT_SYMBOL vmlinux 0xacd715ee xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacedd511 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad3bb4bb cdev_device_del +EXPORT_SYMBOL vmlinux 0xad3ea04c qman_p_irqsource_remove +EXPORT_SYMBOL vmlinux 0xad49e9df filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xad5ab4c1 mnt_set_expiry +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 0xad777a30 dm_io +EXPORT_SYMBOL vmlinux 0xad843c27 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad857185 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xad937cf5 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xad939bcd sock_no_mmap +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xada02384 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xada5d40d tty_unregister_device +EXPORT_SYMBOL vmlinux 0xadb95014 param_get_ullong +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc2b9d9 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadd8f3b3 phy_driver_register +EXPORT_SYMBOL vmlinux 0xade17a43 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0xade62665 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xade72c09 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xadef10f9 pci_get_slot +EXPORT_SYMBOL vmlinux 0xadef4e9b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xadf64213 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xadfe3423 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xae02cbae fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae20f148 free_netdev +EXPORT_SYMBOL vmlinux 0xae29707d dev_uc_flush +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae33c403 xudma_navss_psil_unpair +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae5f0f3b end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xae742bb5 qman_enqueue +EXPORT_SYMBOL vmlinux 0xae783360 nobh_write_end +EXPORT_SYMBOL vmlinux 0xae7e3a35 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xae91a16b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xaea63c46 pci_release_regions +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeb4a569 skb_clone_sk +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaed5b0b9 lease_modify +EXPORT_SYMBOL vmlinux 0xaefc0c0a devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xaf2b0460 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0xaf328316 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf507de1 __arch_copy_from_user +EXPORT_SYMBOL vmlinux 0xaf56600a arm64_use_ng_mappings +EXPORT_SYMBOL vmlinux 0xaf567d0f of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xaf5fed37 node_data +EXPORT_SYMBOL vmlinux 0xaf652000 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xaf6a7aa6 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0xaf6a8d53 setattr_prepare +EXPORT_SYMBOL vmlinux 0xaf715a86 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xaf978c9a pnp_possible_config +EXPORT_SYMBOL vmlinux 0xafa061a6 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xafb1905c xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0xafbcabd5 fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0xaff4ddb9 device_add_disk +EXPORT_SYMBOL vmlinux 0xb0089fb7 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb0384955 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0xb044b92c generic_ro_fops +EXPORT_SYMBOL vmlinux 0xb049fae5 bio_copy_data +EXPORT_SYMBOL vmlinux 0xb0591710 inode_permission +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061a98a mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb08ca3fa vfs_link +EXPORT_SYMBOL vmlinux 0xb08ec52b xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xb08f9b53 rpmh_write_async +EXPORT_SYMBOL vmlinux 0xb09bc1ea neigh_lookup +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0b4f5d2 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0dd43e4 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e388f1 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xb0e844f5 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb106a7fd fasync_helper +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb1137ad1 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb1445117 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb187c102 scsi_partsize +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1b00716 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xb1b8b4d5 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xb1bc66a5 nvm_submit_io +EXPORT_SYMBOL vmlinux 0xb1bd1448 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0xb1c238d6 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cf6480 inet_frags_init +EXPORT_SYMBOL vmlinux 0xb1db9a69 fsl_ifc_find +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb1f71f1e mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0xb20e76d5 fman_get_mem_region +EXPORT_SYMBOL vmlinux 0xb21c9970 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xb2284104 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xb22c58de path_get +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb22fffc3 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xb23728e8 finish_no_open +EXPORT_SYMBOL vmlinux 0xb23c537a pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xb2492533 __frontswap_test +EXPORT_SYMBOL vmlinux 0xb251bea5 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xb259f8ba devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xb25abcda pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xb2680880 ethtool_notify +EXPORT_SYMBOL vmlinux 0xb26a7164 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xb2798552 iov_iter_advance +EXPORT_SYMBOL vmlinux 0xb29ac2e1 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xb2b46177 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2c04aab dev_alloc_name +EXPORT_SYMBOL vmlinux 0xb2d0f5d4 seq_lseek +EXPORT_SYMBOL vmlinux 0xb2e7b135 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xb2ead97c kimage_vaddr +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f4071a fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xb2f901da set_blocksize +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2fe0134 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb315697a pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xb31c1399 generic_read_dir +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb32be2f4 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xb32f507d kernel_getsockname +EXPORT_SYMBOL vmlinux 0xb36689ff ip_frag_next +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb369b85a fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0xb399b7da tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3c10322 __kfree_skb +EXPORT_SYMBOL vmlinux 0xb3c375c5 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3ef2bf5 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb404dab4 ata_dev_printk +EXPORT_SYMBOL vmlinux 0xb40f0a37 rproc_alloc +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42fe68c skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xb433827f acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0xb4382bd7 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xb43ced69 put_fs_context +EXPORT_SYMBOL vmlinux 0xb43e6d0b user_path_at_empty +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb46ab921 give_up_console +EXPORT_SYMBOL vmlinux 0xb47bf7a4 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0xb4819e64 d_exact_alias +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb4b43697 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xb4c69391 __f_setown +EXPORT_SYMBOL vmlinux 0xb4c70f96 check_disk_change +EXPORT_SYMBOL vmlinux 0xb4e9ad08 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb509d2b0 path_nosuid +EXPORT_SYMBOL vmlinux 0xb51b39be blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xb51ee39c page_pool_create +EXPORT_SYMBOL vmlinux 0xb52115be unregister_key_type +EXPORT_SYMBOL vmlinux 0xb523fdd8 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb55beb24 of_find_backlight +EXPORT_SYMBOL vmlinux 0xb55c7798 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xb5613edb config_group_find_item +EXPORT_SYMBOL vmlinux 0xb5679e79 scsi_host_get +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57f1e27 fman_port_disable +EXPORT_SYMBOL vmlinux 0xb57ff610 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xb581d12a sk_dst_check +EXPORT_SYMBOL vmlinux 0xb5838495 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xb58779a9 serio_bus +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb58bca49 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xb5a11681 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c634fd cdev_alloc +EXPORT_SYMBOL vmlinux 0xb5d8ceb9 default_llseek +EXPORT_SYMBOL vmlinux 0xb5d99478 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5e74bbc serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xb60050ef security_inode_init_security +EXPORT_SYMBOL vmlinux 0xb60add4f tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xb6116709 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xb61eb3e4 __phy_resume +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6425a98 tcf_register_action +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb65f89ee mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xb676cd0b qman_create_fq +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67caf65 ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6803b2b pci_scan_slot +EXPORT_SYMBOL vmlinux 0xb6868bb5 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb697ffd7 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6ac729f sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b0286d cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0xb6c378f3 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xb6eb944d tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xb6ef2a03 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xb6f2da34 __frontswap_store +EXPORT_SYMBOL vmlinux 0xb70c9df9 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xb721a3e2 try_to_release_page +EXPORT_SYMBOL vmlinux 0xb7232bb0 vfs_get_super +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb7482457 dquot_file_open +EXPORT_SYMBOL vmlinux 0xb75357c2 put_ipc_ns +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb787388e i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0xb788fb30 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb79ab5dd ip_frag_init +EXPORT_SYMBOL vmlinux 0xb7b8d19d scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7dbf036 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb83a202e __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xb83a3367 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xb83fd9ca bdput +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb855f643 submit_bio_wait +EXPORT_SYMBOL vmlinux 0xb85b70c9 load_nls_default +EXPORT_SYMBOL vmlinux 0xb8605d9c qman_p_static_dequeue_add +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86daf5d commit_creds +EXPORT_SYMBOL vmlinux 0xb870f101 set_posix_acl +EXPORT_SYMBOL vmlinux 0xb88e22c0 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb89e43f2 qman_query_fq_np +EXPORT_SYMBOL vmlinux 0xb8a2fd4d fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xb8a53057 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b0b83d blk_get_request +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8f147ca unregister_quota_format +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91093ba __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb939ecab genl_register_family +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb96bc573 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb975957f of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0xb98f4c47 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9b5b7d2 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xb9bfe8da skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xb9c61501 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xb9c97bbe rproc_del +EXPORT_SYMBOL vmlinux 0xb9d538bf skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb9de0d81 simple_release_fs +EXPORT_SYMBOL vmlinux 0xb9e160e5 xattr_full_name +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xb9fe42d6 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba33722c netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xba390f88 iptun_encaps +EXPORT_SYMBOL vmlinux 0xba41fc55 security_sb_remount +EXPORT_SYMBOL vmlinux 0xba441d21 kset_unregister +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba5ca4f9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xba60642d input_reset_device +EXPORT_SYMBOL vmlinux 0xba6226d8 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xba647d36 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xbad939d3 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0xbadae0a9 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbae7b7c2 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0xbaedb52b dm_put_device +EXPORT_SYMBOL vmlinux 0xbaf4652d page_get_link +EXPORT_SYMBOL vmlinux 0xbaf828ba tcf_block_put +EXPORT_SYMBOL vmlinux 0xbaff279f netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb11cdbf backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0xbb21260e convert_ifc_address +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb257483 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb3b3c77 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xbb42f5fd udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xbb434f7c md_reload_sb +EXPORT_SYMBOL vmlinux 0xbb4ea07f blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb55718f devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xbb65a9db sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xbb687724 bman_new_pool +EXPORT_SYMBOL vmlinux 0xbb6a91a6 register_cdrom +EXPORT_SYMBOL vmlinux 0xbb6e68fc dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xbb70ed83 inet_bind +EXPORT_SYMBOL vmlinux 0xbbbc6b4b pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xbbd7ea0a netif_napi_del +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbc07b4bf of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xbc11b5ec blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xbc182fdb pci_free_irq +EXPORT_SYMBOL vmlinux 0xbc19094f ata_print_version +EXPORT_SYMBOL vmlinux 0xbc1a5f5b i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc27be6c xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xbc31dc93 __bread_gfp +EXPORT_SYMBOL vmlinux 0xbc6bce15 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xbc799161 _dev_warn +EXPORT_SYMBOL vmlinux 0xbc8312fb find_inode_nowait +EXPORT_SYMBOL vmlinux 0xbc85c264 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xbc85d8a6 mdiobus_free +EXPORT_SYMBOL vmlinux 0xbc9caf13 of_device_alloc +EXPORT_SYMBOL vmlinux 0xbca157ab ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xbca47d5e blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcac14fb sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcdd7555 km_policy_expired +EXPORT_SYMBOL vmlinux 0xbce4476c pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xbce7b0ce pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xbd15d3d6 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xbd1d6786 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0xbd2d707f vfs_iter_write +EXPORT_SYMBOL vmlinux 0xbd46224a dev_addr_flush +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd5c3b50 ether_setup +EXPORT_SYMBOL vmlinux 0xbd656694 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd7ca7ff neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xbd7cc9ae vme_dma_list_add +EXPORT_SYMBOL vmlinux 0xbd810467 key_unlink +EXPORT_SYMBOL vmlinux 0xbd884eb9 phy_read_mmd +EXPORT_SYMBOL vmlinux 0xbd99ae1f i2c_verify_client +EXPORT_SYMBOL vmlinux 0xbda081e9 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xbdaca2e2 set_wb_congested +EXPORT_SYMBOL vmlinux 0xbdd262a2 skb_tx_error +EXPORT_SYMBOL vmlinux 0xbdd82a36 submit_bh +EXPORT_SYMBOL vmlinux 0xbddb2ca9 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xbde6bdb0 flush_dcache_page +EXPORT_SYMBOL vmlinux 0xbdf3b321 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0xbdf6958c phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xbe0e04a2 page_mapped +EXPORT_SYMBOL vmlinux 0xbe1a2f78 seq_release +EXPORT_SYMBOL vmlinux 0xbe2cb6dc mmc_register_driver +EXPORT_SYMBOL vmlinux 0xbe357992 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xbe3766dd unmap_mapping_range +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 0xbe74dd21 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbe7e05a8 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xbeaf30fd __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0xbeb6c8e6 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0xbecd2c4d __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xbee6224b fman_get_pause_cfg +EXPORT_SYMBOL vmlinux 0xbef29115 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef86676 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbf09450a devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xbf2632c6 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xbf46eef1 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xbf49252f mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xbf529055 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf62089c scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xbf6e397a __seq_open_private +EXPORT_SYMBOL vmlinux 0xbf8fc24c genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xbf92ab43 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xbf99259d i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfd18c23 bdi_put +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00bc55e tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0xc0230f5b file_remove_privs +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc037404e flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0xc0479651 vme_init_bridge +EXPORT_SYMBOL vmlinux 0xc06ce740 i2c_del_driver +EXPORT_SYMBOL vmlinux 0xc0716ebd devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc080b707 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0xc093ef09 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0daade7 sunxi_sram_release +EXPORT_SYMBOL vmlinux 0xc0e808c0 filemap_fault +EXPORT_SYMBOL vmlinux 0xc0fc4c3b ip_check_defrag +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc11365e6 inet6_add_offload +EXPORT_SYMBOL vmlinux 0xc116dcc7 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc117fc60 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xc13f3bda i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc156c981 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xc1579516 fman_port_enable +EXPORT_SYMBOL vmlinux 0xc15c0c56 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xc162210d crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc164a51c keygen_init +EXPORT_SYMBOL vmlinux 0xc164e3f6 config_item_set_name +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc1821d70 __mdiobus_register +EXPORT_SYMBOL vmlinux 0xc182b21a devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xc18be55d generic_fillattr +EXPORT_SYMBOL vmlinux 0xc1afe89a padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xc1d03f91 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xc1d859af tcp_check_req +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1dc2893 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xc1e2e6a8 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xc2050974 fman_port_get_tstamp +EXPORT_SYMBOL vmlinux 0xc2158427 bh_submit_read +EXPORT_SYMBOL vmlinux 0xc21f1838 simple_lookup +EXPORT_SYMBOL vmlinux 0xc2310cdc logic_inl +EXPORT_SYMBOL vmlinux 0xc23dac0f remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0xc258a082 vfs_fsync +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc26822d1 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xc27d38b1 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a17ebe seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xc2ac51d0 __put_cred +EXPORT_SYMBOL vmlinux 0xc2bcce0e tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xc2be743d fman_unregister_intr +EXPORT_SYMBOL vmlinux 0xc2c9ba28 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc2f6e73e dev_change_flags +EXPORT_SYMBOL vmlinux 0xc2fc0726 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xc2fc4d49 vfs_llseek +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc325ed44 simple_nosetlease +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37e0fea vme_irq_handler +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc3825a61 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc38cca25 drop_super +EXPORT_SYMBOL vmlinux 0xc38d2464 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xc3b0ac4c nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xc3b4834f sk_reset_timer +EXPORT_SYMBOL vmlinux 0xc3c540e6 register_netdev +EXPORT_SYMBOL vmlinux 0xc3d05cb8 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xc3e2cb1e fman_port_get_device +EXPORT_SYMBOL vmlinux 0xc3e78cc3 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc4140a6a security_d_instantiate +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42b12a5 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc42c54aa ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc43282d8 dst_init +EXPORT_SYMBOL vmlinux 0xc44d4cba qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xc457b39f seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xc46343d1 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc48925b9 icmp6_send +EXPORT_SYMBOL vmlinux 0xc48a18f0 nvm_unregister +EXPORT_SYMBOL vmlinux 0xc4945d57 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xc4997a85 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xc49c5b95 fget_raw +EXPORT_SYMBOL vmlinux 0xc4b21d2f qman_get_affine_portal +EXPORT_SYMBOL vmlinux 0xc4c59c4a tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xc4dd784a mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0xc4fd8c92 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xc52725f7 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc56a41e6 vabits_actual +EXPORT_SYMBOL vmlinux 0xc57557d9 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc581243c add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc595027d input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59ca4c9 dma_set_mask +EXPORT_SYMBOL vmlinux 0xc59db801 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xc5a414a2 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xc5b37bad netdev_warn +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5c5cc87 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc5d6a507 clear_nlink +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5ec6ba7 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc6259ee9 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc636a680 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc65eccb7 soft_cursor +EXPORT_SYMBOL vmlinux 0xc65fa07d i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xc66053a7 generic_write_end +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc69ebb02 rpmh_write_batch +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6bc2760 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6db4a09 PDE_DATA +EXPORT_SYMBOL vmlinux 0xc6e5a2d5 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0xc6f40dce tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6fe7026 mdio_driver_register +EXPORT_SYMBOL vmlinux 0xc6ff37c4 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xc7040bf5 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc70b66a7 dev_set_alias +EXPORT_SYMBOL vmlinux 0xc71c0c66 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc73637b4 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xc738ab1a ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xc74df3ea rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xc75914f8 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0xc75ceba1 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc787ba22 pci_release_resource +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79f0f70 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7a848b5 tso_build_hdr +EXPORT_SYMBOL vmlinux 0xc7ada121 udp_prot +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c3e753 netif_rx +EXPORT_SYMBOL vmlinux 0xc7c7b43f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc803ae59 set_device_ro +EXPORT_SYMBOL vmlinux 0xc8072dbb d_splice_alias +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc814d9ca xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc8380346 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc86627de sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc87823d2 ps2_end_command +EXPORT_SYMBOL vmlinux 0xc8795ff3 nd_device_unregister +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc894be98 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xc89846c4 xudma_tchanrt_read +EXPORT_SYMBOL vmlinux 0xc89f564e vme_master_mmap +EXPORT_SYMBOL vmlinux 0xc89feae2 lock_rename +EXPORT_SYMBOL vmlinux 0xc8a18fb9 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8da45f7 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xc8e18c52 release_sock +EXPORT_SYMBOL vmlinux 0xc8e7622c inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0xc8ed927a serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xc91fddf6 phy_device_free +EXPORT_SYMBOL vmlinux 0xc93533f9 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc9453476 kill_anon_super +EXPORT_SYMBOL vmlinux 0xc95680b7 get_super +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc96b15bf generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xc96ffb35 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc98dd5d1 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0xc9919712 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xc9957204 __arch_copy_in_user +EXPORT_SYMBOL vmlinux 0xc9983911 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a5e9d1 md_update_sb +EXPORT_SYMBOL vmlinux 0xc9c8daa2 tcp_seq_next +EXPORT_SYMBOL vmlinux 0xc9d74bc5 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e98a44 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xc9f8453f i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xca089ab1 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xca0976ec kobject_add +EXPORT_SYMBOL vmlinux 0xca0b4265 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca16267d pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca24f63e unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xca3b9e15 netlink_set_err +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca50f36f inet_protos +EXPORT_SYMBOL vmlinux 0xca52fbbb __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xca5a2cda ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xca62afaf xudma_rflow_is_gp +EXPORT_SYMBOL vmlinux 0xca62b191 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xca78b04e rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xca79e002 proto_unregister +EXPORT_SYMBOL vmlinux 0xca7adba3 dev_addr_add +EXPORT_SYMBOL vmlinux 0xca886257 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xca8d531e mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xca8eb2ca phy_attached_info +EXPORT_SYMBOL vmlinux 0xca91ad34 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcaa67f0f alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xcaa9d794 vme_slot_num +EXPORT_SYMBOL vmlinux 0xcac00744 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcae27085 dcb_setapp +EXPORT_SYMBOL vmlinux 0xcaeb47e0 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xcaed5efa mpage_writepage +EXPORT_SYMBOL vmlinux 0xcaefe319 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xcaf142d7 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcaf63508 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb5745a8 pci_find_bus +EXPORT_SYMBOL vmlinux 0xcb5987ef iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb75e40c skb_vlan_push +EXPORT_SYMBOL vmlinux 0xcb7b6201 find_inode_rcu +EXPORT_SYMBOL vmlinux 0xcb98ac1a freeze_bdev +EXPORT_SYMBOL vmlinux 0xcb9c1a07 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xcb9e1a22 acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0xcba3969f inet_stream_ops +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbddb7f4 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xcbef05c1 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xcbf26b8c i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xcbf6b7f6 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xcbf79978 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc0df6ba __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc1e40ef skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc345156 module_put +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc4c8de2 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5b803e tcp_splice_read +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc9596d6 netdev_emerg +EXPORT_SYMBOL vmlinux 0xcc9e006b nd_btt_version +EXPORT_SYMBOL vmlinux 0xcc9eb13a __ClearPageMovable +EXPORT_SYMBOL vmlinux 0xcca4b0e3 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccae97f5 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xccb3df05 seq_vprintf +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccd026d4 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccdfd731 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0xcceb56a6 register_framebuffer +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xccfad94f lookup_positive_unlocked +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 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd29d112 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xcd33007a seq_printf +EXPORT_SYMBOL vmlinux 0xcd417125 serio_interrupt +EXPORT_SYMBOL vmlinux 0xcd5775fe vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xcd58c7fc fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xcd66ed2c inode_init_always +EXPORT_SYMBOL vmlinux 0xcd6f1d9a scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xcd6f56a6 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xcd8388b4 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0xcd8b6dbb bdi_alloc +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcd948edc of_phy_find_device +EXPORT_SYMBOL vmlinux 0xcd988260 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xcd9ddbc1 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xcdb8fb40 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xcdc2c538 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdc8fb69 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdfcf077 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xce036f24 sg_split +EXPORT_SYMBOL vmlinux 0xce14aa88 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0xce1c6ed6 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xce1df0f9 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce392a8a get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xce3f6bc4 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5b013d _dev_notice +EXPORT_SYMBOL vmlinux 0xce5f6f04 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xce6477b2 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce93c319 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0xce9c48ac sync_file_create +EXPORT_SYMBOL vmlinux 0xce9cc6ae __breadahead +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb2c22f d_find_any_alias +EXPORT_SYMBOL vmlinux 0xceb3e5b8 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xceba6daf of_xudma_dev_get +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced1184c set_groups +EXPORT_SYMBOL vmlinux 0xcedc93cc override_creds +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcef7f7ad rproc_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf05e89a sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf31c6ab of_node_name_prefix +EXPORT_SYMBOL vmlinux 0xcf47da89 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf5aec89 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xcf600fd1 blkdev_put +EXPORT_SYMBOL vmlinux 0xcf67cd53 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0xcf6bf2c3 module_layout +EXPORT_SYMBOL vmlinux 0xcf71c83e md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xcf755924 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xcf83d83a __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xcf851da1 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xcf898eaf iov_iter_zero +EXPORT_SYMBOL vmlinux 0xcf8ac429 __module_get +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfb0041c device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xcfb06032 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xcfc3c091 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xcfeb98a8 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xcff33a42 dev_addr_del +EXPORT_SYMBOL vmlinux 0xd00c2903 kill_pgrp +EXPORT_SYMBOL vmlinux 0xd0249266 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd02b24f9 amba_device_unregister +EXPORT_SYMBOL vmlinux 0xd03c9b47 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd0462504 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0561fac pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06872fd pnp_register_driver +EXPORT_SYMBOL vmlinux 0xd06abaf7 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xd0701b5c eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xd0a59467 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xd0a73907 clkdev_add +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b016db eth_type_trans +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0c703e0 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xd0d9150c pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0xd0dc340d sk_net_capable +EXPORT_SYMBOL vmlinux 0xd0f15105 sock_create +EXPORT_SYMBOL vmlinux 0xd0fcca44 dm_put_table_device +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0ff4326 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1751a67 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18ed0e5 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd19f29fd ps2_init +EXPORT_SYMBOL vmlinux 0xd1bdfae5 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1db82b1 mdiobus_write +EXPORT_SYMBOL vmlinux 0xd1dc024d udp_pre_connect +EXPORT_SYMBOL vmlinux 0xd1de80fc bdev_read_only +EXPORT_SYMBOL vmlinux 0xd1e71e45 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xd1f1beaa of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xd2035e74 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd21130b7 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xd2120252 rtc_add_group +EXPORT_SYMBOL vmlinux 0xd21ea704 nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd23241ba vfs_ioctl +EXPORT_SYMBOL vmlinux 0xd233830b tcp_release_cb +EXPORT_SYMBOL vmlinux 0xd237f0b5 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xd2395add mr_dump +EXPORT_SYMBOL vmlinux 0xd2458ee8 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd270bc48 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xd270c971 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2885bb2 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xd28ae8de skb_dump +EXPORT_SYMBOL vmlinux 0xd29accb5 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xd2b1a8cb __napi_schedule +EXPORT_SYMBOL vmlinux 0xd2c19823 do_clone_file_range +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2ccdfc7 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd2d47c3d netif_carrier_on +EXPORT_SYMBOL vmlinux 0xd2d728ba input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xd2d8eb14 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e271c4 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2e7756d scsi_remove_device +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2f2b161 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd2f4efea pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xd3006d0c dev_addr_init +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd323e7e6 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd335d324 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xd3532cb2 open_exec +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3559ef4 __memset +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd364fb80 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xd36bb57c ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37a2e26 dqput +EXPORT_SYMBOL vmlinux 0xd3823773 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xd3888c82 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0xd3a0d1a0 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xd3b2ae0a flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xd3b9cfd4 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0xd3be5d6c netdev_printk +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3fba534 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd40966ee __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xd41b9bfc mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0xd41e4519 tty_hangup +EXPORT_SYMBOL vmlinux 0xd4339de8 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0xd43c2598 ip_do_fragment +EXPORT_SYMBOL vmlinux 0xd44e7c91 napi_get_frags +EXPORT_SYMBOL vmlinux 0xd4599c3a framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48e7c18 vm_mmap +EXPORT_SYMBOL vmlinux 0xd4a69d20 qm_channel_caam +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4cf8e97 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4e375b4 path_has_submounts +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd501bc5e thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0xd5118bc8 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xd5162f8c fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xd51d4ee7 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5307c8b __skb_get_hash +EXPORT_SYMBOL vmlinux 0xd5335562 __mdiobus_read +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd55239e0 bio_uninit +EXPORT_SYMBOL vmlinux 0xd565928e acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xd572d1cd netpoll_print_options +EXPORT_SYMBOL vmlinux 0xd585752b ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xd58f493d gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xd59a8f31 sock_no_connect +EXPORT_SYMBOL vmlinux 0xd5a4377b xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xd5b14416 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5d5306f xp_alloc +EXPORT_SYMBOL vmlinux 0xd5e7b496 eth_header +EXPORT_SYMBOL vmlinux 0xd5f27a52 tty_port_close +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd62b1e45 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd6386380 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd66239a0 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0xd6698ceb uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xd677e7a5 of_get_compatible_child +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd6987dd9 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b39df8 genphy_read_status +EXPORT_SYMBOL vmlinux 0xd6b73e39 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xd6b83361 read_cache_pages +EXPORT_SYMBOL vmlinux 0xd6d4fb46 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xd6d67043 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xd6d8f2c0 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xd6db4220 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fb4239 of_phy_connect +EXPORT_SYMBOL vmlinux 0xd6fb58b5 blk_register_region +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd702ffe5 mntget +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd72e440c inet_frags_fini +EXPORT_SYMBOL vmlinux 0xd73309c1 iov_iter_revert +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd74c1f3f fb_set_suspend +EXPORT_SYMBOL vmlinux 0xd77ce56f tcf_exts_change +EXPORT_SYMBOL vmlinux 0xd7936ef5 rtc_add_groups +EXPORT_SYMBOL vmlinux 0xd79b4684 __close_fd_get_file +EXPORT_SYMBOL vmlinux 0xd79f0f79 input_setup_polling +EXPORT_SYMBOL vmlinux 0xd7bbace9 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xd7cb9342 get_watch_queue +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d729d7 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xd7dc3f4c del_gendisk +EXPORT_SYMBOL vmlinux 0xd7dd48f3 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xd7e451a4 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd811d1e8 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xd8131274 qman_alloc_cgrid_range +EXPORT_SYMBOL vmlinux 0xd818ef76 md_register_thread +EXPORT_SYMBOL vmlinux 0xd8216b56 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xd823e8f8 eth_header_cache +EXPORT_SYMBOL vmlinux 0xd828f063 xudma_tchanrt_write +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd86a13d0 vga_get +EXPORT_SYMBOL vmlinux 0xd86ef5f0 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xd8722ec7 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xd8825187 netlink_capable +EXPORT_SYMBOL vmlinux 0xd8918f9a param_get_byte +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b350cf serio_reconnect +EXPORT_SYMBOL vmlinux 0xd8c862b1 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xd8d57bc6 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8ed1dbb take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xd8f02297 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xd8f53767 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xd8fc0cf7 tty_port_put +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd91d9bbf tty_register_device +EXPORT_SYMBOL vmlinux 0xd92268e2 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd93672bf filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xd9462d5e begin_new_exec +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd958e625 end_page_writeback +EXPORT_SYMBOL vmlinux 0xd95a39d6 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xd95dba24 __devm_request_region +EXPORT_SYMBOL vmlinux 0xd971d2aa xfrm_register_km +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98f10bb datagram_poll +EXPORT_SYMBOL vmlinux 0xd99a6b3a ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9d0236f dget_parent +EXPORT_SYMBOL vmlinux 0xd9d8cb14 param_get_uint +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e8aee7 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xd9ecc080 init_special_inode +EXPORT_SYMBOL vmlinux 0xd9f6b839 nf_log_packet +EXPORT_SYMBOL vmlinux 0xda01ce60 amba_device_register +EXPORT_SYMBOL vmlinux 0xda10443c xudma_tchan_get_id +EXPORT_SYMBOL vmlinux 0xda145562 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xda2cf48f neigh_ifdown +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda5b702f md_write_inc +EXPORT_SYMBOL vmlinux 0xda6be4af poll_initwait +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda7ede99 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xda828642 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda8a350f fifo_set_limit +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaa57ded netif_rx_ni +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdace216a max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xdad3afa6 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xdae72764 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xdaf70548 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xdb024cc4 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xdb037bb5 tso_count_descs +EXPORT_SYMBOL vmlinux 0xdb1365ed phy_advertise_supported +EXPORT_SYMBOL vmlinux 0xdb22f32d tty_port_open +EXPORT_SYMBOL vmlinux 0xdb4334e0 dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xdb485043 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xdb55c076 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xdb55e4d4 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xdb6711de kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6985e2 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb8872b9 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xdb888436 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xdb8af616 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xdbc30e2a security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbdce9ce sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdc0a178c mmc_erase +EXPORT_SYMBOL vmlinux 0xdc111088 inet_put_port +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc165d5e sock_kmalloc +EXPORT_SYMBOL vmlinux 0xdc29c63e security_sk_clone +EXPORT_SYMBOL vmlinux 0xdc2bea2a of_clk_get +EXPORT_SYMBOL vmlinux 0xdc34158f fman_port_init +EXPORT_SYMBOL vmlinux 0xdc399f9a skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc50eed4 notify_change +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc51d2cb nobh_write_begin +EXPORT_SYMBOL vmlinux 0xdc5cfb59 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xdc60211c pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xdc64d068 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xdc67aae6 truncate_setsize +EXPORT_SYMBOL vmlinux 0xdc83782a blackhole_netdev +EXPORT_SYMBOL vmlinux 0xdc8594f4 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xdc8caf4e pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xdca1fefe __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xdca4580b vme_master_request +EXPORT_SYMBOL vmlinux 0xdca8c3d4 logic_outb +EXPORT_SYMBOL vmlinux 0xdcb48ffa iommu_put_dma_cookie +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc19135 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xdd02a192 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd1df985 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd4368cd elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xdd473d7d d_obtain_root +EXPORT_SYMBOL vmlinux 0xdd4bd564 devm_release_resource +EXPORT_SYMBOL vmlinux 0xdd5de8e4 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd68fe3e pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0xdd734f6b sock_pfree +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd77674a security_binder_transfer_file +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 0xdd8fec93 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xdd911578 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddb81481 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xddc1114d simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xddc9ae6b jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xddcb8651 compat_import_iovec +EXPORT_SYMBOL vmlinux 0xddd14c70 rt6_lookup +EXPORT_SYMBOL vmlinux 0xddeb0e87 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde1c1ad7 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xde23cd32 seq_open +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde524acc blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xde69c064 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xde6f2fc8 skb_append +EXPORT_SYMBOL vmlinux 0xde966b84 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xdea08197 vme_lm_request +EXPORT_SYMBOL vmlinux 0xdecfc63c sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded3d0b4 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xded6a415 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xded888a6 _dev_err +EXPORT_SYMBOL vmlinux 0xdedcd296 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xdeded831 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xdee365b0 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0xdef187f8 mdio_device_create +EXPORT_SYMBOL vmlinux 0xdef2f95a mmc_can_discard +EXPORT_SYMBOL vmlinux 0xdef71dc0 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf28ccdc revert_creds +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf377051 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xdf4637c2 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xdf49344a dev_deactivate +EXPORT_SYMBOL vmlinux 0xdf4e92ac inet_gro_receive +EXPORT_SYMBOL vmlinux 0xdf5308c5 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf6257fe locks_copy_lock +EXPORT_SYMBOL vmlinux 0xdf637301 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf7d5204 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xdf83a69c kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfacc647 kobject_del +EXPORT_SYMBOL vmlinux 0xdfb13eac dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdfb14029 down_read_killable +EXPORT_SYMBOL vmlinux 0xdfb71568 phy_suspend +EXPORT_SYMBOL vmlinux 0xdfbc7919 file_path +EXPORT_SYMBOL vmlinux 0xdfbf23ab napi_gro_frags +EXPORT_SYMBOL vmlinux 0xdfc28deb rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfd5cc57 locks_init_lock +EXPORT_SYMBOL vmlinux 0xdfdaed97 dentry_open +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe954e2 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xdff66645 vme_bus_num +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe013c243 padata_free_shell +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe03169d9 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe03b983e set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xe04d10ae ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xe058ecbd inet_add_offload +EXPORT_SYMBOL vmlinux 0xe05d8f63 framebuffer_release +EXPORT_SYMBOL vmlinux 0xe0626e24 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xe06b12fe bio_init +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe0921d1c pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe0adeb6c unpin_user_pages +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0cbd50d pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0xe0dd40fb mmc_of_parse +EXPORT_SYMBOL vmlinux 0xe0dfe1a5 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11b79a0 rproc_boot +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe12fff3a qdisc_put +EXPORT_SYMBOL vmlinux 0xe133a642 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe14682ca __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xe175d7e0 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0xe17b8d0b dev_printk +EXPORT_SYMBOL vmlinux 0xe180f73b scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xe191d975 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xe1966b74 kernel_connect +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1b4f502 dev_get_flags +EXPORT_SYMBOL vmlinux 0xe1c1b4e4 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xe1c29779 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0xe1c998f9 km_query +EXPORT_SYMBOL vmlinux 0xe1d1f203 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e0d4a5 fs_param_is_string +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1f9ef45 inet_gso_segment +EXPORT_SYMBOL vmlinux 0xe1fa8e69 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xe204e09f compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xe207ebdd netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xe208755e phy_attached_print +EXPORT_SYMBOL vmlinux 0xe214e24b xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xe216594a dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xe21c9298 file_modified +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe2288a93 blk_rq_init +EXPORT_SYMBOL vmlinux 0xe22c6a2d unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xe233f07f kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xe2408354 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xe2462267 kernel_write +EXPORT_SYMBOL vmlinux 0xe257ff45 nobh_writepage +EXPORT_SYMBOL vmlinux 0xe268c0ad t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe289ecb5 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xe2c1d62b vme_register_bridge +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2f80ae4 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe3122ee0 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe368baaf __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xe39ed7b4 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xe3a123f6 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xe3a480e0 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe3ac5e08 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xe3bb8962 keyring_alloc +EXPORT_SYMBOL vmlinux 0xe3c754f9 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xe3e6deaf netdev_crit +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe428dd3d finish_open +EXPORT_SYMBOL vmlinux 0xe42ed0b8 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe4357c15 imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe44b187d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xe452a4ec to_nd_btt +EXPORT_SYMBOL vmlinux 0xe45fd575 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xe46a81ef scsi_device_put +EXPORT_SYMBOL vmlinux 0xe46cd111 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xe4850461 freeze_super +EXPORT_SYMBOL vmlinux 0xe48fb994 dev_trans_start +EXPORT_SYMBOL vmlinux 0xe490750e kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xe4b312fa __page_symlink +EXPORT_SYMBOL vmlinux 0xe4b35579 param_ops_int +EXPORT_SYMBOL vmlinux 0xe4bbc1dd kimage_voffset +EXPORT_SYMBOL vmlinux 0xe4bf4d0c inet_gro_complete +EXPORT_SYMBOL vmlinux 0xe4d0028c ihold +EXPORT_SYMBOL vmlinux 0xe4e989a0 register_shrinker +EXPORT_SYMBOL vmlinux 0xe4f0bb57 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xe4f2bb00 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xe4f486ee inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xe4fb3bef jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe525abde jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xe53002d6 param_ops_bint +EXPORT_SYMBOL vmlinux 0xe56863d8 current_time +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe588c5be scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5a62760 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xe5b613de vlan_vid_del +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe60459d8 __alloc_skb +EXPORT_SYMBOL vmlinux 0xe607ad57 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61e4fc6 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xe627c862 cdev_add +EXPORT_SYMBOL vmlinux 0xe640a0a7 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xe647a35c netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xe6763a41 iterate_fd +EXPORT_SYMBOL vmlinux 0xe68aeaed nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0xe68bab23 uart_match_port +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe69dac34 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xe6bc605b blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xe6bcbb9b cred_fscmp +EXPORT_SYMBOL vmlinux 0xe712eb74 register_console +EXPORT_SYMBOL vmlinux 0xe716acbd phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xe721f0d5 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe737ff99 vfs_get_link +EXPORT_SYMBOL vmlinux 0xe73b6a46 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xe7417a8a inode_set_flags +EXPORT_SYMBOL vmlinux 0xe74bffb0 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xe7514337 vme_irq_free +EXPORT_SYMBOL vmlinux 0xe7698027 ioremap_cache +EXPORT_SYMBOL vmlinux 0xe776a47b amba_find_device +EXPORT_SYMBOL vmlinux 0xe77f880d f_setown +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7b0353b __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe7b9bab3 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xe7d3c4c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d6b4ce udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xe7d731bf tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xe7de7dd2 fman_set_mac_active_pause +EXPORT_SYMBOL vmlinux 0xe7e15e0c elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xe8118b16 of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0xe81d504f hmm_range_fault +EXPORT_SYMBOL vmlinux 0xe826bc67 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xe82cfe99 generic_listxattr +EXPORT_SYMBOL vmlinux 0xe83291d2 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xe837e104 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe83b7c5a netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe8604e90 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xe86ebb6c compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xe88984c0 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xe8a373a8 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xe8e208a7 complete_request_key +EXPORT_SYMBOL vmlinux 0xe8ecc7a8 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xe8ee99b7 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xe8f268f1 fman_register_intr +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe90253f0 xudma_rflow_get +EXPORT_SYMBOL vmlinux 0xe9083768 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe94e2bb8 skb_dequeue +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9610529 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xe969eae7 pci_request_region +EXPORT_SYMBOL vmlinux 0xe976f234 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xe9880ce7 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xe990ac2b __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe9a48a75 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9db3c35 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xe9ddcc4d fman_set_mac_max_frame +EXPORT_SYMBOL vmlinux 0xe9e12fbd __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xe9e3c8bc block_write_full_page +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea0121fe __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xea01a9cb vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0xea14eec3 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xea231bdc down_write_killable +EXPORT_SYMBOL vmlinux 0xea24e1ef jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea478ae0 bio_chain +EXPORT_SYMBOL vmlinux 0xea54f186 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xea6c4624 get_fs_type +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea7bdb28 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea9b85de redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xeaa120f4 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0xeaa8fa4b __sb_start_write +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeab78b4b file_ns_capable +EXPORT_SYMBOL vmlinux 0xeac8393f pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xead8c400 bman_get_bpid +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb025ab8 mdio_device_register +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2391c9 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xeb247f01 of_get_pci_address +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb5095be vm_insert_pages +EXPORT_SYMBOL vmlinux 0xeb546b54 sock_efree +EXPORT_SYMBOL vmlinux 0xeb671c64 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xeb7b5d49 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb952300 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeba33052 param_array_ops +EXPORT_SYMBOL vmlinux 0xebaf724c lock_page_memcg +EXPORT_SYMBOL vmlinux 0xebb93c5b kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xebdfed8b iov_iter_discard +EXPORT_SYMBOL vmlinux 0xebfd56eb max8998_read_reg +EXPORT_SYMBOL vmlinux 0xec036391 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xec134a93 d_drop +EXPORT_SYMBOL vmlinux 0xec1eb322 simple_open +EXPORT_SYMBOL vmlinux 0xec237e4f xps_needed +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec370599 fman_set_port_params +EXPORT_SYMBOL vmlinux 0xec372681 seq_read_iter +EXPORT_SYMBOL vmlinux 0xec41716a qman_alloc_fqid_range +EXPORT_SYMBOL vmlinux 0xec4bf62d fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec8374f2 param_set_charp +EXPORT_SYMBOL vmlinux 0xec9bca00 kobject_set_name +EXPORT_SYMBOL vmlinux 0xec9d841e thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xecca936a kernel_read +EXPORT_SYMBOL vmlinux 0xecce2d1f rfkill_alloc +EXPORT_SYMBOL vmlinux 0xecd6ca27 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xecd733a3 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xecdaf01d remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xece24731 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecea27bd xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xecf13da5 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed008bc6 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0xed009b8a qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed02a796 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0xed064aa7 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xed111c64 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed70e0e8 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xed86c481 __sb_end_write +EXPORT_SYMBOL vmlinux 0xed8806f0 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed8e34cb tcp_req_err +EXPORT_SYMBOL vmlinux 0xeda607a3 posix_test_lock +EXPORT_SYMBOL vmlinux 0xedaaba1e nf_log_trace +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc34d7d devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0xedcc867f from_kprojid_munged +EXPORT_SYMBOL vmlinux 0xedd21998 of_device_unregister +EXPORT_SYMBOL vmlinux 0xedeaaeda fman_port_bind +EXPORT_SYMBOL vmlinux 0xedf93706 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0xee03b37a pci_pme_capable +EXPORT_SYMBOL vmlinux 0xee1ec345 vlan_for_each +EXPORT_SYMBOL vmlinux 0xee1ece44 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee564bdf mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xee56a1e0 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6485ea xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0xee76473e compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee877be4 pps_unregister_source +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee9b1b09 param_get_charp +EXPORT_SYMBOL vmlinux 0xeeb514b6 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xeededd4c dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xef15fe59 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xef2ec586 d_path +EXPORT_SYMBOL vmlinux 0xef749cf2 simple_write_begin +EXPORT_SYMBOL vmlinux 0xef7b1b67 sock_rfree +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xef9be8db write_inode_now +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefd63552 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefe92e0f block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xefeec74f follow_up +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf013f729 vfs_statfs +EXPORT_SYMBOL vmlinux 0xf01902fb md_write_start +EXPORT_SYMBOL vmlinux 0xf021b332 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf030a4ad mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xf03703b1 param_set_ushort +EXPORT_SYMBOL vmlinux 0xf0712a36 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf07ccaae mount_bdev +EXPORT_SYMBOL vmlinux 0xf084fd5e set_cached_acl +EXPORT_SYMBOL vmlinux 0xf08b3e78 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0af1705 sock_create_kern +EXPORT_SYMBOL vmlinux 0xf0b2419f cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xf0c27031 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xf0c31381 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xf0c553ec qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xf0d681b8 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xf0e2e0a4 task_work_add +EXPORT_SYMBOL vmlinux 0xf0e98608 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xf0f4d9c4 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf10c5c50 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xf10cc302 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xf11fa40b scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf1218c3e kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xf149aa73 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xf153a844 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xf159d4b8 rpmh_write +EXPORT_SYMBOL vmlinux 0xf15b159b bdi_register +EXPORT_SYMBOL vmlinux 0xf15c4bb8 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xf17f66a0 netdev_update_features +EXPORT_SYMBOL vmlinux 0xf18300ad logic_inb +EXPORT_SYMBOL vmlinux 0xf18c19f3 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a068b3 console_stop +EXPORT_SYMBOL vmlinux 0xf1a3ae63 dcb_getapp +EXPORT_SYMBOL vmlinux 0xf1a5af30 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xf1a6f1f9 fd_install +EXPORT_SYMBOL vmlinux 0xf1ae82f1 __netif_schedule +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d7b813 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0xf1d87c94 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xf1da6931 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1eacd75 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xf21017d9 mutex_trylock +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf22a8d83 profile_pc +EXPORT_SYMBOL vmlinux 0xf22b5a58 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24c0bf4 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf2630613 __skb_ext_del +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf2705d8b ucc_fast_init +EXPORT_SYMBOL vmlinux 0xf2782a24 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29570b5 ip_options_compile +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2a790a6 is_nd_dax +EXPORT_SYMBOL vmlinux 0xf2ae0d65 phy_read_paged +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2c57e27 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xf2dc9ba9 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ef21b2 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2f70c25 qman_fq_fqid +EXPORT_SYMBOL vmlinux 0xf2feaba0 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xf3027e01 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35498fd devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xf356256a blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf35a397d dquot_operations +EXPORT_SYMBOL vmlinux 0xf35ef93f sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xf366e9da inode_needs_sync +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3901e36 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3918522 qman_retire_fq +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3bd5ead napi_gro_receive +EXPORT_SYMBOL vmlinux 0xf3cf663c netdev_pick_tx +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3e8907f netif_device_detach +EXPORT_SYMBOL vmlinux 0xf3f1d405 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xf40a6de2 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xf40c73c7 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xf40e7a73 __xa_alloc +EXPORT_SYMBOL vmlinux 0xf415e384 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xf4234103 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xf4238fb2 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf46aac96 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xf46efff7 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474c58d netlink_ack +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47a8e35 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xf48302fb ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0xf488d3d7 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0xf48f0218 component_match_add_release +EXPORT_SYMBOL vmlinux 0xf4b2b86e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c837f2 sk_alloc +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e252ba pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xf4e271af netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0xf4e2cde0 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xf4ed3a33 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54e2d9d xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xf5542b5d security_inet_conn_established +EXPORT_SYMBOL vmlinux 0xf56e5a4e netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a28343 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xf5aad31e fb_blank +EXPORT_SYMBOL vmlinux 0xf5b0df71 md_done_sync +EXPORT_SYMBOL vmlinux 0xf5cad940 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xf5d3e9f9 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xf5deedc8 vfs_setpos +EXPORT_SYMBOL vmlinux 0xf5dfd413 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e72eb2 seq_open_private +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5e8254a inode_io_list_del +EXPORT_SYMBOL vmlinux 0xf617de74 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf6304db7 pci_request_irq +EXPORT_SYMBOL vmlinux 0xf6390040 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf64ad6e0 elv_rb_find +EXPORT_SYMBOL vmlinux 0xf662023b vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf6772670 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0xf6773818 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf69bacb3 udp_poll +EXPORT_SYMBOL vmlinux 0xf6b7c896 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xf6e44a9d tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f2b14e dm_register_target +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf71736f8 km_report +EXPORT_SYMBOL vmlinux 0xf733e784 no_llseek +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf73b2f14 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xf73f57b1 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xf74150ff param_ops_byte +EXPORT_SYMBOL vmlinux 0xf74d603a netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xf750d7ff address_space_init_once +EXPORT_SYMBOL vmlinux 0xf757fc4f scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf772f737 request_firmware +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf77555cd __memcpy_toio +EXPORT_SYMBOL vmlinux 0xf7c48d5e backlight_device_register +EXPORT_SYMBOL vmlinux 0xf7cb2d1a twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7ea6311 qman_p_poll_dqrr +EXPORT_SYMBOL vmlinux 0xf7f05c17 fman_port_use_kg_hash +EXPORT_SYMBOL vmlinux 0xf7f6ccba configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xf8057b21 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf80ac170 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8182a74 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf83bc842 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf88fff56 kobject_put +EXPORT_SYMBOL vmlinux 0xf895c55b iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8ec24fe disk_stack_limits +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8fd204d is_nd_btt +EXPORT_SYMBOL vmlinux 0xf901e1be input_set_keycode +EXPORT_SYMBOL vmlinux 0xf9038312 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf9184055 phy_device_register +EXPORT_SYMBOL vmlinux 0xf91b89ab fman_sp_build_buffer_struct +EXPORT_SYMBOL vmlinux 0xf9329440 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93e3bda ptp_clock_register +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf9409577 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xf951692b skb_copy_header +EXPORT_SYMBOL vmlinux 0xf95c619b acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf95fdea5 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf972cbe3 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xf9873c4a tcp_prot +EXPORT_SYMBOL vmlinux 0xf99e7db4 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9aa5e73 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xf9b2b60b pid_task +EXPORT_SYMBOL vmlinux 0xf9be3198 param_get_int +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9c2ea94 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xf9c5e377 xfrm_input +EXPORT_SYMBOL vmlinux 0xf9d3badd pci_disable_msix +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xfa03b2b9 ptp_clock_event +EXPORT_SYMBOL vmlinux 0xfa0447a0 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xfa08f4b8 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa417615 get_phy_device +EXPORT_SYMBOL vmlinux 0xfa4d82ec __devm_release_region +EXPORT_SYMBOL vmlinux 0xfa55b6a1 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa671adb done_path_create +EXPORT_SYMBOL vmlinux 0xfa82e299 mpage_readpage +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa89777a param_get_ushort +EXPORT_SYMBOL vmlinux 0xfa9b0f35 __invalidate_device +EXPORT_SYMBOL vmlinux 0xfaa71b13 tty_do_resize +EXPORT_SYMBOL vmlinux 0xfaa993fb shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfad6fe14 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xfaf968bd tcp_connect +EXPORT_SYMBOL vmlinux 0xfafcca39 stream_open +EXPORT_SYMBOL vmlinux 0xfb02c77c inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xfb1172b1 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xfb309862 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0xfb321575 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xfb382046 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb390f6d d_genocide +EXPORT_SYMBOL vmlinux 0xfb3ef3dd __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xfb3f1d65 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb65f74c xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb746cc9 down_killable +EXPORT_SYMBOL vmlinux 0xfb8ddb29 dump_skip +EXPORT_SYMBOL vmlinux 0xfba28306 pci_get_device +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaa962e pcie_get_mps +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbbeccf cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd4b6de mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xfbd7c956 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xfbd8e77a sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xfbe4b175 qman_create_cgr +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbf200af fman_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0xfbfe0e86 ucc_fast_free +EXPORT_SYMBOL vmlinux 0xfc0f3319 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0xfc114381 mount_subtree +EXPORT_SYMBOL vmlinux 0xfc145bce pci_choose_state +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc3a6d4c alloc_anon_inode +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc4498c0 page_pool_put_page +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc5c46e2 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0xfc7e2596 down_trylock +EXPORT_SYMBOL vmlinux 0xfc881b89 fman_port_get_hash_result_offset +EXPORT_SYMBOL vmlinux 0xfcb36fc3 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xfcb3cb9d crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc70be1 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcd8093c netdev_features_change +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcedc35e dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xfcf9f595 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xfd0129fe pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xfd06cb4f of_match_device +EXPORT_SYMBOL vmlinux 0xfd1db2f3 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xfd259d0a key_alloc +EXPORT_SYMBOL vmlinux 0xfd3e3130 fs_lookup_param +EXPORT_SYMBOL vmlinux 0xfd4018fa sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xfd5058ad file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xfd787aa9 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xfd7ac9f0 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0xfd88ee09 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xfda6e384 pnp_is_active +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdad752d scsi_dma_map +EXPORT_SYMBOL vmlinux 0xfdc1f8c2 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xfdc75a6a dquot_resume +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcbf148 pnp_device_detach +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfddd2bc8 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xfde684dd free_task +EXPORT_SYMBOL vmlinux 0xfdedf183 skb_trim +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfdfa367e fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe07c7bc nf_reinject +EXPORT_SYMBOL vmlinux 0xfe17cfa3 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe3025b8 sock_no_bind +EXPORT_SYMBOL vmlinux 0xfe439243 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5c8bce tcp_mmap +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfe9f73be locks_copy_conflock +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfeb5d52d __udp_disconnect +EXPORT_SYMBOL vmlinux 0xfeb62888 arp_create +EXPORT_SYMBOL vmlinux 0xfec36f9a bprm_change_interp +EXPORT_SYMBOL vmlinux 0xfec50abe ping_prot +EXPORT_SYMBOL vmlinux 0xfed90ca5 zap_page_range +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeee769e md_cluster_ops +EXPORT_SYMBOL vmlinux 0xfef81d4a input_set_timestamp +EXPORT_SYMBOL vmlinux 0xfef9fedc mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff2f4a48 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xff369625 inc_nlink +EXPORT_SYMBOL vmlinux 0xff3bff8b neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xff44f5c3 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xff4a35fc udplite_prot +EXPORT_SYMBOL vmlinux 0xff5d99f9 configfs_depend_item +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff728327 input_release_device +EXPORT_SYMBOL vmlinux 0xff78d304 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xff7995ca d_add_ci +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff968eda eth_validate_addr +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffb685ed xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffc1c357 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0xffe1ef01 phy_connect +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff3461f register_quota_format +EXPORT_SYMBOL_GPL crypto/af_alg 0x004419e6 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x03303ee7 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x07e7e821 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x0db35485 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x247a8d4d af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x450d8e62 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x549b997d af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x59d651d1 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5cb85d0c af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x7c811fb3 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xacdae10c af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xc5c3532f af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xd45bcf81 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xd98af582 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0xdac7b673 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xde29d2f8 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xe4193aa8 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xe9a18721 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x1369816c asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xf9c6f615 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa4e00846 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xd26f291d async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x778dc570 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xae985c89 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7180a508 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xa1701b74 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xa9e7202b async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe5d53c97 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x9ea73d1e async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xcd707e47 async_xor_val +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xdc8dee13 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x235b348e 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 0x50bed3e6 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 0x0bdc3306 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x1e38faf5 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x23173481 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x26463d20 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x4be551a8 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x5275f3f3 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x557931a6 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x70569bc4 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x74ea5ee6 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x87d4bd03 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x8cbcc4ee cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x9ec63ac2 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xafa50687 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0e962f40 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x40b90ada crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x61e30130 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6dee6245 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x849ccbee crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x87d7aaa2 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb7636d81 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xbc92e4c1 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xcccca021 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd394ae68 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xddcbb14b crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xeea7dbfe crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xefff2667 crypto_finalize_hash_request +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 0xc1d905ad simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xdaeaa398 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xdd31686a simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xf662f396 simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x3959a1db 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x1b2e4ed8 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x85490bd9 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x8b46cf4c crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0x720547b4 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x45176c4d acpi_nfit_desc_init +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 0x50b998ff acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x9fe290a0 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xe85522ae __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xfa164633 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x28a36fac __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x74ca0060 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x3f7d5210 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x04f6d6d4 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x9cd31554 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x9ba4720c __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xa7eea1f5 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x46feadf6 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x83d67c5b __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x6e2a8d55 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x876b07de __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x9219e41a __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xe89aff38 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x67bfb8c1 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xeb087e6f __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x08cf240b bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x18d42b01 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x190a3aa6 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1aebd293 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x474e48df bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x496591ce bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x526f6627 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5570bbfc bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7267d003 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7adb13ec bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x80e4a4da bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8950e73e bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8c713e16 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8fc89094 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x95940e64 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x990b7bbf bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9add9750 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa87f6f1c bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa97d3417 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xae9d2435 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb6841212 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd88ee241 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdd9cb715 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe9b9e299 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x32d2f5dc btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x548ec0ed btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x95e09f95 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xaa8915d2 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xcbd53204 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xe756f2d6 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xe87e65cb btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xfc86344a btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x02d2a686 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x110cc80c btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x371f7f62 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3985d8a8 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4007ac45 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5783c3ed btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x581a6f89 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5839fa3a btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x61a8f083 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x85880e22 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x865759f8 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8c67dadf btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8f3ffa9d btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9b0f92af btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9fc06862 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa422bab9 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc117df8d btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcc1ef255 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x002e88e6 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x06ef5816 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x07675dd6 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2151ff43 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x272c70d1 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2f62ad47 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5f3b2df8 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6a836106 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8852d880 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb5d8bd78 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf626d78b btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x07e64438 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x19d3de2a qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x39f2ec5a qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x52813605 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xff27c1c9 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x161223b5 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x24c91bf2 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x4bc69bee btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x6b01f69c btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xd9ef50cd btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x48a3bacd h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x69f0a1db hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x73a57212 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x98adac5d hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0dc63a53 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x17fe923d mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1f343a71 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2594c22d mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2b537c11 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2d000f78 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3aea729d mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4ce6bbdf mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6061a594 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6ec3b316 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x71df8c84 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7773ed03 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7f24565c mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x807440d7 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x841504c2 mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x90a3f504 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbea57ffa mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd134e49c __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd2ffe24a mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd75839cf mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xea98570c mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xf426d671 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x1b8b9a40 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x87be0417 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x8c102517 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xaa0e8d9c moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x5e68b79b __devm_regmap_init_sunxi_rsb +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x60997dba sunxi_rsb_driver_register +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x259c6a72 meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x875b274f meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0xce28c471 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 0x06d0c83c qcom_cc_register_board_clk +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 0x1987883d clk_alpha_pll_fixed_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_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 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 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 0x6eeb9c92 qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6f351870 qcom_cc_really_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 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8a3826b4 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8c0ca467 devm_clk_register_regmap +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 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 0x9e33f365 clk_trion_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xa6f08f9a clk_trion_fixed_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xadc2751b clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xb09ba7ac qcom_find_src_index +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 0xce340fb8 clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xdc014e02 qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe5c78183 qcom_cc_map +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 0xec88bfe0 clk_lucid_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xf6e38599 qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x096aa17b sprd_div_helper_recalc_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x0a3ec278 sprd_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x14212841 sprd_div_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x1ca519ca sprd_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x4cad4f51 sprd_div_helper_round_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x4f93d75f sprd_mux_helper_get_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x597905e4 sprd_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x6b8639b9 sprd_div_helper_set_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x911aa4a0 sprd_mux_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x94781ca3 sprd_clk_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x9925914a sprd_mux_helper_set_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xaf833f64 sprd_pll_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xe305cb73 sprd_comp_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xee5a235c sprd_clk_regmap_init +EXPORT_SYMBOL_GPL drivers/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x26ce16b3 counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3e85c9a7 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x5f30d25f counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa02995c6 counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa4d12412 devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa8b025d6 counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb501492e counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb7276dd3 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xde7df606 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe069842d counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe22aa2ef counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe56a9368 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xeb5f4e04 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +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 0xd2dcd46f ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x05c36ee8 hisi_acc_free_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1e8d2d46 hisi_qm_get_free_qp_num +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2254b4ae hisi_qm_get_vft +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2350f3f4 hisi_acc_sg_buf_map_to_hw_sgl +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x29d38761 hisi_qm_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2aa7a7e8 hisi_acc_sg_buf_unmap +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2ece2444 hisi_qm_free_qps +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x32f8286d hisi_qm_debug_regs_clear +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x38088bbf hisi_qm_start +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x392fe09d hisi_qm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x40f5105b hisi_qm_reset_prepare +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x46abb131 hisi_qp_send +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4c4c1a32 hisi_qm_release_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4cef0a8e hisi_qm_dev_slot_reset +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4e3180ea hisi_qm_dev_err_detected +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4f0ff560 hisi_qm_debug_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5e74dcb6 hisi_qm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x66dcb6b6 hisi_qm_sriov_enable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6828029d hisi_qm_stop +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6ad4fbf5 hisi_qm_sriov_disable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6e286d08 hisi_acc_create_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9a2d66a9 hisi_qm_stop_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa3887ef4 hisi_qm_alloc_qps_node +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa834b3ba hisi_qm_create_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa8420533 hisi_qm_dev_err_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xbe55ee02 hisi_qm_start_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd2df2c93 hisi_qm_reset_done +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf9e0d859 hisi_qm_dev_err_uninit +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 0xd5a8f8e0 otx_cpt_eng_grp_has_eng_type +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xf493dbef dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dax/pmem/dax_pmem_core 0xa427be5e __dax_pmem_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xa45237c0 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xe3dbff30 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x06e878af dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4329210d idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x57b0fb4c dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x603122b1 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x713ad318 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7245f71f do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x95441ce8 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x282f40e9 dpdmai_get_tx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x28a26f8c dpdmai_open +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x3c562b0e dpdmai_disable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x3c9b4683 dpdmai_get_attributes +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x8a253e3a dpdmai_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xc4fa40ef dpdmai_destroy +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xc90efe9d dpdmai_close +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xe68f69c8 dpdmai_get_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xf72aeb36 dpdmai_reset +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xf84b6026 dpdmai_set_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x09b296be fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x13661130 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1794a729 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1b56e904 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x27f1c35e fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x3c6061b2 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x48cc7b20 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4d9b8f1d fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4ddaa48a fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x5697a716 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x59433703 fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x81963589 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x8e671c5d fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xa6e82925 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xdb20d90f fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe2cb0560 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x4a06d3e3 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xf493047f hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0xe651c519 get_scpi_ops +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/firmware/stratix10-svc 0xd465c42c stratix10_svc_request_channel_byname +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x1b42f7c8 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xaa09228b alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x02f6662c dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x385bfc06 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3c74fa48 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x478f64e3 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x577bc5d0 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x61a26ae0 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7d5952bf dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x83bdbc2b dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x88449041 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x88c7da55 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8b7266d6 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8daba2e3 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9a959ccb dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb09a50ad dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xbfe7cdce dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd4396b90 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xef922545 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf37c8524 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfd650239 dfl_fpga_dev_feature_uinit +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 0x21a72282 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x265f4b78 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x40fb4584 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5baabf04 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x65926261 fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9f6d6d4f fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa3001cf6 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xab6420ab fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb65b5810 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc8eebe9d fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcc4ebbb1 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe051fd1d fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x171e5fa6 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x384c806d fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x52429c24 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x72b0d088 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9f595d25 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa3ecdc4b fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa624d3ad fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc815d05d fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd9a6685f of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe52c908f fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe5cef268 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xfb0810b3 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xfc4d7183 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x15b3acd3 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x42c939ed fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x6b541425 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7882a416 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x94a96f39 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x9aff52f2 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc8a43a7e fpga_region_create +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x06bb1140 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0e08054b fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x280b0fff fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2f9fc108 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4f0d22ed fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5251b063 fsi_master_rescan +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 0x7bcfe211 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x8e0e0d79 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 0xe2c4b89d fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe3815c7f fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x9f88c11b fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xc8a7945f sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xf467b303 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x321fb20d gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x3ecaf06c gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x614feefc gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xdfb9d64e gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe3dea097 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x1f7bb52e gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x22cfb094 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x48169edb gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x5bce942c gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xb3ddbb27 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x777dd81e __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf17c33a5 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x27665c10 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x34fc4e96 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3a210ed3 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 0x5d91d15a analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x97c94ee4 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xa05a5ebe analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xd180c89b analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xfbac849b 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 0x157e02b6 dw_hdmi_phy_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x29c2af59 dw_hdmi_set_plugged_cb +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 0x534f8d6a dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x65d30586 dw_hdmi_probe +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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x9b44a60b dw_hdmi_phy_gen2_pddq +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-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x2324e600 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/bridge/synopsys/dw-mipi-dsi 0x731acf99 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0fba590e drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1171f5c3 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1507f61f drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1bfa3f4c drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x241c2d9c drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2500ffd9 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2c4f8fe5 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3052744a drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3112c39c drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3314b593 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x334b11fe drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x357a92ca drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x35958c4e drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x372e18fd drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4458177a drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x44d9cb25 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x49d6843f drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4bc8be95 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4c1c3fed drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x533928b3 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5c071cc6 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5c83fe69 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x61585274 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x72e7dc87 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x73aff8b2 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x761b3e1b drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8060518b drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x895d66e0 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9a4ecea2 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9e1dc9fa drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad626f23 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb9a56187 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbbe6bbdb drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd6e22e2b of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd75a1372 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe043ee26 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf230fde2 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x082e5744 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0f88e406 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x25218644 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4c5c226c drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x62be32f5 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x689951c1 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6bd81522 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6ccffa7b drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fd235d5 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb404afe8 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe8ee3d56 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf958aeb1 drm_bridge_connector_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 0x33694d18 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x6b5e4de1 meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xa6fae725 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xab5bee2f meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xedbf5c16 meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xfd34888c meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x0818ea7e pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x253da1db rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x60b106b8 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xabb5f43f rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xd6f0abde rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x4cf4fc90 rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x94f07f08 rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x9755e2a1 rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x4bc48d4d rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xf240f53f vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x22c27c2d ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x486b4897 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x9089999e ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00639cd8 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x01b7784b gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0442541b __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x08e9301d gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0fecd570 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x128bef3e gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x12f94214 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1d47ba62 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1ec57889 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2351baa9 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x319a437c gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d52d107 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3ef75a08 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x49720c2a gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4fd0b64c gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5195b9fe gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5a03c09d gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x618a76ef greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x62831f70 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6662aa49 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x669b54e4 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6a7f287d gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7cd4e69d greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7de41fc2 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81c422a7 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x87769781 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8c74c398 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x94fbbe85 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa4f4a816 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa9779db5 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xaa8e1f2a gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb80c75ed gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc397c10a __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc8107ab8 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcb8c92cd __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd290157b gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdb6a8758 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdf449717 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe019b0a6 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe5f754a8 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xef5d1994 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf9cb7924 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfd85e14a gb_hd_del +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0b16b449 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1dee2d28 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23a4f9a2 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x318ebb8c hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x35008de5 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x370630e6 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x49e1ea27 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4a71b28a hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52e7ebc3 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x552ebc6d hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x58af8b61 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x592e6505 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6302d054 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x63ce5840 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6828ddb8 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6b1fa2be hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6ee02a0b hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x82555f53 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8784e975 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x998b2eab hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9eb1e0cd hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa029ddfa hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa09f3d8a hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa87a2859 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa8dd2f56 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xadba2bbf hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb0d68cb4 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb2bfbf7f hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb77aa518 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbf133043 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbfe4f71c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6e4dc64 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd3cc4b21 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdbfce188 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdcc983e9 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe16c067c hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3a8b98e hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xebc01868 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xed6a272e __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf00fd0d1 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf3159f25 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfb1c0715 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfec2da8a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfff0af3a hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x39ad7440 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x12b547c1 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x671bcabf roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x758251b0 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x9765631b roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc2e26efe roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xf758cec1 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2b396737 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2ea2c251 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x9847f343 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x9a51b244 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xab2c3fe6 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb918f9ba sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xbbafea34 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd4175d3a sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xfdda5b83 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x988dbd15 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x1fd3cc3f uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x241b1f4a usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa8681545 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x01a01804 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0728369a hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3642c2a6 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3c6935ae hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3da38711 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3f83d29c hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x41835603 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x42cf542d hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x86be02d1 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8b38c6f8 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8d876dd0 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x911978da hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9389f26d hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb1f2a47a hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc2950404 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe4736c4d hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xec269ff3 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfe2803a2 hsi_event +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x967340d7 adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xa7fd7619 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xdbdf3d7b adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x8f26085c ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x19250ddc pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x30a3c6a8 pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3fd9b4a9 pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x455a25ff pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x4658f721 pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x6a5f4d01 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x829d4ef2 pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa8591cba pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb4321d2e pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb78689fe pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc8bdfce5 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xcadfa69e pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xdef02c0d pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xeb6508e8 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf012402f pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf157a7f0 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf567bfb3 pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf6e7a64c pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xfe9ec31b pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x2d2e119b intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x56631113 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x60ed6a28 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x65f562b7 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x92404225 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x97a794b1 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xaadc36b4 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xbef7d845 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe99d5d85 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xa213662b intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xec0c7b40 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xed7e8fa9 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3f290006 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x44b66a1d stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x698ba7bd stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x70345fab stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x71818af3 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x75d86fbe stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x9490f15a stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x9eb6ebd8 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa464b7bb stm_source_write +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x13e4ec67 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1c9f9eda i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x202f18b7 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xc957d42e i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x2442fa92 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x485983f2 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x02ddff41 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x11eb9113 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x12d8db2f i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1af43d5f i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x25582c04 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3a6e8ff9 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x43985590 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4cb09ab2 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x662dd5e4 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7716c3ec i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7b399381 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x83aa01cd i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8d3c6e90 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x998efd4d i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x99b1c1fc i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa60c08ba i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xab397a78 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xac65d847 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb0748258 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb6a8de5c i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbe9b94f9 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbec186ac i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xeeb2d0a4 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf985d881 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfc7fee1f i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x2260de57 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x51902419 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x152c4bb0 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x9ebbf0b4 bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xb46651c6 bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xc2cc7a4f bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x54cec7eb mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xc39c00de mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xecfb88b1 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xc2a44552 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xcbceca41 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x50a8ccc4 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x5ff47c2e ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x2839899f ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5622ecbe ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x62ffee90 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x7f62285a ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x891d6941 ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x94c2be0e ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x9ee1a96b ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb494ff7e ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xe273dbb0 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xea64c52c ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xfc5939f8 ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x1367f5da devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x7c1db3cc adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x0d13b2f0 iio_channel_get_all_cb +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 0x5600db4d iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7ebdae76 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x15da1d53 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1ab2884f iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x55a4b315 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x67d562ba iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7404a319 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x82903100 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x86eb750c iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x8fbc3cac iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x9c5d28f3 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xa2e0fda7 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe49e485c iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe619b453 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x15b90621 devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x5f634f1d iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x1b60b0fa 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 0xaf21f63e 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 0xf8b1ad3e devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0xfbb7e3da bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x301cfebf cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x31405a2b cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x51ee63a9 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x717aa72c cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9010b301 cros_ec_sensors_read_cmd +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 0xa583003a cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xad10a19a cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xae420b49 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd7d0136b cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x5e5f83fa ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x771587e9 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x36edc5cf ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xcfb3b506 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x1a0d909c bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa3da8a4d bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xb933fc2f bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x65c538c9 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xd32d5a9b fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xedec8f33 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5492e473 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x783d105e __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7c872056 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x89cd25df __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x923c4222 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x9acce8ce __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa306fbd4 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xae22762d adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb403f999 adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xecb370dc devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xf09e6670 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xf7620bb1 adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xfbe54bd6 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xfed3f093 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xfeff738c devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x30442fc6 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x30cfea22 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x74520451 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xd502c57b inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x18348507 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1c610d19 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ebbd25 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2a413ec7 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3cc64f1b iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3df81bab __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3f544a60 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x42fd12a0 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x44029170 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x458c4faa devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4d13ee68 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f38f4d4 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5e480201 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x615520c1 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6b345fe6 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6c278401 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x73214d81 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x749c7116 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7d6e77a8 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e121d47 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x924f92ce iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9391ac50 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9905295c iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9b52162c iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9eac9c38 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa442a18f iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xaece1bdf iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2312ead iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbb2f74d9 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe1cc77f iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbfd22cf6 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8b14ee6 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8bb8592 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd16736ed iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd88c5b53 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe9ee54f9 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf41b80d0 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfc04740c iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfe94afb1 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff2f4a37 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff6cc6c9 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff8c516b iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xffbc4186 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x97a7c11a rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0xee7addce mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x09431268 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x2675ccf6 zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x3519e697 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x4fabfab4 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xd11a1ef0 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xee230e94 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x150ce2f4 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x161bf090 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x37e789fa rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4ab1559c rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x62c1ded5 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x64b10d49 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x76637fd1 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb0e921fa rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb499c83d rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc1b60078 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc9e2ec37 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe5c8ba43 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf0833b0b rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xe637b796 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xd717025b matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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 0xee57d7f0 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x12eb089a rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6367513a rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x692797e3 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6f83bfd8 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x8e406bdb rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9d4e8f95 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa1c1db16 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xaecb93f0 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xce353740 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xeafe9dac rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf52e9888 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf67a7755 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xfe647547 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x557585b4 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x822faebb cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xe4544565 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x32a52ddf cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x910aabeb cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x63a46847 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xce6e988a cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x128da37d tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x3142e472 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x359d0921 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xc32e5c55 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x12ff2dfd wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2981cf6a wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x60f73ba0 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x927c5e9f wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x97a6eef1 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc3eb3039 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc8a90e10 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcd00cda6 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xde552d63 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe91ff2bd wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfd541229 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfe8fed7a wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x19867ed4 imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0xbb6af93c imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x1793fc35 of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x2914cec7 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x11cfaadd qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x2e97b852 qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfddd05ab qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfdeaf04c qcom_icc_bcm_init +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 0x0bb60b9b ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3145e917 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x41b6f150 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x4c7f9ba8 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x95ca5016 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbe2a9dda ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xcaff3588 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdc2e512e ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdc9327ca ipack_get_device +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x32197ca6 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x728e5e1e led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa650d602 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xb32efab6 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xceb586a9 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdace3a08 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdeacd744 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xef011b5e devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x2a1fa6fa lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x324e76ad lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x38650762 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6e1b1176 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x706d8a6b lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x739b8120 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x74be1f0d lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xae9f6be9 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xce185ba4 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf79f02fd lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xfa07db38 lp55xx_is_extclk_used +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 0x15b97715 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19b88bec __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2307b422 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b46c4b6 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b793afb __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2fbf8560 __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33554606 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x414c7765 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f6a4a3e __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65fb81f0 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b1045c7 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7260fb66 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x748968f6 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7574c715 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c8a33fe __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x96bf5dba __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa353964f __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4682eff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xab4c5652 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb22f8879 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbf53dc9d __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc00185bc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc13b483f __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc36e201d __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8feefc9 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd8da0f0e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9f20dee __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe9c4d700 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee603d81 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf5d8bf62 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf8502c64 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x105e3a70 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2726bb75 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3d01da6d dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4e7e7e57 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x65c9a78d dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x73e433c8 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x901cb9f4 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x90a28d94 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x96459124 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xaf754300 dm_get_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 0xb9f6b68b dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd8c47025 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 0xdac382d4 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xe09e5d50 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf224201e dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf9d53f00 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xffd01b4c dm_cell_promote_or_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 0x2763ebe7 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 0x411d6a5c 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 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 0xdb5f7d1b dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x65045bb7 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xa21f91ef 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 0x076255f3 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1629c61d dm_rh_delay +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 0x4ba1e677 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 0x5b4fabd3 dm_region_hash_create +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 0x92614e88 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa08c9665 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 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 0x072eeb3a dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x01b45bbc cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x05d1079f cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1422638d cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x28d9077d cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3068aeee cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x322f468d cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x36365c81 cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x55698fe4 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x643fc316 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7e220aa6 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x87160a79 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x879a9f5e cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x884a4c93 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xac165e36 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb186ec96 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb52efaa4 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc2336c0a cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe2e33f8c cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe81cd756 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xebfac74f cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xefd10f08 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf5a1f579 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x4ed9ef56 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x97db2e21 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa4cad4da saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa7d8969b saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb277f44d saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xcfdd1af8 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xd9ff15a9 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe4530978 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe8fc98fd saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xeb06dc35 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x020c5c0f saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x330a3c84 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x69cff3df saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7ca0f8b9 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7d800aef saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xcbeb33fc saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xe4c41383 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x11c767ee smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2a9adbc6 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2ecb3a18 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x33165f21 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 0x384b0868 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4ad11731 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x513a2b94 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5394929a smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5442ae0a smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x754cc06e smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8426f2b1 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8803e056 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x89e1f577 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa24e4698 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd4db1c15 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd980de14 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe6549b61 sms_board_power +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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x15639e73 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1c510afd vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x243897c2 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2883a0c3 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x31906b64 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3f623848 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x42fa0918 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4fafd269 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6063455b vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6344453b vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x63be7efd vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x65afb87b vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6681c399 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x68269e67 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x796e37ed vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7ed6acc9 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x846f5dd1 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ae40915 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ddae992 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90828029 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9a73f573 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa198665e vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb53f450d vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb7af239d vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc0beed5e vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc88264fe __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe253a81b vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf7b5ad8c vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xff04e525 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x048efa23 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x95122a33 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x581d1064 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x3b56ec29 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0ac4cff2 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1068126e vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x12532ae2 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x169da2a9 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1975dbed vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1a2de66f vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2abfec48 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2d84e923 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2eb90fe9 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x395a150f vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x429046bf vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4b9f9c6f vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x54d8d3d3 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x55dde50f vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x57fc3276 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x60d70b7d vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x661b2995 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6c6b9d2a vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6f80b83b vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x74db5b3d vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x75412e59 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7aee9d1c vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x82bcf482 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9fc94f74 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa01d7a41 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb2a3eaf1 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbd1c04da vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc4df7547 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd0e488b5 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdd8ef1fb vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfab05fee vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x335ac26c vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x5e9a4075 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x657250e3 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xbfb517a5 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xcf8d4999 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xdfc1652f cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x090bc6af gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x21410223 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x9fae67d3 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x1c1587bb stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x90290274 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x57d77698 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x22c13ec7 smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0406b313 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x05ae1914 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x07243cf3 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x100551b7 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10f4e6ef media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x11f76cd5 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x11fd7f42 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x12050790 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x17665c8e media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x17c07015 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x22d23d5c __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2cc7ff34 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x31ea8947 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3efd669f media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3f62fc4f media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x55426fea media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5ce7602c __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6112aab7 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6149aecd media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61fce90b media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x63c3e848 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x66af6bbf media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x670a65b4 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6b034763 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6bf0ef88 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x79ccf912 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7b3449ef __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7b75f46e __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x816710a6 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x852700aa media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8dbb0ccc __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8e8965bb media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa39a380b media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa4fe3945 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xaf3aec99 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb13b07d5 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xba5bc4d0 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbbb7ebcd media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbc7275c5 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc123e4fd __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc307c65b media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc825dfbb media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd1ec8766 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd5ae21af media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe82ec06e media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe934d3b8 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x88f63a05 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0c805c54 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x21dfa60d mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2538ca57 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3369aeb8 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3fa298aa mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x40d50bed mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4fc1557f mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6269edd7 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6cfe2502 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6e43958c mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x80557ab7 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x837b8585 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8fb0b397 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8fdbfdde mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x952ae16a mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc12067f7 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc4d2ece9 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe1c5c533 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xedb99e26 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0f5f7a14 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2228a7eb saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x268788c2 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x34d74466 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4489f094 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x49d3a980 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4ceff334 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x546e00be saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x65a791dd saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6ebda3be saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8103179d saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x87f3c2d2 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8d3a6b70 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa33d1add saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa69c176d saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xaf052230 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb5d96d58 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcbafc5b6 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfd0aa40c saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x13d96c21 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x2803f795 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x3e27cdbb ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x71c594e7 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7c846235 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9400296d ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe516d762 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x4403c53e mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xb0d65e48 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xd7f233cb mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xe09460c2 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xf2d0a0ef mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x007f4b06 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x092470b8 vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x1f94890a vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x388aae60 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x687b786c vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x81165d31 vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x868666f3 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x8a23b020 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x081735d4 hfi_session_continue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0af5b5ae venus_helper_vb2_start_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1078dd9f venus_helper_intbufs_free +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x160b3f83 venus_helper_vb2_buf_prepare +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x182fdb79 hfi_session_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1837a919 hfi_session_get_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x19dbe71d venus_helper_set_output_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1a01297e hfi_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1bb50a52 venus_helper_intbufs_realloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x20875725 venus_helper_get_ts_metadata +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x20a828e2 venus_helper_buffers_done +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 0x2b116d2c hfi_session_start +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2cdc91e2 hfi_session_destroy +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 0x33f0f134 venus_helper_init_instance +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x37f939bd hfi_session_set_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4ee7c5f4 hfi_session_stop +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x510aab46 venus_helper_set_input_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x583d3a32 hfi_session_flush +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x5de28589 venus_helper_process_initial_out_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x61b9c138 venus_helper_process_initial_cap_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x646e3497 hfi_session_process_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x67d3ff1a venus_helper_alloc_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6d3f7c36 venus_helper_unregister_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6e56508a venus_helper_get_bufreq +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x79849aa7 hfi_session_create +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x79ace190 venus_helper_get_opb_size +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7b667211 venus_helper_queue_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x857ebb8e venus_helper_set_dyn_bufmode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x887ff7b4 hfi_session_unload_res +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x967db1c0 venus_helper_set_raw_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x992ebc5b venus_helper_vb2_buf_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9ef224fd venus_helper_release_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa028b2e8 venus_helper_free_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb0211b40 venus_helper_vb2_stop_streaming +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 0xbad42d29 venus_helper_set_multistream +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbdb9a946 venus_helper_check_codec +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbebdcfe7 venus_helper_set_color_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc0042e8d venus_helper_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc6a0be79 venus_helper_set_num_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc6cd383f venus_helper_get_out_fmts +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xcdb2029d venus_helper_find_buf +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 0xe21404ce venus_helper_intbufs_alloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe36bc60b venus_helper_init_codec_freq_data +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe6240c8b venus_helper_acquire_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xebb32676 hfi_session_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xef0b45f5 venus_helper_set_work_mode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf1fecbd8 venus_helper_set_bufsize +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x091a61a9 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x08ab7dd5 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x0a3e44da vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x647cdecd vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x6fd76e30 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xc99b7e53 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xca677461 vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xf391366b vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x085ad98e xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x0b80212b xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x28a0d770 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x778214e2 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x927e08f9 xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xd77240db xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe03177f3 xvip_clr_or_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 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x54792953 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x14626627 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xd1333411 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x1f8b19c4 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x70d8ee93 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x73d33c64 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xb069744e si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xc2f47185 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x03bbc073 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x087ba771 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ac62c77 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2082290a rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x23b32842 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x273faa4b rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x39259cb5 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4547a88b ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x58fb0450 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5c64cd14 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5cb4db44 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7bc8ac67 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x94af0c37 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa8551a97 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb540ac01 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xba26a9a0 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbba1ddfa ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc1333353 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcdd3a812 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe1a9af31 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf60238f9 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x986cdbe3 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x61470093 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0xe8843df2 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x174a5939 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x228b7719 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xa264ac75 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x58da17e4 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xe8eaf016 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x39307bab tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x88330cd7 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x8f57d80a tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x81f25811 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xbf38b5b2 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x4af839b2 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x04218cce cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0a062451 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0dc268a3 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x19011afe cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x251198c4 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3b571e5b cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3c73af96 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3f33d174 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4047c6e9 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x47e4e8d0 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7db1b0f8 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x83305523 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x88280049 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8de0a196 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x94abcf67 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x99189f41 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9e56fa0f cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xabc1ca63 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcbb82855 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xda5ccf69 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x986728b6 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xe261a59b mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0413003f em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0afd9586 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x125d0436 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1b4c15fe em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2f67d1b2 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x32d4cf5a em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3bdb131a em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6c894788 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 0x8be3d626 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x91c220ab em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xaba83745 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb1141e60 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc3b03293 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc6f3b95d em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcc03f990 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcf806867 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdd5373c6 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe09dd057 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x20bd1f6b tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x26555e29 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2b46b14b tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x71ce33e6 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x6b65a9fb v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x76c85a7b v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xfa212946 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x0b7e463b v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x306ed6d3 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4b090bde v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x63356211 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7c8da0eb v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xaacda0b3 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb3295b74 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc2dcfc59 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc8668ac1 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe13647ec v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xea113ba2 v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf01c6f9d v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x8468300b v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xa003c02f v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xae38bf6d v4l2_h264_build_p_ref_list +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 0xf8ffd565 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xfe634d65 v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x032aa949 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x040beb19 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x15566804 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x172e6cdb v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x21239b61 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x31aba9e3 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x34df3ca7 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x35b3b472 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x35f7b801 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x373f3eaf v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x37e97cd3 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3866ae54 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x38900783 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x48a9e791 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4a3adc30 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x561a7cb5 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5da6dcfa v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x604900c5 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x63dbc0ad v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6912b701 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 0x73a8c9d6 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7603aa5a v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7b64f8d0 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x825c482d v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8596c0fe v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8980586f v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8f118622 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x91e98d0f v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x97ba8221 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9bde3590 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa28bacdf v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa82c7328 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb5977263 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xba523063 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc18dccf3 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdb3e9cc7 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe1f7e5f5 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe376a439 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe66812c0 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe83af562 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef06203b v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf1821fff v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf3b216d0 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfa19118a v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0e0e080b videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x162451a1 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1e1ba957 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x28707013 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x299a56bf videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x319ea4dc videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3b7716a9 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x410c3e8e videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4662cb99 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4a9573a9 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x66546c9e __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x763fe0ff videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7a622d13 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7e2f54fa videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x97415d81 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x98d3a8e8 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9934209e videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa9f5a493 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xae63da8b videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc59423b6 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xca0a677e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcc709d04 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdff5542d videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe28b40e8 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x1337868c videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x4565cd57 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 0xd8e5e768 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xf50cd908 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x7184f422 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xb2c0d665 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xb4e12a9d videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0026b8f1 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x004cc5b4 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x05e0bd18 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x06a34cc8 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x085d1756 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0faaef47 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x13f530e4 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1413471f v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x16162b75 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27d38ca6 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a53ca39 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x32431a1e __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x36ea7651 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x39dcbf47 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x39f0a849 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3cdf0b52 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4367a405 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x43996a8c __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x46594041 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x49c6d5ff v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4a5a7db2 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4d16b3ca v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4d4369ea v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5217df74 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x530b3fd9 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5ba2aa40 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5d12ef9e v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5f9e899d v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62a7fab7 v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x76e9d5b2 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7db3ee1d v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x810ca96c v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x857cc192 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9913afff v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9d6b16c9 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9dd6a127 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fd6d94b v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa3cbba8a v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xac3e1658 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xac89adf9 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xacdaaca7 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xae6bb4e2 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb5bb69a9 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb668887c v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb795f071 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbcad19c4 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbd115c1f v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc31221f4 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc794aed4 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xca13fda6 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xca4c001d v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xca500a3a v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xda87ce73 v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdde9d57f v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe3e77695 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe5547275 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xebccaebd v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xee208fbf v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xee42be54 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2e00a1c v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfc947819 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfcea58cf v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x13f99627 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd485fac3 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xf365ef27 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x08a1c3f0 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x4d7e67b2 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x6d1e3c67 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x8862360a da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xae339fe8 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xc947ebed da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xec8f544e 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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x09ede45f kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x14e97483 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x4289eb5e kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x4fe3d299 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x5d24ea9e kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x934dbbe5 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xaae297af kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf778420e kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x2cda2c4e lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x54bb4a1a lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6eb51369 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0f7be41a lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x10030c16 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x22fff438 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x3e6889a6 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4af96b53 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x61c8c2bc lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x72a3df29 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x8baf620c lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x8dd264f0 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x99fe0e1b lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x05db6ae4 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a9010e7 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a9dcca7 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17b6e7d2 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17bb3b92 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x2037fc2f cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x203a206f cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x31df7bd5 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38e28b9f cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38ef57df cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x49a50deb cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x49a8d1ab cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5483fade cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x548e269e cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5b863176 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6302e123 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x630f3d63 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7bd79693 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7bda4ad3 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8366a727 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x836b7b67 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa1b24e0e madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa73fd03d cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc053ba2b cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc05e666b cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xda5e20aa cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdea476a6 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xecd80cae cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x00b4e5f8 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x150296db mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x47b72893 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x51abce86 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x55b8ddfb mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd449a6d3 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0a177d38 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x314adf95 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x53f00773 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6bde583c pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x79f1ac07 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8085e6b4 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8744948c pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8bd72299 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x95b6ac26 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd16c7825 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf9da5bb8 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xad75b17c pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xada00b78 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x68d030fe pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x75c1c921 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x856ca133 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa03bd79b pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xef7f2e15 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xec9d257b 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 0x003d062c si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x084f030b si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x09422133 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0ce517a9 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x100778e3 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x10c5ddbf si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x11068ead si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1a1cdacc si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1a6199cf si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1b7dc79c si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x204b1bd0 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2605d027 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2c59c18c si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x317d3142 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x399d5c8e si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4a7caa9a si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x51d98603 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6e0d29b9 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7a3b94f3 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7f2f7d16 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8049cb9b si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x830a7be0 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x921d80dd si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x96f40451 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa2f2ced5 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa5702791 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xad94b020 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc8ab197f si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd7bee411 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd9dbdb51 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xef306529 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xef92636a si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf1d31991 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfe5def80 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x15a59b93 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x65089077 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x84170259 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x86d4e510 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa3b40816 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sprd-sc27xx-spi 0xe64af03c sprd_pmic_detect_charger_type +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x3c0dd5e0 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x5a67b933 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x3f624d2d am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x979f1593 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xbf4acfbe am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xcbdfdadf am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x01f33ef7 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x1b9259e1 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x6b1c6d28 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x898148c4 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x5c3d6d32 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x90629797 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xe25475b1 tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x0f35193c ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x6df7856c alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8a14ad59 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xb91f5190 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xcc9d4bcc alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xdf0d528a alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xe3e50216 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xeb56c7d0 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x15b53ae1 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x30434eb9 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x380aad31 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x418a1bcf rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4bee3591 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x536537a6 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5608334e rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x714156b1 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x761e2c4a rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x76fec52d rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9d6f2495 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9e72e255 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa9202fc2 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb24e8de4 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb83ee31e rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc24fffe0 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc3aec563 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcb113e36 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd4defeca rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdf5c7126 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf012fc0c rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf0d43c21 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfa6f8e14 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfbe528e0 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1310be71 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x56678def rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x633b52bd rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7730b856 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7f579b10 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x88344c36 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x99239dc0 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa8ebdb1c rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbe58968c rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xc9eda7c3 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd0be3342 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xe4cb2753 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf88ef660 rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x08550d65 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x82cd9828 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xa8a453f9 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe23164fe 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 0x1c15bcab enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4d73e79b enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x56c7b6d8 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb6bc8c55 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc89340ce enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcf2a5309 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd26b6fa0 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xfd6d99c7 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x044a80d2 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x09fb068e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1d437d2a lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6857cff5 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7382cf40 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x84320ad7 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa8d30256 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf17e94ee lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x08cd06ff uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x77421596 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xe8ad07cf uacce_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x31c115bb dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x39cbf837 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x4b40887e dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x0a00e5e7 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x2e2f614d mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x866e18fe mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x87500493 mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0xa5dce0ca renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0xfa3dfe5a renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x03d04c6c sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0535635e sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0c148f75 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0e7dcfc8 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x11a087a7 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x13bafd61 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1d425c32 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2bf4ea25 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x374a6b6d sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3e4af8a7 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3fe06df5 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x44460740 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4e5fcb0f sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x56e8163f sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x56fdb625 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5bd3e162 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5d169758 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x638eed60 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x68303e66 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6b6e598e sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x72936ca6 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x76b991c2 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x78dc3a8c sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7b77943a sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x80b729b5 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x80c2ed10 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x83b0112b sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x86b99a54 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8d2f0f85 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x90a2049c sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x96bc499d sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa351f164 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc22777ff sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcb7f23b8 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcf061303 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd79193e7 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe43d7e33 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xee5c7d8f sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf200a7c1 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf3a3d0a3 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf88ef709 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x41a8cf07 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x49b4baf6 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4cfc591e sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa6a62371 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xae82ec6f sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb07240c0 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xd197ae28 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xd34dbb47 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf4ddccb5 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x0a0d4d44 tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x1be0da64 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x368b9106 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x5424d122 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x8a105266 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x9a3f62e9 tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xaa84f4d0 tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xcf773013 tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xe8ec144b tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/most/most_core 0x007981d1 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x099883d3 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4306e033 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4a783730 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x59bf81a8 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x6815a0ef most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x6f3f5a57 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fb094f4 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9119d635 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x935cb341 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb0231997 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb70b917e most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xda74f707 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe4e598f0 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x6bbce6e7 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x96a2c371 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xa98be699 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7acf9e03 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x89365185 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xf7641a55 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x18f13702 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x732b54fd cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x8c877013 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x9e351fc5 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x588575d5 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xc95afc40 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x068012d1 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1e3dfb22 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x223e8195 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x26217ab3 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b954bc0 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2badc342 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2ed415c1 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2f0fecad mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2fcd0cef mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x36ab535f mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x36f6af84 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x37d14160 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3e4a737d mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3fe08ce3 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x45dabaf7 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x468a1df6 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x482a40c2 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x49691924 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x49d1add7 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x500507d0 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d776022 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5de8f92f mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6105a9d2 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x64038d90 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x64a07c2e mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x69c8fc77 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6bb2b122 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x78ea2ca5 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7b27905d mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7d6b67a6 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8433ebac mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8c000aee mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e9059be mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8f26a655 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9103122c __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x947f6671 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x99de7cec mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa81aef12 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb0f47985 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb2174962 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc73597b4 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc787b081 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcedd368b mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd63da015 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe35d5d32 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe62c1ea0 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xecb635cc mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed3c1ff4 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeeff427e mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf7fc13ad __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf972df28 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc5e7334 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe977cb7 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x76e2c0e3 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8820d189 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x8d91d633 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb9dcdd2f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xeb51e9ef register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x08b1fb62 nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x20e8e6fa nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x28fb0ec7 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x584116ab nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6ff3b6b2 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x78778053 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x85daaae7 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8a88ee41 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x9851f697 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb693c15e nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xdb064c60 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf61f9a2e nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf9e07357 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xb2cb6231 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xe435849a onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x4020e983 brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x7134630b brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xc6a15f27 brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x15affbd0 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2364bcc9 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2c5a9fb9 nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2ff6944a nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3978e661 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x49723d7b nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x535aab09 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x535eccbc nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x69c4107d nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6eb47fbf nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7e3a04a4 nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x80d74b95 nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8ce93c5e nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x99bdb7ff nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa4e6901a nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa6ec03d0 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xad1ffaf7 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xae916c61 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb9b1351a nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbe60786d nand_ooblayout_sp_ops +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 0xd54013e0 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe5266625 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf12a71c3 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf4091e87 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf6b856d3 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xfb710e9a nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0xee0f1b2f sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x8aa4c7e2 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xd7e223ce spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00ef5573 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0c5412e0 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1d445df7 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2e02f2db ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x32ed6159 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x40bf8699 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5ab4525f ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x61eb5446 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6e581b15 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb5ecb039 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc35dc6be ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc53dceed ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdb4f443c ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdc61dcaf ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x00f6ae32 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x04aca294 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x06ceb637 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x17d67323 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2a481d53 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x378bce3a mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x55f55650 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x74f0c4e8 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x75bb7ca7 mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb99846e2 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xca68d0cd devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xccc899d9 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe5336787 mux_chip_register +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x9d5ff093 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xd7652463 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/bareudp 0x93ae82c7 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0e9740fa c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x199232c3 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x79ccfc23 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xcd83fc39 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xdbdaeae5 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xec42f893 c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3266b8bf unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x43010c9c free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x76d89543 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x879dc43f alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0353c1d7 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10ceb624 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1dede6d1 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x22592681 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2692e9ad can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2785667c can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2c07f85b alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4d3a5a02 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x60a8c054 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6ebee2ea can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x88201567 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8b2ad3a2 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x957a6cca open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x963baa9f can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9a980bca register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa2c3fcb7 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa6c921c3 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb5b3d1e4 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbbc2307e safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd1bf8e34 of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd7ee17e0 can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe1df39d2 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe8fae574 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf0571b18 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf0984896 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf3c7d37b alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x08f28b01 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1f8e5251 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x35abb137 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x3cd9d3c1 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x426b7efe m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x8ec22756 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xbfb18364 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xca2c20dc m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5806dc98 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa5d06ae2 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd7751b71 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf5d95bc2 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x22300259 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x17f182f2 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2082cc14 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x467933e3 ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x69e65ebf ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x77a36f9e ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x889b1c75 ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa4264857 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa5b03ccd ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb1d8ceb6 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xba204113 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbac509c2 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbada3044 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc36643df ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc971030a ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd6f93d88 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xee9a0ac3 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfb6029a1 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x088a7066 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x20be5837 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x293a3810 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x34f851fe rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x37ed23f2 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x60619bf1 realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6b297a54 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6e5ce723 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x849cb28d rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x85824006 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x85c91a8f rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x88b80b9b rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x958214c1 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xbede3f64 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd2939157 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf3fd139a rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0xf728b6ed arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0xf78e8b32 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x4d7d1de8 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xb8f09500 enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd4279ce8 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd9d61d6f enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00168207 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x001dcc9d mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0706f87c mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a557062 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x115c4067 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11ab7ac1 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11c4108d mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13312133 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x14168e04 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15309674 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16a06593 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1946c898 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19b0e889 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c2b3287 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1da7855f mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e89c73e mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f16279f mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2286c9ec mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2324651e mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2999721f mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a316792 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ae8456a mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b3e8dfc mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c715e56 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e6d0981 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x318a3fd1 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x320f82f1 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x338fbbe2 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x339d74da mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3580a9c9 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x389e98a0 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d1b30aa mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40cd2fda mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x413274ff mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41d1b4ec mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4248b9df mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47ec42f6 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47f365a7 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b940d9a mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4bd8003b mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4bfd1bd9 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50e6e33d mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x523a20a8 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52744b31 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5279427b mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x531ef43e __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53461fbb mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5594b462 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55ba9114 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x570b5251 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57bf468b mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59ebaf67 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a513294 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf16ce9 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6197b93d mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b2de9aa mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f4d0c4c mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f9344d5 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x706cc198 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x714ff52d mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7243c05e mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77ec0ce6 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78959f86 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78a76f97 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a293692 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7bb696c5 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80c99227 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8179de1e mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81847339 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81a16fa5 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85f0dc21 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x89a7499e mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a57a5a7 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b510f89 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8edcfc79 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f081cc9 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f1446e6 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x929344d7 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94dbe410 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94e5b5aa mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x950936c9 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f8e56cd mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2130d7f mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa556d7b0 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa5db5012 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa5ea40af mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa7fa47bd mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3c905dd mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb4aff16c mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7acff38 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8c5f8be mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb9f67472 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc602656c mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc69ab75c mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce049c71 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfb95ba2 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0fde572 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd46efa3e mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd763e832 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb9ed5f7 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdce91c4f mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde24126c mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe12cd1c0 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe15a3e7e mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe16c9b3a mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3cc3b71 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe451fff9 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4e005a5 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5544b9b mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5a3f80c mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe69cc194 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8f7d838 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef83ba02 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0755778 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1fee705 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf443fd30 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf51ad5e9 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb14a19e mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfbe97ddd mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdf90502 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff9cf532 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x010b0019 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03195665 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03b78f3c mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06f69ac9 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0702b0a7 mlx5_frag_buf_alloc_node +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 0x080b0460 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b451f1d mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f589bbe mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11fbd72d mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x181c93ab mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1be03658 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2138e4f9 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x221521d7 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24ef9d45 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28b7d7d1 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f6b9342 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2fb9f8aa mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x42bb799a mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e16c4aa mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ea1320b mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50deebde mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53f1fb3b mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d8da6fa mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fc1e861 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6065ed27 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62696d95 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6adf1a9b mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b5ddc21 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x782f36b0 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a8a2c74 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c77f476 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cc6481f mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dc06fea mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80baf10e mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81abe179 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81c9d85a mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82ef53fe mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87c55ccb mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88714f77 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8bff1632 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d83cc0d mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93e73179 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9443523f mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d171d72 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0b454d3 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa29b6b3c mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2d1d5e0 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa38bd71e mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb604dc90 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbd1f240 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbcc741c6 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe701eaf mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc69489e2 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc81310ce mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcb263105 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce34876a mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf2a49e3 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcff375c4 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd03a80bf mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd233df40 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd98b3a55 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdac141d0 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5df93fc mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6f2747e mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xedcd049a mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeec99d88 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef77fc52 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xefdc71eb mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf389bb03 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb13fdc4 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xffef50aa mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x2539ab18 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_common 0x32613c49 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb3b639f4 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe312a9c8 ocelot_cls_flower_replace +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 0x680131f2 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xb849e040 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xc3ce6dda stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xecdb665b stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x62f03e4c stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x8146be40 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xccc271ae stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xd6326a4a stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xf928e58b stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x405b51c2 am65_cpts_ns_gettime +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x63ad4fa6 am65_cpts_prep_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x758f7013 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 0xbfc83e4d am65_cpts_estf_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xc449fb0f 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 0x27f12bcd w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x6ced72c8 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x91540be8 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xe3c16db6 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/geneve 0x8d11cecf geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x13ca7a70 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x2506499f ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x55a2f379 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x8c36687d ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa0589cde ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macsec 0x76365afe macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0f2728aa macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x26ba63af macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x80ebc3df macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf5834609 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x3585697e net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xe261568e net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x24ec9b47 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x25654ab5 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2b3b07d9 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x323a58f3 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x36a84b0d bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3d93f053 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x54bc1de8 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x59ea6bc8 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5ed89001 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x62531d38 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x632c7f38 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6c0fd0d6 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x70aec4e0 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x829cd80e bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x82a73322 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa440a438 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xacea3a21 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb651a874 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbd1454cc bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc0066ba5 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc2c02419 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc454585e bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc54c2b4a bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc88afdd9 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc8f7c314 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc9c95480 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd91a64e5 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe449c91e bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe6da1793 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe7a9bec5 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe999fce6 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xeaffc8e5 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xeff71836 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0xef1814be mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xfc7a0b6e mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1092394a phylink_add_pcs +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4297dde7 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4999ea94 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6254ce4a phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x68098040 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x80b15b25 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x89b42cde phylink_connect_phy +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 0xa1748de1 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0x2af59a12 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x524d8fd7 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x539c2c52 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x5a381dd6 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x5c5e0887 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x5e6a983e tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x65cf12c1 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xb9cc3f52 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xc7a60fc9 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x12d6dd77 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x38bf28d8 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x42cad027 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5c1ea8e0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xcbc8cb26 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x0e817024 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x2061d8a5 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x3c196b1f cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x88cb3723 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8b87a921 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9b388928 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xa5d49205 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc26b7dca cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd9066f31 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xdadd5326 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf4f13c1c cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x0b5f5e7b generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x26fffd32 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5cf3b257 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x61cfb6c3 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x6e50c3f2 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd0ccd593 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x02a38ccf usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0a05d231 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x116c4b7a usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14c13cc4 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14daaae3 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2dc36bc0 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x35049b1a usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x37874443 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x450be5d8 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x52ee2ba0 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5ab6119e usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5ea6562b usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6636c4b4 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x68aac779 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6d2dd87c usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x70b41452 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x879d1a68 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x938ab475 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb15aa71e usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb3f6b390 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb9425bca usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xba58cb29 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc4e0272c usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc975c9cb usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd02dee92 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd65d3af5 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdc0aeb4f usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe6923480 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7a4bea4 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfb79de98 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfc84bf2e usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfeb12fe0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfebb179a usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x74d65ac0 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x89e22510 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xbdec58db vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xd78d3049 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x03c19422 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x23e04cf0 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3527325a i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x376363b8 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x843b8628 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x924baf54 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xacacddb8 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb2f9db4a i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb500cb62 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcae3c7b5 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd34bd858 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd54528fb i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdc424d14 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe2c6d3de i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf58d8aec i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfcbf8785 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x59c39132 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x21ff3229 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2fa2c215 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb018c1e5 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd51c198 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf467dd9c il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x00740373 iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x01d9fb2c iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x034542d2 __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0750fca9 iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x099e158b iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0a0b6ddd iwl_sar_geo_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0cf025ca iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0f911683 iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0f942c12 iwl_acpi_get_object +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1332e4de iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1dc291ae __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x22453c63 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2524e563 iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x286aa2b7 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2ebe46e1 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x304d3f4e __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3e81af26 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4d53bcd2 iwl_sar_geo_support +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5502a7f4 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x56e1f55c iwl_acpi_get_tas +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x57e39b3b iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x58689f12 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5988395c iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5ad2886a iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5e66e431 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x62f98843 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6eac5d78 iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6f7239dc iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x735f5cbb iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74fe3f3f iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x79450189 iwl_sar_get_wrds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7de7bd5a iwl_sar_get_wgds_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7f24d5f8 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x851d4c87 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8703acfe iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x92c53e23 iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x93f4efb0 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x978d0720 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9ef31ac8 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9f32accd iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa3b1d3c8 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa575ea95 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa644283d iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xabc89af0 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb13d96f2 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb3a3ff66 iwl_acpi_get_mcc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb762b70f iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb8267d34 iwl_validate_sar_geo_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbb1d9b98 iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbeb05ff7 iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbfec12c3 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc2e966c0 iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc391344c iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3cc26b1 iwl_sar_set_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc531930f __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc6a74275 iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd0bcd694 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd43b11df iwl_acpi_get_dsm_u8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd453511c iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe06d98ed iwl_acpi_get_wifi_pkg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe0eb5838 iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe2a8b738 iwl_acpi_get_pwr_limit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe3e3da75 iwl_sar_get_ewrd_table +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe75b7e77 iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe86758ba iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe9181462 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xec034175 iwl_sar_select_profile +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xed3250aa iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xef208428 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf1a7026e iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf88964e4 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf8a0508e iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfc5ff5d9 iwl_acpi_get_eckv +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfd37970c iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0b6301e4 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5f12ebec p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x798194ce p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8a9c8974 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x98889baf p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa89e986c p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb1dd94f5 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb4546f2a p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc2d22515 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x1012dafd lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x396b26d6 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x88376010 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8ee2d45f lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8f931297 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x90e52f9e lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x94cfce01 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa20f98d9 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa6f1018d lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa8c0e822 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbc3d3946 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc0555b3b lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc7a25766 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd0167dbb lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf6e3159f lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfbf31619 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x0d939ff9 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4ff2aa6e lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x51f5ca24 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x597aec9e lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x868ade8c lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xbf3e8ed7 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc14101e6 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 0xe11db6c8 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x10d0cf01 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x21630eb1 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x241a9ef1 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x274e3a2c mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3b63167a mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4042af1f mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x48b89735 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4faf5e4c mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5223f4fe mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x54a99683 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5fa02588 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6faf6a97 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7942bddf mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x86bae56e mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x87ef5408 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x89763c1a mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8c0a63bb mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8cba7679 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8e472b49 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x94550eb3 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa6523032 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbf195948 mwifiex_upload_device_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 0xe5617a77 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf5ea9e09 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x019244d4 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0357be01 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x07c42253 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0b527ce0 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d09008f mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12979c76 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x18275c7c mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x18fef994 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e042aaa mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2a560f04 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2aca8746 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2b6c3502 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2ce9d8d8 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2df16fc2 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2fb2d669 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x486f0819 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x490e5a93 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4c77ce54 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4de39c3e mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5fcdec20 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x61ee2853 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x62c11a17 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x644f96b2 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6494669d mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x66ab210e mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6d237dcf mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b333de1 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7c98fecf mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8032dd85 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87223143 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x88d304d2 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8ea45b45 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x92ab543b mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9867e8d4 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9dc2f12e mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9dcc172f mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa429a02f mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa663e76d mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab512508 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb330265e mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb3e74d25 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb7f40ffc mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbbd27114 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd13ce7a mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd85f1cd mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc02abbf9 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5fc58a3 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc946d635 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcab3db50 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcce6c7f8 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd0b49798 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd14cdfe2 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd167a3ed mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd363034c mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd5a0e1ea mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd8cb0ce4 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbaf1db5 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe2ef4f77 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xea43d94a mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb17080e mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf0bf1506 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf7c03a5b mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x05269d16 mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x41ff6120 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5d37ff57 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6ebd5850 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x844a9aee mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa1036be2 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb973192b mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd614bfaa mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf2cf5735 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf4a86a8d mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfcd849fd mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x125acc81 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x15c09411 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1c1af6f6 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x25196106 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2cc9c7db __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3e9ba2f8 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4146108d mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x45738cc0 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4db7a132 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4eafb1eb mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x507f6903 mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5783b204 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x612dc915 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x66d7cd76 mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x69468c91 mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6cccfd8e mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6fdcc980 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x71051e50 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x735726e8 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x76dd8d84 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7b795403 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x85254359 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8fe9b6a2 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x915b43af mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9538413c mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9eaa3b04 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb2d29327 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb8db07fc mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbe214007 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xca542e85 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcec2e1c5 mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd4154670 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdb6d1a69 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdfb23a72 mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe74d2245 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfaea349b mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfc0b2777 mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x564d3cd8 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x77a94c7c mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7c1b05d9 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x8d25dce6 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xaa0fb5c2 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xf66120cb mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x03a5db16 mt76x02_init_agc_gain +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 0x05b37e54 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09c9f5c8 mt76x02_tx_prepare_skb +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 0x10aed05c mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x123218e6 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1baa9b4a mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2585285a mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x259d7942 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2c08d52c mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d32759f mt76x02_phy_set_txpower +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 0x3e1d2cdd mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ebfecbe mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4076a46a mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4119ef34 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4221137d mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x442b9f10 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4486bc9d mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x49fcc8b0 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4b0086c1 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4c4c8c9a mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d37a1ce mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d580696 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bdb2cea mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x612f66da mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x68a37106 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6b6c6942 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6ba6b215 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x792550ec mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7b0bc8eb mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bc3b1d7 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bf319c3 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x83a8ae75 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x877c27c1 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8be11a00 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8f38db85 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8f68e1a0 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x90239361 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x955b05b9 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9a583b49 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9d5d6641 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa052d14d mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa3e56e04 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa458b377 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa98ecadc mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xadf9cbf1 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb3100917 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb338d46d mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb3ffaae7 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb42ff2c0 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb606bf5a mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb96be80f mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc21ea769 mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc33fb85f mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc901d0ea mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcafe2415 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcfc7d755 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd109f80d mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd1342839 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd296d904 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd8477c87 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdfbdc9ca mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdfc310ba mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe028ea63 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe1d3c98c mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe25cbc7b mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf1c9d596 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x171c95ec mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x558dcb6c mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7a698da0 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x82f1727a mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x89aa09f3 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x8a8dd2dd mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc6e5304a mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd7c7b48f mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x084c15d5 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0af8542e mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x34c66d29 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x431762ba mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5667b2f0 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6eb502de mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x717f928c mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x78a54a0d mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x981b3422 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9b5bccf2 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa33d91c5 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xaeea36ff mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb0993159 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb34dabc8 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb789db2e mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc3b02ea3 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd071f58a mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd6bda7e9 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf74d5562 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x062ddbd2 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x150cebd8 qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x6bffb3d9 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x80201a27 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xbf4c2a28 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xcbb5722e qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xd19eda50 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xe7fa987b qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x02fe109e rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x046d03b1 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0b01f147 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0c25fe6b rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0e3a2cb9 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1c52106a rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1d2ce4ac rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2015e3cd rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x25ee2790 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x25f948c4 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x27e76120 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2ceb55e0 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x334a229f rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3697a0b7 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3ec41e2f rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x43413f27 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x51580113 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x55855791 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5b35226e rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5c33965a rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6fdbe7d0 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7ba72b84 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x82de3e10 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8793032d rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x87bb1770 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8f64523f rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaa6643b4 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaf192b5a rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb1c29716 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb240f8a3 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb9b63206 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc570d9c2 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcdd360e6 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcf77b69b rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcf9156ee rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd23ce7e9 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd7ba2e2f rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd9e18cd4 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe76ec084 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xea59488d rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xefba15b4 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf5e0222e rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf8d86351 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfcb0fae0 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1554ffd1 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x274337cf rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x300fda32 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3247fe20 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x66d14a22 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7cd92c06 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x895725df rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x981bde26 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a24694 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xcc0a25d9 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xece6e54e rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xee766687 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf178cf75 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf5083d7f rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfc244e2c rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfdf67b8c rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0224cc3f rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0318d474 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0f076823 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0f19940b rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x14e2dd5c rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x16ec4af2 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1fe3ce40 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x237cee6b rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3c3bf584 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3d137708 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x424cb773 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x42aa8557 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x48ec86a3 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5044e89b rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x50704758 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x653c6128 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x71d18f6b rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7290054d rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x78a86423 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fa91750 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8c156c70 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8f14bc6e rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8f2d8750 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9443dd02 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9717027d rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x98f9ff4f rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x997712ee rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa41cf04c rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb15e6ee1 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbbd49318 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbf410845 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbfe8df33 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc58913ac rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc692089f rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc9d5ca0e rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xca448971 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcb1b73d3 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2c9b843 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2dc4d3d rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdbd6f6f1 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe548c4f4 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xec95fa8f rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf27361ae rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf3a71405 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf7cce0d4 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfb4e901a rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfc749f78 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x201b9f16 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x264ed4da rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x6a6c0dbc rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xafdb748b rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xb90b65c0 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x99fe6550 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xaf94abac rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xb9a998ee rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xe179a013 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1878dee0 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1c38e004 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1d673daf rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x49d9cc18 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x557a4ffb rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x73c2a9cf rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7448f8a0 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8c534ea3 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb1f591e4 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc1245918 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc804d9db rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc82ddf0c rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd133fa72 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xde7a0d73 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe43d080d rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe8588651 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x28254065 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6b0f9d00 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xce3367e0 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe4e27e54 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0066811d rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0d33f03a rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0fc4c9e6 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x12a5d118 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x19450b3e rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x19c6a758 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1cf891bc rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x20cccac1 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x21fea0f7 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x265277f7 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x27c11a6b rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x37f34540 rtl8723_enable_fw_download +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 0x44fb210a rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4b7d9a31 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6137fbe7 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x78a10177 rtl8723_dm_init_dynamic_txpower +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 0x95e39cea rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa16e747e rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa2f0524d rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb0d9fef8 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xca11b5d3 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcf5572b6 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xddba0692 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe3b2145e rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf2a0432c rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x00cffb0f rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x03ab4958 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1bd29753 rtl_tx_report_handler +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 0x4142a9ff rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5f71b712 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6ec6e419 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x72505b50 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x785d5455 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fe54d4d rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x829b9c7f rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x87321b55 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xad46fbef rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb565fde5 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb67dc64e rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbc431c14 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc04e3fa3 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc3444569 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc418a4ad rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc5211bb0 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcc462d44 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd0183222 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdb203eb2 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf5b31f86 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfa00c978 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xff90944f 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 0x544a3cd2 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x67fd1830 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 0xeb753108 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xef67705c rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf847e8c3 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x0305b583 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xdb637573 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xde9c3710 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xf94686e3 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0423ab8f wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x9ddcfe34 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xd5028157 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 0x0b68dc5e wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0d734986 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x100079c5 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x115719a9 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17f1f362 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1a4dc415 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1d58b384 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x371b1952 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x400fdac8 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4115c085 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x439e212c wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4eab8b1e wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x51ce6501 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5345c276 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x584ca4ce wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x58822818 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x607fa82e wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x652ddcc3 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6a179283 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6acec917 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6ba16b60 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6e7da68e wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x72c9a7fd wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x741865f5 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x747bbcdf wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7af4c4f1 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x881baa11 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x95ea1fdb wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa4cf038a wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa73e61db wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xac3e0183 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb2ed2ebb wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbd8d05e1 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc0d3a15e wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc20dab3a wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc87b88a7 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcdb89655 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd84e68b0 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xda961f5b wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdc87d335 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe13127b1 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xecced6cd wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf39bfa3c wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x2d7a4c4f nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x3bfc3fc2 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x4027d0ea nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xb113747f nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x124412b0 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x4a8950d3 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x54b36f61 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x5f4b826a pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7c8aef45 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x894cf3a2 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa3fa7387 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x10997901 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x3544a5f5 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x563fe33f st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x578ec40f st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x5bf198e0 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x615ef29c st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8082bb64 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbca35b77 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x0a4d0447 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xbae2aba9 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xda96c77d 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 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 0x6724a539 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x8c14ed6d ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xbabb85c5 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 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 0x7f0bd00f async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x96fdb0c7 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x00e6744b nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0bf92e66 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x186e5751 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2084deeb nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2de46f01 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3bcbcd52 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3da6729e nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x45c1dbcf nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54085d0d __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5880613c nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5949addc nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x61fe8058 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x631f54fd nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x66d580da nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x678145b1 nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6c33d9a2 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7133a872 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7da4eeb2 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8ab877a9 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8e427014 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8fc8b5a6 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x912afcf1 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x94e93233 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x98101e08 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9a4abdd3 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9a7cdd44 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9c27c98c nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa0fe596c nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa89fbbbd nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xae91e777 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb94de415 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xba9e553d nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd50d371a nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe147c11f nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xed5f893e nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xeedcb480 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf5bc30bc nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf695ba6f nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf974c2d8 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x04dc5b77 nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x08dcda3b nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x1d53df9a nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5745858f nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5e9ffa09 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6166fc6c nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6cc61dc9 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x842b96d4 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9506e98f nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xaf615e5d __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xbb9110eb nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe410cd34 nvmf_register_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 0x5ae1f9d3 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 0x0dfdc8c0 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x10dc59f2 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x193307ab nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x25adb182 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x2ca35268 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3949dfad nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3a505aa1 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x6a9fa02b nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7bd52f34 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xb8663a1e nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe5538b3d 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 0x8395c12a nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pcie-iproc 0xbd5bdf03 iproc_pcie_shutdown +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xbe83c72f switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/allwinner/phy-sun4i-usb 0x285deb44 sun4i_usb_phy_set_squelch_detect +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x1e0a3bd1 ufs_qcom_phy_init_clks +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x3ec3d2f1 ufs_qcom_phy_init_vregulators +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x6ad84c46 get_ufs_qcom_phy +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x7ce4516e ufs_qcom_phy_power_off +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x80d0cb6c ufs_qcom_phy_set_tx_lane_enable +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xd65bbd03 ufs_qcom_phy_calibrate +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xdc1851a2 ufs_qcom_phy_generic_probe +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xe339c551 ufs_qcom_phy_power_on +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xe478478e ufs_qcom_phy_save_controller_version +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x845e0f89 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xb425ab66 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd230489e mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x0183e0ff cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x14b41622 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/power/reset/reboot-mode 0x132fa901 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x322ea8bc devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xb5c1a8f6 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xbaec8c76 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x8c9c7d8b bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xd2406ac4 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xf6d18be2 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x0f653cd8 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x0f90a41c pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x26016eab pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x1bec2497 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x24867d40 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2e4ec2f4 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa3900106 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa8b2c8f7 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xb19b1269 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xcd9a0907 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xf2948d55 extts_clean_up +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x608f834b mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb06c5643 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd3cecf63 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xda1676fb mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe18190ea mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0b82efc5 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x32efa604 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x73dcb191 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x801579b2 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd5c5e82f wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf78b6961 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x1594f70a wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x196df6f8 scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x245e9b3d scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x8bfc55a8 scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x921c948d scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x9964666e scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x9ed07887 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xbc9b7b3d scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x141e901e scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x182d18c5 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x31fdc50f scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xc89d0516 scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xdc4e4180 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x2d5dc853 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x31bfd40e qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x64e137e3 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x676ad8ea qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x86a84622 qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x895ffc70 qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x9f619a6f qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xa46c907b qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xdb7bab45 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x29afb497 qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x359332ea qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3b8e54c2 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x6822a419 qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xdb048cbb qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xea9fa915 qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0xb79ddb15 qcom_remove_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0xd1ad269f qcom_add_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0x12f0b626 qcom_deregister_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0xf660a76f qcom_register_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x68cb7ec3 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x86903274 mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0xf3ba9a96 mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x17ffcfca 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 0x398801ee qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x005e87b1 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1004c774 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x15545e3a cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x17d40e0b cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1b196a97 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1b5b189b cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3215f988 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x45fc3707 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ae3d433 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4aebc747 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4c1e654e cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ef836e3 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x510ed30f cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5534d54a cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55367f7c cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x66341777 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x698a10b5 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6b66a317 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6c94c17e cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x74c17367 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7ab71b7d cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7ecb4539 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7f92ad82 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x80d49a05 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x81d3f241 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf4dbf2c cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1a59ad3 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1c955c4 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb6570dc4 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb83994f6 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc60bfb31 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6929abc cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd0c33cf0 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd1752ecc cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3d86e13 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd457e8fb cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe125e4a8 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1fcd056 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe278e703 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe9624beb cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xebe0d8bc cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xed791db4 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xefbd6cfc cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf142c9f6 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0cc2783b fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x31bf6b78 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4192ebdb fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4c9814ed fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x572cd511 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5ce402c6 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5d5e93b8 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x65108203 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x93ca1768 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9873284b fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa4e7cb88 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb250c6ce __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb5cb6645 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbea313e8 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc2735e48 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xee756c26 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x45c799c0 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x66180a67 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x00dc05a3 to_hisi_sas_port +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x07f78ad8 hisi_sas_slot_task_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x1542e011 hisi_sas_controller_reset_prepare +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x15bb5371 hisi_sas_phy_down +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x201b8a0a hisi_sas_sync_irqs +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x242b99ef hisi_sas_debugfs_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x2b6efeaf hisi_sas_debugfs_init +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x3a9d844c hisi_sas_probe +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x40853f12 hisi_sas_debugfs_exit +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x41b5f708 hisi_sas_sata_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x49dadedb hisi_sas_host_reset +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4c11899b hisi_sas_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fc22123 hisi_sas_stt +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x5c429d55 hisi_sas_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x64b9cc5d hisi_sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x8f9f40c6 hisi_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x941c0a70 hisi_sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x9b807c91 hisi_sas_get_prog_phy_linkrate_mask +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x9cb6402b hisi_sas_stop_phys +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xab873c33 hisi_sas_phy_oob_ready +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 0xbce696aa hisi_sas_remove +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xbf7a11d4 hisi_sas_controller_reset_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc0b144f1 hisi_sas_scan_start +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc2f8a99a hisi_sas_scan_finished +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 0xddc7eab3 hisi_sas_get_fw_info +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe311f14b hisi_sas_release_tasks +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 0xff38846b hisi_sas_init_mem +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x0494d840 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2318d0e9 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7bc22244 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7bd4cf05 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc4732131 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc5eac448 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd81a3ec8 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0752bd17 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20013878 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x210eede8 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2667812e __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x274cae9e iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31c6407d iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x387ad4b6 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3ec4fda7 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x42a04425 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4eb1e9a2 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56ea6cf3 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5840d85f iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x59eb9340 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5cec8b18 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e8cf710 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x66c97f1c iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6940d317 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6f1881b7 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x71c2d761 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76e0e575 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x83ccc57d iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x873919b2 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e0bf1a3 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x949f5c60 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b4ec4a2 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9ecdf166 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9eea3a0e iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9f2e2117 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa3372ffc iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa45cc9c7 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb25e1878 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbaba4049 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc587e989 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc633a3f5 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc768e362 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc9a685cb iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcdd41b43 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd0478b4e iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd388c9f4 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd48fac60 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xea23abce iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfed6a651 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00a882a2 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x02f40313 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0693b46c iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1860abb2 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3a5a69a9 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5ba54b15 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5da8837d iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x757a75e0 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7c4691d3 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x85fa5b73 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x89e6e693 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa190e62c iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa6e57415 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb482f7c2 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb9a9f40d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdf70a6e3 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xff352028 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x04c0f6c3 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e6a2ec0 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1c21739a sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x38e3957b dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5f6b26d8 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68f37f85 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x795f0e50 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7da3d51d sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8ab347ab sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x91a4443c sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa5d0757f sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa7e1aaf2 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb200feb7 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb45b0c17 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb68170f8 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbe64a609 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbf4d9fa9 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc806605d sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd1845960 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd215e1df sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdac12374 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe028ee4a sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe06087c1 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe342127f sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0de37597 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13fcbaeb iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e7f3ed4 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21732d5f iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2fea2d4a iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2ff066c6 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3133dc5c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47867762 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4bce3ad6 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56140717 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56e6b3a3 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5aa2cc37 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5fc51d71 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x615fc408 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x68e479fa iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x69fbefb0 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6a07fc2b iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71262f59 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x775fda94 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7da7af69 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x804d5256 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 0x852a5838 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x931ad677 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9e1bb382 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa0ac407d iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa278a390 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa33eb3e0 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaac3519d __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xad943ca1 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaea92c90 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb19ed6ab iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5b79558 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb6370169 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb87bb647 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9bc3c58 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc30d1277 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcd468905 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce6c62d6 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcf914837 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4697d5b __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd7b0632c iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe9ad0a59 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xea1f0d65 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfbcf85b7 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x2c8a9490 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5a84cc28 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe0cda708 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe4c0b3af sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0cf8b054 spi_populate_tag_msg +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_srp 0x096cd935 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x0e8db7c5 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x148045a0 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x509fd2c6 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5c68f0c3 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xdcda4c6c srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x09bacadc ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x215ea038 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x390c5cea ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x50956aa2 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x781655ab ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x78c8375e ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x78e9cc9c ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x7ea48807 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x80ed6e6f ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x87415e4f ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x8ac93c72 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x96fb472f ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9dafeafe ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa76113a8 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd5d9b3ac ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x0c4ad54b ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x2485ffe6 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x43010961 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x4b76dac0 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x81589610 ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x9caa47e7 ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xca56c72b ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x08644e20 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x3aa5088f siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x836932c6 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x948f72f2 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xdcdb9fcc __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xf6281e26 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x04ca2b1a slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x062670ab slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x166f1326 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x19bd3f5c slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1f55c537 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x335bb0e6 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x452d3a77 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x456b52f2 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x487db57e slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x48ac9d9d slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4c9bce1a slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4dca10f3 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x50bf596f __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5a0fe1a4 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5e7dcfd5 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x61e0894a slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6359f761 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6e151cab slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x74035c8e slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb10ee72a slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb4aa96d6 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcd80121f slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd36f930c slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe19a4c79 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf083e793 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfd14240c slim_do_transfer +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 0xa561fe75 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 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 0x5438540d dpaa2_io_service_deregister +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 0xb1be75f3 dpaa2_io_store_create +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 0xc276010a dpaa2_io_service_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x58f2c3bc apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x753966e1 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x79c321af aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xd8bceb27 __apr_driver_register +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 0x07947672 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xa1c6a5b9 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 0xef910687 qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x3363f0a5 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x94514c5b sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xf05e372d __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x6cea9140 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x24279261 bcm_qspi_remove +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xc59964f0 bcm_qspi_pm_ops +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xebc53312 bcm_qspi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x2b61a8a1 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5dadb442 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x70f7b4ea spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x87325add spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xa35206c3 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xac64b012 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0d624dd0 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1b75d558 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x3ba47500 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x3c986002 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x43627d1a dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6f8cca9a dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x7d6ceaf5 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x92476bba dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xdd822dd1 dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x0733851e spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x8ad655be spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x9e8a0e90 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1b3cf4c0 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x317f820d spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3f38799d spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x48c7421f spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5daf7538 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x74a02f7a spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x756dc488 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7c9c1477 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8693eb44 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8bc8b555 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x93631506 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa3489cdb spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xbe2350ec spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc109bc7d spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc506e2a4 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf60098cb spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xfb9c82a6 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xfdc24f15 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x36b866e5 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x01f4ff8a comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x02c69874 comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x06d4d4fd comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0837e989 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x15a4deac comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1e64f67d comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2dc96fd3 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2eee8806 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x36ba4d6f comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x37a79a79 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x37d665be comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x39044c0d comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x458d5060 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x47a44990 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x51cd84d8 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x69157d7b comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x71281f66 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x75fb5309 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7e1154d4 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x807c9807 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x88648315 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8bd3354f comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x909cd284 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x945bb6dd comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x962abbf3 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9f33d736 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xaa07ed51 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb408f8fa comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbd78fcb3 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbe2ec2fe comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc10c070c comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd8a1c53e comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xec8fc898 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xed4b9a1e comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf52705ad comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf9380848 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x16500776 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x3d6af41c comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x433ca0dc comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x5eb7ada8 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x6ebcd017 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x9753b447 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xa572dc72 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xe735134b comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x13e748e4 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x2a00f6e6 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x85f0bfdc comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x976bf8db comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xa5be1198 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xd1d0f095 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x8c4cf10b addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x0f6838f5 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x175d0a1e amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0x29d16679 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x1020a811 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x11336dc5 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x2fc00f3f comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x66d3b712 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x7946c257 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x7d88ecfb comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xa1773063 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc1efa280 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xce7d94e1 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd1f2885b comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe072e3fd comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe30799de comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe4451b09 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x313dbe35 subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x7c26ab6d subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xed3838c5 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x3816a78d das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x02896073 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x0e390225 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x409098bb mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x5054e8fb mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x5540109c mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x59b75a67 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x64c42bab mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x8a954b57 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x90fd70ed mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x98cf464e mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x996e2b69 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x9e85a3c8 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xe0c77d9a mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xe58c826d mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xfc862258 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xffef0978 mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x2a472d2b labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x96308462 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x07cff6f0 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0ce9e9bd ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1bb8382f ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1e2cf7ef ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x32cc2e4f ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x361ee1c2 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x37658c6b ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3d4c37f0 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x69aa0815 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x712ac74d ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x80c54cce ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8d4eb8ca ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8dcfdb09 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x99880b01 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb0134a19 ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc5e1146c ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x573ca01a ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x883cf229 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x8af89686 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x906d2491 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa34c45a0 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xfa4c9025 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x2309d6ee comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6a218b70 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x9c281af1 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xaf09964d comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xb49ea55a comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xcc2edc55 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xf5b36ded comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x04f0707e anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x26724dc4 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x2a2b57fb devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x2ef4eae8 anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x2f19126f anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x3567f9b6 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5ffc80b4 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x61cb7863 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x979f0649 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x9b3e9aa7 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x9feb374f anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb62767a5 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfb4a45f0 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x0c4623dc fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x8480b23f fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x886626a8 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xc82f51fe fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x007b0565 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0a64f83e gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x473a4b24 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5f89fa45 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6021f2c3 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x709533ff gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x72072999 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7cbb9d22 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa4bfc985 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc1417106 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd367aa5c gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xdddb1ee7 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf8db9520 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x0840be89 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x13123bb2 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x29c3fb76 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5040c234 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x74a9a9dd gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x793f831a gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa118a4a7 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb72ffaae gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd1b30dcf gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd7568589 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe2709280 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xeae9bfc4 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf1bb3aff 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 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 0xa95cfb4f gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xd3253735 gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x24455aeb gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x95a3624c gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x37f3bef5 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x70e75a9b gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x20ecaf7d adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0x1eb022b8 nal_h264_read_sps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0x23aa2327 nal_h264_read_filler +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xbd5e12e4 nal_h264_write_sps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xcf3e2bac nal_h264_write_filler +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xe994780f nal_h264_write_pps +EXPORT_SYMBOL_GPL drivers/staging/media/allegro-dvt/allegro 0xfd5aaf1f nal_h264_read_pps +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x00c55032 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0558f8cc codec_hevc_free_mmu_headers +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 0x2c82d4df amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x335a6e9f amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x346660f3 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x3862db2d amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x3f6092b8 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x40925845 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4c99a464 amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5d002e0e codec_hevc_fill_mmu_map +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 0x70528157 amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x768e2358 amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa0c90622 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xb714871c amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc19df6e2 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc4bc6f5d amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xcf4c44d9 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xdcd4e9f7 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe313fad4 amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xfa87a83d amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xff8efbb1 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0573ccda spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x39e8e114 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3a62422a spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3bd1f08e spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4ba928fa spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4ea7fc14 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x55774b15 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5dbd8493 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x62621503 spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8459865a synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8b75f909 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8d93e1ff spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa70bff65 synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xcc7ab7a6 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xeec4ba80 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf4eb9d0d spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfebd715a spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x0979f151 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x372dd191 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xa6993966 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xc5a8a82d wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xd195bb90 chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe1f4136d host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe7e5b472 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0edc9008 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1b5d8949 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x26e027de tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2eebe1f2 tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3529bc23 tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x36f4dbda tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x40695fe9 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x43821474 tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4cd177b4 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x535f2f97 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6a6c5bf3 tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6d2a165a tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7149d344 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x87303a13 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x88e90386 tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9a36f429 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9db2a1d3 tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb235c367 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb4c0b878 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xb6eec7ed tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdc694435 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe0bb74f0 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xee82e8c8 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf730d65e tee_client_get_version +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x08b472db tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1a6fb270 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1b84b4ed tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2419baa8 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3403196e tb_ring_alloc_rx +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 0x542fdbfd tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5ee081d5 tb_register_service_driver +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 0x66d2bdad tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x70211799 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x707f7ba7 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 0x888d5798 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8cd04169 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x958c200d __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x97ac63b9 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9c0d97a8 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3f0c36d tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb712b2a4 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc4b64009 tb_ring_stop +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/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x17deb64d uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3e575ba9 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x53958326 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x6e458b06 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x3c8b3b60 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xcfdcc168 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x1656c969 ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7ce048f8 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xff66db09 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1c537594 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x39717284 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x3aea0cb3 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x9d3f9ada imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xa48c16b1 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xfda56240 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1a60a7c2 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x2af98353 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x576fc5c9 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7bac2fd7 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd8238437 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xe7a25a4a ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4789664a u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x543ed6ce u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5d87a79a u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8817f1f3 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xb7415713 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xec954af5 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x15ca5f33 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4f1dd62f gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5445ac96 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x591ba5f8 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6984365b gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6ee43392 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x71290228 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x83bf4544 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x86e0d538 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x87c3cdc2 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x92555d03 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xb000d26c gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbe513333 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xdcce2e30 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe5635fe9 gether_get_host_addr +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 0x69abc543 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 0xc86e737d gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xca4b03b1 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xec748443 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x23104cb5 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x57f469c5 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xb9466e03 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0386e66d fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x10d127cb fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x12f51d59 fsg_show_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 0x25d7c086 fsg_lun_open +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 0x2f21cd64 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x35f22a4f fsg_store_nofua +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 0x3e24dcda fsg_store_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 0x56344daf fsg_hs_bulk_out_desc +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 0x6f6c647f fsg_common_remove_lun +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 0x9f4a708c fsg_store_removable +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 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 0xbd55c8ed fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc0efa59e fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc83e1f5b 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 0xdddead42 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xddf36a2a 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_mass_storage 0xf7303852 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf8b27fe9 fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xfcb1e432 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x05b718e9 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x060496c5 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0a9cf948 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0c118336 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2215ec8e rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2dc90c4d rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3702068d rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6bf76ff6 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x751e556e rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x881f2a4f rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb14ed90c rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb2399360 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc0e3c1d5 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf189000c rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xff8420b3 rndis_set_param_medium +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 0x0cb891fe usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x161bcd18 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x238158d7 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2a146890 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x329e4a9c config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x374f8ec6 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3c836334 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3f097097 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x418598ae usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4dd82f11 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x51149234 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x596043e9 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5b3e6930 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x718eef0d usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x75adfcf7 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x76aa3a6e usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x84cd1c23 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x913a2570 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9a2d6325 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9c4e963d usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9f36ee41 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa19d331c usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb72d1b51 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb7b1bbd4 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb7ebaeed usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbca4a0b0 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd27cd3a4 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xde3113fe usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xedf62945 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf3c8d877 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfc457d88 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0cbe226e free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x1e328834 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x515a296f init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5242cfb9 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 0x6107def3 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x992fdb46 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xa26ec0c5 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xb5e968c9 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xdb954869 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x041b48db usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0683a365 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 0x0ab06e4c usb_gadget_deactivate +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 0x10a042f2 usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x11189d69 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x197fa2c4 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1dba83b8 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2607ef70 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2eee6ba6 usb_gadget_map_request +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 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6295c2ca usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6b261be6 usb_gadget_unmap_request +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 0x7f66b49d usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x88a9e191 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9a9a04f7 usb_gadget_set_state +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 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb29c54a1 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb4e87574 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xba303ef6 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbdd1a7eb usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbeb53693 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc37481aa usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd0c38538 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdd106181 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdea2748c usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe5e22a62 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfd7af2e6 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x68c2097d renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xf47ca9cb renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x4116688e ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xb119d6de ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1bbbe551 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2a242e29 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3f500998 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3fabc34c usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6b2ccc60 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8d3582d0 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xec214e66 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf1dea8a0 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfca0f1ac 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 0x34bae393 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x381f9d83 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x60638452 musb_set_host +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 0x9e65ad8e musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xb1937533 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xd6a039c3 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/phy/phy-generic 0x5a9f3c99 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x68e333d5 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x6e4285c2 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x7dd70270 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xa41b8ed2 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0xd09826f9 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x35208e0b usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x023fd072 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0b9cf3ae usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x23bd3c8d usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x25936dfa usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2c19f8c3 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3eac01ca usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5210be25 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x54b8d385 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x69a56983 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c5c13cf usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x86765eb5 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x87a1215e usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9d0a70ae usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa201ebff usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa6e98575 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb2f230a7 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc2c1fd0b usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd74290b9 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe09d545c usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe62a47ff usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfb75bec4 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x0505ce9c dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x6ccaf16c dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc07bc266 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_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 0xf34ac351 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x04a3ee43 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x100fb8c8 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1e6d559d typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1fc9e222 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x315f9e2f fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32c77f38 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36aec674 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3dfc61a5 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4198f6aa __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x462fff35 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4d0f43c2 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x51f923d0 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6144d713 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x63b7acbf typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x72b22983 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7527476a typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x754ea347 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x778fffdc typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7a6331df typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8ca5bf4c typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9692f291 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x992a1397 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9a8d01f0 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa2e46c63 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa741a1bf typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xafda8d4e typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbd6f2d13 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc541b9a7 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2420d55 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd53b731b typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe9d33f1d typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf4887d86 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x0cf985ce ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x26db4db7 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x536e1b90 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbace9806 ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcadc1de3 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcbb6fb0c ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd77fce09 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xebf369d5 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf9fbdd52 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xfa87a2f9 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x13e53166 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x16561471 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x18131285 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x4fec651b usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7f6f2c32 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8850ad40 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9967439a usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa9581514 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xaf5e06b1 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xbe9487d9 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc62d2de6 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd75bd9b4 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xfccd31df dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x71b6d45f vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xd61ca31f __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xd8125e21 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xf99b985a vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfaaec15e __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x48709091 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x18f29978 vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x20650fd8 vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x2c4d2b5d vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x37aa2874 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x167edc00 vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1d534be5 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x45e9ce4a vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x88212b39 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x9b2ffebb vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc5df386a vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc76a9e8b vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xeece7b7f vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xf05dd1f6 vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xfad0c249 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x34f54fcc vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x503da6b7 vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x059bd435 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x085de523 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0b05642d vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0d9a19fc vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x16044211 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4534ebf8 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x49ee5674 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4b25f1e0 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4b3bffc4 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4b6c152b vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5909bb2b vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5a440961 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6932dcbe vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6b414bbc vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6cd68417 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x70e0f3cf vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x72d43b74 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x88bb3318 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x94cbeba5 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x969e6212 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x99fb4cbe vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9e63f585 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa548fc2d vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa6a2bd0a vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa977e886 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa9e8c131 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xad5a91c6 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb8558f5d vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc343a5aa vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xccce9650 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcce5bb92 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcf756cff vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd2bcaad2 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8a9ba06 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdef2d5c8 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf0583a8c vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf07e9f7e vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfb4d9fd7 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfe542398 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1907b53d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x2e5fc2e2 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x53f4c7ac ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9457069c ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb63251ce ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc54d062b ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd77c586e ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x67d739e8 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x5297fec0 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x9e675b78 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x5ce5ddbd sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x6fb53702 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x143a46f1 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x31c6fe7f w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x39b76ccf w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3ad565e9 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4d5dd390 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x55a8aa17 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6dda4b20 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6ebd97a1 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa1c8ba57 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa3155e07 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb52ce9f0 w1_write_8 +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x172085b7 xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x8d7bf1b5 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xa42ce131 xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xbc78ecc8 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xc4d24c58 xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x313fdd29 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x5dee3c53 xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x33806996 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x35bb97ed 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 0xacf1e8eb 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/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1fbdc2c8 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x21945f0a lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x264e1731 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2c07f6a2 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4025a990 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4b60f458 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xae7b6cd4 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x034c235a get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0925099e nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1015c47d nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x11656e80 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x12579ed2 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x12879ffa nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1422daf1 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15f68374 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16bc7509 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18bdab9e nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1cdd194a nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e45a434 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fe75eb3 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x217dc33c nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x221503ab nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22db2ab7 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25a0e6d6 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x263a2df1 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26cf1803 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27ab5d3c nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28a284e7 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c6209a3 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ec3b9a5 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2fd936b8 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3542efbb nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35700983 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37d650b1 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38308a7b nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3856b830 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39ab18e2 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ce3914a nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e39cbff nfs_pageio_reset_read_mds +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 0x413cc3bb nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x41e0f3b4 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f7b7e5 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x43ded41c nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44212b60 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44d7610f nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46772018 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46f7f4bf nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x475bb089 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b799cf9 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ccae3ea nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4dfd8857 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ff70356 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51e4972f nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x539c3d27 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55fba816 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57f661cf nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59155478 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d02d501 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5eed9642 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x65c1d967 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6662b5c8 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x67124edf nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6772977f nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x693eacbc nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6aabe033 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70fcd2f3 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x71cce90f nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72335833 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78400226 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78c9ec56 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79a86472 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b556436 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fab0918 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80aaf68b nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x827091a5 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84fe49d3 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x877d15cf nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8bc6e2a6 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e9b7161 nfs_rmdir +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 0x922dd780 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x92e04f61 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9367041f nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x93b17aa5 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97c1ba3c nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9943edec nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x995adcd6 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a057d31 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ae240fd nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bfe1e02 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e482a65 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ea9d125 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9eea3e97 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f2019c9 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fa13b78 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa11ac2d9 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa13a6d51 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa337330c nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa385fe37 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa82b648f nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa877c459 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8abcded __tracepoint_nfs_xdr_status +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 0xabca54e2 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xabfc2feb nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb23cd641 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2463f8b nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5f5c91f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb7fe295d nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9b051e3 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc6b2c88 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf93aea6 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc53791c2 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc724c656 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc81ac48e nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc976a10f nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb05bbd5 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbe0b6de nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcdfd41d8 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf21cdcd nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf5108a5 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd64e815c nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7ce5d78 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb514109 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbc0a32b nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc2d0b58 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe2d98344 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe371895e nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6d9cad0 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7d44a7d nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea2020a9 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea87657a nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb3e66d3 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec25c651 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec56ad24 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed77a125 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf24a63b3 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4e0a2b3 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf75f8d19 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe7de2ff nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x1ef2dce9 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x021c4170 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ade27ae __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x119a3493 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1270d6a0 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x163831c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b88f694 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdde079 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cfa9a8e nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f78bb55 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x208f5c30 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x245a7282 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x25a0b680 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a10fdd4 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a756768 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2bc69696 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2c755ab6 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30096f87 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3045bfba pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39ac52fe __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7d84cc __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3cbd9ef1 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40bc3c6d __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x448cf201 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4e22054d pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x519bc5ba nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x55546275 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5669335e pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5986eb18 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5bda5bc6 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5db7a896 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x611c7e7f pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6331b262 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x644eef9c nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x704cb865 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x72612ceb pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73341cae nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7382604f pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73ab9de1 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75b9ae35 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78ecf37b __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x79d91023 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a6eade0 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cbce69d pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82a913d2 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x90553770 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9409e20b pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x942dfe4f pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x97e51fe2 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99517a6e nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b945481 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9c6614b8 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9c9e9990 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0273d24 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa27da6ac nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa319bfee __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9b78cc9 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab2ffbdb nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadb326fc nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb7a475b7 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb934a99b pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb94839ff pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc80c28b nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd756ed6 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf522761 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc8eb5320 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd5f2d797 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6ed7dda __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd7a72657 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc29230a __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf05942f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe25db27f nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe4ae0940 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed031d28 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed8397eb pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee960d9f __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf027efb9 nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf414ffdd nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf468e247 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf6f8d400 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf9631d7b pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfdca0823 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x343ad86e opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x45382bd0 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x8fd5fe15 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x85f242b2 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xf63c2b58 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x115b8a59 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 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7eb7d4f5 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 0x8b9cf657 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb4ee0e0d o2hb_unregister_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 0xc0fc5614 o2hb_setup_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 0xeedf9564 o2hb_register_callback +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 0xfdc473d3 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x2da20b89 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x40ae9dee dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc5f612c3 dlm_register_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 0xe3c7fcb0 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xe9400894 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfe343f51 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 0x24ba511e ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5a88cd4b ocfs2_plock +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 0x95a0465b ocfs2_stack_glue_register +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 0xe720eb60 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x3809b8b2 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x3afabaaf register_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3b137dd9 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xb0f13c68 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe21c9c32 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0x4370baea poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x002943c0 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x6f495013 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0x5b3bb562 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xc34499a5 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x3733f6b9 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x4728e9d2 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x59faeaf2 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x6c109b03 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x7faf28c9 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xe1da1af7 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x392d49c0 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x532a473a mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x5e34a8b8 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x9c45707c mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0xb2451ee2 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xf6fe6f82 mrp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x7cd31569 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xa9c11daa stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x118400ac p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x53a45d3f 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 0x5ae59294 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 0x37679385 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x3f7288c5 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x74c54b69 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x83e59f5b l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xab7572a0 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc8dc46eb l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcd708a41 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xd8b43c5d l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xda1e960d l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x6d37f0b6 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1a86b405 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2751d9be br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2fc8f3ff br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6823fe56 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6a7f86b1 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6f8fce50 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x727d80e2 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x784e1f52 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x80b04de1 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x826a4713 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x837f7077 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8e6870c9 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x98df7d1a br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa0d66b94 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa6fc23d0 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb0ddc220 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd146dd41 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xfbbd5a3a br_multicast_router +EXPORT_SYMBOL_GPL net/core/failover 0x6358dcd2 failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x774db196 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xf0a67eb8 failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x001a2ad1 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x05b84592 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0b97e95d dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0cacb1b7 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1ff7289b dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x276c97bc compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x29281bd6 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c296018 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39a555d3 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c109870 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4771f663 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d23865a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e58d1fa dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x50dc0908 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x615c5715 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x629eb0a4 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6374c382 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x67a34698 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6ccc39a0 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x722630de dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76e659c3 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x777d51f1 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x807a451d dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8424dd57 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x932ace1b dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9b446b1e dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2624a42 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa9628d3c dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa992968f dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xac371e20 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb9116fdb dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc3b6a26c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc5c40213 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcbd588fb dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfaf9fcd1 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfdea84a7 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3f4be1e1 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3f6ff8b3 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x498d4443 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9f37010b dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb8250af0 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd658a57a dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0b8769c4 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x124f9588 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1e9a7c4c dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1ead6e20 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x24f64c67 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x27c5d18d dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2e330ef5 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4871da26 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4b75ade7 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x54b80a2e dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x570f845b dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x60f19b13 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x64843063 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6cc022c4 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb51ea963 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc1c22cd1 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc4112c6f dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdaad2b2b dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdc0ab7fc call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xedfe1ee0 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf5c5344f dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf8accd2f dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfeaa4e50 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x14339d8e dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x25277920 dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x2550f08f dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x6b799cf2 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x7919b840 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xd8896599 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xef9d80ad dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x0393438f ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x2d597e01 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x4a719d3a ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xb3aeda6d ieee802154_hdr_peek_addrs +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 0xb3f8cc93 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe1f66861 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x13aa4513 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7d78c062 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xb8fdefd2 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0x08321e9e gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x116c6097 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x308af151 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3c658fa1 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x896b2495 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x91aacd29 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc25fb110 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcbd2bffb inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcf59a11e inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf3648a89 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf61bef32 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xc8657f88 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x02c3061a ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x03ca3551 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x17b64582 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x20d524cb ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x27bcbfa4 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2c2f7af1 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x459b75e4 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6c21f065 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x862a4e43 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9d03dbea ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9f813b14 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xcb48c136 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd87d551f ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdd3737b3 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xebcb9e62 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf7f44c19 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf95ee9fe ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x0b31613d arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x27225fa3 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x220e68f2 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x1f210122 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x31776c6b nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xb774d47a nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xded50c1e nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xe99e2ed1 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xf882994f nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x637a0190 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x29b5bab0 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xb4b28816 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xf1999b84 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x1d5c7944 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x7a5675b6 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x385648fd tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8905cfe6 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xbdf58f49 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd4156b70 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xdaab5f18 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x38d74337 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x404142c9 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x4d88a25f udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x5a766ba1 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7b6c107d udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x808f7b9c udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x816fe0e1 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xfd88285b setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x2b0a79d0 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x669e4fc3 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x9a17adad esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x21d9c499 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xe220ec97 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xf84710f5 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x63aaf03f udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x785a46be udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x170e2e89 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x773a38af nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x83e21ef8 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xe0b9f9c7 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x10bb70cb nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x1b5f2aa4 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xe068da3e nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xe194b2dc nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf898c100 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xe41da0f9 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x6f346983 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xdc738c96 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xf8ac6fa9 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x95cbbfbb nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xa0a64e79 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0a1ee113 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0eb6083d l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x13380552 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x150d6643 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5523d7de l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x63c6e441 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x89ed29e9 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9c166d82 __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb36acddd l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbea084ba l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc38c65b4 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd0604a09 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd4dc0975 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xddced71e l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe46a12b4 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf8c5c523 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfe018e06 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x6286a2dd l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x32ca9e79 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4012e988 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x570ff115 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5d407011 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5f907566 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6b2782e9 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6cd6a09f ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x71431240 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7c0ca5aa ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8c2f0c45 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8f014055 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9730f541 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9f4fef5c ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb9167eff ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc95c3d39 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xce1c6fde ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd7b00556 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf5779b57 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7765797a nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xc6833bcd mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xc8a03662 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xd2c521a4 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xf64337ed mpls_dev_mtu +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x02a08f1e ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1381ccd6 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x20a35a58 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2613eb50 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x337328ed ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x48e29b18 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x494cc3df ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5839f798 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x69f4731b ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6e628d78 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7f0d452e ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8f427ffb ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x925bcbd7 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x92bd9e64 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9ac54019 ip_set_nfnl_put +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 0xad0da669 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb25bd159 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xccdffeaf ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xddbfbbf7 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x0c9d8cb6 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x32bbd010 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x486b8d2c unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xd711ac68 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x147dbdae nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3ff55ad3 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x6bbe6993 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7db141e5 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8c4cb9c3 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xd217212b nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf97ad72e nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00f635f1 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02aada4d nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x031867d6 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0b27a62a nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1545c295 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16a55634 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x186400a0 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19cf5c8f nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1afcdd84 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x230aacff nf_ct_unconfirmed_destroy +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 0x2c8546b3 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ff71ebf nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3088461d nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x313d2ade nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32a99f73 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36161b11 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38643301 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3aabc488 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x42e5a0e8 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44819c25 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x451c0367 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x451da080 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5670fd67 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56c45710 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59f33f17 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5fe76d74 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6405e943 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x65d8fdbe nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x65dfb4f6 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66512903 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6915e20d nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a5e5a40 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6dd662b7 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x709c6e8e __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71cab2c3 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x748a3003 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76ad2a44 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b1dd22b nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x80f93fbd nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x82ddc785 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8344e9f1 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8729e3af nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87712b6b nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8850d302 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c0b8dd0 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x938b0340 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x95e19a66 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96d7b584 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9822ceda nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x988c4df6 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98d05cc5 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa153d432 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa85e1af3 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa67babe nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaaea7ad8 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf4bb3f0 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb050609 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0095366 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc062a65d nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc16d1141 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc20c4a79 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4b151d2 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc92fc7f9 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf14a067 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf329b76 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf4cebb4 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd04794ef nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd12e6183 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7090991 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8edef6b nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb633aa8 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf1fb65d nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe585720a nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef0afd3f nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf011d878 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2f86378 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4c1e9dc nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf60c0a84 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf77bfafc __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf7d89202 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfdc9a71e nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x5667cc60 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xfe9c9982 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x404b72ae nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x01eb69dc nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x14fb1e8c nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x16a36ca8 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x36126c6c set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a8ba65d set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x68609162 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7d843561 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb6d58667 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdf0fa11f get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf9dcad65 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xffe5ae0a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2864f26e nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8af34835 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x903d8275 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xeb74a81b nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x08f35903 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0c4d0c58 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x223d4a9d ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4f1ca2b9 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fbb4ab7 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa9e11c8f ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdb05e231 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xa79aa980 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xeb3a0a61 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x44538fbf nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xd07271a5 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xd6c24a98 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x12769cd4 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x167dbf28 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x183e0c4d nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1c0a011a nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1dd9c61a nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x32dda197 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3e904db4 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x48ac5bcf flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x524626df flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x58299607 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x60130b93 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x80ed58a9 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x80ffd88d flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb0fd6556 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbf5c8ab6 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe0eb891d nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfd1d19d9 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x48977831 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xbea6b2c5 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd34d9a5d nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xf700785e nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xfd7d0f95 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xff242671 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x006363c8 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x32730d6b nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3f377839 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x40c06e91 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x42331867 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x55365501 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x55514d80 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x55fdab8b nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x62821071 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x72d1f500 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8cca5ab3 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8eadecd6 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8fd7a6e6 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x93c58a23 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa51f9283 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 0xf07ceab3 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x0684b3c9 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x28e6d987 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x318a035e nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x550114da ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5b9aac8c nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x83e3e202 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa35956e7 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa8c8225d nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc2d88d8f nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xdf4d444a ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf7d56535 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x04c26b4c nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06d744af nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x17319fdd nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x17460767 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x183bc97d nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1d333874 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1f21b04c nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1fa9d31b nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x276eda1e nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3f23dbb7 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4c01a0ae nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5155d25f nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x51a277e2 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x60d56516 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x738737fe nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7692821f nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x830b9f85 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x841225d6 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85d53f63 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x98edf710 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9a1a7543 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9f2a2a9c nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xafaaaacc nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb68cfd43 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xba2b7341 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbd8936ae nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbd99ffad nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe811175 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbfc1c028 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc40807b3 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd4a553a7 nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd7356a2f nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdac9ab66 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdb0df342 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf9e1325d nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x17d76119 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x73857e62 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x73f8643a nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb4843e10 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd4150d54 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfdd79c1f nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x51bbfd4c nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x8fdf78d6 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xfbd63386 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x0137af02 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x55dec78b nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x380188c0 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x3e2870e3 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x616ca769 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xb9ac940b nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x73dcb40d nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x929a6070 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xa9d830e7 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 0x08a768f5 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x38c3721d xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3c0fa4ec xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x48a88b28 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5607e180 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x59f22125 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5efd573f xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x66153912 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6dab9de9 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x76dab072 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7cea8bf2 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fabbf10 xt_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 0x871132e7 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 0xa88007c9 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xae7a986f xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb01661db xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb0576a41 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbecf2ca4 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc47bed1d xt_compat_target_from_user +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 0xd68ecdef xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe78923aa xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x6a779502 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x6bdafc12 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x1f309cc2 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x54e61671 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xa18080e6 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x83f82cf4 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x9fcd2486 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xbdb4338b nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x1f1cc80f nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xe223de0c nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x0695a994 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x15b5d219 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x22e7dc61 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x975f20c4 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf35ca52b ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf8ac72fb ovs_netdev_link +EXPORT_SYMBOL_GPL net/psample/psample 0x4c5edad1 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x84477186 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x8707ebfe psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xf928509c psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x4a667b19 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xc6256230 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xda85fb46 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0b230546 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x172a4a4b rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x19999f21 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x19e51ad2 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2f1c8dd5 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3cbfe7de rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x3ef5e9a2 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x4416252d rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x44e793c3 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4aaabe03 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x520aed8f rds_conn_drop +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 0x69e2f583 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x6c3ba578 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7a3f2452 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7f400422 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x8168bfe6 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x85febb18 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x8c4ca921 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x8cc11027 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x9709215e rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xa23e12ec rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xa35cbb3c rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0xb113caf4 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xb19bc495 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc13bfe8e rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc5aebb12 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xe0ee617c rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xed2beda8 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xfc403b00 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x0acc8a86 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xa76061ab 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 0x15aeacc6 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x176c97ad sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x94161522 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0xf27e91c4 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/smc/smc 0x026f0b03 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x1cf0538a smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x20c284b1 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x5e1ddd3c smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x920c02a7 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9507271c smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9d4b19ec smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xdac51bc8 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0xe35f102e smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xe83b9b76 smc_hash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3ecd87b0 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x535d5137 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8275dafb svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb6ba786c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0097d480 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00e74b5f rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0194c842 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02f379b0 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x035fea3b svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03ddf10d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x051719aa auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x061e6079 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06482699 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06ddd113 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0745c2c4 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0787ed80 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c5160a7 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ccacbea xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cfdadb9 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0df348db rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f7c5f0d rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fa9c524 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0feaea95 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10b944dd rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x118de707 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x127c305b rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x127fa3c0 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14d75d78 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1595941c rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15addcbe rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15cbe900 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19bdcb58 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b4e07f7 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c6dc671 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e3624f7 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f8bc40c sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1faaf365 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20049ae2 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2040eae5 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x210cde5d rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x211d8a92 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b38aa0 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21eb8f1e rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22a539a4 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22d07d4d xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23705997 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25387f2c svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26314319 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29784810 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29abe01c xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d5d3904 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30c82c06 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32c4fe40 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x344a65aa rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34654d11 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34fe78db sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x361e7fb8 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x363eb8df rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37709cd0 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38a305bc svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ae00def rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aff002a svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b9a75f0 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dbeb7bb svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ea5623e rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x405373df rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x417ffbbf rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x419a7a38 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4228d36c rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44a1573a svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x451ed3de rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4528fe9d svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4665e8d9 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x482bc07c xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48cb894e rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a60e8d8 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a6bafbf xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c425c9c svc_find_xprt +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 0x4ecd5040 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ed72ead cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f437a5b xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fc400a1 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x521a9f5b svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54f9f29b rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56266c93 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x575ee2ac sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58481eef rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x586f024e rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5923e495 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a37f03f rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a772823 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b16773e svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cfeb371 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d1acde4 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dbc73e3 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dd525f3 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e30af77 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x637cdfb2 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x668c1205 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66e3a00a xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66e650b5 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ab6cf7b sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ad0fc0b bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b20ac72 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c88aac0 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6da90821 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dfcc5a9 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6efd813e rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71e631e6 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72631ed1 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x733b8176 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7465d8d8 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74d8e68a svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76514193 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76d518ea svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78573c66 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78b5e793 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78d331e2 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79ac1939 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a192252 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a300261 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e9e7b8e svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ecd6020 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x807982cb xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81b7caba cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82b7e4df rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82fbc51b rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8331d6eb rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83fc89f4 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x858a047c xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85f5df9c rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8766fcb7 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x877a0322 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87ce5d26 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89f66979 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a12f5a4 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bc5c756 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cef3e0a rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0b4e37 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f0f6fd2 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9055a28d rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x918d9938 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x919447af write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9278f62b svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93919fe6 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93bb1aea xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93bbb736 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96e68aa7 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x995c31a8 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99892b05 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ad0736b rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9df5b79d rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f394965 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb7040b svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0dbbbab xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2376071 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa272b4ea svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa37480bb svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa38af6a9 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5c06235 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6ef5712 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8610f02 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa644cfd rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa6e5575 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadf07082 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb072eb71 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb22d2dd6 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb266d02d svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb33ce68f xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb36516dc rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3afef93 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb402b994 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5201652 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb55bead7 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb72cb526 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7895046 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb986126e auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba4fe338 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba5394a0 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba6ee8a5 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdf180aa auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe464adc rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfb8ca46 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3781d92 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4f1dbbb xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc501479b svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5cafc3f svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7088c2c rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7f47aac rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc80d5652 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc8afb03 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce6c5451 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf075c3a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd03fb33a rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1df8f37 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd32b4e4f xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd36ccafc sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd45f17ef put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4fb0032 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6efa723 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7450f7c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7a3eba4 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb9c4ccd rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd5fa2ab xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdda4ad9c svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe088174f xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0a00569 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0ffb8f2 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe18883dd xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe541db97 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5bb58c8 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5f596e6 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe792def9 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7cf8741 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe982ae3c xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb4910df rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb7a5e5a rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee08f200 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee4913af svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee5c0aae svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0aac660 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf73b0818 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa6692b3 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb569ab9 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcf3e85f rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeead2a4 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/tls/tls 0x0025eb40 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x3054c757 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x36f447fc tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x60ede92a tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x01d6def9 virtio_transport_notify_poll_in +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 0x0decfff9 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e5c470f virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1940d284 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1f2acc81 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x266b3637 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2ce05a1a virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x30476b19 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x34fce1ca virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x389e5656 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3c8768c6 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4ae7f2f2 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5abd537b virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6076637c virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x83929085 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x83990ea8 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x897d3167 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa0758df6 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa3fd66ce virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa6663c17 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xac203e6f virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xacd3724d virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb8b892bc virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xba6ca8b3 virtio_transport_notify_recv_pre_dequeue +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 0xc070ff58 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc9a9a772 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd87d78ff virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe20795d3 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe9bad0df virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf93ba0e7 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf966a8f5 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x000a9167 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x01ffc647 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0dba518a vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1992bd6d vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1ed95164 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3107f7df vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b020b4c vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5391b888 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x81ad33fc vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8bd73c48 vsock_assign_transport +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 0xb23426f8 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb28389be vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc6daed82 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc93e5d17 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd5fdf5fd vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xde50c88b vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe8250be3 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf0d7f85f vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf43b094d vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf7a10bfb vsock_stream_has_space +EXPORT_SYMBOL_GPL net/wimax/wimax 0x30c3cd87 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3895a445 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3ddc97a8 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3e6cd883 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4b88665a wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4bf18100 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x92e7b3c5 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9b34df65 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa930aee9 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xad882e23 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xc080aed3 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdc947950 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf0549580 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x060d2759 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x14417613 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3ca3d095 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x55490afa cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5fc0fed5 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6dd08558 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x85e50a03 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e9bcb11 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9479cb7f cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9b25506b cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9fb2f17d cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc9c4a9d7 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe65f12fd cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe70eb007 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xec01122f cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf187b46e cfg80211_wext_giwretry +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 0x2e0e9e07 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x91971333 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xcdea194d ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xdd412374 ipcomp_init_state +EXPORT_SYMBOL_GPL sound/ac97_bus 0xee5199f0 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 0x2652db96 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0x2de55a47 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x3c8fb811 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x426e9b22 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x5d8e0e7a snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x692e6656 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0x8eeeee41 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x9f59be84 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xa09fbb48 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xac5c11a5 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xbb22421b snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xf83ab35b snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x893ecac3 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xb61e35db snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xcea2b2fd snd_compress_register +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xe0ab7330 snd_compress_deregister +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0342685c snd_pcm_stop_xrun +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 0x161f63db snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x20defab7 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x23e0d0c4 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x38f8c757 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x4330da7e snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x6eb17710 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x87f18f45 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x88f14aad 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 0x9c8f1b88 snd_pcm_stream_unlock_irq +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-dmaengine 0x2444386a snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x29bb388e snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x34892fb6 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x35be7ab0 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x435e096a snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x438faa30 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x56a0c852 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x5f6177e2 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x67a1d5e2 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x74141c40 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xba2857ac snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xced81738 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x01f91a18 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x76d12b27 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0d87c1a9 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x62b23377 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x93444341 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x9b058223 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x9f743707 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb3037c95 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb592a6b8 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbae69be8 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xcfecfbf6 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xdbd2e949 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xdf10beae amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe9e6b95f amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf7c187fa amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03c5fbec snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03e37acf snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x09296c1b snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a383a9b snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a6e5c4b snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0c9a3377 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1adf45ee snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b2c5589 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x20a8f4ab snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x227601b1 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x285d009e snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2a4228b0 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2de9d5b4 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2f7ec27d snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x325b874f snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x32a4d997 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x353844ff snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3866caa5 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x39f24d5d snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3a75dba8 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ee3b4bf snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3f2c03ba snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x431f5ca7 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43a5ee04 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x448d4760 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4bdda2e4 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4be1a2c1 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ede9b06 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5090fc38 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x514a9353 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5a3cb81e snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x633599a4 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x64532b90 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6f9e2302 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x713f4806 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x764c838d snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7e67a1ce snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x86730e4f snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x87671209 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8ab7895c snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8adff8d7 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8de30ab0 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x94bceb69 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9e4eb0f8 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9e77bed3 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa1bf38ab snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa3da2a69 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa9343a44 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xab07c119 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb5cb7dfc snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb650aa91 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbde834c4 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbf26ada0 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc6e92233 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8cd75e6 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcb9af346 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcccabac9 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd033449a snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd0a605ce snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6cf0a19 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd7fdf5f8 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd9354978 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe1c35545 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe251261b 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 0xebda0012 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xed211478 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xef86736f snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xefd0e7c9 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf01abe68 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf0bcfa4c snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf14c8b5f snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf2177532 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf325ec0e snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf3ed2896 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf7f127f7 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfae74d3c snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfc22d4b3 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfe31b136 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfe3f4e5c snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfe62e264 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x3ae1fc32 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 0x9052ff28 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xf7c672ac intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x00a82264 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x34ce79d4 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x593aa222 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7ad18e72 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd89ba6c5 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xdd4e13e5 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00e849de snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00eca343 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x032eb37f snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x05f8f7e7 snd_hda_get_bool_hint +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 0x0f7f0478 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fcb45da query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fdf9dd7 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13a1d04d snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13f87e58 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14de7bfe snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14eabed9 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1523c99b snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15bf7da1 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x17c9936d snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x17cd9122 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1826e4a8 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x195405a1 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19e03187 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cf1b04e snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x208c93f1 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2102a709 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x212fef4d snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x218e4640 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x229e528d snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2933cadd snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x295d21a6 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ae90aca snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x31122a25 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35cdbcff snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36c2f60c snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3875d94b hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a041b2b snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41eb3b8e hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44d50a2c snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x456f5004 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x478899ad azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a78afed snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d765831 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dc8ef64 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50b579d1 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x533ce7a1 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55d25663 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57ce0700 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57d856ce azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f9c67bc snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x604603ce snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x616b9b49 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6270bb28 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63be207e azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66aa3a28 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x678af3bc snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d4cc08f snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71ec6c25 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72abe672 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74f1fb3c snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b288cb4 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c018e57 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c56f08e snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c8d93d1 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e4cbae1 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81e27253 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83ca3fa6 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x84505baf snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x854a4b0f snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86309b0f snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x886214f7 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88a7b2a6 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x89f56e5f snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d338baa snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ecf9c41 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fc74912 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fe9066d snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90254b5d __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x904ae534 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90c79911 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x91024587 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x933858f1 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9842a66c snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98ff2a4f snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bcc1ec6 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c10c6a6 azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c23290b snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e0822ef snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fd72cab snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0fa2431 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2007682 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2c01acb snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4aa6bda snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa868ab6d snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaa1a4283 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb6aa486 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb801daf snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0864a14 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0f613c1 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3fbc9d5 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc9e98b3 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd5e3263 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd8ce444 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcddd8119 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcec98421 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcef617b0 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf9d5d0b snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1e05ca9 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd33fb1a3 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4315caa snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdae2d605 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf47a3fe snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe46afaeb snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe543bfd9 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5b57172 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8589505 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9a247d2 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xec58975d snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeef24213 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1dbbc31 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4e88016 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf879edfb snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd14e237 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe3cfbbe snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff7d8c26 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffca2a3f azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3d16acc4 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4200ba28 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x52407d01 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x57bab34c snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x62558239 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6bb744c9 snd_hda_gen_add_micmute_led_cdev +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 0x77dbfe15 snd_hda_get_path_idx +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 0x88938cb1 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x8de9234c snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x8f7e8cb6 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9acfe178 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb06d4228 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb5719305 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc122b8be snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcfe82e20 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd06ebce7 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe1d66bca snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe3939019 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe40eedeb snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xeb1a803c snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xee09be44 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xfb1007a5 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x04189cf7 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xd6445d54 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x014c10f0 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x180d6d1b adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x36e855d8 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x70af31e1 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x95bcd01d adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc6d8c6b2 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc9d8686a adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xde00013c adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xe40ba71d adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xf40b721a adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x07781ae3 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x34566a6e 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 0xf7083922 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x26498cec cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x9665052d cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x9af5f2f0 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xeda942cf cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xef8dcd70 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x340b06c1 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x45ad37cd cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x9f2fe442 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x1cd485ea da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x784f8222 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xcfafd67a da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xbd91751b es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xc5b60648 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x51dc841c hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x18f9c983 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xf3f0cc68 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xafce8223 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xc769977e pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xe98f934a pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x0c11576e pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xa87e2e0b pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x0d2883e7 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x4a9e8f54 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x4907fe4e pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x51ba901b pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x544b54fc pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x8c1507ef pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x69f8f2d2 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7c882667 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x8c71ddc0 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x8fea3849 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-rt5645 0x27eacb65 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xe4a6735f rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x65a29e68 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x1cbc7916 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x2dda03c1 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x3816f7d4 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 0x59f88712 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6c479eac rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6e94d760 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6eb16408 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7824da1d rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7bc75c99 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x8586df0b rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb3dc113e rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x51ab6782 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x761c2636 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7bc370ee sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xc914721b sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xef8ef505 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x4beacda7 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x0fe2e9e6 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x2d9d69e4 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x6a658bd3 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xde5661fd aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xe8b31918 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x00dcae15 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x3a1bc72f wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x6546b6a9 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xf3e54bc2 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x16a65293 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x85afae1a wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/imx-pcm-dma 0xc4c5a965 imx_pcm_dma_init +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x84ec282a fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0xe5b4663d fsl_easrc_get_dma_channel +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 0x05655dfd asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x14d1b996 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1f22b9e4 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x278e8984 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x28c8c01a asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x37fcb6ae asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3826df0f asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x58ff4da8 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x60e3c4b6 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6217d8da asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x64a66845 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x78a89e67 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xab018f4f asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc2591833 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc3b14cc6 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe8dc9d17 asoc_simple_hw_params +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 0xf4b22a44 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xfb45d012 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0a184a26 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x11cba2cf mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x14231e27 mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x177f328d mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x21926318 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2508ac37 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3a005639 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x566e91ed mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6944c136 mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x72d90995 mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x73fd46b7 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x77eeee24 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7c446ca6 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x994e82e4 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xb6ddcb48 mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xbf32c136 mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xc43ed9ac mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xc4ac28f6 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd0e68f23 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd86251fd mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe726743a mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xea2327aa mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xfafd3e7b mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xfe2e0069 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x192c1468 axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x2775987c axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x2c4537c3 axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x49a4bd51 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x5a61a109 axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x61a653b9 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x67039610 axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x76cfafd7 axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x9cd2cf24 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x216268ee axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x4731aa8b axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x9258a990 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xb0e9b620 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xd0d0ab19 axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xd6361dff axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xf2948bf2 axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x6031d830 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x07d65bd7 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x1dca8adc meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x55fc74a8 meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x5fc023cb meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x6f7fe1b6 meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x904af46c meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xaf5cc780 meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xcd871323 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x158239f4 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x22fc365d meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x24e4fd27 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x6e01b431 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xd83a24ad meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xe25251e6 meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x2b0cfcc9 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x4f17b5cb q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xab1532c3 q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3997e13a q6afe_is_rx_port +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 0x4fbb8cfe q6afe_port_get_from_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 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 0x01d71b3d q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x151ae9d4 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x40299233 q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x5382edf1 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x689e402d q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6eb89e95 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x720ce413 q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7353d9dd q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x838f28ce q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x857330c9 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa06e9828 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd599e50f q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xdbedfcd9 q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe060c0a1 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe1531577 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xea75a5dd q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf40aaabe q6asm_stream_media_format_block_wma_v10 +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/q6dsp-common 0x17142e58 q6dsp_map_channels +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/snd-soc-lpass-cpu 0x22991770 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x4204663d asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x621e7e9b asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xf525aab6 asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x29f30b36 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/rockchip/snd-soc-rockchip-pcm 0xadca1ea4 rockchip_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x6c5d2bcd snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x8795d901 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0xa2585abc snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x014131f7 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x051f646a snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05fd83d2 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0696517c snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06dd8104 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0759d26d snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08434a74 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a74b43a snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a9bc1bf snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ab99bc4 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0cd0bb60 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f08d8ca snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1142235c snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15f5caf9 snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1650eb5d devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17241715 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x177f095a snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18178b79 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a13c635 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a1d2245 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a2b3f48 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c852d77 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d93580a snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ebc0909 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ecfc5b3 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x208759ba snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x235b6138 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23732b50 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x240e3720 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24a13935 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24f1c41d snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x250eebb2 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x256b0a8b snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2587ce5e snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25e55120 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x272f7413 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b930f5a snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b976cde snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ee4a1ef snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f0a9fd2 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x304cd863 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x308119d1 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x31f7096e snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32fa5400 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x340da854 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x35d9ea2a snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36fbd770 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x37c2ce13 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3835798e snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39ee47db snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b88e19c snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bc40d63 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d7446c5 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f224d7c snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fa265d5 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fe15bc2 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4073c1f1 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41591594 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f02fb6 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43ff7520 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45fcf14c snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46867012 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47e450a6 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47fefc12 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4893b8f0 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x498f7c0b snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a3dad38 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b9b5d7d snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c356511 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c491cca snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d5745a5 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d5f5c25 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51142527 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x520a86b2 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x528faa06 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54a05b70 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54ac9ddf snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5500e3ea snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x555d7e3d snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55e7a6ef snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58c00f56 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x593867bd snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5949c890 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bb3df33 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c6a15a7 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d74e229 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dcad3c6 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x612e21f0 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62154bd3 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x641894a9 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65384196 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65817220 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65d1bd4b snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66be4ae8 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x672cd5f4 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68e7b3a7 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68eb2c00 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6939aba6 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a540783 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e5d8532 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70f6b07e snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x742dffb9 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7751e861 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79124197 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d2fd014 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fcf133c snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82ef21b6 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84be5318 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86cf2244 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87efdf42 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88344858 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8850e34d snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89370ccf dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b79d1b8 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b8c3f57 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c4f7763 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ed3f1e6 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8edc6b6a snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ef904bf devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90181c12 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91ec9d32 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x927f1e8d snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9584bbf5 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95b10e9c snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98f22ee9 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99dfe3bd snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9cca5726 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1e622fd snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa261cfdd soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa266f370 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa359fe73 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4c462af snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6922fee snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7098e57 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa22fb92 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab99389b snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab9c7c54 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabc177d9 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad27380c snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae31a4be snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0ba9459 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb30d42f6 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3677f7d snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb38a0897 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5eb7db5 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8bec0ad snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9e135d1 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb8fd012 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd8ac415 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe1c9380 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc098524a snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4f23784 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc5c7ab9c snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc5c81a51 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc62fe0d2 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc70be998 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc849e016 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc87b18d8 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8d21a6e snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca0d2864 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0f508b9 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3d19fb9 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4278168 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6192d02 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6e6bdaf snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd86be7a2 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb739d7a snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbada1d3 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd69dc8c snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde3e0681 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfa467d8 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1a3564a snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3f0a3cb snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe71a0df7 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe927b9b1 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9f83199 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea5c3aae snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xefb015f0 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf27ed5f8 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf637a22e snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6aef805 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf81b2586 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfaa485cd snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfaa784d8 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc2582fc snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd532dea snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd7b66ee snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfeec9d2a devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff98c8f2 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x7e52b396 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x7f480306 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xc1934673 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xcec5ccf0 snd_sof_debugfs_io_item +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/ti/snd-soc-ti-edma 0x2da179a0 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0x318968b6 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x5883ec10 udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x02935c49 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 0x2b7711a9 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x35622b28 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3a31a569 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x45ed2f0d line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6397f40d line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x664ed92c line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fbd1e72 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb583f079 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd0cc94d2 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd81b1777 line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf177c335 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf1e97699 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf7eea75a line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xfc3f1f62 line6_pcm_acquire +EXPORT_SYMBOL_GPL vmlinux 0x00186c40 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x004bb21b ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x0059b60e pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0068ebe8 addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x006a77f2 pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0075e1eb devres_release +EXPORT_SYMBOL_GPL vmlinux 0x0077def2 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x008c9dac iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x008f2e44 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x00927fee rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x009600a5 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x009af8e7 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x00b24a92 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x00c7b08c efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x00c9b323 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x00e25c31 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x00e63841 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x01162232 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x011981bf sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x013b0d3a scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x014434f2 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x0152f56d devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x015bfa74 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x015fd5f0 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x016037cb crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x016b722d wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x017c46c9 dpcon_disable +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x0184d942 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x01859004 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01c2f6f0 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01fe9864 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x0215335e devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x022241c0 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x022fc1b0 meson_clk_dualdiv_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x024b623f skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x02591ca5 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0264bb24 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x02832ec4 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x02943cc7 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x0298ce32 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x029dd9d5 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x02a236cc debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x02b45664 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x02c457d1 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x02d324c7 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x02e7b4d4 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x0300963d shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0314c7c0 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x0329528d fsl_mc_resource_allocate +EXPORT_SYMBOL_GPL vmlinux 0x032c3f8b fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034cc2d2 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x03572e5a show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x037c7d8a blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x03878e3a of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039c4899 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x03a24524 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x03a95876 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d30829 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x03da01de dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x03dcbb1f of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x03df1a01 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03df37cf ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x03f99bf5 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040428fe efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x040c4d02 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x04237117 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x04404900 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x045adf40 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x045d3c73 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0468fb50 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x046a972d hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0477769a kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x047e18a8 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x04861f41 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x0488afb7 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048fcd34 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x049d51ca disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x04b2245e fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x04b56858 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x04bef63f of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c06f13 xen_set_affinity_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x04c4b1c2 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04de404f rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x05056e69 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x05251c1e usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053c310e ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x053c4a19 split_page +EXPORT_SYMBOL_GPL vmlinux 0x053ebdc2 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x05406642 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x055c4add clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0569c481 dpbp_disable +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x0595eed4 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x0597c332 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x059fd0a7 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x05a5856b __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x05c02de3 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x05c5e92c ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x05ca49f1 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x05cd08a6 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x05d3152d crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x05f64b0c pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x05ff6198 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06255a3f user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x063697d6 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x064c2055 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0668bf0e ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x068ddcc0 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x06ace640 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x06cb431b devm_ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d6c0d1 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x06df30d1 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x06e12354 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x06e4433e sunxi_ccu_set_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x06e88cf4 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0700f4b7 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x07262edc fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x072db4b4 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x07358548 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x074059a4 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x074d52ef class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x0799beeb __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x079b729b wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x079ec7c9 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07a45192 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x07a60a68 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x07a6e648 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b5d080 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x07b77557 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07c18899 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x07c23703 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x07c6dfb3 get_device +EXPORT_SYMBOL_GPL vmlinux 0x07cf8d27 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x07d9af5b con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x07df0e74 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x07e213a0 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x07ea117f register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x07fa055e scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07fb4e6f srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x07fbb3bb __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x08043c8e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x0809e579 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x08105ed7 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x0814ddde usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0816538c sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x081e85cb bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x0823645d irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x0840d40b spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x08418d08 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x08427e63 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x0845284c udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x0848cdd2 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x084c3068 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x085bffd1 trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08a70584 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x08a76b62 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x08ab2405 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x08bced45 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x08c8c5cc irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08e21793 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x08feb034 noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x0903bc0d relay_open +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x090d9ccc __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x09119ce8 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0x09165bda rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x091c4ea6 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x0933e388 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x09361929 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x093e60ee __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x094a9b93 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x0960ac56 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x09670066 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x096b2418 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x097c2f05 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x09aeac63 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09cc3d35 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x09ceec31 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x09d63265 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x09d7e81c sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x09ddc8c4 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x09f41610 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x09f59542 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x0a031119 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x0a0c9d45 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x0a156170 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x0a1e4999 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0a2a2505 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x0a2b37da dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x0a2cdbe3 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x0a367f9f i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0a41f34d arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a51e8b9 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x0a5cc9ce sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x0a60fb5d dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x0a6aaf7a iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a7d4d04 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x0a7e54f7 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x0a8d4d61 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x0ab32d0d da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x0abc6be6 k3_ringacc_ring_is_full +EXPORT_SYMBOL_GPL vmlinux 0x0ac2f1af tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x0aeba292 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af9b527 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0x0b055024 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b09ece2 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x0b0e95c7 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x0b156746 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b26ec46 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b30c138 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0x0b3a3ed7 zynqmp_pm_fpga_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0b453bc8 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x0b4b0a22 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b55b829 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x0b690f04 k3_udma_glue_tx_get_txcq_id +EXPORT_SYMBOL_GPL vmlinux 0x0b6a7311 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0b7eee73 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x0b808b2b simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bba8a04 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x0bbb0696 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x0bdaf7a0 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x0be4398b lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x0be6a55c strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x0bed5afe page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x0bffbdcc powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c31bb59 dpcon_close +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3be640 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x0c3e6241 k3_udma_glue_disable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0c745477 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x0c77c6dc xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x0c7e926b ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x0c824c96 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0c890a2b skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x0c8d9404 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x0c9e8c8c blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x0caea4c4 component_del +EXPORT_SYMBOL_GPL vmlinux 0x0caf6339 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x0cb579c0 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc3b29e acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x0cc96884 acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x0ccdf2f0 kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x0cd452e0 kvm_vcpu_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0ce26d9d acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0ce3dd73 bman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x0cede41c __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x0cffb674 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d02a315 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x0d03ad74 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x0d116ad0 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x0d2e9b72 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x0d3067ca serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x0d36406c tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc696 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x0d40d8be ti_sci_get_num_resources +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4f9c57 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x0d58c7c7 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x0d771a2b debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x0d80d76b dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x0d84d30c pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0d8d91ae crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0d934f9a rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x0d96b874 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x0db1163a __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dc89b20 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x0dd5abc7 mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x0dd88950 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e05f12b genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x0e0c394a iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x0e0d2bf7 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e2c98c0 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x0e4eb4bc xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x0e573c30 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e613277 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6c8861 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e6dc67d dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x0e83906a trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x0e8a9017 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0e929bc7 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x0e949aa9 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x0e99d768 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0ea1ccab arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ea6e7ef devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eb06acb spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0eb36995 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x0eb47436 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x0ec898d0 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0ec994a2 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x0edd1720 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x0ef89e63 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x0f0aae28 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f205cd7 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x0f259175 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0f626da0 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x0f6a3254 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x0f6a6520 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f8e4b34 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fcb3440 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0fe7617c __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x0feb78f1 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x1012825b platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1015b0b5 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x10232c5b ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x102e31b9 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x10363443 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x105c8153 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x105f3e88 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x107863b1 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x107caa96 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x10863e19 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10a5ea7b pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x10ab8761 fsl_mc_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10c5a670 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x10c8bad0 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x10db05f9 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x10e25b2d vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x10e2e28d kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x10eaa4f7 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10fb03ad device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x10fe28f8 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110b4028 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x110ef093 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x111d4170 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x11221110 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x112b8fc4 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x1133ebc3 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x113481e2 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x114fdacf usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x1172d487 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x1185c249 arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x1194be0a class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x11a158f5 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11bd4574 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11de043d usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e25f06 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x11e55f78 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x11ed2e63 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x11f79806 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x12086a84 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x120dbeb9 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x120e702d dev_pm_opp_disable +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 0x12499053 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x12650c99 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1274c6ec extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x127d707c devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x127f5457 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x1283e0c5 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x1290f863 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12a75642 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x12ab31f1 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x12af108a blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x12bb3009 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x12c0ad64 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x12c8c5a4 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x12cbf708 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12deb662 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x12e0710f nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x12e7f52c regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x13029078 sata_std_hardreset +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 0x13484529 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1363722b net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a760e6 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x13aa69e9 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x13acbe8f hisi_uncore_pmu_event_init +EXPORT_SYMBOL_GPL vmlinux 0x13c19ee7 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x13c2ddf7 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13cf1a24 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x13e187ff ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x14045621 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x14095454 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x14141509 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x1418238a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1428f570 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x14353b82 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x1438cfc2 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x14465088 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x144b8e40 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x1456762b k3_ringacc_ring_get_free +EXPORT_SYMBOL_GPL vmlinux 0x14647a8d of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x1485a307 free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x149039bd rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x14a44e72 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x14ba7533 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x14bd1432 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x14c29d69 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x14c3f1be skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14e605fa tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x14e92ec9 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14ee3f1f cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x14f62fae dpcon_open +EXPORT_SYMBOL_GPL vmlinux 0x150058bd scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x1500a8eb phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x151ed4be irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x15342466 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x155e5447 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x1567802e pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x156bd261 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x156cdac8 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x15716387 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x159f5beb rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x15adf280 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x15b320f8 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x15c26536 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x15c2c14b sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x15c775be kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0x15dc9b62 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15fc7e2b blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x160262c2 setfl +EXPORT_SYMBOL_GPL vmlinux 0x1602658b fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x163d5266 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x166d6443 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x16700fe1 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x16892e6f ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x168f41cb iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169e72c6 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x16ad7f37 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x16ae1ec4 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x16b11a95 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x16b2a272 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x16b77d1b class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x16cb311d of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x16d2e2e8 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16da40ff securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x16f66698 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x16fe4421 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x17031800 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x17044be3 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x170e54f0 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x172526a2 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x17321fb5 lp8788_read_byte +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 0x176337f1 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x176437ec sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x177a2c75 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x177e89d4 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x178c2039 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x1794cd1a usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x1798daf5 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x17a3993f __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x17baa295 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0x17bbe27c spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17f7394b devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x17f854e8 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x17fa53ba rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x17fddce2 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x17fdfb5a powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x183672df ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x18506ce4 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x186d8fd8 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x187efd29 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x18817057 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x18ad4832 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x18b79c7e fsl_mc_bus_dpcon_type +EXPORT_SYMBOL_GPL vmlinux 0x18cb21f5 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e6e6fc dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x18e9dc69 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x18f10f38 k3_udma_glue_enable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18ff25be thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19032d6d trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x19039109 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x190e885a irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x190ed462 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x192b6892 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x1930c5e5 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x193204d4 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x1932fc6d tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x19413f63 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x1946a42d fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x1950e84a devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x196b1f72 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x197dc075 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x19846e45 input_class +EXPORT_SYMBOL_GPL vmlinux 0x1988dd24 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x1988ea1c find_module +EXPORT_SYMBOL_GPL vmlinux 0x198feb6b gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x19951d19 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x199dc788 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x199e6640 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19d30733 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a046a66 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x1a0dcf1c devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1c6f4d crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x1a63e3ed of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a742a10 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a795ed0 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1aa59779 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x1ab17817 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1ac8739b __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ace849e kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x1ade585d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1afd39c7 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x1b1471f3 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x1b3cb0c9 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b4a51cd blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b561233 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x1b597fad dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x1b5a87fb regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x1b5fea27 xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x1b6131b9 alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x1b652d09 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b6f1acc ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x1b7cdcfd regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x1b83052b xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b8a0f32 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1ba0530e of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x1baaacb5 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x1bae7215 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x1bb199ea relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x1bb84233 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x1bb95cba spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1c0d5532 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x1c110d40 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x1c11e010 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x1c3ba4fa pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x1c44b902 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1c4f3b68 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c597dbf wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x1c5a57ec phy_create +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c670cfe dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x1c7990e2 __lock_page_killable +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 0x1c8e377c fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x1c93450d scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x1c99ef2e acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c9b4b0b iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x1ca4a930 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x1ca969ec phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbb351e dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x1cbc955a alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc799ed i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x1cd1f436 clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x1ce5a131 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1ce690b0 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x1cf43e8c governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x1cfd34bf sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1d0dddb5 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d22f71a platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x1d234c63 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1d2aa790 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x1d422b21 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1d6cac7a __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x1d735952 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x1d770284 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1dc7c615 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x1de48105 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x1de6fca9 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1deae03d device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x1e05fdc1 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e1018d3 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x1e13c469 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x1e1e34ea do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x1e20f689 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x1e4974dc shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x1e508632 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1e51dabb __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1e619b45 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7c51ed skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x1e83fee6 HYPERVISOR_physdev_op +EXPORT_SYMBOL_GPL vmlinux 0x1e8ec60e fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e90c520 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0x1e965c27 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1ea64d00 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1ea997cd __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x1eadb6e8 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x1eaec09e sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec04fb0 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x1ec47ece usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x1ee3c7a4 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x1ee7d3cd hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x1eeda4f3 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x1ef4d2a5 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f14bbf0 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x1f1cc011 zynqmp_pm_get_chipid +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f51001f devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f67cd47 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x1f6da8a7 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x1f848c65 ip_route_output_key_hash +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 0x1fb47528 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x1fb70eb9 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x1fcf18c4 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x1fe48d48 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fee7136 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1ffaa75d rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x1ffaab1f iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x20081f53 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x200c00c3 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x201e2f09 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x201ed60a __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x201fadcd sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x202a7419 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x20325897 kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x203ed6d7 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x204f49e4 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x20500165 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x20670f89 scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x206be67c regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x206dd578 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x20753b4a __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x2084c08b scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x2085c0c9 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x20923154 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x2093f4dd clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x209f996a regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x20afa5a1 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x20b450b0 bgmac_enet_probe +EXPORT_SYMBOL_GPL vmlinux 0x20b46bcb fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x20ba3903 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x20caac6c vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x20d4a140 fsl_mc_device_add +EXPORT_SYMBOL_GPL vmlinux 0x20ea5e38 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x20f580b2 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x20f6df0e devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x20fe948b peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x21113467 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x213221c2 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x21334c32 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x214bfd96 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x2195f2d0 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a9d793 __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x21aa1b87 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b3e41a regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x21c34c8f gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21ce47af crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x21de0508 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x21f74bed tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x21f80525 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x2200f9bc hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x2210fbc4 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221219d9 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x2217533e __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x2217f4dd skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2246b4dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x2249937e ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x2253fa60 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x2258d1e4 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x226c182e dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x2274a3f2 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x22846f0b regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x2290c30f irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x22a04e34 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x22b7a705 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x22bb9fdf ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x22c6d9ef regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x22ccab0e devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ec35a4 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f0aac3 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x22f1de1f ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x22f3dd89 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x22fb0391 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2308961a ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x230e3f6d rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x2326717e gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x234027ab fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23517e3e debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x236aa4d8 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x237e86f3 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x23842793 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x2385c8b1 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x239666e8 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x239efa65 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x23ada7eb spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x23af985f pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x23ba936a md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x23c9b832 __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0x23cfabf8 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x23d165f0 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x23d31f8a evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x23dc50d4 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x23e0fcb3 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x23eda260 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x2406e9c2 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x241f8e94 zynqmp_pm_set_requirement +EXPORT_SYMBOL_GPL vmlinux 0x242a6229 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x242a9956 clock_cooling_get_level +EXPORT_SYMBOL_GPL vmlinux 0x2436ec39 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x24387b04 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x2439d33a tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x243b1585 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x2443b547 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x245f5b8d __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x2462cf7f unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x246e84f6 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x24756137 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x247798dd of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x2477af55 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x247afe03 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x247c6b13 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24990480 nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24af29ec debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24eb9cbe iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x2504445b device_del +EXPORT_SYMBOL_GPL vmlinux 0x250ca005 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2539a44a fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x253cfcff pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x253d9a41 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x253ec8e8 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x25512488 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x255a8fe5 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x255aaaa6 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2561167d fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x25675359 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x256a33dc icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x256a784c disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x257063cf pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x2574da11 zynqmp_pm_write_pggs +EXPORT_SYMBOL_GPL vmlinux 0x2592b0a6 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259d9f31 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x25a010cf crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x25adda2a k3_udma_glue_push_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x25b86f74 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x25ba1b3a clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x25d5ca0c led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x25e319ea devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x25f375a9 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x26177676 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x262019a1 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x263d2b88 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x263f039e xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x26400680 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x2650458f gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266545f4 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x266bb7b8 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x267606c2 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b2847b tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26c92fcc scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x26e01809 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x26e33d46 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x26e9ef32 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x26ea85b8 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26fb1ea8 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x2706749e crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x270a0d57 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x270e8648 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x272577fb fsl_mc_cleanup_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x272cf0c5 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x272f0846 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x2731ad2e crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x273b95fc platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2747bb57 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x276887f1 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x2768ae51 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x27715e4a enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x277211c4 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x278416f0 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x279421d3 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x27aaaf8f led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x27b9c3af dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x27be598f component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x27cf4b82 acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x27d74926 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x2809e433 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x280c327a virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x282956db serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282d79b5 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x28341271 mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x2835a204 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x285f500d virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28905ff3 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x2891887d dpbp_enable +EXPORT_SYMBOL_GPL vmlinux 0x28a661ef regulator_bulk_set_supply_names +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 0x28cfc7a6 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x28d8de57 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x28f26684 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x2909e678 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x291f88b0 dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x29235818 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x29252e74 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x292ae7e1 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x292af25f dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x292b01b2 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x292e9fde dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x2930ee97 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x293880d0 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x293e741e __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x294a4910 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x2955cd61 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x29565ca3 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x295d58cb devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x2965103e user_update +EXPORT_SYMBOL_GPL vmlinux 0x299fd83b iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x29a62c34 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x29d76547 k3_udma_glue_tdown_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x29e5ab1e device_add +EXPORT_SYMBOL_GPL vmlinux 0x29e65b55 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a0216d2 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a1413de inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2a161147 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x2a24c1a6 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x2a2cf3be phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a2e89b1 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x2a2ff53b ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x2a4058a7 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x2a4cbdc3 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x2a54a506 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x2a54cc43 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2a585eed input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x2a6256c4 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a64eae3 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a7e1ded gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2a857d98 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2a9ea149 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x2aa0fa31 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab34605 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2ac794f1 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x2adc6fc6 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x2ae13ffb led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x2ae1689e zynqmp_pm_clock_getdivider +EXPORT_SYMBOL_GPL vmlinux 0x2aeb9376 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x2b0765ca xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b260a74 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x2b3491ac __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x2b3ad7a2 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x2b3d8f53 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b5485a2 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b6ad267 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b6ddbc4 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x2b7d2ea5 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x2b8036f2 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x2b9447f1 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b960b66 qman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x2b974637 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2ba11220 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x2bb6d068 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x2bc7e3d7 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2be32982 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2bf6dc4d spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x2bfe1f5d fsl_mc_bus_dpio_type +EXPORT_SYMBOL_GPL vmlinux 0x2c1306d2 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x2c1b8d89 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c37b56c devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x2c43fa93 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c63a8a0 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x2c6637bd of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6bb324 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x2c77bd48 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8c3144 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2cae7138 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cb88efc pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x2cbc4f77 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x2cc495c5 rpi_firmware_property_list +EXPORT_SYMBOL_GPL vmlinux 0x2cc56285 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x2cc92e6c ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x2cd48ab9 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cf4c04a inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x2d1a4bd4 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1f196a crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d3c2d52 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d4d34d7 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x2d5284a6 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2d5680ce power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2d5f7708 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x2d6070fa dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d6ef53f fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x2d83422b rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x2d9375f6 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x2d9a69ff pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2db9e722 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x2ddf8bfd sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2de2fc4f ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e103f20 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x2e152e42 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x2e1d73c6 rpi_firmware_init_vl805 +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e392c0a dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x2e3e5e52 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x2e47168b serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x2e4c616b devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x2e678211 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2e6d72c3 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2e7fa457 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x2e8368fb regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2ea3968d dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x2eae51d6 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x2eb207dd sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x2eb3f852 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x2eb71223 timer_unstable_counter_workaround +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebd06f3 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec80e27 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x2ec853bf nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0x2ee1b9e1 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x2ee744f5 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2ef188ca sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f0e0a11 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2f1b927c arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x2f1f1022 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f36eea7 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f425530 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x2f42ab05 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f4933e5 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x2f49cab1 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x2f4bebd3 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f5b3b0d srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f6b2394 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x2f700f10 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x2f7d04e9 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x2f8b9892 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2f940d03 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x2f9976ea pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x2fb72e9b sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x2fce7564 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2fe112bb pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x2feab50f acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x2ffe98b8 meson_vid_pll_div_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x3008b981 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x30092eeb ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x302b39f4 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x3033d270 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x30351294 k3_udma_glue_rx_flow_get_fdq_id +EXPORT_SYMBOL_GPL vmlinux 0x3038e2d7 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3066400d skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x308e46e2 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x3090cb05 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x30a12c78 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x30afc2f5 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x30b7d6a7 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x30bbd852 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30ce0119 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30e6e430 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x30f9d5c8 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x30f9e1a1 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x30fc6dd6 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x31038044 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x310d5aac ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x310db7d6 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x311eeca7 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3129a592 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x312cf9c5 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x312f68cf of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x31753e80 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x31785f08 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x317f0b63 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x3182be0f ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x31864f0d ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x319fea6b iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31abb20b wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x31b2be94 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x31bb72c0 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x31bfdf6e usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d5f635 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31e9e8d5 zynqmp_pm_set_suspend_mode +EXPORT_SYMBOL_GPL vmlinux 0x31edd5e4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x32067908 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x321a2a42 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3221430e gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x3240e8e7 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x3298a8ea dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32bc8291 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x32c2bb04 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c6c604 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x32ca9f3d pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x32cf8604 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x32e596e5 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x32fb4cea alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3319a217 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x33259f29 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3340dcb1 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x334238f9 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x33460baf dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x33566654 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x3357a3e9 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x33647fe0 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x3383f07a rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x3386ad84 devm_ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0x338c6c0a find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x339532f5 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x33a72268 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x33b5aa19 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x33d0abb0 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x33dd65c5 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x33f0359b vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x33facf00 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x340cfe80 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x341cbaee kvm_vcpu_kick +EXPORT_SYMBOL_GPL vmlinux 0x3421ca7c __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x3426a997 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x343fd6f8 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x34444d81 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x3468b6eb gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x3469c51e fsl_mc_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34b34ac7 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34c4e31d irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x34d451ff pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x34d4bcf0 kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0x34dc8b1a srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x34e6e5a8 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34efdf69 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x34f7003e ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x350cd9cb path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x3510807a device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3515cfa2 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x352fe9e7 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x3530b154 ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x353f2268 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x3540eff2 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x35449bc2 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x35727f0b devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x35820043 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x35872c3c of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x358bbc37 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x358bf87f dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a4d46a crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x35a4f59d zynqmp_pm_clock_setdivider +EXPORT_SYMBOL_GPL vmlinux 0x35a90312 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x35b2cf38 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x35bcef96 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x35c2fcde dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x35caee01 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35d6dc0d i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x35e95b1c irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x35ebc846 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x35f21794 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x360146b0 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x360846e8 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362b0b3c fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x3634e029 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x36421953 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x36550866 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x365c4891 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x36657225 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x36763961 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x368e0138 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a97bd8 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x36a9b19b iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x36c717dd kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x36d61987 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x36ec0e48 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x36ef8227 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x37031170 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x371937a6 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x372cfd6e gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x3730ef00 hisi_uncore_pmu_event_update +EXPORT_SYMBOL_GPL vmlinux 0x37404c17 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x37538391 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x37830471 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x3788aa17 nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x378adfb7 zynqmp_pm_sd_dll_reset +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x379b8c40 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x37b4e798 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x37bc3020 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x37bd7b34 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x37d3457d gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x37f46016 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x37f75cb0 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x380fcd27 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x38193c40 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x381a2df6 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x381bc8aa rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x385bd778 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386e6588 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x38754047 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38aeab82 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x38af7688 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x38b98657 device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38c5505a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x38cf532f devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x38d2221c wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x38d33532 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x38d5d96b ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38e6dce0 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x38f41385 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x38ff735f devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x39100330 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x393c300e usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x3956cdb9 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x3970e7d2 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x397a3e30 acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0x398d160d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x399e935b of_k3_ringacc_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39b5f53b tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x39d6e5e0 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39ea451b gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a2f8903 acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3a36df21 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x3a38b25f icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x3a3d6552 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x3a483a57 ahci_stop_engine +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 0x3a5671f3 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x3a5d4940 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x3a7568fc fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x3a77c1ec blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x3a7b41ca strp_done +EXPORT_SYMBOL_GPL vmlinux 0x3a82f67d usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3a8b52e8 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x3a9af615 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9fe614 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x3ab04b77 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3ab24a4d acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x3ac415b2 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x3acaa7b9 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ae180fb pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x3aeff16c gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x3af11276 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x3b02ffb9 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x3b08d03a tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x3b09792b crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x3b0a0305 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x3b0e711d gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x3b137b09 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x3b15cf67 get_hwpoison_page +EXPORT_SYMBOL_GPL vmlinux 0x3b2933ce kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3b32968c ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x3b481a2f pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b50ea42 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x3b5aeb27 fsl_mc_portal_free +EXPORT_SYMBOL_GPL vmlinux 0x3b773a12 kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0x3b78bf02 sunxi_ccu_get_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x3b83cdc5 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x3b8979ea gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x3b8fba7a kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba1d07c pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x3ba9ee95 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x3bab66c9 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3bac18a3 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x3bae97a0 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x3bd47ee8 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3be3c32b bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf64609 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x3bf7bad2 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3f26 dpbp_reset +EXPORT_SYMBOL_GPL vmlinux 0x3c1e6c2f aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3c212744 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3c235cc3 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c310ee8 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x3c3e4508 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x3c4ddd5f kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x3c4fb6d3 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x3c59f76f pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x3c615051 fsl_mc_populate_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x3c64a9fa direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c804221 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x3c85e472 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x3c98faf0 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x3c9d571b of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x3c9fbdfb devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x3ca82be5 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x3cb43319 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x3cb681d8 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x3cc546a1 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x3cc90f72 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x3cc92ce4 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x3ccd8b46 zynqmp_pm_clock_getparent +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd5e968 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3ce77caf register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3cf0758f rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x3d10184d scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x3d189a0e usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3d241b74 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x3d2b44a3 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d46ca4d devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d542c37 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x3d5e78f5 ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x3d84259a gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3dbe715c device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dd8f774 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x3ddfec86 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3deb6e84 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x3df70c99 trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x3df85ac1 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x3e06f434 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x3e19be1c acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x3e2cccc8 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3e49325f devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x3e54165d register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x3e605145 ti_sci_release_resource +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ea227c5 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ea56313 gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x3ea7fbd4 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x3eb41449 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x3ec4fc27 hisi_uncore_pmu_online_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3eff800c crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3f055463 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x3f1d8213 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x3f2196f8 acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x3f264a8e altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x3f29b8b8 vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0x3f2e2c4a irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f3b01b6 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3f3efd9b devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f72e8fe blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x3f788616 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3fb00e42 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x3fb62234 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x3fe27725 bpf_offload_dev_netdev_unregister +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 0x3febd641 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e7a1 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x40164ba7 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x40241423 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x4024666a of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40512589 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x405ae15e devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x406c6975 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x406ccf8d dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40780750 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4082ea6e irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x4091b78c rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409de6cc css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x40a6a037 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x40a79b8f xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x40b43bd0 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x40b7f561 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x40c6e168 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x40c7bc55 rio_mport_write_config_8 +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 0x40face63 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x40fbf312 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40ffb541 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4108247e devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x4117104d crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x411a302b of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x41237f71 cpu_have_feature +EXPORT_SYMBOL_GPL vmlinux 0x4124aa73 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41317ec9 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x4147ffa3 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x414b088b meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x415032a1 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x416f7e86 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x417e3d43 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4182fb29 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x418e3691 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x4194b535 regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a23293 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x41aa6a81 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x41aaf030 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41ca6c58 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x41cbaa4d crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x41ccd5b2 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x41d229a3 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x41dc7575 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41fc25fb crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42230915 sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x422eab51 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x425355cc mmput +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4266a0a6 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x426cbad2 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x42754765 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x427623b9 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x427a3a3e clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429d427d call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x42a277e4 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x42a933d7 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x42b9ffd7 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x42bbf70e skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x42beeb35 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x42d5e02f dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x42d90547 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x42d97570 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x42df1f0b mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42eb237e fsl_mc_bus_dpni_type +EXPORT_SYMBOL_GPL vmlinux 0x42f2f11c mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42fba1c7 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x432cab38 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x4354a830 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x4361ae48 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x437bb102 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x438566a4 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x43a5878e virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43c2a786 __cpu_clear_user_page +EXPORT_SYMBOL_GPL vmlinux 0x43cf12ec blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x43d2180b iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x43da91b6 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43fac6d1 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x44013a1a gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x441ae1ad bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x44539daf ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x44598718 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x44627597 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x4463e466 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x446efcc9 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x4483e888 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x449e2704 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x44a5c2b7 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x44a793ab HYPERVISOR_grant_table_op +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d47fc7 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x44d622a7 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x44e1b669 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44e445a5 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x44f2df9a __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x44f6cf4e free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x44fa9131 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x44fbc7a2 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x45042977 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450cf5e6 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x451625f7 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x451b6fdc ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x451dd8d2 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x45586f48 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4572579a __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45783628 pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x457d8c49 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x458ac969 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x4597787c dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x459aaaca fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x45a4e609 dpbp_open +EXPORT_SYMBOL_GPL vmlinux 0x45aa84ca scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x45ac4630 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x45b30c37 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x45b433a3 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x45bae2fa devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x45c36ee1 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x45ccbee0 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x45cd7636 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x45e3e6c5 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x45fb6935 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46066e5b perf_pmu_name +EXPORT_SYMBOL_GPL vmlinux 0x460797ae gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x462f98ed bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x46468af3 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x464be499 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x4653c813 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x466093fb init_iova_flush_queue +EXPORT_SYMBOL_GPL vmlinux 0x467f81be usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46a7eda1 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x46c2b3da pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x46c3eed6 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c89b9c fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x46c9ef9c k3_udma_glue_rx_flow_init +EXPORT_SYMBOL_GPL vmlinux 0x46d46dbf usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f4a1c7 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x46f6b0a5 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x470e90e2 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x47193315 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47456cf6 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x47470ce2 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x47527653 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x475618d6 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4763fa46 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x47784dfc input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x47824267 sprd_pinctrl_core_probe +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x4791a7fa dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x4791bebd devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x47929b8e scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a45936 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x47a89953 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ab14cc proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x47b2009a max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47d82bd5 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x48080fe0 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x480b3195 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x4815aa79 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x483ab096 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x4843a748 qman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x4851b8d5 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x4855dfdb gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x488d5f5a gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x488f2b5c sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x48a0f3f4 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x48a3cde2 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48bc4ac9 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x48c2d0e7 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0x48db13c4 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x48f49400 apei_hest_parse +EXPORT_SYMBOL_GPL vmlinux 0x48f965cb tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x49166ade pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x491840f3 dpcon_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x4918ba20 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x491bcc8f dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x492bdb3b regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x493dc564 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x4940c2af ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x49430916 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x494ff0fa crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x496e81a9 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x496f421e dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x498cedc1 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4991d3b6 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x49a3089e ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x49b3f1d8 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x49b69080 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x49bb351b crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x49c1c632 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x49c9be2e edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x49db5c64 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x49df0177 kvm_vcpu_block +EXPORT_SYMBOL_GPL vmlinux 0x49e0caff device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x49e0d3d5 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x49e0fd21 __cpu_copy_user_page +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49f569f7 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x4a00f6f5 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x4a01d0c1 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x4a0da32c pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a1b7b34 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x4a2e1dae gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0x4a30cb64 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x4a31fa1b regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a434cb7 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x4a4396c6 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x4a71f1a6 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x4a728b89 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x4a7ebb07 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4a7ec8f7 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4aa42064 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x4aa58bea inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x4ab34830 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x4ac18979 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x4ac77fd8 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ac7bb7d dprc_close +EXPORT_SYMBOL_GPL vmlinux 0x4acf1d8f rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x4affb8dc blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x4b18043a regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4b1d4f5d regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x4b2b8406 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x4b2f38cf ti_sci_inta_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x4b3dbd07 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4b4294cd tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b617a40 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x4b8f1c02 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9b8bf7 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x4bb05be9 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x4bbc847c driver_find +EXPORT_SYMBOL_GPL vmlinux 0x4bbdf7ec sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x4bc329aa iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x4bc6b369 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bc87a3c cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x4bec1b33 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x4bf03e70 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x4bf2c6f9 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4bf5396a xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0x4c088395 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x4c180bd8 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x4c18c59b devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x4c220fcc hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c2e5f12 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x4c32edab kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4c39130c xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4c7678bb aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4c788f5f clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x4c80be7e blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x4c932552 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x4cb4600e __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4cc428b5 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4ccefcd1 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x4cd89993 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4cdd8c89 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x4cf61c93 serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x4cff7683 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d021f72 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x4d0f49e5 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x4d161dd1 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x4d197f2b bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x4d1cfdcd securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x4d202b8c __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4d2c0807 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x4d307f8e of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x4d31cef3 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x4d448895 gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d511e3d irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x4d6c9b1a scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d83c710 k3_udma_glue_tdown_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x4d8a96ab xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x4da1f4a7 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db141d0 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x4db346f8 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x4db52f2a badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x4dbdb767 ti_sci_get_free_resource +EXPORT_SYMBOL_GPL vmlinux 0x4dc2cd3b rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x4dc371f0 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4dcd1231 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x4dd45d94 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df7523a power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x4e13c25a tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x4e1498dd irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1f4160 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x4e204454 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x4e33e4ba regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e4e4da5 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x4e7201b9 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x4e730c59 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x4e81442b __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed4e877 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x4ed5a732 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x4ed63913 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f0d4791 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x4f1e208e devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f2c04e6 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x4f348533 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x4f543017 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f5cd6d2 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6f676e usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f73336c wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x4f912c1b rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9997bb dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x4fa41a0d devres_get +EXPORT_SYMBOL_GPL vmlinux 0x4fb62451 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x4fc02643 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fc8206e sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x4fd486c9 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x4fdc483a tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe7175c regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ffaf6ec sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x500ed31b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x501c79d2 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x50322704 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x505e5f92 of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x50652dff pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x50722eef __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x50850496 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x509004db device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x5095cc52 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x50a63f93 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x50b9b476 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x50c2ae54 rpi_firmware_property +EXPORT_SYMBOL_GPL vmlinux 0x50c3324e rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x50da934b __put_net +EXPORT_SYMBOL_GPL vmlinux 0x50e6ca67 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f12890 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x50f3b959 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51041ec7 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5109b852 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5169344d k3_udma_glue_pop_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x5170d6fa arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x51829e7f devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x5184c077 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x51928cda virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x519979a1 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x519b89ca power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51ca8e4d gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x51e483a3 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x51e743f3 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x51ef3af7 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x51ef6651 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x51fc9a6d xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x52113c91 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x52121118 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x5212230a bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x52186749 security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x5251569f irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x5252881f usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5252b18e balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x525374f1 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x52554dc0 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x525a5421 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x52804231 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x52992bcf clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x529f6ed6 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52ca659a nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52db933a acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x52ef1057 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x52f78f5f fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x53086e1a blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x533ec9f0 reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x5357f9f4 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535b99e8 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x535d60b7 clear_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536aa678 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x536e69b6 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x53757d2c bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x537968c2 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5391f2c7 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x5392988e __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x539c9fc8 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x53a01930 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x53a92cd3 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53de011e security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53ebf0f8 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x54035ea7 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0x5409d840 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x541744ac usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x542b9e79 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x5431de30 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x543ecbc3 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x5444e851 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x544d043e cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x544ed2b6 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x546b4f63 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x54808764 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54955855 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x54977eb2 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54a96e5b __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x54b0ce6b crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x54b1ab69 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x54bb951f pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x54d0665c nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x54d5d04f udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x54fac1c4 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x5507c4ba bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x55087b3d ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x550cc8f5 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x5515b241 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x551f0d8e fsverity_verify_page +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 0x555f9eca rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x5560cebc pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x556cf1f0 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x556d2606 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55775b66 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55852b73 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x55869ed0 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x5589df68 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x5592d8f0 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55948b11 ti_sci_put_handle +EXPORT_SYMBOL_GPL vmlinux 0x5597d98d pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x559e0c53 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x55a17453 serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x55a8a560 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x55b37fdf nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x55bb9eac __class_create +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55c9880c zynqmp_pm_release_node +EXPORT_SYMBOL_GPL vmlinux 0x55cb9b2c devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x55d5cc95 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x55dafb3e clock_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55e6c197 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x55e832d6 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x55e90f2e ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x55ec87e8 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f7f47e __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x5602181c __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560efe5b debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x560f903d dprc_open +EXPORT_SYMBOL_GPL vmlinux 0x5610dc82 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561d9587 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x56229a75 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56335352 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5651c534 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x56552876 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0x56580de7 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x565d3240 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x5674b3cb rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x56798273 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x567a7ba2 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x567edfe4 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x568956e2 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x568cac45 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x568fd7af hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x56be65db pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x56e835a1 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56ea9650 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x56ebc1ab __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x56f3ff83 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x56f5db62 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56fce852 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x56ff5447 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x57005387 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x5701702c pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x57025ae1 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x572ccbdc kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x5747c784 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x574835d0 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x57488d3e crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x574f8c52 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x5758d75e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x576d8c61 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x57730c10 hisi_uncore_pmu_start +EXPORT_SYMBOL_GPL vmlinux 0x57732438 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x5773b2c9 crypto_alloc_skcipher +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 0x57a82c5b xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x57a91cb4 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x57acafff pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57c65837 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x57e69f96 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x5819ec25 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x58276b36 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x583dda22 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x58421beb transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x5863485f virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x5868e32e kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x5873019c blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x589f2bdf of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x58a0d78a gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x58b9ce68 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x58bdea1f of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x58bebb01 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x58c90ca2 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x58dd506a usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e14f15 HYPERVISOR_event_channel_op +EXPORT_SYMBOL_GPL vmlinux 0x58e4c6d4 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x58fd2595 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x5914879c metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x592d072b kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x592e4df7 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x5968adbf usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x5984ae17 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59979b99 of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x59994e8c usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x599d8741 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c13f30 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x59d2a1b4 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59fe70a8 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x5a01f89e dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x5a16b241 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a405efe serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4a1d75 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x5a4a3b1f led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a729cef of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a864390 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5a88442b regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x5a8ba1e5 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x5a9904ed dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x5a9f2ef1 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5aa8f93e tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ac3128c screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x5ac6bb96 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x5ad7e1b1 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5ae49c0e device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x5af45661 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x5afc7e37 bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x5b01857e device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x5b0b4f69 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b29313e device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x5b315a9e dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b348eca vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x5b456268 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b9a3f01 xhci_mtk_drop_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x5ba98c50 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x5bbbde32 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bcbd6be gnttab_page_cache_get +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 0x5be8980f irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x5bebdb53 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x5bf833b6 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x5c00ca29 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x5c052317 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x5c0b1b18 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x5c0f77ce HYPERVISOR_platform_op_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c1f2714 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x5c278a03 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c43eeb3 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x5c462a23 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c8c3080 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x5c8ce583 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x5c953147 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0x5c9596c8 clock_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x5ca8dc27 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cc3ee6a wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x5ce2a719 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x5d0087a7 meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x5d0cd552 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x5d1023a4 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d38ed51 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x5d3d4a9a device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5d411b4c regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x5d540ec0 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x5d572770 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5d67769d devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x5d6aa361 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x5d809bfc usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x5d80eacb edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d877c53 mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x5d8ee09b pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x5d922de8 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x5d9dfaa6 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5dac008f gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x5db1c73a rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x5dbdd9fe usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5de412cd k3_ringacc_ring_push +EXPORT_SYMBOL_GPL vmlinux 0x5de6151d power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5de7447d __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5dfa7ece of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x5dfed7d5 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x5e03c3ec xhci_mtk_sch_init +EXPORT_SYMBOL_GPL vmlinux 0x5e109b74 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e186bb6 __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x5e212563 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x5e2d727b ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x5e302183 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x5e306778 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x5e32da0e devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x5e34f051 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x5e36cfce gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x5e3dea28 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x5e45e377 i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e52b591 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x5e583238 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x5e5b0209 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x5e6728ad ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x5e6cb89e spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5e76bb57 k3_ringacc_ring_get_size +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e84064f power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e889d20 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x5e99a0c4 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5ea0665a devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5ea5399b fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ef89518 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x5efc1a43 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x5f02a732 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x5f162dcc devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x5f1c2640 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f326390 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x5f497628 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f7404d2 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fc1f34e devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x5fd9fd0c wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5fefb1e7 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x5ff92963 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60069ee1 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6010f249 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x6017c71f blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x601ba3eb __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x60215d33 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x602820d4 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x6032e429 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x6037149c uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x60442822 phys_to_mach +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x604e66af tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x6052b3eb console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x60558d3e fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x6058f381 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x605ccd9d dpcon_set_notification +EXPORT_SYMBOL_GPL vmlinux 0x605d5bfa cache_line_size +EXPORT_SYMBOL_GPL vmlinux 0x6062af70 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x606f3786 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x60806523 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0x608f89f1 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x609520bc rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60c505ff ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x60d22929 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x60e9c103 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60ee8f56 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x6110cdec of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x6124d59b bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x614865e8 do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x615a29cf hisi_uncore_pmu_disable +EXPORT_SYMBOL_GPL vmlinux 0x615fe0e8 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x6160d03f dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x616abec9 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x616ce6b6 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61746dde clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x617b026c hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x617e96f3 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x6180ca92 device_bind_driver +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 0x619eb254 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x61a9d9a2 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x61ae1d2d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x61b55764 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x61bfafe6 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x61cae925 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x61cb673e pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x61e10701 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x61ea3065 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x61eac117 kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x61f2bff1 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x62139975 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x621eeb5c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x6221e33a dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6231a81e clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6238c8e2 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x624486c0 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6253e900 pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625a1c15 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x62639594 ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x62665f51 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x626f8b5a dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x6270330f usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x627360c3 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x628162d6 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x62861553 virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0x629cf103 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x62a2eb5f genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x62b6ab46 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62e75503 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x62f67a34 k3_udma_glue_request_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x62fe8487 hwpoison_filter +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 0x631a30eb edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x631abb33 ti_sci_inta_msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x631def97 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x632adce9 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x63369b48 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x6339c946 kvm_unmap_gfn +EXPORT_SYMBOL_GPL vmlinux 0x633e1325 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x63401ee8 mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x634624a1 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x634c5a2a ref_module +EXPORT_SYMBOL_GPL vmlinux 0x63549afb __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x63550544 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63692f2b phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x638a51e8 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x638da93b page_endio +EXPORT_SYMBOL_GPL vmlinux 0x639aa7b5 __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x63ab3899 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x63b60920 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d81c5b __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x63dab9f7 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x63ddc3c2 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x63e10b62 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63f901a8 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x63ff9e81 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x63fff1ed pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x6407d2b2 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x640ab48f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x640fbaac watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x6424f89a cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x642dd234 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x6436dc82 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x643b06b0 zynqmp_pm_clock_setrate +EXPORT_SYMBOL_GPL vmlinux 0x6446348c dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x64511724 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x645db2ee regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x6470d527 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x648000c8 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x6485cd35 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x64967028 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x649a2c2c __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x64a44802 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x64a544d0 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x64a623b3 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x64a97bf7 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x64aa6067 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x64c3af60 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x64c9ade0 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x64cf2135 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x64d3cc4e xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64d5c560 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x64d62aec security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x64fe57ed __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x650abf7c ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x652054ea mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x655704d0 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x655e4879 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x65666e65 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x656dd9dc fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x657a611a virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x65850867 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x659e63f8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65e01af9 __sync_icache_dcache +EXPORT_SYMBOL_GPL vmlinux 0x65f3980f d_walk +EXPORT_SYMBOL_GPL vmlinux 0x65fd7c74 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x6603c7bc i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x6604aa04 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x660c59a4 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661b8772 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x6628939c crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663fe35c ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x664eb54a k3_ringacc_ring_reset_dma +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x66577e8c devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x665976af mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666b755a __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x666d1b0f wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668c7432 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x669c1bef bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x66a108fb dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x66a6c061 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x66ae98c4 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x66af9eeb ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bde4a5 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66eb3d74 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x66f71750 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x66f72297 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x66f9014d power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x67131e16 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x672276e0 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x672e998a devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x674a50c7 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x675a5ae1 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x67637d41 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x676c688f k3_ringacc_ring_free +EXPORT_SYMBOL_GPL vmlinux 0x6792e25a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679d17e2 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x67ba3c00 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x67c169bd dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e5de56 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x67e7fe51 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x67ececab gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x67eed0bb device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x67ffa053 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x684ca117 zynqmp_pm_get_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0x68629017 devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x6867d687 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x6869c8eb unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x6874058b device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x68777c84 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x6880cb4a extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68949d2b icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68af05ff dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x68af6a44 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x68b1de23 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x68be0892 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x68d0d125 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x68d48c4b kvm_init +EXPORT_SYMBOL_GPL vmlinux 0x68e86673 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x68e987a4 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x68ed5372 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x6900a343 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x692514dc rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x6939fc46 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x694ce030 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x694f62e0 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x6966467a sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6983ac9d rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x698ef2ef sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x69ceb9be devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f23290 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a103de0 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a1d1cfa fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x6a27eecb vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x6a360bc9 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x6a415baf xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a44582f pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6a458714 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4c2adc k3_udma_glue_push_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a520718 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x6a56316e __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a6cef61 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x6a71834f wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x6a753fc2 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa3ad50 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6abf479d __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x6adaf626 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x6aff4e1f __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6b050ed0 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b15cdc1 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x6b1a2acd ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2d84e9 skb_gso_validate_network_len +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 0x6b47d42b ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x6b4ad362 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6b5e73cd fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x6b6556df device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b834121 bman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x6b845321 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x6b8b5324 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x6b9cad78 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6ba3b120 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x6ba521f7 em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x6bab871d pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6bb89dac netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6bbb7389 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x6bbe7e8d driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6bcf1647 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bddf014 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x6bdea4aa crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6bdf01b1 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6be43631 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x6be51b4d clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x6bf55744 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6bf6dee5 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x6c038535 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x6c05a704 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x6c08a34a sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x6c130d4c crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x6c1dddae serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x6c1ffe0a led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3b612b acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c46e4c4 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4d1f58 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c77d0df dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x6c790061 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x6c825dc3 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x6c841950 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x6c8b7c26 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x6c8d00ce regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca58388 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6cb0ce87 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x6cc48073 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x6cd6869b tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x6cdcd889 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x6ce10eb0 trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6ce63b47 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x6cf59ba9 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6cf95aeb mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x6cfb167d clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x6cfcdde4 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x6d04ca31 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d141ca7 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x6d2a8b0c pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d4c6b11 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x6d5f6806 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x6d634dde led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x6d697f17 pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d760547 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d84fa17 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x6d904cdd crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6dadd1c0 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dcf5716 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x6de02ec0 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x6de2f46d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x6df84afa usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6e117ff0 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x6e148018 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x6e2c62dd k3_ringacc_ring_cfg +EXPORT_SYMBOL_GPL vmlinux 0x6e33f15c xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x6e365b62 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4aa78d k3_udma_glue_rx_flow_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e57c869 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x6e5c0aa6 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x6e5ccd50 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x6e5db18f rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6e6792ae device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6e69d626 nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0x6e6b73d9 unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x6e71e800 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8a1f6e genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x6ea0a422 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x6eb42d44 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x6eb6fe17 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec64ac0 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6ecc52b1 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x6eccc3db synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x6ed6325c do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x6ed6383c udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x6ee0863e mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef42573 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f02709b usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1d54c1 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0x6f4466ae perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x6f49cee6 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6f77c2e6 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6f9ec7b9 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x6fa005bb vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x6fb4f73b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x6fc255d0 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x6fc3b054 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x6fc4debf device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x6fc92778 set_foreign_p2m_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd2d671 __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x6fd85949 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x6fdbc2e8 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x6fdcdb31 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x6fea39b0 hisi_uncore_pmu_read +EXPORT_SYMBOL_GPL vmlinux 0x6ff068c7 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ff82c94 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x700f06a6 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x702082ec iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x70294862 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x702b90a1 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x70397d33 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x704ac7d0 dpbp_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x704d8595 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x705ad4b3 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x70609545 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x70610dd4 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7064e86f crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x70697d49 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x706b3d44 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x70763cbd devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x708b0645 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x709a9563 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x70aa2140 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x70b7c07a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x70b9ca3d gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x70c18b1f sbitmap_queue_show +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 0x70d455ea nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x70eb6c05 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71189052 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x712b52ef tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7131a7d7 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x713f38b5 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7149d0bb rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x714aa400 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x7158e8c5 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x716fc453 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x717fb742 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x718012a2 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7194a96b validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x7196fe26 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71aad133 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x71abdcb5 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x71b1f0a9 rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x71b3e664 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x71bad21a crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x71c1aa49 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x71c22d58 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x71c99e9f __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x71ed2181 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x72060359 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x722e2cde nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7230c39d regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x723b1800 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x7242f566 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x724ef0fe file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x725f7b80 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x72628790 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7286c01c devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x729c9c1d sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x72a09e70 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x72bfe80d posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x72c1aeeb __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x72c902e1 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72dad3d2 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x73016e45 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x73242dcd cpu_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x7330d09f rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x73322f30 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x734b0077 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7362c7f2 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x7368cf85 xen_dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0x736a206f trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x73924a32 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x739deb68 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x739fe167 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73cdcfb6 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x73dd869e get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0x73e3c167 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x73eb342c devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73f842b3 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73fe251a mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x7410a9c5 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x741a58bc key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x74225824 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7423ab56 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x742c4229 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x742ec593 led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b99d8 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x744ac357 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x744c8921 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x745bd30f bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x747a4ad7 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x747e8ee3 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x7490f10f device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x7493e40a scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x749dd195 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b7cd39 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bdf178 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74cee571 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x74dd6535 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x74e3abc0 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74ec32e3 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x74ecd87d regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x74ed7de8 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x74f2663f ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x74fee41b pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x75006a78 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752d1284 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0x75669422 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x75767849 tc3589x_block_read +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 0x759c275e extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x75bf4075 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x75c21523 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x75c26e48 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d25e7e __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x75d97a01 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x75da85c3 handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f0e875 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x75f2c123 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x760a1c0d elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x760ce2bf page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x76370173 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x763cb802 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x764c6f5a pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x764f5176 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x766735ee devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76909943 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x76930095 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x7695bdcd irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7696e8c0 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x76a23877 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x76b5c5d5 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x76c84422 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e589b7 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f5c063 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x770b4368 md_run +EXPORT_SYMBOL_GPL vmlinux 0x77120180 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x771e1a23 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x771e5c41 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x771ed0b4 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772ec537 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x7730a06a mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x773c344c nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x773d6856 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x7743a9e4 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7749ab90 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775d9712 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x777dfd7c crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x77849a6f clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77abeacf devm_acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b728d1 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x77c29675 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x77cdb3ad regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x77d13463 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x77d2ab31 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x77d8685d serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eb2fe7 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x77ec3579 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f3d12b regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x77ff7bfd devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x780959a8 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x7818ed6f serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x78256593 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7834664e gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7836fdcd trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7863d6a5 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x786fd9fc led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78861724 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c6a8e pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a52082 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x78a92edb ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x78bb4b33 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x78d75c23 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e94029 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7912b74e mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x79327b05 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x7934ea08 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x793d942b __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x794187ee skb_gso_validate_mac_len +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 0x795f9599 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x79616aa8 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x797294db blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x797b5169 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x798f6ced wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x799a4fcc usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x799aebb1 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x79a4e933 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x79b0b462 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x79b1f864 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x79b5c5b3 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x79b9a654 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79d1528e md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79ed5817 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79f81479 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x7a1df0a7 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x7a2e8467 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x7a2eba2d devres_find +EXPORT_SYMBOL_GPL vmlinux 0x7a33dbca synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7a3cca99 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7a5a08b7 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x7a66d067 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x7a672569 xen_xlate_map_ballooned_pages +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a742e84 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7a7441f1 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x7a75ad3c mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x7a7b7706 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a963013 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x7a98c7f5 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9cd767 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa55245 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7aa6f4b2 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x7aaccd85 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x7abfca43 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac16a81 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad2c64c k3_udma_glue_release_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7afb3124 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b097449 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7b0fa72c usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x7b1361da sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b2163bd HYPERVISOR_tmem_op +EXPORT_SYMBOL_GPL vmlinux 0x7b320de5 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x7b3e62c2 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x7b4b4bfc pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x7b4c9ba9 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x7b52514e dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x7b5296f1 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b856860 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7b88df94 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7b894f16 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x7b8b0bfd ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7b8b1c1c pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x7b902fbf __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b99b1d7 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x7bbec153 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x7bc1fdd2 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x7bceab53 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x7bdf9242 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x7be4ca2a mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x7bf7be57 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x7c001f42 i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x7c067340 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x7c1fc625 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x7c2dcbae dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x7c3a33c6 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x7c46594c raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c620789 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x7c626556 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c681aba efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c8237e5 dev_pm_opp_is_turbo +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 0x7cb7421a wm8350_reg_unlock +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 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ce74232 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cec7b8e get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x7cf05ba3 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x7cfc62e5 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x7cfd5bff pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x7cff75cb pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d1d0293 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d2d9c3e cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x7d32893f zynqmp_pm_request_node +EXPORT_SYMBOL_GPL vmlinux 0x7d50c117 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7d558968 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5a8b56 of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7d805b82 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x7d9eebbd nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7d9f38d9 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7da5d0d0 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7dcb0009 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x7dcd1f96 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb2718 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7dde50a9 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x7ddf7472 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7de014d4 fwnode_property_read_u32_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 0x7dec0192 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x7df62a51 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7e052961 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x7e09f764 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x7e1f1c5d iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7e2dc301 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x7e40701c serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7e4277bb subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7e4a8198 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x7e5898f0 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e78efc2 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7ea4f562 xen_dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb1017f __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7eb49c49 fsl_mc_resource_free +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec1cb90 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x7ec814de inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x7ed85505 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x7ee9cb21 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eee7e1d of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x7ef54bbf pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x7efffb07 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x7f04199c dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x7f13a7b2 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x7f13e4f0 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x7f268849 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x7f36dd6b ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7f3fdf2a virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f8632ec spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7f93881e kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0x7fa5e4b2 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fab9b81 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fb11c78 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fb70c13 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x7fba5e64 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fcb060d fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x7fcb3a9e stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fdb117f led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x7fe152a4 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x7fe899cf pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x7ff9262a of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x8002374d gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x8005d09f fsl_mc_portal_reset +EXPORT_SYMBOL_GPL vmlinux 0x80135182 k3_ringacc_ring_pop_tail +EXPORT_SYMBOL_GPL vmlinux 0x80250d53 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x80257f97 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x802f7948 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x806aef49 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x806e4e17 spi_bus_lock +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 0x80b109d4 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x80c11314 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80cedd01 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x80d5840f regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80dc4e4c pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x80e7d77b iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x80ea0ae3 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x80ff2130 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x810dd9f1 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x811c75f0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x8120bd2d device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x812c317e mtk_smi_larb_put +EXPORT_SYMBOL_GPL vmlinux 0x81342dd6 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x8134e16b to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x81382eb3 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x8143e4b2 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x81464b01 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x814db620 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x814ef078 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x81534fd8 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815db9c9 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8168e4f8 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x8183c835 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x818b8dbc otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x819e170d i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x81aa78d8 zynqmp_pm_aes_engine +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b3b59e tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81cf5282 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81d9ec34 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x81ecd42e of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x81efe3c8 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x81fb4b8d devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x8215356d xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x821a2914 kvm_clear_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x821c11ad virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x8220a38e k3_ringacc_get_ring_id +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x822f80a3 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8259aa7e cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x82805582 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x8281884e bgmac_enet_suspend +EXPORT_SYMBOL_GPL vmlinux 0x82890a90 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x82c62236 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82ea5b8c adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x8306c9c6 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x831a5a2c __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833b90ce pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x8348e4f0 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8351d94d elv_register +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x836e6e3c rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x8370e1ed dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x837267c2 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x8374a02b inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x837ad76d of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x838497dc preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x838c59f3 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x83a03739 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x83a380d2 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x83a76094 mtk_pctrl_show_one_pin +EXPORT_SYMBOL_GPL vmlinux 0x83abf39a gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x83ade48d regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x83e958c1 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x83ed0e0b lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x83f2ce52 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x83fa7f0a pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x840f1317 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841791e3 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8434f5aa serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x843557b2 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x8440b7be lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x84480011 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845a82d9 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x845b8b31 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846678f1 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x846d462b pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x84704026 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x847cb07f devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x847f1eae srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8480e9ff regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x84826ace phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x8493cea9 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x84a1a5c8 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x84a2fe25 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x84a4b09e sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84aee285 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x84b88dd3 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x84bb50da devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x84bbcbe4 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x84c21ac9 ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x84cf6d6c device_rename +EXPORT_SYMBOL_GPL vmlinux 0x84d30ebe crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x84d6b901 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84faabe2 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x85103a92 kvm_map_gfn +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x8537a372 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x8537ce24 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x853c7a0e vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x853d92cd platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x855c6f3c dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x8575b8ec fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x858a14d1 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x858d6d5a unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x859920a8 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85b0a710 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x85b1c626 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85baf844 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x85c0de8e xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85ca6343 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x85ca726a regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x85d6598c acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x85ded478 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x85e5d047 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x85ef47cf nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x85fc64a3 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x85fe27d9 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x863b45b2 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x86401a4e bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x8643a06f __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x864540da pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866ca6a3 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x86761216 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8690ef28 acpi_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x869cf55d add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86cda581 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x86cea33e sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x86cfd745 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x86d279fd ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x86e35f30 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x86f0d032 mc_send_command +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fa2018 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x87013164 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x871615d1 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x87273465 i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x873c977c reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x874b8a88 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x8793eab5 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x8795d1d7 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x87a3b697 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x87a5f719 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x87aa38da icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x87b23aa5 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x87bdcef9 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x87d6aae5 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x88066be2 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x88090144 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x88121f5f i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x881868c4 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x881e844b l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x88250150 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x883570db fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x8846a666 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885f0657 devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x8869dc45 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x889e8422 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x88a5370b usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x88a579db wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88c2aad1 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x88caddb6 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x88cd7a9a k3_ringacc_ring_get_occ +EXPORT_SYMBOL_GPL vmlinux 0x88ceb105 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x88da2dd8 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x88df2f1b hisi_uncore_pmu_del +EXPORT_SYMBOL_GPL vmlinux 0x88e83489 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x890d8894 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x8919eb67 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x891bba2c mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x891bc3a9 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x89239e9f kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8929668d gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893bb14b inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x893eec4b skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x89428a6c skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x895252f6 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x89696218 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0x8979cd99 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x897bf84d mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x89872d9a usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x899376da of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x89963174 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x899b4023 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x899c960b device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x89a4476d HYPERVISOR_multicall +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bb5bab i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89cd43f3 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x89d5a2bc devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x89d9e757 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x89de09c8 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89ea54d4 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x8a13153c pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x8a224e94 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x8a240bff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x8a3a868f platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a438981 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a504d10 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a578212 hisi_uncore_pmu_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a806f94 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x8a8e609c tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x8aa282a7 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x8aa77983 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8acbba14 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x8acfd592 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x8ad18fca pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x8ae27276 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8aead1a3 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x8af33b5d debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x8af39cf5 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x8af5dce7 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x8b011d9f inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x8b075aff usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b16e63e pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x8b1c098f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x8b4325ce ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x8b795068 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x8b98328f sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x8ba5afe9 HYPERVISOR_memory_op +EXPORT_SYMBOL_GPL vmlinux 0x8bb99636 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x8bcc6352 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x8bdd0796 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x8bdf1c25 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x8bf15936 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x8bf58317 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8bf5f379 k3_udma_glue_release_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x8bfaab62 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x8bfc1531 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0e0bc7 kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8c14aa70 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x8c235699 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x8c302b66 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x8c3c09d1 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8c3e6aa8 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c710ed2 acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7aa936 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x8c80dc8f pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8c89e1b9 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8ca032fa device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x8ca0c373 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a38e k3_udma_glue_rx_flow_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a716 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x8cb965fd fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8cbdd363 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x8cd7e8f6 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x8cee39ae br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x8cf0424b fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8d096f1b usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x8d0eb68a transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d3ac24d icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d73ca1a sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d83c139 divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x8d86ca14 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x8d8b4994 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x8d9f4a44 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x8da3c655 sprd_pinctrl_remove +EXPORT_SYMBOL_GPL vmlinux 0x8da3df70 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x8db3c30d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x8dbf7aaa privcmd_call +EXPORT_SYMBOL_GPL vmlinux 0x8dd8c228 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x8df30e45 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x8e07f2de to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e16419b trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e348cb7 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x8e3a1e55 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x8e49151b fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e5a8f7c tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e724edc list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x8e766ca4 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x8e7ecb01 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x8e7f0a9c acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x8e92a0e0 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e9756bd sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x8eabd11b pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8ecbdaec ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8ed4671d put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8eebee8a crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef90f49 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x8efd751f rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f1013d5 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x8f193aa7 devlink_param_value_changed +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 0x8f539e1d acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x8f610cef tty_prepare_flip_string +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 0x8f7e54f7 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x8f801d8d rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8f852a97 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x8f9c7f99 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x8f9e1eb6 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x8fa6052c sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x8fadbf15 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x8fb5f90f acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fc2fbe8 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x8fc841c6 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x9007d972 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x9023071e sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x902381d4 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x9036652e tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x904b1c77 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x90527819 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x905adaf7 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x9068d463 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x906ca843 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x906deb4f kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x907d9096 acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0x9081b5db btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x90889c54 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x909335e9 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x90a62e39 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x90aa5c05 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b5fa36 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x90b763f1 HYPERVISOR_console_io +EXPORT_SYMBOL_GPL vmlinux 0x90b8317c device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90cd391b mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x90ce8348 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x90d19a24 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x90d81aba acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x90e04e31 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x90f60664 dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x910c9e03 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x91192384 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x912c5147 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9132f5da driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x914010fb rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x914a7ffb pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x91519d08 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x91872636 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x9193a896 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x919425fd pv_ops +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91969bcf cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x91a00f30 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x91a4e148 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91ac1a33 iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x91b5431a pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x91b8aed5 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c8b5b5 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x91d3b89d dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x91df08e5 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x91e2d9d8 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x91e30809 HYPERVISOR_vm_assist +EXPORT_SYMBOL_GPL vmlinux 0x91e56fcf vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x91f5a88e fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x92009056 security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9206e6ff ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x920ab71c security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x921db74c tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x92295424 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x9234cfb8 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x923c0c7a of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x923fa44f devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924bea34 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x927487ea zynqmp_pm_read_ggs +EXPORT_SYMBOL_GPL vmlinux 0x92888577 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x928c57ef simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x928ecf18 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x92956f03 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x9299f1d6 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x92a2bff5 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x92ac87ac devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x92af11aa invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x92b4e017 fsl_mc_bus_dpsw_type +EXPORT_SYMBOL_GPL vmlinux 0x92b758aa mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x92bfa173 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x92c6de19 dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d8e56f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e43b52 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92f001cf xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x92f05708 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0x930ab533 k3_ringacc_request_ring +EXPORT_SYMBOL_GPL vmlinux 0x930e466a pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +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 0x934d1b2a phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x93520814 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x935d662f crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x936dbd7e devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x936dcb93 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x93725986 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x937386cb edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x93764198 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x938a1e5b locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x939c0091 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x93af3f0b tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x93b2fba5 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93e720a3 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x94030246 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x940328cb xhci_mtk_sch_exit +EXPORT_SYMBOL_GPL vmlinux 0x9411d720 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x94227950 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x944229cf dprc_get_obj_count +EXPORT_SYMBOL_GPL vmlinux 0x9444fc5e ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x944d997d devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x944f186b firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x944f9484 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x94516923 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x945d993a clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9473199d regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x948c1496 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x949b173a mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949e88e2 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a11848 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x94c32387 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x94cd3c13 devm_clk_unregister +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 0x94f166f9 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x950126f3 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x9508137f kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x950ec03b thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952aa05a trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x9546f505 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x95570c77 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x955a76d9 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955f52e5 fsl_mc_get_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x9564794e fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x95651618 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x957f1ade platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x958cd2a0 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x958ee21c __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x9597af3d set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x959d6386 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95b433e3 kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x95b5c404 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95ef0180 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x9606dd30 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x9611208e ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x962ca7ba clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x9632e31b clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96708f8f bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x9690ee32 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x96940fc8 bgmac_phy_connect_direct +EXPORT_SYMBOL_GPL vmlinux 0x969cf1dd gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x96c76e94 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x96d445a7 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x97049b5f raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9704d1c1 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x97232496 device_create +EXPORT_SYMBOL_GPL vmlinux 0x972b7add __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x973363b0 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x974d5140 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x97623558 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x97695dbf efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x976cdeca dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9782b554 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9796f46b skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x979c86ce ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x979d5ab6 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x97abb826 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x97b4c1bf i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e43fc2 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97fe517e devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x97fe7767 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x980dbfb9 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x981730eb of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983546f5 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x9847ad1f sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98544ba2 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x98607205 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x987190cc acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0x9874538f devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x987a7525 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x9881676e ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9890f218 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x98b1fea6 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x98b6a28f pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x98c6aaef pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x98ce0afb gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x98eaa498 regmap_get_raw_write_max +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 0x9928e03b ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x9943d60c fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x994abc54 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x99590b0d xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9972d9bf __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x9994a3d5 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x99a0dce3 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x99a6efb9 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x99b18024 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x99c3066e ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x99d88a93 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x99dbf539 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x99dcbab3 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2a864 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99f98e62 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x9a012a2f serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x9a112cbd iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a121534 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x9a1caf91 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x9a3042d6 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x9a3ae290 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x9a5bb1e2 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x9a5e47e0 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x9a82d623 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x9a9c2b05 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x9aa3cd90 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x9aa9a6bb hisi_cpumask_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x9aaae52b pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9ab06f95 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ae4191f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9ae85d04 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af39033 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x9af3a2b6 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x9af89a4c extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x9afa3127 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x9afe194d ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9b025ed3 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9b05d7e2 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x9b0aebd6 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x9b1ef0a9 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x9b20b611 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x9b27bc31 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x9b3efb84 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x9b4a588f nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b5b14a2 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x9b5b6c03 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x9b5b6d5c register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9b5dea32 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x9b61e703 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x9b6b1355 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b7002fc extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x9b79c496 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x9b7aea49 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b8dc446 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bb91a5a vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x9bb98d76 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x9bc77923 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9bc7e784 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9be07916 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x9be2173e blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9c025426 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x9c08cc7b get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x9c0d7777 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x9c1424d9 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x9c1be224 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x9c32c8d5 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9c3db98b relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c732f2f pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x9c7b3d48 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c8d1730 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0x9c8e6ca6 xhci_mtk_add_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x9caab9ef acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x9cb1b961 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x9cb95abf i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cc9dba8 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9cde98ec skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d168757 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x9d16d130 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9d200b89 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x9d398d01 of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x9d4a5a1b ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x9d4f42c1 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x9d5a3075 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x9d81bc2a input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9d83264f acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9d90c0ef pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x9db79967 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x9dbfd2b7 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x9dd36443 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x9ddc9176 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e00e7e8 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x9e08d700 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x9e24fbd8 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9e2f842f acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x9e33171c pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x9e3a5270 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4c7184 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x9e6e8f9d i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x9e7156e0 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x9e7a4c6d gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x9e875bb0 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x9e90d74f spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x9e9ead20 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x9eba22a3 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x9ebb89c7 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x9ec68d98 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x9ec89c1d devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9eda066f of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x9ee24b7f fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x9eed0d41 put_device +EXPORT_SYMBOL_GPL vmlinux 0x9efb9418 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x9f12f6c3 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x9f36457e __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f437771 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x9f492c5d devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x9f517986 HYPERVISOR_hvm_op +EXPORT_SYMBOL_GPL vmlinux 0x9f5b50c7 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL vmlinux 0x9f73206f pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x9f7594ee usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x9f982cdf kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fbab05e __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fcdb4d7 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd2aa6e mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x9fdfece0 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x9fe6c1e9 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff4dd0c vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xa008873f devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa01c87ef dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xa0329844 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xa0350800 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xa047b2de bus_register +EXPORT_SYMBOL_GPL vmlinux 0xa0491d78 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0xa04a8c95 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa05c3fd3 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xa07edcd9 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xa07f6fb1 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xa083176e hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa089deaf PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xa08e2be4 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xa0ae6fff iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xa0c04d73 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa0c0a5ee __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xa0c6befa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa0ccaae5 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d48c71 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0xa0e6d667 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xa0ec1859 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xa0ef3e08 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xa0fb7631 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0xa0ff675f addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0xa103b1c9 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xa1073b00 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa112393f ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa1282eb3 device_move +EXPORT_SYMBOL_GPL vmlinux 0xa12cde24 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xa1436cc1 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa1691b63 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xa16d69c8 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa177385b of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0xa19acdad bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa1ac2675 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xa1b45f99 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xa1b9f754 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xa1beb5f1 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1db9c06 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xa1deece5 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xa1ece723 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa20d019e fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa2125622 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xa222fa3e dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa22d9548 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa23532f3 bgmac_enet_resume +EXPORT_SYMBOL_GPL vmlinux 0xa23ed423 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0xa23ee2e0 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xa2543d31 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa26229e1 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa26d9e7d list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xa27cc96c mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0xa2ab01d1 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b73580 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa2c28c5e crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa2cba283 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0xa2d4303e rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xa2dcea88 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa2f9af51 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xa31ced9c iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0xa322cf04 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0xa3271758 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0xa3274fd3 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xa33105ea cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0xa33a8620 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0xa33d3866 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa34e153b __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xa3659b5f __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xa36a919d regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa371969d dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xa37461b7 of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a438b usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c1436 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa3953db2 meson_clk_cpu_dyndiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xa39e70d0 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3ccda7c regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0xa3d2acdf usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xa3d767af rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa3dcb681 zynqmp_pm_fpga_load +EXPORT_SYMBOL_GPL vmlinux 0xa3e0a46b ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xa3e4c41a nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3fcea99 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa40a65c2 ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa41f967e regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa425de57 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xa428341e fsl_mc_bus_dpmac_type +EXPORT_SYMBOL_GPL vmlinux 0xa42aa552 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xa4325338 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa4578b6b dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45d44fc zynqmp_pm_get_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xa461ce97 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa47b8341 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48897f9 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xa4927d23 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xa49367f4 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xa498f27c blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xa4a026b7 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4ae1b31 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4bb31a8 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xa4c1cd8d udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa4dfae60 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xa4f2a2ed acpi_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xa4fc3919 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xa4fcbeb8 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xa50335f4 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0xa50b7ff4 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xa50d15cf ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xa517e345 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa53c2ddb clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0xa54132b5 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa54eef33 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa57349be rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xa598d4b2 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xa599ad07 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0xa59baeae devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa5a25fba ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa5a64f94 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xa5a8617b pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xa5baca16 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5d9964d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa5e59ca4 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6062641 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xa60aaf0e nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0xa61c3efc devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa6309926 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xa6418f21 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0xa67a8944 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xa67ca078 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0xa6824f3f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa6869a51 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa697bca6 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa699fb3c regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6bcf038 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xa6c5b3e2 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0xa6cba20a spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6eff1b1 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0xa6fcc737 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xa6ff02d5 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xa7090fb5 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa7427ef3 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0xa742e837 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0xa74a6930 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0xa77451a0 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xa77c4755 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0xa7856098 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xa788700b copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xa7a276ed wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xa7a7110b serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xa7a80e8a dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xa7ab8d87 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xa7c3a0b0 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xa7ca7bfc fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xa7e556e7 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xa7ee623f task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa7f2f195 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0xa80789f2 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xa82da493 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xa83a6a3b pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa85e5826 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0xa8620e76 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0xa870c130 pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0xa87f21fd relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xa8904a3f regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xa892f3d7 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xa895b77f xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0xa89a6fe0 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa89e11c4 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa8b93664 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8f38d82 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0xa90bca8e of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0xa90ca4be clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa916341a mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa934a48b fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xa93ceda4 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa9526c8a fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xa956132b hisi_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xa958eadf cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xa979ec9b find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xa9997f45 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a0b0bc fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xa9aa450c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa9bc8b74 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa9cd5cb6 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xa9d07d2c relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xa9da8228 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xa9db1c36 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9eb637c fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xaa17e645 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xaa19b899 phy_put +EXPORT_SYMBOL_GPL vmlinux 0xaa1a164c pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xaa1f0a5e iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa2d8fbd regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0xaa2f461c pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xaa33455b dprc_get_obj_region +EXPORT_SYMBOL_GPL vmlinux 0xaa33e218 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xaa434f87 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xaa663bb4 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xaa66bec2 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xaa682081 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa751e7f ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xaa82113f debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xaa92a7d4 pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xaa9bddd8 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xaaa3cbf8 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab081e8 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xaab1ed1a mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xaab4a1c9 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xaab60ce8 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xaac04a65 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xaacbbb5a rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xaacccb35 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xaae08f66 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaaf72567 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xab00d0e4 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xab060841 zynqmp_pm_query_data +EXPORT_SYMBOL_GPL vmlinux 0xab30b1e8 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xab39af3a rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0xab62ef76 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xab69205b component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xab80d5da nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xab8aa426 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xab9101f7 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xab9a0b42 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaba5b6e4 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xabad5aa3 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xabae32e6 tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0xabb754a8 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xabbaa85f usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xabbb0e82 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0xabbdbd35 zynqmp_pm_reset_get_status +EXPORT_SYMBOL_GPL vmlinux 0xabc15dbf dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcf8fd6 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xabd45848 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xabdc83b1 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xabed2275 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0xabedd5a5 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xabf9eac5 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xac13f4a2 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xac343bb2 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xac343e1c of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xac42bb41 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xac533ee6 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xac542311 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xac6bdbc1 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xac72da47 psil_get_ep_config +EXPORT_SYMBOL_GPL vmlinux 0xac8252d1 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacb782da pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xacbc4799 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xacbd454b ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xacc9bc35 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xacd5e38a spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xace5a042 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xace910d2 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xaceb6e5b mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xad000ee3 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xad0f2b6c unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xad1fbbfb devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xad41c050 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0xad42e74d mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad52921f task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad58ea01 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xad60ca4e devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad66a6f9 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0xad6ee051 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xad7db612 user_read +EXPORT_SYMBOL_GPL vmlinux 0xad7f043f efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xad84cb00 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xad88cafb serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada89060 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xadb05809 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xadc73365 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0xadcd199b rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0xadd0eaf7 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xadd310da fsl_mc_object_allocate +EXPORT_SYMBOL_GPL vmlinux 0xade1e090 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0xade4f608 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae0205bf bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xae0b4625 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xae0b78fa lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae13b80e acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0xae1b908e devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae358acd unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xae36adfd __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3e7d30 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xae53ec0c extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xae66224d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xae68513e wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae77dad4 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae89808a bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xae9140f5 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xaea5959e fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xaeb004d9 kill_device +EXPORT_SYMBOL_GPL vmlinux 0xaeb12315 find_iova +EXPORT_SYMBOL_GPL vmlinux 0xaeb143a8 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xaeb3e5a2 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaec8b252 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xaf00d9fa device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf135009 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xaf1f601e thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xaf330a66 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xaf33ce46 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf351c62 ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0xaf3b6aab dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf4a2c90 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xaf55fb46 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xaf60a747 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xaf63f4a8 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xaf6553e5 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf943f83 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xaf9bf269 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xaf9c1e73 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xafb07262 __pfn_to_mfn +EXPORT_SYMBOL_GPL vmlinux 0xafc8e90f gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xafcac948 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xafce93f6 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xafd1456f rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb0048acf led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xb01b9583 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb02671e6 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb02b5e61 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb03bb530 fsl_mc_bus_dpmcp_type +EXPORT_SYMBOL_GPL vmlinux 0xb04555ea cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xb059eeb9 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb0772835 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb081213c rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xb08a22a3 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb0a66ef7 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c3d96a __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xb0c676ee perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0xb0caf4db acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d37c1f mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0xb0d60ae5 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xb0d93cf1 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xb0e27b00 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0eb1efa pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xb0f6b0cb irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xb0f77805 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xb0f95f60 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xb0fb27f4 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb10f06f2 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xb10f4808 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xb117c552 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb127e609 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0xb12acd5e cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xb13a1bbb sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xb13e51b1 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xb1418ba5 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb142cce4 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xb15c8cf2 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xb161abde rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb181a754 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1ac2784 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xb1b1b75b unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c6cb29 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xb1d9f9c3 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb205ae2a devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2211445 amba_apb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0xb222249a l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xb238ed95 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24221c1 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xb247db97 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb27043b5 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb2887b2a pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2a1c4c0 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xb2acc159 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xb2ad00c8 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xb2aef89b sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2d58ed2 __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ed2544 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xb2ed71ad devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30e5679 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xb3165733 ti_sci_inta_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb31eb52b blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xb32b3f03 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0xb3347f92 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0xb3351c6c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xb3541db8 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xb35b2c98 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xb364d822 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb366baed serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xb3697565 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb3701649 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xb39398a5 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0xb39fa8ed iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0xb3ab85fa __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb3c14885 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb3c4efe3 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xb3c5ecd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xb3d24e8a spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0xb3d9d32f phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xb3e51a57 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb3f61abb spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb3f9c1d2 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xb40744a4 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb41880ef xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xb41bb339 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xb41fd580 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xb42c438c of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xb4360864 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44241be da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xb4431c5f gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb4458def alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0xb4474f88 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xb44890a0 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xb4496a91 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb44e827c acpi_irq_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xb452c7d9 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xb466e7e6 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xb467dae7 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xb46aa256 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xb46d21cd devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb48ae779 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xb48edbd3 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4b3e144 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4ccba3e sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xb4dea6cb trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xb4df70af synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4ff6bb6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xb5016038 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50b0541 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xb510c250 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xb519bc36 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xb51cc66a genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb51ff8a4 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb5224fb1 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb5247e11 mtk_paris_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xb525fe5a dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xb531805f crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xb54b3a46 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xb5531fbc l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb55de460 HYPERVISOR_dm_op +EXPORT_SYMBOL_GPL vmlinux 0xb56a896b pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xb56deec2 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xb56fb7e5 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0xb570b188 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5766cbd xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xb57e2882 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xb594f6cf icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5bcb916 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xb5c18c05 clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0xb5cd70e5 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0xb5ed48c8 bind_interdomain_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5fa9f4b acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xb5fd2aa5 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0xb5fe5608 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xb6001e12 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62cbd80 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xb643793c tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xb6447846 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb6502877 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xb67592b5 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xb675dca5 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb69d3ed2 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0xb6afd06a security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xb6b02fa0 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xb6b1e4f6 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0xb6b53892 psil_set_new_ep_config +EXPORT_SYMBOL_GPL vmlinux 0xb6be4266 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xb6bedd52 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xb6cfa046 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0xb6d76fae devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xb6db11b5 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6f211ff inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xb6ff8e7d edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xb7014a9f register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb702838b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xb7214bf5 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb72c5781 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xb7300db8 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb749e313 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb757086a of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb760e295 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xb77089d8 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xb79219b8 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0xb7a36c35 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a869f4 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc7e05 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xb7e546bf put_pid +EXPORT_SYMBOL_GPL vmlinux 0xb7ea2878 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xb7ecee92 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0xb7f1597a devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7f73ef8 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb8221e46 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb83efb2c debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xb8458067 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb8495f9c scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb8554a1a synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xb858ebec devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xb85b4217 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xb8647bf0 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xb867ab11 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xb88062c2 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a0cd74 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xb8bca7a9 ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0xb8bee226 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d10bd9 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xb8d67f96 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xb8e731dd clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xb8f05def sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb9087b47 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xb90f7284 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb923229a pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xb92c95af device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb944e8d2 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb95d4586 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0xb96534b7 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xb96539d3 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb9723a5c ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xb9813fad extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0xb98d3a72 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb99112bb virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xb99fbc71 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bce0c0 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9c9d9fe crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xb9cd7339 wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d1cda1 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xba169678 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2a66be register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba36680f clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xba52e77e crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xba5df6c9 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xba6361c5 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xba6ea1c5 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xba83a22b rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xba918966 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xba984d9b acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xba9b81d4 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xba9bb093 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xbaa25ce1 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac08acd hisi_uncore_pmu_counter_valid +EXPORT_SYMBOL_GPL vmlinux 0xbacd8202 hisi_uncore_pmu_add +EXPORT_SYMBOL_GPL vmlinux 0xbae79703 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xbaec0b37 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xbaefdd5c regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb17453c pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xbb25b493 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb2fd7fb lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xbb3a0d0d tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0xbb4d91f4 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xbb65fdfc __pneigh_lookup +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 0xbb8a1498 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xbba977e5 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0xbbb31fe9 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0xbbb43eea pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbbbfe5a7 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xbbc22602 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xbbde306f fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xbbe763ce dprc_set_obj_irq +EXPORT_SYMBOL_GPL vmlinux 0xbbf95909 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xbc17d182 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xbc40fe94 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbc4da7d2 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xbc578396 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xbc636e1f devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc78540f register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xbc984a75 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc9981c2 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbcac30ae mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcd3a265 mdio_mux_init +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcdef600 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xbce6661a devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xbceb28d5 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd0a253d sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xbd3a135c devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd76d9cf skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xbd78a2fc usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xbd9130cb regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xbd960288 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xbdbc3ff0 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xbdbf6aab inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xbdc5818c da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbde0f482 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xbe003dcf irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xbe089d2d bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xbe300ff2 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5e3414 k3_udma_glue_reset_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xbe620cae device_attach +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe6a8423 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xbe7184d8 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0xbe92710b sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbe9aae45 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xbea015c1 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xbea02779 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0xbea172e1 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbeda207f dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xbee28c31 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0xbeee01bd nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xbef04016 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xbef886a7 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xbef8908e iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0cc3c6 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xbf1b491d debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xbf1bd7eb device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xbf39cef0 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0xbf4f3bf8 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf6cead1 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xbf75416b usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xbf760332 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xbf778c27 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xbf79325a thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfd824ca sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xbff696e9 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xbffec034 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xc00b56f7 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc011c012 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xc01339a7 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc0277cb3 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc0362c03 acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0xc0406eff ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xc04755e4 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0xc0531395 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc0577020 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xc0690e0d devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xc069453a pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xc06e0ac0 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xc071b3c5 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xc077c98e blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xc079242a serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc086ce49 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xc0a1656d genphy_c45_read_link +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 0xc0c17de9 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xc0d49533 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f02280 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f293a0 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc14ad926 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xc15da6ff strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0xc165d928 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc17fee92 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xc1838d9d __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xc18ae88c devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc19e1a1f sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xc1a95a1b devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xc1ac46a7 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xc1ba5103 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc1c7ec26 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xc1cb2fe2 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0xc1d59a23 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc1dce028 k3_udma_glue_reset_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc1e2cac7 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xc1e3d2a3 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc1e674b5 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xc1e7d2a8 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xc1e98a30 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xc1ecc1a4 meson_clk_dualdiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xc1fe3cc9 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xc201269e raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22ed7f4 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xc25244ee extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xc25d05f9 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xc265cbff device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xc2688c1e vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc26a7822 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xc2783acf gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xc27ae78a i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2821533 napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc29fd5f2 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2c15b26 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c3790c smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc2cfea8c bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2dec32c dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xc2e503c4 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xc2e50c6e ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc2ea897d amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xc2fd03fa dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0xc308ece9 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xc3178f35 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xc3212352 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc325f660 ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc334ced3 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34ab92e dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc34adb57 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xc3544670 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0xc3686717 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0xc36e0e7a iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc38d7efc mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xc39c1ffd devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xc3a3669f crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d00cff usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xc3da8c8c pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e00784 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3ea8f3a synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xc3ef0e38 fsl_mc_bus_dpseci_type +EXPORT_SYMBOL_GPL vmlinux 0xc406cf73 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0xc40821c7 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xc40f4e07 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc4115678 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xc41aac57 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0xc41c44c6 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42a5cd4 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xc434e006 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0xc4446aa4 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xc44a9397 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc456b091 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0xc45a42e2 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc475d67d da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc48b3f38 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc494a4bf dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xc495dbd4 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ab1a90 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc4ac8eef __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xc4b2b43d hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc4d0a272 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xc4d1c87a get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xc4eae733 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc501f44e sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xc50eb083 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc5123353 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xc5156bf3 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc5180b95 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc52b671e tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xc52f0388 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0xc54551d0 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc56060da regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc56a7f46 blk_poll +EXPORT_SYMBOL_GPL vmlinux 0xc56fa194 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc5802d72 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xc585781b pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc594d840 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5ae6f06 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xc5b0248a gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0xc5d789df alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xc5d7cda2 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xc5e4bc92 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xc6097b70 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xc6144021 fsl_mc_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc61da59c fsl_mc_object_free +EXPORT_SYMBOL_GPL vmlinux 0xc640637c dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xc64a24e4 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66bad3e fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc672111c virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc687c497 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc69bc9f1 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xc69bd4e8 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0xc69d19f6 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc6a32b96 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6aa876d disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xc6b6c8c9 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0xc6dcf866 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xc6de7156 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e06339 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xc6e34be1 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xc6e4ee70 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xc6eb56ea serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xc6ebef1d tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0xc6f19b95 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc715eb50 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xc716ccdf pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc720e54d udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xc72ff0d7 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xc73cf6d7 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xc751f36d device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xc76d0f21 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xc770ec55 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xc77c2a89 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc785a156 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xc78b9159 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0xc79413b2 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a79ad6 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xc7b69075 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xc7b7c66c kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0xc7be07c4 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7c3e329 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xc7d2907f dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xc7db85eb usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xc7edf6de netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xc7f0d100 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc7fb0e85 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xc7fef049 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc8044512 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xc819bc25 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xc81d1dc2 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8329d7e _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0xc849aba4 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xc854c19b handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0xc858b010 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc87264e1 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xc87dd725 k3_udma_glue_pop_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc87fb025 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc887e243 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xc888729a sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xc88b37e3 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0xc88b9ad0 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xc89f1818 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xc8a3566e blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xc8a38816 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc8a604a9 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xc8b681d4 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xc8c6c6b4 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc8d7bbb5 devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e04cf3 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xc90ce874 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9259e8c regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc94b71f1 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xc954cbc2 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc96d9ea8 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc97a00c9 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc97a07c3 security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0xc9801d5a crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc988a22e dpbp_close +EXPORT_SYMBOL_GPL vmlinux 0xc98a80ea fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xc99437bc dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xc9956142 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xc99ba06a ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xc9a8c17d sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xc9abbea4 blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xc9bd0b16 update_time +EXPORT_SYMBOL_GPL vmlinux 0xc9c51b54 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xc9cb6197 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0xc9cf0c07 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9e24389 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xc9e43c87 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xc9e4dec6 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f47cf3 is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca004337 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xca0fec8e bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0xca1753b0 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xca458561 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xca69bd7b pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0xca69ee05 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca7f1f69 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xca86b88c palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xca881f26 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xca905101 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9acc8e usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xcaa96830 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xcab44dcf kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xcab8f646 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac8a6c9 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xcacd88a0 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcad67a08 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xcad81fb2 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xcadf270b fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xcae67d45 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xcae7ce5d fsl_mc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xcaeeac0c usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcaff0477 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xcb0f60af devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcb110b06 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb1e3729 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0xcb28c97d tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb3ffebf dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xcb55c306 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb60a7e0 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xcb979452 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xcb989d11 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xcba5bee4 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xcbc01fc0 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xcbc97810 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xcbd68500 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbe76feb class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbf28482 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0xcbfe04db security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xcc023141 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xcc07cc51 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xcc0ba552 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xcc0fd0a7 k3_ringacc_ring_push_head +EXPORT_SYMBOL_GPL vmlinux 0xcc1cd4f5 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc421840 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xcc50807b devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0xcc61afc0 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xcc768af4 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xcc898f12 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xcc8fad85 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0xcc92013f gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9463e2 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0xccb9fb53 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdebdc6 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xccf14d8e generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd049a8e kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xcd18c42b dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xcd1c1a53 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd25203e da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcd3e5c7c acpi_release_memory +EXPORT_SYMBOL_GPL vmlinux 0xcd40c4ba xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0xcd468df0 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcd59c254 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xcd5c2d97 xhci_mtk_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd759b82 k3_ringacc_ring_reset +EXPORT_SYMBOL_GPL vmlinux 0xcd76ebd7 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xcd770852 xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xcd7f782e ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xcd872159 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xcd88c2ea mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xcd8f5854 fsl_mc_bus_dprc_type +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd98e8d1 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda17ec5 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbf1a15 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xcdc482ea gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0xcdc5234d dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0xcdc86b55 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcdec22f8 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcdf4865d i2c_acpi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xcdfd6d59 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xcdfe2b49 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xcdff35f8 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce1ee201 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xce2d9658 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xce2f93ea loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0xce316d7e zynqmp_pm_set_sd_tapdelay +EXPORT_SYMBOL_GPL vmlinux 0xce4a4530 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xce5b5832 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xce677dd9 hisi_format_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce735db2 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xce8544d6 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xce8fd952 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xce91eaa8 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xcea239be xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0xcea4eccf kthread_park +EXPORT_SYMBOL_GPL vmlinux 0xcea9b200 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xceac8674 zynqmp_pm_read_pggs +EXPORT_SYMBOL_GPL vmlinux 0xceb138fd net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb31159 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee287f8 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcee5c8d5 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xcee6c139 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceed8c16 __set_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xcefa7373 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xcf02f66a hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf045847 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xcf05ec4b proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0xcf062333 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0xcf3a9842 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xcf4da487 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xcf4f55ec bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf595cc2 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0xcf5d7296 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xcf68f1e1 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xcf71dbac pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xcf7e5b23 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0xcf86d0cf cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xcf88c2fc usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xcf8fac45 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xcfa0939b ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xcfa9f080 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0xcfc15f4b rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd1d8c1 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcfec679b devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xcff52970 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0xd0050311 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xd024949c ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xd026d518 HYPERVISOR_vcpu_op +EXPORT_SYMBOL_GPL vmlinux 0xd0350f20 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd05f5618 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067a53f __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd09c8003 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xd0a7ec9a xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xd0ac3843 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cb796d yield_to +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d2d4a4 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0d87ad0 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0eede14 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xd0f776d0 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xd0f8f721 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xd0fd2204 do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xd109e355 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xd10d9c5c ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xd10eb210 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xd1293b29 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xd131dd72 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xd13495d8 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd13b79c2 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xd13ebdf7 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xd14e5bc1 sprd_pinctrl_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd1801af6 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xd18493a4 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xd1a1beed arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0xd1a9daf6 amba_ahb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0xd1acb60c xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xd1aceceb clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xd1b7a99e phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd1c38135 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xd1c754a5 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cdaeb6 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xd1da6ceb ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xd1e65eff devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xd1eb1746 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xd1ee9c04 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f48327 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xd201bda3 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0xd2039999 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd221aff4 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0xd2436735 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd246baf0 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd250401e devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd272b77b of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd2803e1a tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xd293683e fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xd2ad5586 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2c7080b debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xd2c8ae77 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2ccdebd pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2e8a182 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xd2ff979e pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xd303584e debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xd30920fe mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0xd3143aea netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32694be sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xd32df973 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xd32ea40a devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0xd32f1a60 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd34c3291 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xd362dea6 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xd364b2f1 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3742f36 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd375c39f pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0xd3978258 hisi_uncore_pmu_stop +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3bfa753 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3c509b8 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd3df5503 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xd3e077ee crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd40196f5 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd405412c pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xd415cf79 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xd41d7458 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xd42009d6 fsl_mc_portal_allocate +EXPORT_SYMBOL_GPL vmlinux 0xd4217d83 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd4411e0a ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd458f21d fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd4888207 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xd48f1951 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd49a5abd ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4cc0c2e shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd4d0567a aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0xd4d1e584 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f8a945 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5171989 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd53db04c pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd54c79be xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xd5586422 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd5673637 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xd5676a25 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0xd5740521 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xd57fbd31 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5807af3 k3_ringacc_ring_pop +EXPORT_SYMBOL_GPL vmlinux 0xd5835918 save_stack_trace_regs +EXPORT_SYMBOL_GPL vmlinux 0xd58a0280 devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59eccdb ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xd5abc526 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0xd5ad357f __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xd5b57ab3 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd5b8b637 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xd5ccbd58 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd5d166ae hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5e46a29 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xd5ea5e45 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xd5ecb372 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd5f5338b irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xd5f6687c usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd603b7c1 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0xd6139795 of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0xd6175525 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xd6197146 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0xd6241a2a edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xd62c5cb3 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xd636b962 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xd6441faa devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0xd64df750 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd6566e6a spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0xd656a310 iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0xd6594a3b device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xd664146d phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xd66ac691 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xd66f5939 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68e4ad9 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0xd6989e15 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd6b335c9 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xd6d3204d vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0xd6dc6d06 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xd71c8881 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75e201f usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd78434ae is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xd78fb81e scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xd7af6fb8 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xd7c39fff free_iova +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7e5ed64 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xd7fcfa6c tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xd813d191 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xd8180bfe rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xd83b69ef dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd859999a i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xd8732077 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd88235f0 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xd882ebf5 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xd883a3ed dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xd89241c1 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xd8c9e90a regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xd8cace02 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xd8d24416 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xd8d42007 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8f1d237 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd8f1f110 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd9055ae7 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0xd9086502 zynqmp_pm_reset_assert +EXPORT_SYMBOL_GPL vmlinux 0xd90a93a7 k3_udma_glue_rx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd90fa350 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xd9125454 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xd92206bb pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xd92b9cae dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0xd92d73e5 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd937585a dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd964aeca set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd96e7da2 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd97b3622 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xd98b1f07 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xd9904bb9 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xd9ae5c5e of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xd9b4457b usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd9bd2a03 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd9bdef5a dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xd9cfd956 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0xd9d5d879 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9f02bda sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd9f2c0c4 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xd9faa7a5 zynqmp_pm_set_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda03bb51 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0xda11f1b2 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xda15a15d alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xda19e321 xhci_mtk_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xda242a29 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xda290484 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xda2d6bf9 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda373a5a regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xda570e3f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xda589c65 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xda5c4140 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xda77876b phy_reset +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 0xdaa57b5f ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0xdab40b84 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdabb28dc security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xdac3bd69 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafc091d __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb0d3fcf ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xdb1544ae ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xdb22154b cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb33f713 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xdb3ca94c devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdb4b45c4 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdb541b0d kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0xdb5a934e clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb65790f serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0xdb6a9106 hisi_uncore_pmu_get_event_idx +EXPORT_SYMBOL_GPL vmlinux 0xdb6dbdcf thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdb735885 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xdb73b668 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0xdb82c4bf usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9660ad access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xdb9d6d0c crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xdbb14817 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xdbcbea34 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xdbcf665c sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xdbe28961 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xdbf29726 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xdbf34e24 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc045463 dev_pm_domain_attach +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 0xdc217b74 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0xdc21e866 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xdc3074df arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0xdc38220e mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xdc39ab92 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc4daaf3 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc68c9bf sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xdc6e358b pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xdc6fcfc9 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc7990ee __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc7d7256 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc967ff3 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcae72b2 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xdcbb29fe fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xdcbd27d0 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xdcc5b168 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xdccb83af irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xdccd03e5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xdcd18d2f queue_iova +EXPORT_SYMBOL_GPL vmlinux 0xdce23a83 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdceb79f1 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xdcf04f5b __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xdcf4c6c0 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1ad588 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xdd27e320 gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xdd2fc20f devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xdd34bf86 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd392891 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xdd51e126 fsl_mc_allocate_irqs +EXPORT_SYMBOL_GPL vmlinux 0xdd56babb cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdd5f9946 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd6844a3 k3_udma_glue_request_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xdd7f0765 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xdd7f64f0 cpu_logical_map +EXPORT_SYMBOL_GPL vmlinux 0xdd8afdb1 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xdd91c86d bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0xdd94a15b switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xdd9ad49a clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xdda8b7e5 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xddacd597 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcdea05 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xddcf8c56 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xddd241c0 mtk_smi_larb_get +EXPORT_SYMBOL_GPL vmlinux 0xdde208dc usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xddf3fda1 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0xddf5fee7 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xddfa033e ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xde041f41 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0xde09a94d xas_find +EXPORT_SYMBOL_GPL vmlinux 0xde1cc179 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xde2d3af0 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xde371eb6 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xde4406ce spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdea10516 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xdea1bd9f virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0xdea68d0d badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xdea8d6ea inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdea9d3f0 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xded127b3 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xded9ce30 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdee47723 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xdefbfc70 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xdefccc1b regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0e62da gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf0fcf50 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xdf223247 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf46a5c9 init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xdf63371d pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xdf7e0664 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xdf80670a component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xdf81b0ba usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xdf8a3ce5 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfb4fb04 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfcbce50 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xe00b8cd2 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xe00c7d22 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xe0123f07 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xe019c57a handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xe02d62ec usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe037666e unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe03de059 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0xe03fff23 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe054b3a0 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xe05623a1 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe069dcad ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xe07141f5 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xe07e5522 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xe086d2a5 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xe09a7f6b device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe0acf372 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c48d36 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xe0c7e9c6 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe0d0edf5 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xe0d4d083 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xe0dba21a serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xe0e3147c HYPERVISOR_sched_op +EXPORT_SYMBOL_GPL vmlinux 0xe0e335ff sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xe0e89d8a device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xe0e9bcb4 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xe0f863cf irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe0fa6331 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe1049904 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xe10c7596 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe11295fe cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xe1214842 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xe12fb95a rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xe1613fb9 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe171d274 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe177c2ce rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xe1800785 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xe18d9ed8 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xe19cafd7 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1b893d0 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1e4df72 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xe20bf52b devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xe21e70bc rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0xe22d848a efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0xe22f0824 device_register +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe24f653a iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0xe2582a12 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xe2664fcc gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe2690305 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xe26bba70 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xe2871f7f iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xe29ba102 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe2ace2e3 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xe2b191ba pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c33bce ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2ec4702 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0xe2f0410e pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xe2f2db03 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3065e08 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xe3067f1c dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0xe3075a64 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xe30a86f1 fsl_mc_bus_dprtc_type +EXPORT_SYMBOL_GPL vmlinux 0xe319c4c1 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xe31a75ab usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xe31a9cb6 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe338c5ac inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xe33cfa0b fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xe3561e63 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xe36ac996 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0xe36b711c tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xe36da891 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0xe3782138 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xe3948ff4 acpi_walk_dep_device_list +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39c0868 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b66cc2 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3ce498f perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xe3d4498c pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe3d579e6 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe3d77efc trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe3d90b90 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xe3dc575b qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xe3ebf9bd arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xe4099436 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe4126029 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe440d349 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0xe44797c8 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xe449048c acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0xe4493bc5 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xe45a6a5e crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xe4640d34 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe4716084 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xe472ad93 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0xe47446e3 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xe47a9c5c ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xe4874aef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe487994a acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe490b550 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xe495926a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b7f4da badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4cb0456 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe4e4591a xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe51028d1 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xe511d441 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe51648f0 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe51cd72d usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xe52a4ac9 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0xe5367345 bgmac_adjust_link +EXPORT_SYMBOL_GPL vmlinux 0xe544e88f mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xe54c6d58 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0xe5516728 k3_udma_glue_tx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5538557 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xe56b7fe5 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xe57236cb crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59675aa follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xe5973bc9 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe59f7406 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0xe5a925d3 zynqmp_pm_init_finalize +EXPORT_SYMBOL_GPL vmlinux 0xe5b115c4 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xe5b766ba __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xe5b9045c crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c035ad regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xe5c56a63 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5cf118c regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0xe5d3de6d wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60f4e60 blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe635d5fb dpcon_enable +EXPORT_SYMBOL_GPL vmlinux 0xe6372227 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0xe64edfff gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xe65bcd78 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xe669106c fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xe67c3574 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xe681f4a7 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xe69cc9c9 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xe6aa102d pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xe6c33c0d i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xe6cfac65 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e874f0 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xe6e8ac11 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xe6e988c5 k3_ringacc_get_tisci_dev_id +EXPORT_SYMBOL_GPL vmlinux 0xe6f1bf3c security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f5e6f5 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe702ef2c fsl_mc_bus_dpbp_type +EXPORT_SYMBOL_GPL vmlinux 0xe703c23c phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xe70f469d gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xe710f531 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xe722e49d mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0xe7327295 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xe732ae05 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xe741800f kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xe74b6781 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0xe75133b6 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xe75345b5 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe763b3b7 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe7812757 __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe792d5ba regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe7936243 zynqmp_pm_clock_getstate +EXPORT_SYMBOL_GPL vmlinux 0xe7a15bdd key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xe7b4b10f perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xe7d02020 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe804f5e1 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe815aa00 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe83dec6a serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85dc841 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8802325 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xe88a69e8 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xe8a4ec23 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe8a7ca1a regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xe8ab32a7 acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xe8b40f33 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe8bb51e9 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xe8bbb778 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xe8da4208 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe8e04b35 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xe8ecc658 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xe8f5228f gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe8fafaab of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe904e1c6 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xe9090f12 mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xe9112370 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xe920c03f power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xe92c5542 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xe92ea17d blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xe931b83d platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe93f3f26 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xe948b6a5 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xe94a1198 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe96a7d0d acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xe9a04446 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xe9a14f1a extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xe9a8b11d bgmac_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe9af08e9 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xe9bbdbd4 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xe9c5b605 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d4f27f register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe9d63a0d k3_udma_glue_enable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xe9e18eb7 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0xe9f29a82 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xe9f64c00 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xea009bcf spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea156cd6 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0xea1e670a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xea2d468e clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xea321b42 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3817d4 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0xea3ba6ed usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xea42eb04 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xea48faa2 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea613ef1 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xea6b33a7 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xea70cd57 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xea77d3d6 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xea7a53b9 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xea92e746 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xea9889d8 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xeaa0113a fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xeaa3eea0 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xeaa818c4 dprc_get_obj +EXPORT_SYMBOL_GPL vmlinux 0xeaa83a7c __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0xeaab5051 ti_sci_inta_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xeaac52fa cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xeaad96f9 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead99540 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xeae0b7ae vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf793b0 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xeaf7fe0f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb0c1a41 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xeb10e50d pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xeb1da3ad usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xeb1fec31 of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0xeb28a32f xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xeb2b58bb blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xeb3312d0 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb3f8466 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xeb4221e4 trace_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb4470ae regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xeb4b64e7 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xeb598121 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeba5e6a6 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xeba62370 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0xebaafbfb dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xebc2bccb ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcf58b2 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe2f0da regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xebf52642 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xec0af5b2 hisi_uncore_pmu_set_event_period +EXPORT_SYMBOL_GPL vmlinux 0xec0d1e14 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xec225be9 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0xec2d0e4f blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5f0b03 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xec602237 md_start +EXPORT_SYMBOL_GPL vmlinux 0xec660cd3 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec6c4724 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xec6e93ca memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xec756f48 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec8dd3bf find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xecaf04c4 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xecb1210c thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecc0029d devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0xecc1f2eb uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xecc91ade skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xecca240e usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecd90237 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xece1a562 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xecf182de devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xecf97a27 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xecffee27 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xed1bcb5d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xed21bbee fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xed26887c serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xed2803f0 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xed471940 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0xed492083 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xed6d618d blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xed7c7b91 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xeda127a5 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xedb1f619 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0xedb74475 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xedc45704 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede8dffc vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedfc8f9b md_stop +EXPORT_SYMBOL_GPL vmlinux 0xedfd8699 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xee014537 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xee15975d rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0xee168c7e ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xee2d2315 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3ab6e3 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xee43e34d pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xee48d0fa pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xee4ea9bd irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xee50e079 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0xee66d218 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xee690a16 sk_psock_init +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 0xee6ccde8 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xee82fe52 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xee85c71f skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xee9202d5 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xee9f888c rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xeed0f324 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeeddea9f vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee175b5 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xeee3c998 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xeee71ffd spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xeef5429a pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xef139391 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xef17499f acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0xef1dde67 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef411c88 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef4ff91c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef8875e6 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xef9fc52d sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xefa1d566 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefc8e4e9 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xf001852f sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf02128af md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xf03c0ee2 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xf043da52 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf06303d8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xf065f45f usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf07442b2 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xf077273b class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xf08050c4 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf081e27a spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xf08e61be crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf092029d fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xf09bc593 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xf0c76140 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf0d478c7 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xf0f011b8 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xf112dadc dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xf1332b85 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf13cb947 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xf13cbea2 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xf156b20e led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xf156c9cf sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xf168a590 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0xf176acfc edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xf184507f unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf199da1f crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf1b30d4d dax_inode +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b9a365 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xf1bab982 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xf1c5f3c1 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xf1cd9e4d __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf1d12909 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf1fa3875 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf224935e usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xf23545b2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xf24dfd86 vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xf255a924 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xf25c8f56 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28a79b8 component_add +EXPORT_SYMBOL_GPL vmlinux 0xf290b06c iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a93b3a debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b41dc1 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xf2cb7897 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xf2da5b31 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xf2ddee7b iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30e8b3a debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31766de gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf31896dc user_describe +EXPORT_SYMBOL_GPL vmlinux 0xf319ecc5 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf328175b mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf32c03c7 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0xf330eb57 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33d0f85 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35b1263 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xf36e0d4a pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3888345 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xf38b81d2 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0xf38d7646 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf39b9bc3 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3b9a688 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xf3c11c73 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xf3c931bf bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xf3cac417 iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0xf3ce8a5f ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0xf3e5592b virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xf3f5fe5e led_put +EXPORT_SYMBOL_GPL vmlinux 0xf3fbfa0c da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xf407e855 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xf414d7f1 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xf41f9b3c dummy_con +EXPORT_SYMBOL_GPL vmlinux 0xf4245f15 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xf426aae2 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xf426f48c rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xf4482ddf mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0xf4595793 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xf465f5c0 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf4809ae8 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xf495f808 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xf4a44b6c thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xf4ac4d63 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b612b1 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xf4c2dcaf devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0xf4ce2a21 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf4d04ed4 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4edc9d9 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xf50e911e copy_reserved_iova +EXPORT_SYMBOL_GPL vmlinux 0xf512cf36 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf514b349 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xf546d049 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5512860 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55a788f adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf55daeab edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf573f57a pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b2b6fd kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xf5c88fe3 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf5c9d079 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf5d299fd mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5dd9d9f usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xf5e1a77c trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xf5e3a36d pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5ff3045 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xf60208e0 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xf60dbcec usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xf63fe85e mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf66ab859 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xf682c1f7 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xf6885ef0 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6af768f fsl_mc_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf6bbe725 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6c9228c sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xf6d1a675 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xf6db1884 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xf6e44341 sysfs_create_bin_file +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 0xf6fa799f tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xf706dc15 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xf7081f1d bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xf71776f6 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xf7235acd crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +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 0xf75a0f41 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xf75a709b serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0xf7717ef9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xf785bdfb tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf79c143e gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7aa8539 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0xf7b1c6d6 raw_seq_start +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 0xf7dd4b83 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7e2558e tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xf7e99ea6 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0xf7ee330f nl_table +EXPORT_SYMBOL_GPL vmlinux 0xf80a5702 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xf80d2fda ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0xf80f1b3a devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84acb9d blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf856f348 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf86170f9 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xf872a8cc perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xf872dffa bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf874de2b crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xf87537bb ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xf878c4a8 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xf87f56c0 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xf87fc999 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8a542a8 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xf8b14abc crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xf8bfa4f9 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf8d10980 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf8d330d0 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xf8dd4348 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xf8e6aab7 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf8ea1cbf spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f4404f regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0xf8f44711 rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0xf8fd7d66 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xf900c77d zynqmp_pm_clock_disable +EXPORT_SYMBOL_GPL vmlinux 0xf9029c24 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xf9071c0e blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf910a0d6 meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xf915e6b4 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xf91ab2ed __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xf9234ba5 __fsl_mc_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xf92444fc dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xf929ce38 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +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 0xf96961fe clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf96f91a1 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xf97b61c4 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0xf99a06d7 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a52651 dpcon_reset +EXPORT_SYMBOL_GPL vmlinux 0xf9b94451 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf9d3994f rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0xf9da4b86 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xf9e39ee4 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0xf9f5c543 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xfa013762 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xfa0a8896 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0xfa1829c6 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfa19a3f0 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1f55d0 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xfa2602d2 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xfa2d8e19 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa3b663c dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfa6453f2 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa80b9d9 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xfa87b449 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xfaa055b4 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0xfaaa515f led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0xfaab58cf get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xfab00caa vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab3d5b3 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfac12f81 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfacccec1 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfaf5b275 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfb1d8a30 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xfb1f87b7 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0xfb21058d devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0xfb312470 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb4ed39a devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xfb6373d1 hisi_uncore_pmu_offline_cpu +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb747b8d do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xfb76a027 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xfb8abaeb i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xfb9390a6 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xfb97ff2a perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0xfba8612d devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbcdd1ff subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xfbcfa308 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xfbd12df9 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0xfbd2e183 bgmac_enet_remove +EXPORT_SYMBOL_GPL vmlinux 0xfbdd1b87 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xfbdfc558 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc00722e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc050f82 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xfc0797e4 free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc1d1feb __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc21b232 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xfc24cc5d br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3dd3a6 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xfc5af8aa of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xfc60d36a sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xfc72ceaa sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xfc746b3c gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xfc792805 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xfc899e13 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc9477b5 zynqmp_pm_set_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xfc9ad971 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xfcaa1642 wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfcb77270 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xfcc01c2d acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcc259a8 store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0xfcca57d1 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0xfd0c1e4f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xfd14d553 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0xfd18b029 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xfd195774 k3_udma_glue_disable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xfd2b3295 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xfd32c34a cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfd33d537 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xfd3c06e8 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xfd527db1 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xfd55d0dc of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0xfd5af8e2 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xfd71716b pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd74a2c2 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xfd7ac978 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xfd86d8a3 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xfd8800f8 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xfd8b1618 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xfd8f0952 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xfd98acf1 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0xfda5df06 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xfda666a9 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xfdacdcbc scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfde4bf85 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xfdf0e525 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfdf8634d sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xfdfafe9e disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe155bb2 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xfe1b0369 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfe213bb8 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xfe31c6a4 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xfe407e34 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0xfe455922 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe6ccd0e devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xfe78c679 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xfe7f538c ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfe852293 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe918e8f usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfea2a479 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfece16cd __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed4aa58 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfef74519 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfef9aa06 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff15e7be perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff3279aa sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff4ae313 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xff533fd6 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff61043d pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xff624eba mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xff76298d to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xff79665d ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xff7f5ed0 of_css +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff837b53 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffa5aa27 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xffaaa62b dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x54d924f3 ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xbc9af62a ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x059417ec mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x0f2c48ef mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x181832e5 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1bb0d64a __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3450add6 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4c9a31e6 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7bc8d535 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x85ea1bef mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9b5ea7d6 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9ce8ca1c mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xb71b2373 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd1fd3a10 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xde398784 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xf7e0fd4b mcb_bus_get drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x0d76d4e8 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x11b0d613 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x18e9953a 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 0x28c98a2c usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2ad2f253 usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x52b329ea usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5e4efe8d usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6ca535b1 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6faab474 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7a908890 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7ba49cfc usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x81273843 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x868811f6 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x91621ee2 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x948dec0b usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa4cafaba usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaf13b6ba usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb4c1446c usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc2f701d2 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcc4cec80 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcedfd0ed fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd3bca7bb usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdb151bd8 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf6db04c8 usb_stor_CB_reset drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic-64k.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic-64k.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic-64k.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic-64k.modules @@ -0,0 +1,6316 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_exar +8250_men_mcb +8250_omap +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_rdma +9pnet_virtio +9pnet_xen +a100u2w +a3d +a53-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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_xgene +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-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 +am65-cpts +amba-pl010 +ambakmi +amc6821 +amd +amd-xgbe +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anubis +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apds9300 +apds9802als +apds990x +apds9960 +apex +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_dsu_pmu +arm_mhu +arm_scpi +arm_smc_wdt +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +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 +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 +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-rng +bcm2835-v4l2 +bcm2835_thermal +bcm2835_wdt +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm7038_wdt +bcm7xxx +bcm87xx +bcm_crypto_spu +bcm_iproc_adc +bcm_iproc_tsc +bcma +bcma-hcd +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluefield_edac +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb-avs-cpufreq +brcmstb_nand +brcmstb_thermal +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +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-quadspi +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sdm845 +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cdns3-imx +cdns3-pci-wrap +cdns3-ti +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8318 +chipone_icn8505 +chipreg +chnl_net +chromeos_tbmc +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-hi3519 +clk-hi655x +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-plldig +clk-pwm +clk-qcom +clk-raspberrypi +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 +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_parport +comedi_pci +comedi_test +comedi_usb +contec_pci_dio +cordic +core +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppc_cpufreq +cptpf +cptvf +cqhci +cramfs +crc-itu-t +crc32_generic +crc4 +crc64 +crc7 +crc8 +crct10dif-ce +crg-hi3516cv300 +crg-hi3798cv200 +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_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +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_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +dax_pmem_compat +dax_pmem_core +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-sc7180 +dispcc-sdm845 +display-connector +dl2k +dlci +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-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 +dpaa2-console +dpaa2-ethsw +dpaa2-qdma +dpaa2_caam +dpdmai +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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 +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-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw9714 +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-haps +dwc3-keystone +dwc3-meson-g12a +dwc3-of-simple +dwc3-pci +dwc3-qcom +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-ipq806x +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dwmac-sun8i +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 +ecdh_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-brcm +ehci-fsl +ehci-mxc +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 +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +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 +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-edma +fsl-edma-common +fsl-enetc +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +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 +fsl_usb2_udc +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gasket +gateworks-gsc +gb-audio-apbridgea +gb-audio-gb +gb-audio-manager +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-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8960 +gcc-msm8974 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcs404 +gcc-sc7180 +gcc-sdm660 +gcc-sdm845 +gcc-sm8150 +gcc-sm8250 +gdmtty +gdmulte +gdth +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-amd-fch +gpio-amdpt +gpio-arizona +gpio-bd70528 +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-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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-pmic-eic-sprd +gpio-raspberrypi-exp +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +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-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xgene-sb +gpio-xgs-iproc +gpio-xlp +gpio-xra1403 +gpio-zynq +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi_nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sdm845 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hbmc-am654 +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +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 +hi6421v530-regulator +hi655x-pmic +hi655x-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hip04_eth +hisi-rng +hisi-sfc +hisi-trng-v2 +hisi504_nand +hisi_dma +hisi_femac +hisi_hpre +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_zip +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns-roce-hw-v1 +hns-roce-hw-v2 +hns3 +hns_dsaf +hns_enet_drv +hns_mdio +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 +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-bcm-iproc +i2c-bcm2835 +i2c-brcmstb +i2c-cbus-gpio +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hix5hd2 +i2c-i801 +i2c-imx +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-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-thunderx +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-xgene-slimpro +i2c-xiic +i2c-xlp9xx +i3c +i3c-master-cdns +i40e +i40iw +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imon +imon_raw +ims-pcu +imx-bus +imx-cpufreq-dt +imx-dma +imx-dsp +imx-interconnect +imx-mailbox +imx-pcm-dma +imx-pxp +imx-sdma +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx355 +imx6q-cpufreq +imx6ul_tsc +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxfb +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iowarrior +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 +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +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 +k3_bandgap +k3dma +kafs +kalmia +kaweth +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kirin-drm +kl5kusb105 +kmem +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +kpss-xcc +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +layerscape_edac_mod +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +ldusb +lec +led-class-flash +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-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-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +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 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +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 +lpasscc-sdm845 +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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-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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +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-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +mdio-xgene +mdio-xpcs +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-drm +mediatek-drm-hdmi +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-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxbf-bootctl +mlxbf-tmfifo +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +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-msm8996 +mmcc-msm8998 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_felix +mscc_ocelot_common +msdos +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6797-mt6351 +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-uart-apdma +mtk-vpu +mtk_ecc +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +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 +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand +nand_ecc +nandcore +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_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 +ns +ns-thermal +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nuvoton-cir +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-bcm-ocotp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-rave-sp-eeprom +nvmem-reboot-mode +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 +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +octeontx-cpt +octeontx-cptvf +octeontx2_af +octeontx2_mbox +octeontx2_nicpf +octeontx2_nicvf +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +ohci-platform +omap-mailbox +omap-rng +omap4-keypad +omap_hwspinlock +omfs +omninet +onenand +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +owl-dma +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parkbd +parman +parport +parport_ax88796 +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 +pblk +pc300too +pc87360 +pc87427 +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-pf-stub +pci-stub +pci200syn +pcie-brcmstb +pcie-iproc +pcie-iproc-platform +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pfuze100-regulator +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-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +phy-generic +phy-gmii-sel +phy-gpio-vbus-usb +phy-hi3660-usb3 +phy-hi6220-usb +phy-hisi-inno-usb2 +phy-histb-combphy +phy-isp1301 +phy-j721e-wiz +phy-mapphone-mdm6600 +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-ocelot-serdes +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-ufs +phy-qcom-ufs-qmp-14nm +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-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-sun4i-usb +phy-sun50i-usb3 +phy-sun6i-mipi-dphy +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9615 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcs404 +pinctrl-qdf2xxx +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sm8150 +pinctrl-sm8250 +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 +plat-ram +plat_nand +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +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 +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +ptp-qoriq +ptp_clockmatrix +ptp_dte +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-bcm-iproc +pwm-bcm2835 +pwm-beeper +pwm-berlin +pwm-brcmstb +pwm-cros-ec +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-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-sprd +pwm-sun4i +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q6adm +q6afe +q6afe-dai +q6asm +q6asm-dai +q6core +q6dsp-common +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-camss +qcom-coincell +qcom-cpr +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-pon +qcom-rng +qcom-rpmh-regulator +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_common +qcom_edac +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_ipa_notify +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_sysmon +qcom_tsens +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-msm8974 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sdm845 +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 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_thermal +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-brcmstb +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-io-domain +rockchip-isp1 +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmpd +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-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-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-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +rza_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +sample-trace-array +samsung-keypad +samsung-sxgbe +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 +sbs-battery +sbs-charger +sbs-manager +sbsa_gwdt +sc16is7xx +sc2731-regulator +sc2731_charger +sc27xx-poweroff +sc27xx-vibra +sc27xx_adc +sc27xx_fuel_gauge +sc92031 +sc9860-clk +sc9863a-clk +sca3000 +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_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-omap +sdhci-pci +sdhci-pltfm +sdhci-pxav3 +sdhci-sprd +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +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 +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 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +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 +sm3-ce +sm3_generic +sm4-ce +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smd-rpm +smem +smiapp +smiapp-pll +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +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-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-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-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-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-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-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-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-ak4104 +snd-soc-ak4118 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +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-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-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-imx-audmix +snd-soc-imx-audmux +snd-soc-imx-es8328 +snd-soc-imx-sgtl5000 +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cpu +snd-soc-lpass-ipq806x +snd-soc-lpass-platform +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mtk-common +snd-soc-nau8540 +snd-soc-nau8810 +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-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-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-max98090 +snd-soc-rockchip-pcm +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1308-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5663 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +snd-soc-sdm845 +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-spdif-rx +snd-soc-spdif-tx +snd-soc-sprd-platform +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-acpi +snd-sof-imx8 +snd-sof-imx8m +snd-sof-of +snd-sof-pci +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 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-cadence +soundwire-intel +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 +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-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-sfc-v3xx +spi-imx +spi-iproc-qspi +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +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-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-thunderx +spi-tle62x0 +spi-xcomm +spi-xlp +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +spmi-pmic-arb +sprd-dma +sprd-mailbox +sprd-mcdt +sprd-sc27xx-spi +sprd_hwspinlock +sprd_serial +sprd_thermal +sprd_wdt +sps30 +sr-thermal +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +stratix10-rsu +stratix10-soc +stratix10-svc +streamzap +streebog_generic +stts751 +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_drc +sun6i_mipi_dsi +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 +sunrpc +sunxi +sunxi-cedrus +sunxi-cir +sunxi-mmc +sunxi-rsb +sunxi_wdt +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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 +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +tgr192 +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-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-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65217 +tps65217-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +vc4 +vcan +vchiq +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +venus-core +venus-dec +venus-enc +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-pci +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_mdev +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-sdm845 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +vp27smpx +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 +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-kbdfront +xen-netback +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 +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_can +xilinx_dma +xilinx_emac +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xilinxfb +xillybus_core +xillybus_of +xillybus_pcie +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +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 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zx-tdm +zynqmp-aes-gcm +zynqmp-fpga +zynqmp_dma --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic-64k.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic-64k.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic.modules @@ -0,0 +1,6319 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_exar +8250_men_mcb +8250_omap +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_rdma +9pnet_virtio +9pnet_xen +a100u2w +a3d +a53-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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_xgene +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-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 +am65-cpts +amba-pl010 +ambakmi +amc6821 +amd +amd-xgbe +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anubis +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apds9300 +apds9802als +apds990x +apds9960 +apex +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_dsu_pmu +arm_mhu +arm_scpi +arm_smc_wdt +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +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 +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 +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-rng +bcm2835-v4l2 +bcm2835_thermal +bcm2835_wdt +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm7038_wdt +bcm7xxx +bcm87xx +bcm_crypto_spu +bcm_iproc_adc +bcm_iproc_tsc +bcma +bcma-hcd +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluefield_edac +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb-avs-cpufreq +brcmstb_nand +brcmstb_thermal +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +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-quadspi +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sdm845 +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cdns3-imx +cdns3-pci-wrap +cdns3-ti +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8318 +chipone_icn8505 +chipreg +chnl_net +chromeos_tbmc +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-hi3519 +clk-hi655x +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-plldig +clk-pwm +clk-qcom +clk-raspberrypi +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 +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_parport +comedi_pci +comedi_test +comedi_usb +contec_pci_dio +cordic +core +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppc_cpufreq +cptpf +cptvf +cqhci +cramfs +crc-itu-t +crc32_generic +crc4 +crc64 +crc7 +crc8 +crct10dif-ce +crg-hi3516cv300 +crg-hi3798cv200 +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_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +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_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +dax_pmem_compat +dax_pmem_core +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-sc7180 +dispcc-sdm845 +display-connector +dl2k +dlci +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-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 +dpaa2-console +dpaa2-ethsw +dpaa2-qdma +dpaa2_caam +dpdmai +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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 +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-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw9714 +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-haps +dwc3-keystone +dwc3-meson-g12a +dwc3-of-simple +dwc3-pci +dwc3-qcom +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-ipq806x +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dwmac-sun8i +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 +ecdh_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-brcm +ehci-fsl +ehci-mxc +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 +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +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 +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-edma +fsl-edma-common +fsl-enetc +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +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 +fsl_usb2_udc +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gasket +gateworks-gsc +gb-audio-apbridgea +gb-audio-gb +gb-audio-manager +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-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8960 +gcc-msm8974 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcs404 +gcc-sc7180 +gcc-sdm660 +gcc-sdm845 +gcc-sm8150 +gcc-sm8250 +gdmtty +gdmulte +gdth +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-amd-fch +gpio-amdpt +gpio-arizona +gpio-bd70528 +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-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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-pmic-eic-sprd +gpio-raspberrypi-exp +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +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-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xgene-sb +gpio-xgs-iproc +gpio-xlp +gpio-xra1403 +gpio-zynq +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi_nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sdm845 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hbmc-am654 +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +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 +hi6421v530-regulator +hi655x-pmic +hi655x-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hip04_eth +hisi-rng +hisi-sfc +hisi-trng-v2 +hisi504_nand +hisi_dma +hisi_femac +hisi_hpre +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_zip +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns-roce-hw-v1 +hns-roce-hw-v2 +hns3 +hns_dsaf +hns_enet_drv +hns_mdio +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 +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-bcm-iproc +i2c-bcm2835 +i2c-brcmstb +i2c-cbus-gpio +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hix5hd2 +i2c-i801 +i2c-imx +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-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-thunderx +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-xgene-slimpro +i2c-xiic +i2c-xlp9xx +i3c +i3c-master-cdns +i40e +i40iw +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imon +imon_raw +ims-pcu +imx-bus +imx-cpufreq-dt +imx-dma +imx-dsp +imx-interconnect +imx-mailbox +imx-pcm-dma +imx-pxp +imx-sdma +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx355 +imx6q-cpufreq +imx6ul_tsc +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxfb +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iowarrior +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 +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +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 +k3_bandgap +k3dma +kafs +kalmia +kaweth +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kirin-drm +kl5kusb105 +kmem +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +kpss-xcc +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +layerscape_edac_mod +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +ldusb +lec +led-class-flash +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-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-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +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 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +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 +lpasscc-sdm845 +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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-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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +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-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +mdio-xgene +mdio-xpcs +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-drm +mediatek-drm-hdmi +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-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxbf-bootctl +mlxbf-tmfifo +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +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-msm8996 +mmcc-msm8998 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_felix +mscc_ocelot_common +msdos +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6797-mt6351 +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-uart-apdma +mtk-vpu +mtk_ecc +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +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 +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand +nand_ecc +nandcore +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_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 +ns +ns-thermal +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nuvoton-cir +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-bcm-ocotp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-rave-sp-eeprom +nvmem-reboot-mode +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 +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +octeontx-cpt +octeontx-cptvf +octeontx2_af +octeontx2_mbox +octeontx2_nicpf +octeontx2_nicvf +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +ohci-platform +omap-mailbox +omap-rng +omap4-keypad +omap_hwspinlock +omfs +omninet +onenand +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +owl-dma +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parkbd +parman +parport +parport_ax88796 +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 +pblk +pc300too +pc87360 +pc87427 +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-pf-stub +pci-stub +pci200syn +pcie-brcmstb +pcie-iproc +pcie-iproc-platform +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pfuze100-regulator +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-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +phy-generic +phy-gmii-sel +phy-gpio-vbus-usb +phy-hi3660-usb3 +phy-hi6220-usb +phy-hisi-inno-usb2 +phy-histb-combphy +phy-isp1301 +phy-j721e-wiz +phy-mapphone-mdm6600 +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-ocelot-serdes +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-ufs +phy-qcom-ufs-qmp-14nm +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-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-sun4i-usb +phy-sun50i-usb3 +phy-sun6i-mipi-dphy +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9615 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcs404 +pinctrl-qdf2xxx +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sm8150 +pinctrl-sm8250 +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 +plat-ram +plat_nand +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +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 +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +ptp-qoriq +ptp_clockmatrix +ptp_dte +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-bcm-iproc +pwm-bcm2835 +pwm-beeper +pwm-berlin +pwm-brcmstb +pwm-cros-ec +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-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-sprd +pwm-sun4i +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q6adm +q6afe +q6afe-dai +q6asm +q6asm-dai +q6core +q6dsp-common +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-camss +qcom-coincell +qcom-cpr +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-pon +qcom-rng +qcom-rpmh-regulator +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_common +qcom_edac +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_ipa_notify +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_sysmon +qcom_tsens +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-msm8974 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sdm845 +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 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_thermal +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-brcmstb +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-io-domain +rockchip-isp1 +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmpd +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-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-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-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +rza_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +sample-trace-array +samsung-keypad +samsung-sxgbe +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 +sbs-battery +sbs-charger +sbs-manager +sbsa_gwdt +sc16is7xx +sc2731-regulator +sc2731_charger +sc27xx-poweroff +sc27xx-vibra +sc27xx_adc +sc27xx_fuel_gauge +sc92031 +sc9860-clk +sc9863a-clk +sca3000 +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_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-omap +sdhci-pci +sdhci-pltfm +sdhci-pxav3 +sdhci-sprd +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +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 +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 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +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 +sm3-ce +sm3_generic +sm4-ce +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smd-rpm +smem +smiapp +smiapp-pll +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +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-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-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-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-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-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-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-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-ak4104 +snd-soc-ak4118 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +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-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-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-imx-audmix +snd-soc-imx-audmux +snd-soc-imx-es8328 +snd-soc-imx-sgtl5000 +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cpu +snd-soc-lpass-ipq806x +snd-soc-lpass-platform +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mtk-common +snd-soc-nau8540 +snd-soc-nau8810 +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-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-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-max98090 +snd-soc-rockchip-pcm +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1308-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5663 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +snd-soc-sdm845 +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-spdif-rx +snd-soc-spdif-tx +snd-soc-sprd-platform +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-acpi +snd-sof-imx8 +snd-sof-imx8m +snd-sof-of +snd-sof-pci +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 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-cadence +soundwire-intel +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 +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-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-sfc-v3xx +spi-imx +spi-iproc-qspi +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +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-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-thunderx +spi-tle62x0 +spi-xcomm +spi-xlp +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +spmi-pmic-arb +sprd-dma +sprd-mailbox +sprd-mcdt +sprd-sc27xx-spi +sprd_hwspinlock +sprd_serial +sprd_thermal +sprd_wdt +sps30 +sr-thermal +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +stratix10-rsu +stratix10-soc +stratix10-svc +streamzap +streebog_generic +stts751 +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_drc +sun6i_mipi_dsi +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 +sunrpc +sunxi +sunxi-cedrus +sunxi-cir +sunxi-mmc +sunxi-rsb +sunxi_wdt +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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 +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +tgr192 +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-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-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65217 +tps65217-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +vc4 +vcan +vchiq +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +venus-core +venus-dec +venus-enc +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-pci +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_mdev +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-sdm845 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-kbdfront +xen-netback +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 +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_can +xilinx_dma +xilinx_emac +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xilinxfb +xillybus_core +xillybus_of +xillybus_pcie +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +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 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zx-tdm +zynqmp-aes-gcm +zynqmp-fpga +zynqmp_dma --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/arm64/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/arm64/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic @@ -0,0 +1,23830 @@ +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0xc832c670 curve25519_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x737051cc poly1305_init_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0xf39f5240 poly1305_final_arch +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x54602c73 crypto_sha256_arm_update +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x9379fc25 crypto_sha256_arm_finup +EXPORT_SYMBOL arch/arm/lib/xor-neon 0x0f051164 xor_block_neon_inner +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x44444275 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x4533615f crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x50f0903a crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xad22aae8 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xda4d801b crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xddd4920a crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x1135dba8 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x6134e6c0 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0xa8dbe6a3 crypto_sha3_final +EXPORT_SYMBOL crypto/sm3_generic 0x92e3fe07 crypto_sm3_update +EXPORT_SYMBOL crypto/sm3_generic 0x9a316cec crypto_sm3_finup +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x6f1651a4 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x1fe67a29 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x475ad095 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 0x0c14c6b3 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x0f986cf7 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x1050113c pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x1f056862 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x32a38c61 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x44046c1d pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x5de3798e pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x652ef5ee paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x656909bd pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x7085898a paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x7885e00e pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xca553abc pi_read_regr +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xe52c1798 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x640452d5 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x5e94e238 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 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x390bf906 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40ad3498 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +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 0x610c0015 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 0x7740bd43 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 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 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/kcs_bmc 0x65ab6cb8 kcs_bmc_alloc +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0xe3bd4ea9 kcs_bmc_handle_event +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x33a4a4fc st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x357dc7fe st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xa2413c5f st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xa3d34b13 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x24ae8655 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xe49e40d0 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xff4c507e xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x6ada6f4f atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x6ba37550 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x6c28f9b1 atmel_i2c_init_ecdh_cmd +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 0xde069c86 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x2cb781bb split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x2e07c10c caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x524520f4 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xee6c12b1 caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xf213cc88 caam_jr_enqueue +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 0x86089940 cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x893ab046 cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x8a8c929e cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa2ea5326 cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa970bc2f cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xbef6ab16 cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xc6c7d14b cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xe05ab546 cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x686d05f8 cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x9dc00876 cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/error 0x2eed504a caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x4b4e6c7b caam_strstatus +EXPORT_SYMBOL drivers/crypto/caam/error 0x8db6e8c5 caam_dump_sg +EXPORT_SYMBOL drivers/crypto/caam/error 0xa51f16c7 caam_little_end +EXPORT_SYMBOL drivers/crypto/caam/error 0xbd67c092 caam_imx +EXPORT_SYMBOL drivers/firewire/firewire-core 0x05e6a9f0 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x08823a80 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x23aea8e5 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x31c9f3af fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39fd7d9f fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x51be2a8a fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5286b18c fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x538da0eb fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x556601c3 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x64943902 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x69f08f72 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a43124a fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7facffe6 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x85ecc717 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ae9c2fe fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ec4e37e fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8fd91528 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x999e8426 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa849e2da fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaecc9fbe fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb336cb68 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb4bbaeb5 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb9d920bd fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbc05d771 fw_iso_buffer_init +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 0xea83e75d fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeb2368a3 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xedd7d3bd fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf60d286c fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfa3ec055 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x621fa500 imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00197b6d drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00717372 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00be555e drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x018330c9 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0206242a drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02770c78 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02d5314b drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02d5bf68 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03111702 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03bb144d drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c3c09c drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x043f6f14 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04e0c8c1 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b8188 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0742bbe6 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x082000bd drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x088c7ab5 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08d7be46 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08f38d4a drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09dbed72 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a15daab drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a614ca1 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b107af5 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0be864b1 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c6abb2d drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c6e4655 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e25d0bf drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e6e56c5 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed937ac drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f5e9c50 drm_framebuffer_unregister_private +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 0x108196ec drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12523a1b drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x129a9498 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1336b0c6 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x141ed02a drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x152ce348 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15ac6f60 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x168468fd drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x169401ba drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x174b200d drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1793f1b7 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a2e2fd3 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a30d14e drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a551503 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b065f87 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ba8793f drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c258e71 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c9ee378 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cb48a2d drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d318413 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d504409 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da1e3c8 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dc1fcf0 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dce5be5 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e776b7b drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb2dc11 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f558fa4 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fb63d70 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fcc0e69 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20344e77 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2055b82f drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x208a9388 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20a21c47 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20c1b2a9 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20c454b2 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2314710e drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23a03144 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x243b88d8 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2961c10e drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29dec654 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a0d944a drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a69f4c8 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b85cf4a drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c218e8e drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d073bfc drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d4fdd1b drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e03f903 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e7dca2c drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ef162a0 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f663c7f drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x305a2dbd drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3197d364 drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3275760e drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32bf9a4f of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32fb729c drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34df3304 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35691784 drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3596d9ec drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36af8549 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37418fc0 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380b5fbb __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x386127f3 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39093b79 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x396b6bac drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3990d2ff drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39947d5f drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a5847c0 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b6a30fd drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d0134 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3bfb69a2 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c39123a drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d527a90 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d54c81b drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eab7a3c drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3eb3ac32 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f009753 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f60223b drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fb3ea63 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fc952c3 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40f016e2 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x424fc53d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42755c80 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42806d11 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4306efce drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x436128eb drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43c495a4 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x449a7611 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44dc3ce2 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4540e10f drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45668323 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x467412f1 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46903f74 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4834906a drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4835d36d drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4841aed9 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a77eaf3 drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7c0619 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bff73c5 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cce62d2 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d33a77e drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d9cf523 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dee0b57 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e05f5fb drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x506eea87 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x508b9283 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50afc4e8 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513b410c drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52bd8067 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5313934b drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x531a1160 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x532eec19 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5332d00d drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549ff98a drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54e62953 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +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 0x57e84e43 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a405b31 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a99391a drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bc6c630 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c2bd016 drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c78e340 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ca5422c drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cfc55e4 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d92d256 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e2ca4da drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6215b1bb drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6272d5ed drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x632caf03 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64ca9d98 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6522515c drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x653032f5 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x658bf8d4 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65ffe6f9 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x660870ec drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x670fdb60 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x673c141f drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x677ff8ef drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67973956 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69d57e93 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a2037ac drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b0b9550 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b86d36b drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bcaf872 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bd1e810 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c9004af drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca6331a drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cfb391d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fa09064 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71221d52 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x715d85d2 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x734495a2 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73a88481 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73ede256 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74609329 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74abb508 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74bd0d34 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76cb9686 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7752be17 drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77772d9e drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77878de8 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77fa1089 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78f2bb2d drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bb210c2 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c05ce6f drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d24a4f1 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d3767c2 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e016d38 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e1229e1 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e4cede5 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e719e8c drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fef94db drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80dc06e9 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x814404b4 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81a319a2 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81f83be7 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8269afc1 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x830670e3 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x834d6e63 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x835666d7 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a46e73 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8437c56f drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84f5b564 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84f920af drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x853e07e9 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x879977a7 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89359994 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a23601b drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bbc4559 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f539314 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f951804 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9139dc7a drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91775e2a drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92bc6fd0 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x940e005f drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94852dbe drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x958e1bf7 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95b3c203 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97555c9b drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97bb6700 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9865400e drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98f932b9 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9916dcfc drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99d3a4bc drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d245e26 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dffa20e drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e265042 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e487f08 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e795c4c drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ebf0186 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f062703 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f990a11 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fb5f546 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2d8c58d drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa385c11c drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3f57440 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa44ad3f0 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4759224 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa52ea59a drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5be9e92 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5f022d1 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6183a3d drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa70927f6 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa86885bd drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa871545e drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8c748bb drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa966840d drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab0bbf2b drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab0cdad3 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab998a9b drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac534585 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaccfddf5 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacd5779a drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad6cd584 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada2b22c drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae0ebdb8 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae70f3ef drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeab6228 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf22c919 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb008d9ab drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb02dc80d drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb03de5d9 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb07aa270 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb192c089 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb21e2a61 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3843177 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3aa1dbd drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb506fbaf drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb58f3816 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5f67483 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6a07e98 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6a55682 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6ffcfae drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb71dc24e drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb73ba8ec drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7b4f49e drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb80494af drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb80b5128 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8312eaa drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba0a0c0d drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba1fc64b drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbae8886b __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb0be848 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb954424 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbc43c42 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc13d822 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcecaca6 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdb32d1f drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdf72aed drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe99c1f6 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf19c9f6 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc09ed47f drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc10fd118 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1d769af drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c32118 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3984979 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3dc4025 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc43774e1 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4dc99e5 drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc57556ff drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5942a0a drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5ce9af3 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5f62055 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6d8fdc7 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc851f807 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8f7a2ab drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9b15f20 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca3883ec drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbd2909e drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccfe1169 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcde3f70c drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce2a5910 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfb76370 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0f0326c drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd12920b4 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd143861a drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1f70fbd drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1fc5f14 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd271d5ee drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3416f69 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3726933 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4132cc6 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd44a434c drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd561b10d drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7613add drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d0eb9f drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7de59e4 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd81f7235 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd89022c5 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8d6cc93 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9393096 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd98b470c drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd98d1208 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9cb4a70 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9d1b97d drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda02344d drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdaacc359 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbe19201 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc833fbb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf1b05d0 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf66439b drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0033490 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0b325bb drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0b34232 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0d5d8ec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3d0d6f9 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5c2a5db drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6eb5f17 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe85c3aa0 drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe88ebbcc drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a66ad4 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9599b7d drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea957094 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaebaf88 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeafd1549 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb437bd3 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecb789ba drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecbb3cad drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed045579 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1122d67 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1c306f7 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf273c293 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf289af47 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf537e164 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6bee8a0 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf82d9b16 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa5d2b16 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfafbf439 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbcd6b9e drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe21601f drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff322073 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0037b2bf drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01d0c85d drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02950513 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02f1f12f drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06430dfb __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x068a8ccd __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0961bd87 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0afd804f drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ea140c2 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x106cb656 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10d26bc3 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1153ab72 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1392a73b drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1490c275 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x178fdaf1 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x183a9a15 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1947db5d drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c2a0957 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d8f1767 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1daf8f0b drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ef696d8 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f539a14 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x231bef5a drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23c64de5 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24885ca0 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2775391a drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x284e2719 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28987953 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x289f5b09 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b3691d5 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b479de3 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bfd44d4 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c2dc144 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fc62979 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3357c386 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33bcafc4 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33e30379 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3418ee7e drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x342c9e26 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34373579 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34cf84b7 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x374fe0cd drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37956001 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d18d587 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4010d71c drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x403762cc drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x407cbc1d drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40802dc1 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4093208c __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41244660 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41538053 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4472e118 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44b2dacb drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x47a3f6e1 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x482e3611 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49e11b9b drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ca4ca4d drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d40eba9 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52201d69 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52fe3037 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53e92084 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54b13152 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56c59bbe drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59181fee drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ce2534e drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f84b1b1 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fb3a9c1 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6197f1cf drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61f3d4ac drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x621704a5 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62fddfca drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6668d253 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66a2c26a drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69bbd9cf drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b220138 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b81fc95 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b8a40f9 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d105fbb __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d7422c7 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6db2f230 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x716c3aef drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71a9ffb2 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72635a86 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x751fe45a drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x752deaf2 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x754cb98b drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76271f91 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76ec9e61 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78fab04f drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7968a85e drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a4224fe drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e29f2fd drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f08b872 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f3b836a drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x809bf8f6 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8201ac7f drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82424125 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82d1414a drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85050d9e drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x854f6414 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a2779a9 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b321e49 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8c2b2dfc drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x90735824 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9166442e drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x939fafe5 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95268f69 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95a6db9c drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96cfecb5 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a1066f8 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b7309e9 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b98755e drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c038ef9 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cdce382 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9df5157c drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e666b57 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9fe0e8b5 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0e4823b drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa167d29e drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2e20774 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4e7362a drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5f797b0 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6b76473 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa89def9d drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9fd0a20 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab2c4a0d drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac1af190 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac43fc55 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad432f28 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae247f14 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae2d4f0d drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaefacd18 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf6860fb drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf93a2a2 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb09c586e drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0a099e1 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3f75a5f devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb45511a7 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb49d9265 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4a217c5 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb52433dc __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb578c893 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb732afa0 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8891694 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb91d1982 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba903186 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb72aa71 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbbbf2197 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc9112e8 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbec65019 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbf7a4e8d drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc1d37c1b drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc215fa4b drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc299b5ba drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc36ef7db drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3da137e drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5250a62 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc89e68d5 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8b63173 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2ca005 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb44b574 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc497945 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd28dbcd drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcded3c66 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce13bda0 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xceb807cf drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd026a77b drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd37c43cd drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3e9b621 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd536bfb1 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd53b4e6a drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7283f31 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd880cf7e drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8be97de drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9375286 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb5ef66d drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdbc64900 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf7b5710 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfc4bcd6 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe10e8600 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe195ebca drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1c62725 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1fe48ae drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4ef2d95 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5180b4d drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe532d5d6 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe56bc085 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedfabf56 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1e4e206 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf210d896 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf340e63a drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf38a2db0 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf510737a drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf597c258 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6ec821f drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf812f800 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf857bf5b drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8912b01 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf89f0a48 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9bddbfd drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa8916af drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc30eaed drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd572a86 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd84659f drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdb3f044 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe0a3f62 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x038a6862 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x03a3d576 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x04cc977d mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0586c7de mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1ed95add mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3e02bf75 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3e0d6757 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x630421f7 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6d09dd93 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa408872a mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa7c812de mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb0cd0077 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb1c65cd4 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb257db35 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xc2eac423 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xdf9d8aa3 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xfcb65a07 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x98206fc5 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xe8134843 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x06faca98 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1aa868d9 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1af13683 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x26420366 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2b10fa7b drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2d9e3cb1 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5f200e67 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5fcf6f64 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x74c95012 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7a7a0921 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7f138cb0 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x88435ea9 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x90b15291 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9934aa9b drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa3d46127 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbdf3b91b drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xcc60142d drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd013eba7 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe67306e1 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xec01083b drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xface231b drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x995317c3 rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0437c7f5 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0aff9189 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x205ae050 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2198d06f drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x350958cf drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x58ac3aff drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5b59dad1 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x66b89296 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7446f837 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x77d53c93 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7ece294a drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8ba63733 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x90b7c40a drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa4162eb5 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbd055fc7 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xce33a956 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcec84af9 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcfb7735f drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe9f7ee95 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf66048ed drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf8016cdc to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x00b3408a ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0138450f ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01fd965c ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x04de8a46 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e64d27d ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f7ca414 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x13111b37 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x131ed217 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17d1e38d ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17eac794 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x185f761e ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x18d2602c ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1cd6ca47 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1efa96b9 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24f4c8a1 ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b6ebf81 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e02fc00 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3438ffd5 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3bb6b7f6 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x405f18df ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x41267e6c ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44cc56fd ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e1bd177 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4ee242d2 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5775fac3 ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6087168f ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x64226d92 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6af908bd ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x75a3be0f ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7c7dec85 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x820289af ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x912f12ba ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x94537c90 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x966214dd ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x972ab4b0 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b3730d6 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c31bc56 ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa2596662 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa2d8487b ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa346a896 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa623bab3 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa48391a ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac77a248 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb1ce1fcb ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb36345e6 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf5901cc ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf8dcf1f ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc1ceb1c9 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc37bbcb ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcda4d8ec ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd4e10086 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd70b8571 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb6624ce ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdbc6c85d ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe120e733 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3904c61 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef860179 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf116814b ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf8aaab81 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf98fedd0 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfffddc2f ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x036e37e0 host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x03f9d674 host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0f819b5e host1x_syncpt_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x15ce00ff host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2b95cd8a host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x30b878be host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x34814384 host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3aed8797 host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3c88e231 host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3dcd1206 host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x41ac5d8e host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x43799a4e tegra_mipi_calibrate +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x48f77f01 host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4f5dfded host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x57834122 host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x587c22fb host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5c3c2f7d tegra_mipi_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x62708423 host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7dd2ee43 host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x8c9ffdb9 host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x92ca9d8c host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x9451a33e tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa1659427 host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa21d7fe5 __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa49da628 host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa733ff60 tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbb629157 host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc0137bf3 host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc2487afa host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xce0995cf host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xdec79d2d host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xe095a14e host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xea91008f host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf8a79b19 tegra_mipi_enable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xfab3dfde host1x_driver_unregister +EXPORT_SYMBOL drivers/hid/hid 0xa8f2fd21 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 0x27442e36 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x5304e2fe i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x89c2f57c i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe5fef950 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x949ee55c i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xddd1c71b i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x02d28656 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x0737cab5 bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x101c0059 bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xd6cd4db6 bma400_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x1d9aa905 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x50cbabe3 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x93e21e2d kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x02ffae85 mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x2ab55d58 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3747ce29 mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x40e508ad mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x462df0bc mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x57e20f9c mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x5daae6a0 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x6739d93d mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x6bac90cc mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9f97b80a mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xba59a266 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc3a1014f mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xcd44f369 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xd914ff4d mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xdb804938 mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xf2b9fd43 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x7966154e st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xab7d6f84 st_accel_get_settings +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xda737aa7 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0x28202c1e iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x0f991dbc iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xf00a6bc4 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x37a32ece devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x52a91f72 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xa4418b7b iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x8fcbc83c bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x0fe3af3c hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3846ce26 hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3b163914 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x43de9cda hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x451c5acd hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x47767722 hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7c225073 hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xa93524ee hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xa9f2bcce hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xcc546a01 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x2cae16eb hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x37389090 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xcf6007ec hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xfcfe9be0 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2c4e402f ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x442efc48 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x4f94281e ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x52b38386 ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x5c43a872 ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xcc66101c ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xcfb839b2 ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xf7716545 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xfdc16fb5 ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x0a27b752 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x42d284e9 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x8c37f6f5 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xa2d8ceb1 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xa3024218 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xbc2283aa ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xf3baf52c ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xfbd0bae0 ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0bfea58d st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x34151465 st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x4af8d258 st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x54d8c8e6 st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x7828f19f st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x90624ccb st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x9d76c2f2 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa53a6ee6 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa5681e51 st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xaa3078e2 st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xabd9d536 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc0c0a3b7 st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc8ee7480 st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc9a51939 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xdf9407e8 st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xe20527d8 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xee958645 st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xfdd0d9f8 st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x8809763c st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0xfe4ace44 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x5fc6cab8 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7972a78f mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x84ed2b8c mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x37269a82 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x69875f81 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xbbeb88f3 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x2a887ed1 hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x314eba62 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xb112292b adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xdb7bbe34 adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x7b456d29 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0xbae67920 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xb3fb67fb st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xea329a64 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x0110a4a9 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x0cfb6c9f iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x0d75f48f iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x1492c4bb iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x16612590 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x18fac0ce iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x1b2dda8d iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x303b0096 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x3ad20fcd iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x41082299 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x4182f6b7 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x49facceb iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x55b3302e iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x56783135 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x5df69a63 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x62eccbe0 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x683ee8b4 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x7157699f iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x93497d15 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x971b2d07 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xac4bc40d iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xb35223d3 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xbdb0c7fa __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc388b9b4 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x10b1e323 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1ee41fd4 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x895f592b iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xa52cf4de iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xf7a40217 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x0429fc0c iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7ac57e73 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd5dfbd93 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd66728bf iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xd0da621d iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xe2e4d64c iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x0daa3ddf st_uvis25_probe +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x6ad64069 st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x1f43f79f bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x29b0cea7 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x9547e94e bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x9689770d bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x56ba3ec9 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x9eadd762 hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xbbf6cd65 hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xea4bfd05 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x54eb9d2b st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xe22368c1 st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xf8739420 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x00a5eb4a bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x20dfefba bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xca5932d8 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xe97c9715 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x07c06415 ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x21c04c39 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x4ae4eeb8 st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xad1945ca st_press_get_settings +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xf4fe8f2f st_press_common_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x04f9ea60 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x053e9e87 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3c9f24db ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3e487d2b ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x84e73b14 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x964a93bd ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9bfd4027 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9ede35a2 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa0afe26a ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa630f5f7 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa6333d83 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba99d9f0 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbb5446de ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc666127d ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeb08c2b8 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf4e2e18b ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0190e012 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x023847f9 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02526830 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03e3d7d6 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x055fdbe0 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05a6c0a9 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05be5851 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x086875aa ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0adaa3be ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0afede1c rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b68da77 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0bee11be ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0deb85da ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x102c7fcf ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x123c413a rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1289d7a8 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12f7cb81 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15422650 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1569a479 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x172e83c3 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1822e134 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19973437 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ac748f8 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d050cfd ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d750b6f ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e5c0d7f ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e8a1e6c rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20d78846 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x220a8040 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x24064e69 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x24694062 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25e09a76 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x290eb699 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c9043cd ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ccb1faa ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e99cb0c __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32a341a9 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34158443 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3422f158 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x356c508a rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x360f357a ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f1a229e ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x435d3023 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4454531a rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x468a9ce9 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46d3d4aa ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4811a555 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4847ed9f ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c920606 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4cc8a17f ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ddf310b ib_device_get_by_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 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x529781bc ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53e8c23b rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5441f7d9 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54f0eac2 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55aa30b6 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5676690d ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x570f0f45 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b0f1380 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e356b34 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e96500b ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ec2987c ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ee2d1f7 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fa09667 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x603090f2 ib_port_register_module_stat +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 0x62064fe3 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63a496c0 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6581ca90 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6837e201 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6aff9d87 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c7f0712 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d5837f5 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e587713 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70bae7c9 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x713aebca ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7277478f ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7321aa31 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74ab51eb rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74d0ea03 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x753c08be rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76142100 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77bfc879 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x789fb881 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79d9e9c0 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c08d0e6 ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c934f7f roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e40e231 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f4d8fdf ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80ec33bd ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8154dcdf ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82d75a1a ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82f80938 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x843f5dc2 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x846fbaa7 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x893db0fb ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x898af63a rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8aa114dc ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b6fe87f ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bcbac7c ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c4d6718 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f423ba2 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x92ac6c46 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9482c58d rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96a415fa ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x974a08cb ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9760c16b ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9813990d ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x996b113f ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a2fb487 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b882b9f ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b987d0d ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d087289 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d39ab6c ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9dbdb95c ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ece1f1a rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f5bce1f ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fb7a00c ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fd01597 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1555585 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa29682a1 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa673697b rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa702d620 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa71d45a8 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7c4c123 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab98fa3a ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacf466e8 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad9d69b7 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xadde1358 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae072d03 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf9179c0 __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb039bb1a ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2288013 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4f0acb4 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5017a5d rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb50bd581 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb575af5b rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb66e4e37 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6cbfd8a ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb784b5e6 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbda18a66 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbff16268 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc06b0a21 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc386f007 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4fca185 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc500b165 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5af0942 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc704e75a rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7f5f5ac rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8e1018e ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd14abf97 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd37c6b31 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3bf114a ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4d498c4 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4f02a4e rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd54ba670 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd68b9706 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9763c4e ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbefcbc2 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc864a40 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde6e0141 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf6c3a5f rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0ab385b rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe32b0451 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe40d2fbd ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe59a7e4a rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe676f76d ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6fa18cd ib_unregister_device_queued +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 0xea4b4c36 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeaa82eaf ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb45e98a ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec394881 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec5932da __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed07f4c5 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeefcf479 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef2b681a ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf05cfdcd ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf064d949 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf27d2df4 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2af519d rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3e3d517 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf55dd00b rdma_link_register +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 0xf7b77850 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa236116 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa6257d3 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfaaa8511 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd1480f4 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd770ee6 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfea33e55 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x16b08cd4 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1ed2addf uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1f5b028c ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x21a8745e ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x29884931 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2bba9e11 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x33a07ffc ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x495f563b uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x507bf64d _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5dd702f5 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63657fe0 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x69078a19 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6b469369 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8142fc6e ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8badba7c ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa1fa55da ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa28c50ce uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa53d0e89 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xae23136c ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbacbfbad ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbbbabde9 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbd398551 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcbe75905 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdc984258 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdffad460 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeefd6fa3 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf2dfcb59 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf437bc87 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1daaf999 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x269ba84f iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x60d16d77 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x815b71a0 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x8c490359 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa9f5549a iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbb6f9ccd iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe5f63b70 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1952a0b6 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x296f8c62 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x381d4296 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c7c09f5 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x44457473 __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x49664d3d rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x51807987 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x53f340e7 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x550ef840 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x64f5aac7 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x66102a3c rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x686eb372 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6a62b811 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x707d39b7 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x741ba23d rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e89eb4e rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x80502b35 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x912f6896 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b6e8f20 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa9d3576b rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaa30b981 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc0031a2a rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd58c1336 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe59f99cf rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe981fe16 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf0965d53 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf988933a __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfa0eb0b9 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xff3f4e54 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x1c9924bf rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x495dcde3 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x9e8e702a rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xc4c3ed1d rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe8fe1a28 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xf9a82aca rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x2510363a sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x3eebe44f rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x67029a33 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x6829f230 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x72a04480 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7de42546 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1ac561b2 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1f72ffbb rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3ddedb24 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x87beed54 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x9e5d5fec rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xd48fe515 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/input/gameport/gameport 0x75c8b7f9 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x766f5925 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7eaf54d6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x80694c3f gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8fcd2e6c gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9fb234dd gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa0647ccc gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb8454b21 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd5b6c539 __gameport_register_port +EXPORT_SYMBOL drivers/input/input-polldev 0x0fed556c input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8b26017f input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xa1f5e2a7 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xba51b28d input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc6eebd81 input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x26010d99 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x2f1aafe4 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x833cd339 iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x91599ce1 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9fc3ecf3 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xb561cdc1 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc2ffccd2 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x62767159 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 0xc2928446 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x1a399aea sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2039badf sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x348eb491 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa3f3a3fc sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xae8583ed sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x113b4e53 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x51f200e5 ad7879_probe +EXPORT_SYMBOL drivers/iommu/iova 0x58604e4d alloc_iova_mem +EXPORT_SYMBOL drivers/iommu/iova 0x858b3fe3 free_iova_mem +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x23cdeb35 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x412a42f3 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x78c93a45 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe4a04bb3 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe7b78423 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 0x038b46d3 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc0c9a5b4 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc4448848 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf3a33daf mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x4d6d0c12 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x579be438 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1ac18578 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1f4283da mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x20192be2 mISDNDevName4ch +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 0x2959d906 recv_Echannel +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 0x389b1d42 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x44f6f5dd recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x485a0854 recv_Bchannel_skb +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 0x5b969b8b bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7050d503 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x80f42988 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x822127f4 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x87fb5ad6 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8e7d49d5 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9b3c699a mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c025e42 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c041842 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb373a498 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3dae09d mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd139dd3c get_next_dframe +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 0xd52e1bf5 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe162ca18 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe4446a43 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf6607891 dchannel_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 0x162640a4 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 0xfa5ce47c ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x03017524 omap_mbox_request_channel +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xc1d541a3 omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xe8d2e999 omap_mbox_enable_irq +EXPORT_SYMBOL drivers/md/dm-log 0x0408879c dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x11a0d480 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x76405665 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x98b2823e dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x0e570876 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x26a82a89 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3082405f dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x45f35e1f dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc72bede2 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xec0bbae6 dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x4b31f7d3 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x656d08e7 r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x2c21c893 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4cb200d4 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x66ed5d2d flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x99ec5410 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x9cbe4ae0 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xcccf0c71 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd99f0864 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xda3317ca flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xdbcf8b1e flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe980d278 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe99b2305 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xee9fe421 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf3a98f70 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/cx2341x 0x102bf469 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x75e7c091 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xd32a5d1e cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0xefd2da51 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x2c87f9d9 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x9391ef5b tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1f64d2bf vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x521e8b60 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x4964d60c vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x505f0fac vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x6760d1f4 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x9fca772e vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xede7db20 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xf545230c vb2_dvb_dealloc_frontends +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 0x8533df83 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x006d6880 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x043106a6 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1609d70c dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e7a8283 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x21381c3b dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x214d5b4e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x22ae72a7 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2bcc8617 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2c12c287 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x34f1cd15 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 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 0x4be5c646 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4da3b563 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4f0ecae7 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x53abb853 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x59b4248d dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x688b6224 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x73f3e379 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b334d3c dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8026ef3e dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x82143c17 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x912d03d2 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x95983131 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x95dbfa8c dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb24394af dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb9dca3ec dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xba2566f7 dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc0b93899 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xccb705c0 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd2d610f0 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdafc31c5 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdf7f40a5 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xec0e7318 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xedda2b2f dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf415c6de dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf42f63e5 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf7aa36f2 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfe73d116 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfeb6e334 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x6a2407c5 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0xff6ed869 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x00ce9e21 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x11a359a8 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x44862116 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x53ff0c60 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x6b212e12 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x9f75301c au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xbd08ad26 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xc06ff6e1 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xeffa62ec au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x571bfcfc au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x96680112 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x22de3ce6 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x4d3051b7 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xbee70ab2 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x6e279705 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xb64032ae cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x2d1e4259 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xa048c9d3 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xd3a1f8a8 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xe0e77bd2 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x3ccb9b54 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x7265da9d cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xcdf36dd5 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xbf265512 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0c02d773 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x29bdf72f dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x6030cf45 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x609350d1 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x731a2da5 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1b72c074 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3d8b430e dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x461ea310 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x47c6be83 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x554e069c dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x5834abf0 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6f689c7b dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8e11be34 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xaedaff41 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb518ed9e dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xc02b1405 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xce8b37e5 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd54f1fe6 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xdca965b6 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf717fcf2 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x6c353cbb dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x9524fce6 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x9a69e3d4 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xa05c13a5 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xac225fb8 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xb898ed73 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xf084cdeb dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x0a7289a8 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x79be5c9d dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x9fe4b757 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xfa6c2636 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xa9343326 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0xb64a208a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x26068d8a dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2bd8d1a8 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x549f46b4 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x54fd0ec6 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7cec0ae9 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8241bd16 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x838355dc dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x896a4bf4 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xcc08ffe8 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd06af9a6 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd086c01a dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe4249010 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf29fb468 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x1261575d dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x24888b2e dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x619f85c2 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xc89fa8a9 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xdf198052 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x8135bf0f drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x358a0b9a drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x18fd6a1a drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x5ba2afdf ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x1204a33f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x0943ddbc dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xa28df9d4 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xbf504b9b dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0xcad6d8f1 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x875fedc3 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xffcff017 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xcd340509 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0xed7ed730 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x9e769f87 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x426461ed isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xb212bf27 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x14fdee26 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xcd4b0001 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x6b181cdd lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x403dc817 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x373061e5 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xb735f08f lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x525a931d lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x8974f16b lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xc5dd4c89 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xe31f6479 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x5a0b3a2c lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xaecbc0eb lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x7a1912cf lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x2eb7faa3 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xbb18b642 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x9edc4d94 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xda2cd854 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x862ae334 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xde90424d mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x6296382d mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x436c762c nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0xba116d52 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0xfc89390e or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x18cc4175 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x343572c1 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x1d3a2fda s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x0adf942f s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x451f0ef3 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0xb56b7543 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0xd2272430 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x956beeac si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x1417bc8e sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xbdcf8513 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0xbc17295a stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x53c68c07 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x299ae87a stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xb2f3f1f8 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xdfaefe30 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x35e22f49 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x61905652 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x87778c10 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xb910a7c1 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x176bbd49 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x0b11f0ff stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0xd09eba70 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x806c4025 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0xb2a75870 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xb4aef9c4 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xd4270bea tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x20c9d37c tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xeacdf7a8 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x8bc0bf93 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xe98518d0 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x8c2fd0eb tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x045c230c tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0xe3f02ddb tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xab2fb0c0 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x6f075dc6 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x7909272e ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xcd317fad ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x35f423d9 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xac640c2c zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xab5b46a0 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0xd1e17d34 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x5dc07ff3 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x57641e38 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7f850420 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x860819d2 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x960ce29b flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xc96cc84a flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xcac44a63 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xfc5250b9 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x40a03274 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5b0007af bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x68af7136 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x90b4a563 bt878_start +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 0x3dd70a13 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x66f76028 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xa89db9c8 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x12ddd5ce dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x343293ba dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x56667f9b read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x56b9a915 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x74f34609 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x9da7c4d8 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xa9bf42a9 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xc04b1e1f rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xc12412cf dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x6447572d dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0b861aa0 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x657df4b2 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6a11bd09 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x87c30bfd cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xaf9e0827 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x59a5ad6d 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 0x21a51208 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x34b52867 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7035a79b cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x76a6339c cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xbee9ad4c cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc345b9af cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xdbc4f6fa cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x60ff2619 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x9cd5224a vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x7a2a61e4 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xb50975a4 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xca327ec3 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xd6b892ac cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x0744ec62 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x38493053 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x4d1ecea7 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x719b17a6 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x72d3c230 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x8c79b085 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xc52ff4bd cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x0340ef4b cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x0926f613 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x150643d7 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x182cb13d cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1ac8af8b cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x221be7f9 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x268f3dca cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2c6e9b70 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x41c0536c cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4d356ac7 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x55018545 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x56ffffd7 cx88_vdev_init +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 0x70e70985 cx88_risc_databuffer +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 0x920ea808 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9b2550a3 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa3ab3580 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa9f4e4d5 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc286c0e2 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcc7c84c1 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe3e37610 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xf2fed59f ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x145e3bcc ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x226e8595 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2921ac87 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3c925573 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x40decf53 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x41510005 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x47c91dca ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x598084ed ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x78d45f61 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa3d6a49b ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa54a82ca ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa8c3541c ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xbe6ba047 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc057dd31 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc0975aea ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc4959574 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcc116096 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x0793c6fb saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5a3563a2 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5e927e4b saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x6a59b62b saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x6bfb7f36 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x9205eae0 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x95c5257e saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x9e7a244a saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xabdb8980 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xac2a7303 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc6e9fe4c saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc9deac58 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x9b76899d ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/platform/coda/imx-vdoa 0x6671c6ea vdoa_context_configure +EXPORT_SYMBOL drivers/media/platform/coda/imx-vdoa 0x787fe8a8 vdoa_device_run +EXPORT_SYMBOL drivers/media/platform/coda/imx-vdoa 0x7fe3d6f9 vdoa_context_create +EXPORT_SYMBOL drivers/media/platform/coda/imx-vdoa 0xd96c63ec vdoa_wait_for_completion +EXPORT_SYMBOL drivers/media/platform/coda/imx-vdoa 0xfc58eef7 vdoa_context_destroy +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0x0fc2e239 csc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0x47648155 csc_set_coeff_bypass +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0xab886742 csc_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0xfd613899 csc_set_coeff +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0x0fd5293b sc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0x50635f0b sc_set_vs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0xa6459abb sc_config_scaler +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0xd7e6f9f8 sc_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0xd8e3d640 sc_set_hs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x0b269dd8 vpdma_get_list_mask +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x163e1a86 vpdma_free_desc_buf +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 0x2874ce70 vpdma_enable_list_complete_irq +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x2e65ac31 vpdma_set_bg_color +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x3349e099 vpdma_clear_list_stat +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x3b9ec235 vpdma_submit_descs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x3bb6047d vpdma_create_desc_list +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x3ece9eaa vpdma_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x40242b31 vpdma_hwlist_release +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x47d33831 vpdma_update_dma_addr +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x49293b26 vpdma_yuv_fmts +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 0x5dfac7ef vpdma_set_max_size +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x5e046d73 vpdma_list_cleanup +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x60708dc6 vpdma_raw_fmts +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x64a01fe1 vpdma_map_desc_buf +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 0x87c0415e vpdma_free_desc_list +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x97f311f0 vpdma_add_cfd_block +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xa224d02a vpdma_hwlist_get_priv +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xb4d45f20 vpdma_set_line_mode +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xb663a330 vpdma_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xb947a072 vpdma_list_busy +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xbf3a4faa vpdma_unmap_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xd5234551 vpdma_set_frame_start_event +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xd62b3728 vpdma_get_list_stat +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xdd7f11d3 vpdma_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xe71ba392 vpdma_hwlist_alloc +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xf93ba9bf vpdma_reset_desc_list +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xfefbda83 vpdma_rawchan_add_out_dtd +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6b661e95 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x8f057617 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa32cf778 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa46c237f snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa7b4b4e6 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xe565ca2f snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xfb9d8e30 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3572b42f ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xcbc51f73 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xf703cdaf fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xcbf6040b fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x500e0690 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xb09c449c fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xc78a12de fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0xc46bf70d max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xb1c63b3d mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x3745c1e0 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x7a4b26d4 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xf2d0aa3f mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0xae2fae41 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xb88d8916 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xdf42ae66 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/tuner-xc2028 0xfa7c97c8 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x91bbd9c8 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0xeca0a228 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x54eb8efc cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x996ed60a cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x02b756bd dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x20bae56a dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x2ef8e759 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x62ef409f dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7bfad76d dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x94bf95d8 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xd6c0dd70 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe4715a0d dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe5f7f57e dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x0dde11d5 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x0eefa3c7 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x5ebdaa2f dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x65d933e3 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x69f56844 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xad594ba5 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xc2045ef6 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x1540822f 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 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x0ab15920 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x20a1e78b dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x3abaee4b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x47a85365 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 0x9a643e60 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xd8bfbfe8 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe0299f53 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe96311f1 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xea755525 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xe3a861b3 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xf6d6c069 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x2daf66e8 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x42331710 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x09ee69b7 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0b0930c3 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x191fc776 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x25835751 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x2bcdf4d4 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7c933068 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x98db3f3a go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x9e037b2f go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xd993d90b go7007_alloc +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x231f3b09 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x24ae4819 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x2d2dd17a gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x487f8fe5 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x64ee5b4f gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x71a241bb gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x78fd641d gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9640de75 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x1893a3d6 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x80ba5abb tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xefaadf42 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x1592f237 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x3e55f3fd ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x00245e3a v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x13ac1170 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x84299b60 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x8e469b45 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x022e236d v4l2_ctrl_radio_filter +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 0x094f5c25 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x112c4119 __v4l2_ctrl_s_ctrl_string +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 0x18836d6d v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x19f10520 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1af8336c __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x208761ed v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x21b4ffc9 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x22bb39b3 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2c4704b7 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x30135616 __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x31dc748e v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x37f33c07 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3a4eca1d video_device_release_empty +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 0x4012e507 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x41411810 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x42d432b1 v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x46c17561 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x48af4e03 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x48e03377 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x492044f8 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a549353 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x542fc5b6 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5fdeef0a v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x66cf1681 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x69aa5f2f v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x69c25dd0 v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6b6f413a video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6da8c550 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6e618bd6 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x70eb9f01 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x72185633 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x75525ed7 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x77ed0e42 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x87a0d6c6 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x88979bd7 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8979aa35 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89cb6ebc v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x97c2bb34 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x991f2c44 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9b341dc6 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa09e658b video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa11bfb9f video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa204cc97 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa608e863 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa71313f1 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa730c723 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xae913c05 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaee2e197 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb3cdd0f3 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb415b6d6 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb4de390d v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb9f20fc9 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbd2d274e v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc12ae50d v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc79e9078 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcc0dccd9 v4l2_async_unregister_subdev +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 0xd5de6495 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe1f245f1 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2fbf72e v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe628eecf v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe690eec6 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeae80e4f v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeb3a4c18 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xed7aba01 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xefafa9e7 __v4l2_ctrl_grab +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 0xfc36d62f v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1829bf6f memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3ab058a6 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x475bd68c memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4cd1ca40 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x58cb0c30 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x59fbc0b7 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6782654c memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6927b572 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6c5bf3ea memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x84af4b7d memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xafbbe17d memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb598264f memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcfe810bd memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd29e9d9a memstick_free_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x074c97a0 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0ce45fa5 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x22dff54c mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x23006139 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x304a31f4 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d3c4dac mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3f728e23 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c3fe081 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x570ea2e5 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x61e6b2f2 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x71860354 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7408a09d mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x81fe73ba mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9ced5ec9 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa3342786 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa6d549c1 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc079104c mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc5810e00 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcd041a9e mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd14cf2f4 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd6adb109 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd6b82303 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xde96e0a6 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe7874181 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeca5837c mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xee209b9c mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf37ad0ce mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf9d9b040 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfbc65910 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x040c32f8 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x06f44f07 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x282e4fdc mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2b811be7 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x46422a2f mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x49922c2c mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4dce1c3c mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4e8f8e66 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5cdbdb25 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x677a3112 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6f3e5e5c mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x732a342e mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8f8a4279 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x92d8248c mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x935a6e19 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa94052af mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb77dd443 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb999e53f mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc707bfd0 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcc7abda1 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcd83199e mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xda2bddf6 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdd941421 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdf841774 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xedd7d661 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf01acc71 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf5d2c748 mptscsih_io_done +EXPORT_SYMBOL drivers/mfd/axp20x 0x0f370493 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0x38ebab64 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0xd4be0968 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x488eff65 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0x72d6ff14 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xc0dcbc94 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x4d1a07ad pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x667b5e43 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x17235779 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x23b29058 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2c045d3d mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3f65e346 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6ad2421b mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6be28d4c mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7c0f6fea mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xaffba4a0 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcf8e130e mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe6af8878 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe7a1da9b mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0x832aed94 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 0x0695b0c9 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x4d4fc010 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x553410cd wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x670eab54 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xc3ef3b28 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xf86ca979 wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x2befe0a9 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x4ed721a9 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x2fb85933 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x43cdb795 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x509f7d55 c2port_device_register +EXPORT_SYMBOL drivers/misc/tifm_core 0x0a5b48c6 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x2c385d67 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x5b95deb8 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x716ad847 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7e21e073 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x803a6356 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x84dfd814 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x8d6d4740 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xc241b270 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xc3230290 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xd5a12269 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xda4faec7 tifm_register_driver +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x0c530ad9 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x2904b036 dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x4797ff2a dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xdf83f9ef dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x43fbf92b mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xf7cae691 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x178a139e cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x18652146 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x34b11568 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x61572af7 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x619bcb38 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x82825315 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xccccc194 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xd7a0526f mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x06fcfa93 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x75480a50 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x79e169a1 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x5d7964d7 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x82e01006 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x24351100 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x3f9e64a4 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x7eb47fa9 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x16282e9d arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5de718e7 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x86d34707 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9237c268 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd3f1d632 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdd834ea2 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdf601e87 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xed072b1f arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf75c5790 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfe05d2a7 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x36fb9905 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x455a1ff4 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xdc543696 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x02929947 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0f3b10e3 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x121e2bf4 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x12b3033f b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x19036378 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3939043f b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3b669fd5 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3c7bb3ce b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x49948285 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4a17690b b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x50aa860c b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x516329d8 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5448406e b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5a540826 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x64e70625 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x682b69c1 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6c5cce12 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6ec05dcf b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x725cbfe7 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x740f0102 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x77fc5875 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8c8e8d4e b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x928e530d b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x974958c8 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9774fb8a b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x97902608 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x995030f7 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa368f236 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa44c9cad b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa86b9863 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb01fd658 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc07f334c b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xce899705 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcf215381 b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd8335b0f b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd9e80a86 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xea0c8038 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xec2e8227 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf0aa9d97 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf2163a19 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf2efa6a8 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x63eee399 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x8df1afb4 b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xd697aa60 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xe8990625 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xee69618c b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xfc00613d b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x62b16287 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xd6fc0ff8 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x10566b0b ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xc479f1c9 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x00fa4d17 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x77a5d92b ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xf869e771 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x2cd52c0a vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7894ffb0 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x15016d03 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x425d893b ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4c045196 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8b07eb3a ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x96ade52a ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb24c3172 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb8505eb9 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd2ad680e ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf2235efb __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf60b0eb9 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xc803a9db cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x033ee5cd cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x04210b10 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x08d028f1 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2d0650b3 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2d12323d cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4fc7a449 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x51ea5aa9 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5c7350c6 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6eb2d3e1 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6ec33950 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xaa0372b1 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb0ae4fc3 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe988a7fe cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xeb02ced8 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf24251c9 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfeafe235 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x077ea1df cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x093027a0 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x09c12279 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0c285b4c cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0d4f13c7 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0d90fa8f cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x127e3ef8 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x14e7ca82 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2d4727be cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2e4782f7 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x333b1048 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x35aa6187 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3cf70ac2 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4a3c670c cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c418715 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4d7568e5 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x586714a2 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x620a4b4a cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x683b5e3e cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6b89a7dc cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6e8be23d cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x70a1562e cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7cf7de38 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8291b470 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x945a007d cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x94cbd962 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9c044d77 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6a579d0 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb03911af cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb1f60345 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb4066027 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xba20107a cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf0c53a7 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0a11877 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc36e8d4e cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xda8148cc cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdc8be582 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xde2d5ed5 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xded2869b cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe206ef70 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe46564dc cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe8c6390c cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xed5280b7 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf3ae47aa t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf7bc2cb6 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfde45402 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x12de9dd8 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1934396b 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 0x603d9c6d cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7a4a70db cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xbde4fd69 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd0eda7e1 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe73932ba cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x20e6cb7d enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x67cb440b vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x8d50d95c vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xb13d38e4 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc335fe7c vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xff418676 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 0x56703dfc be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xcd2c3d64 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x540141d6 hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x639a33c7 hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x8922a724 hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x94a9f355 hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xca438522 hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x29f2c15b hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x27e983f5 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x4636771c hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x6cc20534 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x775f4055 hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x80c8c365 hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x8a34b545 hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x91a9f024 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xc95d6544 i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xcaca72a2 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x7a26a689 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xc81a6816 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0dbdcba9 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x116d9241 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x206ef7d2 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31b066ec mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x335aa3cc mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34d0c974 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3712fc0e mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b381e4b mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4069e3d9 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5023b44a mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5bdd0c46 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6186b9a2 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65d688a1 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x663d7273 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x69722437 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f09ea31 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fd27273 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7189974e mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7257f03c mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7641fe76 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x770b6970 get_phv_bit +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 0x833b0a5e mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x845cda94 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x901b1b4f mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9312d8fb mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95352e16 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x956e1809 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x983b7aae mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x994900d8 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d51a62c mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1a671c9 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xac5e3aa4 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6e19f42 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb731db6f mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9bb97cc mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcc48c1e8 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1fb1bdc mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd391cddf mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe477b050 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe97f9132 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3dc9fa5 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf55a7803 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7f74f1f mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfca41c9b mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00871938 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05ce897b mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0acc33fd mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2fc676 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d53a7f5 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f9eb1b4 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11602dfe mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x125a4e7d mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x159877e2 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1693fc31 mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x214fcf90 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26355a5e mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2690c2c1 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29cfce6b mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c6c0349 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x317e69bc mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x317f86d9 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35201df6 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36e21b91 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37983cf9 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38022adf mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39153c11 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x392895a4 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e6fa866 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43496413 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44ccfac2 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45416ec3 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x479da19d mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad7e9d4 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cc4a717 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f8d5b14 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52cafc52 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x554176aa mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58fa7d83 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c25bfeb mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ca558d1 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f7588ba mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f8f0089 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fc557e9 mlx5_get_uars_page +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 0x62e982f3 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x631c634b mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63ad2706 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64b2417e mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68e36c76 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6accfad7 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6adf9c4f mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d47dd8a mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6dc462e4 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e69870c mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fff2633 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71a69978 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71c712a3 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73193ce9 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75444d1a mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a9b8139 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c74f2df mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cb74a1e mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d89e7de mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e08c501 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e571443 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e8e0767 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fb8d162 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80256bd6 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8038ef77 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8458c5bb mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84a848dd mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x871ee4f1 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8bc2e515 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90018bd2 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93918fa6 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95d47eb2 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x989747fe mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98f9c6f3 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9cf417f8 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9dd0e37e mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f052442 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa02c8e9e mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa53a7501 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa840e4a mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab223b13 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1856b23 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb24931a6 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2d0a6c0 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb32f9a31 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb71b142f mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb83b9976 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba726ffc mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe8312b2 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf4b687f mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4f96f82 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5a50c06 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc612c491 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc65caff3 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc69070c2 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc70efd58 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc75802fd mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc76324c8 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc968872f mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcec57e75 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcfb0baf1 mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd02008f1 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd038d4cb mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd38d4a8a mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd636db1b mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd689402e mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd84aa229 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdad47e43 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdadb3868 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd6cae2f mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3ac6c77 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe465e592 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6176d42 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7167e4c mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea25153e mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec168bbf mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xecab91c6 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeeea859f mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1eeca40 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf2d741ba mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3ea6700 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf99c4f42 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe7af0d3 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff05e262 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xb611d689 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1047101b mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x139eb7f4 mlxsw_core_bus_device_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 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x25f82c4b mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3d43d61c mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f672008 mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x57e736af mlxsw_cmd_exec +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x61e6a8d5 mlxsw_core_rx_listener_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 0x65b19167 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6a1dae56 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7d6e0cf4 mlxsw_afa_create +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 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 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +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 0xa0f5be6d mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xaa600760 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb6ec5af8 mlxsw_env_get_module_eeprom +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 0xbbd7a457 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc983479 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc772539f mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcb5a8e3f mlxsw_afa_block_append_mirror +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcdca69da mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xe3c07bd9 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeca0348c mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xfbf18dca mlxsw_core_driver_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 0x80b30669 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x97dfe91f mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x3e7b3688 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x620d0566 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x05da91b5 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x060fed0b ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x07075b15 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x105187e2 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x154133e4 ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x20282ca6 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x21a207ac ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x21a62e64 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x21b6539c ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x24185370 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x25203d98 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x34f7006b ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3502ce0e ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3cef86bf ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x400063b8 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x410da1fb ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x41bce104 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x42f5c67c ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4af73fe2 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x549e9340 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5e8425df ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x607810ff ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x771d30d1 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x777b46b7 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x77ef56f6 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7979b86d ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8a7ac98a ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x913eb229 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x95dd4ec8 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9ac0e3a6 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9cc76b85 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa06ed9bf ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xabb20b26 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb65feecb ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc8beaaab ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcab40843 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcdf9dc11 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xceba78df ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd3479885 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd76874fb ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd7a99ab4 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xda4f501e ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe146d7e0 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe7ad703c __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe8f72630 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xea84cb3b __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2b5764c0 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4911eb2c 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 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 0xc5bab76d qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3533e8c2 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x641d664d hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa95a472e hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe1287230 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xea058291 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 0x652fb0b6 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/mii 0x2177c92a generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x3ffbc15e mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x51d08157 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xb22b4d0f mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xb627ba69 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xbeea8765 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xcafbe1d5 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xe0b8094b mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xe8037602 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xf4412cfc mii_check_gmii_support +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x1ade8770 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x10e54270 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x73b9f619 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x28f40102 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x34ac4f9c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xec56a141 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0xf96e1a1a sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x0cc8c1cc team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x0d26402e team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x1c5b9f78 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x678b6dbf team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x82ee0744 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xd7cd4a5e team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0xd955b486 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xdc63558a team_option_inst_set_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x29f853dd usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0xfd9252c5 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xfe948371 usbnet_manage_power +EXPORT_SYMBOL drivers/net/wan/hdlc 0x078069e5 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x18530e9a detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4133fe9f unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x42c28848 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4aa3697a hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6a2b22d6 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8dbebb66 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaa808ce5 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc3218556 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd9c016f3 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x04887e65 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x02c09020 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x182c82e3 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1aa8d826 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x295d4a1e ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x38f7d3b5 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x545f0ba0 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x88d51649 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x96604f5a ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa6106502 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xaf83c9ab ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcd60dddc ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdd7c2101 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0b6ba8dd ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0fbfa65b ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x10b87a41 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1a47bf61 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1d2c62a4 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1f5d375f ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x260b18e7 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2a246080 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x308cf664 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3cca060e ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3ce3f4f1 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3e76a6a7 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3ec03685 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x471da39a ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4ec2c890 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50aaba58 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x562d28bf ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5d2f9107 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5edd631e ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62d6c3fa ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65ae44e6 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x69b9721f ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6e81686b ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6e8c398e ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75424f92 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7f20b250 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86c27c9d ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86c9f0e7 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87886b69 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8d874d78 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8e6d13d7 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8fe2e298 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa26fe754 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa63c99aa ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa6b0da10 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xadc73253 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xae1b36de ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb3d63d66 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb72ec64a ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc33dfcc5 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xce8ec18b ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd109610b ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd2ebc447 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdb87c3ed ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe0fb37da ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf3243e0b __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf37cd822 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfa32e687 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfde8ac1f ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x310fd575 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfa1fc51a ath11k_core_get_hw_mac_id +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0def211c ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1c005910 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x34052172 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8aa74e56 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 0x9b9e6dd3 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa24d1c1c ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb903a219 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcc8ab331 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe2146363 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfa46b69a ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xff9f894f ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00b39c87 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x31401f84 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6fed70fc ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x74252d6a ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x76d06ae6 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7e246c49 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x88969a9b ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9cc56346 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9d1e1634 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9efee548 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa7268a8d ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb32221f9 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb6419f91 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc62b3820 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcc925d9e 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 0xd9735a15 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdbb1ea2f ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd820621 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xebfa391c ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xef5ae23c ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf294dc90 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf955bead ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfdacb53a ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x009236dc ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x033f3f30 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0361fa65 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f10f973 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f58b0a5 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1005eca5 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x183a5348 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c9d7186 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20b7a288 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23d92d1e ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23e19467 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23ef7275 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x296deb61 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2bfdc09d ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f178eaa ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f9450ac ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x305296f3 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34b6b636 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34d07992 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c8c04b8 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f909fc1 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x483afe92 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48ee549f ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49cdc085 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a392646 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c73e2c8 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x510108b2 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x55655621 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x56c46b22 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a9a39ae ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5aa8521f ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5acb5f2e ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f81c315 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f8679a3 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60525ea4 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6211e593 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x636e2ebe ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63923b99 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65a2fe3d ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x663ae998 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6cee9166 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70f05fa7 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x710cd950 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73018f01 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73c7727e ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79840ec5 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7cdb1bc1 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d7356a1 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e207dd9 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x865f3f9b ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88c4ab0e ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a98e4ef ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d5acab3 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e8da77c ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8eafa58a ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f59e3ea ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9300900e ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x934f0682 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9662538e ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ca7e6ee ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d1d538f ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0e888e8 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa4b27629 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa5eddc21 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6e80dc5 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa310b64 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae4b8dac ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf731002 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0a9f2cc ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0aafb00 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2203a53 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb36da6d3 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb59a5350 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5dc9fe4 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb67c21f3 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6c88688 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb71b73dd ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb8b9af21 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb951f101 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc494c43a ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5c337d9 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7fc13ac ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc831d74a ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca25790f ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc4a7347 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcefca4b9 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0377dc7 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0cbf22a ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd152f6ea ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4ade118 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4f3103a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9ebd51a ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdad03990 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdae436cf ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdba52e28 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc912645 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea67ba8 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe292cf53 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe57af92e ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec038ca2 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec0a0dec ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf35fdcf3 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf379c364 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf610ac69 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb12ae94 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfbc3b9ae ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff9569c8 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x1b69d682 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x73f75a3e atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xdf8058cb init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1e76bdd5 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x307261c6 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x32b6d2f1 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x4be741ac brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x567c82d9 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7f291017 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x85fa1f08 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9a6bb956 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb4061a30 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd0b3f479 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 0xd9b43360 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xdc09ca85 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xe87748e8 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0ae238a7 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0babe927 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x146d2f57 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1eb1f018 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3e2b75c6 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x519bbfb6 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5367de35 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6388d34c libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x80bac9e3 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x83817f58 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x875543a9 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9278ba88 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa075eadd free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xab8d39e8 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xaf87b8c3 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb0adfa13 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb67b37ba libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc40570c8 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc659ba6c libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xecdf3ae1 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x004bcb58 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x021308cc il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0dcd4282 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0ff54db2 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1589f32c il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x15d7474f il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17216967 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19126504 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b5d1891 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b89aa0b il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1bdcb33d il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1e1a90f7 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2007ba34 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x21a774a8 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x276e1044 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2802974d il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b9bf01a il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2cd71c96 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2da71a0a il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x33da033f il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x33e39941 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bc98b96 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4495dd5f il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x44bcae7b il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x45f68577 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4aa911c8 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b859b1b il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4c1c71f0 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f45b3a1 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x51063dd8 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5318e30f il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x54d68223 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55b75617 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5bedc43a il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5cfcda53 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e17a64d il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5efdd196 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5f7e45b9 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x72042474 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7405d820 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x767dc155 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x768223a8 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x79c721c2 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x79cefbe3 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7efcc445 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8184ea5e il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8189aa03 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x826334f6 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8391ec3e il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8578a746 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8821bfa7 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x893b2755 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x93f8b884 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9521ed4f il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x96bce354 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x96ffcaeb il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x972d196f il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9ab5cb5a il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9b0e5a8a il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9bfb3e5d il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9f2311a5 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9fbe9e63 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9fdb88c9 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa00e36d5 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa39629e0 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa3d79746 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa44220c7 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xadec873a il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb0186717 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb3364581 il_leds_init +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 0xb9f36a07 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbae1309d il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfdc2fdc il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc5747718 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc80152ca il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc84f81a2 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc9868240 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xca58e4d8 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd08b63e6 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd1063949 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd3208fa4 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd4e51741 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd64865c7 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdafe371b il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe0d6040e il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe3e67740 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe6af21f0 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xea945ddc il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xee31d384 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xef6039d5 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xefa46521 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf0c5ca2e il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf562da39 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf8111d4b il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf88032df il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfae4d4c0 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfe2b13fa il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfea8bd30 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfeb7f230 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x33c2544a __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa44e2870 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xab9db4d3 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x07e0fc47 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x20355094 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x264e6c4b hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2994040f hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4bdc173d hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5092aafd hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5f809dc6 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6847818d hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x69a9614d prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6d10d31f hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x712d3909 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x750b16a1 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7987d708 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x834c9520 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8a0f920c hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8d27a610 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8eeb8b71 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9f0b2910 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa9ef6449 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc82421f5 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc91afdb3 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcf8d3ef9 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdef76651 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf3695cb5 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfef66d32 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1da0417e orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x25b77d46 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x324c3918 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3b4d979e orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x42fa43c3 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x504140ab alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5b8ea38e __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x845261fd orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9f86a3eb orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa1c2c259 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xbb2962af orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xbcc30973 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc5564de8 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xeb3bbb0f orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xeb4c9831 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xec1d14b1 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xe02e1249 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x66b9ef2a rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x04385607 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0d533a77 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x10467a5b rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1088e9be rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1f3a272b rtl92c_phy_update_txpower_dbm +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 0x29207ac6 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2a10b54d rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2c4d1dc0 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x399c21f4 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3c8b59ab rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3e0b6f56 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4387ac90 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4a595a58 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4c54c037 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5aaabf03 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5f7c93f7 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x629ab210 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6d00fec7 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x74177596 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x744322ab rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x785149fc rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7aeccc7c rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7bc71ff1 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x83fab8fe rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x860cf709 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8a13d257 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9c415e86 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa0b74552 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa4b9605a rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xae28a66d rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbc775d5e _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbfa69d5e rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc6421fb6 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd98d7bc2 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe0f408f6 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe6ca9454 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe71aecd9 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xea0d0103 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xef91743e rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf1818602 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf6f48714 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x589c9607 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x8ed692f5 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xc4e7fa98 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xcba76260 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x2a7f9cfb rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x4d354c85 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x9c2f09cf rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xb539e136 rtl_usb_resume +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 0x1c7277f6 rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1e5d44f0 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x244ccbe7 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x303c15ce rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x38679388 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x48bd5ae5 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4928c620 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4d0ea069 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x51e56536 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x52691bf4 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x695eba2f efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6b5dec9b rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c97c236 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x906daf76 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9311b3e3 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x947df345 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa4906411 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb5d465c0 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbc217586 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc3b24b3a rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc4282ac9 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc6512968 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc6887197 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc758615b rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc8de2b14 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd5873508 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe59fa040 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe6510eb0 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe9f33c06 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xec60a011 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 0xf5877b0d rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf847c03d rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xfd620e24 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x16827496 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xf9401fa8 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x011017d9 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x03d6c960 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x04464b2f rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x05fbd665 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x085b5b1c rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0941ad3c rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0b2cdfef rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1090728e rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1bf6ee7d rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1ecafb32 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1fcd508b rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2017fdf8 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x20226454 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2150b8f7 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x23a1c1e8 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3217bf23 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3471aa67 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x399a3464 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3d4659f9 rtw_phy_cfg_rf +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 0x46851b5b rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x47913438 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x48046035 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c063e9f rtw_phy_pwrtrack_get_delta +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 0x5b510c48 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x61691f41 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x626380bd rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x636f0ddc rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x780ff9a2 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x845279d0 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x84f19ebd rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x88f2ecde __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x89841887 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x89e9204c rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8b5016ea rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8c9a9e54 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x92550f82 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x99d22b42 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9bfa9944 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9fe24b72 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb0ac4f8e rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb9702c59 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbfd443bb rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc037f2c6 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdddf523c rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe0df9394 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe4019594 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe7bd9791 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf2cb5b4f rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf91d8753 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfb4d8d1e rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfe4b54bb rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x19ccdee8 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xac80a5e6 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xca12313a rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xede54ec0 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x3c1dabf4 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x02ef6b70 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x054c65b5 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x0a38e3d8 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x21347b1d wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x21c8bdcd fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x4e3fa380 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xb2c89265 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xcef6a81e microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xfcc5b62d microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x12b56133 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x24a70661 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xaa89bd65 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xd76345ec pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x3bbe4fda pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x7014930e pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x51752bed s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x76801de6 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xfccfeeb9 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x090f1214 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x371e5e63 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x3c40efe3 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x474d13b8 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x66b07c61 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x6950a4e0 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xad87b0d9 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xae933e77 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xaff0e377 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd81832c7 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x16a9f35c st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x21bddac3 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x30742e8a st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x35b29ea3 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4496d666 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x46efb229 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x83956eb4 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xad700c79 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xb67c214a st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbaa67f3e st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbd785acf st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc17f0614 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc1ecc697 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc5a533a6 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc88b396c st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe26f44ce st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe42df252 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xeabd4aa1 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/ntb/ntb 0x1e605772 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x26db0e16 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x2d584920 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x2e4461e4 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x38d5fcdd ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x501eed8e ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x55631a08 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x599e7f4b ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x5f05be98 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x605848c6 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x6c4370eb ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x72a51a78 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x93792fe8 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xac558d4e ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xc497cda9 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xc70cb55c ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xd3ea39a8 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xd607ce81 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xd6f84611 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xe634d09d __ntb_register_client +EXPORT_SYMBOL drivers/parport/parport 0x0cd45d2e parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x111f81ad parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x1492df81 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x1cd9693b parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x240cc5fc parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x2bb0e532 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x346e5887 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x3f3873c6 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x3f8663a0 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x43dc8549 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x468d33cf parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x62063ec7 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x62f1f17d parport_release +EXPORT_SYMBOL drivers/parport/parport 0x66ad5c63 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x670c11de parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x6f1a47e4 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x6fd26606 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x7b1287fc parport_write +EXPORT_SYMBOL drivers/parport/parport 0x7eb4632e parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x89e967b2 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x97e727a4 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x9ffb261a parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xa79f9074 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xb7b0ecdd parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xb9347c03 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xd7e1f5c4 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xe376a4d5 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xe68e9fcc parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xe800397f parport_read +EXPORT_SYMBOL drivers/parport/parport 0xf03328c2 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0xfb575ce8 parport_claim +EXPORT_SYMBOL drivers/parport/parport_pc 0x18dbbc09 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x8c7a323b parport_pc_probe_port +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x0ef37cb7 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x75943f05 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x78cfe316 cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x9e92a348 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xa6342ec2 cros_ec_handle_event +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x93b118a6 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0xc6c2cadb qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x116c6ba0 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x136b93d8 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x337aa371 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x44f2aac4 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x49ea366b rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x585a4c22 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x5ccdba3e rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x64fc3d6b rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x66d3172a unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x778f3870 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x82a2cbc6 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8d0ca113 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa0c97929 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd96f6f68 rpmsg_create_ept +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x21680364 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1bda15fc scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x3c485ca8 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x49d0ea71 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x73810d68 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x084cfb5f fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x13d20621 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x35ad4b92 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x399772ef fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4a6f2897 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x539565c8 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5dc9c819 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x99f98db2 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa772d4db fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb8af875c fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xef505ead fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01439070 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0219031b fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0586f41e fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0a311067 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x120b6233 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13b63b47 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x154b03f1 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x15858285 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x250cbc0a fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ba15867 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3109157c fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31167340 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ae2cabe fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3bfdffeb fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3da5e4f7 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3eae33eb fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x485456f2 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x51a8ebc1 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52f96e5d fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x560aff5f fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x588dd6a7 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ab41f0c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5af1d115 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6290ba3b fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6c5310d9 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75257db8 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78885b66 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79439204 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7aee2898 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7baf89e7 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cc341a4 _fc_frame_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 0x816d0a3e fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81ef51d3 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x84148663 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b0b44a7 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8bfde294 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8e0e9426 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x95040170 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9560c14a libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9cbff02d fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9e0268a7 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9e82226b fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9ea3ba9a fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa249974c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac5e876a fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae74bbe0 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3555d13 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc5f524a fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc92455ba fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb67a348 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd560714a fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd7cdcb7e fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf6a9d1c fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe3af80bd fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe826846a fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8d94fdc fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9fa883a fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed7bf2cf fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf4e4405c fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x2d523870 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x888423f8 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xe1bc1ea3 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x43dcc38e 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 0x0a82c459 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x60608608 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x78284792 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7cafc726 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8ffaf250 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9aa2dc09 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9c035717 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9d31976a qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc5bb7cb9 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd086bdcf qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xda7187b1 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xefc0860a qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/raid_class 0x4a594ac0 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x8c248cde raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xc26e0654 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x06c9de63 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0b4408e4 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0e148875 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x37beaeb7 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4f4413f6 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x671795e6 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x706aae6d fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7dc283c4 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x88d4e7ca fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9ee237a8 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9f22f3ab fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa91ae542 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc162c43c fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc49ace6e fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xcd992a7b fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf1044dd3 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0329a34f scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0beb7fb0 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x15d63f45 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x17f446f2 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1a1e611f sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x25c49a91 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x275eefc8 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3dc6f5e7 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4053dee3 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x464a2236 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x51f11a5b sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x53963ac9 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x540eee34 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x59a10995 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6519193f sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6aa20834 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x80e0aa85 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x953d0ed0 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x97a2668a sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa0001c5d sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa4c79f84 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa8e5dadf sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb2319db7 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbb69da8c sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc0f44cc2 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcf332153 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe29a9201 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe747416e sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfbe95d63 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x404bf7d7 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7d60fccd spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xca6a78dd spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xcdba629b spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe37dff9e spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x21c7d815 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x2f7f60db srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x486310cb srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xf696229a srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xfc1124ab srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x97144969 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xd18d8b22 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2a7821c8 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x5765fb9f ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x73f6112d ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x8d20c3c2 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x992f65ae ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xc5fed964 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xd51d9f42 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xd5f158ef ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xd7948204 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xadc398fb ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xd5f4fd37 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x134db152 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x2aa1b535 cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x52eb8e83 cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x532db664 cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x5ab2e662 cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x6d61d952 cmdq_pkt_flush +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x6fd4a0ac cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x782df519 cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x8af0fe5c cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x8b2c8efe cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x91bd54f2 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xc97eb480 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xe8846f22 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x3fb952e5 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 0x05f0e3d7 geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x50e2ceca geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x53d11b13 geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x61ff5444 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x719eafcc geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x72ff2d9c geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7ddb2401 geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x8e7f94f6 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xa866f52e geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xca80113f geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xda9a660a geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xef2cc401 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x133168aa qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1970b89b qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x25d81ef5 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x53a27ea7 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8517f5a9 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x89af48e0 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa2ff1ede qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xacdd8c8e qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xaef07433 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xb0840904 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xedfefd41 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xf05b18d4 qmi_txn_cancel +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 0x932eb0e3 qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0x38643d99 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0def0bb8 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x113eed21 sdw_stream_remove_master +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 0x2b2cc0d8 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3d7f72e4 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3ef1981f sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x41db9627 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x43841013 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4c11c60d sdw_stream_add_master +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 0x6372632e sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x79eddd4c sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7e376b7b sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8b33ffb5 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa3b2275d sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa4a4636b sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb69638df sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc6de5ded sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xca58ec41 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe4ad1b98 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf695e1cf sdw_stream_add_slave +EXPORT_SYMBOL drivers/ssb/ssb 0x01a0f374 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x0a0329d0 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x164b7d50 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x2033258a ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x49cbde4c ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4ef860ed __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x51283d21 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x57251b32 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x60c24001 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x82560717 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x98f10a3f ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x9ce22dcc ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xb0c0bf24 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcca9ea39 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xd4b79901 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd68555bd ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xdc231fbe ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe8525b70 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xf441bfe3 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xfbb7b76a ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x02d759b4 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x15fc0341 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x18266adc fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x25942f27 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x319d843b fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x33a02fd2 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x51ccd05a fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x54bac283 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x557f9f2c fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x74b8b57c fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x77d7cca8 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7c443f6b fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x85cceaaa fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x886c252d fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8b21af0e fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8cff6125 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8e6a9b72 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xaa9cd91c fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xba69d8eb fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbb982732 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbcade88e fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc3b88bf1 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc4d76319 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe6f60877 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf26061bb fbtft_probe_common +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x308a6b59 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x56f9cfa5 ade7854_probe +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x76a99100 nvec_write_async +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x84b4b42a nvec_write_sync +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x03698609 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0474ceb0 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x071355d5 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0cecb13d rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x133e400c rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1771cca4 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x18c1a4e4 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x20e7793f rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x212195b4 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x25a9a8b5 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27391759 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27c28c8d rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bdecdb3 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x30e952ad notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x32b9e3a3 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3c01af8c rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e5e3949 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x44124fce rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x532a972c rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x536f752b rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5440721e rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x55b51c7b rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x57a22018 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5c4c59c9 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5c588e86 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f40e86a rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6042a9b3 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x60666137 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x61c6260a RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x66dbddc8 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x76035e46 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x81b4879d rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x82a74a5f rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x86a6a436 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x89692507 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8e38c125 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x93e5bbab rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x970967cc rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb9199ae6 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc6c8b507 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcfd4cd96 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd0796c7a rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd38e1d82 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd4a64199 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd8a8f7cc rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe125075c rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe62f6f8a alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeb0660e9 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf4673430 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03daedc7 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0465da82 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x072ee79a dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0b5f59f0 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0c10049c ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f2c57e2 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x14ba0e38 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x177c46e8 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1a25b34a ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x26afeefe ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2a2ed78f ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c1e889b ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3449f47b rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37f5eab8 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x39bf9329 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3caba57b ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3d6793e3 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4310b44e dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x45740e48 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4f6ebf41 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x59b9f16f HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x59e8e760 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5b73cd9f ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5d1d495d ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6422ae2d ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c558535 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6e8d7967 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x730a8128 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73564450 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76a4f785 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x842e8a8c ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8edac634 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f3b8d0e ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91c68f03 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95187501 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x990e3ad8 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9ce1b404 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xac92604e ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaea9ddee ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0b6cd25 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb1266dbe ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb53afe79 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc0f1918c ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcd098b41 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd81df507 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xda9cbc2f ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe1b1e5a7 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe77eb113 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe828423f ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe85efe61 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf03cb47d ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5975104 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfec7096a ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xff0dcc82 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xffd3e4fc dot11d_reset +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x028d2419 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x18730a6d iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x201edcb0 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x25c4b67f iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3316ce07 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3b3c1594 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3ee02437 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x40ddd890 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x50653aa1 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5311c6bd iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x53873525 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x53a75560 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5cfde078 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5fd01de2 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x64491b99 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x66e643c9 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6d89916a iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7140b413 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x71fed219 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7210f21f iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x74c0ea9c iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x75985056 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7bceb17a iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x805c9405 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x908a7510 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x90e55bf1 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x923ae96d iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x971e0f80 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x981cacb8 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9eb17ebd iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa1c47bf5 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa8198446 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa9d85cd7 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb2fc5bca iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb6f65ba5 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbd41b75e iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbfe2863f iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc8b36863 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc9884bbb iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdf894629 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf0bf75b9 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf0f60576 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf4c10566 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf54e1f64 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0427b30b spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x061349ab transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0cc9e3ab target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x15256a68 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x16152016 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x16298764 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x16582cdf target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a42e304 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x1acbb1b2 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x21046b49 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x21d69d94 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2fa5730a target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x3091eaa5 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x313a5206 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x31758e9d passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x328c1068 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x35c30598 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x36f7d539 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ab780f3 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c37605f transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c6aa66a core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x3da1b403 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x41523b58 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x468352e6 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x48435015 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x484b574e target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a519e68 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x571d8f0a target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x586ad458 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5eaf4a2c core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x629308b5 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x64f1b775 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x68bc4a99 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x68ddd030 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x6931b09d target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x6fc14749 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7234512a spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x77cd5467 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7edc13a2 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f59bfa7 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x82e024c7 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x8413037f target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x8514fffc transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x857540ec target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x97a17eac target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x98779d05 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x98e4cfd4 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9938016a transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9cda194b __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9f5ee641 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4317887 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xa95fdb20 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xad2e6680 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xaf9d837e target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb3c7c477 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xba0deb9a transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd799580 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe3f3e75 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe808a40 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xbecd6897 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0bf02cd target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xc218422e transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xcc1809f0 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd0b465b0 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xd50760ba core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd692b263 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xd834f32b sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8d0b3f5 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdab0cca6 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe382b4f3 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe5f4eaf4 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xe857c5d0 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8ae829f core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xec4dd0c5 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xef6e881e transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x1ecb6a9e usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x1793dc96 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x70415352 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x16ef39b5 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x31eaf386 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3eda7a17 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x46cd6e8a usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x590697d6 usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6a37621b usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9652b9e1 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9f25b022 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xaa7b3f0e usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbf42e50f usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc2f879e0 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd3bc7cfd usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd72e70cd usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x0966dd9c usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x41f28e8c usb_serial_suspend +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x08c8f98c mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x2c8facfb mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x39e02e50 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3f475966 mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4201f295 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5059903c mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6b4d3b38 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x83d91045 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8734f042 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8efb5cfd mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xaf287498 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc3ddbe88 mdev_uuid +EXPORT_SYMBOL drivers/vfio/vfio 0x05b8cfda vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0x0beb34b2 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x0f655355 vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x51f16cdb vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x6bd033ae vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x96f70c30 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xc09abdac vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xc751deb2 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vhost/vhost 0x8375475a vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x9f44876d vhost_chr_write_iter +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 0x3b2fbd56 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7bda5e6d vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x821e9390 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x98a7e2b2 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8a5b2a1 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xae7c3cbf vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbc172ecf vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x1ee3158d lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x3a06921e devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x58f32ad4 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xc34f082d lcd_device_unregister +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 0x414c8c37 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x45bb902e svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x56f72721 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x59da3fcf 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 0x87d04eb6 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xa7579a0a svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb24b8517 svga_settile +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/syscopyarea 0x5a0708a1 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x9125f95a sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xfcdb8f4c 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 0x54cfe147 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 0x6dc93585 mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x250953dc matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x330ac985 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xe07536cf g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x5ce28872 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x5cf6e799 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x96a9f258 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xae056fc5 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x720dfc84 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0xe9ff8120 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x2d43a648 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x3314f53e matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x6eeb0c55 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xef8b7e81 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x7e99801b matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xc6b29079 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x00bce126 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x4b44ada5 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7a745a57 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x89967412 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xdda47f27 matroxfb_vgaHWinit +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 0x048c08f9 omap_dss_get_next_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x05ba6467 dss_mgr_register_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x0c183109 omap_dss_get_overlay +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x11235056 dss_mgr_disconnect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x18413c4f omapdss_register_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x1cc0da56 omapdss_find_mgr_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x2423d741 dispc_ovl_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x24e3b927 omapdss_default_get_timings +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 0x36f234fb omapdss_unregister_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x397a6df5 dss_install_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3a75a99b omap_dss_get_overlay_manager +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3d36d54d dispc_mgr_set_lcd_config +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 0x475af29b dss_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4aedb914 dss_mgr_disable +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 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 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 0x6ec8cae9 dss_mgr_start_update +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x70e39dae dss_uninstall_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7a3d174a omapdss_default_get_resolution +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7a8787ea omap_dss_find_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7e01d48d omapdss_register_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7e4b4b34 omap_dss_get_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x827143a1 omap_dispc_unregister_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x87fdb051 dispc_mgr_go +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x8e079005 omap_dss_find_output_by_port_node +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x93963a85 dss_feat_get_num_mgrs +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x94c8498a omap_dss_get_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x967cb4e8 dispc_ovl_set_channel_out +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x9937e0d3 omapdss_default_get_recommended_bpp +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x995f1df1 omapdss_find_output_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa13d27f5 dispc_read_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa25d0092 omap_dss_put_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa4f6a175 dispc_mgr_get_sync_lost_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xae06b473 dss_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb0d8a9fd dss_mgr_unregister_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb2231010 omapdss_unregister_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb31b310f dss_mgr_connect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb3888fa5 omapdss_output_unset_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb3ed5aa9 dispc_mgr_is_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb7f94a15 dispc_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xba8ddcea dispc_mgr_get_vsync_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xbafeee36 dispc_runtime_get +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xbe0d4752 omap_video_timings_to_videomode +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xc45105c3 dispc_mgr_go_busy +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xca89b720 omapdss_output_set_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xcc197296 omap_dispc_register_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xce466b8f dispc_ovl_check +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd0a5385a dss_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd1067ba7 dispc_ovl_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd70adbc1 videomode_to_omap_video_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd8ed186b omap_dss_pal_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xdb93b838 dispc_free_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xe3e0b4b8 omap_dss_find_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xee2bc2d0 omapdss_is_initialized +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xef3b2795 dispc_mgr_get_framedone_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf4a7fc6d omapdss_compat_init +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf4f63234 dispc_read_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf9427374 dispc_request_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xfe40bf95 dss_feat_get_num_ovls +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xffd2cf99 omap_dss_get_num_overlay_managers +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/w1/slaves/w1_ds2780 0x4b12759c w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xb9598788 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x69b81515 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x9c85f716 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x7dd8b567 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x95a116e7 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x99cd15d5 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xc57ff5c7 w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x0bfe4ee7 bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x90753568 bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xc7b0c00d bd70528_wdt_set +EXPORT_SYMBOL fs/fscache/fscache 0x024a990b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x0308c04c fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x059a00d2 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x0bf226fe __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x1b1ebe44 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x1f2676d9 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x2089bd59 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x271b91ac fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x34d35af0 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0x36df92e9 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0x38592ec6 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x4a7a722d __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x5b787a9d fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x64d47956 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6a2a948d fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x769dfcc3 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x78e1240c __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x7d702acf __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x7e3ee75a fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0x7faa9417 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x80db0ed7 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x8743585a __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x8afc55cd __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x8d87edab __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9385ce03 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x96527d75 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xa302d0f5 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xb079ab5d fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xb418eb57 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xbb270544 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0xbf557778 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xde628ca5 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xde867e4f __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xe493c0e0 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe5d17b52 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xe9092726 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xeaa83fdb __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xeba5a2ae fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xfd15dd49 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xff99163c fscache_mark_pages_cached +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x36f1d97c qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x4f9481c8 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x6dc74f84 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x7755b42d qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xba64ddde qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xecdbc352 qtree_delete_dquot +EXPORT_SYMBOL lib/crc-itu-t 0xa2048e95 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 0xba95c5c0 crc7_be +EXPORT_SYMBOL lib/crc8 0x5a742e56 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/libblake2s 0x246ea205 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0x2cfa6ca1 blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x23eea787 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5519169b xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5d776412 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x64375eb4 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x738d84bf xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xb1ec48ec chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xf0dbf797 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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x03f599c7 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0x1a4bb846 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x4f125ebc 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 0x84e0214b lc_committed +EXPORT_SYMBOL lib/lru_cache 0xbbe7c23c lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0xc48fa976 lc_set +EXPORT_SYMBOL lib/lru_cache 0xc6e4cd46 lc_reset +EXPORT_SYMBOL lib/lru_cache 0xcb990a55 lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcea6747e lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xd212c9f0 lc_get +EXPORT_SYMBOL lib/lru_cache 0xeb13128b lc_del +EXPORT_SYMBOL lib/lru_cache 0xf460a486 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0xf5ea5f5c lc_index_of +EXPORT_SYMBOL lib/lru_cache 0xf6acec20 lc_find +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x4cc636f2 LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x765fd165 LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xd02774b1 LZ4_compress_HC_continue +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 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 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 0x04f258b0 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x0f27588d lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x15616059 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x20591dfe lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xbfe3d6f9 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xffae42ee lowpan_unregister_netdevice +EXPORT_SYMBOL net/802/p8022 0x0ae9e40c register_8022_client +EXPORT_SYMBOL net/802/p8022 0x6352150f unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x19c59849 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xd96cc47f unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07eb0b3b p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x1916807a p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x1beab692 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x1e6d7f6f p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x224c82e0 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x22a05bbe p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x28456a8d p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2af7f1bb p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x2c08623d p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x35506470 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x3629289c v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3d986cf9 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x4000c6bc p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x437e66c6 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x4861ae2d p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4c1c47a1 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x4dc9fe02 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x51bcb96a v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x525071c8 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5bd23790 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x6bf8748d p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6fa167a2 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x80bbc6fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x8f085617 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xa063fb8d p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa1363468 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xa2343d95 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xb051e0ce p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xb8017c09 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xc4be348c p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xc89e548e p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xcbeb6888 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xcf856cea p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xd3037ed9 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd9ade593 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xda78242b p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xe2ca1411 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe6676c18 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xe6b1e55e p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe8b5c7f5 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xe8f56d96 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xec849ab5 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xf05f7d65 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xf276cf37 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf41bba0a p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xf522313c p9_client_cb +EXPORT_SYMBOL net/appletalk/appletalk 0x4f193554 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x7d03245c atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x9d4d2509 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xedbe2b91 atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x0a7d6e17 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2f312381 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x3e4bbdd6 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6b9a3871 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x735c04e5 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x93ebbd51 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x965bcc6a register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9ab21d04 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x9c837f85 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb529ca64 atm_charge +EXPORT_SYMBOL net/atm/atm 0xb9fb1bcb vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xc03fe5a9 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xd7ffce8c atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfb487a11 vcc_insert_socket +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 0x627b7c1c ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x65f071d1 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x8608593d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x93c79817 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x97d963b3 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xb161a96a ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc50e4a75 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xee656dbf ax25_listen_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00fc4123 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x04e0af2d hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a425cf5 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18f819d5 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1a3b145c hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2003803a __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x255e2ca4 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4f78286d bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4fbcc74a hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4fcb452f bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5482080b bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x589583b0 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6011df80 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60cb9dfd bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6262dc0d l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64f86dbe hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x65592d92 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x68962868 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69b4b1c3 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6c414a08 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7184812e hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x72fb8043 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x77d634e8 __hci_cmd_send +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 0x80b0e80f hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa558a5d7 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa781c1e2 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaf2450af l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb4b4609e hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb6c4b73f hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb78a8fc3 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb931d93d bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe8e3344 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc1b02c35 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc7b1b97f l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xce32a3bb bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd6a56693 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7bec66f bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe27bff01 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe451513d l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe614051a hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeb088047 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeb648a76 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf94e3382 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfd7039ff hci_conn_switch_role +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x299ef886 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x34bdeccb ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x63001b06 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9ca98236 ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x015257d1 caif_disconnect_client +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 0x5f21c9c0 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 0xa40fba6b get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb56af1d7 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xd8844fd8 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x8e991484 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xa27fbb9c can_send +EXPORT_SYMBOL net/can/can 0xafbcb517 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xcbc9b052 can_sock_destruct +EXPORT_SYMBOL net/can/can 0xcddaaf98 can_rx_register +EXPORT_SYMBOL net/can/can 0xda65067c can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x0189b670 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x028492ed ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x043e57f6 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x0a3c60e0 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0x1449a900 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x1cba3f20 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x1f5ff56f ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x265cdb70 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x27ff7dfd ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x294cdb89 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x2b368395 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x2c3c1537 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x2d263533 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x30e43a49 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x317ac0ee ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0x318fb55a osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x3522979c ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x362e0b19 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x383a2954 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x3841ce09 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3a7994ae ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x3ab2f445 ceph_copy_to_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 0x3d90f192 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x3f171f35 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x4033a122 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x45044d94 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x45535fbb ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x45dfda10 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x47075eab ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x47d4a942 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4835741a ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x48b07fe4 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x4aaec44f ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x4add968a ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x4b156ea2 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x4b7e867a osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x4e1ca436 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x533ff57a ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x56469023 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x56e00fc1 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x5763ef8d ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x578c0e96 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5a9e4f73 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b4caf82 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x5b568bd9 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x5d693369 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x5df02154 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x6038df48 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x62be77f4 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x644b6e50 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x67106294 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6edb8cb7 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x705d17a1 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x709adaa4 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x762ed279 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x788d3cf1 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x7bf5d445 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x7d4f4ac7 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x7e1179c5 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x7e7caed7 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x8342f13c ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x83be6e67 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x83e20fa9 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x86b83b42 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x8a0eba7b ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x8a3ffec8 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x8bd5050e ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x8f98ed6b ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x9a1d93ab ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x9b3574a8 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x9b8499e2 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x9b8c70b9 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x9b9ab97a ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa664c80e ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa957d455 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xa97fc95b __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xaa761dcb ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xacaf27b2 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xae4a3d01 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xaf510543 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb02266aa osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xb0507c42 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xb1cbc6b0 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0xb2b86587 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xb40642a7 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb79e3b72 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xb831e89b ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xc02c9c03 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xc0f3ca9c ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xc10d94ec ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xc20c8ca8 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xc4bb7568 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcdec0b51 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xce915c78 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xceef751e ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd06f1ce4 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xd43ab909 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd704c810 ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0xd92a6023 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0xdc946415 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe4192cc5 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0xe47b824f ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xe7d26081 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xe7f16f67 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xe86a69c9 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xeb2c9367 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef09bbc3 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xf4f63191 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xf55d2360 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xf562aab7 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xf590f423 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xfa65ddb0 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xfb6238e6 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xfe932ce9 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x238d5c01 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x2fec8cbf dccp_req_err +EXPORT_SYMBOL net/dsa/dsa_core 0xe168c4bd dsa_port_vid_del +EXPORT_SYMBOL net/dsa/dsa_core 0xeb48716a dsa_port_vid_add +EXPORT_SYMBOL net/ieee802154/ieee802154 0x11a132f3 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x56aff3a0 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x668d1028 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7bd9b01a wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9664ed15 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfbe701b2 wpan_phy_register +EXPORT_SYMBOL net/ipv4/fou 0x19741ae4 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x40dfeeda __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x6282ebe2 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xff1adff3 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0xe7f6fe24 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x843b6e58 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x8826a4dc ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x9b5ddd6c ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xbf43fd3c ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x688e3345 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb540f54f arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc15b6c6e arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xda9bf4b5 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x0c7e0020 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1cdc9011 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x49c33f22 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x8055634d ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x8779fe35 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x0ca1261c xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x1ddc677b xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x3b145737 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x677f3d52 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x73b628cd ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8587a4ed ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8e2347e5 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x93af206a ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xa2039eea ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd66b139f ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf4cea542 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xfbb5a82e ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x477ea0fc ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x81c2506a ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xbf9382b5 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xca2bc4eb ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xdfb3b8ed ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0xd77a4535 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xfc624a39 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x6e2a97d2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xb3f26ac1 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/l2tp/l2tp_core 0x35aab017 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0x49ebc3fa l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x65fd1fdc l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x17e05cca lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x2a69ac19 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x2fe653c9 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x48676a77 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x50827892 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x8dad1baf lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x9a85ecae lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xa3d7ef28 lapb_data_request +EXPORT_SYMBOL net/llc/llc 0x002cad82 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4cb2be38 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0xdb70938c llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xe59c9162 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xe9c10cff llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xf6b04581 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xfcad819a llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x08989282 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x08d57912 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x08f3d585 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x109599a7 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x1164deca ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1199f227 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x1943590f __ieee80211_schedule_txq +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 0x2418998b ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x27c09a51 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x27c9ad9a ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x27cb08d7 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x286c0316 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x2acf22c4 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x30c68cb2 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x3458c3d1 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x35a66877 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0x385dbee6 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x393afc70 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x3977cada ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x3a270d4d ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x3b7107cb ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x40eaec5e ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x42173dfc ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x42a057dc ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x45d96b58 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x4a2eb358 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x4d1f395a rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x4e46e08a __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x4f09d5b0 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x5521bf6a ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x553aa2bd ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x567d73a0 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x56de2553 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x57edd4e0 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x58fe3ce7 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5b72e04a ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x5d1e034b ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x5d8fa21d ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x61c8703c __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x6429b140 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x68e2c042 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x718b609e ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x74b4fc9e ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x7b12c29e ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x7d063388 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7db98049 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x81be66fe ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x8ad7e9cf ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x8def723b ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8f0fce17 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x8f43b01c ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x8f88215a ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x958b295a __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x99fd86dc ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x9a70f290 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9d29311d __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9e729ddb ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xa03faa6f ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xa16bb38e ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xa16fb0b7 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xa3af9b05 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xa4adbecd ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xa86f69e0 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xad65943f ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xad66224e ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xadd2b395 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xb4fe2698 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xbd39d90f ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xbf256161 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xc2c448f0 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xc55a5cfe ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xc5f4fba4 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xcd9ce9e4 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xd3f272d5 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xd5bdc533 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xd740c2aa ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xd9250400 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xd93889cf ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xdaceedc3 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xdb619f93 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xdf93b144 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xe2eb64a0 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe7ca98e2 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xe7fd8016 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xea3cf85d ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xebb650c6 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xeca3bd46 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xed491edf ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xf5eeb933 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xf67c5364 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xfb6545d4 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xfbb05f6c ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xfd38d5dd ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xfe707218 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xfe729f4f ieee80211_probereq_get +EXPORT_SYMBOL net/mac802154/mac802154 0x0ef8366b ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x17239b5d ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x651cf683 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x6c924ecb ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x711088f8 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xc3b76499 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xecb8e746 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xf5bf49e2 ieee802154_wake_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0b045032 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x23947180 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4aa4e513 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x577297bf register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x63113b7c ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x660ac131 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7e4bce01 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x998dcbd7 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa76dd3db ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xac33be9b ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb18f7104 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb7718862 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xba2ffeff unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcc81702e ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xde1edc68 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x5489d18b nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x4172d880 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0x41a7635b nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x4784784f __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xac30156a nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xb17cfb2b nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x07310845 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x1a98be05 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x318b53e0 xt_register_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 0x6078013a xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8b98a916 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8edb0d9e xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa04c8ecb xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xcc42a49b xt_find_match +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 0xfc4a3c7f xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x015b7a0d nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x0607c1ac nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x092dc6a1 nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x10a7836a nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x137c0433 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x1c30c467 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x31ca65b9 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x3e6ede7a nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x41b765cb nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7999dd6a nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x80dd95be nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x8aae9230 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xa7056443 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0xacd2e057 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xcb348049 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xd038dd1c nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd5b83380 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xda1c9431 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xdb5fa00e nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe93a04c3 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xfe72bb43 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x057404bc nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x152d010d nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x17459d8e nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x1d3606ba nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x516668cd nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x6d53d7f4 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x6ff7b2dc nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x70495c71 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x72eb5164 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x7542ad57 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7b323a04 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x829b95f5 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8530fddd nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x8bb23f19 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x8ce467ac nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x8dd34cb5 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x97897cd9 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbbfeca62 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0xc0adf173 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0xc3df0ef3 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0xc8d7dbb6 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xcad48f78 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0xdc96d659 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xea4510ee nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xed4e47ef nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xf795f62d nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf864a4c2 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xf8af88a5 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xfd371610 nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x007c4ac7 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x0da4e60e nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x13b0f995 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x211213a2 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x227f7ca1 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x32a472b2 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x39d54df5 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x3a17380f nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x463a53b5 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x6e045a50 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x85408bc9 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x8ca82bb2 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x8d02f666 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x945b9e03 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x9b149e36 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0xa0ced4a3 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xa6037c50 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xb347614a nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xba27079c nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xba7031d5 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xbc4618a0 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xcaf28c4b nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xcee017dd __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0xd2572d38 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xdeb34c85 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc_digital 0x28b34851 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x4437de65 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xb037b191 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xb2d06f80 nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x0593bbb6 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x0a2e06af pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x29588b98 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x2fe5de15 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x547cf146 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x5e93e295 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x7ab41dde phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xec290027 pn_sock_get_port +EXPORT_SYMBOL net/rxrpc/rxrpc 0x11305637 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1ed078c6 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x301b87b7 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3186e8d4 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x44f0e9df key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4ad79a7c rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x57117517 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5a1236a2 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5a88c681 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6d901dd1 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8e365a1a rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8ff9685e rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa55a3e78 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc76ff4de rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xce39cff3 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf49ae822 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfa6f6826 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfee7aa25 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/sctp/sctp 0x85557c46 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x2a55eb54 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x47bf801d gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x924a0095 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x25bcae26 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x6bcb230c xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xc4be26df svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x02d118d4 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x6134ee39 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x8849792d tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x948105c6 tipc_dump_done +EXPORT_SYMBOL net/tls/tls 0x7a2ac083 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x7f7f43d4 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x8e46950c wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x0606de41 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x0ff265c6 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x15d730b0 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x15de1086 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x162e5842 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x17a43564 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x18285f33 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x19eb5c21 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x1b207acc wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1e86078e cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x270655a2 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x285786a7 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x305e8a28 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x345e1c45 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x34877c5c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x34f2c3f5 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3747959c ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x38cb594a ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3c6af3f6 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x3ece0f25 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3f569ae8 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x4762e9d9 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4fee5fd8 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x50a925ef cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x516cc3cd cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x53d3e5b9 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x5495bd26 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x5857dfa8 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5a0dfbea cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x5b09e758 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x5fd15158 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x62c2ed3f cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x62d349bf cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x64a87486 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x66578060 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x67161769 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x67cddd67 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69f8194c ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x6a5cc147 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x6b48ec1d cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6cfddf02 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x7235678c cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x75661fc2 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7bfe0d0f cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x7c0b27f3 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7cbd20ca wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x82385ded cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x863d3e1c cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8aa99245 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x8b24e88f cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x8d9d5031 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x8f191509 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x8f343ec9 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x8fac9cf5 regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x927b6c66 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x92a91e08 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x92bbecc4 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x99607d78 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x9ce867a7 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa10fd591 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xa3dc0812 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa61a4ec8 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa6c4a27c cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xa86757b2 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0xa998f39b cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xa9a4749c cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xac8fd019 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb2818277 cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb284ba55 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb63f4e39 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xbe3c9c9f cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xbe59b95a cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xc1ba0393 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc620bf01 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xc646833b cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0xc6703aed cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xc698cb31 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xd1f9c33f regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xd447fb53 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd5f9e046 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xd79b585c freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xd7f6f362 cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdc99fd00 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0xdf36d4e5 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0xe03bc26f cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xe16d121d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe18f2dee cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xe2bd6fb7 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xe4eeffd2 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xe63c95e8 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe70123c7 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xe9d65a27 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xe9dc1d2f cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0xf0372043 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0xf1119c88 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xf1f7cb72 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xf2e67b94 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/lib80211 0x0c2a8df5 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x1a964040 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x270fdbcf lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6b452b61 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6c5a5ac7 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xfa009e2e lib80211_crypt_info_init +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x0a2a3d69 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x07fc424a snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x101b81e1 snd_seq_create_kernel_client +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 0x55ba75bc 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 0xf4ad2f95 snd_seq_kernel_client_enqueue +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 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 0xdaf3383a snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x656d7c85 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0xb6d2df78 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0cb6d7fc snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x276b2d9c snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x41eb7e17 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x55d2839a snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6f982c55 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x749506e5 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x763244df snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x89bd28b7 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8d04226c snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x90fba6a8 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x922ef76e __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x97a9e621 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x986f4e27 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0xae239ebe snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb46d7dbd snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbd3da044 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc70a2d4a snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc9ffac07 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd38d39d0 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xefaaee66 snd_rawmidi_receive +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 0x80bad403 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 0x7849d785 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 0x3815d329 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3fdf2bc8 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x72e2cbd3 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7e40e22c snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8b2d67a5 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8c22353f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc7b69d64 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd30a02e5 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe495e92f snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x056b006d snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x05aa51a5 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0b68e2a9 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1f0919c9 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x327743a9 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4db92a08 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7556407f snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf3bfeec4 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfbe01f41 snd_vx_create +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0342b7fa cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x107c907d fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x11664b29 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1adecf8f amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x202d972c cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x23358fef iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x27fd27ae amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x305c67c5 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3452f99f fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3efd7d64 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4858d232 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5279e75a avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6a7ea982 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x778eb308 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x831f1eef amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x966e6299 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9e726441 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa2beb554 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa63cf3a4 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbace19d8 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbc926cde amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc23b9c7c cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd20f3b3a cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd2fdf6cb iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd4002974 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd5e51cd4 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdfd9f166 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe13e790b cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf1ceb1ec fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf390672d cmp_connection_check_used +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x7873b2cd snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xe9b5c6fe snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x19c821e4 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x268725f3 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3f704573 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4d9dac21 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x67f15ab2 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7f8e6a4d snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xbe8bb275 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc2f814f4 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x1b7964fe snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x25975957 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x41078685 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xcb1625b9 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x8d53d521 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x982260f0 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2a019e9e snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x41c0ea76 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5de36edb snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x831fa344 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa8706380 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd8a2b6df snd_i2c_readbytes +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0a82e5d0 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x342342e4 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x392c7c3e snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a01c472 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3c3d1435 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x407bdff6 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6f324eea snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x946c7421 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x95a237ad snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa470e2f6 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb883a5c6 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc826b60a snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd8f970fe snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd92f9b97 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xddcd733b snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdef084d0 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdfdc738f snd_ac97_bus +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x467ba1b9 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x790dfc43 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7ec41a34 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0478379a oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x13bea5e0 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6507d892 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x66aa5f5a oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7369a53c oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x81752198 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8d925efe oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9c9fc952 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb78793d1 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbf66b566 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc3dfd189 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc6b8cfff oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xde9deb4a oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdf06f0ab oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe9497aca oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xea9b864e oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf1e9a127 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf3f9c6f8 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf479b88f oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf4ac7acb oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf674b574 oxygen_pci_shutdown +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x17c73ee3 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x8e300226 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x26933148 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xa9831a51 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x13a2ef82 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa818b74d aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xaa75e9cb aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/fsl/snd-soc-fsl-utils 0xf43a0984 fsl_asoc_get_dma_channel +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x5f341056 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x03e9e89b snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0646fe77 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0e5b9754 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x15089935 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1b0d6fcd snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1f63a9a2 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2adcc585 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x33accbbb snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x378ef10e snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39bf81be sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3b1c18ef snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3d80f6ff snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4115ca05 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x426ddd9b snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4708b3ec snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x483ff8b1 snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x51960f3a snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x520fddc2 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x522dcc0f snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x572c791c snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5791a994 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5f91d709 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x659c7792 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x72656b0b snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x73258964 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x73760c80 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x75b33878 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7b84c9ab snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7cbd85d1 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7ee4822f snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x85ccc19c sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x88e4d69f snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8dba4d19 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8e3620ef snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x922bd375 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9494f2bd snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa5c3f347 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa8fa5156 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa9bea23a sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaaa4c72d snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xad055b2c sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbaede0eb snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbecce4df snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbf03d980 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc63d9967 snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xca49aaca sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd1975b00 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd206b8a7 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd611285e sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd927eca8 sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xee38cad6 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf6ddca17 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfd81156d sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xff2c99e6 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xff3dfc2f snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x15634905 __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 0x001ee95a imx_ssi_fiq_base +EXPORT_SYMBOL vmlinux 0x00260e1c read_cache_page +EXPORT_SYMBOL vmlinux 0x00370eb4 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x0048f2fe ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x005060cc param_ops_byte +EXPORT_SYMBOL vmlinux 0x005ab8a4 dev_activate +EXPORT_SYMBOL vmlinux 0x0075613d tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x00875e0d set_security_override +EXPORT_SYMBOL vmlinux 0x008cd8c1 kmap_to_page +EXPORT_SYMBOL vmlinux 0x008f07fe nla_append +EXPORT_SYMBOL vmlinux 0x00a2cf11 netif_napi_del +EXPORT_SYMBOL vmlinux 0x00b237d9 soft_cursor +EXPORT_SYMBOL vmlinux 0x00b257a7 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00c1aaf5 dev_addr_add +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00dc0f19 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0115ff8e seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x011a9e53 elf_hwcap2 +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x015329f8 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x016569ba bdi_register +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 0x018452ba scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x019794a8 __find_get_block +EXPORT_SYMBOL vmlinux 0x01984cc8 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01d322d0 find_lock_entry +EXPORT_SYMBOL vmlinux 0x01d72ca9 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x01e769d6 __next_node_in +EXPORT_SYMBOL vmlinux 0x01e76ef0 sock_pfree +EXPORT_SYMBOL vmlinux 0x01eef58b blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x0203c97b get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x020e837c lock_sock_fast +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x0247774a pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x025b9b84 proc_remove +EXPORT_SYMBOL vmlinux 0x02656013 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027ef9e5 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029dfb3a da903x_query_status +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02df50b0 jiffies +EXPORT_SYMBOL vmlinux 0x02e2ab09 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f07f8f of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x02f83b4d current_time +EXPORT_SYMBOL vmlinux 0x02fba5a8 key_move +EXPORT_SYMBOL vmlinux 0x0329e891 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x032f4de1 snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033dbfe4 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x03500804 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x0354935e phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036951c8 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x0380fbd7 padata_free_shell +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039e099d drop_nlink +EXPORT_SYMBOL vmlinux 0x03a21a00 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x03ba39b0 v7_flush_user_cache_all +EXPORT_SYMBOL vmlinux 0x03d86f0b md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x03e92143 bio_free_pages +EXPORT_SYMBOL vmlinux 0x03ec839e tcp_seq_start +EXPORT_SYMBOL vmlinux 0x03f97c77 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x03fba701 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0406710b snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x041747fe sk_mc_loop +EXPORT_SYMBOL vmlinux 0x042685d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x04409207 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x04426f14 mem_section +EXPORT_SYMBOL vmlinux 0x0443344d unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044fb722 dev_base_lock +EXPORT_SYMBOL vmlinux 0x045c0f23 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x04a85711 done_path_create +EXPORT_SYMBOL vmlinux 0x04ae0988 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x04c6b4c3 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04cf7890 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x04da236a __register_nls +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04fb1831 make_kprojid +EXPORT_SYMBOL vmlinux 0x0508088e ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x0510ba23 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x051b828b mpage_writepage +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x05521a1b __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x0562bbfa mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x056ef810 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x059113cf of_node_name_eq +EXPORT_SYMBOL vmlinux 0x05a85b3a inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x05b0caa0 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x05b69360 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x05b8802e mmc_of_parse +EXPORT_SYMBOL vmlinux 0x05ca18a2 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x05e13eb9 ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x05e48d97 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x05eb4860 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x05efe1bd snd_timer_notify +EXPORT_SYMBOL vmlinux 0x05f074c8 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x05f5c6e5 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x05fc18dd phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0641b20f sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x0646d4df snd_jack_set_key +EXPORT_SYMBOL vmlinux 0x06506cf7 drop_super +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x06724b38 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x067d84a7 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x067ea780 mutex_unlock +EXPORT_SYMBOL vmlinux 0x06a64791 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x06a84bba lease_modify +EXPORT_SYMBOL vmlinux 0x06c21e5b insert_inode_locked +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06c9ccc7 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x06d727f8 devm_release_resource +EXPORT_SYMBOL vmlinux 0x06ea0268 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x06f7924e param_get_uint +EXPORT_SYMBOL vmlinux 0x0704b6b5 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x070a8b46 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x072a8f8d __set_fiq_regs +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x073b2d06 input_grab_device +EXPORT_SYMBOL vmlinux 0x074a56af kernel_listen +EXPORT_SYMBOL vmlinux 0x074fee01 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x07598945 noop_fsync +EXPORT_SYMBOL vmlinux 0x075a2c33 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x0767c710 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x07765ca4 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x077af67c init_opal_dev +EXPORT_SYMBOL vmlinux 0x077d73fc inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x078bbe0a of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c10df2 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d8dc77 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x07e2c085 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x07e63d01 param_set_ushort +EXPORT_SYMBOL vmlinux 0x07e9bbbd __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x07ed1300 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x07f9c30a unregister_console +EXPORT_SYMBOL vmlinux 0x080574e7 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x081685e8 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082f2136 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x0832a28d release_sock +EXPORT_SYMBOL vmlinux 0x08387308 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x086253a7 ioremap_cache +EXPORT_SYMBOL vmlinux 0x08690bbf __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x086b6179 vfs_get_link +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08916eae qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x0898551f page_mapping +EXPORT_SYMBOL vmlinux 0x089b9ab7 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x08a25231 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x08c4fd32 omap_disable_dma_irq +EXPORT_SYMBOL vmlinux 0x08cc8942 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x08dac8f8 secpath_set +EXPORT_SYMBOL vmlinux 0x08dc5d71 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x08e1671f inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08ea350b cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x091524ee netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x091d4af4 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x092106db scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x093e6a69 snd_device_free +EXPORT_SYMBOL vmlinux 0x09678bb8 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x096954dd pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x096afe64 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x09759e88 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x0976cf38 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09c14fca flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x09c1b583 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x0a0da906 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x0a20d621 ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a3445b1 inc_nlink +EXPORT_SYMBOL vmlinux 0x0a429af6 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x0a42e7fd get_tree_nodev +EXPORT_SYMBOL vmlinux 0x0a4884da __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x0a6b3d49 vfs_getattr +EXPORT_SYMBOL vmlinux 0x0a8c1658 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x0a8cc05f get_super +EXPORT_SYMBOL vmlinux 0x0a95f872 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x0a9fc081 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x0aa09d79 omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aa4e755 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x0aa9a6d0 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0adb73a7 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x0ade2c9f xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x0ae547ed xxh64_update +EXPORT_SYMBOL vmlinux 0x0af46ddd lookup_bdev +EXPORT_SYMBOL vmlinux 0x0afc1594 fasync_helper +EXPORT_SYMBOL vmlinux 0x0b09b124 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x0b0a0c3c eth_header +EXPORT_SYMBOL vmlinux 0x0b0cff33 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x0b134b0a flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x0b177926 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x0b1a729e scsi_remove_target +EXPORT_SYMBOL vmlinux 0x0b1b939e kmemdup +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2473d1 seq_write +EXPORT_SYMBOL vmlinux 0x0b251515 dump_skip +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b2d45c1 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x0b40d7cf _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0b423410 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b4c7cce unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x0b617520 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x0b709411 omap_vrfb_release_ctx +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b771881 get_cached_acl +EXPORT_SYMBOL vmlinux 0x0b7e8901 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x0b8643cc tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x0b86b7aa pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x0b89f4b5 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x0b9e2647 tegra_dfll_register +EXPORT_SYMBOL vmlinux 0x0bb8d4f3 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bde558d jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x0be5e7a0 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x0be7e9e6 mmc_request_done +EXPORT_SYMBOL vmlinux 0x0bed65e2 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x0c036e36 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x0c047820 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x0c102890 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x0c109be5 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x0c1543c2 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x0c1afc0e vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c29ec25 send_sig_info +EXPORT_SYMBOL vmlinux 0x0c50e5f7 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x0c52d816 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x0c61c366 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x0c68ee9b dquot_destroy +EXPORT_SYMBOL vmlinux 0x0c8d4828 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x0ca2c2c7 param_get_charp +EXPORT_SYMBOL vmlinux 0x0ca3a7a0 serio_reconnect +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cb5eae1 vme_free_consistent +EXPORT_SYMBOL vmlinux 0x0cb61f58 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x0cda6950 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x0cdaca62 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ce3bf90 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x0cfdd57a pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d2ac21a phy_start +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d4b5143 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d6b3c17 set_create_files_as +EXPORT_SYMBOL vmlinux 0x0d800fa2 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x0d95a358 phy_suspend +EXPORT_SYMBOL vmlinux 0x0dba5e9a radix_tree_delete +EXPORT_SYMBOL vmlinux 0x0dc1a78c bin2hex +EXPORT_SYMBOL vmlinux 0x0dc1cc92 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x0dd4bc75 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x0defcec9 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0df039ec mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x0e012575 inode_init_once +EXPORT_SYMBOL vmlinux 0x0e121356 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c8804 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0e485ff1 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x0e61dce3 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x0e68baa4 iterate_fd +EXPORT_SYMBOL vmlinux 0x0e79e678 lookup_one_len +EXPORT_SYMBOL vmlinux 0x0e86b54d ip_options_compile +EXPORT_SYMBOL vmlinux 0x0e97691f inode_init_owner +EXPORT_SYMBOL vmlinux 0x0e98275b d_delete +EXPORT_SYMBOL vmlinux 0x0ea49c8b security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x0ec1b2fe dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0eea0399 strscpy +EXPORT_SYMBOL vmlinux 0x0eea0d84 __check_sticky +EXPORT_SYMBOL vmlinux 0x0f06957f allocate_resource +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f23aa18 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x0f343bb5 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x0f62e7e9 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x0f7fe6b9 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x0f822280 __devm_request_region +EXPORT_SYMBOL vmlinux 0x0f859fb0 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8b7d8d mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x0f997a2e pci_enable_msi +EXPORT_SYMBOL vmlinux 0x0fae13a1 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc1c73a unlock_rename +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fe6fd5e pci_find_bus +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff73940 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10018cb0 __pv_offset +EXPORT_SYMBOL vmlinux 0x1004a0e5 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x10171e35 of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x101b8d1d get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x10209145 __scm_send +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102527c7 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x10425501 tso_build_data +EXPORT_SYMBOL vmlinux 0x1051ad6d __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x1052df6c padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x106f13ab crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10739f1e swake_up_locked +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x1085d5ee down_read_killable +EXPORT_SYMBOL vmlinux 0x10879253 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x10973ea9 cpu_user +EXPORT_SYMBOL vmlinux 0x10b33f61 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c65bf4 snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10f8772b __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x10fc6563 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x1103ae1a unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110ce87e eth_type_trans +EXPORT_SYMBOL vmlinux 0x113d6127 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x11491535 pci_dev_get +EXPORT_SYMBOL vmlinux 0x115c84b1 param_set_ullong +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11cfcf20 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e271d1 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f65195 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x12098cfb md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x12138a3f dev_open +EXPORT_SYMBOL vmlinux 0x122132e5 param_ops_bint +EXPORT_SYMBOL vmlinux 0x12296932 __frontswap_test +EXPORT_SYMBOL vmlinux 0x1230908e security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x1233385e __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x1233f161 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x12576566 put_fs_context +EXPORT_SYMBOL vmlinux 0x1257b50b pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x1265fcc2 __close_fd +EXPORT_SYMBOL vmlinux 0x126f980a tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x1271bbc0 __do_once_done +EXPORT_SYMBOL vmlinux 0x12870137 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x12877cb3 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12a51a75 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x12a5744d inet_release +EXPORT_SYMBOL vmlinux 0x12a89d72 fb_get_mode +EXPORT_SYMBOL vmlinux 0x12b6de49 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x12b94547 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12f19edf __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x13073f97 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x1319fd1a crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x131cd91b neigh_connected_output +EXPORT_SYMBOL vmlinux 0x13208cbf __sock_create +EXPORT_SYMBOL vmlinux 0x1321ceeb rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x1359c4fc netif_napi_add +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x139666b3 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x139ce475 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x13bab57d __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d24f16 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x13d4abca ptp_clock_index +EXPORT_SYMBOL vmlinux 0x13d7aaed __lock_page +EXPORT_SYMBOL vmlinux 0x13db5e92 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140cef8e cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x14130046 kthread_bind +EXPORT_SYMBOL vmlinux 0x141338c3 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x1418f3c3 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x1431f56f __register_binfmt +EXPORT_SYMBOL vmlinux 0x1435f291 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14635bc0 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x14662c2a kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x14719bed sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x14946a8e simple_getattr +EXPORT_SYMBOL vmlinux 0x14a07a17 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x14afda08 get_phy_device +EXPORT_SYMBOL vmlinux 0x14b7293e inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x14d007cb pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14f5e28d dev_addr_init +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x151a833a textsearch_prepare +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153f5fe1 phy_device_register +EXPORT_SYMBOL vmlinux 0x1545a11f scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1552ba11 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x155f16c7 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x15640860 inet_put_port +EXPORT_SYMBOL vmlinux 0x156900f5 dm_io +EXPORT_SYMBOL vmlinux 0x1574cb50 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x157d314b __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x15b1eb3c vme_register_driver +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c742fc tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x15d433c0 ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x15e7cbd0 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x15ffa7df init_net +EXPORT_SYMBOL vmlinux 0x160349e7 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x160bc2a6 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x16350f04 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x163aac97 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x16525cc4 xa_find +EXPORT_SYMBOL vmlinux 0x165b210d kthread_blkcg +EXPORT_SYMBOL vmlinux 0x166da311 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e5c88e lock_page_memcg +EXPORT_SYMBOL vmlinux 0x16f2fc4c __register_chrdev +EXPORT_SYMBOL vmlinux 0x16fd895b jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x170175a1 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x170ee68c sock_no_mmap +EXPORT_SYMBOL vmlinux 0x171f7937 ppp_input_error +EXPORT_SYMBOL vmlinux 0x1738c19e _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x1759eee7 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x1760a520 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x1769f3bb pci_clear_master +EXPORT_SYMBOL vmlinux 0x177dc10a notify_change +EXPORT_SYMBOL vmlinux 0x17887935 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x17acda66 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x17bde0ec inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x17d6c1e6 pipe_unlock +EXPORT_SYMBOL vmlinux 0x17e28b18 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x17f367f8 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x181339cd ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x1826fd7a blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x182e2f19 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x1835c0e1 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x184206e9 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x1849690a snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0x1849b12b sock_alloc_file +EXPORT_SYMBOL vmlinux 0x185c32cf sgl_free +EXPORT_SYMBOL vmlinux 0x186cfbfe snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x187017ae cdev_device_add +EXPORT_SYMBOL vmlinux 0x1874b05b hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x187972a7 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x189c5980 arm_copy_to_user +EXPORT_SYMBOL vmlinux 0x18c43b96 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x18cf8966 ac97_bus_type +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x1900f8fd netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x1909436a snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0x1911daee of_root +EXPORT_SYMBOL vmlinux 0x192dde44 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x193edb17 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x19473a68 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x195c2f7a fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x195c8596 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x1972ed64 arp_create +EXPORT_SYMBOL vmlinux 0x19751b40 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x19846487 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b4960d __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d69f0f get_tree_single +EXPORT_SYMBOL vmlinux 0x19d98f48 seq_open_private +EXPORT_SYMBOL vmlinux 0x19edb426 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x19f25da8 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x1a20c540 omap_vrfb_supported +EXPORT_SYMBOL vmlinux 0x1a21d691 __ksize +EXPORT_SYMBOL vmlinux 0x1a28f5df xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x1a47e63c ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x1a492ec3 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1a4eb594 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x1a51c881 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x1a5241de textsearch_unregister +EXPORT_SYMBOL vmlinux 0x1a5865d0 pps_event +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7bc9ef xxh32 +EXPORT_SYMBOL vmlinux 0x1a963538 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1aa86d18 rdma_dim +EXPORT_SYMBOL vmlinux 0x1acb7dd2 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1ad385d4 ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x1aded990 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0x1af8d912 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x1af9ff49 rproc_alloc +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b07a7e0 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x1b11e70d xfrm_init_state +EXPORT_SYMBOL vmlinux 0x1b1d97f6 passthru_features_check +EXPORT_SYMBOL vmlinux 0x1b25f187 __xa_store +EXPORT_SYMBOL vmlinux 0x1b26b77e devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x1b3c0cad netdev_features_change +EXPORT_SYMBOL vmlinux 0x1b438f7d param_ops_invbool +EXPORT_SYMBOL vmlinux 0x1b4a8c3c devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x1b58a958 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b7075a5 md_register_thread +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7cbd56 dcache_readdir +EXPORT_SYMBOL vmlinux 0x1bb45632 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1bdedd43 setattr_prepare +EXPORT_SYMBOL vmlinux 0x1be1c618 dev_mc_del +EXPORT_SYMBOL vmlinux 0x1be3f21a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x1be43b18 generic_permission +EXPORT_SYMBOL vmlinux 0x1be5a1fe elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x1c00da65 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x1c06c1e3 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x1c0c1a58 kernel_write +EXPORT_SYMBOL vmlinux 0x1c33aa61 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x1c3cdfcc dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x1c594f99 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x1c5a389d nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c777c5c dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x1c79e765 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x1c808029 ip_frag_next +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cd24d4a pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x1cdd234b cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x1ce4b14a pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x1cebe408 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x1cf3ad10 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d20b274 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x1d23230b dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x1d2cf140 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d2f431b ppp_input +EXPORT_SYMBOL vmlinux 0x1d3a3ad2 kunmap_high +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d63a409 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x1d6e8469 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x1d9688d6 sk_dst_check +EXPORT_SYMBOL vmlinux 0x1d981661 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x1d98e374 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x1da274a7 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x1da86f35 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de2867f tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x1de3f19a ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1e016695 input_release_device +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0931a8 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e4014af vif_device_init +EXPORT_SYMBOL vmlinux 0x1e48701a mfd_add_devices +EXPORT_SYMBOL vmlinux 0x1e4f9719 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x1e5642b5 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x1e5eee14 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x1e617241 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e7b8a3e neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x1e806ccc __sb_start_write +EXPORT_SYMBOL vmlinux 0x1e88189f netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x1e899c68 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x1e96f43d __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea54e18 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x1eae2a7a tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x1eb14a37 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x1eb433ad qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x1eb64646 div64_s64 +EXPORT_SYMBOL vmlinux 0x1ec72f5e dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x1eda7e00 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ee4e1e4 sock_gettstamp +EXPORT_SYMBOL vmlinux 0x1f06fd98 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x1f078a15 d_add +EXPORT_SYMBOL vmlinux 0x1f11b6e7 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x1f197e56 cdrom_open +EXPORT_SYMBOL vmlinux 0x1f24498b t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x1f4eb4e9 __quota_error +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f86a180 cqhci_deactivate +EXPORT_SYMBOL vmlinux 0x1f879e77 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x1f8d463d configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x1fa0f62e ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x1fa20dab d_instantiate_new +EXPORT_SYMBOL vmlinux 0x1fa526cc add_random_ready_callback +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fccd381 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdb575e inet_addr_type +EXPORT_SYMBOL vmlinux 0x1fe4f0d8 get_mem_type +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +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 0x201578a7 __pagevec_release +EXPORT_SYMBOL vmlinux 0x2025f875 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x20297ab7 xfrm_state_free +EXPORT_SYMBOL vmlinux 0x204911f8 of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x20721ebf dma_cache_sync +EXPORT_SYMBOL vmlinux 0x2072b8b4 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20846110 down_killable +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c37da5 snd_timer_start +EXPORT_SYMBOL vmlinux 0x20d3d573 param_get_invbool +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20dc3b50 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x20e1cd84 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0x20ec4c8a pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x20ef1e64 request_key_rcu +EXPORT_SYMBOL vmlinux 0x20f29350 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x20fe798a timestamp_truncate +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x21064b50 dev_get_iflink +EXPORT_SYMBOL vmlinux 0x210fd021 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x21110dbf mmioset +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x21141d68 km_policy_expired +EXPORT_SYMBOL vmlinux 0x2116ed8c netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x211ee9bc qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x212081aa jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x212133db xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0x212f473c netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x213a80f4 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21474490 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x2147973f elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x214b21d0 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x21674623 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x216d759a mmiocpy +EXPORT_SYMBOL vmlinux 0x2186617d mr_table_dump +EXPORT_SYMBOL vmlinux 0x218c6960 phy_loopback +EXPORT_SYMBOL vmlinux 0x21994392 get_acl +EXPORT_SYMBOL vmlinux 0x219c578b unregister_quota_format +EXPORT_SYMBOL vmlinux 0x219fc468 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x21a3b508 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x21a3f9a6 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x21a99ad8 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be258c __nla_reserve +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21d462ab t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x21dbff6e register_gifconf +EXPORT_SYMBOL vmlinux 0x21dc8dcd elv_rb_find +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21e891a4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x21ee48a6 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x21f76fb6 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x21f7eb8f claim_fiq +EXPORT_SYMBOL vmlinux 0x21fa74cb nobh_writepage +EXPORT_SYMBOL vmlinux 0x220a046d __page_symlink +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x22166eb5 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2232edd5 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x223fc752 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x2262b465 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x2270485f __break_lease +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2277373f kill_pgrp +EXPORT_SYMBOL vmlinux 0x2277d558 mx53_revision +EXPORT_SYMBOL vmlinux 0x227a8871 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x22881b76 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x2290555d skb_tx_error +EXPORT_SYMBOL vmlinux 0x22a0832b tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22edecc4 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x22f0354f fget_raw +EXPORT_SYMBOL vmlinux 0x2300883f simple_map_init +EXPORT_SYMBOL vmlinux 0x231d835c block_write_end +EXPORT_SYMBOL vmlinux 0x233f0d33 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x234204ec key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x235e10cc eth_header_parse +EXPORT_SYMBOL vmlinux 0x23619cff jiffies_64 +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23a27792 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x23a283fa ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x23aaecdc tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x23b58ddc tso_start +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bbdeed _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x23bf44ca security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x23cef842 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x23e99b7e config_item_put +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f9c5ce xps_needed +EXPORT_SYMBOL vmlinux 0x23fc3d29 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2400d369 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x240b08ba of_find_backlight +EXPORT_SYMBOL vmlinux 0x2413c27b of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244764d8 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x244c769b md_done_sync +EXPORT_SYMBOL vmlinux 0x2458e021 single_open +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246790df idr_for_each +EXPORT_SYMBOL vmlinux 0x246ce3ad dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x248aef50 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24ab7fdf inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x24b528ca genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x24b97378 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x24cdab53 set_blocksize +EXPORT_SYMBOL vmlinux 0x24cea883 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24dad062 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x24f14ce2 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x24faeadb i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x250a2d3e mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x2518cebe inet_gro_receive +EXPORT_SYMBOL vmlinux 0x25201978 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252cfc48 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0x25454cf8 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x254bd757 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x255d7a3e netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x2566a7c0 config_item_set_name +EXPORT_SYMBOL vmlinux 0x2569373a snd_jack_new +EXPORT_SYMBOL vmlinux 0x256d2fdc filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25719edf xp_free +EXPORT_SYMBOL vmlinux 0x25788935 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x257ae45c dma_fence_free +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x2596e2e4 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x25aa23a0 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x25b89d82 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x25c00a27 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x25c17b61 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x25d1c556 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f57eaf snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0x26022395 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x26310c2c scsi_scan_host +EXPORT_SYMBOL vmlinux 0x263b54b7 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x266013ce tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x26700958 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x26846dc8 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x2690e6c1 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x26b2e7b7 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26bfa407 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x26d771be snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x26dbbc8f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x26df921c proc_symlink +EXPORT_SYMBOL vmlinux 0x26e76a0b inet_stream_ops +EXPORT_SYMBOL vmlinux 0x270298ba blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x270ac400 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x271cdc9f bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x27294e7d set_user_nice +EXPORT_SYMBOL vmlinux 0x272b4bb1 mdio_device_create +EXPORT_SYMBOL vmlinux 0x27329847 d_exact_alias +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x273d475f tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x27494984 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x274ffa52 inet_del_offload +EXPORT_SYMBOL vmlinux 0x275016c3 skb_push +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27720b83 input_match_device_id +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278e4251 ata_print_version +EXPORT_SYMBOL vmlinux 0x27aaf7dd __tcf_idr_release +EXPORT_SYMBOL vmlinux 0x27b13348 inet6_protos +EXPORT_SYMBOL vmlinux 0x27b70b0e tegra_ivc_init +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c68705 node_states +EXPORT_SYMBOL vmlinux 0x27e2c0ae tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0x28098053 genphy_suspend +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x286745b8 neigh_lookup +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2878e15a idr_destroy +EXPORT_SYMBOL vmlinux 0x287d9cde forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x2881ff3b pci_free_irq +EXPORT_SYMBOL vmlinux 0x2883209e eth_gro_receive +EXPORT_SYMBOL vmlinux 0x2885dbd3 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x288db4c2 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x28936f7a pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x28a23c19 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x28af2ad4 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x28bf4916 tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x28c82b9b netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x28caa39f rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x28d15a3c km_policy_notify +EXPORT_SYMBOL vmlinux 0x28da794a serio_bus +EXPORT_SYMBOL vmlinux 0x28e80c37 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x28f4abac sget +EXPORT_SYMBOL vmlinux 0x28fdae21 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x28ff3b06 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x28ff5ce8 netlink_unicast +EXPORT_SYMBOL vmlinux 0x293d9328 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x294967bc udp6_set_csum +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x29519c7f blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x29555335 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x2962bf35 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x29773325 param_ops_charp +EXPORT_SYMBOL vmlinux 0x297ede3e mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x29965e86 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x29a47fe9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x29ce01be dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x29d9f26e cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x29f56eb9 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x29fc4ae9 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x2a0fd0d0 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x2a127eff inet_add_offload +EXPORT_SYMBOL vmlinux 0x2a1b0cf9 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a3e8523 of_phy_attach +EXPORT_SYMBOL vmlinux 0x2a44f1e2 vfs_mknod +EXPORT_SYMBOL vmlinux 0x2a526f6c __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x2a776729 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x2a962b12 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ac47d43 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x2ad4a036 phy_stop +EXPORT_SYMBOL vmlinux 0x2ad97158 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x2adfdede dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x2b021798 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x2b07b450 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x2b414c80 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x2b4c11c4 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x2b54ad2e dup_iter +EXPORT_SYMBOL vmlinux 0x2b5ab97d _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x2b5f2567 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6ae21e pci_resize_resource +EXPORT_SYMBOL vmlinux 0x2b98bcdb vme_irq_generate +EXPORT_SYMBOL vmlinux 0x2b99722a __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bab5014 bio_add_page +EXPORT_SYMBOL vmlinux 0x2bb33077 vscnprintf +EXPORT_SYMBOL vmlinux 0x2bb937c4 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x2bcb4673 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2bee730a md_flush_request +EXPORT_SYMBOL vmlinux 0x2bff5887 xa_destroy +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c172161 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x2c19dfb9 md_integrity_register +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c296d29 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x2c30f386 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x2c313ec4 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c5336f9 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x2c5f7214 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x2c659b86 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x2c66aacd blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x2c6b6974 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x2c6b73e3 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x2c6daacc flush_kernel_dcache_page +EXPORT_SYMBOL vmlinux 0x2c717abc stream_open +EXPORT_SYMBOL vmlinux 0x2c7c8e9a pcibios_min_mem +EXPORT_SYMBOL vmlinux 0x2c81ec75 __irq_regs +EXPORT_SYMBOL vmlinux 0x2c96f4f6 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x2c9d3756 vsnprintf +EXPORT_SYMBOL vmlinux 0x2cbd58ee dev_get_stats +EXPORT_SYMBOL vmlinux 0x2cc6d3ca skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x2cc6e558 md_update_sb +EXPORT_SYMBOL vmlinux 0x2cdfb96e tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x2ce01bb7 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x2ce5a5cb rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x2cf4726b xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x2cfbdf9b pci_pme_active +EXPORT_SYMBOL vmlinux 0x2cfbff6d pagecache_get_page +EXPORT_SYMBOL vmlinux 0x2cfde9a2 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x2d132df0 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d24dc72 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x2d2516e2 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2d2ae8be bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x2d2d63a9 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2d2d89a1 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x2d2dbc8c devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d324237 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d52d1e6 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x2d648c13 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x2d6fcc06 __kmalloc +EXPORT_SYMBOL vmlinux 0x2d71dcd4 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x2d8a3618 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2d9b0ce5 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x2da81bff _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x2dc8749f of_node_put +EXPORT_SYMBOL vmlinux 0x2dc9a96f blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x2dccc9f4 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x2de36ea5 d_make_root +EXPORT_SYMBOL vmlinux 0x2dec67cd _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x2deffcf1 sg_miter_start +EXPORT_SYMBOL vmlinux 0x2df2b51c ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x2e1471b0 __invalidate_device +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e269401 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x2e272a75 qdisc_put +EXPORT_SYMBOL vmlinux 0x2e385ece mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x2e39264f i2c_del_driver +EXPORT_SYMBOL vmlinux 0x2e3c4b0b ip6_frag_init +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e465876 dst_alloc +EXPORT_SYMBOL vmlinux 0x2e48c0ca register_md_personality +EXPORT_SYMBOL vmlinux 0x2e4b5386 mr_dump +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e61e3e7 amba_device_register +EXPORT_SYMBOL vmlinux 0x2e9137ec xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x2e931245 pci_disable_device +EXPORT_SYMBOL vmlinux 0x2ea7f64a seq_read_iter +EXPORT_SYMBOL vmlinux 0x2eacbe22 ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2eb9af09 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x2ebdcbc7 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x2ec1ff6b xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x2ec419ce kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ed4ed85 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x2ef8841e register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x2efc4c82 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x2efdd468 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f1b0d62 ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f2f4ba1 serio_open +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f38296a scsi_host_get +EXPORT_SYMBOL vmlinux 0x2f3a46d7 genl_register_family +EXPORT_SYMBOL vmlinux 0x2f50cbf5 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x2f58c94b kernel_param_lock +EXPORT_SYMBOL vmlinux 0x2f5b0fdb gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2f5dd51b phy_get_pause +EXPORT_SYMBOL vmlinux 0x2f636a29 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x2f6ea6d2 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x2f7c3683 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x2f8128be cont_write_begin +EXPORT_SYMBOL vmlinux 0x2f853718 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x2fa43da6 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x2fb08b85 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc9ed4e devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5182f devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x2ffc1d18 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x300643b0 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x3007dbfd vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x30096ba9 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x301d8aad iterate_supers_type +EXPORT_SYMBOL vmlinux 0x301e9a45 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x30275bfb __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x304784cc flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x306305b4 audit_log +EXPORT_SYMBOL vmlinux 0x306b46eb __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x306c69ff phy_device_remove +EXPORT_SYMBOL vmlinux 0x30745185 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x307b7a51 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x307b99eb __getblk_gfp +EXPORT_SYMBOL vmlinux 0x307ba4de put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x309f6e54 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30d9a471 gen_pool_create +EXPORT_SYMBOL vmlinux 0x30e0be76 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x30e11a72 release_and_free_resource +EXPORT_SYMBOL vmlinux 0x30e14a24 phy_validate_pause +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ee50eb get_thermal_instance +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310c43c0 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x314b20c8 scnprintf +EXPORT_SYMBOL vmlinux 0x3162d981 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x3178ca75 pci_choose_state +EXPORT_SYMBOL vmlinux 0x31891e4c utf8nagemin +EXPORT_SYMBOL vmlinux 0x3191fcf9 snd_power_wait +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31a5b4b6 free_task +EXPORT_SYMBOL vmlinux 0x31b0ed16 peernet2id +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31c1831d bio_uninit +EXPORT_SYMBOL vmlinux 0x31d27d7a tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x31d3b7fb devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x31dc2088 __skb_checksum +EXPORT_SYMBOL vmlinux 0x31eebee1 sync_blockdev +EXPORT_SYMBOL vmlinux 0x31eed7b5 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31f48381 bdi_alloc +EXPORT_SYMBOL vmlinux 0x32122c9b __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x322611e1 inet6_bind +EXPORT_SYMBOL vmlinux 0x322764e1 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x3231d129 register_key_type +EXPORT_SYMBOL vmlinux 0x3234d46b crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x32430023 _totalhigh_pages +EXPORT_SYMBOL vmlinux 0x325210e0 simple_unlink +EXPORT_SYMBOL vmlinux 0x32570137 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x32585a8a jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x32679d31 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3280f148 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x3281fb74 ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x329960af bio_endio +EXPORT_SYMBOL vmlinux 0x329be5e8 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32df157e neigh_parms_release +EXPORT_SYMBOL vmlinux 0x3304f1c3 _dev_crit +EXPORT_SYMBOL vmlinux 0x330ec86f filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x33212894 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x3325f2af jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x339cb12d elm_decode_bch_error_page +EXPORT_SYMBOL vmlinux 0x339cb9ed proc_set_user +EXPORT_SYMBOL vmlinux 0x33b5b302 nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x33c09fde textsearch_destroy +EXPORT_SYMBOL vmlinux 0x33c3b82a netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33ffb7b8 edac_mc_find +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x342d85b6 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x344cc759 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x344d90e5 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x346408cd iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x346c546d sk_net_capable +EXPORT_SYMBOL vmlinux 0x34711987 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x347a6445 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x34909698 simple_get_link +EXPORT_SYMBOL vmlinux 0x34942d8b seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x349b4277 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a04d71 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x34bc7a1f tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x34c068dd ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x34d1b2f8 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34ffb5d0 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x35037449 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x350aece7 nand_scan_with_ids +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x352c05d9 release_resource +EXPORT_SYMBOL vmlinux 0x353393e4 dev_uc_init +EXPORT_SYMBOL vmlinux 0x3539c265 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x354364de iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x3545701d ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0x35575566 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x3560e651 kmemdup_nul +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x3565e9f6 seq_vprintf +EXPORT_SYMBOL vmlinux 0x35696cb2 hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x356d3176 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x3582d8a5 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x3597020a cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35bdc817 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0x35cf8d25 serio_interrupt +EXPORT_SYMBOL vmlinux 0x35d912dd zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x35db40bb setattr_copy +EXPORT_SYMBOL vmlinux 0x35ea78f5 atomic_io_modify_relaxed +EXPORT_SYMBOL vmlinux 0x35f47969 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x3602b40c phy_aneg_done +EXPORT_SYMBOL vmlinux 0x3607e1fe __seq_open_private +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x36176153 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0x361e13f9 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x362179fc phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x36522489 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x36588e6a tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x366312d2 snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x36702248 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x36799ec2 param_set_charp +EXPORT_SYMBOL vmlinux 0x367be2de skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x367fc689 bio_devname +EXPORT_SYMBOL vmlinux 0x3690c47a padata_start +EXPORT_SYMBOL vmlinux 0x369a2bcb __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x36b0c352 dev_mc_init +EXPORT_SYMBOL vmlinux 0x36b9b5c4 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x36bf00c6 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x36ceec24 config_group_find_item +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36db52a3 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x36eea33a dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x36fdfd37 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x370d20b8 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x3719b385 console_stop +EXPORT_SYMBOL vmlinux 0x372cc474 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0x3743ffeb ppp_channel_index +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3745505d from_kgid +EXPORT_SYMBOL vmlinux 0x3745e741 inet_ioctl +EXPORT_SYMBOL vmlinux 0x374b47eb ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3768720a snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0x377a4168 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x37843528 pci_request_irq +EXPORT_SYMBOL vmlinux 0x3793dfd5 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37adb1e9 clear_nlink +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c5022b ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e296a2 rproc_free +EXPORT_SYMBOL vmlinux 0x37e7e8e5 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x37eb6410 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x3807430c param_get_string +EXPORT_SYMBOL vmlinux 0x380c94ea __d_drop +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38224bc7 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x382bf17a blk_rq_init +EXPORT_SYMBOL vmlinux 0x382da836 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x3830a467 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x3842b3a6 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x386a2ca3 d_drop +EXPORT_SYMBOL vmlinux 0x386d9ce9 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x387ea9c8 blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3886fd3b bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x388fd906 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389acf0c gpmc_configure +EXPORT_SYMBOL vmlinux 0x389ecf9e __bswapdi2 +EXPORT_SYMBOL vmlinux 0x38a59c94 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9558b sock_efree +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38bb798d tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0x38bcd887 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x38d37a4c _dev_notice +EXPORT_SYMBOL vmlinux 0x38e9430e md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x38ee46e1 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x3921c278 udp_ioctl +EXPORT_SYMBOL vmlinux 0x39226596 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393b1a5d ns_capable +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x396eab53 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x39759e34 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x39790cb0 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x3979102b amba_driver_register +EXPORT_SYMBOL vmlinux 0x398f93e8 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x3992bc63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399f2fc1 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x39a12ca7 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x39a19d6e qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x39a51aed md_write_inc +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39ba9604 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c806f0 finalize_exec +EXPORT_SYMBOL vmlinux 0x39c88fd5 flush_rcu_work +EXPORT_SYMBOL vmlinux 0x39c989f5 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x39db1683 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x39f717b7 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x3a07d095 sock_bind_add +EXPORT_SYMBOL vmlinux 0x3a37013a scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x3a3bd425 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x3a43f2c9 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a67c1cf vfs_iter_read +EXPORT_SYMBOL vmlinux 0x3a87d6bc vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x3a87def1 irq_set_chip +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3abe991c param_set_uint +EXPORT_SYMBOL vmlinux 0x3ad3c089 skb_find_text +EXPORT_SYMBOL vmlinux 0x3ad632d3 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x3ad6fd8e krait_get_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x3adf5af2 nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x3af61563 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x3b209a35 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x3b299067 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x3b3d5220 generic_fillattr +EXPORT_SYMBOL vmlinux 0x3b49d4bc simple_transaction_release +EXPORT_SYMBOL vmlinux 0x3b4a955a mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b697738 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x3b849f26 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x3b8d034b dev_load +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc820e9 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3be8ad60 snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x3bea68e8 vga_tryget +EXPORT_SYMBOL vmlinux 0x3bed1753 tcf_em_register +EXPORT_SYMBOL vmlinux 0x3bf0e79c pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x3bf59d21 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x3bfdfd17 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x3bffc0ac ipv4_specific +EXPORT_SYMBOL vmlinux 0x3c0a9330 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x3c0da122 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c18ad70 snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x3c3057d0 genphy_update_link +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c394b22 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c456436 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x3c5df746 set_binfmt +EXPORT_SYMBOL vmlinux 0x3c6ffd7d pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x3c7c0261 nf_log_unset +EXPORT_SYMBOL vmlinux 0x3c7dd9ff user_path_create +EXPORT_SYMBOL vmlinux 0x3c7dfabd __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3cc5cf62 __scsi_execute +EXPORT_SYMBOL vmlinux 0x3ccbae27 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce96c06 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x3cef0121 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d3f43da finish_swait +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d5df066 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x3d5ffd44 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x3d73baf6 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x3d76ba8e rt_dst_clone +EXPORT_SYMBOL vmlinux 0x3d85a05d xattr_full_name +EXPORT_SYMBOL vmlinux 0x3d89011a fb_find_mode +EXPORT_SYMBOL vmlinux 0x3d89083a eth_gro_complete +EXPORT_SYMBOL vmlinux 0x3d95c212 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x3d965b10 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x3da846db migrate_page_copy +EXPORT_SYMBOL vmlinux 0x3dbb4787 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x3dc3c5c2 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x3dc868f5 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcc90e8 sock_no_bind +EXPORT_SYMBOL vmlinux 0x3dcf1ffa __wake_up +EXPORT_SYMBOL vmlinux 0x3dd878a0 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x3de550c1 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dff4311 d_add_ci +EXPORT_SYMBOL vmlinux 0x3e0c0efc kill_block_super +EXPORT_SYMBOL vmlinux 0x3e0e2d9e handle_edge_irq +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e32c5c7 tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x3e38c371 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x3e443b7e param_get_long +EXPORT_SYMBOL vmlinux 0x3e514ce6 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x3e70e237 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x3e75b3ee sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x3e7d3876 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x3e8080ed __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x3e893185 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9151a3 page_mapped +EXPORT_SYMBOL vmlinux 0x3ebebc8f fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x3ed104a5 xa_set_mark +EXPORT_SYMBOL vmlinux 0x3ed258d4 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x3ee3d27f fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x3ee7047d nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x3eedad63 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x3ef34b80 skb_append +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0076d2 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x3f2f9a6e of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x3f381ae1 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4af46f gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f4bdf6b devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x3f62d048 dma_fence_init +EXPORT_SYMBOL vmlinux 0x3f6d28fb eth_get_headlen +EXPORT_SYMBOL vmlinux 0x3f79e88c pci_reenable_device +EXPORT_SYMBOL vmlinux 0x3f88c8ae refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f9a5b70 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x3fa264fd lock_sock_nested +EXPORT_SYMBOL vmlinux 0x3fa489f0 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x3fb30d51 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x3fd716e0 ethtool_notify +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fea538c hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x4011fe92 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x402d2c7a vga_put +EXPORT_SYMBOL vmlinux 0x403062c1 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x403a93e7 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x4052f122 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405ff0e3 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x406c4bcc sock_create +EXPORT_SYMBOL vmlinux 0x40710164 clear_wb_congested +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407753c7 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x408fb403 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a7a33e tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b51c05 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x40b9ccdf netdev_bonding_info_change +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 0x40e1de88 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x40e6fef7 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41009a3d mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x4114b2e2 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x41166b39 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x41297896 iget5_locked +EXPORT_SYMBOL vmlinux 0x412ed0fa inc_node_state +EXPORT_SYMBOL vmlinux 0x41343b39 del_gendisk +EXPORT_SYMBOL vmlinux 0x41392bfc mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414975dd __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x41672f98 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x416df5be jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x4175d8cb commit_creds +EXPORT_SYMBOL vmlinux 0x417df2a5 netpoll_setup +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418a5367 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x418b144c rtc_add_group +EXPORT_SYMBOL vmlinux 0x418b2ceb tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x41af23fe ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x41bb84fc dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x41e0824a udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x41e56a18 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x41f7d42d phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x421378a2 ps2_drain +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4218cde5 phy_read_paged +EXPORT_SYMBOL vmlinux 0x422a816d tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x4242382a ip6_frag_next +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424c0645 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x4253aa7e down_write +EXPORT_SYMBOL vmlinux 0x425e0a9a mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x42604384 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x426c847a cdev_set_parent +EXPORT_SYMBOL vmlinux 0x427477f3 snd_timer_open +EXPORT_SYMBOL vmlinux 0x4298b775 v7_flush_kern_cache_all +EXPORT_SYMBOL vmlinux 0x429ea544 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0x42a04825 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x42cccbef bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x42e99785 mount_bdev +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4308ddce i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43732f84 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4384eb42 __release_region +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43b06b2a netif_device_detach +EXPORT_SYMBOL vmlinux 0x43d72abb dev_get_flags +EXPORT_SYMBOL vmlinux 0x43f7145f check_disk_change +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x440e1dc0 generic_perform_write +EXPORT_SYMBOL vmlinux 0x4416aa41 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x44257722 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x44330c8a dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x4434bb77 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443aae45 from_kuid +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x4479834e tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x448440fe tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x44858e9d set_anon_super +EXPORT_SYMBOL vmlinux 0x449581e6 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x449b8d9c napi_gro_receive +EXPORT_SYMBOL vmlinux 0x44a0c6f8 blk_queue_split +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44a74523 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x44c9dc6c percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x44ce4a4a fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x44ceee59 may_umount +EXPORT_SYMBOL vmlinux 0x44d4b133 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x45271a51 serio_rescan +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x45369ee1 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4562a134 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x4573d9d8 elevator_alloc +EXPORT_SYMBOL vmlinux 0x45785133 add_watch_to_object +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458148bd mount_nodev +EXPORT_SYMBOL vmlinux 0x458723b9 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4589a7ae bio_put +EXPORT_SYMBOL vmlinux 0x4594d104 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45da27f1 phy_device_create +EXPORT_SYMBOL vmlinux 0x45e50372 fb_blank +EXPORT_SYMBOL vmlinux 0x45f49288 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x46056a76 serio_close +EXPORT_SYMBOL vmlinux 0x46076a79 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x46119000 kset_unregister +EXPORT_SYMBOL vmlinux 0x4620cf1b fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x4623d95e mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x463aaab0 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x4642156e blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x465e4838 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x46652c3a __block_write_begin +EXPORT_SYMBOL vmlinux 0x46802835 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x468fed3b noop_qdisc +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46bfe1b0 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46e59fcc netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x46fb1476 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x470c991a of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x47234ab5 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x4731c0a5 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x4738ec17 nand_create_bbt +EXPORT_SYMBOL vmlinux 0x473f9a77 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x47561614 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x4756260d ida_destroy +EXPORT_SYMBOL vmlinux 0x4758886e kernel_bind +EXPORT_SYMBOL vmlinux 0x475d84ef gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x475fb865 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x4763c749 write_cache_pages +EXPORT_SYMBOL vmlinux 0x4765e53e mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x4765fbb7 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x476b290c put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x4774f710 udp_seq_start +EXPORT_SYMBOL vmlinux 0x477563d0 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x4784551d lru_cache_add +EXPORT_SYMBOL vmlinux 0x478d9b84 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x4797d719 set_bh_page +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47a8c5ee remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x47abe88a dqget +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47ca0727 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x47cb8f9d padata_stop +EXPORT_SYMBOL vmlinux 0x47d68c5b genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x47d96bc2 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x47e70229 v7_flush_user_cache_range +EXPORT_SYMBOL vmlinux 0x47e76869 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x47ef3fda simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x48289b11 tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0x482d0722 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x4835b4d0 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x4849f986 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x487ee240 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x48869b41 import_iovec +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48acc9e8 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x48b2ed34 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bb80db hex2bin +EXPORT_SYMBOL vmlinux 0x48d6faa5 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x48d7b050 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x48ddb757 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x48fb3e73 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490717cb alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x49231143 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x49563889 tty_unlock +EXPORT_SYMBOL vmlinux 0x49825d43 cdrom_release +EXPORT_SYMBOL vmlinux 0x498e3678 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x49970de8 finish_wait +EXPORT_SYMBOL vmlinux 0x49afe9fe jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x49bffefe clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x49c652db scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x49d10085 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x49d3457a cpumask_any_but +EXPORT_SYMBOL vmlinux 0x49d48398 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x49d7e374 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x49d877da nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x49f26466 kstrndup +EXPORT_SYMBOL vmlinux 0x49fe262a skb_dequeue +EXPORT_SYMBOL vmlinux 0x4a0449e6 do_map_probe +EXPORT_SYMBOL vmlinux 0x4a1f7397 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4a354aae snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a42336f xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x4a553df4 snd_device_new +EXPORT_SYMBOL vmlinux 0x4a7ebcbf pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x4a966c3b cdev_add +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9e3649 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x4aadf6b7 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x4ad9000e nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x4ade8b2e kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x4ae8ee66 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x4aee7103 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b458520 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x4b4c6c68 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x4b4de90d netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b5ffdfa skb_clone_sk +EXPORT_SYMBOL vmlinux 0x4b95db9f vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x4b97027d snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0x4bba0b0e seq_lseek +EXPORT_SYMBOL vmlinux 0x4bc50ee6 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x4bd0ae86 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x4be85a03 memweight +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf52922 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x4bfaa4d1 module_layout +EXPORT_SYMBOL vmlinux 0x4bfdcefa __memset32 +EXPORT_SYMBOL vmlinux 0x4c041c93 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x4c0d19ce flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x4c19e65e proc_set_size +EXPORT_SYMBOL vmlinux 0x4c1cca3b cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c2ec358 mod_node_page_state +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c47a30d input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x4c5b9f7a tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x4c83f158 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x4c904d05 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x4c993932 mr_table_alloc +EXPORT_SYMBOL vmlinux 0x4c9c3942 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc2854d tegra114_clock_assert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0x4cc3503b ilookup5 +EXPORT_SYMBOL vmlinux 0x4cec71dc uart_suspend_port +EXPORT_SYMBOL vmlinux 0x4cefeede posix_lock_file +EXPORT_SYMBOL vmlinux 0x4d037675 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d178314 keyring_alloc +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4e7bce generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x4d514485 xa_store +EXPORT_SYMBOL vmlinux 0x4d55c340 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x4d5d89e2 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x4d633c89 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x4d634803 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x4d6ae35f rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x4d779b8d cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x4d806ed5 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x4d81e67b phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x4d96a117 mpage_readpage +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dbbee6c skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x4de21239 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4e05bdec mempool_init_node +EXPORT_SYMBOL vmlinux 0x4e09dcfd scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x4e13211c md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x4e1ecb89 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x4e2bc1fd simple_nosetlease +EXPORT_SYMBOL vmlinux 0x4e2d7c98 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x4e33fec0 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3e7d47 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x4e4e8f9f sockfd_lookup +EXPORT_SYMBOL vmlinux 0x4e5c1b2b __serio_register_port +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eaedb2a uart_get_divisor +EXPORT_SYMBOL vmlinux 0x4eb90a83 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x4ebb56e9 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ee0e846 ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x4ee768db mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4f04d7de bioset_exit +EXPORT_SYMBOL vmlinux 0x4f078c1f uart_resume_port +EXPORT_SYMBOL vmlinux 0x4f0ce07c phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x4f13b3ef inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x4f192c07 kmap_high +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f220438 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f247a3e ihold +EXPORT_SYMBOL vmlinux 0x4f25fe6b mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f59830f request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x4f5df5bf __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x4f616cf4 pci_release_regions +EXPORT_SYMBOL vmlinux 0x4f762cbe keyring_clear +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f97f337 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x4f9af3b6 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x4fb64341 tty_register_driver +EXPORT_SYMBOL vmlinux 0x4fc742f1 phy_init_eee +EXPORT_SYMBOL vmlinux 0x4fce3139 freeze_super +EXPORT_SYMBOL vmlinux 0x4fe54260 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x4fe6af99 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x4fef3ef4 completion_done +EXPORT_SYMBOL vmlinux 0x4ff3db74 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x5005db46 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x502b6647 mempool_create_node +EXPORT_SYMBOL vmlinux 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL vmlinux 0x50422f97 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x50746b41 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x5082e713 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x50883e17 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x508ddba4 phy_attached_print +EXPORT_SYMBOL vmlinux 0x50994a96 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50a75ee3 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d0bf71 cqhci_init +EXPORT_SYMBOL vmlinux 0x50d71bcf gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x50e4e146 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x50ebbc66 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50fd6103 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x50fe4bff mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x510058d5 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x51022053 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x5102de9e devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x511582e7 migrate_page +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118543f dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x511b7a86 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x512125f7 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x513b389f inode_add_bytes +EXPORT_SYMBOL vmlinux 0x514a62ec dq_data_lock +EXPORT_SYMBOL vmlinux 0x514cc273 arm_copy_from_user +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516e31a6 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x517018a2 sgl_alloc_order +EXPORT_SYMBOL vmlinux 0x517f3706 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x51bbb3e6 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x51beb122 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x51d32a18 dquot_initialize +EXPORT_SYMBOL vmlinux 0x51e5f106 simple_setattr +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51faaa19 pipe_lock +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x5205905b netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x52337c19 kernel_accept +EXPORT_SYMBOL vmlinux 0x523e57aa ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0x52451ef7 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x524ab085 sock_no_accept +EXPORT_SYMBOL vmlinux 0x525bf161 snd_card_register +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5294891f ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x52ab684d __ip_options_compile +EXPORT_SYMBOL vmlinux 0x52bfaa26 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x52c0d8af devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0x52d43bd7 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x52d64458 arm_dma_ops +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dad6b7 page_pool_put_page +EXPORT_SYMBOL vmlinux 0x52de776b neigh_direct_output +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52e756c6 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x52ece880 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x5303c282 send_sig +EXPORT_SYMBOL vmlinux 0x53067dba sock_create_kern +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530f1e57 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x5329e4e2 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x53584cb3 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x536060af radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x536918cf filemap_map_pages +EXPORT_SYMBOL vmlinux 0x5393df70 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x539f13bf blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x53a53a18 inet6_offloads +EXPORT_SYMBOL vmlinux 0x53bbd1a1 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x53c02c8c cdev_del +EXPORT_SYMBOL vmlinux 0x53c5f44d sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x53c8c4e8 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x53ce9246 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x53e420b2 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0x53f7777c send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x54009c6a snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x540bbf45 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x5412d7d2 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x541475d8 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x54232ac2 netif_skb_features +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54629e3a copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x547451c7 noop_llseek +EXPORT_SYMBOL vmlinux 0x54844074 param_array_ops +EXPORT_SYMBOL vmlinux 0x548ddf90 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x5490ba38 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54d1242a param_set_bint +EXPORT_SYMBOL vmlinux 0x54dc45db blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54efb480 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x54fa400b netlink_ack +EXPORT_SYMBOL vmlinux 0x54fc1308 elm_config +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5514cc2c truncate_pagecache +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x551da978 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x5548975f fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x556b8559 ps2_init +EXPORT_SYMBOL vmlinux 0x5572e1ef of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55905011 tcf_classify +EXPORT_SYMBOL vmlinux 0x55c17317 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x55c9bdf6 mmc_command_done +EXPORT_SYMBOL vmlinux 0x55cf1eae __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e808c0 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x55fb8ba9 blk_get_queue +EXPORT_SYMBOL vmlinux 0x55fc1958 register_cdrom +EXPORT_SYMBOL vmlinux 0x560a761d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x562032f8 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x5620ab59 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x562229bf page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x562a36c5 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563952a3 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x56498087 paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x5667a277 down_timeout +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x5693533c request_firmware +EXPORT_SYMBOL vmlinux 0x56bd77ab touch_atime +EXPORT_SYMBOL vmlinux 0x56bffcee inetdev_by_index +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d4d78b __frontswap_store +EXPORT_SYMBOL vmlinux 0x56d83a06 cdev_device_del +EXPORT_SYMBOL vmlinux 0x56eb1783 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x56f9cff5 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x56fe89aa snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x572e06e3 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x57341816 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x5743e3bc iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57500949 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x57511c8d pci_iomap_range +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x576373ed max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5781d3c2 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x5785033c d_alloc_name +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x579d33a5 fb_show_logo +EXPORT_SYMBOL vmlinux 0x57a8ad6d of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x57a8e7dd xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x57b77e39 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x57ceedb1 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x57d3d2ea vme_master_mmap +EXPORT_SYMBOL vmlinux 0x57e5170c qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x57e850ab security_sb_remount +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57f838b7 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x57ff23f0 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x5806afd5 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x58181d19 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x5819f91e dmam_pool_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 0x58487b1d dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x584995cb dec_node_page_state +EXPORT_SYMBOL vmlinux 0x584ed505 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x5855b740 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0x58668b48 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x58722320 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x58aacaa5 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58cee9a0 tcp_poll +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e8ad12 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x58f4c817 ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x58fad869 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x58fcb95b tcp_shutdown +EXPORT_SYMBOL vmlinux 0x5922b32f balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x592b5bd9 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x5939e620 snd_card_new +EXPORT_SYMBOL vmlinux 0x59486ecb pci_get_subsys +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fa81a ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x5958db78 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x59847efb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x598c14ad key_revoke +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 0x59bb002b scsi_block_requests +EXPORT_SYMBOL vmlinux 0x59c83a14 skb_queue_head +EXPORT_SYMBOL vmlinux 0x59d29dab v7_flush_kern_dcache_area +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59feca66 seq_pad +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a14de15 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x5a16e023 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x5a1c9343 dev_set_alias +EXPORT_SYMBOL vmlinux 0x5a3b5a7f skb_unlink +EXPORT_SYMBOL vmlinux 0x5a41dc7d bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x5a48266b nvm_end_io +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5be5eb pci_request_region +EXPORT_SYMBOL vmlinux 0x5a63284c pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x5a7966a6 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x5a967db3 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x5ab549b7 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x5ae76ead nvm_register +EXPORT_SYMBOL vmlinux 0x5aebf250 dquot_commit +EXPORT_SYMBOL vmlinux 0x5afdd01b inode_nohighmem +EXPORT_SYMBOL vmlinux 0x5b04be5a disable_fiq +EXPORT_SYMBOL vmlinux 0x5b062284 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5b101a07 is_bad_inode +EXPORT_SYMBOL vmlinux 0x5b1431cb t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x5b178925 devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x5b1b3a52 single_open_size +EXPORT_SYMBOL vmlinux 0x5b1c9b3e file_path +EXPORT_SYMBOL vmlinux 0x5b201e43 snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x5b2e7f41 netlink_capable +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b5909ae __netif_schedule +EXPORT_SYMBOL vmlinux 0x5b5ac376 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x5b8c4d8d __brelse +EXPORT_SYMBOL vmlinux 0x5badbb78 string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5baffdf7 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x5bbe49f4 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x5bc18245 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x5bc41496 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bcbbb55 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be3d519 __phy_resume +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bf7f981 save_stack_trace_tsk +EXPORT_SYMBOL vmlinux 0x5c12dad4 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x5c131cf3 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x5c17137e sg_miter_skip +EXPORT_SYMBOL vmlinux 0x5c2b9751 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x5c355595 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c53ed77 single_release +EXPORT_SYMBOL vmlinux 0x5c574c33 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x5c6a65bf jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x5c716976 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5c737040 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x5c7f1284 int_sqrt64 +EXPORT_SYMBOL vmlinux 0x5c800726 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x5c89482c rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x5c8e98c0 find_vma +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5cbd8e69 __crc32c_le +EXPORT_SYMBOL vmlinux 0x5cd0e337 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x5cd33fc0 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x5cd85a04 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x5ce9a942 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d249d9d hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5d2ecc29 register_qdisc +EXPORT_SYMBOL vmlinux 0x5d2f2548 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x5d371bc0 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x5d37d3d1 can_nice +EXPORT_SYMBOL vmlinux 0x5d37d658 dim_park_tired +EXPORT_SYMBOL vmlinux 0x5d39a042 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x5d479b12 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d4a916a iunique +EXPORT_SYMBOL vmlinux 0x5d707d23 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x5d810f97 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d84a13b unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5d9d348f dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x5d9de6b2 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x5db6458c snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x5db89f51 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x5dba71d7 sg_last +EXPORT_SYMBOL vmlinux 0x5dbd212d xfrm_state_add +EXPORT_SYMBOL vmlinux 0x5dc2b5db pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x5dcf6341 outer_cache +EXPORT_SYMBOL vmlinux 0x5dd9fc39 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x5de5cca2 utf8_normalize +EXPORT_SYMBOL vmlinux 0x5df812ab set_page_dirty +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e0fc950 nonseekable_open +EXPORT_SYMBOL vmlinux 0x5e2583d2 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x5e36eca9 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e38c830 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x5e40668e submit_bio_wait +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e866d85 prandom_bytes +EXPORT_SYMBOL vmlinux 0x5e8e8211 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e98e538 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x5e99042f blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x5e99af69 d_alloc_anon +EXPORT_SYMBOL vmlinux 0x5ea80cb7 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec25658 tcp_set_rcvlowat +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 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ef03bce kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f3d4d33 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5f604fe2 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x5f63802e xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f849a69 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5f8f08e6 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x5f9d22ca map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x5fb01358 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fb93c22 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x5fc52b7b poll_initwait +EXPORT_SYMBOL vmlinux 0x5fd5ee1f make_kuid +EXPORT_SYMBOL vmlinux 0x5fd79572 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x5fda3bda lease_get_mtime +EXPORT_SYMBOL vmlinux 0x5fe08529 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x5ff11cc3 pcibios_min_io +EXPORT_SYMBOL vmlinux 0x5ff21d76 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x5ffb9468 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x6003220e __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60298307 user_path_at_empty +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x603286b8 utf8_casefold +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x603a0f81 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x60567c13 rt6_lookup +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x606bfd20 free_netdev +EXPORT_SYMBOL vmlinux 0x60752f1e bdput +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32042 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60af91ce snd_card_file_add +EXPORT_SYMBOL vmlinux 0x60bb909f tcp_prot +EXPORT_SYMBOL vmlinux 0x60bffe6d div64_u64 +EXPORT_SYMBOL vmlinux 0x60c5edc7 pskb_extract +EXPORT_SYMBOL vmlinux 0x60d4d702 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60dfd464 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x60fb0d29 pci_enable_device +EXPORT_SYMBOL vmlinux 0x610d198b __fs_parse +EXPORT_SYMBOL vmlinux 0x611451e7 skb_ext_add +EXPORT_SYMBOL vmlinux 0x611f6647 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x6121bd54 dql_init +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x6141a81f pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x6147461b simple_fill_super +EXPORT_SYMBOL vmlinux 0x614fadc2 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x6156c7f4 net_dim +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x6195ece2 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x619717c1 md_write_end +EXPORT_SYMBOL vmlinux 0x619d7bbc jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x61a4a5af netdev_state_change +EXPORT_SYMBOL vmlinux 0x61b0eba9 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x61b76bb9 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61ba8e64 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x61baf1a1 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x61c76b3a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x61d7dcc0 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e521aa param_set_byte +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61ee05a5 of_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x61f65767 pci_iounmap +EXPORT_SYMBOL vmlinux 0x6205e791 snd_timer_stop +EXPORT_SYMBOL vmlinux 0x620cad62 vfs_llseek +EXPORT_SYMBOL vmlinux 0x620e3dcf input_event +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x625072c7 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x625eb17f set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x626c32bf registered_fb +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627d4340 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x629da101 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x62a172d7 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62e32361 get_task_cred +EXPORT_SYMBOL vmlinux 0x62f576d9 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x630f2cb8 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63230633 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x63231d35 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x633b04ee mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x6340352d tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x6342f99f mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x634737fc skb_store_bits +EXPORT_SYMBOL vmlinux 0x6354e9cc sk_common_release +EXPORT_SYMBOL vmlinux 0x635a0423 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x6371a339 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x6373f61a sg_miter_stop +EXPORT_SYMBOL vmlinux 0x6379b73a of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x63a2bd07 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a5ab22 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c7965b vm_map_ram +EXPORT_SYMBOL vmlinux 0x63cc1d8f jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x63d18a6d snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x63e4ce6c amba_device_unregister +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecc001 fget +EXPORT_SYMBOL vmlinux 0x63ed5b79 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64062a77 d_tmpfile +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x641b730b snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x641f5756 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x642131a2 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x6443babd ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x645a1940 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x6462c561 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x64650d8b sg_miter_next +EXPORT_SYMBOL vmlinux 0x647af474 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x647f0f15 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64950597 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x6495a798 d_instantiate +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64c6b7d4 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x64d27013 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x64dd24df nla_put_64bit +EXPORT_SYMBOL vmlinux 0x64ea2394 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x64efd203 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x64f2029b page_pool_destroy +EXPORT_SYMBOL vmlinux 0x64f246dd configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651c2478 inode_permission +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x65267303 ip_frag_init +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654a74b8 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x65643065 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x6578533e prepare_to_wait +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x658dd7d4 generic_write_checks +EXPORT_SYMBOL vmlinux 0x6598e7d3 clk_get +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x659f5e52 vfs_rename +EXPORT_SYMBOL vmlinux 0x65a976fc security_d_instantiate +EXPORT_SYMBOL vmlinux 0x65ac8fba cfb_copyarea +EXPORT_SYMBOL vmlinux 0x65aca3e4 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x65beb552 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x65c81499 dma_supported +EXPORT_SYMBOL vmlinux 0x65cb395b dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x65d2b67d xp_can_alloc +EXPORT_SYMBOL vmlinux 0x65d411e9 idr_get_next +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65fbc381 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x65fd7983 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x6600bccd md_unregister_thread +EXPORT_SYMBOL vmlinux 0x662f0884 security_path_rename +EXPORT_SYMBOL vmlinux 0x66335c7f vfs_link +EXPORT_SYMBOL vmlinux 0x66371d72 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x66474aa4 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x664c360a param_set_long +EXPORT_SYMBOL vmlinux 0x6658bbfe netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x66657274 kmalloc_order +EXPORT_SYMBOL vmlinux 0x6668124a simple_lookup +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x6674bd14 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0x66995e58 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x669fb85a inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x66a2f30b jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x66a93a93 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x66cdbc15 nf_log_packet +EXPORT_SYMBOL vmlinux 0x66d59509 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x66dbb4d2 ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x66ee32b3 snd_card_free +EXPORT_SYMBOL vmlinux 0x67092819 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x6711d4e7 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x67160fa8 locks_delete_block +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x6774e949 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x6782d34a rename_lock +EXPORT_SYMBOL vmlinux 0x679856f5 sort_r +EXPORT_SYMBOL vmlinux 0x67a1bd35 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x67aa0e48 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x67ae1bf2 get_vm_area +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67cb91ed scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x67cef712 d_find_alias +EXPORT_SYMBOL vmlinux 0x67d71a44 vm_event_states +EXPORT_SYMBOL vmlinux 0x67de4f8f ab3100_event_register +EXPORT_SYMBOL vmlinux 0x67ea6e61 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x6806bbf4 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x6808c968 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x681aff2f phy_connect +EXPORT_SYMBOL vmlinux 0x682d7e14 make_kgid +EXPORT_SYMBOL vmlinux 0x684e408b posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x685cfc46 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x685da503 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x687280be phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68df931b dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x68e7e16e wireless_spy_update +EXPORT_SYMBOL vmlinux 0x68f93703 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x68febe2a mntput +EXPORT_SYMBOL vmlinux 0x69026ef6 fd_install +EXPORT_SYMBOL vmlinux 0x690789cd task_work_add +EXPORT_SYMBOL vmlinux 0x691156cf nand_bch_init +EXPORT_SYMBOL vmlinux 0x691865b4 genlmsg_put +EXPORT_SYMBOL vmlinux 0x6925f8f4 pci_get_device +EXPORT_SYMBOL vmlinux 0x6934fa25 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x69698109 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6978b409 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x699beb12 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x699cb4e6 tcp_close +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69cfc2fd input_get_timestamp +EXPORT_SYMBOL vmlinux 0x69dde2f6 mmc_add_host +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e51d08 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x69e72048 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x69eecd0b netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x69f0a06d netlink_net_capable +EXPORT_SYMBOL vmlinux 0x69f5639e devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x6a00938f qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x6a00de13 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a06fe13 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x6a351be8 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x6a38d293 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x6a3c89c7 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x6a4974b9 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a7014df input_flush_device +EXPORT_SYMBOL vmlinux 0x6a71cfb1 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x6a75d8be tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x6a94b728 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x6aa27a4e dquot_commit_info +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6aba262b km_new_mapping +EXPORT_SYMBOL vmlinux 0x6ac28a1b elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x6ac9de7c vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x6ad1999f tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af3efcf d_splice_alias +EXPORT_SYMBOL vmlinux 0x6af7b21a packing +EXPORT_SYMBOL vmlinux 0x6b18c806 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b322fbd __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x6b339052 sock_no_connect +EXPORT_SYMBOL vmlinux 0x6b35aebc pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x6b3f0e29 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x6b44288d __free_pages +EXPORT_SYMBOL vmlinux 0x6b461ad3 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x6b46c5c0 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x6b470595 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b604710 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x6b62d120 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x6b67370a cqhci_resume +EXPORT_SYMBOL vmlinux 0x6b685da0 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x6b72d7ad tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6bab20ad filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x6bac0f4d pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6c14adcc tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x6c18fff5 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x6c1bf58a proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c24193b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c2bb11d ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x6c33bd5a tty_kref_put +EXPORT_SYMBOL vmlinux 0x6c37349b skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x6c373d97 pci_find_resource +EXPORT_SYMBOL vmlinux 0x6c410ab2 d_obtain_root +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c778c8d tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x6c810e42 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x6c818807 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x6c8e3a56 fsync_bdev +EXPORT_SYMBOL vmlinux 0x6c978368 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x6c9c9fe8 neigh_update +EXPORT_SYMBOL vmlinux 0x6ca0473a __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x6ca5d6bf mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbcd95e ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0x6cc6631d sound_class +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce049d7 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6d035164 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x6d06b1b2 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d34557a dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x6d48be26 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x6d547e76 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x6d60fd8b skb_queue_tail +EXPORT_SYMBOL vmlinux 0x6d64c2b9 load_nls +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d756253 of_dev_get +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d89b199 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x6d99fe56 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x6db01273 is_subdir +EXPORT_SYMBOL vmlinux 0x6dca4a26 adjust_resource +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dcf8a4b reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x6dd52184 mmc_start_request +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df2768f devm_clk_get +EXPORT_SYMBOL vmlinux 0x6df80b99 iget_failed +EXPORT_SYMBOL vmlinux 0x6e225ee1 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x6e3127cf dm_put_device +EXPORT_SYMBOL vmlinux 0x6e4e7468 vmap +EXPORT_SYMBOL vmlinux 0x6e4e7714 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x6e669154 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x6e7032cd uart_add_one_port +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e73bd5c vfs_iter_write +EXPORT_SYMBOL vmlinux 0x6e874ac5 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x6e8ac8c2 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ecdb792 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6eebe03d xfrm_register_type +EXPORT_SYMBOL vmlinux 0x6eec1e56 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x6ef22f06 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f013ecd __init_rwsem +EXPORT_SYMBOL vmlinux 0x6f03b1c7 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x6f084967 simple_link +EXPORT_SYMBOL vmlinux 0x6f2e6ee9 start_tty +EXPORT_SYMBOL vmlinux 0x6f3819b9 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x6f38575d nf_reinject +EXPORT_SYMBOL vmlinux 0x6f3945e3 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x6f5c77c1 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x6f5db9e4 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x6f63ec3e param_get_ullong +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6fbe4717 idr_replace +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdc66ce __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x6fdf6738 bh_submit_read +EXPORT_SYMBOL vmlinux 0x6fec70a0 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x6fef6a5d sock_set_priority +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x70101c48 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x702295b3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x70250766 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x70472bc3 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x7054ef94 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x70703993 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x70914094 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x70a324ec bdev_read_only +EXPORT_SYMBOL vmlinux 0x70a432c7 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x70a8bdec __alloc_skb +EXPORT_SYMBOL vmlinux 0x70ae116d blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x70c9923a rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x70d7260e pci_match_id +EXPORT_SYMBOL vmlinux 0x70dc995a phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x70dddff8 sync_inode +EXPORT_SYMBOL vmlinux 0x70e8a063 __ps2_command +EXPORT_SYMBOL vmlinux 0x70ed9a83 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x70ede888 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x711b8a9b __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x712110ab proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7138912f tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x71432c37 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0x714df9aa bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x715f92c0 pcie_set_mps +EXPORT_SYMBOL vmlinux 0x716667b1 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x716b58cb ioport_resource +EXPORT_SYMBOL vmlinux 0x716bb503 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7179fc24 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ac0371 cqhci_irq +EXPORT_SYMBOL vmlinux 0x71c475bf scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71e4bda0 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x71f7de4f proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x721a3916 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x721c2b25 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7221f161 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x72245429 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x7227e541 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x72307b37 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x726d9812 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x72784166 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72dac181 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72eaca82 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x72fedbc7 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x7305a8ca inet_gro_complete +EXPORT_SYMBOL vmlinux 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x7316c053 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x7317790e lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x7328ef1c xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x733c9b7a tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x733e9a68 phy_resume +EXPORT_SYMBOL vmlinux 0x7350d928 key_alloc +EXPORT_SYMBOL vmlinux 0x7352f303 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x735f33b0 mutex_is_locked +EXPORT_SYMBOL vmlinux 0x736aaa52 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x73a58b54 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73c4df41 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x73c7e179 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x73d0fb50 napi_consume_skb +EXPORT_SYMBOL vmlinux 0x73dfaf04 set_device_ro +EXPORT_SYMBOL vmlinux 0x73e19f0e fs_lookup_param +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x742b90df vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x7448e867 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x744f4f23 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7459030d write_one_page +EXPORT_SYMBOL vmlinux 0x74641935 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x7469fe46 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x74ad19dd d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x74bfa039 snd_jack_report +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c5593a framebuffer_release +EXPORT_SYMBOL vmlinux 0x74d25fc0 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x74e1c377 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x74e46dac imx_ssi_fiq_tx_buffer +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74fa9cc6 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x74fee85f __icmp_send +EXPORT_SYMBOL vmlinux 0x75020b84 dma_set_mask +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x750ca733 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x75152abd dev_add_pack +EXPORT_SYMBOL vmlinux 0x7516e1a1 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x7518bfa6 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x75521d85 input_close_device +EXPORT_SYMBOL vmlinux 0x7555bcc2 import_single_range +EXPORT_SYMBOL vmlinux 0x7567d381 __get_fiq_regs +EXPORT_SYMBOL vmlinux 0x756cc3f4 phy_disconnect +EXPORT_SYMBOL vmlinux 0x757f088f cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x759449e1 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x759b68eb udp_gro_complete +EXPORT_SYMBOL vmlinux 0x759d45c5 sk_capable +EXPORT_SYMBOL vmlinux 0x75a64fd7 dev_add_offload +EXPORT_SYMBOL vmlinux 0x75b11b54 softnet_data +EXPORT_SYMBOL vmlinux 0x75b995d4 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d127a0 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75f1cf49 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0x7602ef5e mmc_retune_release +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760a11d1 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x760e647c kill_pid +EXPORT_SYMBOL vmlinux 0x76293944 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764be939 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x764d2c01 of_get_address +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x766b1ad6 pci_select_bars +EXPORT_SYMBOL vmlinux 0x767a1620 tcf_register_action +EXPORT_SYMBOL vmlinux 0x767efe9d rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x769bbb24 get_tz_trend +EXPORT_SYMBOL vmlinux 0x769d5e91 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76aee902 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x76b7be5d flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x76cc2da7 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76cf76aa fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76ed463d netdev_warn +EXPORT_SYMBOL vmlinux 0x77176c14 _dev_alert +EXPORT_SYMBOL vmlinux 0x771ab08a mdio_bus_type +EXPORT_SYMBOL vmlinux 0x772b653c uart_match_port +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77380b99 kobject_put +EXPORT_SYMBOL vmlinux 0x773b6d25 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x77449b44 snd_seq_root +EXPORT_SYMBOL vmlinux 0x77596639 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x775ceda2 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x775d164f mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x77616846 sock_init_data +EXPORT_SYMBOL vmlinux 0x779115ed get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x77954972 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x7797a1b9 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x7797e8cc register_netdevice +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77d342d3 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x77d98216 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x77e31b2a pci_dev_put +EXPORT_SYMBOL vmlinux 0x77e546f7 discard_new_inode +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77f6c690 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x77f6f183 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x7823eafd tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0x782b6eb8 napi_get_frags +EXPORT_SYMBOL vmlinux 0x782f3d3b pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x783b977a kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x78431876 ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x7847c141 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x78779c0b set_fiq_handler +EXPORT_SYMBOL vmlinux 0x7879df21 tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788347c6 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x78909c96 inet_protos +EXPORT_SYMBOL vmlinux 0x7897b68f pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b91c16 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x78c9df8d register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x78cb404a tty_unthrottle +EXPORT_SYMBOL vmlinux 0x78cf6dd7 put_disk_and_module +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78eff599 simple_write_begin +EXPORT_SYMBOL vmlinux 0x78f0fe0a netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x78fc4535 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x78fd06e7 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x790ea27d genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x7913b9eb genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x7920c0c1 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x79393ffe amba_release_regions +EXPORT_SYMBOL vmlinux 0x793df130 vm_insert_page +EXPORT_SYMBOL vmlinux 0x794765d1 mempool_free +EXPORT_SYMBOL vmlinux 0x7954b150 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x796cff2e generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x797efc54 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x798c5585 brioctl_set +EXPORT_SYMBOL vmlinux 0x799c316b __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x799e17c0 dev_deactivate +EXPORT_SYMBOL vmlinux 0x799ed380 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79d35c87 dev_set_group +EXPORT_SYMBOL vmlinux 0x79e24920 get_disk_and_module +EXPORT_SYMBOL vmlinux 0x79e356bd inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x79eae76d fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x79fa1deb imx_ssi_fiq_rx_buffer +EXPORT_SYMBOL vmlinux 0x79fa9ceb arp_xmit +EXPORT_SYMBOL vmlinux 0x79fc577f utf8nagemax +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2eb5a2 security_sock_graft +EXPORT_SYMBOL vmlinux 0x7a3e8a42 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a51a0bb tcp_check_req +EXPORT_SYMBOL vmlinux 0x7a52a830 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x7a6186aa pci_get_slot +EXPORT_SYMBOL vmlinux 0x7a763d79 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x7a79b9f3 __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7a7add63 blk_put_queue +EXPORT_SYMBOL vmlinux 0x7a89eb33 tty_write_room +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aafa971 rtnl_notify +EXPORT_SYMBOL vmlinux 0x7ab5cd07 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aba5c0b ZSTD_getParams +EXPORT_SYMBOL vmlinux 0x7abe8a67 dput +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 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b10453a register_sound_dsp +EXPORT_SYMBOL vmlinux 0x7b1d8670 f_setown +EXPORT_SYMBOL vmlinux 0x7b283ce3 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x7b2a0dc9 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0x7b2ac345 tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x7b2fb85d __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7b328180 skb_put +EXPORT_SYMBOL vmlinux 0x7b33a88e devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x7b3e94d6 put_watch_queue +EXPORT_SYMBOL vmlinux 0x7b4bf0ed dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7b51b66c ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0x7b549882 unload_nls +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b9537da dev_uc_del +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bce353e bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7bf1420a ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x7bfbc070 _dev_err +EXPORT_SYMBOL vmlinux 0x7c11ed77 security_binder_transaction +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c185c7a uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x7c26fd51 sgl_free_order +EXPORT_SYMBOL vmlinux 0x7c3bee99 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x7c453bbc device_add_disk +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c6314b3 __frontswap_load +EXPORT_SYMBOL vmlinux 0x7c700d1b security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x7c7d25ed pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x7c8a5d36 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7c8cea9e key_create_or_update +EXPORT_SYMBOL vmlinux 0x7c9096e3 twl6040_power +EXPORT_SYMBOL vmlinux 0x7c96d247 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cce1567 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x7cd29b56 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x7cde2f54 bioset_init +EXPORT_SYMBOL vmlinux 0x7cdeeb4d pgprot_user +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cef41de cfb_imageblit +EXPORT_SYMBOL vmlinux 0x7cf18662 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf5402a posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d09596b dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x7d0c3cf0 sock_wake_async +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d25d989 snd_timer_continue +EXPORT_SYMBOL vmlinux 0x7d2d0f90 component_match_add_release +EXPORT_SYMBOL vmlinux 0x7d3f19ad config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7d47127a path_nosuid +EXPORT_SYMBOL vmlinux 0x7d474d41 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7d485abc vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d67446c of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x7d6c2636 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0x7d6f1dc3 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x7d771e1c jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x7d784a66 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x7d7e4c49 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x7d8b4bb9 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x7d8f6338 of_get_property +EXPORT_SYMBOL vmlinux 0x7dab6f65 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x7dac19fe ll_rw_block +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db98c4a input_reset_device +EXPORT_SYMBOL vmlinux 0x7dc0d68b pci_read_vpd +EXPORT_SYMBOL vmlinux 0x7dd30840 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x7de3c9ff vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x7dececbd update_region +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e055881 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x7e0ce0c3 up_write +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e32e7c7 irq_stat +EXPORT_SYMBOL vmlinux 0x7e3e11ea ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x7e419429 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x7e420aca __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x7e666cbf blk_get_request +EXPORT_SYMBOL vmlinux 0x7e986abe try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7eb2937a phy_write_mmd +EXPORT_SYMBOL vmlinux 0x7ebe7bf7 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x7ec4a058 tty_port_close +EXPORT_SYMBOL vmlinux 0x7ec52c59 locks_init_lock +EXPORT_SYMBOL vmlinux 0x7ec6c1e9 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7ed90d42 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x7edfb93e scsi_host_put +EXPORT_SYMBOL vmlinux 0x7eeb2469 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f051737 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x7f0a9a85 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x7f11b1eb devm_memunmap +EXPORT_SYMBOL vmlinux 0x7f189ff9 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x7f1eec03 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x7f224e50 tty_set_operations +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2c3cf0 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7f304b27 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x7f407258 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x7f58c5da genphy_read_status +EXPORT_SYMBOL vmlinux 0x7f5a7ea1 tty_devnum +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f6afd6e xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x7f76ba18 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f922ab5 ata_link_printk +EXPORT_SYMBOL vmlinux 0x7f93b640 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x7fa0ea72 seq_open +EXPORT_SYMBOL vmlinux 0x7fa5d3be csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x7fb9ee7c of_dev_put +EXPORT_SYMBOL vmlinux 0x7fc1af6d reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x7fc53e3e snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fde2edb vme_master_read +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x80063d93 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801ce573 PDE_DATA +EXPORT_SYMBOL vmlinux 0x8023ff21 tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0x8039b3fd _totalram_pages +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x806e1db6 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x8080de27 of_phy_connect +EXPORT_SYMBOL vmlinux 0x80878fd8 vme_master_request +EXPORT_SYMBOL vmlinux 0x80914cad mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x80a98caa mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x80b85b71 simple_rename +EXPORT_SYMBOL vmlinux 0x80c4c319 crc32_le +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80cf31da genphy_resume +EXPORT_SYMBOL vmlinux 0x80d57963 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e38905 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x80fe38f3 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x8108ac7a down_read_trylock +EXPORT_SYMBOL vmlinux 0x81098346 ucc_fast_init +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81149ac7 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x8129d971 put_disk +EXPORT_SYMBOL vmlinux 0x812e61eb xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x8132efc0 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x813a52c2 account_page_redirty +EXPORT_SYMBOL vmlinux 0x81460114 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x814e34ae devm_clk_put +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x8166aa58 udp_set_csum +EXPORT_SYMBOL vmlinux 0x8172c57a ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x817751f9 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818b0b30 efi +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81920019 skb_dump +EXPORT_SYMBOL vmlinux 0x819dde62 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x81b59c0c pci_restore_state +EXPORT_SYMBOL vmlinux 0x81c5544e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x81d8bcd9 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81f62876 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x81fa1378 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x81ffa627 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x8206205e ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8214721d of_platform_device_create +EXPORT_SYMBOL vmlinux 0x822137e2 arm_heavy_mb +EXPORT_SYMBOL vmlinux 0x8224f097 kern_unmount +EXPORT_SYMBOL vmlinux 0x822da09e mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x822fadb1 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x8235bba7 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x823a1683 dma_pool_create +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x825289c5 dcb_setapp +EXPORT_SYMBOL vmlinux 0x82618186 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x82675118 fb_pan_display +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x828deaa9 tso_count_descs +EXPORT_SYMBOL vmlinux 0x828ecf8b netdev_update_features +EXPORT_SYMBOL vmlinux 0x82aa95a7 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x82b17a36 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x82b35584 of_match_node +EXPORT_SYMBOL vmlinux 0x82b39baf register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x82d94124 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x82e909db bmap +EXPORT_SYMBOL vmlinux 0x82e9165b tty_register_device +EXPORT_SYMBOL vmlinux 0x82f886a1 ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0x8300ddcb inode_insert5 +EXPORT_SYMBOL vmlinux 0x830723f7 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x830f28f8 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x834034eb abx500_register_ops +EXPORT_SYMBOL vmlinux 0x8348060a seq_file_path +EXPORT_SYMBOL vmlinux 0x8351f2dc seqno_fence_ops +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8377fc0d down_write_killable +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x83a1043d get_super_thawed +EXPORT_SYMBOL vmlinux 0x83adcbcf __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x83b576b4 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x83bfe718 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x83c23029 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83cd0e6f atomic_io_modify +EXPORT_SYMBOL vmlinux 0x83e517a0 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x83ed8026 rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x840f37c4 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x84169308 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x8431eaea __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8438b44d tty_check_change +EXPORT_SYMBOL vmlinux 0x8441c8cb sg_free_table +EXPORT_SYMBOL vmlinux 0x8451fdfe sg_init_table +EXPORT_SYMBOL vmlinux 0x8456e9a7 xa_erase +EXPORT_SYMBOL vmlinux 0x846c7bbb scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x8477f771 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x8479c201 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x847ba60e posix_acl_valid +EXPORT_SYMBOL vmlinux 0x84818f57 tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x8485aaae generic_ro_fops +EXPORT_SYMBOL vmlinux 0x848c9eee devm_memremap +EXPORT_SYMBOL vmlinux 0x8496b001 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x84a138c5 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84b29b66 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x84cbb562 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x8527d5ef seq_read +EXPORT_SYMBOL vmlinux 0x852d856a request_key_tag +EXPORT_SYMBOL vmlinux 0x8538f9ed page_address +EXPORT_SYMBOL vmlinux 0x85391922 ether_setup +EXPORT_SYMBOL vmlinux 0x854fec83 tegra_sku_info +EXPORT_SYMBOL vmlinux 0x85545e02 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8582ebff cpu_all_bits +EXPORT_SYMBOL vmlinux 0x858ee0ac seq_path +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85978c43 dquot_alloc +EXPORT_SYMBOL vmlinux 0x85aa112d take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x85ae22d7 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85da3533 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x85db03af mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x85de6562 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x85ff3b1f netdev_alert +EXPORT_SYMBOL vmlinux 0x8612b65f mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x8615e56b blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x86230677 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x86288853 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x862bc663 memset16 +EXPORT_SYMBOL vmlinux 0x86332725 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x864f00af scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8666995b sgl_alloc +EXPORT_SYMBOL vmlinux 0x86766be5 vm_map_pages +EXPORT_SYMBOL vmlinux 0x86774135 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x867e8906 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x86857336 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869053fa block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x8691061d of_device_alloc +EXPORT_SYMBOL vmlinux 0x86a83db4 udp_pre_connect +EXPORT_SYMBOL vmlinux 0x86b9c11d phy_init_hw +EXPORT_SYMBOL vmlinux 0x86bdf091 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86da08d8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x86eb0c08 proc_dointvec +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fc4b7d tcp_release_cb +EXPORT_SYMBOL vmlinux 0x8700714e snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x870d5a1c __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x873ec268 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x874bbb9d vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x876ca5f3 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x8772c93a of_get_mac_address +EXPORT_SYMBOL vmlinux 0x8795bd29 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0x87a1a066 get_user_pages +EXPORT_SYMBOL vmlinux 0x87d468b6 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x87fbbf19 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x880165d4 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x8817a0ac i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x883d31ea ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x88560b9f xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x886b28d6 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x886c68a5 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x887c166a tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x8880040f __serio_register_driver +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x888eeb67 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x88b02482 snd_pci_quirk_lookup +EXPORT_SYMBOL vmlinux 0x88b19f45 system_serial +EXPORT_SYMBOL vmlinux 0x88b8f9f3 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x88bd985b netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x88ca0b91 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f57a00 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x8901d394 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x890de126 omap_vrfb_setup +EXPORT_SYMBOL vmlinux 0x89208806 mntget +EXPORT_SYMBOL vmlinux 0x892b385c thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x89405d30 __inet_hash +EXPORT_SYMBOL vmlinux 0x89505c3e register_sound_mixer +EXPORT_SYMBOL vmlinux 0x89591d5c unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x896fbc8e mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x8989ec22 iget_locked +EXPORT_SYMBOL vmlinux 0x898d1005 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x89bcda9f mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x89e208f3 textsearch_register +EXPORT_SYMBOL vmlinux 0x8a148e09 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x8a28d0f0 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x8a29d5af no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x8a2ffb16 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x8a3784dc __xa_alloc +EXPORT_SYMBOL vmlinux 0x8a3b1285 __xa_erase +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a50c158 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x8a624fcc __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x8a6fa4d2 finish_no_open +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a920c7d rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9b7487 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x8aa30959 ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x8aa94752 snd_card_set_id +EXPORT_SYMBOL vmlinux 0x8abae7a1 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x8abf3ff0 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x8ac136ae imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac3f353 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x8ad19fc0 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x8add52cc of_device_is_available +EXPORT_SYMBOL vmlinux 0x8ae407a0 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x8aecafb4 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x8af24e1d fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b342db6 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x8b411006 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x8b41a9a7 bdgrab +EXPORT_SYMBOL vmlinux 0x8b491caf sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b750cfe inet6_add_offload +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b9c82e3 _dev_emerg +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8ba670a6 address_space_init_once +EXPORT_SYMBOL vmlinux 0x8bac9438 of_lpddr3_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x8bb2ba35 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x8bee75d7 proc_dostring +EXPORT_SYMBOL vmlinux 0x8c08d927 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x8c1d6516 pci_save_state +EXPORT_SYMBOL vmlinux 0x8c2242b9 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x8c2599ba param_set_bool +EXPORT_SYMBOL vmlinux 0x8c259ecd fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x8c2c068a scsi_partsize +EXPORT_SYMBOL vmlinux 0x8c379c45 inet_sendpage +EXPORT_SYMBOL vmlinux 0x8c4342f3 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x8c56cf0e filemap_flush +EXPORT_SYMBOL vmlinux 0x8c5d254a dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x8c66a2a6 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8ca10772 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x8ca7fd73 end_page_writeback +EXPORT_SYMBOL vmlinux 0x8ca929ef flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x8cb0e4c1 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x8cb8f316 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x8cc50c80 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8ce13cc5 udplite_table +EXPORT_SYMBOL vmlinux 0x8cf53f43 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x8d356a0f snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x8d40ec9d jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d68a384 nf_log_set +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d9153f9 inet_bind +EXPORT_SYMBOL vmlinux 0x8da2c0b6 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x8da5e147 file_open_root +EXPORT_SYMBOL vmlinux 0x8db0ed2f skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x8db390b8 neigh_destroy +EXPORT_SYMBOL vmlinux 0x8dd55aaf bd_start_claiming +EXPORT_SYMBOL vmlinux 0x8dd5dc7c of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de0f7bb unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfeacf3 file_modified +EXPORT_SYMBOL vmlinux 0x8dfefc0d kvmalloc_node +EXPORT_SYMBOL vmlinux 0x8e116a88 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x8e200a3d migrate_page_states +EXPORT_SYMBOL vmlinux 0x8e3b6bb1 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x8e4872d3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e5b4f87 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x8e5dc050 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x8e7958ba netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x8e7fb2e6 page_symlink +EXPORT_SYMBOL vmlinux 0x8e865d3c arm_delay_ops +EXPORT_SYMBOL vmlinux 0x8e876807 rps_needed +EXPORT_SYMBOL vmlinux 0x8e878fda sock_setsockopt +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9aa4a4 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x8e9dcc5b logfc +EXPORT_SYMBOL vmlinux 0x8eac58d0 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL vmlinux 0x8ed29f7b snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x8edbfffb hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8edfeb12 unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x8eec59df vme_init_bridge +EXPORT_SYMBOL vmlinux 0x8efac3a5 sock_i_ino +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f158265 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x8f236444 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x8f2fc7ab cdev_init +EXPORT_SYMBOL vmlinux 0x8f3625fe _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f60aec1 register_netdev +EXPORT_SYMBOL vmlinux 0x8f62ad3c tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f8f657f bsearch +EXPORT_SYMBOL vmlinux 0x8f943bc9 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa88d57 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x8fc779f7 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x8fcb26a0 dma_find_channel +EXPORT_SYMBOL vmlinux 0x8fce418f hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x8fce5394 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fdd9786 block_read_full_page +EXPORT_SYMBOL vmlinux 0x8fdfd7a8 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x8fe35457 xxh32_update +EXPORT_SYMBOL vmlinux 0x8fe78f0e empty_aops +EXPORT_SYMBOL vmlinux 0x8fe8ab55 snd_timer_pause +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x902debb4 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x903b02d1 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x9046c5e3 neigh_xmit +EXPORT_SYMBOL vmlinux 0x904781dc input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x90522706 pcim_iomap +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x90609db6 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x906f5252 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x907e4728 seq_dentry +EXPORT_SYMBOL vmlinux 0x90803b23 snd_timer_close +EXPORT_SYMBOL vmlinux 0x90811366 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x90827de4 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x9083bf00 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x908826d0 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x908d7c41 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x909244c5 param_set_invbool +EXPORT_SYMBOL vmlinux 0x909332ca register_sysctl +EXPORT_SYMBOL vmlinux 0x90984e6f phy_attach +EXPORT_SYMBOL vmlinux 0x90a07af9 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d49b45 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x90eb6e73 __skb_pad +EXPORT_SYMBOL vmlinux 0x90fa80b1 ilookup +EXPORT_SYMBOL vmlinux 0x910096b6 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x91196964 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x911e55c8 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x91235542 snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x9135dba6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x913cbeb8 key_link +EXPORT_SYMBOL vmlinux 0x9142f041 sock_release +EXPORT_SYMBOL vmlinux 0x914ae917 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x915df785 contig_page_data +EXPORT_SYMBOL vmlinux 0x9179d488 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919fd4e9 blk_put_request +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91c0d16d pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x91c6698a kill_anon_super +EXPORT_SYMBOL vmlinux 0x91cea64a may_umount_tree +EXPORT_SYMBOL vmlinux 0x91d89d37 elv_rb_del +EXPORT_SYMBOL vmlinux 0x91eefa95 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x91f21f69 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x920f4d97 vfs_readlink +EXPORT_SYMBOL vmlinux 0x921b07b1 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x92317a60 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923ea194 __xa_insert +EXPORT_SYMBOL vmlinux 0x924e2b8a param_get_int +EXPORT_SYMBOL vmlinux 0x926c3d08 rproc_del +EXPORT_SYMBOL vmlinux 0x92a563ba vc_cons +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bbd652 __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x92d1d491 flush_signals +EXPORT_SYMBOL vmlinux 0x92d25afd blkdev_fsync +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f88049 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92ff477f put_cmsg +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93111582 bdevname +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x933cd15d jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x934c39a7 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x93668b8a pcim_pin_device +EXPORT_SYMBOL vmlinux 0x93713086 sg_split +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x937ba701 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x938ef857 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x939e8298 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a7ae30 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x93ae7c61 vfs_get_super +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93bdaa1f dma_pool_free +EXPORT_SYMBOL vmlinux 0x93c82a6f scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x93d849bd neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x93d95b3a vme_slave_set +EXPORT_SYMBOL vmlinux 0x93ef1a9d snd_jack_add_new_kctl +EXPORT_SYMBOL vmlinux 0x93f7ed6c block_write_full_page +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x9425caca _raw_write_lock +EXPORT_SYMBOL vmlinux 0x942d6ced tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x943747ed mmput_async +EXPORT_SYMBOL vmlinux 0x943dc8aa crc32_be +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x944b4e25 seq_release +EXPORT_SYMBOL vmlinux 0x9476b9d0 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x947b1e0c udp6_csum_init +EXPORT_SYMBOL vmlinux 0x947b460a xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x94839033 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x948d719a padata_do_serial +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94994c1e pci_get_class +EXPORT_SYMBOL vmlinux 0x94b60f8a devm_ioremap +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c340f2 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x94d66f30 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x94e69a96 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x94eafc18 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x94feda97 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x95054358 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x950a4004 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x951384a9 scsi_print_command +EXPORT_SYMBOL vmlinux 0x951a51c5 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x952a5f41 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x9530e8b2 configfs_register_group +EXPORT_SYMBOL vmlinux 0x95368d33 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x9556dcb5 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x955cbf2e dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x955cc2a8 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x95aaa9e0 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x95b0198d __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x95be92e0 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x95c79922 nand_monolithic_read_page_raw +EXPORT_SYMBOL vmlinux 0x95cda7c3 __breadahead +EXPORT_SYMBOL vmlinux 0x95d0ce58 sock_from_file +EXPORT_SYMBOL vmlinux 0x95d3d918 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x95d60603 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95e6b6f0 dump_truncate +EXPORT_SYMBOL vmlinux 0x95edfff4 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x95f664ea blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x95ffdccf xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x96010b41 filp_close +EXPORT_SYMBOL vmlinux 0x96063c2e vfs_symlink +EXPORT_SYMBOL vmlinux 0x9611c55a mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x9615cb81 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x9616926c skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x9621e0db of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x965951e6 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x96692436 ucc_fast_free +EXPORT_SYMBOL vmlinux 0x96784934 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x968df39b __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x968ff60a setup_arg_pages +EXPORT_SYMBOL vmlinux 0x969bb52f netif_receive_skb +EXPORT_SYMBOL vmlinux 0x96a9b05c imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x96c070e6 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x96c12487 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e3be79 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x9700a9ea security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x9709dbc5 current_work +EXPORT_SYMBOL vmlinux 0x970ca102 nand_write_oob_std +EXPORT_SYMBOL vmlinux 0x97104c21 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x97106714 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x97377a51 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x97390fca nand_get_set_features_notsupp +EXPORT_SYMBOL vmlinux 0x976355ce __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x976e65df cred_fscmp +EXPORT_SYMBOL vmlinux 0x97710e95 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x9780b53c input_get_keycode +EXPORT_SYMBOL vmlinux 0x9788388d vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x979834fc of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97a52553 from_kprojid +EXPORT_SYMBOL vmlinux 0x97aa22e1 dquot_drop +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b85322 snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x97bb1bb1 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d43bed param_ops_int +EXPORT_SYMBOL vmlinux 0x97df63f0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x97e1fd0f dev_uc_add +EXPORT_SYMBOL vmlinux 0x980e4bcd devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x98112703 scsi_device_put +EXPORT_SYMBOL vmlinux 0x9820cab3 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x9825f472 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x982d9f46 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x983ac031 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x98416e64 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x98475221 pci_find_capability +EXPORT_SYMBOL vmlinux 0x98660f45 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x9868c130 get_task_exe_file +EXPORT_SYMBOL vmlinux 0x987232a7 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x987c11c7 __pv_phys_pfn_offset +EXPORT_SYMBOL vmlinux 0x987d13e4 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x98832da8 utf8ncursor +EXPORT_SYMBOL vmlinux 0x9891d82e ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x9892e7c9 proc_create +EXPORT_SYMBOL vmlinux 0x98a21b5a neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x98a8ca21 bdget +EXPORT_SYMBOL vmlinux 0x98aebdf0 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x98bb5be3 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x98bc57c4 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98d27dad inc_node_page_state +EXPORT_SYMBOL vmlinux 0x98dc1b2f __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x992a8ceb kmap_atomic_high_prot +EXPORT_SYMBOL vmlinux 0x992e2bba key_reject_and_link +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x993b03df percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x9941be12 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x9944aaad tty_name +EXPORT_SYMBOL vmlinux 0x9947700f seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x9948a138 ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x996829ea swake_up_all +EXPORT_SYMBOL vmlinux 0x998394e8 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x998fbb9d fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x99960f0d sock_i_uid +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99b545a8 vga_get +EXPORT_SYMBOL vmlinux 0x99b836f1 current_in_userns +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99c2a2cb cdrom_check_events +EXPORT_SYMBOL vmlinux 0x99c46125 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x99c8a44e dst_release_immediate +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d4acf4 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x99d7a161 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x99ed4acd __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x99f8b38b bio_split +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a105f60 tcp_conn_request +EXPORT_SYMBOL vmlinux 0x9a1250a6 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x9a12d07b sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x9a144b30 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x9a152d10 dns_query +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a3b02d0 mpage_writepages +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a59498d snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x9a6b700e dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x9a8318ef v7_coherent_kern_range +EXPORT_SYMBOL vmlinux 0x9a89a7a3 proc_douintvec +EXPORT_SYMBOL vmlinux 0x9a89eea0 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x9a950aeb generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x9aa77e60 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x9aa9cea4 trace_print_flags_seq_u64 +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab3d3de qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x9ab941fe page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x9aca806a dquot_file_open +EXPORT_SYMBOL vmlinux 0x9acb8066 _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x9acc0687 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x9acda5a3 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x9acec9b9 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x9addc7ca tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x9ade1aec of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x9ae71c11 kthread_stop +EXPORT_SYMBOL vmlinux 0x9af75e9a input_open_device +EXPORT_SYMBOL vmlinux 0x9b02ca77 register_sound_special +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b1b7306 xxh64 +EXPORT_SYMBOL vmlinux 0x9b1f9cb3 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3f8f12 nla_put +EXPORT_SYMBOL vmlinux 0x9b41e015 amba_request_regions +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b7ed14d blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x9bb92328 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x9bba00e2 of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0x9bf7a535 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x9bfdca7e of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x9bfed72b snd_timer_resolution +EXPORT_SYMBOL vmlinux 0x9c11f83f _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x9c12be9d bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x9c1a9079 iterate_dir +EXPORT_SYMBOL vmlinux 0x9c25206b pci_release_resource +EXPORT_SYMBOL vmlinux 0x9c27bb34 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x9c460a81 try_to_release_page +EXPORT_SYMBOL vmlinux 0x9c4811c0 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x9c507f3d __put_user_ns +EXPORT_SYMBOL vmlinux 0x9c56929b simple_transaction_set +EXPORT_SYMBOL vmlinux 0x9c5782c0 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x9c675653 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x9c6d68f8 cad_pid +EXPORT_SYMBOL vmlinux 0x9c7419dc ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9c752a44 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x9c98dd82 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9ccc4aa5 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce68980 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x9ce7fed5 dma_resv_init +EXPORT_SYMBOL vmlinux 0x9cfd71aa revalidate_disk +EXPORT_SYMBOL vmlinux 0x9d06ac33 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x9d09c239 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1bc075 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x9d24c206 skb_clone +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d487f5b bdi_put +EXPORT_SYMBOL vmlinux 0x9d4af760 deactivate_super +EXPORT_SYMBOL vmlinux 0x9d5cd559 reservation_ww_class +EXPORT_SYMBOL vmlinux 0x9d62835a of_get_pci_address +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d704ce8 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x9d71aec2 __napi_schedule +EXPORT_SYMBOL vmlinux 0x9d733d72 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9dc08a71 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x9dc83366 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x9dcfd8dc set_disk_ro +EXPORT_SYMBOL vmlinux 0x9e04b31e irq_to_desc +EXPORT_SYMBOL vmlinux 0x9e0b177b xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0ec162 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e160ad5 setup_new_exec +EXPORT_SYMBOL vmlinux 0x9e3bfb9c tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5d375f devm_of_iomap +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e636c6f udp_seq_stop +EXPORT_SYMBOL vmlinux 0x9e64cf5f blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e8d1a52 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x9e9a9cb4 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea0f338 dquot_release +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec3ae04 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x9ec67f79 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed08e0c __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x9ed39a54 down_trylock +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9eda72c9 block_truncate_page +EXPORT_SYMBOL vmlinux 0x9eddfac0 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x9ee06e81 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x9ee70d98 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x9eea6334 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x9efddb63 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x9f016429 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x9f06b44a locks_copy_lock +EXPORT_SYMBOL vmlinux 0x9f0b4573 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x9f1a1529 inet_frag_find +EXPORT_SYMBOL vmlinux 0x9f1de7aa pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x9f1e4c44 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9f2995f0 vlan_for_each +EXPORT_SYMBOL vmlinux 0x9f2d9884 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f5ba6ad ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0x9f96ec0a alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9a5310 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x9f9d66c8 icmp6_send +EXPORT_SYMBOL vmlinux 0x9fa0031b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fdbddd3 tty_hangup +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ff364c8 km_report +EXPORT_SYMBOL vmlinux 0x9ff9927f vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffbdabd snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0xa0112f45 user_revoke +EXPORT_SYMBOL vmlinux 0xa0133f9a cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0xa01ee78c flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xa0290f9b ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xa02eb869 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xa03943e9 kernel_read +EXPORT_SYMBOL vmlinux 0xa042c6bf path_has_submounts +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04db076 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05df183 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa0795957 stop_tty +EXPORT_SYMBOL vmlinux 0xa080966b of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa0913f74 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xa0949955 build_skb_around +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09d6bbe pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xa09e137c snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0xa0aae687 imx_ssi_fiq_end +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0aefe3e bit_waitqueue +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b6d55b tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0defda2 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xa0dfad8f blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xa0e86c1b ps2_begin_command +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0eeb915 dma_sync_wait +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1084a58 tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10f81bc param_set_int +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12b03cf __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xa130c8e4 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xa139badc d_lookup +EXPORT_SYMBOL vmlinux 0xa15d0131 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0xa16b21fb wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xa16c7946 of_iomap +EXPORT_SYMBOL vmlinux 0xa17bd3fc add_wait_queue +EXPORT_SYMBOL vmlinux 0xa181bd45 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa1839690 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa1a09243 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xa1bacd91 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d131ed vmemdup_user +EXPORT_SYMBOL vmlinux 0xa1d55a02 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0xa1ee570e i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xa1fde3db xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0xa1fea7c2 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xa200718d dm_get_device +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa209f82b _dev_info +EXPORT_SYMBOL vmlinux 0xa20e2863 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xa2282975 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0xa2282997 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xa24491bf ida_free +EXPORT_SYMBOL vmlinux 0xa249d21c ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2646e02 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0xa2682e2f mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0xa26b5d11 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0xa2729bf0 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2d9846e param_get_ulong +EXPORT_SYMBOL vmlinux 0xa2e3da0d sk_alloc +EXPORT_SYMBOL vmlinux 0xa30cce62 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xa30d7cea register_fib_notifier +EXPORT_SYMBOL vmlinux 0xa31b28fa __bforget +EXPORT_SYMBOL vmlinux 0xa31e357b rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xa3313e71 seq_escape +EXPORT_SYMBOL vmlinux 0xa336a73e sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xa340adea pci_bus_type +EXPORT_SYMBOL vmlinux 0xa34d6a82 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xa35831f9 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xa3640319 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xa380a8ee vme_new_dma_list +EXPORT_SYMBOL vmlinux 0xa38878f8 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0xa38cca68 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0xa39655e1 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0xa3a54979 init_on_free +EXPORT_SYMBOL vmlinux 0xa3ac158f sg_alloc_table +EXPORT_SYMBOL vmlinux 0xa3b1dadc tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa3b6e1b7 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0xa3b9be88 vme_irq_request +EXPORT_SYMBOL vmlinux 0xa3bae3f6 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xa3c00c06 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0xa3c08f45 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xa3c424f1 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xa3cf37b1 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xa3f65e13 snd_device_register +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa41b1d0c memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0xa422aeba dump_align +EXPORT_SYMBOL vmlinux 0xa42fa8ac fput +EXPORT_SYMBOL vmlinux 0xa43799a8 rfs_needed +EXPORT_SYMBOL vmlinux 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xa44cc9ea init_task +EXPORT_SYMBOL vmlinux 0xa4552208 init_on_alloc +EXPORT_SYMBOL vmlinux 0xa455fafb of_device_register +EXPORT_SYMBOL vmlinux 0xa4597a22 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa49f32db register_framebuffer +EXPORT_SYMBOL vmlinux 0xa4aa9e1b sock_kfree_s +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4b6cff8 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xa4b7f2cc sync_file_get_fence +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4c8a1a1 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xa4ca24a5 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0xa4d2ed04 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xa4fc1a59 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa504ff63 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0xa505426a fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xa50592cd scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xa5491e6f genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55c94ed unregister_key_type +EXPORT_SYMBOL vmlinux 0xa55c9634 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xa5684076 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xa56fde1c __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xa5703427 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xa59052f0 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa5a2e5c4 tcp_filter +EXPORT_SYMBOL vmlinux 0xa5a36cf8 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0xa5ac22ea sock_no_listen +EXPORT_SYMBOL vmlinux 0xa5b32267 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xa5c09432 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa623c9f3 set_cached_acl +EXPORT_SYMBOL vmlinux 0xa62aea7f scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa6370d4d of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0xa63eb7bf mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xa64d368e __put_cred +EXPORT_SYMBOL vmlinux 0xa651d818 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xa65acdbb fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xa6790028 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa68613dd get_jiffies_64 +EXPORT_SYMBOL vmlinux 0xa6878c19 param_get_short +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6981551 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xa6997cf5 vprintk_emit +EXPORT_SYMBOL vmlinux 0xa6a1122f __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xa6a7a2ad div_s64_rem +EXPORT_SYMBOL vmlinux 0xa6ca5e88 datagram_poll +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa720c8ba proto_register +EXPORT_SYMBOL vmlinux 0xa724a58b __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xa72957cc __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0xa72c5b95 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xa739b6e1 phy_print_status +EXPORT_SYMBOL vmlinux 0xa73ee62b _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xa74ac01f blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7531eb4 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xa7561983 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xa763a7f1 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL vmlinux 0xa76b0a11 sk_wait_data +EXPORT_SYMBOL vmlinux 0xa770d099 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0xa776ec38 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa79d43b2 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xa7b3181c up_read +EXPORT_SYMBOL vmlinux 0xa7cbb4be filemap_check_errors +EXPORT_SYMBOL vmlinux 0xa7cbcdb0 nand_correct_data +EXPORT_SYMBOL vmlinux 0xa7dff5d8 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eea667 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7fd7439 config_group_init +EXPORT_SYMBOL vmlinux 0xa800717b generic_fadvise +EXPORT_SYMBOL vmlinux 0xa80acb56 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xa818f771 generic_file_open +EXPORT_SYMBOL vmlinux 0xa82ed088 of_get_next_parent +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa83ab997 generic_make_request +EXPORT_SYMBOL vmlinux 0xa842c158 hmm_range_fault +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84cad4e inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa870696c dev_lstats_read +EXPORT_SYMBOL vmlinux 0xa8a08caf trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xa8a2cb76 nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0xa8a78b4f fqdir_exit +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8b31f18 netdev_crit +EXPORT_SYMBOL vmlinux 0xa8b50935 begin_new_exec +EXPORT_SYMBOL vmlinux 0xa8bd7afb vme_bus_type +EXPORT_SYMBOL vmlinux 0xa8c8b024 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8d7c7d7 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xa8ec7d34 crc_ccitt +EXPORT_SYMBOL vmlinux 0xa8ee65c1 omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8f7f280 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xa8fe6799 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa9375ebd mtd_concat_create +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa96cf844 do_clone_file_range +EXPORT_SYMBOL vmlinux 0xa97abfed mark_page_accessed +EXPORT_SYMBOL vmlinux 0xa998e7ed empty_zero_page +EXPORT_SYMBOL vmlinux 0xa99ff802 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xa9a70e01 input_register_handler +EXPORT_SYMBOL vmlinux 0xa9a7432f qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0xa9ddc883 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xa9e49eed ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xa9eb465f ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0xa9ed62d2 tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0xa9fb5b60 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xaa012bca dquot_operations +EXPORT_SYMBOL vmlinux 0xaa050800 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xaa42e16a gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0xaa60e5c6 input_register_handle +EXPORT_SYMBOL vmlinux 0xaa65d477 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa82b43 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xaac3b0a4 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xaac48da8 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xaacc9e27 sort +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 0xaae008f1 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0xaae52c40 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xaaebf289 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xaafd9237 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab062a7e bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xab109439 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xab23003d uart_register_driver +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab386286 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab5c376e ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab6baf11 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xab6ccbc9 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xab6ed170 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xab724931 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab7603e7 imx_ssi_fiq_start +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab8480f0 phy_attached_info +EXPORT_SYMBOL vmlinux 0xab867862 simple_readpage +EXPORT_SYMBOL vmlinux 0xab8a339f phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xabaac227 bio_clone_fast +EXPORT_SYMBOL vmlinux 0xabaf97a7 vm_mmap +EXPORT_SYMBOL vmlinux 0xabb93956 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xabbabd99 unlock_page +EXPORT_SYMBOL vmlinux 0xabcdc413 netdev_change_features +EXPORT_SYMBOL vmlinux 0xabe043e1 redraw_screen +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac107b69 kfree_skb_list +EXPORT_SYMBOL vmlinux 0xac1913d6 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac331b07 ucc_slow_free +EXPORT_SYMBOL vmlinux 0xac3a749c phy_set_max_speed +EXPORT_SYMBOL vmlinux 0xac3f6c3e flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0xac47dc06 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xac54bcc4 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0xac5ab829 __snd_pcm_lib_xfer +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac8ab106 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xac8b56de simple_open +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacb31ecf _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xacc02862 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xacc2329d blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xacd4f4b1 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacd93611 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xacdb7998 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacf67c70 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xacfaf683 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0e6bd4 ioremap_wc +EXPORT_SYMBOL vmlinux 0xad1e9afb vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xad32442c serio_unregister_port +EXPORT_SYMBOL vmlinux 0xad32652f bio_chain +EXPORT_SYMBOL vmlinux 0xad47883c tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xad5f30e2 __d_lookup_done +EXPORT_SYMBOL vmlinux 0xad6eaa16 nand_monolithic_write_page_raw +EXPORT_SYMBOL vmlinux 0xad6f7144 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad7b423a abort_creds +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad874dcd dev_driver_string +EXPORT_SYMBOL vmlinux 0xad8a5af0 dev_close +EXPORT_SYMBOL vmlinux 0xad8bec65 blkdev_get +EXPORT_SYMBOL vmlinux 0xad97bd49 iptun_encaps +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xadbeaffe xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadd0da63 dev_trans_start +EXPORT_SYMBOL vmlinux 0xadd22e70 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0xadd4f895 pps_register_source +EXPORT_SYMBOL vmlinux 0xade1e47f scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae128389 param_ops_short +EXPORT_SYMBOL vmlinux 0xae30d525 snd_pcm_set_managed_buffer +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae408327 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xae60eec4 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0xae6a624e sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xae81d22a phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xae8e7e41 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xae9849dd __request_region +EXPORT_SYMBOL vmlinux 0xae9e9065 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xae9f8fad max8998_write_reg +EXPORT_SYMBOL vmlinux 0xaea06901 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xaeaae8df sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xaeab13cb of_node_get +EXPORT_SYMBOL vmlinux 0xaeab9143 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeccba82 get_watch_queue +EXPORT_SYMBOL vmlinux 0xaed17436 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xaedf6904 __devm_release_region +EXPORT_SYMBOL vmlinux 0xaee95991 ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0xaeeca87f reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xaf07d5f9 tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0xaf16f615 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xaf2863f3 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xaf2e3ce9 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0xaf2f08e1 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xaf33441b input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0xaf3ca599 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf50e76d elf_set_personality +EXPORT_SYMBOL vmlinux 0xaf6308da snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL vmlinux 0xaf84865e __get_user_8 +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf9614ec dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0xaf9a0a2a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xafaf03c9 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xafaff2a5 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0xafba38e5 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xafc0f5ab thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0xafc2347b xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xafd04911 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xafdbea79 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xafe2aecb get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xb00124fa param_set_ulong +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb02d9f63 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xb02e5461 block_write_begin +EXPORT_SYMBOL vmlinux 0xb036659e pci_set_mwi +EXPORT_SYMBOL vmlinux 0xb0446000 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xb0589526 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06cf299 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0xb0a0b8e0 d_path +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a3b9e2 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xb0a3c5d2 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xb0a9930b backlight_device_register +EXPORT_SYMBOL vmlinux 0xb0cb7366 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xb0d0d1b9 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f3d62e vm_insert_pages +EXPORT_SYMBOL vmlinux 0xb0f8a1fb vm_get_page_prot +EXPORT_SYMBOL vmlinux 0xb1090bd5 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0xb1194f2f of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb13b465a __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14bfec8 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xb14d3724 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15f7ced inode_get_bytes +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb16c1707 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xb1702e56 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xb1888417 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xb19d2238 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xb1a1709c tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1ac3aa4 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xb1ad28e0 __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c8cf7f i2c_transfer +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1f25fa7 ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xb216d331 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0xb21e83cd __mdiobus_write +EXPORT_SYMBOL vmlinux 0xb221ed1c input_unregister_device +EXPORT_SYMBOL vmlinux 0xb22a0e7c _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb2462d0d md_handle_request +EXPORT_SYMBOL vmlinux 0xb248b95a bprm_change_interp +EXPORT_SYMBOL vmlinux 0xb249a391 omap_request_dma +EXPORT_SYMBOL vmlinux 0xb253e9f3 truncate_setsize +EXPORT_SYMBOL vmlinux 0xb2625dad rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0xb26e9975 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xb273e9df mark_info_dirty +EXPORT_SYMBOL vmlinux 0xb286c477 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xb28d325d ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb2c1e74b dev_printk +EXPORT_SYMBOL vmlinux 0xb2cd3875 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xb2d0053e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xb2d48a2e queue_work_on +EXPORT_SYMBOL vmlinux 0xb2d57ced ping_prot +EXPORT_SYMBOL vmlinux 0xb2dd1589 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0xb2ff0feb dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xb305ef4a __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0xb3067345 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb31eeaa7 sget_fc +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb32d91e2 follow_down_one +EXPORT_SYMBOL vmlinux 0xb3326223 key_type_keyring +EXPORT_SYMBOL vmlinux 0xb3483787 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xb34d0f68 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xb35492bb xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0xb3574818 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xb3667805 dqstats +EXPORT_SYMBOL vmlinux 0xb367c984 mxc_set_irq_fiq +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36bb0c2 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0xb36c0f48 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0xb37d1cab devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xb39e15d8 skb_trim +EXPORT_SYMBOL vmlinux 0xb39e5a80 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xb3b00bc8 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xb3b37a9a tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3e3da75 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xb3ea538a fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4164295 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4519a8f string_escape_mem +EXPORT_SYMBOL vmlinux 0xb4671be4 mdio_driver_register +EXPORT_SYMBOL vmlinux 0xb4688f34 file_update_time +EXPORT_SYMBOL vmlinux 0xb476c8f4 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4939f57 param_ops_bool +EXPORT_SYMBOL vmlinux 0xb4f0dae7 register_filesystem +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb500fdcd snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0xb5130f64 snd_component_add +EXPORT_SYMBOL vmlinux 0xb553b64b kthread_create_worker +EXPORT_SYMBOL vmlinux 0xb55c3055 do_SAK +EXPORT_SYMBOL vmlinux 0xb56d2c5a dst_init +EXPORT_SYMBOL vmlinux 0xb56db2ae unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb584014b devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a943f2 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5adcb1d gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xb5b52715 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb5bb72cd snd_timer_global_register +EXPORT_SYMBOL vmlinux 0xb5c3ddbe netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xb5c67c64 nla_reserve +EXPORT_SYMBOL vmlinux 0xb5cd6780 dentry_open +EXPORT_SYMBOL vmlinux 0xb5d028ca ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb5d6a769 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xb5e3827c reuseport_alloc +EXPORT_SYMBOL vmlinux 0xb5f6153a would_dump +EXPORT_SYMBOL vmlinux 0xb602031e fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0xb614f572 dquot_resume +EXPORT_SYMBOL vmlinux 0xb62f451c _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0xb6469ddf napi_complete_done +EXPORT_SYMBOL vmlinux 0xb650de43 sync_filesystem +EXPORT_SYMBOL vmlinux 0xb6564f70 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb6601f01 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xb6742cd5 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb679549a set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67e5780 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xb67e9dbe kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb68c4725 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb69c55ab inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b6284e xz_dec_run +EXPORT_SYMBOL vmlinux 0xb6e0451b of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xb6f9465b pci_scan_bus +EXPORT_SYMBOL vmlinux 0xb712078b dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xb712afce napi_gro_flush +EXPORT_SYMBOL vmlinux 0xb71549b9 release_pages +EXPORT_SYMBOL vmlinux 0xb71d986d snd_pcm_hw_limit_rates +EXPORT_SYMBOL vmlinux 0xb72296db pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0xb7362c90 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0xb76a6e25 sock_create_lite +EXPORT_SYMBOL vmlinux 0xb777a422 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0xb7872388 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb78e1fc1 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0xb78e2050 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0xb7916537 inet_frags_init +EXPORT_SYMBOL vmlinux 0xb7a9cdf1 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xb7abcea8 console_start +EXPORT_SYMBOL vmlinux 0xb7b107b3 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0xb7bbc8de dev_uc_sync +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7df0e97 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xb7e82265 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xb8054920 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xb809189f free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xb8214fab genl_unregister_family +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb84b33ea gro_cells_init +EXPORT_SYMBOL vmlinux 0xb853586b param_ops_string +EXPORT_SYMBOL vmlinux 0xb8551761 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xb8557ecf ip6_xmit +EXPORT_SYMBOL vmlinux 0xb864b84b ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb8742ad5 snd_register_device +EXPORT_SYMBOL vmlinux 0xb8989e5b inet_gso_segment +EXPORT_SYMBOL vmlinux 0xb89b5fe4 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b3f1f2 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xb8c66c45 dma_fence_get_status +EXPORT_SYMBOL vmlinux 0xb8c76e79 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb8fb9c32 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb9211630 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xb921c940 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0xb92b41b4 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xb92b7089 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xb9312a77 input_inject_event +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9439ac8 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xb947a5f2 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xb958d903 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb966ef8a xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb9820d59 dev_change_flags +EXPORT_SYMBOL vmlinux 0xb9a613c6 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9af1994 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0xb9c305a5 blk_register_region +EXPORT_SYMBOL vmlinux 0xb9d5d867 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9fadbe4 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xba09f843 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xba1640c4 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0xba2ffeea ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0xba3ee799 iov_iter_npages +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4ae097 enable_fiq +EXPORT_SYMBOL vmlinux 0xba4b1df6 build_skb +EXPORT_SYMBOL vmlinux 0xba4cd136 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xba59fe41 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xba643275 pps_unregister_source +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba7e0ca1 csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xba8d820f param_set_short +EXPORT_SYMBOL vmlinux 0xba92afad km_state_expired +EXPORT_SYMBOL vmlinux 0xba954101 unpin_user_page +EXPORT_SYMBOL vmlinux 0xba9ab86f device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xbaa1c9a5 __mdiobus_read +EXPORT_SYMBOL vmlinux 0xbaa7c8c5 krealloc +EXPORT_SYMBOL vmlinux 0xbaae6ce4 skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbadf49f7 dev_remove_offload +EXPORT_SYMBOL vmlinux 0xbae1827d vme_lm_request +EXPORT_SYMBOL vmlinux 0xbae57625 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xbaf05871 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xbaf7ab23 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb0ab588 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0xbb14eb31 bcmp +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb2d9261 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb43cbe2 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0xbb5fb8dd vga_client_register +EXPORT_SYMBOL vmlinux 0xbb6df778 sg_nents +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7d39f3 finish_open +EXPORT_SYMBOL vmlinux 0xbb8aa75b ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xbb8aaf89 init_pseudo +EXPORT_SYMBOL vmlinux 0xbba48d74 km_query +EXPORT_SYMBOL vmlinux 0xbba9a196 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xbbac01c2 param_get_ushort +EXPORT_SYMBOL vmlinux 0xbbcc2008 udp_disconnect +EXPORT_SYMBOL vmlinux 0xbbcff9a4 check_zeroed_user +EXPORT_SYMBOL vmlinux 0xbbe341c1 zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0xbc003aee padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xbc08f6a5 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc1f82b9 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xbc240578 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xbc24e1be dev_get_mac_address +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc295b48 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0xbc3e565e clear_inode +EXPORT_SYMBOL vmlinux 0xbc3f7826 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xbc4088a5 tcf_block_get +EXPORT_SYMBOL vmlinux 0xbc50f568 devm_request_resource +EXPORT_SYMBOL vmlinux 0xbc56d394 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xbc62d176 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xbc6e0e24 snd_timer_instance_free +EXPORT_SYMBOL vmlinux 0xbc7b8fcf devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0xbc8ac305 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc331ac genl_notify +EXPORT_SYMBOL vmlinux 0xbccdb477 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbcece922 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xbcfb04d3 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xbd00139e __udp_disconnect +EXPORT_SYMBOL vmlinux 0xbd16b039 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xbd2f96d9 rio_query_mport +EXPORT_SYMBOL vmlinux 0xbd6e9690 param_ops_ushort +EXPORT_SYMBOL vmlinux 0xbd7087ab xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xbd72ac6f con_copy_unimap +EXPORT_SYMBOL vmlinux 0xbd820297 rtc_lock +EXPORT_SYMBOL vmlinux 0xbd8555f8 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xbd8f2c0b pci_map_rom +EXPORT_SYMBOL vmlinux 0xbda50ec3 security_path_unlink +EXPORT_SYMBOL vmlinux 0xbdef0bf9 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xbdfeb23a clk_add_alias +EXPORT_SYMBOL vmlinux 0xbe0383bf i2c_register_driver +EXPORT_SYMBOL vmlinux 0xbe0e3cba tcf_queue_work +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe308d6a bio_advance +EXPORT_SYMBOL vmlinux 0xbe42d3fb skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe58206e vm_zone_stat +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5ea6a5 vme_dma_request +EXPORT_SYMBOL vmlinux 0xbe6dcff1 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xbe7ced6d tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xbe816a31 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xbe8b8ad1 security_sk_clone +EXPORT_SYMBOL vmlinux 0xbeb26b79 zpool_register_driver +EXPORT_SYMBOL vmlinux 0xbeb44189 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xbeb5b862 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xbecf4262 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0xbee12a7b vc_resize +EXPORT_SYMBOL vmlinux 0xbee73a0e get_tree_keyed +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef4c7e4 inode_set_flags +EXPORT_SYMBOL vmlinux 0xbef628c3 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xbf30eadd dcb_getapp +EXPORT_SYMBOL vmlinux 0xbf3ba81e get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0xbf44be23 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xbf4d4539 udp_table +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf7347b2 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xbf756bb0 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xbf75a428 _dev_warn +EXPORT_SYMBOL vmlinux 0xbf75ea6c tegra114_clock_tune_cpu_trimmers_low +EXPORT_SYMBOL vmlinux 0xbf977b18 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa0d873 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xbfa4097e inet_csk_accept +EXPORT_SYMBOL vmlinux 0xbfaf72ef input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0xbfc0b9db vfs_setpos +EXPORT_SYMBOL vmlinux 0xbfc89f2e register_mii_timestamper +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfdf7bc3 mempool_create +EXPORT_SYMBOL vmlinux 0xbfec9adf devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbfee809d __kfree_skb +EXPORT_SYMBOL vmlinux 0xc00b5bf6 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc04b3f8c ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0xc04d4e08 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xc06690b7 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc08b851d __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc09729f7 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0a98385 profile_pc +EXPORT_SYMBOL vmlinux 0xc0ae8b2d dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bdbba3 set_nlink +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0da0e99 dim_on_top +EXPORT_SYMBOL vmlinux 0xc0e17977 param_ops_uint +EXPORT_SYMBOL vmlinux 0xc0fb357a dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc12979d6 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xc1341249 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xc135d68e inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xc13a7ba6 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc15d3c19 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xc15f4ed8 utf8nlen +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc167717c pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc17b9047 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xc1879170 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0xc196dda7 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xc19a7a32 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xc1a34c74 path_is_under +EXPORT_SYMBOL vmlinux 0xc1ba9570 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0xc1c2822e no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0xc1ce9ed6 misc_deregister +EXPORT_SYMBOL vmlinux 0xc1d587e9 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e2c742 tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0xc1eb6833 sk_free +EXPORT_SYMBOL vmlinux 0xc2059c64 fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0xc207ee07 complete_and_exit +EXPORT_SYMBOL vmlinux 0xc2139c76 input_set_capability +EXPORT_SYMBOL vmlinux 0xc227a5d5 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xc230c9a8 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0xc2321020 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xc23d7f5f __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xc257fa14 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xc25ad4bd blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xc265decb scsi_device_get +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc271c3be mutex_lock +EXPORT_SYMBOL vmlinux 0xc2758871 seq_release_private +EXPORT_SYMBOL vmlinux 0xc279969a omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xc27b7ad9 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xc2810379 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xc2998302 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xc29f60fe write_inode_now +EXPORT_SYMBOL vmlinux 0xc2acc033 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xc2ad8be3 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xc2b1d4e1 lockref_put_return +EXPORT_SYMBOL vmlinux 0xc2cf2dde ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ede9c5 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xc2f2230e inode_needs_sync +EXPORT_SYMBOL vmlinux 0xc301f189 register_quota_format +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc3282d5a tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc333bd2c bd_set_size +EXPORT_SYMBOL vmlinux 0xc335be41 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xc33b44ec md_write_start +EXPORT_SYMBOL vmlinux 0xc358aaf8 snprintf +EXPORT_SYMBOL vmlinux 0xc37335b0 complete +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3a01a4a ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xc3e72374 vme_slave_request +EXPORT_SYMBOL vmlinux 0xc3e943a0 pci_iomap +EXPORT_SYMBOL vmlinux 0xc3ec7dc1 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xc40c781b snd_ctl_add +EXPORT_SYMBOL vmlinux 0xc4135998 inode_init_always +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc427e066 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0xc42f7010 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xc4652a40 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xc4657dc8 mempool_init +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc49914a9 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xc49bbded vlan_vid_del +EXPORT_SYMBOL vmlinux 0xc4a46495 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0xc4b05b87 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xc4b0602b ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xc4c10a39 skb_copy +EXPORT_SYMBOL vmlinux 0xc4c91467 __nla_put +EXPORT_SYMBOL vmlinux 0xc4e51cca proc_mkdir +EXPORT_SYMBOL vmlinux 0xc4f0589e __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xc5172e1e generic_update_time +EXPORT_SYMBOL vmlinux 0xc51f179d pci_set_master +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc52f2ea1 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xc54f0880 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0xc55c9d68 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xc55e72ae nand_read_oob_std +EXPORT_SYMBOL vmlinux 0xc581500f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5ed3b32 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xc5ee6c48 kvfree_sensitive +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc60e7277 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xc622b957 dst_discard_out +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63fa7de block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xc645ce95 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xc653e44e skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc664a144 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc684ab34 wake_up_process +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6a30878 sock_wfree +EXPORT_SYMBOL vmlinux 0xc6ad4d60 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xc6b042a2 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xc6b1489d devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xc6bfb3d7 set_groups +EXPORT_SYMBOL vmlinux 0xc6c6d854 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6cd911f __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xc6e40fba inet_offloads +EXPORT_SYMBOL vmlinux 0xc6efeacb xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xc6f15633 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc7118e0b configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0xc71619ba param_get_bool +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc727849c rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0xc7377ea7 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xc74c98ba find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xc74fb677 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xc7513f17 param_get_byte +EXPORT_SYMBOL vmlinux 0xc756175f netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79714c0 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b4a2fe bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xc7b62cde d_genocide +EXPORT_SYMBOL vmlinux 0xc7b8f033 audit_log_start +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d5e08d udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xc7e031c7 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0xc7e5d13f ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7f59660 seq_hex_dump +EXPORT_SYMBOL vmlinux 0xc816b7bf snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0xc8197563 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0xc81d9f43 scsi_host_busy +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc81f9245 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xc826b120 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xc832233d __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xc8339e24 string_unescape +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88a6bbd abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xc88e0e45 input_setup_polling +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b58a25 __memset64 +EXPORT_SYMBOL vmlinux 0xc8bcd2c4 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc8eb44e4 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xc91eff4f set_posix_acl +EXPORT_SYMBOL vmlinux 0xc92d3ad9 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xc942c5f4 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xc94d8e3b iomem_resource +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc988d4da dma_dummy_ops +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a1b310 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xc9c9113d snd_info_register +EXPORT_SYMBOL vmlinux 0xc9ca3698 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xc9cb2949 snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e7dce5 vme_slot_num +EXPORT_SYMBOL vmlinux 0xc9f69aa0 skb_copy_header +EXPORT_SYMBOL vmlinux 0xca0b90aa __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xca0eb17e copy_string_kernel +EXPORT_SYMBOL vmlinux 0xca1de056 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca2ef5f6 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xca388ffa locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca4ee4b7 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xca696917 inet_select_addr +EXPORT_SYMBOL vmlinux 0xca6e2726 zap_page_range +EXPORT_SYMBOL vmlinux 0xca806926 __sb_end_write +EXPORT_SYMBOL vmlinux 0xca813ce6 LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0xca83453a generic_write_end +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xcaa6514d scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xcaafde4f dev_addr_del +EXPORT_SYMBOL vmlinux 0xcaca3847 of_get_next_child +EXPORT_SYMBOL vmlinux 0xcae9f6a0 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xcaef8286 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcafe072b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb0f3c73 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xcb2a57f6 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xcb38bc17 dump_page +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb4ff6db blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xcb510bc2 complete_all +EXPORT_SYMBOL vmlinux 0xcb606eb9 xa_load +EXPORT_SYMBOL vmlinux 0xcb7d3a65 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0xcb8c753b mempool_exit +EXPORT_SYMBOL vmlinux 0xcb8ffb75 kobject_add +EXPORT_SYMBOL vmlinux 0xcb9e3138 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0xcba22239 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcba55ce5 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0xcbb9ffb2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xcbc13381 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbe11a3a rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xcbf1dbd0 utf8len +EXPORT_SYMBOL vmlinux 0xcc2193f7 udp_seq_next +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc25fdd1 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xcc2b35e9 sock_no_getname +EXPORT_SYMBOL vmlinux 0xcc2ef997 get_fs_type +EXPORT_SYMBOL vmlinux 0xcc30f0f1 tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0xcc313eaa set_wb_congested +EXPORT_SYMBOL vmlinux 0xcc3b2cc9 __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc44aa97 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xcc496d3c snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0xcc75e235 igrab +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccebb09b mmc_detect_change +EXPORT_SYMBOL vmlinux 0xccec8980 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xccfe611b sock_register +EXPORT_SYMBOL vmlinux 0xcd00abbc add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd3e23ed inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xcd43147c phy_write_paged +EXPORT_SYMBOL vmlinux 0xcd4b6b36 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd761ea5 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xcd7bd35a prepare_creds +EXPORT_SYMBOL vmlinux 0xcd7edcbd rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0xcd96a0c3 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xcd973af1 bio_copy_data +EXPORT_SYMBOL vmlinux 0xcdba2a3f snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdc72022 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xcdd795fc __sg_free_table +EXPORT_SYMBOL vmlinux 0xcdd7ddf3 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xcde406a2 dm_register_target +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdfa135d ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xce046f70 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce3f00ff __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce643c61 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce8571ae snd_compr_free_pages +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xcea4f223 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcebd9b98 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xceccf1b0 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xcecec946 inet_frags_fini +EXPORT_SYMBOL vmlinux 0xced7d4c3 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xcedb565e scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xcee50603 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf01f610 panic_notifier_list +EXPORT_SYMBOL vmlinux 0xcf032f2e dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xcf0afd0f pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xcf0d81b9 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf24121c __close_fd_get_file +EXPORT_SYMBOL vmlinux 0xcf34ea47 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xcf3fac84 cpumask_next +EXPORT_SYMBOL vmlinux 0xcf434c8f dm_put_table_device +EXPORT_SYMBOL vmlinux 0xcf5e2c62 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xcf7765b1 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xcf7e1d1d hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcf8251fc nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xcf86cdac queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xcf87e23d mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0xcf8c0a7b debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xcf8dfd46 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfb8bcae phy_start_aneg +EXPORT_SYMBOL vmlinux 0xcfb9e0e3 ioremap_page +EXPORT_SYMBOL vmlinux 0xcfbc1ef5 snd_timer_instance_new +EXPORT_SYMBOL vmlinux 0xcfd5cd1a of_get_parent +EXPORT_SYMBOL vmlinux 0xcfd669b9 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xcfe14dfd register_shrinker +EXPORT_SYMBOL vmlinux 0xcfe27b02 cdev_alloc +EXPORT_SYMBOL vmlinux 0xcfe9fde1 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xcff0cf06 devm_rproc_add +EXPORT_SYMBOL vmlinux 0xcff8e65f pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xd0035d5e tcp_req_err +EXPORT_SYMBOL vmlinux 0xd00caf5e filemap_fault +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd0437ba2 simple_statfs +EXPORT_SYMBOL vmlinux 0xd04bddac register_console +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd04c7414 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xd04febe9 arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0xd0581d62 cpu_tlb +EXPORT_SYMBOL vmlinux 0xd05e4f33 napi_gro_frags +EXPORT_SYMBOL vmlinux 0xd0644da8 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd077f49e inode_io_list_del +EXPORT_SYMBOL vmlinux 0xd07bf0e3 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xd08e2bd7 touch_buffer +EXPORT_SYMBOL vmlinux 0xd0919f5a of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xd091b81c super_setup_bdi +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b5b2cc kernel_sendpage +EXPORT_SYMBOL vmlinux 0xd0e9fb09 release_firmware +EXPORT_SYMBOL vmlinux 0xd0ff78db fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xd102254b add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xd115c86a tty_port_open +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1643862 module_put +EXPORT_SYMBOL vmlinux 0xd16d5967 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1857db0 read_cache_pages +EXPORT_SYMBOL vmlinux 0xd19c536d inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0xd19ccd47 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xd19cf920 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd1abe064 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0xd1b47169 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xd1bcd1ad vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xd1bf4ac8 padata_free +EXPORT_SYMBOL vmlinux 0xd1d09c0c mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0xd1d137eb fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e7551f read_code +EXPORT_SYMBOL vmlinux 0xd1fc2da5 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd222e7ed skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xd236cf21 follow_down +EXPORT_SYMBOL vmlinux 0xd2374f5f xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd23e0fd2 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd25c93c5 par_io_of_config +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd269864a seq_puts +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd29cac68 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xd29f9876 sock_rfree +EXPORT_SYMBOL vmlinux 0xd2b3a325 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e055c8 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xd2eb32b9 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd323fb47 page_pool_create +EXPORT_SYMBOL vmlinux 0xd32d6c08 lockref_get +EXPORT_SYMBOL vmlinux 0xd3509e43 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35ba5e9 of_clk_get +EXPORT_SYMBOL vmlinux 0xd35f75a1 match_string +EXPORT_SYMBOL vmlinux 0xd361cba4 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd370a38d jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd37d9f4d xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xd39d41f4 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0xd39fa6ab __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xd3d19468 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3f94fd0 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd4095afe dquot_disable +EXPORT_SYMBOL vmlinux 0xd40b4db8 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xd40ec854 dget_parent +EXPORT_SYMBOL vmlinux 0xd43848db phy_driver_register +EXPORT_SYMBOL vmlinux 0xd438f7a0 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xd438f904 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xd46b54dd flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd475ec7d of_translate_address +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd492961b xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xd4b8289c nf_log_trace +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bbc34f phy_detach +EXPORT_SYMBOL vmlinux 0xd4c7ac94 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xd4cdb68c mmc_get_card +EXPORT_SYMBOL vmlinux 0xd4d07f53 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xd4da0975 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xd4da28bb rproc_boot +EXPORT_SYMBOL vmlinux 0xd4e2f0e4 gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0xd4efd38c mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0xd4fcaed3 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xd50c1ce5 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xd51deb0a loop_register_transfer +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5289073 page_readlink +EXPORT_SYMBOL vmlinux 0xd53a20b3 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xd5453b89 rproc_add +EXPORT_SYMBOL vmlinux 0xd549fee3 iov_iter_init +EXPORT_SYMBOL vmlinux 0xd56f26a0 ptp_clock_event +EXPORT_SYMBOL vmlinux 0xd574e916 thaw_super +EXPORT_SYMBOL vmlinux 0xd58043ad d_invalidate +EXPORT_SYMBOL vmlinux 0xd58cc496 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0xd5af56fe pin_user_pages +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5b51e2b proto_unregister +EXPORT_SYMBOL vmlinux 0xd5b8299a blk_integrity_register +EXPORT_SYMBOL vmlinux 0xd5c9e7e6 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xd5e9f339 kobject_get +EXPORT_SYMBOL vmlinux 0xd5f52d4f netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0xd6001a7e __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xd603e1fe skb_checksum +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd6205c02 ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xd620d6ca __destroy_inode +EXPORT_SYMBOL vmlinux 0xd620f6d3 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd63fafc2 div64_u64_rem +EXPORT_SYMBOL vmlinux 0xd641e3da mdiobus_scan +EXPORT_SYMBOL vmlinux 0xd6582ab0 xa_extract +EXPORT_SYMBOL vmlinux 0xd65d44f9 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xd661e0d7 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68bd3f0 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xd6983092 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xd69ffa46 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b64f5d blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xd6bc04ff cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xd6be372a scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xd6c8ed21 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xd6ca8941 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xd6ce3786 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xd6d13a4e iput +EXPORT_SYMBOL vmlinux 0xd6d94c29 vme_irq_free +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd7165502 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xd7244606 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xd72fa674 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73bbd60 poll_freewait +EXPORT_SYMBOL vmlinux 0xd760dcf7 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0xd77ad79a cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0xd794cb33 update_devfreq +EXPORT_SYMBOL vmlinux 0xd797b9a5 vme_master_write +EXPORT_SYMBOL vmlinux 0xd797b9d9 arp_tbl +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7dac7c8 vfs_statfs +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7edbb2d __mod_node_page_state +EXPORT_SYMBOL vmlinux 0xd7edeaae tcp_make_synack +EXPORT_SYMBOL vmlinux 0xd7fc53d7 register_sound_special_device +EXPORT_SYMBOL vmlinux 0xd82ea3f9 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xd82eff80 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xd839d609 generic_read_dir +EXPORT_SYMBOL vmlinux 0xd8410611 mempool_alloc +EXPORT_SYMBOL vmlinux 0xd84cd9b1 udp_prot +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd860755b __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd86e7fc4 fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0xd875584a __genradix_ptr +EXPORT_SYMBOL vmlinux 0xd8798953 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xd8831481 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xd8918c56 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd89ee11f krait_set_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b1d54c pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xd8b8cd18 mount_single +EXPORT_SYMBOL vmlinux 0xd8c90118 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0xd8d7607c unlock_buffer +EXPORT_SYMBOL vmlinux 0xd8f41782 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0xd902379c __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd91a30bf xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd928f108 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0xd9346321 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0xd947ad49 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd9560c37 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xd96a9fb5 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9b3912e submit_bio +EXPORT_SYMBOL vmlinux 0xd9b4553f remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0xd9b566cd try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xd9caf708 init_special_inode +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e2d54e pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xd9eefa72 snd_timer_new +EXPORT_SYMBOL vmlinux 0xd9f843c2 tty_do_resize +EXPORT_SYMBOL vmlinux 0xd9f9d857 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xda01c391 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xda0b329c vfs_fsync +EXPORT_SYMBOL vmlinux 0xda0eac90 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0xda1f8b21 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xda255375 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xda2c85f8 unregister_nls +EXPORT_SYMBOL vmlinux 0xda318d31 key_task_permission +EXPORT_SYMBOL vmlinux 0xda338ef8 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda436b02 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xda45a131 kill_litter_super +EXPORT_SYMBOL vmlinux 0xda5a8e90 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xda5e8fba find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xda66c5a2 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xda6fc0b3 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda8bc1a2 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xdaa0ac57 dump_emit +EXPORT_SYMBOL vmlinux 0xdaa62a5c md_error +EXPORT_SYMBOL vmlinux 0xdaa7f6b4 md_check_recovery +EXPORT_SYMBOL vmlinux 0xdabc8984 netdev_info +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdac5b432 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xdac739f6 ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0xdaccc226 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xdad5e7e1 find_inode_nowait +EXPORT_SYMBOL vmlinux 0xdad97f94 __raw_writesw +EXPORT_SYMBOL vmlinux 0xdada8dd8 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xdae2e0ab pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xdafb8990 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xdb0cc9cd dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0xdb1e269c serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xdb2382cc ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xdb27a507 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xdb2a013e dquot_transfer +EXPORT_SYMBOL vmlinux 0xdb531e31 dquot_acquire +EXPORT_SYMBOL vmlinux 0xdb61b971 inet_accept +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6c8534 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xdb6e762b pci_request_regions +EXPORT_SYMBOL vmlinux 0xdb6ec575 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb81e2fc __wait_on_bit +EXPORT_SYMBOL vmlinux 0xdb9ca3c5 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xdba891f4 cqhci_pltfm_init +EXPORT_SYMBOL vmlinux 0xdbd7fa8d of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2035f5 tcf_block_put +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc430db2 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xdc449b85 backlight_force_update +EXPORT_SYMBOL vmlinux 0xdc46302a scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc559e11 tcp_mmap +EXPORT_SYMBOL vmlinux 0xdc572446 netif_rx +EXPORT_SYMBOL vmlinux 0xdc5a86bb seq_printf +EXPORT_SYMBOL vmlinux 0xdc5c7961 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xdc77d170 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xdc81901a wait_for_completion_io +EXPORT_SYMBOL vmlinux 0xdcb4efbf nvm_submit_io +EXPORT_SYMBOL vmlinux 0xdcba9b79 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xdcbeb942 posix_test_lock +EXPORT_SYMBOL vmlinux 0xdcc33293 vme_register_bridge +EXPORT_SYMBOL vmlinux 0xdcc5754c tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xdcc8130b pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xdcd09826 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xdcf6d045 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd0abc10 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xdd144c15 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0xdd15454e dma_direct_map_page +EXPORT_SYMBOL vmlinux 0xdd17199a __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xdd226fa9 __raw_readsw +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd3094ee rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0xdd3dc4b8 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xdd4ffa9b mutex_trylock +EXPORT_SYMBOL vmlinux 0xdd7582dc jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xdd7db549 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd81421f trace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0xdd823874 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xddabe831 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0xddb429e2 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xddbd80e4 dev_change_carrier +EXPORT_SYMBOL vmlinux 0xddefd32b input_allocate_device +EXPORT_SYMBOL vmlinux 0xddf5b3a8 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xddfe382c ata_port_printk +EXPORT_SYMBOL vmlinux 0xde25dbd0 iov_iter_discard +EXPORT_SYMBOL vmlinux 0xde3eba2a d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xde477ebd dqput +EXPORT_SYMBOL vmlinux 0xde499b2a kill_fasync +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde59092a lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0xde5ae857 vme_slave_get +EXPORT_SYMBOL vmlinux 0xde67bc21 phy_find_first +EXPORT_SYMBOL vmlinux 0xde702f23 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0xde8348b2 simple_rmdir +EXPORT_SYMBOL vmlinux 0xde85a48b skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xde861bdf security_task_getsecid +EXPORT_SYMBOL vmlinux 0xde8d02b1 give_up_console +EXPORT_SYMBOL vmlinux 0xde92cff0 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xdea615ef tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0xdec030e5 arm_clear_user +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded9449a netdev_printk +EXPORT_SYMBOL vmlinux 0xdee5f846 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xdeea1b34 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdeff12cb writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xdf07eafa nf_hook_slow +EXPORT_SYMBOL vmlinux 0xdf0b3f9c pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xdf1303ac blkdev_put +EXPORT_SYMBOL vmlinux 0xdf2125f4 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf35abdd remap_pfn_range +EXPORT_SYMBOL vmlinux 0xdf3a693d crc_t10dif_update +EXPORT_SYMBOL vmlinux 0xdf3a7249 follow_pfn +EXPORT_SYMBOL vmlinux 0xdf4a182f default_llseek +EXPORT_SYMBOL vmlinux 0xdf4aa6fb of_node_name_prefix +EXPORT_SYMBOL vmlinux 0xdf51ed64 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xdf52def1 ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf5636d7 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xdf58be5a mmc_erase +EXPORT_SYMBOL vmlinux 0xdf62f3b5 bio_list_copy_data +EXPORT_SYMBOL vmlinux 0xdf6a81a8 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xdf7623b8 eth_header_cache +EXPORT_SYMBOL vmlinux 0xdf7f6d90 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xdf808baf generic_listxattr +EXPORT_SYMBOL vmlinux 0xdf84d873 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93799c d_set_d_op +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfcd8d8b security_path_mknod +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe7075b snd_soc_alloc_ac97_component +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xdffd872e xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xdffdd504 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0xe028a6ca atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xe030300c pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xe0558649 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xe06699b2 sg_next +EXPORT_SYMBOL vmlinux 0xe07dffa7 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xe07e9331 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0xe085dcc3 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe0893894 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xe0898be7 input_set_keycode +EXPORT_SYMBOL vmlinux 0xe0a067da sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xe0a6b585 request_resource +EXPORT_SYMBOL vmlinux 0xe0a73bfe vme_bus_num +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0e4b553 ip_defrag +EXPORT_SYMBOL vmlinux 0xe0e9f6eb bio_init +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe13133c3 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xe136207b genphy_loopback +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe153f436 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0xe16d19aa pagecache_write_end +EXPORT_SYMBOL vmlinux 0xe1727ac3 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xe17674fb netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xe1973cdc __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xe1a3e7fd key_validate +EXPORT_SYMBOL vmlinux 0xe1a41401 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1a9b2ff dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xe1aab1e3 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xe1c2e50d __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xe1c7af7b load_nls_default +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe21d6cc7 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xe2274a1c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xe227dd3b icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xe2491674 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xe24f698f d_move +EXPORT_SYMBOL vmlinux 0xe252de22 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xe2572c43 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xe25cca30 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xe25e7df8 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xe266f098 xa_get_mark +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe27a8958 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0xe28e4207 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xe29b151f qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xe29d495b jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xe2a150bf skb_copy_bits +EXPORT_SYMBOL vmlinux 0xe2a72a78 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xe2c40dd5 tcp_connect +EXPORT_SYMBOL vmlinux 0xe2ca3c96 elv_rb_add +EXPORT_SYMBOL vmlinux 0xe2cc9a40 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xe2ce9492 submit_bh +EXPORT_SYMBOL vmlinux 0xe2d467c4 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xe2d47398 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0xe2d48e8c ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2eeff33 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xe2f4a362 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe3171a1e fs_bio_set +EXPORT_SYMBOL vmlinux 0xe31b33b1 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xe324ae87 ps2_command +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe346f67a __mutex_init +EXPORT_SYMBOL vmlinux 0xe3482046 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0xe365c10f scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe389105a remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xe38ce25a snd_compr_malloc_pages +EXPORT_SYMBOL vmlinux 0xe3938ea5 put_tty_driver +EXPORT_SYMBOL vmlinux 0xe3a90dfa radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xe3b7e8c4 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xe3d41200 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xe3d6bab4 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xe3d8f1e9 locks_free_lock +EXPORT_SYMBOL vmlinux 0xe3df5ae7 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0xe3e59d8c fiemap_prep +EXPORT_SYMBOL vmlinux 0xe3eae623 has_capability +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f99784 of_get_min_tck +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe415455f unix_detach_fds +EXPORT_SYMBOL vmlinux 0xe41a78b4 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0xe428464e dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0xe42efbbe con_is_bound +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe4702b3a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0xe4767aa8 free_buffer_head +EXPORT_SYMBOL vmlinux 0xe477fc9b memremap +EXPORT_SYMBOL vmlinux 0xe4859b78 vme_irq_handler +EXPORT_SYMBOL vmlinux 0xe488451c netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xe489e206 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xe48d5c3c inet6_getname +EXPORT_SYMBOL vmlinux 0xe49b71bf make_bad_inode +EXPORT_SYMBOL vmlinux 0xe49c76b7 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xe49dec35 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xe4b9461c seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4cf939b kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xe4daa6fd qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xe4df26b3 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xe4e56e26 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xe4effcd5 sg_init_one +EXPORT_SYMBOL vmlinux 0xe4f99a49 config_item_get +EXPORT_SYMBOL vmlinux 0xe5115447 napi_disable +EXPORT_SYMBOL vmlinux 0xe51f9a9c eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xe520007c of_find_property +EXPORT_SYMBOL vmlinux 0xe52153b5 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe536d0d8 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xe53efb69 mdio_device_free +EXPORT_SYMBOL vmlinux 0xe5650925 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe57a50d3 udplite_prot +EXPORT_SYMBOL vmlinux 0xe57c2c2f dst_release +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe5807e62 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59a9a0d devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0xe59f9f50 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xe5b6032c get_mm_exe_file +EXPORT_SYMBOL vmlinux 0xe5b6dd02 netif_device_attach +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d8cc13 input_register_device +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61b8142 simple_empty +EXPORT_SYMBOL vmlinux 0xe629a9ab tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xe62e97e4 wireless_send_event +EXPORT_SYMBOL vmlinux 0xe6450fb0 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xe650cedd iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xe65722d9 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xe65ed9e1 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xe6603e8d snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0xe689dc31 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xe6919ef9 fb_class +EXPORT_SYMBOL vmlinux 0xe693a6ce vme_get_size +EXPORT_SYMBOL vmlinux 0xe6b58281 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xe6c6daa5 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe6d7863d revert_creds +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe7100d14 unix_get_socket +EXPORT_SYMBOL vmlinux 0xe72fb39d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe7498d52 __f_setown +EXPORT_SYMBOL vmlinux 0xe752bcaa default_qdisc_ops +EXPORT_SYMBOL vmlinux 0xe7653268 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xe76629bc pci_read_config_word +EXPORT_SYMBOL vmlinux 0xe79031c2 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xe7904e9d pid_task +EXPORT_SYMBOL vmlinux 0xe7b069e1 tty_port_put +EXPORT_SYMBOL vmlinux 0xe7b5a767 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0xe7ce903f key_put +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7eaa886 d_rehash +EXPORT_SYMBOL vmlinux 0xe7ef2bac md_bitmap_free +EXPORT_SYMBOL vmlinux 0xe7f1fa1e do_splice_direct +EXPORT_SYMBOL vmlinux 0xe7f2e3a2 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xe7f715b3 __module_get +EXPORT_SYMBOL vmlinux 0xe7fb8100 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xe80811a2 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xe8376f5f mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xe8384dcd input_free_device +EXPORT_SYMBOL vmlinux 0xe83f8526 unregister_netdev +EXPORT_SYMBOL vmlinux 0xe842dc8c dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0xe8488c2d find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xe856033a ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xe8594c4a netdev_notice +EXPORT_SYMBOL vmlinux 0xe8602c73 md_reload_sb +EXPORT_SYMBOL vmlinux 0xe8659cb7 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xe8666bb1 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xe88f2856 ps2_end_command +EXPORT_SYMBOL vmlinux 0xe898b880 mdio_device_register +EXPORT_SYMBOL vmlinux 0xe8abdaaa dquot_get_state +EXPORT_SYMBOL vmlinux 0xe8b4152b security_path_mkdir +EXPORT_SYMBOL vmlinux 0xe8b586f9 __put_page +EXPORT_SYMBOL vmlinux 0xe8b9a3d4 mx51_revision +EXPORT_SYMBOL vmlinux 0xe8c5ae5f md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xe8cc772f generic_block_bmap +EXPORT_SYMBOL vmlinux 0xe8cd0a2c crc32_le_shift +EXPORT_SYMBOL vmlinux 0xe8cfce09 tegra114_clock_deassert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0xe8e35b97 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xe8eba0b7 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xe8f8eefa tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0xe9098389 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xe9099247 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9259938 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xe9276149 generic_writepages +EXPORT_SYMBOL vmlinux 0xe92ff80a nvm_unregister +EXPORT_SYMBOL vmlinux 0xe9325f03 downgrade_write +EXPORT_SYMBOL vmlinux 0xe9331e96 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xe9358868 mmc_release_host +EXPORT_SYMBOL vmlinux 0xe943cbac tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe96065ee block_commit_write +EXPORT_SYMBOL vmlinux 0xe97c4103 ioremap +EXPORT_SYMBOL vmlinux 0xe98d0f03 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xe99592ca param_ops_long +EXPORT_SYMBOL vmlinux 0xe99b7111 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0xe99c8c80 of_match_device +EXPORT_SYMBOL vmlinux 0xe9a742c4 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xe9b7254c netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xe9bd5f97 tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0xe9c2fdf7 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xe9cbf734 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xe9e07fbd netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xe9e0a35e dst_destroy +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9f82a9a __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xea1e76fe sk_stop_timer +EXPORT_SYMBOL vmlinux 0xea1f5b88 samsung_rev +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea43d10e iov_iter_kvec +EXPORT_SYMBOL vmlinux 0xea633bb1 seq_putc +EXPORT_SYMBOL vmlinux 0xea661098 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea7a3e53 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xeaac60f9 add_to_pipe +EXPORT_SYMBOL vmlinux 0xeac05a69 ucc_slow_enable +EXPORT_SYMBOL vmlinux 0xeacd297e __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xead19c3d netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xead6b299 udp_poll +EXPORT_SYMBOL vmlinux 0xeada29a6 amba_find_device +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeaff1870 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xeb036a36 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0xeb03b389 __raw_readsl +EXPORT_SYMBOL vmlinux 0xeb07f075 bio_reset +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3848ff kunmap_atomic_high +EXPORT_SYMBOL vmlinux 0xeb4617f4 file_ns_capable +EXPORT_SYMBOL vmlinux 0xeb4fb742 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb736c98 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xeb7686a5 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xeb7cedb3 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xebaacc83 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xebad9304 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xebb82906 qdisc_reset +EXPORT_SYMBOL vmlinux 0xebe761a0 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xebea0763 misc_register +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xebfec88a sk_stream_error +EXPORT_SYMBOL vmlinux 0xec1fa7da blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xec29ca49 of_device_unregister +EXPORT_SYMBOL vmlinux 0xec37a2e8 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xec39aef9 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xec3d4537 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec50b436 omap_rtc_power_off_program +EXPORT_SYMBOL vmlinux 0xec603f64 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xec792af0 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0xec7add72 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xec8570ba scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xec92bdfb __neigh_create +EXPORT_SYMBOL vmlinux 0xeca47362 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0xeca89723 no_llseek +EXPORT_SYMBOL vmlinux 0xecc55568 mdiobus_read +EXPORT_SYMBOL vmlinux 0xeccb9e0c freeze_bdev +EXPORT_SYMBOL vmlinux 0xeccc4296 scsi_add_device +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf8a3b4 __raw_writesl +EXPORT_SYMBOL vmlinux 0xecfe3e34 inet_listen +EXPORT_SYMBOL vmlinux 0xed5f640b dquot_free_inode +EXPORT_SYMBOL vmlinux 0xed5f9f53 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xed8af4f3 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xedb23626 filp_open +EXPORT_SYMBOL vmlinux 0xedb42061 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xedb4ccff devm_iounmap +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xede805e2 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xedeaa5e1 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xedeae256 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xedeb59d9 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xee02a44f gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xee18b237 rproc_put +EXPORT_SYMBOL vmlinux 0xee203603 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xee2b1269 page_get_link +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee300498 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xee43fd9b ___ratelimit +EXPORT_SYMBOL vmlinux 0xee49e93c __bread_gfp +EXPORT_SYMBOL vmlinux 0xee4dd66c call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee712510 snd_timer_global_new +EXPORT_SYMBOL vmlinux 0xee7dfe22 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee95c569 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xee962ef1 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xeea94aba __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xeeb31b40 sync_file_create +EXPORT_SYMBOL vmlinux 0xeebb4f44 kset_register +EXPORT_SYMBOL vmlinux 0xeec3f961 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xeee7cf2e open_exec +EXPORT_SYMBOL vmlinux 0xeeed19d6 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xef22aef0 con_is_visible +EXPORT_SYMBOL vmlinux 0xef4cad92 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0xef67101e sock_alloc +EXPORT_SYMBOL vmlinux 0xef6f837b pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xef83ec72 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xefa2d372 module_refcount +EXPORT_SYMBOL vmlinux 0xefa78476 tty_vhangup +EXPORT_SYMBOL vmlinux 0xefb12f76 xp_dma_map +EXPORT_SYMBOL vmlinux 0xefb5c402 netdev_err +EXPORT_SYMBOL vmlinux 0xefb7bccf _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefec312f omap_get_dma_active_status +EXPORT_SYMBOL vmlinux 0xeff4282e gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf006f772 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf01528a4 dim_turn +EXPORT_SYMBOL vmlinux 0xf01d8932 kfree_skb +EXPORT_SYMBOL vmlinux 0xf02a6977 queue_rcu_work +EXPORT_SYMBOL vmlinux 0xf049bc0d i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xf04fb05c kobject_del +EXPORT_SYMBOL vmlinux 0xf05de603 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0xf0602339 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xf06412a0 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xf064bd76 inet_shutdown +EXPORT_SYMBOL vmlinux 0xf06cc5cb mem_map +EXPORT_SYMBOL vmlinux 0xf06cee2c radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xf06d92c6 tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0xf0761f5a __scm_destroy +EXPORT_SYMBOL vmlinux 0xf0764e49 fb_set_var +EXPORT_SYMBOL vmlinux 0xf07c5525 generic_setlease +EXPORT_SYMBOL vmlinux 0xf08469eb __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a343ed release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf0b69fcc kern_path_create +EXPORT_SYMBOL vmlinux 0xf0c3489a tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xf0ed2ef4 __raw_writesb +EXPORT_SYMBOL vmlinux 0xf0ef52e8 down +EXPORT_SYMBOL vmlinux 0xf100893d __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf102732a crc16 +EXPORT_SYMBOL vmlinux 0xf108715e dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0xf10a5421 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xf116d176 consume_skb +EXPORT_SYMBOL vmlinux 0xf138737e nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xf149427a of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xf14b08f9 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xf159d829 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xf17f5717 xfrm_input +EXPORT_SYMBOL vmlinux 0xf17fb365 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xf18b858e netlink_set_err +EXPORT_SYMBOL vmlinux 0xf18c9d80 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xf1905d24 inet_getname +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1964368 __lock_buffer +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a632e8 follow_up +EXPORT_SYMBOL vmlinux 0xf1ad9c4b tegra_ivc_align +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d16c03 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1ea6f1c __bswapsi2 +EXPORT_SYMBOL vmlinux 0xf1f2107e rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xf1faf257 simple_write_end +EXPORT_SYMBOL vmlinux 0xf20c85d0 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xf213bd2a complete_request_key +EXPORT_SYMBOL vmlinux 0xf218aab5 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xf21bc246 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf236c75e swake_up_one +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf25296cf fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf26a95bd I_BDEV +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf29033d2 override_creds +EXPORT_SYMBOL vmlinux 0xf2975888 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xf29a3feb prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xf2ad80d9 snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL vmlinux 0xf2b0d630 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2ccaa71 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2e7cb1f ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf3058242 tcp_child_process +EXPORT_SYMBOL vmlinux 0xf31051bd inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf32f36f1 vm_node_stat +EXPORT_SYMBOL vmlinux 0xf3348872 mdiobus_free +EXPORT_SYMBOL vmlinux 0xf33a7f0c file_remove_privs +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf348ff41 bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35b7a89 neigh_for_each +EXPORT_SYMBOL vmlinux 0xf3615ec4 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xf36568f2 simple_pin_fs +EXPORT_SYMBOL vmlinux 0xf3740624 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xf378eb41 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xf3818bb8 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xf383746e proc_create_data +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38d12e4 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf39a13c0 fqdir_init +EXPORT_SYMBOL vmlinux 0xf39e441c ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf3a11c35 xa_find_after +EXPORT_SYMBOL vmlinux 0xf3a64ea9 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xf3aaa98f kobject_set_name +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3b31b26 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xf3c40a41 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xf3cf2aec snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0xf3e2c08d i2c_clients_command +EXPORT_SYMBOL vmlinux 0xf3e5e4ff tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3feb0ef blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xf40019c0 tegra114_clock_tune_cpu_trimmers_init +EXPORT_SYMBOL vmlinux 0xf4090170 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xf4134f17 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xf43d8422 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xf43f242e tty_port_destroy +EXPORT_SYMBOL vmlinux 0xf444e70a of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf44fe5e7 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xf470918c i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf49480c3 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0xf4a04498 nmi_panic +EXPORT_SYMBOL vmlinux 0xf4ade69b input_set_poll_interval +EXPORT_SYMBOL vmlinux 0xf4ba246e ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xf4baa334 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c170c2 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xf4c36026 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xf4c94c44 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0xf4cbffc3 ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4ed9d98 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f618e9 nand_write_page_raw +EXPORT_SYMBOL vmlinux 0xf5085e80 tty_port_init +EXPORT_SYMBOL vmlinux 0xf520ca35 fc_mount +EXPORT_SYMBOL vmlinux 0xf533df06 path_put +EXPORT_SYMBOL vmlinux 0xf5365205 tty_lock +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5519e30 forget_cached_acl +EXPORT_SYMBOL vmlinux 0xf5593ae0 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf56a5468 map_destroy +EXPORT_SYMBOL vmlinux 0xf5771dc4 kobject_init +EXPORT_SYMBOL vmlinux 0xf5971c50 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0xf5a0e0d2 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xf5b09ccd mpage_readahead +EXPORT_SYMBOL vmlinux 0xf5b666ef __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xf5bff0d9 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0xf5c0ca77 keyring_search +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5ef5c95 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xf60d393d thaw_bdev +EXPORT_SYMBOL vmlinux 0xf61df611 kernel_connect +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf6470791 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xf64bf255 wait_for_completion +EXPORT_SYMBOL vmlinux 0xf652d359 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xf6550835 sock_edemux +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf67d8ee7 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf685bedc __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xf6a5ee2e qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0xf6e4df71 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xf6e87b31 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7041986 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xf705fa49 gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0xf70d00e1 fs_param_is_string +EXPORT_SYMBOL vmlinux 0xf7163ec9 __raw_readsb +EXPORT_SYMBOL vmlinux 0xf725b053 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0xf72ab126 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0xf72dc3be pci_release_region +EXPORT_SYMBOL vmlinux 0xf731067f tty_port_close_start +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf746dad6 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xf7556c2d mmc_put_card +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf76d7f41 tty_throttle +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf776dc9d disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xf77882f2 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf78c895d __sk_dst_check +EXPORT_SYMBOL vmlinux 0xf7950ccd dev_mc_add +EXPORT_SYMBOL vmlinux 0xf79d106e nand_read_page_raw +EXPORT_SYMBOL vmlinux 0xf7a42a4d mdiobus_write +EXPORT_SYMBOL vmlinux 0xf7aaddc2 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xf7b3e33f xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0xf7bc4d06 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xf7ec3577 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xf7fc9f1e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf803e02c watchdog_register_governor +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf826ed7e pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf8373c95 phy_device_free +EXPORT_SYMBOL vmlinux 0xf838fd97 dim_park_on_top +EXPORT_SYMBOL vmlinux 0xf83eccdc fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0xf84c3647 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xf84ecf34 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xf85440ad mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xf8574287 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xf85f1392 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf866b00c tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0xf86f27cd idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xf88007ca nf_log_register +EXPORT_SYMBOL vmlinux 0xf8a5c26d kern_path +EXPORT_SYMBOL vmlinux 0xf8ac6990 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xf8d05b57 dst_dev_put +EXPORT_SYMBOL vmlinux 0xf8de477d simple_dir_operations +EXPORT_SYMBOL vmlinux 0xf8df5d2b of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0xf8df7d09 param_set_copystring +EXPORT_SYMBOL vmlinux 0xf8e7419f __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xf8edc9c4 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8f7589b dquot_quota_on +EXPORT_SYMBOL vmlinux 0xf9089832 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf9169702 skb_pull +EXPORT_SYMBOL vmlinux 0xf918ddd2 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xf92b79ad vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf945cb72 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xf94d493e phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0xf95adaee kernel_getsockname +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf973f25d padata_do_parallel +EXPORT_SYMBOL vmlinux 0xf97c2d41 skb_split +EXPORT_SYMBOL vmlinux 0xf9a36b47 down_interruptible +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ac8004 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xf9b80c0c pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0xf9d7c214 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xf9da71e2 of_lpddr3_get_min_tck +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xfa007a19 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xfa02051b genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xfa021f90 ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xfa03700c sock_no_linger +EXPORT_SYMBOL vmlinux 0xfa12237a pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xfa1c4cf4 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0xfa2f9c38 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xfa53e7d5 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0xfa541607 try_module_get +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa5f9fdf dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xfa68a7b3 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfaca9d63 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xfad58273 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xfaecfaa1 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xfaf1a765 scmd_printk +EXPORT_SYMBOL vmlinux 0xfb0af9b2 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xfb0d1ab1 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0xfb0f06ea tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xfb1d7438 down_read +EXPORT_SYMBOL vmlinux 0xfb27e1c5 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xfb336634 mempool_destroy +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb4508da sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb4bbdc3 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xfb4db96a pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xfb53c20e ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xfb60dad2 should_remove_suid +EXPORT_SYMBOL vmlinux 0xfb65ab08 path_get +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb95ee78 inet_recvmsg +EXPORT_SYMBOL vmlinux 0xfba23c47 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb13fee nobh_write_end +EXPORT_SYMBOL vmlinux 0xfbc19581 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xfbc40285 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbcc6012 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xfbfaa202 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3f3589 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfc408066 devm_free_irq +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc7997d1 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xfc83bce1 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xfc851720 neigh_table_init +EXPORT_SYMBOL vmlinux 0xfca802ef __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xfcca6240 xp_alloc +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfce07141 key_unlink +EXPORT_SYMBOL vmlinux 0xfce8469e PageMovable +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf76404 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xfcf81031 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xfcf8931e blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xfd07e843 mount_subtree +EXPORT_SYMBOL vmlinux 0xfd090d1f key_invalidate +EXPORT_SYMBOL vmlinux 0xfd1f0fdb simple_transaction_get +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd320a96 lock_rename +EXPORT_SYMBOL vmlinux 0xfd445d39 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xfd66930e d_alloc +EXPORT_SYMBOL vmlinux 0xfd8c5afc release_fiq +EXPORT_SYMBOL vmlinux 0xfd8edeed scsi_print_result +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdabb5db nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xfdb24303 mmc_free_host +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfde080b5 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xfdf4cff0 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xfdff94e0 ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe23d00a genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0xfe327df8 vfs_unlink +EXPORT_SYMBOL vmlinux 0xfe4222e5 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe4d8109 km_state_notify +EXPORT_SYMBOL vmlinux 0xfe5b8807 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xfe5d33ce netdev_emerg +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe5f167a inet6_release +EXPORT_SYMBOL vmlinux 0xfe78f24e vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xfe7fdc12 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xfe90c4a6 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xfe919134 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xfea050e2 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xfea2e0e3 snd_unregister_device +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfeb63074 clk_bulk_get +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee138a4 arp_send +EXPORT_SYMBOL vmlinux 0xfee50a22 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xfee6bf20 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xfee7f7cc snd_pcm_create_iec958_consumer +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff01546b __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xff1a1e6a __nlmsg_put +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff42ceca __sk_receive_skb +EXPORT_SYMBOL vmlinux 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff690e52 simple_release_fs +EXPORT_SYMBOL vmlinux 0xff6f28b8 bdget_disk +EXPORT_SYMBOL vmlinux 0xff8363d8 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xff8c2e5a radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xff8f392a mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xff943992 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xffa8eddf new_inode +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd96fef processor +EXPORT_SYMBOL vmlinux 0xffdc7c98 vfs_create +EXPORT_SYMBOL vmlinux 0xffe06ee9 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xffef9435 flush_dcache_page +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x8130e040 sha1_update_arm +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0xe997ca23 sha1_finup_arm +EXPORT_SYMBOL_GPL crypto/af_alg 0x39cb76a8 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x3d0fd906 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x40a3e5e2 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x50bdc2af af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x58f2f747 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x747a71c8 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x7e59483f af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x86860e27 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x87002521 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x8c2c4403 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x8cd0244e af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x9c01eed5 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x9fdbdfab af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xa5ba4b79 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xc3cc3b8e af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xe194824d af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xe2d78c66 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xedf4646c af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x8659b595 asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x9ad9a4cd async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xbf5f4e59 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xec91fe5b async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x052a2fcd async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbdd59313 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x16d1e55f async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x37d19243 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4c18b69f __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb5b8bf07 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x98865441 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xdbd260c5 async_xor_val +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x1eb0524e blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x9b92a059 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 0x4b59c38b 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 0x0266225e cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x2d4841b1 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x3eb30467 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x4f2aeb1a cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x6f0ce2a0 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xaa7856f6 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb4a783f7 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xcc778365 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xcf11d915 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xd88d78e7 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xfdaa84cc cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xfdc3729a cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xfee1560a cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x05bcf8db crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x06f9e315 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2116a302 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x51756e92 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x58ae9e01 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7011b36c crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7f22cb11 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8766f227 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb211113f crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xcf0758a3 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xde8c2e16 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe7b3f2d1 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xff1d4eaa crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x53fd4708 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x615f1136 simd_unregister_aeads +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 0xc93bd74d simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xcec77839 simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xb0613adf 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x15f805c7 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xae077149 crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xf171d884 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/twofish_common 0xd5b2a838 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x8027535c __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x03bdc8c5 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +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/base/regmap/regmap-ac97 0x0c106ac3 regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x468c42b5 __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x90741a9f __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xb8145cbb __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x7f688747 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xf018c0d2 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x5ff5d6f1 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x9dd05cd7 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x2dbc20be __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xbac1ce46 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x2fe57b76 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x86437a1c __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xa2b3c049 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xd8f5b003 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x114667df __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xce3e013d __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x05056f42 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0a6003ae bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0e7bd030 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d42118f bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d902fbe __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x56081bc5 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6d69d35e bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x70710555 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x748bccce bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x74b5d78c bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7516a5a5 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x79599194 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x81c3232a bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8c239fdc bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x95f5a12f bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9ab34458 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa2355a4f bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa3dcc0b2 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa998c70b bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xab92fc6b bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd3873247 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe1116955 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xea7c8813 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfd85aa20 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x16237c14 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x2059772d btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x4842f74e btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x49cfb579 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x8a4a128a btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x8ea16887 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xc1458be2 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xd40c2ff6 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x00dc3ab4 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2306537c btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2b557adf btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x33319318 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x388bbcb7 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x430023de btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x46afc8c1 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x55623b0d btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5bb899ec btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x60e4dcf7 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x783543ca btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8a12f87a btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8b72c1b8 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa26cf0ed btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa6d4cf7f btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xdd75451d btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf8c3982c btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfe61fac3 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x10931751 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x355ea7bd btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x36f2799b btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3f3b2438 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x49843219 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5aa07d28 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x75bae85e btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7a0a2b73 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8e0aeea3 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xceaa9a60 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdfbcfe01 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x29fb107e qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x878b3a72 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xbe462fd6 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xdac4f5c2 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xfe629ff7 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x0b8bc26b btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x12ad1aed btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x3fb89f19 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x9894015f btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xf3bd8860 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x161d8d1c hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x563f1118 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xcf0015ef hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe2c675c5 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x19147be7 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x32c520af mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3482b9ad mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4e74c6b4 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6049e64b mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x62137b4e mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6cc926af mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7d54681c __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9e100023 mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa011724e mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa24e981c mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa6802e1b mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa8fe1443 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb7c8a2e7 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc3f6dd00 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc6ba07c7 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xcae0d924 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd2a0c1b7 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xde831a69 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xee653512 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xfa91b996 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xfedf89a4 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4970a4c7 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xa894731e moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xab357c3d moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xd4ea4ded __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0xc37ae3f3 meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0xeb820ca2 meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0xb1aa8b06 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 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 0x18e8287a qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1987883d clk_alpha_pll_fixed_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x22c2ec55 qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_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 0x3936205e qcom_cc_register_board_clk +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 0x4db0f837 qcom_cc_map +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 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 0x75732edc qcom_cc_probe +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 0x7e2eab91 devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_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 0x9a0f7443 qcom_cc_probe_by_index +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 0x9dc41abb krait_div2_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9e33f365 clk_trion_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xa6f08f9a clk_trion_fixed_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +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 0xc037091a krait_mux_clk_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 0xc6a05db2 clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xce340fb8 clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd3135b41 qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd8d92954 clk_lucid_pll_configure +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/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x06620668 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3eecf71f devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x55fc9b82 counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x72c0866e counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xae9201f0 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xbf332aae counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc2ac20fb counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xcd79c7b6 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe1a5fe96 counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe531061a counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe7c39bcf counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0xfa145b9e counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xfd4485e1 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x701db540 omap_crypto_align_sg +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0xd5328478 omap_crypto_cleanup +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x63d428d6 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xc391644b dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x14d1d923 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x48e930e6 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x5bf52d35 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x64545c3b dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa8d8594e dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xbc43156a do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xc8057abd do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x06fe0da2 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0e786a88 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x18a63a6a fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1f5abed5 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x32553584 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x771094a8 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x960baf4c fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x9adf6c92 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd3162bc3 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd33cd2da fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd38433cc fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe2f80733 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe67ddec4 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xec71adf3 fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf75f778c fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf7edad39 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x046d8b10 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x37176de2 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0xe55191d4 get_scpi_ops +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x3ad04d46 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xdb7dfe0a alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x103f8ac6 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x19a40482 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2832e71a dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4740cd19 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4f1c64eb dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6f3352c3 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7201e390 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa7a04041 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa8b5da3d dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb445780d dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc1c8bd36 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc43efe50 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xda57d4f2 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdb20148d dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdba86abe dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe394f17f dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xeacc2d69 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xee69fb7f dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf8e58741 __dfl_fpga_cdev_find_port +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 0x12d4b6e7 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x1d2fde4a of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2b5db23f fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x4b334001 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5595cd3d fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6948b4eb devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6cf53c4d fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb3927bd7 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc01ff63c fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc3364b30 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xd53c3cb8 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xed389b43 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x022fed53 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x234eec6c fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x55f3c2f4 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5eb33c34 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x646e02ea fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x953b44ca devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xac450638 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb7aa92fa fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcfc3efb8 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xdc5843a8 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe11c29e0 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe3bb40bf fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf477ef8f fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x575cce8b fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7375f360 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7d23ceab devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7db4c8fb fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x81cae7e8 fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x9b77d5e1 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe1b42ce0 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4b0c5544 fsi_driver_unregister +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 0x640fc444 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x65eaa9df fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x72b6408d fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x8a036909 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9b05d8f2 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd3b3edba fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xda67309d fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xdb0d92ac fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe3ae0a96 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe4ac7aa2 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x663171a7 fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xd97cd09b sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xf6484532 sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x0b84c44b gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x88f89b3f gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xadca08d1 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xde508b85 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xf2dca575 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x2f7a2e82 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x545d6570 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x55111b94 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa274832c gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xd44bba47 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x5dcbe46c aspeed_gpio_copro_set_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0xddcd5c22 aspeed_gpio_copro_grab_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0xe9049fd0 aspeed_gpio_copro_release_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xab3324ac __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xb1459910 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3a31fc3e analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x43be13b1 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x6049ec78 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x6893eb85 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x92852a78 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x9d274d3e analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xb0079147 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xde4d8b84 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe4978c9d 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 0x157e02b6 dw_hdmi_phy_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 0x6067b171 dw_hdmi_probe +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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x9b44a60b dw_hdmi_phy_gen2_pddq +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 0xdc4cd821 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-hdmi 0xfdc1c38b dw_hdmi_set_plugged_cb +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 0x4b175b39 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x57c83224 dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x02fa5989 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x045fbe0b drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0727aa33 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4184ca24 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x49b5ab2e drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4e1125c4 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5164623e drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x51d2dd85 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x661d8a6d drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68027c02 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6aaf2c23 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6b675788 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x72bb3977 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7643b08d of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x78aed049 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7d669d5b drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x80831815 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x99894861 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9a5429ae drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9c8846cb drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9f9fd85e drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa3318dae drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa856cfa1 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa9a96ebe drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xab9f145d drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaf750f3e drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbcbaa8ef drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc023029e drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xcff491e5 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd0c3768f drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe08738ad drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe0f97f11 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe81d252f drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xebb7e674 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf4496f4b drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf9fcfe11 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfc7e595e drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1242094a drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1fe4d554 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3cc44a3d drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x47ee82cb drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x5803dabb drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6643b63a drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x9de0a931 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xad2b31e8 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb46e45de drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xcad7abee drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xd0124ab0 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf38bac4c drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x0bf7a805 ipu_plane_disable_deferred +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0xb12a2c67 ipu_planes_assign_pre +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0xd7aaa28a imx_drm_encoder_parse_of +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0xe9687639 imx_drm_connector_destroy +EXPORT_SYMBOL_GPL drivers/gpu/drm/mcde/mcde_drm 0x3e85c5d9 mcde_display_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x035f22fe meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x09dfa012 meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x0d4c53b0 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xab5bee2f meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xf6ec5719 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xfd34888c meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x1c811187 pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x5bbf4172 rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x6b01ef33 rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7314670c rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xc7cca572 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xaf3e86a5 rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xbb1030b4 rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xf199f939 rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x1340e478 rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x4e894fcd vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x00ec6df8 ipu_cpmem_skip_odd_chroma_rows +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 0x041dbc06 ipu_prg_present +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 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 0x0b155633 ipu_cpmem_set_block_mode +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 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 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 0x1b991a21 ipu_di_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1cbda526 ipu_cpmem_set_high_priority +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 0x20e09f6f ipu_csi_set_mipi_datatype +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x233a4e70 ipu_module_enable +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 0x25831285 ipu_image_convert_sync +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 0x2686bc39 ipu_get_num +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 0x2d8b2930 ipu_dp_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2daa584e ipu_cpmem_set_stride +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 0x2ee15db8 ipu_cpmem_set_image +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 0x32bdea6b ipu_idmac_select_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3323a599 ipu_idmac_set_double_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x338f4213 ipu_ic_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x37f29f9d ipu_idmac_lock_enable +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 0x40095870 ipu_dc_disable +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 0x433c3e0b ipu_idmac_channel_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x45a09c91 ipu_prg_channel_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4773ae13 ipu_cpmem_interlaced_scan +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x479db8fb ipu_cpmem_set_rotation +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4889750d ipu_idmac_wait_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x48a3c56f ipu_cpmem_get_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4917f47a ipu_ic_dump +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 0x4c179b49 ipu_dp_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x51475e87 ipu_dmfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x517c6a27 ipu_cpmem_set_axi_id +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 0x57e0dd7d ipu_ic_task_idma_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x580d2f81 ipu_vdi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x599c6631 ipu_idmac_unlink +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 0x5e5f7774 ipu_csi_get +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 0x62c23668 ipu_prg_channel_configure +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x63593ec7 ipu_csi_init_interface +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x65e44a13 ipu_cpmem_set_yuv_planar_full +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6669283f ipu_idmac_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x66e729d2 ipu_mbus_code_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6ad28c55 ipu_idmac_get_current_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6d1883c4 ipu_cpmem_set_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6d7bfefe ipu_dc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x700e54d0 ipu_cpmem_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7068e939 ipu_dc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x72d0d1eb ipu_set_ic_src_mux +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 0x77ac9458 ipu_fsu_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7e068158 ipu_idmac_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x80279474 ipu_dp_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8497c7d4 ipu_degrees_to_rot_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x85364147 ipu_srm_dp_update +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x85fa4ded ipu_cpmem_zero +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x886c35aa ipu_smfc_map_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8a88b661 ipu_cpmem_set_resolution +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8c1ca013 ipu_prg_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8eb22643 ipu_dp_set_global_alpha +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8ece82bd ipu_pixelformat_is_planar +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9058e289 ipu_smfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x91ce1a04 ipu_dp_set_window_pos +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x951a09d5 ipu_csi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x97f08d2f ipu_ic_task_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x984b5d82 ipu_cpmem_set_uv_offset +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x98c9347e ipu_idmac_clear_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9c9d199e ipu_idmac_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9f38e177 ipu_dp_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa4b0cabd ipu_dc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa60b144b ipu_csi_set_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa8adc101 ipu_pixelformat_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa96882d8 ipu_ic_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa9cfd111 ipu_image_convert +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb29d70a1 ipu_image_convert_prepare +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb35d1520 ipu_fsu_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb46edca2 ipu_idmac_buffer_is_ready +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb89efc0e ipu_dmfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb8d2db57 ipu_cpmem_set_fmt +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xba458b8f ipu_csi_set_test_generator +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xbf983ba6 ipu_vdi_set_field_order +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc3c2cdb0 ipu_smfc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc4af2e81 ipu_dmfc_config_wait4eot +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc4b15642 ipu_csi_set_skip_smfc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc6008825 ipu_idmac_channel_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc6024df5 ipu_map_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc6675aa9 ipu_csi_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc677177d ipu_smfc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc96629d7 ipu_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc97e7a0f ipu_di_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc9feefd3 ipu_cpmem_set_format_rgb +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcbea3eec ipu_di_init_sync_panel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcc86e73a ipu_cpmem_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcd0d1822 ipu_idmac_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcd7fbaa4 ipu_ic_task_graphics_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xce10db35 ipu_stride_to_bytes +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd283f657 ipu_prg_channel_configure_pending +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd5bdbf9c ipu_prg_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd8f285f0 ipu_vdi_setup +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd9613e68 ipu_prg_format_supported +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xdbca76aa ipu_vdi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xde48d97e ipu_cpmem_set_format_passthrough +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe0b2934b ipu_dc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe0f799c8 ipu_cpmem_set_yuv_interleaved +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe300a959 ipu_dp_setup_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe6243c52 ipu_dc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xed5aa880 ipu_smfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xeea12b31 ipu_vdi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf103b16f ipu_set_csi_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf1440dc1 ipu_ic_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf1abac7e ipu_csi_set_downsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf2389611 ipu_module_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf541df2d ipu_vdi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf7bf27b8 ipu_idmac_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xfce48b47 ipu_idmac_enable_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xfd6e103f ipu_dp_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x013a0ead gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x082f9dd8 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14160147 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x194f168b gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1dd81108 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1dd8af38 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1f01e14c gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2877e8f5 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x29f7da7f __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2f958dfe gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x38b89571 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3adc11b2 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d3fd5dc gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3f685e5c gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4689dc10 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x50517685 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x665f8346 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6da101f4 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x73438600 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x75c9730a __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7a8fb46b gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x83eddddd gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x855db9b2 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8a0ce5ae gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8b0c6307 __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x95950997 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x95ee6d11 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xaf1348d1 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc1524bb4 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc23b6f56 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc6d449ed gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xce01180d gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd6bfd419 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdbca51fb gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdd41c0e7 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe4005c4d gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe4a1cf1d gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe50b5f5a gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe93fb502 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeb5e23e9 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xef966f5b gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf11807a9 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfcd391a8 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/hid/hid 0x018d32b6 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x055c4bb4 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0d66215f hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x10ea37d1 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x152a739f hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17d39cc7 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a9f0211 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2478762c hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2d5d0831 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2e6b6fb5 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3199bd62 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37427281 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37f16c17 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x392ce595 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x44de533f hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4682dce5 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x517644bf hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x54b5b6c1 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x596a7dd8 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6e2d77dc hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x74e6fdd3 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7623d237 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x76a0c4cc hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x77384730 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ec2cb51 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x90018d3e hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9175a415 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d11d000 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa2625baf hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa37201d5 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa7b00b4d hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa822eced __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae143ca4 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6833cfa hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca5fb916 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcd4e8a60 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd24d94ce hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd2770bca hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdc4101f6 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe32665ab hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe4f8850d hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf24ab845 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf74dc661 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfad9e67d hid_resolv_usage +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 0x43906006 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x497f0faa roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x6f7c1d8c roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xa13aa4f5 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xbc24cf41 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xbfaf7fff roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xeae6ead8 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x284842b2 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x289d7760 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2e71437f sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x35bdcb11 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x38a30423 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x46e945e4 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x5bb7f06c sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xc7726ab1 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf2e0c411 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x7e7b666b i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x81ac0206 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x05ca2e7a hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb3d71755 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x6df661de ssip_slave_running +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0xa76d549f ssip_slave_start_tx +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0xcde3f5c2 ssip_reset_event +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0xe46dcc45 ssip_slave_stop_tx +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0xefe9f53e ssip_slave_get_master +EXPORT_SYMBOL_GPL drivers/hsi/controllers/omap_ssi 0x1aac495a ssi_waketest +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x011e4c44 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x21e6c51a hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2572af06 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x31a5a3d1 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3e55b4a1 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4611e6af hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x554c8127 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x78945894 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x83eb42e7 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x963e1d82 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb7d2099b hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbf521caf hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc881229e hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcda52b8d hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd2b4eea4 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd8533a14 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe364b910 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xedc38b52 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x68e2bb67 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x9e77f298 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xd454a2dc adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x034f495d ltc2947_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/pmbus/pmbus_core 0x01ff9801 pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x03041a64 pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x25e3a245 pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x2765eda7 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x309f7299 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x33b4e48d pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3a25cac8 pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3f9290f7 pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x42922844 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x505ebbb2 pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x7ab36bab pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x9ca2ce99 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xaedb2c2c pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xbd4395eb pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc66c49e6 pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xd3a0a44a pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe26c95a5 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf44aa075 pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf7b43cae pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x09f90d5b intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x20aabdf2 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x23cc11df intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4da4e56f intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x61f06b95 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x749ff847 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x98f6d3a5 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xbabe6a4b intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xf4c0dafa intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x067ffd93 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x412e910b intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x5fbeccba intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x4d8fadcf stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x58429432 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x5bd1b071 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x82d2bd4f stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xaf3d6778 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbfec641b stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xc330917b stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe6d12811 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf1997cc2 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1330ebd8 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x2549d9d0 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x2b5ec77b i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x860873bd i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x54f34916 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x954ff16c i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0178e690 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0ce78814 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x13ce7a56 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x13f4175d i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x23f844bc i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2bab02c1 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x316401ff i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3e9e3cbd i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x55e3d86d i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5ff75392 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x83e6eaf1 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8dd22587 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9665d345 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x98b29217 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa552f993 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa700d9c4 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xabfed061 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb523f692 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb66a5d15 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc646fc01 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd3de51cb i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdb3a5871 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe33c9435 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xed287d98 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xff0fa219 i3c_master_register +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x7075c7df adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x9ec19f0c adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x126fdfcf bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xadacd370 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xdb80950a bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xdd957e15 bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x4f2367d3 mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x79fb5ffa mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x88bd505c mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x71624fa3 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xc0f48ef8 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x9473cbb8 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xc837a101 ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x0a87271b ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x0d0f343b ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x18569f3d ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x3399535b ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x3454367f ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5064e34e ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5728af21 ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x75781e89 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x8b3e267f ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x993d88cb ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xe189482b ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xc0ba0039 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xc60271a1 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 0x36a6bcad iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7ab41136 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xaf158a94 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xfff2647d iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x031082bd iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x098b6299 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0a22d1ff iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0d709c19 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1baa4c3e iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x32d7f3da iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x3c9b26d7 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4391c4fb iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x447390b2 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4c4b2b9c iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xa4a7db54 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xae5e44bd iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x629475c9 iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x6d4fb0b8 devm_iio_dmaengine_buffer_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 0xdbac0197 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xee590c23 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x5cd3bf72 devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0xaa42eac8 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x12235e3d cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x1b700b0d cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x1fc95408 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7b2a1eab cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x8bc9aaf1 cros_ec_sensors_read_cmd +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 0x9bf367c7 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xcf681d20 cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xe472e3c4 cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xe74ff2e7 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x56d38d0d ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xe3c78149 ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x169f1874 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x57e3ccc1 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x00ecd88d bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x7da62b3d bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa5e1b04d bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x1fbad10b fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x31c243a4 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x425e822e fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x0aa95b1e adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x105ee282 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x126f6fe4 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x1cc01577 adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x41aed67f adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x47673da6 __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5d3b5aa5 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5e129c8a __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa884f50e adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xb7558d14 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xbc5b043f adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc555f664 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xe9a26371 devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xfb91815f __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xfe7e5e46 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xcb8192e6 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x5aed71ce fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xb0c7d343 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xddd6667c inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x02b7d604 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x03dc905a iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x14f88187 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1672edd0 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1a32299d iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ce344a iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26194f1c iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x31eb1e5b iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3ba18420 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3e0aadcc iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3e235251 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x41cedb74 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5a2c91e5 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd77d78 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6448ec84 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x672e2ce1 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x674b1213 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6e051bc0 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x70d28109 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x72f081d8 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7314eec4 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x744f9740 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7577febf iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x793f87a9 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x79b47fc8 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x79febaf0 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x81ab185d iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x81b906c8 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x85ad3b0c iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8bbc32e1 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x95e89d78 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9db08e85 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xaf3fdacf iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbc2abffd iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbdd7cea8 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbecf4699 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc88a6b30 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd342175f iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xda0aceeb iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdd339080 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe3308121 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe73e13c4 iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe859e32c iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xef18a20e iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xe95fc265 rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x0ae8f570 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x0d7459e2 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x3f962f0e zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x43dadf2f zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xe4ed0430 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xe910e836 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xed434613 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0566fe13 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2fb63d8a rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x45dd5fd6 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5495c771 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5a6c23fe rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b255918 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x804c1efc rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x97db4c93 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9cf119a9 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa1228c82 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xadb63ce1 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb93098e5 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf3d6d3f5 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xeb149a35 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x19f4e585 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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 0xe85069d2 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0f24008e __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x39c980f0 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x44991393 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4f182435 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x58190a18 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x67a20cf5 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6beb0ff0 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6fd27f54 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x74393297 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa89cf4f3 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xad44d768 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe67085b4 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xef9c6b89 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x53aa5a2f cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc8fc8d0d cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xd891335a cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x7db1b0f4 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xd58ff19d cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x5183ec42 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x816a7677 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x0042f2da tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x20d58174 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xdec8ced8 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xe691f970 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1d175c8e wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2df61b86 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x304806dc wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5b9ace23 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7c45857c wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x950f45d2 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9628f7df wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbf1435dc wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc491a17e wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xdf89ede4 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf8ae44c0 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfce20642 wm9713_codec +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x842439da imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x87089844 imx_icc_unregister +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/iommu/iova 0x14450656 free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x560ca013 copy_reserved_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x632be339 find_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x6591423e alloc_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7b03b40e reserve_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x89032608 put_iova_domain +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x99b29474 free_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xa4066476 init_iova_domain +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xb9939bcd queue_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xc76f53b7 alloc_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xdaa3dd25 __free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xf4901ce0 init_iova_flush_queue +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x09e27dff ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0a2fa2a0 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0c9f479c ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x2ec0724c ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x5af3c040 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x8cb20515 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbf5ce3cb ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xca0da325 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xe608eb38 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x041f3d03 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x60675b2b devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7c4c80cb devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa1e438e6 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc0099c19 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xe8ed9439 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xea5c85da led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xffbc72e5 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x2d63ac94 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x40468be5 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4089517a lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x49a4a2c8 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x549b6e4c lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x917a9882 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9f4808f5 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xc6c4b232 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xca2eb4f2 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xe826a5cb lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf1c06dd1 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 0x00af95a1 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06d94b0a __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x157aa73e __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19a50641 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19acd14e __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1e382318 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x24935482 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x28991160 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x29ef0066 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2cd1be34 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3ae1afd1 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4f0216b8 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x56bd5947 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cb0a24a __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65835607 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x68b2f180 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7baca7fe __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x95286aa1 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9cedcd57 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa60fcee9 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xafae4e81 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb4b03b2e __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7500cb5 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1fd1dbc __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd4cd3c1a __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe278bd6d __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe68d70a9 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee926d8f __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf30b9aa6 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf438022f __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfbd03183 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0ca2c02a dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x18f183dd dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x27f60ce0 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2e9eb2b6 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 0x2eca7a92 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x377e4219 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x63ec6172 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x697f602e dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6f0e34d1 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x73404550 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7e84d077 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x94e69bc5 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x954a1bc7 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa85c1a84 dm_cell_lock_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 0xbf70ec39 dm_bio_prison_free_cell_v2 +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 0xf41b719e dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfb1c5803 dm_bio_prison_free_cell +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 0x2cb9c706 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 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 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x8f647e48 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x90136207 dm_cache_policy_destroy +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 0xaacbb43e dm_cache_policy_unregister +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 0xcf90e07a dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x13ed320e dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x3410e24e 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 0x333777db 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 0x87c83e15 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x87fd8e5c dm_rh_delay +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 0xb45464f7 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc073d366 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xec2c78d3 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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +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 0x2adee13f dm_btree_cursor_next +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 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +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 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x55f98e63 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x68df9cc8 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8a56150c dm_tm_read_lock +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 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa433adbc dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa7083b63 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb8dbd4e1 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6367ed7 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf3e25192 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x04904623 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2f14ce43 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3572e6c2 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3aef0244 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x4b9b77a4 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x528f8bd8 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x751c4873 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x802f80c0 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x846cafc2 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 0xaef7c1c2 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb58b2314 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbaca79ca cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbb9e066c cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xcce0565b cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd4079680 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd43e401d cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd4e5d2e0 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe61c78bb cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe8274965 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xedff32d9 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x10634383 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2a789b1b saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x64333f3c saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x683c073c saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x6b443174 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x777aa18a saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x9441470a saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa34f5114 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc14b17f0 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc24f152a saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x04030225 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2469c00d saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x4949ada3 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x62324b95 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x88233e72 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xf4af5be0 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfe773c35 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0c88d81c smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0db2435e smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x12dd47c8 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2f51d252 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3458e112 smscore_getbuffer +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 0x3d430e7f sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4b65afcc smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4f1e4b08 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x726b4980 sms_board_event +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 0x83c02f73 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xba653a5f smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc448fa4f smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc44ec211 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd1c99d3b sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd64b118c smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf30e5f38 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf4cecad8 sms_board_lna_control +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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0aa6af5e __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0ab5fae8 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x16f67eef __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x20cd54ee vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x28941d71 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2c023ed2 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2df69dc4 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x36376eea vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x367be994 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x414aa55e vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x518d50ba vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x51d5d3ac vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7eeeee2e __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x841f433c vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8938f974 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x89ecefc4 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9dccda68 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa5e6ab4f vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaa611fc5 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbeb49eed vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc37e9db7 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcafeb995 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd1625083 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd8192224 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xdff6a21d vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe766ca6b vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xeafff461 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xeed4b97a vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf8825a77 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x731f6d2f vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xcaca7887 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0xde16eaec vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x3a591f42 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x00015d38 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0ea01299 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x248e4668 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x24b08b15 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2c6ff217 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x40352a52 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x421065c1 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4fcb922a vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x54c7bb3c vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5d925414 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x648a00c4 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6fd22baf vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x701138cd vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7c9d0b4c vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8df45d4b vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8fa15cb4 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x970ff871 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9a2a2562 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa1f820a2 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xabc113b4 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xac24b316 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb3fbfc0b vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb9c3e2c7 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xca967123 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd2c4499d vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xda04fc16 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xda5c4896 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe38e2a21 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe722c9a1 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe917538a vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xebc10423 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0xd0bfc284 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x7c552717 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xaf3bbd09 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xb6fbecdd dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xff3780a2 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xd1294633 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0xdb8c6772 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xdb9f240c mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x60919e4e stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x8d2df898 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x6736e819 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x14110888 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x3b7b168a smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x005c67ce media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0a796978 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1114f311 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x13fa64cc __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x14857896 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1743b64c __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1f04b00d media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3475be07 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x34934cd3 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3cb7f39e media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x41cacc9c media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x50227d17 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x52edef65 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x563d6daf media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x60123dcd media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6c076e8c media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6c28088e media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6e7c8038 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6fc69e43 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x702e5505 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x71749326 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x796cc234 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7994f7e6 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7cd16009 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7da1e836 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x80d825f8 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x82071978 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x859fc090 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8caf47f6 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8f788320 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9743c732 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9845a164 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9c72e6ef media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9e50c19d __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb39e2d04 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb600f365 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc3cc190e media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc5d94316 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcb45c339 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd082f0c2 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd6ec6ae5 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd8230e47 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd954a1af media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe1e07ba8 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5b7e58b media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xee91d622 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x0485c9b9 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x09521d61 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0fc8e12e mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2f80929a mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x38e0e548 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x53fa20ff mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x58f28efd mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5e2afd56 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x78bafd49 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x85f1b6a5 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9487f196 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa06c564a mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa568ada7 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa969abfa mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa9d16d81 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc7ecc49b mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xce3aeb6c mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd0ed5ba5 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd9158fee mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xde1bb79d mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x06676db9 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0f32e3e3 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3d761ec0 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x53e177ce saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x61d90766 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6a169f65 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7c00bbf2 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x87940eb1 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x90675cd3 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xae87c35f saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb7bbd8cd saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb869d7c3 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xbc46b651 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc2e061d3 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc81cc52c saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc966c2a2 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd672f8e5 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe039222c saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe9bda77b saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0b57c0c8 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0fbdbaa5 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x43501884 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x56c6732b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xca7b4524 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd310a48e ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xf454b7d0 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x03cf6041 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x879d2502 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xa85b6b47 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xc5ef01d7 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xd97be5e0 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x450a11d0 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x46f9b879 vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x4dc65ea1 vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x5cac74be vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x68f39ad7 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x726cbc3f vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x7f5d5bcd vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xe93bdb60 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/omap/omap-vout 0x085d8e48 omap_vout_try_window +EXPORT_SYMBOL_GPL drivers/media/platform/omap/omap-vout 0x0a59c11d omap_vout_new_format +EXPORT_SYMBOL_GPL drivers/media/platform/omap/omap-vout 0x0d615dfe omap_vout_default_crop +EXPORT_SYMBOL_GPL drivers/media/platform/omap/omap-vout 0x3739df24 omap_vout_new_window +EXPORT_SYMBOL_GPL drivers/media/platform/omap/omap-vout 0x6e8a3074 omap_vout_new_crop +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0xb8c8a6d1 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x070b316e vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x2a188365 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x60472a23 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x8cc3b15d vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xb425a01f vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xbba5b21e vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xe1835ff9 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x1874a4e8 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3420efb5 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x78e9d68d xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x8d7aa46a xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb2555575 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xcc1a1b81 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-video 0xf4896d53 xvip_clr_and_set +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 0x5915d49d xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xa7c9b299 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xb1429632 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x0d98857e si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x397d2870 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x4900d010 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x8fc1a0d6 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xaafac8b5 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3278bd86 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3bd84e81 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3daf502d ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52a6e729 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x53544a69 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x55c48f56 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x59261ef5 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x638c6baf ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x716693ba rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x71e9391b rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fb79e68 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x85ccd5a1 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x870b4266 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8fcfbf3a rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbc77a3a1 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc49789e5 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xccecc44a ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdeaec818 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xee890467 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf86edc3a rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfd5960f2 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x74379215 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x1f548a67 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x4c4c71f6 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0xa7e872b2 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x2341e1f0 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xe7f22c9c tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x85edba60 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x90540e05 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x1175a39f tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x79722067 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xa076d4e3 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x10ca2732 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x7e91bb91 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xa51157d1 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x000b186e cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0594a05e cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1f8067e7 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x257d5bb0 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x301f35f5 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3250487c cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3b628569 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5dc3f6c1 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x674c0746 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x70334041 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x707cdbd0 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7a058977 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x891a57ed cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9c3b028c cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc5956b4a cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdf2975e4 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe02a348a is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe2bad3e4 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xed286918 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfb34ac47 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x90d3f18e mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xc114478e mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0a640878 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x15092193 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1796e72a em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x355bf8eb em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x356342f7 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x38826804 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4e4d389c em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6424a290 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x64d19189 em28xx_find_led +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 0x865518fe em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8cae0326 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8f31277b em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9273216c em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x96d02bdb em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb71c5aea em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc970ff33 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd9ef0780 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdc31d4b0 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x197700a6 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x1ceb78df tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x32dba869 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x78c3e775 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x1fec7a65 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xd5facde0 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xf9b20e75 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x028a3d3e v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1a81865a v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x247155f6 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x278c266e v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2acccd23 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2fd87732 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x3039a530 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x720639f3 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7cc486f0 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa653dc34 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf8f790d0 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xfe5893e1 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x8468300b v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xa003c02f v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xae38bf6d v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x161b22cc v4l2_jpeg_parse_header +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 0xd8c706cb v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xdc58b7d5 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0ecada19 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x11b79ff5 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x13506b0d v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x178b2867 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x343ab014 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x39b92bc3 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3e10501e v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x409ee654 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x43647ef4 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4386b92a v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x45e3ff30 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4f69167a v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4fa0e261 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x538c5ebe v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5415dffd v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x582a4c57 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5b9d3331 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5db83451 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5ed3cdda v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x68f1271f v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6a37d191 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x70eab0f2 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x75a858db v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7a12e3d1 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x809b1621 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x84662865 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x87a7a1d6 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x898d5900 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x941260ad v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x94db4c8c v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9e550a75 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaf1cc57d v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb15a25a9 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb8ac8800 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb9026a2f v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc25bc9ac v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcc17037c v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd1acf8a1 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeea5bd15 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef21d8ed v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef5337b7 v4l2_m2m_last_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 0xf1463278 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf22fe275 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf866ffdf v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x01ad1372 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0ea7f167 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x22ca9bf9 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3487b9c8 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x348cc331 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x361d7b92 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x374380fb videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3c7da4e0 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x43203bb5 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4413dba7 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x579f7056 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6d62aa9b videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x755f664c videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8d002190 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa81448c5 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xadfdd223 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xbb4c2b8a videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd6ef861c videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdfedb436 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xee863795 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xee9ab750 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf206c74d videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf369fc6e videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf7d63c91 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x11f91a10 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x1977f373 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x457e4f00 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x899a1416 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x46bfb4e4 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xaa577e98 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xcaf997b1 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x01259980 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x01a22256 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a092c58 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c0a5540 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0db00636 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0eac3c2d v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x12157629 v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1482a9bb v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x178a4812 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x208cecbf v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x20bc3896 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x25a0b77f __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27f7e528 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2abe1bf4 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2acfa5c9 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x33ab8b10 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x35e91846 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3624cca0 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x36872c3f v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3c0de891 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x45b57f40 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4c88c876 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x58558646 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5f526b52 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61817752 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x69a04fa8 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6bc685e9 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ca8421a v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6d810f54 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x71c8044b v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7759b6f2 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x79ae9fc8 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7a858aaa v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8384d1a7 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x890c1af3 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8b889dfa v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8f1c52e6 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x909fddbf v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x94da0875 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x96a2dae5 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa93c0301 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb42df769 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb655a87b v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xba3a2fdd v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xba924def v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc1edf2fa v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc516dc62 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8129153 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc891e392 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcf341422 v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdfc95f6a v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe21e4422 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8770199 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe944ecda v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xed190dfe v4l2_create_fwnode_links +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 0xf7246646 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf764edbb v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf8dff0fb v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf95731cc v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfa56310b v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfdce6db4 v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xff76573f __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x27ed2092 pl353_smc_set_ecc_mode +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x2eec2ab2 pl353_smc_ecc_is_busy +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x31112d75 pl353_smc_get_nand_int_status_raw +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x80ef3725 pl353_smc_set_ecc_pg_size +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x84eeb67e pl353_smc_set_buswidth +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xc00d163f pl353_smc_set_cycles +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xc37aa3c1 pl353_smc_clr_nand_int +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xe2603369 pl353_smc_get_ecc_val +EXPORT_SYMBOL_GPL drivers/memory/ti-emif-sram 0x49a8a623 ti_emif_get_mem_type +EXPORT_SYMBOL_GPL drivers/memory/ti-emif-sram 0xbcf322c5 ti_emif_copy_pm_function_table +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x083b5562 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x0886e01b pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x55f9baf8 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x152cdd3b da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x1b1add2a da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x2b313781 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x32cc8dd3 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xb990c402 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xdd520abc da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xe211cf75 da9150_reg_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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0665c22f kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x273fe4e1 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x31bbe936 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x84f313fe kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xad22627b kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb498cf0c kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xe80fc06d kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xff976721 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x0a3a5d25 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x17390439 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb37a932f lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x04b99737 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x204aa255 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x235bf513 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5cdca3ac lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x908d5627 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc8d0da2b lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf4d74a09 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x06183655 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x4e0acecf lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x7c4c255f lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3af71b9c cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3afac7dc cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x41559308 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x528815f5 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5c2634ff cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7169cd9b madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x79c20690 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x79cfdad0 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x81733724 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x817eeb64 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x86a24210 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x911fd2ea cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x99a64094 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x99ab9cd4 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa0c01d22 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xae275b69 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xae2a8729 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb301ac5c cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb30c701c cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb9cbdb48 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc2462a28 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc24bf668 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xda935d98 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xda9e81d8 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xed124665 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xed1f9a25 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf034b150 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf0396d10 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0cccad67 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xa2eb6f42 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb14eb4c4 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xc0329bd3 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe3fb0a8c mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xf1f4ffe4 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1fa9c966 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2dd69e48 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3c2998a4 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x42530a57 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4699fd86 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x54a5b2b8 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x69b78b25 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x720adaa9 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc6e7e79f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd14116c1 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe63affe4 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x51979c38 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xbcccbc31 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3b7754f2 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x75a07060 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa49bfb1c pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xd7f6eda7 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfee7f9a5 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xecc4615f devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xeecaf484 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 0x021201b9 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x06fbe459 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x07431534 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x12617fcc si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x185a368a si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1e5ebb7a si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2e17ce08 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4bf7edc0 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x580d8b41 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6033da63 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x668aca70 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6bc73c64 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x758d0ab1 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x75aa1f5b si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x76b90891 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x84c05d17 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8c662be5 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8e77262e devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x93c799fe si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9f61cfe3 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaefc9642 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb4a094a5 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb677c470 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbb0c2fc0 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd6855a4c si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd6eb060b si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd8eb04ca si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe01b5140 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xee2d4530 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xefb657cc si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf7bceaaa si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfa335b55 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfb3bff58 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfd108106 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x3e53b936 ssbi_read +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x9406bee3 ssbi_write +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xc6b153ce stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xff56b556 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x083468c2 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x5ffe6401 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xc8049262 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xe51a6a57 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x217a6554 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xb522c20a tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xb81ac74d tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x04b067fe ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0f73b231 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1dede63e alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7b9cd4bc alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x82e050da alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xb8bad29b alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xd712a88b alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf05a993b alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x000b049b rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x00b41208 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1d9c8a6b rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x27f5008a rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2951d67d rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2be58c71 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2e7adb59 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x30429026 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4497e04d rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x524206bf rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6e144a7b rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x76ff8613 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x880b0701 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x98a368c9 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb2479fb9 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb6a9c95f rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbf19426d rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc208bc27 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcce0ffef rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd063b908 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd810fd47 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xed5e75e5 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf0bade4d rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf5f6f68f rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x02056725 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3815e3f2 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x44e452d2 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x572d296f rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6c453586 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x769abe0b rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x82da9fd0 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x994683d9 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xca13ab20 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd21e25a3 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf07dca5e rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf89cff8b rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf8d7e370 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x17541510 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x557ddf3d cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x62bf4aa1 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xcc6da8d1 cb710_set_irq_handler +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 0x1d6c55cb enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x524f8bf7 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x828475e8 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x88f948e4 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x999611d0 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb0931150 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd4c9ef4d enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf45cdf0b enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x2d2bfc04 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x36b31fb1 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x62751674 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6b1864a3 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6f9e68b2 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x848c4cbc lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc908ec65 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf7578e9d lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x091fbd7e st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xa31892ca st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x3b728617 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x4c673ef3 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xabda2890 uacce_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x35269009 dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x386da1aa dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xd4c53372 dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x26732811 renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0xfd87b26b renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x047f37b3 tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x20f7f598 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 0x6bdb910d tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x813b875f tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x8888eecb tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xa5e42c2b tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xb772ed8d tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xbb682281 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xfb5e6755 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0bb5b7cb channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2d7ff3f8 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5be2049b most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x62a55426 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7c04eed4 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x80fa9285 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x81848046 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa1b3df5d most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa2002384 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc2eec877 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd5c661b5 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe90b78b0 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xed23229b most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf296aaa8 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x44b7d03f cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x8680d041 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb9a9f5a9 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x55c4a8db cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xa63d675d cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xd86f2c8d cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x37fa01da cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x92e36f36 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xcf2b27c6 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xfa24655e cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x6e910f31 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x983365a3 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x1e9f2994 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x8fb75136 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x18b855a4 brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x3b516423 brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xfd689bcb brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x4be0e37b denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x6265950b sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x6a880211 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xbcd1f550 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0baec60a ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3577f50d ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3f03e82f ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5be74467 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5db0a047 ubi_leb_change +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 0x86e966e1 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x98ddf92b ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x997e7d07 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa8a16019 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc2b56f0 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xce533c22 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd69dee34 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdad60d19 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf537eaa6 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1c029973 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1eb5218d devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x51e4e703 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5f71a2a7 mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x78a10a7a mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x91a0e00b mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa79c6ac0 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xd8fd48d0 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdfdbf20f mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe3afd6c2 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xefd18c18 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf88a391b mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfbd6a17a mux_control_get +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x8c405688 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xd3215c34 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/bareudp 0x6a8d8b26 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x55820ec2 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x686be188 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6b13491f c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc7b79d50 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xd560dd0b alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xdf33e82d free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x2fc803dc register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x73626287 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb1b0bd5f alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xd12a4f94 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x13d5bbc2 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x15a21fd1 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1c48803c close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3e422114 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x46787ef3 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4c39a1be can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4fee09bf of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5493e0d3 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5b23c06a open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5fb38449 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6263e07a can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7e9a9ae7 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7ef4834c can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7f4f9ecd can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x820bd0f3 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x92a0514d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x996e63af can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xad719c06 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb8f308f2 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbd658a58 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbd94b5e2 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc182d7fa can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc457bf2d can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcc9b961a alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xefab8ee3 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf446c14d register_candev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x111fdb3f m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x118bacdb m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1685d0c6 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x5f39aa24 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x68ec9538 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xc2be3d8f m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xc4d94611 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd17be614 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x97de4b57 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb3eef4f8 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb9fdcfd0 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd0147d03 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x8a2480e5 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2fb5cee8 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3aae3f16 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4245dbf0 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x48fe3abe ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4d1584b0 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7bbfb9fb ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7d6daac8 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x89d2fae9 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9812270b ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x998b19f5 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb3383632 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdbee552a ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe854bf63 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe9f5b93e ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xef5a470f ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf40a6c57 ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf9ffbc7e ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x130e8b40 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x2674f2b1 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x288f5ac4 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x35cc535c rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x398826cc rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x4e1d48f6 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x55bcf4ad realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x5db9e44e rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x9ab5d5d6 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xbf54b606 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc1853bc1 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc31bdcbe rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd33874ba rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf646bc58 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xfd7170e6 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xff85f611 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x60f9d06b arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0xaa1f9a87 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x02cbd485 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x35b39f35 enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x6abd055d enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xf68ac32d enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01304f88 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0634cc8a mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x090ca230 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b5ce4b7 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1011de37 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1058b186 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x14b40532 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a296933 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b86269f mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1dd1fc0e mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2306b0be mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x254d1e7f mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25ff6f87 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26deffc4 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2798bb74 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28343096 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28a98ced mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28ed3447 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x300ac586 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3029e0b9 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x303a1888 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3260e4c1 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3268f623 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3abfb292 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b579b90 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3dcb5a56 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3defc69c mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e8fe1bd mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x409b99ed __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x417fabe3 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x452fed82 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4577bf92 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4ba6e6c9 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c4ac30a mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c8e01ea mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x526029ab mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53d8807b mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56ad7a47 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59caa415 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b59573b mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf52aa9 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e99cc36 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63f9e811 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x654d9eac mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x657c83f5 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d822b84 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ddff815 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6efd4f5c mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70866a19 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71bd635a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73d2057f mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x743591a5 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7446a32b mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x756047b7 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76b5ca96 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x782498c2 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78d04780 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b506ba4 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d422e92 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e4ba51b mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8017450b mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80dab743 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x857a89b7 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85a7c13f mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86e5bbd0 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x879898c1 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b027520 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b06a2cf mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b53b79b mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ce1fa54 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f243a3e mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x987f66ab mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a6ac310 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9bacba58 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9cc8261d mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e1dccdc __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e3f7b21 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e7f0dcd mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e8aa4cf __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6e3a569 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa952d05c mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa95e078e mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9df1199 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaafeaf34 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab7f1909 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xafbd0b70 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1913bde mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7ff426b __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb3d56b3 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb6716c6 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb8d4cbc mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc3070ff mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf029f4b mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbfc2d7f4 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0f9f808 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc359dad0 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6912933 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcafffc6f mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcce64969 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd4af8bd mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd5fda47 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5a2e746 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5aee239 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd97fa9aa mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcb266e5 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe08c87ac mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe161d2d5 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3c6862c mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe483af9e mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4fb9421 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6a6fc4e mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6c24d9d mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8420df9 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb8ccdaa mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xebb0f1e7 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed82941e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf46719ed mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf684d8f1 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf742ce00 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7d16c43 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf86c141c mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0316eef2 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d16141b mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0fb27bc9 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1147f43a mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x139cc3ed mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15ce117a mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1743d7d5 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17a2ff29 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x192588c1 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b793896 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e557031 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f7ae557 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x21c6ad6c mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27cbf2f9 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28b2a78e mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30155fff mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36706123 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3746fae0 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39474a06 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b06a5a5 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e6791c3 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f67ffa2 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44244dae mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b9317f7 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4be52b11 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55d72dcb mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57a01f11 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d992c5d mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e1b461a mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ea3967d mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f15db03 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62dcc0f5 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x636d3dfd mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6589105b mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65b4392e mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68ff71bb mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b0f1bc7 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cbe9b53 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ecf36b7 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71e96c38 mlx5_query_port_ets_rate_limit +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 0x769dce97 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b41323e mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e055308 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85a15da0 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9097a920 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93f7c6a0 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9cd1c99b mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d08d8da mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fee7bd1 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa27e58bf mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa978ef43 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab1e4c71 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaca4b833 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb134bb50 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb214c457 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72f7d89 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc2f44db mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7a99571 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcb99ff42 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5b33b17 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd90adfc8 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde7e67ef mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf2c81c1 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0b344fa mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe16c7eb3 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4608237 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed30c5ab mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf227859c mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf352ef8c mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf939622c mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa88e55b mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd9771be mlx5_nic_vport_query_local_lb +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 0xaff159e7 devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x437da859 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8b79ddd3 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x99eef0f4 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 0x2acad4a5 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x2e04f9e4 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 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xf7a39314 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xfbfdcc49 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x13d2b838 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x298f9d64 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x2aeda132 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xd83c0362 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xe2dc119c stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x2ca6b22e w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x94d9b6f5 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xc8de9447 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xeb315586 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0xc770c2a1 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x02ff5b69 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x03eaec4e ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa95e134e ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xbda71cfc ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xca591827 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macsec 0xf87bd5ec macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x5e6ad3f9 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x90e3c1e4 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa8d8ca7d macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xbb68cce6 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x8a146c02 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x8f7f2fa6 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x062ee516 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3826f92c bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3a251e89 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3b2c24f9 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3f47cde3 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3f4f18b9 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x412f439c bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x44c0c897 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x53845e3b bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x56b12157 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5acb5a83 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6e2a0e56 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x700cac7e bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x70fae14c __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x73a37bed bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x766ca127 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8b4d6d18 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8db95930 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x97b531b2 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9c7d3083 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa69df810 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa8471958 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaaed599a bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xab4a9a61 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbf717937 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc0710980 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc5d53a93 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc6ad52d4 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd06fea27 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd42efeca bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xde96074d __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf9ccf5ba __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xff10aeee bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x85285d16 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x89dfed05 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0x6ee0daeb mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x15c8a157 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x29309ca9 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x381d454f phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4e60522f phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +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 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x904fde55 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x90ddd643 phylink_mii_c22_pcs_get_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 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc33454fa phylink_add_pcs +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 0xf9cfb459 phylink_create +EXPORT_SYMBOL_GPL drivers/net/tap 0x2614d662 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x6b8d8b08 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x72138ab1 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0xacc69591 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xc4d6c04a tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xcc801f73 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xe95f6bd8 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0xf4d72ccd tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xfcaedeba tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5a44c01d usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x736eacf1 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xcf878f00 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe3a343e4 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf130a9c4 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x3dd4a1cf cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x4a6c9b84 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x6e90fbc3 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x858980c6 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8cb85838 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9cc840c3 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc1bc6f9a cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd8a5b362 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd9e71841 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe0bd9184 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xfc630a5a cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x32228466 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x372ccba3 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x9643636e rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb231e42a rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd538f2ff rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf2a3919b rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x03451859 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0591e959 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0666c76e usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0b742943 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14a8c983 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x25c1aaa2 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2e94a4dd usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30d3f985 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x378357b8 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4862a78c usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x52d0bf15 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5f7eea02 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x68837668 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6a60842c usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6d35de44 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x74a9222d usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7bf6f723 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8313b46f usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x84869124 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8d595b0c usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8e2c0afc usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x96e1e2d5 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x971224c1 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4671e15 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaa59c0d3 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaf273ca7 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb45ba422 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xba1cd8a3 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xba7a94df usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc5145159 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0a0b4a5 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf0079ddf usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfcc07507 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x26ea57de vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x54904d9a vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x85b50ee7 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xfd611a6c vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0cfe7127 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0f522b4d i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x17ebee1e i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1e060985 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1e5cb063 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3c96d547 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x41c4ee58 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x41cf1ce4 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x53a9ca04 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x73316e8e i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xac213826 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xaed59e7b i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbc780789 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe75ac58a i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf4ec0916 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf741aee2 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x3007d09c libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35169745 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x65375af9 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa774b27d il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb6ac1c40 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd79d340 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0189c36f iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0abbb72d iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0cc126a1 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0e874b70 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x14f8b4bc __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1787e6e2 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1c48129a iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x27454a00 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x28b7be99 iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2c0f571f iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2d854fd3 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2e4181a3 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x33644b72 iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x350a9c9f iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3ec98717 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x42a6f30f iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x43e26e7e iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x45983775 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4629b8c7 iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5bdd68e6 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5d5e1b87 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5ef4a44d iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x63e88829 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6f10fc12 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7434fb4b iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x749a38a1 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x77e6fba7 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7a14956f iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7b062337 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7e9831b3 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7ed5c868 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fe9fa29 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x83ea56f4 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8417ded1 iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8905f322 iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x89f94d1b iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8ed7af32 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x92740fb5 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x93160e9e iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x96972b02 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa0e51c53 iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa367853c iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa5548afd iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa71384c9 iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xacd234d2 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb093f54d iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb0fb1c41 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb1e39cb3 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb7cdc3c1 iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb804fb77 iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbee008de __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcfa4de7f iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd84a7c5e iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdec9e66d iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe4394739 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe72113b8 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeb4d9546 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf7d9ac1e iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfa64c297 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfb71897e iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfc69258d iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfe24afff iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x226138b2 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x323c3904 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4828aefe p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x90b5bff8 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa5e81912 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xaa5ee1a5 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xdade4fd7 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xe3577f03 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xf354fcfa p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0136139e lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0da621de __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2a1c0ed6 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 0x62cdd125 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x64d97703 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x73a79046 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x75cddbc7 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8025c558 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa0e5fd88 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa76103e9 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb0561806 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xcd6d3637 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xddeed2f8 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xeb09dd18 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xeec67ccf lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xff989b19 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x132d2259 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4f659b88 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x54cfe5dd __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x6e82bdd2 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7b92db83 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x954f3670 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 0xd0eb4e86 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf973239f lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x05037849 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1b31f5c0 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3e480d75 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x49288286 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4c071d3a mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4f4407b7 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5e954cb1 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6c988c3a mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7558acc4 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x768c7e42 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7cbf3689 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7f966bbb mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x83572cb1 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x85aee775 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9c8ad9e0 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa0e864f0 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xade9bb01 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb031c6f7 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc4caa3ab mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd055ae7f mwifiex_enable_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 0xec950637 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf7345270 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf7c0736a mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfdb508ad mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0026832d mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0106654f mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01740e8f mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01b01039 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x045e5ae4 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x06e983c6 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x090c9249 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x11b7727e mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17718243 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x18396c9e mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2abd2383 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2b1c45b3 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x30f46406 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x325bc38f mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x328fba65 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x343ed81a mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x34d89d3b mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x39ba483a mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3b997f3f __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d5f090e mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x462e2316 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5126d890 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x61ec6fc4 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6956325d mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6b2e3469 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e7553f6 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6ee5e4b8 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x72a7bf90 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x73532fff mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b300642 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x82a7f641 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x83710287 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x84e6d6c2 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x86ff1ed6 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8756ba58 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887367da __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x889b66bb mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x890ab52d mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x970dcab6 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa4958d84 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa556faaa __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab319775 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xafd5c69d mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xafe9038b mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbc032180 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbce0e3c7 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc27f096f mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcaa4eece mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcfc481c6 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd5e30992 mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd5e587ce mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd7979df0 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdd6cd5ae mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe3a23742 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe405a6c3 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xec9e92c8 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeded4389 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee197a0f mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf397be21 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf55765ea mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf5619a49 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf87d3889 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x08208f63 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2313d426 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x35551d9e mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x49405957 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5e095194 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x64f68b86 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6c6f6cce mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8cb6c0be mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xbe733f3b mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xef9c3698 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf9d83a2e mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0e1a969a mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1d644df2 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1d7350cc mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2091d01e mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x23d7c06e mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x31e6ed15 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3c811947 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4028aab2 mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x44f4ec91 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4bf9a6a1 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x54d03eb1 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5cbdfd55 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x611f8152 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x633fc3c1 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6cf1660c mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fd16f2d mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x86420083 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8d7b22e2 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x92a5c385 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9600e389 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9a2eec1a mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9f168bd0 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa0cf75e1 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb4a95819 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb83210c0 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc35df858 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc4e1d7e6 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xce668bc0 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd1f51d4e mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd5ca6df8 mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdae4e1b6 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe658b849 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe779f714 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xed2d5599 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf2c17f5d mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf9f363df mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfd9d35df mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x393b44fe mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xa74bdac5 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xade53bf9 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xaf59eeb5 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xeab031f7 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xfffad0c0 mt76x0_register_device +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 0x04f904ab mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0a0becf2 mt76x02_init_device +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 0x0ef35ca1 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2887121f mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2aaf1f63 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2bfdd582 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2c1aef5d mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2ecaa03e mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x30af83f8 mt76x02_set_key +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 0x3ddb5b5c mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3e51c40c mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3e74334d mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x473b5f98 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d37ce26 mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4de2a855 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4e55ef1c mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4ec0129a mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x513db001 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x57246153 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x583af652 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x584fb635 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x59b065d0 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5fc6d316 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x61a172ca mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x66e908fc mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x68d7ba7a mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x697b28a8 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x718627ed mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7233c4c4 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x73a879ab mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7a5d8ede mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x80ee88d5 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8206da57 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x82609b10 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x90d3c15a mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9143b0a6 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91698980 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x94643526 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x94b5184c mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9572bbce mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x95a6d1eb mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x95af11d5 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x99e68848 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9a6bbd0a mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9a8e82fe mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9aa6d3d1 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9d443f95 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9e951d60 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xab413f48 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xba2bea25 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbab7855d mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbdcf6948 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbdd64787 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbdd6ff4f mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc18f2422 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc42d3515 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc5fc1626 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc60a9f5f mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc6851056 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcf73baff mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd36ad188 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd595d9f2 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdf62cb0e mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe4ae60ff mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf6b98318 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfa7b6104 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x179473bb mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x1aacaae0 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2838ab04 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5ccf06b5 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x8e29c1fa mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x9a9d343b mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x9f95c5d3 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xde6269d3 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x02793b54 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0a7104e1 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0a87b3e4 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x24f83f49 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2b3e1f41 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x359890a9 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x37c362e7 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3c299ba8 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x462d76c1 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5853ae6c mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x63a499d3 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6d22c971 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7c6def05 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x904ae104 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9b3d4c04 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa594ce14 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe664ea4e mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xeac9c576 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf3ed97d2 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x52101cf2 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x776a4148 qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x8ccda648 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xac701a7a qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xd214017b qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xde17b141 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xe0298812 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xed26947e qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x01df8cdf rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0527e4b9 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x09f4765c rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0afbbfcf rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1dcfbbd9 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2186f6f3 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x26c4ef94 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x278576f1 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x369b2c03 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x373885cb rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x386d9bde rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4438e1b5 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x44912988 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4608669f rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x46a44aa0 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x50e0a0b5 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x56ba86f5 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5a8dd6fd rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5cfeb87c rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x662e14c5 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x697a993d rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7acbf660 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7bfb94f8 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x89cc2e55 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8ce9a35a rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8d2699b5 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9498ef01 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9be035ec rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa22798e8 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa5e27b99 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa68848c9 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaf5d461e rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb0e07fbf rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbd93429a rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbdfd6ac8 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc0c60281 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc115ad78 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc7cd2977 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcf149f3e rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd7af0a82 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xde961acd rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdf387a9d rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf83c0187 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf8854d49 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0426310c rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0b990cbc rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x22c9cf6b rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2dca1786 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x321d7114 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4ec14591 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fc216b2 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x62ab539a rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x667b671a rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x72d02b75 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7bf402b2 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97b59af4 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9c17ec69 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa9879123 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xcb8aba25 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xddb31abd rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x01c3a7db rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x17e49353 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x19d51acb rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x19faa010 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1a9c1006 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1b9129f5 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x21292fde rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x219ec564 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x25b8db08 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x28f05f45 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2e1fc67f rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2e89d851 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x37183af9 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x43eb522f rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4c2bc353 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x50c8ca62 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x529a9621 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x54f25aed rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x67b1df50 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6842d1e0 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6c6c2588 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7070bb89 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x733049cf rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7ad028a5 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7c202b08 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x87b4629f rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9eb2c38b rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa4be5c45 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa5d81691 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa72e3632 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa998879e rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa9af55eb rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xad171984 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb8846216 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbb0b86a3 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc5ca479e rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc70088df rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc8fb23af rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcce36552 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcceded2a rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd176c4ee rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2bad6a3 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd58749d6 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe0610194 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf74c3467 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfb19b637 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfd07d193 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x18ecae8a rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x53d0f03c rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x58f14378 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x98c56b8e rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xac5d0a12 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x1aaff1c7 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x20e469d4 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x846a456d rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xe5a7b85f rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0230c471 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0a357485 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3266a3dc rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4a907b47 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x540beb1b rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x63523631 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6ef2eae0 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x810a87c5 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x94d58094 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xae6c3909 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb7c5a56c rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbf69231d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc49403da rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xcd360adb rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd1222f37 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdaef7aee rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x48196eec dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6e883103 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa48c2f73 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe3efe046 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x19bf5022 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x239ad090 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x26c694d2 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3445a940 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 0x43384663 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x51486c6d rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5360bc5d rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x55dea92d rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x56937fcc rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x57c55dde rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5bebe350 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6c2c348f rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x75341708 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x769eb080 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7ce2dede rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x889cd1ce rtl8723_phy_path_a_standby +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 0x9e2e0bed rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9ecedee7 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb46a4d39 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd06059a5 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe6bc279e rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf39f2f07 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf7576f92 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfa550fa3 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfb237f7b rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0848b1ec rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a26c9fd rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x15c83822 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2720af73 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 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 0x3dbf7363 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x448c9c99 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4f715218 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x51946ab1 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5589a456 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x82723d51 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x84bf28bf rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9ac757d2 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xafbedf35 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb5fc9c1d rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb7d7d4e0 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbf4ac94a rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc0e68178 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc164b28f rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc18ad898 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc94e5033 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdc8a19be rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe4f165c3 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb8db87d rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8d84cf7 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8ff6add rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfc66a897 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x4971c87d rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x5b8d9b7a rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x87e29c68 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xd7a1c3cc rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf29ff39f rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x165d07f2 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x6656e34e cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x6fdc02f2 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x8aa163de cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x15506155 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fcdeb60 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x8208a3d9 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 0x092443ca wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1462823d wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x26009e94 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x28837740 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x289f6e50 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2bf0bf90 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2d980136 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2fafb01b wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x36d2f503 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3751b17a wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3877d641 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3e952148 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x449daaea wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x455c0a4a wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x45a26377 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x48c2de67 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x49dfcb11 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f1ce5e4 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x56d322e6 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5e57f813 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5e9adab2 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x61d04290 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6242b503 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x63bf5f7d wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x69e35a03 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x72d82b68 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x791cc860 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7ebebfc2 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x933fe3fc wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9530c512 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb2ea1a17 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb67dd585 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb7201c95 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xba15dc5e wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc1db71fa wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcd47eb74 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd60d4425 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe7929979 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xeb16ba02 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xec376907 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xecd2e2af wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf7141944 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf9136aa3 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfe1af380 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x0d53e702 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x669c20b9 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xcd417c3a nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xe9f0d473 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x541a074e pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x687f7d86 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x6e13398e pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc0bfd7a5 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xcea9e3ac pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdd8780d7 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xf7ae7c4f pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x1002ad6d st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x1325fd1f st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x3dcb5ad5 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x5b02f315 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x95f83bba st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xb698860c st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbd02b00a st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe5b5b069 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x0221b84c st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x2b6a3c40 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x59bb5f91 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 0x6d7d4ac7 ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x8b6941b3 ntb_transport_register_client +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 0xc6612ddf ntb_transport_unregister_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/nvme/host/nvme-core 0x02583ab0 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x09cd93d0 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0c6417a3 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0c9a567f nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19876274 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3033bfc2 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x30645ed2 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3715b2aa nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x382d5e02 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5506c483 nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x55e2030b nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x568198f3 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5941f429 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6a119a0f nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6a497992 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6ea8a3dc nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x73b96f0f nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x773259ca nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7978c1f8 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7b1f4f64 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x815ba381 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x83d08bda nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8ab19397 nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9611f582 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa1d25a82 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa2bc1914 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa48901d7 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xaef52da9 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb3de947e nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb51886b9 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb901a770 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcbb8d858 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd0ec75e1 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd238b38f nvme_get_features +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 0xda9648cb nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdcf8311a nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xee1cc07e nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf221f6d2 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf2eb501e nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf47b9ceb nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0a452285 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x4b402e07 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x58a0e652 nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5ca428f9 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6b8f403f __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x78b3f44d nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x999b6ecf nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xaac012ff nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb109c46f nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd57f364d nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdb61289d nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdffb8030 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xed94b2f1 nvmf_connect_io_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 0x708bfbb4 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 0xbeaa0ea6 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 0x01b94b96 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x0cd106a6 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1429b698 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1642872b nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4824fd81 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5a605bdb nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7d24c1e0 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xa20ce7c0 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xbb69636c nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xda440e26 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe03e24cd nvmet_ctrl_fatal_error +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 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xa016708a nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xddb93c97 nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xfee33ec7 nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x32c13dd7 switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x2641886b ufs_qcom_phy_generic_probe +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x2da94ff9 ufs_qcom_phy_power_on +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x6d28e909 get_ufs_qcom_phy +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x6ea0a526 ufs_qcom_phy_init_vregulators +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x821014e7 ufs_qcom_phy_set_tx_lane_enable +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x914ff56f ufs_qcom_phy_calibrate +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xb00b5476 ufs_qcom_phy_power_off +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xc7e96dd4 ufs_qcom_phy_init_clks +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xeeb43d8d ufs_qcom_phy_save_controller_version +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x22f2833f tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x38fcfe28 tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x44d6bbaf tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x81c0311a tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x8d1aad62 tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x954a1f69 tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xd109e260 tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xd1196013 tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xdb2722cc tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x42c493af omap_control_usb_set_mode +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x44ee1400 omap_control_phy_power +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x6dfcd462 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 0x13ab046b mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x23d0a084 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x5f3bc4a4 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x4628fb09 cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x913d00f0 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/power/reset/reboot-mode 0x0958a94f reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x56a3aef5 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xc6249630 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xcca4f216 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x164b4c34 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x1dfbd502 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xf0a16da3 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x013b9d16 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xae1177ef pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xf1b13138 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x06cd55b7 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x26d089c3 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x74f048ac ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7b8a501c ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa95c5672 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xd0fd419a ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xee4b2ed6 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xf3dfa36e ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x94816c7f mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x999ec2c9 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe16f7ad2 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xeddb9a0e mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf6d97c5c mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3de68ea9 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x51d54a70 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5a61491d wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x67b10cf2 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7780bac5 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xdf92fcd1 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xb4607650 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x136dc3c7 scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x1a0b761d scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x76ccbd90 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x96662ede scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xbc7ef1c2 scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xea2c0d61 scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xfcc5e2b4 scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x041e2b32 scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x7384d6cb scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xc98350c2 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xcd3572e9 scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xf15d9a69 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x05534329 qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x31bfd40e qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x4c60916a qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x6a71e116 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7260277c qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x86a84622 qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x91c6a2c8 qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xa0866288 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xa36f7c1b qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x2067f6a4 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x2da560ac qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x48acfe25 qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x50eaee2d qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x8a0a0f89 qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xdab2ad03 qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0x21b229ab qcom_remove_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0x7a88b39e qcom_add_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0x28b6b0d9 qcom_deregister_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0xf3e558d1 qcom_register_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xf8dd8900 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x3b1daa22 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 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfdd5d4c1 qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x06e11e06 qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x00b022e8 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0570b5e2 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0c05e155 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0ca402ae cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f916985 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x12e5b699 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x19903ef3 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1f49273d cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x276ca657 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2b13ecaf cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c1f55a5 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3c5ee9d5 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3f95da45 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4a81f2bb cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5354eef5 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5c7917fb cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x668652e4 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x67e65667 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a8bf404 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x72a1e5c8 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e59033f cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7eebafd2 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fabc2d7 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x82560692 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x882de267 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x90aa09f0 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x92a1632b cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9ab370bd cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa7ae57bd cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf0fc4a8 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb2af72a4 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc208fde7 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6e0aeba cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc97930be cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcf27b205 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd2763e27 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe80d6261 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe8227b0b cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xed825e8c cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf23a976b cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf36f7134 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf490d294 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf76db0d0 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfcb1b9cc cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfcf11534 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x362b275e fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x47950c5c __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x49049977 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4bfe3b59 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x50da3af7 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x565bdfca fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x723efc98 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x821aaae3 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x858de9fc fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa053447b fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbea3f708 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc9040d72 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xef7fcd01 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf2df8614 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfaea896b fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfd0fc74b fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x5a8a3c49 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0xc25076fa fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x1a32012b iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2097dbaa iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2377ea2f iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x3a01c24f iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa4b4e84b iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xbf101f68 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xeb55478e iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0xf15aa126 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c274885 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0eaeec62 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11a68249 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1278d74b iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x193a4707 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1e072f76 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1eafd35e iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ae995ec iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b2e9843 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b8912e4 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3c2e5740 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3fe1f9aa __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x411a8f24 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4815576b __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f8c3987 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7600ad7d iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7ca8425d iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f068980 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x883058cd iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8a59b6ed iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e7ed9eb iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e8968fc iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x91f530f7 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9982b325 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9e5f521f iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa1c6502c iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa66f3b59 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaa852795 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaffb6746 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb22d4fa8 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb9b04ce3 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba80621a iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5d9799f iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc674e0b4 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd0ad271f iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4a96264 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9753b05 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb24f07c iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xea2a62b8 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee23ae80 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefa9e767 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc23e70e iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0ff73afb iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2de0f190 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x634e3dfe iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6b9e1dc3 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6bc72e36 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6ed442e6 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7cdc8093 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9833783a iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9bfbd5cc iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa46c4043 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaa82e570 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb35ac664 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc241e4e8 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc8d71b3a iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe2ad66d1 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4d5f9f6 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe6d6a585 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x12b495b1 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1e7dd35b sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1eaca9d2 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x234e209a sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2d080d19 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3ff651ba sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4118bf4d sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4dbd3177 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5ad567e1 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5bf2c20a sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x728be67e dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x883dbcf7 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x902ebd01 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc845c231 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xccc84d9f sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd545a29d sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd7f7c94e sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd9f1d188 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1165f00 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe8af2bd8 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xebba8379 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xefac2920 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf296db76 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfe1fd5d6 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0b4b27ea iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ec1970b iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x10b53f05 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x191ccaad __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e093b69 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x20d5608d iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24950017 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x292d986b iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3009fa01 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x31b347ad iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35e17a0a iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x45a6eea6 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d36b2f9 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4dde390e iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x506267e8 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x55316216 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d9d2b2c __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x639c47c8 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6520fec2 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6582c21f iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6ccb81af iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7bec3f70 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7cd7d6be __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85a2bcc2 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8648f9a6 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8ce33a8f iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8f479d5c iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa9724851 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xad907de2 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1abb6e3 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc257f1dd iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc7d019fa iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcbb0828b iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd37dc693 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd5534c15 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd891a082 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd92e5a04 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde1005d9 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4d004b2 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe70390e9 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3e2c76b iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8cdac28 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe06cab0 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe0c34c9 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x24a428e3 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x2b9202f3 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa827e73f sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xcbb0ca07 sas_enable_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 0xe25d0168 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2ca1cb29 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x380ba9e7 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x70190116 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x8a6acdae srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa48a4e76 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb922a5f8 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d3eec9e ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6324baa7 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x7999d556 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x886d79be ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x93c0bea3 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x94177268 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xb196dbd8 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xbe9a5ae8 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xc614d21a ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd90ad3bc ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf4510283 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf488c14b ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf56f565b ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf82723a8 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xfc8552f2 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x04d55788 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x1fdb3819 ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x384f06a6 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xa399ce12 ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xb4de128a ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xbb69036c ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xe1f1114c ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0e845f40 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x22401f87 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x305c1057 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xa2c1825b siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb4db5067 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xbf09a4c1 siox_device_connected +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x028504c1 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x033f2c12 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x083b3450 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0deceeaf slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x175c15b0 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x19ab2033 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x20666d04 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x39024101 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3b94d30f __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3eea6c5e slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x40adb741 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x42a28896 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x530e8f28 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x62f61757 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x71196a5d slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x750e16ce slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x89cd503c slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x91aed4de slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x96038a24 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa19847ba slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbfa92cdd slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc020745e slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc255ad88 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd017f4b9 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfedddaa9 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xffb05743 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x21b3a4f9 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/qcom/apr 0x000f9c15 apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x1a4a428d apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x2c8bea6d __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x43ac5452 aprbus +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 0xdffee709 llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x3b3fe7ae qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x42f47788 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 0x597abb83 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x69ae9801 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x827468af sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x8cfe43b8 __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x075bf765 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x127de7c4 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5ad95c0c spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x68568933 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd3730d2a spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xed5bed4c spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x161e3ada dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x20186471 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x2360c2fe dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x3114b927 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x5e641d48 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x96c1821e dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xcba82d2e dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xfdc7f650 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xfef482de dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x584d4387 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x7a5689c3 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xc97a860d spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2540e18a __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2d39e352 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x32372b24 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x326d77c2 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x49dab1c9 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x52fcfb23 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x536c1e06 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6b907971 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9c8e6a24 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9dc245d6 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa5f7a537 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd7f02acd spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xdcadf6ff spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe1cac36e spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe47011ca spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe6aac015 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xed3eb4ba spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xfda0c41a spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x24e6688d ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1027a6a3 comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x20c4b057 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2926dfb9 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x38e295bb comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3bb26449 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3c45adfd comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x447482e5 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x47739453 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x53d860fb comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5915298d comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5a70ea4f comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x62ec9e5c comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x69ecd56d comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6d336ce6 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7c1e4b1f comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x84ceaac7 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x84fa3c7f comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x88282a59 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x89ce9fd6 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8a1e52d8 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8f1dd9ea comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x91d9234c __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x955621e5 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa307d1bd comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa78ec83c comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa90c3ef1 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb9913ae3 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc4fb0e59 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xce53b448 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xce593c4a comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcf93519f comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd0daf03a comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xda785965 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe0e70ad7 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe15b7bd8 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf48cb6ce comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x1c61ca13 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x4334b3b2 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x5a9c8b98 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x76c69c41 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xd064332a comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xf744bbd2 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xf8ae7543 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xfaf51e45 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x5a142867 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x639b67e4 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x749f3002 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x8415f2fb comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xb2eb9e46 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xbc71da74 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x51de1de5 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x14154a62 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xaaf26779 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0xf4e46fa0 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x0d95b1dc comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x121cf8f3 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x1736c78a comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x3e2e9e5b comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x6dd13e0e comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x796c3f72 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x90e941df comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xa1a4e58f comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc3261d00 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd859fbab comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe20eef13 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xebc572c9 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xfeba8d28 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x5229e72f subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xddadd8cb subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xe7159ad1 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x1ae408fa das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x02752abe mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x10784ad1 mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x18ffd7bb mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1915b8ad mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1a386c42 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x2067a0d0 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x21644bb3 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x583ae136 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x634d99cb mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x636f14d3 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x72a9120f mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x844db78a mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x90383cc0 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x964062d4 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xa63222dc mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xcc5e006a mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x4c77f1f8 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x86b2e5bc labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x21fd2292 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x298277ea ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x56811f6d ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5a8a4047 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7ea69f75 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8dea1c42 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x92104925 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb398764e ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb8aa0f60 ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xba2c3dab ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xbb4556d9 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc9ef3a1e ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd4b0dcd6 ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd68df5e2 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xeede1280 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xff20dc58 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0907ddda ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x247baa04 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x3a1423f8 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x4377a619 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x8e469f42 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xbe056075 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x47d354c7 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x4e062e72 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xa3c1a2e4 comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xa56d6f28 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xb0adbcdd comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xde232263 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xdec02ffb comedi_close +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x0274911c anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x04f46e72 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x6462b2c1 anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x71f84cbd anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7a47f6e7 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x83907527 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x8ab6795f anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xae4faefe anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb3e0ad65 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xddfa37b9 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xed77ffa6 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xf055433d anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xf7323d41 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7db3f025 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x930f7360 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xaf35b9aa fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xf3b8f799 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0a34f189 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x348bd174 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x45f5388d gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4aa67e29 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5a08b0ff gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6156b096 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6a0c7bd6 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6eaadf7f gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc48ee858 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd36600d4 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe7c46f54 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf839e726 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf960b91d gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1551f9c0 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2074b825 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x26de3b81 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2720837a gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x339ee2ca gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x56372225 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x6e7a75b4 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x74ccb09a gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xac762af5 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbb12fa3e gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc00c99ab gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe8fec9de gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xefd8d352 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 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x69afd974 gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7016e56c 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 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x4027ebf6 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xdef34e1b gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x2024f221 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x9da1d18a gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x31c55eda adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x0c3b288e imx_media_ipu_image_to_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x0eb36383 imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x20e810af imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x2b07ea6d imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x2dea1896 imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x38403638 imx_media_probe_complete +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 0x419f21ac imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x42c44335 imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4c45452e imx_media_capture_device_register +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 0x536fd5e1 imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x53c79de4 imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5bb2d1b8 imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5c0d01f8 imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x73a71b60 imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x756dba99 imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x8093c108 imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x83c90fe7 imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x931bc3bd imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x955f8e06 imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa0913242 imx_media_add_of_subdevs +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 0xacba838b imx_media_mbus_fmt_to_ipu_image +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc254d46c imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc3f7a304 imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xcc9ae390 imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe6fffee4 imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf22ab369 imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf3829af5 imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf3b2fe99 imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf687f0f4 imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x04237101 codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0b303f62 amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x103eacf2 amvdec_src_change +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 0x147be687 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x43f1f504 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x43fb8d0d amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x44387cc2 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x52476b8d amvdec_abort +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 0x65fb6ae2 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6c8fc077 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7ae1e81a amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x9524b4a0 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xb618235f amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbbb93285 amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbd2645d1 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xcbfffcb6 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe2164e7b amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe3d3988c amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf1b820e9 codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf97dc191 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xfb085504 amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x885ca7fc nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xac0547aa nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xb0d97c89 nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0eb1df6c synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2e7e21d7 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4ccd6ddd spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x54a9fcc5 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5ccfb32e spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5dd79c29 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5f6c76a0 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x63b29747 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6a803d37 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7213ccc1 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7b7ac030 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x80a68e26 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8181ceec speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9b084c7d spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9c12a464 spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa2fab81a spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa41d5b6d synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaa7e1987 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xffdcd9b0 synth_current +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x2997a978 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x59631459 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x9d984926 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x9e0fef8e wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xbd5c2abb chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xcfb009cb chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe03eed33 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/tee/tee 0x05a5ad7f tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x09ca2d30 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0d9781c9 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0f165ab7 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3b1ce3f4 tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3d9d3cf6 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x41289d33 tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4cb0d659 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x621db199 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x80fb242c tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8aa86fd3 tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x99290af1 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9ede56b2 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xa7902dd7 tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbbf97fac tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbd770b11 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc022e2a4 tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc9572c6b tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd5865ecf tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdcf1923e tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdedf8683 tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdf3681a4 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe36d6875 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf2dfa4cf tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x21a31526 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2bb2cfb0 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x337d637e tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36521060 tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3872ad4f tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3a5430a4 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4dd04c45 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5ab89840 tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x62ee5eb9 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x62f647e2 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x635fc8e1 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x69fb5abb tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6ceee74b tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x86166e8c tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8efde805 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x90414927 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x996d93ab tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa38fa670 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb0c352cd tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc64da6ae tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xe2697cd4 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf35a264a __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfcb11d96 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfff6e8be tb_ring_stop +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x1a7389e6 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x2b54d20f __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xcbe85183 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xdf0f7f04 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x70aea214 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x974fb86b usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x290cc6fe ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6c26313f ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x90e90397 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x144f39c2 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x6d00c5d0 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x78260d38 imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x8876373d imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xa5a96aa8 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xd364c6d1 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x56adf13b ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x5d95cd42 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x964c5183 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd59cffd8 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd721d4f5 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xea4f3ddc ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x23efa48a u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6cbb3725 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8c930740 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc68458ed u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xce94c4aa g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd2f95de8 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x09e1dd6f gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x1e5636b8 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x29f0f8f7 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x411ff4d3 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x54c71900 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5a486ab5 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x68500d85 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x70b76838 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7afdffb4 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8020f38a 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 0x8be40adc gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9b91f190 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xad6ab19c gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xb7ddf106 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xdc936043 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x18f56b1e gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x77dbf841 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xa18ee0bd gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb729eab5 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xce508a4b gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xd3e775d8 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xf53717eb gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xfe9468f2 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x3df5db03 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x479049ff ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x68be7485 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0e0cc777 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0f4d41bb 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 0x17cd2928 fsg_store_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 0x2979b4b1 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 0x3aff720b fsg_store_inquiry_string +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 0x42f2056c fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4a9bd6ea fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4dddb39d 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 0x63cf0500 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 0x7756576f fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x77d13349 fsg_show_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 0x85df01dd fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8a5e176b fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x92b93735 fsg_lun_open +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 0x9fd1a47e fsg_show_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 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 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe8ad9a6b fsg_show_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_mass_storage 0xf51b16f1 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0c572a2c rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1752b062 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2257ec4c rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x438ac926 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x4d3f16fa rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5a3d731f rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7448d583 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x86cf8072 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8ce55cf8 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc29aac8e rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc632bc18 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc666d279 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe739ee5f rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf5fff702 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf696fcf4 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2668c572 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x30698e73 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x33e7e7a8 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x34593897 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3bd63265 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x44669580 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x464dd2fa usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5166059a usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x675b3b7d usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x748269d9 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7af01038 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7e0b9910 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7e1677d2 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8162cf4f usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8ccb6d67 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x910e55f7 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x914d5fba usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x95d36200 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9606340b usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x975a5b4d usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa5182a83 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa9594c97 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaf3c8957 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb0128a68 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb324f63c usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb341b849 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb60b4722 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc8454f2e usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcf8b45d2 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd6e696bd usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf7382beb usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfa4c39d0 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfd376347 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x01658ad2 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x10b59b72 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x382d74f8 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x59f316da 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 0x63c8bd60 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x657b4d0a udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x6aaaa4c4 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x822a7df3 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x987af4da init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x1ee418f4 renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x34890e15 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x26fa785d ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x734381f4 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x144ae645 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x22c3981a usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4be3d054 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5f2252ab usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6ae25f2c usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x737c3035 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe3a3b5d9 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe9c74f18 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xed86f1db usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-am335x-control 0xa4e15b95 am335x_get_phy_control +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x3e4ea450 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x155442cb tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xbdd10b71 tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xd346d554 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xd92d0095 tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x7fa83411 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x060219c7 usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1bd5045b usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2532fa46 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x26ec6e4c usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x49f659c1 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x55953a21 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5e60ce6a usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6fe096f6 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x81fa8ceb usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9648df4a usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9bbe2f75 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9ca93d96 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9d74d751 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xab703062 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb0834598 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb2e9dae1 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb685e962 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdb8f9ab8 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xde7dc51b usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe02362ab usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf2ebd784 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x3465736b dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xa05857c0 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x595af43a tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x4bb57298 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1925d552 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2b111cb6 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2ccc26e6 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3a52c92e typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3c1a24ac typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3d91643a typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x42bb47b7 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4715470c __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x47f80419 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x50156aaf typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x59605ffa typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5989dfbe fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6d6fbb73 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x97d2d2e9 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa2231afd typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xac33b0ec typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb0292ab7 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb3e9b181 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb9456781 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbbd19549 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbe08d879 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbfa046a6 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc23f7b33 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc40b9c23 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc47caf9d typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xce607c29 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcfe6649d typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2d493e5 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdc5f0449 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfacd81a6 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfdc48518 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfef5110c typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x250153e7 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5e2075c4 ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6871d684 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x9f33721e ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xae3ecddc ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xb4644ead ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcace3920 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe3d70c2b ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe58d8673 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf6019f85 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0067e0f8 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x10ccdb84 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x27208133 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x4090ce39 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x60bfe094 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x794684f8 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x79bc7e07 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa08eb37b usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa2539e9e usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xbf1bf66e usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xca8462c1 usbip_stop_eh +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 0xee9aa89d usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xfd0f7590 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x27f100da __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x43c834ee vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x844c188d vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xaeb0a9df __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfdf0be96 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x59885b6b mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x6da42c3f __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x94676f2a vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x9e91f967 vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0xa3b8026d vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x050bd2c3 vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2ea4b8bc vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2f4b14ba vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x44b83e00 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5716794b vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x696cafc3 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x8a20ea27 vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xaa550aba vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc418d868 vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xdf28cbf2 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xe3fe1b87 vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x5ae939d7 vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xe82519ec vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x03822655 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0a777dc1 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x129db4eb vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1ab0ff30 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x24cd0402 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x24d479d4 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x26d0bcdb vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3d935109 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x408910f5 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4baca25f vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5b988825 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5f5493eb vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x62ded629 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6478d853 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x65de1e6d vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x66129467 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6eb677d3 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7490a8a0 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x81dc2509 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8d0baca7 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9e60c1c7 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa13366d1 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa2f78e9c vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa6fb05f2 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xac19a96c vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xaf2567e5 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xaf634474 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb02b5bc3 vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb509a31e vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb9d04be2 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc356ccda vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc902e364 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcb3bde0c vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd0e22a6c vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd5bb2711 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd5d00619 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe4b8df06 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xed33369f vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf6646a7e vhost_work_queue +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0836ce5a ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x60c28c81 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x72156d64 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9768f3ad ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc3cf8260 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xca6a204a ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xeb84df86 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x864f55ae fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xe467f11e fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xf6fbd91d fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x1aa50694 omapdss_of_get_next_port +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x80dd8cd2 omapdss_of_get_first_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb2ae0a15 omapdss_of_get_next_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xee08b2c6 omapdss_of_find_source_for_first_ep +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x8634119d sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xa91e39e7 sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x23cb0d64 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x24686430 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3b57ca37 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4d95c04c w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x533acdd7 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x56488ff5 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5d698789 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5ff75c2d w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaad3baa5 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb93fcb08 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0xbc5ebdce w1_next_pullup +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3af7aef7 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x5c77b231 dlm_posix_lock +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 0xd9b1af99 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x00b29677 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0536beb5 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x29c6df49 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x38b28eba nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x938a2cee lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xaacc9e25 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe6478890 lockd_down +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01427b32 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01525db7 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01a002c5 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01d5ba15 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02545b45 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x033ff7f1 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x036d6a30 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03fe303a nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x058ffa31 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x090fe80d nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0bd8485b nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ceb8160 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d6f91b2 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1296a88f nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15b1811c nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x169b05b1 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16e36ba5 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ce78d5d nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eb85146 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ec820be nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eda497d __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24ae7d7d nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x256da599 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x263c4a9b nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28a1c609 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a91f2c8 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2abac749 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ee2c029 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f4f27d6 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30ca42c5 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x313a22a7 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31d64e21 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3206bca9 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x34cb9db8 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x352f9c5c nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x355ff9b8 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36be5d42 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b118ae8 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b440531 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e30452d nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4011609e nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x41451b74 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x421ed9a9 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x437440f9 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4449cd57 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47b39495 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4819e7d1 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48e8bbb0 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48f62056 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b2a1a77 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cae2a3d nfs_drop_inode +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 0x5682fbd1 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57c2fbac nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x595595d0 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5986e26d nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b6c0dfb nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b6e4dd4 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d5c6cb8 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e14e3c __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x642584f2 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e30b63f nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7017fad4 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72a89ab3 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74a34cec unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x766f9fcb nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76dd5827 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b1947b6 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ebf4ace __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80fd098a nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x814f32c5 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8394a67d nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85fef8f0 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88d2a870 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8dd43389 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8df63ab7 nfs_wait_client_init_complete +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 0x9535b222 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x984b0f9b nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x987d74df nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9906edc3 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x991a3c53 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c3e194e nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d449d3d nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f68d0c3 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa08e6878 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0a33fd5 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa36c7f96 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3faaff6 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa54558af nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa54815b4 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa57f8864 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaaa14361 nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab37a431 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac1f7edc nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xafa64148 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb0c024b9 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb29e57d3 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb47c2dcd nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb75a1489 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb864dd5b nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9f4228b nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbecb909d nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbfce0c73 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc298e9a6 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcacd5636 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc1867f9 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcdbaa837 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1afdc74 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3e8a56d nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd60bc8e3 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8311868 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd83de959 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc7409d7 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdca52eb5 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcc39ceb nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xded710c8 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf3eb68d nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0dbff2f nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe113405e nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1721b27 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe17e5962 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5625f9a nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6d10d4d alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec5a9d9d nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec6d1ff3 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefc6ce55 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeff5e3c4 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0c3dac3 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf548b324 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf576ea88 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7646690 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf774caeb nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfbe7d241 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xf846e177 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x008cca07 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x012f938e pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x015f8d4d pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08328b94 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x096f15cf pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0af05f1b pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x123591b1 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x12f91c0c nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x131bc850 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x13f35ed6 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b1a83a1 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x214ff9f0 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x253fa963 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b03ec0b __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2dc893aa pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x309aed25 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3198f2a8 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36751a61 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38dff050 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3dedbed5 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e73f10c __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x415d81e4 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x44a028fc pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x450e5864 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4597537e nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4880426f nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4ba541ae nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x50d4fc31 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x50db64eb nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x51e228da pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5205f7ed __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x55a55acb nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x578fc05c nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e2fd5db pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x63228294 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x648d7e26 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65a39cf6 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x66604d51 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6809873b pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6c2a706f nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e16b52a __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x74284f37 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fb072f1 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x88d0590f pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x91217841 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93ee3613 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d162943 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0231532 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa02df320 nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa29bb81d pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa4d04002 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa58918ad nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb1a9a705 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2974078 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4895436 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4cf3938 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb60839d8 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb8343b31 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb85de48c __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf11e6ce pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf72bf97 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc151e45f __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4bb557e pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc6788eee pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc976b799 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcac9675a __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf9f6260 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd2f069c2 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde4ba6f7 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde5fb5fe __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde8dcf06 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1eca9bd __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe3c7aa1d nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5a7264c __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8b00378 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeb6a4a71 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xedc3124b pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf2806765 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf33ce7e9 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf59df58b nfs4_setup_sequence +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 0xfc4cf8b2 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfee0d14a pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x4ed794bb opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x5cb41bc3 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xff6e236e locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x18d873bf nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa6c9f1b5 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +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 0x309c0d16 o2nm_get_node_by_num +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 0x5a4b0c2a o2hb_register_callback +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 0x85e2b9e1 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xae6e5735 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 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xdc7e1ff6 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xde121b5d o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xee5d5794 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +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 0x20305f7b dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5eeaeb7e dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x69356918 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 0xba099474 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 0xef63983d dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf9d2f532 dlm_register_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 0x14644275 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x201acce5 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x59ce41ff ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x8bc5d07b ocfs2_plock +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/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb542cba5 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xf31bbdd5 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x2c01c22d unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xa6f6add5 register_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x87bb682f _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xcaed6e2a _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe1f9ecc3 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0x955ee96c crc64_be +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 0x4370baea poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x1337b2f2 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x3265cc55 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 0xd4cb6873 raid6_call +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x94a258eb lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xa5b470e6 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x055f8f64 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x3f6a5ba9 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xc0816d4e garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xc46827bd garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xe740b926 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf5e3e8ee garp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x4a090708 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x9f2c30e6 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xa1bc8f1d mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0xa4400ec6 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xb82c4f52 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xdfe914b5 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x32954672 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x4dd8b057 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x6ff5a8cb p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0x9e03d1ca 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 0x81bf1183 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 0x0a387f15 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0ebf29c1 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x2c3484f1 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x615452b5 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x69dcb6bf l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x766ba678 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x903e0c5e l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xda44e636 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe1bf8e59 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xa1e3a0b9 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0c128665 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x23e347ca br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x275c2dd8 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2d5db9aa br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2d689604 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2ec1f037 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3bbbab8b br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4fb37164 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x57cc5dcc br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5adfe8ea br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5fae936f br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6865b2d8 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x777e87ec br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x868a0b59 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x98708265 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9b29fb38 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc75ecf11 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf371b19a br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/core/failover 0x13f8cc78 failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xbaf24cab failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xc13820cd failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x027500c3 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x159c2726 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1f1e2a41 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x26197763 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2d57f557 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2d8bd39e dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x30e44ac8 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x45c93e0e dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x461f145d dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5317f628 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x66690928 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x66e53389 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x77ddcab1 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7b2d3f1a dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x805f066c inet_dccp_listen +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 0x87f76cf6 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8de8f05e dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e254969 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e795178 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa43e19f0 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa54bdc96 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa8dab16a dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xac50148c dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0xafbcbb62 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb0842a1e dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb336dd66 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb70a965d dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc95696ed dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd4f45bd0 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe2b3912a dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe7dd4354 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe834bcd2 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0784aa7 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf55ef99b dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x06636dc8 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x33e93127 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x39c3b41a dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x52310655 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x591dd3ed dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xcee7659c dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0fd38d95 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x18be9aa4 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x258f5468 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2c574dcf dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2e2751d1 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3977bd8d dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x49d71cb3 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6a534095 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6f1dd574 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x747fc41a dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8c7d819b dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9c0bd669 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e3d5b86 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xaa72a4ca dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbab6b5c9 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc0414133 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcbeff5f5 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd00cfdb9 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe45a2abc dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xebbe3fbe dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf2dee695 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf6bf577b call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfdedad5d dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x1341e63a dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x3d57dea6 dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x7b0edb55 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x80641fcd dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xc49d0cbd dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xc596f104 dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf106bca1 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x0c7185e6 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x579e3970 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x870250e9 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xde74fd8f ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ife/ife 0x3cce95a8 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 0xe3e15d04 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x24c333c6 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x5f2a6250 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x95384cdd esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/gre 0x14f03b36 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xef501845 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x15221c44 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2461707d inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2603c9e1 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2e584168 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x33e39861 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x59be94c5 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6e9bd3d9 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc4ab4620 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe1666282 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x9a0ba302 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x06669c69 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0c535c27 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2421ddf1 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x295fb20f ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2a6fb538 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3acc9548 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4cd1205e ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x65179e8a ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x750013d5 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7b63c89d ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb595f5cb ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc1a1839b ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd1921121 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdc01cb58 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdf094bf5 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe2d135a8 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf3ea8180 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x9b434c83 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x2928b983 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xfdc95e80 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xc7282d59 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x57fae44c nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x59f649f2 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x948ddd05 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd94f04a8 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xf663e999 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x9d8293d6 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x0b765156 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x1e9b453c nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x930cbbf4 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xdde2f1a2 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xf790fe25 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x270b7352 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x354f18dd tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x843f83ef tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc2327080 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xdca3c45e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1382ef03 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x528b14bf udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x69b3f9b9 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7d652346 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x943f5309 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe0083760 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xf2b52526 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xfe392407 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x56c7b5eb esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x6e351635 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xbcf1b912 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fe9edfa ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xbf6241c7 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xe23c6c55 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xe28f1efd udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xed6ea985 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x96d7d225 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x97e83e5e nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xf6b03218 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x55863356 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x26dca596 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x54b39d5e nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x6301952c nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xce5e6ed9 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xdb70770b nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x1ae532bf nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x273febe0 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xaf3edbd8 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xc871a200 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x53e9901f nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xb6365fa4 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0dba1f7d l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x29de7511 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2b776498 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2baa3a3c l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x68b03031 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa30d7f64 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb7d29771 __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc4722d15 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc539893d l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc8df4487 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd7eca1eb l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdac3a793 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdc4e3f97 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe118c223 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xeb6d5d09 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xecf5faad l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfce2f3c1 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xc94c6d86 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x02271cb1 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x022b052e ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0f7ce2e7 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x15d6acbd ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2b803e0a wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x31c3190a ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x37786857 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3c94bdd8 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x435fe260 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4f88d2e8 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5e4437b9 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7aecaabb ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8d505f04 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb3de8957 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc95a7acf ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd41c2bf9 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd4cb7df2 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf2bfa088 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x618cf0b7 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x703ffcf6 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x9a55a3d0 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xb420aac4 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xd8a81c0c mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0832d8eb ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1168f385 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 0x28518162 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x321471da ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x45300775 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5982735f ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5dfdfdeb ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x64b421ec ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x675be988 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 0x8093c895 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9732b36b ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9fa25d51 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa2e0277f ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa7a376b1 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa94b638f ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa9e78c2f ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcd3c674a ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe1cddb0b ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf589ca45 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1878a68c ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2e82b071 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6484060d register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7d580531 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x268a4802 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x2cef5c89 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4eb080f8 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9fd94deb nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xb7beb4b9 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xbe03a217 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xe13d4d79 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0647b9ff nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0696cd7c nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e7559a5 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x10690b95 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x136c7865 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14ad85da nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x154d2b74 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1681f270 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16b547dd nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x18374130 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b3e1ed6 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x21acd4af nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2572819d nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25885929 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x286a4133 nf_ct_helper_init +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 0x28f01b03 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c426c0a nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d7312ca nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31d89ec9 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3556c7f1 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x409a6347 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x433bfce7 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x442b69f1 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44feaa62 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x46092abe nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x473e385d nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ea258d2 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50ca168e nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56d6d567 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57925513 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x58a84a7a nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a028d6d nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d6207ee nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60697cc0 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63e7194f nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6b592ca9 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70071f3c nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x74c9d508 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d1a3174 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f87401f nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81185d4e nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x85c49600 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x85ce3c6c nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x85d0f29d nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86713731 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86bf19e8 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c6e11f4 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c8d0d50 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8caac874 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x908850c6 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x92803e1e nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9285f79a nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98d70f34 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa01f4142 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0f18fa6 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa403a8b7 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4b1ab9b __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6161b3f nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa762c96e nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa8e37044 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa936367d nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad9c6edd nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb09fa0e7 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb39e011e nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5d41457 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb0d5986 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbdd90592 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc054f501 nf_conntrack_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 0xc7569b0f nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc6483a0 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcfec5473 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd39b09c9 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd79c6577 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xde1048d4 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe3db0c4d nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe6e65667 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef17292b nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf0c2c50e nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2757434 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf3730adb nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf43f9010 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4943b1e nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9d91b71 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbebfc7d nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x475b93e3 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x98dd3668 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x4a167dda nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2765ce37 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2b12bae2 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3aa51077 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x62f01bb8 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6361a13a set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb924f41f nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc95477a7 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xde779857 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xee5fa127 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf96cb9e7 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x7f1b3037 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x492532a4 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa534ba5f nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xd92a4471 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xda383086 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x172c82db ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4abfbf20 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x58be985a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x61018cdf ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7568f630 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x970d4d42 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc8e08bcf ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x8c73e42c nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa36fcb2b nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x05f155c7 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x393cdb81 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xa694d168 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x06dcd8e4 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0dc97316 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2e131ca3 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x40c812f0 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x46d293bf nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x47b16bd5 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x57ac79f9 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x76182e50 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7a1dbe91 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7f13b342 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x81a821bb flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x93ce957c flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9b7cecc7 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb18688ac nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcf3e0b1c nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe2ab10d6 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe7fe707b nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x0e356da6 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x1839c530 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x4ac561a5 nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x574c3611 nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd0ae2221 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd7c2833c nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x009f3743 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0111c73c nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x43d4aa74 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x560036f8 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5d91fb5f nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6b2b7f17 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x73ffe5eb nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x798e5007 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9f807896 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa35ac0a5 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xaaf152cb nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xabb40739 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd1a090e9 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe4caeab4 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xed3ebffc nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xff286276 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x0050a756 ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x03c6b468 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x10c08115 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x18b139a8 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 0x5744bbf5 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6357525a synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x63d51601 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8f2173b4 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb26c589d ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc7303de9 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xef32d1dd nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0c8c3af1 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0ce4718c nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x149036b8 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x15f46e83 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x186cbecc nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1c1a1531 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e481408 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2641d202 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c2ee0f8 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2e7d3d5e nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x30d699b5 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4225b8f8 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x51ecf20c nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5aa25f9a nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d841aaf nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5dfa5e3c nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5eefc768 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x69f9c335 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6d165ce5 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x743ef6b1 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x74e9a08d nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x77c15342 nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7aaac506 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7aabc566 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x807c6b94 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x896ab22d nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8fdf1924 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9b33fd06 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa5a61cda nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9ffc821 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe213a825 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe84dc036 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe8f88209 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xee59133e nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf23ac619 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfa63145b nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x816b1e27 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x95ebb03c nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa72432a6 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb050f881 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc1719911 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xead181c1 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc3ed8a45 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc476ae0c nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xf5cd5d00 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x3842d369 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xed637b37 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x02db7632 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x3ea42574 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x708f131b nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x728cbd71 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x0d56c331 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x2317db4a nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xede01688 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0130c5e9 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04f75197 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0bd75f8e xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a8ad66a xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x211dc93d xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4f44be19 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6986417c xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f3555f8 xt_unregister_table +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 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa6909d0a xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb568ed9c xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb7cb78a5 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcb566ec1 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcf676941 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd7478d94 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe1dd2dbf xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x79f837c0 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xd1bd81ab xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x87298727 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x98a12d03 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xc326f71b nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x187d50db nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x50c88ae5 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xcfebacba nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0x1ecbef3d nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0x30a9a185 nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x45dfb646 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x5d810ac7 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x5d8e55db ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x5f98391b ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x746939bc __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9d9e91ae ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x643c661c psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x66615273 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xa21ec917 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0xb2b600dc psample_group_get +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb3973a9c qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb7bf9fed qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xfc968bc4 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x123fe380 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x1d3ecf6a rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x25b105bd rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x27331678 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 0x38c74358 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x4360f04f rds_send_path_reset +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 0x685a5993 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x69e72c39 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x6a118d16 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x6ab552d4 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6dccb04d rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x71db86f7 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x76379b7e rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7758f530 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x892def9b rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x89da25ec rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x8bf8a552 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xa1eb55dd rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xaa066793 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xab8922f2 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xafc9dc43 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xb268ece8 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xb2f914e2 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xbc57b166 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xca222854 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0xdc04a129 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xee339fbf rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xf4c257e8 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xfc629418 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xfcbf60c9 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xffcf2c7c rds_conn_destroy +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xe63a5ccd pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xea5bc467 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7db7d103 taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xd765a904 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x13000be6 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x3133e7bd sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x3b09ca00 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7b9a3d1a sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x0c90ad4d smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x171f1a8e smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x224059f9 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x3f3f31e2 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x48f18114 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x777c20e9 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x8307ca02 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9283e018 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x9c2c8080 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xe60a6124 smc_proto6 +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x13cf4091 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2892f4f8 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 0xbe452c36 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe496219c gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x009a7b0b svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01d52148 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02fcdc9c rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x038bb31b svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05535287 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x056e2168 csum_partial_copy_to_xdr +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 0x071bdef7 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0976568b rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b84fea0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bff6584 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c28008b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c639bfe xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cc51835 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e0bd0e9 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1010f74c xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x117f4186 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12b06274 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x142e7bef xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16319cd1 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x165c8904 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16b21ca0 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16df314e svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x176a5e50 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17bcb0cf svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1807e7d1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18fa59c2 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x194fdfea sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19764ae2 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19f40905 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ab6f514 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b0271bd rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bb86443 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cf81a5d xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21cf4f7e cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2215327b svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23095b6a xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24fb0935 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2508035f rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25a5b3e9 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26d1d1ef rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ccbd28c xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dcffbb6 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2edc4cc0 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x308db3cb rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30bb4fc4 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30ceff9a xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30dd7152 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324bdf9e rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33a2a657 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d9f80c svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x360727d2 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37e806d8 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x382df033 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38a4c310 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa587ee xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3be4b5a7 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ce4911b rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d07b401 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3eb1865a sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f4a3cad xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fc35f92 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fda1a8a rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x407e9c40 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x417cb341 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46825e5d cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x495b722e svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4be408dc svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c8ae144 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cd65b3a rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d2f1a60 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e0066ff svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f41c29a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5333d346 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x534ad061 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53de4902 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5417247b rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5433ada5 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54ee9b70 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56011858 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5607b5bd rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56f18c48 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57b48d51 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5893c8d5 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58f5b43e xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ba7602d rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6001c98a rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x610a6977 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63afb4eb cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63e7073b rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64bfe464 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c2dbba9 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d60b08c xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d9c0755 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6da4e64b svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6db0cf93 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f078ef8 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f70d313 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f7a983e svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70225177 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x707491cb read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71172fd5 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x715f90ab sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73b5ebeb xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74126bd4 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74dcb7f5 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x756f6150 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78d3e852 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7916d02d rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x794ade71 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b4d4110 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d397e35 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e21f726 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e35b270 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fb83b60 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80075cf3 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80a36cee rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8374eece cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86c4daac sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8747a7e2 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8775d699 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8893456f rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89de6e67 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b4ffb8a xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c948be0 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e17928b bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eb4fc97 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fab0300 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9155e840 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x921b6ad3 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9224516d rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9304eca0 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9345312a svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x935b1376 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x936e27be xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a41295 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98a7c2ea xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cb67cd9 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cff4a00 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9edab4b4 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f1e9068 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa02b23b4 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa44a25b5 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4522cd2 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa66a3613 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6dcdbed rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa935fb1b rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9aaece7 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa7b07f5 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaad7d530 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae5eab1d svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf505478 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf948093 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafa10086 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb09ea7f1 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0ca7197 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb17aae65 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb18aeaa4 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2bbf7cc rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2faf62f cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3526e75 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb461d6ab xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6592b1e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7ad79e3 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb80177d2 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb973d6f3 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba5a1b27 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd419897 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdd6e2f1 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfaff90f rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc169d947 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc174af56 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1d63c3e svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2491d0c rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3dae77c xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5212d38 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5b16428 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc60c84a1 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7886cc4 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8b54292 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb053c54 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccb4bcf5 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd869694 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce4d03df svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf3f1440 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd020be14 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd09e9329 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd139c3e5 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd255152c rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2d59265 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd48eb187 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd513c00d rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5af0920 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6c9662b svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7be844d write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9a6e6fb rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc5ea432 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde820101 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde977431 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdec2d09e xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf2ce10d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf72018d rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe026ac36 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2758118 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe374d772 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3f8f5ff rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe60dffb1 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe621cf42 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7083f64 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8845e66 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe904771f xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe95c348f rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe96d05df xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9efbaad svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb4369b5 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb5e8194 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xece11605 svc_return_autherr +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 0xeed7fbf6 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef3e25a3 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1aaca18 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf20fc5ba rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2abdab7 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf30fe755 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf483f4f5 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7ab9349 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8069a93 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf846dfa4 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbbe4e01 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbc17f2c auth_domain_put +EXPORT_SYMBOL_GPL net/tls/tls 0x1fb496f6 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x2398169f tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x3ad8895d tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x46ea0ca8 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 0x20d73425 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x23bd74f2 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2af478d0 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x30432fec virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4025f548 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x48f2636b virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5cfa0399 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x62b56368 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x657f6d7c virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x69ff7ec1 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x704ca41c virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7d21ee48 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7dc8c861 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x881a9dfc virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x88749996 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8be6c187 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x991a8422 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa9ad68d8 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xac06b384 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xacf49b55 virtio_transport_notify_poll_out +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 0xbc4740e4 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc7fd493e virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd4847aa9 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd7184b11 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd9141eaa virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe1652b7b virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe166ca53 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe72ade1a virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf229c995 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf361d650 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf612b7bd virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x00741e63 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0fecbfc5 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x17da65fe vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x191799d6 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x27b4dd95 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3c50cf01 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x44420515 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4661def4 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x49cb1654 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59a1aa98 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x668f2459 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6bcef014 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x74e91915 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x95def819 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x985ab691 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb65b668a vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbf6c7b50 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc739b8b0 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd077bb39 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdc66f310 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe3831c3f vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf26007c6 vsock_create_connected +EXPORT_SYMBOL_GPL net/wimax/wimax 0x09b87458 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4a25faab wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4e1d5c3d wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4eafb2b3 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x63c8aa60 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x655c9c43 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6ce43382 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x96dc9dd3 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9f1c20ec wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcc7f01e9 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf25c4917 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf2fbe202 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf5a3877b wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0d4a68c0 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0e331177 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2363ef02 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2ac3cdd5 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2e5db948 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2f8cafff cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x33c62a49 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x50e86246 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x82217fd9 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x917b0c10 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9c8b4f88 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb127b365 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb1a4ad5a cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe5bfdac9 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfb90a715 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfe128aa2 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 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 0x2e7201d7 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x2f17f916 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xdc35aad8 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe181922f ipcomp_destroy +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-seq-device 0x4fd400ad snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x79243e23 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x01fc34b6 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x118c77da amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x2732f488 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x2887b54f amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x29b74340 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3c8c22e8 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x64b3cedd amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7118e2b4 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x906b7d1d amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xdf40ef13 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xdf73df12 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf46ac063 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf79ffa1a amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x00fdf7a9 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03ab41ab snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0b945479 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0bdc1642 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1363e653 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 0x1512fc20 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x185eaec6 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1d148642 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1fea94a7 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x20e4b8c5 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ee44b0b snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x31a34950 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x31e841a9 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x34fc0dce snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35d79319 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ad88d07 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3c148b91 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4846d38c snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4a6428c0 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4aaabdd5 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ac78ef1 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4d592c12 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4f32f86a snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4f858a66 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4fd8b0bd snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x511e1758 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x51beacaa snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5560b8c5 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5ed1dca7 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5f3ca6d4 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5fc460a0 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x695ba101 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6a6a8777 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6daba342 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6e236f2f snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x786dd6ea snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7b747690 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x820e71fb _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x846aa2ae snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x88d24e1a snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x89484173 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91e242d0 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x92f51a10 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x976bccc6 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x97c0ed08 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x97d93dc4 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x988accf2 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a909d05 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9d162a08 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa05a21f7 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa5e32ffe snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xab4bbcee snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xac5603da snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xae7ad0a4 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb4f03e5d snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb50b70cd snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb52033b8 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb67208dc snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb83d342e snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbb38cb73 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc012ab66 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8c92937 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd0484b4f snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd08d47f8 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd19ab37e snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd4203cad snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd550035a snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd7db8cf6 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xde371059 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe20db1b4 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe575c655 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe5d6aa4b snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe920ec2c snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xede9d643 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeebaa918 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xef85d1b6 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf082ab8f snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfbd1d953 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfc59b266 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfdfebbee snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x7311318d snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3a8834b8 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x72f6f939 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x81fb0c23 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb67fb97b snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xc904eb8c snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd9e75019 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x01142e3d snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02463a92 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03c23d8d snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03fa2714 snd_hda_get_num_devices +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 0x089efef5 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x090dc8b5 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a3ef6c9 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a99f1c1 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c978b42 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d878344 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f59b180 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x101e9ca3 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x122570ec snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13c26ee9 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15c9200a azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x186b7e7e snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d851e3d snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x202a99e7 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20c37e73 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23c9ca3e snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x240815f4 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x273a322e __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x275c02eb snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2825c12f snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28844ef7 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a131886 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2adda6e6 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b6aa3af snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3017decc snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30a7983b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x352a886f snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x371c34f2 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x378e8075 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38bf77af azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a49d7a2 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a79f95a is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46d08831 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x475ea20a snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47dfc270 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a1ca744 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52c0ef98 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5324bc13 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53b04ecc azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55c70b87 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x56dff806 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5783812e snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58c1b6a6 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c46af85 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5dad6fa6 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60bbb69a snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62e8bd52 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62eac398 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64b4cb6e snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66ac93ce snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x687feddd snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68eb9509 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69275b2d snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a1e4348 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ba5e80c snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6be9d656 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6fc2bd74 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7991711f snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x799d20d3 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a2f0bfc azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85fc0daf azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86326bef snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x872ebdb0 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8903d243 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a40e500 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d226356 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94d120b8 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x963f2fd9 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x96f7b52d azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9799ad4f snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bcc6560 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c8cd372 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3258a4f snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa7deaeca snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xabde5118 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb62eb31e snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb719dea4 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc14d7de snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcd90b9c azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd1aeb31 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbdea41d1 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe03817b snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbfcf58ec snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc01cadca query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc03ed385 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0436e24 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc23f6396 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2c8c3fe snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc390e14d snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4b82576 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc644ae9a snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc94d84dc snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4a2772e snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8e0320c snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd96b3cb6 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb3486f1 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd635e44 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf1c4dd9 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdfddc79f snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe42ac92b snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4b1708c snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4ce8643 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe63f8100 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7b890f9 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb7c1f34 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xec6410ab __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xecdd6195 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef2b14c2 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef6221f3 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0fd355f snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf24d339d hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2c44028 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4380d79 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf5daf848 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9d3f8d9 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc43256e snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfce8a626 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x00808206 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x08d7352a snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x200ca96b snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x25d79718 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x360d3f5f snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4da37d7d snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5666c6ac snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5853f901 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6d6cf7b4 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x70f8192f 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 0x81fc2102 snd_hda_get_path_idx +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 0x97d78f76 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9da1046d snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9dc09e68 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xabe049cb snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb08efc3c snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb233091e snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb896e459 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb93a5dd5 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc46e1b33 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd8f5c3c1 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf10e6529 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x9676ff57 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xe016f8c9 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1523bfaf adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x17dcb495 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x2e255356 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4720b13f adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x60332c2f adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb04defbe adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb5597f28 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb779974b adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc6300244 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xd71b8959 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x8c3ef435 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x004ccba4 arizona_anc_input_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0950e579 arizona_simple_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x09ddbcbc arizona_input_analog +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0c70371b arizona_lhpf1_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0d19a0b2 arizona_dvfs_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0ef48f69 arizona_ng_hold +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x13b1fbf5 arizona_eq_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x14935f66 arizona_init_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1a2cfbac arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x2108c846 arizona_out_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x23894fff arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x244f4f3f arizona_init_mono +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3149b4a6 arizona_adsp2_rate_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x36157f23 arizona_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3ad41ced arizona_anc_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3d982d86 arizona_lhpf2_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x40dfa986 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x46277216 arizona_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x49e70af4 arizona_set_output_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x4bf3ab2c arizona_init_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5e4818bc arizona_lhpf4_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5f767a16 arizona_voice_trigger_switch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x609128c0 arizona_free_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 0x6d444c43 arizona_dvfs_down +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x729a5ef3 arizona_mixer_values +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x75b8e02e arizona_set_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x79d03755 arizona_anc_ng_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7a5d85ac arizona_dvfs_sysclk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7af0c64f arizona_init_spk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7bfb9a6c arizona_in_vi_ramp +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 0x82a21672 arizona_init_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x83fac849 arizona_asrc_rate1 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x879dafff arizona_hp_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x98d66666 arizona_clk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9bef2632 arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xab4d845c arizona_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb72caee8 arizona_in_hpf_cut_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb8180de9 arizona_isrc_fsl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc0ec273f arizona_init_vol_limit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9c29637 arizona_mixer_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd5d2d662 arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xda2dd83b arizona_set_fll_refclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdec06f2f arizona_init_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfe804b8 arizona_sample_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe11fb572 arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe2e8aa11 arizona_lhpf_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe72a5e30 arizona_in_dmic_osr +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xed7e50ea arizona_out_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xee745c18 arizona_of_get_audio_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf10674bb arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf369bcc5 arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xfdf58d68 arizona_init_dvfs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x03132313 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x8a61b5c2 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 0x3a246d3f cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x9ff7a16c cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xbf3866ec cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xc29b0bf5 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xf16dcb2e cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x1c1d7407 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x271346dc cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xbc1e35c8 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x1616f6bb da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x53eff594 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x5f500bc4 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x7c1dc35a es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xb74c1f87 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0xbee18e32 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x4c8e31b3 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98095 0x93fa8f75 max98095_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x009246a5 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x567d8026 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x6f19b1d8 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x756cb39b pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x51cd2c0e pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xaf6e61bd pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x1e21f49d pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x2475e026 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xa8c1f887 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xb7894195 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xf4906200 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xffeac6df pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x55d545a6 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x59fbc65f pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7447dc83 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xbd5b8018 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 0x554467a3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xbb4583f6 rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x0582096f rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xcbd8edc4 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x616ae5c0 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x8ec97ff5 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x55f72853 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0xf2ac0b8d 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 0xa8c77592 rt5677_spi_read +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 0xf17750f8 rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x148db895 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x22ae807d rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x63bdaf76 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x64490cbf rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7984fada rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x888a1475 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x91079df2 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa2548f87 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb62e16af rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xbb616fe4 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc11d7de4 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xca51b43d rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x3a13d36f sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xc0b61926 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xe3d3a609 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xf62e2207 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xf901a71b sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xbb3dbec2 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x24fd125d devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x3f32eea4 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xd42e6be1 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xe561cf01 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x26648cde ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x16f11167 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2aea9887 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x30866aef twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x9e715a25 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xed940488 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x127627ee wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1f31bb9d wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x259ac425 wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2d7328e3 wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x33675675 wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4b9d1d57 wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4ebd8315 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x527e6f35 wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52aa89af 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 0x58db2785 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5b72cbfd wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x72f9efc8 wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7775764c wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x855be8e6 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x93f768ff wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9b9ccc7b wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa2fdd281 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa6fdbd34 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xac702fb0 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xaee602b0 wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbd14c02e wm_adsp1_event +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 0xdddbab3a wm_adsp1_init +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 0xecc3df10 wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf39c9f61 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xfcdefd58 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x01472349 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x23d2e750 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x36dbec1a wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4fbb67ff 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 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x76670414 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x9bbe5727 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xb288399d wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xdf164fba wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1668487b wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x5eabd8fb wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x6f9bdc35 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xbb1c5618 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb3db4607 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x0a1f9feb wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x365621e4 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x88ad7c43 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0xed148ded fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x47c5479b fsl_easrc_get_dma_channel +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0bfe4ce0 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0d23c598 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0e66f3fb asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x244e9ac2 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2579b230 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x27ea4fe2 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x33ead268 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x581a8196 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x71365654 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x78420899 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8073a771 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x949f1f50 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa523d94b asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xac1a7450 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xccaf6dea asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xccb17881 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd575db70 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd8d12bb7 asoc_simple_shutdown +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 0x14b91221 mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x1ccd6444 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x23ae206d mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x23e36771 mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x26a08402 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2c1d41c1 mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2ee60768 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4335f584 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x503519e4 mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x64af4952 mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x82626d63 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8b789529 mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8d8ce657 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xa07bb583 mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xb0bddfcc mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd00298d9 mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd9b8ff27 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe000f72d mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe0537ad8 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe37ae551 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe58d45f3 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xeaa85bb7 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xf89f4524 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xfd65af38 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x081ed296 axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x17b9d8bd axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x426d27c7 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x51d04350 axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x5a11b932 axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x5dd51fe9 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc156b2a4 axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xd9f34a28 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xf1481aff axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x25d52154 axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x2db27767 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x679cd72f axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x9734c838 axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xb711a93e axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xd434edc2 axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xeaf1cae4 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x9f5db4b5 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x276e6021 meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x5f4f2209 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x87c9ec66 meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x900c8b4e meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xcd227493 meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xe8ea7bfc meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xeda6d7e8 meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf4ff3039 meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x300572e3 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x84e9d89c meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x9db380bd meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xb8d3d548 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xc8d81b9c meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xeb5c8bad 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 0x2d8d1e48 q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x3eeb03f6 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x47105d36 q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3997e13a q6afe_is_rx_port +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 0xd6de73f3 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 0x01d71b3d q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x151ae9d4 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x40299233 q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x5382edf1 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x56418ca6 q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x689e402d q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6eb89e95 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x720ce413 q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7353d9dd q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x857330c9 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa06e9828 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd42cb8d3 q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd599e50f q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xdbedfcd9 q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe060c0a1 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe1531577 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf40aaabe q6asm_stream_media_format_block_wma_v10 +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/q6dsp-common 0x17142e58 q6dsp_map_channels +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/snd-soc-lpass-cpu 0x138b726c asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x2af17cff asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x922b957e asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xe16e3019 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x15e904ad asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/rockchip/snd-soc-rockchip-pcm 0x7cfe8bfe rockchip_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/samsung/snd-soc-idma 0x0340de96 idma_reg_addr_init +EXPORT_SYMBOL_GPL sound/soc/samsung/snd-soc-s3c-dma 0x9ae311fe samsung_asoc_dma_platform_register +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x012b5fbc snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x085b7c0b snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x9bcc2646 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xcc561446 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xbc637741 tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xed9c0793 tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xf9629851 tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-utils 0x17458741 tegra_asoc_utils_set_rate +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-utils 0x9300b7ff tegra_asoc_utils_set_ac97_rate +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-utils 0xdf1df091 tegra_asoc_utils_init +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 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 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 0xe549513a tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcbsp 0x66473e8f omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcpdm 0xf68fa518 omap_mcpdm_configure_dn_offsets +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0xa132e300 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0x124609c3 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x8d9209ab udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x3ab66cb5 uniphier_aio_dai_remove +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x826e6c9d uniphier_aio_i2s_ops +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x889ebfcf uniphier_aio_dai_probe +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x9186fe38 uniphier_aio_spdif_ops +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xcecf24d3 uniphier_aio_remove +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xd6fda5fc uniphier_aiodma_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xdb01e311 uniphier_aio_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x31afdfd5 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3506d820 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3d4c459c line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3e0e04f8 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x51b4d4b2 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x548a4dc2 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6de0bdb6 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6f29e882 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x72eadabd line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9049647c line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x91402466 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xabcf85a5 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdeca2a4b line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf2b8e30c line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf7530a24 line6_send_raw_message_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 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0x000221ac fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x0032cb0d of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x003b9114 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x00447471 of_css +EXPORT_SYMBOL_GPL vmlinux 0x004c7e16 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00521834 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x00556a6f power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0079e668 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x007be051 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x0080b9ea devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x008df334 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x00b5ddca dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x00c35953 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL vmlinux 0x00d2e12f virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x01002c06 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x01096b2c snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x010dacd0 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x0116e6f5 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x011bde60 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x01206e26 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x012ade74 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x012dc2fc lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x014142ad usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0148752f dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL vmlinux 0x016615ee of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x016d3daf tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x0170cb6c efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x017e87fe usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x0184c7f3 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01a2475f pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x01ba865b nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01c9b0b4 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x01d747f5 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x01e01b7a governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e1c38b snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL vmlinux 0x020627fb serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x02278769 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02468857 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x0254614e devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x0254d42a sdhci_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x026f3380 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0289f32c regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x0298e898 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x029d808d snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x02a68b0e tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x02b24cd3 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x02b5327d tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x02c1a2a9 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x02caaffd ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x02dd0293 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x02ea61a6 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x02f5ce75 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x02fae6cc pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x030925e7 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x031916c8 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x03293178 snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x03315f0c btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x0337a0ec shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0343f33a sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x034b7dad sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x034ba5b3 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x0355e1ca snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x036380c2 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x0363b3a0 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x036d8e9b klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x038164c9 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x039223a6 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03973408 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x039d8bd6 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x03a8b8c1 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x03ae114c adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x03b96040 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x03d2090c devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03d392f9 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x03d3d4ab do_truncate +EXPORT_SYMBOL_GPL vmlinux 0x03edf6ad class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03ff520f dm_put +EXPORT_SYMBOL_GPL vmlinux 0x04075a19 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x04103b9c disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x04172241 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x04194eaf pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x042ca094 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x0441720a of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x044e00b4 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x045ab636 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x04816b20 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x0487da88 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04909e13 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x0496150a cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x04ae4635 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x04ae6631 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04be59bd bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x04c26123 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04dcce4e remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x04f6c337 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x051811d6 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x051d51b2 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x0540352d pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x05421860 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x0546b019 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x057e3154 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05959514 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x059b3287 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x059c8e71 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x05bb570d tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x05bced08 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x05c38fae rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x05cdf006 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x05d9a13d sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x05dca647 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x05f93541 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x0603c0e5 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x0604a205 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x06122337 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06264de7 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x06350a8c __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x06373fbf nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x063bf7ee efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x063e9714 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x064045ea devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x06405a63 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x06415f46 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x0644f8e2 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x064c1c28 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06568918 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x065f0401 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x066bf6fc cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x067c2a83 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x068e1748 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06c698f8 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x06c9985a ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x06cae89a cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d27613 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x06e92aea nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x06ed8b00 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x06f9ea3f virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x070d5df6 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x072fac53 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x0735b68a md_stop +EXPORT_SYMBOL_GPL vmlinux 0x07388015 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x073b68b5 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x077ac6de irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x0781b79c console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x07965107 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL vmlinux 0x07a84004 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07cb4054 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x07d07ff1 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x07d88bc7 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x07d90bc6 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x07e8f045 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x07f0cd2e crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x07fa055e scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x080e8d92 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x082825e4 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0828d609 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x085421c3 nand_change_write_column_op +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x0890bb60 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x0899eeb4 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x089fb0cf ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x08aeed7f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x08b60e33 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x08c43adb debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x08c46ca1 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x08c73234 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x08c8a21e cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x08cd893c crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x08d012ae skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08e94300 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092c65a9 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x093697c2 sdhci_dumpregs +EXPORT_SYMBOL_GPL vmlinux 0x0939e03b ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x093d9e89 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL vmlinux 0x094ce163 input_class +EXPORT_SYMBOL_GPL vmlinux 0x094eff13 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x0956b414 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x095d4f63 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x095d9c68 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0966d50b gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x097064d1 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x097a1302 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x097fd96c gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x099c553c wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x09a13d16 usb_ep_enable +EXPORT_SYMBOL_GPL vmlinux 0x09aeff96 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09cac79d pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x09d8c628 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x09ee2c25 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x09f97023 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x0a02306d usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a18722e switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x0a19bfe9 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0a3fa377 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x0a6bb6d8 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a99d866 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x0ab8a4f0 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x0abc3d93 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x0ade58ad of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x0ae5757d sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x0afa7992 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0bd380 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x0b0d7ead dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b1c50eb scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x0b2970fe klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0b2c6173 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x0b327db7 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0b7c4731 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x0b836505 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb02b72 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x0bcd932a dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x0be374e8 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0be5739b crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x0c1ed08e ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL vmlinux 0x0c3262b1 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c381ee7 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x0c3bdb90 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c3d479e __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x0c554d57 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x0c58ad2c xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x0c5c4f5f wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x0c70d001 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x0c81a5f1 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x0cac5a91 sdhci_pltfm_register +EXPORT_SYMBOL_GPL vmlinux 0x0caf5c09 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x0cb03bbb __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x0cbe82db devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x0ccb9e21 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x0cf7a882 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x0cfbd638 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x0d01b2b7 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x0d0d0f57 mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x0d11c921 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x0d2e065e dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x0d35fc97 dev_pm_qos_hide_latency_limit +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 0x0d57bd07 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x0d5a5939 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x0d5d4030 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d66916d pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x0d6b83bd devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0d807a79 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x0d969378 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x0d9a0d58 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x0d9c82e1 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x0d9e4c11 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x0db44c93 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dcdbf93 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x0dd8d9e1 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0df3c213 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x0e0d23e6 nanddev_markbad +EXPORT_SYMBOL_GPL vmlinux 0x0e20018a mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x0e23998d follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x0e317449 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x0e577b7a fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x0e609095 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x0e745f53 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x0e7cef78 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x0e7eaa2c dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e87a45c crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0e9be06f clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0eada42c compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0eb668cb dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x0eb79359 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x0ebcaced device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec1a7d1 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x0ec73f89 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x0ecb302c mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x0ece0a18 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x0eeb5417 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0ef37f80 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0effbae8 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x0f059aed crypto_comp_compress +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 0x0f2f2a95 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x0f3c8066 snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x0f4ec55b clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x0f59d8aa regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x0f5ab6af iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x0f5db091 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f8cf090 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x0faa818d spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x0fb2d197 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x0fb8f978 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x0fcfc8a5 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x0fd62197 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x0ff61677 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x1001a036 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x1003348e fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x100359e4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x100ab093 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101a742f pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x10360fa9 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x10436536 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1043cac3 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0x104ee35a bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x105e807c da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x10639178 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x106ad9e1 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x108336be max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x108828e4 rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x1088c64e scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x10902ba9 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x10904ec0 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x10a342f9 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x10a7d44d powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x10b88117 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x10beb15b sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10c71a73 sm501_find_clock +EXPORT_SYMBOL_GPL vmlinux 0x10d447d7 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x10d7e70a dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x10e06b6f yield_to +EXPORT_SYMBOL_GPL vmlinux 0x10e09709 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f0375c __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1104c4d5 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x110834a6 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL vmlinux 0x1125fb19 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x1130f276 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x1132f08b pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x11354614 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x1143fc70 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1144185c skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x11526c9a meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x1166e667 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x11956f37 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x1196ccce da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x11990d3b clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x119f54ce __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11d4bc88 sdhci_reset_tuning +EXPORT_SYMBOL_GPL vmlinux 0x11d7589e add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11f4b517 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x11ff2bf3 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x120ca19b page_endio +EXPORT_SYMBOL_GPL vmlinux 0x121ce67b __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x121e187e of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x1222ba51 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x12272384 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x122a2c5a crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x122d1d71 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1232ccae dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x123c7178 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x12581fba mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x1258360b page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1259a829 of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x125e7419 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1274fcf8 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12a6a409 mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x12b6c0f7 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x12bc6d2a snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL vmlinux 0x12be40d5 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x12c8cd3f of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x12ceeb8d devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x12e38af6 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x12ecd856 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x12f99846 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x13181212 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x131957f5 arm_iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1320e0ae snd_device_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1368e15c cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x137da60a clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x137e2312 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1381f690 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x13889036 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139b65ea sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x139cf496 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x13cb7882 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x13ea9303 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13ee4ed6 snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x13f626d8 omap_iommu_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x141064d5 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x141dfbab efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x141eac07 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1428054c power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x143128b4 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x145dc66a usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x14751862 usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x147f3e7a pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x14976da7 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14af217e usb_gen_phy_init +EXPORT_SYMBOL_GPL vmlinux 0x14b391fc devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x14bec315 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x14c2872d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x14c49484 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x14cf0ce7 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14e0316b kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x14e86b92 devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x14e93d7c xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x14ee9c32 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x150d1568 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x1510c167 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x15165da5 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x151e6cf0 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x15307ca8 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x15356797 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x1544083a regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x1548ed88 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x156854ca ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x156da3f4 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x157f3c92 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x1580941f sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x1593eedb fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x15a74344 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x15b06044 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x15b4d972 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x15b66a8a mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x15b92e04 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x15b96852 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x15be12ed devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x15c2c29d phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x15ca2600 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL vmlinux 0x15f7fd45 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x160b4d43 mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x160e341a pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x161283a2 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x1616a46d clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x1625212e i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x1630b86b virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x1662e8eb crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x16671a6d spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x16678dbd iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x166aa120 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x166f5215 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x16701fea snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x167545d1 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169240e1 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0x16a47c8b snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x16d5a38a __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16e2ed93 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x16e382ab cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x16ea2fc0 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x16f1e67b ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x16f5855a of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x1706a654 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x170795af nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17133f60 musb_root_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x1716668f ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x1739e299 __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x173b459e platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x174690b6 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x174c1be8 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x174edab8 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x1761fc13 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x176bdb58 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x177a0633 arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x179e48b6 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x17aace4e netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x17b933e3 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x17c9e180 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x17cf2825 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x17e6577a iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x17ece9d8 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x17f27b2d regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x180969c8 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x180e5cea net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x181c9b5e regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x181f035a gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x182f5696 nanddev_init +EXPORT_SYMBOL_GPL vmlinux 0x183345ee regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x186649b5 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x186f33ac sdhci_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x18a445d8 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x18bfd99e snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x18c18f37 wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x18c7b69c crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x18ddfa86 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18ec8509 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1901a35a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x190717d3 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x190a7209 mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0x191729e6 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1921431b meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x19366611 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x193e2cdd snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0x194132fa zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x194b4f24 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x195a98bb input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x195de3f1 dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x19783b0e ref_module +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ac8080 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x19b2207a usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19e3161b pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19ee0825 handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a0a0206 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a132424 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1ae9c9 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL vmlinux 0x1a275eca of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x1a2be2b1 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1a340a79 __sdhci_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1a3fd038 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a6ca8b9 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x1a72672d sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1aba0317 __cci_control_port_by_device +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1ad346e7 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x1ad47c88 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x1add3be9 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x1ade4f98 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af78209 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x1b0b4a22 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1b0d0002 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b196431 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x1b1b776a __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0x1b1bce62 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x1b23fd29 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x1b2ffad2 usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x1b355682 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x1b4f3356 __register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b52e785 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x1b58528d blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x1b63e732 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x1b721e25 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x1b8247cd __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b93406e omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x1ba5609c bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x1baa55d5 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bbb122a __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x1bbe9507 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x1bc112d5 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc863c1 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x1bd5c0d2 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x1c00fed7 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x1c02e73e platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x1c031d54 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x1c064256 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x1c09228f cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x1c1c7538 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x1c22884f cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x1c229dc0 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x1c2835fa bus_register +EXPORT_SYMBOL_GPL vmlinux 0x1c2a41ad crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x1c2d726a relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x1c40b4bd perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x1c443198 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5d6b68 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x1c5d9dd8 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c6d65b5 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x1c72884d snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x1c798d9f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x1c7cbfb3 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x1c7e96c6 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c931155 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd6586e snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x1cdf4efb copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x1cdf5f35 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x1ce55c02 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x1ceca46c eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x1cf32678 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x1cf92bfa led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cfa9894 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d184af7 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x1d1f6ca7 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x1d1fdeef led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x1d38ff02 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x1d3cc1c6 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x1d52e52e posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x1d61e7e1 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x1d6f1c5f do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x1d713864 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL vmlinux 0x1d75ca8c stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d77e312 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x1d7efcd6 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x1d8aae66 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9d64d0 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x1da92581 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x1dacb823 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x1dce0031 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x1dcfc31e tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x1dde8885 dapm_pinctrl_event +EXPORT_SYMBOL_GPL vmlinux 0x1df319ef regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1df8abf7 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e0b458a device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x1e19c4f7 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x1e265d0c devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x1e2c3fd4 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e3e54d1 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x1e4229f1 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x1e455bfd sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x1e48560f iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1e531e02 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x1e5744ff udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x1e5bf762 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL vmlinux 0x1e69100e device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e7e47b7 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e979d2f of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x1eb65f1a blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x1eb90c3e of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed2b67c tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x1ee207cf i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x1ef8130d amba_apb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0x1efef163 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f18a189 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x1f3aecec mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0x1f3f72f9 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4f8128 nanddev_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x1f54b3ee inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x1f55caa0 mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5fc4a5 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f7d534e devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f88cd9d device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1f8aad84 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x1f8c4b52 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x1f9935b0 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fae631e ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x1fbf0049 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x1fc4d6a6 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fcc8f00 usb_gadget_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x1fe1cc26 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fef592a ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x1ff95465 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x201969dc mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x201dac8e phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x2025d75d sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL vmlinux 0x202ac22d store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0x2034e428 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x204502cb __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x2049254c snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL vmlinux 0x204d79d4 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x205b00ff free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x206d0a84 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x20762149 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x207bfc28 dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20a8cc7a inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x20aa7ae6 sdhci_request +EXPORT_SYMBOL_GPL vmlinux 0x20acdf96 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x20b182d8 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x20bac163 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x20c33f42 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x20dc567d crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x20dfbcca sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x20dfd9f1 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x20f22419 soc_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x20fc45ce rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x20fcbade debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x20fdacc0 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x210260ee blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x210bd397 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x2115a920 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x2126f135 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x2135c3b9 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL vmlinux 0x21498b27 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x214f9f78 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x21562a1d raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x2158e8b7 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL vmlinux 0x215d946e md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21726652 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x21783b43 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b8447e nand_decode_ext_id +EXPORT_SYMBOL_GPL vmlinux 0x21c65182 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d4c512 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x21d52f52 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x21dd3e77 xhci_mtk_add_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x21df1a21 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x21f2909e mtd_write_oob +EXPORT_SYMBOL_GPL vmlinux 0x21ffbd47 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x2204b6f0 handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x222eda3c regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x223cd95d blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x22619c14 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x22648c02 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x226fc86e class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x227140b4 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x227cdd2a phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x228cb246 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x2295afb4 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x22a4ea26 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x22a52ab9 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22b8d881 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x22bbee5b ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x22d071cf driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x22d803d5 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22dbc5a6 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x22ed8449 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2306efa7 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x2322b129 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x233cc504 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x234d28fe regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x23657ed7 alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0x236d00b7 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x236f222b device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x237d3a6e snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23866400 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x238a8ed6 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x23950433 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a00083 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x23adf2b9 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x23b3cc83 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x23b9d419 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x23ce2185 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x23ee7f3a musb_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x23f6c603 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x23fa7b2f __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x240b186b rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x24240ebb devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x242d7f7f devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x24590057 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x245e8e7d blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x247b35e4 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x247f33a4 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x24825619 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x248e59f6 dapm_clock_event +EXPORT_SYMBOL_GPL vmlinux 0x24942334 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x249a6bf8 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24be7873 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x24d176f4 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e2c06b __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f1358a gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x25358028 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x25389ab2 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x2552d694 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x255c8225 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x255d2c5e sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x258874b2 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x2593a3cc devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x25a59620 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x25adb873 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x25ae9e21 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x25ca9b32 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x25cf903c pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x25d58efd regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x25facadc dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x260d9433 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x261a704a fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x261ed786 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x2638586b xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x263a36c8 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x2644c0df sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x26478d3b fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x26658b55 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x266faba9 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x26776d9b of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x2678e76a security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x267e3fe7 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x269151c1 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2698e5f0 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x26a987f9 strp_process +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c3d05c usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x26c547c0 bL_switcher_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26c5d810 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26ccd9fd spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x26e06ae6 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x26e2b1e6 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x26e5a13e __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x26ecb275 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2714c7a7 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x2717701a xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x271af235 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2734197f musb_readb +EXPORT_SYMBOL_GPL vmlinux 0x273adf77 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x2749a270 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x278a68fa inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x27d27d2e scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x27dc511b arm_iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x27e7f42a rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fb5bcd devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x2803b61d crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x2804082d snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x280d316c irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x280e4e71 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x2816d9cf genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x2822e157 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x28278513 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x282b7d57 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x2844ac65 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x28492e32 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x284adb2a extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x28570668 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL vmlinux 0x285e86a5 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2870b8f3 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x289aadb1 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28af827d pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28caec51 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x28ce661c debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x28d186ac inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x28d3c652 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x28d6ef97 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x28da1c49 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x28dc95a6 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x28fa0f29 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x2903eb7c snd_soc_add_component +EXPORT_SYMBOL_GPL vmlinux 0x290e2e10 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x292104c7 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL vmlinux 0x2940328c snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x2949c36a skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x294f986a clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x2956caaf tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0x295a2670 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x295e3e77 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x296e6f41 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x297262c1 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x297afe77 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x297b480e dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x297c3e03 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x297d26cc sdhci_switch_external_dma +EXPORT_SYMBOL_GPL vmlinux 0x2990e37a pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x29c5a742 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x29cda350 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29dd70ee md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f6fc84 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x29fd137c pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a0ac742 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x2a0f1809 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a410b14 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x2a6013e5 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a64fb07 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a68babf nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x2a6a6e7c pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x2a77a999 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a9f545e dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x2aab7c2e sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x2ace5c4e uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x2ad3aeb2 of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0x2ae5dd3e spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x2ae8508f regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x2af54b33 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x2af79f21 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x2b04cc30 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x2b073557 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x2b1a743a irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x2b28f94b serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x2b2df391 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x2b331657 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x2b379ed3 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b5762ae extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b720622 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x2b731e31 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x2b7c833a nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL vmlinux 0x2b854389 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2ba87ff6 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x2bb36f66 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x2bb90b54 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2bb96cd3 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x2bd0159c usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2bd1efd5 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x2be5030f copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x2bf8d3a3 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x2c032579 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x2c064491 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x2c0c49f0 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x2c1896e8 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x2c1a3987 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c500a36 snd_soc_dai_compr_get_params +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 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c9bb654 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2c9d8582 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x2cb95dce vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x2ce1b4e5 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cee273c i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x2cf507f9 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x2d03670a clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x2d143a36 mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +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 0x2d528a60 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x2d529e95 pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2d55b413 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x2d5c1efc regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x2d6ab9a1 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x2d7bf412 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x2d8016ff usb_gadget_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x2d8c258e usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x2d8e5ada __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x2d9b554a of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x2d9e50c3 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2dac6c3c dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2459fa mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x2e2b4467 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x2e30509c percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2e3c8949 snd_compress_new +EXPORT_SYMBOL_GPL vmlinux 0x2e4261f6 snmp_get_cpu_field64 +EXPORT_SYMBOL_GPL vmlinux 0x2e54ea46 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x2e5c3847 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x2e784ea6 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL vmlinux 0x2e7d03a2 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x2e8e61fc proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x2ea6aed4 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec17694 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x2ecb93c5 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x2ecd7309 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x2ed35cc3 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2eda2ae9 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x2eda608e ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x2ee092ab of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x2ee19e09 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x2ee4f9cb switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x2f07aee7 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f25afef kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x2f3d6d82 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f5c1223 __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2f63e634 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2f826930 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x2f895416 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2f967a7a debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x2f9c4617 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x2fade0be synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2fbe770f bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x2fe4d434 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x2fe686c9 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x2feaef00 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x2ffb4963 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x30096d57 insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x301c07a5 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x303314ef extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x303881a3 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x30414300 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x30518c37 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3063a6bc phy_get +EXPORT_SYMBOL_GPL vmlinux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x3069809a __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x3069e46b scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x30741085 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0x307ba2fb devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x3084a53a balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x30850eee iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x308d7c7e ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x308f79cf mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x3098e725 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x309d518d strp_done +EXPORT_SYMBOL_GPL vmlinux 0x309e99a1 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30be3710 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x30d6deb3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x30d8f21d find_module +EXPORT_SYMBOL_GPL vmlinux 0x30e14206 of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0x30f087e0 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x30f80132 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x30fd4948 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x310118d2 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x313549e2 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x3138bd3f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x31401582 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x3141e5be device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x31488015 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x31568dc5 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x3182bc1e trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3183bb52 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x318ab2b0 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31a2f371 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31b0aa77 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x31b28167 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x31b60760 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x31b6f5c6 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x31c142a8 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x31c73cee pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31f83a1b tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x32065453 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x320ec2fc da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3211d7d3 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x321a607d ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x32202df4 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x32323fb8 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x3233b670 nanddev_mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x324b3dab blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x3250ab21 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x325232f7 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x325d47c1 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x325dcf4a dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x3269161d snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x32778eed powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x327c7a0e virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x32a0a8ca bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c43904 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x32ce5f4f srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x32d93747 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x32de94b4 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x32e8a0f3 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x32ee4344 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x32feae3e blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x330921e0 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x3323dc3f extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x33354355 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x333557ca snd_soc_component_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x3335ae32 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x333a7600 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x333ab91e omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0x333cf926 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x333d5b05 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x33420468 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x334a68ab attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x335b3256 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x33613f52 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x3373cd7c da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x33781db8 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x337984c3 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x3379b73a addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x3381e7db devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x338ae5bc irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x339101c5 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x3396d735 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x339ab7e3 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x33a5fa91 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x33b46aa6 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0x33cd2cd6 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x33cdbc56 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x33d27b60 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x33d323db snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL vmlinux 0x33da7eab skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x33e92f16 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x33e9e0a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x33ea11d4 of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f373b3 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x33f47033 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x34144110 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x342d3351 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x343f19ae snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3448ae9e devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x3452d639 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x3461ba36 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x34908579 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x34931725 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x34956a20 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x3498b3f1 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34a84df3 __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34ae9a75 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x34c62b1b dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x34d73cf8 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x34d7c86a scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x35094c99 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x351d26bc tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x351d3ab7 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x3521ddfe fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x35232209 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x35275772 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3531eed7 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x353fa133 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3540ea11 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x35569b04 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x35709acc regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3576376a gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x357d361a mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35996de4 em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x35b8481e gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x35c36760 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x35c85ef4 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x35cee785 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x35d36f76 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x35dc51d4 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x35dfce20 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x35ecafef tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x35f8afe6 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3622f73a usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362de961 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x363a4fa9 arm_iommu_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x3644ffc0 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x36462d3a __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x365e289c of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x36603b16 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x36886384 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x369753ee l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3697f67b nand_soft_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36adb220 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x36b4539d add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x36bc7162 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL vmlinux 0x36ddc0f9 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x36ec8a8a nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x370a48ad sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x3710180b ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x371684de badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x3716c104 pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x3719626f noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x371dccd0 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x373a61ed cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x3749687d get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x37508e93 mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0x37524348 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x37595cb3 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x375ad671 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x376a7bf4 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x376de21e vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x377022fd ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x3792a32a sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x37a1a2b5 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x37a9a53d blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x37c0f2e1 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x37c3f1ba ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x37c50576 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x37c73769 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x37ca575d synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x37cb7549 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x37ccb8bd usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x37d19dd7 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x37e836b7 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x37eaab93 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x3817ec5e rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x38216925 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x3823a811 tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x382ca26f subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3833be81 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x383d92c0 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x383f205a regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x3846160a of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x3859c6d2 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x385a7382 tps65217_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x385cb8dc snd_compress_register +EXPORT_SYMBOL_GPL vmlinux 0x3867a4b5 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x3868c11e mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x38743501 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x38889bb4 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x38890417 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x389562bc driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x389e257f irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38aa4657 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x38ac9451 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x38b15ec8 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x38b51d42 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x38c0c9e4 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x38ca49a8 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x38d64028 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38ebda31 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x39174654 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x3918a078 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x392c1563 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x3933771b vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3934dc3e debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x39418c20 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x39450e6b devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x395bc990 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x39645afe crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x3965bdc6 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x3966e68f dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0x396b85c3 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x396c12ac led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x397bd6f0 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x397c8180 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x3990ae25 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x3999ca8b netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x399a8abc ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x39a631d4 snd_ac97_reset +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39d18801 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x39db280f of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x39e07abb gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39efe9ec snd_soc_new_compress +EXPORT_SYMBOL_GPL vmlinux 0x39f10174 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x39f70659 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x39f90d5d sdhci_start_tuning +EXPORT_SYMBOL_GPL vmlinux 0x3a086a9d ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x3a09dbc6 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3a0b42ff efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a0f4c61 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3a1a8d5f pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x3a2d36b8 update_time +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a2f3d58 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x3a315baa posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a4bc2e0 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a6258e6 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x3a662cc1 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x3a6d7bc8 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x3a6dc43f pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x3a7379db ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x3a865c0c mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x3a8d75b2 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x3a8efe10 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x3a92ae95 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x3a98b5d8 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa12240 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x3aa203db fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x3aa2a115 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x3ac94fb2 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x3acbf29f snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ae64043 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ae7645c pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x3af2d532 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x3b020be4 gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x3b02f6ad bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x3b15b709 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x3b26928c debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x3b2f73e7 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x3b485a42 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b539887 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x3b72c392 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x3b8dadbc tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x3b987b39 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x3ba26281 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3bd5125f fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x3bd8cb08 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bee3f57 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x3bf02f1b ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3c0108b6 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1de91b of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c454424 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x3c45bc12 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x3c51dbe1 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x3c61c444 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x3c639773 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x3c651f33 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x3c6814fa regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6b700b spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x3c702f3f pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3c72724e usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3c957ad0 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x3caea5e5 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x3cc6c768 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3ce09751 device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x3cf4fe5f kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x3d0e49fe devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x3d1eda71 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x3d2a5db9 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x3d2ab50c serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x3d2e73fd ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x3d2eef40 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3b1ce5 snd_soc_dai_action +EXPORT_SYMBOL_GPL vmlinux 0x3d44cc00 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x3d49fc73 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d6a07f1 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x3d6a3a04 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x3d6cd44e fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x3d79ad09 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x3d8e6aa4 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x3d941a28 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x3d943a35 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x3da89402 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3dc1d0b8 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dd0599e dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL vmlinux 0x3dd5f9af rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e16dc58 xhci_mtk_sch_init +EXPORT_SYMBOL_GPL vmlinux 0x3e18bb75 pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x3e1bbab6 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x3e21ba72 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x3e24389c class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3e27065b usb_ep_set_wedge +EXPORT_SYMBOL_GPL vmlinux 0x3e289707 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x3e29e9c4 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e537662 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3e566ff1 mtk_smi_larb_put +EXPORT_SYMBOL_GPL vmlinux 0x3e5f0f9d regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x3e5f5622 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x3e6a2b5a devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e713f72 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x3e8cea52 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x3e977d99 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3ea016f6 mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0x3eb19977 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3eb51619 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x3eb678ed l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3ec6f61c snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x3ecdaf8b pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x3ee275d7 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x3ee6540b of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x3ee994f0 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef1098a dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x3ef83de8 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3eff5225 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x3f036633 arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f060887 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3f0a2e88 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x3f11f135 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x3f15c73e snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0x3f220cf3 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x3f3a3423 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f49ab52 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x3f69d2a0 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x3f7573bf usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x3f77eb0d tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3fb31009 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x3fcfe087 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x3fd0ff65 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3ff93651 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400caec1 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x4015aeed usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4023aaa3 tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0x4035c545 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x4038345a ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x403fce00 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4040d8aa lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x4059cce9 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x405b81fe of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x405bd7d4 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x40664797 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40851893 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a1e8f5 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x40ac708c scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x40c94133 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x40dac8d3 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x40dfa1db snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL vmlinux 0x40e560fb __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x40e808e5 crypto_unregister_alg +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 0x40fa1a05 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x410590f9 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x410b4fd6 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x4112aa7b dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x4117664d ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x411b8aed of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x4122f082 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4135c276 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x413d7d57 xhci_mtk_sch_exit +EXPORT_SYMBOL_GPL vmlinux 0x414538e6 synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x414ad496 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414f45d9 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x4152b695 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x415db220 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x416c2f50 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418929d9 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b24deb rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x41bb1bd9 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x41bf97b3 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x41c2b1d6 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41c30f3a trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x41cf3369 ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0x41d316c5 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x41da4c28 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x41e331e1 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x41ea7510 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41edc860 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x41faee71 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42228e66 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x42328cf3 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x423f3a8f devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x4243956f dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x424c3e43 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x427ce846 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42878e88 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x42887525 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x4293d7df snd_card_disconnect_sync +EXPORT_SYMBOL_GPL vmlinux 0x42a46e15 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x42aa7402 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x42aadcce clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x42beb222 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x42db68f2 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x42de1a9a snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x42e430da snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e7a297 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ec0ce0 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x42efb127 nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x43263343 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x4326eec4 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL vmlinux 0x433d735d cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x433df633 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x43434f4a of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x43541128 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x435f9724 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x4370b98b mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x43713f10 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x43754059 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x437fd7d8 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x438105e4 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x439473fb fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x43a44a36 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x43a5a483 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x43a762c5 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b9df47 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x43bebdb9 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x43c0ebe9 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x43c59ffd regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x43c60a52 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x43dcd7b1 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x43dd0498 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x440d267d rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x4416207c snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL vmlinux 0x4427f02b register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x44339406 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x4433f755 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL vmlinux 0x444c6d65 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x44531e80 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x445d1a8e regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4477732e sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x4484301d gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44957d71 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x44a44b50 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x44ba1042 percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44bb8e39 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x44bd742d mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x44c56c39 cpts_unregister +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e147d2 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x44e8c6c0 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x450652cb usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x451725ee regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x451f3aa0 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x4539daf3 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x4540bc1b pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x4547a781 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4562f8e4 pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x457448e6 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4577704e snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x4579baaa phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4583d80c devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x4592c871 get_tree_mtd +EXPORT_SYMBOL_GPL vmlinux 0x45a7a6d4 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x45aaeb59 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x45af6a91 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x45c13997 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x45ef6cad sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x45efe507 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x45f1bc79 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x45ff8535 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x46002b50 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46066e5b perf_pmu_name +EXPORT_SYMBOL_GPL vmlinux 0x4623445b uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x46302954 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x464253da device_add +EXPORT_SYMBOL_GPL vmlinux 0x464c6266 sdhci_cqe_irq +EXPORT_SYMBOL_GPL vmlinux 0x4655381b nanddev_erase +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4676cead xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x467722d5 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x467b8cf5 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x467d41ed bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x4681621a bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x4683a8ee key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x46870dbd crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x469042c7 dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x46a7761b dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x46b21bd2 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x46c06c19 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46cc7136 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x46dd666d security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x46ea1ae4 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f9640d pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x46ffbf2a ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x47084122 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x470c8b9b xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x4711eb99 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47317949 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x473b7d3b exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x473cedc1 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x474098c9 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x4740fb9b ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x474fb51c dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476d119b crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x4774ce0c devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x4775c1a0 otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x477ef2fc iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478b1f52 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4791d180 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x47925794 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x4792ca4c xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ab58aa skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x47b56ca3 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x47c0602c phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x47c43d49 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x47dd5568 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e1e793 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x47f4b77f put_pid +EXPORT_SYMBOL_GPL vmlinux 0x48020c1c irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x481e9953 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x482725c3 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x484450c6 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x484779ef __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x48485e25 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x484be316 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x484f80eb split_page +EXPORT_SYMBOL_GPL vmlinux 0x48517550 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x48625ec3 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x4870b854 dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x487128a3 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x487c1ffd crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x487f380b aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x4892d6fa fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x489c5c89 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48c18e89 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x48f39c72 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x4928d8bb sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x49326ef6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x493cf251 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x494df45d pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x49518d2c ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x496f47b9 snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x4982f740 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49932f46 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x4998115f usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x49aa2fa6 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x49c42e26 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x49cda8ad __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x49ce8e18 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x49d96707 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x49dd31ff devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x49df340d devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ed12a9 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x4a099cab tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x4a0abb37 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4a177ec9 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a299cd0 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x4a31057f da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4a31a525 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x4a3812a6 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4a482e09 virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x4a5271f8 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x4a76202f regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x4a77c9e3 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x4a7b898a mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x4a96afd0 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x4ab30b34 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x4ab57e92 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4abce14b debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x4ad6e0f2 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x4ae26481 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x4af1deea arm_iommu_release_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4af28d28 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x4afcd6df rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4b00f930 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x4b1a064b tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x4b332fde dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x4b481923 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b540f2c crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x4b57d747 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x4b677f3d rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b69add9 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x4b6b0936 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x4b6dbc40 sdhci_cqe_disable +EXPORT_SYMBOL_GPL vmlinux 0x4b744101 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4b7d5be8 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x4b8e46aa blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x4b92a5df dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x4b96f96b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x4bab2322 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x4bacf52d tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4bb53db1 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x4bbf53e2 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4bbf79d9 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x4c01f1fa virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x4c159260 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x4c1cab14 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x4c1d16b6 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x4c2493c5 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x4c2d5533 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x4c3c16be dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x4c5add69 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x4c5e753d net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x4c7a2efb __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x4c7eaf19 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x4c8c0705 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x4c8c1fd3 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x4c9c85f3 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4cb1cf44 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x4cc0f751 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x4cc11c2e __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x4cde45c8 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x4ce4ee9b sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x4ce8a468 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x4ce8ccbc perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x4cf17d9a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4cf24332 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x4cfc7754 clock_cooling_get_level +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d09f2bb fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x4d14c4c8 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x4d1f182a iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x4d29147b pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x4d33c590 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x4d3687d9 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x4d38f1e0 bL_switcher_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d612fe6 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d9d7712 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x4d9df6c5 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x4da68165 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db2fdf7 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x4dbc224c gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x4dc98a98 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4dce42bf __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de8b125 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4dfe4dbc rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4e09459c blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4e0a05c9 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4e5b67f0 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x4e95e3d5 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x4e9ee860 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL vmlinux 0x4ea3c22d devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ea7d6ad ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ebfb865 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x4ec13ad4 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x4ec24503 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x4ec907c2 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x4ecd0c3a __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4ed19866 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x4edf485a devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x4ee32366 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x4ee6caba mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f00d362 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x4f0c0da9 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x4f127fd3 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f152e55 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x4f23985e strp_init +EXPORT_SYMBOL_GPL vmlinux 0x4f2c6e59 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x4f2d3b92 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f331911 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x4f3ba219 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x4f4c42f8 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x4f543ff9 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x4f546853 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f81b817 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9bca83 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x4fb04f6f set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe54653 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4fe829b2 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x4fee42fe xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x4ffb8230 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5003c768 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5013ef24 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x502aeafe spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x503eeebb synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x506c95e7 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x507020a0 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5086c2d9 mvebu_mbus_get_dram_win_info +EXPORT_SYMBOL_GPL vmlinux 0x50892709 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x508afef4 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x508be9c8 serdev_device_get_tiocm +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 0x50bf45f5 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50c9fece extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x50ca4b2f serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x50d673b3 hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x50dfc0ea pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x50e289b5 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50fd77e3 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x51058329 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x510ab7a8 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL vmlinux 0x511b24de rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x51374a93 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x514d9c9a dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x514eff9b pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x516a035b regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x5170e7ae snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x5171ed3e scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x51754009 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x5185e7d4 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x519b3205 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51ad2192 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x51c25334 sdhci_calc_clk +EXPORT_SYMBOL_GPL vmlinux 0x51cb720e rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x51d8ce7f ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x51e6bb21 mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5219538e ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5227baaa debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x5233912f ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x523400ec badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x5245004b dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x526b8723 hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x5271dbf4 pci_ioremap_io +EXPORT_SYMBOL_GPL vmlinux 0x52733c8e device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x527da3f4 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x52859417 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b3e8a1 is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c5a796 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e9d73b security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x531ee428 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x53285b29 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x53389eb7 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x5338f213 mmput +EXPORT_SYMBOL_GPL vmlinux 0x533f3b75 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x535280d1 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x5356f0af blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535a5858 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x5375d01f virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x53792f40 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538f41c4 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5390fc91 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x5395c405 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x53aba5a1 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x53b75939 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x53c1550f rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x53c18920 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x53cc4d7f nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x53e0500b pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53e44378 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x541000fc bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x54154255 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x54172702 cci_disable_port_by_cpu +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x542276db devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x543aac70 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x543e54f7 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x543f412b trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x544d0bed blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x545fb5c1 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x547b4510 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL vmlinux 0x5484ebe0 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5490c583 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549daeff ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54d77ab8 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x54de63e7 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x54e9052c tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x54ec79b0 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x54f50f91 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x54f5867f regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x54fc7fc4 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5514338f amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x551665a3 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x551786fe rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x551c2a99 arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553974fc mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x553d6893 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x5540144a register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5567e641 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x556f0cf7 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557de69a pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x558767a8 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x55a57826 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x55bba1f3 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d8f6b6 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x55e2c392 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x55e2f61b synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x55e9797f regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f5cd49 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x55fd4c7d ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x55fee99c register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5613cf6d perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x56157baa tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL vmlinux 0x56205e61 rio_request_inb_pwrite +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 0x563d71bd snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56545348 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x5659cc8f pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x56639408 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x5667d765 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x566bdd92 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x5681a495 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56a6a76c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x56b1761a iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56bce4a9 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x56bd6319 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x56bd6c14 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x56d731c5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x56d7f3af mtd_get_device_size +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x570ff361 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5712c1c9 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x57187866 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x572c18ee bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x57322ec6 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574dfd15 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x575c6321 snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x576d2d04 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x576f8f41 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x5789f907 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x57918536 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x5791f24b cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a231cc usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x57a44c8c fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x57ad4640 mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x57b03133 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x57b706b8 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57c498d6 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x57d0bb23 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x57f03188 devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0x57f24c56 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x580bd0fd pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x5810c3d8 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x5829a7ae ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5837ad99 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x584423b5 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x586559e9 sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x586acbd9 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x586b1d78 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x586e3c06 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x586f40c1 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x58758708 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5879b7e4 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x587ac04d cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x5897872c pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x58a0b00a led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x58a3e993 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x58b6d4dc sdhci_set_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f0308a clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x58f47135 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x58fec9e4 snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x58ff9d80 snd_soc_unregister_component +EXPORT_SYMBOL_GPL vmlinux 0x590c1ffe snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x5914938b tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x59164775 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x591ca99c pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x5927c132 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5932e2c6 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x594b3ffc rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x59502fbe crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x5964c948 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x598a26c1 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x5990da67 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x599b1d1f debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x59a1fab8 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x59b5def6 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x59b75ce9 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x59b8c348 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x59c2326b devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x59c3e770 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL vmlinux 0x59c6a2e4 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x59fdde02 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5a0d8c69 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a19f0ac fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a2453e6 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x5a24cd2e fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x5a258dca pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x5a2aa760 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x5a357adc pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x5a38ba9b tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5a3bf092 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x5a445b97 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4bdb3b rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x5a4d57fd device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a76e56b sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a80a811 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5a8c4343 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x5a95acb7 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x5a961e3a md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x5a9e6e7b trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x5aa1db77 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ac24451 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5acf6cf4 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x5ad98b10 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x5ae4b27b path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x5ae9ccd4 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x5aec2952 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x5af00bb7 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x5af1590a pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x5affbe46 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2334cc clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x5b25af75 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x5b2a1591 phy_create +EXPORT_SYMBOL_GPL vmlinux 0x5b316080 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x5b43dba5 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x5b4ce4ab snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL vmlinux 0x5b4f7f32 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x5b5295eb mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x5b669e2a usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x5b6d5ddd __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x5b6fd450 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x5b918ef8 iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x5b93afc5 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x5b9d774a virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5bc28b99 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL vmlinux 0x5bcac3b1 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x5bcdc8e3 sdio_writel +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 0x5be5f4c0 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x5be8f91b extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x5bf94e7b wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5bfbbabc pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x5c255bd9 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x5c2b47ca thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c462fd6 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5a7124 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x5c5db01b sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c6eb394 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c941a34 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x5c952eb2 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5ca316b6 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cae4483 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x5cc4c896 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x5cc6ef87 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x5cd719c8 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x5cede61a crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d00bb74 sdhci_request_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5d116acf devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x5d13045a udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5d1e5a9e rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x5d2e5ea4 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x5d35b43f __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5d411f58 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x5d533b86 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x5d60e5a2 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x5d708f99 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x5d715b0d crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x5d71cc5c rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x5d82eb0b of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da6fe89 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x5dcbe3eb tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x5dd0cec6 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x5dd72858 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5ddc21b3 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x5de4beef device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x5dea253e syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5df778c5 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x5df8af39 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x5dff6fda x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x5e03d5cc da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x5e12ecc1 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x5e2d093b clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x5e35ed45 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x5e37d232 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x5e4edff5 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e5ae398 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x5e67b71d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x5e6f4252 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5e72981c dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x5e74bd01 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7c04c5 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x5e83fa29 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e8a4e35 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5ea57b88 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x5eaeb20e snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x5eb86120 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ed290c0 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x5f0dcb9a power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5f39ef9a regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f3f68e4 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x5f429e99 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x5f487fc7 put_device +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f7b7bc8 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x5f871221 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x5f905517 tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0x5f90cd83 __sdhci_read_caps +EXPORT_SYMBOL_GPL vmlinux 0x5f96cef6 omap_iommu_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x5f9a48f2 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x5f9e1a1a __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x5fc1c87d devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x5fcb3e3e blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x5fd034e6 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x5fe01a70 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x5ff281b5 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ff66447 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600a0d44 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x601614b5 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x601d2648 usb_gadget_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x601e971e pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x6020ceb9 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x602270a5 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x602a32ba unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x6032f418 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x60416474 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x6052ed89 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x6055c783 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x6065ccdf cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x60671345 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x606b5723 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x6075d0c7 omap_tll_init +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608e0268 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60973025 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a244c9 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x60ae0f70 usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x60b080ea snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0x60bf23f7 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x60c04a01 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x60ca86c6 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x60cf3889 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x60e77267 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x60e9d31f nand_gpio_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x60ea4983 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x6118b25a dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x611b9547 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x612cb191 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x612f88d8 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x613ae883 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x614150ff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6143bf7b gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x614782f1 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x615198b7 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61525719 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x61677805 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +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 0x61b4c9c6 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL vmlinux 0x61bef0a2 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x61c9320a acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x61ccd3d9 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x61dd9ce4 clock_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x61ed8f9c iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61f9e7b3 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x61fee0e4 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x620cb843 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x62117505 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x621575e7 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6218baf6 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x621a39d9 snd_soc_dapm_free +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 0x6254bac8 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625aa9f5 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x6273eee6 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x627f16a7 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x62a83c8a ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x62a95be7 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c66f5b del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x62d0e2a6 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x62d4962b param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x62ff0cb9 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x63019933 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x630e1a16 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0x630f6da5 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x631f7481 usb_phy_generic_register +EXPORT_SYMBOL_GPL vmlinux 0x63200073 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x632f4c92 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x633c8409 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x634a2a61 devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6350a1d8 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x63514190 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x63529034 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x63600eb2 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x6369b833 ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x63734a81 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x638a85b3 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x6395c7f8 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x63bc7862 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d9802d dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x63e86369 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x63e95d14 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x63edf456 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x63fac78f led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x6404de99 iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x640a6adf blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x640db70f pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x64130214 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x6413a6c8 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x6415ff9e reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x6419f43f amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x64206451 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x64215573 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x64253da6 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x643cdf52 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x64413eef spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0x644bfdcf trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x645462b7 devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6488e6b0 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x648d91d2 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x6493a2df rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x6497ef2c fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x6499ca92 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x64a2c7e7 meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x64a78f64 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x64be8b13 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x64c07d32 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x64c2e960 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x64cdf082 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64cf7fcc devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x64d77451 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x64d7e82a switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x64df6810 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64e7dcc6 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x64ee2011 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x64ee991d pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x64f3ee87 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x650134ce irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x650c6d27 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x6520373d iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x65284995 efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x65450d34 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x655fa4cd ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x656323e8 device_move +EXPORT_SYMBOL_GPL vmlinux 0x656509ec __sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x65661430 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x656f0c5f kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x65710781 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6571ecb2 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x6583b659 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x6585944e crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x659ea84c devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65a4222a platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d1cb47 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x65def01d mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x6615e77c tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66185e60 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x662fd586 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x6630ea0d usb_string +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x664459f4 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x664d62ee dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x664f7286 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x6653f7cb mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666695a5 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x6669f089 sdhci_enable_clk +EXPORT_SYMBOL_GPL vmlinux 0x6670a45f dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669016dc cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b3bb6c qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x66b4e1f4 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x66b6e319 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c8ad10 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x66d17b54 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f5fe89 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x66fcc019 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x67016f16 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x670aacb1 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x670e56db fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x6734131e serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x6746757c icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x6759e1d2 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x6759fdbe sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x6763a71e sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x67696abf snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x677412e4 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x6775904e sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL vmlinux 0x6781513c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x6783b6fb tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6798f843 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x679a84e9 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x679bb099 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67a1c681 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x67a84a62 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x67b2ba23 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x67bfb277 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x67c7a7c8 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x67cb6b14 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67fb6695 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x680afa17 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x6815419f snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x6836ee95 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x683b555a alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x683b9cf8 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6842f647 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x684b5044 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x6851fe0e set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x6852bbc8 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x6860cb13 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x68758fda nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x687cfd67 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x687fca31 imx6q_cpuidle_fec_irqs_used +EXPORT_SYMBOL_GPL vmlinux 0x6894835c __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68996202 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x689bdd15 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x68a8e9b7 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x68b194e1 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x68bb5982 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x68bc230b rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x68d84c38 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x68f37e9f __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x68fd4286 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x690aee7b bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x69153cc4 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x6919670a nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x691c85b6 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x691efd4b pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x692098e2 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x692a4f08 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x693faf17 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x6945725e mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0x6949390b fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x694fe25e bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x6969d6e5 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69afab97 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x69b0a055 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x69d99e03 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69edc9a6 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f8d619 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x69fa6e7b device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a54dc24 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x6a570f2c dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x6a58ec7a blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a70307c tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x6a762524 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x6a7b541a usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL vmlinux 0x6a7e7492 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x6a8fcdf0 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x6a97bb50 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x6a99faf8 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x6aa5e412 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x6ab1c8bb xas_store +EXPORT_SYMBOL_GPL vmlinux 0x6ab6052e bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x6abbc2e6 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6ac39fe0 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6ac8b85d spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x6ac9b2f5 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x6acda1ab wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6ad4d85f dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x6ad8f335 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x6addc1de ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x6ae641b6 alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x6ae6d999 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x6af07a5f ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x6af56a61 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL vmlinux 0x6b0a0f74 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b240300 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6b2afd12 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x6b334acc trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b4f7978 clock_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6b500a4f thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x6b508364 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x6b5b9816 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x6b5ffeb4 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x6b72e663 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x6b737c63 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x6b760337 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b8f68e0 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x6b8fe030 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x6ba3ab83 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x6ba8b314 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x6bac288c pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x6bc51f4a kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x6bc737f9 devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x6bce93d8 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6c0b8169 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6c1aa438 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6c302c45 gpiochip_generic_request +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 0x6c9de648 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca6eb28 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x6cd17e49 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x6cd185a9 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6cec1a59 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6cec7909 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x6cf00420 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x6d096229 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0b8c5e percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x6d14809d tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x6d2b7ead nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3f8630 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x6d4844f9 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x6d494463 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x6d525fd9 device_create +EXPORT_SYMBOL_GPL vmlinux 0x6d5d005c usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x6d5ef81c pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x6d610eee pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8747a0 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x6d94f186 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x6d9e2ed1 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6da11a69 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbbb269 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x6dc43f43 imx6q_cpuidle_fec_irqs_unused +EXPORT_SYMBOL_GPL vmlinux 0x6dd463cd anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x6ddee050 usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x6de0dd5a get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x6de33f59 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6dfabed1 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x6e048a91 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x6e171250 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x6e30671d fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x6e30b165 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e640983 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x6e677f56 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x6e784fdd sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7eb329 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x6e85172e sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8c582e usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x6ea04f04 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x6eaa7e56 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6eab7d09 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x6eb12aab free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x6eb2f51f devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6eb3f038 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6ebbd801 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec37c24 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0x6ec8f4e3 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x6eca7f21 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x6ee13683 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eee7381 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x6ef13789 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f0143e3 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x6f06423c bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f2d2c6c gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x6f2ee524 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x6f3e2e13 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x6f42b9f2 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x6f584a28 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x6f632e11 imx_pcm_dma_init +EXPORT_SYMBOL_GPL vmlinux 0x6f66d6d9 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x6f79ccee snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6f7ea16d pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x6f91e355 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x6f930a60 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x6f9a36cc fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fb7e313 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x6fbfdb6f wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6fc71bd5 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fdfdc64 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6feb3223 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x6fedccf4 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6ff21710 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x6ff2c46e tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x700a3b7c devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7018046f wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x70296c80 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x702ad114 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x702f1d00 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x703901b7 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x7046fa61 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x7053d0ac irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x7055e4f6 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x70566a5c snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7095fc91 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x70b1a91e __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x70b5f718 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL vmlinux 0x70c4ea76 ata_bmdma_port_intr +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 0x70f41724 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x70f66da1 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x710c07cd scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71140b9a sdhci_pltfm_free +EXPORT_SYMBOL_GPL vmlinux 0x71292311 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x712ec32d dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x71330b3f tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x713ea8e7 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x71421fbc power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x715ec96d usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x71767d9d mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x717772e1 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x7189910a blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x718f1ba6 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x7191069d thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71996305 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71ac80c1 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x71addd63 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x71bb06e9 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x71bf4aef task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x71c9e68e pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x71ccd079 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x71d3acb5 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x71e9ee16 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x71ea99e6 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x71ed451a dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x71efbdb5 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x720e7f1b __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x72102ec9 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x72117626 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x722974dd dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x722bb820 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0x725199db regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x72542af4 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x726a8892 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7289b09f blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x729634fc usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x72aee1ad sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x72b299e1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0x72d8611e pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x72f82426 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x72fe4a41 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x73161288 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x734e6517 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x73503427 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x735deb3e of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x735faaee vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x736094d5 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x738022a7 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x7395fdbd dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x739d0b99 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b98231 asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73dbefdb crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x73e44929 nand_reset_op +EXPORT_SYMBOL_GPL vmlinux 0x73ec0c04 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x73fa44fc irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x74019bd8 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x7419c56a imx_pcm_fiq_exit +EXPORT_SYMBOL_GPL vmlinux 0x742bf820 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7444d606 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x745000e6 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x745b0874 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7479381c tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x747ad389 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7484733e cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x7496370b skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x749aaa74 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x74adec3b sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL vmlinux 0x74b201d6 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b9d37b nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bf65ff tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x74dc43db devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x74ebeb96 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x74fc9ef6 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x75009986 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x7513b5ec __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752457d7 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x7527f727 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x7541023e crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x7542805d pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x7548c6b2 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x755ae103 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x755ae3c8 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x7563e57f usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x758073e3 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x75933297 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x759afda6 snd_compr_stop_error +EXPORT_SYMBOL_GPL vmlinux 0x759e7e93 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x75a87db2 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x75ae76b1 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x75b2c65c crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x75b59200 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x75bf6cc0 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x75c2cf98 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x75c78ec6 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75dce9e0 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e02fc9 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x7609244e snd_card_ref +EXPORT_SYMBOL_GPL vmlinux 0x7609340a usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x7611abd4 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x761828d1 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x762d4018 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x76553a76 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x766a7581 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x769e7c47 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x76a1537d device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x76a508e2 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x76c1743c usb_gadget_udc_reset +EXPORT_SYMBOL_GPL vmlinux 0x76ccec5d pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e10a88 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f0acf0 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x76f1b610 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x7708bb68 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x771838b8 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x771a869e regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x77210336 usb_gadget_activate +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772cf59e sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x772e2c26 xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x772f7be7 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x7731e573 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x7739c978 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x775711aa rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775eeb1c sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x77749474 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779a929b shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x779ff8e2 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77a26828 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b46ffb usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL vmlinux 0x77b6fe1b blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x77c34982 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x77d16507 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x77d5fd7b device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x77df2296 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77f40a56 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77f73e5d sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x77fbc38e xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x78111a78 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x7823f5dc sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x782886d5 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x782fda74 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x78421dfd gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x7843901f ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7847fce2 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x784e39db of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x785a623e driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x78606256 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x786d5569 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x78874974 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7889440f thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x788f1dfd dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a9e82b cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x78ae4b78 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x78cb626e kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78de1104 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x78f1e56c dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x79003a6c devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7905593c ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x790ad039 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x790b743d regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x79120532 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x793a93dc raw_v6_hashinfo +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 0x7962f6d4 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x79639da9 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x796df45b ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x7980714a rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x79aa849c blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x79ba3b73 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x79cabd4c scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x79cd9544 nand_write_data_op +EXPORT_SYMBOL_GPL vmlinux 0x79d71690 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79dfbc2c crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x79e5b16d pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x7a087115 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7a0e8a42 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x7a165bc9 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7a1d672c fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x7a20cebe public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x7a252444 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7a2aea2e __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7a359ddb dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x7a45608f bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x7a48d06c cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x7a4b335c dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x7a51fe04 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7a5392eb of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x7a646d6d thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x7a71d904 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7f1396 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a95ad13 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL vmlinux 0x7a9ce246 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x7aba3a49 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac38e85 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad5db72 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x7ae17523 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7af2e557 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x7b0de974 tps65217_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b2a733c devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7b362082 nand_ooblayout_sp_ops +EXPORT_SYMBOL_GPL vmlinux 0x7b3852be devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7b3d3c62 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7b4c67ad crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x7b552e9f mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5dae80 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x7b6fada5 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x7b7c5050 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x7b7dce4b user_read +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bb371dc alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x7bc90ea0 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7bcfcd5b cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7bfb2e94 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x7c02d513 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7c447037 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7c485d62 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x7c4f3b96 cci_ace_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7c58e5ab tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x7c594545 musb_set_host +EXPORT_SYMBOL_GPL vmlinux 0x7c5b58f0 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x7c5cc929 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7c754ae2 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c8204eb sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x7c8b0cfa fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7ca44af2 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x7cadc117 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL vmlinux 0x7cc431ba crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x7cc7db13 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cdb0996 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x7cdbef11 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ce52fd1 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x7ce96756 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceb19e0 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x7cf0a04b mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x7cf64378 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x7d08f022 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x7d258366 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x7d30e151 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x7d3b820f kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7d41abaa call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x7d4a9bc8 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5a9d37 blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x7d6bb7b7 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7d70ddbe amba_ahb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0x7d7f62d7 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7d8d6bde regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x7d9a7b94 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x7dbd9ad1 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x7dc0b6dc sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7dc61874 usb_gadget_connect +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de6aa06 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x7dfb9441 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x7dffc68b iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7e069751 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x7e08d3c8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7e11d5e2 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x7e245950 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x7e353f3f virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x7e41c208 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7e592bf7 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e5e9f85 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e73fec4 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7e79b13a sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x7e7c71ab ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x7e7d2ec7 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e901950 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x7eb00a3f usb_gadget_giveback_request +EXPORT_SYMBOL_GPL vmlinux 0x7eb2c93c xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7efaacd6 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x7f1210b4 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x7f1844d5 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x7f198509 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x7f230e4e snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x7f3e3327 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x7f415f9e dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x7f4218ff bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x7f627664 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f8dd2bb bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x7f93d87f tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x7f97a67e uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fa1bdce sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x7fa4e662 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x7fa720a6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fb5dce4 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x7fc305e4 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x7fc92886 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fee9dab alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7ff2b39a __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7ffbd1d8 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x800d47b5 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x801038be i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x801daf95 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x801eb65d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x804133b3 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x8043eadd irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x80490a9b of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x80669740 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x80746ec6 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80b17b75 omap_get_plat_info +EXPORT_SYMBOL_GPL vmlinux 0x80b7433f phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x80bc76f3 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x80c09e60 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d023c2 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x80d08604 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80da817c __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x80db5947 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x80de9a38 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x80e66133 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x80f7d128 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x810ce2b3 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x811ac5b5 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x813d20d7 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81502de5 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x81512c88 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x81560aac ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x816add99 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x816c0bbd crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x8170ee87 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x81757acc ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x817d2ae6 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x8190eb85 thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8193a241 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x819fcbe0 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x81a8fcd2 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b0c7eb pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x81b122db dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x81bbc360 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x81c1d7c2 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x81c65302 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x81d3ac04 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x81e372f8 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x81f2b867 dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x820dc667 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x820e20f5 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x821c6987 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x821d5c52 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82213df5 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x822f21a9 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x824f900a sdhci_pltfm_resume +EXPORT_SYMBOL_GPL vmlinux 0x8255d561 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x82561d59 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8263380c sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x827b5fd0 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x8287ec83 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x8290d137 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x82bb3f77 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82d8fca6 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x82e598a4 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x82eaa170 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x82eef6d6 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x82f209b0 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0x82fad98a inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x83196205 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x83251154 musb_queue_resume_work +EXPORT_SYMBOL_GPL vmlinux 0x8328d2e9 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x832e31f0 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x835023be platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x83680a09 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x8381cbf7 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x83a4c9a4 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x83ac172d tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x83b0fc5d pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x83c82fde mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL vmlinux 0x83e52eba regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x83e90021 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x84036a73 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x840d0161 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84194175 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x841967e9 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x841b8455 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8420569a usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x8435361b pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844712df perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x844ff557 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845aa3dc lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x845b2069 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x845f23c3 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846a54ec i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x847b35d3 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x848994cd pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x8492e895 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x849b9edc debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x84a202f8 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x84a3601d sdhci_cleanup_host +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84aefa5a usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x84b2d569 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL vmlinux 0x84b6e3bd snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x84bf4eb5 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x84c0f874 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x84d3fc1f __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x84e4fe86 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x84e9b5b6 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x84ecde6f kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x84fdb70e simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x850270d1 tps65217_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x8504bb75 devm_nvmem_cell_get +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 0x852126f3 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x85444222 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x8548e450 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85727967 ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x8575c3e2 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x8580988f snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x858f02df gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x85988e51 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x859a4b16 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x85a1281d crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85a837ec usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x85aca8ec user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x85acb812 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x85b06317 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x85b37c15 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x85b3f3cf inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x85b704e8 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85d61389 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL vmlinux 0x85ea221e ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x85f556a9 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x8603cb14 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL vmlinux 0x860b4818 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8618046e regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x8635af70 imx_pcm_fiq_init +EXPORT_SYMBOL_GPL vmlinux 0x863821c3 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x86442703 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x86457ce9 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x864a57d2 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x8665230b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x867059f0 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x86858d9e crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a3593f _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x86aab207 of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x86b3152d pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86b36aa2 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c6e90e snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86e55965 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x86ec97ba i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x86f0b787 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x86f2d1ab pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x8705ec79 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x8721f34f spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x872a6a88 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x875a8b5b usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x87619b37 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x877d3ac3 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x878fdd29 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x879eb835 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x879ebf16 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x879fde0d fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x87a5b17e led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x87a63201 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x87afcfb0 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x87b2b34e __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x87b7d617 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x87b9cab8 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x87c33135 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x87c4f1ca usb_ep_fifo_flush +EXPORT_SYMBOL_GPL vmlinux 0x87c5ccad device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8805a073 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8805d2d3 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x880c22ce blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x880ef295 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x881d11f1 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0x881dee5e gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x883ca9d7 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x8840cc21 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x88532e6e snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x887f0307 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x888e187b blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x88997d6f soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x88a96f09 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b22a4c devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88b8324d pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x88b91d9f page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x88d6374f __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x88dfdd1d kick_process +EXPORT_SYMBOL_GPL vmlinux 0x88e93a46 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8932d3dc netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x8935fb95 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x8936789c pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x8939da1a kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893cd975 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x893ec7e6 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x89436f1e efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8976abbe fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x89781f4b snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x8978659f gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x89842c36 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x8996a36f regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x89b0c9ac register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bef563 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x89bfe270 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x89cd6a0a fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x89dd3c52 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x89e9518a edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x89eac7a2 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x89ec4431 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x89fb693b pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x8a0f05a4 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8a33f9f2 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x8a37e30d usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a5c3855 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x8a60c94a trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a68e5f1 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x8a715906 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8a719f1c devres_add +EXPORT_SYMBOL_GPL vmlinux 0x8a78e373 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x8a7ca372 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x8a94cb23 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x8a99d082 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x8aa02161 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8aad89f7 exynos_get_pmu_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8aae9173 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ada4e42 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x8ae468ba snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL vmlinux 0x8aee667f devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b212116 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x8b2a2b41 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8b31e044 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x8b4277c3 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x8b44e3b6 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL vmlinux 0x8b510034 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x8b529ce4 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x8b6d12ff transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8b747a9a edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x8b7e8d0a posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x8b887aa9 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x8b8dc35c fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x8b8e7eae gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x8b91f7a7 nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0x8bb77838 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x8bb93a40 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x8bc8aaa9 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x8bce9646 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x8be9d694 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x8bf471ea ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0e4b12 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x8c2921e2 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c47c4d2 devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8c49fae5 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c4b9425 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x8c68d301 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x8c6ddc1e mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c778fd8 nand_prog_page_end_op +EXPORT_SYMBOL_GPL vmlinux 0x8c7bd877 __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8c840e49 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c8b428a securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8caa3112 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x8caeeeaa rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8cb3c02a sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x8cc11cf9 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x8cc7c325 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x8cda25d8 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x8cdba6c3 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x8cfe9273 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL vmlinux 0x8d032c32 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d3b4c77 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x8d3d4d91 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x8d423ce7 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x8d538279 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d657f30 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x8d6ae02b tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x8d7bc776 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x8d7cd3a8 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL vmlinux 0x8dc11669 lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0x8dc80ae4 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x8df8a39c register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x8e00e816 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x8e10ecd0 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x8e125729 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e333da5 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e51a3c7 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x8e907f14 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8e92bbca pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8ebb2052 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x8ee1cc38 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8eeb3e0a scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8eeef22f device_register +EXPORT_SYMBOL_GPL vmlinux 0x8ef58fbb bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x8effb6c0 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8f0503bc cpts_register +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f18293f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x8f1a8cf9 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x8f2ba46f blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x8f2cc59a regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x8f3193aa ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x8f4423d1 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x8f4cdffd irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x8f5717ec device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x8f57bd4e __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x8f5ffc10 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x8f617544 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f714557 sm501_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x8f725e67 probes_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f835f18 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x8fb56782 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x8fcff898 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x8fdad3c8 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x8fe97ce2 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x8ff02896 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x8ff6b302 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x900a86a8 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x9012d9f3 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x9014e951 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x90172140 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x901c6c99 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x9020cdc9 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x902ac05b thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x9035248c ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0x90396f5b pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x9039fbab pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x905436b1 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9057b8ff usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9062c72b usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906dd327 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x907f9983 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x9080862e pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x90809f6e crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x9083ca96 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0x90858c07 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x90949afe platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x909bc30e serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x90b8c7f4 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x90bcea94 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x90c60f4d dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x90e297e5 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x90e810c8 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x90ec0b50 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x90ee1afa led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x90f833c3 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x90fe57ac crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x91166960 of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x9118f3ba register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x9129dfbe dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x912bb752 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x91519a16 dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x915a7ee7 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x91637e86 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x91693c72 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x91746c81 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x917884d8 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x917fddbc serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x9192e483 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x91938636 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x9195896c phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91d8c1fd of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x91f5df54 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x91ffa81c sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x92088aa8 sm501_unit_power +EXPORT_SYMBOL_GPL vmlinux 0x92199ed7 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x922181db ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x922de7c7 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x924d6d9e tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x9282f433 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9285ceb2 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x928887c4 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x928e16fd dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x929d19ba spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x92a134ca fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x92a38759 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x92b472b7 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92bc8d59 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x92d1d02a fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e4535c pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x92e69a23 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x92e819c2 net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x92ef96de usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x92fa0a2d pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x93182a59 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x931b060a ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x933756fb __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x934d806b skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x935a8009 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x935ceb8a thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x93805369 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x9380b404 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x93893523 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x9396c787 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x93b39a75 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x93d7b4e0 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f6af0c power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x93fb695d perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941a9e08 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x941ac038 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9426d460 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x94565d24 usb_ep_free_request +EXPORT_SYMBOL_GPL vmlinux 0x945b60ed usb_gadget_set_state +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x94700ac1 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949c0308 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x94a2b872 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x94abb745 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x94ce47c3 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x94d47197 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x94e283b7 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x94e28f5a verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x94e7c26f extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x94fc9843 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x9501aaeb mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95105fae __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9516f187 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x9516f27b sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951d9665 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x954abe0d trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x954f5725 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x954f8d74 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x9559fbbc subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x955abe3c regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x9560ea28 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x957759ba snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL vmlinux 0x9579be83 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x959fb730 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x95adc786 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x95aed8fb scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x95b4ca0f devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x95b93b19 tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95bed383 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x95c643d3 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x95db34cc kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x95de8b5e mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x95df62c2 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x95e0ceec snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x95eed9db usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95f33b79 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x95f73c6b blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9639462b pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x964ea2e6 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x965b75a2 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9668045d devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x9668ae48 mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96901290 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x9698e812 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x96994b4f vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x96a2e07b sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x96b36508 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x96bce2f2 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x96c536d4 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x96c848b8 nand_change_read_column_op +EXPORT_SYMBOL_GPL vmlinux 0x96ca63f5 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x96cb1d0f snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0x96cf319d snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x96d3e448 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x96f1fa96 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x9701a991 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x971a3167 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x971d61f0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x97260d6b snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL vmlinux 0x9727b441 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x972b0a5f irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x9744edd8 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x974d4d87 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x97766bd2 of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x97901174 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x97981f7f iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x97b71dc9 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x97bc501b ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x97c3bd7b tps65217_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x97c8fb58 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e3a40c sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97e90f33 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x97fbc85b nand_deselect_target +EXPORT_SYMBOL_GPL vmlinux 0x981d374b pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9835ccfb of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x983ad52b pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x983c8aef cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x9840b461 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9841507b __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x98425993 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9862ab8b lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x98633a96 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x9873f5c3 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x9874814c dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988d4722 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x989516bc mtd_block_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x98a73a6e dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x98aff1fe devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x98d07364 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x98d8e1e6 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x98dd0444 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x98dd82d3 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f1d00a ping_err +EXPORT_SYMBOL_GPL vmlinux 0x98f35d29 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x991879d2 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x99365a15 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x99377678 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x993865c0 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x9958482e iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99732307 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x9982b836 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x9983f573 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x99874eff tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x998fc36d perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99995968 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x99b064cb tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x99b2ed06 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x99b7191f dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x99c87cf4 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x99d2381e of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x99d7b6aa gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x99ea5f72 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x99ebcdb1 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x99eddb80 alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a048866 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x9a06c397 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x9a101bde ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a11b316 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x9a20cb7e blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x9a2b508c fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x9a31d96b pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x9a426408 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x9a487d4e i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x9a52f94f get_device +EXPORT_SYMBOL_GPL vmlinux 0x9a62d7a0 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x9a78340f regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9a788778 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x9a82cef5 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9a84a364 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x9a8d16e2 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x9aa2e814 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x9aa798ba genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9acacb68 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x9ad56d2d __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x9ad5738c inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x9adf8e2f fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x9ae9c3ae relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aed605f rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x9af3837b __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x9b082ba1 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x9b17e335 serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x9b28734d blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9b34ece3 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x9b4074af gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b646c79 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b7aba60 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b9c0582 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x9bafb3e0 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x9bc4d4f3 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x9bc7c6c3 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x9be03423 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x9be3b77a of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x9be772ca sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bed5f90 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x9bef8145 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x9bf654e6 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9c0902da gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x9c09de47 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x9c1b0b86 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0x9c1d5676 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x9c228fb9 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x9c2b88af get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x9c4d8eee usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x9c4f23f5 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x9c54da10 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x9c595eb0 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x9c610068 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9c6acdba mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c72c026 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c83d434 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x9c9d18dd inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x9c9ee4f7 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9cb9fada regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ccca9f4 sdhci_execute_tuning +EXPORT_SYMBOL_GPL vmlinux 0x9ce3afa3 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x9cf2e122 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x9d02a70c led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d11c467 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x9d2bb0af __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x9d34c766 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9d38f228 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x9d503cdc synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x9d601302 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x9d96815b lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9d9c01e2 snd_compress_deregister +EXPORT_SYMBOL_GPL vmlinux 0x9da78a04 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x9da79465 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x9dba64d7 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x9dce7fe6 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x9df10ab5 usb_ep_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x9dfdb645 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e016686 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e2aa1c1 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e65ed2b __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x9e794d5f tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x9e7a4b1f ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x9e7d0640 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x9e9d3d7b devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x9eba2c34 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x9ec8bbab iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9edd9601 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x9ee3d73b devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9ee5e40a __ktime_divns +EXPORT_SYMBOL_GPL vmlinux 0x9f03e00a dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x9f140889 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x9f24b5eb serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x9f4a51ca pci_remap_cfgspace +EXPORT_SYMBOL_GPL vmlinux 0x9f5259cf irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x9f6f1ebc snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL vmlinux 0x9f7e8e25 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x9fabd79d serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x9fb322f1 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x9fbcc94a pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fcec376 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x9fd25d69 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x9fd27dc7 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff2f1f1 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xa001878b pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xa00bc80e dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xa00e4912 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xa027a7c7 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xa029e28c mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0xa02f4758 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xa03b8286 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xa0433f73 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0618bfc __module_address +EXPORT_SYMBOL_GPL vmlinux 0xa07e2af2 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0xa08724b9 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0xa09a109f crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xa09c509a phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0xa0b69318 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xa0bb4611 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xa0f97f63 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xa103af7d nanddev_bbt_init +EXPORT_SYMBOL_GPL vmlinux 0xa124155b dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa1256d10 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xa14f17bb devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xa158ba4d devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xa164410b iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa171b22f rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xa17a5ee2 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xa1829764 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xa19c9e6f mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0xa1a5e7c7 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xa1b1cff7 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xa1ce50b4 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1ebedab device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa1f1bd3a arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa21b9a82 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xa2376e5c of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xa23f684b __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xa252376d fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xa252dc4f rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xa262343b null_dailink_component +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2729cf4 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2943564 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0xa2ba9add irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xa2bb6599 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xa2bd25da tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0xa2c31b2a proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xa2ce4d88 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xa2d39f0a ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e2490c wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xa2f24d70 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa2ff5cc6 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xa30c3a9d power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xa3221cf3 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xa327b4d4 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL vmlinux 0xa3350771 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xa336946f dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa3373290 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xa33744aa edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xa3436362 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0xa3454f4a device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xa345acdc fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xa346975c idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xa348fbe0 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xa34aba4f devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xa3630cee pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xa366988f skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xa37dfda8 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38d91b4 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xa398aded virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a5ee59 vchan_init +EXPORT_SYMBOL_GPL vmlinux 0xa3ade893 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xa3af5f2c hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c81c38 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0xa3dee4a0 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xa3e8dacf stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xa3e9ea1a serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f2f3be rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa3fa2db9 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xa3fabb02 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xa4022592 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa407992a sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa424d6ed power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xa42a48bd switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xa43f9d9b rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa4478743 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44fbefa __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45dc275 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa482b4f8 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xa4a194e1 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4c26897 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xa4cc19b3 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa4d00531 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xa4d42dcb nf_route +EXPORT_SYMBOL_GPL vmlinux 0xa4f84c7c sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xa4fab2ca inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa5041bb8 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xa5151bc1 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xa518b768 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xa5197df5 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xa519cef7 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0xa52f34c7 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa5321e56 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0xa53f0dd7 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0xa56245d6 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xa5b4b48a rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xa5d08727 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5e20d7a devres_find +EXPORT_SYMBOL_GPL vmlinux 0xa5e584e2 mvebu_mbus_get_io_win_info +EXPORT_SYMBOL_GPL vmlinux 0xa5e70827 snd_soc_find_dai +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f02c8a scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa60509ff devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa6074b63 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xa61ca95d pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xa61fb7a7 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa622a752 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa6295fb1 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xa643287d irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xa658ece4 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa65f23e3 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xa668d31e regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xa6a7b63e virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xa6aa1a46 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b49539 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa6c623f0 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xa6d43bf7 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e74cfc edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0xa6eadc9f devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xa6f39a14 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0xa702b9e7 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa70d00bf fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xa725b74e kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xa74eb46f gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0xa75f9d06 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xa7691451 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xa7802e2e btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xa7a0d6bf walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xa7aaafde klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xa7be2067 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xa7d1cbd7 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0xa7e6be49 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xa7ed5fa0 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xa7f26742 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xa8230190 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xa82b84e2 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL vmlinux 0xa82f987f usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xa843c5e2 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xa84681cb usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8522e4c clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xa856935b i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xa85d8364 phy_put +EXPORT_SYMBOL_GPL vmlinux 0xa86d79a6 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xa888f916 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xa8953448 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xa8960d7d snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa897e176 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xa8a66cfe pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xa8aa5c44 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8c5365c pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xa8cb4cbd cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa8daa0b8 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa8e83652 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xa9053ae0 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xa90a824e serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xa9145373 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xa9157dbe kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xa92b7803 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa93a0718 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xa93aed7b class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xa9598332 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xa966398a cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0xa969a800 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xa981adfe pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa9951a52 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a998c7 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xa9be42cd crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa9ce0f61 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xa9ce82c9 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xa9d95113 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xa9e05660 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9f7a941 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xaa109207 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa41a097 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xaa44acff omap_tll_disable +EXPORT_SYMBOL_GPL vmlinux 0xaa691089 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xaa6e457f lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0xaa70078f device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xaa77155b irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xaa7acf78 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL vmlinux 0xaa88ba94 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xaa8acf6f serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0xaa8aeac8 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaa8b0ffb tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xaa8f8c49 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xaa933937 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab710b6 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xaacb4365 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaacd94fd irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xaaea46e5 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xaaecf75d perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaaf4c48e udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xaafbffb9 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xab138233 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xab139a61 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xab159b75 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xab17930b sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xab4c9dac __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xab4f30d0 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xab4f4b32 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xab57b39a vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xab7eecdc mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL vmlinux 0xab8c09ca of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0xab941ef3 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xab9e61f7 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xabaa1762 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcda29e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xabcfa03b __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xabd33c8f sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0xabd550fe i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0xabe88aec alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xabefbd07 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xabf30cf9 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xabf86863 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xac2a97ab hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xac2df034 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xac390617 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0xac39edd7 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL vmlinux 0xac3b1863 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xac40d20a snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL vmlinux 0xac483254 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xac59420a debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xac63c438 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0xac6718fc ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xac6a301c pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xac7689f9 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xac881f79 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xac8c849e cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0xac97100c bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xac9d292a __put_net +EXPORT_SYMBOL_GPL vmlinux 0xaca01af7 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacd01a23 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xacf7734b sdhci_pltfm_init +EXPORT_SYMBOL_GPL vmlinux 0xacfcbe5d devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0xad0e7bcf tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xad1ac892 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xad2a6e24 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xad312009 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5f1e8b usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad667e4b devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xad72cd3c ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xad792359 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xad97627c fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadcb9974 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0xadd588d6 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xadd78e16 icc_put +EXPORT_SYMBOL_GPL vmlinux 0xadd7a96e of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xaddc1760 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xaddd59e1 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0xade0f162 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xade317a6 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xadf9e33b pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0xae0a9fa2 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xae0c5267 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xae147941 snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL vmlinux 0xae180823 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xae1b3c37 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae4c1249 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6b4e14 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xae770f07 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xae78b410 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae8261e6 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xae8799ea lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xaea108eb nand_ecc_choose_conf +EXPORT_SYMBOL_GPL vmlinux 0xaeb26b05 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaec3f78c bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xaec6bd93 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xaee444d1 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xaee6ea1b thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xaef4763a sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xaf02daca dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xaf0a94c3 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xaf237db2 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xaf26838a dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0xaf31ec4f tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf41fc8b gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0xaf5271e7 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xaf52bb11 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xaf55577d sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xaf5d2703 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xaf6fbed0 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xaf843cde serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0xafa64ab5 sdhci_set_clock +EXPORT_SYMBOL_GPL vmlinux 0xafbb47d5 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xafbf2579 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xafd05c56 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb00b073e netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xb00e7712 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xb0232477 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0xb02aca3e led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xb0311858 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xb03e8cc0 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xb04d1f7b perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xb0536666 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xb06bae71 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb07e9341 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xb0ac4855 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0xb0b7f363 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0b87947 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xb0e74f1f bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb0ff4613 ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xb103e4d6 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xb1047066 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xb10941f7 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0xb10b267a __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb111d191 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xb11625b9 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1239949 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb17376f4 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xb17d4c2c skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0xb18110e0 __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18550bc pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xb18daabb icc_disable +EXPORT_SYMBOL_GPL vmlinux 0xb18f0a4f virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xb190836b ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb1949139 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0xb19842fa dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xb1a44c6e devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1d1e0b7 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ef173c usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb1efb293 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xb1fc4aa6 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL vmlinux 0xb20af5b3 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb230edb7 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xb234a6eb perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xb23d20ae snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24fd1ff component_add +EXPORT_SYMBOL_GPL vmlinux 0xb2595ff0 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb27e87f0 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb2895374 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0xb28b5283 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xb29e9373 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xb2a8f10a usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xb2be84bc dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2dbd4b3 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2fadc38 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb319d6af ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xb3229737 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xb32e97f5 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xb3300d39 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xb33af429 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xb35105a2 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb36d1845 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0xb378559e freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xb3827f51 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xb385fb77 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0xb39483ea dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xb39c7cf9 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xb3a1e470 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xb3a24f1e pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0xb3b2618a rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xb3c3a6e7 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb3ee0ebb ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xb40c6376 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb40ee6b7 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xb4118d14 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb417c261 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xb41c5b2d srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xb4256c3a devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xb42f8d77 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xb4375ce9 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44d42f3 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb459ae26 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xb460d4a1 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xb46ac390 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb46bd6c2 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xb47f16f6 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xb48b6c0c sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xb48c9f4b of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xb497f530 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xb49cd104 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL vmlinux 0xb49de221 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xb4a5cbf9 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c0daa0 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xb4d9c81b iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f685d3 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb4fdbcfa device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xb4fe4ccc __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xb506c484 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xb518037e snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb521e707 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0xb5444b51 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xb54dfdce da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xb55e262f blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xb56bde6d badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xb5a373e5 efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xb5d37236 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xb5dcd8a0 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xb5e26368 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xb5e42f24 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xb5e985ef regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0xb5ea2861 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xb5ea33ac regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xb5ea5378 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xb5ee5581 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb5f39ad4 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xb612dee0 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xb614ce13 __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6263a3a devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb638193f debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb6496d2c snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL vmlinux 0xb658078c snd_device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xb66bf0e0 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb68c6d5a mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xb690bc99 blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xb69118a5 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb6a5462a phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xb6a76ccd pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb6a9a5a4 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xb6b556ad sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6eff07c blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xb6f16ab8 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb6f477ef power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb6f4b5b5 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xb6f6ecd3 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xb6ff718c tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0xb7043eff mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xb708e5d5 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xb71def70 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb74538d2 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xb7491c17 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0xb7584a6d pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xb771e6b7 bL_switch_request_cb +EXPORT_SYMBOL_GPL vmlinux 0xb77db4cd software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb7801644 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL vmlinux 0xb78bd0d7 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xb791b9c5 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xb791bf4c cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a3eff0 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xb7b1ffe7 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL vmlinux 0xb7b3e24d bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xb7b81fa2 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xb7baf2a2 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb7bb0b49 usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0xb7be3253 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb80c9afc regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xb81df9aa regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb82300dc ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xb82566eb omap_tll_enable +EXPORT_SYMBOL_GPL vmlinux 0xb835bd45 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb861e569 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xb873e78f edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xb8752e4d __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb87c099f tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xb882a127 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb88e3c3d devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xb88fe902 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xb897e818 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xb89a8bc7 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xb8b819f5 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xb8c34471 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d48f56 user_update +EXPORT_SYMBOL_GPL vmlinux 0xb8ea5388 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0xb8f76afc rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xb8fc5cf5 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xb8ff9325 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xb9028c30 sm501_misc_control +EXPORT_SYMBOL_GPL vmlinux 0xb90a1fcd rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xb910d4f4 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb9138620 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0xb9176155 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb923f8fb devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xb927f41b sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xb9295d7f handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xb9331533 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xb93df036 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0xb946145c proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xb94af719 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xb953379e pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb992f634 mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0xb99a93f5 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb99d3629 synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xb9a8939d pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0xb9ad78db iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0xb9ae8196 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL vmlinux 0xb9b15f6c scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xb9b26eff of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0xb9b62d22 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bee140 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0xb9c1882d nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9c9d7bc lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xb9cd906f hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9dd1862 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xb9de174f skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0xb9e87b94 bL_switcher_trace_trigger +EXPORT_SYMBOL_GPL vmlinux 0xb9fd8d46 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xba05caf5 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0xba0c4ad7 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xba109bfd pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xba12a81c nand_reset +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba3b26f9 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0xba472b9c icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0xba4ed735 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0xba57be09 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xba62c1dd br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xba6c67f0 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xba761493 iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0xbab259cd cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbab742da usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac45995 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0xbacd1e36 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0xbace3461 usb_ep_disable +EXPORT_SYMBOL_GPL vmlinux 0xbadb57b4 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xbae26663 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL vmlinux 0xbaee48bf led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafbdc6c iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb125f23 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0xbb190836 ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbb1a4e98 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xbb1f7e14 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xbb3e17da ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xbb3f5ea7 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0xbb458510 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xbb4c7570 pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xbb5e6fc7 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xbb67b567 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb703f50 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb79f603 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0xbb85e0d9 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xbb8be128 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xbb902505 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xbba3f4b0 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xbbaaa14a thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xbbbb6c9c pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbbdfa436 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xbbe91e70 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xbc0a59f8 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xbc0a9c7d dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xbc1e6f7f handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xbc2680ea device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xbc337e4a rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xbc41ed44 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xbc59d29f vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xbc63159d ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xbc63ae62 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc89e91f mtd_read_oob +EXPORT_SYMBOL_GPL vmlinux 0xbc98943e vfs_write +EXPORT_SYMBOL_GPL vmlinux 0xbca484e9 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xbcae2a10 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccdbb08 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcdb5e8a sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcdfa9cc led_put +EXPORT_SYMBOL_GPL vmlinux 0xbcebcb70 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd32657d power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd495b8f devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xbd688b78 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbd83629d ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xbda009bd lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0xbdb3d02d cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xbdbdc6d9 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xbdbfe415 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xbdea612e sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xbdefd597 cpts_create +EXPORT_SYMBOL_GPL vmlinux 0xbdf8e349 icc_get +EXPORT_SYMBOL_GPL vmlinux 0xbe0e5f3d usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0xbe1d3214 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe341dbc bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xbe373db3 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xbe444a5d of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe72e9c4 blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xbe796ce6 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xbe7c9f77 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xbe85a18c snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0xbe886a89 wakeup_source_register +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 0xbeabad34 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xbec5473b usb_ep_fifo_status +EXPORT_SYMBOL_GPL vmlinux 0xbecf491a skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xbed02bf0 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xbed9eb5b crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xbee74a17 sdhci_reset +EXPORT_SYMBOL_GPL vmlinux 0xbeed6a1d mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xbefb53aa register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbf025f87 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf168d13 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbf1d3b05 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xbf26e905 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xbf47b7c1 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xbf4eedd2 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xbf55408f regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbf5cd8da sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xbf657f19 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf77e4f8 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xbf785860 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xbf8b0742 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0xbf970977 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf9a1ccd put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xbfa94dec rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfcf5a8b ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0xbfdb4ca6 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xbfe46115 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfe5a113 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xbffce09b rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc0091546 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc018e1a0 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xc02fb00a icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xc03123b3 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc03459ea usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xc03c5306 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xc0420b23 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xc0583e20 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xc059d383 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc0655d85 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xc06b77b3 __cci_control_port_by_index +EXPORT_SYMBOL_GPL vmlinux 0xc081c246 bL_switcher_put_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc0932aeb crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xc09db9aa simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xc09f2e1c usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc0a1f447 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b5e111 xhci_mtk_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xc0bb4969 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xc0c2dd63 snd_soc_dapm_init +EXPORT_SYMBOL_GPL vmlinux 0xc0d65e5c da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xc0dbab37 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0e75cec visitor128 +EXPORT_SYMBOL_GPL vmlinux 0xc0e8195d uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xc0ede07a sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0feb4bf crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc0ffc354 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xc0ffd73e iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xc10655da xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc129566a unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xc1328a21 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xc140ebfa rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0xc149b0a3 tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0xc1605c07 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xc1651448 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc1910e07 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0xc19c3a66 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc19dce38 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc1aa05f1 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0xc1ae77f7 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0xc1af0809 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xc1d0cf3c icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0xc1ddaf65 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xc1fa9c06 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc1fb3817 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xc1ff5711 setfl +EXPORT_SYMBOL_GPL vmlinux 0xc207f7ed device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xc21853d0 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xc21b3cca devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc22241f0 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL vmlinux 0xc222ead3 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc231e988 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xc268e1dc thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc27613a7 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xc27dc7f5 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xc2800785 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2af8728 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0xc2c35aa2 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc2db7e18 xas_find +EXPORT_SYMBOL_GPL vmlinux 0xc2dccf2b device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xc2fd5a42 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xc30bf6ef fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xc3111c12 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xc322a2ea devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc341b41d devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xc35393a6 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xc35b5be4 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc3a2aa36 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xc3b04fe5 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xc3b98b18 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xc3be7fe0 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xc3c07b40 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3ca7e59 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xc3d0c709 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xc3d9d837 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3db9f8c gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f06d86 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xc4005ebb ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xc4206cd2 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc4212403 iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42d4f22 mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0xc4419009 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xc443f5d5 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc44a3457 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc4845bff snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL vmlinux 0xc4895b6f do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4937fde ti_clk_is_in_standby +EXPORT_SYMBOL_GPL vmlinux 0xc4a7bf3e dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xc4cf2420 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xc4d1d196 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc50ec512 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc524bdbd virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc53eb506 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xc5445bf8 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xc54e6a50 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xc556908f blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xc559e29c __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +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 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc596c8dd nanddev_bbt_update +EXPORT_SYMBOL_GPL vmlinux 0xc59acada component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xc5adea0e mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0xc5aebe1d devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xc5af5589 sdhci_setup_host +EXPORT_SYMBOL_GPL vmlinux 0xc5af8b77 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc5b1c23d bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5b41881 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xc5d74c41 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xc5db50c7 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xc5e2b059 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xc5eaa0a7 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL vmlinux 0xc5eccb65 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6008eb3 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xc60c2a5c bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc628bc21 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xc62c95ee driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc656be2c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc657642c __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xc65a634b gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66b7a0c devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xc66d881a pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc6794bd3 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6b7e8d1 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0xc6c3ed50 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xc6ca0318 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc6e667f1 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6ef2724 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0xc6f77a1c ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc70dcf14 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc73b55a4 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc7569dc5 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0xc7578332 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc771f25d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xc773997d fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xc779799f pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc7817ad7 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xc788c31d tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xc789352b nand_prog_page_op +EXPORT_SYMBOL_GPL vmlinux 0xc79144f5 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xc7938fe8 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc795bc7d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7be666f __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xc7f5c5cd dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc8254dd2 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc83a4e54 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc848d8dc usb_ep_queue +EXPORT_SYMBOL_GPL vmlinux 0xc848f1db register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xc849a39b rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0xc84be50a raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xc8539d4e ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xc853abba irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xc856227d thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc876d513 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xc8789b73 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xc8819bda crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0xc8a09f78 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xc8aff618 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0xc8b47152 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc8d2c442 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc8d81f86 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc9009f92 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0xc907308e ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc91acfd9 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0xc91cb980 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xc9324149 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xc93b3d2a iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc944635b iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xc94587ba xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc96d3ff8 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xc96fb674 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc97c86ca phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xc97ebf5b wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc98bd081 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc99cdf22 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xc99f0ffb devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0xc99fe395 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xc9a228ce property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0xc9a8d183 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0xc9aa1203 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xc9ab47f9 component_del +EXPORT_SYMBOL_GPL vmlinux 0xc9c1f42f unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xc9c85040 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9d393da sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xc9e6c0a7 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ef99d5 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xc9f7d72f __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca04f0a5 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0xca1d0e09 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xca2ec968 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xca33b5a4 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xca368aa6 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0xca3aa788 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL vmlinux 0xca3ab270 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0xca3b6c47 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca59ed41 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca94b7c5 snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9bc784 do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0xcaafe15a arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0xcab35187 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xcabcc51c ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcabe1206 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcad805df efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0xcade6d41 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xcadfc2ee d_walk +EXPORT_SYMBOL_GPL vmlinux 0xcae04983 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xcae65923 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xcafccc75 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb343e08 arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0xcb36e903 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb706581 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0xcb8fd8d5 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xcb92c256 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xcbcd9f61 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xcbe11a8f serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbe5de29 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xcbfad2b9 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xcc116b2f pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xcc1b3d8d devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xcc1cec0e power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xcc20ac52 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc390f35 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc427bce regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xcc4f4a59 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xcc680c21 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xcc6a6f50 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xcc983956 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd0c02d devm_snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xcce1cd57 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccf5537f tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xccff4dd4 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xcd1050ae device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xcd209400 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd32cf12 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xcd40ba0c crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0xcd699a7d sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xcd6daae8 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd70dd76 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xcd75e395 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xcd7f238e ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xcd8368c2 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xcd845ad3 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xcd8750e6 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xcd8ca08a sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd95040c virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda0ec40 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xcda9c49a fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdba17bc device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcdc59147 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcde1dfa7 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xcdf3d7a7 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcdfb7613 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0xce03f511 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xce106d41 nand_status_op +EXPORT_SYMBOL_GPL vmlinux 0xce1ce7eb mtd_read +EXPORT_SYMBOL_GPL vmlinux 0xce39af2b pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xce3dcaa6 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xce48b6a6 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xce4d725e serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xce4f823a crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xce5143c3 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xce553d39 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xce562fd1 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xce5eb28c serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xce5fb452 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0xce67ad19 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xce6b4efa irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce93b076 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xce961f37 ahci_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xceaf8a6e dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xcebb8ec9 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xcebd3fa6 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcebe87a7 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xced0c8ce pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xced4242b ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xced6e098 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xcef4d5b4 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xcef901ac cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xceff09ba rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xcf0e71c2 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xcf25c51e regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf448143 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf59dab6 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xcf5ab8fb snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0xcf62bf19 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xcf7612ac tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0xcf803a82 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xcf88acb4 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xcf8a46f7 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xcf8b8a17 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xcf9d8ac0 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfa2fe84 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xcfb011ad ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcff8b925 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xd012e921 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xd016ecdb dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0xd01f41af snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0xd01fea64 __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xd02197b0 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xd03bb411 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd03e4cda sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd04a1d81 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd07d85bd snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL vmlinux 0xd0b07c06 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd0beba23 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cd319d devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xd0ce3ed2 snd_soc_lookup_component +EXPORT_SYMBOL_GPL vmlinux 0xd0d54cbe fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0e5ce7e event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xd0e66a0c spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xd0e6f109 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL vmlinux 0xd0eac9e3 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xd0ef0118 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xd0fd4c51 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xd108b8f4 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xd10a9161 xhci_mtk_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xd11db865 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd12159a7 stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0xd12944e0 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0xd12afe0d led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0xd136efcc irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xd142fe77 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xd164a76c __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xd1867490 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xd1962fcb rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd19b6c33 ti_cm_get_macid +EXPORT_SYMBOL_GPL vmlinux 0xd1a366cd blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xd1beb255 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xd1c1ff4e mtd_ooblayout_free +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cf045d device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xd1dd0f2c sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd1e6ac25 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xd1e6ecc4 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xd1eeb47d __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f7ccc9 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0xd1fa17ee xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xd20429bf devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xd208aa36 usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd20f6c3f tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xd21300ed inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21cb4fc alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xd22e53b8 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0xd24f7b9f usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd28182e7 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd2904032 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xd2922323 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd2a0288a __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xd2a3b316 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xd2a6d43e mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0xd2af5492 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b3d432 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xd2cedd8f dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2e1c731 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd2fbe33f snd_soc_component_read32 +EXPORT_SYMBOL_GPL vmlinux 0xd31197f5 sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xd3195388 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0xd319e85d dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd325f69a snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0xd3356689 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd3454acb led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0xd36d2016 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd3893099 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xd39071e6 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xd3950dce mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a56447 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xd3a6fa14 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xd3c1fe1c usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL vmlinux 0xd3cd8cb0 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xd3dc0312 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xd3f19508 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd40083f3 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd41bf36b noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL vmlinux 0xd423c18f pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xd43abfd8 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd46761ac tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xd467b82d edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xd46a2292 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0xd46da988 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c58ba4 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fad0 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xd4da66b3 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd4e640a8 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f2ce54 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0xd4fbd2c5 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xd52cc047 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd532f57a blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0xd5427cfb tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xd5450fb3 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd54c6539 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd55e300f mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd56bdf2c nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xd570395b pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xd58c8c87 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xd58d0211 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59e5e92 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xd5ac24e5 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xd5caf189 of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0xd5cafaac gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xd5cdbd64 mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0xd5d5e193 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xd5e2423f percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0xd6125b94 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd6164816 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0xd61fa2fa debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd6254911 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xd62b5179 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xd63b3046 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xd63ce82a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xd63f1da9 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xd6464ab9 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xd6474681 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xd648c6ca blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0xd64b17bf ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd65e02b7 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xd667b39a soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0xd6712951 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6972f5e crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xd69d5768 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0xd6a2c41d skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd6a6e4b9 nanddev_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd6acb7f0 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xd6afa28c led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xd6b28fc9 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6b63c71 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xd6b777d3 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xd6c4be84 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xd6ccbda8 nl_table +EXPORT_SYMBOL_GPL vmlinux 0xd6d5601f dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xd6db2c8a __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xd70af322 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0xd7237d45 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xd738387c vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd7478ca3 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xd74c4ed9 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd759bc9f kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xd75e4026 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xd763f868 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xd766e8f2 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76a680b inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd76ee409 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xd789362a irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xd792142d fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xd79e5b33 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL vmlinux 0xd7a78dc2 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0xd7a7a615 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd7b411cb __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd7b7b335 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xd7e1b40a pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xd7e35d61 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xd7f7a2cc scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0xd80f35ec pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xd80fbaf4 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0xd815f36f fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xd81bbe58 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xd821841d serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xd827438e xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0xd8393940 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xd842f308 cpts_release +EXPORT_SYMBOL_GPL vmlinux 0xd8441e1e serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84d6d61 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xd85c1b28 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd885bdf7 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xd88bcf37 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xd8b794cd snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xd8d24416 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xd8d654ca list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8da0add regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xd8dca8c1 usb_ep_set_halt +EXPORT_SYMBOL_GPL vmlinux 0xd8e990f0 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xd916eb82 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd91e0535 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd92b8015 security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd9394e88 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL vmlinux 0xd9423411 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd942c608 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xd952ef4a wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xd962b73c sdhci_set_ios +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd96e5fed snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0xd97170dd ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xd990395c crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0xd99d63d8 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xd9bfd9ad pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xd9c2fafa crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0xd9c57358 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xd9cff11e tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e328a2 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xd9e7efa7 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd9e98100 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xd9ef8c62 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xd9f3e65f __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9f8c7ba pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda013baf fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xda1129c8 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xda158ca5 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xda257024 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xda265645 __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xda26811c fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xda30a014 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda4c8595 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0xda4ef9bd synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xda52bed1 tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0xda7204a2 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xda89cdd3 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xda8cc3b9 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda8d7987 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xda938d6f __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0xdaa27dcd device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xdaa6c1a8 sm501_modify_reg +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab64707 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xdab9f4b6 dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0xdabb22f7 of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xdac55d89 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xdac72c8d iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0xdac8ffb5 nand_select_target +EXPORT_SYMBOL_GPL vmlinux 0xdac9a17e dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xdae58dfb handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xdaeeb113 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdaf89c42 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xdaf8b3e8 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xdaf9208e xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb0afa37 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdb1481fb sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb29caa9 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xdb359da4 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xdb3c1c58 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xdb3e333b snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdb5736a8 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0xdb5ae279 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb94caac snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0xdb9a899b get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdba22696 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xdbb4b0ba platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xdbb81a8a __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xdbbdf1f7 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xdbcacedc usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xdbd61ed4 __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xdbd90c2b security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0xdbe6f8e3 device_del +EXPORT_SYMBOL_GPL vmlinux 0xdbf7534b devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc1ae6ec securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xdc2ec8c7 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xdc33d117 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xdc4ba3d0 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xdc617f65 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc7ce353 mv_mbus_dram_info_nooverlap +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc86e59f efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9c444b pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca0fb7d pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xdca6c802 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xdcc83e88 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xdccd6e90 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xdcf005f8 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1db9e2 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdd1e8b3d dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xdd21316c nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xdd277a20 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd4d043d mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xdd5a5f70 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd83ae98 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0xdd85063c lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0xddb0a9b5 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddc05c8d tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xddc24e0c usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xddcbaf70 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xddcc31ae pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0xddd6a7be devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdde3af39 nanddev_isbad +EXPORT_SYMBOL_GPL vmlinux 0xddf8f5ab snd_soc_card_jack_new +EXPORT_SYMBOL_GPL vmlinux 0xde032ee6 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0xde199a92 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xde1c29ed serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xde25f88c __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xde2a7a6d of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xde2e5aef phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xde3b14c7 sdhci_set_power +EXPORT_SYMBOL_GPL vmlinux 0xde414505 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xde55b5db pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xde6168a4 mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0xde6834d9 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xde69d98f nand_read_oob_op +EXPORT_SYMBOL_GPL vmlinux 0xde6b9d5d ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde8094d5 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xde86bf19 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xde889533 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xdea3b04f sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeb01518 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xdebde124 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xded425b7 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xdedf835b mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xdee7af00 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf0fbdfe usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xdf255dcf memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf283e8d stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xdf2a25b2 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xdf2c487b mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xdf3b0859 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xdf42ed04 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xdf61e8b9 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0xdf69690b elv_register +EXPORT_SYMBOL_GPL vmlinux 0xdf705062 nand_read_page_op +EXPORT_SYMBOL_GPL vmlinux 0xdf746c2a raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xdf76bdc1 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdf791708 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xdf7fa33b __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xdf903161 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdf95b625 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdf9e6b38 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdfa02e29 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0xdfa6276d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xdfc03cd7 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xdfca4065 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xe017492c pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0xe0176f8a rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe02cb073 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xe03ad687 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0xe048268c usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xe04e99d7 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe0518ceb snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe07615f9 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xe07ad3ac extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xe08567fe pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xe08a3ead phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0xe0944c82 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xe0a80509 usb_ep_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xe0ab3bd0 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0b91954 snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xe0bc9d4b snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL vmlinux 0xe0c75c0c fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xe0d1cdea pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0xe0eecd43 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xe1078fa5 snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0xe126553f __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0xe14ac753 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xe1502545 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xe150bd09 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xe1653a54 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe168aaea __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe16d13dc i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe186156a stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xe18960ba nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0xe19d3559 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe1b4ed00 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xe1b7bb88 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1cd2e1a relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xe1cfa261 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xe1d75d6e trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xe1e2c765 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0xe1e7be47 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0xe1e99da0 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xe1f1990e usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL vmlinux 0xe21be880 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xe21d7645 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0xe22179ed regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xe225f2c5 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe24cbb6e nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe259c761 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0xe2654ce6 musb_set_peripheral +EXPORT_SYMBOL_GPL vmlinux 0xe2717792 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xe2740acd cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0xe27d6a7f crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0xe298a937 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xe2a196ec crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe2a3e0e2 cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c14c3f crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xe2cbf907 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe2ceef92 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xe2fcf327 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe2fea4f7 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3298f44 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe331e165 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xe346331c snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL vmlinux 0xe3477f8a skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xe351caeb usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xe365387f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xe3681a34 security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0xe37368a9 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xe386d5ae md_run +EXPORT_SYMBOL_GPL vmlinux 0xe39167a6 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a17f04 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xe3afd49c encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xe3b0082a strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3cce875 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xe3e15b54 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xe3f8a40f pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41d7111 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe432b498 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe444e77f snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL vmlinux 0xe448dcad sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xe45ab1f2 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xe46d5189 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe48cc00a regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe4954950 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4aef0c8 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b15700 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bc3040 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe4bd024f gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xe4bddd61 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4c9f178 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xe4d9b07b ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xe4db1f4b snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4fcd39c report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0xe52025ae cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xe5283eb7 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xe5522137 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xe5610bc1 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe567c436 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0xe57b993d init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe58558fe mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xe585ba9d blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe589ce19 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xe592db0a wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL vmlinux 0xe5cae0e2 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5d7409c alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0xe5e9a209 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xe5f0df57 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xe5f78d37 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xe5fad4f7 cpts_misc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe600020b dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xe61e2c3f phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe62c9d2c firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xe6310aef regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xe656a2dd relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xe672bd9c put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xe682dcc6 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xe68c563a skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xe69197d3 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xe692455a blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xe697c9da i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xe699730e of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0xe69b3ec6 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xe6a13ad1 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6a6eced call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe6b2fc3a of_console_check +EXPORT_SYMBOL_GPL vmlinux 0xe6b3b695 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xe6c890f9 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xe6ce46e9 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xe6d81d31 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6f668ee usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xe7123427 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xe714da01 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe715c482 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xe71a4ae6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xe724c91b mtd_write +EXPORT_SYMBOL_GPL vmlinux 0xe72b4326 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xe747297d xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe7507302 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe7551f48 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe75625fb cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xe75907e4 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xe7650223 __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe766ff62 usb_gadget_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77006e6 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xe775b60a sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7911bbe tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe79c05ed find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xe7befa92 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xe7cded8c pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7f169cc devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8013321 get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe815fff3 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe827576b sdhci_get_property +EXPORT_SYMBOL_GPL vmlinux 0xe829d61e __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xe8305955 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xe83eb99d crypto_register_alg +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 0xe8656788 dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe867c0cf sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xe86d09c2 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xe8718bf3 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xe873868d sdhci_end_tuning +EXPORT_SYMBOL_GPL vmlinux 0xe8781b46 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0xe87b6e4c sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe87b7171 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xe89dcc86 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe89fc782 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0xe8b848a2 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe8d13ec4 ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe8dfeb1f nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe8e09d65 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xe8f627c5 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xe8f77b33 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xe8fc0e7c dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xe8fd9855 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xe907c6b0 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xe9140521 usb_ep_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0xe9183e47 bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xe924ee33 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94a3ed1 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xe9557098 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe959e10c pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe97ee35f sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe9867714 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xe9931f9e fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xe9a3f4ea watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xe9a4ac0c mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xe9a4f368 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xe9a7fe16 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0xe9adef9a virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xe9b4e181 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0xe9b6a7a9 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0xe9c616de cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xe9c649dd devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe9c73800 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d26bc5 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xe9ea3fa9 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xe9ef3d8c of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0xe9f20193 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xea08e432 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xea090f61 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xea0910fc sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0xea114216 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea19bfc8 sdhci_cqe_enable +EXPORT_SYMBOL_GPL vmlinux 0xea1a8a93 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0xea1bb291 bL_switcher_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0xea1be61a snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL vmlinux 0xea326d5e phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea389e52 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xea438b05 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea48b059 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xea4a09cb mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea619507 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xea66d293 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0xea92547c bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0xeaa0cca5 nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL vmlinux 0xeaacfeb6 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xeacc36da register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb0927c3 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xeb294c3b iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL vmlinux 0xeb361650 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xeb3aa61e fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb4123fc pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb4ab0e5 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb6d1f34 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb8d71e8 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeb947d13 nand_read_data_op +EXPORT_SYMBOL_GPL vmlinux 0xeb9a24cb blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeba86f8b pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0xebbe1622 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xebc5d16c cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcb0dcc snd_soc_component_write +EXPORT_SYMBOL_GPL vmlinux 0xebcd060c dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebd702f7 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xebe24971 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xebe7c4b7 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xebef527d spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xebf105bc bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0xebfbef11 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xebffc0c2 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xec0f8740 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xec11ee3b phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0xec157eb0 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xec218dcb usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL vmlinux 0xec237684 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xec2856b1 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xec2da5c9 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0xec58678a devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xec5adfee cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xec5e9495 get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0xec5fed65 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xec6057b9 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec701c75 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec8466a8 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0xec8c4b8a file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xec92a16d usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xec9de73b bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xeca4dd2c ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xecb0f01c dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xecb37061 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xecb49cc3 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xecb86cea mtk_smi_larb_get +EXPORT_SYMBOL_GPL vmlinux 0xecc97b06 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xece50c40 nand_erase_op +EXPORT_SYMBOL_GPL vmlinux 0xececd79c regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xecfe2f1e fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0xed01f05a snd_soc_runtime_action +EXPORT_SYMBOL_GPL vmlinux 0xed2f77ae crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xed344146 mcpm_is_available +EXPORT_SYMBOL_GPL vmlinux 0xed366343 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0xed38c848 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xed53618c phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xed55465a dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xed648c82 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0xed652e3c spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0xed758f98 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xed7dde00 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xed8bbe99 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0xed903d12 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xed933fb4 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xed9ecc84 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0xeda00f6d regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xeda42c0e splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0xedb3561d decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xedc61bab tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xedca2ea4 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xedded63f regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xee0b0901 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xee19dece fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0xee22db17 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xee282bc9 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xee282e42 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xee2c4a51 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0xee2d3707 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee4d85f2 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee7d17f6 ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xee82c4ac xhci_mtk_drop_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0xee8485b2 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xee8acfde phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xee96f10b bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xeea60635 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee6bcd8 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xeef5e58f scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0xef17daa3 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0xef26c95a gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef456ccf relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef5f9ac4 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xef601e4d dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xef628b42 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7d6b2a __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xef8032d6 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xef83eed1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xef8cef27 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xef960719 nand_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xefa1aa9b devm_snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefaace6e mv_mbus_dram_info +EXPORT_SYMBOL_GPL vmlinux 0xefaebe84 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xefba8440 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xefc12d15 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xefcfd800 cpts_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xefd2c297 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xefd5fa7c ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xefe4ec92 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff1d33d usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xeff69d3a hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf0085a01 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0xf0090ea1 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xf00b759f bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xf0119a62 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf03a7164 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xf03c9533 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xf0497256 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf051a552 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf05d780f disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf0604544 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xf06497b5 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xf064c9a9 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xf0700fb1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09250b5 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf09d798c dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xf0e32d55 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xf0f094b1 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL vmlinux 0xf0ffaeb0 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf115397a devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf14804e4 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xf14fcb04 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xf1526a11 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xf16593b1 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18c0fef subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xf18cdfcb ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xf198e611 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xf19f0972 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf1a1f6c3 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf1a5743c __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1bce65a gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf1d56af5 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xf1dcc42d of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xf1eb9239 blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0xf1fae6a3 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf21fcb78 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf2263795 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xf23d4b36 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf24382b9 napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0xf2538f38 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xf2720060 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xf2732052 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0xf273c8ee synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xf2754d70 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf27a2316 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xf288f24f ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xf2919e42 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2affbfa __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2b258ce fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xf2bd3e2b fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xf2cddd33 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf2d6b0ff sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0xf2e3b9d5 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xf2ff0e10 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf316eedc rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31b9a20 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xf323098a __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xf3248124 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xf32d16ee bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf342fd5d freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf3483a4d usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xf3650aa1 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf375bb3c shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf38f8338 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0xf3963977 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xf3985e8d relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xf39f6e1f tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xf3a6d314 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3cadae2 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xf3e1234b usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf3e22fb2 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xf3f00181 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf3f0d4a2 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xf3f15dd6 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xf3f1d16f usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0xf3f42807 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0xf3fdc7dc kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xf403e5f2 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0xf40c3cbb call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xf416b56b virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xf41a910f dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xf41c04a5 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xf4433f8c gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0xf44579d7 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xf4538ea9 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xf45767b3 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xf4600dfe wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf46216f4 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf47de486 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf48ceebd net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf48ebcc6 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf4952dce power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xf497052e spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0xf49c680a fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0xf4a1f4c2 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4be574a pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf4c150ec mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4f5a2b1 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf502b9f9 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xf52abbc9 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xf52e14e9 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf5523385 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55ea213 dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0xf587f720 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xf58fed5d n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a4a286 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5a8badd eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xf5a933b7 musb_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xf5ace3fe ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xf5b720df pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xf5b7e6e7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5e67cb0 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f4c932 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xf5f8b7fd snd_device_get_state +EXPORT_SYMBOL_GPL vmlinux 0xf60c830d fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xf61baa65 pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf627b5fa metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xf62b7e37 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0xf6321d1c snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0xf641155b subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xf64e554f perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf67dbb3d mtd_pairing_groups +EXPORT_SYMBOL_GPL vmlinux 0xf68a1124 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xf68fa838 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xf6989fd4 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xf69a9bf2 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf6af63c5 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xf6b59c23 tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0xf6ba1b7c icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6ba3e8a rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xf6be91e8 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6ef7633 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf705e960 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf718d4e4 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf720bd1b inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf73c9be6 md_start +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf7491748 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74c50af mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xf75b4c82 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0xf76b0a59 read_current_timer +EXPORT_SYMBOL_GPL vmlinux 0xf77f7d27 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xf77fc292 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xf79904c4 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xf7a6f0d6 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xf7b4fd9c nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7bd00cd nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xf7cfa474 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7facfd6 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xf8042403 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xf81ef41f mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xf8244443 nand_readid_op +EXPORT_SYMBOL_GPL vmlinux 0xf8278701 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf8327088 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84dc872 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf8585384 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xf85e8d62 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xf8731bf6 clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xf87c698c handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8876a5d spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0xf88e0d25 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xf89ce31b dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xf8a024f1 snd_soc_component_read +EXPORT_SYMBOL_GPL vmlinux 0xf8bcdac9 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xf8c3dd3d regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf8c8fbaf pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xf8d6976c genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xf8dac101 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f5a775 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xf8f6c0d2 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xf8f70c08 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xf8fa34be pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xf8ff936c pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0xf9037064 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0xf90c9918 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0xf90d5de3 devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0xf90f35a3 mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0xf912c611 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xf917f23f spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf91d1082 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf93a2b18 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf954afc7 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xf9646e69 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xf9653570 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0xf96573fa ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xf967dafc iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xf975d28b fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xf978c8a2 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xf9859480 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a7b364 mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xf9ab6f72 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xf9b1c9e0 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xf9cd8cb1 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0xf9d129df klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xf9eec82a irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xf9f0cb2e ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xfa03858a sram_exec_copy +EXPORT_SYMBOL_GPL vmlinux 0xfa1a73a8 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa24dc85 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xfa3b4100 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfa40c5be key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xfa42c02a bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0xfa43bf7e usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xfa532824 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0xfa5b8d3c pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xfa5e87ee __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa7ab782 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xfa7bd555 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xfa7f799e devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xfa810055 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xfa82f473 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xfa9a2503 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xfa9b8916 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xfaa6ab7b dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xfaae07a0 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0xfab0d97e mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfaba248a usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xfabd7667 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xfac1e517 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfadc5dbd devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0xfaf454f8 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xfb0c00b9 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xfb18a5e9 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xfb24d4ab blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb4550f8 rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xfb499cc6 cpts_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xfb51f520 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xfb6b71d7 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb7a4a7f btree_last +EXPORT_SYMBOL_GPL vmlinux 0xfb838635 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xfb8de27e snd_soc_dai_active +EXPORT_SYMBOL_GPL vmlinux 0xfb9a8805 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xfb9c163e cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xfbace163 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbbf0a12 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xfbe673ef devres_release +EXPORT_SYMBOL_GPL vmlinux 0xfbfb512c wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfc014cb6 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc093e1c devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xfc11f996 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc1d788a ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xfc386c10 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xfc3973d8 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xfc429bf8 of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfc439cc6 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xfc49ef27 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0xfc6bb2ce regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xfc8cfdb0 crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xfc9955d6 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xfcb25e80 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xfcb51f3b devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfcb953f1 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0xfccb98c3 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xfcdd9eae scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xfce94740 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0xfcf6cedb mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xfd040770 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfd230179 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xfd30091b tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xfd4dba7d freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL vmlinux 0xfd669476 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL vmlinux 0xfd9335db iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xfdbc64b1 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdc85b42 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xfdd233c6 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0xfde77e4b usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xfdec5cbb ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xfdee80e3 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfdf7e322 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xfe0bbbd2 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfe29d810 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xfe470a57 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe48eecb __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xfe5a22f0 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xfe5dc98e skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xfe65d9b1 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xfe84d0ed skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xfe8b7658 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb6897d thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed2096b __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfed52163 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xfed8dcc7 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xfee1aa31 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xfef67ace btree_init +EXPORT_SYMBOL_GPL vmlinux 0xfefb6164 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xff02b85f devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0c74e3 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xff0ce5c8 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0xff0d7856 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xff1285ed led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff29f69f devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xff33b10c pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff5380f8 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff60a9ce ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xff6c34f2 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xff750a10 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff84949a debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xff871eb1 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xff879d63 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xff9815ce __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xffa88c7d phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffb27653 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xffbaac5e snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0xffc25d1f pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xffca5148 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xffcbdd8b icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xffd5cbfe tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xffde488b da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xffeed119 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xfff0dede mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0xfff4803a sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xfffc4020 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xfffdcc8c gpiochip_irqchip_irq_valid +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x640141be ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x703a1199 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x0e71db5d chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1b2e4710 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2e74eb83 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x481f466a __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x56a585c7 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x60fcd551 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6a29d2b9 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x73f6ba4e mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x89eb6d37 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9ac2d062 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xbcf52873 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xbf9b3a36 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd4df74d2 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe296d032 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe73ef1eb mcb_bus_get drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x00e4cba2 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0318a103 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x093da9fd usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0deee207 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1381b4a5 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 0x29b5df60 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x41feda48 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x59ab65cb usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5ef50f5a usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6622b7b3 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7000c2ba usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x781a447b usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x936c153d usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa639d6e1 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa706f2d8 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xbae366fc usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc3073a83 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xca156485 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcaba1841 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd1c35825 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd77ae876 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xda734e3c usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdd05e086 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe34be7dc usb_stor_CB_reset drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic-lpae +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic-lpae @@ -0,0 +1,23688 @@ +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0xc832c670 curve25519_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x737051cc poly1305_init_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0xf39f5240 poly1305_final_arch +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x63f7a05b crypto_sha256_arm_finup +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0xa7284996 crypto_sha256_arm_update +EXPORT_SYMBOL arch/arm/lib/xor-neon 0x0f051164 xor_block_neon_inner +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x54903a8a crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x6c35ca45 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xb885f3e6 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xb9626b42 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xc21f7df2 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xd4958883 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/sha3_generic 0x68979048 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x75d666d4 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0xe799f5fd crypto_sha3_final +EXPORT_SYMBOL crypto/sm3_generic 0xa1b5e71f crypto_sm3_finup +EXPORT_SYMBOL crypto/sm3_generic 0xd60bf94f crypto_sm3_update +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0xd65ff321 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x79630623 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x87857500 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 0x1e5043a4 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x2125f363 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x4e84b67a pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x6b25418a pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x7e145948 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x8cbe76a7 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x8d8a1f33 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x927f1652 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb8f9e263 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xd21eec65 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xd4e74fc8 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xf0dd260f pi_read_block +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x07c525f7 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0xa611fa38 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x4a7ee1e5 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 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2b2c1fdc ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x42fab48a ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x43989b46 ipmi_smi_watcher_unregister +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 0x9f5fab06 ipmi_get_smi_info +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 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/kcs_bmc 0xc01b20fc kcs_bmc_handle_event +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0xce7185a4 kcs_bmc_alloc +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x10c3e3d2 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xb14fb757 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xc31497aa st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xeea39eaa st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x2a938c07 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x8080804c xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xd5f6c574 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x0b49533c atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x5cf16a56 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x6cd7cc35 atmel_i2c_enqueue +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 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/firewire/firewire-core 0x08cdd863 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7274c6 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1232ee49 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x15f3d483 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x176d9280 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x19581c8a fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4411c7ae fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x48ed5df1 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ac9b847 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x556601c3 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5eb4d9b1 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x657a0e95 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x69f08f72 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6ccfca00 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x72db822e fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x762b4a51 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7a1a6d10 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x87bf340b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8926e891 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ec4e37e fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9465d7d8 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x99da8b7a fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xab1e15d1 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xce2ccdf6 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcea031c8 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd150725d fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd2bea9a2 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdfe4e8bb fw_card_add +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 0xfcd55d8c fw_run_transaction +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00054c1b drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0060d3d1 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x009a86b8 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x012ade23 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x022ebf3d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02ed2881 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x033daaa7 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03996590 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03b95a77 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03be3d5d drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x046fcff0 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0485b38f drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04da0a57 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05c4ef70 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05c65622 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06d3590e drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0727cd04 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0854234b drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08ce675a drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x092bbde7 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x099de731 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09f49ad0 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a4802c0 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c2a78b5 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c6ae974 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dada113 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dfc6438 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed2416b drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x102f6ef8 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10535890 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x105aef0b drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x110561a5 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x118c03ea drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c1796a drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1333bbeb drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14067a79 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14215536 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14c5db21 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x159c53f7 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15e974b1 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x165d8904 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1660bfc7 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1707c484 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18ca9b4b drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19e8fe16 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b690ba7 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b7d6070 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bee89e6 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ef6c8b7 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fab8f90 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fdaa81d drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20992f0a drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21c216c6 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21c32cc3 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x223c5e30 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x229f36fb drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23aae402 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24978309 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x256f2dc5 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2588749c drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2605d218 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26b54281 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2704f04e drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x272b780c drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2791b95c drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27e20320 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28e6dc01 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a58a31d drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b05145d drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bb95c6d drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c032b73 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c65de4a drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e517802 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f23be20 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f4f1181 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fdaf49b drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30031b8f drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074e62a drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30b389ae drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31170a6c drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3119b40f drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31c689bc drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31ff3258 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32870297 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32d6ab0d drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x330641e2 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x339d680a drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33fba85f drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x348b11a7 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34f2e78c drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35022af8 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3545a5a8 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x356cb293 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x366e744e drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380b5fbb __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38e09350 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39093b79 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x393875d0 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a944e0f drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b5c207f drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b6a7c7a drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b712d3d drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dc3fc97 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e418d42 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e76de57 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f051ba7 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f3a5c93 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f719d53 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40121b33 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4250524e drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42f41a8b drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x444e3244 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44e0e228 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45416f9b drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x477c646f drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47b0547c drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4814008f drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4823496b drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4834906a drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48a15707 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48f22c03 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x490771e6 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49650259 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49b37f50 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49d92124 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a2f326e drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a6c9c5a drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bf2a6b1 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c9be9d2 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cb5afc1 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cc0f31e drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d96cea3 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e012da1 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e73108c drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f5202a9 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x503e20d9 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50abc77b drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x516bcadb drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51a446d1 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51e4cd6c drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52218325 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x527a9f7f drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53ff0dc6 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x546a7413 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54bee29a drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55211cd5 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e9a639 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x562ba842 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x565e81b5 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56e48a6e drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57750802 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x587bc418 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5880de27 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5887d282 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x588e2860 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58b556ae drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58dd9f63 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5994b8da drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ba581b7 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e85668f drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f1a83a8 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fb9a52a drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6215b1bb drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63e47470 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66725181 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68704a1e drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x693d310e drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b0b9550 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c531a04 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c888899 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c98fcb4 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ea9be2e drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70ef408c drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71221d52 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71900cf2 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7280d40a drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72f6f36c drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7305e659 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x739410bc drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73b8ccc8 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73ea7a24 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74e45906 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7532429b drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77bd5c32 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77dd842c drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78289531 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c2e86fe drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb9e27a drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d5ea43b drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e016d38 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e5e4780 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e8d911d drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7eb2ee30 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f36986d drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f57c4bd drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f65c2b7 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f9e902c drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80937ab2 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8175f9aa drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x826a709a drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x827d67ca drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8314f678 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83f92a21 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x843ff4e5 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x844641d1 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86127195 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x867e1d98 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8736128f drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87abbf99 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88c1b6c6 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88ca59e3 drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89a349ba drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89d08a44 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a981140 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b022d79 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d6c2250 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ee9305b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fd1443 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92bc6fd0 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93a51340 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93da3a4e drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94a73ad6 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x951d1e31 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97d58e6c drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a7298c4 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bf042f2 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bf5d3bc drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ee7750c drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9eeca32a drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f4eb2db drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f4f9ab2 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0f4f9aa drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1509524 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa18ccf12 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2c6bd63 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa37baedb drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4c12ab6 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5d0e90b drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa742374e drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d5201d drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa99f4b7e drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9bc4ac6 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa1a12b7 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa2d00e3 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa7d6725 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab394b18 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab45dad2 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac44112d drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad85d947 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaea2be87 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeaca6ce drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeccb3e8 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb03799fa drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0f5f4cc drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb108cede drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1891ca7 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2979942 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2bef5af drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3833287 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3aa9990 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4e08dbf drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb55dc9f7 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5ccd2b2 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8a1e6dc drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8fa73a7 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba07ef7d drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaf32482 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb395081 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb498e84 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb4d0606 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbc91ee9 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc13d822 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc17ded0 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc8e6f64 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbca99417 drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd8fb279 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbecdc45f drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf17f2ae drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf3b8141 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf90690d drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc006388a drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc031a62a drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc07aa094 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0defc70 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0e27735 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1638590 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1a056c0 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc426e3fc drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4b94491 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4dc99e5 drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc51aa7ab drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5368362 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5db99bb drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc640144b __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7c4b9c1 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8b2016b drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc918108b drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca0e3156 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaa40e3a drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb42b1c6 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc8ae047 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc8e824d drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd2d7530 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd6c5f0c drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce4d5360 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfbc57fe drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd006540d drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd058d3d7 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd177d237 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1fc5f14 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3274869 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd34520b8 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4132cc6 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd46dc7e4 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd661493e drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6a1c4bc drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd740949d drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda0402ca drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda4457f4 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbaf512f drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc292843 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc833fbb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd38b07d drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd6f11d1 drm_mode_object_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 0xe0d5d8ec drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1456988 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe18e3c8a drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe21da861 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe260c8c3 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe34b7dc4 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3c341ec drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3f11831 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5ae3cb3 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5b4db27 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5d85077 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5ed12c8 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe650c977 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6dbd3b0 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f703e8 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7a97e91 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe898d6fd __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a66ad4 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea578223 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea780335 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaa7e8b4 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb2ce83f drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec166200 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed1067e0 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed8f0fe8 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedd9f753 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee28f9ca drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee4a0d17 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee7b4b69 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef4fb286 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef542516 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf08f374d drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf14eb76e drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf17fedfb drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1976ada drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3713b2e drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3a89b79 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3becbc4 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf52507cf drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5761108 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5b67664 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf77539d5 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7786714 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf778bb67 drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf78d2025 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf797160c drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaac5700 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd19a0f7 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe110c53 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe23f118 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe365a57 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfef37402 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff9a37b9 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfff332ee drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x010a720b drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0260267a drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07f6701a drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08b6bc59 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0948cde9 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09674765 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09c04939 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09f41433 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a99fa9c drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d8835df drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e2d0fc0 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e722dfc drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f36798 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12aef4ad drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x132cbba2 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x139a82fe drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14bdd5d0 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19044b88 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b668f1f __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1bd9b199 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c22f280 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c293123 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d167cdc drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d632dfb drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1de0e780 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e9cd40d drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20b5ca68 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2460a6fb drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x261c009a drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2649a2e9 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x266419ee drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d2ab293 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f783bd4 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3382c68a drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3411b5e4 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x344d41d2 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36a25ebe drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3887763b drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a214a3f drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c2a7547 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e2b58d6 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41fbeafd drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4280b81e drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45177713 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48f8d124 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x495c8ed1 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49e75dbc __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a0e2967 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d65487e drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e2c7d64 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f5ed772 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50aa6c65 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50eaa21c drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x532555b2 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53a2e159 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x545014df drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5487d579 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55639c01 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55b9eb67 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d7942c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4eaedc drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5bd7d1cc drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d5f91a7 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e483fbf devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6073c7c3 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x630a0e81 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63b26fb4 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65a090f2 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x662d7206 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66e51c6c drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68c82472 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68f175f5 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0b8f6a drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b128cb3 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e0aebcb drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f6d80cb drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x700c1a37 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70bd1dd7 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71119f28 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71edbdf3 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72156cb7 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72df478b drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x767d3819 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x782ff4b3 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x784db6f1 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x787ab9cb drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78a9cde6 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a490de0 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a94fd22 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c3b6847 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7dd95338 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ff6dc14 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x850f7e58 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x850f979a drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x872b8a89 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88d8e31b drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x893a1ff1 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8941f4e9 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8acddb03 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f5a61e5 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x913aa2fc drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91e2544d drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x935c6fb9 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94e62d0c __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9517ff79 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x953f04bc drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x955faa10 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96d12bf9 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x977f6b5a drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9864431e drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b7ac086 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c818336 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ca981fc drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e40e940 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f40315b drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f8bad5e drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa035768f __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa07e28a7 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa135ba95 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa291c4b3 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2fbdeb3 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5f90661 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6664107 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6d49999 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa7fefa5e drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8c08901 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d533b5 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9fbe0dc drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa0b4557 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa5067aa drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa6b83b8 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xacd48bb7 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad442dad drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf579ac2 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0700a9a drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb158f79c drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb2a7fe27 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb426c51e drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb5349e8f drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb6e6b9c7 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb76064b7 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb83b200e drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8bb4c58 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8e066e2 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb99739e6 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd59d55c drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbdcaf988 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbdf470b7 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe02a8fe drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe70c3fa drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbed3cbc1 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbff928a1 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc01b6bfe drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc04f945e drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0677c7e drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc206f669 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2888239 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4d0aacc drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5e2ce3e drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc630958a drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc74cb909 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc76ab8d9 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc796b5fc drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc863348f drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc98d378e drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9b5f056 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9d2b4d7 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb6feec5 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc11a4a5 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd01c731 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd17f77e8 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd297dea4 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3089ae0 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd44f30a0 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5988833 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd938621a drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda270c8a drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdcbcf1b0 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde1438d2 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde918135 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf08765c drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe13001c5 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe222584c drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3d09d10 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5875fab drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6b6fccf drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7d9c5f5 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe826e35e drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe970e1fe __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeaa3f684 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed41d928 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed75521d drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee1fc0c5 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2b33990 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf547ca59 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6199ad2 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6b68b6e drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf90732b3 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9d70f2b drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa264405 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa6ffb3e drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfad2e935 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb427ec8 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc4eaa3b drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd5e49b5 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xffcf55c6 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x09b5e8d0 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1794d5b1 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x261e0f67 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x2aa47c99 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3e8f1784 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x42ef3419 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f37ed47 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x50273d19 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5c345665 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x66c5791b mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x69fa6d41 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6ddfc9c2 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x75bceca6 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8385d963 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xadf78b36 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe62092e7 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe6c6b4c5 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x0ac23db3 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x6918fb14 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x004f5296 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x079e83d0 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0d1280e8 drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x18c923ad drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x24bddbba drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x38d9b650 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3f815207 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x419d4c6e drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x47f73f07 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5bab3d9a drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5f88ad5a drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x68063eb1 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x73966c88 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x73d3c70d drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x797d91ad drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x80e787d1 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8af8213d drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd02e3a90 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe671ab44 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe9a9b80e drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf7083ea3 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x35ca2a27 rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x040bd76c drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0470de60 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0838252b drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0b327bb5 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x11fd5e90 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x176f3e49 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x18d7d45d drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x25486be5 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6378e316 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x739e6978 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7b767698 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x85c94d5f drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xab8baf47 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc57ca7f1 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xca4e8afc drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcc8e9418 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd00ca86e drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd33ddcfb drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd95a2766 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xde70fc22 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf3e7a93f drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x077a20d9 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0b3d9783 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1201749f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x132b05be ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x15d101b7 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e41fa32 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x223dbba7 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x246042a8 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2808e56f ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x327aba40 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x331412fa ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a6ca8f6 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ac98331 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c527c43 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x416e173a ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x442c613f ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x46139501 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4983cfc1 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4f29cebf ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x525b4f5a ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x536fcc01 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x57d0cf99 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5eee7f44 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x654f9782 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6c7865d0 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x70347a9a ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7d19b8ed ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fcb3f89 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x835fcd07 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85da93ef ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x87f11aa2 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d9acd89 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8e54575d ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8f586448 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x916c5434 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x933a7679 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x936aeba5 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x93a07c2b ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d9080bd ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fabfb24 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa1eaea6d ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa3d775b1 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa414c0d9 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab99331f ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xad32303f ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb043ee9c ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbc017112 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbee52bac ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcbcc5421 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf6231d0 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd092f27a ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd1bff0a0 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xda26baa6 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe253fcbc ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf132c9dc ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf74a889c ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf7b8631a ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9590677 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa329dc4 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfdffa381 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xffc1ce2f ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/hid/hid 0xa4f7e6f3 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 0x34257f35 sch56xx_watchdog_unregister +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x77dd621a 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 0xa622bd5b i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xaa98ae8d i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xba1c2652 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x9f57d9fc i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xc9fe115f i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x5476afc9 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x456255ae bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x6ac7342e bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xea2637ae bma400_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x36913571 kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x5b4b69b0 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x71bb0076 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x02431b5e mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x166fe147 mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x27b09ea9 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x2d45f756 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3f40f9e2 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x8df84c3c mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x8f3aa2c8 mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x998d0611 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x99b54d6f mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbc0cc16c mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbc410287 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xca906b85 mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xdcbdba50 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe07b8045 mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xfb0433b6 mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xfd77c5cd mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x58fcbfe5 st_accel_get_settings +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x89655432 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xcc78737e st_accel_common_remove +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0x3e7cdba1 iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x29498335 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x6c28c034 iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x0b7cf90e devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x5447caaa iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x9e1e5d20 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x77c6e509 bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x05af77be hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x326bd597 hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x35f14a8e hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x539e9753 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x72b418ad hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x9a8660ff hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x9ac2d070 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xc2e8ba54 hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xc2fb3df6 hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xefe78a24 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x65f3540b hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x94f3989d hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xe7c792c3 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xf406a271 hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x5085ed26 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x50fb6808 ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x823b139e ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x823f0663 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x87c47d4a ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xa7b95299 ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xce613c54 ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xd5014d6a ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xfff053d4 ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x04363e22 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x1e7a7c02 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x640d1089 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x85836c4f ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x9ac24200 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x1b259e97 ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x39ed1a85 ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x9629e39b ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x02cb9b39 st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x03fdbf7d st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0fd99148 st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1a27dd47 st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1efc8994 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x564b59b8 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x5bb00f3e st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x63000c01 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x7d4d0b73 st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8e88688c st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x901a01bf st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x907fce9e st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x97ee21c0 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa182c03c st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xb0449a6f st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xbf8239cc st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc764f07a st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd9920e8e st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x145f32cf st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0x11804768 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x4a5af693 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xb7d6e03e mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xfb86c0c2 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x2636afce st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x51267693 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xf31bcdc3 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x35b59885 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xb5933761 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x350e2809 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xd428b75a adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x89cb632b bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x5d081fee fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x33bf709b st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x7f88f9d6 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x019e263b iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x06a21fe2 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x13f1ec89 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x1be73a5e iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x262e5893 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x312fd5fa iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x3cfe2a69 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x40f997f0 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x4b66582f iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x52094756 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x63222c61 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x63c11c7e __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x6aadfffb iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x7fa4bc90 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x8c956a20 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0xa0863705 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xd01acf3a iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xdb17d5ee iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe1167465 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xe909328a iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xea62d089 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xeb065461 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xfd0ead4a iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xff5767dd iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0xa824270b iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x897613ff iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xc95d7feb iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xedf54a33 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xf0c607ef iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x1a2d9123 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x8e588c6f iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xa902c422 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd05bc2d0 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xa6475c20 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xc60eeb1f iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x4ba6ebfc st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0xd4e682bb st_uvis25_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x1402e055 bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xa99b63ca bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xc1b7e6eb bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xe70713b8 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x6b346ea3 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xaf3f605d hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xd2bbaee9 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xd86076cc hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x3323f021 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x3c696b9e st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xc0d2bd32 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x3851b122 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x434f6859 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x69388075 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xd2d76c40 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x0db97858 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x7d021836 ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x49094302 st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x5e9895ab st_press_get_settings +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xea612fc5 st_press_common_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0052ea26 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1bc0f623 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x25c492c1 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x30a9915f ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x322dbc54 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x46637fa2 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4732a3a8 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x665fab8c ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x741a3007 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x87ac37a0 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x90dacb29 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb98344ca ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc801f574 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcfbc23ef ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf191b5c0 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfe74c181 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01e8093c ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01eb8b58 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02129546 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02174a15 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02c409b3 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05372856 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x071f4ae9 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07924ca8 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a31a270 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0f724abf ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x103c48a9 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x108b34a5 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10e2c390 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x112b4c7c ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x124944c3 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17694de4 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x183dac31 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19326f53 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1aa08aad rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b4d2030 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b8e9325 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c51ccbf rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d130c51 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f1a0a85 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f2e42f4 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fcfb141 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20276482 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2072200b rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2100b19d ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22a56f5d ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22d65731 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x256181c1 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26f03b92 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26f4e106 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2906d7f3 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2984bad1 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ad29fea ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c1f79cc rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2dba95ba ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e969375 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x325c4a8e ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37c02982 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39689e36 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3acd118d rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c67be0e rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ca1f154 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cd49cf6 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40dd5078 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x418678a7 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439e65f7 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x465fd62b ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46dd64e5 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d38e731 ib_alloc_mr_user +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 0x4e929d84 ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f19a3ef rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50034b27 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x501f4c55 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51317b37 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x528e1452 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5301e7b6 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54678b8e rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5737c9b1 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5822cf0a rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58bd6747 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5bc09278 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f0d6273 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x608c6421 __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613349a2 ib_rdmacg_try_charge +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 0x62809c40 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6409ae35 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64d58dc2 ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6581ca90 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x661dd959 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67f5d9cf ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6974dad5 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69a4cccc rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69c55b0e ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e75afde ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73656ea0 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x756507fd _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x766a7611 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7699e328 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7713225c ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78d673c4 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7929bc2d ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7977060a rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c245dac ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d0be028 rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e7d2561 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e8f7715 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ff66f0a ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x813fbdf3 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x822cda5b rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82b1d3df ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x832b89ed ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85ba357a ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x870ce6f1 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8779bffe __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8af0521f rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7193df ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f912811 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ffdf495 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 0x93567ea2 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9552c7e2 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96110b43 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x994403ab rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99477b9b ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b199cd7 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b997c4c ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c34a716 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d716c16 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e8e1ee8 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e910895 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f227dd1 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0348cba rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0d6c962 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0e27819 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa20b1529 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3330f8f __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa38b7baa rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4d1fe6f ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7c4c123 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa846cece rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaaf52ec1 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab29a1de ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaba128b9 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf810f92 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1147a7f ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb17607c2 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2b613af ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb441b391 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb703443a ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaa39bd7 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf77b6e1 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc05a5e20 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1c4d80d ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc24d4d69 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4fdf971 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc532f0c7 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6cc793b roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6dcb73e ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc71b2719 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc96e2dd5 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbc9399f ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xccd94aea ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcddc37a6 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce09e59d ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce556e70 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf84a18b ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf98a8fb ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd0cb9297 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd100a409 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd142d745 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1967ee4 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd32db241 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3479ceb rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3f29df2 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4af4583 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd58686ec rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6a8fd17 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd76e446a ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd94c7faa ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdda5bc4c ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddaa2d79 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdeac7afa rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf2dbc37 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf5865c2 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe31a1e83 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3889948 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe405fd67 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4b67fed rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4bb6c74 ib_create_srq_user +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 0xe8763ba1 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebc09609 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef97f429 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf02b9c00 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf03f5e06 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0531ebe rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf16fce90 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1a671cb ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6245cb8 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf69daaca rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa44e1fb rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc6a886f rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff64d156 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfff9c4e8 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x01a89aa0 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0ffe1e11 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x128c6ead _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x16855870 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x26608410 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x273e3994 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x40d407b0 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x440043fe uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x45c1dd38 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4aee9b6c ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x610b0f3f ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6b6caa87 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x76ba8170 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x80e8dcf3 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8d496e4f ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa140c0fc uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa1df7b3c ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb0d88833 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb59d2283 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb5bea7aa ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbfb8beb1 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc28bee02 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc878cd5e ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd4af9694 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd743ddde uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe0e845ad uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe4e4a70e ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe84e3d03 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0cea92aa iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1b67f20e iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x216e7b7d iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6e118cf9 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x79292467 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa00f86bf iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xbe903eb2 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcd16c87d iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x04128eb4 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05e5fed6 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0da99cdb rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0f3978ac __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1714031a rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x181e3a13 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1a041b60 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x263a6d10 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2e3a48da rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x329535cf rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x45daf1b3 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4b2c331e rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4fa7c38e rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x73e39bc5 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7cbd0e30 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8058f16c rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9a6caff2 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa366cda1 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc6169772 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc75e1fc1 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc899cabc rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd9eeebf7 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xea625fe5 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf3684c8e __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5cbe055 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf9a7c9a8 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfa2fd2da rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfcbfe6aa rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfddd0c64 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3242c0dd rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3ba93d79 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x45bac45c rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x6d9cc6d8 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x75f23aa8 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xda5aedd8 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x17fe9d1d 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 0x9d907880 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xb69dac98 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xed54c940 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x037b5b82 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x2a46fbae rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4d0c1d5a rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4eac98c4 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x67735764 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xcd7433f5 rtrs_srv_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2fe1496c __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x706365ed gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7d5c16e2 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x88fe0544 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x95873886 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa4bc23bd gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa7971621 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb0c3a8a1 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xfeaf698f gameport_set_phys +EXPORT_SYMBOL drivers/input/input-polldev 0x34be95c3 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x5baa93d4 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x949b2713 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc291a9ce input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd81d81a2 input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x89cdd4a4 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x9a2119fc iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xaa181e58 iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0xe90c1786 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc78918f1 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xd1e62d3c ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xdfe7f1e0 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x1297bd24 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 0x04fa5cce rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x05f145bc sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x07327b72 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6038369d sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x655c11d4 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa315a16d sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x6568c8da ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xf440f01c ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x08dda9b6 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2f3512d5 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x45a46134 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x954eefa5 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xbb60272f 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 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1f8c0bb5 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x95ebe789 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa65c17b4 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf05a18e1 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x6e25f65a mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x71ec33b5 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x043c1eb2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0838cf40 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1595c5cd mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x18e8f8e2 recv_Dchannel_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 0x27185b70 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 0x4531070b get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4b491053 mISDN_initbchannel +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 0x686091f6 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8478b5b7 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4cceac mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8ad5db08 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9906c551 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9cefec94 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa0f595bf mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa66ba1d3 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad44da0b queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb5ef67d1 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc81559a3 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd508b5fb recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd6710609 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xec003284 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf79eae42 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfeb71bd8 mISDN_ctrl_bchannel +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 0x1ad2c383 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 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xd797a9d2 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x043d3f8f omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x1ed361fb omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x52062e2b omap_mbox_request_channel +EXPORT_SYMBOL drivers/md/dm-log 0x1a8125e8 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x4b86d724 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x97a6507a dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xd12e61b7 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x51005684 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6b883c8b dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7cf14ce9 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x94bf640b dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc9634211 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf5f1255d dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x1f500a0d r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0x9c26b1e9 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x25353e28 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x316ce03b flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x37d6ed1f flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4d1b4afc flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x5b7a9c1b flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x82b700fd flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x8795e686 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xab27cdce flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb4cef9e9 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb90fa449 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc6f20bcc flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xeff9e2b0 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfe4aeafa flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/cx2341x 0x2e993e89 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc5d881c7 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xcfdf8c02 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe5465acb cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x296a668a cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xe5f05469 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x76fde1d2 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xfe5012a2 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x1c26c9f9 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x2589587b vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x3b87021f vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x57335703 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x66391ea9 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xd9055a5d 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 0xe8217a8d vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x006d6880 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0ef71f55 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1609d70c dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1bc12cde dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e7a8283 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x21381c3b dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x214d5b4e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x265c4777 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2c12c287 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x32bccf2b dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3869e8fd dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x38c65851 dvb_generic_open +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 0x404f0128 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x42d15a1b dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4be5c646 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5eedb549 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6422df79 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x731bc00e dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x765f1135 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b334d3c dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8026ef3e dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x82143c17 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x83ea0a2b dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x883388eb dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8a6194d9 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9e80343a dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa1e6bb65 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb113d4a4 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbe3d62d6 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc0b93899 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc4404e80 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc8fdd072 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdafc31c5 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe6e76ac4 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xedda2b2f dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xee9e7c67 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf846f787 dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfa4430e6 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfe73d116 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0xa52b40f4 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x73a9fba6 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x3149d2c0 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x34dccdaf au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x4428695a au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x5fed1504 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x825cc3eb au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xa5628329 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xd22c7237 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xe96f7a46 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xf30ee58c au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x0afd7597 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xc79394d9 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x28bb3989 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x2180c989 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xb4820fdd cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x6cb4a301 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xfb30c75f cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x29ed410a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x3fe1bf28 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x74e79a48 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xee8d43aa cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x087fc545 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x16c636a4 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x6acb2a9f cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x89122bcf cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0f10cba1 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x72d48541 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xa809d572 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xe2a5652d dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xe7290ec3 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x065e8427 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x10bc3deb dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1a3fb5fb dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x27e17a1b dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2dfd74d5 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3f9a4b6e dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x40b90a5b dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x439de6ad dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x5d55da22 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7b299d8b dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb5783b77 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb93d6e62 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xda0c0a13 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe591fc01 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf5f126ac dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x881549f5 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x38925dab dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x45821c26 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7e672281 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xc6e672d3 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xd4b778f5 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xfaf1d590 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x1ecf0cbf dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x2ec0a520 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x76d4d93c dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xef84c86c dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xeabcf529 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x0ec96719 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x201fa892 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x46550bdd dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x55613e62 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x59dd0905 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x5ad72c30 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8bd847b8 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8f5bbdd0 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xb1f8fe21 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xb5335b00 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xba205422 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xc44b7e00 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf2cd34fe dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf4109a9b dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x2bbd0b81 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x61e6301b dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x954ba97f dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x9aafe042 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xe04f709f dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x7f06bd93 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x644a65ac drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xcf1a217e drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xed40da29 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x67d53f6c dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x001d7349 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x48aba4b8 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xabd35721 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x98e81cfe ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x40c8da80 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x9c268e49 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x023b4238 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x7f5b7056 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x6c614e55 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x5b7a2d8b isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x041f6c73 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x691d3fcb ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xd6da4859 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x61a1cf3c lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x6a9ee0f3 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xa58f8b0d lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xdbb223aa lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x583f9672 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x464e1827 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xb8dad124 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xe31c78f6 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x031b7a43 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x59e23d27 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xbe147428 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x4d3ffd64 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x4d8a0233 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x0872dd5d m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x3535aada mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x85366c34 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xa397dfe0 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0xd5aacb8c mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x2d0fe002 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0xb0799d7f nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x92eaaf20 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0xbae8274e or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0xeca14a4e s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x0cb69c0e s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x9b4ea75f s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xad99f6cf s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0xa4e7c697 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x47dab405 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0xf9db7692 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0xee342d3c sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x47ec14a1 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x82908593 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x4ad34539 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x856bfb18 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x15cbb6b2 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xd73e37a7 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x26c0221c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x5609d54f stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x686efe9e stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x8e8924dc stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0xdf4c6238 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x84d9c5e7 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x2d6a003d stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xadb68594 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x0db634cb tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x2200690d tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x34b8eab6 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x374a719c tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xfd4e5548 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0xf6206e7e tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xb0757a62 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x864ad584 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x5a8cb03a tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x4db5fefe tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x7cc8fba4 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x761294f8 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xd6e8be90 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xce2df0ad ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x6c38816b zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xa77b3dd4 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x279fd065 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0xa81e32a2 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x807c02fd zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x187fd10c flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x39c1479b flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x4aa68e89 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb1ed8473 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xd7793679 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xe4fb6731 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xf78af620 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x3d4a3c5e bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x97579b29 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd3529522 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xf2205bf5 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x4e699832 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7c7a9429 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 0xd57e64ff bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x1f020a3c dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7dd855a1 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x8075ec20 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x90f4733c dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xbc9b4bc8 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xca194549 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe079d54e dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xebc6c6ab read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf685b7bd rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x9ccd5992 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2fc0249f cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x4f7f8a21 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x82450db6 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xaf5e1056 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xde650a8e cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x59a5ad6d 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 0x39c20357 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x3b6a26fe cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x45f8e17c cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x5c3f75b7 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x87d5c470 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc0b691d9 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xcb4d2711 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x561b82e2 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x697828e0 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x48cb9d77 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xd25863ea cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xd26db2a1 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xeb76af08 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x10b8d039 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2fd4d048 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x6629b325 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x8cf677ba cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x9a7e3493 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x9c023364 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xf4a6df3f cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x09219770 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x101260b1 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1f775133 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x46040f43 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4ed578da cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x51e44a06 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x540e3229 cx88_core_get +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 0x7a438fe7 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7c3cefe1 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x891e2a4e cx88_core_put +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 0x9a4995da cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9c565baf cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9e877455 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa223a191 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xbe9acaeb cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd34545b5 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd70ec66c cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdb4b9132 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xddb91e53 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe1a9e10e cx88_newstation +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x18ef3a6e ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x029dfcd3 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x08bb9522 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x161e40e0 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2ad67763 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x369fcf6b ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4f4cff77 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x696fe901 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x73f9a9b5 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x815f9e40 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa0a0f6b9 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa17517f5 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa4c76b02 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xbe546e77 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd85e52ce ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xddfe2e02 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xef004670 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf9c0006b ivtv_udma_prepare +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 0x24a64332 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2c502b0a saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3e39692b saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x627feba0 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7380598b saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x86893107 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x908d4dcd saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x965b40f6 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc40c6bf3 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc6e9fe4c saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xe77562ea saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf36b7336 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x99ef0456 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0x1ba7d000 csc_set_coeff_bypass +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0x1e5e9d2f csc_set_coeff +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0xd80c5a2c csc_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-csc 0xdf4eae53 csc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0x301529ee sc_set_hs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0x4a890a9f sc_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0x792e7ae2 sc_config_scaler +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0xb4a807c2 sc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-sc 0xb5253d1b sc_set_vs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x07464bcf vpdma_add_cfd_block +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x0764f01a vpdma_list_busy +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x08d4dec1 vpdma_get_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 0x3394e265 vpdma_set_frame_start_event +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x374ac727 vpdma_get_list_mask +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x3b3f4afb vpdma_create_desc_list +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x48d132fc vpdma_hwlist_release +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x49293b26 vpdma_yuv_fmts +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x50ec40af vpdma_rgb_fmts +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x5ea5e2ca vpdma_create +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x60708dc6 vpdma_raw_fmts +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x61ecf991 vpdma_set_bg_color +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x65e060fd vpdma_hwlist_get_priv +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x6ea95e2f vpdma_free_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x716499c2 vpdma_enable_list_complete_irq +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x73ae3d42 vpdma_add_cfd_adb +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x73ffa63a vpdma_update_dma_addr +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x7f37218f vpdma_set_line_mode +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x82d4c066 vpdma_submit_descs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x94681dd7 vpdma_unmap_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x9de56bd8 vpdma_add_abort_channel_ctd +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0x9ece601a vpdma_free_desc_list +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xaaf781e1 vpdma_hwlist_alloc +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xb707f740 vpdma_clear_list_stat +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xbbabf185 vpdma_list_cleanup +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xc29e2114 vpdma_map_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xca725f60 vpdma_set_max_size +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xcc78bec4 vpdma_rawchan_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xd0aeae6a vpdma_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xebbec4fb vpdma_alloc_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xee7f54cc vpdma_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti-vpe/ti-vpdma 0xf82483c6 vpdma_reset_desc_list +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0068e274 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x10bf2775 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x22159447 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x787f4b79 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xefd00a27 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf8265ec8 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xfac61582 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/rc/rc-core 0x0d707bbd ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xafc040a8 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xab0fb6c7 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x11e22c53 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xb730d640 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xd5e143e0 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xff57f292 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/max2165 0x6e06fb8f max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xb1c527b2 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0xbc6e6e5a mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0xf160896e mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x67e8616f mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x79c8e525 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x2db54246 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x22b6142b 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/tuner-xc2028 0x2c336627 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x80376a1c xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x32f10b84 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x70c7ca1e cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x8c771af1 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x00495278 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0851150e dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1191994b dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1faa34fc dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x63bf05fd dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x73f9d447 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7d30b29e dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x8350a35d dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xcbe80f2c dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x27b33338 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3cb48b67 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x65d933e3 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x6cc8a4dc dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x97867fde dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xc53dda74 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xe8f6f2e4 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 0x4784f659 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 0x0ba54553 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x3627b374 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x526a2ef7 dibusb_i2c_algo +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 0xa9d73968 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xaed7cfa1 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb58d1e7c dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb6c345a4 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xdbb9379e dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe517f9ae dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x4199892e dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x8d3fe732 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x931ac1b3 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xf61a6983 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x6f789e63 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7e0ff3d6 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x8a21bdc6 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x93083a8d go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb4f80867 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb5d7b6a4 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc2c2244d go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xcad631fe go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xf5da06d2 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x20828256 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x3fddd5ab gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x47ed154a gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x4fa94636 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x64f15a39 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xbd147d22 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xd306a93f gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf1b381aa gspca_suspend +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x190e1a05 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x23ce81f9 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xcf76e7b1 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x5667b189 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x7da0b043 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2dc532cc v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x4419b58d 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 0x4cb54236 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x9559a19f v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x02abfd1e v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x056a1eec __v4l2_clk_register_fixed +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 0x0a339f8b v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x10890b93 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x11d91916 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x149aeb02 v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15ce0228 v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x194116be __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x19651878 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1a227b81 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1c4bf8ec v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x21a17ac4 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2437eea7 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x24fc31ac v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x280af4ee v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2ce22014 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x31da7945 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32cacfd9 v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3308c5e0 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x344556e2 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x388c5445 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3958f216 v4l2_ctrl_cluster +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 0x3fc5bb66 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a31ec07 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x50a6465c v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x59e6d1e6 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5a4191df v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5c62c989 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5c89e2f0 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60429d58 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x634ef77c __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x704b4239 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x73c39abe v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x79e75791 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8670df95 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x93a1e065 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x98975f14 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9fec4166 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0af7ce3 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa27b4bad video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa4f44d7c v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa6afa946 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xab54338a __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xac0bd0e7 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaefa1505 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaf9ab607 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb180ad11 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb85fa804 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xba100a7b v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbea6fcc3 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc3725453 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc41ddff9 v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc9f7ed25 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcb5584f3 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcbd45c83 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcbf4f952 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xceb565fe v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xceeb5ce4 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd2651587 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd49f6333 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe233ba01 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe9a157dc v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf00674dd v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf38c610d v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf4ca416d v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf7cc0fb0 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf9cbefc4 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/memstick/core/memstick 0x00ed4c68 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0e5debcf memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x243a69c5 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2692147d memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3461642c memstick_suspend_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 0x5ef95044 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x647c388c memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa92eacbc memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbe67eb9f memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc37a6905 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd2451f7e memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf646837d memstick_remove_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x089dd7b1 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0c01e134 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1641d79d mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x20cee8c3 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x21e8367a mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2b7f89b1 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b935e07 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x41eeb8cc mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5162c70a mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f26d3de mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x69f58424 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7077b533 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7426d8e7 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7481b6bc mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7d7415c8 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8778ab04 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f1b79a0 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x97f9a5c5 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9fc31ae1 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa41d075b mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb641eefc mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb67f8bb2 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb8be9e71 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbfa011ca mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcc0b6a18 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xda7a7992 mpt_reset_register +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 0xe83644a2 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf1086e4f mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfafadee5 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x06d68b3a mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1aab78af mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2186ac6d mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38324853 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x411db577 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x44fb593f mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x49800ab1 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b89cc57 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5003e3b0 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x53aeb2cb mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x562c53fe mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5e3e1926 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x636fd1ba mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7016e4db mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x71ac721b mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x79238dd3 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fb2c29c mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9484f839 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa5a56b7c mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb9343ec5 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbce3bc23 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5563e58 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcea54b88 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd480bc35 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd8e738a7 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfa653915 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfbcf2df8 mptscsih_abort +EXPORT_SYMBOL drivers/mfd/axp20x 0x43216b22 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0xe441f2a5 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xff0e4dbe axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x0cc627d2 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x9d56f90f dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xe431bc41 dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x2965b5c4 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x81495ef4 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2ef1004e mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x31b00bb8 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x57dbc7a7 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6a8a8918 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8b9c7823 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x95419bf6 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9e13812a mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa04ff8f6 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa989f9d1 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc50da853 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcd4fb055 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0x832aed94 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 0x25982346 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x88c09af2 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xa5b1a989 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0xbafa216b wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xbe4359c4 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xe421227e wm8994_base_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x32fb6f79 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x7867b6f5 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x2fb85933 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x25b73452 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x9594ca4b c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0bc2593f tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x11638a5f tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x17c59444 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x24da7527 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x2f9b2efb tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x45111b16 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4ca51d36 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4f23e10e tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x77ab9d1c tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x95a24e00 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xd8d032cc tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xe2128b9b tifm_alloc_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x0a2c1a09 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x1786776a cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x52c56ac5 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x93b0d629 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xd8572687 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x0bd436c5 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x3cc8ac4f dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x5df0710d dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xee4e4a04 dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x800e0a26 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xdbd45a04 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2ce02f6f cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x5aa9233a cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x81908454 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9d5af797 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xa4a67418 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xaedf81a1 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb30da693 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xcd5d8315 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xdefece8b lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xbe17c692 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xca5c1f27 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x44c54de5 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x90abfebd denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x2f9f9b5a of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/raw/mtk_ecc 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2c064c0c arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x56b2cb0a arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6bddeb73 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa517072d arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb2fb2aca arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb9dfad95 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc81bb45e arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xccec7c23 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdc65bed5 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe994dd21 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x5e24b360 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xae5da451 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xfe44ef54 com20020_found +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x055a1f0e b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x066aeb70 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0b69c687 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1fb29f86 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2fb49a79 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3266a630 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x384f1f83 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3e5bc8a0 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x451744b3 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4f683efc b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4fcca29a b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x579e3c77 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x64b122a1 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6570c405 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x686a9526 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x70c556f9 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x883f545e b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8a4883d1 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8d6ad703 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8d77b251 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8db7a703 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9193e76c b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9332ba60 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9d7744a6 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa412eb62 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa6a9082a b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa8d48a0f b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb054b7cc b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb321590c b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb4f55ff9 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc23862ec b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc6719ac6 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcf1521b6 b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd0db781d b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe6aae442 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf4ed1dbd b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf9744a63 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfa2b9111 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfa80a982 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfabd4b24 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfed388d4 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x0026f7bb b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x0f6fdbb6 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x2bb47eb8 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x435f4a37 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x69900b87 b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x8db049ad b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x3393cf91 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x4c6ea553 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x538bc715 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x60675032 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xcfacd165 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xfa8aaa0e ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xfbad5d4c ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x1a1345be vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x805bbeff vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x29689d53 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3ab2f280 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4fe9c465 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x645d596f __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x6e2ea1af ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbd7aca0c ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbeddebc2 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xcbd7ccf5 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe1908391 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf87dc00b ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x59514b51 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0ce11099 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x52a4d049 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6f15cdf9 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x79587754 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7f7023e5 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa34849bd t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xaa2b7e82 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb5d3b02c t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb9852a06 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbd56ade5 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcfebe470 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd1a72691 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd67458a4 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe9acf16d t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe9f9226d cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf126733b cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0820b04e cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x08d28ec2 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0a671608 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b0edc43 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x18d863e7 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1b8f6d31 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1fd4e443 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3b2ac324 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x42857884 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5086303d cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5cfc1ff4 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5e43d757 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5edf1470 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5f208379 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x61a84512 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x61c8d1b5 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x66d5714b cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6be05c0b cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6c1c7f4c cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x76924709 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7e7e43e1 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x82938c43 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8d42705e t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x962e3500 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x99681e34 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9cf0f05a cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9e787db7 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9f4f715a cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa4e47299 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa9d2111e cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xac503a5b cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xafa0ba3d cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb3b6399c cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb6decd79 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xba09eb24 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xba8d4319 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf02e14b cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd2692ac1 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd4eebeb7 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdbc9523f cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xded2869b cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe58bb4e9 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xed821226 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf869c809 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf8743085 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf99b6d1f cxgb4_check_l2t_valid +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 0x31b32ea5 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4b702600 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x9916d09a cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xc7d49500 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe5a93e95 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf393d2e9 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf4a0c6c6 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x12112674 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x5bb3e2c9 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xd3d7c568 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xdf953c34 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xe4d689b6 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xf1850dc1 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x0c274d43 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 0xb99a9152 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x6af9bdcc hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xa653e367 hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xd21bd84a hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xeeacf002 hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xf24956cb hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x2df613de hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x0c266b13 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x10f7aafe hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x280996bf hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x5c500be7 hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x6aa1432e hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x767082c3 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x89b23a26 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x063b1d17 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x5f94c1bb i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xcd7d63f1 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xe132d352 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x034ce72b mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0bf19d78 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1729c52e mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d16c441 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e466b07 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x37202121 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b701d3f mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40e81fbf mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x42acbd82 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x443e9305 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45e80a48 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47b03461 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4d10b6da mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51a78d2d mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53f9c1a5 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56a33769 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c0e78a1 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5d2bdb16 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e40e723 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61440743 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x641a5d10 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x68cab9ed set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x695b4fac mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x696a93b9 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c875bc9 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71d9a7af mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73327f36 mlx4_SET_PORT_qpn_calc +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 0x81ff0986 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x845528fa mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86d53133 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x877eab6f mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ff1cfdd mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9077e3ad mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98a9c0eb mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbcf137fc mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc07a3cc9 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6c06c1d mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8576fc9 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca112f38 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd147ee1f mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd59ea3a1 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc400396 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf23d1aa8 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4ab5474 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x004ccdd9 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01408df8 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01a157d7 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x053515e7 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x070c8bb1 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2eeec9 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2fc676 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0cde82f4 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0e869e00 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1256b66f mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x12fa8dbf mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15d8b50b mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x164d5ada mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17e9e6c9 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a211c9c mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b960396 mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1da93130 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ff1344b mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22dedcd3 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24cc4deb mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2582ebf0 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26ce94bf mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28baca42 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29c9dee4 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a6309b2 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x320443be mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37743fb9 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39153c11 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a959706 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c713c64 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ebd7011 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x408277ce mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43788e0f mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x454b2120 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45a623c7 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x463af3f3 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47821fc0 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47f90f0f mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4aa13ccf mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad7e9d4 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f93c3b2 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5489596e mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55fc097e mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58fa7d83 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c25bfeb mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d920191 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f0b8042 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f38fbd4 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f3b5cfa mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f7588ba mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x611d64ec mlx5_unregister_interface +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 0x65af2feb mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e74dd2a mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fdde32e mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73193ce9 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x731fa420 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73e276db mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x74a6ecd0 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76f8985e mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7720db0b mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b63b446 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7eaa2f77 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ed23d50 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f23a6d0 mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80d7074d mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c97b74b mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90018bd2 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90589b1d mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91cc6ca8 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x945f4fa9 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9530d035 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95d47eb2 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9643786e mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97525b30 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9924bb1e mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b052e65 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d745c9d mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d92e89c mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9de4230d mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e9b0f8a mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ea0dd70 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f3bc182 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4973d04 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa92118f2 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac9ec180 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1856b23 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb7494d33 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb8792994 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb8f4e68a mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba608cdf mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba9fff55 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc02eac3 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc5a49ac mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc30209c1 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcaefaf12 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce056074 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd02008f1 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3ceb3fb mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd9c2a4fd mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda712872 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb277fd5 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbb38deb mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc84805a mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfe02ff6 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe095ef6f mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5dac526 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe653ff56 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7d3949a mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe81f0812 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe861cbe7 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed54d145 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xefafc646 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0f7efcd mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1eeca40 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf45a86a8 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4e8fb7c mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6992ad3 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8bd0aaa mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8daeed0 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa1dad9d mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc68fb7c mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcb354dd mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff05e262 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x7140bf8b mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x07bd519d mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x081cb19b mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2313b6ef mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x26b9ca96 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x34c9bf57 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f672008 mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51de19df mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x57e736af mlxsw_cmd_exec +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6f88eec5 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 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 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x94116023 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x945c2488 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +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 0x9fa53390 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa00b6257 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3365327 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xaa600760 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb6fcfed1 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb897202e mlxsw_core_rx_listener_register +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 0xbbd7a457 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc38ad508 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe0fc5cd7 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeca0348c mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x7f4c38a4 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xde719902 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x99a32c4b mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xf8313b40 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x00bb7366 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0393cd96 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0e9557b0 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x186460aa ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2280caad ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x25f46745 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x275c2eff ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2d9f60ac ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2efc4e90 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2f7ae581 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x31b9d527 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x40180741 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4184b15a ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4543a4e9 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x45faa9ab ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x474cc191 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x492faac2 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4b26546c ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4d9b1a2a ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5c9aa3de ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x67ed2ff2 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x74abe122 __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7af0bb72 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7fa6e68e ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8218d183 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x92a78b78 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x958e6e14 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9a1d9ae5 ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9d95e76f ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9f046f6d ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa7b4e572 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xaa3005df ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xae6a68ac ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xaf2c1f8c ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb15d1934 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb5e811e3 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbd81d66b ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc03b0555 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc6cab515 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc799b483 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc7e3ef1e ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcf07bce6 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd07dcdfa ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd9ffe138 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xebaf0a04 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf1af9a2f ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x12744796 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 0x61cf0487 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 0x9a0a274f qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x0afa2a50 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5d2898ce hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9de58994 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbaeb2a5d hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbd3f42aa 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 0x652fb0b6 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/mii 0x1d958aa7 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x210f68af mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x510f4405 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x51d923e3 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x596d6444 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x826deae0 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x8eaaa1b1 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x9502c818 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xe248d163 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xee779264 mii_check_media +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0xa74f1ed3 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xd9a84762 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xf5acc7ca alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3dfae947 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xac495a94 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xc9502f90 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x79fe9204 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x03c16a97 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x331726e0 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x4a6b5123 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x5b13566f team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x7311304b team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x76d653c5 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xc3c707ce team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xe9d21b4a team_options_change_check +EXPORT_SYMBOL drivers/net/usb/usbnet 0x103734f9 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x15371126 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7b6849b4 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0097fdf3 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3461ecad attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4124f078 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x42add93a alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5a4c64fe unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb4a0bddd detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc39ea769 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc56a6693 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc6773715 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xda13fc45 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x7c6b6a82 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x05ac3758 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2267f5c8 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x37a529be ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4991a029 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x525db4c9 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x757798ed ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa865ea18 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb4e7c4f2 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xba590423 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc34c29ad ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdf0e6d4d ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdfc7f28b ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x034d9f79 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x04ba97ad ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0bfdd62f ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0e7bba96 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1145bba4 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1485e4db ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1ae69f34 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1e43d282 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x208fd6d7 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x293409a6 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x30ab86b4 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x38938887 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x49f56131 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4ea823f2 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x51f67c95 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5b0641c7 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5f57e8e5 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x61b8503d ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x63530697 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x769f5b51 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ae93dc9 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7cd732e1 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7e7f3529 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ffac603 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x85d47c20 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86c9f0e7 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x948014ec ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x94a0636b ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x94f15bde ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9ccc59d9 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9d13794c ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa23da4f3 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa47d64a0 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaeb5ca9f ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb1450ea4 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb2254ee9 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb59d402a ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb9a9696f ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd9ae3dd9 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xda23def0 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe4a1af35 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe9ce6bc4 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xeaadb567 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xed44a630 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xed73e70b ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfa591f4b ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfbf02a18 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfe4f8e57 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfffe414b __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x10d3d475 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa893fb93 ath11k_core_get_hw_mac_id +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x23dbada6 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 0x3d52e2a5 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4a74c36e 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 0x9ca3d214 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xac3c6868 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 0xd92881a6 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xda293ea7 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdbe1d5b6 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe5ae0b73 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xeacf4072 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfb51019f ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0fd66adb ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x19d350ad ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1c019b75 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x21a4533c ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x29054826 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3392da1e ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3e7bec57 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3e9d58a8 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4c0f2128 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4f308102 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6bd96aea ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7b7fc878 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7cbf44a7 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x88bee239 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8d78fdb1 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9f5ca3db ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xadca1692 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc8a9b379 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcb5fe088 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd180d27 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf766e251 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf778d850 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfd5d6857 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01fc1077 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x035d8c07 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x037d4751 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04c17b72 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x07bc6825 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b7f57a8 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f67b1e4 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1178525e ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12c26aad ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14790424 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x16e88b85 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x173cb5ad ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x189f88b2 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28068005 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c07b5d7 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e383dac ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f6fe4af ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3033d128 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31e161f1 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x32423791 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x325d0450 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33968675 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3886d300 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38ec2f02 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d48b93a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fc8291b ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x421864ef ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43ed9a72 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4932216e ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a847d87 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b274d9b ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4bda979c ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51ccbb43 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53d9f114 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53e54bd0 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53ec2a09 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54d8740c ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5562a162 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x556bab74 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x55cb5f8d ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5707ace8 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f80a8f0 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x611e2890 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64ef9d73 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x661c283c ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x674ea7d5 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67840617 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b7d28b2 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6be1a0e8 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f00e012 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70bebe5c ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x71dad9fe ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x788cb115 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b05ab6b ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b0dad41 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83d6a807 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x85517ff7 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x85b539ca ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8644aab3 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87884ccd ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87b8dde3 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88724ca0 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8af643d8 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8dfd0ce8 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9016f73b ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x903dea4e ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9323445e ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9521ebe4 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x965883a0 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9801284a ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a51acee ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9f91a502 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa1fac08f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa397740f ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa628f47b ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa662722f ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa68ec996 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa08a42b ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac901edc ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae7b69ce ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf8f0731 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb50cef48 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6577565 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6a17234 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xba7ae3eb ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbb52867c ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc0ae0e5 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf50f3a7 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2df682d ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7b594a0 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc89333b0 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc93e7a7b ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb2ed60b ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd51786e2 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd809722d ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9dbec36 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdcb79b61 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xddccda26 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde48ceb8 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe593f02b ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe5c9e2f6 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe826d85c ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8569148 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef2be58e ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4ce0695 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfaf7c116 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff7ad58c ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x2d6c0949 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x6f9f9f06 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x74ea6e6b atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1582ebf3 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1bfad3e7 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2d313288 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2e4bc7f3 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2fcecae1 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x4a7c7b80 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5bf3af71 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x82eec253 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9159fa77 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 0xaa6fe3d3 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xae1b01fb 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 0xdee40343 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xee5cc8d5 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0c34f0a6 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x12aa2a66 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1ed2afd6 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x21ff2018 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2c062e37 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x33b2f309 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x40dbcfbb libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4299d5e1 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x447310a7 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x457156e4 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x520aa644 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5c6fe3a7 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x68d13a45 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x714cba21 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7d9688ed libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x931236b0 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9e1285ed libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa4c74d91 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xca29dc6d libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcc71f27a libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x053e9bd6 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x074efa24 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c448ab1 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c806a00 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f6e429d il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x104243e5 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x107a0007 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14ef6c05 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19af558b il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x203fdbf2 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x204c5eb6 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x220d6b31 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x225ecc76 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x241a63b5 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2507fb27 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26ccade8 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x296458a1 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x29772a7c il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2981ff19 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x29b8db58 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e252e09 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x33e5f6d9 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x341a9344 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x36e0607b il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x37309f22 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39caad2c _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3a00c541 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3a0ccae4 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c58fb31 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c6036c2 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f8079b2 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42b281a3 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x45372c8a il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x46e1b192 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4a0b471b il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4a150ab1 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4c3a0a93 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4dd7d917 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4ea96ed9 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x57cff3ed il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5be6cf60 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5c3c90f2 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ddadfb5 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x626a00ab il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x64c9db52 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x66169214 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6817caca il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6afe2f80 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6b2ee8ee il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6bac4f8b il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c8224e0 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d0445e2 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6de5937d il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6ea6f2c5 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x718f40f7 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x72f7344d il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x769f5753 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7820b2d6 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7891a1f6 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b79283d il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x831b97b7 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8958a536 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9297fa02 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94d4c179 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9c413f8d 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 0x9dc8d03c il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9e66332a il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa03ac1a6 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa14ba853 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa1e01546 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa2c903f2 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa2fbb9e4 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa391f61e il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa89701da il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa9538930 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac7a6c8c il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xad2cfce7 il_send_stats_request +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 0xbb049cf4 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfaada2f il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc1528dc1 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc587e9a5 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc652c7e7 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcf6f415a il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5a18a33 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd679d9ee il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdb77f348 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xddc904cc il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe399548e il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe3d0dcb7 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe5412a65 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe571ad15 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe866b8a4 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe984e014 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xee00f27f il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5122103 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf6f9c92f il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf7e4a784 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xffab08b3 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x33c2544a __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa44e2870 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xab9db4d3 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4550bb88 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x486b6063 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4ebfab42 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x50027f77 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x521da89f hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x523993d3 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x571f4829 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x690c3d59 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6c7cc2fc hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x70ec4a16 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8b8b5478 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa5d37eba hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa8acb75b hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xad2e3d75 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xae08f341 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbb28c470 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc06e04a1 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc08489b1 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc4674948 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcfe7ae77 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xda470744 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdc40c006 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe7df5913 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xec567476 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xffa6c082 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x01dd9183 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0347ff33 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0f505d77 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1413f786 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2a71c739 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4f957ba1 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x596fb55e orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5ce48b33 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x74b47d18 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8f166c9e __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x91687b1b orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9883c54f orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa9ceb051 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb7ad9187 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb9992b4f orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xeb4c9831 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xd3b02186 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x369c2612 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x08e81c79 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0b6a403a rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1474d08d _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1960bd2a rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1d1b43e8 rtl92c_dm_init_rate_adaptive_mask +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 0x242d5da4 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x253dab98 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x28fdb148 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2ffb3eda _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x300101e5 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x375541c5 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x56d1a438 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5c7cd713 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x77aa0a45 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x79a0fa97 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7e268f46 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x85ac0cde rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x882f786f _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8a1fa118 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8ec14645 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x90dd6809 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9296a77e _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x947c71e5 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa845f19c rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa9709a2c rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xab561fc9 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xac3a9641 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb385d5f2 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb5633c84 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbb90cd39 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbd103bfa rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcff0463a rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd34728be rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdf74ca53 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe25fcbe1 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xedc2e236 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xedfbd837 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xeed72de1 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf1cc5f5e _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf4c508dd rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfadf6705 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x6fd2fd43 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x9abc7f92 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x9e8cec1d rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xc2c20bbe rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x2df0f61f rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xadfc1fb6 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xe81b5418 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xe9ac3289 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x05644716 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x106c20b9 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1ab90a3b rtl_process_phyinfo +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 0x208df6aa rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d4b54fb rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4346a54b rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4495ab62 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4eafa247 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5db8552f rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x667a2324 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x66a0ba00 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6946dde0 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c60c175 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x731aa3d8 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7661e9d1 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7cb16a95 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ced5ce5 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x90ccb798 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x961f5f68 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa170d086 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa3fa463 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xab3ddbf7 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xafc6bf56 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb101e708 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd5873508 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdd2e1c04 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe263f01b rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xece25bdf rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xef2e92ef rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf31110b8 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfce56a79 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x05c37cb3 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xee230601 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x01e16d3f rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x02892845 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x098f2f1c rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0bc61ab6 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x137f02d6 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x151962a5 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x15ec00dd rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x203ab58d rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x22e67c1b rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x235ed162 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2f09408a rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2fe12d8f rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +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 0x48165ea2 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x48cc8255 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4be6a5b9 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x57731c00 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5fe446dd rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x63b4433f rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x695da6fe rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x69f4bfad rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6c8a8f80 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x72ec36ad rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7433cd2f rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x75697152 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x821bdde2 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x826082e0 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8b159f1d check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8d73cf3b rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8dcd4928 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x906662d5 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x941657c1 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9cdcf384 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9e1a5ec2 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9ffee748 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa1df1f7a rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xac37ed51 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb413f8f8 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb670aae5 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc88429de rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xce3401a9 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd061ef0f rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd296987d rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd70bcf5b rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd82b9f00 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdfb9b84e rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe146dbf8 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe1ef304b rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe37d4b85 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe4af7516 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe6a7371d rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf28b5e22 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xffab33bb rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x09f186cb rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x55c7f14a rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x9c74058a rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xb4dae5bc rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x8c2a8fa7 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x594ae8a1 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x5c6209fd wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x6993ab80 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xf62dfaec wlcore_tx_complete +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x2fc4eea8 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x5f2ff9a1 fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xdaf8c807 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x4ce9465f microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xe316238e microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x136ad45a nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x9ca86c50 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xc02e1ba8 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x2db7a8d3 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x907f871f pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xbfb9bb97 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x33a49e20 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xa855314b s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xd6afd413 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x060e000d ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x0acccad3 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x17e43b6a st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x1f8ee6cc ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5144062b ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x69027f1c ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xba3a2d45 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xdc4b4d6b st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xe3e909dd ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xe700b66b st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x161f2c50 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x17a22391 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x181b8db4 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x3cafea1d st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x46642842 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x507a07d8 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5659f8ce st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x63b32970 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x641a81f7 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x659d47d2 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7707f7ed st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7a870eea st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x806e087d st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbc5762f8 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbcb44216 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xcce4abd3 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xdc7f9311 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xeac7f0de st21nfca_dep_deinit +EXPORT_SYMBOL drivers/ntb/ntb 0x1000b677 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x1112a493 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x11d65db0 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x128cabf7 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x12d444ca ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x152a7f43 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x24318848 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x39e96d7e ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x62640a2e ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x68a57c0e ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x72ecf5d0 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x7316df66 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x9adc0ac5 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xb1d1060b ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xb267c840 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xb5113594 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xced06e99 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xdeddb802 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xea773869 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xf76a1199 ntb_msg_event +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x36726b2c nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xc3b61835 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x1032b642 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x18d58add parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x250def57 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x256e292e parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x2ea060c7 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x2f80bede parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x32a0b9fd parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x3dc6f1a9 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x45b9a9f4 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x484ec289 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x495b08e2 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x4ae4fd4e parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x58a2431a parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x5d91442d parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60bfd515 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x611c4d88 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x65487f94 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x6b2e6e13 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x7c4b9132 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x828ea157 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x878bcf50 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x9ac35d62 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xa8f8b398 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xaaed1ebd parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xb66632d7 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xcbffb0dd parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xce31dbf9 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd3857e93 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xe09a58a9 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xfa93db85 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xffa71ef2 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x52904875 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x7ffa1414 parport_pc_unregister_port +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x1f7c91c1 cros_ec_handle_event +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x79659dbb cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xb31d9f81 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xb3298c3b cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xda38cf7b cros_ec_resume +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x4606ebd4 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x65297f28 qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x03da6b64 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x24591f44 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3444f757 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3a14277d unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x556b7816 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x558a2ebd rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x55b721ff rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x60b46d09 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7120c053 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xae8f38a0 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb24e050b rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd479ba64 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe61899d3 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xec9eec01 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x1b849a9c ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x173d7e0c scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xb6df5440 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xcc2e20dd scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xe895d9b0 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0d7651e3 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x10db0915 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2120c44e fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3701ce67 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x428f1630 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5f1fbbc7 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x77bc57f8 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x96c397b6 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbb31526c fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbf0f51c5 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf5b9e9c7 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00ddb8dd fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01439070 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b2dff3b fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x154b7593 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c7525e5 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d0af031 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ee9e46b fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3109157c fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x352bcdba fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c536cad fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3cf6f871 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3dd0c523 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45fbd6aa fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a3ad6cf fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x51a8ebc1 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x546f146a fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ab41f0c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5abe1423 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x60bbdcb2 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63521ae3 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63702820 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x719f595a fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7374e28d fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x74bb5ce6 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x791bbc2b fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79439204 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cacf970 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cc341a4 _fc_frame_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 0x81258fbe fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8205dee4 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x84148663 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x88e7cf96 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c15d58c fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91befda0 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x930198d1 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9e54d883 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa38f868a fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa7191feb fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa871f5d1 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae74bbe0 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf53461f fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb1f63123 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3ab7487 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb932cc52 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbbb5c94b fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbcc2ffe4 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1b0f400 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3f4cd6c fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc604a1db fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcd7c46cd fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcf313df7 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd950b052 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc19139c fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe3af80bd fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5c305bb fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee894155 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xef455467 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf4d1c237 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xff244730 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xa0d8f665 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb1af1f2c sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xd5a5f3ce sas_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x1bc213a7 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 0x118dcf88 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x249d50a1 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x257ff6ed qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2e75a213 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x385a1fb1 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x76462137 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7ca0f186 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x93d54bd2 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xbaf0ba92 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd1f83567 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdf4a8014 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf70aaab3 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/raid_class 0x261776f1 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x2e2dd738 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xd7cc0dc5 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1395d962 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2b23fe72 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2b402a2a fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3966ea6f fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x43c8bbdf fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7290ff3b scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7bff9fe3 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7e2690eb fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8d4f4aaf fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x92ce3128 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xaab2acc6 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb68f77ef fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb733a930 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd52ff701 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf1ebc481 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfe92df0a fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x07a8b632 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x35d22e54 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3714684a scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3930abef sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3994f7b4 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4291cf5f sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x50857b4f sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x53fbabfd sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x55ca4a4d sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x57dce1de sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x617f6c7b sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7789d8b4 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8d3d66af sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x945c9d8d sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9c3a24aa sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9fcf527d sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa33a0859 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa4d6975f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb5bc9a92 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbe59755c sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbf6aab93 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc1c7fe71 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc620f149 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcb6e8bc1 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd27b451a sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe12a4f1a sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe1e49964 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xec441363 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc8cc224 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2063233e spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x591ac095 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7ff5df27 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd2008884 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xedcea010 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x22eceeed srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x547b0715 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x84cc81a5 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xb51d4b68 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xba502599 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x2aa622a0 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x3d66e40b tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2116dcbf ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x226c0400 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4978a3c4 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4ca22f46 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x5ed1815e ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x6a663258 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x79bccce5 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x972817fc ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xa90d10c9 ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x1e23f835 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xd95e3947 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x00b44ef9 cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0b713282 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0c0d061c cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0f51b3ef cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x431f28d1 cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4ec12258 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x59ab9e73 cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x8cd5a570 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x94887ba0 cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xace52164 cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xc288f9f0 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xd8b8fbcc cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xdde7bff5 cmdq_pkt_flush +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x906ba2df 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 0x394ea7d1 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x40dc2053 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x52835c83 geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x56ea1332 geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x66ecd466 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7ec86d14 geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x825f6df9 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x8b69ebbc geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xce23af2d geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xf4a4e2aa geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xf9c19291 geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xfbda544d geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x04f11f66 qmi_handle_init +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 0x4067c201 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x48d22d5a qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x61c852b1 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x64755050 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8ab91328 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa2ff1ede qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd2847517 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xdbac2ea2 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xee348751 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xfa5f9871 qmi_send_indication +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 0x932eb0e3 qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/smem 0x9979b76e qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0xfa6b7fb4 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0654eed9 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0d52850c sdw_stream_add_master +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 0x3b71c0c8 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4ae3c2e8 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4c5d48e4 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x506d1c40 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5a098d09 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6b00ec86 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x943decad sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xab421282 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb0b9111e sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb96556ed sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xcc00e310 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xcc38bb86 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xcec3f876 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd9ce673f sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe3219a78 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xebd4bf7b sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf3493ac1 sdw_clear_slave_status +EXPORT_SYMBOL drivers/ssb/ssb 0x0d967de5 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x15e0bc41 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x2e999ece ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x352d033e ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x3f1b44de ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x41e28634 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x46926ee2 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4f7a3fb6 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x51c0fe45 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x5a3d2559 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x5ed6631b ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x647b4178 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x73cf2d03 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x74e4a452 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x7d7eca49 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7fb92098 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x8d62521d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x8e7b60b5 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xb9e64140 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xf2fe120a ssb_bus_resume +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x016b9fde fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0b6aadb7 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0de61f6e fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x11a7b80c fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3ae4dadd fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3c8ac3f0 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3dcb5706 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x41fdc1f2 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4bca4343 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4c939aa6 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x555e6dc6 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6110719f fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x61c8992b fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x84bbe577 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8bc59e49 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x951206d5 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa395d1b3 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb5896914 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb8a062d1 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc7833018 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc92866d4 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xec68f20c fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xef70df29 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf2087659 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf99dd558 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x4116ab80 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xb4bc1296 ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x00a19fe8 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0401fc9a rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0e49a790 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0f82aa93 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x121ff61c notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x15de51d0 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x190b1184 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1aea5819 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1bd6cfbf rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1c2a472c rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x31eceb9a rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x33377672 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x37de27a6 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x389c8fd5 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4181de26 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x41b7f58f rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5655f23d RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5ba2711a rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5bbfb77e rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x61656626 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6cbc545c rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x82456c7e rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x838de199 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x861ced3e rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8fe6d4e0 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9a79bccf rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaa95523f rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb26a3256 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb36270e3 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb608e25d rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe8fc9f5 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf3b5579 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc23564b5 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc894090b rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc99e767a rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcc9e5bd8 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd0a87f8d rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd665b7f7 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd6bdc344 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdcf398f6 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde8e26e9 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe4c93bfe alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeb23668c rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeef0d1cb rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf084f68d rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa8d5c6c rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfb3068ae rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfc1479f9 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfeb589b6 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0ad8ac35 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x24864435 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2bf1eff1 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2dd5cebc ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2df6fa41 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x30c11e99 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x376cce6c ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37978fdb dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37b954f4 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3a59020c ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3c7984ab ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3d3f2d84 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x455f346a ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4e6a11cf SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4f684005 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x521d5d81 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x554cec5b ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x56f9c439 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x59ee289d ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5c79296f ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x667ff953 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x676de417 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x72765cbb ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73568a20 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8403cb0d to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x89ca2b68 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8a737f3e ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95617785 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x97c56f59 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x97f2deb9 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9e609689 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa0155f08 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa153f627 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xab0b3632 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xab97ffd1 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0b6cd25 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0fdd919 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb1df0922 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb234c070 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbd5a17ef ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf7d0436 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc3ff70dc rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcf615c04 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd06ecc8f ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xde1c3b23 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe131467e ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe7ad2286 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe828423f ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xedf6f53f ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf1551ae4 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf1e518db ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf95396f2 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa47969b ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc5c98c1 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfce65ca1 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x01376b32 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0639cba5 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0c1acbec iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0fd09135 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x11513dea iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x18b1d979 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x18fff6be iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1a259bd8 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x22f5bc3e iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x24ecf2cb iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x298f5bf9 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2a759b4d iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x30176929 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3b933938 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x46593237 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4b19d620 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x52d9aad7 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x54f7dda7 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5d2fb83d iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5de72689 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x606e6f29 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x61c2ac92 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6c47e70a iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6d0a1d43 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x71b1556b iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x791836a7 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x847b50cc iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x882ba6ba iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x88970085 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8eeb3cef iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x940baffa iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x991dca0f iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9a2dca28 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa36125b6 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa3e6fcd6 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaba5b495 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaf43b4d2 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc0b5d6f1 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc37b271e iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd9b06371 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdb533e92 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdf0e69e1 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe321abc5 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe345c713 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/target_core_mod 0x081d2252 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0cf10ea1 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e77c1e4 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e91361d transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x14cc0236 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x175a57a9 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x17c4a173 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x17d78d4c spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a0bf6f3 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x1acbb1b2 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x1ae89cd8 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x1aede2d7 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x1c4e1aae target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d9e0e05 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x2f2698f5 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x3401dc47 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x35623a06 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b8b83c4 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3bf5ac02 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x40ce7ab5 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x48277cbc sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x498ee119 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a29b9b9 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x4cae428e sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4f588352 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x50e0a58a target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x51b05100 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d8d4d33 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x61be5da2 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x6244951b target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x62b5dfd0 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x660734de transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x66e6ce66 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x6f0631d6 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x71674b8f transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x725c6439 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x72ad3a39 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x7693f268 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x803b6f9d transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x8532d9c6 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x961dbfab target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x9aeffdea passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x9f7c5811 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7458234 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7ced36e target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xa9c1b634 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xac637bf5 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xad9af2c2 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb2438bbc core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6866834 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbb27fe2 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc097ced transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0xc05b9cc1 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc304bf20 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcf80e527 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xd0c1a11e target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xd136a750 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8160f39 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb3b4d74 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcd421f5 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xde7e056b spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xe00f7db5 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0117a5f transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xe958e3a7 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe9978383 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xeba3c84a core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0xed4cbf89 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xee3f66e6 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0ca09c9 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf79982da target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xf89f0f22 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf97a1c90 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9ee691e __transport_register_session +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xbe39dd9d usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x980e5956 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xac424105 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1e288b6c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3a94a98e usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5182518b usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5e1a9c6a usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x64c56149 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6658bc42 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7f4ddc7c usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb3929dc8 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb4d27ef9 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe70470b4 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf3e76bb9 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf4b46372 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfc0fabce usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x13c77bc9 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x2935ba80 usb_serial_resume +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x00524924 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x12973dee mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x222d36e3 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x29b02833 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x3dfe0ece mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x473f3c9f mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5ccf5eb4 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x604645f6 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x78da6046 mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x835a3d39 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8bedaffb mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xb4fac62d mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/vfio 0x05b8cfda vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0x0a60dd95 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x0f655355 vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x51f16cdb vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x5d3a804b vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x8aeba47a vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xa34dc1b2 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xd78d3eef vfio_register_notifier +EXPORT_SYMBOL drivers/vhost/vhost 0x89f447ba vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xd3ae95aa vhost_chr_write_iter +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 0x3b2fbd56 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7bda5e6d vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x821e9390 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x98a7e2b2 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8a5b2a1 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xae7c3cbf vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbc172ecf vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x00176d3a devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x53cfbe43 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xadf6179f lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xde8437fb devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0b72f7dd svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0c326e01 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 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x53670ed0 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7b861c56 svga_tilefill +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 0xa72ea235 svga_tilecursor +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 0xeb12c289 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xf2c95257 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0xebec009c sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x44f29a57 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x99539fc9 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x1180c6c6 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 0x087f5d74 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 0x9244b585 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xaabbcb36 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xedc78dc3 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x2ea93c7f DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x40d4af87 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x85f27c47 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xeb5514e3 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x3c55b146 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x0f06176c matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x03042256 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x83c88c6a matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x98bc2756 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xb15f9797 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x1fea47fd matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x3e431a41 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x06199c87 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25e949a3 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x3a3f145f matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xe5fcb5fd matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xfafcf301 matroxfb_DAC_in +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 0x07a9adda dss_mgr_disconnect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x125203b0 omapdss_output_unset_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 0x3395c480 omap_dss_get_overlay +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x37fb4b02 dss_mgr_connect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3a50573f dispc_ovl_check +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3d36d54d dispc_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3fe4311d omapdss_find_mgr_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x40e02c3d omapdss_find_output_from_display +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 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 0x5266d3d1 omapdss_unregister_display +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 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 0x7166ecb7 dss_mgr_register_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7f1a0111 omapdss_default_get_resolution +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x81f4e810 omap_dss_find_output_by_port_node +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x827143a1 omap_dispc_unregister_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x8471a74b omapdss_unregister_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x87fdb051 dispc_mgr_go +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x933d90a2 dss_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x93963a85 dss_feat_get_num_mgrs +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x948d51bc omap_dss_put_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x967cb4e8 dispc_ovl_set_channel_out +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x99b5d7b6 omap_dss_get_overlay_manager +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x9ada78a9 omap_dss_get_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x9f63da67 dss_install_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa13d27f5 dispc_read_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa4f6a175 dispc_mgr_get_sync_lost_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xa5ba7f5d dss_mgr_unregister_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xad3c2802 dss_mgr_start_update +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xaf408200 omap_dss_find_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb2d2c83d omapdss_default_get_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb3ed5aa9 dispc_mgr_is_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xb7f94a15 dispc_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xba8ddcea dispc_mgr_get_vsync_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xbafeee36 dispc_runtime_get +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xbe0d4752 omap_video_timings_to_videomode +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xc45105c3 dispc_mgr_go_busy +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xcc197296 omap_dispc_register_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xce27ab97 dss_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd1067ba7 dispc_ovl_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd17c8c05 dss_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd4de59bc omapdss_register_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd70adbc1 videomode_to_omap_video_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xd8ed186b omap_dss_pal_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xdb93b838 dispc_free_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xdc222877 omap_dss_get_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xe7e8fbd1 omapdss_default_get_recommended_bpp +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xe97b5c49 omap_dss_get_next_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xed398f3e omap_dss_find_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xee2bc2d0 omapdss_is_initialized +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xef291e9b omapdss_register_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xef3b2795 dispc_mgr_get_framedone_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf327cd04 omapdss_output_set_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf4a7fc6d omapdss_compat_init +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf4f63234 dispc_read_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf7aaf59f dss_mgr_disable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xf9427374 dispc_request_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xfa95d18f dispc_ovl_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xfe40bf95 dss_feat_get_num_ovls +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xffd2cf99 omap_dss_get_num_overlay_managers +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/w1/slaves/w1_ds2780 0x1641beef w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x78b94772 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x551ee50d w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xec273108 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x31def319 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x877721cc w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x8f83748a w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xcb5fd19d w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x17c8ae9a bd70528_wdt_set +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xa2e4ea09 bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xbaf7b36b bd70528_wdt_unlock +EXPORT_SYMBOL fs/fscache/fscache 0x03e82969 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x04cd350c fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x04e6733e fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x059a00d2 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x18494915 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x215ebcbd __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x24ac2d7d fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0x2fa87285 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x32f6c266 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x35167087 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0x3848e12a fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x392a22e8 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x3d33e5b2 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x457d26de fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x502f25a9 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x518ec8f6 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x53260420 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x58b893a0 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x6970badd fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x70aceece fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x70d26bfe __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x71a8fa4d __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0x735fd450 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x7a1f8b1e fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x7a33262a __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x80ab7a2f fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x8df8c39e __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x8eb1fb4f __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x98e028be __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9c56a844 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x9cbb0b54 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x9e491557 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x9f0fe80d fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xa1530aea __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xa66e8e3b fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xa8d01aaa fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xde74e8c2 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0xe72bfd33 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xee102824 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xf841da10 __fscache_maybe_release_page +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x10a3d752 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x8fa8eeb8 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x9e856381 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xa3ea6e29 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc2b3908c qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe5020fe2 qtree_write_dquot +EXPORT_SYMBOL lib/crc-itu-t 0xa2048e95 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 0xba95c5c0 crc7_be +EXPORT_SYMBOL lib/crc8 0x5a742e56 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/libblake2s 0x246ea205 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0x2cfa6ca1 blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x23eea787 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5519169b xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5d776412 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x64375eb4 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x738d84bf xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xb1693668 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbb7cb0d3 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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +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 0x84e0214b lc_committed +EXPORT_SYMBOL lib/lru_cache 0xbbe7c23c lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0xc48fa976 lc_set +EXPORT_SYMBOL lib/lru_cache 0xc6e4cd46 lc_reset +EXPORT_SYMBOL lib/lru_cache 0xcb7e3981 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xcb990a55 lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcbec7b3a lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xcea6747e lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xd212c9f0 lc_get +EXPORT_SYMBOL lib/lru_cache 0xeb13128b lc_del +EXPORT_SYMBOL lib/lru_cache 0xf460a486 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0xf5ea5f5c lc_index_of +EXPORT_SYMBOL lib/lru_cache 0xf6acec20 lc_find +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x4cc636f2 LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x765fd165 LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xd02774b1 LZ4_compress_HC_continue +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 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 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 0x657393d8 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x72558341 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7bd1e6a2 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xa4b180fe lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xb635f773 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xeebbd0c7 lowpan_register_netdevice +EXPORT_SYMBOL net/802/p8022 0xf172b06b unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xf92a53ce register_8022_client +EXPORT_SYMBOL net/802/psnap 0x5c7cefba register_snap_client +EXPORT_SYMBOL net/802/psnap 0xfb11ac47 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00d8d3af p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x0a2a56ca p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x10bdee42 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x17ca752b p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x1b353c5e p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x1c46a6c8 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x22a05bbe p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x2e955ea6 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x3ba2fd3d p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3d986cf9 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x3f6e1e19 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x41635938 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x48a90ebb p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x4c1c47a1 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x5026e3ea p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x50ae783d p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x5288aa15 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x54fc2655 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x57e02dde v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x664c413d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x6aa76fa5 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x6c450def p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x73da4316 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x7a682876 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x80bbc6fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x87518fcb p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x9226053a p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x949fcccc p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x9c90a2e9 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xa22ab3fb p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xa4265568 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa68fd409 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xab11be47 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xacae0fac p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xb929c86b v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xba2fb160 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xba424317 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbfbfbf3d p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xbff3d208 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd51464fd p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xd83d6090 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xdef9bbe3 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xdf2a1bc9 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe6b1e55e p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe761a6ba p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xf70c907d p9_client_open +EXPORT_SYMBOL net/appletalk/appletalk 0x359adc16 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xd04e71a4 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xd4481218 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xe983fa70 aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x35f18177 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x46636aa7 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x5166f155 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x6b9a3871 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x7c49d446 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x87805d69 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa36daa8b vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb194b6a2 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xc56335b8 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xc5995547 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xcf33f036 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xe26f71e9 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xed94dc67 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfa7769a0 atm_charge +EXPORT_SYMBOL net/ax25/ax25 0x0d7e69cd ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x16f6add8 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x50137672 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x94de5d3d ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xad0f6697 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xaf74b6a1 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcd405501 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xe7fc4587 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x091a67fe hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x15885935 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x168260ac bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19db8c4c hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2a35fda6 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2f8f0f19 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2fef07de hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x30f9d3d2 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x452979d3 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47e6a4b2 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4dc6d7b3 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4f7a95c5 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x543f362a bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69528c26 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69cf94e1 hci_recv_frame +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 0x8c9e1c5b hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x99c304e7 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9ab12518 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9c0267dd hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9dfcd5b7 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa98d3218 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaea7f489 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb4aba513 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb811a934 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbb1ccc60 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbf2d7536 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcd6406f7 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd20e4e87 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd32c4c82 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd48adf07 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd579a70e bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7d89fcc hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xda0c6330 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdb1b68ba hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdb767759 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd6194eb l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe0657ff2 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe09112dc hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe3bd709c bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6e46a5c bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea475132 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeadd0df6 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef65aee2 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5853138 bt_sock_poll +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x5719c3e4 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x6cf991af ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x884a579a ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc1598a32 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x26fab1b2 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 0x434b8236 caif_enroll_dev +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 0xa9fd2532 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xe6e1d62a caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xeaf013d3 caif_disconnect_client +EXPORT_SYMBOL net/can/can 0x1cd43d37 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x393b6c98 can_send +EXPORT_SYMBOL net/can/can 0x7e39a306 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x97289c7d can_proto_register +EXPORT_SYMBOL net/can/can 0xc513ba21 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xe9ba08a7 can_rx_register +EXPORT_SYMBOL net/ceph/libceph 0x0068beb6 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x05b9d5bf ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x0981ec6c ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x0a3c60e0 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0x0ce9f047 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x0cfa8a0f ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x0e23765c ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x1282b8f6 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x1294a49b ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x13054db8 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x16bbf8df ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x18fb8475 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x191c1ab3 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x1c53ddc1 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x1cba3f20 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x1e6fb208 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x1fdbe12e ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x224cc8ac ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x23db0b94 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x24daadda ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2d62ccb0 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x2d7ee7bc ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x2dfcfed2 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x2ef79369 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x30e43a49 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x30f558c2 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x312b3183 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x317ac0ee ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0x335c1d0d ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x3454b6db ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x3522979c ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x37ea23c3 ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x38130e3a ceph_monc_wait_osdmap +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 0x3cc29cdb ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x3d0f2a7c ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x3d874329 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e7635f1 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x40310528 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x42ac4db2 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x4348f6c9 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x44f9ddb5 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x45044d94 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x46ec81f2 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x47075eab ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x493aa28e ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x4a841977 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x50dda069 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x51d94814 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x556ad317 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x57d5f7a4 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x59c13fdc ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x6038df48 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x6062f4cd ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x609d70c3 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x61803435 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x61a0ffd7 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x644b6e50 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x6a66d4ec ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6bfd3d62 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x6d234aa4 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x6edb8cb7 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x712f3d1c osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x7779d59e ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x7a3239a2 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x7d1de5ce osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x82dc2129 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x83e20fa9 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x857755ae ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x8629c51f ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x877fe09f ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x8bd5050e ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x8ddf8d4d ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x8e5e83dd ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x956b5228 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x967c9d1b ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x99796886 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x9b0feb59 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x9c73758f ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9cc9a06f ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x9d9a6b54 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa1bd0e74 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xaa761dcb ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xab6df7cf ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xae19adb2 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb01e5e17 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xb32d63f3 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xb4ab0dd1 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb546f17c ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbe66da19 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbf8d5015 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xc1fe4010 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xc20c8ca8 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xc21935a3 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xc3087d73 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xc4d4db9b ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xc6dcbb09 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0xc7173ab9 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcabe2e26 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xcae53cee osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xcc56c42c ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xcd6a2d00 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xcff38375 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xd0f7dcd7 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xd14c904d ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xdf3a5bd9 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdf94d30a ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xdfcdc039 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xe078ca80 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xe175e72b ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xe53c6612 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xf3667089 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xf562aab7 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xf5c129f1 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf6b9f79a osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xfff14769 ceph_osdc_call +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x04450e31 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x0966ac2e dccp_req_err +EXPORT_SYMBOL net/dsa/dsa_core 0x2a397f7a dsa_port_vid_del +EXPORT_SYMBOL net/dsa/dsa_core 0xa9f4dc50 dsa_port_vid_add +EXPORT_SYMBOL net/ieee802154/ieee802154 0x42a653a0 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x48288292 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5b01571c wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7698b98f wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xdb53b1af wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xdbf51264 wpan_phy_register +EXPORT_SYMBOL net/ipv4/fou 0x19741ae4 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x6200822a __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x6b104f8b __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xff1adff3 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x033b60f8 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x79c79848 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x87078ce1 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xb1c2160e ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xf39ea813 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x5717efca arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7a78ef21 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xac47e999 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xf87843a6 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x28408b04 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7d856992 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xc447df1c ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xe6a7471a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xf3db25b8 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x1e828e18 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x50bf909e xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x3726375c udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x32adbf8e ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x68f942e2 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x68fea82a ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x71189848 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7d30ff94 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8cb47b08 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x96a46a67 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x9740676a ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xa3f8bff4 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0f9c359b ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x13237f04 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x25e1c098 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x26615fc6 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf68c3721 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8df82041 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x8fe04221 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0c7f26d6 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7277f635 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/l2tp/l2tp_core 0x9326c716 l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_core 0xa49b4b0d l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x23d266a6 l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x06e29577 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x2eb4e497 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x42ae1fcc lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x6bba1fd5 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x806e8308 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x8ae919f7 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xa3e32841 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xe557f02d lapb_getparms +EXPORT_SYMBOL net/llc/llc 0x1eeec76a llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x21dcc051 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x2ef3d473 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0xb9d3c340 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xba3b462f llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xd75f52bb llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xf00914dc llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x01eee524 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x10ac7715 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x117d8569 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0x16918874 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x1736747b ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x18581150 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x18913b8d ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x18a31c1f ieee80211_send_eosp_nullfunc +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 0x1c72c6df __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x2348f386 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x240f0118 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x25a019c0 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x27ad626e ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x311d1e54 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x33184f58 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x38fc09d8 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x3d421feb ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x3eea8d90 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x3fdab62c ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x3ff94126 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x40c8187f ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x5964fc53 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x5b52109c ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x5bd01934 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x5ce20b71 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x60c03e92 ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x61150d33 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x671b8e57 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x67bf0858 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x67fca498 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x68d9d0a0 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x6957bf48 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x69a71a5d ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x6a8bfbc4 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x6b845765 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x6cbf1cf7 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x6d7a3447 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x6eae4289 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x72b90531 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x7309cd01 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x788b3c5d ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x791c6336 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x7b5a30ef ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x7fe05656 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x8295635a ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x84673142 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x85df8465 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x8e4c92b1 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x8e69277d ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x90cbd59f ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x93f6a3b8 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x940c12f2 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x9488e986 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x96eb7b6b ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9a9df4af ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x9d152e25 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9d30048e ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x9fa8c31c ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa5274b5b ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa6d79eda ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa9148f4f ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xa916060b ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xa9a6e9be ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xaa66f77c ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xab515842 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xab7d1458 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xacb4e19f ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xad8fd8f5 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xae1e7603 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xb532adb8 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xbd257ca9 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xbde14097 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xc0d01752 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xc2ca8182 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xc3eb63ca ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xc776b925 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xcb00b13d ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xcf7a2fd7 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xcfb28c5c ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xd315d9ce ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xdf45d9a7 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe0c954fb ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe32d56c8 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe3d6c954 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xe54326a6 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xe61bb206 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xe8fbcb45 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xeb0927cd ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xed6a3b65 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xef70728f ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xf0611bf0 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf79a18c9 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf8b8181b __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xf9d55e53 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xffebe1c6 ieee80211_next_txq +EXPORT_SYMBOL net/mac802154/mac802154 0x2d1cb310 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x4cf4f478 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x9ce34d6a ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x9e92f798 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xa47c5b5f ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xb06220d5 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xe0b1a21f ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xf9f6eec1 ieee802154_alloc_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0b26dce2 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1b068769 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1c76e659 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x26f259b7 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2dfd6237 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x51ea64b3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x729fc498 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7ad762c6 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa35557db ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xac18e34f unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb7022129 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc1da5453 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdc851658 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xde02f3f9 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf8dbc159 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x6e73283d nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x38ae5b6a nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x61111d6e __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x9ee57208 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xa5d28d17 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0xdde6296c nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x22f4a3d5 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x2c9291e9 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x470ec0c0 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x67151ed8 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x681b2779 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x7a292195 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x7a8e63c8 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x99596604 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x9e80b58b xt_register_targets +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 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x0db5ae9e nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x113dfb0e nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x12c75c32 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x1dd72dda nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x2733c991 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x37054b62 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x3ae47dda nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x440c562c nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x5011e7b4 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x6be03d51 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x80d8ef00 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x819f4ff9 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xb6e5cbc7 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xbc44794b nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xc356e6c3 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xce2f0747 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xd4b29cde nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdceaba09 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe2eeb01a nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xedcbb5e3 nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xfe523bde nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/nci/nci 0x04cebbcb nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x0fbd9ad5 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x1428b7c4 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x1928a3e9 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x2515e305 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x2f184a8e nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x30d2fff8 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x3193c61a nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x49e83f6c nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x4d15aaf9 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x50241ef5 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x521de5c7 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x527bc15b nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x743bb9b4 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x79d823ab nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8118e0d1 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x8a4a0c4d nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8c394956 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x8ebe88dc nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xa1e39545 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xb0a3b3df nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xba5369bf nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xbc95f322 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xc46fbab6 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xc92a06ec nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0xca8a75c8 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xd9d3c706 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xdb8caac7 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xe380db0a nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nfc 0x12de62ce nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x1caa9ac9 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x239732ca nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x26ad5b6f nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x3eeeb290 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x435face8 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x5e76e0c4 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x649c9b24 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x73999a1e nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x769f1728 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x8aec43e8 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x8b80f5d4 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x8e056c35 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x967d0bff nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xadccaef7 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0xb4b2b05e nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xb4da6246 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xbb5b1585 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xc11649af nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xc4202a15 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xd703f5c1 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0xdf62694b nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xe84da370 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0xea42588d nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xeaae5716 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x8cbb3fe2 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x921f5fce nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xc3e9603a nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd5f71320 nfc_digital_allocate_device +EXPORT_SYMBOL net/phonet/phonet 0x0cf3f924 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x1d4ad6a0 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x5d36dfef phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x65894c20 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x8fc2c4fb pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xcfb67a16 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xdc98f225 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xf449f78b pn_sock_hash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x010565e7 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1008b9a1 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x17280229 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1a80d526 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2065775a rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x331e4aab rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x370438ee rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5271e4dc rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6dcb0bcd rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x73f0167b rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7f8d343f rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8f4e737d rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9160131c rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x98e5ca46 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa24a25ae rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa6ae7250 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa98f1760 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd6e2af7a rxrpc_kernel_send_data +EXPORT_SYMBOL net/sctp/sctp 0xf48be236 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x07949ead gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x37975dc0 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xe8fedfed gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/sunrpc 0x5912cc78 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7dee736c xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xadd4d6f4 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x014a4413 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x0ceeb53e tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x5e801e4e tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xdfb4026e tipc_dump_done +EXPORT_SYMBOL net/tls/tls 0x824e4b21 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x1a1ec94d wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xaa37dabe wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x0449a28f regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x05254950 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x05bc7fb8 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x065ee3a2 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x0ed8c1d4 cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x0f2588ea cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x174dcc67 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1c415472 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce86135 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x1e4f95c3 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x1ed04f16 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x25e60be1 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x29ad7034 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x2a158534 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3040e171 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x32166d4a cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x337bc704 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x377b3d54 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x38cb594a ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x3b8caaa3 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x441a9040 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x44a02480 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x450c28c6 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x46b83502 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x46e7eb5b ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x47670801 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x4c904d09 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x50306983 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x5043fb33 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x50977bd5 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x517bee0c cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x533d03ff __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x5574f27d cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x59f64c8e cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x5ba03f3e cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x5d4e4cd0 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x60180f59 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x60380cd4 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x60420bf5 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x61477b15 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x62f3807b cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x6542a9e0 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x66338ec5 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x67636c13 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bba577f wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6f7a1411 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x70bed53e cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x70e8cabb cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x72cee46f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x743d4792 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x798b850c cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7a11394e wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7d58b098 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8049343b cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x84159f81 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8b24e88f cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x8b9336ad cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8f097643 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x8f449990 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x94b9d36a cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x977788e0 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x9bcee362 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9e6364d2 regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0xa17f0298 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xa1fd3292 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xa810a51a __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xaea45a30 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb2c6aee4 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0xb55f8fbe cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0xb6c4632d cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xb92f8c69 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xba724b7c cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0xbbbbfca1 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xc3b65a05 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc69314ad cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc70d35ed cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xc802dcd4 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xcaf39935 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcef0550f cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xcf16c413 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xd4b1dd61 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd7f6f362 cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0xd81cf17a cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xd8ddf41d cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xe0cdadab freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xe31ffcd1 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe6e393f9 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xef9594a9 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xeffbf985 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0xf0e04dc6 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xf111e888 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xf40dfbea cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf6712c11 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0xf8bbe0c0 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xf91a3ab2 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf91acc1c cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0xff2473d6 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/lib80211 0x134ab1cd lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x1475e9be lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x33ee7f44 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x453457d2 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x4aa7ecf6 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xfbbf7b5f lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x22a6423c 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 0x60de800c snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x64db7fb6 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 0x8bc6900a snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xacda203c 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 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 0xdaf3383a snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xa6951afd snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x6b9aec47 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x02c2228c snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0ad8e3d9 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0e3bd0d5 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x14705b64 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x183c2fa3 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2046ff06 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2aa8606f __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2fb216fd snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x33c7e250 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x76ccb79c snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x836d5c74 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x86f649ea snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8ec99adf snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x927d94d5 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xac074533 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbedb3669 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd28901bb snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdc1a5c15 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe4cf96e5 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xead73f14 snd_rawmidi_drop_output +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 0xcc5802df snd_seq_device_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x149059c3 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 0x149d9ff7 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x42f5bb13 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x43493bc2 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x5cc4022c snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9b12a470 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9b4c5f1a snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc0ef9101 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe2ff0bcd snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfce095e0 snd_opl3_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x17bff649 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x25cff04a snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4db421b5 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5c2cd714 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6dd8bcfe snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7b751339 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa9f11bee snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc48047c7 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe0641efa snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x01779c1f cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0ba56978 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x25d208ce fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x38850b92 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x470d6b8a cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5778d23b fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6112367f cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7bc47ac4 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x83b8d60a snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x869d9f54 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x87c63c59 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x88621c73 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x889fd884 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8ee0cb35 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x933beac0 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa30b64a3 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xad16469f avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb3c5c534 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb70db135 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbbd80fd8 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc63ac64f iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd4c6e561 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd9c0f774 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdc30b9f0 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe18564a5 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe5943f8e fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xeac8cb03 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xefd78529 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf3b02417 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfee52e86 amdtp_stream_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x4e0eb483 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xcff5440b snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1032459a snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x12047bbe snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1eacb733 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x25920719 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x422ff409 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x43a87b57 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x58d55e36 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x68dadd15 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x9b67f245 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xed06e0ac snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xf2dec2dd snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xf7ea1cf0 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x796e9ccf snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xcd3a3acb snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x0fd786ad snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x26972f6c snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x9f695bd5 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xba1c877f snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc9f093ef snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe386d598 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1799dc86 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x74b63956 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8cb9d1f1 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa5f88e61 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbc7929a0 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd35a1d44 snd_i2c_readbytes +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x19b7ba94 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1d971036 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x22420e88 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3d1ea3a4 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3ff5158e snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x40501e26 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x44dbabdd snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x45c2e1f3 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5344945d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5d164c36 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7d5c153e snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8804a30d snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa619f4f8 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xada7ce19 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc7ceb261 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdb91eb65 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe1a1d8a2 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1f0c3487 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x242f7754 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x55788f5f snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x80e0edc0 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x969c03ba snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa8c0c52b snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc03378e0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xcc73c752 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xddeb22f6 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x8f4ab5b1 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xbb0c233d snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xdfba7cd6 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0c92df76 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x12151b20 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x14716b30 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x349c846d oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3a159340 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5f48a8e3 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x82c65a43 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa3c421a2 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa5dafde0 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb5c5647d oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc35c5f37 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc6edb9ef oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc7e09310 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc879f292 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcca90621 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd04ffbe5 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe9dd1043 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf491dbf9 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfdaefb19 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfe3067ca oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfe75a24b oxygen_write8 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x75d579b9 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x85d4ca06 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xad630ab7 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe20c7323 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xf865d4cd snd_trident_stop_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x3d70abea pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xaa8f8f73 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x45112aff tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x5f6cde69 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x42ad8b9f aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x6cb9d00e aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7869d118 aic32x4_remove +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0xddfb2d88 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x02eb3f80 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x02eb5fbb snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0323f077 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x06702257 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0994608a sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0cb8113b snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0d8f4b3e sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0e6f5905 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x13b36ee6 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x16b3aa4d snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1abe5ce9 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d230b97 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24b01196 sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2d647a19 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ea579e1 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x493142ad snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4c5fb061 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5379ba88 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x541b9877 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x54254aba snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x56fd81f5 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x57568b88 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6923016b sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6aa22b58 snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6cd6d53c snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6ee10b40 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6f40c634 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7000efde snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x720fdda9 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7398e86b snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x74bbc7f9 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8f8b9fba snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa264a87b sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa2f9cfdf snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa3bed89e sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa76d54de snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xad055b2c sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaf029bd9 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb194bf66 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb2aaa09f snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb41a6416 snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb508f020 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb911973c snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbc1628ad snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc94d7ff2 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc98e10c2 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcf2b6d99 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd1d3bedb snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd3634f6d sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd66e1313 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd927eca8 sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xded7ea2d snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe75cd220 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xede14bdc sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xff7021ae snd_sof_load_topology +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x09482599 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1f2bcac6 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x3165d445 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4f4733ba snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5ec5f055 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 0xf79346ff snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/snd-util-mem 0x44db6e41 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x801ce873 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x97b7ac12 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9f632a2c snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbc531e15 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbe2c305c __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc0f9c9ea snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd7295068 snd_util_memhdr_free +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 0x7a8b2863 __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 0x00073205 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x001e96d6 of_get_parent +EXPORT_SYMBOL vmlinux 0x00415c67 of_lpddr3_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x0048f2fe ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x004cee77 has_capability +EXPORT_SYMBOL vmlinux 0x007dbb82 seq_path +EXPORT_SYMBOL vmlinux 0x00875e0d set_security_override +EXPORT_SYMBOL vmlinux 0x008f07fe nla_append +EXPORT_SYMBOL vmlinux 0x00af71da security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00e42229 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x00eaecc8 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x00fa5cfd xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010b0219 skb_append +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0115d800 param_set_byte +EXPORT_SYMBOL vmlinux 0x011a9e53 elf_hwcap2 +EXPORT_SYMBOL vmlinux 0x011d52b2 ata_print_version +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012bbd1c vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x0130f25f kern_unmount_array +EXPORT_SYMBOL vmlinux 0x0137b13a find_lock_entry +EXPORT_SYMBOL vmlinux 0x013bd779 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x013eca55 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x014eacf7 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x015b3801 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x015f5b97 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x01629e9d redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x0181c17d fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x01830813 kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x01911cd8 make_bad_inode +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01a6a62b devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x01b829ba qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01e769d6 __next_node_in +EXPORT_SYMBOL vmlinux 0x01f8cd03 dquot_acquire +EXPORT_SYMBOL vmlinux 0x0202c029 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x0207fab7 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x021390ed sock_rfree +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x0230e0e4 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0232895f pci_assign_resource +EXPORT_SYMBOL vmlinux 0x023406d3 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x0240b99a netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x0244843d proto_register +EXPORT_SYMBOL vmlinux 0x02492717 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x024fb866 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x02729020 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x027364ed security_sock_graft +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x02906a12 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a1abd7 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x02a7aa04 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x02a97cf5 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x02b182b7 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02cb754e serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x02d97d4d twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x02df50b0 jiffies +EXPORT_SYMBOL vmlinux 0x02e121ca param_set_ulong +EXPORT_SYMBOL vmlinux 0x02e152a4 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f6e34a tty_unlock +EXPORT_SYMBOL vmlinux 0x0304a69e read_code +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0365bcab pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036ba28c fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x03755f40 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0386d661 __bforget +EXPORT_SYMBOL vmlinux 0x038eb5d1 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03a49023 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x03ba39b0 v7_flush_user_cache_all +EXPORT_SYMBOL vmlinux 0x03baa5a8 I_BDEV +EXPORT_SYMBOL vmlinux 0x03c60516 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x03c7a1be pci_irq_vector +EXPORT_SYMBOL vmlinux 0x03d08127 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x03e7c011 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x03ec88d5 blk_get_request +EXPORT_SYMBOL vmlinux 0x03efcc19 framebuffer_release +EXPORT_SYMBOL vmlinux 0x03fba701 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040afdda devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x04117954 register_gifconf +EXPORT_SYMBOL vmlinux 0x042d6d29 pci_find_bus +EXPORT_SYMBOL vmlinux 0x043c7d1e __lock_page +EXPORT_SYMBOL vmlinux 0x04426f14 mem_section +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04489fc1 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x044fb722 dev_base_lock +EXPORT_SYMBOL vmlinux 0x045c0f23 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x0461a6e1 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x048a4f0b simple_setattr +EXPORT_SYMBOL vmlinux 0x04a03506 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x04c5f69b param_set_long +EXPORT_SYMBOL vmlinux 0x04c6b4c3 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x04cc2821 __alloc_skb +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04d07c92 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x05027786 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x0508088e ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x050baefd dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x050d3c9f con_copy_unimap +EXPORT_SYMBOL vmlinux 0x051b6c99 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0530cdc9 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x05344838 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054577ab seq_vprintf +EXPORT_SYMBOL vmlinux 0x05521a1b __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x055bdf67 pci_enable_device +EXPORT_SYMBOL vmlinux 0x059033ba qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x05b0caa0 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x05ca18a2 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x05cd617e gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x05d23fba nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x05e13eb9 ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x05fac654 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x0669f931 init_special_inode +EXPORT_SYMBOL vmlinux 0x06724b38 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x06779336 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x0677ca0b rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x0679096b d_delete +EXPORT_SYMBOL vmlinux 0x067985cc sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x067ea780 mutex_unlock +EXPORT_SYMBOL vmlinux 0x0687aba2 rtnl_notify +EXPORT_SYMBOL vmlinux 0x06a0a98a init_pseudo +EXPORT_SYMBOL vmlinux 0x06ba038c tty_port_put +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06ca6fff __mdiobus_read +EXPORT_SYMBOL vmlinux 0x06d46f0d sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x06f85764 read_cache_page +EXPORT_SYMBOL vmlinux 0x07072715 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x071fa752 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x073bf2ac phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x075a2258 cpu_tlb +EXPORT_SYMBOL vmlinux 0x075a2c33 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x0764128d pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x077af67c init_opal_dev +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07c7b11e udp_gro_complete +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07e2c085 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x07f31a5b thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x0818271b devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x081a52a3 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x081e5365 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082f6d41 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x083af45e module_put +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x085d094b scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x085d2075 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x085dfbb6 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x08690bbf __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x08769f21 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x0878ecb0 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x087d1bc9 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0883f1d9 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x08c4fd32 omap_disable_dma_irq +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08f0e831 module_refcount +EXPORT_SYMBOL vmlinux 0x09287c47 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x0930fe5f netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x094e8ba6 dma_free_attrs +EXPORT_SYMBOL vmlinux 0x09554333 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x095dc33b file_remove_privs +EXPORT_SYMBOL vmlinux 0x09691448 d_add +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09992aef sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x09b01779 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x09b076ec scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x09c49571 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d8933c sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x09e33185 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x09ed5941 dm_register_target +EXPORT_SYMBOL vmlinux 0x0a058dca edac_mc_find +EXPORT_SYMBOL vmlinux 0x0a09a6b8 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x0a0b9cdf get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x0a0d9381 devm_request_resource +EXPORT_SYMBOL vmlinux 0x0a20d621 ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0x0a260448 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a33024e pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x0a37ad8a tty_do_resize +EXPORT_SYMBOL vmlinux 0x0a3fffcd tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x0a41e95e rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x0a45fb0a sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x0a82a8da phy_start_aneg +EXPORT_SYMBOL vmlinux 0x0a8ccaa2 put_watch_queue +EXPORT_SYMBOL vmlinux 0x0aa2a054 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaa826e generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0aad311b generic_block_bmap +EXPORT_SYMBOL vmlinux 0x0ac0b57b ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0adcd258 of_device_unregister +EXPORT_SYMBOL vmlinux 0x0ae42eba max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x0ae547ed xxh64_update +EXPORT_SYMBOL vmlinux 0x0ae8f4ec touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x0aed0146 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x0af5e512 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x0b109e82 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x0b1b939e kmemdup +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1c7da9 __seq_open_private +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b370ae3 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x0b3b1c0e send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x0b40d7cf _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b617520 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x0b646db8 set_blocksize +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7bc051 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x0b9950ae sk_net_capable +EXPORT_SYMBOL vmlinux 0x0b9c0f5f of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bc5287c flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x0bcb7e55 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x0bf1143f iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x0c0c57d1 blk_put_queue +EXPORT_SYMBOL vmlinux 0x0c0dd38c __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x0c12d81f ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x0c1bcd6e default_llseek +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c273f5a xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x0c54bb21 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x0c590b5e netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x0c5eb4f3 dquot_destroy +EXPORT_SYMBOL vmlinux 0x0c67fc25 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x0c917b4c security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0c91c8ff mfd_add_devices +EXPORT_SYMBOL vmlinux 0x0c9dcadf snd_unregister_device +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0caf51fb config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x0cb14c2d unix_get_socket +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cb74950 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x0cc7c61d netdev_err +EXPORT_SYMBOL vmlinux 0x0ccf5f0d update_region +EXPORT_SYMBOL vmlinux 0x0ce09ea3 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ce4b33c del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x0cf06808 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x0cf41e10 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x0cfb2f7b snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0x0d01fbb0 key_alloc +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d08b7a4 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x0d16655b snd_timer_continue +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d423e6f mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d55c4c1 migrate_page_copy +EXPORT_SYMBOL vmlinux 0x0d5c62f7 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d7fbaf0 inet_offloads +EXPORT_SYMBOL vmlinux 0x0d9a23bd arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x0da3c427 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x0dae7f7c tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x0dba5e9a radix_tree_delete +EXPORT_SYMBOL vmlinux 0x0dc1a78c bin2hex +EXPORT_SYMBOL vmlinux 0x0dd41127 snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x0de73656 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x0de84a97 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x0deeb949 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x0df213f8 bdgrab +EXPORT_SYMBOL vmlinux 0x0df2317e d_path +EXPORT_SYMBOL vmlinux 0x0df6a80a page_pool_release_page +EXPORT_SYMBOL vmlinux 0x0e175158 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e19023a vga_tryget +EXPORT_SYMBOL vmlinux 0x0e191ef5 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x0e1ac830 snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x0e1bf933 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x0e1c8804 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0e351533 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x0e3d63fe blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x0e4a12d3 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x0e4aeb88 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x0e4fa5f0 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x0e694d35 rproc_add +EXPORT_SYMBOL vmlinux 0x0e7dae46 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x0e83723d netlink_set_err +EXPORT_SYMBOL vmlinux 0x0e8bceb3 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x0e9d6984 pci_disable_device +EXPORT_SYMBOL vmlinux 0x0e9dd0f6 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x0eb9e130 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ec8a8cb skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x0ed4c204 open_exec +EXPORT_SYMBOL vmlinux 0x0eea0399 strscpy +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f21d10a cdev_add +EXPORT_SYMBOL vmlinux 0x0f2ba2e2 vfs_symlink +EXPORT_SYMBOL vmlinux 0x0f30afc4 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x0f3370da ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x0f595dd6 genl_notify +EXPORT_SYMBOL vmlinux 0x0f59ca78 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x0f6d8b4b update_devfreq +EXPORT_SYMBOL vmlinux 0x0f723251 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x0f76cd1c pcim_pin_device +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f874c24 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x0fa37b34 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fbe7161 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0ff08fe7 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff72640 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10018cb0 __pv_offset +EXPORT_SYMBOL vmlinux 0x100ce5e0 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x1018bf80 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x101c6430 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103ecd42 cdev_device_del +EXPORT_SYMBOL vmlinux 0x105a5bbd debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x106d940f md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x106f13ab crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10739f1e swake_up_locked +EXPORT_SYMBOL vmlinux 0x1075c13a fb_validate_mode +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10816441 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x1085d5ee down_read_killable +EXPORT_SYMBOL vmlinux 0x10b8484d mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x10c23cf2 dup_iter +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c41c75 kill_fasync +EXPORT_SYMBOL vmlinux 0x10cbdcd7 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10df095b no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x10e96e9e udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x10f5900f __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x10f8772b __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x1100720e xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x1100fe3e __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x1101c691 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x1111f393 page_mapping +EXPORT_SYMBOL vmlinux 0x111a06f7 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x1124cd30 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x112b84c7 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x113a3e68 config_group_init +EXPORT_SYMBOL vmlinux 0x113ad9e5 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x113dfb94 pci_request_region +EXPORT_SYMBOL vmlinux 0x114bbc3f filemap_map_pages +EXPORT_SYMBOL vmlinux 0x114c2f3e inet6_protos +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x1166240f ip_check_defrag +EXPORT_SYMBOL vmlinux 0x116b8b3a security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117871d0 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x11851ad1 end_page_writeback +EXPORT_SYMBOL vmlinux 0x118c78c3 build_skb_around +EXPORT_SYMBOL vmlinux 0x1199b76a __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11c04c5e tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x11cd5da7 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x11d54fcc skb_free_datagram +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ee434e snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11fcdbf4 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x12256403 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x122a9665 of_phy_attach +EXPORT_SYMBOL vmlinux 0x12349c33 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x123beb26 simple_rmdir +EXPORT_SYMBOL vmlinux 0x1250507e blk_put_request +EXPORT_SYMBOL vmlinux 0x1271bbc0 __do_once_done +EXPORT_SYMBOL vmlinux 0x12827367 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1295e5d0 __f_setown +EXPORT_SYMBOL vmlinux 0x1296c751 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12bebc48 skb_copy +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d09b71 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x12d805d6 fput +EXPORT_SYMBOL vmlinux 0x12ebc36d call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x12f03b0a __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x12f19edf __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fa2830 kunmap_high +EXPORT_SYMBOL vmlinux 0x1305fd51 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x130bbb2f sync_blockdev +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x13149eca scsi_target_resume +EXPORT_SYMBOL vmlinux 0x1323cea9 blk_register_region +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x134e4062 inet_gso_segment +EXPORT_SYMBOL vmlinux 0x13580dcd put_ipc_ns +EXPORT_SYMBOL vmlinux 0x13672cb8 address_space_init_once +EXPORT_SYMBOL vmlinux 0x13754217 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x1378aea2 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x13993326 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x13a8a7f7 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x13b3d889 cad_pid +EXPORT_SYMBOL vmlinux 0x13cc7ae9 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d24f16 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x13dfc0f2 __pagevec_release +EXPORT_SYMBOL vmlinux 0x13e7932e sg_miter_start +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140cef8e cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x1433071f __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x143326f7 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1447c952 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x145621bf snd_card_new +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1466d068 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x146c61cf proc_create +EXPORT_SYMBOL vmlinux 0x1486978a gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0x14a82957 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x14d2f6ee sync_inode +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14dc1c86 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x14e1c38b watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x14fe8d26 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x154270ec skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x154a27fe rproc_report_crash +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1571237d __sb_start_write +EXPORT_SYMBOL vmlinux 0x15737055 pci_clear_master +EXPORT_SYMBOL vmlinux 0x15766928 __skb_pad +EXPORT_SYMBOL vmlinux 0x15937d92 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bb534b xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c458c9 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x15c4ee1c inet_listen +EXPORT_SYMBOL vmlinux 0x15d433c0 ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x16104d16 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x1611f309 input_release_device +EXPORT_SYMBOL vmlinux 0x1617c0e7 config_group_find_item +EXPORT_SYMBOL vmlinux 0x161abfac tcf_idr_create +EXPORT_SYMBOL vmlinux 0x1627f987 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x162d9c28 forget_cached_acl +EXPORT_SYMBOL vmlinux 0x164541fb param_array_ops +EXPORT_SYMBOL vmlinux 0x1651ec90 ip6_xmit +EXPORT_SYMBOL vmlinux 0x16525cc4 xa_find +EXPORT_SYMBOL vmlinux 0x1659c76b vmap +EXPORT_SYMBOL vmlinux 0x16743f6c sock_no_connect +EXPORT_SYMBOL vmlinux 0x167af221 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x167f4c82 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x169616c4 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x1698ad08 snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x16b48da8 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x16ce7209 mount_subtree +EXPORT_SYMBOL vmlinux 0x16db739b fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16fadc4c generic_writepages +EXPORT_SYMBOL vmlinux 0x1715cd4c dev_load +EXPORT_SYMBOL vmlinux 0x172cab5f seq_lseek +EXPORT_SYMBOL vmlinux 0x1738c19e _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x174b743d tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x174ecafc dev_get_iflink +EXPORT_SYMBOL vmlinux 0x1775d96a freeze_super +EXPORT_SYMBOL vmlinux 0x177a7f57 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x177e6b4d blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x17887935 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x179055cb dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x1797cae4 snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x179b42de d_rehash +EXPORT_SYMBOL vmlinux 0x17b30fef xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x17b3a9a6 put_tty_driver +EXPORT_SYMBOL vmlinux 0x17d95a7b pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x17f5df63 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x180df581 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x1819c67f pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x1828979e cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x182cd96c vme_irq_generate +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x1848c381 register_filesystem +EXPORT_SYMBOL vmlinux 0x184c78a0 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x184f8ad5 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x185f2696 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x186dfdc9 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x1874b05b hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x187e8483 __check_sticky +EXPORT_SYMBOL vmlinux 0x188e3c74 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18921141 simple_unlink +EXPORT_SYMBOL vmlinux 0x189c5980 arm_copy_to_user +EXPORT_SYMBOL vmlinux 0x18a5297e nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x18a74fff security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x18b9253d seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x18bf0d3d fget_raw +EXPORT_SYMBOL vmlinux 0x18c0b267 dquot_operations +EXPORT_SYMBOL vmlinux 0x18caffee snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x18ce4ea0 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x18ce72d6 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x18d3166d of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x18d4c6ae d_move +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18ea65ad pps_register_source +EXPORT_SYMBOL vmlinux 0x190c79ac con_is_visible +EXPORT_SYMBOL vmlinux 0x1919b223 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x192a148f tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x192cd377 scsi_device_put +EXPORT_SYMBOL vmlinux 0x195c8596 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x1962c747 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x1970b76a skb_ext_add +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x198c3214 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x199502ab dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x199ef6b2 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x19b2bc20 snd_power_wait +EXPORT_SYMBOL vmlinux 0x19bc2eb7 __break_lease +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19be2ce6 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x19c103de tcp_parse_options +EXPORT_SYMBOL vmlinux 0x19c88d00 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x19f97772 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x1a1a788e udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x1a21d691 __ksize +EXPORT_SYMBOL vmlinux 0x1a2c6d4e of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a70989e padata_start +EXPORT_SYMBOL vmlinux 0x1a72a7b1 dst_init +EXPORT_SYMBOL vmlinux 0x1a7bc9ef xxh32 +EXPORT_SYMBOL vmlinux 0x1a8181fc block_commit_write +EXPORT_SYMBOL vmlinux 0x1a8338e7 km_policy_notify +EXPORT_SYMBOL vmlinux 0x1a8a28bd sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x1a8d7284 d_drop +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9c7813 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x1aa86d18 rdma_dim +EXPORT_SYMBOL vmlinux 0x1ac56009 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x1ac62ca4 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1ad727e6 new_inode +EXPORT_SYMBOL vmlinux 0x1aded990 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0x1ae17bd0 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x1ae3bb45 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0303a5 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x1b0acee1 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x1b189791 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x1b25f187 __xa_store +EXPORT_SYMBOL vmlinux 0x1b26178e devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x1b47f912 of_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x1b511f98 snd_device_new +EXPORT_SYMBOL vmlinux 0x1b5e4172 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x1b6181b2 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x1b61cd7f dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b647dff scsi_print_sense +EXPORT_SYMBOL vmlinux 0x1b693baf scmd_printk +EXPORT_SYMBOL vmlinux 0x1b6fb15e gro_cells_init +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7a3773 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x1b9cd317 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x1b9e6cce __breadahead +EXPORT_SYMBOL vmlinux 0x1bd7486e done_path_create +EXPORT_SYMBOL vmlinux 0x1be44882 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x1bf15360 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x1bf98892 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x1bfb0951 of_get_next_child +EXPORT_SYMBOL vmlinux 0x1c31e499 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x1c33217e rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1c3975ee tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x1c4a51e6 pci_iounmap +EXPORT_SYMBOL vmlinux 0x1c5a389d nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c65f200 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x1c6f92d2 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x1c712c9c fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x1c777c5c dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x1c8565cc locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x1c996c44 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cece809 init_net +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d0bc8c5 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x1d258b48 param_set_invbool +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d37eeed ioremap +EXPORT_SYMBOL vmlinux 0x1d4cc33b tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x1d5aafd7 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x1d5d4b18 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x1d5deddf vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d66b4e5 ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x1d688e11 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x1d804873 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x1d95af7e register_netdevice +EXPORT_SYMBOL vmlinux 0x1dc5ac15 serio_open +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd67dbb blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de3f19a ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1df0395a get_task_exe_file +EXPORT_SYMBOL vmlinux 0x1df7c20d igrab +EXPORT_SYMBOL vmlinux 0x1df81654 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0b9081 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e2af2ee nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x1e5284e4 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x1e605ae5 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e96f43d __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1eacc1ac netdev_crit +EXPORT_SYMBOL vmlinux 0x1eb17540 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x1eb64646 div64_s64 +EXPORT_SYMBOL vmlinux 0x1ec0129e security_sk_clone +EXPORT_SYMBOL vmlinux 0x1edaab71 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1f027bf9 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x1f0da6a2 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x1f12a03d snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x1f3a8218 snd_info_register +EXPORT_SYMBOL vmlinux 0x1f55ff7e d_tmpfile +EXPORT_SYMBOL vmlinux 0x1f589ecb vme_dma_request +EXPORT_SYMBOL vmlinux 0x1f645276 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x1f649989 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x1f6fe054 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f850152 ptp_clock_index +EXPORT_SYMBOL vmlinux 0x1f878083 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x1f89bf48 tty_throttle +EXPORT_SYMBOL vmlinux 0x1fba990c tcp_mmap +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc2ba77 may_umount +EXPORT_SYMBOL vmlinux 0x1fc41d65 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x1fc5b210 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdc0a99 datagram_poll +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedec76 skb_copy_and_csum_dev +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 0x200f8748 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x20271a23 ip_options_compile +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x205f9ef3 sock_edemux +EXPORT_SYMBOL vmlinux 0x2072b8b4 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x2080bf1f xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x2084094a get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x20846110 down_killable +EXPORT_SYMBOL vmlinux 0x208af4e7 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x20a03c5e phy_stop +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c2a85c __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20db82da netif_rx_ni +EXPORT_SYMBOL vmlinux 0x20e1c2dc scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x20e25164 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x20f89d0d bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x20fe305e vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x210e5237 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x21110dbf mmioset +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x211a9ea0 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x212133db xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0x21233a83 snd_card_free +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21422d29 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x215837c4 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x216d759a mmiocpy +EXPORT_SYMBOL vmlinux 0x2179a610 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x2199573c bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be258c __nla_reserve +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21e26024 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x220dc49f of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cdf24 inode_set_flags +EXPORT_SYMBOL vmlinux 0x22490c2a pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x22497cf2 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x224c6408 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x2250fd08 set_anon_super +EXPORT_SYMBOL vmlinux 0x22596d25 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2297405f pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x22983d36 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22bb9a94 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x22bf070f _copy_from_iter +EXPORT_SYMBOL vmlinux 0x22e95dfa udp_seq_next +EXPORT_SYMBOL vmlinux 0x22e9f74e pci_write_vpd +EXPORT_SYMBOL vmlinux 0x22f1f5d5 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x230c442e get_phy_device +EXPORT_SYMBOL vmlinux 0x23233250 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x232b9d48 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x232c8c07 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x232cbf51 bio_split +EXPORT_SYMBOL vmlinux 0x234d7c77 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x2352f8ad cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x23619cff jiffies_64 +EXPORT_SYMBOL vmlinux 0x237cb5a6 _dev_err +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23947b22 of_iomap +EXPORT_SYMBOL vmlinux 0x2396596a netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x239e5a8f of_node_put +EXPORT_SYMBOL vmlinux 0x23a14a65 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x23a2b576 of_match_node +EXPORT_SYMBOL vmlinux 0x23a8bc2b __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x23ad5150 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x23ae012a devm_ioremap +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bbdeed _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x23bd9032 backlight_device_register +EXPORT_SYMBOL vmlinux 0x23c78748 ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x23cef842 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f55973 iput +EXPORT_SYMBOL vmlinux 0x23f92906 sock_create +EXPORT_SYMBOL vmlinux 0x23f9c5ce xps_needed +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x23fe27df kernel_bind +EXPORT_SYMBOL vmlinux 0x240ba0c6 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x240bf63f clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242382b4 rtc_add_group +EXPORT_SYMBOL vmlinux 0x242b487b ___pskb_trim +EXPORT_SYMBOL vmlinux 0x242be066 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x2438f3da param_get_string +EXPORT_SYMBOL vmlinux 0x243dccf0 nand_monolithic_write_page_raw +EXPORT_SYMBOL vmlinux 0x2440d395 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245b3e3a uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x246790df idr_for_each +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x247c835b rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x249d5420 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24b12ed8 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x24b97378 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x24c3cf9a blk_integrity_register +EXPORT_SYMBOL vmlinux 0x24cd66e9 pci_match_id +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24da7907 zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x24dea1cd md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x24e6b298 ether_setup +EXPORT_SYMBOL vmlinux 0x24f22f02 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x24f3c869 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x24f9c6bc _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x24fbf832 seq_open +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x2505bbef ptp_clock_event +EXPORT_SYMBOL vmlinux 0x250adaee balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x25181633 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x252190df blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x25244292 dcb_setapp +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x2527b496 sg_miter_next +EXPORT_SYMBOL vmlinux 0x254d5b5c freeze_bdev +EXPORT_SYMBOL vmlinux 0x255654cf vme_register_driver +EXPORT_SYMBOL vmlinux 0x2566ea32 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x256995c6 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x257483aa phy_modify_paged +EXPORT_SYMBOL vmlinux 0x257ae45c dma_fence_free +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25971660 dquot_alloc +EXPORT_SYMBOL vmlinux 0x25b233c0 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x25b70511 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x25ce1cf2 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x25e3b212 sock_create_lite +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f5a5ba mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x2628f471 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x262b4427 key_unlink +EXPORT_SYMBOL vmlinux 0x262ef57b writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x263798b3 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x263ac544 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x26536731 __neigh_create +EXPORT_SYMBOL vmlinux 0x26759b63 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x2690e6c1 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x269328de ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x269b1d4b mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x26b16791 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26c97ed3 seq_read_iter +EXPORT_SYMBOL vmlinux 0x26d24cb8 vm_event_states +EXPORT_SYMBOL vmlinux 0x26f05311 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x26f13e72 devm_memremap +EXPORT_SYMBOL vmlinux 0x26fb3b1c iget5_locked +EXPORT_SYMBOL vmlinux 0x270880ab filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x270a7b84 ppp_input +EXPORT_SYMBOL vmlinux 0x270affbc dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x271c44b3 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x272f981c __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x2744d23e inc_node_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 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x27798af9 tso_build_data +EXPORT_SYMBOL vmlinux 0x2782ad28 fb_blank +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27a0be39 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x27a43d92 uart_resume_port +EXPORT_SYMBOL vmlinux 0x27b7016c proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c68705 node_states +EXPORT_SYMBOL vmlinux 0x27c8b507 tty_vhangup +EXPORT_SYMBOL vmlinux 0x27cb7831 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d2ef8f d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x27e17917 udp_set_csum +EXPORT_SYMBOL vmlinux 0x27ec872c config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x27f3e765 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x27f44366 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x28171290 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2830e114 kmap_to_page +EXPORT_SYMBOL vmlinux 0x283461f2 bio_free_pages +EXPORT_SYMBOL vmlinux 0x283bdac9 sk_dst_check +EXPORT_SYMBOL vmlinux 0x283bea6c dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x285704a7 snd_timer_open +EXPORT_SYMBOL vmlinux 0x286bc815 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2878e15a idr_destroy +EXPORT_SYMBOL vmlinux 0x28932d46 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x28a23c19 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x28a53345 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x28aea759 path_put +EXPORT_SYMBOL vmlinux 0x28e69a14 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x28e80c37 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x291fd08e configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x293b638c dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x2946da06 load_nls_default +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x294cfcc3 console_start +EXPORT_SYMBOL vmlinux 0x29695af5 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x29753772 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x297b15af tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x297cde76 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x299f419c abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x29a1a79f dev_add_pack +EXPORT_SYMBOL vmlinux 0x29a47fe9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x29a77905 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x29b2bdc6 nand_read_page_raw +EXPORT_SYMBOL vmlinux 0x29c182f8 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x29d9f26e cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x29da09d6 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x29dc7ba0 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL vmlinux 0x29eb6f3b tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x2a079316 inet_protos +EXPORT_SYMBOL vmlinux 0x2a0fd0d0 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a46020d __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x2a4c1837 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x2a4e3a40 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x2a4e9c70 scsi_host_get +EXPORT_SYMBOL vmlinux 0x2a567347 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x2a6fb3bb lru_cache_add +EXPORT_SYMBOL vmlinux 0x2a71bfd5 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x2a7714ea alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x2a792245 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x2a7e4060 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0x2a82f186 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aafcefe vme_master_mmap +EXPORT_SYMBOL vmlinux 0x2ab4ebcc sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x2ae5323b fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x2aeeb854 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x2b07b4d9 sound_class +EXPORT_SYMBOL vmlinux 0x2b0c56a0 start_tty +EXPORT_SYMBOL vmlinux 0x2b481250 put_disk_and_module +EXPORT_SYMBOL vmlinux 0x2b49098f sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x2b53155f vm_insert_pages +EXPORT_SYMBOL vmlinux 0x2b54a4fc get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x2b5ab97d _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b885fb1 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x2b8f8296 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x2b99722a __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb33077 vscnprintf +EXPORT_SYMBOL vmlinux 0x2bbbbd24 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x2bbebf1f pci_find_resource +EXPORT_SYMBOL vmlinux 0x2bbed1b0 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x2bc9b255 ps2_init +EXPORT_SYMBOL vmlinux 0x2be60554 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x2bff5887 xa_destroy +EXPORT_SYMBOL vmlinux 0x2c0e498e xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x2c0e7735 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1d39e8 param_get_ullong +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c53cb6f udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x2c6b6974 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x2c78ea0d xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x2c7c8e9a pcibios_min_mem +EXPORT_SYMBOL vmlinux 0x2c7de61c skb_checksum +EXPORT_SYMBOL vmlinux 0x2c80c447 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x2c81ec75 __irq_regs +EXPORT_SYMBOL vmlinux 0x2c8fba74 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x2c9149d6 km_state_notify +EXPORT_SYMBOL vmlinux 0x2c9d3756 vsnprintf +EXPORT_SYMBOL vmlinux 0x2c9f39ef ip_ct_attach +EXPORT_SYMBOL vmlinux 0x2cd2572e tcf_idr_search +EXPORT_SYMBOL vmlinux 0x2cf14b15 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x2cf9a500 sock_from_file +EXPORT_SYMBOL vmlinux 0x2cfde9a2 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x2d03bf43 flush_signals +EXPORT_SYMBOL vmlinux 0x2d0ce38e fs_bio_set +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d1f6697 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x2d27445e ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d38953f unpin_user_page +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d42a8d7 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x2d45c835 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x2d499f60 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d6a98a3 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x2d6be8aa snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x2d6e41b0 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x2d6fcc06 __kmalloc +EXPORT_SYMBOL vmlinux 0x2d76e2b8 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da81bff _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x2dcfcbc2 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x2dda663b __snd_pcm_lib_xfer +EXPORT_SYMBOL vmlinux 0x2dec67cd _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x2df5702b sock_set_priority +EXPORT_SYMBOL vmlinux 0x2e09b8e0 clear_nlink +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e1d440a fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x2e2cf6de mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x2e2e8d13 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x2e38825d dquot_quota_off +EXPORT_SYMBOL vmlinux 0x2e3de71f nand_scan_with_ids +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e526e23 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x2e560a06 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e6429be pci_dev_put +EXPORT_SYMBOL vmlinux 0x2e6c8cca pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2e8b01b8 dm_get_device +EXPORT_SYMBOL vmlinux 0x2e967e81 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x2ea832fd scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x2eacbe22 ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2eb02e36 rproc_free +EXPORT_SYMBOL vmlinux 0x2eb192a0 serio_interrupt +EXPORT_SYMBOL vmlinux 0x2eb253e2 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x2ebbf3a4 netdev_info +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ecb3fb9 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x2ee5cb66 kernel_connect +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f15a817 tcp_req_err +EXPORT_SYMBOL vmlinux 0x2f1882dd to_ndd +EXPORT_SYMBOL vmlinux 0x2f1b0d62 ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x2f1e6e33 skb_dequeue +EXPORT_SYMBOL vmlinux 0x2f2d5339 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f4bf8d9 tcp_child_process +EXPORT_SYMBOL vmlinux 0x2f50cbf5 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x2f5b0fdb gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2f6c9308 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x2f6ea6d2 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f957faa pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x2f9a5e2c pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x2f9d0b5f blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x2f9e2ae2 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc88dbc pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x2fcf9178 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x2fd33b29 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x2fd9f6c9 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x2fe215a6 tty_port_init +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x3001acb9 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x30275bfb __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x30376245 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x3064c5f6 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x30745185 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30b9c231 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x30bceaac ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x30d9a471 gen_pool_create +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f4a45b napi_get_frags +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x312a9415 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x312d90fd iov_iter_npages +EXPORT_SYMBOL vmlinux 0x31304931 user_path_create +EXPORT_SYMBOL vmlinux 0x313918a9 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x314b20c8 scnprintf +EXPORT_SYMBOL vmlinux 0x317f4f13 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x3188a7fb udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x31891e4c utf8nagemin +EXPORT_SYMBOL vmlinux 0x319e9cfe input_setup_polling +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31aa59b5 elv_rb_del +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31baac76 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31f26479 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x32018f56 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x3213f57e ip_getsockopt +EXPORT_SYMBOL vmlinux 0x3224f941 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x32263214 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x323199ea pci_choose_state +EXPORT_SYMBOL vmlinux 0x32328009 pcim_iomap +EXPORT_SYMBOL vmlinux 0x3236580f vfs_mkdir +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323aa2f5 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x32430023 _totalhigh_pages +EXPORT_SYMBOL vmlinux 0x3252cc31 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x3254df5c scsi_device_resume +EXPORT_SYMBOL vmlinux 0x3257a0ec inet_shutdown +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x327feba3 mdio_device_free +EXPORT_SYMBOL vmlinux 0x3281fb74 ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32966459 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x32a835d1 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x32aa6253 snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x32c0dab3 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x32ccc1ce kmem_cache_free +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d3843c cdrom_open +EXPORT_SYMBOL vmlinux 0x32ebaa75 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x33052435 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x333aa905 blkdev_put +EXPORT_SYMBOL vmlinux 0x33429d9b vc_resize +EXPORT_SYMBOL vmlinux 0x3348a231 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x33501b66 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x3355b281 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x335f38f6 free_netdev +EXPORT_SYMBOL vmlinux 0x336124a5 phy_print_status +EXPORT_SYMBOL vmlinux 0x337497c5 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x33787da2 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x3395a4cd of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x339bb53b twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x33c9cfe1 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33df8808 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33f08e23 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x33f3289a vme_bus_num +EXPORT_SYMBOL vmlinux 0x33f931e2 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x340ec648 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x3410b732 wireless_send_event +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x341ea423 irq_to_desc +EXPORT_SYMBOL vmlinux 0x3439ee46 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x343c3907 vfs_get_link +EXPORT_SYMBOL vmlinux 0x34581bd4 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x346e45d5 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x347a65f7 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x34888297 peernet2id +EXPORT_SYMBOL vmlinux 0x348a6452 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x349284d7 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x349b4277 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349f0a73 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x34a04d71 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x34af9822 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x3501aff9 put_cmsg +EXPORT_SYMBOL vmlinux 0x350b460a uart_update_timeout +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x351f2d27 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x3529f62f xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3545701d ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0x354b5e09 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x355f57f2 vm_map_ram +EXPORT_SYMBOL vmlinux 0x35603c48 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x3560e651 kmemdup_nul +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35696cb2 hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x3578be57 d_set_d_op +EXPORT_SYMBOL vmlinux 0x357c7228 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x35a1140e inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35ac8410 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x35bdc817 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0x35d7da7f vga_get +EXPORT_SYMBOL vmlinux 0x35d7fd5b config_item_set_name +EXPORT_SYMBOL vmlinux 0x35d84396 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x35ea78f5 atomic_io_modify_relaxed +EXPORT_SYMBOL vmlinux 0x35fbc2b8 set_disk_ro +EXPORT_SYMBOL vmlinux 0x36028fb3 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x36250c6d tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x36416028 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x36588e6a tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e6b3f nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36684a16 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x367ee063 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x3687e9dc key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x3688e84b dev_disable_lro +EXPORT_SYMBOL vmlinux 0x369a2bcb __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x36be8b88 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36e01c6a mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x36ea4375 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x36ecbb9a xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x370212cc pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x3719066b inet6_add_offload +EXPORT_SYMBOL vmlinux 0x372172e6 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x372174e2 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x372e8616 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374b47eb ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3763e9a6 get_tree_single +EXPORT_SYMBOL vmlinux 0x376b6f23 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x376d5fc9 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x37767769 __register_binfmt +EXPORT_SYMBOL vmlinux 0x3784546e genphy_resume +EXPORT_SYMBOL vmlinux 0x3784680c abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x378f2af0 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x379be9e9 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37b022f9 sg_split +EXPORT_SYMBOL vmlinux 0x37b3b990 param_get_invbool +EXPORT_SYMBOL vmlinux 0x37b766e6 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37bff3ab blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x37c3df7f kernel_accept +EXPORT_SYMBOL vmlinux 0x37c69544 find_vma +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e76a2c dev_lstats_read +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x380c36b9 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x3810ff2f inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381bc807 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x3829969d scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x382e8838 path_get +EXPORT_SYMBOL vmlinux 0x383ec3d3 rt6_lookup +EXPORT_SYMBOL vmlinux 0x3842b3a6 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x3850f22a mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x38555588 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x386d9ce9 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x3876586e devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x387da123 ndo_dflt_fdb_del +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 0x38bbc8fd inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x38c8704c of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x3914458a ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x39192870 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393b1a5d ns_capable +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x396e1b1e d_alloc_name +EXPORT_SYMBOL vmlinux 0x396f8079 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x3971536e bdevname +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x398c5fd3 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x3992bc63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0x3993dc71 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399f5d3b of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x39a12ca7 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c88fd5 flush_rcu_work +EXPORT_SYMBOL vmlinux 0x39c9315c mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x39cc976f vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1d0688 vfs_rename +EXPORT_SYMBOL vmlinux 0x3a2a5325 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a42507a devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a64c167 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x3a7275d4 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x3a81b622 param_get_charp +EXPORT_SYMBOL vmlinux 0x3a8c66d3 contig_page_data +EXPORT_SYMBOL vmlinux 0x3aa09b2d simple_link +EXPORT_SYMBOL vmlinux 0x3aa30897 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3abde602 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x3acc18ba tty_port_open +EXPORT_SYMBOL vmlinux 0x3acc1c95 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x3ad6fd8e krait_get_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x3adf5af2 nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x3aec9d8d fb_pan_display +EXPORT_SYMBOL vmlinux 0x3aef5ca4 cdev_device_add +EXPORT_SYMBOL vmlinux 0x3b0ad943 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x3b209a35 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x3b299067 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x3b3fb82d tcp_prot +EXPORT_SYMBOL vmlinux 0x3b5be441 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x3b61a588 param_set_uint +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b697738 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x3b77f331 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x3b8c434c simple_nosetlease +EXPORT_SYMBOL vmlinux 0x3b91f3b5 genl_register_family +EXPORT_SYMBOL vmlinux 0x3ba78cd2 padata_stop +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc67e7d rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x3bcb0a2e twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x3be29c02 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bfc81b0 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL vmlinux 0x3bfcb1e1 neigh_xmit +EXPORT_SYMBOL vmlinux 0x3c078921 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c1ea689 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c33eae2 registered_fb +EXPORT_SYMBOL vmlinux 0x3c37ff38 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x3c3874dc skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x3c3ed6f6 input_event +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c452898 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x3c4e3b73 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x3c60315c ioremap_cache +EXPORT_SYMBOL vmlinux 0x3c669040 sk_wait_data +EXPORT_SYMBOL vmlinux 0x3c6f9bf0 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x3c7a4a24 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c97616d generic_file_open +EXPORT_SYMBOL vmlinux 0x3cba4372 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x3cc98175 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x3ccf079b ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x3cd27374 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x3ce321ec thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d1ecb8b page_pool_create +EXPORT_SYMBOL vmlinux 0x3d3c187c default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d8ade7e security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x3dac133e mdiobus_scan +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 0x3dded500 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x3de31f89 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x3de3600d ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x3de8df61 device_add_disk +EXPORT_SYMBOL vmlinux 0x3df5de20 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dfddcb5 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x3e13070e xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x3e1e8778 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x3e1f3373 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x3e22e544 proto_unregister +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e45baf4 get_super +EXPORT_SYMBOL vmlinux 0x3e5fff32 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x3e709ea4 con_is_bound +EXPORT_SYMBOL vmlinux 0x3e85ee64 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x3e8fa089 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9334e7 input_match_device_id +EXPORT_SYMBOL vmlinux 0x3e968cd2 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x3ea84ca9 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x3eab5d9c xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x3eacfa4f cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x3ecf358b snd_timer_instance_new +EXPORT_SYMBOL vmlinux 0x3ed104a5 xa_set_mark +EXPORT_SYMBOL vmlinux 0x3ef856cc __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f10ff5b phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x3f24367f import_single_range +EXPORT_SYMBOL vmlinux 0x3f3df1e9 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4af46f gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f5c5a0a mmc_command_done +EXPORT_SYMBOL vmlinux 0x3f61c031 dev_uc_del +EXPORT_SYMBOL vmlinux 0x3f62d048 dma_fence_init +EXPORT_SYMBOL vmlinux 0x3f633c2c sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x3f6f432c deactivate_super +EXPORT_SYMBOL vmlinux 0x3f74ac45 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x3f88c8ae refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f8a0f35 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x3f916274 inet_frags_init +EXPORT_SYMBOL vmlinux 0x3f99bc1f dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x3f9b9776 kmap_atomic_high_prot +EXPORT_SYMBOL vmlinux 0x3fb191cc blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x3fb7d08f inet6_bind +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fcf570a tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x3fcf5e97 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x3fd06c0c account_page_redirty +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fd7943e dev_change_carrier +EXPORT_SYMBOL vmlinux 0x3fea538c hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x400eac5a scsi_remove_device +EXPORT_SYMBOL vmlinux 0x4015aa45 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x4028257f snd_timer_resolution +EXPORT_SYMBOL vmlinux 0x403a93e7 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x403d14c1 netdev_alert +EXPORT_SYMBOL vmlinux 0x40474962 mem_map +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c187c xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x4061a90b lease_get_mtime +EXPORT_SYMBOL vmlinux 0x40657bd9 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x408b4608 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x40981d19 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a21bab dump_align +EXPORT_SYMBOL vmlinux 0x40a5e2be mmc_release_host +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b51c05 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x40b60a8b simple_readpage +EXPORT_SYMBOL vmlinux 0x40c4b6b0 tty_register_device +EXPORT_SYMBOL vmlinux 0x40c58cea csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40caf5b5 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d402ad do_wait_intr +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40e1c1fe page_get_link +EXPORT_SYMBOL vmlinux 0x40efeee5 __quota_error +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x410d21fc request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x4112691f ata_link_printk +EXPORT_SYMBOL vmlinux 0x411fecd3 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x4124bd99 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414975dd __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x41638620 of_lpddr3_get_min_tck +EXPORT_SYMBOL vmlinux 0x4175d8cb commit_creds +EXPORT_SYMBOL vmlinux 0x417a9b7b bh_submit_read +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 0x418d392c dev_addr_flush +EXPORT_SYMBOL vmlinux 0x41bb84fc dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x41bc98a5 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x41bdc560 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x41be3efc tty_register_driver +EXPORT_SYMBOL vmlinux 0x41d11338 qdisc_reset +EXPORT_SYMBOL vmlinux 0x41e30264 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x41e52580 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x41e56a18 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x4203529c mtd_concat_create +EXPORT_SYMBOL vmlinux 0x42056eb7 revalidate_disk +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4223d3c3 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x42297a09 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4238fe9d skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x42443b2e simple_dir_operations +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424cce5e __phy_resume +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x4253aa7e down_write +EXPORT_SYMBOL vmlinux 0x42604384 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x4271a30f insert_inode_locked +EXPORT_SYMBOL vmlinux 0x428155b0 inet_add_offload +EXPORT_SYMBOL vmlinux 0x428466b3 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x42975d32 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x4298b775 v7_flush_kern_cache_all +EXPORT_SYMBOL vmlinux 0x42a8e1f6 tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0x42afee98 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4303a694 register_sound_special_device +EXPORT_SYMBOL vmlinux 0x4308d7b7 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x432114ef consume_skb +EXPORT_SYMBOL vmlinux 0x43213ac7 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x43279ada xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x43383fd4 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x4341000d rproc_boot +EXPORT_SYMBOL vmlinux 0x434eef10 __napi_schedule +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435bbd7b unlock_page +EXPORT_SYMBOL vmlinux 0x43635183 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x439ebd3c dev_get_by_index +EXPORT_SYMBOL vmlinux 0x439ed3c3 block_write_full_page +EXPORT_SYMBOL vmlinux 0x43b4758d md_bitmap_free +EXPORT_SYMBOL vmlinux 0x43c2ff63 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x43c402ab netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x43ce8f73 pci_release_resource +EXPORT_SYMBOL vmlinux 0x43d33fba bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x43d6b1fa nd_btt_probe +EXPORT_SYMBOL vmlinux 0x43d94c22 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x43f35294 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x44182cfa notify_change +EXPORT_SYMBOL vmlinux 0x4418b2e9 cdrom_release +EXPORT_SYMBOL vmlinux 0x4422d708 napi_complete_done +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x442686c8 pid_task +EXPORT_SYMBOL vmlinux 0x4429b35b ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x442f81b4 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x442f88b1 sock_bind_add +EXPORT_SYMBOL vmlinux 0x44327f62 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x44646a5b sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x4464b06a inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x4479e410 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x44999a0b ip6_frag_next +EXPORT_SYMBOL vmlinux 0x44a2845b blk_execute_rq +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44a7090c vfs_create_mount +EXPORT_SYMBOL vmlinux 0x44bd4806 elv_rb_find +EXPORT_SYMBOL vmlinux 0x44be08fe dma_async_device_register +EXPORT_SYMBOL vmlinux 0x44c9dc6c percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ea9a23 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x44f0cc69 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450730c4 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x450c89cb nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x45230e60 input_open_device +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x4536f446 dev_get_flags +EXPORT_SYMBOL vmlinux 0x453b95f6 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4545f1b3 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x455c314d netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x4562a134 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x456a1d36 dev_uc_init +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45810923 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x45a17411 kthread_bind +EXPORT_SYMBOL vmlinux 0x45a332db md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45e7b4a4 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x45f42b85 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x45f8b718 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x4607d7e2 kill_anon_super +EXPORT_SYMBOL vmlinux 0x4618b9c5 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46236638 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x462f09d0 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x4631172f mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x46620bc2 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x466fc771 get_watch_queue +EXPORT_SYMBOL vmlinux 0x4688e865 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46a9d62c devm_rproc_add +EXPORT_SYMBOL vmlinux 0x46b0f17a snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x46bfe1b0 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46f102ad user_revoke +EXPORT_SYMBOL vmlinux 0x46f7dbad neigh_app_ns +EXPORT_SYMBOL vmlinux 0x47080152 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x472208f9 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x47292006 sk_common_release +EXPORT_SYMBOL vmlinux 0x4756260d ida_destroy +EXPORT_SYMBOL vmlinux 0x475fb865 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477e2e90 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x478d9b84 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0x4790f8cd pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47b94fd0 cdev_alloc +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47e70229 v7_flush_user_cache_range +EXPORT_SYMBOL vmlinux 0x47ee1b4a seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x47fbf6ee snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x47fd8595 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x4807cafe inode_dio_wait +EXPORT_SYMBOL vmlinux 0x4817479e pmem_sector_size +EXPORT_SYMBOL vmlinux 0x4825a9fd fd_install +EXPORT_SYMBOL vmlinux 0x48336422 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x483c5dc8 mpage_writepages +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484dcc75 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x48517145 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x48524fe6 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x4857a893 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x4857f7b5 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x48610c10 processor +EXPORT_SYMBOL vmlinux 0x4866146b dma_dummy_ops +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x487829a9 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x487ee240 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x489aa565 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48b9eeb9 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x48bb80db hex2bin +EXPORT_SYMBOL vmlinux 0x48c7a0b7 mntput +EXPORT_SYMBOL vmlinux 0x48f10e4d rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x48f35648 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x48f5390b sock_wake_async +EXPORT_SYMBOL vmlinux 0x48fc71f3 vm_insert_page +EXPORT_SYMBOL vmlinux 0x4901f3a1 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x49033dd1 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x492a4aa7 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x49345d47 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x49547b8d __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x4959b750 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x497927d8 do_map_probe +EXPORT_SYMBOL vmlinux 0x49806b56 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x498ce890 lookup_bdev +EXPORT_SYMBOL vmlinux 0x49970de8 finish_wait +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b70e33 tty_set_operations +EXPORT_SYMBOL vmlinux 0x49b82393 d_alloc +EXPORT_SYMBOL vmlinux 0x49b9bd0b try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x49ca6fba add_watch_to_object +EXPORT_SYMBOL vmlinux 0x49d3457a cpumask_any_but +EXPORT_SYMBOL vmlinux 0x49dc4d2c nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x49f26466 kstrndup +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a4323e7 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x4a4ad313 is_bad_inode +EXPORT_SYMBOL vmlinux 0x4a4fb233 tcf_block_put +EXPORT_SYMBOL vmlinux 0x4a508497 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x4a8ae3d0 md_register_thread +EXPORT_SYMBOL vmlinux 0x4a909707 md_write_start +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aad915e d_instantiate +EXPORT_SYMBOL vmlinux 0x4ade8b2e kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x4ae510b1 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x4af04f66 dst_discard_out +EXPORT_SYMBOL vmlinux 0x4af9eeac i2c_register_driver +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b397395 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x4b3dc7ea call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x4b4e6d99 inet6_getname +EXPORT_SYMBOL vmlinux 0x4b554567 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b627f0b phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x4b6827c7 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x4b6acbb3 lock_page_memcg +EXPORT_SYMBOL vmlinux 0x4b93a547 iterate_dir +EXPORT_SYMBOL vmlinux 0x4b97a3f9 pipe_unlock +EXPORT_SYMBOL vmlinux 0x4b9ed9bd pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x4bba5f1f ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x4bbfbe26 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x4be85a03 memweight +EXPORT_SYMBOL vmlinux 0x4beabd50 neigh_lookup +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bfdcefa __memset32 +EXPORT_SYMBOL vmlinux 0x4c002f9c genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x4c022577 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4c1cca3b cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x4c20185f pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c2ef454 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x4c332579 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c6a6e5c get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x4c6da9be __inet_hash +EXPORT_SYMBOL vmlinux 0x4c80e590 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x4c94849f kill_block_super +EXPORT_SYMBOL vmlinux 0x4ca4fe46 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x4cb0c9f9 seq_pad +EXPORT_SYMBOL vmlinux 0x4cb174a2 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc46465 __put_page +EXPORT_SYMBOL vmlinux 0x4cce256a vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x4cd761a5 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x4cdcf660 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4ce48552 nf_log_unset +EXPORT_SYMBOL vmlinux 0x4cf80118 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d28c4f5 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d49635e brioctl_set +EXPORT_SYMBOL vmlinux 0x4d514485 xa_store +EXPORT_SYMBOL vmlinux 0x4d633c89 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x4d634803 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x4d6ae35f rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x4d6ea901 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x4d89fc99 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x4d8c995b uart_suspend_port +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dd1d029 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0x4de1788d end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x4de220d6 setattr_copy +EXPORT_SYMBOL vmlinux 0x4de3af71 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4e057ea4 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x4e05bdec mempool_init_node +EXPORT_SYMBOL vmlinux 0x4e2569a9 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e2f4946 snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e464d1b kmap_high +EXPORT_SYMBOL vmlinux 0x4e5e3a9f rproc_put +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6affc2 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7fb628 wake_up_process +EXPORT_SYMBOL vmlinux 0x4e92479d disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x4ea3709b pci_map_rom +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb13ed3 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ed65d9e netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x4ed70026 phy_init_eee +EXPORT_SYMBOL vmlinux 0x4edb8a55 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x4edbfb9c of_device_register +EXPORT_SYMBOL vmlinux 0x4ede617e mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x4edf3bf5 unlock_rename +EXPORT_SYMBOL vmlinux 0x4ee0e846 ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x4ee6ccae dev_printk +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4f00dee5 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x4f0f5d86 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x4f0fa940 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x4f13b3ef inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f294850 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x4f4553d8 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f518a2e of_match_device +EXPORT_SYMBOL vmlinux 0x4f66b695 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f84b37f kobject_init +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f913f45 sock_no_listen +EXPORT_SYMBOL vmlinux 0x4f9f2dc6 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x4fb7d60c of_device_is_available +EXPORT_SYMBOL vmlinux 0x4fcbd2e0 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x4fdb80c5 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x4fef3ef4 completion_done +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x502b6647 mempool_create_node +EXPORT_SYMBOL vmlinux 0x502cc520 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL vmlinux 0x503cf426 netdev_emerg +EXPORT_SYMBOL vmlinux 0x504851b1 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x50505119 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506a31c5 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x507b6051 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x507bde52 kobject_get +EXPORT_SYMBOL vmlinux 0x5082090b pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x508801c9 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x50893f2b dev_addr_del +EXPORT_SYMBOL vmlinux 0x508c6b13 genlmsg_put +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50a7e0ac remove_proc_entry +EXPORT_SYMBOL vmlinux 0x50abeee0 fqdir_init +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d71bcf gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x50efcb07 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f9d093 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x50fd6103 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x5100a44c qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x51022053 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x510bf39e md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x5111005a find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x51127784 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5121b3c8 bio_reset +EXPORT_SYMBOL vmlinux 0x51353360 inet_select_addr +EXPORT_SYMBOL vmlinux 0x5139d87e truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x513a6693 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x514a62ec dq_data_lock +EXPORT_SYMBOL vmlinux 0x514c21ca inet_del_protocol +EXPORT_SYMBOL vmlinux 0x514cc273 arm_copy_from_user +EXPORT_SYMBOL vmlinux 0x5159e57e __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516fbdad ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x517e59da kobject_set_name +EXPORT_SYMBOL vmlinux 0x51ac3680 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x51af659a arp_create +EXPORT_SYMBOL vmlinux 0x51c60c7f eth_header +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51f7cfa4 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x520ced17 backlight_force_update +EXPORT_SYMBOL vmlinux 0x52130a56 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x52156d98 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x52199a39 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x521cc819 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x52302594 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x5238f067 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x523e57aa ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0x52580d96 eth_header_parse +EXPORT_SYMBOL vmlinux 0x52685452 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52953d76 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x529bc890 fget +EXPORT_SYMBOL vmlinux 0x529eae0f devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x52a9f56b bio_devname +EXPORT_SYMBOL vmlinux 0x52b174e9 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x52c40e37 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x52ccbba9 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x52cf2f42 arp_xmit +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52d8d19e _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x5319e444 sock_alloc +EXPORT_SYMBOL vmlinux 0x535b804d dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x536060af radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x536a013f do_SAK +EXPORT_SYMBOL vmlinux 0x538a33ec phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x53bf6516 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x53db167e pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x53ea6299 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x53f1d105 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x541348a2 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x5418d499 phy_read_paged +EXPORT_SYMBOL vmlinux 0x5423e891 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x543d939c key_invalidate +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5447f601 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x544b0897 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x5466ba1c textsearch_prepare +EXPORT_SYMBOL vmlinux 0x5469ff81 efi +EXPORT_SYMBOL vmlinux 0x547a1739 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x549a8aac pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54dbfd17 pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x5532ca9e fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554d56fa blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x5568e449 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55a12a31 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x55a4c0b3 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x55b51dfd iterate_supers_type +EXPORT_SYMBOL vmlinux 0x55b9bb25 vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55f7b9d3 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563952a3 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x565d0767 dquot_commit +EXPORT_SYMBOL vmlinux 0x5667a277 down_timeout +EXPORT_SYMBOL vmlinux 0x56737fd3 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x5675c3da i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x567f9ee7 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x5686269b from_kuid +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56c95ffe kernel_listen +EXPORT_SYMBOL vmlinux 0x56d88239 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x56dc2771 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x56dfde5f mmc_start_request +EXPORT_SYMBOL vmlinux 0x57439a54 send_sig +EXPORT_SYMBOL vmlinux 0x57440903 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x5745e4da blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x57468dc6 dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578266d2 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x579dfd33 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x57aa3389 snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x57b13376 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x57b1c315 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x57c746e1 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x57ceedb1 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x57e5170c qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57ff23f0 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x580dc327 dget_parent +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +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 0x584f72e1 snd_timer_stop +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x58763ae3 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587d79fa __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x5883f7c1 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58ad252d pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58c21318 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x58c4a59a md_unregister_thread +EXPORT_SYMBOL vmlinux 0x58cf39ab dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x58cf6ad2 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x58db3825 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x58e010ed dump_skip +EXPORT_SYMBOL vmlinux 0x58e01de5 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58ecbb37 simple_getattr +EXPORT_SYMBOL vmlinux 0x58f0ab5d dev_open +EXPORT_SYMBOL vmlinux 0x58f14e08 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x58f4c817 ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x58f4e688 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x58fad869 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x58fc05e4 netdev_change_features +EXPORT_SYMBOL vmlinux 0x59020723 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x592b5bd9 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x5947f487 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x59536eb5 fqdir_exit +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x595aeb70 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x59a94b37 sg_miter_skip +EXPORT_SYMBOL vmlinux 0x59b7cab6 mempool_resize +EXPORT_SYMBOL vmlinux 0x59bea69f mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x59d29dab v7_flush_kern_dcache_area +EXPORT_SYMBOL vmlinux 0x59d3e9c9 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59f43ae3 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x5a02b088 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x5a0300df max8925_set_bits +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a14de15 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x5a158b1d flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x5a1f3e26 get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x5a1fa496 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5a2e83db xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5e2eb8 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x5a86e821 devm_free_irq +EXPORT_SYMBOL vmlinux 0x5aa1b5a4 dev_trans_start +EXPORT_SYMBOL vmlinux 0x5aa9ae70 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0x5aac4cec nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0x5abcd7f1 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x5abf2f8f __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x5adc3c87 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x5b062284 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5b0f2d50 of_phy_connect +EXPORT_SYMBOL vmlinux 0x5b10e457 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x5b238c8a snd_pcm_new +EXPORT_SYMBOL vmlinux 0x5b2f0971 fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b3cb4e2 udp_ioctl +EXPORT_SYMBOL vmlinux 0x5b513b55 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b54c3cc ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x5b585c15 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x5b5ee853 drop_super +EXPORT_SYMBOL vmlinux 0x5b617b0c fiemap_prep +EXPORT_SYMBOL vmlinux 0x5b639d97 simple_release_fs +EXPORT_SYMBOL vmlinux 0x5b6b468e flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x5b848175 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x5b979c86 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x5babf237 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x5bad1889 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x5badbb78 string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5baf9311 page_pool_put_page +EXPORT_SYMBOL vmlinux 0x5bb6dec8 inet_del_offload +EXPORT_SYMBOL vmlinux 0x5bbe49f4 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x5bc76d34 inode_init_once +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bec17da __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x5bf08883 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x5bf3dd2e kobject_del +EXPORT_SYMBOL vmlinux 0x5bf6cb26 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x5bf7f981 save_stack_trace_tsk +EXPORT_SYMBOL vmlinux 0x5bfdc97a vme_irq_free +EXPORT_SYMBOL vmlinux 0x5c16a496 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x5c1faa97 sock_init_data +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c4a82c8 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x5c4ecfa9 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x5c50109c block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x5c51fea3 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x5c5f2dac pps_event +EXPORT_SYMBOL vmlinux 0x5c61432b dm_put_table_device +EXPORT_SYMBOL vmlinux 0x5c716976 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5c749c23 security_path_mknod +EXPORT_SYMBOL vmlinux 0x5c777192 locks_init_lock +EXPORT_SYMBOL vmlinux 0x5c7f1284 int_sqrt64 +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5c92a279 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x5caf6fc3 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x5cbd8e69 __crc32c_le +EXPORT_SYMBOL vmlinux 0x5cde5f21 bio_init +EXPORT_SYMBOL vmlinux 0x5ce9a942 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5cee6c9c tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d04272a file_ns_capable +EXPORT_SYMBOL vmlinux 0x5d249d9d hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5d25764a d_instantiate_new +EXPORT_SYMBOL vmlinux 0x5d304ba0 follow_down +EXPORT_SYMBOL vmlinux 0x5d37d658 dim_park_tired +EXPORT_SYMBOL vmlinux 0x5d3a9840 blkdev_get +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d5fe529 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x5d65a30e pcim_enable_device +EXPORT_SYMBOL vmlinux 0x5d664438 dst_destroy +EXPORT_SYMBOL vmlinux 0x5d7fcd61 ip_defrag +EXPORT_SYMBOL vmlinux 0x5d810f97 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d846202 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x5d9a6cfb kernel_getsockname +EXPORT_SYMBOL vmlinux 0x5d9d76a6 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x5dcf6341 outer_cache +EXPORT_SYMBOL vmlinux 0x5de5cca2 utf8_normalize +EXPORT_SYMBOL vmlinux 0x5de8db25 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x5dffc583 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1434f6 filp_close +EXPORT_SYMBOL vmlinux 0x5e2e84a5 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x5e335d5a fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e377238 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x5e3a12fd bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x5e3f208c snd_timer_pause +EXPORT_SYMBOL vmlinux 0x5e440cc3 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x5e618636 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x5e65ac1d d_alloc_anon +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e866d85 prandom_bytes +EXPORT_SYMBOL vmlinux 0x5e8771c4 config_item_get +EXPORT_SYMBOL vmlinux 0x5e8afa16 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea47e18 generic_permission +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ec51021 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed05bf6 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ee2b958 generic_perform_write +EXPORT_SYMBOL vmlinux 0x5eecaef5 nand_bch_init +EXPORT_SYMBOL vmlinux 0x5eee652b generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x5ef563fb filemap_flush +EXPORT_SYMBOL vmlinux 0x5f04e62e sock_pfree +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f0b9b8b of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0x5f28676c dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5f336c75 tcf_em_register +EXPORT_SYMBOL vmlinux 0x5f4a3676 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x5f4f5eb9 sk_free +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f849a69 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5f946b49 mdiobus_free +EXPORT_SYMBOL vmlinux 0x5fb01358 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fb5b8ff bdi_alloc +EXPORT_SYMBOL vmlinux 0x5fcba64a __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x5fcfafef sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x5fe28ca6 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x5fec5920 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x5ff11cc3 pcibios_min_io +EXPORT_SYMBOL vmlinux 0x5ff2f571 udp_seq_stop +EXPORT_SYMBOL vmlinux 0x5ff51462 __frontswap_store +EXPORT_SYMBOL vmlinux 0x5fffbbc0 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x60061fe2 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x603286b8 utf8_casefold +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x6049af38 nand_create_bbt +EXPORT_SYMBOL vmlinux 0x604cb2e9 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x605441c6 md_integrity_register +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x606da5e9 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x607d5efa ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609a8f0a snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60bffe6d div64_u64 +EXPORT_SYMBOL vmlinux 0x60c83a09 page_pool_destroy +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60db2da3 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x60e41b4b iterate_fd +EXPORT_SYMBOL vmlinux 0x60e536a8 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x60f93606 PDE_DATA +EXPORT_SYMBOL vmlinux 0x60fd4cd8 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x6121bd54 dql_init +EXPORT_SYMBOL vmlinux 0x6121bf4b scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x6156c7f4 net_dim +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x617554e1 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x618344f8 key_move +EXPORT_SYMBOL vmlinux 0x61b76bb9 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b8d1cc param_ops_bint +EXPORT_SYMBOL vmlinux 0x61c76b3a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x61cbb73e md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6227f883 input_register_handle +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6231e4d6 submit_bh +EXPORT_SYMBOL vmlinux 0x62482a6a blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x625eb17f set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x6265c8e2 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x62668304 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x62681e02 bio_add_page +EXPORT_SYMBOL vmlinux 0x62704740 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627d4340 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x6291a99d dma_resv_init +EXPORT_SYMBOL vmlinux 0x62a602fe lock_sock_fast +EXPORT_SYMBOL vmlinux 0x62b9b5ce xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x62bcc78d seq_puts +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62c7af93 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0x62d1d73a bdget +EXPORT_SYMBOL vmlinux 0x62edce07 tso_start +EXPORT_SYMBOL vmlinux 0x62f576d9 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x6302bce5 textsearch_register +EXPORT_SYMBOL vmlinux 0x630f2cb8 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x63107173 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63230633 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x6342f99f mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x635b90cc __ip_options_compile +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x637c4964 mmc_request_done +EXPORT_SYMBOL vmlinux 0x637d1029 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x639c1244 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63bd621f pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x63bd6e9e seq_read +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c63f2a of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x63cb5a84 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f126b7 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x640d7ac0 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x641750a1 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x643a4320 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x6443babd ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x644448bc pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x6450953b remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0x646aa50f serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x64788610 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x647af474 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x64811d45 devm_clk_get +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649d84e1 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x649fecfa vfs_llseek +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64d1806d dev_mc_flush +EXPORT_SYMBOL vmlinux 0x64dd24df nla_put_64bit +EXPORT_SYMBOL vmlinux 0x65016510 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x65209fd6 param_get_short +EXPORT_SYMBOL vmlinux 0x652aba80 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x653c9aa8 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x6578533e prepare_to_wait +EXPORT_SYMBOL vmlinux 0x65797ed0 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x657d1cca d_splice_alias +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x658db893 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x65972fc8 input_get_timestamp +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x659ed31a pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x65ce3cf8 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x65d411e9 idr_get_next +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65f74e3b set_bh_page +EXPORT_SYMBOL vmlinux 0x661655a0 param_get_bool +EXPORT_SYMBOL vmlinux 0x66404f43 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x66451409 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x66474aa4 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x6647ef99 __find_get_block +EXPORT_SYMBOL vmlinux 0x665ca9f4 of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x665d5b0d sock_sendmsg +EXPORT_SYMBOL vmlinux 0x66657274 kmalloc_order +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66821f21 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x6689b53b __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x66bf6758 generic_write_checks +EXPORT_SYMBOL vmlinux 0x66c2ad03 is_subdir +EXPORT_SYMBOL vmlinux 0x66d2c1e3 rproc_alloc +EXPORT_SYMBOL vmlinux 0x66dbb4d2 ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x66f3fee9 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x66fd96d1 udp_poll +EXPORT_SYMBOL vmlinux 0x670ff1bd __module_get +EXPORT_SYMBOL vmlinux 0x67249937 __netif_schedule +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x6749f23c netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x67615435 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x676b2a5e tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x676c9229 ethtool_notify +EXPORT_SYMBOL vmlinux 0x6782d34a rename_lock +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x67949000 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x6795d84a tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0x679856f5 sort_r +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67ba8526 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x67ea6e61 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x67f57345 snd_jack_report +EXPORT_SYMBOL vmlinux 0x6801a328 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x6808c968 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x68322b36 dev_mc_add +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x6873f125 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687cd935 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x68893ddf blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x689eaf8c nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68ac42ae simple_transaction_release +EXPORT_SYMBOL vmlinux 0x68ce1f3d __register_nls +EXPORT_SYMBOL vmlinux 0x68ce98a7 kset_register +EXPORT_SYMBOL vmlinux 0x68d42b33 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x68da827e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x68e71340 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x68f625d3 snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x69120bac vme_irq_request +EXPORT_SYMBOL vmlinux 0x691938f8 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x691bd63d fs_param_is_string +EXPORT_SYMBOL vmlinux 0x6925e0cf __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x694537bd inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69573e52 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x698dbad2 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69b9a3a7 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x69bd524b netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e0d34b pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x69e51d08 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x69f8f936 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x69ff6b07 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a06fe13 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x6a108044 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x6a1654d0 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x6a1b1d75 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x6a25b127 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x6a3005da of_parse_phandle +EXPORT_SYMBOL vmlinux 0x6a3a52a7 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x6a41cf47 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x6a5666a1 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a93dae7 amba_request_regions +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa54901 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ab9d647 register_cdrom +EXPORT_SYMBOL vmlinux 0x6abab4b2 fb_find_mode +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af493c7 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x6af7b21a packing +EXPORT_SYMBOL vmlinux 0x6b0bcfe4 pci_get_class +EXPORT_SYMBOL vmlinux 0x6b1abd5e abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x6b1b3eaf mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x6b22cbaf fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b322fbd __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x6b53321f padata_do_serial +EXPORT_SYMBOL vmlinux 0x6b54c4cd pci_get_subsys +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5ed2ab remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x6b604710 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x6b78877b pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x6b7ba772 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x6b7dc4d1 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b8eb187 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x6ba2afd9 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x6baf67a4 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x6bb632aa param_ops_charp +EXPORT_SYMBOL vmlinux 0x6bb93d9e sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x6bc06a64 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd0d1a4 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6bf7d3c2 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x6bfdffea sync_filesystem +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c22d059 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c37f040 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x6c538b23 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c752e04 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x6c810e42 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x6c881ac4 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbcaccb security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x6cbcd95e ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0x6cc872aa crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x6cd870c8 pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0x6cdb53a2 snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cdccd88 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cffeb05 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x6d1871b6 vfs_fsync +EXPORT_SYMBOL vmlinux 0x6d24e842 kill_pid +EXPORT_SYMBOL vmlinux 0x6d2524c7 vme_master_request +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3f1339 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x6d4356a0 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x6d4b8a22 fb_show_logo +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d7881d4 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d89b199 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x6daaf2a2 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x6dcacac5 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd7c368 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x6de81aa6 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x6df05cbf single_open +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df7b14e phy_device_register +EXPORT_SYMBOL vmlinux 0x6dfb3fe4 bio_endio +EXPORT_SYMBOL vmlinux 0x6e2e1d56 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x6e425115 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x6e4e7714 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x6e586338 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x6e65bd41 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e78c1f2 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eacf6f8 __scm_send +EXPORT_SYMBOL vmlinux 0x6ebea67b km_state_expired +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ec3679a pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x6ecdb792 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6ee92606 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x6eeb1073 free_buffer_head +EXPORT_SYMBOL vmlinux 0x6ef66e4d seq_write +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f013ecd __init_rwsem +EXPORT_SYMBOL vmlinux 0x6f17ea86 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x6f38a50d __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x6f42ac03 dquot_drop +EXPORT_SYMBOL vmlinux 0x6f4350ff netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x6f5283ec seq_putc +EXPORT_SYMBOL vmlinux 0x6f5d8399 register_qdisc +EXPORT_SYMBOL vmlinux 0x6f8362c6 phy_loopback +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f946019 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x6f95445c add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x6f9b6dc5 register_md_personality +EXPORT_SYMBOL vmlinux 0x6fbe4717 idr_replace +EXPORT_SYMBOL vmlinux 0x6fbedcde dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdb9e0c __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x700c51f3 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x70132302 vfs_readlink +EXPORT_SYMBOL vmlinux 0x70258d76 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x7037a54a neigh_update +EXPORT_SYMBOL vmlinux 0x7041a421 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x7062e83c phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x706bcb3f input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x706c424c pcim_iounmap +EXPORT_SYMBOL vmlinux 0x70703993 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x70931155 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x70b8bcd3 skb_put +EXPORT_SYMBOL vmlinux 0x70d5d56f generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x70ed9fa8 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x70eea934 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x70eeb5f0 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x70ef8c77 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x71140162 thaw_super +EXPORT_SYMBOL vmlinux 0x711b8a9b __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x712110ab proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712e3def netif_carrier_off +EXPORT_SYMBOL vmlinux 0x7139f348 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x713bf776 vfs_link +EXPORT_SYMBOL vmlinux 0x713da3ca phy_attach_direct +EXPORT_SYMBOL vmlinux 0x71432c37 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0x71494043 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x714d767f scsi_scan_host +EXPORT_SYMBOL vmlinux 0x71584286 nf_log_trace +EXPORT_SYMBOL vmlinux 0x7160d9ad cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x7164b1d1 tcp_filter +EXPORT_SYMBOL vmlinux 0x716c61cf neigh_for_each +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71786999 __sock_create +EXPORT_SYMBOL vmlinux 0x717bc2cf nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0x71850a68 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x71a18f4b vm_map_pages +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b558f6 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x71c017a0 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71f7de4f proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x71fc926f gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x720a7077 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x720d9977 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x720dd33f prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x722c1676 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x724c2974 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x7264ab0b skb_split +EXPORT_SYMBOL vmlinux 0x72720c54 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x72759361 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x72833128 skb_trim +EXPORT_SYMBOL vmlinux 0x72a6b07a __getblk_gfp +EXPORT_SYMBOL vmlinux 0x72a75afe param_set_ullong +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72cf52e1 can_nice +EXPORT_SYMBOL vmlinux 0x72d230a2 param_set_charp +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d55324 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +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 0x7326df9f __destroy_inode +EXPORT_SYMBOL vmlinux 0x733a0f7e generic_ro_fops +EXPORT_SYMBOL vmlinux 0x733a8a15 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x735f33b0 mutex_is_locked +EXPORT_SYMBOL vmlinux 0x737a3a05 dm_io +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738df5d6 no_llseek +EXPORT_SYMBOL vmlinux 0x739c2f06 proc_mkdir +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b6232b call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x73c983e5 param_ops_byte +EXPORT_SYMBOL vmlinux 0x73d20fb3 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x73e01e35 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x74280cbe dquot_scan_active +EXPORT_SYMBOL vmlinux 0x744b17ba mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x747aa856 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x74978a3c mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x749a54d7 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x74adf684 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x74b0b5b5 module_layout +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c28b52 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x74c3b9fc __serio_register_port +EXPORT_SYMBOL vmlinux 0x74db96e9 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74ecea5a snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x74ed3917 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x74f1a6bd dst_release +EXPORT_SYMBOL vmlinux 0x74f94552 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x74fa9cc6 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x74fc3551 would_dump +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x750b60b5 amba_driver_register +EXPORT_SYMBOL vmlinux 0x7521f3d9 vme_lm_request +EXPORT_SYMBOL vmlinux 0x75403a2b reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x755a2163 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x755cb917 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x756dadfe sockfd_lookup +EXPORT_SYMBOL vmlinux 0x756f217d generic_setlease +EXPORT_SYMBOL vmlinux 0x757f088f cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x758413a0 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x7588c039 mdio_device_register +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c7110e jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75db2588 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x75edf9f4 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760fe1de dev_uc_sync +EXPORT_SYMBOL vmlinux 0x7632cc3c of_get_mac_address +EXPORT_SYMBOL vmlinux 0x7639498d __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x76434428 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764b729c msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x765a7d71 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x767eb937 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x7689addc pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x768b1489 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x7693454a t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x76958029 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a0e141 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x76aebf23 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x76c78977 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76cf8f51 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x76d38e8f simple_fill_super +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76df1172 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x76e7fabb vfs_rmdir +EXPORT_SYMBOL vmlinux 0x7700ce69 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x771de2a1 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77350bc8 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x77665b7d scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x777d9db7 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x778edb9e sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x7791cc68 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x77992dc5 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b4d9ad mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c79661 generic_fillattr +EXPORT_SYMBOL vmlinux 0x77d33f90 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x77e31b1c vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ef6e4a pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x77f6c690 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x77f6f183 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x77fb066b mdiobus_read +EXPORT_SYMBOL vmlinux 0x78013204 nd_device_register +EXPORT_SYMBOL vmlinux 0x78020755 input_grab_device +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780ae9fa of_dev_get +EXPORT_SYMBOL vmlinux 0x7817099e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x781bbfa7 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x7823a043 md_write_end +EXPORT_SYMBOL vmlinux 0x782d558d loop_register_transfer +EXPORT_SYMBOL vmlinux 0x783ad780 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x783b977a kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x783ccf80 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x78431876 ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x78652114 file_modified +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78895aaf blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x7889b1a0 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b61d72 pci_get_device +EXPORT_SYMBOL vmlinux 0x78be7f09 d_invalidate +EXPORT_SYMBOL vmlinux 0x78d41414 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e064de genphy_read_status +EXPORT_SYMBOL vmlinux 0x78e68d39 simple_rename +EXPORT_SYMBOL vmlinux 0x78f24c51 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x78fe32be sock_wmalloc +EXPORT_SYMBOL vmlinux 0x79178942 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x791a4616 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x791a64e8 sock_i_uid +EXPORT_SYMBOL vmlinux 0x791f26ca mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x7924de11 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x792d1755 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x794765d1 mempool_free +EXPORT_SYMBOL vmlinux 0x794792ef unregister_qdisc +EXPORT_SYMBOL vmlinux 0x794b8d14 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x7953b6bc lock_sock_nested +EXPORT_SYMBOL vmlinux 0x79718478 phy_attach +EXPORT_SYMBOL vmlinux 0x797b14ef eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x7991a486 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x79968c3d sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x799edb01 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x79a94764 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ad8de7 release_pages +EXPORT_SYMBOL vmlinux 0x79b484c9 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x79c47a41 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x79d09472 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x79dacaff pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x79e02ca8 snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x79f48354 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x79fbdb4e csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x79fc577f utf8nagemax +EXPORT_SYMBOL vmlinux 0x7a066a3b dcache_dir_open +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a17e5b2 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2001bb cdev_set_parent +EXPORT_SYMBOL vmlinux 0x7a2dc7c6 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x7a3e8a42 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a460c9a clear_inode +EXPORT_SYMBOL vmlinux 0x7a4daf6d tcp_conn_request +EXPORT_SYMBOL vmlinux 0x7a7a57f0 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab69068 inet_gro_receive +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aba5c0b ZSTD_getParams +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7aded2f7 down_write_trylock +EXPORT_SYMBOL vmlinux 0x7ae01dbb redraw_screen +EXPORT_SYMBOL vmlinux 0x7ae35488 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7afb1191 netdev_printk +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b04a693 pci_dev_get +EXPORT_SYMBOL vmlinux 0x7b0e452a sock_wfree +EXPORT_SYMBOL vmlinux 0x7b26f501 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x7b283ce3 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x7b2fb85d __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7b51b66c ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b69577c ilookup5 +EXPORT_SYMBOL vmlinux 0x7b8484ed napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x7b8f453c dma_pool_create +EXPORT_SYMBOL vmlinux 0x7b9abd08 __sb_end_write +EXPORT_SYMBOL vmlinux 0x7bb585b3 snd_device_register +EXPORT_SYMBOL vmlinux 0x7bbae547 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x7bca592e delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x7bf1a398 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x7bf3f882 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7c0a7037 set_user_nice +EXPORT_SYMBOL vmlinux 0x7c10be93 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2ccc8d genphy_suspend +EXPORT_SYMBOL vmlinux 0x7c39e7b5 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x7c3e4261 mntget +EXPORT_SYMBOL vmlinux 0x7c435ebe rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4a96cd gro_cells_receive +EXPORT_SYMBOL vmlinux 0x7c66dbc5 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x7c8b0da3 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x7c8cea9e key_create_or_update +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cbfa3b9 icmp6_send +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cdb08c6 bio_put +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf5402a posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d039663 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d124022 init_task +EXPORT_SYMBOL vmlinux 0x7d22f6a6 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x7d31cdb1 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x7d3f31b6 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x7d45caeb i2c_transfer +EXPORT_SYMBOL vmlinux 0x7d474d41 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7d4b086d qdisc_put +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d674096 vga_put +EXPORT_SYMBOL vmlinux 0x7d6a81d9 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7d6f1dc3 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x7d87594a d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x7d8f2261 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x7da655ef dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x7daad413 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db30432 vfs_statfs +EXPORT_SYMBOL vmlinux 0x7dbb1284 of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df47222 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x7e0ce0c3 up_write +EXPORT_SYMBOL vmlinux 0x7e1306f7 stop_tty +EXPORT_SYMBOL vmlinux 0x7e1a9098 drop_nlink +EXPORT_SYMBOL vmlinux 0x7e2da581 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e32e7c7 irq_stat +EXPORT_SYMBOL vmlinux 0x7e408047 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x7e626cca twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x7e6849fd may_umount_tree +EXPORT_SYMBOL vmlinux 0x7e6e2116 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x7e750957 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x7e986abe try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7e9ce641 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x7e9eb57f elm_decode_bch_error_page +EXPORT_SYMBOL vmlinux 0x7ea2adfb inet_sendpage +EXPORT_SYMBOL vmlinux 0x7eab68a5 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x7ec3e4d3 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x7ed19180 snd_jack_add_new_kctl +EXPORT_SYMBOL vmlinux 0x7ed465e8 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x7eea165d dquot_resume +EXPORT_SYMBOL vmlinux 0x7ef0ea37 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7efbb2d6 kill_pgrp +EXPORT_SYMBOL vmlinux 0x7eff16b6 dquot_disable +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f050f7a dec_node_page_state +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f304b27 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x7f3ab280 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x7f4332cf kmem_cache_create +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f6ac1ce md_cluster_ops +EXPORT_SYMBOL vmlinux 0x7f6ecb21 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x7f7e00d6 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fbc9baa tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x7fc0de07 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x7fc9ca82 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x7fdc791b tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x7fde2edb vme_master_read +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff797cd dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x7ffd5080 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x80034622 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x80340728 phy_get_pause +EXPORT_SYMBOL vmlinux 0x8039b3fd _totalram_pages +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x805bcc59 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x806abac8 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x806d42cc key_type_keyring +EXPORT_SYMBOL vmlinux 0x808bc8e3 param_set_bool +EXPORT_SYMBOL vmlinux 0x809ccb0a wireless_spy_update +EXPORT_SYMBOL vmlinux 0x809d8a5e blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x80b62dbe tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x80c4c319 crc32_le +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e4006e mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x8108ac7a down_read_trylock +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81143dff __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x813eb4e6 of_get_property +EXPORT_SYMBOL vmlinux 0x814ff903 discard_new_inode +EXPORT_SYMBOL vmlinux 0x8158d8d6 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81635732 tty_name +EXPORT_SYMBOL vmlinux 0x817b14ad __scsi_add_device +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81a2c810 of_dev_put +EXPORT_SYMBOL vmlinux 0x81b0e5e2 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x81c5544e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e0e136 kthread_stop +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81f433d1 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x81f81415 __bread_gfp +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x822137e2 arm_heavy_mb +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x826fb567 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x827688e4 passthru_features_check +EXPORT_SYMBOL vmlinux 0x827ee653 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x828288a7 __brelse +EXPORT_SYMBOL vmlinux 0x828b2884 file_update_time +EXPORT_SYMBOL vmlinux 0x828bca95 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x828dfdaa mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x829286b1 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x829a897f do_splice_direct +EXPORT_SYMBOL vmlinux 0x82a4fd24 generic_update_time +EXPORT_SYMBOL vmlinux 0x82b8cd21 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x82deb19d pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x82e0d2b9 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x82e2b842 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x82f886a1 ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0x830b5483 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x832ca7fa xp_free +EXPORT_SYMBOL vmlinux 0x832d7d78 dentry_open +EXPORT_SYMBOL vmlinux 0x8351f2dc seqno_fence_ops +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835dcd49 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x8377fc0d down_write_killable +EXPORT_SYMBOL vmlinux 0x837e8a50 locks_free_lock +EXPORT_SYMBOL vmlinux 0x83816b0f tcf_classify +EXPORT_SYMBOL vmlinux 0x8382a81b security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839b1e85 uart_match_port +EXPORT_SYMBOL vmlinux 0x839f8943 md_check_recovery +EXPORT_SYMBOL vmlinux 0x83a2eda3 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x83ad2d42 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x83b898a5 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x83bfa11d unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83cd0e6f atomic_io_modify +EXPORT_SYMBOL vmlinux 0x83d0b8c3 dquot_initialize +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8431eaea __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8456e9a7 xa_erase +EXPORT_SYMBOL vmlinux 0x846eb887 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x84765a63 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x8476f439 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x847ba60e posix_acl_valid +EXPORT_SYMBOL vmlinux 0x847f1f7b iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x84a1afeb ll_rw_block +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84bfb5ce audit_log_start +EXPORT_SYMBOL vmlinux 0x851c2938 param_get_ulong +EXPORT_SYMBOL vmlinux 0x851ec87d dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x85526ee0 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85682f00 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x85699ecd input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x857fb423 input_set_capability +EXPORT_SYMBOL vmlinux 0x8582ebff cpu_all_bits +EXPORT_SYMBOL vmlinux 0x85890d87 get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85bdd7e7 seq_file_path +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x8604b2f1 single_release +EXPORT_SYMBOL vmlinux 0x86159f1f inet_accept +EXPORT_SYMBOL vmlinux 0x8627d7c4 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x8627dde4 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x862bc663 memset16 +EXPORT_SYMBOL vmlinux 0x86332725 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x864cbb68 set_binfmt +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x868935de mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8691459d put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x869609a8 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x86975648 netif_rx +EXPORT_SYMBOL vmlinux 0x869cb5d9 netlink_capable +EXPORT_SYMBOL vmlinux 0x86ba647a rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x86c0a2b8 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x86c40410 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x86c456da skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x86ce01ff uart_register_driver +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86daf416 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x86eb0c08 proc_dointvec +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8707820b netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x870d5a1c __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x8711c086 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x87228cd0 seq_dentry +EXPORT_SYMBOL vmlinux 0x872bf235 nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0x873e23dc input_close_device +EXPORT_SYMBOL vmlinux 0x87422c83 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x87460099 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x87594fbd flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x875b983b twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x8774a4b7 inet_put_port +EXPORT_SYMBOL vmlinux 0x877ca86d dm_put_device +EXPORT_SYMBOL vmlinux 0x877e89f9 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x87a6d8f0 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x87a806ce generic_listxattr +EXPORT_SYMBOL vmlinux 0x87a8b25a tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x87a9f0d5 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x87aad480 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87fc9d10 request_key_tag +EXPORT_SYMBOL vmlinux 0x88082fe7 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x8812621a param_get_long +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x8830d54e i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x885f4287 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x88669f2c __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x887a4dd2 nonseekable_open +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8893c36c tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x88a79789 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x88af6646 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x88b02a28 load_nls +EXPORT_SYMBOL vmlinux 0x88b19f45 system_serial +EXPORT_SYMBOL vmlinux 0x88b69889 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x88bc8875 vfs_unlink +EXPORT_SYMBOL vmlinux 0x88bf58a6 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x88c4b827 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x88db704d blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f7475f dma_cache_sync +EXPORT_SYMBOL vmlinux 0x89050c81 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x8909b5d5 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x89101869 sock_no_getname +EXPORT_SYMBOL vmlinux 0x892667e1 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x896719df napi_gro_flush +EXPORT_SYMBOL vmlinux 0x899fda0d devfreq_update_status +EXPORT_SYMBOL vmlinux 0x89caed13 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x89d3a104 dev_uc_add +EXPORT_SYMBOL vmlinux 0x89d7e18f snd_pcm_set_managed_buffer +EXPORT_SYMBOL vmlinux 0x8a05d6a5 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x8a13a0ad get_fs_type +EXPORT_SYMBOL vmlinux 0x8a3760d6 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x8a3784dc __xa_alloc +EXPORT_SYMBOL vmlinux 0x8a3b1285 __xa_erase +EXPORT_SYMBOL vmlinux 0x8a417b36 bdput +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a788769 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa30959 ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x8ab6325c snd_component_add +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac992e9 pci_free_irq +EXPORT_SYMBOL vmlinux 0x8ae210d7 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x8ae29943 scsi_print_command +EXPORT_SYMBOL vmlinux 0x8afe0b59 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b0eab3b qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x8b1a155f kthread_blkcg +EXPORT_SYMBOL vmlinux 0x8b2f2eab simple_empty +EXPORT_SYMBOL vmlinux 0x8b32c26e inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x8b415ce4 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x8b45c0d8 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x8b4e5bcc blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b882ab2 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x8b89105c ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x8b892740 pci_set_master +EXPORT_SYMBOL vmlinux 0x8b8d4540 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8bad1b86 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x8bbbabf8 nand_correct_data +EXPORT_SYMBOL vmlinux 0x8bbc598f dev_remove_pack +EXPORT_SYMBOL vmlinux 0x8bbe591b generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8be6cee3 dev_add_offload +EXPORT_SYMBOL vmlinux 0x8bee75d7 proc_dostring +EXPORT_SYMBOL vmlinux 0x8bfc5e88 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x8c1a6b19 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x8c274c2b fb_set_var +EXPORT_SYMBOL vmlinux 0x8c2d1ff8 lock_rename +EXPORT_SYMBOL vmlinux 0x8c368bdb nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x8c3af876 dst_dev_put +EXPORT_SYMBOL vmlinux 0x8c5d254a dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x8c6ae965 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c6d0b22 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x8c823bf4 vme_init_bridge +EXPORT_SYMBOL vmlinux 0x8c861843 of_root +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cc5552d pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8ce13cc5 udplite_table +EXPORT_SYMBOL vmlinux 0x8cef1e39 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x8d0404a1 key_task_permission +EXPORT_SYMBOL vmlinux 0x8d1e94d3 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8d1ea7ba blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x8d2125f2 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x8d29a26c nand_read_oob_std +EXPORT_SYMBOL vmlinux 0x8d327c08 __lock_buffer +EXPORT_SYMBOL vmlinux 0x8d3608d5 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x8d3bd683 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x8d4f53fb con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x8d543d90 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d6bf8ca user_path_at_empty +EXPORT_SYMBOL vmlinux 0x8d6ce7be get_vm_area +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d759fd8 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8d784ca2 skb_seq_read +EXPORT_SYMBOL vmlinux 0x8dc53afa __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfefc0d kvmalloc_node +EXPORT_SYMBOL vmlinux 0x8e0ace34 migrate_page_states +EXPORT_SYMBOL vmlinux 0x8e116a88 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x8e34f22c netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x8e3530e6 console_stop +EXPORT_SYMBOL vmlinux 0x8e41168b tty_kref_put +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e857320 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x8e865d3c arm_delay_ops +EXPORT_SYMBOL vmlinux 0x8e876807 rps_needed +EXPORT_SYMBOL vmlinux 0x8e8b4e65 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x8e8cfc0a __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8ebff3b8 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x8ec43c4b skb_queue_purge +EXPORT_SYMBOL vmlinux 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL vmlinux 0x8ece9097 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x8ed1d993 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x8edbfffb hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8ef960cc fasync_helper +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f1077f4 padata_free +EXPORT_SYMBOL vmlinux 0x8f19cf01 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x8f3625fe _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x8f37f144 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x8f3a3607 block_read_full_page +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f5e5f38 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x8f63aece netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f69a9c8 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x8f764ff6 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x8f8f657f bsearch +EXPORT_SYMBOL vmlinux 0x8f91524b _dev_notice +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa1a891 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x8fa8fd36 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x8fb92190 __devm_request_region +EXPORT_SYMBOL vmlinux 0x8fc582ae devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x8fc7116f netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fd58e1a dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x8fe35457 xxh32_update +EXPORT_SYMBOL vmlinux 0x8fe429b5 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x8fe96474 udp6_set_csum +EXPORT_SYMBOL vmlinux 0x8ff2119e tty_devnum +EXPORT_SYMBOL vmlinux 0x8ff6ef78 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0x8ff7de81 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x901a5d38 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x903360a9 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x90381921 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x9062a74b simple_statfs +EXPORT_SYMBOL vmlinux 0x906f5252 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x909332ca register_sysctl +EXPORT_SYMBOL vmlinux 0x909acd40 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x90a0ceb8 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x90a7c98d bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x90a947c2 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x90b508da tty_lock +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90f07dc5 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x90f0a799 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x90fd9b34 nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x910096b6 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x91106a55 param_get_int +EXPORT_SYMBOL vmlinux 0x9112fe00 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x91150ca0 seq_release_private +EXPORT_SYMBOL vmlinux 0x91342874 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x9135dba6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x9139a6a0 d_lookup +EXPORT_SYMBOL vmlinux 0x913c25d5 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x916b8de3 input_free_device +EXPORT_SYMBOL vmlinux 0x9183d7e0 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919a7caf security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91ac2c0a empty_aops +EXPORT_SYMBOL vmlinux 0x91b433ea devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91c0cf03 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x91cd8742 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x91e0e970 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x91f40acb touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x9209718b qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x921b07b1 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923ea194 __xa_insert +EXPORT_SYMBOL vmlinux 0x925a8de3 page_mapped +EXPORT_SYMBOL vmlinux 0x92708e43 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x92869889 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x92946729 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x92951fc3 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x9295aec9 mpage_readpage +EXPORT_SYMBOL vmlinux 0x92adbd6b iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bbd652 __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x92c78e68 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x92c829b9 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x92ddf22b tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f3a611 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x931136b4 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x93374e59 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x933b929b bio_chain +EXPORT_SYMBOL vmlinux 0x933e1f39 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x93588c17 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x93747c51 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x9376a547 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93e000d2 snd_soc_alloc_ac97_component +EXPORT_SYMBOL vmlinux 0x93f4f00e tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x93f7b4ab devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x94139707 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x9425caca _raw_write_lock +EXPORT_SYMBOL vmlinux 0x9427eb0c touch_buffer +EXPORT_SYMBOL vmlinux 0x942e29a5 input_set_keycode +EXPORT_SYMBOL vmlinux 0x943dc8aa crc32_be +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x946853e2 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x94897247 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a83be1 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x94a8d6ca snd_compr_malloc_pages +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c01c3d blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x94d1b3d7 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x94e2eefa configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x950682a1 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x95368d33 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x9540dd24 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x9541dc66 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x955cc2a8 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x9560c306 noop_llseek +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x95722936 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x958a3174 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x958f64f6 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x9592dfbe skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x9598ad81 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x959a7b4f pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x959ace11 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x959f6107 unregister_console +EXPORT_SYMBOL vmlinux 0x95aa3aa0 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x95bf48de kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x95c91642 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x95d3d918 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x95d8529e invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95dca82e proc_set_size +EXPORT_SYMBOL vmlinux 0x95fcf616 neigh_table_init +EXPORT_SYMBOL vmlinux 0x961da682 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x962e84d4 zap_page_range +EXPORT_SYMBOL vmlinux 0x9645ed0b pgprot_user +EXPORT_SYMBOL vmlinux 0x964e12f0 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x966cd7e2 from_kprojid +EXPORT_SYMBOL vmlinux 0x96713112 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x96798564 try_to_release_page +EXPORT_SYMBOL vmlinux 0x967b2ac6 poll_freewait +EXPORT_SYMBOL vmlinux 0x967ec444 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x96828086 devm_release_resource +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x96ada3cb fb_set_suspend +EXPORT_SYMBOL vmlinux 0x96bbf551 touch_atime +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c39d66 udp_disconnect +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d39d0b fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x96f49713 from_kgid +EXPORT_SYMBOL vmlinux 0x96fc9ba3 input_flush_device +EXPORT_SYMBOL vmlinux 0x9709dbc5 current_work +EXPORT_SYMBOL vmlinux 0x970f5c66 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x97106714 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x97187fce clk_add_alias +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x974d2ff1 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x976e65df cred_fscmp +EXPORT_SYMBOL vmlinux 0x97789c09 audit_log +EXPORT_SYMBOL vmlinux 0x978beb10 bioset_exit +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b65cc9 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d54779 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x97d96ab9 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x97dee0e1 input_register_device +EXPORT_SYMBOL vmlinux 0x97e04cf0 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x97e4f316 keyring_alloc +EXPORT_SYMBOL vmlinux 0x97f56df7 phy_suspend +EXPORT_SYMBOL vmlinux 0x9816cc65 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x983ac031 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x98421c54 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x9848f1a0 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x984ad9a2 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x984be10a xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x9853c7e4 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x9859d15b tcf_action_exec +EXPORT_SYMBOL vmlinux 0x985c35e3 mmc_add_host +EXPORT_SYMBOL vmlinux 0x986d498b pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x987c11c7 __pv_phys_pfn_offset +EXPORT_SYMBOL vmlinux 0x988010b2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x98832da8 utf8ncursor +EXPORT_SYMBOL vmlinux 0x988536de elv_rb_add +EXPORT_SYMBOL vmlinux 0x98873dad mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x98a21b5a neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98d32050 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x98e067ff dev_set_group +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98f7176c pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x98fce260 register_console +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x990ac4a8 input_reset_device +EXPORT_SYMBOL vmlinux 0x9912ec0a blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x991dcb95 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x993b03df percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x993d6662 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995dc7aa flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x9963f8ba pci_claim_resource +EXPORT_SYMBOL vmlinux 0x996681bd jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x996829ea swake_up_all +EXPORT_SYMBOL vmlinux 0x99711ac8 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x99846489 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x998ac5ae __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x998d2d44 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ba3cc0 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99dd0769 misc_register +EXPORT_SYMBOL vmlinux 0x99e4d563 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x99f65792 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x99ff427b flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x9a0171b9 netdev_state_change +EXPORT_SYMBOL vmlinux 0x9a088dda xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a0c71e3 param_ops_long +EXPORT_SYMBOL vmlinux 0x9a152d10 dns_query +EXPORT_SYMBOL vmlinux 0x9a17b4c2 current_in_userns +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a230d25 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x9a483aff kernel_read +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a8318ef v7_coherent_kern_range +EXPORT_SYMBOL vmlinux 0x9a89a7a3 proc_douintvec +EXPORT_SYMBOL vmlinux 0x9aa9cea4 trace_print_flags_seq_u64 +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab15060 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x9acb8066 _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x9ad1302e snd_ctl_add +EXPORT_SYMBOL vmlinux 0x9ae48b85 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x9ae6c635 arp_send +EXPORT_SYMBOL vmlinux 0x9ae77888 rt_dst_clone +EXPORT_SYMBOL vmlinux 0x9ae91595 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x9af95277 udp_seq_start +EXPORT_SYMBOL vmlinux 0x9afa8db7 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b1b7306 xxh64 +EXPORT_SYMBOL vmlinux 0x9b233e76 nvm_register +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b28a211 sock_register +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3f8f12 nla_put +EXPORT_SYMBOL vmlinux 0x9b41306b vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x9b41f299 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b54ed9c serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b8ce098 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x9b97debb __SetPageMovable +EXPORT_SYMBOL vmlinux 0x9ba4c636 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x9ba4e3d9 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x9bad9a30 kernel_write +EXPORT_SYMBOL vmlinux 0x9bb1ed73 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x9bb6e9bb da903x_query_status +EXPORT_SYMBOL vmlinux 0x9bb9fbd8 block_write_end +EXPORT_SYMBOL vmlinux 0x9bbb0365 eth_type_trans +EXPORT_SYMBOL vmlinux 0x9bcc62f2 mmc_erase +EXPORT_SYMBOL vmlinux 0x9bd39cc1 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x9bd980a6 ping_prot +EXPORT_SYMBOL vmlinux 0x9bfc21c3 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x9c075ff6 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x9c08ec42 md_done_sync +EXPORT_SYMBOL vmlinux 0x9c13f647 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x9c23e3e1 mr_table_dump +EXPORT_SYMBOL vmlinux 0x9c31042c fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x9c56a747 dquot_transfer +EXPORT_SYMBOL vmlinux 0x9c5f1959 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x9c6d1751 pin_user_pages +EXPORT_SYMBOL vmlinux 0x9c7419dc ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9c8d69c8 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cafddf7 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x9cbf09fd pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x9cc1a8da fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x9ccb84de bdget_disk +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce90824 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x9cff1b11 genphy_update_link +EXPORT_SYMBOL vmlinux 0x9d06ac33 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x9d09eca2 set_create_files_as +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d0e3954 filp_open +EXPORT_SYMBOL vmlinux 0x9d251d71 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x9d2aaee8 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x9d2c9b8f udp_prot +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d4b63ac dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x9d4ce5ed netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x9d586c91 bdev_read_only +EXPORT_SYMBOL vmlinux 0x9d5bce59 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x9d5cd559 reservation_ww_class +EXPORT_SYMBOL vmlinux 0x9d667f6d nf_log_packet +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d72492c netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x9d7716ad page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9d9d2cab is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x9db5e2d5 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x9ddda70d sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x9df5f239 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0ec162 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e1b3079 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x9e266f6d posix_test_lock +EXPORT_SYMBOL vmlinux 0x9e36e0c8 netdev_features_change +EXPORT_SYMBOL vmlinux 0x9e48c893 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5199c0 par_io_of_config +EXPORT_SYMBOL vmlinux 0x9e5366cb pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x9e55a6f6 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6cdf8b security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e7892fc qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x9e89fa8a security_d_instantiate +EXPORT_SYMBOL vmlinux 0x9e8e7ca8 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9e933a51 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x9e9a9cb4 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea48b22 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x9ea4ad00 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x9ea5d53d sock_gettstamp +EXPORT_SYMBOL vmlinux 0x9ea83eb9 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x9eae4c7a clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x9eb7eaba __scm_destroy +EXPORT_SYMBOL vmlinux 0x9ebf534b fb_get_mode +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec4e884 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x9ec67136 proc_set_user +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ec98d81 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x9ed39a54 down_trylock +EXPORT_SYMBOL vmlinux 0x9ed848e6 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ee12b9d nand_get_set_features_notsupp +EXPORT_SYMBOL vmlinux 0x9ee42300 snd_jack_new +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f61d9be of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x9f7ae295 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x9f7eaee4 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x9f86c9e8 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x9f8eed8f phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x9f93fb62 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa36184 dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fba3f71 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x9fc495db ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x9fc80f59 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x9fd3aa6d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x9fd67cbe genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x9fd84f86 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe27bdf skb_checksum_help +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9fef8cf5 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffe4cad pps_unregister_source +EXPORT_SYMBOL vmlinux 0xa0118a38 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xa0133f9a cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0xa033ee9b md_flush_request +EXPORT_SYMBOL vmlinux 0xa03b427b pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xa03fe28b of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa044ea07 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xa0528334 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa071249b scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xa07a1d49 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xa07d150b inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa0871e95 serio_rescan +EXPORT_SYMBOL vmlinux 0xa091871d jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0aefe3e bit_waitqueue +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b7450d security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0xa0d74429 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0dffddc vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xa0e66a66 vga_client_register +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff3dbd devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10df246 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xa1158ddc neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa13790d5 rio_query_mport +EXPORT_SYMBOL vmlinux 0xa1495a64 block_write_begin +EXPORT_SYMBOL vmlinux 0xa14f22df bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xa15d0131 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0xa16b21fb wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xa172fb0c sock_kfree_s +EXPORT_SYMBOL vmlinux 0xa17bd3fc add_wait_queue +EXPORT_SYMBOL vmlinux 0xa1839690 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa1950e34 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xa1b3d53f jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xa1b821b7 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xa1bacd91 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xa1c0ba22 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cca817 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xa1d131ed vmemdup_user +EXPORT_SYMBOL vmlinux 0xa1d99929 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xa1da46eb set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xa1ea2e56 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xa1fdcfcd pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xa1fea93d xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xa2006b65 add_random_ready_callback +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa222247e snd_seq_root +EXPORT_SYMBOL vmlinux 0xa230495b eth_mac_addr +EXPORT_SYMBOL vmlinux 0xa231516c end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xa2373135 param_set_short +EXPORT_SYMBOL vmlinux 0xa24491bf ida_free +EXPORT_SYMBOL vmlinux 0xa245e9db pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2661079 ptp_find_pin +EXPORT_SYMBOL vmlinux 0xa26defbc devm_iounmap +EXPORT_SYMBOL vmlinux 0xa2839016 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa28d6269 tcp_seq_start +EXPORT_SYMBOL vmlinux 0xa29541eb __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xa2a36673 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xa2b5881e xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xa2fc150d filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xa31b57ff __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa330c19e mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xa3318f32 sock_efree +EXPORT_SYMBOL vmlinux 0xa333dda9 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0xa35d52a6 task_work_add +EXPORT_SYMBOL vmlinux 0xa35d69ae get_task_cred +EXPORT_SYMBOL vmlinux 0xa377c046 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0xa37c4ddd netif_napi_add +EXPORT_SYMBOL vmlinux 0xa3890275 nvm_unregister +EXPORT_SYMBOL vmlinux 0xa38b1e11 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xa3903d7a pipe_lock +EXPORT_SYMBOL vmlinux 0xa3994129 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xa3a28e69 tty_check_change +EXPORT_SYMBOL vmlinux 0xa3a54979 init_on_free +EXPORT_SYMBOL vmlinux 0xa3b97f1b scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa3ba27bf vme_free_consistent +EXPORT_SYMBOL vmlinux 0xa3bd3340 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0xa3bdb759 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xa3c00c06 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0xa3cf8158 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xa3d3e730 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xa3e5141a secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0xa3ea5e83 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa43799a8 rfs_needed +EXPORT_SYMBOL vmlinux 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xa43eaa0b netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xa440bacc sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xa453e485 skb_tx_error +EXPORT_SYMBOL vmlinux 0xa4552208 init_on_alloc +EXPORT_SYMBOL vmlinux 0xa45a9106 sock_no_linger +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa46246a0 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xa4644afd dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xa467f856 unregister_nls +EXPORT_SYMBOL vmlinux 0xa4681609 key_validate +EXPORT_SYMBOL vmlinux 0xa476f9db tcp_close +EXPORT_SYMBOL vmlinux 0xa4914f80 iunique +EXPORT_SYMBOL vmlinux 0xa49715a8 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0xa4a04029 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xa4b13c5d write_one_page +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4b7f2cc sync_file_get_fence +EXPORT_SYMBOL vmlinux 0xa4bc14c6 pcie_set_mps +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4d58ca9 copy_string_kernel +EXPORT_SYMBOL vmlinux 0xa4dfbf6b security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa4e96acc xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xa4f6eab4 neigh_destroy +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa50bdcc3 path_has_submounts +EXPORT_SYMBOL vmlinux 0xa52500ed filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0xa52d6316 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0xa52d78da sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xa54b1d22 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55376e1 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0xa5564c4b skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xa5684076 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xa56fde1c __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xa57398c9 amba_find_device +EXPORT_SYMBOL vmlinux 0xa575d6d0 dput +EXPORT_SYMBOL vmlinux 0xa59052f0 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa5aa75db amba_release_regions +EXPORT_SYMBOL vmlinux 0xa5c1293f d_obtain_root +EXPORT_SYMBOL vmlinux 0xa5ca1e11 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xa5f31c98 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0xa5fc627e fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0xa5fff90e devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xa614ff6c abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6260c05 twl6040_power +EXPORT_SYMBOL vmlinux 0xa62f9cf0 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xa634abc6 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xa64d368e __put_cred +EXPORT_SYMBOL vmlinux 0xa66a02d8 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa68613dd get_jiffies_64 +EXPORT_SYMBOL vmlinux 0xa6920b67 vme_bus_type +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6997cf5 vprintk_emit +EXPORT_SYMBOL vmlinux 0xa6a7a2ad div_s64_rem +EXPORT_SYMBOL vmlinux 0xa6c98cec page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xa6d45ce0 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xa6f3d444 clk_get +EXPORT_SYMBOL vmlinux 0xa700167b padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa714758e sg_copy_buffer +EXPORT_SYMBOL vmlinux 0xa7171ca8 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0xa720d504 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xa7263be1 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xa726e2eb genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xa72957cc __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0xa73910fe nand_monolithic_read_page_raw +EXPORT_SYMBOL vmlinux 0xa73ee62b _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xa74afe69 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xa74b8261 nvm_submit_io +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7507581 seq_printf +EXPORT_SYMBOL vmlinux 0xa762102f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xa778c5b0 unlock_buffer +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa79e70b1 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xa7a13c83 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xa7b3181c up_read +EXPORT_SYMBOL vmlinux 0xa7d43e7d i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa801fe7c inode_insert5 +EXPORT_SYMBOL vmlinux 0xa80acb56 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xa812a7fc cdev_init +EXPORT_SYMBOL vmlinux 0xa82e02dd __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa8318806 timestamp_truncate +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa84de757 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xa856014c ptp_clock_register +EXPORT_SYMBOL vmlinux 0xa85e759f jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xa86a8f4b textsearch_unregister +EXPORT_SYMBOL vmlinux 0xa870d342 blk_get_queue +EXPORT_SYMBOL vmlinux 0xa87dff0b pneigh_lookup +EXPORT_SYMBOL vmlinux 0xa8835531 snd_register_device +EXPORT_SYMBOL vmlinux 0xa8a08caf trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8a89343 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xa8af29b7 netlink_ack +EXPORT_SYMBOL vmlinux 0xa8bd0a0e tcf_block_get +EXPORT_SYMBOL vmlinux 0xa8bfe904 pci_release_region +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8cefc42 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xa8ec7d34 crc_ccitt +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8f7f280 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xa8fb0451 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xa900dfd2 rproc_shutdown +EXPORT_SYMBOL vmlinux 0xa902cce5 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xa903ebcd param_set_int +EXPORT_SYMBOL vmlinux 0xa9097349 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xa921c4b8 inet_getname +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa938a90e d_exact_alias +EXPORT_SYMBOL vmlinux 0xa94daf52 stream_open +EXPORT_SYMBOL vmlinux 0xa95edd23 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa96560d6 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa96721a9 netdev_warn +EXPORT_SYMBOL vmlinux 0xa9911738 inode_permission +EXPORT_SYMBOL vmlinux 0xa991fbd8 pci_select_bars +EXPORT_SYMBOL vmlinux 0xa9a70770 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xa9d12d3a kmem_cache_size +EXPORT_SYMBOL vmlinux 0xa9e55ffb nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xa9ea5b7c netdev_notice +EXPORT_SYMBOL vmlinux 0xa9eb465f ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0xa9f9c014 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xaa42e16a gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0xaa445e31 sk_stream_error +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaab032db of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xaac4c6b9 build_skb +EXPORT_SYMBOL vmlinux 0xaac57f78 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xaacc9e27 sort +EXPORT_SYMBOL vmlinux 0xaad0695f nf_ct_attach +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad0f529 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaaf04de1 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xaafd9237 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab13ac43 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0xab1abc71 unload_nls +EXPORT_SYMBOL vmlinux 0xab237538 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xab24c401 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xab2f0428 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xab340128 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab735372 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab7bea19 phy_read_mmd +EXPORT_SYMBOL vmlinux 0xab87efce get_disk_and_module +EXPORT_SYMBOL vmlinux 0xab897449 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xab899896 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xab8ad5aa devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xab909385 mdio_driver_register +EXPORT_SYMBOL vmlinux 0xabcb5408 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xabe50b1f prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xabf0f4aa rproc_del +EXPORT_SYMBOL vmlinux 0xabf19181 arp_tbl +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac1448a4 pci_resize_resource +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1bfd63 truncate_setsize +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac35e9b6 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xac3885d6 inet6_release +EXPORT_SYMBOL vmlinux 0xac3a64f9 begin_new_exec +EXPORT_SYMBOL vmlinux 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0xac51d08f of_get_min_tck +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac7cd980 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xaca8d528 sk_alloc +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacb31ecf _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xacc15e8b tcp_disconnect +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacf0d37d dump_emit +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1560b5 devm_memunmap +EXPORT_SYMBOL vmlinux 0xad17d2bc snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0xad2f8e53 pci_scan_bus +EXPORT_SYMBOL vmlinux 0xad50c033 blk_sync_queue +EXPORT_SYMBOL vmlinux 0xad628fa4 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xad6a1291 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0xad6f7144 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad75397e blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xad7620ed of_device_alloc +EXPORT_SYMBOL vmlinux 0xad7b423a abort_creds +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xad9de309 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xadae3406 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xadaf699a follow_down_one +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadd22e70 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0xaddc8ac7 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xadea38d7 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xadffece1 udp_seq_ops +EXPORT_SYMBOL vmlinux 0xae0153d2 path_is_under +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae0b7677 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xae0e38a3 skb_push +EXPORT_SYMBOL vmlinux 0xae1d8ee6 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xae22e2f9 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae3556cc __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0xae414ff7 sync_file_create +EXPORT_SYMBOL vmlinux 0xae466c77 md_update_sb +EXPORT_SYMBOL vmlinux 0xae489a0d __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xae559e84 register_sound_dsp +EXPORT_SYMBOL vmlinux 0xae57ea83 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xae5f2946 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xae72f3c2 file_path +EXPORT_SYMBOL vmlinux 0xae75bb43 elevator_alloc +EXPORT_SYMBOL vmlinux 0xae78d21f jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xae9f2081 ipv4_specific +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaec55091 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xaed613fe xfrm_input +EXPORT_SYMBOL vmlinux 0xaee95991 ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0xaeecfed2 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xaf0ef431 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xaf16f615 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xaf1f5dfd fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4f719d __put_user_ns +EXPORT_SYMBOL vmlinux 0xaf50e76d elf_set_personality +EXPORT_SYMBOL vmlinux 0xaf563e6b rproc_add_subdev +EXPORT_SYMBOL vmlinux 0xaf730d8c kobject_put +EXPORT_SYMBOL vmlinux 0xaf84865e __get_user_8 +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf901dd3 bio_clone_fast +EXPORT_SYMBOL vmlinux 0xaf91116d devm_of_iomap +EXPORT_SYMBOL vmlinux 0xaf98adae pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0xaf9a0a2a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xafb41d1f security_path_unlink +EXPORT_SYMBOL vmlinux 0xafc0ed8c scsi_host_put +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xb016859e vfs_get_tree +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb04dd079 param_get_ushort +EXPORT_SYMBOL vmlinux 0xb04ec968 irq_set_chip +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb05fdc70 soft_cursor +EXPORT_SYMBOL vmlinux 0xb07c7354 inode_init_always +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a3c5d2 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e911f7 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0xb0f334cc __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xb0f5ef12 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb1139a18 of_translate_address +EXPORT_SYMBOL vmlinux 0xb11a7061 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xb11e867c pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb1418122 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15b0da5 vfs_getattr +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb1732082 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xb19b6915 proc_symlink +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1aa1543 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0xb1ad28e0 __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c821a8 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xb1db5f59 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e56a63 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xb1ec2068 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xb1efdaa9 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xb1fadcc8 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0xb20502f7 tcp_check_req +EXPORT_SYMBOL vmlinux 0xb210884c set_device_ro +EXPORT_SYMBOL vmlinux 0xb2148f71 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0xb21c02f9 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb241a824 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xb249a391 omap_request_dma +EXPORT_SYMBOL vmlinux 0xb27ef8bf ilookup +EXPORT_SYMBOL vmlinux 0xb286c477 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xb289ac68 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0xb2a54324 make_kuid +EXPORT_SYMBOL vmlinux 0xb2b19c01 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xb2d0053e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xb2d48a2e queue_work_on +EXPORT_SYMBOL vmlinux 0xb2d50207 request_firmware +EXPORT_SYMBOL vmlinux 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0xb2eae275 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb31825e3 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb324eaf0 sget +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb32f4993 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xb32f5e9a inet_bind +EXPORT_SYMBOL vmlinux 0xb348d4cb vfs_setpos +EXPORT_SYMBOL vmlinux 0xb3667805 dqstats +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb3789a5e param_ops_uint +EXPORT_SYMBOL vmlinux 0xb3850b0a __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0xb38dbd36 get_tz_trend +EXPORT_SYMBOL vmlinux 0xb3a8a283 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xb3a9e5ef configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3d337c3 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xb3d55ec5 textsearch_destroy +EXPORT_SYMBOL vmlinux 0xb3eabd5f blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3f8c428 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xb4093551 nf_log_set +EXPORT_SYMBOL vmlinux 0xb4156a63 bdi_put +EXPORT_SYMBOL vmlinux 0xb4213a6e tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4284b2c phy_disconnect +EXPORT_SYMBOL vmlinux 0xb436819a snd_register_oss_device +EXPORT_SYMBOL vmlinux 0xb4519a8f string_escape_mem +EXPORT_SYMBOL vmlinux 0xb4593935 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xb4606430 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xb466b10e vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0xb476c8f4 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0xb4838a9b dma_set_mask +EXPORT_SYMBOL vmlinux 0xb486f987 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xb4891186 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4910192 arm_dma_zone_size +EXPORT_SYMBOL vmlinux 0xb4ccf129 kset_unregister +EXPORT_SYMBOL vmlinux 0xb4d4ce2b xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xb4ddc2ce seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb53b5675 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xb541e8c9 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xb549b66b __register_chrdev +EXPORT_SYMBOL vmlinux 0xb549dc9f put_fs_context +EXPORT_SYMBOL vmlinux 0xb571eeac _dev_crit +EXPORT_SYMBOL vmlinux 0xb57295ad fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a503fd km_policy_expired +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5bbd728 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0xb5be4e54 component_match_add_release +EXPORT_SYMBOL vmlinux 0xb5c67c64 nla_reserve +EXPORT_SYMBOL vmlinux 0xb5e5f449 submit_bio +EXPORT_SYMBOL vmlinux 0xb5f00cd4 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xb5fbe5fd ps2_end_command +EXPORT_SYMBOL vmlinux 0xb607b624 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xb616fe33 set_posix_acl +EXPORT_SYMBOL vmlinux 0xb6171163 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xb62f451c _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63472eb of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0xb642fc13 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0xb65ae8da phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67b9f06 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67caf65 ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6896671 crc_t10dif +EXPORT_SYMBOL vmlinux 0xb68b95ba netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xb68e208f xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb69da995 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b6284e xz_dec_run +EXPORT_SYMBOL vmlinux 0xb704b895 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xb71a7426 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xb71d986d snd_pcm_hw_limit_rates +EXPORT_SYMBOL vmlinux 0xb720488c make_kgid +EXPORT_SYMBOL vmlinux 0xb73112ad dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xb7362c90 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0xb73b9af7 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xb74b7a27 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb7872388 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb78e2050 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0xb79cba51 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xb7b24da2 __close_fd +EXPORT_SYMBOL vmlinux 0xb7c4bdac input_unregister_handle +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7d54386 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0xb7df0e97 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xb7f93777 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xb7f94ca8 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xb80b281c inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xb80d4911 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xb8296a14 blk_queue_split +EXPORT_SYMBOL vmlinux 0xb83d7a52 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xb840e04c sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb8414fe3 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb85bbbed dump_page +EXPORT_SYMBOL vmlinux 0xb864b84b ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb88032a1 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xb88202c7 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8a6ffeb __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8c66c45 dma_fence_get_status +EXPORT_SYMBOL vmlinux 0xb8d77795 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb905c62e kern_unmount +EXPORT_SYMBOL vmlinux 0xb9105a70 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb9255d74 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xb92ee1b0 nvm_end_io +EXPORT_SYMBOL vmlinux 0xb93bbe52 iget_locked +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb944f1e9 vlan_for_each +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb9a24bd7 skb_store_bits +EXPORT_SYMBOL vmlinux 0xb9a613c6 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9aaf706 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9c6693e scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xb9cabd9e tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xb9d0032d clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xb9da0608 napi_disable +EXPORT_SYMBOL vmlinux 0xb9e7cc25 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9f40355 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xba22be0c kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xba2afe8f dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xba2cdcde snd_pcm_create_iec958_consumer +EXPORT_SYMBOL vmlinux 0xba2d70ca vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xba2ffeea ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0xba434e5c __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba8cc4ab inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xbaa7c8c5 krealloc +EXPORT_SYMBOL vmlinux 0xbaae6ce4 skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0xbabc6c15 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xbac15d5f ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xbac8f2df vfs_mknod +EXPORT_SYMBOL vmlinux 0xbacfd6bc of_get_address +EXPORT_SYMBOL vmlinux 0xbad4d341 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbadff294 inet_frags_fini +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb14eb31 bcmp +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb281819 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb49ea6c fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7cc698 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xbb7e268e blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xbb840748 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xbb841f83 register_netdev +EXPORT_SYMBOL vmlinux 0xbb963779 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xbb9a5fa4 skb_queue_head +EXPORT_SYMBOL vmlinux 0xbba7a907 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0xbbbd8c70 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xbbcff9a4 check_zeroed_user +EXPORT_SYMBOL vmlinux 0xbbd9dc5d param_ops_ulong +EXPORT_SYMBOL vmlinux 0xbbea7bd0 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xbc0b8c72 snd_card_file_add +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc11bce7 ip_frag_init +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc385150 _dev_emerg +EXPORT_SYMBOL vmlinux 0xbc414170 kobject_add +EXPORT_SYMBOL vmlinux 0xbc4982a3 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xbc7a4f76 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xbc8185cd devm_clk_put +EXPORT_SYMBOL vmlinux 0xbc87b02c poll_initwait +EXPORT_SYMBOL vmlinux 0xbc99c780 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb45cec ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xbcb63d3c cfb_copyarea +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcbf9844 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbce9e920 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xbd00f343 security_path_rename +EXPORT_SYMBOL vmlinux 0xbd108af7 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xbd1637a7 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xbd820297 rtc_lock +EXPORT_SYMBOL vmlinux 0xbd8419d1 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0xbd8555f8 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xbd89c07f pskb_expand_head +EXPORT_SYMBOL vmlinux 0xbda7c8a4 configfs_depend_item +EXPORT_SYMBOL vmlinux 0xbdb00823 __udp_disconnect +EXPORT_SYMBOL vmlinux 0xbdb48f42 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xbdbd7823 check_disk_change +EXPORT_SYMBOL vmlinux 0xbdc21701 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xbdc4181b blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xbde34413 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xbe0e3cba tcf_queue_work +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe458c97 component_match_add_typed +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5362f1 nf_log_register +EXPORT_SYMBOL vmlinux 0xbe58206e vm_zone_stat +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5d7480 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe6f47fd snd_timer_notify +EXPORT_SYMBOL vmlinux 0xbe7b42e0 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xbe7d5a7d tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xbe87b13f tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xbe92addf configfs_register_group +EXPORT_SYMBOL vmlinux 0xbe9724d1 mdiobus_write +EXPORT_SYMBOL vmlinux 0xbea0e0b7 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef3678c scsi_add_device +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf00e248 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xbf1794e0 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xbf2bafbb try_module_get +EXPORT_SYMBOL vmlinux 0xbf3c6b03 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xbf3cc7ce kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xbf485d40 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xbf4d4539 udp_table +EXPORT_SYMBOL vmlinux 0xbf4df221 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xbf50432c rtc_add_groups +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf5c1cea tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xbf667a62 snd_device_free +EXPORT_SYMBOL vmlinux 0xbf66c056 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xbf72517f mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0xbf7347b2 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9f9caf blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xbfa64c93 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xbfa98f6d phy_device_remove +EXPORT_SYMBOL vmlinux 0xbfaa2483 mmc_retune_release +EXPORT_SYMBOL vmlinux 0xbfb382b6 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xbfb6595a mmc_detect_change +EXPORT_SYMBOL vmlinux 0xbfd6dfed phy_init_hw +EXPORT_SYMBOL vmlinux 0xbfdf7bc3 mempool_create +EXPORT_SYMBOL vmlinux 0xbfe9915e add_to_pipe +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff7b481 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xc01412ba unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xc01a1c5a tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xc020ba89 set_wb_congested +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc02b2c67 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xc02bc920 param_ops_ushort +EXPORT_SYMBOL vmlinux 0xc0491f53 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xc04aac62 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xc04b3f8c ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0xc04f6ddb flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xc05cdc18 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0734ff3 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0849d00 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc08b874d security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xc08d5f66 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0a98385 profile_pc +EXPORT_SYMBOL vmlinux 0xc0ac7d0c jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0da0e99 dim_on_top +EXPORT_SYMBOL vmlinux 0xc0de239e dev_activate +EXPORT_SYMBOL vmlinux 0xc0e4ca2b ab3100_event_register +EXPORT_SYMBOL vmlinux 0xc0e75c7a pci_enable_wake +EXPORT_SYMBOL vmlinux 0xc0e8b57d __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xc0fb357a dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff8ba1 register_fib_notifier +EXPORT_SYMBOL vmlinux 0xc117ac46 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xc13a7ba6 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0xc148a5ee empty_zero_page +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc15f4ed8 utf8nlen +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc16de638 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xc1b98472 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1deed93 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xc1df3b4c fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xc1f0dd73 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xc2059c64 fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0xc207ee07 complete_and_exit +EXPORT_SYMBOL vmlinux 0xc2082276 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xc20f5417 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xc2190196 finalize_exec +EXPORT_SYMBOL vmlinux 0xc230c9a8 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0xc233682c devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xc2467489 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xc247646f clear_wb_congested +EXPORT_SYMBOL vmlinux 0xc253dbd2 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xc2595e73 dst_release_immediate +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc2690b71 pagecache_get_page +EXPORT_SYMBOL vmlinux 0xc271c3be mutex_lock +EXPORT_SYMBOL vmlinux 0xc27d358a blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0xc2812a6f fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xc29bbeb7 pci_restore_state +EXPORT_SYMBOL vmlinux 0xc2a984ff filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xc2acc033 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xc2b1d4e1 lockref_put_return +EXPORT_SYMBOL vmlinux 0xc2cf2dde ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0xc2d0d0ab scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xc2d60abe iov_iter_kvec +EXPORT_SYMBOL vmlinux 0xc2d99824 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xc2dc7b96 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xc2e12d27 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xc2e4dc59 kfree_skb_list +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ede9c5 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc31436ae bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xc31c8c22 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc32d4512 dquot_release +EXPORT_SYMBOL vmlinux 0xc33660e1 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xc340bee6 sock_no_accept +EXPORT_SYMBOL vmlinux 0xc34a6cd0 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xc3564548 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xc3570822 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL vmlinux 0xc358aaf8 snprintf +EXPORT_SYMBOL vmlinux 0xc35c6b0d __block_write_begin +EXPORT_SYMBOL vmlinux 0xc35ed1cb backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xc37335b0 complete +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc395d6ef dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xc3985181 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xc3bf7901 phy_start +EXPORT_SYMBOL vmlinux 0xc3c29fcf cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xc3cd8d82 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xc3e0b162 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xc3e92ecc udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xc3ec7dc1 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xc3f91625 dquot_get_state +EXPORT_SYMBOL vmlinux 0xc409e838 ata_dev_printk +EXPORT_SYMBOL vmlinux 0xc4155aef buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xc4163f32 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xc41a4142 generic_fadvise +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc41cde59 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc4352fbf iov_iter_init +EXPORT_SYMBOL vmlinux 0xc4366949 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xc43cd126 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xc445e3fa snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0xc454900b d_add_ci +EXPORT_SYMBOL vmlinux 0xc4657dc8 mempool_init +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc47d734c ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc4908376 phy_aneg_done +EXPORT_SYMBOL vmlinux 0xc4972b0d phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0xc4ade74b show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0xc4bef8d3 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xc4c91467 __nla_put +EXPORT_SYMBOL vmlinux 0xc4d76b48 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xc4d93578 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xc4d98b27 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xc4ea43d8 get_cached_acl +EXPORT_SYMBOL vmlinux 0xc5068779 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xc512596f phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xc51607db param_ops_string +EXPORT_SYMBOL vmlinux 0xc5188cb3 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xc5297ea3 __mdiobus_write +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc543b813 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xc5661a89 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0xc5670923 inet6_offloads +EXPORT_SYMBOL vmlinux 0xc575e643 phy_write_mmd +EXPORT_SYMBOL vmlinux 0xc581500f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc595e3fb copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59d3da9 amba_device_register +EXPORT_SYMBOL vmlinux 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL vmlinux 0xc5b38cb9 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0xc5c98d48 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xc5d18698 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5ee1d3a key_put +EXPORT_SYMBOL vmlinux 0xc5ee6c48 kvfree_sensitive +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc619540c blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0xc630ae16 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc6367c76 from_kgid_munged +EXPORT_SYMBOL vmlinux 0xc6375706 nf_reinject +EXPORT_SYMBOL vmlinux 0xc6378487 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xc63886c0 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xc640a1d5 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66cc20a dev_get_by_name +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc691cad0 __ps2_command +EXPORT_SYMBOL vmlinux 0xc69c7050 snd_card_set_id +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6ab60fc dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xc6abc7d1 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xc6ac02b8 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xc6b6b7d8 of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0xc6bfb3d7 set_groups +EXPORT_SYMBOL vmlinux 0xc6c93161 __kfree_skb +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e0f749 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xc6e799c6 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6facc0d xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xc7040bf5 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0xc70a7c7e param_ops_bool +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc73ba942 follow_pfn +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc78b801e generic_file_fsync +EXPORT_SYMBOL vmlinux 0xc7964223 __scsi_execute +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a1ed0a simple_open +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7bfa13b inet_stream_connect +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c96c79 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d0b251 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc7fd9336 dump_truncate +EXPORT_SYMBOL vmlinux 0xc8043098 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xc8052e7b netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xc8173b16 fs_lookup_param +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc8339e24 string_unescape +EXPORT_SYMBOL vmlinux 0xc8469930 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85ec566 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xc86c0dd4 noop_qdisc +EXPORT_SYMBOL vmlinux 0xc86f0fa2 arm_dma_ops +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8742b1b pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xc87cf3ca locks_delete_block +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc884dfe8 snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a63937 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b58a25 __memset64 +EXPORT_SYMBOL vmlinux 0xc8c2e416 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0xc8caa467 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xc8f9a51c snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xc918ed4e page_symlink +EXPORT_SYMBOL vmlinux 0xc91b0d12 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xc91fc281 make_kprojid +EXPORT_SYMBOL vmlinux 0xc92499c2 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xc95e22d1 xp_can_alloc +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc9690e6a mark_info_dirty +EXPORT_SYMBOL vmlinux 0xc96a572a nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99cbb83 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a06363 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xc9b8accf device_get_mac_address +EXPORT_SYMBOL vmlinux 0xc9ba08e5 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xc9ca3698 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xc9ced50e lookup_one_len +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e07778 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xc9e825cc sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xc9e9d5f9 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0xca16ac53 nd_device_notify +EXPORT_SYMBOL vmlinux 0xca17ebcd cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca4677fd devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xca783b56 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xca813ce6 LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xcaa26808 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0xcac5e93d current_time +EXPORT_SYMBOL vmlinux 0xcac9cae4 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xcad25620 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xcaef8286 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb19dde3 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0xcb1cb2b9 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xcb1fedae dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xcb317f9d vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xcb37fd55 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb40aff8 mount_single +EXPORT_SYMBOL vmlinux 0xcb4efd6f hmm_range_fault +EXPORT_SYMBOL vmlinux 0xcb510bc2 complete_all +EXPORT_SYMBOL vmlinux 0xcb5da68b eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xcb606eb9 xa_load +EXPORT_SYMBOL vmlinux 0xcb6d1aca scsi_partsize +EXPORT_SYMBOL vmlinux 0xcb8c753b mempool_exit +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcbabe63f snd_timer_new +EXPORT_SYMBOL vmlinux 0xcbcd4b54 phy_device_free +EXPORT_SYMBOL vmlinux 0xcbd24bee ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbf1dbd0 utf8len +EXPORT_SYMBOL vmlinux 0xcc0974d5 tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc302848 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xcc30f0f1 tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0xcc3b8972 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc46d081 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc50cdb7 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xcc572031 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0xcc773622 phy_detach +EXPORT_SYMBOL vmlinux 0xcc79439c d_obtain_alias +EXPORT_SYMBOL vmlinux 0xcc86fa00 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccfb7e30 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd00abbc add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd13922f dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4d2df5 set_cached_acl +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd7bd35a prepare_creds +EXPORT_SYMBOL vmlinux 0xcd8608ad tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdce2672 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xcdd6c5fb sock_alloc_file +EXPORT_SYMBOL vmlinux 0xcdda9897 netlink_unicast +EXPORT_SYMBOL vmlinux 0xcddbf67e xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcded3402 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xcdfa135d ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xce01099e bmap +EXPORT_SYMBOL vmlinux 0xce242816 input_allocate_device +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce9dc0f1 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcecfc066 dma_find_channel +EXPORT_SYMBOL vmlinux 0xcedc739c fixed_size_llseek +EXPORT_SYMBOL vmlinux 0xcede275c memremap +EXPORT_SYMBOL vmlinux 0xcede53ca softnet_data +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf01f610 panic_notifier_list +EXPORT_SYMBOL vmlinux 0xcf03f496 iptun_encaps +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf3fac84 cpumask_next +EXPORT_SYMBOL vmlinux 0xcf44696b rtnl_create_link +EXPORT_SYMBOL vmlinux 0xcf7443af __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xcf79e446 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xcf7e1d1d hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcf86cdac queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcf9e14e1 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xcfab7531 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0xcfc40673 mmc_get_card +EXPORT_SYMBOL vmlinux 0xcfe2d203 bio_copy_data +EXPORT_SYMBOL vmlinux 0xd00fad2d noop_fsync +EXPORT_SYMBOL vmlinux 0xd01b55f3 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xd020cd7a snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0xd022144e vme_dma_list_add +EXPORT_SYMBOL vmlinux 0xd0228fcf fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd04c7414 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xd04febe9 arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0xd0586fe2 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xd0587949 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xd05f79ae param_ops_invbool +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06a0aad pci_save_state +EXPORT_SYMBOL vmlinux 0xd07c3b9a nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xd07f9cbb tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xd095f6d0 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0e8e982 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xd0e9fb09 release_firmware +EXPORT_SYMBOL vmlinux 0xd0fb3231 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xd1004393 input_inject_event +EXPORT_SYMBOL vmlinux 0xd109778f gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0xd10f38db kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd1175289 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd15b15ba mpage_readahead +EXPORT_SYMBOL vmlinux 0xd17bfea5 mount_nodev +EXPORT_SYMBOL vmlinux 0xd17f0070 netif_device_detach +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd183657e nand_write_page_raw +EXPORT_SYMBOL vmlinux 0xd1872bcb udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xd1955131 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xd19a4c7d inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xd1c62bbd dcache_readdir +EXPORT_SYMBOL vmlinux 0xd1cbf14c devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xd1d5ac66 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1dfedcb elm_config +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd2202695 vif_device_init +EXPORT_SYMBOL vmlinux 0xd221916a param_ops_int +EXPORT_SYMBOL vmlinux 0xd2494788 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xd24b75e3 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xd24d1150 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xd256b650 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26270da dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2802d5c pgprot_kernel +EXPORT_SYMBOL vmlinux 0xd28158ec tso_count_descs +EXPORT_SYMBOL vmlinux 0xd288841c omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xd289b2f5 get_user_pages +EXPORT_SYMBOL vmlinux 0xd2952665 ps2_drain +EXPORT_SYMBOL vmlinux 0xd299408b take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xd2b31c9f of_node_get +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2eb32b9 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0xd2ff35bd vme_slot_num +EXPORT_SYMBOL vmlinux 0xd3017051 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd32c8af2 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xd32d6c08 lockref_get +EXPORT_SYMBOL vmlinux 0xd34344e0 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35f75a1 match_string +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd376a9df pci_request_irq +EXPORT_SYMBOL vmlinux 0xd37a14b9 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xd39198e0 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0xd39fa6ab __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xd3a2d108 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xd3acb99f key_revoke +EXPORT_SYMBOL vmlinux 0xd3bba706 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xd3cf7f1e pci_enable_msi +EXPORT_SYMBOL vmlinux 0xd3e1f3a2 freezing_slow_path +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3f36bab disk_stack_limits +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd4116168 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xd4123255 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0xd4202ccf pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0xd45e3032 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xd46b54dd flush_delayed_work +EXPORT_SYMBOL vmlinux 0xd47ff5ca pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48d5136 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd48ff770 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xd49a3ebe phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0xd4afd1c7 d_genocide +EXPORT_SYMBOL vmlinux 0xd4b53706 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4df039b netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xd4e2f0e4 gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0xd4e670a4 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xd4e91900 input_unregister_device +EXPORT_SYMBOL vmlinux 0xd4eb8821 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xd4f827a0 __fs_parse +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4fc73ee pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xd501d564 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xd506dd24 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd527cba7 path_nosuid +EXPORT_SYMBOL vmlinux 0xd5355019 inet_ioctl +EXPORT_SYMBOL vmlinux 0xd558bbce pci_write_config_word +EXPORT_SYMBOL vmlinux 0xd5663898 __frontswap_load +EXPORT_SYMBOL vmlinux 0xd5668479 unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0xd56a48f4 ata_port_printk +EXPORT_SYMBOL vmlinux 0xd5903fc4 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd591a5d8 config_item_put +EXPORT_SYMBOL vmlinux 0xd594ec3a scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5cee70d fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xd5d385a1 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xd5e43edd request_key_rcu +EXPORT_SYMBOL vmlinux 0xd5f52d4f netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0xd602c1f8 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd61e5e5f jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xd6205c02 ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xd62670d0 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd637143f sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xd637ffe1 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xd6396a94 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xd63fafc2 div64_u64_rem +EXPORT_SYMBOL vmlinux 0xd6440a9e sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0xd64f4289 dev_set_alias +EXPORT_SYMBOL vmlinux 0xd654320d snd_pci_quirk_lookup +EXPORT_SYMBOL vmlinux 0xd6582ab0 xa_extract +EXPORT_SYMBOL vmlinux 0xd65a6621 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xd67f2f55 fc_mount +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68a8686 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd68c74e7 unregister_netdev +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b97a7a __skb_get_hash +EXPORT_SYMBOL vmlinux 0xd6bc04ff cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xd6c97125 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xd6ccdcb1 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xd6ce04ac md_reload_sb +EXPORT_SYMBOL vmlinux 0xd6e2ef8c snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f23eb4 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd71f2942 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xd72951a4 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73f33e5 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xd74b221c of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0xd76316ec amba_device_unregister +EXPORT_SYMBOL vmlinux 0xd76671be tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xd76fc700 __page_symlink +EXPORT_SYMBOL vmlinux 0xd77110e0 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xd7802699 mount_bdev +EXPORT_SYMBOL vmlinux 0xd783a83f blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xd7939361 of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0xd797b9a5 vme_master_write +EXPORT_SYMBOL vmlinux 0xd79b7fe4 of_clk_get +EXPORT_SYMBOL vmlinux 0xd7bb0e8d __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xd7bfe5df mpage_writepage +EXPORT_SYMBOL vmlinux 0xd7c288cf genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xd7ca07e9 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7f18aa2 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0xd7f41f7b dev_deactivate +EXPORT_SYMBOL vmlinux 0xd7f84893 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xd8030aaf iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xd815cfa5 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0xd8200c02 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0xd8297afb i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xd83708bd snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0xd8410611 mempool_alloc +EXPORT_SYMBOL vmlinux 0xd8425a39 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xd8433172 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd860755b __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd875584a __genradix_ptr +EXPORT_SYMBOL vmlinux 0xd87b9ae1 single_open_size +EXPORT_SYMBOL vmlinux 0xd882c036 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xd886d673 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0xd88b478b __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd89ee11f krait_set_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8d7f072 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0xd8e76c87 simple_lookup +EXPORT_SYMBOL vmlinux 0xd8e8efca dev_driver_string +EXPORT_SYMBOL vmlinux 0xd9447202 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xd94ad43a scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd9571cbf mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0xd959dd7b unregister_binfmt +EXPORT_SYMBOL vmlinux 0xd96d6f81 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xd974688e inet_sendmsg +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98853b2 scsi_print_result +EXPORT_SYMBOL vmlinux 0xd9996786 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xd9c64091 dev_close +EXPORT_SYMBOL vmlinux 0xd9cb49f0 xp_alloc +EXPORT_SYMBOL vmlinux 0xd9cc1556 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e085be of_get_next_parent +EXPORT_SYMBOL vmlinux 0xd9fa8c6d genphy_loopback +EXPORT_SYMBOL vmlinux 0xda067a3a unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xda1c7679 simple_get_link +EXPORT_SYMBOL vmlinux 0xda1edf47 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xda2d7ca5 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda49acff scsi_device_get +EXPORT_SYMBOL vmlinux 0xda6e8fb5 release_sock +EXPORT_SYMBOL vmlinux 0xda6fc0b3 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda7b9e9c pci_pme_active +EXPORT_SYMBOL vmlinux 0xda7ea117 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda944087 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xda98a578 logfc +EXPORT_SYMBOL vmlinux 0xdaabf902 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xdaacc800 register_key_type +EXPORT_SYMBOL vmlinux 0xdac2ed69 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdac739f6 ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0xdad97f94 __raw_writesw +EXPORT_SYMBOL vmlinux 0xdadd893f netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xdae51626 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xdaef98af tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xdaf9d1fe posix_lock_file +EXPORT_SYMBOL vmlinux 0xdb0df5a9 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xdb1c7999 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xdb202cc3 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xdb27fbcd file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xdb2896c1 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0xdb2edd2b md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xdb4137d0 keyring_search +EXPORT_SYMBOL vmlinux 0xdb4c14eb mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0xdb4e87eb unlock_new_inode +EXPORT_SYMBOL vmlinux 0xdb5890b9 set_page_dirty +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb72c0e6 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb81b378 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xdb81e2fc __wait_on_bit +EXPORT_SYMBOL vmlinux 0xdb895f40 proc_create_data +EXPORT_SYMBOL vmlinux 0xdb8b601a clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xdb98b285 ppp_input_error +EXPORT_SYMBOL vmlinux 0xdb9ca3c5 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xdbb9c5b4 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xdbd06f70 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xdbd72942 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbee18ec pci_release_regions +EXPORT_SYMBOL vmlinux 0xdbf78e6b netpoll_setup +EXPORT_SYMBOL vmlinux 0xdbf96775 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xdc060cac bd_start_claiming +EXPORT_SYMBOL vmlinux 0xdc12b3aa __frontswap_test +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2ed535 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xdc3047f1 vme_slave_request +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc5c7961 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xdc654cd8 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xdc77d170 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xdc7956f3 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xdc81901a wait_for_completion_io +EXPORT_SYMBOL vmlinux 0xdc89bae9 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xdcc0b0f5 dev_remove_offload +EXPORT_SYMBOL vmlinux 0xdcc8edcc pci_bus_type +EXPORT_SYMBOL vmlinux 0xdccea887 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xdcda1e4c dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xdcf1a72b jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xdcf64368 secpath_set +EXPORT_SYMBOL vmlinux 0xdcf6d045 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd134d4b devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0xdd1b40f9 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xdd1d7964 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xdd226fa9 __raw_readsw +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd349871 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xdd4a982a nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0xdd4ffa9b mutex_trylock +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd81421f trace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd926ac5 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xddac2e79 pci_find_capability +EXPORT_SYMBOL vmlinux 0xddafa679 simple_write_begin +EXPORT_SYMBOL vmlinux 0xddb6de76 __skb_checksum +EXPORT_SYMBOL vmlinux 0xddc38bbb inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xddca8a28 setattr_prepare +EXPORT_SYMBOL vmlinux 0xdde765fb dquot_commit_info +EXPORT_SYMBOL vmlinux 0xde047502 vfs_get_super +EXPORT_SYMBOL vmlinux 0xde1999a5 import_iovec +EXPORT_SYMBOL vmlinux 0xde29ce4f security_sb_remount +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde53c694 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xde59092a lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0xde804a03 dev_mc_del +EXPORT_SYMBOL vmlinux 0xde809616 finish_swait +EXPORT_SYMBOL vmlinux 0xde80a9f4 md_handle_request +EXPORT_SYMBOL vmlinux 0xdea7a351 phy_driver_register +EXPORT_SYMBOL vmlinux 0xdec030e5 arm_clear_user +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf11c997 register_framebuffer +EXPORT_SYMBOL vmlinux 0xdf272de7 proc_remove +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf3240e8 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xdf3a693d crc_t10dif_update +EXPORT_SYMBOL vmlinux 0xdf4c89ff mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xdf52def1 ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf643257 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xdf656a98 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0xdf67d4f2 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xdf78f8ac super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xdf814cac security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xdf90edb8 __invalidate_device +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9dc620 bio_advance +EXPORT_SYMBOL vmlinux 0xdfbcd532 netlink_net_capable +EXPORT_SYMBOL vmlinux 0xdfc310f2 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xdfd1bb82 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xdfd1c937 netif_napi_del +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe7a430 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdff9e8c0 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe01311ab phy_resume +EXPORT_SYMBOL vmlinux 0xe01de918 sock_create_kern +EXPORT_SYMBOL vmlinux 0xe028a6ca atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xe02a7cfd genphy_read_abilities +EXPORT_SYMBOL vmlinux 0xe0329e47 seq_escape +EXPORT_SYMBOL vmlinux 0xe04c2795 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe0919920 dev_mc_init +EXPORT_SYMBOL vmlinux 0xe097b684 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xe0ab1f4f writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b7111b dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xe0b96f44 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xe0bdc77a lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0c232b3 dqput +EXPORT_SYMBOL vmlinux 0xe0c6fbf6 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xe0cf3d79 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xe0d0be92 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0xe0d39682 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11f7308 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xe121bfb9 seq_release +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe127511b tty_port_close +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe13ee0f2 setup_new_exec +EXPORT_SYMBOL vmlinux 0xe14802cd bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xe153f436 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0xe1770820 nd_integrity_init +EXPORT_SYMBOL vmlinux 0xe1780c5d inet_gro_complete +EXPORT_SYMBOL vmlinux 0xe17b9bd1 tty_write_room +EXPORT_SYMBOL vmlinux 0xe1973cdc __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1a9b2ff dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xe1ca5af5 sock_release +EXPORT_SYMBOL vmlinux 0xe1ce63bc rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xe1dafe68 of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e291a9 bio_uninit +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1ea6986 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xe1fbe83a jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xe20f8ad5 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xe2274a1c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xe266f098 xa_get_mark +EXPORT_SYMBOL vmlinux 0xe26b613a bioset_init +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe27761bd dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xe28026d3 mmc_free_host +EXPORT_SYMBOL vmlinux 0xe28e4207 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xe290bce6 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xe2afe060 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0xe2b98bd5 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xe2bc9643 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xe2c7e021 vc_cons +EXPORT_SYMBOL vmlinux 0xe2d467c4 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xe2d47398 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2e810b9 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xe2ee2b57 PageMovable +EXPORT_SYMBOL vmlinux 0xe2fc7e06 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe327ce1d __free_pages +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32ea6ba generic_write_end +EXPORT_SYMBOL vmlinux 0xe33aa4ea netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xe346f67a __mutex_init +EXPORT_SYMBOL vmlinux 0xe3482046 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0xe35b5b84 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xe37b3e67 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xe38fc1b5 mmput_async +EXPORT_SYMBOL vmlinux 0xe3a90dfa radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xe3ad7ae3 __d_drop +EXPORT_SYMBOL vmlinux 0xe3b4f8a4 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xe3cb7b60 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xe3d12672 bdi_register +EXPORT_SYMBOL vmlinux 0xe3d8e860 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0xe3e6fe68 fb_set_cmap +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f68954 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe428464e dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0xe4321689 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe4412067 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe4457345 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0xe446a142 omap_rtc_power_off_program +EXPORT_SYMBOL vmlinux 0xe4482ee4 inet_release +EXPORT_SYMBOL vmlinux 0xe46dc887 reuseport_alloc +EXPORT_SYMBOL vmlinux 0xe46e2363 of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0xe46fa94b security_unix_may_send +EXPORT_SYMBOL vmlinux 0xe470d10c mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0xe48c4871 filemap_fault +EXPORT_SYMBOL vmlinux 0xe4bea3fc nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0xe4c4b1a3 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4d14dc6 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xe4d70c7c register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0xe4de5860 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xe4de9734 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xe4e1fcfa bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0xe4e3c1d0 tty_hangup +EXPORT_SYMBOL vmlinux 0xe4ede715 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xe50581e7 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0xe50de9ee mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xe51b2ba9 pci_request_regions +EXPORT_SYMBOL vmlinux 0xe51f25ee nf_hook_slow +EXPORT_SYMBOL vmlinux 0xe521f9c2 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5345b56 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0xe534f768 param_set_bint +EXPORT_SYMBOL vmlinux 0xe5371198 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xe541395e nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xe543458c netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xe559392e uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xe55d8151 dev_change_flags +EXPORT_SYMBOL vmlinux 0xe567b0af inet_recvmsg +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe57e1070 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe5807e62 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5986047 netif_skb_features +EXPORT_SYMBOL vmlinux 0xe59b17e8 clk_bulk_get +EXPORT_SYMBOL vmlinux 0xe5a3e879 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0xe5ad4458 dcb_getapp +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cd9dc4 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xe5ec5473 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xe5fce4e5 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xe5fd6a18 cont_write_begin +EXPORT_SYMBOL vmlinux 0xe6038a1b mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61bcf63 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0xe6287b26 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xe636a548 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xe63fd092 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xe648ee6b __icmp_send +EXPORT_SYMBOL vmlinux 0xe64a3f0b dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xe655e6aa fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xe65817d6 kern_path +EXPORT_SYMBOL vmlinux 0xe66e64e9 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xe66eaaea phy_register_fixup +EXPORT_SYMBOL vmlinux 0xe673dfd7 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0xe67d6e3f file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xe693a6ce vme_get_size +EXPORT_SYMBOL vmlinux 0xe697b816 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xe69b9432 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xe6ae7e4c truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xe6b4bdf4 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xe6c07aee tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xe6c3264e configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xe6c4bca9 blkdev_fsync +EXPORT_SYMBOL vmlinux 0xe6d7863d revert_creds +EXPORT_SYMBOL vmlinux 0xe6e123c7 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0xe70378cd sget_fc +EXPORT_SYMBOL vmlinux 0xe7061772 dma_supported +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe71051ff scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe7206921 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xe7244902 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xe7283366 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0xe72d984d snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe753ffc8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xe75d266e capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0xe75ed4d5 generic_read_dir +EXPORT_SYMBOL vmlinux 0xe76daaa5 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xe7880c73 pci_get_slot +EXPORT_SYMBOL vmlinux 0xe79a3a9d vfs_ioctl +EXPORT_SYMBOL vmlinux 0xe7a0adde vm_mmap +EXPORT_SYMBOL vmlinux 0xe7af8fb4 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d7b17b keyring_clear +EXPORT_SYMBOL vmlinux 0xe7f2cfe6 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xe7f2e3a2 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xe7f81534 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0xe7fa3690 serio_reconnect +EXPORT_SYMBOL vmlinux 0xe8035277 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xe80968bf inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xe81a3da9 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xe82a4128 sock_no_bind +EXPORT_SYMBOL vmlinux 0xe842dc8c dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0xe84e60a1 dev_addr_init +EXPORT_SYMBOL vmlinux 0xe85556d1 eth_header_cache +EXPORT_SYMBOL vmlinux 0xe8632529 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xe877e10c inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xe8788b4b snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0xe894b796 udplite_prot +EXPORT_SYMBOL vmlinux 0xe895e69d fsync_bdev +EXPORT_SYMBOL vmlinux 0xe89f671c remove_arg_zero +EXPORT_SYMBOL vmlinux 0xe8a5c2ba sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xe8af3dd9 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xe8c2428d pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xe8c82b89 snd_timer_close +EXPORT_SYMBOL vmlinux 0xe8cd0a2c crc32_le_shift +EXPORT_SYMBOL vmlinux 0xe8efb88c inode_init_owner +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9325f03 downgrade_write +EXPORT_SYMBOL vmlinux 0xe9344390 complete_request_key +EXPORT_SYMBOL vmlinux 0xe93b6a52 skb_find_text +EXPORT_SYMBOL vmlinux 0xe943c937 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xe9440129 kfree_skb +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe98cb8ae xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xe99b7111 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0xe9a4316e snd_compr_free_pages +EXPORT_SYMBOL vmlinux 0xe9a70f65 _dev_warn +EXPORT_SYMBOL vmlinux 0xe9b18dc7 generic_make_request +EXPORT_SYMBOL vmlinux 0xe9b7f2f2 udp_pre_connect +EXPORT_SYMBOL vmlinux 0xe9bf3567 cdev_del +EXPORT_SYMBOL vmlinux 0xe9c0846e of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xe9cbf734 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xe9d845b1 dqget +EXPORT_SYMBOL vmlinux 0xe9e2d846 follow_up +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea0d60a3 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xea1248fb mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xea1f5b88 samsung_rev +EXPORT_SYMBOL vmlinux 0xea388a65 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea4ef6fc dquot_file_open +EXPORT_SYMBOL vmlinux 0xea540b05 snd_timer_start +EXPORT_SYMBOL vmlinux 0xea5b1487 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea7519eb nobh_write_begin +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xeab3bc32 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xeab3f8dd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xeacf66f8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xead72a9d put_disk +EXPORT_SYMBOL vmlinux 0xeada0e58 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xeada25cc get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xeadd947a generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xeae6ad1c input_register_handler +EXPORT_SYMBOL vmlinux 0xeae85711 netdev_update_features +EXPORT_SYMBOL vmlinux 0xeaf48f17 f_setown +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb03b389 __raw_readsl +EXPORT_SYMBOL vmlinux 0xeb297ed4 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xeb2eb276 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0xeb348777 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3848ff kunmap_atomic_high +EXPORT_SYMBOL vmlinux 0xeb3c67e6 ps2_command +EXPORT_SYMBOL vmlinux 0xeb402add register_shrinker +EXPORT_SYMBOL vmlinux 0xeb46be24 del_gendisk +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb55a9d8 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xeb5705fb __mdiobus_register +EXPORT_SYMBOL vmlinux 0xeb68404a km_new_mapping +EXPORT_SYMBOL vmlinux 0xeb7795c3 inet_addr_type +EXPORT_SYMBOL vmlinux 0xeb79e644 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xeb8ce891 tcp_connect +EXPORT_SYMBOL vmlinux 0xeb9bb749 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xeb9bbbd9 xattr_full_name +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xebb16ca9 dst_alloc +EXPORT_SYMBOL vmlinux 0xebbd9f6d ac97_bus_type +EXPORT_SYMBOL vmlinux 0xebcdfc61 d_find_alias +EXPORT_SYMBOL vmlinux 0xebd4b2cf snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0xebd5639d netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xebecd127 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec0b910b ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xec37a2e8 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xec3807fe padata_free_shell +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec569006 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0xec57bdb5 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xec7d8b67 kernel_param_lock +EXPORT_SYMBOL vmlinux 0xec86ae5a phy_find_first +EXPORT_SYMBOL vmlinux 0xec88e98e sock_setsockopt +EXPORT_SYMBOL vmlinux 0xec9535aa tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0xeca3bbb3 page_readlink +EXPORT_SYMBOL vmlinux 0xecbfe5c3 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xecc3ae86 __i2c_transfer +EXPORT_SYMBOL vmlinux 0xeccc0d45 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xecd38206 param_ops_short +EXPORT_SYMBOL vmlinux 0xecda95a8 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0xece0e207 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecefba17 lease_modify +EXPORT_SYMBOL vmlinux 0xecf1cbc2 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0xecf8a3b4 __raw_writesl +EXPORT_SYMBOL vmlinux 0xecfb7dee mod_node_page_state +EXPORT_SYMBOL vmlinux 0xed04c820 send_sig_info +EXPORT_SYMBOL vmlinux 0xed19505e pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xed23c014 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xed3afd68 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0xed40f2f7 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xed47e170 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xed58f362 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0xed67130a drop_super_exclusive +EXPORT_SYMBOL vmlinux 0xed98a07c starget_for_each_device +EXPORT_SYMBOL vmlinux 0xedb2a174 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc7a8af netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xedeb59d9 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xee00027b key_link +EXPORT_SYMBOL vmlinux 0xee002ec8 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0xee02a44f gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xee0c9b99 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3041cb dev_addr_add +EXPORT_SYMBOL vmlinux 0xee3d0f0d mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xee43fd9b ___ratelimit +EXPORT_SYMBOL vmlinux 0xee5191cc of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6e383a sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xee7b76ea of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee922b77 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0xeeb357a9 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xeed4574a netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xeef66657 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xef120d80 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0xef1f220a remap_pfn_range +EXPORT_SYMBOL vmlinux 0xef304343 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xef46c491 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0xef4cad92 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0xef52eb0d xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xef646950 block_truncate_page +EXPORT_SYMBOL vmlinux 0xef6c484d skb_clone_sk +EXPORT_SYMBOL vmlinux 0xef6e27a4 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xef8666a6 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xefb7bccf _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefd400b2 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xefd48059 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xefe8635b map_destroy +EXPORT_SYMBOL vmlinux 0xefec312f omap_get_dma_active_status +EXPORT_SYMBOL vmlinux 0xeff7a65c dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf00cc57e tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xf01528a4 dim_turn +EXPORT_SYMBOL vmlinux 0xf02a6977 queue_rcu_work +EXPORT_SYMBOL vmlinux 0xf06cee2c radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf09ce314 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xf0a343ed release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf0ac3bc4 nd_btt_version +EXPORT_SYMBOL vmlinux 0xf0ded9f2 is_nd_btt +EXPORT_SYMBOL vmlinux 0xf0e83c09 dm_kobject_release +EXPORT_SYMBOL vmlinux 0xf0ed2ef4 __raw_writesb +EXPORT_SYMBOL vmlinux 0xf0edff9e md_write_inc +EXPORT_SYMBOL vmlinux 0xf0ef52e8 down +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf102732a crc16 +EXPORT_SYMBOL vmlinux 0xf108715e dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0xf1193ed7 snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0xf11b3671 mdio_device_create +EXPORT_SYMBOL vmlinux 0xf122715f jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xf13cc000 skb_pull +EXPORT_SYMBOL vmlinux 0xf150d4f1 snd_timer_instance_free +EXPORT_SYMBOL vmlinux 0xf16141c2 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xf169880d flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xf176feb7 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0xf194c20c gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1b61f2e vlan_vid_del +EXPORT_SYMBOL vmlinux 0xf1be89ef ihold +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d3371a register_quota_format +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e374a8 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1ea5932 write_cache_pages +EXPORT_SYMBOL vmlinux 0xf1ea6f1c __bswapsi2 +EXPORT_SYMBOL vmlinux 0xf2056338 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf22e738e cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xf23176df param_get_uint +EXPORT_SYMBOL vmlinux 0xf235a08e filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xf236c75e swake_up_one +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24c157b tcp_poll +EXPORT_SYMBOL vmlinux 0xf24d0163 iget_failed +EXPORT_SYMBOL vmlinux 0xf26a9713 to_nd_btt +EXPORT_SYMBOL vmlinux 0xf2705d8b ucc_fast_init +EXPORT_SYMBOL vmlinux 0xf27eb0ea write_inode_now +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf29033d2 override_creds +EXPORT_SYMBOL vmlinux 0xf2a98e6e register_sound_mixer +EXPORT_SYMBOL vmlinux 0xf2ad80d9 snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2ca842a flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2e7cb1f ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2f64d4c alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xf30212b1 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xf304c1ee setup_arg_pages +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf3176bde blk_rq_init +EXPORT_SYMBOL vmlinux 0xf328a061 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0xf32bdd27 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xf32cf804 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xf32f36f1 vm_node_stat +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf348ff41 bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf37490a6 dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0xf37b9eb3 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0xf38716a1 nand_write_oob_std +EXPORT_SYMBOL vmlinux 0xf388349d dev_printk_emit +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38eb769 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf39e441c ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf3a11c35 xa_find_after +EXPORT_SYMBOL vmlinux 0xf3a996d5 register_sound_special +EXPORT_SYMBOL vmlinux 0xf3aeda73 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf4134ebd unix_detach_fds +EXPORT_SYMBOL vmlinux 0xf4232750 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xf42b78c1 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xf4344e16 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xf43f3051 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf462a7af nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xf4719d7b tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf4765415 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0xf479bc58 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xf4a04498 nmi_panic +EXPORT_SYMBOL vmlinux 0xf4ba246e ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xf4baa334 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4cbffc3 ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4ebd205 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf50010e6 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0xf51479de snd_card_register +EXPORT_SYMBOL vmlinux 0xf51a3c3c get_acl +EXPORT_SYMBOL vmlinux 0xf51fe2e0 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xf52da1a4 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53f4387 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xf55c0fc2 __post_watch_notification +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf57f4fcd tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xf59b3c7f skb_unlink +EXPORT_SYMBOL vmlinux 0xf59ff3c8 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xf5a0784b phy_attached_info +EXPORT_SYMBOL vmlinux 0xf5b256d6 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xf5b2d6f5 km_query +EXPORT_SYMBOL vmlinux 0xf5b666ef __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xf5d6d821 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xf5db30ae gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5f02b16 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf5f9678c __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xf5faef34 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xf60ba26b simple_map_init +EXPORT_SYMBOL vmlinux 0xf60ca3ae mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0xf6109116 file_open_root +EXPORT_SYMBOL vmlinux 0xf6135f40 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xf613d4b2 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf64bf255 wait_for_completion +EXPORT_SYMBOL vmlinux 0xf6514f04 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0xf652d359 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xf65f430f mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf672dd4c netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6886042 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xf6a1419e kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xf6a7c6c4 _dev_info +EXPORT_SYMBOL vmlinux 0xf6b5edd6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xf6dee592 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xf6e4df71 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f720de free_task +EXPORT_SYMBOL vmlinux 0xf6faa959 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf705b6e8 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xf705fa49 gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0xf7163ec9 __raw_readsb +EXPORT_SYMBOL vmlinux 0xf7282b4c phy_device_create +EXPORT_SYMBOL vmlinux 0xf72d3cdc flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf754edcf mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7602672 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xf760d1b3 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf76bf791 __nd_driver_register +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf78367b9 nobh_write_end +EXPORT_SYMBOL vmlinux 0xf7981dde dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf7a12107 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xf7b4d9fd input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xf7c0e5b3 serio_bus +EXPORT_SYMBOL vmlinux 0xf7d6015c nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0xf7db6463 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xf7e61f17 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xf7eb0bc3 param_get_byte +EXPORT_SYMBOL vmlinux 0xf7f5c564 km_report +EXPORT_SYMBOL vmlinux 0xf7f84852 get_super_thawed +EXPORT_SYMBOL vmlinux 0xf8011a8d phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xf806e86d in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf817db52 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf8364634 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xf838fd97 dim_park_on_top +EXPORT_SYMBOL vmlinux 0xf8593afe __devm_release_region +EXPORT_SYMBOL vmlinux 0xf86c394e xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xf86f1099 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xf86f27cd idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xf88511cf md_error +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8b2e4f2 fb_class +EXPORT_SYMBOL vmlinux 0xf8cc6f6b generic_file_mmap +EXPORT_SYMBOL vmlinux 0xf8cca483 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xf8dcb7f7 flush_kernel_dcache_page +EXPORT_SYMBOL vmlinux 0xf8e2916d inet_frag_find +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf906478b kill_litter_super +EXPORT_SYMBOL vmlinux 0xf910b18b _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0xf912f908 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf9298a8e skb_clone +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf9446924 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xf9615327 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xf96253b7 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf978f5c8 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xf9a36b47 down_interruptible +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9a81104 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xf9cf81ba nd_device_unregister +EXPORT_SYMBOL vmlinux 0xf9d7eac7 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0xf9dc2be5 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f7f5ec mr_dump +EXPORT_SYMBOL vmlinux 0xf9fc7da4 nobh_writepage +EXPORT_SYMBOL vmlinux 0xfa021f90 ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xfa0bd6ee pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xfa1ba030 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xfa45df31 phy_write_paged +EXPORT_SYMBOL vmlinux 0xfa51a1ab security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa726787 read_cache_pages +EXPORT_SYMBOL vmlinux 0xfa80bf39 migrate_page +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa9d3016 bd_set_size +EXPORT_SYMBOL vmlinux 0xfaa85dd9 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xfaa90b7a blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae14a78 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xfaf2b3ef snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0xfb0ce910 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xfb0d1bfe mark_page_accessed +EXPORT_SYMBOL vmlinux 0xfb189da6 _dev_alert +EXPORT_SYMBOL vmlinux 0xfb1d7438 down_read +EXPORT_SYMBOL vmlinux 0xfb23ff44 xp_dma_map +EXPORT_SYMBOL vmlinux 0xfb336634 mempool_destroy +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb3c0970 phy_attached_print +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb48c8a7 sock_i_ino +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb862281 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xfb8b9e05 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb5750f mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xfbb5cf18 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbcdb246 should_remove_suid +EXPORT_SYMBOL vmlinux 0xfbdd4f6c give_up_console +EXPORT_SYMBOL vmlinux 0xfbdfd3f1 ioremap_wc +EXPORT_SYMBOL vmlinux 0xfbeac730 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xfbfe0e86 ucc_fast_free +EXPORT_SYMBOL vmlinux 0xfc00153a scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xfc003cce devfreq_add_device +EXPORT_SYMBOL vmlinux 0xfc054e70 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xfc116fd9 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xfc16f839 vfs_create +EXPORT_SYMBOL vmlinux 0xfc1771e9 finish_no_open +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3f3589 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfc492ede ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xfc4b8f48 skb_copy_header +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc68ca81 ip_frag_next +EXPORT_SYMBOL vmlinux 0xfc6efa30 misc_deregister +EXPORT_SYMBOL vmlinux 0xfc8e599d get_tree_keyed +EXPORT_SYMBOL vmlinux 0xfca621f7 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xfcca951c seq_open_private +EXPORT_SYMBOL vmlinux 0xfcd0c507 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcd4c984 of_find_backlight +EXPORT_SYMBOL vmlinux 0xfcd89529 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcee94f0 skb_dump +EXPORT_SYMBOL vmlinux 0xfcf0fabe page_address +EXPORT_SYMBOL vmlinux 0xfd0ae58d pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xfd187fb7 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xfd2ee8f6 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd3381cd inc_nlink +EXPORT_SYMBOL vmlinux 0xfd489ac8 vfs_iter_write +EXPORT_SYMBOL vmlinux 0xfd520b9f finish_open +EXPORT_SYMBOL vmlinux 0xfd60ad61 tcf_register_action +EXPORT_SYMBOL vmlinux 0xfd763965 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xfd84c9d2 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xfd8f74e8 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xfd94eefb d_make_root +EXPORT_SYMBOL vmlinux 0xfd97e134 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xfd9fa717 mmc_put_card +EXPORT_SYMBOL vmlinux 0xfda3a71c pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfda9be61 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xfdbac149 phy_connect +EXPORT_SYMBOL vmlinux 0xfdc4182e set_nlink +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdce3d56 sk_capable +EXPORT_SYMBOL vmlinux 0xfdec6efe serio_close +EXPORT_SYMBOL vmlinux 0xfdf4cff0 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xfdfb0f02 kern_path_create +EXPORT_SYMBOL vmlinux 0xfdff94e0 ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0xfe000180 param_set_copystring +EXPORT_SYMBOL vmlinux 0xfe002539 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe03e2b2 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0xfe171764 ioremap_page +EXPORT_SYMBOL vmlinux 0xfe20960b zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xfe25593d dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xfe41829c xa_store_range +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe4cf58d input_unregister_handler +EXPORT_SYMBOL vmlinux 0xfe599e99 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe60d9ec wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xfe6a85b4 simple_write_end +EXPORT_SYMBOL vmlinux 0xfe6ab5bf pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xfe72f7de of_find_property +EXPORT_SYMBOL vmlinux 0xfe7507df netif_device_attach +EXPORT_SYMBOL vmlinux 0xfe868f0e cpu_user +EXPORT_SYMBOL vmlinux 0xfe90c4a6 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xfe93a358 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0xfea95d11 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfecce6e2 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xfed155eb __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xfed8c779 input_get_keycode +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff07d461 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff419b60 nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0xff530f35 pskb_extract +EXPORT_SYMBOL vmlinux 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff759a6f netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0xff812b58 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xff8c2e5a radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xff9610ee qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0xff98f127 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xff996450 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffe0a3b7 pci_iomap +EXPORT_SYMBOL vmlinux 0xffe32e52 dev_get_stats +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff38c3f proc_mkdir_mode +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x2e7c0170 sha1_finup_arm +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x8d081cbf sha1_update_arm +EXPORT_SYMBOL_GPL crypto/af_alg 0x09802f28 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x1d77f2bf af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x2f3aceb6 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x37bc9e49 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x3ad706c0 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5cd7a6f9 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x74e94005 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x759c83b8 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x7a5b9bf8 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7ad38606 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x7b7dff18 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x7e143a0a af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x81743434 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x8ef40bde af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x955b9eb4 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb2435f4e af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xc6ae9530 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xd8853cb0 af_alg_poll +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0xad689c30 asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x7bf125ff async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x05e6b3b7 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xbb70eb84 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x52a52a99 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x6e574517 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x179700e5 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x79ec66d5 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x897163a8 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xc5a4b5b7 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x09973ea4 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xd8fef7cc async_xor_val +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x4241b039 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x471299e6 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x0269bab5 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 0x12157f30 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x18dbd632 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x1b7ee567 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x3079e86a cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x48c8cf5a cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x719a2a36 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x723e6a2e cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x73f076bd cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x8c97d48b cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xa42dffc0 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xa6bb19c5 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xb8881253 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xf9351a3e cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x026728f4 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x3e17c5cb crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5953c997 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6fb9aa8e crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7142ebcb crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x74e3bbf7 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x790fb786 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x84808a9c crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8cea08f1 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc47ae646 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd666585e crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf3994cad crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xff170929 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x252b0bac simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x345077d7 simd_unregister_skciphers +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 0x9cbc7554 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xbfd26f15 simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xeda0f9db simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8a8cc902 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x015cdca7 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x95349250 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xfb29a406 crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe21244d0 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xcdfa082e __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x4f8bf756 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +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/base/regmap/regmap-i3c 0x183a231a __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xd85c3fbf __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xea01b9fc __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xa9869d67 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xc4d281dd __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x97650024 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xa68732f5 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x12b22d69 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x3797a75a __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x6f94339f __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xf9e418c2 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x009b2e2a __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x7e7e4cd4 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x038d89a1 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1bb37147 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2514d82f bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x277885fc bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2c3429ae __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3b85f087 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44996c0e bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x55d258d5 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x576f3fec bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x58c643ed bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6b161481 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7e9296e5 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8807aacb bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8c231841 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaf93f4e3 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb99fd6fb bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc51aef7a bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdc1a4a4b bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xde4f7e26 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe023f35a bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xedea7a44 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf075a5ef bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfadede09 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfe175434 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x0c50ceb6 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x4f31ed75 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x87871439 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa5cc3a36 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xab628533 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb31c4436 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xbcd87a8d btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xea3b18ae btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x18ae911e btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1a08cf5e btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1ca26331 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1e22c2a4 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x213be286 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2c722dc2 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x308d52f3 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x37210263 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5d26694d btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6500225d btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x65c05f19 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8cd14190 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x99678bfd btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9dff980a btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xaaafacb2 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe3182268 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe4188327 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf11cca3e btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1a969a48 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4965672e btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x57088947 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x581eb8a9 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6cba88d1 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa13eaeb2 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcd85e475 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdb15a2a4 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xedd16975 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xeeda4c8e btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xfe825e0e btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x3b280db2 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x4702071d qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x4ee0efdd qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x8ff9dc17 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x91e88312 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x0cef2661 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x3efacc49 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x5422d672 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x890df2c3 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xf12f72ca btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x27be413c h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x97178e69 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xaab0aed3 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe46df9d4 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0e77dfed mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1dbec308 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x269a8a77 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x297a1168 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3db1b303 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3f7d4077 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x488fa892 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4cf0ba30 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x568eaaa3 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x5c10b62d mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7de8944e mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x81403ac9 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x827d97f8 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x852206b9 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x8df3102f mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa49cbd32 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbf098312 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc6646718 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe3590105 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xeb036d0e mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xeed98f3d mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xf903ed39 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x26ea9ad4 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x42167171 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4b417ccc __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x5f851a0f moxtet_device_read +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0xc37ae3f3 meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0xeb820ca2 meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0xb1aa8b06 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 0x08bc8292 qcom_cc_really_probe +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 0x161901e1 qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1987883d clk_alpha_pll_fixed_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_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 0x3b15a709 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3daa177b qcom_cc_register_sleep_clk +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 0x68199825 clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x69ad985f qcom_cc_map +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 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7f559821 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_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 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 0x9dc41abb krait_div2_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9e33f365 clk_trion_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xa6f08f9a clk_trion_fixed_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +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 0xc037091a krait_mux_clk_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 0xc6a05db2 clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xce340fb8 clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd3135b41 qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd8d92954 clk_lucid_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd9de62db devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd9e7a86b qcom_cc_probe_by_index +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/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x154777b0 counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x259cdd87 counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x27a916cc counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x50d4e0f8 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x58c0cbc0 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x6fe7e310 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7cc44562 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x855007c2 counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa31d75ca counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc128d570 devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xd73e92eb counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe84be640 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0xf55aedce counter_register +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x5c2673e4 omap_crypto_cleanup +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0xd9009a51 omap_crypto_align_sg +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xcc976f27 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x0e2b38c7 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x2d8793ac dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x00c13f61 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x5e64c553 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x622d4cf8 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7802eff1 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x8e466b4e do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xae1395c7 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xfc006628 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x14c6dd61 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2d5dc89a fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x47f7efb0 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4e3f55a7 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4f82e1d3 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x70615fa0 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7c63e84f fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x95a011dc fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xaf60c16a fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc281edeb fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc85d7e58 fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe12ebc7a fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe4809c4f fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe4a5d49f fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xefa9af7c fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xfa692e2f fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x7f6b2942 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xb59294f3 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0x614648d1 get_scpi_ops +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x20c8c6e6 alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xc049f246 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x013705a5 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x01856353 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x06468edd dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x086d2043 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x08ff9cca dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1da249f1 dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2150cfdb __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2d283880 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4246caeb dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x50356736 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x53f3f0be dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x56b8b10a dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x571fe7cb dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x649a7765 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x72a0ed42 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x79749eaa dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8916f7b0 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa78ca7e9 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xead45440 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0a7b133e of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x12fd332c fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x329d84aa fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3df35af9 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x4ad210d5 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5c264241 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x62ddf91e fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x708f75f7 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9fddfd19 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa826f2d5 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xab8d2817 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xec2e4450 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x09a7d2ac fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0ac5f31f fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0b2339af fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1a40a160 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3f85c4ac fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x666f37ae fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7b3a972b devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb04f5a8d fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb189d583 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc5d90385 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd41bc564 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xdd890634 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf3cf315b of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x36628255 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x45d9a6bc fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x58f0ab8d fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x68fa7fe1 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x8423d7a2 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x8a75ea69 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xd26176c3 fpga_region_create +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0cc23c48 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x24add3e0 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x44d306c3 fsi_master_unregister +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 0x6957ad21 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x71a68109 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x93874b44 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9ac955bd fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa507ff6e fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd1f5bafd fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe25abe38 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe4ac7aa2 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x117dd9cc fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x88c049af sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xfc787744 sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x0d13a282 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x3c375cf0 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x4aeae91a gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xd27b57eb gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xff983707 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x147867c5 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x1667165c gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x394f5f4f gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x5b4f4c56 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x8cff3467 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x294a76b0 aspeed_gpio_copro_release_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x5dcbe46c aspeed_gpio_copro_set_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x730d16c7 aspeed_gpio_copro_grab_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x679cff1a __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x97b7a4ad __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x113c9324 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x14431b54 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x2c56a90d analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x33e1df7e analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x76b5f496 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x8ca054af analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xcdccdf7c analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xd999f370 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe4978c9d anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x05aabf45 dw_hdmi_probe +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 0x157e02b6 dw_hdmi_phy_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 0x5c6c362b dw_hdmi_bind +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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x9b44a60b dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xac27affd dw_hdmi_set_plugged_cb +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-mipi-dsi 0x0c5b6205 dw_mipi_dsi_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 0x2fbc0669 dw_mipi_dsi_probe +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/drm 0x052eac78 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x05bfa658 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0d4463aa drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x177981c5 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x20a15943 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2b467c58 drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2b5f4dd2 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2f0bc21b drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x34af6fec of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x38fed3ef drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x46c76b4c drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4ce84f73 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4ee132c1 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5829077c drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5c401bf0 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5d64d295 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5ddba5d7 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x62fb5788 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x64860fe5 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x695da951 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x69f6204c drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6a1ece15 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x71b8312c drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7507f958 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7ab61baf drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fc7f1dc drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x846cc663 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x859e98a6 drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9551f734 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xba1a47d8 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbe8f9c36 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc1f5896b drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xcd636ccd drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xdcefe538 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf1e1eb2e drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf5a508ea drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff8de3dd drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0c3439c8 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1799b3d2 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1fa8bd5b drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x45135fdf drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x50a47d04 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8b7f92cf drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xae9ec588 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb91b7e65 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xcaf628eb drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xcb2a25c2 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xd29a8db0 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdd2687b4 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x0f4cdde2 ipu_planes_assign_pre +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x702ebf7e ipu_plane_disable_deferred +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x7a5cbfa7 imx_drm_connector_destroy +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x97d1d2c2 imx_drm_encoder_parse_of +EXPORT_SYMBOL_GPL drivers/gpu/drm/mcde/mcde_drm 0xe10e7299 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 0x75fb6517 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x82b3feae meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xa0dde7d8 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 0xb8f30f08 meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xfd34888c meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x78196c09 pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x6435cbc6 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x9002fed9 rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xe6f1bc22 rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xfca8837b rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x43a4bbfa rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7a95f162 rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xbebaece4 rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x145d81ac rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x7cc21725 vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x2292f784 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x40d8d093 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x4239b169 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x04ccec93 ipu_cpmem_dump +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 0x06f8b794 ipu_prg_disable +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 0x0d7acff3 ipu_idmac_get_current_buffer +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 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 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 0x1e913d9f ipu_csi_get_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20347894 ipu_cpmem_set_yuv_interleaved +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20598e18 ipu_cpmem_zero +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20e09f6f ipu_csi_set_mipi_datatype +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20ee5f21 ipu_idmac_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2287d8d5 ipu_dc_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 0x2b92b1a1 ipu_srm_dp_update +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 0x2f8f61f1 ipu_prg_present +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 0x304bcf7f ipu_image_convert_prepare +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 0x390ec0e3 ipu_csi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3c15329f ipu_prg_enable +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 0x418a282f ipu_drm_fourcc_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x429b01e5 ipu_cpmem_set_uv_offset +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 0x498b4c7b ipu_image_convert_enum_format +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4c179b49 ipu_dp_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4e3ebb79 ipu_idmac_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4eed345a ipu_dc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x50326196 ipu_cpmem_set_axi_id +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x51475e87 ipu_dmfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x516f903d ipu_map_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x519a8bee ipu_get_num +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 0x55a7b733 ipu_idmac_set_double_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x580d2f81 ipu_vdi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x58f9b1ad ipu_idmac_buffer_is_ready +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 0x5cd44cd2 ipu_ic_get +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 0x62b4f715 ipu_idmac_wait_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x63593ec7 ipu_csi_init_interface +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x64ac0361 ipu_cpmem_set_format_passthrough +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x66e729d2 ipu_mbus_code_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6dd539f4 ipu_idmac_clear_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6f957e8a ipu_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7068e939 ipu_dc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x757bb490 ipu_cpmem_set_yuv_planar_full +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7b8affa7 ipu_cpmem_set_format_rgb +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7cc873b2 ipu_cpmem_set_high_priority +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8456d681 ipu_module_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8497c7d4 ipu_degrees_to_rot_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x886c35aa ipu_smfc_map_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x891f059e ipu_ic_task_idma_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8a9458d2 ipu_image_convert_verify +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8c62cc05 ipu_smfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8eb22643 ipu_dp_set_global_alpha +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8ece82bd ipu_pixelformat_is_planar +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x8f03d4a7 ipu_idmac_enable_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9058e289 ipu_smfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x91ce1a04 ipu_dp_set_window_pos +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x951a09d5 ipu_csi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x97f08d2f ipu_ic_task_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x990e7da7 ipu_dc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x99b1d4d9 ipu_cpmem_set_resolution +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9bdeeb09 ipu_cpmem_set_stride +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9d36843f ipu_cpmem_set_block_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9e0b8e63 ipu_cpmem_set_image +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9eb195cc ipu_dp_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x9f38e177 ipu_dp_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa03819ae ipu_prg_channel_configure +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa218e02a ipu_idmac_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa3582afd ipu_cpmem_get_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa3f5552a ipu_idmac_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa4b0cabd ipu_dc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa60b144b ipu_csi_set_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa67c541a ipu_cpmem_set_rotation +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa6daa1cb ipu_image_convert_queue +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa8adc101 ipu_pixelformat_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa95c2b90 ipu_cpmem_interlaced_scan +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xa96882d8 ipu_ic_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xae050f76 ipu_set_csi_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb8932091 ipu_image_convert_sync +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xb99ff733 ipu_idmac_channel_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xba458b8f ipu_csi_set_test_generator +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xbb5ce99d ipu_image_convert +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xbcc0c88f ipu_idmac_lock_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xbf983ba6 ipu_vdi_set_field_order +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc31a3475 ipu_prg_channel_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc3c2cdb0 ipu_smfc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc4af2e81 ipu_dmfc_config_wait4eot +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc4b15642 ipu_csi_set_skip_smfc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc603fac7 ipu_image_convert_adjust +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc6675aa9 ipu_csi_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc677177d ipu_smfc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xc97e7a0f ipu_di_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcbea3eec ipu_di_init_sync_panel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcc4d5fb3 ipu_set_ic_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcd7fbaa4 ipu_ic_task_graphics_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xce10db35 ipu_stride_to_bytes +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xcf14bf88 ipu_idmac_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd0238a65 ipu_cpmem_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd0a51f2e ipu_fsu_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd539a176 ipu_dp_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd5c86f0c ipu_cpmem_skip_odd_chroma_rows +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd6a750b9 ipu_di_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xd8f285f0 ipu_vdi_setup +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xda59e1dd ipu_idmac_channel_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xdb9ef5ef ipu_cpmem_set_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xdfeb447e ipu_idmac_select_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe0f9d29a ipu_fsu_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe2afcf27 ipu_dmfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe300a959 ipu_dp_setup_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe3eab491 ipu_cpmem_set_fmt +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe4d7857a ipu_prg_channel_configure_pending +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe5558dd9 ipu_module_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xe6243c52 ipu_dc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xeacf4eee ipu_idmac_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xeea12b31 ipu_vdi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf1440dc1 ipu_ic_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf1abac7e ipu_csi_set_downsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf1f28a2b ipu_dp_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf541df2d ipu_vdi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf6202f8e ipu_vdi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0xf93e49b4 ipu_prg_format_supported +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x088e5758 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1a83c624 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1da4bdcd gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1fcb0a76 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x29f7da7f __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2dd6ee4c gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2e12b79a gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x31a703f1 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x38b89571 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3c1b0b4f gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x44dfb3c7 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x48677a10 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4e2221db greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x50517685 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x576fa715 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5926637c gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x65fc4e0d gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6f66aa17 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6fbcd954 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x75c9730a __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x797da816 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81eca4d3 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x855f9f82 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8997011d gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8b0c6307 __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8e53d0d8 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x91725f59 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x95e48ec4 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x966ab681 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x97425e40 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa01b8059 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa165c742 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa394591e greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb80fb128 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbcffdf74 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc1bd7e7c gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc2c1b63b gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcfabfc19 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe3fd801d gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xee0efef7 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf0b3d9ae gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf8ad8665 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfcd391a8 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0789ce12 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x09e69331 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0f4c920e hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1091efc5 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x12c0d105 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f0532bc hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x24b8f583 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x28dd6051 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x33fe15de hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3f9e7f83 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x41114c51 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x44d3bcf9 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x473be91c hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4807f30f hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5576b2bb hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5b8dd7d5 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6affc63b hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6f1da97f hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x700dd66e hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7673f039 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7c103e4a hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7da5232b hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9519a0f9 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96ef20d7 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x97769072 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x98ad681f hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x990d4391 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9cac0797 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d44ad7b hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa39b4845 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa518abb4 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa9cabd4f hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc04052df hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc109bd33 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc2e05463 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc666ade5 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcc9ab1e8 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd198fae2 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe023a429 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe310bdea hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xea2cf8aa hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf491ba1f hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf5194f66 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf84069cb hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +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 0xb7e17f2f roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x3656fb6e roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x61fcbee1 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7d862b4c roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xba6fb191 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc06ca0ec roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xd8d00ad8 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2a6cda05 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3dce03e4 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x437a9189 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7dc184b1 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb1f96e1d hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xbe115547 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xdd090c37 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf5f71de8 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xfdd2a594 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xe1aa4b22 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x71ca0291 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x8a7e6a9a usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xaeef804c hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x25a35354 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3f83867a hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x426391fd hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x48dd4679 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4c2cc8c2 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x514c84e8 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x52945b5e hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5379d43f hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x55302719 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x841380ee hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x846630f5 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x858c7b3e hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8665c615 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc7c0eac9 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf3b8fa68 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf5a5c2aa hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfa9f6548 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xff293d60 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x43de76b6 adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x6e514f85 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x7c64b9b1 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x3d25c5a4 ltc2947_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/pmbus/pmbus_core 0x0589ad20 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x097d25b2 pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x11589856 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x5929b4ce pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x5d8fd5ff pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x6c748c0d pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x6ed96c7e pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x71e13f73 pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x7ebddd4e pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x96c834eb pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa4c901a4 pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xaacc4a2d pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xac4516ba pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xbf8a970f pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xd94c7f8c pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xdf1dd615 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf009415f pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf8e8f9b2 pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xffdcbaaa pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x03f6a412 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x0600a0ce intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x258174fa intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x34ef4132 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x44b1e804 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x490750cc intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5686f1ee intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x86bdcee0 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xbb541399 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x19c27b6c intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xac959639 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xafff8fc2 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x1d45d838 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x375a415f to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x42f9456c stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x49a355c7 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x58bb71de stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x89739525 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb5b74f42 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd7324ce6 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe995faa9 stm_data_write +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x5cf32723 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd0d59f16 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd22a41da i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd49bf425 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x49292c9d i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xcbd355d0 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x013f765b i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x01f496c3 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0bb13cf5 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x23d702dc i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x32e92215 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3977a480 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4c3f1f9e i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x502563cf i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x50c40d2f i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5d711124 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x70ea9fe6 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x79752bfe i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7f562239 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x84640906 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8ece71f0 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x96abf9b6 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa4bf69c3 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xaec3f740 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbdf23bb1 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc144558d i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc26cc97e dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc4b9dfd2 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc6dc1764 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe9b50ec0 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf22a2981 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x4adf42c5 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0xca986e42 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x2ba2d853 bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x5053c43d bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x81b9d9c0 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xb63ee0cb bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x0288874d mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x9a15b59b mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xee73cfe9 mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xd4df614c ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xe3789712 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xc3724af7 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xcccc83e6 ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x26d94a77 ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x3f4764e8 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x4eb954b0 ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x6d4c8c74 ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x7afa4b1b ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb5dc6dc6 ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb9dafc07 ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xbc3d1691 ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xc78a5a67 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xcac822cb ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xe086a0dc ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xbbd63ec0 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xd7a641fb devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x03847f89 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x106c2532 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 0xc15176ea iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xfff2647d iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x169b8502 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1e89710b iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x2dd89407 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4a940709 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x65f6297c iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7e4862cb iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x80b9ff72 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x87d3e8bb iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x9188258a iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xa0c737ce iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xd042d8c1 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xfb0f1da2 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x7eafacb5 iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x9d576360 devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x28451db6 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 0xdfae2729 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0xb847c40f devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0x1fba5e29 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x0d90ef3a cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x1a73f80e cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x2a249a2c cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5275e411 cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5aa80a2a cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x621649fc cros_ec_sensor_fifo_attributes +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x725ada05 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x88026ec7 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 0xa39f1763 cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xc5e29c2a cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x75b2c660 ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xc9053f83 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x31707259 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x50c547c5 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x880afbaa bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x98d31b48 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xd2f40897 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x10c68a05 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x749883eb fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xc983517c fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x054d7503 adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x096e91ae __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x0bd982d0 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x25e90e6d adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x3b5a97d5 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5618d290 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x72ab3d30 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x72e7f417 __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7ec3765a adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x9d5da797 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa26ea125 __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc1c104f2 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xca8aa585 adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xd7ef7530 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xd8cc38a2 devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xd9b577bd bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0xbf8ed41d fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x0d2ee3a4 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x1f95f0e9 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x01f67172 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x04e4ebb2 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x06f4d55a iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x07786ecc iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x146e2af1 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x15a1cea5 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x183b827e iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ce344a iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x246debc9 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3583ae7f iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x362490c1 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3666f0d7 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3bf33d48 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x416f6ee7 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4627bb0b __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4b1312b8 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f9cf171 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4fe2f0cd iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5d044293 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5e0372f6 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6bd0da94 iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x766245fd iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x82f3f8cf iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x91bfba1f iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x93b1f401 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x94a44550 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x99217743 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9c497a71 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa26f8a92 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa40f626d iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb69ee20f iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbdf2c0af iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc93c135d iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcb3e47f9 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd0b34f8c iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd3f77153 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdb566428 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe085e629 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe56bea4f devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xefc0f4c9 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf168c8c7 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfc370634 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfcab722e iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xff794087 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x40205ffe rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x029e2230 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x13ba8cad zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x694be54b zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x83f27a4b zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x9f6d1ad2 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xda8788c9 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xfb288c12 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x089db2ff rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x19c965ae rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6cc0e8dc rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x78d39e60 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x92216c26 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa77d6d92 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb13d9df0 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb8c72a99 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc166c00e rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd32f2d77 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd9e66848 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe79fe089 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf75f10ae rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xe1214280 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xc1a5ebd6 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x30ca3e12 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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/rmi4/rmi_core 0x006e14d7 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x54d8049e rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5b56dc8b rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5e2cc058 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7671e19d rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x77a1f03d rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x78e2646b rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9bbf051e __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xab7c07d0 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb3add345 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc3ab1c85 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd36997a9 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xdb8e176a rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x4c815b58 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x79b0985f cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xdaf0549e cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x09e2367d cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x8fef9a09 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x900315b7 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xd999a606 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x10ee36f3 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x3d08eb5b tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x43b54de7 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xfbb5f89f tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x09050d46 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x14bb101c wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2b894762 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3b2abb6e wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x51b180dd wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x801dc40c wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x96b9e48b wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb4a1790d wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc5af0dd8 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcbb121c4 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe0095a45 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe0af314c wm97xx_unregister_mach_ops +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 0x36f88561 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x4b161ec1 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x5c6bef91 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7de31463 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x83cd3071 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x873b1adb ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x91c6b986 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x96753cd4 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa3015286 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x08997a90 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x3487908c devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4722c794 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4a41465d led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x9a33fb70 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xaff706ce led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc77b6417 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf05fa991 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0a43964f lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x2c8c74b2 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x34d71457 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4cc4c2ff lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4dfa7541 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa7159d76 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xbe110962 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xd83c301d lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xe9564191 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf0bb2354 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf2174735 lp55xx_init_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 0x00af95a1 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06d94b0a __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x157aa73e __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19a50641 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19acd14e __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1e382318 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x24935482 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x28991160 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x29ef0066 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2cd1be34 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3ae1afd1 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4f0216b8 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x56bd5947 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cb0a24a __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65835607 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x68b2f180 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7baca7fe __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x95286aa1 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9cedcd57 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa60fcee9 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xafae4e81 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb4b03b2e __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7500cb5 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1fd1dbc __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd4cd3c1a __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe278bd6d __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe68d70a9 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee926d8f __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf30b9aa6 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf438022f __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfbd03183 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x04d691b1 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0d69bb56 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x160fe60f dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x18d7e1e7 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x23464aa9 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4235ce08 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x441168dd dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6036f4cc dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x691f3a65 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6d7c6c21 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x760528eb dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x985dcc63 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 0xbb8e20f0 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd7b8f802 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf2466dc9 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf26fcbbf dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf657cae9 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 0x3e3ac9bd 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 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 0x68d9c186 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x8f647e48 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x90136207 dm_cache_policy_destroy +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 0xb4125a0e dm_cache_policy_unregister +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-multipath 0x3055a3df dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xe88d45b0 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 0x2a7d113e 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 0x3a26b7d1 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4483c1e6 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4690c489 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 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 0xc36bf589 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd98eb866 dm_region_hash_create +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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +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 0x2adee13f dm_btree_cursor_next +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 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +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 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x55f98e63 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8a56150c dm_tm_read_lock +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 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa433adbc dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa7083b63 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa7b1f098 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb8dbd4e1 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6367ed7 dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf3e25192 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x107d44c6 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x129560ad cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x15dcda69 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x17ff772e cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x20171875 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3b0374fc cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x4a3731a4 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x74b2b04d cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x76bb82c1 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7d2b70d4 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x83cf9d2c cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8a300998 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x96df7988 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9f617684 cec_transmit_attempt_done_ts +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 0xb32cd99d cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb5cfdcb7 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 0xd4e87a52 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdbc5ca71 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe93f4df4 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf7b92b23 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0ca40bfc saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x134e231f saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x34b2c4c0 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x6ef89d93 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x75e71ad5 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb74048fa saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb888bde4 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc1cee87c saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3535086 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe816a24d saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x0f1dff59 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x1d480246 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x398b4daa saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x4a30212b saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x6e18d060 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x738b426e saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8f3d0943 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x041f8419 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x04214874 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x07a9f09c smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2d2e451a 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 0x47d832b2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5ed931ad smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x737c2b89 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 0x8554f03d smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x88d3c516 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x89c16255 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8d3a026a smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa13abf4a smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa722de9b smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbe7c2636 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xcbef380c sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd07a61eb smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd9bd0602 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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0aa6af5e __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x15150308 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x16f67eef __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3446021e vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x38142a98 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x389ff2ec vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3a115f79 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4d456699 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6a513183 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6c6ad000 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7156f0ec vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7eeeee2e __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x87c87694 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9bc579f4 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaaad8fe5 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb0a0821d vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc1335821 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc57c2d19 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd1c095d8 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd473ed44 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd50ab13b vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd8192224 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd9a844df vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe4c34dd1 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe8f66f36 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xed8640bf vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xef357468 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf1ab4dbc vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf6798d11 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xd2d8969c vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xfd4b7f87 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0xc3509df0 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x5aa11d49 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x01fddc68 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0a2d1657 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0d3ea15d vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0f28244e vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x16194e5c vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x20927eac vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x213b661b vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x26b9ebf8 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x36f7ed38 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x39824bf0 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3be335e3 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3e0b2c19 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x681cae0e vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x69ecbef3 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7e1d5738 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x80a985c2 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x93edd72b vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x96dcbaed vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x970fd395 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x993f1968 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa0e09c73 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb1159416 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb6d16f8c vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc6b80197 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd4abf1c8 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe32573b6 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe80a382c vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe9fe988e vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf1215ecf vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfb1fc01e vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfcdfa81b vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0xc4a3d8bc vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x08996f21 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x1fb5ae72 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x7fecc5af dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x2047caa8 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xdb4c435c cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x23975195 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x359a1238 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x4ce7e15c stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xf4d2b70e stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xba628490 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x33457fc6 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0xe0ed7c60 smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x02c917ed media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x05a19194 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10bb66ac media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x164d3720 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1777d6ab media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1c30389b media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1e5ce812 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1e61e899 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x20484df9 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2c8f3730 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3c489607 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x40a6b408 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4486124b __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x498e1852 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5401cc70 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x55cfd34d media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5a087d8d media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5b31d0da media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5bcd8d2a media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x63380595 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x66b72dbf media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6fd5a4b6 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x76c3c97c media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8b1c0409 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8c8ced03 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x90c2a788 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9a45968a media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9c780306 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa157f0e4 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa18f3c91 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa4cdc6bb media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb2f18d39 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb6ce1942 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbb2e6e6d media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc22076da media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc77f19cb media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xccb8bf7b media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcd527dfb media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd5b649f9 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdb38f349 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdcc5bfc3 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xde1767f2 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdf6df964 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf149dcd0 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf1bd893f media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfd3c7522 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x54de97b7 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0027fa4b mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x126de242 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x19b5e784 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x29ee827c mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2d8c54e6 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3381c868 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4877fc71 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5515b88f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x79100f91 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7e1782c1 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x84ea42b6 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa8e4a5ee mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbb0bf412 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc0031044 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcfa64d0a mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe111ea21 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe617ed11 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe62155cc mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe8d6f66c mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x05029fd6 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x05fcf0a3 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0d7c339e saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x10d37e5f saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1c5352f0 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x31e6b5bf saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x429f7d1b saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x60a548b5 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x65d612d4 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x999dfd4c saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa2e204cd saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa84598bb saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa8c13188 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc43c9912 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd1e937f6 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf0315e9c saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf4112a12 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf5e44b3b saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf720f017 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x20db6601 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x57edd8dd ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x6f37e041 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9006ff18 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9413f88d ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd9aab479 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xf2adb5cb ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x33a4e672 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x90a16899 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xbb9d8c37 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xc022ce0d mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xe26c72cb mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x2d2c7b7a vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x44067648 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x843c333f vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0x9b51fc34 vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xab046fe9 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xcc2d8bd2 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xe83c3d12 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mtk-vpu/mtk-vpu 0xed3b148b vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/rcar-fcp 0xbea25518 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x320924cb vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x5027343b vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x5b0a72ab vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x75716166 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x7c111da9 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0x896c6226 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/vsp1/vsp1 0xf786f220 vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x150fd36d xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x25c1b565 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3dc2bb7c xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x803c9ca3 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa06e71a9 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa34883a2 xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa90464a2 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 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 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x7a97fe23 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x3cfbdce6 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x96771279 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x22c20dd0 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x3366c4a9 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x5c7ec15e si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x76b888fc si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xca38d9e9 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0b988129 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x224ae2ad rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3192373a ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4d69dd74 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4f5ef727 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x52a6e729 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x581dc677 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6559554f rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x670d236e rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8013ce54 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x83f12db8 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x870b4266 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9d53be4e rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xafddbe30 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb5d6aa60 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb7fb424a rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbe56302c ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc87e70e7 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd5a3be9a rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd6cde88e ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfd5960f2 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x74348e9a mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xde2c8205 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x1f92ec99 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0xe8876198 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0xc1a5feaa tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xf5900396 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x9c8b8dbf tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x9f6a9fa0 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0xc4b0fdad tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x75b38ad1 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xeaa7392e tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x693568a4 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x7a238a42 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xabfb372c simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0f844226 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x13ce2256 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1aa8c887 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1bc7c973 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2a18ded5 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2c70e326 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x37187ac5 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x37d03c42 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x39f994d7 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x47e5ce4a cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x54a82223 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x67af2caf cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8057c310 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8eb5e9d5 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8f310905 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa7c17276 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xce6c1bd7 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd12bb5ba cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf27ecda9 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfd954f15 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xa28b1bde mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xba0c954d mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0557f029 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x15298757 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x23fa85ba em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2a5f178e em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2b6d9f8b em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3e70b2b9 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x425b1422 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4902a48c em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5f8a82a0 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x691a8399 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x70d52b23 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x71ba8a22 em28xx_read_reg +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 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9be78d53 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9d104fd5 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa458f7a0 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdd61fcdd em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xec9f43fc em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xf0bd9ed9 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x0b86dbbf tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x3a244b96 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x5004e027 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x6d786ea9 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x30376422 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x307b5564 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xf97d97d8 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x11d7d2b6 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x25082727 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x27443bce v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2f707a01 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x37ed4430 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x42e2e4ae v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x461594a4 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x5e5cc57c v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x68781253 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe604fc96 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf03377f4 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf8e3cd1c v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x8468300b v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xa003c02f v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xae38bf6d v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x049c9eed v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x04aaa9a0 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0727c1b2 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0b597df2 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0c3ad5ea v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x238c8239 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x27639d09 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2dc45105 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2e7b73d6 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x362d0a00 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x37b12a9b v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3f3332c5 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x445d4513 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x49ff8f13 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5eaf98f6 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6de6000a v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x739bf14d v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x753779ff v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x77e2cb60 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x83d0b553 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x865cbdff v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8df409c0 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8f8c16b2 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x91aa280d v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x970de2ea v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9c84e7fc v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9d13d390 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa2262fe7 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa4447f0c v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa519d24b v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb7778277 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xba3faaea v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbed8c043 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc018528e v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc9d793d7 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe1b32761 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe20c75e2 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe5138d41 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe53484b7 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe5c8c650 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf0cec246 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf1754fa1 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf9387566 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xffab6e05 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x129b251d videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x152c7725 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2892ff61 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2a8dd058 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3280ad8b videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x348d2823 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3ab4f2b8 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x420153d7 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4267cf3d videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5567aa8d videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x61f112c4 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x73048083 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x99d7ed79 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa6289f83 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb7abc2c3 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc4a39174 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xca17feb0 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd28120f8 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd7ff2e7d videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd8156cd8 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd88eb4e2 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xead3594a videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf28ef5ce videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xff7d3863 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x699343a8 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x69eddf47 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x89dd892c videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xd75132c2 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x158a5520 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xda63a91f videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xeb4c5e8c videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x03161304 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x044d933e v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0589ff7a v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x110c45eb v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1771cf03 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x178a4812 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1c7d70d9 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1ebb7d1c v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1ed1d15f v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x23f48ab0 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x25a0b77f __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27cfc66e v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2904f695 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ecff48f v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2fbf29a0 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x30166870 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x30a0e22f v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x39ad145c v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3a0bff4d v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x42ec06cb v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x48aa8de6 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x517759a4 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x54a18587 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5635c1f2 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x60254f47 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6071b92b v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61817752 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61875fa0 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x629b476d v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66f482c9 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x69f408e0 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6b5277b6 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6babd95b v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6cd638da v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7479a815 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x777f75d0 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x79d237e9 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7d53d615 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x818e67e5 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x89780d42 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x96cccb36 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9715c06e v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9bc9d016 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa42a3144 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa578fe1d v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa9ec3e10 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xab4ff736 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb4f46da5 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb6681bcf v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbd58ee4b v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbdc13ae0 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc3c39651 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc49c3b63 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc7ba68b3 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd05efe03 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdb231f91 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdf5c392e v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe1b5e50f v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe47a198e v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8770199 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xeac83413 v4l2_async_notifier_add_i2c_subdev +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 0xff76573f __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x27ed2092 pl353_smc_set_ecc_mode +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x2eec2ab2 pl353_smc_ecc_is_busy +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x31112d75 pl353_smc_get_nand_int_status_raw +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x80ef3725 pl353_smc_set_ecc_pg_size +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0x84eeb67e pl353_smc_set_buswidth +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xc00d163f pl353_smc_set_cycles +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xc37aa3c1 pl353_smc_clr_nand_int +EXPORT_SYMBOL_GPL drivers/memory/pl353-smc 0xe2603369 pl353_smc_get_ecc_val +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x93876427 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xe559e434 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xe60df73f pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x3116c88f da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x39b8ad8d da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x81dbbb56 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa306c2c1 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xdb0fffa5 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xe0441586 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xed3f8fa5 da9150_reg_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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x25072a13 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x39db4236 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x51688412 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x75911021 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x8f769860 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x958984c2 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xe3e60f49 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf7fad28a kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x75da7157 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb3f92146 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd1676d5b lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0849e699 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x25b55b57 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x29fd590a lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x489e9e42 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4e812f23 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x882f72b4 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xefa3d6af lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x480d9c1c lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x67972c32 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xe00594dd lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0b659cfc cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0b6840bc cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x11771281 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x12c814de cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x16436bc9 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x164eb789 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x21c27034 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x21cfac74 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x271b5e13 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x39170784 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x391adbc4 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x485081f0 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x485d5db0 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4abc73db cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x557676c5 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x557baa85 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62f76d38 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62fab178 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7a221a88 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7a2fc6c8 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x82932b3c cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x829ef77c cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9121de15 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xaf5c1e9c cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc1a63630 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc1abea70 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcc1c653e madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd3fb82b9 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x547853c6 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8702bc57 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x87f20a5e mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xc748417e mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd547b416 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xf456dbb8 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0a8c4f42 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x20f0ec4f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3de8b0c9 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x53c2fe4a pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x61016bb6 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6a036d3f pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x79700d14 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x889ce47e pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9bdb349b pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb195b833 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd3b7a29c pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xce256745 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xf23febd4 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00b92318 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2548375b pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6d0e12f1 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc77c8a0e pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfef31716 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x3d56c64c devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xeecaf484 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 0x02816028 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x109e3abb si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1bc600d4 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1e62ffd3 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x25d0f2b8 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2c5077ac si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2e3148e7 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x46734d14 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x48ac672a si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x50738691 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x55a4a8d7 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5a3c92da si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5bd5bea9 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5ff1d419 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x616a0ba2 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x62f5324c si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x64e843bf devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x723d438f si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x798d9aab si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x84dd03a0 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x868d263e si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8b059ebc si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9660e48a si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9d2bc3e3 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa6315b2d si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc0bbb6ca si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc33a8e6c si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc694b6ce si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc82a60e4 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd8f766c2 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe2ea5e5f si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xef233768 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf27b33f8 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf9e4a3f8 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x9ddc3f9f ssbi_write +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0xaf93ac8d ssbi_read +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x456d9596 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x508058f1 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x01ec13dc am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x865c9d4f am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x86f6e672 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xe2d12789 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x0b74fbe4 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x1059441f tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xf8d7b29a tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xa67b2c31 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x3c5d7a08 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4088e7f5 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x85a1073d alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xb23dc55c alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xd3e53ebe alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xd8c46632 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xe383a984 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x049e9452 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x08161681 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x17f49f16 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x20629d59 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x21a0f346 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x23d312d8 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x246c8436 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x311ecc80 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3d6ccb02 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5992fffd rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x695aa20e rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x82bc1ad1 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x82bf3cba rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8615f347 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x86c20d41 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa8010d31 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xad464aec rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcd81115b rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe0b76e97 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe6b87d86 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe7ba5e94 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf5917163 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf6adc135 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xffd1c4aa rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x0399f79a rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x43e81f7d rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x4c6bbcca rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x79de160a rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7a692be4 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7a6a6985 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8ef0aa1a rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa3979518 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa408f152 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa43220d3 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xac957392 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xb8aa4665 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf83cb8e6 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x42cb4ad5 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4999dd99 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7f5a5dea cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xa28730c2 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 0x024e49cc enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x131c3313 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x19ee8c2b enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x45f17dd1 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x63436ce2 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x77a9ca88 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x810d2f20 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa60d27da enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3761c440 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5c8ac9ce lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x81872458 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8469d170 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa03cb260 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xb86f7d38 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xeb5277a1 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfa979bfc lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x091fbd7e st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xa31892ca st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x0c878a6c uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xa7eb2616 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xca30752e uacce_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x5d37b6a9 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x6cea3beb dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xa51dbacf dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x47a81161 renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x74b38806 renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x245c12dd 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 0x490049bf tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x5b106682 tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x6b352cfa tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7769eaea tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xac6244f7 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xb2c30d65 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xc84268d5 tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xfab190a9 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/most/most_core 0x127b47aa channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1d6836df most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1da48f21 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2670ba34 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2b562cd8 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3fa67e55 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x6dbe2a09 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x76bf5830 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8a0f206f most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa0440313 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb2830167 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbbf7a5ec most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc5b3da89 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf1186d0e most_stop_channel +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x3bdae2ba cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xc6c4c72c cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xf9ede2c4 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x2aa99a5e cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xa7021e08 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xd95055d8 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x4897335f cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x4d231949 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x6a3f7d88 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa9af934c cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x2a60e49e hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x354e28da hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x0d00095e onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x4e850c0a onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x0a8a1acb brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x3ecd32ee brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x4f34ba93 brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x5572f7d5 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x4ee5728f sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x7c54b144 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xa6b70a09 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0d5ea853 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1274eed8 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x30c732a0 ubi_leb_write +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 0x531098c8 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x546e27a7 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6317920c ubi_leb_map +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 0x8f078d66 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3352c82 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbc68e1ba ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcbe25a8f ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe8e56fcd ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xee924fe4 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf20ff275 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf87d6753 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1ee3ad44 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2ab2b386 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x407b6a5d mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x6410b5f8 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x658645ff mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7a3ef9b5 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x85b334d9 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x863f2744 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x9199692a devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x9700581e mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xd61d3736 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xeeefc041 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xff3cb251 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x099a718a arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x290ce8a6 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/bareudp 0xd73095c3 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7198ead0 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x82b68b3e alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x900c6311 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc0e7a829 c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc1162e17 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe98d0cc8 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x73c9bca1 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7e716761 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb0446037 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xcbfd3877 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0f263dae can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1110681d can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x22652c7f can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2462c6b7 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3f5969bb alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x50d9ab7b can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x52055d3e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5e6a39ff alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x75375603 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7c093348 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7f1fe4c6 of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8a69df4b can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8de16ddc can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8ec9d85a can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x99029d49 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9bd992d1 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9e2b9415 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb283d88e alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb72d5219 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc542c7c1 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd429b723 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe81ff9bf alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe9e1ec6a register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xea7f0539 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf331d08a free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf84f2d77 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x0599d84c m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x090b6eb7 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2313b672 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2e4ad510 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x55dc07fd m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa2e75d9b m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xb78583a0 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xc2724ae9 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0bae3c94 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x3619a100 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xecbb81e2 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xece270aa register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x21951c1b lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x17315b86 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1820f7ee ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1c84f4ee ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1cf0893e ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4e116b72 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x599afd7b ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5fb20802 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x67e37c39 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6df26922 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8115680e ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x862b6c6d ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8847f169 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8e31cc7e ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc5df417a ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe2a0f946 ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf39f712b ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfaac8961 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x001d8547 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x10ce6f33 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x2acd3b7f rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x2b8e1a87 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x4918a50d rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6f29b7df rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x70511743 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7382240b realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x88a01aba rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xaf15c110 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb6a7918a rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb6b54ecc rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc46f5de0 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe50f4cd7 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe54fb3ef rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xfddc4a49 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x9d8b7d93 arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0xf82915b4 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xa011c46d enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xa6660f3c enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xeedbede8 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xf68ac32d enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00bf7858 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x07c70a07 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x098e9551 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ae39b30 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c4cb3cb mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c84f774 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ea6f2c7 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ed6b9d1 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11caeda6 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12e158f3 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x132717b2 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13cffa85 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15754c1a mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x183a0701 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18b4dbd1 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1932a9b2 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1acc2bfb mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ba1e2a7 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x205cf08c mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x20d6f6c1 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x222a3974 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24fa3e09 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x250e1f98 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25139b6e mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27535655 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2927e003 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a33bd99 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2dceca12 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e52f7e0 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x309a893d mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33e5728f mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3567c4b6 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35ee87af mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x369a146f mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3851e63c mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38eea03d mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x395b0b50 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39f43024 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e624ee8 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40cb9ae9 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40d69f34 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41a723ec mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41ba8476 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43210b50 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4449d87e mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4516ee05 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4646acb6 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a8620e9 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50b8b374 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x528e81c8 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52ab3e1c mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x587e8dbd mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5abb5545 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b69d926 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf60e3b mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5df502d4 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e736355 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x604f5d6a __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6050b635 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x605eb484 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6261b042 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x657528f1 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65af2268 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c11bf6d mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f894893 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73756857 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73cd9761 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x762510f1 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78649d1a mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7894602f mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a010e17 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c61b0f4 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c6b1aaa mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80d43221 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x834713dc mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x887160c9 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c041d53 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c69ec2d mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90a518b5 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94cf26fb mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95e02c07 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96b7db19 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96e90db8 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9801a3cf mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ab00cee mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d66d889 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e66845e mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fdee21f mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0e77127 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa4c596b1 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa753bca2 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8709f5e mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaac40314 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xabf8080c mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae13429f mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf3f4296 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb014453c mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb378ea87 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb43fa4a8 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc8ffc92 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd80d135 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2dbed9e mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd3f5b8d mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4d2aad2 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd597c5e3 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd83a372e mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8503b4b mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd64cf2f mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde138167 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4e18947 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5301dbc mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe78fcd66 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8ecdc80 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec99ea56 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef372dc0 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef45fa75 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf31babc0 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf61f155b mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9ff5871 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfcc13799 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe90a70f mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x023e0a86 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x034f4070 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03593d12 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0624706a mlx5_query_port_oper_mtu +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 0x0b83de47 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1006ccfd mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c7a3b9d mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x207c33ce mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x21434688 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x218a7dd9 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22d1b82f mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25fb646a mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2cfea07c mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49fef7a0 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f7c5a99 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b63412f mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cd0ba2a mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5de4542f mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e168767 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x623bc46a mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6283c55a mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64f8ff1a mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x685631d3 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69093096 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70f57cae mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70ff72c4 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77e911d5 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x783354b4 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ad9814f mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d2f72c0 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f844df2 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81510ecf mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82bd3374 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8749d421 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8bcd0eac mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cce0ef8 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e3a4363 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8ebd3164 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f5a2476 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f5e86bd mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8fbc23d3 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91a4b386 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92f954e9 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x94294a5d mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x94867c58 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97a2c0d6 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa5222c4b mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9876c24 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa561721 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0e5bd06 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0f08a31 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc782c5a mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc39f8783 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc50010b1 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc8a79046 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd260bbe5 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd9e4dc12 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda17c5ae mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda99a80c mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbdfc808 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc9f0912 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe25a9082 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe45424e9 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf58c1a04 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf591a074 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6a02a28 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9680887 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9a31f73 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa741aba mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb21216b mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfdb81a1a mlx5_query_port_prio_tc +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 0xe2af8a59 devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x00e9843f ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6fb77455 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x79e8c304 ocelot_cls_flower_stats +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 0x246acaad stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7e250b9e stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x84246576 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xa0828189 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x542c8c85 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x602e10da stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x6c182c47 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x806d1b5d stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xc7a561c1 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x02b6d4b5 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xa856b1d4 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xb05c5db9 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xd9bd78d0 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0x7a420cf3 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x20ed43f8 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x9c584c3a ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xb0930366 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe65fa621 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xf2b1c21a ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/macsec 0x3a1f30ce macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2c3a2856 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x55f62d13 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x6f0c8e36 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xef1d9c39 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x18660c4e net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xb36a0a96 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x074cfb32 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0946a828 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0a3360d8 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0fba6aa4 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x14f6aab9 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x19c88dac bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x22db783b bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4df48111 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5123c207 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x52c010a6 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x535f60a7 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x603ecd39 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x63f0371c bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x68211acf bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x69270f28 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6a68a491 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6a7fcfb0 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6bc43761 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7dd536a5 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7e93031b bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x800f2690 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8af3f113 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x949a6ae6 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9deaef72 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa999e9e9 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb9702caa bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc40db907 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcdb84b2a __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd46a59b0 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdc46de4f bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xde4c42da __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf06ad3ff bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfae5d3a1 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0xdcc7e78b mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x3ac3b6c7 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xf07fbe0e mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2a89b70a phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2cb851a6 phylink_add_pcs +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x496d71b3 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +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 0x7c6d1841 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 0x86ff345f phylink_ethtool_ksettings_set +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 0x9ca1fb87 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xa2f08272 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xbb8b0698 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0xe73cb4fb phylink_mii_c22_pcs_set_advertisement +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 0x30ccf6db tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x36a3db96 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x3daca589 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x6eda1ac9 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x7730547c tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x773e4ce0 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x865c587c tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xa3536caa tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xf3741d27 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x25b0cb37 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x36c245cd usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6d7093f6 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe7ebc43f usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf60e47be usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x4c4a1e08 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x51a8036b cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x56bfbabd cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x5e0cde0b cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7a2ba888 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x886a0133 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9d0ac82b cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xa912f745 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe8166f73 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xee0b649e cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xfbc7b686 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1b0af032 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5460f43d generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x60abad38 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x8be4fd4f rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd4eccda7 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeaf74153 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1071d31b usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x11739c7d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x20ecc690 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x22c96ec3 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x23ed5f54 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x348cf877 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x48320d08 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4a8192b4 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4e43238e usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x522525cc usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x58790de2 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5b154763 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5be1c294 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5d8b696e usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x63fa0a9c usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x710f36e3 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7c3f1dda usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88910994 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88a07bbf usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9088c74b usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x98ba2303 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x991369e6 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa2c24a0b usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa9c1ca14 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc224d0e1 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd7b6743b usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe57f4919 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe73f6caf usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe914c8ad usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeff77009 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf03dd7f4 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf639aee5 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa6fe947 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x19f3ba25 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x3bab095b vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x5f5f6cd4 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xf5ee46bc vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x01739c40 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x26b98c4f i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5a0bfff6 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6560da9a i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x76104d72 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8ae131cc i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x96fe0c51 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9dea96f7 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9fe75da0 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbf85cd67 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc3d8c23f i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xcc5167c2 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd28a118e i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd43d2f07 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf54ed761 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfe941e56 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xf10020f6 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x22bfb465 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x45bb4a9a _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x68c767ed il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x70376dba il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x82e6692f il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0189c36f iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0c8530dd iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x11a61134 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1599c50f iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x175ada9c iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1787e6e2 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1a919dbf iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1c48129a iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x26eaa9ac __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2902862e iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2c0f571f iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4278fc68 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x42f957e5 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x43acf39c iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x452b91b4 iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x468bc222 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4890beb7 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4a19d146 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4de8f86f iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5a39961c __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5b88a78d iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5ef4a44d iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5f55c763 iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x64b5b770 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6a38263e iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7434fb4b iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x76913f11 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x798d5ac2 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x79e62aa1 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x802a84ce iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x872d541c iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8dca779c iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x91629d80 iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9283e38c iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x93160e9e iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x95c2a96e iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x97a3b737 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa0019f6a iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa2c7922e iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa91ee754 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xac6ced0e __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb0f053ca iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb1e39cb3 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb62689af iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbcc601a6 iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbd415566 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbd6dc178 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbddad0ff iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbf060859 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc4935304 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc5c1033e iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc9c8e173 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd86084d1 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xde25b5a5 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdec9e66d iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe5ec7219 __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe7a5a073 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe9f0f548 iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf107b24a iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf1baa9d3 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf4aca2a5 iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf7c79e1b iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x081f99c5 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x39bce99d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4efabac1 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5a22cc6e p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8e750868 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9d270135 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa41be5e8 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xad3d7f7a p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc8aeb83e p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x24863940 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x259ff6f3 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x297efbd7 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x44f4d059 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x56205c61 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x668fb2bb lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8ab0bd29 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8c0f3153 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8e62b217 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x93c484c6 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x999260a4 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb64fbce8 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdb117ff1 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdf7c7b14 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe8e7707e lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf6eb04b4 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x318b1b29 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x490523c4 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x65822c7e lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x69ebb883 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x6f164615 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xacb0841f 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 0xf67e2cca __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xfe9b46d2 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x02bbee66 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0b493ee0 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x12aa1cf7 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x30c9b8e9 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4126e4bb mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x46307277 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5059e6d4 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x593af85a mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5b660819 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6294c6c3 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6e8ab3ff mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6fdfae80 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x89e8c2de mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa140fc79 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaa0ece46 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb3b7ee9f mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb61bf599 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb6924647 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbb506a69 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbcd899e3 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbd3388ad mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc4ab1a05 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdf9f8417 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf95846c2 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0ba954d5 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0c80ac6f mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1036e52e mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13ceba12 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x15fe0b35 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1aa1d4b0 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1b1d8c7e mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1dd1bbc5 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e4c1d0b mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x24dc8e02 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x293b54d8 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x324a8e8f mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3516a8c4 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x35cddc83 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3b5400d3 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x42521d08 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4c60cff1 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4f5e6eb4 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x504340a7 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x52dac460 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5a4f005b mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x60ccaf1c __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x62d089f3 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6560ff73 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6687ab12 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x709e99fc mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x74f4909c mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7afef4a5 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b51fa7d mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x83a1df25 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887367da __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x89a9e47c mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8a89503d mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8bee3ac2 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8cf2deb6 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8f865a19 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x96b6ee72 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa0cb9b47 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa27fec89 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa556faaa __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa90ec43b mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab728337 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xafae85fa mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb3cb0a15 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb53623fe mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xba0244bb mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbab202da mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbfb8743d __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc47aa9f7 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xca8f897a mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd6af8bec mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd800fa05 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdef23c52 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe0db3c38 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 0xe9ea0602 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb70aafd mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb9b2f9c mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xed09e8f7 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf1a45cc8 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf21a8c41 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf58d0d19 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf8e6be81 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x18e5e341 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3e57da0b mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x4e776112 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x501b8c52 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5b005b7b mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6a1e2a74 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x89e726bf mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa42f458a mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xbd1c8dae mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd59fc6a2 mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe4150c95 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0a112f70 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0f85a5b7 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1200d580 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x14d5f644 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1ceab34e mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x27f09230 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x28c6e13d mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x33ddae47 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3ee2ffba mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x421f95bb mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4a3671b3 mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4e0e5587 mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x51266371 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x57463547 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5d400256 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5ef60b7e mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5f230f37 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x66585413 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x77e6b804 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x80c0a7b6 mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8a5743b7 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9e4ba8cf mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa5a671f9 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xaa4e3b48 mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xae48ca4b mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcbb5a4dd mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcc060e65 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd08dabb5 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd322f606 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdc266e36 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdd1f5916 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe08a5508 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe1fdb513 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xef568681 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf0ad94bd mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf7f62831 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xff14158c mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0dc49bc4 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x8a2e4866 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xa7c6d28a mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbf1f0889 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xdde860c0 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xfc059d3f mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x01617e5f mt76x02_phy_set_txpower +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 0x04dc0992 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x068f68d9 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x092fc212 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09362366 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09c41897 mt76x02_get_efuse_data +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 0x1146ddb5 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x151d17cc mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1c09f219 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x20c54754 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x23d904e6 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x27ed694b mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x29f7a814 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f14bf77 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f4dd2eb mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x324ba8c3 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34438b8b mt76x02_init_beacon_config +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 0x36e54e0e mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x46200398 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4b836ad8 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x586a89eb mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6014316b mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x601a6830 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x60e4c3b7 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x695fce4d mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6f18365c mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x70519706 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7284c908 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x72c6637a mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7571d425 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x76c59bfe mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x78ac5222 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bdc6792 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bfd8ea0 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7e1e35f8 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x830e40e9 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x966314e3 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x97ab07df mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9cb413f9 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa910cbf2 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xaa17bb90 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xabb18120 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xac9f1fdd mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xae0d09df mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb39791ad mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb3edea94 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbd1126ca mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc1647c6e mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xca4a7627 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xce4bd5de mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcf0ff29f mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd2531e88 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd4c007d1 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd7a9ae90 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xddb4496f mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xde829a12 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe0d365ee mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xea6554b4 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xebaccb19 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xee8415b4 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xef80cacc mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf643d5ab mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf9306bd3 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfa593262 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfeb557af mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xffacec85 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5e8abeeb mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5f96d52b mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x664457b1 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x73ff6b49 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x8d1ffdfb mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xa17feabb mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc0b5db36 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc9fa1150 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x017aecb1 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1edeaacf mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x29f78269 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2e872198 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5d4c44e3 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x62779d01 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x71975ffa mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x748a6cf5 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x80d885e4 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x815c6038 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9887fe96 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa893de27 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb03dbac8 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xba9d4fde mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd256c540 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe06d2070 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xed2cb6f7 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf075b212 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf712fc29 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x05849888 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x4061ddbb qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x46dd4f97 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x79274056 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x8865af0e qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xec660efe qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xfe8c2098 qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xff72c1b7 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0aa832f5 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0cb6d719 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1f4a5745 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2432bb31 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2bed0b5a rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3045f52f rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x30a89f5e rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x31389bbd rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3ac88081 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3dd79815 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3e1d2591 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x40ecd39a rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4644ecfa rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4a4b4308 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x587058df rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5b0e972d rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x604d6274 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x66296a25 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6984d8c0 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6b97dd6f rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x76619812 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x79556dcf rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7ac0a519 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x85324f42 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8624b9fa rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8b3c3f9a rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa2a72a86 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa32a60ae rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xab15d238 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xae1769bb rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba09621b rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbb8d1077 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbd35307c rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc01f9dcc rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc049f7bc rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc46b66bd rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc4b55f62 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xca875b35 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd50528c1 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe7cb592b rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xed7b9ba5 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf0aeda16 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf24649ae rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xff79530b rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0bf6166f rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1c57cfa8 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1c5d3ada rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1e8508ea rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3e20c58f rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x697c742f rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6dd3c68c rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7608ccc3 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8ec43f1a rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9035b38b rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f2fd3d0 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa47c0e9a rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc4090ced rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc9e030c1 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd3164f6e rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe80aa961 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x02ea5f85 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x068a3637 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0bf610e9 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x13e99703 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x203ecc85 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x22230ede rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2801e26b rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2c33b49f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x30e6a5c0 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x31819014 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x329999be rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x43c36324 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x47cd6796 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4aa992ca rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4df30ce1 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x50c03182 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x54483fac rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x54a0aa4d rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x61fe4656 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x62d90577 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x668d9f64 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x69222528 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7a48c293 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x902b3f66 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x97785e4b rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9c668068 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9e597403 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9f3f791b rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa3bb4d0f rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa7722f64 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xab47e980 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xac406bcc rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xacae35b4 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbbf64b26 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc8054d8f rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc85053a1 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd05464cb rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd086d538 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2e215e7 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd63e13bd rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd6bb9d50 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd8315214 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe29a415e rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf66bcbbc rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfccd01e2 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfe409764 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xff539cd1 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x442041c3 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7d04bf1d rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xa12d2f7c rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xb2513b7b rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xdfff81b6 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x0d49fd6f rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x87ba39ac rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xecc7a180 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xf5fcc712 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x068d7dc5 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0f55166f rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x16d88653 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x23e53321 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3b53f6ed rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x48d66be5 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x57e4f446 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5da12dab rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x66579ea1 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6669d890 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7ee3bb1f rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb285fc79 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb5405403 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc9232558 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdc74ce7c rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xfb491fa2 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x206d5192 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x699dc472 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9fa3e1e4 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf3c301c1 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x031411b0 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x17a561c6 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1bce312a rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1d6a2603 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1fc9b53f rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x250ecabf rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3780a51b rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3960d083 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3e476ee1 rtl8723_write_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 0x3f8031ba rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x458793cb rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4c819049 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5708ac19 rtl8723_dm_init_dynamic_txpower +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 0x90249997 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x915b30e6 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x97393944 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa201f97c rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa3680091 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa4327ee0 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc10d2c83 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdb76f6ae rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe478ac17 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xeadef096 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xec09692e rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf42c244b rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x27fb7a2f rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x310836b6 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3215f03c rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x32ce44fa rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x34baff46 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x37b993b4 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3d2f1ad8 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3e7b885c rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x40fdddbb rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x417e0d40 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4bd70de2 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5d3ab4a2 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x652c3478 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x657f47e0 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6a08736c rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6e13d968 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x72fde628 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x74bb0291 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7756a1bf rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7ad6a02e rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x95d9bc8b 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 0xa915c139 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb112bbb5 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcafcac8f read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xda693b23 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf3a4ded8 rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8ff6add rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x192ed7e7 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2a85373e rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7b6a6c8d rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc6c720e1 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 0xcd7dc025 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x22b271d5 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x40dd9f7a cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x6b715b74 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xd641dcae cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xbfe097f3 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xf0893458 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xf62e9a04 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0123408f wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x031bf2df wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x04a3b693 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0b23457b wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0dd60e28 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x11478029 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13f240cc wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x154693fc wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x176e9422 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x19177832 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x19753661 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1e528386 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x26135130 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x27bde8ac wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x322b27d2 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x32709225 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x38cd64d3 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3d7ff1f7 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x42d621eb wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x46224f86 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x46a2fe9d wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x46ee0687 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x475ed7fd wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x47797c4e wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4b6eafd9 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5c32ced1 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5dddcbed wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x67e91054 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6aef4685 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x71dab062 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x724b6067 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7f50c546 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fa47632 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8ad9af88 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x99054aa8 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9c2bc1fb wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa1d2aeff wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa3a70f20 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb608a55f wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc1db71fa wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcbcc89c2 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdfaa8ecd wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe24786bf wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe91a40d1 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x3359ba0d nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x3af596c4 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xa44dc902 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xa5c3ba4d nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x41dc9465 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x46cbeb4b pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x5005c1b9 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7152a4a2 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa9f6e50b pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xbf452ce3 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xd5328d9e pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x215cc343 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x379e5b44 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8fa75299 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xa70ad740 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xb709e3c5 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe4f833a6 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf8751501 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf9990e0b st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x576886c3 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x919b2a34 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x9c0a31e0 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 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 0x4f9abf27 ntb_transport_create_queue +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 0xcda737cb ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf429b2f1 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 0x354bb6cf async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xe6ee9ee1 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0a41e3e6 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x103d7003 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1139fa78 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x119dd5cb nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x13ebcd62 nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19876274 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19d4431c nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1a665666 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1f04029a nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x22dca22c nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x26b6041a nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x27cbdc98 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4262360f __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49b37ce8 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54e645e5 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5c05d93f nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5f0adb5a nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7189c216 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x74b64f02 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x86601d0c nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a005cc6 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8ab19397 nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9ad3c769 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa2d70f3d nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xad66049b nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xad94a150 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xae0d1bf7 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xae478eb6 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb8149a96 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc37093c7 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc4369c8a nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc9347d53 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcaaf151c nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd37a83a8 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd5472188 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd6b20255 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdb66eb1d nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe32c291f nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf1160950 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfc9774ef nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x37e5e71a nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x418d43b6 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x495e3d97 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x4f573a15 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x55289bea nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6dc7075c nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x999b6ecf nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa1764636 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa9720db1 __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa9d74d1a nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc518574e nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd4eb1a09 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe715a086 nvmf_fail_nonready_command +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 0x86c81214 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 0x179f7e39 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3b9c955a nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4cb0b79e nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x582b2566 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x6b54ba7c nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x6e88cd6a nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x86352fd6 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9d459d1b nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc618d43f nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf32427a1 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xfa1effce 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 0x9a02dc81 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xc8d4237d switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x000327c4 ufs_qcom_phy_init_clks +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x17e953fc get_ufs_qcom_phy +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x1a7178ea ufs_qcom_phy_set_tx_lane_enable +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x20ff0cf1 ufs_qcom_phy_calibrate +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x761d1b10 ufs_qcom_phy_save_controller_version +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0x7e7f44d2 ufs_qcom_phy_power_off +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xb596f7c2 ufs_qcom_phy_init_vregulators +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xbc5c5654 ufs_qcom_phy_power_on +EXPORT_SYMBOL_GPL drivers/phy/qualcomm/phy-qcom-ufs 0xbf64982e ufs_qcom_phy_generic_probe +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x040ad3a1 omap_control_pcie_pcs +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0xb8ddf75e omap_control_usb_set_mode +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0xf62b06be omap_control_phy_power +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x015b651a mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x984e4f24 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xa835ebcb mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x050f9e89 cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0xe1558127 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/power/reset/reboot-mode 0x5f2bff3d devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x78b6f308 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xd77afa24 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xf6e03241 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x02a95de3 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x1e1110d2 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x8cbdc7da bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x0231aaf9 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x362e44fe pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xa475ea56 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x174c1f9e ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x44b553a4 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7e3a12a6 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7e9b0e90 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa5525acb ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xcd9a0b5c ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xe5eeca60 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xf7b6c78c ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x0bf682f5 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x6bed74e2 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x987e030a mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xc5daad71 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xed78cfae mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x01e54d57 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x282fcff4 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3f8c6fdc wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x677b5d2e wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xace6c989 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf18e12fc wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x5d7a0cf3 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x1e66e475 scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x44b5d700 scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x54c074b5 scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x6d45c19e scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x6fdd6edb scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xe4361894 scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xf487ac54 scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x4411a942 scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x5c00c005 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xa00983c5 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xa0c28cd3 scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xefe17db8 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x200e985f qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x31bfd40e qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x580a7276 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x75c301d9 qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x86a84622 qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x9fc12789 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xadc8db23 qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xae45b99b qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xcd7047aa qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x0d296c1a qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x18ee6b3c qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x4392939d qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x59e660a4 qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7125cc22 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xbe9d20d5 qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0x17015fe6 qcom_add_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_ipa_notify 0xc1756747 qcom_remove_ipa_notify_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0xbb8810d5 qcom_register_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5_mss 0xe394052b qcom_deregister_ipa_notify +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x744a0dde qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x4c2d4c9d 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 0x7a6b2d4f 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 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0xda74f1dc qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x06501743 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x084c592f cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x08b2c985 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0e28f82a cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f9b1d2a cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0fc8df09 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1ad5bb1c cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1b304779 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1d8afe61 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f254f49 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x334e8773 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3d87fbb4 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4194faf9 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x42273649 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x54bdba43 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5bb48cf3 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5c95d986 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a115dd4 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ff65c39 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x70ccfa19 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7496e33c cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x754e1d1f cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7f0ec98b cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x845292b1 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x85bd8328 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8a17c92a cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x92d4d1b6 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x98e60d51 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x98ed8dab cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa15a6130 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa1c15872 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa3aa759a cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa534cedf cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc33b0cc3 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4fda285 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6bb329d cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc7906b99 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdd13543a cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdf90a4a4 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe4061b02 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe81c5712 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf1f5dc9c cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf6ad592a cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfb041ed2 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1806cefe fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2dc70593 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x3b8407fe fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x46676196 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x50e7561f fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x534d797c fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5ab3fe84 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5eb4a354 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x88484350 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8ebed6bf fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa9d77e16 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd7b67f17 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xde6e0481 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf802d062 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfb5f04ef fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xffeb24b3 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x2b84a571 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x7c2ced63 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x0d29ce2c iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x25d46100 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2a307f13 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2c57cbfc iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x872ea125 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xaeccb26f iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb2b54bff iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0xf15aa126 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0500a120 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x091763e8 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09cbfddb iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0abe1de9 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0f57a0ab iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x17cb7a00 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1fe16ff9 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x23d27110 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x288da705 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2908de2e iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b131a85 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ba4996c __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2bc0f108 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3312239e iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x37051297 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x398b0592 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3ce0f68c iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41232a93 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4271ef3c iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48350746 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x594ba19f iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x62a6eccd iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x67391625 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x696bed99 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x719f891c iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7ac9f542 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7faded17 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8568f176 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88a5990a iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x899598f1 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x95736ac0 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x97963c1b iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9ac9409d iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4226daf iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xad5b4559 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb25e46dd iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5672700 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb8d7f0aa iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc786b150 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xea825b85 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf08180d4 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf653cb9e __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2b2917df iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4497c2de iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4e83861a iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5ec9d96e iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x82899cdc iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83c4b96a iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8de423b5 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9c1df7c4 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa229db05 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb82ab241 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc37d06c5 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc4653075 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca5b398e iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcbde9c52 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd8c663a6 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe0ae3d3d iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4d2b127 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x099c19fd sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1d8bf79b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2139a356 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x26324f77 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x36bd3a83 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x43d8bcdd sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x51e579c5 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5dd7dafb sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6742b795 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6dc50095 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x71d3bc44 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x872f63f4 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x93cecbce sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x93e84769 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f166a5e sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaa2378aa sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaac2a547 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xae30bdbb sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8cab828 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc4c16924 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcee2a27e sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe6287ad0 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf56ac61f sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfedc6c98 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0301a150 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x055f3ec0 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x05d5aa56 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0f3806d7 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x157d253a iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x191ccaad __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1d1601a8 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24c0fa07 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x31496e5f iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35d2728e iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e83dd83 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4011fbfe iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x479f8e94 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4b024484 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4fabb9ef iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5371f6be iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x57ff0362 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d9d2b2c __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x62a1ef82 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6520fec2 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6c5f6776 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6eb237c6 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x74761dd1 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7cd7d6be __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7e77871a iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f8c8b03 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ff686b9 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85912d9a iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85a2bcc2 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8cb9459d iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x95446c3f iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa655c790 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8ebac9b iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb344e45c iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb78209d5 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc117121 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbce1dd2f iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc6a2923 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce7c945c iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd229aea2 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdc5c9778 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdd62a447 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe663088d iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xff947a4d iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x13f52b27 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6ac1056c sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd46a26a1 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe92d51b2 sas_enable_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 0xdff51613 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2f912486 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x740a0fc7 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x8f3aa5bf srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa6f3c405 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xaca73239 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xec945459 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x17bbc433 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x23f6a33f ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x34a20200 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x3951a845 ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x699efc8c ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6c4aadf6 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6f2ca1fa ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9688dfbd ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa86e2131 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd043b6df ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd29e75a0 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd4a5db25 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe1e70e83 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe3b28ad3 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xfff4baa8 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x108dd234 ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x11eb3042 ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x1f32d5a0 ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x87d15eed ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x9fbe6149 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xa4313c0a ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xb5bb960e ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0a525a6b siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x52d18a87 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fcf8aa3 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x92fc8d64 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xa0a432fc siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xc7e79be1 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x00a5f744 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x030a7868 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0ea06117 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1ff96323 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x21ea05b4 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2c63ece3 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2d52e3be slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x364c4520 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6099a915 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x63d453c7 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x737f1aa4 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7770523f slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7cbc0aa9 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x94539158 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa08f1e67 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xab61296e slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xacd20c48 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbc79cffc slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc1141123 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc49ffdd9 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc84c11e7 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcd7bd6b9 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe90e1f52 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xec308408 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf25a7867 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfcf16511 slim_get_logical_addr +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 0x90ff13dc meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0xfbd79150 meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x2dba35b9 aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x9b77e7df __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xaac4a141 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xfe7701e9 apr_send_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 0xdffee709 llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x42f47788 qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x44a6555d 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 0x7bd42149 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x0f02376b __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x475497c3 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x545fe4d8 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x24147837 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x2bd0e9f9 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x4792ba24 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6124ac7c spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc492c896 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xfbaf2fff spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x16a9dc05 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x662ffa64 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x710d29f4 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x904ed8de dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbd44900c dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc6880dd8 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xcae45a4f dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xcc0af33f dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xdae3f715 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x4b7cdd3d spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x89c23fa4 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x95c8cc7e spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x234c6ded spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2a4deec7 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3ecb68a7 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x56a7f51e spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6f57e3b0 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x731cceac spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x75dc9dcf spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x86b0422f spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x905bcd60 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x99df39d8 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa86aea8d spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xad13264c spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xafa086d1 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xbd2248b4 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd5dc37d9 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd5e16188 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe3309a18 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe7104de0 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xa5f4d6a7 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x04406f02 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x132531aa comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x13b86add comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x172bd1f5 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1b91072d comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2749f631 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x35db355d comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4017234b comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x457f9753 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x487f06e9 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4b8d890e comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4de97621 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5a53bd8f comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x63f93ea9 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x69d0d364 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6bc53af5 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x71271535 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x746f76b5 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x76984d98 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x83374437 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x848a3308 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x91756935 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9de20462 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xab690b84 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xac8bcaeb comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb514807c comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb551582e comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xca2351bf comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xca3adf26 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcb0bb88c comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd342d86f comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe8c070a6 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf0f2cfc5 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf1686da7 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf1c97064 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf3609e87 comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x283be587 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x8093029b comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x821a5389 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xa2bdc185 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xa50e85b9 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xb7767567 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xc1cba278 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xda023ac1 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x24a4fcf3 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x73b02a13 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xba649e3f comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xc779f44a comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xdf920603 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xf5247929 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x985c10d5 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x05325f64 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x5127e443 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0xdd1c001b amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x26d53b2b comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x38437a82 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x3eb5bcf2 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x3fb6eb7a comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x62a79d66 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x70f31b89 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x896aadb4 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xaaf1d3c7 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xbedfa053 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc378b567 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xcd2b4d42 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd575c043 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd71d2228 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x1bed0b11 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x831566fa subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xc0ab206b subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x6a2bf8a9 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x171e4f61 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x206d536b mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x3eca2f57 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x439460cd mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x64573cda mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x6b92eda8 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x71a5d5c7 mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7c731e45 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x8d7c0fea mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x95f248c0 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x9fcc7dd6 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc6d14604 mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc8471bf9 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xdda8b1de mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xe87017c2 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xea9b2440 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x0a7b3308 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xcdf811c3 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x05a0ed3b ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x18c2a766 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3f005e0f ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3f322e46 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3f49d07e ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x574df7ce ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x69b155a2 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6fc63266 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x773ea551 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7a52ce02 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x7f0fa1cd ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x871f8112 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xa74557c1 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd3908adc ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xe26d5f2c ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf5983da3 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x005c1339 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x46597b94 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x5bfc7010 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x83bf9e12 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa24f8ca4 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf6c37859 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x039e8451 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6328067d comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6bbea8a6 comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x7235f0ba comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x81143d9f comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x8f858052 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xd12433e7 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x18ec49d7 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x31051f59 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x324632eb anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x35eed496 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5bb82b92 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5e84adcd anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x66a65729 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x846b6f85 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x93bbba7b anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xbfda8399 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xdc48e7aa anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xe261fff7 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xed39a863 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x64f74388 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x675a4f13 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7f8a9eba fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xe0f8a560 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x09744eae gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x3fc0a1e4 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x76ef3502 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x9848f967 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xaf4c86c5 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb0a9dab0 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb3ffbdd0 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb9894ae1 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc612314d gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd47c98ac gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xdbf1983f gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe7d382cb gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xeaede3bb gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1f7f8b59 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2096d942 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x241f3847 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x73a99ce0 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7b8320e0 gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x86ea3696 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xaa7bba0a gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb53c8d0c gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbd8a8588 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbefd6a57 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd2b82698 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd856c561 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe333ff1d 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 0x7475baf1 gb_audio_manager_get_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 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xe25476aa gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x5c5911f3 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x8367b6fa gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x9b73c837 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xb7196d50 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x1ef307ed adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x00773008 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x079c3357 amvdec_write_dos +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 0x2c79050c amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4aecb922 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5618057f amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5b705856 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 0x664618c7 codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6b5269da amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x956821bb amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa1837b92 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa28c618b amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xaa933873 amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xafe32d8a amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xb1d91608 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc37edcf2 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc3e11ec0 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe106c2ab codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe264d9ae amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf7427334 amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf91d2b70 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xfc918774 amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x03178373 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x127407ba spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2e7e21d7 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x452e8d71 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x538731ac spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x64d30fc9 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6d1ba621 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x731670ef spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7ebd4da6 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8181ceec speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x87d4d916 synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8a0646da spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa9bb3885 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb8711d3e spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbd46ccb1 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe6f3fab1 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf4c3f02d spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf5842c6a spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf65b3a44 spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x1ad4a925 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x35da7239 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x54b7caae wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x5cce3b0a host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x9a544a96 chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xc095c405 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xd96fd1ca host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/tee/tee 0x00bc0302 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x02f4739d tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0b4083b5 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x161bf1a1 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4d015bc1 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5649c794 tee_shm_pool_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5a745ae5 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5b3feea5 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5d42cba5 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x647c2d16 tee_shm_va2pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7a15523c tee_shm_pa2va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x81deb601 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8396555e tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8807b657 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x91e4d327 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x954aec01 tee_shm_pool_mgr_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0xa9223c61 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc0029811 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc72f4c6c tee_shm_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe0e3dd56 tee_shm_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe2898b13 tee_shm_pool_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe9db6d62 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xec411aa3 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf9f92e91 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0769cae5 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0d944028 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x21a31526 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x289eea7f tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2b4bcb12 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x301c2c0e tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36521060 tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x390c2956 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5769ebd8 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5fcd9907 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x650fd2a5 tb_ring_alloc_tx +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 0x80767a93 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x86166e8c tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8913b051 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x98cb9ee7 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9d802883 tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa0cfaadb tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb1d1dd58 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb93601ed tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc64da6ae tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc8d22760 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xe2697cd4 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xecfe139e tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x331f5998 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x99863e80 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd6452e8c __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd667d56b uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x08a841e2 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xd833d41f usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x057a37e7 ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x89a73990 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xd0f09eb8 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x2fb89da8 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x48c100b6 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x96ac2e84 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xb2245a01 imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xb9d0be31 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xc616611e imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x42591893 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x5396ac0c ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x8697e3a7 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x8bc3a295 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xbf74a299 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xcd786e9b ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1317f1c9 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x24f50de3 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8d861eac u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x913612dc u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xac7016e4 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xeb40093e g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3832e835 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3ce961c9 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x511c6d1c gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x589c194b gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x62e35ed3 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7ac4d6fb gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7d3acfe7 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 0x8c8424fd gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8fc6d4b1 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xee71fbac gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf2bab75b gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf2c7e449 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf68d2fc9 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xfcf02f39 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xfdabe881 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x29c4ef1f gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bbb27b gserial_disconnect +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 0x72f55df6 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x77dbf841 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xa18ee0bd gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xd67d433d 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 0x3df5db03 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x7f4aeedf ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xc92fda77 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x02de7090 fsg_show_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 0x216fea2f fsg_store_inquiry_string +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 0x31bea6b5 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x36d27987 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x375e590f fsg_lun_open +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 0x3d658283 fsg_common_set_cdev +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 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x66025eef fsg_lun_close +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 0x6b3853ad 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 0x8031fb5e fsg_store_removable +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 0x95e9f437 fsg_show_inquiry_string +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 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xaceeb00b fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb344de17 fsg_store_file +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 0xbde5f3db fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc332d481 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xca2bc05b fsg_store_nofua +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 0xde67a51a fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe1ed94a8 fsg_show_ro +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 0x132f481f rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1344e0c1 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x26d32ba4 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2c7bda7c rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x46829770 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5d9ade43 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x61e8ee05 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8328d38f rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8d87c69f rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x960547b6 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb0e5b050 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd07a5883 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe6b7664c rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe9d50688 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf5e45ba5 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x07dd3b27 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0a00ebf7 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 0x17a2c7ea usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2beb7c0a usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2f985146 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x360a1e38 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3a81fd7a usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3b34cd1a usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x44e5d1e4 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x679e972a usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7883e9a3 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7e86f549 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x828f42c3 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x82c707b1 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x87ef1fa1 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8dbecdb7 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8e162c40 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x951f7072 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x982cb36d alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9f51b233 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa1919fde usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa69fd321 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaac8d814 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaae18cfc usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaec2b756 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbabae077 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbd4241cc usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcd19eda4 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd734be98 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe826afcf usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xed4965f1 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf139d66e usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x1b1c58fc udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x39aa01ce free_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 0x64554da0 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x6d871a6b empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7077ebc8 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x726c86c8 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xc0c13717 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xc994ea5f udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xdf748837 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x77915b3d renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xec75655c renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x3e7b1b46 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x42047aa9 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1696bfd8 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x59572d10 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5f79c536 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7f129ece usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8470bb72 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9750ab83 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xab8eb121 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xde608010 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfb9ec448 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-am335x-control 0xad380e20 am335x_get_phy_control +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x31657d25 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0xb237138f usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a703711 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2b74a63a usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2c6ca37e usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2eb4b803 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x33510484 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x389aaff7 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3e9f427c usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x439807b1 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6b4db7bf usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7312ef05 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x755dc00b usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x76f2a6df usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x777605f7 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x77e0c0b1 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7da50851 usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9b48e581 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa0abce93 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc3525f6a usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcd90915a usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdb56d647 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe537ecce usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x44d5790a dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x9ca2a6cf dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xa71a41bd tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x237fb95d 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x133e30a9 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x17bff6e0 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b0c68de typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2126a062 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x236f894f typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x29986301 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x35f44c16 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3e7d6cbd typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x41f89149 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5473545f typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x58b14655 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x62292424 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x62566485 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7af7bf96 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x970bd975 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa36740f1 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa39577a8 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa76e9413 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa7dbf5b4 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb35a3d0f typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbbfac392 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbdc1d7e6 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc4e3e669 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc4ea383a typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc9ed9508 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcec87af6 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd14e2b9a typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdac6e471 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe86f52cf typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xecbc3b9c fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xef8a2e87 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf5bbe8bd typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3381269f ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3819fd65 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4b6f726b ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5c32c207 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x61e1bd28 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x8cb473dd ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xacd76e36 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xad750b41 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xb3ceb885 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xc481ece5 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0c10ec8a usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2eb3dbea usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2f4dc4f6 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x55f79de4 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7e2f1b23 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7f251ce8 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x86e74ce6 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa10fa573 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xb7a03c0d usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xce3bd6c2 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd575ad6c usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xda104348 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe662a7c3 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x33aacf9a __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa2a3db5c __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xe10741fa vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xefdd9167 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfc552ee0 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x389d9454 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x3933909d vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x42423b31 vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x66833b4f vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x9480ebe5 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1b3e61f6 vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3339ddd5 vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x43c84d35 vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x44b83e00 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x476df7b9 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x51ddbe9d vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x57d2c63b vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x597e6398 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x94de8f96 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xb20fc914 vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xcfc603da vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x074b52b6 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xa6951a3e vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x038257f8 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x045aeb64 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x04e809eb vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0f39d119 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x22f18ecd vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2b30c122 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2e6f1bbc vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x302e9c84 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3a3976e2 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3f2728d9 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x40aef84d vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x61fe0c61 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x63b93852 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6db8b4e1 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7189ff42 vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x73aa6d29 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x79969fe5 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7c3eb3cd vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x84cb1127 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x85ae190d vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x94cc662e vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x951e9bf8 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x96c0b1e4 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x99f71a18 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9d082764 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9fd920d2 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa13b34b3 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa87f4c51 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xacf35ba1 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb21a631c vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbc26c2e2 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc1c4ec6c vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4865512 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4e5c297 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd1d8101b vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd465b95f vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xda9e8ff7 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdbf4f837 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfa904b3f vhost_poll_queue +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x20433b8b ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x305a5574 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x52305e7e ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9972604d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9e93aba7 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xfc2b31f8 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xfe0c6e0c ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x9b7f76e0 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x25ed4bdb fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x64b53a9b fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x25c2764a omapdss_of_get_first_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x28f9300c omapdss_of_get_next_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x8df2bd80 omapdss_of_find_source_for_first_ep +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0xfc20e1c9 omapdss_of_get_next_port +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x28ebad0d sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xab98fceb sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x159d9cf6 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x24c7dfa6 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3b8d03b5 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4c4cf2c6 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x652ec1d1 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6b9370c4 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x966f5e70 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9adaaabb w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaa80d1fe w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc096e55e w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xeb5f710b w1_read_8 +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x69e9340b dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa49fe256 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xada0734f 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/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0a911928 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6c6efc92 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x768a6180 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x78b6b906 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdfbaaac6 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe30cf227 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xef48f14a nlmclnt_proc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01b25991 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0421eb76 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x05a7d6f5 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x084eea42 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x08ec7c9e nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d6845d1 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e989b96 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e9be358 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ef0448a nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1065115c nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13032968 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x148958e3 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15b1811c nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1607527e nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16a9dd7c nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x199ed513 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b2c8ce0 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eda497d __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2182118f nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2233c1a1 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23c0cc6d nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x262eece2 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2746fc8d nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28ce5838 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2b878bc5 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e34c915 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2fd1a83d nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x320cfafb nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3270330a nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3286e6ea nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36b947da nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3717bbaa nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3bc20a80 nfs_write_inode +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 0x412fd834 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x424439e6 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46c3e964 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47ab4c46 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ace34b5 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4dcaaea5 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53820603 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53bf045a nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57531af1 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59bb2cd4 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5c3dd104 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5c62a7a8 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f0ba0c6 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x60ee221e nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e14e3c __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66099c00 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x668d794f nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x682f86f6 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a0e0425 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6bad2d70 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6de1a39c nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6df693f3 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e63cd86 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70d8f730 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x739cce01 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73bf71c7 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x762d7691 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76b979f4 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x787d6033 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c373bcb nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ebf4ace __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8142b6d9 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x81653e9e nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8383c9af nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8422ee69 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x851eb2b1 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x893aaab4 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a5467da nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8daf1602 nfs_file_set_open_context +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 0x94c5a4fc nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x970143fa nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x970a5cde put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x975040bd nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97bae9ed nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x99adfb84 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x99e7621a nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9eaffb74 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05c2e46 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0d04ae7 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2ea78f8 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa37093ba nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa526f59c nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9186169 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa995961f nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaaa14361 nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb0aed1ef nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb451cefd nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4801079 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb926db87 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9f71516 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbabeacbc alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb30c404 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd8d3adc nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbdd08bfb nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe4759cf nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf3328c1 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf3e3149 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc05e7692 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3cd2590 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc521b103 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8c240ef nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8cae2a1 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb208b84 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbaeb6a5 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd5b7aa6 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcec2c467 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd43a8e58 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9bcec6c nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb9020c1 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbb5e362 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe151388e nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1e19872 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3fa8670 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe44f8242 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe4e0f3a5 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6ad5462 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe794b447 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7d29940 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8ad4056 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea64c1e1 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeaa9c819 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xecee3e24 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeff3c78c nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1fda914 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf391a3b4 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf44c956c nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf541d8f8 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5d372b7 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe768e84 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xad54932b nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x00a01674 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x057deeeb pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0772f44d nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x07a420d2 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0d76148c pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16897274 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1a5c8ec2 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b33c873 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b346974 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e58b849 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f054a31 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x24668b63 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x24b470d9 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x291dedb6 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2aad855b nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b03ec0b __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2ec7f370 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x34de63f1 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36751a61 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3a0426eb pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c0572da nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e73f10c __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x403b54c8 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4139d52c pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x473b3578 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4a558ca8 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x519fe819 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5205f7ed __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x53fecc62 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5450b335 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x59c89427 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ed1d657 nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5fcb4b32 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x636b8112 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e16b52a __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x71d7015c pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x733fd421 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81f9926d pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x87669897 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8a6dd379 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8ba98e2f pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8db66999 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8efb9589 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x92847ddf nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x955e007b pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9695dcb1 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d162943 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d6b95d2 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa02df320 nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa246ba54 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa8b97e49 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa8d56591 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa93e3172 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaf7b9179 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb35b12b6 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4895436 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4e58d08 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb85de48c __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbde0c7b1 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc151e45f __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc18cf4c7 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc589ee5c nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xca455dff pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcac9675a __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf0a8c40 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd5b87f49 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde5fb5fe __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdfec3b83 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1ba47ab pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1eca9bd __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe35ee056 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5a7264c __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5fcbacb nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xecac4d76 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf25e1f8e pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf4ca41e8 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf8e9ee04 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf9d28712 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfb0c5cad nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfbf0debd pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfe1a9ae4 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xff9c4224 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x4ed794bb opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x5cb41bc3 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xff6e236e locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa96e90ce nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xbe384399 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x00c23f1a o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x08549a88 o2nm_get_node_by_num +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 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 0x804cdc6b o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9b754e84 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa6d1a168 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb51e15ed o2hb_unregister_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 0xcd32a35d o2nm_node_get +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 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x2f6f2e29 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x797b51b3 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x818748b5 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb5543e81 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd11d61e7 dlm_register_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 0xdc26c7b3 dlmlock +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 0x6f378537 ocfs2_kset +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 0xb794aaa1 ocfs2_plock +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 0xc7b1ba10 ocfs2_stack_glue_register +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 0xd9fd2736 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb542cba5 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xf31bbdd5 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x1e3981cb unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x92e06377 register_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0x9e026750 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xbbfa9300 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +EXPORT_SYMBOL_GPL kernel/torture 0xfe0c0dcd _torture_create_kthread +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/crc64 0x955ee96c crc64_be +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 0x4370baea poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x4e70c4e4 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x514a6250 notifier_err_inject_dir +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 0xd4cb6873 raid6_call +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x884e212e lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xad84f936 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x3be7e74e garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x8473b97d garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x90b82100 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x9a968c2e garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xdda81b0d garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xe2265572 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x394db527 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x49e75d5e mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xaa155acf mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xb0992109 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0xbe82552b mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0xf3bb43c0 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x0c2ec3e7 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x37a9e31b stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x53532a8d p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xc63b7a35 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 0xdc6bc3c8 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x08eec3c3 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x37b1ad75 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x39e7274e l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4871bf41 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x8cbda116 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xaa781a48 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc2fe069d l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcbdc9788 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xded370b4 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xe5d7fade hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2aac09c2 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2d27ba5a br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4a6ded6a br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6a799426 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x70bb3d39 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x736bd4d8 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x79376bfd br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8253cfc4 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8d5cdb9f br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x922d5d0d br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa6b8c58c br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xae2b98e6 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb6424f9e br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb74e902f br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbfbded4b br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd9c54214 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf8d8268a br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xfc296ab7 br_multicast_enabled +EXPORT_SYMBOL_GPL net/core/failover 0x110c363e failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x484719c2 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x8d579508 failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0265bae0 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x04484448 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x04e31ecf dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x15edef2e dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1ac6a7cc dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2298ebb5 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x353e419b dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d2c93ac dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x553b121e dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5a7a181b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x60eedf2f dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x677c2efb dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6f1e0410 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x859cdb92 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x87b427d8 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x87fa42ee dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8bdf8262 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eb595a0 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9398eadb dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99886f85 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa43e19f0 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa65e1dba dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xadd95735 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbdc2b564 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc33a4b93 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc66ccff5 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9c89882 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd5662f7f inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xddfa0222 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe9f2b340 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0784aa7 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf2876174 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf55ef99b dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7d90d45 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x03becf0f dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x49723397 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5113c34a dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa122707d dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xcbeac892 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd72a15ff dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x075d8c6d dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x12295cc2 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x13a0ac93 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x14329abb dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x35984167 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3c8912b1 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3d57dafb dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4b005381 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x51f0afe3 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x670d9059 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6c0b375e dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6d403d75 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x780b9d76 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9aee75c2 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa184a280 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa725da66 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb1f74311 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbb152fdf dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc52b74c1 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc65fbee9 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc669c160 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd46d3c7d call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe0f9a200 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x095d8d49 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x11c7f94b dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x559e61a9 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x5b44376e dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x8da21d64 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xa2903d23 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf68e3dab dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x08a77247 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x3e921433 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x8017e1b4 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x8080942a ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +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 0xa597b921 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xd57a60a2 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x0a3aa528 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x4eef6a55 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xa1043a83 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x013e2b6c gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x37728cbf gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x322bda70 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x62613270 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x690541e5 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7a647292 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7f3430be inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x96dbc310 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa7830355 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe4a44c0d inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xefd7c6db inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x522b31a0 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x00872866 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x08d796b0 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1e0b1e92 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x20763041 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x235e0b5d ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x347e80ab ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4f66d806 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x60f12913 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7aed5ffc ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8471d6be ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb7135a19 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc1c32ee7 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd6c8b9f1 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe2d27386 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe62a271b ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xedf5256d ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfbac1d08 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x0618f2c0 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xb3766fc1 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x90be6081 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x7df584f3 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4c5393df nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x94417142 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x9630406f nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd0ff7bd3 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xfe832a2f nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x61568c67 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x2e20308a nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x32e489a0 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x53f7bf9f nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x09907ca6 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xb32143e4 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x07e21b7d tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0b9b244b tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4ed1aa77 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7f486415 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa749a18d tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x20465eac udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x2d9f9776 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x3dd97d74 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x4621a174 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x50260cfa udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x9d20ef12 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc5d5ddf6 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xcf4040db setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x2684ebe4 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x519bb38c esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x9792a9dc esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x01194f56 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x421cb7ed ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x88c6a6b8 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x15c4f977 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x723f40bc udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x7155402f ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6d052ba1 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xc0480e91 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xe3ad6133 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x89af4421 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x95d66cf3 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xad90094a nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xbc20b52b nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xeb7a0bcc nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xe6312d0e nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x51185359 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x6275b914 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x9ce1fe4a nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xcb16f203 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xd467a1f9 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0cc8aaae l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x11d766ad l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x12a76801 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x336f21bb l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x43a23e7d l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4bef621c l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5364cc4c l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7f322e38 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8ea1da36 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa3ba9686 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa8d87794 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa8e8ac56 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbd4d38ab __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xca2a0a88 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xef7a7edf l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xffce4843 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfffbaf27 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x98f5b052 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0bc68e0f wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1d4d8f03 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x21c2cf44 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x34fb4777 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x471fd505 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4aa6e64f ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x55b1d5a2 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x629c2775 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6adf5665 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7a6ad924 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7a8778d5 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x98dd71e0 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa2cc0c2b ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc4346768 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc5ee0715 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc65899db ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcb8baaa3 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd332cc02 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x3ba95d3f mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4b1fa735 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4c99be4f nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x90acdb11 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xf4c364ea mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x16cef232 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1b2e8b72 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1ee4ea60 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x214e58bf 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 0x2497a084 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x24dd5f94 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x313e5f65 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3182ec62 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3f38c1a5 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x50967f13 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x59661895 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x642eb65b ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x71d53ad8 ip_set_get_ip4_port +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 0x88aacdad ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x931f9b0c ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x98792dd4 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 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa59a09e7 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb009dc8e ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd73c25fa ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1152c7aa register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x831f2b3c ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x967a84fc unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe26bade6 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x268a4802 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x272d325d nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5d59c777 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9c752c29 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xaaa96826 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xbe03a217 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xc140218c nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x03fe2442 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07bd005d nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x10e66e45 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1151fa89 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x12093c97 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13c68dd5 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14cb36bd nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x150eb462 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1823f8fd nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19d0c157 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ae1b784 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x20c48029 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x23c7af8a nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24f1f66f nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x273c7224 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 0x2b335533 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f8a6e3b nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3011ec67 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3a55272d nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3cede451 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x40c449a1 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4355e5a0 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x473e385d nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ae41ef6 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4be74609 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4dc53c41 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4e491e86 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4e4db358 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ea258d2 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5114fdc3 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51f80bf1 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x54887b2b nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59c3fab6 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f5d1490 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64166659 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6484c00a nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70a93449 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71b7f7c6 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7374e555 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77af8c05 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x790529e4 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x801c04d0 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x831e5ed8 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88378204 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a08c6bb __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c6e11f4 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97eb9ee6 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x99617456 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa15f78d8 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa172dc15 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa256a4cc nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4f413f0 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5f5310b nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xac5c5329 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae6104f9 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaeb635e5 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafa90755 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb42dd37f nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb89fe3ce nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb9abe25e nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb9e2fbc5 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba5bd46e nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba734955 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbbf82808 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe9ad2de nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbef13d1d __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf251c79 nf_ct_unconfirmed_destroy +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 0xc66899dd nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc8cf1194 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca79cf75 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf2001f3 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd032c990 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd68cdb50 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8a3aee5 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb1339ab nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb327c59 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd890dc1 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1ee837d nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5b794a2 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee9482b2 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf84b7825 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8eef8bd nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf946489e nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb9752e2 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x5b91f250 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x03640d06 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x25789fcd nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x089a2f02 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1caaabbc nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x58f66cf8 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5a6ca4b6 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6830670c set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x873af2b4 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8fca184f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe4e28f94 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe4ea517b nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfd94f6a9 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xf6272002 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x13a163ed nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2e7c1ae8 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6d9aa0f8 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xf2139d49 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x03ed0783 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1c9d9fcd ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x921de2de ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9f2969cd ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa2cb71b5 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcad81862 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcdb83d81 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xe072eca0 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x13dd5c15 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x13df0fc6 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x1e935fa2 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x2998694b nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x042dd30f flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x04989ed1 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x21538733 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x26607258 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3c73d27d nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x41e568c7 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4d139ab6 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x5f356d7a flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6b276ea1 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x99d25358 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa4633d1a nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcfd49961 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd1144020 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd2227e89 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdd10fa57 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe20227cf nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf09c4da6 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x33b50b68 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x640dfaf5 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x7a6038ea nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd19ba85f nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xe4bbae87 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xea1696f2 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x07cdcb80 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0f4a1b70 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x37285dcd nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3dc2f6ad nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4faad05a nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x554d6785 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x61225a1a nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7cd45237 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x99371fe6 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa8444e07 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa9ff1319 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc2457082 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd62f10a9 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 0xdb30a96b nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe4fb9f34 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf9979508 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x0943f09f nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1a4f50c3 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1fada8b4 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x498edd24 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x56b6da09 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x727126cd synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x852172df nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x887a9710 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xad64cf62 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc5ec5f64 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe8162fea ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x059a689f nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x103819c2 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1300c6eb nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1680cde0 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1c1a1531 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1da28946 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c2ee0f8 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2d17317f nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2db04ff3 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2f35f426 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x402a59c6 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x43b78199 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x44edf23d nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x65764110 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6e95f71e nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x709df0e1 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x71695d89 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x77c15342 nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x79db8d89 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x890ae6f5 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8d7181c8 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9e02df78 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9040723 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9f33fac nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9ffc821 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb40b4901 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb4f383d2 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb675d99e nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb87c4827 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbac8fa09 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc100629f nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc641232b nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xda070a81 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe85da587 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xec4a2dbd nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xee5d1c43 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0dec671d nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3b6e2e94 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5bfbf3ab nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x945f2833 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa8db88ea nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf8f028dd nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x3906d679 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x6e864523 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbba33b60 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x0d1ab136 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x5ead49ba nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x577deab4 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x9c0badd8 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe5be0849 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xf9e2867f nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x72bea217 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x9e2ace8e nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xc65a6496 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x19ea20d2 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x34b9fc47 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x389970b9 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5ff50bb6 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x63c5ad16 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f7e4c7a xt_replace_table +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 0x80a09113 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x98e7f864 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa1115c8f xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbe37f85d xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcf19ea57 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd6b7b1f1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe27626dc xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe5dac4d4 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe961141c xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x3fbaf42e xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xe4cf1a85 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x22cb9364 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xad69f01b nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xaded79a3 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x08971bbe nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x7b172716 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x972dccc3 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0x8f44f3e8 nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0x904dc371 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x03e9725a ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x16b12f57 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1e21bed1 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x24ddfc20 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xa86969ba ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xdc447e26 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x326514a2 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x9a42090b psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xd6d3c9e7 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xffb9bf32 psample_sample_packet +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x25024411 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x95cbcaf1 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xd4d85003 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/rds/rds 0x0025011f rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x093ca41f rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x09964905 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x1d3ecf6a rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x1d742887 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2ffac1bf rds_message_unmapped +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 0x53470c64 rds_trans_unregister +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 0x665c4194 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x81964ad5 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x89f5651b rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x8a6d8fad rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xa3945c88 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xa59c8c60 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xa9fe9ff8 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb3608bac rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0xc06d6741 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc73c4eda rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xcc12744b rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xcc3cb37b rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xcca886ac rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xd1ba0105 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xde47a12e rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xecb1a953 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xee1a8592 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xeeb122db rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xeed43175 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xf241c1ba rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xf2d6fba8 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xf4c257e8 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xf6b378b0 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x35419399 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xf07817ec pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7db7d103 taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xd765a904 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x18a95927 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0x39b10b64 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x95d26665 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0xd22abcf3 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/smc/smc 0x06084644 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x07f24eba smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x454d9e12 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x54fba43a smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x8cd263d7 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x9217cd94 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xc3f48161 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xd3c63d5e smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xe033236e smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xe4c8e436 smc_unhash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1c02747c 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 0x5989fab5 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7253d99e svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd2dc6a5d gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00537f95 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0135af6c xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01703ff2 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02adc47f xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03a35b85 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05cc9fdf svc_proc_unregister +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 0x07269832 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07facdc4 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0976598c rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a36c450 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ab0a525 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b16e3c4 xdr_buf_trim +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 0x0c5077a6 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d704aca svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10bf9ccc rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10c16539 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1113f85a rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14cec7c0 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1543cf22 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15710508 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15ebe181 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1807e7d1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x185ff74b cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1974183e svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b14aaeb rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c25e165 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ebdffae rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f34d982 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f357ab9 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2065e6f4 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22d0031e svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24bc67a3 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24d3ecff rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29c34b3a xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b7ad5ab xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d4bcb1b rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e4342e9 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ed26865 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fcd1ecd svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34016e3e rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3406d1d2 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34e105aa rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x375d441e cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3854a8bb svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39797554 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d84fe9b rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e23326f xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4142d42d rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43313cb8 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453117a3 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46371fe1 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x470bbfbc auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x479b6db3 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47e39af0 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x483d5822 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x491d851f rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a134fca svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c576118 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c5c44b5 rpc_clone_client +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 0x4f8058f1 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fca3fc6 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5028b40a rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x516a83d3 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x533f66ec svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53fa078d svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x544f724e rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54578b7f svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5495515c svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55d08a93 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5908578f rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ab7852b sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b92ccce xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cf49be2 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d16fa59 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d1cda3e svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dd2b941 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e38c204 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x600958ae svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61ee2928 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62adbad3 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63a80591 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6503dbcc rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6649e57c svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6772bd4b xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68206b7d _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ba1fe2f xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d659283 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e4cc9ba xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f23789b rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f2ac4eb rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f324f15 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fb0ab27 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b873df svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7364077d rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x742a8bd6 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x742cc907 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x748b9227 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74e4402a rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75649292 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x770903b0 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78a75a7e rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79f5a20c rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ba8d8e7 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c81e471 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7caac02b cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82da8c84 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84c1e8fa rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85090db2 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x860d23b1 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8622ccaf xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8917f19d rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8960994b rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8975c09a rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89cfb104 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a552e7e cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8caadc58 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0eb2ab rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dea75a4 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f2fefcb xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9021e183 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90aaccb1 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9224516d rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92807536 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9297e675 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93434d56 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a41295 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94654883 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e12e1f rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x984ec0c4 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99baa811 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a182351 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d1ce60b xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d2e4788 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e82735a xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f7bd8b0 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1553641 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa312093c xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3c15058 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4cba6e0 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4edbe2d svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5b2de5b rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5f5a282 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5f73886 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6fd945e svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa74b7cfd xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa793d909 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7f88632 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa940cd41 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9d4cf07 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa57ccd0 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad5b820e auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0d38630 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1d33a90 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb307cf0d svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb420f25b svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb45611cd xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6794f2d rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7c2fb8c rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8b608ee rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8f5114b auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb90c6775 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb97687be xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba7141bf xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc11be72 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc517168 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe5b0a3d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbec9b914 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf8fdd45 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc09891b3 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc169d947 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc18be74e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc23fe76f rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc378c2a7 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3ec156e rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6101978 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6b0cbf6 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6c1b6e0 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7c3976e cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc838949c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc92f71bf xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9d6b01a rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb643d59 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc62cdb6 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd07e69f7 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0d68bff xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1573cc4 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1ce861d rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd345b8ec svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6c54b69 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd72af719 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8ca70af rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdaabb373 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdac63b91 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb2ddd26 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbc30ac3 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce96d54 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdece119b rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3247f9d xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe375a5d2 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4cf0ed2 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5bfface xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5e976fc rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7295616 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe82168bf gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe82ef036 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8da41e0 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe90d530a put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe95c348f rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe95d10e0 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea7bba26 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecdee54a sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeda339db svc_create +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 0xef07768d xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1968606 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf276aa66 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3cf2151 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf40dc673 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4189f90 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf431e0ad rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4d9b132 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf50aef7e xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d5ab0d rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa5aa078 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa60cde4 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe5d3f59 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfec1642e svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/tls/tls 0x07a51444 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x812843b4 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xc14ac526 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xc3bb2d2a 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 0x0bfb3449 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0f2e821e virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x16040269 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1f889ccd virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x20053bc1 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x44e6e201 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5179cd96 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5214d993 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x571a4b09 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x59d88afd virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5cbaaca1 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x60ef98fc virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6586c67f virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6d6d2272 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x75e94dc9 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7742020a virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7bacf6d7 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x825affe8 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x86714c91 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8c25bd81 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x904ab691 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9290561e virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9a534297 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb1b95f01 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb32d54f6 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb58ea5b8 virtio_transport_connect +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 0xc6454b58 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xcb3b7df6 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xcec81bdc virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdb7bba01 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe96b6e91 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0f155a7a vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x11d03564 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x14e30df5 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2745dba9 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x44420515 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x47a64e91 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4c4cf903 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x65157dcd vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6f0f6a83 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x74e91915 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x864e9f3e 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 0x9de48352 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xab2e7c21 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xabb03b8a vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xace4e189 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xae64426a vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb12c19c7 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb232f6f3 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb29667af vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc4a49002 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xcf8ea49c vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf02632a7 vsock_remove_tap +EXPORT_SYMBOL_GPL net/wimax/wimax 0x06764da9 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0d101d8f wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x0ece81d5 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x32ad0d42 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x35c615bd wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4fb49919 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x86847627 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8bd360a5 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8f0036b3 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd53e7031 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdb260ec7 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe65e9d66 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf1c363f3 wimax_state_get +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3344e477 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e23cb77 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x493dfaaf cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4d512eb0 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7686ce68 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8727600c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x95bd4c74 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9be9ab5c cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9e3e04b7 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa4630cff cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb9ae1022 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbe825a08 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd135fb99 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd3e62b03 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc4d8c4a cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfd2bd91c 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 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 0x16dff6cf ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7a7b91ed ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x88d66661 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd828b960 ipcomp_output +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-seq-device 0x60a0dab8 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xc45eb431 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x33225a56 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x50f46b45 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x58b5e90d amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x684b2809 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x98e1eba6 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa920228c amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb0d38437 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc24e7cfc amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xce4c00bc amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd3939f0a amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd7253964 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd7e3e64c amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xee01d2e9 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x04b2150e snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x09a60130 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0ae1fe17 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x106f2837 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x115f66cc snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x12c20083 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x165a044f snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1dd86189 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2d578f5b snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x31fd689a snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33486890 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3362c32d snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x382eb6e5 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x390f1dff snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ce663c7 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4b17f0b0 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4e3ea8a8 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5043b064 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5118b76c snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x573ae44d snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x575ce230 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5f5a0896 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x61d71a89 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x63386d9b _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x68b9cddb snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x709d649d snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x75edf2e3 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77706f34 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 0x7d65260a snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7ec482f5 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7f01f6c7 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x81ec4a7e snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8734f0a5 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8f7c65f3 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x90bb203e snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x90e0b4d9 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x947d42d6 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x987767f3 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x99417549 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9bc99392 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9c71beb4 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9e9467e3 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ede69b3 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaa9c3cba snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xacb42504 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb47f65f8 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb7558494 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb97ebb4a snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9bea552 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xba2c0023 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbf68ae0e snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbf83fa33 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc2238f75 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc2e0dc7f snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc3e43157 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc50746c6 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xca038cb7 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcaa2d094 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcc5b4121 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd08e8807 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd2b1c9e7 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd950e63c snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd9d2fb92 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdb58446c snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdc9e7e24 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdcf00e1e snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe06d8c59 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4591f33 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe7496bdf snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe8185ccc snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xea47ebc8 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeab8cff2 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeb8fae31 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xec270d3f snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xede950d9 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xef1b43d7 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf207f32e snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf3762c83 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf5f343c6 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfbb4aa85 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4dbbcb19 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1a22749c snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x642f765e snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x787fb306 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x90bf0785 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x96612746 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xfa72f415 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0337e300 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x055568b2 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0565b8b0 snd_hda_codec_amp_init +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 0x06d23ee0 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0723b712 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b6db0ed snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11a5e2ab snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15c35a54 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1664bef0 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18d7ccf7 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e9d6e2c snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fc934d4 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fe04a53 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20a6ef23 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x228d7610 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2704d2ee azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28fcb155 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29355f1f azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29571e69 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a911a12 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ee69936 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f75ef80 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x309d13cd snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3227431a snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32a9a981 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32b4cb3b snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35cadf00 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x385805a7 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x397c378c snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b4d9ed6 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b9df1db snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bda4799 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x435e414e snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4528ed33 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4584ded7 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4594dc80 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45c4c278 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46147158 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48af819b snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4aa15962 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c7e1a35 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d796d9f snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e75ace5 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e7f5bcd snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fed9f0a snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x502e6a22 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50d178a3 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51f1a621 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5bed6df8 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x67be55d5 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6924b3cf snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b3a5d2a snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c27b2e3 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6e0d2d93 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6eb0a639 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6fd3c82b snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x706fcbd6 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x70bbef69 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71d4ec45 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72378b2d snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7361151b snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74950b8e snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x784dc19f snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a1eba22 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ac70f66 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e59872f snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fb8b39f snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85654ff8 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90770d64 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95ea8f55 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9618e2e0 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99589020 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b57977c _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bbd14f5 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c1ffb16 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9dcd3453 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa45f29fd snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa66aad68 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa6ecf951 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa73d631c snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa79ced26 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa7b8a301 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa9ae86a1 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xacfb6c57 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad8fbdbb snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaee79c39 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3b7cba6 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4d3fd11 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcbb6ec9d snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xceb29281 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xceecb582 azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1607b76 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1cf1e6c snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3d75bde snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7891848 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd78ab586 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd82a65d9 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd99ae2d7 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb14857a snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd1556e2 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1b30e9b snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe2f11603 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe39526c0 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe3c53838 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4695eae snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe79fa89b azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9b562b5 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed94641a azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeedbd2a8 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf132365f snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf16228a7 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1c74e98 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf5d82d79 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf629de83 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6fa8d8c snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf76e7c9b snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9197ae1 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9fac28c __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa74be04 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbde654e snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfeb63879 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0d11b72e snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2200f5d9 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x25533c8f snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x270f5898 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3023acb0 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3752b876 snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x49b7fdf5 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4cff2f24 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x52172806 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x53035cf8 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x67f72016 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6b47d45c snd_hda_gen_add_mute_led_cdev +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 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x8cfb3813 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x97ce1af6 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x99e40fa9 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa48a31be snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb7440c0f snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd68fdf44 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdc3528ca snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe4053d58 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe8352f19 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf1d3a435 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xb5020b04 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xf7368c4f adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0246323f adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4089050a adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x50da0fee adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x57b236dd adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x920c3373 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa60b5b10 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xaf0b0322 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xd3d14c1c adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xdfab8af2 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xf00bf1fa adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x6a0f41e0 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1704521f arizona_lhpf2_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1cebf651 arizona_out_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1ee838e7 arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x2393b1e9 arizona_dvfs_sysclk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x26ec4882 arizona_lhpf1_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x30b08435 arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3b132260 arizona_init_spk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x43b0389d arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x44932448 arizona_input_analog +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x46277216 arizona_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x471bb6d7 arizona_free_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5167e5f5 arizona_in_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5b11c214 arizona_anc_input_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5df63441 arizona_clk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x67be34c4 arizona_init_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x69102a20 arizona_sample_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6b085f5d arizona_of_get_audio_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6c54096f arizona_set_output_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x729a5ef3 arizona_mixer_values +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x74d46725 arizona_lhpf4_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x787c9aac arizona_dvfs_down +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7c107af8 arizona_set_fll_refclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7de1bbaf arizona_simple_dai_ops +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 0x804224b4 arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x83ab260b arizona_adsp2_rate_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x875ccd26 arizona_init_dvfs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x93022627 arizona_in_dmic_osr +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x98acf19c arizona_dvfs_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9aa1c1e6 arizona_init_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9be08b60 arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa8f17fd9 arizona_out_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa966b7d0 arizona_asrc_rate1 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xab4d845c arizona_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb17359ab arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc304d6ff arizona_in_hpf_cut_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc7e0fcf6 arizona_init_mono +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc7e75515 arizona_init_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc81c3d11 arizona_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9261e19 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9997308 arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9bbd156 arizona_hp_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9c29637 arizona_mixer_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xcac4bde9 arizona_ng_hold +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xccc0f8c2 arizona_init_vol_limit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd6494c82 arizona_lhpf_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd8217a8b arizona_isrc_fsl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xddb4ac37 arizona_anc_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfe804b8 arizona_sample_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe3e80e70 arizona_set_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe584bddd arizona_init_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xecca59f6 arizona_eq_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf02980ca arizona_anc_ng_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf7a347d1 arizona_voice_trigger_switch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xd776029d cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xdd4bbfda cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x2d61629c cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3587ef77 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x8454dbf7 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x958ff3e5 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xac663ca7 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x09456cb5 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xb0ace82b cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xd8d42a23 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x71cd11bb da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x79e254a3 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xd012a6d6 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x3139c02c es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x3cda533a es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x9d1cc708 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0xcbc20ca9 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98095 0x7f0ec184 max98095_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x6376afeb nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x6f2e2fb6 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7e23fd59 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xe326d95b pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xd4a1e6c3 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xe4967573 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x0ec2752f pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xfb8135ca pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x0f955f1e pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x707bbc66 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xe233d205 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xfb3618b2 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x61ce1c3a pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x783a6afc pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7f62d0af pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xf0bb5579 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 0x554467a3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xbb4583f6 rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x714fec4e rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xb0f60b58 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0xdbd63acb rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x045a49da rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x430d4790 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4f8124f9 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x55fc54db rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5b01547e rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5f57e0a7 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x622f4a39 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x91079df2 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa4b69ffa 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 0xddfa0159 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe37bcb6c rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xfa495863 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x96d0bb6c devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa5051a54 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xac6a4314 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xb6d7294c sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xe9c1893d sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xb1e259aa devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x23a73f3b devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x6175329c ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x6246e2f7 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa111a198 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x74950bf2 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0de03379 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0eb1411c wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x168b1920 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x25d09969 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x260aeb26 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2bac7d11 wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x424d9f00 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4842cf33 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x492ae121 wm_adsp_compr_set_params +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 0x5ec3650b wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5f780992 wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6dc2f317 wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7e9b95fa wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x834301be wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x87d99401 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x88e443ef wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x89ea0bb5 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8eb86e3a wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8ee5da6f wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb5e196e6 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb5f26903 wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbe2779dd wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xca0d52e0 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd6414e14 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 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xeaa2ae49 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x157b00f6 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2ca7631d wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x45e0e4f4 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x58894bb7 wm_hubs_add_analogue_routes +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 0x6a174185 wm_hubs_handle_analogue_pdata +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 0xb56905ff wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc634fbbd wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xfe51cae2 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x153096e9 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x9f1bef0d wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xd66b2913 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xe40d9088 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x832614c3 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xf705f3be wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x213a3bfd wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x8fe4a781 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x928c9591 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x32064f74 fsl_easrc_get_dma_channel +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 0x1d37058c asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x20a21067 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x397fb683 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x637983df asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x65b13ae7 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6acaa1bc asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9a0167f6 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa9a2306a asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc02530b4 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd1aa80ad asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe2c48ee2 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe35e1b2d asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xeff7f0e7 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 0xf6a31d0d asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf8d3aec3 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf91d335e asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xfac3992f asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xfe6bae91 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x000e8385 mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x01964726 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x02366a91 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x04679dfa mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x08cedc77 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0c9738a7 mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x1399925c mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2330ac65 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3a4b9215 mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x504e7827 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x54de0c44 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x62f6032c mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6569284a mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x75ec9fe4 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x766e79bd mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x76e9bf75 mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8430e2c8 mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x89dd1aa5 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x912bce8d mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xca210ad7 mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xce92357e mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd21f8893 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xf56d8869 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xff0e344d mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x0c665a73 axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x6e4e3978 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7a83a44a axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x83f6852a axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x99a04ccf axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xa2d4f0a7 axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc6406310 axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc6c3d1ab axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xd8e1416b axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x2db27767 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x679cd72f axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x9734c838 axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xa8f5d61e axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xb711a93e axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xbdb29b12 axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xeaf1cae4 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0xb2d68fb5 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x43f890cd meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x626004d0 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xb1188dc5 meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xbaf924dc meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xbbf86a50 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc87873e7 meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xe1602a2e meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf1857454 meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x19ee8c2e meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x5841db56 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x720c85d0 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x74fb0aeb meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7b99ea75 meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x899926b2 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x3b123d1f q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x92e33c12 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xb4cc30e1 q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3997e13a q6afe_is_rx_port +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 0x93f73c0d q6afe_port_get_from_id +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 0x01d71b3d q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x151ae9d4 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x40299233 q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x5382edf1 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x689e402d q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6eb89e95 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x720ce413 q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7353d9dd q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x857330c9 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa06e9828 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xb03905ff q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xb4f98cb3 q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd599e50f q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xdbedfcd9 q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe060c0a1 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xe1531577 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf40aaabe q6asm_stream_media_format_block_wma_v10 +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/q6dsp-common 0x17142e58 q6dsp_map_channels +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/snd-soc-lpass-cpu 0x3de764d8 asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x43c6eaa4 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xa1bade95 asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xeffaba37 asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x4cd06427 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/rockchip/snd-soc-rockchip-pcm 0xf04e866d rockchip_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/samsung/snd-soc-idma 0x14e9ba13 idma_reg_addr_init +EXPORT_SYMBOL_GPL sound/soc/samsung/snd-soc-s3c-dma 0xea42ca38 samsung_asoc_dma_platform_register +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x3eb4c293 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x5c190b16 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x86205006 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xe2527759 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcbsp 0x77611b8b omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x3a36f3c6 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0xa481697a sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x0454778e udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x0e22ef9d uniphier_aio_i2s_ops +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x15a2c1c9 uniphier_aiodma_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0x982102ac uniphier_aio_remove +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xb0c08d8b uniphier_aio_dai_remove +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xcaee2dba uniphier_aio_dai_probe +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xe16f69d9 uniphier_aio_probe +EXPORT_SYMBOL_GPL sound/soc/uniphier/snd-soc-uniphier-aio-cpu 0xe537a0ee uniphier_aio_spdif_ops +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x01e0b511 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x10acbed9 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1aa6d083 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 0x2a21dbbc line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4a285e2e line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6d5a3ee5 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x81dd5efa line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x84541e71 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb22300f2 line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbaf4f7bb line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc56d74c8 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdd4fdbf4 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe47bf928 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe6729e85 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xef2294e0 line6_send_raw_message_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 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0x00028c2b crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x00145c58 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x002382eb devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x00766e6c snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL vmlinux 0x007daf73 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x00882bb7 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x008c1c8e pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x00940387 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x009ca4d4 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x00a6971d fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x00ca8bcf devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00d4e586 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x00dd1e2f xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x00f7b322 pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x00fc9c2a md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x00fe7bc0 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x0115abf1 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x01293a31 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x012fc765 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x014c476a of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x0170cb6c efivar_work +EXPORT_SYMBOL_GPL vmlinux 0x0178de4d snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x01795c06 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x017a8bbf ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x01836dfd fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x019e983d invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x01a3087b usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL vmlinux 0x01c10186 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01cdc357 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x01d747f5 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x01e10a2a wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e973ea pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x0206fe08 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x02163391 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x0220855b yield_to +EXPORT_SYMBOL_GPL vmlinux 0x02254730 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x023311c1 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x0235434f ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x023c72f3 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x023d6d76 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x023f2208 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x02674511 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x026a1c6b snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x026f3380 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0277ae54 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x027d10e4 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x02a6353d usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x02b24cd3 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x02b33f93 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x02bb0295 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x02ca7a10 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x02ca85e1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x02ea61a6 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x031239fc blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x03133391 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x031bca08 of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x0324a41f device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x03262ab2 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x03315f0c btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03357e1a regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03636ae9 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x036a1fc9 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x036d8e9b klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x0387a027 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL vmlinux 0x0393e5d4 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039d8bd6 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x03a033d5 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x03a84fa9 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x03d673f0 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x0400e5e8 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x04041daa __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x040bbf01 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x041f111a pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x04287d28 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x04350640 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x04459c05 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x0447370b iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x0456995b sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x045a65a0 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046ee2d9 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04a6f637 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x04ae4635 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x04e24317 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x04e31530 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x04fd9a34 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x04fe9aa0 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x0506f636 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x0515b6f9 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL vmlinux 0x051a471a perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x0527e68d rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x052d6ce8 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05529e6f nanddev_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x05557513 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x05561f79 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x057033b6 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x059cf69e crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x05a79b3c irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x05c7139a xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x05fb12ac iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x06001c1b mmput +EXPORT_SYMBOL_GPL vmlinux 0x0600df9f iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0x06065ba5 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x06122337 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06222f65 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x063c5a66 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x0640950f serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x06464bf3 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06658ade rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0689070c pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x0692f80c free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x069ed838 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x06a53996 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x06a6eaef mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x06ab2780 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06b5b985 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d523d3 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x06e92aea nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x071e7496 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0720fa9c devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x072911f9 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x074452c8 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x07468450 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x0753ccab pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x0759c4cb find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x075fe425 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x07614338 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x077b2eac extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x078ff5b3 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x07984f19 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x0798f32a pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x07a7dc79 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07bf8527 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x07c1df53 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x07c6e78b xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x07cb076a devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x07cb0b0f devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x07e521a5 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x07efa4fa pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x07fa055e scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07fd2c54 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x0828d609 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x082a2f5a hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x082a6835 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x082b2a37 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x0832a99a regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x083f2bae platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x084acfe7 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x08596f81 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x085ed52f register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x086072c5 fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x08638c24 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x0870999c fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x0872567d device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x0872d042 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL vmlinux 0x087963a1 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x089df20d kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x089ed2ba __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x08aeed7f sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x08ba9e24 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x08c6ec24 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x08c73234 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x08c8a21e cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x08d2b3b7 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08df675c proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x08e6bd62 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x08e94300 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x090e29c5 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0920f4e8 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x092295c2 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x0926e4dd cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x09373d8c nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x09390cca pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x093ae85f dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x09407f6e serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x0942ee60 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x0946209f usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL vmlinux 0x09548a61 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x0956b414 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0960a34e handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x0974dc24 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x09a96063 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b64446 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x09c4f266 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x09d71719 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x09f6ef79 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x09fb002e edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0a0122a0 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x0a023305 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x0a0bea65 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x0a12e504 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x0a2a21d6 __register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x0a378de4 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x0a53296c fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0a5f5f8f class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x0a606d39 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a810e95 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL vmlinux 0x0a9de944 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x0aa8e681 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x0aa90020 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x0ab01163 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x0abc3d93 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x0ac737a9 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x0acb2ab0 nanddev_init +EXPORT_SYMBOL_GPL vmlinux 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL vmlinux 0x0ad35a0a dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x0b04439b usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1703a4 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2970fe klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0b2d293d ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b3b2be7 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0x0b3cd4cd mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0b564bea pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x0b5895d1 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x0b779201 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x0b7a2a10 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x0b93015e platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x0ba17b81 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x0ba430e8 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb9911c sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x0bc89bcc espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x0bed2d1a mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0x0bf40742 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x0bf446e4 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x0c13ec79 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x0c140ad6 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c42824e rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0c52a2cc devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x0c54041b platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x0c91de23 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x0c9edc6e ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x0caec385 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0ce61aec of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x0d141a80 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x0d3783e2 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL vmlinux 0x0d42f6ff usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4cac9f raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x0d5a5939 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x0d5c7672 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x0d6c38f2 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x0d843fcf bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL vmlinux 0x0d944d48 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x0da2bf09 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x0daa1d41 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x0db5677e addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0deaf7d1 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x0df54160 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x0df5775f usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x0e119353 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x0e35e8d1 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x0e361b15 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e45c61a task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x0e4b2468 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x0e6765a4 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0e707fa2 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0e8cf5e8 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0e9c5976 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x0e9e514a perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ea3e02f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x0eb6f553 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0ebd041e genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x0ec32b83 nand_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x0ec4b5df pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x0ece0a18 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x0ed0cf32 devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x0ee62ea4 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x0eeb5417 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0ef34714 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0f174cd6 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1975c6 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x0f1b79bc of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x0f1e0c3c mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x0f23df14 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x0f2a2af6 nanddev_erase +EXPORT_SYMBOL_GPL vmlinux 0x0f2da3dc rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0f538120 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x0f5c51ff of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x0f6100f5 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x0f627f0e nand_read_data_op +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f8377e5 xhci_mtk_add_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0f8a5477 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x0f8ff89f crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x0f9e3c9b dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0fc68529 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x10025d95 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x100359e4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x100a4161 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x100ab093 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x1011d2d0 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101e990b cpts_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1020245d __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x10276ebd usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x1043cac3 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0x104a921a inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1053a1a8 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x10553663 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x105c6ea8 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x106ad9e1 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x1089a1c0 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x109dc11c xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10ce010e mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x1104c4d5 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x1107365f gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL vmlinux 0x110b6b16 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x112b891e icc_get +EXPORT_SYMBOL_GPL vmlinux 0x112e7879 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x114ec42a wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x11526c9a meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x115884f5 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x115be771 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x118e499b pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x118eb467 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x119689be devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x119d8813 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11a658ac irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x11a705a8 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x11aa3b14 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x11be8ab9 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11cfd777 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x11d0e69c gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x11d7589e add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x11dbffb4 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x120064ce devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x12036845 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x12114ff3 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1220f828 sdhci_setup_host +EXPORT_SYMBOL_GPL vmlinux 0x12212c87 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1239b596 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x123c9fbb ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12882761 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x128a3fba __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x128b5d5e ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x128f6fb4 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x12914593 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129538d1 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x12b564f8 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x12c6fd1c set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x12c90b8c virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x12d02a2b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x130a5d5c devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131dafff regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132c1ba7 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133c035a sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x13456b69 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x134a0dc8 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x1354416f rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x135b8b9c of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x137ac313 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x137e2312 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x137e7090 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1385c9fc snd_compress_new +EXPORT_SYMBOL_GPL vmlinux 0x13889036 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x138a4bbe lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13955b3a dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x139d7873 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x13b04817 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x13c491f1 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x13d31cfe dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x13d33080 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x13ec0d5d mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f38166 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x13f8f73b iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x1402dddf snd_card_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x141064d5 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x1410713b usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x14172342 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x14204d9f of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x14207952 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x1428ad5a snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x142975f5 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x1438e288 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x14441874 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x144ca603 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x146525d6 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x1477f420 cpts_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1481c1e5 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x14a33af2 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x14a94efa napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14bdb7f4 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL vmlinux 0x14c2872d xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x14cb1535 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x14cc662b platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14e22c90 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x14f4e76b ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x14fed4cc tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x1501acd9 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x1526be25 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x15402240 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x1545d8af nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15535749 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x15582789 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x15746fb1 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x158a9df8 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x158d6292 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x158e8751 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x15a206c7 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x15a7ac21 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x15aa04ea sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x15ae611d wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x15b06044 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x15ba76b6 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x15bdc20e usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x15cf8353 mtd_read_oob +EXPORT_SYMBOL_GPL vmlinux 0x15d239d9 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x15da189e __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x15f01de6 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x15f3d3cf sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x15f40222 security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x15fae427 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x1622624f scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x162f559b crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x16403f2a crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x16504ccc ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x1650c4c8 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x166f5934 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x16866034 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x1688cd83 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x16a21f2f clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x16a28b3d regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x16ac6362 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x16c62cd3 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x16c95086 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16cb206f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x16ccd255 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x16d53fab ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x16d9f9ff pci_remap_cfgspace +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16f87d25 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x1706c08a power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1713064a sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x171feed7 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x172a360c serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x172dfa0b irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x17447dfb usb_gadget_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x1755f5ab rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x176eb3f7 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x176efcfd devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1775ed78 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x177a0633 arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x1790a257 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x17989d1c simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x179a4e10 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x17a56bbb devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x17ae0276 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x17c4ec0e skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x17d2adda devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x17fe24a2 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x180a5762 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x1812904c devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x181d8d99 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x1826b693 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1827389f crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x182822b0 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x182cea80 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x1839b703 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x1847c2b6 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x1849b673 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x18580367 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x185be040 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1871fb69 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x1882b33a crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x18872280 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1890efbd crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x18a27b7d lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x18bb6c39 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x18cd967a pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x18cefdc7 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x18dd22e0 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x18ddfa86 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x18e03664 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x18e3aafc phy_init +EXPORT_SYMBOL_GPL vmlinux 0x18e4a1dd spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18eb8e65 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18fea9ee usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x190ac9d7 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x19178ed7 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x191b1faa sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x191dffce ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0x1921431b meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x193bc3ba locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x194132fa zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x194e9623 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x195b80d5 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19660b71 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x1966d71b scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x19686072 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x196f41d4 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x199b88a5 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19aa2572 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x19abde84 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x19ae4e72 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x19b847b4 snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x19bd3f02 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19ce1d55 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0x19dde17e raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x19e58bb2 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a00c066 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x1a080c11 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1a108d40 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL vmlinux 0x1a384fcd of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x1a428039 regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0x1a645406 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a74b161 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a7baffd ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x1a85b553 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1aa69a1d shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x1ab92cb9 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x1abf356c pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1ace7560 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x1ae0b53c regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af2f8cd ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x1afde0aa nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x1b0f97c1 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x1b146f4e crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x1b169906 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x1b19bbee unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1b1af03e spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x1b22e884 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x1b2581a3 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x1b267f07 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x1b2d5d8e ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x1b428f55 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5235f1 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x1b6288a3 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x1b74b945 sdhci_request +EXPORT_SYMBOL_GPL vmlinux 0x1b845ed7 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b965ee8 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x1b9e5744 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x1ba88d59 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x1baa55d5 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bae62bd usb_gadget_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x1bb7ebc3 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x1bc296ad devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc590f3 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bd26634 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x1bd7cc3a regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x1be555ac led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bfb5aa6 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1c106afe bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x1c33f13b fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x1c387ee5 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x1c41e792 __fat_fs_error +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 0x1c798d9f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1ca331e1 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x1cba8e48 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc3a565 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x1cc996c4 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1cd42d54 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1cdf4efb copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x1ce5a676 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d0e3e11 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x1d2e24c2 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x1d54543e ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1d5e286d fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x1d61e7e1 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d838b01 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x1d83f449 put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d952835 mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x1d9e196a phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x1da3cbbf locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x1dadb82a hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x1dbb506d of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x1dc94d88 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1dd66c68 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x1dd6f066 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x1ddf7bfa iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1e0028b4 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e0b4bb9 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x1e0b9f6a snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL vmlinux 0x1e10d270 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x1e134f69 usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x1e2324ed gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x1e2752fb dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x1e3683b3 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x1e6531f2 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e865a22 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x1e88e6e2 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x1e8f6962 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1eaa9b33 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebb5d5f __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec1834d soc_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x1eca99ce netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x1ed65f09 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x1ee46cad user_update +EXPORT_SYMBOL_GPL vmlinux 0x1f04c70d __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f1844f7 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x1f2ff433 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f45898a dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x1f46fc1f skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x1f5322ef usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x1f54b3ee inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x1f54b730 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5fc4a5 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fa49d26 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1fa87b96 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x1fb985af usb_udc_vbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fce5633 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe7bca0 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x1feaf6a4 dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1feb29b4 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x1ffa2eda fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x200c1496 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x200c8110 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x202b089b udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x20315bee dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x203bcdfd do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x2045ba33 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x205a979c inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x20629895 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20972457 nand_select_target +EXPORT_SYMBOL_GPL vmlinux 0x209bbfcf ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x20bdaa0d class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x20dacb54 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x20e6e5f6 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x20fc56b3 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x2105599b device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x21164cb5 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x2123f60c deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x2135b3a2 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x213cc5e2 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x2145a24f set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x21494650 mvebu_mbus_get_dram_win_info +EXPORT_SYMBOL_GPL vmlinux 0x21562a1d raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x2159d609 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2159d9d1 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x215bd6e0 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x21652b54 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x216818ae nand_deselect_target +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21726652 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x21758cb0 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x217fdf99 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x21a55dc2 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21aaef56 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21c57a68 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x21c72166 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d47d34 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0x21e96de4 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x21f50f75 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x220a5ed2 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x220e3a1d pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221e98da sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x2228e11c dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x222a4285 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x223e52cf crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x22432754 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x22648c02 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x226a6e73 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x22720591 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x2272624b bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x22735562 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x228adfc4 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x22972fbe spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x22a52ab9 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22a95b19 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x22bcf6c7 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x22c06625 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x22c3965f phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x22c3a395 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x22c4dc86 of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x22ca1394 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x22d0145b elv_register +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22df308d usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x230068ef pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x231292ae device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x232e8e96 i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x23315465 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x233c4e70 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x233d1824 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x2341ad1c inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x2344bbc5 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x235310fe sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x2358ef0a dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x235bd250 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x235f35b2 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x2370415c kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x237ddb50 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x2380ce10 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x23843678 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238b9070 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x238e3c00 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x23950433 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a0d8bd mtd_pairing_groups +EXPORT_SYMBOL_GPL vmlinux 0x23aeea3a gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x23c11a22 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x23c9605c sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x23c99944 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x23cae511 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x23e1a705 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x23e333f4 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x2441ee3f ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x2444189b pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x2468742d gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x24771829 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x249502a2 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24bc71bb musb_set_host +EXPORT_SYMBOL_GPL vmlinux 0x24d59973 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e35446 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x24e88f8b rio_add_mport_pw_handler +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 0x24f7b878 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x24fc367d relay_open +EXPORT_SYMBOL_GPL vmlinux 0x2505cdb2 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x250c9353 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x25130809 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x25391eb9 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x25611cee uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x25674109 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259845b8 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x25990305 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x25a5891f __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x25abecce pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x25ada7fa lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x25b74b91 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x25d0eb23 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x25e324c6 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x25e3db5f dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x26089bec pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x261d4975 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x261ffd75 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x26223a89 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x2629b610 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x2634ab1c regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x2638586b xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x26467e7f snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266e67e6 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x26744c6a usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2681a1c3 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x26828624 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x268fac5e fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x26a9c14b ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b2e52f transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x26c547c0 bL_switcher_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26c90a22 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26ea948c devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x271594df dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x27189a6d md_stop +EXPORT_SYMBOL_GPL vmlinux 0x2719188f tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x2722817d fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2734197f musb_readb +EXPORT_SYMBOL_GPL vmlinux 0x274167c2 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x2742e86d gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x274ba365 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x2755221e iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x275ffbd4 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x2773f4eb device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x2778d382 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0x27860227 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x278cc47f fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x278e8f96 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x2792bcf2 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x279307d9 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x27a3a077 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x27a870f3 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x27b0754c securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x27e10256 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x27f27694 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x28002d14 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x2802b7df cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x280bad38 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x281d8c60 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x282b7d57 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282d32de devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28324646 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x28466f37 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x2862f4b1 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x28749469 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28896afa dev_pm_opp_enable +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 0x28aed04d fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28b31554 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x28b8e69d usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x28be0b91 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x28c89314 usb_gadget_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x28de5143 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x28e8575a pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x28ea8dc2 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x28eb03d0 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x28ee7938 mtd_write +EXPORT_SYMBOL_GPL vmlinux 0x28f1ffca nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x28f210a9 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x28f70949 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x290b43fb __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x290b8339 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x29136246 pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0x2913a197 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x2914779e pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x291b197c hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x291e159b ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x29311c4b serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x293ea094 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x294a59dc pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x294dc9a9 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x295385f7 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x295a2670 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x29679e3a led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x298240fa tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x298e8149 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2991e38a devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x29974db3 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x299804ce extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x29a02756 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x29a67cea iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x29cc498c ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x29cd2cf4 security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0x29ce0cdc device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f27673 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a0fb0fa devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x2a2a8084 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a3e9824 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x2a444f65 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x2a551730 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x2a5c49a6 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a6a4470 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x2a776bee vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x2a7add63 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL vmlinux 0x2a7afe4a dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x2a887aa0 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x2a9d0f47 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab4dee7 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x2ab85fb6 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x2acce8d5 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x2ad4ee2b tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x2adc17f8 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2ae2a1dc usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x2ae4cdff devm_snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x2aeb2060 mtk_smi_larb_put +EXPORT_SYMBOL_GPL vmlinux 0x2aff27cb mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x2b117337 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x2b1e874a bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x2b26b548 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2b3245e6 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2b36f39e cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b4a3835 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b637a3c ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x2b642a29 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x2b662267 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x2b7ff8d0 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x2b8768ef spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x2b89f386 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b96a1b9 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x2bc9ca98 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x2bcff957 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x2bd13497 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x2be5030f copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x2be8b73d of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x2beed1d3 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x2c04ff86 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x2c06e7c2 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x2c1320ac usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x2c14f825 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c458950 sdhci_set_power +EXPORT_SYMBOL_GPL vmlinux 0x2c56b73f pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x2c59b559 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6b96ee rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x2c6d49dc amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2c712acd usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c7ebc6b devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c979e3a gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c9e9a75 tps65217_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x2ca821a3 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cb110ec devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2cba5b1b clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x2cba5df4 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x2cc6e3aa regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x2ccbc250 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2ccc061d devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x2ccffe1c regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cfa4ea3 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x2d0dd06f tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2d104f2c nand_read_oob_op +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1f2f13 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x2d2bb645 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d31552e debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL vmlinux 0x2d3aaac2 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d4444ff snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2d59048e debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x2d6e9e78 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d73432b snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0x2d758e48 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x2d7e7dd0 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x2d81a902 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x2d81fc16 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x2d84ca5e gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x2d93682e ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2dd8289a snd_soc_runtime_action +EXPORT_SYMBOL_GPL vmlinux 0x2dd99259 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2ddd17a9 dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x2de05736 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x2de105d8 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e04f8e0 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x2e0ed5c1 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x2e137556 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x2e1bacaa ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e30509c percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2e3ec06b dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x2e4261f6 snmp_get_cpu_field64 +EXPORT_SYMBOL_GPL vmlinux 0x2e469a22 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x2e47032e spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2e497e5c regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x2e61f000 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x2e633d70 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x2e64994f dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e74a678 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x2ea7fb2c wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x2eaa18e3 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x2eb884dd phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecbb347 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL vmlinux 0x2ecd2e62 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x2ecf3e2e ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x2ed2ca29 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2f02e0b7 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f256f9b blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f446fd0 sdhci_cqe_enable +EXPORT_SYMBOL_GPL vmlinux 0x2f473a33 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x2f4b707d gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x2f4c9d23 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x2f51c7e4 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x2f5c1223 __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2f63e634 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2f7f7c19 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x2f86840c trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x2f895416 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2f8bb724 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x2f95d7e9 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x2f97b1f9 device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x2f99018a pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x2f9f9f31 usb_gadget_activate +EXPORT_SYMBOL_GPL vmlinux 0x2fa87232 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x2fade0be synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2fbc5de0 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x2fc07df3 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x2fdd21fb direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x2fe494a1 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x2ff1ec75 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x2ff907a5 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x300952fa of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x30096956 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x301e221d snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0x30208e33 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x302b2491 usb_gadget_set_state +EXPORT_SYMBOL_GPL vmlinux 0x303724f1 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL vmlinux 0x304ee93a usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3069809a __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x30741085 sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0x309a1337 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL vmlinux 0x309c72b9 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30a6ee12 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30c197ec of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x30ca5099 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x30d4a1a5 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x30daf7ca pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x30dbdd85 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x30e1be6a regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x30e54cf8 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x310006ea mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x313fa5f8 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x315efc72 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x318080d0 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x318ef1ea devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31bb2143 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x31bd15b4 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31ce758e sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x31ee5c2a rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x31f11736 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL vmlinux 0x3204995d mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x32206442 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x3222c6de mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x322893ee __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x323cbddb regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x324548d8 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x32501698 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x3252d809 snd_soc_dapm_init +EXPORT_SYMBOL_GPL vmlinux 0x3263afa6 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x326bb0a4 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x32780716 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3287dc3e pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x328847c9 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x328b8a7f tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32b8f2f6 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32ce5f4f srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x32eda437 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL vmlinux 0x331f80ca dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x332d02b7 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x3335ae32 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x334d742c fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x33632965 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x336954e5 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x3388a776 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x33a3333a genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x33a6d8cd nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x33cd2cd6 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x33ce9d39 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x33d3ad94 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x33dba39c tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x33dc57b5 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x33e55ae3 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x33e9e0a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33eff84c get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x340956d1 mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x341473dc inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x342a6bbe snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x342ce3ed i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x343bd0b3 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x343fd241 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3450e8c6 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x34563aba pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x3461ba36 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x3468cdc8 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x346a4041 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x3476856f amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x3486cff4 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x34908579 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x34914153 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x3499731f invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x3499a07a bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x34a49b19 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x34a84df3 __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x34aa7425 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34b53ff2 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x34d361a4 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x34e14813 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x34e67480 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x34e7d26f crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x34eddf30 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x34f84d92 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352d5dee nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3534e8bc rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x35351cb8 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x354480be musb_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x3549f35f elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x35525048 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x35540576 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x3554d504 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x356858a7 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x3571dc3a __cci_control_port_by_device +EXPORT_SYMBOL_GPL vmlinux 0x357633bc netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x358c7f5a iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35996de4 em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x35bfb28d max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x35cbe317 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x35cc18d7 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x35e8c2a8 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x360ecd5d led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x36190def clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362bf55a devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x362de961 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x362e1355 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x3631a63b xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x3642f871 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x365652f5 tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x365af7ae __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x366cf4f5 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x36746ae8 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x3674cfda arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x367f414c nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a42cbe fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x36c9cb6c sm501_unit_power +EXPORT_SYMBOL_GPL vmlinux 0x36d8581d wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x36d8bd4b ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x36ec8a8a nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x371eec3a device_create +EXPORT_SYMBOL_GPL vmlinux 0x37240436 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x372e00df serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x37593673 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x37595cb3 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x3769acf2 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x3775df37 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x3793f7e3 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x37964211 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x37b3b534 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x37b63cb4 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x37b78439 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x37ded726 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x37fa9181 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x38284309 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x382ca503 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x38357bf6 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x38373bcf kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x38478c2c __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x384acec3 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x38644cb0 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x3881e338 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x38842376 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x389d7088 nand_erase_op +EXPORT_SYMBOL_GPL vmlinux 0x389de6a6 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x38a8b350 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38aa4657 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x38c0c9e4 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x38ca8ea4 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x38d41c51 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x38d537b9 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x38d64028 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38f29f30 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x38feb784 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x39174654 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x3921a537 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x392ca801 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x395fb1c0 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x396aea92 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x39808d14 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x3989dd11 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x398e6aa0 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x399244f3 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x3997ac05 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x399e2440 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39a85a06 devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x39b4580c tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x39cefcd9 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39f7adee da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x3a086351 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x3a173962 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a607c93 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x3a6c7541 __sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x3a6dc43f pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x3a757000 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x3a82a75e nand_gpio_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x3a8a8277 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x3a9ade3b spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9bfb90 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x3a9c433f dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x3aafb097 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL vmlinux 0x3abee893 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3ac59620 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad38410 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x3ad41fed crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x3ae02fab devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x3ae7645c pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x3aed5d86 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL vmlinux 0x3af56c8e __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x3af86513 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x3b0694e3 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x3b0ff794 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x3b207c69 nanddev_isbad +EXPORT_SYMBOL_GPL vmlinux 0x3b37073e debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3b3874e2 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x3b3d2777 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x3b45badb sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b613a08 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x3b6eba87 dapm_clock_event +EXPORT_SYMBOL_GPL vmlinux 0x3b7cee9e vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x3b819ea3 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x3b9c08d5 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3ba26281 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3baace6e regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x3bb8fd73 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x3bc150e7 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0x3bc6589f crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bee39f7 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3bf02f1b ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bfdd2f2 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x3c1022a0 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0x3c170b07 sdhci_set_ios +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c27e28b wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c316b45 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x3c342016 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x3c533392 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x3c5aa044 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x3c651f33 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6e72e6 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x3c6fb6d8 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x3c72724e usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3c766183 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3c950a27 snd_compress_register +EXPORT_SYMBOL_GPL vmlinux 0x3ca07651 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3ca771bf tps65217_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x3ca8a5db net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x3caaee27 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x3cb70bf7 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd33a05 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x3ce24ee9 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x3cf223e8 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x3cf280c2 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x3d03dfe2 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x3d057280 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x3d1259d1 ahci_shost_attrs +EXPORT_SYMBOL_GPL vmlinux 0x3d183fd8 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x3d1c7259 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3d1eda71 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x3d22d585 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d431e71 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d49fc73 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x3d50f8c0 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d517781 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x3d68e5bf devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x3d79ad09 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x3d7c0e79 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x3d849817 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x3d8bf39e tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x3d8e5946 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dd964e5 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x3de3fcfb pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df57df1 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x3dffe525 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x3e027ca5 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3e2f24ab driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e4af0ce ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x3e506a7a input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x3e54c78d debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x3e5f5622 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x3e604515 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x3e6c1240 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e725b5a crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x3e7385cf devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x3e83264f tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x3e8a8eb0 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x3e961c0b __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x3eb6c4cb dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x3ebb2df7 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x3ebb5951 nand_reset_op +EXPORT_SYMBOL_GPL vmlinux 0x3ed20898 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x3ed3feaa tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x3eef10f2 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f060887 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3f130199 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x3f13bd94 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x3f1f38f3 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x3f3d27da pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x3f3f4432 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f4633b3 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3f4eadac snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f5531c6 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x3f577d68 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x3f5eef78 of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x3f68b1f4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3f8c6569 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x3f980591 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x3f9b222a usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x3fadf939 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x3fafbf40 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x3fd1eb8b rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x3fdb3d71 iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x3fdc6b84 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x3fe44f1e sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3ff543eb handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x4009ad9c aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x400fca2e regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x401191f1 snd_soc_dai_active +EXPORT_SYMBOL_GPL vmlinux 0x40187e78 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x4018f2c1 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x402f0b09 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x4039d885 snd_soc_component_read +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x403fa632 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406ad6ba xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x406e5a53 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x408f3128 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40ab77fd usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x40b77297 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x40cc8106 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x40dd2619 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x40e4d649 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x40eeba64 bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f5f1df devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40f719c2 sysfs_change_owner +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 0x41093d9c kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x410c6916 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x41114ee6 sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x41151773 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x413cf0b5 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x413d275c mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x4140e225 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x414538e6 synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x41522881 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x41550d96 rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x4161bb23 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x416c2f50 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x417779f0 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x417b9660 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41adb8e6 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x41b51f55 setfl +EXPORT_SYMBOL_GPL vmlinux 0x41c30f3a trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x41c71746 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x41cbc919 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x41ea7510 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41f2dede iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x420f51d7 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x421bfa8c loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x421d4592 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x4223b2f2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x4228fe68 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x4238e63f bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x427805cd snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x427b9623 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42887525 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x4296ec95 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x429938ed tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x429d32e1 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x42aadcce clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x42b87131 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x42dcb65f led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e86421 usb_gadget_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x42e9cd7f ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42efb127 nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x42f10ca5 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x42f23a75 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x4302ee53 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x43085f61 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x43286f04 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x432edad9 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x433cf19c arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x43469c9e devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x434a3555 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x43555aff ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x435b053d sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x43633921 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x4365cc82 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x438f72a4 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x4394e0fa xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x43a2b9d3 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43aba175 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x43ad2bf5 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL vmlinux 0x43b4c9d4 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x43c665a9 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43e00a9d xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x43e2b64c mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL vmlinux 0x43eeded7 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43fa943f regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x4400628c tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x44339406 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x4442b324 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x44467c7f clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x44531e80 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x44584ab9 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x446996da mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x4476e8cb snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL vmlinux 0x4482569b scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44a0a0ad ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x44a4ae47 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x44a6702f usb_gen_phy_init +EXPORT_SYMBOL_GPL vmlinux 0x44af7880 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x44b10214 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x44ba1042 percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c3b4f2 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x44c5a125 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x44ce6d09 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e9bacd dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x44eb5a7d dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x44f18399 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x44f531ab fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x44fc9680 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450f5c30 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x453fc2ba devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x4542c569 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455879c0 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4562f8e4 pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x456997ed wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x456ee442 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4576c8f6 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x45823492 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x458eca7f genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x4591c63b sdhci_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x45952acb pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x459555cc usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x4595dd9c trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x45a00f81 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x45a8d54f of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x45b56bbc iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x45d07221 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0x45db7b64 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x45dde447 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x45e72142 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x45e7768b ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0x45f1bc79 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x45ff8535 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46059082 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x46066e5b perf_pmu_name +EXPORT_SYMBOL_GPL vmlinux 0x4610a277 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x4610bc5e ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x46153ab6 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x461ca6fd dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4622d81f gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x464c8cd9 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x465a9373 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x4662a4d0 iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x46712e2b gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x467e963f mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x4683a8ee key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468d161a arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x468f17ca virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x46aa6ddd dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x46ab757d devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x46ada3f9 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x46c06c19 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46d672b8 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f9c09b bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x46ff7144 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x47021ecb pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x470d9e43 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x470e8db3 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x471c40b1 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x471d01a2 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47317949 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x4734e445 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x4736a779 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x47441871 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x47553816 sdhci_pltfm_init +EXPORT_SYMBOL_GPL vmlinux 0x475a924d class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x47609f0d rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4766bd21 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x47734394 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x477b1fff spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x477e8f7a __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x477fc0e9 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x4781245a devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x47876615 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x47889afa __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x47925794 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47d93c63 nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e2ad3c mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x47e75a1c sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x47e96f2d register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x47eb0da9 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x47f41963 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x47f56cf9 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x48020c1c irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x4805ee8d i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x4810740a rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x481ebb1b iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x484779ef __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x484be316 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x4856fbf4 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0x485bf2c7 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x485cf8e6 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x4862e1fc ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x48643f1e pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x4885754d __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x48956ba4 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48a7784f wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x48aac10f mtd_ooblayout_free +EXPORT_SYMBOL_GPL vmlinux 0x48d3e747 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x48f22e44 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x49012fee snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x49108b8c devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x4922e827 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x492f14e5 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x49326ef6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4932c2fc kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x49435e9c regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499ccdb1 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x49a2c9c1 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x49b0c7b7 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x49b2a073 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x49cdd306 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x49d3b2fa pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x49d96707 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL vmlinux 0x49e6c0a3 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49e97bf3 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x49ea8f9e blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x49eee3ca regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a186a7a lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4a2510d5 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x4a31c4f2 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x4a40f54d snd_soc_new_compress +EXPORT_SYMBOL_GPL vmlinux 0x4a4d4512 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x4a74d073 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x4a94d462 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x4a998f5d __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x4aaa7635 nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0x4abc570a crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x4ac3d0d6 __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x4ac8448c class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x4aee7aa1 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x4af2a260 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4af2b5b7 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4af3bfbf dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x4b40143b snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x4b455068 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x4b45be79 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x4b48a6de devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b5a1f42 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x4b5e4830 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x4b5e7872 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x4b6b0936 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x4b785056 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x4b8676d1 arm_iommu_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b8741ee musb_queue_resume_work +EXPORT_SYMBOL_GPL vmlinux 0x4b8ac32e dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x4b8fcef2 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x4b92e21c serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x4bab9f9b gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x4bc03082 cpts_register +EXPORT_SYMBOL_GPL vmlinux 0x4bc2fec3 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x4bc7bfb7 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x4bcca2c4 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x4bcf8866 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4bcfbbd8 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x4bd3a4c8 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x4be72da9 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x4be8eb48 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x4be96422 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x4beae771 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x4c16f28f mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x4c23d4d2 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x4c29fadb snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0x4c2eea53 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x4c314c65 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x4c38ce73 gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x4c629d89 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x4c690d36 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x4c6d2166 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x4c6db992 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x4c7bb224 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x4c93f9d4 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x4c98d105 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x4ca0a0c9 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0x4cb1cf44 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x4cb355ed snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL vmlinux 0x4cc2a904 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x4ccde722 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x4cdb0730 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x4ce7bfe5 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4cf17d9a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4cf24332 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d05a622 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x4d0a32dd bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4d126cb2 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x4d19f824 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x4d3687d9 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x4d38f1e0 bL_switcher_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4d4635b9 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x4d49d658 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d566629 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d74e3a8 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x4d750166 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x4d8110d0 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4d8a532b vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x4da8f1e8 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db2da7c get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x4dc6cfab usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df88a29 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x4e042a1e sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x4e13b965 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x4e169960 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x4e20142e blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x4e29c44c devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x4e391a51 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x4e3a5c78 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x4e3cb12d gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x4e411c41 mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x4e78c75a scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x4e8e9059 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x4e903d8a efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x4e95e4cc virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x4eaae4cb regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb7e02d usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x4ebe0037 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x4edb2a6c vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4eefc677 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x4eefcab9 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4ef1c511 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef8bf09 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x4ef93d99 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x4f124822 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f179d74 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x4f25dc48 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x4f3ba219 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x4f543ff9 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x4f546853 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x4f690f48 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f747552 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x4f81b817 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fa5ee54 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x4fa72728 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x4fd5ec4a devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x50258d38 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0x503231cd power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x50381a0d wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x503ab746 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x503eeebb synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x5040fe33 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5043cdf2 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x5044bca6 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x504fb6f0 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x505361b7 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5059f7f1 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x505ced6f pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x50666443 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5068ff50 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL vmlinux 0x507208b1 mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x50725f8b virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x5077e006 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x508afef4 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x5094c6ef fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x509e7b8d ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x50ab5abb i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x50b5f9bf sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL vmlinux 0x50ba78ec pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x50c06de9 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x50c54bec crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50d98dcc ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x50db9829 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x50dc9485 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x50de1a4b nanddev_bbt_update +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f6dddc fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50fe4557 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x51058329 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x510c6108 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x5114bc62 bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x51467b09 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x514bd4b9 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x516f2264 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x5173d1b6 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x51754009 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x5176337f phy_exit +EXPORT_SYMBOL_GPL vmlinux 0x5183c69e da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x51857471 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x5185ea2e __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x518640da devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x518cae05 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x5190296d virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51a3516b mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x51b616aa nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x51ccc3c2 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x51d0b2cb devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x51d1ddd7 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x51d5305a rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x51d62e6a of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x51ec03a4 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x51f919ce subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x51fdecf8 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x52057b37 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x521879d1 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5230e419 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x523404d6 clock_cooling_get_level +EXPORT_SYMBOL_GPL vmlinux 0x52342033 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x523e0591 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x52458378 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0x524dcd66 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x526aace6 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x526f1f2e tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5274557a pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x528e90b3 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x528f43c4 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x52a2b4d0 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x52a572fa gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b31e65 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x52b3e8a1 is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x52c1c152 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x530b4a48 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x533328b8 musb_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5344f151 sm501_find_clock +EXPORT_SYMBOL_GPL vmlinux 0x5346c7e0 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x53485e94 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x534d23b2 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL vmlinux 0x534fa7f5 inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535bac2e devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x5362b563 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536b1bb6 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x5382a5cb device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538dbb70 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x53936fc2 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x53aa4d80 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x53ababde __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x53acb5e1 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x53ad55fc driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x53ad8f89 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x53ae0e72 mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x53b46405 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x53bea510 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x53d0acf0 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x53d4b820 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53e39fec usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x53e44378 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x53e8c91b do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0x53ef3f99 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x53f7b5e3 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x5404b61f nand_ooblayout_sp_ops +EXPORT_SYMBOL_GPL vmlinux 0x540f7655 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x54172702 cci_disable_port_by_cpu +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541e33fc register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x542fa5b1 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x54328e37 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x54371098 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x543eb975 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x5445450e snd_soc_component_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x547840ee security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x54788841 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x548f4cdf platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54b3e26e perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x54bd23e3 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x54cf4298 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x54d6c5c2 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x54e9052c tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x54fa62de regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x551245fa devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5516fc68 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x551ed79c of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x553e763d scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5546d19a sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x555180ba pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55776665 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x5577f5e9 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x5578c5fc acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x558ce4a7 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x55941e16 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x55944d4c mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55a39739 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x55a77a24 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x55b77ac6 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55dfde13 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x55e88fc8 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f9a934 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561804ec bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL vmlinux 0x5619de76 platform_device_del +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 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56416dbf fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x56488870 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x5653892e free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x565c7ab1 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x5681dd90 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5686c5a8 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x5693d475 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x5695da19 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x56a2162f devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x56a6a76c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x56b37528 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56bace5d badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x56c6cea8 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x56cd3b43 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x56da446c tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x56df53de devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x56e82436 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x5717f730 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x57194c54 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574f46ca serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x575893b3 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x5762d67e snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x57773563 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x578e4d48 sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a1061b ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x57a231cc usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x57ae2763 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x57ba991e spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x57bb8b83 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x57c32f4d __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57d879ae mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x57da1198 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x57e31335 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL vmlinux 0x57e75051 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x57f6ff2e fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57fb1806 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x58010c93 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x5805e07d attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x580e84c3 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x581538ec devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x581cc471 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x582faa9f snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58344883 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x58420451 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x58491e09 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x585346ed power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x585dd017 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x586207e0 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x586224a5 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587ac04d cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x58980773 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x589cb3de stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x589fe538 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x58a47cda ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x58aafa27 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x58b2d1bc dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x58b3870b irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x58b8d24d led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x58bfd889 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x58c5fb95 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x58d88ca1 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x58d9ce48 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x58daefb8 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x58dc38e4 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e19f43 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x58f0308a clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x59049fbd strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x5909772e device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0x59173ca1 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x59287c22 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x5928ccec sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x594823af pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x5959771f device_attach +EXPORT_SYMBOL_GPL vmlinux 0x59608920 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x59699aba register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x596f2d39 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x59726416 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59920c99 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x59a1fab8 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x59a9db87 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x59b49179 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x59b5def6 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x59b75ce9 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x59c9d252 nanddev_bbt_init +EXPORT_SYMBOL_GPL vmlinux 0x59e5fa01 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x59f49322 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0x5a1a9f7d __sdhci_read_caps +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a397708 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x5a39c040 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a516d4c sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x5a55520c pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a76e56b sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a7d37b2 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a8327f5 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x5a99ebbb __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x5a9e9ea0 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5aa7b21e nanddev_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x5aa7b7df perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x5aaa3073 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5abf439e power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x5ac24451 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5ace8349 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x5ad5bc8f wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5ad71bfe vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5adda40a vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x5ae7571f blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x5af8c439 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x5af8c60e usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x5b1f4057 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b29ed9d __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x5b316080 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x5b3ae22e relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x5b46ebed sdhci_start_tuning +EXPORT_SYMBOL_GPL vmlinux 0x5b485a68 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b604e5a pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b7bf665 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x5b8054e8 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd220de pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x5bd61399 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be8ba5a sm501_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x5beb6e07 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x5bebc201 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x5bf4b835 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL vmlinux 0x5c0d249f mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x5c189f93 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c2f8696 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL vmlinux 0x5c302cff request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x5c36743b crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x5c49a132 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x5c4aeaee skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5f1a25 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x5c66e90c efivar_run_worker +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c84d1f6 mvebu_mbus_get_io_win_info +EXPORT_SYMBOL_GPL vmlinux 0x5c8b78b7 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x5c913850 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cbdef46 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x5cbec736 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x5cc05b5e blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x5cc18fff cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x5cd70028 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5cdda9a4 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x5ce5e1b7 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x5cedcfe2 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x5cee7d3b ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x5cf09a57 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x5cf2e44a blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x5cf3d1b9 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x5cfe8f1b bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x5d108387 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x5d1b82d9 snd_device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x5d26b51f __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x5d35b43f __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5d4185aa __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5d41fbe8 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x5d592d16 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5d6b776b dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x5d708f99 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d89719f kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db751e0 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x5dbea5d0 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5dc7bedb snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x5dcd8d8c iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x5dd252ed dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x5dde11c5 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x5df778c5 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x5dff6fda x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x5e12ecc1 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x5e133fed debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x5e29ef4c devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x5e46818a snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e67b71d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x5e730533 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL vmlinux 0x5e76b406 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e79f45e irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x5e7da51c regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e9d8475 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x5eae818f rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x5eb43c92 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x5eb937d9 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ec8281c ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x5ed6100d md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x5edcf43a ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x5ee0e957 mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x5ee43b9c kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x5f10429e gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f2b49e8 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x5f594197 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x5f647208 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f740e95 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x5f8b666a device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x5f8bdb9f dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x5f96c6d1 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x5f96fe6b do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x5f9aeebe stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x5f9e1a1a __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x5fab7bfa pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x5fcbcf28 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x5fd6ba88 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x5fd8b19b gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x5fe339de tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x5fe84849 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5ff6081a iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60036813 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x6006f18b adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x60235599 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x6027a392 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x6032470e usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x603e5a3e pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6050da04 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x60671345 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x606ded77 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x6075d0c7 omap_tll_init +EXPORT_SYMBOL_GPL vmlinux 0x60778684 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x607c70b6 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x607ca5ad nand_soft_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x607e96c6 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6093824d fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x609937ef dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a48d00 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x60ab397b pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x60b838ac sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x60d49d13 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x610e048d nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x610e5a7c ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x61136494 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x61181521 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x61246eab devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61399ffe iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x613fd981 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x614150ff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6142b702 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x61463532 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x614782f1 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x61566421 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x61695527 xhci_mtk_sch_exit +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x617cf23d __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x617fe348 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618ec3b2 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619a7acb sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x61a89785 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x61a8fd63 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x61aba836 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x61ad634f snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL vmlinux 0x61d3a694 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x61d72114 sdhci_reset +EXPORT_SYMBOL_GPL vmlinux 0x61df47a8 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x61f67794 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x622bcaa5 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62351bd6 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624ad813 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x6250eb7d perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x62522a9c regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x62686f75 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x6278066e iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x628aa539 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x629a070c sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x62a1704b blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62d0e2a6 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x62f5a57e cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x62fd3e18 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x63045c46 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6318573f tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x631a101f ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x6322b448 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x63232a3b spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6323ed32 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x632f787b usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x6332b872 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x634a4d6c crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x634aac2c pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x63518ae5 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x6355e737 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x636da324 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x636ef707 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x63763fcf rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x638a85b3 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x63941eee open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x6398c523 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x63b9d6ad crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d69f05 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x63dd1103 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x63e92c7a power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x63e989f0 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63f7eb5c devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x63f8b988 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x64046ba5 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x640dba4e devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x640f84e3 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x640fb721 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x641e7ce7 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x643a666a devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x643ed9bf usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x64406228 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x644134c5 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x644bfdcf trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x644d304a do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x646981a6 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x64748acc spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6479e15e devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x648cfbe1 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x648d3b27 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x648f220c devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x6493a2df rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x6494910d devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x6499ca92 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x64a2c7e7 meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x64a8e2e4 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x64b135a3 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x64b8a16a snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL vmlinux 0x64bd0ae4 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x64c07d32 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x64cdf082 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x64dea056 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x64e18534 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x65136aa0 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x6523192f blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x652ade7b subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x65302b37 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x6537383d l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x653b78f3 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x65430193 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x654804fc tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x656d4724 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x6571b5b9 snd_soc_component_read32 +EXPORT_SYMBOL_GPL vmlinux 0x659c6d2b iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x65c9708d device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d3886c ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x6600192b crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x6611670e handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661c0fc0 powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x661f3261 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x6628a600 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x6652a24a tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66704b01 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x667f523a trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x667ff627 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x66806c9d tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6682eb65 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66854d38 cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x66955d24 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL vmlinux 0x669c0843 iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x66a91cc7 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b4bddc ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bd52da rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x66bd867f devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x66c33af7 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x66cb6361 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x66cfb748 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x66d4a5fb snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66dfc62f mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x66e4c4cb __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x66f5fe89 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x66fc2bc0 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x67145c69 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x6717cc47 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x6719c582 serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x6724ea55 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x6733e5dc bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x673e530d component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x673fae60 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL vmlinux 0x674c38da __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x676bb641 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x6781513c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x6785f149 mtd_write_oob +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67963c2c netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x67a6005a gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x67ac712a gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x67b9282e pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x67b9d5a4 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x67cbf807 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x67cdcfe5 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dc3282 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x67e75357 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x68145277 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x6844a92e __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x684710de palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x68562095 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x68593638 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x686b1ae2 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x68758fda nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x68895b1b xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x6894835c __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x6895d21a perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x68a3655d iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x68a72bc1 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0x68a86941 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x68cb30c9 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68d2533e nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x68f11c76 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x68f37e9f __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x69013c97 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x6902f935 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x69132e76 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x691c85b6 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x692098e2 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x692752c8 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x6929039d fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x692a4f08 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6937ef61 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x6938a8ff root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x693c20b2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x69424741 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x6945725e mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0x6945ae89 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x694e44e2 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x6956d12f snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x69585b0e serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6983a04d skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x69861a59 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698a09a9 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x69b08058 snd_device_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x69bd57aa pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x69c87a51 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x69c9a07f pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x69d47d13 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69e3887d split_page +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ed7e4c bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69fca83d crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6a026e80 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a1350f7 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a241212 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x6a2a0675 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a57932a snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a61fe27 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x6a64972a iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x6a6a7207 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x6a6aca06 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x6a6ade7e device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x6a6dc43b ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x6a7b8f38 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x6a7d6cf3 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x6a8c06a6 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a91041a efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x6aa5e412 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x6ab08dbc sdhci_dumpregs +EXPORT_SYMBOL_GPL vmlinux 0x6ab1c8bb xas_store +EXPORT_SYMBOL_GPL vmlinux 0x6abc9f6e crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6ad32f6f snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6addc514 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x6ae641b6 alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x6ae7c40a reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x6aee4f64 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL vmlinux 0x6afc38c5 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b289687 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x6b334acc trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b6f9041 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x6b72e663 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x6b7ce33e usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b85cfff pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x6b9d6af9 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x6ba08f4a snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x6ba37544 cci_ace_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6bafcd9a ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x6bc65852 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x6bce93d8 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdc7844 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x6bec518e gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x6bf33c12 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x6bf3b89f blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x6bfbc3ae edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x6c06808a console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x6c0a3e3c mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x6c0a8b70 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL vmlinux 0x6c0c2cd2 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x6c278255 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c406e76 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x6c43b737 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4c33cf skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x6c517408 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x6c553741 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x6c5d537b clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x6c64017e mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x6c65c297 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x6c660147 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x6c7f64d4 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x6c83a2eb shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6caeda4e vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0x6cb716f8 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x6cd17e49 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x6ce460dd devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0b8c5e percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x6d1a703c ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x6d1ca7a7 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d394285 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x6d3b6383 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x6d4d51ee devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x6d57cdee fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x6d5a3abb get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x6d5dc3f1 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7362f8 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6d752fe8 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d85c62d devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d8da853 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x6d934da7 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6d94b976 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6da3a3b8 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6daacb48 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x6db2d221 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dd679f3 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x6df2c226 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6df7b065 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x6dfabed1 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x6dff5759 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x6e11a634 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6e2a3537 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e69aac4 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8c9c41 snd_card_ref +EXPORT_SYMBOL_GPL vmlinux 0x6ea19390 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL vmlinux 0x6ea53a28 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x6eb292cd crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x6ebc3a16 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec798c0 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x6ed1fc33 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x6edc44d7 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x6edfe980 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f126bfa snd_ac97_reset +EXPORT_SYMBOL_GPL vmlinux 0x6f4585c5 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x6f505096 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x6f51dd32 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x6f732a92 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x6f740fed power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x6f871720 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6f9f916d sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6fa05725 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x6fa92791 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6faa6b57 nand_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fb3f5b5 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x6fb7e313 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fcf72c3 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x6fd67ad1 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x6fd8f4a5 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x6fdd9019 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x6fe1ad03 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x6feda4cf ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffa74d1 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x70193494 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x703312c1 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x70423f5b irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x70484b21 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x705664e6 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x7068f0ea debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x7069dcea bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x707394a1 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7086fd23 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x70998b49 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x70ab6331 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70b729e3 tcp_abort +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 0x70d14b27 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x70d42544 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x70e04613 device_del +EXPORT_SYMBOL_GPL vmlinux 0x70e4c79f balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x7107e902 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71369fcd crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x713dc7c3 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7149183d udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x715a6280 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x717a3961 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x717bc1a4 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x71897957 find_module +EXPORT_SYMBOL_GPL vmlinux 0x718a3556 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x71fb8734 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x72079a2c __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x7220a922 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x7220b43a spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7226a5c7 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x72375a5f ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x723aa3d2 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7245e15c ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x7249550b serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x7253281c snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72790de7 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x727d7680 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x72ab1dac sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x72aee1ad sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x72b299e1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0x72c82bd3 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x72d6a32c extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x72dcb262 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x72e64efa devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x72e8bf1e ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x73300e03 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x73348cfa irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x73459609 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x734daf31 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x7351c163 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x73784994 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x737cef9e ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x738206ae device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x738780f3 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x738d040d i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x73915686 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x7393dd3a ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x739baf55 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL vmlinux 0x739e67d0 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b98231 asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73cf8eaa snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x73d414d0 snd_soc_dai_action +EXPORT_SYMBOL_GPL vmlinux 0x73dcc445 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x740de99c device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7412ca62 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL vmlinux 0x741ec29b sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b22fa pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x7451780c spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7460cc21 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7464f6cb regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x74755a48 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x747b2d53 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x74814240 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x74850903 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x748e5e39 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7499e5cd da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x74a4234a ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x74b4dcfa ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baa08e bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bc22f3 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x74c7b830 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x74d69679 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x74da4311 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x74eb7365 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0x74fc2d56 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x74fc5fe6 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x750afdc4 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x7512b6a6 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7513b5ec __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x7521af63 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752403b1 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x7536f76f __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x753d5b78 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x755ae3c8 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x75618d42 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x7569983a mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x7573f1ba nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x757631ef usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x7598bfaf nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x75b640b1 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x75bf6cc0 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x75c3ec0c blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e91532 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x7608fc57 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x76133bba ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x762609ef dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7626a294 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7637f925 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x7649bf02 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x765c0c78 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x765c10d6 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x76642d35 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76caeacd tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e10a88 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x76ec5856 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f345f4 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x7700aa68 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x770b8138 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x771838b8 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x771c559a ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772e2c26 xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x773c0fc5 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x7742d5c0 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x7743fff4 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x7748be5b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x774d4614 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775eeb1c sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x77696258 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x77823866 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x7791b556 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779afca6 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x779cf19b blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x77a45eda devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b3294b snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL vmlinux 0x77b5fd07 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0x77d2b6dc xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x77d7a471 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x77d9ba94 tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0x77e50659 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eca88e watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x77ef5e92 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL vmlinux 0x78164924 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x78210801 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7823f5dc sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x78257377 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x783069b7 rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x7830d15c fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7859ae82 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x78624b30 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x78825051 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7885dad2 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78b1aeeb bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x78bbd8d9 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x78c26785 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x78d77e32 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e1a72a dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x78ec986b device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x79042d26 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x79079c68 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x79080469 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x791159ea irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x791a706a nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x79275f6c rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x793a93dc raw_v6_hashinfo +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 0x795ad217 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x795cfa93 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x79716b1d of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x7971cd44 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x7971e4c2 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7984f4d9 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7987b88a pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x79907688 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x799b008d snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL vmlinux 0x799bd609 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x79a4098c gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x79a9fb62 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL vmlinux 0x79b08921 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL vmlinux 0x79b67ec8 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x79c73aab usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x79cdf9bc tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79ed2ed0 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x7a2b0e79 of_css +EXPORT_SYMBOL_GPL vmlinux 0x7a3185d2 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x7a365409 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL vmlinux 0x7a48d06c cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x7a550ade xhci_mtk_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x7a55514e dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x7a5ece46 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x7a675bf4 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7eb21b regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7a7f1396 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0x7a7f7313 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad59197 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x7ad6dc08 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x7ad8e838 sdhci_execute_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7ae03736 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x7ae0fd03 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b28dbc3 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x7b2b18e6 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7b5362e0 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b623b38 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7b6fce02 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x7b81e2af posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9f85c7 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x7ba52ec7 hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x7ba974d7 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x7bd540e4 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x7bd588d1 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL vmlinux 0x7bf0ae53 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x7bf644ab snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7c03ac79 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c07a2a6 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x7c0b0e57 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x7c379d53 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7c4c2093 fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7c51ab2c dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x7c5a13ad rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7c5ebca3 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x7c71aaae mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0x7c79c2f1 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c84ecd7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7c87d9bb usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x7c94f9b1 sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7ca07b1e blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7cbfc943 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cde0553 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ce11da4 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceb63b8 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x7cfd6e22 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x7d002139 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d26aa3f blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x7d2c03f4 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7d343a00 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x7d400d6b page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x7d59234e pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5b36e5 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x7d6e37a0 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7d771dcf snd_soc_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x7d77210d nand_change_read_column_op +EXPORT_SYMBOL_GPL vmlinux 0x7d801f0a dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x7d843e33 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7d866fb4 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7d8767ce snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x7d96e186 musb_root_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x7d96f4a8 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7d9e68fa snd_soc_add_component +EXPORT_SYMBOL_GPL vmlinux 0x7daba6fa trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7dac6ad5 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7dac827b simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x7db12ece regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7dc98518 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7dca361f md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dea275e ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7dfdcbbd usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x7e08d3c8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7e0e5e58 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x7e2370fe mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7e32c779 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x7e3704fe pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x7e4419be tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e5de78b sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e79b13a sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e838e23 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7e83a713 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7e86f099 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7ea05208 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x7eaf22b1 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x7eb0e645 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ed3496f sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7ed4a89b is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7ef1cf84 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7f037e03 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7f1f23c7 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7f44f016 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7f48408c unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84a567 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x7f8dd2bb bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x7f94882c pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x7f9c62dd snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fa3eaf4 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fa720a6 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x7fab1d1e pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fb1f96c sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x7fb2fbc9 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fb312ed devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x7fb3bd4e thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fe59550 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fee9dab alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7ffd02c8 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x80035527 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x8008a0ca spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x801eb65d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x803103de snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL vmlinux 0x80318432 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x80472392 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x80610c93 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x80746bde usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x80746ec6 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80ad4d1e snd_pcm_stream_lock +EXPORT_SYMBOL_GPL vmlinux 0x80b17b75 omap_get_plat_info +EXPORT_SYMBOL_GPL vmlinux 0x80c286fd sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e9dcde phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x80ec1b26 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x80f7d128 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x80fe83f8 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x81030655 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x811de610 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x8123c4da pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x812a14de vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x8133997a pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x8144bc83 crypto_register_ahash +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 0x8174fd9e regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x817a0494 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x819fe250 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x81a916ff pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x81aa0024 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b95cda PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x81bd034d dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x81cf95ee __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x81f2b867 dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x81f2dc69 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x81f590e5 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x81f744e3 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x82078467 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x820b906d transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x822b74ad mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x823d5fa0 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x8244ee1e regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x824c77fa wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8253cc9a dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x827041e9 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x827188f7 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x82800f3e nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x82a4619e pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x82d70c21 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82dbd7d7 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x82ec3603 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL vmlinux 0x82f5ead7 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x82fe0568 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x83124b04 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x83303319 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833b75e5 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x833d0cc5 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL vmlinux 0x8343eab8 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x834434eb mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x834a6ca4 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x834dc6dc __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8359a8e6 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x835b7583 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x8371e99c xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x83812bd9 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8386baba of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0x8389b5ce put_pid +EXPORT_SYMBOL_GPL vmlinux 0x839e5cd4 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x83ab4fdb thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x83b11cff pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x83c74042 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x83d8769c put_device +EXPORT_SYMBOL_GPL vmlinux 0x83ef317b regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x83f95cbd fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x840ecc80 pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84246352 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842a6116 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x842c017d __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x84392388 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x844712df perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845aa3dc lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x845b2069 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x845ba2da screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x845d3d81 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x84671d74 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x846c3f63 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x8476908f devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x8478c8b4 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x84923c4b dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x8496976a rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84baea01 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x84c8aa5b skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x84cc4c0d dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x84f1af48 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x84fdf2e3 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x85108a1c unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x851ca19f __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x8525028b blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x852ec0b9 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8530172b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x854585a2 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85568942 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x855b5421 clock_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x8568746b power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x856bcb48 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x857071bc crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x857b75c9 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x85841677 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85a4d14d cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x85ab4d9f dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x85aca8ec user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x85acb812 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x85ae60de fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x85b3f3cf inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x85b73287 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85b90bb2 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x85c2ece7 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85c4d9d4 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85ce42ce usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x85e62c28 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x85f6108b device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x85fdf2f8 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x85fe1a00 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x8602a768 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL vmlinux 0x8610e659 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x861c11ef __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x8636a46b ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x8645161f transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x8647407e usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8657c7dc fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x8659070a of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8665230b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8677dcfe iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x8677f20d devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x867876c8 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868a6226 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x868e43a9 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x869c9567 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x86abd11c cpts_release +EXPORT_SYMBOL_GPL vmlinux 0x86af2558 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86e18d10 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86f952a9 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x8707ad59 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8754eddf rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x8767e2b1 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8774133d unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x877d3ac3 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x879d720e devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x87a376ab dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x87a6a907 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x87b2b34e __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x87b7d617 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x87bb8702 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL vmlinux 0x87bc840c blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x87bf2564 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x87c8f301 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x87e50774 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87efc052 mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0x8805a073 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x880ef295 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x88108502 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x88127f40 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x8817bf67 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x881d0968 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x88230f88 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x882e75b3 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x8833261e pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x883ca9d7 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x886de83f rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x88722248 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x88846a30 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x888c00e0 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x889ca747 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88ec1d7b hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x890c0745 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8919f23c ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8934c176 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x89365f39 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x89399a80 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893e80f7 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x89439462 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8946a191 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894b99aa snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x894d7ecf gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x894f145f tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x8958498d regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x895e9add tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x89654d03 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL vmlinux 0x89726884 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x897c2680 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x897fd59e kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x898be1f1 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x89a6913f dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x89af01c2 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bfe270 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x89de0fa4 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x89eae8b4 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x8a0094c8 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x8a0130cb regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x8a204d98 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x8a23bc75 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a44675c gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a5978be inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a8eb524 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x8aa02161 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8aa6c0c0 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x8aac49dd iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x8aad89f7 exynos_get_pmu_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8ab35768 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ae1eabc mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x8ae5685b of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x8aed691f mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x8af12ca3 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x8b1088b9 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8b11419a devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b20cef0 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x8b41a122 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x8b4acf1d ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8b4d99cd hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x8b529ce4 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x8b6ab456 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x8b7082af pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x8b7217ca class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x8b84c2fb xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x8b91dfbb pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x8b91f7a7 nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0x8b9b22ad ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x8ba84dc9 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x8bbd1804 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8bc89c11 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x8bc9a215 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x8bcff487 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0x8bd4c0ea iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x8bdf9e4e sdhci_calc_clk +EXPORT_SYMBOL_GPL vmlinux 0x8be4c863 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x8be66c31 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x8bf2ef91 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x8bf9fc82 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8bfa74ec virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x8bff2423 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0520fb qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x8c10bbca led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x8c26b6e0 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8c2921e2 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8c4331cd crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c69754f dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7bd877 __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8c7d2452 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x8c8077b5 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c9e079b nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x8ca589b5 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x8caeeeaa rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8cd010ec uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x8ce123e3 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x8cec7570 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8cf5b6c7 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x8cfa721b efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d249c08 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x8d4c15ed clock_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8d501134 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x8d5f8c80 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d6706e0 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8d7192cf rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x8d7bc776 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x8d7e1b99 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x8d82073b iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d890a87 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x8da39542 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x8da72296 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x8dab2ad7 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x8dc11669 lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0x8dd93b74 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x8dee5d59 nand_decode_ext_id +EXPORT_SYMBOL_GPL vmlinux 0x8df05f25 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x8e0fca18 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e1e983d skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x8e2338ac unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x8e3516d4 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x8e3ca3fa rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x8e3cde15 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x8e3d0ebf dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x8e40f558 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e51a3c7 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x8e521a7d fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x8e58fc5f fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x8e5f0184 serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8e8003df dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x8e98eebd of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x8e9b338d dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x8ea3a1e0 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8eb36821 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x8ebd20a7 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x8ec8cb9b bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x8ed93020 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef4ee97 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x8ef54d78 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f119437 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x8f17d939 virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0x8f1a8cf9 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x8f2b92d6 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x8f364b4d i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x8f405734 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x8f486d5e nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x8f6524d5 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x8f6b16a9 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f7035c6 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x8f725e67 probes_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f8c55d9 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x8f8eb34e cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x8f8faf15 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x8f90c702 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x8fb4a464 path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x8fc936ae inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x8fcd6fa4 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x8fcff898 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x8fd6b52a device_register +EXPORT_SYMBOL_GPL vmlinux 0x8fe1643e crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x8febd2c0 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ff6b741 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x900b1be4 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x900c88cd sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x900de905 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x901c6c99 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x90206b53 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906dd327 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9075994a sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x907e51fc ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x909069f6 sdhci_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x90955a3f mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x9095e880 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x909d1705 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x90b263fa device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x90d7503b xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x90d7a360 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x90ec0b50 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x910ac1a5 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x9118dc1d debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x911ad747 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x912b62b5 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x913147a9 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x91414ed5 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x914bceb3 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x91519a16 dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x91637e86 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x91938636 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x919b2925 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91b2ce2c dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x91b5bb9d ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91db6b79 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x91e75763 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x91f7493e irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x91fff85f iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x92024dda pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x921eb7fa __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x92352f61 xhci_mtk_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x923e51b4 sdhci_pltfm_register +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x924f02db devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x924fa35b blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x9260db56 arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x92646a50 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x9267012b efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x9272b735 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x9273a1a4 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x927b4635 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x9282f433 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9285ceb2 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x9298ce7c amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x92a26c77 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x92b52b54 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92be2f16 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d6d405 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x92d9dc58 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x92da707d usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e807b0 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x92ebcb09 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x92ee13fa compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x930411a5 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x9316a8e2 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x9317ea55 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x9319abf7 mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932a8104 nand_status_op +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x9338e61f snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x934da8f0 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x935b6a63 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x937e62e5 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x93805369 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x938307fa xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x9396c787 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x93a79794 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x93becc9a gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x93e0fae7 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x94023162 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x94181b53 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941be28e get_net_ns_by_fd +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 0x9450bef8 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL vmlinux 0x945145dc soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9476a9a4 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x947b95be mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x948b0c65 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x94abb745 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x94bb7157 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x94cf21f5 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x94d82e11 snd_soc_lookup_component +EXPORT_SYMBOL_GPL vmlinux 0x94e28f5a verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x94e4e6bb phy_create +EXPORT_SYMBOL_GPL vmlinux 0x94e91a52 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x94e9605b extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x94eadf99 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x94eb22c0 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x94fdbb79 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x94fe2d93 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x9509a0b1 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x9514dd94 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95336f72 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x953a2e38 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x95496d90 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x954e9a0d tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x954ed563 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x9556a981 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x9560968c dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x9568a9e2 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x956a32cb gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9572ab13 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959a477c paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x959ae3ee regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95b7e2a0 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95ca8471 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x95d344fb kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x95e5f7b7 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x95edb672 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95f8eb70 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x961f9d3a tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x96200f22 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x96282c58 snd_device_get_state +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x966a67e4 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x9671cb0a kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x96724155 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96983a43 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x96bcdad8 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x96bce2f2 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x96c8b8d5 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x96ca63f5 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x96d714f9 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x96fb09db of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x97031b23 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x97084bcf cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x970b4276 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x97114bb9 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9719baea regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x971d61f0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x97366e04 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x9739bf57 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9743854f dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x9750d888 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x97635096 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x976a86eb crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x9777b20c tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x979300df scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x97b709b5 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x97b71dc9 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x97d52df3 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x97db5dc7 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97f3a956 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x98025985 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x98092b1f aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x980a2a28 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x981338c6 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x981e0256 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x981fa3f4 ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x981fd37f __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x9829fb43 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x982ec68d ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x98314424 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98483039 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98538139 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9866dc5e shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x98710f9c md_run +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9878ba42 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988cc31d fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9894696e nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x98a7d75f amba_ahb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0x98b60988 handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x98bab718 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x98d703a1 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x98e34d12 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f0a4a6 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x98f3cd18 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x98fa7f4d blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x99014687 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x9913b55a iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x9916eca3 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL vmlinux 0x991b3736 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x991f5472 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x993132fc uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x9933ea65 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x994432dd iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x99504b9e sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x99517508 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99587b29 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x995f5671 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x99660374 snd_compress_deregister +EXPORT_SYMBOL_GPL vmlinux 0x99919eef irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x99b7191f dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x99ccb656 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x99d43406 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x99d64368 sm501_modify_reg +EXPORT_SYMBOL_GPL vmlinux 0x99daa88d of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99f4f7cf security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x99f5b084 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x9a048866 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x9a1022b3 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1aad5f crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x9a33611c __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x9a370996 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9a4bd732 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x9a51f783 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x9a55d2e5 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x9a632322 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x9a636c6b mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x9a731a21 component_del +EXPORT_SYMBOL_GPL vmlinux 0x9a73f33a snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x9a9b66d4 tps65217_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x9a9f7818 __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9abd9819 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9acb8544 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0x9ad05afb __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x9ad56d2d __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x9ae71007 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x9ae737c4 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b1247f4 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9b15b8ce blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x9b315394 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b426ce1 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b6787a5 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b78ac12 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9b79ea81 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b9450ec ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x9b99b93e ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x9bb0cb6a thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x9bb6fc60 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x9bcfb4ea sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL vmlinux 0x9bd7ad77 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x9be264d8 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x9be7954c nf_route +EXPORT_SYMBOL_GPL vmlinux 0x9be88beb power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf8e2fc sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x9c0296a4 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0x9c09c8db of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x9c1bd66f tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x9c5449ca crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x9c6935ee of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x9c6bbad9 blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c731ec0 handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x9c76ae39 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c872cea snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9cad1fa2 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x9cad893e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x9cb3b99a user_describe +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ce63aad nl_table +EXPORT_SYMBOL_GPL vmlinux 0x9cf4f46b __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x9d035baa dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d311759 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x9d31697c blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x9d50a186 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x9d73af16 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x9d860908 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x9d878e48 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x9d977c99 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x9d9e3543 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x9dab27d8 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9dba64d7 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x9dd001c0 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x9dd341a9 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x9dd813c5 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x9ddc4fb9 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x9dde592d nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x9df18a8c dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e006733 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x9e016686 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e0584ea rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x9e1dca55 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x9e2772e0 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x9e31aac7 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x9e3ec579 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e56f514 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x9e570f04 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9e65ed2b __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x9e7d0640 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x9e7d1954 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x9e869aba dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x9e91ee00 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x9e99437e of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x9ea713b1 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x9eaabe40 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x9eac5bc5 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x9eae428b dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x9eb2aa01 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ed65075 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x9ee0d566 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9ee5e40a __ktime_divns +EXPORT_SYMBOL_GPL vmlinux 0x9f02c51f snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x9f140889 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x9f17c013 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x9f3a92fd sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x9f4ba75f fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x9f61c70d pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f708538 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x9f744694 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x9f758457 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x9f85e962 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x9f88d56e store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0x9f8b33c8 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x9f8bdf49 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x9f94ebce gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x9f95b996 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x9fa657c0 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x9fbbfa5a iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x9fc1c2ed devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x9fc7222b pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd68930 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa001f617 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa01236f5 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa03296a4 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xa03779b4 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xa03ebff6 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0603892 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xa0696257 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL vmlinux 0xa06cd08d gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xa06d77cf ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xa087deff edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0xa087e1c8 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa088844e nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xa08aef6a dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xa08d610b sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa0d4e0b3 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xa0d6e57a __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa0de8bc6 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xa0e081f7 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xa0e3ccba spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xa0e59ae6 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xa0e848cd sdhci_pltfm_resume +EXPORT_SYMBOL_GPL vmlinux 0xa0f52ad9 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa0f5bbb7 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xa0fda185 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xa109d391 update_time +EXPORT_SYMBOL_GPL vmlinux 0xa11edf97 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xa120e85a vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0xa12f4c06 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa130dd0a of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0xa1412d3e pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xa14ab7a6 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xa1624bde fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xa170665b rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0xa1738126 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xa1aca134 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1e55e26 pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0xa1eb0a45 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xa1f1bd3a arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa20e804d usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xa20ec075 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0xa2213f05 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xa2330276 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xa23f684b __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xa24d556a serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xa24e457c virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa25bd5f6 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa26e31af usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xa27f223e bus_register +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2894687 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xa2bc00b6 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xa2bd25da tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0xa2be5ba6 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xa2c31b2a proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xa2c827e4 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xa2ce4d88 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa31a886b devres_find +EXPORT_SYMBOL_GPL vmlinux 0xa3234f86 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL vmlinux 0xa33744aa edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xa346975c idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xa34c12e4 devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xa3591ad0 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xa359eeb7 alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0xa361b996 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xa371312c debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa399c433 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xa39f4d49 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b0bb8d ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3d65e73 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa3daad85 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xa3ebacc7 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f81c6a clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xa3ffbb58 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xa400cce3 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa407aca2 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa413fb19 usb_phy_generic_register +EXPORT_SYMBOL_GPL vmlinux 0xa42d066b devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xa439a65e blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44fbefa __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45dc275 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa479fe4e of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0xa47afb91 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4948ab2 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xa49c08db subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xa49ee468 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa4a32647 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b512db phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0xa4b5a664 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xa4bb5600 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xa4bcb306 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xa4c80445 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xa4cc19b3 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa4d7f27b null_dailink_component +EXPORT_SYMBOL_GPL vmlinux 0xa4dbdcbc snd_soc_unregister_component +EXPORT_SYMBOL_GPL vmlinux 0xa4df964d sdhci_cqe_disable +EXPORT_SYMBOL_GPL vmlinux 0xa4e0af81 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xa4fab2ca inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa4fcf24c __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xa502c0c5 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa53f0dd7 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0xa5400aa4 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xa546043e devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xa55b9f8d irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xa55bd898 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xa5733c92 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xa576a4f9 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xa5816198 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa587634c pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xa5b4b48a rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xa5b7349b snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa5ba3622 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0xa5ba5564 cpts_misc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xa5c25f7f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xa5c52135 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xa5ce83ac iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5e6e8fa extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xa5ea73df subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xa5ec37ac mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f47510 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0xa5f53705 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0xa5ff61d4 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xa6074b25 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xa609bd38 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xa60a67e5 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0xa60b180c rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa61faf3c dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0xa62892c6 efivar_sysfs_list +EXPORT_SYMBOL_GPL vmlinux 0xa62f2ef0 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xa641fdb9 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xa64a9a38 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xa65a3ed7 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa674d624 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xa6789bd0 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0xa688c5ff md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c4a130 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xa6ca9b90 __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6f5943e fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xa701c4b6 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa709d44f dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xa70cb5ae input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa71dfd1d ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xa72cf226 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xa74933f9 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa759a3da tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0xa75cdc46 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa773628a sdhci_pltfm_free +EXPORT_SYMBOL_GPL vmlinux 0xa774822f snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0xa77778f8 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa7802e2e btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xa78f279a debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xa7aaafde klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xa7d1cbd7 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0xa7e19531 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xa7e62454 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xa8025152 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0xa80d6747 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xa8221f89 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xa833978a fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xa837be0c fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xa83ed240 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa862ba0d pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0xa87c2e42 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa880df33 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xa88507af usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xa8953448 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xa8aef159 is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xa8b60f38 omap_iommu_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0xa8b8983d security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0xa8b8db09 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xa8b95a0d od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8bc837e irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xa8be2eca thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xa8d8468a crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0xa8e9e09d blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa9017fe8 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xa904d43a phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xa909811a badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0xa9171232 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xa9206a02 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa92b1d0a __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xa92b7803 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa933837c devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0xa9356054 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xa94c5ee5 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xa9619fbd snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL vmlinux 0xa963d2eb regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xa98c533c hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9951a52 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xa998af48 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa99f0920 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xa9a23432 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xa9b2bc3e dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0xa9bcf715 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xa9c383c2 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xa9c57030 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xa9e05660 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0xa9e90f9f ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xaa0859a6 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa2b5cc2 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xaa2c5bfb skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xaa315007 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0xaa31fa11 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xaa4467f8 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xaa44acff omap_tll_disable +EXPORT_SYMBOL_GPL vmlinux 0xaa489803 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xaa4fb871 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaa54755e serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xaa64f44d snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xaa65a97e css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xaa69afbf page_endio +EXPORT_SYMBOL_GPL vmlinux 0xaa7bcfe7 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xaa88ba94 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xaa8d0985 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xaa9abad3 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab2e9dc skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xaab8ac5e ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xaae52f22 arm_iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xaaecf75d perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xab028109 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xab101531 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xab129818 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0xab1915ae rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xab1e9205 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0xab219853 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xab3b7521 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xab4c9dac __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xab4f4b32 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xab553d1b iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xab5f1801 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xab744b61 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xab79f396 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL vmlinux 0xab8db145 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaba280a4 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xabb29783 xhci_mtk_drop_ep_quirk +EXPORT_SYMBOL_GPL vmlinux 0xabb50ec4 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0xabb9290e device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xabc3b03b mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcda29e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xabcfa03b __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xabd6aaf4 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xabf80ee5 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xabf828ef device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xac09abae sdhci_set_clock +EXPORT_SYMBOL_GPL vmlinux 0xac13737a zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xac35866e apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xac3ebda6 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xac423849 nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xac55bcef rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xac6aa2bb mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xac6e95a7 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xac92e139 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xac9f361f bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacd122be snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xace17aae pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xacec7f22 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xacf96d55 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad55cbe4 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5fc841 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xad615a0f policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad687fc2 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xad6f03ca scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xad7a2db3 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xad857b8f rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada957b2 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xadb54ba5 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xaddf894c eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae06cbeb devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xae0c69a2 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xae0eb4fe devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xae1b5968 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xae2c7c67 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae2e476f devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae4b9885 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xae590717 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xae6032f1 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xae6162ad serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6c1f0a dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae90cbcc tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaeb10311 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaedef67f nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xaf03913a evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0xaf0bb546 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL vmlinux 0xaf207a2b pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xaf288080 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xaf2e7381 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xaf2ef665 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf3c426f ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf457b5c icc_disable +EXPORT_SYMBOL_GPL vmlinux 0xaf4a3267 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xaf5271e7 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xaf5fa0c8 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xaf6d67fb xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xaf764081 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xaf98de34 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xaf9c9e7c iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xafa11816 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xafa497b5 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0xafb949c0 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xafbab5ae mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0xafcc4204 pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe0c864 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xafe1a404 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xafe2c6a9 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xafe7a1e0 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0xb0133823 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0xb020f34f lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0xb020f3f1 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xb0232477 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0xb0269e32 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb03054c0 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xb0332d02 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb03ccf22 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xb04d1f7b perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xb04fc2f5 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xb0629539 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xb072a84e register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb091b30c sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xb099b323 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL vmlinux 0xb0a37ced fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0xb0ae8cfc fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d46408 devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1059259 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb10efc61 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xb10f2b55 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xb11625b9 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1277d04 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb12d11b1 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xb1386aeb dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xb139a299 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14f18b7 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb15b191a input_class +EXPORT_SYMBOL_GPL vmlinux 0xb15f33ab fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb16d25f5 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0xb16edbdc fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xb16f2ab7 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xb16fe289 ti_cm_get_macid +EXPORT_SYMBOL_GPL vmlinux 0xb172ffac efivars_sysfs_init +EXPORT_SYMBOL_GPL vmlinux 0xb175f519 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xb18110e0 __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb18b7644 mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0xb1993066 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0xb1a49cb8 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xb1ab1dae mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0xb1ace9df device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xb1ad9401 usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0xb1b7aebe rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xb1bea339 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e4326a attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1e63c00 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xb1e911e1 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xb2117386 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xb21bd35b nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb22477f3 md_start +EXPORT_SYMBOL_GPL vmlinux 0xb22d21fc wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xb22ef731 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb242c830 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xb24bbecc power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0xb24f22d3 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb25c178b spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xb2633ebf dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb26aa7ab nand_prog_page_end_op +EXPORT_SYMBOL_GPL vmlinux 0xb26fd7ff noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xb27daad4 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb2836ab6 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xb29bd802 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xb29d45d7 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xb2b0d3aa i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ea492c dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xb2f8766f __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0xb2fadc38 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2ff407a crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30ee660 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xb34ed67f __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xb355013f pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xb35ed2b7 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xb378559e freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xb37eb866 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xb38108ed __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xb39c775c perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xb39c7cf9 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xb3ab72b0 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xb3bee4c0 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0xb3cf3750 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xb3d8fae9 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0xb3dcf0dd elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xb3e496d8 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xb3e85620 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0xb3f93335 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xb3ff1926 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb4032a04 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xb40c6376 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb4101901 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xb41c5b2d srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xb41db4c6 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xb4305839 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0xb4324e5a gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xb435e2fd tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb4500a07 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xb45c2bb2 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xb46a7b09 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xb47146e1 snd_soc_component_write +EXPORT_SYMBOL_GPL vmlinux 0xb4791297 nanddev_markbad +EXPORT_SYMBOL_GPL vmlinux 0xb498df42 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0xb49de221 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xb49e21b1 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0xb4b57946 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4b9d41b __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xb4ca6f6f dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xb4d6f4a3 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4edad72 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb5115b26 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xb51a221c rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb523f64f usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xb5394d5c sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xb54f64b5 do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xb5572e3b __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xb5688931 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0xb58ee03b rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5a79ec4 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xb5b16693 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0xb5b709d6 __sdhci_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb5b96ac5 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xb5c6906b omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0xb5cd0d9c wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb5d5d895 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xb5dcd8a0 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xb5f58246 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xb5fc9afc sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xb6000618 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0xb607e108 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xb6217700 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb63474b0 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xb638f7d6 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb6443821 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xb6445a89 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb64d542a phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb65ca50e inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xb6668ff2 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb66dbd96 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb67b20ad devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb6ac54c8 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xb6d5b23c l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb6dbafef sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xb6df62ef blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6ecfad1 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb70e86b5 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xb72682b4 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xb72ca6fe tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb7408d2d snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL vmlinux 0xb74538d2 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xb7491c17 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0xb74e6a79 sdhci_reset_tuning +EXPORT_SYMBOL_GPL vmlinux 0xb75db135 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0xb76a92e6 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xb771e6b7 bL_switch_request_cb +EXPORT_SYMBOL_GPL vmlinux 0xb77c4467 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xb77db4cd software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb78536d2 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xb7a3428e sm501_misc_control +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7ac3fe3 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xb7b7758b ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xb7b81fa2 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xb7be9ea2 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7c850c1 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xb7c9e6b8 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xb7d526b1 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0xb7da0905 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xb7dec61b dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xb7e28ff3 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0xb7f17fa8 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xb7fbf03a usb_phy_generic_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb81f317b ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb82566eb omap_tll_enable +EXPORT_SYMBOL_GPL vmlinux 0xb82c90ce devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xb8485009 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb8752e4d __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb88f0428 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xb893d789 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0xb8962ea5 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xb8a1832a clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xb8ad147b crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb8ae69af devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xb8afeb9d sdhci_adma_write_desc +EXPORT_SYMBOL_GPL vmlinux 0xb8b55e26 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xb8ba6d9b dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xb8c3d75c __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d0ba20 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xb8e39ae1 of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0xb8ec4143 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0xb90a1fcd rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xb9138620 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0xb9176155 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb91a1121 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xb93425d2 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xb9382aed device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb944e3b8 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xb94718f8 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xb950063a __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb97720c9 net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0xb9778a9c pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0xb97c0083 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb98b7041 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb99a93f5 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb99d3629 synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xb99e9cb2 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb9aa1ccc pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xb9afb729 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d7c3d4 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb9de0799 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xb9e87b94 bL_switcher_trace_trigger +EXPORT_SYMBOL_GPL vmlinux 0xb9f6794e clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb9fe7a1c snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xba0e11b2 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xba1afcee pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xba1b54b4 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xba1d35c6 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2b96b6 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba711cc3 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0xba784ee9 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xba88fd11 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xba898682 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xba975bff snd_soc_component_set_jack +EXPORT_SYMBOL_GPL vmlinux 0xbaa8a3f3 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xbaaa7d22 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xbaad77aa snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbae4b5cb kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xbaece9e0 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb4c42cc fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xbb4c7570 pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xbb57fa0b snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb59b391 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6afaf2 sdhci_enable_clk +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb74dc0e of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xbb8b650d gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xbb8c2693 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xbb902505 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xbba1a9db md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xbbb12a5a spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbbb65898 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xbbc2b23c fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xbbc8d905 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0xbbd66612 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xbbdeb0c3 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xbc05c670 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xbc0debe8 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbc0e2320 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xbc2c809f cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xbc2cb4a0 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xbc3ce411 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2674 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xbc46f0c2 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xbc61b190 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc7662e7 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xbc7d3e1a ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xbc9dd136 nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0xbcb1e645 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccf981b sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcd1962d perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce35a05 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd088019 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xbd307d33 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd545cdd kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0xbd61323e dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xbd70977a nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0xbd72499b tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0xbd757000 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xbd96a1b8 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0xbd986e2d device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xbda2d8de ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbdaa17bc pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xbdb9b6de snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xbdb9b7e2 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0xbdc14c4e devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xbdc7a3a1 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbdcd1676 usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xbdd787d7 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xbe062896 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xbe10de9b sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0xbe17cf2d tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xbe1e8687 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xbe2c2d8c pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xbe34f422 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xbe3fb6cc ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xbe547518 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0xbe5b5408 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xbe5e5f3c get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xbe6020e7 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe61ec46 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xbe621359 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xbe6770e5 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe905897 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea52ade class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbebc0b61 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xbebd778d phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0xbecb2736 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0xbee31212 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbeec1ad4 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xbef6abde dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xbefb53aa register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0b2386 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xbf0b9533 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xbf1df6c9 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xbf2ea694 ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xbf37516b tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0xbf41a8fb regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbf4eedd2 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xbf5d1ddf wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xbf5dc582 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf8a8b0b dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xbf9f6d12 strp_done +EXPORT_SYMBOL_GPL vmlinux 0xbfa35a2f thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbfb685cf xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0xbfbb48de bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfd7b111 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xbfda9237 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xbfe335d5 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbffce09b rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xbffda2f4 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc01172ef usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0xc01415f5 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xc018e1a0 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xc0350800 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL vmlinux 0xc03c2b70 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xc0420b23 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xc04f0cba da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc04ff9de regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xc0583e20 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xc06b77b3 __cci_control_port_by_index +EXPORT_SYMBOL_GPL vmlinux 0xc0760674 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc081c246 bL_switcher_put_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc090443e page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0af9c10 otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xc0b34ec3 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xc0b3d14f da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc0ccca4d __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xc0dbcffc led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0e75cec visitor128 +EXPORT_SYMBOL_GPL vmlinux 0xc0ee3d5b of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f565bb dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0xc0f6b377 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0xc0f9e2b3 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xc0ff39ea pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc10655da xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xc107f643 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc1126b50 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc147aabd sdhci_cqe_irq +EXPORT_SYMBOL_GPL vmlinux 0xc16b8c0f snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xc174b6b6 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc176a208 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xc1879adb crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xc18b2ec6 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xc19c2b2c da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc19c3a66 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc1d6c2a9 regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xc1dacfa2 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xc1dd84be dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0xc1fdcf28 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xc2054625 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc20a9ff7 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xc21b3cca devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc21b5d33 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xc222ead3 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0xc2273ff5 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22b5c4c bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc2755615 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xc276b62f devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xc27f3c08 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc29a0cb3 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xc29c733f dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xc2a261ec exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xc2a40e50 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2a96614 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xc2acbc3d bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xc2b74019 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xc2bb42a3 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xc2bf1cc0 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0xc2db7e18 xas_find +EXPORT_SYMBOL_GPL vmlinux 0xc2dc8a65 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xc2e5e444 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xc2e71737 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL vmlinux 0xc2f73629 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xc2ffdb32 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xc30cc7d4 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0xc32cf749 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xc3332ebf sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xc33dbcc4 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc35beb52 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xc367f570 get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0xc371fb67 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xc37f1463 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc38d9ccd ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xc3977abc usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc39a3a95 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0xc3b0f431 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3c790c8 nanddev_mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0xc3ce82df class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc3d17317 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xc3da8bab phy_reset +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3ef39e7 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xc403a42b phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xc4164d6a serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc44d6b67 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc46282a6 snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47befe6 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xc483673f crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc49353f0 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xc4937fde ti_clk_is_in_standby +EXPORT_SYMBOL_GPL vmlinux 0xc49f1d9a usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc4a5696c mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL vmlinux 0xc4ae58f5 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xc4c1b945 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xc4c6a2b7 nand_write_data_op +EXPORT_SYMBOL_GPL vmlinux 0xc4cc2dbb wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xc4cf2420 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0xc4d0cac8 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xc4e0b8a7 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4ec6a5f i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4f54f89 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xc4f871c0 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xc4fc5b0b wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc4fffe18 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5003c2e snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL vmlinux 0xc5015698 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xc503a33b cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xc50580ce lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xc505d114 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc5131b13 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc5178ff8 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0xc51c6bd6 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xc51e9365 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc52bf834 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xc532f5db tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc5504cc0 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc56bbeee snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc57a2fe3 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58d3483 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc5925a38 nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5bcc5ae pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xc5bcd942 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xc5c16b00 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xc5da2b5e regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc5e2efa3 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xc5ee5999 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0xc5eff032 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xc606b70a mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xc60ed170 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc64ab0c9 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc655e633 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xc65b5ece regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xc664ac73 dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66ecdbc rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc68f85b3 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6a9eacf sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xc6b010b6 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0xc6c3ed50 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xc6c90f58 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xc6e667f1 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6f84f1d dm_hold +EXPORT_SYMBOL_GPL vmlinux 0xc6f9bab8 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xc7121f83 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc716c793 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xc718c496 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc7278329 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xc731d1a9 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xc73a9e70 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xc74881e8 icc_put +EXPORT_SYMBOL_GPL vmlinux 0xc7525087 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xc756f5d9 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xc771f25d alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xc79144f5 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xc7941fec mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0xc79f0c2c iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a2849b blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xc7c372b6 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xc7c69a67 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc7cc6bd3 mtd_block_isreserved +EXPORT_SYMBOL_GPL vmlinux 0xc7d245c5 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0xc7e948e3 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0xc7f08137 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc7f11f94 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc8104485 snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0xc8158823 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xc816ac17 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8321b62 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc848f1db register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc864963b usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xc8789b73 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xc87e25fc vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0xc87e8302 mtd_read +EXPORT_SYMBOL_GPL vmlinux 0xc8818404 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0xc89191ef fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xc8a64466 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0xc8adbcd6 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xc8bfa311 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xc8cdd76d of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0xc8d768cf mtk_smi_larb_get +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8ff63c8 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc91c35d5 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0xc936d7ab i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9405618 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc957c8de ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc96fb674 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc979cbb4 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc98a9b21 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc98eb439 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xc9a228ce property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0xc9a70da4 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xc9aa1203 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xc9c1f42f unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xc9c7694e pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc9d393da sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f1d3f2 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9fa8252 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xc9fe7bd8 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xca1ae0fc dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xca228f2b snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL vmlinux 0xca24e008 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xca2ec968 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xca3a8151 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xca3ab270 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0xca3f1816 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca75c482 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xca7a860c dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca7dac45 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xca7e9635 omap_iommu_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xca88239e blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xca8fa0f5 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcabe1206 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcabe48ab inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xcad66dd4 crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xcade6d41 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xcaea38ad sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xcaebe63e skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0xcaeca810 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xcb0d0a01 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0xcb0d6e60 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xcb14a164 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb326098 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0xcb542c44 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb61bfd1 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xcb6241f7 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xcb6e05f8 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xcb6f1e93 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xcb73433c noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xcb7c9e64 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xcb880907 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xcb99f7e0 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xcb9ab22d devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0xcb9c3575 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xcba1b2f9 nand_readid_op +EXPORT_SYMBOL_GPL vmlinux 0xcba4de17 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xcba8c3dc dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xcbb62c1d regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xcbc9d15f dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL vmlinux 0xcbe35631 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbfc020c udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xcc196f7b snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL vmlinux 0xcc20ac52 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xcc21cd48 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc5bccff transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xcc5c5328 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xcc8e600f irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xcc8edf8e blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xccac2fc6 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xccaeac2a devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0xccb8e1d4 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xccbf1426 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd25b84 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xccd2e3a7 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xccd83a59 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xcce1cd57 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccfda890 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xcd012607 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xcd02bb6e account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xcd16e206 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xcd2071a4 nand_read_page_op +EXPORT_SYMBOL_GPL vmlinux 0xcd236fc1 d_walk +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd28f0db edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xcd2c56fb init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xcd30531b pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xcd3489f4 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xcd4bcd11 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xcd4ebb04 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xcd574336 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0xcd59c80c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7c55be devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcd81dd34 rio_free_net +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 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbf39ad crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcddfca2b efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xcdf83866 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcdfe0b09 ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xce00542a cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xce16ab8c gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xce1773b1 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xce1ef712 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xce3fac4a power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xce46c6e2 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xce553d39 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xce562fd1 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xce69b5f4 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce80d0cc mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xcea192c1 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xceb10cbe raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xceb82ccf to_software_node +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xcef4d5b4 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xcef68fa3 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xcefddfb0 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xcf00c26a crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xcf041338 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcf0e4eb0 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0xcf260a58 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf364dfb devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf731886 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xcf7fc46b extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcfae6386 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xcfbe0272 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd76c12 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xcfdc5c0b nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xcfed9a25 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xd00162f5 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd017f797 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0448905 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd052f9ec inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd06dcfdb ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xd0817453 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xd0866042 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd08b368d of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0xd09981a0 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0ea6e6b dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0xd0ee96b9 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xd12159a7 stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0xd132540a pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xd14adc6e alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xd15757fb bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xd1579271 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0xd1623ce8 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xd1629db1 get_tree_mtd +EXPORT_SYMBOL_GPL vmlinux 0xd168b373 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xd16e8479 user_read +EXPORT_SYMBOL_GPL vmlinux 0xd1740258 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd19bbe57 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xd1b146c9 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xd1b481dc ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cd9b35 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f68322 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xd2004507 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd2008335 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xd2015ba6 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd215b52e netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21cb4fc alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xd22f41b2 cpts_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd24e42f2 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd254cc10 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd270b648 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xd272fbbd sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27c141e ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xd282896f pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0xd288dac8 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xd28ebd84 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd2a3b316 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xd2aba1a9 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xd2ac9d8d iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b47e60 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd2c0e5c3 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2e8a246 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xd3043d9f of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0xd31197f5 sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd3446565 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd35cc618 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xd36be0a0 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xd36e2f17 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0xd372d723 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xd382b46e snd_soc_find_dai +EXPORT_SYMBOL_GPL vmlinux 0xd38e8aca efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xd38fecf3 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a3e3dd xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xd3aba66c switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xd3b7a829 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xd3baf589 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xd3c3ce94 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL vmlinux 0xd3c88504 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xd3d7f345 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd3d83846 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xd3dddd1f pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xd3e7a890 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0xd3e97c21 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd3f1fe9e cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd3fa3741 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40b4e42 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xd40b9461 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL vmlinux 0xd421f720 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL vmlinux 0xd4250cc1 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xd42e0109 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0xd42f207d fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd4565f07 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xd45c35e0 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xd4674a5d phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xd4695d97 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xd493cad1 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xd4a16451 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xd4ac2076 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xd4ae3156 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4bc32b0 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xd4bd08d4 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c521de usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xd4c7da85 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0xd4cc5134 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xd4de2aa5 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xd4e2c706 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4e73b9c fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xd4fa3602 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xd5016dd7 arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0xd5082867 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xd510b05b inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd51b2f56 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0xd52463cf register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd54404db clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd54c5a0f trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd55fa9af component_add +EXPORT_SYMBOL_GPL vmlinux 0xd560ef36 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xd58a2384 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59f1e0e snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xd5ac24e5 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xd5ba0188 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xd5bf97cc adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xd5c02f9e ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0xd5c10c6a hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd5d00ad7 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0xd5d7b912 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xd5e18aba __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xd5e2423f percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0xd5e42ed9 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0xd5ebb70b scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xd60414c1 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xd60518fa pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xd60e861e __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xd6164816 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0xd61e340b devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd628d6e3 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xd63ce82a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xd64045b4 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xd6444435 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0xd6471cc5 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd65505dc ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xd66e3676 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67ad5f6 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0xd67b9b3c tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd685045c sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xd687e1ed nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xd68e7dcb l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0xd690a872 arm_iommu_release_mapping +EXPORT_SYMBOL_GPL vmlinux 0xd698bd70 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd69f1594 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xd6a6e516 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xd6d8a5e7 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xd6e52082 omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd6ef8809 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xd6f5b07f pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xd70c1d2b init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xd7361107 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd766e8f2 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd769b887 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xd771420e icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0xd771684f __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd784c997 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0xd78ccd66 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL vmlinux 0xd78d57e1 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xd7b411cb __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd7bb007f mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xd7de3bd8 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xd7e3c407 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xd7ea69d8 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7f6db86 devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xd81bbe58 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xd82ef694 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd84469cd ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd851eed2 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0xd861d429 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xd87f4063 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd880e835 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xd8860fc0 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xd8899194 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xd8a7e6c5 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xd8ab3ced tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8af5406 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xd8b62b6d irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xd8bc0891 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xd8d00ee3 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xd8d24416 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xd8d654ca list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8d8fb7b cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd8e4c2d6 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xd8e5c0dc device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xd9048864 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xd906ffad ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0xd91a5f54 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xd923394e call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xd93df1d2 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xd942364d snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0xd942cd7d devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xd94ff0a7 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xd968e8a3 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0xd96a7aac ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd9780960 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xd97eb98a pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0xd97f9889 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xd981fe17 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd98c7cf1 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd9a675fd snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0xd9aaa8a7 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd9ba4c12 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd9c5ef01 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xd9c66f14 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xd9dbae19 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e6adc0 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xd9f3e65f __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda019656 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xda1129c8 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xda1483eb fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xda1dad93 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda434c83 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xda5585aa rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0xda620dea virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xda65c6cc __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xda7fab2d ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0xda830fab ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xda8725e5 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xda8cc3b9 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda8e5786 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xda938d6f __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0xda9aa518 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab77bbe hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0xdabd6182 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xdadc8e5a mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0xdaee6604 mtd_point +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb274178 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0xdb30e59a ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0xdb35c30e scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xdb388b06 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0xdb3e5200 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0xdb3f27da nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0xdb69386d usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xdb6d1be3 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xdb7886d7 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xdb7ac413 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xdb7f8204 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL vmlinux 0xdb847fca dapm_pinctrl_event +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb946ad3 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xdba22696 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xdba3b180 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xdbb4c582 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xdbba3f19 device_move +EXPORT_SYMBOL_GPL vmlinux 0xdbba5143 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xdbbe4c2c __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xdbcb5cdb crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdbeddc21 udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfffde3 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xdc063874 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xdc14fc15 __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xdc211e58 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xdc29b6db sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xdc3c4d7b of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc7ce353 mv_mbus_dram_info_nooverlap +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc882d83 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xdc9011b8 arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcb5a6f4 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xdcc3f3ec blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0xdce670f0 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xdcf005f8 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xdd03116c crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd0fb790 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0xdd1ad3b7 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0xdd21316c nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xdd2ac528 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd426e58 sdhci_get_property +EXPORT_SYMBOL_GPL vmlinux 0xdd47c410 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xdd4820f9 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0xdd5d3db4 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd85063c lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0xdda1a2b9 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0xddb79faf dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcd9838 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xddd3ded6 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xddd6a7be devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xddde1a8c tps65217_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xdde8c44f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xde05c085 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xde1286c7 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xde25f88c __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xde301702 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xde3f6baf rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0xde468bde rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xde522a5a of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde6f9fc1 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xde726a74 ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0xde8b05be crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdebfe0fb do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xdec92fc8 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xdee0c78b device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xdef02aab devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf004f3d blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf223627 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xdf255dcf memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf25ada3 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xdf3dbed7 __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdf679e89 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xdf6e0cd7 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xdf7fa33b __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xdf882b69 nand_change_write_column_op +EXPORT_SYMBOL_GPL vmlinux 0xdf905f9e usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfaa4c25 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xdfb35cb4 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xdfb85788 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL vmlinux 0xdfc03cd7 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xdfc9b107 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfccdfd0 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xdfd513dd irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xdfd63506 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdfd776e6 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xdff6529b crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xdff8d1f7 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xdfff9e8a mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0xe002a7a0 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xe0054b3c genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xe00b2713 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xe027e79a ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0xe0427e6f ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xe047158e usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe04e99d7 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe0508c4a pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xe05baf74 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0605545 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xe06ce3a2 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xe0777dc5 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xe07abb32 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xe08fda16 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe09e2fa9 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xe0a642ac dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0be2de3 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe0c878e1 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xe0dd95a3 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xe0ee6295 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe11e3aaa stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xe126553f __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0xe12842c7 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xe12ed7b6 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xe1310419 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xe1457850 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xe1502545 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xe159d3ab wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xe1653a54 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe16c2164 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe186a804 mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0xe18960ba nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0xe1921918 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xe1973d20 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xe1aa0c7a crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c48b34 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1c7721a nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xe1cfa261 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xe1d00099 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xe1d34caa metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe1e9201a phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe1eede4b serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xe1ef2ba5 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xe1f9a3f5 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe21bb49c nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe23ef2c5 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xe24a8fc8 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xe24b3d0f usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe2548814 snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0xe25f26c3 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xe25fc672 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL vmlinux 0xe26fad3e pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xe2717792 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xe2801f9c pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0xe2992e3b usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xe29bdd39 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xe2a22181 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2cba341 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe2cc257f __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xe2e7aa79 devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xe2f52bc9 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe2f96be7 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe319e2d4 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xe31dae16 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xe31f38aa devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xe331e165 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xe33368d9 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0xe3501d9e snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xe36dd5d5 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xe37673fd fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xe37f11fb usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xe3829bce led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xe38a483e devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe39ed4b2 usb_gadget_connect +EXPORT_SYMBOL_GPL vmlinux 0xe3aa8da3 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe3ae1712 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b743e3 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xe3bffa49 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe3e83916 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0xe3f02ad7 scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe4144d2c cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xe41d4538 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xe4223bec nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0xe4254abb sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe43f9956 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xe4507ed4 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe45cd845 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xe475365f elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xe47739ce blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0xe47c0914 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe4803482 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xe482006a __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe4954950 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xe49654e8 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe49af784 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xe4a57772 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xe4a9d90b generic_file_buffered_read +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 0xe4c7e688 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xe4c9f178 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4ee53d2 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xe4fb7dd9 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0xe5009d8e gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xe5026ca5 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xe510c7eb ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xe51ad264 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xe529e17a badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0xe531c3cd decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xe5329cec rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xe5356b9a debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xe540daf0 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xe544fb25 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xe561caca irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xe56912cd snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0xe57b993d init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe57e0921 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58a65fd crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xe59014fc devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL vmlinux 0xe5a59265 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xe5a9e5ea snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL vmlinux 0xe5affac5 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xe5c23017 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5d7217d transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xe5d7409c alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0xe5f37e06 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe637ea65 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xe63fa9c5 cpts_create +EXPORT_SYMBOL_GPL vmlinux 0xe65c18b1 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xe65e45b3 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xe661549f switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xe662b39a wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xe6681419 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6a6eced call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe6c331f9 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0xe6d7437e platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xe6d7c478 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xe6d81d31 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6ec2e60 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xe7008c60 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xe7227320 iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0xe7269fc1 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xe72ce54b sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xe7330d14 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xe735f689 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe7460f1c securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xe747297d xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75625fb cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xe7622686 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe775b60a sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xe7762d08 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe781c3ce page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7820559 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7bbc242 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xe7bd25ef kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xe7cded8c pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7e425e1 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0xe7e83356 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7fec7ab led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe80ddec8 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xe80de5b4 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xe813cf21 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe81ed106 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0xe8212fae pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xe82e5f2a fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xe8398cfc fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xe83aa834 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe8558465 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe8606ab9 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe867428b ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0xe869c621 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xe8721c79 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0xe8726731 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xe873e26c fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xe87d4620 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe8979b53 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xe8af5d8f crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xe8af832b regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xe8b4b394 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xe8be59b5 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xe8dcf423 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xe8e55bdc mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xe8ee95f5 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xe8f061bc tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xe8fcec9a snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0xe93c3335 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe953c3a9 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe967eefb snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0xe96daa4c power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xe971d17c tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xe984a98b kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xe9882a46 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL vmlinux 0xe98a4f46 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0xe9914eb8 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xe994341d snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0xe9a7fe16 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0xe9aa709a scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xe9adab17 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xe9af484b mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xe9b48ca2 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xe9b77a84 sdhci_set_bus_width +EXPORT_SYMBOL_GPL vmlinux 0xe9be3b8a phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0xe9c3d7fc tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xe9c49e18 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xe9c57125 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xe9c616de cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xe9ca9a32 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d26bc5 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xe9d883e2 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xe9dcc891 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe9e0f6f5 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xe9f137b6 power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xea09fb77 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1bb291 bL_switcher_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0xea1f6e0e hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xea25d83a blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xea36593f crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3fd927 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xea4a09cb mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xea4e6d3e fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea57c8b9 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xea595211 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xea651190 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL vmlinux 0xea6cc1d5 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0xea6ed91e ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xea764f70 musb_set_peripheral +EXPORT_SYMBOL_GPL vmlinux 0xea7d6ff1 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xea82da3c arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0xea98cc0e usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xeaa0da79 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xeaa49116 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0xeaba04f9 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0xeacaeb3d led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xeacc6a0b kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeace6bd2 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5e625 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae98a96 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xeaefca0d add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb02fb23 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xeb271b5b pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL vmlinux 0xeb30ff71 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0xeb34aed5 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xeb39ce75 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb41fe90 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xeb49ee07 of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb50aca8 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xeb52a5cc fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0xeb5a0d40 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb8f0f25 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xeb9028d0 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0xeb985fba phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeb9cd531 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeba27183 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xeba4a30a pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xebb6cb1e phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xebb82ead crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xebbda3b1 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0xebbe1622 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebd1c54d __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe5f30f bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xebf0d8df of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xebf5b709 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xec0f8740 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xec182742 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xec53438d devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xec5ae0bb ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec8466a8 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0xecb8f439 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xecc33b41 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xecd14bd2 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xecdc098e disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xece26e73 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xece29cb6 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xecfdaed2 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xed0b1dc5 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xed0f73a4 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xed2af972 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xed2afde6 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xed344146 mcpm_is_available +EXPORT_SYMBOL_GPL vmlinux 0xed38c848 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xed3f39ce rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xed46a6cf device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xed4716a6 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xed4e9206 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xed4f2612 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xed55a755 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xed567582 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xed73bd3c ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xed754c81 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xed8bbe99 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0xeda4a65c ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xeda5a0bb usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xee0705fc device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xee129979 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xee13c751 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xee1c5f16 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xee291157 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3f03a5 pci_ioremap_io +EXPORT_SYMBOL_GPL vmlinux 0xee46d101 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xeea28ebd rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xeeb0fd78 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0xeeda9756 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedea3bb sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeef84984 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xef011ec9 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xef016758 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xef04994e mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0xef0590f3 mtd_get_device_size +EXPORT_SYMBOL_GPL vmlinux 0xef089b71 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xef0a1f70 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0xef0d9a1e nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef30d34d cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0xef39f0fd ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xef3bcfa4 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xef425840 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef4be77f usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xef5a6294 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef771535 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0xef83eed1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xef88ebca __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefaace6e mv_mbus_dram_info +EXPORT_SYMBOL_GPL vmlinux 0xefb87e5c sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xefd435c7 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff9c9bf ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xf010c7ac regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xf02b9db1 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0xf04bdb8c tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xf063ba53 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xf06e365e unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf08a0548 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0977d79 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf09a8c01 get_device +EXPORT_SYMBOL_GPL vmlinux 0xf0a06e05 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xf0b3274e rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xf0c70957 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0xf0cefe0f to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xf0d6a225 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xf0e3219a platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xf0ec2055 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf151beec lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0xf17bc6aa crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1945f70 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xf19c0661 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b435d1 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf1dd43e4 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xf1e29a83 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xf1e8e565 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xf1fae6a3 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0xf21490d6 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xf21de4a8 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf2296e97 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xf236c910 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xf24b1f12 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xf260495d mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0xf262b0a8 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xf262b9e2 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xf26d3b8b of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xf26f5df3 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xf2906a0c strp_process +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf29cb04a snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL vmlinux 0xf2ad0a72 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xf2cddd33 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf2d6b0ff sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30c395a fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf318a38f relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf3211e68 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xf324d981 led_put +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33b1ea2 xhci_mtk_sch_init +EXPORT_SYMBOL_GPL vmlinux 0xf342fd5d freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf36d9acf of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xf36f3129 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0xf3702aad component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xf37949d2 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf37e110e skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf38df749 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3a38226 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xf3a74ebc led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xf3a81ef8 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3d1972e vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xf3d39401 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xf3d64cd7 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xf3dbd7ff fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xf3ea3fa4 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xf3f85588 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xf402cc7d crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf40cc8ac rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf41adc3b __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xf41ef078 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xf4588a04 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xf458c7e0 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46c2cbf virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xf47de486 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf48ceebd net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf48d84c6 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xf493ba73 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL vmlinux 0xf49965a9 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL vmlinux 0xf49c680a fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0xf4ab8331 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b24aa5 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xf4bb1c3c usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xf4bf30be ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xf4bf58db snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0xf4c0baa8 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xf4d5ddb5 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xf4d9a184 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4dd1641 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xf4e5c2c4 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xf4f1216f icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf503143b dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xf504a9de thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xf504f215 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xf505faf4 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xf5156924 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf523d24b hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf52e14e9 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xf52fb146 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xf53a9cf8 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54db4f0 sdhci_cleanup_host +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf553d824 arm_iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xf58eac1f __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xf5926a2f ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xf5a04f9e sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xf5a1d6ac rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b58e7a dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xf5b7e6e7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xf5c05604 mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0xf5c86914 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5dbf9fc security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0xf5f27fdd crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf615a776 snd_compr_stop_error +EXPORT_SYMBOL_GPL vmlinux 0xf617d432 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0xf61baa65 pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf62b7e37 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0xf62d86df mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0xf63212c5 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0xf64a71a4 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0xf64a9ef5 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf65db705 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf66779df ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xf6682580 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf699aec5 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL vmlinux 0xf6a2026c phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0xf6b62752 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf6c47af9 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6cc8c89 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0xf6d065f6 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f07565 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f3e6f9 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0xf70759cf clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xf723530c debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf734b7eb max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf75b297a crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf76455c2 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf76b0a59 read_current_timer +EXPORT_SYMBOL_GPL vmlinux 0xf782e1f5 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xf78a1103 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xf7b20c95 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7bea556 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf7cfc816 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xf7d4a33d devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7e2f156 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xf7fc73d8 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xf806f1d5 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xf810188d dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xf8250b16 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf82f6fbd stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf83f6ac7 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0xf8453843 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xf848d4b8 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xf84a375d dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf85b7dcc __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xf8669ab2 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xf8731bf6 clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf888ed65 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xf893a751 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xf8a0f954 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xf8a1d640 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xf8a3e055 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xf8a9276f devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xf8b0bf6d rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf8b73cfb skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xf8cb0c86 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xf8d03e9e fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xf8eafa82 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f922c9 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf909a6d6 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf910257d pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xf91f9760 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf9432308 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf95c08b3 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf9646e69 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xf964eb65 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0xf99cf77a skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ba4e29 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL vmlinux 0xf9c9934c of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0xf9cb9166 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xf9cbb9ce mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xf9d129df klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xf9d21452 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xf9d9d67f pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xfa03858a sram_exec_copy +EXPORT_SYMBOL_GPL vmlinux 0xfa0d790f pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xfa195881 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xfa1c18a1 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa27c6fd snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0xfa29f949 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xfa32a800 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xfa3a36a1 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xfa40c5be key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xfa54b9eb mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xfa67367a net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa6b2231 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xfa7194b5 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xfa780daf nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xfa82f473 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xfa8f6e5a devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xfa923d09 sdhci_end_tuning +EXPORT_SYMBOL_GPL vmlinux 0xfab238c2 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfaba248a usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xfabbc96b ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xfac58887 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xfacacb98 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae222e1 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfae333e4 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xfb06a6a9 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xfb0cd547 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xfb24d4ab blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb2f19ec amba_apb_device_add_res +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb437463 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xfb450d21 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xfb4550f8 rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xfb51f520 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xfb53572a snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0xfb546a8e alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xfb59b75d tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xfb59ed43 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xfb5aa3d0 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xfb63bd3e crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0xfb6ca832 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb7a4a7f btree_last +EXPORT_SYMBOL_GPL vmlinux 0xfb87e750 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xfb8e7428 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xfb9077f7 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0xfb9a1437 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfbb003cf mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfbb05423 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xfbb68a4e thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbe154bd i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xfbe97943 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfbf021fb regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0xfbfb512c wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xfc014cb6 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc15486f virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0xfc17d82b devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc206741 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xfc240ef4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xfc36a66a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xfc38d515 nand_prog_page_op +EXPORT_SYMBOL_GPL vmlinux 0xfc3973d8 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xfc49da22 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xfc5021c2 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xfc54e4ce gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xfc58856c pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0xfc6dcad9 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfc6e5258 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xfc6f0f38 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfc7f7704 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xfc9c9701 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xfca08ea2 xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0xfcc89357 device_add +EXPORT_SYMBOL_GPL vmlinux 0xfce0ba3c devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xfce32f44 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfcfdfb31 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0xfd040770 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfd06d4b5 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xfd079885 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xfd38f711 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xfd3aea9a fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xfd4dba7d freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfd544b19 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL vmlinux 0xfd7eb7bf of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0xfd847a5c sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xfdab2894 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdccd485 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfdd6f0f2 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xfddd34f0 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xfddf011a devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xfdf5f703 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe0bbbd2 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfe29d810 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xfe3effb2 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe48eecb __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xfe58455a clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0xfe61d854 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xfe7ed1f3 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe9429af crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9bea0f platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xfea59a53 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xfebdbef9 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xfec15db6 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfec49762 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed2096b __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfedaee09 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xfef67ace btree_init +EXPORT_SYMBOL_GPL vmlinux 0xfef6c7df tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xfef9b724 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xff039a57 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff18927c pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff2b438d tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5c871d iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff827a47 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xff861d30 mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0xff8bbd08 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0xff8e5a9b devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xff9eff8e sdhci_request_atomic +EXPORT_SYMBOL_GPL vmlinux 0xffa1349f gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xffa2d06d fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xffad385d usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffc40d1c platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xffc696bf blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xffd4d9b3 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xffde8382 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xffffb2cc ahci_sdev_attrs +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x81fb6b3e ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xb821c6b4 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x0dcdabb7 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2eba5e51 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4038f50e mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x494cc6bd mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5e1f4966 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x73b3d2d8 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x79bd68d3 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x81f0c9cf mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x8ce199b1 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x979ba63f mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa8fb4061 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xdbfbca3c mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xec1527c4 mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xfe179b72 mcb_unregister_driver drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x15e7dcbc 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 0x29679e71 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2fa815d8 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3037fa68 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x374347a0 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x385cf108 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x48db41bf usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4afed23e usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4b819663 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x57bbe88b usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5921e011 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6f5170d9 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x71fd8716 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x776a150b usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x79277e06 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x85938c48 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x991682b4 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa75fcccf usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd2502384 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdcbb7539 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe88df8a7 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf068dd39 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf5704827 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfd972703 usb_stor_probe1 drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.modules @@ -0,0 +1,6069 @@ +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +8250_omap +8250_uniphier +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_rdma +9pnet_virtio +a100u2w +a3d +a53-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +abp060mg +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +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-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 +am35x +am53c974 +amba-pl010 +ambakmi +amc6821 +amd +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +ansi_cprng +anubis +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_mhu +arm_scpi +arm_smc_wdt +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-lpc-ctrl +aspeed-lpc-snoop +aspeed-p2a-ctrl +aspeed-pwm-tacho +aspeed-smc +aspeed-vhub +aspeed-video +aspeed_adc +aspeed_gfx +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +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 +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796 +ax88796b +axg-audio +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +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 +bL_switcher_dummy_if +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 +bcm63xx_uart +bcm7xxx +bcm87xx +bcma +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bochs-drm +bonding +bpa10x +bpck +bpck6 +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_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 +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 +cachefiles +cadence-nand-controller +cadence-quadspi +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sdm845 +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +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 +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-exynos-audss +clk-hi3519 +clk-hi655x +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-pwm +clk-qcom +clk-rk808 +clk-rpm +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 +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmtp +cnic +cobra +coda +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppi41 +cqhci +cramfs +crc-itu-t +crc32-arm-ce +crc32_generic +crc4 +crc64 +crc7 +crc8 +crct10dif-arm-ce +crg-hi3516cv300 +crg-hi3798cv200 +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_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +cs89x0 +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-sc7180 +dispcc-sdm845 +display-connector +dl2k +dlci +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-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 +dm9601 +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dove_thermal +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw9714 +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 +dwc3 +dwc3-exynos +dwc3-haps +dwc3-meson-g12a +dwc3-of-simple +dwc3-omap +dwc3-qcom +dwmac-dwc-qos-eth +dwmac-generic +dwmac-ipq806x +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 +ecdh_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-fsl +ehci-npcm7xx +ehci-omap +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 +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +exynos-gsc +exynos-lpass +exynos-rng +exynos-trng +exynos5422-dmc +exynos_adc +exynosdrm +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +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 +fb_watterott +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 +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-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-mph-dr-of +fsl-qdma +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +ftdi-elan +ftdi_sio +ftgmac100 +ftl +ftm-quaddec +ftmac100 +ftsteutates +ftwdt010_wdt +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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_multi +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-gb +gb-audio-manager +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-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8960 +gcc-msm8974 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcs404 +gcc-sc7180 +gcc-sdm660 +gcc-sdm845 +gcc-sm8150 +gcc-sm8250 +gdmtty +gdmulte +gdth +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +gf2k +gfs2 +ghash-arm-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +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-aspeed +gpio-bd70528 +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-ucb1400 +gpio-uniphier +gpio-vibra +gpio-viperboard +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 +gpucc-msm8998 +gpucc-sc7180 +gpucc-sdm845 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +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 +hi6421v530-regulator +hi655x-pmic +hi655x-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +highbank-cpufreq +highbank_l2_edac +highbank_mc_edac +hih6130 +hip04_eth +hisi-rng +hisi-sfc +hisi504_nand +hisi_femac +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 +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 +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-aspeed +i2c-axxia +i2c-cbus-gpio +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-emev2 +i2c-exynos5 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hix5hd2 +i2c-i801 +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-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-xiic +i3c +i3c-master-cdns +i40e +i40iw +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-osm-l3 +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +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-ipu-v3 +imx-ldb +imx-tve +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +imx6ul_tsc +imxdrm +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +iowarrior +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 +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +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_npcm7xx +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +kpss-xcc +krait-cc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +ldusb +lec +led-class-flash +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-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-ns2 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pm8058 +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +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 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +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 +lpasscc-sdm845 +lpc_ich +lpc_sch +lpddr2_nvm +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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-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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mcde_drm +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +mdc800 +mdev +mdio +mdio-aspeed +mdio-bcm-unimac +mdio-bitbang +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 +mdio-xpcs +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-drm +mediatek-drm-hdmi +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-mx-sdhc +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 +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +mii +milbeaut-hdmac +milbeaut-xdmac +milbeaut_usio +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8996 +mmcc-msm8998 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6797-mt6351 +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd_dataflash +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-crypto +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-uart-apdma +mtk-vpu +mtk_ecc +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +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 +mxc4005 +mxc6255 +mxic_nand +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nbpfaxi +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_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 +ns +ns558 +ns83820 +nsh +nsp32 +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rockchip-otp +nvmem-uniphier-efuse +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +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 +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 +opencores-kbd +openvswitch +oprofile +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +orion_nand +orion_wdt +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +owl-dma +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parallel-display +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 +pbias-regulator +pblk +pc300too +pc87360 +pc87427 +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-pf-stub +pci-stub +pci200syn +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pf +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-cpcap-usb +phy-dm816x-usb +phy-exynos-usb2 +phy-exynos5-usbdrd +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +phy-gpio-vbus-usb +phy-hix5hd2-sata +phy-isp1301 +phy-mapphone-mdm6600 +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-ocelot-serdes +phy-omap-control +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-ufs +phy-qcom-ufs-qmp-14nm +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-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-tahvo +phy-ti-pipe3 +phy-tusb1210 +phy-twl4030-usb +phy-twl6030-usb +phy-uniphier-pcie +phy-uniphier-usb2 +phy-uniphier-usb3hs +phy-uniphier-usb3ss +phylink +physmap +pi3usb30532 +pi433 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9615 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcs404 +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sm8150 +pinctrl-sm8250 +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 +plat-ram +plat_nand +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +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 +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-beeper +pwm-berlin +pwm-cros-ec +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-omap-dmtimer +pwm-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-samsung +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q6adm +q6afe +q6afe-dai +q6asm +q6asm-dai +q6core +q6dsp-common +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-coincell +qcom-cpr +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-pm8xxx +qcom-pm8xxx-xoadc +qcom-pon +qcom-rng +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_common +qcom_edac +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_ipa_notify +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_sysmon +qcom_tsens +qcrypto +qcserial +qed +qede +qedf +qedi +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8974 +qnoc-qcs404 +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-gyroadc +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_thermal +rcuperf +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-ceu +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-scmi +reset-ti-syscon +reset-uniphier +reset-uniphier-glue +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmobile-reset +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-io-domain +rockchip-isp1 +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmpd +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-meson +rtc-meson-vrtc +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-sh +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +rza_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3c2410_wdt +s3fb +s3fwrn5 +s3fwrn5_i2c +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s5p-cec +s5p-g2d +s5p-jpeg +s5p-mfc +s5p-sss +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 +salsa20_generic +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 +sbs-battery +sbs-charger +sbs-manager +sc16is7xx +sc92031 +sca3000 +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 +sclk-div +scmi-cpufreq +scmi-hwmon +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-omap +sdhci-pci +sdhci-pxav3 +sdhci-s3c +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +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 +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 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +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 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc911x +smc91x +smc_diag +smd-rpm +smem +smiapp +smiapp-pll +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +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-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-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-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-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-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-arizona +snd-soc-armada-370-db +snd-soc-arndale +snd-soc-audio-graph-card +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-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-asrc +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-i2s +snd-soc-idma +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cpu +snd-soc-lpass-ipq806x +snd-soc-lpass-platform +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98095 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mtk-common +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-odroid +snd-soc-omap-mcbsp +snd-soc-pcm +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-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-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-max98090 +snd-soc-rockchip-pcm +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1308-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5663 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +snd-soc-s3c-dma +snd-soc-samsung-spdif +snd-soc-sdm845 +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-smdk-spdif +snd-soc-smdk-wm8994 +snd-soc-smdk-wm8994pcm +snd-soc-snow +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +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-tm2-wm5110 +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-uniphier-aio-cpu +snd-soc-uniphier-aio-ld11 +snd-soc-uniphier-aio-pxs2 +snd-soc-uniphier-evea +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm5110 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-soc-zx-aud96p22 +snd-sof +snd-sof-of +snd-sof-pci +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 +sni_ave +snic +snps_udc_core +snps_udc_plat +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 +spi-amd +spi-armada-3700 +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-geni-qcom +spi-gpio +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +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-rspi +spi-s3c64xx +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-ti-qspi +spi-tle62x0 +spi-uniphier +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +spmi-pmic-arb +sprd_serial +sps30 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssbi +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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-kprobes +test_blackhole_dev +test_bpf +test_power +tg3 +tgr192 +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-ads7950 +ti-ads8344 +ti-ads8688 +ti-cal +ti-csc +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sc +ti-sn65dsi86 +ti-soc-thermal +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tusb6010 +tvaudio +tve200_drm +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-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +uniphier-mdmac +uniphier-regulator +uniphier-sd +uniphier-xdmac +uniphier_thermal +uniphier_wdt +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vexpress-spc-cpufreq +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-pci +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_mdev +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-sdm845 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgmac +xhci-histb +xhci-mtk +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_emac +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xillybus_core +xillybus_of +xillybus_pcie +xlnx_vcu +xor +xor-neon +xpad +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 +yealink +yellowfin +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic-lpae.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic.modules @@ -0,0 +1,6210 @@ +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +8250_omap +8250_uniphier +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_rdma +9pnet_virtio +a100u2w +a3d +a53-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +abp060mg +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +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-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 +am35x +am53c974 +amba-pl010 +ambakmi +amc6821 +amd +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anubis +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_mhu +arm_scpi +arm_smc_wdt +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-lpc-ctrl +aspeed-lpc-snoop +aspeed-p2a-ctrl +aspeed-pwm-tacho +aspeed-smc +aspeed-vhub +aspeed-video +aspeed_adc +aspeed_gfx +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +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 +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796 +ax88796b +axg-audio +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +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 +bL_switcher_dummy_if +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 +bcm63xx_uart +bcm7xxx +bcm87xx +bcma +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bochs-drm +bonding +bpa10x +bpck +bpck6 +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_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 +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-quadspi +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sdm845 +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cdns3-imx +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +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 +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-exynos-audss +clk-hi3519 +clk-hi655x +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-pwm +clk-qcom +clk-rk808 +clk-rpm +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 +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +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_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppi41 +cramfs +crc-itu-t +crc32-arm-ce +crc32_generic +crc4 +crc64 +crc7 +crc8 +crct10dif-arm-ce +crg-hi3516cv300 +crg-hi3798cv200 +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_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +cs89x0 +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +denali +denali_dt +denali_pci +des_generic +designware_i2s +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-sc7180 +dispcc-sdm845 +display-connector +dl2k +dlci +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-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 +dm9601 +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dove_thermal +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +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-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw9714 +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 +dwc3 +dwc3-exynos +dwc3-haps +dwc3-meson-g12a +dwc3-of-simple +dwc3-omap +dwc3-qcom +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-ipq806x +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 +ecdh_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-fsl +ehci-mxc +ehci-npcm7xx +ehci-omap +ehci-tegra +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 +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +exynos-gsc +exynos-lpass +exynos-rng +exynos-trng +exynos5422-dmc +exynos_adc +exynosdrm +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +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 +fb_watterott +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 +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-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-mph-dr-of +fsl-qdma +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsl_usb2_udc +ftdi-elan +ftdi_sio +ftgmac100 +ftl +ftm-quaddec +ftmac100 +ftsteutates +ftwdt010_wdt +fujitsu_ts +fusb300_udc +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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_multi +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-gb +gb-audio-manager +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-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8960 +gcc-msm8974 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcs404 +gcc-sc7180 +gcc-sdm660 +gcc-sdm845 +gcc-sm8150 +gcc-sm8250 +gdmtty +gdmulte +gdth +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +gf2k +gfs2 +ghash-arm-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +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-aspeed +gpio-bd70528 +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-ts4800 +gpio-ts4900 +gpio-ucb1400 +gpio-uniphier +gpio-vibra +gpio-viperboard +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-sdm845 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +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 +hi6421v530-regulator +hi655x-pmic +hi655x-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +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 +hisi504_nand +hisi_femac +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 +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-aspeed +i2c-cbus-gpio +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-emev2 +i2c-exynos5 +i2c-fsi +i2c-gpio +i2c-hid +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-xiic +i3c +i3c-master-cdns +i40e +i40iw +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-osm-l3 +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +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-bus +imx-cpufreq-dt +imx-dma +imx-dsp +imx-interconnect +imx-ipu-v3 +imx-ldb +imx-mailbox +imx-media-common +imx-pxp +imx-sdma +imx-tve +imx-vdoa +imx21-hcd +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx355 +imx6-media +imx6-media-csi +imx6-mipi-csi2 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7-mipi-csis +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxdrm +imxfb +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +iova +iowarrior +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 +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +irq-ts4800 +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +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_npcm7xx +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +kpss-xcc +krait-cc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +ldusb +lec +led-class-flash +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-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-ns2 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pm8058 +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +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 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +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 +lpasscc-sdm845 +lpc_ich +lpc_sch +lpddr2_nvm +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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-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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mcde_drm +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +mdc800 +mdev +mdio +mdio-aspeed +mdio-bcm-unimac +mdio-bitbang +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 +mdio-xpcs +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-drm +mediatek-drm-hdmi +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-mx-sdhc +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 +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +mii +milbeaut-hdmac +milbeaut-xdmac +milbeaut_usio +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8996 +mmcc-msm8998 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6797-mt6351 +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd_dataflash +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-crypto +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-uart-apdma +mtk-vpu +mtk_ecc +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +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 +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nbpfaxi +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_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 +ns +ns558 +ns83820 +nsh +nsp32 +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +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-rockchip-otp +nvmem-uniphier-efuse +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +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 +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 +opencores-kbd +openvswitch +oprofile +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +orion_nand +orion_wdt +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +owl-dma +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parallel-display +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_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 +pblk +pc300too +pc87360 +pc87427 +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-pf-stub +pci-stub +pci200syn +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pf +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-cpcap-usb +phy-dm816x-usb +phy-exynos-usb2 +phy-exynos5-usbdrd +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +phy-gpio-vbus-usb +phy-hix5hd2-sata +phy-isp1301 +phy-mapphone-mdm6600 +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-ocelot-serdes +phy-omap-control +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-ufs +phy-qcom-ufs-qmp-14nm +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-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +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 +phy-uniphier-pcie +phy-uniphier-usb2 +phy-uniphier-usb3hs +phy-uniphier-usb3ss +phylink +physmap +pi3usb30532 +pi433 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9615 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcs404 +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sm8150 +pinctrl-sm8250 +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 +plat-ram +plat_nand +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +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 +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-beeper +pwm-berlin +pwm-cros-ec +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-omap-dmtimer +pwm-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-samsung +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q6adm +q6afe +q6afe-dai +q6asm +q6asm-dai +q6core +q6dsp-common +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-coincell +qcom-cpr +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-pm8xxx +qcom-pm8xxx-xoadc +qcom-pon +qcom-rng +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_common +qcom_edac +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_ipa_notify +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_sysmon +qcom_tsens +qcrypto +qcserial +qed +qede +qedf +qedi +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8974 +qnoc-qcs404 +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-gyroadc +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_thermal +rcuperf +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-ceu +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-scmi +reset-ti-syscon +reset-uniphier +reset-uniphier-glue +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmobile-reset +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-io-domain +rockchip-isp1 +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmpd +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +rza_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3c2410_wdt +s3fb +s3fwrn5 +s3fwrn5_i2c +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s5p-cec +s5p-g2d +s5p-jpeg +s5p-mfc +s5p-sss +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 +salsa20_generic +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 +sbs-battery +sbs-charger +sbs-manager +sc16is7xx +sc92031 +sca3000 +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 +sclk-div +scmi-cpufreq +scmi-hwmon +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-s3c +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +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 +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 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +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 +sm3_generic +sm4_generic +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc911x +smc91x +smc_diag +smd-rpm +smem +smiapp +smiapp-pll +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +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-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-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-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-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +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-arizona +snd-soc-armada-370-db +snd-soc-arndale +snd-soc-audio-graph-card +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-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-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-utils +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-i2s +snd-soc-idma +snd-soc-imx-audmix +snd-soc-imx-es8328 +snd-soc-imx-mc13783 +snd-soc-imx-spdif +snd-soc-imx-ssi +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cpu +snd-soc-lpass-ipq806x +snd-soc-lpass-platform +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98095 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-mc13783 +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-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mtk-common +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-odroid +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-pcm +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-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-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-max98090 +snd-soc-rockchip-pcm +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1308-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +snd-soc-rx51 +snd-soc-s3c-dma +snd-soc-samsung-spdif +snd-soc-sdm845 +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-smdk-spdif +snd-soc-smdk-wm8994 +snd-soc-smdk-wm8994pcm +snd-soc-snow +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-alc5632 +snd-soc-tegra-max98090 +snd-soc-tegra-pcm +snd-soc-tegra-rt5640 +snd-soc-tegra-rt5677 +snd-soc-tegra-sgtl5000 +snd-soc-tegra-trimslice +snd-soc-tegra-utils +snd-soc-tegra-wm8753 +snd-soc-tegra-wm8903 +snd-soc-tegra-wm9712 +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-tfa9879 +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +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-tm2-wm5110 +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-twl4030 +snd-soc-twl6040 +snd-soc-uda1334 +snd-soc-uniphier-aio-cpu +snd-soc-uniphier-aio-ld11 +snd-soc-uniphier-aio-pxs2 +snd-soc-uniphier-evea +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm5110 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-of +snd-sof-pci +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 +sni_ave +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +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 +spi-amd +spi-armada-3700 +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +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-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-rspi +spi-s3c64xx +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-ti-qspi +spi-tle62x0 +spi-uniphier +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +spmi-pmic-arb +sprd_serial +sps30 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssbi +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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-tcu +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra20-devfreq +tegra30-devfreq +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test-kprobes +test_blackhole_dev +test_bpf +test_power +tg3 +tgr192 +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-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-sn65dsi86 +ti-soc-thermal +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts4800-ts +ts4800_wdt +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +uniphier-mdmac +uniphier-regulator +uniphier-sd +uniphier-xdmac +uniphier_thermal +uniphier_wdt +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vexpress-spc-cpufreq +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-pci +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_mdev +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-sdm845 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgmac +xhci-histb +xhci-mtk +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_emac +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xillybus_core +xillybus_of +xillybus_pcie +xlnx_vcu +xor +xor-neon +xpad +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 +yealink +yellowfin +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/armhf/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/armhf/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/fwinfo +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/fwinfo @@ -0,0 +1,1753 @@ +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: amdgpu/arcturus_asd.bin +firmware: amdgpu/arcturus_gpu_info.bin +firmware: amdgpu/arcturus_mec.bin +firmware: amdgpu/arcturus_mec2.bin +firmware: amdgpu/arcturus_rlc.bin +firmware: amdgpu/arcturus_sdma.bin +firmware: amdgpu/arcturus_sos.bin +firmware: amdgpu/arcturus_ta.bin +firmware: amdgpu/banks_k_2_smc.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/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/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/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_gpu_info.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_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_sos.bin +firmware: amdgpu/navi12_ta.bin +firmware: amdgpu/navi14_asd.bin +firmware: amdgpu/navi14_ce.bin +firmware: amdgpu/navi14_ce_wks.bin +firmware: amdgpu/navi14_gpu_info.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/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/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/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_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/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_gpu_info.bin +firmware: amdgpu/renoir_me.bin +firmware: amdgpu/renoir_mec.bin +firmware: amdgpu/renoir_mec2.bin +firmware: amdgpu/renoir_pfp.bin +firmware: amdgpu/renoir_rlc.bin +firmware: amdgpu/renoir_sdma.bin +firmware: amdgpu/renoir_vcn.bin +firmware: amdgpu/si58_mc.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/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/vega10_acg_smc.bin +firmware: amdgpu/vega10_asd.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: 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: 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_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: atmsar11.fw +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-e1h-7.13.15.0.fw +firmware: bnx2x/bnx2x-e2-7.13.15.0.fw +firmware: brcm/bcm43xx-0.fw +firmware: brcm/bcm43xx_hdr-0.fw +firmware: brcm/brcmfmac43012-sdio.bin +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/brcmfmac43430a0-sdio.bin +firmware: brcm/brcmfmac43455-sdio.bin +firmware: brcm/brcmfmac43456-sdio.bin +firmware: brcm/brcmfmac4350-pcie.bin +firmware: brcm/brcmfmac4350c2-pcie.bin +firmware: brcm/brcmfmac4354-sdio.bin +firmware: brcm/brcmfmac4356-pcie.bin +firmware: brcm/brcmfmac4356-sdio.bin +firmware: brcm/brcmfmac43569.bin +firmware: brcm/brcmfmac43570-pcie.bin +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.bin +firmware: c218tunx.cod +firmware: c320tunx.cod +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: cyzfirm.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-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_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: i2400m-fw-usb-1.5.sbcf +firmware: i6050-fw-usb-1.5.sbcf +firmware: i915/bxt_dmc_ver1_07.bin +firmware: i915/bxt_guc_33.0.0.bin +firmware: i915/bxt_huc_2.0.0.bin +firmware: i915/cml_guc_33.0.0.bin +firmware: i915/cml_huc_4.0.0.bin +firmware: i915/cnl_dmc_ver1_07.bin +firmware: i915/ehl_guc_33.0.4.bin +firmware: i915/ehl_huc_9.0.0.bin +firmware: i915/glk_dmc_ver1_04.bin +firmware: i915/glk_guc_33.0.0.bin +firmware: i915/glk_huc_4.0.0.bin +firmware: i915/icl_dmc_ver1_09.bin +firmware: i915/icl_guc_33.0.0.bin +firmware: i915/icl_huc_9.0.0.bin +firmware: i915/kbl_dmc_ver1_04.bin +firmware: i915/kbl_guc_33.0.0.bin +firmware: i915/kbl_huc_4.0.0.bin +firmware: i915/skl_dmc_ver1_27.bin +firmware: i915/skl_guc_33.0.0.bin +firmware: i915/skl_huc_2.0.0.bin +firmware: i915/tgl_dmc_ver2_06.bin +firmware: i915/tgl_guc_35.2.0.bin +firmware: i915/tgl_huc_7.0.12.bin +firmware: icom_asc.bin +firmware: icom_call_setup.bin +firmware: icom_res_dce.bin +firmware: imx/sdma/sdma-imx6q.bin +firmware: imx/sdma/sdma-imx7d.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: 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: isi4608.bin +firmware: isi4616.bin +firmware: isi608.bin +firmware: isi608em.bin +firmware: isi616em.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-Qu-b0-hr-b0-56.ucode +firmware: iwlwifi-Qu-b0-jf-b0-56.ucode +firmware: iwlwifi-Qu-c0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-jf-b0-56.ucode +firmware: iwlwifi-QuZ-a0-hr-b0-56.ucode +firmware: iwlwifi-QuZ-a0-jf-b0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf-a0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf4-a0-56.ucode +firmware: iwlwifi-cc-a0-56.ucode +firmware: iwlwifi-so-a0-gf-a0-56.ucode +firmware: iwlwifi-so-a0-hr-b0-56.ucode +firmware: iwlwifi-so-a0-jf-b0-56.ucode +firmware: iwlwifi-ty-a0-gf-a0-56.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/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: mellanox/mlxsw_spectrum-13.2000.2714.mfa2 +firmware: mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 +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/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/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/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/xusb.bin +firmware: nvidia/tegra194/xusb.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: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.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.42.2.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: renesas_usb_fw.mem +firmware: riptide.hex +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_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/rtl8153a-2.fw +firmware: rtl_nic/rtl8153a-3.fw +firmware: rtl_nic/rtl8153a-4.fw +firmware: rtl_nic/rtl8153b-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/rtw8822b_fw.bin +firmware: rtw88/rtw8822c_fw.bin +firmware: rtw88/rtw8822c_wow_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-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/ppc64el/generic +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/ppc64el/generic @@ -0,0 +1,23302 @@ +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/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x37f0d238 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x97df4ef5 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xb8410e2f crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0xf01fbba8 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xfb681fe5 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xfce1581e crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/sha3_generic 0x0f71ace9 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x4f8482df crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x890c6391 crypto_sha3_final +EXPORT_SYMBOL crypto/sm3_generic 0x21cdbd99 crypto_sm3_update +EXPORT_SYMBOL crypto/sm3_generic 0xbed0b73c crypto_sm3_finup +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0xe439c074 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x894637f6 bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0xecfdaff0 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 0x086dd839 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x10a080c7 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x22bdea6d pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x5a48ec28 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x62740999 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x691a42a4 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x72c44ccb paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x94557f74 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xa0164f43 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa8a002f1 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb91aadfc pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xe07819e3 pi_release +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xdc8e0279 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x4378c987 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x72a40fd7 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 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2efa3c13 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x377bc097 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +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 0x532ae72f ipmi_smi_watcher_unregister +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 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xc6c423cc 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 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 0x493f25e5 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x765dd9b4 st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7689fbb6 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xb47ac163 st33zp24_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x1cc3857b xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7512f7bc xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x9b01551e xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x20b06d08 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x47abd0e3 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x92107df3 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +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 0x07fc8f97 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0d3da915 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x21fc106c fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x281a91eb fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x28dc760a fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x33b85b80 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x35d56c36 fw_core_handle_request +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 0x3d6eadc2 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ce9fcbc fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x553fe9ed fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5818169f fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x649a8817 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6de1b0fa fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6e3eeb4c fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74a54886 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x88fb79a1 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x894e805d fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8f7979fc fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x97c262b3 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xba24a52c fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc172f262 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd8b3ab91 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xda8273e7 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe078e8b0 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 0xecf9a85a fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf8ddd76f fw_run_transaction +EXPORT_SYMBOL drivers/gpu/drm/drm 0x000fa1e1 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00a44de1 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00b6090f drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00f5ea2b drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x015d461e drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02ca45a6 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03aea605 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x041885c5 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05bf4b2d drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x076a6cf3 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08a6a23f drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09eee7ab drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ac1935b drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ecbe9ed drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f4d6f4f drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f75f1ff drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ff4cf6d drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1189f179 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12d63a2e drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13f19b81 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1447fb65 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x161738fd drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x164ceac9 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x169833a9 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1858da6e drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18b42a7a drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19dcbf9a drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19e69560 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19f1842b drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19fd2521 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af72a83 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b2aeef3 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c47b869 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ce4f9af drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e712a21 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f6f2a9c drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x205f9b73 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20f6740a drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x213560d9 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2168d2e7 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22083108 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2210f4f0 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22936a42 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24db4d83 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2563c26e drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x259ffd59 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28246519 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28621d4a drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28da1d34 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a3b9b88 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a4c4f2a drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a710ce6 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b28e1af drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b2b32b5 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bd1cbd0 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c535562 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c7943c4 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d0215da drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d6937c7 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2df90b69 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e28b820 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e6b5889 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3007cba4 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30da66d4 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3158ca78 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31cad56f drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3313cefc drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33a4ae3f drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x342ebab8 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34533773 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3475faec drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x348c4963 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34fe73f6 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x354946a5 drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35b852a3 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35d29fab drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35f1a9b6 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3650bf21 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x371f0e7c drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x379250e7 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38220f02 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39796b38 drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b5e8fa2 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c2bf1d0 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d35961f drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3db5abfd drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3deb2684 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e940bc0 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f1feaa7 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40323775 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x403adbb2 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x405a5cfa drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41357b2f drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41984362 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41a88f70 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41fd1657 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4244108b drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42d6a129 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4370d5f2 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43ba83ff drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x445b85d4 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44c59f66 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44e98455 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x453ed322 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4578824c drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45de36dc drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46c193f3 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4707d660 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4803779d drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48329e98 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48efe409 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4925c0f1 drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498c08bb drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a4436be drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4acedfda drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bdd3b6e drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c83fe10 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c8e9c18 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ceedd8f drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d2d3d3f drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d479744 drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4df15d58 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ebe569d drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f933dbe drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x500f5170 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52782d2b drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x528ec970 drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x533fb7d1 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x539dd951 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53a37146 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53c8ffeb drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5485262f drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x548a6427 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54d50050 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x558e80db drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c45c06 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +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 0x57cba017 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59f430ec drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5abd2ace drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b344b9c drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bc05b76 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ce9f5ec drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d559068 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d9e1852 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5daba5fb drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dbe7b77 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e0ab0c6 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f579843 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fadb1cf drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fbf7779 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x604692c4 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6065aec9 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6160c2cd drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61fd8d30 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62a69c27 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63819116 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6576422b drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6633e102 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66852b21 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x672ac1b4 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6863d55d drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69f6a180 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69ff6dbc drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b7198fa drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bd1ffd9 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c3dde38 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c5c8c20 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ce253ca drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f1269dd drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f12a9da drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70748224 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x725f0e49 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x730d2fcf drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76238064 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7674f86b drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76c66c50 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77c47700 drm_agp_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79ad00cd drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79ba56d7 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79f0bdbd drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a4f7fc2 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cd6d862 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d7369aa drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7de3939f drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ef01bff drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x800212fd drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x800db37b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80fa0562 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81bcf4d0 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81f6dea8 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83cb0ba6 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83cfab91 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83e07875 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85d2f22f drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x862ddd03 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x866f7b5f drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x866fd769 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x868ea112 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8799ca99 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88461ecf drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x885e9e2b drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x891eb06b drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a0dfd9f drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a13599c drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a7a1df8 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b7932ea drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d1d084d drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dbfe629 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e335e9f drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90856a24 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91ccd98e drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x937787c1 drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95474091 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x973cdcca drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97aa4435 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9803b5ea drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9913d97e drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9936da9d drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a8eb166 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ac29b63 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b004477 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b4c9b29 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b7e33ee drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bd50236 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d70c30d drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e2a50fa drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f248756 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f7a0724 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa109e892 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1320e3b drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa20fd9a1 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa23e211b drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3504809 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa356d615 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa376759e drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4416c66 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa47e8c47 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4e55a33 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa607e31d drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa65e1b76 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa673fc50 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6cbf2b3 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7dcee41 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa866f8e4 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa91a9286 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa91ea192 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa94f34db drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9948bf5 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac22014 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac543775 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad0019c6 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad10e1e8 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad51acac drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad8c35e7 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaebc6ca9 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaecf3ded drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf882f04 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0ae67d0 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0cf4aea drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0e7c2fe __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1482438 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1679156 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1ea26ea drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2339092 drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2a06d83 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb387c752 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb41ae976 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb57ca8f7 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5bda201 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6a979ab drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb72f8246 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7985905 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7d186c2 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8827fd7 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8a2d10d drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8d0e364 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb906052d drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbb1d1da drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbf278db drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcc55002 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcd5c1db drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd30f574 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd513785 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbed32b1d drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbedefab8 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf06bde0 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf67527e drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc044f977 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0a78f57 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0cc4018 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2011114 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2f5bb83 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc30dad25 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4b3f937 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4ebfb3f drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc54eb4b0 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5e75b3d drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7882ef2 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc953ee41 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac49465 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc539cc5 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdc965cf drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce0f7c5e drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce8ce935 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfecc4c5 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcff75826 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd06f3856 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd26b9c7e drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3caa5b8 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd45f94cb drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5511454 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd583f89a drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd653348c drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd657a40c drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6d027f7 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd73dcf89 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd77bef8f drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d374ed drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd84a5676 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8ac9c9f drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8b2a7dc drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8bff53d drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd98363d5 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda2e6c0b drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda4ff9e2 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda57fe49 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb035ffe drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbcec67d drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc061207 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc580ca2 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc675820 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc7d5077 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd0a2c9c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd664d12 drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde69f8f4 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf64c09d drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdff9e5d1 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0a52d23 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1a67a54 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1a735a3 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1b89626 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe20a21f9 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24ac6ab drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe318944a drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe410ebf7 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe550b374 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5bf9d46 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6c6c8b8 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe741ddea drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe78971f2 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe93ed92f drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe99fe5f8 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeac16c7e drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee5ec2ea drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeebf9265 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef6f82c0 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefacb752 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeff4e723 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0a83c68 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0f64d74 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf23e6593 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3677649 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf39a60b4 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4818eac drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5260920 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf679c4e8 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6879efc drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6925b96 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6fc2570 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7c690fe drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8a9562b drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8afc030 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9982817 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9eabe68 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa43cefd drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb4517f8 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb7b76c1 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc3f9c5d drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc6a841d drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc9eaaed drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcbd62dd drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd42c97f drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdd11cd1 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdd5783d drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfee1ad7b drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff42a212 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffe21c27 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00bc29b0 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02adadf7 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05b83b95 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06287e34 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0763d253 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08714519 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09c03dd0 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a4153e8 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a5bef41 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a6942e6 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c9fb1d0 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0db63c2a drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ff9e981 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f8a0e6 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f93dda drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11760614 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17276b73 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17d7a528 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18ba49ca drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x199f4b27 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ab2b1ea drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b7a5d40 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d53d88b drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d54afd7 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e330365 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e85db1a drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ed27fc9 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f358e32 drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x206fdfef drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x210aeca4 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21899fb0 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21c5bec2 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x223682e6 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24ef0968 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25d3af2e drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x287a979e drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28cbd534 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x291cfe9d __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a337989 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a5a3044 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b306f2e drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bba3e28 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c208c32 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d18291c drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3198b18a drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x349a0312 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36ceeef7 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x376010d1 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3867dd12 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38a0b020 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39eee29b drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a3b5167 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3aeb6e91 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3aeba773 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b176139 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b267e21 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ce3b2ed drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e66fd0c drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3eaf7bb6 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x415f0c99 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41a2186d drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41e3e538 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x423b8c9b drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4486942a drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44bfd96a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45a19f8d drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46a8948b drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46f96834 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48c8250a drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x490011ef drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ec0d726 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ef7a686 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fa2115c drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51cb0fa2 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51cb1077 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5292b350 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x529d5c32 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53cbad67 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5423d600 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54fc3f4e drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56606a56 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x567fa2f8 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58fc78f5 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5949a5fd drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5cb2ab80 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e1f914e drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60e0e021 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61f62a07 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x629dbc66 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6323b9d9 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67fc1209 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x684420cc drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6aa5221e drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ccd1d9b drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6eac7da5 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70163dc5 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70546c43 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72b7c4e5 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73fc39a4 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7478edac drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7616af38 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78051de2 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79937420 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79fd9bcd drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a7feb64 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7acb94c2 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b2a96fa drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b5656c5 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bedcce2 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bf79f0e drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7db34bca drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ea28b5f drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80fbc40d drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x814983bd drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85cebee4 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86529daf drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87d72c40 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a7c1ad0 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ad740d1 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d31f00f drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d4ce7d5 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8de1bf33 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x90344db5 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9096f1f1 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9112cf79 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x929be77e drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x938de449 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x940f2f2d drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95a4db7c drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95b9b4f7 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97d70b6e drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x98fd6034 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bb3c5e1 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cff2c4b __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e54f3c3 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f1300a4 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0cad18c drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa44e7061 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4d71841 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa2f1105 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab89b803 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac4321d7 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac7f0932 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad0e6e65 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad95523b __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaee9258a __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb01f1f20 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb54b4559 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb791022b drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb818d43a drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8d24acc drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba05d7d5 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb5b6114 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb91594a drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbdcc92e2 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe0e50cd drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbff0efc0 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc248f3b4 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2b99119 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3881364 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc434b282 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4fabc11 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc62b77ad drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9b9dc97 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd96acc0 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce3a88c7 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce4d97dc drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf1a11eb drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1e9fb6b drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd28b9457 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6e122ea drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6f06637 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd73a9b0a drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7f47fde drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8bd47b1 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9212fb6 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdbbe4f39 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdcb8a9b6 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdeec5463 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf74b746 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2a1fb3a drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe728f35c drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7adab9d drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9cf446c drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeab230ce drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeed4d673 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1a452e5 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2165bd0 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf29561b9 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4535d5b drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5374409 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf554fb1f drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5827dc4 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5d1a2dc drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6228fab drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6cd8eab drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7149768 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf77cf8a9 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7870dfd drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8dd8a12 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf90b35e9 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9e3043e drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc6feb46 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc847bec drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd066c8c drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe90daf7 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x142b5fa0 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x2988afb1 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3348b9a8 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3be26321 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x415c0c1a mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x511fe28e mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x54ee87c5 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x582fa493 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6f9f402b mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7e5c3005 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa2f9777e mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xae0578b4 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb75faab2 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbfa7c1e3 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xc2572cef mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf0c527ac mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf8d5c8c4 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xe86c5895 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xf7c2db1e drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2b124eac drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2ee84d7f drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2f970408 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x33199d93 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3ca4db91 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x467159b5 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4f15556f drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x57586ae6 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7b6523f7 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x86052df3 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x91569445 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x98f33e48 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa2701326 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa8a2dded drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xaa41d229 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xaa54f4dc drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xce717dbe drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd0d1beb8 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf08bfebc drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf3d533ba drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfa4e6a31 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1bd35874 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1e14b462 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2026843f drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x20b3ec2b drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2176bf59 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2313c1a1 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2a505c97 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x39f8ba4f drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x42fce38d drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x491c51a2 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4b77d6f9 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x88d34652 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9aed7534 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa2fe2fc5 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa81386fc to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb0be14e3 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbecfec0b drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc3f9e049 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc8284e16 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdb54532d drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe3b36488 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01224d96 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x04b24b1a ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07f1c66f ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x098cf924 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0bdaa1ac ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x14580072 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1566138b ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x16d135a2 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1759e785 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17f5634b ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a830c7f ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1f819c4e ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20a2e0de ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x21cda2b4 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2540732d ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a73f487 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2f12ad9c ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2fce546b ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x328c92d6 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x33a5ec98 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b22b114 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e6e6316 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50eb95fb ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x55ef6636 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6071bc6c ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62233e32 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x64897f58 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78adfe2c ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8505556f ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9148fb74 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91ef936a ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9671ad3b ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96ab338b ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96ba0094 ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9a1869c7 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9cf99dac ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa0756a69 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa539719f ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa7288d67 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa7bd4337 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa81e7781 ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac8bbd89 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb690db52 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb716fe25 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb79694f5 ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbd8c09f9 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc2345257 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc684cf88 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc82a7fcb ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xca78abcb ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd1424428 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd58b1a0c ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5deec12 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd90004e7 ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdda8b71a ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe4ff64b3 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5e64589 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe723ea32 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf0627832 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf1124c12 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf92529f8 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe56d8ac ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe6f30ac ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/hid/hid 0xa7dfbbb6 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 0x2e8c2bca i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x6740aba4 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x9922d7e6 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xa2ac699f i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xe9543b38 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x7ec13588 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x2f639228 bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xaa6adc1d bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0xe05d92c8 bma400_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x6c34b8c1 kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0xc389da38 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0xfdb6a38b kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x01390aa5 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x14f8359e mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x34e47907 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x35dd72f9 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3bc5a764 mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3db97d09 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x421a6402 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x614c2af8 mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x717e4936 mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x7231eaa7 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x7e0d698c mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x7f892d83 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x8e4a4e4e mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x98a8a24e mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xaaafccec mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xd7ac2f97 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x056e3c97 st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xb595da95 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xfe01732d st_accel_get_settings +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0xfd668c08 iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xd0ed46d1 iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xe96a5f64 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x0952e1eb iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xa9ee9b2a devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xf261abbb iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0xb454ce0e bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x0993966e hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x24788beb hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3f590938 hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x42a6833a hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x437f57be hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x5b83c8b4 hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7e749ed5 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xbbdbd4ce hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xde75994e hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xf8f8026a hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x1fb88659 hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x2f0ea6d3 hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x73e74486 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xddc59470 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2630b63d ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x424d6b24 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x704acbfa ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x91e1f77a ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x99289857 ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x9dd1f6d7 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x9f28b75e ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xc32e4e61 ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xcd0c0c2f ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x0dc65e05 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x19154b8c ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x1936f4e1 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xa05af2f3 ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xe677c9cf ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x947bb245 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xb893390f ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe87a7e6d ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x1f6ccfef st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x2049cc5f st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x29dde832 st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x2ffaea18 st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3372c311 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3ac10a69 st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3c8525ac st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3e155faa st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x5d73ec1d st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x5e2ec5e3 st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x85e133d2 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8948fba1 st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x934892c5 st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x9e21657f st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa36429df st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xb2430fe1 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xeb88e8da st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xff3d35e9 st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x929e2506 st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0x1f9a4a9e st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x5951b97a mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xa8e77262 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xe25a9bde mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x10bdd936 st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x38297305 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x65368319 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xb499c5cf hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xfa8bddba hts221_probe +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x0d914d81 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x1d82095e adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x32d5e630 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0xbef5b3fb fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xd9699ef4 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xf03ff399 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x0d69fd21 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x19d387e6 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x297359fe iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x2c7d6e49 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x32b41d10 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x33b1fb66 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x3eb598db iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x5145b07f iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x5c82ea55 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x6660df79 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x7fad3bdf iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x862b0db9 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x9d15c46f iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xa4e253a1 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xaa9f7a35 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xb47a6bec iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xbb4fe5f0 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xbf6472c9 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xd4d998ba iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd4f43ed1 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0xdaeab132 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xdb133ca2 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xec5ca718 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xf5883e26 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x472a9cd0 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7d90eee3 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x95922f41 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xf2a42bbf iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xf30e0dfe iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x28cae629 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x9bca694f iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd9fae14b iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xfe92bcfa iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x2560631e iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x4af82625 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x2022a1f6 st_uvis25_probe +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0xc7ab4801 st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x1d89ff78 bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x3f9a8459 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x57c15e6a bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x5812399f bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x3c8019e7 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x4f84c94d hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xd935c68a hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xf5da8958 hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x1e6203b9 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x81491297 st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xdd827dcf st_magn_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x1354a2e8 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5db62072 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xe69b69ce bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xf9d27f8a bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x48657fc3 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x89ef053b ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x8ce228b9 st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xeaaa140c st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xf8655963 st_press_get_settings +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0b3fa714 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0b6a1b89 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1f65813d ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x355fa149 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4c2bb305 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x60cf900c ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6e10fa53 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x86ab89d1 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa285e884 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa4525267 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa50da971 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xaf02a764 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc819078 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbf319784 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe115f685 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xed175479 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00b5a04c __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0243916c rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0293abc8 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x041ec91c ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0508c6fe rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06ece7bd rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a3868d rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08271e62 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0af588dd ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x105cd922 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10eab2dd rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x115afac5 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x125bb616 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1287f64b ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x132d332e ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13afbcd8 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13fb7269 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1667a357 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1826e9dc ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x186df6e6 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d82f4ba ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21cad703 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22fcb2b3 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23e72c45 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25a09e0d ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25ba9d2f ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x279d853d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28735aee ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x292e6642 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29bfe410 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2aa1af4a ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b7e3640 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2be6d6db ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d030946 rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2dad90f7 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x302dc80b ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30facb72 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31f75e01 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32f00960 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x331c3b0e rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3347de71 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36014df6 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x367804ef ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36afb41c ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37960d83 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c641d54 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c89c90d ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f5f6da8 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43a4ea2c rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x452e467b ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x456310e6 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x456d63ef rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b9a8ca5 ib_cq_pool_get +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 0x5163d46d __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51fbca14 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53b13fb9 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x542667af ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54614efd ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5838be1f rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x591cc3b6 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59b7681a ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a6bfde9 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d2689b4 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x609e188c ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61bad460 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6257f218 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62ddc711 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64d3b3d2 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66228fe5 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x664c5fe1 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68548186 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d28c747 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6de0bb13 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e33cd3f ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ef2fe59 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f8a90ee rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70850a10 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x719a8090 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71c8bed6 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76238a78 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76924297 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x784ec3b1 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a6e2279 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a846949 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c72c9e4 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e5a5689 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81c10ed0 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81f6fdac ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81f7f463 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82679c64 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82b4fd7d ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x833d4d4d ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84792890 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8628a618 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87ef7165 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88f7be75 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x892bc9be ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89301cd0 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x897649f8 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a53d55d rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bcc3664 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d18e3b2 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e3796d4 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f6b83ce ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91fd1329 __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9226549e ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x965cccac ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x975ff2b9 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97a65165 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99f54bff ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b1848c3 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d5704b0 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d64329e ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa314a4b4 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa860e84b ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa970ee30 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaad53bea ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab3bfc97 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacb77c2b ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae096c17 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf517fc1 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf9c83c8 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf9d6b05 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb15f9913 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2a35b3f ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4b27cdd ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6682e94 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6e4664f ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7f5446b ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb80cab35 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb95b7a34 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba61a183 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc022f04c rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc07f452c ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1bbe9fe rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc22483ca ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2c1a6df ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3090ee5 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc438d98a rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc512598d rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5a61cc6 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6499b0e _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc670dcc7 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7052618 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9f281bf ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca3934b2 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca5a9949 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcad786c3 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb4504f3 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbfb1d1c rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce421185 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcec35d09 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcec5f59a rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3c0bbac ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4245946 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4756cfc ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5544c38 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd564756c ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5eb37c5 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6982205 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdabf993d ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc65c8fb rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdcfcbc89 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde71ccbb rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf49d4a9 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe126c29e ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe1caa2af rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2800481 rdma_move_grh_sgid_attr +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 0xe6390e06 ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe75951b2 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7632693 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8d050d8 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe94dc29d ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9628d9e rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee123319 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee3f6c7a rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef894ad3 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefb086f2 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefdc60a4 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0074cce ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0f497bc ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1aca86a rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4c2912a rdma_user_mmap_entry_insert +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 0xf7d82a67 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7eb628b rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc03f606 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x16957e38 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1ce5045d ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2fd15251 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3bba1899 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x515dd925 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x515fb8a1 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5496c074 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5c9a9869 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5f83e66e uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x68e46144 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x76da13f9 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x807cf304 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x80cb53ba ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x80eb0848 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x83f85a5b ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x858783ea _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x89584c48 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x94a7dff2 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9edbb7e4 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa07a8ad0 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa78c6681 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xac0ae27c ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb8290964 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb87e7af2 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbbdc726c ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc10cdaab uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe8700326 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf63fb5e7 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1063c501 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x2b332065 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x458a3722 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x46dfa890 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x470c3762 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6aea9785 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xee2af96d iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf7e7322e iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x01cab2c0 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x073b1a72 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x123a4592 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x21d998ac rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2e11e4e4 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x39832a3d rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3d19fb91 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x41ab9469 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4478ba95 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x456acefa rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4634778f rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x51af863a rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5ad08259 __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6ef7c5c9 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x779c7a9a rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x887f9732 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9709a9b1 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa7d7cf50 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa98c9735 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb88199fa rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc4b40f18 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc7d10a00 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcb9b3fba __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xda0e6625 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdb91446b rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdcec6509 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe1be09fc rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf09b35d2 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf2987865 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x45c36834 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x5c5fb920 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x62228207 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xda8ae9e3 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe5766113 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xeed117dc rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x341341ce rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x652f3e84 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x74bcabc0 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 0xd7803df8 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3b0ebf5f rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x416e78e7 rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x57091b8a rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xcf0c9194 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xd74c5351 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xebd2fd03 rtrs_srv_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x01ead3a2 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x23c9aba2 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x258b8a0a gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5a3c37f2 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x705632b8 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x811c298d gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xae026c66 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb87980c1 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd3b43bae __gameport_register_driver +EXPORT_SYMBOL drivers/input/input-polldev 0x159c3549 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2c881404 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x50f9b2fc input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x7a6d9c75 devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xb3065d75 input_free_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x0671a082 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x25121f6d iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xc56f4b29 iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x7e78b4ed matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x2f230fbd ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x626f33de ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc4861325 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 0xb71b4bfb cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x143fd38c rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x114fbc15 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x5c00a35c sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7c4b1f6f sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa9881063 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbf6c4815 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xce0dc055 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xf599a6e9 ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x49adec0e detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x815d21da capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xaa56e241 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc78e092d capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xceea0b17 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 0x22bcdd11 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x83b04377 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xacad63c2 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xbdc3fd84 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x18afdfc4 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xb036e833 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x149c5613 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x19b56cbc create_l1 +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 0x4e5dd24a mISDN_unregister_Bprotocol +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 0x59162561 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6155ae34 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6d3193ca recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6e18c8a8 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x75a0ca99 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7afc34b1 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x85e720ef bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8aec9687 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8d5bc4f1 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa626006c bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xac338986 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xae072d2f queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbf93fcde recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd0a97fde get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd2f4d911 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xda2ad33f get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe4992277 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe882059f mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xee307f29 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf7df11f6 mISDN_register_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 0x4ad40847 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 0x8bd367c3 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/md/dm-log 0x0673909a dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x5cb1f449 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x9789b046 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xd9d0ffc4 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x044d6df9 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x337c8912 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x4ae991cf dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd6b661bb dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfaa33527 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfdc89b03 dm_snap_cow +EXPORT_SYMBOL drivers/md/raid456 0xaf323b72 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0xc1fe4b64 r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x073feb08 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0be5afe6 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x226b1746 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x229ce707 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x264c3462 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x9743f945 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x986240f3 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa438edee flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xaeb60857 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xca48424a flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe6820a88 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe8efcdfe flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xefa3d074 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/cx2341x 0x2ee9a0b6 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc8821a8f cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xd3bf59c6 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xd4405b95 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0xdbcaf5bb cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x86858070 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1642573d vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x3c5d7a35 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0ae3b538 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x21f689fe vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x2450aac5 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x4485fbb4 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb7e0f442 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xc6b082a2 vb2_dvb_register_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 0x0a29204b vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x01b62835 dvb_ca_en50221_init +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 0x0911f66e dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x09cc8972 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x13b3d9f9 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x24080adb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x29d58443 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x33de85a0 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3d25169f dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3d8830e7 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3f2201f7 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x406455e0 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4502c3be dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x476229ce dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x47d36a6e dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4c39b77e dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5830a49a dvb_ringbuffer_flush_spinlock_wakeup +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 0x6ef5628b dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x77b53a6d dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x82878c35 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8622911a dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c3ab2a0 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8e0d4b6e dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8edc27ce dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x90d40159 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9ba2001a dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa2636905 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb313211f dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb5767bda dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb5a3524f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbaa1e007 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc8531cd2 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xce748c8d dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe0668b7b dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xea8ad36b dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xec25f0b6 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xede1b71f dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf5a99eca dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x79bc3ddc ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x71782544 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x0e85e0f6 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x135f6a17 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1c217fd2 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x238c6dc5 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x52626344 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7d2198d5 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x8fcc1528 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xc520114d au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xea66485d au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xb45c904f au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x90683919 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xfed84e6a cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x839b0efc cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xc7954f9f cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x551e2291 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x92d83bfe cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x9dfcb023 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x2c0dd55d cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x60aae401 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xb1a0ce91 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0xbb491423 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x495ea5f0 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x4e08f3b3 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x7f86e7eb cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0114ed8b dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0c21aff7 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x9703ee7b dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xe2555898 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xefb6cb3c dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0c46b298 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x12ebca23 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x219e83c7 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x31a1d93b dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x386bde67 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x93206af3 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9784c3fd dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb08313a4 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb7c7e553 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xc64b2550 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd1ba77b1 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe77db26b dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xed7d7ae9 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf4073d42 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xff9a4e26 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xc2ebaa33 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x039aaac3 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0dfd7bac dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xbd4b6b6a dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xd558163a dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xd6b3eeef dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xe58e8f24 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x12e68622 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x4ec1400f dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xb936b3cc dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xe2d805c6 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x4a48c2f9 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0xb2629c1a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1a111067 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2b1729eb dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2d816a88 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x737cb342 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x856b4fe7 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9759a35b dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xab27260a dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xba78c32d dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xba8174e4 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xcedb7a47 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd1d749bf dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd8fdeee2 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe8bc929d dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x096f4682 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x0cf66d4f dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x6115ffc5 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x9cbcabe4 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xde093872 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x8356219b drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0xd97a5c2d drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xef259a50 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xe9739d37 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x9a21c43f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x165072e5 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x767c7c48 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xbd9e568d dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x094fc1d9 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x0756e7eb helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x2b3d220c helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x4713a2e7 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x77384aef isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x46142fd9 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0xede59016 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x0912bbd7 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x7a00903b ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x8577811c l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x9cc6b25a lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x26ee8793 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x0ea07a72 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xae1d0554 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x63b3c2d6 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xa8ee5123 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x56fdd088 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x472d5114 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x354a6774 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x7b16ac31 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xcefd1466 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x8eb0642c m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xd4f52800 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x81f88a60 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x2e6fe57e mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x8f7ca2d2 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xbe66bd0e mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x162961b6 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x74874f82 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x50684940 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0xf8a0adc5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x46feee5e or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x0d55855f s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xd0ab580d s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x68dea216 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xb2fb940f s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x4a135a49 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x7cdf411c s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x64e5b45c si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0xc9ec91f4 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x560d3acd sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x32ed6db4 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0xb7f18abf stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x2f4f0093 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x8c2ec252 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x8f74c974 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x95f29777 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x222407ba stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x52ba785b stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xe7197eb3 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0xddd7852f stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x835d13d6 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x7babb7d9 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xf37b5ab2 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x5123fbf3 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xd8eca79c tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xc9543868 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xd9728fa7 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xe673c725 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x7f37be9d tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x0fa33478 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x893fff0a tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xd4f04d71 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x55e30bae tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xfef3aa05 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xdfeb25f6 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xad37adbe ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x7383831b ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x242a9756 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xc40dd928 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xd9d68515 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x98a4d56d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xb5cc7307 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x01896fe1 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x2fb178d4 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9302391b flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa07cf873 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xda8f8b59 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xe185ea30 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xfae7a2ff flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x11f8fc5b bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x208356ec bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x6e09cb0e bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xcca81f66 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x058e9ee2 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7bf41116 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x830ca74a 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 0x10bfc7c9 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x169c4079 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x49a637fd write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x6b3ccd80 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x8a7ce140 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x981092f1 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x9c9eed4f read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xd94203f1 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf55f79e8 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x2ad0ec12 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x19ca2f23 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x50a790f3 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x87f0ae5c cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x92a3f490 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xed31d91b cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xd0fdb6b0 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 0x2c02b7eb cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x35708912 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x441163c5 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x544552d7 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x580a7e81 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xbbd963a3 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe2a457ee 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 0x46d2b75b vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x8e865e15 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x71d4d6f8 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9b8ba002 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xd2721cc9 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xebb42f54 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x0a89b61a cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2e41d376 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x63ecb5dd cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xa6c029a0 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xb6b57a62 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xcd6f11b1 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xf316577c cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x115d7884 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x13f2e736 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x31834a20 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x50eb9013 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5b0b3785 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5fadd21f cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6fd928c1 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x77b18048 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x869101c9 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8ced5b36 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 0x9db7f2ef cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa76a46cb cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb129380a cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb2f33706 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc05694e1 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdb75a40c cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe345a3cf cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe69ae7d8 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf6ddce42 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf7ad9760 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x7a38c38d ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x01e47fb7 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1b8559b3 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x26efd966 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2cf57f64 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2d122ae7 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3b6bce8a ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6d7c4d13 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7f2a19f4 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x87248953 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x93b9abeb ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xac4b3a8d ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb4675a10 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb4795c2a ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb833c4d7 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xba1773aa ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf3c87696 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf93f34cf ivtv_vapi +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 0x20b5ebd4 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5cfa23a4 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x80ea9e1b saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x86d7eefb saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x9e0713b6 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa050d66d saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa28c159f saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa4e32a18 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc3ffa57a saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcc775501 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xe7e41ea8 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf666dc53 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x4c7affaf ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x53db7388 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5a52957e snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x65a42fc1 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa1f43e07 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa63eb961 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xc3e68a61 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf6f679bb snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x984b2e2c ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xa7a33bad ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xecb6fb3d fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xdb3eae58 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x2ff2af2d fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x4817a644 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xa37dce83 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0x84aafa5c max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xe87fe777 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x2bd59751 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x602e87ad mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x58e3ae3f mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0xcacaa375 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x7f1248ed qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x45c1200a 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/tuner-xc2028 0x3b05d8e2 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xc10abeea xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x2e3f8045 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x3a724547 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x92e1bfa0 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x02d77e38 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x094e0d60 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x335212ce dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x3ca1c3aa dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x48d1cf57 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x4c5d3021 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xaa05d502 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xd8078db5 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xf64851f4 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x82161120 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8282207d dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xbdd0a34b dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xbe9780f6 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xbf64c6c6 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd0194497 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x1d45d92b 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 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x154f7f2d dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x307833b8 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x399a04f7 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x4623983b dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x60bbb198 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fddb829 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 0xa5f3cabc dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xc16b9fbb dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xdbf430fc dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x2835607a dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x5b452d5c dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xa1168719 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xb1bacb76 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1517e0a4 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x16a52f7b go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1c4d988d go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x338e0a58 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x39fb3761 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4eb88e12 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc2c9fe05 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe264c24b go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xfec979a9 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x34312f8b gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x42d4505e gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x68c47930 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x96fecb6a gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x973e4870 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xbc2b547d gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xbf46ead5 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xc6e97839 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xb6ca9757 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xccb2ea27 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xed42c4e1 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x43aa4c2b ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x686d4de1 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2245e8fe 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 0x80e4ef23 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xe6be0599 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xff96d7c3 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x073fb5ea video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0865175b v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0f6f04f7 v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1189e602 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x13a049e5 v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1c6a9687 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x213b6d09 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x25181a8a v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x25b86007 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x283189d9 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x290a1c71 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2cb331e3 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2fdfbfad v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x30f1e8c9 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x318d3128 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x36025baf v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x379556c7 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3b26a22b v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x45edcfd1 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b435e90 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4da17017 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x50fb1263 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x55a48bd9 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x577e4cf3 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x58043a85 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5e552dd5 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60eedef6 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x610829ab v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x627c0d01 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6eadffb0 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6fe91192 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x71987906 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x77374673 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7c18c474 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7f101c71 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8197f78e v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x843ddf69 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x847388ce v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8eaca69c v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8fbba459 __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x91dccfb5 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x92385e8e v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9572905c v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x97a7082f __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x990209d9 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9f98f92d video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa2703c0b v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa87b3b98 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xab7c11c0 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xade0c71e video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb07de5da v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb1140aaa v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb382f7c7 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbb35000f __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbd16a61b v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc5b0aa25 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcba35bec v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcbe74c8c v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcc18a0c0 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcfa8f0f8 v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd5288c3a v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd9deba77 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdae6530a __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe0e5d974 v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe6316930 __v4l2_ctrl_s_ctrl_int64 +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 0xfe8784c8 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xff8cd718 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0a90bbd3 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0e1787d9 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x300468e2 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3801fa4b memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8a11b2fa memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8a309299 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x915a8d34 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x97b57b70 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9bc8ff15 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae00fe31 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb2edb5f0 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe3e855b7 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x21ff620f mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x272ea9f2 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x287bebbd mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x331439a5 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x339b70ce mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d7ee20a mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x44e0b1a1 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4be0856b mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x55aca600 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5aa8281b mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5e61f282 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6181c9aa mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x645b6f68 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7115045a mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x741b84ff mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x78a83b63 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8fea3539 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9de7256e mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa3ead684 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xab07fb0b mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc81faf6d mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcd720975 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd24ffc24 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd594e630 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdbce15d8 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe3802c10 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeb1d2f59 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf9f57183 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd8370a9 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x03c12e77 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x133d14a3 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1404fa6c mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x14ecd17c mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2c9a6508 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x42637bc3 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x48ec4af8 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x52d906c3 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5504e50b mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5e63f1f1 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x608d37d3 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x76892101 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8d6fc5a8 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x92e184d6 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x931e84d6 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9b691d03 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa55a0efd mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa8d8a5e3 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc66eca7f mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdc228993 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe832834f mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe84e20a3 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf1459c64 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf3100449 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf5d52c07 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf9195fc3 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfc6a0694 mptscsih_abort +EXPORT_SYMBOL drivers/mfd/axp20x 0xba6ade9a axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0xe593871a axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0xff622af6 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x1b3adcdb dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x548a7cba dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xbd45f4c4 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x04fbfd8d pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6fa951bc pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2f0a94f6 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x491c3bac mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4e4106d7 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x69a9617e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x92172192 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x984fd491 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9936004f mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa7a1ceb5 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa9b82925 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc179d0ce mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfcadf3ca mc13xxx_reg_read +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 0x06e57437 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x0c8ec817 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x2b8eaafd wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x5865ef36 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xc707ed1b wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xf53d5682 wm8994_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x1928a1ef ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x59155b4d ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0xf29ddd3c c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xfa95cb55 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x31810e8b tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x50ef6023 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5a84abc3 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x650dd06c tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x660fdb0f tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x6caa07c2 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x763032b4 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x936a4756 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xa38ee28e tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xacf32f09 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xd57a045f tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xd90cda44 tifm_add_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x1dd05a05 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x2658c455 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x5e9d4213 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xc0de0465 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xeaff822a cqhci_init +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x3aae401f mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x606894f4 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x04b95978 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x0bdda0b2 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x42509967 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x607e1491 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe21a15a2 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe69d2c9d cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xf76f1b31 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x0fa7343e unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1cf705bb do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x2dfc9538 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xa208d0f0 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7aa5e421 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xd4337455 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x387823f8 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x0b97b97e mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xa6662f0c mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xcbd7ea9e onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xf842f2fe flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x381e5a4f denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x44ee5185 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x1e2e31b9 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x525dfd23 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x52db2e61 nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x597201a2 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x65988ecb nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x6eab7e68 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x847c539a nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x94761f63 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x9865a80b nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb691f011 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb798fd6e nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xdd8ec92a nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x60bbeca3 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xd6fb7f16 nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1fb3e5a0 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x33e8a589 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5f2ce891 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x88eff782 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x92a28e63 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xaa19d5da arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdae96241 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe9a41cb3 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xef1ba4ee arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf51e5a5f arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x1d0509f6 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8a81f30f com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xfaf95acf com20020_check +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x028a78b0 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0acbed58 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0bd35498 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x12881e66 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x21fc2070 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x291f1233 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x29440942 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x29614dfb b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2cee99e0 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3b5c4f99 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3ecc85fa b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x46f4f32d b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x527a7d65 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5f96bbad b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x70930470 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x75814cbb b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7d5a4c6c b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x81576347 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x820ff9cb b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x86010e1f b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8851257e b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8a89637b b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x93e107fe b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x999cd42f b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9faf95e5 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa454ef1c b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb263b694 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xba662a3a b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbd7a9394 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc45ad35a b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xccfece44 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd1b9c43e b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd54e31df b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdbf6153b b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe3b23cad b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe49e2770 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe953166e b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xee915b6b b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf70270aa b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf9e8352d b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfbbef087 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x1a40fa4a b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x47eb6bb4 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x5039211f b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x54435805 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x73a58438 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xa2ca940b b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x88fb7727 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xcb7e487f lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x33e76b83 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x30988321 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x30c6a291 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x3e7ef809 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xdf6e13dc ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x8389e161 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xf45ee473 vsc73xx_probe +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0dbe45e9 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x166c9df4 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1e9939aa ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x333abd6a ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3fb4253d ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x43b5e0e0 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x455e40d1 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x794f7e24 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe0f532bf ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf467e090 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x9a6348d9 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x40d07888 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x737bccc5 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 0x0cde8dec cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x38b42681 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x699ff585 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x89abb8c4 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9c0ad74b cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9f2f10a3 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa3e51ed1 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa597980c cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa62a0aa2 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb2e3f37d cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc1c2d975 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc4bb3392 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd7cefe9b t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf19fabc8 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf49f7718 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfa29dc95 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x09a3acb3 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b6ead02 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0dd230cf cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x11e11eea cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x135056ba cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x18799a73 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1b5efa49 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x273890a2 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2792b3a0 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2c9e3bd1 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x36dbc5f4 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3cb34b03 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5230dd2c cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x56d9eee8 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5b812ea8 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x637d24c1 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x685a4c13 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6d34895b cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6ecc21d4 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7ce439e2 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8c0f5bbf cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8f7c591e cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x91c7260f cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9de1a3a4 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa15bfe52 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa76cf084 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8c9ea7c cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa939529f cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb22e8534 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5ffc29e cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xba066910 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe1d54d8 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0b5ce39 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd158c366 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd2f9e8a4 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd4d13ad1 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd521c2ee cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdb33cc97 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdf4a2f1d cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeae8bb9f cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xec964738 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf099017c cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf1fb0fde cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf5288ee6 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb200942 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfc9aed7e cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x2511553a cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x25c68b5a cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x2b99d8e5 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4d2749ed cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x88372b7f cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf291370b cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xfe490168 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x1ce6fd69 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xad943110 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc65b5f10 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xe17cf3e9 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xe83de228 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xf9e0305b vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x22c4b940 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 0x96cf35f8 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xd3f37777 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xf05a6e57 i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x848c7e01 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xc86154a2 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01203ded get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x07799bed mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x122ef132 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16d62a93 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d0cb088 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2819d080 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3457873b mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b96863e mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x480b1ade mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55e67815 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b5b6a46 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f4fc921 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61913592 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62aa958e mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x714298cd mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72966583 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7610ed0f mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b7dfc8b 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 0x80e15b07 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96ade4d7 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x99708a45 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b73834a mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f76a229 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa184a764 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9b913d4 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaad206ee mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab816db0 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae2639bb mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb04c3e3d mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb9a5ab8b mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbc36b27 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcde0608a mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0910c02 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3cba428 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddd2dbb5 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe31290f4 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe500161f mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeca9d7c8 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6fe5a34 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6fec165 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7559681 mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7d76781 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf88080b9 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd5e7618 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03b80718 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05912504 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09680fdf mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09f41f3e __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dace38d mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dd263ed __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f9e8585 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1287d69d mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x130361eb mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1345e43c mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13518166 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14573bef mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15cc1506 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19a3b81a mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ae9a519 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e0ad72f mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1fe84e27 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x216d35a6 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2291385c __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2346a87a mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x243f21fd mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x257e6481 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25f22ef9 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x262c75dc mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x265db3fa mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x282f03a4 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2be546df mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2be736f0 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3059cd7d mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x332f8b1e mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x346a2a11 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35f43596 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37f04140 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4027b838 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x414c76bc mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x427f51d3 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x42a50190 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43486fd0 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45924e93 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x496feb76 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d415dbe mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e34a967 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e6d0c52 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f8fd76a mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5256d7dd mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x526b5b63 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53033589 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b8c92c3 mlx5_core_alloc_pd +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 0x664c29ec mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6673310a mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x675200c4 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x681b5eac __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a4e7d78 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b8a4eff mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c3af219 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d6c7b47 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6dd11cae mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f4fe83b mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x701a9d11 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70cdf781 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7550212c mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a30499b mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ecdfea4 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80b3a7d1 mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x815269ef mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81ef18b5 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8240c9d8 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85907182 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b140be4 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cc40ae5 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f1cc1f1 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x906bc1e1 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x923ce83f mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x937a546d mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95731423 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9aca5ace mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ba96919 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d862bf5 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e80ce23 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa040e358 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0e0a8fd __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa16e30e3 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7c82316 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa99beece mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa1374eb mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab428ae1 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabf95188 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacd2c993 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0576164 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb409409b mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb50a8f78 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6f3fa23 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb800685b __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb921fdee mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb6a8098 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb820883 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf679c92 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc10fe96f __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc508dfb3 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc612fe2f mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc91856ab mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc072c53 mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc856fb3 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcd5bd936 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce358d99 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcea0ed5e mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5b4f3b6 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6a53ad5 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xddc725f8 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdef53c36 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe26ada5b mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2998996 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2e65ed6 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4290ee0 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe8c485b5 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe8ef3415 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf16b9bae mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3ddc817 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf57ac736 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5da5b7a mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf70bf3cc mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc89cc99 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd873797 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x37c83e2a mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x00b4e8ee mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x01de2c99 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +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 0x21102bd9 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2e277741 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3eb3848f mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5795c7e3 mlxsw_env_get_module_eeprom +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 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 0x8aeed7a2 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8ba5fa7e mlxsw_core_lag_mapping_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 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 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xab698642 mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb865aac7 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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc8108537 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 0xd3f93a35 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd77ab758 mlxsw_core_driver_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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xe60a21f5 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe7bc7af5 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf964568e mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xfc8766d2 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x43ac5126 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x5f20e836 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x0b5829d7 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x420c5026 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x057d1172 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x074adca4 ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x094eaf8e ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0d695380 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x102a361b __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x10af31ec ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x198f54dd ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1e50600d ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2443e0fa ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2e8ecf0d ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3f532714 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4188909a ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x41a4e983 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4a2df1bd ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4b881d1d ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x522ed408 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x552a7057 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x58d8f781 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x61631da0 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x69a3e636 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6f7376bb ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x79c57409 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x79ebc9ae ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x87072b21 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8b0c1a03 ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x93341bd1 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x98893d9a ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9c4875ea ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa4276632 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xabde7c20 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xae5f81d4 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb04f806f __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc16ef201 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc279b459 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc554d823 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc9716094 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xca812998 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xceafbf33 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xdb74f0ae ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe7e65e19 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe87c44de ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xeb4d73a0 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xec0e085c ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xed1570c3 ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xee91192e ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfd743641 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x57e5e5cf qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x5b35d800 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/qed/qed 0xa521667a qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xe03b7961 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x95b4742e qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xe67499fc qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5cc55bde hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa2f49ac5 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd82760c2 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe194d78b hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfa455205 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 0x652fb0b6 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/mii 0x07b4a109 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x23d2cfa3 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x7b2937a5 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x87a723de mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x89867ae2 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x94d6ee0d mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xb01261b9 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xb6501006 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0xbb2b6561 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xc61fca30 mii_nway_restart +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0xa5b66b1b bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x4cd80a42 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xf4d62bdc free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x65b52452 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x6bc6c61a cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-octeon 0x8a1d5c26 octeon_mdiobus_force_mod_depencency +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3397598c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7e41b234 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x950d0e1a pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd897dca5 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x3ce6b580 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x156cebaf team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x1e87f3d6 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x212934b3 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x3a32791b team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x481deae2 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x628a0ef6 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xce222f68 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xd5ca130f team_options_unregister +EXPORT_SYMBOL drivers/net/usb/usbnet 0x87b64bff usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xab22c401 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xfff96e30 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x05769afb register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0b722395 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1171adaa hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x13915cc0 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x14861136 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x29427349 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4c5c044f detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6cb0350b unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbb1698d9 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xff28526f alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x941efc47 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0f9b2c28 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x25f65d0a dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x32b529a5 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4000bd86 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6ffdf51d ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8b653bea ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x90184b2d ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9300da55 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9b70f086 ath_hw_cycle_counters_update +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 0xc635bc1e ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xda64440a ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe0af3c49 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x08087f28 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x110d5b3a ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x11f9a8c6 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x168fb198 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x16d3bf58 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1f8d61a7 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b5b9256 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2bac564c ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2cd39446 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x36851b36 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c3d83cd ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x46c941fe ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4925dd09 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x49a9e977 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4a6eba89 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b7b51db ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4d9d383d ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5747b951 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6917c7bb ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6d02782d ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7111a066 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ce1d0f2 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ed32599 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86dc663a ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x875c0883 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x898b88a9 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x907abd64 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9183a26c ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9a2823c6 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c8c3b15 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa5a74340 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa9a43394 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xacecc0d9 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb3a37de2 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb3c45eeb ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb8cb563b ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb946bf31 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc17c7dad ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc7f13147 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcb8c8dbd ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcbb51cb0 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd4ac8db9 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd4aeab1d ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdd4d32db ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe62463d3 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe8f94373 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf0cf871b ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf827bde6 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfb3a7bd0 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1f8a8edf ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x253fc13c ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x40bb4c0f ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x47d85f4b ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x5641d91b ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x94693dbd ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9a65b1be ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb2ac35e6 ath6kl_hif_intr_bh_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 0xbe994908 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc8816dfc ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf86e6c28 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x09d1fa51 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0df19ca0 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x25501481 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3319b477 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3798a635 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3992ee54 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4130e351 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4bb286f5 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x63197a34 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x64883bda ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x64dd3aef ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x70b2085d ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x727da14a ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x73de2eb5 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7f1f9c7a ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x98a2d7f0 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9e909628 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa3013ba3 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa44867c3 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xac0fcfb0 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xbf2ae002 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd8c09c99 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfa234f8c ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04acfd0e ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x05f8c638 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x060c6e10 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08d6b39f ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08fa4d16 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a0c1a20 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d592836 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10b06923 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1241edad ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x14d39fa4 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x154a53ec ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x170c3cba ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20197e98 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21b74013 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x22cf4779 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x22e63c06 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x248a3efd ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x25a38a0a ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27af0e90 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d70af02 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x301967ba ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x310bc8df ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x316df1df ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3193cb35 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34a5af6a ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x390e9aa9 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d9ba46c ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fcab0d1 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41080ceb ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4414b26e ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x441ba892 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4731a9b6 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x519f8d41 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x56584b8a ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58ed8fc2 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d934736 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f9c8862 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fa89679 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fe0f7ab ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6425dd2c ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x66b098d8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68bd4e5a ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d0dbf9d ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f5b5dd6 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f880615 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x71e1d29f ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x72588885 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x745eb8e6 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7629afbc ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78cdc206 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78f64950 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x790c37f5 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7a211099 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7a4dea76 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d07375d ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e2a4852 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7eacc7af ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82c47cdf ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x879971e5 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8952fa9b ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8fa72337 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x92f8eb61 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93209d0e ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93ee53e1 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94b842cc ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9668dd8e ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97e25750 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9da79f3e ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9fb00dc2 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa247d195 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa33bafb4 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6f348a5 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7355ee7 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9f4f7b7 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa635a45 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae18fc47 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3996fbc ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb66c715b ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9062080 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbae074f0 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe4b6008 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbeec4ee4 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf69709b ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc31bd418 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc671c287 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc75ac449 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc1d2df3 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc3bbd0e ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce03035a ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcf4524e9 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcfb50640 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd31cca18 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd3b9ed6b ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4bdde21 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd5ee2b18 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc4e2989 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdda32316 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe11d5c4c ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe9ba9763 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed064dda ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeef73bdc ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef05e244 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2bee284 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf70d5d6f ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf88d9432 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd93692b ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe12dc48 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x1a85c8eb init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x4bc9f002 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xf732aa76 atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x0f5aecdc brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1aea2f1a brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x203f38fd brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x4acb3eb2 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6ae02381 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 0xae61d100 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xc0c02cb7 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xca61ec45 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd41a9ef6 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xdaa47848 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xebfaf3ad brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xee204e8e brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xfdf87d92 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x061f9b1b init_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x626c1a1e reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0xab76be18 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x016b9e0d libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x029764fb libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x19614cfb libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1bca8227 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x20c480b9 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x241615e3 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x28e775d5 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2b12ba5e libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3d4117c4 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6a2d88fa libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6bdaac55 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7f79cffe libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8e61cdc6 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9b5365d4 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa56d11cc libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa6651092 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa8cad731 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xaef8bb22 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbf1d7685 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd30ae95c alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00fb6a95 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x02784f5a il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0503ca9d il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0867ca27 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0ca22711 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0d48c332 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0e081dcf il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x11bc0ba8 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1322cc51 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x151abe9d il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x172a9a5f il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x185a007b il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a403cfd il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ae67171 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2365d05e il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x25340b96 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x258f3f3e il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x29c707b1 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2d4ed6cd il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2f3c8bac _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x330af619 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x341dab2b il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35041906 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x369783bf il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38d31add il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39c6c6c7 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39cd4cc9 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x432ece5b il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x487a7a0a il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x48b5623a il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x508aa9d8 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x519e87de il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x52097f90 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53bf8c8b il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x575586ec il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5a5d650f il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5af7afd9 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ca08526 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e250f1f il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x61945b6a il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x633d7345 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x652a70e1 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6970089b il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6a0ba674 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6a2c6239 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6a6697c5 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6b813b77 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c9900d2 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7053d707 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x70aa125b il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x71c6ff1c il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x78abfbd5 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c2d327a il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8244b16e il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x83db6fbf il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x846930ab il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85017752 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85a2426e il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x896f2718 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d8aed15 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9061e899 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x92fbd5e5 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x97485697 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa25872f1 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa295ce6a _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa5418623 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa906eebe il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xabb3c504 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae07e42f il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaed77e7b il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb2545969 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb78e2d91 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7e868ef il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb82f0088 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd04a015 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbf2fb255 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfb9d152 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc47f9488 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc762050d il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcc847ad3 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2796071 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2e5d3dc il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5ca2c2b il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd68878f6 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd7af29d2 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd8aabcd2 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc8bf685 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe24efb95 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe681b73f il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7681c95 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe8222a63 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xebe2c085 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xec65fce2 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf1693758 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf1e88ce9 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5419d34 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf993efaa il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf9c70ff9 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x73d6904e __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe45aec74 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe76e8c18 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x07949678 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x173a3ac4 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x241db0cb hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2c13467a hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x37a8cd66 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x388904a2 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4d3ce8f6 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6b84edce hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7bc7c9d0 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7f18a5e6 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8b05432f hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x959b623a hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xacc01f69 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb5a0d1bc hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb900dc26 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb9e8d36f hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbba09e2e hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbdacac62 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc735e5e2 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc7429e71 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xca804d2e prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcf700b72 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd8e72173 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xefd23ec1 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfafdbc2f hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x07c2f0e3 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x19865c04 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2136827c orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2b665d75 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x32d0057f orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3fc5d42c alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x417ff934 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6fb7d33c __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x76c4c6f3 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x94fec199 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcbdf5257 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xdc1478fb __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xdeca010f orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe8dc0aff hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xee15b3db free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf2d0d8d8 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x3b4a18d8 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x27b9473c rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x09e1224c rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0d147b53 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x12c97f61 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1650162b rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x18c3bade rtl92c_dm_init_rate_adaptive_mask +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 0x23fa48f6 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x242b76e9 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x273bcd01 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2af6e6bf rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2bdaeb1e rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2fb5d35e rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x38a720ac rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3f3f09a5 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x43d47570 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x533d12d5 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5e1f652e rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5fdf4f0f rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x65bbace7 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x662c7903 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x66ef9b68 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x69834343 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6c35ff2d rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7096f672 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7e1e5d97 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x86d05ac3 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x94c4969e rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa69834e4 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb87b865d _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbbf6c5e8 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbf403ded rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc262ad0a _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcbc9fe28 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3fd6182 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd8f056ac _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe73761a4 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe86198e4 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf2b7126f _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf36eb160 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf5325c7d rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf601a178 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfcd1cf46 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x2006ef6a rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x4a71ce9a rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xa0b453d5 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xcf86daa2 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x17e96218 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x8d88a5fb rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x9883f22d rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x9ce0f32d rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0f10cc03 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x15cd8fbd efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2286713b rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x324ff6d4 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x42c0b760 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5683b26c rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x574e58df efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x584d6509 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5d607eab rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x60cfaf95 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x61920c67 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6457657b rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6b026f97 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6d22cb57 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6ffb4b62 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7bdd5f92 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7e8ca3af rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x822e682f rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x89add82f rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ce6e8e1 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8dae04e6 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9010826d rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x963ca716 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9ba3804a rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa3ac902e rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa541f223 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xab0faaea rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc0a409ae rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe9f198ff rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xec04b8c2 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xe945ad51 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x02a5d7e3 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xed67bcdd rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x059afd92 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0d8c81c6 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x129f450c rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18b55f47 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x20112cc4 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2600526f rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x27cff758 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2b889a16 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3adae54d rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3b3de21c rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3f8ebcf9 rtw_phy_write_rf_reg_sipi +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 0x498bce3c rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c59b4c2 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x521e95fa 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 0x5d94f634 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x64b43faf rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x67b618ce rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6a0acd20 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6a3a1bc2 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7976fc59 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x79d10a7d rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7b1b6150 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7e13bef9 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7eed9ff0 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8505f860 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8adc6624 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x92e3a194 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94dd3d3d rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x965ceff3 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9e690a94 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9fe12a94 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa5c8b0c1 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa6d3a6fd rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xabe7051c rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaf5d43c1 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb0297f99 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb12e590a rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb349e359 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb34e4d41 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbc77a725 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbd5acf5f rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbdb2ad7d rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc540e078 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcaf8ddbc rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcb87e1f3 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd2dbbc30 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd978e74c rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdda821f6 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeb4f0480 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfaf2a3bc rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfc9d4880 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x036d7b21 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x2e75a316 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x9602e7a3 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xe3d2ee5b rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x9dfe629b rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8615a301 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xa1650fc4 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbfd78fd9 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xec029802 wl1271_free_tx_id +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x253380b1 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x31be4d99 fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x4c5ffbef fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x1ccc7a40 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xf1337aba microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xed261b36 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xf1ef9757 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xf7cbdb3a nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x38a9f142 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x237429f5 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x4281a668 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x5a162d41 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x8cdda28d s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xff4da298 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x14856e93 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x181aeadc ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x2a64ccb7 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5e4b3e7c st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9eeb06cf st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd11e2d16 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd4d459c7 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd6ce71f1 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xdc83f4b8 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xfffc65a4 ndlc_open +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x19ba1171 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x20b0d32f st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2ad7bece st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x31fa27c5 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x39c87923 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4d8c61ff st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x53b0ab53 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x56ff6b6e st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x57c199c8 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x62fb5d7b st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x63a0900a st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x956e26eb st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x95f0b5f6 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9e137784 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc9102f0a st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc9421255 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd79c6d91 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xdf9c22f2 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/ntb/ntb 0x0a7f574f ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x0e445ed0 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x1a6fe781 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x22e2eecb ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x3bd70fe4 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x4cf2cbe0 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x52aed876 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x62e7d7a1 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x70419dcf ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x762892b4 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x88d8a6fb ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x8b709b29 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x9b27e023 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x9ee40291 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xbf5214f2 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xc2ff5baa ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0xc87da45d ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xd2263523 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xdc7205e1 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xdd70d2ce ntb_db_event +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x830eec87 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xfc96359d nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x0218dc5d parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x0b035acb parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x10051f77 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x14f0f336 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x16a31376 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x252afb02 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x2e9117de parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x35163cd3 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x3d60ce8b parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x437d8f0a parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5df6a227 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x5efd428b parport_write +EXPORT_SYMBOL drivers/parport/parport 0x6383c66c parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x63a5626a parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x63c3a57a parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x720759ec parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x780dc58e parport_release +EXPORT_SYMBOL drivers/parport/parport 0x7f119b71 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x85d84e26 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x94a3a3fe parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x98cb4dc3 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xa1623f3d parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xa8cec4ff parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xaffc2a1c parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xb14b127a parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xb3683df4 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xc472f22d parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xc940e9b9 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xe143aa61 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xe3d52c20 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xf0e1ae71 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport_pc 0x142b4cd9 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xdc5cf5b2 parport_pc_probe_port +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0xc8c7d3d9 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x151dd1ab rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2b91f734 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x35f32277 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3f399060 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4a003281 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x62495be7 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6a06a93c rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8335e884 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa899db07 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb899a816 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb914a050 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xba8bd145 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf0b9e024 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf7fa6d87 rpmsg_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x17362f18 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x2f9ea070 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4bb0e846 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xc7a06625 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xdca40730 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x222b42f5 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x25d3dc55 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34d01667 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x62b41069 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6947b443 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x80e66538 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x84bd664c fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8b7e90fe fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xada04c1c fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xafe057e3 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf3fadf35 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01f97db1 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0254358c fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x035d5b2e fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x06f83abd fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12dd5a6a fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13752fc7 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x16f2be2e fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1cf6fb60 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22891b0e fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b4afcf5 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2c796667 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38d5d4f1 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x441fdbb6 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c8cb7ab fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x59c817cb fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e08b554 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x604fe76a fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6c29c0fc fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d6367b5 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6e7c820a fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x755595cb fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78d574f0 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x79835551 fc_seq_assign +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 0x817809d1 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c52724c fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x90e78be0 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9378d947 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9553a7bc fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x956652f7 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96df0067 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9c075ac0 fc_exch_mgr_add +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa93f8cbd fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa9703fdb fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb1516766 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb29aaacf fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb9c352d9 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xba225639 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xba70168f fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1401476 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc4d1b05e fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5cdee33 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6ea5fff libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9aa2cf1 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb5510dd fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd0ff59b7 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6ee94e8 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe10a1857 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe3917288 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8f06ca3 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xebe90cb1 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfaa07aa1 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x27c34228 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x47ea1593 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xc14aa440 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 0xe6324f9e mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0552ec27 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0a6edba3 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0d461cbd qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3eba2900 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4887e0f7 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x6b6baa63 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x80ca5b54 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x872944b7 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8d9b9bfc qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd304f54a qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe9345017 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf3112675 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/raid_class 0x721deff7 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x8933293a raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xd6ba832d raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0e1ec0c3 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x12f6b39f fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1ceb28f3 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a839546 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x570fd9e1 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5bdf070a fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7bbcd3b9 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x84c62273 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x945f330b fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa5527b54 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xad0c3696 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbbee359c fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc5ce6b3e fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd385a83d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd523d7f5 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe63fddc8 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x001e7ac2 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x04331edd sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0fc135d8 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1ef0b13f sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x223f7272 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x256bceaa sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x34369e2c sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x55e27a5b sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x57f7f6b9 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x67273a2f sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6cf5d513 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6fa5bba5 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x77166e2f sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x83e80a16 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94742e67 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9a717e09 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6307cff sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xad02bfdf sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1c8024d sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb5810194 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbfc283ba sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcc4a1cf2 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd41f7f63 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe06bba42 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe3208424 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe3cf4d76 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe5225dcc sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0c71389 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfe5cd5a4 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x220f092c spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x532ef864 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x889aa95f spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb7765d46 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xc94655cb spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x447b6f8a tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xe77b7bf6 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x3196c04e ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x32afaae9 ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x38de9103 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x66194eeb ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x834580c4 ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x871db36c ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x8a709a8c ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xa1910330 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xe2c3b17a ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x905f7d90 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xbde60877 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x09e88b4e sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x194b2fa2 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x36760092 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x58b3ac79 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x731f80f1 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7435e1ee sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x80110beb sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x997891bb sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9f3ab567 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa5a1a5ac sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb45a17a6 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb9e36461 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc389ae78 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc7318709 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc9578210 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd45c3d53 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe0a6e925 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe69b8110 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf1c8d1fe sdw_bus_master_delete +EXPORT_SYMBOL drivers/ssb/ssb 0x054e61f0 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x225aa306 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x27df502a ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x28f1da92 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x39438594 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x3d5f5e84 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x4b60888d ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x50274fd6 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x5532b5a4 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x6b8ddd11 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x70ec4c61 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x892e3197 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xad5e0d02 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xbec4eba0 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xbf3a9f1d ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xc2008915 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xc3adce46 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcc71eaff ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd08b1f03 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xdf5303a9 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0400a328 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x09c190e4 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2378e3f2 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x259f6d78 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x28601b0c fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2d3456a7 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2f45bac1 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x35491f9a fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4375bc2e fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4d624f80 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x60ce6bd5 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6442582a fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x66fb261a fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6de0459b fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7ba2f0a5 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x880479af fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb435a902 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc6078da5 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc7f7a3a1 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd3681d1c fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd6c61ecf fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe8f4d9fe fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf1c11147 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf94f4796 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfd35690b fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x92f3d6ec adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xaa58f74b ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x054bb9d7 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0865c9da alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0c875f3a dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0ce93ce0 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x131fb9ca dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1639fd41 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x16b2813a rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1cd25cee rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1d0e486f rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2389aa44 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x23b643dd rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bd0487c rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x360b1bf1 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3686e84d RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x38072385 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4a2bd4eb rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5461788e rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58cbd086 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x60ab747d rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67d7be0a rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e29f6c9 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7e1454b4 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x804bc12e rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x835c6321 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x83d71f5a rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x87864c18 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x931fc9e8 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x95c9fc45 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9881c6bc rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa010bcc9 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xad3f2f54 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb1b0f80c rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb2514b6f rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb2c13af8 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb38fa852 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbcfb3cff rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc1546cae rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc18f9a95 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd95a749b rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf35fea5 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdfc536f0 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe369a330 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe37d6c94 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe6c5e501 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xea5b5373 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec504bd1 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf00d4603 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1b82501 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf6d9b4b0 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x11942dfb SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x16c28469 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x25222956 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2af8d12f ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2cb02857 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2eab7cea ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4537ce13 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x47effe8f ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x48ebad4e rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4ab6aa41 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4b3ffce0 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5b136adc ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5fd9ae46 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x656a8e54 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6580b3fe ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x671ee66a ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6812ff52 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6fc63450 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x70b0d3e3 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x79b5ca6c notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x79b8890e ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7a29a342 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x837bc211 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x83af4799 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x86596024 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8710f984 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8908fa4e ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8b4ffbc7 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x977c6aae ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9b45b7f3 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9dd19904 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9fb887d5 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa5bb80a4 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa8d87b2e ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaac5ab50 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xabef46e1 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0136d7e ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb3edddc4 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb6e5a550 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb6f63123 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbcd4c3fb ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc052c435 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xccf8dff4 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd75c8b46 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd77fe7f5 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe4f8f222 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe621110b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xef949bda ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf086a697 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf6c076bc ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf6fbd885 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa9aa14c dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xffd78dc2 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0af0e4d7 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1152cc33 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x28dee99b iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x30a797c4 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x361845b4 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3998bac4 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3daf7710 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x44a6371f iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4f76c0e3 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x55d9941b iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x59414db7 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x66bf017b iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x69507b3e iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x717b9080 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x76c5ac3e iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7a347bac iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7e5cd43a __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8a2e93ba iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x942c059e iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9ce02375 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9e6a2b36 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9f65b81d iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa50d5f11 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa7521cde iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa7a47c49 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xba4af257 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xba964b55 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbf4e2794 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc523e7ac iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc6f7007d iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcd1275c7 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcd8a3446 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd60dc651 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd65c8539 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdecd4bb9 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdfdb9a76 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe2f59bcd iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe406789d iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe8a48a21 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xeedff367 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf0e13347 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf77de180 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf8ae65a8 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf8f8ebc1 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/target_core_mod 0x008bf2de transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x01b2d438 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x01d5fff4 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x03c8b0b1 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x04bb4a0e transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x09dced89 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0d614f65 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x204df823 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x23461884 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d1db4ab target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x38e30a06 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c331c7f passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ef76b44 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x407c1212 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x41b1822b target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x438f929b target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x46b9474a transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x48d8c4a8 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x49c757d7 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x4b6504f2 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x4dcf9cb9 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e6718c4 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x53523436 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x5382b33c passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x5787562b transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x578da301 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x5835ca78 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x60edc1de target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x61a10a0c core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x664bb30e target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0x67afb934 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x68e7b371 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x69e5cc43 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x69f507cb target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b4df00b transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x6cedc187 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6dbd68fb target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6de8c0e6 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e38ad80 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e8dff63 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x6fb03046 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x77d19394 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x85ec899c target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d601a0d target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8e38a035 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x998a9e89 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x9be542c3 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xa0c8854c target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4a649aa core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb04680fc transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb09637b2 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xb58d6438 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xb82e289e target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbba4129 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc8bc238 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xbfdb93ab spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc082ffd6 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1827adf transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xc30ba2c7 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xc398d005 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xc468f26c core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5974a04 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8410b97 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xd330c548 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0xd3f2d8fc __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xd70c9aed sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xe140b160 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xebf58542 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf97ddca1 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xfc8da089 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xfcdabde9 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xfce1f57c target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xfd1212fc target_submit_cmd +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x95230ad1 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0xed6364df usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xfebbb59e sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0110ebb1 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1ead4b1f usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1eb88490 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x22e1bdd0 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2c5bcc55 usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x38b8eac2 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5571871e usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x62c4f6dc usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6a9c224f usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6e69525c usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb5b83e31 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbed8893d usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeee4627d usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x5d33786e usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xc5e8db10 usb_serial_resume +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x0155765f mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4129b179 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x45e72a03 mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x46ed566a mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5f47da11 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7b8bc363 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8f1850eb mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x909e2683 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x98f467f3 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xb89c369b mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xcdc13b74 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xe88ae6e9 mdev_get_iommu_device +EXPORT_SYMBOL drivers/vhost/vhost 0x13847519 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xc9bbec58 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/lcd 0x321e6416 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x50c420be devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x98985d5b lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfa079db3 lcd_device_unregister +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 0x49944f0a svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5069a13e svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5bccd972 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x791b849a svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7bb6b104 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 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd243d760 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd2830078 svga_tilecopy +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 0x64a7ee95 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x5e635ec0 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xf9fe52eb 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 0x780a5a1d cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x3df0eb79 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x63fd418b matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x685217e4 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x122e9f5f matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x894a0078 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xa1d16188 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xf1c5c85e matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x0e4ff321 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0xd9a9fc1e matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x3e861d45 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x67a91850 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xe8aa4cdb matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xfe6bef35 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x0da921e2 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x5218a185 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x0c6579fa matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x1acbc220 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x26f33239 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x4c732f3d matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x99aeb2a6 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +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/w1/slaves/w1_ds2780 0x3e2dd04c w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x494ca16a w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x2bae8fab w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xd9cb0895 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x77276ebb w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xb6cbc132 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xf03d52ed w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xf13efff7 w1_remove_master_device +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x278e5889 bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x9e4cf57a bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xd8e0e7a0 bd70528_wdt_set +EXPORT_SYMBOL fs/fscache/fscache 0x14b11fef __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x1859c9f2 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x18713ed2 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0x187d4115 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x1b333d78 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1ce441fa fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x25060731 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x2f177afd fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x38364417 fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x3e055965 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x44c38d41 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x47c9a46f fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0x524441ff __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5263c34e __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x52dce117 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x642178b0 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x65794820 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x78998ba7 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7e2d0c59 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x7e9b0979 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0x88450aa5 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x91e99abf fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x99a58ddd __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x9f9d19f0 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xa0adf2ee fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xad00d42a fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xb6af2133 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0xc0ca3713 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc1a99984 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xc22ddd1a fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xc2bb52e3 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xc7ccc64f __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xda8645b3 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0xddc47e66 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe01fabda fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xee7f3222 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xeefe64c6 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xf2053264 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0xf554aa6f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xf8c336b6 fscache_operation_init +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x2f4b48c6 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x80061dfd qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x98237375 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xaf7fc186 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc0a5402a qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xed6ea629 qtree_entry_unused +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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x7515ef06 lc_seq_printf_stats +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 0xe53a26f2 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x60cd41b4 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x6923c66f lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x87e60f10 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xd7b0bd66 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf69dcc7b lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf94105f4 lowpan_unregister_netdev +EXPORT_SYMBOL net/802/p8022 0x175c7389 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xd4ba1b39 register_8022_client +EXPORT_SYMBOL net/802/psnap 0x316987e4 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xfa013401 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0902d8bf p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x0ba00584 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x1084f97c v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x133d3da8 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x148a5b3a p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x16ef64d2 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x17eeea2a p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x18321025 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x1a6d1295 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x2bbb298e p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x2ce8aaa5 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x2d9057bc p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3331e0f8 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x39d3cab4 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x3cda2bb8 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3da5878d p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x47fb919f p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4858042c p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4a62cfdb p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x4c538ea2 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x4e5bf2e6 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x5a4de7e4 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x5b0952a8 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x6031a93f p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x60464cea p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x62469c85 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x652f9a4c p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x6f8d746b p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x707ffd03 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x761150f7 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9d37540a p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xa4144394 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xaa644e6b p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xad34e719 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xb144f101 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xb5bdd969 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xc06560c5 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xc66897fc p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xce00d612 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xe1c4b90f p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe9b14dfb p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xf3cc7e13 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xfb019d3e p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0xfc495162 p9_client_read_once +EXPORT_SYMBOL net/appletalk/appletalk 0xabf806a4 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xb0e9785b alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xbb4a1a2f aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xf5e5dcbc atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x12628e2b atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x27acf423 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x2b094d40 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2ebbb7f8 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x376c18d2 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x566c4515 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x91861ade atm_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xaf2cb6e8 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xd44bff8a vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xd730623b atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xeae13466 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xedca58a6 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5effa79 deregister_atm_ioctl +EXPORT_SYMBOL net/ax25/ax25 0x015d180b ax25_listen_release +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 0x4c8dee31 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5486d975 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x6f5b43a3 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xaca3f0f4 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd508a223 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xf30e1542 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xf8798a0f ax25_send_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0130443b l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0300e2bb hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0534247a hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x07e6f13c hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ae41ba9 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2823a381 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x29ed31fc bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2e8106bd hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x35f84162 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3da617fb hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3e527629 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3fc7d12c hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x458ae469 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4774c990 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x481b7b8a bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c06ea1f hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d0ce790 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4f2e649e hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x67e339e5 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69efab74 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x74799bcd bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7a4b0388 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7addbe87 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7ae25aa9 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d040678 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e29ab8c l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7ed89ed5 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x826fa308 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x898875fd hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8ff42a6d bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x901295b2 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x90a6cc7a bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x94e7b4c6 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9b6b856b bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cd29ded __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb29ba8f5 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb335fe24 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc14727f4 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc79ab420 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xccbeb427 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdbe2bc31 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe717b33c hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe969c9c6 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf4a730e8 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x86c0f9e5 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc63f1f05 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe30641e7 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf6ddc126 ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x003e6a58 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x07a139c9 cfcnfg_add_phy_layer +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 0x466e5330 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x9195c75e caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xbd1696e2 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x23dfefb1 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x5266fb27 can_proto_register +EXPORT_SYMBOL net/can/can 0x53e719f0 can_rx_register +EXPORT_SYMBOL net/can/can 0xa039e9f8 can_send +EXPORT_SYMBOL net/can/can 0xd6db6db1 can_sock_destruct +EXPORT_SYMBOL net/can/can 0xd7c4428b can_rx_unregister +EXPORT_SYMBOL net/ceph/libceph 0x01b1e0cf osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x08db0684 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x09498cee ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x0abcd2d1 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x0c1172bd ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x0f7c5626 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x0fb96361 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x11c15538 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x16383b95 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x1a627ac4 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x1aa50e83 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x22eea3f6 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x24408b33 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x24f34714 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x26ee592c osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x29c6e665 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x2a1b7166 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x2a416d68 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x2a8f49ea osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x301aa347 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x3546b39f ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x36865f9a ceph_monc_open_session +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 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x42b8e677 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x44d18f63 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x4a6cdade ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4b57eb08 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x4df7e7bb ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x5471a493 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x599adfcf ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5dbebee7 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x5dccba0a ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x5ef317f6 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x5f938b43 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5fae55e3 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x616f2c12 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x63119324 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x673987fe ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6c63cccf ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x6e8ee781 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x6f437332 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x7065a0c8 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x70ed13fb ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x73f69d00 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x7a8d462d ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x7b02adc6 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x7fab8ae0 ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0x80b1bbee __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x8284b52d osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x85139dc7 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x8913d94a ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x8a0f73bb osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x8c78962a osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x8dd94232 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x94bc0ec9 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x9552195c ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x9a0ca676 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x9aac1a8c ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x9baf3a18 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9c35e4c8 ceph_cls_assert_locked +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 0xa0bc47de ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0xa41f4784 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xa4230489 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa5ddb01d osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0xa66517ad ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xadcb4290 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb1060b90 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb7ab31a8 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xb8319201 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xb8cf7b46 ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0xb94b686f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbdac6093 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbfb2f03a ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xc276559b ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc5d71959 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xc914aee6 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcda57df9 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xcdc25827 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xcf832bf2 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0xd32f71e7 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0xd361acaa ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xd4e3f352 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd81d2ab6 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xdb4b3a4e ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0xdd885e30 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xdf610276 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0f51097 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0xe34dbe09 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe4c84dbf ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xe6613eb1 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xe687c1a2 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xe735c6ef ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xeaeaca3c ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0xee098bd6 ceph_msg_new +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 0xf10e34ca osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xf5b9ac26 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xf883c6ef ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0xf89509bb ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xf98b30d6 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xfacf764a ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xfb54fd50 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xfc030d79 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xffa2ee2f osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xffaee58d ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xffd93142 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x0750feb1 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x7dc1f5bc dccp_req_err +EXPORT_SYMBOL net/dsa/dsa_core 0x8cb833b7 dsa_port_vid_add +EXPORT_SYMBOL net/dsa/dsa_core 0xb020043c dsa_port_vid_del +EXPORT_SYMBOL net/ieee802154/ieee802154 0x24877566 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x388b094f wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3af53ec5 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5b39ee89 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9ae5da66 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xda6dd711 wpan_phy_free +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x5441bb76 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x6670c862 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x78008b85 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x1982a1eb ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x2ac13c32 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x8b57ad82 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xa8c22892 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x070d76c9 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x383bb5c7 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x6f09c7e9 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc4f20c66 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x035e111e ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x072cc151 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x2f80ec4b ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6a12b326 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9a132c51 ipt_register_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x0b6067e7 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x1918ab98 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xa6fcd87f udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4038023a ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x5daf2dd8 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7181fc4f ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x833b9319 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x870582b6 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x995ae1b6 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb6978bb7 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd75cb332 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe18a140e ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1fc60933 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x785156be ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x9e6a8462 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xc59f7261 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xcffe8f6c ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x05aee446 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xc6b90c3d xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x2b345cf5 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xbd4081c8 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/l2tp/l2tp_core 0x3fc45acc l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0x4059044e l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x83478e5d l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x342d3a35 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x6c9d7c96 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xa509b672 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xa54b53fb lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xbce16d53 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xd9a85f67 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xe82896ac lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xf9b9b7b5 lapb_data_received +EXPORT_SYMBOL net/llc/llc 0x2cdb10f6 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x3328aa4a 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 0x9de9a259 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xae6ba329 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xb51a46c2 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xd7335396 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xf218ee80 llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x0088fbcc ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x01066195 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x013c6c66 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x0311abdb ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x03357bb4 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0785050c ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x084c7400 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x08517c24 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x08f89c08 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x0a0de2e5 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x0b1faa59 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x12123887 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x125f145d __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x13cd4607 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x156cbcbc ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x15ade92b ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x17efda1e ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x181ae9cc ieee80211_rts_duration +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 0x1bc53449 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x1e2a9227 ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x1ff974ff ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x218227e2 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x21993924 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x299e90ac ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x2a6f4b3c ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2d6ae135 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x31a44740 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x33dd429d ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x35e1a8df ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x386a49d2 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x39633c21 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x3cfc87d4 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x3ee5e371 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x3fff8f51 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x40c2ad0b ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x41862118 ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x42c27ca6 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x45fea343 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x47412b23 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x48d038c0 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x53c40e34 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x54c1cc3e ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x54ede492 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x552b10b3 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x5b04d231 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x5b571778 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x624bade7 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x63029b9e ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x68e23a19 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x69e5e359 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x6f53e46e ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6f9a33bf ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7e652a72 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x837f0ba7 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x84a5f21c ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x87bf1f79 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x89082725 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x8fe8c73a __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x913c8b91 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x915ddf85 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x93ac2e5d ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x963a2c28 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x9769bde4 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9a116629 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x9adba62e ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x9f7d1d8d ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xa06f0e2f ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xa3230f9a ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xa73c9d9e ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa804a2ba ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xa9ff8ad0 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xaa544925 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xac7fa3fa __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb22643e9 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xb2265c26 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0xb42032ee ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb6acebf0 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb796d025 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xbcfe5b63 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc3585957 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xd23064bc ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xd4b7c088 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xdaf5167c rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xdb619403 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xdbec516f ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xdccde858 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xe7cfbbf9 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xe8ea93b4 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xeb56dbb0 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xecca3e80 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xece6c2b8 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xedea361b ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xefa0a761 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf072f1ae ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0xf5a1f0ac ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac802154/mac802154 0x001069dc ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x665f3744 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x68b1e69b ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x76021101 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x9ac560f9 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0xb82deefd ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xbcaed7af ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xcb0da872 ieee802154_register_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0010785b register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x08cdd5e6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0f0a9676 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x23a11e03 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x347eb1a0 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x51b9c369 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7dd97231 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fede88e unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x87d00c9d ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xaca2db4c unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb4feb725 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbdc0687b ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdad6f7cb ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xde67cbf3 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7cca416 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x715f3797 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x2ed2ddbf nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x3235f5a1 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x4472cf6e nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xc73f7ab6 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xd44bcb35 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x0e2c9d0a xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x10d3f89b xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x1635318e xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x17c607c9 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 0x88c4b776 xt_unregister_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 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xcb43cc48 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xd2079a0a xt_find_match +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 0xecfe8ea4 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xf4c5a130 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x050d7c03 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x3a24b532 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x3d4a5615 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x412fe0df nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x5bc25517 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x5c5e8552 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x663055bf nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x6a65202b nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x6edc516a nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x78ccaf52 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x806a2799 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x94e54cfb nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x966556ca nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xba4a8335 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xc4429c3a nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xd763e6f8 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xda1defbc nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xea6d9e02 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xebe10970 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xeec13167 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xfee602ed nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x0ce060df nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x36a2c8fc nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x38598124 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x3d219f62 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x3da3fc01 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x445dee83 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x5cf6af1b nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x85c0aae2 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x8695b1bf nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x92650827 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x93e50463 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xa0671499 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xaebe0a82 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xaf359883 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xafdbdd02 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xb85dfd50 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbc895f2a nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xc984faa5 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xcd3e23a9 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0xdd17bd85 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xe07d2df1 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xe3081e60 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0xe7ba67e5 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf1bdc200 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xf260fe25 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0xf29d9d7d nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xf8dcbd3e nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xfcdd93e0 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xfece4844 nci_core_cmd +EXPORT_SYMBOL net/nfc/nfc 0x0d0b5eb4 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x11c14180 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x2974cfea nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x29d22255 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x35a4c2e1 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x36c07db9 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x3b2862e2 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x48e2a432 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x58f74aa1 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x68a8d90b nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x6e454c11 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x7111fae3 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x725b57ac nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x83d4f999 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x86575b86 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x8acb4bb9 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x98f4d230 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xa771d101 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xad01aaa5 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xc43b9451 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0xd391d1cb nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xdc8d68bd nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0xef7d194e nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xf3291cff nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xf83c216b nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x54348910 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7c3e68a9 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7e3146a3 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x929cd960 nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x39441689 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x6aea9dec pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x6f7e8bd4 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x94a11c54 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x9ad6bd41 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xb9036307 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xbee0c0f2 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xc037af63 pn_skb_send +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0ee9ae0c rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x10d3dc17 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x125284f5 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1a382d89 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x27868c08 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2bba8d05 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5155f37f rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5231db9f rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x62f2cb14 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x66d77d8a rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x76caf28f rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x873eeb63 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8a1f2906 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa30b7cdc rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb83827e5 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd03a8b76 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe4fe23ea rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf366b2ac rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/sctp/sctp 0xa60a4f50 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xb069e6b7 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xb3eb3bea gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xba34868b gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x5cc0e2c0 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x81176646 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xc75f198d svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x727950c9 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x878309d5 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x8a27c850 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x92be83f8 tipc_dump_done +EXPORT_SYMBOL net/tls/tls 0x7992c686 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x0984ac98 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x4facd0ff wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x029a881d cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x03df88d6 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x0c34f0ea cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x0cbda7e7 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0fc580cd cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x11e49fb2 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x164aecb4 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x170e9dbf cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x1832f35c cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x19abb0d8 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1d449959 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x261966d8 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x26989247 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x2bd52fd9 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x2c6c92df cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x2fe998a1 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x303ddb19 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3076e007 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x3188f502 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x31e4c638 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x367c46d5 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x385e8da1 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3dca5a7f cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x3e30827f cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x3f117aa0 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x48e0bb41 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x4c930d9b cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x50a770de cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x552510a2 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5649690e wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x59d76512 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x5f13c5aa regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x62c6071e wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x65a9ac71 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x6619192e cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x664e095d cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69ce1243 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6ca0c1f2 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x74ed47b1 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x77a8940c cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x78f974db cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7c05754f regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7e59f555 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f37f6bf cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x8052db08 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x8119ca9f cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x82a11d22 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x82f25657 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x85ebd1b7 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x891cac03 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x8928ff73 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x8c176f81 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x8cbc7137 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8d257fd3 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x8e5825c3 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x9010f4a4 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x9107b060 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x9706e1da wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x990040c1 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x9d17fb7f cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9f1d3c18 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0xa386a372 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa4ed5ee8 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xa5f4dbf7 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa661012e cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xa756ffd3 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0xa8667cf2 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xa9fcd312 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xad61518e cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xafd50b87 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb6c8352d cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb92ffd4f wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xbbb53fad cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xc1c594ee freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xc41ba271 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xc468e534 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xc78a8730 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc7e81702 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xd072b0f5 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd758c44e cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xd7f47948 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd822f357 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xdb4e43b0 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdbe5a9be cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0xe558aeb3 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0xe6a33346 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe7f960a3 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf62faf02 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf647889f cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xf7a7a4e4 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfb6c5216 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xfe60d78b cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0xff532390 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xfffba191 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/lib80211 0x18ffc130 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6f53216d lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x7a453f64 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xa0d16b26 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xab1f942e lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xcd5e5542 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x52c95b9a ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xb64408a8 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 0x1e3d9781 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 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x545bf7a2 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 0x6d98b88a snd_seq_kernel_client_enqueue +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 0xca967473 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 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 0x5c8c68e5 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x0466960e snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x09909ba3 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x13bc23d7 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x16060cdf snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x185ed6b4 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x19769b62 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x19b1efc4 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x3241ec74 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x32492ba5 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x363decd4 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x38776fbe snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3c9e1806 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x44ddc48c snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x464d9731 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4f7d7d28 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x5175d2ec snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x543b5040 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x552122fe snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x5750e722 snd_register_device +EXPORT_SYMBOL sound/core/snd 0x5c8aa208 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x673571b1 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x6873f1fd snd_device_free +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 0x79336618 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x79c1cdf2 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x7ab29410 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x83d76209 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x89540d2f snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x94f21db1 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x961660ab snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x969e38d2 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f97e598 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xa85dd917 snd_card_new +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb34676ed snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xb74d7035 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xbd90a708 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc8dbdacd snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xd1c9af9e snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xd420c4f9 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xd988fa7a snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xe2bea589 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xe2e21b88 snd_info_register +EXPORT_SYMBOL sound/core/snd 0xe5c3b4f2 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xeab40bf3 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xed56f0d1 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xf26e8592 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xf5c14f70 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0xf6f0ae63 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x242a9591 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 0x06baa886 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x10fd75b5 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x1174edfa snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x179b07bc snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x17bea9b3 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x183320a1 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1f821f27 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x2565c807 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x27165701 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x2e1d6e38 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x2feb70c6 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x302cdcf9 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x33068c5b snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x342120d2 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x36ca46cc snd_pcm_hw_constraint_integer +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 0x3d7ecfc9 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x3e502a8e snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x3f71bbcb snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x484b3723 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x4be381ea snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x4f4f125e snd_pcm_lib_preallocate_free_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 0x51bc9e32 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x5212785e snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x53230b93 snd_pcm_kernel_ioctl +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 0x67376836 snd_pcm_hw_param_last +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 0x697c181d snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x6d8c219e snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7af006cc snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x7e15c76e snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x84122769 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x883befb8 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x8b045500 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x8b82143b snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x8f700293 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9cc38e51 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xa18debd0 snd_pcm_lib_ioctl +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 0xb176fc24 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbf071c2d snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xcd74b466 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xd4aa14cf __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0xd7e948d5 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xdfd69e24 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe8e67211 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0xf9ed1fa0 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x048d3f43 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x08f3ba84 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x13648089 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x20d66bc0 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4ad16d1f snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x68f75a00 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x69bd2b8c __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x75f0125d snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x769e0196 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7f9cdc6e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa4c470bf snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa8f678c0 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb58baf90 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbd893c85 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbdd05080 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd6b50db5 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe9ff299c snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xea9340a3 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xee6d72cb snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfe877cd0 snd_rawmidi_transmit +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 0xa05795db snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x20551424 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x4aeacbf2 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x77df527f snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x78c0b09c snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x843523ad snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x8f52289d snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x98dfe88e snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x9e72fd69 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xa39024db snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xc9eedf95 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xddbb6476 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0xe4a2003d snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xed701d60 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xf1d84b5e snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xfce69448 snd_timer_global_free +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x17054ac9 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 0x01b74309 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x14b26a25 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x34b462ea snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3a4d8768 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4b1eced7 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6a13a249 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb593c868 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd01272b1 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdfcdbc70 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x19626eab 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 0x2489bfb7 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x443e5402 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5c7f6be3 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5e8c0edb snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x92a67f4d snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa6fc4d26 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xbeb5e7e9 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdd857408 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x03e976f5 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0a840540 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0edba981 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1786a551 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1f5e16a9 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x23b73809 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2f7b9422 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x56e6f083 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6486417e cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6e8018da snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7002cc1a amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74f7e6d8 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7a4a337c iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7aa3782d fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8235416e cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x83f750ab iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x88f919d5 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8d8f4ddc amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9eae4d42 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa9045265 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb0965f5b avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb648fe3f cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb923c042 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbe48b6b6 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd79c1d43 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd94e61e3 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe2163829 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xec2e5b7b cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed80c359 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf057034d cmp_connection_check_used +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x92babaf9 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xacc4ff6d snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3c1f5862 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4b17989c snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x514897dc snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x953e906d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x967fbd7c snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd3f68e5c snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xda190692 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xddde9705 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7de117aa snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x91de3afc snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x9d004d5c snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbbe8379a snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x1bcdb1db snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xa628666a snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-i2c 0x3df224bd snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x455f0291 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x821f0d0f snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9dda4afe snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa9580099 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf2ae9e6a snd_i2c_device_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0ad33879 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0f825f49 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x15e8257d snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x1774b512 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x2d0135b8 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x38368913 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5c24c689 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x95d75fd3 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd73d6118 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf2ff714f snd_sbdsp_reset +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x096c0a87 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0b00fd82 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0e6c3b9a snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x20966a61 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e461001 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x60b090f3 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x68b90757 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x826346b7 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa57a46c2 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xad36099b snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb79e1915 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcb4c7f52 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcd5559ff snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd0eaa810 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd2784121 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd72233d4 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf22db8fa snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x06a8fdac snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x647beb21 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xc464cc4c snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x034ea672 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x09fcb467 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x12d19e65 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x295ee883 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2baee5b9 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3ee95be7 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4f3ec0f3 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5301e825 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x68210319 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x69d8508c oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x80a4bb4a oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x83bfe0a9 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa8ab85d9 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xab6fbbc8 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb3c59559 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb9025e3b oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd21cd686 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd416ec6d oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd971aabc oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdd2451d2 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe3afd06a oxygen_pci_pm +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x60426f18 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x6eae2fa6 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x75e818a4 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x854b626f tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x683662f4 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x83fda700 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xaeee1e6e aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/snd-soc-core 0x1a0dc3cc snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x08ac9056 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0ba90236 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x13188f01 snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x13bcd0c3 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x19a86f23 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1cbb9c34 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x209d5f21 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x20ccd59a sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x26250342 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2977db2e sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x323cad04 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x331c971e sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39f95ae2 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3d3ffaca sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x45d5bfba snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4a5cd124 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4e8d817b snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x563d9ece snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x576cf306 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5fd89afa sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x60d440d9 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6111ae07 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x612dc388 snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x636a15f8 snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x74400be0 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x85a6b574 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x87ad7896 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8991abd6 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x935fdd10 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x93b8f247 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x960b89d6 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9e5c2816 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa33f7c9d snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa728c89e sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb2ce328b snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb5364831 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb8915095 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbc8d9d3b snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc1806950 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc7456cd4 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc7f64b5a snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcbfcae82 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcf6531e0 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd2d61cdb sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd52cf9d0 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd994ae09 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdfdb9fb0 snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe5b21df4 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe8739482 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xed5ca7be snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf20af972 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf787b472 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfd19b144 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soundcore 0x1a623012 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x28765272 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc024c3ed register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xcc04222c register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xf3f17c39 sound_class +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x3c8e0fc3 __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 0x00050a3f inet_register_protosw +EXPORT_SYMBOL vmlinux 0x00053f02 dst_release +EXPORT_SYMBOL vmlinux 0x001d84ab page_frag_alloc +EXPORT_SYMBOL vmlinux 0x001f63b3 vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x0035faf5 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x003a7a96 h_ipi_redirect +EXPORT_SYMBOL vmlinux 0x00401cb7 mutex_unlock +EXPORT_SYMBOL vmlinux 0x005f75cf ip_getsockopt +EXPORT_SYMBOL vmlinux 0x005f9c76 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x006092f8 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x007a1fba input_set_timestamp +EXPORT_SYMBOL vmlinux 0x009249fe gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x00aae6c2 seq_lseek +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00c2f9b2 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x00c31e0f drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x00d7460b netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00ddd080 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x00ee48f8 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x00ee5fdf blk_get_queue +EXPORT_SYMBOL vmlinux 0x00ef5fda qdisc_reset +EXPORT_SYMBOL vmlinux 0x00fc0e86 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x00fd69bb sock_no_connect +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01097e92 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x01148834 arp_create +EXPORT_SYMBOL vmlinux 0x0115d711 bd_set_size +EXPORT_SYMBOL vmlinux 0x011e5465 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012a97fc xor_altivec_4 +EXPORT_SYMBOL vmlinux 0x012bdf81 simple_setattr +EXPORT_SYMBOL vmlinux 0x0136d2d4 iput +EXPORT_SYMBOL vmlinux 0x01381f93 d_alloc +EXPORT_SYMBOL vmlinux 0x0140c525 gen_pool_create +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0148aa6d user_path_at_empty +EXPORT_SYMBOL vmlinux 0x015047a0 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x0162c04d tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x0172763e skb_trim +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x0176c896 touchscreen_report_pos +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 0x01982074 xa_set_mark +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01ce5d1a __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x01e25b17 generic_writepages +EXPORT_SYMBOL vmlinux 0x01f7e45b __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x01fd8d2a sg_miter_start +EXPORT_SYMBOL vmlinux 0x020016bc skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02191d8a fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x022de74e tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x0245c633 fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x024e21fc unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x025aafd0 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x025cfe76 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x0264516a nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x0265d724 import_iovec +EXPORT_SYMBOL vmlinux 0x02738e45 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0273cc96 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x028e3e55 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x02948207 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a388ec udp_set_csum +EXPORT_SYMBOL vmlinux 0x02b3a92d try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x02b46fdc tty_port_destroy +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02c33713 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x02c57b3a page_pool_destroy +EXPORT_SYMBOL vmlinux 0x02d99ff5 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x02df50b0 jiffies +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x03050dde gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x03142070 lookup_one_len +EXPORT_SYMBOL vmlinux 0x03287226 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033e6c92 key_type_keyring +EXPORT_SYMBOL vmlinux 0x0359d5d2 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x036092d2 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x0368f8b8 __find_get_block +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037f2bc9 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x03837ab1 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x0385f70c iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x03976051 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03d97f96 cdev_del +EXPORT_SYMBOL vmlinux 0x03eff6c6 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x03f20637 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0415a1a9 of_device_unregister +EXPORT_SYMBOL vmlinux 0x042395ab max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x0425892e genl_notify +EXPORT_SYMBOL vmlinux 0x042ac5ad pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x042b1417 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x04358aa7 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x04440904 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044ac640 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x045420b1 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x045463f8 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x045491a2 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x045b4cad sg_miter_skip +EXPORT_SYMBOL vmlinux 0x046151ce flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x0476f949 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x047ff9fd key_validate +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x048f5502 radix__flush_pmd_tlb_range +EXPORT_SYMBOL vmlinux 0x04a8f931 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x04adaa66 get_watch_queue +EXPORT_SYMBOL vmlinux 0x04bb2843 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x04bc5e6a __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f158be cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x05043ada __scm_destroy +EXPORT_SYMBOL vmlinux 0x05186ca4 flush_icache_range +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0530dede _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x0539cef8 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x05427e5f twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x05519d30 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x0559256a block_write_full_page +EXPORT_SYMBOL vmlinux 0x055b29ea vme_register_bridge +EXPORT_SYMBOL vmlinux 0x056d360d pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x05704aa4 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x059faf17 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x05a03903 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0x05b65ade build_skb +EXPORT_SYMBOL vmlinux 0x05c10e9b devm_request_resource +EXPORT_SYMBOL vmlinux 0x05ca4f1a dev_alloc_name +EXPORT_SYMBOL vmlinux 0x05d746e1 mdiobus_free +EXPORT_SYMBOL vmlinux 0x05d98627 put_disk +EXPORT_SYMBOL vmlinux 0x05e3b355 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x05faac87 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x06145a71 input_setup_polling +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061bd640 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x0624a050 __d_drop +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x06655c94 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x06783f97 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x0685bc1a twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x0685fa94 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x06a52eba abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06b63bcd copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06d1edc7 dump_skip +EXPORT_SYMBOL vmlinux 0x06d879f5 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0x06e270e6 to_nd_pfn +EXPORT_SYMBOL vmlinux 0x06ebcc73 bio_devname +EXPORT_SYMBOL vmlinux 0x0708cb90 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x071ffd5b netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x074982a7 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x074e9213 down_killable +EXPORT_SYMBOL vmlinux 0x076479e7 __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x077348e5 pci_get_slot +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bd15ac __debugger_sstep +EXPORT_SYMBOL vmlinux 0x07cb84e5 kernel_listen +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d1e6dd pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x07d81ddc __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x07e380d5 bd_start_claiming +EXPORT_SYMBOL vmlinux 0x07e51c96 dquot_destroy +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x081953b1 bdi_register +EXPORT_SYMBOL vmlinux 0x0822b040 param_get_byte +EXPORT_SYMBOL vmlinux 0x0822cd28 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08486746 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x086485cc fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x086c97c8 vio_register_device_node +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0891aef5 netpoll_setup +EXPORT_SYMBOL vmlinux 0x08a1bf25 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x08af12d5 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x08afe9fb reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x08bf937d pci_fixup_device +EXPORT_SYMBOL vmlinux 0x08eec908 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x0922946c scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x094833c0 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x0950ddd1 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x0973fbd2 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x09833280 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x099762cf sock_kfree_s +EXPORT_SYMBOL vmlinux 0x099b2c2d shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x099ee805 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x09a4e471 vme_bus_num +EXPORT_SYMBOL vmlinux 0x09b05eef __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x09c8dc06 md_error +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09ca17a2 clear_inode +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e6b5e6 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x09f99a64 send_sig_info +EXPORT_SYMBOL vmlinux 0x0a054353 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x0a08f16d skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x0a10deee proc_create_single_data +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a2a3b05 I_BDEV +EXPORT_SYMBOL vmlinux 0x0a3009c1 input_set_keycode +EXPORT_SYMBOL vmlinux 0x0a3d4b8c fifo_set_limit +EXPORT_SYMBOL vmlinux 0x0a471030 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a691f0a rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x0a762887 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0aae43eb done_path_create +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae55872 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x0b0afe8b rproc_report_crash +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b2e1ec7 h_get_mpp +EXPORT_SYMBOL vmlinux 0x0b6ae7e6 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7f6c07 pskb_extract +EXPORT_SYMBOL vmlinux 0x0b8a6338 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x0b9568d5 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x0bb296f2 inet_shutdown +EXPORT_SYMBOL vmlinux 0x0bb791e6 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x0bba9d47 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x0bc1c2e8 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bd005e2 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x0be53647 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x0bf36885 do_wait_intr +EXPORT_SYMBOL vmlinux 0x0bf6ceae dquot_commit +EXPORT_SYMBOL vmlinux 0x0bf8b51b pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x0c05d476 __sb_start_write +EXPORT_SYMBOL vmlinux 0x0c08be8e tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x0c0956c6 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c117365 generic_write_checks +EXPORT_SYMBOL vmlinux 0x0c14cf51 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2a2da5 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x0c542b4b blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c6d1a4d inet6_add_offload +EXPORT_SYMBOL vmlinux 0x0c759aa8 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x0cad47d2 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x0cae822f phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x0cb0601a node_states +EXPORT_SYMBOL vmlinux 0x0cb12092 xa_destroy +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0ccad511 __close_fd +EXPORT_SYMBOL vmlinux 0x0cdbe777 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ce70384 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x0ce91c6f fs_param_is_path +EXPORT_SYMBOL vmlinux 0x0cf7f2c8 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x0d066573 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0d0f16 of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x0d26f64b config_item_put +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d2cd0d8 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x0d2d7fb1 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x0d49b93f __debugger_ipi +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d545868 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x0d54c9ae __block_write_full_page +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d7337fe sock_alloc_file +EXPORT_SYMBOL vmlinux 0x0d901e2c of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x0d90fd14 param_get_uint +EXPORT_SYMBOL vmlinux 0x0d9e5004 free_task +EXPORT_SYMBOL vmlinux 0x0da8dfed vm_mmap +EXPORT_SYMBOL vmlinux 0x0dc7a136 d_lookup +EXPORT_SYMBOL vmlinux 0x0dcebe97 sock_release +EXPORT_SYMBOL vmlinux 0x0ddf405c sock_wake_async +EXPORT_SYMBOL vmlinux 0x0de2d560 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e2c43eb mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x0e3c24ad sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x0e3fa44b fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x0e42c64a ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x0e43dac2 current_time +EXPORT_SYMBOL vmlinux 0x0e5228e3 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x0e5a6a0a inet_frags_init +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e7b2d4a input_match_device_id +EXPORT_SYMBOL vmlinux 0x0e8f0333 sk_capable +EXPORT_SYMBOL vmlinux 0x0e8f30f6 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x0e9a2385 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ed99403 param_get_int +EXPORT_SYMBOL vmlinux 0x0edd13d3 d_invalidate +EXPORT_SYMBOL vmlinux 0x0efaf329 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x0f078bad give_up_console +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f188968 netif_device_detach +EXPORT_SYMBOL vmlinux 0x0f2924cd phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x0f40d575 __lock_buffer +EXPORT_SYMBOL vmlinux 0x0f5ad093 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x0f5bfbfc nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x0f755e22 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x0f7f769c gro_cells_receive +EXPORT_SYMBOL vmlinux 0x0f8106b9 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f879d78 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x0f89ce1c dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x0f951cba __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x0fa2ea44 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc5e75a vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fe84474 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x0fec9ec6 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x0ff1ca6d get_tree_nodev +EXPORT_SYMBOL vmlinux 0x0ff98c7b kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1002a9bd linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x101f595f scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x10240e56 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x1028eeff mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x102c6031 bioset_init +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x104a8508 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x104fd909 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x1059915c eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x1064ece7 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x109c36ad dquot_transfer +EXPORT_SYMBOL vmlinux 0x10a8d325 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e0f124 __pud_index_size +EXPORT_SYMBOL vmlinux 0x10f3a395 nd_btt_version +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x111fa7c9 qe_pin_set_dedicated +EXPORT_SYMBOL vmlinux 0x1121529c splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x114c3bff inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x1151fb5c set_posix_acl +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116627c9 ioremap_prot +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1171d726 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x1182d83a cpuidle_disable +EXPORT_SYMBOL vmlinux 0x118f34ae xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x1191aeb0 pci_get_device +EXPORT_SYMBOL vmlinux 0x11cd83bc msi_bitmap_alloc_hwirqs +EXPORT_SYMBOL vmlinux 0x11d6f468 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x11d84918 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x11dd8544 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x12104716 vfs_get_super +EXPORT_SYMBOL vmlinux 0x12342884 of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0x1237b07b iget_failed +EXPORT_SYMBOL vmlinux 0x1242a4fa phy_print_status +EXPORT_SYMBOL vmlinux 0x1276d32f scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x12805c54 scsi_device_put +EXPORT_SYMBOL vmlinux 0x128d5163 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12bbd167 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0x12bee281 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x12c3de3b vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x12c5d975 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x12c9d0ff dst_dev_put +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12cf28b6 d_alloc_anon +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x130389dd loop_register_transfer +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x133eed38 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x13403f95 rproc_del +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x13522f90 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x13592f63 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x13751566 __register_binfmt +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x138fc388 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x139793cd get_agp_version +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13b0dba1 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x13c31a0a _dev_notice +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13def84d ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x13df9876 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x13e1b2d5 current_stack_frame +EXPORT_SYMBOL vmlinux 0x13f53da6 CMO_PageSize +EXPORT_SYMBOL vmlinux 0x13f60231 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x13ff5f98 __icmp_send +EXPORT_SYMBOL vmlinux 0x1400b16f tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x14027064 vfs_get_link +EXPORT_SYMBOL vmlinux 0x14037f11 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x141d4107 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x1443009a param_get_ulong +EXPORT_SYMBOL vmlinux 0x14450271 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x144b85ee kthread_blkcg +EXPORT_SYMBOL vmlinux 0x145df0c2 ilookup5 +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1474919d fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x147e0857 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x149515a1 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x14972924 km_state_expired +EXPORT_SYMBOL vmlinux 0x149cd278 tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14a2b413 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x14abf6c7 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x14bb03f2 iget_locked +EXPORT_SYMBOL vmlinux 0x14d84cb2 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x14dc1c40 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x14ed459a configfs_depend_item +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x15012d7f crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x151748e0 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153e80eb inode_init_always +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155be076 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x157774f8 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x1590c41a netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x1594257f of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15e39168 mpage_readahead +EXPORT_SYMBOL vmlinux 0x15f5899a agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x16184755 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x16258168 __bread_gfp +EXPORT_SYMBOL vmlinux 0x1627085c key_put +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x162bac54 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x1681cefa rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x168a311c inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1692b0fd tcp_seq_next +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x169d400d path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x16aa4f97 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x16c140fe tcp_have_smc +EXPORT_SYMBOL vmlinux 0x16ca73b2 PDE_DATA +EXPORT_SYMBOL vmlinux 0x16e27941 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e9cb06 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x16eadd8d mdiobus_read +EXPORT_SYMBOL vmlinux 0x170d7296 sock_set_priority +EXPORT_SYMBOL vmlinux 0x172a4948 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x1730f498 proc_remove +EXPORT_SYMBOL vmlinux 0x1751ff0a revert_creds +EXPORT_SYMBOL vmlinux 0x175db198 fasync_helper +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x177564b4 find_vma +EXPORT_SYMBOL vmlinux 0x1785cfb6 skb_ext_add +EXPORT_SYMBOL vmlinux 0x17868c8c request_key_rcu +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x178dc3c2 dma_find_channel +EXPORT_SYMBOL vmlinux 0x17b4bce2 dev_deactivate +EXPORT_SYMBOL vmlinux 0x17d98cf5 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x17e5b9fb igrab +EXPORT_SYMBOL vmlinux 0x17ef3544 swake_up_one +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1808a71e serio_open +EXPORT_SYMBOL vmlinux 0x18141095 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x1823aac3 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x18255c0d __init_rwsem +EXPORT_SYMBOL vmlinux 0x18272ca2 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x18304c56 radix__flush_tlb_range +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x185a116c __xa_insert +EXPORT_SYMBOL vmlinux 0x18672335 tcf_register_action +EXPORT_SYMBOL vmlinux 0x187120c5 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x188bab10 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18906dc9 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x18a54dfe watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x18af6182 key_move +EXPORT_SYMBOL vmlinux 0x18b1a029 inet_gro_receive +EXPORT_SYMBOL vmlinux 0x18bf5397 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18eb8948 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x19203e70 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x193852a0 thaw_bdev +EXPORT_SYMBOL vmlinux 0x19420280 put_devmap_managed_page +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x196a5a99 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x1984d54a skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x199efb02 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x19b16b34 up_read +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d084e6 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x19d1a10e __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x19d68628 xa_get_mark +EXPORT_SYMBOL vmlinux 0x19f944ce ppp_unit_number +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a1deaa7 inode_insert5 +EXPORT_SYMBOL vmlinux 0x1a39d377 tty_set_operations +EXPORT_SYMBOL vmlinux 0x1a4ff9c2 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x1a5bbd68 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x1a784d23 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x1a8ec9da inet_stream_ops +EXPORT_SYMBOL vmlinux 0x1a8f2014 key_unlink +EXPORT_SYMBOL vmlinux 0x1a949779 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1aa2b3f1 tlbie_capable +EXPORT_SYMBOL vmlinux 0x1aa2c6d5 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x1aab63e0 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x1ab038a8 powerpc_debugfs_root +EXPORT_SYMBOL vmlinux 0x1ab4902d xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ae1b121 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x1ae3d912 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x1ae8f266 tcp_child_process +EXPORT_SYMBOL vmlinux 0x1af02ad2 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x1af2b1c8 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x1af62a99 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b132009 rename_lock +EXPORT_SYMBOL vmlinux 0x1b329ce2 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1b625d33 enable_kernel_vsx +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b86cfa8 dst_init +EXPORT_SYMBOL vmlinux 0x1b8ab386 blk_register_region +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1ba9472d blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x1baae9d6 dma_fence_init +EXPORT_SYMBOL vmlinux 0x1bae413d xfrm_register_km +EXPORT_SYMBOL vmlinux 0x1bbdf068 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bdd8541 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x1bf43d70 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x1bfd72b4 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x1c04820d vme_register_driver +EXPORT_SYMBOL vmlinux 0x1c07d11f kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x1c0ca07c tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x1c114591 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x1c152cef radix__flush_tlb_page +EXPORT_SYMBOL vmlinux 0x1c17ee59 of_phy_attach +EXPORT_SYMBOL vmlinux 0x1c1a7605 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x1c325c27 devm_clk_get +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c36fa97 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c4a24f9 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x1c6606a3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x1c7b7d91 unregister_nls +EXPORT_SYMBOL vmlinux 0x1c7cfdb1 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x1c8e39a4 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x1ca1b1be radix_tree_delete +EXPORT_SYMBOL vmlinux 0x1caa3c91 md_register_thread +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cbd26b7 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x1ccb26d4 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x1ccc3feb md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x1cde0a51 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x1cfb1eb9 rproc_boot +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d144014 phy_attached_print +EXPORT_SYMBOL vmlinux 0x1d16fa91 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d40a121 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x1d41afcb remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x1d52d43c sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d669a8b __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x1d66b4e5 ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x1d6ad35c padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x1d744d38 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x1d828118 setup_new_exec +EXPORT_SYMBOL vmlinux 0x1d8edd01 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dcd1ec9 bdev_read_only +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1dec9611 of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x1dedc3a5 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1dfddab3 __bswapdi2 +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0fbd84 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x1e1229fc device_get_mac_address +EXPORT_SYMBOL vmlinux 0x1e1992cc __memset64 +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e2921f7 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x1e32aabf generic_permission +EXPORT_SYMBOL vmlinux 0x1e526c7a bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e769787 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x1e7b98ad mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x1e7f3685 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x1e867ad2 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x1e875885 add_wait_queue +EXPORT_SYMBOL vmlinux 0x1e8cfd13 user_path_create +EXPORT_SYMBOL vmlinux 0x1e8f87cc dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea003be __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x1ea36cd9 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x1eafd53a __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x1eb35499 free_buffer_head +EXPORT_SYMBOL vmlinux 0x1ebd92e8 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x1ec19f86 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x1ecc7b82 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1edfc40d pci_read_vpd +EXPORT_SYMBOL vmlinux 0x1ee55ba1 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x1ef0ca85 dma_free_attrs +EXPORT_SYMBOL vmlinux 0x1ef44c25 input_allocate_device +EXPORT_SYMBOL vmlinux 0x1efc8c1f skb_copy_bits +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f218ce9 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x1f40fffd tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x1f4e0c0a copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x1f538b15 input_register_handle +EXPORT_SYMBOL vmlinux 0x1f5c5cd1 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x1f893d38 tcf_em_register +EXPORT_SYMBOL vmlinux 0x1f925fbb dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x1fa07ea4 __napi_schedule +EXPORT_SYMBOL vmlinux 0x1fb57f7f neigh_update +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdd815d key_payload_reserve +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fee4b42 iptun_encaps +EXPORT_SYMBOL vmlinux 0x1feee096 mutex_lock +EXPORT_SYMBOL vmlinux 0x1ffb11b9 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2001480e read_cache_page +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x202c37ce logfc +EXPORT_SYMBOL vmlinux 0x204116b9 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x2041cb46 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204b0446 __scsi_execute +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204c955b __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x204ed5ad nonseekable_open +EXPORT_SYMBOL vmlinux 0x20668eb5 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x2070f822 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x20713a77 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x2072258f unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x2087c2d8 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x209fcb05 page_mapping +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c81fb9 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x20cb5a59 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x20d2d85b lock_rename +EXPORT_SYMBOL vmlinux 0x20d2d869 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20f3a067 __frontswap_load +EXPORT_SYMBOL vmlinux 0x20ffb958 pnv_cxl_get_irq_count +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x211fc062 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x212cae4d tcp_splice_read +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213aa72e mmc_detect_change +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21449a36 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x21537694 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x2173bc59 get_super +EXPORT_SYMBOL vmlinux 0x21818fdf mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x218c8458 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21afc84c devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x21b552ff nf_register_net_hooks +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 0x21bf05d6 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x21c6130e get_super_thawed +EXPORT_SYMBOL vmlinux 0x21c81bfb sock_no_listen +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x22087156 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x2222ef4d ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22319801 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x22347e2f sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x2248d6ce __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x224dd66c backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x224f0605 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x2250a39d pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x2270edb2 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2277330a scsi_print_sense +EXPORT_SYMBOL vmlinux 0x22908e91 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x229ac7c8 _dev_err +EXPORT_SYMBOL vmlinux 0x22a0f1c9 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b7e525 blk_rq_init +EXPORT_SYMBOL vmlinux 0x22bbed2b netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x22c00021 no_llseek +EXPORT_SYMBOL vmlinux 0x22c01b5a tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x22cd3642 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x22d34c31 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x22dd3bde __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x2300172c dquot_quota_on +EXPORT_SYMBOL vmlinux 0x23029de3 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x2303ca38 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x23246910 key_alloc +EXPORT_SYMBOL vmlinux 0x2328c0f6 param_ops_byte +EXPORT_SYMBOL vmlinux 0x23319c87 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x233ef9ea blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x234a583e ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x23619cff jiffies_64 +EXPORT_SYMBOL vmlinux 0x236aed9f jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x236be646 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x237bdc0c tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x2386882d unlock_page +EXPORT_SYMBOL vmlinux 0x2388c346 skb_dump +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23939de6 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x23a17412 agp_copy_info +EXPORT_SYMBOL vmlinux 0x23a3dc64 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x23b5b617 mempool_create +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23d4bb08 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x23d7b9f0 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e60eda fqdir_exit +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f6e796 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240e4d9c rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x241d4965 vme_dma_request +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24221f97 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x24231cf8 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x2427aee8 simple_lookup +EXPORT_SYMBOL vmlinux 0x2431c9a7 dev_open +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x24458838 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246d5107 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x246f64c7 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24a5b95e migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x24caa6d4 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24e81245 console_start +EXPORT_SYMBOL vmlinux 0x24e9dc37 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x25066a74 xp_free +EXPORT_SYMBOL vmlinux 0x251dda5d rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252867f6 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x2537bd9e vfs_getattr +EXPORT_SYMBOL vmlinux 0x253c9cc2 kobject_put +EXPORT_SYMBOL vmlinux 0x25455625 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x254c9287 ioremap +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x257b205b mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25834d84 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25932d1b __serio_register_port +EXPORT_SYMBOL vmlinux 0x25988607 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x25b1c2a4 set_create_files_as +EXPORT_SYMBOL vmlinux 0x25c420e1 param_get_bool +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e5ff67 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f731f6 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x261d5e52 __put_user_ns +EXPORT_SYMBOL vmlinux 0x26273268 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x2649b5d3 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x26647cb0 vio_get_attribute +EXPORT_SYMBOL vmlinux 0x2672a9a5 inet_add_offload +EXPORT_SYMBOL vmlinux 0x2683927d agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x2690da02 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x269ac484 phy_connect +EXPORT_SYMBOL vmlinux 0x26b1a76e d_obtain_root +EXPORT_SYMBOL vmlinux 0x26ca5e66 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x26d24cb8 vm_event_states +EXPORT_SYMBOL vmlinux 0x26d70a2a of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x26d95820 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26e4d540 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x26fd4e4f read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x2718a71e kill_fasync +EXPORT_SYMBOL vmlinux 0x2728c14c vm_map_pages +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 0x2750d597 tty_hangup +EXPORT_SYMBOL vmlinux 0x2758062f ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x2769f4ab dev_queue_xmit +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 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x27a740b0 phy_device_free +EXPORT_SYMBOL vmlinux 0x27b31eff keyring_search +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2f2b2 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x27c4c0f7 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x27c94b0b nd_device_unregister +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d72900 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x27d804b7 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x27de383c agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x27f57940 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x27f63cd0 pps_register_source +EXPORT_SYMBOL vmlinux 0x27f6bf29 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x27f74d51 clear_wb_congested +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x282144ea skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x28245f99 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x28303e90 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x283a7200 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x284970f4 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x2874f537 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2884c0c9 dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x288dcab9 scsi_host_put +EXPORT_SYMBOL vmlinux 0x289003cc pid_task +EXPORT_SYMBOL vmlinux 0x28a16034 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x28a3a19b __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x28b17805 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x28bc6ec2 generic_listxattr +EXPORT_SYMBOL vmlinux 0x28d889f0 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x28dcc723 make_kprojid +EXPORT_SYMBOL vmlinux 0x28e2c96f pci_match_id +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x29315f2d filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x295480d6 dma_set_mask +EXPORT_SYMBOL vmlinux 0x296fc1b3 get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x2971993d inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x2978d1d3 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x2979706c agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x29884817 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x299270e2 napi_disable +EXPORT_SYMBOL vmlinux 0x29a96a1a rtc_add_groups +EXPORT_SYMBOL vmlinux 0x29c0a3af security_inode_init_security +EXPORT_SYMBOL vmlinux 0x29c2ec88 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x29d6b2dc do_clone_file_range +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29fdf1c6 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x2a2ca29f rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3a680c __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x2a48c21b devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x2a560d5d tcp_mmap +EXPORT_SYMBOL vmlinux 0x2a6c8df2 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x2a7beb5b mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x2a863b5e mpage_readpage +EXPORT_SYMBOL vmlinux 0x2a873de4 phy_loopback +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2ab0eeca seq_path +EXPORT_SYMBOL vmlinux 0x2ad5bad0 vmemmap +EXPORT_SYMBOL vmlinux 0x2adda571 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x2ae54ef7 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x2ae967a0 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x2af0877f mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x2af60438 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x2b1aef2d dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x2b3fdfc0 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x2b463b30 file_update_time +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b81a099 pnv_cxl_release_hwirq_ranges +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bbc0c50 kill_pgrp +EXPORT_SYMBOL vmlinux 0x2bc35a8c scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x2bd8e3d2 inet_getname +EXPORT_SYMBOL vmlinux 0x2bdb736a fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x2bdfea1e __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x2bedc9fb pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x2bef63e8 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x2c0ded6a dev_addr_flush +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c368d1e scsi_dma_map +EXPORT_SYMBOL vmlinux 0x2c3c375d tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x2c474940 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x2c4b6144 phy_read_paged +EXPORT_SYMBOL vmlinux 0x2c5954ce dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x2c64e0a7 bio_copy_data +EXPORT_SYMBOL vmlinux 0x2c6d391d rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x2c7b1fca down_timeout +EXPORT_SYMBOL vmlinux 0x2c867ef5 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x2c87da2a xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x2ca266c8 vfs_unlink +EXPORT_SYMBOL vmlinux 0x2cb8bd9a fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x2cc875fd xmon +EXPORT_SYMBOL vmlinux 0x2cc99304 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2ce21c4d vfs_readlink +EXPORT_SYMBOL vmlinux 0x2cf14b15 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x2cf6d01a __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d101874 abort_creds +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 0x2d40e564 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x2d43d06d alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d573826 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x2d6498c0 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x2d72c5f2 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x2d865a59 genphy_suspend +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da8df25 dev_get_iflink +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2dc4e156 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x2dcdea36 chip_to_vas_id +EXPORT_SYMBOL vmlinux 0x2dce19f1 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x2ddeef7e mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x2deb1d44 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x2dec409f __break_lease +EXPORT_SYMBOL vmlinux 0x2e08dde4 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e33c4ad init_task +EXPORT_SYMBOL vmlinux 0x2e3ebb00 vme_irq_request +EXPORT_SYMBOL vmlinux 0x2e4d1b83 seq_file_path +EXPORT_SYMBOL vmlinux 0x2e590fae inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e61a44d tcf_block_put +EXPORT_SYMBOL vmlinux 0x2e7b83c5 param_set_ulong +EXPORT_SYMBOL vmlinux 0x2e8d91b1 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x2ea2b56b phy_device_remove +EXPORT_SYMBOL vmlinux 0x2ebcb26f phy_device_register +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ecff7f8 ppc_md +EXPORT_SYMBOL vmlinux 0x2ed6ec4c mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee42cb6 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2efa3dd6 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x2f000c44 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f055731 path_get +EXPORT_SYMBOL vmlinux 0x2f0b2a28 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x2f2c85fe t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f3f460a param_set_ushort +EXPORT_SYMBOL vmlinux 0x2f51720f skb_copy_header +EXPORT_SYMBOL vmlinux 0x2f5ec9c7 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f7fd190 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x2f8264bd gtm_get_timer16 +EXPORT_SYMBOL vmlinux 0x2f93874e md_done_sync +EXPORT_SYMBOL vmlinux 0x2fa8e499 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fc78fcc xa_erase +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe2999e d_delete +EXPORT_SYMBOL vmlinux 0x300f4dfc jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x30341ab0 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x305bf3d9 __block_write_begin +EXPORT_SYMBOL vmlinux 0x307959ee alloc_pages_vma +EXPORT_SYMBOL vmlinux 0x308b66e9 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x3095cf34 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30b0416b ab3100_event_register +EXPORT_SYMBOL vmlinux 0x30b82221 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x30b8b35c cpu_to_chip_id +EXPORT_SYMBOL vmlinux 0x30ba4e15 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x30d69ee6 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x30e13a52 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x30f5b486 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310339a1 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x3104709e add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x310dbc92 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x3120f7d8 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x31210b85 netif_napi_del +EXPORT_SYMBOL vmlinux 0x3125f273 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x31489771 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x315992df param_ops_bint +EXPORT_SYMBOL vmlinux 0x3176454a xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x317f818a param_set_int +EXPORT_SYMBOL vmlinux 0x31849261 vme_irq_free +EXPORT_SYMBOL vmlinux 0x319bd228 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x31d05ccd compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x31f73df9 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x32087b15 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x3212f8f9 dns_query +EXPORT_SYMBOL vmlinux 0x3217c3a3 __memset32 +EXPORT_SYMBOL vmlinux 0x3218211b sock_register +EXPORT_SYMBOL vmlinux 0x32265660 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323cadd9 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x3248bc2a mmc_put_card +EXPORT_SYMBOL vmlinux 0x325b5842 inet_offloads +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x329b26fb blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x329d16e7 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x32a972fd pipe_unlock +EXPORT_SYMBOL vmlinux 0x32b7d5b2 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x32bb70a1 bio_uninit +EXPORT_SYMBOL vmlinux 0x32bf5cf3 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x32cb09f0 ethtool_notify +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32daa443 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x32e0a716 of_get_address +EXPORT_SYMBOL vmlinux 0x32e29be1 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x3313f51c md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x331e6c17 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x33270f7f dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x33316503 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x33630ac0 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x337253eb filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33743b77 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x3375c92e mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x337a3330 seq_printf +EXPORT_SYMBOL vmlinux 0x3387160b pagecache_get_page +EXPORT_SYMBOL vmlinux 0x33b6274f pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33c09b9e tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x33c16783 check_disk_change +EXPORT_SYMBOL vmlinux 0x33df8dfe setattr_prepare +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x340abaf4 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x341772e8 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x34187f8b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x342290b1 rio_query_mport +EXPORT_SYMBOL vmlinux 0x34251a35 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x342bf728 seq_dentry +EXPORT_SYMBOL vmlinux 0x34599a14 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x345c8916 strict_msr_control +EXPORT_SYMBOL vmlinux 0x346c157e _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x34872500 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x34882f53 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34ae56a1 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x34bbf0d1 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x34cd0137 netdev_err +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f40d03 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x350a4593 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x35170f80 genl_register_family +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x35257e6c epapr_hypercall_start +EXPORT_SYMBOL vmlinux 0x35266d8f nf_log_packet +EXPORT_SYMBOL vmlinux 0x352bb201 xa_store +EXPORT_SYMBOL vmlinux 0x352fe514 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x3540a1c9 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x3546eb77 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x357093a9 phy_init_hw +EXPORT_SYMBOL vmlinux 0x3573584b blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x3573e0d0 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x357b1a87 xattr_full_name +EXPORT_SYMBOL vmlinux 0x3580836b dst_destroy +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35acbf72 mmc_retune_release +EXPORT_SYMBOL vmlinux 0x35b7a3e3 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x35bda25b of_get_property +EXPORT_SYMBOL vmlinux 0x35c23dca pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x35c32767 xor_altivec_2 +EXPORT_SYMBOL vmlinux 0x35d36970 tty_port_close +EXPORT_SYMBOL vmlinux 0x35ea15fe elv_rb_add +EXPORT_SYMBOL vmlinux 0x35ef8e5d tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x35fc22c4 msi_bitmap_free_hwirqs +EXPORT_SYMBOL vmlinux 0x3613be1a param_ops_int +EXPORT_SYMBOL vmlinux 0x362be438 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x362eb7c6 edac_mc_find +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x3635160d __register_nls +EXPORT_SYMBOL vmlinux 0x36567730 vio_unregister_device +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36790dac nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x3693520b max8925_reg_write +EXPORT_SYMBOL vmlinux 0x36937604 console_stop +EXPORT_SYMBOL vmlinux 0x369c0599 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x36c262b3 param_set_charp +EXPORT_SYMBOL vmlinux 0x36c7d2fe dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x36d6e807 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x36d7911c ppp_dev_name +EXPORT_SYMBOL vmlinux 0x36d9e4ad tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x36eaafe2 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x370a1307 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x371db583 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x37253ce0 follow_pfn +EXPORT_SYMBOL vmlinux 0x37349f87 is_nd_btt +EXPORT_SYMBOL vmlinux 0x37356829 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37519524 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x37522035 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x376b6670 scsi_print_command +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x37747c1a lru_cache_add +EXPORT_SYMBOL vmlinux 0x3791e813 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37b9b8e1 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d37980 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x37e1e15b uart_register_driver +EXPORT_SYMBOL vmlinux 0x38026cb6 complete +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38201c03 ether_setup +EXPORT_SYMBOL vmlinux 0x382d0fe9 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x38332214 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x3846692a dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x3850e12a clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x3852fd1c tcf_block_get +EXPORT_SYMBOL vmlinux 0x385e93b5 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x387c1d9d scm_fp_dup +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x38889cd6 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389bae70 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38b2ef23 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x38b7f0e3 request_firmware +EXPORT_SYMBOL vmlinux 0x38bf58c4 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x38bfbdae submit_bh +EXPORT_SYMBOL vmlinux 0x38c58bc6 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x38e2c594 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x38f85f74 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x390be2be inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x39109272 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x39155607 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x3917ff08 pci_disable_device +EXPORT_SYMBOL vmlinux 0x39280b99 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x3930111e dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x393665bc mark_info_dirty +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39432895 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x39561c31 ip_defrag +EXPORT_SYMBOL vmlinux 0x396fa9ff flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399e999d padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x39b2739f vfs_create +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39bb9b9c cfb_copyarea +EXPORT_SYMBOL vmlinux 0x39c1d9e1 vm_map_ram +EXPORT_SYMBOL vmlinux 0x39e632e4 address_space_init_once +EXPORT_SYMBOL vmlinux 0x39f231c6 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x39f92210 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x39f9e18c dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a18369c netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x3a2459c3 put_cmsg +EXPORT_SYMBOL vmlinux 0x3a2566d3 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a5a8ef5 sock_no_linger +EXPORT_SYMBOL vmlinux 0x3a65af6a tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x3a7bc19e posix_acl_valid +EXPORT_SYMBOL vmlinux 0x3a875620 __xa_store +EXPORT_SYMBOL vmlinux 0x3a929e5b param_get_charp +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3aca4744 register_console +EXPORT_SYMBOL vmlinux 0x3aec262c tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x3aeefd38 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x3af4f32f datagram_poll +EXPORT_SYMBOL vmlinux 0x3af50562 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x3b1a27ef _copy_to_iter +EXPORT_SYMBOL vmlinux 0x3b308fb6 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b3bf1ef kernel_getpeername +EXPORT_SYMBOL vmlinux 0x3b3f835c bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x3b411bbc nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x3b423fcb simple_readpage +EXPORT_SYMBOL vmlinux 0x3b48af1b pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x3b52ff58 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x3b634f18 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b64f3f7 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x3b6600fd file_modified +EXPORT_SYMBOL vmlinux 0x3b68a966 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x3b6f656a inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x3b7259ed genphy_resume +EXPORT_SYMBOL vmlinux 0x3b76268a get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x3b7697a1 backlight_device_register +EXPORT_SYMBOL vmlinux 0x3b80a473 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x3b95b99f task_work_add +EXPORT_SYMBOL vmlinux 0x3b970873 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x3ba01ffa skb_unlink +EXPORT_SYMBOL vmlinux 0x3ba2d558 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x3bb5960f netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x3bbed9a5 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x3bc985a5 ip6_xmit +EXPORT_SYMBOL vmlinux 0x3be2d456 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bec5a64 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x3bfb09fa gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x3c06442c key_link +EXPORT_SYMBOL vmlinux 0x3c16f039 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c1a58ff blkdev_get +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c457453 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0x3c6f1bf5 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x3c7129e8 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c881709 udp_prot +EXPORT_SYMBOL vmlinux 0x3c952a72 netif_rx +EXPORT_SYMBOL vmlinux 0x3ca865a9 vga_con +EXPORT_SYMBOL vmlinux 0x3cb37157 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0x3cb74497 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x3cdfb122 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cef2c1c kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x3d01ebef locks_delete_block +EXPORT_SYMBOL vmlinux 0x3d25c706 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x3d2a4e6b mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x3d544c5a neigh_direct_output +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d619319 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x3d663eeb twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x3d6c2134 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x3d9d017a giveup_altivec +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3dc2c571 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x3dc72ebe vfs_rename +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcc3ae2 param_set_bint +EXPORT_SYMBOL vmlinux 0x3df17147 __lock_page +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0c9937 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e35e2e8 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x3e4069f6 vga_tryget +EXPORT_SYMBOL vmlinux 0x3e6ed929 netdev_change_features +EXPORT_SYMBOL vmlinux 0x3e866331 param_get_invbool +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9bf6b2 find_lock_entry +EXPORT_SYMBOL vmlinux 0x3ea51688 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x3eb0544f tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x3eb988b3 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x3ecdad19 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x3efc7279 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f0d2364 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f255b3e i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x3f2ab3b1 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x3f377cc0 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f40d044 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f57315b netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x3f5d9eff file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x3f68ab89 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x3f6cf459 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x3f741652 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x3f7d378c down_write_killable +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3fb51ae1 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x3fb5d1d6 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fc90b18 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fd7f078 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x4020d45b ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x402b34f3 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x4046cda6 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x40555834 _dev_info +EXPORT_SYMBOL vmlinux 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL vmlinux 0x4082f065 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409adc26 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x409cbabd touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40aa9196 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x40ad4f2b noop_qdisc +EXPORT_SYMBOL vmlinux 0x40b1ab49 pnv_pci_get_npu_dev +EXPORT_SYMBOL vmlinux 0x40c1bdbe mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40f8c9eb make_kgid +EXPORT_SYMBOL vmlinux 0x412ebbe8 vga_client_register +EXPORT_SYMBOL vmlinux 0x413b142c unregister_quota_format +EXPORT_SYMBOL vmlinux 0x413c854c qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x413de712 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41484023 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x4158ba66 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x4159030d of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x415ac212 dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x415eb213 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x417aff1c dev_remove_pack +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418a473a fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x4191a16e pps_event +EXPORT_SYMBOL vmlinux 0x41a004fa dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x41a7e267 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x41a83482 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x41acbcc3 flush_all_to_thread +EXPORT_SYMBOL vmlinux 0x41ae718a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x41dd44bb prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x41e24451 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x41e5494c rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x4282f84d tcp_prot +EXPORT_SYMBOL vmlinux 0x4299a194 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x42a432d7 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x42e4d64c skb_tx_error +EXPORT_SYMBOL vmlinux 0x42ee8cec seq_vprintf +EXPORT_SYMBOL vmlinux 0x42f030bd dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42fd3c6f __mdiobus_write +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x437f4d53 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x438965d1 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x439b0cad d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43c82edf wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x43e9eb8b udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x440200d7 end_page_writeback +EXPORT_SYMBOL vmlinux 0x44345847 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x443578ec scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x44363478 d_move +EXPORT_SYMBOL vmlinux 0x443ad03e flush_dcache_page +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x445f2519 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4488bc8a prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x44924b58 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x44a44c41 km_state_notify +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44aed013 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x44c08a61 from_kgid +EXPORT_SYMBOL vmlinux 0x44c5d7a3 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x44d53c8f __put_page +EXPORT_SYMBOL vmlinux 0x44de6cd3 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x44e03d3a gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x44e8dc2a blkdev_fsync +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ed8665 brioctl_set +EXPORT_SYMBOL vmlinux 0x44feb517 param_get_short +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 0x451250db init_special_inode +EXPORT_SYMBOL vmlinux 0x4516968d jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x452287df gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453a6d2e unlock_new_inode +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4543531b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x454e7d8b io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x456b4af0 netdev_printk +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457d1178 pci_enable_device +EXPORT_SYMBOL vmlinux 0x4581259c dev_mc_del +EXPORT_SYMBOL vmlinux 0x45b49dc8 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x45bf5761 override_creds +EXPORT_SYMBOL vmlinux 0x45d1f7b1 set_disk_ro +EXPORT_SYMBOL vmlinux 0x45da1952 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x45fbe93d cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x46001d34 percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x460d74bd free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x4612c59d down_trylock +EXPORT_SYMBOL vmlinux 0x461993d2 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x461a44d2 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x46294845 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x464db8a6 machine_id +EXPORT_SYMBOL vmlinux 0x4654f1f7 neigh_xmit +EXPORT_SYMBOL vmlinux 0x46564f32 cont_write_begin +EXPORT_SYMBOL vmlinux 0x465650db of_dev_get +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466d7ef0 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x4674ec42 __pgd_val_bits +EXPORT_SYMBOL vmlinux 0x467a9277 ip_frag_init +EXPORT_SYMBOL vmlinux 0x467b161e kill_pid +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x4680af67 pci_dev_get +EXPORT_SYMBOL vmlinux 0x4694ce00 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x46972554 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x469a7280 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x46a5bd12 elv_rb_find +EXPORT_SYMBOL vmlinux 0x46b0ed6a pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x46bc338c devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46c5f7ab netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x46d2409c blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x46ea8bd4 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x46f9f2b5 xa_find_after +EXPORT_SYMBOL vmlinux 0x46fcc794 serio_bus +EXPORT_SYMBOL vmlinux 0x4702f6fd generic_make_request +EXPORT_SYMBOL vmlinux 0x4751238e tty_unregister_device +EXPORT_SYMBOL vmlinux 0x475f2763 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47c48af3 store_fp_state +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47f980b1 dev_printk +EXPORT_SYMBOL vmlinux 0x4810804e inet_frag_find +EXPORT_SYMBOL vmlinux 0x4823babb blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x482e0a99 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x483847a9 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4845edbb passthru_features_check +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 0x48672b9a from_kgid_munged +EXPORT_SYMBOL vmlinux 0x486c17db __xa_erase +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x48736308 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x488b891d tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x488d5a85 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48c66a76 d_find_alias +EXPORT_SYMBOL vmlinux 0x48dd2667 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x48e409dd mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x48e89254 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x48fe989c max8998_write_reg +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4910ae0d pci_irq_vector +EXPORT_SYMBOL vmlinux 0x491c3d83 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x4928d2d9 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x492ab731 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x49383f40 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x495b22b3 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x495e58be sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x496cc21a phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x499bfc6d __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49ccf536 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x49df07a1 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x49e3b51c t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x49f3178f km_policy_expired +EXPORT_SYMBOL vmlinux 0x4a028d99 d_make_root +EXPORT_SYMBOL vmlinux 0x4a06d649 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x4a0c129e fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x4a0cf02f netlink_unicast +EXPORT_SYMBOL vmlinux 0x4a0d54ed ata_dev_printk +EXPORT_SYMBOL vmlinux 0x4a1228cd d_splice_alias +EXPORT_SYMBOL vmlinux 0x4a180f3a fb_set_suspend +EXPORT_SYMBOL vmlinux 0x4a18e824 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x4a282c5a nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0x4a28ac3d bdget_disk +EXPORT_SYMBOL vmlinux 0x4a2f1c5a nf_log_unregister +EXPORT_SYMBOL vmlinux 0x4a39a426 ip_options_compile +EXPORT_SYMBOL vmlinux 0x4a422479 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a55c8ea ioremap_wc +EXPORT_SYMBOL vmlinux 0x4a57acb7 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa9d5bb buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x4ab1230f unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x4ac306db mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x4ad2a57a opal_event_request +EXPORT_SYMBOL vmlinux 0x4adf4deb can_nice +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af73780 security_sk_clone +EXPORT_SYMBOL vmlinux 0x4afe9a7d eth_header_parse +EXPORT_SYMBOL vmlinux 0x4b067845 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b19dd52 dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x4b2c0682 param_ops_string +EXPORT_SYMBOL vmlinux 0x4b4af1cd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b817b40 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x4b98f755 sk_wait_data +EXPORT_SYMBOL vmlinux 0x4ba3c0d3 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4bbe70ee nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x4bc8b924 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x4bcbf90f capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x4bd81ada md_write_end +EXPORT_SYMBOL vmlinux 0x4bda6fe5 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x4be9502a pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bff6b47 pnv_cxl_alloc_hwirq_ranges +EXPORT_SYMBOL vmlinux 0x4c03f7c1 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x4c11435a _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x4c197487 open_exec +EXPORT_SYMBOL vmlinux 0x4c23f19b of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c460ddd srp_timed_out +EXPORT_SYMBOL vmlinux 0x4c6f70c0 path_has_submounts +EXPORT_SYMBOL vmlinux 0x4c86b179 to_nd_btt +EXPORT_SYMBOL vmlinux 0x4c8dec67 kern_path +EXPORT_SYMBOL vmlinux 0x4c9ca944 cpumask_next +EXPORT_SYMBOL vmlinux 0x4ca088ba mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x4cb7b9fd deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc35cde ip_ct_attach +EXPORT_SYMBOL vmlinux 0x4cc6534b cpu_l2_cache_map +EXPORT_SYMBOL vmlinux 0x4cf168fb pnv_cxl_alloc_hwirqs +EXPORT_SYMBOL vmlinux 0x4cf24e11 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x4d07b477 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x4d156343 blk_get_request +EXPORT_SYMBOL vmlinux 0x4d205cef phy_get_pause +EXPORT_SYMBOL vmlinux 0x4d30080f tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x4d422ff4 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6ae35f rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x4d6ca356 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x4d7aa09f generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x4d875890 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x4d8afffc ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x4d8eafdd neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9602da ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da21688 sock_i_ino +EXPORT_SYMBOL vmlinux 0x4dab87c5 pci_find_bus +EXPORT_SYMBOL vmlinux 0x4db6f068 dev_addr_del +EXPORT_SYMBOL vmlinux 0x4dc02b72 vme_lm_request +EXPORT_SYMBOL vmlinux 0x4dd8ab5f xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x4dddd10d sock_bind_add +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df4ce0a input_reset_device +EXPORT_SYMBOL vmlinux 0x4e009f72 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x4e11c879 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x4e22ea18 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e52c68d scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5b34ba of_device_register +EXPORT_SYMBOL vmlinux 0x4e623bfa xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x4e624a97 eth_header_cache +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e90d0af tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x4ea9823a register_shrinker +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb7ae3d hvc_get_chars +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ecb8091 tty_port_put +EXPORT_SYMBOL vmlinux 0x4ed9619d serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x4ee0365c devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x4ee24b89 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4efabf22 register_key_type +EXPORT_SYMBOL vmlinux 0x4f003265 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0x4f148b18 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20b002 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f241295 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x4f41b339 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f7e58dc locks_free_lock +EXPORT_SYMBOL vmlinux 0x4f7e80ed take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x4fa65563 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x4fc316df bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x4fc7fa71 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x4fd03ab8 blk_put_queue +EXPORT_SYMBOL vmlinux 0x4fd918ad nd_integrity_init +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500f9f6b __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x5014799f vm_insert_page +EXPORT_SYMBOL vmlinux 0x502df445 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x50569da9 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506adf7d fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5079c9d7 __pte_index_size +EXPORT_SYMBOL vmlinux 0x5081dc96 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x50936a61 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x509c2479 path_nosuid +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b976fe thaw_super +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c5f326 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x50cdaea5 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x50d5443d page_readlink +EXPORT_SYMBOL vmlinux 0x50e554c4 set_nlink +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x51116289 sget +EXPORT_SYMBOL vmlinux 0x511a2822 set_binfmt +EXPORT_SYMBOL vmlinux 0x511cb046 devm_memunmap +EXPORT_SYMBOL vmlinux 0x5144ed55 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x51635c27 of_get_parent +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5164f07b get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x5169bcfc jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x5177f92e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x517d176a simple_transaction_set +EXPORT_SYMBOL vmlinux 0x5193c2ca pci_disable_msi +EXPORT_SYMBOL vmlinux 0x519849f9 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x51abbb13 tso_build_data +EXPORT_SYMBOL vmlinux 0x51b1f416 simple_open +EXPORT_SYMBOL vmlinux 0x51b4f23e skb_copy_expand +EXPORT_SYMBOL vmlinux 0x51bb6d04 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x520653ff mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x521d726b scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x52293ca7 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x522d2e4b pci_request_irq +EXPORT_SYMBOL vmlinux 0x52657625 inet_select_addr +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5289261c i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x529e23b6 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x52a7b038 rproc_alloc +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x5308e350 __vmalloc_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531d0bc3 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x5329b8aa vme_master_request +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x5333b61c mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x5338b905 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x5346dcd8 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x53624d68 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x536c5309 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x5375d207 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x5377d4be of_find_backlight +EXPORT_SYMBOL vmlinux 0x538e3a74 netdev_crit +EXPORT_SYMBOL vmlinux 0x5399c26a seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x53b2417d qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x53c02143 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x53c8eb36 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x53e0f5ad fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x540b7ae0 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x543798c8 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5442bebd security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x54434a33 dev_close +EXPORT_SYMBOL vmlinux 0x5465ad2f skb_copy +EXPORT_SYMBOL vmlinux 0x5466ce22 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x547b4c17 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x54886744 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x549c4586 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x54a0ed34 init_on_alloc +EXPORT_SYMBOL vmlinux 0x54a37f11 __bforget +EXPORT_SYMBOL vmlinux 0x54a52176 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54b45a2b kernel_accept +EXPORT_SYMBOL vmlinux 0x54bf6db4 skb_find_text +EXPORT_SYMBOL vmlinux 0x54d62fe4 devm_memremap +EXPORT_SYMBOL vmlinux 0x54e3d5fd __pmd_frag_nr +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54edf200 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x550d7c8b vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x551670d3 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x5534d06f tcp_conn_request +EXPORT_SYMBOL vmlinux 0x553853f0 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x553effb4 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x5542555f noop_fsync +EXPORT_SYMBOL vmlinux 0x554abbdc key_reject_and_link +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554c9ab1 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x55686530 __arch_clear_user +EXPORT_SYMBOL vmlinux 0x5569f1d3 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x556d9c4f devm_ioremap +EXPORT_SYMBOL vmlinux 0x55796b02 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x5580736d try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55943b22 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x55ad53ea input_unregister_handle +EXPORT_SYMBOL vmlinux 0x55b6fdd3 proc_mkdir +EXPORT_SYMBOL vmlinux 0x55c6de7f proc_create_data +EXPORT_SYMBOL vmlinux 0x55d5485b compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e4a24f tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x55e5ee64 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x55ecd69e t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x55f5c01c flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x55f70dca vfs_ioctl +EXPORT_SYMBOL vmlinux 0x55fa8b75 get_cached_acl +EXPORT_SYMBOL vmlinux 0x561a781c jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x562e9776 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564641cf input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x56585012 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x565a4bb9 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x5673e0ac kernel_sendpage +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56818db7 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x56a14a93 migrate_page +EXPORT_SYMBOL vmlinux 0x56a73814 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x56aa7c6f iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x56ac2a7c _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56f5da9e eth_gro_receive +EXPORT_SYMBOL vmlinux 0x56f6c7de lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x5702d722 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x5708fe06 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x571cba7b netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x572ae748 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57518f3a is_bad_inode +EXPORT_SYMBOL vmlinux 0x5754a545 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x576a7220 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x576e11a5 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x5784bbfd netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57c02141 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x57dbfa0c napi_get_frags +EXPORT_SYMBOL vmlinux 0x57eec13a config_item_set_name +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f52c8 set_wb_congested +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x582c3218 input_flush_device +EXPORT_SYMBOL vmlinux 0x582d2ac8 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58425ad7 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x58435ab2 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x58508376 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5875bca5 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587c029f from_kuid +EXPORT_SYMBOL vmlinux 0x5881c6a3 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x58951856 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x58a2356d of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x58a626eb vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x58a7af88 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58cc51be dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x58d61750 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x58e1de0d padata_free +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e548f1 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0x58f3dc7e mr_table_alloc +EXPORT_SYMBOL vmlinux 0x58f967f4 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x59035998 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x5908b30d dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x590bc351 dcb_setapp +EXPORT_SYMBOL vmlinux 0x593a93c2 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x5941a23e drop_nlink +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594c801e of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x595acf0c freeze_bdev +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x59745d6e of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x5976ac26 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x5988f4f3 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x59894fa7 down_write_trylock +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59af7122 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x59b3f0ce mutex_trylock +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59bb1ff2 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x59cecd5c xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x59dd2b2b input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x59e50bf7 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x59eb5dd6 of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x5a025f7b arch_local_irq_restore +EXPORT_SYMBOL vmlinux 0x5a026ce0 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x5a032030 gtm_put_timer16 +EXPORT_SYMBOL vmlinux 0x5a03ab56 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x5a088923 up_write +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a123664 vio_cmo_set_dev_desired +EXPORT_SYMBOL vmlinux 0x5a21ee83 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x5a2444ee elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x5a2ecd4d netlink_capable +EXPORT_SYMBOL vmlinux 0x5a326deb bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x5a382433 param_set_byte +EXPORT_SYMBOL vmlinux 0x5a40fec8 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a63ac51 udp_gro_receive +EXPORT_SYMBOL vmlinux 0x5a65fb0a kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x5a6fdd2b sock_rfree +EXPORT_SYMBOL vmlinux 0x5a79fb8d km_report +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9503b1 compat_import_iovec +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aad5f6a xfrm_input +EXPORT_SYMBOL vmlinux 0x5ab898a1 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x5abbad83 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x5af0597c mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5b1d6cf9 skb_queue_head +EXPORT_SYMBOL vmlinux 0x5b2f136c nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b470021 mount_bdev +EXPORT_SYMBOL vmlinux 0x5b4be68d seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b5becf8 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x5b708cf9 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x5b73052a skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x5b760467 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x5b8520bb napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bf429a1 simple_getattr +EXPORT_SYMBOL vmlinux 0x5bf7e8c4 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x5bf8bd7a blk_queue_split +EXPORT_SYMBOL vmlinux 0x5bfce7f9 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c19a42d bprm_change_interp +EXPORT_SYMBOL vmlinux 0x5c23c391 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x5c37f319 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c4e7482 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x5c85606e __getblk_gfp +EXPORT_SYMBOL vmlinux 0x5c8bce1f security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x5c9ee892 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x5cb2f4df ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x5cb8c08c napi_consume_skb +EXPORT_SYMBOL vmlinux 0x5ccb22b5 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x5ccf74a8 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d0c7307 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x5d250732 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x5d27d802 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x5d336259 file_ns_capable +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d5c8d67 nf_log_register +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d8571ec blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x5da6c9c6 get_disk_and_module +EXPORT_SYMBOL vmlinux 0x5da83631 irq_set_chip +EXPORT_SYMBOL vmlinux 0x5db00d75 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x5db62cb4 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x5ddf0bb2 page_get_link +EXPORT_SYMBOL vmlinux 0x5de6382e sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x5defaf07 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x5df49be6 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1cb16a put_watch_queue +EXPORT_SYMBOL vmlinux 0x5e2a4390 ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e399440 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x5e3d7321 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x5e4d78ac arp_tbl +EXPORT_SYMBOL vmlinux 0x5e62c40f dev_get_by_name +EXPORT_SYMBOL vmlinux 0x5e72a7f8 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x5e741e51 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x5e880def blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x5e9061b2 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea07b22 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x5eb0f365 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebbf105 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5edaf372 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x5eddb914 lockref_put_return +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ef01786 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f35de01 try_to_release_page +EXPORT_SYMBOL vmlinux 0x5f502380 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x5f5acdd4 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x5f5cd508 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x5f615581 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f920023 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x5f936a77 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x5fa59379 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x5fb516f8 xa_find +EXPORT_SYMBOL vmlinux 0x5fbe0d1a compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x5fc16bf3 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fcaebe7 __breadahead +EXPORT_SYMBOL vmlinux 0x5fe34cee netdev_update_features +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600b4601 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x6010af3b scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x601608da __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x6016531a gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601b6358 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6034d09d kvmppc_hv_find_lock_hpte +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x603f2d90 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x60626a96 kset_register +EXPORT_SYMBOL vmlinux 0x60823ab0 filp_open +EXPORT_SYMBOL vmlinux 0x608b4fce bdi_alloc +EXPORT_SYMBOL vmlinux 0x608c44db rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609c8c96 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a4d142 dev_uc_del +EXPORT_SYMBOL vmlinux 0x60bee641 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x60bf4109 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x60c99d17 neigh_lookup +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60e0c151 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x6121bd54 dql_init +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612e9a12 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x6131e6a5 pci_release_regions +EXPORT_SYMBOL vmlinux 0x6135017b scsi_remove_device +EXPORT_SYMBOL vmlinux 0x613c33da mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x6160b320 complete_and_exit +EXPORT_SYMBOL vmlinux 0x616ae475 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x616da1bb call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x61742887 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x61763266 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x6177e273 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x6185a4d2 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619c7cb5 security_path_mknod +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a5d4bc ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x61ad5f6e config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61eba21d unpin_user_page +EXPORT_SYMBOL vmlinux 0x61ee2b7d thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x61fd9cee __scsi_add_device +EXPORT_SYMBOL vmlinux 0x620cc63b __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x621f48bf blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6233372a generic_delete_inode +EXPORT_SYMBOL vmlinux 0x6245f997 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x6262ec2c __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627537cf bio_split +EXPORT_SYMBOL vmlinux 0x6275c903 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x627b26a2 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x627dd46c __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x627e3e1c balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x6280f5d8 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62915492 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x62a1c1d5 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x62a25854 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x62b28974 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x62bad830 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x62bf3fb2 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62c0789f vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x62ce81be inet_put_port +EXPORT_SYMBOL vmlinux 0x6302da4d generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x6343790f qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x634e596d page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x636bf57d is_subdir +EXPORT_SYMBOL vmlinux 0x638ccc66 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x638da09c km_query +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b20d4b scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x63b5405f mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x63bffd8e neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x63c36604 blk_put_request +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c824b3 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x63d0c4a2 textsearch_register +EXPORT_SYMBOL vmlinux 0x63e6365a ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x63e969e1 keyring_clear +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64061a98 migrate_page_copy +EXPORT_SYMBOL vmlinux 0x640ee666 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x64133538 ata_link_printk +EXPORT_SYMBOL vmlinux 0x641befa7 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x64347610 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x647f2b7f get_task_exe_file +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64831cb8 xa_extract +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64acdefa pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x64b1c7f4 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64ccc035 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x64d23467 refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x64e178a2 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x64eca1c6 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x6539275c giveup_all +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x655692ff radix__flush_all_mm +EXPORT_SYMBOL vmlinux 0x655b4a64 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x656be1ce d_add_ci +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657b9994 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x657f8624 pnv_phb_to_cxl_mode +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x65900fc7 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65bb58a2 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x65bd2896 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x65c446b9 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0x65d59741 block_commit_write +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65da7682 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65f149a9 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x6603cf0c sk_common_release +EXPORT_SYMBOL vmlinux 0x6608e428 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x6614ec0b to_ndd +EXPORT_SYMBOL vmlinux 0x66475c34 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x66542807 tty_register_device +EXPORT_SYMBOL vmlinux 0x6656d8d3 bio_put +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x666c0528 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x667ce8f5 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x6691c86f seq_read_iter +EXPORT_SYMBOL vmlinux 0x669f38b9 pin_user_pages +EXPORT_SYMBOL vmlinux 0x669f7356 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x66a75d29 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66c915e8 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66da05bb vc_resize +EXPORT_SYMBOL vmlinux 0x66db4e0a input_unregister_handler +EXPORT_SYMBOL vmlinux 0x6713c857 send_sig +EXPORT_SYMBOL vmlinux 0x671a7a16 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x671f0d0b pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x671f19d2 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x6721d089 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6744c453 netif_napi_add +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x67503235 phy_driver_register +EXPORT_SYMBOL vmlinux 0x6750a7ce serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x677c2d19 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x6785ab89 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x6798d67b csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x679d5383 tcp_connect +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67f3cada register_qdisc +EXPORT_SYMBOL vmlinux 0x67f3d52d prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x67f468e7 bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0x67fc472c gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x68011f0a inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x681f61c6 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x683d229b param_ops_short +EXPORT_SYMBOL vmlinux 0x6843594d ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x684bf856 padata_free_shell +EXPORT_SYMBOL vmlinux 0x684d1669 nvm_end_io +EXPORT_SYMBOL vmlinux 0x685687b0 idr_replace +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x685f984b twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x686818bb down_read +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688bb14c security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x689eff6e fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68c3f4fa scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x6909440b __pgd_table_size +EXPORT_SYMBOL vmlinux 0x690bc3e4 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x6925e54e ip6_frag_next +EXPORT_SYMBOL vmlinux 0x69291758 vlan_for_each +EXPORT_SYMBOL vmlinux 0x693a0070 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x693e8a99 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x694bcb0a sock_setsockopt +EXPORT_SYMBOL vmlinux 0x6950d38e phy_stop +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971270f register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x698df264 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x698ff5c1 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x69967c26 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69c940c7 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x69cb560d eth_header +EXPORT_SYMBOL vmlinux 0x69d5bfd1 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x69d8a649 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69dfe908 page_pool_create +EXPORT_SYMBOL vmlinux 0x69e22533 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x69e55fd0 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x69ec1eeb file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a09483a ns_capable_setid +EXPORT_SYMBOL vmlinux 0x6a1653dc fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x6a22db91 register_quota_format +EXPORT_SYMBOL vmlinux 0x6a3444d2 register_gifconf +EXPORT_SYMBOL vmlinux 0x6a34523b finish_open +EXPORT_SYMBOL vmlinux 0x6a3f4ef7 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x6a42ca34 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6387af scm_detach_fds +EXPORT_SYMBOL vmlinux 0x6a649798 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x6a766b50 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa83062 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ade6454 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x6ae3567b scsi_compat_ioctl +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b0246d8 da903x_query_status +EXPORT_SYMBOL vmlinux 0x6b0a75bd netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x6b2bcb6d pci_resize_resource +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3e55ff inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x6b489e10 tty_unlock +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b62a7d1 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b85a6e1 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6bc3c451 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdd29de backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x6bdf9c97 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x6be69359 fiemap_prep +EXPORT_SYMBOL vmlinux 0x6bf7c42c xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x6bfb0045 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x6c1bf231 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x6c48aa8f of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x6c4f6f36 wireless_send_event +EXPORT_SYMBOL vmlinux 0x6c53a12b phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c76b396 udp_seq_next +EXPORT_SYMBOL vmlinux 0x6c8a5cdf ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x6c9d5f75 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x6cad3ebd generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cce71d4 config_group_find_item +EXPORT_SYMBOL vmlinux 0x6cd0ce1f input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x6cdf2bb3 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x6ceec2c4 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6d05efbf kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x6d14c924 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2e4771 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x6d3a73d8 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x6d462432 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d8a2054 skb_append +EXPORT_SYMBOL vmlinux 0x6d9c2225 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x6dbedab3 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x6dbf9088 get_tree_single +EXPORT_SYMBOL vmlinux 0x6dc95514 tso_count_descs +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd334f1 vio_h_cop_sync +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e004bed of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x6e2239e5 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e3c55ed devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x6e3d5b2e migrate_page_states +EXPORT_SYMBOL vmlinux 0x6e3e7e35 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x6e4974ae kill_litter_super +EXPORT_SYMBOL vmlinux 0x6e4e1355 file_path +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e6d1efe blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e99bda0 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x6e9a448d __pte_frag_nr +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eaba43d devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x6eafd2b5 cdev_device_add +EXPORT_SYMBOL vmlinux 0x6eb0bc6d xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x6eb4acd9 mmc_release_host +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6eddb2b2 alloc_pages_current +EXPORT_SYMBOL vmlinux 0x6ee63f54 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x6eec97f2 registered_fb +EXPORT_SYMBOL vmlinux 0x6efbd098 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x6f018e8f kfree_skb_list +EXPORT_SYMBOL vmlinux 0x6f08b1c6 mempool_exit +EXPORT_SYMBOL vmlinux 0x6f0e206f vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x6f1283ee idr_for_each +EXPORT_SYMBOL vmlinux 0x6f163639 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x6f46cefc devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x6f7bb080 netif_device_attach +EXPORT_SYMBOL vmlinux 0x6f8e4305 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6fb28b50 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fcb1db8 netdev_alert +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd4e906 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x6fd9541e scsi_host_busy +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fef7a5b ns_capable +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70057092 vfs_link +EXPORT_SYMBOL vmlinux 0x70107765 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x701749bd simple_release_fs +EXPORT_SYMBOL vmlinux 0x701c0fc7 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x70219d46 misc_deregister +EXPORT_SYMBOL vmlinux 0x70234383 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x7034ebb9 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x703883f2 dev_set_alias +EXPORT_SYMBOL vmlinux 0x703fe030 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x704115b3 qe_usb_clock_set +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70587196 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x705a6ec7 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x706e27b7 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x70714a5e skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x70719033 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x70765258 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x708492b9 bio_init +EXPORT_SYMBOL vmlinux 0x70856c64 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x7093f099 redraw_screen +EXPORT_SYMBOL vmlinux 0x709d9208 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x70aff657 simple_write_begin +EXPORT_SYMBOL vmlinux 0x70c67854 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x70c6bc30 touch_atime +EXPORT_SYMBOL vmlinux 0x70de70d2 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x70ea43d0 dqput +EXPORT_SYMBOL vmlinux 0x70eff7dc of_root +EXPORT_SYMBOL vmlinux 0x7108c882 clear_nlink +EXPORT_SYMBOL vmlinux 0x710929e9 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x711c3a67 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x7127de72 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7131bf58 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x71380ac8 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x71449f4d generic_file_mmap +EXPORT_SYMBOL vmlinux 0x7152d4e9 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x718bb9d8 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x719125ed filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7195618b ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x7199f832 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x71a4cbb3 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ae4ed1 of_match_node +EXPORT_SYMBOL vmlinux 0x71afd23b tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x71dcb790 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x71e5aea2 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x71f70417 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x7215602f inet_sendpage +EXPORT_SYMBOL vmlinux 0x722835cc sock_init_data +EXPORT_SYMBOL vmlinux 0x723801b8 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x7239957e sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x7248a106 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x724a0dc0 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x724f3ec8 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x72608c0e do_uaccess_flush +EXPORT_SYMBOL vmlinux 0x728702d1 pci_get_class +EXPORT_SYMBOL vmlinux 0x729bb232 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x72a56729 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x72aa0ed3 dst_discard_out +EXPORT_SYMBOL vmlinux 0x72aa1790 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72ba5a25 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x72c98139 __arch_hweight64 +EXPORT_SYMBOL vmlinux 0x72ca1059 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d634ab freezing_slow_path +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x73190c56 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x731a747a pci_io_base +EXPORT_SYMBOL vmlinux 0x732a8daa tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x733394d6 phy_init_eee +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738eb926 soft_cursor +EXPORT_SYMBOL vmlinux 0x739254b7 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x739620a9 dquot_initialize +EXPORT_SYMBOL vmlinux 0x73978834 validate_sp +EXPORT_SYMBOL vmlinux 0x739c9bff pci_dev_put +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73adcd7c framebuffer_release +EXPORT_SYMBOL vmlinux 0x73e7c161 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x73fa1044 begin_new_exec +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x742b4308 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x74326022 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x7439fd86 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x74491f57 clk_get +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7458d9b4 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x749c8312 get_task_cred +EXPORT_SYMBOL vmlinux 0x74a88d62 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x74a944a0 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x74b03036 generic_file_open +EXPORT_SYMBOL vmlinux 0x74b135b6 vfs_setpos +EXPORT_SYMBOL vmlinux 0x74bd6b10 serio_close +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c18454 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x74d2742a tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f1cd69 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7513eb34 param_get_ushort +EXPORT_SYMBOL vmlinux 0x75150982 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7533a97e security_sock_graft +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754a3fcf scsi_register_driver +EXPORT_SYMBOL vmlinux 0x75541186 input_inject_event +EXPORT_SYMBOL vmlinux 0x755c8de9 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x7572dc7d __SetPageMovable +EXPORT_SYMBOL vmlinux 0x75759b08 seq_open +EXPORT_SYMBOL vmlinux 0x757f088f cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x75a55f7f scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x75aa6ca1 __kernel_virt_start +EXPORT_SYMBOL vmlinux 0x75afe0f8 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x75b98e81 bdget +EXPORT_SYMBOL vmlinux 0x75bb3dba vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c6d746 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75d629dc keyring_alloc +EXPORT_SYMBOL vmlinux 0x75f2a5ac rtnl_notify +EXPORT_SYMBOL vmlinux 0x76069530 d_drop +EXPORT_SYMBOL vmlinux 0x7608671c of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x761198ba inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7626175f vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x763ba3ad ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x763d82f2 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x7640687f scsi_device_resume +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x7648d06f param_get_ullong +EXPORT_SYMBOL vmlinux 0x7655740d napi_gro_frags +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x76872e78 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0x768b71b3 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a25f8c devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x76adbff9 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x76af428c flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x76b36ed4 input_grab_device +EXPORT_SYMBOL vmlinux 0x76c3f51e pci_write_config_word +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76d72d20 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x76f51b5c input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x76fa248c skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x77042aa1 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x77234d37 downgrade_write +EXPORT_SYMBOL vmlinux 0x7729e399 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x772bdbca tty_write_room +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x7732a317 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x77371126 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x7738a297 udp_seq_start +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77405acf vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x7748f424 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x77598175 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x776f1c1d tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x77752733 complete_request_key +EXPORT_SYMBOL vmlinux 0x779421b1 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b17110 vfs_symlink +EXPORT_SYMBOL vmlinux 0x77b5729a agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c3ac53 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x77ca6796 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x77e4dae6 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x77e75c62 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ebd09e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x77f518b6 vme_init_bridge +EXPORT_SYMBOL vmlinux 0x77fee50d register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7800b370 fb_get_mode +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x78158277 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x78175014 configfs_register_group +EXPORT_SYMBOL vmlinux 0x7818bab2 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x7824cd9b neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL vmlinux 0x7835d9c8 pnv_cxl_release_hwirqs +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x7850ad94 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x78656670 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x786781ad mmc_can_discard +EXPORT_SYMBOL vmlinux 0x786b7fd3 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x787b567c vlan_vid_del +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7881bb74 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x788324da cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x78851d2f _outsb +EXPORT_SYMBOL vmlinux 0x788f82bb mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x78974510 rt6_lookup +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a9e905 _numa_mem_ +EXPORT_SYMBOL vmlinux 0x78c4e553 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x78d1aef9 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x78db7070 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e8cc25 dquot_operations +EXPORT_SYMBOL vmlinux 0x78eaf426 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x78eb688e dcache_readdir +EXPORT_SYMBOL vmlinux 0x78f631c7 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x790a993d fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x7916fed4 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x791e6318 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x7954238d vfs_fsync +EXPORT_SYMBOL vmlinux 0x7962b7fc ata_port_printk +EXPORT_SYMBOL vmlinux 0x7967a52b xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7976cb15 md_write_start +EXPORT_SYMBOL vmlinux 0x797d1c1b md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79a535c7 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79dfbce0 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x79e4f5e9 from_kprojid +EXPORT_SYMBOL vmlinux 0x7a01324b __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x7a01e6dd tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a10a2bb phy_disconnect +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a25c764 __destroy_inode +EXPORT_SYMBOL vmlinux 0x7a2a4e8f of_get_next_parent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4fe73f reuseport_alloc +EXPORT_SYMBOL vmlinux 0x7a71741f __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7a7dd776 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x7a7de0d6 mempool_init_node +EXPORT_SYMBOL vmlinux 0x7a7e22be qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x7a8db4ac md_reload_sb +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7a9e2c58 tcf_classify +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab5f8c3 _insw_ns +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aba86db node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7af2709c make_kuid +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b071b28 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x7b1109a7 bio_endio +EXPORT_SYMBOL vmlinux 0x7b241126 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x7b2c7226 uaccess_flush_key +EXPORT_SYMBOL vmlinux 0x7b49243f generic_fillattr +EXPORT_SYMBOL vmlinux 0x7b4eee84 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x7b5925eb md_write_inc +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5bfb73 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7b5ef11e nf_log_set +EXPORT_SYMBOL vmlinux 0x7b63b66c security_binder_transaction +EXPORT_SYMBOL vmlinux 0x7b6979fd dump_truncate +EXPORT_SYMBOL vmlinux 0x7b7c0d2b __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x7b82dc54 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0x7b9aa126 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x7b9e072b flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x7ba345a8 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bd090b2 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x7bd2bd19 dev_set_group +EXPORT_SYMBOL vmlinux 0x7bd8f50d radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x7bdf8de5 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x7be32ea1 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7c003aef _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7c08fece is_nd_pfn +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2200d8 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x7c2eab93 dev_activate +EXPORT_SYMBOL vmlinux 0x7c3967f6 mmc_start_request +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c63a098 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x7c696736 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7c7a0f45 __phy_resume +EXPORT_SYMBOL vmlinux 0x7c87366b of_node_put +EXPORT_SYMBOL vmlinux 0x7c8c999c kset_unregister +EXPORT_SYMBOL vmlinux 0x7c9291d1 csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x7c9837f4 mdio_device_register +EXPORT_SYMBOL vmlinux 0x7c9c3e9e pci_iomap +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7c9ea044 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x7c9f3f99 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cc6c2ed proc_symlink +EXPORT_SYMBOL vmlinux 0x7cd01d51 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7cd46330 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x7cd9af54 pci_map_rom +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfad169 cdev_device_del +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d0f5db5 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x7d4aa871 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d652cec inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7d7955b4 ppp_input_error +EXPORT_SYMBOL vmlinux 0x7d7db192 secpath_set +EXPORT_SYMBOL vmlinux 0x7d98c82b dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db5dc27 rproc_add +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dc99cb4 ptp_clock_index +EXPORT_SYMBOL vmlinux 0x7dcc6d57 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df38e29 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x7df7a360 input_register_handler +EXPORT_SYMBOL vmlinux 0x7dfc8277 isa_mem_base +EXPORT_SYMBOL vmlinux 0x7e0323e7 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x7e1db659 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x7e2d6436 ida_free +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e61a59d vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x7e708029 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x7e71bb61 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x7e72c9a7 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x7e8dbeaa mdio_device_free +EXPORT_SYMBOL vmlinux 0x7e90e3e8 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x7eaedd78 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x7edf1888 has_capability +EXPORT_SYMBOL vmlinux 0x7ee44972 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f1eb42b get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x7f22e5a8 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f284560 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x7f459ed1 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f52119c of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f5bc495 pci_choose_state +EXPORT_SYMBOL vmlinux 0x7f5e4c79 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x7f6c6b50 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x7f71fb97 xa_load +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f84753c inet_gro_complete +EXPORT_SYMBOL vmlinux 0x7f8fcb23 deactivate_super +EXPORT_SYMBOL vmlinux 0x7f9d9edf jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x7faf69a2 arch_free_page +EXPORT_SYMBOL vmlinux 0x7fb285f7 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x7fd14bdc textsearch_unregister +EXPORT_SYMBOL vmlinux 0x7fd68537 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x7fd69762 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fe41c11 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x7fead86c pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x7ffe1c42 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x80168c4c jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x803f8ab9 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x805be3b0 nf_reinject +EXPORT_SYMBOL vmlinux 0x806355a2 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x806df582 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x80740792 register_cdrom +EXPORT_SYMBOL vmlinux 0x80745cf9 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x80790869 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x807b9d23 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x80895945 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809aef0c file_remove_privs +EXPORT_SYMBOL vmlinux 0x809f532a tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x80aaf463 phy_device_create +EXPORT_SYMBOL vmlinux 0x80ad1d6d remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x80bf1ecb udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80cc286a input_unregister_device +EXPORT_SYMBOL vmlinux 0x80d26c2a dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e7e4f7 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x81013c00 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x811351d4 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x81265879 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x812c6b90 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x8143577a timestamp_truncate +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x8155396e mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x81712159 pipe_lock +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x819220f6 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x8197b496 dentry_open +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81b9ca21 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x81bd3bf7 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81c0b2cd pci_bus_type +EXPORT_SYMBOL vmlinux 0x81cd0153 param_set_ullong +EXPORT_SYMBOL vmlinux 0x81cfad0e __pagevec_release +EXPORT_SYMBOL vmlinux 0x81d032ee input_close_device +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e792e0 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x81ec5c81 giveup_fpu +EXPORT_SYMBOL vmlinux 0x81f8a2f3 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x82030fb3 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8209262b fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x821559d6 __vmalloc_end +EXPORT_SYMBOL vmlinux 0x8216131c scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x821e3314 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x823c06e0 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x82505fc0 sock_no_bind +EXPORT_SYMBOL vmlinux 0x82737e90 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x8281c8e0 cred_fscmp +EXPORT_SYMBOL vmlinux 0x8282a40c ptp_find_pin +EXPORT_SYMBOL vmlinux 0x828c7e46 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x82a2dd26 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x82a5ec9d pskb_expand_head +EXPORT_SYMBOL vmlinux 0x82a6e3aa ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x82c7a9dc serio_unregister_port +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82e24784 pcibus_to_node +EXPORT_SYMBOL vmlinux 0x82e7061b netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x82ec309c __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x831a8d8a d_instantiate +EXPORT_SYMBOL vmlinux 0x832ba966 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x834658ac cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x83501b7b locks_init_lock +EXPORT_SYMBOL vmlinux 0x83563545 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835c2476 serio_reconnect +EXPORT_SYMBOL vmlinux 0x83874fdb bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x8391e408 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x83bb06a7 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83d193cb elv_rb_del +EXPORT_SYMBOL vmlinux 0x83d1d101 _dev_alert +EXPORT_SYMBOL vmlinux 0x83f4b72e unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x83f711fe key_revoke +EXPORT_SYMBOL vmlinux 0x83f9521c cpumask_any_but +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x84156834 __next_node_in +EXPORT_SYMBOL vmlinux 0x8415e8b3 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x8438120f flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x843b6e6b tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x84618cf6 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x84741933 release_sock +EXPORT_SYMBOL vmlinux 0x847d0690 tty_name +EXPORT_SYMBOL vmlinux 0x847ded70 nf_log_trace +EXPORT_SYMBOL vmlinux 0x848a6174 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x8494da16 pci_find_capability +EXPORT_SYMBOL vmlinux 0x849fe807 csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x84b886c0 of_get_next_child +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84c557b8 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x84ce265a of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x84dd70c3 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x84defb36 may_umount_tree +EXPORT_SYMBOL vmlinux 0x84e7cf27 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x84ecf5de sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x84f19d26 vga_get +EXPORT_SYMBOL vmlinux 0x84f3c134 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x851b3e2f uart_add_one_port +EXPORT_SYMBOL vmlinux 0x852155da skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x85250ccc xa_store_range +EXPORT_SYMBOL vmlinux 0x85562bbc tcp_init_sock +EXPORT_SYMBOL vmlinux 0x8563ef2b invalidate_bdev +EXPORT_SYMBOL vmlinux 0x8564c92b tty_kref_put +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857712a3 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x857cbf40 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x85814df8 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x8588be92 tty_throttle +EXPORT_SYMBOL vmlinux 0x8589077f bmap +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x8593f99c eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x8597eb47 plpar_hcall +EXPORT_SYMBOL vmlinux 0x85a2979c unlock_buffer +EXPORT_SYMBOL vmlinux 0x85addb19 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85b9b108 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x85bc2bb1 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85dd7fd4 inet6_protos +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x85ff68bf sk_stop_timer +EXPORT_SYMBOL vmlinux 0x8612650d nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x861582ae dcache_dir_close +EXPORT_SYMBOL vmlinux 0x86332725 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x86387252 block_write_end +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863e696d fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865165a2 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x8679815d alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8696d531 pci_free_irq +EXPORT_SYMBOL vmlinux 0x869f6edb md_update_sb +EXPORT_SYMBOL vmlinux 0x86b1026f proc_douintvec +EXPORT_SYMBOL vmlinux 0x86b25850 down_read_killable +EXPORT_SYMBOL vmlinux 0x86b942f0 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x86bb71be kernel_write +EXPORT_SYMBOL vmlinux 0x86c39633 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x86c9a0dd __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87027ec1 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x871b17ea md_bitmap_free +EXPORT_SYMBOL vmlinux 0x872a5283 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x873a53ea __arch_hweight8 +EXPORT_SYMBOL vmlinux 0x8756c914 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x8795caf6 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x879c88e1 qe_pin_request +EXPORT_SYMBOL vmlinux 0x879dc250 tcp_req_err +EXPORT_SYMBOL vmlinux 0x87a51913 dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x87a68bf9 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x87b29c4d pci_request_regions +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87c2feed device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x87c70645 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x87cba136 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x87dd36f4 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x87e0f330 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x87e1127a lookup_bdev +EXPORT_SYMBOL vmlinux 0x87ec7a14 vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x8812f0bc __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x882e9e66 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x8861f901 sync_file_create +EXPORT_SYMBOL vmlinux 0x88727605 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x88736511 dma_supported +EXPORT_SYMBOL vmlinux 0x8878e956 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x888bb907 tcp_poll +EXPORT_SYMBOL vmlinux 0x888e7997 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x88993295 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x88a35663 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x88a629cd devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x88a65692 get_user_pages +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88b10d8a mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x88b2152c lock_page_memcg +EXPORT_SYMBOL vmlinux 0x88b7aa02 blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x88bf96b9 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x88cfe105 key_invalidate +EXPORT_SYMBOL vmlinux 0x88d869b5 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88dfa1c4 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88ff3cd0 gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x89262ebb ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x892f5b68 inet6_bind +EXPORT_SYMBOL vmlinux 0x893be280 dev_uc_add +EXPORT_SYMBOL vmlinux 0x8950785f skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x8951279a nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x89545901 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x895ad1b3 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x89645323 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x89664f4c tty_port_open +EXPORT_SYMBOL vmlinux 0x89797060 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x897f3792 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x89898459 kvm_irq_bypass +EXPORT_SYMBOL vmlinux 0x89a5f4cb __do_once_done +EXPORT_SYMBOL vmlinux 0x89b2b55e mmc_erase +EXPORT_SYMBOL vmlinux 0x89bb86b0 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x89ccb871 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x89f23dcd __skb_get_hash +EXPORT_SYMBOL vmlinux 0x89f9c2b4 sync_inode +EXPORT_SYMBOL vmlinux 0x89feaf92 __irq_regs +EXPORT_SYMBOL vmlinux 0x8a0e3157 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x8a109d19 to_nd_dax +EXPORT_SYMBOL vmlinux 0x8a37443f blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x8a3cd206 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a52a758 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8a54050b __pud_cache_index +EXPORT_SYMBOL vmlinux 0x8a5da54a ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x8a60e919 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x8a65c91a netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a7507bd simple_rmdir +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a994d93 paca_ptrs +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aabc09c __put_cred +EXPORT_SYMBOL vmlinux 0x8ab8308b __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x8ac2ac79 mmc_command_done +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac3bb12 dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x8ac6ac64 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad39905 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x8ae6db60 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x8af4565a inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b3531b0 fb_show_logo +EXPORT_SYMBOL vmlinux 0x8b4664f8 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b638d54 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b841af6 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x8b848b16 __invalidate_device +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b95ba41 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x8b987b19 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8ba14d6d devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x8bac6382 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x8bbd6758 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8be55be9 fput +EXPORT_SYMBOL vmlinux 0x8bfbc548 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x8c051301 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x8c100106 backlight_force_update +EXPORT_SYMBOL vmlinux 0x8c48d633 km_new_mapping +EXPORT_SYMBOL vmlinux 0x8c4a7d04 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c75c8c2 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x8c80470f backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x8c8e5243 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x8c9bff9c __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x8c9dbe90 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x8cada4b7 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x8cafd689 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cc764f4 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ccc2237 scsi_partsize +EXPORT_SYMBOL vmlinux 0x8cd6190c unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x8cd792e1 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x8cf7ec72 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x8d0aef6d __mutex_init +EXPORT_SYMBOL vmlinux 0x8d179fd1 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x8d2753bc radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x8d27bcf1 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x8d347193 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x8d36f784 single_release +EXPORT_SYMBOL vmlinux 0x8d53232c unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5d0aac qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x8d6a2932 vfs_statfs +EXPORT_SYMBOL vmlinux 0x8d7122b0 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x8d720dde blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d73ceec tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x8d8a3fcc __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8d9ce724 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x8db112b6 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x8dc41cc4 is_nd_dax +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de34452 dma_pool_create +EXPORT_SYMBOL vmlinux 0x8de5369b nd_device_notify +EXPORT_SYMBOL vmlinux 0x8de7d370 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x8deb38ab iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x8df1bf74 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfd4f22 scsi_add_device +EXPORT_SYMBOL vmlinux 0x8e0fd45c input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x8e1747b4 ihold +EXPORT_SYMBOL vmlinux 0x8e1baf6f dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x8e27d929 irq_to_desc +EXPORT_SYMBOL vmlinux 0x8e35fed2 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x8e4a13c4 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e4d87fc __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x8e5955a8 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x8e687213 proc_set_user +EXPORT_SYMBOL vmlinux 0x8e8a1cfc poll_freewait +EXPORT_SYMBOL vmlinux 0x8e8cb42a skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e97cbda irq_stat +EXPORT_SYMBOL vmlinux 0x8ea15ad3 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x8eaf3640 commit_creds +EXPORT_SYMBOL vmlinux 0x8ec04552 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8ecf9ca0 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x8efd1751 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x8eff7461 kern_unmount +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0bd73a flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x8f0c225a devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x8f174685 posix_test_lock +EXPORT_SYMBOL vmlinux 0x8f1dbf33 mmc_request_done +EXPORT_SYMBOL vmlinux 0x8f2080f7 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x8f26c0cd tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x8f33163c rtnl_unicast +EXPORT_SYMBOL vmlinux 0x8f364d85 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x8f36ad1a neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x8f36fea3 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x8f3a35d2 input_free_device +EXPORT_SYMBOL vmlinux 0x8f6127bd cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x8f61c5ae tcp_sendpage +EXPORT_SYMBOL vmlinux 0x8f68da79 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x8f715bab scsi_remove_target +EXPORT_SYMBOL vmlinux 0x8f9830a1 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8f9d3cac of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x8fad308c scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x8fb7a673 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x9023361b proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x90311a90 mount_nodev +EXPORT_SYMBOL vmlinux 0x904f5e18 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x9057c6f5 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x906c7889 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x9074fc77 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x907dc937 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x9082cb77 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x908a6ba2 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x908be20e gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x909c1558 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x90a68234 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x90aa25b8 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x90e961f6 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x90fcf0f0 tty_lock +EXPORT_SYMBOL vmlinux 0x91065b7c mod_node_page_state +EXPORT_SYMBOL vmlinux 0x910c0653 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x911a6a00 devm_clk_put +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x912c2d07 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x916a049c km_policy_notify +EXPORT_SYMBOL vmlinux 0x9182caf7 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x918e576c key_task_permission +EXPORT_SYMBOL vmlinux 0x9196e70a tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91a5bc5b vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91e4f51a do_splice_direct +EXPORT_SYMBOL vmlinux 0x91e68730 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x91efd21d dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x921e97fa dm_put_table_device +EXPORT_SYMBOL vmlinux 0x9229e6f8 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9251f0d2 wait_for_completion +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x9269b8b6 __devm_release_region +EXPORT_SYMBOL vmlinux 0x9290f0d3 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x929647ea dev_change_flags +EXPORT_SYMBOL vmlinux 0x92a216f2 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x92a6e780 mmc_get_card +EXPORT_SYMBOL vmlinux 0x92abe166 param_array_ops +EXPORT_SYMBOL vmlinux 0x92ae1a7b mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bb6664 tcp_check_req +EXPORT_SYMBOL vmlinux 0x92c18c8e inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x92cc86cc netif_receive_skb +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92ee0d4f genphy_loopback +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x932adbc0 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x932c631e node_data +EXPORT_SYMBOL vmlinux 0x9333368b neigh_destroy +EXPORT_SYMBOL vmlinux 0x934e72e9 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x93675393 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x93701658 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x93767cef cdrom_check_events +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x939706c2 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93aff3c7 dm_register_target +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d8dabf stop_tty +EXPORT_SYMBOL vmlinux 0x94016d81 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x9416c1d9 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942ff559 zap_page_range +EXPORT_SYMBOL vmlinux 0x9438adc2 seq_pad +EXPORT_SYMBOL vmlinux 0x9439f542 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x943dc80f csum_and_copy_to_user +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x94457188 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x94667988 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x94682ec1 genphy_update_link +EXPORT_SYMBOL vmlinux 0x94689f94 cdev_init +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a5fd84 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x94ab5a37 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x94abf841 sg_miter_next +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94d414ca generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x94dea144 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x950a5b62 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9514c80f vfs_get_tree +EXPORT_SYMBOL vmlinux 0x953d0fcc devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9548a8f5 posix_lock_file +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x95722936 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x9576bc4d inode_set_flags +EXPORT_SYMBOL vmlinux 0x95bc61d4 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x95c1cea0 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x95c6c48a qe_pin_set_gpio +EXPORT_SYMBOL vmlinux 0x95ea1d40 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x95f29957 __module_get +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x9600711a config_item_get +EXPORT_SYMBOL vmlinux 0x96126b32 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x9613ae3f request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x9616e504 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x961abb6a pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x961efd60 tso_start +EXPORT_SYMBOL vmlinux 0x9624c9c0 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x9659a7f5 kthread_stop +EXPORT_SYMBOL vmlinux 0x9674ae78 empty_aops +EXPORT_SYMBOL vmlinux 0x967d37f6 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x968d2583 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x969987fc lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x969de8eb pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x969f154d trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x96aa2533 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c4f540 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x96cbe8ff udp_pre_connect +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d5cafd dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x96e83608 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x96f2a9d5 single_open +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x96fac436 ll_rw_block +EXPORT_SYMBOL vmlinux 0x9714cedf init_net +EXPORT_SYMBOL vmlinux 0x971ec27c hvc_put_chars +EXPORT_SYMBOL vmlinux 0x973c09e5 __pgd_index_size +EXPORT_SYMBOL vmlinux 0x973cb02c put_ipc_ns +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x977a7e50 misc_register +EXPORT_SYMBOL vmlinux 0x978392d7 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x9793cc34 param_get_long +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x979a74c3 inet_accept +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97a9525e flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b60493 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x97bad4c2 fb_set_var +EXPORT_SYMBOL vmlinux 0x97bb03dd skb_queue_purge +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97c275c0 bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x97d25c50 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x97da0755 dm_get_device +EXPORT_SYMBOL vmlinux 0x97e068bc bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x97e57dfd tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x97eb3f6d param_ops_bool +EXPORT_SYMBOL vmlinux 0x97f03d6f vio_cmo_entitlement_update +EXPORT_SYMBOL vmlinux 0x981f6539 d_path +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983f5fac ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x984da95a ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x984e4768 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x985099e5 bio_add_page +EXPORT_SYMBOL vmlinux 0x98519e78 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x985b14fd percpu_counter_set +EXPORT_SYMBOL vmlinux 0x989d7c9d iterate_fd +EXPORT_SYMBOL vmlinux 0x98adce1f filp_close +EXPORT_SYMBOL vmlinux 0x98b5fd9f scsi_ioctl +EXPORT_SYMBOL vmlinux 0x98bf711c security_path_unlink +EXPORT_SYMBOL vmlinux 0x98c78d6c kill_anon_super +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d25548 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ffa5fd device_add_disk +EXPORT_SYMBOL vmlinux 0x98fff951 fb_class +EXPORT_SYMBOL vmlinux 0x99051089 nvm_submit_io +EXPORT_SYMBOL vmlinux 0x990d15b7 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x99389a6a phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x997dad03 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x997ff4d5 seq_puts +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99afe916 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x99ba40c0 iunique +EXPORT_SYMBOL vmlinux 0x99c64690 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x99ca35b6 stream_open +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99dd9d4d dev_mc_init +EXPORT_SYMBOL vmlinux 0x99e0a165 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x99e59654 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x99ed9621 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x99f342e4 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x99fcd6f1 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x99fec384 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x9a073f58 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a2e247b mmput_async +EXPORT_SYMBOL vmlinux 0x9a30e431 bdput +EXPORT_SYMBOL vmlinux 0x9a40b4b1 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x9a483134 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a5966b2 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x9a67cb4a max8998_read_reg +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a854f6e dst_alloc +EXPORT_SYMBOL vmlinux 0x9a9bcc14 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x9a9cea83 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ac5074c dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x9acde112 gtm_ack_timer16 +EXPORT_SYMBOL vmlinux 0x9ad4bff3 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x9aff0a3f param_set_bool +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b27cff9 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3410a8 mpage_writepages +EXPORT_SYMBOL vmlinux 0x9b34e6d7 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b53dc56 gro_cells_init +EXPORT_SYMBOL vmlinux 0x9b5449cf of_device_is_available +EXPORT_SYMBOL vmlinux 0x9b57f8f9 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x9b73cd10 mac_find_mode +EXPORT_SYMBOL vmlinux 0x9b829adf agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x9b847f21 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x9b9d813c agp_create_memory +EXPORT_SYMBOL vmlinux 0x9bc8979a __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x9bc8a832 __debugger_break_match +EXPORT_SYMBOL vmlinux 0x9bd25ec8 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x9bfe9c30 __skb_checksum +EXPORT_SYMBOL vmlinux 0x9c0650bd xfrm_init_state +EXPORT_SYMBOL vmlinux 0x9c236285 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x9c2ab8b9 _dev_warn +EXPORT_SYMBOL vmlinux 0x9c381965 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x9c403869 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x9c4cfb91 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x9c61723c sk_free +EXPORT_SYMBOL vmlinux 0x9c699d7b blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x9c6ec5ad tty_port_close_end +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9c997f41 agp_enable +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cba11fb pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x9cbc967a security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x9cc7411f rt_dst_clone +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cdf2256 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce84a84 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x9cfcf0ca path_put +EXPORT_SYMBOL vmlinux 0x9d08711b dquot_file_open +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d1642b4 kobject_set_name +EXPORT_SYMBOL vmlinux 0x9d1b5c93 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d302b8e unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x9d38c28c rproc_free +EXPORT_SYMBOL vmlinux 0x9d608fd7 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x9d6be4ee security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x9d7ce8dd _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x9d96a9b0 mmu_hash_ops +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9da14ebd pci_scan_bus +EXPORT_SYMBOL vmlinux 0x9da2c02a xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x9da8f590 PageMovable +EXPORT_SYMBOL vmlinux 0x9daa28be xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x9db2213f mount_single +EXPORT_SYMBOL vmlinux 0x9db314da __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x9dd8dd57 load_fp_state +EXPORT_SYMBOL vmlinux 0x9de706b5 mempool_destroy +EXPORT_SYMBOL vmlinux 0x9df32cb0 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x9df42870 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e166a09 kthread_bind +EXPORT_SYMBOL vmlinux 0x9e1ba7ae tso_build_hdr +EXPORT_SYMBOL vmlinux 0x9e39d397 timer_interrupt +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e62df72 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9e8168 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9ebd8fb2 block_truncate_page +EXPORT_SYMBOL vmlinux 0x9ebde4d7 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9eddaa00 md_cluster_ops +EXPORT_SYMBOL vmlinux 0x9f1cef70 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x9f1d6c3b mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x9f1ffcb2 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f9c3e __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f616333 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f675a1c phy_resume +EXPORT_SYMBOL vmlinux 0x9f720654 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fc39e57 set_page_dirty +EXPORT_SYMBOL vmlinux 0x9fd3482e register_fib_notifier +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ff7919d rtc_add_group +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffceb1c security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0xa0262284 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0xa0353b55 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa0440c3d dev_addr_init +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa067e6eb insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xa06c77c6 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xa075395b xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa08bda24 tty_register_driver +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b7a31d tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xa0bd72c9 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0ea07f5 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ecbeff bdgrab +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa103dad3 sock_i_uid +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1132f11 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa122214c jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xa135add5 scsi_host_get +EXPORT_SYMBOL vmlinux 0xa14f68c4 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa16770af of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xa1714731 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xa17e21f2 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0xa185da71 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xa1bb266f nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d8c802 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0xa1d9b54a generic_perform_write +EXPORT_SYMBOL vmlinux 0xa1e0496b build_skb_around +EXPORT_SYMBOL vmlinux 0xa1e70e26 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0xa1e91b00 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xa1eaa2cd mempool_init +EXPORT_SYMBOL vmlinux 0xa1eb44bb dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0xa1fdab41 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa21709a9 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xa217ef93 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xa21c534e watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xa233622d read_cache_pages +EXPORT_SYMBOL vmlinux 0xa2351888 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xa243d0e2 dev_uc_init +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa267ff0d pci_get_subsys +EXPORT_SYMBOL vmlinux 0xa27ffa69 inet_bind +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa298bddf inode_dio_wait +EXPORT_SYMBOL vmlinux 0xa2a45ebd __frontswap_test +EXPORT_SYMBOL vmlinux 0xa2ab59f4 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2ede178 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xa302c556 con_is_bound +EXPORT_SYMBOL vmlinux 0xa30dca7b xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xa31b934e scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa34c0c01 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xa34ea576 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xa355ab5a write_one_page +EXPORT_SYMBOL vmlinux 0xa362e31c phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xa3881ac8 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa399bf6b __devm_request_region +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3c3b205 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xa3fbe7db fb_find_mode +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa401ea0e tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0xa42a00c2 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xa42caeb0 netlink_set_err +EXPORT_SYMBOL vmlinux 0xa42d02bc pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xa445235e ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xa469c843 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xa46a7de6 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xa49536db sk_dst_check +EXPORT_SYMBOL vmlinux 0xa49a9b46 mempool_alloc +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c53836 dma_virt_ops +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4ce91b0 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xa4d3bfd3 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4d5c226 pcie_set_mps +EXPORT_SYMBOL vmlinux 0xa4ee910f tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa50ed6ea user_revoke +EXPORT_SYMBOL vmlinux 0xa522f1b7 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0xa52499ff freeze_super +EXPORT_SYMBOL vmlinux 0xa525710f rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xa528b018 param_set_long +EXPORT_SYMBOL vmlinux 0xa52e2ee6 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xa538ac63 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55f71c6 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xa56cf70e kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa59540ea alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xa5956abe ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0xa59b6362 make_bad_inode +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5ad8b69 input_set_capability +EXPORT_SYMBOL vmlinux 0xa5cbe6a9 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xa5d108b9 inet_listen +EXPORT_SYMBOL vmlinux 0xa5eabfae should_remove_suid +EXPORT_SYMBOL vmlinux 0xa5f84a9c jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa602143b lease_modify +EXPORT_SYMBOL vmlinux 0xa6070c72 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6521df4 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xa6579f21 __pud_val_bits +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa661d781 set_user_nice +EXPORT_SYMBOL vmlinux 0xa665038c set_anon_super +EXPORT_SYMBOL vmlinux 0xa6794981 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa689a72f dev_trans_start +EXPORT_SYMBOL vmlinux 0xa6d13599 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xa6d70ac2 mount_subtree +EXPORT_SYMBOL vmlinux 0xa6ee0f08 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xa711c7af mpage_writepage +EXPORT_SYMBOL vmlinux 0xa719ebdc security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xa71f3ea1 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xa74a9e14 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa75b3706 pseries_enable_reloc_on_exc +EXPORT_SYMBOL vmlinux 0xa76ad3dd fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xa778755a neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xa77b1ed6 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa78ec244 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xa79bff2d hpage_shift +EXPORT_SYMBOL vmlinux 0xa7a6942b agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xa7a6c48a twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xa7ae507d netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xa7b676b4 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xa7c8b7e1 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eafa31 napi_complete_done +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7fba791 dma_resv_init +EXPORT_SYMBOL vmlinux 0xa80c8840 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xa818dcfd set_groups +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa83b932c pnv_pci_get_gpu_dev +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa8485314 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xa84b816d __seq_open_private +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa84e07bd kmem_cache_size +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8730e1a seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xa8896319 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xa88f740d zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0xa8a759bb netif_rx_ni +EXPORT_SYMBOL vmlinux 0xa8b1dcbe cad_pid +EXPORT_SYMBOL vmlinux 0xa8c98bda __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8e5f3bb get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xa8f45d6b d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa90ab58f dma_async_device_register +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa917779c proc_create +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa951c111 rproc_put +EXPORT_SYMBOL vmlinux 0xa9593251 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xa95cf16b mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa9702932 d_exact_alias +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa97ba4fd __brelse +EXPORT_SYMBOL vmlinux 0xa9967bd4 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa9a336d4 agp_bridge +EXPORT_SYMBOL vmlinux 0xa9dffce5 mempool_free +EXPORT_SYMBOL vmlinux 0xa9e43e30 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xa9ef4df9 input_open_device +EXPORT_SYMBOL vmlinux 0xa9f4a972 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xa9f90c2f __sb_end_write +EXPORT_SYMBOL vmlinux 0xaa090159 tcp_filter +EXPORT_SYMBOL vmlinux 0xaa173779 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xaa298530 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0xaa3f6f04 radix__flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xaa433414 register_netdevice +EXPORT_SYMBOL vmlinux 0xaa4c1bf0 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xaa6e4df5 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa70d3ef inode_add_bytes +EXPORT_SYMBOL vmlinux 0xaa718567 flush_signals +EXPORT_SYMBOL vmlinux 0xaa9179c4 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaadc083 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xaab2ee91 complete_all +EXPORT_SYMBOL vmlinux 0xaabef8cf md_check_recovery +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 0xaae5ec67 sock_from_file +EXPORT_SYMBOL vmlinux 0xaae5ee9d agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xaaf40bce pci_save_state +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1001e1 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xab20efeb __fs_parse +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab3e37d8 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xab3fe594 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0xab518099 _dev_crit +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab65e4ab request_key_tag +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab796787 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xab803408 generic_fadvise +EXPORT_SYMBOL vmlinux 0xab965e31 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xaba76796 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xabccc691 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xabe47378 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac13e403 clear_user_page +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1e165e dev_mc_add +EXPORT_SYMBOL vmlinux 0xac26b820 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac430423 __pmd_val_bits +EXPORT_SYMBOL vmlinux 0xac476ef1 simple_fill_super +EXPORT_SYMBOL vmlinux 0xac55b4c5 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xaca8224b fddi_type_trans +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacace664 fsync_bdev +EXPORT_SYMBOL vmlinux 0xacc720d0 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xaccbb762 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0xaccbd2e0 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacda9e29 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xacec4bb8 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1e9375 phy_detach +EXPORT_SYMBOL vmlinux 0xad26c099 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xad26c339 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xad2ef671 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xad3b8553 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0xad3e7d1d sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad5dc535 seq_putc +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad847adb security_path_rename +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xadabe0f4 iterate_dir +EXPORT_SYMBOL vmlinux 0xadafb30f register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadebf8ad agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xadec99c4 sock_wfree +EXPORT_SYMBOL vmlinux 0xadf0b13e srp_rport_put +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae1255a6 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xae1465ac phy_start_cable_test +EXPORT_SYMBOL vmlinux 0xae29fb92 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0xae2c6180 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae31cea2 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xae3310c8 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xae4c8439 __pte_table_size +EXPORT_SYMBOL vmlinux 0xae512185 mntput +EXPORT_SYMBOL vmlinux 0xae545f06 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xae5c811d pci_restore_state +EXPORT_SYMBOL vmlinux 0xae5d4bee phy_register_fixup +EXPORT_SYMBOL vmlinux 0xae773ce3 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0xae912086 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xaea2e288 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaed86354 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xaef8876d skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xaf025ab0 would_dump +EXPORT_SYMBOL vmlinux 0xaf063510 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xaf0b7244 mmc_free_host +EXPORT_SYMBOL vmlinux 0xaf2a89e3 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xafb6fe4e pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xafc06bcd wait_for_completion_io +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xaff7f6c1 __debugger_bpt +EXPORT_SYMBOL vmlinux 0xb00d719a vfio_pin_pages +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb023af3a security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xb02a4cf7 serio_rescan +EXPORT_SYMBOL vmlinux 0xb0327441 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0633704 try_module_get +EXPORT_SYMBOL vmlinux 0xb06463e9 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xb072634d param_get_string +EXPORT_SYMBOL vmlinux 0xb072cd6e import_single_range +EXPORT_SYMBOL vmlinux 0xb08fddb5 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xb09b7ab2 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0bc92a6 cdrom_open +EXPORT_SYMBOL vmlinux 0xb0bfe04e ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0ef5174 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb0f55126 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb12014c3 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb13a35c2 d_genocide +EXPORT_SYMBOL vmlinux 0xb141c7ba jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xb1472688 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14cf779 __page_symlink +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb1600ed8 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb18e99f2 pci_release_resource +EXPORT_SYMBOL vmlinux 0xb199743f mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0xb19b17d3 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xb19d55df fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1a7ce75 of_graph_parse_endpoint +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 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb1e7b165 sock_edemux +EXPORT_SYMBOL vmlinux 0xb1ee7ec2 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xb1f58ea7 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xb1fb86c5 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xb206ca52 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb21bbf93 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb2334dc6 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xb24fc8ff reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xb2642d40 of_node_get +EXPORT_SYMBOL vmlinux 0xb2690f63 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xb28dbe0c sync_filesystem +EXPORT_SYMBOL vmlinux 0xb2943e6e __f_setown +EXPORT_SYMBOL vmlinux 0xb2a10c95 profile_pc +EXPORT_SYMBOL vmlinux 0xb2a7b6ff i8042_install_filter +EXPORT_SYMBOL vmlinux 0xb2acc4cd __msr_check_and_clear +EXPORT_SYMBOL vmlinux 0xb2acd9e5 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xb2af43c8 devm_of_iomap +EXPORT_SYMBOL vmlinux 0xb2b316cd sk_stream_error +EXPORT_SYMBOL vmlinux 0xb2b7b8af vme_slave_request +EXPORT_SYMBOL vmlinux 0xb2c4c92a netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0xb2ed1e48 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xb2ef1427 scsi_host_lookup +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 0xb3129a4c dquot_quota_off +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb34c0fab pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xb350f6f2 dqstats +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb3693374 fs_bio_set +EXPORT_SYMBOL vmlinux 0xb36d9999 audit_log_start +EXPORT_SYMBOL vmlinux 0xb3754a4b __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xb37dfa4e seq_read +EXPORT_SYMBOL vmlinux 0xb3b52cc5 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3de43f2 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xb3de53df sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xb3e9887c proto_register +EXPORT_SYMBOL vmlinux 0xb3eeb215 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3f8d952 __d_lookup_done +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42fa55a of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xb43b8445 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0xb4424b2b proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb44478a6 qe_pin_free +EXPORT_SYMBOL vmlinux 0xb44ad4b3 _copy_to_user +EXPORT_SYMBOL vmlinux 0xb473e2c2 lockref_get +EXPORT_SYMBOL vmlinux 0xb47be20e pseries_disable_reloc_on_exc +EXPORT_SYMBOL vmlinux 0xb485de87 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4953b1d devm_release_resource +EXPORT_SYMBOL vmlinux 0xb4964971 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb49b472d __nlmsg_put +EXPORT_SYMBOL vmlinux 0xb4aafbcb simple_dir_operations +EXPORT_SYMBOL vmlinux 0xb4deca33 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xb4e093af of_get_compatible_child +EXPORT_SYMBOL vmlinux 0xb4e27464 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xb4e33529 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xb4ec218d load_nls +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f89a7e tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xb51b7c5b __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xb51c6301 dev_load +EXPORT_SYMBOL vmlinux 0xb539b516 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xb53ac8d6 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0xb54237d3 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb54db1bf sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xb555f9f3 gtm_get_specific_timer16 +EXPORT_SYMBOL vmlinux 0xb55e7f69 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xb571d718 put_tty_driver +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb5794d19 nmi_panic +EXPORT_SYMBOL vmlinux 0xb57bd552 __register_chrdev +EXPORT_SYMBOL vmlinux 0xb58399f3 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5924dc9 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0xb59fbde2 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5aeaa14 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xb5b0f124 ata_print_version +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5f469f9 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xb61f3de7 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xb6204fd7 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb62e3b2d blk_sync_queue +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6687bda xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67caf65 ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xb67f4478 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb696975c input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0xb6999ef0 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6a75354 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6adcb9f netdev_warn +EXPORT_SYMBOL vmlinux 0xb6b2413e phy_validate_pause +EXPORT_SYMBOL vmlinux 0xb6b81fdc pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xb6beff08 tcp_seq_start +EXPORT_SYMBOL vmlinux 0xb6caf102 fs_lookup_param +EXPORT_SYMBOL vmlinux 0xb6d552fe vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xb6e01540 phy_attach +EXPORT_SYMBOL vmlinux 0xb6e18921 mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xb6ea513f genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xb70101ae blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xb71ce9ec sock_create_kern +EXPORT_SYMBOL vmlinux 0xb720e1ab mem_section +EXPORT_SYMBOL vmlinux 0xb74a0fb5 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xb74df68d blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb78080b3 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7a3a4cd fc_mount +EXPORT_SYMBOL vmlinux 0xb7a45f47 of_iomap +EXPORT_SYMBOL vmlinux 0xb7bb4984 padata_start +EXPORT_SYMBOL vmlinux 0xb7bc6adc seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xb7beae35 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xb7c08030 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c12eb3 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7d2ef3d gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0xb7d93b42 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xb7de8838 phy_aneg_done +EXPORT_SYMBOL vmlinux 0xb8260a10 bdevname +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb845fe79 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xb8634a34 mntget +EXPORT_SYMBOL vmlinux 0xb8672b21 fd_install +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86ea27e pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xb876b19b wake_up_process +EXPORT_SYMBOL vmlinux 0xb8798e97 dcb_getapp +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb89e9bcd kernel_connect +EXPORT_SYMBOL vmlinux 0xb8a0b97c set_bh_page +EXPORT_SYMBOL vmlinux 0xb8a6c2c0 dup_iter +EXPORT_SYMBOL vmlinux 0xb8a743ff dquot_get_state +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8ba4388 of_phy_connect +EXPORT_SYMBOL vmlinux 0xb8bdb52b page_mapped +EXPORT_SYMBOL vmlinux 0xb8beb659 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xb8d53a39 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0xb8dacb1e netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xb8ef7e82 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xb8f6a9b9 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xb902f8aa softnet_data +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb931d6e3 dm_kobject_release +EXPORT_SYMBOL vmlinux 0xb93b3fc4 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xb9401d59 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb977e967 udp_ioctl +EXPORT_SYMBOL vmlinux 0xb97a4138 sock_create +EXPORT_SYMBOL vmlinux 0xb98bd109 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xb9a7eb9c fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xb9ac9717 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xb9b390e7 fget +EXPORT_SYMBOL vmlinux 0xb9ce0d9c proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xb9d9f12b bdi_put +EXPORT_SYMBOL vmlinux 0xb9e8b231 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xba0e88c5 filemap_flush +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba1098b3 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xba33f081 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba630cb6 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xba691c85 _insb +EXPORT_SYMBOL vmlinux 0xba6db4bc blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba7f6b1e phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0xba920738 nobh_writepage +EXPORT_SYMBOL vmlinux 0xba962d71 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0xbab5017c noop_llseek +EXPORT_SYMBOL vmlinux 0xbab6ac61 input_get_keycode +EXPORT_SYMBOL vmlinux 0xbad45897 default_llseek +EXPORT_SYMBOL vmlinux 0xbad96410 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb09a711 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0xbb1e70a4 dev_add_offload +EXPORT_SYMBOL vmlinux 0xbb21d022 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb2cbbc2 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xbb34f54d skb_push +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb389579 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xbb3e9e90 __pmd_table_size +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb531588 get_vm_area +EXPORT_SYMBOL vmlinux 0xbb761758 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0xbb7b414e gtm_stop_timer16 +EXPORT_SYMBOL vmlinux 0xbba0daef agp_backend_release +EXPORT_SYMBOL vmlinux 0xbbb1d0c2 xp_alloc +EXPORT_SYMBOL vmlinux 0xbbb81950 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xbbd6f404 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xbbe3928b pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbedc7a4 load_nls_default +EXPORT_SYMBOL vmlinux 0xbbf20d28 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0xbbffa52f fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xbc00ee28 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xbc00fcf3 dquot_alloc +EXPORT_SYMBOL vmlinux 0xbc1f23bc __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc293c4e __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xbc310344 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc430214 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xbc62dbdd generic_ro_fops +EXPORT_SYMBOL vmlinux 0xbc65735a agp_generic_enable +EXPORT_SYMBOL vmlinux 0xbc982b06 eeh_subsystem_flags +EXPORT_SYMBOL vmlinux 0xbc9f5af2 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xbcaa3056 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcad0c22 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc15019 param_set_copystring +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbce6c71f kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xbcf14a82 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0xbcf150f9 xor_altivec_5 +EXPORT_SYMBOL vmlinux 0xbd0ba9dc pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xbd368e2a md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xbd3814e7 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd64d561 radix__local_flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd6f5135 padata_do_serial +EXPORT_SYMBOL vmlinux 0xbd72c2d4 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xbd854a89 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xbd8bfc6b __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xbdbc82af scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xbde6ac7b serio_interrupt +EXPORT_SYMBOL vmlinux 0xbe0f5ab9 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xbe30335d cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xbe36bfcc devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe72965f dev_printk_emit +EXPORT_SYMBOL vmlinux 0xbe745a70 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0xbe8e7199 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xbe9aca1e neigh_for_each +EXPORT_SYMBOL vmlinux 0xbe9dcfb0 md_flush_request +EXPORT_SYMBOL vmlinux 0xbeaa2fac __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xbeb8adae mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xbebf6486 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xbec66c3b __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xbed4ff17 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xbed9f446 pci_iounmap +EXPORT_SYMBOL vmlinux 0xbee83d81 inode_io_list_del +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefbf99b tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xbf0abecd super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xbf17d3b4 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xbf2408cd tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xbf2c7527 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xbf374a8c tty_devnum +EXPORT_SYMBOL vmlinux 0xbf58231e udp_seq_stop +EXPORT_SYMBOL vmlinux 0xbf596f45 _insl_ns +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf5f3f78 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xbf7886db kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xbf90d710 init_pseudo +EXPORT_SYMBOL vmlinux 0xbf96c238 blkdev_put +EXPORT_SYMBOL vmlinux 0xbf981492 filemap_map_pages +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa14dd1 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xbfa1fd6c dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xbfb8b0b7 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc73dc2 submit_bio +EXPORT_SYMBOL vmlinux 0xbfd098c3 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0xbfd633d7 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xbfd8bbc5 pnv_pci_get_phb_node +EXPORT_SYMBOL vmlinux 0xbfd8e550 udp_poll +EXPORT_SYMBOL vmlinux 0xbfed9709 phy_modify_paged +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff8182c plpar_hcall_norets +EXPORT_SYMBOL vmlinux 0xc00bfb78 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xc01b7dba abx500_register_ops +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc03a0df6 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xc05fdb20 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07936f9 mdio_device_create +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc083fc06 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0xc08e1286 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc096fec5 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0b346d8 opal_nx_coproc_init +EXPORT_SYMBOL vmlinux 0xc0b42a86 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xc0b871e0 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xc0bc33a9 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0d6d78f __var_waitqueue +EXPORT_SYMBOL vmlinux 0xc0ee0f28 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xc0f540ea pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xc0f928da sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc105a2da mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc12f34c0 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc1328cee start_thread +EXPORT_SYMBOL vmlinux 0xc14bcdd9 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc1768306 con_is_visible +EXPORT_SYMBOL vmlinux 0xc17f9264 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xc18ff4f0 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xc19ed25a pci_request_region +EXPORT_SYMBOL vmlinux 0xc1bfa445 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xc1bfdd23 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xc1c32cd8 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xc1ce2bd1 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1f3a94d crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xc1faeaa7 mr_table_dump +EXPORT_SYMBOL vmlinux 0xc2254912 dev_remove_offload +EXPORT_SYMBOL vmlinux 0xc2282c4e call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc254166d sk_net_capable +EXPORT_SYMBOL vmlinux 0xc2595575 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc266aaff param_ops_invbool +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc2744730 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xc279a7f9 input_event +EXPORT_SYMBOL vmlinux 0xc27bad42 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xc28f7b38 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xc295c683 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc29cafa2 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xc2a5d72a input_set_abs_params +EXPORT_SYMBOL vmlinux 0xc2b283ac bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xc2cf926e genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xc2d45325 set_blocksize +EXPORT_SYMBOL vmlinux 0xc2d6b570 kobject_add +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2fc3e11 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xc30b82cb security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc317ac57 srp_start_tl_fail_timers +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc320c913 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc3408e47 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xc35210a8 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xc379fbb4 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc383f277 iov_iter_revert +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc39c3071 __check_sticky +EXPORT_SYMBOL vmlinux 0xc3b2003e devm_free_irq +EXPORT_SYMBOL vmlinux 0xc3b51073 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xc3b617e2 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xc3c37185 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xc3cfbb58 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xc3f420de i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xc3fc4b60 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc436caf3 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xc46a23b2 iget5_locked +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc47cdf9c _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xc4ae0ff5 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4bc9936 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0xc4be0497 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0xc4c9c014 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xc4ca37ab ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xc4dc7e24 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xc4e77e05 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xc500a8c2 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xc50ce1ca nvm_unregister +EXPORT_SYMBOL vmlinux 0xc50fac92 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xc531666c udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xc5366502 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc563068e refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc588bda4 neigh_table_init +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59ae315 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xc5a396fd udplite_table +EXPORT_SYMBOL vmlinux 0xc5a3cab3 __vio_register_driver +EXPORT_SYMBOL vmlinux 0xc5a75649 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xc5a8a06a sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xc5a9a232 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5cba886 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f365d6 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5fa3567 add_random_ready_callback +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc60b21e3 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61b7232 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xc61b8087 idr_destroy +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc6221716 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc6369552 sync_file_get_fence +EXPORT_SYMBOL vmlinux 0xc63d9a19 input_register_device +EXPORT_SYMBOL vmlinux 0xc64d24f4 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0xc65ab273 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc664b528 mempool_create_node +EXPORT_SYMBOL vmlinux 0xc66611b2 skb_put +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc6943452 netdev_notice +EXPORT_SYMBOL vmlinux 0xc6a21ed0 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xc6c6229f __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6cf1032 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6d176a3 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xc6d6af46 ppc_pci_io +EXPORT_SYMBOL vmlinux 0xc6ee651f remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc7040bf5 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc7396e45 kfree_skb +EXPORT_SYMBOL vmlinux 0xc74cb11e vga_put +EXPORT_SYMBOL vmlinux 0xc7509c61 bio_advance +EXPORT_SYMBOL vmlinux 0xc75a6116 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xc761fa3a blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xc777608b devm_register_netdev +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc78e88cc of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b0fb3e seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0xc7b5a6e1 of_get_pci_address +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d0e385 single_open_size +EXPORT_SYMBOL vmlinux 0xc7f0d168 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xc7f15645 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0xc7f341ff update_devfreq +EXPORT_SYMBOL vmlinux 0xc7f484b1 ida_destroy +EXPORT_SYMBOL vmlinux 0xc7f7c9e2 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc83fe51a simple_statfs +EXPORT_SYMBOL vmlinux 0xc8413cad framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xc8474911 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8508788 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc85eff7b xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xc85f019d d_instantiate_new +EXPORT_SYMBOL vmlinux 0xc85fbae7 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88ac2aa textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8afae2d skb_split +EXPORT_SYMBOL vmlinux 0xc8bce21f generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0xc8c68f01 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0xc8edd35c ps2_drain +EXPORT_SYMBOL vmlinux 0xc8f5a95a wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xc8f703ee rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xc8fe6c67 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc914004f ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xc93168c2 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xc932a69c netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xc9488e94 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xc94b9b8f put_fs_context +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc963de3e inet_gso_segment +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc972a599 release_pages +EXPORT_SYMBOL vmlinux 0xc97d7443 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a2a23d inet_del_offload +EXPORT_SYMBOL vmlinux 0xc9a8f772 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xc9ab0ff0 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xc9bbfe69 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xc9dba17f xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xc9dc3d79 __pte_frag_size_shift +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9eb059b unregister_netdev +EXPORT_SYMBOL vmlinux 0xc9f5df62 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca1b571f pci_clear_master +EXPORT_SYMBOL vmlinux 0xca1e8d97 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca2cd19d dma_cache_sync +EXPORT_SYMBOL vmlinux 0xca3b28c6 store_vr_state +EXPORT_SYMBOL vmlinux 0xca40df39 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca447df2 inode_permission +EXPORT_SYMBOL vmlinux 0xca48d1bf of_translate_address +EXPORT_SYMBOL vmlinux 0xca500e6f dm_put_device +EXPORT_SYMBOL vmlinux 0xca7b1a6f netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9831f7 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xcacb2137 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0xcaed32f0 param_ops_long +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcaf457e4 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb2ea0b5 finish_wait +EXPORT_SYMBOL vmlinux 0xcb34a88d jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb3c8a7d ___ratelimit +EXPORT_SYMBOL vmlinux 0xcb528e09 seq_escape +EXPORT_SYMBOL vmlinux 0xcb54c637 srp_rport_get +EXPORT_SYMBOL vmlinux 0xcb579856 vif_device_init +EXPORT_SYMBOL vmlinux 0xcb5bd8bf of_match_device +EXPORT_SYMBOL vmlinux 0xcb63b7c5 cdrom_release +EXPORT_SYMBOL vmlinux 0xcb7bbdb7 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xcb7c80ef kobject_del +EXPORT_SYMBOL vmlinux 0xcb9815fb nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0xcba232d8 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcbb49f5b vio_disable_interrupts +EXPORT_SYMBOL vmlinux 0xcbc23554 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0xcbc3b94e eeh_check_failure +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbcffb51 security_sb_remount +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbe6d23f scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xcbf02422 dquot_disable +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc014a7b ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xcc17504d _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc252c77 inet6_release +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc588390 module_put +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc5f1925 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xcc626c2c completion_done +EXPORT_SYMBOL vmlinux 0xcc695bab pci_select_bars +EXPORT_SYMBOL vmlinux 0xccadef0a icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xccb6eac8 dma_fence_free +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccd4363b skb_store_bits +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xcce06f99 scsi_print_result +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd0529c7 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xcd0f3fd5 phy_find_first +EXPORT_SYMBOL vmlinux 0xcd162670 simple_get_link +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd3a54b4 nobh_write_end +EXPORT_SYMBOL vmlinux 0xcd426faa dm_unregister_target +EXPORT_SYMBOL vmlinux 0xcd518cfe dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcda077ee nf_getsockopt +EXPORT_SYMBOL vmlinux 0xcdc0349c add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdd3e700 vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0xcdda265b iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdee133c __serio_register_driver +EXPORT_SYMBOL vmlinux 0xcdf60e10 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xce03d889 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xce142331 submit_bio_wait +EXPORT_SYMBOL vmlinux 0xce18bbe1 fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0xce1a3781 inet_release +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2eb44f icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xce304c67 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce46e22a dev_change_carrier +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce636457 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xce71d888 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce7e52f0 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xce807151 idr_get_next +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb097f9 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xceb54b6a ps2_command +EXPORT_SYMBOL vmlinux 0xcec21811 genphy_read_status +EXPORT_SYMBOL vmlinux 0xcec766f1 __memset16 +EXPORT_SYMBOL vmlinux 0xced3956d unregister_filesystem +EXPORT_SYMBOL vmlinux 0xcee9261a jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf1a7a66 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf1ccd62 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xcf3c3dba uart_match_port +EXPORT_SYMBOL vmlinux 0xcf4182aa mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xcf4299d5 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xcf5129c9 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xcf5e5c6d get_tree_keyed +EXPORT_SYMBOL vmlinux 0xcf78d738 d_rehash +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa09c1d mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0xcfec1b7b register_netdev +EXPORT_SYMBOL vmlinux 0xd01835bc tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0xd0389212 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0xd03d9ba3 simple_unlink +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd056a4c1 arp_xmit +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd066a18c phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd07755a5 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0xd0780955 unlock_rename +EXPORT_SYMBOL vmlinux 0xd07cbec0 eth_type_trans +EXPORT_SYMBOL vmlinux 0xd0965270 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xd0a5db37 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0ae44fe ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0bf80f9 of_get_mac_address +EXPORT_SYMBOL vmlinux 0xd0c3d9bf get_acl +EXPORT_SYMBOL vmlinux 0xd0d3d04b d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xd0fcdb05 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd10df519 vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd149f32a __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xd14a3a68 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xd155d73b dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xd1591000 mdiobus_write +EXPORT_SYMBOL vmlinux 0xd165d5f1 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xd1784a15 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18ba372 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xd1ac9cca dma_sync_wait +EXPORT_SYMBOL vmlinux 0xd1b10e0c __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xd1bdc7bf dput +EXPORT_SYMBOL vmlinux 0xd1c665d2 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xd1d1c01c vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1da2201 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xd1f4151d nobh_write_begin +EXPORT_SYMBOL vmlinux 0xd1f73438 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd22feb7e generic_update_time +EXPORT_SYMBOL vmlinux 0xd247bb20 kern_path_create +EXPORT_SYMBOL vmlinux 0xd24b336a register_md_personality +EXPORT_SYMBOL vmlinux 0xd2507d12 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd2624f28 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd26da7dc input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd27c7a3e vfs_mknod +EXPORT_SYMBOL vmlinux 0xd293f93c dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0xd2b046ff pci_find_hose_for_OF_device +EXPORT_SYMBOL vmlinux 0xd2c0990e tty_unthrottle +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2fa1acd tcp_time_wait +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd32ee431 md_handle_request +EXPORT_SYMBOL vmlinux 0xd33a3ccd jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xd33c32bd mutex_is_locked +EXPORT_SYMBOL vmlinux 0xd34328a1 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xd34527d6 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xd34dc3ef of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35e9987 dquot_acquire +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd371d866 param_set_invbool +EXPORT_SYMBOL vmlinux 0xd381b377 unix_get_socket +EXPORT_SYMBOL vmlinux 0xd3858258 vfs_llseek +EXPORT_SYMBOL vmlinux 0xd38b1ecf input_release_device +EXPORT_SYMBOL vmlinux 0xd3b0f4ea generic_read_dir +EXPORT_SYMBOL vmlinux 0xd3bbe51c __xa_alloc +EXPORT_SYMBOL vmlinux 0xd3bcc1fd bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0xd3daa9ed inet6_getname +EXPORT_SYMBOL vmlinux 0xd3de33ed rps_needed +EXPORT_SYMBOL vmlinux 0xd3e74d03 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3efbb6a f_setown +EXPORT_SYMBOL vmlinux 0xd3f1c031 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xd3f2ff2a skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xd3f7574d seq_release +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd4268447 forget_cached_acl +EXPORT_SYMBOL vmlinux 0xd4380add dm_io +EXPORT_SYMBOL vmlinux 0xd438f0a1 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xd4490a8a vio_enable_interrupts +EXPORT_SYMBOL vmlinux 0xd44a4765 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xd44e4b25 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd4b6e628 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bb8242 generic_setlease +EXPORT_SYMBOL vmlinux 0xd4d7c068 fsl_upm_find +EXPORT_SYMBOL vmlinux 0xd4d85e4a blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0xd4f511ca delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4fd0ec2 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xd51baea8 dquot_resume +EXPORT_SYMBOL vmlinux 0xd5224e95 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5399e62 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0xd561406b seq_release_private +EXPORT_SYMBOL vmlinux 0xd566f7e9 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xd56bda7e mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xd57d077c pci_release_region +EXPORT_SYMBOL vmlinux 0xd586024c netdev_emerg +EXPORT_SYMBOL vmlinux 0xd58fbd3d vme_register_error_handler +EXPORT_SYMBOL vmlinux 0xd598ddb5 unpin_user_pages +EXPORT_SYMBOL vmlinux 0xd59f65fa ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xd5a0b07f xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd5b12f7d radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5bbb3b7 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0xd5be130e cpu_core_map +EXPORT_SYMBOL vmlinux 0xd5bf2cdb revalidate_disk +EXPORT_SYMBOL vmlinux 0xd5cb9058 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0xd5dc5e1d touch_buffer +EXPORT_SYMBOL vmlinux 0xd5e186ac skb_pull +EXPORT_SYMBOL vmlinux 0xd5e5d5dc kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd5e82368 kobject_init +EXPORT_SYMBOL vmlinux 0xd5edac55 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xd5f48e70 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd61a7205 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xd6229567 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd649d519 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xd655622d forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xd67efa2c ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd68f86b0 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xd69948fb proc_dointvec +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6af0c00 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0xd6bc7153 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0xd6cdacb7 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xd6d0eb43 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xd6d1038f sock_efree +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f40cab page_symlink +EXPORT_SYMBOL vmlinux 0xd6fd4053 __arch_hweight32 +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70e2986 __mdiobus_register +EXPORT_SYMBOL vmlinux 0xd70e389d ps2_handle_response +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd74e8282 skb_clone +EXPORT_SYMBOL vmlinux 0xd75997ed skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xd762239e ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xd76de71f vme_slot_num +EXPORT_SYMBOL vmlinux 0xd786c0ea plpar_hcall9 +EXPORT_SYMBOL vmlinux 0xd7a66bab udp6_csum_init +EXPORT_SYMBOL vmlinux 0xd7a6f8e8 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xd7abd16c con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xd7bd0f10 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d6bb50 param_set_short +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd80d6637 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xd81993c4 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xd81f278d input_get_timestamp +EXPORT_SYMBOL vmlinux 0xd84821cf do_SAK +EXPORT_SYMBOL vmlinux 0xd85447a3 simple_empty +EXPORT_SYMBOL vmlinux 0xd8548b30 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd8613c1b security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xd86c49db send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xd88266a2 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8c21ca5 pci_set_master +EXPORT_SYMBOL vmlinux 0xd8c5685c genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xd8e2e5a0 finalize_exec +EXPORT_SYMBOL vmlinux 0xd8f58d43 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd923e3bf dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0xd929e3bf insert_inode_locked +EXPORT_SYMBOL vmlinux 0xd93427b3 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xd93a6f6b icmp6_send +EXPORT_SYMBOL vmlinux 0xd941b229 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xd95b811c pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xd982b245 qdisc_put +EXPORT_SYMBOL vmlinux 0xd983638f dquot_release +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9fe8bd0 radix__flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xda168f01 vme_bus_type +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda42034c phy_write_paged +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda8e114f devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xda906b82 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xda9cc448 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaaec25d prepare_creds +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdac545b9 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0xdacfc5c7 netlink_ack +EXPORT_SYMBOL vmlinux 0xdae4ac91 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xdae57638 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xdaea0dc9 kobject_get +EXPORT_SYMBOL vmlinux 0xdaf4f222 setattr_copy +EXPORT_SYMBOL vmlinux 0xdb0f2005 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xdb4ae468 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xdb530339 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6b4330 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xdb6f2773 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb89d5da __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xdb8fa3fc of_parse_phandle +EXPORT_SYMBOL vmlinux 0xdba0c600 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xdbc50e56 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xdbdaa0f1 sk_alloc +EXPORT_SYMBOL vmlinux 0xdbdd15f8 register_filesystem +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbf3110e gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xdbfa0017 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xdc015f94 ps2_end_command +EXPORT_SYMBOL vmlinux 0xdc04c488 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xdc08b1ed agp_bind_memory +EXPORT_SYMBOL vmlinux 0xdc08e2dd devm_iounmap +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc15c9d6 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc496b9a proc_set_size +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc6cc830 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xdc77f0d9 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xdc7ff804 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdca3c9c7 eeh_dev_release +EXPORT_SYMBOL vmlinux 0xdcb2edbc __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc47b34 discard_new_inode +EXPORT_SYMBOL vmlinux 0xdcc80e12 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xdcdbdf9b scmd_printk +EXPORT_SYMBOL vmlinux 0xdcdfc672 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0xdce98060 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xdcf4b6d0 param_set_uint +EXPORT_SYMBOL vmlinux 0xdd005965 truncate_setsize +EXPORT_SYMBOL vmlinux 0xdd27e542 blackhole_netdev +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd342054 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd659de9 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd828515 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd9a8eb1 nd_dax_probe +EXPORT_SYMBOL vmlinux 0xdda2696e module_layout +EXPORT_SYMBOL vmlinux 0xdda595af elevator_alloc +EXPORT_SYMBOL vmlinux 0xddb3769b lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xddb3ff34 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xddbb81bf netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xddc38e05 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xddcb656a simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xdddf6479 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xddefed93 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0xddf8eddb udplite_prot +EXPORT_SYMBOL vmlinux 0xddfd17a8 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xddfd824a of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xde0108f9 of_read_drc_info_cell +EXPORT_SYMBOL vmlinux 0xde086ce3 mach_pseries +EXPORT_SYMBOL vmlinux 0xde0b4642 ilookup +EXPORT_SYMBOL vmlinux 0xde0fb6ef mdio_bus_type +EXPORT_SYMBOL vmlinux 0xde18c6da get_tz_trend +EXPORT_SYMBOL vmlinux 0xde2066c0 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xde274910 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xde2a2cb4 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xde3a75d3 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xde48e9ca _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde5be9e5 pmem_sector_size +EXPORT_SYMBOL vmlinux 0xde656594 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xde674dcd sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xde71bc24 iov_iter_npages +EXPORT_SYMBOL vmlinux 0xde87bac9 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0xde90d582 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xde91448c load_vr_state +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdea64727 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdedfca77 dev_add_pack +EXPORT_SYMBOL vmlinux 0xdef1c412 unregister_key_type +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdeff3b9a of_platform_device_create +EXPORT_SYMBOL vmlinux 0xdf00b5d7 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xdf07782e tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xdf1a0863 dump_page +EXPORT_SYMBOL vmlinux 0xdf209428 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xdf29d841 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf350f4d dev_driver_string +EXPORT_SYMBOL vmlinux 0xdf42b573 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xdf43e1fb dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xdf48e6ab vlan_vid_add +EXPORT_SYMBOL vmlinux 0xdf4d927e kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf5d5fb8 xp_dma_map +EXPORT_SYMBOL vmlinux 0xdf704a82 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xdf7c6e60 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xdf7ccf93 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xdf87a4d0 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf92c530 ip_frag_next +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfa58ca0 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xdfba886c vme_irq_handler +EXPORT_SYMBOL vmlinux 0xdfc3fac0 seq_write +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfd471b5 i2c_transfer +EXPORT_SYMBOL vmlinux 0xdfdaa89f dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe6dd84 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xdff54c4f unix_attach_fds +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0010a80 agp_free_memory +EXPORT_SYMBOL vmlinux 0xe0063bf8 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0xe007516d scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe01dacf0 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xe022e639 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0xe037ff61 inet6_offloads +EXPORT_SYMBOL vmlinux 0xe03e99a4 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xe03ead3d pci_find_resource +EXPORT_SYMBOL vmlinux 0xe04a4526 finish_no_open +EXPORT_SYMBOL vmlinux 0xe060b653 set_security_override +EXPORT_SYMBOL vmlinux 0xe0655322 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xe08481d4 __alloc_skb +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe08902c8 kern_unmount_array +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe09a283b kernel_bind +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b33769 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0xe0b3bd35 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0xe0c7ba2a netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xe0da19b6 skb_seq_read +EXPORT_SYMBOL vmlinux 0xe0e43184 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xe10bb658 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xe1120654 set_device_ro +EXPORT_SYMBOL vmlinux 0xe11c11ab rfkill_alloc +EXPORT_SYMBOL vmlinux 0xe11c1a1c __frontswap_store +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe124e945 vio_unregister_driver +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe151f051 start_tty +EXPORT_SYMBOL vmlinux 0xe15e94f1 page_pool_put_page +EXPORT_SYMBOL vmlinux 0xe17d9b2d pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xe17e0fbf module_refcount +EXPORT_SYMBOL vmlinux 0xe17f0943 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xe18bc2be __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xe198b753 vc_cons +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1b59ae9 __debugger +EXPORT_SYMBOL vmlinux 0xe1be1892 udp_disconnect +EXPORT_SYMBOL vmlinux 0xe1bf2cd7 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xe1c73963 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xe1cb0915 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xe1d455f2 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1e979f9 fqdir_init +EXPORT_SYMBOL vmlinux 0xe2027e3f skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0xe20ea3c7 sock_pfree +EXPORT_SYMBOL vmlinux 0xe216aee5 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xe217a73f pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2740758 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe27f8086 cdev_alloc +EXPORT_SYMBOL vmlinux 0xe2808e84 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0xe290f3fd tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xe2c735fd iov_iter_advance +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2dc41c9 ps2_init +EXPORT_SYMBOL vmlinux 0xe2e51549 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xe2f289df generic_write_end +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe32845c2 d_tmpfile +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe337d455 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xe379ef76 mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xe37bf440 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xe399d94d param_ops_uint +EXPORT_SYMBOL vmlinux 0xe39f2083 put_disk_and_module +EXPORT_SYMBOL vmlinux 0xe3a4be07 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xe3ac0f5c flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xe3bd11d5 inet6_del_offload +EXPORT_SYMBOL vmlinux 0xe3c023b5 ptp_clock_event +EXPORT_SYMBOL vmlinux 0xe3c463b4 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xe3c77a79 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xe3cbb0df netif_skb_features +EXPORT_SYMBOL vmlinux 0xe3d3b45c devfreq_update_status +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f29f70 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe4022c28 nd_device_register +EXPORT_SYMBOL vmlinux 0xe41136f5 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe431d238 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe434149c mmc_add_host +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe4432110 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xe4501673 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xe464db61 register_framebuffer +EXPORT_SYMBOL vmlinux 0xe46f2572 fb_blank +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48e313f devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xe4c0b813 scsi_device_get +EXPORT_SYMBOL vmlinux 0xe4c387db security_cred_getsecid +EXPORT_SYMBOL vmlinux 0xe4d17720 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xe4e22d07 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xe4e7bd59 update_region +EXPORT_SYMBOL vmlinux 0xe4e7cff3 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe4efb700 register_sysctl +EXPORT_SYMBOL vmlinux 0xe4f36340 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xe4fafb75 tcp_close +EXPORT_SYMBOL vmlinux 0xe4fe8ca1 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe5052c35 gtm_set_timer16 +EXPORT_SYMBOL vmlinux 0xe51bde54 memcpy_page_flushcache +EXPORT_SYMBOL vmlinux 0xe51d5231 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5382195 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xe53b3bbd nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xe54ba642 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xe54d12a1 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xe55ede0e __udp_disconnect +EXPORT_SYMBOL vmlinux 0xe5680d60 mr_dump +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe589ddf6 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe592cb9f __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xe5a207be blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xe5a2081d poll_initwait +EXPORT_SYMBOL vmlinux 0xe5ae3c01 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xe5afc72f phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xe5b13fa1 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c6b443 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d71a61 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xe5ddbdda __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xe5f5d6fe udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xe6004371 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe60e8c96 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe64c2d11 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xe66c5659 tty_check_change +EXPORT_SYMBOL vmlinux 0xe67d7f4a fget_raw +EXPORT_SYMBOL vmlinux 0xe683f9ed truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xe6861ca9 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe694077f gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xe6b17001 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xe6bf0ec5 pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xe6c9412c config_group_init +EXPORT_SYMBOL vmlinux 0xe6cf5d78 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xe6d918cd devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xe6e846b3 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe745cd54 consume_skb +EXPORT_SYMBOL vmlinux 0xe74a705d try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xe74c3f7c radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xe760e4b0 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xe76a7e3a tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xe76cb16d xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe78110ef pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xe7988dd0 phy_suspend +EXPORT_SYMBOL vmlinux 0xe7af23f1 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d093a2 proto_unregister +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe8002040 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0xe80fcf56 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xe82baa63 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xe836def4 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xe84e8680 par_io_of_config +EXPORT_SYMBOL vmlinux 0xe878cc22 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xe89a3be9 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xe8af6984 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0xe8c7181c account_page_redirty +EXPORT_SYMBOL vmlinux 0xe8c9d666 set_cached_acl +EXPORT_SYMBOL vmlinux 0xe8cb1670 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0xe8d54c77 xa_clear_mark +EXPORT_SYMBOL vmlinux 0xe8f9a8f4 bio_reset +EXPORT_SYMBOL vmlinux 0xe9037906 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xe90df204 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe915615e inetdev_by_index +EXPORT_SYMBOL vmlinux 0xe927ead3 drop_super +EXPORT_SYMBOL vmlinux 0xe928ba90 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xe9465442 sget_fc +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9695490 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xe9833379 dump_align +EXPORT_SYMBOL vmlinux 0xe98397b6 tcp_peek_len +EXPORT_SYMBOL vmlinux 0xe986aa9f ___pskb_trim +EXPORT_SYMBOL vmlinux 0xe9967344 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xe99bf016 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xe9ad2cdc get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xe9ae6475 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xe9b5052d remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xe9e52d95 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xe9f26de2 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9fc8b01 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xea2044c7 fb_pan_display +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea426e43 mempool_resize +EXPORT_SYMBOL vmlinux 0xea57aac3 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xea5acb14 dquot_drop +EXPORT_SYMBOL vmlinux 0xea64dffc jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xea6880eb md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xea688bd5 md_finish_reshape +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea7a25b8 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xea80392f on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xeaa6a110 netdev_state_change +EXPORT_SYMBOL vmlinux 0xeaa98fc3 pcim_iomap +EXPORT_SYMBOL vmlinux 0xeaabfbf2 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xeae88c57 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xeaf90db9 follow_down_one +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeafef92c neigh_seq_start +EXPORT_SYMBOL vmlinux 0xeb2188fe security_socket_socketpair +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb4162e2 of_dev_put +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb481086 arp_send +EXPORT_SYMBOL vmlinux 0xeb495f32 d_alloc_name +EXPORT_SYMBOL vmlinux 0xeb5f7803 compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xeb660ce3 srp_reconnect_rport +EXPORT_SYMBOL vmlinux 0xeb8c7b7b cxl_use_count +EXPORT_SYMBOL vmlinux 0xeb8f2d4f __pmd_frag_size_shift +EXPORT_SYMBOL vmlinux 0xeb9902dd rtnl_create_link +EXPORT_SYMBOL vmlinux 0xeb9a5724 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0xeb9c174e inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xebc1a9a5 mach_powernv +EXPORT_SYMBOL vmlinux 0xebca0411 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xebcaa15f netdev_features_change +EXPORT_SYMBOL vmlinux 0xebcd68e6 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xebd32cdd dma_fence_get_status +EXPORT_SYMBOL vmlinux 0xebe2bc83 free_netdev +EXPORT_SYMBOL vmlinux 0xebecc2ce bh_submit_read +EXPORT_SYMBOL vmlinux 0xebf29978 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0xec15717f fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xec244554 inode_init_once +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec4fb493 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xec5c72d0 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xec7f8025 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xec8ba677 write_cache_pages +EXPORT_SYMBOL vmlinux 0xec97ead8 __kernel_io_start +EXPORT_SYMBOL vmlinux 0xecb4ed71 tty_port_init +EXPORT_SYMBOL vmlinux 0xecbb926f xor_altivec_3 +EXPORT_SYMBOL vmlinux 0xecd24830 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xecd45ce9 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xece9516f clocksource_unregister +EXPORT_SYMBOL vmlinux 0xecf5e93f skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xed153705 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xed29c294 follow_up +EXPORT_SYMBOL vmlinux 0xed328793 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xed423586 __scm_send +EXPORT_SYMBOL vmlinux 0xed45552b devm_rproc_add +EXPORT_SYMBOL vmlinux 0xed4a6c68 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xed4e1694 dma_resv_fini +EXPORT_SYMBOL vmlinux 0xed571c2d pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xed72ad53 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0xed7f7382 bio_chain +EXPORT_SYMBOL vmlinux 0xed870f8d phy_start +EXPORT_SYMBOL vmlinux 0xed89f2ce vme_dma_list_add +EXPORT_SYMBOL vmlinux 0xed94b3e8 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xeda0fe28 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0xedb5b8f5 unix_gc_lock +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedcee727 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0xedd1079e netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xedd175e6 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xedd4fdea pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xede956ea inc_node_state +EXPORT_SYMBOL vmlinux 0xedfb0e06 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0xee02f958 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xee123206 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xee1379cb __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xee1905b6 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee331f02 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xee5797b4 current_in_userns +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee5eccd0 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xee6cfafd filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xee89cd7c request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea15927 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xeebd9ee3 __quota_error +EXPORT_SYMBOL vmlinux 0xeed13a38 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xeed5bcca __pud_table_size +EXPORT_SYMBOL vmlinux 0xeed8d067 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xeedcfbf4 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xeedf0f5f con_copy_unimap +EXPORT_SYMBOL vmlinux 0xeeffa34b xps_needed +EXPORT_SYMBOL vmlinux 0xef02f586 peernet2id +EXPORT_SYMBOL vmlinux 0xef06ec84 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xef30932b tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xef35e261 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xef589237 param_ops_charp +EXPORT_SYMBOL vmlinux 0xef607fbc twl6040_power +EXPORT_SYMBOL vmlinux 0xef65421d write_inode_now +EXPORT_SYMBOL vmlinux 0xef70ba29 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xef71a22c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xef91f3ea flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xef942590 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xef9def28 new_inode +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefaf3b5a scsi_target_resume +EXPORT_SYMBOL vmlinux 0xefb16ef2 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xefb65113 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xefcb021a end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefe001b1 inode_init_owner +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefebbd40 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xeff895ca kernel_read +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0050eb6 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf00af73d ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xf0329ad1 down_read_trylock +EXPORT_SYMBOL vmlinux 0xf0397e64 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xf044fe7f __inet_hash +EXPORT_SYMBOL vmlinux 0xf045bcf6 __sock_create +EXPORT_SYMBOL vmlinux 0xf048511b netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf07350bd proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xf07fe9a0 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xf0824724 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xf088fd7d blk_execute_rq +EXPORT_SYMBOL vmlinux 0xf0892f84 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf092de0d pnv_cxl_ioda_msi_setup +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a4e61b kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xf0c1fe54 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xf0cc41ab flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xf0ce054d i2c_del_driver +EXPORT_SYMBOL vmlinux 0xf0f3d82d super_setup_bdi +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf10bb7c7 udp6_set_csum +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf10e9292 _dev_emerg +EXPORT_SYMBOL vmlinux 0xf116cbd1 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xf11cd6ce down_interruptible +EXPORT_SYMBOL vmlinux 0xf1349228 swake_up_locked +EXPORT_SYMBOL vmlinux 0xf142d731 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xf15b36a0 kill_block_super +EXPORT_SYMBOL vmlinux 0xf15eb04c compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xf160a4a6 bio_free_pages +EXPORT_SYMBOL vmlinux 0xf1727a77 __free_pages +EXPORT_SYMBOL vmlinux 0xf186261b flush_dcache_icache_page +EXPORT_SYMBOL vmlinux 0xf1939bc6 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0xf194f97b uart_resume_port +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19da549 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xf19f8825 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xf1a0b2fd of_get_ibm_chip_id +EXPORT_SYMBOL vmlinux 0xf1a694ca skb_checksum_help +EXPORT_SYMBOL vmlinux 0xf1c61fb7 sock_alloc +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d18e90 _outsw_ns +EXPORT_SYMBOL vmlinux 0xf1d75b33 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dc6d00 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e63929 devmap_managed_key +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1ed4161 phy_read_mmd +EXPORT_SYMBOL vmlinux 0xf1fc42f5 tty_do_resize +EXPORT_SYMBOL vmlinux 0xf20145d7 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xf2023111 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xf206a09b neigh_connected_output +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf227e7da __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf236e769 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2588615 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xf262e378 bio_clone_fast +EXPORT_SYMBOL vmlinux 0xf265811f inet_addr_type +EXPORT_SYMBOL vmlinux 0xf2705d8b ucc_fast_init +EXPORT_SYMBOL vmlinux 0xf28117a4 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf289ccad pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0xf2927c93 vmap +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2abd56d netif_carrier_off +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2e1a9d8 tcp_release_cb +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ea9787 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xf2ee8a4e nf_log_unset +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf30a2d56 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +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 0xf365c330 inc_nlink +EXPORT_SYMBOL vmlinux 0xf36b0e99 dqget +EXPORT_SYMBOL vmlinux 0xf37d9ae9 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xf37e2c64 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38ddb4a of_node_to_nid +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3c453dc fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xf3c51c8b del_gendisk +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3e7c75e tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xf3eb94a5 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xf3fee7a5 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xf40b0799 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf4284670 clk_add_alias +EXPORT_SYMBOL vmlinux 0xf42d64ca proc_dostring +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf459da70 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xf472017a swake_up_all +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf486d9c1 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xf48f75a9 get_fs_type +EXPORT_SYMBOL vmlinux 0xf49be36a serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xf49bec6c __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xf4a52cce skb_checksum +EXPORT_SYMBOL vmlinux 0xf4a6bc86 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0xf4ab9e4c padata_stop +EXPORT_SYMBOL vmlinux 0xf4b59c31 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c08a68 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xf4c13164 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xf4cdd052 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xf4d5f89c sock_create_lite +EXPORT_SYMBOL vmlinux 0xf4d61909 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xf4da7e72 d_set_d_op +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4fa2649 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xf50a51e0 of_device_alloc +EXPORT_SYMBOL vmlinux 0xf50eeabf tcp_parse_options +EXPORT_SYMBOL vmlinux 0xf5222143 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53efbff dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xf53f722e trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xf546b61d filemap_fault +EXPORT_SYMBOL vmlinux 0xf5488fd9 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xf54c96be blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xf55145a9 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf551d2ef genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0xf559f45f devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xf55b3b3d __arch_hweight16 +EXPORT_SYMBOL vmlinux 0xf5752bc9 netdev_info +EXPORT_SYMBOL vmlinux 0xf5795692 ping_prot +EXPORT_SYMBOL vmlinux 0xf579a361 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5abf148 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xf5c4b444 memcpy_flushcache +EXPORT_SYMBOL vmlinux 0xf5c817af i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf5c9a449 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xf5d1994e pci_pme_active +EXPORT_SYMBOL vmlinux 0xf5e00e78 d_set_fallthru +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5f4e0b0 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xf5fb84d5 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xf6150d63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xf61669c8 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xf6249bff of_find_property +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf6320ec6 ptp_clock_register +EXPORT_SYMBOL vmlinux 0xf63da743 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf648b2a7 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xf65ce796 finish_swait +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf67014b9 __kfree_skb +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6a529ae qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xf6e063cc generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xf6e41480 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xf6e77961 follow_down +EXPORT_SYMBOL vmlinux 0xf6e8bd5d __neigh_create +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7069d17 simple_write_end +EXPORT_SYMBOL vmlinux 0xf726e060 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0xf72fd17c phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf742653a pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xf7481ac2 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xf74a63f2 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0xf74a65fc i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75c18a3 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xf76a12e6 phy_drivers_register +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf780d32f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xf7a9bd10 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xf7c2df39 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xf7dd5f40 simple_link +EXPORT_SYMBOL vmlinux 0xf7f03d9c block_read_full_page +EXPORT_SYMBOL vmlinux 0xf810efaf inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf826caac mdio_device_reset +EXPORT_SYMBOL vmlinux 0xf829eb27 md_integrity_register +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf849a072 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xf8507e27 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xf8595958 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xf86839b1 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xf86bfc79 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf89301de genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xf8945f99 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xf8976156 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xf8a9b41d dev_get_stats +EXPORT_SYMBOL vmlinux 0xf8ab1194 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xf8ae2891 __skb_pad +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8cc81f8 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xf8ce1c36 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8db6ec5 notify_change +EXPORT_SYMBOL vmlinux 0xf8dbbb8f __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0xf8e1115e _outsl_ns +EXPORT_SYMBOL vmlinux 0xf8ef6fcd input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf906f63e adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xf90cff77 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf936944a sock_no_accept +EXPORT_SYMBOL vmlinux 0xf93bd912 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf942d86b dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf95648b1 ipv4_specific +EXPORT_SYMBOL vmlinux 0xf96ec242 rfs_needed +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf9827244 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xf9831c5b vio_find_node +EXPORT_SYMBOL vmlinux 0xf9a22a62 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b1cdcd smp_call_function_many +EXPORT_SYMBOL vmlinux 0xf9b3e2f2 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xf9ba0b68 rtas +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9c1b3cc set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xf9d8492c cdev_add +EXPORT_SYMBOL vmlinux 0xf9df0c5a xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xf9e1c67e skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f465ed __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xfa15736d skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xfa4cf647 audit_log +EXPORT_SYMBOL vmlinux 0xfa5322ce xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa59ec18 unregister_console +EXPORT_SYMBOL vmlinux 0xfa831ffe eth_mac_addr +EXPORT_SYMBOL vmlinux 0xfa86c106 simple_rename +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa895f52 of_clk_get +EXPORT_SYMBOL vmlinux 0xfa8c95d5 path_is_under +EXPORT_SYMBOL vmlinux 0xfa8c985e csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xfa95910e unload_nls +EXPORT_SYMBOL vmlinux 0xfa95aab8 dump_emit +EXPORT_SYMBOL vmlinux 0xfab1691a set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xfab4fcb0 find_inode_rcu +EXPORT_SYMBOL vmlinux 0xfab67519 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacd9787 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xfad18380 nvm_register +EXPORT_SYMBOL vmlinux 0xfae8ede5 inet_protos +EXPORT_SYMBOL vmlinux 0xfb065530 dget_parent +EXPORT_SYMBOL vmlinux 0xfb232c7e idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xfb245227 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xfb2c57fa vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0xfb31677d netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb4321f0 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb83d04e ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xfb8d873a init_on_free +EXPORT_SYMBOL vmlinux 0xfb941809 d_add +EXPORT_SYMBOL vmlinux 0xfb9fec1b __netif_schedule +EXPORT_SYMBOL vmlinux 0xfba4a58a iov_iter_init +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 0xfbc46244 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbcabd7c dquot_free_inode +EXPORT_SYMBOL vmlinux 0xfbde2425 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xfbe27985 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xfbe61d64 sync_blockdev +EXPORT_SYMBOL vmlinux 0xfbf39947 phy_attached_info +EXPORT_SYMBOL vmlinux 0xfbfe0e86 ucc_fast_free +EXPORT_SYMBOL vmlinux 0xfc1be34e skb_dequeue +EXPORT_SYMBOL vmlinux 0xfc29cce9 inet_ioctl +EXPORT_SYMBOL vmlinux 0xfc2bdaff xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3d8db9 component_match_add_release +EXPORT_SYMBOL vmlinux 0xfc48b420 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xfc5c4f65 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xfc657531 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcd08d06 __nd_driver_register +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcd69bd1 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xfcd8cc82 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xfce491e7 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfd328645 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xfd3c1690 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xfd5ea356 seq_hex_dump +EXPORT_SYMBOL vmlinux 0xfd8bf429 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xfda1dc3e mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0xfda6f292 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdb6cedc _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe1e1b add_to_pipe +EXPORT_SYMBOL vmlinux 0xfdc066af dev_get_mac_address +EXPORT_SYMBOL vmlinux 0xfdc5212a ppp_input +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd4216d pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xfdd6bbad __wake_up +EXPORT_SYMBOL vmlinux 0xfdea6245 may_umount +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdeeba95 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfdfcdd5f __csum_partial +EXPORT_SYMBOL vmlinux 0xfdff71c1 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe1db5dc scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xfe1e079e tty_vhangup +EXPORT_SYMBOL vmlinux 0xfe1f51aa nf_setsockopt +EXPORT_SYMBOL vmlinux 0xfe2a4380 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe57ef28 block_write_begin +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe7626b0 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xfe81140d devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0xfe8e5a2a file_open_root +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec8e124 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xfedb9324 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee6f789 radix__local_flush_tlb_page +EXPORT_SYMBOL vmlinux 0xfee709d6 seq_open_private +EXPORT_SYMBOL vmlinux 0xfeeae027 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xfefe75dc vfs_iter_read +EXPORT_SYMBOL vmlinux 0xff169774 dev_addr_add +EXPORT_SYMBOL vmlinux 0xff16c7cb __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xff17557d pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff21cf56 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xff375712 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xff3fb3e9 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0xff56002b sock_no_getname +EXPORT_SYMBOL vmlinux 0xff58f341 genlmsg_put +EXPORT_SYMBOL vmlinux 0xff5f198b get_phy_device +EXPORT_SYMBOL vmlinux 0xff5f5a05 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff763412 bioset_exit +EXPORT_SYMBOL vmlinux 0xff8bd3b0 cur_cpu_spec +EXPORT_SYMBOL vmlinux 0xff8ff460 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffa8bda8 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xffac5d2d __ps2_command +EXPORT_SYMBOL vmlinux 0xffe690fd udp_table +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x071c02d1 kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x088993b1 vcpu_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x0a781083 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x108ab209 kvmppc_xics_rm_complete +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x10b28747 kvmppc_handle_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x115d23eb kvm_get_dirty_log +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1247b047 kvm_init +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x14392ba8 kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1491eac3 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1746e829 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x196b9c32 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1a7b0e9e kvmppc_core_queue_data_storage +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1ac3d77c kvmppc_h_put_tce_indirect +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1e3552f4 kvmppc_ld +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x22117dc6 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2765ca53 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x29222883 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2ac13402 kvmppc_xive_clr_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2adfbc4c kvm_vcpu_block +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2c954a5d kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2d87810a kvmppc_xive_set_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x308bf58c kvmppc_emulate_mmio +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x316e27fc __tracepoint_kvm_ppc_instr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x3204bba7 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x32542bb5 kvmppc_sanity_check +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x378d3b26 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x388908b5 kvmppc_xics_clr_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x3aa8108f gfn_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x3e6a5dc4 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x42d1d843 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x473b8716 kvmppc_hv_ops +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4bcdaf60 kvmppc_h_logical_ci_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4d49aecc kvmppc_set_msr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5537c167 kvm_write_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x55f7fd98 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5d820528 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5e51efc2 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x61f46a94 kvmppc_book3s_queue_irqprio +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x62b34213 kvmppc_xics_set_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6308ed4d kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x63c7dc65 kvmppc_kvm_pv +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x63e0d534 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x643fe043 gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x65d7dc1e kvmppc_core_prepare_to_enter +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6830e9a6 kvmppc_core_queue_inst_storage +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x69480f7e kvmppc_h_stuff_tce +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6b4d46cb kvm_read_guest +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 0x7e02a889 kvmppc_handle_store +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x848423e1 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x848e556a kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x889b17a9 kvmppc_pr_ops +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8c9d9784 kvmppc_xive_push_vcpu +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x928d2f82 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x937f7e99 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x9718d4b0 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x9759ebab kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x976b1c47 kvmppc_rtas_hcall +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x9c916aa9 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa3da8e3b kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa55ce6bf kvm_unmap_gfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa677ba3c kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xab59d373 kvmppc_free_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xad65830d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xadf83ffe kvmppc_st +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xafb73da9 kvmppc_h_put_tce +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb1b5c812 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb1bed7f6 kvmppc_load_last_inst +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb2b36af1 kvmppc_gpa_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb36cebf4 kvmppc_h_logical_ci_store +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb381cf28 kvmppc_core_queue_program +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb5f7a078 kvm_map_gfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb84d395b kvm_vcpu_destroy +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb96d55a3 kvmppc_core_queue_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xba0955c8 gfn_to_hva +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xbea5d358 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc1024a15 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc688b3bc kvmppc_xics_hcall +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc708af4a kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc70e4b59 kvmppc_claim_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xca9483f1 vcpu_put +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcc44961f kvmppc_alloc_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcc554a14 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcc5feeb4 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcc9b036d kvmppc_core_dequeue_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xced0f498 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcf4f5ad7 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xd0eb946f gfn_to_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xd242a5a9 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xdd44d2c9 gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe1663017 kvmppc_prepare_to_enter +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe2b65dbc kvmppc_core_queue_machine_check +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe2f1be6f kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe65c5f4c gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xead80507 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xee81a118 mark_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf19928a4 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf30ad79d kvmppc_core_pending_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf3288a8b kvm_put_kvm +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf4da3546 kvmppc_init_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf81ff630 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xfc1a8337 kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm-hv 0x0efd3975 kvmhv_copy_to_guest_radix +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm-hv 0xc962f056 kvmhv_copy_from_guest_radix +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm-hv 0xf8aeb0ea __kvmhv_copy_tofrom_guest_radix +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm-pr 0xc03647ed kvmppc_emulate_instruction +EXPORT_SYMBOL_GPL crypto/af_alg 0x04645c19 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x0d0246bc af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x1fa13b73 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x215a5343 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x257cc20f af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x2ba5f4cb af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x3e3da30d af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5fe6dcd6 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x9428c831 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x9db5198f af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0xac49fda7 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xbaec3fb3 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0xde707a11 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0xe1757148 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xe2762c75 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xe2b21e56 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xea5600ea af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xf18c5fbf af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0xa84067ba asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x4858f559 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x70bb71ab async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa34df9b6 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x709e7813 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x95e4077a async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x934a82eb __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbbf30aa6 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xdcd5ad2f async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe3ab06f1 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x9416c16c async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xeebb14bc async_xor_val +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x61595e57 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xb9a4a5fd 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 0x97e2ce39 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 0x05c2a3a2 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x05f81757 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x0d4a7ec1 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x242bcddc cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x2fdff45b cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x344ef23b cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x47d28ffa cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x4ca27d3a cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x50832a12 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x6fdbf0a1 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x86d27608 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xd93086bf cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xe63c29d6 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x02ac5cf9 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x145cf89d crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x177e4aa6 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x463e290b crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5f47d813 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7f8b1186 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x851c8362 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xab130976 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc4b3668d crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd1e5612b crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xdd08e93e crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe0713ba4 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf25286ca crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4a06da2b 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x4ec85ee3 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x73805e98 crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xe45f7d07 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/twofish_common 0xb97205ef twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x06eadfaf ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0a2ccc30 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x10c579ce ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x115e7196 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x13a0ecf2 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x25a07d3a ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2625fd4c ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x267d9f2c ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x332c64f0 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x365f6cb2 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x38e5d12b ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x42efd62c ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4a0cf9db ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4e28f3d2 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eee756d ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6b4d8d49 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x79ad192d ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8812d4ff ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc4c7deb5 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd4a6e6fd ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe58505a1 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf94710b1 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfa6f633a ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfd36db17 ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x1929a125 ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x1a1b946b ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x378d3dff ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x506b8292 ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x51d243a0 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x5adc4534 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x7dd58b1d ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x8c0f8ae7 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x90fc0706 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x98927e5f ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xa44fa8a2 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xbd451c6a ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc210d6fd ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc3d3a084 ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xff80655c ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xff8f0a06 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xbd3640f0 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0xab67a154 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +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/base/regmap/regmap-i3c 0x4908e5cc __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xef789566 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xf38da037 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x44945e2e __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xbc76031f __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x1df121cb __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x2ffbca4d __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x4dc8aa69 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb17560a6 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb293d3bd __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb9b4b156 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x0cc163b4 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x9f1b700c __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x134fe26a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x14a852d9 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x171006d8 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x17a6069c bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3930012b bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44bbb7bf bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44bd4983 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5d439809 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6131cde2 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x66c535ca bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6bb34780 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6cff6938 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6ed74eef bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8d7059a0 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa4769833 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb77f1e9d bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc06eaff6 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd70881b1 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd812a3ed bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdadabbb2 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xea80ff12 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xefa0a27c bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xefcd861e bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf4463a16 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x20c08c36 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x443c0922 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x48be5d73 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x4f44ec0c btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x80535fcd btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x998c6c7e btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa5404cb0 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xebbb69ea btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x088a9835 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x24aa43fd btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x266ec4fb btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x31cb3e40 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x32ef0561 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x39ff6134 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4e14386a btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x67178711 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x70a059b0 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x71db2b05 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8572a6af btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8a9b3c46 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8bd15068 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9e59aab4 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xef23a846 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf8156908 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfb03fc4f btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfd5f3e16 btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4350384f btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4754a14b btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x632de162 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6749bdd2 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x81a77173 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x81fe2ada btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa6788548 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc61b2038 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc9930845 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcc7a6aa1 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xeb73f8f9 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x2c409fba qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x3f505f42 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x5ff821ef qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x833c8d2f qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe3a3c679 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x3bdad269 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x5f2d8bf9 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x9ddd8a6c btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xbc1e011b btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xcc785d77 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x4eaf2416 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7d7ffc42 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xa5142855 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe3e0f76a hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0adb76f9 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0af2234e mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0ff16a6c mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1df7b634 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x235fb02a mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x24a2091b mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2b39a4a6 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x39a7a198 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x76ff878e mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7d941e90 mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x811c127c mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x8a81c61e mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x8ae8244a mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x93440007 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x94b11a74 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9a94ac6e mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa26cafc7 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc2d98346 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd64211fe mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xed27f4ae mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xef66d852 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xfcbbf400 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4ec64218 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x9b1456c3 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xc00fbf0f moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xd8c30fb9 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x01aab51b counter_count_direction_str +EXPORT_SYMBOL_GPL drivers/counter/counter 0x15f3f20c counter_signal_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x1934e11c counter_device_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x2b1bc32b counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3df93ab1 counter_device_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3f097389 counter_count_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x556a3770 counter_signal_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x64823e12 counter_signal_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0x705fb733 devm_counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7d5062ad devm_counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x928116f2 counter_register +EXPORT_SYMBOL_GPL drivers/counter/counter 0x9710b718 counter_device_enum_write +EXPORT_SYMBOL_GPL drivers/counter/counter 0x9af359e4 counter_count_enum_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xd34ecc44 counter_count_enum_available_read +EXPORT_SYMBOL_GPL drivers/counter/counter 0xee526d0f counter_count_mode_str +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0x4038a0cd nx842_crypto_exit +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0x6058a31b nx842_crypto_compress +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0xb9365576 nx842_crypto_decompress +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0xe2aab8d5 nx842_crypto_init +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xf35c470f dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dax/pmem/dax_pmem_core 0x5a83e551 __dax_pmem_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xefeccb47 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xf554e085 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x08627e36 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3e287c64 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x6a478491 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa720323b do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb724b2f1 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xcd88eeba do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xfcea55a2 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0233d810 fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0300224d fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x11b1aee3 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1cf68eda fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2ac5d959 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2f3493b9 fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x341ec5b9 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x52c59e6a fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x74bde657 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7f3a3304 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x9be6efc8 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xb1a48bb7 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xb8c85bf8 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc5e76ac8 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd6ac1b7b fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf8fd8c41 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x39f2f86c hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x3bd62cec hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x0fee452a vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x42628ed6 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x696bfcfb vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x711ddbf0 vchan_init +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x96329c98 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x1a794436 alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xf51d4443 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1c554202 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2f87289e dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x32016e57 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3ae8c978 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x5255939a dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x69c7f454 dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x73d186fd __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x80e1eb0c dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x871cfe91 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8b843de1 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa90acb0a dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa9650f8e dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xad1f4d74 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb048c155 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb12fafca dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc6dd4dca dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe35f432f dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfd353b15 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xff902511 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 0x1412aa91 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x31756670 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3ba25ad8 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x697ef721 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6e11e639 fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6eb2f4f0 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9a4a356c fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb7be238a fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xbb2d7b99 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xbdfcd83c of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc86ef98b fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xd64f6695 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x03970fe0 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x16ff1977 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x21011ccc devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3421c099 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4b8cdee1 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4fd02fc8 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x519a2bde fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x75139d2d fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x76bb5381 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa3fe2da4 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb1c92220 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd9818367 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf14025b9 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x2664f07e fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x2d046d76 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x35e664ae devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x3bb05965 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x3dbe6b91 fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x6557906f fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xdf7832fd fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x211b0129 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x25243d41 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2c162e2f fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x33951d04 fsi_master_register +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 0x6327c6ba fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x98a39d2a fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9e72f049 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xccf0a43d fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce9c6a45 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd1bb651e fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd942f235 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0xb6bd64e0 fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x2e164e7d sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xd600315d sbefifo_submit +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x1b73073d gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x395b3f17 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x80df4d10 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xa4ea4f06 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xd5815092 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x3e6f2d69 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4157540c gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7dc3d279 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x8c433dae gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xd8df7fce gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x668ff3e4 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xe80147ec __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3787dfbb 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 0x82193264 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x8c5374f0 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xb09ff401 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xd354b8c7 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xddf0188d analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf0d3b67b analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf3595791 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 0x157e02b6 dw_hdmi_phy_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 0x31562ede dw_hdmi_bind +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 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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x8e147f07 dw_hdmi_set_plugged_cb +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 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 0xff3dcac5 dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x069a88ee drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0e9abb4f drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0f48e718 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x113e6c96 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x16cf29ca of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x246ff97b drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2e1575a8 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x37c26e29 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x42563be8 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x489670ce drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x53455cc5 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x556e5dd5 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x59d4ac1a drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5daf7342 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x60cffe89 drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x62182b13 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6444ff53 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x739448a7 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7dfdf222 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8392448f drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x96d7f913 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9a3b4cc9 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa2402c9d drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa2f323ac drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaa8df284 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb6d6f119 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb9a000cb drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xcf373cde drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd01f5c2b drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd5028c4b drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xdc35bc00 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xde01545e drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe111ccfb drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe1f68769 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe91c8ea4 drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf5e2da57 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf73bcead drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x03c7cc55 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x12ae026c drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x14b90de1 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x20195417 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x24e8b0b8 drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8163e176 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x83317ec9 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x92b5fbc3 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb194edf5 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xbacfb300 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xbd9d9cf6 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf48156cf drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x33c03fcd ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x4410dbdf ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xe1b03bd1 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x07a3f3e8 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x097970e9 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x09c6ec05 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0d40b07b gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0f13fb07 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0f2606cc greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x13886099 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d196df gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1be9d121 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1d4c86b1 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x21fb8064 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x22f06f83 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2b2abc84 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x345ba5a2 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x34892be3 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3ac25066 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x40220b33 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4466ea39 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x591a6f3e greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x59e1d9ee gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5d6f5b06 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6a36b99c gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x753a56fe gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x779d6138 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x78636f70 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bf4ca10 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7da04f07 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x84a88675 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8531da1d __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8e2e5b63 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9282d48d gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9fdd4c87 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa8b0d30b gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa9002aca gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xaa5ed61d gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xaf005406 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb1b2bff5 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc7719021 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcea6e8df gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcfc6f277 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe6316b7c gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf2b312a6 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf39b9faa greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/hid/hid 0x028b6730 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x03f07f9a hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07ab76db hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x15ce586b hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a53d6e8 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x221ca20f hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31aac5f5 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3c6a7cf6 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3e213849 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x42bc13c6 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x476173c3 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4b77efc8 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4e8c3b3e hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5081e5d3 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x51ce99eb hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52e81320 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x56630396 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5c9f50f2 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6e6aa0e8 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x792d1958 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x797fc78f hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7a266145 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x828c8445 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x847b02d6 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a435f2b hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x97c55e87 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x99866a01 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9b568874 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9ea06b5b hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa5bdb19c hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa5f8026d hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa6011fcf hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa998a2c5 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc3d1c0ba hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc470ba30 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca4e98d9 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd0c10384 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe2ca8bf7 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf57b1cdd hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf9a486b1 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf9d6b54d hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa177711 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfd1fdcb6 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff9bf3ab hidinput_find_field +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 0x8f6ab49f roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x112e0b97 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x1d5687a4 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x32c87950 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x6a67e5a8 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xab78feb5 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xcbb3ef6b roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x04e75125 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x38e743e3 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x676d30da sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x8b831719 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xa7db9ec0 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xae739836 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb81b0e4b sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xcfd52988 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xefbfd7a7 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xa3dbd51f i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xaf243ea3 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x55ab8c58 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xfcc091ef usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x28dbac25 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x36e7d97a hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x455e1e05 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6a336694 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6a384107 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x743e6b8d hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x87612ec4 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa1cbdf52 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xac262f36 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd0c48629 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd1c84077 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd3b167cd hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd3de7eea hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd87d5632 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd99095e6 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf0435f82 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf48fec47 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf7cbca81 hsi_async +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x58846b6d adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xd41c609c adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xe009ce73 adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x07a1b948 ltc2947_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/pmbus/pmbus_core 0x105ca991 pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x10828acf pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x112abdb8 pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x14b0871b pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x15d0b296 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x2beb82b3 pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x38bd2a76 pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x4c94e131 pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x69dad634 pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x7198541c pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x77470a59 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x973592a5 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb5ea5a2f pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xbdc1f024 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc2f981fa pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xc87bbca0 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe5bb4666 pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xefdf00a7 pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf0646f7f pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x18a5dd60 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x1b4e8cb1 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3cfe43ee intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x552ba3a4 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x602ddbf8 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x797af967 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7c1ee105 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7c86d781 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xf107bf00 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x09109656 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x17fecfef intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x2f8646d3 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2871604d stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x60638874 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7dcb0ac4 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x863db685 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb5a10d9f stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd7632430 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xee3a7dfa stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf4ae14ba stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xfbb1b7f7 stm_source_write +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x4d12b8de i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x6e76bbb1 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xafca49be i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xc3eee29f i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xcc19e8c6 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0d262e19 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x10835e83 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x127cd84b i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2a2aba23 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2c4941c3 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2f65466a i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x43d263e5 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4496d559 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x495bb41c i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x57072143 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5eebb1b9 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5f379366 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x72f96c4a i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x811c4606 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x82b7ead6 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x830b7f64 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x98db3d05 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb3fc4f60 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb8a9272d i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb9e38bda i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd87bc53e i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd8e0a00e i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdec2ee31 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xee375b77 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xef3a1e6e i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x6400b596 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x89be017b adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x6913a186 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x87868b44 bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xae0b1c96 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xbf37225d bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x0265a428 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x7fa5c13b mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xa043f813 mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x1bb1c6e3 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x5995796f ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x343f11bc ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x37ffaeff ad7606_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x0b627fde ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x2f089994 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5f69ff63 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x7d07cd4e ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x8d437e76 ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x9c751ed3 ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x9edfb3ff ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xa869108b ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb2ce6a81 ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xcc0c4c2e ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xd368b48f ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x26bff54a devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x77cec146 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x13626b44 iio_channel_get_all_cb +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 0x7d782f64 iio_channel_cb_get_channels +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 0xa1d65557 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x06ca3b45 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x29a01788 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x34c64032 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5b8c8847 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x78240220 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7c949679 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x9c0f482e iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xbc95238f iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xcfde952b iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xd6249297 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe4a74a4b iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe785e3e4 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x47dc0bb7 devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0xbc1c08a4 iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x46faba9e 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 0x96d57a39 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 0x244d753c devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0x1bb5af6d bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x82ffb87d ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xda6a1413 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x11836708 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xc08d44d4 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa74fc78e bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xe04bdc79 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xe2c3f25a bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x36bab98d fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x593f6ad4 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x70d16b5b fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x04f9f29a __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x21b0874f adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x374ce471 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x43d21e5c devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x469d43bd adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x4869dc3d __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5dc28ef1 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7d09ea4d __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x9893a3c7 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xad712a50 adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xafd6f389 adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xd79f8391 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xd955f22b __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xe3f7e7d1 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xf4f1f126 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x97b4ae26 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0xa1e6f5c7 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x6a2e3ff0 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x857f6852 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0173d3ac __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0cd3fb23 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0e652e31 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x12678535 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x142a0f88 iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x30f60681 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4329535a iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x493b029f iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4bda3164 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4ce1b029 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5584cbc8 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x57f5eb66 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6676e652 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6730578a iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x688644a3 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6b980012 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6e997104 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x74adbb56 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x74ebbf80 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7d9cd131 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x87b10178 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x89d19776 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8aea099c iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x923c5b9d __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa1f8524e iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa3cf9d4a iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa5d5a364 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa8d07af2 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xabf3f33c iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb386cfcf iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe19de09 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc210e2ee iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcdb55cc0 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xce04bf9d iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd0682b46 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdf77f9e5 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe364ff4d iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe9e44bda iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xebbf8def iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xed6863dc iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf4228d2c iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf83465de iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf85e70ef devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x89f8a98b rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x287db77d mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x07e93bc8 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x398d3a33 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x9d3cfa0f zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xbe171324 zpa2326_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xc623fb19 zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xee9cc430 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x104513af rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x29095adb rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3fb676a3 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4658a937 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x466c8527 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fea2a67 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8bbc666c rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x987160a9 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9c0424d9 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9cd44fa9 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa44cb29c rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xbde5751e rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcd5de9ae rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x86b3b748 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x334a5b87 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x40afad6c adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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/rmi4/rmi_core 0x0ecbd384 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x17b9f7e8 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1940a990 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x314b43b8 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x522c20e6 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x558a6424 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x69da7a2a rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x72ae83d6 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7bb9b442 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x813a8150 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x92f1b4df rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9a3f3676 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xecb5614f rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x9364ff95 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xd7efe509 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xf3c1cb20 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x2ee9b19e cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x9913584e cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x22b58d24 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x430f449f cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x5e10f308 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x77bdb7a2 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x8554d400 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xa7480215 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00492748 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0848dd1e wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x28a2f77c wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x46d8bc82 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x544dae8d wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6b66f5f7 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x729dafd9 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8fe9dd04 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x95ebdcdf wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcce327d6 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd15d3a8c wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xebe08d1e wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x18861830 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x22d10caa ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3cce4f36 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x628e6903 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x916733bb ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xaf516669 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb1c944d2 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbc0cdd39 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbd41f55e ipack_driver_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x0a93578f led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4888311d led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4d779db3 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa0427da6 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xbbed27ab led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xbc262440 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xbc51b0a3 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc172cd26 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0fc39019 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x2735fefd lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x523d495f lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6bd6105e lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6de3a475 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7565f608 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9992bd7a lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa6e61c71 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xb9bfa8ce lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xd608aa90 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xec773c68 lp55xx_register_sysfs +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 0x25bc9453 wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2edab977 wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x4d6c85d8 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x64807204 wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x6de64081 wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf4d7f95 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xbcace2a5 wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xbdc2ac4f wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed1e21e5 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x10439a81 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19a02ba6 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x24ee2a7c __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2515e866 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2869bc82 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x40430b3f __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4f0eec50 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x52cb1bd3 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5a47b147 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x61f8a4a2 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x666af686 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x77db9ce2 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x78c4e77b __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x83195c57 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8d0e2577 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x90d77239 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x93c8b623 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x97890220 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a530fe1 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa49f3127 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb19c0de4 __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7599baf __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb8cb3ae4 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc3af40d5 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xca6ae723 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xceafa6da __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcf2b1b68 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd89fb73f __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed607240 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xefba8a85 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf307604e __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1bc543bb dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1d448601 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1d5f8b05 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1dc6877b dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2133e9be dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x28656ce1 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x38d7b085 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x52933ced dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x71b53bc4 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7bdf04b0 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x916b1c2b dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9ea01657 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa6bdeb4d dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb5b57b36 dm_cell_quiesce_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 0xc72f2076 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 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xdb181618 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xec5d32bd dm_cell_get_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 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 0xc4a66e5b dm_bufio_client_create +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 0x89f95b68 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-cache 0xf92dc4e6 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x10985d3a dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xd87f3ae6 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 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 0x4e602164 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 0x8f337a4f dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x923a2a2d 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 0xb9143941 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 0xe051776d dm_region_hash_create +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/dm-region-hash 0xfe06e83a dm_rh_bio_to_region +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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x70b95d9d dm_block_manager_create +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x04710209 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x087e33d2 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x21b67f71 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x34740ad4 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3843c751 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x41ae74a5 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x44baa0e4 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x4b0af8da cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x63224591 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6da0e7aa cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa13f4ee5 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa40ecc16 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaaa754c7 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaf761f75 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb48181a4 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xcb1553f5 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd0f88601 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdb2b626b cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe386951e cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xed47c97c cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x02fc64a7 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1ff5e51b saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x40dff1ac saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x438af512 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x4f02fe37 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x5e950c42 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb7baa87e saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xbd974bcd saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc8ef7adb saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe6fc52f7 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2005aba6 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8ed18995 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xa5c240e6 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xafb2ef32 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb489cf77 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xc2cb4d77 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xc7d99c2e saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x056a1546 smscore_register_device +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 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5736ac40 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x623ad293 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x64d703f2 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7a43cb31 smscore_get_board_id +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 0x943449c0 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x98286db8 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa4b2ffa0 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb2fbe4db smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb9a2cfe8 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbb115904 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbf469f90 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xcc8557f6 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd389da60 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd881cff9 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xdf700e85 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe59e623e 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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x02309166 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0a12e382 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4253cd04 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x47ad42b3 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4b9e87ea vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4eb9d962 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x52f83660 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6c07be35 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x72ddb883 __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x79a5a46f vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7a12eedf vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7a42ac7e vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7c2d6f4a vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8dc74450 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x92237bdd vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x952b7bde vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x95d8a761 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xac2dc258 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xaf56c090 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xba3d7e68 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbe167a76 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcb64bbbe vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcea70d15 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd6249b3e __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xdea74937 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe6f3c1cc vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf0c756e7 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf599eed2 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfd39ab2f vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x0c4767df vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xeeb15348 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x747a9eae vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xe4290592 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x040810e6 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x05bd1760 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x071cc91b vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x11557ed4 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x28eca823 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2beb626e vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2c363663 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3226e27d vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x375af203 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3ea01e68 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3f2514b4 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5b67a135 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x65c05730 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x72e39df8 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x76c22546 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x77cb3f29 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7975d7a1 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7bbc6776 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x811989f0 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x89196b88 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x95269ec5 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9584a6cb vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa2476070 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb650747d vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb675cfd2 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbee5fdd3 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xce0e4df8 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd76c6cf7 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd83975b7 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdeb9c0d9 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe0f4cd99 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x48c78e4c vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x04b58af0 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x19845477 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xeba60785 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xcc853fc3 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x122ec0db cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x708d4487 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xb6db2347 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0xf6bea449 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x8bc70268 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x675bdb9c tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x4fa7df89 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x494f5c8b smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x01e1139d media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x026af7f5 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x038ace31 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x04bf43cb media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10f5c30c media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x14d05da0 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x222ada93 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2af22d89 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x38d20221 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3fcdf1d3 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4a8e4d2b media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4bfb770f media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4c1b8e14 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4d828c6d media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x57345d7d media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61f8ee63 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x65851cb2 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x660c6fdc __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6a6d521c media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d3837f8 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x712fb8da media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x71f469a1 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7287c2b3 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x750fc2f1 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x833250fa __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8c7ca86b media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x90eb3beb media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x93dedb86 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x964f1984 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9bb5e981 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xaa044b7b media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xad92b943 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb45f1d8e media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb95e2652 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbb638eb9 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbd6ddf0c media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbe1f6824 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc3729e4a media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd244f3c9 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd4c0e02f media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe17dc3fa media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe27178ab media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xef073831 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xef2e3543 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf08f9723 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf331fe08 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x0ec8f63b cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x062cdfdb mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x18b859b2 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x221555a4 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x33768d4b mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4612ebc3 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x51b02201 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5e5bbcdd mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6b1a61b9 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6b76b89e mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6ebfb696 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x758ee7d0 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8cfe8fc1 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x948b8905 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbff799c5 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcc55a1ce mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xda9e2071 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf176b67b mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf8fbfd1a mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xfd0951e6 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x038c57b6 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x07138f38 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x089c7fe8 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x097edd52 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0fd28720 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2f36e454 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4ebef378 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x50d38545 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x69e9d9c4 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6c104208 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x784c6977 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x820a5bc3 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x9edd8d5a saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa8dc03c6 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xadc9260a saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xbb99fd55 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcca1e33d saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd2f0ae3a saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdac95ffa saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x82e9347a ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x90b4bdd0 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xa8e1963d ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xbf737270 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xcc89ad57 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd45f588a ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe2415ec6 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x0466f8ee mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x05f407ad mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x461d04e4 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x88d72bc9 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x8d603416 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3664a6cb xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x52c77771 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7ffbb7f3 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa118cd83 xvip_of_get_format +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 0xe9163df3 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xfc5c18ba xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xfde7b497 xvip_enum_mbus_code +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 0xfd9b4f93 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x95205ee6 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xaac1fccf radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x23a368d3 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x3d0ce231 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x50202de5 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7d1acd8e si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xf5bf4e77 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x180c1571 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x24e58719 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2c3bcd6f ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2f1ae141 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3222fc0b rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3768da38 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x46f2f4c9 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x48955872 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5399185c rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5af4c77c rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7abef9ab rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8484060c rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9e77dbca ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa8bbad33 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xaa37481f ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbb16eb85 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbe48da71 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc0fd43df rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc4d0f4eb devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcc38019d rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfccddc43 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x14dda2c9 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x4ff5b3dd microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x4a5e4750 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x88cdefab r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x35ed1533 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x6054115e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x1584f2c4 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x3bed8d1a tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x52baa732 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xb5d69030 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xf75c05d7 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x56bce890 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x633ed397 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x34724aea simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x117ed677 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1b61394a cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2fdaf6b1 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x331a403b cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3ce10196 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4f42d2ab cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5ec21f9a is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x64cca6d0 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7b844bde cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x834f2d55 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8a102ab4 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8bbad7d7 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9b46554a cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9e6e48d9 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xae5db579 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb64bf3b6 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd7476b9a cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xeee7b8f5 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xef0e73c4 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf9fe5d04 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x41455ff7 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x75527e2f mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0fcc4d32 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2575bd06 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6d1f780d em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7c5b4177 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x88fb4c7b em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8ae94f1f em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8f7eb158 em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa1f3f116 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xaeb9389e em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xaf80149a em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbc25c357 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbdc804e7 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd120e3dd em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd342c8b4 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd4cb1b68 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd804a819 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdf32a9d6 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xea94f813 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2f3d9be4 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x5380d5ae tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xb38095ed tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xf18c87de tm6000_get_reg +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 0xd5be4ac3 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xe8c7234b v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xfc9fd3fc v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x0e0451fa v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1d78d4db v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x3617df36 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4e423dd2 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x59544d98 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x68ccc656 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x6c5a847a v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x780dd730 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x8fb89bc6 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xd6be4efb v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe81015b0 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xfa363fc4 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x02aa4d38 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x07b5609b v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x123b10e0 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1323f002 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x13d9d733 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x25323a55 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x28040d6e v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2b52e588 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2f3fd5f7 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x324dd5be v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x32ef0e85 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x34e92754 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3b0c98fd v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3ed9bff9 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x40352356 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x409ee269 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x455d0e07 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x59f0af88 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5e85fb33 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x627358ce v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x741aff9a v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x74448b41 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x78c7bf31 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x796df4a3 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fc0b39e v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x897e9f0d v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8ae4a199 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa1a77a3c v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa95fc996 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xae976918 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb7071b97 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc9b3dd7d v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcaa3a940 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcf7860be v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd4173d65 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdb9fb820 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe01bbbf6 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe35a918d v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe96a4744 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xebacbaa1 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeea031e2 v4l2_m2m_prepare_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 0xf2726d57 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf74944ba v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf90f1175 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x077deea0 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2002c36a videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x26d2368a videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x273f7076 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2fd695fc videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5425ce36 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6ffe5f9b videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7b01535b videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x800cc406 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x839ad612 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x94d1cee5 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x95a40963 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa04bb06c videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa5dd0f8c videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xaee6147b videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc1ceef3e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc73f8160 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xca8536da videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcae0c3a0 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcead6f93 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd4f83cf4 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe659bc03 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe6ca5d15 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xeacaf48b videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x08d3c22b videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x1b84704a videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x4caad9ae 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 0x6ea16d9f videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x2556531a videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x3c8925f8 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x6750efa6 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f523aa v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x162ff228 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x210085ba v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2155cd1b __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x24a72b32 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x259e88c1 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2635c016 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x264917fe __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x26e6a441 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27f50448 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x294cb266 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x298e175f v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x29ea7914 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2b491296 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3d456e2b v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3da60647 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3dcc7913 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x48c8c590 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4aaf5e64 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4cb5da14 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6110b8ec v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61df5af5 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x696a2918 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x73ab3d6d v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x77b7c5fe v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7bf8ec37 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x85ae4446 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x85e33f14 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x89eaddf3 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x900c1644 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9068a8db v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x910496e9 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x999ba22c __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9e666e81 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa6fff9f3 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa7ec6972 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa8d20e41 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaad0bfba v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb5fd7b52 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb873e413 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb90d6b98 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb940802c v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbc53b0aa v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbead09ab v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbfd4dfba v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8b510b5 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc91c4d8b v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xce9f4778 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcfa5fc3e v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd73dcb1c v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xda5fab21 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe1b0321a v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe6c43e4c v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe7c42765 v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8535e67 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe893da77 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe925950e v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xee2583ec v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xef93da7c v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf0fb64ac v4l2_async_notifier_add_fwnode_subdev +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 0xf75552e6 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf9a8b9ae v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd406a778 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xf32d1087 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xf4f22980 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x098041dc da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x19775217 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x2312f55f da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x8282c7ac da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa4df407e da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd3b176ef da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xf4fce129 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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x1b9798f2 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x201398e2 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x26c49f6d kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x64c29ae1 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x6fad9a99 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x941cc66a kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb6d722a4 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf27c1a74 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6d73a768 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6ee0f9b4 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb1bef933 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x59fcee3d lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5de83b15 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x90fcac6b lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xa2caa49f lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb982b200 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc3146189 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdbca29c9 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x2e287815 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x63bd9d03 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x855bb799 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x07322c1e cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x32b47358 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x32b9af18 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x42b4a51f madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6ba0abdb cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x71816e54 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x718cb214 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x83faf1e9 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x89305fe0 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x893d83a0 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x91e52850 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x91e8f410 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa4a53b69 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa66433ad cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa669efed cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb6e1a680 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbb42c498 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbb4f18d8 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xca0542ec cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xca089eac cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd2d0355c cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd2dde91c cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd4256e80 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe5512ea1 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe55cf2e1 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf778c1e2 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf877d994 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf87a05d4 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x10b071d8 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8174ce5d mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x937b3b35 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xc1ce857d mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd8e60c4a mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe0a78e95 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x04fc7e5f pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x12ef7361 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x76a1e396 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa542138a pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xab00becf pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xadc85880 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbdab0da3 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc4564f6d pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe26257b5 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeb169011 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeb6645af pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x6f653566 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xd110b4b1 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x17a741f1 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x27d171ae pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8cfbd8d8 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc1a30551 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xdb235022 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x0a1a4343 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 0x0e18290e si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1e633e2e si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x28f69b2c si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2912fa19 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x30854a62 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x30b25b8d si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x31e17172 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4dbff674 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4df67378 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x50413713 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6719b769 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x69e0fdce si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x70efacac si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x79ef8f7b si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7e9a4bc4 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x88113e2d si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x948e01ae si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x95fcb64a si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x99f98c7d si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9a82a39c si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9f40ccca si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa1fb9542 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb28a87ce si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbce555bf si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbf9ae4ab si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd557fe87 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd6d0a29c si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe34ed97d si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xef89d761 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf1770099 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf4dada15 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf75d60d8 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf90604b6 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfdb519ea si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x208ee6b6 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3a3a5e83 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3c7adf28 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xacf3bd4a sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe74e4584 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xebd8b268 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xfc62a564 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x323def7a am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x6a3a7b29 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x83478fbf am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xcd59a0d6 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x6fde8048 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xa9f71384 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xe3ec142d tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x69904ebe ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x33d82d34 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x49e309f3 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x65287938 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7af5bbb1 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xaaa43f90 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xc6ed7f94 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xec4cf1e3 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x09436507 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0d2716b6 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x27fc7ff0 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2bacf887 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2f27d970 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3910fb05 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4d3b7226 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4fa66543 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x63b79fe5 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6435f5a9 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x648ed848 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7f6450b1 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x928a84ff rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9f84ce4f rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa6f16963 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xabe09c2d rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbf1912f2 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd5d7b3c9 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe8127883 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf173bc54 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf22cb8d4 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf2e95f03 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfb62063f rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfff1075d rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x103c4628 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x239a6018 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3c876d77 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x429a5864 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x49015573 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7a9891ac rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8748371e rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9360e890 rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x98ab1c5a rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa68426fc rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xb27c93b9 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbe19a93d rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf18c35e9 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x2c089756 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xcbcba1cc cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd025781b cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe1cd7c10 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x0011a629 cxl_start_work +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x08130471 cxl_fd_release +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x0cc7e7fc cxl_fd_read +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x12f402f5 cxl_process_element +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x13ec678e cxl_get_priv +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x1cb0f508 cxl_get_fd +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x26708972 cxl_fd_ioctl +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x26dbd002 cxl_set_master +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x272d2ebb cxl_free_afu_irqs +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x27eb8df3 cxllib_slot_is_supported +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x360f85ee cxllib_set_device_dma +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x49c92f19 cxl_read_adapter_vpd +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x4e7292f9 cxl_stop_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x4f72aee7 cxl_allocate_afu_irqs +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x53441da4 cxllib_handle_fault +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x5fe1fd44 cxl_release_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x62b19291 cxl_set_driver_ops +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x6e0fc031 cxl_start_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x75d1076a cxl_afu_reset +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x7711ce41 cxl_unmap_afu_irq +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x80baf603 cxl_fops_get_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x82d3490e cxl_fd_open +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x8740bc47 cxl_psa_unmap +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x91cdd1f3 cxl_set_priv +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x934ed3a2 cxl_psa_map +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xae7a04f0 cxl_dev_context_init +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xaed1a219 cxllib_get_xsl_config +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xbaf59cbb cxl_fd_mmap +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xbb72e11f cxl_fd_poll +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xbdd6c071 cxl_context_events_pending +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xd3c794c7 cxllib_get_PE_attributes +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xda5b2967 cxl_get_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xdf7c4cf2 cxl_perst_reloads_same_image +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xe1ff0e0a cxllib_switch_phb_mode +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xe7833ea9 cxl_pci_to_cfg_record +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xeb39ed8c cxl_pci_to_afu +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xf78fea04 cxl_map_afu_irq +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 0x1acd30a5 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2ab76b57 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x54b22008 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x60645e8c enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd2b7faca enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe3d4e1d3 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf1fa2349 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf8f25691 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1ee7afba lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x78f43dcd lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7e25c67b lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x86123c39 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x86bf43ef lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xb21f15c1 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xcfdfebd2 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd8a189fa lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x039562a9 ocxl_afu_get_private +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x039d230d ocxl_context_free +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x14b25601 ocxl_config_set_afu_actag +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x22a36d1e ocxl_function_fetch_afu +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x2825fc24 ocxl_config_terminate_pasid +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x2d876dd2 ocxl_link_remove_pe +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x32b10f4a ocxl_config_set_actag +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x3468b7ed ocxl_afu_put +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x3c29f4cd ocxl_global_mmio_set32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x40b34cfe ocxl_config_read_afu +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5371291c ocxl_config_read_function +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5558c95c ocxl_link_setup +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5d8814ea ocxl_link_free_irq +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5dfa7b22 ocxl_config_set_afu_pasid +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5feacdf9 ocxl_afu_config +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x703115bf ocxl_global_mmio_set64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x7911981c ocxl_context_attach +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x7d6b16eb ocxl_config_get_actag_info +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x7dbb554a ocxl_global_mmio_read32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x7ff0c180 ocxl_link_release +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x80a996b4 ocxl_function_config +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x886a5c3d ocxl_global_mmio_clear64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x9360561a ocxl_config_set_afu_state +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x951e44e3 ocxl_afu_irq_get_addr +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa038fa98 ocxl_function_close +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa5bba655 ocxl_afu_set_private +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa7093865 ocxl_afu_irq_free +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xab3e490a ocxl_global_mmio_write64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xaf05dae6 ocxl_afu_irq_alloc +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xb53959f8 ocxl_irq_set_handler +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xb7bfd0c8 ocxl_global_mmio_read64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xc472bd4f ocxl_global_mmio_clear32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xc88df11b ocxl_afu_get +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xd60e29bc ocxl_function_afu_list +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xd83a063b ocxl_config_set_TL +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xe726a878 ocxl_global_mmio_write32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xeab0108a ocxl_function_open +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xeb33d922 ocxl_context_detach +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xebdc395f ocxl_link_irq_alloc +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xf793b5b6 ocxl_link_add_pe +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xf87e240c ocxl_context_alloc +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x00fde1ee uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x82c24544 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xe7a28077 uacce_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0c23a88b sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0c280532 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x146a542e sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x160f62f6 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x17f54ca9 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x191e8d5b sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2195c918 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x277a1545 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x336e801d sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x39f763ce sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x40a27dce sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x452ab906 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x466e083b sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4e99b489 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x50ae9a31 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x51f07eab sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x52e186db sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5df6dc1c sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6d5ea3a7 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7ae5dbc8 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x850b342f sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x86123b42 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x86f49099 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x88dd0769 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x91045fda sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xae386e24 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xaeab86c7 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb51e4402 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb548e7de sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb858279b sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbf4b9b65 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc78eca73 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcb59ec8d sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd71e7b73 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdcc4e355 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdec2844a sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe21ecc8e sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe93d5338 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf00c07b4 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf3f20d22 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf6fd591b sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x24976d6f sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x33eab6a8 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4b99429b sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x68534ca5 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x81ecb091 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x84b86490 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x990f9d72 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xcc17e9b4 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf0560577 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/most/most_core 0x103889af most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2c4602a7 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x30f58e87 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3688ced8 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3a90914b most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4e111997 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x78f5ff59 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8244688f most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x90ee7551 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xac037c5b most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc6290896 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd4f1ff7a channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xea11cbd2 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf2206e36 most_start_channel +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x63003337 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x9e1e16a1 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xa1373349 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x72734bd3 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x818a8455 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xffd8cf85 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x104de2d2 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xaa6c19ac cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xea002a64 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xff91983b cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x682816de hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xf1124e7c hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x009eb163 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0516189a get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x08df2068 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0a144a73 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0ed534d9 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x119455cc mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x121357eb kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1eb06eff mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x22a48b48 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x23f33a2e mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24fd464a mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25f5b522 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x28636af3 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x29df75af mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3163e414 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x387b7e3f mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3c1b6ea0 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3f1c08a1 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43262c82 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4b939fd6 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x54f5d560 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ba9f717 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5fdcf9c5 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x61abd852 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x674d8761 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6dcbb4fb mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x71b14ae4 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7d44d7e5 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x823153cf __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8275571a mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x87ae27f0 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98788e3e mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa22b707b mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb3335c2d mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb4e3e2c4 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb8dfcfcc register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbaf6dbac mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbe45a010 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc98ae370 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xca265d37 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcea74ca4 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd2d18bf5 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xde9b66cb mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdee9c456 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe64da7b9 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe9880d9f mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe9e2025a mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xece73c81 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf11b3b2e mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf7af28b9 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf97bcd0c put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc418d6f mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfd406eb3 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x1bb61ad0 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x878ee646 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa1940772 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xba87bc70 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xf1306dd5 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0613bbe8 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x13e4be10 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2fb4abcf nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x350f8759 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x40c02b7b nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5d7e55fd nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5fb066b0 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x69c9b08d nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x69f14363 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa1af3700 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xac6a6924 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xcb3491a2 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xdac30937 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xdb026dc5 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xe86a34c7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x3a7c24c7 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x02390db8 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x028e0d57 nand_ooblayout_sp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x053b5e6b nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1e3d7dbd nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x243ca2d0 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x362c5497 nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3fdcca4a nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x47c5ca58 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x4c3e5bf3 nand_write_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 0x59b09728 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5abb26e3 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5faef0d7 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x61e2959d nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6ce43dcd nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6f77e4bc nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x734f39f4 nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x75e6fefc nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x83a89590 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8e755115 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x92aef999 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x9318e170 nand_ooblayout_lp_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xae8e3178 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb196f880 nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xcd667369 nand_read_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 0xebfed498 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0xe010cc82 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x50cb111b spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xd0d98eaf spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x166687e8 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3f6bc6b9 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cebf088 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5fa03f38 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6eb386ef ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x80e0fc29 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x88d405fb ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8c47c61c ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8cc3e8e1 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbd6bbb8f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd26c93d1 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd9cd7e50 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe151abeb ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf22a51cf ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x202baca1 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x23fca2c4 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3a96e537 mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3c5ecee4 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3dcbe28f mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x58d620c5 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x6495d7da mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x90a6bb2c mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x94fb1e51 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb19e7d0e mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xbc8f14f0 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf04e180e devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf3e0d592 mux_chip_register +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x7e949edf devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x92b9c89b arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/bareudp 0xb667dd41 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb7e58ff1 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xbc5e73ce alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc89efd55 c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xdd3cbefd c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xf246a62a free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xff20f54d unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x83a06a89 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x8a60c4dc unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xab8ea615 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbfa58b27 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x09513449 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0c4a0925 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2e5f4ab7 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x308917d3 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3698b1d3 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x37cfffc7 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3a674e08 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4c40c80b can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5401f059 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x565b3a16 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6df8e545 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8164111d of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x83f94856 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x849bb4e2 can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x92971364 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x92b99807 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa10df589 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa455b2bb can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb46c41c4 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd17b8f66 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd36aedd3 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd7c7f99c can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd913c395 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdc203b7a can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe97a0e81 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf6ef80c1 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2182cb68 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x27b3fac3 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2ca7f686 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x41b3bf21 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x673dd819 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x9d301bed m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd599e8c6 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfa2cbb8e m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0943147c register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7628d82e alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa1ec0853 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb0c759e1 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x48974752 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0057f003 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x00a48c49 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x11678526 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x12da1925 ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1acddb66 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x25fcb36e ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2ccab6a3 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x33d3b302 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x38cc0862 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4854f015 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x494e38f3 ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x49c890f9 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x66801fb5 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcdd2c39e ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcf80c2e1 ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf26a5864 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfb9a8d67 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0b5e5ae0 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x125dd6b0 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x3e0522a9 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x427cd019 realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x6fac2a45 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x98ea5d82 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x9aa8e30c rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa0eda0d9 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa3bcb86f rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xaa403fbf rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb61fad00 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xbf23a464 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc6217afe rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd7799182 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xdf7a78af rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe2e2684b rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x1817e6ea enetc_hw_alloc +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 0xc9a34b2e enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xf2cc6fc4 enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0061c3cf mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02d325fb mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x035073f3 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x040ea17e mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0778048a mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09ed6de3 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ce8fb3d mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d8858d1 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e74ee8d mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x113300dd mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x139c51ed mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x14075deb mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x149d0d45 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x158ba43d mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1791602f mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17e4c454 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18bc3393 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18efbec3 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x199a5dc7 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ae1c942 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x206daeb1 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24a0162b mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2afef1d8 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f9a38cb mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x309a7f1e mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x37a628e0 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x382630fe mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b3deb96 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cad1ca9 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cc047b6 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40a2997b mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4146e2dc mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43bf8c74 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x451527e7 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47f2a436 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e5248d0 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5210d3d8 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53117756 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5636bc36 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57591bd8 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5850b294 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cb7035f mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e34a43f mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f5053e2 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f96dc3f mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x603330b0 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x603467c9 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6131342f mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63efda43 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6410add9 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6499b123 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a9bbf11 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b1cff53 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ccccb21 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7248968c mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x786c54bd mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79188925 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79dcf306 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a4e3e4e mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d6143a4 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81a8d699 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81b3a75d mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81fe7186 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83353099 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85aea3fc mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86308a04 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x864c59cd mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87bb0022 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f3fe0a5 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f78650d mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93abf8ea mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97082cec mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x977c7b4f mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a06b97b mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e04bf91 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f8437d7 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa226620d mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2ab3345 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2f82900 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa63d9b73 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa68bba0f mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6ded4a0 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaabe6466 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad3f0167 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad502964 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad866b21 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae6c7803 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0773dfb mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8b0b15a mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8b8a674 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb9e62081 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba88da78 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd088e9c mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd9627dd mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0a07b39 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc197e632 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc36145c4 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4fbd00a mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc66a78d9 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc84991d1 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcdd08cc4 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf178577 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2909c0b mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4b5403c mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4be352f mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd63c52d7 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda0ff50f mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdacb2267 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb3097e1 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc8f891e mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe13d8e28 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe77b86d6 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb659046 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb73a543 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeef9dda3 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef190933 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf32a1892 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf50ea900 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf93af342 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb932d4f mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfec5df7d mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02f96d79 mlx5_query_nic_vport_mac_list +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 0x08f3703d mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a0efe10 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x127a8677 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1333adcf mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x133dbd72 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1401fa33 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15c397fc mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x171d3a60 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cbc73d3 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1de0b05e mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2388933f mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2cd144e6 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2ea0d0d5 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f339b9e mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x316466a5 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x340a4ff0 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3502bbcf mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3678ed6f mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3897495e mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38abacca mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a349b70 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3eeafecb mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45bda6cf mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f17ac87 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53dc68b6 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5628b74e mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d7c779d mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5de9e6cd mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x617383b1 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62b2e182 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6602c41b mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e8d3528 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7332a0aa mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x771f3525 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77564847 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88db811c mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x896c6a10 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x896dde02 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e5d6189 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8fb8e730 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9656973a mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x969b33bc mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x979e1c15 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x984a35b2 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0c352ab mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6f8fa2e mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacc971e2 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6d66320 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbcd5d272 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd9e18ca mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf66d285 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5faf9b9 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xceceb76c mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4ad55cd mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd70554cf mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd95ffd33 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde122d6a mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe19c8452 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1fa475e mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe359e8f1 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea560df0 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed55aa1e mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf13cdfd2 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5188306 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5ea1988 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf69bb230 mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9e29bbc mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfaedc5cf mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd1aaebc mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd78ee12 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x6a08c729 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_common 0x2c020d30 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x87e7cb2b ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcff77164 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 0x14d49bf9 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7901de42 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x88f2cf84 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xdcbe9b6a stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x3c5adab8 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x5c9e9de9 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x65319db1 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xd5e394f4 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xf940564a stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x207053f5 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x2d755006 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x9a5952a2 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xedd95f73 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/geneve 0x811dbe36 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x26f05387 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x5595fd41 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa696c295 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe93960da ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xed97df05 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/macsec 0xa35eaacb macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x061da247 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2b314f05 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x8e265286 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf8f2ddaa macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x3c961de1 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xd70c8b45 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1161544f bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x129908af bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x27b2e14a bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x27b39ac8 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2b1676a7 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2de49154 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x315e6931 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3a744db2 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4ee13180 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x502337d9 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x56c783fd __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x62709908 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6572d66c bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x68664476 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6bc09a15 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6e438f76 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x766c6b8c bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x81408c8a bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x835599e0 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x94b45707 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x959add09 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x98ce977f bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9b261ce4 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa139ac73 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa63be317 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaff35be8 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbbe45174 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc635a42e bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc982df05 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe1f64427 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe9884ae2 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xea2585b8 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfe20d694 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0xcafd743d mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xf97282d3 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xbbe777ed mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0486215d phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x211e72fd phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x3f79bee3 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x412e2c67 phylink_add_pcs +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4e115661 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 0x5fb6b35f phylink_helper_basex_speed +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 0x70cb409d phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x906b9ae7 phylink_mii_c22_pcs_set_advertisement +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 0xbe72d430 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0x0a2a2e08 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x165bae34 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x40ff3f30 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x4d9e3fb4 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x68a7c502 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xbc396c57 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xc8d2efb2 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xe31b5355 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xf445d46b tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x32fb2b14 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3f90a738 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa7f3e342 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xab37dded usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xdf9bb7cf usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x518f0910 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7d1dd7f5 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9c87e56d cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9dadaa92 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xae8c0d26 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xb35f3a9b cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xb75faf1d cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xcaa2ffed cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xcdb8aeb1 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd2409d2e cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd4673011 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x0355dbbc rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x108e9818 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x37305c89 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x439bb224 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5b831c9b rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x925bd181 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b4be064 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x266c30a6 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30397d68 usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x33790ba7 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x339728c4 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x39f43636 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x459d8f3c usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4899dbc0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55ddf332 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x71985e15 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x76f24441 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7a03de43 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7d0af7ea usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8c0cb742 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x93b70de7 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x99c97122 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9f89f0c5 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa18e9250 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa9077b99 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xad5e442b usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb575f590 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb679e15c usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbad69086 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc0de0e84 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc51e2cc6 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcc328a75 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd53b7fd7 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd73fd426 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xda8baed7 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf36284ff usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf81a772b usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa0aadf8 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfb0c023a usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x0af2ce1a vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x51dea186 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xbaf893fa vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xefbb7233 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x006df5a1 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x08173f36 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x14105c60 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2b911322 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x329e98e6 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x59af2923 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7a918c6d i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7e33c98a i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8fce2195 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9d6980c1 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9f772d7e i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xaa057176 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc6f1e54e i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe512d901 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe78b1548 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf9ef703c i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xa419ea93 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6994933f il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7aeeea82 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f71b9f7 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xabe95bff il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xedb434ad il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x08212f06 iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x083bc819 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x099715f8 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x14908461 iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x16a76ec7 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x16d8d641 iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1f638693 iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x220da2be iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x229d8b26 iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2307cf78 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x30cf961b iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3360b2cc iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3496793d iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x34c2289d iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35307150 iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x384eafeb iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x386982c8 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3e79e9ba iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3fd50bb5 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4649e158 iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x48501685 iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4edca344 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x60018499 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x64838b1c iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x66852bea iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6b2b6ec1 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6e4a86d9 iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x724e8822 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7307e077 iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x740885f3 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7601ae43 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x821ec589 iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x83f5fb60 iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x889a619d iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8c9e82da iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x922fcaa0 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x99edf66b iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa3f8a304 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa55eb901 iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa88b67da iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb1d7b095 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb493db3d __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb8853789 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3e064ba iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc85cacb1 iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcda8b415 __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd3a8a957 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd45fa380 __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xda187e04 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdcc79de1 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdf6b638a iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe4efcdff iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe5c42c7f iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeee8c4aa iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeef8cec4 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf046e279 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf5123b8f iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfa042046 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xff55d383 iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0f902a40 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x117f2406 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4cbe3561 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x827c3433 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9fd0815c p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb2c6866d p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xcfcb9303 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xd0515f8e p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xea97a83f p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x19d39aee lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x1f190619 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x429303ff 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 0x6384af50 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x6ab0b86f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x94f6d227 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x9a5e4cc2 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa926acd0 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb7f23e74 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc17224a0 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd962fa5a lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe35324a5 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xef14f5b2 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf0e28382 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf58cbfbd lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfa058ae1 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x02b78502 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x2620604f __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x49e97a26 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x6958a586 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7e5924bc lbtf_cmd_copyback +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 0xcf69e94d lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xd2f5410a lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xd34329c5 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0edb888b mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1a8226e8 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2ab8ff06 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x34fbeaf0 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x361012e8 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x450a9b83 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x500e7678 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x58fdd592 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5bfe30f1 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x66eaf61c mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x692cd4ae mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7e8c1ddc mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x840fa65a mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9a3a606e mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa8bea6c4 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xab68ddb6 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb6e30c9e mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xcfb57b59 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd107379e mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd2ee3056 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd830c558 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdd94aa2d mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xee082c28 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xee3953f6 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x00b7780d mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x085d1c53 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0920ee62 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d382951 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0e6a7394 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1639e42d mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1bcdd840 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21991685 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x219ba373 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21f4600f mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x26aeac16 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2772d96c mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2d5a6b88 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2db34118 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3f34ce5a mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x441abf93 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x486de5cf mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4c92d8f0 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x53742b89 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x57d7bacd mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x583a3e69 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5b4700e0 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5cb3343a mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5f7aa5e9 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x635a7f13 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x680b00bc mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6efbcdc4 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7680da2d mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7a5532de mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7bb79ad9 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d0bcab9 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x854c3765 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x86cecd0c mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x885a81c0 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887dacd1 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x89a9a008 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x89fb7f19 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8be941b1 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8c06ed0d mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x915e7913 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x97eb5c98 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x987732ac mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa731c6c3 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xac797603 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb4379e0d mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb596947e mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xba19decd mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc9a8df4e mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcccb3509 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xda076e95 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdb37603f mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdca227db __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe44c06ff mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe52806ea mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5b182d1 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe739af1c mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe76a1116 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee3a8e51 mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf00919d8 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf1657c75 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf9ac60f5 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xffa27109 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x0ed13f3f mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2edce4b9 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x4c152a6a mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x69f7fc0f mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x772ab5ee mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8b297e27 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x983a0bc2 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xafdeffae mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb3f113c6 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc6a7cd39 mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xcb1715af mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x01e413e0 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x03d404ab mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0c03871a mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x111fd528 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x12a0b0eb mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x12d0321c mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x25e9fa3d mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x28744067 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x28d90d7a mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2db18c99 mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x395c7cc4 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3f1cc192 mt7615_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4b140893 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x61a61ed3 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x71ef7cfb mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x798367de mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7d70a84c mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8f19e611 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x94cdcd3c mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9cb0faa0 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9dfe85a9 mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9eb3b1cb mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa00d3286 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xaa7848f8 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb61681f8 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbd88b0f0 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc2cadb48 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc33cab63 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc35bebad mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc5142db6 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcf0a26fb mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd2dd399a mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd7992871 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xda3422fb __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe2fd14a3 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf2647201 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfcb033c1 mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x03144766 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x05e6cd3d mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x4fef1936 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x6d7d8473 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7f7159fd mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc152b77e mt76x0_config +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 0x11f43f9e mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x16609d45 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1662587e mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x17c3c461 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x194f7e8f mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1fdc650c mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2508fffc mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x254b3a97 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2c677159 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2ec14479 mt76x02_tx_status_data +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 0x38149f50 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ad64b67 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4e9642cd mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x53aa0acc mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x563fb2e1 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5a9af1a2 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5aef92d1 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 0x5c61584c mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5f9bb4e1 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x60ccb100 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6639e208 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x67024bc0 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x673eaad8 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x699035a9 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6d23dcbd mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6f74ecab mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x71070f09 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7802a0fb mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7ac67e3e mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7caf469e mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x80348d54 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x881950d7 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8dc4260f mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ee8f719 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x93e46e0f mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x96a2970d mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9bb846bd mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9c534406 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xaa2fd74d mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xaa86788d mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xac0f66cc mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xac4cf9c2 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad873eb3 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xae92450b mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb20dc510 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb43e2023 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbab7733f mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbfa717c4 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc56c9215 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc8d17ef7 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xccaae81b mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd608cde mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xce9b50aa mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd4ab8bb1 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd4f727fa mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd5439dd3 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd74eb5f8 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdf54257a mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdf802222 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xea5e5c37 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed15fc0a mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf6d2d335 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf9768878 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfa2694cf mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe70c45e mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe7cba31 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x04b3c5fc mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x100da631 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x294640b1 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x3ed32b75 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x40a79c9e mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x58b095c2 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x88dfa080 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xa195dd25 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x01ceefe3 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1afcd266 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x329e2ec0 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x39c9e526 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4c49a08c mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x62b95cb9 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7a41821c mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7ef35c5b mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7ef9633c mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x91080cd6 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa74796b5 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbe3175ad mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbf72b954 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdf95eaf6 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe00f4de0 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe267d787 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe768a998 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf149fa63 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfd94bfa9 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x471e142a qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x820d01f9 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x86632a1b qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x939ed429 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xebf82482 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf0fa5340 qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf5512e92 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf5fb5b00 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x032b5856 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x05386bdd rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x077dc719 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x095e79c6 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0e07526a rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1343eaea rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x195d597b rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3161a8f4 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3199604d rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3aa083bf rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4deeab92 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x516119a4 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x520510d2 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x52e0341b rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x56112bd7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5acafbd1 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x62993988 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x64396509 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6f24448a rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x705c5b7e rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x784d0fcf rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7cf4bbf0 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x819171ed rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x824e81eb rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x87129938 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8ab57fd5 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8d9c8bbe rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9129d2d9 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x96026ede rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x97fa0a15 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa40f7cda rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa84816d5 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaa19126b rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaaf951bf rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaf8ef7cb rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbb0ea8a5 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbcaed920 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbf82d96d rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc2331014 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd7bb1225 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe63ac6f3 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf01674f9 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf8c97f7e rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfd99cc9a rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0bfc610c rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1bb89885 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2881af6f rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x335af550 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4c02d6c4 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5073f082 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x548ded39 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6c3a76cd rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8ad74336 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x8f992d37 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3f8d58 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa0942967 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa9a3aa6a rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xae08d8ba rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb3af7a38 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd70881f0 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x02d2e856 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x09e9c907 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0c20dcd9 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x10237473 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x17a93248 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1cf047a3 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e03ab2f rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2973dddc rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2bff8e6f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2de434a8 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x302ebcab rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3125aff9 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x33e78e6f rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x39089144 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x390fec52 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x461b8103 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x563267f7 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6c640f77 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6f298eca rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x76d23664 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7b8280e3 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8d9c0c9b rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x96f8d665 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9c4f9753 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa26b282c rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa514e4d6 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa72b4c7e rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xad6d38e1 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xae0a6394 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb063ba1e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb1e6de2d rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb3de8b34 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb5f7061f rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb9964cca rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc4372f70 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc554df5b rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc648195a rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcc04f694 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd530773a rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdf25ccb9 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe084db0e rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe2338ab5 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe2808bb5 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe5d38266 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe71d373d rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xeddc7da5 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf8113825 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x48563540 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x9ea2540b rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xb6bc6791 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xce802031 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xfca2a7c8 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x80dcf0f4 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xb4aa8c26 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xc9a734d4 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xdb388288 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0947194f rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0b674764 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0baa4614 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1072c026 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x2455c58d rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x30792c7f rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5e85be88 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6ac05c29 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7010430c rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8a2ad063 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x97daa5da rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xabb1c8c9 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc1a1122f rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdfda6b4e rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xeb5afbb3 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xff87bda9 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3854e6d2 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x395147ab dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa88f8081 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe60e0dbf rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x00022fba rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1b920485 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x281ae752 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x305ec66b rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x30c57b13 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x33fe71b5 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x351540f7 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x378b2878 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3e4bb262 rtl8723_cmd_send_packet +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 0x41cebbbc rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4c25151a rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4f96f91d rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x82b4d7ef rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x89cf3b36 rtl8723_phy_save_mac_registers +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 0x8cde3219 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb789ec88 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc1f9637d rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc8e55c9f rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd2c1c95e rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe06784fe rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xebe7dd22 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xef201491 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf01630fe rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf3574beb rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfba8df5b rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x078dc22a rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a4e44af rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0ce8f317 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0d0b6636 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x128a7471 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x17c2cc2c rtl_fw_page_write +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 0x3393f4d7 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x33e07017 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3840e660 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4177a073 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x51c52b80 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x577a8a06 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5ca86cda rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7d66aef2 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x84f726e9 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa99e15eb rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb8635423 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb8c6f10b rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbb2614dd rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc19bf275 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc7f7598b rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd763ad6e rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe2a08a5d rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe4192739 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe4e5f407 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe51fcb5a rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x15a9b3e5 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2a94a9e1 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x76aae4a9 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xa5b41075 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xdf852d2d rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x008d2317 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x998dc45a cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xa819b9f2 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xe285249d cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x36503080 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x9aaf615c wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xa044af60 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 0x09ef308c wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x11666458 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17bbcf5b wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1b96aab8 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1e3d70e0 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x204d65cd wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x290cc7e2 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2a367be9 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c6e149f wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x39a7015f wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3a8ea274 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x43fd69d8 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x489c2729 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x493f29b8 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4b8e60ea wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4d43c2ad wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x533d25f1 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x64eac5e6 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6d695645 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7037fe4c wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7ad5daa7 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 0x8c54618d wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8e584fb1 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x94193661 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x945dd6db wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x976c91b1 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa1c970be wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa3090dc7 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb314edcf wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb8039b02 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbdccb52d wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc8ff2db3 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc9a1a803 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xced90023 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xde373248 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe228c0a4 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe7806c11 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe8c8650b wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xec739ae3 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf147b2d0 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf93bd970 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf9cfcc09 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfdf63819 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x255605b4 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x44087a60 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x4d7eb272 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xa3fce031 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x32060387 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x46b6dc36 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x834fe61e pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x886b716d pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x904df7cd pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc88fcea2 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xcf911550 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x08999921 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x30f83afc st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x740f819e st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x893e076f st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xb1d4cb00 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbf9ff63c st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xcc905301 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xd2ab236d st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x60b7917e st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xb5b12861 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xbb7f26a6 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x164c579c 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 0x6c4dd646 ntb_transport_unregister_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 0xe60b4374 ntb_transport_register_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 0x07e270ed virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x5d4377c8 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0417b0fc nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x049e6694 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x07ff723c nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x17ce0656 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x185b2a64 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1a12488b nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1b06d5e5 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1de1dbde nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2997d5e5 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2e822c72 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x37ee6a5d nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x39d5aa67 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3eacadec nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3f98aed3 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4bf36b3b __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4d702951 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x50bbb7e1 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5a582524 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x62b82970 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x84078842 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x85689bfd nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x94092ba3 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x998971e8 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa9b9c6ea nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb875b01f nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbb994ab8 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc497d251 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc98606ac nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcae89f23 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcfc206b9 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd4d0a2c7 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd72df380 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd8eabe5a nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xda0342ba __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe90caf17 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xea8f1a36 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xee554eab nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xee754090 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xff0c4316 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x08dd8baa nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0b9e2bc9 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2bf84d5c __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2df52cfb nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2f27c0cd nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x377bface nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x59b412ca nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x72244d99 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x813a1f4c nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x84961188 nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9d2a3b82 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc228c84f nvmf_register_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 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 0xbde24c71 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x14bf5363 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x27e25307 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3a4df26b nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3b645d9d nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8ab0129a nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x95e75658 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9a48a725 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xa1b0fcd3 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc0fc10c7 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xcbdc56e8 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe24a8d67 nvmet_register_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 0x74b70c49 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 0xa2609868 pnv_php_find_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/pnv-php 0xcdae9d61 pnv_php_set_slot_power_state +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x01cc7086 rpaphp_slot_head +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x385bad4c rpaphp_check_drc_props +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x4fcdd9ff rpaphp_deregister_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0xaa724c01 rpaphp_add_slot +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x0417c969 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xcfc14d2f mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd93d4775 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xe946e39a mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x13f2f671 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x66ac4251 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xa65e2647 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xabaa3094 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x0d7dd0bc bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x6c80b3cb bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x94aba3aa bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x00d51733 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x2fcfa42e pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x71b68647 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x6101d679 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x68021b62 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x8e1fe650 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x9336d7d5 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x97f2d43e ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x9dcecfef extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xd43ad421 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xe3370653 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x1c2e66f4 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x58bfceb3 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x81b41d1a mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x9d0df2da mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbc7fdb09 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x019104ad wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x16a05395 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb7c6d661 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbac4ffbd wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbd41d97b wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe77e0123 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x0a3c2a98 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x93eb8996 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 0x07a6832a cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x08f54ab4 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a4eed29 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a67c8e4 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x10d6b96a cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x15384343 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x15d11c04 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x18b5bfac cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1ee7fecf cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2b1af189 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f814ae7 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x317b439c cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x31c673a8 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x424c7248 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x48e35496 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x49882bfb cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4988dbb9 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x574d665b cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5e59b492 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5f2e9f1d cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6161e8c7 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x619688d5 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x651561b2 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7121530d cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7141bf3d cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7c3d28a9 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x892e0e1d cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8a429585 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x963a711b cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa5912328 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa904abcd cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaa22de68 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad9abdb9 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcd464794 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdaca69b3 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe2f04299 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe6798487 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe8231a99 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe85f3fc5 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe8ab2ad2 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xeff24efe cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfb89057e cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfc5af058 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfdad21c5 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2352ac33 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2673658a fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x3b3181f0 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x499bc99e fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5455d689 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6a471156 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x73b40c49 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8e98e257 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x92ce103d fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x94e254fe fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa9cf1d84 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc289c145 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc63fca03 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xcb3e103a fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe4cbe17a __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfe296919 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x317efc51 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0xf485c2eb fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00fa258f iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4e8907cb iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x73b3cd22 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa2aba6e3 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb9037637 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd73cc18d iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xecf4ec68 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x001007c2 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x08ce79a1 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0bc77e6b iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x17a11a8f iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20daee5a iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x210f60a4 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x260228e1 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33df3fe0 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x396ce8f1 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bce5bda __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3eb86bd1 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3f816e82 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d51c6a7 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x528b06ab iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5698a32e iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5ee4081d iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x62cfde51 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70a0c432 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x71074459 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85293510 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88c77a22 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e145a2d iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8f299e72 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8fdbd947 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9256e119 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9268e25e iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x92e486c0 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4a46e9c iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xacd89ad3 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xad2b92e9 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb65ef7dc iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc6079cee iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc9ed164f iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcedf507f __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd27837ce iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd3da00bc iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd59c8098 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdffd9c5c iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe7957f10 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe95b156a iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee7acfeb iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf85980af iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x013d2694 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x08be8f4d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x24c39b40 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2e8cf355 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2f8e7edc iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x304c4e87 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x44b55356 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4783e719 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5b68e590 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5eaf33a5 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6962edd8 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x90175cb3 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa893a6f7 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc9368830 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe735a27a iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xef025b3f iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf0bed2f4 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0780cd0d sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1cb7a61c sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2189c2ff sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x237ef377 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2baea3c4 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3421f7bb sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3becc67b sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x452c90cb sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4a72532a sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4ae74611 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4d19906f sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x50cd5899 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68f28164 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7002669f sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x87abe1f7 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f44dbe7 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa640d9f5 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb1721d92 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4882f0c sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb9529f58 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb9e7dd53 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbf7df494 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd7f2facb sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xffa15557 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x026e46ba iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0c67ce01 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17a97372 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21435464 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22e5b8e6 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2916d7ba iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b2e667a iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30a90e71 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3a627340 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3dfa0f0a iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4198b287 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x451cd853 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4bb039ee iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4cdf7e5d iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d7ad62f iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4dd68336 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5e194094 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x630aa9b5 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66b97903 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6840fc04 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x729d4a75 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76d6d890 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f26e180 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84cd03c0 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84e4a07a iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85581c24 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8757c29d iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x87a95807 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x892d0c2b iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8c7f3f4f iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x97548abd iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b79d016 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9d22a51c iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa1b7f398 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc3be9806 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca61db52 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcf5dea2f iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdcdc7ca9 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdf70545b iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe82b7a00 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeeaffa83 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xef886ed3 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3581579 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfdd9ab1f __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x0afe3dac sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5c7dfbae sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd9d290b7 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xf4f8f14e sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7631b11d 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/ufs/ufshcd-core 0x1299740c ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x2f1bf723 ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x3f119d79 ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x4cd898d9 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x509cf9ee ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5facd134 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x68c9ca49 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x879bc16c ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x99e021a9 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9c26eda2 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xab3b7ffa ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xb00587f0 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xccacdb5d ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xd2a64235 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe6952163 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x05215723 ufshcd_pltfrm_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x19ee0d52 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x3535270a ufshcd_pltfrm_runtime_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x5e8a7bb6 ufshcd_pltfrm_resume +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x71b174b7 ufshcd_pltfrm_runtime_idle +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x87517e46 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xc79d17d8 ufshcd_pltfrm_runtime_suspend +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x1b09c48c siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x5ec8ea65 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x6a795d28 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x89933b52 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb8e29600 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xe6701570 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0bf4a2f6 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x207696a8 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3ad3f5d0 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x464cd4e7 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x481b0136 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x48aebecb slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4d18798d slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x53ed17a2 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6b89dd4e slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6f770b29 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7727fcd9 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8176765e slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x829a4d9d slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8f202a6a slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9c152241 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa0d86f81 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa2cb63cd slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xad3f33b9 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xae134562 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xae911824 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb2bf6157 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd4528a41 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd53b85ba __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xdc051e50 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf799c867 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xfb075855 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x730ea50f sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x7f52d7a1 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xba0e9083 __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x29a347f5 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x48a451ed spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x564b646c spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x8e81e24a spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd18d800e spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xe369f5fa spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x389c8b67 dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x58f3f278 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6b1e2b85 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6f8e8533 dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x98fc7eb2 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbe447a32 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xcf502cd4 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xf3caf55d dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xfe58b894 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x180da6e1 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x19a5d07b spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xc54e7f0e spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x03dfed9e spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x14bff2e2 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x289a6303 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x59728da5 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5d903b37 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7307459a spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x861d1e28 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x87207f8c spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x94ab2066 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x97febf9e spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xaea140fb spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xcc9f044a spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd3e4737a spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd3ff5586 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xdaa88d47 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xdc5053fd spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe47a8b24 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe8ac1218 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x42d92cf2 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x00290198 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0622deb8 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x155104e3 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x1a8251a3 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x23c86f33 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x29b0a69f comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x29f9f0c2 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2a3851f2 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2af2e77b comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2bf12027 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x317ee596 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3afa5591 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x410d4601 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x54cd5be8 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x55bcc5e0 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x59aeae87 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x74671651 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x817cc7ff comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x835e671c comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x924ae003 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x92e9e0b9 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa98f3162 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbe14b0e6 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc4a02e52 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc6a45bea comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd11bc399 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd2fafb05 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd93172ed comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd9a3b654 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe8710ae7 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe9ef29c1 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xea40ac2b comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xebde9e02 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf1a401eb comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf9d6e0fd __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfc330a56 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x0d0df8be comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x0fda8397 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x32ad31e7 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x4a2b4ab8 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x698a1933 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x6f96887b comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xb23927aa comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xf13ae593 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x4273c64c comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x47f02d08 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x58a387ee comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x8ef1da88 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xa0425fe6 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xa68ec6e0 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x19f4ae69 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0x019ffbd6 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xe3c2a9ac amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0x77764298 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x02839fd3 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x0f41f5b7 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x15dce0c5 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x1de9fae7 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x3ae36ec4 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x3b77d386 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x82309a5e comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x851a59a1 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x8ecf25e6 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x95162a74 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x99dfd9a1 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc6ccb109 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe4244d5c comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x4aae54a3 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x7aebc5b3 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xbdb1541d subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x4a4d3103 comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0x7372924a comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xdc6c7640 comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xbbc79610 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x0a0fcbd4 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x269d869e mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x3041ab6c mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x36dbefeb mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x5dfca8c5 mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x75541b96 mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x78d810e3 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7d2a1897 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7ec3f7f7 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x8f3da886 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xb92ee804 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xbbf2f016 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc5232149 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc66de024 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xced23541 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xe3ef0010 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xa1ca6768 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xe8a80e8d labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x18085dd1 labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x226ba82f labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0x44642be5 labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0xcc8204e8 labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_isadma 0xfcfac259 labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x0a28309c ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x18fa6765 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3b5f495f ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x44c0a32d ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x45ad767b ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4e927b6a ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6071398a ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x608bc759 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x6142d8f5 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x86024362 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x95247c77 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x9c2f0250 ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb6b78169 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc7003dba ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xefb879ea ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xfb25768b ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x26551f10 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x2c4016bd ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x5aaaa4ce ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x905b787d ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xca274961 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd5c0089f ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x1e92326a comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x22439dfc comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x4f999367 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x5099115e comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x72804557 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xa89c987b comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xed01593b comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x435b05ac anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x47d3a653 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x59423df5 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7a4da177 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x81d92f70 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x92c2c7a9 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xa8f048cf anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xac29275f devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb2b7f244 anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc09506e6 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc6a0a4cb anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xda3fb140 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xe3861a7d anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x53e17f6d fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xa671e894 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xc88c1be9 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xdd6f24e2 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0f91c4d1 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x16b24f0c gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x18580aa0 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x349362cd gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4983392d gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4cd8dd73 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5dcfe781 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x8d1bf65e gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb47f2355 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe046e510 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe941d549 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf0625e94 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xfe881b38 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x58217a53 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x741494bc gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x8e80c071 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x97a39ecf gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa6b8891c gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa76bc316 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc9529042 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd75d39ce gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xda05324a gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe2b1f1ba gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf1e653b2 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf3986eef gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xf449479b gb_audio_gb_get_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 0x27f4936e gb_audio_manager_put_module +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-audio-manager 0xce262c7b gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x88adbfb6 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xedbe6533 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x48ce3590 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x9ab4a28f gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x0c9b428b adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0a7ae0db spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0c757728 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0ef1d765 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x24e22c38 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x35033e6e spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x354ebb76 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4cc8910f synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4f3c779a spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x51163a26 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x91482130 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9af6efe2 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9c62a832 synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa27a8173 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xad6487f8 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb0a05716 spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xba0088e0 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd9f5e265 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xea408752 spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf55f0a4d spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x29821a19 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x32323b85 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x3fd95587 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x7b5b2931 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xa6ecc63b wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xf4af118b host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xff66006f chip_wakeup +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x128b23db tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x15dcc80c tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x19a9ada4 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x232b2391 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36cac462 tb_xdomain_disable_paths +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 0x5efde8e6 tb_ring_start +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 0x6642f44e tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6960844c tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6ee3575e tb_ring_poll_complete +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 0x8ad7f126 tb_xdomain_find_by_route +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 0xa7fe1a19 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xaf20887d tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb270c3aa tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xbad0a2ed tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc48c955c tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xcd74c9a4 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xde5efaec tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xea1fc115 tb_xdomain_response +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/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x36cd430f uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x66a302b0 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa8f73eab __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd63dd876 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x719adf7b usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xcaf6c304 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x1385351f ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6de42098 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xfcc74fd2 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x081bb824 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x401d0fb8 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x56376d8f imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x741c2a4c imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xa2796124 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xe17060ce imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1b551aeb ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1fd6b3e3 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x3a731ea9 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xa6b1783c ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd76fed12 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd8801f53 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0024a72f u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x10150d29 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x734dbba8 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x863a93cb u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbc2583a9 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd4ac83fd u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0ab362e3 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x321e6414 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x44bee6ab gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x47639e84 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5cf0f1df gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6828fada gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6acd864a gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6ddd08bf gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x79ea9bab gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9bf9da0a gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa59c3fea gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbfabd9b3 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc3868f13 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc41fadee gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe6f71c00 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x2bc25f90 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x3109bfff gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a305baf gserial_connect +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 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 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xf63d6f25 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x1bcf0c8d ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x425b8320 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xa496e576 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0958bf70 fsg_lun_open +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 0x22902499 fsg_store_nofua +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 0x2d7dba83 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 0x3ed4b814 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 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5a15b09c fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5a302a51 fsg_store_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 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8c6757a9 fsg_lun_close +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 0x9664c19a fsg_show_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 0x9af0216c fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa51de1b2 fsg_show_removable +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 0xa8756405 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 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 0xceafe70f fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xcf69083d fsg_common_remove_lun +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 0xd1fe8107 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd2cf06ca fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd9141c4f fsg_store_inquiry_string +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 0xfd43fc95 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x22e9f22e rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x41935107 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x48345077 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7e8972a0 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8bb1316e rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9b78834c rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xac00c5a8 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb10f4d57 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xce1ebf46 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xcf41e992 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd424165c rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd651c100 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe7f23688 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xeba967c5 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xed0b25fc rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x06a53a15 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0a7d2e2c usb_otg_descriptor_alloc +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 0x1305b15d usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x15088e42 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x16ec1a9b usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x25ef9fbf usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3e0f36d4 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4014d46a usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4d9b3fc5 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5640ca7d usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x583772c9 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5bb3d98c usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6661f9bd usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6929a379 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7632e400 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x77dda671 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7874be2a usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7a175d71 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7de84edd usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7f197114 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x81114ee8 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x91a9070d usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9a669377 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa81b18ca usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaca02ed9 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcae06088 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcfb58b52 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xdc11f3ca unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xdd7a58cb usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfb5618bf usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfc9fdc28 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x14feb2a0 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x328d5573 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x387af412 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x4eb92b07 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 0x612b3c9c empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x918b91f6 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xb1d5c067 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xd6129a6f udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xde6431be free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x00414350 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0181b4b1 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x08141157 usb_gadget_wakeup +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 0x0d44652e usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x12c05cb8 usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x12c49ddc usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x18134826 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2d08f0d2 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x327eef1f usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x32e4c7f5 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3c90b722 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4113aa15 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x426f0f99 usb_del_gadget_udc +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 0x5a6af271 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +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 0x7e566a6b usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8dbe98dc usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x97d64cc1 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa29e2cee usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa86acd72 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xac8f0edb 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 0xc5e93527 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc8e48c1e usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd0e07560 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd1aced2b usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf616838a usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x3d685d76 renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x7c77c20c renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x03362a90 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xbada948c ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x09c4339d usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3f8a3d61 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x531468cf usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5d0ed80a usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6408cf5b usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x97565ddf usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x98d3951e usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xaf7065e5 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc4033ff8 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0a5726b5 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x162f5916 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x3635c61e musb_root_disconnect +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 0x96fff3b7 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xa0655b3f musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xdad9d73d 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/phy/phy-generic 0x212caf63 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x335a9cc1 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x4b0548b3 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xaa3adc43 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xba9f3fa5 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x827de667 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x0eb0900f usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2c4f0522 usb_role_switch_register +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x90217385 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xa4113fe0 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x112345e3 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1b0cfb0c usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2b2c0eb3 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2c36580c usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x40434288 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4ffce7e8 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5ec5e584 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x65fbcd78 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6a2348d6 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x732702ab usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x80762e12 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8b272e4a usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x90b80d2e usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x92a8297e usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9bc6a98b usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc26938f6 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc8a2570c usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd7eee0e0 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdf86a1cf usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe12dce2a usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf63168c3 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xffeec8fd usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xcad4817c dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xdc5ca1fd dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xb4f586b7 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x6342e865 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1022a5bf typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x10a0190a typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x10db9dd3 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x14bb247f typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x155a62e4 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1d92dee5 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2a9f7cf9 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36394581 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3afb9d5b typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x479cc304 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6246308a typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x63057164 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6cffa107 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x79a2d8a0 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7a2b23af typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7c5b3145 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8fc36f75 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x930d89af typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9e0ec1f4 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa2e29ccc __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa4411e04 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb2e1ccd8 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb49f5551 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc441bf3e typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc6a1b055 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc84171ec typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc94b51d8 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xce77ec8c typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd679b458 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeda815b1 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xefb565f0 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf36c3fd1 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x034cd697 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x54ff8eb1 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x65c48087 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x920a5c78 ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa512b005 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xaa466e27 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xc6cd16c4 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcdcf731c ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xed113092 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xfde20837 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x02291e1c usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x16402fa3 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x649eaa15 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x82c79637 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x890881da usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9b05598c usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9dbbd178 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa073d256 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xaa869cfc usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xbdda54f1 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd6979d33 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf140f3ac dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf817ca69 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x282b607e __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x3fe7b67b vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x824b28d4 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x9dc8f77b __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xaeefb030 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x00c5f2e8 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x06b18c11 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x08b77c48 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0ec20ba5 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x113ce3ae vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1f4bad9d vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1f887db4 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3127edc3 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x46c4a4f9 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x48e366d4 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4b2ac3f0 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4ddb53d9 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4e3a9868 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5723ffc7 vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x58918635 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6135fd3b vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x71bccd7e vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7a3b374b vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x801a0bbc vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x84ee1255 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x85f499ba vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8b29e4f8 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8c4a3a77 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x988efcbb vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9b90324b vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa06db42a vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa337b741 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xad24c771 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb33fccc5 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb48e71b9 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb49c073b vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb5be7f14 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc492fad8 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe50f366d vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xea341d8a vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xeaacf7ff vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf04d4b09 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf3daf92a vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf6b42466 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf8b45c37 vq_meta_prefetch +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x09b45526 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x40f967d8 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x6a468a7d ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa0f4ec3e ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xab770023 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc812a490 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf1d754fc ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x6f5161b0 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x16773dfa fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x1f9344fa fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x4ebc0c9a sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xd447218b sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x06267d84 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2d504662 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x374ca4ea w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x43beb2ad w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x460a0375 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7013aad2 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x736c5173 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x79201c07 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa7d64ae4 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xabe4742a w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf2cd4e59 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x0a86b0e9 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3261e673 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 0x86b76a21 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/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3a932a34 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3d32bb98 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x40f62ec7 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x54403ae4 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7a34b612 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x960991e8 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfdac8ea4 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06c8b711 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07854985 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07dfd408 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0f3ca4bd nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ff7edbd nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x11745da8 nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b0bc4a0 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f11f3a4 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f8bb326 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fb70ae9 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fee4cdf nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x20566e3a nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x209d8147 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21ad3156 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23b7b5a2 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x241bf07e nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2426efe2 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25dda061 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2747e19a nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2989cc16 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c9edfc6 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d0e1603 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36089075 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36bec050 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3720980e nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37c43699 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38580f1a nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x387689f8 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39aa7208 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b4646d4 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b4fc053 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3c5416a9 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f3afb67 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4180666e nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x423f3033 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48229b38 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x49db8a88 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e8a2007 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f78b0e7 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x50be797b nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51c8be5a nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52a0db8d nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x534a0265 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x54a3a60e nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5ae538da nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5cec66e9 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5fdfd4d8 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5ffe5d82 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x60b27326 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x614e714c nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x639fe94e nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x646bc10f nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6790735b nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x68c63df4 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6adead63 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cef4b73 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73e456e0 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78beae88 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7946e3fc register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79756085 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c196c68 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c44f2fe nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c745f3c nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f36a1cc nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80c6f452 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x846ad6e0 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86a59fb0 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c010753 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c982036 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8fda580a nfs_mkdir +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 0x95601aa6 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x959362a3 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9757c8bd nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ab0854e nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b39ce42 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bfb9b42 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c7a7c1f nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d1fc923 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d84c015 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa06c56ca nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa15f8290 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa3ffb519 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa4de0cab nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa524f8ab nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8cbf8ae nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa99f0f93 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaab5177b nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5730245 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb82512e2 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9345c3a nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe064678 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe44b58d nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3ba5ad8 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc538a481 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc63754d3 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7da3461 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9353e26 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xca686d1c nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd502912a nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd58c9fad nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8159533 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8962eec nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9edc49e nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda4b1eeb nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdad12144 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xddf371fd nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdff12b37 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe02a3381 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0cc1621 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe45c7057 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5b72274 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe69981c5 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6c5a0c5 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7c6f4c8 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea6929b6 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea8a4e0a nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeaeb0aa6 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec9f8745 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf07dad6f alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf12c7079 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf44796db nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7a135c5 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf82d6b69 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf975f884 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfab1d063 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfaef4af0 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfbaa19e4 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfde29271 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff57ff34 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfff175c0 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfffcffee nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x75755591 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x02dc493b nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x03cc12d8 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x03e789bb nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x073ebc62 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0afa18ed pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0d9a3d45 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x121133e9 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x13edb739 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c33e807 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1eb3dbe4 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f36232a pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x259cbb97 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2626c4b3 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2720cbaf pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a11bcf5 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2d4141dc pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2dd9b0fe nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e00b20b pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x317023d9 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x31f9e269 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3201adbb pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32d3b224 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38ff450d nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3d51bb43 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x404ac905 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x41fd6d8b nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x42ac5160 nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x43d4f77e pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4a9f756e pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4cb4a259 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x520560b2 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x546e4690 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x607de6da nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x608fc64b nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x637c7ba1 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x68db3530 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73928666 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7456a5a0 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x79368f6f nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7f1b7c5a __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x80d7969f nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x80e7db51 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81213cfd pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x83edfa7e nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x841ecb68 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x843074ca __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x84328b5d pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x89956ffe pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8a8728da nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8b4106c5 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8ff04152 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x90526909 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93b2e3a4 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93f40e05 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93f9158b nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9816a4ff pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a49b07a nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d254716 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb8b21a3d pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbaf3020b nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbbb6aaf0 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc257b8a __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc61672b5 __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcab2faf7 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xccc70071 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd1fb442f nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc53db81 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc85d278 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde2503cd __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde554f1e pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde7ab663 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdec57718 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1d3b055 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe2b52e6d pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe6375713 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe7685a24 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8308b5b nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe88770f8 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeeb1e123 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf3e24b82 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf91d3961 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1877f74b opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x776a05d7 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x9db0f689 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x5fe17aa0 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x6f6a7718 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x15c62530 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x367cae79 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3b02bcb4 o2nm_get_node_by_num +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 0x75a7d772 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x82e0e67b o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xafa2797a o2hb_unregister_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 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xecebb749 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 0x0bdec867 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x46122ac9 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x55a73d3e dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd1358919 dlm_unregister_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 0xdea6a47b dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf2916c54 dlm_print_one_lock +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 0x7ec674a9 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xa65b7e55 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xac1f1ae4 ocfs2_kset +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 0xd7f8e474 ocfs2_stack_glue_register +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 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x1d7543d6 register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x63cb5070 unregister_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xce980922 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xcfb60d8c _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf2e873e8 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0xbc3b5e35 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 0x567810c9 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x591a2145 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0x038edf1a lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xc34343df lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x23a6c5d6 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x3bb78b8d garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x81801b85 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xabb33de6 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xabccc720 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xd0907fcf garp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x297d42e8 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x63db13e3 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x7b223bc6 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xa05f7ccd mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0xc1b099c7 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xe644cea9 mrp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x34251e42 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x3b53e64f stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x823efcc8 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xbae8552c 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 0x5378d0bc 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 0x40b7b5c5 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x6bc66f65 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x829bdd46 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xb0751c38 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xba9acd56 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xbcfb9d02 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcac8612f l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcd242270 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xd3e7bcfb l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xc0655841 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1c1fd7b9 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x234a774b br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2434ae6b br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x243517c8 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x34f85cc1 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x464a449c br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4e462ec8 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5e7270ff br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x615d67d0 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x78479e6c br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbd77b61a br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbf138102 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbfaf80ad br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd85df38d br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeda4daaf br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeed6ccb3 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf6e57532 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0xff0901e6 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/core/failover 0x3b2a15e0 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x49535faa failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xfb8e6b9f failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x010108c4 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x16d35bab dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1fea29ce dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39f095d3 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d559259 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4392cd16 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x499fa01e dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x50c2bbd5 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x529b5446 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x55f4fd60 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x56ebeb2e dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x57ab6ba2 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d5566d3 compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x67762ed6 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6f673616 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x728e260f compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x750cf495 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x77fadb87 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x781af959 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x833ddda9 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x960339f4 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99528a55 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa2659800 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xacdf642a dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xad72963a dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xae2e5444 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaff0d9aa dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb7897d25 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbd65b356 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0b7701c dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc5299f1c dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd079189 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe4de920b dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeea6d9e2 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0574bd4 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0be2b96 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0a18d74a dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2fdfbe14 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2feaa03e dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x63afb4d0 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x770b52b3 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfe6abab8 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6c49e6 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0d784e4f dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1119d56a dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1aea16b2 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x23fede76 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2e947d13 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4bf67520 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4d29b9c7 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5b8e4984 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5ef77f68 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x653bb785 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6998f886 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7b5a1c92 call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8f09ed4f dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x94b8f2d0 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa3ac8521 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa6ae6a6f dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa715cc38 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb911fc35 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbca5a871 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd55734c6 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd6500d01 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe303f162 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x5069a6d7 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xa46fa722 dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xa474ed59 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xa989039c dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xc88b8d70 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xd7669c87 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xdb5e9e12 dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x2498fa75 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x983189e2 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xa5b43645 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xd469c21f ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ife/ife 0x55346fc9 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 0xe3040610 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x4fc7804b esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x6d5fced1 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x95624689 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x62b38215 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe7c0c479 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1a39b5a7 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1eb19524 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x20fa1cab inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x378793b0 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x709ff811 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x83037906 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc361bbf2 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe70f80c2 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xeb271936 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xb7745fc7 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x08b193c7 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0e728378 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1c7da4cf ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4fdf1148 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x58ca1f7f ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x68322ed1 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6ad8e201 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x741605ce ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x75a2ff44 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7a72d041 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7ab16292 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb4eeb6a6 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb883dea1 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc272dfa1 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe5093449 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf43782a8 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf5ef6d2c ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xf3622628 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x7ab51972 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xec7d47c0 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x318b5256 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x1b47368d nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x1e31109e nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x320a63fd nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x9f007fd4 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xabe8bbb1 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xd5370872 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x168f26a5 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xb913e5cf nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xdd8f2c25 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x57fe62a2 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xf7dbfdda nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0eb38b02 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x19893ca2 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb482a5c7 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xbe2283b0 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xde147c50 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x15b3dd16 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x51187aca udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6a7d70a0 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7399bd78 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8dbcb2b5 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xb35b1439 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc2d75cf9 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe7c37b4c udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x237419f4 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x472bdbe6 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xc86c1828 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x2fd85050 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x34005911 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x65ec503a ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x42d2d184 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xc1831dee udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xaf791fa6 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x8d328c2d nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x8dd9e1d4 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xe9572f70 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x26dc6ac1 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x2894627d nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x39f3d2a5 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x5a1fbf07 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xfbd6ad8e nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x5250a91b nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x121f0ee4 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x87cc9387 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x8c248dbf nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xae6a5210 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xbcb93c9c nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x01a61d1c l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0c84c8bb l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x17c5c53d l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1d6afa2a l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x284dca6b __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x490103f7 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4ea52051 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x81d0158a l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x82ce417b l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xae0e0976 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xae5449bf l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb3a075bf l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb88c8d61 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbff8c715 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc3aff3fe l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc443fbde l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe5344247 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x3a70b245 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0ce0b65d ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x19f7d21b ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5d557b86 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5eb39bf0 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x75479e0c ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8014f60d ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x92e65aed ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9bd88f39 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9e48eee2 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb09a6b49 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb2d580ed ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb72765b1 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe020a4c1 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe6a43b29 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xeb9acd59 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xec205f1b ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf3c770df wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xfa5516d9 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x211c8798 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x67b2f034 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x68efa4a0 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xc530dac0 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe7b63f6d mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1be9d589 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x299d263d ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3b14efea ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x537a28ca ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x60988bd3 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x61c11cef ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6f4a862a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fd753b1 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x82e3e406 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 0xa5c2febd ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xaae9da5b ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd2a6ff6c ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd3923eae ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd4d8ee6e ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe761a592 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xed3389bc ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xede9e0b8 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf7281b89 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfb588790 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x039743a5 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x255e8b99 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x436272b7 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xeca73c17 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x13132f01 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x162e96f1 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3761d26e nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x76856cbb nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8144b174 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa520a2a0 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2728e70 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x014c3ecd nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02254e31 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x036055c2 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x04871ebc nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0546c52d nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0837f226 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08ac2bbf nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08f827b4 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0b1f6ee8 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 0x0e95ffd1 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x104e42b8 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x112bb386 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1754ee44 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x19a8b34d nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c5fddf6 nf_ct_seqadj_init +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 0x2e349715 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x316a224c nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x343d9ea5 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35d88f55 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b7cc781 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x462e3ea8 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4777d599 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4906d18b nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x527d8a56 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x54d712b4 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57193e77 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x597377a6 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59a3dff2 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a4bb0aa nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6218e394 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6852b27c __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x688d6d4b nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68fb8091 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6b3825bc nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d8e6754 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e6d3c80 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e9237a5 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71889e8d __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7332e5d5 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83bb9b4d nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8561c47b nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a66c4fc nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d7fdf70 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8f226856 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8f71c429 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x94e025fe nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96f5915c nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9800511d nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9802d748 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9dd84adf nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4f08a6f nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6a93841 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa8a3dc08 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9be8bbc nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae05a2fd nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3970efe nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5987cf4 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f87960 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba2f4657 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbab89bd1 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbafab4d7 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd986a6a nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbddb6aa3 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0aa40f1 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1bcfdbd nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcad554bc nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcb7f78ab nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xccdd115f nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2891b7a nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd41f90e7 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd88057ff nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd89ca8a1 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xda3e13f5 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb6b0efd nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe12d42fe nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7922b8f nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe81189d5 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8b29fdd nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeaa6d277 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeebad536 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf30ab502 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf66ec1e5 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf83e51ab nf_ct_tcp_seqadj_set +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 0xcae598b5 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xf6b82fe8 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xdb492f26 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x27500e17 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x51a952e4 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5866d2df set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x619f48ca get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8fc85ce9 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x91842c31 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa1d50890 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb7b138cb nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbb14c847 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe084aab3 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xe6e85548 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x289ccd68 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x4e4e4dd1 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x9862d1e2 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xad0a6121 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x15fff195 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3db91f00 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x70a8cd5f nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x732497eb ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x905aaa9e ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc232d8ba ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xfe1afd26 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xa8a6578b nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xd4309073 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x09ac4778 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x942edd48 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x9ebde0b1 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x00aed1ff flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x17728d82 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1bf37191 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x26c058a0 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2ca6afd3 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x37a9303d nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3d43899f flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x40006dbe nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x562f96e1 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x61b5f1dd flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7f73fc3c flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcaa778d1 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdae687d7 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe9b70256 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xeef94d23 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf2a98c96 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf9b5e319 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x080bf85f nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x5c99c55b nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x8506b0bd nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x93a8cbfe nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x95ddd87f nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xe422e5a0 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x03321cc5 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x13f97fe1 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x24e6afc7 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2864140c nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4e8c71c0 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6206d3e5 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6595a0d9 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x79ba5334 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x86d18d46 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x934c1fc9 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa83a86f1 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa9321cc4 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xaf3240b2 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbb49fca8 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xcd81075c nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf3a44f59 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x051d9fd4 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x057a121d synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x06670da8 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x098b05a1 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1c446e01 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3b86ddf3 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x4811f8de ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x49f63e1b nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9ba8b70e synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9e9152ba nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd1006109 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x030b7c26 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0773a2c9 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x08c2d151 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x098f5785 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a3ba149 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0c22c968 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0c782946 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0e50e07b nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1be0e82a nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x27e3dabf 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 0x33ca6e82 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3653c82d nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3de9758a nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x40279345 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x451ecffa nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4867e7bc nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4c2298d9 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4dfefabb nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x51a284a3 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x57157119 nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x58f5c1ae nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6402b389 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x64bc72c5 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6eaca3b7 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x78f34344 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x847399cc nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8bb17f55 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x939f6d71 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb844668e nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcd393834 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdec80fb6 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2def5aa nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe62196bc __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xed8acf1c nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xef415cfd nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf2a1ce87 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x27e2657e nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5dedbc1a nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8689a265 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa079d9f8 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcb5fb24c nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe464ef79 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x0a488641 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4d355729 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xf57219c3 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x5623314b nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xc0b76962 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x082b0c9f nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x89b6fc2e nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xb63da9c2 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe1c3f37e nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x20781ad1 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6e4b53ff nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xf9f6c004 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a4c1f1a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x41b1e9f6 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4b29225d xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x503bbfbe xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x54d595cb xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6ed67509 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x787e2c14 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7aeef5e3 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 0x87a6d642 xt_check_match +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 0xa7d8fc6e xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xaa65936d xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xad6c6144 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb78baf51 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbcc1f47d xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbf186c7c xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc0e62cf4 xt_compat_target_offset +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 0xdda8e703 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe27230ca xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe593360a xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe681805e xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf9c2017f xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfdef42ea xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x76fef921 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x829c0af1 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x210a9a65 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x43df3ea2 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x74048dd4 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xc193172c nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xc240bffa nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xe64c7b60 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x3d48cb8d nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xcffe8b01 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x4366b933 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x500db875 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x6b78466f __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9acdd7a6 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xde7888b9 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xeb348fb3 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/psample/psample 0x27f1982c psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x4d111440 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xb3436c83 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0xd078e257 psample_group_get +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x03606534 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x44108664 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa51a1943 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x135c171a rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x153377c6 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x1e958583 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x23fbc4f8 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x279c9e23 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x32835949 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x4030d721 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x556f953c rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x5684f670 rds_message_put +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 0x7ac68749 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x86aa0b21 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x8b7177c1 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x9fe5ea6a rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa5832a15 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xae2e2884 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xb06d2c9f rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xb980077a rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xba4900f1 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xbe51dace rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc5d13ced rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0xc67ba6e8 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xc8d8375e rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xd0a06ebb rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xd386b9de rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xda641ad1 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xdac5b370 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xe0913640 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xee41973e rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xf4ffdeea rds_conn_create +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x0d2741de pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x38c2f285 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +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 0x257bae77 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x838ed9c4 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0xa3e6d8bb sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xd44a983a sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/smc/smc 0x0a968f42 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x11e2f72a smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x12661d92 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x7d7e44c3 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x8393a9c7 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x84835962 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x87af768c smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xe52309a4 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xf077be28 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0xf45ea5f9 smc_hash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0949ca0c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1f3aee63 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 0xbd7609a1 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 0xea8c000b svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00b7bb3e xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05cbbd48 rpc_switch_client_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 0x0a6e90eb cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0aa8027a rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bfacf44 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cbf29b4 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e6c5e01 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f7c5658 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1047b32a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10aa0e66 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13aed054 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1442f79f svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1458f525 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19fff5cb xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a5794ef rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b3256f9 xdr_shift_buf +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 0x21409e62 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21be8b72 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2348b404 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x244c3178 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26dd90dc xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x289ad297 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28b5ea27 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28d6ce46 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b37eb2d svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e65d628 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ff35238 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31529cc0 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x327b52fc rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32c90e7a xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3485efba svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34c25cc9 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34f751af svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3606ea14 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36e1d2f5 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f9f55b rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x372ac631 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x373921ab rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39084755 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39769e90 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39e286a4 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a3bf462 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa68074 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ab07ba8 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b63ca9f rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c1887ad xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f636559 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fb9d491 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x416b7f1c xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4175bdd3 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x420d6983 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4217a355 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x423031ad xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x424720e7 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42bdea48 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46ff4d72 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4889030c cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4901ae81 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49b13e4d xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4af6bc96 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c5e4d79 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c683aaa cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e41e12b xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5070cecc xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5127d26e xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52e004dd rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52eb5faf rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53dd6d72 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54ef6ab4 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55c67a69 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5632cbd7 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x564f211f svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x578c1d3d sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a650b6c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c543c40 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6d02ab svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d9d3042 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ddb9131 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e66a935 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e9a9383 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fc9652a xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x600c7198 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62a3686c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63df7dda rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x646b8bf5 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69f182b8 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c56dc64 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d61f509 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dea1652 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e067ae4 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e749c7e rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eeacc09 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eeb7652 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eec4473 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x730bd633 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74027e57 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76375f8f cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76dc6724 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77190ace read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x781e3567 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x790380f8 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79647432 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79f37e22 rpcauth_lookup_credcache +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 0x7c2a9b2c svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c43381a svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f2e07a9 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ff69ccf rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8074a5d9 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x813be2ab svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8166906a svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81fa7236 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83cdcbbf xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85382b9b xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x854a4139 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8660c51b rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8745684c rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x876a0fd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87960b80 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87db9ebc xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8967712c svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c444ce9 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c475aee xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d4ad9e7 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e847a57 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eb97061 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eff3216 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fa1330c rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x946634cf rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94f8308f xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x966c49f3 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9830a670 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b8d0315 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bc3d0b5 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bc5186b sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d1d65dd rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f659d5b rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa052f1a5 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0c97a4d write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0cd38ec svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2106981 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3b27c1f xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3c136a5 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa48cb745 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa55c9f2a sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa60d45d7 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa63610dc rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa66c1703 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa807cee6 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8c34760 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9149d6d xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa2aa535 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa5ecb9d svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaaa88e62 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaae61a7c rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab39b96b svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf88150d rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb11e9700 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb128e9d8 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3cd3ae9 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3fd0829 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb42d2f52 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4382106 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb611196c xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8db064c svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaacc057 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb0fb4ae gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc15f7ad svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc616896 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdf4fff2 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf311ae5 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc23711ef xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc318438a svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc34c4d96 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc34cae49 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc52641db rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc57db9ac svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6988938 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc945c4cf rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb6738ac rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd6b3c3a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd77f006 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcda41ddd svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce05b73f xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcecb8c79 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd01bbe5d cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd034dbd4 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd04f58cb rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0d6cba3 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd26018cd xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3dda85d svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7fed13b svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd82eac22 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8daaf98 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9b11b84 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdacebe65 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde236857 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdeac4b93 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdedf88ed xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1d520bc rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe226119a xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2d2b2d0 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3c7b153 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3e5d152 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6644b86 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7e7f3e8 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9919318 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9733ba svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xede2e7e3 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee317f14 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeebb3d9a rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef57cf30 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0a2608a rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf15dd16a xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1896815 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1d34753 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf257df95 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf55bba9d rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6ae867a xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf94ce3c3 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa47cdc6 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb0b65e2 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc372136 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc59b7c4 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcae16b5 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdf2a4b0 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe26476e rpc_free_iostats +EXPORT_SYMBOL_GPL net/tls/tls 0x2682e11d tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x60e49b8e tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x638763f0 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xe8baa46e tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x02d3e830 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 0x049e55dd virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x04cc6eb0 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x06fc43d9 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0caacb29 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0d6d3c82 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1a84ace2 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x24882c5c virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2cb28ddb virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x33b85145 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3d2d5a24 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x48716ecd virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4c9f45b8 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x52b20edc virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x535eef65 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x60f32761 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x653cd1af virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6a7dd6b5 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x759b1855 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x78a26023 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8e010763 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9cc3fb28 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa642284a virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa9e8b07e virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xac85d15a 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 0xcfc0722f virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd783b79e virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdd7b42d1 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xed9c4270 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf29bd8aa virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfe9ce9ca virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0b7cb541 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1e393794 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x30f6065f vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3ceb1b99 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x42516667 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4548c5e7 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4a685bb5 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4d197d45 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x51041113 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5c2f0c67 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6e258808 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x72e68018 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73d0cfb8 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x86d73a10 vsock_stream_has_space +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 0x9bfa1414 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9c32ddfc vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa477539b vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbafbc13a vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbe2252a0 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfbd142ed vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfd468cf4 vsock_core_register +EXPORT_SYMBOL_GPL net/wimax/wimax 0x02809456 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3632baac wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4500b763 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6f75f9c3 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x766f88e5 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7e6b7492 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7fcefec1 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8496ad28 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x89d279aa wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x98692cc4 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa27f9bfb wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa9a3d0e7 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf70b2888 wimax_dev_init +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x201e7e03 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x34c708a0 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x384e36f4 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x446a4cbb cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4e61e292 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x52d45978 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x59750f20 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x65d314be cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6f7bab9a cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7195dfbb cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x98423a11 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xacbfce79 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc5694f20 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd7610ebb cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd8c84aa1 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe8587a93 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 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 0x6b673878 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbb416698 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd4d0c535 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf6d0e1f7 ipcomp_output +EXPORT_SYMBOL_GPL sound/ac97_bus 0xf3a4c1bf 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 0x1309f532 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x254bbfa2 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x34fa818b snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x4884690b snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x66b9b046 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x6e9ba852 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x76179414 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x79ed8c50 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xa5e8445c snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0xa6118653 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xe7f33733 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd 0xeb51a9f7 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09b7f4d5 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x20d67adb snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x3def4f6b snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x658fc60d snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7fa1c69d snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x95aa3f65 snd_pcm_stream_unlock_irqrestore +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 0xafac32fa snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb93ee6ff snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe34b92be snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf9195117 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1da0aa3c snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2b05e776 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x41e7d168 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x5d71362e snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x63af40ff snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x7a3eebca snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa125b33c snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb7753680 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xbe547f75 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc1c435d2 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc614f76f snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xeb1a882c snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x3a7b48f0 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x9c99ab7c snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0b4dd2d7 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x2bdcbd67 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x31221382 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x45a6a174 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4fb563f1 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x53ed3b19 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x603e5325 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x63e7e65d amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x76cebfc3 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x97c035da amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa6b12357 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc32d8290 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd0960444 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x02bf2eed snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07ba7a2a snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a643da4 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a8439b1 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0cf7c47b snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0eeb1ab9 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x182c8376 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x19d461fc snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1d12ca5c snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x26813e16 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x28268cf7 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ed44e61 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33dc1843 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3615973d snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x364d4903 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x36f23818 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x39bcf2e7 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3becaf59 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3c9366ba snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3dac94d0 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4314a5d3 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x44017eea snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x461ca91d snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x498c11a4 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4a502704 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4e3626b8 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x527f59fb snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5692836d snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x56d2f6f0 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x59ed2df0 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5bb98fc3 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5fcc3506 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x62bb9fec snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6e04eaa9 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6fc542a0 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x70a6afbc snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x75c6f2be snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x76f44c9d snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x776b2d63 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x784c5f7d snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c300b57 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7ebf2f87 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x83f0ce9e snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x841c9537 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x86a0c709 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x888e8353 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8b0a670e snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8ca7bd21 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8fc2d0ba snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ad93f8e snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9b76a27f snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9c78bdcc snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ea0c1c4 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ec6f109 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa1a1c3f3 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa30cb881 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa32f87e7 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa5692905 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa87a73f6 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xad36483f snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb1fffc7d snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb2823b47 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb72e02e8 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb7681ddb snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb93aa01a snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbab81fdf snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbed9797c snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbf82a86e snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xca0ba361 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd13aabf1 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd208bcea snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd60eb0b6 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdf37e689 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdff17987 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe0d992e2 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe70c463d snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeb913a8e snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeee811c8 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf7049bde snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfd9c5d21 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xee6b6110 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0b239158 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x26d932fd snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x2af91974 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x96467c3d snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xde572201 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe2d60d7f snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x02741cf2 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0404e15a snd_hda_add_new_ctls +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 0x084d8160 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0aa77128 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dc56c6c snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ed8a18c snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12bce467 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1320b66e snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15af1eea snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16eb2b60 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18f10c8c snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ab19549 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1da62b30 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2019f23e snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x220036dc snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24f152c0 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25cc4765 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29456b09 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29fddc20 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2fb122da snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3032648a snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x368eac64 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37c4e6c3 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37e31331 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d87ec2c snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3e12fe36 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x446b4c8b azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44d002bd snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x477c9d1b snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49967a63 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b4ee20a snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b8fbe81 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4bc87983 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e765317 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f7568b6 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50509715 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x549279a8 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x587f40d3 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5bed4935 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5bfe4854 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d5c3a1b snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f21ee76 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5fa123dd snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62c8a867 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63b67a86 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69bb86f2 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a3bf1da snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a3ec58b snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ba8ab3b snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6bb28923 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c5cb87f snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d719a34 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71328ed6 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71e28338 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x751b9129 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7832c349 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b485c0d snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b56d63c snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7bb2b2ca __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cc2e7a5 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cf2b827 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f1d4066 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81ea6757 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x831cd8a4 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86a714fa _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8878e8a1 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88a01528 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8927eae0 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f1adff2 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fbb0130 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93181c53 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93ab5ea2 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93ad210c snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95eaa32d snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x97195270 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9736a409 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9acd73da azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c18a0fb snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa33f425d snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5db4f93 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5f36304 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa6121c96 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa824adce azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa9f0acb8 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaa8030d0 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaba60d2b snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xade04d99 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae8112f8 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf2aac8b snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3277f2e snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3881e01 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4688bcd snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb56ea496 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd2a2aa3 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1a5e3e3 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc27530bf snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3e3b479 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4970537 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc6793b52 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc7a1d8c0 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8841f43 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8a0074c snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdc7ef95 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfd1b918 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd08db589 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd51e220e snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb1a95a9 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdc503712 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf30bba8 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe231e3b4 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7b30cf6 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9f5741b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed11668d snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed67f48d snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef08a26f snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6f2be37 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8d2a536 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf959816e snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfae098a5 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfcf5a314 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd7d4b42 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1326cbe1 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x26b874cf snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x308c0592 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x347e1ca6 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3617e6a0 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x47412c75 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4fc52444 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x530fd3c1 snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x61e999a8 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x61f33d3f snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x65cf90e1 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6e645726 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7274f0bc snd_hda_gen_add_micmute_led_cdev +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 0x80d3174c snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x85dd1640 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 0x8990a357 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa2051c4a snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa4272e99 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa5ec9795 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb19fe067 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf03414fd snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf8ca09d3 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x0aefb4a2 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xe0b5dbc2 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0b001ad0 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x129a4234 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x238d9c6c adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x692b7eb0 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x71127d13 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7969c050 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x798ffe14 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x8517c115 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9520ddae adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9bd591e1 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xd83fb32f adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x5771046f 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 0x88478db7 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3dead1b1 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x420c630b cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xb8a14941 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xc3bb3a68 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xc65177a9 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x38c4fb82 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x3e1c4720 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xe0b24402 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x2272b939 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x5f3c27ec da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x8a5d0eed da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x149250fa es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xa857d13c es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x66f56a63 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xfd26fc0d nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x0ad1f1ec pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x97e6232f pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x9fc67fde pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x0d615dc4 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xa21e125a pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x3f6ddfea pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x5d1cf163 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x6af53097 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x956a82ba pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xdf0b2434 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xf81befe5 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x187ecbe7 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x1f7e39b8 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x2cbc54e3 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x4295f37c 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-rt5645 0x34cc19c8 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x54b6eb64 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x036de832 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x2f7edc33 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5a64b5ba rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x64acaf06 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x81c9e49d rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x84246473 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa49f70a0 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb1530eb9 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 0xdbff30c0 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe4747a97 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xed7048d5 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x10e094ad sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x1df48088 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x8c795a30 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xe349016e sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xfc9b3c04 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x67845da4 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x4ee366f4 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x4b5b54a8 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x88821a2b ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0x43214cb7 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x41f7ac78 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x33b7a104 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x7080128e wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xb62266cb wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xfd6f830a wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x17190397 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xf3059c05 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0xecdb78f1 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x2e96519a fsl_easrc_get_dma_channel +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 0x00a825b7 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2011725f asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x364435b3 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3fedd7d2 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x40ca4a32 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4bd46fa7 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x53b51b8b asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5ff72ae0 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6125e5d0 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x81c6d945 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x832e64bc asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x874fd94b asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x94a32e8a asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc06305ed asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd90e06eb asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xed11fb7e asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xef401a36 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xef63e721 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00e10f96 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00f8fcae null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x042fa77c snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04fa276d snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x080ef017 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08390743 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c03f29f snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d6fac0a snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d72c715 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0def7c85 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ff0c50a snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1250e1ad snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14608550 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x147fa161 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14dd2ee9 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17d98293 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18e7daa2 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19029f54 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b10740b snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bc16ee8 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d523d22 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1e11666d snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20353733 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2071f2d7 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20ec1872 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x230afb7b snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x238d6e3f snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23dce074 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27707e59 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28ce9127 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28e052f9 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29851b49 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a32a22b snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b9e6ae2 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e1d0aba snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3285b3db snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x37169e7d snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38fe0d50 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3dd5327b snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e30c14b snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f4026a4 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f743679 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fa6a055 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4096dfe3 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42caf9b5 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4446f7c0 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46161bcf snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4807f56d devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48db37e9 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48f3794a snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b0f958b snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4be65d21 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c55934f snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4db6b1cd snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51731511 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x517e406c snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5277fe5a snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54d9f7d1 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55741e26 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x567133cf snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56764e3f devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x568dd336 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56e7a9b8 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59639acd snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59cbba03 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ba2b41d snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5be9dd88 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c4c3bde snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cdf0fe8 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d808b92 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60e0173c snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x618fa4cd snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62bad442 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x639f16ef snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67f06a79 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ad2e451 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bda3c21 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bf3c9ed snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c98ab07 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6db63ddd snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e2ae233 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f384734 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x726e3ba1 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7354172c snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74c63b58 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76d26e5e snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x787f2f79 snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78bc8986 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x793831c0 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a9ee4a7 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f5cae9e snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fb79b2b snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fd2bc74 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82aeb307 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82be1b56 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83e1aa74 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x840705f1 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84950367 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86343a6e snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x879b5bd7 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d347c0d snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f8bfbc5 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ff88226 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x908c6e4c snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90b94b5a snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x917b91f5 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9313069e snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93f21dfa snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x948024cd snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96c88ca5 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98c06a0b snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ac29f13 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9acda500 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b114879 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fcdfdc8 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa02d50e2 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0dbbd57 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0ffd2f4 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2540d0d snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3280dc4 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3a67ebe snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa413d23d snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa44d8bad snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5c8d710 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6151586 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6d62f9a snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7326510 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa749b93b dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8851c40 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaba55c10 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xade8838f snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadf6aeca devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb33f59a6 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb402ece5 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb87e45be snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb97a05e8 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbfc23db snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd03fb7b snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd23908a snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd38be77 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc02eefbf snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2055f5e dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2b3e3ce dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4670bd2 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc821b024 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca0db2ce snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca97ed64 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc513887 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc765f51 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd28e2ff4 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2be83b6 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3037b43 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd56a679a snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd607916a snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd66e907b snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6fa51fb snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7d006eb snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda14533a snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda2c0471 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb1ecc80 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc9828be snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdca8110f snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdeb1fa18 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe099cccd snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe54380b8 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe570f934 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe72d4676 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9079cae snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9a12057 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec221d26 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed1add7c snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed9551d6 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee1c7da9 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf11fe4ff snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf16bf546 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1babbbd dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1de0c2f snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf397de0f snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf53e880a snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf56ff6af snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf804b01e snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9075c6e snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf960c984 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfba95231 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbc624e5 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbf33e06 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc7599bb snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x11c7372f snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x4e14945d snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x6471e8cf snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xadea35e9 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0032b594 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 0x4c9e35bf line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x53f16569 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x725d0e53 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9774891d line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa56bc08f line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa5ea2af2 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb30de271 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb4c724db line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb65f5278 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb9dab278 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbcaafadb line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd131298b line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xecd16d06 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xfed48363 line6_resume +EXPORT_SYMBOL_GPL vmlinux 0x0002fa9f msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x0008e000 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x0012df10 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x001b3ae6 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x0025bdf2 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x00297d2d __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x002b64aa fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x004b7bd9 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x005753a7 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x006525d3 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x00765691 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x00817544 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x0081e0e3 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00fc2915 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x00fcaff8 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x0102aabe mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x0124dd30 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x01370263 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x0137dbb4 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x013b6976 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x013dc33c relay_open +EXPORT_SYMBOL_GPL vmlinux 0x0140485f posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x014aa5ef regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0159c819 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x015b3c5e __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x016a2d19 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x017a2394 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01907648 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x01911b71 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01c901b2 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x01d7b34e devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e65533 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x01eda9b4 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x01f5d86a strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x020b4fff devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x021e0d5e sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x0268b344 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x02827963 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x02923703 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x0297bb07 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x02ad4475 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x02ade722 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x02d0a497 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x02d53ca8 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x02f832be crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x02f8ae3f dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x03046d6a pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x03165183 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x03242a08 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x03372453 force_irqthreads +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x03436bda uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0345a1f6 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x035a966d platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x035f129c devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x03619616 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x03719902 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x037b083c fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03a15b27 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x03bfd805 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c27eb5 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x03d0a6f2 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x03eb0935 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040395a4 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x04059f9e cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x0407f382 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x040f7d7f bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x041df925 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0x041e8b10 xas_find +EXPORT_SYMBOL_GPL vmlinux 0x041ec506 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x04258796 opal_flash_read +EXPORT_SYMBOL_GPL vmlinux 0x04566a05 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x045efe0a ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0462a001 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x04637f91 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0472af40 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x047c6d34 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x047fb441 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x048466f2 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048ee002 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x04941773 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x049fc03c regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x04a159b2 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c897f1 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x04cf0bba class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x04d3becc inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x04daf01f fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04e71550 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x04edb24d shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x04eff150 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x04fa6ec4 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x05010d32 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x052ce5d5 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x05428617 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x054b8ce8 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x054ec8f2 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x0550c623 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x0558ab4a freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x056a97a6 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x056b0b20 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x056d437f gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x0575fa49 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x058097ae da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0583d9e8 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x0592936c thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x05930dbc trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x05aba5cf unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x05b2cb40 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x05ce2230 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x05d018fa kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x05d0b7a3 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x05d60ea7 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x06109e3b gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0624dc7b mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x06270cc0 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x06285d2a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x063bcf37 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0650a86a iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x0652fc4d of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x06827bd7 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x068c0b14 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x068e7c6f task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x06bea5ec spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x06c46a9a clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06eca472 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x06f5a5f6 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x06fdb6d1 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x070d9769 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x0715777d mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x0716266f scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x0719d9d7 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x0727fa6a device_rename +EXPORT_SYMBOL_GPL vmlinux 0x07286b25 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x072c37c1 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x072dd249 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x074bce7d rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x075922e5 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x0765c3ba kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x076de290 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0773fb55 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x0776af68 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x079e4918 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x07a0e337 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07c37c6b em_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x07df666a regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x07e34ef8 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x07f67eb0 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x080c066e fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x0825f4a6 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0828d609 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x0830b55a perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x0852f4ed cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x08535653 flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x086043ac devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x08637387 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x08795a74 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x087bd533 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x088751ed of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x08903e1d inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x0893d903 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x08bf764c __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x08d1a2ac nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08d76218 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x08e4ff66 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x08e6cdbb is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x08e7a65d dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x091f36da devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0928f9f3 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x0948c43b devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x094af376 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x094b7345 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x09653fb3 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x097c196b gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x097d3daa __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x0984057f irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x0984933d kvmppc_h_get_tce +EXPORT_SYMBOL_GPL vmlinux 0x098a3a37 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x099e9288 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09c0f50f ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x09c3ffb3 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x09deb666 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x09e6bae0 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x09f8e93c user_update +EXPORT_SYMBOL_GPL vmlinux 0x0a14ea74 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x0a29dde7 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x0a2e36e2 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0a450ff3 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x0a4c36cf ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a57cdfa __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a5ee7a6 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x0a6375da usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a646980 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x0a68fcf6 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a71a6d9 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x0a771acd usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x0a924176 srp_rport_del +EXPORT_SYMBOL_GPL vmlinux 0x0a993111 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x0ac6620c wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0ace360b rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af4798b usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0afd99fd platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0aff17f5 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x0b03434e ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b080ed8 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x0b09e040 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b2e308a pci_add_device_node_info +EXPORT_SYMBOL_GPL vmlinux 0x0b37f774 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x0b3f47ce of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x0b476b05 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x0b7931f6 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0b9b7c56 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x0b9f8ce6 eeh_dev_check_failure +EXPORT_SYMBOL_GPL vmlinux 0x0b9f9aa2 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x0ba4f724 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0bab928c devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0bb2b20c mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x0bb90481 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0bbc4ba1 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x0bd42cb5 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x0be74639 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x0bebc71d addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x0c125e6f blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0x0c1690c7 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0c2513b3 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x0c264d90 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c37212b __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x0c402cac replay_system_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c5ce880 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x0c83766d of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x0c92a765 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x0c986fcc ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x0c9a50e3 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x0c9b0ec7 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cbe9d1b register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x0ce3ee5a mmu_kernel_ssize +EXPORT_SYMBOL_GPL vmlinux 0x0cecfa54 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x0cf33978 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x0cf74df0 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x0d0cc162 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x0d125ab6 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x0d1a427b of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x0d1caa5d regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x0d3c89ae nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x0d3ea25a crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4e1dec device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x0d4eac7e cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x0d4f54d7 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x0d54fc2a usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x0d56fa51 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0d9871e9 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x0d9b1033 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x0da49778 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x0da85f11 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0da99258 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x0dc16ef0 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dce978d virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x0dda25eb bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0de45b72 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0e08b77b bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x0e240e44 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x0e2aa6a7 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x0e312f40 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x0e45ff43 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0e521b82 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x0e56f254 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x0e6ecced __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x0e88fb26 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x0e8a22d1 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x0e8bcf5c sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x0e8e91ef tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x0e97befb regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x0ea00053 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x0ea2a72b usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x0ea63f58 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0ec3383e tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec8b655 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x0ee8e400 kvmppc_h_set_xdabr +EXPORT_SYMBOL_GPL vmlinux 0x0ef8817b devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x0eff5a06 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x0f07a7ae powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x0f097e24 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1caabb mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x0f20a553 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x0f2a74e9 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x0f302139 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0f3ce25f pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x0f65c9ad usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x0f6922f7 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x0f75cc01 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x0f813cc7 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x0f8af3ce gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0fa95591 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0fb8190a power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fdb8adc scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x0fde1aff devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x0ff8a6e1 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x100d8b98 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x102421d6 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x1031670e tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1031c543 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x10332569 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x1040c588 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x1042837a iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x1052dd0f usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x1056859d arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x1058d17a devres_add +EXPORT_SYMBOL_GPL vmlinux 0x105cf087 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x105e1f3a spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x105e4c08 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x10859841 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10920847 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x10a442ab od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x10b5543f phy_get +EXPORT_SYMBOL_GPL vmlinux 0x10b70143 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10d93867 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x10e77a5a __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10fe219a __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x10fe9490 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x111e6dfc pnv_get_supported_cpuidle_states +EXPORT_SYMBOL_GPL vmlinux 0x11290325 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x11596d3e vas_tx_win_open +EXPORT_SYMBOL_GPL vmlinux 0x11638a69 xive_native_alloc_vp_block +EXPORT_SYMBOL_GPL vmlinux 0x116cf69b ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x117fe641 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x118b539e blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11b19a12 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x11b509b6 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11ea8ce8 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x11eedcdc __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x11f71123 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x120ca80f ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x121d60dc debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x12422c5a add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x1251a96a proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x12594ce2 flush_vsx_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x1263dbb3 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x12745cda of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12964039 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x12aa03ef pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x12bfeb6d serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x12c9a92a tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12e33c0b ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x12f6bd26 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x12faa242 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x12fbeb95 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x1311f5c0 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x1317da66 pnv_pci_set_tunnel_bar +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1333494a sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133adb72 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x133d6cfd devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x13472c81 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x134de715 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x13539266 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1366ef7f tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x1376982c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x137f2e3d i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x1385789e regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1391aa5f fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x13992a77 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x139b1e90 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x13bde076 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13be5de2 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x13c2947f crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x13ca899a perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d2ca0c dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x13e78f9f bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13eeae25 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x13fbe49c pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x1408089f skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x14121eb5 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x141968a1 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1427cfe3 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x14295f3b srp_attach_transport +EXPORT_SYMBOL_GPL vmlinux 0x142b85c9 __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x142cf161 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x142d01d7 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x142e18b1 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x143688de pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x14389892 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x143d3798 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x14457fb9 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x144eda28 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x145d955f pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x14615e7a sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x14815693 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x1484c859 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x14b393cb phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x14bef7ac devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14d87457 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x14dc9e63 rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x14dcd464 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x14dfbf6e debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x14e44ff2 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x15040dc7 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x15066d6a input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x1537c7f2 opal_ipmi_recv +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154e32a6 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1552c709 hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x156a63be gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x156f9c25 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x157eb3f3 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x1585a588 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x15903885 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x15afe3b2 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x15c21e5e nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x15dbc135 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x15e3b596 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15ee48a7 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x15fb11ef devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x16369a27 xive_native_sync_queue +EXPORT_SYMBOL_GPL vmlinux 0x16447fe1 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x16488944 mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x165a9b8d device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x167f56df ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x168b2824 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x16ac9739 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x16d2855d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x16d699e0 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16e364cf devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1735a7b4 nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x17449dbf rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x17528d89 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x175cb6ba __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x178547aa trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x1789eaae of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x17956c27 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x179f9de4 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x17b7ae19 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x17c2cbfc hash__alloc_context_id +EXPORT_SYMBOL_GPL vmlinux 0x17dfcb9a netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x17e79f7d led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x17f107dd stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x17f7f7c1 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1827cb03 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1841e8c8 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x1842791e serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x1843e540 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x184949c0 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x184bba67 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x18608b89 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x18654dea trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x186d5e34 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x1873e622 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x1897758e of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x189f874d powernv_get_random_long +EXPORT_SYMBOL_GPL vmlinux 0x18af0949 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x18bc45e9 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x18c68d3d iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x18d13539 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1901f9e4 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL vmlinux 0x19048390 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x191ee9e3 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x191ef2ab rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x192810bb fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x19357211 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x193a4722 __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x194384f7 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x19528d39 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x195e85e1 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x196f0c8b badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x19761998 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x197aed40 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1983fc06 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x1994fbee soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x199c9d1b of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a5761a radix_kvm_prefetch_workaround +EXPORT_SYMBOL_GPL vmlinux 0x19b8d890 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19caa9aa ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x19d212c8 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x19d4f3ef da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x19f71ae9 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x1a00b7ed init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x1a051ad7 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1a0543b4 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x1a085bd0 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x1a09255f thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a0b87b8 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x1a0d6698 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a234c21 clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x1a4d21a7 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x1a5b5a1b hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x1a5e5cdb sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a984373 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x1a9c20b1 xive_cleanup_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x1a9cfb95 copy_mc_generic +EXPORT_SYMBOL_GPL vmlinux 0x1aa3b366 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1add158a pcibios_free_controller_deferred +EXPORT_SYMBOL_GPL vmlinux 0x1ae03c1d fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x1aed98a8 rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af34702 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x1b2c9088 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x1b320af7 pnv_pci_get_presence_state +EXPORT_SYMBOL_GPL vmlinux 0x1b370446 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x1b390695 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x1b495031 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b50dfc6 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x1b5338c7 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x1b5368f4 of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x1b57775c wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x1b609388 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x1b7be792 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x1b7bee9d subsys_dev_iter_next +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 0x1ba4f84d devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1bad8403 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x1bb00348 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc70b9b rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x1bcf245b regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1bdf3dcc dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x1be4f3d7 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x1be55ea4 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x1be6cf2d of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x1be948f3 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf23932 pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x1bf8c97d irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x1c399b02 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x1c51bae1 regcache_cache_only +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 0x1c62e34d opal_get_sensor_data +EXPORT_SYMBOL_GPL vmlinux 0x1c703058 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x1c7d3fb8 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x1c7df74c kvm_hv_vm_activated +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c878805 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8bca8d emulate_vsx_store +EXPORT_SYMBOL_GPL vmlinux 0x1c8e91f5 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x1c8f9c27 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x1c9d923b ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x1c9e5d73 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x1c9ff85a switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x1ca366a2 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x1cb2b936 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd05b9d sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1cd92c9c bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x1ce509ef udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x1cf8fc68 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d04aa89 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1d077d87 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x1d0b89e3 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x1d13683b security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x1d15c2af page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d2c86d8 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x1d4b09b4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1d5342c8 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x1d71a2b8 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x1d720360 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d97bccd __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x1dc7da02 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x1dcc3e62 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x1dddaae9 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x1ddf446f led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x1de3d02f devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x1de6c819 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1df33284 opal_prd_msg +EXPORT_SYMBOL_GPL vmlinux 0x1dfeeb3c devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e0cf235 opal_get_sensor_data_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1e1d1d44 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x1e583ef0 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x1e794ab0 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1eb7b439 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebec396 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec23f36 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x1ec6621a fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x1ec707e7 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x1ec90b99 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x1ecfccf8 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x1edac5c3 xive_native_enable_vp +EXPORT_SYMBOL_GPL vmlinux 0x1ee09221 put_device +EXPORT_SYMBOL_GPL vmlinux 0x1ee752be kill_device +EXPORT_SYMBOL_GPL vmlinux 0x1f050e36 pnv_pci_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x1f07e209 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x1f0bc9f0 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f137906 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x1f1541c9 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x1f159cad generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x1f168983 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x1f2d6d93 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0x1f2fbe74 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f52a3a9 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f73279c dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x1f76df44 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x1f7c25cc reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x1f7d10ca rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x1f83e433 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fab0264 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x1fb6169b devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1fca269e __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x1fd1d3af device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x1fd2615a ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x1fdb2659 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x1fdde572 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1feab5ec regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1feb98fb devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x1febacc7 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x2012efae pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x20135a84 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x202ecd0f gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x20399c0e __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x20614824 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x20628fb4 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x207d5a89 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x2080954c key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20857df1 vfio_iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x20aebdd4 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x20b2cab3 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x20b47ce4 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x20cc3cf5 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x21022452 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x211526f8 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x211850f5 htab_hash_mask +EXPORT_SYMBOL_GPL vmlinux 0x212c87c8 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x212ddd45 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x214e3cb8 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x21536def genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x21569e0c blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x215e97ac security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x217cfa9b clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x219f5c14 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x219ff88a tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a64009 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21bd0bea genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21ce8036 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x21d78b12 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x21e93321 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x21f935a2 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x21fd243f kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x21ffdead regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221d4182 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2223c3d5 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x223f8bc5 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x225b42b2 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x2279513e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x22852198 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x228c61b9 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x229b0eb9 devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x229ca943 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x22b1b603 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x22cb3e66 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x22cc30d1 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22f6427d fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x23166e05 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x23268db1 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x2358af18 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238e1196 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23b333bf max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x23b9d4da __tracepoint_vfio_pci_npu2_mmap +EXPORT_SYMBOL_GPL vmlinux 0x23bb75a0 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x23c2bad5 pnv_ocxl_get_pasid_count +EXPORT_SYMBOL_GPL vmlinux 0x23c95a43 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x23cd87d8 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x23f9df70 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x23fb4230 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x24172932 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x2426207e edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x242c57b3 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x242eb5a9 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x244f2e48 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x245f1114 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x245f5f93 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x24603dd1 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x246251fb devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x247a4667 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x247c0820 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2480c5de __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x2495021d flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x24962d52 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x24a03fa5 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24b81137 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x24b9f356 mmu_partition_table_set_entry +EXPORT_SYMBOL_GPL vmlinux 0x24c69954 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x24d6039a gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e1852b of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x24e58b8c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x24eaab24 xhci_dbg_trace +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 0x2502ff8d pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x2503035e dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x251406dc stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2524a733 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x252c62b3 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x253dfa83 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x2559d24d kvmppc_h_set_dabr +EXPORT_SYMBOL_GPL vmlinux 0x25621ccc tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x256dc3df __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x257870e9 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x257fdc53 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x25846624 setfl +EXPORT_SYMBOL_GPL vmlinux 0x2587abcb __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25a6b5e1 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x25c0cd42 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x25c3cff1 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x25dfd524 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x25e47481 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x25e5d4b7 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x26027192 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x260e3a5f pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x2626c8cb nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x262ac5c3 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x2651434a to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x2652c3d5 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266b68de iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x267bdfd8 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x26872ee4 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x26918054 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x269d8541 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x26a9c861 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x26aa215a driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b2de7c usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x26bd563c pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x26c134a3 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26c96eea ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x26cbce2a kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x26d9445c usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2701dab9 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x272094b9 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x272effaf phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x275ee762 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x27657645 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x27887eb7 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x278a9317 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x278b7100 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x278fc492 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x279003ee freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x27a18383 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x27a4465f clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x27aa1c28 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x27b50a12 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x27b69602 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x27cbee10 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x27ce3ec0 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f632a2 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x27f9fe18 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x280f6ff6 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x281d7c53 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x28554055 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x2857e965 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x286f6311 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x2872d650 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x288de407 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x28a5e1a6 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x28a8f935 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x28a92693 mmu_notifier_get_locked +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 0x28ba837a security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x28c56a65 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x28d9cf8b dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x28ef1b13 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x2907d5d9 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x291f908b rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x2930fd0d blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x293549bc sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x293a7fbd device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x2940032d pnv_pci_get_power_state +EXPORT_SYMBOL_GPL vmlinux 0x2940eba4 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x2962b086 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x2968c5bd crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x296a4aa9 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x297cd900 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x297d4e29 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x2986e853 iommu_tce_kill +EXPORT_SYMBOL_GPL vmlinux 0x299d6daa regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x29aa48d0 radix__flush_tlb_lpid_page +EXPORT_SYMBOL_GPL vmlinux 0x29ab5d7c regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0x29d69ff6 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x29e5a308 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x29e8bbfa ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f9d93a iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a1f276f sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x2a2ed008 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x2a336698 opal_rtc_write +EXPORT_SYMBOL_GPL vmlinux 0x2a3cd83f relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x2a40e2e1 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x2a598210 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a67a19f fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x2a8d49bb tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0x2a944f09 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x2a9498ea wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a9c487d pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x2ab80a8d sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x2abd4e5c noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x2ac5bf8e ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x2ad4bd0f usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x2b1bae0e cpu_to_core_id +EXPORT_SYMBOL_GPL vmlinux 0x2b1fba0f xive_native_disable_queue +EXPORT_SYMBOL_GPL vmlinux 0x2b24963c tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2b334f91 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2b3c0f4f devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x2b3c670a fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x2b4147ed kvmppc_hcall_impl_hv_realmode +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b565abd dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x2b5a9235 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b5f246d handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x2b604549 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2b607a27 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b620b67 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b6efa1c iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2b742f56 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x2b7eb1ad __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x2b8f36d7 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2bb9095f radix__flush_pwc_lpid +EXPORT_SYMBOL_GPL vmlinux 0x2bb93bf0 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x2bbdaf9c usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x2bd484d2 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x2bf89471 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x2bfcf6d4 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c04045e __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x2c10a954 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x2c1bbe0c gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2dd4c2 bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c30a00d vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x2c43aeab dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x2c4fa52c __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x2c54332a debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x2c5ebadd device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x2c5ed127 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6d3f22 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x2c7843c1 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c801de6 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x2c886b3b pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c950e26 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c9cf95f tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x2ca387ca spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x2cb3332a class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2cd1d909 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x2cd5df3a opal_ipmi_send +EXPORT_SYMBOL_GPL vmlinux 0x2cd88f51 kvm_hv_vm_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x2cda2e7f devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cf6f94b spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x2cf9fc93 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x2d0dae43 analyse_instr +EXPORT_SYMBOL_GPL vmlinux 0x2d1a5564 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1ba170 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d33adf2 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x2d4097b3 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d6a5d81 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x2d74f60f sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x2d9df220 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2dab935e dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x2db73913 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x2dc0e385 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x2ddf5080 init_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x2deb0678 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x2def515a spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x2df43c09 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x2df534dc usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x2e015c40 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e0a6509 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x2e100209 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0x2e17ebca spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x2e20f35f max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2a189f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x2e2fd863 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2e308e21 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x2e50ed6d bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x2e64439d register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x2e8afb4f vfio_spapr_pci_eeh_open +EXPORT_SYMBOL_GPL vmlinux 0x2e9ab16b devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x2eb46119 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebc159b mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x2ebd6dc8 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ee9d265 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x2ef8b121 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f0e2383 cxl_afu_get +EXPORT_SYMBOL_GPL vmlinux 0x2f19a420 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x2f2560d0 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f34f4c7 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f49d16c crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2f50e8cb __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2f59f13a sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x2f71c0c4 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2f767beb crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x2f80d332 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x2f824ef0 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x2f84a12b fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x2fa420be pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x2fbba4b3 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x2fbd2bcd tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x2fddfe24 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x2fe274d2 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x2ffbd18c opal_message_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3009d86d i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x300b1e1b icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x301832fb opal_async_get_token_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x30259e06 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x3039dc70 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x304bfce5 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x3057374f devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30603719 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x3061a4ab usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306859b6 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x308ce06a wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x308f21f5 mm_iommu_lookup +EXPORT_SYMBOL_GPL vmlinux 0x309511c0 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x309e8829 copro_handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x30bbec85 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30cc149c ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x30ceb038 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x30d479f8 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x30e0bb59 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0x30ed4fc0 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x30f50527 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x30f57eb3 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31003af5 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x31010ca5 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x310a0792 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31287f45 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x313313eb led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x314a418d tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x315245c1 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x315bee09 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x315d7ff8 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x315e3b17 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x31623068 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x316c944b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3171d1f3 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31bee91d of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x31c40fac pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d4045a rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x31fc6ba5 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x3223a9aa rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x3254679c crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x32547232 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x32564ca8 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x326094b9 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x326d12ce devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x32804d31 dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x32949274 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32a39f1f of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c26f13 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c711d6 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x32db36a9 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x32de2980 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x32dffb89 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x32f5404f devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x3304a079 blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x3310c179 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x33346410 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x333f3b60 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x33551a8d irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x335daffc crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x33744569 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x33a71501 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x33aa99ae nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x33c75906 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x33cf6aa3 kvmppc_do_h_enter +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f15685 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x33f4e75f ping_close +EXPORT_SYMBOL_GPL vmlinux 0x33ffe05c device_attach +EXPORT_SYMBOL_GPL vmlinux 0x34089896 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x340978d4 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x34204e93 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x344040b9 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x34409e76 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34782350 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x349f0390 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x34a4b71b __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x34aa76cb device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x34b3e6d3 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x34b701d7 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34c8dd08 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x34d5516d da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x34da4769 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x34f3757c stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x34f78c3c compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x34f8a93d devres_release +EXPORT_SYMBOL_GPL vmlinux 0x34fdaf27 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x351b931c ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35360951 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x3547b252 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x354bde02 iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL vmlinux 0x3571752f skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x35799abe device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x357bfc05 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x35873881 device_move +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35b2194e srp_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x35ba3a6d devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x35c095fc uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x35e477b0 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x35eab05a clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x35eef005 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x35f31c54 arch_set_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3607c09f usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362dd40d metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x36503af4 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x366f9a70 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x3691541a blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a11655 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x36b310fe __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x36cbe3e0 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x36d184a7 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x36ec013f pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x36ed47ba power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x36f16cfd blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x374bf0ce iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x374e9fb0 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x375a9d9c virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x375e5393 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x37729148 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x37880913 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x378b10fe md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x37a61f1c pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x37b297c6 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x37c736d1 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x37c83e33 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x37cdb552 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x37d5eaf0 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x37e27c8c sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x37e8d36c bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x381b4df3 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x382bcd26 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x382ec4dc sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x38325e75 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x383706d4 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x384683f2 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x3856377b save_stack_trace_regs +EXPORT_SYMBOL_GPL vmlinux 0x385bc03a eeh_pe_get_state +EXPORT_SYMBOL_GPL vmlinux 0x385c2fed clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x3871fbcd to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x3873f575 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x388e7f1e crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x388e846f ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x38a9498d usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b236a9 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x38ba6da3 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x38cd08e6 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x38d23562 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x3917388d __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x392c6bcb sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x39302479 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x3934d61d iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x39357656 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x39386a1b eeh_pe_set_option +EXPORT_SYMBOL_GPL vmlinux 0x393bc321 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x3958e598 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x3960eede serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x3964b964 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x397bc259 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x397e3200 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x397e7692 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x397f5e10 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x398771fe usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x398e45f8 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3991b717 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x39953b21 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x399bf47c regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39b4dc93 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x39be902c mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x39ceb162 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x39d68cfe skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x39d7327a device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39ed7dd7 nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0x3a04b60c platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x3a18368c usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a1e5162 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a3b76c7 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x3a424c5c devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x3a48f5bf debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a8b1c5b devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x3a8e8915 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a980270 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9ea6ab virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x3aa92a08 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x3ab27c63 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x3ab456fd dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3abd7045 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x3ac7b74e task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad800b7 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x3ae301d8 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x3b031865 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x3b03320b devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x3b0de930 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x3b14bf20 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3b1ba09c udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x3b1d40a9 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x3b24a346 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x3b2d1022 dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x3b45e2c9 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5ff3b3 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x3b74e2d9 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x3b89905c crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x3b94a65a sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x3b95df44 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3b9e0f69 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba22816 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x3ba25e0d fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3be71901 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf5683c get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x3bfb347e dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x3c0bbe39 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x3c0f5fea fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x3c164579 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3c166537 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c280f06 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c4087d4 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x3c53e82a usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x3c5e20e7 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c84daff gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x3c90dd4a gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x3c9633f2 rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x3cb211e9 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x3cb87ade pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x3cca1636 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3ccbb930 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd9cd81 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3cf3a818 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3cf69baf slice_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x3cfb796d kvmppc_save_tm_hv +EXPORT_SYMBOL_GPL vmlinux 0x3d0ebb61 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x3d299dfb static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3d2a0127 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x3d2b1179 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x3d2b2267 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3d2bea9b ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x3d2e1452 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d54d916 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x3d612305 iommu_direction_to_tce_perm +EXPORT_SYMBOL_GPL vmlinux 0x3d7e6e23 pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3d867dd0 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d950922 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x3d95bc09 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x3d9ec65f pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x3da51164 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x3dbd48b5 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x3dbdb911 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dc5674f desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x3dd83e40 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x3dd94f5b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3de7ecb1 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3deeeb14 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x3df183b4 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x3df1e4a8 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x3df8a56a fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x3e02fb1f fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x3e0337c9 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x3e0c42eb of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3e1f7178 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3e204d90 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x3e42d9b0 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x3e44fea5 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3e472956 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x3e4e9191 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x3e52d99f usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x3e598023 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x3e5db681 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x3e6d21a9 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e8ff995 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e904b47 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x3ec55224 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x3ecdaa2b __find_linux_pte +EXPORT_SYMBOL_GPL vmlinux 0x3ed0ccbb devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x3ee6f034 pnv_ocxl_set_tl_conf +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef052db edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f0f693e usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x3f2fca68 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x3f3c825a nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f555fdc fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x3f5dc33e gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f5dfa16 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f759faa dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3fa96d11 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x3fb3a177 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3fc46508 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x3fcf17da pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3fd926a5 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x3fdcf565 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x4000819b usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x401e08ec devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x4027ddc1 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x40300673 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4046c5c2 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x4053614f crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x4056e4d8 crypto_find_alg +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 0x407f0275 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a8a288 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x40aece06 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x40b11a43 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x40b5be99 xive_native_populate_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x40c280a3 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x40c6d2ca thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x40ca1737 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x40dab0fe wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0x40dca8fd shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x40e28de3 perf_event_disable +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 0x410b0dd2 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x410bde9a devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x41101eb8 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x41156e5c devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41312033 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414d7aae xive_native_get_queue_state +EXPORT_SYMBOL_GPL vmlinux 0x415eaeb4 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x41641c1b __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x4175eaee sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x418c6ee3 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a4e6b5 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x41aefec9 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41c5aa12 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x41d2ef49 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x41d84a11 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x41e0ee96 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x41e17e97 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41f0779a nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x41f224f6 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x41fb6b2c vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x42066a61 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x420b7cc9 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x423526f0 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4239cafa bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x423fefce virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426cf2dd debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x427199a0 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x4271b9fc inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x427d8cf4 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42a05048 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x42a39bd4 sysfs_add_device_to_node +EXPORT_SYMBOL_GPL vmlinux 0x42b139ee scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x42b15a07 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x42b56c45 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x42bbe1ee skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x42d139e4 pm_genpd_syscore_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ebf667 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x42edb106 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x42ef0bc4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42f8effe tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x42fad91b clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x430f4298 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x4312baa4 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x43197f85 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x432702e6 mm_iommu_mapped_inc +EXPORT_SYMBOL_GPL vmlinux 0x432ebfa4 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x43459bf7 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4355cb83 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4362247b aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4362d63a of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x43749854 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43865b38 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x4388a8d4 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x4399aa5d rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x43a15258 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x43a42ba5 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x43a5ba50 of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b552cc pcibios_claim_one_bus +EXPORT_SYMBOL_GPL vmlinux 0x43c43dad fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x43c6424f usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x43d166d5 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x43d30559 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43e09801 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x43e37c04 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x43ea4cb2 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x43eb902d ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f86b2b blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x4418a666 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x4429fcdc blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x442b48a3 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x443112cb watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x443186b8 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x4439f372 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x4449964f tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x4450a2f6 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x446d4d19 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x447e4e62 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x447f237f pnv_ocxl_unmap_xsl_regs +EXPORT_SYMBOL_GPL vmlinux 0x448435d1 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44918e5b pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x4492c041 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x4499a29a __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x449d7fb2 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x449ddec5 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x449fa45d btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x44a93cf4 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x44aed0bb powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x44b09de0 iommu_tce_check_ioba +EXPORT_SYMBOL_GPL vmlinux 0x44b0efec dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x44b8397f devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44ca18b5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44f27c50 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x44f2f622 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x44fe947c pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x4502e672 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4525f4c8 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x453686d8 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x4536ae65 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x45398d9e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x4551183c skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455c33e8 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x457175b7 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457b7b94 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x458404e8 remove_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x45856a02 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x458b5ce6 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x459c7c70 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x459e37af fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0x45c54c46 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x45d3828a unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x45ef7b31 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x4601977f dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x4613c6e9 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x46181cf8 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x461a5833 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x4623e556 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x46270a15 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x4628bfbd ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x462b23d2 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x462c4fa5 of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0x463e8bd6 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x463f957a pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x464cbccd __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x46626fa3 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x46629fc0 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468eb179 kvmppc_update_dirty_map +EXPORT_SYMBOL_GPL vmlinux 0x469b436c add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x46b1a05f crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x46d32931 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x46e465de klist_init +EXPORT_SYMBOL_GPL vmlinux 0x46ee601a ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x4705c76c trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x472312d6 dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x473b4d8c serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x473bbdab regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x473da4dd led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x474e99a7 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x47506405 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x475d670b virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476fad97 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x4775c24d perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x4778e015 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x477f8c22 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x479df35a dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x479ee119 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a4591d usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ad1f94 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x47b11871 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x47b3c3a5 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x47bb264a cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x47ca1996 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x47d0fe5b da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e832c2 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x47f2a021 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x47fa9da5 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x47fda154 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x4803e3ad fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x480c3e64 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x482d63d3 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x482efa27 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x483e351c pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x485e7b05 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x48755f37 static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x487ac245 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x487c0665 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x489ac7ed ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x48a2a248 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48a9f095 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x48c01d23 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x48c085d5 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x48c27f25 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x48c98716 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x48cfe921 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x48d25e19 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x48d34d24 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x48df5d89 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x48e843c1 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x48f281b8 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x4904b469 pseries_eeh_init_edev_recursive +EXPORT_SYMBOL_GPL vmlinux 0x49085013 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x4912076c netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4936046c pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x49383052 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x493c8b85 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x493d5b89 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x49424878 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x494e86e7 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x4958ac97 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x4982b7e1 fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x4989d09e alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x498f0f91 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499ec19f ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x49c625ec devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x49c92436 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x49cc869c cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x49cf9c9d sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x49e8d24f led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49f3a044 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x49f3b073 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x49fd7e87 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x49fea340 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a026413 mm_iommu_mapped_dec +EXPORT_SYMBOL_GPL vmlinux 0x4a0aca11 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x4a11ebb3 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a197ecb crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x4a1ed605 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4a2457b1 cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x4a4b5f64 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x4a4fb8a9 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x4a59af2d tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x4a65ac07 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x4a83eb3a virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x4a9e4bc6 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x4a9f047a tm_enable +EXPORT_SYMBOL_GPL vmlinux 0x4aaa6cb7 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4ab240a4 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x4ac4819f pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x4ac9b543 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x4ad4e0df sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x4ae274ab fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x4af8970f ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x4b01cf75 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4b1632d8 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x4b1ba078 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x4b31e58e edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x4b3eb636 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x4b48dc65 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x4b51f26c key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b58f8a5 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x4b59d5b9 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x4b6474e2 vas_init_tx_win_attr +EXPORT_SYMBOL_GPL vmlinux 0x4b6f547d scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x4b95d607 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x4baecbf7 clock_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4bafbad7 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x4bbac562 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x4bbca66e open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x4bc49cd3 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4bc4fd31 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x4bcb6fac pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x4be15f0f bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x4bef0884 pgtable_cache_add +EXPORT_SYMBOL_GPL vmlinux 0x4c0ba89b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x4c1749e4 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x4c243689 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x4c2e10b5 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4c327061 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x4c492093 cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4c6264ce sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x4c706ff8 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x4c7b6505 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x4c8a0c5a sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0x4c8ab24d addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x4c9478c6 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x4cac3fed watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x4cbc81e7 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x4cc15ed2 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x4cea3990 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d033020 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x4d0b7ccf srp_stop_rport_timers +EXPORT_SYMBOL_GPL vmlinux 0x4d2f4796 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4d4d326a ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d73e8a0 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x4d907f5e stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x4d922de0 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x4da62cd7 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4da8464e get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db0e9ed __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x4dc52c09 pnv_power9_force_smt4_catch +EXPORT_SYMBOL_GPL vmlinux 0x4dca496d spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4dd33c3a devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df27747 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1f9fd2 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x4e2159ad l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4e53a9a2 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x4e57970c ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x4e618b0a dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x4e631c83 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x4e6ecc9c public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x4e7868b0 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x4e8c8ea4 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x4e947cd3 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x4ea672a0 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb91410 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x4ec40288 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x4ec51984 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x4ec61cdf spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x4ee1a6a8 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef80b6c rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x4f06cdf3 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x4f0f0e99 dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x4f1168ad regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x4f18d4d6 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x4f25fc68 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x4f2b8bd8 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x4f3a2247 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x4f3fee07 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x4f511b66 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x4f612b7d pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6f6553 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x4f704880 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f80e6b1 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4f8efba0 __xive_vm_h_ipoll +EXPORT_SYMBOL_GPL vmlinux 0x4fb1c8b3 pcibios_scan_phb +EXPORT_SYMBOL_GPL vmlinux 0x4fbb8a7a irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x4fdaa5de bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe3606b bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x4ff6e83e irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x50029965 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x5036d4a3 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x505099bf __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x505445d9 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x5067b60a kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x506ec9a3 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x507ed848 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x5081a8ce get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x508377eb xive_native_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x508ddaf1 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x5092449f sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x509a3912 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x50c10e31 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x50dd1af5 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f5d0a7 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5107473c pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x511cb42b __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x512cbce0 pnv_pci_get_slot_id +EXPORT_SYMBOL_GPL vmlinux 0x5136114f regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x514b8e02 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x516c419f cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x5182c2e0 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0x5184e0eb debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x51917a86 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x51b975e0 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x51e11349 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x51e2dcfd vfio_group_get_external_user +EXPORT_SYMBOL_GPL vmlinux 0x51e4f93e pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x51e51b9c bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x51e761d6 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x51f842c1 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x522dd768 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x52331f52 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x523acd5a proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x5254b475 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x525a4d36 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x52723fc6 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x527e3577 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x52801c2d of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x528d5ca3 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x52a0d909 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52bd7a3d unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c4168f clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x52d031c3 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x53291f6d iommu_tce_table_put +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x5335dd11 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5346475e __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x5351802d irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x5351c72e udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x5355fef1 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x537d99c2 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x53800e32 vas_unregister_coproc_api +EXPORT_SYMBOL_GPL vmlinux 0x53884839 kvmhv_load_host_pmu +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5393e61a dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x53972f82 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x539f1710 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x53a11fa9 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0x53a4a1c6 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x53a72d48 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x53a837b6 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x53b8cf86 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53cac1df __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x53cbfb6f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x53d57545 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x53d9f73a sensor_group_enable +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53ee4564 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x53eea464 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x54082f78 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x54155376 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5416094e usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x541bc6b4 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541cd7e8 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x543bfadc md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x543caeb9 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x543cf04e i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x543deb20 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x5447e30b __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x546b4e89 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x5473267c firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x54782b30 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x547d9a75 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x548abc9d blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x5494a780 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x54950b82 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549a01ac perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x549db770 kvmppc_do_h_remove +EXPORT_SYMBOL_GPL vmlinux 0x54a04fe5 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x54af4936 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x54c50e68 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x54ca058d mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x54d26587 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x550b7f26 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x55153f08 pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x552a08c8 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x55332a33 devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55347706 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x553710fd __xive_vm_h_ipi +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x55464323 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x55686f31 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x5571e4b0 iommu_tce_xchg_no_kill +EXPORT_SYMBOL_GPL vmlinux 0x5574531b wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557b60ff iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x5588879e kvmppc_entry_trampoline +EXPORT_SYMBOL_GPL vmlinux 0x558e2e66 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x559fa5c4 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x55a925d6 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55cb4a1c tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x55d119d5 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x55e9d693 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f093a9 opal_write_oppanel_async +EXPORT_SYMBOL_GPL vmlinux 0x55f0a53b sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x55ffcdac anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5608e255 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x5609eb04 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561b53fc pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x5620596f __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x5626d903 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x562ccc6f ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5643a962 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x56725254 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x567fbc42 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x568a6e01 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x568e4b2d usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x5690c644 device_create +EXPORT_SYMBOL_GPL vmlinux 0x56a052ff pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x56cec02e ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x56f565e8 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x570f3aaa __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x57106d0f init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x571fd231 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x5733064a skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x57340fbb do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0x5736a330 mm_iommu_ua_to_hpa +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x574ca56d platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x5752f3cd pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x5775c714 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x578a3885 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x57993788 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a3585a devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x57acf4fa set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x57ad4be0 opal_int_eoi +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57c6a591 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x57dd4772 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x57e2fbbb ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57f91eb5 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x57ff6bd2 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x5808dcfc crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x580fd247 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x5811e064 nf_route +EXPORT_SYMBOL_GPL vmlinux 0x582518cf xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58373d71 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x58500a90 is_pnv_opal_msi +EXPORT_SYMBOL_GPL vmlinux 0x585224be device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x585a92b0 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x58603211 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x58612d4e devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x586cb8d0 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x5874fec3 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587cba57 mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x5887861f skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x588a3c2f dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x588f0749 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x58919109 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58964c25 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x589bb23c housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x58ab3bf6 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x58b5244d hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x58b6662d kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x58c0c901 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x58c56f94 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x58cccaf0 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x59038c21 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x5909fc18 opal_tpo_read +EXPORT_SYMBOL_GPL vmlinux 0x590c53cc device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x591481c0 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x59168c4e genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x592fb9d0 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x595388ab kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x595484f9 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x596fc6a0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x598c3bc0 cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x599100a1 cxl_afu_put +EXPORT_SYMBOL_GPL vmlinux 0x599bfae8 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b3b669 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x59be22bc kvmhv_save_guest_pmu +EXPORT_SYMBOL_GPL vmlinux 0x59df39be dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x59e546d0 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x59fd8835 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x5a01676f disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x5a051d63 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5a097c5a devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a1ecfe6 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x5a39847a virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x5a3b4494 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a5c4aff phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x5a64e8e9 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x5a65cd08 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x5a68da58 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x5a6c982e dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x5a6cc9e6 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a732942 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa46bd2 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x5ab07e83 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab94627 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5ac98718 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x5ac9efe3 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x5af10a55 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x5af1d095 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x5afd8615 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5b144fb5 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x5b193222 clock_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5b591283 pcibios_map_io_space +EXPORT_SYMBOL_GPL vmlinux 0x5b6776cc power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b6b52a6 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x5b7ed983 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x5b82b1e3 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x5b83754b dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x5b965a14 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x5b9a057d pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x5ba39e84 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +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 0x5bee4586 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x5bf333a1 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x5bff7500 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5c0035c8 of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0x5c24d6b1 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c38c3a6 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x5c3a9509 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x5c431c4b dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x5c4b0bf1 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb88c50 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x5cb99d97 kernstart_addr +EXPORT_SYMBOL_GPL vmlinux 0x5cd305ed digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x5cd7c8fb devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x5cff6946 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x5d113a37 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x5d1b5b14 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x5d5db590 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x5d629914 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x5d6dbea7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x5d76bfac pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x5d7c8717 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d859284 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x5d8bfce7 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x5d8d652f sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x5da625bf iommu_del_device +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db4389f cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5dc25514 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dc5f5ed usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x5dd6fdce of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x5dd8e665 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x5ddd025a iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x5e00aea4 ucall_norets +EXPORT_SYMBOL_GPL vmlinux 0x5e0f3d9c icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x5e1ff9ea security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0x5e2838ec iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x5e2d4b55 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x5e305385 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x5e30df18 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x5e39fd13 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x5e4d8eb8 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e54008d l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5e60c0db rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5e68068e bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e815f2f virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5ea09750 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x5eb49699 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x5eb86301 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ed0cff6 inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x5ed0da6c tm_disable +EXPORT_SYMBOL_GPL vmlinux 0x5ee27bcc nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x5eef5ccb transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x5ef81d9d crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5f03de3f sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x5f17a81b synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f3138e5 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x5f422e28 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f78c18b crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5f80e0ba sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x5f80eb83 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x5f9d07f5 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5fc666f5 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5fcf3257 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x5fd12824 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x5fe8f424 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x6000187c opal_check_token +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600cc455 mmu_slb_size +EXPORT_SYMBOL_GPL vmlinux 0x601668da usb_string +EXPORT_SYMBOL_GPL vmlinux 0x60282e0c hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0x602d2a88 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x603628e4 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0x603e6821 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x60407642 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x605643f0 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x60668984 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x6074d649 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x607c55d9 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x6081884a usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x608c62a4 input_class +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x609201d4 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x609ac8a7 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60a4eae2 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60d1dc94 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x60da8cc3 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f8c9da is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x61248186 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612a03d9 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x612c1bee uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x613c0440 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x6145813f sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x61544efa pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x6160d369 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x6181ca2b inet6_csk_xmit +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 0x61af7370 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x61b3396f fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x61cb5ea6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x61ebbb46 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61fd1a22 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0x61fed799 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x61ff34d3 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x6207c314 generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0x620a1ce1 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x622c32bb irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x623b924a devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624dcbab extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x62583457 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x6261787e blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x627f4209 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x628148be _kvmppc_restore_tm_pr +EXPORT_SYMBOL_GPL vmlinux 0x628b2ce5 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x62a3af63 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c379ea __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x62d9b798 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x62e4bd9f usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x630bb8ae rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x632a5bb4 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x633060da nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x63317cba mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x633475c7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x63383e22 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6359e189 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6361a266 __xive_vm_h_xirr +EXPORT_SYMBOL_GPL vmlinux 0x6369e57d free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6382b6f2 power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x63a58c4f dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x63af6ec1 vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x63af8acc dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x63c00869 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d69d81 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x640c6019 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x641e9a07 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x644329ad extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x6452e065 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x646b8b5a usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x647217f9 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x6483d25e dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6491f827 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x6493a2df rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x649bfe9b ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x64a3556a usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x64cdef26 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x64ce47c3 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x65025352 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x65221fa1 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x653945d9 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x6545435a kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x654cd748 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x655169d4 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x657baf2b tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x657d18d0 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x658a7bbe page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x658e6b11 cxl_update_properties +EXPORT_SYMBOL_GPL vmlinux 0x6595b23f of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x65975e54 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x65a486f2 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x65a5540b cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d9584d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x65db02fb fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x65eac411 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x65f79b7a disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x660cb1eb regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x660fbacf espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6617939f pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x662a6eb0 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x66364ab6 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6636b969 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663b82e4 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663e846e __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x6641b347 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x66539c96 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66672251 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x667c350c mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x6682a9f0 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668a19fb pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x6693bc90 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6695454b devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x66afb53b unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x66b28a24 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x66b36955 copro_calculate_slb +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c5d00e cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x66d66c93 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e48b94 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x66eac3fe bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x66edfa62 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x66eef279 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x66f39c21 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x66f62dec spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x6703349e edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x670c7404 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x6735779f sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x673d172e __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x6740112d devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x674020c1 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x674d0bb4 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x675010ee crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x6750f48d genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x6755ab2a cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x677eb7fe component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x678d922c sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x678f6854 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x6790cfbf regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6796bc84 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x67a168d1 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x67b8dbed spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x67cafa1b platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67fb665c crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68360d34 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x685ade56 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x686d220f gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x68771b7e pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x68786f2e xive_native_configure_queue +EXPORT_SYMBOL_GPL vmlinux 0x687ac1b1 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x6886b6ad subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x6887d5d9 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68a2ccb4 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x68da6341 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x68dc3696 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x68e09178 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x68e2d6d0 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x68ef6374 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x68f6b1e3 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0x68fd4b3e fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x6909a38b opal_rtc_read +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x69121ad5 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x691ac423 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x691e7616 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x6928269b xive_native_disable_vp +EXPORT_SYMBOL_GPL vmlinux 0x6948ad41 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x6949d298 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x695e34b5 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x696cf88c tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x6975147c pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x697a199b inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x6994174c blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x69a4087e netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x69ab7832 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x69b3f66a iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x69bd4351 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x69bff4b7 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x69c48b66 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x69cff52e cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x69da9d97 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x69e1f309 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x6a0048ca iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a198724 trace_array_set_clr_event +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 0x6a51fb22 net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a6b01cd devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x6a7333f1 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x6a78b23e spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a90c0b4 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x6aa6445f of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x6acaca72 pci_remove_device_node_info +EXPORT_SYMBOL_GPL vmlinux 0x6ad74957 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x6adc1454 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x6b029ad6 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x6b1c1ad7 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b22b988 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x6b3031f0 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x6b3c6395 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b4c36f0 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0x6b60294b i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x6b607471 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6b66b1e8 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x6b69d42d irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x6b79cd39 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b8faa68 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6ba7df84 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x6bb12b68 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6bc5e2f9 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bde8180 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6bdf62a0 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x6be0873c device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x6bea2e6e rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x6bf6cc3f dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x6c00045d xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x6c0f088e devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x6c243e21 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c430216 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x6c483d65 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c6472d6 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x6c658074 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x6c751a0d debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x6c8afa0a regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bb86 kvmppc_find_table +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cbcc014 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x6ccadb5a __put_net +EXPORT_SYMBOL_GPL vmlinux 0x6ce15cd0 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x6ce7b93d ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x6cfce8d7 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x6d02c9b9 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x6d02d902 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0d7570 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x6d22b132 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31a8b8 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x6d33eca6 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x6d3c4562 xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x6d5d7ace pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x6d659432 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d88a674 dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x6d8d503d cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6dadb0f1 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x6db02c92 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x6db21863 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x6db5144b rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dcff6f9 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x6dead7ad ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x6df673a2 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x6e02f549 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x6e0fe7ec devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6e136229 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x6e14e51b led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x6e19bf53 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x6e260c2a regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e4c164f br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x6e4f9940 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x6e66db23 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6e683135 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x6e6be62b cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7b4e60 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e9b539a serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x6e9c1a52 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6eaaeef2 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x6eab7dd3 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x6eb8c6a1 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ebff319 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x6ed06ebd dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x6ed41ee2 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x6ed56812 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eec408b __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef73c96 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x6f0088d9 xive_native_sync_source +EXPORT_SYMBOL_GPL vmlinux 0x6f05feaf security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f21046c thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x6f2383c7 strp_process +EXPORT_SYMBOL_GPL vmlinux 0x6f2c533f vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x6f2d1c74 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x6f36864d devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x6f3f4b4a serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x6f456051 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x6f4b7dd4 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x6f4bff79 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x6f4ec075 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x6f781bbf kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x6f8ea485 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6f9af45d do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fa34e51 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x6fafde61 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd31e5a bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x6fd3f7e6 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6fd6fe8f __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x6fe53031 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x6fe9a6bd devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ff6ae77 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7007a2f3 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x701277f3 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x701378b6 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x701c7985 eeh_pe_mark_isolated +EXPORT_SYMBOL_GPL vmlinux 0x70205a1a tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7035dd2f debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x704a11bd regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x704f24ae kvmppc_restore_tm_hv +EXPORT_SYMBOL_GPL vmlinux 0x70503b01 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x70629f3e gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x706d04b0 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x709254dd __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x709669f4 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x70a47eed crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70c6d828 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70dbf7df __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x71415dd6 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x71549330 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x71562c83 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x716d724c clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x717364cd get_slice_psize +EXPORT_SYMBOL_GPL vmlinux 0x7183a474 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x7184d5ef dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71d157af ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x71e7aa91 device_add +EXPORT_SYMBOL_GPL vmlinux 0x71ed0d76 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x71f4ada9 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x71f69a1b sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x72072d9f phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x72134644 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x721db55f pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x722a8247 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7236bb1b fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x723c9f45 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x723e5dc6 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x724f1204 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x72618b8e devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x726d67f1 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72861def regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x728cce92 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x72ac5ae0 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x72bbb21b devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x72c708e5 ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72de7b69 device_register +EXPORT_SYMBOL_GPL vmlinux 0x72ecd043 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x72f1db5e virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x72f23bc8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x72f9a16a mmput +EXPORT_SYMBOL_GPL vmlinux 0x73004664 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x7313b4ac spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7335c98f inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x7355a582 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x7378ca41 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a85e02 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x73ad962e device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73db3d5b crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x73ec5ff1 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x73f0d2bb icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x740ba9f3 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x74199b26 opal_leds_set_ind +EXPORT_SYMBOL_GPL vmlinux 0x741f307f hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x742b75eb gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x744d2dc9 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x745642d5 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x745b1b02 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x745be3ee usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x7465cae0 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x74685687 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x748304cc do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x748fb193 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x74a6e7f2 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x74a7759d gpiod_get_array +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 0x74e384f9 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x74ed644f kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x74fb55d3 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x74fd8053 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x75085cf1 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x751a8648 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x752182a8 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752a2a1a regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x754ba823 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x75689409 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x756d680e usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x756dd6ac kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x756f67a6 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x757c4592 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x757cfe35 xive_native_get_vp_info +EXPORT_SYMBOL_GPL vmlinux 0x758196e9 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x75baf390 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d4e345 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f083c7 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x75f27590 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x76131b87 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x76280aa9 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x762d6400 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x765d5b6e __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x76751a4e pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76843860 devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7695afc9 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x769cc628 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x76ae121f badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x76c0b918 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e11552 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f2abe0 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7701fcbb usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x77153ef6 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x77239289 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x77269a1b crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x773f708e sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x774c2d84 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x774d1ac8 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775ffc65 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77bc4619 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x77c3dfc8 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x77d02878 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ee1d9c pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x77f5adbb kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x77fa2387 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x77fa5fe1 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x77ff8434 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x7807953f ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x7808c9e2 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x7814dd3d devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x78288181 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7852ba4a device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7856a556 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x78572b59 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x78600398 pcibios_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x78686bdc spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x786de09b crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x7873704e __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x7874eb53 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x787a89d0 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788bf48a preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x7898c31d pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a58183 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x78b6008c devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x78e0c7b8 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x78e58a4e xive_native_has_single_escalation +EXPORT_SYMBOL_GPL vmlinux 0x78fa81b0 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x78fc9339 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x79081bb0 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x79146d68 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x793990fc sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x793f2b11 fixup_user_fault +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 0x794ce09f net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x794ef2ce __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x795189fc tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x79561183 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x7964706c extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x7965e57a dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x796ce988 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x797ecba6 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x79854ffa verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x798c2f01 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x799b09e0 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x79a38f08 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x79b14d2c blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x79bd189d __class_register +EXPORT_SYMBOL_GPL vmlinux 0x79c19876 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x79c6b7a1 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x79d0dfba pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x79de61a5 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79df2b7c ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x79e09309 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x79f6584b is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a001a6e pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x7a0b13ed dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x7a51e585 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7a5da0e9 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x7a62a2c9 iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7a6340f3 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a93c3b4 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x7a97816e crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7ab778ea tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7abbfece of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x7abf441b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ac96c27 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x7ace48ca gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b0f46ef crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x7b0fa3c5 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b1df89f pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x7b230366 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x7b2ba00e pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x7b334e6c bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x7b4ff8f4 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b67ac45 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x7b783824 ppc_breakpoint_available +EXPORT_SYMBOL_GPL vmlinux 0x7b856860 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7b901936 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x7b9072d3 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9885f5 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x7ba19838 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7bdb5973 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x7be3592e usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x7bebddff __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7bec7f53 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x7bfa82a4 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x7c112263 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x7c359a74 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x7c37bc89 pseries_ioei_notifier_list +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c6924e1 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x7c73a9e0 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x7c7609e4 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c8afe16 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x7c9374b8 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x7c97c9a2 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9fa20b debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7cb823bc blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cd7c203 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf662e1 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d15614a rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x7d1930b1 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2ae345 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d495c7a fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d791a01 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x7d7c42c5 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d800122 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x7d9011b5 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x7daa7987 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7dab67b7 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x7dc53a4b devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x7dcb4e74 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x7dd26812 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddd5fd4 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x7de7b97f serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x7dec0f1c of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7df1951e get_physical_package_id +EXPORT_SYMBOL_GPL vmlinux 0x7df437da phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x7dfc7dea edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7dff2a0c kvmhv_load_guest_pmu +EXPORT_SYMBOL_GPL vmlinux 0x7e0f7c32 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7e121e66 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x7e1a7892 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x7e1e1bd3 iommu_tce_check_gpa +EXPORT_SYMBOL_GPL vmlinux 0x7e1f8d79 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x7e227bd6 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7e22dc37 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7e2e601c sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x7e36c5c5 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x7e426352 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e47a472 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7e4e53f8 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e708720 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e87ce90 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7e9c36ea component_add +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a680 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7eb0222d device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7eb9380f hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ebb09a0 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x7ed0720c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x7eda5a49 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x7edcd385 user_read +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eee5bfa __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x7ef48591 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7efbadc4 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7f004f52 kvmppc_clear_ref_hpte +EXPORT_SYMBOL_GPL vmlinux 0x7f01506e scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x7f152658 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x7f1cdeb2 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x7f396d0e fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x7f3a020a ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7f3e8540 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x7f470287 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x7f4944b9 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x7f58a5ae spi_async +EXPORT_SYMBOL_GPL vmlinux 0x7f61bc96 iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x7f758cff init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f8d351b crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7f94817e devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f992faa pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x7fa1faf1 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fd04b30 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x7fda28a8 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x7feae68f blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fff6056 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x801697da dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x803ba06a skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x8046ce2a tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x80479d92 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x80521498 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x8054d1b5 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x805cb852 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x806d2a14 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x806fa95e iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x80768da3 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x80856f92 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809a41cc lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x809d6b95 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x809d8dfa fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x80ae3a16 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80d84b13 devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x80e9dbf4 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x80f2371a pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x80fe9146 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x81314fa5 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815d21fc ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8160ad20 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x8164569f of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x81674f78 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x81a01385 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x81aa2d31 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x81addbf7 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x81b8d44c soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81ebdf57 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x81fd0531 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x820d1196 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x82141f80 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x823452c8 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x823b4598 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x824e43ae pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x82594b0a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x8262290a fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x827ce56e user_describe +EXPORT_SYMBOL_GPL vmlinux 0x828f4105 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x82af9d60 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x82b38a1d wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x82b64d3b ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x82cdb0b1 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x82ce9219 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x82d5cb6f sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e62bb6 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x82e6d2d5 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x82f10372 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x82f1be33 mmu_psize_defs +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x8308c657 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x83278085 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x83340451 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833edb27 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x8345309f find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x8348bbdb pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x83576041 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x835f0a1c vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x836d0495 get_hwpoison_page +EXPORT_SYMBOL_GPL vmlinux 0x836d61d0 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8370ed8c regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x83743837 hash__has_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0x8376f9f0 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x8382ff72 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x83b48a44 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0x83d2f819 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x83dea674 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x83e69712 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x83fa11d8 d_walk +EXPORT_SYMBOL_GPL vmlinux 0x83fe4395 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x83ff67d5 mmu_feature_keys +EXPORT_SYMBOL_GPL vmlinux 0x840492b5 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x840f6f03 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x8412b717 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x84138cf7 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x8428c34d __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8429e2b3 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x844c2f3d vfio_spapr_pci_eeh_release +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8479ea28 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x84a1abfb gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84b2f6e5 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x84bd3650 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x84ca78bd transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84fc43c9 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8514bb81 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x851bb032 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x85227659 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x852b7a08 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x852ba987 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x8532cfe7 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x853b9110 __kvmhv_vcpu_entry_p9 +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x8558f8d7 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x855a7064 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x8573e589 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x8585bc6e nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85b4f55e xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x85ce23c4 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x85d1ea5c crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x85d22e6f devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x85d82cd0 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x85e5d047 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x85ed0eae phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x86086d28 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x860dda96 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x86212388 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x8634bbec generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x86350395 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x863a5dbc clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x864c61a0 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x86549425 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86712de9 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x867f5405 devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x867f79dd devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a73fa8 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c350c6 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86d8546a fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x86db057d fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x86de25f9 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x86e518b8 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fc2b3d xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x870d2915 pnv_ocxl_alloc_xive_irq +EXPORT_SYMBOL_GPL vmlinux 0x8714c98b pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x87195f93 arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x872cc674 __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x87318472 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x874cd1cc serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x874db8bb devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0x874e8ceb pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x87545b8a devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x875efc5d pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x876c61c1 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x8785c2f5 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x878ca4c6 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x878e349d crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x8798234d of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x87a001aa blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87cf9176 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x87de502b dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x87e7eab7 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x87ea0f62 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x87f66a27 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x8823d87f ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x882c687e nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x8830082c unregister_cxl_calls +EXPORT_SYMBOL_GPL vmlinux 0x884e443c devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8863178d crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88abcee4 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x88af4d21 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88b5d9a4 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x88bb7d1c pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x88bef717 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x88c5cc57 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x88d09098 pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x88d1f110 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x88f49035 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x88f4f9a1 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x891f54fe ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892ebf43 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x892fa55c iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x8930e08a trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x893173c3 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x8933a852 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893cff03 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894910fa xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x89511c2b of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x895589f8 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x8965505b crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x89745064 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x898f0cc9 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c17e17 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x89c2d2a3 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x89cdc69b subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x89d95cfe uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x89fb8903 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x89fc820c housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x8a11aa9a iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a5091b3 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a70aa13 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x8a756e36 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x8a7ec5ea srp_rport_add +EXPORT_SYMBOL_GPL vmlinux 0x8a877897 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8a995eb9 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x8a9dbcad opal_message_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x8aa69efe kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x8aac6e99 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x8ab65dae ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8abf6bcb debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x8ad1b550 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x8ad3465f debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x8af86a4b balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b197621 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8b25447b dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x8b31cd54 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x8b3b27ac mm_iommu_new +EXPORT_SYMBOL_GPL vmlinux 0x8b451f28 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8b4bb3be class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8b529246 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x8b550ad6 pnv_ocxl_get_tl_cap +EXPORT_SYMBOL_GPL vmlinux 0x8b6c761a __xive_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8b87313a skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x8b8ea4e7 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x8b9719aa ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8ba286a0 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x8babdad6 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x8bd7674b md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x8bdb573b fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x8be3ae26 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x8bf275d1 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c05bc8e i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x8c37cb04 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x8c41d75d fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c49202c sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x8c5c9190 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x8c678924 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x8c693e37 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c77229f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8c7f30a8 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x8c7f36ce ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c8ca9c7 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x8ca63eec vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x8caddc14 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x8caee72e of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8cb740b1 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x8cc4b97e __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8cd94f86 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x8cf24449 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x8cf7aaee gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d22dfa1 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x8d41d2c9 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x8d4e3045 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x8d57c4c5 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d634f31 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x8d6dc201 ppc64_caches +EXPORT_SYMBOL_GPL vmlinux 0x8d79502a free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d7effa4 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8d81605a sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8d9ffeb4 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8da1248f __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x8da437d8 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x8daba01c of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x8daba88a attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x8daf6436 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x8db885e3 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x8db8e6b1 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x8dbbf606 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x8dbf016a virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x8dbf5a20 kvmppc_hv_entry_trampoline +EXPORT_SYMBOL_GPL vmlinux 0x8dc3f56b serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x8dd92ff2 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x8ddde1c0 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x8de1d043 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x8df2622f clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8df51555 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x8df5d06a sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x8df5e397 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e1f3562 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e2d86e6 pnv_ocxl_get_xsl_irq +EXPORT_SYMBOL_GPL vmlinux 0x8e32f494 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4ed7dc phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x8e633b0f rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x8e76f31d bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x8e8b8c04 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8e8f5432 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x8e952b63 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8ea118a2 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x8ea283e4 pnv_ocxl_map_xsl_regs +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8eb9de2c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8ebab876 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x8ed19e06 clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x8ed2c449 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x8ed2dff8 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x8ed8724d usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x8ed8965e br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x8eea577e __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x8eead513 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f24710d ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x8f401a57 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x8f4e1fcd adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x8f6adc61 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f730d41 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x8f75d1e5 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f8e3407 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8fa7cc5b irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x8fb04d68 pnv_ocxl_spa_release +EXPORT_SYMBOL_GPL vmlinux 0x8fb8c988 vfio_del_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fcd0520 of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0x8fe3a6de of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x8ffaadeb ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x8ffecbae crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x9048eed6 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x904cab4c iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x9058f55c mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x9066bfdb elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906af240 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x906b254a fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x90815d19 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9082e01e arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x9087c8f4 regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x90945522 update_time +EXPORT_SYMBOL_GPL vmlinux 0x90964278 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x9097423a regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x90998279 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b62107 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x90b9090c bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x90c48901 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x90d23073 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x90d546a5 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x90daa2e2 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x90e1b4ae mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x90ebe350 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x91079f78 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x91193a87 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x911d18ae dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x912a0bf8 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x91442add ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x914ccbc0 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x9158e04d machine_check_print_event_info +EXPORT_SYMBOL_GPL vmlinux 0x9163eeef pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x9165dd2d scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x91790819 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x9193754b iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91b7a84f relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c8b8a0 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x91ee5729 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x91f1a7cc iommu_release_ownership +EXPORT_SYMBOL_GPL vmlinux 0x9207e295 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x921621fc phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x9220db2e sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x92238bcb xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x9268eeb8 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x92885e72 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x92a13e8e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x92a41c1a get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x92a60892 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x92b189dd regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x92c7a928 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x92c925fb xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e368a9 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92f0aa28 opal_tpo_write +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9327c693 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93312bfb crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x934a0aee kvmppc_subcore_exit_guest +EXPORT_SYMBOL_GPL vmlinux 0x934f7405 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x935f1d63 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x93732ac6 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x938ca4c9 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x9399f89d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x93cd9ff8 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x93d54d22 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f65e1c fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x93fcd8d2 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x9400bb2c iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x9401aa46 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x94232264 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x942cdb2e crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x944056fe dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x94429f54 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x94556b81 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x946b0246 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9492876f of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94ab4edc ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x94ba95e2 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x94bdd1ec vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x94c4981f blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x94c9a4b6 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x94ca3d23 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x94ca6e8f xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x94db2c2c pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x94e0588d bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x94ed627f fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f23e37 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x94f5c3d2 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95078500 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951d4964 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95327967 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x9534a638 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x9546f095 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x954721b1 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x954d0f6d alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x9555499e pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959caaac unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x959f95c2 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x95a5154b driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x95a5d0e9 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x95b6fec4 xive_native_free_vp_block +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c225b2 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x95c23fd7 mpic_subsys +EXPORT_SYMBOL_GPL vmlinux 0x95c8aa24 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x95e44df0 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x95ed54d5 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x95f7f9ff cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x95f8479f __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x9603403b __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96183c6f genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x966c7198 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x96735e86 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x968463cf transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9690c873 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL vmlinux 0x96a057ba cpu_feature_keys +EXPORT_SYMBOL_GPL vmlinux 0x96a3b806 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x96a7cc32 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x96b3259b agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x96b385d7 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x96b7af1b ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x96b85de1 pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x96c5f02a dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x96ca63f5 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x96cc48b9 xive_native_default_eq_shift +EXPORT_SYMBOL_GPL vmlinux 0x96cfafce mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x96d741f5 set_thread_tidr +EXPORT_SYMBOL_GPL vmlinux 0x96e4a77a ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x96e527aa spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x96f825ce gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x96fd56be blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x97053efa smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x97056c18 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x9708a41c set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x971a4ed2 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x97410696 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x975eb90e scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x976e5159 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x978183b0 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x979b3775 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x979ef79c regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x97aed972 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x97c0e082 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x97d6434f tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x97d6c7b8 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x97d8852b wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e4bec1 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97f4693d pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x97f65d2f xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x97fbe2bf rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x97fd2301 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x97fdedfc dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x98030c84 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x980661e6 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x980cc7df dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x9811a34d ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x9825903b extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98391b12 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x983f8e2e btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x984592e3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x98494eea pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985331f6 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9855a697 opal_xscom_read +EXPORT_SYMBOL_GPL vmlinux 0x98569b24 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x98598441 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x986bb6ba gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x986ec59e component_del +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9888a4e8 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9890b644 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x989a58aa serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x989cb7b3 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x98a0fbc6 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x98a27837 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0x98b178a1 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x98b6d0ed crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x98bf7371 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x98c0dfd1 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x98e82527 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x98e8a79b crypto_create_tfm +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 0x9907c27b md_run +EXPORT_SYMBOL_GPL vmlinux 0x99139a5f divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x99150ddc md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x992587e1 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x9953768a mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x997d8ab9 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x9984b53c rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99940a93 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x9996cba1 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x99a61eef devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x99a77691 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x99bb8af6 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x99d0c5b3 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x99da77d9 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x99deb071 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0x99eaa5c3 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a170932 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9a32c69c extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9a437458 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x9a546de6 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x9a548ecb debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x9a5b0e56 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x9a5d2536 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x9a6e97e2 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x9a74bc2f of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x9a8ed810 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x9aa2a080 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x9aa37879 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x9aa977f5 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x9ab10861 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x9ab523f9 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ac44172 security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x9ad7f555 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x9adf08c3 mmu_linear_psize +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af70bab acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9af9a59d apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x9b0d4ff1 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x9b21c435 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x9b23fdd9 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x9b24ece1 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x9b283f2b pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x9b2c66d5 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x9b349d63 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x9b3e17c6 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b41fdcb ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b671437 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x9b6c03b0 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b7bbf62 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x9b7fcc9a rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x9b82b97d of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9b8804e0 cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x9b889cfa dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bafc62f cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x9bb05ce1 dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x9bb2e975 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x9bb5c54a fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x9bbab69a pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x9bc21b72 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x9bc42fbd sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9bde79bc xive_tima_os +EXPORT_SYMBOL_GPL vmlinux 0x9be2ab6f nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0x9be53e70 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9be57c84 iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9c135fdd perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x9c179835 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x9c1b0784 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x9c1ba6c7 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x9c5c0d31 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c73cb05 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c9751d9 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x9c9f25d7 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x9cb24861 iommu_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ce844fe fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x9ced61a0 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x9ced909d scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf9dddc skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d129efe tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x9d340c7a hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x9d575bb4 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x9d5de742 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x9d60bff4 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9d6ab6e7 dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x9d6feac6 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x9d78da30 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x9d861123 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x9d87224e skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x9d974882 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9d98cbdd vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x9d99db92 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9d99e931 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x9dad4fc6 iommu_tce_table_get +EXPORT_SYMBOL_GPL vmlinux 0x9dc09f2b scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x9dcdecc4 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x9de62a16 memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x9de92be0 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9dffae0c ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x9e097d0b blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9e122676 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x9e1dae20 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x9e42eaae fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4f2243 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x9e5e8410 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x9e66597c dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x9e9f50de cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x9ea27fb8 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x9ea8c3cd devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x9ea95a4b platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x9ec1f364 kvmppc_subcore_enter_guest +EXPORT_SYMBOL_GPL vmlinux 0x9ec3c5a0 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x9ed2b651 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9eda9129 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x9edf4938 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x9ee9ffd0 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9ef1d788 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9ef58bc5 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9ef6a9e3 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x9ef6f844 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x9ef9e398 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9efaa688 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x9efcf1f0 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x9f0de97f dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x9f445537 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x9f486970 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x9f4a6b9f spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x9f5a5ec9 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x9f5ee8bc blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x9f7cd03f bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x9f96e78e fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x9f96fe28 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x9f9b82d7 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9fabf5cc __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x9fc2398e blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff14986 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xa00a7a79 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xa00ec410 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa0126b0d simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa01a9b62 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0xa01b32b7 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa0390766 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xa03ba946 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa04b30f7 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa066e041 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xa076c4e7 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xa081aa69 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa084c8c2 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xa08891ff task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xa0985396 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0xa0aa01c9 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa0adadf3 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0xa0b3afc7 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0e9c34b spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xa1298b0a tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xa13fb1fe device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa142f9d6 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xa15bcfbd ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xa162b765 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xa16e9c50 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xa176ade5 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xa1886041 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xa194373f edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xa1ac35b9 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xa1afa6a3 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xa1b40fc2 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xa1b451ae pnv_npu2_unmap_lpar_dev +EXPORT_SYMBOL_GPL vmlinux 0xa1d2aba2 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xa1d61231 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1ed61f5 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1f97a49 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xa1fa51d3 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xa206df02 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa2131b35 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0xa213a690 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xa2214c4c __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xa2345789 blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0xa235b0fc dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0xa248c097 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xa269589c __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa274f473 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xa27e65b4 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xa28496d3 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xa287d6d7 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xa295afd5 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa298af95 xive_native_get_queue_info +EXPORT_SYMBOL_GPL vmlinux 0xa2beaa69 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa2faf232 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xa3224af3 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xa322d4b5 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xa33284f9 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0xa33d91a8 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xa350c483 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xa3606bfb i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xa36de9d9 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa37691a8 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xa37985b5 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xa37a7cbb iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c5d56 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3a52296 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa3b2f015 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0xa3b56555 hpte_page_sizes +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c1945e vas_paste_crb +EXPORT_SYMBOL_GPL vmlinux 0xa3e632da crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xa3e687a6 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xa3ea81dc ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f74da3 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa409cec1 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa42f79a4 __tracepoint_vfio_pci_nvgpu_mmap +EXPORT_SYMBOL_GPL vmlinux 0xa43c918f crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xa445011c xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44a403a fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa47d3cc7 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa482526e ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xa496cce2 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0xa497d388 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xa4a3e547 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xa4ab6a66 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4af1550 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4bdca11 mm_iommu_preregistered +EXPORT_SYMBOL_GPL vmlinux 0xa4c50102 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xa4d22181 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xa4eed146 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xa4f8936f pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0xa4fdf53d ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa5042d8f inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa5092428 kvm_alloc_hpt_cma +EXPORT_SYMBOL_GPL vmlinux 0xa516e222 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa55ab514 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xa570e99f __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0xa57c83f6 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xa590915d lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xa5a8466c regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa5aa3d3e nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5bddaba rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa5c00ff7 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xa5c66038 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xa5ce1398 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xa5d41b16 devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5eb5475 sysfs_remove_device_from_node +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f43fa4 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xa5f76828 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa5fdd5db irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xa5fe1f1b netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xa60839bf __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa62fbb04 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa63224d6 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xa63c5193 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xa652cd8d pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xa66885af clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xa672a54d tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa6890843 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xa68b7137 of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xa68c8d21 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xa68f18e6 iommu_take_ownership +EXPORT_SYMBOL_GPL vmlinux 0xa69663be vas_win_close +EXPORT_SYMBOL_GPL vmlinux 0xa69be83e thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6cf27c4 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xa6cf5680 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xa6d1e06f splpar_spin_yield +EXPORT_SYMBOL_GPL vmlinux 0xa6dadebd xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xa6dcb6cd dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7125704 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xa7217efd percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xa7218679 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xa72d8d1e crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xa745f589 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xa749d97b gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xa76193ba rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xa765a473 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0xa789cfcb find_module +EXPORT_SYMBOL_GPL vmlinux 0xa790159e transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa7ab5415 vas_register_coproc_api +EXPORT_SYMBOL_GPL vmlinux 0xa7ac3013 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xa7c61d13 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xa7dcc631 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xa7e9e2bd inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xa822bb36 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xa82b0a21 pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa842193f fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8582368 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0xa859b87e devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xa87826a1 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xa8896d3b regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xa8a58886 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xa8b0bad7 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8c7dd39 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xa8e4273d tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xa8ee90a4 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xa8f00cb6 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xa90427c8 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa90a79dc iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0xa9250de9 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa9358fea i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xa93648a7 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0xa940feb3 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa949ad69 led_put +EXPORT_SYMBOL_GPL vmlinux 0xa97f234e device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xa98d3097 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xa998b3df blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xa9996b94 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xa9998e6d dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xa99cf9fb usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xa99e21b8 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a0ee26 pnv_pci_get_device_tree +EXPORT_SYMBOL_GPL vmlinux 0xa9a22b4f phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xa9afc905 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xa9b11fd5 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xa9b80d5c __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xa9bdd5c1 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xa9ce341e usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9e658e0 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xa9ea1922 virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xa9ea7281 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0xa9fc944a nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0xa9ffdb6c fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xaa0fab51 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xaa1758c5 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xaa185776 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xaa1bd708 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa2862b9 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0xaa41d6ff ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xaa482e1f device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0xaa543c45 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0xaa5bf577 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa6fb46a __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xaa7b825d sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xaa981b81 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0xaa9db750 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaaa5ec9 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xaab4b95f netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xaab8f756 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xaabbc6e2 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xaac72440 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xaacb5fdd led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xaacd9732 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xaaddd5fe rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xaae07fa3 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xaae9e97d regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xab09f8d0 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xab205e37 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xab320c78 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xab495c22 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xab57e432 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xab5f91b4 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xab6491a4 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xab6cfc5f posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xab7f2c31 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xab8717b6 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xab8bf513 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaba32d34 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xaba6fc02 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcf06a8 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0xabdeab81 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xabf127e9 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xabff72f9 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xac0624b4 vfio_spapr_iommu_eeh_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xac73cf3c pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0xac93f0f2 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xacaba3f1 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacbf7e58 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xace8bd2a clk_register +EXPORT_SYMBOL_GPL vmlinux 0xacec0702 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xaceffb73 security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xacf35d2f ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xacf62e0d thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xacfda0be follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xacfe997e powerpc_firmware_features +EXPORT_SYMBOL_GPL vmlinux 0xad12bb7a gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xad1a79fd arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xad4699d8 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad54677f of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xad58d7eb tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad88f324 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xad8b51fd fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada7467b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xadba07b3 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xadbe8ec8 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0xadca07bd __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0xadcf0a2c ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xade470bd mm_iommu_is_devmem +EXPORT_SYMBOL_GPL vmlinux 0xadf5d470 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae0baef0 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xae16bb10 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3c24bf iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xae442152 dawr_force_enable +EXPORT_SYMBOL_GPL vmlinux 0xae47fff7 __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xae49192f rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xae55ff68 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xae690881 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6b7965 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xae6c5f51 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xae772064 vfio_external_group_match_file +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae87cad0 memstart_addr +EXPORT_SYMBOL_GPL vmlinux 0xae99fe70 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xae9cbb29 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaeb7228f con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xaec127a5 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xaec9921f hash_page +EXPORT_SYMBOL_GPL vmlinux 0xaedb0c9d dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xaee8ed2e dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xaef624b0 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf193108 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0xaf1c993b of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xaf1cc882 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xaf1e10da opal_int_set_mfrr +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf707cf0 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf9ee020 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xafad8578 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xafb296df device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xafb7d73a mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xafbe6c9e kvmppc_hwrng_present +EXPORT_SYMBOL_GPL vmlinux 0xafcd4c80 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xaff05453 rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xaffa7a51 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xb011f553 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xb01a58c8 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xb02e08f2 vmalloc_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xb035fd7e iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb03971c4 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb03ee005 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xb06634ec opal_xscom_write +EXPORT_SYMBOL_GPL vmlinux 0xb068590c task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb0875c2c crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xb0b26dfb rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0bbab03 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb0bd14de sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xb0cc8b85 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d3535d blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0xb0f73f8e __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xb0fd69ad inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1341f1e napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0xb1383c6e rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb144ec23 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xb14c9c6f nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb16ec4a1 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xb1786d79 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb189d6c1 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xb1b5a44d of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c51f4c usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb1cf892d ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xb1d9f10b sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ef4668 devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0xb1f0b14a cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xb1f2a9f1 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb222b13a ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xb230abfc extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24a1814 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0xb25df4e2 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb278ac76 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xb2898bea i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb28a3be9 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb29d40f3 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0xb29fe764 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xb2a1c8bf static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb2a653fc confirm_error_lock +EXPORT_SYMBOL_GPL vmlinux 0xb2ab573e vfio_add_group_dev +EXPORT_SYMBOL_GPL vmlinux 0xb2b8813d sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xb2bc8899 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xb2bfc425 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0xb2c0393f pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2dc434c shared_processor +EXPORT_SYMBOL_GPL vmlinux 0xb2e18eae eeh_pe_configure +EXPORT_SYMBOL_GPL vmlinux 0xb2e52f52 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ed7cd4 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb2fca4fe ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb3160808 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xb33119e2 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xb3362632 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xb359c6e6 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xb3697230 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xb3697565 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb39aca9f blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb39be8ab synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xb3a5cfa3 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb3ba1a4a virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xb3d475f8 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb3d50bec dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xb3d7ab7c powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xb3e06ac3 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xb3f0a70b pnv_ocxl_spa_setup +EXPORT_SYMBOL_GPL vmlinux 0xb3f311c7 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xb3f9ba44 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xb3feced4 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xb4054a6c __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb40b2fb5 devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xb40b7f2d devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb411cab0 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xb41a0726 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb43fb4de fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb44eacae ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xb44ee4aa pnv_ocxl_free_xive_irq +EXPORT_SYMBOL_GPL vmlinux 0xb4692983 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xb488588e tb_to_ns +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4927ab7 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xb4a4e8c3 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xb4adf77d wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4cd3aaf icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb4ea5f6c alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f8bcf0 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb4fe74e5 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50fc93d dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5304aac md_start +EXPORT_SYMBOL_GPL vmlinux 0xb5421b83 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xb54b0221 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xb54ccbf1 eeh_pe_inject_err +EXPORT_SYMBOL_GPL vmlinux 0xb54e691f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xb561f786 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xb57acff0 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xb5878407 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0xb5a8a0cf register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xb5aa10af atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb5ab35fc bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xb5b491d1 of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0xb5c12a34 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xb5ebbfcd tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb61b2322 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62d4d90 blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0xb643c250 xics_wake_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb6490b11 pnv_power9_force_smt4_release +EXPORT_SYMBOL_GPL vmlinux 0xb64f9964 net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb655b0c6 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xb65ace4b __module_address +EXPORT_SYMBOL_GPL vmlinux 0xb661c1b6 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xb669b957 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb684e995 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb694962a bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xb6b3a01a gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xb6b5b838 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xb6d45e85 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb6dc7d50 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb702dd75 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xb71616a5 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xb72020db nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xb725a8a6 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb733ec86 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb7435b72 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xb764e0a5 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0xb7747b39 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xb77b9a49 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xb7807687 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xb7861552 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0xb78cc0d3 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7ab3420 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0xb7b1a05e inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7d17fa0 pgtable_cache +EXPORT_SYMBOL_GPL vmlinux 0xb7fa877d fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xb7fccf60 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xb81ba933 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xb81d5970 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xb81f89df __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb82c7cd7 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb8319fc2 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb83ca965 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb83fb8fc pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb85527e0 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xb86ed5ec debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xb86f69f1 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xb8755719 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xb87e4486 store_sampling_rate +EXPORT_SYMBOL_GPL vmlinux 0xb882dbbb device_del +EXPORT_SYMBOL_GPL vmlinux 0xb888cedc sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb8890005 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xb88d4d12 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8953d22 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xb8988b65 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a0c315 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xb8a46529 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xb8af18c2 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d51193 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xb8db1034 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xb8e1ec41 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb8edffe3 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0xb913e06f phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xb91e87fd ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xb922bf16 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb923fa45 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb9262dfc pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0xb9319ce1 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xb93cb1aa usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xb941248f mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb9452ff3 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb958919f strp_stop +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb9833fe3 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb98dd48d __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9937e5d clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0xb997445c device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xb99df747 xive_native_has_queue_state_support +EXPORT_SYMBOL_GPL vmlinux 0xb99f7932 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9e33610 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba21d077 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xba29062e da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba334d43 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xba380c9c vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xba3d910a blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xba411145 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xba463c7f regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xba4869db vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0xba5213a0 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xba5712c5 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xba5894fd edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xba67615d cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xba9e8f90 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac80cc3 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb1d1fac crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xbb26e6a2 pnv_ocxl_get_actag +EXPORT_SYMBOL_GPL vmlinux 0xbb277b04 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xbb2beeb5 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xbb3dfd75 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbb4b4c5c wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0xbb532def of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6e3322 early_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb8749b9 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xbb8b2182 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xbba19185 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbba442b7 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xbba65e60 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xbbc5874f rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xbbd54fd4 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xbbd9b421 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xbbe548ac led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xbbe98c99 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xbbeb2bfc bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xbbee0f9f of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xbbfda878 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xbc12efe1 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbc3e25e6 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xbc414478 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc433da7 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xbc4cfb1b sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xbc500de8 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xbc50a06d balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xbc5cca28 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6e9986 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0xbc7a1c91 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xbc7ab759 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0xbc8fa2a9 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbc954220 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xbc970cd9 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xbcabe6e3 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xbcb1e0fe to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xbcb69111 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xbcbf9b4e split_page +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcd0ae60 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce12f6e fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xbce14ca6 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd16ff50 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xbd2d8f02 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd5536bf crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xbd61ce85 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xbd667735 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xbd777fec exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xbd7a2c29 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xbd9e5094 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbdac41ba iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbdad2365 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xbdbc9d2e debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xbdbe516d ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xbdc35a34 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xbdc77522 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbdea9589 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xbdf7411f clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xbe045f16 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xbe071278 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0xbe0afa72 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0xbe1ab41f wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xbe35c52c klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0xbe449e5c skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0xbe529626 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xbe5863f2 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xbe5bba91 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbe623cf7 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe8137f3 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xbe8eee33 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xbe90b973 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea42aed fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbea63e77 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xbeadcd3f powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xbeb709f9 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xbeb94759 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xbec6fc4e spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xbed963a2 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xbedef557 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0xbee32001 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xbef27002 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbefc624d tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf21b45c put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xbf3513f3 pci_find_bus_by_node +EXPORT_SYMBOL_GPL vmlinux 0xbf3efc00 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf73c401 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xbf781031 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xbf8382be devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xbf922617 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xbfa70c32 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfbca9fa __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xbfbcef95 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xbfc0e343 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xbfc69d86 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xbfd4f9a4 iommu_flush_tce +EXPORT_SYMBOL_GPL vmlinux 0xbfe42fa7 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfe62d6b devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0xbfedf46b __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xbff4eeea tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc00b4d60 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xc0238ef2 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xc03220d8 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xc0374963 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xc0389a9f tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xc03ba041 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xc0611f59 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xc065a455 cpu_core_index_of_thread +EXPORT_SYMBOL_GPL vmlinux 0xc0667035 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xc07c0a93 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xc0a35982 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xc0a7ca10 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0a9a680 vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0xc0b245ae of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xc0b43e8f vfio_iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0xc0cbd92e tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc1073137 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10c6827 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xc10ea716 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc11261e2 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xc11735f0 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc12c44a6 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0xc132b93c iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xc1543736 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xc15bdb7c cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc167ba85 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xc16a2c66 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e73a0 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xc1800e8d device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc18a6756 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xc19bb426 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xc1a550f2 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xc1c1f451 do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL vmlinux 0xc1ed9c89 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xc218e449 pcibios_free_controller +EXPORT_SYMBOL_GPL vmlinux 0xc21e55c9 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xc21e760e scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xc223eace usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0xc2261bc4 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc2286a80 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc229b595 ref_module +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc2704a6f fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xc27193b6 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2847024 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc29a70a9 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xc2a10d7b hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2aa338c perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xc2bc2be5 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc2c275ff opal_poll_events +EXPORT_SYMBOL_GPL vmlinux 0xc2d67aa3 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xc2f3529d ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xc2fe4fda ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xc319e155 klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0xc32917c1 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0xc32b06e3 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xc32fb65b devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc35d56e7 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xc378a762 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc3793c11 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc38799ad iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0xc390fce7 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0xc3944258 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xc3958e92 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xc39b3dae devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0xc3a3154b regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xc3a758ec cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0xc3aae6e1 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0xc3b4b711 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d1c416 thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3df2df4 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xc3e06e7a regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f4d1b3 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xc3f7a7da bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xc3fc4352 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0xc404df87 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xc4125573 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc412fdf3 radix__flush_all_lpid +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc43f0ab6 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0xc44b4671 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc44e37c0 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xc44eae24 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xc453c30b devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc46b5e00 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc48182a1 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL vmlinux 0xc49adae6 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xc49d3b11 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc4a23035 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0xc4a610d6 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4a9a08d adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc4ac6181 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc4db5966 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xc4eafc3d pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xc4eefbb8 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0xc4f04deb of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc51e243b xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xc53782e9 pci_hp_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xc54b21ff fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0xc554981a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xc558342b spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc55b7589 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +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 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58ecaf5 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5ae6222 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xc5cbcdf6 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc5e3d65f cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc5e67624 noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc617593d crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc618d53e devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xc61a5c0f kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xc6462a44 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xc64a8709 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc65b1c0b dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xc665060e rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc68aa252 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xc68d771e pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc691c1f4 of_phy_put +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 0xc6bcaeb3 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0xc6d9a9e0 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xc6e56222 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xc6f0368f blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xc6f5c26c devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xc718d80e device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc730f762 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0xc7446293 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc752a76d gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc75cebad crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xc7637803 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xc7664362 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xc76b3840 kvmppc_invalidate_hpte +EXPORT_SYMBOL_GPL vmlinux 0xc7753d51 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc77915fe device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xc7832f3a dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xc786349d led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0xc7896247 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xc792e2b4 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xc79710e3 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0xc7a01501 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a2025d perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xc7b920a8 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0xc7bd51d8 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc7bd9bb9 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0xc7d20074 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0xc7dbdc4e wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xc7e376d4 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xc7e70bbe dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xc7f567fe regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc818fa87 device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8190103 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xc826ce18 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82e1d75 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xc833aa8a nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xc8487f4b watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xc84e928f __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xc84f93ad ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xc8540333 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc862fada sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xc8630e60 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0xc865dda2 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xc868b177 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xc87836e1 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc8926c45 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xc89825a8 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xc8a584c9 eeh_dev_open +EXPORT_SYMBOL_GPL vmlinux 0xc8b88d9b __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e53a7f ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xc900c8e1 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xc90239d9 eeh_pe_state_mark +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc93f14c7 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc98e3590 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xc98ea5ae get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xc9928d2a static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0xc99b5c4a __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0xc99e34fb skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xc9a13cf0 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc9a25cf6 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0xc9a8093d rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc9c6a27a xive_native_set_queue_state +EXPORT_SYMBOL_GPL vmlinux 0xc9c77b40 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc9d22163 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xc9e4e105 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xc9e78a23 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f3b153 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xca01d30d regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xca06ddb1 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xca136dc5 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca1aa1ab usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xca3d2132 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0xca4392a0 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xca4b5c51 idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xca7522f2 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca94bf41 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa36ea0 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcabea422 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xcabf286f irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xcad5b83e mm_iommu_get +EXPORT_SYMBOL_GPL vmlinux 0xcad7c981 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xcadab7df blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0xcae64cf3 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xcaeec219 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb1694a3 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xcb1a936b extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb2c551d devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xcb418b85 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xcb4c49bc dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb5ae250 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xcb612904 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0xcb66a16b sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xcb7a6634 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0xcb845353 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xcb8ffdbc device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xcb902baf pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xcbbd0bb7 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xcbbff6e8 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xcbdaad40 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xcbddaaef iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf0601d iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0xcbff46cb dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xcbff88b7 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xcc027b96 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xcc0b8fe0 path_noexec +EXPORT_SYMBOL_GPL vmlinux 0xcc0cd9c4 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xcc0f1009 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcc13d5dc devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0xcc22fb7a md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xcc243893 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xcc2c70d2 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3b155d extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xcc4212f1 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xcc5e9da9 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xcc6c0d51 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0xcc765276 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcca50dca pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xccc3d884 sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xcccc7cde nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcccffb27 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdaec96 phy_create +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccf8c624 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xcd081249 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xcd17505e usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd4de128 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0xcd51e027 is_xive_irq +EXPORT_SYMBOL_GPL vmlinux 0xcd5dec2a pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcd6ba910 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +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 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdb731d8 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd1a841 xive_tima +EXPORT_SYMBOL_GPL vmlinux 0xcdd24a6f devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcde7eeff device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xcdf6e5a6 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xcdfb62ee crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xce05c2cc blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xce08f1f4 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xce09f0f7 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xce0acc06 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xce1822a6 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0xce2f2afc pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xce360355 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xce377135 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xce3beb66 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xce3f6cf4 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xce66653e icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce71f91a pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xce780b9a class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xce86d997 iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xcea06971 pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0xcea1206c usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb4b99c klist_prev +EXPORT_SYMBOL_GPL vmlinux 0xcec055aa isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0xced5273b fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee29e65 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xcee6b2ff platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceeb6ede aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0xcefc9603 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xceff05d0 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xcf10f111 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xcf160269 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf3b2c02 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xcf4bb7e7 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xcf5418b9 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf559199 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xcf5ce736 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xcf5ee11b __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xcf775c4d l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0xcf7863a4 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xcf83d3f8 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xcf8984aa usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfcf5edb devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcfd0d55d scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xcfd5efd3 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xcfd7f2f1 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xcfef1cf2 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd00614d4 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xd02a59a6 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xd038871f kvmppc_set_msr_hv +EXPORT_SYMBOL_GPL vmlinux 0xd03cc9b1 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd042c41e platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xd04f0ee1 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xd0531cad pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xd05aba8e call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xd05b40cc genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0661be3 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd06bea7a ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xd06f8c20 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd075f517 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd08204c8 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xd0911e68 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0xd0984b45 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xd09dcc38 dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0xd0bb9528 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xd0bea361 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xd0c024dc pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c22ef9 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd0c58493 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0c8d956 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0xd0d5a138 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0dd0f7c devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xd0e03ef5 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xd0f8c688 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xd112f641 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xd11df568 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xd129e31a of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xd14954cc pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xd149935b iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0xd15d888b tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xd15e3c3b bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd1670403 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xd16b6b34 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xd16f9fd6 pci_hp_remove_devices +EXPORT_SYMBOL_GPL vmlinux 0xd17d0342 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xd19838d4 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd19c5af9 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xd1bc1ee7 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0xd1cb81d1 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cc2034 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xd1d25766 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xd1e3920f irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xd1e96a5f fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f98c7d gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd20d399f fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xd20f449f __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd224a6c1 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xd2296121 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xd2537fac device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd2640fd4 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0xd26cd3b7 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2753f15 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xd2768555 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xd28a8280 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xd29d9759 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0xd2a2e532 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xd2adfc34 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2f77850 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xd2fd5a94 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xd313c415 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xd314f5d0 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd31edd5b fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xd31fe1fc hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xd3298b7c fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xd3463ec1 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xd34b5d4d inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd38c18c4 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0xd3983f92 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a5e9f8 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0xd3ac8a57 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xd3b22dbd vas_init_rx_win_attr +EXPORT_SYMBOL_GPL vmlinux 0xd3b40b5f fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd3be4666 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0xd3c585f0 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xd3d6a398 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0xd3ddd990 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xd3e3f922 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd3e695c9 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xd3ea6c2c crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xd3f65e8e dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40ccc29 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xd41df3ab perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xd41e9b10 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xd4204c2a dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xd43810db gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xd43cc6ca get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xd442f631 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd443c2ee wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd44b7193 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd457f081 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0xd45acafe metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd483dcde clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0xd490f5d9 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xd4a49fdd tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xd4af5f73 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xd4b12f8d regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4ba3c76 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xd4c0500c rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c6fd5f blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xd4c8ed8e sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xd4cb8cfa pci_traverse_device_nodes +EXPORT_SYMBOL_GPL vmlinux 0xd4d2ac60 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xd4d91468 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd4e0c037 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f11055 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd5082a8a __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xd522140a kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xd52362c1 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd530c41b perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xd55938f6 eeh_pe_reset +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd5708cda __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd57d29e2 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xd5824cba device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5a5e2bd inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xd5afa49b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0xd5dfcdf0 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd5e5a221 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd5e8797e crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xd5f724a5 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xd6012c27 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd62b92a4 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xd63b22bd of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67a1ebf xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd67cb155 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xd6a43677 opal_async_release_token +EXPORT_SYMBOL_GPL vmlinux 0xd6bb00da regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0xd6bf625a btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xd6caae21 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd6cf29e1 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xd6de2613 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xd6e010e7 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd6e6f469 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd71ecb6f iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0xd7285cf1 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd73d3e69 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xd75443af kvm_free_hpt_cma +EXPORT_SYMBOL_GPL vmlinux 0xd756176b of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75ee4f2 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xd760da94 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xd761f824 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xd7654d44 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xd766ea95 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76b5cac sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd76e4a35 ioremap_phb +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd77f502d fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0xd7822114 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xd7a392ab power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xd7a4b17a shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xd7b0f0fb clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0xd7bf1493 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xd7c30174 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7ead094 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xd7f0e111 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd8060589 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xd83d4359 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd8508820 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xd86dfb07 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xd8783ab3 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd884885d regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd8b16a40 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0xd8b553fa arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0xd8d033e3 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xd8f08fdc trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xd8fa1a38 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xd91e1f54 serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd92160d1 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xd94fe097 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd97e8e81 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xd97eb37d phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xd98015d4 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xd982a065 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xd98714e0 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xd98df72d crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xd9b81d28 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xd9bd2a03 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xd9bd6960 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xd9cdd994 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9d88da7 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda0b058b ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda4041cf of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xda447f96 __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xda63f058 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xda6691bd dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xda6b5f23 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xda7943bf handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xda7f42fa ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xda80e5fb crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xda819d3b scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda93a322 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdaa29b48 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdaa85b39 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xdaaa53be sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab76866 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb01103d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xdb16ab76 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb31c901 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xdb3794ce emulate_vsx_load +EXPORT_SYMBOL_GPL vmlinux 0xdb3c3317 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xdb3f25b5 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xdb478642 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xdb5b7333 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0xdb61857d srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb61a935 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xdb68be58 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba4a337 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xdbaeb235 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0xdbafbabf pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xdbb431fa regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xdbbaf985 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0xdbc72ac2 xive_native_alloc_irq_on_chip +EXPORT_SYMBOL_GPL vmlinux 0xdbd6943d sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbff5c35 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xdc0b2b5b opal_flash_write +EXPORT_SYMBOL_GPL vmlinux 0xdc0e3a76 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xdc2715c7 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0xdc29b74d anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc31a71d ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xdc31acc5 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0xdc34a927 __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xdc3da761 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc51a460 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xdc60a742 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc692be5 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xdc6eb453 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xdc75579d scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc8a9e76 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca639f0 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0xdcb17e76 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xdd05743c spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0xdd05a31c kvmppc_add_revmap_chain +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0628b8 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd147ddf uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xdd17033d devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xdd1c5b06 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdd23f38e devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0xdd241d94 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xdd3155f3 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0xdd371b43 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd3a8fdf __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xdd3c6475 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd7a73c3 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdd7b1f55 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xdd7f1c79 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xdd86e1c0 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xdd871d69 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdd8db9e4 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xdd8e9a2b mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xdd9a5fe0 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xddb2fa8d dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcb7399 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0xddd5662a led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0xdde8f6ab vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0xde0e48d1 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xde132ca9 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0xde3c37e8 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xde5738ad of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde742efc crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xde75ed73 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0xde8315f8 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xde91d20c cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeac43a7 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xdeb4651f crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xdec71f98 icc_put +EXPORT_SYMBOL_GPL vmlinux 0xdee1a6b7 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xdee2072c pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xdeea3086 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xdefdfe03 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1e9cfa btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdf46a610 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xdf50a554 pm_genpd_syscore_poweron +EXPORT_SYMBOL_GPL vmlinux 0xdf6a1cb8 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdf977eaa pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0xdfab9aed dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xdfb16d33 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfd95d95 security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0xdff568cb klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe005c474 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xe0232fd6 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xe0321ac5 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xe04fe81c serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xe0575a1a platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xe05a4275 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe067ebab tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xe06cdb7d crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0xe07d6622 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe08cd122 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xe09fc6e4 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xe0adffd9 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xe0af3f71 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0ba64a2 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0bd9464 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe0d28f89 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe108d302 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xe1131847 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xe115f32f sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xe130c850 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe13c1071 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xe15644d5 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xe157ed8f idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xe161b07b trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0xe174e9a4 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1791f24 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe17ab133 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xe1b4a836 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c3b340 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1cd8b97 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xe1ddedde device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe1e2dcba __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe1ee10e8 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xe1f335b0 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0xe2049878 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xe20baeb3 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xe2121087 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0xe21a6cef usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe220591a vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xe22e2bc1 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe24cfa5e sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xe2596372 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0xe2986f44 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xe2a0be23 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xe2ae82eb mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2bdf9a8 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xe2c21d70 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xe2c3d5a8 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2f0ede3 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xe3028da2 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30727a6 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xe319156e iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0xe336e784 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0xe33da6e7 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0xe34c7e4f phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xe35285b3 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe3533460 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xe35338db kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0xe3821e69 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe396b98b fuse_request_end +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 0xe3bf83f1 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xe3c67620 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41806a9 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0xe41af91b of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xe41cc2ce edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe45716ae rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0xe4669727 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0xe4740dfe __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xe48364db __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xe493e723 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe4946fc1 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a7c080 regulator_get_voltage_sel_regmap +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 0xe4ca279e driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe4cb5433 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e75a14 kvmppc_inject_interrupt_hv +EXPORT_SYMBOL_GPL vmlinux 0xe4ea17e8 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xe504a3fa mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xe5075f3f platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xe51737af serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xe51f2040 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe520c1d8 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xe53e0b2e ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xe54766fe blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xe55ca8b1 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xe560bbb0 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe589c488 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe58b4907 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xe5bbb925 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xe5ec503b __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xe5f947a3 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0xe601d1c5 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe6113285 mm_iommu_newdev +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe62f145b udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe639271a extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xe63d71bb cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xe64eec66 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xe6658b50 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xe667e0c5 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe6774d8a tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xe68202c5 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xe69b8078 get_device +EXPORT_SYMBOL_GPL vmlinux 0xe6a13e7d xive_native_configure_irq +EXPORT_SYMBOL_GPL vmlinux 0xe6a6c187 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe6a745d8 eeh_iommu_group_to_pe +EXPORT_SYMBOL_GPL vmlinux 0xe6bb787c __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xe6dd977e inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6f8f5b7 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe7081094 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xe7194391 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xe71c28b4 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xe71fe38a trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0xe72817c6 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xe737a3cf __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75fa697 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe7780273 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xe7785e3a iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe79fe79f subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xe7a723ae irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xe7b94388 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xe7bb5743 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe7bfbb96 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xe7c3e888 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0xe7d34db2 opal_async_wait_response +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7e53701 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0xe7ea0247 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7f18b3c threads_per_subcore +EXPORT_SYMBOL_GPL vmlinux 0xe7fd7ac7 fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe800c042 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8190fca sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xe81db55f cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe8488539 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8767833 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xe87f0c52 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xe89639fe to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xe8b606c1 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xe8b8507b fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xe8c76e5c pcibios_unmap_io_space +EXPORT_SYMBOL_GPL vmlinux 0xe8ce5176 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xe8eab423 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0xe8f497d5 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xe909eee3 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xe90d95f3 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xe911d061 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe92b23bb mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe934ea94 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9506579 iommu_tce_direction +EXPORT_SYMBOL_GPL vmlinux 0xe957bf9f alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xe96f6e47 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xe974c6ea devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0xe978f5e6 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe988e086 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9dcfaea srp_release_transport +EXPORT_SYMBOL_GPL vmlinux 0xe9e8a173 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xe9ec28eb of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0xea017114 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xea03b7af pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea193337 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xea1fae03 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xea344f8b of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xea3515a8 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xea369b6c pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3bcb44 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xea4196c0 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xea4f5ef9 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xea52e2d4 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0xea5c9c86 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xea7206e3 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xea88c866 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xea9358b0 mm_iommu_put +EXPORT_SYMBOL_GPL vmlinux 0xea93e349 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xea9f168e skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xeaad4789 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0xeaaeba56 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xeabdae56 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xead04ebe regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xead486fd crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead8ecfe rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0xeadf72e1 tm_abort +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf87551 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xeaf9e3ee __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb0bffc0 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0xeb1432ad rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xeb14a2a4 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xeb158176 register_cxl_calls +EXPORT_SYMBOL_GPL vmlinux 0xeb19c6ea md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xeb1a4f29 opal_error_code +EXPORT_SYMBOL_GPL vmlinux 0xeb1abbd3 pnv_npu2_map_lpar_dev +EXPORT_SYMBOL_GPL vmlinux 0xeb27ef23 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xeb30b67e reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb42731e sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xeb42f0d6 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xeb463a56 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xeb49f785 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xeb4f94b7 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xeb581634 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xeb59a8f2 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb6f5220 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xeb6fccd4 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xeb7fdef7 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xebb3e997 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xebbd6143 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebccfb6f device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xebce5824 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebdcc376 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xebf28a43 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xebf2b2fc dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xebf388b8 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xebfc4213 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xec339803 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xec356c53 msr_check_and_set +EXPORT_SYMBOL_GPL vmlinux 0xec4a0099 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec63d699 __tracepoint_vfio_pci_nvgpu_mmap_fault +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec73f1d8 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec7ee71f __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xec7fc8a8 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xec84bfb9 opal_leds_get_ind +EXPORT_SYMBOL_GPL vmlinux 0xec872cbc extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xecbaa0b3 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xeccc7df4 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xecd3660d devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xecd58d9e pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xecdab34a xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xece8c0f4 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xed1727c5 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xed1bdaf0 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0xed1f3c57 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xed22f791 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xed348928 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xed34ae39 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xed3c63ca bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0xed49cd05 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xed4d2ada dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0xed4d616c ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xed6abfab lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0xed6bcbce mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xed8b4117 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xedb04061 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xedb3a12e bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xedbe954d mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xedbf0a62 create_signature +EXPORT_SYMBOL_GPL vmlinux 0xee1a96c7 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3dc882 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xee4f91bc pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0xee55cb90 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0xee656bba usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6cbb4d pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xee7641b5 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xee7f5ba5 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xee8f27b6 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xee8f3d9f crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xee93e706 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xeeaa9b4f ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xeeb8358d gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xeebf18cb power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xeec45d4c dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xeed3396c spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee28c0b hash_page_mm +EXPORT_SYMBOL_GPL vmlinux 0xeee929bb __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xeef293e0 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xef054ee4 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0xef14550a __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2e6317 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xef3db336 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef4cf9ef gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xef515b72 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0xef547303 nvdimm_to_bus +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 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefad2815 strp_done +EXPORT_SYMBOL_GPL vmlinux 0xefb162b4 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xefb632ba power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xefe0f9fe dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xefe6bed6 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xefebdde1 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xefee6835 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xefee6ff0 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xf00784a6 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xf01f1973 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xf0652be2 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xf0762905 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xf0804c5c fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xf086dacc static_key_count +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0938cb4 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xf0b25631 power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0xf0b78e25 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xf0bd3244 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0xf0c10292 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xf0d41bff fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xf0e01241 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xf0e0847b _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0xf0f84418 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xf0f93517 arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0xf0f984a3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xf10054e1 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xf12b3d9e pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf13a9e86 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xf164a827 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xf16837d2 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xf1815000 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18a26c7 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1d969c2 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0xf203b99f of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf20d631c usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xf2188dab gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf2478e12 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xf249dad6 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xf25a42e8 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xf2670490 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf278885a rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf280e721 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xf28225d5 of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0xf2846679 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a23cf9 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xf2a7b33c dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xf2bedb36 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xf2cc0777 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf2dda462 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0xf2f0b73a xive_native_get_vp_state +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 0xf319c605 vas_copy_crb +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33247e6 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf3453f56 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xf3573885 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xf35b2395 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xf36cf34f fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf36defbf ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xf3756c8e devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xf3773922 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf37e31c1 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf38bc560 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0xf3934513 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xf398b515 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xf398bc85 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xf3a5aa67 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0xf3af3980 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3bb1a72 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xf3c71f06 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xf3caddd7 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xf3d75622 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xf3d9045a vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xf3e9e0f3 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xf3fa8340 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xf401dfa0 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xf40a203b phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xf40e9c81 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf41f06d6 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf4260e2f dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf42cc537 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xf43603e0 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf43be55e device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xf464dadc fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46f7c73 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf4883069 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf48dba8b stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xf493d638 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf49bc5a8 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xf49da5af sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xf4a5bee4 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b53f04 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4dd89dd usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xf4de91a9 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0xf4e459c6 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xf4f17c59 __xive_vm_h_cppr +EXPORT_SYMBOL_GPL vmlinux 0xf50a76fb dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0xf510bf73 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xf51a1d7b lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0xf51e9d90 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xf521265a relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xf529569e pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xf53c1a81 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf547471e virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf561febf find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xf5623d0f sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xf56f2d4e kvmppc_check_need_tlb_flush +EXPORT_SYMBOL_GPL vmlinux 0xf5785fc7 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xf579d980 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xf57aa8d3 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xf584b05b usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xf591ea66 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xf5998196 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf59c5ba1 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5cd3243 pnv_ocxl_spa_remove_pe_from_cache +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5dca7e9 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xf5e9c4e2 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xf5f1b477 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf61ad5af kernstart_virt_addr +EXPORT_SYMBOL_GPL vmlinux 0xf61c9057 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xf62471f8 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf64c380b nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf66348f7 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6a09102 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6ac7ff8 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xf6ad2d9b sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xf6ae81ca devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xf6b65c94 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xf6bc5dd5 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6ca0de7 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf6d483ee clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6e9248d clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf703ac5e iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf713ad32 pci_user_read_config_byte +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 0xf77af223 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0xf782b654 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xf794750f platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0xf7953631 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf797c8be ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7a599cc strp_init +EXPORT_SYMBOL_GPL vmlinux 0xf7a64e50 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf7b2b2ae of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c30e20 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xf7c9f838 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xf7ccd2c8 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf7cd7822 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7ff777b nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0xf80d0673 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xf81e0656 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xf8273b9a pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf830e0f0 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84214ed regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf843bc62 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf84f53c7 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xf85f6b55 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xf870fdd3 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf89af0eb vas_rx_win_open +EXPORT_SYMBOL_GPL vmlinux 0xf8c62dc8 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf8e87ab7 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xf8ebe939 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f420e3 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf8fc0fd8 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xf900d94e sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf9042b6f bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xf905093b dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xf92c1020 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf952543d blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf96c01be do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xf97471ef opal_i2c_request +EXPORT_SYMBOL_GPL vmlinux 0xf97754ec vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xf97b0fe2 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a18d0c usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0xf9ad0a74 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0xf9c66d59 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf9cba926 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xf9cfcc94 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xfa077a52 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xfa1d35dd extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa22c836 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfa268f0d __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfa3f22f8 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xfa42d541 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xfa430831 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xfa57b50d ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0xfa5ca4c6 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa64d1a0 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa6cd0e2 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xfa79d87c pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xfa935a3a ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xfaa0cb25 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfabb6aff opal_flash_erase +EXPORT_SYMBOL_GPL vmlinux 0xfac6480b sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xfac7ce22 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xfac8bf70 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xfad609a8 __xive_vm_h_eoi +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfadf506f devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xfadf6ff1 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xfaecdfb0 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xfaedfb3e irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xfaeed3e0 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfaf0c059 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xfafdbc5a mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xfb0b320f ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xfb18a2fd virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xfb18ec0e pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xfb2d6c4e simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb5e7505 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xfb64df53 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0xfb69daed ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb738290 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xfb7f8928 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfb8b2324 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xfb8f96ef posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb9379ca iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xfb94cb41 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbc447ff crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xfbcd728d kvmppc_host_rm_ops_hv +EXPORT_SYMBOL_GPL vmlinux 0xfbecb0b0 copro_flush_all_slbs +EXPORT_SYMBOL_GPL vmlinux 0xfbf053f9 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0xfbf3961c regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0639af rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc20114b led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc234177 _kvmppc_save_tm_pr +EXPORT_SYMBOL_GPL vmlinux 0xfc4a1eb2 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xfc4f9f95 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xfc5b29a6 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfc5c0c04 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xfc5e6391 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xfc5e6718 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc63e52e inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xfc683b45 has_big_cores +EXPORT_SYMBOL_GPL vmlinux 0xfc7a5005 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xfc9b99e7 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xfca8b051 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xfcaf49b0 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0xfcb6314e devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xfcb7fb70 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfcba3e01 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xfcba48f3 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcdb65a0 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xfcde86db tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xfcded847 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0xfcfb91ff ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xfd0a2dca ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xfd1d12d2 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xfd2cdf9d blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xfd324b18 sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfd346c69 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xfd365e15 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xfd55eed9 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xfd65a0bb irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xfd673b78 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xfd6cd4db iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xfd6f8ed2 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfd7f7949 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xfd974df1 of_css +EXPORT_SYMBOL_GPL vmlinux 0xfda1beea hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfda7f03e usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xfdb02b88 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdc75be8 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xfdd65f7e tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xfded4202 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe207b8e blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xfe2c3286 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe59638b sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xfe5dd9b9 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe877fd5 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfea3e089 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xfeaa1558 opal_async_wait_response_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xfeaff547 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xfeccda69 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfeda6ced gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff157c9e vfs_write +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff2e1699 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0xff3973ed clock_cooling_get_level +EXPORT_SYMBOL_GPL vmlinux 0xff3fdd82 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xff40dbfd clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff67a141 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8bf64c irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xff9ad4de relay_close +EXPORT_SYMBOL_GPL vmlinux 0xff9dea09 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffd10fb2 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xffd4ec01 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xffd82a47 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xffd91162 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xffe3a6ec to_of_pinfo +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x9e21fa43 ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xe9fd246a ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x02028fd3 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x0d364189 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x155ac6fa mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x15afed9e mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3253fad5 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x368dd03a mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3b6b2181 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x60b074da mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7111fabb mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x764481c4 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x841bc9e2 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x8d5ac3e8 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x9b5aca3d mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd1e8b5fe mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x1a7a6daf 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 0x1ccc1ab3 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1efacc86 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x31c0735d usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x44e5315f usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x462d6c39 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x54f2dc22 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x58868845 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6ac0f3e9 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6af62b13 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6fc18632 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7455bd19 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x77a180cb usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x80c7bba3 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x81a0964b usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x92316f94 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x944c74ac usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9763b01f usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd3b0ff5c usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd92a7417 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdb618c27 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe5d8825c usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xeff63b03 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf8f319e2 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/ppc64el/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/ppc64el/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/ppc64el/generic.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/ppc64el/generic.modules @@ -0,0 +1,5426 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +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_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +ansi_cprng +anubis +anybuss_core +aoe +apbps2 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc4 +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +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 +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 +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +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 +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 +bcma +bcma-hcd +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_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 +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_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camellia_generic +can +can-bcm +can-dev +can-gw +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 +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dsi +cdns-pltfrm +cdns3 +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +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 +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-rk808 +clk-s2mps11 +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-twl6040 +clk-versaclock5 +clk-wm831x +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +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_isadma +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +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 +crc64 +crc7 +crc8 +crct10dif-vpmsum +cryptd +crypto_engine +crypto_safexcel +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +csiostor +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 +cxlflash +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +dax_pmem_compat +dax_pmem_core +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +de4x5 +decnet +defxx +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +display-connector +dl2k +dlci +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-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 +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +drm_panel_orientation_quirks +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-i2s-audio +dw-i3c-master +dw9714 +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 +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 +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +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 +ethoc +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +ezusb +f2fs +f75375s +f81232 +f81534 +f81601 +failover +fakelb +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 +fb_watterott +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 +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-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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-gb +gb-audio-manager +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 +gdth +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goodix +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-bd70528 +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +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-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_fpga +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 +gtco +gtp +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfs +hfsplus +hi311x +hi556 +hi6210-i2s +hi6421-pmic-core +hi6421-regulator +hi6421v530-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +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 +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-cbus-gpio +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +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-xiic +i3c +i3c-master-cdns +i40e +i40iw +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +imx6ul_tsc +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iowarrior +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 +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 +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it913x +itd1000 +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 +khazad +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +ks0108 +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +ldusb +lec +led-class-flash +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-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-pca9532 +leds-pca955x +leds-pca963x +leds-powernv +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +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 +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 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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 +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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +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 +mdio-xpcs +me4000 +me_daq +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 +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +mii +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlxfw +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +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_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi001 +msi2500 +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +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 +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 +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand +nand_ecc +nandcore +nandsim +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_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 +ns +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nx-compress +nx-compress-powernv +nx-compress-pseries +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +ocxl +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +ohci-platform +omap4-keypad +omfs +omninet +on20 +on26 +onenand +opal-prd +opencores-kbd +openvswitch +oprofile +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +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 +pblk +pc300too +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-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcspkr +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pf +pfuze100-regulator +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +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 +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 +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +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 +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 +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-beeper +pwm-fan +pwm-fsl-ftm +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa27x_udc +pxe1610 +pxrc +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-cpr +qcom-emac +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcserial +qed +qede +qedf +qedi +qedr +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +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 +qxl +r592 +r6040 +r8152 +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar_dw_hdmi +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +roles +romfs +rose +rotary_encoder +rp2 +rpadlpar_io +rpaphp +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtas_flash +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +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-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-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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +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 +sbs-battery +sbs-charger +sbs-manager +sc16is7xx +sc92031 +sca3000 +scanlog +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 +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +sha1-powerpc +sha3_generic +shark2 +shiftfs +sht15 +sht21 +sht3x +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 +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smiapp +smiapp-pll +smipcie +smm665 +smsc +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +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-cs4281 +snd-cs46xx +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-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-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +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-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-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-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-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-lochnagar-sc +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-nau8540 +snd-soc-nau8810 +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-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-rk3328 +snd-soc-rl6231 +snd-soc-rt1308-sdw +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +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-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-of +snd-sof-pci +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 +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +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 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink +synclink_gt +synclinkmp +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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 +tgr192 +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-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_fsl_elbc_gpcm +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_adc +vf610_dac +vfio_mdev +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_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_emac +xilinx_gmii2rgmii +xilinx_ps2 +xilinx_sdfec +xilinx_uartps +xillybus_core +xillybus_of +xillybus_pcie +xlnx_vcu +xor +xpad +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 +yealink +yellowfin +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/ppc64el/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/ppc64el/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/s390x/generic +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/s390x/generic @@ -0,0 +1,13067 @@ +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x05d9de98 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x73f47ae6 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x7811a918 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x8370a931 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xd2f04c0e crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xec1cb070 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x540afe95 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x5b74cb29 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xf1ff5ea9 crypto_sha3_init +EXPORT_SYMBOL crypto/sm3_generic 0x1870479c crypto_sm3_update +EXPORT_SYMBOL crypto/sm3_generic 0xe46caea0 crypto_sm3_finup +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 0x0188ea40 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01fa3278 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02c3fdb5 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03156232 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x031d8bd6 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0371bbf1 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03d67bf1 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04f87649 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x051ab41b drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05488a8f drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0640f7e8 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x066f6378 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07744a88 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x079f15fd drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x082aa9a6 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x092c5a07 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0951c357 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09b9e58c drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b2310c4 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bac91e9 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0a308 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0caa008b drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d491f2c drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9bda57 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0de712e3 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f0f456f drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f34440e drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f852145 drm_release_noglobal +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 0x109a7096 drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10a881b3 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10ea4383 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1161e9e0 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11cf8ff3 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x124db5c4 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x132e7bfe drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13f894d1 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1492ecc2 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15495f7d drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15903c3b drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15a71f3b drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1661060b drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x186255d5 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194f9b25 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19f02f30 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1acb4be2 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1add87f5 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af2e7e2 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cebe282 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1deabf95 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb32947 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eea49a4 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f05ec2e drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2155ff4d drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21e16639 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x233b5c21 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x237a618a drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25544740 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x258372c3 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2635f1d8 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x271f0a22 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2791953b drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27a23300 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2892461a __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28b7b31a drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a2f4386 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c04346f drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c9c61ca drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e01f73b drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e6db742 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f94cc00 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30567030 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x317093bd drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x320db068 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x326571b3 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35ff603b drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3719a3e7 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38804f60 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38ff2a5f drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x397f3ea7 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39a2955d drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a9b5a2f drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e53c4e7 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f1248a4 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4044262d drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x416cc95a drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41d31ba4 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41f84478 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x434c505e drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43a5c360 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44470275 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4483fafc drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4492d66d drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45618cf1 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x458d0d5b drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x466015a2 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x477ad44f drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49f5fbf7 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a887555 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bcfabe0 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c219acb drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d2ba6b0 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d71be12 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4de63e34 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e2785d7 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea0a849 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4eb5f944 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f225190 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x500523fb drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50cb1df8 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x512f934c drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51627498 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x525b8937 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x528045d4 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x539e1c5e drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5474a97a drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x556bd3a7 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x557c7045 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5624691e drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +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 0x5891f128 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58bf4377 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58d630e2 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x597cf319 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a1c11ea drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a4705ed drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ae086f5 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b728b89 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c3c8e80 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c3f9b48 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c92d892 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5da740e7 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dd2c0b1 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e0d81b8 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e462931 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f4c8274 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fd2544b drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x601b7190 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60b4e872 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62434654 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x631e4c1a drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66dcbdee drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6727b985 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x686204d9 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68caa623 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x691a765a drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x691c827c drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bebc650 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c23bb7c drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c57b185 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e1c8c28 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6eee4390 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f24d4ef drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f971764 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70e7768f drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71b12e16 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72198d6c drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73391980 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x736171d0 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74bc90a7 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76a48726 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x782e1577 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78cfa99f drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79b1d020 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ac8d34c drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7adab7d2 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bbd8c1b drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c5a9e09 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d9625eb drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e0ac1e1 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e690ec7 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f2a4961 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fbf652b drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x801b1537 drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80cb7249 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x811a2717 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82ab3c58 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82daf33f drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83ab8aa6 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83d29e55 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84c34d98 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8514203c drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85c91ad7 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85df5f22 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8749e662 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88a5d86e drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8953fac9 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a94d2fb drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b90f309 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bde45fb drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c3b66be drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c833541 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d308586 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d513863 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dcf5151 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ef10cfb drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ef69c92 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f747585 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ff3b4cc drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90249678 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90c5f32e drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9126b788 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9226a4ae drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x924cec1f drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92886ce5 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92a53230 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92bac714 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93a55fc0 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93aa7a0a drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94663fec drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94795ad1 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x952bf003 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x958dd56c drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95b7dadb drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95ce3ac0 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95ee0f60 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95f3f0bd drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96cad080 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x977ddaf1 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97d6cd3c drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9911b1ef drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x995b355a drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99e36703 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a0ab703 drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c679271 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d6fe312 drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ddcc177 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ea8fa60 drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ef7b1a2 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f19d914 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fcbc546 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fe8ac91 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1b4dea9 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa34271a8 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa34b4641 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3961b32 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa621ddb5 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6f02f7b drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6f217c5 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7fd9301 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa88df890 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8c08831 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9e08198 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa44e7f0 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa66beb4 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabebe054 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac05f3a7 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac2cd02c drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac41c175 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad501e3a drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaebfe803 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeea46b6 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafe51fea drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0a06a90 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0c9cc2c drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1cf5fbf drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1d14dfa drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1de3fe7 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3e8a44f drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5b381ce drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb60ce9f9 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb630415f drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8aefb68 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb93c9027 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9d79e03 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa4ed85 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcafdb3e drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd2b3a6d drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe75d426 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbea705c3 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeffeedb drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf1646ae drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0f10c8e drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc12c08a3 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1bb319d drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc26f7738 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc37540c0 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f52699 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5b11e7c drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6a8eb32 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f27f07 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9648bd4 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbeff73a drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce7952ed drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcebe7b16 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xced026a8 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf44cee6 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf5c1922 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf79091d drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd060df2e drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1570c30 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1a87d48 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1e3c9bd drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1f9798a drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2136f37 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd26ca35b drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd37210c4 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3d9398a drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5c8991d drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6e13e3e drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda47f990 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda795d33 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda9007ce drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdabe349d drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb2da5f7 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb110a6 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc252beb devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdda5c392 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde185ba8 drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde85bdcc __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xded08ee0 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdee0fb74 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf1ab6fc drm_connector_register +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 0xdf6c2f14 drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfeee127 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe147c400 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe28d31f8 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe48beb33 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe501c746 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe51cc416 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6616790 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6751518 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6b55b07 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe764788a __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7682f0e drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9286fa6 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeafd07a9 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb23c86c drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecceb655 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed4e8662 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed8e58e4 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeee247f9 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeee6028d drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef85c6c drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef8fcfe2 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefbe31f2 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0335ee6 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf041f5ad drm_property_replace_blob +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 0xf1c649d4 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1f6f032 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2450853 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf28161b7 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf33cac3d drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf37a23eb drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf37b323c drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3fa82fd drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf412f2ec __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf485c8a2 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5c08d89 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf76bf7a8 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7a78615 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83cc06a drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf94d564c drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa0a8b99 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa3f8754 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaae8207 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaee42ba drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb65bb11 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbc9d3c6 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbf09f2c drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc2cde77 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc994406 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfccb971d drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcd87870 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd0de52d drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd3600fb drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd60c2fe drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe6a9ee0 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe9b708f drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfea2552e drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff211ef5 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff889b90 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x012ef787 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x017b8dd4 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02119831 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0267a92a drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x04d12899 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05f06b01 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07b0ce25 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bd52230 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0df127fc drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e7e1453 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10a5a107 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1183ea98 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11c39b3c drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11f8f80d __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1274d6b3 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12e4aefc drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x131bee1e __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1498e16b drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1642eb61 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18135ff6 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x197bf290 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ca5f932 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2047296b drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x209add44 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21424201 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x245dd325 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x27a5e084 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x284f5b2b drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x29814b98 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a0d02be drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2aa43342 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b14c644 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c9d1178 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7c270c drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e679ff6 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2eb262e3 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f72528b drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fd126e3 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30d1b800 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30d1dad9 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31bd7b3e drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31d3c1d6 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3312e8f6 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3624da95 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37952404 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38e46397 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3aa7b073 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3cf32cba drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e644fe6 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3eb17b08 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f903bc0 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3fdf62b5 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40aa28a0 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40bcc000 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40f9fe82 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x410c9e7f drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41a8f112 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41dc85de drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43469b1c drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43ddc248 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4743b8d6 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a77e2bd drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ad26f1d drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4df93d12 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e538063 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53466d8e drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x565d9e74 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56a7408a drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5795bbbb drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5860af6a drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x588ea6e8 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59b9fc3e drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a00206a drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5b46ddc1 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5cb1dd1f drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ef8dda6 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f3bd00c drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fde7946 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62d4752a drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63a337ed drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x649f50eb drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x64bef60b drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65340cd3 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65a4095a drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66076feb drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x668af948 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67981958 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bfd666a drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c39c7cf drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c675b2f drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e1a904f drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e8cf0f5 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ed515a8 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72581f51 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72c3a66d drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x739ff43d drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7525994f drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x794b5887 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x798bfd21 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ba6aad9 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c987e2c __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8049ab64 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82e56af9 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8303366b drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x847973c8 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8550d18a drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86225713 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x878557ce drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a5b68a3 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b536bc9 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8cf8e377 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e50eac8 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e8ea459 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f67ea64 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x904adb39 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9377e7a2 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93b83af7 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93fbd075 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x943859a2 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x946a8562 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97937f1e drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9906c40e __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f237157 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa19c7b5d drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3fc1554 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4fe3708 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa522082e drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa53583e1 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5be1ec7 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8326a42 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac2732f9 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xafb119c5 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0ad65ec drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1f13aac drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3c7e32a drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb79f89c9 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb82b2df0 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb87848e7 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb97c8c34 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb98a9816 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9c7b38d drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb079417 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbcb51dc4 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbce5f4df __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd116c18 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd310422 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd97ecfc drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbde90658 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbf63ad10 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc005b5a9 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc254351b drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc549909e drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc54d93c8 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc63aed23 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc84d2c0a drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xca5d023e __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaa1aa6b drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbac6586 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd1f5704 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdabf273 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcec3a0c8 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd003a45c drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd06d01a7 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd0719708 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1c1e26e drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd46b84bf drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4e44e9f drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6c63564 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd96988a6 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda848a99 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda8a0cae drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb39fc98 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf05d985 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0fd223b drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1b6a0f8 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1fd356b drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe30d8ba7 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4ccb787 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe59ff439 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6087bdc drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb3e86bb drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec4a9f99 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed724873 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee6e8e25 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef5e7abb drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0765398 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf194a601 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2099a51 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2e293dd drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4d951ee drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4dc138c __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5991eae drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5d01ac7 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf76626f6 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7ca3dc7 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8fa814a drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf933c0ac drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfab39c6b drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfac8d257 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd6200fb drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd9361b7 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xa8732918 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xacff2eb7 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x121246cd drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x21d275c1 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2a7faf8a drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3952d6e4 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3c24965b drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3e1aba69 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4100eefc drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x41fb2732 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x432dc8b3 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6066cfad drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6bd8b701 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6e28193d drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7b8dfe9d drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7cb5dcd0 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x88e5d052 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb965ee2f drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd26cfdf5 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd4c99666 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xda31f621 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xef10bad4 drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfb7be314 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03072b09 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07e279ae ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0b2b6758 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0b354ea6 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0fe20036 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x165bee99 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x18abb1a9 ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19c7153a ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19e9a822 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x208503ef ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23453b70 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23ba47c3 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b186596 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3bb6c5bf ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3cfdd0b9 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3eebe30a ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x469aa5bf ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4720151b ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49da53c5 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e87adc8 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50e86cff ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50ead1d1 ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x538a7565 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x573845a6 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59ca1276 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f12cd04 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6131e259 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7270fee7 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x780af539 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7c37b05a ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x81b7e1f0 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83432939 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x87bddfaa ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8912555f ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8cfca670 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8dc1d604 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9005f56c ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x90eb460f ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96ab338b ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9ddd7433 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac0e50d1 ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xad8aa2fe ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaec81554 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xba8e5637 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbb0b22bd ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbb8a7b55 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc50233c0 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc0d3f6f ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5f89a28 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb18789f ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdb5f6c76 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdcd32c15 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe0152e87 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe458d7f0 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9f3f026 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeee1f1cb ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef3fd541 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf454151c ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf74ccd91 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9c50599 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xffca10fd ttm_tt_fini +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x2cee6fab i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x30b9845a i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x5f3ad4a7 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/i2c-core 0x0bab47bc i2c_get_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0x10d0d89c i2c_smbus_read_word_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x398765d8 i2c_add_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0x3d1c47eb i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x5383a4de __i2c_transfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0x55a65454 i2c_smbus_write_word_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x5f0f5dfa i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL drivers/i2c/i2c-core 0x6969ff09 i2c_register_driver +EXPORT_SYMBOL drivers/i2c/i2c-core 0x70c0e2a5 i2c_smbus_write_byte +EXPORT_SYMBOL drivers/i2c/i2c-core 0x80a092a6 i2c_verify_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0x83c846d3 i2c_smbus_write_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x842d00b0 i2c_smbus_write_byte_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x84dca649 i2c_del_driver +EXPORT_SYMBOL drivers/i2c/i2c-core 0x8e665308 i2c_smbus_read_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x8fe10075 i2c_verify_client +EXPORT_SYMBOL drivers/i2c/i2c-core 0x9893bb23 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x9a167e90 i2c_clients_command +EXPORT_SYMBOL drivers/i2c/i2c-core 0xa2f97f5f i2c_put_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0xacab5bf2 i2c_del_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0xbfebb8f4 __i2c_smbus_xfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0xead51240 i2c_transfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0xef0bd3b3 i2c_smbus_read_byte +EXPORT_SYMBOL drivers/i2c/i2c-core 0xf266f619 i2c_transfer_buffer_flags +EXPORT_SYMBOL drivers/i2c/i2c-core 0xfc247367 i2c_smbus_read_byte_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0xff9d667a i2c_smbus_xfer +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x03ac7a4f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x08863503 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0b7573e0 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0c241e91 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x14993080 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x18a55d89 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x225179e0 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x34ac8cf8 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5b505e85 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x60e31eca ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x727c3184 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8afb370c ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xabff492e ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc3e9613b ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcb9ed786 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd755f3b4 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00d55b5c ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x010718a6 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0243bd71 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02492273 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x063a14b7 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06cba92d ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07acf425 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b8230b9 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b8c7301 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0bbe2c1f ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d2ffa64 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x125368e4 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x164692a7 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18131169 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x196c8d0b rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a3808e7 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c21a8d3 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e751553 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x216db155 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21873ace ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22d835cd rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23a7d8b9 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2775de18 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28b5e0d1 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2924ff87 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a2ddb6b ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a584be8 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c289ba0 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cf4c011 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d13db34 __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2dc4deef ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f2ae6e4 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30e2b782 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x324f7bcd rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3295cd9b rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34312885 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3743ed30 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37e561de ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x389cedb7 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x38a43b02 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x396fed68 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39e2eef6 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a5d3100 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3aaba2fc ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b20e6b3 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c1aeae1 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d06a42a ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d7fd591 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f3280f9 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f4a4b87 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x414c35d2 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x430bcccb ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439a0176 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46b4c150 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x470f5977 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49599b9b ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ca6432f ib_get_cached_lmc +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 0x4f2319ae rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50430a59 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52115b7a ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5279faa7 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5550b464 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56778453 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5723261b ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x579138ca rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57ddd408 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59c21420 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d779d3d rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ee7c68a ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f41ea35 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fd83c5a ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6018f7af ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6108c4cf ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x618e6aa1 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65658c42 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65a0202b rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65b92b02 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6602fb1c rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66ef8634 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6723d9a8 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d4f3993 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f9abe17 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fc7d279 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7119b438 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7222645e ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x731c3ab7 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7445ed4a ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75d96b3d ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76fdf0bc rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78dee019 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7973a4f8 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7dba28f4 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7dbfcd2a ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e361367 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7eaedfbc ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ee0a713 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x820b0fd9 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85642ffc rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85d37a4a rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86165cce ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86f2a2d4 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87ecfd49 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8989b3db rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a3b84bc ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b959cc7 ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c143c36 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8eff28b0 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90c41367 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91f287fd ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9398f9db ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9431fce7 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9458d67d ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95d9967f rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x981c2c94 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99b52445 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b1d39d7 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bf225ee __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bf62fac rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9de68c36 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9dffc216 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f51e05e rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1cfcdf1 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa27db9c2 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa38002e8 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4552e8d ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa66b44a4 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9126e46 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaef26479 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb000d631 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb18dfe53 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2f0fa2e rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb55b70ea ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7818652 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8556322 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9432f41 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc14058d rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd160f8e ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd26bfc0 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd83ff3a ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbfdb7758 ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0176be9 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc08b2bfc rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2bb8406 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc30a788e ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7084768 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8270256 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc84eca51 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc98dd9d0 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc77dd19 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcda6e4c1 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce027e07 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf0410dd ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2ecd031 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3e961f3 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4804d51 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdba2ae35 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc3435ec ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddae83a2 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdec3d708 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf821582 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf9d9032 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0c3c416 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe15e4946 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2ae420c rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe37433f1 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3fa8028 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe491fc75 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4cc2939 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe56a372c rdma_nl_put_driver_string +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 0xe9343241 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe96fe783 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9ceb556 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb457354 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebb26f2b ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed439d30 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed6fa854 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf04ef0e1 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1589091 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf440c7ed ibdev_printk +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 0xf8e3dda8 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf94e7215 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb7b8868 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbdc3618 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd45d652 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdc204af rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe53795d ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff86a90f ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffe88eb5 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x00db16e0 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0a96d123 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x105242f2 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1888e250 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1ea2d33e uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x31d6edc1 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4463f11e uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4ece0096 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4ecf2d2b flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x591a205a flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6cca5d49 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7c21a327 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7f08c401 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x96382a65 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa41ffb8a ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xadb25b40 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb0ad20e2 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcc486416 ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd179b1da ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd5fa2c2d uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd7d0d9fe ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdb1a69f6 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe25692a6 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe33e947d ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeb7f3ff4 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xedea1a27 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xee9d0648 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeed330d1 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1743771f iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1d708f9d iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1eeb0046 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3d90fae6 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x683c01e5 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x99137887 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9f45df55 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb802ae71 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0ecceb35 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1571c700 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x281b12d3 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3128e8ba rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x34787c2a rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3b437727 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c348ccb __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3d529675 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3fd32d2b rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4cac5990 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x53e0b5b3 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x57189355 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5c8e4430 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x63cfd20c rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x683fa457 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x79d1c679 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x876386ab __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8944577e rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9008d231 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb8354985 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbb79e856 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc130434a rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc7302953 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc800af3f rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcd8c0b7c rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcede7d0b rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd54c83a5 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd56bacab rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf38b721a rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x13be82c6 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x18aa37e7 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x229ca706 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x45a9b68a rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd833e890 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe00b1eae rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x27dafaa9 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x486d0690 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x517444d6 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x99b7caed sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xc28750dd rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xc41b96c2 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x19d36b55 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5d2bf321 rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7823299c rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x93f8f0e3 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xaaa67fd8 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xf31ba394 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/md/dm-log 0x53bde653 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x92c25a70 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x9e5d8111 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xbe033564 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x13a5ece6 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3785b6c3 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6ebd6e32 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x76370d58 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8bb19cc5 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe76ee176 dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x7b7c87e0 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0xfcee6283 r5c_journal_mode_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ad5c9c6 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11595209 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b420316 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x22c80089 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b5e9ad4 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x310a3762 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35ed8b2f mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a643da3 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ce02b21 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d11f28f mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x422b3cd0 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x48636660 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4df86c2c mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x529e9445 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x551a35b5 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56535110 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x566a5cf1 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x630933e5 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6bd96d10 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c5d48fe mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71c6fec7 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7771481a mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fbe09f2 mlx4_gen_port_state_change_eqe +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 0x83095851 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8450aece mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bfa3cb2 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x945628ef mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d0e4f21 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab191a24 mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaea6bace mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc591a15e mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf12532f mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6bd73c0 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcd91cf9 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe365ce8e get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4c72965 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe863669c mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9c07bfc mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xecb74d3b mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef52e5ed set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf114c912 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1293e82 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1488b88 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf90036c1 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0159cf61 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05527e77 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x094496f4 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b4c3063 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c19d964 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ec1e70b mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13ef527e mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15dc00f2 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1618a0ea mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18d340f1 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a57f850 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ae760cb mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d021a07 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1eae570a mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22f16e09 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23e56c31 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x244eebbc mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25c6d0f2 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x267d21f2 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27fa4d63 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x288e3bc6 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2987d571 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e6f527e mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3158a051 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3238e748 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32705594 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3324f2c1 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33ce347c mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33dbe6ba mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x357f06b6 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36efaade mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37651b47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x387847f9 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e960390 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fcae7f5 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ffab240 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40ea03a1 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x41feac54 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46150cf1 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49379455 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x512f1682 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53c509e2 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x540de620 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x558d28f8 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b5e2366 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c7d9a85 mlx5_core_query_sq +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 0x645cedd9 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64c90a23 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6904613b mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69ee7038 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b6c4c07 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d3c3525 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e6d6b1b mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f3184a0 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x706c2cca mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x740d0057 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76c09ce6 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76ea4cc1 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78222921 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x832e90b7 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86365f14 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86ecc2e2 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87a25e22 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88cd8e91 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88e3b6b4 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89126717 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8df62b78 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eeefaa0 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91c7deaa mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95415b66 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96607259 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96b2ca03 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97681b6d mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x99f6d2e4 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9cf6ab63 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e2462e7 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fb9a915 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7a84f04 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa99debbb mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9f2fee4 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9ea383 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaed48be0 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0406cb1 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2075576 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3d5b147 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5defa26 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6e61536 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba667046 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbd7373f mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd1c863e mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3fd04d8 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc45ea82c mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5967d77 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7beebe5 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7ef4e2e mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc91a9240 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc92bc1fa mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcad11296 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1935fa0 mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1dd5eec mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3ba492f mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5755f04 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6a8d15e mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd863cf26 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbda7d20 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfa97e45 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0e587e2 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe122fe4e mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe201cbc7 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2884faf mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4aaa2fa mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6c4bfb4 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9d1c343 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed0573a7 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef01bb32 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef525ffa mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3c59c75 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3e7e7cd mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf573225a mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb21a7fd mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfdb58f16 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfdec24de mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xffe6a7f1 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xa16761c9 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 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 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1b58ed4d mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x251ac25b mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x25fd07d6 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x32d06fc7 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e2424ee mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4f0f8f25 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5505463c mlxsw_core_ptp_transmitted +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77917cb5 mlxsw_core_rx_listener_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 0x7b9929d6 mlxsw_core_port_eth_set +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 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 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x919e7d04 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97c23e1d mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97c5460e mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9a8bd526 mlxsw_core_driver_register +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 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfaee829 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9e3ebd9 mlxsw_core_trap_state_set +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xddeb591c mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde5164a8 mlxsw_core_trap_unregister +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 0xdeff4950 mlxsw_core_event_listener_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 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xa5df0ccb mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xda876084 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x8fde775f bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/libphy 0x016d40ec genphy_read_abilities +EXPORT_SYMBOL drivers/net/phy/libphy 0x018ac84f phy_attached_info_irq +EXPORT_SYMBOL drivers/net/phy/libphy 0x05bf6717 phy_device_remove +EXPORT_SYMBOL drivers/net/phy/libphy 0x06bf7834 phy_remove_link_mode +EXPORT_SYMBOL drivers/net/phy/libphy 0x0957c35c phy_ethtool_get_wol +EXPORT_SYMBOL drivers/net/phy/libphy 0x09594cc0 phy_modify_paged +EXPORT_SYMBOL drivers/net/phy/libphy 0x0aa4ad67 phy_driver_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x1211be64 phy_drivers_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x1216ae87 phy_connect_direct +EXPORT_SYMBOL drivers/net/phy/libphy 0x14af23d3 phy_init_eee +EXPORT_SYMBOL drivers/net/phy/libphy 0x1c73c998 phy_register_fixup_for_uid +EXPORT_SYMBOL drivers/net/phy/libphy 0x1f129a28 phy_register_fixup +EXPORT_SYMBOL drivers/net/phy/libphy 0x218a14b4 genphy_restart_aneg +EXPORT_SYMBOL drivers/net/phy/libphy 0x25205321 genphy_read_status +EXPORT_SYMBOL drivers/net/phy/libphy 0x29cc339d phy_ethtool_ksettings_get +EXPORT_SYMBOL drivers/net/phy/libphy 0x2e4ab7aa mdio_device_free +EXPORT_SYMBOL drivers/net/phy/libphy 0x2eb607b8 mdiobus_write +EXPORT_SYMBOL drivers/net/phy/libphy 0x32a1c0bf phy_start_aneg +EXPORT_SYMBOL drivers/net/phy/libphy 0x3556798d genphy_resume +EXPORT_SYMBOL drivers/net/phy/libphy 0x389c66bb phy_queue_state_machine +EXPORT_SYMBOL drivers/net/phy/libphy 0x38ea11bf phy_set_asym_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL drivers/net/phy/libphy 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL drivers/net/phy/libphy 0x41c4e010 phy_find_first +EXPORT_SYMBOL drivers/net/phy/libphy 0x442c83fd genphy_suspend +EXPORT_SYMBOL drivers/net/phy/libphy 0x4519dbb3 __mdiobus_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x48382716 __phy_read_mmd +EXPORT_SYMBOL drivers/net/phy/libphy 0x488525da phy_attach +EXPORT_SYMBOL drivers/net/phy/libphy 0x48cf17f2 genphy_loopback +EXPORT_SYMBOL drivers/net/phy/libphy 0x48dcbec6 phy_connect +EXPORT_SYMBOL drivers/net/phy/libphy 0x492d0d8d __phy_resume +EXPORT_SYMBOL drivers/net/phy/libphy 0x4aed67ef genphy_read_status_fixed +EXPORT_SYMBOL drivers/net/phy/libphy 0x4c4ac984 phy_device_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x4d6a6075 phy_do_ioctl +EXPORT_SYMBOL drivers/net/phy/libphy 0x4db56266 genphy_soft_reset +EXPORT_SYMBOL drivers/net/phy/libphy 0x56376d0d phy_print_status +EXPORT_SYMBOL drivers/net/phy/libphy 0x57d0e426 phy_attached_info +EXPORT_SYMBOL drivers/net/phy/libphy 0x58921679 phy_ethtool_nway_reset +EXPORT_SYMBOL drivers/net/phy/libphy 0x59be792d genphy_aneg_done +EXPORT_SYMBOL drivers/net/phy/libphy 0x5eecf984 mdio_driver_unregister +EXPORT_SYMBOL drivers/net/phy/libphy 0x62063987 phy_support_sym_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0x6994289c phy_advertise_supported +EXPORT_SYMBOL drivers/net/phy/libphy 0x6b190926 phy_set_max_speed +EXPORT_SYMBOL drivers/net/phy/libphy 0x6f77c15c mdiobus_read +EXPORT_SYMBOL drivers/net/phy/libphy 0x71a4529a mdiobus_is_registered_device +EXPORT_SYMBOL drivers/net/phy/libphy 0x71a5ad20 phy_read_paged +EXPORT_SYMBOL drivers/net/phy/libphy 0x7298bb8e mdio_driver_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x770d1532 mdio_find_bus +EXPORT_SYMBOL drivers/net/phy/libphy 0x77cded7c mdiobus_scan +EXPORT_SYMBOL drivers/net/phy/libphy 0x788054d2 genphy_config_eee_advert +EXPORT_SYMBOL drivers/net/phy/libphy 0x7ad736c2 mdio_device_create +EXPORT_SYMBOL drivers/net/phy/libphy 0x7b464edc phy_reset_after_clk_enable +EXPORT_SYMBOL drivers/net/phy/libphy 0x7e2524ec mdiobus_read_nested +EXPORT_SYMBOL drivers/net/phy/libphy 0x801274d9 mdio_device_register +EXPORT_SYMBOL drivers/net/phy/libphy 0x81727d87 genphy_write_mmd_unsupported +EXPORT_SYMBOL drivers/net/phy/libphy 0x8223d047 phy_register_fixup_for_id +EXPORT_SYMBOL drivers/net/phy/libphy 0x8246068a phy_support_asym_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0x8437a841 genphy_read_lpa +EXPORT_SYMBOL drivers/net/phy/libphy 0x86f6b948 mdiobus_unregister_device +EXPORT_SYMBOL drivers/net/phy/libphy 0x8a07bc31 phy_get_eee_err +EXPORT_SYMBOL drivers/net/phy/libphy 0x90e1b26c phy_get_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0x91f72745 phy_ethtool_set_eee +EXPORT_SYMBOL drivers/net/phy/libphy 0x956c17e4 genphy_c37_config_aneg +EXPORT_SYMBOL drivers/net/phy/libphy 0x9690a162 mdiobus_free +EXPORT_SYMBOL drivers/net/phy/libphy 0x976c4b1e phy_ethtool_ksettings_set +EXPORT_SYMBOL drivers/net/phy/libphy 0x9c9692de mdiobus_unregister +EXPORT_SYMBOL drivers/net/phy/libphy 0x9cf21f29 phy_mac_interrupt +EXPORT_SYMBOL drivers/net/phy/libphy 0x9f8e6ab3 genphy_setup_forced +EXPORT_SYMBOL drivers/net/phy/libphy 0x9fa07cec mdio_device_reset +EXPORT_SYMBOL drivers/net/phy/libphy 0x9fb2e442 mdiobus_write_nested +EXPORT_SYMBOL drivers/net/phy/libphy 0xa2ede7f5 phy_set_sym_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0xa32d2348 phy_aneg_done +EXPORT_SYMBOL drivers/net/phy/libphy 0xa410df2b phy_drivers_unregister +EXPORT_SYMBOL drivers/net/phy/libphy 0xa704b076 phy_attached_print +EXPORT_SYMBOL drivers/net/phy/libphy 0xa88ffab6 mdiobus_get_phy +EXPORT_SYMBOL drivers/net/phy/libphy 0xa950bdb6 mdiobus_alloc_size +EXPORT_SYMBOL drivers/net/phy/libphy 0xac62071a __phy_write_mmd +EXPORT_SYMBOL drivers/net/phy/libphy 0xad1f90a2 phy_driver_unregister +EXPORT_SYMBOL drivers/net/phy/libphy 0xaf0ef602 get_phy_device +EXPORT_SYMBOL drivers/net/phy/libphy 0xaf9099cd phy_loopback +EXPORT_SYMBOL drivers/net/phy/libphy 0xb2563e18 phy_suspend +EXPORT_SYMBOL drivers/net/phy/libphy 0xb2ee62a2 phy_mii_ioctl +EXPORT_SYMBOL drivers/net/phy/libphy 0xb668994b mdio_bus_type +EXPORT_SYMBOL drivers/net/phy/libphy 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL drivers/net/phy/libphy 0xb6f23853 phy_disconnect +EXPORT_SYMBOL drivers/net/phy/libphy 0xb7c9a79a genphy_c37_read_status +EXPORT_SYMBOL drivers/net/phy/libphy 0xbb58cd8e phy_read_mmd +EXPORT_SYMBOL drivers/net/phy/libphy 0xbc292503 phy_start_cable_test +EXPORT_SYMBOL drivers/net/phy/libphy 0xbe1b952e phy_init_hw +EXPORT_SYMBOL drivers/net/phy/libphy 0xc1760650 phy_ethtool_set_wol +EXPORT_SYMBOL drivers/net/phy/libphy 0xc2f25c15 mdiobus_register_device +EXPORT_SYMBOL drivers/net/phy/libphy 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL drivers/net/phy/libphy 0xca7bc9a1 phy_write_mmd +EXPORT_SYMBOL drivers/net/phy/libphy 0xcc8c3dd5 phy_start_cable_test_tdr +EXPORT_SYMBOL drivers/net/phy/libphy 0xcfe6925e phy_ethtool_get_eee +EXPORT_SYMBOL drivers/net/phy/libphy 0xd2ad86d4 phy_device_free +EXPORT_SYMBOL drivers/net/phy/libphy 0xd62076b9 phy_modify_paged_changed +EXPORT_SYMBOL drivers/net/phy/libphy 0xd7130129 phy_start +EXPORT_SYMBOL drivers/net/phy/libphy 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL drivers/net/phy/libphy 0xdcc636b6 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/phy/libphy 0xde98e284 genphy_check_and_restart_aneg +EXPORT_SYMBOL drivers/net/phy/libphy 0xdef2b972 phy_free_interrupt +EXPORT_SYMBOL drivers/net/phy/libphy 0xe0a37893 phy_do_ioctl_running +EXPORT_SYMBOL drivers/net/phy/libphy 0xe5047e3a phy_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/phy/libphy 0xe6631ae5 phy_detach +EXPORT_SYMBOL drivers/net/phy/libphy 0xe9ac5d8f phy_validate_pause +EXPORT_SYMBOL drivers/net/phy/libphy 0xea6c1628 phy_stop +EXPORT_SYMBOL drivers/net/phy/libphy 0xeb748cc9 phy_sfp_probe +EXPORT_SYMBOL drivers/net/phy/libphy 0xebc2f4a7 phy_write_paged +EXPORT_SYMBOL drivers/net/phy/libphy 0xf279c8b6 phy_attach_direct +EXPORT_SYMBOL drivers/net/phy/libphy 0xf49e60ee genphy_read_mmd_unsupported +EXPORT_SYMBOL drivers/net/phy/libphy 0xf563a6f0 phy_device_create +EXPORT_SYMBOL drivers/net/phy/libphy 0xf59c8de9 __genphy_config_aneg +EXPORT_SYMBOL drivers/net/phy/libphy 0xf6580ba2 phy_request_interrupt +EXPORT_SYMBOL drivers/net/phy/libphy 0xf6cdc758 phy_resume +EXPORT_SYMBOL drivers/net/phy/libphy 0xf948fd3e genphy_update_link +EXPORT_SYMBOL drivers/net/phy/libphy 0xfdb5ea73 __mdiobus_read +EXPORT_SYMBOL drivers/net/phy/libphy 0xfeb429ac __mdiobus_write +EXPORT_SYMBOL drivers/net/phy/libphy 0xfff03ea9 mdio_device_remove +EXPORT_SYMBOL drivers/net/team/team 0x089e5004 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x0d7cb202 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x277d236f team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x515974a3 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x81762ba9 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x9482acfb team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x9e825bda team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xd510c04f team_options_register +EXPORT_SYMBOL drivers/pps/pps_core 0x2da426aa pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x95f29f82 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xd47938fc pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0xfcd68ea9 pps_unregister_source +EXPORT_SYMBOL drivers/ptp/ptp 0x110ee671 ptp_find_pin_unlocked +EXPORT_SYMBOL drivers/ptp/ptp 0x20b81fab ptp_schedule_worker +EXPORT_SYMBOL drivers/ptp/ptp 0x7b36320d ptp_cancel_worker_sync +EXPORT_SYMBOL drivers/ptp/ptp 0x7c3f38a6 ptp_find_pin +EXPORT_SYMBOL drivers/ptp/ptp 0x973039cf ptp_clock_index +EXPORT_SYMBOL drivers/ptp/ptp 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL drivers/ptp/ptp 0xbce3b1a1 ptp_clock_unregister +EXPORT_SYMBOL drivers/ptp/ptp 0xe6f3c5a6 ptp_clock_event +EXPORT_SYMBOL drivers/ptp/ptp 0xf00f4fdd ptp_clock_register +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x14dfedd6 dasd_schedule_requeue +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x2178faec dasd_eer_write +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x266946a1 dasd_free_erp_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x3618a3c7 dasd_sleep_on_immediatly +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x3719310f dasd_default_erp_postaction +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x459474d6 dasd_ffree_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x4c930707 dasd_debug_area +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x50087203 dasd_sfree_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x50f8c1a5 dasd_smalloc_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x66a4ddd7 dasd_add_request_tail +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x6cc86193 dasd_enable_device +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x6e1d67f1 dasd_sleep_on_interruptible +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x706038d5 dasd_alloc_erp_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x7582a8ce dasd_start_IO +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x7c058ad5 dasd_schedule_block_bh +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x836b753b dasd_int_handler +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xa425b241 dasd_device_set_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xa67e141d dasd_log_sense +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xaa306209 dasd_diag_discipline_pointer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xad25860b dasd_block_clear_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xadc2c002 dasd_add_request_head +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb4dcb5de dasd_sleep_on_queue +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb509733c dasd_default_erp_action +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb78e80de dasd_kick_device +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb8d0ce5f dasd_set_feature +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb928a350 dasd_sleep_on +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xc134caac dasd_sleep_on_queue_interruptible +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xd17795dc dasd_set_target_state +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xd66b7f8b dasd_device_clear_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xd9d86bf0 dasd_fmalloc_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xe4295c65 dasd_reload_device +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xe62b597e dasd_block_set_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xf200896a dasd_log_sense_dbf +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xf872037e dasd_term_IO +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xfcb2d973 dasd_schedule_device_bh +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 0x02f929c9 tape_free_request +EXPORT_SYMBOL drivers/s390/char/tape 0x0bb537e2 tape_std_mtcompression +EXPORT_SYMBOL drivers/s390/char/tape 0x15ac8bc2 tape_med_state_set +EXPORT_SYMBOL drivers/s390/char/tape 0x16b24ead tape_generic_online +EXPORT_SYMBOL drivers/s390/char/tape 0x1df19bcd tape_core_dbf +EXPORT_SYMBOL drivers/s390/char/tape 0x1f5c8357 tape_std_mtreset +EXPORT_SYMBOL drivers/s390/char/tape 0x2434e3d0 tape_std_mtoffl +EXPORT_SYMBOL drivers/s390/char/tape 0x2546c415 tape_state_verbose +EXPORT_SYMBOL drivers/s390/char/tape 0x254cd57c tape_do_io_interruptible +EXPORT_SYMBOL drivers/s390/char/tape 0x26472fd6 tape_std_mterase +EXPORT_SYMBOL drivers/s390/char/tape 0x32710217 tape_cancel_io +EXPORT_SYMBOL drivers/s390/char/tape 0x3a362604 tape_std_mtrew +EXPORT_SYMBOL drivers/s390/char/tape 0x3bb65c7f tape_put_device +EXPORT_SYMBOL drivers/s390/char/tape 0x40be15f1 tape_std_read_block +EXPORT_SYMBOL drivers/s390/char/tape 0x4a542693 tape_std_process_eov +EXPORT_SYMBOL drivers/s390/char/tape 0x4ad80ab7 tape_dump_sense_dbf +EXPORT_SYMBOL drivers/s390/char/tape 0x50e12315 tape_do_io_async +EXPORT_SYMBOL drivers/s390/char/tape 0x5994e53c tape_std_mtsetblk +EXPORT_SYMBOL drivers/s390/char/tape 0x5a51a9e9 tape_std_mtbsr +EXPORT_SYMBOL drivers/s390/char/tape 0x5e20c049 tape_std_mtweof +EXPORT_SYMBOL drivers/s390/char/tape 0x66deb66c tape_op_verbose +EXPORT_SYMBOL drivers/s390/char/tape 0x69307e81 tape_mtop +EXPORT_SYMBOL drivers/s390/char/tape 0x6adbcae0 tape_std_mtfsfm +EXPORT_SYMBOL drivers/s390/char/tape 0x6cf2131b tape_std_mtunload +EXPORT_SYMBOL drivers/s390/char/tape 0x6ebb0327 tape_std_mtbsfm +EXPORT_SYMBOL drivers/s390/char/tape 0x7a4d3510 tape_std_mtfsf +EXPORT_SYMBOL drivers/s390/char/tape 0x7dc0bd68 tape_do_io +EXPORT_SYMBOL drivers/s390/char/tape 0x85ebe493 tape_std_assign +EXPORT_SYMBOL drivers/s390/char/tape 0x94201e73 tape_generic_probe +EXPORT_SYMBOL drivers/s390/char/tape 0x998704e1 tape_get_device +EXPORT_SYMBOL drivers/s390/char/tape 0x9aff1bff tape_std_mtreten +EXPORT_SYMBOL drivers/s390/char/tape 0x9bd2d5ef tape_std_read_block_id +EXPORT_SYMBOL drivers/s390/char/tape 0xa15bcd4c tape_std_read_backward +EXPORT_SYMBOL drivers/s390/char/tape 0xac512fb6 tape_std_display +EXPORT_SYMBOL drivers/s390/char/tape 0xaf50fc40 tape_generic_offline +EXPORT_SYMBOL drivers/s390/char/tape 0xb011b2a6 tape_std_mteom +EXPORT_SYMBOL drivers/s390/char/tape 0xc1a2e796 tape_std_mtbsf +EXPORT_SYMBOL drivers/s390/char/tape 0xc67e1fca tape_std_unassign +EXPORT_SYMBOL drivers/s390/char/tape 0xc6d9f595 tape_state_set +EXPORT_SYMBOL drivers/s390/char/tape 0xd2ce15ac tape_std_mtnop +EXPORT_SYMBOL drivers/s390/char/tape 0xd5eb3996 tape_generic_remove +EXPORT_SYMBOL drivers/s390/char/tape 0xe190295f tape_alloc_request +EXPORT_SYMBOL drivers/s390/char/tape 0xe1be7b6f tape_std_mtfsr +EXPORT_SYMBOL drivers/s390/char/tape 0xe757bff5 tape_std_mtload +EXPORT_SYMBOL drivers/s390/char/tape 0xed2b6e00 tape_generic_pm_suspend +EXPORT_SYMBOL drivers/s390/char/tape 0xf67531e2 tape_std_write_block +EXPORT_SYMBOL drivers/s390/char/tape_34xx 0x0afff710 tape_34xx_dbf +EXPORT_SYMBOL drivers/s390/char/tape_3590 0xc7220142 tape_3590_dbf +EXPORT_SYMBOL drivers/s390/char/tape_class 0x7b05a59c unregister_tape_dev +EXPORT_SYMBOL drivers/s390/char/tape_class 0xe2cac2a6 register_tape_dev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x2b98e820 ccwgroup_driver_unregister +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x51bc7cce dev_is_ccwgroup +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x6e940af8 ccwgroup_set_online +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x711b66d3 ccwgroup_remove_ccwdev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xa2f5734b ccwgroup_create_dev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xa3e36e44 ccwgroup_driver_register +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xbed5263e ccwgroup_set_offline +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xfb92958e ccwgroup_probe_ccwdev +EXPORT_SYMBOL drivers/s390/cio/qdio 0xa88c3547 qdio_stop_irq +EXPORT_SYMBOL drivers/s390/cio/qdio 0xe8c21a1e qdio_start_irq +EXPORT_SYMBOL drivers/s390/cio/qdio 0xf6cf7523 qdio_get_next_buffers +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x7b591170 __tracepoint_vfio_ccw_fsm_async_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x907b9e79 __tracepoint_vfio_ccw_chp_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xbf79ad6b __tracepoint_vfio_ccw_fsm_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xf32da969 __tracepoint_vfio_ccw_fsm_io_request +EXPORT_SYMBOL drivers/s390/crypto/pkey 0xa2396123 pkey_keyblob2pkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x00eb74c9 zcrypt_card_register +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x08b04192 zcrypt_card_get +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x0f717bb5 cca_check_secaescipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x170d6b33 cca_sec2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x274ee02a ep11_findcard2 +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x29e3efc3 zcrypt_card_alloc +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x2be1f6aa ep11_key2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x2dc30fe9 cca_findcard +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x352cc760 zcrypt_queue_free +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x47c5a451 cca_findcard2 +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x4aad03c0 cca_gencipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x4bb8a363 __tracepoint_s390_zcrypt_rep +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x52a39222 __tracepoint_s390_zcrypt_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x541ff4d8 zcrypt_card_unregister +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x575e33fd zcrypt_card_free +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x5e050fdf cca_genseckey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x5eaa99ae zcrypt_send_cprb +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x62592073 zcrypt_queue_alloc +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x63dd2934 cca_check_secaeskeytoken +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x67cedaeb zcrypt_rescan_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x7bc17f20 zcrypt_queue_unregister +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x7dd52fc2 ep11_clr2keyblob +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x9032dd84 zcrypt_device_status_mask_ext +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x97698502 zcrypt_card_put +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x9992a66f cca_clr2seckey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xa54284be zcrypt_device_status_ext +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xaa82960b zcrypt_queue_put +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xb09baf07 zcrypt_queue_get +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xb282926b cca_get_info +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 0xc5b9f9e2 zcrypt_msgtype +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc6a8cdd0 ep11_check_aeskeyblob +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xd38f8d8e zcrypt_queue_register +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xea54d73e cca_clr2cipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xee077284 ep11_get_card_info +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xfa128312 zcrypt_send_ep11_cprb +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 0x28d3cbe9 fsm_settimer +EXPORT_SYMBOL drivers/s390/net/fsm 0x30ab97c9 fsm_modtimer +EXPORT_SYMBOL drivers/s390/net/fsm 0x39209ed5 kfree_fsm +EXPORT_SYMBOL drivers/s390/net/fsm 0x4947f4b3 fsm_deltimer +EXPORT_SYMBOL drivers/s390/net/fsm 0x5bbdc3d4 init_fsm +EXPORT_SYMBOL drivers/s390/net/fsm 0x75223679 fsm_getstate_str +EXPORT_SYMBOL drivers/s390/net/fsm 0xe8ae8e7a fsm_addtimer +EXPORT_SYMBOL drivers/s390/net/qeth_l2 0x00f8c225 qeth_osn_deregister +EXPORT_SYMBOL drivers/s390/net/qeth_l2 0x2c8aa944 qeth_osn_register +EXPORT_SYMBOL drivers/s390/net/qeth_l2 0xa053dad2 qeth_osn_assist +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x086cb7de fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0c0bfe21 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0f5a7d82 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0fe0e0cd fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1f5ff9b8 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x23c6d285 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3d6094e9 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x48db291d fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xace654e4 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb777a776 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdc9e15b5 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x004a2da1 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01e107f8 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0244fa5c fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x05179247 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x07e96c7c fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x08bc9215 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1a1b1f95 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x205e0244 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x24bcc3dc fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25c2aad5 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x26587edb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32182385 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38f8bbec fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40decabc fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x42685297 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43f764f0 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4af4bbf9 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52fca8b7 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x550cdb07 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5975a2b5 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b8de9cd fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6361282f fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x682d2e71 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7381c80c fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x74f838f4 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75758b6b fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x76c62d1b fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78d87dd8 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cd064d1 libfc_vport_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 0x848f64bf fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8bf9e80d fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96b09ecd fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9bb9d8bb fc_rport_terminate_io +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa5692625 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf65b549 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb2589305 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb5298491 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbae5b1e3 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbd5e0148 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbda9e432 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbde621fc fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf991c2f fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc42feb2f fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd2f959f2 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd6176f71 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd72a9242 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdb315f85 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdfb1f54d _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe2d8d473 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe53af28a fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1425430 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf18645f8 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf9aaead1 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x15f0359b sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb3265331 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xcc081c4d sas_resume_ha +EXPORT_SYMBOL drivers/scsi/raid_class 0x3a4f1d1d raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x7f109268 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xf1d6c84b raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0717da21 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0cfb90eb fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x48902afd fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x520e1d33 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6a6848da fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7201ee1b fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x94db1349 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xad36e581 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xad60f3f7 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb13bdacd fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb5577171 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb8f1a501 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd33010f6 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xde9c5e5d fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe6768f69 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf17761e0 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x06d2e54d sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0f322d05 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1177b51c sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1a91a1c0 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1d0ab4f6 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x26f70355 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2e62eb9b sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x32a9fd1a sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x361cde44 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x411cfe06 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x446e8e63 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x52bde030 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x56a5b85b sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5706b46f sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5cbdbf24 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5deb081e sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x691ab421 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6a5149be sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x86b476fe sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94663edf sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6e99853 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa77a661e sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xae3a647e sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xba644526 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc2185d48 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc2bf9ebd sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc40c254f sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc8b3c104 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf5285d01 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0afd1c0f spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x31b96aa2 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x649352d7 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xbf5188b5 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd7e9a0b4 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x35ad2319 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x3bea643b srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x3c221ef3 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xc2099166 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xf7a53317 srp_rport_put +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x00531fb8 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x016d9201 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0c004e5e iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0c8ae621 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1280a006 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x16b1a5bf iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1a342574 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1bc13b54 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x26617b39 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x435d2f4a iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4660b07c iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x536c7ab4 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x557260d4 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x602ca2d6 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x615ec593 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6544bcdc iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x65570b99 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x663d6719 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6c2918f7 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6ee18f66 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x75ed3c47 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x778265a0 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x79be3799 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7c054762 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x81976b1a iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8810b954 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x91ffb72b iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9717cd23 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x99f5966e iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa980c96f iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xabc8cfaa iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xad2c9840 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb470e7b4 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc086ee61 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc1744e82 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd7626436 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe2414b8b iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe2c147e7 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe352a1c1 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe856333b 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 0xf387c27e iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf6a1aea3 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfb296787 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfee825ae iscsit_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x00f0f37d sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x01006e53 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x02f9dbf5 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x0596367c transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x05e7bd02 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0a412449 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x0ac23264 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x0fba2cda target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x0ff9c86f sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x107d32f6 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x11bf24b9 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x13c9c1ec core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x13e01f75 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x16c6b464 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x18cf1bb1 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x1feaed2f core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x21bcdf93 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x2763088c target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b604f91 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x2f84e2e4 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x3459a0eb target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3aa85340 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x3d8a2b6d target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x43d01423 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x447af744 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x4529162b target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x46525064 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x480187bd core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x4955b936 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x559c2ef4 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x55dfedad passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x587c9bf7 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x5cd48015 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x63d6a665 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x648c44b5 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x64ce6502 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x651e45a9 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x68d64118 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b06f328 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x6da1c19f transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x76ea79c2 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x78663581 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ac0b961 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7e57eda5 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f601379 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f746ae8 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x879be5fe target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x88fc4db5 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x8fc75702 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x90d37339 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x92a2ecd5 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5ab78d2 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xaa05b634 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0xb40d3875 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4322e7f target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb89c50c7 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xb9b19dd7 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb9c2d5b3 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd8bf960 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xca63a025 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xce026636 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xd087b76a spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xd3d3d1cc target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8523b24 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe03eac01 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0b65262 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xe99fbd4a core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0xec9fefa5 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xed8b3331 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xefd84a72 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf66961a5 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xf7b66c61 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf931e881 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x0b29c3c4 uart_get_baud_rate +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x0c287183 uart_unregister_driver +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x0c5a56c3 uart_resume_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x17091efa uart_remove_one_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x45d987ae uart_match_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x7488dade uart_get_divisor +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x77bd18ac uart_write_wakeup +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x8bfb4aad uart_register_driver +EXPORT_SYMBOL drivers/tty/serial/serial_core 0xb8e25da1 uart_suspend_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0xcacd0f40 uart_update_timeout +EXPORT_SYMBOL drivers/tty/serial/serial_core 0xe31d8d7d uart_add_one_port +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x03db5fcc mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x068d84e7 mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x29c7fbcd mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5c7c2818 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x61867b1d mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8a9d9d2c mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x958fdb53 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9cc5d7e1 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc14722fe mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc590f354 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xd59c40ca mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xe3750b96 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/vfio 0x4232a0c3 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x432c7dc2 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xa0174901 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0xa27b664b vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0xa86fe0f1 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xaf8a4a7f vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xbc742d66 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xf3411eb8 vfio_info_add_capability +EXPORT_SYMBOL drivers/vhost/vhost 0x69216fba vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vhost 0xa4104976 vhost_chr_poll +EXPORT_SYMBOL drivers/video/fbdev/core/cfbcopyarea 0xecf3c793 cfb_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/cfbfillrect 0x8046ba7a cfb_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/cfbimgblt 0x731a54df cfb_imageblit +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0xfda1aa6f sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x9114d786 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xa629bf2d sys_imageblit +EXPORT_SYMBOL fs/fscache/fscache 0x084c306d __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x0b6309e1 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x0d84e559 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x12585cb9 fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x14f892f2 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x1898ac2f fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x18ad33a4 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1bd09a9c fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x2966f850 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x2dc531d2 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3eeda2d9 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x445369d6 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x471801f1 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x4a5b7afe __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5f06d1dd fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x5f5df306 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6246d450 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x6388864c __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x64509f03 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x656a28bf __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x65b2adec __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x696efb1a __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x6993526a fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x6a13d68e __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x6bd5b22a fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6ee432ae __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x8ad533c0 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0x8c8f3b02 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x9031a12a __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x91e4f96c __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x94dd7e4a fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xb60cb708 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xc42e637c __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xcbb860ae fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xd5348360 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xdf22bf4d __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xdf79ea2f fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0xe7c07e3d fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xeac14fe9 fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0xedb192de fscache_obtained_object +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x374717e7 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x4dbfc894 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x71aa9a43 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc077d025 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc1c7597c qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xc50155e7 qtree_release_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 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xfa0da958 crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x2fd09944 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0x8da0a315 blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0xa6e9c670 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x09315bb1 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x35142bf2 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5cff4121 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x637307c6 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xa3883e62 chacha20poly1305_encrypt_sg_inplace +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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0f6f0fdb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x17641dea lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x17c6b1e1 lc_del +EXPORT_SYMBOL lib/lru_cache 0x23db7180 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x52857213 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x6f1d0c3b lc_try_lock +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 lib/zstd/zstd_compress 0x00441ef6 ZSTD_compressStream +EXPORT_SYMBOL lib/zstd/zstd_compress 0x040c92d1 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL lib/zstd/zstd_compress 0x065b14f3 ZSTD_getBlockSizeMax +EXPORT_SYMBOL lib/zstd/zstd_compress 0x0b9a9379 ZSTD_initCCtx +EXPORT_SYMBOL lib/zstd/zstd_compress 0x17823f99 ZSTD_compress_usingCDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0x1ffb27f1 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0x2411b496 ZSTD_CStreamOutSize +EXPORT_SYMBOL lib/zstd/zstd_compress 0x273a39e7 ZSTD_compressCCtx +EXPORT_SYMBOL lib/zstd/zstd_compress 0x35adbdc6 ZSTD_compress_usingDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0x48bfae8e ZSTD_flushStream +EXPORT_SYMBOL lib/zstd/zstd_compress 0x50d289a3 ZSTD_resetCStream +EXPORT_SYMBOL lib/zstd/zstd_compress 0x515ab572 ZSTD_compressBegin +EXPORT_SYMBOL lib/zstd/zstd_compress 0x57b1012f ZSTD_compressBegin_usingDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0x66a8b7ab ZSTD_CStreamInSize +EXPORT_SYMBOL lib/zstd/zstd_compress 0x785d10c3 ZSTD_endStream +EXPORT_SYMBOL lib/zstd/zstd_compress 0x84e61bae ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL lib/zstd/zstd_compress 0x8f2f596d ZSTD_compressBound +EXPORT_SYMBOL lib/zstd/zstd_compress 0x97b3b7ca ZSTD_compressEnd +EXPORT_SYMBOL lib/zstd/zstd_compress 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL lib/zstd/zstd_compress 0xa88b0af5 ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0xc2d4374c ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL lib/zstd/zstd_compress 0xc83660bd ZSTD_getParams +EXPORT_SYMBOL lib/zstd/zstd_compress 0xd1ad98e7 ZSTD_compressContinue +EXPORT_SYMBOL lib/zstd/zstd_compress 0xd967de6d ZSTD_getCParams +EXPORT_SYMBOL lib/zstd/zstd_compress 0xdc157266 ZSTD_adjustCParams +EXPORT_SYMBOL lib/zstd/zstd_compress 0xdfb596f8 ZSTD_copyCCtx +EXPORT_SYMBOL lib/zstd/zstd_compress 0xe02d4179 ZSTD_initCStream +EXPORT_SYMBOL lib/zstd/zstd_compress 0xe14f9e35 ZSTD_compressBlock +EXPORT_SYMBOL lib/zstd/zstd_compress 0xebe6a8a6 ZSTD_checkCParams +EXPORT_SYMBOL lib/zstd/zstd_compress 0xf2068346 ZSTD_initCDict +EXPORT_SYMBOL lib/zstd/zstd_compress 0xff471430 ZSTD_compressBegin_advanced +EXPORT_SYMBOL net/802/p8022 0x6ef02a2b unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x786cd2ec register_8022_client +EXPORT_SYMBOL net/802/psnap 0x835a96b4 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x9cc91b84 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00530fa1 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x0ccd5e47 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x0fa95f0d p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x1e1eda62 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x20703efa p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x21e847f4 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x21f114f0 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x2fb18b31 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x383d4d9b p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x3cbd04cb p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x43898b6f p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x468f2e3a p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x50ccb2f9 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x518f3d6a p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x528e1115 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x52fb0a8e p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x56fa9ada p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5b23fcdb p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x5e29a53b p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x65bff526 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x6b3e8cb4 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x6e5f8fbb p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x85f85f8d p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x8c4127a3 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x8e7666c1 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x9ba6d198 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x9f5f763f p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xabc1692e p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xad5d2050 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xadb70db5 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xaf71f0d4 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0xb5f1e093 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xbd41c692 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xbf17ad05 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xc17e90d6 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xc4267944 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc68847fb p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd4770bb5 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xd560873f v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xda3ffad5 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xdc501d58 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xdc9cafa1 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xdd09d6d2 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe2fb73b1 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xeb8deb9d p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xee7f0fb9 p9_client_write +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x18f30293 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x1a55d524 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x426954b4 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9e2a6477 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/ceph/libceph 0x039422c2 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x043e1ba8 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x0b5913c1 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x0ce74839 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x1463de2c ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x160125bd ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x173f239a ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x18780fe4 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x1a599f7f ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x1aff495a ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x1c68f659 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x1eedd13a ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x21a26290 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x240e1dc3 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x26272448 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x27dc9a61 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x29613947 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x2d733731 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x2f7de59d ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x2fee2144 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x322deb51 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x33a1d0ce ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3400e562 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x3524c308 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x35b656c2 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x36de6849 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x3746c25c ceph_oloc_destroy +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 0x3d52dede ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x3fc9d8c6 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x41801e86 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x421829f8 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x42406cb2 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x45de2e4d ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x46b422ca ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x47632d06 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x48d9324b osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x48fe6216 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x490fe5bd ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x527f1e9e ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x52e131f0 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x546b176a osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x5508df3c ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x55aa907a ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x58567194 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x613b22dd ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x63d11358 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x65e9c5e4 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x6a4a17cb ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6d5451ba ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x6f32ca18 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x71a3d16a ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x737ab38d ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x74fe7fc2 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x75449e18 ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x7630b04b ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x766a3c6c ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x7790a91c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x7a191107 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0x7ab297d1 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x7bfa2471 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x7c1a33be ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x81d82bea ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x8375650f ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x842c2b16 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x866c2d42 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x875d7299 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x8a1e73d3 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x8c347eb5 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x8cdd0483 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x902a7454 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x90cd7cd2 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x912f5ca7 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x91984253 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x95feb328 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x98757513 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d05cf14 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x9e06f30c ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa376f5df ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xa5c70fc1 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa9f8d381 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xafd12f72 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xb07ff07d ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xb18e9380 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xb4e25c76 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xba0a3541 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xbc98cee2 ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbf09fa63 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0xc0a82521 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xc0c22fbf osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xc251532b ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcb35c5d0 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xcd9e06c2 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xcf5f6fd2 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xd04945cc osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xd055fc0a ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xd0fb24d4 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xd113748f osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xd1dd5e38 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd800ac38 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd908723d ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xdb489735 ceph_osdc_wait_request +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 0xe0c27848 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0xe3b5c470 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xe484aaf1 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0xe83e234b ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe85108a4 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0xea9a4912 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xeaf95d28 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef2770dc osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xf37315c3 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xf5599839 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xfb3d7069 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xfc886083 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xffe95c77 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x12fbc82d dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x833460a0 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ipv4/fou 0x0954ca2f __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x3899cd11 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x7046bb6a __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xdef70806 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x0d94a1d7 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x121dd4c5 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x272edafc ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xbb2e7fe0 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xe88e49d2 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x09fb5432 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xab65ec39 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xdeba676c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe77f269a arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1d998d66 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x249fb6b0 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x84996f62 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x89a0c037 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xcee7ed28 ipt_do_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x4b489c84 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xd5f21e56 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x8e19d4ad udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x379ba2f3 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x737ff290 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x90f88a83 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xae492888 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb1da6b5a ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb2f8b394 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd4e6b755 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd5384674 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf05573a9 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x283d5240 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x77758aaa ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7e514e03 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x86fc5613 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe81adbb7 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x6b582918 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xf4f789df xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xc62332f2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xc6ba79e3 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/l2tp/l2tp_core 0x86cb4a71 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0xd8a46b75 l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0xb6840a15 l2tp_ioctl +EXPORT_SYMBOL net/llc/llc 0x1de81a65 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x599b9064 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x82c03579 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xa684b13c llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xc17802c2 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xc7b10ef5 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xe97c00f7 llc_sap_open +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x06d1fce6 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x06f64c1d ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x22e8cdd8 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x239218c3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3ea203f9 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4ab4731a ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4dba913a unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7a5de72f register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9733399b ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcb961dc4 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcfc8f902 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd4c59b92 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd5483d31 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe19141c0 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeff0179c ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x25f675a2 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x4e64b06c nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x6495b317 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0x977573d7 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xcf6140ae __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xed2d8d7b nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x27820aef xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x388137bc xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x4055ac3c xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x46903fde 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 0x5853b5c9 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7683717b xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8c3a8da4 xt_register_target +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 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 0xe483645a xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xf72f6034 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2f2b7bda rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x35f3b4c4 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x45d396ca rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x63132bfd rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6bbfb220 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8cb04750 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x94b05366 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9f518fce rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xadb8cd9a rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb1e2de9c rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc4b52406 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc50be18a rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd4a9fcb9 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdae02964 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe8cd9287 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xeda2ce28 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xef618aae rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xef9fb7d2 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/sctp/sctp 0x76785f80 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x487ddef2 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x5c49142b gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xaeae8e57 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x3cde632a xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x6092f1d4 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x6ceccd64 xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x107e440f tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xb1f65814 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xb8635d50 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0xe66fa728 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tls/tls 0xfe2117e1 tls_get_record +EXPORT_SYMBOL vmlinux 0x000d40a5 zpci_report_error +EXPORT_SYMBOL vmlinux 0x003028dc kernel_param_lock +EXPORT_SYMBOL vmlinux 0x0077cebc __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x00934694 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x00a2299e dquot_destroy +EXPORT_SYMBOL vmlinux 0x00b0405b inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00b8677c ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x00c804df __ip_select_ident +EXPORT_SYMBOL vmlinux 0x00cd72e5 __debug_sprintf_exception +EXPORT_SYMBOL vmlinux 0x00dc9758 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x00eb1c3a radix_tree_delete +EXPORT_SYMBOL vmlinux 0x00f4a223 _ebc_toupper +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010ca390 file_update_time +EXPORT_SYMBOL vmlinux 0x010d30a2 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x011e470b xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x012ee592 seq_lseek +EXPORT_SYMBOL vmlinux 0x01316291 d_move +EXPORT_SYMBOL vmlinux 0x013ad4dc skb_copy_header +EXPORT_SYMBOL vmlinux 0x014716eb hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x01524799 register_qdisc +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x0159ee86 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x015d0a5f bio_copy_data +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017d9dc3 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x0181da1b dev_printk_hash +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0192fe23 csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x01a615e3 vfs_create +EXPORT_SYMBOL vmlinux 0x01b2e7dd flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01cdd1e2 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x01d178f4 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x01d56c00 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x01e1ec00 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x01ebb5ab pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x01fd10da tcf_idr_search +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x0211adfb zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x02156b0b scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x02256733 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x0228b02f raw3270_request_add_data +EXPORT_SYMBOL vmlinux 0x02324bea tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x02551c09 fd_install +EXPORT_SYMBOL vmlinux 0x0255d04b jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x0257a9ae down_read_trylock +EXPORT_SYMBOL vmlinux 0x0267e8b8 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x026ca53b xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0286c20a bit_waitqueue +EXPORT_SYMBOL vmlinux 0x02966004 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029e59f3 sock_create_kern +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02bd9a64 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x02ca22a8 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02f034a1 xz_dec_run +EXPORT_SYMBOL vmlinux 0x0314e608 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x03326787 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03356211 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x03548692 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x03597003 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x036554dd tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039bccae register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x03b02d1f xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x03c566d0 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x03d2240c add_virt_timer_periodic +EXPORT_SYMBOL vmlinux 0x03ef55ac setup_arg_pages +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0456ae21 __tracepoint_s390_cio_xsch +EXPORT_SYMBOL vmlinux 0x0484b334 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x049b8d5e __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x04bf395c netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x04e47771 revalidate_disk +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053be458 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x053f5f3d __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x05416648 pci_release_region +EXPORT_SYMBOL vmlinux 0x05448a06 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x056f5cef radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x05782498 unregister_nls +EXPORT_SYMBOL vmlinux 0x058f8d00 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x05ad89b0 tcf_block_get +EXPORT_SYMBOL vmlinux 0x05aea415 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x05bee4fa jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x05dfe94d __register_chrdev +EXPORT_SYMBOL vmlinux 0x0600b0fc vif_device_init +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0617a95e alloc_fcdev +EXPORT_SYMBOL vmlinux 0x062ba484 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065baf40 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x06612c71 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x067d73b4 seqno_fence_ops +EXPORT_SYMBOL vmlinux 0x06908630 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x06912cac clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x0694abd7 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x06aeaab1 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x06bd8989 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x06c683f1 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x06cd4d0c dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x06d41ca5 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x06d43290 udp_prot +EXPORT_SYMBOL vmlinux 0x06d90a57 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x06fd7a32 make_kprojid +EXPORT_SYMBOL vmlinux 0x06fdd7cc __xa_store +EXPORT_SYMBOL vmlinux 0x070af13c vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x070cf21e inet6_release +EXPORT_SYMBOL vmlinux 0x070d99d5 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x07297511 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x07376991 mutex_lock +EXPORT_SYMBOL vmlinux 0x077c5eae unload_nls +EXPORT_SYMBOL vmlinux 0x077d2f25 pci_dev_put +EXPORT_SYMBOL vmlinux 0x07904015 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07dd502a s390_arch_random_generate +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x082aa181 pid_task +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x084185e1 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x0843ee4f unregister_key_type +EXPORT_SYMBOL vmlinux 0x08456553 match_string +EXPORT_SYMBOL vmlinux 0x0877f8b0 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x087a81ae register_console +EXPORT_SYMBOL vmlinux 0x087f815f pmdp_xchg_lazy +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088c96f6 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x088d6aef iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x088f6cc2 dev_set_group +EXPORT_SYMBOL vmlinux 0x08936e6d input_register_handler +EXPORT_SYMBOL vmlinux 0x08b2f232 netdev_warn +EXPORT_SYMBOL vmlinux 0x08c27ef6 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x08d58065 dst_destroy +EXPORT_SYMBOL vmlinux 0x08ea3a5a xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x08f2c46b __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x08fe57b9 page_pool_destroy +EXPORT_SYMBOL vmlinux 0x08ffe00f unix_attach_fds +EXPORT_SYMBOL vmlinux 0x09128681 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x0933e4ad scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x094effa5 __iucv_message_receive +EXPORT_SYMBOL vmlinux 0x09689907 finish_no_open +EXPORT_SYMBOL vmlinux 0x09695f89 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097ef875 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x099eac41 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x09bf6fbe ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e09921 bio_split +EXPORT_SYMBOL vmlinux 0x09f13925 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x09f2044c kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x0a01ddad pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x0a0d76f3 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0x0a1e14d2 posix_test_lock +EXPORT_SYMBOL vmlinux 0x0a24ef55 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a3b7036 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0a3f0cec drop_super +EXPORT_SYMBOL vmlinux 0x0a428b98 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x0a44bf88 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a861872 build_skb_around +EXPORT_SYMBOL vmlinux 0x0a9f3567 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0aacd352 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x0ab1bb72 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x0ae60c27 utf8_normalize +EXPORT_SYMBOL vmlinux 0x0af72745 vfs_unlink +EXPORT_SYMBOL vmlinux 0x0b142968 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2afde9 dev_close +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b76dc9d udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x0b7e1282 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x0b842596 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x0b8c1180 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x0b8d11cf swake_up_one +EXPORT_SYMBOL vmlinux 0x0b9e00ee param_set_int +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bca35a0 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x0bcca9f6 simple_write_end +EXPORT_SYMBOL vmlinux 0x0bcd369c noop_qdisc +EXPORT_SYMBOL vmlinux 0x0bce594d md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x0bfb2bfb inet6_getname +EXPORT_SYMBOL vmlinux 0x0c17a68e zlib_dfltcc_support +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c30ab55 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x0c62c27f get_vm_area +EXPORT_SYMBOL vmlinux 0x0c6ccf20 s390_isolate_bp +EXPORT_SYMBOL vmlinux 0x0c7cf7c6 zero_page_mask +EXPORT_SYMBOL vmlinux 0x0c7deb80 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x0c87f437 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x0c8c711e tcp_make_synack +EXPORT_SYMBOL vmlinux 0x0c9df928 bio_clone_fast +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cc0f4c5 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x0cd03000 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x0cd47ce9 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd8508a pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0ced6361 param_ops_uint +EXPORT_SYMBOL vmlinux 0x0cf2c99b pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x0cf65c16 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x0cfc00fd md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x0d006499 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x0d05e9ae xa_extract +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d266cc0 inet6_bind +EXPORT_SYMBOL vmlinux 0x0d38f25e fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x0d3e0e16 __xa_insert +EXPORT_SYMBOL vmlinux 0x0d483ebd mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d7ad5af tcp_init_sock +EXPORT_SYMBOL vmlinux 0x0d850ad7 ptep_xchg_lazy +EXPORT_SYMBOL vmlinux 0x0d86d6be ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x0dadb0de sk_dst_check +EXPORT_SYMBOL vmlinux 0x0dbcadf4 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x0de0c646 d_make_root +EXPORT_SYMBOL vmlinux 0x0e1384cc scsi_add_device +EXPORT_SYMBOL vmlinux 0x0e15afe7 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e199893 module_put +EXPORT_SYMBOL vmlinux 0x0e1e53cc jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0e1ecfb7 unregister_adapter_interrupt +EXPORT_SYMBOL vmlinux 0x0e7faf04 vmemmap +EXPORT_SYMBOL vmlinux 0x0e81ea94 clear_nlink +EXPORT_SYMBOL vmlinux 0x0e88c2f2 bio_endio +EXPORT_SYMBOL vmlinux 0x0e90e984 param_set_charp +EXPORT_SYMBOL vmlinux 0x0e9a2316 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x0ea763c3 sclp_sync_wait +EXPORT_SYMBOL vmlinux 0x0eab56fa __kfifo_max_r +EXPORT_SYMBOL vmlinux 0x0ead1d65 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x0ee8ac8d register_netdev +EXPORT_SYMBOL vmlinux 0x0eff138e netdev_notice +EXPORT_SYMBOL vmlinux 0x0f046579 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x0f0619dd unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1a055c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x0f1fface cred_fscmp +EXPORT_SYMBOL vmlinux 0x0f5605bf pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x0f59acca __kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x0f5f98cb tty_port_open +EXPORT_SYMBOL vmlinux 0x0f6a94eb compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0x0f6f84ef d_invalidate +EXPORT_SYMBOL vmlinux 0x0f74878f d_alloc +EXPORT_SYMBOL vmlinux 0x0f7afdf8 find_lock_entry +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8ee51e ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0x0fa4b1d5 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x0faaf3e0 input_get_keycode +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fb543c2 fqdir_exit +EXPORT_SYMBOL vmlinux 0x0fbd63a4 mutex_is_locked +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0ffc9609 ap_recv +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1006aaf4 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x10112f05 ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10497616 memweight +EXPORT_SYMBOL vmlinux 0x104e47d4 idr_replace +EXPORT_SYMBOL vmlinux 0x1050ac0b devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x109b3ef2 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x10aa6368 dev_get_stats +EXPORT_SYMBOL vmlinux 0x10c287ae sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10efcb16 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x10f0705f pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x10fd7e58 proc_set_size +EXPORT_SYMBOL vmlinux 0x10fe40b2 netdev_info +EXPORT_SYMBOL vmlinux 0x10ffc9b4 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x112020cc d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x112d25a1 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x1150aba0 nonseekable_open +EXPORT_SYMBOL vmlinux 0x115181bb locks_copy_lock +EXPORT_SYMBOL vmlinux 0x1158880f splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x1164206a scsi_compat_ioctl +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1196da18 single_release +EXPORT_SYMBOL vmlinux 0x11b25066 secpath_set +EXPORT_SYMBOL vmlinux 0x11c9760c request_firmware +EXPORT_SYMBOL vmlinux 0x11cbccd6 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x11d0a471 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11e4d161 tcp_filter +EXPORT_SYMBOL vmlinux 0x11ea9e44 dev_mc_init +EXPORT_SYMBOL vmlinux 0x11eb7c6e bdevname +EXPORT_SYMBOL vmlinux 0x11f0f083 kernel_cpumcf_avail +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x11fb83cb on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x12051bfd nf_ct_attach +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120c139f gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x121b3ac9 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x12219c44 dcache_readdir +EXPORT_SYMBOL vmlinux 0x1239fc2d sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x1251a12e console_mode +EXPORT_SYMBOL vmlinux 0x125b36e0 down_write_killable +EXPORT_SYMBOL vmlinux 0x12641250 get_phys_clock +EXPORT_SYMBOL vmlinux 0x1287db31 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12bf46ea param_set_bool +EXPORT_SYMBOL vmlinux 0x12c8f1ac elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x12c90f6b __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12cc5e5d xa_find +EXPORT_SYMBOL vmlinux 0x12ebe828 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fa14a8 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x12fe638d diag_stat_inc_norecursion +EXPORT_SYMBOL vmlinux 0x12ff0c48 iget5_locked +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131d277f sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x1328fb1f page_mapped +EXPORT_SYMBOL vmlinux 0x1335bc8f __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x136608b2 __tracepoint_s390_cio_csch +EXPORT_SYMBOL vmlinux 0x136df2b0 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x136ec2d8 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x13750e68 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x1394b8c2 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x13bdb51a tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x13cd3aef lookup_bdev +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13ec7694 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x13eeb3f4 scsi_partsize +EXPORT_SYMBOL vmlinux 0x140fb076 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x14248e36 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x14259608 fqdir_init +EXPORT_SYMBOL vmlinux 0x142b0ece cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x14594bb5 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x1459e7a5 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1473cad5 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x149f2a9f rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x149f48ba flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x14a18177 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x14c5e5b3 segment_warning +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14d494da fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x14db67f3 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x150983e1 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0x151363b6 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x151f5e45 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x154d3016 add_random_ready_callback +EXPORT_SYMBOL vmlinux 0x156f00f3 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x15974f2e inet_add_protocol +EXPORT_SYMBOL vmlinux 0x15abf976 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x15b6e325 get_user_pages +EXPORT_SYMBOL vmlinux 0x15b8ee3f sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c65fd3 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x15fe085e blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x160d47be pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x163a3cd2 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x163d041d pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x164d6af3 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x166c95c2 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x16977359 block_write_end +EXPORT_SYMBOL vmlinux 0x169f57a9 uv_info +EXPORT_SYMBOL vmlinux 0x16b9d08b tcp_release_cb +EXPORT_SYMBOL vmlinux 0x16bf9051 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x16c36215 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x16cd9878 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x1703e9a9 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x1712942d sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x1714243d tcp_conn_request +EXPORT_SYMBOL vmlinux 0x17559e81 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x1757abf0 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x175eddc5 ccw_driver_register +EXPORT_SYMBOL vmlinux 0x176f0b51 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x177f48cb simple_rmdir +EXPORT_SYMBOL vmlinux 0x178775c7 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x178e2c5a from_kgid_munged +EXPORT_SYMBOL vmlinux 0x178e561d rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x179ad9a6 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x17d0780c __lock_buffer +EXPORT_SYMBOL vmlinux 0x17f1ad3a __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x180a7315 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1896e5d5 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x1897e8be mempool_create +EXPORT_SYMBOL vmlinux 0x1898aba4 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x189a7a99 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18a30747 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x18ae12ae tty_port_close +EXPORT_SYMBOL vmlinux 0x18b14c40 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x18b87cca sclp_deactivate +EXPORT_SYMBOL vmlinux 0x18c742fb dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x18cf9e95 iov_iter_init +EXPORT_SYMBOL vmlinux 0x18d521e0 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f7cfcd blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x190ad815 __tracepoint_s390_cio_stsch +EXPORT_SYMBOL vmlinux 0x1936b885 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x193798df generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x19528485 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x1957fe15 mntput +EXPORT_SYMBOL vmlinux 0x19584939 get_acl +EXPORT_SYMBOL vmlinux 0x196e1c63 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x1973dc94 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x1987a7ad dcb_setapp +EXPORT_SYMBOL vmlinux 0x198915dc pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x198b544c netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x198daf76 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x198ecbe4 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19badb87 md_integrity_register +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c2a480 seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x19ffdcb4 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x1a0dbfe8 tcp_poll +EXPORT_SYMBOL vmlinux 0x1a28add2 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x1a696c3a wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x1a8cc8b3 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x1a8f87e6 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x1a92d133 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x1a954dd2 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9baa0a proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x1aa75426 scsi_device_put +EXPORT_SYMBOL vmlinux 0x1acd47e2 lock_rename +EXPORT_SYMBOL vmlinux 0x1ae1278b unpin_user_page +EXPORT_SYMBOL vmlinux 0x1af6ce7e reset_guest_reference_bit +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b1f04b7 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x1b3bfb44 dm_register_target +EXPORT_SYMBOL vmlinux 0x1b3e4122 generic_permission +EXPORT_SYMBOL vmlinux 0x1b443e37 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x1b44fb0f tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x1b495170 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x1b572310 ccw_device_get_ciw +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6a6172 dquot_operations +EXPORT_SYMBOL vmlinux 0x1b75e958 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8d321b alloc_pages_vma +EXPORT_SYMBOL vmlinux 0x1ba04458 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bc57cfa rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x1bcf0210 set_security_override +EXPORT_SYMBOL vmlinux 0x1be0d608 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x1bf301c3 __wake_up +EXPORT_SYMBOL vmlinux 0x1c071dd6 pin_user_pages +EXPORT_SYMBOL vmlinux 0x1c1d5d81 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x1c24996c fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x1c26f4eb netif_carrier_on +EXPORT_SYMBOL vmlinux 0x1c27b966 fs_bio_set +EXPORT_SYMBOL vmlinux 0x1c338147 vm_numa_stat +EXPORT_SYMBOL vmlinux 0x1c3d22df rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x1c3e8a7e copy_string_kernel +EXPORT_SYMBOL vmlinux 0x1c4300f1 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x1c533cd3 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x1c62556b simple_write_begin +EXPORT_SYMBOL vmlinux 0x1c699bdb compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c84491a dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cc79021 input_match_device_id +EXPORT_SYMBOL vmlinux 0x1cc87e06 key_type_keyring +EXPORT_SYMBOL vmlinux 0x1cd3005d page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x1cf2d429 key_link +EXPORT_SYMBOL vmlinux 0x1cf54f2e end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x1d0f6ab8 ping_prot +EXPORT_SYMBOL vmlinux 0x1d18925e input_free_device +EXPORT_SYMBOL vmlinux 0x1d2453a2 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d3e2765 iucv_path_quiesce +EXPORT_SYMBOL vmlinux 0x1d449b90 dfltcc_can_deflate +EXPORT_SYMBOL vmlinux 0x1d44d48a simple_open +EXPORT_SYMBOL vmlinux 0x1dad0aef genl_unregister_family +EXPORT_SYMBOL vmlinux 0x1dadd920 __kmalloc +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd409ab inet_sendpage +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1dddbe0d __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1dedcc80 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x1df9a8c8 param_set_ushort +EXPORT_SYMBOL vmlinux 0x1e087168 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x1e088430 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e1126de __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e27a7f6 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x1e407f44 eth_type_trans +EXPORT_SYMBOL vmlinux 0x1e4fe2bb dst_init +EXPORT_SYMBOL vmlinux 0x1e567f3f call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x1e5b988e tcp_seq_start +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e705e20 downgrade_write +EXPORT_SYMBOL vmlinux 0x1e7b8280 nf_log_unset +EXPORT_SYMBOL vmlinux 0x1e8a161a crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ed95e0f vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x1ed9eeee genl_notify +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1edb7f89 sk_free +EXPORT_SYMBOL vmlinux 0x1ede54f2 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x1f00909b __devm_request_region +EXPORT_SYMBOL vmlinux 0x1f55fac2 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x1f560f67 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x1f57822e krealloc +EXPORT_SYMBOL vmlinux 0x1f8a1a32 lockref_put_return +EXPORT_SYMBOL vmlinux 0x1f8af3ea jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x1f9037ce simple_unlink +EXPORT_SYMBOL vmlinux 0x1fa142af drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x1fa349d2 mount_subtree +EXPORT_SYMBOL vmlinux 0x1fb15c6a tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x1fb27078 tcw_get_tccb +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc4b84c remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x1fcad7b7 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x1fda8755 __memset32 +EXPORT_SYMBOL vmlinux 0x1fe1d316 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2043200d pcie_set_mps +EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204cb534 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x20687cd7 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20790b9b pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x20973b94 segment_unload +EXPORT_SYMBOL vmlinux 0x20a1c78a fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20bd2447 put_tty_driver +EXPORT_SYMBOL vmlinux 0x20c587cc utf8nagemin +EXPORT_SYMBOL vmlinux 0x20c9ab00 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x20ca4b13 __scm_destroy +EXPORT_SYMBOL vmlinux 0x20d15502 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20dd9012 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x20ee076e itcw_add_tidaw +EXPORT_SYMBOL vmlinux 0x21037990 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x2149805f netlink_net_capable +EXPORT_SYMBOL vmlinux 0x215001d9 d_lookup +EXPORT_SYMBOL vmlinux 0x21573270 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x215cd5a1 get_guest_storage_key +EXPORT_SYMBOL vmlinux 0x21707420 module_layout +EXPORT_SYMBOL vmlinux 0x2170e7e7 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x21718c61 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x2171d54e xfrm6_rcv +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 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x2209af68 sget_fc +EXPORT_SYMBOL vmlinux 0x221d1103 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x222f59e4 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x22387a28 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x223f1ae9 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x224b349e __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x225cbff2 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x225fe613 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x2269e302 dev_deactivate +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x227ad21b trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x228de34f vfs_llseek +EXPORT_SYMBOL vmlinux 0x22963dfd dev_remove_pack +EXPORT_SYMBOL vmlinux 0x22a2793d pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x22b0d1e7 read_cache_pages +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22b79a07 sock_wake_async +EXPORT_SYMBOL vmlinux 0x22da50f1 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x22dd6d51 tccb_init +EXPORT_SYMBOL vmlinux 0x22e2e960 path_put +EXPORT_SYMBOL vmlinux 0x22ea83ba address_space_init_once +EXPORT_SYMBOL vmlinux 0x2349ec03 ccw_device_tm_start +EXPORT_SYMBOL vmlinux 0x236c8c64 memcpy +EXPORT_SYMBOL vmlinux 0x236d396c ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x2370be93 devm_free_irq +EXPORT_SYMBOL vmlinux 0x237e81b6 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x237f573b param_get_ulong +EXPORT_SYMBOL vmlinux 0x2382434b __napi_schedule +EXPORT_SYMBOL vmlinux 0x23908799 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x23916ddf scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x239bcf31 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bdeed5 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x23d03842 __free_pages +EXPORT_SYMBOL vmlinux 0x23d0557e audit_log_start +EXPORT_SYMBOL vmlinux 0x23d1e6f3 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x23d62cfe init_net +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2414c158 should_remove_suid +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x242f3562 irq_subclass_register +EXPORT_SYMBOL vmlinux 0x24337f81 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x243643f4 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x2438b7a8 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x24513213 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x24741644 try_to_release_page +EXPORT_SYMBOL vmlinux 0x247a3fe4 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x2480d0be raw3270_start_locked +EXPORT_SYMBOL vmlinux 0x24a0b38a fb_find_mode +EXPORT_SYMBOL vmlinux 0x24c49ac1 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24eeb5f8 tty_do_resize +EXPORT_SYMBOL vmlinux 0x24ef07bf find_vma +EXPORT_SYMBOL vmlinux 0x24fdbb31 netdev_features_change +EXPORT_SYMBOL vmlinux 0x24fe115e crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x24fffaad sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x25137d64 vfs_symlink +EXPORT_SYMBOL vmlinux 0x252cf375 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x2548c032 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25732e5c inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x257c908a raw3270_add_view +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x259988dc param_ops_long +EXPORT_SYMBOL vmlinux 0x25b36df3 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x25d23e24 tty_throttle +EXPORT_SYMBOL vmlinux 0x25d83677 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x25d984b4 ccw_device_start_timeout_key +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25ec1b28 strlen +EXPORT_SYMBOL vmlinux 0x25f34896 vfs_statfs +EXPORT_SYMBOL vmlinux 0x2600379b default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x2630669c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2641a1c6 diag224 +EXPORT_SYMBOL vmlinux 0x2647e80c vm_map_pages +EXPORT_SYMBOL vmlinux 0x264b41e6 get_disk_and_module +EXPORT_SYMBOL vmlinux 0x265ed10c compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0x266df649 set_posix_acl +EXPORT_SYMBOL vmlinux 0x2682a62e pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26a5b938 sclp_pci_configure +EXPORT_SYMBOL vmlinux 0x26c7d5ba ccw_device_set_online +EXPORT_SYMBOL vmlinux 0x26d617b0 inode_init_always +EXPORT_SYMBOL vmlinux 0x26d724b2 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x2703c70d dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x270b8c92 netlink_unicast +EXPORT_SYMBOL vmlinux 0x27265e20 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27418353 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x27504c1f begin_new_exec +EXPORT_SYMBOL vmlinux 0x275c24a7 kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x2791f528 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c950a2 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27eb9cd1 tcw_set_intrg +EXPORT_SYMBOL vmlinux 0x27f108b2 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x27ff370f config_item_set_name +EXPORT_SYMBOL vmlinux 0x2805074d __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28395a46 kill_fasync +EXPORT_SYMBOL vmlinux 0x284e6f13 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x286ac76d elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x288382ef _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x28838873 check_disk_change +EXPORT_SYMBOL vmlinux 0x289fa510 skb_ext_add +EXPORT_SYMBOL vmlinux 0x28a47d9c sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x28a5faf8 scmd_printk +EXPORT_SYMBOL vmlinux 0x28c1056f send_sig +EXPORT_SYMBOL vmlinux 0x28f2c23f pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x28f960b4 __getblk_gfp +EXPORT_SYMBOL vmlinux 0x28fd7abc inet_frags_init +EXPORT_SYMBOL vmlinux 0x290074b2 get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x290d84da try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x290f35e2 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x291be70f flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x292e1bd2 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x293079e9 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x29391e7d vm_munmap +EXPORT_SYMBOL vmlinux 0x294472de eth_header +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x294d0ba2 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x29525fee devm_iounmap +EXPORT_SYMBOL vmlinux 0x2956cf37 sclp_remove_processed +EXPORT_SYMBOL vmlinux 0x296d3a6e mark_info_dirty +EXPORT_SYMBOL vmlinux 0x29789394 empty_zero_page +EXPORT_SYMBOL vmlinux 0x298406b6 dump_align +EXPORT_SYMBOL vmlinux 0x29bedf39 d_alloc_name +EXPORT_SYMBOL vmlinux 0x29d8406e __icmp_send +EXPORT_SYMBOL vmlinux 0x2a1654f9 vfs_fsync +EXPORT_SYMBOL vmlinux 0x2a189cb7 d_rehash +EXPORT_SYMBOL vmlinux 0x2a1eb7b0 kthread_stop +EXPORT_SYMBOL vmlinux 0x2a24b052 _dev_emerg +EXPORT_SYMBOL vmlinux 0x2a3a0882 bdget +EXPORT_SYMBOL vmlinux 0x2a41d203 dql_init +EXPORT_SYMBOL vmlinux 0x2a673a0e pneigh_lookup +EXPORT_SYMBOL vmlinux 0x2a701e10 tty_name +EXPORT_SYMBOL vmlinux 0x2a805563 __kernel_cpumcf_end +EXPORT_SYMBOL vmlinux 0x2a881b2f config_group_init +EXPORT_SYMBOL vmlinux 0x2a99eb9b netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x2aa3072f bprm_change_interp +EXPORT_SYMBOL vmlinux 0x2ac333d9 bio_free_pages +EXPORT_SYMBOL vmlinux 0x2aca89f6 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x2acc45c8 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x2ada7f40 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x2adf54f5 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x2af3f454 ssch +EXPORT_SYMBOL vmlinux 0x2b113b37 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x2b13c1db __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x2b2ae2ac set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x2b307cf3 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x2b4600e2 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x2b4eb3fe pci_dev_driver +EXPORT_SYMBOL vmlinux 0x2b51192f udp_set_csum +EXPORT_SYMBOL vmlinux 0x2b5d8938 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x2b65c6f9 put_disk_and_module +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6bb63a get_task_cred +EXPORT_SYMBOL vmlinux 0x2b7d39ee inet_getname +EXPORT_SYMBOL vmlinux 0x2b876edd touch_atime +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb07987 iget_locked +EXPORT_SYMBOL vmlinux 0x2bbe76f4 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x2bd26a50 padata_do_serial +EXPORT_SYMBOL vmlinux 0x2bd3229d tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x2bebf83c eth_gro_complete +EXPORT_SYMBOL vmlinux 0x2c0f1582 lockref_get +EXPORT_SYMBOL vmlinux 0x2c0f2fb3 mempool_alloc +EXPORT_SYMBOL vmlinux 0x2c1cf773 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2c252b48 ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c29a995 __strnlen_user +EXPORT_SYMBOL vmlinux 0x2c351c78 security_path_unlink +EXPORT_SYMBOL vmlinux 0x2c7911d7 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x2c7a4c8e kernel_listen +EXPORT_SYMBOL vmlinux 0x2c7e2b57 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x2c8cb644 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x2cbd23af trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x2cbdef7d radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2ce6795d secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x2cefdac7 inet_del_offload +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d1f33a5 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0x2d304617 __find_get_block +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 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2daf73cf __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x2dc1829e finish_open +EXPORT_SYMBOL vmlinux 0x2e2a88cf brioctl_set +EXPORT_SYMBOL vmlinux 0x2e3ca22f tcf_exts_change +EXPORT_SYMBOL vmlinux 0x2e41cf9a raw_copy_in_user +EXPORT_SYMBOL vmlinux 0x2e43356b config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e640825 tcp_child_process +EXPORT_SYMBOL vmlinux 0x2e66b170 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x2ea69c35 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x2eaed474 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x2ebe0261 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edcab17 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x2ee63073 kill_anon_super +EXPORT_SYMBOL vmlinux 0x2ef5661d segment_modify_shared +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0654e9 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x2f069987 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f471b39 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x2f5b4441 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x2f66dc34 nobh_writepage +EXPORT_SYMBOL vmlinux 0x2f6b6fdb page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f783046 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x2f7ef9e4 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x2f9f9991 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x2fa5a500 memcmp +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbf1657 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x2fc8b759 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x2fd1cade iterate_dir +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe852ad md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x2fe8f688 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x2ffffb6f _ebc_tolower +EXPORT_SYMBOL vmlinux 0x30246627 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x3024c7eb dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x303e1e42 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x303eea38 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x3041d196 load_nls +EXPORT_SYMBOL vmlinux 0x304bae66 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x306828dc iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x306d864c mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x308d5ecb netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30c1c5f6 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x30c7a2fe _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0x30c8665a tcp_mmap +EXPORT_SYMBOL vmlinux 0x30ce3a6f qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x30ce3ae2 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x31004884 register_filesystem +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310e78cf skb_seq_read +EXPORT_SYMBOL vmlinux 0x310ec07e scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x31258009 pci_disable_device +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3127f13f dev_emerg_hash +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x314bd242 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x314c06ba tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x3156029e blkdev_put +EXPORT_SYMBOL vmlinux 0x315f9f86 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x31885485 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x31893fba nf_log_set +EXPORT_SYMBOL vmlinux 0x319b80e8 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x31b6c9e8 param_set_invbool +EXPORT_SYMBOL vmlinux 0x31c40141 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x31e55319 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x31e7b349 key_create_or_update +EXPORT_SYMBOL vmlinux 0x31eb2c96 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x31fff537 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x3209cfff input_set_abs_params +EXPORT_SYMBOL vmlinux 0x321e29d9 pci_find_resource +EXPORT_SYMBOL vmlinux 0x323280e7 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x3233006e kernel_sendpage +EXPORT_SYMBOL vmlinux 0x323361b2 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x323667a3 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x32442267 set_guest_storage_key +EXPORT_SYMBOL vmlinux 0x325a9e8c kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x3275689f smp_ctl_set_bit +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328e0ec4 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x3296d449 tcf_block_put +EXPORT_SYMBOL vmlinux 0x3299156a netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x32ae0796 do_wait_intr +EXPORT_SYMBOL vmlinux 0x32ba461e dev_set_mtu +EXPORT_SYMBOL vmlinux 0x32c2966d pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x32c6a2d8 _ebcasc_500 +EXPORT_SYMBOL vmlinux 0x32c6eacc xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d33c18 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x32fc4225 follow_up +EXPORT_SYMBOL vmlinux 0x3305d0be tty_vhangup +EXPORT_SYMBOL vmlinux 0x3340f2ab inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x334a0971 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x335d469b proc_remove +EXPORT_SYMBOL vmlinux 0x3366eb8b tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x338bbef8 __ndelay +EXPORT_SYMBOL vmlinux 0x339ed741 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0x339f4484 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x33a11450 dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x33e59f0c jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x33e5f2f8 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x33e639ce idr_for_each +EXPORT_SYMBOL vmlinux 0x33edd27b inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x33f74de3 _ascebc_500 +EXPORT_SYMBOL vmlinux 0x33f8fcfb nf_log_register +EXPORT_SYMBOL vmlinux 0x33fcfca3 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x3422362e jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x343e4275 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x3449dae9 tcf_em_register +EXPORT_SYMBOL vmlinux 0x344bcaf0 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x348e4028 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x348e57bc new_inode +EXPORT_SYMBOL vmlinux 0x3495d652 soft_cursor +EXPORT_SYMBOL vmlinux 0x349ac524 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34b1f49c pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x34b9e29d tcp_sendpage +EXPORT_SYMBOL vmlinux 0x34ddda3b kern_unmount +EXPORT_SYMBOL vmlinux 0x34e0f417 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f497a7 ida_free +EXPORT_SYMBOL vmlinux 0x35073eb9 __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x350d9335 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x353b3369 seq_release_private +EXPORT_SYMBOL vmlinux 0x3558414e dev_notice_hash +EXPORT_SYMBOL vmlinux 0x35743caf skb_copy_expand +EXPORT_SYMBOL vmlinux 0x358718a1 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x359dd77a t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x35a0ac48 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35b8ec56 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x35bf9b9a netif_device_attach +EXPORT_SYMBOL vmlinux 0x35d38c07 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x35df97a9 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x35ea23a5 input_flush_device +EXPORT_SYMBOL vmlinux 0x35f2f91b set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x35f44484 ccw_device_tm_intrg +EXPORT_SYMBOL vmlinux 0x3602aba9 raw3270_register_notifier +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36ad1358 dqget +EXPORT_SYMBOL vmlinux 0x36ce2557 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0x36d3da05 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x36db9710 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x36df4f8e submit_bh +EXPORT_SYMBOL vmlinux 0x3719fba1 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x37226ab1 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x373c35af vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x373d1a96 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x37594f68 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x379f0cdc scsi_remove_target +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37bf3221 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x37dfd2c5 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x37e7c16b mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x3809f6a1 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x380e2492 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38209c23 nf_log_trace +EXPORT_SYMBOL vmlinux 0x3832522f __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x3835f112 param_set_ulong +EXPORT_SYMBOL vmlinux 0x3843e6b2 iucv_if +EXPORT_SYMBOL vmlinux 0x385cc433 __fs_parse +EXPORT_SYMBOL vmlinux 0x385e0f3e sock_register +EXPORT_SYMBOL vmlinux 0x387c5462 _dev_warn +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38ac9698 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x38c568c8 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x38e92a0f __post_watch_notification +EXPORT_SYMBOL vmlinux 0x38ee1ae6 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x38f64cea jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x38f6810c bio_devname +EXPORT_SYMBOL vmlinux 0x39194ff9 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x3920e266 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x395bdacc debug_hex_ascii_view +EXPORT_SYMBOL vmlinux 0x3983af87 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x3993ee9c tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399f4035 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x39ae2dd2 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39c60ac5 ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0x39dd1d7d __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x39dd5539 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x39de108d xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x39f57977 __tcf_idr_release +EXPORT_SYMBOL vmlinux 0x39f92dae audit_log +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1733d0 dfltcc_inflate +EXPORT_SYMBOL vmlinux 0x3a190760 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x3a23355d from_kuid +EXPORT_SYMBOL vmlinux 0x3a2abd97 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a363bf6 input_set_capability +EXPORT_SYMBOL vmlinux 0x3a3dbd90 xp_free +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a570e10 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x3a76617c simple_transaction_release +EXPORT_SYMBOL vmlinux 0x3a8f7e2a unregister_service_level +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac7d5e2 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x3ac8938b enable_sacf_uaccess +EXPORT_SYMBOL vmlinux 0x3afc76a6 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x3b176ce7 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x3b1a1c23 d_drop +EXPORT_SYMBOL vmlinux 0x3b1d7588 con_is_bound +EXPORT_SYMBOL vmlinux 0x3b5abb1c tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b756f6a crc32_le +EXPORT_SYMBOL vmlinux 0x3b8551b7 tso_count_descs +EXPORT_SYMBOL vmlinux 0x3b9973e2 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x3bb92ad9 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x3be1c221 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3c0b4eee __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3f2b25 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c57022c reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x3c62c086 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x3c636962 neigh_for_each +EXPORT_SYMBOL vmlinux 0x3c802903 input_unregister_device +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c949b44 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x3c9fb68a vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x3cae276d input_release_device +EXPORT_SYMBOL vmlinux 0x3cb03209 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x3cb1ee3a qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x3cb44b02 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x3ce13f4c pci_match_id +EXPORT_SYMBOL vmlinux 0x3ce2242e generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf77eb7 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x3d117a60 itcw_calc_size +EXPORT_SYMBOL vmlinux 0x3d2510e2 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x3d2c2e9d pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x3d2d79bc netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x3d48d5a3 write_inode_now +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d6b3755 empty_name +EXPORT_SYMBOL vmlinux 0x3d8e5753 inode_set_flags +EXPORT_SYMBOL vmlinux 0x3da3a2f1 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db3b5a6 hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x3db5506e input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x3dc45952 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x3dc9698b udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3de11879 tso_start +EXPORT_SYMBOL vmlinux 0x3de3f6b6 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e07c7af __lock_page +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e2d675e sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x3e3a1ef1 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x3e430126 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x3e516c51 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x3e643df2 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x3e655932 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x3e74fa75 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x3e8213a4 blk_queue_split +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3ea9365b napi_disable +EXPORT_SYMBOL vmlinux 0x3ea99b86 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x3eb6c045 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x3eb94250 itcw_add_dcw +EXPORT_SYMBOL vmlinux 0x3ed91a12 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x3edd4b55 register_cdrom +EXPORT_SYMBOL vmlinux 0x3ee22444 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x3ee8a955 get_cached_acl +EXPORT_SYMBOL vmlinux 0x3ef8b53a cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x3f0d73a8 md_handle_request +EXPORT_SYMBOL vmlinux 0x3f0f02ec pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x3f14a4e6 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x3f1d5e30 kernel_connect +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4d6cd5 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f954710 md_check_recovery +EXPORT_SYMBOL vmlinux 0x3f96da6a udp_seq_start +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fadb213 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x3fae1c95 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x3fb0b9e3 __udelay +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3ff250bc rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x401730e3 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x4024c1c3 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x402a960a jiffies_64 +EXPORT_SYMBOL vmlinux 0x402af05c xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x4039c277 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40bd3640 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c8319e sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40e1a3fc kernel_accept +EXPORT_SYMBOL vmlinux 0x40e47067 vfs_get_super +EXPORT_SYMBOL vmlinux 0x40e54804 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x40e58c14 kern_path_create +EXPORT_SYMBOL vmlinux 0x40eb4257 __close_fd +EXPORT_SYMBOL vmlinux 0x40f22134 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x40f51ed2 d_add +EXPORT_SYMBOL vmlinux 0x41215d2c __sb_end_write +EXPORT_SYMBOL vmlinux 0x41409c97 wake_up_process +EXPORT_SYMBOL vmlinux 0x41455c20 set_pgste_bits +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4149b396 s390_isolate_bp_guest +EXPORT_SYMBOL vmlinux 0x415a0091 cond_set_guest_storage_key +EXPORT_SYMBOL vmlinux 0x415c1b36 seq_escape +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4198ca95 __do_once_done +EXPORT_SYMBOL vmlinux 0x41bbbb6f mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x41d208d2 peernet2id +EXPORT_SYMBOL vmlinux 0x41d5ad2e inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x42294d86 iunique +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4235e48d reuseport_alloc +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42514ebe __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x4260eaf7 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x4267a747 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x4289d44f find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x428be7f1 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x42d5963d skb_queue_tail +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f48c12 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x42f9eee6 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x43119c27 account_page_redirty +EXPORT_SYMBOL vmlinux 0x431e6f96 skb_put +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435341c2 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x43623561 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x4372f1b1 redraw_screen +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43a08113 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43ac8fa3 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x43bdfa20 console_irq +EXPORT_SYMBOL vmlinux 0x43c83458 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x43cf3bc3 dql_completed +EXPORT_SYMBOL vmlinux 0x43d03039 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x43e66b5b dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x43e96d1e d_add_ci +EXPORT_SYMBOL vmlinux 0x4412c518 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x441f681b inet_listen +EXPORT_SYMBOL vmlinux 0x4420c8ad pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x44238b4d dcb_getapp +EXPORT_SYMBOL vmlinux 0x443cecbb find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x44436a28 mr_table_dump +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44655dbc jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x4485113a pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x4495be77 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x449e7990 bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x44a0913a alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44b30fb5 csch +EXPORT_SYMBOL vmlinux 0x44b88b05 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x44ca9858 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x44cba013 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0x44d2886b end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x44df92ce inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f42d1e ip_check_defrag +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x455716c2 param_get_uint +EXPORT_SYMBOL vmlinux 0x4563681c ip_defrag +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45a14d6d remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0x45c03850 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x45c92313 VMALLOC_END +EXPORT_SYMBOL vmlinux 0x45c9f11d jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x45d3c773 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x45d5e55d kill_pid +EXPORT_SYMBOL vmlinux 0x45e24bf0 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x46066e5b perf_pmu_name +EXPORT_SYMBOL vmlinux 0x4610df0c thaw_super +EXPORT_SYMBOL vmlinux 0x461695f2 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x461b2552 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46301af5 input_event +EXPORT_SYMBOL vmlinux 0x4638ed51 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x465066a1 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x4657b795 completion_done +EXPORT_SYMBOL vmlinux 0x4658ee92 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x46621b4a netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x4690f33d dquot_alloc +EXPORT_SYMBOL vmlinux 0x46a496f8 xp_alloc +EXPORT_SYMBOL vmlinux 0x46ad30fb security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x46bc5b52 __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x46c62bc9 dev_uc_add +EXPORT_SYMBOL vmlinux 0x46c94325 devm_memremap +EXPORT_SYMBOL vmlinux 0x46cd7bb1 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x46cd8fce iucv_message_send +EXPORT_SYMBOL vmlinux 0x46d59f7d smp_cpu_mt_shift +EXPORT_SYMBOL vmlinux 0x46e319aa tcw_set_data +EXPORT_SYMBOL vmlinux 0x46f9514b xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x46fe99e7 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x47046b93 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x47392e76 sclp_ocf_cpc_name_copy +EXPORT_SYMBOL vmlinux 0x473b57d1 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x475e9231 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477e323f hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x47817913 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47bb2b60 input_register_handle +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47e542e5 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x47e5fcae has_capability +EXPORT_SYMBOL vmlinux 0x4810b17d nvm_unregister +EXPORT_SYMBOL vmlinux 0x48159ee0 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x4823819e raw3270_buffer_address +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4833524e netlink_set_err +EXPORT_SYMBOL vmlinux 0x48497228 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x486d25a0 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x488f28eb d_set_d_op +EXPORT_SYMBOL vmlinux 0x48950a20 dm_put_device +EXPORT_SYMBOL vmlinux 0x4899fcca kfree_skb_list +EXPORT_SYMBOL vmlinux 0x489a6449 __tracepoint_s390_cio_tpi +EXPORT_SYMBOL vmlinux 0x489d8b4d dquot_release +EXPORT_SYMBOL vmlinux 0x489f5ef2 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a2caa8 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48ada7be set_fs +EXPORT_SYMBOL vmlinux 0x48b5bc6c unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x48b80144 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x48b834ca ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48d726b0 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x48f42471 filp_close +EXPORT_SYMBOL vmlinux 0x48fdf993 softnet_data +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49140379 mpage_writepage +EXPORT_SYMBOL vmlinux 0x493c9b65 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x494d9b67 release_pages +EXPORT_SYMBOL vmlinux 0x49545e0a input_set_keycode +EXPORT_SYMBOL vmlinux 0x495990f3 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x4961c252 datagram_poll +EXPORT_SYMBOL vmlinux 0x498ab97f input_inject_event +EXPORT_SYMBOL vmlinux 0x499013e5 bh_submit_read +EXPORT_SYMBOL vmlinux 0x49969bf4 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x49a74cbf pci_select_bars +EXPORT_SYMBOL vmlinux 0x49b0f445 kobject_add +EXPORT_SYMBOL vmlinux 0x49b38812 bio_uninit +EXPORT_SYMBOL vmlinux 0x49bac027 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x49ca0e70 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x49df754b generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x49f90a87 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x4a20ba84 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x4a2129bd __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x4a3c106d dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x4a4d2e3d in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x4a51b06e vm_map_ram +EXPORT_SYMBOL vmlinux 0x4a5e0f26 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x4a886fe5 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x4a9533e4 netdev_emerg +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9e9669 tty_lock +EXPORT_SYMBOL vmlinux 0x4a9ed9f4 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x4aa3fec4 neigh_destroy +EXPORT_SYMBOL vmlinux 0x4ab1f386 cont_write_begin +EXPORT_SYMBOL vmlinux 0x4adcbe0e flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x4ae64bad sock_kfree_s +EXPORT_SYMBOL vmlinux 0x4aead950 ccw_device_set_options_mask +EXPORT_SYMBOL vmlinux 0x4af06660 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x4b400e40 netif_rx +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b91bb28 device_add_disk +EXPORT_SYMBOL vmlinux 0x4b93e244 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x4bb63a0c devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x4bfcf048 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x4c01f583 lookup_one_len +EXPORT_SYMBOL vmlinux 0x4c098692 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x4c3d867f pci_enable_msi +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c587ad2 dev_uc_del +EXPORT_SYMBOL vmlinux 0x4c5cba0a fsync_bdev +EXPORT_SYMBOL vmlinux 0x4c60bd59 generic_write_end +EXPORT_SYMBOL vmlinux 0x4c6acaeb pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x4c6fe315 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x4c7cc9e4 debug_raw_view +EXPORT_SYMBOL vmlinux 0x4c7e479d napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4ca132f7 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x4cdbceec nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x4cee2655 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x4cf9c678 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x4d004c45 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x4d184cde ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x4d19a6bc bio_advance +EXPORT_SYMBOL vmlinux 0x4d2f17d4 param_get_charp +EXPORT_SYMBOL vmlinux 0x4d419fda netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x4d445255 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x4d4d342b sock_no_accept +EXPORT_SYMBOL vmlinux 0x4d5d9e0c iov_iter_discard +EXPORT_SYMBOL vmlinux 0x4d5fa788 km_report +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d7775da tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x4d8c1716 ccw_device_is_pathgroup +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4dd41c83 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x4dd6fac4 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4dea1053 memchr +EXPORT_SYMBOL vmlinux 0x4deb2ef8 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x4df14297 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df6ecb9 km_query +EXPORT_SYMBOL vmlinux 0x4e166938 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x4e3394fe ip6_xmit +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e4924ea init_virt_timer +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e8c8dd5 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x4e9b851a gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x4ea0593a tcp_ioctl +EXPORT_SYMBOL vmlinux 0x4ea823da kobject_put +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ed7b3b5 hex2bin +EXPORT_SYMBOL vmlinux 0x4ee21da1 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x4ee6b680 __tracepoint_s390_cio_rsch +EXPORT_SYMBOL vmlinux 0x4eec9dab arch_spin_lock_wait +EXPORT_SYMBOL vmlinux 0x4ef8ec04 input_reset_device +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4f13202a security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1ebc91 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x4f2cd1b5 __cpcmd +EXPORT_SYMBOL vmlinux 0x4f58a829 md_register_thread +EXPORT_SYMBOL vmlinux 0x4f5e42f3 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x4f740036 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x4f7a907c __skb_get_hash +EXPORT_SYMBOL vmlinux 0x4faec757 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x4fd54ea1 pci_pme_active +EXPORT_SYMBOL vmlinux 0x4fe29905 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x4fef402b pci_disable_msix +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x5025fcc2 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x5035cbcf xa_get_mark +EXPORT_SYMBOL vmlinux 0x5061ecaf airq_iv_free +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5071c79b fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x507293bb dev_load +EXPORT_SYMBOL vmlinux 0x5078f2fa nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x507b25d0 kstrndup +EXPORT_SYMBOL vmlinux 0x507d6239 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x508939a4 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x508d9144 setattr_copy +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50a68f10 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x50afe977 pci_map_rom +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d348be __seq_open_private +EXPORT_SYMBOL vmlinux 0x50d6a9db thaw_bdev +EXPORT_SYMBOL vmlinux 0x50da7e80 vlan_for_each +EXPORT_SYMBOL vmlinux 0x50e0a893 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x50f4cd5e scsi_dma_map +EXPORT_SYMBOL vmlinux 0x5101f28b unregister_shrinker +EXPORT_SYMBOL vmlinux 0x5120b52e dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x5143ce65 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x51473316 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x51496268 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516c7986 sock_no_bind +EXPORT_SYMBOL vmlinux 0x518bb9e6 diag204 +EXPORT_SYMBOL vmlinux 0x518c1dc3 km_policy_notify +EXPORT_SYMBOL vmlinux 0x5191a256 seq_puts +EXPORT_SYMBOL vmlinux 0x51cb42d4 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0x51cd4d62 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x51cd67fa vfs_mkdir +EXPORT_SYMBOL vmlinux 0x51cd68b8 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x51d9a6fd kbd_alloc +EXPORT_SYMBOL vmlinux 0x51dd10f8 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x521e758e migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x522fba1d raw3270_reset +EXPORT_SYMBOL vmlinux 0x5247e5d8 migrate_page_states +EXPORT_SYMBOL vmlinux 0x5263436e ap_queue_message +EXPORT_SYMBOL vmlinux 0x526b6c3d __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x526e0b74 dev_open +EXPORT_SYMBOL vmlinux 0x52819990 kernel_cpumcf_alert +EXPORT_SYMBOL vmlinux 0x528bb50b genl_register_family +EXPORT_SYMBOL vmlinux 0x52a11312 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x52b160aa d_splice_alias +EXPORT_SYMBOL vmlinux 0x52b35be4 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x52b9c901 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52e069dc fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x52ff9b6d xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x53468ce7 pskb_extract +EXPORT_SYMBOL vmlinux 0x534cdfb6 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x53557e37 nvm_end_io +EXPORT_SYMBOL vmlinux 0x53590900 path_has_submounts +EXPORT_SYMBOL vmlinux 0x53abaf1a netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x53b1641d tcf_action_exec +EXPORT_SYMBOL vmlinux 0x53c2fb87 ccw_device_start_key +EXPORT_SYMBOL vmlinux 0x53c98269 del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x53e76515 dquot_acquire +EXPORT_SYMBOL vmlinux 0x53ebf640 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x53f94dec vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x53fba8e1 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x53fd6273 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x540862e2 diag14 +EXPORT_SYMBOL vmlinux 0x5415d0c5 iucv_bus +EXPORT_SYMBOL vmlinux 0x542392d3 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x5424b33b padata_start +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5445feab __irq_regs +EXPORT_SYMBOL vmlinux 0x546478d9 inet_protos +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x549c8621 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54ab9c47 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x54b374f7 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x54b7ca55 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x54b972f3 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x54dfb6b7 padata_free +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5516ff85 ll_rw_block +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x55469408 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x554a384a __siphash_aligned +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554f9b61 set_wb_congested +EXPORT_SYMBOL vmlinux 0x55668854 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x556c3753 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x55792179 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x557b830d dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x55820720 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55a2e0ab vm_mmap +EXPORT_SYMBOL vmlinux 0x55a3f3e0 sclp_add_request +EXPORT_SYMBOL vmlinux 0x55a98a60 tso_build_data +EXPORT_SYMBOL vmlinux 0x55bd59a9 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x55cb3af1 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x55db6970 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x55e1b166 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e7ee03 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x55e7f57f handle_edge_irq +EXPORT_SYMBOL vmlinux 0x55eade0f shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x55eccdf5 mod_virt_timer +EXPORT_SYMBOL vmlinux 0x55edc06b pci_clear_master +EXPORT_SYMBOL vmlinux 0x55f28616 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x55fbaf1d smsg_unregister_callback +EXPORT_SYMBOL vmlinux 0x5611de0f register_md_personality +EXPORT_SYMBOL vmlinux 0x561b89af blkdev_get_by_dev +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 0x5648ab04 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x5674ea2d __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x567e9676 sock_no_connect +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56b5e07d follow_pfn +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56ca422a raw3270_start +EXPORT_SYMBOL vmlinux 0x56d593a1 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x56d78870 chsc +EXPORT_SYMBOL vmlinux 0x56dddc35 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x56e71662 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x56f8c371 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x570d345e gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x570f26a7 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x57231c8e dma_cache_sync +EXPORT_SYMBOL vmlinux 0x574503ba __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x574666c6 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x5764d1db udp6_set_csum +EXPORT_SYMBOL vmlinux 0x576602f9 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5777690a proc_create_single_data +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x57945097 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x57cd71f4 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x57d43946 devm_release_resource +EXPORT_SYMBOL vmlinux 0x57d636d6 sk_alloc +EXPORT_SYMBOL vmlinux 0x57e1c1d1 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x57e4b6b6 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x57f16392 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x57ffa7d1 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x5803144a con_is_visible +EXPORT_SYMBOL vmlinux 0x580e1405 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581d77b6 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x58557863 md_error +EXPORT_SYMBOL vmlinux 0x58580072 skb_tx_error +EXPORT_SYMBOL vmlinux 0x585ab935 logfc +EXPORT_SYMBOL vmlinux 0x58943130 ipv4_specific +EXPORT_SYMBOL vmlinux 0x58a7e89d tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58c211ee ccw_device_tm_start_timeout_key +EXPORT_SYMBOL vmlinux 0x58c9adf1 revert_creds +EXPORT_SYMBOL vmlinux 0x58cd1b54 string_escape_mem +EXPORT_SYMBOL vmlinux 0x58ce29fa dev_lstats_read +EXPORT_SYMBOL vmlinux 0x58d10341 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x58d755ff devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58ffcdbb __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x5904a02f fb_set_var +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x59191467 tty_port_put +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x59669d54 misc_register +EXPORT_SYMBOL vmlinux 0x598022a9 param_get_long +EXPORT_SYMBOL vmlinux 0x59846963 dst_release +EXPORT_SYMBOL vmlinux 0x598fc7a9 fasync_helper +EXPORT_SYMBOL vmlinux 0x59a1aeef dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x59a9d8ca param_ops_string +EXPORT_SYMBOL vmlinux 0x59ac339b pci_resize_resource +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59d65a95 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x59f53d58 pci_find_bus +EXPORT_SYMBOL vmlinux 0x59fc635e inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x5a03b0e8 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x5a0516f4 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x5a0a3ac2 param_ops_short +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a0b9217 dev_warn_hash +EXPORT_SYMBOL vmlinux 0x5a10f98e del_virt_timer +EXPORT_SYMBOL vmlinux 0x5a24f8a6 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x5a4713c8 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x5a4d247a scsi_register_driver +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a7a6941 tty_kref_put +EXPORT_SYMBOL vmlinux 0x5a86f07b scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x5a9e2d1d dquot_resume +EXPORT_SYMBOL vmlinux 0x5accc2b5 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5ad0ba76 __invalidate_device +EXPORT_SYMBOL vmlinux 0x5ad136c1 neigh_xmit +EXPORT_SYMBOL vmlinux 0x5ae1932a dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x5af614d1 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x5b2b28ab tcw_add_tidaw +EXPORT_SYMBOL vmlinux 0x5b315055 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b423344 dm_get_device +EXPORT_SYMBOL vmlinux 0x5b4657f2 file_modified +EXPORT_SYMBOL vmlinux 0x5b539596 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x5b604bd1 segment_type +EXPORT_SYMBOL vmlinux 0x5b6f1c71 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x5b75c3c1 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x5bc36794 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5c002e89 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x5c197388 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x5c2d456c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x5c3f6c6f param_set_short +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c496680 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x5c68e356 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x5c837639 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x5c923848 s390_epoch_delta_notifier +EXPORT_SYMBOL vmlinux 0x5c93fdfe ap_cancel_message +EXPORT_SYMBOL vmlinux 0x5c941631 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x5cc32bdc bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x5cd2209f buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x5cda7241 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d01cf30 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x5d0dadc2 __bforget +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d4c00fc d_find_any_alias +EXPORT_SYMBOL vmlinux 0x5d4eacbe fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x5d606475 pcim_iomap +EXPORT_SYMBOL vmlinux 0x5d621e32 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x5d719fc7 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d7dee6b strscpy_pad +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5d9bcf57 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x5daa3a1c path_get +EXPORT_SYMBOL vmlinux 0x5dbe2d2a scsi_host_put +EXPORT_SYMBOL vmlinux 0x5dc35964 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x5dd3cedf gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x5dd8aec3 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x5ddadcea __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5de086d5 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x5df756d7 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e20d0e0 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x5e212a5b ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x5e21cb82 ap_send +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e43c33b cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x5e43fd82 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x5e4d1616 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x5e4e200a blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x5e51b082 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x5e5b76f8 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x5e6011f7 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x5e61f774 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x5e6e43a6 blk_put_request +EXPORT_SYMBOL vmlinux 0x5e86171d raw3270_unregister_notifier +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebc56c5 iterate_fd +EXPORT_SYMBOL vmlinux 0x5ebd7a79 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ecd1530 idr_destroy +EXPORT_SYMBOL vmlinux 0x5ecfeec6 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed4a646 console_start +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5ee634ed scsi_target_resume +EXPORT_SYMBOL vmlinux 0x5eed4778 d_find_alias +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f1e7d4a security_path_rename +EXPORT_SYMBOL vmlinux 0x5f46c9c5 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x5f67c6e2 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x5f68f5fa ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x5f757f86 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x5f78002c fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x5f7e6975 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5f982d56 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x5f98bdb6 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0x5fb1c8d7 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x5fcbd61a get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x5fd2298e strnstr +EXPORT_SYMBOL vmlinux 0x5fd86225 vfs_mknod +EXPORT_SYMBOL vmlinux 0x5fda0adb ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5fe3e108 user_path_at_empty +EXPORT_SYMBOL vmlinux 0x5ffda330 register_quota_format +EXPORT_SYMBOL vmlinux 0x60000ecd sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6014c17c __scsi_execute +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6026acb3 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x602b5ee1 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x60385579 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x60473d74 posix_acl_valid +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x6068eb57 dma_set_mask +EXPORT_SYMBOL vmlinux 0x6083c219 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x608d249b proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x6093be8d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x60956465 proto_register +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60b5c8dd register_external_irq +EXPORT_SYMBOL vmlinux 0x60baab99 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x60bfe9ab neigh_table_init +EXPORT_SYMBOL vmlinux 0x60c9ccfd skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x6101ed65 nmi_panic +EXPORT_SYMBOL vmlinux 0x61131fc4 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x611835f2 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x613137e7 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x6132b705 __check_sticky +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x61714a60 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x618c2ac8 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x61a39e8c scsi_print_sense +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b8c50b netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x61c6ca26 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x61d28ff9 noop_fsync +EXPORT_SYMBOL vmlinux 0x61e1f9a3 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e6183a xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x6221fe5b icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622a8a03 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x62449a9f sock_alloc +EXPORT_SYMBOL vmlinux 0x624c45c1 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x624db60c blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x62729dc5 _dev_notice +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627e57ed make_kuid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62a60c52 param_set_uint +EXPORT_SYMBOL vmlinux 0x62b8d41d skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62f00f21 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x62f5f556 pci_get_device +EXPORT_SYMBOL vmlinux 0x630db468 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631af468 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63210000 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x6333ec01 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x634bf7e4 percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x6355bf95 arp_xmit +EXPORT_SYMBOL vmlinux 0x635e6d8c mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x6364a8b2 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x636b70eb sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x6371e098 cio_irb +EXPORT_SYMBOL vmlinux 0x6384098d generic_read_dir +EXPORT_SYMBOL vmlinux 0x638d09f4 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x639478ed tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b3671c rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x63b5900c xfrm_state_free +EXPORT_SYMBOL vmlinux 0x63bf53c7 unix_get_socket +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63cc7064 bio_chain +EXPORT_SYMBOL vmlinux 0x63d6dbd9 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x640564dd mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x641a5669 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x641e8923 try_module_get +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x64512a6d scsi_scan_target +EXPORT_SYMBOL vmlinux 0x64589a0e genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x645c7c8a take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x64644c31 put_disk +EXPORT_SYMBOL vmlinux 0x646e20df cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x6482e5f3 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x648f7010 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x6496f045 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a3c805 block_truncate_page +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64af5496 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x64b639a3 __tracepoint_s390_cio_hsch +EXPORT_SYMBOL vmlinux 0x64df3bce km_new_mapping +EXPORT_SYMBOL vmlinux 0x65055f9d from_kgid +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x65250114 ccw_device_halt +EXPORT_SYMBOL vmlinux 0x6535000f security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x656c1b37 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x65989552 set_nlink +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a6e3e3 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x65a78e0e tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x65a7aedc inc_node_page_state +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x660c46cb get_watch_queue +EXPORT_SYMBOL vmlinux 0x660f83b8 single_open +EXPORT_SYMBOL vmlinux 0x66441d97 inet_release +EXPORT_SYMBOL vmlinux 0x6648d913 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x665cbc3b tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666f7a1c truncate_setsize +EXPORT_SYMBOL vmlinux 0x66737670 pgste_perform_essa +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x6678cb36 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x66b98575 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x66c72d86 simple_rename +EXPORT_SYMBOL vmlinux 0x66cdc263 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66e25a6d ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x66e69897 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x66ee8665 vfs_create_mount +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x6721e5a4 down_killable +EXPORT_SYMBOL vmlinux 0x672660a6 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x6750425a md_update_sb +EXPORT_SYMBOL vmlinux 0x6750c15b ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6764da8a raw3270_request_set_data +EXPORT_SYMBOL vmlinux 0x6780bd2b jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x6785687a __next_node_in +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678c62eb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x678d2401 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67ec9a26 cdev_device_add +EXPORT_SYMBOL vmlinux 0x67fcea98 import_iovec +EXPORT_SYMBOL vmlinux 0x681d4b31 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x6832be9d write_cache_pages +EXPORT_SYMBOL vmlinux 0x683a8572 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x684ae04d param_set_byte +EXPORT_SYMBOL vmlinux 0x6850da0f migrate_page +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x687173de ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x687fec6b dev_get_flags +EXPORT_SYMBOL vmlinux 0x6893b4d6 ida_alloc_range +EXPORT_SYMBOL vmlinux 0x6896f6f4 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68dd178c fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0x68df8ebd dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x68f42131 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x68fe9e66 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x6906c5ec remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x69097457 crc32_be +EXPORT_SYMBOL vmlinux 0x69335e17 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x6936ea22 key_revoke +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69515eda tty_set_operations +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x69689ca1 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x6976daec down_write +EXPORT_SYMBOL vmlinux 0x6986d9a2 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x6995ab6b lease_get_mtime +EXPORT_SYMBOL vmlinux 0x69a75a7d scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b43074 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x69cf77c8 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0x69d2916a jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x69d85c34 gen_pool_create +EXPORT_SYMBOL vmlinux 0x69f361fa pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a3f6809 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x6a5a492e add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a7bef09 dma_pool_create +EXPORT_SYMBOL vmlinux 0x6a8484f8 __pagevec_release +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6ab172e0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6ac08241 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x6ae27e69 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af3537a tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x6afbb6f2 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x6b19cd03 wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x6b1c410c tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b2f8c74 poll_initwait +EXPORT_SYMBOL vmlinux 0x6b3efc81 PDE_DATA +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5f3484 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6bac671b __crc32c_le +EXPORT_SYMBOL vmlinux 0x6baca297 __tracepoint_s390_cio_chsc +EXPORT_SYMBOL vmlinux 0x6bafa62a kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdadf03 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x6be1af49 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0x6be36ef3 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6be4da1b blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x6bfe1653 iucv_message_receive +EXPORT_SYMBOL vmlinux 0x6c244e95 ccw_device_get_path_mask +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c28b972 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x6c2acdd5 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x6c2f340d __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x6c31bff6 noop_llseek +EXPORT_SYMBOL vmlinux 0x6c41f5cf ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x6c595a73 __register_nls +EXPORT_SYMBOL vmlinux 0x6c5f4f84 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x6c60994e remove_wait_queue +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c9c810e fb_blank +EXPORT_SYMBOL vmlinux 0x6ca2b4a8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x6cae5e80 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cba04db tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x6cc011bb flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x6cc710ff gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x6ccc34dd sort +EXPORT_SYMBOL vmlinux 0x6ccef35b pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x6ce7497e __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x6cf62166 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6cf7335f __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x6d0183bf netdev_crit +EXPORT_SYMBOL vmlinux 0x6d151c94 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x6d175896 inode_init_once +EXPORT_SYMBOL vmlinux 0x6d1ea6ec strlcat +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2cbe90 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3be6f1 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x6d3d0f92 ip_options_compile +EXPORT_SYMBOL vmlinux 0x6d4bcda1 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0x6d5d971d security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x6d716601 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6dab0254 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x6daea280 crc32_le_shift +EXPORT_SYMBOL vmlinux 0x6dcf16da tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6de1ee49 block_commit_write +EXPORT_SYMBOL vmlinux 0x6de71336 kthread_blkcg +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e00b8cb _ebcasc +EXPORT_SYMBOL vmlinux 0x6e019034 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x6e10bea4 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x6e12c5fd ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x6e141918 key_move +EXPORT_SYMBOL vmlinux 0x6e4262b5 zap_page_range +EXPORT_SYMBOL vmlinux 0x6e4f851a iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x6e5bb93b udp_seq_next +EXPORT_SYMBOL vmlinux 0x6e6434f1 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x6e6c1cd4 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9ad290 cpu_have_feature +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ecb030a key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x6ed0e64f bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6ee16724 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x6ef84303 kvmalloc_node +EXPORT_SYMBOL vmlinux 0x6efd763e netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x6f108ad3 PageMovable +EXPORT_SYMBOL vmlinux 0x6f118dff flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x6f1ee1a7 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x6f25d7a2 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x6f365e44 ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0x6f405da5 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x6f5e994e bio_put +EXPORT_SYMBOL vmlinux 0x6f5ef93d memchr_inv +EXPORT_SYMBOL vmlinux 0x6f689943 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x6f6a3b79 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6f824a4b generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x6f8420a3 ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0x6f8dd42c sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6fad986f dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x6faea51d kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fc2745c radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x6fc85a42 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fe20923 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x6fe9c5f6 key_validate +EXPORT_SYMBOL vmlinux 0x6fecb682 debug_register +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x700ba009 sock_no_listen +EXPORT_SYMBOL vmlinux 0x702f4acf udp_table +EXPORT_SYMBOL vmlinux 0x7037c229 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x703b9931 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x704aaa0d dcache_dir_open +EXPORT_SYMBOL vmlinux 0x70571dbe tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x70627212 dev_err_hash +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x707fbb79 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x7087c1f7 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x709a199a task_work_add +EXPORT_SYMBOL vmlinux 0x70bab9e8 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x70c4dbe7 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x70ca31f9 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x70d5ed93 ida_destroy +EXPORT_SYMBOL vmlinux 0x710dc6ea block_invalidatepage +EXPORT_SYMBOL vmlinux 0x711a93b4 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x711fba6a vmap +EXPORT_SYMBOL vmlinux 0x7120f9bd LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x712135d6 proc_dostring +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712a80db input_allocate_device +EXPORT_SYMBOL vmlinux 0x71431d55 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x7145aef0 segment_load +EXPORT_SYMBOL vmlinux 0x7152f3da simple_empty +EXPORT_SYMBOL vmlinux 0x716f1048 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71759b6e cad_pid +EXPORT_SYMBOL vmlinux 0x717da3b9 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x718523ee __d_lookup_done +EXPORT_SYMBOL vmlinux 0x719ea089 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b96bc9 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0x71df609c mempool_destroy +EXPORT_SYMBOL vmlinux 0x71f4b37a mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x72113526 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x72120296 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x7282fcef configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x7287b498 inode_permission +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bc659e dev_addr_add +EXPORT_SYMBOL vmlinux 0x72bdeeb8 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x72c55858 bdget_disk +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72d2a635 sg_miter_start +EXPORT_SYMBOL vmlinux 0x72d651aa security_sock_graft +EXPORT_SYMBOL vmlinux 0x72dbe6a8 dev_mc_add +EXPORT_SYMBOL vmlinux 0x72e0f647 skb_pull +EXPORT_SYMBOL vmlinux 0x72e449ea __xa_set_mark +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f02478 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x72f36f72 sock_init_data +EXPORT_SYMBOL vmlinux 0x730b096c ap_apqn_in_matrix_owned_by_def_drv +EXPORT_SYMBOL vmlinux 0x732e00c7 _dev_info +EXPORT_SYMBOL vmlinux 0x73446643 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x7379e685 set_create_files_as +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x73869f30 __tracepoint_s390_cio_ssch +EXPORT_SYMBOL vmlinux 0x7389706a __memset16 +EXPORT_SYMBOL vmlinux 0x739bf68a seq_open_private +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b03b70 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x73bee008 set_disk_ro +EXPORT_SYMBOL vmlinux 0x73bf20c6 _ascebc +EXPORT_SYMBOL vmlinux 0x73e47c93 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x73f05c12 request_key_rcu +EXPORT_SYMBOL vmlinux 0x7404d15f seq_file_path +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x74133152 kill_block_super +EXPORT_SYMBOL vmlinux 0x741f70a9 debug_stop_all +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7425f234 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x74477ec4 seq_open +EXPORT_SYMBOL vmlinux 0x7452933b inet_addr_type +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x746ad233 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x746fa549 neigh_update +EXPORT_SYMBOL vmlinux 0x7470b01a tsb_init +EXPORT_SYMBOL vmlinux 0x7478d343 flush_signals +EXPORT_SYMBOL vmlinux 0x7490d552 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x7492dd2c tty_write_room +EXPORT_SYMBOL vmlinux 0x74a83cab vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74d858a7 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x74da2102 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x74e23963 ip_frag_next +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x75188361 console_stop +EXPORT_SYMBOL vmlinux 0x753abc0e tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x755bcb30 padata_free_shell +EXPORT_SYMBOL vmlinux 0x755deb18 sock_pfree +EXPORT_SYMBOL vmlinux 0x75886d2b security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x7594d4ae unregister_netdev +EXPORT_SYMBOL vmlinux 0x7597cc79 dev_uc_init +EXPORT_SYMBOL vmlinux 0x759a0416 __memset64 +EXPORT_SYMBOL vmlinux 0x759a9f2d refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x759e2883 inet_select_addr +EXPORT_SYMBOL vmlinux 0x75ac0197 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x75b9cf29 hsch +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 0x75d73bd2 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x75d8a820 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x75deb230 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x75eeadeb blackhole_netdev +EXPORT_SYMBOL vmlinux 0x75fcdd6f panic_notifier_list +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760a3eca ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x761dfa10 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76273b74 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x762fbade sk_mc_loop +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765c7cb3 sclp +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7671a777 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x7671e001 xa_store_range +EXPORT_SYMBOL vmlinux 0x767a3a48 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x768852df vc_cons +EXPORT_SYMBOL vmlinux 0x7691c662 d_path +EXPORT_SYMBOL vmlinux 0x769d9fa2 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76d0e477 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76fe07eb inet_accept +EXPORT_SYMBOL vmlinux 0x77076925 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x77247c5e ap_bus_force_rescan +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773a9072 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x77549590 fget_raw +EXPORT_SYMBOL vmlinux 0x7756306f unpin_user_pages +EXPORT_SYMBOL vmlinux 0x7798a1a3 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x779e4386 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x77a508f0 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77be6980 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x77d019fb __mutex_init +EXPORT_SYMBOL vmlinux 0x77df045f __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77fc9d40 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780c8594 dma_supported +EXPORT_SYMBOL vmlinux 0x780e0e21 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7817c595 raw3270_request_alloc +EXPORT_SYMBOL vmlinux 0x7819aea9 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x782acba5 crc_t10dif +EXPORT_SYMBOL vmlinux 0x7845b7b3 dev_mc_del +EXPORT_SYMBOL vmlinux 0x78473524 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x78485e06 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x78557671 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78820d1e filemap_fault +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x789f8541 param_ops_bool +EXPORT_SYMBOL vmlinux 0x78a0e487 udplite_table +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b7c017 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x78b9993b dev_add_offload +EXPORT_SYMBOL vmlinux 0x78bf7405 register_service_level +EXPORT_SYMBOL vmlinux 0x78c647c3 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x78deaa88 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78ed7423 mempool_create_node +EXPORT_SYMBOL vmlinux 0x790b7bdd flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x792d7f0f down +EXPORT_SYMBOL vmlinux 0x793a0fdd pci_bus_type +EXPORT_SYMBOL vmlinux 0x79423069 netdev_change_features +EXPORT_SYMBOL vmlinux 0x7980f6b5 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x79830728 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x798e537b blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x79a93d7d framebuffer_release +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79d8357e md_write_start +EXPORT_SYMBOL vmlinux 0x79de8d15 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x79ff586c gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x7a077139 dev_set_alias +EXPORT_SYMBOL vmlinux 0x7a07ca8e generic_file_mmap +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a10d57a blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2c2856 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a497efe blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x7a5d9a71 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x7a5eb017 pci_release_resource +EXPORT_SYMBOL vmlinux 0x7a62e068 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7a63f89e padata_stop +EXPORT_SYMBOL vmlinux 0x7a7d60e6 iucv_register +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa3aa9b dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abf7b43 dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0x7ac482d4 path_nosuid +EXPORT_SYMBOL vmlinux 0x7ac4b8a5 hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae39c37 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x7ae562d8 consume_skb +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b28e217 __sock_create +EXPORT_SYMBOL vmlinux 0x7b2baa20 page_mapping +EXPORT_SYMBOL vmlinux 0x7b4d1ef6 skb_trim +EXPORT_SYMBOL vmlinux 0x7b5a7137 strncat +EXPORT_SYMBOL vmlinux 0x7b5ace4c gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5e9094 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x7b6a8047 kobject_del +EXPORT_SYMBOL vmlinux 0x7b7906c8 kbd_keycode +EXPORT_SYMBOL vmlinux 0x7b88f0a5 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x7b8d5daa done_path_create +EXPORT_SYMBOL vmlinux 0x7b98190b string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x7ba4f489 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x7bbabc84 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bc066ee pci_enable_wake +EXPORT_SYMBOL vmlinux 0x7bd7dfd0 ap_test_config_usage_domain +EXPORT_SYMBOL vmlinux 0x7be56881 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c563d7f inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7c5d4a3a sclp_reactivate +EXPORT_SYMBOL vmlinux 0x7c648f9b follow_down +EXPORT_SYMBOL vmlinux 0x7c71d553 sg_miter_next +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cae9a48 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cc3859e ap_get_qdev +EXPORT_SYMBOL vmlinux 0x7cd651eb d_instantiate +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cec1011 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d13e517 generic_make_request +EXPORT_SYMBOL vmlinux 0x7d20a148 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x7d24f1f7 get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x7d45f998 generic_update_time +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5a0b61 sync_filesystem +EXPORT_SYMBOL vmlinux 0x7d5d4e3e inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x7d68df78 bdev_read_only +EXPORT_SYMBOL vmlinux 0x7d7a66c1 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x7d99cba9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x7da05f6d netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x7da7c5f9 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc7624d napi_gro_receive +EXPORT_SYMBOL vmlinux 0x7dc98156 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x7ddaf495 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x7ddd0fe4 kobject_set_name +EXPORT_SYMBOL vmlinux 0x7deec80c ap_flush_queue +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df9099f put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x7e0bbcfe neigh_app_ns +EXPORT_SYMBOL vmlinux 0x7e0c558e d_alloc_anon +EXPORT_SYMBOL vmlinux 0x7e1e2458 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7e200bc7 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x7e28fce6 set_anon_super +EXPORT_SYMBOL vmlinux 0x7e290b5f sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x7e305de4 param_get_bool +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e3f970e ns_capable +EXPORT_SYMBOL vmlinux 0x7e6e8dc3 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x7e821ba1 crc_ccitt +EXPORT_SYMBOL vmlinux 0x7e87ecdb scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x7e98fc18 xfrm_input +EXPORT_SYMBOL vmlinux 0x7ec9899d pcim_enable_device +EXPORT_SYMBOL vmlinux 0x7ed459db xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x7edab8b6 ap_driver_register +EXPORT_SYMBOL vmlinux 0x7ee7bab4 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7ef784f2 rename_lock +EXPORT_SYMBOL vmlinux 0x7efe9284 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f07435a bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2719ca simple_statfs +EXPORT_SYMBOL vmlinux 0x7f418e1d tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f543a10 sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f618bf9 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x7f6c2198 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x7f7cedb8 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f878979 registered_fb +EXPORT_SYMBOL vmlinux 0x7f8d6684 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x7fadf8b0 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fe427fd inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x7fecc1a5 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x80124dae iov_iter_advance +EXPORT_SYMBOL vmlinux 0x80296288 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x80318b30 sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8036248b __sb_start_write +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x805485ab __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x806f2c92 tcw_set_tccb +EXPORT_SYMBOL vmlinux 0x80a30684 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x80b06fe7 inet_add_offload +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d7f717 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x810006e3 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x810714b9 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x8128c039 smsg_register_callback +EXPORT_SYMBOL vmlinux 0x812cf7a5 page_pool_put_page +EXPORT_SYMBOL vmlinux 0x812f78eb xxh64_update +EXPORT_SYMBOL vmlinux 0x8134d388 stop_tty +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815d2227 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x818189c3 d_genocide +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x81844c9d vmemdup_user +EXPORT_SYMBOL vmlinux 0x81867800 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x81868fe7 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x81a1b7c4 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x81c31960 bio_init +EXPORT_SYMBOL vmlinux 0x81da550d pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81f04ee5 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x81f4787c qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820d1bc6 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x8217143c dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x822a44f6 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x822fc3db md_unregister_thread +EXPORT_SYMBOL vmlinux 0x823100da inode_needs_sync +EXPORT_SYMBOL vmlinux 0x82519608 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x826996a1 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x828756ad netif_receive_skb +EXPORT_SYMBOL vmlinux 0x828baa8e inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x8290f028 ccw_device_get_id +EXPORT_SYMBOL vmlinux 0x82aff34e dst_alloc +EXPORT_SYMBOL vmlinux 0x82b65560 mr_dump +EXPORT_SYMBOL vmlinux 0x82be7d4e balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x82c2f005 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82d14a03 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x82d36e5a kernel_write +EXPORT_SYMBOL vmlinux 0x83197c64 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x831a9b3f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x8323d12b block_write_begin +EXPORT_SYMBOL vmlinux 0x83244661 textsearch_register +EXPORT_SYMBOL vmlinux 0x832d435e xfrm_register_km +EXPORT_SYMBOL vmlinux 0x833a8e05 skb_dump +EXPORT_SYMBOL vmlinux 0x834035c5 blk_rq_init +EXPORT_SYMBOL vmlinux 0x8343be1d gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835e8f73 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x835fe168 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x83747bc9 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839c2252 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83c54bc0 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x83c8fcb5 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x83e1438d raw3270_request_reset +EXPORT_SYMBOL vmlinux 0x83e2c1e2 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x83eaf2b2 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x83f5ed2a skb_queue_purge +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x84084a58 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x84203caf eth_validate_addr +EXPORT_SYMBOL vmlinux 0x843e8a5b udp_pre_connect +EXPORT_SYMBOL vmlinux 0x843efed0 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x844f1884 locks_init_lock +EXPORT_SYMBOL vmlinux 0x845ed8f5 complete_and_exit +EXPORT_SYMBOL vmlinux 0x8462f536 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x847bf357 ap_perms_mutex +EXPORT_SYMBOL vmlinux 0x847c150d vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x848d22b6 finish_wait +EXPORT_SYMBOL vmlinux 0x848ea487 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x8491b659 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x8493de29 send_sig_info +EXPORT_SYMBOL vmlinux 0x84c18f4f ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x84c5602a unregister_console +EXPORT_SYMBOL vmlinux 0x84c66a4d __tracepoint_s390_diagnose +EXPORT_SYMBOL vmlinux 0x84d4c8cc crc16 +EXPORT_SYMBOL vmlinux 0x84f264cb xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x8505a56f insert_inode_locked +EXPORT_SYMBOL vmlinux 0x85532eb1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x855c7c85 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856e6cb6 dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x856e80cc tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x8578f308 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x859e7734 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x859e7ae1 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x85a3026f __wake_up_bit +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85ad4c69 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85c56b6f sock_alloc_file +EXPORT_SYMBOL vmlinux 0x85d14264 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e625cc tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x861794c4 kfree_skb +EXPORT_SYMBOL vmlinux 0x86237388 arch_read_lock_wait +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x86481935 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x865a69b6 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x866c5354 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x86838a09 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x8689d3f6 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86ac50ce sock_i_ino +EXPORT_SYMBOL vmlinux 0x86b25ff7 raw3270_request_set_idal +EXPORT_SYMBOL vmlinux 0x86b388f6 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x86bf6104 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x86c73aed _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fbce61 mutex_trylock +EXPORT_SYMBOL vmlinux 0x870bab9e utf8ncursor +EXPORT_SYMBOL vmlinux 0x8726db74 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x8748e4c5 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x8770702d pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x8790973d prepare_creds +EXPORT_SYMBOL vmlinux 0x87a62721 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x87ae30b4 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87cd0592 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x87e3c56e ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x87e9fc2b vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x87f86be7 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x881dd660 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x88241f67 pci_save_state +EXPORT_SYMBOL vmlinux 0x8833bc7e __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x883f9805 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x88418e76 get_ccwdev_by_busid +EXPORT_SYMBOL vmlinux 0x88426c27 dquot_file_open +EXPORT_SYMBOL vmlinux 0x8845d89a __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0x8847f66d vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x886b1e51 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x8872431a generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x888e5171 ilookup +EXPORT_SYMBOL vmlinux 0x88ae4153 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x88b71609 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e99952 sock_wfree +EXPORT_SYMBOL vmlinux 0x88f4ed1d security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x88ff1110 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x8917714e prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x8934aeb3 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x8938035e dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x89621b96 __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0x89701721 inet_bind +EXPORT_SYMBOL vmlinux 0x89835cc5 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x898c3f3b cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x89a174d3 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x89a3d21a vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x89a653a4 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x89b9a76a dma_resv_init +EXPORT_SYMBOL vmlinux 0x89be69bc flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x89d325ce pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x89d5d781 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x8a0a14df dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x8a0f0700 ether_setup +EXPORT_SYMBOL vmlinux 0x8a1424c4 mpage_readahead +EXPORT_SYMBOL vmlinux 0x8a323e90 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x8a3b6203 arp_tbl +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a7e83c2 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x8a7fe1fa fiemap_prep +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a96a453 debug_sprintf_view +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ac27a66 devm_request_resource +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ad68eb7 may_umount_tree +EXPORT_SYMBOL vmlinux 0x8af00d98 debug_register_mode +EXPORT_SYMBOL vmlinux 0x8af7e440 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x8b007565 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b0e1954 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x8b12fddb pci_scan_bus +EXPORT_SYMBOL vmlinux 0x8b1a9363 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x8b36b2a7 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x8b477807 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x8b55fd4f hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8b6184a0 eth_header_cache +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b81e53c __put_page +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b953be8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8bb06ae3 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x8bcec04f vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x8bfbf564 current_in_userns +EXPORT_SYMBOL vmlinux 0x8c2eca27 user_path_create +EXPORT_SYMBOL vmlinux 0x8c373b9d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x8c431c29 proc_create +EXPORT_SYMBOL vmlinux 0x8c5fb6e2 mempool_init_node +EXPORT_SYMBOL vmlinux 0x8c6592fc hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8c6957af security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c875be0 tcw_init +EXPORT_SYMBOL vmlinux 0x8ca9d3e0 bdi_put +EXPORT_SYMBOL vmlinux 0x8cb062a8 iucv_message_reply +EXPORT_SYMBOL vmlinux 0x8cb544df __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8cba889c iov_iter_revert +EXPORT_SYMBOL vmlinux 0x8cdaf411 icmp6_send +EXPORT_SYMBOL vmlinux 0x8cfdfc2c raw_copy_to_user +EXPORT_SYMBOL vmlinux 0x8d2a5721 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5eaaf6 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x8d683fa7 __kfree_skb +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d785bb1 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x8d9c01ea kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x8da15430 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x8da3c59e inet_shutdown +EXPORT_SYMBOL vmlinux 0x8dae8241 ccw_driver_unregister +EXPORT_SYMBOL vmlinux 0x8dba3ed0 input_setup_polling +EXPORT_SYMBOL vmlinux 0x8dba9512 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x8dd5f20b alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x8dd61145 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8dee12ca pci_get_slot +EXPORT_SYMBOL vmlinux 0x8df5a78d __dquot_free_space +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e37ad03 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x8e39f93d setup_new_exec +EXPORT_SYMBOL vmlinux 0x8e3e3971 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x8e4de990 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x8e5f7ee1 inet_gro_complete +EXPORT_SYMBOL vmlinux 0x8e6c92d9 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x8e7d94d1 kern_path +EXPORT_SYMBOL vmlinux 0x8e92f4a0 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9eab61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x8eb68634 skb_clone +EXPORT_SYMBOL vmlinux 0x8ec7f250 dma_fence_free +EXPORT_SYMBOL vmlinux 0x8ed4719e ccw_device_get_mdc +EXPORT_SYMBOL vmlinux 0x8ed9604f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x8ee2c64a make_kgid +EXPORT_SYMBOL vmlinux 0x8ef5d2a5 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x8f1d8907 tcp_check_req +EXPORT_SYMBOL vmlinux 0x8f341717 pci_set_master +EXPORT_SYMBOL vmlinux 0x8f636d23 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x8f74b8fa km_state_expired +EXPORT_SYMBOL vmlinux 0x8f7dd7cb qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x8f8e8e7a netif_skb_features +EXPORT_SYMBOL vmlinux 0x8f96fdf4 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fc5b53f netdev_alert +EXPORT_SYMBOL vmlinux 0x8fee786d bio_reset +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x901eef02 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x902ec785 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x90380e7c simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x904500c5 tcp_req_err +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x9056be19 bio_add_page +EXPORT_SYMBOL vmlinux 0x90861d8b filemap_flush +EXPORT_SYMBOL vmlinux 0x908ea570 dqput +EXPORT_SYMBOL vmlinux 0x908eef61 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x90bbaee3 genlmsg_put +EXPORT_SYMBOL vmlinux 0x90c17116 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x90ed23c0 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x90fb327c sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x910c7a0c alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x9116b417 save_fpu_regs +EXPORT_SYMBOL vmlinux 0x9124a838 dev_alert_hash +EXPORT_SYMBOL vmlinux 0x91261c0d blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x9126b4b2 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x9128bc5a scsi_print_command +EXPORT_SYMBOL vmlinux 0x912a0ce0 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x9183cd09 register_framebuffer +EXPORT_SYMBOL vmlinux 0x91858452 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x919c43c7 mutex_unlock +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91c00dea raw3270_del_view +EXPORT_SYMBOL vmlinux 0x91d2b1a0 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x91da582a bmap +EXPORT_SYMBOL vmlinux 0x91dbf14e insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x91e5fea9 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x9204aa35 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x9208f364 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x9213d580 dump_emit +EXPORT_SYMBOL vmlinux 0x92164eed block_write_full_page +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x924f8a19 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x9296fef8 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x929b07b4 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x92d6ea76 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f58d61 __netif_schedule +EXPORT_SYMBOL vmlinux 0x92fa909c loop_register_transfer +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x932c2539 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x9330779d inet_put_port +EXPORT_SYMBOL vmlinux 0x935dc0b8 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x936442a9 debug_exception_common +EXPORT_SYMBOL vmlinux 0x937151ca skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x937c4451 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x938869a5 elv_rb_add +EXPORT_SYMBOL vmlinux 0x9393dfa9 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a9cbcf pcim_iounmap +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93bfb7bd down_write_trylock +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93c765a2 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x93d2894f get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x93e4cc86 module_refcount +EXPORT_SYMBOL vmlinux 0x9406eccb dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0x9417a0f2 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x941ff5cc simple_transaction_read +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942e03b9 skb_copy +EXPORT_SYMBOL vmlinux 0x942f4c5c iucv_message_reject +EXPORT_SYMBOL vmlinux 0x943ba256 debug_dflt_header_fn +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x9452ee8a dev_driver_string +EXPORT_SYMBOL vmlinux 0x945775a5 segment_save +EXPORT_SYMBOL vmlinux 0x94600d61 dma_direct_map_page +EXPORT_SYMBOL vmlinux 0x94858b0b passthru_features_check +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a7367e netdev_state_change +EXPORT_SYMBOL vmlinux 0x94a92a98 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x94a9f90f __put_user_ns +EXPORT_SYMBOL vmlinux 0x94afd1cd rt_dst_clone +EXPORT_SYMBOL vmlinux 0x94b58df9 do_SAK +EXPORT_SYMBOL vmlinux 0x94b63151 d_tmpfile +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c28c46 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x94e11377 get_super +EXPORT_SYMBOL vmlinux 0x94f1d42b pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x94f31333 dump_fpu +EXPORT_SYMBOL vmlinux 0x94fa27ee dev_disable_lro +EXPORT_SYMBOL vmlinux 0x95025451 release_sock +EXPORT_SYMBOL vmlinux 0x950e8bd3 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x951a2dfe iucv_path_accept +EXPORT_SYMBOL vmlinux 0x953a2ead ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x953adc3b dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x95429f94 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x9542faf7 sclp_unregister +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956818fe pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x9573c36d register_sysctl +EXPORT_SYMBOL vmlinux 0x9581ea62 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x959158d7 register_key_type +EXPORT_SYMBOL vmlinux 0x9599e329 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x959c21cf xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x95a06eb1 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x95b38ccc resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x95b7e0ef blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x95bb2b8f lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95d44f60 mmput_async +EXPORT_SYMBOL vmlinux 0x95e63ced prot_virt_host +EXPORT_SYMBOL vmlinux 0x95f55427 seq_printf +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x961217dd tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x962c1263 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x9636ca4b blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x96404e39 itcw_set_data +EXPORT_SYMBOL vmlinux 0x9643ccb2 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x96737d17 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x96749f20 down_read_killable +EXPORT_SYMBOL vmlinux 0x96828720 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c710a4 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d7b4da ip_frag_init +EXPORT_SYMBOL vmlinux 0x96e5c6ef inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x96ebcb9f bdput +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9711df72 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x97162f74 mount_bdev +EXPORT_SYMBOL vmlinux 0x973427ca key_invalidate +EXPORT_SYMBOL vmlinux 0x97384a86 vc_resize +EXPORT_SYMBOL vmlinux 0x974d0924 __kernel_cpumcf_begin +EXPORT_SYMBOL vmlinux 0x97806d3d drop_nlink +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x9797b96b inode_init_owner +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97af5d63 dquot_transfer +EXPORT_SYMBOL vmlinux 0x97b31c3c xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x97b9b859 param_ops_int +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97ceef3e nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x97dd1561 nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0x97e4171d dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x97eac67f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x97ef3f50 cdev_device_del +EXPORT_SYMBOL vmlinux 0x97f74d8a cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x97fa71b9 simple_readpage +EXPORT_SYMBOL vmlinux 0x97fc18ed __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x97ff8f4a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x98182379 dentry_open +EXPORT_SYMBOL vmlinux 0x982da3ed km_policy_expired +EXPORT_SYMBOL vmlinux 0x984b010f tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x984d655f tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x9863d006 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x987b45fc vfs_readlink +EXPORT_SYMBOL vmlinux 0x9896b08f ccw_device_dma_zalloc +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98de1c15 snprintf +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98e654e3 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x98fce7b3 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x992fe3a4 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x99332120 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x9938980a finish_swait +EXPORT_SYMBOL vmlinux 0x993a1b7b iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x9942ec77 itcw_finalize +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x996e05aa input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99af8bdf sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x99b82ff0 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x99bf340b devm_of_iomap +EXPORT_SYMBOL vmlinux 0x99cdf463 set_page_dirty +EXPORT_SYMBOL vmlinux 0x99ce5a48 kset_unregister +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99f33923 compat_import_iovec +EXPORT_SYMBOL vmlinux 0x9a0385cc ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x9a127186 udplite_prot +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a4d89bb neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a7ccde6 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x9a7d28b7 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x9a8109f9 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x9a8c6106 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x9a906daf memscan +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab6c6bb skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x9ab71747 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x9abc6221 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x9aca6d42 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x9acb25a7 keyring_alloc +EXPORT_SYMBOL vmlinux 0x9ad686b8 skb_push +EXPORT_SYMBOL vmlinux 0x9adcf4cf fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x9ae4b8fb skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x9ae8bf03 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x9b1ce870 dev_activate +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b2eae43 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b42ef0f dfltcc_reset +EXPORT_SYMBOL vmlinux 0x9b438d09 input_register_device +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b549fc5 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x9b64a67c d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x9b8d07aa strnlen +EXPORT_SYMBOL vmlinux 0x9bab314b security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x9babe4ae sk_capable +EXPORT_SYMBOL vmlinux 0x9bacead3 __debug_sprintf_event +EXPORT_SYMBOL vmlinux 0x9bb06e3d show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x9bb7ae65 tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0x9bc4cff4 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x9bd0ebd9 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x9bd24f12 bdi_alloc +EXPORT_SYMBOL vmlinux 0x9be83ee9 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x9bf32b5d reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x9c0821ea vsnprintf +EXPORT_SYMBOL vmlinux 0x9c1b9a5e pci_remove_bus +EXPORT_SYMBOL vmlinux 0x9c539622 fb_show_logo +EXPORT_SYMBOL vmlinux 0x9c6a3c59 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x9c8fabad raw3270_request_free +EXPORT_SYMBOL vmlinux 0x9cb79b6a _dev_info_hash +EXPORT_SYMBOL vmlinux 0x9cc48744 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x9cca8ffa tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x9ccb1dfb tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x9cd0ca62 ccw_device_start_timeout +EXPORT_SYMBOL vmlinux 0x9cd804f9 nobh_write_end +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cead142 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x9cf11e79 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x9d01b0a2 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x9d028d12 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x9d0684ee proc_symlink +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d509dca init_opal_dev +EXPORT_SYMBOL vmlinux 0x9d620622 simple_get_link +EXPORT_SYMBOL vmlinux 0x9d6602aa mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x9d6cb707 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x9d86f0cf inet_sendmsg +EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context +EXPORT_SYMBOL vmlinux 0x9df81db4 ___ratelimit +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e190a2a tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x9e256c70 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x9e3e88eb deactivate_super +EXPORT_SYMBOL vmlinux 0x9e3f7be1 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x9e3ff2d5 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e7e596d neigh_lookup +EXPORT_SYMBOL vmlinux 0x9e9b49f2 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fafa8 notify_change +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9eb1ab13 input_grab_device +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ee60cfe seq_release +EXPORT_SYMBOL vmlinux 0x9eeb6d33 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x9eec71fd con_copy_unimap +EXPORT_SYMBOL vmlinux 0x9eedb4f5 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x9f02463a fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x9f180d9e __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x9f19eae9 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x9f37c61e __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x9f3cc758 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f5d9393 utf8nagemax +EXPORT_SYMBOL vmlinux 0x9f7b7a7d sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x9f7ea1bb generic_fillattr +EXPORT_SYMBOL vmlinux 0x9f8c364a kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9c9e6a tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x9fa1212f deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x9fa19a76 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fa782b4 dma_free_attrs +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fd8557a napi_gro_flush +EXPORT_SYMBOL vmlinux 0x9fdae4cd pci_read_vpd +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe2b4b8 param_get_byte +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa018dfa2 tcf_register_action +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa054e8ed iucv_unregister +EXPORT_SYMBOL vmlinux 0xa064a193 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xa06e587a release_firmware +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa0854a0f dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa09484c4 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09cf93f param_array_ops +EXPORT_SYMBOL vmlinux 0xa09ffd2d pci_request_irq +EXPORT_SYMBOL vmlinux 0xa0a15b49 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0bd6e2b xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0e9286f kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa100543b unlock_page_memcg +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10a0439 kmalloc_order +EXPORT_SYMBOL vmlinux 0xa10c2345 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0xa11180a3 finalize_exec +EXPORT_SYMBOL vmlinux 0xa116a645 seq_read_iter +EXPORT_SYMBOL vmlinux 0xa1186035 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa126c93f __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xa13c9739 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0xa157a8b2 dev_printk +EXPORT_SYMBOL vmlinux 0xa157c15f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xa15b3fc1 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xa15e4b37 commit_creds +EXPORT_SYMBOL vmlinux 0xa16565a3 configfs_register_group +EXPORT_SYMBOL vmlinux 0xa191fc5b page_symlink +EXPORT_SYMBOL vmlinux 0xa19265f7 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xa19cceb1 make_bad_inode +EXPORT_SYMBOL vmlinux 0xa1a8cc6c crc_ccitt_false +EXPORT_SYMBOL vmlinux 0xa1b6ad98 may_umount +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1cd52cd always_delete_dentry +EXPORT_SYMBOL vmlinux 0xa1d5979b find_first_bit_inv +EXPORT_SYMBOL vmlinux 0xa1e8aa56 key_put +EXPORT_SYMBOL vmlinux 0xa1ec8f1c __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa1f4e674 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xa1fee353 tcw_set_tsb +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa22723ca __register_binfmt +EXPORT_SYMBOL vmlinux 0xa23d32d8 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xa2482857 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa25c74c5 rt6_lookup +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa28770a6 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2a2cbc2 generic_write_checks +EXPORT_SYMBOL vmlinux 0xa2b4e2ff ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xa2cd68ba truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xa2fc75e7 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xa2fdd00f __inet_hash +EXPORT_SYMBOL vmlinux 0xa31750ac simple_fill_super +EXPORT_SYMBOL vmlinux 0xa31b83f2 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xa3395198 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xa33f431b unix_detach_fds +EXPORT_SYMBOL vmlinux 0xa33f7c7c nla_strlcpy +EXPORT_SYMBOL vmlinux 0xa33fffa5 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xa3421c6c compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xa347058c md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xa38bd3bc ccw_device_tm_start_key +EXPORT_SYMBOL vmlinux 0xa3a50206 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xa3a5be95 memmove +EXPORT_SYMBOL vmlinux 0xa3a7b3d3 iucv_root +EXPORT_SYMBOL vmlinux 0xa3b4683c pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xa3c315fc __ClearPageMovable +EXPORT_SYMBOL vmlinux 0xa3e33833 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa404bd4e __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xa4051bf6 LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0xa40a4c3b dev_change_carrier +EXPORT_SYMBOL vmlinux 0xa40df865 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0xa410bf7c sock_no_linger +EXPORT_SYMBOL vmlinux 0xa416c8e9 arch_write_lock_wait +EXPORT_SYMBOL vmlinux 0xa420918c nlmsg_notify +EXPORT_SYMBOL vmlinux 0xa42af456 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xa43658c4 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0xa43a3bf9 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xa443883d __alloc_skb +EXPORT_SYMBOL vmlinux 0xa44b520a __scsi_format_command +EXPORT_SYMBOL vmlinux 0xa474a74f kernel_getpeername +EXPORT_SYMBOL vmlinux 0xa4783ff9 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xa4a94d26 find_next_bit_le +EXPORT_SYMBOL vmlinux 0xa4b1ba6b skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xa4d6ea4b xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xa4e188e7 strscpy +EXPORT_SYMBOL vmlinux 0xa50483fe __ksize +EXPORT_SYMBOL vmlinux 0xa519ef26 param_get_short +EXPORT_SYMBOL vmlinux 0xa51daeb2 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xa51e89b4 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xa52ae5a8 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xa53d2a47 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xa53d440a default_llseek +EXPORT_SYMBOL vmlinux 0xa548347e cdrom_check_events +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa56320a1 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xa568bac6 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xa57e6a91 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xa5808745 node_data +EXPORT_SYMBOL vmlinux 0xa58bfe80 posix_lock_file +EXPORT_SYMBOL vmlinux 0xa59014c7 init_special_inode +EXPORT_SYMBOL vmlinux 0xa59158b0 xa_load +EXPORT_SYMBOL vmlinux 0xa59c59e5 mpage_writepages +EXPORT_SYMBOL vmlinux 0xa5c2577e tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xa5d973c7 sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0xa6182001 udp_disconnect +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa637794f skb_store_bits +EXPORT_SYMBOL vmlinux 0xa64197e6 skb_split +EXPORT_SYMBOL vmlinux 0xa64ea01f dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xa65521e7 free_netdev +EXPORT_SYMBOL vmlinux 0xa655d933 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xa6695e7f f_setown +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa6865cbd locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xa6af78ab unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xa6baf2b5 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xa6bb22d5 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xa6c62e0b inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa6ceefeb blk_sync_queue +EXPORT_SYMBOL vmlinux 0xa6cf4925 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xa6d582a2 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xa6d63ce0 proc_mkdir +EXPORT_SYMBOL vmlinux 0xa6e18277 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xa6e9112a __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xa70910f5 utf8len +EXPORT_SYMBOL vmlinux 0xa70ea6d7 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa7391c4e udp_poll +EXPORT_SYMBOL vmlinux 0xa73999b2 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa7499c31 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa74d57aa fb_set_cmap +EXPORT_SYMBOL vmlinux 0xa752fdb8 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xa756e001 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0xa76fb393 tcp_prot +EXPORT_SYMBOL vmlinux 0xa777fee1 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa781aa3c xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xa7a9cfe0 iucv_message_send2way +EXPORT_SYMBOL vmlinux 0xa7b0f98c locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0xa7c3b49c __neigh_create +EXPORT_SYMBOL vmlinux 0xa7c43bba udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xa7cdbdf2 down_read +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7f2bcd4 inet_ioctl +EXPORT_SYMBOL vmlinux 0xa8014a85 tty_unlock +EXPORT_SYMBOL vmlinux 0xa818a8bb build_skb +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa845dc00 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa857735d dquot_initialize +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8797e91 ilookup5 +EXPORT_SYMBOL vmlinux 0xa8a98189 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa8aa15d2 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xa8ae3b43 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xa8e38d78 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0xa8f6b33c page_get_link +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8fe0060 free_buffer_head +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa9130b00 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xa92f900f md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa96e32e6 put_cmsg +EXPORT_SYMBOL vmlinux 0xa971a284 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xa9a4c90f md_cluster_ops +EXPORT_SYMBOL vmlinux 0xa9b1dc6c down_timeout +EXPORT_SYMBOL vmlinux 0xa9c05414 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xa9c0a091 skb_append +EXPORT_SYMBOL vmlinux 0xa9e84dab input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0xa9ea1d19 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xa9f162f7 config_item_put +EXPORT_SYMBOL vmlinux 0xaa1e246a xxh32_update +EXPORT_SYMBOL vmlinux 0xaa26b088 dns_query +EXPORT_SYMBOL vmlinux 0xaa51bf78 tcp_close +EXPORT_SYMBOL vmlinux 0xaa699473 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaab5d8ef scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6e4bf pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaaf21f1d netdev_update_features +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab00ccb2 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xab02f8e3 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xab04713f pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xab2ae226 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3bb343 dq_data_lock +EXPORT_SYMBOL vmlinux 0xab53a5fa xa_find_after +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab6b8f77 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab93c86f down_read_interruptible +EXPORT_SYMBOL vmlinux 0xaba0e2c2 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xaba81805 xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0xabc73560 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xabda9862 fc_mount +EXPORT_SYMBOL vmlinux 0xabe1431b trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac3c2543 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xac43e8fb skb_unlink +EXPORT_SYMBOL vmlinux 0xac47736b dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xac56b6d3 __tracepoint_s390_cio_msch +EXPORT_SYMBOL vmlinux 0xac5a9512 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac64c00f request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xac674990 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xac96fe26 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0xac9f8207 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xaca2b7dd pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacca811c nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0xaccc99aa qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xace31b1b scsi_host_get +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad15397b __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xad238c58 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xad4aee39 strncpy +EXPORT_SYMBOL vmlinux 0xad521c92 qdisc_put +EXPORT_SYMBOL vmlinux 0xad539f2d init_pseudo +EXPORT_SYMBOL vmlinux 0xad5493ca skb_copy_bits +EXPORT_SYMBOL vmlinux 0xad5b72bd __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad7fd9df netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad8ca536 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0xad912f4f unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xada09ad2 dfltcc_can_inflate +EXPORT_SYMBOL vmlinux 0xadb1cec6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xadc270bc ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadd63a9f dev_printk_emit +EXPORT_SYMBOL vmlinux 0xade5d553 input_open_device +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xadfff431 freezing_slow_path +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae05e4b5 get_fs_type +EXPORT_SYMBOL vmlinux 0xae1e91f7 qdisc_reset +EXPORT_SYMBOL vmlinux 0xae23f3e1 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae319efc radix_tree_insert +EXPORT_SYMBOL vmlinux 0xae37c7a7 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0xae39b1c2 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xae3e5099 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xae451fea tty_unthrottle +EXPORT_SYMBOL vmlinux 0xae4e44e7 mpage_readpage +EXPORT_SYMBOL vmlinux 0xae76c6d4 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xae7fce17 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xaea98584 tty_hangup +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaec384df generic_file_open +EXPORT_SYMBOL vmlinux 0xaedc8836 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0xaee722f5 pci_irq_vector +EXPORT_SYMBOL vmlinux 0xaf12c132 open_with_fake_path +EXPORT_SYMBOL vmlinux 0xaf1355d1 single_open_size +EXPORT_SYMBOL vmlinux 0xaf1b403d bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xaf3751bb blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf479dbf netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xaf6e059c shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xaf78f6c2 generic_setlease +EXPORT_SYMBOL vmlinux 0xaf801089 netif_napi_add +EXPORT_SYMBOL vmlinux 0xafaab896 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0xafd3ca2d airq_iv_create +EXPORT_SYMBOL vmlinux 0xafe7a09d xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xafec09c0 disable_sacf_uaccess +EXPORT_SYMBOL vmlinux 0xaffc0d7d is_bad_inode +EXPORT_SYMBOL vmlinux 0xb016493d arch_spin_relax +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb02d7c89 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xb04d72f9 keyring_clear +EXPORT_SYMBOL vmlinux 0xb05660c3 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06a4ab6 simple_link +EXPORT_SYMBOL vmlinux 0xb071ffaf sg_miter_skip +EXPORT_SYMBOL vmlinux 0xb07fd306 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xb09d4f6d dev_get_iflink +EXPORT_SYMBOL vmlinux 0xb0a5e059 proc_dointvec +EXPORT_SYMBOL vmlinux 0xb0df9c2d tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eda7e7 iucv_path_sever +EXPORT_SYMBOL vmlinux 0xb0edc741 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xb0fb3db6 tty_check_change +EXPORT_SYMBOL vmlinux 0xb0fd1962 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb1203bb8 ap_perms +EXPORT_SYMBOL vmlinux 0xb128ea21 cpumask_any_but +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb13f400a km_state_notify +EXPORT_SYMBOL vmlinux 0xb1434f6b clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15ce401 kill_pgrp +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb174b728 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xb17b02fd kern_unmount_array +EXPORT_SYMBOL vmlinux 0xb1814b27 tcp_connect +EXPORT_SYMBOL vmlinux 0xb18349da vfs_get_tree +EXPORT_SYMBOL vmlinux 0xb18bb009 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xb1a1c4c5 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1b8f0bc gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1fb472a simple_release_fs +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23b6f7a __pci_register_driver +EXPORT_SYMBOL vmlinux 0xb24fb6a9 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xb2660c00 fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0xb280a677 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xb2866984 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0xb28fabbd tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xb29343e4 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0xb293c18f gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb299bf5d security_path_mknod +EXPORT_SYMBOL vmlinux 0xb29e9157 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xb2b0d772 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0xb2cbbf68 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xb2cdd966 swake_up_locked +EXPORT_SYMBOL vmlinux 0xb2ced496 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xb2fafd17 mempool_resize +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb3198d53 debug_register_view +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb34734f5 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xb3488e69 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36927ed eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xb3885526 empty_aops +EXPORT_SYMBOL vmlinux 0xb38e1dff dev_trans_start +EXPORT_SYMBOL vmlinux 0xb38f5694 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xb3a0fa48 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xb3b28163 debug_set_level +EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3e0326c tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0xb3f45f27 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb404aed7 get_task_exe_file +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4344841 devm_ioremap +EXPORT_SYMBOL vmlinux 0xb445059f nf_log_packet +EXPORT_SYMBOL vmlinux 0xb4535592 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xb46ae3c2 sie64a +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb490aec1 netlink_ack +EXPORT_SYMBOL vmlinux 0xb4b7ab84 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0xb4c0e9b0 misc_deregister +EXPORT_SYMBOL vmlinux 0xb4e6d7ef put_watch_queue +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f5d54e input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xb501a377 blk_put_queue +EXPORT_SYMBOL vmlinux 0xb50cc9cb ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xb51808a3 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xb51feb39 vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0xb5255975 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xb53316fc jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xb534f61f __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xb53f7655 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57d8a4a dev_change_flags +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb590364e devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xb5a1adc5 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b74a86 __frontswap_load +EXPORT_SYMBOL vmlinux 0xb5d04300 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5efdeb0 inet6_offloads +EXPORT_SYMBOL vmlinux 0xb612cd39 vfs_getattr +EXPORT_SYMBOL vmlinux 0xb6305b4a fb_pan_display +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6371036 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xb637ed3f xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0xb66129a4 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xb670e898 fput +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67a0781 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67cfecb dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6943211 tty_register_driver +EXPORT_SYMBOL vmlinux 0xb69e25ce blk_get_request +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6afa143 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xb6bcdaa5 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb6cc0a78 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xb6d095cd unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xb6d863cf del_gendisk +EXPORT_SYMBOL vmlinux 0xb6d99cf5 do_splice_direct +EXPORT_SYMBOL vmlinux 0xb6de42f1 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xb6e3f58b scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xb6fbeefe xxh64 +EXPORT_SYMBOL vmlinux 0xb71494fd tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0xb7224232 skb_dequeue +EXPORT_SYMBOL vmlinux 0xb72b09f1 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xb72e5e2a ccw_device_set_options +EXPORT_SYMBOL vmlinux 0xb72fa191 sget +EXPORT_SYMBOL vmlinux 0xb73d00b4 follow_down_one +EXPORT_SYMBOL vmlinux 0xb73e3c2f ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xb74cf41f xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xb753d9a4 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xb75a1b2c sock_wmalloc +EXPORT_SYMBOL vmlinux 0xb762e479 __frontswap_store +EXPORT_SYMBOL vmlinux 0xb78712c2 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xb78cbb9f xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7a29399 keyring_search +EXPORT_SYMBOL vmlinux 0xb7a35b6e fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0xb7b009fd inode_nohighmem +EXPORT_SYMBOL vmlinux 0xb7b507ea utf8nlen +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7ee2a2c diag26c +EXPORT_SYMBOL vmlinux 0xb7fff617 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0xb83f26fe pcim_pin_device +EXPORT_SYMBOL vmlinux 0xb842b8d4 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb87a20e2 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8cb6c69 complete_all +EXPORT_SYMBOL vmlinux 0xb8cd3cbe inc_nlink +EXPORT_SYMBOL vmlinux 0xb8e164f8 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb915ceca itcw_init +EXPORT_SYMBOL vmlinux 0xb9235441 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xb928aa45 netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0xb92d1661 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0xb9357ba1 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb94f4d5d __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0xb9541d3f sk_net_capable +EXPORT_SYMBOL vmlinux 0xb9578314 sock_no_getname +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb97d31c1 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xb98b9639 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xb9938c9e dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xb99f383c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xb9d234a9 set_device_ro +EXPORT_SYMBOL vmlinux 0xb9df5c0d ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xba079511 generic_listxattr +EXPORT_SYMBOL vmlinux 0xba0ea1f7 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xba3da5f0 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xba4011ee flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6570dd xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xba68db45 nf_reinject +EXPORT_SYMBOL vmlinux 0xba6bb978 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xba6e51f5 sock_create_lite +EXPORT_SYMBOL vmlinux 0xba73e683 param_ops_invbool +EXPORT_SYMBOL vmlinux 0xba9666dc unlock_buffer +EXPORT_SYMBOL vmlinux 0xba9cbb02 vfs_get_link +EXPORT_SYMBOL vmlinux 0xba9cbef9 dquot_disable +EXPORT_SYMBOL vmlinux 0xbaa5b812 __var_waitqueue +EXPORT_SYMBOL vmlinux 0xbab1adbc pipe_unlock +EXPORT_SYMBOL vmlinux 0xbab3f6ba __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xbab5b9f0 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xbabcaffb dquot_commit +EXPORT_SYMBOL vmlinux 0xbac259fb __SetPageMovable +EXPORT_SYMBOL vmlinux 0xbad3d568 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbae50487 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xbaf507c1 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0xbafedb6d __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb281074 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xbb3237f2 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb35ca97 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xbb38e873 mntget +EXPORT_SYMBOL vmlinux 0xbb5f6445 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xbb62e23b param_get_ushort +EXPORT_SYMBOL vmlinux 0xbb6b4316 import_single_range +EXPORT_SYMBOL vmlinux 0xbb9d0dc5 bin2hex +EXPORT_SYMBOL vmlinux 0xbbb7a1c6 udp_sendmsg +EXPORT_SYMBOL vmlinux 0xbbba50cb scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xbbc6d2ed override_creds +EXPORT_SYMBOL vmlinux 0xbbe74090 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0xbbecf169 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0xbbef21a9 simple_setattr +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc2b5316 __block_write_begin +EXPORT_SYMBOL vmlinux 0xbc4a6af4 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xbc537fdd lease_modify +EXPORT_SYMBOL vmlinux 0xbc6a48da rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xbc7bede7 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xbc99b11c key_reject_and_link +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc72209 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xbcd1057b __skb_pad +EXPORT_SYMBOL vmlinux 0xbd003014 sk_common_release +EXPORT_SYMBOL vmlinux 0xbd1ce9db bioset_init_from_src +EXPORT_SYMBOL vmlinux 0xbd45f600 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xbd5221d4 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xbd5f05d6 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xbd6e3c39 vfs_mkobj +EXPORT_SYMBOL vmlinux 0xbd72b17d skb_checksum +EXPORT_SYMBOL vmlinux 0xbd7f39e5 d_exact_alias +EXPORT_SYMBOL vmlinux 0xbd858aba eth_gro_receive +EXPORT_SYMBOL vmlinux 0xbd8d396f ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0xbd935f38 mempool_init +EXPORT_SYMBOL vmlinux 0xbd9a6acc proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xbdd02386 netif_carrier_off +EXPORT_SYMBOL vmlinux 0xbdd7fc03 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xbde617ab ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xbdf0e43a super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe55e933 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xbe5761eb generic_delete_inode +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe613fa8 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xbe6f356b jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xbe72514d vm_event_states +EXPORT_SYMBOL vmlinux 0xbe8bf5cd _copy_from_iter +EXPORT_SYMBOL vmlinux 0xbeb356b1 sk_ns_capable +EXPORT_SYMBOL vmlinux 0xbec10fc0 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xbed04297 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0xbed21989 kernel_read +EXPORT_SYMBOL vmlinux 0xbef3bd9a down_trylock +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef53f33 scnprintf +EXPORT_SYMBOL vmlinux 0xbf109e78 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xbf3fc446 __skb_checksum +EXPORT_SYMBOL vmlinux 0xbf40d602 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf8a7419 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfbcb6a1 _dev_crit +EXPORT_SYMBOL vmlinux 0xbfdee70e cdev_alloc +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbfef569f generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0xbffe7219 xa_clear_mark +EXPORT_SYMBOL vmlinux 0xc0026553 page_pool_create +EXPORT_SYMBOL vmlinux 0xc003c637 __strncpy_from_user +EXPORT_SYMBOL vmlinux 0xc0060611 cdev_del +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc034b555 raw3270_start_irq +EXPORT_SYMBOL vmlinux 0xc04c648d flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0xc06f0724 ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b08e28 ccw_device_tm_start_timeout +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0d0f88f ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0d69c93 scsi_print_result +EXPORT_SYMBOL vmlinux 0xc0e5e4e6 itcw_get_tcw +EXPORT_SYMBOL vmlinux 0xc0eaf0ae blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xc0ebcd8d locks_delete_block +EXPORT_SYMBOL vmlinux 0xc0f022ba ap_queue_init_reply +EXPORT_SYMBOL vmlinux 0xc0fd237c xxh32 +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc11fa144 d_obtain_root +EXPORT_SYMBOL vmlinux 0xc120caa6 diag_stat_inc +EXPORT_SYMBOL vmlinux 0xc1394dbd mod_virt_timer_periodic +EXPORT_SYMBOL vmlinux 0xc14bbf2e dquot_quota_on +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc160ef47 set_cached_acl +EXPORT_SYMBOL vmlinux 0xc1625c98 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc173b3ec fb_class +EXPORT_SYMBOL vmlinux 0xc180435a iput +EXPORT_SYMBOL vmlinux 0xc1898573 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0xc1996477 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0xc1a64320 __tracepoint_s390_cio_tsch +EXPORT_SYMBOL vmlinux 0xc1bfb07c sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xc1c63c6c pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1f0b510 md_done_sync +EXPORT_SYMBOL vmlinux 0xc212f2ab prandom_bytes +EXPORT_SYMBOL vmlinux 0xc21ff868 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xc22754ef napi_get_frags +EXPORT_SYMBOL vmlinux 0xc228645a blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0xc2336209 unix_gc_lock +EXPORT_SYMBOL vmlinux 0xc24957c3 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xc2905211 __f_setown +EXPORT_SYMBOL vmlinux 0xc29853aa ap_queue_init_state +EXPORT_SYMBOL vmlinux 0xc2b71fd9 start_tty +EXPORT_SYMBOL vmlinux 0xc2c0bffd elv_rb_find +EXPORT_SYMBOL vmlinux 0xc2c1541c __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc2cf4488 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xc2dfde48 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0xc2e46e3c vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f07a65 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc322f290 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xc32340ac iterate_supers_type +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc336a985 dqstats +EXPORT_SYMBOL vmlinux 0xc34065e9 component_match_add_release +EXPORT_SYMBOL vmlinux 0xc34cffe2 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xc353dec7 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xc35cf077 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xc3621ce5 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xc383a09b flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xc38536bf end_page_writeback +EXPORT_SYMBOL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL vmlinux 0xc38a9bc6 inet_stream_connect +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc39613d3 set_blocksize +EXPORT_SYMBOL vmlinux 0xc3bbc115 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xc3c6ffbf cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0xc3d07940 dquot_drop +EXPORT_SYMBOL vmlinux 0xc3f51725 load_nls_default +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42aec2f pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xc4435ca7 dev_addr_init +EXPORT_SYMBOL vmlinux 0xc44aa5f0 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc45755de find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0xc470c1c6 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xc475dea0 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc49de460 no_llseek +EXPORT_SYMBOL vmlinux 0xc4a936c2 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0xc4b795ce fget +EXPORT_SYMBOL vmlinux 0xc4cd177e qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xc4ce2cfd dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0xc505f545 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xc5521d50 sclp_register +EXPORT_SYMBOL vmlinux 0xc55a8766 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xc55bca0b filp_open +EXPORT_SYMBOL vmlinux 0xc57b41f2 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0xc57b8611 diag210 +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc58be3e9 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xc5962cef simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc599ad77 dma_fence_init +EXPORT_SYMBOL vmlinux 0xc5ad93b8 sie_exit +EXPORT_SYMBOL vmlinux 0xc5b65ed8 napi_complete_done +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5c2cc5a reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc607f97f bioset_init +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61aea5a sync_blockdev +EXPORT_SYMBOL vmlinux 0xc622ea97 stsi +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63e66dd sock_bind_add +EXPORT_SYMBOL vmlinux 0xc649baab pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc6ae4bc6 mempool_exit +EXPORT_SYMBOL vmlinux 0xc6b443e8 up +EXPORT_SYMBOL vmlinux 0xc6c3c50e netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xc6c3f944 seq_putc +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e87e2e cdev_add +EXPORT_SYMBOL vmlinux 0xc6ed61aa inet_frags_fini +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6fae804 sk_wait_data +EXPORT_SYMBOL vmlinux 0xc7427d34 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xc7434d56 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xc7807933 set_binfmt +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a2cd7e cdev_init +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c31ce8 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7dc6ec7 kbd_ioctl +EXPORT_SYMBOL vmlinux 0xc80868a9 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xc80b8803 xp_can_alloc +EXPORT_SYMBOL vmlinux 0xc80b8827 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xc818ca1f ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc82b852f rtnl_notify +EXPORT_SYMBOL vmlinux 0xc8340499 get_tree_single +EXPORT_SYMBOL vmlinux 0xc83d3ad8 inode_insert5 +EXPORT_SYMBOL vmlinux 0xc83f7bda kset_register +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84d7869 eth_header_parse +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc8619c48 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xc86a6174 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88a8918 down_interruptible +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8943073 netlink_capable +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8bcd940 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xc8e4d1ec flow_block_cb_free +EXPORT_SYMBOL vmlinux 0xc8ed16da simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xc9159f98 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0xc91a7738 fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0xc94fdebf __genradix_ptr +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc99978b0 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0xc9abe23d inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca4d8b59 dst_release_immediate +EXPORT_SYMBOL vmlinux 0xca5e82d2 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xca602173 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xcaae22e3 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xcae3a07a sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xcaeaddeb dev_base_lock +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcb09e07f fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xcb11b1d4 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xcb1427ab blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xcb19ca67 dm_put_table_device +EXPORT_SYMBOL vmlinux 0xcb2e6728 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xcb348aef jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xcb34a6e7 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0xcb360ea2 __skb_ext_del +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb44e3d2 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xcb56d1b6 xa_store +EXPORT_SYMBOL vmlinux 0xcb689958 blk_register_region +EXPORT_SYMBOL vmlinux 0xcb98b49a pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xcb9b95cd generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcba6cddc udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xcba8522b netif_device_detach +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbdb6077 __brelse +EXPORT_SYMBOL vmlinux 0xcbedbe4c iptun_encaps +EXPORT_SYMBOL vmlinux 0xcbf10f31 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xcbf9ef79 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xcc000495 devm_memunmap +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc4b5035 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc515000 skb_queue_head +EXPORT_SYMBOL vmlinux 0xcc58f367 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xcc5c7ada param_ops_byte +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc6219f0 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xcc742098 super_setup_bdi +EXPORT_SYMBOL vmlinux 0xcc74ebc1 inet6_add_offload +EXPORT_SYMBOL vmlinux 0xcc7a2327 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xcc92226c seq_pad +EXPORT_SYMBOL vmlinux 0xcc970db2 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xcca726e0 pci_iomap +EXPORT_SYMBOL vmlinux 0xcca94125 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xccac9026 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xccb491e8 bsearch +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc4001d gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xcced28f8 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xccfa1333 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd2366ce blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd8c2dff __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xcd9803b3 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xcdbeef01 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdd780ca dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcde941c9 generic_perform_write +EXPORT_SYMBOL vmlinux 0xcdf34b7b tty_port_init +EXPORT_SYMBOL vmlinux 0xce0c1f34 dfltcc_deflate +EXPORT_SYMBOL vmlinux 0xce1e561e ccw_device_clear_options +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3f872f ccw_device_clear +EXPORT_SYMBOL vmlinux 0xce43bb01 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5b9e7d pci_restore_state +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce8b41eb mem_section +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceab7d90 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xceacc3b7 pci_request_regions +EXPORT_SYMBOL vmlinux 0xcebb1c36 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xcedc35fd nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xceff91ed tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf267960 _dev_err +EXPORT_SYMBOL vmlinux 0xcf295f6a complete_request_key +EXPORT_SYMBOL vmlinux 0xcf32e030 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xcf465965 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xcf4d03be bio_list_copy_data +EXPORT_SYMBOL vmlinux 0xcf5d7426 pci_release_regions +EXPORT_SYMBOL vmlinux 0xcf6288a5 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xcf8bf0ce dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0xcf8ce01e fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0xcf90dd35 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xcf95b781 mount_single +EXPORT_SYMBOL vmlinux 0xcfa16774 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xcfb20994 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xcfb3c528 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xd004bd52 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xd00fec31 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xd0100427 dev_add_pack +EXPORT_SYMBOL vmlinux 0xd030f5dc vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd0659063 udp6_csum_init +EXPORT_SYMBOL vmlinux 0xd0661fb3 vscnprintf +EXPORT_SYMBOL vmlinux 0xd06e4839 arch_spin_trylock_retry +EXPORT_SYMBOL vmlinux 0xd0724585 elv_rb_del +EXPORT_SYMBOL vmlinux 0xd0782c49 param_get_int +EXPORT_SYMBOL vmlinux 0xd07b13a2 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xd0966639 pmdp_xchg_direct +EXPORT_SYMBOL vmlinux 0xd0978cf4 __udp_disconnect +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0af2fab __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xd0bc441f dquot_get_state +EXPORT_SYMBOL vmlinux 0xd0c6e879 cdrom_release +EXPORT_SYMBOL vmlinux 0xd0f03108 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xd0f1f104 abort_creds +EXPORT_SYMBOL vmlinux 0xd0fa1957 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xd10f00cf skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xd1155903 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xd1470ff7 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xd158205e pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xd15ff4b8 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xd16839a4 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xd1782ede fs_param_is_blob +EXPORT_SYMBOL vmlinux 0xd17de455 __kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd196c041 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xd1b4b419 tcw_get_intrg +EXPORT_SYMBOL vmlinux 0xd1bc584f blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e3cf2a dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xd1eecb7e xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xd1f152ad kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xd2189a3e scsi_device_resume +EXPORT_SYMBOL vmlinux 0xd221d7b5 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0xd2340ba3 pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0xd2373967 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xd241ce45 setattr_prepare +EXPORT_SYMBOL vmlinux 0xd244dfa6 udp_ioctl +EXPORT_SYMBOL vmlinux 0xd256a2d1 would_dump +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd263b006 file_path +EXPORT_SYMBOL vmlinux 0xd273584f filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd273a05e debug_unregister_view +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd27f84c2 bdgrab +EXPORT_SYMBOL vmlinux 0xd288af85 add_to_pipe +EXPORT_SYMBOL vmlinux 0xd2a393d9 dev_crit_hash +EXPORT_SYMBOL vmlinux 0xd2baf044 pci_find_capability +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2ee9a30 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xd30307a0 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xd32c2da7 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xd3395ccd _dev_alert +EXPORT_SYMBOL vmlinux 0xd344b194 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3561352 swake_up_all +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35dd7f3 vprintk_emit +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd38a1f1a vm_insert_page +EXPORT_SYMBOL vmlinux 0xd39d1733 elevator_alloc +EXPORT_SYMBOL vmlinux 0xd3ae96fa fs_param_is_path +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3b16482 vfs_setpos +EXPORT_SYMBOL vmlinux 0xd3becb2b pci_choose_state +EXPORT_SYMBOL vmlinux 0xd3cafc66 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xd3ccce55 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xd3d5fe1c tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3faa2c4 dst_discard_out +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd40f6f36 __jhash_string +EXPORT_SYMBOL vmlinux 0xd41ca90e neigh_seq_start +EXPORT_SYMBOL vmlinux 0xd41f5402 cpumask_next +EXPORT_SYMBOL vmlinux 0xd468c903 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xd474d6b8 key_unlink +EXPORT_SYMBOL vmlinux 0xd47b943e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xd48f69c8 tcw_get_tsb +EXPORT_SYMBOL vmlinux 0xd4922559 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xd4952cc0 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xd49bbb50 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xd4a10570 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xd4a71a11 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xd4b01091 node_states +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bf12cc dec_node_page_state +EXPORT_SYMBOL vmlinux 0xd4c8c54e dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0xd4d704da dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0xd4dc3a84 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd54665a6 inet_gro_receive +EXPORT_SYMBOL vmlinux 0xd54bf659 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xd59ceae6 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xd5a63cd7 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xd5a9eb17 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5e5d30e __quota_error +EXPORT_SYMBOL vmlinux 0xd5e90454 ap_domain_index +EXPORT_SYMBOL vmlinux 0xd5eecfdc jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xd5ff47f6 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd60c3f7d security_cred_getsecid +EXPORT_SYMBOL vmlinux 0xd61d1b28 __break_lease +EXPORT_SYMBOL vmlinux 0xd63286fa user_revoke +EXPORT_SYMBOL vmlinux 0xd63c365c ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xd666a588 smp_ctl_clear_bit +EXPORT_SYMBOL vmlinux 0xd672c23a register_netdevice +EXPORT_SYMBOL vmlinux 0xd682d841 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68a01b8 xa_erase +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd69b3c98 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xd6a42aa7 xattr_full_name +EXPORT_SYMBOL vmlinux 0xd6aac378 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xd6cd39f1 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0xd6e715a9 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xd6e8a587 kobject_get +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd7074019 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f8cd3 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xd72399e0 kill_litter_super +EXPORT_SYMBOL vmlinux 0xd73c91c3 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xd7472d7b ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xd764382c get_super_thawed +EXPORT_SYMBOL vmlinux 0xd77096e2 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xd7b6a00b give_up_console +EXPORT_SYMBOL vmlinux 0xd7cbceca forget_cached_acl +EXPORT_SYMBOL vmlinux 0xd7d05e05 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7e11fa0 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd808affc vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xd80d1525 clear_inode +EXPORT_SYMBOL vmlinux 0xd81621cf raw3270_deactivate_view +EXPORT_SYMBOL vmlinux 0xd8191b0d xp_dma_map +EXPORT_SYMBOL vmlinux 0xd827fff3 memremap +EXPORT_SYMBOL vmlinux 0xd83849e2 ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0xd84c3c5f proc_create_data +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd8748bf8 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xd8839307 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xd88a64f6 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8fb7db1 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xd8fcda72 cpcmd +EXPORT_SYMBOL vmlinux 0xd915fba5 param_get_ullong +EXPORT_SYMBOL vmlinux 0xd920b166 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xd926e599 __xa_erase +EXPORT_SYMBOL vmlinux 0xd92a57b5 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xd94251c6 register_shrinker +EXPORT_SYMBOL vmlinux 0xd94e5cef vlan_vid_del +EXPORT_SYMBOL vmlinux 0xd952ee88 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xd95a6ca6 unlock_page +EXPORT_SYMBOL vmlinux 0xd96de8cb __sysfs_match_string +EXPORT_SYMBOL vmlinux 0xd983e0f5 config_item_get +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98fffce scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xd9932bba ccw_device_resume +EXPORT_SYMBOL vmlinux 0xd995adcd kthread_bind +EXPORT_SYMBOL vmlinux 0xd99d1273 bd_start_claiming +EXPORT_SYMBOL vmlinux 0xd9ab5083 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xd9ae98b0 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0xd9b3f97d console_devno +EXPORT_SYMBOL vmlinux 0xd9bec11a pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xd9cb0afa dm_unregister_target +EXPORT_SYMBOL vmlinux 0xd9ce437b request_key_tag +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9dca2d2 pci_get_class +EXPORT_SYMBOL vmlinux 0xd9dd2737 d_delete +EXPORT_SYMBOL vmlinux 0xda107c83 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xda1a5a3e update_region +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda4159bf tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xda4d4ffb tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda738c56 udp_seq_ops +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xdaa90d98 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdac90ab2 path_is_under +EXPORT_SYMBOL vmlinux 0xdac97957 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xdad207da netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xdad5b2a0 bioset_exit +EXPORT_SYMBOL vmlinux 0xdae162cb string_unescape +EXPORT_SYMBOL vmlinux 0xdaeccc10 submit_bio_wait +EXPORT_SYMBOL vmlinux 0xdaf1318d security_sk_clone +EXPORT_SYMBOL vmlinux 0xdaf569f0 __devm_release_region +EXPORT_SYMBOL vmlinux 0xdafcb555 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xdb00250a pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xdb1e5084 lru_cache_add +EXPORT_SYMBOL vmlinux 0xdb2f0ed1 cdrom_open +EXPORT_SYMBOL vmlinux 0xdb301244 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xdb34a07d __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0xdb4b06a0 proto_unregister +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb91b5e3 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xdba67ecf unlock_rename +EXPORT_SYMBOL vmlinux 0xdbae0231 init_task +EXPORT_SYMBOL vmlinux 0xdbc02cc3 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xdbd3fb2d iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xdbda4615 submit_bio +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe14274 tty_devnum +EXPORT_SYMBOL vmlinux 0xdbec3059 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xdbf450f1 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xdbf7c1eb __bread_gfp +EXPORT_SYMBOL vmlinux 0xdbfb856d blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xdc0c6f97 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc37cb76 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xdc37dac4 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xdc3ae2be nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc4230bb blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0xdc4814ae xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc4fe9a0 sock_from_file +EXPORT_SYMBOL vmlinux 0xdc645d53 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xdc703fc8 pci_iomap_wc_range +EXPORT_SYMBOL vmlinux 0xdc826c0d netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xdca61ec0 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xdca9ec3f blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0xdca9f969 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xdcbb60b9 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xdcc2dffc sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xdcc3feb8 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xdccc6132 set_user_nice +EXPORT_SYMBOL vmlinux 0xdcdac44b generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xdd0ec1df kthread_create_worker +EXPORT_SYMBOL vmlinux 0xdd1bd97c mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xdd1c91d8 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xdd1cdbcb add_wait_queue +EXPORT_SYMBOL vmlinux 0xdd211cc7 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd32b348 file_remove_privs +EXPORT_SYMBOL vmlinux 0xdd3baa04 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xdd4bffbf gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xdd60e4f7 sk_stream_error +EXPORT_SYMBOL vmlinux 0xdd6a8fc1 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xdd6f8a6e param_ops_charp +EXPORT_SYMBOL vmlinux 0xdd709aa2 simple_getattr +EXPORT_SYMBOL vmlinux 0xdd742d72 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd8a333c input_get_timestamp +EXPORT_SYMBOL vmlinux 0xdd994a88 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xdd9bb2cc nvm_submit_io +EXPORT_SYMBOL vmlinux 0xdd9e2c51 bd_set_size +EXPORT_SYMBOL vmlinux 0xddbdc58c prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xddbe51e4 pipe_lock +EXPORT_SYMBOL vmlinux 0xddc722a6 netdev_err +EXPORT_SYMBOL vmlinux 0xddf3fb5c md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xddf79203 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xde0bdcff memset +EXPORT_SYMBOL vmlinux 0xde10f536 proc_douintvec +EXPORT_SYMBOL vmlinux 0xde27e771 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xde29c48f pci_enable_device +EXPORT_SYMBOL vmlinux 0xde2d28f3 param_ops_bint +EXPORT_SYMBOL vmlinux 0xde383d22 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde639e79 param_set_copystring +EXPORT_SYMBOL vmlinux 0xde73cd5f kbd_free +EXPORT_SYMBOL vmlinux 0xde8a415c xor_block_xc +EXPORT_SYMBOL vmlinux 0xde8de452 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xdeb00676 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdeda2ae2 tcw_get_data +EXPORT_SYMBOL vmlinux 0xdef61811 proc_set_user +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdeff1a64 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xdf0a0fb1 tcf_classify +EXPORT_SYMBOL vmlinux 0xdf0dd957 discard_new_inode +EXPORT_SYMBOL vmlinux 0xdf106f79 class3270 +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf3b3217 generic_ro_fops +EXPORT_SYMBOL vmlinux 0xdf3ca7e5 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0xdf3d829b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xdf459223 mount_nodev +EXPORT_SYMBOL vmlinux 0xdf4f3b32 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xdf4fd0d8 blk_get_queue +EXPORT_SYMBOL vmlinux 0xdf50528a register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xdf51c0f7 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf68f0bc pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xdf702bec sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xdf920301 vfs_rename +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf98871d airq_iv_release +EXPORT_SYMBOL vmlinux 0xdfa9acca smp_cpu_mtid +EXPORT_SYMBOL vmlinux 0xdfadd3a4 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe004e27c pci_set_power_state +EXPORT_SYMBOL vmlinux 0xe017b448 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe0241c04 raw3270_activate_view +EXPORT_SYMBOL vmlinux 0xe03bbf27 freeze_bdev +EXPORT_SYMBOL vmlinux 0xe0481252 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0xe070a4bb inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe0ad7c54 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b7e849 inode_io_list_del +EXPORT_SYMBOL vmlinux 0xe0bc4fb2 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xe0f8f1e4 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0xe0fdf0b7 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xe11373c0 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe123fcae seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xe137ba91 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xe13af26f sclp_pci_deconfigure +EXPORT_SYMBOL vmlinux 0xe1422d5d tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xe146d251 debug_unregister +EXPORT_SYMBOL vmlinux 0xe14a5a81 register_gifconf +EXPORT_SYMBOL vmlinux 0xe18801e7 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xe19071a0 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xe19ed6c1 simple_lookup +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1dea316 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe208b52d blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xe2379460 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xe24029f6 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xe249d80a blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2740e56 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0xe28da80b tccb_add_dcw +EXPORT_SYMBOL vmlinux 0xe295a81a sock_set_priority +EXPORT_SYMBOL vmlinux 0xe29c36ff __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe29d2d02 __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0xe2a0b6eb eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xe2abe4f9 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xe2beac85 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d93124 md_write_end +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe30be315 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe323b618 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xe32615e0 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe33bb990 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xe3425470 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xe35fb609 kmemdup +EXPORT_SYMBOL vmlinux 0xe363a978 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xe379c7da __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xe3d70645 raw3270_request_set_cmd +EXPORT_SYMBOL vmlinux 0xe3ec1302 file_ns_capable +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe411fee1 kobject_init +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe43d9ab2 slash_name +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe4764e81 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xe47facc1 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xe4962f43 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xe4a250b6 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xe4a6c97d textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xe4b0cde3 scsi_device_get +EXPORT_SYMBOL vmlinux 0xe4bf9732 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0xe4dd11d8 seq_write +EXPORT_SYMBOL vmlinux 0xe4df5fc2 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xe4e1d438 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xe5094832 page_table_allocate_pgste +EXPORT_SYMBOL vmlinux 0xe50ae128 xa_set_mark +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe524e3e2 bcmp +EXPORT_SYMBOL vmlinux 0xe53c0570 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xe5554bb1 dup_iter +EXPORT_SYMBOL vmlinux 0xe55ca574 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0xe56b0d0f stsch +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe583c517 airq_iv_scan +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5929468 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xe5bf95b7 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5ea6124 ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0xe5f72d6c file_open_root +EXPORT_SYMBOL vmlinux 0xe600c717 poll_freewait +EXPORT_SYMBOL vmlinux 0xe60ece6c find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe6182fd3 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0xe61b7f5f register_adapter_interrupt +EXPORT_SYMBOL vmlinux 0xe6562cf5 set_groups +EXPORT_SYMBOL vmlinux 0xe659216e sync_inode +EXPORT_SYMBOL vmlinux 0xe669cd8c blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xe685e5cf __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xe6876c22 pci_request_region +EXPORT_SYMBOL vmlinux 0xe68df791 security_sb_remount +EXPORT_SYMBOL vmlinux 0xe68f9197 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xe6a38290 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xe6a91461 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xe6c9c487 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xe6df1b32 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xe6f1486d dql_reset +EXPORT_SYMBOL vmlinux 0xe6fc1966 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xe70e247b security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xe713a97a irq_subclass_unregister +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe75ab5ec put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0xe786db46 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xe78d2dad config_group_find_item +EXPORT_SYMBOL vmlinux 0xe7917a6c __nlmsg_put +EXPORT_SYMBOL vmlinux 0xe796f19a hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe798236d jiffies +EXPORT_SYMBOL vmlinux 0xe7a2b822 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xe7bb29ba md_flush_request +EXPORT_SYMBOL vmlinux 0xe7d3c4c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e97560 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xe7fa2b45 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xe829bbe8 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xe866138b netpoll_print_options +EXPORT_SYMBOL vmlinux 0xe868c4ca dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0xe88f86d9 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xe890e5f7 netpoll_setup +EXPORT_SYMBOL vmlinux 0xe8a3289f irq_set_chip +EXPORT_SYMBOL vmlinux 0xe8a680aa tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xe8ae1789 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0xe8b0b8fa get_pgste +EXPORT_SYMBOL vmlinux 0xe8ba125d kmemdup_nul +EXPORT_SYMBOL vmlinux 0xe8c3be2d sock_efree +EXPORT_SYMBOL vmlinux 0xe8c41167 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xe8c937b8 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0xe8d13ebd seq_vprintf +EXPORT_SYMBOL vmlinux 0xe8dd782a kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xe8de8a80 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0xe8e2d48e mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0xe8eda900 bdi_register +EXPORT_SYMBOL vmlinux 0xe9020709 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xe90ee2bb ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9300ebb clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xe9450641 kernel_bind +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95c71b2 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe966a974 dma_virt_ops +EXPORT_SYMBOL vmlinux 0xe9799c92 sock_create +EXPORT_SYMBOL vmlinux 0xe994e9ea tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xe99ccff3 dst_dev_put +EXPORT_SYMBOL vmlinux 0xe9a0c2cb inet_gso_segment +EXPORT_SYMBOL vmlinux 0xe9b09b8c blkdev_get +EXPORT_SYMBOL vmlinux 0xe9b7393e nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0xe9c58a09 tcw_finalize +EXPORT_SYMBOL vmlinux 0xe9d6449d input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0xe9d9c4e0 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xe9e1217e generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xe9f32ee3 generic_fadvise +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9f83e60 inet6_protos +EXPORT_SYMBOL vmlinux 0xea26d61c pci_dev_get +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea697743 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xea6c2eef __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea872313 find_next_bit_inv +EXPORT_SYMBOL vmlinux 0xeab4f635 __page_symlink +EXPORT_SYMBOL vmlinux 0xeac64562 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xeadead63 param_set_ullong +EXPORT_SYMBOL vmlinux 0xeadeeecc padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xeae1a7a1 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xeaec9832 sock_release +EXPORT_SYMBOL vmlinux 0xeaf33f16 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb28ac06 complete +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb54b2de device_get_mac_address +EXPORT_SYMBOL vmlinux 0xeb55c215 block_read_full_page +EXPORT_SYMBOL vmlinux 0xeb9dc55b ap_owned_by_def_drv +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebcb2554 raw3270_wait_queue +EXPORT_SYMBOL vmlinux 0xebcb9d63 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xebe3cfe8 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xebe9e164 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xebfb7207 ap_parse_mask_str +EXPORT_SYMBOL vmlinux 0xec0b5e3f ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xec122c83 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0xec237e4f xps_needed +EXPORT_SYMBOL vmlinux 0xec27c4d1 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xec28f880 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xec34ac30 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xec44e6f0 md_write_inc +EXPORT_SYMBOL vmlinux 0xec51274a migrate_page_copy +EXPORT_SYMBOL vmlinux 0xec6113f1 up_read +EXPORT_SYMBOL vmlinux 0xec61c614 xa_destroy +EXPORT_SYMBOL vmlinux 0xec67a1a8 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0xec6fab9c blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xec932ac9 __module_get +EXPORT_SYMBOL vmlinux 0xec97d4c1 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0xec9ed5c1 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xecb30055 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xecb349dd gro_cells_init +EXPORT_SYMBOL vmlinux 0xeccc4061 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xecded658 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xece9a182 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xecf3285c __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xecf3bbec freeze_super +EXPORT_SYMBOL vmlinux 0xed06c30b bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xed07c451 dump_page +EXPORT_SYMBOL vmlinux 0xed27af4f dev_addr_del +EXPORT_SYMBOL vmlinux 0xed2d783e dget_parent +EXPORT_SYMBOL vmlinux 0xed38f7f1 from_kprojid +EXPORT_SYMBOL vmlinux 0xed4441b5 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xed5615a0 igrab +EXPORT_SYMBOL vmlinux 0xed56e70b tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xed5b17f7 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xed6d4ffd __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0xed955652 tty_register_device +EXPORT_SYMBOL vmlinux 0xedad3717 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc5bab5 simple_nosetlease +EXPORT_SYMBOL vmlinux 0xedf2db8b create_empty_buffers +EXPORT_SYMBOL vmlinux 0xee08cada iucv_message_purge +EXPORT_SYMBOL vmlinux 0xee1ba902 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3302bf netdev_printk +EXPORT_SYMBOL vmlinux 0xee49d840 arp_create +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee596ade cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xee84031d dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xee852a1c tcp_disconnect +EXPORT_SYMBOL vmlinux 0xee8a2901 __breadahead +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeebf4736 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xeec66d0a tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xeec9cc25 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xeee7cef1 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xeef58117 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xef09a1ff __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xef319e7e tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xef3f2e44 seq_read +EXPORT_SYMBOL vmlinux 0xef45d32c __kfifo_init +EXPORT_SYMBOL vmlinux 0xef4af83b dump_skip +EXPORT_SYMBOL vmlinux 0xef5ca6f5 inet_offloads +EXPORT_SYMBOL vmlinux 0xef6ec54e inet_frag_find +EXPORT_SYMBOL vmlinux 0xef93ff57 md_reload_sb +EXPORT_SYMBOL vmlinux 0xefa614e0 vfs_link +EXPORT_SYMBOL vmlinux 0xefabbc29 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefc67050 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xefc67177 netif_napi_del +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefde2090 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0xeffb0239 lock_page_memcg +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf03427f8 up_write +EXPORT_SYMBOL vmlinux 0xf047c244 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xf04cf205 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xf05c64f8 iucv_path_connect +EXPORT_SYMBOL vmlinux 0xf073d7a4 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xf074f7f8 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xf0871ef4 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a6535b free_task +EXPORT_SYMBOL vmlinux 0xf0aca5db kernel_getsockname +EXPORT_SYMBOL vmlinux 0xf0e0fad5 dump_truncate +EXPORT_SYMBOL vmlinux 0xf0e78d5e scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xf0fb9378 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xf0fc9aa8 sclp_cpi_set_data +EXPORT_SYMBOL vmlinux 0xf0fdcf22 open_exec +EXPORT_SYMBOL vmlinux 0xf103b63b md_bitmap_free +EXPORT_SYMBOL vmlinux 0xf112508d dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf11733c6 generic_writepages +EXPORT_SYMBOL vmlinux 0xf117d2c5 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xf127dd3a ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xf15f3b41 idr_get_next +EXPORT_SYMBOL vmlinux 0xf17bd25b read_cache_page +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19e7338 unregister_external_irq +EXPORT_SYMBOL vmlinux 0xf1a0a28d alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xf1b4ee92 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf1ca5aac fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf20af3d9 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xf211d918 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf2301b99 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf25a4b26 pci_iounmap +EXPORT_SYMBOL vmlinux 0xf2693696 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf285faa9 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xf2a968e6 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2ce1269 sock_rfree +EXPORT_SYMBOL vmlinux 0xf2d8046e nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ebe8fe pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xf30384b1 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf310b57d blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0xf31c0d52 ioremap +EXPORT_SYMBOL vmlinux 0xf32f9234 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf33a26ff netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xf3405c01 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf3614253 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xf37d3511 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xf38667c7 sock_edemux +EXPORT_SYMBOL vmlinux 0xf386892f scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3a6aced current_time +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3b74f79 __iucv_message_send +EXPORT_SYMBOL vmlinux 0xf3cf490d bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xf3d7376f ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xf3da991e ccw_device_is_multipath +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf404d59a __frontswap_test +EXPORT_SYMBOL vmlinux 0xf4074f40 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xf4238424 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf426d899 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xf4285d0b mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xf43725fb s390_arch_random_counter +EXPORT_SYMBOL vmlinux 0xf43bb341 d_instantiate_new +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf451be3e xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xf4692e57 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xf46f983e nvm_register +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf4853012 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xf4a8448b ip6_frag_init +EXPORT_SYMBOL vmlinux 0xf4b1f077 pci_free_irq +EXPORT_SYMBOL vmlinux 0xf4b2b86e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4cd0ea6 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f1d73f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xf4f8aaa4 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xf501692f skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xf5257c40 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xf528e854 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xf531ab51 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf542f290 raw_copy_from_user +EXPORT_SYMBOL vmlinux 0xf550304f alloc_pages_current +EXPORT_SYMBOL vmlinux 0xf550909d utf8_validate +EXPORT_SYMBOL vmlinux 0xf5618b0b device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xf56d63ee blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xf57d0349 ccw_device_dma_free +EXPORT_SYMBOL vmlinux 0xf59a5417 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0xf5a54b0b raw3270_find_view +EXPORT_SYMBOL vmlinux 0xf5aed0fa get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0xf5afc47d ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xf5b0f227 dm_io +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5e80524 blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf5f2c541 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xf5f91f8f wait_for_completion +EXPORT_SYMBOL vmlinux 0xf5f96fd5 seq_dentry +EXPORT_SYMBOL vmlinux 0xf5fb5dc2 pci_iomap_wc +EXPORT_SYMBOL vmlinux 0xf6089c64 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xf60fee1f write_one_page +EXPORT_SYMBOL vmlinux 0xf6138eb4 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xf62be57b ccw_device_start +EXPORT_SYMBOL vmlinux 0xf63ea302 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf6467a34 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xf64a539a dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xf6526ec5 ip_do_fragment +EXPORT_SYMBOL vmlinux 0xf656431e fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xf66066b6 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf67ae62d key_alloc +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf683e9be tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf699f364 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xf6dfbf5c iget_failed +EXPORT_SYMBOL vmlinux 0xf6e69488 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xf6eaee7a blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xf6eb3245 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7096d32 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xf7276534 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf73c008c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xf74300d7 arch_vcpu_is_preempted +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf758ef5d d_set_fallthru +EXPORT_SYMBOL vmlinux 0xf7610750 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xf76a5014 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf79558d5 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0xf79cbfcf __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xf7a596de ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0xf7b92217 utf8_casefold +EXPORT_SYMBOL vmlinux 0xf7c1f589 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0xf7d71918 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0xf7fc2e49 kbd_ascebc +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf8198d9c pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf84af571 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf869b24f dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xf86c0055 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf89a3101 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xf89c66f6 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xf89cfde7 VMALLOC_START +EXPORT_SYMBOL vmlinux 0xf8c76992 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8e71d3d key_task_permission +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf914bb9b pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf9500d2f sort_r +EXPORT_SYMBOL vmlinux 0xf96fcd7b lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xf971319e __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xf974549c stream_open +EXPORT_SYMBOL vmlinux 0xf979e5a2 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xf986409c vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0xf9a1b750 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xf9a2d852 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c191ae tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xf9e8adb2 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xf9f50b92 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xfa0548d7 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xfa05bc0b __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xfa08f4b8 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xfa0e2b12 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xfa3949c1 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xfa451bbe __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xfa4aa611 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa6a5404 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfa7228f7 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0xfa8556f9 irq_to_desc +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa8b36b9 param_set_long +EXPORT_SYMBOL vmlinux 0xfaa44373 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xfaa82a9d __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadd71ca ptep_xchg_direct +EXPORT_SYMBOL vmlinux 0xfae039ab can_nice +EXPORT_SYMBOL vmlinux 0xfafaad57 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xfb05f5bb touch_buffer +EXPORT_SYMBOL vmlinux 0xfb1f0473 set_bh_page +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb4694b4 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb6246c8 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7438f2 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xfb85c442 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xfb865c52 ap_driver_unregister +EXPORT_SYMBOL vmlinux 0xfb901507 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xfba7449c unregister_qdisc +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbabaaa1 clear_wb_congested +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb29be0 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd65759 param_get_string +EXPORT_SYMBOL vmlinux 0xfbeafb82 sync_file_create +EXPORT_SYMBOL vmlinux 0xfbf98768 __destroy_inode +EXPORT_SYMBOL vmlinux 0xfc0639be ccw_device_set_offline +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc3a1394 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xfc3c4e1c scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xfc4f8789 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0xfc7be2a4 I_BDEV +EXPORT_SYMBOL vmlinux 0xfc8efd8b page_readlink +EXPORT_SYMBOL vmlinux 0xfc9cc8a4 skb_find_text +EXPORT_SYMBOL vmlinux 0xfc9dd500 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xfcbc2114 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xfcce87aa devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcec67ff ihold +EXPORT_SYMBOL vmlinux 0xfcf29c1b crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xfcfb8c46 locks_free_lock +EXPORT_SYMBOL vmlinux 0xfd0ab3fb tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xfd3a1e31 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xfd4f9e37 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xfd51a6f7 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xfd606faf __put_cred +EXPORT_SYMBOL vmlinux 0xfd7352d3 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xfd8669c9 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xfda0c1be __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdb4de2d mempool_free +EXPORT_SYMBOL vmlinux 0xfdc84351 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdf45996 lowcore_ptr +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe12e6eb pci_read_config_word +EXPORT_SYMBOL vmlinux 0xfe193e65 __xa_alloc +EXPORT_SYMBOL vmlinux 0xfe3085e1 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xfe344559 sock_i_uid +EXPORT_SYMBOL vmlinux 0xfe3b4bd2 seq_path +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe4c398a put_fs_context +EXPORT_SYMBOL vmlinux 0xfe4d0ec5 fb_get_mode +EXPORT_SYMBOL vmlinux 0xfe5b6568 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe5fa66c nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0xfe6b0792 __d_drop +EXPORT_SYMBOL vmlinux 0xfe6ecbdb input_close_device +EXPORT_SYMBOL vmlinux 0xfe9f2664 arp_send +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfeb708bf nobh_write_begin +EXPORT_SYMBOL vmlinux 0xfebc84c7 is_subdir +EXPORT_SYMBOL vmlinux 0xfedc9277 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeee1ba5 debug_event_common +EXPORT_SYMBOL vmlinux 0xfef29898 param_set_bint +EXPORT_SYMBOL vmlinux 0xff004586 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xff0cc0da udp6_seq_ops +EXPORT_SYMBOL vmlinux 0xff1caace mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff1f0ae2 add_virt_timer +EXPORT_SYMBOL vmlinux 0xff241b84 pudp_xchg_direct +EXPORT_SYMBOL vmlinux 0xff271ccc security_inet_conn_established +EXPORT_SYMBOL vmlinux 0xff294eb2 dput +EXPORT_SYMBOL vmlinux 0xff383791 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xff5a37f5 airq_iv_alloc +EXPORT_SYMBOL vmlinux 0xff5e3117 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6d85b5 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xff9f222e io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xffc89bc5 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xffd782eb xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xffde18c8 __scm_send +EXPORT_SYMBOL vmlinux 0xffe6636e __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL_GPL arch/s390/crypto/sha_common 0x183765cf s390_sha_final +EXPORT_SYMBOL_GPL arch/s390/crypto/sha_common 0x69cf4839 s390_sha_update +EXPORT_SYMBOL_GPL arch/s390/net/pnet 0x04cd7330 pnet_id_by_dev_port +EXPORT_SYMBOL_GPL crypto/af_alg 0x088569c4 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x1c5c1e13 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x22ba3a36 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x2f0b61f4 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x31ae2f0d af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x522e65ab af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x71d854db af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x775b2a60 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x81ab94e1 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x920b0fc6 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x961f853f af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xb1e45acd af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xc6942321 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xd70c9b53 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xf6992c14 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xfb8a7103 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xfbc9fd0e af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0xff54c530 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0xd10dc3f2 asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xcbc38aeb async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x0866b551 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xbfff92de async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x1ecbbba8 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x7d2be956 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x17f4a362 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x34f6a04a async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x62df8613 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x67ada8aa async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x87cb5be3 async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x17f97ae9 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xfe04e8f2 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x21ee63f9 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 0x628be013 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6ad5c4fc cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d7aced9 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x73e47280 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x86c878d0 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x87f22c5d cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x8eb74d35 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x90ce5bac cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x9f96dba0 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xa009dde4 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xbc1b9525 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe412801b cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe5ebfba6 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x01b1fea3 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x58fb5dba crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x658f0dc5 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x69784d03 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x69ee640c crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8b1a1512 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8fda3c1d crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x913024b3 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xaa6b15d7 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc6f7e5c2 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc93ade69 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xea4788b3 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf7cb12c0 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x5ce20f2c 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x04af5f5f crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x3b18ebdd crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x7706d239 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/twofish_common 0xb480d114 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0xdd9dce30 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xaa56a127 alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xf82f8a90 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0e9a491f fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x194e7780 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1f5337b5 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1f84b180 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x22b2e432 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2487a15b fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3de0e920 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x73955522 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xaa8fef53 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc525242b of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcdde330a fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe021c78c fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf186f0d7 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xeed14410 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x04bd6655 drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0f3bb145 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2a92e864 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x44dd91a1 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x561eac33 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6512e33f drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x765fd345 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x79ad5ff1 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x91e23db2 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9464c6f4 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9f6812e0 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb86d65a5 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc69fcab8 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc8ec9817 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xcaac1adc drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd3caf90e drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd9cbd136 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe03def50 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe54ca512 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe9059be9 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff4c9c21 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1c81b8fa drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x71af61ef drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8959a4f5 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x89afec10 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x94586841 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x955c8037 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xab870fd6 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc1e94890 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe675934a drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xea733fce drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x25e4411b ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xad1cba62 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xe88a7ed6 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x32e78e76 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x387eaa46 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x470eec6b intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5a99c95a intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x73b47cac intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x87aba948 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa33c23d2 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd969f919 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xf4cee413 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x4090bdbe intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x504f047c intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x982fae9e intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x21b28ea4 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x25490d88 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x545022d9 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa8176cc4 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xacd3cef2 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbbdba905 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbf5d552b stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf39edeaa stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf6c945c7 stm_data_write +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x0411cb65 i2c_new_client_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x181378b7 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x1b6bc412 i2c_match_id +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x3ad7e6a8 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x497e5604 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x569cddd4 i2c_new_dummy_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x66a2edb7 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x6cc28424 i2c_get_device_id +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x81b98fef i2c_client_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x820e5b33 i2c_recover_bus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x88b66425 i2c_unregister_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x8c3937a8 i2c_for_each_dev +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x9cc9e46c i2c_adapter_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xaef0ccc8 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xbb106c34 i2c_new_scanned_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xc6e48ce6 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xd647c0d0 i2c_bus_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xe4bf0da8 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xe79b55da i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xf67e6b65 i2c_adapter_depth +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0e0cbe62 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x49818653 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd82c73ef i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xef02def4 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0e5eaa7d rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x116333ca rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x37f62732 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4a24e10e rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x545cbb53 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x55bbd8e4 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x570a02bf rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x66089b70 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x67229816 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xbec5e819 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc784eab1 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcc907392 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xfb9a0ce3 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15b97715 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19b88bec __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2307b422 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b46c4b6 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b793afb __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2fbf8560 __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33554606 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x414c7765 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f6a4a3e __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65fb81f0 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b1045c7 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7260fb66 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x748968f6 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7574c715 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c8a33fe __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x96bf5dba __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa353964f __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4682eff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xab4c5652 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb22f8879 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbf53dc9d __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc00185bc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc13b483f __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc36e201d __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8feefc9 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd8da0f0e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9f20dee __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe9c4d700 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee603d81 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf5d8bf62 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf8502c64 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0f5c5454 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x10b6ce9c dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x13754c5d dm_cell_error +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 0x469c7b06 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x50850a44 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5fde7152 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x70d57559 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x759c613c dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x80ca27c4 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x897af7bb dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x951a6c28 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa3baa08d dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa7872fa3 dm_cell_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 0xb8413847 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xc075ddc7 dm_cell_lock_v2 +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 0xdb5456cd dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xded4002e 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 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 0xd7cb9c8a dm_bufio_client_create +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 0x5cf75d83 dm_cache_policy_register +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 0x9b6a5ae6 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 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 0x0117c9fe dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xbc73ed7d 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 0x03b00651 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 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x77fcd64a dm_rh_dirty_log +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 0xa6a40a1f dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xad9f7113 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd4b96bac 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 0xe4beb595 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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0ae4d696 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x683b4ca7 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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa8d9df84 dm_tm_create_with_sm +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 0xaab0ef04 dm_bitset_cursor_skip +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 0xb500e95b dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +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 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd7016b22 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf3b16444 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf551114d dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x026ba406 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05a561d6 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x095fa757 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fa1caac mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x102b6022 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x118777c5 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12ddaf58 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x143cf2b2 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1493b986 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x162563d4 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18e02ff5 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x193d075d mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1af74472 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c823372 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ca94c15 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1db33766 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e3e4d18 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23a2fefa mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25ea31a3 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d5b2437 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3008ae53 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x349e4ab0 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3aadbecd mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d972d14 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3eeaa1f0 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43440964 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x463340a8 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47555e78 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4937a8b7 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b8958b2 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4cb34cdf mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e4bb8e9 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x509d954e mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51d935e1 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52679c48 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54951097 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56082156 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x569ea323 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a59e102 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c2b8721 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e3b65c8 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62222f8a mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x625d54ae __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6440c185 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65157dbf mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66497c21 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6917fa01 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b2575c0 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b59280d mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6eb01239 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6edd4252 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71875523 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x740bf52b mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ad0a060 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b14acb3 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c67bfeb mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d893093 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e1a8d32 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e9503a8 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7eebdf25 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7efc4db5 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ff7146a mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80fce669 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x842dfeb8 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84a21b79 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x864eb432 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x882a8216 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x89316bc9 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b599da6 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d5010b7 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d6d6785 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90913511 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90e4aa4c mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90f66147 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x912b14a9 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95a69916 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96f21a11 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97b7a573 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x985bd5be mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b43fefb mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9c7c3730 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d771782 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fb07176 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1ec3cd8 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa57cee34 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6387939 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa71b9acd mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad3366a2 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xada4cb82 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae566a87 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb35c5ea8 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb4447571 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6140188 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb96739e9 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc3ae5df mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc4196bb mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc06d080a mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3fb09c0 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc67711e3 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca7d99b0 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf45a057 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4542938 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6e10e24 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd83aa8e7 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd87bad32 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8ef653d mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd9b7ac67 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde24eaa3 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde2b3091 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe0c2e510 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe0df355d mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5a9cfec mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6ae0fbc mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeda64b15 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef3c02f2 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0831289 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf08e2304 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf31b3de1 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf5fdbebd mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf619426b mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb890640 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06f8b90b mlx5_core_query_sq_state +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 0x0aeabe64 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b7faae0 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x12b0de2f mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15bf45a5 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16f8df57 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1753fd79 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1bd8e685 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1bf5bb05 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27cca27d mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d0bf478 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d6fa240 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2fc2678d mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a476dad mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fbf2cd9 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x412d985d mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x453fe393 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4595a53f mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47271510 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49597676 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e6146e5 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x574ddc26 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x586e6359 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a85e79a mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f08aa58 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63ffe282 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66e2bca9 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x679b174e mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68980de5 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68b71880 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a4955ae mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6bf47b11 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ce1bd21 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70fd9c64 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7390e6fa mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75e3c013 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x769daea2 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d3aa99a mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e524e78 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7eaf1e6b mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8393fcac mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8474b211 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86298437 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d18adfe mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93987323 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9502edff mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95c12e8d mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96af6b00 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b771a01 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa3ee4888 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabbbf329 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2b8e428 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb32e3391 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6c36e01 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc0b7bcd4 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1df749e mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2a66a9c mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc31f46d3 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3ddf7dd mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5dc1539 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd989ef1f mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdabf051b mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc66b361 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc96a0a8 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3f224ef mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe54a6277 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6581639 mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec900348 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf50e8b01 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd37a3d8 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xffffa642 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/geneve 0xd2b86d4b geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x2b8ed44d ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x447556bd ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x8f78ecfd ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x9907598b ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xb6b260b9 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/macsec 0x01a7c1f3 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1ddeca26 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2aaf0320 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x9226d7ed macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa2ebf0ef macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x7b4c572a net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xcc394faf net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x044f0373 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0638cdfb bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x08abc320 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x15d4ff33 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x196777f5 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1a077faf bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1eccc496 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x20d13c72 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2d782cbc bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2f8df715 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3933b6f0 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4293da8b __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x43e254a0 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x45ca338f bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4d7215f3 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x591dd7f0 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5ba6979e __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x65b5eebe bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6c851815 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8c00a778 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8d533e3b bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9a9e3c3c bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa12c70a2 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa386f1aa bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa9793ed9 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb55273c7 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb8134510 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc2b11211 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcfafb5b0 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd15e9b0c bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xefac2773 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf4b39bae bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf5d47aa3 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0x08e837c4 fixed_phy_unregister +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0x4bb418af fixed_phy_change_carrier +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0x902a536a fixed_phy_register +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0xb248c039 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL drivers/net/phy/fixed_phy 0xf24aed0a fixed_phy_set_link_update +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x0485ddf4 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x0a1c7991 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x0b94621e genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x0f97f391 phy_package_join +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x18705689 __phy_modify +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x1c24b045 phy_modify_mmd +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x1d3e9a00 gen10g_config_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x2483e176 phy_save_page +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x2b64083d phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x41558bfc genphy_c45_read_link +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x41b0c7fe phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x450dc6a4 phy_check_downshift +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x5a121321 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x5cf8d010 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x635f351d genphy_c45_read_pma +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x660989f7 __phy_modify_mmd +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x68354afc genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x6a84599c phy_driver_is_genphy +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x7199ab47 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x7362a6a8 phy_select_page +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x82256f43 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x8263706a phy_restore_page +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x85b802b5 phy_modify +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x89945164 devm_mdiobus_free +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x90b48a46 phy_restart_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0x94e180ef genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xa55ffa58 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xa7c19fe0 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xbc4abfb9 phy_package_leave +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xbe65d15b phy_start_machine +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xc35219e2 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xc4a7e977 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd0e1749a __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd0e97faa devm_phy_package_join +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd6cf5de5 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd914005f mdiobus_modify +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xd9efb074 phy_modify_changed +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xee3e0122 phy_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xf6a98a14 genphy_c45_read_status +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL drivers/net/phy/libphy 0xfab79c71 phy_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x9fb808de mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2d0b36c1 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x398a33ff phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4f9735c9 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5f6b5870 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5f7c9c66 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +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 0x7f33ada8 phylink_add_pcs +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +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 0xa70223e2 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +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 0xeaa681c3 phylink_mii_c22_pcs_an_restart +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 0x32c46f79 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x36f51d88 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x3b0e1831 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x640c0495 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x6afffad7 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7ed0abcf tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xa7b20c2b tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xef281e84 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0xfbd199f3 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x317b5f5f vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xbdf36979 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xc0943849 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xd9401ec3 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x02f71acf nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0355b402 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x13af9b89 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1dd8ac7d nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1fe20a1d nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x24d9a1b8 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2fa55ced nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2ff09bc1 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x30918003 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4c004068 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x54085d0d __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5c6b5387 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6ffb8d6d nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7458a9f2 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7493d271 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8b2eb5f9 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x93c2c7a5 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9c41f629 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa4feac23 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa53fad79 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa975dfeb __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xaaa3b58c nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xafc18d33 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb1f11206 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb39a20c6 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbe49a920 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xca09ccbf nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd239f167 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd2cfaac9 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd515e80b nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd70c63c1 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe2bef051 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe523cd34 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe914c296 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe95aca74 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xee327f33 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf90dbd7d nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfba1a403 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfc1b9c33 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfd4c828a nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x007756c1 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x05841814 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0791d971 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x10ec03a9 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5745a1ab nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x813783c6 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9cfa4c3a nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb11f8bed nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xbc8156e5 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc67461c9 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xccfdf86e nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdd79ffdd __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf771b921 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 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x96ac4710 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 0x0340ea7d nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x105914d1 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x150ebc5c nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1d487dc8 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3eacef10 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4f7cbf4d nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5f360f60 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x83d83f1b nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8a0e53d8 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xbc403509 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xdf4cc9ff nvmet_sq_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 0x10807ab1 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/switch/switchtec 0x6875595a switchtec_class +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x03d75913 dasd_generic_space_exhaust +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x0a0a6040 dasd_alloc_block +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x0c60404d dasd_generic_restore_device +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x19227556 dasd_nopav +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x1c85d602 dasd_generic_verify_path +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x2099d487 dasd_device_is_ro +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x30f48c24 dasd_generic_path_event +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x324ed7ff dasd_put_device_wake +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x4622e876 dasd_biodasdinfo +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x4befaf22 dasd_generic_shutdown +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x51a55758 dasd_generic_uc_handler +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x5a95fab2 dasd_get_sense +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x63f22fdd dasd_free_block +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x65caf012 dasd_generic_last_path_gone +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x6efd56ea dasd_generic_set_offline +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x76583945 dasd_generic_set_online +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x79c86102 dasd_generic_handle_state_change +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x7b6f9237 dasd_generic_path_operational +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x7b8f9dfe dasd_wakeup_cb +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x824515cf dasd_generic_remove +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x8464abd0 dasd_generic_read_dev_chars +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x88df36dc dasd_device_remove_stop_bits +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x975be603 dasd_generic_notify +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xa0dbf241 dasd_generic_probe +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xaa56a986 dasd_generic_free_discipline +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xb38fe028 dasd_page_cache +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xbb3793da dasd_generic_space_avail +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xc33ddea2 dasd_flush_device_queue +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xc949ae53 dasd_generic_pm_freeze +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xe85a8e9c dasd_device_set_stop_bits +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xf15784f5 dasd_nofcx +EXPORT_SYMBOL_GPL drivers/s390/cio/ccwgroup 0x05956905 get_ccwgroupdev_by_busid +EXPORT_SYMBOL_GPL drivers/s390/cio/eadm_sch 0x85d9d140 eadm_start_aob +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x13362c75 qdio_shutdown +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x22fa7e9c qdio_establish +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 0x2d72db7b qdio_allocate +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x40809794 qdio_release_aob +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x8318bcca do_QDIO +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x95a9ac19 qdio_free +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xa04bb255 qdio_free_buffers +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xb2e94416 qdio_inspect_queue +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xf64f8adb qdio_get_ssqd_desc +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xff68f301 qdio_activate +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x00f58246 qeth_tx_timeout +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x0ac67c3e qeth_fix_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x0b296f72 qeth_set_allowed_threads +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x0d47b5e4 qeth_enable_hw_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x108b843d qeth_setassparms_cb +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x11b35cdc qeth_open +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x15530a31 qeth_do_ioctl +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x1e588844 qeth_get_stats64 +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x1f995be8 qeth_stop +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x203b9f04 qeth_print_status_message +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x29a8808c qeth_clear_ipacmd_list +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x2cd9e4cc qeth_core_header_cache +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x332df86d qeth_clear_working_pool_list +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3791811d qeth_setadpparms_change_macaddr +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x39b252d8 qeth_setadp_promisc_mode +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3e03b7b5 qeth_setup_netdev +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3e781cb8 qeth_features_check +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3ed13ad5 qeth_get_setassparms_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x42f921eb qeth_set_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x4c1a7fbd qeth_flush_local_addrs +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x4cb87b8a qeth_set_offline +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x4f8cc1b2 qeth_threads_running +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x5648c9f8 qeth_core_hardsetup_card +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x5c9fed1c qeth_generic_devtype +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x6b061458 qeth_stop_channel +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x6f659112 qeth_send_simple_setassparms_prot +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x7131ef2d qeth_put_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x81d4c27c qeth_qdio_clear_card +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x8adb06d3 qeth_prepare_ipa_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x8e34853e qeth_device_blkt_group +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x907e1922 qeth_alloc_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x92111041 qeth_xmit +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x93e5659f qeth_drain_output_queues +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x96b9a604 qeth_device_attr_group +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x989390ec qeth_get_diag_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xa201d267 qeth_resize_buffer_pool +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xa528e209 qeth_get_card_by_busid +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xaec7afde qeth_dbf +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xb4eb28a6 qeth_iqd_select_queue +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xb9eac798 qeth_count_elements +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xc4ea29d6 qeth_trace_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xcbf2b2bd qeth_notify_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xcff8b6d8 qeth_vm_request_mac +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xda685434 qeth_get_priority_queue +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xe29dc680 qeth_send_ipa_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xe860aea9 qeth_poll +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xe9b9ab05 qeth_configure_cq +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xf73c8b66 qeth_ipa_alloc_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xf87b721c qeth_dbf_longtext +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xfd728827 qeth_do_send_packet +EXPORT_SYMBOL_GPL drivers/s390/net/qeth_l2 0xd89eee9e qeth_l2_discipline +EXPORT_SYMBOL_GPL drivers/s390/net/qeth_l3 0xbd6dad47 qeth_l3_discipline +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x080f2532 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1270168e fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1c22355e fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x45376497 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4f17be8d fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x53d1daf2 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x55e94f5d __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6c583926 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6e75cf03 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa6cece26 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc91d89e7 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xce7c754d fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd8e87e2d fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xde250ba8 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf4870996 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xffe1f942 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x05f64f5b iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x1181b2a9 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x14be77f8 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x22814ca5 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xab92cc66 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xbd764a54 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xef607b76 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00e152ab iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x035e9acf __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0a85a018 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b6352cd iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x155b9570 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1dcdda4d iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x25e27b32 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ab2dc0c iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2bea2597 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2c77e20d iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d0718fe iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e143166 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x301b060a iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x34253222 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x345dbb4a iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d660e8d iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x440a6b6c iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x534a7ac8 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x628b92c3 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6d0d4678 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6ebc9c6a iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x703d6f56 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x76c18065 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85eea180 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa35f6aaa iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa6e77142 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb834929a iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc1f6c328 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc20b0278 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc787b7de iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb17d3bb iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcc344c89 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd0d01177 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd235506a iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2d5a0b7 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd67c5e19 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdcc59855 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdd558c75 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde613e1d iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe0c19ddf iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xea6408a3 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeee39bd8 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x20396448 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x312eae91 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x35acce32 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x38d899f8 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4915a941 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4b7a276b iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4e1271e5 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5739f8e6 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5d4baa69 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6172ec91 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7380e187 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x79ce14c4 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7f04b3b3 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x93d49c56 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa9ff8146 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd7d5c627 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xeecb08e7 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x07dc9cf1 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x122b5407 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2a0be97d sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2a637e40 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3376e271 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x448fee2e sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4d6a1774 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x50dee14a sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6c78a7c4 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6ebc30b9 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8a850905 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8e2956b2 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x995b1801 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa4d16c52 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa50df8ea sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa589d36d sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xba53861c sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbbbb8452 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcc03cd90 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd00ce2d2 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xece71a1a sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf1b5f077 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf99b6de9 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0499e7b3 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0821c0be iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x10710b29 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x12f7de56 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1adce9a2 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1cc9c4b6 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1ea0a1d9 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2bc1526c iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3133dc5c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35a3993f iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35fcd01f iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x38fb8025 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d7b16cc iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46428d63 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47867762 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d590269 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56bacf3c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5ae20647 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6cdaecdd iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6dec1366 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6ffec5df iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x79669076 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81e025eb iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83f9f584 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8652df2b iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x883931f0 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ccee9e6 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaac3519d __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xad4b2f9a iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaea92c90 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb99c245a iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbcbe8593 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc238d8f9 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc2c5b53a iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc97fc753 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcabc1d25 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4697d5b __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd560b0fe iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdf83fcaa iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe411f12a iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5a0b252 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe69c53c5 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe86a2c13 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe8baf5dd iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x240a6b72 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x762cdfbf sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xf31713bb sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xffef46ab 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 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xb7f1f241 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x053a4ded srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x17dccdd2 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2ac741af srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x6dd4ca11 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x95896f36 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xbca7427f srp_attach_transport +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x4d975668 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x9ea92731 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xa2e02b43 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xaa678b3d siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xd892bf8d siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xdad5009d siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0aba05aa slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1a14a393 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1a910249 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2d58e2f0 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2f00c6d0 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3954eb73 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3b2943c0 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x414ad9c7 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x52c85e57 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5c44a524 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5cb2e723 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6485c36e slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x64fc9972 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x67834903 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6feb9e1e slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x78f1806d slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7bb112c7 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7f35181c slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa347d4d2 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcf4a8e1d slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe33d65b5 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe6df0713 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf16a0ce1 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf2355d2c slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf366eda6 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf52515aa of_slim_get_device +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x1a2cbf69 uart_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x3806a16f uart_insert_char +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x6a5bcfcd uart_handle_cts_change +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x8d0f163b uart_console_device +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x995d743c uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0xe513e5fa uart_get_rs485_mode +EXPORT_SYMBOL_GPL drivers/uio/uio 0x280d6d98 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x54ddb209 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb1f4b3f6 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xeba3d6fb uio_event_notify +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x144c7fe0 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0d7a2f2d vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1700d3f3 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1a84a76e vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x43947945 vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x529db99e vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x78256279 vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa5f3dfcd vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xab9c21f4 vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc7bd1224 vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xd41fb3f9 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xf532bf5d vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x282d9fb7 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xbef2573c vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x010b139b vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x035c4efb vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0e28c4b9 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x10619ab7 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1b99c3c4 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1cbba010 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x20075ddc vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4e53e3b9 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4fa08a25 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x54b5f0c2 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x55e65047 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x56e81dea vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5741369b vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5e7f0a3d vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5f2665f1 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6239a0f5 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x65b2e6cb vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x694e951b vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x69c9bc63 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7b46a091 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7b549960 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fe3edf4 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x810dffea vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x825d07f3 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x82e27c86 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8778df28 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x89c74da2 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xab84b4c4 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb27c0017 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb46fc809 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb4f27795 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc06e5b23 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc28aa014 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc522d7b7 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xce24c5b6 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd7ce737d vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8269df0 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xde65883d vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdf1b57e3 vhost_vring_ioctl +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x030ec712 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x6115360d fb_sys_read +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4a32ade5 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 0x89cd9c64 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 0xf34a16f0 dlm_posix_get +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x53c25eb6 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x75f291aa nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9a629701 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa5898d6a nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xbcf68915 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe84ebd15 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf134d43b nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x057679a7 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c97fd52 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d74ebfb nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ec08fc8 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x11d49d34 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x139507d5 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13d8dd9a nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x144a3bbc nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16ad66cd nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x19dffbd0 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a02fb99 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1af8c5a8 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c4a377a nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d700c20 nfs_file_set_open_context +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 0x269f1142 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27c3fb47 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28ae16c1 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e2c71df nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31560790 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31a8f755 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3258d3c1 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x353071b9 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37379ae9 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x399394b0 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ccb296f nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e1c4ff6 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e5c4e49 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e8b2d78 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4023e507 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42bababb nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4abad8e6 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x50c26893 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53bbf955 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57985909 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5857b280 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59d59afb put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59e689b6 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x61fcd9f8 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x631df62a nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6402fa10 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6529b0e0 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66bc2088 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a2ba068 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a50d12c nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f650c5c nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72795747 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x727b0ea8 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73a82443 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77d3f921 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7dad7aa9 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f065626 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f4a47b8 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fa919d6 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x812d7443 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83272c56 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84d0ce31 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84d1c97d alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x853b6d47 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86af053d nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87b1fee1 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x883f81bb nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x884ec1c1 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8bfe6c9f nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d2c220b nfs_clear_verifier_delegated +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 0x940fd167 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94108cc1 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x965d0aef nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x971c3946 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c309362 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c5a4483 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f260dc9 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0a52dd2 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2f42a6d nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa7d35efa nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa7e498b6 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8abcded __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8c88410 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa90d067f nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9dc546e nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaae1e805 nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac178e46 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xadbf73e7 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xadc0c5de get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xadf373cb nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae71f571 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae722947 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf05b70e nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf41cd55 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf7cc8de nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xafe13161 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb0db8618 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb18316a5 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2999b5b nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb465af9a nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5f5c91f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb6427314 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb93b16a0 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc6b2c88 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe12914d nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe9fc3a6 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf95218d nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc08f2cd5 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc13ab7d3 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3961e0c nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc405a86d nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc782d792 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7985a95 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc81344cd register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9b0257f nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc6c9e08 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc7a3455 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc7ca085 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd245e41 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd027e092 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7b60647 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb22223a nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb43c0c1 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdfd5cdf0 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe28ebd5e nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7b35779 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xedf6a5c3 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xee3a8d98 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefb72ae3 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf2ead2f3 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf6436b37 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf765b13b nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7f0ff17 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf81505a8 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8bf514c nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfad1bfe3 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfda54686 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff7d5872 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x27217325 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x008d8b9d nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x06c746a1 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ade27ae __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f5bf04b pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f5cbd64 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x14ecfc0a pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x163831c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1a5361cd pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c49ef7e nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cae538b nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdde079 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e716e07 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e7b9aac pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x208f5c30 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x243a5526 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x267493cd pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2ae3c6ad nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2c69df32 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cf58c3c nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39ac52fe __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7aa1b9 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c7d84cc __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40bc3c6d __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x432e2f2b nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x48cc87f4 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4d68d4fb pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x52c557f1 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5376b16c nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x641dd461 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e972978 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f56c2ce nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6fe46c37 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x707097d7 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x74e795d3 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7775e52a nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78ecf37b __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d60e9b8 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7f91d06e pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fe7964d pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8015ad22 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x836b5129 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x83b98357 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x85f74f2a pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x86f87fce pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8b40a67d nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x911deba9 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x916f2d73 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99b852ed nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9ca7ea75 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa319bfee __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa4028a81 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa5508ab5 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9678d2a pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab79b5c6 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac11579d pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac578c3d pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaec7cb5e nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaedb4b7b pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb215351a pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4cead35 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb8bf1c43 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc3331772 nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4394482 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc6978dfa nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcab07c15 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc4458cd nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcce1e25f pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcdf50a10 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcfef2d35 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6ed7dda __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd9a5bd8c pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdb259677 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc29230a __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf05942f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe3a6cb06 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe7d06137 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae30e09 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xec2c2d38 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee960d9f __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf1c29f87 pnfs_generic_pg_check_range +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 0xfedb2dec pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xff9b8575 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc77b1025 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc82a23c6 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xfc5d43dd locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x07529fba nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x27a02fb1 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3bdb4dc0 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4bec178a o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x50bd37f2 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5282a2b4 o2nm_node_put +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 0x7a9e53ce 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 0xaa09bb7a o2nm_node_get +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 0xc6a79d24 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 0x28c48c48 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x404c7b5a dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x62dc818c dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x6aec4672 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x758746b0 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x77b61a34 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 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 0x3583dc6a ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5826c759 ocfs2_plock +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 0xa0af6656 ocfs2_stack_glue_unregister +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 0xe61d36f0 ocfs2_kset +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x1f5eac57 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xca5f4d45 _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe55038d8 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0x1b0f70f3 crc64_be +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 0xbc3b5e35 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 0x36f982dd notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xad3a368b notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x18efd32f raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x391d9714 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xa51bfd9f raid6_2data_recov +EXPORT_SYMBOL_GPL net/802/garp 0x3f950814 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x71349754 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x942d8a94 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xd94965d3 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xe8903ad9 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xf2fd3cb1 garp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x02badb0d mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x3460145d mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x90ddf294 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0xd531784a mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xd7e417e0 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xdb1bd6fb mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x4c34b5ff stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x4f1aa3ab stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x9d2a96c9 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xd143ea3a p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/bridge/bridge 0x03db76f7 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0795abb5 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0bd4ed99 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x14e48afe br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x165461d0 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x21f327ab br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x252ad17c br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6245d0bc br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x73a8f59c br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7b4ff497 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x87a20065 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x972a39f0 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa5cdd37c br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd1bb2eb3 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdf10e6f1 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe7b3ed98 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf19ff840 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf4802ffa br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/core/failover 0x0948a98a failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x6c73dbd2 failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x8da643a4 failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08bfa451 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a9e9e96 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x13ea036f dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1bae87ac dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1bbdd70b compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e9bee81 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x36b663d3 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d39e3f5 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3fd8aa77 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4b2ca649 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4c6e64bc dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e826e15 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x51f0f7c6 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x535c843c dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x57487aff dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5ade868a dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d30d197 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e1b901f dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6303ba12 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x69fcb6cd dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x740fd299 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74203431 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x842a6066 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8432f725 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8acdc3e6 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8cf86fb7 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x94c40751 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9d2f4311 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa7cc3f2b dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa7f09839 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xad269792 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb78ee43e dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbd15fa61 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc2da5ac6 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc4bf8f22 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xffdd02e6 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0e1bab94 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2b8a2184 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6d4a5917 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7b813f94 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbb5ab91a dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf5648bcd dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/ife/ife 0x5259d1c1 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 0x74d873ea ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x20ff81a9 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x8ee9f2ee esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xf508647f esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe4cc2c5b gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xf2d8ca9d gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x116f4581 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1dcf12b6 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7e6e19d6 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7f7a409b inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x99da833d inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xad5e1785 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xb2f1b81c inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc8b4abc7 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe0929a4e inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x8c8dd5da gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x10beb51f ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1bc3a20c ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x39ab7c67 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3e6d79a5 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x492ee9b6 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5cdd755a ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x61d56607 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6a9c0043 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8dd1fbf1 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xaece0770 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb64cd46d ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb911c471 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb9d49ca3 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc6f8e798 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf2cf80bd ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf4fa9bb8 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfa461106 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xeb3e6fd2 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x2f05c599 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xab062d05 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x924dbd9e nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4678ea99 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x613a3dbf nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x8d7963bd nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xad826824 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xef1ba627 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x77ee6468 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x4039fd3e nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x83cb3ca9 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x984158f8 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x047d3c53 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xdeb6a8a5 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x3c6bbd3e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5df063d1 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x68753fb3 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb9664d4a tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xe5b89b6c tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1a7a3e19 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7428aca9 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8e9b5c33 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xb0ee0189 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xb5eaa57f udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd231a30f udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd4085f4c udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xebcb3518 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x1d2c50e6 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x39d97470 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x9f9ed126 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x5e9ec844 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7a433112 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xcab92394 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x2fb8050c udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xbd186aaa udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x39f53e74 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x39425911 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x9d7dce5d nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xc33072b9 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x48a27383 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x70b9ac77 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7aec1563 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xed5095d1 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf49af596 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xf089c501 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x22e2f40e nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xa4d5bd3b nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xc95f6352 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xf6815bb2 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xfb4f0a4b nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x23a6a15b l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x25f997de l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3edf998c l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x417645ab __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7965ea72 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8052bcbe l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x809e93c3 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x85b11a43 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x990fa7a3 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa28e2190 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa92fc89c l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa934bb67 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xac68d588 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdc1d9018 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdfc5f3be l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe741091e l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf8fa19da l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xd31ed9b5 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x148a867a mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4dade0b3 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x6c4571a3 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe77a5a34 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xf8ea23df mpls_dev_mtu +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x06f2cc6a ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0b2310aa ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1104b11a ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1db61f1d ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2509b6de ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x25472e95 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x324a40ec ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3949e36e ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x467486c5 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x47870c27 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5fa2d67b ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6cb163e0 ip_set_type_register +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 0x88e1e83f ip_set_name_byindex +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 0xad646de4 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbf9b0577 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xde2b6a11 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xeb6dc396 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf2b4d9a9 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf596f9ff ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfd2a8be1 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x0164beb3 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x38a2fb3b ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x54fca953 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x8793a79e unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3f85489c nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x44a310b8 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4af54be0 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa73df23f nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa7d0112f nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xb39a4590 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xe3313453 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x056b189e nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x068dd269 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0f2bd6aa nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11703295 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11863b25 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16a68efa nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a6390e1 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b02ad0b nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bc7c240 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c5c7938 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e380d99 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f862730 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x232fb896 nf_ct_port_tuple_to_nlattr +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 0x296f8784 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ce51ff1 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f26a062 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32bb44d7 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x338b1d17 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x399b6162 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39e15cc9 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x472387dc nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x496c875f nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b3d745e nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4d7d580d nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x515a09bc nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x545d349d nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57d6af2a nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a4e4865 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f862054 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6160496d nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61be93bd nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63008047 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x638ad4bb nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68306274 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c404c3c nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71749bc8 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77090b69 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f73798c nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x80cfd073 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8566c1ca nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88d70dae nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88e7643b nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8939d5db nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8979b59a nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x89dfe334 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a67f569 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8fa649f1 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9042e362 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93358314 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x943c5b79 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x953fc2d7 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97475ef1 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa030df0c nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9116699 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab1409f1 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaccba46b nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad0ca639 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaebda6c7 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1e206b7 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4c4641a nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbde24538 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc1f167b1 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc7e62de4 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xccc4f0fa nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xccda0d6a nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf703217 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 0xd55cb024 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5fe132c nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7208d00 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc2310f3 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xde6d6e95 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe42f8436 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8e35a8e __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xea0cd1f5 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeabf2b00 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xead3c67b nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb4651bc nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed23b00c nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee0b7a31 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf209196b nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2335bee nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2d9416c nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf809c43c nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfcb4fa2e nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x2b0ba4cb nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x222a2f2a nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xbc6135b9 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x217dc289 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x29f90c10 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x36f4f654 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4fff3605 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5204c289 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x56dbd8f1 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x689e0b44 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb6cf4962 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbf84d96a set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf1910b2a set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xf6eeaa50 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x38c6d446 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x5682ce20 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x67583458 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa701e2fd nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x17142873 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x757db338 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa0a94bcf ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd00f29c4 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe9657d08 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xef7cee00 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf9e916d7 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x4fc5b4c7 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x736fe9ba nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x35b2b0b3 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x655c51ef nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x722871c0 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x20b5325f nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2b1e7824 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2ef7f44a nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x35d391a8 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4a1edcfe nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x63f92ff7 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6661965e nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7a7214fa nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8d51504b nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x92b74b37 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa6d3a668 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc64fed43 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc84bb01d nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd4793f77 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd52b229b flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf8e1d516 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfa36a55e flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x25a1ebdc nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x8d7f4d0c nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x97fe8ca2 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xacd595a1 nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xc9165793 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd02721ee nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1cbb5f80 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x27e8609e nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x283d1e2b nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x53dafe54 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x664b9298 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x69ffc1a6 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6c60399f nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8203e8ae nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x94990931 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x965312ca nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9a1a9106 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa14f6960 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb97290fd nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbb2f070a nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc62c692e nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xda6dbd29 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1d5f74bb nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1ec5dd98 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 0x37ce4e4d ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3c6ada17 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x4d521b00 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6878df7c synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8895f365 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x99ec466c nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9a76ef4f nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa26ab9f4 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc73e026e synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x122d95ce nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1aae6767 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2633a88b nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4025e50e nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x422b57f9 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x46ec5f87 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x47791258 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x50678a1d nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x507048ca nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x56266b65 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x56e66eee nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x58f29457 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5965d2e5 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5be4920e nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5e42bcb5 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6550f7a4 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x77f4a175 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7e4b858f nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fcb51a9 nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8040fe02 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x83dc3716 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x915c7734 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xab048ec8 nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc40a88a9 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcf16b062 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd0b5ede0 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd7239b36 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdc5fd476 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdc9ea23c nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdfa0f773 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe3523904 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe5b2cb0b nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe962e446 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xed1927c1 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf78848df nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5395671b nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa05565fc nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb1d7e720 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe745c877 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf121ab2f nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfdd455ea nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x0c405383 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x420743b8 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7b6cb97c 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 0x7fc3a69d nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xfb4f01ec nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x07451bec nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x2f0396f7 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x8270c672 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x92b810bb nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x00214835 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x0a1f7586 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x9d3065a2 nft_reject_dump +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 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4295f28c xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x46a7f8ec xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x53c8ccb7 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5ab197d2 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6df7c444 xt_compat_target_from_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 0x8415add9 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x88d4bedc xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9e526474 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa040e410 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb67aaaec xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2a07651 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc333c17c xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc879f614 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcafa3812 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xccd63c5e xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd088394f xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd39e2692 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd4ff8b0a xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe6c9695a xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe7937e7d xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xeb11eedd xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x2043e475 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xf102ded7 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/nsh/nsh 0xb02ea301 nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xf16f169c nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x0d45ae26 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x123e071f __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x14744cdc ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x3334d28e ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9ad9bab9 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xda256be6 ovs_vport_free +EXPORT_SYMBOL_GPL net/psample/psample 0x7f04e9ef psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xb42f53f7 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xc45bc9a7 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xfd057fed psample_sample_packet +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x08713ee1 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x30d42a5b rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x4006b530 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x535208aa rds_info_register_func +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 0x625137a4 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x68608038 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7038b5dc rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x77381636 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7eda64ad rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x8426a22a rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x86b306fe rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8a194fa0 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x9d0f4364 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x9d3193f1 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x9edf7bd2 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xa355c623 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xaf722b6e rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xb4c9b3b3 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xb77be9f0 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcdba6388 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xcec9b05e rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xd06a141b rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xd2dd6d38 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xd7301f70 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xd9f14220 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xe359b62a rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xebbdd8b2 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xf0aa312e rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xf1bbab74 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xfd500a4f rds_recv_incoming +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x01919bd9 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x9c547e81 pie_drop_early +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 0x09c05bc3 sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0x5f6380ee sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xb7dc1d12 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xe9419cf7 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x07717842 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x2ec764a2 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x2f16c068 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x5744c188 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7a36e182 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x7e36ce4a smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x9db9e663 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xad303e56 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xeb3c6080 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xf638ae7f smc_proto6 +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0b475958 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 0x5be00beb svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x63116cef 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 0xe96736bf gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03cdac48 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x044bdeae svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04acca05 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x062f7a6d rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06c1e945 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08444ab9 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a27ff7c rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a637c96 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ab63848 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ab89dbc xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b89e994 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d7b9627 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e5a1ea3 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f3d50eb xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x110fa1ec svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11a70474 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x127d0e07 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x135453a4 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16ad30c5 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1750fc94 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x175bce4a rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18d56793 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a081dab rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ab0b026 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b4ddb27 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d5e77ac svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1db421da xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f85145f rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20807e69 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20b73409 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x226c805e xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x235db43a csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2445af6c xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x268a2a18 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26e17762 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28bd7561 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c91c01e xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dac59f2 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e6a4e2e rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fa9f8f9 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30263ba7 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31227e66 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31ad78d7 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32864b6b svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x330854ec rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x358858fc rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38ce77f4 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a16a501 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7e33bd sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa9a04b xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bc45508 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d166d1a rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d31e7fd rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3db0a19d sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e39989a rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e8cef32 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f0275c9 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f3c05e5 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4145d73b xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41741552 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44ebad78 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x457f20c7 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x489496da svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b04cd76 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c450b45 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ccf4e5f gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d344aea cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e67c1ef rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e73ac17 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f1d2332 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fa043bc xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50ad46a6 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5435c11f cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5529b5f6 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55f36b2f rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58840e43 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59d9d3bc rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b7e74f6 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6a4339 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d46facc svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f3f633e rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x615d6162 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61e6ad54 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x624d3b17 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x634258fd rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64ce5c7b xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64eea7d1 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6575981e svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x657960fd read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65e2c8a9 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6627887a auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x666a10b0 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66aec8b3 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66e8960f sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6803fe5b xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68451583 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x692eb769 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6aa834cc rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6be62442 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7040c641 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71e0719e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72700ab2 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75875399 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75a6f956 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7630f550 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x785080ef rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78568b7c xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78c048ae svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x794c5b68 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b17e54c put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e2835ae xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x812a5b3b rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8343e29f rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83aa8440 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83e01b4c rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84500e17 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85ea247e xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x864bc99e cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x868bf4e4 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87d6b3ed rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88d64859 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x896840c6 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x897c8105 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89897552 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b583ec2 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c84c9f1 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c884e0c svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e044913 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e34b2c4 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eda2892 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90daf612 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9148256a svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91a48443 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91d73f58 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93599447 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9472e08a rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95983a0d sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x965a3c0e rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x989b9dec rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99153b7a xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a80552c rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c1646ca svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cfa9233 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d056b25 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e583da4 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0df15bf rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa205474c write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3128f6b xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4415ebc rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6d83b63 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa81662af svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8699356 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaba28a37 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac821797 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xace40156 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacfbc8a3 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadacff2d rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf19db34 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1c98fed xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2b17e9e rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3608e55 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb449cd98 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb775c8ec svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb857334a rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb876d876 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8bd65c0 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb903cdd6 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb826402 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcac11c0 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd0910a6 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe318352 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbec8b407 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf995726 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0af063c xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1e46050 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2cbf57f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc398146e rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4d5da06 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc66dc60f svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6e67be8 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7d84afa xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc890f3ad xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e8f79a rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9f6ce5f rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaec4593 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbacc6ba rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd870c34 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf0a2b65 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfce290c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd20543ed svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2175b15 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd244d186 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd34f99b7 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3c8e143 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3e9639b svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd424bc1f rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4c1716f svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6a9910f rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7f318e0 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9df5e52 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc70db2f rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde268d4f rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdede56a4 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf39d061 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe17532d1 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1f35745 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe38ea87f svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3d7a6dd xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe42fcb7e bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4eb23ad rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe65859b3 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6b93b33 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea48c044 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed263b1e svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed309ab1 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed8f9bf3 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeea69393 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefca6847 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3837e6c cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3ecc056 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6eaef3d rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf85fb66f rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8c44efc xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf949c01f sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb572d43 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfba997e3 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdb67a85 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdc82178 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffcec6dd xdr_init_encode +EXPORT_SYMBOL_GPL net/tls/tls 0x17a821c0 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x238349d5 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xcf9d7d1f tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xefa0b016 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0285cf94 virtio_transport_notify_send_pre_enqueue +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 0x10ee6a4c virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1322c9ca virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1c0a486e virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2019cba9 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x20da3da5 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x28462e4d virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x31407590 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x34d53434 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3b3264bd virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4940eb1a virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4e835ae0 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4f8a68fa virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5f1ac600 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6a311135 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x70162407 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7c7765cd virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8e334dce virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x963a170a virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9e006dbf virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9fdd983a virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa454326e virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xabb62aa7 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb05da0ac virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb3b8c159 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb768dfd2 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 0xcf4a9ef8 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd652adf6 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe14467a6 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe3f406de virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf78bb719 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0573e14e vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x10551c43 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x106149a6 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1d52f151 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2962b1a4 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x42963532 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6325c2ae vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x686ab32f vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6b2da033 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6e616f2d vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7124701f vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8e761c13 vsock_core_unregister +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 0xa0c178e5 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa41c4f29 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb2e09b64 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb64d00f4 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbb159789 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xce835eb2 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdf49a642 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xef13e86e vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf92cb4b5 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfa0d19e0 vsock_remove_tap +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 0x357d126e ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8cff2e23 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x8f559f67 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe530bb94 ipcomp_input +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 0x00012945 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0009ee0f pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x0014ce57 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x001f4c4f crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x0039b8d4 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x007a2610 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x009e6078 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x00be2ada pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x010a1139 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x01122bf0 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x01413c5f css_schedule_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x015d3c95 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x015fd5f0 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x01706a18 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x0181a417 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x019563bd pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x019c6ee2 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x01c4ea26 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x01cb9712 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x01e186cb iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x01f19bf9 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x01f88377 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x02191fde __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x0235047f skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x024d4732 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x02557094 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x0278e9ab udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x027a79d9 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0286cc88 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x029306e2 kvm_vcpu_block +EXPORT_SYMBOL_GPL vmlinux 0x029e3278 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x02b61e78 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x02c2a155 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x02cf2925 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x02d01dc3 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x02d1876a dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x02e62798 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x02f465d6 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x0304f0ef nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x030d5798 gmap_shadow_r2t +EXPORT_SYMBOL_GPL vmlinux 0x0312d386 zpci_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x03245daa sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03465af7 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x034a03c6 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x0363a627 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x038af426 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x038c00e9 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x0399c560 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d08c39 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x041bdbcc mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x0448f0a0 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x044b76bb shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x04798651 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x047af361 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x04a6e8d7 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x04a6fee6 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c659d3 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x04cad165 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x04eba605 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x0520c159 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0561b5ab metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05a256b6 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x05a5856b __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x05a5fd21 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x05bd02a3 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x05e9dc43 crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x061a6a17 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x061b8aad user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x062ddfdf rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x062eb949 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0658ae27 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x06aaec87 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x06b5bc0f security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x06caed8c addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06ccdf21 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x06f2ff75 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x06fc58f9 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x06fd35b3 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0700093a pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x072a566b skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x073c8b7f gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x074bcec8 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x0757eede stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x07619750 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x076258a6 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x076d317b vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x0772b375 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x079c148a crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x07a36101 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07cb7afb sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081ad6f9 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x0820c05e debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x08436119 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0864ac17 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x086cb67d iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x086fbe5f __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x089dcf3b sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x08ba2930 pci_debug_msg_id +EXPORT_SYMBOL_GPL vmlinux 0x08c489ce is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x08cb9195 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x08ced0fe crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08ef51ca blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x08fb20df tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0940d327 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x096b2418 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x096c067c devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x0988845c fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x098d12cf metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09f2e58a transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x0a00c418 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x0a0b39fc pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x0a29831d fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x0a3b6ed1 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x0a437e78 gmap_pmdp_csp +EXPORT_SYMBOL_GPL vmlinux 0x0a4eefd8 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a6cf964 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x0a7cbfb2 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x0a7eb1c5 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x0aa0dda9 gmap_put +EXPORT_SYMBOL_GPL vmlinux 0x0ae28914 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b5cd2a3 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0b68d791 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0ba48a67 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0bb3ae94 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x0bbe79d9 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0bc5481b clock_comparator_max +EXPORT_SYMBOL_GPL vmlinux 0x0bd27e61 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x0be0099e badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x0c171724 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c5800c0 ptep_notify +EXPORT_SYMBOL_GPL vmlinux 0x0c7c95e2 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x0ca03d3e gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x0cbb9492 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x0cbbbf94 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x0cc7af1b device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x0cca5cd5 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x0ccd08aa trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x0ce12c06 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x0d2131d2 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x0d2e47eb devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d3e3e4b iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x0d425a97 sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d5ad721 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x0d89cc00 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x0db210b3 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x0dca033a device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0dca7ef4 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x0dcf0294 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dde429b ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x0de3b11c fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0dfaa683 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x0e2ee4aa virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x0e541f71 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e709baa skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x0e7415d4 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x0e925978 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x0e998eca dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x0ebb177c xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x0ec4b915 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x0eff5544 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x0f0d8c3b device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1e69ad klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x0f342cb0 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x0f3e65d0 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x0f434450 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x0f5e2c97 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0f62baa6 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x0f7a5d4f ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x0f812799 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x0f99bd31 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x0fbaf17c switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x0fdf2b20 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x0fe7617c __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x100a7675 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x100e1b84 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1039b716 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1053e4f1 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x105aefae platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x105fab0a dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x1065095e dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x10709095 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x1070f642 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x108ec17b gmap_unmap_segment +EXPORT_SYMBOL_GPL vmlinux 0x10bd8f32 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10f68e3c gmap_enable +EXPORT_SYMBOL_GPL vmlinux 0x11056719 device_register +EXPORT_SYMBOL_GPL vmlinux 0x112401e3 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x112c3ead serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x114c58fb tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x114e8b4a pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x1151900e pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x11557365 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1156e57f shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x1171f176 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11c47c3a sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x11d166b7 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e5468e inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x122f6bad add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x123b96ab irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x124e04ee pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x1253fed6 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x1286285b device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x129eac20 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x129f6f40 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x12a09fa1 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x12bddfb6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x12c0844a gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x12d2e4a6 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12eb174a pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x12f5e97a sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133d3364 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x13573d5b devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13bc7d40 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x13c67ae1 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1415ef0e netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x1418238a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x142022b5 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x142950ce blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x142fe84b page_endio +EXPORT_SYMBOL_GPL vmlinux 0x1445cda1 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x144694c1 gmap_unregister_pte_notifier +EXPORT_SYMBOL_GPL vmlinux 0x144f7eba crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x147fd3dc tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x14b1f289 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x14d9baa8 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x14e32ff8 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x150eb695 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x15283d20 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x152fc233 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x153186ce fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x15332a07 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154b63e4 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x156cdac8 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x156d032d crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x157bc422 s390_enable_skey +EXPORT_SYMBOL_GPL vmlinux 0x157f4659 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x15837f05 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x15f3d4ab xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x160cb893 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x161524a6 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x161c5020 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x16378e65 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x164b1903 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x166d6443 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x168287db digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x16842f2a dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x168deb16 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x16b194bd blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x16b69bc8 zpci_store +EXPORT_SYMBOL_GPL vmlinux 0x16c06133 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x16d64a2a pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16f8646a devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x170a783a set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17149987 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x172461ed blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x176850ec __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x1779893a freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x1782ab53 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x17938f19 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x17a3993f __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x17b5f9ab pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x17c49441 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x17d46fee pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x17f84338 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18042e8c class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x181fe897 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x183ab20a inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x185cecb2 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x18a0d426 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x18ba9b0b crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x18c027cf crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x18c4ce3c cio_commit_config +EXPORT_SYMBOL_GPL vmlinux 0x18e11260 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1911d896 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x1913037d __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x19234bb1 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x192a2292 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0x192d63a0 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x193ee432 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x19475b68 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x198d6da2 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x19941441 rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x19946fde idr_find +EXPORT_SYMBOL_GPL vmlinux 0x1997c8c9 cio_resume +EXPORT_SYMBOL_GPL vmlinux 0x19c0513e sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x19e2f4cf debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x19f22039 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x19f822f1 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x19f890f7 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x19fcd4d1 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x1a034cd2 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1a0bb9a9 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a13f3f9 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL vmlinux 0x1a1976c2 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1a22e386 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1a584f8b bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a969605 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x1ab2968c __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x1ab51f73 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x1ab61796 gmap_translate +EXPORT_SYMBOL_GPL vmlinux 0x1ab7cc8d devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ae51980 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1b0946d8 idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x1b1f5ad0 gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x1b288e0a gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x1b291ed8 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x1b334294 cio_clear +EXPORT_SYMBOL_GPL vmlinux 0x1b4bbb98 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x1b55d737 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x1b572ff4 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x1b6c5a67 chsc_error_from_response +EXPORT_SYMBOL_GPL vmlinux 0x1b6ff2bb metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x1b708e73 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x1b7dc297 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x1b83cf56 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x1b8b0d29 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9c43be dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1ba311ae dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x1bb8032d sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x1bc04db4 inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x1bc7b8bd software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x1bd852e3 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x1be1d0ca crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x1be50664 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf3bdf7 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x1c10b838 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x1c14a8bf devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x1c2db347 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x1c4db260 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c860e50 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c91ff56 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x1ca50e0f noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x1cba4a66 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd28e03 vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0x1cd38257 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x1ce0f9a2 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x1cedb0d2 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x1cfa2199 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1d0994c2 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d370243 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x1d4549b7 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x1d486c2f ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x1d76a1a0 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d7d0e0e user_describe +EXPORT_SYMBOL_GPL vmlinux 0x1dda37d8 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x1e2e783c xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x1e47f71d xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1e4b6e65 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1e51dabb __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1e5e803d pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e94c12b fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x1eb71652 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec365d4 gmap_pmdp_idte_global +EXPORT_SYMBOL_GPL vmlinux 0x1ee9700a sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x1ef2fd85 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x1efca3a4 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f376796 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1f479b3c fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f72c403 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x1f7cd039 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8a4757 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x1f97e0ea dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x1f9a449e proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fafdde7 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x1fc78dda security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0x1fce1faf crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x20382a0f gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x205aa565 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20ba4597 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x20e6f928 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x211e6fe3 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x21409462 cmf_read +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2170c7be attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x217f6335 devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x218290ee xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x21929ea6 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x21a422f5 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x21a9d793 __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b3df73 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21e42853 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x21faacbe tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x2202f336 gmap_sync_dirty_log_pmd +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x223fe31d register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x2246b4dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x2247c9d8 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x224943b3 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x225f8171 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x226de76e appldata_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x228144ae irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x2287c03e generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x22a30b4c ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22e20b10 chsc_siosl +EXPORT_SYMBOL_GPL vmlinux 0x22efe3d5 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2326717e gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x233f5316 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x234a116f sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23614ae9 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x2367949b blk_drop_partitions +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x241eb9f4 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x24428df7 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0x248f0ea1 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x24a49d91 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x24bd5eb7 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x24c5c90f gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x24c63e31 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x24c6beee nr_iowait +EXPORT_SYMBOL_GPL vmlinux 0x24d93e30 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24db426e dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x2502a74a irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x25346f7b scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x25457d74 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x2555bc87 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x255e81c2 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x25746350 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2576aed0 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x25893960 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259bf6ea srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x25cb4593 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x2606b0da device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x2638512d platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x265c1e13 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x26847837 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2687a76e udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x268ba5da gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c31e2f blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c7afa0 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e31fba pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x26ea92b2 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x26ec7cf7 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x27030dc4 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x270b86d0 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x27156d4f dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x2719aef1 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x27402916 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x274374e4 kvm_unmap_gfn +EXPORT_SYMBOL_GPL vmlinux 0x274b73ff rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x27545244 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2755159a elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x277070b3 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x27ad7d99 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x27b64afd rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x27b8e451 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x27f0e124 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x2826a734 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x284c592e skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2878073d cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28d8b49a chsc_scm_info +EXPORT_SYMBOL_GPL vmlinux 0x28e7a31e platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x28fe120c devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x28fe2e19 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x2912d57e fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x2921656b strp_done +EXPORT_SYMBOL_GPL vmlinux 0x29252e74 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x2932d6f1 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x2968088e fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x29705d86 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x2976b080 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x298dfc54 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x299f4110 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x29bbae65 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x29ce0374 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x29ddcf4f console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x29e3b219 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x29e647fc get_ccwdev_by_dev_id +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29ec39d6 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x2a1289a7 sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x2a1538ca lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x2a377265 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x2a4aabb3 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a7e1ded gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2a800ff4 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x2a8a746c pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x2abec39e __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2ada7254 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2afb5baa path_noexec +EXPORT_SYMBOL_GPL vmlinux 0x2afcc38f debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x2b260a74 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x2b2629bf gmap_read_table +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b4540ec klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0x2b59bb28 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x2b9ffb1c blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x2bd13413 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x2be26cae cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x2bf9b420 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x2c11852a rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c32a93c locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x2c3b1131 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c7256dc synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2c733924 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x2c7d13e2 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8847c8 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x2c8ee9f2 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x2c9f23fd device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cf97acc tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x2d1ab38d metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2cca71 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d32500d devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d77592a get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x2d78bd5a class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d8cc3cd kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2ddbfd2d bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x2ddd32da iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x2de4e094 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e23f5b7 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2e24e086 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2e54bf80 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x2e729486 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x2e7f0499 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0x2e9dc29b transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2eacd05a register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecd4bdc wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x2ee665ab gmap_shadow_r3t +EXPORT_SYMBOL_GPL vmlinux 0x2ef0f7ef virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x2effc590 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x2f0395af dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x2f0cc258 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x2f1a5dd3 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2f20c276 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3eee33 gmap_disable +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f4f67c3 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x2f58667c xas_load +EXPORT_SYMBOL_GPL vmlinux 0x2f734010 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x2f84a770 cio_disable_subchannel +EXPORT_SYMBOL_GPL vmlinux 0x2fa7ddb8 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x2fadd773 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x2ff33b92 gmap_shadow_pgt +EXPORT_SYMBOL_GPL vmlinux 0x2ffd0cb6 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x300e365d alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x300f384f strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x3036d7db __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3045cd7e gmap_convert_to_secure +EXPORT_SYMBOL_GPL vmlinux 0x30616829 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3067b6a9 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x307fb8c7 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x30951eaa gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x30bd11ae devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30e3ff5b bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x30ee341a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x30f8fbe9 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x314c9988 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x314f0461 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x31591af6 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x3161cba7 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x31720bfb fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x31785f08 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x31a319e0 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31ae9388 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x31c3a1d3 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x31c7af5d kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x31dd2ea0 crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3223f52b crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x322f1003 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x32628121 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x3285e516 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3291ad4b unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x329b70d0 replace_page_cache_page +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 0x32c6c604 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x32ceae6b inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x33755856 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x339f4938 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x33afaa51 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x33ce5deb alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x33d2d297 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f3573b irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x34103d57 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x341cad28 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x3421ca7c __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x3426975e PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x3438661a fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x343e0128 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3454df99 device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x34581528 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x345cdf6c fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x3463eb7d blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x347d476c fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x347e22be devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x3484a3bf gmap_shadow_sgt +EXPORT_SYMBOL_GPL vmlinux 0x348c4cb4 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x348cbcbb virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x348d7b10 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x349843d1 scm_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x349f10cd fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x34a5e980 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x34ae42e1 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x34b366f4 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x34d23660 scm_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x34e72ff4 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x3516c4b4 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3534112b ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x353aaa71 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x353bda95 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x353cd453 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x355da2a3 mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x356579fd trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x3565e2fb handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x356a7352 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x359cda6b cio_tm_start_key +EXPORT_SYMBOL_GPL vmlinux 0x35aa6bf0 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x35b890cb sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x35be60c8 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3607c5d7 sthyi_fill +EXPORT_SYMBOL_GPL vmlinux 0x3617c34b fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36276bbe net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x3673e089 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x3687c4bf task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a0b946 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x36c20b2f hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x36c9382f blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x36d94a8f kvm_vcpu_destroy +EXPORT_SYMBOL_GPL vmlinux 0x36fc33b2 iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x370a6dda devres_add +EXPORT_SYMBOL_GPL vmlinux 0x371a6e0e kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x371bf209 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x37292d69 security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x372aebea kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x3757e2aa __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0x37744c81 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x37a42366 blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x37b4d44b crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x37b6f7a8 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x37e0c784 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x37e599fd __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x37ea659f add_memory +EXPORT_SYMBOL_GPL vmlinux 0x3801a183 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x385e11d6 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x386288d8 update_time +EXPORT_SYMBOL_GPL vmlinux 0x38640851 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x3873e4b8 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x387e7cc9 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x3889f4d9 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38e874d1 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x3900772f virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x3902ab63 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x393ffa6f asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x39579087 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x396402bf bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x396a7a56 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x3970a1f0 kvm_s390_gisc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x398f66c1 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39d455ff net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39f11af1 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a20c477 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a307403 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x3a3835a7 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x3a3dbd07 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a57d09d crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x3a8cdc5c __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9d79cb dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x3ace4d6d clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x3b325061 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x3b4e4281 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x3b765484 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x3b94e11d dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3b983834 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x3b9ea052 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba87d84 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x3bb490f5 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bfbf430 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c246feb irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6d685b exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x3cc60807 evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x3cc9a559 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd0d64f iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x3ce455f8 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cf2bfd2 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x3cf6b409 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x3d026222 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x3d203f2f dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x3d38f4e2 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d74dbbf alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x3d8583a8 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x3da5a96c dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x3ddc6560 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x3de3cbc7 kvm_map_gfn +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df13b0c srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x3dfe460d rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x3e0cc0b7 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x3e3efaf2 ipl_info +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e8b7fd3 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x3ea3fbd2 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x3eb32993 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x3ec439ae crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x3ed260aa rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3effb84a css_sch_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3f0f2bbc devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3f1819c9 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x3f39c39d crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x3f5f9236 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x3f648373 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3f73c28c crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x3f74e013 md_start +EXPORT_SYMBOL_GPL vmlinux 0x3f7d9ff4 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x3f83b99c __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ffcad22 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400e51b2 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x40134786 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x4030c6a7 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x403d7270 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x403fa8d5 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407b1f4c attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x4091a6d9 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409b4944 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x40ca823f pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x40d07ac1 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x40dab1a0 handle_fasteoi_irq +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 0x4110aadd pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4140c1be devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x4153609d gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x416da7fc crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x417d8076 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0x417e2952 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418b1aaa pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x41984d83 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41d2948d property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x41e9eb7c rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x41ec14b7 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41fb68cb copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x421158ed crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x422e74e8 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x42436fc3 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x4268041a pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x42753ca7 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4293f1e3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x42b560c8 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x42c7b994 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x42ca81e8 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x42e36127 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f51902 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x42f7cfcb devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x42fea918 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x430fa18b cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x431c3f77 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x43288a9a iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x432f286f gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x4334aebb trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x43399607 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x433be944 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43a4eba4 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b70f6c chp_get_sch_opm +EXPORT_SYMBOL_GPL vmlinux 0x43c33665 isc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x43c9bd5f device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x43d74753 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43e43b07 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x43f4cccc sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x4406f89d ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x440be4b9 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x44250e16 user_update +EXPORT_SYMBOL_GPL vmlinux 0x443fbbec tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x44407b95 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x444a0b80 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x448b22e0 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44f0b287 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x45162bfa devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x451aedc7 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x4520f839 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x452999f2 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x4536226a debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4594fd40 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x459eb9c8 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x45c34768 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x45c992d9 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x45f50f09 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0x45f8fe83 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46035f74 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x460ce2b3 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x464b247a iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x4664922e devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4678d830 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x467f09de dm_put +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46a8afa9 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x46ad3cda subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x46b87deb zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x46c1423e irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x46cc16f2 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x46d1dd2f blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x46e4a646 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x46e588f8 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f600da blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x471a7593 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x471e14c7 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4745972a devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x475e76ed pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x476167c8 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x477053b5 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x47755659 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x47a07048 iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x47a405f6 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x47a54776 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x47a89953 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x47b78a5c kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x47ccaa95 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x47d2cdd3 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x47dcf2b2 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x47f5c623 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x47feaa9e virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x4800c60b device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x482568b3 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x482cf324 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x48783237 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x48a7cab3 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x48afd5fa tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x48bbf525 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x48ef2353 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x48f9a58b gmap_make_secure +EXPORT_SYMBOL_GPL vmlinux 0x4923bd57 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x49597612 blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x4963e812 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4993c0da kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0x499b82ed crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x499d69ba fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x499dc191 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x49b43c3f watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x49db5c64 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x49def1ae pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ef245c tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x49f9ca1d perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a1b1af4 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x4a246a7f badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x4a2e1dae gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0x4a2ebd07 xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x4a31ccc6 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x4a35be5a udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x4a4e6240 devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x4a65d001 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4acf136f bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x4aefd8bb sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x4b484462 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x4b74a6f5 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x4b7af177 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x4b7d7396 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x4b90379f inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x4ba88dcb chsc_sgib +EXPORT_SYMBOL_GPL vmlinux 0x4bc2d2eb pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x4bd89c5a css_chsc_characteristics +EXPORT_SYMBOL_GPL vmlinux 0x4bf2d2a5 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x4c088c01 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x4c11fcf7 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4c25290e gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x4c27c9c9 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x4c378a0a bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x4c3e5582 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x4c490606 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x4c4a6f3b bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x4c644ccd register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x4c6a22d8 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x4c6cb24a pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x4c868ba7 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x4cc9a313 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x4cf5c3f3 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x4cfcc5c4 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d5829f0 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x4d6984cd dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7bf7a1 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x4d7c5fad css_sch_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4dde2541 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4e0c894a sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x4e19913a hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4e1a355c cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4e2e919d gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e51b4b3 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x4e702d74 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x4e79d2bc device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x4e873d04 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ebfb706 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x4ec153c6 nr_running +EXPORT_SYMBOL_GPL vmlinux 0x4ec4a48e gmap_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4ec5f6d2 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x4eda64e8 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ee97945 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f483c5f nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4fb1c406 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fea547b tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x4ff70b2b device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x50301502 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x5073a6cf devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5082cd46 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x508e95e0 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x508eed43 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x508f21ce bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50954b0d gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x50a63f93 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x50ae646e kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x50bcd6d5 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x50c339a5 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x50cf5169 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x50db3dbb virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x50dfbadc __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x512cb1cf pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5142c2db platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x517a7975 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x518753dd tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0x518d6ac6 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x51a90189 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x51c234c6 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x51c96544 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x51ceded0 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x52121118 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x5213df79 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x5218d9f2 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x523acf78 devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x524e09e8 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0x52779576 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x5281d361 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x5283f90b kvm_vcpu_gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x529f67a6 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x52abe9e1 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x52b094da sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52bbda02 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c41860 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x52cbda2b __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52dec582 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x52e1be1d kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x52e472de virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x52f7deeb cio_tm_intrg +EXPORT_SYMBOL_GPL vmlinux 0x5300acc7 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x532277ce tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x5334d78d nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x5341f179 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x5348091c devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x535003e0 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x53a4c787 blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x53a5fe85 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x53a6a7ca input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x53b85ad6 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x53c3ce3b fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54297303 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x5434ca5f cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x547c469e skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x547fd75e __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x54892731 sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54e73ace crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x54f7ffde gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x55615c3b devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x556cd102 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x5571bf03 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x5580c0da generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x55857576 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x55924342 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x55ada406 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x55c22b3a srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x55e4edb2 devlink_port_params_unregister +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 0x55ff5b00 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x561cf350 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x562831c3 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x563e8e3e platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56cf6c92 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x56ef24ae set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x56f8aa37 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x571a7aaf fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x57389899 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x5761d053 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x578e321d vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579a9013 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a48974 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x57b00c8e tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x57b342ad bus_register +EXPORT_SYMBOL_GPL vmlinux 0x57e59157 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x57e92e43 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x57f608f5 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57fc5351 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x5809ac00 pci_debug_err_id +EXPORT_SYMBOL_GPL vmlinux 0x582147ee bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x583d6313 kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5883160a devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0x58985e90 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x58aa8a4a fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x58ab2490 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x58d9dbb0 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x5901d51c vtime_account_irq_enter +EXPORT_SYMBOL_GPL vmlinux 0x5939429d debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x593d3d8e tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x594fba43 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x5955c427 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x595870c4 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x5974b5dd bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x59898083 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x59a45583 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59e6689f tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x59e99320 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x59fab080 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x59fe2434 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5a1862b8 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a27d7b7 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x5a280383 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a512763 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a782539 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a85cc93 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x5a984cf7 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x5ac706a9 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x5aef7d32 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x5afdf85c irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x5aff1557 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b273d19 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x5b5982d4 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x5b69ab5a inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b8daf19 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x5b9665bd __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x5ba63bef property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x5baad9c9 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5c0571ad device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x5c0b5787 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c2e7354 iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x5c8e798c scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x5cdb2e52 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x5ce17a85 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x5cf6ae80 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x5cfa9099 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0x5d5f93dd device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x5d7cf76b dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x5d8444cd fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d891f88 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5d983bcc fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x5da04698 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da7507c serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x5db931d3 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x5dd921ec gmap_create +EXPORT_SYMBOL_GPL vmlinux 0x5dff46a3 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x5dff4eaa mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x5e139a7e crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e449caa bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e5e2e39 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x5e650b8a kvm_arch_crypto_set_masks +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5ea67521 split_page +EXPORT_SYMBOL_GPL vmlinux 0x5eb57e1f xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x5f06fafa component_add +EXPORT_SYMBOL_GPL vmlinux 0x5f0e3963 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x5f131e98 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x5f15dfe0 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f33d084 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x5f40e977 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x5f4ee129 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x5f5a2160 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x5f5be6b1 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x5f5db11b skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5f6adc84 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f87c180 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x5f930cc7 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5fb41a5a sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x5fb76cea device_attach +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fd92610 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x5fe8176b __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x5ffaa3d9 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x601ba3eb __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x601f5d79 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x60217452 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x60271fd0 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6027b267 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6029efd5 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x603beb79 do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x607810c1 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x607efab3 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x6091044c vcpu_put +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 0x60b643ff elv_register +EXPORT_SYMBOL_GPL vmlinux 0x60cc8958 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x60de87a1 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60edafdb sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x60fe255a relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x611a004b loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61525a20 device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0x6161e357 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x61904cec desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61d3f45b tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x61d5636c udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x61ee6281 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x61fb97f2 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x6207814c crypto_spawn_tfm2 +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 0x624f586a set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x62640af8 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x62a066ff ping_err +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bffe2c bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x62c9ba52 disable_cmf +EXPORT_SYMBOL_GPL vmlinux 0x62d17755 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x62e0a12e xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x62fc95e0 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x62fd0204 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x630047e7 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x630a6eb7 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x631ba529 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x634e3df1 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x63550cd6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x637a0a73 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x637c214b vtime_account_kernel +EXPORT_SYMBOL_GPL vmlinux 0x63972858 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x63a3dbf3 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x63b53f8d fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x63f7c429 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x63fe1263 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6405e224 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x640ab48f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x64233ef0 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x64437fdf raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x644fb370 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x6450a958 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x6455e86c firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x64791da0 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x648a0eae open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x649b3fe8 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x64b38cf3 dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0x64c8915a call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x64d5ae38 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x64e1aa93 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x651448ba gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x6514b231 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x652ec0a8 devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x65329143 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x65358462 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0x654b48de ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x6566a398 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x6575071c perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x658bc4b4 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x659e63f8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x65a0274e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x65a3373a fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x65c567d7 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d7c58d __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x65de1c9c pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x65ef611b blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x65f0ed64 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x6610fa64 ccw_device_force_console +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66367e34 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x66374d6a __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x665456a4 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x6656ee49 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x666b755a __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x66708af6 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6690055a fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x66a6c061 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x66b2f86d nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c7b78a perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d9f0aa debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x66dad62a nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x66f8bcca skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x670b4df8 device_create +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x674e6be1 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x6767480e ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x6791f57b xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6792e25a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679d0c9d get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x67bf2d10 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x67c67227 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x682576b5 mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x685d09ac __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x6871ba5c tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x687ed4ea dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68a3aa99 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x68b34923 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x68c4a794 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x68c5cd0b debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x68cab3e2 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x6900f10b vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x69041bf4 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x690c9c15 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6919ded9 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x695c873e dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698a2654 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0x698baafe verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x698e7e26 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x69a04a55 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x69a5d291 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x69b1cd03 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6a008077 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x6a11d94a fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a1eaf80 ccw_device_get_chp_desc +EXPORT_SYMBOL_GPL vmlinux 0x6a2a3c32 unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0x6a3af0b0 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a55ecdb xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a86531e pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x6abe2e92 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x6aca7237 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x6ae0f185 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x6afd5c2c bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6b07d10d __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b24ef47 gmap_shadow_pgt_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2c0063 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x6b31b5c4 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b46911d pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x6b693fed pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x6ba9c176 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x6bc56c4c tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x6bcb2735 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6be01911 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6c050e27 s390_pci_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b1579 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x6c50c3d4 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x6c61aefa tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6c83e3f5 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cacf6d5 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x6caf8f2a hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6cba2da1 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6cd21b3e pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6cf84b7c kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x6cf8c251 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x6d147401 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x6d1e73f1 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3eb560 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x6d55f6d7 cio_update_schib +EXPORT_SYMBOL_GPL vmlinux 0x6d573654 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x6d5ce483 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8b2678 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6db19d81 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6df0ccbf device_del +EXPORT_SYMBOL_GPL vmlinux 0x6dfe2e37 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x6dfebc87 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x6e16033c __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x6e20ffec simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x6e2f1ed8 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x6e30dd3f inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6e381721 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x6e457af0 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x6e495cd4 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x6e4ff40d ccw_device_get_util_str +EXPORT_SYMBOL_GPL vmlinux 0x6e5fce9e clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec45b7a gmap_pmdp_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f0140b0 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x6f072874 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x6f102763 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f19c13a debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x6f36138a pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x6f3f4701 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x6f4babb9 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fafdf98 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x6fc657f1 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ff0b66c sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6fffea8e iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x701cd067 bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x701d28cb device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x702514e9 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x7042ff67 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x705cf5a5 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x70791b13 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x70835b60 kvm_arch_crypto_clear_masks +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70eeef01 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x70f89d53 rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0x710af146 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7115a8b9 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x711c29cc dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x71292099 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x71431fce pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x71539ac7 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x7179c31c zpci_iomap_start +EXPORT_SYMBOL_GPL vmlinux 0x719034ea pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x71983777 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x71a99195 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x71bda510 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x71c8dc29 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x71ce3bc0 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x71dfe89b devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0x71f4933e kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x71f5f627 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x71f69a66 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7201e3a6 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x7241fd0a fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x724fb65a pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x726539a0 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x726a3ba4 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72b4a6c2 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x72bba2db debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x72c1aeeb __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x72ea56d6 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x72f6ff67 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x730258e9 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x73453a26 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x735b5e7c sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x735e404e bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x737c5286 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x7386a444 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x73af2e28 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x73b39a9f iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x73ba26b6 __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x73bba62c inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d52e0e sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x73f33a3c device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x73f990ff xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x74343d55 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x7443cfdb css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x7484f279 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x7495d3ac inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74dbd353 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74f2c9a3 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x74fe2345 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x75039aed skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752fb521 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x7554b896 zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x7555dfaf crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7566e514 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x7570085a sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x758b0e81 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x758cbda0 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x7593951e blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x7599a01f tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d0dd66 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x75d25e7e __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x75d550ea tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x75d5bd4f __class_register +EXPORT_SYMBOL_GPL vmlinux 0x75ddfb11 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x75e40a5b bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75edf7b3 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x764eb66c pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x765dc89b handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x765edd8d blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x76e0480d _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x76edd4ef srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f1cbc0 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x7708de6f synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x7721c440 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x7751cea4 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x77642bde netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x77803834 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77d51ea1 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x77d74aae nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x77d8a091 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x77e23e2c __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77e97076 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x77e979fc dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77fe3f53 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x781746eb devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x781777e0 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7826d5dd user_read +EXPORT_SYMBOL_GPL vmlinux 0x783b03fb blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x783d0676 sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78ac359b crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x78c1ef2b fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x78cdaa56 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x78f779a4 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x790a48e5 dequeue_signal +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 0x79664447 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x797f63eb freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x798747fb md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x79d3f2e5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e7bb6a crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x79f781dc dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x7a08deef hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x7a26ea13 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x7a2b66b4 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x7a2d0c1c security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x7a5cecad device_move +EXPORT_SYMBOL_GPL vmlinux 0x7a71af77 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0x7a7dcd9f xas_find +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a857990 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x7abd1bbf sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x7afbb145 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b1106b5 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x7b179e47 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b62de66 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bbf42a2 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x7bd65a3c devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x7bdcca60 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x7bf5e7b7 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x7c012b8a dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c1468de sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7c2d392d trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x7c3266f1 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7c32d6f8 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x7c3378b3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x7c35e60a stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x7c47de27 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x7c490b69 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x7c5df108 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7c7a7931 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7c9d3feb __gmap_translate +EXPORT_SYMBOL_GPL vmlinux 0x7ca57491 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x7cabd7de sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7ccf17a7 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d01ab81 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7d4a3d31 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x7d562d67 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x7d568c5f ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7d583b13 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x7d60a863 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7d6153cb __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7d7a14ee crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7d8d5676 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7d939a11 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x7d9dd40b sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7da1233b shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x7daebd61 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x7db541ea screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x7dd35916 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb2718 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7deaf144 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x7df05d34 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7e02b1b9 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x7e1c1b47 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x7e1eaf98 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x7e22f504 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x7e3d35d0 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7e5deaf1 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e90a582 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7e90d349 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x7eafbc1c gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x7eb19b4e dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebf9328 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7edfdb92 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7efb65dc sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x7f0188ca pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x7f0aca4c bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x7f119fc7 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x7f288643 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x7f511a3d inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7f56e905 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fadb111 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fbab4a9 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x7fc08b3e __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x7fd338e9 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x7ff62978 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x8018dd30 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x803cc4a7 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809408bd gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x8094815e sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x80a46aa0 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x80b109d4 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80d78206 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x80fb44b1 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x80fb80d9 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x81074139 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x812ea476 trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x814d850c pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x81555ed5 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x81722c46 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x81768d1a serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81e83731 blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x8206da40 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x826eae76 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x8281f3fe dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x829654bb __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x82c08cbf security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0x82d76f03 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82d85ca2 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x82df34f0 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x82e1b807 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x82efb98c nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x83016fb3 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x83136855 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x831e638e gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833c3a41 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x8346971d cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x8347e1a1 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x8348e4f0 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x83513516 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x838d91d6 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x839dfdc0 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x83aa84da ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x83bb45c2 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x83d079f5 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x83f15dfc balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x8445b68b unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x844da4ed blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x846fe246 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x84bf8348 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x84d87fe7 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x84ea87ed dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x85162656 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x85169605 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x855786cc unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x855c26ec skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x8570f279 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x857a5858 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85bb34bb perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x85bcf9a7 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x85cdc620 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x85fea451 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x861eff15 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86673705 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x86727ebc bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868ea561 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x869260a7 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x86949e9b crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x8694adb4 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x86b0b6ba zpci_barrier +EXPORT_SYMBOL_GPL vmlinux 0x86b58452 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x86c5125f wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x8703a18a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x870e2ee6 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x872592a5 iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x872fe152 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x873343d4 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x875992e4 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x87745fd1 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x8792ed42 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x87b58d14 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x87bd55b3 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x87c4a5fb cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x87c55087 mmput +EXPORT_SYMBOL_GPL vmlinux 0x87cf2434 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x87d27573 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x87ef2aff shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x88763d1b strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x88a02d8f crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88d804f5 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x88e7e542 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x88ec8739 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x8910872c do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x8915cfab gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x89237aef crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8971c9f7 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x89aaa2b1 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x89d919af cio_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8a0fae20 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8a15ac39 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x8a16d44a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a48dbea wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x8a53de03 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a5b5baa nexthop_select_path +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 0x8a7fc1a9 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x8a92963d validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x8a9fc754 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x8aa7235c platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8af02baa udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x8b1641fd xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x8b1bf8cd skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x8b408d7b device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x8b435e35 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x8b440079 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x8b68f4c5 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x8b7fa44a __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8b9909cb bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x8bded20f zpci_load +EXPORT_SYMBOL_GPL vmlinux 0x8be6e57b kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0x8bea6e72 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x8beea432 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0e413a debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c4d0efc ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x8c521299 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8c5a112c register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8c5eb5da devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x8c68585c watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x8ca2693d sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x8cc160fd fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x8cee2460 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x8d1cea72 cio_cancel_halt_clear +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d27934d pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d5a8423 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x8d9334bf xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x8db5222e nl_table +EXPORT_SYMBOL_GPL vmlinux 0x8dc3aebb gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x8dd26710 serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8dd36ee1 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x8e1120ef iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x8e1419e0 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x8e23d58f offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x8e3def41 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e6fc9a2 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x8e7707fb __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8ea9abc5 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x8ec46675 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x8eccea42 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x8ed368df vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x8ee28095 cio_halt +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f11e71f vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x8f5bf523 __zpci_load +EXPORT_SYMBOL_GPL vmlinux 0x8f5e9ea2 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x8f64f780 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f8d2d16 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x8f8f49cf tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x8fc3f64e blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8fefc728 cio_start +EXPORT_SYMBOL_GPL vmlinux 0x90148d60 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x90376881 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x903c431b bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x903e0cd2 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9046fb9d pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x90505da0 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x90680e0e crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x9095f42f net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x90a1c2bc proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x90b50576 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x90c9bfb3 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x90eed8f0 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x90ff8c32 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x91151880 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x91320455 sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x915f9ff3 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x91983ab5 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91e5482e kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x91eb518d klist_init +EXPORT_SYMBOL_GPL vmlinux 0x91f49375 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x91f71b4e tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x920991d2 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9222e502 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x923230f7 devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x92579243 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x926b1d18 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x928a1d8f get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92de3fb1 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92ea1827 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x92f1c767 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x93226bd9 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x93262437 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x93269e4e tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x933f3ff9 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x933fe81c lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9341a473 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9354a2b3 gmap_fault +EXPORT_SYMBOL_GPL vmlinux 0x935a9f65 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93725986 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x937fe5f8 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x9384c94c iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x938ee8df devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x93922111 get_compat_bpf_fprog +EXPORT_SYMBOL_GPL vmlinux 0x939a337f devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x93d62548 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x94132aae bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x9413d836 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x941b63cc gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x946237e8 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x94675ff6 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x94943717 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x94a0b962 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x94cf1a4d skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x94ecc155 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f86601 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x9501637e call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x950656c4 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x951187c2 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9534b0a8 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x954f5b38 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x959f8980 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x95da5123 pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x95f0e969 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x961adcf2 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x961c0329 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x96251a70 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x962761f6 pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x963e8238 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x96439cab platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96a03b1b kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x96ad666e s390_reset_cmma +EXPORT_SYMBOL_GPL vmlinux 0x96c61398 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x97012521 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9743e838 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9784625c devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x978ae98a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x97c421a8 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x97c9a300 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x97d8e7f4 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97fec017 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x97ff91d9 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9834f6af handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9861830b housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x986f65c0 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988016bb crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x988ac130 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98afcaed perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x98b2f3df blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x98c9eeb7 iommu_set_fault_handler +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 0x98fc126a tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x99029224 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x991d4b3c ptep_test_and_clear_uc +EXPORT_SYMBOL_GPL vmlinux 0x9926af02 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99ab82cc iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x99b4a2d0 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x99b602f5 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x99c23c48 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x99e06443 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a272617 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x9a3868b6 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x9a48f6a5 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x9a6351e6 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x9a7d1517 cmf_readall +EXPORT_SYMBOL_GPL vmlinux 0x9a7d243a inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x9ab5947e proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x9accc6ed kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x9ad1abcc scm_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9adec865 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x9ae2da16 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aed97dc pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x9af8cbd8 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x9afb253b crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x9b1b033c pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x9b32904c __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9b40c1fd dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x9b4f3e9d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x9b542658 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x9b5a42f4 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x9b6ac7cf encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b85c752 ccw_device_pnso +EXPORT_SYMBOL_GPL vmlinux 0x9b85d3fd devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9ba32498 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x9ba34a85 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x9ba767bb mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9bb4016f gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9bc77923 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf7e791 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x9c1a7a02 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x9c401109 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x9c4ec7fd irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x9c4f5371 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x9c50b8a9 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x9c663067 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x9c665604 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x9c66c0b9 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x9c6a7e3e handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9cbf8852 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x9cdcba5e blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x9cfe841c fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x9d06e990 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d23d5ce devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x9d32c1e6 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x9d6f732d relay_close +EXPORT_SYMBOL_GPL vmlinux 0x9d7c5469 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x9d7e4523 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x9d8e5821 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9d932d70 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x9d976aa0 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x9d9fa231 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x9dddef34 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x9e08d700 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x9e442674 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e54abda inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x9e64bdf4 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x9e650260 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x9eb74283 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x9ec054d5 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x9ec31d76 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x9ec5de2e preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f24be87 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x9f36457e __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x9f3a7916 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x9f41836f scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x9f4f32b3 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x9f5f4a22 do_truncate +EXPORT_SYMBOL_GPL vmlinux 0x9f6d78fc kvm_get_pfn +EXPORT_SYMBOL_GPL vmlinux 0x9f93206f kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x9f969ab8 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x9fc8590a kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe90982 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa016afb6 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xa016fbb1 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xa0465e8b file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa08b0bd5 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xa09e7547 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xa0afb0d3 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa0b1495b platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa0c6c33e ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa115cbd6 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xa15c8d69 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xa1651e93 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xa18febfe mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xa1a1b9ae gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xa1a69dc9 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xa1c3cfd7 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1cce632 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xa1d5487f fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xa1f39b5f pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa23442b7 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0xa26bed8e bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2a96602 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa2ab46e4 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xa2b0377d relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xa2bb0b75 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xa2c3364e fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xa2d408a6 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2ea0de1 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa3027cfb devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0xa318adfc __class_create +EXPORT_SYMBOL_GPL vmlinux 0xa321a50c tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xa32d91a4 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xa3334847 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xa34acefd ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xa3568b2b acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa35a4ad2 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xa3659b5f __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xa368a50c sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xa37d17a2 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa3916a2a inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa391d37c udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xa3b1dcca serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c688f7 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0xa3ce88d2 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xa3d7c469 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa404291e set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa411bfac percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0xa423428b kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xa42dcd8f sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa465d352 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xa46600be pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa47edba3 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xa4855650 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0xa487800f netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4af36ab gmap_shadow_page +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4f85ff7 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xa521ff6e fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xa52c8e80 kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa53b36e2 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xa5428780 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xa566f5fd gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xa573588c gmap_discard +EXPORT_SYMBOL_GPL vmlinux 0xa5745f0c gmap_mark_unmergeable +EXPORT_SYMBOL_GPL vmlinux 0xa57a2cab iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xa57d3420 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa597323f cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xa59a833a __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xa5b88b66 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xa5c8645b css_general_characteristics +EXPORT_SYMBOL_GPL vmlinux 0xa5c95e90 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xa5d78c38 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0xa5d916d0 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xa5e43695 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xa5eee841 dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f759cd bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa5ff8fa2 ccw_device_siosl +EXPORT_SYMBOL_GPL vmlinux 0xa61068c8 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xa6290e68 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xa62b794b security_path_link +EXPORT_SYMBOL_GPL vmlinux 0xa636eb6c inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa6824f3f __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa69d2403 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e674ab linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7581beb gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xa75d8ff0 gmap_mprotect_notify +EXPORT_SYMBOL_GPL vmlinux 0xa788ce88 kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xa7918322 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0xa7b08856 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xa7e4b534 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xa7f1c73a class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa7fe2927 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xa83eb0f0 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0xa83fd80b crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa83fe7f9 dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa85656fe debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xa85c5505 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xa88bb20c bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xa8bd0cef module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa8d037a5 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xa8d29927 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xa90c3c20 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9185253 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xa91a6984 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xa9220d2c sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa923691a fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xa93137ef fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa95ca257 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa97c422e __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a8f4bc devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0xa9b3c41d iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xa9bc1222 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0xa9c82704 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xa9d0ab1f trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9ff15b9 s390_enable_sie +EXPORT_SYMBOL_GPL vmlinux 0xaa0220da check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xaa212940 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa326c62 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xaa61de11 irq_stat +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa7522de skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xaa842f1b fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xaa97a81b crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xaa99fb8d napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaaf19ef hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xaae5f76b fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xab00e1ea fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xab023053 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xab12089a tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xab2a83e1 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xab4ad6f6 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0xab8b9dc9 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xab97a97d s390_handle_mcck +EXPORT_SYMBOL_GPL vmlinux 0xab992d18 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xabac10b7 inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcdeee3 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xabf6d267 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0xac37d52a setfl +EXPORT_SYMBOL_GPL vmlinux 0xac5a789c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xac5b66bf d_walk +EXPORT_SYMBOL_GPL vmlinux 0xac671bf8 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xacd2d979 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xace4af27 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xad11bfe5 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xad37009e tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xad3dfa13 lgr_info_log +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5d43ea invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad706de4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xad7ddc63 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xad804fa3 is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadaaa3ae diag308 +EXPORT_SYMBOL_GPL vmlinux 0xadd0daad pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae1fa4bf md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xae288d73 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3b3418 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xae522892 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6f4ab8 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xae73e5a1 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae910517 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xae9eee89 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaebc534f trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xaf01c93c bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0xaf0c0a73 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xaf0f8266 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xaf1d5a90 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xaf22dcfb crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xaf620860 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xaf905c8c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xafa4f5eb unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xafaa917a badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0xafd48691 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xafd6091d ref_module +EXPORT_SYMBOL_GPL vmlinux 0xafd765b9 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xafda7258 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xafe7d7e8 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xb0053bc7 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xb02657f2 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0xb029057b gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb078b088 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xb090c3cd apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0bffc3f devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xb0c77635 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb0eb40a0 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xb0eef27a crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xb106573a scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb11fde8c gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xb1354884 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14ebdd3 xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xb15b552a sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb19f152e klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xb19fcd42 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xb1a65ffd skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1df4719 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e32a4f ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xb229892b debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xb23ec47e bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24be252 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xb24e169e devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb297b3b4 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xb2b7c4c2 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2d5890b blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xb2e13dc4 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0xb2e18283 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xb2ec26d2 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0xb3025f55 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb3133ba7 iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0xb31737ce irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0xb322da17 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xb32e8c6f __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xb33a05a7 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xb33db20c dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0xb33fa820 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xb3806f7e platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0xb38b612b crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xb39a612d fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xb3b87020 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xb3bcf0f6 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xb3dc9070 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xb3f492e0 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xb401ba6f sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb4226ac1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xb423878f scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xb42bab3d klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0xb42e72c7 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xb42eb811 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44ab713 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0xb44bc1db serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb4697fd8 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb46fbe0b klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb48e054b ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xb49c9c95 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xb49df39a class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xb4b3eda9 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c1831b device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0xb4c6c37d mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xb4d0edd5 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb4e19742 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb58ac4fd gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xb5933f2d ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xb5b47f36 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xb5c33ac8 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xb60a057b pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb64c537d ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xb65eca6b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xb66c7dcb component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0xb66efc27 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb67d985d smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xb69107c5 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xb6a7768a xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xb6b9d5c0 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xb6bdf718 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xb6ecafda gmap_shadow +EXPORT_SYMBOL_GPL vmlinux 0xb6ed5580 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xb75ab4d9 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xb795eaab iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7bb1fb0 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7d404f0 component_del +EXPORT_SYMBOL_GPL vmlinux 0xb7ddc8c7 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xb7f1e111 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xb80506b4 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb82010ed rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb83bc1be pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xb8512cc5 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xb86e0f71 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xb8739f38 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xb8751b2e dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xb8786375 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a1c62e crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb8b287fe restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8e996a7 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xb8f21c13 noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xb90047fe css_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9398972 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xb93a6a2e zpci_write_block +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb9601fb2 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xb961c53f ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb982f858 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xb98a055f sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xb9bd6904 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9e152b5 kvm_s390_gisc_register +EXPORT_SYMBOL_GPL vmlinux 0xba3ef3af md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xba415800 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0xba4880b8 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xba60108c sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xba823a37 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0xba9919cb bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xbaa81940 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xbab4d24f get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb14023d sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0xbb1493e3 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xbb267181 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xbb49d8a3 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xbb5170c5 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xbb654602 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xbb66c884 crypto_unregister_skciphers +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 0xbb7e1544 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xbb7eb59c class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xbb82b09a iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0xbb91e80a platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xbb9b8bd2 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xbba4ac5f __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0xbbb851ed wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xbbc40a71 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0xbbc79874 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xbbd105ba __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xbc022e87 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xbc119f72 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0xbc1d45e5 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc367fc5 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xbc46b3d1 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xbc4c4bcc trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6cb6b0 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xbc7248b6 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xbc7441fa lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xbca529ff blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcca4d84 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcec1b42 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcf7bfa1 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd40fb3d acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xbd6df0e1 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xbd7b1602 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xbd89aecd tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xbd8bfff0 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xbd94616b irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xbda7cde0 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xbdc9f631 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xbdd518dd trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xbdfd830e gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xbe1ddcc7 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xbe2d4c1e irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xbe34d11c kvm_get_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe6b6fc3 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xbe8998fe vfs_write +EXPORT_SYMBOL_GPL vmlinux 0xbe8be6f1 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbebfc8ca pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xbed35b79 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0xbed45eda kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xbee01542 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf3638cd sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xbf3b2ba4 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0xbf4e88f4 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf77424f netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0xbf79a7eb xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xbf809226 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xbf89050a srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xbfa6ac40 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xbfb09ed8 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xbfbbc32d devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xbfc0bb1b param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xbfcf17f3 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xbfd56ac6 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbff80070 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc0019341 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xc049bd24 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xc049d59e gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xc05160fe rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xc0535153 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xc058dc66 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc060937b __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xc0688cde bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xc073bd02 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xc082d0b2 pci_proc_domain +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0efb953 ip4_datagram_release_cb +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 0xc1210186 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xc12c9151 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xc13d6df6 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xc1405413 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xc146e465 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xc1727afa trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xc177cd33 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0xc1ce8dd6 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xc1d781b5 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xc1e19d69 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xc1e94c0c crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xc1edc2e6 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xc1fd9053 gmap_remove +EXPORT_SYMBOL_GPL vmlinux 0xc2042ea6 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xc217272a ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc234b287 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xc24d1e16 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc25c3a94 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0xc27ccb7c perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xc29efb69 shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc2a08ea0 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2ca6189 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xc2d902cf fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0xc2fb8434 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xc2fcdec6 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xc30a867d firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc3510a78 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xc35b5590 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc374dafb subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc39ec6e8 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xc3bab017 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d5c7ba anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc40f4e07 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc414ec68 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc41a0c51 chsc_ssqd +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc438c417 __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc43fb582 gmap_shadow_valid +EXPORT_SYMBOL_GPL vmlinux 0xc4456f91 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc44735b9 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc46d2c6e security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0xc480eb84 appldata_diag +EXPORT_SYMBOL_GPL vmlinux 0xc483ee9f devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc48f7eb5 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4baaf5e xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xc4c2102a sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xc4c9c75a synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4f856d1 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xc508c531 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xc513d7d9 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xc518f152 get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0xc5208723 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xc5281c7e gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xc54486ca pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xc562d8bc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xc56dac2e dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5ba8461 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0xc5db67b4 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc5e44459 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xc5f4aa86 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xc5f8f8bc raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc64fdd05 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +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 0xc6bc60ff pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xc6cd473b sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xc6d09aec sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xc6f57a4d tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0xc6fdc3c0 virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0xc711ca1c css_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc7245c8a fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0xc72fcd20 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xc755c93f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0xc75c2f7d sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xc75ea8bd mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc778a84b eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a2c32f crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xc7c8b1df init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc7c9a544 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xc7d4a4e6 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc80acfca chsc_sadc +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc84829d7 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xc84c4023 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xc863c72a sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc86674d2 dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc881e5e5 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xc8a6e09b inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0xc8c4edb1 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8ffd6ca __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xc90edd42 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xc93461f9 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc938a2d4 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xc948ae35 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0xc94c4cbf pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0xc94c9810 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xc94fc87b blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc984ab84 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xc985c31e securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xc99a7e0e ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9b70b64 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc9d061bf register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc9d2ddad enable_cmf +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f226e8 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xca365a83 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xca37d69e uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xca4d09c3 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xca4fa186 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xca4fcaa5 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xca541308 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xca689e26 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xca7c8487 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcab2b98f fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xcabff50e devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0xcacd88a0 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcad505c8 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xcb07a49d __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xcb0c85f3 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xcb276f86 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xcb56eddd strp_init +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb5e458f irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xcba1cefb __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xcba7104c crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xcbbf3028 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcc05e900 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc153a16 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xcc23b08d gmap_map_segment +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc588fe4 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xcc63d7f1 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9513f0 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xcc9eb4b5 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xcc9f2c6a add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0xccbd683a tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xccc99275 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0xccd14401 gmap_register_pte_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcce6550c device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd1ffef6 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd3b50ce kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xcd469c38 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0xcd63610d gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd8bb2e9 lwtunnel_output +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 0xcda1ef7d synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0xcdaaf27e dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbe89be synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcbdc87 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0xcdd40283 md_run +EXPORT_SYMBOL_GPL vmlinux 0xcdfd22be subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xcdfe87b5 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xce04e5ca dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xce064e74 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce6f989a gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xce765b45 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xce803bd5 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xce9a7919 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xcebcec73 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcef6d718 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0xcf0afbfb copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xcf14c26a crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf2f0cc0 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xcf2f9484 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xcf37ddea gmap_get +EXPORT_SYMBOL_GPL vmlinux 0xcf49042a pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf64e98b kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xcfaafd0b kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xcfb39eda blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfca6403 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xd0146b2e mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xd031b589 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0575cd0 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd07bfc06 cio_start_key +EXPORT_SYMBOL_GPL vmlinux 0xd083be63 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xd083c4f0 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd09c4b64 of_css +EXPORT_SYMBOL_GPL vmlinux 0xd0ab0376 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0f18bbf blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xd0f4d3b2 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xd141a07b crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xd145deb0 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd1900d61 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xd1901df7 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0xd1a5c1a2 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xd1be0a99 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xd1c9998d find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d06429 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd21755c4 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21be462 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd286dc9f fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xd2a14999 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xd2a4af2a fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xd2c8ae77 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2e11f18 fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xd2e79416 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xd301ba93 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xd314c231 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd3243ae8 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xd32488f1 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd33b9ab7 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xd3423119 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xd3450324 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xd3453b02 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xd34be1da fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xd378664f debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd399d13a irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3aee8e1 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xd3efb072 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd3f43a87 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40845aa iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xd4243cfc devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd4380b29 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xd4460388 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0xd488a6c8 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd492394c gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xd4a541d9 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xd4a5fe50 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0xd4a8d24c clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4dc6161 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xd4fe9019 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xd534e4c7 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xd5569b6c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xd55945ed sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd561f455 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xd56288a3 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0xd58c2c7e get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xd5ad357f __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xd5c14cc5 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xd5e1c408 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xd5f18bf8 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xd60629a3 unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0xd618e58a relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xd61dee71 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0xd632e457 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xd64021a3 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xd643c435 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xd6485cad subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd657a61e trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xd66e8733 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6ec092b free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xd6fed34c thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xd714cccd crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xd731d421 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd756962c xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7689e15 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd77b7643 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xd7989d29 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xd7c5238a zpci_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xd7e8e92d inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xd8309c23 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xd8340a0d input_class +EXPORT_SYMBOL_GPL vmlinux 0xd83c7466 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xd840c620 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd851c584 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xd87354e3 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xd88e2bc7 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd8980f48 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xd8bb9a6d devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xd8cce435 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xd8e10257 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0xd8f0166c put_pid +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd9071733 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xd943baa0 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xd949d38b serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xd9564bb5 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd98d6c17 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xd98f2082 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xd99c64ac serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xd9b0911b get_device +EXPORT_SYMBOL_GPL vmlinux 0xd9caaec4 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0xd9cea86d bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xda0017b5 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xda11783f iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xda23a2c0 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3f3e8a isc_register +EXPORT_SYMBOL_GPL vmlinux 0xda458728 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xda717d38 pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xda78b7a0 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda971a30 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0xdaa0cc11 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xdaa319b7 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdaba8583 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xdad4847f device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf7cd8b mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb17e6b3 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb6bab57 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0xdb87f059 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba7736c cio_enable_subchannel +EXPORT_SYMBOL_GPL vmlinux 0xdbb1e223 css_sched_sch_todo +EXPORT_SYMBOL_GPL vmlinux 0xdbd83490 kvm_clear_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xdbf29726 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf8d811 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbff9380 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xdc276893 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0xdc36a5e6 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xdc554799 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xdc57e58f crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdc69193b synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0xdc69be61 gmap_pmdp_idte_local +EXPORT_SYMBOL_GPL vmlinux 0xdc9b72c7 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca6e496 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xdcc48e41 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdce18876 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xdce19fc5 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xdce2dfe9 user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xdd00cd9e iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd0f50fc unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xdd1b0945 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0xdd36baed stack_type_name +EXPORT_SYMBOL_GPL vmlinux 0xdd3772ea iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd40cdc4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd56d2f6 find_module +EXPORT_SYMBOL_GPL vmlinux 0xdd5e6994 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xdd617aac inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd7a271d pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xdd7c5ada skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0xdd7f0765 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xddbe15a7 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddc94931 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xddd904a6 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xddec177b pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0xddf3804e scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xde24af2f gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xde2f7913 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xde3cf1b0 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xde4096f6 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xde56d371 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xde612917 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeb40bdf sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xdec3cb27 ccw_device_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xdee6bd93 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0xdf048465 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1e31fe xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xdf223247 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf3418a4 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xdf7a700d kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfd708be pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xdff6b2bd raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xe0022bee pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe004f386 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xe012fe15 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xe020e1b5 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xe022d10c gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0xe041f898 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xe044112b skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xe04e7f86 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe06085af xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xe06388fd add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xe06a1350 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0xe06cb463 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe06d7647 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xe071dc48 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xe09fb2b3 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0xe0a18778 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xe0aa9c3a dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0xe0ee48a5 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xe0f07800 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xe119858b bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xe1267488 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xe1555500 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe181287e kill_device +EXPORT_SYMBOL_GPL vmlinux 0xe19b4c8d device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xe1ab1516 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1e20335 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0xe1e884f4 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe23921c4 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xe23c4646 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xe24238da devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xe24a01de raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xe2609d63 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xe26cb09f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe27178c1 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0xe276ac81 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe2829f07 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0xe29a799f pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0xe2a2b375 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0xe2ac4ca4 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2cc9817 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xe2d7ad99 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xe30079fb blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe307205a bprintf +EXPORT_SYMBOL_GPL vmlinux 0xe30a8a51 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xe313baf6 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xe317b273 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0xe336ff4f kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xe33e3515 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xe386a60b get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xe395243d __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3bae35e blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0xe3d9e86a __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe4097b69 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe414bcfc vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0xe469547b iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xe47539ab hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xe4874aef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe4900a3b irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe499db56 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xe4a98b1b crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xe4ad5933 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4c4a433 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xe4f93d64 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xe4fae5c8 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe4fde637 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xe502516a tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xe51f6731 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe5530e90 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe57ccdca crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe5a24361 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xe5abf30f driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe5c253e6 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xe5fee146 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe6303c9c sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xe6443af9 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xe65bdc2c nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xe670fcce fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xe68cd0cc watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xe68cd669 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xe6a1cc4c klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xe6aacc3e scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe6ae95c0 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xe6ccc70e bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6ed4928 alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xe6f40ad0 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xe700d086 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0xe715fbd6 iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0xe7288c40 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xe72e844b __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xe73a9542 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75623a0 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77cd291 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0xe7804eae skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe78da4d4 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7afd6d8 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0xe7b718df chsc_determine_channel_path_desc +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7e3e62a xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0xe7e8fe1c fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xe7ee7911 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe80c7186 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xe81a5991 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe83b6b7a irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe8915722 kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0xe8a26bf4 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xe8a34e15 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xe8ab4e38 dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0xe8b40f33 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe8bde36a fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xe8d6c18c device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe91d15f3 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xe92ba699 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xe9327fc1 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe93610a3 dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe958ab70 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xe978cdf5 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xe984d6f2 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0xe9b8e5a1 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xe9bc9bee crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xe9cabed4 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xe9d4294a gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0xe9ea2640 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xea00aae2 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea2589a8 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xea2747d2 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea4e20e8 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xea623907 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xea64f9df pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xea72c160 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xea8cdd18 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xeaab2f43 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xeac7a9e9 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0xeac9e4ec dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xeacdf565 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0xead77419 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf7a45e gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xeafa2a96 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xeb398de6 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xeb5147f0 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb907eeb __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xeb93a2b4 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xebb16952 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xec111e75 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xec13c83c si_swapinfo +EXPORT_SYMBOL_GPL vmlinux 0xec31d2af __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec519c92 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xec5c6591 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xec624fbe gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xec660cd3 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec6f51b6 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xec7e34b7 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xec8e28d9 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xec939e07 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xece38951 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xececead3 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xed131297 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0xed15b134 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0xed2243af ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xed2eff8f find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xed311264 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xed48a163 __zpci_store_block +EXPORT_SYMBOL_GPL vmlinux 0xed66548f virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xed95ba28 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xed99e95a dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xeddd49d9 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xedddbd4b device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xedf55abb zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xee044e94 kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xee059f1d scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xee1ca9ac iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xee2207fc fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee5676e7 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee5ef072 dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee7d0f10 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xee84923a crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xeea834c0 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xeea85e8c devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0xeebb8fcf synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0xeedb1abb iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeee59b5e blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeeffcc4e sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0xef13106c nr_threads +EXPORT_SYMBOL_GPL vmlinux 0xef365078 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0xef3bac79 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xef45a7d9 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef6b9bf7 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef95a438 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefb4c963 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xefc991e3 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xefc9ff66 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xefd6fc33 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xeff33000 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xeff9878d ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0xf000abf6 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf0235d6c blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xf075b3f1 kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0xf090876f dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0c1198c posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0c18481 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xf0c51043 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xf0d3fd51 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0xf0e1879c pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xf0efff25 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xf0f2d8f1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0xf0f506d8 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf1367fc2 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xf14a8efa blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18b0f95 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0xf1a538cd register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1c5c3dd kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf1c7f2c1 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xf1d2d358 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf21a6cb7 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf21eac15 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xf22c706f pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xf23ae269 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xf24e5815 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xf26f45cd kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xf2738083 gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xf27e5551 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xf28e3418 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2e3bc22 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xf2f0ede1 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0xf2f51933 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf30470be __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf34ff160 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35d8a35 s390_reset_acc +EXPORT_SYMBOL_GPL vmlinux 0xf35ea647 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xf3612174 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf39469c8 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xf3c3c6ba crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xf3c4cf04 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xf4065c71 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xf42b221c irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xf42c7a33 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf4578fea __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf47fa06d pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xf485d7a6 ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf48b4cb5 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xf48c843e debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf5093d90 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf51e14d0 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xf51f03c8 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf568bc71 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf58f8fa9 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5bcbdb1 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5dbfea4 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xf5edb8e9 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xf5eeace3 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f9ee1f appldata_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0xf5fdaac9 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf6444db6 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf657be8f __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0xf66a4d63 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xf67bad26 vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xf6802032 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xf68dcf3a blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xf6be6408 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6e9a58f kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f1e250 register_kretprobes +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 0xf75839dd crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xf762e11a tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xf7669123 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xf779d976 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0xf7833324 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xf785f458 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xf790a76b irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7ccc3f1 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xf7e8b288 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf7ec3b01 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xf7f7704a request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xf7ff7be7 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0xf8122e01 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0xf824f568 sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf851c753 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf855ccce __zpci_store +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8be840b hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xf8c74295 bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xf8cbc4c4 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xf8d12d97 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0xf91ab2ed __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xf9222b3c __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf975252c kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xf9a0021f __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a080a6 devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xf9cb4d58 kvm_init +EXPORT_SYMBOL_GPL vmlinux 0xf9eb052a ccw_device_get_schid +EXPORT_SYMBOL_GPL vmlinux 0xf9faad45 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa009a35 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0xfa08cdff tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa23eb39 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xfa281c7b tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xfa32a1ec platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xfa3c984f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa974d15 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xfaa2d717 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfaecf3f4 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xfaef7637 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xfb03d863 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xfb280c81 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xfb2d89f3 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3dfe8a page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb4faf31 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xfb515460 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xfb643253 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb65630a balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xfbb288f2 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc419a69 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xfc485ce6 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xfc5a0ef8 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xfc5a553c ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xfc5ef61e tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xfc69bcca synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xfc75c160 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0xfc87581b device_add +EXPORT_SYMBOL_GPL vmlinux 0xfc8db919 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0xfc9ec317 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xfca9511f blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0xfcbf23d3 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcde474b crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xfcee405b ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xfd1279d2 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0xfd2a481e lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0xfd581048 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xfd71472d __gmap_zap +EXPORT_SYMBOL_GPL vmlinux 0xfd8af8b7 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfdbd1ba0 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfde1f168 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe2368d9 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xfe31c6a4 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xfe3b05c7 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xfe3b11eb tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe54d28f arch_make_page_accessible +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe82692a page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb9406d put_device +EXPORT_SYMBOL_GPL vmlinux 0xfecc15fd nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xfef275db netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xfef81978 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff053e78 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0ef79f devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0xff13d8c6 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xff31e2c2 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xff403774 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff6d24a4 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff6f7f3d disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xff7c07df trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8e55d7 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xff9b976c tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xff9e5998 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xffaba554 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffb1827f anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xffcdc4a9 tod_clock_base +EXPORT_SYMBOL_GPL vmlinux 0xfff45eb1 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xfff9e772 __ip6_datagram_connect +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/s390x/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/s390x/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/s390x/generic.modules +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/s390x/generic.modules @@ -0,0 +1,993 @@ +8021q +842 +842_compress +842_decompress +9p +9pnet +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 +ansi_cprng +anubis +appldata_mem +appldata_net_sum +appldata_os +aquantia +arc4 +arp_tables +arpt_mangle +arptable_filter +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +aufs +auth_rpcgss +authenc +authencesn +bcache +bcm-phy-lib +bcm54140 +bcm7xxx +bcm87xx +bfq +binfmt_misc +blake2b_generic +blake2s_generic +blocklayoutdriver +blowfish_common +blowfish_generic +bochs-drm +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 +chsc_sch +cicada +cifs +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cmac +coda +cordic +cortina +crc-itu-t +crc32-vx_s390 +crc32_generic +crc4 +crc64 +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 +deflate +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-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_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 +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 +fixed_phy +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 +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 +khazad +kheaders +kmem +kyber-iosched +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +lcs +libarc4 +libblake2s +libblake2s-generic +libceph +libchacha +libchacha20poly1305 +libcrc32c +libcurve25519 +libcurve25519-generic +libdes +libfc +libfcoe +libiscsi +libiscsi_tcp +libphy +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 +michael_mic +micrel +microchip +microchip_t1 +mip6 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlxfw +mlxsw_core +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +monreader +monwriter +mpls_gso +mpls_iptunnel +mpls_router +mpt3sas +mrp +mscc +msdos +national +nb8800 +nbd +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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 +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 +oprofile +orangefs +overlay +p8022 +paes_s390 +parman +pblk +pcbc +pci-pf-stub +pci-stub +pcrypt +phylink +pkcs7_test_key +pkcs8_key_parser +pkey +pktgen +pnet +poly1305_generic +pps_core +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 +rcuperf +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +rmd128 +rmd160 +rmd256 +rmd320 +rnbd-client +rnbd-server +rockchip +rpcrdma +rpcsec_gss_krb5 +rtrs-client +rtrs-core +rtrs-server +rxrpc +s390-trng +salsa20_generic +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 +seed +serial_core +serpent_generic +sfp +sha1_s390 +sha256_s390 +sha3_256_s390 +sha3_512_s390 +sha3_generic +sha512_s390 +sha_common +shiftfs +siox-bus-gpio +siox-core +sit +siw +slicoss +slim-qcom-ctrl +slimbus +sm3_generic +sm4_generic +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 +tea +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +teranetics +test_blackhole_dev +test_bpf +tgr192 +tipc +tls +torture +tpm_key_parser +tpm_vtpm_proxy +trace-printk +ts_bm +ts_fsm +ts_kmp +ttm +ttynull +tunnel4 +tunnel6 +twofish_common +twofish_generic +uPD60620 +uartlite +ubuntu-host +udf +udp_diag +udp_tunnel +uio +unix_diag +veth +vfio +vfio-pci +vfio_ap +vfio_ccw +vfio_iommu_type1 +vfio_mdev +vfio_virqfd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vsock +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +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 +xlnx_vcu +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 +zstd_compress +zunicode --- linux-riscv-5.8-5.8.0.orig/debian.master/abi/5.8.0-57.64/s390x/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.master/abi/5.8.0-57.64/s390x/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.master/changelog +++ linux-riscv-5.8-5.8.0/debian.master/changelog @@ -0,0 +1,19202 @@ +linux (5.8.0-59.66) groovy; urgency=medium + + * UAF on CAN J1939 j1939_can_recv (LP: #1932209) + - SAUCE: can: j1939: delay release of j1939_priv after synchronize_rcu + + * UAF on CAN BCM bcm_rx_handler (LP: #1931855) + - SAUCE: can: bcm: delay release of struct bcm_op after synchronize_rcu + + -- Thadeu Lima de Souza Cascardo Wed, 16 Jun 2021 20:11:21 -0300 + +linux (5.8.0-57.64) groovy; urgency=medium + + * groovy/linux: 5.8.0-57.64 -proposed tracker (LP: #1932047) + + * pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63 + (LP: #1931731) + - net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb + + -- Kleber Sacilotto de Souza Tue, 15 Jun 2021 17:58:39 +0200 + +linux (5.8.0-56.63) groovy; urgency=medium + + * groovy/linux: 5.8.0-56.63 -proposed tracker (LP: #1930052) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * scsi: storvsc: Parameterize number hardware queues (LP: #1930626) + - scsi: storvsc: Parameterize number hardware queues + + * CVE-2021-33200 + - bpf: Wrap aux data inside bpf_sanitize_info container + - bpf: Fix mask direction swap upon off reg sign change + - bpf: No need to simulate speculative domain for immediates + + * CVE-2021-3490 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: verifier: fix ALU32 bounds tracking with + bitwise ops" + - gpf: Fix alu32 const subreg bound tracking on bitwise operations + + * CVE-2021-3489 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: prevent writable memory-mapping of read- + only ringbuf pages" + - bpf: Prevent writable memory-mapping of read-only ringbuf pages + + * Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle + (LP: #1928242) + - USB: Verify the port status when timeout happens during port suspend + + * CVE-2020-26145 + - ath10k: drop fragments with multicast DA for SDIO + - ath10k: add CCMP PN replay protection for fragmented frames for PCIe + - ath10k: drop fragments with multicast DA for PCIe + + * CVE-2020-26141 + - ath10k: Fix TKIP Michael MIC verification for PCIe + + * CVE-2020-24587 + - ath11k: Clear the fragment cache during key install + + * CVE-2020-24588 + - mac80211: properly handle A-MSDUs that start with an RFC 1042 header + - cfg80211: mitigate A-MSDU aggregation attacks + - mac80211: drop A-MSDUs on old ciphers + - ath10k: drop MPDU which has discard flag set by firmware for SDIO + + * CVE-2020-26139 + - mac80211: do not accept/forward invalid EAPOL frames + + * CVE-2020-24586 // CVE-2020-24587 // CVE-2020-24587 for such cases. + - mac80211: extend protection against mixed key and fragment cache attacks + + * CVE-2020-24586 // CVE-2020-24587 + - mac80211: prevent mixed key and fragment cache attacks + - mac80211: add fragment cache to sta_info + - mac80211: check defrag PN against current frame + - mac80211: prevent attacks on TKIP/WEP as well + + * CVE-2020-26147 + - mac80211: assure all fragments are encrypted + + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull the code that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: remove unnecessary discard limits for raid0 and raid10 + + * [SRU] mpt3sas: only one vSES is handy even IOC has multi vSES (LP: #1926517) + - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES + + * CVE-2021-23133 + - sctp: delay auto_asconf init until binding the first addr + + * kvm: properly tear down PV features on hibernate (LP: #1920944) + - x86/kvm: Fix pr_info() for async PF setup/teardown + - x86/kvm: Teardown PV features on boot CPU as well + - x86/kvm: Disable kvmclock on all CPUs on shutdown + - x86/kvm: Disable all PV features on crash + - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() + + * CVE-2021-31440 + - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds + + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + + * [SRU] Patch for flicker and glitching on common LCD display panels, intel + framebuffer (LP: #1925685) + - drm/i915: Try to use fast+narrow link on eDP again and fall back to the old + max strategy on failure + - drm/i915/dp: Use slow and wide link training for everything + + * pmtu.sh from net in ubuntu_kernel_selftests failed with no error message + (LP: #1887661) + - selftests: pmtu.sh: use $ksft_skip for skipped return code + + * IR Remote Keys Repeat Many Times Starting with Kernel 5.8.0-49 + (LP: #1926030) + - SAUCE: Revert "media: rc: ite-cir: fix min_timeout calculation" + - SAUCE: Revert "media: rc: fix timeout handling after switch to microsecond + durations" + + * Groovy update: upstream stable patchset 2021-05-20 (LP: #1929132) + - Input: nspire-keypad - enable interrupts only when opened + - gpio: sysfs: Obey valid_mask + - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback + - dmaengine: idxd: fix delta_rec and crc size field for completion record + - dmaengine: idxd: fix opcap sysfs attribute output + - dmaengine: idxd: fix wq size store permission state + - dmaengine: dw: Make it dependent to HAS_IOMEM + - dmaengine: Fix a double free in dma_async_device_register + - dmaengine: plx_dma: add a missing put_device() on error path + - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() + - ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race + - ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 + - lockdep: Add a missing initialization hint to the "INFO: Trying to register + non-static key" message + - arc: kernel: Return -EFAULT if copy_to_user() fails + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() + - xfrm: BEET mode doesn't support fragments for inner packets + - ASoC: max98373: Added 30ms turn on/off time delay + - gpu/xen: Fix a use after free in xen_drm_drv_init + - neighbour: Disregard DEAD dst in neigh_update + - ARM: keystone: fix integer overflow warning + - ARM: omap1: fix building with clang IAS + - drm/msm: Fix a5xx/a6xx timestamps + - ASoC: fsl_esai: Fix TDM slot setup for I2S mode + - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state + - iwlwifi: add support for Qu with AX201 device + - net: ieee802154: stop dump llsec keys for monitors + - net: ieee802154: forbid monitor for add llsec key + - net: ieee802154: forbid monitor for del llsec key + - net: ieee802154: stop dump llsec devs for monitors + - net: ieee802154: forbid monitor for add llsec dev + - net: ieee802154: forbid monitor for del llsec dev + - net: ieee802154: stop dump llsec devkeys for monitors + - net: ieee802154: forbid monitor for add llsec devkey + - net: ieee802154: forbid monitor for del llsec devkey + - net: ieee802154: stop dump llsec seclevels for monitors + - net: ieee802154: forbid monitor for add llsec seclevel + - pcnet32: Use pci_resource_len to validate PCI resource + - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN + - virt_wifi: Return micros for BSS TSF values + - lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS + - Input: s6sy761 - fix coordinate read bit shift + - Input: i8042 - fix Pegatron C15B ID entry + - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices + - dm verity fec: fix misaligned RS roots IO + - readdir: make sure to verify directory entry for legacy interfaces too + - arm64: fix inline asm in load_unaligned_zeropad() + - arm64: alternatives: Move length validation in alternative_{insn, endif} + - vfio/pci: Add missing range check in vfio_pci_mmap + - riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" + - scsi: libsas: Reset num_scatter if libata marks qc as NODATA + - netfilter: flowtable: fix NAT IPv6 offload mangling + - netfilter: conntrack: do not print icmpv6 as unknown via /proc + - ice: Fix potential infinite loop when using u8 loop counter + - libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC + - netfilter: bridge: add pre_exit hooks for ebtable unregistration + - netfilter: arp_tables: add pre_exit hook for table unregister + - net: macb: fix the restore of cmp registers + - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta + - netfilter: nft_limit: avoid possible divide error in nft_limit_init + - net/mlx5e: Fix setting of RS FEC mode + - net: davicom: Fix regulator not turned off on failed probe + - net: sit: Unregister catch-all devices + - net: ip6_tunnel: Unregister catch-all devices + - mm: ptdump: fix build failure + - net: Make tcp_allowed_congestion_control readonly in non-init netns + - i40e: fix the panic when running bpf in xdpdrv mode + - ia64: remove duplicate entries in generic_defconfig + - ia64: tools: remove inclusion of ia64-specific version of errno.h header + - ibmvnic: avoid calling napi_disable() twice + - ibmvnic: remove duplicate napi_schedule call in do_reset function + - ibmvnic: remove duplicate napi_schedule call in open function + - gro: ensure frag0 meets IP header alignment + - ARM: OMAP2+: Fix warning for omap_init_time_of() + - ARM: footbridge: fix PCI interrupt mapping + - ARM: OMAP2+: Fix uninitialized sr_inst + - arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems + - arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference + - bpf: Use correct permission flag for mixed signed bounds arithmetic + - r8169: tweak max read request size for newer chips also in jumbo mtu mode + - r8169: don't advertise pause in jumbo mode + - bpf: Ensure off_reg has no mixed signed bounds for all types + - bpf: Move off_reg into sanitize_ptr_alu + - ARM: 9071/1: uprobes: Don't hook on thumb instructions + - bpf: Rework ptr_limit into alu_limit and add common error path + - bpf: Improve verifier error messages for users + - bpf: Move sanitize_val_alu out of op switch + - net: phy: marvell: fix detection of PHY on Topaz switches + - vhost-vdpa: protect concurrent access to vhost device iotlb + - gpio: omap: Save and restore sysconfig + - KEYS: trusted: Fix TPM reservation for seal/unseal + - pinctrl: lewisburg: Update number of pins in community + - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS + - bpf: Permits pointers on stack for helper calls + - bpf: Refactor and streamline bounds check into helper + - bpf: Tighten speculative pointer arithmetic mask + - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 + - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] + - perf auxtrace: Fix potential NULL pointer dereference + - perf map: Fix error return code in maps__clone() + - HID: google: add don USB id + - HID: alps: fix error return code in alps_input_configured() + - HID: wacom: Assign boolean values to a bool variable + - ARM: dts: Fix swapped mmc order for omap3 + - net: geneve: check skb is large enough for IPv4/IPv6 header + - dmaengine: tegra20: Fix runtime PM imbalance on error + - s390/entry: save the caller of psw_idle + - arm64: kprobes: Restore local irqflag if kprobes is cancelled + - xen-netback: Check for hotplug-status existence before watching + - cavium/liquidio: Fix duplicate argument + - kasan: fix hwasan build for gcc + - csky: change a Kconfig symbol name to fix e1000 build error + - ia64: fix discontig.c section mismatches + - ia64: tools: remove duplicate definition of ia64_mf() on ia64 + - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access + - 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() + - mei: me: add Alder Lake P device id. + - bpf: Update selftests to reflect new error states + - mips: Do not include hi and lo in clobber list for R6 + - netfilter: conntrack: Make global sysctls readonly in non-init netns + - net: usb: ax88179_178a: initialize local variables before use + - igb: Enable RSS for Intel I211 Ethernet Controller + - bpf: Fix masking negation logic upon negative dst register + - bpf: Fix leakage of uninitialized bpf stack under speculation + - net: qrtr: Avoid potential use after free in MHI send + - perf data: Fix error return code in perf_data__create_dir() + - capabilities: require CAP_SETFCAP to map uid 0 + - perf ftrace: Fix access to pid in array when setting a pid filter + - driver core: add a min_align_mask field to struct device_dma_parameters + - swiotlb: add a IO_TLB_SIZE define + - swiotlb: factor out an io_tlb_offset helper + - swiotlb: factor out a nr_slots helper + - swiotlb: clean up swiotlb_tbl_unmap_single + - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single + - ovl: fix leaked dentry + - ovl: allow upperdir inside lowerdir + - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX + - USB: Add reset-resume quirk for WD19's Realtek Hub + - platform/x86: thinkpad_acpi: Correct thermal sensor allocation + - perf/core: Fix unconditional security_locked_down() call + - vfio: Depend on MMU + - avoid __memcat_p link failure + + * r8152 tx status -71 (LP: #1922651) // Groovy update: upstream stable + patchset 2021-05-20 (LP: #1929132) + - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet + + * Fix kdump failures (LP: #1927518) + - video: hyperv_fb: Add ratelimit on error message + - Drivers: hv: vmbus: Increase wait time for VMbus unload + - Drivers: hv: vmbus: Initialize unload_event statically + + * Groovy update: upstream stable patchset 2021-05-13 (LP: #1928386) + - ALSA: aloop: Fix initialization of controls + - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 + - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model + - ASoC: intel: atom: Stop advertising non working S24LE support + - nfc: fix refcount leak in llcp_sock_bind() + - nfc: fix refcount leak in llcp_sock_connect() + - nfc: fix memory leak in llcp_sock_connect() + - nfc: Avoid endless loops caused by repeated llcp_sock_connect() + - selinux: make nslot handling in avtab more robust + - xen/evtchn: Change irq_info lock to raw_spinlock_t + - net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh + - net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock + - net: dsa: lantiq_gswip: Don't use PHY auto polling + - net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits + - drm/i915: Fix invalid access to ACPI _DSM objects + - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m + - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS + - LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late + - gcov: re-fix clang-11+ support + - ia64: fix user_stack_pointer() for ptrace() + - nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff + - ocfs2: fix deadlock between setattr and dio_end_io_write + - fs: direct-io: fix missing sdio->boundary + - ethtool: fix incorrect datatype in set_eee ops + - of: property: fw_devlink: do not link ".*,nr-gpios" + - parisc: parisc-agp requires SBA IOMMU driver + - parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers + - ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin + - batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field + - ice: Increase control queue timeout + - ice: prevent ice_open and ice_stop during reset + - ice: remove DCBNL_DEVRESET bit from PF state + - ice: Fix for dereference of NULL pointer + - ice: Cleanup fltr list in case of allocation issues + - iwlwifi: pcie: properly set LTR workarounds on 22000 devices + - net: hso: fix null-ptr-deref during tty device unregistration + - libbpf: Fix bail out from 'ringbuf_process_ring()' on error + - bpf: Enforce that struct_ops programs be GPL-only + - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET + - ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx + - libbpf: Only create rx and tx XDP rings when necessary + - bpf, sockmap: Fix sk->prot unhash op reset + - net: ensure mac header is set in virtio_net_hdr_to_skb() + - i40e: Fix sparse warning: missing error code 'err' + - i40e: Fix sparse error: 'vsi->netdev' could be null + - i40e: Fix sparse errors in i40e_txrx.c + - net: sched: sch_teql: fix null-pointer dereference + - net: sched: fix action overwrite reference counting + - mac80211: fix TXQ AC confusion + - net: hsr: Reset MAC header for Tx path + - net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() + - net: let skb_orphan_partial wake-up waiters. + - usbip: add sysfs_lock to synchronize sysfs code paths + - usbip: stub-dev synchronize sysfs code paths + - usbip: vudc synchronize sysfs code paths + - usbip: synchronize event handler with sysfs code paths + - driver core: Fix locking bug in deferred_probe_timeout_work_func() + - scsi: target: iscsi: Fix zero tag inside a trace event + - i2c: turn recovery error on init to debug + - ice: Refactor DCB related variables out of the ice_port_info struct + - ice: Recognize 860 as iSCSI port in CEE mode + - xfrm: interface: fix ipv4 pmtu check to honor ip header df + - xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume + - regulator: bd9571mwv: Fix AVS and DVFS voltage range + - ARM: OMAP4: Fix PMIC voltage domains for bionic + - ARM: OMAP4: PM: update ROM return address for OSWR and OFF + - net: xfrm: Localize sequence counter per network namespace + - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload + - ASoC: SOF: Intel: HDA: fix core status verification + - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips + - xfrm: Fix NULL pointer dereference on policy lookup + - virtchnl: Fix layout of RSS structures + - i40e: Added Asym_Pause to supported link modes + - i40e: Fix kernel oops when i40e driver removes VF's + - hostfs: fix memory handling in follow_link() + - amd-xgbe: Update DMA coherency values + - sch_red: fix off-by-one checks in red_check_params() + - arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 + - xfrm: Provide private skb extensions for segmented and hw offloaded ESP + packets + - can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE + - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation + - ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso + - gianfar: Handle error code at MAC address change + - cxgb4: avoid collecting SGE_QBASE regs during traffic + - net:tipc: Fix a double free in tipc_sk_mcast_rcv + - ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces + - net/ncsi: Avoid channel_monitor hrtimer deadlock + - net: qrtr: Fix memory leak on qrtr_tx_wait failure + - nfp: flower: ignore duplicate merge hints from FW + - net: phy: broadcom: Only advertise EEE for supported modes + - I2C: JZ4780: Fix bug for Ingenic X1000. + - ASoC: sunxi: sun4i-codec: fill ASoC card owner + - net/mlx5e: Fix ethtool indication of connector type + - net/mlx5: Don't request more than supported EQs + - net/rds: Fix a use after free in rds_message_map_pages + - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model + - soc/fsl: qbman: fix conflicting alignment attributes + - i40e: Fix display statistics for veb_tc + - RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session + files + - drm/msm: Set drvdata to NULL when msm_drm_init() fails + - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); + - mptcp: forbit mcast-related sockopt on MPTCP sockets + - scsi: ufs: core: Fix task management request completion timeout + - scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs + - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb + - net: macb: restore cmp registers on resume path + - clk: fix invalid usage of list cursor in register + - clk: fix invalid usage of list cursor in unregister + - workqueue: Move the position of debug_work_activate() in __queue_work() + - s390/cpcmd: fix inline assembly register clobbering + - perf inject: Fix repipe usage + - net: openvswitch: conntrack: simplify the return expression of + ovs_ct_limit_get_default_limit() + - openvswitch: fix send of uninitialized stack memory in ct limit reply + - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set + - tipc: increment the tmp aead refcnt before attaching it + - net: hns3: clear VF down state bit before request link status + - net/mlx5: Fix placement of log_max_flow_counter + - net/mlx5: Fix PPLM register mapping + - net/mlx5: Fix PBMC register mapping + - RDMA/cxgb4: check for ipv6 address properly while destroying listener + - perf report: Fix wrong LBR block sorting + - i40e: Fix parameters in aq_get_phy_register() + - RDMA/addr: Be strict with gid size + - RAS/CEC: Correct ce_add_elem()'s returned values + - clk: socfpga: fix iomem pointer cast on 64-bit + - lockdep: Address clang -Wformat warning printing for %hd + - dt-bindings: net: ethernet-controller: fix typo in NVMEM + - cfg80211: remove WARN_ON() in cfg80211_sme_connect + - net: tun: set tun->dev->addr_len during TUNSETLINK processing + - drivers: net: fix memory leak in atusb_probe + - drivers: net: fix memory leak in peak_usb_create_dev + - net: mac802154: Fix general protection fault + - net: ieee802154: nl-mac: fix check on panid + - net: ieee802154: fix nl802154 del llsec key + - net: ieee802154: fix nl802154 del llsec dev + - net: ieee802154: fix nl802154 add llsec key + - net: ieee802154: fix nl802154 del llsec devkey + - net: ieee802154: forbid monitor for set llsec params + - net: ieee802154: forbid monitor for del llsec seclevel + - net: ieee802154: stop dump llsec params for monitors + - interconnect: core: fix error return code of icc_link_destroy() + - gfs2: Flag a withdraw if init_threads() fails + - KVM: arm64: Hide system instruction access to Trace registers + - KVM: arm64: Disable guest access to trace filter controls + - drm/imx: imx-ldb: fix out of bounds array access warning + - gfs2: report "already frozen/thawed" errors + - ftrace: Check if pages were allocated before calling free_pages() + - tools/kvm_stat: Add restart delay + - drm/tegra: dc: Don't set PLL clock to 0Hz + - gpu: host1x: Use different lock classes for each client + - block: only update parent bi_status when bio fail + - radix tree test suite: Register the main thread with the RCU library + - idr test suite: Take RCU read lock in idr_find_test_1 + - idr test suite: Create anchor before launching throbber + - io_uring: don't mark S_ISBLK async work as unbounded + - riscv,entry: fix misaligned base for excp_vect_table + - block: don't ignore REQ_NOWAIT for direct IO + - perf map: Tighten snprintf() string precision to pass gcc check on some + 32-bit arches + - net: sfp: relax bitrate-derived mode check + - net: sfp: cope with SFPs that set both LOS normal and LOS inverted + - xen/events: fix setting irq affinity + - perf tools: Use %zd for size_t printf formats on 32-bit + + -- Kleber Sacilotto de Souza Fri, 04 Jun 2021 11:58:36 +0200 + +linux (5.8.0-55.62) groovy; urgency=medium + + * groovy/linux: 5.8.0-55.62 -proposed tracker (LP: #1930379) + + * [Potential Regression] Unable to create KVM with uvtool on Groovy ARM64 + (LP: #1929925) + - SAUCE: KVM: arm64: Assign kvm_ipa_limit + + -- Stefan Bader Tue, 01 Jun 2021 09:57:09 +0200 + +linux (5.8.0-54.61) groovy; urgency=medium + + * groovy/linux: 5.8.0-54.61 -proposed tracker (LP: #1927592) + + * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq + (LP: #1925522) + - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460 + + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + + * netfilter: x_tables: fix compat match/target pad out-of-bound write + (LP: #1927682) + - netfilter: x_tables: fix compat match/target pad out-of-bound write + + * Groovy update: upstream stable patchset 2021-05-04 (LP: #1927150) + - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb + - net: fec: ptp: avoid register access when ipg clock is disabled + - powerpc/4xx: Fix build errors from mfdcr() + - atm: eni: dont release is never initialized + - atm: lanai: dont run lanai_dev_close if not open + - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" + - ALSA: hda: ignore invalid NHLT table + - ixgbe: Fix memleak in ixgbe_configure_clsu32 + - scsi: ufs: ufs-qcom: Disable interrupt in reset path + - blk-cgroup: Fix the recursive blkg rwstat + - net: tehuti: fix error return code in bdx_probe() + - net: intel: iavf: fix error return code of iavf_init_get_resources() + - sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count + - cifs: ask for more credit on async read/write code paths + - gfs2: fix use-after-free in trans_drain + - cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev + - gpiolib: acpi: Add missing IRQF_ONESHOT + - nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default + - NFS: Correct size calculation for create reply length + - net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() + - net: wan: fix error return code of uhdlc_init() + - net: davicom: Use platform_get_irq_optional() + - net: enetc: set MAC RX FIFO to recommended value + - atm: uPD98402: fix incorrect allocation + - atm: idt77252: fix null-ptr-dereference + - cifs: change noisy error message to FYI + - irqchip/ingenic: Add support for the JZ4760 + - kbuild: add image_name to no-sync-config-targets + - kbuild: dummy-tools: fix inverted tests for gcc + - umem: fix error return code in mm_pci_probe() + - sparc64: Fix opcode filtering in handling of no fault loads + - habanalabs: Call put_pid() when releasing control device + - staging: rtl8192e: fix kconfig dependency on CRYPTO + - u64_stats,lockdep: Fix u64_stats_init() vs lockdep + - regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck + - block: Fix REQ_OP_ZONE_RESET_ALL handling + - drm/amd/display: Revert dram_clock_change_latency for DCN2.1 + - drm/amdgpu: fb BO should be ttm_bo_type_device + - drm/radeon: fix AGP dependency + - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() + - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() + - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted + - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done + - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a + - nfs: we don't support removing system.nfs4_acl + - block: Suppress uevent for hidden device when removed + - ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls + - ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign + - netsec: restore phy power state after controller reset + - platform/x86: intel-vbtn: Stop reporting SW_DOCK events + - psample: Fix user API breakage + - z3fold: prevent reclaim/free race for headless pages + - squashfs: fix inode lookup sanity checks + - squashfs: fix xattr id and id lookup sanity checks + - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings + - kasan: fix per-page tags for non-page_alloc pages + - gcov: fix clang-11+ support + - ACPI: video: Add missing callback back for Sony VPCEH3U1E + - ACPICA: Always create namespace nodes using acpi_ns_create_node() + - arm64: dts: ls1046a: mark crypto engine dma coherent + - arm64: dts: ls1012a: mark crypto engine dma coherent + - arm64: dts: ls1043a: mark crypto engine dma coherent + - ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C + - ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet + - ARM: dts: at91-sama5d27_som1: fix phy address to 7 + - integrity: double check iint_cache was initialized + - drm/amd/pm: workaround for audio noise issue + - drm/i915: Fix the GT fence revocation runtime PM logic + - dm verity: fix DM_VERITY_OPTS_MAX value + - dm ioctl: fix out of bounds array access when no devices + - bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD + - ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data + - soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva + - veth: Store queue_mapping independently of XDP prog presence + - libbpf: Fix INSTALL flag order + - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets + - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs + - net/mlx5e: Don't match on Geneve options in case option masks are all zero + - ipv6: fix suspecious RCU usage warning + - macvlan: macvlan_count_rx() needs to be aware of preemption + - net: sched: validate stab values + - net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port + - igc: reinit_locked() should be called with rtnl_lock + - igc: Fix Pause Frame Advertising + - igc: Fix Supported Pause Frame Link Setting + - igc: Fix igc_ptp_rx_pktstamp() + - e1000e: add rtnl_lock() to e1000_reset_task + - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 + - net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template + - net: phy: broadcom: Add power down exit reset state delay + - ftgmac100: Restart MAC HW once + - clk: qcom: gcc-sc7180: Use floor ops for the correct sdcc1 clk + - net: ipa: terminate message handler arrays + - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() + - flow_dissector: fix byteorder of dissected ICMP ID + - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed + - netfilter: ctnetlink: fix dump of the expect mask attribute + - net: hdlc_x25: Prevent racing between "x25_close" and "x25_xmit"/"x25_rx" + - tcp: relookup sock for RST+ACK packets handled by obsolete req sock + - can: peak_usb: add forgotten supported devices + - can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate + - can: kvaser_pciefd: Always disable bus load reporting + - can: c_can_pci: c_can_pci_remove(): fix use-after-free + - can: c_can: move runtime PM enable/disable to c_can_platform + - can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning + - can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors + - mac80211: fix rate mask reset + - mac80211: Allow HE operation to be longer than expected. + - selftests/net: fix warnings on reuseaddr_ports_exhausted + - nfp: flower: add ipv6 bit to pre_tunnel control message + - nfp: flower: fix pre_tun mask id allocation + - ftrace: Fix modify_ftrace_direct. + - ionic: linearize tso skb with too many frags + - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags + - netfilter: nftables: allow to update flowtable flags + - netfilter: flowtable: Make sure GC works periodically in idle system + - libbpf: Use SOCK_CLOEXEC when opening the netlink socket + - ipv6: weaken the v4mapped source check + - octeontx2-af: Formatting debugfs entry rsrc_alloc. + - octeontx2-af: Fix irq free in rvu teardown + - octeontx2-pf: Clear RSS enable flag on interace down + - octeontx2-af: fix infinite loop in unmapping NPC counter + - net: check all name nodes in __dev_alloc_name + - net: cdc-phonet: fix data-interface release on probe failure + - r8152: limit the RX buffer size of RTL8153A for USB 2.0 + - net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes + - selinux: vsock: Set SID for socket returned by accept() + - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value + - libbpf: Fix BTF dump of pointer-to-array-of-struct + - drm/msm: fix shutdown hook in case GPU components failed to bind + - arm64: kdump: update ppos when reading elfcorehdr + - PM: runtime: Defer suspending suppliers + - net/mlx5: Add back multicast stats for uplink representor + - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP + - net/mlx5e: Fix error path for ethtool set-priv-flag + - PM: EM: postpone creating the debugfs dir till fs_initcall + - net: bridge: don't notify switchdev for local FDB addresses + - octeontx2-af: Fix memory leak of object buf + - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening + server + - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs + - net: Consolidate common blackhole dst ops + - net, bpf: Fix ip6ip6 crash with collect_md populated skbs + - net: phy: introduce phydev->port + - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() + - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S + - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M + - dm table: Fix zoned model check and zone sectors check + - mm/mmu_notifiers: ensure range_end() is paired with range_start() + - ACPI: scan: Rearrange memory allocation in acpi_device_add() + - ACPI: scan: Use unique number for instance_no + - perf auxtrace: Fix auxtrace queue conflict + - perf synthetic events: Avoid write of uninitialized memory when generating + PERF_RECORD_MMAP* records + - block: recalculate segment count for multi-segment discards correctly + - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" + - scsi: qedi: Fix error return code of qedi_alloc_global_queues() + - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() + - smb3: fix cached file size problems in duplicate extents (reflink) + - locking/mutex: Fix non debug version of mutex_lock_io_nested() + - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() + - can: dev: Move device back to init netns on owning netns delete + - net: dsa: b53: VLAN filtering is global to all users + - mac80211: fix double free in ibss_leave + - ext4: add reclaim checks to xattr code + - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" + - xen-blkback: don't leak persistent grants from xen_blkbk_map() + - arm64: mm: correct the inside linear map range during hotplug check + - ext4: shrink race window in ext4_should_retry_alloc() + - ext4: fix bh ref count on error paths + - fs: nfsd: fix kconfig dependency warning for NFSD_V4 + - rpc: fix NULL dereference on kmalloc failure + - iomap: Fix negative assignment to unsigned sis->pages in + iomap_swapfile_activate + - ASoC: rt1015: fix i2c communication error + - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe + - ASoC: es8316: Simplify adc_pga_gain_tlv table + - ASoC: soc-core: Prevent warning if no DMI table is present + - ASoC: cs42l42: Fix Bitclock polarity inversion + - ASoC: cs42l42: Fix channel width support + - ASoC: cs42l42: Fix mixer volume control + - ASoC: cs42l42: Always wait at least 3ms after reset + - NFSD: fix error handling in NFSv4.0 callbacks + - kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing + - vhost: Fix vhost_vq_reset() + - io_uring: fix ->flags races by linked timeouts + - scsi: st: Fix a use after free in st_open() + - scsi: qla2xxx: Fix broken #endif placement + - staging: comedi: cb_pcidas: fix request_irq() warn + - staging: comedi: cb_pcidas64: fix request_irq() warn + - ASoC: rt5659: Update MCLK rate in set_sysclk() + - ASoC: rt711: add snd_soc_component remove callback + - thermal/core: Add NULL pointer check before using cooling device stats + - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling + - locking/ww_mutex: Fix acquire/release imbalance in + ww_acquire_init()/ww_acquire_fini() + - nvmet-tcp: fix kmap leak when data digest in use + - ext4: do not iput inode under running transaction in ext4_rename() + - net: mvpp2: fix interrupt mask/unmask skip condition + - flow_dissector: fix TTL and TOS dissection on IPv4 fragments + - can: dev: move driver related infrastructure into separate subdir + - net: introduce CAN specific pointer in the struct net_device + - can: tcan4x5x: fix max register value + - brcmfmac: clear EAP/association status bits on linkdown events + - netdevsim: dev: Initialize FIB module after debugfs + - iwlwifi: pcie: don't disable interrupts for reg_lock + - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() + - net: ethernet: aquantia: Handle error cleanup of start on open + - appletalk: Fix skb allocation size in loopback case + - net: ipa: remove two unused register definitions + - net: ipa: fix register write command validation + - net: wan/lmc: unregister device when no matching device is found + - net: 9p: advance iov on empty read + - bpf: Remove MTU check in __bpf_skb_max_len + - ACPI: tables: x86: Reserve memory occupied by ACPI tables + - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() + - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect + - ALSA: hda: Re-add dropped snd_poewr_change_state() calls + - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks + - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 + - xtensa: fix uaccess-related livelock in do_page_fault + - xtensa: move coprocessor_flush to the .text section + - PM: runtime: Fix race getting/putting suppliers at probe + - PM: runtime: Fix ordering in pm_runtime_get_suppliers() + - tracing: Fix stack trace event size + - mm: fix race by making init_zero_pfn() early_initcall + - drm/amdkfd: dqm fence memory corruption + - drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() + - drm/amdgpu: check alignment on CPU page for bo map + - reiserfs: update reiserfs_xattrs_initialized() condition + - drm/tegra: dc: Restore coupling of display controllers + - drm/tegra: sor: Grab runtime PM reference across reset + - vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends + - pinctrl: rockchip: fix restore error in resume + - extcon: Add stubs for extcon_register_notifier_all() functions + - extcon: Fix error handling in extcon_dev_register + - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield + - video: hyperv_fb: Fix a double free in hvfb_probe + - firewire: nosy: Fix a use-after-free bug in nosy_ioctl() + - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() + - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem + - usb: musb: Fix suspend with devices connected for a64 + - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI + - cdc-acm: fix BREAK rx code path adding necessary calls + - USB: cdc-acm: untangle a circular dependency between callback and softint + - USB: cdc-acm: downgrade message to debug + - USB: cdc-acm: fix double free on probe failure + - USB: cdc-acm: fix use-after-free after probe failure + - usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference + - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. + - usb: dwc2: Prevent core suspend when port connection flag is 0 + - staging: rtl8192e: Fix incorrect source in memcpy() + - staging: rtl8192e: Change state information from u16 to u8 + - drivers: video: fbcon: fix NULL dereference in fbcon_cursor() + - Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for + freezing" + - ARM: dts: am33xx: add aliases for mmc interfaces + - bus: ti-sysc: Fix warning on unbind if reset is not deasserted + - platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 + - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp + - net/mlx5e: Enforce minimum value check for ICOSQ size + - net: pxa168_eth: Fix a potential data race in pxa168_eth_remove + - kunit: tool: Fix a python tuple typing error + - mISDN: fix crash in fritzpci + - mac80211: Check crypto_aead_encrypt for errors + - mac80211: choose first enabled channel for monitor + - drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs + - drm/msm: Ratelimit invalid-fence message + - netfilter: conntrack: Fix gre tunneling over ipv6 + - netfilter: nftables: skip hook overlap logic if flowtable is stale + - net: ipa: fix init header command validation + - platform/x86: thinkpad_acpi: Allow the FnLock LED to change state + - x86/build: Turn off -fcf-protection for realmode targets + - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms + - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() + - selftests/vm: fix out-of-tree build + - ia64: mca: allocate early mca with GFP_ATOMIC + - ia64: fix format strings for err_inject + - cifs: revalidate mapping when we open files for SMB1 POSIX + - cifs: Silently ignore unknown oplock break handle + - init/Kconfig: make COMPILE_TEST depend on !S390 + - init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM + - nvme-mpath: replace direct_make_request with generic_make_request + + * Enable CIFS GCM256 (LP: #1921916) + - smb3: add defines for new crypto algorithms + - smb3.1.1: add new module load parm require_gcm_256 + - smb3.1.1: add new module load parm enable_gcm_256 + - smb3.1.1: print warning if server does not support requested encryption type + - smb3.1.1: rename nonces used for GCM and CCM encryption + - smb3.1.1: set gcm256 when requested + - cifs: Adjust key sizes and key generation routines for AES256 encryption + + * locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (LP: #1926184) + - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() + + * Make AMD gpus choose YCbCr420 encoding automatically when required for 4k + 60Hz output (LP: #1922754) + - drm/amd/display: Try YCbCr420 color when YCbCr444 fails + + * [Ubuntu 21.04] net/mlx5: Fix HW spec violation configuring uplink + (LP: #1925452) + - net/mlx5: Fix HW spec violation configuring uplink + + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - crypto: aesni - Use TEST %reg,%reg instead of CMP $0,%reg + - crypto: x86/aes-ni-xts - use direct calls to and 4-way stride + - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes + - fuse: fix live lock in fuse_iget() + - ALSA: usb-audio: Don't avoid stopping the stream at disconnection + - net: dsa: b53: Support setting learning on port + - KVM: arm64: nvhe: Save the SPE context early + - drm/i915/gvt: Set SNOOP for PAT3 on BXT/APL to workaround GPU BB hang + - drm/i915/gvt: Fix mmio handler break on BXT/APL. + - drm/i915/gvt: Fix virtual display setup for BXT/APL + - drm/i915/gvt: Fix vfio_edid issue for BXT/APL + - ASoC: ak4458: Add MODULE_DEVICE_TABLE + - ASoC: ak5558: Add MODULE_DEVICE_TABLE + - ALSA: dice: fix null pointer dereference when node is disconnected + - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro + - ALSA: hda: generic: Fix the micmute led init state + - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air + - s390/pci: refactor zpci_create_device() + - s390/pci: remove superfluous zdev->zbus check + - s390/pci: fix leak of PCI device structure + - zonefs: Fix O_APPEND async write handling + - zonefs: prevent use of seq files as swap file + - btrfs: fix race when cloning extent buffer during rewind of an old root + - btrfs: fix slab cache flags for free space tree bitmap + - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails + - ASoC: fsl_ssi: Fix TDM slot setup for I2S mode + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold + - ASoC: SOF: Intel: unregister DMIC device on probe error + - ASoC: SOF: intel: fix wrong poll bits in dsp power down + - ASoC: qcom: sdm845: Fix array out of bounds access + - ASoC: qcom: sdm845: Fix array out of range on rx slim channels + - ASoC: codecs: wcd934x: add a sanity check in set channel map + - ASoC: qcom: lpass-cpu: Fix lpass dai ids parse + - ASoC: simple-card-utils: Do not handle device clock + - afs: Fix accessing YFS xattrs on a non-YFS server + - afs: Stop listxattr() from listing "afs.*" attributes + - nvme: fix Write Zeroes limitations + - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled + - nvme-tcp: fix possible hang when failing to set io queues + - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU + - nvmet: don't check iosqes,iocqes for discovery controllers + - nfsd: Don't keep looking up unhashed files in the nfsd file cache + - nfsd: don't abort copies early + - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. + - NFSD: fix dest to src mount in inter-server COPY + - svcrdma: disable timeouts on rdma backchannel + - vfio: IOMMU_API should be selected + - sunrpc: fix refcount leak for rpc auth modules + - i915/perf: Start hrtimer only if sampling the OA buffer + - pstore: Fix warning in pstore_kill_sb() + - net/qrtr: fix __netdev_alloc_skb call + - kbuild: Fix for empty SUBLEVEL or PATCHLEVEL again + - cifs: fix allocation size on newly created files + - riscv: Correct SPARSEMEM configuration + - scsi: lpfc: Fix some error codes in debugfs + - scsi: myrs: Fix a double free in myrs_cleanup() + - RISC-V: correct enum sbi_ext_rfence_fid + - counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED + - nvme-rdma: fix possible hang when failing to set io queues + - ibmvnic: add some debugs + - ibmvnic: serialize access to work queue on remove + - tty: serial: stm32-usart: Remove set but unused 'cookie' variables + - serial: stm32: fix DMA initialization error handling + - bpf: Declare __bpf_free_used_maps() unconditionally + - RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free + - RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails + - RDMA/rtrs: Introduce rtrs_post_send + - RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug + - module: merge repetitive strings in module_sig_check() + - module: avoid *goto*s in module_sig_check() + - module: harden ELF info handling + - scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition + - RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used + - i40e: Fix endianness conversions + - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 + - MIPS: compressed: fix build with enabled UBSAN + - media: cedrus: h264: Support profile controls + - ibmvnic: remove excessive irqsave + - s390/qeth: integrate RX refill worker with NAPI + - s390/qeth: schedule TX NAPI on QAOB completion + - drm/amd/pm: fulfill the Polaris implementation for + get_clock_by_type_with_latency() + - gfs2: Add common helper for holding and releasing the freeze glock + - gfs2: move freeze glock outside the make_fs_rw and _ro functions + - gfs2: bypass signal_our_withdraw if no journal + - powerpc: Force inlining of cpu_has_feature() to avoid build failure + - usb-storage: Add quirk to defeat Kindle's automatic unload + - usbip: Fix incorrect double assignment to udc->ud.tcp_rx + - usb: gadget: configfs: Fix KASAN use-after-free + - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct + - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- + - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() + - iio:adc:stm32-adc: Add HAS_IOMEM dependency + - iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel + - iio: adis16400: Fix an error code in adis16400_initial_setup() + - iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler + - iio: adc: ab8500-gpadc: Fix off by 10 to 3 + - iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask + - iio: adc: adi-axi-adc: add proper Kconfig dependencies + - iio: hid-sensor-humidity: Fix alignment issue of timestamp channel + - iio: hid-sensor-prox: Fix scale not correct issue + - iio: hid-sensor-temperature: Fix issues of timestamp channel + - counter: stm32-timer-cnt: fix ceiling write max value + - counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register + - PCI: rpadlpar: Fix potential drc_name corruption in store functions + - perf/x86/intel: Fix a crash caused by zero PEBS status + - x86/ioapic: Ignore IRQ2 again + - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() + - x86: Move TS_COMPAT back to asm/thread_info.h + - x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() + - efivars: respect EFI_UNSUPPORTED return from firmware + - ext4: fix error handling in ext4_end_enable_verity() + - ext4: find old entry again if failed to rename whiteout + - ext4: do not try to set xattr into ea_inode if value is empty + - ext4: fix potential error in ext4_do_update_inode + - MAINTAINERS: move some real subsystems off of the staging mailing list + - MAINTAINERS: move the staging subsystem to lists.linux.dev + - efi: use 32-bit alignment for efi_guid_t literals + - firmware/efi: Fix a use after bug in efi_mem_reserve_persistent + - genirq: Disable interrupts for force threaded handlers + - x86/apic/of: Fix CPU devicetree-node lookups + - cifs: Fix preauth hash corruption + - USB: replace hardcode maximum usb string length by definition + + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - uapi: nfnetlink_cthelper.h: fix userspace compilation error + - powerpc/perf: Fix handling of privilege level checks in perf interrupt + context + - powerpc/pseries: Don't enforce MSI affinity with kdump + - crypto: mips/poly1305 - enable for all MIPS processors + - ath9k: fix transmitting to stations in dynamic SMPS mode + - net: Fix gro aggregation for udp encaps with zero csum + - net: check if protocol extracted by virtio_net_hdr_set_proto is correct + - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 + - can: skb: can_skb_set_owner(): fix ref counting if socket was closed before + setting skb ownership + - can: flexcan: assert FRZ bit in flexcan_chip_freeze() + - can: flexcan: enable RX FIFO after FRZ/HALT valid + - can: flexcan: invoke flexcan_chip_freeze() to enter freeze mode + - can: tcan4x5x: tcan4x5x_init(): fix initialization - clear MRAM before + entering Normal Mode + - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) + - tcp: add sanity tests to TCP_QUEUE_SEQ + - netfilter: nf_nat: undo erroneous tcp edemux lookup + - netfilter: x_tables: gpf inside xt_find_revision() + - net: always use icmp{,v6}_ndo_send from ndo_start_xmit + - net: phy: fix save wrong speed and duplex problem if autoneg is on + - selftests/bpf: No need to drop the packet when there is no geneve opt + - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier + - samples, bpf: Add missing munmap in xdpsock + - libbpf: Clear map_info before each bpf_obj_get_info_by_fd + - ibmvnic: always store valid MAC address + - mt76: dma: do not report truncated frames to mac80211 + - powerpc/603: Fix protection of user pages mapped with PROT_NONE + - mount: fix mounting of detached mounts onto targets that reside on shared + mounts + - cifs: return proper error code in statfs(2) + - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" + - sh_eth: fix TRSCER mask for SH771x + - net: enetc: don't overwrite the RSS indirection table when initializing + - net: enetc: take the MDIO lock only once per NAPI poll cycle + - net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets + - net: enetc: don't disable VLAN filtering in IFF_PROMISC mode + - net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr + - net: enetc: keep RX ring consumer index in sync with hardware + - net: ethernet: mtk-star-emac: fix wrong unmap in RX handling + - net/mlx4_en: update moderation when config reset + - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 + - nexthop: Do not flush blackhole nexthops when loopback goes down + - net: sched: avoid duplicates in classes dump + - net: dsa: sja1105: fix SGMII PCS being forced to SPEED_UNKNOWN instead of + SPEED_10 + - net: usb: qmi_wwan: allow qmimux add/del with master up + - netdevsim: init u64 stats for 32bit hardware + - cipso,calipso: resolve a number of problems with the DOI refcounts + - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII + - stmmac: intel: Fixes clock registration error seen for multiple interfaces + - net: lapbether: Remove netif_start_queue / netif_stop_queue + - net: davicom: Fix regulator not turned off on failed probe + - net: davicom: Fix regulator not turned off on driver removal + - net: enetc: allow hardware timestamping on TX queues with tc-etf enabled + - net: qrtr: fix error return code of qrtr_sendmsg() + - s390/qeth: fix memory leak after failed TX Buffer allocation + - r8169: fix r8168fp_adjust_ocp_cmd function + - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA + - perf build: Fix ccache usage in $(CC) when generating arch errno table + - net: stmmac: stop each tx channel independently + - net: stmmac: fix watchdog timeout during suspend/resume stress test + - net: stmmac: fix wrongly set buffer2 valid when sph unsupport + - ethtool: fix the check logic of at least one channel for RX/TX + - selftests: forwarding: Fix race condition in mirror installation + - perf traceevent: Ensure read cmdlines are null terminated. + - perf report: Fix -F for branch & mem modes + - net: hns3: fix query vlan mask value error for flow director + - net: hns3: fix bug when calculating the TCAM table info + - s390/cio: return -EFAULT if copy_to_user() fails again + - bnxt_en: reliably allocate IRQ table on reset to avoid crash + - gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk + - gpiolib: acpi: Allow to find GpioInt() resource by name and index + - gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2 + - gpio: fix gpio-device list corruption + - drm/compat: Clear bounce structures + - drm/amd/display: Add a backlight module option + - drm/amdgpu/display: use GFP_ATOMIC in dcn21_validate_bandwidth_fp() + - drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth() + - drm/amd/pm: bug fix for pcie dpm + - drm/amdgpu/display: simplify backlight setting + - drm/amdgpu/display: don't assert in set backlight function + - drm/amdgpu/display: handle aux backlight in backlight_get_brightness + - drm/shmem-helper: Check for purged buffers in fault handler + - drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff + - drm: Use USB controller's DMA mask when importing dmabufs + - drm: meson_drv add shutdown function + - drm/shmem-helpers: vunmap: Don't put pages for dma-buf + - s390/cio: return -EFAULT if copy_to_user() fails + - s390/crypto: return -EFAULT if copy_to_user() fails + - qxl: Fix uninitialised struct field head.surface_id + - sh_eth: fix TRSCER mask for R7S9210 + - media: usbtv: Fix deadlock on suspend + - media: rkisp1: params: fix wrong bits settings + - media: v4l: vsp1: Fix uif null pointer access + - media: v4l: vsp1: Fix bru null pointer access + - media: rc: compile rc-cec.c into rc-core + - [Packaging] update modules for rc-cec + - cifs: fix credit accounting for extra channel + - net: hns3: fix error mask definition of flow director + - s390/qeth: don't replace a fully completed async TX buffer + - s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state + - s390/qeth: improve completion of pending TX buffers + - s390/qeth: fix notification for pending buffers during teardown + - net: dsa: tag_ksz: don't allocate additional memory for padding/tagging + - net: dsa: trailer: don't allocate additional memory for padding/tagging + - net: dsa: tag_qca: let DSA core deal with TX reallocation + - net: dsa: tag_ocelot: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: let DSA core deal with TX reallocation + - net: dsa: tag_lan9303: let DSA core deal with TX reallocation + - net: dsa: tag_edsa: let DSA core deal with TX reallocation + - net: dsa: tag_brcm: let DSA core deal with TX reallocation + - net: dsa: tag_dsa: let DSA core deal with TX reallocation + - net: dsa: tag_gswip: let DSA core deal with TX reallocation + - net: dsa: tag_ar9331: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: fix 802.1ad VLAN egress + - ath11k: peer delete synchronization with firmware + - i2c: rcar: faster irq code to minimize HW race condition + - i2c: rcar: optimize cacheline to minimize HW race condition + - scsi: ufs: WB is only available on LUN #0 to #7 + - udf: fix silent AED tagLocation corruption + - iommu/vt-d: Clear PRQ overflow only when PRQ is empty + - mmc: mxs-mmc: Fix a resource leak in an error handling path in + 'mxs_mmc_probe()' + - mmc: mediatek: fix race condition between msdc_request_timeout and irq + - mmc: sdhci-iproc: Add ACPI bindings for the RPi + - Platform: OLPC: Fix probe error handling + - powerpc/pci: Add ppc_md.discover_phbs() + - spi: stm32: make spurious and overrun interrupts visible + - powerpc: improve handling of unrecoverable system reset + - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset + - HID: logitech-dj: add support for the new lightspeed connection iteration + - powerpc/64: Fix stack trace not displaying final frame + - iommu/amd: Fix performance counter initialization + - clk: qcom: gdsc: Implement NO_RET_PERIPH flag + - sparc32: Limit memblock allocation to low memory + - sparc64: Use arch_validate_flags() to validate ADI flag + - Input: applespi - don't wait for responses to commands indefinitely. + - PCI: xgene-msi: Fix race in installing chained irq handler + - PCI: mediatek: Add missing of_node_put() to fix reference leak + - drivers/base: build kunit tests without structleak plugin + - PCI/LINK: Remove bandwidth notification + - [Config] updateconfigs for PCIE_BW + - kbuild: clamp SUBLEVEL to 255 + - PCI: Fix pci_register_io_range() memory leak + - i40e: Fix memory leak in i40e_probe + - s390/smp: __smp_rescan_cpus() - move cpumask away from stack + - drivers/base/memory: don't store phys_device in memory blocks + - sysctl.c: fix underflow value setting risk in vm_table + - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling + - scsi: target: core: Add cmd length set before cmd complete + - scsi: target: core: Prevent underflow for service actions + - clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc + - mmc: sdhci: Update firmware interface API + - ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler + - ARM: assembler: introduce adr_l, ldr_l and str_l macros + - ARM: efistub: replace adrl pseudo-op with adr_l macro invocation + - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk + - ALSA: hda/hdmi: Cancel pending works before suspend + - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 + - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support + - ALSA: hda: Drop the BATCH workaround for AMD controllers + - ALSA: hda: Flush pending unsolicited events before suspend + - ALSA: hda: Avoid spurious unsol event handling during S3/S4 + - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar + - ALSA: usb-audio: Apply the control quirk to Plantronics headsets + - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL + - s390/dasd: fix hanging DASD driver unbind + - s390/dasd: fix hanging IO request during DASD driver unbind + - software node: Fix node registration + - xen/events: reset affinity of 2-level event when tearing it down + - mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants + - mmc: core: Fix partition switch time for eMMC + - mmc: cqhci: Fix random crash when remove mmc module/card + - cifs: do not send close in compound create+close requests + - Goodix Fingerprint device is not a modem + - USB: gadget: u_ether: Fix a configfs return code + - usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio + slot + - usb: gadget: f_uac1: stop playback on function disable + - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement + - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot + - usb: dwc3: qcom: add ACPI device id for sc8180x + - usb: dwc3: qcom: Honor wakeup enabled/disabled state + - USB: usblp: fix a hang in poll() if disconnected + - usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM + - usb: xhci: do not perform Soft Retry for some xHCI hosts + - xhci: Improve detection of device initiated wake signal. + - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing + - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake + state + - USB: serial: io_edgeport: fix memory leak in edge_startup + - USB: serial: ch341: add new Product ID + - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter + - USB: serial: cp210x: add some more GE USB IDs + - usbip: fix stub_dev to check for stream socket + - usbip: fix vhci_hcd to check for stream socket + - usbip: fix vudc to check for stream socket + - usbip: fix vhci_hcd attach_store() races leading to gpf + - usbip: fix vudc usbip_sockfd_store races leading to gpf + - misc/pvpanic: Export module FDT device table + - staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan() + - staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan() + - staging: rtl8712: unterminated string leads to read overflow + - staging: rtl8188eu: fix potential memory corruption in + rtw_check_beacon_data() + - staging: ks7010: prevent buffer overflow in ks_wlan_set_scan() + - staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd + - staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan + - staging: comedi: addi_apci_1032: Fix endian problem for COS sample + - staging: comedi: addi_apci_1500: Fix endian problem for command sample + - staging: comedi: adv_pci1710: Fix endian problem for AI command data + - staging: comedi: das6402: Fix endian problem for AI command data + - staging: comedi: das800: Fix endian problem for AI command data + - staging: comedi: dmm32at: Fix endian problem for AI command data + - staging: comedi: me4000: Fix endian problem for AI command data + - staging: comedi: pcl711: Fix endian problem for AI command data + - staging: comedi: pcl818: Fix endian problem for AI command data + - sh_eth: fix TRSCER mask for R7S72100 + - arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory + - SUNRPC: Set memalloc_nofs_save() for sync tasks + - NFS: Don't revalidate the directory permissions on a lookup failure + - NFS: Don't gratuitously clear the inode cache when lookup failed + - NFSv4.2: fix return value of _nfs4_get_security_label() + - block: rsxx: fix error return code of rsxx_pci_probe() + - configfs: fix a use-after-free in __configfs_open_file + - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds + - hrtimer: Update softirq_expires_next correctly after + __hrtimer_get_next_event() + - powerpc/64s/exception: Clean up a missed SRR specifier + - stop_machine: mark helpers __always_inline + - include/linux/sched/mm.h: use rcu_dereference in in_vfork() + - zram: fix return value on writeback_store + - linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* + - sched/membarrier: fix missing local execution of ipi_sync_rq_state() + - efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP + table + - powerpc/64s: Fix instruction encoding for lis in ppc_function_entry() + - powerpc: Fix inverted SET_FULL_REGS bitop + - powerpc: Fix missing declaration of [en/dis]able_kernel_vsx() + - binfmt_misc: fix possible deadlock in bm_register_write + - x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2 + - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged + - KVM: arm64: Reject VM creation when the default IPA size is unsupported + - KVM: arm64: Fix exclusive limit for IPA size + - mm/userfaultfd: fix memory corruption due to writeprotect + - mm/page_alloc.c: refactor initialization of struct page for holes in memory + layout + - xen/events: don't unmask an event channel when an eoi is pending + - xen/events: avoid handling the same event on two cpus at the same time + + * Groovy update: upstream stable patchset 2021-04-12 (LP: #1923493) + - net: usb: qmi_wwan: support ZTE P685M modem + - drm/virtio: use kvmalloc for large allocations + - x86/build: Treat R_386_PLT32 relocation as R_386_PC32 + - JFS: more checks for invalid superblock + - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled + - udlfb: Fix memory leak in dlfb_usb_probe + - media: mceusb: sanity check for prescaler value + - erofs: fix shift-out-of-bounds of blkszbits + - media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate + - xfs: Fix assert failure in xfs_setattr_size() + - net/af_iucv: remove WARN_ONCE on malformed RX packets + - smackfs: restrict bytes count in smackfs write functions + - tomoyo: ignore data race while checking quota + - net: fix up truesize of cloned skb in skb_prepare_for_shift() + - nbd: handle device refs for DESTROY_ON_DISCONNECT properly + - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing + - RDMA/rtrs: Do not signal for heatbeat + - RDMA/rtrs-clt: Use bitmask to check sess->flags + - RDMA/rtrs-srv: Do not signal REG_MR + - tcp: fix tcp_rmem documentation + - net: bridge: use switchdev for port flags set through sysfs too + - net: ag71xx: remove unnecessary MTU reservation + - net: hsr: add support for EntryForgetTime + - net: psample: Fix netlink skb length with tunnel info + - net: fix dev_ifsioc_locked() race condition + - dt-bindings: ethernet-controller: fix fixed-link specification + - dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ + - rsi: Fix TX EAPOL packet handling against iwlwifi AP + - rsi: Move card interrupt handling to RX thread + - EDAC/amd64: Do not load on family 0x15, model 0x13 + - staging: fwserial: Fix error handling in fwserial_create + - x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk + - vt/consolemap: do font sum unsigned + - wlcore: Fix command execute failure 19 for wl12xx + - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl + - Bluetooth: btusb: fix memory leak on suspend and resume + - mt76: mt7615: reset token when mac_reset happens + - pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() + - ath10k: fix wmi mgmt tx queue full due to race condition + - net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant + - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk + - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data + - staging: most: sound: add sanity check for function argument + - staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() + - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet + - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet + - drm/hisilicon: Fix use-after-free + - crypto: tcrypt - avoid signed overflow in byte count + - fs: make unlazy_walk() error handling consistent + - drm/amdgpu: Add check to prevent IH overflow + - PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse + - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag + - drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails + - media: uvcvideo: Allow entities with no pads + - f2fs: handle unallocated section and zone on pinned/atgc + - f2fs: fix to set/clear I_LINKABLE under i_lock + - nvme-core: add cancel tagset helpers + - nvme-rdma: add clean action for failed reconnection + - nvme-tcp: add clean action for failed reconnection + - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() + - btrfs: fix error handling in commit_fs_roots + - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] + - ASoC: Intel: sof_sdw: detect DMIC number based on mach params + - parisc: Bump 64-bit IRQ stack size to 64 KB + - sched/features: Fix hrtick reprogramming + - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R + tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet + - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet + - Xen/gnttab: handle p2m update errors on a per-slot basis + - xen-netback: respect gnttab_map_refs()'s return value + - zsmalloc: account the number of compacted pages correctly + - swap: fix swapfile read/write offset + - media: v4l: ioctl: Fix memory leak in video_usercopy + - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board + - net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround + - net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips + - nvme-pci: refactor nvme_unmap_data + - nvme-pci: fix error unwind in nvme_map_data + - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 + - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE + - ALSA: usb-audio: Drop bogus dB range in too low level + - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() + - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() + - btrfs: avoid double put of block group when emptying cluster + - btrfs: fix raid6 qstripe kmap + - btrfs: fix race between writes to swap files and scrub + - btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled + - btrfs: fix race between extent freeing/allocation when using bitmaps + - btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl + - btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata + - btrfs: unlock extents in btrfs_zero_range in case of quota reservation + errors + - btrfs: fix warning when creating a directory with smack enabled + - io_uring: ignore double poll add on the same waitqueue head + - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size + - dm verity: fix FEC for RS roots unaligned to block size + - drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie + - crypto - shash: reduce minimum alignment of shash_desc structure + - arm64: mm: Move reserve_crashkernel() into mem_init() + - arm64: mm: Move zone_dma_bits initialization into zone_sizes_init() + - of/address: Introduce of_dma_get_max_cpu_address() + - of: unittest: Add test for of_dma_get_max_cpu_address() + - arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges + - arm64: mm: Set ZONE_DMA size based on early IORT scan + - mm: Remove examples from enum zone_type comment + - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits + - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep + - RDMA/rxe: Fix missing kconfig dependency on CRYPTO + - IB/mlx5: Add missing error code + - ALSA: hda: intel-nhlt: verify config type + - ftrace: Have recordmcount use w8 to read relp->r_info in + arm64_is_fake_mcount + - rsxx: Return -EFAULT if copy_to_user() fails + - iommu/vt-d: Fix status code for Allocate/Free PASID command + - Revert "arm64: dts: amlogic: add missing ethernet reset ID" + - of: unittest: Fix build on architectures without CONFIG_OF_ADDRESS + - tomoyo: recognize kernel threads correctly + - r8169: fix resuming from suspend on RTL8105e if machine runs on battery + - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter + handling + - ASoC: SOF: Intel: broadwell: fix mutual exclusion with catpt driver + - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state + - parisc: Enable -mlong-calls gcc option with CONFIG_COMPILE_TEST + - arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ + - iommu/amd: Fix sleeping in atomic in increase_address_space() + - Bluetooth: btqca: Add valid le states quirk + - mwifiex: pcie: skip cancel_work_sync() on reset failure path + - ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device + - bus: ti-sysc: Implement GPMC debug quirk to drop platform data + - platform/x86: acer-wmi: Cleanup ACER_CAP_FOO defines + - platform/x86: acer-wmi: Cleanup accelerometer device handling + - platform/x86: acer-wmi: Add new force_caps module parameter + - platform/x86: acer-wmi: Add ACER_CAP_SET_FUNCTION_MODE capability flag + - platform/x86: acer-wmi: Add support for SW_TABLET_MODE on Switch devices + - platform/x86: acer-wmi: Add ACER_CAP_KBD_DOCK quirk for the Aspire Switch + 10E SW3-016 + - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter + - media: cx23885: add more quirks for reset DMA on some AMD IOMMU + - ACPI: video: Add DMI quirk for GIGABYTE GB-BXBT-2807 + - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 + - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 + - scsi: ufs: Add a quirk to permit overriding UniPro defaults + - misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom + - scsi: ufs: Introduce a quirk to allow only page-aligned sg entries + - drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register + - mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo + Winpad A15 + - scsi: ufs: Fix a duplicate dev quirk number + - KVM: SVM: Clear the CR4 register on reset + - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. + - nvme-pci: add quirks for Lexar 256GB SSD + - dm table: fix iterate_devices based device capability checks + - dm table: fix DAX iterate_devices based device capability checks + - dm table: fix zoned iterate_devices based device capability checks + + * [SRU][F:OEM-5.10/G/H] add realtek 8852 bluetooth support (LP: #1924207) + - Bluetooth: btusb: btrtl: Add support for RTL8852A + - Bluetooth: btrtl: Enable central-peripheral role + - Bluetooth: btrtl: Enable WBS for the specific Realtek devices + + * Backport mlx5e fix for tunnel offload (LP: #1921769) + - net/mlx5e: Check tunnel offload is required before setting SWP + + * crash utility fails on arm64 with cannot determine VA_BITS_ACTUAL + (LP: #1919275) + - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo + + -- Stefan Bader Fri, 07 May 2021 14:54:13 +0200 + +linux (5.8.0-53.60) groovy; urgency=medium + + * CVE-2021-3491 + - io_uring: fix provide_buffers sign extension + - io_uring: fix overflows checks in provide buffers + - SAUCE: proc: Avoid mixing integer types in mem_rw() + - SAUCE: io_uring: truncate lengths larger than MAX_RW_COUNT on provide + buffers + + * CVE-2021-3490 + - bpf: Fix a verifier failure with xor + - SAUCE: bpf: verifier: fix ALU32 bounds tracking with bitwise ops + + * CVE-2021-3489 + - SAUCE: bpf: ringbuf: deny reserve of buffers larger than ringbuf + - SAUCE: bpf: prevent writable memory-mapping of read-only ringbuf pages + + -- Stefan Bader Thu, 06 May 2021 07:43:20 +0200 + +linux (5.8.0-52.59) groovy; urgency=medium + + * groovy/linux: 5.8.0-52.59 -proposed tracker (LP: #1926730) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * hangup01 from pty in ubuntu_ltp_stable failed on G-5.8 (LP: #1925290) + - SAUCE: Revert "tty: implement read_iter" + - SAUCE: Revert "tty: convert tty_ldisc_ops 'read()' function to take a kernel + pointer" + + -- Kleber Sacilotto de Souza Fri, 30 Apr 2021 14:42:32 +0200 + +linux (5.8.0-51.57) groovy; urgency=medium + + * groovy/linux: 5.8.0-51.57 -proposed tracker (LP: #1923754) + + * CVE-2021-28375 + - misc: fastrpc: restrict user apps from sending kernel RPC messages + + * CVE-2021-29646 + - tipc: better validate user input in tipc_nl_retrieve_key() + + * SND_PCI_QUIRK for Clevo NH55RZQ and Intel NUC10 (LP: #1922759) + - ALSA: hda/realtek: Add quirk for Intel NUC 10 + - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ + + * CVE-2021-29650 + - Revert "netfilter: x_tables: Update remaining dereference to RCU" + - Revert "netfilter: x_tables: Switch synchronization to RCU" + - netfilter: x_tables: Use correct memory barriers. + + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] dkms-build{,--nvidia-N} sync back from LRMv4 + + * CVE-2021-29266 + - vhost-vdpa: fix use-after-free of v->config_ctx + + * CVE-2021-29264 + - gianfar: fix jumbo packets+napi+rx overrun crash + + * CVE-2021-29265 + - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf + + * Bcache bypasse writeback on caching device with fragmentation (LP: #1900438) + - bcache: consider the fragmentation when update the writeback rate + + * Fix implicit declaration warnings for kselftests/memfd test on newer + releases (LP: #1910323) + - selftests/memfd: Fix implicit declaration warnings + + * net/mlx5e: Add missing capability check for uplink follow (LP: #1921104) + - net/mlx5e: Add missing capability check for uplink follow + + * [UBUNUT 21.04] s390/vtime: fix increased steal time accounting + (LP: #1921498) + - s390/vtime: fix increased steal time accounting + + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - vmlinux.lds.h: add DWARF v5 sections + - debugfs: be more robust at handling improper input in debugfs_lookup() + - debugfs: do not attempt to create a new file before the filesystem is + initalized + - scsi: libsas: docs: Remove notify_ha_event() + - scsi: qla2xxx: Fix mailbox Ch erroneous error + - kdb: Make memory allocations more robust + - PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 + - PCI: Decline to resize resources if boot config must be preserved + - virt: vbox: Do not use wait_event_interruptible when called from kernel + context + - bfq: Avoid false bfq queue merging + - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode + - MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section + - random: fix the RNDRESEEDCRNG ioctl + - ALSA: pcm: Call sync_stop at disconnection + - ALSA: pcm: Assure sync with the pending stop operation at suspend + - ALSA: pcm: Don't call sync_stop if it hasn't been stopped + - drm/i915/gt: One more flush for Baytrail clear residuals + - ath10k: Fix error handling in case of CE pipe init failure + - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the + probe function + - Bluetooth: hci_uart: Fix a race for write_work scheduling + - Bluetooth: Fix initializing response id after clearing struct + - ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5 + - ARM: dts: exynos: correct PMIC interrupt trigger level on Monk + - ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato + - ARM: dts: exynos: correct PMIC interrupt trigger level on Spring + - ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa + - ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family + - arm64: dts: exynos: correct PMIC interrupt trigger level on TM2 + - arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso + - memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops + - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump + - arm64: dts: qcom: msm8916-samsung-a5u: Fix iris compatible + - net: stmmac: dwmac-meson8b: fix enabling the timing-adjustment clock + - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h + - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args + - arm64: dts: allwinner: A64: properly connect USB PHY to port 0 + - arm64: dts: allwinner: H6: properly connect USB PHY to port 0 + - arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card + - arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency + - arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz + - cpufreq: brcmstb-avs-cpufreq: Free resources in error path + - cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() + - arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node + - ACPICA: Fix exception code class checks + - usb: gadget: u_audio: Free requests only after callback + - arm64: dts: qcom: sdm845-db845c: Fix reset-pin of ov8856 node + - soc: ti: pm33xx: Fix some resource leak in the error handling paths of the + probe function + - staging: media: atomisp: Fix size_t format specifier in hmm_alloc() debug + statemenet + - Bluetooth: drop HCI device reference before return + - Bluetooth: Put HCI device if inquiry procedure interrupts + - memory: ti-aemif: Drop child node when jumping out loop + - ARM: dts: Configure missing thermal interrupt for 4430 + - usb: dwc2: Do not update data length if it is 0 on inbound transfers + - usb: dwc2: Abort transaction after errors with unknown reason + - usb: dwc2: Make "trimming xfer length" a debug message + - staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules + - ARM: dts: armada388-helios4: assign pinctrl to LEDs + - ARM: dts: armada388-helios4: assign pinctrl to each fan + - arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to + a53-firmware + - opp: Correct debug message in _opp_add_static_v2() + - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv + - soc: qcom: ocmem: don't return NULL in of_get_ocmem + - arm64: dts: msm8916: Fix reserved and rfsa nodes unit address + - arm64: dts: meson: fix broken wifi node for Khadas VIM3L + - ARM: s3c: fix fiq for clang IAS + - ARM: at91: use proper asm syntax in pm_suspend + - ath10k: Fix suspicious RCU usage warning in + ath10k_wmi_tlv_parse_peer_stats_info() + - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics + - soc: aspeed: snoop: Add clock control logic + - bpf_lru_list: Read double-checked variable once without lock + - ath9k: fix data bus crash when setting nf_override via debugfs + - ibmvnic: Set to CLOSED state even on error + - bnxt_en: reverse order of TX disable and carrier off + - xen/netback: fix spurious event detection for common event case + - net/mlx5e: Don't change interrupt moderation params when DIM is enabled + - net/mlx5e: Change interrupt moderation channel params also when channels are + closed + - net/mlx5e: Replace synchronize_rcu with synchronize_net + - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context + - net/mlx5: Disable devlink reload for multi port slave device + - net/mlx5: Disallow RoCE on multi port slave device + - net/mlx5: Disallow RoCE on lag device + - net/mlx5: Disable devlink reload for lag devices + - mac80211: fix potential overflow when multiplying to u32 integers + - libbpf: Ignore non function pointer member in struct_ops + - bpf: Fix an unitialized value in bpf_iter + - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation + - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx + - tcp: fix SO_RCVLOWAT related hangs under mem pressure + - net: axienet: Handle deferred probe on clock properly + - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 + and ulds + - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case + - bpf: Clear subreg_def for global function return values + - ibmvnic: add memory barrier to protect long term buffer + - ibmvnic: skip send_request_unmap for timeout reset + - net: dsa: felix: perform teardown in reverse order of setup + - net: phy: mscc: adding LCPLL reset to VSC8514 + - net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout + - net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning + - net: amd-xgbe: Reset link when the link never comes back + - net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP + - net: mvneta: Remove per-cpu queue mapping for Armada 3700 + - tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer + - tty: implement read_iter + - fbdev: aty: SPARC64 requires FB_ATY_CT + - drm/gma500: Fix error return code in psb_driver_load() + - gma500: clean up error handling in init + - drm/fb-helper: Add missed unlocks in setcmap_legacy() + - crypto: sun4i-ss - linearize buffers content must be kept + - crypto: sun4i-ss - fix kmap usage + - crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled + - media: allegro: Fix use after free on error + - drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() + - drm: rcar-du: Fix crash when using LVDS1 clock for CRTC + - drm: rcar-du: Fix the return check of of_parse_phandle and + of_find_device_by_node + - drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition + - MIPS: c-r4k: Fix section mismatch for loongson2_sc_init + - MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 + - drm/virtio: make sure context is created in gem open + - media: ipu3-cio2: Build only for x86 + - media: i2c: ov5670: Fix PIXEL_RATE minimum value + - media: imx: Unregister csc/scaler only if registered + - media: imx: Fix csc/scaler unregister + - media: mtk-vcodec: fix error return code in vdec_vp9_decode() + - media: camss: missing error code in msm_video_register() + - media: vsp1: Fix an error handling path in the probe function + - media: em28xx: Fix use-after-free in em28xx_alloc_urbs + - media: media/pci: Fix memleak in empress_init + - media: tm6000: Fix memleak in tm6000_start_stream + - media: aspeed: fix error return code in aspeed_video_setup_video() + - ASoC: cs42l56: fix up error handling in probe + - ASoC: qcom: qdsp6: Move frontend AIFs to q6asm-dai + - evm: Fix memleak in init_desc + - crypto: bcm - Rename struct device_private to bcm_device_private + - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue + - drm/sun4i: tcon: fix inverted DCLK polarity + - media: imx7: csi: Fix regression for parallel cameras on i.MX6UL + - media: imx7: csi: Fix pad link validation + - MIPS: properly stop .eh_frame generation + - MIPS: Compare __SYNC_loongson3_war against 0 + - drm/tegra: Fix reference leak when pm_runtime_get_sync() fails + - drm/amdgpu: toggle on DF Cstate after finishing xgmi injection + - bsg: free the request before return error code + - drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. + - drm/amd/display: Fix HDMI deep color output for DCE 6-11. + - media: software_node: Fix refcounts in software_node_get_next_child() + - media: lmedm04: Fix misuse of comma + - media: atomisp: Fix a buffer overflow in debug code + - media: qm1d1c0042: fix error return code in qm1d1c0042_init() + - media: cx25821: Fix a bug when reallocating some dma memory + - media: pxa_camera: declare variable when DEBUG is defined + - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values + - sched/eas: Don't update misfit status if the task is pinned + - f2fs: compress: fix potential deadlock + - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend + - mtd: parser: imagetag: fix error codes in + bcm963xx_parse_imagetag_partitions() + - crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) + - crypto: talitos - Fix ctr(aes) on SEC1 + - drm/nouveau: bail out of nouveau_channel_new if channel init fails + - mm: proc: Invalidate TLB after clearing soft-dirty page state + - ata: ahci_brcm: Add back regulators management + - ASoC: cpcap: fix microphone timeslot mask + - ASoC: codecs: add missing max_register in regmap config + - mtd: parsers: afs: Fix freeing the part name memory in failure + - f2fs: fix to avoid inconsistent quota data + - drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask() + - f2fs: fix a wrong condition in __submit_bio + - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs + - drm/mediatek: Check if fb is null + - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E + - locking/lockdep: Avoid unmatched unlock + - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during + system shutdown + - ASoC: SOF: debug: Fix a potential issue on string buffer termination + - btrfs: clarify error returns values in __load_free_space_cache + - btrfs: fix double accounting of ordered extent for subpage case in + btrfs_invalidapge + - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 + - drm/lima: fix reference leak in lima_pm_busy + - drm/dp_mst: Don't cache EDIDs for physical ports + - hwrng: timeriomem - Fix cooldown period calculation + - crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() + - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs + - nvmet-tcp: fix potential race of tcp socket closing accept_work + - nvmet: remove extra variable in identify ns + - nvmet: set status to 0 in case for invalid nsid + - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk + - ima: Free IMA measurement buffer on error + - ima: Free IMA measurement buffer after kexec syscall + - ASoC: simple-card-utils: Fix device module clock + - fs/jfs: fix potential integer overflow on shift of a int + - jffs2: fix use after free in jffs2_sum_write_data() + - ubifs: Fix memleak in ubifs_init_authentication + - ubifs: replay: Fix high stack usage, again + - ubifs: Fix error return code in alloc_wbufs() + - irqchip/imx: IMX_INTMUX should not default to y, unconditionally + - smp: Process pending softirqs in flush_smp_call_function_from_idle() + - drm/amdgpu/display: remove hdcp_srm sysfs on device removal + - HSI: Fix PM usage counter unbalance in ssi_hw_init + - power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression + - clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL + - clk: meson: clk-pll: make "ret" a signed integer + - clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate() + - regulator: qcom-rpmh-regulator: add pm8009-1 chip revision + - quota: Fix memory leak when handling corrupted quota file + - i2c: iproc: handle only slave interrupts which are enabled + - i2c: iproc: update slave isr mask (ISR_MASK_SLAVE) + - i2c: iproc: handle master read request + - spi: cadence-quadspi: Abort read if dummy cycles required are too many + - clk: sunxi-ng: h6: Fix CEC clock + - HID: core: detect and skip invalid inputs to snto32() + - RDMA/siw: Fix handling of zero-sized Read and Receive Queues. + - dmaengine: fsldma: Fix a resource leak in the remove function + - dmaengine: fsldma: Fix a resource leak in an error handling path of the + probe function + - dmaengine: owl-dma: Fix a resource leak in the remove function + - dmaengine: hsu: disable spurious interrupt + - mfd: bd9571mwv: Use devm_mfd_add_devices() + - power: supply: cpcap-charger: Fix missing power_supply_put() + - power: supply: cpcap-battery: Fix missing power_supply_put() + - power: supply: cpcap-charger: Fix power_supply_put on null battery pointer + - fdt: Properly handle "no-map" field in the memory region + - of/fdt: Make sure no-map does not remove already reserved regions + - RDMA/rtrs: Extend ibtrs_cq_qp_create + - RDMA/rtrs-srv: Release lock before call into close_sess + - RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect + - RDMA/rtrs-clt: Set mininum limit when create QP + - RDMA/rtrs: Call kobject_put in the failure path + - RDMA/rtrs-srv: Fix missing wr_cqe + - RDMA/rtrs-clt: Refactor the failure cases in alloc_clt + - RDMA/rtrs-srv: Init wr_cnt as 1 + - power: reset: at91-sama5d2_shdwc: fix wkupdbc mask + - rtc: s5m: select REGMAP_I2C + - dmaengine: idxd: set DMA channel to be private + - power: supply: fix sbs-charger build, needs REGMAP_I2C + - clocksource/drivers/ixp4xx: Select TIMER_OF when needed + - clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined + - RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation + - IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex + - clk: sunxi-ng: h6: Fix clock divider range on some clocks + - regulator: axp20x: Fix reference cout leak + - watch_queue: Drop references to /dev/watch_queue + - certs: Fix blacklist flag type confusion + - regulator: s5m8767: Fix reference count leak + - spi: atmel: Put allocated master before return + - regulator: s5m8767: Drop regulators OF node reference + - power: supply: axp20x_usb_power: Init work before enabling IRQs + - regulator: core: Avoid debugfs: Directory ... already present! error + - isofs: release buffer head before return + - watchdog: intel-mid_wdt: Postpone IRQ handler registration till SCU is ready + - auxdisplay: ht16k33: Fix refresh rate handling + - objtool: Fix error handling for STD/CLD warnings + - objtool: Fix ".cold" section suffix check for newer versions of GCC + - iommu: Switch gather->end to the inclusive end + - IB/umad: Return EIO in case of when device disassociated + - IB/umad: Return EPOLLERR in case of when device disassociated + - KVM: PPC: Make the VMX instruction emulation routines static + - powerpc/47x: Disable 256k page size + - powerpc/time: Enable sched clock for irqtime + - mmc: owl-mmc: Fix a resource leak in an error handling path and in the + remove function + - mmc: sdhci-sprd: Fix some resource leaks in the remove function + - mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe + - mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to + 128-bytes + - ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores + - i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct + - amba: Fix resource leak for drivers without .remove + - iommu: Move iotlb_sync_map out from __iommu_map + - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping + - IB/mlx5: Return appropriate error code instead of ENOMEM + - IB/cm: Avoid a loop when device has 255 ports + - tracepoint: Do not fail unregistering a probe due to memory failure + - rtc: zynqmp: depend on HAS_IOMEM + - perf tools: Fix DSO filtering when not finding a map for a sampled address + - perf vendor events arm64: Fix Ampere eMag event typo + - RDMA/rxe: Fix coding error in rxe_recv.c + - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt + - RDMA/rxe: Correct skb on loopback path + - spi: stm32: properly handle 0 byte transfer + - mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() + - powerpc/pseries/dlpar: handle ibm, configure-connector delay status + - powerpc/8xx: Fix software emulation interrupt + - clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs + - kunit: tool: fix unit test cleanup handling + - kselftests: dmabuf-heaps: Fix Makefile's inclusion of the kernel's + usr/include dir + - RDMA/hns: Fixed wrong judgments in the goto branch + - RDMA/siw: Fix calculation of tx_valid_cpus size + - RDMA/hns: Fix type of sq_signal_bits + - RDMA/hns: Disable RQ inline by default + - clk: divider: fix initialization with parent_hw + - spi: pxa2xx: Fix the controller numbering for Wildcat Point + - powerpc/uaccess: Avoid might_fault() when user access is enabled + - powerpc/kuap: Restore AMR after replaying soft interrupts + - regulator: qcom-rpmh: fix pm8009 ldo7 + - clk: aspeed: Fix APLL calculate formula from ast2600-A2 + - regulator: bd718x7, bd71828, Fix dvs voltage levels + - nfsd: register pernet ops last, unregister first + - ceph: fix flush_snap logic after putting caps + - RDMA/hns: Fixes missing error code of CMDQ + - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent + - RDMA/rtrs-srv: Fix stack-out-of-bounds + - RDMA/rtrs: Only allow addition of path to an already established session + - RDMA/rtrs-srv: fix memory leak by missing kobject free + - RDMA/rtrs-srv-sysfs: fix missing put_device + - RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR() + - Input: sur40 - fix an error code in sur40_probe() + - perf intel-pt: Fix missing CYC processing in PSB + - perf intel-pt: Fix premature IPC + - perf intel-pt: Fix IPC with CYC threshold + - perf test: Fix unaligned access in sample parsing test + - Input: elo - fix an error code in elo_connect() + - sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set + - sparc: fix led.c driver when PROC_FS is not enabled + - ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled + - misc: eeprom_93xx46: Fix module alias to enable module autoprobe + - phy: rockchip-emmc: emmc_phy_init() always return 0 + - misc: eeprom_93xx46: Add module alias to avoid breaking support for non + device tree users + - PCI: rcar: Always allocate MSI addresses in 32bit space + - soundwire: cadence: fix ACK/NAK handling + - pwm: rockchip: Enable APB clock during register access while probing + - pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() + - pwm: rockchip: Eliminate potential race condition when probing + - VMCI: Use set_page_dirty_lock() when unregistering guest memory + - PCI: Align checking of syscall user config accessors + - mei: hbm: call mei_set_devstate() on hbm stop response + - drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) + - drm/msm/mdp5: Fix wait-for-commit for cmd panels + - drm/msm: Fix race of GPU init vs timestamp power management. + - drm/msm: Fix races managing the OOB state for timestamp vs timestamps. + - vfio/iommu_type1: Populate full dirty when detach non-pinned group + - vfio/iommu_type1: Fix some sanity checks in detach group + - ext4: fix potential htree index checksum corruption + - nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of() + - nvmem: core: skip child nodes not matching binding + - soundwire: bus: use sdw_update_no_pm when initializing a device + - soundwire: export sdw_write/read_no_pm functions + - soundwire: bus: fix confusion on device used by pm_runtime + - misc: fastrpc: fix incorrect usage of dma_map_sgtable + - regmap: sdw: use _no_pm functions in regmap_read/write + - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it + - mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL + - PCI: pci-bridge-emul: Fix array overruns, improve safety + - i40e: Fix flow for IPv6 next header (extension header) + - i40e: Add zero-initialization of AQ command structures + - i40e: Fix overwriting flow control settings during driver loading + - i40e: Fix addition of RX filters after enabling FW LLDP agent + - i40e: Fix VFs not created + - Take mmap lock in cacheflush syscall + - i40e: Fix add TC filter for IPv6 + - octeontx2-af: Fix an off by one in rvu_dbg_qsize_write() + - vfio/type1: Use follow_pte() + - ice: report correct max number of TCs + - ice: Account for port VLAN in VF max packet size calculation + - ice: Fix state bits on LLDP mode switch + - ice: update the number of available RSS queues + - net: stmmac: fix CBS idleslope and sendslope calculation + - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() + - vxlan: move debug check after netdev unregister + - wireguard: device: do not generate ICMP for non-IP packets + - wireguard: kconfig: use arm chacha even with no neon + - ocfs2: fix a use after free on error + - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving + - mm/memory.c: fix potential pte_unmap_unlock pte error + - mm/hugetlb: fix potential double free in hugetlb_register_node() error path + - mm/hugetlb: suppress wrong warning info when alloc gigantic page + - mm/compaction: fix misbehaviors of fast_find_migrateblock() + - r8169: fix jumbo packet handling on RTL8168e + - arm64: Add missing ISB after invalidating TLB in __primary_switch + - i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition + - i2c: exynos5: Preserve high speed master code + - mm,thp,shmem: make khugepaged obey tmpfs mount flags + - mm/rmap: fix potential pte_unmap on an not mapped pte + - proc: use kvzalloc for our kernel buffer + - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors + - ide/falconide: Fix module unload + - scsi: sd: Fix Opal support + - blk-settings: align max_sectors on "logical_block_size" boundary + - soundwire: intel: fix possible crash when no device is detected + - ACPI: property: Fix fwnode string properties matching + - ACPI: configfs: add missing check after configfs_register_default_group() + - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known + - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming + - HID: wacom: Ignore attempts to overwrite the touch_max value from HID + - Input: raydium_ts_i2c - do not send zero length + - Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox + Series X|S + - Input: joydev - prevent potential read overflow in ioctl + - Input: i8042 - add ASUS Zenbook Flip to noselftest list + - media: mceusb: Fix potential out-of-bounds shift + - USB: serial: option: update interface mapping for ZTE P685M + - usb: musb: Fix runtime PM race in musb_queue_resume_work + - USB: serial: ftdi_sio: fix FTX sub-integer prescaler + - USB: serial: pl2303: fix line-speed handling on newer chips + - USB: serial: mos7840: fix error code in mos7840_write() + - USB: serial: mos7720: fix error code in mos7720_write() + - phy: lantiq: rcu-usb2: wait after clock enable + - ALSA: fireface: fix to parse sync status register of latter protocol + - ALSA: hda: Add another CometLake-H PCI ID + - ALSA: hda/hdmi: Drop bogus check at closing a stream + - ALSA: hda/realtek: modify EAPD in the ALC886 + - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup + - MIPS: Ingenic: Disable HPTLB for D0 XBurst CPUs too + - MIPS: Support binutils configured with --enable-mips-fix-loongson3-llsc=yes + - MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target=' + - Revert "MIPS: Octeon: Remove special handling of + CONFIG_MIPS_ELF_APPENDED_DTB=y" + - Revert "bcache: Kill btree_io_wq" + - bcache: Give btree_io_wq correct semantics again + - bcache: Move journal work to new flush wq + - Revert "drm/amd/display: Update NV1x SR latency values" + - drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth() + - drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1 + - drm/amdkfd: Fix recursive lock warnings + - drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2) + - drm/nouveau/kms: handle mDP connectors + - drm/modes: Switch to 64bit maths to avoid integer overflow + - drm/sched: Cancel and flush all outstanding jobs before finish. + - drm/panel: kd35t133: allow using non-continuous dsi clock + - drm/rockchip: Require the YTR modifier for AFBC + - ASoC: siu: Fix build error by a wrong const prefix + - selinux: fix inconsistency between inode_getxattr and inode_listsecurity + - erofs: initialized fields can only be observed after bit is set + - tpm_tis: Fix check_locality for correct locality acquisition + - tpm_tis: Clean up locality release + - KEYS: trusted: Fix incorrect handling of tpm_get_random() + - KEYS: trusted: Fix migratable=1 failing + - KEYS: trusted: Reserve TPM for seal and unseal operations + - btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node + - btrfs: do not warn if we can't find the reloc root when looking up backref + - btrfs: add asserts for deleting backref cache nodes + - btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root + - btrfs: fix reloc root leak with 0 ref reloc roots on recovery + - btrfs: splice remaining dirty_bg's onto the transaction dirty bg list + - btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself + - btrfs: account for new extents being deleted in total_bytes_pinned + - btrfs: fix extent buffer leak on failure to copy root + - drm/i915/gt: Flush before changing register state + - drm/i915/gt: Correct surface base address for renderclear + - crypto: arm64/sha - add missing module aliases + - crypto: aesni - prevent misaligned buffers on the stack + - crypto: michael_mic - fix broken misalignment handling + - crypto: sun4i-ss - checking sg length is not sufficient + - crypto: sun4i-ss - handle BigEndian for cipher + - crypto: sun4i-ss - initialize need_fallback + - soc: samsung: exynos-asv: don't defer early on not-supported SoCs + - soc: samsung: exynos-asv: handle reading revision register error + - seccomp: Add missing return in non-void function + - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) + - misc: rtsx: init of rts522a add OCP power off when no card is present + - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue + - pstore: Fix typo in compression option name + - dts64: mt7622: fix slow sd card access + - arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2 + - staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c + - staging: gdm724x: Fix DMA from stack + - staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table + - media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt() + - media: smipcie: fix interrupt handling and IR timeout + - x86/virt: Eat faults on VMXOFF in reboot flows + - x86/reboot: Force all cpus to exit VMX root if VMX is supported + - x86/fault: Fix AMD erratum #91 errata fixup for user code + - x86/entry: Fix instrumentation annotation + - powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan + - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers + - rcu/nocb: Perform deferred wake up before last idle's need_resched() check + - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 + - arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() + fails + - arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing + - arm64 module: set plt* section addresses to 0x0 + - arm64: spectre: Prevent lockdep splat on v4 mitigation enable path + - riscv: Disable KSAN_SANITIZE for vDSO + - watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ + - watchdog: mei_wdt: request stop on unregister + - coresight: etm4x: Handle accesses to TRCSTALLCTLR + - mtd: spi-nor: sfdp: Fix last erase region marking + - mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region + - mtd: spi-nor: core: Fix erase type discovery for overlaid region + - mtd: spi-nor: core: Add erase size check for erase command initialization + - mtd: spi-nor: hisi-sfc: Put child node np on error path + - fs/affs: release old buffer head on error path + - seq_file: document how per-entry resources are managed. + - x86: fix seq_file iteration for pat/memtype.c + - mm: memcontrol: fix swap undercounting in cgroup2 + - hugetlb: fix update_and_free_page contig page struct assumption + - hugetlb: fix copy_huge_page_from_user contig page struct assumption + - mm/vmscan: restore zone_reclaim_mode ABI + - mm, compaction: make fast_isolate_freepages() stay within zone + - nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer + - module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols + - mmc: sdhci-esdhc-imx: fix kernel panic when remove module + - powerpc/32s: Add missing call to kuep_lock on syscall entry + - spmi: spmi-pmic-arb: Fix hw_irq overflow + - mei: me: emmitsburg workstation DID + - mei: me: add adler lake point S DID + - mei: me: add adler lake point LP DID + - gpio: pcf857x: Fix missing first interrupt + - mfd: gateworks-gsc: Fix interrupt type + - printk: fix deadlock when kernel panic + - exfat: fix shift-out-of-bounds in exfat_fill_super() + - zonefs: Fix file size of zones in full condition + - [Config] updateconfigs for KCMP + - kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE + - thermal: cpufreq_cooling: freq_qos_update_request() returns < 0 on error + - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument + - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if + available + - proc: don't allow async path resolution of /proc/thread-self components + - s390/vtime: fix inline assembly clobber list + - virtio/s390: implement virtio-ccw revision 2 correctly + - um: mm: check more comprehensively for stub changes + - um: defer killing userspace on page table update failures + - irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap + - f2fs: fix out-of-repair __setattr_copy() + - f2fs: enforce the immutable flag on open files + - f2fs: flush data when enabling checkpoint back + - sparc32: fix a user-triggerable oops in clear_user() + - spi: fsl: invert spisel_boot signal on MPC8309 + - spi: spi-synquacer: fix set_cs handling + - gfs2: fix glock confusion in function signal_our_withdraw + - gfs2: Don't skip dlm unlock if glock has an lvb + - gfs2: Lock imbalance on error path in gfs2_recover_one + - gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end + - dm: fix deadlock when swapping to encrypted device + - dm writecache: fix performance degradation in ssd mode + - dm writecache: return the exact table values that were set + - dm writecache: fix writing beyond end of underlying device when shrinking + - dm era: Recover committed writeset after crash + - dm era: Update in-core bitset after committing the metadata + - dm era: Verify the data block size hasn't changed + - dm era: Fix bitset memory leaks + - dm era: Use correct value size in equality function of writeset tree + - dm era: Reinitialize bitset cache before digesting a new writeset + - dm era: only resize metadata in preresume + - drm/i915: Reject 446-480MHz HDMI clock on GLK + - kgdb: fix to kill breakpoints on initmem after boot + - wireguard: selftests: test multiple parallel streams + - wireguard: queueing: get rid of per-peer ring buffers + - net: sched: fix police ext initialization + - net: qrtr: Fix memory leak in qrtr_tun_open + - ARM: dts: aspeed: Add LCLK to lpc-snoop + - ipv6: icmp6: avoid indirect call for icmpv6_send() + + * Mute/Mic-mute LEDs are not work on HP 850/840/440 G8 Laptops (LP: #1920030) + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 + + * Groovy update: upstream stable patchset 2021-03-19 (LP: #1920571) + - af_key: relax availability checks for skb size calculation + - regulator: core: avoid regulator_resolve_supply() race condition + - ASoC: wm_adsp: Fix control name parsing for multi-fw + - mac80211: 160MHz with extended NSS BW in CSA + - ASoC: Intel: Skylake: Zero snd_ctl_elem_value + - chtls: Fix potential resource leak + - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() + - pNFS/NFSv4: Improve rejection of out-of-order layouts + - ALSA: hda: intel-dsp-config: add PCI id for TGL-H + - ASoC: ak4458: correct reset polarity + - ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E + - iwlwifi: mvm: skip power command when unbinding vif during CSA + - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() + - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap + - iwlwifi: pcie: fix context info memory leak + - iwlwifi: mvm: invalidate IDs of internal stations at mvm start + - iwlwifi: pcie: add rules to match Qu with Hr2 + - iwlwifi: mvm: guard against device removal in reprobe + - SUNRPC: Move simple_get_bytes and simple_get_netobj into private header + - SUNRPC: Handle 0 length opaque XDR object data properly + - i2c: mediatek: Move suspend and resume handling to NOIRQ phase + - blk-cgroup: Use cond_resched() when destroy blkgs + - regulator: Fix lockdep warning resolving supplies + - bpf: Fix verifier jmp32 pruning decision logic + - bpf: Fix verifier jsgt branch analysis on max bound + - drm/i915: Fix ICL MG PHY vswing handling + - drm/i915: Skip vswing programming for TBT + - nilfs2: make splice write available again + - squashfs: avoid out of bounds writes in decompressors + - squashfs: add more sanity checks in id lookup + - squashfs: add more sanity checks in inode lookup + - squashfs: add more sanity checks in xattr id lookup + - gpio: mxs: GPIO_MXS should not default to y unconditionally + - gpio: ep93xx: fix BUG_ON port F usage + - gpio: ep93xx: Fix single irqchip with multi gpiochips + - tracing: Do not count ftrace events in top level enable output + - tracing: Check length before giving out the filter buffer + - drm/i915: Fix overlay frontbuffer tracking + - arm/xen: Don't probe xenbus as part of an early initcall + - cgroup: fix psi monitor for root cgroup + - drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it + - drm/dp_mst: Don't report ports connected if nothing is attached to them + - dmaengine: move channel device_node deletion to driver + - soc: ti: omap-prm: Fix boot time errors for rst_map_012 bits 0 and 1 + - arm64: dts: rockchip: Fix PCIe DT properties on rk3399 + - arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc + - ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled + - arm64: dts: rockchip: remove interrupt-names property from rk3399 vdec node + - platform/x86: hp-wmi: Disable tablet-mode reporting by default + - ovl: perform vfs_getxattr() with mounter creds + - cap: fix conversions on getxattr + - ovl: skip getxattr of security labels + - scsi: lpfc: Fix EEH encountering oops with NVMe traffic + - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder + Lake CPUs + - x86/split_lock: Enable the split lock feature on another Alder Lake CPU + - nvme-pci: ignore the subsysem NQN on Phison E16 + - drm/amd/display: Fix DPCD translation for LTTPR AUX_RD_INTERVAL + - drm/amd/display: Add more Clock Sources to DCN2.1 + - drm/amd/display: Release DSC before acquiring + - drm/amd/display: Fix dc_sink kref count in emulated_link_detect + - drm/amd/display: Free atomic state after drm_atomic_commit + - drm/amd/display: Decrement refcount of dc_sink before reassignment + - riscv: virt_addr_valid must check the address belongs to linear mapping + - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL + - kallsyms: fix nonconverging kallsyms table with lld + - ARM: ensure the signal page contains defined contents + - ARM: kexec: fix oops after TLB are invalidated + - ubsan: implement __ubsan_handle_alignment_assumption + - x86/efi: Remove EFI PGD build time checks + - lkdtm: don't move ctors to .rodata + - cgroup-v1: add disabled controller check in cgroup1_parse_param() + - mt76: dma: fix a possible memory leak in mt76_add_fragment() + - drm/vc4: hvs: Fix buffer overflow with the dlist handling + - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 + - bpf: Check for integer overflow when using roundup_pow_of_two() + - netfilter: xt_recent: Fix attempt to update deleted entry + - netfilter: nftables: fix possible UAF over chains from packet path in netns + - netfilter: flowtable: fix tcp and udp header checksum update + - xen/netback: avoid race in xenvif_rx_ring_slots_available() + - net: hdlc_x25: Return meaningful error code in x25_open + - net: ipa: set error code in gsi_channel_setup() + - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() + - net: enetc: initialize the RFS and RSS memories + - selftests: txtimestamp: fix compilation issue + - net: stmmac: set TxQ mode back to DCB after disabling CBS + - ibmvnic: Clear failover_pending if unable to schedule + - netfilter: conntrack: skip identical origin tuple in same zone only + - scsi: scsi_debug: Fix a memory leak + - x86/build: Disable CET instrumentation in the kernel for 32-bit too + - net: hns3: add a check for queue_id in hclge_reset_vf_queue() + - net: hns3: add a check for tqp_index in hclge_get_ring_chain_from_mbx() + - net: hns3: add a check for index in hclge_get_rss_key() + - firmware_loader: align .builtin_fw to 8 + - drm/sun4i: tcon: set sync polarity for tcon1 channel + - drm/sun4i: dw-hdmi: always set clock rate + - drm/sun4i: Fix H6 HDMI PHY configuration + - drm/sun4i: dw-hdmi: Fix max. frequency for H6 + - clk: sunxi-ng: mp: fix parent rate change flag check + - i2c: stm32f7: fix configuration of the digital filter + - h8300: fix PREEMPTION build, TI_PRE_COUNT undefined + - scripts: set proper OpenSSL include dir also for sign-file + - rxrpc: Fix clearance of Tx/Rx ring when releasing a call + - udp: fix skb_copy_and_csum_datagram with odd segment sizes + - net: dsa: call teardown method on probe failure + - cpufreq: ACPI: Extend frequency tables to cover boost frequencies + - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not + there + - net: gro: do not keep too many GRO packets in napi->rx_list + - net: fix iteration for sctp transport seq_files + - net/vmw_vsock: fix NULL pointer dereference + - net/vmw_vsock: improve locking in vsock_connect_timeout() + - net: watchdog: hold device global xmit lock during tx disable + - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state + - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT + - vsock/virtio: update credit only if socket is not closed + - vsock: fix locking in vsock_shutdown() + - net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS + - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() + - ovl: expand warning in ovl_d_real() + - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq + - usb: dwc3: ulpi: fix checkpatch warning + - net: qrtr: Fix port ID for control messages + - mptcp: skip to next candidate if subflow has unacked data + - mt76: mt7915: fix endian issues + - mt76: mt7615: fix rdd mcu cmd endianness + - net: sched: incorrect Kconfig dependencies on Netfilter modules + - net: openvswitch: fix TTL decrement exception action execution + - net: bridge: Fix a warning when del bridge sysfs + - net: fix proc_fs init handling in af_packet and tls + - Xen/x86: don't bail early from clear_foreign_p2m_mapping() + - Xen/x86: also check kernel mapping in set_foreign_p2m_mapping() + - Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages() + - Xen/gntdev: correct error checking in gntdev_map_grant_pages() + - xen/arm: don't ignore return errors from set_phys_to_machine + - xen-blkback: don't "handle" error by BUG() + - xen-netback: don't "handle" error by BUG() + - xen-scsiback: don't "handle" error by BUG() + - xen-blkback: fix error handling in xen_blkbk_map() + - tty: protect tty_write from odd low-level tty disciplines + - btrfs: fix backport of 2175bf57dc952 in 5.10.13 + - media: pwc: Use correct device for DMA + - HID: make arrays usage and value to be the same + - RDMA: Lift ibdev_to_node from rds to common code + - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device + - USB: quirks: sort quirk entries + - usb: quirks: add quirk to start video capture on ELMO L-12F document camera + reliable + - ceph: downgrade warning from mdsmap decode to debug + - ntfs: check for valid standard information attribute + - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working + - arm64: tegra: Add power-domain for Tegra210 HDA + - hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist + - mm: unexport follow_pte_pmd + - mm: simplify follow_pte{,pmd} + - KVM: do not assume PTE is writable after follow_pfn + - mm: provide a saner PTE walking API for modules + - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() + - NET: usb: qmi_wwan: Adding support for Cinterion MV31 + - cxgb4: Add new T6 PCI device id 0x6092 + - kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 + - scripts/recordmcount.pl: support big endian for ARCH sh + + * Groovy update: upstream stable patchset 2021-03-12 (LP: #1918987) + - net: fec: put child node on error path + - net: octeontx2: Make sure the buffer is 128 byte aligned + - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing + - net: dsa: bcm_sf2: put device node before return + - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP + - ibmvnic: Ensure that CRQ entry read are correctly ordered + - iommu/io-pgtable-arm: Support coherency for Mali LPAE + - drm/panfrost: Support cache-coherent integrations + - arm64: dts: meson: Describe G12b GPU as coherent + - arm64: Fix kernel address detection of __is_lm_address() + - arm64: Do not pass tagged addresses to __is_lm_address() + - ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD + - iommu/vt-d: Do not use flush-queue when caching-mode is on + - phy: cpcap-usb: Fix warning for missing regulator_disable + - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency + - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or + base_frequency + - platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on + Estar Beauty HD tablet + - platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352 + - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP + - x86: __always_inline __{rd,wr}msr() + - scsi: scsi_transport_srp: Don't block target in failfast state + - scsi: libfc: Avoid invoking response handler twice if ep is already + completed + - scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 + - ALSA: hda - add Intel DG1 PCI and HDMI ids + - ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid + - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid + - objtool: Don't add empty symbols to the rbtree + - mac80211: fix incorrect strlen of .write in debugfs + - mac80211: fix fast-rx encryption check + - scsi: ibmvfc: Set default timeout to avoid crash during migration + - i2c: tegra: Create i2c_writesl_vi() to use with VI I2C for filling TX FIFO + - udf: fix the problem that the disc content is not displayed + - nvme: check the PRINFO bit before deciding the host buffer length + - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout + - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout + - nvme-pci: allow use of cmb on v1.4 controllers + - nvmet: set right status on error in id-ns handler + - platform/x86: thinkpad_acpi: Add P53/73 firmware to fan_quirk_table for dual + fan control + - selftests/powerpc: Only test lwm/stmw on big endian + - drm/amd/display: Update dram_clock_change_latency for DCN2.1 + - drm/amd/display: Change function decide_dp_link_settings to avoid infinite + looping + - drm/amd/display: Use hardware sequencer functions for PG control + - objtool: Don't fail the kernel build on fatal errors + - x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel + CPU family + - x86/cpu: Add another Alder Lake CPU to the Intel family + - kthread: Extract KTHREAD_IS_PER_CPU + - workqueue: Restrict affinity change to rescuer + - Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT"" + - ACPI: thermal: Do not call acpi_thermal_check() directly + - USB: serial: cp210x: add pid/vid for WSDA-200-USB + - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 + - USB: serial: option: Adding support for Cinterion MV31 + - usb: host: xhci-plat: add priv quirk for skip PHY initialization + - usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 + - USB: gadget: legacy: fix an error code in eth_bind() + - usb: gadget: aspeed: add missing of_node_put + - USB: usblp: don't call usb_set_interface if there's a single alt + - usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop() + - usb: dwc2: Fix endpoint direction check in ep_from_windex + - usb: dwc3: fix clock issue during resume in OTG mode + - usb: xhci-mtk: fix unreleased bandwidth data + - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints + - usb: xhci-mtk: break loop when find the endpoint to drop + - ARM: OMAP1: OSK: fix ohci-omap breakage + - arm64: dts: qcom: c630: keep both touchpad devices enabled + - arm64: dts: amlogic: meson-g12: Set FL-adj property value + - arm64: dts: rockchip: fix vopl iommu irq on px30 + - arm64: dts: rockchip: Use only supported PCIe link speed on Pinebook Pro + - ARM: dts: stm32: Connect card-detect signal on DHCOM + - ARM: dts: stm32: Disable WP on DHCOM uSD slot + - um: virtio: free vu_dev only with the contained struct device + - arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4 + - r8169: work around RTL8125 UDP hw bug + - rxrpc: Fix deadlock around release of dst cached on udp tunnel + - arm64: dts: ls1046a: fix dcfg address range + - SUNRPC: Fix NFS READs that start at non-page-aligned offsets + - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr + - igc: check return value of ret_val in igc_config_fc_after_link_up + - i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" + - ibmvnic: device remove has higher precedence over reset + - net/mlx5: Fix leak upon failure of rule creation + - net/mlx5e: Update max_opened_tc also when channels are closed + - net/mlx5e: Release skb in case of failure in tc update skb + - net: lapb: Copy the skb before sending a packet + - net: mvpp2: TCAM entry enable should be written after SRAM data + - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set + - net: ipa: pass correct dma_handle to dma_free_coherent() + - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode + - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs + - memblock: do not start bottom-up allocations with kernel_end + - ovl: fix dentry leak in ovl_get_redirect + - mac80211: fix station rate table updates on assoc + - gpiolib: free device name on error path to fix kmemleak + - fgraph: Initialize tracing_graph_pause at task creation + - tracing/kprobe: Fix to support kretprobe events on unloaded modules + - kretprobe: Avoid re-registration of the same kretprobe earlier + - tracing: Use pause-on-trace with the latency tracers + - libnvdimm/namespace: Fix visibility of namespace resource attribute + - libnvdimm/dimm: Avoid race between probe and available_slots_show() + - genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 + - genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set + - scripts: use pkg-config to locate libcrypto + - xhci: fix bounce buffer usage for non-sg list case + - RISC-V: Define MAXPHYSMEM_1GB only for RV32 + - cifs: report error instead of invalid when revalidating a dentry fails + - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it + - smb3: Fix out-of-bounds bug in SMB2_negotiate() + - smb3: fix crediting for compounding when only one request in flight + - mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb + - mmc: core: Limit retries when analyse of SDIO tuples fails + - Fix unsynchronized access to sev members through svm_register_enc_region + - drm/i915/display: Prevent double YUV range correction on HDR planes + - drm/i915: Extract intel_ddi_power_up_lanes() + - drm/i915: Power up combo PHY lanes for for HDMI as well + - drm/amd/display: Revert "Fix EDID parsing after resume from suspend" + - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs + - KVM: SVM: Treat SVM as unsupported when running as an SEV guest + - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off + - KVM: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl + - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode + - DTS: ARM: gta04: remove legacy spi-cs-high to make display work again + - ARM: dts; gta04: SPI panel chip select is active low + - ARM: footbridge: fix dc21285 PCI configuration accessors + - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page + - mm: hugetlb: fix a race between freeing and dissolving the page + - mm: hugetlb: fix a race between isolating and freeing page + - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active + - mm, compaction: move high_pfn to the for loop scope + - mm: thp: fix MADV_REMOVE deadlock on shmem THP + - mm/filemap: add missing mem_cgroup_uncharge() to + __add_to_page_cache_locked() + - x86/build: Disable CET instrumentation in the kernel + - x86/debug: Fix DR6 handling + - x86/debug: Prevent data breakpoints on __per_cpu_offset + - x86/debug: Prevent data breakpoints on cpu_dr7 + - x86/apic: Add extra serialization for non-serializing MSRs + - Input: goodix - add support for Goodix GT9286 chip + - Input: xpad - sync supported devices with fork on GitHub + - Input: ili210x - implement pressure reporting for ILI251x + - md: Set prev_flush_start and flush_bio in an atomic way + - neighbour: Prevent a dead entry from updating gc_list + - net: ip_tunnel: fix mtu calculation + - udp: ipv4: manipulate network header of NATed UDP GRO fraglist + - net: dsa: mv88e6xxx: override existent unicast portvec in port_fdb_add + - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace + - iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues + + * power off stress test will hang on the TGL machines (LP: #1919930) + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + + * eeh-basic.sh from powerpc in ubuntu_kernel_selftests failed with unexpected + operator on F-5.8 (LP: #1909428) + - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant + + -- Stefan Bader Wed, 14 Apr 2021 15:23:21 +0200 + +linux (5.8.0-50.56) groovy; urgency=medium + + * overlayfs calls vfs_setxattr without cap_convert_nscap + - vfs: move cap_convert_nscap() call into vfs_setxattr() + + * 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 + + * CVE-2021-29154 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-64 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-32 + + -- Stefan Bader Mon, 12 Apr 2021 17:02:49 +0200 + +linux (5.8.0-49.55) groovy; urgency=medium + + * groovy/linux: 5.8.0-49.55 -proposed tracker (LP: #1921053) + + * selftests: bpf verifier fails after sanitize_ptr_alu fixes (LP: #1920995) + - bpf: Simplify alu_limit masking for pointer arithmetic + - bpf: Add sanity check for upper ptr_limit + - bpf, selftests: Fix up some test_verifier cases for unprivileged + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * improper memcg accounting causes NULL pointer derefs (LP: #1918668) + - SAUCE: Revert "mm: memcg/slab: optimize objcg stock draining" + + * kernel: Enable CONFIG_BPF_LSM on Ubuntu (LP: #1905975) + - [Config] Enable CONFIG_BPF_LSM + + * Groovy update: upstream stable patchset 2021-03-10 (LP: #1918516) + - gpio: mvebu: fix pwm .get_state period calculation + - HID: wacom: Correct NULL dereference on AES pen proximity + - media: v4l2-subdev.h: BIT() is not available in userspace + - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC + - kernel/io_uring: cancel io_uring before task works + - io_uring: dont kill fasync under completion_lock + - objtool: Don't fail on missing symbol table + - mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint + - mm: fix a race on nr_swap_pages + - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions + - iwlwifi: provide gso_type to GSO packets + - tty: avoid using vfs_iocb_iter_write() for redirected console writes + - ACPI: sysfs: Prefer "compatible" modalias + - kernel: kexec: remove the lock operation of system_transition_mutex + - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 + - ALSA: hda/via: Apply the workaround generically for Clevo machines + - parisc: Enable -mlong-calls gcc option by default when !CONFIG_MODULES + - media: cec: add stm32 driver + - media: hantro: Fix reset_raw_fmt initialization + - media: rc: fix timeout handling after switch to microsecond durations + - media: rc: ite-cir: fix min_timeout calculation + - media: rc: ensure that uevent can be read directly after rc device register + - ARM: dts: tbs2910: rename MMC node aliases + - ARM: dts: ux500: Reserve memory carveouts + - ARM: dts: imx6qdl-gw52xx: fix duplicate regulator naming + - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() + - ASoC: AMD Renoir - refine DMI entries for some Lenovo products + - drm/i915: Always flush the active worker before returning from the wait + - drm/i915/gt: Always try to reserve GGTT address 0x0 + - drivers/nouveau/kms/nv50-: Reject format modifiers for cursor planes + - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family + - s390: uv: Fix sysfs max number of VCPUs reporting + - s390/vfio-ap: No need to disable IRQ after queue reset + - PM: hibernate: flush swap writer after marking + - x86/entry: Emit a symbol for register restoring thunk + - efi/apple-properties: Reinstate support for boolean properties + - drivers: soc: atmel: Avoid calling at91_soc_init on non AT91 SoCs + - drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[] + - btrfs: fix possible free space tree corruption with online conversion + - KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in + intel_arch_events[] + - KVM: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() + - KVM: nVMX: Sync unsync'd vmcs02 state to vmcs12 on migration + - KVM: x86: get smi pending status correctly + - KVM: Forbid the use of tagged userspace addresses for memslots + - xen: Fix XenStore initialisation for XS_LOCAL + - leds: trigger: fix potential deadlock with libata + - arm64: dts: broadcom: Fix USB DMA address translation for Stingray + - mt7601u: fix kernel crash unplugging the device + - mt7601u: fix rx buffer refcounting + - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. + - drm/i915/gt: Clear CACHE_MODE prior to clearing residuals + - drm/i915/pmu: Don't grab wakeref when enabling events + - net/mlx5e: Fix IPSEC stats + - ARM: dts: imx6qdl-kontron-samx6i: fix pwms for lcd-backlight + - drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices + - drm/i915: Check for all subplatform bits + - drm/i915/selftest: Fix potential memory leak + - uapi: fix big endian definition of ipv6_rpl_sr_hdr + - KVM: Documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM + - tee: optee: replace might_sleep with cond_resched + - xen-blkfront: allow discard-* nodes to be optional + - clk: mmp2: fix build without CONFIG_PM + - clk: qcom: gcc-sm250: Use floor ops for sdcc clks + - ARM: imx: build suspend-imx6.S with arm instruction set + - ARM: zImage: atags_to_fdt: Fix node names on added root nodes + - netfilter: nft_dynset: add timeout extension to template + - Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" + - xfrm: Fix oops in xfrm_replay_advance_bmp + - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces + - xfrm: Fix wraparound in xfrm_policy_addr_delta() + - arm64: dts: ls1028a: fix the offset of the reset register + - ARM: dts: imx6qdl-kontron-samx6i: fix i2c_lcd/cam default status + - ARM: dts: imx6qdl-sr-som: fix some cubox-i platforms + - arm64: dts: imx8mp: Correct the gpio ranges of gpio3 + - firmware: imx: select SOC_BUS to fix firmware build + - RDMA/cxgb4: Fix the reported max_recv_sge value + - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete + - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() + - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn + - iwlwifi: pcie: set LTR on more devices + - iwlwifi: pcie: use jiffies for memory read spin time limit + - iwlwifi: pcie: reschedule in long-running memory reads + - mac80211: pause TX while changing interface type + - ice: fix FDir IPv6 flexbyte + - ice: Implement flow for IPv6 next header (extension header) + - ice: update dev_addr in ice_set_mac_address even if HW filter exists + - ice: Don't allow more channels than LAN MSI-X available + - ice: Fix MSI-X vector fallback logic + - i40e: acquire VSI pointer only after VF is initialized + - igc: fix link speed advertising + - net/mlx5: Fix memory leak on flow table creation error flow + - net/mlx5e: E-switch, Fix rate calculation for overflow + - net/mlx5e: free page before return + - net/mlx5e: Reduce tc unsupported key print level + - net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled + - net/mlx5e: Fix CT rule + encap slow path offload and deletion + - net/mlx5e: Correctly handle changing the number of queues when the interface + is down + - net/mlx5e: Revert parameters on errors when changing trust state without + reset + - net/mlx5e: Revert parameters on errors when changing MTU and LRO state + without reset + - can: dev: prevent potential information leak in can_fill_info() + - ACPI/IORT: Do not blindly trust DMA masks from firmware + - iommu/amd: Use IVHD EFR for early initialization of IOMMU features + - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() + - nvme-multipath: Early exit if no path is available + - selftests: forwarding: Specify interface when invoking mausezahn + - rxrpc: Fix memory leak in rxrpc_lookup_local + - NFC: fix resource leak when target index is invalid + - NFC: fix possible resource leak + - ASoC: topology: Properly unregister DAI on removal + - ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() + - team: protect features update by RCU to avoid deadlock + - tcp: make TCP_USER_TIMEOUT accurate for zero window probes + - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN + - ICMPv6: Add ICMPv6 Parameter Problem, code 3 definition + - IPv6: reply ICMP error if the first fragment don't include all headers + - iommu/vt-d: Gracefully handle DMAR units with no supported address widths + + * xfrm_policy.sh in net from ubuntu_kernel_selftests passed with failed sub- + cases (LP: #1909647) + - selftests: xfrm: fix test return value override issue in xfrm_policy.sh + + * CVE-2021-3347 + - futex: Remove put_futex_key() + - futex: Remove needless goto's + - futex: Replace pointless printk in fixup_owner() + - futex: Ensure the correct return value from futex_lock_pi() + - futex: Provide and use pi_state_update_owner() + - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() + - futex: Use pi_state_update_owner() in put_pi_state() + - futex: Simplify fixup_pi_state_owner() + - futex: Handle faults correctly for PI futexes + + * CVE-2021-3348 + - nbd: freeze the queue while we're adding connections + + * [Regression] ubuntu_bpf failed to build on Groovy (LP: #1917609) + - SAUCE: partially revert "bpf: Zero-fill re-used per-cpu map element" + + * alsa/hda: the hdmi audio dosn't work on TGL machines (LP: #1917829) + - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically + + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload + - i2c: bpmp-tegra: Ignore unknown I2C_M flags + - platform/x86: i2c-multi-instantiate: Don't create platform device for + INT3515 ACPI nodes + - platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634 + - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() + - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T + - ALSA: hda/via: Add minimum mute flag + - dm crypt: fix copy and paste bug in crypt_alloc_req_aead + - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error + - btrfs: don't get an EINTR during drop_snapshot for reloc + - btrfs: do not double free backref nodes on error + - btrfs: fix lockdep splat in btrfs_recover_relocation + - btrfs: don't clear ret in btrfs_start_dirty_block_groups + - btrfs: send: fix invalid clone operations when cloning from the same file + and root + - writeback: Drop I_DIRTY_TIME_EXPIRE + - fs: fix lazytime expiration handling in __writeback_single_inode() + - pinctrl: ingenic: Fix JZ4760 support + - mmc: core: don't initialize block size from ext_csd if not present + - mmc: sdhci-of-dwcmshc: fix rpmb access + - mmc: sdhci-xenon: fix 1.8v regulator stabilization + - mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend + - dm: avoid filesystem lookup in dm_get_dev_t() + - dm integrity: fix a crash if "recalculate" used without "internal_hash" + - dm integrity: conditionally disable "recalculate" feature + - drm/atomic: put state on error path + - drm/syncobj: Fix use-after-free + - drm/amdgpu: remove gpu info firmware of green sardine + - drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case + - drm/i915/gt: Prevent use of engine->wa_ctx after error + - ASoC: Intel: haswell: Add missing pm_ops + - ASoC: rt711: mutex between calibration and power state changes + - SUNRPC: Handle TCP socket sends with kernel_sendpage() again + - HID: sony: select CONFIG_CRC32 + - dm integrity: select CRYPTO_SKCIPHER + - scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback + - scsi: qedi: Correct max length of CHAP secret + - scsi: scsi_debug: Fix memleak in scsi_debug_init() + - scsi: sd: Suppress spurious errors when WRITE SAME is being disabled + - riscv: Fix kernel time_init() + - riscv: Fix sifive serial driver + - riscv: Enable interrupts during syscalls with M-Mode + - HID: logitech-dj: add the G602 receiver + - HID: Ignore battery for Elan touchscreen on ASUS UX550 + - clk: tegra30: Add hda clock default rates to clock driver + - ALSA: hda/tegra: fix tegra-hda on tegra30 soc + - arm64: make atomic helpers __always_inline + - xen: Fix event channel callback via INTX/GSI + - x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery + - dts: phy: fix missing mdio device and probe failure of vsc8541-01 device + - riscv: defconfig: enable gpio support for HiFive Unleashed + - drm/amdgpu/psp: fix psp gfx ctrl cmds + - drm/amd/display: disable dcn10 pipe split by default + - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode + - drm/amd/display: Fix to be able to stop crc calculation + - drm/nouveau/bios: fix issue shadowing expansion ROMs + - drm/nouveau/privring: ack interrupts the same way as RM + - drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields + - drm/nouveau/mmu: fix vram heap sizing + - drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 + - io_uring: flush timeouts that should already have expired + - libperf tests: If a test fails return non-zero + - libperf tests: Fail when failing to get a tracepoint id + - RISC-V: Set current memblock limit + - RISC-V: Fix maximum allowed phsyical memory for RV32 + - pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting + - pinctrl: mediatek: Fix fallback call path + - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression + - scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM + - crypto: omap-sham - Fix link error without crypto-engine + - powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S + - powerpc: Fix alignment bug within the init sections + - arm64: entry: remove redundant IRQ flag tracing + - drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu() + - i2c: octeon: check correct size of maximum RECV_LEN packet + - platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow- + list + - platform/x86: hp-wmi: Don't log a warning on HPWMI_RET_UNKNOWN_COMMAND + errors + - gpio: sifive: select IRQ_DOMAIN_HIERARCHY rather than depend on it + - selftests: net: fib_tests: remove duplicate log test + - can: dev: can_restart: fix use after free bug + - can: vxcan: vxcan_xmit: fix use after free bug + - can: peak_usb: fix use after free bugs + - perf evlist: Fix id index for heterogeneous systems + - i2c: sprd: depend on COMMON_CLK to fix compile tests + - iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread + - iio: ad5504: Fix setting power-down state + - counter:ti-eqep: remove floor + - cifs: do not fail __smb_send_rqst if non-fatal signals are pending + - irqchip/mips-cpu: Set IPI domain parent chip + - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state + - x86/topology: Make __max_die_per_package available unconditionally + - x86/mmx: Use KFPU_387 for MMX string operations + - proc_sysctl: fix oops caused by incorrect command parameters + - mm: memcg/slab: optimize objcg stock draining + - io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state + - intel_th: pci: Add Alder Lake-S support + - intel_th: pci: Add Alder Lake CPU support + - intel_th: pci: Add Alder Lake-P support + - stm class: Fix module init return on allocation failure + - serial: mvebu-uart: fix tx lost characters at power off + - ehci: fix EHCI host controller initialization sequence + - USB: ehci: fix an interrupt calltrace error + - usb: gadget: aspeed: fix stop dma register setting. + - USB: gadget: dummy-hcd: Fix errors in port-reset handling + - usb: udc: core: Use lock when write to soft_connect + - [Config] updateconfigs for USB_BDC_PCI + - usb: bdc: Make bdc pci driver depend on BROKEN + - usb: cdns3: imx: fix writing read-only memory issue + - usb: cdns3: imx: fix can't create core device the second time issue + - xhci: make sure TRB is fully written before giving it to the controller + - xhci: tegra: Delay for disabling LFPS detector + - driver core: Extend device_is_dependent() + - x86/cpu/amd: Set __max_die_per_package on AMD + - cls_flower: call nla_ok() before nla_next() + - netfilter: rpfilter: mask ecn bits before fib lookup + - sh: dma: fix kconfig dependency for G2_DMA + - ASoC: SOF: Intel: fix page fault at probe if i915 init fails + - octeontx2-af: Fix missing check bugs in rvu_cgx.c + - net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext + - sh_eth: Fix power down vs. is_opened flag ordering + - cachefiles: Drop superfluous readpages aops NULL check + - lightnvm: fix memory leak when submit fails + - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too + - kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow + - kasan: fix incorrect arguments passing in kasan_add_zero_shadow + - tcp: fix TCP socket rehash stats mis-accounting + - net_sched: gen_estimator: support large ewma log + - udp: mask TOS bits in udp_v4_early_demux() + - ipv6: create multicast route with RTPROT_KERNEL + - net_sched: avoid shift-out-of-bounds in tcindex_set_parms() + - net_sched: reject silly cell_log in qdisc_get_rtab() + - ipv6: set multicast flag on the multicast route + - net: mscc: ocelot: allow offloading of bridge on top of LAG + - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled + - net: dsa: b53: fix an off by one in checking "vlan->vid" + - tcp: do not mess with cloned skbs in tcp_add_backlog() + - tcp: fix TCP_USER_TIMEOUT with zero window + - net: core: devlink: use right genl user_ptr when handling port param get/set + - pinctrl: qcom: Allow SoCs to specify a GPIO function that's not 0 + - pinctrl: qcom: No need to read-modify-write the interrupt status + - pinctrl: qcom: Properly clear "intr_ack_high" interrupts when unmasking + - pinctrl: qcom: Don't clear pending interrupts when enabling + - tty: implement write_iter + - tty: fix up hung_up_tty_write() conversion + - drm/i915/hdcp: Get conn while content_type changed + - seq_file: add seq_read_iter + - kernfs: implement ->read_iter + - kernfs: implement ->write_iter + - kernfs: wire up ->splice_read and ->splice_write + - fs/pipe: allow sendfile() to pipe again + - Commit 9bb48c82aced ("tty: implement write_iter") converted the tty layer to + use write_iter. Fix the redirected_tty_write declaration also in n_tty and + change the comparisons to use write_iter instead of write. also in n_tty and + change the comparisons to use write_iter instead of write. + + * Enforce CONFIG_DRM_BOCHS=m (LP: #1916290) + - [Config] Enforce CONFIG_DRM_BOCHS=m + + * Groovy update: upstream stable patchset 2021-02-25 (LP: #1916960) + - btrfs: reloc: fix wrong file extent type check to avoid false ENOENT + - btrfs: prevent NULL pointer dereference in extent_io_tree_panic + - ALSA: doc: Fix reference to mixart.rst + - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 + - ASoC: dapm: remove widget from dirty list on free + - x86/hyperv: check cpu mask after interrupt has been disabled + - drm/amdgpu: add green_sardine device id (v2) + - drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921) + - drm/amdgpu: add Green_Sardine APU flag + - drm/amdgpu: add green_sardine support for gpu_info and ip block setting (v2) + - drm/amdgpu: add soc15 common ip block support for green_sardine (v3) + - drm/amdgpu: add new device id for Renior + - drm/i915/gt: Limit VFE threads based on GT + - drm/i915/backlight: fix CPU mode backlight takeover on LPT + - drm/bridge: sii902x: Refactor init code into separate function + - dt-bindings: display: sii902x: Add supply bindings + - tracing/kprobes: Do the notrace functions check without kprobes on ftrace + - ext4: fix bug for rename with RENAME_WHITEOUT + - cifs: check pointer before freeing + - cifs: fix interrupted close commands + - riscv: return -ENOSYS for syscall -1 + - riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL + - mips: fix Section mismatch in reference + - mips: lib: uncached: fix non-standard usage of variable 'sp' + - MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB + - MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps + - MIPS: relocatable: fix possible boot hangup with KASLR enabled + - RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() + - ACPI: scan: Harden acpi_device_add() against device ID overflows + - xen/privcmd: allow fetching resource sizes + - compiler.h: Raise minimum version of GCC to 5.1 for arm64 + - mm/hugetlb: fix potential missing huge page size info + - mm/process_vm_access.c: include compat.h + - dm raid: fix discard limits for raid1 + - dm snapshot: flush merged data before committing metadata + - dm integrity: fix flush with external metadata device + - dm integrity: fix the maximum number of arguments + - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq + - stmmac: intel: change all EHL/TGL to auto detect phy addr + - r8152: Add Lenovo Powered USB-C Travel Hub + - btrfs: tree-checker: check if chunk item end overflows + - ext4: don't leak old mountpoint samples + - ARC: build: remove non-existing bootpImage from KBUILD_IMAGE + - ARC: build: add uImage.lzma to the top-level target + - ARC: build: add boot_targets to PHONY + - ARC: build: move symlink creation to arch/arc/Makefile to avoid race + - ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults + on xt875 + - ath11k: fix crash caused by NULL rx_channel + - netfilter: ipset: fixes possible oops in mtype_resize + - btrfs: fix async discard stall + - btrfs: merge critical sections of discard lock in workfn + - btrfs: fix transaction leak and crash after RO remount caused by qgroup + rescan + - regulator: bd718x7: Add enable times + - ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram + - habanalabs/gaudi: retry loading TPC f/w on -EINTR + - habanalabs: register to pci shutdown callback + - habanalabs: Fix memleak in hl_device_reset + - hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values + - lib/raid6: Let $(UNROLL) rules work with macOS userland + - spi: fix the divide by 0 error when calculating xfer waiting time + - arch/arc: add copy_user_page() to to fix build error on ARC + - misdn: dsp: select CONFIG_BITREVERSE + - net: ethernet: fs_enet: Add missing MODULE_LICENSE + - nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN + - nvme: avoid possible double fetch in handling CQE + - nvmet-rdma: Fix list_del corruption on queue establishment failure + - drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue + - drm/amdgpu: fix a GPU hang issue when remove device + - drm/amd/pm: fix the failure when change power profile for renoir + - drm/amdgpu: fix potential memory leak during navi12 deinitialization + - usb: typec: Fix copy paste error for NVIDIA alt-mode description + - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() + - ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI + - drm/msm: Call msm_init_vram before binding the gpu + - ARM: picoxcell: fix missing interrupt-parent properties + - poll: fix performance regression due to out-of-line __put_user() + - bpf: Simplify task_file_seq_get_next() + - bpf: Save correct stopping point in file seq iteration + - cfg80211: select CONFIG_CRC32 + - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev + - net/mlx5: Fix passing zero to 'PTR_ERR' + - net/mlx5: E-Switch, fix changing vf VLANID + - mm: don't put pinned pages into the swap cache + - perf intel-pt: Fix 'CPU too large' error + - dump_common_audit_data(): fix racy accesses to ->d_name + - ASoC: meson: axg-tdm-interface: fix loopback + - ASoC: meson: axg-tdmin: fix axg skew offset + - ASoC: Intel: fix error code cnl_set_dsp_D0() + - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY + - nvme: don't intialize hwmon for discovery controllers + - nvme-tcp: fix possible data corruption with bio merges + - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT + - NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock + - pNFS: We want return-on-close to complete when evicting the inode + - pNFS: Mark layout for return if return-on-close was not sent + - pNFS: Stricter ordering of layoutget and layoutreturn + - NFS: Adjust fs_context error logging + - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request + - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() + - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter + - NFS: nfs_delegation_find_inode_server must first reference the superblock + - NFS: nfs_igrab_and_active must first reference the superblock + - scsi: ufs: Fix possible power drain during system suspend + - ext4: fix superblock checksum failure when setting password salt + - RDMA/restrack: Don't treat as an error allocation ID wrapping + - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp + - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. + - RDMA/mlx5: Fix wrong free of blue flame register on error + - IB/mlx5: Fix error unwinding when set_has_smi_cap fails + - dm zoned: select CONFIG_CRC32 + - drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is + no reset-deassert MIPI-sequence + - drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout + - drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail + - mm, slub: consider rest of partial list if acquire_slab() fails + - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() + - net: sunrpc: interpret the return value of kstrtou32 correctly + - selftests: netfilter: Pass family parameter "-f" to conntrack tool + - dm: eliminate potential source of excessive kernel log noise + - ALSA: fireface: Fix integer overflow in transmit_midi_msg() + - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() + - netfilter: conntrack: fix reading nf_conntrack_buckets + - netfilter: nf_nat: Fix memleak in nf_nat_init + - netfilter: nft_compat: remove flush counter optimization + - kbuild: enforce -Werror=return-type + - [Config] updateconfigs for KPROBE_EVENTS_ON_NOTRACE + - x86/hyperv: Initialize clockevents after LAPIC is initialized + - bpf: Fix signed_{sub,add32}_overflows type handling + - nfsd4: readdirplus shouldn't return parent of export + - bpf: Don't leak memory in bpf getsockopt when optlen == 0 + - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling + - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback + - net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links + - net: fix use-after-free when UDP GRO with shared fraglist + - udp: Prevent reuseport_select_sock from reading uninitialized socks + - netxen_nic: fix MSI/MSI-x interrupts + - net: ipv6: Validate GSO SKB before finish IPv6 processing + - tipc: fix NULL deref in tipc_link_xmit() + - mlxsw: core: Add validation of transceiver temperature thresholds + - mlxsw: core: Increase critical threshold for ASIC thermal zone + - net: mvpp2: Remove Pause and Asym_Pause support + - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request + - esp: avoid unneeded kmap_atomic call + - net: dcb: Validate netlink message in DCB handler + - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands + - rxrpc: Call state should be read with READ_ONCE() under some circumstances + - i40e: fix potential NULL pointer dereferencing + - net: stmmac: Fixed mtu channged by cache aligned + - net: sit: unregister_netdevice on newlink's error path + - net: stmmac: fix taprio schedule configuration + - net: stmmac: fix taprio configuration when base_time is in the past + - net: avoid 32 x truesize under-estimation for tiny skbs + - rxrpc: Fix handling of an unsupported token type in rxrpc_read() + - net: stmmac: use __napi_schedule() for PREEMPT_RT + - drm/panel: otm8009a: allow using non-continuous dsi clock + - mac80211: do not drop tx nulldata packets on encrypted links + - mac80211: check if atf has been disabled in __ieee80211_schedule_txq + - net: dsa: unbind all switches from tree when DSA master unbinds + - cxgb4/chtls: Fix tid stuck due to wrong update of qid + - spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode + - spi: cadence: cache reference clock rate during probe + - usb: ohci: Make distrust_firmware param default to false + - elfcore: fix building with clang + - spi: npcm-fiu: simplify the return expression of npcm_fiu_probe() + - spi: npcm-fiu: Disable clock in probe error path + + * CVE-2021-20239 + - net, sctp, filter: remap copy_from_user failure error + + -- Stefan Bader Wed, 24 Mar 2021 10:27:36 +0100 + +linux (5.8.0-48.54) groovy; urgency=medium + + * CVE-2020-27170 + - bpf: Fix off-by-one for area size in creating mask to left + + * CVE-2020-27171 + - bpf: Prohibit alu ops for pointer types not defining ptr_limit + + -- Kleber Sacilotto de Souza Fri, 19 Mar 2021 14:26:30 +0100 + +linux (5.8.0-47.53) groovy; urgency=medium + + * binary assembly failures with CONFIG_MODVERSIONS present (LP: #1919315) + - [Packaging] quiet (nomially) benign errors in BUILD script + + * CVE-2021-3444 + - bpf: Fix 32 bit src register truncation on div/mod + - bpf: Fix truncation handling for mod32 dst reg wrt zero + + * CVE-2021-27365 + - scsi: iscsi: Verify lengths on passthrough PDUs + - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output + - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE + + * CVE-2021-27363 // CVE-2021-27364 + - scsi: iscsi: Restrict sessions and handles to admin capabilities + + -- Stefan Bader Wed, 17 Mar 2021 10:19:07 +0100 + +linux (5.8.0-45.51) groovy; urgency=medium + + * groovy/linux: 5.8.0-45.51 -proposed tracker (LP: #1916143) + + * 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 + - [Config] Allow ASM_MODVERSIONS and MODULE_REL_CRCS + + * CVE-2021-20194 + - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou + - bpf, cgroup: Fix problematic bounds check + + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/core: Emit a warning if the thermal zone is updated without ops + - thermal/core: Add critical and hot ops + - thermal/drivers/acpi: Use hot and critical ops + - thermal/drivers/rcar: Remove notification usage + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + + * geneve overlay network on vlan interface broken with offload enabled + (LP: #1914447) + - net/mlx5e: Fix SWP offsets when vlan inserted by driver + + * Groovy update: upstream stable patchset 2021-02-11 (LP: #1915473) + - net: cdc_ncm: correct overhead in delayed_ndp_size + - net: hns3: fix the number of queues actually used by ARQ + - net: hns3: fix a phy loopback fail issue + - net: stmmac: dwmac-sun8i: Balance internal PHY resource references + - net: stmmac: dwmac-sun8i: Balance internal PHY power + - net: vlan: avoid leaks on register_vlan_dev() failures + - net/sonic: Fix some resource leaks in error handling paths + - net: ipv6: fib: flush exceptions when purging route + - tools: selftests: add test for changing routes with PTMU exceptions + - net: fix pmtu check in nopmtudisc mode + - net: ip: always refragment ip defragmented packets + - octeontx2-af: fix memory leak of lmac and lmac->name + - nexthop: Fix off-by-one error in error path + - nexthop: Unlink nexthop group entry in error path + - s390/qeth: fix L2 header access in qeth_l3_osa_features_check() + - net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE + - net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address + - net/mlx5e: ethtool, Fix restriction of autoneg with 56G + - chtls: Fix hardware tid leak + - chtls: Remove invalid set_tcb call + - chtls: Fix panic when route to peer not configured + - chtls: Replace skb_dequeue with skb_peek + - chtls: Added a check to avoid NULL pointer dereference + - chtls: Fix chtls resources release sequence + - HID: wacom: Fix memory leakage caused by kfifo_alloc + - ARM: OMAP2+: omap_device: fix idling of devices during probe + - i2c: sprd: use a specific timeout to avoid system hang up issue + - dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk() + - can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver + - can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop() + - can: kvaser_pciefd: select CONFIG_CRC32 + - cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get() + - spi: stm32: FIFO threshold level - fix align packet size + - i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated + - dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling + path of the probe function + - dmaengine: xilinx_dma: check dma_async_device_register return value + - dmaengine: xilinx_dma: fix incompatible param warning in _child_probe() + - dmaengine: xilinx_dma: fix mixed_enum_type coverity warning + - qed: select CONFIG_CRC32 + - wil6210: select CONFIG_CRC32 + - block: rsxx: select CONFIG_CRC32 + - lightnvm: select CONFIG_CRC32 + - iommu/intel: Fix memleak in intel_irq_remapping_alloc + - bpftool: Fix compilation failure for net.o with older glibc + - net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups + - net/mlx5e: Fix two double free cases + - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev + - wan: ds26522: select CONFIG_BITREVERSE + - regulator: qcom-rpmh-regulator: correct hfsmps515 definition + - net: mvpp2: disable force link UP during port init procedure + - KVM: arm64: Don't access PMCR_EL0 when no PMU is available + - block: fix use-after-free in disk_part_iter_next + - net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed + packet + - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() + - drm/panfrost: Don't corrupt the queue mutex on open/close + - scsi: ufs: Fix -Wsometimes-uninitialized warning + - btrfs: skip unnecessary searches for xattrs when logging an inode + - net: stmmac: dwmac-sun8i: Fix probe error handling + - net: stmmac: dwmac-sun8i: Balance syscon (de)initialization + - net: bareudp: add missing error handling for bareudp_link_config() + - ptp: ptp_ines: prevent build when HAS_IOMEM is not set + - chtls: Avoid unnecessary freeing of oreq pointer + - nexthop: Bounce NHA_GATEWAY in FDB nexthop groups + - net/mlx5e: In skb build skip setting mark in switchdev mode + - ionic: start queues before announcing link up + - fanotify: Fix sys_fanotify_mark() on native x86-32 + - spi: spi-geni-qcom: Fix geni_spi_isr() NULL dereference in timeout case + - i2c: mediatek: Fix apdma and i2c hand-shake timeout + - interconnect: imx: Add a missing of_node_put after of_device_is_available + - dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of + the probe function + - arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA + - phy: dp83640: select CONFIG_CRC32 + - zonefs: select CONFIG_CRC32 + - iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() + - nvme-tcp: Fix possible race of io_work and direct send + - arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST + - drm/i915/dp: Track pm_qos per connector + - net: mvneta: fix error message when MTU too large for XDP + - selftests: fib_nexthops: Fix wrong mausezahn invocation + - block/rnbd-clt: avoid module unload race with close confirmation + - drm/panfrost: Remove unused variables in panfrost_job_close() + - tools headers UAPI: Sync linux/fscrypt.h with the kernel sources + + * Fix the video can't output through WD19TB connected on TGL's Type-C port + during cold-boot (LP: #1913372) + - drm/dp/mst: Export drm_dp_get_vc_payload_bw() + - drm/i915: Fix the MST PBN divider calculation + + * Fix regression introduced by codec PM change (LP: #1912676) + - ASoC: SOF: Intel: hda: Resume codec to do jack detection + - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN + - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend + - ALSA: hda: Balance runtime/system PM if direct-complete is disabled + + * Restore palm ejection on multi-input devices (LP: #1913520) + - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices + + * intel-hid is not loaded on new Intel platform (LP: #1907160) + - platform/x86: intel-hid: add Rocket Lake ACPI device ID + + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + + * Groovy update: upstream stable patchset 2021-02-05 (LP: #1914832) + - i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs + - iavf: fix double-release of rtnl_lock + - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs + - net: mvpp2: Add TCAM entry to drop flow control pause frames + - net: mvpp2: prs: fix PPPoE with ipv6 packet parse + - net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE + - ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() + - ethernet: ucc_geth: set dev->max_mtu to 1518 + - ionic: account for vlan tag len in rx buffer len + - atm: idt77252: call pci_disable_device() on error path + - net: mvpp2: Fix GoP port 3 Networking Complex Control configurations + - ibmvnic: fix login buffer memory leak + - ibmvnic: continue fatal error reset after passive init + - net: ethernet: mvneta: Fix error handling in mvneta_probe + - virtio_net: Fix recursive call to cpus_read_lock() + - net/ncsi: Use real net-device for response handler + - net: ethernet: Fix memleak in ethoc_probe + - net-sysfs: take the rtnl lock when storing xps_cpus + - net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc + - net-sysfs: take the rtnl lock when storing xps_rxqs + - net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc + - net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered + - tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS + - bnxt_en: Check TQM rings for maximum supported value. + - net: mvpp2: fix pkt coalescing int-threshold configuration + - bnxt_en: Fix AER recovery. + - ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() + - net: sched: prevent invalid Scell_log shift count + - net: hns: fix return value check in __lb_other_process() + - erspan: fix version 1 check in gre_parse_header() + - net: hdlc_ppp: Fix issues when mod_timer is called while timer is running + - bareudp: set NETIF_F_LLTX flag + - bareudp: Fix use of incorrect min_headroom size + - vhost_net: fix ubuf refcount incorrectly when sendmsg fails + - r8169: work around power-saving bug on some chip versions + - net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs + - net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access + - CDC-NCM: remove "connected" log message + - ibmvnic: fix: NULL pointer dereference. + - net: usb: qmi_wwan: add Quectel EM160R-GL + - stmmac: intel: Add PCI IDs for TGL-H platform + - workqueue: Kick a worker based on the actual activation of delayed works + - scsi: ufs: Fix wrong print message in dev_err() + - scsi: ufs-pci: Fix restore from S4 for Intel controllers + - scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk + ->poweroff() + - scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers + - blk-mq: remove the BLK_MQ_REQ_INTERNAL flag + - scsi: block: Introduce BLK_MQ_REQ_PM + - scsi: ide: Do not set the RQF_PREEMPT flag for sense requests + - scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT + - scsi: scsi_transport_spi: Set RQF_PM for domain validation commands + - scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE + - local64.h: make mandatory + - lib/genalloc: fix the overflow when size is too big + - depmod: handle the case of /sbin/depmod without /sbin in PATH + - scsi: ufs: Clear UAC for FFU and RPMB LUNs + - kbuild: don't hardcode depmod path + - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close + - scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT + - scsi: block: Do not accept any requests while suspended + - crypto: ecdh - avoid buffer overflow in ecdh_set_secret() + - crypto: asym_tpm: correct zero out potential secrets + - powerpc: Handle .text.{hot,unlikely}.* in linker script + - Staging: comedi: Return -EFAULT if copy_to_user() fails + - staging: mt7621-dma: Fix a resource leak in an error handling path + - usb: gadget: enable super speed plus + - USB: cdc-acm: blacklist another IR Droid device + - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). + - usb: dwc3: meson-g12a: disable clk on error handling path in probe + - usb: dwc3: gadget: Clear wait flag on dequeue + - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion + - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one + - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression + - usb: chipidea: ci_hdrc_imx: add missing put_device() call in + usbmisc_get_init_data() + - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set + - usb: usbip: vhci_hcd: protect shift size + - usb: uas: Add PNY USB Portable SSD to unusual_uas + - USB: serial: iuu_phoenix: fix DMA from stack + - USB: serial: option: add LongSung M5710 module support + - USB: serial: option: add Quectel EM160R-GL + - USB: yurex: fix control-URB timeout handling + - USB: usblp: fix DMA to stack + - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks + - usb: gadget: select CONFIG_CRC32 + - USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug + - usb: gadget: f_uac2: reset wMaxPacketSize + - usb: gadget: function: printer: Fix a memory leak for interface descriptor + - usb: gadget: u_ether: Fix MTU size mismatch with RX packet size + - USB: gadget: legacy: fix return error code in acm_ms_bind() + - usb: gadget: Fix spinlock lockup on usb_function_deactivate + - usb: gadget: configfs: Preserve function ordering after bind failure + - usb: gadget: configfs: Fix use-after-free issue with udc_name + - USB: serial: keyspan_pda: remove unused variable + - hwmon: (amd_energy) fix allocation of hwmon_channel_info config + - mm: make wait_on_page_writeback() wait for multiple pending writebacks + - x86/mm: Fix leak of pmd ptlock + - kvm: check tlbs_dirty directly + - task_work: cleanup notification modes + - x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR + - x86/resctrl: Don't move a task to the same resource group + - blk-iocost: fix NULL iocg deref from racing against initialization + - ALSA: hda/via: Fix runtime PM for Clevo W35xSS + - ALSA: hda/conexant: add a new hda codec CX11970 + - ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 + - ALSA: hda/realtek: Add mute LED quirk for more HP laptops + - ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256. + - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct + intel_svm_dev + - btrfs: send: fix wrong file path when there is an inode with a pending rmdir + - Revert "device property: Keep secondary firmware node secondary by type" + - dmabuf: fix use-after-free of dmabuf's file->f_inode + - arm64: link with -z norelro for LLD or aarch64-elf + - drm/i915: clear the shadow batch + - netfilter: x_tables: Update remaining dereference to RCU + - netfilter: ipset: fix shift-out-of-bounds in htable_bits() + - netfilter: xt_RATEEST: reject non-null terminated string from userspace + - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature + - dmaengine: idxd: off by one in cleanup code + - x86/mtrr: Correct the range check before performing MTRR type lookups + - KVM: x86: fix shift out of bounds reported by UBSAN + - rtlwifi: rise completion at the last step of firmware callback + + * Groovy update: upstream stable patchset 2021-02-03 (LP: #1914472) + - net/sched: sch_taprio: reset child qdiscs before freeing them + - mptcp: fix security context on server socket + - ethtool: fix error paths in ethnl_set_channels() + - ethtool: fix string set id check + - md/raid10: initialize r10_bio->read_slot before use. + - drm/amd/display: Add get_dig_frontend implementation for DCEx + - io_uring: close a small race gap for files cancel + - jffs2: Allow setting rp_size to zero during remounting + - jffs2: Fix NULL pointer dereference in rp_size fs option parsing + - scsi: block: Fix a race in the runtime power management code + - mm/hugetlb: fix deadlock in hugetlb_cow error path + - mm: memmap defer init doesn't work as expected + - lib/zlib: fix inflating zlib streams on s390 + - uapi: move constants from to + - tools headers UAPI: Sync linux/const.h with the kernel headers + - cgroup: Fix memory leak when parsing multiple source parameters + - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c + - scsi: cxgb4i: Fix TLS dependency + - Bluetooth: hci_h5: close serdev device and free hu in h5_close + - fbcon: Disable accelerated scrolling + - reiserfs: add check for an invalid ih_entry_count + - misc: vmw_vmci: fix kernel info-leak by initializing dbells in + vmci_ctx_get_chkpt_doorbells() + - media: gp8psk: initialize stats at power control logic + - f2fs: fix shift-out-of-bounds in sanity_check_raw_super() + - ALSA: seq: Use bool for snd_seq_queue internal flags + - ALSA: rawmidi: Access runtime->avail always in spinlock + - bfs: don't use WARNING: string when it's just info. + - ext4: check for invalid block size early when mounting a file system + - fcntl: Fix potential deadlock in send_sig{io, urg}() + - rtc: sun6i: Fix memleak in sun6i_rtc_clk_init + - module: set MODULE_STATE_GOING state when a module fails to load + - quota: Don't overflow quota file offsets + - rtc: pl031: fix resource leak in pl031_probe + - powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() + - i3c master: fix missing destroy_workqueue() on error in i3c_master_register + - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode + - f2fs: avoid race condition for shrinker count + - module: delay kobject uevent until after module init call + - fs/namespace.c: WARN if mnt_count has become negative + - watchdog: rti-wdt: fix reference leak in rti_wdt_probe + - um: random: Register random as hwrng-core device + - um: ubd: Submit all data segments atomically + - ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails + - drm/amd/display: updated wm table for Renoir + - tick/sched: Remove bogus boot "safety" check + - s390: always clear kernel stack backchain before calling functions + - io_uring: remove racy overflow list fast checks + - ALSA: pcm: Clear the full allocated memory at hw_params + - dm verity: skip verity work if I/O error when system is shutting down + - rtc: pcf2127: move watchdog initialisation to a separate function + - rtc: pcf2127: only use watchdog when explicitly available + - dt-bindings: rtc: add reset-source property + - kdev_t: always inline major/minor helper functions + - ALSA: hda/realtek - Modify Dell platform name + - scsi: ufs: Allow an error return value from ->device_reset() + - scsi: ufs: Re-enable WriteBooster after device reset + - RDMA/siw,rxe: Make emulated devices virtual in the device tree + - fuse: fix bad inode + - rwsem: Implement down_read_killable_nested + - rwsem: Implement down_read_interruptible + - exec: Transform exec_update_mutex into a rw_semaphore + - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start + + -- Stefan Bader Fri, 19 Feb 2021 10:59:43 +0100 + +linux (5.8.0-44.50) groovy; urgency=medium + + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + + * 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 + + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + + * 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) + + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- Ian May Mon, 08 Feb 2021 18:58:55 -0600 + +linux (5.8.0-43.49) groovy; urgency=medium + + * groovy/linux: 5.8.0-43.49 -proposed tracker (LP: #1914689) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Exploitable vulnerabilities in AF_VSOCK implementation (LP: #1914668) + - vsock: fix the race conditions in multi-transport support + + -- Khalid Elmously Thu, 04 Feb 2021 21:41:23 -0500 + +linux (5.8.0-41.46) groovy; urgency=medium + + * groovy/linux: 5.8.0-41.46 -proposed tracker (LP: #1912219) + + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) // nvme + drive fails after some time (LP: #1910866) + - Revert "nvme-pci: remove last_sq_tail" + + * initramfs unpacking failed (LP: #1835660) + - SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + + -- Kleber Sacilotto de Souza Mon, 18 Jan 2021 17:01:08 +0100 + +linux (5.8.0-40.45) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Kleber Sacilotto de Souza Fri, 15 Jan 2021 11:10:22 +0100 + +linux (5.8.0-38.43) groovy; urgency=medium + + * groovy/linux: 5.8.0-38.43 -proposed tracker (LP: #1911143) + + * CVE-2020-28374 + - SAUCE: target: fix XCOPY NAA identifier lookup + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Kleber Sacilotto de Souza Tue, 12 Jan 2021 12:40:28 +0100 + +linux (5.8.0-36.40) groovy; urgency=medium + + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + + -- Thadeu Lima de Souza Cascardo Tue, 05 Jan 2021 17:57:31 -0300 + +linux (5.8.0-35.39) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * CVE-2021-1052 // CVE-2021-1053 + - [Packaging] NVIDIA -- Add the NVIDIA 460 driver + + -- Thadeu Lima de Souza Cascardo Tue, 05 Jan 2021 12:39:03 -0300 + +linux (5.8.0-34.37) groovy; urgency=medium + + * groovy/linux: 5.8.0-34.37 -proposed tracker (LP: #1907576) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + -- Stefan Bader Thu, 10 Dec 2020 18:42:54 +0100 + +linux (5.8.0-33.36) groovy; urgency=medium + + * groovy/linux: 5.8.0-33.36 -proposed tracker (LP: #1907408) + + * raid10: discard leads to corrupted file system (LP: #1907262) + - Revert "dm raid: remove unnecessary discard limits for raid10" + - Revert "dm raid: fix discard limits for raid1 and raid10" + - Revert "md/raid10: improve discard request for far layout" + - Revert "md/raid10: improve raid10 discard request" + - Revert "md/raid10: pull codes that wait for blocked dev into one function" + - Revert "md/raid10: extend r10bio devs to raid disks" + - Revert "md: add md_submit_discard_bio() for submitting discard bio" + + -- Khalid Elmously Wed, 09 Dec 2020 03:56:47 -0500 + +linux (5.8.0-31.33) groovy; urgency=medium + + * groovy/linux: 5.8.0-31.33 -proposed tracker (LP: #1905299) + + * Groovy 5.8 kernel hangs on boot on CPUs with eLLC (LP: #1903397) + - drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup + during fbdev init + + * CVE-2020-4788 + - selftests/powerpc: rfi_flush: disable entry flush if present + - powerpc/64s: flush L1D on kernel entry + - powerpc/64s: flush L1D after user accesses + - selftests/powerpc: entry flush test + + -- Thadeu Lima de Souza Cascardo Mon, 23 Nov 2020 15:03:08 -0300 + +linux (5.8.0-30.32) groovy; urgency=medium + + * groovy/linux: 5.8.0-30.32 -proposed tracker (LP: #1903194) + + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + + * EFI: Fails when BootCurrent entry does not exist (LP: #1899993) + - efivarfs: Replace invalid slashes with exclamation marks in dentries. + + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull codes that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: fix discard limits for raid1 and raid10 + - dm raid: remove unnecessary discard limits for raid10 + + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: extent_io: do extra check for extent buffer read write functions + - btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent() + - btrfs: extent-tree: kill the BUG_ON() in insert_inline_extent_backref() + - btrfs: ctree: check key order before merging tree blocks + + * Tiger Lake PMC core driver fixes (LP: #1899883) + - platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name + - platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() + - platform/x86: pmc_core: Use descriptive names for LPM registers + - platform/x86: intel_pmc_core: Fix TigerLake power gating status map + - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value + + * drm/i915/dp_mst - System would hang during the boot up. (LP: #1902469) + - Revert "UBUNTU: SAUCE: drm/i915/display: Fix null deref in + intel_psr_atomic_check()" + - drm/i915: Fix encoder lookup during PSR atomic check + + * Undetected Data corruption in MPI workloads that use VSX for reductions on + POWER9 DD2.1 systems (LP: #1902694) + - powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation + - selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load + workaround + + * [20.04 FEAT] Support/enhancement of NVMe IPL (LP: #1902179) + - s390/ipl: support NVMe IPL kernel parameters + + * uvcvideo: add mapping for HEVC payloads (LP: #1895803) + - media: uvcvideo: Add mapping for HEVC payloads + + * risc-v 5.8 kernel oops on ftrace tests (LP: #1894613) + - stop_machine, rcu: Mark functions as notrace + + * Groovy update: v5.8.17 upstream stable release (LP: #1902137) + - xgb4: handle 4-tuple PEDIT to NAT mode translation + - ibmveth: Switch order of ibmveth_helper calls. + - ibmveth: Identify ingress large send packets. + - ipv4: Restore flowi4_oif update before call to xfrm_lookup_route + - mlx4: handle non-napi callers to napi_poll + - net: dsa: microchip: fix race condition + - net: fec: Fix phy_device lookup for phy_reset_after_clk_enable() + - net: fec: Fix PHY init after phy_reset_after_clk_enable() + - net: fix pos incrementment in ipv6_route_seq_next + - net: ipa: skip suspend/resume activities if not set up + - net: mptcp: make DACK4/DACK8 usage consistent among all subflows + - net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info + - net/smc: fix use-after-free of delayed events + - net/smc: fix valid DMBE buffer sizes + - net/tls: sendfile fails with ktls offload + - net: usb: qmi_wwan: add Cellient MPL200 card + - tipc: fix the skb_unshare() in tipc_buf_append() + - socket: fix option SO_TIMESTAMPING_NEW + - socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled + - can: m_can_platform: don't call m_can_class_suspend in runtime suspend + - can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt + - net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt + - net/ipv4: always honour route mtu during forwarding + - net_sched: remove a redundant goto chain check + - r8169: fix data corruption issue on RTL8402 + - binder: fix UAF when releasing todo list + - ALSA: bebob: potential info leak in hwdep_read() + - ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close + - tipc: re-configure queue limit for broadcast link + - tipc: fix incorrect setting window for bcast link + - chelsio/chtls: fix socket lock + - chelsio/chtls: correct netdevice for vlan interface + - chelsio/chtls: fix panic when server is on ipv6 + - chelsio/chtls: Fix panic when listen on multiadapter + - chelsio/chtls: correct function return and return type + - chelsio/chtls: fix writing freed memory + - ibmvnic: save changed mac address to adapter->mac_addr + - icmp: randomize the global rate limiter + - mptcp: initialize mptcp_options_received's ahmac + - net: ftgmac100: Fix Aspeed ast2600 TX hang issue + - net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device + - net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling + ether_setup + - net: Properly typecast int values to set sk_max_pacing_rate + - net/sched: act_ct: Fix adding udp port mangle operation + - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels + - nexthop: Fix performance regression in nexthop deletion + - nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in + nfc_genl_fw_download() + - r8169: fix operation under forced interrupt threading + - selftests: forwarding: Add missing 'rp_filter' configuration + - tcp: fix to update snd_wl1 in bulk receiver fast path + - net: ethernet: mtk-star-emac: select REGMAP_MMIO + - net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() + - ALSA: hda - Don't register a cb func if it is registered already + - ALSA: hda - Fix the return value if cb func is already registered + - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk + - ALSA: hda/realtek - set mic to auto detect on a HP AIO machine + - ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 + - ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 + - cifs: remove bogus debug code + - cifs: Return the error from crypt_message when enc/dec key not found. + - SMB3: Resolve data corruption of TCP server info fields + - SMB3.1.1: Fix ids returned in POSIX query dir + - smb3: do not try to cache root directory if dir leases not supported + - smb3: fix stat when special device file and mounted with modefromsid + - arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled + - KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI + - KVM: nVMX: Reset the segment cache when stuffing guest segs + - KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails + - KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages + - KVM: x86: Intercept LA57 to inject #GP fault when it's reserved + - KVM: SVM: Initialize prev_ga_tag before use + - ima: Don't ignore errors from crypto_shash_update() + - crypto: algif_aead - Do not set MAY_BACKLOG on the async path + - crypto: caam/qi - add fallback for XTS with more than 8B IV + - crypto: caam/qi - add support for more XTS key lengths + - RAS/CEC: Fix cec_init() prototype + - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() + - microblaze: fix kbuild redundant file warning + - EDAC/i5100: Fix error handling order in i5100_init_one() + - EDAC/aspeed: Fix handling of platform_get_irq() error + - EDAC/ti: Fix handling of platform_get_irq() error + - perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS + - x86/fpu: Allow multiple bits in clearcpuid= parameter + - arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions + - drivers/perf: xgene_pmu: Fix uninitialized resource struct + - drivers/perf: thunderx2_pmu: Fix memory resource error handling + - sched/fair: Fix wrong cpu selecting from isolated domain + - sched/fair: Use dst group while checking imbalance for NUMA balancer + - arm64: perf: Add missing ISB in armv8pmu_enable_counter() + - perf/x86/intel/uncore: Update Ice Lake uncore units + - perf/x86/intel/uncore: Reduce the number of CBOX counters + - perf/x86/intel/uncore: Fix the scale of the IMC free-running events + - x86/nmi: Fix nmi_handle() duration miscalculation + - x86/events/amd/iommu: Fix sizeof mismatch + - pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags + - pinctrl: qcom: Use return value from irq_set_wake() call + - perf/x86: Fix n_pair for cancelled txn + - perf/core: Fix race in the perf_mmap_close() function + - crypto: algif_skcipher - EBUSY on aio should be an error + - crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() + - crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call + - crypto: picoxcell - Fix potential race condition bug + - media: vivid: Fix global-out-of-bounds read in precalculate_color() + - media: tuner-simple: fix regression in simple_set_radio_freq + - crypto: ccree - fix runtime PM imbalance on error + - media: Revert "media: exynos4-is: Add missed check for + pinctrl_lookup_state()" + - media: hantro: h264: Get the correct fallback reference buffer + - media: hantro: postproc: Fix motion vector space allocation + - media: ov5640: Correct Bit Div register in clock tree diagram + - media: m5mols: Check function pointer in m5mols_sensor_power + - fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32 + - media: uvcvideo: Set media controller entity functions + - media: uvcvideo: Silence shift-out-of-bounds warning + - media: staging/intel-ipu3: css: Correctly reset some memory + - media: omap3isp: Fix memleak in isp_probe + - media: i2c: ov5640: Remain in power down for DVP mode unless streaming + - media: i2c: ov5640: Separate out mipi configuration from s_power + - media: i2c: ov5640: Enable data pins on poweron for DVP mode + - media: rcar_drif: Fix fwnode reference leak when parsing DT + - media: rcar_drif: Allocate v4l2_async_subdev dynamically + - media: rcar-csi2: Allocate v4l2_async_subdev dynamically + - spi: fsi: Handle 9 to 15 byte transfers lengths + - spi: fsi: Fix use of the bneq+ sequencer instruction + - spi: fsi: Implement restricted size for certain controllers + - spi: dw-pci: free previously allocated IRQs if desc->setup() fails + - crypto: omap-sham - fix digcnt register handling with export/import + - hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61} + - hwmon: (w83627ehf) Fix a resource leak in probe + - cypto: mediatek - fix leaks in mtk_desc_ring_alloc + - crypto: stm32/crc32 - Avoid lock if hardware is already used + - crypto: sun8i-ce - handle endianness of t_common_ctl + - media: mx2_emmaprp: Fix memleak in emmaprp_probe + - media: tc358743: initialize variable + - media: tc358743: cleanup tc358743_cec_isr + - media: rcar-vin: Fix a reference count leak. + - media: rockchip/rga: Fix a reference count leak. + - media: platform: fcp: Fix a reference count leak. + - media: camss: Fix a reference count leak. + - media: s5p-mfc: Fix a reference count leak + - media: stm32-dcmi: Fix a reference count leak + - media: ti-vpe: Fix a missing check and reference count leak + - regulator: resolve supply after creating regulator + - pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB + - spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() + - spi: spi-s3c64xx: Check return values + - hwmon: (bt1-pvt) Test sensor power supply on probe + - hwmon: (bt1-pvt) Cache current update timeout + - hwmon: (bt1-pvt) Wait for the completion with timeout + - btrfs: add owner and fs_info to alloc_state io_tree + - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue + - ath10k: provide survey info as accumulated data + - drm/vkms: fix xrgb on compute crc + - Bluetooth: hci_uart: Cancel init work before unregistering + - drm/amd/display: Fix wrong return value in dm_update_plane_state() + - drm/vgem: add missing platform_device_unregister() in vgem_init() + - drm/vkms: add missing platform_device_unregister() in vkms_init() + - drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel + - ath6kl: prevent potential array overflow in ath6kl_add_new_sta() + - ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() + - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error + handling path + - wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680 + - ASoC: qcom: lpass-platform: fix memory leak + - ASoC: qcom: lpass-cpu: fix concurrency issue + - ath11k: Fix possible memleak in ath11k_qmi_init_service + - brcmfmac: check ndev pointer + - mwifiex: Do not use GFP_KERNEL in atomic context + - staging: rtl8192u: Do not use GFP_KERNEL in atomic context + - drm/amd/display: fix potential integer overflow when shifting 32 bit + variable bl_pwm + - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() + - drm/gma500: fix error check + - scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()' + - scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call + - scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() + - scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() + - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() + - libbpf: Fix unintentional success return code in bpf_object__load + - wilc1000: Fix memleak in wilc_sdio_probe + - wilc1000: Fix memleak in wilc_bus_probe + - rtw88: don't treat NULL pointer as an array + - backlight: sky81452-backlight: Fix refcount imbalance on error + - staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() + - VMCI: check return value of get_user_pages_fast() for errors + - mm/error_inject: Fix allow_error_inject function signatures. + - drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel + - samples/bpf: Fix to xdpsock to avoid recycling frames + - drm/crc-debugfs: Fix memleak in crc_control_write + - Bluetooth: Clear suspend tasks on unregister + - selftests: vm: add fragment CONFIG_GUP_BENCHMARK + - scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN + - binder: Remove bogus warning on failed same-process transaction + - tty: serial: earlycon dependency + - pty: do tty_flip_buffer_push without port->lock in pty_write + - pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare() + - pwm: lpss: Add range limit check for the base_unit register value + - drivers/virt/fsl_hypervisor: Fix error handling path + - ath11k: fix a double free and a memory leak + - video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error + - video: fbdev: sis: fix null ptr dereference + - video: fbdev: radeon: Fix memleak in radeonfb_pci_register + - ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() + - scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk + - HID: roccat: add bounds checking in kone_sysfs_write_settings() + - drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check() + - drm/panfrost: Ensure GPU quirks are always initialised + - iomap: Clear page error before beginning a write + - iomap: Mark read blocks uptodate in write_begin + - selftests/lkdtm: Use "comm" instead of "diff" for dmesg + - Bluetooth: Re-order clearing suspend tasks + - pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser + - pinctrl: mcp23s08: Fix mcp23x17 precious range + - pinctrl: devicetree: Keep deferring even on timeout + - drm/msm/adreno: fix probe without iommu + - net/mlx5: Fix uninitialized variable warning + - net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow + - scsi: mpt3sas: Fix sync irqs + - net: stmmac: Fix incorrect location to set real_num_rx|tx_queues + - net: stmmac: use netif_tx_start|stop_all_queues() function + - xfs: force the log after remapping a synchronous-writes file + - cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE + - drm: mxsfb: check framebuffer pitch + - ima: Fix NULL pointer dereference in ima_file_hash + - ASoC: topology: disable size checks for bytes_ext controls if needed + - ASoC: tlv320adcx140: Fix digital gain range + - coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init + - coresight: fix offset by one error in counting ports + - coresight: cti: disclaim device only when it's claimed + - coresight: cti: remove pm_runtime_get_sync() from CPU hotplug + - coresight: etm4x: Ensure default perf settings filter user/kernel + - coresight: etm4x: Fix issues within reset interface of sysfs + - coresight: cti: Write regsiters directly in cti_enable_hw() + - coresight: etm4x: Handle unreachable sink in perf mode + - coresight: etm4x: Fix issues on trcseqevr access + - nvmem: core: fix missing of_node_put() in of_nvmem_device_get() + - selftests: mptcp: interpret \n as a new line + - selftests/bpf: Fix endianness issue in sk_assign + - selftests/bpf: Fix endianness issue in test_sockopt_sk + - xhci: don't create endpoint debugfs entry before ring buffer is set. + - net: dsa: rtl8366: Check validity of passed VLANs + - net: dsa: rtl8366: Refactor VLAN/PVID init + - net: dsa: rtl8366: Skip PVID setting if not requested + - net: wilc1000: clean up resource in error path of init mon interface + - ASoC: tas2770: Fix calling reset in probe + - ASoC: tas2770: Add missing bias level power states + - ASoC: tas2770: Fix required DT properties in the code + - ASoC: tas2770: Fix error handling with update_bits + - ASoC: tlv320aic32x4: Fix bdiv clock rate derivation + - net: dsa: rtl8366rb: Support all 4096 VLANs + - ASoC: SOF: control: add size checks for ext_bytes control .put() + - ASoC: tas2770: Fix unbalanced calls to pm_runtime + - spi: omap2-mcspi: Improve performance waiting for CHSTAT + - ath11k: Add checked value for ath11k_ahb_remove + - ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() + - drm: rcar-du: Put reference to VSP device + - phy: rockchip-dphy-rx0: Include linux/delay.h + - dmaengine: dmatest: Check list for emptiness before access its last entry + - ASoC: cros_ec_codec: fix kconfig dependency warning for + SND_SOC_CROS_EC_CODEC + - misc: mic: scif: Fix error handling path + - ALSA: seq: oss: Avoid mutex lock for a long-time ioctl + - usb: dwc2: Fix parameter type in function pointer prototype + - usb: dwc3: core: Properly default unspecified speed + - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails + - rtw88: Fix probe error handling race with firmware loading + - rtw88: Fix potential probe error handling race with wow firmware loading + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon + - quota: clear padding in v2r1_mem2diskdqb() + - slimbus: core: check get_addr before removing laddr ida + - slimbus: core: do not enter to clock pause mode in core + - slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback + - ASoC: fsl_sai: Instantiate snd_soc_dai_driver + - HID: hid-input: fix stylus battery reporting + - tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n + - nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() + - hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions + - nl80211: fix OBSS PD min and max offset validation + - iomap: Use kzalloc to allocate iomap_page + - coresight: etm: perf: Fix warning caused by etm_setup_aux failure + - coresight: cti: Fix remove sysfs link error + - coresight: cti: Fix bug clearing sysfs links on callback + - coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register + - ibmvnic: set up 200GBPS speed + - bpf: disallow attaching modify_return tracing functions to other BPF + programs + - selftests: Remove fmod_ret from test_overhead + - qtnfmac: fix resource leaks on unsupported iftype error return path + - pinctrl: aspeed: Use the right pinconf mask + - iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate() + - iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling + - net: enic: Cure the enic api locking trainwreck + - mfd: sm501: Fix leaks in probe() + - ASoC: wm_adsp: Pass full name to snd_ctl_notify + - iwlwifi: mvm: split a print to avoid a WARNING in ROC + - iwlwifi: dbg: remove no filter condition + - iwlwifi: dbg: run init_cfg function once per driver load + - usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above. + - usb: gadget: u_serial: clear suspended flag when disconnecting + - usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well + - bus: mhi: core: Fix the building of MHI module + - ocxl: fix kconfig dependency warning for OCXL + - nl80211: fix non-split wiphy information + - usb: dwc2: Fix INTR OUT transfers in DDMA mode. + - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized + - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() + - dmaengine: ioat: Allocate correct size for descriptor chunk + - ipmi_si: Fix wrong return value in try_smi_init() + - tracing: Fix parse_synth_field() error handling + - platform/x86: mlx-platform: Remove PSU EEPROM configuration + - mwifiex: fix double free + - drm/panfrost: increase readl_relaxed_poll_timeout values + - ipvs: clear skb->tstamp in forwarding path + - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup + - net: korina: fix kfree of rx/tx descriptor array + - netfilter: nf_log: missing vlan offload tag and proto + - mm/swapfile.c: fix potential memory leak in sys_swapon + - mm/memcg: fix device private memcg accounting + - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary + - fs: fix NULL dereference due to data race in prepend_path() + - selftests/ftrace: Change synthetic event name for inter-event-combined test + - tracing: Handle synthetic event array field type checking correctly + - i3c: master add i3c_master_attach_boardinfo to preserve boardinfo + - IB/mlx4: Fix starvation in paravirt mux/demux + - IB/mlx4: Adjust delayed work when a dup is observed + - powerpc/pseries: Fix missing of_node_put() in rng_init() + - powerpc/icp-hv: Fix missing of_node_put() in success path + - rcu/tree: Force quiescent state on callback overload + - rcutorture: Properly set rcu_fwds for OOM handling + - RDMA/ucma: Fix locking for ctx->events_reported + - RDMA/ucma: Add missing locking around rdma_leave_multicast() + - mtd: lpddr: fix excessive stack usage with clang + - RDMA/hns: Add a check for current state before modifying QP + - RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() + - powerpc/pseries: explicitly reschedule during drmem_lmb list traversal + - pseries/drmem: don't cache node id in drmem_lmb struct + - RDMA/mlx5: Fix potential race between destroy and CQE poll + - mtd: mtdoops: Don't write panic data twice + - perf tools: Make GTK2 support opt-in + - tools feature: Add missing -lzstd to the fast path feature detection + - ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values + - xfs: fix finobt btree block recovery ordering + - m68knommu: include SDHC support only when hardware has it + - arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER + - ida: Free allocated bitmap in error path + - xfs: limit entries returned when counting fsmap records + - xfs: fix deadlock and streamline xfs_getfsmap performance + - nfs: add missing "posix" local_lock constant table definition + - xfs: fix high key handling in the rt allocator's query_range function + - RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init + - RDMA/core: Delete function indirection for alloc/free kernel CQ + - RDMA: Allow fail of destroy CQ + - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page + boundary + - RDMA/umem: Prevent small pages from being returned by + ib_umem_find_best_pgsz() + - RDMA/qedr: Fix qp structure memory leak + - RDMA/qedr: Fix doorbell setting + - RDMA/qedr: Fix use of uninitialized field + - RDMA/qedr: Fix return code if accept is called on a destroyed qp + - RDMA/qedr: Fix inline size returned for iWARP + - powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory + - powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors + - powerpc/watchpoint: Fix handling of vector instructions + - powerpc/watchpoint: Add hw_len wherever missing + - powerpc/book3s64/hash/4k: Support large linear mapping range with 4K + - powerpc/tau: Use appropriate temperature sample interval + - powerpc/tau: Convert from timer to workqueue + - powerpc/tau: Remove duplicated set_thresholds() call + - powerpc/tau: Check processor type before enabling TAU interrupt + - powerpc/tau: Disable TAU between measurements + - powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx + - powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm + - RDMA/cma: Combine cma_ndev_work with cma_work + - RDMA/cma: Remove dead code for kernel rdmacm multicast + - RDMA/cma: Consolidate the destruction of a cma_multicast in one place + - RDMA/cma: Fix use after free race in roce multicast join + - perf intel-pt: Fix "context_switch event has no tid" error + - RDMA/qedr: Fix resource leak in qedr_create_qp + - RDMA/hns: Set the unsupported wr opcode + - RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() + - RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled + - RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work + - i40iw: Add support to make destroy QP synchronous + - perf stat: Skip duration_time in setup_system_wide + - RDMA/hns: Add check for the validity of sl configuration + - RDMA/hns: Solve the overflow of the calc_pg_sz() + - RDMA/hns: Fix the wrong value of rnr_retry when querying qp + - RDMA/hns: Fix configuration of ack_req_freq in QPC + - RDMA/hns: Fix missing sq_sig_type when querying QP + - mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access + - mtd: rawnand: stm32_fmc2: fix a buffer overflow + - mtd: rawnand: vf610: disable clk on error handling path in probe + - mtd: spinand: gigadevice: Only one dummy byte in QUADIO + - mtd: spinand: gigadevice: Add QE Bit + - mtd: rawnand: ams-delta: Fix non-OF build warning + - kdb: Fix pager search for multi-line strings + - overflow: Include header file with SIZE_MAX declaration + - RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces + - powerpc/64: fix irq replay missing preempt + - powerpc/64: fix irq replay pt_regs->softe value + - powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints + - powerpc/perf/hv-gpci: Fix starting index value + - perf stat: Fix out of bounds CPU map access when handling armv8_pmu events + - i3c: master: Fix error return in cdns_i3c_master_probe() + - powerpc/papr_scm: Add PAPR command family to pass-through command-set + - cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier + - IB/rdmavt: Fix sizeof mismatch + - RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() + - f2fs: reject CASEFOLD inode flag without casefold feature + - um: vector: Use GFP_ATOMIC under spin lock + - um: time-travel: Fix IRQ handling in time_travel_handle_message() + - maiblox: mediatek: Fix handling of platform_get_irq() error + - perf trace: Fix off by ones in memset() after realloc() in arches using + libaudit + - selftests/powerpc: Fix eeh-basic.sh exit codes + - f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info + - afs: Fix rapid cell addition/removal by not using RCU on cells tree + - afs: Fix cell refcounting by splitting the usage counter + - afs: Fix cell purging with aliases + - afs: Fix cell removal + - RDMA/rxe: Handle skb_clone() failure in rxe_recv.c + - mm/page_owner: change split_page_owner to take a count + - lib/crc32.c: fix trivial typo in preprocessor condition + - ramfs: fix nommu mmap with gaps in the page cache + - rapidio: fix error handling path + - rapidio: fix the missed put_device() for rio_mport_add_riodev + - mailbox: avoid timer start from callback + - clk: meson: axg-audio: separate axg and g12a regmap tables + - rtc: ds1307: Clear OSF flag on DS1388 when setting time + - i2c: rcar: Auto select RESET_CONTROLLER + - clk: meson: g12a: mark fclk_div2 as critical + - PCI: designware-ep: Fix the Header Type check + - PCI: aardvark: Fix compilation on s390 + - PCI: aardvark: Check for errors from pci_bridge_emul_init() call + - PCI: iproc: Set affinity mask on MSI interrupts + - rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge() + - rpmsg: Avoid double-free in mtk_rpmsg_register_device + - PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY + - vfio: add a singleton check for vfio_group_pin_pages + - s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY + - vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn + - vfio: fix a missed vfio group put in vfio_pin_pages + - vfio/type1: fix dirty bitmap calculation in vfio_dma_rw + - clk: qcom: gcc-sdm660: Fix wrong parent_map + - clk: keystone: sci-clk: fix parsing assigned-clock data during probe + - pwm: rockchip: Keep enabled PWMs running while probing + - pwm: img: Fix null pointer access in probe + - remoteproc/mediatek: fix null pointer dereference on null scp pointer + - PCI: hv: Fix hibernation in case interrupts are not re-created + - clk: rockchip: Initialize hw to error to avoid undefined behavior + - clk: mediatek: add UART0 clock support + - module: statically initialize init section freeing data + - clk: at91: clk-main: update key before writing AT91_CKGR_MOR + - clk: bcm2835: add missing release if devm_clk_hw_register fails + - kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n + - watchdog: Fix memleak in watchdog_cdev_register + - watchdog: Use put_device on error + - watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 + - svcrdma: fix bounce buffers for unaligned offsets and multiple pages + - ext4: fix dead loop in ext4_mb_new_blocks + - ext4: discard preallocations before releasing group lock + - ext4: disallow modifying DAX inode flag if inline_data has been set + - ext4: limit entries returned when counting fsmap records + - vfio/pci: Clear token on bypass registration failure + - vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages + - clk: imx8mq: Fix usdhc parents order + - SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() + - platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command + - Input: elants_i2c - fix typo for an attribute to show calibration count + - Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume() + - Input: stmfts - fix a & vs && typo + - Input: ep93xx_keypad - fix handling of platform_get_irq() error + - Input: omap4-keypad - fix handling of platform_get_irq() error + - Input: twl4030_keypad - fix handling of platform_get_irq() error + - Input: sun4i-ps2 - fix handling of platform_get_irq() error + - KVM: x86: emulating RDPID failure shall return #UD rather than #GP + - scsi: bfa: Fix error return in bfad_pci_init() + - arm64: mm: use single quantity to represent the PA to VA translation + - netfilter: conntrack: connection timeout after re-register + - netfilter: ebtables: Fixes dropping of small packets in bridge nat + - netsec: ignore 'phy-mode' device property on ACPI systems + - netfilter: nf_fwd_netdev: clear timestamp in forwarding path + - soc: xilinx: Fix error code in zynqmp_pm_probe() + - arm64: dts: meson: vim3: correct led polarity + - ARM: dts: imx6sl: fix rng node + - ARM: at91: pm: of_node_put() after its usage + - ARM: s3c24xx: fix mmc gpio lookup tables + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator + - arm64: dts: allwinner: h5: remove Mali GPU PMU module + - memory: omap-gpmc: Fix a couple off by ones + - memory: omap-gpmc: Fix build error without CONFIG_OF + - arm64: dts: qcom: sc7180: Fix the LLCC base register size + - memory: fsl-corenet-cf: Fix handling of platform_get_irq() error + - firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free + - arm64: dts: imx8mq: Add missing interrupts to GPC + - arm64: dts: qcom: sc7180: Drop flags on mdss irqs + - soc: qcom: pdr: Fixup array type of get_domain_list_resp message + - arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name + - arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec + - arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts + - soc: qcom: apr: Fixup the error displayed on lookup failure + - dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset + - arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels + - arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels + - arm64: dts: mt8173: elm: Fix nor_flash node property + - arm64: dts: actions: limit address range for pinctrl node + - ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers + - soc: fsl: qbman: Fix return value on success + - ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails + - ARM: dts: stm32: Fix sdmmc2 pins on AV96 + - ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays + - ARM: dts: stm32: Move ethernet PHY into DH SoM DT + - ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM + - ARM: dts: stm32: Fix DH PDK2 display PWM channel + - ARM: dts: iwg20d-q7-common: Fix touch controller probe failure + - soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api + - drm/mediatek: reduce clear event + - arm64: dts: zynqmp: Remove additional compatible string for i2c IPs + - ARM: dts: meson8: remove two invalid interrupt lines from the GPU node + - lightnvm: fix out-of-bounds write to array devices->info[] + - powerpc/powernv/dump: Fix race while processing OPAL dump + - powerpc/pseries: Avoid using addr_to_pfn in real mode + - nvmet: fix uninitialized work for zero kato + - KVM: ioapic: break infinite recursion on lazy EOI + - NTB: hw: amd: fix an issue about leak system resources + - ntb: intel: Fix memleak in intel_ntb_pci_probe + - sched/features: Fix !CONFIG_JUMP_LABEL case + - perf: correct SNOOPX field offset + - i2c: core: Restore acpi_walk_dep_device_list() getting called after + registering the ACPI i2c devs + - md/bitmap: fix memory leak of temporary bitmap + - block: ratelimit handle_bad_sector() message + - x86/dumpstack: Fix misleading instruction pointer error message + - crypto: ccp - fix error handling + - x86/asm: Replace __force_order with a memory clobber + - x86/mce: Add Skylake quirk for patrol scrub reported errors + - media: firewire: fix memory leak + - media: ati_remote: sanity check for both endpoints + - media: st-delta: Fix reference count leak in delta_run_work + - media: sti: Fix reference count leaks + - media: exynos4-is: Fix several reference count leaks due to + pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak + - media: vsp1: Fix runtime PM imbalance on error + - media: platform: s3c-camif: Fix runtime PM imbalance on error + - media: platform: sti: hva: Fix runtime PM imbalance on error + - media: bdisp: Fix runtime PM imbalance on error + - media: media/pci: prevent memory leak in bttv_probe + - x86/mce: Annotate mce_rd/wrmsrl() with noinstr + - crypto: hisilicon - fixed memory allocation error + - spi: fsi: Fix clock running too fast + - x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR + - media: uvcvideo: Ensure all probed info is returned to v4l2 + - mmc: sdio: Check for CISTPL_VERS_1 buffer size + - media: saa7134: avoid a shift overflow + - media: atomisp: fix memleak in ia_css_stream_create + - media: venus: fixes for list corruption + - fs: dlm: fix configfs memory leak + - media: venus: core: Fix error handling in probe + - media: venus: core: Fix runtime PM imbalance in venus_probe + - ntfs: add check for mft record size in superblock + - ip_gre: set dev->hard_header_len and dev->needed_headroom properly + - mac80211: handle lack of sband->bitrates in rates + - staging: wfx: fix handling of MMIC error + - libbpf: Close map fd if init map slots failed + - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI + - PM: hibernate: remove the bogus call to get_gendisk() in software_resume() + - scsi: mvumi: Fix error return in mvumi_io_attach() + - scsi: target: core: Add CONTROL field for trace events + - mic: vop: copy data to kernel space then write to io memory + - misc: vop: add round_up(x,4) for vring_size to avoid kernel panic + - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc + - usb: gadget: function: printer: fix use-after-free in __lock_acquire + - udf: Limit sparing table size + - udf: Avoid accessing uninitialized data on failed inode read + - rtw88: increse the size of rx buffer size + - USB: cdc-acm: handle broken union descriptors + - usb: dwc3: simple: add support for Hikey 970 + - habanalabs: cast to u64 before shift > 31 bits + - can: flexcan: flexcan_chip_stop(): add error handling and propagate error + value + - HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons + - ath9k: hif_usb: fix race condition between usb_get_urb() and + usb_kill_anchored_urbs() + - drm/panfrost: add Amlogic GPU integration quirks + - drm/panfrost: add amlogic reset quirk callback + - drm/panfrost: add support for vendor quirk + - bpf: Limit caller's stack depth 256 for subprogs with tailcalls + - misc: rtsx: Fix memory leak in rtsx_pci_probe + - reiserfs: only call unlock_new_inode() if I_NEW + - opp: Prevent memory leak in dev_pm_opp_attach_genpd() + - xfs: make sure the rt allocator doesn't run off the end + - usb: ohci: Default to per-port over-current protection + - drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create + - Bluetooth: Only mark socket zapped after unlocking + - drm/msm/a6xx: fix a potential overflow issue + - iomap: fix WARN_ON_ONCE() from unprivileged users + - scsi: ibmvfc: Fix error return in ibmvfc_probe() + - scsi: qla2xxx: Warn if done() or free() are called on an already freed srb + - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change + - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy + - rtl8xxxu: prevent potential memory leak + - Fix use after free in get_capset_info callback. + - HID: ite: Add USB id match for Acer One S1003 keyboard dock + - scsi: qedf: Return SUCCESS if stale rport is encountered + - scsi: qedi: Mark all connections for recovery on link down event + - scsi: qedi: Protect active command list to avoid list corruption + - scsi: qedi: Fix list_del corruption while removing active I/O + - fbmem: add margin check to fb_check_caps() + - tty: ipwireless: fix error handling + - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb + - ipvs: Fix uninit-value in do_ip_vs_set_ctl() + - reiserfs: Fix memory leak in reiserfs_parse_options() + - s390/qeth: strictly order bridge address events + - mwifiex: don't call del_timer_sync() on uninitialized timer + - ALSA: hda/ca0132 - Add AE-7 microphone selection commands. + - ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. + - ASoC: SOF: Add topology filename override based on dmi data match + - ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 + - scsi: smartpqi: Avoid crashing kernel for controller issues + - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach + - usb: core: Solve race condition in anchor cleanup functions + - scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() + - drm/amd/display: Screen corruption on dual displays (DP+USB-C) + - dmaengine: dw: Add DMA-channels mask cell support + - dmaengine: dw: Activate FIFO-mode for memory peripherals only + - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() + - net: korina: cast KSEG0 address to pointer in kfree + - s390/qeth: don't let HW override the configured port role + - tty: serial: lpuart: fix lpuart32_write usage + - tty: serial: fsl_lpuart: fix lpuart32_poll_get_char + - usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root + - usb: cdc-acm: add quirk to blacklist ETAS ES58X devices + - USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync(). + - usb: cdns3: gadget: free interrupt after gadget has deleted + - eeprom: at25: set minimum read/write access stride to 1 + - usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets. + - Linux 5.8.17 + + * RTL8822BE [10ec:b822] network driver rtl_wifi crashes on boot in Focal Fossa + 20.04 - 5.4.0-21-generic and mainline 5.7.0-050700rc1-generic + (LP: #1872984) // Groovy update: v5.8.17 upstream stable release + (LP: #1902137) + - rtw88: pci: Power cycle device during shutdown + + * Groovy update: v5.8.16 upstream stable release (LP: #1902132) + - crypto: bcm - Verify GCM/CCM key length in setkey + - crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA + - Bluetooth: Disconnect if E0 is used for Level 4 + - media: usbtv: Fix refcounting mixup + - USB: serial: option: add Cellient MPL200 card + - USB: serial: option: Add Telit FT980-KS composition + - staging: comedi: check validity of wMaxPacketSize of usb endpoints found + - USB: serial: pl2303: add device-id for HP GC device + - USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters + - reiserfs: Initialize inode keys properly + - reiserfs: Fix oops during mount + - Linux 5.8.16 + + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h + - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts + - fbcon: Fix global-out-of-bounds read in fbcon_get_font() + - Revert "ravb: Fixed to be able to unload modules" + - crypto: arm64: Use x16 with indirect branch to bti_c + - exfat: fix use of uninitialized spinlock on error path + - net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() + - drm/nouveau/mem: guard against NULL pointer access in mem_del + - partitions/ibm: fix non-DASD devices + - block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg() + - vhost: Don't call access_ok() when using IOTLB + - vhost: Use vhost_get_used_size() in vhost_vring_set_addr() + - usermodehelper: reset umask to default before executing user process + - splice: teach splice pipe reading about empty pipe buffers + - Platform: OLPC: Fix memleak in olpc_ec_probe + - platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP + Pavilion 11 x360 + - platform/x86: thinkpad_acpi: initialize tp_nvram_state variable + - platform/x86: asus-wmi: Fix SW_TABLET_MODE always reporting 1 on many + different models + - bpf: Fix sysfs export of empty BTF section + - bpf: Prevent .BTF section elimination + - r8169: consider that PHY reset may still be in progress after applying + firmware + - platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE + reporting + - platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse + - nvme-core: put ctrl ref when module ref get fail + - macsec: avoid use-after-free in macsec_handle_frame() + - RISC-V: Make sure memblock reserves the memory containing DT + - gpiolib: Disable compat ->read() code in UML case + - mm/khugepaged: fix filemap page_to_pgoff(page) != offset + - net: introduce helper sendpage_ok() in include/linux/net.h + - tcp: use sendpage_ok() to detect misused .sendpage + - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() + - xfrmi: drop ignore_df check before updating pmtu + - espintcp: restore IP CB before handing the packet to xfrm + - cifs: Fix incomplete memory allocation on setxattr path + - i2c: meson: fix clock setting overwrite + - i2c: meson: keep peripheral clock enabled + - i2c: meson: fixup rate calculation with filter delay + - i2c: owl: Clear NACK and BUS error bits + - sctp: fix sctp_auth_init_hmacs() error path + - team: set dev->needed_headroom in team_setup_by_port() + - net: team: fix memory leak in __team_options_register + - openvswitch: handle DNAT tuple collision + - drm/amdgpu: prevent double kfree ttm->sg + - btrfs: move btrfs_scratch_superblocks into btrfs_dev_replace_finishing + - io_uring: fix potential ABBA deadlock in ->show_fdinfo() + - drm/amd/pm: Removed fixed clock in auto mode DPM + - drm/amd/display: fix return value check for hdcp_work + - btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks + - iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() + - xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate + - xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate + - xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate + - xfrm: clone whole liftime_cur structure in xfrm_do_migrate + - xsk: Do not discard packet when NETDEV_TX_BUSY + - net: stmmac: removed enabling eee in EEE set callback + - platform/x86: fix kconfig dependency warning for LG_LAPTOP + - platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP + - hinic: add log in exception handling processes + - hinic: fix wrong return value of mac-set cmd + - net: dsa: felix: convert TAS link speed based on phylink speed + - xfrm: Use correct address family in xfrm_state_find + - iavf: use generic power management + - iavf: Fix incorrect adapter get in iavf_resume + - ice: fix memory leak if register_netdev_fails + - ice: fix memory leak in ice_vsi_setup + - vmxnet3: fix cksum offload issues for non-udp tunnels + - net: stmmac: Fix clock handling on remove path + - net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop + - bonding: set dev->needed_headroom in bond_setup_by_slave() + - mdio: fix mdio-thunder.c dependency & build error + - mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path + - r8169: fix RTL8168f/RTL8411 EPHY config + - net: usb: ax88179_178a: fix missing stop entry in driver_info + - virtio-net: don't disable guest csum when disable LRO + - net: phy: realtek: fix rtl8211e rx/tx delay config + - octeontx2-af: Fix enable/disable of default NPC entries + - octeontx2-pf: Fix TCP/UDP checksum offload for IPv6 frames + - octeontx2-pf: Fix the device state on error + - octeontx2-pf: Fix synchnorization issue in mbox + - pipe: Fix memory leaks in create_pipe_files() + - net/mlx5: Fix a race when moving command interface to polling mode + - net/mlx5: Avoid possible free of command entry while timeout comp handler + - net/mlx5: poll cmd EQ in case of command timeout + - net/mlx5: Add retry mechanism to the command entry index allocation + - net/mlx5: Fix request_irqs error flow + - net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU + - net/mlx5e: Fix return status when setting unsupported FEC mode + - net/mlx5e: Fix VLAN cleanup flow + - net/mlx5e: Fix VLAN create flow + - net/mlx5e: Fix race condition on nhe->n pointer in neigh update + - net: stmmac: Modify configuration method of EEE timers + - net: hinic: fix DEVLINK build errors + - vhost-vdpa: fix vhost_vdpa_map() on error condition + - vhost-vdpa: fix page pinning leakage in error path + - net: mvneta: fix double free of txq->buf + - rxrpc: Fix rxkad token xdr encoding + - rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read() + - rxrpc: Fix some missing _bh annotations on locking conn->state_lock + - rxrpc: The server keyring isn't network-namespaced + - rxrpc: Fix server keyring leak + - net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c + - [Packaging] module ocelot_board rename + - net: mscc: ocelot: split writes to pause frame enable bit and to thresholds + - net: mscc: ocelot: extend watermark encoding function + - net: mscc: ocelot: divide watermark value by 60 when writing to SYS_ATOP + - afs: Fix deadlock between writeback and truncate + - perf: Fix task_function_call() error handling + - mmc: core: don't set limits.discard_granularity as 0 + - mm: validate inode in mapping_set_error() + - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected + by khugepaged + - tcp: fix receive window update in tcp_add_backlog() + - netlink: fix policy dump leak + - net/core: check length before updating Ethertype in skb_mpls_{push,pop} + - net: bridge: fdb: don't flush ext_learn entries + - net/tls: race causes kernel panic + - net/mlx5e: Fix driver's declaration to support GRE offload + - tty/vt: Do not warn when huge selection requested + - Input: ati_remote2 - add missing newlines when printing module parameters + - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails + - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks + - net_sched: defer tcf_idr_insert() in tcf_action_init_1() + - net_sched: commit action insertions together + - Linux 5.8.15 + + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + + * Improve descriptions for XFAIL cases in kselftests/net/psock_snd + (LP: #1900088) + - selftests/net: improve descriptions for XFAIL cases in psock_snd.sh + + * alsa/hda/realtek - The front Mic on a HP machine doesn't work (LP: #1899508) + - ALSA: hda/realtek - The front Mic on a HP machine doesn't work + + * kci_test_encap_fou() in rtnetlink.sh from kselftests/net failed with "FAIL: + can't add fou port 7777, skipping test" (LP: #1891421) + - selftests: rtnetlink: load fou module for kci_test_encap_fou() test + + * linux-aws: fold test_bpf SAUCE to linux/master (LP: #1900855) + - SAUCE: selftests: net: don't fail test_bpf when module is not present + + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + -- Stefan Bader Mon, 09 Nov 2020 16:23:07 +0100 + +linux (5.8.0-29.31) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 06 Nov 2020 12:17:24 +0100 + +linux (5.8.0-28.30) groovy; urgency=medium + + * CVE-2020-27194 + - bpf: Fix scalar32_min_max_or bounds tracking + + -- Thadeu Lima de Souza Cascardo Wed, 04 Nov 2020 22:02:24 -0300 + +linux (5.8.0-27.29) groovy; urgency=medium + + * CVE-2020-8694 + - powercap: make attributes only readable by root + + -- Kleber Sacilotto de Souza Thu, 29 Oct 2020 11:28:11 +0100 + +linux (5.8.0-26.27) groovy; urgency=medium + + * groovy/linux: 5.8.0-26.27 -proposed tracker (LP: #1900896) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + -- Seth Forshee Wed, 21 Oct 2020 15:35:59 -0500 + +linux (5.8.0-25.26) groovy; urgency=medium + + * groovy/linux: 5.8.0-25.26 -proposed tracker (LP: #1899940) + + * CVE-2020-12351 + - Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel + + * CVE-2020-12352 + - Bluetooth: A2MP: Fix not initializing all members + + * CVE-2020-12351 // CVE-2020-12352 // CVE-2020-24490 + - Bluetooth: Disable High Speed by default + - Bluetooth: MGMT: Fix not checking if BT_HS is enabled + - [Config] Disable BlueZ highspeed support + + * ec2-hibinit-agent needs to properly initialize swap file (LP: #1892728) + - ext4: implement swap_activate aops using iomap + + -- Andrea Righi Thu, 15 Oct 2020 12:09:24 +0200 + +linux (5.8.0-24.25) groovy; urgency=medium + + * groovy/linux: 5.8.0-24.25 -proposed tracker (LP: #1899804) + + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + + * ceph: fix inode number handling on arches with 32-bit ino_t (LP: #1899582) + - ceph: fix inode number handling on arches with 32-bit ino_t + + * 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 + + -- Seth Forshee Wed, 14 Oct 2020 10:12:57 -0500 + +linux (5.8.0-23.24) groovy; urgency=medium + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + -- Seth Forshee Fri, 09 Oct 2020 10:21:12 -0500 + +linux (5.8.0-22.23) groovy; urgency=medium + + * groovy/linux: 5.8.0-22.23 -proposed tracker (LP: #1899099) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * oops in nvkm_udevice_info() [nouveau] (LP: #1898130) + - drm/nouveau/device: return error for unknown chipsets + + * 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 + + * Groovy update: v5.8.14 upstream stable release (LP: #1898853) + - io_uring: always delete double poll wait entry on match + - btrfs: fix filesystem corruption after a device replace + - mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS + models + - USB: gadget: f_ncm: Fix NDP16 datagram validation + - Revert "usbip: Implement a match function to fix usbip" + - usbcore/driver: Fix specific driver selection + - usbcore/driver: Fix incorrect downcast + - usbcore/driver: Accommodate usbip + - gpio: siox: explicitly support only threaded irqs + - gpio: mockup: fix resource leak in error path + - gpio: tc35894: fix up tc35894 interrupt configuration + - gpio: amd-fch: correct logic of GPIO_LINE_DIRECTION + - clk: samsung: Keep top BPLL mux on Exynos542x enabled + - clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk + - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() + - i2c: i801: Exclude device from suspend direct complete optimization + - Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 + - iio: adc: qcom-spmi-adc5: fix driver name + - ftrace: Move RCU is watching check after recursion check + - tracing: Fix trace_find_next_entry() accounting of temp buffer size + - memstick: Skip allocating card when removing host + - drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config + - xen/events: don't use chip_data for legacy IRQs + - clocksource/drivers/timer-gx6605s: Fixup counter reload + - vboxsf: Fix the check for the old binary mount-arguments struct + - mt76: mt7915: use ieee80211_free_txskb to free tx skbs + - libbpf: Remove arch-specific include path in Makefile + - drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices + - Revert "wlcore: Adding suppoprt for IGTK key in wlcore driver" + - drm/sun4i: mixer: Extend regmap max_register + - hv_netvsc: Cache the current data path to avoid duplicate call and message + - net: dec: de2104x: Increase receive ring size for Tulip + - rndis_host: increase sleep time in the query-response loop + - nvme-pci: disable the write zeros command for Intel 600P/P3100 + - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() + - fuse: fix the ->direct_IO() treatment of iov_iter + - drivers/net/wan/lapbether: Make skb->protocol consistent with the header + - drivers/net/wan/hdlc: Set skb->protocol before transmitting + - mac80211: Fix radiotap header channel flag for 6GHz band + - mac80211: do not allow bigger VHT MPDUs than the hardware supports + - tracing: Make the space reserved for the pid wider + - tools/io_uring: fix compile breakage + - io_uring: mark statx/files_update/epoll_ctl as non-SQPOLL + - cpuidle: psci: Fix suspicious RCU usage + - spi: fsl-espi: Only process interrupts for expected events + - net: dsa: felix: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries + - nvme-pci: fix NULL req in completion handler + - nvme-fc: fail new connections to a deleted host or remote port + - scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.* + - gpio: sprd: Clear interrupt when setting the type as edge + - phy: ti: am654: Fix a leak in serdes_am654_probe() + - pinctrl: mvebu: Fix i2c sda definition for 98DX3236 + - nfs: Fix security label length not being reset + - NFSv4.2: fix client's attribute cache management for copy_file_range + - pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read + - clk: tegra: Always program PLL_E when enabled + - clk: tegra: Fix missing prototype for tegra210_clk_register_emc() + - dmaengine: dmatest: Prevent to run on misconfigured channel + - clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED + - scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case + - iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() + - gpio: pca953x: Fix uninitialized pending variable + - gpio/aspeed-sgpio: enable access to all 80 input & output sgpios + - gpio/aspeed-sgpio: don't enable all interrupts by default + - gpio: aspeed: fix ast2600 bank properties + - i2c: cpm: Fix i2c_ram structure + - i2c: npcm7xx: Clear LAST bit after a failed transaction. + - Input: trackpoint - enable Synaptics trackpoints + - blk-mq: call commit_rqs while list empty but error happen + - scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting + - autofs: use __kernel_write() for the autofs pipe writing + - pinctrl: qcom: sm8250: correct sdc2_clk + - pinctrl: mediatek: check mtk_is_virt_gpio input parameter + - gpio: pca953x: Correctly initialize registers 6 and 7 for PCA957x + - iommu/amd: Fix the overwritten field in IVMD header + - pipe: remove pipe_wait() and fix wakeup race with splice + - random32: Restore __latent_entropy attribute on net_rand_state + - gpiolib: Fix line event handling in syscall compatible mode + - drm/i915/gvt: Fix port number for BDW on EDID region setup + - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks + - scsi: sd: sd_zbc: Fix ZBC disk initialization + - epoll: do not insert into poll queues until all sanity checks are done + - epoll: replace ->visited/visited_list with generation count + - epoll: EPOLL_CTL_ADD: close the race in decision to take fast path + - ep_create_wakeup_source(): dentry name can change under you... + - Linux 5.8.14 + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: check for do_sys_openat2 in user-memory test + - SAUCE: doc: Disable extension incompatible with Sphinx 3 + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: Revert "UBUNTU: SAUCE: IB/umem: Fix the Peer flow to handle pinned + pages properly" + - SAUCE: Revert "UBUNTU: SAUCE: IB/mlx5: Use peer client page_shift" + - SAUCE: Revert "UBUNTU: SAUCE: fixup! RDMA/core: Introduce peer memory + interface" + - SAUCE: Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + - 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 + - Revert "UBUNTU: [Packaging] Temporarily disable building doc package + contents" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add support for mapping secids and + using secctxes"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Use an IDR to allocate apparmor + secids"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fixup secid map conversion to using + IDR"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add a wildcard secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Parse secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Allow filtering based on secmark + policy"" + - Revert "UBUNTU: SAUCE: Fix-up af_unix mediation for sock infrastructure + management" + - Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock security" + - Revert "UBUNTU: SAUCE: apparmor: update flags to no longer be exclusive" + - Revert "UBUNTU: SAUCE: apparmor: add an apparmorfs entry to access current + attrs" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add the ability to get a task's + secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add support for audit rule + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: modify audit rule support to + support profile stacks"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix bad debug check in + apparmor_secid_to_secctx()"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add #ifdef checks for secmark + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix checkpatch error in Parse + secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute"" + + -- Seth Forshee Thu, 08 Oct 2020 17:17:19 -0500 + +linux (5.8.0-21.22) groovy; urgency=medium + + * groovy/linux: 5.8.0-21.22 -proposed tracker (LP: #1898150) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + + * EFA: add support for 0xefa1 devices (LP: #1896791) + - RDMA/efa: Expose maximum TX doorbell batch + - RDMA/efa: Expose minimum SQ size + - RDMA/efa: User/kernel compatibility handshake mechanism + - RDMA/efa: Add EFA 0xefa1 PCI ID + + * Groovy update: v5.8.13 upstream stable release (LP: #1898076) + - device_cgroup: Fix RCU list debugging warning + - ASoC: pcm3168a: ignore 0 Hz settings + - ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 + - ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 + - clk: versatile: Add of_node_put() before return statement + - RISC-V: Take text_mutex in ftrace_init_nop() + - i2c: aspeed: Mask IRQ status to relevant bits + - s390/init: add missing __init annotations + - lockdep: fix order in trace_hardirqs_off_caller() + - EDAC/ghes: Check whether the driver is on the safe list correctly + - drm/amdkfd: fix a memory leak issue + - drm/amd/display: Don't use DRM_ERROR() for DTM add topology + - drm/amd/display: update nv1x stutter latencies + - drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is + - drm/amd/display: Don't log hdcp module warnings in dmesg + - objtool: Fix noreturn detection for ignored functions + - i2c: mediatek: Send i2c master code at more than 1MHz + - riscv: Fix Kendryte K210 device tree + - ieee802154: fix one possible memleak in ca8210_dev_com_init + - ieee802154/adf7242: check status of adf7242_read_reg + - clocksource/drivers/h8300_timer8: Fix wrong return value in + h8300_8timer_init() + - batman-adv: bla: fix type misuse for backbone_gw hash indexing + - libbpf: Fix build failure from uninitialized variable warning + - atm: eni: fix the missed pci_disable_device() for eni_init_one() + - batman-adv: mcast/TT: fix wrongly dropped or rerouted packets + - netfilter: ctnetlink: add a range check for l3/l4 protonum + - netfilter: ctnetlink: fix mark based dump filtering regression + - netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled + - netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid + - mac802154: tx: fix use-after-free + - bpf: Fix clobbering of r2 in bpf_gen_ld_abs + - tools/libbpf: Avoid counting local symbols in ABI check + - drm/vc4/vc4_hdmi: fill ASoC card owner + - net: qed: Disable aRFS for NPAR and 100G + - net: qede: Disable aRFS for NPAR and 100G + - net: qed: RDMA personality shouldn't fail VF load + - igc: Fix wrong timestamp latency numbers + - igc: Fix not considering the TX delay for timestamps + - drm/sun4i: sun8i-csc: Secondary CSC register correction + - hv_netvsc: Switch the data path at the right time during hibernation + - spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs + - RDMA/core: Fix ordering of CQ pool destruction + - batman-adv: Add missing include for in_interrupt() + - xsk: Fix number of pinned pages/umem size discrepancy + - nvme-tcp: fix kconfig dependency warning when !CRYPTO + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh + - batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh + - bpf: Fix a rcu warning for bpffs map pretty-print + - lib80211: fix unmet direct dependendices config warning when !CRYPTO + - mac80211: do not disable HE if HT is missing on 2.4 GHz + - cfg80211: fix 6 GHz channel conversion + - mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz + - ALSA: asihpi: fix iounmap in error handler + - io_uring: fix openat/openat2 unified prep handling + - SUNRPC: Fix svc_flush_dcache() + - regmap: fix page selection for noinc reads + - regmap: fix page selection for noinc writes + - net/mlx5e: mlx5e_fec_in_caps() returns a boolean + - MIPS: Loongson-3: Fix fp register access if MSA enabled + - PM / devfreq: tegra30: Disable clock on error in probe + - MIPS: Add the missing 'CPU_1074K' into __get_cpu_type() + - regulator: axp20x: fix LDO2/4 description + - spi: bcm-qspi: Fix probe regression on iProc platforms + - KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE + - KVM: SVM: Add a dedicated INVD intercept routine + - mm: validate pmd after splitting + - arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback + - x86/irq: Make run_on_irqstack_cond() typesafe + - x86/ioapic: Unbreak check_timer() + - scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported + - ALSA: usb-audio: Add delay quirk for H570e USB headsets + - ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged + - ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation + P520 + - lib/string.c: implement stpcpy + - tracing: fix double free + - s390/dasd: Fix zero write for FBA devices + - mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing + stations + - lib/bootconfig: Fix a bug of breaking existing tree nodes + - lib/bootconfig: Fix to remove tailing spaces after value + - kprobes: Fix to check probe enabled before disarm_kprobe_ftrace() + - kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot + - btrfs: fix put of uninitialized kobject after seed device delete + - btrfs: fix overflow when copying corrupt csums for a message + - media: cec-adap.c: don't use flush_scheduled_work() + - MIPS: Loongson2ef: Disable Loongson MMI instructions + - dmabuf: fix NULL pointer dereference in dma_buf_release() + - mm, THP, swap: fix allocating cluster for swapfile by mistake + - mm: replace memmap_context by meminit_context + - mm: don't rely on system state to detect hot-plug operations + - s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl + - io_uring: ensure open/openat2 name is cleaned on cancelation + - KVM: arm64: Assume write fault on S1PTW permission fault on instruction + fetch + - dm: fix bio splitting and its bio completion order for regular IO + - clocksource/drivers/timer-ti-dm: Do reset before enable + - Linux 5.8.13 + + * 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 + + * mwifiex stops working after kernel upgrade (LP: #1897299) + - mwifiex: Increase AES key storage size to 256 bits + + * Oops and hang when starting LVM snapshots on 5.4.0-47 (LP: #1894780) + - SAUCE: Revert "mm: memcg/slab: fix memory leak at non-root kmem_cache + destroy" + + * mm/slub kernel oops on focal kernel 5.4.0-45 (LP: #1895109) + - SAUCE: Revert "mm/slub: fix a memory leak in sysfs_slab_add()" + + * Remove NVMe suspend-to-idle workaround (LP: #1897227) + - Revert "UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3" + - Revert "UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3" + + * [UBUNTU 20.04.1] qemu (secure guest) crash due to gup_fast / dynamic page + table folding issue (LP: #1896726) + - mm/gup: fix gup_fast with dynamic page table folding + + * backport tls-rx to ubuntu 5.8 (LP: #1895947) + - net/mlx5: kTLS, Improve TLS params layout structures + - net/mlx5e: Turn XSK ICOSQ into a general asynchronous one + - net/mlx5e: Refactor build channel params + - net/mlx5e: API to manipulate TTC rules destinations + - net/mlx5e: Receive flow steering framework for accelerated TCP flows + - net/mlx5e: Accel, Expose flow steering API for rules add/del + - net/mlx5e: kTLS, Improve TLS feature modularity + - net/mlx5e: kTLS, Use kernel API to extract private offload context + - net/mlx5e: kTLS, Add kTLS RX HW offload support + - Revert "net/tls: Add force_resync for driver resync" + - net/tls: Add asynchronous resync + - net/mlx5e: kTLS, Add kTLS RX resync support + - net/mlx5e: kTLS, Add kTLS RX stats + - net/mlx5e: Increase Async ICO SQ size + - net/mlx5e: kTLS, Cleanup redundant capability check + - net/mlx5e: kTLS, Improve rx handler function call + - net/mlx5e: kTLS, Fix napi sync and possible use-after-free + - net/mlx5e: fix memory leak of tls + - net/mlx5e: Fix build break when CONFIG_XPS is not set + - net/mlx5e: kTLS, Add missing dma_unmap in RX resync + - net/mlx5e: kTLS, Fix leak on resync error flow + - net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock + + * Groovy update: v5.8.12 upstream stable release (LP: #1897550) + - ibmvnic fix NULL tx_pools and rx_tools issue at do_reset + - ibmvnic: add missing parenthesis in do_reset() + - act_ife: load meta modules before tcf_idr_check_alloc() + - bnxt_en: Avoid sending firmware messages when AER error is detected. + - bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() + - cxgb4: fix memory leak during module unload + - cxgb4: Fix offset when clearing filter byte counters + - geneve: add transport ports in route lookup for geneve + - hdlc_ppp: add range checks in ppp_cp_parse_cr() + - hinic: bump up the timeout of SET_FUNC_STATE cmd + - ip: fix tos reflection in ack and reset packets + - ipv4: Initialize flowi4_multipath_hash in data path + - ipv4: Update exception handling for multipath routes via same device + - ipv6: avoid lockdep issue in fib6_del() + - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under + RCU + - net: DCB: Validate DCB_ATTR_DCB_BUFFER argument + - net: dsa: rtl8366: Properly clear member config + - net: Fix bridge enslavement failure + - net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC + - net/mlx5: Fix FTE cleanup + - net: phy: call phy_disable_interrupts() in phy_attach_direct() instead + - net: sched: initialize with 0 before setting erspan md->u + - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc + - net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant + - nfp: use correct define to return NONE fec + - taprio: Fix allowing too small intervals + - tipc: Fix memory leak in tipc_group_create_member() + - tipc: fix shutdown() of connection oriented socket + - tipc: use skb_unshare() instead in tipc_buf_append() + - net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported + - net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported + - bnxt_en: Use memcpy to copy VPD field info. + - bnxt_en: return proper error codes in bnxt_show_temp + - bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex. + - net: lantiq: Wake TX queue again + - net: lantiq: use netif_tx_napi_add() for TX NAPI + - net: lantiq: Use napi_complete_done() + - net: lantiq: Disable IRQs only if NAPI gets scheduled + - net: phy: Avoid NPD upon phy_detach() when driver is unbound + - net: phy: Do not warn in phy_stop() on PHY_DOWN + - net: qrtr: check skb_put_padto() return value + - net: add __must_check to skb_put_padto() + - net: ethernet: ti: cpsw_new: fix suspend/resume + - wireguard: noise: take lock when removing handshake entry from table + - wireguard: peerlookup: take lock before checking hash in replace operation + - net: ipa: fix u32_replace_bits by u32p_xxx version + - net/mlx5e: Fix memory leak of tunnel info when rule under multipath not + ready + - hinic: fix rewaking txq after netif_tx_disable + - hv_netvsc: Fix hibernation for mlx5 VF driver + - net: dsa: link interfaces with the DSA master to get rid of lockdep warnings + - net: dsa: microchip: ksz8795: really set the correct number of ports + - net: macb: fix for pause frame receive enable bit + - Revert "netns: don't disable BHs when locking "nsid_lock"" + - net/mlx5e: Use RCU to protect rq->xdp_prog + - net/mlx5e: Use synchronize_rcu to sync with NAPI + - net/mlx5e: Fix endianness when calculating pedit mask first bit + - Linux 5.8.12 + + * Groovy update: v5.8.11 upstream stable release (LP: #1896795) + - RDMA/bnxt_re: Restrict the max_gids to 256 + - dt-bindings: spi: Fix spi-bcm-qspi compatible ordering + - mptcp: sendmsg: reset iter on error + - net: handle the return value of pskb_carve_frag_list() correctly + - dt-bindings: PCI: intel,lgm-pcie: Fix matching on all snps,dw-pcie instances + - hv_netvsc: Remove "unlikely" from netvsc_select_queue + - loop: Set correct device size when using LOOP_CONFIGURE + - firmware_loader: fix memory leak for paged buffer + - xprtrdma: Release in-flight MRs on disconnect + - NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall + - phy: omap-usb2-phy: disable PHY charger detect + - habanalabs: prevent user buff overflow + - habanalabs: fix report of RAZWI initiator coordinates + - scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort + - scsi: libfc: Fix for double free() + - scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery + - scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional + events + - regulator: pwm: Fix machine constraints application + - spi: spi-loopback-test: Fix out-of-bounds read + - interconnect: Show bandwidth for disabled paths as zero in debugfs + - NFS: Zero-stateid SETATTR should first return delegation + - SUNRPC: stop printk reading past end of string + - rapidio: Replace 'select' DMAENGINES 'with depends on' + - cifs: fix DFS mount with cifsacl/modefromsid + - openrisc: Fix cache API compile issue when not inlining + - nvme-fc: cancel async events before freeing event struct + - nvme-rdma: cancel async events before freeing event struct + - nvme-tcp: cancel async events before freeing event struct + - block: only call sched requeue_request() for scheduled requests + - f2fs: fix indefinite loop scanning for free nid + - f2fs: Return EOF on unaligned end of file DIO read + - i2c: algo: pca: Reapply i2c bus settings after reset + - spi: Fix memory leak on splited transfers + - KVM: MIPS: Change the definition of kvm type + - clk: davinci: Use the correct size when allocating memory + - clk: rockchip: Fix initialization of mux_pll_src_4plls_p + - ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend + delay + - ASoC: qcom: Set card->owner to avoid warnings + - ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() + - ASoC: rt711: Fix return check for devm_regmap_init_sdw() + - ASoC: rt715: Fix return check for devm_regmap_init_sdw() + - ASoC: rt700: Fix return check for devm_regmap_init_sdw() + - ASoC: qcom: common: Fix refcount imbalance on error + - drm/mediatek: dsi: Fix scrolling of panel with small hfp or hbp + - powerpc/book3s64/radix: Fix boot failure with large amount of guest memory + - ASoC: soc-core: add snd_soc_find_dai_with_mutex() + - ASoC: meson: axg-toddr: fix channel order on g12 platforms + - ASoC: tlv320adcx140: Fix accessing uninitialized adcx140->dev + - ASoC: Intel: haswell: Fix power transition refactor + - ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure + - Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() + - scsi: libsas: Fix error path in sas_notify_lldd_dev_found() + - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late + - Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload + - perf test: Fix the "signal" test inline assembly + - perf record: Don't clear event's period if set by a term + - MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT + - perf test: Free aliases for PMU event map aliases test + - perf metric: Fix some memory leaks + - perf evlist: Fix cpu/thread map leak + - perf parse-event: Fix memory leak in evsel->unit + - perf test: Free formats for perf pmu parse test + - drm/i915/gem: Reduce context termination list iteration guard to RCU + - fbcon: Fix user font detection test at fbcon_resize(). + - MIPS: SNI: Fix spurious interrupts + - drm/mediatek: Use CPU when fail to get cmdq event + - drm/mediatek: Add missing put_device() call in mtk_ddp_comp_init() + - drm/mediatek: Add exception handing in mtk_drm_probe() if component init + fail + - drm/mediatek: Add missing put_device() call in mtk_drm_kms_init() + - drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata() + - arm64: bpf: Fix branch offset in JIT + - iommu/amd: Fix potential @entry null deref + - iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode + - kconfig: qconf: use delete[] instead of delete to free array (again) + - i2c: mediatek: Fix generic definitions for bus frequency + - i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK + - riscv: Add sfence.vma after early page table changes + - locking/lockdep: Fix "USED" <- "IN-NMI" inversions + - efi: efibc: check for efivars write capability + - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count + - x86/unwind/fp: Fix FP unwinding in ret_from_fork + - drm/kfd: fix a system crash issue during GPU recovery + - drm/i915/gem: Delay tracking the GEM context until it is registered + - drm/i915: Filter wake_flags passed to default_wake_function + - USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin + notebook + - USB: UAS: fix disconnect by unplugging a hub + - usblp: fix race between disconnect() and read() + - usb: typec: ucsi: acpi: Increase command completion timeout value + - usb: typec: ucsi: Prevent mode overrun + - i2c: i801: Fix resume bug + - Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI + X570-A PRO" + - ALSA: hda: fixup headset for ASUS GX502 laptop + - ALSA: hda/realtek - The Mic on a RedmiBook doesn't work + - percpu: fix first chunk size calculation for populated bitmap + - Input: trackpoint - add new trackpoint variant IDs + - Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists + - serial: 8250_pci: Add Realtek 816a and 816b + - serial: core: fix port-lock initialisation + - serial: core: fix console port-lock regression + - x86/boot/compressed: Disable relocation relaxation + - ksm: reinstate memcg charge on copied pages + - kprobes: fix kill kprobe which has been marked as gone + - mm/thp: fix __split_huge_pmd_locked() for migration PMD + - s390: add 3f program exception handler + - s390/zcrypt: fix kmalloc 256k failure + - ehci-hcd: Move include to keep CRC stable + - arm64: paravirt: Initialize steal time when cpu is online + - powerpc/dma: Fix dma_map_ops::get_required_mask + - selftests/vm: fix display of page size in map_hugetlb + - dm/dax: Fix table reference counts + - mm/memory_hotplug: drain per-cpu pages again during memory offline + - dm: Call proper helper to determine dax support + - dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - mm: memcg: fix memcg reclaim soft lockup + - nvme-loop: set ctrl state connecting after init + - Linux 5.8.11 + + * Miscellaneous Ubuntu changes + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - SAUCE: RDMA/core: Introduce peer memory interface + - SAUCE: fixup! RDMA/core: Introduce peer memory interface + - SAUCE: IB/mlx5: Use peer client page_shift + - SAUCE: IB/umem: Fix the Peer flow to handle pinned pages properly + - [Config] GCC version update + + -- Paolo Pisati Fri, 02 Oct 2020 10:46:22 +0200 + +linux (5.8.0-20.21) groovy; urgency=medium + + * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668) + + * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices + (LP: #1853277) + - i2c: core: Call i2c_acpi_install_space_handler() before + i2c_acpi_register_devices() + + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + + * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062) + - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing + nf_defrag_ipv6 support" + + * [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 + + * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event + 0x0304) (LP: #1896216) + - s390/pci: fix leak of DMA tables on hard unplug + + * md: improve IO accounting (LP: #1891151) + - md: improve io stats accounting + + * Groovy update: v5.8.10 upstream stable release (LP: #1896078) + - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm() + - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix missing video + - regulator: push allocation in regulator_ena_gpio_request() out of lock + - regulator: remove superfluous lock in regulator_resolve_coupling() + - ARM: dts: socfpga: fix register entry for timer3 on Arria10 + - ARM: dts: omap5: Fix DSI base address and clocks + - ARM: dts: ls1021a: fix QuadSPI-memory reg range + - ARM: dts: imx7ulp: Correct gpio ranges + - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build + - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy + - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add + - RDMA/rxe: Fix memleak in rxe_mem_init_user + - RDMA/rxe: Drop pointless checks in rxe_init_ports + - RDMA/rxe: Fix panic when calling kmem_cache_create() + - RDMA/bnxt_re: Do not report transparent vlan from QP1 + - RDMA/bnxt_re: Fix the qp table indexing + - RDMA/bnxt_re: Static NQ depth allocation + - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address + - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds + - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux() + - arm64: dts: imx8mq: Fix TMU interrupt property + - drm/sun4i: Fix dsi dcs long write function + - scsi: qla2xxx: Fix regression on sparc64 + - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA + - drm/virtio: fix unblank + - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ + - RDMA/core: Fix reported speed and width + - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll + - scsi: mpt3sas: Don't call disable_irq from IRQ poll handler + - soundwire: fix double free of dangling pointer + - Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled" + - interconnect: qcom: Fix small BW votes being truncated to zero + - padata: fix possible padata_works_lock deadlock + - drm/sun4i: Fix DE2 YVU handling + - drm/sun4i: backend: Support alpha property on lowest plane + - drm/sun4i: backend: Disable alpha on the lowest plane on the A20 + - KVM: arm64: Update page shift if stage 2 block mapping not supported + - ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3 + - mmc: sdhci-acpi: Clear amd_sdhci_host on reset + - mmc: sdhci-msm: Add retries when all tuning phases are found valid + - spi: stm32: Rate-limit the 'Communication suspended' message + - btrfs: fix NULL pointer dereference after failure to create snapshot + - i2c: npcm7xx: Fix timeout calculation + - block: restore a specific error code in bdev_del_partition + - seccomp: don't leak memory when filter install races + - nvme-fabrics: allow to queue requests for live queues + - spi: stm32: fix pm_runtime_get_sync() error checking + - block: Set same_page to false in __bio_try_merge_page if ret is false + - RDMA/rtrs-srv: Set .release function for rtrs srv device during device init + - IB/isert: Fix unaligned immediate-data handling + - ARM: dts: bcm: HR2: Fixed QSPI compatible string + - ARM: dts: NSP: Fixed QSPI compatible string + - ARM: dts: BCM5301X: Fixed QSPI compatible string + - arm64: dts: ns2: Fixed QSPI compatible string + - KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control + - KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN + - ARC: HSDK: wireup perf irq + - dmaengine: acpi: Put the CSRT table after using it + - MIPS: Loongson64: Do not override watch and ejtag feature + - netfilter: conntrack: allow sctp hearbeat after connection re-use + - netfilter: nft_set_rbtree: Detect partial overlap with start endpoint match + - drivers/net/wan/lapbether: Added needed_tailroom + - NFC: st95hf: Fix memleak in st95hf_in_send_cmd + - firestream: Fix memleak in fs_open + - scsi: qedf: Fix null ptr reference in qedf_stag_change_work + - ALSA: hda: Fix 2 channel swapping for Tegra + - ALSA: hda/tegra: Program WAKEEN register for Tegra + - drivers/dma/dma-jz4780: Fix race condition between probe and irq handler + - net: hns3: Fix for geneve tx checksum bug + - xfs: fix off-by-one in inode alloc block reservation calculation + - drivers/net/wan/lapbether: Set network_header before transmitting + - wireless: fix wrong 160/80+80 MHz setting + - mac80211: reduce packet loss event false positives + - cfg80211: Adjust 6 GHz frequency to channel conversion + - xfs: initialize the shortform attr header padding entry + - ARC: show_regs: fix r12 printing and simplify + - irqchip/eznps: Fix build error for !ARC700 builds + - media: gpio-ir-tx: spinlock is not needed to disable interrupts + - nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu + - nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance + - nvme: have nvme_wait_freeze_timeout return if it timed out + - nvme-tcp: serialize controller teardown sequences + - nvme-tcp: fix timeout handler + - nvme-tcp: fix reset hang if controller died in the middle of a reset + - nvme-rdma: serialize controller teardown sequences + - nvme-rdma: fix timeout handler + - nvme-rdma: fix reset hang if controller died in the middle of a reset + - nvme-pci: cancel nvme device request before disabling + - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices + - HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller + - drivers/net/wan/hdlc_cisco: Add hard_header_len + - HID: elan: Fix memleak in elan_input_configured + - ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id + - cpufreq: intel_pstate: Refuse to turn off with HWP enabled + - cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled + - arm64/module: set trampoline section flags regardless of + CONFIG_DYNAMIC_FTRACE + - ALSA: hda: hdmi - add Rocketlake support + - ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled + - ALSA: hda: use consistent HDAudio spelling in comments/docs + - drivers/net/wan/hdlc: Change the default of hard_header_len to 0 + - drm/amdgpu: Fix bug in reporting voltage for CIK + - iommu/amd: Do not force direct mapping when SME is active + - iommu/amd: Do not use IOMMUv2 functionality when SME is active + - gcov: Disable gcov build with GCC 10 + - iio: adc: mcp3422: fix locking scope + - iio: adc: mcp3422: fix locking on error path + - iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set + - iio: cros_ec: Set Gyroscope default frequency to 25Hz + - iio:light:ltr501 Fix timestamp alignment issue. + - iio:proximity:mb1232: Fix timestamp alignment and prevent data leak. + - iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak. + - iio:adc:ti-adc084s021 Fix alignment and data leak issues. + - iio:adc:ina2xx Fix timestamp alignment issue. + - iio:adc:max1118 Fix alignment of timestamp and data leak issues + - iio:adc:ti-adc081c Fix alignment and data leak issues + - iio:magnetometer:ak8975 Fix alignment and data leak issues. + - iio:light:max44000 Fix timestamp alignment and prevent data leak. + - iio:chemical:ccs811: Fix timestamp alignment and prevent data leak. + - iio: accel: kxsd9: Fix alignment of local buffer. + - iio:accel:mma7455: Fix timestamp alignment and prevent data leak. + - iio:accel:mma8452: Fix timestamp alignment and prevent data leak. + - staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() + - btrfs: require only sector size alignment for parent eb bytenr + - btrfs: fix lockdep splat in add_missing_dev + - btrfs: free data reloc tree on failed mount + - btrfs: fix wrong address when faulting in pages in the search ioctl + - thunderbolt: Disable ports that are not implemented + - kobject: Restore old behaviour of kobject_del(NULL) + - regulator: push allocation in regulator_init_coupling() outside of lock + - regulator: push allocations in create_regulator() outside of lock + - regulator: push allocation in set_consumer_device_supply() out of lock + - regulator: plug of_node leak in regulator_register()'s error path + - regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive() + - misc: eeprom: at24: register nvmem only after eeprom is ready to use + - scsi: target: iscsi: Fix data digest calculation + - scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask + - scsi: target: iscsi: Fix hang in iscsit_access_np() when getting + tpg->np_login_sem + - drm/tve200: Stabilize enable/disable + - drm/msm: Split the a5xx preemption record + - drm/msm: Disable preemption on all 5xx targets + - drm/msm: Disable the RPTR shadow + - mmc: sdio: Use mmc_pre_req() / mmc_post_req() + - mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt + - nvme: Revert: Fix controller creation races with teardown flow + - rbd: require global CAP_SYS_ADMIN for mapping and unmapping + - RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars + - RDMA/mlx4: Read pkey table length instead of hardcoded value + - fbcon: remove soft scrollback code + - fbcon: remove now unusued 'softback_lines' cursor() argument + - vgacon: remove software scrollback support + - KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit + - KVM: arm64: Do not try to map PUDs when they are folded into PMD + - kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed + - KVM: fix memory leak in kvm_io_bus_unregister_dev() + - Revert "usb: dwc3: meson-g12a: fix shared reset control use" + - debugfs: Fix module state check condition + - test_firmware: Test platform fw loading on non-EFI systems + - arm64: dts: imx8mp: correct sdma1 clk setting + - ARM: dts: vfxxx: Add syscon compatible with OCOTP + - video: fbdev: fix OOB read in vga_8planes_imageblit() + - staging: greybus: audio: fix uninitialized value issue + - phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init + - usb: core: fix slab-out-of-bounds Read in read_descriptors + - USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter + - USB: serial: option: support dynamic Quectel USB compositions + - USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules + - usb: Fix out of sync data toggle if a configured device is reconfigured + - usb: typec: ucsi: acpi: Check the _DEP dependencies + - usb: typec: intel_pmc_mux: Un-register the USB role switch + - usb: typec: intel_pmc_mux: Do not configure Altmode HPD High + - usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in + Alternate modes + - drm/msm/gpu: make ringbuffer readonly + - gcov: add support for GCC 10.1 + - Linux 5.8.10 + - [Config] GCC version update + - [Config] updateconfigs following v5.8.10 import + + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + + * Thunderbolt3 daisy chain sometimes doesn't work (LP: #1895606) + - thunderbolt: Retry DROM read once if parsing fails + + * Groovy update: v5.8.9 upstream stable release (LP: #1895634) + - io_uring: fix cancel of deferred reqs with ->files + - io_uring: fix linked deferred ->files cancellation + - RDMA/cma: Simplify DEVICE_REMOVAL for internal_id + - RDMA/cma: Using the standard locking pattern when delivering the removal + event + - RDMA/cma: Remove unneeded locking for req paths + - RDMA/cma: Execute rdma_cm destruction from a handler properly + - ipv4: Silence suspicious RCU usage warning + - ipv6: Fix sysctl max for fib_multipath_hash_policy + - netlabel: fix problems with mapping removal + - net: usb: dm9601: Add USB ID of Keenetic Plus DSL + - sctp: not disable bh in the whole sctp_get_port_local() + - taprio: Fix using wrong queues in gate mask + - tipc: fix shutdown() of connectionless socket + - tipc: fix using smp_processor_id() in preemptible + - net: disable netpoll on fresh napis + - mptcp: free acked data before waiting for more memory + - Linux 5.8.9 + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "selftests/bpf: Fix btf_dump test cases on 32-bit arches" + - [Config] annotations: remove VGACON_SOFT_SCROLLBACK + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + -- Seth Forshee Tue, 22 Sep 2020 15:13:52 -0500 + +linux (5.8.0-19.20) groovy; urgency=medium + + * groovy/linux: 5.8.0-19.20 -proposed tracker (LP: #1895120) + + * Please switch default, hwe, oem kernel flavours governor to + CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace + utilities such as game-mode can be later used to rev-up to to performance, + or rev-down to powersave. (LP: #1885730) + - [Config] Set the default CPU governor to ONDEMAND + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update variants + + * [WD19TB] external DP failed with DRM error message (LP: #1886165) + - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders + - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock + + * Groovy update: v5.8.8 upstream stable release (LP: #1895097) + - hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 + - HID: quirks: Always poll three more Lenovo PixArt mice + - drm/msm/dpu: Fix reservation failures in modeset + - drm/msm/dpu: Fix scale params in plane validation + - drm/msm/dpu: fix unitialized variable error + - tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup + - drm/msm: add shutdown support for display platform_driver + - hwmon: (applesmc) check status earlier. + - nvmet: Disable keep-alive timer when kato is cleared to 0h + - drm/msm: enable vblank during atomic commits + - habanalabs: unmap PCI bars upon iATU failure + - habanalabs: validate packet id during CB parse + - habanalabs: set clock gating according to mask + - habanalabs: proper handling of alloc size in coresight + - habanalabs: set max power according to card type + - habanalabs: validate FW file size + - habanalabs: check correct vmalloc return code + - drm/msm/a6xx: fix gmu start on newer firmware + - gfs2: add some much needed cleanup for log flushes that fail + - hv_utils: return error if host timesysnc update is stale + - hv_utils: drain the timesync packets on onchannelcallback + - ceph: don't allow setlease on cephfs + - i2c: iproc: Fix shifting 31 bits + - drm/omap: fix incorrect lock state + - irqchip/ingenic: Leave parent IRQ unmasked on suspend + - cpuidle: Fixup IRQ state + - nbd: restore default timeout when setting it to zero + - s390: don't trace preemption in percpu macros + - drm/amd/display: should check error using DC_OK + - drm/amd/display: Reject overlay plane configurations in multi-display + scenarios + - drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in + amdgpu_dm_update_backlight_caps + - drm/amd/display: Revert HDCP disable sequence change + - drm/amd/display: Fix passive dongle mistaken as active dongle in EDID + emulation + - drm/amd/display: Keep current gain when ABM disable immediately + - drm/amd/display: Retry AUX write when fail occurs + - drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init + - xen/xenbus: Fix granting of vmalloc'd memory + - fsldma: fix very broken 32-bit ppc ioread64 functionality + - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling + - batman-adv: Avoid uninitialized chaddr when handling DHCP + - batman-adv: Fix own OGM check in aggregated OGMs + - batman-adv: bla: use netif_rx_ni when not in interrupt context + - dmaengine: at_hdmac: check return value of of_find_device_by_node() in + at_dma_xlate() + - dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate() + - dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() + - rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() + - rxrpc: Fix loss of RTT samples due to interposed ACK + - rxrpc: Make rxrpc_kernel_get_srtt() indicate validity + - MIPS: mm: BMIPS5000 has inclusive physical caches + - MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores + - mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 + - perf sched timehist: Fix use of CPU list with summary option + - perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set + - netfilter: nf_tables: add NFTA_SET_USERDATA if not null + - netfilter: nf_tables: incorrect enum nft_list_attributes definition + - netfilter: nf_tables: fix destination register zeroing + - net: hns: Fix memleak in hns_nic_dev_probe + - net: systemport: Fix memleak in bcm_sysport_probe + - ravb: Fixed to be able to unload modules + - net: arc_emac: Fix memleak in arc_mdio_probe + - bpf: Fix a buffer out-of-bound access when filling raw_tp link_info + - dmaengine: pl330: Fix burst length if burst size is smaller than bus width + - dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg + - gtp: add GTPA_LINK info to msg sent to userspace + - net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port + - net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port + - bnxt_en: Don't query FW when netif_running() is false. + - bnxt_en: Check for zero dir entries in NVRAM. + - bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled. + - bnxt_en: Fix PCI AER error recovery flow + - bnxt_en: Fix possible crash in bnxt_fw_reset_task(). + - bnxt_en: fix HWRM error when querying VF temperature + - xfs: finish dfops on every insert range shift iteration + - xfs: fix boundary test in xfs_attr_shortform_verify + - bnxt: don't enable NAPI until rings are ready + - media: vicodec: add missing v4l2_ctrl_request_hdl_put() + - media: cedrus: Add missing v4l2_ctrl_request_hdl_put() + - net: ethernet: ti: cpsw_new: fix error handling in + cpsw_ndo_vlan_rx_kill_vid() + - media: i2c: imx214: select V4L2_FWNODE + - selftests/bpf: Fix massive output from test_maps + - net: dsa: mt7530: fix advertising unsupported 1000baseT_Half + - netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS + - nvmet-fc: Fix a missed _irqsave version of spin_lock in + 'nvmet_fc_fod_op_done()' + - nvme: fix controller instance leak + - netfilter: conntrack: do not auto-delete clash entries on reply + - opp: Don't drop reference for an OPP table that was never parsed + - cxgb4: fix thermal zone device registration + - net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode + - MIPS: perf: Fix wrong check condition of Loongson event IDs + - block: fix locking in bdev_del_partition + - perf top/report: Fix infinite loop in the TUI for grouped events + - perf cs-etm: Fix corrupt data after perf inject from + - perf intel-pt: Fix corrupt data after perf inject from + - perf tools: Correct SNOOPX field offset + - net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() + - fix regression in "epoll: Keep a reference on files added to the check list" + - net: bcmgenet: fix mask check in bcmgenet_validate_flow() + - net: gemini: Fix another missing clk_disable_unprepare() in probe + - nfp: flower: fix ABI mismatch between driver and firmware + - net: dp83867: Fix WoL SecureOn password + - MIPS: add missing MSACSR and upper MSA initialization + - MIPS: SNI: Fix SCSI interrupt + - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files + - perf jevents: Fix suspicious code in fixregex() + - perf stat: Turn off summary for interval mode by default + - perf bench: The do_run_multi_threaded() function must use + IS_ERR(perf_session__new()) + - tg3: Fix soft lockup when tg3_reset_task() fails. + - x86, fakenuma: Fix invalid starting node ID + - iommu/vt-d: Serialize IOMMU GCMD register modifications + - thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 + - thermal: qcom-spmi-temp-alarm: Don't suppress negative temp + - iommu/amd: Restore IRTE.RemapEn bit after programming IRTE + - iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE + - include/linux/log2.h: add missing () around n in roundup_pow_of_two() + - iommu/vt-d: Handle 36bit addressing for x86-32 + - tracing/kprobes, x86/ptrace: Fix regs argument order for i386 + - x86/entry: Fix AC assertion + - x86/debug: Allow a single level of #DB recursion + - ext2: don't update mtime on COW faults + - xfs: don't update mtime on COW faults + - ARC: perf: don't bail setup if pct irq missing in device-tree + - arc: fix memory initialization for systems with two memory banks + - btrfs: drop path before adding new uuid tree entry + - btrfs: fix potential deadlock in the search ioctl + - btrfs: allocate scrub workqueues outside of locks + - btrfs: set the correct lockdep class for new nodes + - btrfs: set the lockdep class for log tree extent buffers + - btrfs: block-group: fix free-space bitmap threshold + - btrfs: tree-checker: fix the error message for transid error + - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier + - x86/mm/32: Bring back vmalloc faulting on x86_32 + - Revert "ALSA: hda: Add support for Loongson 7A1000 controller" + - ALSA: ca0106: fix error code handling + - ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 + - ALSA: usb-audio: Add implicit feedback quirk for UR22C + - ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check + - ALSA: hda/hdmi: always check pin power status in i915 pin fixup + - ALSA: firewire-digi00x: exclude Avid Adrenaline from detection + - ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO + - ALSA; firewire-tascam: exclude Tascam FE-8 from detection + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A + - ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen + - arm64: dts: mt7622: add reset node for mmc device + - mmc: mediatek: add optional module reset property + - mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings + - mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based + controllers + - media: rc: do not access device via sysfs after rc_unregister_device() + - media: rc: uevent sysfs file races with rc_unregister_device() + - affs: fix basic permission bits to actually work + - block: allow for_each_bvec to support zero len bvec + - block: ensure bdi->io_pages is always initialized + - io_uring: set table->files[i] to NULL when io_sqe_file_register failed + - io_uring: fix removing the wrong file in __io_sqe_files_update() + - s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig + - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks + - mips/oprofile: Fix fallthrough placement + - blk-iocost: ioc_pd_free() shouldn't assume irq disabled + - blk-stat: make q->stats->lock irqsafe + - dmaengine: dw-edma: Fix scatter-gather address calculation + - drm/i915: Fix sha_text population code + - drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting + - drm/amdgpu: Specify get_argument function for ci_smu_funcs + - dm writecache: handle DAX to partitions on persistent memory correctly + - dm mpath: fix racey management of PG initialization + - dm integrity: fix error reporting in bitmap mode after creation + - dm crypt: Initialize crypto wait structures + - dm cache metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Fix use-after-free in dm_bm_set_read_only + - mm: slub: fix conversion of freelist_corrupted() + - mm: track page table modifications in __apply_to_page_range() + - mm: madvise: fix vma user-after-free + - mm/rmap: fixup copying of soft dirty and uffd ptes + - io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file + - perf record: Correct the help info of option "--no-bpf-event" + - kconfig: streamline_config.pl: check defined(ENV variable) before using it + - sdhci: tegra: Add missing TMCLK for data timeout + - checkpatch: fix the usage of capture group ( ... ) + - mm/migrate: fixup setting UFFD_WP flag + - mm/hugetlb: try preferred node first when alloc gigantic page from cma + - mm/hugetlb: fix a race between hugetlb sysctl handlers + - mm/khugepaged.c: fix khugepaged's request size in collapse_file + - cfg80211: regulatory: reject invalid hints + - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() + - Linux 5.8.8 + + * Groovy update: v5.8.7 upstream stable release (LP: #1894959) + - HID: core: Correctly handle ReportSize being zero + - HID: core: Sanitize event code and type when mapping input + - netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap + detection + - mm: fix pin vs. gup mismatch with gate pages + - selftests/x86/test_vsyscall: Improve the process_vm_readv() test + - perf record/stat: Explicitly call out event modifiers in the documentation + - media: media/v4l2-core: Fix kernel-infoleak in video_put_user() + - KVM: arm64: Add kvm_extable for vaxorcism code + - KVM: arm64: Survive synchronous exceptions caused by AT instructions + - dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later + - arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra210 SDMMC + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210 + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186 + - nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage + - scsi: target: tcmu: Optimize use of flush_dcache_page + - Linux 5.8.7 + + * Groovy update: v5.8.6 upstream stable release (LP: #1894956) + - Revert "UBUNTU: SAUCE: Revert "ARM64: vdso32: Install vdso32 from + vdso_install"" + - khugepaged: khugepaged_test_exit() check mmget_still_valid() + - ASoC: intel/skl/hda - fix probe regression on systems without i915 + - ALSA: pci: delete repeated words in comments + - drm/amdgpu: fix RAS memory leak in error case + - EDAC/mc: Call edac_inc_ue_error() before panic + - ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt + - ASoC: img-parallel-out: Fix a reference count leak + - ASoC: tegra: Fix reference count leaks. + - mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs + - arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep + - powerpc/xive: Ignore kmemleak false positives + - media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA + value in debiirq() + - gcc-plugins/stackleak: Don't instrument itself + - blktrace: ensure our debugfs dir exists + - staging: rts5208: fix memleaks on error handling paths in probe + - scsi: target: tcmu: Fix crash on ARM during cmd completion + - mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs + - iommu/iova: Don't BUG on invalid PFNs + - platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow + - drm/amdkfd: Fix reference count leaks. + - drm/radeon: fix multiple reference count leak + - drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms + - drm/amd/display: fix ref count leak in amdgpu_drm_ioctl + - drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config + - drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/fence: fix ref count leak when pm_runtime_get_sync fails + - drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/pm: fix ref count leak when pm_runtime_get_sync fails + - scsi: lpfc: Fix shost refcount mismatch when deleting vport + - xfs: Don't allow logging of XFS_ISTALE inodes + - scsi: target: Fix xcopy sess release leak + - selftests/powerpc: Purge extra count_pmc() calls of ebb selftests + - f2fs: remove write attribute of main_blkaddr sysfs node + - f2fs: fix error path in do_recover_data() + - MIPS: KVM: Limit Trap-and-Emulate to MIPS32R2 only + - omapfb: fix multiple reference count leaks due to pm_runtime_get_sync + - PCI: Fix pci_create_slot() reference count leak + - ARM: dts: ls1021a: output PPS signal on FIPER2 + - rtlwifi: rtl8192cu: Prevent leaking urb + - mips/vdso: Fix resource leaks in genvdso.c + - ALSA: hda: Add support for Loongson 7A1000 controller + - gpu: host1x: Put gather's BO on pinning error + - cec-api: prevent leaking memory through hole in structure + - ASoC: Intel: sof_sdw_rt711: remove properties in card remove + - HID: quirks: add NOGET quirk for Logitech GROUP + - f2fs: fix use-after-free issue + - drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open + - drm/nouveau: fix reference count leak in nv50_disp_atomic_commit + - drm/nouveau: Fix reference count leak in nouveau_connector_detect + - locking/lockdep: Fix overflow in presentation of average lock-time + - btrfs: file: reserve qgroup space after the hole punch range is locked + - btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode + - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() + - netfilter: nf_tables: report EEXIST on overlaps + - ceph: fix potential mdsc use-after-free crash + - ceph: do not access the kiocb after aio requests + - scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() + - i2c: i801: Add support for Intel Tiger Lake PCH-H + - EDAC/ie31200: Fallback if host bridge device is already initialized + - hugetlbfs: prevent filesystem stacking of hugetlbfs + - media: davinci: vpif_capture: fix potential double free + - media: i2c: imx290: fix reset GPIO pin handling + - drm/amd/display: change global buffer to local buffer + - drm/amd/display: fix compilation error on allmodconfig + - KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe + - powerpc/spufs: add CONFIG_COREDUMP dependency + - dmaengine: idxd: fix PCI_MSI build errors + - USB: sisusbvga: Fix a potential UB casued by left shifting a negative value + - mmc: sdhci-of-arasan: fix timings allocation code + - brcmfmac: Set timeout value when configuring power save + - pinctrl: mediatek: avoid virtual gpio trying to set reg + - pinctrl: mediatek: fix build for tristate changes + - efi: provide empty efi_enter_virtual_mode implementation + - arm64: Fix __cpu_logical_map undefined issue + - net: openvswitch: introduce common code for flushing flows + - PCI: qcom: Add missing ipq806x clocks in PCIe driver + - PCI: qcom: Change duplicate PCI reset to phy reset + - PCI: qcom: Add missing reset for ipq806x + - PM / devfreq: Fix the wrong end with semicolon + - cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode + - ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) + - nfsd: fix oops on mixed NFSv4/NFSv3 client access + - block: respect queue limit of max discard segment + - block: virtio_blk: fix handling single range discard request + - drm/msm/adreno: fix updating ring fence + - block: Fix page_is_mergeable() for compound pages + - bfq: fix blkio cgroup leakage v4 + - hwmon: (nct7904) Correct divide by 0 + - blk-mq: insert request not through ->queue_rq into sw/scheduler queue + - blkcg: fix memleak for iolatency + - nvmet: fix a memory leak + - nvme-fc: Fix wrong return value in __nvme_fc_init_request() + - nvme: multipath: round-robin: fix single non-optimized path case + - null_blk: fix passing of REQ_FUA flag in null_handle_rq + - habanalabs: Fix memory corruption in debugfs + - drm/etnaviv: always start/stop scheduler in timeout processing + - i2c: core: Don't fail PRP0001 enumeration when no ID table exist + - i2c: rcar: in slave mode, clear NACK earlier + - vdpa: ifcvf: return err when fail to request config irq + - vdpa: ifcvf: free config irq in ifcvf_free_irq() + - usb: gadget: f_tcm: Fix some resource leaks in some error paths + - video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n + - spi: stm32: clear only asserted irq flags on interrupt + - jbd2: make sure jh have b_transaction set in refile/unfile_buffer + - ext4: don't BUG on inconsistent journal feature + - ext4: handle read only external journal device + - ext4: skip non-loaded groups at cr=0/1 when scanning for good groups + - drm/virtio: fix memory leak in virtio_gpu_cleanup_object() + - ext4: abort the filesystem if failed to async write metadata buffer + - jbd2: abort journal if free a async write error metadata buffer + - ext4: handle option set by mount flags correctly + - ext4: handle error of ext4_setup_system_zone() on remount + - ext4: correctly restore system zone info when remount fails + - fs: prevent BUG_ON in submit_bh_wbc() + - spi: stm32h7: fix race condition at end of transfer + - spi: stm32: fix fifo threshold level in case of short transfer + - spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate + - spi: stm32: always perform registers configuration prior to transfer + - drm/amd/powerplay: correct Vega20 cached smu feature state + - drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading + - drm/amd/display: Fix LFC multiplier changing erratically + - drm/amd/display: Switch to immediate mode for updating infopackets + - selftests/bpf: Fix segmentation fault in test_progs + - netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency + - libbpf: Prevent overriding errno when logging errors + - tools/bpftool: Fix compilation warnings in 32-bit mode + - selftest/bpf: Fix compilation warnings in 32-bit mode + - selftests/bpf: Fix btf_dump test cases on 32-bit arches + - selftests/bpf: Correct various core_reloc 64-bit assumptions + - can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect + corruptions + - dma-pool: fix coherent pool allocations for IOMMU mappings + - dma-pool: Only allocate from CMA when in same memory zone + - drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check + - ALSA: hda/realtek: Add model alc298-samsung-headphone + - s390/cio: add cond_resched() in the slow_eval_known_fn() loop + - ASoC: wm8994: Avoid attempts to read unreadable registers + - ALSA: usb-audio: ignore broken processing/extension unit + - selftests: disable rp_filter for icmp_redirect.sh + - scsi: fcoe: Fix I/O path allocation + - scsi: ufs: Fix possible infinite loop in ufshcd_hold + - scsi: ufs: Improve interrupt handling for shared interrupts + - scsi: ufs: Clean up completed request without interrupt notification + - scsi: scsi_debug: Fix scp is NULL errors + - scsi: qla2xxx: Flush all sessions on zone disable + - scsi: qla2xxx: Flush I/O on zone disable + - scsi: qla2xxx: Indicate correct supported speeds for Mezz card + - scsi: qla2xxx: Fix login timeout + - scsi: qla2xxx: Check if FW supports MQ before enabling + - scsi: qla2xxx: Fix null pointer access during disconnect from subsystem + - Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" + - macvlan: validate setting of multiple remote source MAC addresses + - net: gianfar: Add of_node_put() before goto statement + - drm/amdgpu: fix NULL pointer access issue when unloading driver + - drm/amdkfd: fix the wrong sdma instance query for renoir + - bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator + - bpf: Avoid visit same object multiple times + - ext4: limit the length of per-inode prealloc list + - powerpc/perf: Fix soft lockups due to missed interrupt accounting + - libbpf: Fix map index used in error message + - bpf: selftests: global_funcs: Check err_str before strstr + - arm64: Move handling of erratum 1418040 into C code + - arm64: Allow booting of late CPUs affected by erratum 1418040 + - hwmon: (gsc-hwmon) Scale temperature to millidegrees + - block: fix get_max_io_size() + - block: loop: set discard granularity and alignment for block device backed + loop + - blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART + - btrfs: reset compression level for lzo on remount + - btrfs: check the right error variable in btrfs_del_dir_entries_in_log + - btrfs: fix space cache memory leak after transaction abort + - btrfs: detect nocow for swap after snapshot delete + - fbcon: prevent user font height or width change from causing potential out- + of-bounds access + - USB: lvtest: return proper error code in probe + - vt: defer kfree() of vc_screenbuf in vc_do_resize() + - vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize() + - serial: samsung: Removes the IRQ not found warning + - serial: pl011: Fix oops on -EPROBE_DEFER + - serial: pl011: Don't leak amba_ports entry on driver register error + - serial: stm32: avoid kernel warning on absence of optional IRQ + - serial: 8250_exar: Fix number of ports for Commtech PCIe cards + - serial: 8250: change lock order in serial8250_do_startup() + - io_uring: clear req->result on IOPOLL re-issue + - writeback: Protect inode->i_io_list with inode->i_lock + - writeback: Avoid skipping inode writeback + - writeback: Fix sync livelock due to b_dirty_time processing + - XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN + data pointer which contains XEN specific information. + - usb: renesas-xhci: remove version check + - usb: host: xhci-tegra: otg usb2/usb3 port init + - usb: host: xhci-tegra: fix tegra_xusb_get_phy() + - usb: host: xhci: fix ep context print mismatch in debugfs + - xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed + - io-wq: fix hang after cancelling pending hashed work + - KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception + - arm64: vdso32: make vdso32 install conditional + - PM: sleep: core: Fix the handling of pending runtime resume requests + - powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU + - powerpc/perf: Fix crashes with generic_compat_pmu & BHRB + - device property: Fix the secondary firmware node handling in + set_primary_fwnode() + - crypto: af_alg - Work around empty control messages without MSG_MORE + - usbip: Implement a match function to fix usbip + - genirq/matrix: Deal with the sillyness of for_each_cpu() on UP + - irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by + mistake + - x86/irq: Unbreak interrupt affinity setting + - x86/hotplug: Silence APIC only after all interrupts are migrated + - drm/i915: Fix cmd parser desc matching with masks + - drm/etnaviv: fix external abort seen on GC600 rev 0x19 + - drm/dp_mst: Don't return error code when crtc is null + - drm/modeset-lock: Take the modeset BKL for legacy drivers + - drm/amdgpu: Fix buffer overflow in INFO ioctl + - drm/amd/display: use correct scale for actual_brightness + - drm/amdgpu/gfx10: refine mgcg setting + - drm/amd/powerplay: Fix hardmins not being sent to SMU for RV + - drm/amd/pm: correct Vega10 swctf limit setting + - drm/amd/pm: correct Vega12 swctf limit setting + - drm/amd/pm: correct Vega20 swctf limit setting + - drm/amd/pm: correct the thermal alert temperature limit settings + - USB: yurex: Fix bad gfp argument + - usb: uas: Add quirk for PNY Pro Elite + - USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D + - USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge + - usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() + - USB: gadget: u_f: add overflow checks to VLA macros + - USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb() + - USB: gadget: u_f: Unbreak offset calculation in VLAs + - usb: dwc3: gadget: Don't setup more than requested + - usb: dwc3: gadget: Fix handling ZLP + - usb: dwc3: gadget: Handle ZLP for sg requests + - USB: cdc-acm: rework notification_buffer resizing + - usb: storage: Add unusual_uas entry for Sony PSZ drives + - USB: Also match device drivers using the ->match vfunc + - USB: Fix device driver race + - usb: typec: ucsi: Fix AB BA lock inversion + - usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls + - usb: typec: ucsi: Rework ppm_lock handling + - usb: typec: ucsi: Hold con->lock for the entire duration of + ucsi_register_port() + - usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA + 2.3.1.2 failures + - io_uring: don't recurse on tsk->sighand->siglock with signalfd + - io_uring: don't use poll handler if file can't be nonblocking read/written + - io_uring: make offset == -1 consistent with preadv2/pwritev2 + - drm/atomic-helper: reset vblank on crtc reset + - fbmem: pull fbcon_update_vcs() out of fb_set_var() + - mm/page_counter: fix various data races at memsw + - HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() + - drm/vmwgfx/stdu: Use drm_mode_config_reset + - drm/vmwgfx/sou: Use drm_mode_config_reset + - drm/vmwgfx/ldu: Use drm_mode_config_reset + - dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() + - ALSA: usb-audio: Update documentation comment for MS2109 quirk + - Linux 5.8.6 + - [Config] GCC version update + + * DELL LATITUDE 5491 touchscreen doesn't work (LP: #1889446) // Groovy update: + v5.8.6 upstream stable release (LP: #1894956) + - USB: quirks: Add no-lpm quirk for another Raydium touchscreen + + * [NUC8CCHK][HDA-Intel - HDA Intel PCH, playback] No sound at all + (LP: #1875199) // Groovy update: v5.8.6 upstream stable release + (LP: #1894956) + - ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged + + * CVE-2020-14386 + - net/packet: fix overflow in tpacket_rcv + + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + + * Groovy update: v5.8.5 upstream stable release (LP: #1893237) + - gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY + - net: Fix potential wrong skb->protocol in skb_vlan_untag() + - net: nexthop: don't allow empty NHA_GROUP + - net: qrtr: fix usage of idr in port assignment to socket + - net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error + flow + - net: sctp: Fix negotiation of the number of data streams. + - net/smc: Prevent kernel-infoleak in __smc_diag_dump() + - tipc: call rcu_read_lock() in tipc_aead_encrypt_done() + - tipc: fix uninit skb->data in tipc_nl_compat_dumpit() + - net: ena: Make missed_tx stat incremental + - ethtool: Fix preserving of wanted feature bits in netlink interface + - ethtool: Account for hw_features in netlink interface + - ethtool: Don't omit the netlink reply if no features were changed + - netlink: fix state reallocation in policy export + - io_uring: fix missing ->mm on exit + - binfmt_flat: revert "binfmt_flat: don't offset the data start" + - Linux 5.8.5 + + * Miscellaneous Ubuntu changes + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and + map_kernel_range()" + + -- Paolo Pisati Thu, 10 Sep 2020 22:15:09 +0200 + +linux (5.8.0-18.19) groovy; urgency=medium + + * groovy/linux: 5.8.0-18.19 -proposed tracker (LP: #1893047) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Groovy update: v5.8.4 upstream stable release (LP: #1893048) + - drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset() + - drm/panel-simple: Fix inverted V/H SYNC for Frida FRD350H54004 panel + - drm/ast: Remove unused code paths for AST 1180 + - drm/ast: Initialize DRAM type before posting GPU + - khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() + - ALSA: hda: avoid reset of sdo_limit + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion + - can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in + j1939_tp_txtimer() + - can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated + - spi: Prevent adding devices below an unregistering controller + - io_uring: find and cancel head link async work on files exit + - mm/vunmap: add cond_resched() in vunmap_pmd_range + - romfs: fix uninitialized memory leak in romfs_dev_read() + - kernel/relay.c: fix memleak on destroy relay channel + - uprobes: __replace_page() avoid BUG in munlock_vma_page() + - squashfs: avoid bio_alloc() failure with 1Mbyte blocks + - mm: include CMA pages in lowmem_reserve at boot + - mm, page_alloc: fix core hung in free_pcppages_bulk() + - ASoC: amd: renoir: restore two more registers during resume + - RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request + - opp: Enable resources again if they were disabled earlier + - opp: Put opp table in dev_pm_opp_set_rate() for empty tables + - opp: Put opp table in dev_pm_opp_set_rate() if _set_opp_bw() fails + - ext4: do not block RWF_NOWAIT dio write on unallocated space + - ext4: fix checking of directory entry validity for inline directories + - jbd2: add the missing unlock_buffer() in the error path of + jbd2_write_superblock() + - scsi: zfcp: Fix use-after-free in request timeout handlers + - selftests: kvm: Use a shorter encoding to clear RAX + - s390/pci: fix zpci_bus_link_virtfn() + - s390/pci: re-introduce zpci_remove_device() + - s390/pci: fix PF/VF linking on hot plug + - s390/pci: ignore stale configuration request event + - mm/memory.c: skip spurious TLB flush for retried page fault + - drm: amdgpu: Use the correct size when allocating memory + - drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Fix EDID parsing after resume from suspend + - drm/amd/display: Blank stream before destroying HDCP session + - drm/amd/display: Fix DFPstate hang due to view port changed + - drm/amd/display: fix pow() crashing when given base 0 + - drm/i915/pmu: Prefer drm_WARN_ON over WARN_ON + - drm/i915: Provide the perf pmu.module + - scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices + - scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM + - media: budget-core: Improve exception handling in budget_register() + - media: coda: jpeg: add NULL check after kmalloc + - f2fs: fix to check page dirty status before writeback + - rtc: goldfish: Enable interrupt in set_alarm() when necessary + - media: vpss: clean up resources in init + - f2fs: should avoid inode eviction in synchronous path + - Input: psmouse - add a newline when printing 'proto' by sysfs + - MIPS: Fix unable to reserve memory for Crash kernel + - m68knommu: fix overwriting of bits in ColdFire V3 cache control + - svcrdma: Fix another Receive buffer leak + - xfs: fix inode quota reservation checks + - drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access + - riscv: Fixup static_obj() fail + - jffs2: fix UAF problem + - ceph: fix use-after-free for fsc->mdsc + - swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses + - cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 + - scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases + - virtio_ring: Avoid loop when vq is broken in virtqueue_poll + - media: camss: fix memory leaks on error handling paths in probe + - tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null + pointer dereference + - xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init + - alpha: fix annotation of io{read,write}{16,32}be() + - fat: fix fat_ra_init() for data clusters == 0 + - fs/signalfd.c: fix inconsistent return codes for signalfd4 + - ext4: fix potential negative array index in do_split() + - drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl() + - ext4: don't allow overlapping system zones + - ext4: check journal inode extents more carefully + - netfilter: nf_tables: nft_exthdr: the presence return value should be + little-endian + - spi: stm32: fixes suspend/resume management + - ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM + - ASoC: q6routing: add dummy register read/write function + - tools/bpftool: Make skeleton code C++17-friendly by dropping typeof() + - bpf: sock_ops ctx access may stomp registers in corner case + - bpf: sock_ops sk access may stomp registers when dst_reg = src_reg + - libbpf: Fix BTF-defined map-in-map initialization on 32-bit host arches + - can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can() + - can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send + not by J1939 stack + - can: j1939: transport: add j1939_session_skb_find_by_offset() function + - igc: Fix PTP initialization + - i40e: Set RX_ONLY mode for unicast promiscuous on VLAN + - i40e: Fix crash during removing i40e driver + - net: fec: correct the error path for regulator disable in probe + - bonding: show saner speed for broadcast mode + - can: j1939: fix support for multipacket broadcast message + - can: j1939: cancel rxtimer on multipacket broadcast session complete + - can: j1939: abort multipacket broadcast session when timeout occurs + - can: j1939: add rxtimer for multipacket broadcast session + - bonding: fix a potential double-unregister + - ipvlan: fix device features + - s390/runtime_instrumentation: fix storage key handling + - s390/ptrace: fix storage key handling + - ASoC: msm8916-wcd-analog: fix register Interrupt offset + - ASoC: intel: Fix memleak in sst_media_open + - watch_queue: Limit the number of watches a user can hold + - vfio-pci: Avoid recursive read-lock usage + - vfio/type1: Add proper error unwind for vfio_iommu_replay() + - arch/ia64: Restore arch-specific pgd_offset_k implementation + - kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode + - kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode + - scsi: ufs: ti-j721e-ufs: Fix error return in ti_j721e_ufs_probe() + - scsi: ufs: Add quirk to fix mishandling utrlclr/utmrlclr + - scsi: ufs: Add quirk to disallow reset of interrupt aggregation + - scsi: ufs: Add quirk to enable host controller without hce + - scsi: ufs: Introduce UFSHCD_QUIRK_PRDT_BYTE_GRAN quirk + - scsi: ufs: Add quirk to fix abnormal ocs fatal error + - scsi: ufs-pci: Add quirk for broken auto-hibernate for Intel EHL + - scsi: ufs: Fix interrupt error message for shared interrupts + - Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" + - kconfig: qconf: do not limit the pop-up menu to the first row + - kconfig: qconf: fix signal connection to invalid slots + - efi: avoid error message when booting under Xen + - Fix build error when CONFIG_ACPI is not set/enabled: + - RDMA/bnxt_re: Do not add user qps to flushlist + - Revert "RDMA/hns: Reserve one sge in order to avoid local length error" + - afs: Fix key ref leak in afs_put_operation() + - kconfig: qconf: remove qInfo() to get back Qt4 support + - afs: Fix NULL deref in afs_dynroot_depopulate() + - ARM64: vdso32: Install vdso32 from vdso_install + - powerpc/fixmap: Fix the size of the early debug area + - bpf: Use get_file_rcu() instead of get_file() for task_file iterator + - powerpc/pseries/hotplug-cpu: wait indefinitely for vCPU death + - bonding: fix active-backup failover for current ARP slave + - net: ena: Prevent reset after device destruction + - net: ena: Change WARN_ON expression in ena_del_napi_in_range() + - net: gemini: Fix missing free_netdev() in error path of + gemini_ethernet_port_probe() + - selftests/bpf: Remove test_align leftovers + - hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() + - net: dsa: b53: check for timeout + - epoll: Keep a reference on files added to the check list + - powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores + - powerpc/pseries: Do not initiate shutdown when system is running on UPS + - EDAC/{i7core,sb,pnd2,skx}: Fix error event severity + - efi/x86: Mark kernel rodata non-executable for mixed mode + - efi: add missed destroy_workqueue when efisubsys_init fails + - efi/libstub: Stop parsing arguments at "--" + - efi/libstub: Handle NULL cmdline + - efi/libstub: Handle unterminated cmdline + - do_epoll_ctl(): clean the failure exits up a bit + - KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() + - KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set + - Revert "drm/amd/display: Improve DisplayPort monitor interop" + - Linux 5.8.4 + - [Config] Update configs following 5.8.4 stable update + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "ARM64: vdso32: Install vdso32 from vdso_install" + + -- Seth Forshee Wed, 26 Aug 2020 10:00:11 -0500 + +linux (5.8.0-17.18) groovy; urgency=medium + + * groovy/linux: 5.8.0-17.18 -proposed tracker (LP: #1892959) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * [Hyper-V] VSS and File Copy daemons intermittently fails to start + (LP: #1891224) + - [Packaging] Bind hv_vss_daemon startup to hv_vss device + - [Packaging] bind hv_fcopy_daemon startup to hv_fcopy device + + * Fix non-working USB devices plugged during system sleep (LP: #1892678) + - xhci: Do warm-reset when both CAS and XDEV_RESUME are set + + * ASPM not enabled on child devices behind VMD controller (LP: #1889384) + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + + * Groovy update: v5.8.3 upstream stable release (LP: #1892774) + - [Config] update config for ARMADA_AP_CPU_CLK + - ALSA: hda/realtek - Fix unused variable warning + - smb3: warn on confusing error scenario with sec=krb5 + - SMB3: Fix mkdir when idsfromsid configured on mount + - genirq/affinity: Make affinity setting if activated opt-in + - genirq: Unlock irq descriptor after errors + - genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq() + - PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context() + - PCI/ATS: Add pci_pri_supported() to check device or associated PF + - PCI: Add device even if driver attach failed + - PCI: qcom: Define some PARF params needed for ipq8064 SoC + - PCI: qcom: Add support for tx term offset for rev 2.1.0 + - btrfs: allow use of global block reserve for balance item deletion + - btrfs: free anon block device right after subvolume deletion + - btrfs: don't allocate anonymous block device for user invisible roots + - btrfs: preallocate anon block device at first phase of snapshot creation + - btrfs: ref-verify: fix memory leak in add_block_entry + - btrfs: only commit the delayed inode when doing a full fsync + - btrfs: stop incremening log_batch for the log root tree when syncing log + - btrfs: only commit delayed items at fsync if we are logging a directory + - btrfs: remove no longer needed use of log_writers for the log root tree + - btrfs: don't traverse into the seed devices in show_devname + - btrfs: pass checksum type via BTRFS_IOC_FS_INFO ioctl + - btrfs: open device without device_list_mutex + - btrfs: move the chunk_mutex in btrfs_read_chunk_tree + - btrfs: relocation: review the call sites which can be interrupted by signal + - btrfs: add missing check for nocow and compression inode flags + - btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on + relocation tree + - btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases + - btrfs: sysfs: use NOFS for device creation + - btrfs: don't WARN if we abort a transaction with EROFS + - btrfs: fix race between page release and a fast fsync + - btrfs: don't show full path of bind mounts in subvol= + - btrfs: fix messages after changing compression level by remount + - btrfs: only search for left_info if there is no right_info in + try_merge_free_space + - btrfs: inode: fix NULL pointer dereference if inode doesn't need compression + - btrfs: fix memory leaks after failure to lookup checksums during inode + logging + - btrfs: trim: fix underflow in trim length to prevent access beyond device + boundary + - btrfs: make sure SB_I_VERSION doesn't get unset by remount + - btrfs: fix return value mixup in btrfs_get_extent + - btrfs: check correct variable after allocation in btrfs_backref_iter_alloc + - arm64: dts: qcom: sc7180: Drop the unused non-MSA SID + - arm64: perf: Correct the event index in sysfs + - dt-bindings: iio: io-channel-mux: Fix compatible string in example code + - iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw() + - iio: imu: st_lsm6dsx: reset hw ts after resume + - xtensa: add missing exclusive access state management + - xtensa: fix xtensa_pmu_setup prototype + - cifs: Fix leak when handling lease break for cached root fid + - powerpc/ptdump: Fix build failure in hashpagetable.c + - powerpc: Allow 4224 bytes of stack expansion for the signal frame + - powerpc: Fix circular dependency between percpu.h and mmu.h + - pinctrl: ingenic: Enhance support for IRQ_TYPE_EDGE_BOTH + - pinctrl: ingenic: Properly detect GPIO direction when configured for IRQ + - media: venus: fix multiple encoder crash + - media: vsp1: dl: Fix NULL pointer dereference on unbind + - net: ethernet: stmmac: Disable hardware multicast filter + - net: stmmac: dwmac1000: provide multicast filter fallback + - irqchip/loongson-liointc: Fix misuse of gc->mask_cache + - irqchip/gic-v4.1: Ensure accessing the correct RD when writing INVALLR + - pidfd: Add missing sock updates for pidfd_getfd() + - net/compat: Add missing sock updates for SCM_RIGHTS + - selftests/seccomp: Set NNP for TSYNC ESRCH flag test + - md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 + - bcache: allocate meta data pages as compound pages + - bcache: fix overflow in offset_to_stripe() + - bcache: avoid nr_stripes overflow in bcache_device_init() + - bcache: fix bio_{start,end}_io_acct with proper device + - bcache: use disk_{start,end}_io_acct() to count I/O for bcache device + - mac80211: fix misplaced while instead of if + - appletalk: Fix atalk_proc_init() return path + - driver core: Avoid binding drivers to dead devices + - MIPS: CPU#0 is not hotpluggable + - MIPS: qi_lb60: Fix routing to audio amplifier + - MIPS: SGI-IP27: always enable NUMA in Kconfig + - ext2: fix missing percpu_counter_inc + - khugepaged: collapse_pte_mapped_thp() flush the right range + - mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible + - khugepaged: collapse_pte_mapped_thp() protect the pmd lock + - khugepaged: retract_page_tables() remember to test exit + - hugetlbfs: remove call to huge_pte_alloc without i_mmap_rwsem + - mm/shuffle: don't move pages between zones and don't read garbage memmaps + - mm: fix kthread_use_mm() vs TLB invalidate + - ocfs2: change slot number type s16 to u16 + - mm/page_counter.c: fix protection usage propagation + - cma: don't quit at first error when activating reserved areas + - mm/memory_hotplug: fix unpaired mem_hotplug_begin/done + - ftrace: Setup correct FTRACE_FL_REGS flags for module + - kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler + - tracing/hwlat: Honor the tracing_cpumask + - tracing: Use trace_sched_process_free() instead of exit() for pid tracing + - watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in + watchdog_info.options + - watchdog: f71808e_wdt: remove use of wrong watchdog_info option + - watchdog: f71808e_wdt: clear watchdog timeout occurred flag + - ceph: set sec_context xattr on symlink creation + - ceph: handle zero-length feature mask in session messages + - pseries: Fix 64 bit logical memory block panic + - dm ebs: Fix incorrect checking for REQ_OP_FLUSH + - dm: don't call report zones for more than the user requested + - module: Correctly truncate sysfs sections output + - bootconfig: Fix to find the initargs correctly + - perf probe: Fix wrong variable warning when the probe point is not found + - perf probe: Fix memory leakage when the probe point is not found + - perf intel-pt: Fix FUP packet state + - perf intel-pt: Fix duplicate branch after CBR + - gfs2: Fix refcount leak in gfs2_glock_poke + - gfs2: Never call gfs2_block_zero_range with an open transaction + - remoteproc: qcom: q6v5: Update running state before requesting stop + - remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load + - remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load + - libnvdimm: Validate command family indices + - drm/imx: imx-ldb: Disable both channels for split mode in enc->disable() + - drm/ingenic: Fix incorrect assumption about plane->index + - crypto: algif_aead - Only wake up when ctx->more is zero + - mfd: arizona: Ensure 32k clock is put on driver unbind and error + - octeontx2-af: change (struct qmem)->entry_sz from u8 to u16 + - mtd: rawnand: fsl_upm: Remove unused mtd var + - mtd: rawnand: brcmnand: ECC error handling on EDU transfers + - platform/chrome: cros_ec_ishtp: Fix a double-unlock issue + - drm/amdgpu/debugfs: fix memory leak when pm_runtime_get_sync failed + - RDMA/ipoib: Return void from ipoib_ib_dev_stop() + - RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() + - rtc: cpcap: fix range + - media: staging: rkisp1: remove macro RKISP1_DIR_SINK_SRC + - media: staging: rkisp1: rename macros 'RKISP1_DIR_*' to 'RKISP1_ISP_SD_*' + - media: staging: rkisp1: rsz: set default format if the given format is not + RKISP1_ISP_SD_SRC + - media: rockchip: rga: Introduce color fmt macros and refactor CSC mode logic + - media: rockchip: rga: Only set output CSC mode for RGB input + - IB/uverbs: Set IOVA on IB MR in uverbs layer + - sched/uclamp: Protect uclamp fast path code with static key + - selftests/bpf: Test_progs indicate to shell on non-actions + - bpf: selftests: Restore netns after each test + - selftests/bpf: test_progs use another shell exit on non-actions + - selftests/bpf: test_progs avoid minus shell exit codes + - USB: serial: ftdi_sio: make process-packet buffer unsigned + - USB: serial: ftdi_sio: clean up receive processing + - crypto: af_alg - Fix regression on empty requests + - devres: keep both device name and resource name in pretty name + - RDMA/counter: Only bind user QPs in auto mode + - RDMA/counter: Allow manually bind QPs with different pids to same counter + - mmc: renesas_sdhi_internal_dmac: clean up the code for dma complete + - rtw88: pci: disable aspm for platform inter-op with module parameter + - rtc: pl031: fix set_alarm by adding back call to alarm_irq_enable + - crypto: caam - Remove broken arc4 support + - gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers + - gpu: ipu-v3: image-convert: Wait for all EOFs before completing a tile + - dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue() + - ima: Fail rule parsing when appraise_flag=blacklist is unsupportable + - f2fs: compress: fix to avoid memory leak on cc->cpages + - clk: actions: Fix h_clk for Actions S500 SoC + - selftests/powerpc: ptrace-pkey: Rename variables to make it easier to follow + code + - selftests/powerpc: ptrace-pkey: Update the test to mark an invalid pkey + correctly + - selftests/powerpc: ptrace-pkey: Don't update expected UAMOR value + - iommu/omap: Check for failure of a call to omap_iommu_dump_ctx + - clk: qcom: gcc: fix sm8150 GPU and NPU clocks + - clk: qcom: clk-alpha-pll: remove unused/incorrect PLL_CAL_VAL + - iommu/vt-d: Handle non-page aligned address + - iommu/vt-d: Enforce PASID devTLB field mask + - iommu/vt-d: Warn on out-of-range invalidation address + - iommu/vt-d: Disable multiple GPASID-dev bind + - i2c: rcar: slave: only send STOP event when we have been addressed + - f2fs: compress: fix to update isize when overwriting compressed file + - clk: qcom: gcc-sdm660: Fix up gcc_mss_mnoc_bimc_axi_clk + - clk: clk-atlas6: fix return value check in atlas6_clk_init() + - nvme: fix deadlock in disconnect during scan_work and/or ana_work + - sched/uclamp: Fix a deadlock when enabling uclamp static key + - pwm: bcm-iproc: handle clk_get_rate() return + - perf tools: Fix term parsing for raw syntax + - tools build feature: Use CC and CXX from parent + - i2c: rcar: avoid race when unregistering slave + - nfs: ensure correct writeback errors are returned on close() + - ubi: fastmap: Don't produce the initial next anchor PEB when fastmap is + disabled + - ubi: fastmap: Free fastmap next anchor peb during detach + - ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename + - [Config] update config for CLK_HSDK + - clk: hsdk: Fix bad dependency on IOMEM + - clk: bcm2835: Do not use prediv with bcm2711's PLLs + - libnvdimm/security: fix a typo + - libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr + - openrisc: Fix oops caused when dumping stack + - perf evsel: Don't set sample_regs_intr/sample_regs_user for dummy event + - scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying + targetport + - nfs: nfs_file_write() should check for writeback errors + - watchdog: initialize device before misc_register + - watchdog: rti-wdt: balance pm runtime enable calls + - md-cluster: Fix potential error pointer dereference in resize_bitmaps() + - kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE + - x86/tsr: Fix tsc frequency enumeration bug on Lightning Mountain SoC + - x86/bugs/multihit: Fix mitigation reporting when VMX is not in use + - selftests/bpf: Prevent runqslower from racing on building bpftool + - Input: sentelic - fix error return when fsp_reg_write fails + - perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set + - selftests/bpf: Fix silent Makefile output + - vdpa_sim: init iommu lock + - recordmcount: Fix build failure on non arm64 + - vdpa: Fix pointer math bug in vdpasim_get_config() + - drm/vmwgfx: Use correct vmw_legacy_display_unit pointer + - drm/vmwgfx: Fix two list_for_each loop exit tests + - s390/test_unwind: fix possible memleak in test_unwind() + - s390/Kconfig: add missing ZCRYPT dependency to VFIO_AP + - net: qcom/emac: add missed clk_disable_unprepare in error path of + emac_clks_phase1_init + - nfs: Fix getxattr kernel panic and memory overflow + - NFS: Fix flexfiles read failover + - lib/test_lockup.c: fix return value of test_lockup_init() + - fs/minix: set s_maxbytes correctly + - fs/minix: fix block limit check for V1 filesystems + - fs/minix: remove expected error message in block_to_path() + - fs/ufs: avoid potential u32 multiplication overflow + - test_kmod: avoid potential double free in trigger_config_run_type() + - i2c: iproc: fix race between client unreg and isr + - mfd: dln2: Run event handler loop under spinlock + - crypto: algif_aead - fix uninitialized ctx->init + - ALSA: echoaudio: Fix potential Oops in snd_echo_resume() + - perf bench mem: Always memset source before memcpy + - tools build feature: Quote CC and CXX for their arguments + - perf/x86/rapl: Fix missing psys sysfs attributes + - sh: landisk: Add missing initialization of sh_io_port_base + - sh: fault: Fix duplicate printing of "PC:" + - drm/i915/gt: Force the GT reset on shutdown + - drm/panfrost: Use kvfree() to free bo->sgts + - drm/dp_mst: Fix the DDC I2C device registration of an MST port + - drm/dp_mst: Fix timeout handling of MST down messages + - drm/dp_mst: Fix the DDC I2C device unregistration of an MST port + - drm/omap: force runtime PM suspend on system suspend + - drm/tidss: fix modeset init for DPI panels + - drm: Added orientation quirk for ASUS tablet model T103HAF + - drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi + - drm/amdgpu: Fix bug where DPM is not enabled after hibernate and resume + - drm/amd/display: Fix dmesg warning from setting abm level + - drm/amd/display: dchubbub p-state warning during surface planes switch + - Linux 5.8.3 + + * update ENA driver for LLQ acceleration mode, new hw support (LP: #1890845) + - ena_netdev: use generic power management + - net: ena: Fix using plain integer as NULL pointer in ena_init_napi_in_range + - net: ena: avoid unnecessary rearming of interrupt vector when busy-polling + - net: ena: add reserved PCI device ID + - net: ena: cosmetic: satisfy gcc warning + - net: ena: cosmetic: change ena_com_stats_admin stats to u64 + - net: ena: add support for traffic mirroring + - net: ena: enable support of rss hash key and function changes + - net: ena: move llq configuration from ena_probe to ena_device_init() + - net: ena: support new LLQ acceleration mode + + * DMA config issues on Synquacer ARM64 platform cause SATA configuration + failures on boot (LP: #1892138) + - of/address: check for invalid range.cpu_addr + + * [SRU] Fix acpi backlight issue on some thinkpads (LP: #1892010) + - platform/x86: thinkpad_acpi: not loading brightness_init when _BCL invalid + + * Fix non-working Goodix touchpad after system sleep (LP: #1891998) + - HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands + + * Groovy update: v5.8.2 upstream stable release (LP: #1892215) + - tracepoint: Mark __tracepoint_string's __used + - kunit: capture stderr on all make subprocess calls + - io_uring: abstract out task work running + - HID: input: Fix devices that return multiple bytes in battery report + - ARM: dts: stm32: fix uart nodes ordering in stm32mp15-pinctrl + - ARM: dts: stm32: fix uart7_pins_a comments in stm32mp15-pinctrl + - x86/mce/inject: Fix a wrong assignment of i_mce.status + - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL + - x86, sched: check for counters overflow in frequency invariant accounting + - x86, sched: Bail out of frequency invariance if turbo frequency is unknown + - x86, sched: Bail out of frequency invariance if turbo_freq/base_freq gives 0 + - sched/fair: Fix NOHZ next idle balance + - sched: correct SD_flags returned by tl->sd_flags() + - arm64: dts: rockchip: fix rk3368-lion gmac reset gpio + - arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio + - arm64: dts: rockchip: fix rk3399-puma gmac reset gpio + - EDAC: Fix reference count leaks + - crc-t10dif: Fix potential crypto notify dead-lock + - arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property + - memory: tegra: Fix an error handling path in tegra186_emc_probe() + - soc: qcom: rpmh-rsc: Don't use ktime for timeout in write_tcs_reg_sync() + - crypto: ccree - fix resource leak on error path + - ARM: exynos: MCPM: Restore big.LITTLE cpuidle support + - rcu/tree: Repeat the monitor if any free channel is busy + - firmware: arm_scmi: Fix SCMI genpd domain probing + - arm64: dts: sun50i-pinephone: dldo4 must not be >= 1.8V + - arm64: dts: exynos: Fix silent hang after boot on Espresso + - sched/uclamp: Fix initialization of struct uclamp_rq + - crypto: qat - allow xts requests not multiple of block + - clk: scmi: Fix min and max rate when registering clocks with discrete rates + - m68k: mac: Don't send IOP message until channel is idle + - m68k: mac: Fix IOP status/control register writes + - platform/x86: intel-hid: Fix return value check in check_acpi_dev() + - platform/x86: intel-vbtn: Fix return value check in check_acpi_dev() + - ARM: dts: gose: Fix ports node name for adv7180 + - arm64: dts: renesas: Fix SD Card/eMMC interface device node names + - ARM: dts: gose: Fix ports node name for adv7612 + - ARM: at91: pm: add missing put_device() call in at91_pm_sram_init() + - ARM: dts: exynos: Disable frequency scaling for FSYS bus on Odroid XU3 + family + - reset: intel: fix a compile warning about REG_OFFSET redefined + - ARM: dts: at91: sama5d3_xplained: change phy-mode + - ARM: dts: sunxi: bananapi-m2-plus-v1.2: Add regulator supply to all CPU + cores + - ARM: dts: sunxi: bananapi-m2-plus-v1.2: Fix CPU supply voltages + - ARM: dts: stm32: Fix spi4 pins in stm32mp15-pinctrl + - spi: dw-dma: Fix Tx DMA channel working too fast + - spi: lantiq: fix: Rx overflow error in full duplex mode + - crypto: x86/crc32c - fix building with clang ias + - tpm: Require that all digests are present in TCG_PCR_EVENT2 structures + - recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64. + - regulator: fix memory leak on error path of regulator_register() + - io_uring: fix sq array offset calculation + - arm64: dts: meson: misc fixups for w400 dtsi + - arm64: dts: meson: fix mmc0 tuning error on Khadas VIM3 + - soc: qcom: pdr: Reorder the PD state indication ack + - spi: rockchip: Fix error in SPI slave pio read + - ARM: socfpga: PM: add missing put_device() call in + socfpga_setup_ocram_self_refresh() + - iocost: Fix check condition of iocg abs_vdebt + - scripts/selinux/mdp: fix initial SID handling + - irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource() + - seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID + - md: raid0/linear: fix dereference before null check on pointer mddev + - irqchip/loongson-htvec: Fix potential resource leak + - irqchip/loongson-htvec: Check return value of irq_domain_translate_onecell() + - irqchip/loongson-pch-pic: Check return value of + irq_domain_translate_twocell() + - irqchip/loongson-liointc: Fix potential dead lock + - kunit: tool: fix broken default args in unit tests + - kunit: tool: fix improper treatment of file location + - irqchip/irq-bcm7038-l1: Guard uses of cpu_logical_map + - irqchip/gic-v4.1: Use GFP_ATOMIC flag in allocate_vpe_l1_table() + - nvme-tcp: fix controller reset hang during traffic + - nvme-rdma: fix controller reset hang during traffic + - nvme-multipath: fix logic for non-optimized paths + - nvme-multipath: do not fall back to __nvme_find_path() for non-optimized + paths + - irqchip/loongson-pch-pic: Fix the misused irq flow handler + - block: don't do revalidate zones on invalid devices + - drm/tilcdc: fix leak & null ref in panel_connector_get_modes + - soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag + - net: mscc: ocelot: fix encoding destination ports into multicast IPv4 + address + - ARM: exynos: clear L310_AUX_CTRL_FULL_LINE_ZERO in default l2c_aux_val + - Bluetooth: add a mutex lock to avoid UAF in do_enale_set + - loop: be paranoid on exit and prevent new additions / removals + - io_uring: fix req->work corruption + - fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls + - drm/amdgpu: avoid dereferencing a NULL pointer + - drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync + - crypto: aesni - Fix build with LLVM_IAS=1 + - video: fbdev: savage: fix memory leak on error handling path in probe + - video: fbdev: neofb: fix memory leak in neo_scan_monitor() + - bus: ti-sysc: Add missing quirk flags for usb_host_hs + - md-cluster: fix wild pointer of unlock_all_bitmaps() + - rtw88: 8822ce: add support for device ID 0xc82f + - drm/nouveau/kms/nv50-: Fix disabling dithering + - arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding + - drm/etnaviv: fix ref count leak via pm_runtime_get_sync + - ionic: rearrange reset and bus-master control + - memory: samsung: exynos5422-dmc: Do not ignore return code of regmap_read() + - drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek + - drm/nouveau: fix multiple instances of reference count leaks + - mmc: sdhci-cadence: do not use hardware tuning for SD mode + - btrfs: fix lockdep splat from btrfs_dump_space_info + - usb: mtu3: clear dual mode of u3port when disable device + - drm: msm: a6xx: fix gpu failure after system resume + - drm/msm: Fix a null pointer access in msm_gem_shrinker_count() + - drm/debugfs: fix plain echo to connector "force" attribute + - drm/radeon: disable AGP by default + - net: phy: mscc: restore the base page in vsc8514/8584_config_init + - irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock + - mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls + - drm/amd/display: Improve DisplayPort monitor interop + - drm/amdgpu/debugfs: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/display bail early in dm_pp_get_static_clocks + - drm/amdgpu/display: properly guard the calls to swSMU functions + - drm/amd/display: allow query ddc data over aux to be read only operation + - drm/amd/powerplay: fix compile error with ARCH=arc + - bpf: Fix fds_example SIGSEGV error + - Bluetooth: hci_qca: Bug fixes for SSR + - brcmfmac: keep SDIO watchdog running when console_interval is non-zero + - brcmfmac: To fix Bss Info flag definition Bug + - brcmfmac: set state of hanger slot to FREE when flushing PSQ + - platform/x86: asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15 + - iwlegacy: Check the return value of pcie_capability_read_*() + - gpu: host1x: debug: Fix multiple channels emitting messages simultaneously + - drm/amd/powerplay: suppress compile error around BUG_ON + - ionic: update eid test for overflow + - x86/uaccess: Make __get_user_size() Clang compliant on 32-bit + - mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1 + - usb: gadget: net2280: fix memory leak on probe error handling paths + - bdc: Fix bug causing crash after multiple disconnects + - usb: bdc: Halt controller on suspend + - dyndbg: fix a BUG_ON in ddebug_describe_flags + - bcache: fix super block seq numbers comparision in register_cache_set() + - btrfs: allow btrfs_truncate_block() to fallback to nocow for data space + reservation + - btrfs: qgroup: free per-trans reserved space when a subvolume gets dropped + - ACPICA: Do not increment operation_region reference counts for field units + - io_uring: fix racy overflow count reporting + - io_uring: fix stalled deferred requests + - crypto: caam - silence .setkey in case of bad key length + - drm/msm: ratelimit crtc event overflow error + - drm/gem: Fix a leak in drm_gem_objects_lookup() + - drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers + - drm/bridge: ti-sn65dsi86: Fix off-by-one error in clock choice + - drm/amdgpu: use the unlocked drm_gem_object_put + - agp/intel: Fix a memory leak on module initialisation failure + - mwifiex: Fix firmware filename for sd8977 chipset + - mwifiex: Fix firmware filename for sd8997 chipset + - btmrvl: Fix firmware filename for sd8977 chipset + - btmrvl: Fix firmware filename for sd8997 chipset + - video: fbdev: sm712fb: fix an issue about iounmap for a wrong address + - console: newport_con: fix an issue about leak related system resources + - video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call + - Bluetooth: hci_qca: Fix an error pointer dereference + - drm/mm: fix hole size comparison + - Bluetooth: hci_qca: Only remove TX clock vote after TX is completed + - Bluetooth: Allow suspend even when preparation has failed + - ath10k: Acquire tx_lock in tx error paths + - Bluetooth: hci_qca: Bug fix during SSR timeout + - Bluetooth: hci_qca: Increase SoC idle timeout to 200ms + - iio: improve IIO_CONCENTRATION channel type description + - iio: amplifiers: ad8366: Change devm_gpiod_get() to optional and add the + missed check + - scsi: ufs: Fix imprecise load calculation in devfreq window + - drm/etnaviv: Fix error path on failure to enable bus clk + - drm/panfrost: Fix inbalance of devfreq record_busy/idle() + - drm/arm: fix unintentional integer overflow on left shift + - clk: bcm63xx-gate: fix last clock availability + - powerpc/mm: Fix typo in IS_ENABLED() + - powerpc/fixmap: Fix FIX_EARLY_DEBUG_BASE when page size is 256k + - leds: lm355x: avoid enum conversion warning + - ASoC: fsl_easrc: Fix uninitialized scalar variable in + fsl_easrc_set_ctx_format + - Bluetooth: btusb: fix up firmware download sequence + - Bluetooth: btmtksdio: fix up firmware download sequence + - media: cxusb-analog: fix V4L2 dependency + - media: marvell-ccic: Add missed v4l2_async_notifier_cleanup() + - media: omap3isp: Add missed v4l2_ctrl_handler_free() for + preview_init_entities() + - staging: most: avoid null pointer dereference when iface is null + - dpaa2-eth: fix condition for number of buffer acquire retries + - ASoC: SOF: nocodec: add missing .owner field + - ASoC: Intel: cml_rt1011_rt5682: add missing .owner field + - ASoC: Intel: sof_sdw: add missing .owner field + - ASoC: Intel: bxt_rt298: add missing .owner field + - ASoC: Intel: Boards: cml_rt1011_rt5682: use statically define codec config + - net: atlantic: MACSec offload statistics checkpatch fix + - scsi: cumana_2: Fix different dev_id between request_irq() and free_irq() + - scsi: ufs: Disable WriteBooster capability for non-supported UFS devices + - drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline + - cxl: Fix kobject memleak + - lkdtm: Avoid more compiler optimizations for bad writes + - selftests/lkdtm: Reset WARN_ONCE to avoid false negatives + - lkdtm: Make arch-specific tests always available + - net: ethernet: ti: am65-cpsw-nuss: restore vlan configuration while down/up + - tracing: Move pipe reference to trace array instead of current_tracer + - scsi: qla2xxx: Make __qla2x00_alloc_iocbs() initialize 32 bits of + request_t.handle + - drm/amdgpu/debugfs: fix memory leak when amdgpu_virt_enable_access_debugfs + failed + - drm/amdgpu: ensure 0 is returned for success in jpeg_v2_5_wait_for_idle + - drm/radeon: fix array out-of-bounds read and write issues + - staging: vchiq_arm: Add a matching unregister call + - iavf: fix error return code in iavf_init_get_resources() + - iavf: Fix updating statistics + - dma-buf: fix dma-fence-chain out of order test + - RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() + - scsi: powertec: Fix different dev_id between request_irq() and free_irq() + - scsi: eesox: Fix different dev_id between request_irq() and free_irq() + - ipvs: allow connection reuse for unconfirmed conntrack + - media: firewire: Using uninitialized values in node_probe() + - media: allegro: Fix some NULL vs IS_ERR() checks in probe + - media: staging: rkisp1: rsz: supported formats are the isp's src formats, + not sink formats + - media: staging: rkisp1: rsz: fix resolution limitation on sink pad + - media: tvp5150: Add missed media_entity_cleanup() + - media: exynos4-is: Add missed check for pinctrl_lookup_state() + - media: cros-ec-cec: do not bail on device_init_wakeup failure + - xfs: preserve rmapbt swapext block reservation from freed blocks + - xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork + - xfs: fix reflink quota reservation accounting error + - RDMA/rxe: Skip dgid check in loopback mode + - PCI: Fix pci_cfg_wait queue locking problem + - samples: bpf: Fix bpf programs with kprobe/sys_connect event + - drm/stm: repair runtime power management + - kobject: Avoid premature parent object freeing in kobject_cleanup() + - leds: core: Flush scheduled work for system suspend + - drm: panel: simple: Fix bpc for LG LB070WV8 panel + - phy: cadence: salvo: fix wrong bit definition + - dt-bindings: phy: uniphier: Fix incorrect clocks and clock-names for PXs3 + usb3-hsphy + - phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY + - mmc: sdhci-of-arasan: Add missed checks for devm_clk_register() + - drm/bridge: sil_sii8620: initialize return of sii8620_readb + - scsi: scsi_debug: Add check for sdebug_max_queue during module init + - bpfilter: Initialize pos variable + - mwifiex: Prevent memory corruption handling keys + - kernfs: do not call fsnotify() with name without a parent + - powerpc/pseries: remove cede offline state for CPUs + - powerpc/rtas: don't online CPUs for partition suspend + - powerpc/vdso: Fix vdso cpu truncation + - Bluetooth: Fix update of connection state in `hci_encrypt_cfm` + - RDMA/qedr: SRQ's bug fixes + - RDMA/qedr: Add EDPM mode type for user-fw compatibility + - RDMA/qedr: Add EDPM max size to alloc ucontext response + - RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue + - ima: Have the LSM free its audit rule + - ima: Free the entire rule when deleting a list of rules + - ima: Free the entire rule if it fails to parse + - ima: Fail rule parsing when buffer hook functions have an invalid action + - ima: Fail rule parsing when the KEXEC_CMDLINE hook is combined with an + invalid cond + - ima: Fail rule parsing when the KEY_CHECK hook is combined with an invalid + cond + - staging: rtl8192u: fix a dubious looking mask before a shift + - ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback + - PCI/ASPM: Add missing newline in sysfs 'policy' + - go7007: add sanity checking for endpoints + - media: s5p-g2d: Fix a memory leak in an error handling path in 'g2d_probe()' + - phy: renesas: rcar-gen3-usb2: move irq registration to init + - powerpc/mm/radix: Free PUD table when freeing pagetable + - powerpc/book3s64/pkeys: Use PVR check instead of cpu feature + - drm/imx: fix use after free + - drm/imx: tve: fix regulator_disable error path + - gpu: ipu-v3: Restore RGB32, BGR32 + - spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM + - PCI: loongson: Use DECLARE_PCI_FIXUP_EARLY for bridge_class_quirk() + - USB: serial: iuu_phoenix: fix led-activity helpers + - clk: qcom: gcc: Make disp gpll0 branch aon for sc7180/sdm845 + - usb: core: fix quirks_param_set() writing to a const pointer + - thermal: ti-soc-thermal: Fix reversed condition in + ti_thermal_expose_sensor() + - coresight: etmv4: Fix resource selector constant + - coresight: etmv4: Counter values not saved on disable + - coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb() + - coresight: etm4x: Fix save/restore during cpu idle + - powerpc/perf: Fix missing is_sier_aviable() during build + - mt76: mt7663u: fix memory leak in set key + - mt76: mt7663u: fix potential memory leak in mcu message handler + - mt76: mt7615: fix potential memory leak in mcu message handler + - mt76: mt7915: potential array overflow in mt7915_mcu_tx_rate_report() + - mt76: mt7915: add missing CONFIG_MAC80211_DEBUGFS + - mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add + - phy: armada-38x: fix NETA lockup when repeatedly switching speeds + - s390/bpf: Use brcl for jumping to exit_ip if necessary + - s390/bpf: Tolerate not converging code shrinking + - tools/bpftool: Fix error handing in do_skeleton() + - ASoC: tas2770: Fix reset gpio property name + - qed: Fix ILT and XRCD bitmap memory leaks + - ASoC: hdac_hda: fix deadlock after PCM open error + - powerpc/spufs: Fix the type of ret in spufs_arch_write_note + - PCI: rcar: Fix runtime PM imbalance on error + - MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init() + - thermal: int340x: processor_thermal: fix: update Jasper Lake PCI id + - usb: dwc3: meson-g12a: fix shared reset control use + - usb: dwc2: Fix error path in gadget registration + - usb: gadget: f_uac2: fix AC Interface Header Descriptor wTotalLength + - scsi: megaraid_sas: Clear affinity hint + - scsi: mesh: Fix panic after host or bus reset + - scsi: core: Add missing scsi_device_put() in scsi_host_block() + - net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration + - bpf: Fix pos computation for bpf_iter seq_ops->start() + - powerpc/watchpoint: Fix 512 byte boundary limit + - powerpc/watchpoint: Fix DAWR exception constraint + - powerpc/watchpoint: Fix DAWR exception for CACHEOP + - macintosh/via-macii: Access autopoll_devs when inside lock + - gpio: regmap: fix type clash + - PCI: cadence: Fix cdns_pcie_{host|ep}_setup() error path + - PCI: cadence: Fix updating Vendor ID and Subsystem Vendor ID register + - RDMA/core: Fix return error value in _ib_modify_qp() to negative + - Smack: fix another vsscanf out of bounds + - Smack: prevent underflow in smk_set_cipso() + - power: supply: check if calc_soc succeeded in pm860x_init_battery + - Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers + - Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags + - Bluetooth: hci_serdev: Only unregister device if it was registered + - bpf: Fix bpf_ringbuf_output() signature to return long + - Bluetooth: Fix suspend notifier race + - Bluetooth: hci_qca: Stop collecting memdump again for command timeout during + SSR + - net: dsa: rtl8366: Fix VLAN semantics + - net: dsa: rtl8366: Fix VLAN set-up + - xfs: fix inode allocation block res calculation precedence + - xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush + - selftests/powerpc: Squash spurious errors due to device removal + - powerpc/32s: Fix CONFIG_BOOK3S_601 uses + - powerpc/boot: Fix CONFIG_PPC_MPC52XX references + - selftests/powerpc: Fix CPU affinity for child process + - nvmem: sprd: Fix return value of sprd_efuse_probe() + - RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting + - RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq + - RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP + - PCI: Release IVRS table in AMD ACS quirk + - cpufreq: ap806: fix cpufreq driver needs ap cpu clk + - powerpc/pseries/hotplug-cpu: Remove double free in error path + - selftests/powerpc: Fix online CPU selection + - RDMA/hns: Fix error during modify qp RTS2RTS + - RDMA/hns: Fix the unneeded process when getting a general type of CQE error + - ASoC: meson: axg-tdm-interface: fix link fmt setup + - ASoC: meson: axg-tdmin: fix g12a skew + - ASoC: meson: axg-tdm-formatters: fix sclk inversion + - ASoC: soc-core: Fix regression causing sysfs entries to disappear + - net: ll_temac: Use devm_platform_ioremap_resource_byname() + - drm/msm/dpu: don't use INTF_INPUT_CTRL feature on sdm845 + - libbpf: Fix register in PT_REGS MIPS macros + - MIPS: only register FTLBPar exception handler for supported models + - ASoC: core: use less strict tests for dailink capabilities + - ASoC: meson: cards: deal dpcm flag change + - ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK + - s390/qeth: tolerate pre-filled RX buffer + - s390/qeth: don't process empty bridge port events + - ice: Clear and free XLT entries on reset + - ice: Graceful error handling in HW table calloc failure + - netfilter: nft_meta: fix iifgroup matching + - rtw88: fix LDPC field for RA info + - rtw88: fix short GI capability based on current bandwidth + - rtw88: coex: only skip coex triggered by BT info + - qtnfmac: Missing platform_device_unregister() on error in + qtnf_core_mac_alloc() + - wl1251: fix always return 0 error + - tools, build: Propagate build failures from tools/build/Makefile.build + - tools, bpftool: Fix wrong return value in do_dump() + - net/mlx5: DR, Change push vlan action sequence + - net/mlx5: Delete extra dump stack that gives nothing + - net: mvpp2: fix memory leak in mvpp2_rx + - net: ethernet: aquantia: Fix wrong return value + - liquidio: Fix wrong return value in cn23xx_get_pf_num() + - net: sgi: ioc3-eth: Fix the size used in some 'dma_free_coherent()' calls + - net: spider_net: Fix the size used in a 'dma_free_coherent()' call + - fsl/fman: use 32-bit unsigned integer + - fsl/fman: fix dereference null return value + - fsl/fman: fix unreachable code + - fsl/fman: check dereferencing null pointer + - fsl/fman: fix eth hash table allocation + - gpio: don't use same lockdep class for all devm_gpiochip_add_data users + - net: thunderx: use spin_lock_bh in nicvf_set_rx_mode_task() + - net: macb: Properly handle phylink on at91sam9x + - dpaa2-eth: Fix passing zero to 'PTR_ERR' warning + - hv_netvsc: do not use VF device if link is down + - Revert "vxlan: fix tos value before xmit" + - net: thunderx: initialize VF's mailbox mutex before first usage + - media: mtk-mdp: Fix a refcounting bug on error in init + - dlm: Fix kobject memleak + - ocfs2: fix unbalanced locking + - pinctrl-single: fix pcs_parse_pinconf() return value + - mtd: rawnand: brcmnand: Don't default to edu transfer + - svcrdma: Fix page leak in svc_rdma_recv_read_chunk() + - nfsd: avoid a NULL dereference in __cld_pipe_upcall() + - x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task + - crypto: aesni - add compatibility with IAS + - af_packet: TPACKET_V3: fix fill status rwlock imbalance + - drivers/net/wan/lapbether: Added needed_headroom and a skb->len check + - net: Fix potential memory leak in proto_register() + - net/nfc/rawsock.c: add CAP_NET_RAW check. + - net: phy: fix memory leak in device-create error path + - net: Set fput_needed iff FDPUT_FPUT is set + - net/tls: Fix kmap usage + - vmxnet3: use correct tcp hdr length when packet is encapsulated + - net: refactor bind_bucket fastreuse into helper + - net: initialize fastreuse on inet_inherit_port + - vsock: fix potential null pointer dereference in vsock_poll() + - net: phy: marvell10g: fix null pointer dereference + - r8152: Use MAC address from correct device tree node + - USB: serial: cp210x: re-enable auto-RTS on open + - USB: serial: cp210x: enable usb generic throttle/unthrottle + - usb: cdns3: gadget: always zeroed TRB buffer when enable endpoint + - iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu + - vdpasim: protect concurrent access to iommu iotlb + - ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO + - ALSA: hda - reverse the setting value in the micmute_led_set + - ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support + - ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 + - ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 + - ALSA: usb-audio: add quirk for Pioneer DDJ-RB + - tpm: Unify the mismatching TPM space buffer sizes + - pstore: Fix linking when crypto API disabled + - crypto: hisilicon - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not + specified + - crypto: qat - fix double free in qat_uclo_create_batch_init_list + - crypto: ccp - Fix use of merged scatterlists + - crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified + - tick/nohz: Narrow down noise while setting current task's tick dependency + - bitfield.h: don't compile-time validate _val in FIELD_FIT + - fs/minix: check return value of sb_getblk() + - fs/minix: don't allow getting deleted inodes + - fs/minix: reject too-large maximum file size + - kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host + - 9p: Fix memory leak in v9fs_mount + - driver core: Fix probe_count imbalance in really_probe() + - media: media-request: Fix crash if memory allocation fails + - drm/ttm/nouveau: don't call tt destroy callback on alloc failure. + - io_uring: set ctx sq/cq entry count earlier + - io_uring: use TWA_SIGNAL for task_work uncondtionally + - io_uring: fail poll arm on queue proc failure + - io_uring: sanitize double poll handling + - NFS: Don't move layouts to plh_return_segs list while in use + - NFS: Don't return layout segments that are in use + - cpufreq: Fix locking issues with governors + - cpufreq: dt: fix oops on armada37xx + - MIPS: VZ: Only include loongson_regs.h for CPU_LOONGSON64 + - include/asm-generic/vmlinux.lds.h: align ro_after_init + - PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent + - PM / devfreq: Fix indentaion of devfreq_summary debugfs node + - spi: spidev: Align buffers for DMA + - mtd: rawnand: qcom: avoid write to unavailable register + - mtd: spi-nor: intel-spi: Simulate WRDI command + - erofs: fix extended inode could cross boundary + - Revert "mm/vmstat.c: do not show lowmem reserve protection information of + empty zone" + - Revert "parisc: Improve interrupt handling in arch_spin_lock_flags()" + - Revert "parisc: Drop LDCW barrier in CAS code when running UP" + - Revert "parisc: Use ldcw instruction for SMP spinlock release barrier" + - Revert "parisc: Revert "Release spinlocks using ordered store"" + - parisc: Do not use an ordered store in pa_tlb_lock() + - parisc: Implement __smp_store_release and __smp_load_acquire barriers + - parisc: mask out enable and reserved bits from sba imask + - ARM: dts: exynos: Extend all Exynos5800 A15's OPPs with max voltage data + - ARM: 8992/1: Fix unwind_frame for clang-built kernels + - firmware: qcom_scm: Fix legacy convention SCM accessors + - irqdomain/treewide: Free firmware node after domain removal + - firmware_loader: EFI firmware loader must handle pre-allocated buffer + - xen/balloon: fix accounting in alloc_xenballooned_pages error path + - xen/balloon: make the balloon wait interruptible + - xen/gntdev: Fix dmabuf import with non-zero sgt offset + - drm/xen-front: Fix misused IS_ERR_OR_NULL checks + - s390/dasd: fix inability to use DASD with DIAG driver + - s390/numa: set node distance to LOCAL_DISTANCE + - s390/gmap: improve THP splitting + - io_uring: Fix NULL pointer dereference in loop_rw_iter() + - io_uring: hold 'ctx' reference around task_work queue + execute + - io_uring: add missing REQ_F_COMP_LOCKED for nested requests + - io_uring: enable lookup of links holding inflight files + - task_work: only grab task signal lock when needed + - Linux 5.8.2 + + * Regression on NFS: unable to handle page fault in mempool_alloc_slab + (LP: #1886277) // Groovy update: v5.8.2 upstream stable release + (LP: #1892215) + - SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") + + * Groovy update: v5.8.2 upstream stable release (LP: #1892215) // + CVE-2019-19770 which shows this issue is not a core debugfs issue, but + - blktrace: fix debugfs use after free + + * Fix missing HDMI Audio on another HP Desktop (LP: #1891617) + - ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop + + * alsa/sof: support 1 and 3 dmics (LP: #1891585) + - SAUCE: ASoC: SOF: intel: hda: support also devices with 1 and 3 dmics + + * fix ftrace pid filtering on linux 5.8 (LP: #1891528) + - ftrace: Fix ftrace_trace_task return value + + * Fix false-negative return value for rtnetlink.sh in kselftests/net + (LP: #1890136) + - selftests: rtnetlink: correct the final return value for the test + - selftests: rtnetlink: make kci_test_encap() return sub-test result + + * Disable Lenovo P620 Rear line-in volume control (LP: #1891281) + - ALSA: usb-audio: Disable Lenovo P620 Rear line-in volume control + + * tcp_fastopen_backup_key.sh from net in ubuntu_kernel_selftests failed on + Eoan LPAR (LP: #1869134) + - tcp: correct read of TFO keys on big endian systems + + * Groovy update: v5.8.1 upstream stable release (LP: #1891647) + - scsi: ufs: Fix and simplify setup_xfer_req variant operation + - USB: serial: qcserial: add EM7305 QDL product ID + - USB: iowarrior: fix up report size handling for some devices + - usb: xhci: define IDs for various ASMedia host controllers + - usb: xhci: Fix ASMedia ASM1142 DMA addressing + - Revert "ALSA: hda: call runtime_allow() for all hda controllers" + - ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops + - ALSA: hda/ca0132 - Add new quirk ID for Recon3D. + - ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value. + - ALSA: hda/ca0132 - Fix AE-5 microphone selection commands. + - ALSA: seq: oss: Serialize ioctls + - staging: android: ashmem: Fix lockdep warning for write operation + - staging: rtl8712: handle firmware load failure + - Staging: rtl8188eu: rtw_mlme: Fix uninitialized variable authmode + - Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt() + - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt() + - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt() + - omapfb: dss: Fix max fclk divider for omap36xx + - binder: Prevent context manager from incrementing ref 0 + - Smack: fix use-after-free in smk_write_relabel_self() + - scripts: add dummy report mode to add_namespace.cocci + - lkdtm/heap: Avoid edge and middle of slabs + - vgacon: Fix for missing check in scrollback handling + - mtd: properly check all write ioctls for permissions + - leds: wm831x-status: fix use-after-free on unbind + - leds: lm36274: fix use-after-free on unbind + - leds: da903x: fix use-after-free on unbind + - leds: lm3533: fix use-after-free on unbind + - leds: 88pm860x: fix use-after-free on unbind + - gpio: max77620: Fix missing release of interrupt + - xattr: break delegations in {set,remove}xattr + - Revert "powerpc/kasan: Fix shadow pages allocation failure" + - powerpc/kasan: Fix shadow pages allocation failure + - PCI: tegra: Revert tegra124 raw_violation_fixup + - ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime + - random32: move the pseudo-random 32-bit definitions to prandom.h + - random: random.h should include archrandom.h, not the other way around + - arm64: kaslr: Use standard early random function + - Linux 5.8.1 + - [Config] Update annotations for changes in v5.8.1 + + * bcache by-uuid links disappear after mounting bcache0 (LP: #1861941) + - SAUCE: Revert "UBUNTU: SAUCE: (no-up) bcache: decouple emitting a cached_dev + CHANGE uevent" + + * Miscellaneous upstream changes + - Revert "ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs" + + -- Seth Forshee Tue, 25 Aug 2020 20:19:14 -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-riscv-5.8-5.8.0.orig/debian.master/config/amd64/config.common.amd64 +++ linux-riscv-5.8-5.8.0/debian.master/config/amd64/config.common.amd64 @@ -0,0 +1,656 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=m +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_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_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_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_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_SKD=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_UMEM=m +CONFIG_BOUNCE=y +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="gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0" +CONFIG_CDROM_PKTCDVD=m +# CONFIG_CLOCK_THERMAL is not set +# CONFIG_CMA is not set +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMMON_CLK=y +CONFIG_COUNTER=m +CONFIG_CRAMFS=m +CONFIG_CRYPTO_DEFLATE=y +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_LIB_POLY1305_RSIZE=11 +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_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +# 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_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DW_WATCHDOG=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=y +CONFIG_FB_SIS=m +CONFIG_FB_SM712=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_FIXED_PHY=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_GPIO_ADP5588=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=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_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_HIO=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_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +# CONFIG_HZ_100 is not set +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_EMEV2 is not set +CONFIG_I2C_GPIO=m +CONFIG_I2C_HID=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_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_ARCH_POLICY 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_SECURE_AND_OR_TRUSTED_BOOT is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_INFINIBAND_BNXT_RE=m +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_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +CONFIG_IOMMU_IOVA=y +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +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_KERNEL_LZ4=y +CONFIG_KEXEC_FILE=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_LZ4_COMPRESS=y +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MCB=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_THUNDER=m +CONFIG_MDIO_XPCS=m +CONFIG_MD_MULTIPATH=m +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_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +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_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_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_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_MOST=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_ECC_SW_HAMMING=m +CONFIG_MTD_RAW_NAND=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_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NVRAM=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_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_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCMCIA=m +CONFIG_PGTABLE_LEVELS=5 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PINCTRL=y +CONFIG_PMIC_OPREGION=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_RAM=m +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAW_DRIVER=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +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_PCF8523=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_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LPFC=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_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_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +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 is not set +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +# CONFIG_STANDALONE is not set +CONFIG_SUN_PARTITION=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=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_TRACE_SINK=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +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_DWC2_PCI=m +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_ROLE_SWITCH=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +CONFIG_VOP_BUS=m +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_X25=m +CONFIG_XEN=y +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 +CONFIG_ZSTD_COMPRESS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/amd64/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/amd64/config.flavour.generic @@ -0,0 +1,10 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +CONFIG_HZ=250 +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +# CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_VOLUNTARY=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/amd64/config.flavour.lowlatency +++ linux-riscv-5.8-5.8.0/debian.master/config/amd64/config.flavour.lowlatency @@ -0,0 +1,10 @@ +# +# Config options for config.flavour.lowlatency automatically generated by splitconfig.pl +# +CONFIG_HZ=1000 +CONFIG_HZ_1000=y +# CONFIG_HZ_250 is not set +CONFIG_IRQ_FORCED_THREADING_DEFAULT=y +CONFIG_LATENCYTOP=y +CONFIG_PREEMPT=y +# CONFIG_PREEMPT_VOLUNTARY is not set --- linux-riscv-5.8-5.8.0.orig/debian.master/config/annotations +++ linux-riscv-5.8-5.8.0/debian.master/config/annotations @@ -0,0 +1,13714 @@ +# Menu: HEADER +# FORMAT: 2 +# ARCH: x86 arm arm64 s390 powerpc + +# Mark debugging symbols. +# exceptions +CONFIG_DEBUG_FS note +CONFIG_DEBUG_KERNEL note + +# Menu: ROOT +CONFIG_LIVEPATCH policy<{'amd64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECCOMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_COMPAT policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZONE_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 's390x': 'y'}> +# +CONFIG_SECCOMP mark +CONFIG_ZONE_DMA note + +# 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_PROCFS_POWER policy<{'amd64': 'n'}> +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_CUSTOM_DSDT_FILE policy<{'amd64': '""'}> +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_DPTF_POWER policy<{'amd64': 'm'}> +CONFIG_ACPI_EXTLOG policy<{'amd64': 'm'}> +CONFIG_ACPI_CONFIGFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TPS68470_PMIC_OPREGION policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_X86_PM_TIMER policy<{'amd64': 'y'}> +# +CONFIG_ACPI_PROCFS_POWER flag +CONFIG_ACPI_CUSTOM_METHOD mark note +CONFIG_ACPI_CUSTOM_DSDT_FILE 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 >> PMIC (Power Management Integrated Circuit) operation region support +CONFIG_PMIC_OPREGION policy<{'amd64': 'y', 'arm64': 'n'}> +CONFIG_BYTCRC_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_CHTCRC_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_XPOWER_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_BXT_WC_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_CHT_WC_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_CHT_DC_TI_PMIC_OPREGION policy<{'amd64': 'y'}> + +# 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_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'}> +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: arm64 +CONFIG_ZONE_DMA32 policy<{'amd64': 'y', 'arm64': 'y'}> + +# Menu: Architecture: powerpc +CONFIG_PPC64 policy<{'ppc64el': 'y'}> +CONFIG_NR_IRQS policy<{'ppc64el': '512'}> + +# Menu: Architecture: s390 +CONFIG_KMSG_IDS policy<{'s390x': 'y'}> + +# Menu: Architecture: x86 +CONFIG_64BIT policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Binary Emulations >> Architecture: x86 +CONFIG_IA32_EMULATION policy<{'amd64': 'y'}> +CONFIG_IA32_AOUT policy<{'amd64': '-'}> +CONFIG_X86_X32 policy<{'amd64': 'y'}> +# +CONFIG_IA32_AOUT mark note + +# Menu: Boot options +CONFIG_CMDLINE policy<{'arm64': '"console=ttyAMA0"', 'armhf': '""', 'ppc64el': '""'}> +CONFIG_CMDLINE_FORCE policy<{'arm64': 'n'}> +CONFIG_EFI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_DMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_KEXEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRASH_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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 + +# 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: 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_X86_SYSFB policy<{'amd64': 'n'}> +CONFIG_PCI_MMCONFIG policy<{'amd64': 'y'}> +CONFIG_PCI_CNB20LE_QUIRK policy<{'amd64': 'n'}> +# +CONFIG_X86_SYSFB flag + +# 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: Cryptographic API +CONFIG_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_MANAGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_NULL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_PCRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CRYPTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AUTHENC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RSA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_ECDH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ECRDSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CURVE25519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CURVE25519_X86 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_GCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CHACHA20POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AEGIS128 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_CRYPTO_ECHAINIV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CBC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_ECB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_LRW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_OFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_PCBC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_XTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_KEYWRAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CRYPTO_ESSIV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_HMAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_XCBC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_VMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CRC32C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CRYPTO_CRC32_PCLMUL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_XXHASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLAKE2B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLAKE2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLAKE2S_X86 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CRCT10DIF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_CRYPTO_POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_POLY1305_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_MD4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_MD5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_MD5_PPC policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_MICHAEL_MIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RMD128 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RMD160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RMD256 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RMD320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_CRYPTO_SHA512 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_SHA3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SM3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_STREEBOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_TGR192 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_WP512 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_AES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_AES_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AES_NI_INTEL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_ANUBIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ARC4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLOWFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLOWFISH_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAMELLIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CRYPTO_CAST5_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAST6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CAST6_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DES3_EDE_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_FCRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_KHAZAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SALSA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CHACHA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CHACHA20_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SERPENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CRYPTO_TEA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_TWOFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CRYPTO_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LZ4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LZ4HC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ZSTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ANSI_CPRNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_JITTERENTROPY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_USER_API_HASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_SKCIPHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_RNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_AEAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_LIB_BLAKE2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_CURVE25519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA20POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS flag +CONFIG_CRYPTO_TEST flag +CONFIG_CRYPTO_SHA512 note + +# Menu: Cryptographic API >> Asymmetric (public-key cryptographic) key type +CONFIG_ASYMMETRIC_KEY_TYPE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_X509_CERTIFICATE_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PKCS8_PRIVATE_KEY_PARSER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TPM_KEY_PARSER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_PKCS7_MESSAGE_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PKCS7_TEST_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SIGNED_PE_FILE_VERIFICATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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"', 's390x': '"certs/signing_key.pem"'}> +CONFIG_SYSTEM_BLACKLIST_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_BLACKLIST_HASH_LIST policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +# +CONFIG_SYSTEM_BLACKLIST_KEYRING 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', '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"', 's390x': '"debian/canonical-certs.pem"'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096', 's390x': '4096'}> +CONFIG_SECONDARY_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Cryptographic API >> Hardware crypto devices +CONFIG_CRYPTO_HW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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_ZCRYPT policy<{'s390x': 'm'}> +CONFIG_ZCRYPT_MULTIDEVNODES policy<{'s390x': 'y'}> +CONFIG_PKEY policy<{'s390x': 'm'}> +CONFIG_CRYPTO_PAES_S390 policy<{'s390x': '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'}> +CONFIG_CRYPTO_DEV_HIFN_795X_RNG policy<{'armhf-generic': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG policy<{'arm64': 'n', 'armhf-generic': 'n'}> +CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SAHARA policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_CRYPTO_DEV_EXYNOS_RNG policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_S5P policy<{'armhf': 'm'}> +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', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_ATMEL_SHA204A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', '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-generic': '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_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', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_MARVELL_CESA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_OCTEONTX_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_MEDIATEK policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_CHELSIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHELSIO_IPSEC_INLINE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CHELSIO_TLS_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CRYPTO_DEV_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DEV_BCM_SPU policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SAFEXCEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_ARTPEC6 policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_CCREE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_AMLOGIC_GXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_CRYPTO_DEV_HISI_ZIP mark +CONFIG_ZCRYPT_MULTIDEVNODES mark note + +# 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'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Freescale CAAM Job Ring driver backend +CONFIG_CRYPTO_DEV_FSL_CAAM_JR policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE policy<{'arm64': '9', 'armhf-generic': '9'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD policy<{'arm64': '255', 'armhf-generic': '255'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD policy<{'arm64': '2048', 'armhf-generic': '2048'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API policy<{'arm64': 'y', 'armhf-generic': 'y'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader +CONFIG_CRYPTO_DEV_ALLWINNER policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_SUN4I_SS policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_SUN8I_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG policy<{'arm64': 'n'}> +CONFIG_CRYPTO_DEV_SUN8I_SS policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG policy<{'arm64': 'n'}> + +# 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 >> NIST SP800-90A DRBG +CONFIG_CRYPTO_DRBG_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DRBG_HASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DRBG_CTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Device Drivers +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', 's390x': 'y'}> +CONFIG_MEDIA_CEC_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CEC_PIN_ERROR_INJ policy<{'amd64-lowlatency': 'n', 'arm64': 'n'}> +CONFIG_PANEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARLCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_UNISYS_VISORBUS policy<{'amd64': 'm'}> +CONFIG_MOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> ATA/ATAPI/MFM/RLL support (DEPRECATED) +CONFIG_IDE policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Accessibility support +CONFIG_ACCESSIBILITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_ACCESSIBILITY flag + +# Menu: Device Drivers >> Adaptive Voltage Scaling class support +CONFIG_POWER_AVS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_QCOM_CPR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ROCKCHIP_IODOMAIN policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Android +CONFIG_ANDROID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> + +# Menu: Device Drivers >> Android >> Android Binder IPC Driver +CONFIG_ANDROID_BINDER_IPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ANDROID_BINDERFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ANDROID_BINDER_DEVICES policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""'}> +CONFIG_ANDROID_BINDER_IPC_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support +CONFIG_ARM_CHARLCD policy<{'armhf': 'y'}> +CONFIG_AUXDISPLAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_HD44780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IMG_ASCII_LCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HT16K33 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PANEL_CHANGE_MESSAGE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Backlight initial state +CONFIG_CHARLCD_BL_OFF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CHARLCD_BL_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CHARLCD_BL_FLASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Auxiliary Display support >> KS0108 LCD Controller +CONFIG_KS0108 policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KS0108_PORT policy<{'amd64': '0x378', 'armhf': '0x378', 'ppc64el': '0x378'}> +CONFIG_KS0108_DELAY policy<{'amd64': '2', 'armhf': '2', 'ppc64el': '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'}> +CONFIG_PANEL_PARPORT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_PANEL_PROFILE policy<{'amd64': '5', 'arm64': '5', 'armhf': '5', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_BLK_DEV_NULL_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_ZRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ZRAM_WRITEBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZRAM_MEMORY_TRACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_UMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_LOOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_LOOP_MIN_COUNT policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 's390x': '8'}> +CONFIG_BLK_DEV_CRYPTOLOOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_DRBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DRBD_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BLK_DEV_NBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_SKD policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_SX8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RAM_COUNT policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16', 's390x': '16'}> +CONFIG_BLK_DEV_RAM_SIZE policy<{'amd64': '65536', 'arm64': '65536', 'armhf': '65536', 'ppc64el': '65536', 's390x': '65536'}> +CONFIG_CDROM_PKTCDVD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CDROM_PKTCDVD_BUFFERS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_CDROM_PKTCDVD_WCACHE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATA_OVER_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_XPRAM policy<{'s390x': 'n'}> +CONFIG_DCSSBLK policy<{'s390x': 'm'}> +CONFIG_SCM_BLOCK policy<{'s390x': 'm'}> +CONFIG_XEN_BLKDEV_FRONTEND policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_BLKDEV_BACKEND policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VIRTIO_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RSXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_RNBD_CLIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RNBD_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_BLK_DEV_UMEM note +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 >> Parallel port IDE device support +CONFIG_PARIDE policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_PD policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_PCD policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_PF policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_PT policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_PG policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_ATEN policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_BPCK policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_BPCK6 policy<{'armhf': 'm'}> +CONFIG_PARIDE_COMM policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_DSTR policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_FIT2 policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_FIT3 policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_EPAT policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_EPATC8 policy<{'amd64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PARIDE_EPIA policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_FRIQ policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_FRPW policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_KBIC policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_KTTI policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_ON20 policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARIDE_ON26 policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_POWER_RESET_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +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'}> +CONFIG_POWER_RESET_GPIO_RESTART policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_POWER_RESET_HISI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_POWER_RESET_MSM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_POWER_RESET_QCOM_PON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_POWER_RESET_LTC2952 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_POWER_RESET_MT6323 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_POWER_RESET_QNAP policy<{'armhf': 'n'}> +CONFIG_POWER_RESET_RESTART policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': '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'}> +CONFIG_POWER_RESET_SYSCON_POWEROFF policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_POWER_RESET_RMOBILE policy<{'armhf': 'm'}> +CONFIG_SYSCON_REBOOT_MODE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_POWER_RESET_SC27XX policy<{'arm64': 'm'}> +CONFIG_NVMEM_REBOOT_MODE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Broadcom specific AMBA +CONFIG_BCMA_HOST_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BCMA_HOST_SOC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA_DRIVER_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA_SFLASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA_DRIVER_GMAC_CMN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA_DRIVER_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BCMA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Bus devices +CONFIG_BRCMSTB_GISB_ARB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MOXTET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HISILICON_LPC policy<{'arm64': 'y'}> +CONFIG_IMX_WEIM policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_OMAP_INTERCONNECT policy<{'armhf': 'y'}> +CONFIG_OMAP_OCP2SCP policy<{'armhf': 'm'}> +CONFIG_QCOM_EBI2 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SIMPLE_PM_BUS policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SUN50I_DE2_BUS policy<{'arm64': 'y'}> +CONFIG_SUNXI_RSB policy<{'arm64': 'm'}> +CONFIG_TEGRA_GMI policy<{'armhf-generic': 'm'}> +CONFIG_TI_SYSC policy<{'armhf': 'y'}> +CONFIG_UNIPHIER_SYSTEM_BUS policy<{'armhf': 'y'}> +CONFIG_VEXPRESS_CONFIG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FSL_MC_BUS policy<{'arm64': 'y', 'armhf-generic': 'n'}> +CONFIG_MHI_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Character devices +CONFIG_DEVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEVKMEM policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TTY_PRINTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_TTY_PRINTK_LEVEL policy<{'amd64': '6', 'arm64': '6', 'armhf': '6', 'ppc64el': '6'}> +CONFIG_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LP_CONSOLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PPDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIRTIO_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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_ASPEED_BT_IPMI_BMC policy<{'armhf': 'm'}> +CONFIG_IPMB_DEVICE_INTERFACE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVRAM policy<{'amd64': 'm', 'ppc64el': 'y'}> +CONFIG_APPLICOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MWAVE policy<{'amd64': 'm'}> +CONFIG_RAW_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MAX_RAW_DEVS policy<{'amd64': '256', 'arm64': '256', 'armhf': '256', 'ppc64el': '256'}> +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_DEVPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +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', 's390x': 'n'}> +CONFIG_XILLYBUS_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_XILLYBUS_OF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_DEVKMEM mark note +CONFIG_NVRAM mark note +CONFIG_SCLP_OFB mark note + +# Menu: Device Drivers >> Character devices >> Enable TTY +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'}> +CONFIG_HVC_XEN_FRONTEND policy<{'amd64': 'y', 'arm64': 'y'}> +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', 's390x': 'y'}> +CONFIG_VT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CONSOLE_TRANSLATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VT_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VT_HW_CONSOLE_BINDING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UNIX98_PTYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LEGACY_PTYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LEGACY_PTY_COUNT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 's390x': '0'}> +CONFIG_NOZOMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_N_GSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TRACE_ROUTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TRACE_SINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PPC_EPAPR_HV_BYTECHAN policy<{'ppc64el': 'n'}> +CONFIG_NULL_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LDISC_AUTOLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_ROCKETPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CYCLADES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CYZ_INTR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MOXA_INTELLIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOXA_SMARTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SYNCLINK policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_SYNCLINKMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SYNCLINK_GT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ISI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_N_HDLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_SERIAL_MESON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_MESON_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_SAMSUNG policy<{'armhf': 'm'}> +CONFIG_SERIAL_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_SERIAL_TEGRA_TCU policy<{'armhf-generic': 'm'}> +CONFIG_SERIAL_MAX3100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_MAX310X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_IMX policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_SERIAL_IMX_CONSOLE policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_SERIAL_UARTLITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SERIAL_UARTLITE_NR_UARTS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 's390x': '1'}> +CONFIG_SERIAL_ICOM policy<{'ppc64el': 'm'}> +CONFIG_SERIAL_JSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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': 'y'}> +CONFIG_SERIAL_OMAP_CONSOLE policy<{'armhf': 'y'}> +CONFIG_SERIAL_SIFIVE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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', 's390x': 'n'}> +CONFIG_SERIAL_SCCNXP_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_SC16IS7XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_SC16IS7XX_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_SC16IS7XX_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_BCM63XX policy<{'armhf': 'm'}> +CONFIG_SERIAL_ALTERA_JTAGUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_IFX6X60 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SERIAL_XILINX_PS_UART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_ARC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_ARC_NR_PORTS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1'}> +CONFIG_SERIAL_RP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_RP2_NR_UARTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32'}> +CONFIG_SERIAL_FSL_LPUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_FSL_LINFLEXUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SERIAL_CONEXANT_DIGICOLOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_ST_ASC policy<{'armhf': 'm'}> +CONFIG_SERIAL_MEN_Z135 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_SPRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> + +# 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'}> +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SERIAL_8250_PNP policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SERIAL_8250_16550A_VARIANTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_FINTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SERIAL_8250_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_EXAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_8250_CS policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_MEN_MCB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_8250_NR_UARTS policy<{'amd64': '48', 'arm64': '48', 'armhf': '48', 'ppc64el': '48'}> +CONFIG_SERIAL_8250_RUNTIME_UARTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32'}> +CONFIG_SERIAL_8250_ASPEED_VUART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_8250_DW policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_8250_EM policy<{'armhf': 'n'}> +CONFIG_SERIAL_8250_RT288X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_OMAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_8250_MT6577 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_8250_UNIPHIER policy<{'armhf': 'm'}> +CONFIG_SERIAL_8250_LPSS policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_MID policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_TEGRA policy<{'armhf-generic': 'y'}> +CONFIG_SERIAL_OF_PLATFORM policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_SERIAL_8250_SHARE_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIAL_8250_DETECT_IRQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SERIAL_8250_RSA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> + +# 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', 's390x': 'n'}> +CONFIG_SERIAL_ALTERA_UART_MAXPORTS policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4'}> +CONFIG_SERIAL_ALTERA_UART_BAUDRATE policy<{'amd64': '115200', 'arm64': '115200', 'armhf': '115200', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_HW_RANDOM_TIMERIOMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HW_RANDOM_INTEL policy<{'amd64': 'm'}> +CONFIG_HW_RANDOM_AMD policy<{'amd64': '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', 's390x': '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_HISI_V2 policy<{'arm64': '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': 'm'}> +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'}> + +# Menu: Device Drivers >> Character devices >> IPMI top-level message handler +CONFIG_IPMI_HANDLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_IPMI_PANIC_EVENT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_IPMI_DEVICE_INTERFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IPMI_SI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IPMI_SSIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IPMI_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_IPMI_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IPMI_POWEROFF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SERIAL_DEV_CTRL_TTYPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_HW_RANDOM_TPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TCG_TIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TCG_TIS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TCG_TIS_SPI_CR50 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TCG_TIS_I2C_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_TCG_TIS_I2C_INFINEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_TCG_TIS_I2C_NUVOTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_TCG_NSC policy<{'amd64': 'm'}> +CONFIG_TCG_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_TCG_INFINEON policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TCG_IBMVTPM policy<{'ppc64el': 'y'}> +CONFIG_TCG_XEN policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TCG_CRB policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_TCG_VTPM_PROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_TCG_TIS_ST33ZP24_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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_TEGRA_TIMER policy<{'armhf-generic': '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_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'}> +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-generic': 'y'}> +CONFIG_CLKSRC_IMX_TPM policy<{'armhf-generic': 'y'}> +CONFIG_TIMER_IMX_SYS_CTR policy<{'arm64': 'y'}> +CONFIG_MILBEAUT_TIMER policy<{'armhf': 'y'}> +CONFIG_MICROCHIP_PIT64B policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_COMMON_CLK_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CLK_HSDK policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_COMMON_CLK_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_MAX9485 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_COMMON_CLK_SI5351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_SI514 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_SI544 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_SI570 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_BM1880 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_CDCE706 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_CDCE925 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_CS2000_CP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_FSL_SAI policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_ASPEED policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_S2MPS11 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CLK_TWL6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CLK_QORIQ policy<{'arm64': 'y', 'armhf': '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'}> +CONFIG_COMMON_CLK_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_VC5 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_FIXED_MMIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +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_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_CLK_IMX8MM policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CLK_IMX8MN policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CLK_IMX8MP policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_CLK_IMX8MQ policy<{'arm64': 'y', 'armhf-generic': '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_COMMON_CLK_AXG_AUDIO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_SAMSUNG policy<{'armhf': 'y'}> +CONFIG_EXYNOS_AUDSS_CLK_CON policy<{'armhf': 'm'}> +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': 'y'}> +CONFIG_COMMON_CLK_ZYNQMP policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for ARM Reference designs +CONFIG_ICST policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_SP810 policy<{'arm64': 'y', 'armhf': 'y'}> +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 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 support for Allwinner SoCs +CONFIG_SUNXI_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_A64_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_H6_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_H6_R_CCU policy<{'arm64': 'y'}> +CONFIG_SUN8I_A83T_CCU policy<{'arm64': 'y'}> +CONFIG_SUN8I_H3_CCU policy<{'arm64': 'y'}> +CONFIG_SUN8I_DE2_CCU policy<{'arm64': 'y'}> +CONFIG_SUN8I_R_CCU 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'}> +CONFIG_CLK_SUNXI_CLOCKS policy<{'arm64': 'y'}> +CONFIG_CLK_SUNXI_PRCM_SUN6I policy<{'arm64': 'y'}> +CONFIG_CLK_SUNXI_PRCM_SUN8I policy<{'arm64': 'y'}> +CONFIG_CLK_SUNXI_PRCM_SUN9I policy<{'arm64': 'y'}> + +# 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_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_R9A06G032 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_SH73A0 policy<{'armhf': '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_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 >> SiFive SoC driver support + +# 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_CLK_APCS_MSM8916 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'}> +CONFIG_APQ_GCC_8084 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_APQ_MMCC_8084 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_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_8974 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8974 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_DISPCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GPUCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_MSS_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_VIDEOCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_CAMCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_GCC_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_SM_GCC_8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_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'}> + +# Menu: Device Drivers >> Connector - unified userspace <-> kernelspace linker +CONFIG_CONNECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Counter support +CONFIG_COUNTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_104_QUAD_8 policy<{'amd64': 'm'}> +CONFIG_TI_EQEP policy<{'armhf-generic': 'm'}> +CONFIG_FTM_QUADDEC policy<{'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', 's390x': 'y'}> +CONFIG_DEV_DAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': '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'}> +CONFIG_DEV_DAX_PMEM_COMPAT policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> DMA Engine support +CONFIG_DMADEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_DMADEVICES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ALTERA_MSGDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AMBA_PL08X policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_AXI_DMAC policy<{'arm64': 'm'}> +CONFIG_BCM_SBA_RAID policy<{'arm64': 'm'}> +CONFIG_DMA_BCM2835 policy<{'arm64': 'y'}> +CONFIG_DMA_SUN6I policy<{'arm64': 'm'}> +CONFIG_DW_AXI_DMAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_EDMA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_QDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HISI_DMA policy<{'arm64': 'm'}> +CONFIG_IMX_DMA policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_IMX_SDMA policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_INTEL_IDMA64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INTEL_IDXD policy<{'amd64': 'm'}> +CONFIG_INTEL_IOATDMA policy<{'amd64': 'm'}> +CONFIG_INTEL_MIC_X100_DMA 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-generic': 'y'}> +CONFIG_MX3_IPU policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_MX3_IPU_IRQS policy<{'arm64': '4', 'armhf-generic': '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'}> +CONFIG_SPRD_DMA policy<{'arm64': 'm'}> +CONFIG_TEGRA20_APB_DMA policy<{'armhf-generic': 'y'}> +CONFIG_UNIPHIER_MDMAC policy<{'armhf': 'm'}> +CONFIG_UNIPHIER_XDMAC policy<{'armhf': 'm'}> +CONFIG_XGENE_DMA policy<{'arm64': 'm'}> +CONFIG_XILINX_DMA policy<{'arm64': 'm'}> +CONFIG_XILINX_ZYNQMP_DMA policy<{'arm64': '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_QCOM_BAM_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_HIDMA_MGMT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCOM_HIDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DW_DMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DW_DMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DW_EDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DW_EDMA_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SF_PDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RCAR_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RENESAS_USB_DMAC policy<{'arm64': 'm', 'armhf': '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_ASYNC_TX_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DMATEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_DMATEST flag + +# Menu: Device Drivers >> DMABUF options +CONFIG_SYNC_FILE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SW_SYNC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UDMABUF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DMABUF_MOVE_NOTIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DMABUF_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_DMABUF_HEAPS_SYSTEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DMABUF_HEAPS_CMA policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support +CONFIG_W1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_W1_CON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# 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'}> +CONFIG_W1_MASTER_DS2490 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_MASTER_DS2482 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_MASTER_MXC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_W1_MASTER_DS1WM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_MASTER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDQ_MASTER_OMAP policy<{'armhf': 'm'}> +CONFIG_W1_MASTER_SGI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Slaves +CONFIG_W1_SLAVE_THERM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_SMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2405 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2408 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2408_READBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_W1_SLAVE_DS2413 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2406 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2423 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2430 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2431 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2433 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2433_CRC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_W1_SLAVE_DS2438 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS250X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS2781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS28E04 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_W1_SLAVE_DS28E17 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Device Tree and Open Firmware support +CONFIG_OF policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_OF_UNITTEST policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_OF_DYNAMIC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_OF_OVERLAY policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_EDAC_LEGACY_SYSFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_EDAC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_EDAC_DECODE_MCE policy<{'amd64': 'm'}> +CONFIG_EDAC_GHES policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_EDAC_AMD64 policy<{'amd64': 'm'}> +CONFIG_EDAC_AMD64_ERROR_INJECTION policy<{'amd64': 'n'}> +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_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_ARMADA_XP policy<{'armhf': 'y'}> +CONFIG_EDAC_SYNOPSYS policy<{'arm64': 'm'}> +CONFIG_EDAC_XGENE policy<{'arm64': 'm'}> +CONFIG_EDAC_TI policy<{'armhf': 'm'}> +CONFIG_EDAC_QCOM policy<{'arm64': 'm', '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'}> +CONFIG_EDAC_ALTERA_SDRAM policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_OCRAM policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_ETHERNET policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_NAND policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_USB policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_QSPI policy<{'arm64': 'y'}> +CONFIG_EDAC_ALTERA_SDMMC policy<{'arm64': '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', 's390x': 'm'}> +CONFIG_SIOX_BUS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> External Connector Class (extcon) support +CONFIG_EXTCON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_EXTCON_ADC_JACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_ARIZONA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_AXP288 policy<{'amd64': 'm'}> +CONFIG_EXTCON_FSA9480 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_EXTCON_MAX3355 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_MAX77843 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_PTN5150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_QCOM_SPMI_MISC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_EXTCON_RT8973A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_SM5502 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_USB_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXTCON_USBC_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework +CONFIG_FPGA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ALTERA_PR_IP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ALTERA_PR_IP_CORE_PLAT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_MGR_ALTERA_PS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_MGR_ALTERA_CVP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_FPGA_MGR_ICE40_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_MGR_MACHXO2_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_MGR_ZYNQMP_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', 's390x': 'n'}> +CONFIG_ALTERA_FREEZE_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_XILINX_PR_DECOUPLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_REGION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_OF_FPGA_REGION policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FPGA_DFL_AFU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_DFL_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_FPGA_DFL_FME_MGR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_DFL_FME_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FPGA_DFL_FME_REGION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> FSI support +CONFIG_FSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_NEW_DEV_NODE policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FSI_MASTER_GPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_MASTER_HUB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_MASTER_AST_CF policy<{'armhf': 'm'}> +CONFIG_FSI_MASTER_ASPEED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_SCOM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_SBEFIFO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSI_OCC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Fusion MPT device support +CONFIG_FUSION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FUSION_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FUSION_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FUSION_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FUSION_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128'}> +CONFIG_FUSION_CTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FUSION_LAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FUSION_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> GNSS receiver support +CONFIG_GNSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GNSS_MTK_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GNSS_SIRF_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GNSS_UBX_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> GPIO Support +CONFIG_GPIOLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_GPIOLIB_FASTPATH_LIMIT policy<{'amd64': '512', 'arm64': '512', 'armhf': '512', 'ppc64el': '512', 's390x': '512'}> +CONFIG_DEBUG_GPIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_GPIO_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_GPIO_AGGREGATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GPIO_MOCKUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> GPIO Support >> I2C GPIO expanders +CONFIG_GPIO_ADP5588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_ADNP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_GW_PLD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MAX7300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_MAX732X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_PCA953X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_PCA953X_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_PCF857X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_TPIC2810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_TS4900 policy<{'armhf-generic': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> MFD GPIO expanders +CONFIG_GPIO_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_ARIZONA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_CRYSTAL_COVE policy<{'amd64': 'y'}> +CONFIG_GPIO_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HTC_EGPIO policy<{'armhf': 'y'}> +CONFIG_GPIO_JANZ_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_LP873X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MADERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MSIC policy<{'amd64': 'y'}> +CONFIG_GPIO_PALMAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_RC5T583 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_TC3589X policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TPS6586X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_TPS65910 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_TPS65912 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TPS68470 policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_GPIO_TQMX86 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_GPIO_TWL6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_GPIO_UCB1400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_WHISKEY_COVE policy<{'amd64': 'm'}> +CONFIG_GPIO_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_GPIO_ALTERA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_GPIO_DAVINCI policy<{'arm64': 'y'}> +CONFIG_GPIO_DWAPB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_GPIO_FTGPIO010 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_GENERIC_PLATFORM policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GPIO_GRGPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_HLWD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_ICH policy<{'amd64': 'm'}> +CONFIG_GPIO_LOGICVC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MB86S7X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_MENZ127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MPC8XXX 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_SAMA5D2_PIOBU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_SIFIVE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GPIO_SIOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GPIO_SPRD policy<{'arm64': 'm'}> +CONFIG_GPIO_SYSCON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TEGRA policy<{'armhf-generic': 'y'}> +CONFIG_GPIO_TS4800 policy<{'armhf-generic': 'm'}> +CONFIG_GPIO_THUNDERX policy<{'arm64': 'm'}> +CONFIG_GPIO_UNIPHIER policy<{'armhf': 'm'}> +CONFIG_GPIO_VX855 policy<{'amd64': 'm'}> +CONFIG_GPIO_WCD934X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_XGENE policy<{'arm64': 'y'}> +CONFIG_GPIO_XGENE_SB policy<{'arm64': 'm'}> +CONFIG_GPIO_XILINX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': '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', 's390x': 'n'}> +# +CONFIG_GPIO_EM note + +# Menu: Device Drivers >> GPIO Support >> PCI GPIO expanders +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', 's390x': 'm'}> +CONFIG_GPIO_PCIE_IDIO_24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GPIO_RDC321X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_GPIO_MAX3191X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MAX7301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MC33880 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_PISOSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_XRA1403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_MOXTET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> USB GPIO expanders +CONFIG_GPIO_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Generic Driver Options +CONFIG_UEVENT_HELPER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UEVENT_HELPER_PATH policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_DEVTMPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEVTMPFS_MOUNT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_STANDALONE policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PREVENT_FIRMWARE_BUILD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ALLOW_DEV_COREDUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_DRIVER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_DEVRES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_TEST_DRIVER_REMOVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_ASYNC_DRIVER_PROBE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DMA_FENCE_TRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_DEVTMPFS note note +CONFIG_DEVTMPFS_MOUNT note 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', 's390x': 'y'}> +CONFIG_EXTRA_FIRMWARE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_FW_LOADER_USER_HELPER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FW_LOADER_USER_HELPER_FALLBACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FW_LOADER_COMPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_GOV_PERFORMANCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_GOV_POWERSAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_GOV_USERSPACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_GOV_PASSIVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ARM_EXYNOS_BUS_DEVFREQ policy<{'armhf': 'y'}> +CONFIG_ARM_IMX_BUS_DEVFREQ policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_ARM_IMX8M_DDRC_DEVFREQ policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_ARM_TEGRA_DEVFREQ policy<{'armhf-generic': 'm'}> +CONFIG_ARM_TEGRA20_DEVFREQ policy<{'armhf-generic': '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'}> +CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP policy<{'armhf': 'y'}> +CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU policy<{'armhf': 'y'}> +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', 's390x': 'm'}> +CONFIG_TCM_IBLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCM_FILEIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCM_PSCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCM_USER2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LOOPBACK_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCM_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ISCSI_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ISCSI_TARGET_CXGB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SBP_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Generic powercap sysfs driver +CONFIG_POWERCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_INTEL_RAPL policy<{'amd64': 'm'}> +CONFIG_IDLE_INJECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Graphics support +CONFIG_VGA_ARB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VGA_ARB_MAX_GPUS policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16'}> +CONFIG_VGA_SWITCHEROO policy<{'amd64': 'y'}> +CONFIG_TEGRA_HOST1X policy<{'armhf-generic': 'm'}> +CONFIG_TEGRA_HOST1X_FIREWALL policy<{'armhf-generic': 'y'}> +CONFIG_IMX_IPUV3_CORE policy<{'armhf': 'm'}> +CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DRM_XEN policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_DRM_XEN_FRONTEND policy<{'amd64': 'm', 'arm64': 'm'}> + +# 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'}> + +# 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', 's390x': 'n'}> +CONFIG_BACKLIGHT_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_CARILLO_RANCH policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_APPLE policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_QCOM_WLED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_SAHARA policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_ADP8860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_ADP8870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_AAT2870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LM3630A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LM3639 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LP855X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_PANDORA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_TPS65217 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_BACKLIGHT_AS3711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LV5207LP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_BD6107 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_ARCXCNN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_RAVE_SP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BACKLIGHT_LED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_LCD_L4F00242T03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_LMS283GF05 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_LTV350QV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_ILI922X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_ILI9320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_TDO24M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_VGG2432A4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_AMS369FG06 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_LMS501KF03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_HX8357 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LCD_OTM3225A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Bootup logo +CONFIG_LOGO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support +CONFIG_VGA_CONSOLE policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_DUMMY_CONSOLE_COLUMNS policy<{'amd64': '80', 'arm64': '80', 'ppc64el': '80', 's390x': '80'}> +CONFIG_DUMMY_CONSOLE_ROWS policy<{'amd64': '25', 'arm64': '25', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_DRM_DP_AUX_CHARDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_DRM_DEBUG_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DRM_FBDEV_EMULATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DRM_FBDEV_OVERALLOC policy<{'amd64': '100', 'arm64': '100', 'armhf': '100', 'ppc64el': '100', 's390x': '100'}> +CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DRM_LOAD_EDID_FIRMWARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DRM_DP_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_DRM_RADEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_RADEON_USERPTR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DRM_VGEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_VKMS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_VMWGFX policy<{'amd64': 'm'}> +CONFIG_DRM_VMWGFX_FBCON policy<{'amd64': 'y'}> +CONFIG_DRM_UDL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_AST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_MGAG200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DRM_RCAR_LVDS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n'}> +CONFIG_DRM_RCAR_VSP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_OMAP policy<{'armhf': 'n'}> +CONFIG_DRM_TILCDC policy<{'armhf': 'm'}> +CONFIG_DRM_QXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_BOCHS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DRM_VIRTIO_GPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DRM_FSL_DCU policy<{'armhf': 'm'}> +CONFIG_DRM_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_DRM_TEGRA_DEBUG policy<{'armhf-generic': 'n'}> +CONFIG_DRM_TEGRA_STAGING policy<{'armhf-generic': 'y'}> +CONFIG_DRM_STM policy<{'armhf': 'm'}> +CONFIG_DRM_STM_DSI policy<{'armhf': 'm'}> +CONFIG_DRM_STI policy<{'armhf': 'n'}> +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', 's390x': 'n'}> +CONFIG_DRM_ETNAVIV_THERMAL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_ARCPGU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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_MXSFB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_MESON_DW_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_CIRRUS_QEMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_GM12U320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_HX8357D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_ILI9225 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_ILI9341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_ILI9486 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_MI0283QT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_REPAPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_ST7586 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TINYDRM_ST7735R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PL111 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_TVE200 policy<{'armhf': 'm'}> +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_MGAG200 note +CONFIG_DRM_STI note +CONFIG_DRM_VBOXVIDEO note flag +CONFIG_DRM_HISI_HIBMC mark note +CONFIG_DRM_BOCHS mark note 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', 's390x': 'n'}> +CONFIG_DRM_AMDGPU_SI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DRM_AMDGPU_CIK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DRM_AMDGPU_USERPTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DRM_AMDGPU_GART_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_HSA_AMD policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +# +CONFIG_DRM_AMDGPU_CIK note +CONFIG_DRM_AMDGPU_CIK 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'}> + +# 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'}> +CONFIG_DRM_AMD_DC_HDCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEBUG_KERNEL_DC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_DRM_SUN4I_HDMI policy<{'arm64': 'm'}> +CONFIG_DRM_SUN4I_HDMI_CEC policy<{'arm64': 'y'}> +CONFIG_DRM_SUN4I_BACKEND policy<{'arm64': 'm'}> +CONFIG_DRM_SUN6I_DSI policy<{'arm64': 'm'}> +CONFIG_DRM_SUN8I_DW_HDMI policy<{'arm64': 'm'}> +CONFIG_DRM_SUN8I_MIXER policy<{'arm64': 'm'}> + +# 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'}> +CONFIG_DRM_CHRONTEL_CH7033 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_DISPLAY_CONNECTOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_LVDS_CODEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_NWL_MIPI_DSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_NXP_PTN3460 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PARADE_PS8622 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PARADE_PS8640 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_SIL_SII8620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_SII902X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_SII9234 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_SIMPLE_BRIDGE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_THINE_THC63LVD1024 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TOSHIBA_TC358764 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TOSHIBA_TC358767 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TOSHIBA_TC358768 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TI_TFP410 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TI_SN65DSI86 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_TI_TPD12S015 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_ANALOGIX_ANX6345 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_ANALOGIX_ANX78XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_ADV7511 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_I2C_ADV7511_AUDIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DRM_I2C_ADV7511_CEC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DRM_DW_HDMI_AHB_AUDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_DW_HDMI_I2S_AUDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_DW_HDMI_CEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Panels +CONFIG_DRM_PANEL_ARM_VERSATILE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_BOE_HIMAX8279D policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_LVDS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SIMPLE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ELIDA_KD35T133 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ILITEK_IL9322 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ILITEK_ILI9881C policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_INNOLUX_P079ZCA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_JDI_LT070ME05000 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_LD9040 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_LG_LB035Q02 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_LG_LG4573 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_NEC_NL8048HL11 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT35510 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT39016 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ORISETECH_OTM8009A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM67191 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM68200 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_RONBO_RB070D30 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SEIKO_43WVF1G policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS037V7DW01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS043T1LE01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7701 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7789V policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX424AKP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX565AKM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_TPO_TD028TTEC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_TPO_TD043MTEA1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_TPO_TPG110 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_VISIONOX_RM69299 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_XINPENG_XPP055C272 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', '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', 's390x': 'n'}> +CONFIG_DRM_I2C_SIL164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_NXP_TDA998X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_NXP_TDA9950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_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) >> Intel GMA5/600 KMS Framebuffer +CONFIG_DRM_GMA500 policy<{'amd64': 'm'}> +CONFIG_DRM_GMA600 policy<{'amd64': 'y'}> +CONFIG_DRM_GMA3600 policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM +CONFIG_DRM_MSM policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}> +CONFIG_DRM_MSM_REGISTER_LOGGING policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DRM_MSM_GPU_SUDO policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DRM_MSM_HDMI_HDCP 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_PLL 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'}> + +# 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', 's390x': 'n'}> +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NOUVEAU_PLATFORM_DRIVER policy<{'armhf-generic': 'y'}> +CONFIG_NOUVEAU_DEBUG policy<{'amd64': '5', 'arm64': '5', 'armhf': '5', 'ppc64el': '5'}> +CONFIG_NOUVEAU_DEBUG_DEFAULT policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '3'}> +CONFIG_NOUVEAU_DEBUG_MMU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DRM_NOUVEAU_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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) >> OMAP2+ Display Subsystem support + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> OMAPDRM External Display Device Drivers + +# 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', 's390x': 'y'}> +CONFIG_FIRMWARE_EDID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FB_MODE_HELPERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FB_TILEBLITTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FB_CIRRUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_PM2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_PM2_FIFO_DISCONNECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_ARMCLCD policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FB_IMX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_FB_CYBER2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_CYBER2000_DDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_IMSTT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FB_VGA16 policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_FB_UVESA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_VESA policy<{'amd64': 'y'}> +CONFIG_FB_EFI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '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', 's390x': 'n'}> +CONFIG_FB_S1D13XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_I740 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_ATY128_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_S3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_S3_DDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_SAVAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_SAVAGE_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_SAVAGE_ACCEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_SIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_SIS_300 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_SIS_315 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_KYRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_3DFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_3DFX_ACCEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_3DFX_I2C policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_VOODOO1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_VT8623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_TRIDENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_ARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_PM3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_CARMINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_FB_SMSCUFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_UDL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_IBM_GXT4500 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FB_XILINX policy<{'arm64': 'm'}> +CONFIG_FB_DA8XX policy<{'armhf-generic': 'm'}> +CONFIG_FB_VIRTUAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XEN_FBDEV_FRONTEND policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_FB_METRONOME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_MB862XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FB_MB862XX_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_MX3 policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_FB_HYPERV policy<{'amd64': 'm'}> +CONFIG_FB_SIMPLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FB_SSD1307 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_SM712 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_ATY_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_ATY_GENERIC_LCD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_ATY_GX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_ATY_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_RADEON_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_RADEON_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_RADEON_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_CARMINE_DRAM_CUSTOM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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', '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'}> +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', 's390x': 'n'}> +CONFIG_FB_MATROX_MILLENIUM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_MATROX_MYSTIQUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_MATROX_G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_MATROX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_MATROX_MAVEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_DSI_CM 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', 's390x': 'n'}> +CONFIG_FB_NVIDIA_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_NVIDIA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_NVIDIA_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_FB_RIVA_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FB_RIVA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FB_RIVA_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Greybus support +CONFIG_GREYBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', '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', 's390x': 'y'}> +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-lowlatency': 'm'}> +CONFIG_CEC_SAMSUNG_S5P policy<{'armhf': 'm'}> +CONFIG_CEC_TEGRA policy<{'armhf-generic': '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'}> +CONFIG_USB_RAINSHADOW_CEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> HID support + +# Menu: Device Drivers >> HID support >> HID bus support +CONFIG_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HID_BATTERY_STRENGTH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HIDRAW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UHID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers +CONFIG_HID_A4TECH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ACCUTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ACRUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ACRUX_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_APPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_APPLEIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_AUREAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_BELKIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_BETOP_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_BIGBEN_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CHERRY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CHICONY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CORSAIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_COUGAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MACALLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PRODIKEYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CMEDIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CP2112 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CREATIVE_SB0540 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_CYPRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_DRAGONRISE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRAGONRISE_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_EMS_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ELAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ELECOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ELO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_EZKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GEMBIRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GFRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GLORIOUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_HOLTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HOLTEK_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_GOOGLE_HAMMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_HID_GT683R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_KEYTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_KYE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_UCLOGIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_WALTOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_VIEWSONIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GYRATION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ICADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_JABRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_TWINHAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_KENSINGTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_LCPOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_LENOVO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MAGICMOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MALTRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MAYFLASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_REDRAGON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MICROSOFT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MONTEREY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MULTITOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_NTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_NTRIG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ORTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PANTHERLORD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PANTHERLORD_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_PENMOUNT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PETALYNX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PLANTRONICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PRIMAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_RETRODE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ROCCAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SAITEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SAMSUNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SONY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SONY_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_SPEEDLINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_STEAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_STEELSERIES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SUNPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_RMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_GREENASIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREENASIA_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_HYPERV_MOUSE policy<{'amd64': 'm'}> +CONFIG_HID_SMARTJOYPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SMARTJOYPLUS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_TIVO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_TOPSEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_THINGM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_THRUSTMASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_THRUSTMASTER_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_UDRAW_PS3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_U2FZERO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_WACOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_WIIMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_XINMO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ZEROPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZEROPLUS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_ZYDACRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_HUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_CUSTOM_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_ALPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_MCP2221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_HID_LOGITECH_DJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_LOGITECH_HIDPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LOGITECH_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LOGIRUMBLEPAD2_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LOGIG940_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LOGIWHEELS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_HID_PICOLCD_FB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_PICOLCD_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_PICOLCD_LCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_PICOLCD_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HID_PICOLCD_CIR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> HID support >> I2C HID support +CONFIG_I2C_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# 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 >> USB HID support +CONFIG_USB_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_PID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_HIDDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_MOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> HSI support +CONFIG_HSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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', 's390x': 'm'}> +CONFIG_INTEL_TH_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_INTEL_TH_STH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_MSU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_PTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> HW tracing support >> System Trace Module devices +CONFIG_STM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_PROTO_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_PROTO_SYS_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_CONSOLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_HEARTBEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_FTRACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support +CONFIG_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_HWMON_DEBUG_CHIP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SENSORS_ABITUGURU policy<{'amd64': 'm'}> +CONFIG_SENSORS_ABITUGURU3 policy<{'amd64': 'm'}> +CONFIG_SENSORS_AD7314 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_AD7414 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_AD7418 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1025 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1026 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1029 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1177 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM9240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7410 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7411 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7462 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7470 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADT7475 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_AS370 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ASC7621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_AXI_FAN_CONTROL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_K8TEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_K10TEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_FAM15H_POWER policy<{'amd64': 'm'}> +CONFIG_SENSORS_AMD_ENERGY 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'}> +CONFIG_SENSORS_ATXP1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DRIVETEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DS620 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DS1621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DELL_SMM policy<{'amd64': 'm'}> +CONFIG_SENSORS_DA9052_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_I5K_AMB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_F71805F policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_F71882FG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_F75375S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_GSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MC13783_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_FSCHMD policy<{'amd64': 'm'}> +CONFIG_SENSORS_FTSTEUTATES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_GL518SM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_GL520SM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_G760A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_G762 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_GPIO_FAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_HIH6130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IBMAEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IBMPEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IBMPOWERNV policy<{'ppc64el': 'm'}> +CONFIG_SENSORS_IIO_HWMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_I5500 policy<{'amd64': 'm'}> +CONFIG_SENSORS_CORETEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_IT87 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_JC42 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_POWR1220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LINEAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2945 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2947_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2947_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2990 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4151 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4215 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4222 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4245 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4260 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC4261 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX1111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX16065 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX1619 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX1668 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX197 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX31722 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX31730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX6621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX6639 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX6642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX6650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX6697 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX31790 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MCP3021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MLXREG_FAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_TC654 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MENF21BMC_HWMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADCXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM63 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM70 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM73 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM75 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM77 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM78 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM80 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM83 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM85 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM87 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM90 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM92 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM95234 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM95241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM95245 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_PC87360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_PC87427 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_NTC_THERMISTOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_NCT6683 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_NCT6775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_NCT7802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_NCT7904 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_NPCM7XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SENSORS_PWM_FAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_RASPBERRYPI_HWMON policy<{'arm64': 'm'}> +CONFIG_SENSORS_SHT15 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SHT21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SHT3x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SHTC1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SIS5595 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_DME1737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_EMC1403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_EMC2103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_EMC6W201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SMSC47M1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_SMSC47M192 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SMSC47B397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_SCH5627 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_SCH5636 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_STTS751 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_SMM665 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADC128D818 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADS7828 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADS7871 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_AMC6821 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_INA209 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_INA2XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_INA3221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TC74 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_THMC50 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP108 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TMP513 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_SENSORS_VT1211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_VT8231 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83773G policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83781D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83791D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83792D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83793 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83795 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83795_FANCTRL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SENSORS_W83L785TS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83L786NG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_W83627HF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_W83627EHF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_XGENE policy<{'amd64': 'm', 'arm64': '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'}> +CONFIG_SENSORS_PMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ADM1275 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_BEL_PFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IBM_CFFPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_INSPUR_IPSPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IR35221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IR38064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_IRPS5401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ISL68137 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM25066 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2978 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LTC2978_REGULATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SENSORS_LTC3815 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX16064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX16601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX20730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX20751 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX31785 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX34440 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_MAX8688 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_PXE1610 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TPS40422 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TPS53679 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_UCD9000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_UCD9200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_XDPE122 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ZL6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Hardware Spinlock drivers +CONFIG_HWSPINLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> + +# Menu: Device Drivers >> I2C support + +# Menu: Device Drivers >> I2C support >> I2C support +CONFIG_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_ACPI_I2C_OPREGION policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_I2C_COMPAT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_I2C_CHARDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_I2C_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_I2C_HELPER_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_I2C_SMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_I2C_SLAVE policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_I2C_SLAVE_EEPROM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_DEBUG_CORE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_I2C_DEBUG_ALGO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_I2C_DEBUG_BUS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_I2C_CHARDEV note + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Algorithms +CONFIG_I2C_ALGOBIT policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_I2C_ALGOPCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Hardware Bus support +CONFIG_I2C_ALI1535 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_ALI1563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_ALI15X3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_AMD756 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_AMD756_S4882 policy<{'amd64': 'm'}> +CONFIG_I2C_AMD8111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_I2C_ISCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_ISMT policy<{'amd64': 'm'}> +CONFIG_I2C_PIIX4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_CHT_WC policy<{'amd64': 'm'}> +CONFIG_I2C_NFORCE2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_NFORCE2_S4985 policy<{'amd64': 'm'}> +CONFIG_I2C_NVIDIA_GPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS5595 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS630 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS96X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_VIAPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_SCMI policy<{'amd64': 'm', 'arm64': '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', 's390x': 'n'}> +CONFIG_I2C_DESIGNWARE_SLAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_I2C_DESIGNWARE_PLATFORM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_I2C_DESIGNWARE_BAYTRAIL policy<{'amd64': 'y'}> +CONFIG_I2C_DESIGNWARE_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_EMEV2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'm', 'ppc64el': 'n'}> +CONFIG_I2C_EXYNOS5 policy<{'armhf': 'm'}> +CONFIG_I2C_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_GPIO_FAULT_INJECTOR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_I2C_IMX policy<{'arm64': 'm', 'armhf-generic': 'y'}> +CONFIG_I2C_IMX_LPI2C policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_I2C_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', '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', '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'}> +CONFIG_I2C_S3C2410 policy<{'armhf': 'y'}> +CONFIG_I2C_SH_MOBILE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_SIMTEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_SPRD policy<{'arm64': 'y'}> +CONFIG_I2C_SYNQUACER policy<{'arm64': 'm'}> +CONFIG_I2C_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_I2C_TEGRA_BPMP policy<{'armhf-generic': 'm'}> +CONFIG_I2C_UNIPHIER policy<{'armhf': 'n'}> +CONFIG_I2C_UNIPHIER_F policy<{'armhf': 'n'}> +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', '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'}> +CONFIG_I2C_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_ROBOTFUZZ_OSIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_TAOS_EVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_TINY_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> Multiplexer I2C Chip support +CONFIG_I2C_ARB_GPIO_CHALLENGE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_MUX_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_GPMUX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_MUX_LTC4306 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PCA9541 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PCA954x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PINCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_MUX_REG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_I2C_DEMUX_PINCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_MUX_MLXCPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> I3C support +CONFIG_I3C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CDNS_I3C_MASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DW_I3C_MASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support +CONFIG_FIREWIRE_NOSY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support >> FireWire driver stack +CONFIG_FIREWIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_FIREWIRE_OHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FIREWIRE_SBP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FIREWIRE_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> IOMMU Hardware Support +CONFIG_IOMMU_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IOMMU_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IOMMU_DEFAULT_PASSTHROUGH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_TEGRA_IOMMU_GART policy<{'armhf-generic': 'y'}> +CONFIG_TEGRA_IOMMU_SMMU policy<{'armhf-generic': 'y'}> +CONFIG_EXYNOS_IOMMU policy<{'armhf': 'y'}> +CONFIG_EXYNOS_IOMMU_DEBUG policy<{'armhf': 'n'}> +CONFIG_IPMMU_VMSA policy<{'arm64': 'n', 'armhf': 'y'}> +CONFIG_SPAPR_TCE_IOMMU policy<{'ppc64el': 'y'}> +CONFIG_ARM_SMMU policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS policy<{'arm64': 'n'}> +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT policy<{'arm64': 'n'}> +CONFIG_ARM_SMMU_V3 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<{'arm64': 'y'}> +# +CONFIG_IPMMU_VMSA note +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT mark note +CONFIG_IOMMU_DEBUGFS mark 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 >> 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'}> +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-generic': 'm'}> +CONFIG_QCOM_IRQ_COMBINER policy<{'arm64': 'y'}> +CONFIG_IRQ_UNIPHIER_AIDET policy<{'armhf': 'y'}> +CONFIG_MESON_IRQ_GPIO policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_PDC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IMX_IRQSTEER policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_EXYNOS_IRQ_COMBINER policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> ISDN support +CONFIG_ISDN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> ISDN support >> Modular ISDN driver +CONFIG_MISDN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_DSP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_L1OIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_HFCPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_HFCMULTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_HFCUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_AVMFRITZ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_SPEEDFAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_INFINEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_W6692 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MISDN_NETJET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support +CONFIG_IIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_IIO_CONFIGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_TRIGGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IIO_CONSUMERS_PER_TRIGGER policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2'}> +CONFIG_IIO_SW_DEVICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_SW_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ADIS16209 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADXL372_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADXL372_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMA220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMA400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMC150_ACCEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DMARD06 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DMARD09 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DMARD10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_ACCEL_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_KXSD9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KXSD9_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KXSD9_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KXCJK1013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MC3230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA7455_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA7455_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA7660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA8452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA9551 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMA9553 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MXC4005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MXC6255 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCA3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_STK8312 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_STK8BA50 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Amplifiers +CONFIG_AD8366 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HMC425 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog Front Ends +CONFIG_IIO_RESCALE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog to digital converters +CONFIG_AD7091R5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7124 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7192 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7266 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7291 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7292 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7298 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7476 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7606_IFACE_PARALLEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7606_IFACE_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7766 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7768_1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7791 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7793 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7887 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7923 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7949 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD799X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD9467 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADI_AXI_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ASPEED_ADC policy<{'armhf': 'm'}> +CONFIG_AXP20X_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AXP288_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_CPCAP_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA9150_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DLN2_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ENVELOPE_DETECTOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EXYNOS_ADC policy<{'armhf': 'm'}> +CONFIG_HI8435 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HX711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INA2XX_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INTEL_MRFLD_ADC policy<{'amd64': 'm'}> +CONFIG_IMX7D_ADC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_LP8788_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2471 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2485 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2496 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2497 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX1027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX11100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX1118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX1241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX1363 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX9611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP320X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP3422 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP3911 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIATEK_MT6577_AUXADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MEN_Z188_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MESON_SARADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MP2629_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NAU7802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NPCM_ADC policy<{'armhf': 'm'}> +CONFIG_PALMAS_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCOM_PM8XXX_XOADC policy<{'armhf': 'm'}> +CONFIG_QCOM_SPMI_IADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCOM_SPMI_VADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCOM_SPMI_ADC5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RCAR_GYRO_ADC policy<{'armhf': 'm'}> +CONFIG_RN5T618_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ROCKCHIP_SARADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC27XX_ADC policy<{'arm64': 'm'}> +CONFIG_SD_ADC_MODULATOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_STMPE_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_STX104 policy<{'amd64': 'm'}> +CONFIG_SUN4I_GPADC policy<{'arm64': 'n'}> +CONFIG_TI_ADC081C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC0832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC084S021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC12138 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC108S102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC128S052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADC161S626 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADS1015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADS7950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADS8344 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADS8688 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_ADS124S08 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_AM335X_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_TLC4541 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TWL4030_MADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TWL6030_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VF610_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIPERBOARD_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_XILINX_XADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Chemical Sensors +CONFIG_ATLAS_PH_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATLAS_EZO_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BME680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CCS811 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IAQCORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PMS7003 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSIRION_SGP30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPS30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VZ89X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital gyroscope sensors +CONFIG_ADIS16080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16136 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16260 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADXRS450 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMG160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FXAS21002C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_GYRO_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MPU3050_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_ST_GYRO_3AXIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ITG3200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiometers +CONFIG_AD5272 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DS1803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX5432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX5481 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX5487 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP4018 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP4131 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP4531 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP41010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TPL0102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiostats +CONFIG_LMP91000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital to analog converters +CONFIG_AD5064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5380 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5446 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5449 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5592R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5593R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5504 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5624R_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5686_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5696_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5755 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5758 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5764 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5770R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD5791 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD8801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CIO_DAC policy<{'amd64': 'm'}> +CONFIG_DPOT_DAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DS4424 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC1660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_M62332 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX517 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX5821 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP4725 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCP4922 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_DAC082S085 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_DAC5571 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_DAC7311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_DAC7612 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VF610_DAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_IIO_BUFFER_CB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_BUFFER_HW_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_KFIFO_BUF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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'}> +CONFIG_ADF4371 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_AFE4404 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX30100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX30102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_HID_SENSOR_IIO_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Humidity sensors +CONFIG_AM2315 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DHT11 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDC100X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_HUMIDITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HTS221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HTU21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SI7005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SI7020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> IIO dummy driver +CONFIG_IIO_SIMPLE_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_SIMPLE_DUMMY_EVENTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_IIO_SIMPLE_DUMMY_BUFFER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +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'}> +CONFIG_HID_SENSOR_DEVICE_ROTATION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Inertial measurement units +CONFIG_ADIS16400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16460 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16475 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADIS16480 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMI160_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMI160_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FXOS8700_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FXOS8700_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KMX61 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INV_MPU6050_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INV_MPU6050_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_ST_LSM6DSX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ADUX1020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AL3010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AL3320A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_APDS9300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_APDS9960 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BH1750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BH1780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CM32181 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CM3232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CM3323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CM3605 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CM36651 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_GP2AP020A00F policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IQS621_ALS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ISL29018 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_ISL29028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ISL29125 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_ALS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_PROX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JSA1212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RPR0521 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTR501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LV0104CS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX44000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX44009 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NOA1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_OPT3001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PA12203001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SI1133 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SI1145 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_STK3310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ST_UVIS25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TCS3414 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TCS3472 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_TSL2563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TSL2583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TSL2772 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TSL4531 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_US5182D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VCNL4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VCNL4035 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VEML6030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VEML6070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VL6180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZOPT2201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Lightning sensors +CONFIG_AS3935 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# Menu: Device Drivers >> Industrial I/O support >> Magnetometer sensors +CONFIG_AK8974 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AK8975 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AK09911 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMC150_MAGN_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMC150_MAGN_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAG3110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_MAGNETOMETER_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC35240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_ST_MAGN_3AXIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_HMC5843_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_HMC5843_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_RM3100_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_RM3100_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Multiplexers +CONFIG_IIO_MUX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Pressure sensors +CONFIG_ABP060MG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BMP280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_CROS_EC_BARO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_DLHL60D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DPS310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_PRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HP03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ICP10100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MPL115_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MPL115_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MPL3115 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MS5611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MS5611_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MS5611_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MS5637 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_ST_PRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_T5403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HP206C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZPA2326 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Proximity and distance sensors +CONFIG_ISL29501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIDAR_LITE_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MB1232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RFD77402 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SRF04 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SX9310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SX9500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SRF08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VCNL3020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VL53L0X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Resolver to digital converters +CONFIG_AD2S1200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD2S90 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_IIO_SSP_SENSORHUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Temperature sensors +CONFIG_IQS620AT_TEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTC2983 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAXIM_THERMOCOUPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HID_SENSOR_TEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MLX90614 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MLX90632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TMP006 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TMP007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TSYS01 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TSYS02D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX31856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Triggers - standalone +CONFIG_IIO_HRTIMER_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_INTERRUPT_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_TIGHTLOOP_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IIO_SYSFS_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> IndustryPack bus support +CONFIG_IPACK_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BOARD_TPCI200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_IPOCTAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> InfiniBand support +CONFIG_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_USER_MAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ON_DEMAND_PAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_IPOIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_IPOIB_CM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_IPOIB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_INFINIBAND_MTHCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_MTHCA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_INFINIBAND_I40IW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MLX4_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLX5_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_OCRDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INFINIBAND_VMWARE_PVRDMA policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm'}> +CONFIG_INFINIBAND_USNIC policy<{'amd64': 'm'}> +CONFIG_INFINIBAND_HNS policy<{'arm64': 'm'}> +CONFIG_INFINIBAND_HNS_HIP06 policy<{'arm64': 'y'}> +CONFIG_INFINIBAND_HNS_HIP08 policy<{'arm64': 'y'}> +CONFIG_INFINIBAND_BNXT_RE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'n'}> +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'}> +CONFIG_INFINIBAND_RDMAVT policy<{'amd64': 'm'}> +CONFIG_RDMA_RXE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RDMA_SIW policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> InfiniBand support >> RDMA/CM +CONFIG_INFINIBAND_ADDR_TRANS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_CXGB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INFINIBAND_SRP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_SRPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ISER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ISERT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_RTRS_CLIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_RTRS_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_INPUT_LEDS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_FF_MEMLESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INPUT_POLLDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INPUT_SPARSEKMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INPUT_MATRIXKMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INPUT_JOYDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INPUT_EVBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_JOYSTICK_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_A3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_ADI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_COBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_GF2K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_GRIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_GRIP_MP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_GUILLEMOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_INTERACT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_SIDEWINDER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_TMDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_IFORCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_IFORCE_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_IFORCE_232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_WARRIOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_MAGELLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_SPACEORB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_SPACEBALL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_STINGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_TWIDJOY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_ZHENHUA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_DB9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_GAMECON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_TURBOGRAFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_AS5011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_JOYDUMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_XPAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_XPAD_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JOYSTICK_XPAD_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JOYSTICK_WALKERA0701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JOYSTICK_PXRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JOYSTICK_FSIA6B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', 's390x': 'n'}> +CONFIG_KEYBOARD_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_ADP5588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_ADP5589 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_APPLESPI policy<{'amd64': 'm'}> +CONFIG_KEYBOARD_ATKBD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KEYBOARD_QT1050 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_QT1070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_QT2160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_DLINK_DIR685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_LKKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_GPIO_POLLED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TCA6416 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TCA8418 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_MATRIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_LM8323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_LM8333 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_MAX7359 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_MCS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_MPR121 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_SNVS_PWRKEY policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_KEYBOARD_IMX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_KEYBOARD_IMX_SC_KEY policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_KEYBOARD_NEWTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_KEYBOARD_OPENCORES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_PMIC8XXX policy<{'armhf': 'm'}> +CONFIG_KEYBOARD_SAMSUNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_STOWAWAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_SUNKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_STMPE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_SUN4I_LRADC policy<{'arm64': 'n'}> +CONFIG_KEYBOARD_IQS62X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_OMAP4 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TC3589X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TM2_TOUCHKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_XTKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_CAP11XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_BCM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KEYBOARD_MTK_PMIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MOUSE_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_APPLETOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_BCM5974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_CYAPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_ELAN_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_ELAN_I2C_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_ELAN_I2C_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_VSXXXAA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_SYNAPTICS_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOUSE_SYNAPTICS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_MOUSE_PS2_ALPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_BYD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_LOGIPS2PP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_CYPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_LIFEBOOK policy<{'amd64': 'y'}> +CONFIG_MOUSE_PS2_TRACKPOINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_SENTELIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_TOUCHKIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MOUSE_PS2_FOCALTECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_INPUT_88PM860X_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_88PM80X_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_AD714X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_AD714X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_AD714X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ARIZONA_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ATMEL_CAPTOUCH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_BMA150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_E3X0_BUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_INPUT_MAX77693_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_MAX8925_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_MAX8997_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_MC13783_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_MMA8450 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_APANEL policy<{'amd64': 'm'}> +CONFIG_INPUT_GPIO_BEEPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_GPIO_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_GPIO_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_CPCAP_PWRBUTTON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ATLAS_BTNS policy<{'amd64': 'm'}> +CONFIG_INPUT_ATI_REMOTE2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_KEYSPAN_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_KXTJ9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_POWERMATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_YEALINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_CM109 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_REGULATOR_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_RETU_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_TPS65218_PWRBUTTON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_AXP20X_PEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_TWL4030_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_TWL4030_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_TWL6040_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_UINPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_INPUT_PALMAS_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PCF50633_PMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PCF8574 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PWM_BEEPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PWM_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_RK805_PWRKEY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_GPIO_ROTARY_ENCODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_DA9052_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_DA9055_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_DA9063_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_WM831X_ON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ADXL34X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ADXL34X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_ADXL34X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_IMS_PCU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_IQS269A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_CMA3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_CMA3000_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_XEN_KBDDEV_FRONTEND policy<{'amd64': 'm', 'arm64': 'm'}> +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'}> +CONFIG_INPUT_DRV2665_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_DRV2667_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_HISI_POWERKEY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INPUT_RAVE_SP_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_SC27XX_VIBRA policy<{'arm64': 'm'}> +CONFIG_INPUT_STPMIC1_ONKEY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_INPUT_MOUSEDEV_PSAUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_X policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '1024'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_Y policy<{'amd64': '768', 'arm64': '768', 'armhf': '768', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_RMI4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RMI4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RMI4_SMB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RMI4_F03 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F11 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F12 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F30 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F34 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F54 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RMI4_F55 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# 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', 's390x': 'n'}> +CONFIG_TABLET_USB_ACECAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_USB_AIPTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_USB_GTCO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_USB_HANWANG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_USB_KBTAB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_USB_PEGASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TABLET_SERIAL_WACOM4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', 's390x': 'n'}> +CONFIG_TOUCHSCREEN_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ADS7846 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_AD7877 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_AD7879 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_AR1021_I2C policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_AUO_PIXCIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_BU21013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_BU21029 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMA140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMG110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_DA9034 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_DYNAPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_HAMPSHIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EETI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EXC3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_FUJITSU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_GOODIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_HIDEEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ILI210X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_IPROC policy<{'arm64': 'm'}> +CONFIG_TOUCHSCREEN_S6SY761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_GUNZE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EKTF2127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ELAN policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ELO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_W8001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MAX11801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MCS5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MMS114 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MELFAS_MIP4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_IMX6UL_TSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_INEXIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MK712 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_PENMOUNT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_EDT_FT5X06 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_RASPBERRYPI_FW policy<{'arm64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHRIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHWIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TI_AM335X_TSC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_UCB1400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_PIXCIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_WDT87XX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHIT213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TS4800 policy<{'armhf-generic': 'm'}> +CONFIG_TOUCHSCREEN_TSC_SERIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TSC2004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TSC2005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007_IIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_RM_TS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_SILEAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_SIS_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ST1232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_STMFTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_STMPE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_SUN4I policy<{'arm64': 'n'}> +CONFIG_TOUCHSCREEN_SUR40 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_SURFACE3_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_SX8654 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ZET6223 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ZFORCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_COLIBRI_VF50 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_ROHM_BU21023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TOUCHSCREEN_IQS5XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_TOUCHSCREEN_WM9705 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_WM9712 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_WM9713 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_TOUCHSCREEN_USB_EGALAX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_PANJIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_3M policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_ITM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETURBO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_GUNZE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_DMC_TSC10 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_IRTOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_IDEALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_GOTOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_JASTEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_ELO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_E2I policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_ZYTRONIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_NEXIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TOUCHSCREEN_USB_EASYTOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_GAMEPORT_NS558 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GAMEPORT_L4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GAMEPORT_EMU10K1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GAMEPORT_FM801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', 's390x': 'n'}> +CONFIG_SERIO_I8042 policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_SERIO_SERPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_CT82C710 policy<{'amd64': 'm'}> +CONFIG_SERIO_PARKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_AMBAKMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIO_PCIPS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_LIBPS2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SERIO_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_XILINX_XPS_PS2 policy<{'ppc64el': 'm'}> +CONFIG_SERIO_ALTERA_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_PS2MULT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_ARC_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIO_APBPS2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HYPERV_KEYBOARD policy<{'amd64': 'm'}> +CONFIG_SERIO_SUN4I_PS2 policy<{'arm64': 'n'}> +CONFIG_SERIO_GPIO_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USERIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> LED Support +CONFIG_NEW_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_LEDS_LP55XX_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support +CONFIG_LEDS_CLASS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_AN30259A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_APU policy<{'amd64': 'm'}> +CONFIG_LEDS_AW2013 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_BCM6328 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_BCM6358 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_CR0014114 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_EL15203000 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3530 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3692X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MT6323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_PCA9532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_PCA9532_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP3944 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP3952 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP5521 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP5523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP5562 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP8501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LP8860 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_CLEVO_MAIL policy<{'amd64': 'm'}> +CONFIG_LEDS_PCA955X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_PCA955X_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_PCA963X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_WM831X_STATUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_DAC124S085 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_REGULATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_BD2802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_INTEL_SS4200 policy<{'amd64': 'm'}> +CONFIG_LEDS_LT3593 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_LEDS_TLC591XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM355x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MENF21BMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_IS31FL319X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_IS31FL32XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_SC27XX_BLTC policy<{'arm64': 'm'}> +CONFIG_LEDS_BLINKM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_LEDS_SYSCON policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_LEDS_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_NIC78BX policy<{'amd64': 'm'}> +CONFIG_LEDS_SPI_BYTE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TI_LMU_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3697 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM36274 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_LEDS_AAT1290 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_AS3645A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_LM3601X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_MAX77693 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_KTD2692 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_SGM3140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Trigger support +CONFIG_LEDS_TRIGGERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_TRIGGER_TIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_ONESHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_DISK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_TRIGGER_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_TRIGGER_HEARTBEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_BACKLIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_CPU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_TRIGGER_ACTIVITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_DEFAULT_ON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_TRANSIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_CAMERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_PANIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LEDS_TRIGGER_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_PATTERN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LEDS_TRIGGER_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> MCB support +CONFIG_MCB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MCB_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MCB_LPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_PWRSEQ_EMMC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PWRSEQ_SD8787 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PWRSEQ_SIMPLE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_BLOCK policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MMC_BLOCK_MINORS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_SDIO_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MMC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +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'}> +CONFIG_MMC_MXC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_MMC_TIFM_SD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_MVSDIO policy<{'armhf': 'm'}> +CONFIG_MMC_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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': 'm'}> +CONFIG_MMC_CB710 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_VIA_SDMMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_MMC_USHC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_USDHI6ROL0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_REALTEK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_REALTEK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SUNXI policy<{'arm64': 'm'}> +CONFIG_MMC_CQHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_HSQ policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MMC_TOSHIBA_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_BCM2835 policy<{'arm64': 'm'}> +CONFIG_MMC_MTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_RICOH_MMC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MMC_SDHCI_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_MMC_SDHCI_S3C policy<{'armhf': 'm'}> +CONFIG_MMC_SDHCI_S3C_DMA policy<{'armhf': 'y'}> +# +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'}> +CONFIG_MMC_SDHCI_OF_ARASAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_ASPEED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_AT91 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_ESDHC policy<{'arm64': 'm', 'armhf-generic': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_HLWD policy<{'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_DWCMSHC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_ESDHC_IMX policy<{'arm64': 'm', 'armhf-generic': 'y'}> +CONFIG_MMC_SDHCI_DOVE policy<{'armhf': 'm'}> +CONFIG_MMC_SDHCI_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_MMC_SDHCI_PXAV3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHCI_F_SDH30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_MILBEAUT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MMC_SDHCI_OMAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_AM654 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MMC_DW_PLTFM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_BLUEFIELD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_EXYNOS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_HI3798CV200 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_K3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_PCI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_DW_ROCKCHIP policy<{'arm64': 'm', 'armhf': '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', 's390x': 'n'}> +CONFIG_ARM_MHU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_MBOX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_PLATFORM_MHU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +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'}> +CONFIG_QCOM_APCS_IPC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TEGRA_HSP_MBOX policy<{'armhf-generic': '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'}> +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', 's390x': 'n'}> +CONFIG_ARM_PL172_MPMC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TI_EMIF policy<{'armhf': 'm'}> +CONFIG_OMAP_GPMC_DEBUG policy<{'armhf': 'n'}> +CONFIG_TI_EMIF_SRAM policy<{'armhf-generic': 'm'}> +CONFIG_MVEBU_DEVBUS policy<{'armhf': 'y'}> +CONFIG_PL353_SMC policy<{'armhf': 'm'}> +CONFIG_SAMSUNG_MC policy<{'armhf': 'y'}> +CONFIG_EXYNOS5422_DMC policy<{'armhf': 'm'}> +CONFIG_EXYNOS_SROM policy<{'armhf': 'y'}> +CONFIG_TEGRA_MC policy<{'armhf-generic': 'y'}> +CONFIG_TEGRA20_EMC policy<{'armhf-generic': 'y'}> +CONFIG_TEGRA30_EMC policy<{'armhf-generic': 'y'}> +CONFIG_TEGRA124_EMC policy<{'armhf-generic': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support +CONFIG_MTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MTD_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MTD_BLOCK_RO policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFTL_RW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_INFTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RFD_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SSFDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SM_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_OOPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_PSTORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_SWAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_PARTITIONED_MASTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_SPI_NAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_MTD_UBI_WL_THRESHOLD policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096'}> +CONFIG_MTD_UBI_BEB_LIMIT policy<{'amd64': '20', 'arm64': '20', 'armhf': '20', 'ppc64el': '20'}> +CONFIG_MTD_UBI_FASTMAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_UBI_GLUEBI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_UBI_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> HyperBus support +CONFIG_MTD_HYPERBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MTD_QINFO_PROBE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MTD_PLATRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MTD_PHYSMAP_GPIO_ADDR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_MTD_PHYSMAP_VERSATILE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n'}> +CONFIG_MTD_PHYSMAP_GEMINI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Maximum mappable memory available for flash IO + +# 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'}> +CONFIG_MTD_SBC_GXX policy<{'amd64': 'm'}> +CONFIG_MTD_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_PCMCIA policy<{'amd64': 'm'}> +CONFIG_MTD_PCMCIA_ANONYMOUS policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> OneNAND Device Support +CONFIG_MTD_ONENAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_ONENAND_VERIFY_WRITE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_ONENAND_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_ONENAND_OMAP2 policy<{'armhf-generic': 'm'}> +CONFIG_MTD_ONENAND_OTP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_ONENAND_2X_PROGRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +# +CONFIG_MTD_ONENAND_VERIFY_WRITE note +CONFIG_MTD_ONENAND_OTP flag + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Partition parsers +CONFIG_MTD_CMDLINE_PARTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MTD_OF_PARTS policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MTD_AR7_PARTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_AFS_PARTS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_SHARPSL_PARTS policy<{'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'}> +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK policy<{'amd64': '-1', 'arm64': '-1', 'armhf': '-1', 'ppc64el': '-1'}> +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_REDBOOT_PARTS_READONLY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_MTD_JEDECPROBE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_CFI_INTELEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_CFI_AMDSTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_CFI_STAA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_ROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_ABSENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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'}> +CONFIG_MTD_MAP_BANK_WIDTH_2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_CFI_I1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_CFI_I2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support +CONFIG_MTD_RAW_NAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_ECC_SW_BCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_NAND_DENALI_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_DENALI_DT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_OMAP2 policy<{'armhf': 'y'}> +CONFIG_MTD_NAND_OMAP_BCH policy<{'armhf': 'y'}> +CONFIG_MTD_NAND_CAFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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-generic': 'm'}> +CONFIG_MTD_NAND_FSL_IFC policy<{'arm64': 'm'}> +CONFIG_MTD_NAND_VF610_NFC policy<{'armhf-generic': 'n'}> +CONFIG_MTD_NAND_MXC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_MTD_NAND_SUNXI policy<{'arm64': 'n'}> +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'}> +CONFIG_MTD_NAND_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_MTD_NAND_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_ARASAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_NANDSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_RICOH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_DISKONCHIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_MTD_RAW_NAND note +CONFIG_MTD_NAND_OMAP2 note +CONFIG_MTD_NAND_OMAP_BCH note +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support >> JZ4780 NAND controller + +# 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'}> +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SPI_ASPEED_SMC policy<{'armhf': 'm'}> +CONFIG_SPI_CADENCE_QUADSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_HISI_SFC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_INTEL_SPI_PCI policy<{'amd64': 'n'}> +CONFIG_SPI_INTEL_SPI_PLATFORM policy<{'amd64': 'n'}> +# +CONFIG_SPI_INTEL_SPI_PCI mark note +CONFIG_SPI_INTEL_SPI_PLATFORM mark note + +# 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'}> +CONFIG_MTD_PMC551_BUGFIX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_PMC551_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_DATAFLASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_DATAFLASH_WRITE_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MTD_DATAFLASH_OTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MTD_MCHP23K256 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_SST25L policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_BCM47XXSFLASH policy<{'armhf': 'm'}> +CONFIG_MTD_SLRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_PHRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_MTDRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTDRAM_TOTAL_SIZE policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096'}> +CONFIG_MTDRAM_ERASE_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128'}> +CONFIG_MTD_BLOCK2MTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MTD_POWERNV_FLASH policy<{'ppc64el': 'm'}> +CONFIG_MTD_DOCG3 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_MTD_DOCG3 mark note + +# Menu: Device Drivers >> Microsoft Hyper-V guest support +CONFIG_HYPERV policy<{'amd64': 'm'}> +CONFIG_HYPERV_UTILS policy<{'amd64': 'm'}> +CONFIG_HYPERV_BALLOON policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Misc devices +CONFIG_AD525X_DPOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_AD525X_DPOT_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD525X_DPOT_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DUMMY_IRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_TIFM_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TIFM_7XX1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ICS932S401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ENCLOSURE_SERVICES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SGI_XP policy<{'amd64': 'm'}> +CONFIG_HP_ILO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_ISL29003 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ISL29020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SENSORS_TSL2550 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SENSORS_BH1770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SENSORS_APDS990X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HMC6352 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DS1682 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_VMWARE_BALLOON policy<{'amd64': 'm'}> +CONFIG_LATTICE_ECP3_CONFIG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PCI_ENDPOINT_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XILINX_SDFEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PVPANIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CB710_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CB710_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SENSORS_LIS3_SPI policy<{'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SENSORS_LIS3_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ALTERA_STAPL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ECHO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CXL policy<{'ppc64el': 'm'}> +CONFIG_OCXL policy<{'ppc64el': 'm'}> +CONFIG_MISC_ALCOR_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MISC_RTSX_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MISC_RTSX_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HABANA_AI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UACCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +# +CONFIG_CS5535_MFGPT note + +# Menu: Device Drivers >> Misc devices >> EEPROM support +CONFIG_EEPROM_AT24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EEPROM_AT25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EEPROM_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EEPROM_MAX6875 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EEPROM_93CX6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EEPROM_93XX46 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_EEPROM_IDT_89HPESX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EEPROM_EE1004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Misc devices >> GenWQE PCIe Accelerator +CONFIG_GENWQE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY policy<{'amd64': '0', 'arm64': '0', 'ppc64el': '0', 's390x': '0'}> + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support +CONFIG_INTEL_MIC_BUS policy<{'amd64': 'm'}> +CONFIG_SCIF_BUS policy<{'amd64': 'm'}> +CONFIG_SCIF policy<{'amd64': 'm'}> +CONFIG_MIC_COSM policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support >> VOP Bus Driver +CONFIG_VOP_BUS policy<{'amd64': 'm', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_INTEL_MIC_HOST policy<{'amd64': 'm'}> +CONFIG_INTEL_MIC_CARD policy<{'amd64': 'm'}> +CONFIG_VOP policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> Silicon Labs C2 port support +CONFIG_C2PORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> + +# Menu: Device Drivers >> Multifunction device drivers +CONFIG_MFD_ALTERA_SYSMGR policy<{'arm64': 'y'}> +CONFIG_MFD_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_SUN4I_GPADC policy<{'arm64': 'm'}> +CONFIG_MFD_AS3711 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PMIC_ADP5520 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_AAT2870_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_ATMEL_FLEXCOM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_ATMEL_HLCDC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_BCM590XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_AC100 policy<{'arm64': 'n'}> +CONFIG_MFD_AXP20X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_AXP20X_RSB policy<{'arm64': 'm'}> +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'}> +CONFIG_MFD_DA9052_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_DA9052_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_DA9055 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_DA9062 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_DA9063 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MFD_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_EXYNOS_LPASS policy<{'armhf': 'm'}> +CONFIG_MFD_GATEWORKS_GSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_MC13XXX_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_MC13XXX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_MP2629 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_HI6421_PMIC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_HI655X_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HTC_PASIC3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HTC_I2CPLD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_INTEL_QUARK_I2C_GPIO policy<{'amd64': 'm'}> +CONFIG_LPC_ICH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_LPC_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_MSIC policy<{'amd64': 'y'}> +CONFIG_MFD_INTEL_PMC_BXT policy<{'amd64': 'm'}> +CONFIG_MFD_IQS62X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_JANZ_CMODIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM860X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX14577 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MFD_MAX77620 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_MAX77686 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX77693 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MFD_MAX77843 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_MAX8925 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX8997 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MAX8998 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_MT6360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_MENF21BMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EZX_PCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_RETU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PCF50633_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCF50633_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_UCB1400_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MFD_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_RC5T583 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_RN5T618 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_SEC_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_SI476X_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_SM501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_SM501_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_SMSC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_SC27XX_PMIC policy<{'arm64': 'm'}> +CONFIG_ABX500_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_AB3100_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_AB3100_OTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_SUN6I_PRCM policy<{'arm64': 'y'}> +CONFIG_MFD_SYSCON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MFD_TI_AM335X_TSCADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_LP8788 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_TI_LMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_OMAP_USB_HOST policy<{'armhf': 'y'}> +CONFIG_MFD_PALMAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TPS65010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_TPS65090 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_TPS65217 policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'n'}> +CONFIG_MFD_TPS68470 policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_MFD_TI_LP873X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_TI_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_TPS6586X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_TPS65910 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_TPS65912_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MFD_TPS65912_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_TPS80031 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TWL4030_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TWL4030_POWER policy<{'armhf': 'y'}> +CONFIG_MFD_TWL4030_AUDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_TWL6040_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WL1273_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_TC3589X policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MFD_VX855 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_LOCHNAGAR policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_ARIZONA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_ARIZONA_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_CS47L24 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM5102 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM5110 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM8997 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM8998 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM8400 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM831X_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM831X_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM8350_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_ROHM_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_ROHM_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_ROHM_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_STPMIC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_STMFX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_WCD934X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MFD_VEXPRESS_SYSREG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RAVE_SP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +# +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', 's390x': 'n'}> +CONFIG_MFD_MADERA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_MADERA_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MFD_CS47L15 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_CS47L35 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_CS47L85 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_CS47L90 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MFD_CS47L92 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_STMPE_SPI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support +CONFIG_MEDIA_SUPPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MEDIA_SUPPORT_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_SUBDRV_AUTOSELECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Digital TV options +CONFIG_DVB_MMAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_NET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DVB_MAX_ADAPTERS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_DVB_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DVB_DEMUX_SECTION_LOSS_LOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_ULE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +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'}> +CONFIG_VIDEO_IR_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_TDA7432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TDA9840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TDA1997X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TEA6415C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TEA6420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MSP3400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CS3308 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CS5345 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CS53L32A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TLV320AIC23B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_UDA1342 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_WM8775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_WM8739 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VP27SMPX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SONY_BTF_MPX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Camera sensor devices +CONFIG_VIDEO_HI556 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX214 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX219 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX258 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX274 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX290 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX319 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IMX355 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV2640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV2659 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV2680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV2685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV2740 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5640 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5645 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5647 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV6650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5670 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5675 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV5695 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV7251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV772X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV7640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV7670 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV7740 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV8856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV9640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV9650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV13858 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VS6624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9M001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9M032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9M111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9P031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9T001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9T112 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9V011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9V032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MT9V111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SR030PC30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_NOON010PC30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_M5MOLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_RJ54N1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_S5K6AA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_S5K6A3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_S5K4ECGX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_S5K5BAF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SMIAPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ET8EK8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_S5C73M3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customise DVB Frontends +CONFIG_DVB_STB0899 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STB6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV090x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV6110x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV6111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MXL5XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_M88DS3103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DRXK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA18271C2DD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SI2165 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MN88472 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MN88473 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX24110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX24123 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MT312 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ZL10036 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ZL10039 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_S5H1420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0288 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STB6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0299 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV6110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA8083 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA10086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA8261 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_VES1X93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TUNER_ITD1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TUNER_CX24113 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA826X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TUA6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX24116 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX24117 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX24120 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SI21XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TS2020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DS3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MB86A16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA10071 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SP8870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SP887X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX22700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CX22702 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_S5H1432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DRXD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_L64781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA1004X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_NXT6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MT352 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ZL10353 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB3000MB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB3000MC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB7000M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB7000P policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB9000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA10048 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_AF9013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_EC100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0367 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CXD2820R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CXD2841ER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_RTL2830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_RTL2832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_RTL2832_SDR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SI2168 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ZD1301_DEMOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CXD2880 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_VES1820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA10021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA10023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_STV0297 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_NXT200X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_OR51211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_OR51132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_BCM3510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LGDT330X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LGDT3305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LGDT3306A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LG2160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_S5H1409 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_AU8522_DTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_AU8522_V4L policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_S5H1411 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_S921 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DIB8000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MB86A20S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TC90522 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MN88443X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_PLL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TUNER_DIB0070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TUNER_DIB0090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DRX39XYJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LNBH25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LNBH29 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LNBP21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LNBP22 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ISL6405 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ISL6421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ISL6423 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_A8293 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LGS8GL5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_LGS8GXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ATBM8830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TDA665x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_IX2505V policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_M88RS2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_AF9033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_HORUS3A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_ASCOT2E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_HELENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_CXD2099 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_SP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_MEDIA_TUNER_TDA18250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA8290 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA827X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA18271 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA9887 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TEA5761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TEA5767 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MSI001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MT20XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MT2060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MT2063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MT2266 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MT2131 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_QT1010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_XC2028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_XC5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_XC4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MXL5005S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MXL5007T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MC44S803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MAX2165 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA18218 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_FC0011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_FC0012 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_FC0013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TDA18212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_E4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_FC2580 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_M88RS6000T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_TUA9001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_SI2157 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_IT913X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_R820T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_MXL301RF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1C0042 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1B0004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Flash devices +CONFIG_VIDEO_ADP1653 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_LM3560 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_LM3646 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Lens drivers +CONFIG_VIDEO_AD5820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_AK7375 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_DW9714 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_DW9807_VCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Miscellaneous helper chips +CONFIG_VIDEO_THS7303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_M52790 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ST_MIPID02 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> RDS decoders +CONFIG_VIDEO_SAA6588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SDR tuner chips +CONFIG_SDR_MAX2175 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SPI helper chips +CONFIG_VIDEO_GS1662 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video decoders +CONFIG_VIDEO_ADV7180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7183 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV748X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7604 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7604_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_ADV7842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7842_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_BT819 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_BT856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_BT866 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_KS0127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ML86V7667 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA7110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA711X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TC358743 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TC358743_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_TVP514X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TVP5150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TVP7002 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW2804 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW9903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW9906 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW9910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VPX3220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA717X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX25840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video encoders +CONFIG_VIDEO_SAA7127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA7185 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7170 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7175 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7343 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7393 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_ADV7511 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ADV7511_CEC policy<{'amd64': 'y'}> +CONFIG_VIDEO_AD9389B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_AK881X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_THS8200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video improvement chips +CONFIG_VIDEO_UPD64031A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_UPD64083 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media controller options +CONFIG_MEDIA_CONTROLLER_DVB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media core support +CONFIG_VIDEO_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_CONTROLLER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media device types +CONFIG_MEDIA_CAMERA_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_ANALOG_TV_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_DIGITAL_TV_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_RADIO_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_SDR_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_PLATFORM_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MEDIA_TEST_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers +CONFIG_SMS_SDIO_DRV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_FIREDTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SMS_SIANO_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SMS_SIANO_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> DVB platform devices +CONFIG_DVB_PLATFORM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DVB_C8SECTPFE policy<{'armhf': 'n'}> +# +CONFIG_DVB_C8SECTPFE flag + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters +CONFIG_VIDEO_PCI_SKELETON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MEDIA_PCI_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_MEYE policy<{'amd64': 'm'}> +CONFIG_VIDEO_SOLO6X10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW5864 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW68 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TW686X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_HEXIUM_GEMINI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_HEXIUM_ORION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MXB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_DT3155 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX18 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX18_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX23885 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEDIA_ALTERA_CI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX25821 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX25821_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_BT848 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_BT8XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA7164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_COBALT policy<{'amd64': 'm'}> +CONFIG_DVB_AV7110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_AV7110_OSD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_PLUTO2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DM1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_PT1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_PT3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MANTIS_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_MANTIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_HOPPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_NGENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DDBRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_DDBRIDGE_MSIENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_SMIPCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_NETUP_UNIDVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IPU3_CIO2 policy<{'amd64': 'm'}> + +# 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'}> +CONFIG_VIDEO_CX88_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX88_BLACKBIRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX88_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX88_ENABLE_VP3054 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant cx23416/cx23415 MPEG encoder/decoder support +CONFIG_VIDEO_IVTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_VIDEO_IVTV_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_FB_IVTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_FB_IVTV_FORCE_PAT policy<{'amd64': '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'}> +CONFIG_VIDEO_SAA7134_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA7134_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_SAA7134_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAA7134_GO7007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DVB_BUDGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_BUDGET_CI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_BUDGET_AV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_BUDGET_PATCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters +CONFIG_MEDIA_USB_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_VIDEO_CLASS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_PWC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_PWC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_PWC_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_CPIA2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_ZR364XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STKWEBCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_S2255 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_USBTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_PVRUSB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_PVRUSB2_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_PVRUSB2_DVB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_PVRUSB2_DEBUGIFC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_VIDEO_HDPVR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_STK1160_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_GO7007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_GO7007_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_GO7007_LOADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_GO7007_USB_S2250_BOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_AU0828 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_AU0828_V4L2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_AU0828_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_TM6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TM6000_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_TM6000_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TTUSB_BUDGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_TTUSB_DEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SMS_USB_DRV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_AS102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_AIRSPY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_HACKRF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MSI2500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_CX231XX_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_CX231XX_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CX231XX_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_EM28XX_V4L2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_EM28XX_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_EM28XX_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_EM28XX_RC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_M5602 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STV06XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GL860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_BENQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_CONEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_CPIA1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_DTCS033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_ETOMS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_FINEPIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_JEILINJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_JL2005BCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_KINECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_KONICA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_MARS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_MR97310A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_NW80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_OV519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_OV534 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_OV534_9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_PAC207 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_PAC7302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_PAC7311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SE401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SN9C2028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SN9C20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SONIXB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SONIXJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA505 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA506 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA508 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA561 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SPCA1528 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SQ905 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SQ905C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SQ930X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_STK014 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_STK1135 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_STV0680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_SUNPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_T613 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_TOPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_TOUPTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_TV8532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_VC032X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_VICAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_XIRLINK_CIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GSPCA_ZC3XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DVB_USB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_USB_A800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB_FAULTY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DVB_USB_DIBUSB_MC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DIB0700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_UMT_010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_CXUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_CXUSB_ANALOG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DVB_USB_M920X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DIGITV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_VP7045 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_VP702X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_GP8PSK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_NOVA_T_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_TTUSB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DTT200U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_OPERA1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AF9005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AF9005_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_PCTV452E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DW2102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_CINERGY_T2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DTV5100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AZ6027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_TECHNISAT_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DVB_USB_AF9015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AF9035 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_ANYSEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AU6610 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_AZ6007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_CE6230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_EC168 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_GL861 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_LME2510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_MXL111SF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_RTL28XXU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_DVBSKY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DVB_USB_ZD1301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_CODA policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_VIDEO_IMX_PXP policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_VIDEO_MEDIATEK_VPU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_MEM2MEM_DEINTERLACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_SAMSUNG_S5P_G2D policy<{'armhf': 'm'}> +CONFIG_VIDEO_SAMSUNG_S5P_JPEG policy<{'armhf': 'm'}> +CONFIG_VIDEO_SAMSUNG_S5P_MFC policy<{'armhf': 'm'}> +CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC policy<{'armhf': 'm'}> +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'}> +CONFIG_VIDEO_SUN8I_ROTATE policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters +CONFIG_RADIO_ADAPTERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RADIO_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_SI476X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MR800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_DSBR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_MAXIRADIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_SHARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_SHARK2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_KEENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_RAREMONO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MA901 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_TEA5764 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_SAA7706H policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_TEF6862 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_WL1273 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RADIO_WL128X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PLATFORM_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I2C_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> SDR platform devices +CONFIG_SDR_PLATFORM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_VIDEO_CAFE_CCIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VIA_CAMERA policy<{'amd64': 'm'}> +CONFIG_VIDEO_CADENCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_CADENCE_CSI2RX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_CADENCE_CSI2TX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OMAP2_VOUT policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_ASPEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_MUX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_XILINX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_XILINX_TPG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_XILINX_VTC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_SUN6I_CSI policy<{'arm64': 'm'}> +CONFIG_VIDEO_TI_CAL policy<{'arm64': 'm', 'armhf': 'm'}> + +# 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 test drivers +CONFIG_V4L_TEST_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_VIMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VIVID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VIVID_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_VIVID_MAX_DEVS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64'}> +CONFIG_VIDEO_VIM2M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_VICODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_VIDEO_FIXED_MINOR_RANGES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_VIDEO_V4L2_SUBDEV_API policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_V4L2_FLASH_LED_CLASS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) +CONFIG_MD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_BCACHE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BCACHE_CLOSURES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BCACHE_ASYNC_REGISTRAION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_DM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_DM_UNSTRIPED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_CRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_SNAPSHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_THIN_PROVISIONING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_CACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_CACHE_SMQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_WRITECACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_EBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_ERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_CLONE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_MIRROR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_LOG_USERSPACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_RAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_ZERO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_DELAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_DUST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DM_INIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DM_UEVENT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DM_FLAKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_VERITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DM_VERITY_FEC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DM_SWITCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_LOG_WRITES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_INTEGRITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_ZONED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_QL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_ST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_HST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_MD_AUTODETECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MD_LINEAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_RAID0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_RAID1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_RAID10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_RAID456 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_MULTIPATH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'y'}> +CONFIG_MD_FAULTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MD_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Multiplexer drivers +CONFIG_MUX_ADG792A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MUX_ADGS1408 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MUX_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MUX_MMIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> NVDIMM (Non-Volatile Memory Device) Support +CONFIG_LIBNVDIMM policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_BLK_DEV_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_ND_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_BTT policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': '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'}> + +# Menu: Device Drivers >> NVME Support +CONFIG_BLK_DEV_NVME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_MULTIPATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NVME_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NVME_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NVME_TARGET_LOOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_FCLOOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NVME_TARGET_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> NVMEM Support +CONFIG_NVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NVMEM_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NVMEM_IMX_IIM policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_NVMEM_IMX_OCOTP policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_NVMEM_IMX_OCOTP_SCU policy<{'arm64': 'm', 'armhf-generic': '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'}> +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'}> +CONFIG_UNIPHIER_EFUSE policy<{'armhf': 'm'}> +CONFIG_NVMEM_VF610_OCOTP policy<{'armhf-generic': '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-generic': 'm'}> +CONFIG_RAVE_SP_EEPROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SC27XX_EFUSE policy<{'arm64': 'm'}> +CONFIG_NVMEM_ZYNQMP policy<{'arm64': 'y'}> +CONFIG_SPRD_EFUSE policy<{'arm64': 'm'}> +# +CONFIG_NVMEM flag note + +# Menu: Device Drivers >> Network device support +CONFIG_NETDEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HIPPI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_QCOM_IPA policy<{'arm64': 'm'}> +CONFIG_NET_SB1000 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_MICREL_KS8995MA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_XEN_NETDEV_FRONTEND policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_NETDEV_BACKEND policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VMXNET3 policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 's390x': 'n'}> +CONFIG_FUJITSU_ES policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB4_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HYPERV_NET policy<{'amd64': 'm'}> +CONFIG_NETDEVSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_FAILOVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_HIPPI note +CONFIG_XEN_NETDEV_FRONTEND note + +# Menu: Device Drivers >> Network device support >> ARCnet support +CONFIG_ARCNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ARCNET_1201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_1051 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_CAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_COM90xx policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_COM90xxIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCNET_RIM_I policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ARCNET_COM20020_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ATM_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_LANAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_ENI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_ENI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_FIRESTREAM policy<{'amd64': 'm'}> +CONFIG_ATM_ZATM policy<{'amd64': 'm'}> +CONFIG_ATM_ZATM_DEBUG policy<{'amd64': 'n'}> +CONFIG_ATM_NICSTAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_NICSTAR_USE_SUNI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_NICSTAR_USE_IDT77105 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_IDT77252 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_IDT77252_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_IDT77252_RCV_ALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_AMBASSADOR policy<{'amd64': 'm'}> +CONFIG_ATM_AMBASSADOR_DEBUG policy<{'amd64': 'n'}> +CONFIG_ATM_HORIZON policy<{'amd64': 'm'}> +CONFIG_ATM_HORIZON_DEBUG policy<{'amd64': 'n'}> +CONFIG_ATM_IA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_IA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_HE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_HE_USE_SUNI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATM_SOLOS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ATM_FORE200E_USE_TASKLET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_FORE200E_TX_RETRY policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16'}> +CONFIG_ATM_FORE200E_DEBUG policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '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'}> + +# Menu: Device Drivers >> Network device support >> CAIF transport drivers +CONFIG_CAIF_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CAIF_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAIF_SPI_SLAVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAIF_SPI_SYNC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CAIF_HSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAIF_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_NET_DSA_LOOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NET_DSA_LANTIQ_GSWIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_MT7530 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_MV88E6060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_MV88E6XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_DSA_MV88E6XXX_PTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_DSA_MSCC_FELIX policy<{'arm64': 'm', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NET_DSA_AR9331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_SJA1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_SJA1105_PTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_DSA_SJA1105_TAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_DSA_SJA1105_VL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_DSA_QCA8K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_REALTEK_SMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_MDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_B53_SPI_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_B53_MDIO_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_B53_MMAP_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_B53_SRAB_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_B53_SERDES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support +CONFIG_ETHERNET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_VENDOR_ADAPTEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ADAPTEC_STARFIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_AGERE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ET131X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_ALACRITECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLICOSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_VENDOR_ALLWINNER policy<{'arm64': 'y'}> +CONFIG_SUN4I_EMAC policy<{'arm64': 'n'}> +CONFIG_NET_VENDOR_ALTEON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ACENIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ACENIC_OMIT_TIGON_I policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ALTERA_TSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_AMAZON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ENA_ETHERNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_AQTION policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_NET_VENDOR_ARC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_EMAC_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NET_VENDOR_AURORA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AURORA_NB8800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_VENDOR_BROCADE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_BNA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_CADENCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MACB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MACB_USE_HWSTAMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MACB_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_CALXEDA_XGMAC policy<{'armhf': 'm'}> +CONFIG_NET_VENDOR_CISCO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ENIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_CORTINA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_GEMINI_ETHERNET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_NET_VENDOR_DEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_DLINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_DL2K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SUNDANCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SUNDANCE_MMIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NET_VENDOR_EMULEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_EZCHIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_GVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_HUAWEI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_HINIC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_JME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_MEDIATEK policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_NET_VENDOR_MICROSEMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MSCC_OCELOT_SWITCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MSCC_OCELOT_SWITCH_OCELOT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_MYRI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MYRI10GE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MYRI10GE_DCA policy<{'amd64': 'y'}> +CONFIG_FEALNX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_NETERION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_S2IO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_VXGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_VXGE_DEBUG_TRACE_ALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NET_VENDOR_NETRONOME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_VENDOR_NI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NI_XGE_MANAGEMENT_ENET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_NVIDIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_FORCEDETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_OKI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ETHOC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_PACKET_ENGINES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HAMACHI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_YELLOWFIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_PENSANDO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_IONIC policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_RDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_R6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_RENESAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_ROCKER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_SAMSUNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SXGBE_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_SEEQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_SOLARFLARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SFC_FALCON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SFC_FALCON_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NET_VENDOR_SILAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SC92031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_SIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SIS900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SIS190 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_SOCIONEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SNI_AVE policy<{'armhf': 'm'}> +CONFIG_SNI_NETSEC policy<{'arm64': 'm'}> +CONFIG_NET_VENDOR_STMICRO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_SYNOPSYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DWC_XLGMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DWC_XLGMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_VENDOR_TEHUTI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_TEHUTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_VIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_VIA_RHINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIA_RHINE_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIA_VELOCITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_WIZNET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_WIZNET_W5100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WIZNET_W5300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WIZNET_W5100_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', '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'}> +CONFIG_TYPHOON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> AMD devices +CONFIG_NET_VENDOR_AMD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_AMD8111_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCNET32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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', 's390x': 'n'}> +CONFIG_ATL2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATL1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATL1E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATL1C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ALX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices +CONFIG_NET_VENDOR_BROADCOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_B44 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BCMGENET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BNX2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CNIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TIGON3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TIGON3_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BNX2X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BNX2X_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BGMAC_PLATFORM policy<{'arm64': 'y'}> +CONFIG_SYSTEMPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_BNXT_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BNXT_FLOWER_OFFLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BNXT_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BNXT_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_THUNDER_NIC_PF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_THUNDER_NIC_VF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_THUNDER_NIC_BGX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_THUNDER_NIC_RGX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_CAVIUM_PTP policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_LIQUIDIO policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_LIQUIDIO_VF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Chelsio devices +CONFIG_NET_VENDOR_CHELSIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_CHELSIO_T1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHELSIO_T1_1G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CHELSIO_T3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHELSIO_T4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHELSIO_T4_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CHELSIO_T4_FCOE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CHELSIO_T4VF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cirrus devices +CONFIG_NET_VENDOR_CIRRUS policy<{'amd64': 'y', 'armhf': 'y'}> +CONFIG_CS89x0 policy<{'amd64': 'm', 'armhf': 'm'}> +CONFIG_CS89x0_PLATFORM policy<{'amd64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices +CONFIG_NET_TULIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DE2104X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DE2104X_DSL policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_DE4X5 policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_WINBOND_840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DM9102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ULI526X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCMCIA_XIRCOM policy<{'amd64': 'm', 'arm64': 'm'}> + +# 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'}> +CONFIG_TULIP_MWI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_TULIP_MMIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_TULIP_NAPI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +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-generic': '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_ENETC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_VF 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'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices +CONFIG_NET_VENDOR_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_E100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_E1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_E1000E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_E1000E_HWTS policy<{'amd64': 'y'}> +CONFIG_IGB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IGB_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IGB_DCA policy<{'amd64': 'y'}> +CONFIG_IGBVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IXGB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IXGBEVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IXGBEVF_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_I40E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_I40E_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_I40EVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FM10K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IGC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_IXGBE_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IXGBE_DCA policy<{'amd64': 'y'}> +CONFIG_IXGBE_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IXGBE_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MV643XX_ETH policy<{'armhf': 'm'}> +CONFIG_MVMDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MVNETA_BM_ENABLE policy<{'armhf': 'n'}> +CONFIG_MVNETA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MVPP2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PXA168_ETH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SKGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SKGE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SKGE_GENESIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SKY2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SKY2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +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'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices +CONFIG_NET_VENDOR_MELLANOX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX4_EN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLX4_EN_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX4_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX4_CORE_GEN2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLX5_FPGA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_FPGA_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_FPGA_TLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLXFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': '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', 's390x': 'y'}> +CONFIG_MLX5_EN_ARFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_RXNFC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_MPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_ESWITCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_CLS_ACT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_TC_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE_EN_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE_IPOIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_TLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_TLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MLX5_SW_STEERING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# 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', 's390x': 'm'}> +CONFIG_MLXSW_CORE_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MLXSW_CORE_THERMAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MLXSW_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MLXSW_MINIMAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support >> PCI bus implementation for Mellanox Technologies Switch ASICs +CONFIG_MLXSW_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SWITCHIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SWITCHX2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SPECTRUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SPECTRUM_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_KS8842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KS8851 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KS8851_MLL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KSZ884X_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Microchip devices +CONFIG_NET_VENDOR_MICROCHIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ENC28J60 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ENC28J60_WRITEVERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ENCX24J600 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LAN743X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +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'}> +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', 's390x': 'n'}> +CONFIG_NATSEMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NS83820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', 's390x': 'n'}> +CONFIG_NFP_APP_FLOWER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NFP_APP_ABM_NIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NFP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices +CONFIG_NET_VENDOR_QLOGIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_QLA3XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NETXEN_NIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QED_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_QEDE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_QLCNIC_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_QLCNIC_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_QLCNIC_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_QCA7000_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCA7000_UART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QCOM_EMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RMNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices +CONFIG_NET_VENDOR_REALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ATP policy<{'amd64': 'm'}> +CONFIG_8139CP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_R8169 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_8139TOO_PIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_8139TOO_TUNE_TWISTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_8139TOO_8129 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_8139_OLD_RX_RESET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +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', 's390x': 'n'}> +CONFIG_SMC91X policy<{'arm64': 'y', 'armhf': 'm'}> +CONFIG_PCMCIA_SMC91C92 policy<{'amd64': 'm'}> +CONFIG_EPIC100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SMC911X policy<{'armhf': 'm'}> +CONFIG_SMSC911X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SMSC9420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_STMMAC_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DWMAC_INTEL policy<{'amd64': 'm'}> +CONFIG_STMMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DWMAC_DWC_QOS_ETH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DWMAC_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_DWMAC_SUNXI policy<{'arm64': 'n'}> +CONFIG_DWMAC_SUN8I policy<{'arm64': 'm'}> +CONFIG_DWMAC_IMX8 policy<{'arm64': 'm', 'armhf-generic': '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'}> +CONFIG_BE2NET_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BE2NET_BE2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BE2NET_BE3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BE2NET_LANCER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BE2NET_SKYHAWK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Solarflare SFC9000/SFC9100-family support +CONFIG_SFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SFC_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SFC_MCDI_MON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SFC_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SFC_MCDI_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_HAPPYMEAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SUNGEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CASSINI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NIU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', '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'}> +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_CPTS policy<{'arm64': 'm'}> +CONFIG_TI_AM65_CPSW_TAS policy<{'arm64': 'y'}> +CONFIG_TLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_WIZNET_BUS_INDIRECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_WIZNET_BUS_ANY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_XILINX_AXI_EMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XILINX_LL_TEMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Network device support >> FDDI driver support +CONFIG_FDDI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_DEFXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DEFXX_MMIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SKFP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_DEFXX_MMIO flag + +# Menu: Device Drivers >> Network device support >> IEEE 802.15.4 drivers +CONFIG_IEEE802154_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_FAKELB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_AT86RF230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_AT86RF230_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IEEE802154_MRF24J40 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_CC2520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_ATUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_ADF7242 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_CA8210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_CA8210_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IEEE802154_MCR20A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_HWSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> MDIO bus device drivers +CONFIG_MDIO_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MDIO_BITBANG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MDIO_BUS_MUX_BCM_IPROC policy<{'arm64': 'y'}> +CONFIG_MDIO_BUS_MUX_GPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_BUS_MUX_MESON_G12A policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MDIO_BUS_MUX_MMIOREG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_HISI_FEMAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_IPQ4019 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_IPQ8064 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_MSCC_MIIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MDIO_MVUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_OCTEON policy<{'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_MDIO_SUN4I policy<{'arm64': 'n'}> +CONFIG_MDIO_THUNDER policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MDIO_XGENE policy<{'arm64': 'm'}> +CONFIG_MDIO_XPCS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Network device support >> Network core driver support +CONFIG_NET_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BONDING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_WIREGUARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_WIREGUARD_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_EQUALIZER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_FC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MACVLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MACVTAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPVLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPVTAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VXLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GENEVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BAREUDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_GTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MACSEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETCONSOLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETCONSOLE_DYNAMIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NTB_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RIONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RIONET_TX_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128'}> +CONFIG_RIONET_RX_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128'}> +CONFIG_TUN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TUN_VNET_CROSS_LE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_VETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_VRF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VSOCKMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': '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', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_BROADCAST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_ROUNDROBIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_RANDOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_LOADBALANCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Network device support >> PHY Device support and infrastructure +CONFIG_PHYLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_LED_TRIGGER_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SFP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ADIN_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_AMD_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_AQUANTIA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_AX88796B_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BCM7XXX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BCM87XX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BROADCOM_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BCM54140_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BCM84881_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_CICADA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CORTINA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DAVICOM_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DP83822_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DP83TC811_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DP83848_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DP83867_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DP83869_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_FIXED_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_ICPLUS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INTEL_XWAY_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LSI_ET1011C_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LXT_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MARVELL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MARVELL_10G_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MESON_GXL_PHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MICREL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MICROCHIP_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MICROCHIP_T1_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MICROSEMI_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NATIONAL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NXP_TJA11XX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AT803X_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QSEMI_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_REALTEK_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RENESAS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ROCKCHIP_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SMSC_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STE10XP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TERANETICS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VITESSE_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XILINX_GMII2RGMII policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_PPP_BSDCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPP_DEFLATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPP_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PPP_MPPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPP_MULTILINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PPPOATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPPOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPPOL2TP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPP_ASYNC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPP_SYNC_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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_OSN policy<{'s390x': 'y'}> +CONFIG_QETH_OSX policy<{'s390x': 'y'}> + +# Menu: Device Drivers >> Network device support >> SLIP (serial line) support +CONFIG_SLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SLIP_COMPRESSED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SLIP_SMART policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SLIP_MODE_SLIP6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters +CONFIG_USB_NET_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CATC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_KAWETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_PEGASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_RTL8150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_RTL8152 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_LAN78XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_HSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_IPHETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_NET_AX8817X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_AX88179_178A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CDCETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CDC_EEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CDC_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_HUAWEI_CDC_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CDC_MBIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_DM9601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_SR9700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_SR9800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_SMSC75XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_SMSC95XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_GL620A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_NET1080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_PLUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_MCS7830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_RNDIS_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_ZAURUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CX82310_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_KALMIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_QMI_WWAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_INT51X1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CDC_PHONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SIERRA_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_VL600 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_CH9200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET_AQC111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_ALI_M5632 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_AN2720 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_BELKIN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ARMLINUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_EPSON2888 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_KC2190 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support +CONFIG_WAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_LANMEDIA policy<{'amd64': 'm'}> +CONFIG_SLIC_DS26522 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_DLCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DLCI_MAX policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_LAPBETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_X25_ASY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SBNI policy<{'amd64': 'm'}> +CONFIG_SBNI_MULTILINE policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support >> Generic HDLC layer +CONFIG_HDLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_RAW_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_CISCO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_FR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_PPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HDLC_X25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCI200SYN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WANXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PC300TOO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FARSYNC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_UCC_HDLC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> WiMAX Wireless Broadband devices +CONFIG_WIMAX_I2400M_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WIMAX_I2400M_DEBUG_LEVEL policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN +CONFIG_WLAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_WIRELESS_WDS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_WLAN_VENDOR_ADMTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ADM8211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLAN_VENDOR_ATMEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCI_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PCMCIA_ATMEL policy<{'amd64': 'm'}> +CONFIG_AT76C50X_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLAN_VENDOR_CISCO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_AIRO policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_AIRO_CS policy<{'amd64': 'm'}> +CONFIG_WLAN_VENDOR_RALINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_WLAN_VENDOR_RSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_WLAN_VENDOR_ST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CW1200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CW1200_WLAN_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CW1200_WLAN_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLAN_VENDOR_ZYDAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ZD1201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZD1211RW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZD1211RW_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_WLAN_VENDOR_QUANTENNA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_QTNFMAC_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_NET_RNDIS_WLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIRT_WIFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ATH_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATH5K_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_BTCOEX_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_HTC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH9K_HTC_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_COMMON_SPECTRAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_AR5523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WCN36XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WCN36XX_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_ATH5K_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATH5K_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_ATH10K_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH10K_AHB policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH10K_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH10K_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH10K_SNOC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ATH10K_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATH10K_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH10K_SPECTRAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH10K_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_ATH9K_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_AHB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_STATION_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_DYNACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_ATH9K_CHANNEL_CONTEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_PCOEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_PCI_NO_EEPROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH9K_HWRNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_ATH6KL_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH6KL_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH6KL_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATH6KL_TRACING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_CARL9170_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CARL9170_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CARL9170_HWRNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Qualcomm Technologies 802.11ax chipset support +CONFIG_ATH11K policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ATH11K_DEBUG policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_ATH11K_DEBUGFS policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_ATH11K_TRACING policy<{'arm64': 'n', 'armhf': 'n'}> + +# 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'}> +CONFIG_WIL6210_ISR_COR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_WIL6210_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_WIL6210_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices +CONFIG_WLAN_VENDOR_BROADCOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_B43LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_B43LEGACY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BRCMSMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BRCM_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BRCMDBG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_B43_SDIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_B43_PHY_G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_B43_PHY_N policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_B43_PHY_LP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_B43_PHY_HT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_B43_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_B43_BUSES_BCMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_B43_BUSES_SSB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_B43LEGACY_DMA_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_B43LEGACY_PIO_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_BRCMFMAC_SDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BRCMFMAC_USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BRCMFMAC_PCIE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices +CONFIG_WLAN_VENDOR_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IPW2100_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2100_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_LIBIPW_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_IWL4965 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IWL3945 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_IPW2200_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2200_RADIOTAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2200_PROMISCUOUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2200_QOS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IPW2200_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_IWLDVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IWLMVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IWLWIFI_BCAST_FILTERING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_IWLWIFI_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IWLWIFI_DEVICE_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_IWLEGACY_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices +CONFIG_WLAN_VENDOR_INTERSIL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PRISM54 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_HERMES_PRISM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_HERMES_CACHE_FW_ON_INIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PLX_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TMD_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NORTEL_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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'}> +CONFIG_HOSTAP_FIRMWARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HOSTAP_FIRMWARE_NVRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_HOSTAP_PLX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HOSTAP_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_P54_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_P54_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_P54_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_P54_SPI_DEFAULT_EEPROM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices +CONFIG_WLAN_VENDOR_MARVELL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LIBERTAS_THINFIRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIBERTAS_THINFIRM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_LIBERTAS_THINFIRM_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MWL8K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_LIBERTAS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIBERTAS_CS policy<{'amd64': 'm'}> +CONFIG_LIBERTAS_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIBERTAS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIBERTAS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_LIBERTAS_MESH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_MWIFIEX_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MWIFIEX_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MWIFIEX_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> MediaTek devices +CONFIG_WLAN_VENDOR_MEDIATEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MT7601U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT76x0U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT76x0E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT76x2E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT76x2U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT7603E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT7615E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT7622_WMAC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MT7663U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MT7915E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support +CONFIG_RT2X00 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT2400PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT2500PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT61PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT2500USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT73USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RT2X00_LIB_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RT2X00_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_RT2800PCI_RT33XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800PCI_RT35XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800PCI_RT53XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800PCI_RT3290 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_RT2800USB_RT33XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800USB_RT35XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800USB_RT3573 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800USB_RT53XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800USB_RT55XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RT2800USB_UNKNOWN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices +CONFIG_WLAN_VENDOR_REALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTL8180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8187 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8XXXU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8XXXU_UNTESTED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_RTW88_8822BE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTW88_8822CE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTW88_8723DE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTW88_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTW88_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_RTL8192CE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192SE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192DE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8723AE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8723BE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8188EE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192EE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8821AE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192CU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTLWIFI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_RSI_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RSI_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RSI_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RSI_COEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_WL1251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WL1251_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WL1251_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WL12XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WL18XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLCORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLCORE_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WLCORE_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WILINK_PLATFORM_DATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Non-Transparent Bridge support +CONFIG_NTB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NTB_MSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NTB_AMD policy<{'amd64': 'n'}> +CONFIG_NTB_IDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NTB_INTEL policy<{'amd64': 'm'}> +CONFIG_NTB_SWITCHTEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NTB_PINGPONG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NTB_TOOL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NTB_PERF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NTB_MSI_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_NTB_TRANSPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support +CONFIG_INTERCONNECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> + +# 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_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_SC7180 policy<{'arm64': 'm'}> +CONFIG_INTERCONNECT_QCOM_SDM845 policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support >> i.MX interconnect drivers +CONFIG_INTERCONNECT_IMX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_INTERCONNECT_IMX8MM policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_INTERCONNECT_IMX8MN policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_INTERCONNECT_IMX8MQ policy<{'arm64': 'm', 'armhf-generic': 'm'}> + +# Menu: Device Drivers >> Open-Channel SSD target support +CONFIG_NVM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NVM_PBLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NVM_PBLK_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support +CONFIG_PCCARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CARDBUS policy<{'amd64': 'y', 'arm64': 'y'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> 16-bit PCMCIA support +CONFIG_PCMCIA policy<{'amd64': 'm', 'arm64': 'n'}> +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'}> +CONFIG_YENTA_O2 policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_YENTA_RICOH policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_YENTA_TI policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_YENTA_ENE_TUNE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_YENTA_TOSHIBA policy<{'amd64': 'y', 'arm64': 'y'}> + +# Menu: Device Drivers >> PCI support +CONFIG_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCIEASPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCIE_PTM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_MSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_QUIRKS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PCI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PCI_REALLOC_ENABLE_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_PCI_PF_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XEN_PCIDEV_FRONTEND policy<{'amd64': 'm'}> +CONFIG_PCI_IOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_PRI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PCI_PASID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PCI_P2PDMA policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n'}> +CONFIG_PCI_HYPERV policy<{'amd64': 'm'}> +# +CONFIG_PCI_P2PDMA flag + +# Menu: Device Drivers >> PCI support >> Default ASPM policy +CONFIG_PCIEASPM_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCIEASPM_POWERSAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PCIEASPM_POWER_SUPERSAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PCIEASPM_PERFORMANCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_PCIEASPM_DEFAULT note + +# Menu: Device Drivers >> PCI support >> PCI Endpoint +CONFIG_PCI_ENDPOINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_ENDPOINT_CONFIGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_EPF_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support +CONFIG_PCIEPORTBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_HOTPLUG_PCI_PCIE policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +# +CONFIG_PCIEPORTBUS mark note +CONFIG_HOTPLUG_PCI_PCIE mark note + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support >> PCI Express Advanced Error Reporting support +CONFIG_PCIEAER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'y'}> +CONFIG_PCIEAER_INJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_PCIE_ECRC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_PCIE_DPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'y'}> +CONFIG_PCIE_EDR policy<{'amd64': 'n', 'arm64': 'n'}> +# +CONFIG_PCIEAER_INJECT flag + +# 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'}> +CONFIG_PCI_TEGRA policy<{'armhf-generic': 'y'}> +CONFIG_PCI_RCAR_GEN2 policy<{'armhf': 'y'}> +CONFIG_PCIE_RCAR policy<{'arm64': 'y', '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'}> +CONFIG_PCIE_XILINX policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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_VMD policy<{'amd64': 'm'}> +CONFIG_PCIE_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_PCI_HYPERV_INTERFACE policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Cadence PCIe controllers support +CONFIG_PCIE_CADENCE_PLAT_HOST policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PCIE_CADENCE_PLAT_EP policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> DesignWare PCI Core Support +CONFIG_PCI_DRA7XX_HOST policy<{'armhf': 'y'}> +CONFIG_PCI_DRA7XX_EP policy<{'armhf': 'y'}> +CONFIG_PCIE_DW_PLAT_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCIE_DW_PLAT_EP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCI_IMX6 policy<{'arm64': 'y', 'armhf-generic': '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_KIRIN policy<{'arm64': 'y'}> +CONFIG_PCIE_HISI_STB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_MESON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PCIE_UNIPHIER policy<{'armhf': 'y'}> +CONFIG_PCIE_UNIPHIER_EP policy<{'armhf': 'y'}> +CONFIG_PCIE_AL policy<{'arm64': 'y'}> + +# 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', 's390x': 'm'}> + +# Menu: Device Drivers >> PCI support >> Support for PCI Hotplug +CONFIG_HOTPLUG_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +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', 's390x': 'n'}> +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', 's390x': 'n'}> +CONFIG_PHY_XGENE policy<{'arm64': 'y'}> +CONFIG_PHY_SUN4I_USB policy<{'arm64': 'm'}> +CONFIG_PHY_SUN6I_MIPI_DPHY policy<{'arm64': 'm'}> +CONFIG_PHY_SUN9I_USB policy<{'arm64': 'n'}> +CONFIG_PHY_SUN50I_USB3 policy<{'arm64': 'm'}> +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_BCM_SR_USB policy<{'arm64': 'm'}> +CONFIG_BCM_KONA_USB2_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_PHY_CADENCE_DPHY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_CADENCE_SIERRA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_CADENCE_SALVO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_FSL_IMX8MQ_USB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_MIXEL_MIPI_DPHY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_HI6220_USB policy<{'arm64': 'm'}> +CONFIG_PHY_HI3660_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_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_PXA_28NM_HSIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PHY_PXA_28NM_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_CPCAP_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_MAPPHONE_MDM6600 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_OCELOT_SERDES policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_UFS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_USB_HS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_PHY_QCOM_USB_HS_28NM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_USB_SS 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_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_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': 'y'}> +CONFIG_PHY_EXYNOS_MIPI_VIDEO policy<{'armhf': 'y'}> +CONFIG_PHY_EXYNOS_PCIE policy<{'armhf': 'y'}> +CONFIG_PHY_SAMSUNG_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PHY_EXYNOS5_USBDRD policy<{'armhf': 'm'}> +CONFIG_PHY_EXYNOS5250_SATA policy<{'armhf': 'y'}> +CONFIG_PHY_UNIPHIER_USB2 policy<{'armhf': 'm'}> +CONFIG_PHY_UNIPHIER_USB3 policy<{'armhf': 'm'}> +CONFIG_PHY_UNIPHIER_PCIE policy<{'armhf': 'm'}> +CONFIG_PHY_TEGRA_XUSB policy<{'armhf-generic': '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'}> +CONFIG_TWL4030_USB policy<{'armhf': 'm'}> +CONFIG_PHY_INTEL_EMMC policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> PPS support +CONFIG_PPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_PPS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PPS_CLIENT_KTIMER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PPS_CLIENT_LDISC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PPS_CLIENT_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PPS_CLIENT_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', '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', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_INES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_KVM policy<{'amd64': 'm'}> +CONFIG_PTP_1588_CLOCK_IDT82P33 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PTP_1588_CLOCK_IDTCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_VMW policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Parallel port support +CONFIG_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PARPORT_AX88796 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARPORT_1284 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Parallel port support >> PC-style hardware +CONFIG_PARPORT_PC policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARPORT_SERIAL policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PARPORT_PC_FIFO policy<{'amd64': 'y', 'armhf': 'y', 'ppc64el': '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_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-generic': 'm'}> +CONFIG_HISI_PMU policy<{'arm64': 'y'}> +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'}> + +# Menu: Device Drivers >> Pin controllers +CONFIG_PINCTRL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PINMUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCONF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEBUG_PINCTRL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PINCTRL_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCTRL_AXP209 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_PINCTRL_MCP23S08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PINCTRL_RZA1 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_RZA2 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_RZN1 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_SINGLE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCTRL_SX150X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCTRL_STMFX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PINCTRL_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PINCTRL_PALMAS policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCTRL_RK805 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PINCTRL_OCELOT policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PINCTRL_OWL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_S700 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_S900 policy<{'arm64': 'y', 'armhf': 'y'}> +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-generic': 'y'}> +CONFIG_PINCTRL_IMX51 policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX6Q policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX6SL policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX6SLL policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX6SX policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX6UL policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX7D policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX7ULP policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX8MM policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX8MN policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX8MP policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX8MQ policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_PINCTRL_IMX8QM policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IMX8QXP policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IMX8DXL policy<{'arm64': 'y'}> +CONFIG_PINCTRL_VF610 policy<{'armhf-generic': 'y'}> +CONFIG_PINCTRL_BAYTRAIL policy<{'amd64': 'y'}> +CONFIG_PINCTRL_CHERRYVIEW policy<{'amd64': 'y'}> +CONFIG_PINCTRL_LYNXPOINT 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_GEMINILAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_ICELAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_JASPERLAKE 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_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_MSM8660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8960 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_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_QCOM_SPMI_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_QCOM_SSBI_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SC7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SDM660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SDM845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_EXYNOS policy<{'armhf': 'y'}> +CONFIG_PINCTRL_EXYNOS_ARM policy<{'armhf': 'y'}> +CONFIG_PINCTRL_SH_PFC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_PFC_EMEV2 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7740 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_R8A7745 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77470 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7778 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7779 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7790 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7791 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7792 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7793 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7794 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77950 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77951 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77960 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77961 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77965 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77970 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77980 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77990 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77995 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_SH73A0 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_SPRD_SC9860 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN4I_A10 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN5I policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN6I_A31 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN6I_A31_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_A23 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_A33 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_A83T policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_A83T_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_A23_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_H3 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_H3_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN8I_V3S policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN9I_A80 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN9I_A80_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN50I_A64 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN50I_A64_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN50I_H5 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN50I_H6 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN50I_H6_R policy<{'arm64': 'y'}> +CONFIG_PINCTRL_TI_IODELAY policy<{'armhf': 'y'}> +CONFIG_PINCTRL_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_PINCTRL_CHERRYVIEW mark note + +# 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_MT6797 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT7622 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8173 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8183 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 >> UniPhier SoC pinctrl drivers +CONFIG_PINCTRL_UNIPHIER policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_LD4 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_PRO4 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_SLD8 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_PRO5 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_PXS2 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_LD6B policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_LD11 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_LD20 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_UNIPHIER_PXS3 policy<{'armhf': 'y'}> + +# 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', 's390x': 'n'}> + +# 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'}> + +# 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', 's390x': 'n'}> +CONFIG_POWER_SUPPLY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_POWER_SUPPLY_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PDA_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GENERIC_ADC_BATTERY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAX8925_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WM831X_BACKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WM831X_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WM8350_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TEST_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_ADP5061 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_CW2015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DS2760 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DS2780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DS2781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DS2782 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_LEGO_EV3 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MANAGER_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_BQ27XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_BQ27XXX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_BQ27XXX_HDQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BATTERY_DA9030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AXP20X_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AXP288_CHARGER policy<{'amd64': 'm'}> +CONFIG_AXP288_FUEL_GAUGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_MAX17040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_MAX17042 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_MAX1721X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_TWL4030_MADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_RX51 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_CPCAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_ISP1704 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX8903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_LP8727 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MANAGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CHARGER_LT3651 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX14577 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_DETECTOR_MAX14656 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_MP2629 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_QCOM_SMBB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_BQ2415X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_BQ24190 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_BQ24257 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_BQ24735 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_BQ25890 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_SMB347 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_TPS65090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_TPS65217 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_BATTERY_GAUGE_LTC2941 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BATTERY_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_RT9455 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_CROS_USBPD 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'}> +CONFIG_CHARGER_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_BD99954 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CHARGER_WILCO policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Pulse-Width Modulation (PWM) Support +CONFIG_PWM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PWM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PWM_ATMEL_HLCDC_PWM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_FSL_FTM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PWM_HIBVT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_IMX1 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_PWM_IMX27 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_PWM_IMX_TPM policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_PWM_IQS620A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PWM_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_OMAP_DMTIMER policy<{'armhf': 'm'}> +CONFIG_PWM_PCA9685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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': 'm'}> +CONFIG_PWM_SPRD policy<{'arm64': 'm'}> +CONFIG_PWM_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PWM_SUN4I policy<{'arm64': 'm'}> +CONFIG_PWM_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_PWM_TIECAP policy<{'arm64': 'm', 'armhf-generic': 'm', 'armhf-generic-lpae': 'n'}> +CONFIG_PWM_TIEHRPWM policy<{'arm64': 'm', 'armhf-generic': 'm', 'armhf-generic-lpae': 'n'}> +CONFIG_PWM_TWL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PWM_TWL_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> RapidIO support +CONFIG_RAPIDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_RAPIDIO_TSI721 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_RAPIDIO_DISC_TIMEOUT policy<{'amd64': '30', 'arm64': '30', 'armhf': '30', 'ppc64el': '30'}> +CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RAPIDIO_DMA_ENGINE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RAPIDIO_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RAPIDIO_CHMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RAPIDIO_MPORT_CDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> Enumeration method +CONFIG_RAPIDIO_ENUM_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> RapidIO Switch drivers +CONFIG_RAPIDIO_TSI57X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RAPIDIO_CPS_XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RAPIDIO_TSI568 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RAPIDIO_CPS_GEN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RAPIDIO_RXS_GEN3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Real Time Clock +CONFIG_RTC_CLASS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_HCTOSYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_HCTOSYS_DEVICE policy<{'amd64': '"rtc0"', 'arm64': '"rtc0"', 'armhf': '"rtc0"', 'ppc64el': '"rtc0"'}> +CONFIG_RTC_SYSTOHC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_SYSTOHC_DEVICE policy<{'amd64': '"rtc0"', 'arm64': '"rtc0"', 'armhf': '"rtc0"', 'ppc64el': '"rtc0"'}> +CONFIG_RTC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_NVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_INTF_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_INTF_PROC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_INTF_DEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_INTF_DEV_UIE_EMUL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_DRV_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_DRV_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_88PM80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ABB5ZES3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ABEOZ9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ABX80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_RTC_DRV_AS3722 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1307 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1307_CENTURY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_DRV_DS1374 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1374_WDT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_DRV_DS1672 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_HYM8563 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX6900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RS5C372 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ISL1208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ISL12022 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_ISL12026 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_X1205 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF8523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF85063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF85363 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF8563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF8583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M41T80 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M41T80_WDT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_DRV_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_BQ32K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_TWL4030 policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_TPS6586X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_TPS65910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_TPS80031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RC5T583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RC5T619 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_S35390A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_FM3130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RX8010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RX8581 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RX8025 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_EM3027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RV3028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RV8803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_S5M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_SD3078 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M41T93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M41T94 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1343 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1347 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1390 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX6916 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_R9701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RX4581 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RX6110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RS5C348 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MAX6902 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCF2123 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MCP795 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS3232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS3232_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_DRV_PCF2127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RV3029C2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RV3029_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTC_DRV_CMOS policy<{'amd64': 'y', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1286 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1511 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1553 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1685_FAMILY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1742 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS2404 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DA9063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_EFI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RTC_DRV_STK17TA8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M48T86 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M48T35 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_M48T59 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MSM6242 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_BQ4802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_RP5C01 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_V3020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_SC27XX policy<{'arm64': 'm'}> +CONFIG_RTC_DRV_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_AB3100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_OPAL policy<{'ppc64el': 'y'}> +CONFIG_RTC_DRV_ZYNQMP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_IMXDI policy<{'arm64': 'm', 'armhf-generic': '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': 'y'}> +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'}> +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'}> +CONFIG_RTC_DRV_FTRTC010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_MC13XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_PM8XXX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_RTC_DRV_MXC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_RTC_DRV_MXC_V2 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_RTC_DRV_SNVS policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_RTC_DRV_IMX_SC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_RTC_DRV_MT2712 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_RTC_DRV_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +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'}> +CONFIG_RTC_DRV_DS1689 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_DRV_DS17285 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_DRV_DS17485 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_RTC_DRV_DS17885 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features +CONFIG_RAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_RC_MAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LIRC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Remote Controller support >> Remote Controller devices +CONFIG_RC_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RC_ATI_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_ENE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_IR_HIX5HD2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_IMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_IMON_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_MCEUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_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'}> +CONFIG_IR_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_STREAMZAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_WINBOND_CIR policy<{'amd64': 'm'}> +CONFIG_IR_IGORPLUGUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_IGUANA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_TTUSBIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_RX51 policy<{'armhf': 'm'}> +CONFIG_RC_LOOPBACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_GPIO_CIR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_GPIO_TX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_PWM_TX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_SUNXI policy<{'arm64': 'm'}> +CONFIG_IR_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_SERIAL_TRANSMITTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IR_SIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RC_XBOX_DVD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_IR_NEC_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_RC5_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_RC6_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_JVC_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_SONY_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_SANYO_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_SHARP_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_MCE_KBD_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_XMP_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_IMON_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IR_RCMM_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_IMX_REMOTEPROC policy<{'arm64': 'm', 'armhf-generic': '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_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'}> + +# Menu: Device Drivers >> Reset Controller Support +CONFIG_RESET_CONTROLLER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_RESET_BERLIN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_RESET_BRCMSTB_RESCAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RESET_IMX7 policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_RESET_INTEL_GW policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '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_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RESET_SIMPLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_SUNXI policy<{'arm64': 'y'}> +CONFIG_RESET_TI_SCI policy<{'arm64': 'm'}> +CONFIG_RESET_TI_SYSCON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RESET_UNIPHIER policy<{'armhf': 'm'}> +CONFIG_RESET_UNIPHIER_GLUE policy<{'armhf': 'm'}> +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'}> +CONFIG_RPMSG_MTK_SCP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_QCOM_GLINK_RPM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RPMSG_QCOM_GLINK_SMEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_QCOM_SMD policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> SCSI device support +CONFIG_RAID_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support +CONFIG_SCSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCSI_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_SD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_ST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_SR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_SG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_ENCLOSURE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_CONSTANTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCSI_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCSI_SCAN_ASYNC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SCSI_DH_RDAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_HP_SW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_EMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_ALUA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_SCSI_FC_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_ISCSI_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_LIBSAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_ATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SCSI_SAS_HOST_SMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCSI_SRP_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', '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', 's390x': 'y'}> +CONFIG_ISCSI_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ISCSI_BOOT_SYSFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_CXGB3_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_CXGB4_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_BNX2_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_BNX2X_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BE2ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CXLFLASH policy<{'ppc64el': 'm'}> +CONFIG_BLK_DEV_3W_XXXX_RAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_HPSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_3W_9XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_3W_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_ACARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_AHA1740 policy<{'amd64': 'm'}> +CONFIG_SCSI_AACRAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_AIC94XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_AIC94XX_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_HISI_SAS policy<{'arm64': 'm'}> +CONFIG_SCSI_HISI_SAS_PCI policy<{'arm64': 'm'}> +CONFIG_SCSI_MVSAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_MVSAS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_MVSAS_TASKLET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_MVUMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_DPT_I2O policy<{'amd64': 'm'}> +CONFIG_SCSI_ADVANSYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_ARCMSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_ESAS2R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MEGARAID_NEWGEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MEGARAID_MM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEGARAID_MAILBOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEGARAID_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MEGARAID_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_MPT3SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_MPT2SAS_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 's390x': '128'}> +CONFIG_SCSI_MPT3SAS_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 's390x': '128'}> +CONFIG_SCSI_MPT2SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_SMARTPQI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_UFS_TI_J721E policy<{'arm64': 'm'}> +CONFIG_SCSI_HPTIOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SCSI_MYRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VMWARE_PVSCSI policy<{'amd64': 'm'}> +CONFIG_XEN_SCSI_FRONTEND policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HYPERV_STORAGE policy<{'amd64': 'm'}> +CONFIG_LIBFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_SNIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_SNIC_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_DMX3191D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_FDOMAIN_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_GDTH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_ISCI policy<{'amd64': 'm'}> +CONFIG_SCSI_IPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SCSI_INIA100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_PPA policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_IMM policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_IZIP_EPP16 policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_IZIP_SLOW_CTR policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_STEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_IPR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_IPR_TRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SCSI_IPR_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SCSI_QLOGIC_1280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_QLA_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_TCM_QLA2XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TCM_QLA2XXX_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_QLA_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_QEDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_LPFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_LPFC_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_SIM710 policy<{'amd64': 'm'}> +CONFIG_SCSI_DC395x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_AM53C974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_NSP32 policy<{'armhf': 'm'}> +CONFIG_SCSI_WD719X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_DEBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ZFCP policy<{'s390x': 'm'}> +CONFIG_SCSI_PMCRAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_PM8001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_BFA_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SCSI_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SCSI_CHELSIO_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_AIC79XX_CMDS_PER_DEVICE policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32'}> +CONFIG_AIC79XX_RESET_DELAY_MS policy<{'amd64': '5000', 'arm64': '5000', 'armhf': '5000', 'ppc64el': '5000'}> +CONFIG_AIC79XX_DEBUG_ENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_AIC79XX_DEBUG_MASK policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_AIC79XX_REG_PRETTY_PRINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_AIC7XXX_CMDS_PER_DEVICE policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_AIC7XXX_RESET_DELAY_MS policy<{'amd64': '5000', 'arm64': '5000', 'armhf': '5000', 'ppc64el': '5000'}> +CONFIG_AIC7XXX_DEBUG_ENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_AIC7XXX_DEBUG_MASK policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_AIC7XXX_REG_PRETTY_PRINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_FCOE_FNIC policy<{'amd64': 'm'}> +CONFIG_QEDF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1'}> +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16'}> +CONFIG_SCSI_SYM53C8XX_MAX_TAGS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64'}> +CONFIG_SCSI_SYM53C8XX_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SCSI_UFSHCD_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_UFS_BSG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_SCSI_UFS_CDNS_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_UFS_QCOM policy<{'arm64': 'm', 'armhf': 'n'}> +CONFIG_SCSI_UFS_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SCSI_UFS_HISI policy<{'arm64': 'm', 'armhf': 'm'}> + +# 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', 's390x': 'm'}> +CONFIG_SLIM_QCOM_CTRL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_TEGRA_2x_SOC policy<{'armhf-generic': 'y'}> +CONFIG_ARCH_TEGRA_3x_SOC policy<{'armhf-generic': 'y'}> +CONFIG_ARCH_TEGRA_114_SOC policy<{'armhf-generic': 'y'}> +CONFIG_ARCH_TEGRA_124_SOC policy<{'armhf-generic': 'y'}> +CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER policy<{'armhf-generic': 'y'}> +CONFIG_ARCH_K3_AM6_SOC policy<{'arm64': 'y'}> +CONFIG_SOC_TEGRA30_VOLTAGE_COUPLER policy<{'armhf-generic': 'y'}> +CONFIG_ARCH_K3_J721E_SOC policy<{'arm64': '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', 'armhf': '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<{'arm64': 'y', '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'}> + +# 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_BRCMSTB_PM policy<{'arm64': 'y'}> + +# 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_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_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_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'}> +CONFIG_QCOM_RPMHPD policy<{'arm64': '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_R7S72100 policy<{'armhf': 'y'}> +CONFIG_ARCH_R7S9210 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A73A4 policy<{'armhf': 'n'}> +CONFIG_ARCH_R8A7740 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7742 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7743 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7744 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7745 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A77470 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7778 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7779 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7790 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7791 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7792 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7793 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7794 policy<{'armhf': 'y'}> +CONFIG_ARCH_R9A06G032 policy<{'armhf': 'y'}> +CONFIG_ARCH_SH73A0 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77950 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77951 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77960 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77961 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77965 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77970 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77980 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77990 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77995 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7742 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7743 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7745 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A77470 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7779 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7790 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7791 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7792 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7794 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7795 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77960 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77961 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77965 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77970 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77980 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77990 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77995 policy<{'arm64': 'y'}> +CONFIG_RST_RCAR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SYSC_RCAR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SYSC_RMOBILE policy<{'armhf': 'y'}> +# +CONFIG_ARCH_R8A73A4 flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Samsung SoC driver support +CONFIG_SOC_SAMSUNG policy<{'armhf': 'y'}> +CONFIG_EXYNOS_ASV policy<{'armhf': 'y'}> +CONFIG_EXYNOS_ASV_ARM policy<{'armhf': 'y'}> +CONFIG_EXYNOS_CHIPID policy<{'armhf': 'y'}> +CONFIG_EXYNOS_PMU policy<{'armhf': 'y'}> +CONFIG_EXYNOS_PMU_ARM_DRIVERS policy<{'armhf': 'y'}> +CONFIG_EXYNOS_PM_DOMAINS policy<{'armhf': 'y'}> + +# 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', '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_SOC_TI flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Xilinx SoC drivers +CONFIG_XILINX_VCU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ZYNQMP_POWER policy<{'arm64': 'y'}> +CONFIG_ZYNQMP_PM_DOMAINS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> ZTE SoC driver support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> i.MX SoC drivers +CONFIG_IMX_GPCV2_PM_DOMAINS policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_IMX_SCU_SOC policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_SOC_IMX8M policy<{'arm64': 'y', 'armhf-generic': 'n'}> + +# Menu: Device Drivers >> SPI support +CONFIG_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SPI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SPI_MEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SPI_ALTERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_ARMADA_3700 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_AXI_SPI_ENGINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_SPI_BUTTERFLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_CADENCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_FSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_FSL_LPSPI policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SPI_FSL_QUADSPI policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SPI_HISI_SFC_V3XX policy<{'arm64': 'm'}> +CONFIG_SPI_NXP_FLEXSPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_IMX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SPI_LM70_LLP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_FSL_SPI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SPI_FSL_DSPI policy<{'arm64': 'm', 'armhf-generic': '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_OC_TINY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_SPI_ROCKCHIP policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n'}> +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': 'm'}> +CONFIG_SPI_SC18IS602 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +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'}> +CONFIG_SPI_SUN6I policy<{'arm64': 'm'}> +CONFIG_SPI_SYNQUACER policy<{'arm64': 'm'}> +CONFIG_SPI_MXIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_TEGRA114 policy<{'armhf-generic': 'm'}> +CONFIG_SPI_TEGRA20_SFLASH policy<{'armhf-generic': 'm'}> +CONFIG_SPI_TEGRA20_SLINK policy<{'armhf-generic': 'm'}> +CONFIG_SPI_THUNDERX policy<{'arm64': 'm'}> +CONFIG_SPI_UNIPHIER policy<{'armhf': 'm'}> +CONFIG_SPI_XCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_XILINX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SPI_XLP policy<{'arm64': 'm'}> +CONFIG_SPI_ZYNQMP_GQSPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_AMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_SPIDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_LOOPBACK_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_TLE62X0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_SLAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SPI_SLAVE_TIME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_SLAVE_SYSTEM_CONTROL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> SPI support >> DesignWare SPI controller core support +CONFIG_SPI_DESIGNWARE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_DW_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SPI_DW_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPI_DW_MMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> SPMI support +CONFIG_SPMI policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SPMI_MSM_PMIC_ARB policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) +CONFIG_ATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ATA_VERBOSE_ERROR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATA_FORCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_SATA_AHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_MOBILE_LPM_POLICY policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '3'}> +CONFIG_SATA_AHCI_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_AHCI_BRCM policy<{'arm64': 'm'}> +CONFIG_AHCI_DM816 policy<{'armhf': 'm'}> +CONFIG_AHCI_IMX policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_AHCI_CEVA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AHCI_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AHCI_MVEBU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AHCI_SUNXI policy<{'arm64': 'n'}> +CONFIG_AHCI_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_AHCI_XGENE policy<{'arm64': 'm'}> +CONFIG_AHCI_QORIQ policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_AHCI_SEATTLE policy<{'arm64': 'm'}> +CONFIG_SATA_INIC162X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_ACARD_AHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_SIL24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_PDC_ADMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_QSTOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_SX4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_CMD640_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_MPIIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_NS87410 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_OPTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_PCMCIA policy<{'amd64': 'm'}> +CONFIG_PATA_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_OF_PLATFORM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_RZ1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_ATA_PIIX policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_DWC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_DWC_OLD_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SATA_DWC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SATA_HIGHBANK policy<{'armhf': 'y'}> +CONFIG_SATA_MV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_NV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_PROMISE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SATA_SIL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_SIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_SVW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_ULI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SATA_VITESSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_ALI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_AMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_ARTOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_ATIIXP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_ATP867X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_CMD64X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_CYPRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_EFAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_HPT366 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_HPT37X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_HPT3X2N policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_HPT3X3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_HPT3X3_DMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PATA_IMX policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_PATA_IT8213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_IT821X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_JMICRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_MARVELL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_NETCELL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_NINJA32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_NS87415 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_OLDPIIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_OPTIDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_PDC2027X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_PDC_OLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_RADISYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_RDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_SERVERWORKS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_SIL680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_SIS policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_TOSHIBA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_TRIFLEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_WINBOND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PATA_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ATA_GENERIC policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +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'}> +CONFIG_SSB_PCMCIAHOST policy<{'amd64': 'n'}> +CONFIG_SSB_SDIOHOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SSB_DRIVER_PCICORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SSB_DRIVER_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Sony MemoryStick card support +CONFIG_MEMSTICK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MEMSTICK_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MEMSTICK_UNSAFE_RESUME policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_MSPRO_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MS_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEMSTICK_TIFM_MS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEMSTICK_JMICRON_38X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEMSTICK_R592 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEMSTICK_REALTEK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MEMSTICK_REALTEK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Sound card support +CONFIG_SOUND policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SOUND_OSS_CORE_PRECLAIM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_SOUND note +CONFIG_SOUND_OSS_CORE_PRECLAIM mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture +CONFIG_SND policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_SND_OSSEMUL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_MIXER_OSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_PCM_OSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SND_PCM_TIMER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HRTIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_MAX_CARDS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32'}> +CONFIG_SND_SUPPORT_OLD_API policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_VERBOSE_PROCFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_VERBOSE_PRINTK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SND_HDA_PREALLOC_SIZE policy<{'amd64': '0', 'arm64': '64', 'armhf': '64', 'ppc64el': '64'}> +CONFIG_SND_XEN_FRONTEND policy<{'amd64': 'm', 'arm64': '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'}> +CONFIG_SND_SOC_AMD_ACP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_BCM2835_SOC_I2S policy<{'arm64': 'm'}> +CONFIG_SND_BCM63XX_I2S_WHISTLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_DESIGNWARE_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_DESIGNWARE_PCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_I2S_HI6210_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_KIRKWOOD_SOC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB policy<{'arm64': 'm', 'armhf': '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'}> +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_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'}> +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_XILINX_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_XTFPGA_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ZX_TDM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SIMPLE_CARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AUDIO_GRAPH_CARD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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 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': 'm'}> +CONFIG_SND_SAMSUNG_PCM policy<{'armhf': 'm'}> +CONFIG_SND_SAMSUNG_SPDIF policy<{'armhf': 'm'}> +CONFIG_SND_SAMSUNG_I2S policy<{'armhf': 'm'}> +CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994 policy<{'armhf': 'm'}> +CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF policy<{'armhf': 'm'}> +CONFIG_SND_SOC_SMDK_WM8994_PCM policy<{'armhf': 'm'}> +CONFIG_SND_SOC_SNOW policy<{'armhf': 'm'}> +CONFIG_SND_SOC_ODROID policy<{'armhf': 'm'}> +CONFIG_SND_SOC_ARNDALE policy<{'armhf': 'm'}> +CONFIG_SND_SOC_SAMSUNG_TM2_WM5110 policy<{'armhf': 'm'}> + +# 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': 'm'}> +CONFIG_SND_SOC_UNIPHIER_AIO policy<{'armhf': 'm'}> +CONFIG_SND_SOC_UNIPHIER_LD11 policy<{'armhf': 'm'}> +CONFIG_SND_SOC_UNIPHIER_PXS2 policy<{'armhf': 'm'}> +CONFIG_SND_SOC_UNIPHIER_EVEA_CODEC policy<{'armhf': 'm'}> + +# 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'}> +CONFIG_SND_SUN8I_CODEC policy<{'arm64': 'm'}> +CONFIG_SND_SUN8I_CODEC_ANALOG policy<{'arm64': 'm'}> +CONFIG_SND_SUN50I_CODEC_ANALOG policy<{'arm64': 'm'}> +CONFIG_SND_SUN4I_I2S policy<{'arm64': 'n'}> +CONFIG_SND_SUN4I_SPDIF policy<{'arm64': 'n'}> + +# 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'}> +CONFIG_SND_SOC_IMG_I2S_IN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMG_I2S_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMG_PARALLEL_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_IN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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'}> +CONFIG_SND_SOC_ADAU1701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ADAU1761_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ADAU1761_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ADAU7002 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ADAU7118_HW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ADAU7118_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4104 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4458 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4554 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4613 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK4642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK5386 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_AK5558 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ALC5623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_BD28623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_BT_SCO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_SOC_CS35L33 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS35L34 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS35L35 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS35L36 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42L42 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42L51_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42L52 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42L56 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42L73 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4265 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4270 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4271_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4271_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS42XX8_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS43130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS4349 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CS53L30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_CX2072X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_DA7213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_DMIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ES7134 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ES7241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ES8316 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ES8328_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ES8328_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_GTM601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_INNO_RK3036 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_LOCHNAGAR_SC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98088 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98357A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98504 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX9867 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98927 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98373 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX98390 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX9860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM1681 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM1789_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM179X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM179X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM186X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM186X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM3060_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM3060_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM3168A_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM3168A_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM512x_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_PCM512x_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RK3328 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT1308_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT5616 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT5631 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT5682_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT700_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT711_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_RT715_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SGTL5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SIMPLE_AMPLIFIER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SIRF_AUDIO_CODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SSM2305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SSM2602_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SSM2602_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SSM4567 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_STA32X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_STA350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_STI_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS2552 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS2562 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS2770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS5086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS571X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS5720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TAS6424 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TDA7419 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TFA9879 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC31XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320AIC3X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TLV320ADCX140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TS3A227E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TSCS42XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TSCS454 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_UDA1334 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WCD9335 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WCD934X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8524 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8580 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8728 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8731 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8741 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8753 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8776 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8782 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8804_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8804_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8904 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8960 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8962 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8978 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WM8985 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_WSA881X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ZL38060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_ZX_AUD96P22 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MAX9759 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MT6351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MT6358 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_MT6660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_NAU8540 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_NAU8810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_NAU8822 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_NAU8824 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_TPA6130A2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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_HASWELL 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': 'n'}> +# +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': 'n'}> +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_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_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'}> + +# 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'}> +CONFIG_SND_SOC_FSL_SAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_MQS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_AUDMIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_SSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_ESAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_MICFIL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_FSL_EASRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_IMX_AUDMUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': '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-generic': 'y'}> +CONFIG_SND_SOC_EUKREA_TLV320 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_IMX_ES8328 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SND_SOC_IMX_SGTL5000 policy<{'arm64': 'm', 'armhf-generic': 'y'}> +CONFIG_SND_SOC_IMX_SPDIF policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SND_SOC_IMX_MC13783 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_FSL_ASOC_CARD policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_SND_SOC_IMX_AUDMIX policy<{'arm64': 'm', 'armhf-generic': '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'}> +CONFIG_SND_SOC_MIKROE_PROTO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA20_AC97 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA20_DAS policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA20_I2S policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA20_SPDIF policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA30_AHUB policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA30_I2S policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_RT5640 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_WM8753 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_WM8903 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_WM9712 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_TRIMSLICE policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_ALC5632 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_MAX98090 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_RT5677 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_TEGRA_SGTL5000 policy<{'armhf-generic': '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'}> + +# 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'}> +CONFIG_SND_SOC_SOF_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SOF_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SND_SOC_SOF_OF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SOC_SOF_DEBUG_PROBES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL policy<{'arm64': 'y'}> +CONFIG_SND_SOC_SOF_IMX8_SUPPORT policy<{'arm64': 'y'}> +CONFIG_SND_SOC_SOF_IMX8M_SUPPORT 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': 'n', 'ppc64el': 'n'}> + +# 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_MERRIFIELD_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_HDA_LINK policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 policy<{'amd64': 'n'}> +# +CONFIG_SND_SOC_SOF_HDA_LINK mark note +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC mark note +CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 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'}> + +# 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'}> +CONFIG_SND_DICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_OXFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_ISIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_FIREWORKS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_BEBOB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_FIREWIRE_DIGI00X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_FIREWIRE_TASCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_FIREWIRE_MOTU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_FIREFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_PCSP policy<{'amd64': 'm'}> +CONFIG_SND_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_ALOOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_VIRMIDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_MTPAV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_MTS64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SERIAL_U16550 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_MPU401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_PORTMAN2X4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AC97_POWER_SAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_AC97_POWER_SAVE_DEFAULT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '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'}> +CONFIG_SND_HDA_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_SND_HDA_HWDEP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDA_RECONFIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP_MODE policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_SND_HDA_PATCH_LOADER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDA_CODEC_REALTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_SIGMATEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_HDMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_CIRRUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_CONEXANT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_CA0110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132_DSP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDA_CODEC_CMEDIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_CODEC_SI3054 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDA_POWER_SAVE_DEFAULT policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1'}> +# +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'}> +CONFIG_SND_AD1889 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_ATIIXP_MODEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AU8810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AU8820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AU8830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_AW2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_BT87X_OVERCLOCK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SND_CA0106 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_CMIPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_OXYGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_CS4281 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_CS46XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_CS46XX_NEW_DSP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_CTXFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_DARLA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_GINA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_LAYLA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_DARLA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_GINA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_LAYLA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_MONA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_MIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_ECHO3G policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INDIGO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INDIGOIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INDIGODJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INDIGOIOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INDIGODJX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_ENS1371 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_FM801_TEA575X_BOOL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_HDSP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_HDSPM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_INTEL8X0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_INTEL8X0M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_KORG1212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_LOLA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_LX6464ES policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': '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'}> +CONFIG_SND_NM256 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_PCXHR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_RIPTIDE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_RME32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_RME96 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_RME9652 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SND_VIA82XX_MODEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_VIRTUOSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_VX222 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_YMFPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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'}> +CONFIG_SND_SEQ_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_SEQUENCER_OSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SND_SEQ_HRTIMER_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_SND_USB_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_UA101 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_USX2Y policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_CAIAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_CAIAQ_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SND_USB_US122L policy<{'amd64': 'm'}> +CONFIG_SND_USB_6FIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_HIFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_BCD2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_POD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_PODHD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_TONEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_VARIAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SOUNDWIRE_INTEL policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SOUNDWIRE_QCOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_SOUNDWIRE mark note + +# Menu: Device Drivers >> Staging drivers +CONFIG_STAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PRISM2_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8723BS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_R8712U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_R8188EU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_88EU_AP_MODE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RTS5208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VT6655 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VT6656 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_SM750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EMXX policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_STAGING_BOARD policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_LTE_GDM724X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FIREWIRE_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FWTTY_MAX_TOTAL_PORTS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64'}> +CONFIG_FWTTY_MAX_CARD_PORTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32'}> +CONFIG_GS_FPGABOOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMMON_CLK_XLNX_CLKWZRD policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_FSL_DPAA2 policy<{'arm64': 'y'}> +CONFIG_FSL_DPAA2_ETHSW policy<{'arm64': 'm'}> +CONFIG_WILC1000_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WILC1000_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WILC1000_HW_OOB_INTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KS7010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_AUDIO 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'}> +CONFIG_XIL_AXIS_FIFO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QLGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_STAGING flag + +# Menu: Device Drivers >> Staging drivers >> Android +CONFIG_ASHMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Android >> Ion Memory Manager +CONFIG_ION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Staging drivers >> Broadcom VideoCore support +CONFIG_BCM_VIDEOCORE policy<{'arm64': 'm'}> +CONFIG_BCM2835_VCHIQ policy<{'arm64': 'm'}> +CONFIG_SND_BCM2835 policy<{'arm64': 'm'}> +CONFIG_VIDEO_BCM2835 policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Daktronics KPC Device support +CONFIG_KPC2000 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KPC2000_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KPC2000_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KPC2000_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_KPC2000_DMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) +CONFIG_COMEDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB policy<{'amd64': '2048', 'arm64': '2048', 'armhf': '2048', 'ppc64el': '2048'}> +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB policy<{'amd64': '20480', 'arm64': '20480', 'armhf': '20480', 'ppc64el': '20480'}> +CONFIG_COMEDI_8255_SA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_KCOMEDILIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi ISA and PC/104 drivers +CONFIG_COMEDI_ISA_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_COMEDI_PCL711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL726 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL812 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL816 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCL818 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCM3724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_RTI800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_RTI802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAC02 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS16M1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS08_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS1800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS6402 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT2801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT2811 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT2814 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT2815 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT2817 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT282X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DMM32AT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_FL512 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AIO_AIO12_8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AIO_IIRO_16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_II_PCI20KC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_C6XDIGIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_MPC624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADQ12B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_AT_A2150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_AT_AO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_ATMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_ATMIO16D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_LABPC_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCMAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCMDA12 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCMMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PCMUIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_MULTIQ3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_S526 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi PCI drivers +CONFIG_COMEDI_PCI_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_8255_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1516 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1564 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_16XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3120 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADL_PCI6208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADL_PCI7X3X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADL_PCI8164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADL_PCI9111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADL_PCI9118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI1710 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI1720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI1723 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI1724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI1760 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ADV_PCI_DIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PCI224 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_AMPLC_PCI230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CONTEC_PCI_DIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAS08_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DYNA_PCI10XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_GSC_HPDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_MF6X4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ICP_MULTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DAQBOARD2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_JR3_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_KE_COUNTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CB_PCIDAS64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CB_PCIDAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CB_PCIDDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CB_PCIMDAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_CB_PCIMDDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ME4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_ME_DAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_6527 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_65XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_660X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_670X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_LABPC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_PCIDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_PCIMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_RTD520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_S626 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging 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 >> Staging drivers >> Data acquisition support (comedi) >> Comedi USB drivers +CONFIG_COMEDI_USB_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_DT9812 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_NI_USB6501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_USBDUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_USBDUXFAST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_USBDUXSIGMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_VMK80XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi misc drivers +CONFIG_COMEDI_MISC_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_COMEDI_BOND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_COMEDI_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Fieldbus Device Support +CONFIG_FIELDBUS_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HMS_ANYBUSS_BUS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ARCX_ANYBUS_CONTROLLER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HMS_PROFINET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Gasket devices +CONFIG_STAGING_GASKET_FRAMEWORK policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_STAGING_APEX_DRIVER policy<{'amd64': 'm', 'arm64': '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'}> +CONFIG_ADIS16240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Active energy metering IC +CONFIG_ADE7854 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADE7854_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADE7854_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_ADT7316_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ADT7316_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog to digital converters +CONFIG_AD7816 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Capacitance to digital converters +CONFIG_AD7150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD7746 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Direct Digital Synthesis +CONFIG_AD9832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_AD9834 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Network Analyzer, Impedance Converters +CONFIG_AD5933 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Resolver to digital converters +CONFIG_AD2S1210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> MOST support +CONFIG_MOST_COMPONENTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_CDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_SOUND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_VIDEO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_DIM2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MOST_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers +CONFIG_STAGING_MEDIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VIDEO_ALLEGRO_DVT policy<{'arm64': 'm'}> +CONFIG_VIDEO_HANTRO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_HANTRO_IMX8M policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_VIDEO_HANTRO_ROCKCHIP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_VIDEO_IMX_MEDIA policy<{'armhf-generic': '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'}> +CONFIG_VIDEO_SUNXI_CEDRUS policy<{'arm64': 'm'}> +CONFIG_TEGRA_VDE policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_TEGRA policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_IPU3_IMGU policy<{'amd64': 'm'}> +CONFIG_PHY_ROCKCHIP_DPHY_RX0 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_ROCKCHIP_ISP1 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_USBVISION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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 +CONFIG_VIDEO_ATOMISP policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_ISP2401 policy<{'amd64': 'n'}> +CONFIG_VIDEO_ATOMISP_OV5693 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_OV2722 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_GC2235 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_MT9M114 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_GC0310 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_OV2680 policy<{'amd64': 'm'}> +CONFIG_VIDEO_ATOMISP_LM3554 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> SoC camera support + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> i.MX5/6/7 Media Sub devices +CONFIG_VIDEO_IMX_CSI policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_IMX7_CSI policy<{'armhf-generic': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> NV Tegra Embedded Controller SMBus Interface +CONFIG_MFD_NVEC policy<{'armhf-generic': 'm'}> +CONFIG_KEYBOARD_NVEC policy<{'armhf-generic': 'm'}> +CONFIG_SERIO_NVEC_PS2 policy<{'armhf-generic': 'm'}> +CONFIG_NVEC_POWER policy<{'armhf-generic': 'm'}> +CONFIG_NVEC_PAZ00 policy<{'armhf-generic': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech >> Speakup core +CONFIG_SPEAKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_ACNTSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_APOLLO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_AUDPTR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_BNS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECTLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_LTLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_SOFT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_SPKOUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_TXPRT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SPEAKUP_SYNTH_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for rtllib wireless devices +CONFIG_RTLLIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTLLIB_CRYPTO_CCMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTLLIB_CRYPTO_TKIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTLLIB_CRYPTO_WEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTL8192E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_FB_TFT_AGM1264K_FL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_BD663474 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_HX8340BN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_HX8347D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_HX8353D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_HX8357D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9163 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9325 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9340 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9481 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ILI9486 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_PCD8544 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_RA8875 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_S6D02A1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_S6D1121 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SH1106 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SSD1289 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SSD1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SSD1306 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SSD1331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SSD1351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ST7735R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_ST7789V policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_TINYLCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_TLS8204 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_UC1611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_UC1701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_UPD161704 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_WATTEROTT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FB_TFT_SEPS525 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Unisys SPAR driver support +CONFIG_UNISYSSPAR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UNISYS_VISORNIC policy<{'amd64': 'm'}> +CONFIG_UNISYS_VISORINPUT policy<{'amd64': 'm'}> +CONFIG_UNISYS_VISORHBA policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> TEE drivers +CONFIG_OPTEE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_OPTEE_SHM_NUM_PRIV_PAGES policy<{'arm64': '1', 'armhf': '1'}> +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', 's390x': 'n'}> +CONFIG_THERMAL_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_THERMAL_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_WRITABLE_TRIPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_GOV_FAIR_SHARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_GOV_STEP_WISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_GOV_BANG_BANG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_GOV_USER_SPACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_GOV_POWER_ALLOCATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CLOCK_THERMAL policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_THERMAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_EMULATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_THERMAL_MMIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_HISI_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_THERMAL policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_IMX_SC_THERMAL policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_IMX8MM_THERMAL policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_K3_THERMAL policy<{'arm64': 'm'}> +CONFIG_MAX77620_THERMAL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SUN8I_THERMAL policy<{'arm64': 'm'}> +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'}> +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'}> +CONFIG_SPRD_THERMAL policy<{'arm64': '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'}> +CONFIG_CPU_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_IDLE_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_QORIQ_THERMAL policy<{'arm64': 'm'}> +CONFIG_UNIPHIER_THERMAL policy<{'armhf': 'm'}> + +# 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'}> +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +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'}> + +# 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<{'armhf-generic': 'n'}> +CONFIG_TEGRA_BPMP_THERMAL policy<{'armhf-generic': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> Qualcomm thermal drivers +CONFIG_QCOM_TSENS policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SPMI_TEMP_ALARM 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': 'm', 'ppc64el': 'n'}> +CONFIG_TI_THERMAL policy<{'armhf': 'y'}> +CONFIG_OMAP3_THERMAL policy<{'armhf-generic': 'n'}> +CONFIG_OMAP4_THERMAL policy<{'armhf-generic': 'y'}> +CONFIG_DRA752_THERMAL policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> USB support +CONFIG_USB_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_USB_LED_TRIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ULPI_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CONN_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_UHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ROLE_SWITCH policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm'}> +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'}> +CONFIG_USB_CHIPIDEA_UDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CHIPIDEA_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CHIPIDEA_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CHIPIDEA_MSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CHIPIDEA_IMX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CHIPIDEA_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CHIPIDEA_TEGRA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB +CONFIG_USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ANNOUNCE_NEW_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_DEFAULT_PERSIST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_OTG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_OTG_WHITELIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_OTG_BLACKLIST_HUB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_LEDS_TRIGGER_USBPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_AUTOSUSPEND_DELAY policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2'}> +CONFIG_USB_MON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_C67X00_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_USB_OXU210HP_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_ISP116X_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_FOTG210_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MAX3421_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_USB_SL811_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SL811_HCD_ISO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_SL811_CS policy<{'amd64': 'm'}> +CONFIG_USB_R8A66597_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_RENESAS_USBHS_HCD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_IMX21_HCD policy<{'armhf-generic': 'm'}> +CONFIG_USB_HCD_BCMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'm'}> +CONFIG_USB_HCD_SSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'm'}> +CONFIG_USB_HCD_TEST_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_RENESAS_USBHS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_ACM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_WDM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_TMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MDC800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MICROTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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'}> +CONFIG_USB_USS720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EMI62 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EMI26 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_ADUTUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SEVSEG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_LEGOTOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_LCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CYPRESS_CY7C63 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CYTHERM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_IDMOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_FTDI_ELAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_APPLEDISPLAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_APPLE_MFI_FASTCHARGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SISUSBVGA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_LD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_TRANCEVIBRATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_IOWARRIOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EHSET_TEST_FIXTURE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_ISIGHTFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_YUREX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EZUSB_FX2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_HUB_USB251XB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_HSIC_USB3503 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_HSIC_USB4604 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_LINK_LAYER_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CHAOSKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +# +CONFIG_USB_OTG note +CONFIG_USB_OTG_WHITELIST note +CONFIG_USB_OTG_BLACKLIST_HUB 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'}> +CONFIG_USB_CDNS3_GADGET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CDNS3_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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-generic': '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'}> +CONFIG_USB_DWC2_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_USB_DWC2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_DWC2_TRACK_MISSED_SOFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_USB_DWC2_PERIPHERAL policy<{'armhf': 'n'}> +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'}> +CONFIG_USB_DWC3_ULPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_DWC3_OMAP policy<{'armhf': 'm'}> +CONFIG_USB_DWC3_EXYNOS policy<{'armhf': 'm'}> +CONFIG_USB_DWC3_PCI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB_DWC3_HAPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_DWC3_QCOM policy<{'arm64': 'm', 'armhf': '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'}> +CONFIG_USB_DWC3_GADGET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_DWC3_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_EHCI_ROOT_HUB_TT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_EHCI_TT_NEWSCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_EHCI_FSL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EHCI_MXC policy<{'arm64': 'm', 'armhf-generic': 'm'}> +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<{'armhf-generic': 'm'}> +CONFIG_USB_EHCI_HCD_PPC_OF policy<{'ppc64el': 'y'}> +CONFIG_USB_EHCI_EXYNOS policy<{'armhf': 'y'}> +CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'm'}> +# +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'}> +CONFIG_USB_ISP1760_GADGET_ROLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_ISP1760_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_MUSB_SUNXI policy<{'arm64': 'm'}> +CONFIG_USB_MUSB_TUSB6010 policy<{'armhf': 'm'}> +CONFIG_USB_MUSB_OMAP2PLUS policy<{'armhf': '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'}> + +# 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'}> +CONFIG_USB_MUSB_GADGET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_MUSB_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +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'}> +CONFIG_USB_OHCI_EXYNOS policy<{'armhf': 'y'}> +CONFIG_USB_OHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf-generic': 'm', 'armhf-generic-lpae': 'n', 'ppc64el': 'm'}> +# +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'}> +CONFIG_USB_SPEEDTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CXACRU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_UEAGLEATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_XUSBATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_STORAGE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_STORAGE_REALTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_STORAGE_FREECOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_ISD200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_USBAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_SDDR09 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_SDDR55 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_JUMPSHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_ALAUDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_ONETOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_KARMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_CYPRESS_ATACB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_STORAGE_ENE_UB6250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_UAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_SERIAL_GENERIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_SERIAL_SIMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_AIRCABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_ARK3116 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_BELKIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_CH341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_WHITEHEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_DIGI_ACCELEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_CP210X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_CYPRESS_M8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_EMPEG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_FTDI_SIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_VISOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_IPAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_IR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_F81232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_F8153X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_GARMIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_IPW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_IUU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN_PDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_KLSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_KOBIL_SCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_MCT_U232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_METRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_MOS7720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_MOS7715_PARPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_SERIAL_MOS7840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_MXUPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_NAVMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_PL2303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_OTI6858 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_QCAUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_QUALCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_SPCP8X5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_SAFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_SAFE_PADDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_SERIAL_SIERRAWIRELESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_SYMBOL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_CYBERJACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_XIRCOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_OPTION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_OMNINET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_OPTICON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_XSENS_MT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_WISHBONE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_SSU100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_QT2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_UPD78F0730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_DEBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USBIP_VHCI_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USBIP_VHCI_HC_PORTS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> +CONFIG_USBIP_VHCI_NR_HCS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1'}> +CONFIG_USBIP_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USBIP_VUDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USBIP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_USB_XHCI_DBGCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_XHCI_PCI_RENESAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_XHCI_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +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<{'armhf-generic': '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'}> +CONFIG_USB_GADGET_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_GADGET_DEBUG_FILES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_GADGET_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_GADGET_VBUS_DRAW policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2'}> +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2'}> +CONFIG_U_SERIAL_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_CONFIGFS_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_ACM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_OBEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_NCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_ECM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_ECM_SUBSET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_EEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_PHONET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_MASS_STORAGE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_LB_SS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_MIDI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_HID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_UVC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_PRINTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_CONFIGFS_F_TCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GADGET_UAC1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GADGET_UAC1_LEGACY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_ETH_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ETH_EEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_G_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GADGETFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MASS_STORAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GADGET_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MIDI_GADGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_CDC_COMPOSITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_NOKIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_ACM_MS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_MULTI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'm', 'ppc64el': 'n'}> +CONFIG_USB_G_MULTI_RNDIS policy<{'armhf': 'y'}> +CONFIG_USB_G_MULTI_CDC policy<{'armhf': 'y'}> +CONFIG_USB_G_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_DBGP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_G_WEBCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_RAW_GADGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_G_DBGP_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_USB_FUNCTIONFS_ETH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_FUNCTIONFS_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_FUNCTIONFS_GENERIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Peripheral Controller +CONFIG_USB_FSL_USB2 policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_USB_FUSB300 policy<{'armhf-generic': 'm'}> +CONFIG_USB_FOTG210_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GR_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_R8A66597 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_USB_MV_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MV_U3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_SNP_UDC_PLAT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_M66592 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_BDC_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_AMD5536UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET2272 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_NET2272_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_NET2280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GOKU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_EG20T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_GADGET_XILINX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MAX3420_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_TEGRA_XUDC policy<{'armhf-generic': 'm'}> +CONFIG_USB_ASPEED_VHUB policy<{'armhf': 'm'}> +CONFIG_USB_DUMMY_HCD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +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'}> +CONFIG_TAHVO_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TAHVO_USB_HOST_BY_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_ISP1301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_USB_MXS_PHY policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_USB_TEGRA_PHY policy<{'armhf-generic': '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'}> +CONFIG_TYPEC_UCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_UCSI_CCG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_UCSI_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TYPEC_HD3SS3220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TYPEC_TPS6598X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_TYPEC_NVIDIA_ALTMODE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +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'}> +CONFIG_TYPEC_TCPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TYPEC_RT1711H policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TYPEC_FUSB302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TYPEC_WCOVE policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Userspace I/O drivers +CONFIG_UIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_UIO_CIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_PDRV_GENIRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_DMEM_GENIRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_AEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_SERCOS3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_PCI_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_NETX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_UIO_MF624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UIO_HV_GENERIC policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework +CONFIG_VFIO policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_VFIO_NOIOMMU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VFIO_PCI policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 's390x': 'm'}> +CONFIG_VFIO_PCI_VGA policy<{'amd64': 'y'}> +CONFIG_VFIO_PCI_IGD policy<{'amd64': 'y'}> +CONFIG_VFIO_MDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VFIO_MDEV_DEVICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_VFIO marknote +CONFIG_VFIO_PCI marknote + +# 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', 's390x': 'y'}> +CONFIG_VHOST_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VHOST_SCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VHOST_VSOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VHOST_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VHOST_CROSS_ENDIAN_LEGACY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> VME bridge support +CONFIG_VME_BUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_VME_CA91CX42 policy<{'amd64': 'm'}> +CONFIG_VME_TSI148 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VME_FAKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VMIVME_7805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VME_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Virtio drivers +CONFIG_VIRTIO_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_PCI_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIRTIO_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_VIRTIO_BALLOON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_MEM policy<{'amd64': 'm'}> +CONFIG_VIRTIO_INPUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_VBOXGUEST policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Voltage and Current Regulator Support +CONFIG_REGULATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_REGULATOR_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_REGULATOR_FIXED_VOLTAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> +CONFIG_REGULATOR_VIRTUAL_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_USERSPACE_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_88PG86X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_88PM800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_88PM8607 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ACT8865 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_AD5398 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ANATOP policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_REGULATOR_AAT2870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_AB3100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ARIZONA_LDO1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ARIZONA_MICSUPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_AS3711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_AS3722 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_BCM590XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9062 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9063 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_DA9211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_FAN53555 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_HI6421 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_HI6421V530 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_HI655X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_ISL9305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_ISL6271A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LM363X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP3971 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP3972 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP872X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP873X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP8755 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LTC3589 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_LTC3676 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX14577 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX1586 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8649 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8952 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8973 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77802 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MAX77826 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MC13892 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MCP16502 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MP5416 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MP8859 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MP886X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MPQ7920 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MT6311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MT6323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MT6358 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_MT6380 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PBIAS policy<{'armhf': 'm'}> +CONFIG_REGULATOR_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PFUZE100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PV88060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PV88080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PV88090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_QCOM_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_QCOM_RPMH policy<{'arm64': 'm'}> +CONFIG_REGULATOR_QCOM_SMD_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_QCOM_SPMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_RC5T583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_RN5T618 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_S2MPA01 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_S2MPS11 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_S5M8767 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_SC2731 policy<{'arm64': 'm'}> +CONFIG_REGULATOR_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_SLG51000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_STPMIC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TI_ABB policy<{'armhf': 'y'}> +CONFIG_REGULATOR_SY8106A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_SY8824X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS51632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS62360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65217 policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_REGULATOR_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS6524X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS6586X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS65912 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TPS80031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic': 'y', 'armhf-generic-lpae': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_UNIPHIER policy<{'armhf': 'm'}> +CONFIG_REGULATOR_VCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_REGULATOR_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_WM8400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_REGULATOR_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_WATCHDOG_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_NOWAYOUT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_OPEN_TIMEOUT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 's390x': '0'}> +CONFIG_WATCHDOG_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SOFT_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SOFT_WATCHDOG_PRETIMEOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BD70528_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA9052_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA9055_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA9063_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DA9062_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MENF21BMC_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MENZ069_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WDAT_WDT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_WM831X_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_WM8350_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_XILINX_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ZIIRAVE_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_RAVE_SP_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MLX_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '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', 's390x': 'n'}> +CONFIG_FTWDT010_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_S3C2410_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_DW_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_SUNXI_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_NPCM7XX_WATCHDOG policy<{'armhf': 'y'}> +CONFIG_TWL4030_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TS4800_WATCHDOG policy<{'armhf-generic': 'm'}> +CONFIG_MAX63XX_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MAX77620_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IMX2_WDT policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_IMX_SC_WDT policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_IMX7ULP_WDT policy<{'arm64': 'm', 'armhf-generic': 'm'}> +CONFIG_RETU_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TEGRA_WATCHDOG policy<{'armhf-generic': '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'}> +CONFIG_UNIPHIER_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_RTD119X_WATCHDOG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SPRD_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_PM8916_WATCHDOG policy<{'arm64': 'm', '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', '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', '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'}> +CONFIG_HPWDT_NMI_DECODING policy<{'amd64': 'y'}> +CONFIG_KEMPLD_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_WATCHDOG_RTAS policy<{'ppc64el': 'm'}> +CONFIG_DIAG288_WATCHDOG policy<{'s390x': 'm'}> +CONFIG_XEN_WDT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_PCIPCWATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_WDTPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_USBPCWATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors +CONFIG_WATCHDOG_PRETIMEOUT_GOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers +CONFIG_X86_PLATFORM_DEVICES policy<{'amd64': 'y'}> +CONFIG_ACERHDF policy<{'amd64': 'm'}> +CONFIG_ACER_WIRELESS policy<{'amd64': 'm'}> +CONFIG_APPLE_GMUX policy<{'amd64': 'm'}> +CONFIG_ASUS_LAPTOP policy<{'amd64': 'm'}> +CONFIG_ASUS_WIRELESS policy<{'amd64': 'm'}> +CONFIG_EEEPC_LAPTOP policy<{'amd64': 'm'}> +CONFIG_DCDBAS policy<{'amd64': 'm'}> +CONFIG_DELL_RBTN policy<{'amd64': 'm'}> +CONFIG_DELL_RBU policy<{'amd64': 'm'}> +CONFIG_DELL_SMO8800 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_HP_WIRELESS policy<{'amd64': 'm'}> +CONFIG_IBM_RTL policy<{'amd64': 'm'}> +CONFIG_SENSORS_HDAPS policy<{'amd64': 'm'}> +CONFIG_INTEL_CHT_INT33FE policy<{'amd64': 'm'}> +CONFIG_INTEL_HID_EVENT policy<{'amd64': 'm'}> +CONFIG_INTEL_INT0002_VGPIO policy<{'amd64': 'm'}> +CONFIG_INTEL_MENLOW policy<{'amd64': 'm'}> +CONFIG_INTEL_OAKTRAIL policy<{'amd64': 'm'}> +CONFIG_INTEL_VBTN policy<{'amd64': 'm'}> +CONFIG_SURFACE_3_BUTTON policy<{'amd64': 'm'}> +CONFIG_SURFACE_3_POWER_OPREGION policy<{'amd64': 'm'}> +CONFIG_SURFACE_PRO3_BUTTON 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_I2C_MULTI_INSTANTIATE policy<{'amd64': 'm'}> +CONFIG_MLX_PLATFORM policy<{'amd64': 'm'}> +CONFIG_TOUCHSCREEN_DMI policy<{'amd64': 'y'}> +CONFIG_INTEL_IPS 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'}> +CONFIG_INTEL_BXTWC_PMIC_TMU policy<{'amd64': 'm'}> +CONFIG_INTEL_CHTDC_TI_PWRBTN policy<{'amd64': 'm'}> +CONFIG_INTEL_MFLD_THERMAL policy<{'amd64': 'm'}> +CONFIG_INTEL_MID_POWER_BUTTON policy<{'amd64': 'm'}> +CONFIG_INTEL_MRFLD_PWRBTN policy<{'amd64': 'm'}> +CONFIG_INTEL_PMC_CORE policy<{'amd64': 'y'}> +CONFIG_INTEL_PUNIT_IPC 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'}> +CONFIG_INTEL_TELEMETRY policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> 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_LAPTOP policy<{'amd64': 'm'}> +CONFIG_DELL_WMI policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> 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_ALIENWARE_WMI policy<{'amd64': 'm'}> +CONFIG_HUAWEI_WMI policy<{'amd64': 'm'}> +CONFIG_INTEL_WMI_SBL_FW_UPDATE policy<{'amd64': 'm'}> +CONFIG_INTEL_WMI_THUNDERBOLT policy<{'amd64': 'm'}> +CONFIG_MXM_WMI policy<{'amd64': 'm'}> +CONFIG_PEAQ_WMI policy<{'amd64': 'm'}> +CONFIG_XIAOMI_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_DELL_WMI_AIO policy<{'amd64': 'm'}> +CONFIG_DELL_WMI_LED policy<{'amd64': 'm'}> +CONFIG_HP_WMI policy<{'amd64': 'm'}> +CONFIG_IDEAPAD_LAPTOP policy<{'amd64': 'm'}> +CONFIG_SURFACE3_WMI 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'}> +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT policy<{'amd64': '512'}> +CONFIG_XEN_SCRUB_PAGES_DEFAULT policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_DEV_EVTCHN policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_XENFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_XEN_COMPAT_XENFS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_SYS_HYPERVISOR policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_GNTDEV policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_XEN_GNTDEV_DMABUF policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_GRANT_DEV_ALLOC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_XEN_GRANT_DMA_ALLOC policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_PVCALLS_FRONTEND policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_XEN_ACPI_PROCESSOR policy<{'amd64': 'y'}> +CONFIG_XEN_MCE_LOG policy<{'amd64': 'y'}> +CONFIG_XEN_SYMS policy<{'amd64': 'y'}> +# +CONFIG_XEN_ACPI_PROCESSOR mark note + +# Menu: Device Drivers >> Xen driver support >> Backend driver support +CONFIG_XEN_BACKEND policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_PCIDEV_BACKEND policy<{'amd64': 'm'}> +CONFIG_XEN_PVCALLS_BACKEND policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_XEN_SCSI_BACKEND policy<{'amd64': 'm', 'arm64': 'm'}> + +# Menu: Device Drivers >> vDPA drivers +CONFIG_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_VDPA_SIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IFCVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_MODULE_FORCE_LOAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_UNLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MODULE_FORCE_UNLOAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODVERSIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MODULE_SRCVERSION_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MODULE_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_UNUSED_SYMBOLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_MODVERSIONS mark note + +# Menu: Enable loadable module support >> Compression algorithm + +# Menu: Enable loadable module support >> Module signature verification +CONFIG_MODULE_SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MODULE_SIG_FORCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA224 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA256 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA384 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA512 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Enable the block layer +CONFIG_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_BSG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_BSGLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_INTEGRITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_ZONED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_THROTTLING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_THROTTLING_LOW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BLK_CMDLINE_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_WBT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP_IOLATENCY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BLK_CGROUP_IOCOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_WBT_MQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_DEBUG_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_SED_OPAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_MQ_IOSCHED_KYBER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IOSCHED_BFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BFQ_GROUP_IOSCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BFQ_CGROUP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_AIX_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_OSF_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_AMIGA_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ATARI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_IBM_PARTITION policy<{'s390x': 'y'}> +CONFIG_MAC_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_LDM_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_LDM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SGI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_ULTRIX_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SUN_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_KARMA_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_EFI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSV68_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_CMDLINE_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', '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', 's390x': 'y'}> +CONFIG_BSD_DISKLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_MINIX_SUBPARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SOLARIS_X86_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_UNIXWARE_DISKLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 'ppc64el': 'y'}> + +# Menu: Endianness selection >> Architecture: powerpc + +# Menu: Executable file formats +CONFIG_BINFMT_ELF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_BINFMT_SCRIPT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BINFMT_MISC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_COREDUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_BINFMT_SCRIPT mark note + +# Menu: Executable file formats >> Kernel support for flat binaries +CONFIG_BINFMT_FLAT policy<{'armhf': 'y'}> +CONFIG_BINFMT_FLAT_OLD policy<{'armhf': 'y'}> +CONFIG_BINFMT_ZFLAT policy<{'armhf': 'y'}> +CONFIG_BINFMT_SHARED_FLAT policy<{'armhf': 'y'}> + +# Menu: File systems +CONFIG_VALIDATE_FS_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXT2_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_EXT3_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_JBD2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_GFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GFS2_FS_LOCKING_DLM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NILFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ZONEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_FILE_LOCKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MANDATORY_FILE_LOCKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FS_ENCRYPTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FS_VERITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FS_VERITY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FS_VERITY_BUILTIN_SIGNATURES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DNOTIFY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INOTIFY_USER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FANOTIFY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FANOTIFY_ACCESS_PERMISSIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_QUOTA_NETLINK_INTERFACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AUTOFS4_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'y'}> +CONFIG_AUTOFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'y'}> +CONFIG_FUSE_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SHIFT_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SHIFT_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UNICODE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UNICODE_NORMALIZATION_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_BTRFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BTRFS_FS_CHECK_INTEGRITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BTRFS_FS_RUN_SANITY_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BTRFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BTRFS_ASSERT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BTRFS_FS_REF_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> CD-ROM/DVD Filesystems +CONFIG_ISO9660_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_JOLIET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZISOFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UDF_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: File systems >> Caches +CONFIG_CACHEFILES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CACHEFILES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CACHEFILES_HISTOGRAM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> Caches >> General filesystem local caching manager +CONFIG_FSCACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_FSCACHE_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FSCACHE_HISTOGRAM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FSCACHE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FSCACHE_OBJECT_LIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems +CONFIG_MSDOS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_EXFAT_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EXFAT_DEFAULT_IOCHARSET policy<{'amd64': '"utf8"', 'arm64': '"utf8"', 'armhf': '"utf8"', 'ppc64el': '"utf8"'}> +CONFIG_NTFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NTFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NTFS_RW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'y'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems >> VFAT (Windows-95) fs support +CONFIG_VFAT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FAT_DEFAULT_CODEPAGE policy<{'amd64': '437', 'arm64': '437', 'armhf': '437', 'ppc64el': '437', 's390x': '437'}> +CONFIG_FAT_DEFAULT_IOCHARSET policy<{'amd64': '"iso8859-1"', 'arm64': '"iso8859-1"', 'armhf': '"iso8859-1"', 'ppc64el': '"iso8859-1"', 's390x': '"iso8859-1"'}> +CONFIG_FAT_DEFAULT_UTF8 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_VFAT_FS mark note + +# Menu: File systems >> Distributed Lock Manager (DLM) +CONFIG_DLM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DLM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> F2FS filesystem support +CONFIG_F2FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_F2FS_STAT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_CHECK_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_F2FS_IO_TRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_F2FS_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: File systems >> F2FS filesystem support >> F2FS compression feature +CONFIG_F2FS_FS_COMPRESSION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_F2FS_FS_LZORLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> JFS filesystem support +CONFIG_JFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_JFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_JFS_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems +CONFIG_MISC_FILESYSTEMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ORANGEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ADFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ADFS_FS_RW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_AFFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ECRYPT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ECRYPT_FS_MESSAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HFSPLUS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_BEFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_EFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CRAMFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CRAMFS_BLOCKDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CRAMFS_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_VXFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MINIX_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_OMFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_HPFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_QNX4FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_QNX6FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_QNX6FS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ROMFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_SYSV_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_UFS_FS_WRITE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_UFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_VBOXSF_FS policy<{'amd64': 'm'}> +# +CONFIG_ECRYPT_FS mark note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support +CONFIG_AUFS_BR_FUSE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_BR_HFSPLUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_AUFS_BR_RAMFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_DIRREN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AUFS_EXPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AUFS_FHSM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_AUFS_HNOTIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_RDU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_SHWH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_AUFS_EXPORT note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> Maximum number of branches +CONFIG_AUFS_BRANCH_MAX_1023 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_BRANCH_MAX_127 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AUFS_BRANCH_MAX_32767 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AUFS_BRANCH_MAX_511 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> method + +# Menu: File systems >> Miscellaneous filesystems >> Default pstore compression algorithm +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> EROFS filesystem support +CONFIG_EROFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_EROFS_FS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_EROFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_ZIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 's390x': '1'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support +CONFIG_JFFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_JFFS2_FS_DEBUG policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> +CONFIG_JFFS2_FS_WRITEBUFFER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_FS_WBUF_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_JFFS2_SUMMARY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_JFFS2_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_JFFS2_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_RTIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_JFFS2_RUBIN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_JFFS2_CMODE_PRIORITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_JFFS2_CMODE_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_JFFS2_CMODE_FAVOURLZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support +CONFIG_PSTORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PSTORE_DEFLATE_COMPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PSTORE_LZO_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_LZ4_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_LZ4HC_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_842_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_ZSTD_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_CONSOLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'y', 'ppc64el': 'n'}> +CONFIG_PSTORE_PMSG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_FTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PSTORE_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support >> Log panic/oops to a block device +CONFIG_PSTORE_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PSTORE_BLK_BLKDEV policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""'}> +CONFIG_PSTORE_BLK_KMSG_SIZE policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64'}> +CONFIG_PSTORE_BLK_MAX_REASON policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2'}> +CONFIG_PSTORE_BLK_CONSOLE_SIZE policy<{'armhf': '64'}> + +# Menu: File systems >> Miscellaneous filesystems >> RomFS backing stores +CONFIG_ROMFS_BACKED_BY_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ROMFS_BACKED_BY_MTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ROMFS_BACKED_BY_BOTH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support +CONFIG_SQUASHFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_XZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_4K_DEVBLK_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_EMBEDDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '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': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_DECOMP_MULTI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# 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', 's390x': 'n'}> +CONFIG_SQUASHFS_FILE_DIRECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support +CONFIG_UBIFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_UBIFS_ATIME_SUPPORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_UBIFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UBIFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UBIFS_FS_AUTHENTICATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_UBIFS_FS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UBIFS_FS_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UBIFS_FS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> Native language support +CONFIG_NLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NLS_DEFAULT policy<{'amd64': '"utf8"', 'arm64': '"utf8"', 'armhf': '"utf8"', 'ppc64el': '"utf8"', 's390x': '"utf8"'}> +CONFIG_NLS_CODEPAGE_437 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NLS_CODEPAGE_737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_850 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_852 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_855 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_857 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_861 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_862 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_863 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_864 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_865 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_866 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_869 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_936 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_932 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_949 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_874 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_1250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_1251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ASCII policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_7 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_13 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_14 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_15 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_KOI8_R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_KOI8_U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ROMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CELTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CENTEURO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CROATIAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CYRILLIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_GAELIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_GREEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ICELAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_INUIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ROMANIAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_TURKISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NLS_UTF8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_NLS note + +# Menu: File systems >> Network File Systems +CONFIG_NETWORK_FILESYSTEMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFSD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFSD_V3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFSD_V3_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RPCSEC_GSS_KRB5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SUNRPC_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SUNRPC_XPRT_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CODA_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_AFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AFS_DEBUG_CURSOR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CEPH_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CEPH_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CEPH_FS_SECURITY_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support +CONFIG_NFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFS_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFS_V3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFS_V3_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFS_V4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFS_SWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFS_USE_LEGACY_DNS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NFS_DISABLE_UDP_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_NFS_V4_2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN policy<{'amd64': '"kernel.org"', 'arm64': '"kernel.org"', 'armhf': '"kernel.org"', 'ppc64el': '"kernel.org"', 's390x': '"kernel.org"'}> +CONFIG_NFS_V4_1_MIGRATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# 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', 's390x': 'y'}> +CONFIG_NFSD_BLOCKLAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFSD_SCSILAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFSD_FLEXFILELAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFSD_V4_SECURITY_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_9P_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_9P_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_9P_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_CIFS_STATS2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CIFS_ALLOW_INSECURE_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_WEAK_PW_HASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_UPCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_POSIX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_DEBUG2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CIFS_DEBUG_DUMP_KEYS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CIFS_DFS_UPCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CIFS_SMB_DIRECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CIFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_CIFS_ALLOW_INSECURE_LEGACY flag + +# Menu: File systems >> OCFS2 file system support +CONFIG_OCFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_O2CB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_USERSPACE_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_OCFS2_DEBUG_MASKLOG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_OCFS2_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> Overlay filesystem support +CONFIG_OVERLAY_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OVERLAY_FS_REDIRECT_DIR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_OVERLAY_FS_INDEX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_OVERLAY_FS_XINO_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_OVERLAY_FS_METACOPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TMPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TMPFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TMPFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HUGETLBFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CONFIGFS_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EFIVAR_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_CONFIGFS_FS flag +CONFIG_EFIVAR_FS note +CONFIG_TMPFS_POSIX_ACL mark note + +# Menu: File systems >> Pseudo filesystems >> /proc file system support +CONFIG_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_KCORE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_VMCORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_VMCORE_DEVICE_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_SYSCTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_PAGE_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: File systems >> Quota support +CONFIG_QUOTA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PRINT_QUOTA_WARNING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_QUOTA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_QFMT_V1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_QFMT_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: File systems >> Reiserfs support +CONFIG_REISERFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_REISERFS_CHECK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_REISERFS_PROC_INFO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_REISERFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_REISERFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_REISERFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: File systems >> The Extended 4 (ext4) filesystem +CONFIG_EXT4_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXT4_USE_FOR_EXT2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXT4_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXT4_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXT4_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: File systems >> XFS filesystem support +CONFIG_XFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XFS_QUOTA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_XFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_XFS_RT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_XFS_ONLINE_SCRUB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XFS_WARN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Firmware Drivers +CONFIG_ARM_SCMI_PROTOCOL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SCMI_POWER_DOMAIN policy<{'arm64': 'm', 'armhf': 'm'}> +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'}> +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_DOWNLOAD_MODE_DEFAULT policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_TI_SCI_PROTOCOL policy<{'arm64': 'y'}> +CONFIG_TRUSTED_FOUNDATIONS policy<{'armhf': 'y'}> +CONFIG_TURRIS_MOX_RWTM policy<{'arm64': 'm', 'armhf': '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-generic': 'm'}> +CONFIG_IMX_SCU policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_IMX_SCU_PD policy<{'arm64': 'y', 'armhf-generic': 'y'}> +CONFIG_ARM_PSCI_CHECKER policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Firmware Drivers >> EFI (Extensible Firmware Interface) Support +CONFIG_EFI_VARS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_EFI_VARS_PSTORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': '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'}> +CONFIG_EFI_CAPSULE_LOADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_EFI_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_APPLE_PROPERTIES policy<{'amd64': 'y'}> +CONFIG_RESET_ATTACK_MITIGATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_EFI_RCI2_TABLE policy<{'amd64': 'y'}> +CONFIG_EFI_DISABLE_PCI_DMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n'}> +# +CONFIG_EFI_VARS mark note + +# Menu: Firmware Drivers >> Google Firmware Drivers +CONFIG_GOOGLE_FIRMWARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n'}> + +# Menu: Firmware Drivers >> Google Firmware Drivers >> Coreboot Table Access + +# Menu: Firmware Drivers >> Tegra firmware driver +CONFIG_TEGRA_IVC policy<{'armhf-generic': 'y'}> +CONFIG_TEGRA_BPMP policy<{'armhf-generic': '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_OPROFILE policy<{'amd64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OPROFILE_EVENT_MULTIPLEX policy<{'amd64': 'n'}> +CONFIG_KPROBES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_JUMP_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_STATIC_KEYS_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_STACKPROTECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_STACKPROTECTOR_STRONG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ARCH_MMAP_RND_BITS policy<{'amd64': '28', 'arm64': '18', 'armhf': '8', 'ppc64el': '28'}> +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', 's390x': 'y'}> +CONFIG_VMAP_STACK policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +CONFIG_STRICT_KERNEL_RWX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-', 's390x': 'y'}> +CONFIG_STRICT_MODULE_RWX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'y'}> +CONFIG_LOCK_EVENT_COUNTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +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 + +# 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', 's390x': 'n'}> + +# Menu: General setup +CONFIG_COMPILE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LOCALVERSION policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_LOCALVERSION_AUTO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BUILD_SALT policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_DEFAULT_INIT policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_DEFAULT_HOSTNAME policy<{'amd64': '"(none)"', 'arm64': '"(none)"', 'armhf': '"(none)"', 'ppc64el': '"(none)"', 's390x': '"(none)"'}> +CONFIG_VERSION_SIGNATURE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_SWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSVIPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_POSIX_MQUEUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WATCH_QUEUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CROSS_MEMORY_ATTACH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_USELIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AUDIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CPU_ISOLATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IKCONFIG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IKHEADERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LOG_BUF_SHIFT policy<{'amd64': '18', 'arm64': '18', 'armhf': '17', 'ppc64el': '18', 's390x': '18'}> +CONFIG_LOG_CPU_MAX_BUF_SHIFT policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 's390x': '12'}> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT policy<{'amd64': '13', 'arm64': '13', 'armhf': '13', 'ppc64el': '13', 's390x': '13'}> +CONFIG_NUMA_BALANCING policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_CHECKPOINT_RESTORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCHED_AUTOGROUP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSFS_DEPRECATED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RELAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BOOT_CONFIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LD_DEAD_CODE_DATA_ELIMINATION policy<{'ppc64el': 'n'}> +CONFIG_BPF_LSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BPF_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BPF_JIT_ALWAYS_ON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_USERFAULTFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EMBEDDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_COMPAT_BRK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SLAB_MERGE_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLAB_FREELIST_RANDOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLAB_FREELIST_HARDENED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SHUFFLE_PAGE_ALLOCATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLUB_CPU_PARTIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROFILING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_SYSFS_DEPRECATED mark note +CONFIG_COMPAT_BRK mark note +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED note +CONFIG_BPF_JIT_ALWAYS_ON flag +CONFIG_LOCALVERSION_AUTO mark note + +# Menu: General setup >> CPU/Task time and stats accounting +CONFIG_IRQ_TIME_ACCOUNTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCHED_THERMAL_PRESSURE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BSD_PROCESS_ACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BSD_PROCESS_ACCT_V3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TASKSTATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TASK_DELAY_ACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TASK_XACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TASK_IO_ACCOUNTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PSI_DEFAULT_DISABLED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_VIRT_CPU_ACCOUNTING_NATIVE policy<{'ppc64el': 'n', 's390x': 'y'}> +CONFIG_VIRT_CPU_ACCOUNTING_GEN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: General setup >> Choose SLAB allocator +CONFIG_SLAB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SLUB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLOB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: General setup >> Compiler optimization level +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CC_OPTIMIZE_FOR_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: General setup >> Configure standard kernel features (expert users) +CONFIG_EXPERT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SGETMASK_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYSFS_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FHANDLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_POSIX_TIMERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PRINTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ELF_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PCSPKR_PLATFORM policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_BASE_FULL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FUTEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EPOLL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SIGNALFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TIMERFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EVENTFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SHMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IO_URING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ADVISE_SYSCALLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MEMBARRIER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KALLSYMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KALLSYMS_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RSEQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_RSEQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PC104 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_VM_EVENT_COUNTERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLUB_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SLUB_MEMCG_SYSFS_ON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_FHANDLE mark note +CONFIG_SLUB_MEMCG_SYSFS_ON flag + +# Menu: General setup >> Control Group support +CONFIG_CGROUPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MEMCG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_PIDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_RDMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_FREEZER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_HUGETLB policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CPUSETS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PROC_PID_CPUSET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_CPUACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_PERF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_BPF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: General setup >> Control Group support >> CPU controller +CONFIG_CGROUP_SCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FAIR_GROUP_SCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CFS_BANDWIDTH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RT_GROUP_SCHED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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_IRQ_FORCED_THREADING_DEFAULT policy<{'amd64-generic': 'n', 'amd64-lowlatency': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SPARSE_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_GENERIC_IRQ_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_RD_GZIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RD_BZIP2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RD_LZMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RD_XZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RD_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RD_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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': '""', 's390x': '""'}> + +# 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', 's390x': 'y'}> +CONFIG_DEBUG_PERF_USE_VMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': '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': 'y', 'armhf': 'n', 's390x': 'y'}> +CONFIG_KERNEL_UNCOMPRESSED policy<{'s390x': 'n'}> + +# Menu: General setup >> Namespaces support +CONFIG_NAMESPACES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UTS_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TIME_NS policy<{'amd64': 'y'}> +CONFIG_IPC_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_USER_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PID_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: General setup >> Preemption Model +CONFIG_PREEMPT_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_PREEMPT_VOLUNTARY policy<{'amd64-generic': 'y', 'amd64-lowlatency': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_PREEMPT policy<{'amd64-generic': 'n', 'amd64-lowlatency': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', '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', 's390x': 'y'}> +CONFIG_CONTEXT_TRACKING_FORCE policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 's390x': '-'}> +CONFIG_HIGH_RES_TIMERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_NO_HZ_IDLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NO_HZ_FULL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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 hacking +CONFIG_DEBUG_TIMEKEEPING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_STACKTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_WARN_ALL_UNSEEDED_RANDOM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PROVIDE_OHCI1394_DMA_INIT policy<{'amd64': 'n'}> +CONFIG_STRICT_DEVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IO_STRICT_DEVMEM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_STRICT_DEVMEM mark + +# Menu: Kernel hacking >> $(SRCARCH) Debugging +CONFIG_PID_IN_CONTEXTIDR policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DEBUG_WX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_EARLY_PRINTK policy<{'amd64': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: arm +CONFIG_DEBUG_USER policy<{'armhf': 'n'}> +CONFIG_DEBUG_VF_UART_PORT policy<{'armhf-generic': '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_HCALL_STATS policy<{'ppc64el': 'n'}> +CONFIG_PPC_EMULATED_STATS policy<{'ppc64el': 'n'}> +CONFIG_JUMP_LABEL_FEATURE_CHECKS policy<{'ppc64el': 'y'}> +CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_PPC_IRQ_SOFT_MASK_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_BOOTX_TEXT policy<{'ppc64el': 'n'}> +CONFIG_PPC_EARLY_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_PRINT_STACK_DEPTH policy<{'ppc64el': '64'}> +CONFIG_CODE_PATCHING_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_FTR_FIXUP_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_MSI_BITMAP_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_PPC_PTDUMP policy<{'ppc64el': 'n'}> +CONFIG_PPC_FAST_ENDIAN_SWITCH policy<{'ppc64el': 'n'}> +# +CONFIG_PPC_DISABLE_WERROR flag + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: s390 +CONFIG_S390_PTDUMP policy<{'s390x': 'y'}> + +# 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_ENTRY 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'}> +CONFIG_UNWINDER_GUESS 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_ENABLE_MUST_CHECK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FRAME_WARN policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '2048', 's390x': '1024'}> +CONFIG_STRIP_ASM_SYMS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_READABLE_ASM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_HEADERS_INSTALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SECTION_MISMATCH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SECTION_MISMATCH_WARN_ONLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FRAME_POINTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_STACK_VALIDATION policy<{'amd64': 'y'}> +CONFIG_DEBUG_FORCE_WEAK_PER_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_DEBUG_INFO_REDUCED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_COMPRESSED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_SPLIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_DWARF4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_INFO_BTF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_GDB_SCRIPTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_DEBUG_INFO mark note +CONFIG_DEBUG_INFO_SPLIT note +CONFIG_DEBUG_INFO_BTF flag note + +# Menu: Kernel hacking >> Debug Oops, Lockups and Hangs +CONFIG_PANIC_ON_OOPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PANIC_TIMEOUT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '10', 's390x': '0'}> +CONFIG_SOFTLOCKUP_DETECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT policy<{'amd64': '120', 'arm64': '120', 'armhf': '120', 'ppc64el': '120', 's390x': '120'}> +CONFIG_BOOTPARAM_HUNG_TASK_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_WQ_WATCHDOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_LOCKUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_DEBUG_LIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PLIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_NOTIFIERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE policy<{'amd64': '0x01b6', 'arm64': '0x01b6', 'armhf': '0x01b6', 'ppc64el': '0x01b6', 's390x': '0x01b6'}> +CONFIG_MAGIC_SYSRQ_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 's390x': '""'}> +CONFIG_DEBUG_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KGDB: kernel debugger +CONFIG_KGDB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KGDB_SERIAL_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KGDB_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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'}> +CONFIG_KDB_DEFAULT_ENABLE policy<{'amd64': '0x1', 'arm64': '0x1', 'armhf': '0x1', 'ppc64el': '0x1'}> +CONFIG_KDB_KEYBOARD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KDB_CONTINUE_CATASTROPHIC policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> Undefined behaviour sanity checker +CONFIG_UBSAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage +CONFIG_MEMTEST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HYPERV_TESTING policy<{'amd64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Code coverage for fuzzing +CONFIG_KCOV policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Fault-injection framework +CONFIG_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', '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', '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'}> +CONFIG_NETDEV_NOTIFIER_ERROR_INJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_LKDTM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_LIST_SORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_MIN_HEAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_SORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_KPROBES_SANITY_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BACKTRACE_SELF_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RBTREE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_REED_SOLOMON_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_INTERVAL_TREE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PERCPU_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ATOMIC64_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ASYNC_RAID6_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_HEXDUMP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_STRING_HELPERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_STRSCPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_KSTRTOX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_PRINTF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_BITMAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_BITFIELD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_UUID policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_XARRAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_OVERFLOW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_RHASHTABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_HASH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_IDA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_PARMAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_LKM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_BITOPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_VMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_USER_COPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TEST_BLACKHOLE_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_FIND_BIT_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_FIRMWARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_SYSCTL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_UDELAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_STATIC_KEYS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_KMOD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_MEMCAT_P policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_TEST_STACKINIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_MEMINIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_HMM policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': '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_BITFIELD flag +CONFIG_TEST_UUID flag +CONFIG_TEST_XARRAY flag +CONFIG_TEST_OVERFLOW 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 + +# Menu: Kernel hacking >> Kernel debugging +CONFIG_DEBUG_KERNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_MISC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_SHIRQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PREEMPT policy<{'amd64-lowlatency': 'n'}> +CONFIG_DEBUG_KOBJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_CREDENTIALS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_WQ_FORCE_RR_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_BLOCK_EXT_DEVT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CPU_HOTPLUG_STATE_CONTROL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LATENCYTOP policy<{'amd64-generic': 'n', 'amd64-lowlatency': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_LATENCYTOP mark note + +# Menu: Kernel hacking >> Kernel debugging >> KCSAN: dynamic data race detector + +# Menu: Kernel hacking >> Lock Debugging (spinlocks, mutexes, etc...) +CONFIG_PROVE_LOCKING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LOCK_STAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RT_MUTEXES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SPINLOCK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_MUTEXES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_WW_MUTEX_SLOWPATH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RWSEMS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_LOCK_ALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_ATOMIC_SLEEP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_LOCKING_API_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LOCK_TORTURE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_WW_MUTEX_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging +CONFIG_PAGE_EXTENSION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'y', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PAGEALLOC policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PAGE_OWNER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PAGE_POISONING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PAGE_POISONING_NO_SANITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PAGE_POISONING_ZERO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_PAGE_REF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RODATA_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_PTDUMP_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_SLUB_DEBUG_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SLUB_STATS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_STACK_USAGE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SCHED_STACK_END_CHECK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_VM_PGTABLE policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEBUG_VIRTUAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DEBUG_MEMORY_INIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_DEBUG_HIGHMEM policy<{'armhf': 'n'}> +CONFIG_DEBUG_STACKOVERFLOW policy<{'ppc64el': 'n'}> +# +CONFIG_PAGE_POISONING mark note +CONFIG_PAGE_POISONING_ZERO mark note +CONFIG_PAGE_POISONING_NO_SANITY mark note + +# Menu: Kernel hacking >> Memory Debugging >> Debug VM +CONFIG_DEBUG_VM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> Debug object operations +CONFIG_DEBUG_OBJECTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger +CONFIG_KASAN policy<{'amd64': 'n', 'arm64': '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 >> Kernel memory leak detector +CONFIG_DEBUG_KMEMLEAK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> RCU Debugging +CONFIG_RCU_PERF_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RCU_TORTURE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RCU_CPU_STALL_TIMEOUT policy<{'amd64': '60', 'arm64': '60', 'armhf': '60', 'ppc64el': '21', 's390x': '21'}> +CONFIG_RCU_TRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RCU_EQS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SAMPLE_AUXDISPLAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_TRACE_EVENTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_TRACE_PRINTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SAMPLE_FTRACE_DIRECT policy<{'amd64': 'm'}> +CONFIG_SAMPLE_TRACE_ARRAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SAMPLE_KOBJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_KPROBES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SAMPLE_KDB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SAMPLE_QMI_CLIENT policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SAMPLE_RPMSG_CLIENT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SAMPLE_LIVEPATCH policy<{'amd64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_CONFIGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MTTY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MBOCHS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_WATCHDOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SCHEDSTATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> Tracers +CONFIG_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BOOTTIME_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_STACK_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IRQSOFF_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_PREEMPT_TRACER policy<{'amd64-lowlatency': 'n'}> +CONFIG_SCHED_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HWLAT_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MMIOTRACE policy<{'amd64': 'y'}> +CONFIG_FTRACE_SYSCALLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRACER_SNAPSHOT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_BLK_DEV_IO_TRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KPROBE_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KPROBE_EVENTS_ON_NOTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_UPROBE_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BPF_KPROBE_OVERRIDE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_SYNTH_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HIST_TRIGGERS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRACE_EVENT_INJECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRACEPOINT_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RING_BUFFER_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TRACE_EVAL_MAP_FILE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FTRACE_STARTUP_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RING_BUFFER_STARTUP_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MMIOTRACE_TEST policy<{'amd64': 'n'}> +CONFIG_PREEMPTIRQ_DELAY_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SYNTH_EVENT_GEN_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_KPROBE_EVENT_GEN_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_HIST_TRIGGERS_DEBUG policy<{'amd64': 'n', 'arm64': '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', 's390x': 'y'}> +CONFIG_PROFILE_ANNOTATED_BRANCHES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Tracers >> Kernel Function Tracer +CONFIG_FUNCTION_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FUNCTION_GRAPH_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DYNAMIC_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FUNCTION_PROFILER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> printk and dmesg options +CONFIG_PRINTK_TIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PRINTK_CALLER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT policy<{'amd64': '7', 'arm64': '7', 'armhf': '7', 'ppc64el': '7', 's390x': '7'}> +CONFIG_CONSOLE_LOGLEVEL_QUIET policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4', 's390x': '4'}> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4', 's390x': '4'}> +CONFIG_BOOT_PRINTK_DELAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_DYNAMIC_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DYNAMIC_DEBUG_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYMBOLIC_ERRNAME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_BUGVERBOSE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Library routines +CONFIG_RAID6_PQ_BENCHMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_CORDIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_PRIME_NUMBERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_INDIRECT_PIO policy<{'arm64': 'y'}> +CONFIG_CRC_CCITT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRC16 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRC_T10DIF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRC_ITU_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRC32 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRC32_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CRC64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRC4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRC7 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LIBCRC32C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CRC8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RANDOM32_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ZLIB_DFLTCC policy<{'s390x': 'y'}> +CONFIG_DMA_API_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CPUMASK_OFFSTACK policy<{'amd64': 'y'}> +CONFIG_GLOB_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IRQ_POLL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PARMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OBJAGG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_STRING_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_ZLIB_DFLTCC mark note + +# Menu: Library routines >> CRC32 implementation +CONFIG_CRC32_SLICEBY8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CRC32_SLICEBY4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CRC32_SARWATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CRC32_BIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Library routines >> DMA Contiguous Memory Allocator +CONFIG_DMA_CMA policy<{'amd64': '-', 'arm64': 'y', 'armhf': 'y', 's390x': 'n'}> +CONFIG_CMA_SIZE_MBYTES policy<{'arm64': '32', 'armhf': '32'}> +CONFIG_CMA_ALIGNMENT policy<{'arm64': '8', 'armhf': '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'}> +CONFIG_CMA_SIZE_SEL_PERCENTAGE policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CMA_SIZE_SEL_MIN policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CMA_SIZE_SEL_MAX policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Library routines >> Select compiled-in fonts +CONFIG_FONTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FONT_8x8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FONT_8x16 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FONT_6x11 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_7x14 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_PEARL_8x8 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_ACORN_8x8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FONT_MINI_4x6 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_6x10 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FONT_10x18 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_SUN8x16 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_SUN12x22 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FONT_TER16x32 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Library routines >> XZ decompression support +CONFIG_XZ_DEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_XZ_DEC_X86 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_POWERPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_IA64 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_ARM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_ARMTHUMB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_SPARC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +# +CONFIG_XZ_DEC note flag + +# Menu: Memory Management options +CONFIG_SPARSEMEM_VMEMMAP policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_COMPACTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PAGE_REPORTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MIGRATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BOUNCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'n'}> +CONFIG_KSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_MMAP_MIN_ADDR policy<{'amd64': '65536', 'arm64': '32768', 'armhf': '32768', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_CLEANCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FRONTSWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_ZBUD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_Z3FOLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ZSMALLOC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZSMALLOC_STAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEFERRED_STRUCT_PAGE_INIT policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IDLE_PAGE_TRACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': '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', 's390x': 'n'}> +CONFIG_GUP_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_READ_ONLY_THP_FOR_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf-generic-lpae': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_DEFAULT_MMAP_MIN_ADDR mark 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 + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) +CONFIG_ZSWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZSWAP_DEFAULT_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Memory Management options >> Contiguous Memory Allocator +CONFIG_CMA policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CMA_DEBUG policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CMA_DEBUGFS policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CMA_AREAS policy<{'arm64': '7', 'armhf': '7', 'ppc64el': '7', 's390x': '7'}> +# +CONFIG_CMA mark note note + +# Menu: Memory Management options >> Memory model +CONFIG_FLATMEM_MANUAL policy<{'armhf': 'n'}> +CONFIG_SPARSEMEM_MANUAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'n', 's390x': 'y'}> + +# Menu: Memory setup >> Architecture: s390 +CONFIG_MAX_PHYSMEM_BITS policy<{'s390x': '46'}> +CONFIG_PACK_STACK policy<{'s390x': 'y'}> +CONFIG_WARN_DYNAMIC_STACK policy<{'s390x': 'n'}> + +# Menu: Networking support +CONFIG_NET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AF_KCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CEPH_LIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CEPH_LIB_PRETTYDEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CEPH_LIB_USE_DNS_RESOLVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PSAMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_IFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_LWTUNNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LWTUNNEL_BPF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_FAILOVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_ETHTOOL_NETLINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Networking support >> Amateur Radio support +CONFIG_HAMRADIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_AX25_DAMA_SLAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_NETROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ROSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_6PACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BPQETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BAYCOM_SER_FDX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BAYCOM_SER_HDX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BAYCOM_PAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BAYCOM_EPP policy<{'armhf': 'm'}> +CONFIG_YAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support +CONFIG_BT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_LE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_6LOWPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_MSFTEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth Classic (BR/EDR) features +CONFIG_BT_BREDR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_RFCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_RFCOMM_TTY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_BNEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_BNEP_MC_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_BNEP_PROTO_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_CMTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HIDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_BT_HS mark note + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers +CONFIG_BT_HCIBTSDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HCIUART_LL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIBCM203X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HCIBPA10X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HCIBFUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_BT_MRVL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_MRVL_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_MTKSDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_MTKUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_QCOMSMD policy<{'arm64': 'm', 'armhf': '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'}> +CONFIG_BT_HCIUART_H4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_BT_HCIUART_ATH3K policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_3WIRE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_BCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_RTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_QCA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_AG6XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIUART_MRVL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_BT_HCIBTUSB_AUTOSUSPEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIBTUSB_BCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIBTUSB_MTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_HCIBTUSB_RTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BT_ATH3K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> CAIF support +CONFIG_CAIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CAIF_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CAIF_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAIF_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support +CONFIG_CAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CAN_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_BCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_GW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_J1939 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers +CONFIG_CAN_VCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_VXCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_SLCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_DEBUG_DEVICES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_CAN_CALC_BITTIMING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CAN_FLEXCAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_GRCAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_JANZ_ICAN3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_KVASER_PCIEFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_CAN_M_CAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_M_CAN_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_M_CAN_TCAN4X5X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_MSCAN policy<{'ppc64el': 'm'}> +CONFIG_CAN_PEAK_PCIEFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +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'}> +CONFIG_CAN_CC770_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_CC770_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_CAN_C_CAN_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_C_CAN_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_CAN_MCP251X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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'}> +CONFIG_CAN_EMS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_ESD_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_GS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_KVASER_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_MCBA_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_PEAK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_UCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> +CONFIG_CAN_EMS_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_EMS_PCMCIA policy<{'amd64': 'm'}> +CONFIG_CAN_F81601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_KVASER_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_PEAK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_PEAK_PCIEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CAN_PEAK_PCMCIA policy<{'amd64': 'm'}> +CONFIG_CAN_PLX_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_SJA1000_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_CAN_SJA1000_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> NFC subsystem support +CONFIG_NFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_NFC_DIGITAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_NCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_NCI_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_NCI_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_HCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_SHDLC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Networking support >> NFC subsystem support >> Near Field Communication (NFC) devices +CONFIG_NFC_TRF7970A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MEI_PHY policy<{'amd64': 'm'}> +CONFIG_NFC_SIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_PORT100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_FDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_FDP_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_PN544_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_PN544_MEI policy<{'amd64': 'm'}> +CONFIG_NFC_PN533_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_PN533_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_PN532_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MICROREAD_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MICROREAD_MEI policy<{'amd64': 'm'}> +CONFIG_NFC_MRVL_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MRVL_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MRVL_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_MRVL_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_ST21NFCA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_ST_NCI_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_ST_NCI_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_NXP_NCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_NXP_NCI_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_S3FWRN5_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NFC_ST95HF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> Networking options +CONFIG_PACKET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PACKET_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_UNIX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_UNIX_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TLS_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TLS_TOE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XFRM_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XFRM_INTERFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XFRM_SUB_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XFRM_MIGRATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_XFRM_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_KEY_MIGRATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IUCV policy<{'s390x': 'y'}> +CONFIG_AFIUCV policy<{'s390x': 'm'}> +CONFIG_SMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_SMC_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_XDP_SOCKETS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_XDP_SOCKETS_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETWORK_SECMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NETWORK_PHY_TIMESTAMPING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VLAN_8021Q policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VLAN_8021Q_GVRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_VLAN_8021Q_MVRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DECNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_DECNET_ROUTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_LLC2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ATALK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_X25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_LAPB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_PHONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_MAC802154 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DNS_RESOLVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NETLINK_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_NSH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_HSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_CGROUP_NET_PRIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_CGROUP_NET_CLASSID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BPF_JIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_6LOWPAN_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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'}> +CONFIG_6LOWPAN_NHC_DEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_FRAGMENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_HOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_MOBILITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_ROUTING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_NHC_UDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_6LOWPAN_GHC_UDP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_6LOWPAN_GHC_ICMPV6 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Networking support >> Networking options >> 802.1d Ethernet Bridging +CONFIG_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_IGMP_SNOOPING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_VLAN_FILTERING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_MRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> Appletalk interfaces support +CONFIG_DEV_APPLETALK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_LTPC policy<{'amd64': 'm'}> +CONFIG_COPS policy<{'amd64': 'm'}> +CONFIG_COPS_DAYNA policy<{'amd64': 'y'}> +CONFIG_COPS_TANGENT policy<{'amd64': 'y'}> +CONFIG_IPDDP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_IPDDP mark note + +# Menu: Networking support >> Networking options >> Asynchronous Transfer Mode (ATM) +CONFIG_ATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_ATM_CLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_CLIP_NO_ICMP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_ATM_LANE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_MPOA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_BR2684 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATM_BR2684_IPFILTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# 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', 's390x': 'n'}> +CONFIG_BATMAN_ADV_BATMAN_V policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BATMAN_ADV_BLA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BATMAN_ADV_DAT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BATMAN_ADV_NC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BATMAN_ADV_MCAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BATMAN_ADV_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BATMAN_ADV_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_BATMAN_ADV_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_BATMAN_ADV_TRACING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Networking support >> Networking options >> Distributed Switch Architecture +CONFIG_NET_DSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_AR9331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_BRCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_BRCM_PREPEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_GSWIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_DSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_EDSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_MTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_KSZ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_OCELOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_QCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_LAN9303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_SJA1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_DSA_TAG_TRAILER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# 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', 's390x': 'n'}> +CONFIG_IEEE802154_NL802154_EXPERIMENTAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_IEEE802154_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_IEEE802154_6LOWPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> Networking options >> MultiProtocol Label Switching +CONFIG_MPLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_MPLS_GSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MPLS_ROUTING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_MPLS_IPTUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) +CONFIG_NETFILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NETFILTER_ADVANCED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_NETFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_NETFILTER_NETLINK_ACCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_QUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_FLOW_TABLE_INET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_SET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_AUDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CHECKSUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CLASSIFY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_DSCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_IDLETIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NETMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFLOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFQUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NOTRACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NETFILTER_XT_TARGET_RATEEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TRACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_SECMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPMSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_COMMENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNBYTES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLABEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DCCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DEVGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DSCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HELPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPRANGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPVS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_L2TP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LENGTH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MULTIPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_NFACCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OWNER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_POLICY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PHYSDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PKTTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_QUOTA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RATEEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_REALM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RECENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SCTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATISTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STRING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TCPMSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TIME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_MARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_SECMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_ZONES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_PROCFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NF_CONNTRACK_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_TIMEOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_TIMESTAMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_LABELS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_DCCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_SCTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_UDPLITE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_AMANDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_FTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_H323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_IRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_NETBIOS_NS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SNMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_PPTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SANE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_TFTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK_TIMEOUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK_HELPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_GLUE_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NF_TABLES_INET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFT_NUMGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FLOW_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_COUNTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_CONNLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_MASQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_REDIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_TUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_OBJREF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_QUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_QUOTA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_COMPAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_HASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_INET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_XFRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_TPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_FLOW_TABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_NF_DUP_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_DUP_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FWD_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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'}> + +# 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', 's390x': 'm'}> +CONFIG_NFT_BRIDGE_META policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_BRIDGE_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_BROUTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_T_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_T_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_802_3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_AMONG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_ARP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_IP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_PKTTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_STP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_VLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_ARPREPLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_DNAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_MARK_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_SNAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_NFLOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP_SET_MAX policy<{'amd64': '256', 'arm64': '256', 'armhf': '256', 'ppc64el': '256', 's390x': '256'}> +CONFIG_IP_SET_BITMAP_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_BITMAP_IPMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_BITMAP_PORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORTIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORTNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_MAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETPORTNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETIFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_SET_LIST_SET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP_VS_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IP_VS_TAB_BITS policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 's390x': '12'}> +CONFIG_IP_VS_PROTO_TCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_UDP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_ESP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_AH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_SCTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_RR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_WRR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_WLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_FO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_OVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LBLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LBLCR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_DH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_SH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_MH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_SED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_NQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_SH_TAB_BITS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 's390x': '8'}> +CONFIG_IP_VS_MH_TAB_INDEX policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 's390x': '12'}> +CONFIG_IP_VS_FTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_VS_NFCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PE_SIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NF_TPROXY_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_ARP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NF_FLOW_TABLE_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_DUP_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_ARP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_REJECT_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARPTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARP_MANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_NAT_SNMP_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_IPV4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFT_DUP_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_RPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_SECURITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_CLUSTERIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_NETMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_NF_TPROXY_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_FLOW_TABLE_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_DUP_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_REJECT_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NFT_DUP_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_EUI64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_FRAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_OPTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_IPV6HEADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_MH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_RPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_RT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_SRH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_SECURITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_NPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network testing +CONFIG_NET_PKTGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_DROP_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_NET_SCH_CBQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HTB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HFSC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_SCH_PRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_MULTIQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_RED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TEQL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TBF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ETF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TAPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_GRED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_DSMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_NETEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_DRR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_MQPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SKBPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CHOKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_QFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CODEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ_CODEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CAKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HHF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_PIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ_PIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_INGRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_PLUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_TCINDEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_ROUTE4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_CLS_U32_PERF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_CLS_U32_MARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_CLS_RSVP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_RSVP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FLOW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_CGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FLOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_MATCHALL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_NET_ACT_POLICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_GACT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_GACT_PROB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_ACT_MIRRED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SAMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_IPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_PEDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SIMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SKBEDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CSUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_MPLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_VLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CTINFO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SKBMOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_TUNNEL_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_GATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_TC_SKB_EXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', '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', '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', 's390x': 'y'}> +CONFIG_NET_EMATCH_STACK policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 's390x': '32'}> +CONFIG_NET_EMATCH_CMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_NBYTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_META policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_TEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_CANID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NET_EMATCH_IPSET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_IPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Qualcomm IPC Router support +CONFIG_QRTR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_QRTR_SMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QRTR_TUN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_QRTR_MHI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking +CONFIG_INET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_MULTICAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_IPIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE_DEMUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE_BROADCAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SYN_COOKIES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_IPVTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_FOU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_FOU_IP_TUNNELS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INET_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET_ESP_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET_ESPINTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INET_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_MD5SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NETLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MPTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MPTCP_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MPTCP_HMAC_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_NET_SWITCHDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_L3_MASTER_DEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NET_NCSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NCSI_OEM_CMD_GET_MAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BPF_STREAM_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +# +CONFIG_SYN_COOKIES mark +CONFIG_NET_SWITCHDEV mark note +CONFIG_NET_SWITCHDEV mark 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', 's390x': 'y'}> +CONFIG_BPFILTER_UMH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': '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', 's390x': 'm'}> +CONFIG_INET_UDP_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET_RAW_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET_DIAG_DESTROY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_IP_FIB_TRIE_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_ROUTE_MULTIPATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_ROUTE_VERBOSE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', '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', 's390x': 'y'}> +CONFIG_IP_MROUTE_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_PIMSM_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IP_PIMSM_V2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_L2TP_DEBUGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_L2TP_V3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_L2TP_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_L2TP_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Open vSwitch +CONFIG_OPENVSWITCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_GRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_VXLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_GENEVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_TCP_CONG_BIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_CUBIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TCP_CONG_WESTWOOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HSTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HYBLA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_VEGAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_NV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_SCALABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_LP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_VENO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_YEAH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_ILLINOIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_DCTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_CDG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_BBR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_DEFAULT_RENO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', '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', 's390x': 'n'}> +CONFIG_IP_DCCP_CCID3 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_IP_DCCP_CCID3_DEBUG policy<{'s390x': 'n'}> +# +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', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The IPv6 protocol +CONFIG_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_ROUTER_PREF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_ROUTE_INFO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_OPTIMISTIC_DAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_INET6_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET6_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET6_ESP_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_INET6_ESPINTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INET6_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_MIP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_ILA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_VTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_SIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_SIT_6RD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_TUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_GRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_IPV6_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_SUBTREES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_MROUTE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_PIMSM_V2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_SEG6_LWTUNNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_SEG6_HMAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IPV6_RPL_LWTUNNEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +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', 's390x': 'm'}> +CONFIG_RDS_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RDS_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_RDS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_SCTP_DBG_OBJCNT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SCTP_COOKIE_HMAC_MD5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCTP_COOKIE_HMAC_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'm'}> +CONFIG_TIPC_MEDIA_IB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TIPC_MEDIA_UDP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TIPC_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TIPC_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Virtual Socket protocol +CONFIG_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VSOCKETS_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VSOCKETS_LOOPBACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_VMWARE_VMCI_VSOCKETS policy<{'amd64': 'm'}> +CONFIG_VIRTIO_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_HYPERV_VSOCKETS policy<{'amd64': 'm'}> + +# Menu: Networking support >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_NET_9P policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_9P_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_9P_XEN policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_NET_9P_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_NET_9P_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_RFKILL_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_RFKILL_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Networking support >> RxRPC session sockets +CONFIG_AF_RXRPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_AF_RXRPC_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_AF_RXRPC_INJECT_LOSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_AF_RXRPC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_RXKAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Networking support >> WiMAX Wireless Broadband support +CONFIG_WIMAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> +CONFIG_WIMAX_DEBUG_LEVEL policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8'}> + +# Menu: Networking support >> Wireless +CONFIG_WIRELESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_LIB80211_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) +CONFIG_MAC80211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MAC80211_RC_MINSTREL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MAC80211_MESH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MAC80211_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MAC80211_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_MAC80211_MESSAGE_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> + +# 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'}> +CONFIG_MAC80211_STA_HASH_MAX_SIZE policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0'}> + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API +CONFIG_CFG80211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_NL80211_TESTMODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CFG80211_DEVELOPER_WARNINGS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CFG80211_DEFAULT_PS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CFG80211_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CFG80211_CRDA_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CFG80211_WEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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'}> +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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': 'y'}> +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-generic': 'y', 'armhf-generic-lpae': 'n'}> +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_TEGRA policy<{'arm64': 'n', 'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_ARCH_UNIPHIER policy<{'arm64': 'n', 'armhf': 'y'}> +CONFIG_ARCH_VEXPRESS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_ZX policy<{'arm64': 'n', 'armhf': 'n'}> +# +CONFIG_ARCH_ROCKCHIP note +CONFIG_ARCH_ZX note + +# Menu: Platform selection >> Architecture: arm64 +CONFIG_ARCH_AGILEX policy<{'arm64': 'y'}> +CONFIG_ARCH_BCM_IPROC policy<{'arm64': 'y'}> +CONFIG_ARCH_BITMAIN policy<{'arm64': 'y'}> +CONFIG_ARCH_K3 policy<{'arm64': 'y'}> +CONFIG_ARCH_LAYERSCAPE policy<{'arm64': 'y'}> +CONFIG_ARCH_LG1K policy<{'arm64': 'y'}> +CONFIG_ARCH_S32 policy<{'arm64': 'y'}> +CONFIG_ARCH_SEATTLE policy<{'arm64': 'y'}> +CONFIG_ARCH_STRATIX10 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_XGENE policy<{'arm64': 'y'}> +CONFIG_ARCH_ZYNQMP policy<{'arm64': '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'}> +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_SFI policy<{'amd64': '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 >> 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'}> + +# 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_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_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM policy<{'arm64': 'm'}> +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-generic': 'm'}> +CONFIG_ARM_MEDIATEK_CPUFREQ 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<{'armhf-generic': '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<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL policy<{'amd64': 'n', '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-generic': 'm'}> +CONFIG_ARM_TEGRA20_CPUFREQ policy<{'armhf-generic': 'y'}> +CONFIG_ARM_TEGRA124_CPUFREQ policy<{'armhf-generic': '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'}> +CONFIG_CPU_IDLE_GOV_LADDER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_IDLE_GOV_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_IDLE_GOV_TEO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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_BIG_LITTLE_CPUIDLE policy<{'armhf': 'y'}> +CONFIG_ARM_HIGHBANK_CPUIDLE policy<{'armhf-generic': 'n', 'armhf-generic-lpae': 'y'}> +CONFIG_ARM_EXYNOS_CPUIDLE policy<{'armhf': 'y'}> +CONFIG_ARM_MVEBU_V7_CPUIDLE policy<{'armhf': 'y'}> +CONFIG_ARM_TEGRA_CPUIDLE policy<{'armhf-generic': '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 PowerNV (Non-Virtualized) platform support >> Architecture: powerpc +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 >> 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_SCANLOG 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 >> 8xx advanced setup >> Pinned Kernel TLBs >> 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', 's390x': 'y'}> +CONFIG_NR_CPUS policy<{'amd64': '8192', 'arm64': '256', 'armhf': '4', 'ppc64el': '2048', 's390x': '512'}> +# +CONFIG_NR_CPUS note + +# Menu: Processor support >> Architecture: powerpc +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_KEXEC_FILE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'n'}> +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', 's390x': 'y'}> +CONFIG_NUMA policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_NODES_SHIFT policy<{'amd64': '10', 'arm64': '6', 'ppc64el': '8', 's390x': '1'}> +CONFIG_PARAVIRT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n'}> +CONFIG_PARAVIRT_TIME_ACCOUNTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n'}> +CONFIG_KEXEC_SIG policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n'}> +CONFIG_HARDEN_BRANCH_PREDICTOR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_HIGHPTE policy<{'armhf': 'y'}> +CONFIG_CMDLINE_BOOL policy<{'amd64': 'n', 'ppc64el': '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', 's390x': '9'}> +CONFIG_COMPAT_VDSO policy<{'amd64': 'n'}> +# +CONFIG_RELOCATABLE flag +CONFIG_HOTPLUG_CPU flag +CONFIG_NUMA 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_1530923 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1286807 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1319367 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1463225 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1542419 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_QCOM_FALKOR_ERRATUM_1003 policy<{'arm64': 'y'}> +CONFIG_QCOM_FALKOR_ERRATUM_1009 policy<{'arm64': 'y'}> +CONFIG_QCOM_QDF2400_ERRATUM_0065 policy<{'arm64': 'y'}> +CONFIG_SOCIONEXT_SYNQUACER_PREITS policy<{'arm64': 'y'}> +CONFIG_HISILICON_ERRATUM_161600802 policy<{'arm64': 'y'}> +CONFIG_QCOM_FALKOR_ERRATUM_E1041 policy<{'arm64': 'y'}> +CONFIG_FUJITSU_ERRATUM_010001 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_VHE policy<{'arm64': 'y'}> +# +CONFIG_ARM64_USE_LSE_ATOMICS mark note + +# Menu: Processor type and features >> ARMv8.2 architectural features >> Architecture: arm64 +CONFIG_ARM64_UAO policy<{'arm64': 'y'}> +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'}> + +# Menu: Processor type and features >> ARMv8.4 architectural features >> Architecture: arm64 +CONFIG_ARM64_AMU_EXTN 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_BTI_KERNEL policy<{'arm64': 'y'}> +CONFIG_ARM64_E0PD 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_HARDEN_EL2_VECTORS policy<{'arm64': 'y'}> +CONFIG_ARM64_SSBD 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_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': '16'}> +CONFIG_PPC_SUBPAGE_PROT policy<{'ppc64el': 'y'}> +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 +CONFIG_PPC_RTAS_FILTER mark note + +# Menu: Processor type and features >> Architecture: s390 +CONFIG_KERNEL_NOBP policy<{'s390x': 'n'}> +CONFIG_EXPOLINE 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_I8K policy<{'amd64': 'm'}> +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_X86_RESERVE_LOW policy<{'amd64': '64'}> +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_SMAP policy<{'amd64': 'y'}> +CONFIG_X86_UMIP policy<{'amd64': 'y'}> +CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS policy<{'amd64': 'y'}> +CONFIG_EFI_STUB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '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_MODIFY_LDT_SYSCALL policy<{'amd64': 'y'}> +# +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'}> +CONFIG_MICROCODE_OLD_INTERFACE policy<{'amd64': 'y'}> +# +CONFIG_MICROCODE_OLD_INTERFACE flag + +# 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_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'}> +CONFIG_XEN_PVHVM policy<{'amd64': 'y'}> +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'}> + +# 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_Z900 policy<{'s390x': 'n'}> +CONFIG_MARCH_Z990 policy<{'s390x': 'n'}> +CONFIG_MARCH_Z9_109 policy<{'s390x': 'n'}> +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'}> +CONFIG_STACKPROTECTOR_PER_TASK policy<{'arm64': 'y'}> + +# 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', 's390x': 'y'}> +CONFIG_HZ_250 policy<{'amd64-generic': 'y', 'amd64-lowlatency': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_HZ_300 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_HZ_1000 policy<{'amd64-generic': 'n', 'amd64-lowlatency': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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_Z900 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z990 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z9_109 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_EMULATE policy<{'amd64': 'n'}> +CONFIG_LEGACY_VSYSCALL_XONLY policy<{'amd64': 'y'}> +CONFIG_LEGACY_VSYSCALL_NONE policy<{'amd64': 'n'}> +# +CONFIG_LEGACY_VSYSCALL_XONLY flag + +# Menu: Security options +CONFIG_SECURITY_DMESG_RESTRICT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_PERF_EVENTS_RESTRICT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITYFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_HARDENED_USERCOPY_FALLBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HARDENED_USERCOPY_PAGESPAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_FORTIFY_SOURCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_STATIC_USERMODEHELPER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LSM policy<{'amd64': '"lockdown,yama,integrity,apparmor"', 'arm64': '"lockdown,yama,integrity,apparmor"', 'armhf': '"lockdown,yama,integrity,apparmor"', 'ppc64el': '"lockdown,yama,integrity,apparmor"', 's390x': '"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', 's390x': 'y'}> +CONFIG_KEYS_REQUEST_CACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_PERSISTENT_KEYRINGS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRUSTED_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_ENCRYPTED_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KEY_DH_OPERATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_KEY_NOTIFICATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Security options >> Enable different security models +CONFIG_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_NETWORK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_INFINIBAND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_NETWORK_XFRM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_PATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LSM_MMAP_MIN_ADDR policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 's390x': '0'}> +CONFIG_SECURITY_LOADPIN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SECURITY_YAMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SAFESETID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_LOCK_DOWN_IN_SECURE_BOOT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem +CONFIG_INTEGRITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_SIGNATURE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_AUDIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_EVM_ATTR_FSUUID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EVM_EXTRA_SMACK_XATTRS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EVM_ADD_XATTRS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EVM_LOAD_X509 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', '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', 's390x': 'y'}> +CONFIG_INTEGRITY_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_PLATFORM_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', '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', 's390x': 'y'}> +CONFIG_IMA_KEXEC policy<{'ppc64el': 'y'}> +CONFIG_IMA_WRITE_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IMA_READ_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', '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', 's390x': 'y'}> +CONFIG_IMA_ARCH_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_IMA_APPRAISE_BOOTPARAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IMA_APPRAISE_MODSIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IMA_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_IMA_BLACKLIST_KEYRING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IMA_LOAD_X509 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_IMA_X509_PATH policy<{'ppc64el': '"/etc/keys/x509_ima.der"'}> +CONFIG_IMA_APPRAISE_SIGNED_INIT policy<{'ppc64el': 'n'}> +# +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', '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', 's390x': 'y'}> +CONFIG_IMA_DEFAULT_HASH_SHA256 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_IMA_DEFAULT_HASH_SHA512 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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_TEMPLATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_IMA_NG_TEMPLATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_IMA_SIG_TEMPLATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', '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', 's390x': 'y'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_BOOTPARAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_SECURITY_SELINUX_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SECURITY_SELINUX_DEVELOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_AVC_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 's390x': '1'}> +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS policy<{'amd64': '9', 'arm64': '9', 'armhf': '9', 'ppc64el': '9', 's390x': '9'}> +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE policy<{'amd64': '256', 'arm64': '256', 'armhf': '256', 'ppc64el': '256', 's390x': '256'}> +# +CONFIG_SECURITY_SELINUX mark +CONFIG_SECURITY_SELINUX_DISABLE marknote + +# 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', 's390x': 'y'}> +CONFIG_SECURITY_SMACK_BRINGUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SECURITY_SMACK_NETFILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SMACK_APPEND_SIGNALS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY policy<{'amd64': '2048', 'arm64': '2048', 'armhf': '2048', 'ppc64el': '2048', 's390x': '2048'}> +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '1024', 's390x': '1024'}> +CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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"', 's390x': '"/sbin/tomoyo-init"'}> +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER policy<{'amd64': '"/sbin/init"', 'arm64': '"/sbin/init"', 'armhf': '"/sbin/init"', 'ppc64el': '"/sbin/init"', 's390x': '"/sbin/init"'}> +CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_SMACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_TOMOYO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_APPARMOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_SECURITY_DAC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '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', 's390x': 'y'}> +CONFIG_INIT_ON_FREE_DEFAULT_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Initialize kernel stack variables at function entry +CONFIG_INIT_STACK_NONE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Poison kernel stack before returning from syscalls + +# Menu: Selftests >> Architecture: s390 +CONFIG_S390_UNWIND_SELFTEST policy<{'s390x': 'n'}> + +# 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_EBSA110 policy<{'armhf': 'n'}> +CONFIG_ARCH_EP93XX policy<{'armhf': 'n'}> +CONFIG_ARCH_FOOTBRIDGE policy<{'armhf': 'n'}> +CONFIG_ARCH_IOP32X policy<{'armhf': 'n'}> +CONFIG_ARCH_IXP4XX policy<{'armhf': 'n'}> +CONFIG_ARCH_DOVE policy<{'armhf': 'n'}> +CONFIG_ARCH_PXA policy<{'armhf': 'n'}> +CONFIG_ARCH_RPC policy<{'armhf': 'n'}> +CONFIG_ARCH_SA1100 policy<{'armhf': 'n'}> +CONFIG_ARCH_S3C24XX policy<{'armhf': 'n'}> +CONFIG_ARCH_OMAP1 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 >> Architecture: arm +CONFIG_ARCH_SOCFPGA policy<{'armhf': 'n'}> + +# 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_DEBUG_ALIGN_RODATA policy<{'armhf': 'y'}> +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_TANGO 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_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': 'y'}> +CONFIG_ARM_DMA_MEM_BUFFERABLE 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'}> +# +CONFIG_ARCH_TANGO mark note + +# 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 >> CSR SiRF >> Architecture: arm +CONFIG_ARCH_SIRF 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-generic': 'y'}> +CONFIG_SOC_IMX51 policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX53 policy<{'armhf-generic': 'n'}> +CONFIG_SOC_IMX6Q policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX6SL policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX6SLL policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX6SX policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX6UL policy<{'armhf-generic': 'y'}> +CONFIG_SOC_LS1021A policy<{'armhf-generic': 'n'}> +CONFIG_SOC_IMX7D policy<{'armhf-generic': 'y'}> +CONFIG_SOC_IMX7ULP policy<{'armhf-generic': 'y'}> +CONFIG_SOC_VF610 policy<{'armhf-generic': 'y'}> + +# Menu: System Type >> Freescale i.MX family >> Clocksource for scheduler clock >> Architecture: arm +CONFIG_VF_USE_ARM_GLOBAL_TIMER policy<{'armhf-generic': 'y'}> +CONFIG_VF_USE_PIT_TIMER policy<{'armhf-generic': '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', '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 U300 Series >> 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 >> 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': 'y'}> +CONFIG_SOC_EXYNOS5250 policy<{'armhf': 'y'}> +CONFIG_SOC_EXYNOS5260 policy<{'armhf': 'y'}> +CONFIG_SOC_EXYNOS5410 policy<{'armhf': 'y'}> +CONFIG_SOC_EXYNOS5420 policy<{'armhf': 'y'}> +CONFIG_SOC_EXYNOS5800 policy<{'armhf': 'y'}> + +# 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_OMAP_RESET_CLOCKS policy<{'armhf': 'y'}> +CONFIG_OMAP_32K_TIMER policy<{'armhf': '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_MACH_OMAP3517EVM policy<{'armhf-generic': 'n'}> +CONFIG_MACH_OMAP3_PANDORA 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_HIO policy<{'amd64': 'm', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_UBUNTU_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> +# +CONFIG_HIO mark note + +# Menu: Virtualization +CONFIG_VIRTUALIZATION policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': '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 >> Architecture: x86 +CONFIG_KVM_WERROR policy<{'amd64': 'y'}> + +# Menu: Virtualization >> KVM +CONFIG_KVM policy<{'amd64': 'm', 'arm64': 'y', 'ppc64el': 'y', '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_KVM_ARM_PMU policy<{'arm64': 'y'}> + +# Menu: Virtualization >> Kernel-based Virtual Machine (KVM) support >> Architecture: x86 +CONFIG_KVM_INTEL policy<{'amd64': 'm'}> +CONFIG_KVM_AMD policy<{'amd64': 'm'}> +CONFIG_KVM_AMD_SEV policy<{'amd64': 'y'}> +CONFIG_KVM_MMU_AUDIT policy<{'amd64': 'n'}> + +# 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'}> + +# Menu: FOOTER + +# temporarily disabled options -- build failures. + +#CONFIG_TI_CPSW p policy<(arch armel armhf &/ value n) | value m> flag +#CONFIG_USB_MUSB_DSPS p policy<(arch armel armhf &/ value n) | value m> flag +#CONFIG_LIS3L02DQ p policy<(arch armhf &/ value n) | value m> flag +#CONFIG_EZX_PCAP p policy<(arch armhf &/ value n) | value y> flag +#CONFIG_TOUCHSCREEN_EGALAX p policy<(arch armel armhf &/ value n) | value m> flag note +#CONFIG_TOUCHSCREEN_EETI p policy<(arch armel armhf &/ value n) | value m> flag note +#CONFIG_SENSORS_AK8975 p policy<(arch armel armhf &/ value n) | value m> flag note +#CONFIG_PPC_EPAPR_HV_BYTECHAN n flag note + +# +# --- linux-riscv-5.8-5.8.0.orig/debian.master/config/arm64/config.common.arm64 +++ linux-riscv-5.8-5.8.0/debian.master/config/arm64/config.common.arm64 @@ -0,0 +1,690 @@ +# +# Config options for config.common.arm64 automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=m +# 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_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_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_MXC=y +CONFIG_ARCH_SUNXI=y +# CONFIG_ARCH_TEGRA is not set +# 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_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_SKD=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_UMEM=m +CONFIG_BOUNCE=y +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 (Ubuntu 10.2.0-8ubuntu1) 10.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CLOCK_THERMAL=y +CONFIG_CMA=y +CONFIG_CMDLINE="console=ttyAMA0" +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMMON_CLK=y +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CRAMFS=m +CONFIG_CRYPTO_DEFLATE=y +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_LIB_POLY1305_RSIZE=9 +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +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_RCAR_LVDS=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DW_WATCHDOG=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=y +CONFIG_FB_SIS=m +CONFIG_FB_SM712=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_FIXED_PHY=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_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_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=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_HIO 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_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 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_EMEV2 is not set +CONFIG_I2C_GPIO=m +CONFIG_I2C_HID=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_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_ARCH_POLICY 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_BNXT_RE=m +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_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +CONFIG_IOMMU_IOVA=y +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IPMMU_VMSA is not set +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IRQ_BYPASS_MANAGER=y +# CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +CONFIG_JUMP_LABEL=y +CONFIG_KARMA_PARTITION=y +CONFIG_KEXEC_FILE=y +CONFIG_KVM=y +CONFIG_LAPB=m +# CONFIG_LATENCYTOP is not set +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_LZ4_COMPRESS=y +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MCB=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_THUNDER=m +CONFIG_MDIO_XPCS=m +CONFIG_MD_MULTIPATH=m +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_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +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_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_MII=y +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_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_MOST=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_ECC_SW_HAMMING=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_PHYSMAP_GEMINI=y +CONFIG_MTD_PHYSMAP_VERSATILE=y +CONFIG_MTD_RAW_NAND=m +CONFIG_NET_DSA_MSCC_FELIX=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_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +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_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_LAYERSCAPE=y +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCMCIA is not set +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_TI_GMII_SEL=m +CONFIG_PINCTRL=y +# CONFIG_PMIC_OPREGION is not set +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT is not set +# 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_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PWM=y +CONFIG_PWM_TIECAP=m +CONFIG_PWM_TIEHRPWM=m +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAW_DRIVER=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +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_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_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LPFC=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_UFS_QCOM=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_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_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SMC91X=y +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +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_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=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_TI_SOC_THERMAL is not set +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACE_SINK=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +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_DWC2_PCI=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_EMXX=m +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=m +CONFIG_VFIO_IOMMU_TYPE1=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_VIRQFD=m +CONFIG_VIRTIO_MMIO=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +# CONFIG_VOP_BUS is not set +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_X25=m +CONFIG_XEN=y +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 +CONFIG_ZSTD_COMPRESS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/arm64/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/arm64/config.flavour.generic @@ -0,0 +1,12 @@ +# +# 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_SHIFT=4 +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_PGTABLE_LEVELS=4 --- linux-riscv-5.8-5.8.0.orig/debian.master/config/arm64/config.flavour.generic-64k +++ linux-riscv-5.8-5.8.0/debian.master/config/arm64/config.flavour.generic-64k @@ -0,0 +1,12 @@ +# +# 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_SHIFT=5 +CONFIG_ARM64_PAGE_SHIFT=16 +CONFIG_FORCE_MAX_ZONEORDER=14 +CONFIG_PGTABLE_LEVELS=3 --- linux-riscv-5.8-5.8.0.orig/debian.master/config/armhf/config.common.armhf +++ linux-riscv-5.8-5.8.0/debian.master/config/armhf/config.common.armhf @@ -0,0 +1,666 @@ +# +# Config options for config.common.armhf automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=y +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=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_ARCH_ALPINE=y +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_SUNXI is not set +CONFIG_ARCH_UNIPHIER=y +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_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_UMEM=m +CONFIG_BOUNCE=y +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 (Ubuntu 10.2.0-8ubuntu1) 10.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CLOCK_THERMAL=y +CONFIG_CMA=y +CONFIG_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMMON_CLK=y +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CRAMFS=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +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_RCAR_LVDS=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DW_WATCHDOG=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=y +CONFIG_FB_SIS=m +CONFIG_FB_SM712=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_FIXED_PHY=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_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_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=y +CONFIG_GPIO_TWL6040=y +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_HIO is not set +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_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 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_EMEV2=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_HID=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_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +# CONFIG_IMA_ARCH_POLICY 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=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_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +CONFIG_IOMMU_IOVA=m +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +CONFIG_IPMMU_VMSA=y +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IRQ_BYPASS_MANAGER=m +# CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set +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_KERNEL_LZ4 is not set +CONFIG_LAPB=m +# CONFIG_LATENCYTOP is not set +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_LZ4_COMPRESS=y +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MCB=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_XPCS=m +CONFIG_MD_MULTIPATH=m +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_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +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_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_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +# CONFIG_MMC_HSQ is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MOST=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_ECC_SW_HAMMING=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_PHYSMAP_GEMINI=y +CONFIG_MTD_PHYSMAP_VERSATILE=y +CONFIG_MTD_RAW_NAND=y +# CONFIG_NET_DSA_MSCC_FELIX 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_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_NVMEM=y +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_PANIC_TIMEOUT=0 +# CONFIG_PARAVIRT is not set +CONFIG_PARPORT=m +CONFIG_PATA_SIS=m +CONFIG_PC104=y +# CONFIG_PCCARD is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIPCWATCHDOG=m +# CONFIG_PCI_LAYERSCAPE is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_TI_GMII_SEL=y +CONFIG_PINCTRL=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT is not set +# 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_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAW_DRIVER=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_TPS65217=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_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_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LPFC=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_UFS_QCOM is not set +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=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_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SMC91X=m +CONFIG_SND=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_IMX_SOC=y +CONFIG_SND_PCM=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_IMX_PCM_DMA=y +CONFIG_SND_SOC_IMX_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_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=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_TI_SOC_THERMAL=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACE_SINK=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +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_DWC2_PCI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_EMXX=y +CONFIG_USB_GADGET=y +CONFIG_USB_G_MULTI=m +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=m +CONFIG_VFIO_IOMMU_TYPE1=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_VIRQFD=m +CONFIG_VIRTIO_MMIO=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +# CONFIG_VOP_BUS is not set +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_X25=m +# CONFIG_XEN is not set +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 +CONFIG_ZSTD_COMPRESS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/armhf/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/armhf/config.flavour.generic @@ -0,0 +1,22 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +CONFIG_ARCH_MXC=y +CONFIG_ARCH_OMAP3=y +CONFIG_ARCH_OMAP4=y +CONFIG_ARCH_TEGRA=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_HIGHBANK_CPUIDLE is not set +# CONFIG_ARM_LPAE is not set +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_MMC_CQHCI=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PWM_TIECAP=m +CONFIG_PWM_TIEHRPWM=m +CONFIG_REGULATOR_TWL4030=y +CONFIG_RTC_DRV_PCF8523=y +CONFIG_SND_SOC_FSL_SSI=y +CONFIG_SND_SOC_IMX_AUDMUX=y +CONFIG_SND_SOC_SGTL5000=y +CONFIG_SOC_AM33XX=y +CONFIG_USB_OHCI_HCD_PLATFORM=m --- linux-riscv-5.8-5.8.0.orig/debian.master/config/armhf/config.flavour.generic-lpae +++ linux-riscv-5.8-5.8.0/debian.master/config/armhf/config.flavour.generic-lpae @@ -0,0 +1,22 @@ +# +# Config options for config.flavour.generic-lpae automatically generated by splitconfig.pl +# +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARM_ATAG_DTB_COMPAT is not set +CONFIG_ARM_HIGHBANK_CPUIDLE=y +CONFIG_ARM_LPAE=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_MMC_CQHCI=m +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_PWM_TIECAP is not set +# CONFIG_PWM_TIEHRPWM is not set +CONFIG_REGULATOR_TWL4030=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_SGTL5000=m +# CONFIG_SOC_AM33XX is not set +# CONFIG_USB_OHCI_HCD_PLATFORM is not set --- linux-riscv-5.8-5.8.0.orig/debian.master/config/config.common.ports +++ linux-riscv-5.8-5.8.0/debian.master/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.master/config/config.common.ubuntu +++ linux-riscv-5.8-5.8.0/debian.master/config/config.common.ubuntu @@ -0,0 +1,11952 @@ +# +# 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_88EU_AP_MODE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_ABP060MG=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_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_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_EC_DEBUGFS=m +CONFIG_ACPI_EXTLOG=m +CONFIG_ACPI_FAN=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_NFIT=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_PPTT=y +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_PROCESSOR_CSTATE=y +CONFIG_ACPI_PROCESSOR_IDLE=y +# CONFIG_ACPI_PROCFS_POWER is not set +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_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_WATCHDOG=y +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACRN_GUEST=y +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=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_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_AD7298=m +CONFIG_AD7303=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_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_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADUX1020=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ADVISE_SYSCALLS=y +CONFIG_ADXL372=m +CONFIG_ADXL372_I2C=m +CONFIG_ADXL372_SPI=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_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_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_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_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_XGBE=m +CONFIG_AMD_XGBE_DCB=y +CONFIG_AMD_XGBE_HAVE_ECC=y +CONFIG_AMILO_RFKILL=m +CONFIG_AMLOGIC_THERMAL=m +CONFIG_ANDROID_BINDERFS=m +CONFIG_ANDROID_BINDER_DEVICES="" +CONFIG_ANDROID_BINDER_IPC=m +# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set +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_GMUX=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_APPLE_PROPERTIES=y +CONFIG_APQ_GCC_8084=m +CONFIG_APQ_MMCC_8084=m +CONFIG_AQTION=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AR5523=m +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_ACTIONS=y +CONFIG_ARCH_AGILEX=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_BCM_IPROC=y +CONFIG_ARCH_BERLIN=y +CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BITMAIN=y +CONFIG_ARCH_BRCMSTB=y +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DIGICOLOR is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_EBSA110 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_EP93XX is not set +# CONFIG_ARCH_EXYNOS3 is not set +# CONFIG_ARCH_EXYNOS4 is not set +CONFIG_ARCH_EXYNOS5=y +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_COPY_MC=y +CONFIG_ARCH_HAS_CPU_RELAX=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_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +CONFIG_ARCH_HAS_FILTER_PGPROT=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_HOLES_MEMORYMODEL=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_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_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_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_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_IOP32X is not set +# CONFIG_ARCH_IPQ40XX is not set +# CONFIG_ARCH_IXP4XX is not set +CONFIG_ARCH_K3=y +CONFIG_ARCH_K3_AM6_SOC=y +CONFIG_ARCH_K3_J721E_SOC=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_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_MSM8960=y +CONFIG_ARCH_MSM8974=y +CONFIG_ARCH_MSM8X60=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_NEEDS_CPU_IDLE_COUPLED=y +CONFIG_ARCH_NPCM=y +CONFIG_ARCH_NPCM7XX=y +CONFIG_ARCH_NR_GPIO=1024 +CONFIG_ARCH_OMAP=y +# CONFIG_ARCH_OMAP1 is not set +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_PXA is not set +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_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_R9A06G032=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_RPC is not set +CONFIG_ARCH_RZN1=y +CONFIG_ARCH_S32=y +# CONFIG_ARCH_S3C24XX is not set +# 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_SIRF is not set +# CONFIG_ARCH_SOCFPGA is not set +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPRD=y +CONFIG_ARCH_STACKWALK=y +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32 is not set +CONFIG_ARCH_STRATIX10=y +CONFIG_ARCH_SUPPORTS_ACPI=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_NONZERO_CPU=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_SYNQUACER=y +# CONFIG_ARCH_TANGO is not set +CONFIG_ARCH_TEGRA_114_SOC=y +CONFIG_ARCH_TEGRA_124_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_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_WANTS_DYNAMIC_TASK_STRUCT=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_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=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_ZX is not set +# 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_BTI=y +CONFIG_ARM64_BTI_KERNEL=y +CONFIG_ARM64_CNP=y +CONFIG_ARM64_CRYPTO=y +# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set +CONFIG_ARM64_E0PD=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_1530923=y +CONFIG_ARM64_ERRATUM_1542419=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_LSE_ATOMICS=y +CONFIG_ARM64_MODULE_PLTS=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_RAS_EXTN=y +# CONFIG_ARM64_RELOC_TEST is not set +CONFIG_ARM64_SSBD=y +CONFIG_ARM64_SVE=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_ARM64_TAGGED_ADDR_ABI=y +CONFIG_ARM64_UAO=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_VHE=y +CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=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_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_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_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=y +CONFIG_ARM_EXYNOS_CPUIDLE=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +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_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=7 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT_7=y +CONFIG_ARM_MEDIATEK_CPUFREQ=m +CONFIG_ARM_MHU=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_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_POWER_DOMAIN=m +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCPI_CPUFREQ=m +CONFIG_ARM_SCPI_POWER_DOMAIN=m +CONFIG_ARM_SCPI_PROTOCOL=m +CONFIG_ARM_SDE_INTERFACE=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_V3=y +CONFIG_ARM_SMMU_V3_PMU=m +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_SPE_PMU=m +CONFIG_ARM_TEGRA124_CPUFREQ=y +CONFIG_ARM_TEGRA186_CPUFREQ=m +CONFIG_ARM_TEGRA20_CPUFREQ=y +CONFIG_ARM_TEGRA20_DEVFREQ=m +# 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_VIRT_EXT=y +CONFIG_AS3935=m +CONFIG_ASHMEM=m +CONFIG_ASM_MODVERSIONS=y +CONFIG_ASN1=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_WATCHDOG=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_WIRELESS=m +CONFIG_ASUS_WMI=m +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m +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_CFI_NEGATE_RA_STATE=y +CONFIG_AS_HAS_PAC=y +CONFIG_AS_SHA1_NI=y +CONFIG_AS_SHA256_NI=y +CONFIG_AS_TPAUSE=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_DEBUG is not set +# CONFIG_ATH11K_DEBUGFS is not set +# CONFIG_ATH11K_TRACING is not set +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_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +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_FIRESTREAM=m +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_HORIZON=m +# CONFIG_ATM_HORIZON_DEBUG is not set +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_ATM_ZATM=m +# CONFIG_ATM_ZATM_DEBUG is not set +# 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_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +# CONFIG_AUFS_BR_FUSE is not set +CONFIG_AUFS_BR_HFSPLUS=y +# CONFIG_AUFS_BR_RAMFS is not set +# CONFIG_AUFS_DEBUG is not set +CONFIG_AUFS_DIRREN=y +CONFIG_AUFS_EXPORT=y +# CONFIG_AUFS_FHSM is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_INO_T_64=y +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +CONFIG_AUFS_XATTR=y +CONFIG_AURORA_NB8800=m +CONFIG_AUTO_ZRELADDR=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_GENERIC=m +CONFIG_BACKLIGHT_GPIO=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_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_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_DEBUGFS is not set +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_SYSFS=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_LEGO_EV3=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_BATTERY_RT5033=m +CONFIG_BATTERY_RX51=m +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_TWL4030_MADC=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_REGISTRAION=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_WDT=m +CONFIG_BCM54140_PHY=m +CONFIG_BCM7038_L1_IRQ=y +CONFIG_BCM7038_WDT=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_SBA_RAID=m +CONFIG_BCM_SR_THERMAL=m +CONFIG_BCM_VIDEOCORE=m +CONFIG_BD70528_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_SHARED_FLAT=y +CONFIG_BINFMT_ZFLAT=y +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CGROUP_IOCOST=y +# CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CMDLINE_PARSER=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_DM=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +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_XPRAM is not set +CONFIG_BLK_DEV_ZONED=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_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLK_RQ_ALLOC_TIME=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BL_SWITCHER=y +CONFIG_BL_SWITCHER_DUMMY_IF=m +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=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_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_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_BOOTTIME_TRACING=y +# CONFIG_BOOTX_TEXT is not set +CONFIG_BOOT_CONFIG=y +CONFIG_BOOT_PRINTK_DELAY=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_STREAM_PARSER=y +CONFIG_BPF_SYSCALL=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_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_BRIDGE=m +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_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 is not set +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_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_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +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_HISTOGRAM 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_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +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_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_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_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_MSCAN=m +CONFIG_CAN_M_CAN=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_INLINE=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y +CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_CC_IS_GCC=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_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=m +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_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_BD70528=m +CONFIG_CHARGER_BD99954=m +CONFIG_CHARGER_BQ2415X=m +CONFIG_CHARGER_BQ24190=m +CONFIG_CHARGER_BQ24257=m +CONFIG_CHARGER_BQ24735=m +CONFIG_CHARGER_BQ25890=m +CONFIG_CHARGER_CPCAP=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_MANAGER=y +CONFIG_CHARGER_MAX14577=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MP2629=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_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_IPSEC_INLINE=y +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=y +CONFIG_CHROMEOS_LAPTOP=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_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CIO_DAC=m +CONFIG_CLANG_VERSION=0 +CONFIG_CLEANCACHE=y +CONFIG_CLKBLD_I8253=y +CONFIG_CLKDEV_LOOKUP=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_BCM2835=y +CONFIG_CLK_BCM_NS2=y +CONFIG_CLK_BCM_SR=y +CONFIG_CLK_EMEV2=y +# CONFIG_CLK_HSDK is not set +CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y +CONFIG_CLK_IMX8MP=y +CONFIG_CLK_IMX8MQ=y +CONFIG_CLK_IMX8QXP=y +CONFIG_CLK_LS1028A_PLLDIG=m +CONFIG_CLK_OWL_S500=y +CONFIG_CLK_OWL_S700=y +CONFIG_CLK_OWL_S900=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_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_R9A06G032=y +CONFIG_CLK_RASPBERRYPI=m +CONFIG_CLK_RCAR_GEN2_CPG=y +CONFIG_CLK_RCAR_GEN3_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_RZA1=y +CONFIG_CLK_SH73A0=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_UNIPHIER=y +CONFIG_CLK_VEXPRESS_OSC=y +CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +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_CMDLINE_BOOL is not set +# CONFIG_CMDLINE_FORCE is not set +CONFIG_CMM_IUCV=y +CONFIG_CMT_SPEECH=m +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +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_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMON_CLK_ASPEED=y +CONFIG_COMMON_CLK_AXG=y +CONFIG_COMMON_CLK_AXG_AUDIO=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_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_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_MT8135=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_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_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_VC5=m +CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_XGENE=y +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +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_COPS=m +CONFIG_COPS_DAYNA=y +CONFIG_COPS_TANGENT=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_SCHEDUTIL 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_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_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=m +CONFIG_CRC7=m +CONFIG_CRC8=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_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_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m +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=m +CONFIG_CRYPTO_BLAKE2S_X86=m +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_CRC32C_VPMSUM=m +CONFIG_CRYPTO_CRC32_ARM_CE=m +CONFIG_CRYPTO_CRC32_PCLMUL=m +CONFIG_CRYPTO_CRC32_S390=m +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_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=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_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_ZIP=m +CONFIG_CRYPTO_DEV_MARVELL=m +CONFIG_CRYPTO_DEV_MARVELL_CESA=m +CONFIG_CRYPTO_DEV_MEDIATEK=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_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_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_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=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_PRNG=y +CONFIG_CRYPTO_DEV_SUN8I_CE=m +# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN8I_SS=m +# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_CRYPTO_DEV_VMX=y +CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m +CONFIG_CRYPTO_DEV_ZYNQMP_AES=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_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_GLUE_HELPER_X86=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_KEYWRAP=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_BLAKE2S=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m +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_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SEED=m +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_SM3=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_ARM64_CE=m +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=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_HASH=m +CONFIG_CRYPTO_USER_API_RNG=m +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=y +CONFIG_CTCM=m +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_BASE=y +CONFIG_CX_ECAT=m +CONFIG_CYCLADES=m +CONFIG_CYPRESS_FIRMWARE=m +# CONFIG_CYZ_INTR is not set +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_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=16 +CONFIG_DAVICOM_PHY=m +CONFIG_DAX=y +CONFIG_DAX_DRIVER=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_DE4X5=m +CONFIG_DEBUGGER=y +CONFIG_DEBUG_ALIGN_RODATA=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT 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_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# 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=y +# CONFIG_DEBUG_INFO_COMPRESSED is not set +CONFIG_DEBUG_INFO_DWARF4=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT 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_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_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_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_DEFXX_MMIO is not set +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_DEPRECATED_PARAM_STRUCT is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=y +CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU=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_PRIVATE=y +# CONFIG_DEVKMEM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DEV_COREDUMP=y +CONFIG_DEV_DAX=m +CONFIG_DEV_DAX_HMEM=m +CONFIG_DEV_DAX_KMEM=m +CONFIG_DEV_DAX_PMEM=m +CONFIG_DEV_DAX_PMEM_COMPAT=m +CONFIG_DEV_PAGEMAP_OPS=y +CONFIG_DHT11=m +CONFIG_DIAG288_WATCHDOG=m +CONFIG_DIMLIB=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +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_DM9102=m +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_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_NONCOHERENT_MMAP=y +CONFIG_DMA_OF=y +CONFIG_DMA_OMAP=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_SUN6I=m +CONFIG_DMA_VIRT_OPS=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y +CONFIG_DMI_SYSFS=m +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_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_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_POWER=m +CONFIG_DQL=y +CONFIG_DRA752_THERMAL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +CONFIG_DRM_AMDGPU_CIK=y +# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set +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_ANALOGIX_ANX6345=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_CDNS_DSI=m +CONFIG_DRM_CHRONTEL_CH7033=m +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_DW_HDMI=m +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=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_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_GEM_CMA_HELPER=y +CONFIG_DRM_GEM_SHMEM_HELPER=y +CONFIG_DRM_GM12U320=m +CONFIG_DRM_GMA3600=y +CONFIG_DRM_GMA500=m +CONFIG_DRM_GMA600=y +CONFIG_DRM_HDLCD=m +# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set +CONFIG_DRM_HISI_HIBMC=m +CONFIG_DRM_HISI_KIRIN=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_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_HDMI=m +CONFIG_DRM_IMX_LDB=m +CONFIG_DRM_IMX_PARALLEL_DISPLAY=m +CONFIG_DRM_IMX_TVE=m +CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +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_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_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_PLL=y +CONFIG_DRM_MSM_GPU_STATE=y +# CONFIG_DRM_MSM_GPU_SUDO is not set +CONFIG_DRM_MSM_HDMI_HDCP=y +# CONFIG_DRM_MSM_REGISTER_LOGGING is not set +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=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_OMAP is not set +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BRIDGE=y +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_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=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_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=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_ROCKTECH_JH057N00900=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=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_SIMPLE=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX424AKP=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=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_XINPENG_XPP055C272=m +CONFIG_DRM_PANFROST=m +CONFIG_DRM_PARADE_PS8622=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_PL111=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_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_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_SN65DSI86=m +CONFIG_DRM_TI_TFP410=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358767=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_DMA_PAGE_POOL=y +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_TVE200=m +CONFIG_DRM_UDL=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_VRAM_HELPER=m +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m +CONFIG_DS1803=m +CONFIG_DS4424=m +CONFIG_DST_CACHE=y +CONFIG_DTC=y +CONFIG_DTL=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_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_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_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_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_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_MEMORY_LAYOUT=y +CONFIG_DYNAMIC_PHYSICAL_MASK=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_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_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_ARMADA_XP=y +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_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_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_CUSTOM_SSDT_OVERLAYS=y +CONFIG_EFI_DEV_PATH_PARSER=y +# CONFIG_EFI_DISABLE_PCI_DMA is not set +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_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_ENABLE_MUST_CHECK is not set +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_CLUSTER_PAGE_LIMIT=1 +# 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_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_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_EXPERT=y +CONFIG_EXPOLINE=y +CONFIG_EXPOLINE_AUTO=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_ARIZONA=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_USB_GPIO=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +CONFIG_EXYNOS5422_DMC=m +CONFIG_EXYNOS_ADC=m +CONFIG_EXYNOS_ASV=y +CONFIG_EXYNOS_ASV_ARM=y +CONFIG_EXYNOS_AUDSS_CLK_CON=m +CONFIG_EXYNOS_CHIPID=y +CONFIG_EXYNOS_CPU_SUSPEND=y +CONFIG_EXYNOS_IOMMU=y +# CONFIG_EXYNOS_IOMMU_DEBUG is not set +CONFIG_EXYNOS_IRQ_COMBINER=y +CONFIG_EXYNOS_MCPM=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_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_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_IO_TRACE is not set +CONFIG_F2FS_STAT_FS=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=y +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_BOOT_VESA_SUPPORT=y +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_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_DSI_CM 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_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_TFT_WATTEROTT=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_FIQ=y +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_SERIAL=m +CONFIG_FIRMWARE_EDID=y +CONFIG_FIRMWARE_MEMMAP=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_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_FORTIFY_SOURCE=y +CONFIG_FPGA=m +CONFIG_FPGA_DFL_AFU=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_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_STRATIX10_SOC=m +CONFIG_FPGA_MGR_XILINX_SPI=m +CONFIG_FPGA_MGR_ZYNQMP_FPGA=m +CONFIG_FPGA_REGION=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_VECTOR=y +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_OBJECT_LIST 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=y +CONFIG_FSL_DPAA2_ETH=m +CONFIG_FSL_DPAA2_ETHSW=m +CONFIG_FSL_DPAA2_ETH_DCB=y +CONFIG_FSL_DPAA2_PTP_CLOCK=m +CONFIG_FSL_DPAA2_QDMA=m +CONFIG_FSL_DPAA_CHECKING=y +CONFIG_FSL_DPAA_ETH=m +CONFIG_FSL_EDMA=m +CONFIG_FSL_ENETC=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_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_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_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_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_FWTTY_MAX_CARD_PORTS=32 +CONFIG_FWTTY_MAX_TOTAL_PORTS=64 +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_PAGED_BUF=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_FXAS21002C=m +CONFIG_FXAS21002C_I2C=m +CONFIG_FXAS21002C_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_GCC_VERSION=100200 +# 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_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_FIND_FIRST_BIT=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_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_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_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_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_AGGREGATOR=m +CONFIG_GPIO_ALTERA=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_BD70528=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_BRCMSTB=m +CONFIG_GPIO_BT8XX=m +CONFIG_GPIO_CADENCE=m +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_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_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_MSIC=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_SAMA5D2_PIOBU=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_SCH311X=m +CONFIG_GPIO_SIFIVE=y +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_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=y +CONFIG_GPIO_TQMX86=m +CONFIG_GPIO_TS4800=m +CONFIG_GPIO_TS4900=m +CONFIG_GPIO_UCB1400=m +CONFIG_GPIO_UNIPHIER=m +CONFIG_GPIO_VF610=y +CONFIG_GPIO_VIPERBOARD=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_GRACE_PERIOD=m +CONFIG_GREENASIA_FF=y +CONFIG_GREYBUS_AUDIO=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_GS_FPGABOOT=m +CONFIG_GTP=m +# CONFIG_GUP_BENCHMARK is not set +CONFIG_GVE=m +CONFIG_HALTPOLL_CPUIDLE=m +CONFIG_HAMRADIO=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY_FALLBACK=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HARDEN_EL2_VECTORS=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_VMAP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_HAVE_ARCH_NVRAM_OPS=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=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_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_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=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_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_FUTEX_CMPXCHG=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_IDE=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_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_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_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_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_Z900_FEATURES=y +CONFIG_HAVE_MARCH_Z990_FEATURES=y +CONFIG_HAVE_MARCH_Z9_109_FEATURES=y +CONFIG_HAVE_MARCH_ZEC12_FEATURES=y +CONFIG_HAVE_MEMBLOCK_PHYS_MAP=y +CONFIG_HAVE_MEMORYLESS_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=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_NET_DSA=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_NMI_WATCHDOG=y +CONFIG_HAVE_NOP_MCOUNT=y +CONFIG_HAVE_OPROFILE=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_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RELIABLE_STACKTRACE=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_S3C2410_I2C=y +CONFIG_HAVE_S3C2410_WATCHDOG=y +CONFIG_HAVE_S3C_RTC=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_HAVE_STACK_VALIDATION=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_TIF_NOHZ=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_HBMC_AM654=m +# CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m +CONFIG_HDC100X=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_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_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_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_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=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_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_SENSOR_ACCEL_3D=m +CONFIG_HID_SENSOR_ALS=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_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_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_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=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_DMA=m +CONFIG_HISI_FEMAC=m +CONFIG_HISI_PMU=y +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_HOLES_IN_ZONE=y +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_WIRELESS=m +CONFIG_HP_WMI=m +CONFIG_HSA_AMD=y +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HSU_DMA=m +CONFIG_HT16K33=m +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +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_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_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_CAVIUM=m +CONFIG_HW_RANDOM_EXYNOS=m +CONFIG_HW_RANDOM_HISI=m +CONFIG_HW_RANDOM_HISI_V2=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_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_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_AMD756_S4882=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_CHT_WC=m +CONFIG_I2C_COMPAT=y +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_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_EXYNOS5=m +CONFIG_I2C_FSI=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HIX5HD2=m +CONFIG_I2C_IMX_LPI2C=m +CONFIG_I2C_ISMT=m +CONFIG_I2C_KEMPLD=m +CONFIG_I2C_MESON=m +CONFIG_I2C_MLXCPLD=m +CONFIG_I2C_MPC=m +CONFIG_I2C_MT65XX=m +CONFIG_I2C_MULTI_INSTANTIATE=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=y +CONFIG_I2C_SCMI=m +CONFIG_I2C_SH_MOBILE=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SLAVE_EEPROM=m +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=m +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_ICP10100=m +CONFIG_ICPLUS_PHY=m +CONFIG_ICST=y +# CONFIG_IDE is not set +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_AT86RF230_DEBUGFS=y +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_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_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_BLACKLIST_KEYRING is not set +# CONFIG_IMA_DEFAULT_HASH_SHA512 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_TEMPLATE is not set +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_IMX_DMA=m +CONFIG_IMX_DSP=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_SCU_SOC=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_RAW_DIAG=m +CONFIG_INET_SCTP_DIAG=m +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_CXGB4=m +CONFIG_INFINIBAND_EFA=m +# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set +CONFIG_INFINIBAND_HFI1=m +CONFIG_INFINIBAND_HNS=m +CONFIG_INFINIBAND_HNS_HIP06=y +CONFIG_INFINIBAND_HNS_HIP08=y +CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set +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_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_NONE=y +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_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_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_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_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_PLATFORM_KEYRING=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEL_ATOMISP=y +CONFIG_INTEL_BXTWC_PMIC_TMU=m +CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m +CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_GTT=y +CONFIG_INTEL_HID_EVENT=m +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m +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_ISH_FIRMWARE_DOWNLOADER=m +CONFIG_INTEL_ISH_HID=m +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MEI_HDCP=m +CONFIG_INTEL_MEI_ME=m +CONFIG_INTEL_MEI_TXE=m +CONFIG_INTEL_MEI_WDT=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MFLD_THERMAL=m +CONFIG_INTEL_MIC_BUS=m +CONFIG_INTEL_MIC_CARD=m +CONFIG_INTEL_MIC_HOST=m +CONFIG_INTEL_MIC_X100_DMA=m +CONFIG_INTEL_MID_POWER_BUTTON=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_POWERCLAMP=m +CONFIG_INTEL_PUNIT_IPC=m +CONFIG_INTEL_RAPL=m +CONFIG_INTEL_RAPL_CORE=m +CONFIG_INTEL_RST=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_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_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_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_MSM8974=m +CONFIG_INTERCONNECT_QCOM_OSM_L3=m +CONFIG_INTERCONNECT_QCOM_QCS404=m +CONFIG_INTERCONNECT_QCOM_RPMH=m +CONFIG_INTERCONNECT_QCOM_SC7180=m +CONFIG_INTERCONNECT_QCOM_SDM845=m +CONFIG_INTERCONNECT_QCOM_SMD_RPM=m +CONFIG_INTERVAL_TREE=y +# CONFIG_INTERVAL_TREE_TEST is not set +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_ION is not set +CONFIG_IONIC=m +CONFIG_IOSCHED_BFQ=m +CONFIG_IOSF_MBI=y +CONFIG_IOSF_MBI_DEBUG=y +# 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_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_KCS_BMC=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_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_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_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_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_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_SIR=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_SUNXI=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_ISI=m +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_BCAST_FILTERING is not set +# 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_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_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_KASAN_STACK=1 +CONFIG_KCMP=y +# CONFIG_KCOV is not set +CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_KDB_DEFAULT_ENABLE=0x1 +CONFIG_KDB_KEYBOARD=y +CONFIG_KEMPLD_WDT=m +# CONFIG_KERNEL_BZIP2 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_KERNFS=y +CONFIG_KEXEC=y +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y +CONFIG_KEXEC_CORE=y +CONFIG_KEXEC_ELF=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_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_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_KGDB=y +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KMSG_IDS=y +CONFIG_KMX61=m +CONFIG_KPC2000=y +CONFIG_KPC2000_CORE=m +CONFIG_KPC2000_DMA=m +CONFIG_KPC2000_I2C=m +CONFIG_KPC2000_SPI=m +CONFIG_KPROBES=y +CONFIG_KPROBES_ON_FTRACE=y +# CONFIG_KPROBES_SANITY_TEST is not set +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_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_ARM_PMU=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_POSSIBLE=y +CONFIG_KVM_BOOK3S_PR_POSSIBLE=y +CONFIG_KVM_COMPAT=y +CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INDIRECT_VECTORS=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +# CONFIG_KVM_MMU_AUDIT is not set +# CONFIG_KVM_S390_UCONTROL is not set +CONFIG_KVM_VFIO=y +CONFIG_KVM_WERROR=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_LANMEDIA=m +CONFIG_LAPBETHER=m +CONFIG_LATTICE_ECP3_CONFIG=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_VERSION=235010000 +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_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_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_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_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_REGULATOR=m +CONFIG_LEDS_SC27XX_BLTC=m +CONFIG_LEDS_SGM3140=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_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_EMULATE is not set +# 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_LIDAR_LITE_V2=m +CONFIG_LINEAR_RANGES=y +CONFIG_LIQUIDIO=m +CONFIG_LIQUIDIO_VF=m +CONFIG_LIRC=y +CONFIG_LIVEPATCH=y +# CONFIG_LKDTM is not set +CONFIG_LLC=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="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_LTC2983=m +CONFIG_LTE_GDM724X=m +CONFIG_LTPC=m +CONFIG_LTR501=m +CONFIG_LV0104CS=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_LXT_PHY=m +CONFIG_LZ4HC_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_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_OMAP3517EVM is not set +CONFIG_MACH_OMAP3_PANDORA=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_MANDATORY_FILE_LOCKING=y +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_Z196 is not set +# CONFIG_MARCH_Z900 is not set +# CONFIG_MARCH_Z990 is not set +# CONFIG_MARCH_Z9_109 is not set +# CONFIG_MARCH_ZEC12 is not set +CONFIG_MARVELL_10G_PHY=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_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_MAX_RAW_DEVS=256 +CONFIG_MB1232=m +CONFIG_MC3230=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_MCPM=y +CONFIG_MCPM_QUAD_CLUSTER=y +CONFIG_MD=y +CONFIG_MDIO=m +CONFIG_MDIO_ASPEED=m +# CONFIG_MDIO_BCM_IPROC is not set +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_GPIO=m +CONFIG_MDIO_HISI_FEMAC=m +CONFIG_MDIO_I2C=m +CONFIG_MDIO_IPQ4019=m +CONFIG_MDIO_IPQ8064=m +CONFIG_MDIO_MVUSB=m +CONFIG_MDIO_OCTEON=m +# CONFIG_MDIO_SUN4I is not set +CONFIG_MDIO_XGENE=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_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_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_HOTPLUG_SPARSE=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_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_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_AAT2870_CORE=y +# CONFIG_MFD_AC100 is not set +CONFIG_MFD_ACT8945A=m +CONFIG_MFD_ALTERA_SYSMGR=y +CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_ATMEL_FLEXCOM=m +CONFIG_MFD_ATMEL_HLCDC=m +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_RSB=m +CONFIG_MFD_CORE=y +CONFIG_MFD_CPCAP=m +CONFIG_MFD_CROS_EC=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=m +CONFIG_MFD_GATEWORKS_GSC=m +CONFIG_MFD_HI6421_PMIC=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_MSIC=y +CONFIG_MFD_INTEL_PMC_BXT=m +CONFIG_MFD_INTEL_QUARK_I2C_GPIO=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_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_NVEC=m +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PM8XXX=m +CONFIG_MFD_QCOM_RPM=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RK808=m +CONFIG_MFD_RN5T618=m +CONFIG_MFD_ROHM_BD70528=m +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD718XX=m +CONFIG_MFD_SC27XX_PMIC=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SMSC=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_TPS68470=y +CONFIG_MFD_TPS80031=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_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_PIT64B=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MICROCODE=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MICROSEMI_PHY=m +CONFIG_MIC_COSM=m +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGRATION=y +CONFIG_MILBEAUT_HDMAC=m +CONFIG_MILBEAUT_TIMER=y +CONFIG_MILBEAUT_XDMAC=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_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_ACCEL=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_FPGA_IPSEC=y +CONFIG_MLX5_FPGA_TLS=y +CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TLS=y +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_MLXBF_BOOTCTL=m +CONFIG_MLXBF_TMFIFO=m +CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m +CONFIG_MLXREG_IO=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_MLXSW_SWITCHIB=m +CONFIG_MLXSW_SWITCHX2=m +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_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_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_OMAP=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDHCI_S3C=m +CONFIG_MMC_SDHCI_S3C_DMA=y +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=m +CONFIG_MMC_TMIO_CORE=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_UNIPHIER=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_MMIOWB=y +CONFIG_MMU=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_MODULES=y +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_REL_CRCS=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_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_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_SOUND=m +CONFIG_MOST_USB=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_HMAC_TEST is not set +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_OCELOT=m +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +# 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_8960=m +CONFIG_MSM_GCC_8974=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_8996=m +CONFIG_MSM_MMCC_8998=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MS_BLOCK=m +CONFIG_MT7601U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7622_WMAC=y +CONFIG_MT7663U=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +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_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_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_SW_BCH=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_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=y +CONFIG_MTD_NAND_OMAP_BCH=y +CONFIG_MTD_NAND_OMAP_BCH_BUILD=y +CONFIG_MTD_NAND_ORION=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_QCOM=m +CONFIG_MTD_NAND_RICOH=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_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_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_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_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_CMDQ=m +CONFIG_MTK_CMDQ_MBOX=m +CONFIG_MTK_CQDMA=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_SMI=y +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_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_NDC_DIS_DYNAMIC_CACHING=y +CONFIG_ND_BLK=m +CONFIG_ND_BTT=m +CONFIG_ND_CLAIM=y +CONFIG_ND_PFN=m +CONFIG_NE2K_PCI=m +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_MULTIPLE_NODES=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_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_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +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_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_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_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DROP_MONITOR=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_BCM_SF2=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_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_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y +CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK_SMI=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_8021Q=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_PREPEND=m +CONFIG_NET_DSA_TAG_DSA=m +CONFIG_NET_DSA_TAG_EDSA=m +CONFIG_NET_DSA_TAG_GSWIP=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_QCA=m +CONFIG_NET_DSA_TAG_SJA1105=m +CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_VITESSE_VSC73XX=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=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_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_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_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_NET_VENDOR_AURORA=y +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CORTINA=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_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_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_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=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=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_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_COUNTER=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_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_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_BRIDGE=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_LOG_NETDEV=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_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_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_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_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +CONFIG_NULL_TTY=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_NVM=y +CONFIG_NVMEM_BCM_OCOTP=m +CONFIG_NVMEM_IMX_IIM=m +CONFIG_NVMEM_IMX_OCOTP=m +CONFIG_NVMEM_IMX_OCOTP_SCU=m +CONFIG_NVMEM_REBOOT_MODE=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_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_RDMA=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TCP=m +CONFIG_NVM_PBLK=m +# CONFIG_NVM_PBLK_DEBUG is not set +CONFIG_NV_TCO=m +CONFIG_NXP_TJA11XX_PHY=m +CONFIG_N_HDLC=m +# CONFIG_OABI_COMPAT is not set +CONFIG_OBJAGG=m +# 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_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_NET=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_OMAP3_THERMAL is not set +CONFIG_OMAP4_THERMAL=y +CONFIG_OMAP5_ERRATA_801819=y +CONFIG_OMAP_32K_TIMER=y +CONFIG_OMAP_CONTROL_PHY=m +CONFIG_OMAP_DM_TIMER=y +CONFIG_OMAP_GPMC=y +# CONFIG_OMAP_GPMC_DEBUG is not set +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_PACKAGE_CBB=y +CONFIG_OMAP_REMOTEPROC=m +# CONFIG_OMAP_REMOTEPROC_WATCHDOG is not set +CONFIG_OMAP_RESET_CLOCKS=y +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_OPROFILE=m +# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set +CONFIG_OPROFILE_NMI_TIMER=y +CONFIG_OPT3001=m +CONFIG_OPTEE=m +CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 +CONFIG_OPTPROBES=y +CONFIG_ORANGEFS_FS=m +CONFIG_ORINOCO_USB=m +CONFIG_ORION_IRQCHIP=y +CONFIG_ORION_TIMER=y +CONFIG_ORION_WATCHDOG=m +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_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_PACK_STACK=y +CONFIG_PADATA=y +CONFIG_PAGE_COUNTER=y +# CONFIG_PAGE_OWNER is not set +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POISONING_NO_SANITY=y +CONFIG_PAGE_POISONING_ZERO=y +CONFIG_PAGE_POOL=y +CONFIG_PAGE_REPORTING=y +CONFIG_PAGE_TABLE_ISOLATION=y +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_ARMADA_8K=y +CONFIG_PCIE_BRCMSTB=m +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 is not set +CONFIG_PCIE_HISI_STB=y +CONFIG_PCIE_IPROC=m +CONFIG_PCIE_IPROC_MSI=y +CONFIG_PCIE_IPROC_PLATFORM=m +CONFIG_PCIE_KIRIN=y +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +CONFIG_PCIE_MEDIATEK=y +# CONFIG_PCIE_MOBIVEIL_PLAT is not set +CONFIG_PCIE_PME=y +CONFIG_PCIE_PTM=y +CONFIG_PCIE_QCOM=y +CONFIG_PCIE_RCAR=y +CONFIG_PCIE_RCAR_EP=y +CONFIG_PCIE_RCAR_HOST=y +CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_EP=y +CONFIG_PCIE_ROCKCHIP_HOST=m +CONFIG_PCIE_UNIPHIER=y +CONFIG_PCIE_UNIPHIER_EP=y +CONFIG_PCIE_XILINX=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=y +CONFIG_PCI_DRA7XX_EP=y +CONFIG_PCI_DRA7XX_HOST=y +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_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_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_MESON is not set +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=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_PCSPKR_PLATFORM=y +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PEAQ_WMI=m +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_PERF_EVENTS=y +# CONFIG_PERF_EVENTS_AMD_POWER is not set +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_PHYLINK=m +CONFIG_PHYSICAL_ALIGN=0x200000 +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_SALVO=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_DM816X_USB=m +CONFIG_PHY_EXYNOS5250_SATA=y +CONFIG_PHY_EXYNOS5250_USB2=y +CONFIG_PHY_EXYNOS5_USBDRD=m +CONFIG_PHY_EXYNOS_DP_VIDEO=y +CONFIG_PHY_EXYNOS_MIPI_VIDEO=y +CONFIG_PHY_EXYNOS_PCIE=y +CONFIG_PHY_FSL_IMX8MQ_USB=m +CONFIG_PHY_HI3660_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_EMMC=m +CONFIG_PHY_J721E_WIZ=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_MESON8B_USB2=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_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_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_IPQ4019_USB=m +CONFIG_PHY_QCOM_IPQ806X_SATA=m +CONFIG_PHY_QCOM_PCIE2=m +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m +CONFIG_PHY_QCOM_UFS=m +CONFIG_PHY_QCOM_UFS_14NM=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_DSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_HDMI=m +CONFIG_PHY_ROCKCHIP_INNO_USB2=m +CONFIG_PHY_ROCKCHIP_PCIE=m +CONFIG_PHY_ROCKCHIP_TYPEC=m +CONFIG_PHY_ROCKCHIP_USB=m +CONFIG_PHY_SAMSUNG_USB2=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_TEGRA_XUSB=m +CONFIG_PHY_TUSB1210=m +CONFIG_PHY_UNIPHIER_PCIE=m +CONFIG_PHY_UNIPHIER_USB2=m +CONFIG_PHY_UNIPHIER_USB3=m +CONFIG_PHY_XGENE=y +CONFIG_PI433=m +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_PID_NS=y +CONFIG_PINCONF=y +CONFIG_PINCTRL_AMD=y +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_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_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_IMX_SCU=y +CONFIG_PINCTRL_INTEL=m +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_LEWISBURG=m +CONFIG_PINCTRL_LOCHNAGAR=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_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_MSM=y +CONFIG_PINCTRL_MSM8660=m +CONFIG_PINCTRL_MSM8916=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_MT6797=y +CONFIG_PINCTRL_MT7622=y +CONFIG_PINCTRL_MT7623=y +CONFIG_PINCTRL_MT7629=y +CONFIG_PINCTRL_MT8127=y +CONFIG_PINCTRL_MT8135=y +CONFIG_PINCTRL_MT8173=y +CONFIG_PINCTRL_MT8183=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_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_SH73A0=y +CONFIG_PINCTRL_QCOM_SPMI_PMIC=m +CONFIG_PINCTRL_QCOM_SSBI_PMIC=m +CONFIG_PINCTRL_QCS404=m +CONFIG_PINCTRL_QDF2XXX=m +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_PINCTRL_RZA1=y +CONFIG_PINCTRL_RZA2=y +CONFIG_PINCTRL_RZN1=y +CONFIG_PINCTRL_S700=y +CONFIG_PINCTRL_S900=y +CONFIG_PINCTRL_SAMSUNG=y +CONFIG_PINCTRL_SC7180=m +CONFIG_PINCTRL_SDM660=m +CONFIG_PINCTRL_SDM845=m +CONFIG_PINCTRL_SH_PFC=y +CONFIG_PINCTRL_SH_PFC_GPIO=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_SM8150=m +CONFIG_PINCTRL_SM8250=m +CONFIG_PINCTRL_SPRD=y +CONFIG_PINCTRL_SPRD_SC9860=y +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SUN4I_A10=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_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_TEGRA20=y +CONFIG_PINCTRL_TEGRA30=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_TIGERLAKE=m +CONFIG_PINCTRL_TI_IODELAY=y +CONFIG_PINCTRL_UNIPHIER=y +CONFIG_PINCTRL_UNIPHIER_LD11=y +CONFIG_PINCTRL_UNIPHIER_LD20=y +CONFIG_PINCTRL_UNIPHIER_LD4=y +CONFIG_PINCTRL_UNIPHIER_LD6B=y +CONFIG_PINCTRL_UNIPHIER_PRO4=y +CONFIG_PINCTRL_UNIPHIER_PRO5=y +CONFIG_PINCTRL_UNIPHIER_PXS2=y +CONFIG_PINCTRL_UNIPHIER_PXS3=y +CONFIG_PINCTRL_UNIPHIER_SLD8=y +CONFIG_PINCTRL_VF610=y +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_SAMSUNG=y +# CONFIG_PLAT_SPEAR is not set +CONFIG_PLAT_VERSATILE=y +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_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_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_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_LTC2952=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_MT6323=y +CONFIG_POWER_RESET_QCOM_PON=m +# CONFIG_POWER_RESET_QNAP is not set +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_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_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=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_HAVE_KUAP=y +CONFIG_PPC_HAVE_KUEP=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_MEMTRACE=y +# CONFIG_PPC_MEM_KEYS is not set +CONFIG_PPC_MM_SLICES=y +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_NATIVE=y +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_PAGE_SHIFT=16 +CONFIG_PPC_PERF_CTRS=y +CONFIG_PPC_POWERNV=y +CONFIG_PPC_PSERIES=y +# CONFIG_PPC_PTDUMP is not set +CONFIG_PPC_RADIX_MMU=y +CONFIG_PPC_RADIX_MMU_DEFAULT=y +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_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +CONFIG_PREEMPTION=y +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PREEMPT_RCU=y +# CONFIG_PREEMPT_TRACER is not set +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_NMI=y +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_PRISM54 is not set +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=y +CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y +# 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_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_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_PTDUMP_DEBUGFS is not set +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_QORIQ=m +CONFIG_PTP_1588_CLOCK_VMW=m +CONFIG_PUNIT_ATOM_DEBUG=m +CONFIG_PVH=y +CONFIG_PVPANIC=m +CONFIG_PWM_ATMEL_HLCDC_PWM=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_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_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_OMAP_DMTIMER=m +CONFIG_PWM_PCA9685=m +CONFIG_PWM_RCAR=m +CONFIG_PWM_RENESAS_TPU=m +CONFIG_PWM_ROCKCHIP=m +CONFIG_PWM_SAMSUNG=m +CONFIG_PWM_SPRD=m +CONFIG_PWM_STMPE=y +CONFIG_PWM_SUN4I=m +CONFIG_PWM_SYSFS=y +CONFIG_PWM_TEGRA=m +CONFIG_PWM_TWL=m +CONFIG_PWM_TWL_LED=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_QCOM_A53PLL=m +CONFIG_QCOM_AOSS_QMP=m +CONFIG_QCOM_APCS_IPC=m +CONFIG_QCOM_APR=m +CONFIG_QCOM_BAM_DMA=m +CONFIG_QCOM_CLK_APCS_MSM8916=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_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_L2_PMU=y +CONFIG_QCOM_L3_PMU=y +CONFIG_QCOM_LLCC=m +CONFIG_QCOM_MDT_LOADER=m +CONFIG_QCOM_OCMEM=m +CONFIG_QCOM_PDC=y +CONFIG_QCOM_PDR_HELPERS=m +CONFIG_QCOM_PM8XXX_XOADC=m +CONFIG_QCOM_Q6V5_ADSP=m +CONFIG_QCOM_Q6V5_COMMON=m +CONFIG_QCOM_Q6V5_IPA_NOTIFY=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_SPMI_ADC5=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_TEMP_ALARM=m +CONFIG_QCOM_SPMI_VADC=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_OSN=y +CONFIG_QETH_OSX=y +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_QUOTACTL_COMPAT=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=y +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_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_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_TSI568=m +CONFIG_RAPIDIO_TSI57X=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_THERMAL=m +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_PERF_TEST=m +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_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_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_SPI=y +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_AB3100=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_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BCM590XX=m +CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_CPCAP=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +CONFIG_REGULATOR_DA9055=m +CONFIG_REGULATOR_DA9062=m +CONFIG_REGULATOR_DA9063=m +CONFIG_REGULATOR_DA9210=m +CONFIG_REGULATOR_DA9211=m +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FAN53555=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_HI6421=m +CONFIG_REGULATOR_HI6421V530=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_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_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_MT6323=m +CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6380=m +CONFIG_REGULATOR_MT6397=m +CONFIG_REGULATOR_PALMAS=m +CONFIG_REGULATOR_PBIAS=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PV88060=m +CONFIG_REGULATOR_PV88080=m +CONFIG_REGULATOR_PV88090=m +CONFIG_REGULATOR_PWM=m +CONFIG_REGULATOR_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_RPMH=m +CONFIG_REGULATOR_QCOM_SMD_RPM=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=m +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m +CONFIG_REGULATOR_RT5033=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_SY8106A=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_TI_ABB=y +CONFIG_REGULATOR_TPS51632=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=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_TPS80031=m +CONFIG_REGULATOR_UNIPHIER=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_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_RENESAS_DMA=y +CONFIG_RENESAS_INTC_IRQPIN=y +CONFIG_RENESAS_IRQC=y +CONFIG_RENESAS_OSTM=y +CONFIG_RENESAS_PHY=m +CONFIG_RENESAS_RZA1_IRQC=y +CONFIG_RENESAS_RZAWDT=m +CONFIG_RENESAS_USB_DMAC=m +CONFIG_RENESAS_WDT=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_INTEL_GW=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_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_RESET_UNIPHIER=m +CONFIG_RESET_UNIPHIER_GLUE=m +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_ALLOW_SWAP=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +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_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_WATCHDOG=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +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_ROCKER=m +CONFIG_ROCKETPORT=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_MTK_SCP=m +CONFIG_RPMSG_QCOM_GLINK=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_QCOM_GLINK_SMEM=m +CONFIG_RPMSG_QCOM_SMD=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_AB3100=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_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_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_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_OMAP=y +CONFIG_RTC_DRV_OPAL=y +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_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_S3C=y +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_TPS80031=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_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_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_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_PTDUMP=y +CONFIG_S390_TAPE=m +CONFIG_S390_TAPE_34XX=m +CONFIG_S390_TAPE_3590=m +# CONFIG_S390_UNWIND_SELFTEST is not set +CONFIG_S390_VMUR=m +CONFIG_S3C2410_WATCHDOG=m +CONFIG_S5P_DEV_MFC=y +CONFIG_SAMPLES=y +# CONFIG_SAMPLE_AUXDISPLAY is not set +# CONFIG_SAMPLE_CONFIGFS is not set +CONFIG_SAMPLE_FTRACE_DIRECT=m +# 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_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_DEBUG is not set +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_SBNI=m +# CONFIG_SBNI_MULTILINE is not set +CONFIG_SBP_TARGET=m +CONFIG_SC1200_WDT=m +CONFIG_SC27XX_ADC=m +CONFIG_SC27XX_EFUSE=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCANLOG=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_BOOK=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 is not set +CONFIG_SCHED_TOPOLOGY=y +CONFIG_SCHED_TRACER=y +CONFIG_SCIF=m +CONFIG_SCIF_BUS=m +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_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_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_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_DWC_TC_PCI=m +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m +CONFIG_SCSI_UFS_HISI=m +CONFIG_SCSI_UFS_MEDIATEK=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_DISPCC_7180=m +CONFIG_SC_GCC_7180=m +CONFIG_SC_GPUCC_7180=m +CONFIG_SC_MSS_7180=m +CONFIG_SC_VIDEOCC_7180=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_845=m +CONFIG_SDM_LPASSCC_845=m +CONFIG_SDM_VIDEOCC_845=m +CONFIG_SDR_MAX2175=m +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_SD_ADC_MODULATOR=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECONDARY_TRUSTED_KEYRING=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_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_DMESG_RESTRICT=y +CONFIG_SECURITY_INFINIBAND=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_SENSIRION_SGP30=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_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_AMC6821=m +CONFIG_SENSORS_AMD_ENERGY=m +CONFIG_SENSORS_APPLESMC=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_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_DA9052_ADC=m +CONFIG_SENSORS_DA9055=m +CONFIG_SENSORS_DELL_SMM=m +CONFIG_SENSORS_DME1737=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_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_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR38064=m +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_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_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_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_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_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NTC_THERMISTOR=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_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_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_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_STTS751=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_TMP513=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_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_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=m +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_OMAP=m +CONFIG_SERIAL_8250_PCI=y +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=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_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_IFX6X60 is not set +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_KGDB_NMI=y +CONFIG_SERIAL_LANTIQ=m +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_MVEBU_CONSOLE=y +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_OMAP=y +CONFIG_SERIAL_OMAP_CONSOLE=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_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=m +CONFIG_SERIAL_SPRD=m +CONFIG_SERIAL_ST_ASC=m +CONFIG_SERIAL_TEGRA=m +CONFIG_SERIAL_TEGRA_TCU=m +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_SFC_FALCON_MTD=y +CONFIG_SFC_MCDI_LOGGING=y +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SRIOV=y +CONFIG_SFI=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_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_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +CONFIG_SIMPLE_PM_BUS=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_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_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +CONFIG_SLUB_MEMCG_SYSFS_ON=y +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC=m +CONFIG_SMC911X=m +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_FTL=m +CONFIG_SM_GCC_8150=m +CONFIG_SM_GCC_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_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_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_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_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_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_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_DSP_CONFIG=m +CONFIG_SND_INTEL_NHLT=y +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_SAMSUNG_I2S=m +CONFIG_SND_SAMSUNG_PCM=m +CONFIG_SND_SAMSUNG_SPDIF=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_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_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_AK4104=m +CONFIG_SND_SOC_AK4118=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_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_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_APQ8016_SBC=m +CONFIG_SND_SOC_ARIZONA=m +CONFIG_SND_SOC_ARNDALE=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_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_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_SAI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_UTILS=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_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_AUDMIX=m +CONFIG_SND_SOC_IMX_ES8328=m +CONFIG_SND_SOC_IMX_MC13783=m +CONFIG_SND_SOC_IMX_PCM_FIQ=y +CONFIG_SND_SOC_IMX_SPDIF=m +CONFIG_SND_SOC_IMX_SSI=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_INTEL_APL=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_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_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=m +CONFIG_SND_SOC_INTEL_HASWELL_MACH=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_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 is not set +CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m +CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH=m +CONFIG_SND_SOC_INTEL_SST=m +CONFIG_SND_SOC_INTEL_SST_ACPI=m +CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +# CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set +CONFIG_SND_SOC_LOCHNAGAR_SC=m +CONFIG_SND_SOC_LPASS_APQ8016=m +CONFIG_SND_SOC_LPASS_CPU=m +CONFIG_SND_SOC_LPASS_IPQ806X=m +CONFIG_SND_SOC_LPASS_PLATFORM=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98095=m +CONFIG_SND_SOC_MAX98357A=m +CONFIG_SND_SOC_MAX98373=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MC13783=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_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_MTK_BTCVSD=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=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_ODROID=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_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_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_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_RL6231=m +CONFIG_SND_SOC_RL6347A=m +CONFIG_SND_SOC_ROCKCHIP=m +CONFIG_SND_SOC_ROCKCHIP_I2S=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_RT1308_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_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_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_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_SAMSUNG=m +CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m +CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m +CONFIG_SND_SOC_SAMSUNG_TM2_WM5110=m +CONFIG_SND_SOC_SDM845=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_SIRF_AUDIO_CODEC=m +CONFIG_SND_SOC_SMDK_WM8994_PCM=m +CONFIG_SND_SOC_SNOW=m +CONFIG_SND_SOC_SOF=m +CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_APOLLOLAKE=m +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_CANNONLAKE=m +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COFFEELAKE=m +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE=m +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_SUPPORT=y +# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE=m +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_GEMINILAKE=m +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_HDA=m +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +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_ICELAKE=m +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_IMX8=m +CONFIG_SND_SOC_SOF_IMX8M=m +CONFIG_SND_SOC_SOF_IMX8M_SUPPORT=y +CONFIG_SND_SOC_SOF_IMX8_SUPPORT=y +CONFIG_SND_SOC_SOF_IMX_OF=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SOC_SOF_INTEL_ACPI=m +CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m +CONFIG_SND_SOC_SOF_INTEL_COMMON=m +CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m +CONFIG_SND_SOC_SOF_INTEL_PCI=m +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE=m +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_MERRIFIELD=m +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y +CONFIG_SND_SOC_SOF_TIGERLAKE=m +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y +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_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_TAS2770=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TEGRA=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_TEGRA30_AHUB=m +CONFIG_SND_SOC_TEGRA30_I2S=m +CONFIG_SND_SOC_TEGRA_ALC5632=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_TI_EDMA_PCM=m +CONFIG_SND_SOC_TI_SDMA_PCM=m +CONFIG_SND_SOC_TI_UDMA_PCM=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_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=m +CONFIG_SND_SOC_UNIPHIER_AIO=m +CONFIG_SND_SOC_UNIPHIER_EVEA_CODEC=m +CONFIG_SND_SOC_UNIPHIER_LD11=m +CONFIG_SND_SOC_UNIPHIER_PXS2=m +CONFIG_SND_SOC_WCD9335=m +CONFIG_SND_SOC_WCD934X=m +CONFIG_SND_SOC_WM5110=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_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_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_SOC_ZX_AUD96P22=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_SST_IPC=m +CONFIG_SND_SST_IPC_ACPI=m +CONFIG_SND_SST_IPC_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_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_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=m +CONFIG_SNI_NETSEC=m +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_SOCK_VALIDATE_XMIT=y +# CONFIG_SOC_AM43XX is not set +CONFIG_SOC_ASPEED=y +CONFIG_SOC_BUS=y +CONFIG_SOC_DRA7XX=y +CONFIG_SOC_EXYNOS5250=y +CONFIG_SOC_EXYNOS5260=y +CONFIG_SOC_EXYNOS5410=y +CONFIG_SOC_EXYNOS5420=y +CONFIG_SOC_EXYNOS5800=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_OMAP3430=y +# CONFIG_SOC_OMAP5 is not set +CONFIG_SOC_RENESAS=y +CONFIG_SOC_SAMSUNG=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_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_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_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_SPI_ALTERA=m +CONFIG_SPI_AMD=m +CONFIG_SPI_ARMADA_3700=m +CONFIG_SPI_ASPEED_SMC=m +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_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_SFC=m +CONFIG_SPI_HISI_SFC_V3XX=m +CONFIG_SPI_IMX=m +# CONFIG_SPI_INTEL_SPI_PCI is not set +# CONFIG_SPI_INTEL_SPI_PLATFORM is not set +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_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_RSPI=m +CONFIG_SPI_S3C64XX=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_THUNDERX=m +CONFIG_SPI_TI_QSPI=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_UNIPHIER=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_MSM_PMIC_ARB=m +CONFIG_SPMI_PMIC_CLKDIV=m +CONFIG_SPRD_COMMON_CLK=m +CONFIG_SPRD_DMA=m +CONFIG_SPRD_EFUSE=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_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# 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_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STACK_TRACER=y +CONFIG_STACK_VALIDATION=y +CONFIG_STAGING_APEX_DRIVER=m +# CONFIG_STAGING_BOARD is not set +CONFIG_STAGING_GASKET_FRAMEWORK=m +CONFIG_STAGING_MEDIA=y +# 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_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_SUN50I_A64_CCU=y +CONFIG_SUN50I_DE2_BUS=y +CONFIG_SUN50I_ERRATUM_UNKNOWN1=y +CONFIG_SUN50I_H6_CCU=y +CONFIG_SUN50I_H6_R_CCU=y +CONFIG_SUN50I_IOMMU=y +CONFIG_SUN6I_MSGBOX=y +CONFIG_SUN8I_A83T_CCU=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 is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_SWAP=y +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUNXI_CCU=y +CONFIG_SUNXI_RSB=m +CONFIG_SUNXI_SRAM=y +CONFIG_SUNXI_WATCHDOG=m +CONFIG_SURFACE3_WMI=m +CONFIG_SURFACE_3_BUTTON=m +CONFIG_SURFACE_3_POWER_OPREGION=m +CONFIG_SURFACE_PRO3_BUTTON=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +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_SX9500=m +CONFIG_SXGBE_ETH=m +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_SYNCLINK=m +CONFIG_SYNCLINKMP=m +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_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_RCAR=y +CONFIG_SYSC_RMOBILE=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSTEM76_ACPI=m +CONFIG_SYSTEMPORT=m +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_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_HUGETLBFS=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_GTCO=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_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_TEE=m +CONFIG_TEE_BNXT_FW=m +CONFIG_TEGRA124_EMC=y +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA20_EMC=y +CONFIG_TEGRA30_EMC=y +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_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_VDE=m +CONFIG_TEGRA_WATCHDOG=m +CONFIG_TEHUTI=m +CONFIG_TELCLOCK=m +CONFIG_TERANETICS_PHY=m +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_BITFIELD 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_FIRMWARE is not set +# CONFIG_TEST_HASH 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_LIST_SORT 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_OVERFLOW is not set +# CONFIG_TEST_PARMAN is not set +CONFIG_TEST_POWER=m +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SORT is not set +# CONFIG_TEST_STACKINIT 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_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_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_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_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_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_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_CPTS=m +CONFIG_TI_K3_PSIL=y +CONFIG_TI_K3_RINGACC=y +CONFIG_TI_K3_UDMA=y +CONFIG_TI_K3_UDMA_GLUE_LAYER=y +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_TI_PIPE3=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_ST=m +CONFIG_TI_SYSC=y +CONFIG_TI_SYSCON_CLK=y +CONFIG_TI_THERMAL=y +CONFIG_TI_TLC4541=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_TMPFS=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_TORTURE_TEST=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_ILI210X=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_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_PROPERTIES=y +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_TPL0102=m +CONFIG_TPM_KEY_PARSER=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_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACING=y +CONFIG_TRACING_MAP=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_TRUSTED_FOUNDATIONS=y +CONFIG_TRUSTED_KEYS=y +CONFIG_TS4800_IRQ=m +CONFIG_TS4800_WATCHDOG=m +CONFIG_TSL2583=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +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_Z10 is not set +# CONFIG_TUNE_Z13 is not set +# CONFIG_TUNE_Z14 is not set +CONFIG_TUNE_Z15=y +# CONFIG_TUNE_Z196 is not set +# CONFIG_TUNE_Z900 is not set +# CONFIG_TUNE_Z990 is not set +# CONFIG_TUNE_Z9_109 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_MUX_INTEL_PMC=m +CONFIG_TYPEC_MUX_PI3USB30532=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_UCSI=m +# CONFIG_TYPEC_WCOVE is not set +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 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_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_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=m +CONFIG_UNIPHIER_MDMAC=m +CONFIG_UNIPHIER_SYSTEM_BUS=y +CONFIG_UNIPHIER_THERMAL=m +CONFIG_UNIPHIER_WATCHDOG=m +CONFIG_UNIPHIER_XDMAC=m +CONFIG_UNISYSSPAR=y +CONFIG_UNISYS_VISORBUS=m +CONFIG_UNISYS_VISORHBA=m +CONFIG_UNISYS_VISORINPUT=m +CONFIG_UNISYS_VISORNIC=m +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=m +CONFIG_UNIX_SCM=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_GUESS is not set +# CONFIG_UNWINDER_ORC is not set +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENTS=y +CONFIG_US5182D=m +CONFIG_USB=y +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_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_PERIPHERAL is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_DWC3=m +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_EXYNOS=m +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_HAPS=m +# CONFIG_USB_DWC3_HOST is not set +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_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BRCMSTB=m +CONFIG_USB_EHCI_EXYNOS=y +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_MXC=m +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_FHCI_HCD=m +CONFIG_USB_FOTG210_HCD=m +CONFIG_USB_FOTG210_UDC=m +CONFIG_USB_FSL_USB2=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_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y +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_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_IMX21_HCD=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_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_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=y +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_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_WHITELIST 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_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_RTL8150=m +CONFIG_USB_RTL8152=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_XIRCOM=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_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_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_U_SERIAL_CONSOLE=y +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_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_VCNL3020=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VDPA_SIM=m +CONFIG_VDSO=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_IOMMU_SPAPR_TCE=y +CONFIG_VFIO_MDEV=m +CONFIG_VFIO_MDEV_DEVICE=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI_IGD=y +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_NVLINK2=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_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=y +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_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=y +CONFIG_VIDEO_CADENCE_CSI2RX=m +CONFIG_VIDEO_CADENCE_CSI2TX=m +CONFIG_VIDEO_CAFE_CCIC=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_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_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_I2C=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_IMX355=m +CONFIG_VIDEO_IMX7_CSI=m +CONFIG_VIDEO_IMX_CSI=m +CONFIG_VIDEO_IMX_MEDIA=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_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MEDIATEK_VPU=m +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=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_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_OV13858=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_OV5670=m +CONFIG_VIDEO_OV5675=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_OV9640=m +CONFIG_VIDEO_OV9650=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_VIN=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=m +CONFIG_VIDEO_SAMSUNG_S5P_G2D=m +CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m +CONFIG_VIDEO_SAMSUNG_S5P_MFC=m +CONFIG_VIDEO_SMIAPP=m +CONFIG_VIDEO_SMIAPP_PLL=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_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_USBVISION=m +CONFIG_VIDEO_V4L2=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_TPG=m +CONFIG_VIDEO_XILINX_VTC=m +CONFIG_VIPERBOARD_ADC=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=y +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_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_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_STACK=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_VMIVME_7805=m +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_VOP=m +CONFIG_VORTEX=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_DEV_COREDUMP=y +CONFIG_WANXL=m +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_WARN_DYNAMIC_STACK is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +# 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_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_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WINBOND_840=m +CONFIG_WINDFARM=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +# CONFIG_WIRELESS_WDS is not set +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_QUANTENNA=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=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_WW_MUTEX_SELFTEST is not set +CONFIG_X25_ASY=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_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_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_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_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_RESERVE_LOW=64 +CONFIG_X86_SMAP=y +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_X86_SYSFB is not set +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=y +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_BALLOON_MEMORY_HOTPLUG_LIMIT=512 +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_HAVE_PVMMU=y +CONFIG_XEN_HAVE_VPMU=y +CONFIG_XEN_MCE_LOG=y +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +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_SMP=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_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_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_WARN is not set +CONFIG_XGENE_DMA=m +CONFIG_XGENE_PMU=y +CONFIG_XGENE_SLIMPRO_MBOX=m +CONFIG_XIAOMI_WMI=m +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_DMA=m +CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_PR_DECOUPLER=m +CONFIG_XILINX_VCU=m +CONFIG_XILINX_XADC=m +CONFIG_XILINX_ZYNQMP_DMA=m +CONFIG_XILLYBUS_OF=m +CONFIG_XILLYBUS_PCIE=m +CONFIG_XIL_AXIS_FIFO=m +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_YAM=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_Z3FOLD=m +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBUD=y +CONFIG_ZCRYPT=m +CONFIG_ZCRYPT_MULTIDEVNODES=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=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_MEMORY_TRACKING=y +CONFIG_ZRAM_WRITEBACK=y +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set +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_ZX_TDM=m +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-riscv-5.8-5.8.0.orig/debian.master/config/ppc64el/config.common.ppc64el +++ linux-riscv-5.8-5.8.0/debian.master/config/ppc64el/config.common.ppc64el @@ -0,0 +1,665 @@ +# +# Config options for config.common.ppc64el automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=m +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=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_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_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_RSXX=m +CONFIG_BLK_DEV_SKD=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_UMEM=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 (Ubuntu 10.2.0-8ubuntu1) 10.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CLOCK_THERMAL=y +CONFIG_CMA=y +CONFIG_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMM=m +CONFIG_COMMON_CLK=y +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CRAMFS=m +CONFIG_CRYPTO_DEFLATE=y +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_LIB_POLY1305_RSIZE=1 +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_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +# 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_RCAR_LVDS is not set +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DW_WATCHDOG=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=y +CONFIG_FB_SIS=m +CONFIG_FB_SM712=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_FIXED_PHY=y +CONFIG_FORCE_MAX_ZONEORDER=9 +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_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_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=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_HIO is not set +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_HWMON=y +CONFIG_HWSPINLOCK=y +# CONFIG_HW_RANDOM_CCTRNG is not set +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 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_EMEV2 is not set +CONFIG_I2C_GPIO=m +CONFIG_I2C_HID=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_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_ARCH_POLICY=y +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_SECURE_AND_OR_TRUSTED_BOOT=y +CONFIG_IMA_SIG_TEMPLATE=y +CONFIG_INFINIBAND_BNXT_RE=m +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_POLLDEV=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IRQ_BYPASS_MANAGER=y +# CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set +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_KEXEC_FILE=y +CONFIG_KVM=y +CONFIG_LAPB=m +# CONFIG_LATENCYTOP is not set +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_LZ4_COMPRESS=y +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MCB=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_THUNDER=m +CONFIG_MDIO_XPCS=m +CONFIG_MD_MULTIPATH=m +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_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +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_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_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_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_MOST=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_ECC_SW_HAMMING=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_MSCC_FELIX 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_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_NTFS_RW is not set +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NVRAM=y +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_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_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PGTABLE_LEVELS=4 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PINCTRL=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT is not set +# 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_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAW_DRIVER=m +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +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_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_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_GDTH=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_LPFC=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_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_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_DMAENGINE_PCM=m +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_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_INFINEON=y +CONFIG_TCG_TIS_I2C_NUVOTON=y +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +# CONFIG_TI_SOC_THERMAL is not set +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRACE_SINK=m +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y +# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +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_DWC2_PCI=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_GADGET=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_ROLE_SWITCH=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set +CONFIG_VME_BUS=y +# CONFIG_VOP_BUS is not set +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WIMAX=m +CONFIG_X25=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 +CONFIG_ZSTD_COMPRESS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/ppc64el/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/ppc64el/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.master/config/s390x/config.common.s390x +++ linux-riscv-5.8-5.8.0/debian.master/config/s390x/config.common.s390x @@ -0,0 +1,593 @@ +# +# Config options for config.common.s390x automatically generated by splitconfig.pl +# +# CONFIG_6LOWPAN is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ADFS_FS 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_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_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_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_SKD is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BOUNCE 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 (Ubuntu 10.2.0-8ubuntu1) 10.2.0" +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_CMA=y +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_CMM=y +# CONFIG_COMMON_CLK is not set +# CONFIG_COUNTER is not set +CONFIG_CPU_BIG_ENDIAN=y +# CONFIG_CRAMFS is not set +CONFIG_CRYPTO_DEFLATE=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_LIB_POLY1305_RSIZE=1 +# 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_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_DP_AUX_CHARDEV is not set +# CONFIG_DRM_DP_CEC 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_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_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_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_FIXED_PHY=m +CONFIG_FORCE_MAX_ZONEORDER=9 +# 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_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_PCF857X is not set +# CONFIG_GPIO_RDC321X is not set +# CONFIG_GPIO_SIOX is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_XILINX 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_HIO 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_HWMON is not set +# CONFIG_HWSPINLOCK is not set +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_1000 is not set +# 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_HID 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_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_ARCH_POLICY 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_SECURE_AND_OR_TRUSTED_BOOT is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +# CONFIG_INFINIBAND_BNXT_RE 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_POLLDEV 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_IPACK_BUS is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_IP_DCCP_CCID3=y +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_KERNEL_LZ4=y +# CONFIG_KEXEC_FILE is not set +CONFIG_KVM=y +# CONFIG_LAPB is not set +# CONFIG_LATENCYTOP 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_LZ4_COMPRESS=m +# CONFIG_MAC_PARTITION is not set +# CONFIG_MAILBOX is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MCB is not set +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_MDIO_BUS=m +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_THUNDER is not set +# CONFIG_MDIO_XPCS is not set +CONFIG_MD_MULTIPATH=y +# 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_AXP20X_I2C is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# 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_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_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_MLXSW_I2C is not set +# CONFIG_MMC is not set +# CONFIG_MOST is not set +# CONFIG_MTD 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_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_GOOGLE is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL 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_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_NUMA_BALANCING_DEFAULT_ENABLED is not set +# CONFIG_NVMEM 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_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_PASID is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_QUIRKS is not set +CONFIG_PGTABLE_LEVELS=5 +# CONFIG_PHANTOM is not set +# CONFIG_PHONET is not set +CONFIG_PHYLIB=m +# 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_AVS is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_PPP is not set +CONFIG_PPS=m +# CONFIG_PPS_CLIENT_GPIO is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PREEMPT is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PSI_DEFAULT_DISABLED=y +# CONFIG_PSTORE is not set +CONFIG_PTP_1588_CLOCK=m +# CONFIG_PTP_1588_CLOCK_IDT82P33 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_RAW_DRIVER is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RC_CORE is not set +# 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_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_ESAS2R is not set +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_GDTH 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_LPFC 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_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_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_TRACE_SINK 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_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_VIRQFD=m +# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y +# CONFIG_VME_BUS is not set +# CONFIG_VMXNET3 is not set +# CONFIG_VOP_BUS 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_WIMAX is not set +# CONFIG_X25 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 +CONFIG_ZSTD_COMPRESS=m --- linux-riscv-5.8-5.8.0.orig/debian.master/config/s390x/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/s390x/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.master/config/x32/config.common.x32 +++ linux-riscv-5.8-5.8.0/debian.master/config/x32/config.common.x32 @@ -0,0 +1,74 @@ +# nothing here yet +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_ETH_EEM=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BDC_UDC=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_ETH=m +CONFIG_USB_FOTG210_HCD=m +CONFIG_USB_FOTG210_UDC=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GR_UDC=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +CONFIG_USB_G_HID=m +CONFIG_USB_G_MULTI=m +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_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_USB_M66592=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MAX3421_HCD=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MV_U3D=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PXA27X=m +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SL811_HCD_ISO=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/config/x32/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.master/config/x32/config.flavour.generic @@ -0,0 +1,74 @@ +# nothing here yet +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_ETH_EEM=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AUDIO=m +CONFIG_USB_BDC_UDC=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_ETH=m +CONFIG_USB_FOTG210_HCD=m +CONFIG_USB_FOTG210_UDC=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GR_UDC=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +CONFIG_USB_G_HID=m +CONFIG_USB_G_MULTI=m +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_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_ISP1760=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_USB_M66592=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MAX3421_HCD=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MV_U3D=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_NET2272=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PXA27X=m +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SL811_HCD_ISO=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_MULTI_RNDIS=y --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/flavour-control.stub +++ linux-riscv-5.8-5.8.0/debian.master/control.d/flavour-control.stub @@ -0,0 +1,152 @@ +# 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, aufs-dkms, =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 +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-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR, crda | wireless-crda +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=. + +Package: SRCPKGNAME-udebs-FLAVOUR +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: ARCH +Depends: ${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/generic.inclusion-list +++ linux-riscv-5.8-5.8.0/debian.master/control.d/generic.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/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/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_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/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/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/* +sound/drivers/pcsp/snd-pcsp.ko +sound/pci/snd-ens1370.ko +sound/soundcore.ko +ubuntu/ubuntu-host/ubuntu-host.ko --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/linux-doc.stub +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian.master/control.d/linux-libc-dev.stub +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian.master/control.d/vars.generic +++ linux-riscv-5.8-5.8.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-ieee1275 [ppc64el]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, virtualbox-guest-modules [amd64]" --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/vars.generic-64k +++ linux-riscv-5.8-5.8.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="flash-kernel [arm64]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/vars.generic-lpae +++ linux-riscv-5.8-5.8.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]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-riscv-5.8-5.8.0.orig/debian.master/control.d/vars.lowlatency +++ linux-riscv-5.8-5.8.0/debian.master/control.d/vars.lowlatency @@ -0,0 +1,6 @@ +arch="amd64" +supported="Lowlatency" +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]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, virtualbox-guest-modules [amd64]" --- linux-riscv-5.8-5.8.0.orig/debian.master/control.stub.in +++ linux-riscv-5.8-5.8.0/debian.master/control.stub.in @@ -0,0 +1,157 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + dh-systemd, + cpio, + kernel-wedge, + 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 , + lz4 [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 , + 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-riscv-5.8-5.8.0.orig/debian.master/copyright +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/amd64/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/amd64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/amd64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/amd64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/amd64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/amd64/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/arm64/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/arm64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/arm64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/arm64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/arm64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/arm64/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/armhf/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/armhf/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/i386/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/i386/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/i386/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/i386/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/i386/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/i386/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/nic-modules @@ -0,0 +1,14 @@ +e100/d101m_ucode.bin ? +e100/d101s_ucode.bin ? +e100/d102e_ucode.bin ? +bnx2/bnx2-mips-09-6.2.1b.fw ? +bnx2/bnx2-rv2p-06-6.0.15.fw ? +bnx2/bnx2-mips-06-6.2.3.fw ? +bnx2/bnx2-rv2p-09-6.0.17.fw ? +bnx2/bnx2-rv2p-09ax-6.0.17.fw ? +bnx2x/bnx2x-e1h-7.12.30.0.fw ? +bnx2x/bnx2x-e1-7.12.30.0.fw ? +bnx2x/bnx2x-e2-7.12.30.0.fw ? +tigon/tg3_tso5.bin ? +tigon/tg3_tso.bin ? +tigon/tg3.bin ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/powerpc/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/powerpc/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/powerpc/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/powerpc/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/powerpc/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/powerpc/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/ppc64el/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/ppc64el/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/ppc64el/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/ppc64el/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/ppc64el/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/s390x/README.txt +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/s390x/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/s390x/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/s390x/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/s390x/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/s390x/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/firmware/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin ? +qlogic/12160.bin ? +qlogic/1280.bin ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/kernel-versions +++ linux-riscv-5.8-5.8.0/debian.master/d-i/kernel-versions @@ -0,0 +1,17 @@ +# arch version flavour installedname suffix bdep +amd64 - generic - - - + +i386 - generic - - - + +armhf - generic - - - +armhf - generic-lpae - - - + +arm64 - generic - - - +arm64 - generic-64k - - - + +ppc64el - generic - - - + +s390x - generic - - - + +# Ports +# arch version flavour installedname suffix bdep --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/fb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/fb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/floppy-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/serial-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/serial-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64-virtual/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64-virtual/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/fb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/fb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/firewire-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/floppy-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/nic-pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/nic-pcmcia-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/pata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/pata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/pcmcia-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/pcmcia-storage-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/pcmcia-storage-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/serial-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/serial-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/amd64/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/amd64/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/arm64/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/arm64/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/armhf/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/armhf/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/block-modules @@ -0,0 +1,43 @@ +aoe ? +aten ? +bcm2835 ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +hio ? +kbic ? +ktti ? +nbd ? +nvme ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sdhci-tegra ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? +mmc_block ? +sdhci ? +sdhci-pci ? +sdhci-acpi ? +tifm_sd ? +dw_mmc ? +dw_mmc_pltfm ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/block-modules.powerpc +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/block-modules.powerpc @@ -0,0 +1,31 @@ +aoe ? +aten ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +kbic ? +ktti ? +nbd ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +ps3disk ? +ps3vram ? +pt ? +sx8 ? +umem ? +virtio_blk ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/crypto-modules @@ -0,0 +1,78 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +crc32_generic ? +crc32c_generic ? +crc32-vx_s390 ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +paes_s390 ? +pcbc ? +pcrypt ? +pkey ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zcrypt ? +zcrypt_cex2a ? +zcrypt_cex4 ? +zcrypt_pcixcc ? +zlib ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/dasd-extra-modules.s390x +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/dasd-extra-modules.s390x @@ -0,0 +1 @@ +dasd_diag_mod ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/dasd-modules.s390x +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/dasd-modules.s390x @@ -0,0 +1,3 @@ +dasd_mod ? +dasd_fba_mod ? +dasd_eckd_mod ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/fb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/fs-core-modules @@ -0,0 +1,6 @@ +ext2 ? +ext4 ? +jfs ? +reiserfs ? +xfs ? +zfs ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/fb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/fb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/floppy-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/serial-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/serial-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386-virtual/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386-virtual/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/fb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/fb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/firewire-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/floppy-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/nic-pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/nic-pcmcia-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/pata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/pata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/pcmcia-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/pcmcia-storage-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/pcmcia-storage-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/serial-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/serial-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/i386/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/i386/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/input-modules @@ -0,0 +1,71 @@ +hid ? +hid-a4tech ? +hid-apple ? +hid-appleir ? +hid-aureal ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-corsair ? +hid-cp2112 ? +hid-cypress ? +hid-dell ? +hid-elecom ? +hid-elo ? +hid-ezkey ? +hid-generic ? +hid-gfrm ? +hid-gt683r ? +hid-gyration ? +hid-holtek-kbd ? +hid-holtek-mouse ? +hid-hyperv ? +hid-kensington ? +hid-keytouch ? +hid-kye ? +hid-lcpower ? +hid-lenovo ? +hid-logitech ? +hid-logitech-dj ? +hid-logitech-hidpp ? +hid-magicmouse ? +hid-microsoft ? +hid-monterey ? +hid-multitouch ? +hid-ntrig ? +hid-ortek ? +hid-penmount ? +hid-petalynx ? +hid-picolcd ? +hid-pl ? +hid-plantronics ? +hid-primax ? +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-samsung ? +hid-sony ? +hid-speedlink ? +hid-sunplus ? +hid-thingm ? +hid-tivo ? +hid-topseed ? +hid-twinhan ? +hid-uclogic ? +hid-waltop ? +hid-wiimote ? +hid-xinmo ? +hid-zydacron ? +uhid ? +usbhid ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/kernel-image @@ -0,0 +1,31 @@ +ast ? +gpio-pca953x ? +gpio-regulator ? +hibmc-drm ? +i2c-mux ? +i2c-mux-pinctrl ? +i2c-tegra ? +max8907 ? +max8907-regulator ? +nvec ? +nvec_kbd ? +nvec_paz00 ? +nvec_power ? +nvec_ps2 ? +palmas-regulator ? +rtc-em3027 ? +rtc-max8907 ? +rtc-palmas ? +rtc-tps6586x ? +rtc-tps65910 ? +tps51632-regulator ? +tps62360-regulator ? +tps65090-charger ? +tps65090-regulator ? +tps6586x-regulator ? +tps65910-regulator ? +host1x ? +tegra-drm ? +pwm_bl ? +pwm-tegra ? +panel-simple ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/message-modules @@ -0,0 +1,9 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mpt3sas ? +mptscsih ? +mptspi ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/message-modules.powerpc +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/message-modules.powerpc @@ -0,0 +1,7 @@ +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/multipath-modules @@ -0,0 +1,4 @@ +dm-multipath ? +dm-round-robin ? +dm-service-time ? +dm-queue-length ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nfs-modules @@ -0,0 +1,6 @@ +nfs ? +nfs_acl ? +nfsv3 ? +lockd ? +sunrpc ? +cifs ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nic-modules @@ -0,0 +1,209 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +amd8111e ? +amd-xgbe ? +aquantia ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm87xx ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bnxt_en ? +bonding ? +brcmfmac ? +brcmsmac ? +broadcom ? +xgmac ? +cassini ? +ccwgroup ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +ctcm ? +cxgb4 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +fsm ? +ibmveth ? +ibmvnic ? +igb ? +ps3_gelic ? +hamachi ? +hclge ? +hermes ? +hfi1 ? +hinic ? +hns_dsaf ? +hns_enet_drv ? +hns_mdio ? +hns3 ? +hp ? +hp100 ? +hp-plus ? +i40e ? +i40evf ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwldvm ? +iwlmvm ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lcs ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +marvell ? +mdio-thunder ? +mlx4_core ? +mlx4_en ? +mlx5_core ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netiucv ? +netsec ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +nicpf ? +nicvf ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +qcom-emac ? +qede ? +qeth ? +qeth_l2 ? +qeth_l3 ? +qlcnic ? +r815x ? +r8169 ? +rate_control ? +realtek ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +sfc ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? +xgene-enet ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nic-modules.powerpc +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nic-modules.powerpc @@ -0,0 +1,152 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +amd8111e ? +arc4 ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +atl1 ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm43xx ? +bcm43xx-mac80211 ? +bmac ? +bnx2 ? +bnx2x ? +bonding ? +cassini ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +igb ? +hamachi ? +hermes ? +hp ? +hp100 ? +hp-plus ? +ibmtr ? +ibmveth ? +ipddp ? +ipw2100 ? +ipw2200 ? +ipw3945 ? +ixgb ? +lance ? +lanstreamer ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +ps3_gelic ? +r8169 ? +rate_control ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2500 ? +rt61pci ? +s2io ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nic-pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,19 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nic-shared-modules @@ -0,0 +1,26 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/nic-usb-modules @@ -0,0 +1,34 @@ +ax88179_178a ? +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +r8152 ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/pata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/pata-modules @@ -0,0 +1,47 @@ +pata_ali.ko ? +pata_amd.ko ? +pata_artop.ko ? +pata_atiixp.ko ? +pata_atp867x.ko ? +pata_cmd640.ko ? +pata_cmd64x.ko ? +pata_cs5520.ko ? +pata_cs5530.ko ? +pata_cs5535.ko ? +pata_cs5536.ko ? +pata_cypress.ko ? +pata_efar.ko ? +pata_hpt366.ko ? +pata_hpt37x.ko ? +pata_hpt3x2n.ko ? +pata_hpt3x3.ko ? +pata_isapnp.ko ? +pata_it8213.ko ? +pata_it821x.ko ? +pata_jmicron.ko ? +pata_legacy.ko ? +pata_macio.ko ? +pata_marvell.ko ? +pata_mpiix.ko ? +pata_netcell.ko ? +pata_ninja32.ko ? +pata_ns87410.ko ? +pata_ns87415.ko ? +pata_oldpiix.ko ? +pata_optidma.ko ? +pata_opti.ko ? +pata_pcmcia.ko ? +pata_pdc2027x.ko ? +pata_pdc202xx_old.ko ? +pata_qdi.ko ? +pata_radisys.ko ? +pata_rdc.ko ? +pata_rz1000.ko ? +pata_sc1200.ko ? +pata_sch.ko ? +pata_serverworks.ko ? +pata_sil680.ko ? +pata_sl82c105.ko ? +pata_triflex.ko ? +pata_via.ko ? +pata_winbond.ko ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/pcmcia-storage-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/floppy-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/input-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/message-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/parport-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/plip-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/scsi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/storage-core-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppc64el/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppc64el/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/block-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/crypto-modules @@ -0,0 +1,2 @@ +#include +deflate ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/dasd-extra-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/dasd-extra-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/dasd-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/dasd-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/fat-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/kernel-image +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/md-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/nic-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/s390x/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/s390x/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/sata-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/sata-modules @@ -0,0 +1,18 @@ +sata_inic162x.ko ? +sata_mv.ko ? +sata_nv.ko ? +sata_promise.ko ? +sata_qstor.ko ? +sata_sil24.ko ? +sata_sil.ko ? +sata_sis.ko ? +sata_svw.ko ? +sata_sx4.ko ? +sata_uli.ko ? +sata_via.ko ? +sata_vsc.ko ? +ahci_platform ? +ahci ? +acard-ahci ? +libahci ? +ahci_xgene ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/scsi-modules @@ -0,0 +1,137 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +sr_mod ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +pm80xx ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsi ? +ibmvfc ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? +mlx4_ib ? +mlx5_ib ? +zfcp ? +sd_mod ? +hisi_sas_v2_hw ? +hisi_sas_v3_hw ? +iscsi_ibft ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? + +smartpqi ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/scsi-modules.powerpc +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/scsi-modules.powerpc @@ -0,0 +1,118 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +ibmvfc ? +ibmvscsi ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +ipr ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsic ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +sr_mod ? +sd_mod ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/serial-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/serial-modules @@ -0,0 +1,4 @@ +generic_serial ? +serial_cs ? +synclink_cs ? +hyperv-keyboard ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/storage-core-modules @@ -0,0 +1,15 @@ +# Core stacks +usb-storage ? + +# Block level +ata_piix ? +ata_generic ? + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? + +# Needed for NVMe disks under VMD PCIe domains +vmd ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/storage-core-modules.powerpc +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/storage-core-modules.powerpc @@ -0,0 +1,13 @@ +# Core stacks +usb-storage ? + +# Block level + +# Loop modules +cryptoloop + +# Needs to be here for better cdrom initrd layout +isofs + +ps3stor_lib ? +ps3rom ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/usb-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/usb-modules @@ -0,0 +1,15 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? +xhci-plat-hcd ? +ehci-tegra ? +ehci-msm ? +ehci-platform ? +uas ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/virtio-modules @@ -0,0 +1,11 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +virtio_scsi ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? +hv_balloon ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/modules/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.master/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-riscv-5.8-5.8.0.orig/debian.master/d-i/package-list +++ linux-riscv-5.8-5.8.0/debian.master/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-riscv-5.8-5.8.0.orig/debian.master/etc/getabis +++ linux-riscv-5.8-5.8.0/debian.master/etc/getabis @@ -0,0 +1,18 @@ +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/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 lowlatency +getall arm64 generic generic-64k +getall ppc64el generic +getall s390x generic --- linux-riscv-5.8-5.8.0.orig/debian.master/etc/kernelconfig +++ linux-riscv-5.8-5.8.0/debian.master/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="amd64 armhf arm64 ppc64el s390x" + family='ubuntu' +fi --- linux-riscv-5.8-5.8.0.orig/debian.master/modprobe.d/common.conf +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian.master/reconstruct +++ linux-riscv-5.8-5.8.0/debian.master/reconstruct @@ -0,0 +1,70 @@ +# Recreate any symlinks created since the orig. +# Remove any files deleted from the orig. +rm -f 'arch/alpha/include/asm/local64.h' +rm -f 'arch/ia64/include/asm/local64.h' +rm -f 'arch/powerpc/lib/memcpy_mcsafe_64.S' +rm -f 'arch/powerpc/platforms/pseries/offline_states.h' +rm -f 'arch/x86/include/asm/local64.h' +rm -f 'arch/x86/include/asm/mcsafe_test.h' +rm -f 'drivers/net/can/dev.c' +rm -f 'drivers/net/can/rx-offload.c' +rm -f 'drivers/net/ethernet/mscc/ocelot_board.c' +rm -f 'drivers/pci/pcie/bw_notification.c' +rm -f 'drivers/staging/mt7621-dma/mtk-hsdma.c' +rm -f 'kernel/elfcore.c' +rm -f 'lib/zlib_dfltcc/dfltcc_syms.c' +rm -f 'tools/arch/x86/include/asm/mcsafe_test.h' +rm -f 'tools/perf/bench/mem-memcpy-x86-64-lib.c' +rm -f 'tools/testing/kunit/.gitattributes' +chmod +x 'arch/riscv/kernel/vdso/so2s.sh' +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/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/final-checks' +chmod +x 'debian/scripts/misc/find-missing-sauce.sh' +chmod +x 'debian/scripts/misc/find-obsolete-firmware' +chmod +x 'debian/scripts/misc/fw-to-ihex.sh' +chmod +x 'debian/scripts/misc/gen-auto-reconstruct' +chmod +x 'debian/scripts/misc/get-firmware' +chmod +x 'debian/scripts/misc/getabis' +chmod +x 'debian/scripts/misc/git-ubuntu-log' +chmod +x 'debian/scripts/misc/insert-changes.pl' +chmod +x 'debian/scripts/misc/insert-mainline-changes' +chmod +x 'debian/scripts/misc/insert-ubuntu-changes' +chmod +x 'debian/scripts/misc/kernel-wedge-arch.pl' +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/retpoline-check' +chmod +x 'debian/scripts/retpoline-extract' +chmod +x 'debian/scripts/retpoline-extract-one' +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 'samples/bpf/lwt_len_hist.sh' +chmod +x 'samples/bpf/test_lwt_bpf.sh' +chmod +x 'scripts/kmsg-doc' +chmod +x 'update-version-dkms' +exit 0 --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/amd64.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/amd64.mk @@ -0,0 +1,24 @@ +human_arch = 64 bit x86 +build_arch = x86 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic lowlatency +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_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_zfs = true --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/arm64.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/arm64.mk @@ -0,0 +1,25 @@ +human_arch = ARMv8 +build_arch = arm64 +header_arch = arm64 +defconfig = defconfig +flavours = generic generic-64k +build_image_generic = Image.gz +kernel_file_generic = arch/$(build_arch)/boot/Image.gz +build_image_generic-64k = Image.gz +kernel_file_generic-64k = arch/$(build_arch)/boot/Image.gz +install_file = vmlinuz +no_dumpfile = true +uefi_signed = true + +loader = grub +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 +do_zfs = true --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/armhf.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/armhf.mk @@ -0,0 +1,19 @@ +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 + +loader = grub + +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-riscv-5.8-5.8.0.orig/debian.master/rules.d/hooks.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/hooks.mk @@ -0,0 +1 @@ +do_enforce_all = true --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/i386.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/i386.mk @@ -0,0 +1,19 @@ +human_arch = 32 bit x86 +build_arch = i386 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic lowlatency +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub +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-riscv-5.8-5.8.0.orig/debian.master/rules.d/ppc64el.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/ppc64el.mk @@ -0,0 +1,21 @@ +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 +vdso = vdso_install +loader = grub +do_extras_package = true +opal_signed = true +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 +do_zfs = true --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/riscv64.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/riscv64.mk @@ -0,0 +1,21 @@ +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 + +loader = grub +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-riscv-5.8-5.8.0.orig/debian.master/rules.d/s390x.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/s390x.mk @@ -0,0 +1,21 @@ +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 + +do_zfs = true --- linux-riscv-5.8-5.8.0.orig/debian.master/rules.d/x32.mk +++ linux-riscv-5.8-5.8.0/debian.master/rules.d/x32.mk @@ -0,0 +1,14 @@ +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 +loader = grub +vdso = vdso_install +no_dumpfile = true +uefi_signed = true + +do_flavour_image_package = false --- linux-riscv-5.8-5.8.0.orig/debian.master/tracking-bug +++ linux-riscv-5.8-5.8.0/debian.master/tracking-bug @@ -0,0 +1 @@ +1932047 --- linux-riscv-5.8-5.8.0.orig/debian.master/upstream-stable +++ linux-riscv-5.8-5.8.0/debian.master/upstream-stable @@ -0,0 +1,6 @@ +# The following upstream stable releases have been ported: +[upstream-stable] + linux-5.4.y = v5.4.117 + linux-5.8.y = v5.8.18 + linux-5.9.y = v5.9.16 + linux-5.10.y = v5.10.35 --- linux-riscv-5.8-5.8.0.orig/debian.master/variants +++ linux-riscv-5.8-5.8.0/debian.master/variants @@ -0,0 +1,3 @@ +-- +-hwe-20.04 +-hwe-20.04-edge --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/abiname +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/abiname @@ -0,0 +1 @@ +26 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/fwinfo +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/fwinfo @@ -0,0 +1,1629 @@ +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: 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: amdgpu/arcturus_asd.bin +firmware: amdgpu/arcturus_gpu_info.bin +firmware: amdgpu/arcturus_mec.bin +firmware: amdgpu/arcturus_mec2.bin +firmware: amdgpu/arcturus_rlc.bin +firmware: amdgpu/arcturus_sdma.bin +firmware: amdgpu/arcturus_sos.bin +firmware: amdgpu/arcturus_ta.bin +firmware: amdgpu/banks_k_2_smc.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/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/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/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_gpu_info.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_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_sos.bin +firmware: amdgpu/navi12_ta.bin +firmware: amdgpu/navi14_asd.bin +firmware: amdgpu/navi14_ce.bin +firmware: amdgpu/navi14_ce_wks.bin +firmware: amdgpu/navi14_gpu_info.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/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/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/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_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/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_gpu_info.bin +firmware: amdgpu/renoir_me.bin +firmware: amdgpu/renoir_mec.bin +firmware: amdgpu/renoir_mec2.bin +firmware: amdgpu/renoir_pfp.bin +firmware: amdgpu/renoir_rlc.bin +firmware: amdgpu/renoir_sdma.bin +firmware: amdgpu/renoir_vcn.bin +firmware: amdgpu/si58_mc.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/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/vega10_acg_smc.bin +firmware: amdgpu/vega10_asd.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: ar5523.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: 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_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-e1h-7.13.15.0.fw +firmware: bnx2x/bnx2x-e2-7.13.15.0.fw +firmware: brcm/bcm43xx-0.fw +firmware: brcm/bcm43xx_hdr-0.fw +firmware: brcm/brcmfmac43012-sdio.bin +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/brcmfmac43430a0-sdio.bin +firmware: brcm/brcmfmac43455-sdio.bin +firmware: brcm/brcmfmac43456-sdio.bin +firmware: brcm/brcmfmac4350-pcie.bin +firmware: brcm/brcmfmac4350c2-pcie.bin +firmware: brcm/brcmfmac4354-sdio.bin +firmware: brcm/brcmfmac4356-pcie.bin +firmware: brcm/brcmfmac4356-sdio.bin +firmware: brcm/brcmfmac43569.bin +firmware: brcm/brcmfmac43570-pcie.bin +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.bin +firmware: c218tunx.cod +firmware: c320tunx.cod +firmware: carl9170-1.fw +firmware: cavium/cnn55xx_se.fw +firmware: cbfw-3.2.5.1.bin +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: cyzfirm.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-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_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: 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: 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: i2400m-fw-usb-1.5.sbcf +firmware: i6050-fw-usb-1.5.sbcf +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: 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: isdbt_nova_12mhz.inp +firmware: isdbt_nova_12mhz_b0.inp +firmware: isdbt_pele.inp +firmware: isdbt_rio.inp +firmware: isdn/ISAR.BIN +firmware: isi4608.bin +firmware: isi4616.bin +firmware: isi608.bin +firmware: isi608em.bin +firmware: isi616em.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-Qu-b0-hr-b0-56.ucode +firmware: iwlwifi-Qu-b0-jf-b0-56.ucode +firmware: iwlwifi-Qu-c0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-jf-b0-56.ucode +firmware: iwlwifi-QuZ-a0-hr-b0-56.ucode +firmware: iwlwifi-QuZ-a0-jf-b0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf-a0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf4-a0-56.ucode +firmware: iwlwifi-cc-a0-56.ucode +firmware: iwlwifi-so-a0-gf-a0-56.ucode +firmware: iwlwifi-so-a0-hr-b0-56.ucode +firmware: iwlwifi-so-a0-jf-b0-56.ucode +firmware: iwlwifi-ty-a0-gf-a0-56.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/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: 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/mt7610e.bin +firmware: mediatek/mt7610u.bin +firmware: mediatek/mt7615_cr4.bin +firmware: mediatek/mt7615_n9.bin +firmware: mediatek/mt7615_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: mellanox/mlxsw_spectrum-13.2000.2714.mfa2 +firmware: mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 +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/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/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/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/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/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: 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: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.bin +firmware: qed/qed_init_values_zipped-8.42.2.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: 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: renesas_usb_fw.mem +firmware: riptide.hex +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_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/rtl8153a-2.fw +firmware: rtl_nic/rtl8153a-3.fw +firmware: rtl_nic/rtl8153a-4.fw +firmware: rtl_nic/rtl8153b-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/rtw8822b_fw.bin +firmware: rtw88/rtw8822c_fw.bin +firmware: rtw88/rtw8822c_wow_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: 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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic @@ -0,0 +1,21720 @@ +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x1554635e crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x348eca8d crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x6352a165 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x8789a53e crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xe5bca78f crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xea292cca crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x94a1d6eb crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0xc03e0ec3 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xea9cc83f crypto_sha3_update +EXPORT_SYMBOL crypto/sm3_generic 0xb0bd0a1e crypto_sm3_finup +EXPORT_SYMBOL crypto/sm3_generic 0xd31cb5c1 crypto_sm3_update +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x422677e8 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x440e8dd4 bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0x9127faf7 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/bluetooth/btbcm 0x5a8ee6e9 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x8e7452c8 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x4c5462e8 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 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4ada15cb ipmi_get_smi_info +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 0x74baf8a2 ipmi_smi_watcher_register +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 0x95d3986f ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaddcc20c ipmi_add_smi +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 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 0x4916f308 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7c736b85 st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x50b6e684 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x63881767 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xc12ba894 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/firewire/firewire-core 0x05d645f9 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0cafdef8 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1e1721a9 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x311eb479 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x33de5bce fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x34ba6cd4 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3555f852 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x37dc26f4 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3ab5cd53 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3cc9d1c4 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x596bcf67 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65171b83 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x76d78c17 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x82ff2342 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ca271ea fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x92a1dc2e fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb088dd05 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb5d66776 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbc1416e7 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc001f76b fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc68c758d fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdb557585 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe4969bdc fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xed869686 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf8059515 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfccc6073 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00a067d8 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x018c9ef0 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a84e2b drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02068da7 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02fcdee1 drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0x037b8580 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03838322 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x050855e7 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06866302 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07e33929 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0aee6a99 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b3fdd36 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cd255e7 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d7431c4 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dad9992 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dc8b4b1 drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e2ba7b6 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f345b0f drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f4ab25e drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f4dfc95 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fe4ccff drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ff7255c drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11fa603a drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x123946fb drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1244d4bb drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13135e94 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x141370c4 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1441f9e9 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14f11830 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16148697 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17587012 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17a480e8 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17be35b1 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x187b7d1d drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x189c17ab drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19254b0c drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19a9c1be drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19e3f24a drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bde111f drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1df76a30 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb60388 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ec46851 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2003f4e8 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x208b1e3f drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2154e5e2 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2211b8c8 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x225e6671 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x228ab44e drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22967efc drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23f88592 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2416bd2d drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24764996 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2499c74f drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24f6e546 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25884b88 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2591ddd2 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2699f919 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27bd5bec drm_connector_set_vrr_capable_property +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 0x2c17c363 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c5b289c drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dc08cc8 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dc150ed drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fc478b2 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30a7a3f0 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x311c93c4 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31aa36cb drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32501138 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32856e5d drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a5fb21 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32de2fda drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3312216c drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x334cbdd2 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33db9ec4 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3516008f drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36eb7e75 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3736b457 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37f3b2fb drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38045be6 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x381807af drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3870fecb drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38b60c36 drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38f7e294 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3939219d drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a35e478 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a708785 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b1300c7 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b372459 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b6fcad4 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c4e6f48 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cbf3870 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cc8f4c2 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3da38f7c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e9a36d9 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x406d002c drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x421d61c1 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4249a30d drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43821125 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x439f455f drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43e44a28 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44e22b76 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x453b5d99 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4588bd42 drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46bd8ef9 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x485fcc20 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x487510ff drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48e0bff8 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x494b1ef3 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x499933f5 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49aba9bb drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a15aadc drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a3b191b drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4af3c05b drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b277917 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bf86247 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c24ea75 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dc185ee drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4df3b6c4 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e834ee7 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5051c665 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50ac9fa4 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5207eadc drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53040b78 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x535c2868 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53b21182 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53ccb1ba drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53e1a8d7 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54064b39 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5474cf34 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54754650 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5521df06 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5528d4bd drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5542e1f3 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x557dbf97 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55ac3198 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57972cc9 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b671f1 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57dd09e6 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x582b6b5c drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58472c11 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58e24f2d drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x598f864f drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59bc90f6 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ac6e713 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b0ae297 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b778f2d drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bc5e02d drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5df18692 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f0cdf3e drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f683c28 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fd34268 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x618a5868 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x623b5b59 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x628ea98e drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62c5579f drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62c786d1 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645d1f78 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64a39462 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x660b96c5 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x666b5128 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68379684 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0x699a8168 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a06de29 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cec89e8 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d5a54f8 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc36808 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fe37e9b drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70d5d2e8 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7266667a __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72d981b1 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7302c742 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x737b1dc6 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x742e1f32 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74597753 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x758cb49b drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75ad648c drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76b81ab1 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x785b582f drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x788ad6c3 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7891873c drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78b1358a drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7924575c drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x793bb3b1 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79c09a03 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7adc1433 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b8908d7 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bd93def drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c50048e drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c8cd35e drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ca03bd8 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cf1140e drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7dc28847 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e5aeaa8 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e9ed818 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ea5dbcf drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f9e9c59 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ff837fe drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8177b5f1 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81b58af5 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8230ef17 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x825d81fa drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e72e34 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e7ee11 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849b8a0c drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85c2b595 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87cc2f06 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88396f50 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88ce0e42 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88eeab08 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8954e215 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89bc7073 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8abdfdcc drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c9a29cf drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d153d97 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d17d1ca drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d8a5c40 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dafc029 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dd1e402 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90806a45 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90f7a172 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x912d03cc drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91ef6fcb drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9202a6ff drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9333816a drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93627fa1 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9420a1e8 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x947f6990 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95b8e144 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95badd32 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9735ab58 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x973b0d1c drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98022903 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9897ff52 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98fd3fbd drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ab24b92 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9af20122 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c328401 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c4249b8 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c5fbbf4 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9cd389aa drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce46e39 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dc9282e drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ee14edf drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f67b783 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0338484 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa101c5b8 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1133ec9 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa189e21f drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2fa2c91 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa35819db drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4372699 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5543c9b drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5c55a94 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa668a36c drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa989f06c drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9f8dabe drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa70e9d8 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab3da775 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab5813a6 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac611856 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad297882 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad95ecb3 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae4afd66 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf000cf1 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf2b4eae drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf8287f8 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0f140e6 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2cfb0ec drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb40b96af drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb463c8ee drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb46ec9ba drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5120726 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb547b5b4 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5b83805 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb698fea5 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6b1d7eb drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7bc916d drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb83eb938 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8871b3a drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb6fc020 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbfd3e8b drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc47dd25 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcc0bbc1 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdd6f02c drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf625331 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0ffb785 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc187ab56 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1ed0fee drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc23c9baf drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2716cd2 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc38d9e54 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3be7825 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f005c8 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc561d347 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7b472d3 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc893f03a drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8fc4c76 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc95420e5 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc2e1300 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccb40784 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcde16536 devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce0e1fde drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce577398 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf46286e drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfe32aae drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1156ce3 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1159580 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1250ed2 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1522548 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd19087b3 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd21e69c5 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2d91798 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd30109c7 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd32ccecc drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd364acff drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3d66f3d drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd42e15a4 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd435a3b4 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd475b6ef drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd47eef7e drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd490bbcb drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5a33aad drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6310b6b drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd662fcf9 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6b6dcda drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6baef2b drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd72b30dd drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd760d325 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7ded796 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd837162a drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8b93fea drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda0d73b1 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbd55bd9 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcb6d02a drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd702f7a drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddfe3030 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdea14035 drm_color_lut_check +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 0xdfbdb05c drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0513c97 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe170c219 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe212da62 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe24be132 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe33d438f drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe406172e drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4091766 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4e5b3c5 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe86fc343 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe92eb41b drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb0d12f5 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb600943 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb64404e drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebc8c79f drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec4f8041 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed3e58ad drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed625fab drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef7fffe9 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefa2e87a drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf036bb78 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf121ef67 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf156cf46 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1f8afdf drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2d299d1 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2f89af5 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2ff9196 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf318dfb2 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3b9c60f drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4e26d99 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9f6c649 drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa08c527 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa1d10e3 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa3bb18b drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfba0bbe7 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc1f5b1a drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc345062 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc3b9adb drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc41b8ed drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd3c9537 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfedb1a6e drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffba2f07 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00adfbca drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a0391e drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x024cdf78 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03d75bda drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05754c66 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0604061f drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0728a26c drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0774002f drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0839879d drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x085189af drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bda9aa1 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c604b7d drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d2ba58c drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f147270 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1083fda4 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11003699 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12a0d331 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1303e601 drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x13c94abc __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x141a5af8 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x144756a3 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14625fa3 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x15318280 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1866eeeb drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1971eabe drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x198e040a drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1990268d drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19c29342 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1bfe2c37 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2055853f drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x230b3df4 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x255bea10 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x259107d7 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x29769279 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d0a7998 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d3cdb3c drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dc3d939 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e1c5f2d drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2ecf6e6f drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32b360f2 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32db7779 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3377a8f7 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33bfea63 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34b358a9 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3550f0a4 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x360d4e36 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3619a271 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36fcb8a9 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37b871e4 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37d55869 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x382f94a1 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x383d3fc9 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3892f192 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x399e588b drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a582064 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b4f672c drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b7bbca6 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c84cc5a drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d7ca76c __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d804341 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ddaa03c drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e94acc4 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3efe3960 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x408f4c50 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4092c166 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41891e6f drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41f3a58f drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x430ae9ca devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x437f949e drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44b9dd12 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x460bf758 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46693876 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4739ca34 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x494506d3 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a73fb78 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bedb7ec drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c84092d drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4de63efc drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f136178 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f93fbef drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fcc45e8 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5015e5d7 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x517f9da4 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51919859 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5263d5ea drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x531426bd drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x534affc9 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54fed1f8 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56284118 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5b35824d drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c6a0612 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d100d36 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d361625 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fa88647 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fadfa0e drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x616ba093 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x616fea39 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x64b093b9 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x663820e6 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68aebf49 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c0c9d07 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c84fa97 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d402cd4 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f7b758a drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x700514d2 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x737b6b79 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x75f7fd47 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77f5f598 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78bcf3f9 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a165c07 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b0baa0c drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b7d8ef3 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7baf6d43 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d1368ad drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7eb837f5 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7eeb1a24 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x804dcb6d drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8235e3e0 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x844586ad drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88355a62 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x884f30e7 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8c829af9 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9151261a drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x915ff119 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9229a103 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9293ec8d drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94c75fb7 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x974765e6 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97b48836 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9853200d drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x98f29442 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a63c502 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a9e032f drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9be10dba drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cff906c drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e99af6b __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9fe2a9dd drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa00ac220 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0bed9bc drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2667036 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2b3f65c drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3feb2e9 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6a9bb08 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8ef8407 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8f0a0b1 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa975da55 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9ee71e3 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9fc3b59 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf87e91c drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb16847f6 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1c51431 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb240b9f2 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb46c5db8 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb48086a3 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb48c3bf8 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb531124d drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb598ac7a drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb5f477cc drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb74f02f1 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb7934255 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb803f825 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb820b2ce drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbaf1f5e9 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb1af500 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbbd2a120 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc687ff5 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd9a15e3 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc33b28cb drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc49fa7bb drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc86fbb09 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc919d882 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc930d3fe __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xca8a4998 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb83fe30 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbf8cf96 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc057688 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce1b9f0d drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcea2471f drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcefefc1f drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1db24a4 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2a51316 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd492c85b drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd63b3e8c drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6580fb5 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7bba965 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7bf04af drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8cde6ff drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8e49722 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd6f25e6 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1b9c388 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe21b298c drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2c31773 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4a7fa3d drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5a3dab5 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe60b0d53 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7872a85 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9dd3dd9 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb6f3c91 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xecdb3d3d drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed9d0165 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1b6ff63 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf3982b50 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf70fed6a drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa113bb9 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfaec78be drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdf97723 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x005b1164 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0218a7ba mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x05f75140 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0d2f8169 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1fb54d1a mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x51eebd35 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x64ef4eaf mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x650dbcaf mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6a38d4e8 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6d3b57ff mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6e67c882 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x86a65fc3 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8a075e6e mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xc9a3801a mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xdcb692a7 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xdcb9e3a2 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xefb7a702 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x80f0c8a0 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xf2e7ada6 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x169f1ddf drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x259560b8 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3150effb drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x474c6419 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x49ae95eb drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x60c12ffd drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x69c81bbb drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6b19f364 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x75337cd7 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x75d43ca5 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x836d7acd drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x84e3c6a9 drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x94058722 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa6771291 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb3a51b03 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbf494686 drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc6f6a7d5 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd4e31ae1 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe8af15d8 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf254defa drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfc21a78d drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0a5799e5 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x367fc14b drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3c898c15 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x45878adf drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6c0cc227 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x76ba8f85 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa149076d drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xaabb95f6 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xaee21373 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xafcd75dc drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbe4c97f0 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc3925411 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcc596cde drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd99029b5 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdb3cb96c drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdf73276a drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe1d02e1a drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe450e6ff drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xed933e8f drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf20db6c1 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfe23e6fe drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x000df2cf ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x031271fc ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03852e72 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06d97256 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07c83d81 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0dd896c9 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x133b17a4 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x179f890b ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e415240 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20a5fd2e ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x230edb1d ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2449fccd ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x28b14ef2 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a05abf0 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2abbc3ac ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x312aba3e ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x339459c4 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x35219af3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fd787e7 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x48186f93 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4bfdf695 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4c1f9c53 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4cb59faa ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x501932b4 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50cd4913 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x54132521 ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c3e963d ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60f772d9 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x626335e7 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x63afdc7c ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x665f2609 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x670d1514 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69c8d97f ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x72d6d031 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x855567f3 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85a3eb90 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x887e5c61 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88888a4f ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x913d2019 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96ab338b ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9e61c465 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa641d4dc ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa86624a9 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa8f01311 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaf8b86c2 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xafcceeb6 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb1808207 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbce65b73 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc06435b4 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc6485d62 ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc76b7496 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce3135b6 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd37c5dfb ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5795115 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd955cd70 ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdea4f8ce ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee69c22c ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf3f55025 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf6f20da5 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa668207 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/hid/hid 0xd3fe6a48 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 0x03f09a95 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x97daa225 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xef7de8fb i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xfb85d4c0 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x181ea253 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xaf88730a i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x6b0d8c98 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x42b1caa0 bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x6c2d84dd bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x955041cb bma400_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x178ac53f kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x282ee823 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0xaca99e39 kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x05d0dde2 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x15e7938b mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x2bf501a5 mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x33749841 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3ad8deee mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x404fbecd mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x412d2782 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x77bfd9b9 mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x8074293b mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x9c012bf0 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbc17ac09 mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc1277ffd mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xcfe445f2 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe79c768d mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xf3a85737 mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xfdfa1fbe mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x162eb4bc st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x20807589 st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xd4022f2b st_accel_get_settings +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0xbd420ea4 iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x77b144c4 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xdf66e27a iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x0cfa1d58 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x63a2770e iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x8ce934c6 devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0x20db19ef bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x00c137e3 hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x03a59015 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x1d2adc86 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x30968d38 hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x4d22c2bb hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x65d41a8c hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x81864c64 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x976872bc hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x9ac005dc hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xd0a31df3 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x04cc1dee hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x2d43847f hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xac8c2c30 hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xcfe2ade7 hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x20cee8bb ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d034a31 ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x33af8768 ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x4b2b813c ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x65d1cc07 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x74b58c3d ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x89032d1b ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x8ba5c27e ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xdc6f2a11 ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x2ada7d79 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x827ea439 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xabc29f03 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xc703487d ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xfaca954a ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x0882a521 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0x62a3c105 ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xfb2597d3 ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x20a65d6d st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x324a0ca9 st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x335befed st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x42d1a1c8 st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x553a3302 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x70611567 st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x8aeafa69 st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x9df5e7ff st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa334b1da st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa5652d37 st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xaa5eebc7 st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xabb02beb st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xc911c9cc st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xcccf3e88 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd1f5be12 st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xd89b67c1 st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xda0d80ad st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xe95ad62d st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0x40b8449c st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0xc46f0c27 st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x09908728 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x2c16ad22 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xd1050380 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x7adca880 st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x7cca4bcd st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0xd8500a52 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x54afdfb5 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xda860d86 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xb22af7cb adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xe418864b adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xc0090af5 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0xe127a2ae fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x1faba582 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x3cd9b86a st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x0778edb7 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x0d2c9b61 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x214f54e6 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x2c3ce60a iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x44eb1b2a iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x55e2cb68 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x5acbb358 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x6655bac8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x693347d6 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x72d934a9 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x79b8903d iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x7dd05f35 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x84ed68b3 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x8a38833d iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xa5105f14 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xa7a95def iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xb34e82a2 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0xc24f5c2a iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xd0e8d97e iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xdc2c33a5 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe1ac701f iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xe4c01718 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xf5e615bd iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xff27fd91 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0xf0030873 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7c093239 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7d67a4a9 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xe9d488c7 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xf8b84c49 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x9751bcd4 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xa59e2204 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd7d9bdb0 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xe7e68cc6 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x20303682 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xd7b923c4 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x2d972eb5 st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x8e6ad44a st_uvis25_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x02cc2938 bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x652bc6f2 bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x715faf33 bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x814b4809 bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x3236e5ae hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x34c6452c hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x951023eb hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xd28536f4 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x54079881 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xed3e806c st_magn_get_settings +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xfe3288de st_magn_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x03c5ceb3 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x47c56c8a bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x665e4884 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xe94313d1 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x81ed2ec0 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x8d993d3c ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x50b75365 st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xd0d9d526 st_press_common_probe +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xd2660565 st_press_get_settings +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0180d62e ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x23be3cde ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x34faa7f9 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4188aab1 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4ff8bc35 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x61a0899d ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x744719cd ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x78c919cd ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa63b4c6c cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa815f405 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbf485c92 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xca49723c ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcab17148 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcac4f9ca ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd7573c71 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xffa8b943 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00892e16 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00e0dde3 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01765262 ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03655495 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0739a28e ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09820061 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b1e7dc0 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0be25dfd ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0fa63408 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x103e6bf7 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1283b1f1 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1285262e ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1635ac92 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a2db978 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b280876 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20781e83 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21340565 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x233686ae rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23555263 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x239c339a ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x256810be ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2636afe3 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x269e2f64 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26ec70dc ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ab4c828 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b381d8a __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ce21817 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f3676ab ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x315cfcc2 rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x317395e0 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34a422bd ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3606608f rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x375b0a67 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3824edb2 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39f67c52 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3aa6cec1 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bc180d3 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bc76a65 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c8a8f86 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3dac87ce ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e1fdb86 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3eaae18e ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fd9f585 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x407d167d __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x410cec4f rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41c24833 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42c45d01 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x442fdf50 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46109da0 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49d9556b ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4af02585 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bbe9771 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bcae289 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c572189 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c66977d ib_modify_qp_with_udata +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 0x507e3ee3 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51ea3715 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51eb2830 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5489cf7a ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54c68b56 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54e3bf91 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x550f0ced rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x552cfbd1 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55ca189d ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x564b95c4 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58affcb1 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x591bfbdc ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a43349a rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5aeff508 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b083d1f ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d7a3c6b ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5de4a5c4 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e8b2bfb ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5eea8baa rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x605fde13 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60c3eba7 ib_dispatch_event +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 0x6253b432 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66acbf37 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x677591b2 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x685cf78f rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68e519b3 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a9b5546 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c46d9a5 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e8a5cd6 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f103cde rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fe575bd rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x715942c0 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x722f8271 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7248c128 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7313f1c0 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x781e4516 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7874abe2 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7922b059 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b261b96 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cb71c5f __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d765f1f ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x810d9ff2 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81bdfb30 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8289cfa8 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85e80a1e ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c2620aa rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8cfbc9f3 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d03e46c ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f2154eb ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90437fea ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93bc1760 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95ee94f8 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97ebb0a9 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98d7e930 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98f96b67 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99f3ea4f rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ac9467a rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bf49b68 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c2d2d0c ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d69ce07 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d84d4b8 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fdee1f5 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa147ef03 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa17f4fea rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4c7f86c ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6d30962 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa75db4e8 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa14f849 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab5eb2fe ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac43c9fe ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae2b0f5e ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0489885 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb04bc0a6 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0555411 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2849d9e ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb338a7a5 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb42a052a ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb42cbec8 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb745987e rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb810f44a rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb91f79e8 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb96562c3 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9d430d2 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc7ad3b5 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbdcd6e0c ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe4c2359 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbee71801 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf73c8d6 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc16b60eb rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1ab1a02 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1d82ce3 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2602924 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7fe44b0 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9c242e0 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9da97ed ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce3821a3 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce6c3512 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbecddb ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2c0dd18 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3612163 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4d242ff ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6ca37e4 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd706aedb ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd782f87e rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7afde43 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd89c0b52 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda430e0d rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdaddbfde _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde1f48c3 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe1724ccc rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3433dab rdma_link_register +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 0xe6fd6925 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe857e553 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8d03ece ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8e037d1 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xead026de rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb23d0a5 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeca6128d rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecdead8a ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef5a1884 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf198522a __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2510454 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf354efcf ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4838fce ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4ec7c83 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf58258c6 ib_set_client_data +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 0xf9e4822c rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb95a63e __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbd6f68b ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc2ffbc2 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc3f43f2 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdedaffd ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff1f6bfd ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x000f089e ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x04cd71d4 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x04f063ee ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x08a4edcd ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x119e1b2c uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2643ef22 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x34763ad6 _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x379032a5 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3b8195c3 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x41d39115 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x47d49490 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5b8e2848 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5ec97cd8 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x714ffcd9 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x877ece79 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8945bd95 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8a6f4fc5 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8c8d64d0 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb89e95ef ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbfaa7ed6 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc17ab5a0 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc95ac68a ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd48e7adb uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd876f83d uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xda085ef5 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xda90b40a ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdb5b83e5 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfbdfa464 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1d0c1247 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x358aa698 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3ae06d88 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x54a006c4 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x816fbbd7 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9f198f2c iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcd1fedf9 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xdcd127ed iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x014298da rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x01f7b94f rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1230928e rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x13e1a954 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x174b54b1 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1a15a1eb rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x254aabc6 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x276dac85 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2f54b5a8 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x32723e70 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3a8c8681 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c9df6e8 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x494624ae rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4d0df064 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x541c7255 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5eac6705 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x741f12d3 __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x854fb592 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8b59f0ee rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9eab4bc0 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6a3d45d rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa78755cc __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xba878fbd __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbd145e24 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbebb015d rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc802f6c7 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcca39b34 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xda8216c7 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe2832e4c rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0e84d5af rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x353b3a14 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x379de26f rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x39c9920d rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x59f91a69 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x9163c555 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x25fe05c5 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x41101861 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 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x98b0a513 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xe1729c6c rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1b17dae1 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x26b87deb rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5c9fc350 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5edc43dd rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5f81d014 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xf3763365 rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/input/gameport/gameport 0x221cd87c gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2b2c4714 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4cbb927d gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x733b91bd gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9ff61501 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa23a90a6 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd700cf49 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdbef0d43 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf145092f gameport_close +EXPORT_SYMBOL drivers/input/input-polldev 0x692dd6cd input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6dce7772 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x7c8ec716 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x9379681d devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x9dc38be1 input_register_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x2001cdf9 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x9d156ce2 iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xc2dc7997 iforce_send_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0xef39ee82 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0xa2a464ac 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 0xc79e1f6e cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x4f94d489 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x567a0831 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x70752f9f sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbe52df4c sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xe42d4302 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xe7584778 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x4a90520e ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x95cc4dae ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x12e529fe capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x56f3aec6 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x768dd7e2 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8242df91 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x95e95bae 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 0x0437acfb mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x803dc64f mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa6db607e mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf2446cc6 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x69a4356a mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xc91be905 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x09d44ad0 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0a9913ae recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x16f26340 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x25a2fae3 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2a30bcba 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 0x3309f0d8 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3c74de9a mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4b903991 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4f2348a4 recv_Dchannel +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 0x6c3d49ee recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x727b0921 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x966d7b95 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9cce68fc recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa5e7a58d mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa9a2ec5e mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb477856f create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbbfd198a mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc7cfba82 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd25527df bchannel_get_rxbuf +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 0xddbe8eff mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe9c4eebf dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf0865186 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfbd2f35b mISDN_unregister_device +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 0x2dab18a7 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 0xacaec07e 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 0x4296d561 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x8a12ad8e dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xa35ea398 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xc25bc887 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x134677fd dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3c022b82 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9d921928 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb25e86bb dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb7460666 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe2c70dd8 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/raid456 0x14da3d50 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x52b6c18f r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x105e604a flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1d84c8b7 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x30381930 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3c18249f flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4044ba7d flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x58776e2a flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x75776874 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x82062956 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x84f03d92 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x8ea39d37 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd1dd1c67 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe04ee2b2 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xee73ecd0 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/cx2341x 0x177ddb12 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x60cf66a6 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0xa4028978 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xa67710c3 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x81192501 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xfff6b0ee tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x2e77c922 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc78824cf vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x09ddeeb6 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x3d698e0f vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7e9df5f4 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x9159f2a6 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x948ec082 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xa9e2c93b 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 0x75870be1 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1275a7b9 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x134e7593 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1350e50f dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x193594f1 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1ab79ab1 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1ed6bffe dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x25fc2370 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x35e0d79d dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3a92cf21 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3dba9d36 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x410cb80d dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x473a96fa dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x53941984 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6234f390 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6419f106 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x685b974b dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x68a2e631 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x74ee0a85 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7673e0d6 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fe70106 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x981a00b5 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9c42d4e1 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa5ec5723 dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xad09b613 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbb95b4c9 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc59a85ec dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc8e784a5 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcb1d551e dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd2ac167a dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd6705907 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd70e7ebf dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd89df783 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdd2a70db dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe5f7e37e dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebd9ba13 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xed007cef dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xeff814fe dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf24a508f dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf8a4f371 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xff193567 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x4db08741 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x64b0f5f7 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x021663a1 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x05f9ada2 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x171dfbaf au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1c2a7545 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x3764c820 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x61e767a8 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x62ef6e98 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xc8775014 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xda6985d4 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x0b66d3b7 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x347d991f bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x08069ea9 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x1fdcc519 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x314b9f5c cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x19894de3 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x238ff9a2 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0xfb7336c7 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xc03b5f9c cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x2559abc2 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x720710d2 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0xd2a038a8 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x3f4b0ed6 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x53b2afa3 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xf9d0971f cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x01e2a263 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x142cb86d dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x557bb6ba dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x66494043 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xa9e7a86f dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x079c85b8 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x12b264a6 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x14580793 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2c930f85 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x55153093 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x718722f7 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x92afecc9 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xa34df687 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb53efe0e dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbf3d66a8 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcbff3bd1 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcc19718b dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd2fd6c6d dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd6cd02bb dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xdd5475d6 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xc1cf1c71 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0887b0bd dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x559f604b dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7361de3f dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7ef71026 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xebb1c7f3 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xede7a078 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x1c4d7fee dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x66c200c9 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x883c71f1 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xf2cdef08 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xb60cb6b7 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x7396c277 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x02412587 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x080017bd dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0fb9df87 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1291e31b dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x198d1e9a dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7256fb63 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa1214c0d dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa1899e66 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa1a6b7b7 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa4b55e66 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xad3af4e2 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xbf27dce5 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf957c00f dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x323ae5aa dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x75a0198c dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x9e5e26fc dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xcce009b1 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xe6e3b7cf dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xa806bf2c drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x5dc6eedb drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x37ea3032 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xbbbde5e3 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0xca242461 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x280146a9 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x493febaf dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x83cf62c1 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x4c7db103 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xcc9d5be8 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xe4f29e3c helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x731f187a horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x689abad7 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0xca9756ca isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x795071f1 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x47dff713 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x39d403a4 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xaea59887 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x6cc762b9 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x0f1a7d97 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x819e011d lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xdd9a5a71 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x956d1215 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x40deec5b lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x4d1aa0cb lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xa1f86941 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x0365fae2 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x54c701a6 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x3674d69f lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x77618f2e m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xc6192a6a m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0xbc515c4a m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xaf838722 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x3918f69d mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xa581cd4d mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x8e88f025 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xc29b0d97 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x53e959f1 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x4ebcefd0 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x630a4c61 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x1da26235 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xbd92998a s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xfc27c745 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xff492ed1 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x272a9bce s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0xe8f34c9c s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0xf8a27fb9 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0xcccd4f0d sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x532ce434 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x633031b4 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0xe513a6a1 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x4c62a9e7 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xfd6d3f37 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xf51be14b stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x68702335 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x66f51cef stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xa3c865e6 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xd3561a07 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x302a3bc4 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x9ba4c29f stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x7ed92052 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xf76460eb stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x7e9c7b25 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xe54571b6 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x071753b9 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x54787c9f tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x6b79341d tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x3ce32d02 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xe499e342 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x7fe12fc9 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xcb3863eb tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x7b40d92d tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xd226ec21 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x8d0909e8 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x32bebf1c ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xc5e7d754 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x51d34f33 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x5a880060 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x2c9b35bf zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x126afdde zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x5ca534cb zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x087564db flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x1e4c4c9d flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3b8559f4 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x5c75f93b flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x76746d85 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x77088e75 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x8dee6748 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x87d87bd0 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xa402601e bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd98ea759 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xe299a17d bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x5f71c8fa bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x6ffa3fa6 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 0xecd3ee13 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x2fd1dc1f dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x3161c0d6 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x35c094aa rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x4560d867 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x456bbbc1 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x56607b26 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x79e76f14 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe7ecb58f dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf73335f2 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x8706ffcd dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x4772dd0e cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6c8374ef cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x9ca8996c cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xb5568865 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xd1a93f4e cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x4ee5c55b 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 0x106bb3e9 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x15f71a57 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x1e4897bc cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x3fba63d6 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x66f1a6dd cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x6f6d5d55 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7a055f8d cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x18eb3ea2 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xfc9e7d18 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x331075a2 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x727e133b cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x83667789 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xfac04834 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x02427636 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x1522918d cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2b70b065 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x4ee34b77 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x732ef8f7 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xccfc278e cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xda29a14f cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x0d89739d cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x121ed896 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x12260ee3 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x37a450d4 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x37c7173b cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x386309aa cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x46a0414d cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4b13917a cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4c2a38b0 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4f55bdae cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4fe76a2d cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x52036328 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5689fdd9 cx88_risc_buffer +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 0x68da782c cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6f7b7e03 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7abebccc cx88_dsp_detect_stereo_sap +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 0xbe2c4fbe cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe0c0db0f cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe227bab0 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xefbd1ad3 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xea5918fa ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x03e86eb7 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x18ebfc20 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x38013085 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3a7f55ab ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5d6e2dc2 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5f059799 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6041ee72 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x668af1bd ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x72ba67dd ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x86b3fab3 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x8a32cf2a ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb11fa986 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd930f88c ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xde4bf084 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xece90dbc ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xef7781f6 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xfedb95d9 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 0x1527fe33 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3b2e823a saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3de5d6f1 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x47a433d1 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7085880e saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x712634bc saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x80983197 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8313fa23 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x841fd519 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8cef8bb8 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcf4a1455 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf1bb43de saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x1e0343eb ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x15c91b3d snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5f0dfd10 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0x68ccf8c0 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa9012995 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xced27439 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0xea6b3ab5 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf08aceca snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x50ccf5fc ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xd80c8565 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x8329335c fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x020444e9 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x0c1abe37 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x9386c983 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x9cfcf663 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/max2165 0x86d38863 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x0eaadf22 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x4858aafe mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x03a3ba02 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x9b53ca4c mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x47926dc3 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xbca22c9e qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x40b3b781 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/tuner-xc2028 0xebb2d27c xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xac337f6d xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x638d3a9b xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x48b6bac3 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x6bc18f13 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x15dd111b dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1821d574 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1f8246c0 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x53bd6033 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6acecaf0 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6b91d5e5 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6d8af65b dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xb9e5e79b dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe30af4f8 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x243dbaf7 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x25e538e6 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x266c44fe dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x2ce1a16a usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x45dce48f dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd0bdaa16 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x04ff0521 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 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x37ad0c8e dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x3a7483af dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x5b3ee199 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x8aa4c6d5 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 0xa9d97829 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xab2335d1 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xbba6eafc dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xf787ee65 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xfc9492ac dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x67175f2c dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x6ffc11b5 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x0f517297 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x80bdf55d em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x270ec9ec go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x3a728b9f go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x6b045d56 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x79123634 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x80560a0e go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x831c7347 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x9f0b934a go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc0464ca8 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xeede7515 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x207c6391 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x22127652 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6c1f6464 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xdeef4788 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xebf98564 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xfd097b94 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x0c9ae3d6 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x128967e5 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x6e75be83 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x472ff6d7 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x6ce8f71d ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x00e55057 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 0x74359a8b v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xc3828672 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xd88b85e9 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x004689eb v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x06aff69b v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x077b0f52 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0c582eba v4l2_clk_disable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0ecd9df2 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1215e573 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1411ae22 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x14601889 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15299e3b video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x18656839 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1a6e3407 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x24ab7e1a v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x292743ca v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2bc4c6dd v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32075545 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x323af08e v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3242b838 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x33adf2d6 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x34f501dc v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x354e2685 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3aca40e2 v4l2_ctrl_sub_ev_ops +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 0x4a7e9e6c v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a93f3a8 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4c7f1464 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4fb7f4b7 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x51240bd5 v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5a30bbef v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5ca2e123 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x651a9564 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x69abe65c video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6a0c334c v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6fa10d5a __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x80286675 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x80d214d1 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x83cb4b58 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8bb9b0e3 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8d3c5b25 v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x93d49dee v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x99204137 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9967c4bb v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9b8a1228 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa1569545 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa5ff6df9 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xae0e5c13 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb3f8a630 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb7574d9c v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb88ac157 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb97ef6a6 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc0846400 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc14f5637 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc2a2f3ad v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xca40b50e __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xce3d8017 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcf3369e9 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd1b6d68f v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdf0477c8 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe68e3691 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xea6612c1 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xec058fc4 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeca40833 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xef1b1af8 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf471a99d v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf65c8fc5 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfa19f45c v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfe97028b v4l2_clk_set_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfef4640a v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xff877507 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/memstick/core/memstick 0x022b98b7 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x440a9bba memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5432be81 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x658d74d5 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x88166248 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x93493803 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa618ef3b memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa7ec7a99 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb613e7a2 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd2140496 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd640c962 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe16abd45 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf07ca3eb memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf96a53db memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x02b5b254 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0d099969 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x272daada mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2dea7b3b mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2f4c1003 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2f647486 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x37625b77 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4998d71f mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502e1b73 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x585352ba mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x592a1f39 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x62a55435 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x78e3e69a mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x820f67d9 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f31a556 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8fafaa8b mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa51cfe7f mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xade9ee7a mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb56a25bd mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbb1b1992 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc9083fc3 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xca1966d3 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe38b5992 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe67d39a1 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xebc98514 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf08032e6 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf187aa82 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x00d2eae3 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1ad401f2 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2d545a92 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x41fc527b mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x45853f0d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x492c0b2d mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x74bddb79 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7abe17fd mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8bc7e641 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9469eed4 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x98e8c9c2 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9a473904 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9a4ba6bc mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9a79e515 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9f59e69f mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa1adfad7 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xac528da1 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbd0f4c05 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc011553d mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc9c010f6 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd2c04e92 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe023473c mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe29e2f1a mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfd59e7e4 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfdd3bd98 mptscsih_shutdown +EXPORT_SYMBOL drivers/mfd/axp20x 0x0f455f5b axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x18b1a4a6 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x849b1c3f axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x017fad04 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x8d8d902a dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xb84814a7 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x10e95352 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe096ab79 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x003271cd mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x02075d50 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x02180e07 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2195b9b2 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7a467abe mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9188a636 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa070e923 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbca86bb8 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbd07a73d mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc968ddf0 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf45f7d67 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 0x1fe12b5e wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x215ef1d1 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x2ddb90c7 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x80832973 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xb475db54 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0xd8078cc1 wm8994_irq_exit +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xabe72317 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xc698f888 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x0b5f0191 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xb21ed0a4 c2port_device_register +EXPORT_SYMBOL drivers/misc/tifm_core 0x030351c3 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x25595294 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x257eadc2 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x309efb35 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x4385c696 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x57d01406 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8d4e5948 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xba427007 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xbc7bd374 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xe683c0ea tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xf7a5811a tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfb104d45 tifm_add_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x2ed52548 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x3196b12d cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xa063d412 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xe5578845 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xfe840f4e cqhci_resume +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x3f6bce9b cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x68bca673 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x91d27d9d cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9eff64f3 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb3cdeab4 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd65c5510 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xecda161a cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x01328a39 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1b3180f4 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd1b17f9a unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xf4267eee map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x412ef690 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xa9f62e2a lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x6a9ca0f4 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x7d912b4e mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0x85315b80 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xc68ea07c flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xe6c8dfb7 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x0b4362d7 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xbcee99eb nand_correct_data +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x236ab869 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x395a88b5 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x39833007 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x78b68040 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa7a346e1 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xaac0612e arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc4576ceb arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xcbd09d89 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd13426dd arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdc4ce8e0 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x41071caf com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x81dac9fa com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x983af421 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x052fead7 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x06fa24a2 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x129a5aab b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x141dd463 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x214a17ad b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3a741d18 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3ceeec5c b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3fdba2f7 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x490b3e11 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4bbfb883 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5170e5fb b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x57c842b6 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5c215b9d b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5c316426 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5ca6ffec b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x647421fe b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x65e69997 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x717103f3 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x77bbf6a6 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7c9e8bfa b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x94104686 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x96354ef3 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x979d2dac b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9d0a7569 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa5c3f24f b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa85d488c b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xafed02e3 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb11bcfc3 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb289e821 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb56ce7a6 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc8f6d565 b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcc3614fe b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcce1318b b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd20788b8 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd55a5a6d b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd7c131de b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdd96970e b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe38bdb3c b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe8d03dc9 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf43f0594 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfa61bc6e b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x2226b48b b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x3687baca b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x558b239d b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x6ab954b2 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x8c110ce4 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xe718b5a7 b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x06f909f4 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xf9642217 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x2b87d424 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x06bddfb1 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x0a156fdb ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x7e71e829 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x81e21da7 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x24684564 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x715134bd vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x01771ea3 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x12eccbfb ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1f780c54 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2c425bf2 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x876d62c6 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8a306caf __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9f070dd2 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbb7723a2 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd73a10d8 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf52ce29a ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x9179586a cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x3c54d006 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xcddb9637 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 0x01e85dfb cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x26aa2de8 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x27708c63 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2e6c40d6 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3c668306 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x45d98b0e cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7ce0f89d cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x80dda026 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8d9261c7 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8f4f7266 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x97c823e6 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xaad7ed33 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd54c30f1 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd6da5f67 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf8d6b9c9 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfe52c004 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01db9442 cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x027def65 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b675f34 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b9ba50f cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x162c6082 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x18e125ec cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x21125451 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x212e0108 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x24bdb7c3 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x26492c1c cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x26bf877f cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2a2629a6 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3059d807 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x32d8c3c0 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3f912455 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x413f2522 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x556525a9 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5bdc5c83 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x619c72cd cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x621f93db cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x687c9467 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6d8bfc68 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x727a9cdd cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7427fdf4 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7c3037aa cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8e193c3d cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96b96420 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa2d3f095 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa45118b9 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6763b72 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xadeb54c3 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5069632 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb6493397 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf4cc8a3 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc045179c cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc4b9da0d cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc55b4a86 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcfcffc50 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd61ae0af cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd67cb25c cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdc9ed125 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xde1e7b87 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe4fccac1 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe6f37534 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfcbb8b4f cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfcdfb9ae cxgb4_smt_alloc_switching +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 0x3d46ba70 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x44412662 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6d253a87 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x8c7d73a4 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe01a6a15 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe677dbee cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf850be96 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x0c1ed506 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x843a4f33 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x940644b9 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x977e442d vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xa75bdeca vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc601a5a8 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x2cea6278 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 0xd63d60c1 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x59b30af6 i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0xc2ad102d i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x92a2c6b3 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xa315b1a4 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02177ee3 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a070202 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fc380ac mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10d30491 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11c7ae29 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13cf8210 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19757db8 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a58dddf mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31179a68 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3866a67b mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4114ada6 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x42e76ed3 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a3d8a38 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4aa3b745 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53f320dc set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b3afeee mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x655a7479 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c7b8157 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e70cb3f mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7379eb17 mlx4_sync_pkey_table +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 0x820bd984 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91dd774a set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95d420b0 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9aaeabd8 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa93c86ee mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb54607ed mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb72149d3 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb9cb09c4 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc9010c0 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc232c22e mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc48c3024 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc55cc8e9 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0bcfa83 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd541baf8 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd78642dd mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd873eda8 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcb71220 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3cb5759 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef0f01e7 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf09d63f5 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf33fc29a mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa9b9bbd mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfbc03846 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfefbb17a mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0116beba mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x049e3ca8 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06c02d9d mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0815a2a2 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x084751a8 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09870392 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2fc676 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10587ea5 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1361c8a6 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14efed91 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15cd9aae mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x160a62a3 mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19fb4c3a mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b8d2362 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cacc8b8 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x210d460c mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22298129 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22c395f6 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25569d01 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x278eb1a2 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27b2192c mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d3a00ec mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d8079c4 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3054eaa8 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30b9a46b mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x321d9740 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3365e847 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33eb7c4f mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x357567b6 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36edc2aa mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39153c11 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39bc917a mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3bb8c307 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f8bec5a mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fc6530e mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ffae2e7 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4156a318 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x429338b4 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x442b4a9c mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad7e9d4 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4aeb54bc mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4decb36e mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5199d90c mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53c9187c mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56c6f206 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58fa7d83 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x609280dc mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61091f5c mlx5_rl_is_in_range +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 0x632c13dc mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x662d370f mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x687c51c3 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6971e984 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x700b42e2 mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73193ce9 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75f92054 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x787ca5ab mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7badc503 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e463a1a mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ea56392 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81791cbf mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x832609ba mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84f0e993 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x859f9f6e mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87f289ca mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x884c18bf mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88a2f4b3 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x890cf5f5 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8963b7dd mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90018bd2 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91471dad mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x922d4677 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92618cb6 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x940a79c8 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9524d67b mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95d47eb2 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x963cb424 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9834c168 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x999159a5 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fcf8439 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa033a436 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2d1cd35 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa339c54c mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa685c6c8 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7741e37 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa8575847 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabf91d8d mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae7d272b mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0af50ab mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb11b7ed4 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2eb2801 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5a042c8 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba136379 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba72c4ef mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3f28bb0 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6975862 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7ff486e mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xca2a18ef mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xca924d6e mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc47130b mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc7c7a73 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd10fa98b mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd35d6902 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd40176bb mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd520f61b mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8bc9f1d mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdacf4a89 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde427c15 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1ae537f mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe44c644a mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4d2390a mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed07b7ad mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0857f0a mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0d29d8a mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1eeca40 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf23b8682 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf2eca0ac mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3159bf7 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf427910b mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4a2f48e mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6aa7632 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa1f2be4 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcfa7a1a mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff05e262 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x3b417bf3 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0158aeaf mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1264cf88 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1986b44d mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +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 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x289f88d5 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51f20d4e mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5f347536 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7cd8d0f7 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7dc3858f mlxsw_core_rx_listener_unregister +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 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 0x8ba5fa7e mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x906a3b01 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +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 0xa3a59654 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 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 0xbcc268ad mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc2c63409 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 0xd2e62255 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd64b06f2 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xedce8aec mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf239b2d7 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x49485658 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x65fb9713 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x3fc0835e mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x404496c1 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0956abcb ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1c094947 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1f380bad ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x20dd9808 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x22eecb0f ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x300f2ca4 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x387f411d ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x398af9c0 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x413275ef ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x482cf102 ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x488bf2c7 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4ac3acff ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4c645778 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x510aa821 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x51d714de ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5209ea93 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5c6f2ba4 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5cf7f11d ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6827f36c ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x6abe7665 ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x74e672b2 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7582d601 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x79a07374 ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x81a6a337 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x897d5d17 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x921672e7 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9f6d9b1f ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa128c48a ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa8ccbce0 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xaaa52eaf ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xaab871e0 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb5e4460d ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb6888f18 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbb612419 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbcb84b03 ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xbd451eef ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc53a1557 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xcfce0c9c __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd46085a2 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe097244b ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe84724e7 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe97f0d57 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xea5f68fd ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf1ce1d89 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf2d79809 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfa155968 ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x0811d3d0 qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x83514c83 qed_get_rdma_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 0xcf2c23c8 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xf862d775 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xe525d2f6 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xef48e388 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x125be220 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x383657ee hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc2a7eced hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd826f773 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfd127c4b 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 0x652fb0b6 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/mii 0x0c2e0583 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x0c6b1995 mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x47fbd8c2 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x4db3423b mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x56abae57 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x7739df81 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x77957dee mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0xa36e6965 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xb68c2fe7 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0xd9182c23 mii_nway_restart +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0xeed3075b bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x485b7a71 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x5cc33207 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x43377ad4 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0xf654cc14 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-octeon 0x8a1d5c26 octeon_mdiobus_force_mod_depencency +EXPORT_SYMBOL drivers/net/ppp/pppox 0x75e80a05 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x9bd41307 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xebd15744 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0xa34aa73a sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x0eb3edd2 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x309846f7 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x3357b45e team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x6360ae5b team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x64dc9556 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xd46e1925 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xd4be0138 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xece3ed8a team_modeop_port_enter +EXPORT_SYMBOL drivers/net/usb/usbnet 0x1bae3253 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x99a6cae8 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xc2aaa470 usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x22607136 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2cc49896 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4eb3d20b attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9e84491d hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xcbc67575 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd9ae9863 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdf91cae2 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe78376bf register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf31e04af unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf78a5dbe hdlc_close +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x78d8e896 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x241d1641 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x552d5e08 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5d9908c3 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6d9b7ce7 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x86a35055 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8e3a2797 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa19bec68 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb4b01c84 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb612340d ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcfba957b ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf2b41046 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfdd228f9 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0779b965 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0ce290e4 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0fbbd33c ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x110c3340 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x15d69250 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1619979d ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x195d3d57 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1b0c8b86 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1b472a02 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1e6e4e82 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1eb5cb2f ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1fda1c7c ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x254d8512 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x29beea39 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2de15fe2 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x34c2b6ce ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c26a9c7 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4684e1f9 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4f3ae861 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x502ce306 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x55d8e9b6 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6114337c ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65314542 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x66026506 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x665cb897 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6840f148 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x690b67ac ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6d489f82 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7ccb29ab ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x844d1aba ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86c9f0e7 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87c1dbba ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x99aa32df ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa05c6c74 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaa2c210f ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbc6f6d54 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbe7a33a9 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc4dcc254 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc702e887 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc837079e ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcaded0aa ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcbd6a0e9 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcf25edca ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd7062633 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6f9dc73 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xef255cc7 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfb86f1b1 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfbed6547 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfc184671 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3454f616 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 0x393bb022 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x395c4cad ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4fe65f22 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x54d07554 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x826b5fbc ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9112cebb ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x932d4c51 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xaa3969c5 ath6kl_stop_txrx +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 0xf55b508b ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf996b597 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0b6009c5 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2267cf9f ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x28d9b251 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2f7a5e13 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x40d2a359 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x46c2187e ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x68f35f86 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6c4c1c78 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7666857e ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x78bab54d ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7d3519ad ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x80a8a0fd ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x84b7448f ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8fb8d19a ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9c1cd532 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9c3b5386 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc27d8a61 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc8c3ac90 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd8108f1a ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdc85a2cc ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe06493a3 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfb40f53b ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfedfadc1 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0883fddb ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08e2bd53 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0951529e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b5dc195 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0ce7d41b ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0fdd7587 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10784f85 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13161a34 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x186ab1ae ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18fe3067 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b0eb703 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ede125a ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21027eb1 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x264ad9fb ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x26b38259 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27f57d61 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29f367c9 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2bc13a4d ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2db8dcf1 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e5e2944 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f143032 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3011f344 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31a700ca ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3477cd98 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37b21268 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47e3a8be ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ab0d920 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c030d10 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4cddbe8a ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ea223da ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f792251 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4fbeef6d ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x580b3ac6 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58297d64 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f1622fa ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5f8df0c4 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60204660 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x611374ef ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6188166f ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x630aeb24 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64306aad ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64764770 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x653e38f1 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6785cfb1 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ab0c143 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c41fbcd ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7004c9f8 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x712231a4 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x749c9f00 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79dba3a5 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e7f557d ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ef47865 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80660cfd ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8263c0fb ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8665137c ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a960852 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c1613e8 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c1bed31 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e764325 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f9b2ec5 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9171b35f ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x924f2883 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x937a240c ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94ebc616 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x95d9e59a ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97564534 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9879463d ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x991237c5 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a5d2cc1 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ae7145e ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ccc81df ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d470a3c ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa280dd5a ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2dcebdc ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2f46ff9 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa67a9b39 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xadd9272b ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb21ea81f ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb58d5ce3 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb620d46c ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb673f2a4 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbbdc7bcc ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbcf0c458 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe6002df ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc20a908c ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4bdd362 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc8809297 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb062e26 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce542eba ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd78921eb ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xda5f0316 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc1a1899 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdca3f7fc ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde389678 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe016d70b ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe14abc25 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe477b961 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4bf71c1 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe877874d ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef2ed654 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf1e4540d ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9538561 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe5e29e8 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfffb2d3d ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x14a260da init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x17657bcf stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xe13ca326 atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x0d422a8d 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 0x2c731449 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x323879c8 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x37bdbab1 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3b49ac24 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3f34d4e9 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5437feee brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x80a44c5e brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x95608b7c 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 0xa1e4ddc5 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb0eefe71 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xcee8d765 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf87184a9 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0b75566a free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1a1c78fc libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1ace1f5d libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x27b9cd4d libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3bf1bb41 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x58346ecb libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6137b4ce libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6280757c alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x658292d2 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6f773de4 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7c8bfe35 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8f2903c9 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9019da28 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9fa8bb1f libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa80c9b39 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc06322c1 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc74eabed libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xce87dd98 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xec8a91f4 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf3c73532 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00153728 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00192cf5 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x01c6b516 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0916493d il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0bddbecd il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0deb2e97 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f2f6616 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f6836d2 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0fb12545 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0fe68bc7 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1225052d il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x13b140be il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14fe7b7c il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1716881b il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x183cdf52 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a3be0f3 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1a82b53d il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ae49677 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1bd2c64b il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1dac24e6 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23b6aba5 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2534a891 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2ae80ee1 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35098fdb _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x36863394 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3876d401 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38c390c4 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38e4588e il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f5a4494 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3fa6e8cd il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x455971b4 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4aa0bcfa il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f60fb75 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53322fbf il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x559cfb25 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56a06642 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56a133f7 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56fca7e6 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5959cc14 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ae5f0e9 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5b6ecee4 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5fde6a07 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x62e6edc6 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63d21d2f il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x661b60b4 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x66404f9f il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x677489b1 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x68a7bea0 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c5d99fa il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c8763b0 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6ced1542 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6da84a7b il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7636eb81 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x765deaef il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x77d38ccf il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x78169471 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x78c2e8c2 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7971217d il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7e3566e2 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x809ee2f1 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x858bfa47 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85c74825 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x90ffb3c9 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9286da1c il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94da1556 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94ea38d7 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x97031797 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9b54bcca il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa16e064e il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa32ccc33 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb2506fe4 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb4ad737e il_mac_reset_tsf +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 0xba82bc1e il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbc2e28eb il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbff847f3 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc3399c7b il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xce561260 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcf5b91af il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd51172d9 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5de1a6f il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd60db48c il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd9f3fbd2 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdbf59b94 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd66c8e1 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xddac00b2 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xddde5e31 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdea299d7 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1526e63 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe57ae02d il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe9bc85d2 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe9e877d0 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xea041436 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf0b26c7e il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf14254e9 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf681ad9b il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf87da963 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa3e6b9e il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x33c2544a __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa44e2870 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xab9db4d3 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0d235cff hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x16784c56 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1a5ee4ea hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2066c943 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2717c9d7 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2f40bfb9 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2f5925d7 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2f9c6270 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3fc8eb6c hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x47e1cdc6 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4de2069f hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4fab1044 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5bc27b77 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5d2b62bd hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6fbb163d hostap_set_roaming +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 0x81fd2c70 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8c15d2ad hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x91b8ad8f prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x974b12d5 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9b6fb738 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9d58f1c7 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa1ecf9a6 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xadce93dc hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xda46ca65 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdc41c56a hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0b1afb55 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x213f13f0 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2d9428bc orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x33741302 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x445a00e8 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x473c9295 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6982806c orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8d16dbc4 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa7810918 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xac90ac3c orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc5e1d68d orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcc861a0b orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd9437990 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xddbebd9e __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe1104754 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xfada0827 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x748f677a mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x11539ca5 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x06b5ef5d rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0d89406d rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0f73c74c _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1547804b _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x190360f0 _rtl92c_phy_fw_rf_serial_read +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 0x26202172 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x294079bd rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x33a60e68 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x351e5fe1 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3896a134 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3cd4c76f _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3e6eff1c rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x42f71409 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x45793555 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4f3d820f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x66f2a9bf rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7194b4f1 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x73ef00f3 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x76efebae rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x82c5829b rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x852c64c7 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x87dcf157 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x91d66a16 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9568f399 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9d5a85a7 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa2422f31 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa60bdea2 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa638d935 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbda49bde _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc1bf0065 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc3101728 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc8eb152f rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd4ca6957 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd5863955 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd66b29c1 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdc62f97c rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdf5f241b rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe5526d77 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xeda68eb7 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf4c7f886 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf8e442fb rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x514481d5 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x5c5dd7d7 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x02155c89 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x6c0ce7a2 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7c50b9fc rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xa46f422e rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x03851259 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a01e70d rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b2f8c76 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1433d34b rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x159d5d8d rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x175d939e rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1d17598e efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x23c4a0f1 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x256acc5b efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x256c1cd7 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3057c2b4 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4a8fc4e6 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x60ae5db3 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x75c5fd3b rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7cc032e8 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x89f14351 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8f4e2525 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x91226307 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9c1d67fe rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb67467cc rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb8f4cc5e rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbc6d6806 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbe8839bd rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbf5abbcc rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc0a1d4e3 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc66047aa rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd3fea6a4 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xea0b879b rtl_rx_ampdu_apply +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 0xf3281f33 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf50a6d17 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x973751dc rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x7cd72b6e rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x93154050 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x03d8631f rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x08f68f08 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0a8c3c51 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1128b43f rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1add551f rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1aec1a3a rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x218fa240 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x24df1e2d rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2d48984d rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x321a7ae1 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 0x35bddda3 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36860878 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3d975931 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3e7d23e6 rtw_phy_set_tx_power_level +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 0x45485a2a rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x45980e33 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x46255644 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x481e495d rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c24b3b3 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c7039f4 rtw_parse_tbl_phy_cond +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 0x5c1448ec rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5ec33b00 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x69bd3aba rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7007bb48 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x71420f91 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x73025ed2 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x778dfe68 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x791e4123 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x807d7d34 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x81ea4c65 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x86f62356 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8964222a rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8a309fce rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8e894ced rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x924782d6 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94e1a617 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x95549630 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x95daf171 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x967c35a7 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x98f2f5a8 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9d311820 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa64401f4 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xadc6e962 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb564c90f rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbec538c2 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd3aac52f rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd648cfc7 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe75dc2be rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf58facff rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf997cc56 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfa701876 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x6652c53b rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x8036adda rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xa02a4f05 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xc47324df rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x93975642 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xb9312d68 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe7cd5759 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xf60e710d wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x79c6e177 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x7f3b1a1c fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xf2078214 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x0d86cce0 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xd259c16a microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x04c0ca88 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x32d44bb8 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x85f7d3cf nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x5d139a85 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x2411eb71 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x8f538a24 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x0df497bf s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x1f489d5c s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x5ca93bef s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x25fee494 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x3cb77a8d st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x579525bb ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5dda7ea5 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7e333019 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x945224ad ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9959f6d9 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd0083370 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf7179d14 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xfb9e60e2 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0653f6ac st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0c68fe0f st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2f34df1b st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x39184a42 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x412dbd79 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x42ae4b7e st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x42d31c60 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4a9d977d st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4ff7395f st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x61d384e8 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x676b7a9f st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x85d8503f st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa73e37e2 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbe7eb50f st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc4a17902 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xde005183 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe34b7a06 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe4d6186f st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/ntb/ntb 0x009c7010 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x017e0f9a ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x0c1398e7 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x4b4c5621 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x5966d231 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x632d3f76 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x683dadd0 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x7aec53df ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x99d157a2 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x9fa13167 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xa1bc198f ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xab6f5067 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0xb3ee0d27 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xce1b97ae ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xce6cbc42 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xd09e3f42 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xdab74779 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xe5e41c61 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xe9556b68 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xea99e727 ntb_db_event +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x06a46b7d nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x0ef5daa2 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x0fd5dccf parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x1a44aaf9 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x353e686d __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4e95f58f parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x4f2d235e parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x51dd861b parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x54680865 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x55072dc9 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x65bb946e parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x67f7811f parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x6bb7e797 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x73211caa parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x791f11ec parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x917c693f parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x954b7059 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xa22a738b parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xbb5b41ca parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xbccf7df7 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xc27e67f4 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xccbe387a parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd0b90657 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd278a5ae parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xd32d0825 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xd3f64bee parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd6d9ef22 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xe09423ef parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xe111322c parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xeb8801f0 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xf0de25f3 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xf713d3ee parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xf9ca02c4 parport_register_dev_model +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0xb58a6ce2 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x11fcad4a rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x1c7f7bb8 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x20424587 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x23b41f3e rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x25cb9880 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6d01e3ed rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x72cab9c1 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x794a16a7 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7d755342 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x92b1600c rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x94ff0b17 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x9f632b50 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb488cf93 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf37e4b59 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xff661aa4 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1a289693 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x3e46b2ca scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x603aa2b8 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x88f2939d scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1e02cb69 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x25cf7d89 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2d6d9681 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5a299753 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x623e50f1 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x69a11850 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x83f159ec fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb79d68f6 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7a74656 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xea26206a fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xfd183a5d fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0af13bea fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d35cd58 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x111f95e0 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12ca5936 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x174dc033 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e5377b1 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e5fedbb fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x253d9136 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27840985 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2bbc2add fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2dedc9ef fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36d3bc6f fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3932c338 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c97e58f fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d72a212 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ecf347d fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x425d1103 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a957858 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e1a91f9 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66111495 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66d86174 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x678406ce fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6bb8061a fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x80a025b8 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9169f79a fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x91ea256b fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x928efb33 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x97072306 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9a380d36 fc_exch_mgr_alloc +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa4a0c529 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa4a767f7 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa9408ec1 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaee56ea7 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaf003e90 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb178a290 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb71d926c fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb8c0a865 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc61d9c02 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc835789c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc2e4148 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcff2135a fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd39a77e0 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5e5ee8c fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdbf48527 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xddd72539 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe64d75bb fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe64dfb0f fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xef0d88ef fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf2077545 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf35772d3 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe8d716c fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x626e1ef8 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xafb8e006 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xfcdeca05 sas_suspend_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 0xbbcc355f mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x13399330 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1c0b04f8 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1c46cf49 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x26da32cd qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x27a776ae qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x825f5ab1 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb785feff qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb7ec6d16 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xbab9188b qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd7ab98f3 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdde8f7be qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xed86bbcd qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/raid_class 0x26998105 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x4de7e0a0 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x80d6539b raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x38ae2247 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3e372227 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x51ab16c6 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x54ca05ec fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5c24320a fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7aca4d5e fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xaf8d895c fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbca081ec fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbf4f7c6f fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc9a5b2c8 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xce320311 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd36032de fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd6df9f79 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe7596f9b fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xed1799e8 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfd4fc0e4 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x02772721 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0e666a40 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1ab6a337 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x234905a9 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2790fe4b sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2f2e609b sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3885de81 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45c3e453 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4f022444 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5269ce0a sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x56f652f3 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5bc60940 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5f4a3148 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x60afa5a0 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6760d9fc sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7994bae0 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x83604767 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x944645d7 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9a5b9de6 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xabd7bc26 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb8692f67 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbaa09c5e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbe2f4d60 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcca8796f sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xde00caba sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe5ce48ae sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe7644ea3 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe8e3ad5b sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf81e4ed4 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x630ac4fb spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xbdd24afb spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xca9e5e3b spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xd939a401 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe20fa450 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x8b7f062e srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xa93bf366 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xb4a942fa srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xb7a29f04 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xd1bbdd96 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x1c1dc897 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0x3efb64e8 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x1bf912c5 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2208e130 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x3459cadc ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x5d571467 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x8a9eaa26 ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xafa205f4 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xbc575cd9 ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xe9db0c51 ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xea6d5168 ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x4268a194 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xe2ee8ea2 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x10fb9e0d sdw_stream_add_master +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 0x1fd41ef5 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3f9acfa3 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x481336cb sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4c0ef232 sdw_bus_master_add +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 0x653d05d7 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x654af511 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x65ab46f9 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6cbe7d9a sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6dc125ac sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x82aaf3b9 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x874bdfb8 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xad3e212d sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb4174250 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbfbc1205 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xdc7b49e0 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xed0d4c92 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xed32d352 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xed91c017 sdw_write +EXPORT_SYMBOL drivers/ssb/ssb 0x16a9a901 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x17dcc135 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x2f76fa1e ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x33ac306d ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x3a5f7179 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x435a192e ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4b091556 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x62b0e1ee ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x634a8d26 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x7069ed46 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x7381dc50 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x7f41e7da ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x88623c17 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x908a2b65 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x91da8d6a ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xa2141bbc ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xbf79c22e ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd5b644bd ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe706a808 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xfb68a8f5 __ssb_driver_register +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x13b0b958 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1b2e3df9 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x288d1fec fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x34d2a030 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4c34e201 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4d4306be fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x5fce63f6 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6651f2ad fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x69b815ee fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6c1aaed9 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x785e4c78 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8285db33 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x84446c49 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8465b7ee fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9000c168 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x92945997 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x92ff2741 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9d77f11f fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa265ef96 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xaecc10e3 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb587b66e fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb74eb0d5 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbb6aa83f fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbdc9f2e2 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe6bb82e8 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x571fd3e6 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xf15b8967 ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0606a47d rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0f0be063 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x10fe6daa rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1266b5e3 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17d5a625 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1daa4a32 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x24e17a1a rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x25bd62bb rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x26c83c35 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2dec3e04 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x33cdc1f0 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x34d79b80 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4c37cadd HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5c0bcf85 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5d0862fe rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5d4b015c rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e39db59 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x634185e3 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x729cc914 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x739fcc0b rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a98eaad rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8fe2b749 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x919111f2 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x94fa51da rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x969baa2b rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9c02a9a1 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9e415074 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9f96ee35 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa0d7a597 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa43feb7e rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa790af33 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa96e80ef rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaf7a92e8 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaff5bafc rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb1624904 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb4b266a2 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbdbf22bc rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc1035d01 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd1d8c37f rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd8cd11d8 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd94adab7 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdcce0c12 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe60057f2 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe76311b6 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec0e08d6 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xee626443 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf3d8b73f rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf8bbb207 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xff0d24a4 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0022dd8f rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x01f3b768 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0fd1f2ed ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1fc3f4a5 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2730aa34 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c9b409c ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2fab9539 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x33a21fbf ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x33f7b7c6 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x34ac2d25 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3ae43c47 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b69d11b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x435c1411 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x47415068 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4c9006fe ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4cdfe265 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4e92cec2 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x54be5048 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e1cba8a SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5f89a88b ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x614dbf61 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x62ac62b6 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x75ef110a ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76e76f48 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c1cd77a ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7e50bbb1 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e5ef8db ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9252e682 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x94430c82 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x98a97db2 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa07cb623 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa2151d3f is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa3d4a27a ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa673809b ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa849100c notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa92f394a ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaa51270c ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xafda2359 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0a9a0fa dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb2b49d69 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb3387a9a ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb6f17a90 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc2ac43dd ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd614df74 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd71c7882 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf909630 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdfb4eb87 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe6ae35c3 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf55135e3 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfb999f65 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfe12f3e3 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfe2d7f01 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xff3546a5 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x089ecc70 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0b07980c iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x11834db6 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1d2c344d iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1da7e07a iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x24fa00aa iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x341e9e70 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x391b7633 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3ad27ec0 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x418c27f7 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4620084d iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x47642e3f iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x549dbec8 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x58853e3d iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x58bfb000 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x63fbe5b6 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x66848f52 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x72ec959c iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x86a1f23d iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8c668632 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9005a920 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9a15a8ca iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xad7d9d7f iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaeb3cdbf iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb6491ed2 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbe7146db iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd0284323 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd1ca4f59 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd3d80ab5 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdc6001fe iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe0b916f1 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe6293005 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xebc40e67 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xec4d9c53 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xeca92130 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf022cca3 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf0cd31f5 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf1dd0833 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf44887d1 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf6919465 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf694a1a7 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf7c1a466 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfa3a07d9 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfb314c9e iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x01ca07e8 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0a9b3b2c transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0b38775c target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x18e7ca71 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e348a07 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x20aa2795 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x2606bf1f target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0x29f46d43 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2acbb5f9 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b221a1b target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b8e1bb5 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d329877 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x31d2a1a2 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x344f3691 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x374d3d15 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x43b39e51 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x454973c9 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x4cdc815a core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d56503c transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x55acc700 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x5752e14f target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x586a91bb transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x5876560a transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d811766 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x65d0c03c target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x6882cf5e target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b20eaa4 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x6e76f725 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x715987e5 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x738df074 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x77af3d05 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x79a4d13f spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x79db6b83 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x80b31f72 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x80ca0579 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x82465280 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8531df3e passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x86fba7ad transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x889328a9 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x8b3975ab core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x8bcbd3f7 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d79bd5f target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x8dfc1cf1 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x9156dc53 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x92d7ffac target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x99f61591 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x9bff0b4c transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d0fd3f2 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x9f8f0eec transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xa0523847 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3c02a57 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3c8ce4e transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xaf21517a sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xaf41e610 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb1089f6b transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xb2a7bfb4 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xbcb3f366 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xbf31b260 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1748fab target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1b1c963 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc36ee751 target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0xca5b1461 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xd0df5741 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb8e050a transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xdc04a303 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xddabbf50 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xe306f91e spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xe71547fc target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xeb655991 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xebc82709 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0xeec66722 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xef936488 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01202b5 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfba150f0 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0xff4472ee transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xb447cc6a usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x40a6181c usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x3d054712 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0da52cf7 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x173e641b usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x23fd24f9 usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2d84604e usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x34da3f01 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x355f3307 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x628576c7 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8639c511 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa7ddde96 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbcc0fadf usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeac7270f usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x74d25b32 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xaad3a670 usb_serial_suspend +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x0909246e mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x15564af6 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x16ece741 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x486e6c80 mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5fb5eaf2 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6cf22049 mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x70473b16 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7e3e7655 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8f59b248 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9bdca02c mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa54a6120 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xee3866eb mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/vfio 0x078db970 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x2cfd1849 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x4f374a21 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xd0a9c978 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vhost/vhost 0x1d6cb892 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vhost 0xf263a786 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/backlight 0x13542634 devm_backlight_device_unregister +EXPORT_SYMBOL drivers/video/backlight/backlight 0x19e8ee1e of_find_backlight +EXPORT_SYMBOL drivers/video/backlight/backlight 0x28cc55e3 backlight_device_register +EXPORT_SYMBOL drivers/video/backlight/backlight 0x74a78f0f backlight_device_get_by_type +EXPORT_SYMBOL drivers/video/backlight/backlight 0x75f4597e backlight_device_set_brightness +EXPORT_SYMBOL drivers/video/backlight/backlight 0x77967faa of_find_backlight_by_node +EXPORT_SYMBOL drivers/video/backlight/backlight 0x7db3d650 devm_backlight_device_register +EXPORT_SYMBOL drivers/video/backlight/backlight 0x9269e311 devm_of_find_backlight +EXPORT_SYMBOL drivers/video/backlight/backlight 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL drivers/video/backlight/backlight 0xd47977e0 backlight_device_unregister +EXPORT_SYMBOL drivers/video/backlight/backlight 0xd4adbee1 backlight_device_get_by_name +EXPORT_SYMBOL drivers/video/backlight/backlight 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL drivers/video/backlight/backlight 0xffa44d5d backlight_force_update +EXPORT_SYMBOL drivers/video/backlight/lcd 0x0bf0a0c4 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x461f1b1c lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb1578acb devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xf083d84e lcd_device_register +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0eddc3b4 svga_get_caps +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 0x2b03b08f svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x31c4e454 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5e655d84 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5f1b8ba8 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x6c74559c svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x6c829895 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 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/syscopyarea 0x39bca3be sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x32971e8b sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xedb972e5 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 0xe6ec0f0c cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xa6c5f34b mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x93786481 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xca5fc39a g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xfa4ede6f matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x3ea89b4a matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x77e70cba DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x782705b5 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xe82423db DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xba04f814 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x65015655 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x0e7e637f matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x566020bf matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x6736fbee matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xa2fd0690 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x282d8312 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x772db08a matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x29298b0e matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x5d8578ac matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xaa326d71 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xe491f143 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xf5055ae0 matroxfb_vgaHWrestore +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/w1/slaves/w1_ds2780 0x729670d6 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xb759469a w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x4ff55a29 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xf7d077f4 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x55ee29b2 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xa349b6bb w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa56dcfbc w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xc9a4dabd w1_register_family +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x0637f57a bd70528_wdt_set +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xe8919a35 bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xf94e5572 bd70528_wdt_lock +EXPORT_SYMBOL fs/fscache/fscache 0x051625a3 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x18c594b2 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1ae6a53c fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x1c93c932 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x2ad2fda6 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x34be7e68 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x4e5b76e8 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4eb4da76 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x56a157e0 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5e0eb8a0 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x6065622c __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x66a96ace fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0x68a0d10e fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x6f438c8b __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x803761df __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x8316d4c5 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x83b067ca __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x86cc391c fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x8c0e5712 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x969471b3 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x972f9444 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x9ba254f2 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x9cdc5645 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xa03215b6 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xaf9095c3 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb4d0812c __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xb97ef921 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xbb8b4fba __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xbe08f711 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xbeb59b36 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xcc3ddda2 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xce3037ab __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xd37c2d3a __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd9e491b7 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xdd98d774 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0xe6c509d5 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe79115aa __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xef625d56 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xf41cb370 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xfdc16090 fscache_init_cache +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x05b25c99 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x065e1ea9 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x116a7953 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x19015c99 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x441cc19e qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xcc3ccb7a qtree_entry_unused +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xa6f8fe73 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xaced78c8 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x89c492c5 lc_seq_printf_stats +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 0xccd898c9 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x1046f6bf raid6_empty_zero_page +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 net/6lowpan/6lowpan 0x1b0f79f1 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x3fe30f15 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x777ffeca lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x882a2814 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xabf5b75c lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc1a21be5 lowpan_nhc_add +EXPORT_SYMBOL net/802/p8022 0xe74d260e register_8022_client +EXPORT_SYMBOL net/802/p8022 0xedd12286 unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x52ab4100 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x8e4d742d unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x05ea292e p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x08f84f7e p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x0aba3607 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x0f5e22dd p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x1078f728 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x18e0e79e p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x1b4f192a p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x1e898f18 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x2081b78f p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x2572f58a p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x27245ac4 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x2d2428a5 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x33b654cc p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x38d1c321 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3a4fa409 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x3b166d1b p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3fed9cae v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x40850e87 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x49381324 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x4a7f90aa p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x4d25c347 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x52e5bd60 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x5bf50fdb p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x5fbf587a v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x6426b9c3 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x69c89754 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7926b2bd p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7e29844a p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7f439581 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x80ec8088 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x82f63ba5 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x8a04930b p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x8d71e702 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x978a9e8b p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9e41a842 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xa9b69330 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbdb88db3 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xc74aa394 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xcc976768 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xcd541d6f p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd5043e82 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd8a6e2e2 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xebe873ed p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xf8dacec4 p9_client_write +EXPORT_SYMBOL net/appletalk/appletalk 0x38775a17 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xb4d88817 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xc90d16ff atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xf61c8c70 atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x08dc12eb atm_charge +EXPORT_SYMBOL net/atm/atm 0x24ea6290 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x265fd439 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3c423ec3 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x4999f36a atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x4b3d7693 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x70d75c89 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x9152fac7 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 0xbd9b92ee vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xdd9e9ed1 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xe0c0d0e5 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xf316b54b atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf6334e70 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xfac5ae25 vcc_sklist_lock +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x1ebd4fd9 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x21f7e046 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x224945c6 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x33d76d30 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5cd9a60b ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x6e0f8f26 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xb11a8d8a ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcc76adeb ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x01994ca7 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x032d30d0 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0691676f l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0ca83a21 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0e86d069 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x13b67422 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x193ae24d l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x25818dc3 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4994a9d4 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49bd3e0e bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d1b5d29 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4e8f8fda bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x541ec29b hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5be391be l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5cfbad70 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d267946 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6075a1ef bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x669936af hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x694fbaed hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69fe4c27 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6eabb022 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x75b3fe8d l2cap_register_user +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 0x8662743e l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa4c5cad1 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xabeceb30 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb325f6de hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb9dcc387 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbb62864e hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbcbb4527 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc048870e hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc1f51877 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc601ec83 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xce6697ec hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd1721954 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd63db460 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd5be20d bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6216f25 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe7504d69 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe7e96e06 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xedc1ad0c __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xedd2700b l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef20e4a4 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf1fe5706 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfd7d1d79 bt_sock_wait_state +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x43c4d4c1 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x68ea1a2c ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x977a487a ebt_unregister_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 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x420d9c1a get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x5a0ff3ea caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x688fe9b0 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 0x9f978b70 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xf2d3fd7c caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x0f126466 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x26221a54 can_proto_register +EXPORT_SYMBOL net/can/can 0x31b4cd71 can_send +EXPORT_SYMBOL net/can/can 0x60d6fb98 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xd56e48e9 can_rx_register +EXPORT_SYMBOL net/can/can 0xf724961d can_rx_unregister +EXPORT_SYMBOL net/ceph/libceph 0x0464f84a ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x05112eee ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x0a2128c6 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x0c9c8baa ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x0cea65dd ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x12268a4a ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x1bc1922f ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x1cf18ef1 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x1d54e486 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x1f612b77 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x2053f383 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x221c8397 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2f7b5659 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x3168e497 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x3256afcc ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x34ef77b2 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x3564309d ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x35ea5aeb ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x38173975 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x3819b41d ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x396212d3 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x3a9f1ace osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3ce00100 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x3dd01a0d ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x3ef975e9 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x3f3f7025 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x4119535e osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x41f8f2da ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x42457793 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x42a4fdd0 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x48c59303 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x49dd2c98 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x4ad817ff ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x4cb1d008 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x4d6184db ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x51e8cdae ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x570d2bbb ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5a858348 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b3bf576 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x5c5b9fb5 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6ea5311d ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x6effe15d ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x7071a49f ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x76d4b687 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x772447e4 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x78a1b95b ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x7ef905b3 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x80573838 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x8788c8e9 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x8993d974 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x90694f6e __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x9338570f ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x95293c58 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9578bf74 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x996c3709 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x9b5ce801 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9bd8925b ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9e598cfc ceph_open_session +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 0xa56bd1e4 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa6abded1 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xa75e8b54 ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0xa96c679b osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xad144107 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xadb3ac05 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xaf8f12a8 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb326a8d6 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xb4ca35a6 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6eaed07 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb7e6cb61 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xb8cdff40 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xb8d4f4f9 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0xba108e07 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xba539af5 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xbb51e276 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd408217 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbeaa7900 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc075c009 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc55fbcad ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xc7b79a4e ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcccf04d9 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xcf92d76e ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xd05398bf ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xd3624310 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xd3a38838 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xd4de6734 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd6d9a441 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xd6e5a9b9 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe3342664 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0xe3768489 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xe3d2b92d ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xe562c273 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xe6131b5d ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xe6265197 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xeaa6432b ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xecb62210 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xece6a4fd ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xed87222d ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeeb17f8f osd_req_op_init +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 0xf2746119 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xf316624c ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf7f92cce ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xfb44b3c2 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0xfc3803f2 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0xfde3e2f8 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x4a52818f dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xd4737a98 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dsa/dsa_core 0x6d608c47 dsa_port_vid_del +EXPORT_SYMBOL net/dsa/dsa_core 0x742b614f dsa_port_vid_add +EXPORT_SYMBOL net/ieee802154/ieee802154 0x13595bbf wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3923e7a2 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x49560d61 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x86572c26 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbb9c2c95 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0xcb5aca40 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x1fc84510 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x28ddf5bc __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0xe7beadd5 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x34c063d3 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x653c7411 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7653bb14 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xc94dd430 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4d6b6db3 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xa9e0267e arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xdcd9fbc5 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x658b9ebd ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x740e0342 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa1a5de24 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xdc66ac51 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xef7ac29d ipt_do_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x2907576f xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x62f3274f xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x126c45f9 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x2003c2d4 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3f7da27c ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x5544ce06 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x744793cb ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x925f1ade ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc27701be ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd6bdcec4 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe2cba6a4 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe3a1b1ed ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1aa8d278 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1ba6a22c ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x71259316 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x744efa01 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xc5d5628c ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5534126e xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xdd99e12c xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9d4e7fcd xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xf5f57ea4 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/l2tp/l2tp_core 0x019ec3e4 l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_core 0x4908dcb7 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x126639cb l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x305084e7 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x30e69c9f lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x5940128e lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x63ec806e lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xb2e46e85 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xcaf2437b lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xd4713a3c lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xdd835d49 lapb_data_received +EXPORT_SYMBOL net/llc/llc 0x019c9d40 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x15cd585e llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x1666374f llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x9f1d0b9e llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xcc8b7f42 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xd7f70b44 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xdfbb04e2 llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x0432c60a ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0e8dd844 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x117f1212 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x120d1968 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x140c0399 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x154775d3 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x174c7b94 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x193f70d6 ieee80211_stop_tx_ba_cb_irqsafe +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 0x1b04b86d ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x1cce8ad7 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x20f7dd29 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x2118bc06 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x2195273f ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x269e2e01 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x27c29ed4 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x2dfe48c6 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x2e6bb9d8 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x2efcde90 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x2fed902f ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x33f6ce5c ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x3478ccb8 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x391dd063 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3947c59c ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x3f2bc6c5 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x42874e23 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x459f6329 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x4cdcb0c9 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x50f0a52e ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x58f27c93 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x5d9b76b2 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x5fba4b78 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x63cfb3f4 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x6618e99b ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x670bc039 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x67b320f5 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x6801803f ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x68b9faba ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x6ad61340 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x6d323715 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x70808a84 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x73740833 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x758a227a ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x78969b3b ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x7a32b8ff ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7a947a2a ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x7ee28463 __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x7f0aaade ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x838760cd ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x8645f3f3 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x86c39dbb ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x8af2032d ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x93039bf9 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x94ae3160 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x9688255d ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x99176e85 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9bb3a008 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x9db25787 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0xa0b4821e ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa39424a5 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xa456d15f ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xa5986154 ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xacab28b8 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xad93a44e ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xade49694 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xae141249 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xaf1743e2 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xb0d56393 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb2098b59 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb4e43b43 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xb5c46e3e ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xb5cc5745 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xb737011d wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xb7d454eb ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xb8455c7f __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb8fa5035 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xbcda2c95 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xbf2cba29 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xc79edb43 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xcbd5d831 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xcdb54f73 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xce78e9d0 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xcf9da13b ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xd34b97d3 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xe0fe15a6 ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac80211/mac80211 0xe1b02938 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe70f5299 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xe907af59 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xeb61cf51 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xec7cc638 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xf08b9106 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf3491dc3 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xf4c6a4ce ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0xf8cb4d5c ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0xfe51fe81 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac802154/mac802154 0x10207334 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x5aba32f7 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x7feb4f66 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x8016b8b1 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x935b533a ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xb7a0b83e ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xc1199af9 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xfbaa31fd ieee802154_alloc_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x01592f71 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x03b9b66b ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x06ff7786 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0f44707f ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x138b1dcd register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4cd0f4be register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5208d4a4 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6a86951a unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8308056e ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x847a995d ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8a2f8890 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa1b1a94c ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc65f9c91 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe9aaf7f0 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf168bffd ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xb2cbc0e9 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x5ad6993d __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x888b4ba4 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x8a9293ea nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xd60b1f3a nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xe6790cb7 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 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 0x5d0e6c2b xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x71b45bfa xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8f1f3a0b xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa303b645 xt_register_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 0xe0f4a0c0 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xe14fdcc0 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xf384dd0e xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xf3856672 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xfb40da66 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x07aa204c nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x14c731a7 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x47f7903b nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x54b4750b nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x554d84a6 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x58b0d4cd nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x6a5caa4a nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x75671aaa nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x76a8f0f9 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x77dbafbb nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x7841fb61 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x798378d1 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x965dda41 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x9cd869bd nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0xab520d2f nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xb03ca6f0 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbf8e8301 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xeb41401d nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xebf2feaf nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xeca46f8d nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xfac650fa nfc_llc_stop +EXPORT_SYMBOL net/nfc/nci/nci 0x00ad90f7 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x03030df8 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x121bb287 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x1739fa03 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x25a64144 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x29ee9896 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x2fb2b583 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x3421485e nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x3a814831 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x3f134b5b nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x416dd0d9 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x4a4253fb nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x4d8e4ad6 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x5cdc856a nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x5d0d1b79 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x7d14c1e7 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x8bb6f7a6 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x8d6d23eb nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x8e7f2677 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa1ba7ed0 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xa2cc3d7d nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xa6c8a5ed nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0xaca57db8 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xad692e3f nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xdcbb414a nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xde28a6c9 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xe876bfa0 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xedb71091 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xf94d918e nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nfc 0x0af3277d nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x1d0de930 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x1e4c1997 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x204c3c7a nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x2166cf0b nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x21d23633 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x2377b34c nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x270095dd nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x28020782 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x317f7457 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x36103960 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x4173ef55 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x5309f30c nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x53d25893 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x53fed56f nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x56a18431 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x7ff65464 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x85b04367 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x874f6030 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x92ccb5e8 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x9f3b2138 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xadfc6ef6 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xc68dbe6e nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xcd008c00 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xed3ea2c4 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc_digital 0x175268f5 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x4d12b878 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xa3dcdbf9 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd0c580a6 nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x1a62a026 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x46a375c4 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x61479f2a pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x90420708 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xb064929a phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xc96e0e50 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xca598e4e phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xd9ae79eb pn_sock_hash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x078b1756 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x17d97a4e rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x24dcf3d3 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x364f4442 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3fc5e699 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4e9d1821 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x50936140 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x521d97b3 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x57aa7ec9 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9d0469f8 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc5ce1233 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc6c7401c rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd2a038f9 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xde163d5f rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe381337d rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe974c985 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xeb7f208b rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf5569d77 rxrpc_get_server_data_key +EXPORT_SYMBOL net/sctp/sctp 0xd6f5deae sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x06ff8491 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x48f8a575 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf7010c47 gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x95f1780f svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x9b23ae61 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xf6bd1e19 xdr_truncate_encode +EXPORT_SYMBOL net/tipc/tipc 0x16a68644 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x324c305a tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xd9216a39 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xf9042ff1 tipc_nl_sk_walk +EXPORT_SYMBOL net/tls/tls 0x291d37df tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x1c47e29a wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xfb4e87d0 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x005855cd cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x0415e097 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x095b2c77 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x09842772 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x09cbb8a6 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x0cb2df24 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x0e0737ca cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x0e7ea396 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x1047e2a1 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x106921ea cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x15d44703 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x17f25e2d cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1c8f4fcd wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1cf04e20 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x1d5d9d1d cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x25527fb1 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x2b390326 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2c8f78b6 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x2dd5c8bf __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2f569cd0 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x306e4191 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x3b532e0e cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3deefa36 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x42fcbf1d cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x4480ea91 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x4681ab8a ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x49ec83b9 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x4ab0619f cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4be16be7 cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x4cf89cff regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x4d062a47 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4d22c99c cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x4d5d8073 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x4e23f97f cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x55ee4053 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x57fd66f2 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x5bf8a7c8 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x5cc3c50b cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x5f1d9c3f cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x60c72383 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x60eb0313 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x61a593a3 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x6429c486 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x67c48950 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x69057ad0 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6ccb3775 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x6e264659 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x71ce0555 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x76cbefc9 cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7735aeac cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f291338 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x8928de25 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x8dc1af8f wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x917427b9 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x92c1d7f4 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x9358bb71 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x937aab07 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x97b881d4 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x98b533bd wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x993ce4d6 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x9cee533c cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa150f590 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xa2a2270d cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa8aa4117 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xac4b6421 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xaf6b0625 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xc14e60fc cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcefe6623 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xcfb12ae1 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xd1bb5119 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd47ed591 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd616b79c cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xd6516019 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xd8844429 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xdb0a1eb8 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xdb35bf0d regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xe1543073 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xe306096f cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe3461501 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xec797025 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xecd1a38f wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xf1d5f9e5 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf1e2f64e cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xf3b7f269 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xf4ed9eef cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0xf508c8fd cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf67eed3b cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf72d5db2 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xf7ea6c11 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf879222d wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfca73525 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0xfd1c1514 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xfe28a481 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/lib80211 0x123573e5 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x3eb7b53d lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x521b604e lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xa2079015 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xd15e43a0 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf0e85f64 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x3240aa91 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x09fb2d37 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x0bd80a62 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1415c23b snd_seq_kernel_client_enqueue +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 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 0xe8a8bdf1 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf7808725 snd_seq_create_kernel_client +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 0x16bc6a45 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x42d821dc snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x98ff8f52 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xa44834c7 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xa53c5655 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb26584ef snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe3d90c8b snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x12d2f4e2 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x01df4e5f snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x09b0ea03 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x0d5cb806 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x16f270d1 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1d3399e4 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x1fe39d57 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x2382045c snd_device_free +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x25fa65c9 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x280ace06 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x3366fe74 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x37e3323d snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x392ffae8 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x4544f163 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x457f77c0 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x49e728e4 snd_register_device +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4ce910ea snd_device_new +EXPORT_SYMBOL sound/core/snd 0x599b4613 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x5e690e57 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x651ba9bf snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x674d6936 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x6a367e3a snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x77c782c2 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x7bb38847 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x7c11de76 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x856a2c18 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x88908ef3 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x98344f6f snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x98de4675 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa30a33c0 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xb1bc2a51 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xc1c543d9 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc698b0ae snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xc69f4af0 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xc9d29ee8 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xceb02e6b snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xdb1b8ecd snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xe25e11ce snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xe5d7844a snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xeb499816 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xebd64648 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xec9ebf46 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0xee1ff5cb snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xf58800fc snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xfb00ed19 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x4af4f976 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 0x0ba16dc3 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x0c9b009d snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x17245b67 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x22787f6f snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x233249d1 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x24df1cdc snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x2c5639f4 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x330cf1e9 snd_pcm_create_iec958_consumer +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 0x4243d159 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x47ec533c snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4b759479 snd_pcm_lib_preallocate_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 0x59ab8228 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x5bb1d239 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x5e5dc737 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x616af034 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x63e82212 snd_pcm_mmap_data +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 0x69d93fb4 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7e149875 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x83122909 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x8dc5f570 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x9316a3bd snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9cfeacb8 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x9f48edc9 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xa36982d3 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xa447d3fe snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa8ce2087 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xa8da4d95 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb008adcb snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb5177f92 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbdfb6587 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xc129e404 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc2578d9e snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xce1f602b snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xd5808f4f snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd99f5bb4 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xe2ff77a6 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe6f57986 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe80167eb snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xf0a8d32f snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf0e48ffa snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xf626d428 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xfafd838e snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0aa0adbe snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0f0d0d07 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x468becab snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4c443e7f snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x66919d05 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6812aca0 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6814aac8 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6ff3db50 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8f4b0487 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8f821449 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9e26b7cf snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa2755f8a snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa2ec7659 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xae237c1b snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xae88fb64 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc7c5a39d snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdce69c04 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf2518323 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf9f7df4d snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xffc36a16 snd_rawmidi_kernel_release +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 0xef149bdf snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x1255657f snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x39d4e656 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x3c5f501a snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x41ebcb3c snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x4c8877ae snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x4f4f081f snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x531b994f snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x56f53c40 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x5a44532d snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x81c8931d snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x8fa9a25a snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x9408551e snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xa3a181ff snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xc11a7585 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xda22bfc6 snd_timer_instance_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x5f43dd7c 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 0x11b09667 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x26c3040b snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x68f9d501 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x76d63c33 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x969f25f4 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa2556996 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc38c8802 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf13d1d0b snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf4c4d9d6 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x42900a9e snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x55516999 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5b98417c snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x67e77e7e snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x69d56018 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xaae12562 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdc05c41b snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0af6ba73 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2394a7a4 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x28f9a22e amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2fcace10 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x33509fe4 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3f0db4af cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x449dcbd6 snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4830f14d fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4e86f647 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4ffc889e iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5d9f774b avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5f39ae6c iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5f90bc08 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x676088f1 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x709a00aa avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x80c66c0c amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8b6fd32a amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x938dab8b amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa77d3b55 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbc057167 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbc0b3cc6 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbfd3d364 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcd941a7e cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xde56fb18 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe7cc0207 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xea5472a0 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xeb47a1be amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed1d54ea snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf4801da1 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfc687844 avc_general_get_plug_info +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x097546fc snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3a9c86b3 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x78d48b69 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xab19a7a1 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe8d5ea72 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xfc5affb3 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x38403cb8 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4e79bd23 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xdd21d1a3 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xde741495 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x3a255c03 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x943c1de8 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-i2c 0x06ebcc1e snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0c3d694d snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x576bd7b0 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6cf82f15 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x70780e0d snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf25f9825 snd_i2c_bus_create +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1312cff2 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2ba17675 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e016261 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x61099ec3 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8c0541cf snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8f4ba82a snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9b03e9aa snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xaf980fb5 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb0e19fba snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb18b9487 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb31cfc2e snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc98617d9 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe228d2cb snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xeb90080a snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf02900b8 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x129de355 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x4df2a378 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x8a31504c snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0504d650 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x13dd53bd oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x179bea5a oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x292890d4 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2e385981 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x445ccfa4 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x461ebb2d oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4e5b34e0 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6025fd31 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c0e2cfb oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x75518fe1 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x79a55d00 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8b854f76 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xad9375af oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbee90e2e oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc070f76b oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd1ef4e3a oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdaaca968 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe145a3b0 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf7591f35 oxygen_read_ac97 +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x0204e7fd pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x3c45fdb0 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x16175424 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x5a77529d tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x836a75b5 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xbfa5a041 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xdf331b16 aic32x4_remove +EXPORT_SYMBOL sound/soc/snd-soc-core 0xf761119d snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0057ab6d snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x09969422 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0dc48a4b sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1529c9a9 snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x19ee8e92 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1b93ffe8 snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1bb59261 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1caae135 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1fc67c49 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x217e707b snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24c905f6 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x303f1a2a snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x340e0460 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x37a723d7 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x37c5becc snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x39099100 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3a1ea14a snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3ad8842a sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x467f12b9 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x471b9146 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4bd9cc7d snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4e4d8021 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x501695a7 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x50fb61ce snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x54bb1ac7 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x57e08ce8 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x659f0f6e snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6739cd81 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x77899b6d snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7c89a065 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x815f5cd3 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x846d2ae1 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x84be9849 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8655fc47 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x89595015 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x89599ce1 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8f7687b8 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x91797c71 sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9265fb5d snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9a4b7a6d snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa6b8996c snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa92bab49 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaee9d074 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb08064c8 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb4c9e538 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb8743ba3 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc81a7a9b sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc96fede8 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcbd1a84d sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd9a01682 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdba5f9f4 snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe9b29ca6 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xffaa5b6b sof_fw_ready +EXPORT_SYMBOL sound/soundcore 0x18d31099 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x591aea86 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6f3878be register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x831ae3c2 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc2c9dbf8 sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +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 0xd31968d2 __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x0006715a alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x00068569 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x0012bf42 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x001426f6 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x00220fcb pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x002da89e sock_create_lite +EXPORT_SYMBOL vmlinux 0x002efa51 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x00406078 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x0049d322 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x00694978 kernel_listen +EXPORT_SYMBOL vmlinux 0x006cbb59 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x0079717c of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x00798263 open_exec +EXPORT_SYMBOL vmlinux 0x008a6cf5 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x00b2180f generic_perform_write +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00b9c3ed dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x00c01eb8 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x00c35335 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x00cb822f sk_dst_check +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0114d53d get_tree_keyed +EXPORT_SYMBOL vmlinux 0x0123600b xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x0136b5c2 ___ratelimit +EXPORT_SYMBOL vmlinux 0x0138aa73 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x013fb893 pci_iomap +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x01790e94 csum_partial_copy +EXPORT_SYMBOL vmlinux 0x017a0bea bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x0181e066 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x0194dfb4 is_nd_btt +EXPORT_SYMBOL vmlinux 0x01b91de4 sbi_remote_hfence_vvma +EXPORT_SYMBOL vmlinux 0x01bc6f03 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01d50c98 inet6_offloads +EXPORT_SYMBOL vmlinux 0x01db5a97 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x01e769d6 __next_node_in +EXPORT_SYMBOL vmlinux 0x01ee3b91 mount_single +EXPORT_SYMBOL vmlinux 0x01f43432 pci_get_slot +EXPORT_SYMBOL vmlinux 0x02040c5b tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0x0204436b skb_put +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x021b3655 pci_restore_state +EXPORT_SYMBOL vmlinux 0x0225766e serio_rescan +EXPORT_SYMBOL vmlinux 0x0226d26e to_ndd +EXPORT_SYMBOL vmlinux 0x022ef5a7 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x02314598 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x0242e1ad device_add_disk +EXPORT_SYMBOL vmlinux 0x02524486 padata_stop +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x026245e1 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x02662cf5 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027c9bb0 swake_up_locked +EXPORT_SYMBOL vmlinux 0x02812efa fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x028fb876 tty_devnum +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02d2bda8 migrate_page +EXPORT_SYMBOL vmlinux 0x02d2bfcf gro_cells_init +EXPORT_SYMBOL vmlinux 0x02d61724 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02f4f9c2 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x032ac3e5 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x032d2e13 mmc_add_host +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033b86c2 PDE_DATA +EXPORT_SYMBOL vmlinux 0x035ad26f devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03663b01 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x0371db54 idr_for_each +EXPORT_SYMBOL vmlinux 0x0374800a ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037a91d0 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039a42c9 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x039f0ca0 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x03a96768 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x03bca371 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x03ca1e9d blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040b3316 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x042b8f04 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x04416162 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x0441a710 of_node_get +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04580680 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x0476f6f5 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x048a2932 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x04a6e6a8 file_modified +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04c64ffe user_path_at_empty +EXPORT_SYMBOL vmlinux 0x04c8358a netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0x04dcee66 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x04e787fd kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x0509fc3c tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x05119cac jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0545dedc config_item_set_name +EXPORT_SYMBOL vmlinux 0x054c6f5f release_pages +EXPORT_SYMBOL vmlinux 0x05539235 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x0563d012 simple_write_end +EXPORT_SYMBOL vmlinux 0x05744e90 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x059fe866 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x05a30b2f mutex_is_locked +EXPORT_SYMBOL vmlinux 0x06125813 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061792ff blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x061a1f01 tty_unlock +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0641a79e pci_reenable_device +EXPORT_SYMBOL vmlinux 0x0646335b ptp_clock_event +EXPORT_SYMBOL vmlinux 0x06510f8e xfrm_lookup +EXPORT_SYMBOL vmlinux 0x065139dd i2c_del_driver +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x065b5274 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x06906485 input_set_capability +EXPORT_SYMBOL vmlinux 0x069e1867 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x06ab809a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x06b31922 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x06c21fb5 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x06c4f02c bdi_register +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06ea4ead netdev_notice +EXPORT_SYMBOL vmlinux 0x06efef60 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x070254b1 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x071ce99b pci_map_rom +EXPORT_SYMBOL vmlinux 0x0727caa8 __netif_schedule +EXPORT_SYMBOL vmlinux 0x0729c22f key_payload_reserve +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0731b0d0 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x073819c0 get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x073dbe73 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x0742c9fc dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x075667f7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x075c3e18 mdio_device_register +EXPORT_SYMBOL vmlinux 0x076fdc2c file_path +EXPORT_SYMBOL vmlinux 0x0778d077 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x0784cc17 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07fa445d trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x0812d3da find_inode_rcu +EXPORT_SYMBOL vmlinux 0x08193b4c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x08226d7c devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x085cdd53 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x085f1442 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x08655976 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x08690bbf __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x0880be2b device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08839847 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x08bb8619 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x08f8225e jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x08f9a29d bio_reset +EXPORT_SYMBOL vmlinux 0x090af359 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x095fdbc1 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x09622e86 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x09744394 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097d4224 param_get_ullong +EXPORT_SYMBOL vmlinux 0x09853555 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x098613a4 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0990db44 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x09a34a2b crc_itu_t +EXPORT_SYMBOL vmlinux 0x09b5dfe0 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d00d37 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ed2b77 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x09f906dd pci_get_subsys +EXPORT_SYMBOL vmlinux 0x0a06a616 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x0a2126f3 vfs_statfs +EXPORT_SYMBOL vmlinux 0x0a269ef0 rtc_add_group +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a2f0650 kthread_bind +EXPORT_SYMBOL vmlinux 0x0a419267 lease_modify +EXPORT_SYMBOL vmlinux 0x0a4bb8ac ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x0a530979 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x0a60e894 phy_start +EXPORT_SYMBOL vmlinux 0x0a641088 make_bad_inode +EXPORT_SYMBOL vmlinux 0x0a888732 va_pa_offset +EXPORT_SYMBOL vmlinux 0x0a94acc0 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ab6740c blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x0ac63d49 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae16d19 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x0ae879ff tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x0af7941a secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x0b165851 tcf_register_action +EXPORT_SYMBOL vmlinux 0x0b1bca90 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b20d729 napi_complete_done +EXPORT_SYMBOL vmlinux 0x0b2573b4 serio_close +EXPORT_SYMBOL vmlinux 0x0b28fb3f xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x0b2c3e3c put_watch_queue +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b678748 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x0b6f9434 locks_init_lock +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0ba2983b __check_sticky +EXPORT_SYMBOL vmlinux 0x0bbc8699 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x0bc0821f simple_unlink +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bcfc2ef blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x0bd6914d ata_link_printk +EXPORT_SYMBOL vmlinux 0x0bd7aa6a of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x0be12cf2 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x0becf161 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x0bf15fb8 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c1a7424 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x0c225219 elv_rb_add +EXPORT_SYMBOL vmlinux 0x0c23c4b0 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x0c24f38c vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c271021 gen_pool_create +EXPORT_SYMBOL vmlinux 0x0c272a1e serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x0c43cac7 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x0c5ec100 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x0c6549f2 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c9331ba _dev_emerg +EXPORT_SYMBOL vmlinux 0x0c950460 param_get_invbool +EXPORT_SYMBOL vmlinux 0x0c9b374a radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x0cb1a427 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cb52d15 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cc505c9 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x0cc90efa mmc_retune_release +EXPORT_SYMBOL vmlinux 0x0cca2bcc vfs_rename +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0f8520 elv_rb_del +EXPORT_SYMBOL vmlinux 0x0d16b980 redraw_screen +EXPORT_SYMBOL vmlinux 0x0d217919 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x0d2fef2b udp6_csum_init +EXPORT_SYMBOL vmlinux 0x0d311ae4 tcp_mmap +EXPORT_SYMBOL vmlinux 0x0d3d9295 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d695600 fb_get_mode +EXPORT_SYMBOL vmlinux 0x0d6a7a93 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x0d6fab35 unregister_nls +EXPORT_SYMBOL vmlinux 0x0d74a1d5 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x0d944636 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0d9953ac tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x0dcf2929 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x0dd07ace __page_symlink +EXPORT_SYMBOL vmlinux 0x0dd463b4 seq_path +EXPORT_SYMBOL vmlinux 0x0dde5330 import_single_range +EXPORT_SYMBOL vmlinux 0x0de0f5e5 page_mapping +EXPORT_SYMBOL vmlinux 0x0de1eb99 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0e1085be serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e209377 twl6040_power +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e378bec of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e466916 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x0e675d35 netdev_state_change +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e9fb5e3 netif_napi_del +EXPORT_SYMBOL vmlinux 0x0ea52054 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x0eb82460 md_integrity_register +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ef1941d sock_wake_async +EXPORT_SYMBOL vmlinux 0x0f040076 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x0f08478c finalize_exec +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f463423 to_nd_btt +EXPORT_SYMBOL vmlinux 0x0f56f188 inet_add_offload +EXPORT_SYMBOL vmlinux 0x0f5d42de blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x0f849b71 vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f9311aa stream_open +EXPORT_SYMBOL vmlinux 0x0f9b91ae pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x0fa47992 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fb6d803 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x0fbc88b1 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fdfffda tty_port_close_end +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x101d2468 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x1022b712 __napi_schedule +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103aa66b thaw_bdev +EXPORT_SYMBOL vmlinux 0x10462da5 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x104cf80f dma_resv_fini +EXPORT_SYMBOL vmlinux 0x1055ab7f wait_for_completion +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x1057b209 of_get_address +EXPORT_SYMBOL vmlinux 0x105ee481 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x1075b89f mfd_add_devices +EXPORT_SYMBOL vmlinux 0x10783efe __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x107eb409 vme_lm_request +EXPORT_SYMBOL vmlinux 0x108996ee inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x10900f26 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x109e0d46 ps2_command +EXPORT_SYMBOL vmlinux 0x10b29dd5 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c6a13b down_trylock +EXPORT_SYMBOL vmlinux 0x10cbcfa4 vme_slave_request +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10ee12d2 dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0x10f8772b __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x10ff4a00 sock_no_listen +EXPORT_SYMBOL vmlinux 0x1100dfa9 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x1108d668 noop_fsync +EXPORT_SYMBOL vmlinux 0x110c2e42 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x11139131 nf_log_set +EXPORT_SYMBOL vmlinux 0x1113ad22 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x111b37c7 bio_add_page +EXPORT_SYMBOL vmlinux 0x113949fd put_disk_and_module +EXPORT_SYMBOL vmlinux 0x113967d1 dev_mc_add +EXPORT_SYMBOL vmlinux 0x1147b5dc mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x1161c3dc discard_new_inode +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x116b6698 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11828acd pagecache_write_end +EXPORT_SYMBOL vmlinux 0x1183fe46 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x11953d7c skb_unlink +EXPORT_SYMBOL vmlinux 0x119ab3c6 skb_find_text +EXPORT_SYMBOL vmlinux 0x11a7b1c7 tcp_prot +EXPORT_SYMBOL vmlinux 0x11c33b95 serio_bus +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f6fb23 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120f58b0 napi_get_frags +EXPORT_SYMBOL vmlinux 0x1224142b uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x122b1796 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x12427cbb _dev_err +EXPORT_SYMBOL vmlinux 0x1243c583 setattr_copy +EXPORT_SYMBOL vmlinux 0x1271bbc0 __do_once_done +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x127a76ea mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x12845b0c sync_filesystem +EXPORT_SYMBOL vmlinux 0x1297cd34 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12adeec0 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x12bf53c0 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x12c716d4 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12e6c59b generic_write_end +EXPORT_SYMBOL vmlinux 0x12ee363c tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x12f16538 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x1303dca7 nvm_unregister +EXPORT_SYMBOL vmlinux 0x1305cd45 add_to_pipe +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x1316a1cd __bread_gfp +EXPORT_SYMBOL vmlinux 0x131f6402 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x1327f2c0 skb_dump +EXPORT_SYMBOL vmlinux 0x132a6df6 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x134b7808 vfs_getattr +EXPORT_SYMBOL vmlinux 0x134c354e cad_pid +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x135cece4 __break_lease +EXPORT_SYMBOL vmlinux 0x13602151 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x13817285 sg_free_table +EXPORT_SYMBOL vmlinux 0x138e8d42 dev_addr_init +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13c8e38a passthru_features_check +EXPORT_SYMBOL vmlinux 0x13c9b8ca add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x13cc8fe0 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13ee9539 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x140dd5e4 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x14194db4 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x141f578b sock_no_accept +EXPORT_SYMBOL vmlinux 0x143095cb pci_request_region +EXPORT_SYMBOL vmlinux 0x143374ba scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x1435a18b blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x14515f78 proc_symlink +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146159a7 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x148fc01c tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x14a8937c __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x14d60159 xa_find +EXPORT_SYMBOL vmlinux 0x14dd7b1f dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x14e3ae1e qdisc_put +EXPORT_SYMBOL vmlinux 0x14eb32ed tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x14f815d0 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x1501c111 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x1501db9b complete_request_key +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x15247360 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x152a6232 lockref_put_return +EXPORT_SYMBOL vmlinux 0x1531ab38 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x153e42dd phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x154ac745 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1554d21c jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x1568fa09 dst_alloc +EXPORT_SYMBOL vmlinux 0x1584c817 clear_inode +EXPORT_SYMBOL vmlinux 0x158cdff4 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x15913801 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x15a9a572 devfreq_add_device +EXPORT_SYMBOL vmlinux 0x15b47ae0 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x15b48172 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x15b92565 filp_close +EXPORT_SYMBOL vmlinux 0x15ba69f8 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x15bab38a param_ops_bool +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c1ab44 phy_device_free +EXPORT_SYMBOL vmlinux 0x15d6430c dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x15e248ea max8925_reg_write +EXPORT_SYMBOL vmlinux 0x15e72d6a tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x15f4ab90 devm_release_resource +EXPORT_SYMBOL vmlinux 0x1615dd33 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x16199fe2 give_up_console +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x1655fc73 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x16624d6e __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x16672191 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x1674ce38 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x1684cb67 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x16862ce3 path_is_under +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16c4a432 pci_match_id +EXPORT_SYMBOL vmlinux 0x16c79660 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x16cee2a7 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x16d0341c __sg_free_table +EXPORT_SYMBOL vmlinux 0x16d6f0fc md_register_thread +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e88145 override_creds +EXPORT_SYMBOL vmlinux 0x16e8c65a phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x1708626e touch_atime +EXPORT_SYMBOL vmlinux 0x172ca67c __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x172cca05 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x179022c8 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x17923df6 free_task +EXPORT_SYMBOL vmlinux 0x1796073c dma_fence_free +EXPORT_SYMBOL vmlinux 0x17a0c367 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x17c48d29 padata_free_shell +EXPORT_SYMBOL vmlinux 0x17e4524b __free_pages +EXPORT_SYMBOL vmlinux 0x17fb488b blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x181039ce pci_set_power_state +EXPORT_SYMBOL vmlinux 0x1824663c unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x182a4c96 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x182e253a scsi_print_command +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183acbcc tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x1856d75e __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x185f9148 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x1862325f fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x18633c49 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x187b86a0 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1899df43 clk_add_alias +EXPORT_SYMBOL vmlinux 0x18a6fef9 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x18d44fcf xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x1915a247 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x192d8bd1 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x193fdc91 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x19441bdf phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x195081c5 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x1957d2c4 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x195bba9c inet_ioctl +EXPORT_SYMBOL vmlinux 0x196e11dd dev_uc_init +EXPORT_SYMBOL vmlinux 0x197a80a9 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x198af648 security_sb_remount +EXPORT_SYMBOL vmlinux 0x199185ca pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x19925406 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x19980f3b __find_get_block +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c9c3b8 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x19ca4b76 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x19d8b85a skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x19e804bd path_nosuid +EXPORT_SYMBOL vmlinux 0x19f581a3 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a20f583 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x1a8b3f57 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x1a8edf8c __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9b678e _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1ac32291 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1acacbc4 md_update_sb +EXPORT_SYMBOL vmlinux 0x1adb3f5d key_invalidate +EXPORT_SYMBOL vmlinux 0x1aee838b iterate_supers_type +EXPORT_SYMBOL vmlinux 0x1b014504 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0d726b of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x1b2e7e46 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x1b35fec9 poll_freewait +EXPORT_SYMBOL vmlinux 0x1b47fe46 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x1b50bb3b splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x1b552bee dev_change_carrier +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8f49c9 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x1bc25886 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bf9dd83 udp_table +EXPORT_SYMBOL vmlinux 0x1c10bbf5 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x1c16646f __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x1c2ed62d kill_anon_super +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c4251dd ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x1c45508d __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x1c4c9499 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x1c6c1615 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x1c781c2d get_task_cred +EXPORT_SYMBOL vmlinux 0x1c7a6e5b __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x1c7acde2 dcache_readdir +EXPORT_SYMBOL vmlinux 0x1c8aa261 param_get_string +EXPORT_SYMBOL vmlinux 0x1c9a0a6f ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cb2ce0b audit_log_object_context +EXPORT_SYMBOL vmlinux 0x1cdfa063 set_bh_page +EXPORT_SYMBOL vmlinux 0x1ce11815 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d0ac33b dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x1d105972 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x1d2536a8 elv_rb_find +EXPORT_SYMBOL vmlinux 0x1d295d7c register_netdev +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d2e1aa8 skb_copy_header +EXPORT_SYMBOL vmlinux 0x1d43d6dd dev_mc_init +EXPORT_SYMBOL vmlinux 0x1d45a440 from_kuid +EXPORT_SYMBOL vmlinux 0x1d47e768 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x1d5967dc netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x1d5f3c88 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d69e08d phy_device_register +EXPORT_SYMBOL vmlinux 0x1d6f1d66 register_filesystem +EXPORT_SYMBOL vmlinux 0x1d7584d3 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x1d7e9e1c km_state_expired +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dcf65c7 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x1dd0962f jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd721a5 dev_deactivate +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de174e6 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0ff28d genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x1e17d875 simple_write_begin +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e29f133 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x1e3fe2f7 nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0x1e4173ca phy_attached_print +EXPORT_SYMBOL vmlinux 0x1e418021 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x1e42a49a mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x1e4492a9 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x1e52aa61 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x1e5d4e17 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e72bc5c phy_attached_info +EXPORT_SYMBOL vmlinux 0x1e774ef5 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x1e84adf2 dquot_drop +EXPORT_SYMBOL vmlinux 0x1e9bad7b blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea06663 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x1eac9364 __seq_open_private +EXPORT_SYMBOL vmlinux 0x1ead2061 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x1ebeada8 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x1ed331d5 d_genocide +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ee56a84 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x1ef3806c __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f1ff3f9 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x1f27796e jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x1f2e17f2 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x1f37ccc2 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x1f40f773 md_flush_request +EXPORT_SYMBOL vmlinux 0x1f77a20e key_validate +EXPORT_SYMBOL vmlinux 0x1f84df46 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x1f9b8e8d phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x1fabdf4a pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x1fb86912 dump_truncate +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcf4d4b _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fed11bb skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200036a3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x2008315c tcf_action_exec +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x201e944f devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204c8843 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x20557a4c vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x2059d36a pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x205db666 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x2068abee netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x206d23f5 proc_create_data +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208393ea jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x208d20de pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b7f4b7 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x20bf3370 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20e68460 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f3cdf7 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x2113e8a9 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x21162127 kill_block_super +EXPORT_SYMBOL vmlinux 0x21185d60 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x211bf548 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x2120276c cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x212133db xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0x212b7e7f dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0x213a4d3d mempool_free +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x2140d1e2 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x2173fcb4 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x219e734a __fs_parse +EXPORT_SYMBOL vmlinux 0x21a41365 con_is_bound +EXPORT_SYMBOL vmlinux 0x21b035c3 mpage_writepage +EXPORT_SYMBOL vmlinux 0x21b567c1 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ed8bcf register_gifconf +EXPORT_SYMBOL vmlinux 0x21fa31a1 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2233255a tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x224bd2e7 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x2250cf12 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2276dc38 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x22850f32 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22f050df __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x231c52e3 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x2326e5ce __destroy_inode +EXPORT_SYMBOL vmlinux 0x232ba6cc simple_dir_operations +EXPORT_SYMBOL vmlinux 0x233ea82e icmp6_send +EXPORT_SYMBOL vmlinux 0x23409b51 of_dev_get +EXPORT_SYMBOL vmlinux 0x2357874d tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c2a0bf register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23c3d96e get_thermal_instance +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e39645 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f9a0e0 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x23f9c5ce xps_needed +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x240434eb mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x243c72c1 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x24401d38 mempool_alloc +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246bffe5 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x246cc355 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x2484fa16 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0x249616ae fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x24b4e307 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x24b9b6c2 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x24bc3790 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x24bfe4ab mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d57574 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x25057b9d __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x250f6c30 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x2537f695 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x254ec924 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x25509869 __quota_error +EXPORT_SYMBOL vmlinux 0x25525d8b wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x255b3a58 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25875768 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25ae7c15 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x25bf7255 __neigh_create +EXPORT_SYMBOL vmlinux 0x25da4e8b fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x25dec429 iptun_encaps +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x2639603d __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x264ee627 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x26583ea5 skb_pull +EXPORT_SYMBOL vmlinux 0x266dca06 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x2695c66e pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x26981180 make_kuid +EXPORT_SYMBOL vmlinux 0x26a050d9 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x26addc02 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x26b973bf xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x26c646ae bdevname +EXPORT_SYMBOL vmlinux 0x26dd8ec5 current_time +EXPORT_SYMBOL vmlinux 0x26e27ebb config_group_init +EXPORT_SYMBOL vmlinux 0x26f9cd61 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x2702d82a dst_init +EXPORT_SYMBOL vmlinux 0x271636eb mem_map +EXPORT_SYMBOL vmlinux 0x2721ffab xa_extract +EXPORT_SYMBOL vmlinux 0x27226fe1 nd_device_register +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x274256f2 skb_copy +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x2763f4bf phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278efc5f forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x27a71374 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x27b02024 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x27b7c305 get_watch_queue +EXPORT_SYMBOL vmlinux 0x27bad328 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d1dc69 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x27da122d of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x27df0345 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x27e12ee7 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x27e60aa2 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x27fb6f88 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x28019d45 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x28135c60 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x28393ce5 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x283c026d noop_qdisc +EXPORT_SYMBOL vmlinux 0x284aa6eb page_symlink +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x28a3764a kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x28b1f6af security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x28b5d1f8 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x28bd02fe remove_wait_queue +EXPORT_SYMBOL vmlinux 0x28bf89a6 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x28c28d55 ping_prot +EXPORT_SYMBOL vmlinux 0x28e3ce38 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x28f22a25 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x290b539b inode_nohighmem +EXPORT_SYMBOL vmlinux 0x290dd6cc generic_writepages +EXPORT_SYMBOL vmlinux 0x29120638 dup_iter +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2926e9e2 ida_destroy +EXPORT_SYMBOL vmlinux 0x292857ba down +EXPORT_SYMBOL vmlinux 0x292e21d1 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x294da451 sock_pfree +EXPORT_SYMBOL vmlinux 0x296d80aa phy_modify_paged +EXPORT_SYMBOL vmlinux 0x2980ae4e buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x2984a8e1 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x29989aa0 xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x299e506f pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x29a98271 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x29ddcad8 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29f1eb48 write_inode_now +EXPORT_SYMBOL vmlinux 0x2a158063 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a558edb fget +EXPORT_SYMBOL vmlinux 0x2a74dcb6 drop_nlink +EXPORT_SYMBOL vmlinux 0x2a97ce2d security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa1ad41 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x2aabdaa4 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x2ab6192b tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x2ac6d099 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x2acf61bf brioctl_set +EXPORT_SYMBOL vmlinux 0x2ad75f67 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x2adacde5 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x2ae0b264 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x2ae72de5 __devm_request_region +EXPORT_SYMBOL vmlinux 0x2aecd892 dm_get_device +EXPORT_SYMBOL vmlinux 0x2af955a7 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x2b1a20bd fget_raw +EXPORT_SYMBOL vmlinux 0x2b1aaddf xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x2b2c78ae tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x2b310238 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x2b3558a4 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x2b3606b9 mmc_free_host +EXPORT_SYMBOL vmlinux 0x2b3e364c of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x2b4b7904 nvm_submit_io +EXPORT_SYMBOL vmlinux 0x2b4f16b7 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x2b5b06a4 wake_up_process +EXPORT_SYMBOL vmlinux 0x2b5fc735 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b694764 genphy_update_link +EXPORT_SYMBOL vmlinux 0x2b7515b9 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x2b7a6135 dquot_resume +EXPORT_SYMBOL vmlinux 0x2b7da362 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x2b7e122a textsearch_prepare +EXPORT_SYMBOL vmlinux 0x2b892cdd complete_all +EXPORT_SYMBOL vmlinux 0x2b906bf2 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bbcbda1 param_set_byte +EXPORT_SYMBOL vmlinux 0x2bc90cd9 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x2bd00a01 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x2bdd808a blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x2be0ef4d setattr_prepare +EXPORT_SYMBOL vmlinux 0x2be0f12d dql_completed +EXPORT_SYMBOL vmlinux 0x2bea75ee inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x2bf4f86f sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x2c06fc2f flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x2c16f3d3 bd_start_claiming +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c280bd5 security_path_mknod +EXPORT_SYMBOL vmlinux 0x2c2ba437 nf_log_register +EXPORT_SYMBOL vmlinux 0x2c4331ff xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x2c49ec10 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2c4f80ac scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x2c6e6597 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x2c853ecf unregister_netdev +EXPORT_SYMBOL vmlinux 0x2c9cbc28 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x2cb29335 inet_accept +EXPORT_SYMBOL vmlinux 0x2cbc0e1e prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2ce91e0a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x2ced7dfe dget_parent +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cf930c8 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x2d0d2ae2 locks_delete_block +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d48fdd5 phy_loopback +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4cd175 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x2d4fcf4e of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x2d604ebf smp_call_function_many +EXPORT_SYMBOL vmlinux 0x2d8e357b ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x2d8f50c5 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2db0de1d tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2dbf3bcd skb_vlan_push +EXPORT_SYMBOL vmlinux 0x2debc4d2 padata_start +EXPORT_SYMBOL vmlinux 0x2df5b232 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x2df65bc0 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x2df71b33 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x2dfa2669 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2e01f9e7 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x2e058e62 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ba368 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2e2e5341 __wake_up +EXPORT_SYMBOL vmlinux 0x2e384cb7 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x2e3f6978 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x2e426b5f kill_litter_super +EXPORT_SYMBOL vmlinux 0x2e5b215c tcp_close +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e683f68 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x2e750a77 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x2e7be112 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x2e94ad1e blk_get_queue +EXPORT_SYMBOL vmlinux 0x2e989696 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x2e9c248f init_task +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ed5da33 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x2ed841e5 dev_addr_add +EXPORT_SYMBOL vmlinux 0x2eda7860 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2eebc445 simple_open +EXPORT_SYMBOL vmlinux 0x2eff214f jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f259d69 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f31b906 seq_file_path +EXPORT_SYMBOL vmlinux 0x2f32b99e __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x2f3857e2 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x2f619c94 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x2f64f500 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x2f77319f check_disk_change +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f78c8db ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x2f804471 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x2f909c5f dev_mc_del +EXPORT_SYMBOL vmlinux 0x2f91c909 sock_no_bind +EXPORT_SYMBOL vmlinux 0x2f9b9c2f bio_split +EXPORT_SYMBOL vmlinux 0x2fb461e8 elevator_alloc +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbb9560 inc_node_state +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe6fe66 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x2fe86806 follow_down +EXPORT_SYMBOL vmlinux 0x2fec6595 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x2fef294d mmc_remove_host +EXPORT_SYMBOL vmlinux 0x30275bfb __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x304afda6 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x304ec72b _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x306cde3d of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x307cde2c tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a09323 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30bc8b0f dquot_quota_off +EXPORT_SYMBOL vmlinux 0x30cd9f51 sbi_send_ipi +EXPORT_SYMBOL vmlinux 0x30e10f18 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f70981 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x311b547c vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x31262923 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3160d265 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0x31805f7a udp_seq_start +EXPORT_SYMBOL vmlinux 0x31994d49 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x319efd87 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x31a639ef param_set_invbool +EXPORT_SYMBOL vmlinux 0x31db229a xfrm_state_add +EXPORT_SYMBOL vmlinux 0x31df1861 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x31eee3de tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x31f3c54d dmam_pool_create +EXPORT_SYMBOL vmlinux 0x321bc32e dquot_disable +EXPORT_SYMBOL vmlinux 0x321c72de nf_log_unset +EXPORT_SYMBOL vmlinux 0x32454e47 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x3254c468 dma_find_channel +EXPORT_SYMBOL vmlinux 0x327017c8 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x32764721 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32887dc2 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x32980deb security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x32a2b1a8 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x32a9e5a0 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x32afe950 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x32b13bb1 __put_page +EXPORT_SYMBOL vmlinux 0x32b30374 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x32c0af5d serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x32ccb789 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d38f71 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x32fbe62d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x33016088 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x33034ce8 km_state_notify +EXPORT_SYMBOL vmlinux 0x332d62c2 ptp_clock_index +EXPORT_SYMBOL vmlinux 0x3333093b devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x3349cbba nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x3351aaed clk_get +EXPORT_SYMBOL vmlinux 0x3355b304 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x3361e65d vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x336594b7 xp_dma_map +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x337b41a7 sock_bind_add +EXPORT_SYMBOL vmlinux 0x33943fea mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x33967068 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x33c162e0 dns_query +EXPORT_SYMBOL vmlinux 0x33c42c9f blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x33ca7729 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x33dd36ff tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34043dcf xa_find_after +EXPORT_SYMBOL vmlinux 0x34083259 textsearch_register +EXPORT_SYMBOL vmlinux 0x340998b3 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x340fd9a2 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x3435ba3d vfs_mknod +EXPORT_SYMBOL vmlinux 0x34392ba4 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x34694e09 bio_endio +EXPORT_SYMBOL vmlinux 0x3475fad8 config_item_get +EXPORT_SYMBOL vmlinux 0x349a2337 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a54101 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x34b61be1 __inet_hash +EXPORT_SYMBOL vmlinux 0x34cabbb2 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x34d9105d empty_zero_page +EXPORT_SYMBOL vmlinux 0x34e94f40 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x351fed49 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3525294d kfree_skb_list +EXPORT_SYMBOL vmlinux 0x35350f0e set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x354aa984 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x356cd64f tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x357afb84 read_cache_page +EXPORT_SYMBOL vmlinux 0x358fba1a netdev_warn +EXPORT_SYMBOL vmlinux 0x35919ed1 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35a94e87 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x35aba2d7 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x35b9989e tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x35c5cc89 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x35dfb2fb lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x35f6d941 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x35f72b1c msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x36009901 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x3616897c t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x36180376 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x361a3fe8 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x362778d9 md_check_recovery +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36658eb3 skb_seq_read +EXPORT_SYMBOL vmlinux 0x36819094 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x369a2bcb __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x36a922f9 inet_frags_init +EXPORT_SYMBOL vmlinux 0x36b124a2 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x36b65f8d security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x36b78b73 register_quota_format +EXPORT_SYMBOL vmlinux 0x36be3753 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x36c4934e __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36d78c56 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x36e272f8 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x36f728f9 misc_register +EXPORT_SYMBOL vmlinux 0x3713202f xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x37229617 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x374331d0 d_rehash +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3759f00b gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x375b4c66 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x376e9ee5 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x37723518 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x377c6bd1 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x3799e4f0 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x37a53899 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x37a71bd8 nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0x37ab558b pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37bb3946 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c586a6 set_security_override +EXPORT_SYMBOL vmlinux 0x37ddaf82 sg_nents +EXPORT_SYMBOL vmlinux 0x37e07b62 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x37f0fea3 seq_printf +EXPORT_SYMBOL vmlinux 0x37f90ddf serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x380d405b sbi_spec_version +EXPORT_SYMBOL vmlinux 0x38106dd2 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x38168b7e xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x384680c3 __alloc_disk_node +EXPORT_SYMBOL vmlinux 0x385da2bd blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x385ec983 dm_io +EXPORT_SYMBOL vmlinux 0x3867d77c proc_create_single_data +EXPORT_SYMBOL vmlinux 0x387a6f0d tcf_classify +EXPORT_SYMBOL vmlinux 0x38820b4c pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388800d2 sbi_console_putchar +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 0x38aa854a dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x38d7c159 page_readlink +EXPORT_SYMBOL vmlinux 0x38d9261c pci_remove_bus +EXPORT_SYMBOL vmlinux 0x38f4b256 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x38fb7063 fs_bio_set +EXPORT_SYMBOL vmlinux 0x390002d1 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x391790d0 sock_edemux +EXPORT_SYMBOL vmlinux 0x391fff7e send_sig +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x39558cc6 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3958de9b vm_numa_stat +EXPORT_SYMBOL vmlinux 0x3960a5fb jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x398070e2 __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x39826cbe ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x3999bef1 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39b4e8fe kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39bf5255 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x39dc7319 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x39ef165c neigh_app_ns +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a5cb073 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x3a685b0e nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x3a7fe6ec security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x3a835af1 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x3a94b5c4 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x3aac6e53 mempool_init +EXPORT_SYMBOL vmlinux 0x3ab75b6d del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x3ab79b86 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac052ee xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x3ac62554 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3ad03856 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x3ad19c47 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x3adffb10 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x3ae28ae6 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x3b030ec3 skb_dequeue +EXPORT_SYMBOL vmlinux 0x3b2b6bbe __frontswap_store +EXPORT_SYMBOL vmlinux 0x3b2cc163 __sb_end_write +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b4971c5 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x3b4ee927 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x3b502f70 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b74c483 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x3b811a32 kthread_stop +EXPORT_SYMBOL vmlinux 0x3b94a1f8 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x3ba07f47 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x3bba1e76 dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x3bbecf85 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x3bc6d428 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x3bc72012 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x3bcf6edb blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x3bddd4b2 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x3bdfe284 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3be8382f md_error +EXPORT_SYMBOL vmlinux 0x3c079f55 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x3c173c5b mutex_trylock +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c4b6ca4 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x3c4db32a path_put +EXPORT_SYMBOL vmlinux 0x3c5c352a inode_insert5 +EXPORT_SYMBOL vmlinux 0x3c635fb5 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c8e3e2d mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x3ca05b00 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x3ca1f989 __devm_release_region +EXPORT_SYMBOL vmlinux 0x3caa3f8e get_super_thawed +EXPORT_SYMBOL vmlinux 0x3cad03c3 netlink_set_err +EXPORT_SYMBOL vmlinux 0x3cb401e9 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x3ccee007 kernel_connect +EXPORT_SYMBOL vmlinux 0x3cd3db3d padata_do_parallel +EXPORT_SYMBOL vmlinux 0x3ce010d2 netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf9aa88 console_start +EXPORT_SYMBOL vmlinux 0x3cf9ddfc __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x3cfe5840 sk_stream_error +EXPORT_SYMBOL vmlinux 0x3d09194b register_cdrom +EXPORT_SYMBOL vmlinux 0x3d173bf1 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x3d304537 skb_trim +EXPORT_SYMBOL vmlinux 0x3d3eecd0 mmc_of_parse +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d756a22 address_space_init_once +EXPORT_SYMBOL vmlinux 0x3d80e504 input_free_device +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3dbd21c6 dqstats +EXPORT_SYMBOL vmlinux 0x3dc4d402 simple_empty +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd9ea87 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x3decab8f twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x3dedefd1 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e201ad7 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x3e22b22e xa_store +EXPORT_SYMBOL vmlinux 0x3e2524f4 __close_fd +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e2be6d3 genphy_suspend +EXPORT_SYMBOL vmlinux 0x3e3736f0 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x3e3b7897 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x3e3cb460 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x3e40f54d pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x3e46bc43 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x3e5d4a20 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x3e8ee44f inode_permission +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f25f100 bh_submit_read +EXPORT_SYMBOL vmlinux 0x3f271efa locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x3f37f1ca fqdir_exit +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f538bed remove_arg_zero +EXPORT_SYMBOL vmlinux 0x3f829fb5 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f8cf6b8 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fd1984a mmc_release_host +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fdfee0d __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fe985e9 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x40093e3e scsi_register_interface +EXPORT_SYMBOL vmlinux 0x400d38df prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x40276d28 sock_i_uid +EXPORT_SYMBOL vmlinux 0x4036689a skb_queue_head +EXPORT_SYMBOL vmlinux 0x4041636f dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x4041775b buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x404bbb6c blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x405b314d unregister_cdrom +EXPORT_SYMBOL vmlinux 0x405b9a94 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x40626740 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x40725bb3 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x407a8be9 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x4080a333 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x40863ba1 ioremap_prot +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409f0421 ata_port_printk +EXPORT_SYMBOL vmlinux 0x40a62d0d dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c414c8 down_read_trylock +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40e961a1 should_remove_suid +EXPORT_SYMBOL vmlinux 0x40ea1f44 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x410ff95d netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x411ca6a4 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x4124d63b d_alloc_anon +EXPORT_SYMBOL vmlinux 0x4125f26f tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x41341b02 dm_put_table_device +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414df9b9 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418b59f1 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x419a978b kthread_blkcg +EXPORT_SYMBOL vmlinux 0x419b2072 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x41a319e9 posix_test_lock +EXPORT_SYMBOL vmlinux 0x41ab5c31 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x41abb0e8 keyring_clear +EXPORT_SYMBOL vmlinux 0x41ad9a8d iget5_locked +EXPORT_SYMBOL vmlinux 0x41b04428 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x41b057ca ns_capable +EXPORT_SYMBOL vmlinux 0x41b5511a blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x41c37037 sock_efree +EXPORT_SYMBOL vmlinux 0x41dba546 input_close_device +EXPORT_SYMBOL vmlinux 0x41dd31f2 seq_release +EXPORT_SYMBOL vmlinux 0x4211c7da register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4241baad param_set_int +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x425e7277 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x42673dcc inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x426a5bb9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x42703b5a inode_get_bytes +EXPORT_SYMBOL vmlinux 0x427612da netlink_capable +EXPORT_SYMBOL vmlinux 0x4287db06 ps2_init +EXPORT_SYMBOL vmlinux 0x42b55c35 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x42beff98 __put_cred +EXPORT_SYMBOL vmlinux 0x42c14c81 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x42d768dd pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x42de06c7 pipe_lock +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x4320aa22 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x4334ecaa skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x4349f852 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435ad7f2 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x436bf293 mmput_async +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x4389e0e5 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x43a17d73 d_lookup +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43a5582b udp6_set_csum +EXPORT_SYMBOL vmlinux 0x43c19782 proc_create +EXPORT_SYMBOL vmlinux 0x43c5a3fe dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x43e499ed sync_inode +EXPORT_SYMBOL vmlinux 0x43eab6dd clear_nlink +EXPORT_SYMBOL vmlinux 0x43eb420e xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x43f9c289 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x43ffd7f1 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x4407dd59 tcf_block_put +EXPORT_SYMBOL vmlinux 0x44250ee1 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x442e7d46 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x443bf2b2 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x4441c1ee seq_open_private +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444c15a9 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x44542c04 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x445b270e __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x445fcc49 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x447ad72e clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x448065f2 skb_clone +EXPORT_SYMBOL vmlinux 0x4482a536 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x449d8a88 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x44a39e75 nf_log_packet +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44aede9b kernel_sendpage +EXPORT_SYMBOL vmlinux 0x44aff561 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x44b8da77 swake_up_all +EXPORT_SYMBOL vmlinux 0x44bff451 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x44d86c12 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x44e8eccf pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450f24f8 of_get_next_child +EXPORT_SYMBOL vmlinux 0x45104712 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454c1f8e of_get_property +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x455473c8 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x455aa361 follow_pfn +EXPORT_SYMBOL vmlinux 0x456064b6 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x4562a134 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x4565693e xa_load +EXPORT_SYMBOL vmlinux 0x4570cd7d unpin_user_pages +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458e117b commit_creds +EXPORT_SYMBOL vmlinux 0x459a94f2 security_path_rename +EXPORT_SYMBOL vmlinux 0x459f8c5b pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x45c03788 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x45c7c6e6 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x45eecd81 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x460ddbc3 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461caba1 param_set_short +EXPORT_SYMBOL vmlinux 0x4645660b __breadahead +EXPORT_SYMBOL vmlinux 0x46466164 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x465225c0 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466e89ff irq_to_desc +EXPORT_SYMBOL vmlinux 0x467cbe5c unregister_binfmt +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x4690d7f4 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46a1dced tty_port_open +EXPORT_SYMBOL vmlinux 0x46a3de41 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x46a7b9f7 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x46b8fe94 d_splice_alias +EXPORT_SYMBOL vmlinux 0x46bbfd57 set_posix_acl +EXPORT_SYMBOL vmlinux 0x46c7924c genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x46e183aa vme_master_mmap +EXPORT_SYMBOL vmlinux 0x4702d219 console_stop +EXPORT_SYMBOL vmlinux 0x471a6f2a sgl_free +EXPORT_SYMBOL vmlinux 0x474599ee vfs_setpos +EXPORT_SYMBOL vmlinux 0x475291fb d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47745e00 netdev_alert +EXPORT_SYMBOL vmlinux 0x477cf444 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x4783de5b xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479bccab pci_clear_master +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47a1f987 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x47b8640c skb_store_bits +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47f5bb46 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x4823f189 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4839e192 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x484413f3 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x4847239e max8925_set_bits +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x48547271 pci_choose_state +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486098ab devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x48646b39 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x487f0867 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bcbe17 param_ops_long +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48cbc052 tcp_connect +EXPORT_SYMBOL vmlinux 0x48e2b0fb seq_escape +EXPORT_SYMBOL vmlinux 0x48eb4f90 down_killable +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490f3767 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x491359b4 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x49310a9b scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x4931c9e1 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x493a5960 dev_set_group +EXPORT_SYMBOL vmlinux 0x4958746e ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x495d0c18 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x49730b30 find_lock_entry +EXPORT_SYMBOL vmlinux 0x49765102 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x4984a157 sbi_probe_extension +EXPORT_SYMBOL vmlinux 0x49859011 complete +EXPORT_SYMBOL vmlinux 0x498b96da proc_douintvec +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a00d21 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x49b5d83b scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x49cfaadb frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x49d4d844 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x49dcb5ee __lock_page +EXPORT_SYMBOL vmlinux 0x49e1c0e5 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x49fc2e6e softnet_data +EXPORT_SYMBOL vmlinux 0x4a03967a ppp_unit_number +EXPORT_SYMBOL vmlinux 0x4a0c3bc9 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x4a11cbfb __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x4a13ee66 __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0x4a3822fd param_get_ulong +EXPORT_SYMBOL vmlinux 0x4a4c6d1c t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x4a4e9d13 get_fs_type +EXPORT_SYMBOL vmlinux 0x4a50b5d6 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x4a58796a skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x4a59da88 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x4a7e8e6c nd_btt_version +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4ac08a72 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x4ac5e263 vme_slot_num +EXPORT_SYMBOL vmlinux 0x4ac8494b gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x4ae89eb1 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4aea9a91 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x4af0db3c fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x4af19357 ilookup5 +EXPORT_SYMBOL vmlinux 0x4af9ea48 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x4b044a0b tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x4b35cdba __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x4b3df873 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x4b5051a2 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x4b514127 register_key_type +EXPORT_SYMBOL vmlinux 0x4b5bc7e1 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6a698f sget +EXPORT_SYMBOL vmlinux 0x4b7b61db inet_gro_receive +EXPORT_SYMBOL vmlinux 0x4b8d1bb6 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x4b9453c3 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x4ba320ea blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x4bc2d0ab dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x4be88e8f finish_wait +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bfc009f dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0x4bff2810 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x4c16ec2a find_vma +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c3ae417 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c572eaf of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x4c5facc2 downgrade_write +EXPORT_SYMBOL vmlinux 0x4c9a35ee of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x4cae44ed dev_disable_lro +EXPORT_SYMBOL vmlinux 0x4cb0b5c0 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc56af5 vfs_llseek +EXPORT_SYMBOL vmlinux 0x4cd4383b __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x4cd6da1c t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x4ce82b5d input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x4cf436a9 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x4cf9bac7 tty_set_operations +EXPORT_SYMBOL vmlinux 0x4d11c570 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x4d15bdac devm_ioport_map +EXPORT_SYMBOL vmlinux 0x4d2aad9c mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x4d4585ec of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6e52d1 __xa_insert +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4dbb4575 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x4dc5a72a udp_disconnect +EXPORT_SYMBOL vmlinux 0x4de1b56b filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x4de1e8b9 sock_rfree +EXPORT_SYMBOL vmlinux 0x4de3cf44 init_pseudo +EXPORT_SYMBOL vmlinux 0x4de49ce9 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x4de4a702 kern_unmount +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4e131b4a xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x4e1c704b jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e374474 try_to_release_page +EXPORT_SYMBOL vmlinux 0x4e42e7ed pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x4e4503d3 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x4e57d181 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x4e6228cb inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7faee4 keyring_search +EXPORT_SYMBOL vmlinux 0x4e807e70 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ea1a111 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ed38e95 __scsi_execute +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4ef2496a netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4f07f13a fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x4f106840 d_tmpfile +EXPORT_SYMBOL vmlinux 0x4f192c99 dquot_commit +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f2475f0 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x4f29c87e _dev_alert +EXPORT_SYMBOL vmlinux 0x4f2f1779 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x4f3eb8ed bdput +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f6078e7 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x4f71038e nobh_write_end +EXPORT_SYMBOL vmlinux 0x4f7a7b5c dma_set_mask +EXPORT_SYMBOL vmlinux 0x4f862eb0 scsi_add_device +EXPORT_SYMBOL vmlinux 0x4f86a900 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x4f9ade8c input_flush_device +EXPORT_SYMBOL vmlinux 0x4fadef89 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x4fe5d97c pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x5005bea2 fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500a9b77 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x500ad11d touch_buffer +EXPORT_SYMBOL vmlinux 0x502f462e page_pool_destroy +EXPORT_SYMBOL vmlinux 0x503ac37f mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x5041fb18 sync_file_create +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506df424 __skb_checksum +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x50737160 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x509a8cc8 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b03c47 sg_init_table +EXPORT_SYMBOL vmlinux 0x50b3a40e seq_lseek +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d1f11a phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x50f72cb5 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x50f7ddbb security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5104d062 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x5106c4e7 phy_write_paged +EXPORT_SYMBOL vmlinux 0x511b8639 seq_pad +EXPORT_SYMBOL vmlinux 0x5127e3ba blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x513c974b netif_device_detach +EXPORT_SYMBOL vmlinux 0x513e33af __udp_disconnect +EXPORT_SYMBOL vmlinux 0x515e7fc4 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5171eea5 md_write_start +EXPORT_SYMBOL vmlinux 0x51749fc8 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x51817b8e netif_receive_skb +EXPORT_SYMBOL vmlinux 0x51964a11 param_set_uint +EXPORT_SYMBOL vmlinux 0x519f580e cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x519fe86e nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x51a399c6 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x51dc71ea jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x520c3e9d fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x52313fd5 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x523f208a pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x524565c0 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x52545286 input_allocate_device +EXPORT_SYMBOL vmlinux 0x526c3a6c jiffies +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a0e3d0 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x52aa9646 zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x52bbda18 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x52c42f1d dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x52cfc1c6 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52deea92 notify_change +EXPORT_SYMBOL vmlinux 0x52e4dece set_blocksize +EXPORT_SYMBOL vmlinux 0x52e9c037 get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52ef99f0 revalidate_disk +EXPORT_SYMBOL vmlinux 0x5302ba32 soft_cursor +EXPORT_SYMBOL vmlinux 0x5308595b __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x53207c5d qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x53300df9 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x5337ede5 netif_device_attach +EXPORT_SYMBOL vmlinux 0x535290e4 ll_rw_block +EXPORT_SYMBOL vmlinux 0x5369be89 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x5371145f mdio_device_reset +EXPORT_SYMBOL vmlinux 0x537da64a pci_bus_type +EXPORT_SYMBOL vmlinux 0x538a9b19 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x5391f79a mdiobus_scan +EXPORT_SYMBOL vmlinux 0x53d90bf3 fasync_helper +EXPORT_SYMBOL vmlinux 0x53f0e1b2 mmc_start_request +EXPORT_SYMBOL vmlinux 0x53f40814 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5440d6d8 seq_read_iter +EXPORT_SYMBOL vmlinux 0x5461bdfb seq_putc +EXPORT_SYMBOL vmlinux 0x54671052 proc_remove +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x548daed7 dquot_transfer +EXPORT_SYMBOL vmlinux 0x5490d05d devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x549636dc csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x54a63942 devm_free_irq +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54aa8c91 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x54afebbb mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x54b24117 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x54ba4034 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54f28f79 serio_interrupt +EXPORT_SYMBOL vmlinux 0x54f704a9 unregister_console +EXPORT_SYMBOL vmlinux 0x54fedf91 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x551e6701 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x55614796 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x55619437 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55a79135 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x55b13be1 netdev_crit +EXPORT_SYMBOL vmlinux 0x55c4dfbc nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x55d89033 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x55da19fc dquot_release +EXPORT_SYMBOL vmlinux 0x55e17ded md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55eea681 sbi_remote_hfence_vvma_asid +EXPORT_SYMBOL vmlinux 0x55f24b31 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x5634579a pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563f38b5 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568aa141 tty_check_change +EXPORT_SYMBOL vmlinux 0x56942b1b neigh_ifdown +EXPORT_SYMBOL vmlinux 0x56c72854 phy_driver_register +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cf892f ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x56d104cc param_ops_short +EXPORT_SYMBOL vmlinux 0x56d96a10 padata_do_serial +EXPORT_SYMBOL vmlinux 0x56da3309 sk_free +EXPORT_SYMBOL vmlinux 0x56e26bce mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x56e36fbf __asm_copy_from_user +EXPORT_SYMBOL vmlinux 0x570ae4ee dquot_operations +EXPORT_SYMBOL vmlinux 0x571d9760 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x5724c7f0 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x572d0104 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x572d02f6 dev_driver_string +EXPORT_SYMBOL vmlinux 0x573f0cde capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x574b83dd sbi_remote_sfence_vma +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x577a6838 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57948dd9 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5798d49a proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x57b3fb42 write_one_page +EXPORT_SYMBOL vmlinux 0x57b631e2 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x57be0a82 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x5809c7f5 vm_event_states +EXPORT_SYMBOL vmlinux 0x581558d0 padata_set_cpumask +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 0x584683bc tcp_req_err +EXPORT_SYMBOL vmlinux 0x584b76d0 security_sock_graft +EXPORT_SYMBOL vmlinux 0x58618c6d dev_addr_flush +EXPORT_SYMBOL vmlinux 0x588c3882 generic_permission +EXPORT_SYMBOL vmlinux 0x58a176c2 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b5eec4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58df6e16 input_inject_event +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x5948c579 generic_update_time +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x595b631a wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x5973f10f nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x59879286 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x598a93a7 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x598fa8ae flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x599e8336 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a670ac blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x59a753ff unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x59ac5054 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59b797de ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x59c0937d vfs_get_super +EXPORT_SYMBOL vmlinux 0x59d38d13 of_get_next_parent +EXPORT_SYMBOL vmlinux 0x59deeaac filemap_map_pages +EXPORT_SYMBOL vmlinux 0x59e3d572 bio_chain +EXPORT_SYMBOL vmlinux 0x59fdd772 sock_from_file +EXPORT_SYMBOL vmlinux 0x5a02ba77 default_llseek +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a0be99d bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a66f215 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x5a6ce4bc set_page_dirty +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5abaa3f1 d_obtain_root +EXPORT_SYMBOL vmlinux 0x5abed65b n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x5aed1c3d devm_of_iomap +EXPORT_SYMBOL vmlinux 0x5af6f344 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x5b05aed4 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x5b0c2226 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x5b1d4e0b xa_destroy +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b4937dd fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x5b4e6175 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b7a7f1a netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x5b8bca5f tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x5b94fd6b ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x5ba3c4d4 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x5bae92ad register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x5bb2fe53 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x5bc8ee67 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdc242b gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5be91d37 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x5bf1ed78 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c11bad7 request_key_rcu +EXPORT_SYMBOL vmlinux 0x5c3c773e udplite_table +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c5efc3f security_sk_clone +EXPORT_SYMBOL vmlinux 0x5c5fe024 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x5c65adaa netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x5c7416bc xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x5c8ca547 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x5c8db8ef eth_gro_complete +EXPORT_SYMBOL vmlinux 0x5c8f4613 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x5c9684b7 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x5c96ce56 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x5c978a9a dm_unregister_target +EXPORT_SYMBOL vmlinux 0x5c9d92b5 sk_capable +EXPORT_SYMBOL vmlinux 0x5ceedf27 pci_iomap_range +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cff005c rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x5d054e48 udp_ioctl +EXPORT_SYMBOL vmlinux 0x5d193185 vga_client_register +EXPORT_SYMBOL vmlinux 0x5d48c3b8 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d65ce2f inet_sendpage +EXPORT_SYMBOL vmlinux 0x5d673a22 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5daa7fd1 sgl_alloc_order +EXPORT_SYMBOL vmlinux 0x5daf9a51 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0x5dbe0b45 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x5dcc1520 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x5dd4d849 dma_supported +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e01c6e1 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x5e0aa610 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e24b9f1 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e4dd45d sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x5e6e1ce4 genphy_read_status +EXPORT_SYMBOL vmlinux 0x5e7eda25 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x5e8401c6 mdio_device_create +EXPORT_SYMBOL vmlinux 0x5e90102e param_set_long +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea618b1 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x5ea96217 eth_header_parse +EXPORT_SYMBOL vmlinux 0x5eadd26b abort_creds +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb36b61 simple_release_fs +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5efdd8a9 config_group_find_item +EXPORT_SYMBOL vmlinux 0x5f0791bc inet_release +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f114fec sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x5f234f06 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x5f3230a4 blkdev_get +EXPORT_SYMBOL vmlinux 0x5f383532 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x5f398666 __sock_create +EXPORT_SYMBOL vmlinux 0x5f3bf375 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x5f4da8ea md_write_end +EXPORT_SYMBOL vmlinux 0x5f51c852 submit_bio +EXPORT_SYMBOL vmlinux 0x5f6ff047 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x5f805029 devm_memremap +EXPORT_SYMBOL vmlinux 0x5f8611f3 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x5fa12a19 fb_blank +EXPORT_SYMBOL vmlinux 0x5fa19c80 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x5fa66dc7 __block_write_begin +EXPORT_SYMBOL vmlinux 0x5fc0ab08 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x5fc0e4c1 wireless_send_event +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fce0b94 mmc_erase +EXPORT_SYMBOL vmlinux 0x5ff71dbb tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x5ff92260 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60086b81 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x60140dcd pci_request_regions +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602506d2 config_item_put +EXPORT_SYMBOL vmlinux 0x6031be8a prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x603332db of_platform_device_create +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x6035475b xp_alloc +EXPORT_SYMBOL vmlinux 0x60498164 kset_register +EXPORT_SYMBOL vmlinux 0x604eea1e kern_path_create +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605f6da3 module_refcount +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60aa25f4 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x60afec33 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x60b090b6 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x60c38447 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60f45634 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x60f7b7e6 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x611678b0 pid_task +EXPORT_SYMBOL vmlinux 0x611e1bed pci_request_irq +EXPORT_SYMBOL vmlinux 0x6123b39c dst_release +EXPORT_SYMBOL vmlinux 0x61264cdf dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612ce489 generic_setlease +EXPORT_SYMBOL vmlinux 0x613f609e netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x616d6ee3 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x618d656a vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x618e1477 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61acecf1 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c855aa param_ops_uint +EXPORT_SYMBOL vmlinux 0x61d13438 sbi_shutdown +EXPORT_SYMBOL vmlinux 0x61d7099e vfs_create_mount +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x62052c04 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x62177b7a skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622bdd4d mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x622c587a eth_header_cache +EXPORT_SYMBOL vmlinux 0x6241106d md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x624c143a xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x625140b6 update_devfreq +EXPORT_SYMBOL vmlinux 0x625e5d68 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x6264cd7e mntput +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6280c96b __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x62815187 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62ae31f6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62d84a70 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x62daed79 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x62e2facb reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x630d3181 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632161ad alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x63378b21 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x6350eb43 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x6362799e inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x6383dbf6 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x63855337 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63ac511f tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63e95430 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f23204 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x63fa5ae6 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x64159feb inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x64359078 neigh_for_each +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x645f51a3 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x647124fc phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x64760904 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a97860 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64b03eaa proc_dointvec +EXPORT_SYMBOL vmlinux 0x64b9d452 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64c2a949 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x64d05f6c generic_fadvise +EXPORT_SYMBOL vmlinux 0x64db9e91 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x64e009eb loop_register_transfer +EXPORT_SYMBOL vmlinux 0x64f5d365 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x65015f56 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x6505bcd1 bmap +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x65182703 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6525c65b get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x6529199a genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x6534cafc tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x6564e830 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x65711b3c get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x658a73a6 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x65953a44 km_policy_expired +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a0bdf5 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x65a58e85 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0x65d1c019 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65eb354e send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x65fde628 proc_mkdir +EXPORT_SYMBOL vmlinux 0x66029799 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x66208f58 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x665a1d6d devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x665b8551 vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x6661a8bf eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x666c5943 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x668dd150 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x669b7b1e sget_fc +EXPORT_SYMBOL vmlinux 0x66ada64b blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66dbc719 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x670ada0f vc_resize +EXPORT_SYMBOL vmlinux 0x67132c32 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x671af71a bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x672d5ef9 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x6741da4f has_capability +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x67597fa1 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x6759a63f xa_get_mark +EXPORT_SYMBOL vmlinux 0x675aff33 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x675e7da0 dev_set_alias +EXPORT_SYMBOL vmlinux 0x676a8e57 km_query +EXPORT_SYMBOL vmlinux 0x6772556d __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x67759e37 of_match_node +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x679b47a5 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x679be8a4 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x67a5f214 phy_print_status +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b770cd mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c65314 blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0x67c75248 audit_log_start +EXPORT_SYMBOL vmlinux 0x67c75494 __pagevec_release +EXPORT_SYMBOL vmlinux 0x67d77e49 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x67e7334f vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x680d6b93 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x681dbc09 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x68228da6 mr_dump +EXPORT_SYMBOL vmlinux 0x68293bb5 page_pool_create +EXPORT_SYMBOL vmlinux 0x682ae6d6 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x683c3526 vga_tryget +EXPORT_SYMBOL vmlinux 0x6841b2c5 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x68561dba iov_iter_init +EXPORT_SYMBOL vmlinux 0x6857888d kthread_create_worker +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x6864c114 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x687ac22c dqput +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687f8c1e dm_table_get_md +EXPORT_SYMBOL vmlinux 0x6887894f tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x688df397 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x689e97ca unregister_md_personality +EXPORT_SYMBOL vmlinux 0x68a4c19a d_path +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68b5ae9c netif_rx +EXPORT_SYMBOL vmlinux 0x68b770d0 ps2_drain +EXPORT_SYMBOL vmlinux 0x68c4e5a8 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x68c5819a flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x68ce4478 edac_mc_find +EXPORT_SYMBOL vmlinux 0x690c11c1 truncate_setsize +EXPORT_SYMBOL vmlinux 0x690c3f50 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x6921b8fc alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x6939dc73 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69633c12 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x696fb894 dma_pool_create +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69a37066 uart_register_driver +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b78b58 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x69b9d983 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e74709 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x69fc657d register_qdisc +EXPORT_SYMBOL vmlinux 0x6a010f96 d_alloc_name +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a36c2da pci_get_class +EXPORT_SYMBOL vmlinux 0x6a3ed232 dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x6a4099f0 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x6a5369d3 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a6d8b8f fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x6a8831e0 jiffies_64 +EXPORT_SYMBOL vmlinux 0x6a8b2bf0 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x6a8c5fca ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x6aaae164 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6aeac879 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x6aee3225 get_vm_area +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6afe37be mempool_create +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b398ae0 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x6b451696 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b77ea13 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b8fdd63 sbi_remote_fence_i +EXPORT_SYMBOL vmlinux 0x6b9b3152 dquot_file_open +EXPORT_SYMBOL vmlinux 0x6ba7c6c6 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x6bc36c8a iterate_fd +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bca1a0b radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x6bcefcad request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x6be4b2bb end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x6be65fd2 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x6bee2d36 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x6bf8e521 del_gendisk +EXPORT_SYMBOL vmlinux 0x6c23a146 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c35e5b4 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x6c4edd07 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x6c555ef4 xattr_full_name +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c63fd55 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x6c65a1fc tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x6c6820ab twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x6c80d776 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x6c95bcb7 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x6caafa9f tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x6cb0cb65 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbe2ab8 __bforget +EXPORT_SYMBOL vmlinux 0x6cd65e42 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x6cdd584b security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6cf6a564 fb_find_mode +EXPORT_SYMBOL vmlinux 0x6d142ccd cfb_imageblit +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d38f410 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x6d3dad89 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x6d6b67fd free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x6d72b373 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d84d45d skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x6d8a1d20 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x6d8f5c47 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x6db256f8 __register_chrdev +EXPORT_SYMBOL vmlinux 0x6dbea591 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x6dc6dc10 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x6dcac0a4 generic_fillattr +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6de301dc register_shrinker +EXPORT_SYMBOL vmlinux 0x6deea952 param_get_ushort +EXPORT_SYMBOL vmlinux 0x6deef0fd dst_destroy +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6dff4053 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x6e07a326 simple_setattr +EXPORT_SYMBOL vmlinux 0x6e0a80b8 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x6e149db9 input_set_keycode +EXPORT_SYMBOL vmlinux 0x6e16535c sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x6e1c1e5c audit_log +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e387387 pin_user_pages +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e882440 __put_user_ns +EXPORT_SYMBOL vmlinux 0x6e9bafd3 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ec993fa of_dev_put +EXPORT_SYMBOL vmlinux 0x6ecc3b18 dev_change_flags +EXPORT_SYMBOL vmlinux 0x6ece110e inet_del_offload +EXPORT_SYMBOL vmlinux 0x6ed5bdc4 mpage_readpage +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6f02335b seq_puts +EXPORT_SYMBOL vmlinux 0x6f0d98d5 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x6f243aa7 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x6f46dc89 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x6f473bc8 init_net +EXPORT_SYMBOL vmlinux 0x6f539bb6 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x6f6b984c param_ops_int +EXPORT_SYMBOL vmlinux 0x6f8a2700 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x6f8b8362 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f95a38a mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x6fa0c08c skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x6fa8be56 follow_down_one +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd4438a mmc_spi_put_pdata +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdcfc99 sigprocmask +EXPORT_SYMBOL vmlinux 0x6ff43e62 phy_find_first +EXPORT_SYMBOL vmlinux 0x6ffb0d2c __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70017006 serio_open +EXPORT_SYMBOL vmlinux 0x7005a78d proc_set_size +EXPORT_SYMBOL vmlinux 0x700aa151 of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x700badf4 dev_close +EXPORT_SYMBOL vmlinux 0x7011b84d dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x70246e4c of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x70356cf9 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x706573be param_get_bool +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x707cbca0 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x707e7d4d ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x7088b44f dm_kobject_release +EXPORT_SYMBOL vmlinux 0x708a4fc0 pci_save_state +EXPORT_SYMBOL vmlinux 0x7091cbc0 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x7095a3fd napi_gro_flush +EXPORT_SYMBOL vmlinux 0x70c062c9 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713453a9 kobject_get +EXPORT_SYMBOL vmlinux 0x715cae47 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7171f35f param_set_bool +EXPORT_SYMBOL vmlinux 0x717e2ccd twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a5a8cc of_node_put +EXPORT_SYMBOL vmlinux 0x71a5bef7 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ae3168 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x71c0d85b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x71c2c77c __xa_set_mark +EXPORT_SYMBOL vmlinux 0x71ce1372 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x71de6f42 start_tty +EXPORT_SYMBOL vmlinux 0x71e64992 ida_alloc_range +EXPORT_SYMBOL vmlinux 0x71ec400d __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x72118d8a __mutex_init +EXPORT_SYMBOL vmlinux 0x7211ef71 sock_no_linger +EXPORT_SYMBOL vmlinux 0x72260a41 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x7230bb4e nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x7235d0c2 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x7246919d mr_table_dump +EXPORT_SYMBOL vmlinux 0x72474f17 pfn_base +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x725997f4 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x72611468 pci_dev_get +EXPORT_SYMBOL vmlinux 0x7268beac account_page_redirty +EXPORT_SYMBOL vmlinux 0x72810308 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x72ae28b1 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bcdba7 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72dc6470 may_umount_tree +EXPORT_SYMBOL vmlinux 0x72de4dfa blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72eb1ec8 key_link +EXPORT_SYMBOL vmlinux 0x72f2741b get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x7309655f devm_clk_put +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x7316fa54 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x73240b1a vfs_symlink +EXPORT_SYMBOL vmlinux 0x734b51b1 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x736cef87 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x73717419 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x7389a53d xfrm_state_free +EXPORT_SYMBOL vmlinux 0x7396c391 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b1aea1 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x73dfce22 __frontswap_load +EXPORT_SYMBOL vmlinux 0x73e4b661 udp_gro_receive +EXPORT_SYMBOL vmlinux 0x73eb7569 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x7404ce8e __sb_start_write +EXPORT_SYMBOL vmlinux 0x74051e15 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x740ae6fa sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x74279a52 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x743126c9 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x74337587 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x743865cd wireless_spy_update +EXPORT_SYMBOL vmlinux 0x7441702a con_is_visible +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x746bca6f pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x74753c68 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x7477e73e single_open +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x749a9490 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x74a3d575 pci_release_regions +EXPORT_SYMBOL vmlinux 0x74af6785 path_get +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74dee490 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74ea5ecf dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x74f78916 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x7500f6d2 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x75174b7a pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x7520d47f bdev_read_only +EXPORT_SYMBOL vmlinux 0x75337bec iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x7559c391 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x755abd88 sg_miter_next +EXPORT_SYMBOL vmlinux 0x75711cdf blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x7572d72e mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x7576c33e iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x758ac846 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x759031b9 eth_header +EXPORT_SYMBOL vmlinux 0x7596e4b2 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x75b50e36 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d288e4 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x75f41df1 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x761ba374 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7628cd5a eth_get_headlen +EXPORT_SYMBOL vmlinux 0x762de157 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x763209bc mempool_init_node +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x767ab6dd mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x769a1218 mmc_command_done +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76b92b8a _dev_notice +EXPORT_SYMBOL vmlinux 0x76b9376e irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x76ce8a71 set_groups +EXPORT_SYMBOL vmlinux 0x76d115f3 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76d561f5 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x76dc47ee iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x76ef8029 scsi_device_put +EXPORT_SYMBOL vmlinux 0x76fe42ca wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x77080612 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x770e2760 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x7714cb85 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x7714d5fe seq_write +EXPORT_SYMBOL vmlinux 0x7715e39b scsi_ioctl +EXPORT_SYMBOL vmlinux 0x7719e154 mempool_destroy +EXPORT_SYMBOL vmlinux 0x771c01f8 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x7720eb7c fddi_type_trans +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x7739aa9b mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x7740275f param_set_copystring +EXPORT_SYMBOL vmlinux 0x7744e658 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x775857af netdev_change_features +EXPORT_SYMBOL vmlinux 0x7764b7e0 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x776e4bde netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x777677a7 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x7783196d cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x779ddf47 bioset_init +EXPORT_SYMBOL vmlinux 0x77b3f431 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77fa347a key_revoke +EXPORT_SYMBOL vmlinux 0x77fbde04 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x783eb6ce __brelse +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x785d27e4 vmap +EXPORT_SYMBOL vmlinux 0x7872ef33 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78968b2f fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x789b405d __mmiowb_state +EXPORT_SYMBOL vmlinux 0x789d3bfa xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78ae6fd2 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x78cf8665 sock_i_ino +EXPORT_SYMBOL vmlinux 0x78dc3fea ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78fbd46d mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x78fc1108 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x79069bdb udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x79119d26 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x7919a769 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x794545fc mpage_writepages +EXPORT_SYMBOL vmlinux 0x79698217 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x798e2482 i2c_transfer +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79b5d1d4 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x79b96217 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x79c0d6cf fb_pan_display +EXPORT_SYMBOL vmlinux 0x79c234e8 module_layout +EXPORT_SYMBOL vmlinux 0x79ce16fa vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x79d870fe __d_lookup_done +EXPORT_SYMBOL vmlinux 0x79e1ec0e ptp_find_pin +EXPORT_SYMBOL vmlinux 0x79ebe984 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x79f809d8 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x79fe773f kern_path +EXPORT_SYMBOL vmlinux 0x79ff628e sg_init_one +EXPORT_SYMBOL vmlinux 0x7a03a41c unix_attach_fds +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4df293 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x7a5236fd locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x7a581926 ether_setup +EXPORT_SYMBOL vmlinux 0x7a608305 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x7a60e2bd node_states +EXPORT_SYMBOL vmlinux 0x7a62c5b8 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa05cb7 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa592f7 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x7aac27ba __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x7ab13497 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abe2280 __bio_clone_fast +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae734c5 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7af3c46a simple_lookup +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b1284cd sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x7b129b40 netdev_features_change +EXPORT_SYMBOL vmlinux 0x7b3b35ba max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x7b496f9e file_ns_capable +EXPORT_SYMBOL vmlinux 0x7b50e9ab tty_hangup +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b6646bb _raw_read_lock +EXPORT_SYMBOL vmlinux 0x7b6bb23a input_grab_device +EXPORT_SYMBOL vmlinux 0x7b84626b i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x7b8b7029 vme_master_request +EXPORT_SYMBOL vmlinux 0x7b8c9173 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x7b9cf4fd xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x7ba6306c kobject_add +EXPORT_SYMBOL vmlinux 0x7bb7cd1b skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x7bb9f073 deactivate_super +EXPORT_SYMBOL vmlinux 0x7bc71885 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x7bcbb23d uart_add_one_port +EXPORT_SYMBOL vmlinux 0x7bcde710 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x7c079c97 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x7c0fed81 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1a526f fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x7c2b3a5a uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x7c54b3d5 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x7c5b8cc9 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x7c6456df sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x7c7c3ca9 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x7cb0a003 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cbd6a9d skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x7ccaf718 component_match_add_release +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf7d056 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x7cfd50e1 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d01a527 inet_listen +EXPORT_SYMBOL vmlinux 0x7d06a116 kernel_read +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12278e file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7d148280 mpage_readahead +EXPORT_SYMBOL vmlinux 0x7d1bbe7e mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x7d297dc2 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x7d2a36fe ppp_input +EXPORT_SYMBOL vmlinux 0x7d3feea3 inet6_release +EXPORT_SYMBOL vmlinux 0x7d4272b8 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d74dda5 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x7d76c498 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x7d8c2218 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x7da1e695 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db25a48 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7dd67627 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x7de183c8 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df2e82e __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7df9bbac seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x7e144b3a set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x7e22cd32 md_write_inc +EXPORT_SYMBOL vmlinux 0x7e2c24f2 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e413cea xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x7e46009c vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x7e573447 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x7e57b5c3 serio_reconnect +EXPORT_SYMBOL vmlinux 0x7e60161c lockref_get +EXPORT_SYMBOL vmlinux 0x7e620519 consume_skb +EXPORT_SYMBOL vmlinux 0x7ea5fd17 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x7eb2e32a configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x7ec1a4de dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7eccb9ca d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x7ed99607 framebuffer_release +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f2245de mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f3324a5 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x7f3a45e1 datagram_poll +EXPORT_SYMBOL vmlinux 0x7f3b5ae6 key_type_keyring +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f9dd7ce sk_common_release +EXPORT_SYMBOL vmlinux 0x7fc7fe39 init_special_inode +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ffc51f5 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x800f116f copy_string_kernel +EXPORT_SYMBOL vmlinux 0x80104c1f of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x802f922b ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x80374ec2 md_reload_sb +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x805378a2 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x80567a05 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x8059e5ec max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x805f6dc5 add_random_ready_callback +EXPORT_SYMBOL vmlinux 0x8067970a skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x806c9ffe pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x80727eab gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x80911dea tty_write_room +EXPORT_SYMBOL vmlinux 0x8095a049 bio_advance +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x8098f956 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x80998b80 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x80a0fe28 sk_net_capable +EXPORT_SYMBOL vmlinux 0x80a613b4 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x80ac8ba3 __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x80af8ac6 pcim_iomap +EXPORT_SYMBOL vmlinux 0x80b2d5d5 __xa_erase +EXPORT_SYMBOL vmlinux 0x80b77b4b dev_uc_add +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d97151 tty_port_put +EXPORT_SYMBOL vmlinux 0x80f33f0e request_key_tag +EXPORT_SYMBOL vmlinux 0x8103ad73 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x814718cd _dev_crit +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x8153ee38 release_sock +EXPORT_SYMBOL vmlinux 0x815aa35a phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815e6ad2 udp_prot +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818f2c45 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x81cb5448 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81dba6c9 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x81f72a5e cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820bd6a2 xfrm_input +EXPORT_SYMBOL vmlinux 0x821d0358 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x82403a4b xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x824222c7 put_cmsg +EXPORT_SYMBOL vmlinux 0x824b54eb ip_frag_next +EXPORT_SYMBOL vmlinux 0x82515aad add_wait_queue +EXPORT_SYMBOL vmlinux 0x8252b379 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x825ce0f1 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x8269ec84 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x828057a3 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82842444 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x82a157d7 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x82bed5f1 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x82cb638b skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x82d25357 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x82e14b59 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x82ef00d6 mmc_request_done +EXPORT_SYMBOL vmlinux 0x82f6fbc0 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x83014cf0 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x8317bd65 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x83227c77 finish_open +EXPORT_SYMBOL vmlinux 0x832cfa3e textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x83457b4f key_alloc +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8364d8b1 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x8377ae32 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0x8379d553 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x837d8d92 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x8385ee87 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838e4da3 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x839e9309 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x83aad3b7 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x83b290fd do_wait_intr +EXPORT_SYMBOL vmlinux 0x83bbf06c md_handle_request +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83eff55e pci_free_irq +EXPORT_SYMBOL vmlinux 0x83f157b5 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x83f31f8c tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8402a9bb drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x8413d1ab set_user_nice +EXPORT_SYMBOL vmlinux 0x84260a96 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x84298e2d mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x8436d30f phy_stop +EXPORT_SYMBOL vmlinux 0x843fde23 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x845e9866 __module_get +EXPORT_SYMBOL vmlinux 0x84775998 mount_subtree +EXPORT_SYMBOL vmlinux 0x8480669c sock_create +EXPORT_SYMBOL vmlinux 0x84991c83 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x84a383d2 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x84ac2938 set_nlink +EXPORT_SYMBOL vmlinux 0x84bafd4e inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x84da5595 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x84e7fe47 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x84ef73f8 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x85032194 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x85061b76 _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x8522dc59 done_path_create +EXPORT_SYMBOL vmlinux 0x8556b460 ps2_end_command +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857940a5 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x859c3f01 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d22e00 key_unlink +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85ec2b24 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f70fc9 of_iomap +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x8609f1d2 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x860bab3b tcp_check_req +EXPORT_SYMBOL vmlinux 0x8613965d vme_bus_type +EXPORT_SYMBOL vmlinux 0x86176eb7 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863b37c5 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x863ffa96 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8654dbd3 pci_enable_device +EXPORT_SYMBOL vmlinux 0x8655f516 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x8687896e remove_proc_entry +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86971271 lock_page_memcg +EXPORT_SYMBOL vmlinux 0x86a291b4 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x86b2b3b9 generic_listxattr +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86e30210 phy_device_create +EXPORT_SYMBOL vmlinux 0x86ef1c2d tcp_poll +EXPORT_SYMBOL vmlinux 0x86f58482 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x873839d9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x87449299 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x87586c2d call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x8788e26a __serio_register_driver +EXPORT_SYMBOL vmlinux 0x879dda00 _dev_info +EXPORT_SYMBOL vmlinux 0x87ad3eb3 sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x87cb78b5 vfs_unlink +EXPORT_SYMBOL vmlinux 0x87d71935 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x87daec60 try_module_get +EXPORT_SYMBOL vmlinux 0x87e87176 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x87f30351 of_device_unregister +EXPORT_SYMBOL vmlinux 0x880262bf generic_ro_fops +EXPORT_SYMBOL vmlinux 0x880e43b3 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x88135f6e truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x8826fcc3 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x88296043 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x88347f7b inet_select_addr +EXPORT_SYMBOL vmlinux 0x8838172a ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x884f5e44 netif_napi_add +EXPORT_SYMBOL vmlinux 0x88548161 vme_irq_free +EXPORT_SYMBOL vmlinux 0x88785eb4 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x88794620 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8887c90e nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x889b2f74 tty_vhangup +EXPORT_SYMBOL vmlinux 0x88a9e11c tty_port_destroy +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88b9ce45 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x88bd7751 do_SAK +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88eb806f gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x8909ab0f netif_skb_features +EXPORT_SYMBOL vmlinux 0x890e664d dev_load +EXPORT_SYMBOL vmlinux 0x8910ff25 tso_build_data +EXPORT_SYMBOL vmlinux 0x891a7577 lock_rename +EXPORT_SYMBOL vmlinux 0x892da7fb pci_disable_device +EXPORT_SYMBOL vmlinux 0x8944408f tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x894d320d xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x894fc843 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x89544cf7 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x89557dd6 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x896a3f82 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x896df90c pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x8970cd25 dcb_setapp +EXPORT_SYMBOL vmlinux 0x89757a66 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x898e0bb2 flush_icache_all +EXPORT_SYMBOL vmlinux 0x898fb53a flush_signals +EXPORT_SYMBOL vmlinux 0x89ad3073 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x89c086ef sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x89f36fee genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x8a0b5679 configfs_register_group +EXPORT_SYMBOL vmlinux 0x8a0be5c9 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x8a1991d3 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x8a32daca unlock_new_inode +EXPORT_SYMBOL vmlinux 0x8a368575 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a48e096 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a61c4c7 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a8123ef ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x8a858598 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa6b3c1 user_revoke +EXPORT_SYMBOL vmlinux 0x8ab39cfb __invalidate_device +EXPORT_SYMBOL vmlinux 0x8ab421e9 __frontswap_test +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8acdad01 skb_checksum +EXPORT_SYMBOL vmlinux 0x8ae0d656 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x8ae7f2f1 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b20f899 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x8b28817a f_setown +EXPORT_SYMBOL vmlinux 0x8b2cf1f7 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x8b2f4217 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x8b492ed4 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x8b4e80fa dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x8b5d9b85 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6c83a6 put_fs_context +EXPORT_SYMBOL vmlinux 0x8b7b60c4 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b80a229 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x8b86d464 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b928e3f of_device_is_available +EXPORT_SYMBOL vmlinux 0x8b96745e pci_find_resource +EXPORT_SYMBOL vmlinux 0x8b98157f jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8bcb4023 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x8bcc022f tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x8bd0a3fd _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x8bd3039a skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x8bf2573d __register_binfmt +EXPORT_SYMBOL vmlinux 0x8bf72486 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x8bfa0f5a get_unmapped_area +EXPORT_SYMBOL vmlinux 0x8c00be36 dquot_alloc +EXPORT_SYMBOL vmlinux 0x8c29bb80 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x8c64c87d dec_node_page_state +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c832dcb alloc_fcdev +EXPORT_SYMBOL vmlinux 0x8c8bba86 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x8c928dba unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x8ca0da83 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x8cae984c bio_put +EXPORT_SYMBOL vmlinux 0x8d00f2d7 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x8d2ee686 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x8d5384b4 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5ca833 sync_blockdev +EXPORT_SYMBOL vmlinux 0x8d68d290 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x8d6ea8a6 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d7d9f88 blk_rq_init +EXPORT_SYMBOL vmlinux 0x8d8c9156 generic_read_dir +EXPORT_SYMBOL vmlinux 0x8d997ffe __d_drop +EXPORT_SYMBOL vmlinux 0x8db86206 dump_page +EXPORT_SYMBOL vmlinux 0x8dcc24dc kernel_write +EXPORT_SYMBOL vmlinux 0x8dda8a28 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x8ddab831 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfd9a44 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x8e309e66 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x8e3d95d0 phy_get_pause +EXPORT_SYMBOL vmlinux 0x8e3f011a __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x8e4dfe67 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x8e542d76 contig_page_data +EXPORT_SYMBOL vmlinux 0x8e591444 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x8e7b68bf nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x8e7bf4b1 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x8e876807 rps_needed +EXPORT_SYMBOL vmlinux 0x8eb216e9 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8eb66894 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x8ebd31f9 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x8ecc28bd invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x8ed35cb4 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8eefc76f filemap_check_errors +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0b2a13 sock_release +EXPORT_SYMBOL vmlinux 0x8f484ee5 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x8f59d9f4 input_unregister_device +EXPORT_SYMBOL vmlinux 0x8f59fa06 uart_match_port +EXPORT_SYMBOL vmlinux 0x8f5dbcb6 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa191d9 bioset_init_from_src +EXPORT_SYMBOL vmlinux 0x8fd31514 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x8fd8db44 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x8febab0e inet_getname +EXPORT_SYMBOL vmlinux 0x8ff4c1b2 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x90024c9f jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x900fcdaa mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x9022f885 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x903470f3 phy_disconnect +EXPORT_SYMBOL vmlinux 0x903977b9 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x903bd463 __icmp_send +EXPORT_SYMBOL vmlinux 0x90481fee scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x904e1eb8 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x905a09e3 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x908a481b device_get_mac_address +EXPORT_SYMBOL vmlinux 0x90ac3102 dev_base_lock +EXPORT_SYMBOL vmlinux 0x90b413c2 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x90c60745 tty_kref_put +EXPORT_SYMBOL vmlinux 0x90cd19c3 inode_init_always +EXPORT_SYMBOL vmlinux 0x90e0352e inet_addr_type +EXPORT_SYMBOL vmlinux 0x90fa03c9 get_super +EXPORT_SYMBOL vmlinux 0x9102a77d __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x9105e222 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x9106d6fe xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x911d58b9 pci_find_bus +EXPORT_SYMBOL vmlinux 0x91315abe netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x9137e230 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x91589476 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x916f28a7 migrate_page_copy +EXPORT_SYMBOL vmlinux 0x917f055d blk_put_queue +EXPORT_SYMBOL vmlinux 0x919689f3 noop_llseek +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91b7ad1c param_get_short +EXPORT_SYMBOL vmlinux 0x91be6ea9 bdi_alloc +EXPORT_SYMBOL vmlinux 0x92054704 sg_miter_start +EXPORT_SYMBOL vmlinux 0x92088865 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x921f9242 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x9227ded2 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x922c9cee nlmsg_notify +EXPORT_SYMBOL vmlinux 0x922de2fb generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923fa767 __xa_store +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x92677909 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bfce81 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x92c265eb page_pool_put_page +EXPORT_SYMBOL vmlinux 0x92ca7a17 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x92d4d710 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x92d63a72 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x92d6a0c7 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93014ea2 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x9306cc6e rtnl_notify +EXPORT_SYMBOL vmlinux 0x9316f825 sk_alloc +EXPORT_SYMBOL vmlinux 0x931dfae1 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x93439923 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x9355f383 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x93656061 neigh_update +EXPORT_SYMBOL vmlinux 0x9376b408 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x9385e7be sock_init_data +EXPORT_SYMBOL vmlinux 0x938984c4 d_drop +EXPORT_SYMBOL vmlinux 0x939753e8 up_write +EXPORT_SYMBOL vmlinux 0x939cb4ee sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93ac7832 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93d5a57b pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x93efd6ed blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x9420f1f5 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x944ac6a8 pci_dev_put +EXPORT_SYMBOL vmlinux 0x94683bd4 nd_integrity_init +EXPORT_SYMBOL vmlinux 0x9471dbb4 down_timeout +EXPORT_SYMBOL vmlinux 0x947384c9 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x9479d876 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x947af47d security_binder_transaction +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x9497c3a3 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x9498315c pci_get_device +EXPORT_SYMBOL vmlinux 0x949f1c7f xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x94a63421 pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0x94b72917 zap_page_range +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c6c5c2 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x94c91869 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x94e6bb43 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x94ea379b ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x94eed4e6 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x95046de5 locks_free_lock +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x952542a1 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x95368d33 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x956f636a fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x957228eb rfkill_alloc +EXPORT_SYMBOL vmlinux 0x957a80bb make_kprojid +EXPORT_SYMBOL vmlinux 0x95ac39db configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x95b5eb35 vfs_get_link +EXPORT_SYMBOL vmlinux 0x95b9a7a2 tty_register_driver +EXPORT_SYMBOL vmlinux 0x95c4ba16 napi_disable +EXPORT_SYMBOL vmlinux 0x95deafd2 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x95fffef0 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x9603a1fa netif_carrier_off +EXPORT_SYMBOL vmlinux 0x9611919b rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x96259da6 input_reset_device +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x962cbba2 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x962d49f8 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x963c6a1e sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x9641cd37 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x964ec027 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x96644211 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x966828b5 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x96773a3a nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0x9680f882 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x96842fce scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x96887e42 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x969fcbef pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b53d57 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96cd78ab tcp_filter +EXPORT_SYMBOL vmlinux 0x96d257c6 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x96d3b787 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0x96e5ba7f nd_device_notify +EXPORT_SYMBOL vmlinux 0x96f429a8 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x96fb3812 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x9716c73a qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x971d7b10 inet6_bind +EXPORT_SYMBOL vmlinux 0x97287a41 arp_tbl +EXPORT_SYMBOL vmlinux 0x972b887b balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x97565718 do_splice_direct +EXPORT_SYMBOL vmlinux 0x9761a6d4 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x9762e013 fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0x9765e99d rt_dst_clone +EXPORT_SYMBOL vmlinux 0x9765ff0b vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x9769f7dd __neigh_event_send +EXPORT_SYMBOL vmlinux 0x978c4aba __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x979b3df4 seq_open +EXPORT_SYMBOL vmlinux 0x979d4808 setup_new_exec +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b01fc0 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x97b34a88 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d129ee percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x97daa71b gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x97e18f42 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x980338d2 of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x9824a498 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x98260637 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983342b4 path_has_submounts +EXPORT_SYMBOL vmlinux 0x983b438a on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x985d1218 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x9864ec6a arp_create +EXPORT_SYMBOL vmlinux 0x98913f3c of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x98b17b68 dev_printk +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d125b1 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0x98d82c8d read_cache_pages +EXPORT_SYMBOL vmlinux 0x98db6f5a radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98fd5d8e panic_notifier_list +EXPORT_SYMBOL vmlinux 0x9911ea1e netlink_broadcast +EXPORT_SYMBOL vmlinux 0x9924e7e2 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x99425420 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x999741b1 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99cf1b3e udp_seq_stop +EXPORT_SYMBOL vmlinux 0x99d01665 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d564fd d_set_d_op +EXPORT_SYMBOL vmlinux 0x99db2f6c fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x99e1015c _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x99f88ca1 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x99ffd2f2 unlock_rename +EXPORT_SYMBOL vmlinux 0x9a06a43e tcp_seq_start +EXPORT_SYMBOL vmlinux 0x9a081a91 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1e0404 disk_start_io_acct +EXPORT_SYMBOL vmlinux 0x9a37fe3c devm_ioremap +EXPORT_SYMBOL vmlinux 0x9a49e28b pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a589b31 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9a6660ae bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a754f93 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x9aa24af1 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ac16caa dma_async_device_register +EXPORT_SYMBOL vmlinux 0x9ad4e116 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x9ad8c894 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x9aebebb4 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x9b009440 pskb_extract +EXPORT_SYMBOL vmlinux 0x9b01f7ff skb_ext_add +EXPORT_SYMBOL vmlinux 0x9b06460d fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x9b18fe8b page_get_link +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b443e32 bio_uninit +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b5153bc phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x9b5cd80e pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x9b64b3ac sk_wait_data +EXPORT_SYMBOL vmlinux 0x9b7431ca pagecache_get_page +EXPORT_SYMBOL vmlinux 0x9b75e74b blk_register_region +EXPORT_SYMBOL vmlinux 0x9b8a25d8 block_write_end +EXPORT_SYMBOL vmlinux 0x9b9104ec posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x9b92fe4f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x9b9f14c4 vme_register_driver +EXPORT_SYMBOL vmlinux 0x9bdc51ef hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x9be31651 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x9be59022 nobh_writepage +EXPORT_SYMBOL vmlinux 0x9c22e75e fs_lookup_param +EXPORT_SYMBOL vmlinux 0x9c237f85 simple_link +EXPORT_SYMBOL vmlinux 0x9c318857 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x9c35a590 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x9c543879 param_set_ulong +EXPORT_SYMBOL vmlinux 0x9c656e1a tty_register_device +EXPORT_SYMBOL vmlinux 0x9c82a2de inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x9c862451 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9ca19e1f tty_name +EXPORT_SYMBOL vmlinux 0x9ca77596 kfree_skb +EXPORT_SYMBOL vmlinux 0x9caac469 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb037a7 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x9cc0222d skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd0dafa eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x9cd2f680 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cefdf19 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d2ac80a unload_nls +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d332352 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x9d384bef sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x9d3dba40 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x9d44c5a9 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x9d665819 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x9d6955fa scsi_partsize +EXPORT_SYMBOL vmlinux 0x9d79f324 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x9d8ea869 inet_put_port +EXPORT_SYMBOL vmlinux 0x9d948b2d dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x9db09610 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x9dbad249 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x9dd33cb7 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x9ddf8db9 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x9de1ea00 lookup_bdev +EXPORT_SYMBOL vmlinux 0x9decd9f5 keyring_alloc +EXPORT_SYMBOL vmlinux 0x9df24a6b filemap_flush +EXPORT_SYMBOL vmlinux 0x9df6b361 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x9dfd603f sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0e0411 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e0fce75 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e27a50d dma_free_attrs +EXPORT_SYMBOL vmlinux 0x9e310097 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x9e4e9296 dql_init +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5b5995 dquot_acquire +EXPORT_SYMBOL vmlinux 0x9e5feeea dquot_destroy +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e63a4ab scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x9e7b7b28 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x9e8d0b98 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x9e9a0049 netlink_unicast +EXPORT_SYMBOL vmlinux 0x9e9a6980 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x9e9d1e1c lookup_one_len +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb4d3b6 cdev_add +EXPORT_SYMBOL vmlinux 0x9eb88de8 xa_set_mark +EXPORT_SYMBOL vmlinux 0x9ebeb6cb inet_protos +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ef9fd4d udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x9f04fba8 single_release +EXPORT_SYMBOL vmlinux 0x9f2d42b8 d_find_alias +EXPORT_SYMBOL vmlinux 0x9f333f23 ilookup +EXPORT_SYMBOL vmlinux 0x9f369596 mutex_unlock +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4a2b26 dma_resv_init +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f61d184 blk_get_request +EXPORT_SYMBOL vmlinux 0x9f633563 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x9f635600 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f6ebaef qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x9f74dd8f block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9face558 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe88b0b pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ff74dac tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffb9704 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xa020f9f0 audit_log_task_context +EXPORT_SYMBOL vmlinux 0xa0244bb1 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xa038b6c2 d_alloc +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04fc9ce phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa0594396 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xa0648349 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xa068f555 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xa0740ddd sbi_console_getchar +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa08ad268 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0baba8a cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xa0bec272 import_iovec +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0df2820 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1039d7f sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11340a3 inode_set_flags +EXPORT_SYMBOL vmlinux 0xa1186cc1 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12e2fbc max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xa133257f mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa16d3d1f dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0xa1794c11 param_ops_byte +EXPORT_SYMBOL vmlinux 0xa17cd27d max8925_reg_read +EXPORT_SYMBOL vmlinux 0xa1839690 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa18bbbae finish_no_open +EXPORT_SYMBOL vmlinux 0xa19b1bba arp_send +EXPORT_SYMBOL vmlinux 0xa1c4b53f tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1e0307f cpumask_next +EXPORT_SYMBOL vmlinux 0xa1e650ba dev_activate +EXPORT_SYMBOL vmlinux 0xa1f4e8d4 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa207c9c1 cred_fscmp +EXPORT_SYMBOL vmlinux 0xa2403419 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa27ca918 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xa283279d device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa298b650 _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xa2ba5b83 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xa2cb475c always_delete_dentry +EXPORT_SYMBOL vmlinux 0xa2d69e90 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0xa2f0c7df __xa_alloc +EXPORT_SYMBOL vmlinux 0xa2f73080 bio_init +EXPORT_SYMBOL vmlinux 0xa2fbb511 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xa3023f0a bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xa312592f sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xa3250855 dev_trans_start +EXPORT_SYMBOL vmlinux 0xa336bbc5 thaw_super +EXPORT_SYMBOL vmlinux 0xa33992a8 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xa35cd842 kernel_accept +EXPORT_SYMBOL vmlinux 0xa36da212 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xa373837c put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0xa37e4d6d zpool_register_driver +EXPORT_SYMBOL vmlinux 0xa381944f dql_reset +EXPORT_SYMBOL vmlinux 0xa384fa7d mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xa389c945 down_interruptible +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a4fa7e seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xa3a54979 init_on_free +EXPORT_SYMBOL vmlinux 0xa3ae79e2 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xa3aee5dc phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xa3b5d03f tcp_conn_request +EXPORT_SYMBOL vmlinux 0xa3c00c06 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0xa3c042fb blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xa3c2c2b6 input_register_device +EXPORT_SYMBOL vmlinux 0xa3c44feb __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xa3cf0b71 unix_gc_lock +EXPORT_SYMBOL vmlinux 0xa3d7d340 freeze_super +EXPORT_SYMBOL vmlinux 0xa3e4eb9b jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4286c33 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xa43799a8 rfs_needed +EXPORT_SYMBOL vmlinux 0xa43a387f mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xa4552208 init_on_alloc +EXPORT_SYMBOL vmlinux 0xa4595a4d register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa467abb2 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xa46a05ad of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xa47ae2b1 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xa47ef733 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xa4b7bb21 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xa4c236c8 __f_setown +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4d6921f jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xa4f01ebe __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa5085489 devm_iounmap +EXPORT_SYMBOL vmlinux 0xa5472575 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xa55072a1 param_get_int +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55bf67a of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0xa55cb6b1 cont_write_begin +EXPORT_SYMBOL vmlinux 0xa5692eb6 sg_miter_skip +EXPORT_SYMBOL vmlinux 0xa571fb3f ptp_clock_register +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5b3da11 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xa5b844ae nmi_panic +EXPORT_SYMBOL vmlinux 0xa5d2b871 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xa5d4039c devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xa5df3e67 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xa5f165f0 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xa5f9e8a7 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xa5fff628 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xa6028802 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xa6042f83 key_task_permission +EXPORT_SYMBOL vmlinux 0xa61072cc fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa64b0974 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xa6513208 mutex_lock +EXPORT_SYMBOL vmlinux 0xa65e9053 fc_mount +EXPORT_SYMBOL vmlinux 0xa66203d0 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xa665a802 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0xa6677e0a tcp_read_sock +EXPORT_SYMBOL vmlinux 0xa66b2081 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xa66d32d1 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0xa6715aab dev_open +EXPORT_SYMBOL vmlinux 0xa671f252 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xa67e7c9b sock_alloc +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa6ad5e44 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xa6b6fa3c __asm_copy_to_user +EXPORT_SYMBOL vmlinux 0xa700335f xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xa700cc6e input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xa710fdf0 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0xa716d282 vlan_vid_del +EXPORT_SYMBOL vmlinux 0xa7178823 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xa72957cc __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0xa72a849a mark_page_accessed +EXPORT_SYMBOL vmlinux 0xa72dab62 up +EXPORT_SYMBOL vmlinux 0xa72ed17d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xa737c1d3 misc_deregister +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa74caea3 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xa752abcd set_device_ro +EXPORT_SYMBOL vmlinux 0xa778bf0c jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xa779f9fe pci_resize_resource +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa77eb3c6 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xa7830214 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xa7a31afa tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xa7ad10d7 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0xa7c446a1 sg_last +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eb5408 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7f9eb02 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0xa7fd2ead fb_set_suspend +EXPORT_SYMBOL vmlinux 0xa80aa0f6 cdev_init +EXPORT_SYMBOL vmlinux 0xa8260b9f dquot_get_state +EXPORT_SYMBOL vmlinux 0xa8298e5e lru_cache_add +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa83348fb simple_rename +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa8496341 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa852dc1d inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xa85d7904 blk_queue_split +EXPORT_SYMBOL vmlinux 0xa864275a scm_fp_dup +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8696054 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0xa887e178 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xa8885ed3 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa89c94f2 sock_alloc_file +EXPORT_SYMBOL vmlinux 0xa89d282f lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xa8a1edfc mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8f0b51b mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xa8f27858 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8f97a8b of_get_parent +EXPORT_SYMBOL vmlinux 0xa905eed0 arp_xmit +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa916f731 reuseport_alloc +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa93fe7f2 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xa9419d2e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa9550c9f pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xa956fcf2 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xa9614684 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa9663d5d inode_io_list_del +EXPORT_SYMBOL vmlinux 0xa9687ecc netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xa972076b mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa996e050 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa99e6835 vfs_create +EXPORT_SYMBOL vmlinux 0xa9a0e3f6 tty_port_close +EXPORT_SYMBOL vmlinux 0xa9b5c933 simple_fill_super +EXPORT_SYMBOL vmlinux 0xa9cb2019 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xa9eb4ec2 find_inode_nowait +EXPORT_SYMBOL vmlinux 0xa9f08502 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0xaa06638e dev_get_by_index +EXPORT_SYMBOL vmlinux 0xaa07002a simple_nosetlease +EXPORT_SYMBOL vmlinux 0xaa107fbd km_new_mapping +EXPORT_SYMBOL vmlinux 0xaa12bf39 tcp_child_process +EXPORT_SYMBOL vmlinux 0xaa2f34ee mmc_can_discard +EXPORT_SYMBOL vmlinux 0xaa430804 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xaa59dc3b adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa8c1068 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xaa8f8c45 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0xaa9a7c03 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaab410a6 param_get_long +EXPORT_SYMBOL vmlinux 0xaabc451f rt6_lookup +EXPORT_SYMBOL vmlinux 0xaabea73b netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xaac7585c __dquot_transfer +EXPORT_SYMBOL vmlinux 0xaacd1177 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad575f4 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xaad673db param_set_charp +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaaef77a7 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xaafe1793 pps_event +EXPORT_SYMBOL vmlinux 0xaafed175 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xab07502a xfrm_register_type +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab59702f poll_initwait +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab78e5f7 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0xab7fc03b dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xabb8ff98 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xabeae2e8 iterate_dir +EXPORT_SYMBOL vmlinux 0xabed56a8 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac00936d flow_block_cb_free +EXPORT_SYMBOL vmlinux 0xac147755 rtc_add_groups +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac34e47d bd_set_size +EXPORT_SYMBOL vmlinux 0xac47c731 param_array_ops +EXPORT_SYMBOL vmlinux 0xac4828be vga_put +EXPORT_SYMBOL vmlinux 0xac57d39b alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xac5dc7e2 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac7bdffd dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac85ac2d user_path_create +EXPORT_SYMBOL vmlinux 0xac89c89e flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xac941339 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xac99aad0 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xaca925fd scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacacd531 vme_dma_request +EXPORT_SYMBOL vmlinux 0xacc6efc7 bio_devname +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacdf2d11 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacf8ad78 d_make_root +EXPORT_SYMBOL vmlinux 0xacfb11b7 pcie_set_mps +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad18c1e7 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xad1c5459 sbi_remote_sfence_vma_asid +EXPORT_SYMBOL vmlinux 0xad22859e mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0xad2897f8 skb_append +EXPORT_SYMBOL vmlinux 0xad6b2585 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xad6f7144 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad8713eb phy_connect +EXPORT_SYMBOL vmlinux 0xad893303 of_match_device +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xada532f8 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xadb2a431 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xadbc6d3f ida_free +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xadd05e33 scsi_host_put +EXPORT_SYMBOL vmlinux 0xadd68ffb dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xadd8c079 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xaddb7519 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xadf0a0ac d_move +EXPORT_SYMBOL vmlinux 0xadf148d2 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae1a1aa7 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xae1d4ff8 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xae1e8b5c jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xae27e1e1 set_cached_acl +EXPORT_SYMBOL vmlinux 0xae2a7fb3 register_md_personality +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae3c58b7 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xae4b63fb touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xae6e17e5 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xae7ca9b3 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xae9614f2 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0xaea85b18 bio_clone_fast +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeb12fc5 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xaec339c2 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xaef7e1a5 ip_options_compile +EXPORT_SYMBOL vmlinux 0xaf19ebd4 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xaf1f02bd seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf40ff6e genphy_resume +EXPORT_SYMBOL vmlinux 0xaf860f56 mdiobus_read +EXPORT_SYMBOL vmlinux 0xaf9d1ef4 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xafa98054 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xafd29316 neigh_xmit +EXPORT_SYMBOL vmlinux 0xafe038f5 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xafe30036 nf_reinject +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb01d5f7b tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xb024c1ef pcie_print_link_status +EXPORT_SYMBOL vmlinux 0xb0311ccc inet_gso_segment +EXPORT_SYMBOL vmlinux 0xb0325394 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xb0411c69 param_get_charp +EXPORT_SYMBOL vmlinux 0xb05ad7a1 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb064573d seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0xb071bbee xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb07dc425 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0xb07e4773 da903x_query_status +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a1a0fb input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0c3f840 of_node_name_eq +EXPORT_SYMBOL vmlinux 0xb0dd3769 super_setup_bdi +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f37d40 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb107b339 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xb11a34c7 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb130be9f ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xb13730b5 is_subdir +EXPORT_SYMBOL vmlinux 0xb13a771c __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb154344e scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb15d9581 __skb_get_hash +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb169c3e7 dentry_open +EXPORT_SYMBOL vmlinux 0xb16e45d4 down_write_killable +EXPORT_SYMBOL vmlinux 0xb17ffaad devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xb19c5c3b __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1aa1e39 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xb1b6bd3a of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xb1bc74b0 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb1e7af1b rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xb1f1fa1c fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xb1f5597f nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xb1fd6ea5 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xb2002784 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xb206ad4f netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb24bb679 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xb2549a6c i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xb26d3e42 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0xb28cc1a9 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xb28de8f5 neigh_destroy +EXPORT_SYMBOL vmlinux 0xb2983ffa posix_acl_valid +EXPORT_SYMBOL vmlinux 0xb29b3504 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xb2b04157 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xb2b0a83f inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xb2b41d59 md_bitmap_free +EXPORT_SYMBOL vmlinux 0xb2d0053e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xb2db41cc inet_stream_connect +EXPORT_SYMBOL vmlinux 0xb2e0406e hmm_range_fault +EXPORT_SYMBOL vmlinux 0xb2ec1e0f unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb3081e38 param_ops_bint +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb3316e1c kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xb332220c dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xb347a6ce get_task_exe_file +EXPORT_SYMBOL vmlinux 0xb35ffb00 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36c7453 seq_vprintf +EXPORT_SYMBOL vmlinux 0xb3a70da8 blk_put_request +EXPORT_SYMBOL vmlinux 0xb3b218a9 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xb3c597c8 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0xb3d1abde param_set_ushort +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3d749a8 cdev_device_add +EXPORT_SYMBOL vmlinux 0xb3dc7ac5 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xb3e3cc9d proto_unregister +EXPORT_SYMBOL vmlinux 0xb3eacff3 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xb3eb87df iget_failed +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3fc72a9 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xb40846d5 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0xb4145e55 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xb4158593 input_open_device +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423cc79 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42e4a2d kernel_getpeername +EXPORT_SYMBOL vmlinux 0xb4465cb6 blackhole_netdev +EXPORT_SYMBOL vmlinux 0xb44a70ad devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0xb44ad4b3 _copy_to_user +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4940f33 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb4a43d57 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xb4b25bbb security_d_instantiate +EXPORT_SYMBOL vmlinux 0xb4c44ba9 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xb4d33b72 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xb4e5254d sbi_clear_ipi +EXPORT_SYMBOL vmlinux 0xb4ecb09e devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb50b2ee5 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0xb51c00d1 sock_register +EXPORT_SYMBOL vmlinux 0xb5201840 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0xb526651d tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0xb55fad73 inet_shutdown +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb599e9ed vfs_mkdir +EXPORT_SYMBOL vmlinux 0xb59ab44a netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a8c14d flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xb5a9b31d posix_lock_file +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b34e0b of_device_register +EXPORT_SYMBOL vmlinux 0xb5bd48f9 d_exact_alias +EXPORT_SYMBOL vmlinux 0xb5be4608 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xb5bfb33c flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xb5c482cf phy_connect_direct +EXPORT_SYMBOL vmlinux 0xb5cfab56 scsi_host_get +EXPORT_SYMBOL vmlinux 0xb5d88a7d udp_set_csum +EXPORT_SYMBOL vmlinux 0xb5dd3311 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5e88311 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xb5ec3712 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xb6111c5d md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xb61e161c dump_emit +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6478040 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb64e5a20 fput +EXPORT_SYMBOL vmlinux 0xb66c5afc page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb678b0c0 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb68291b7 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xb68b1775 mmc_get_card +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb697034f scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6c6bae1 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xb6d478d1 ihold +EXPORT_SYMBOL vmlinux 0xb6d794b4 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xb6ef571d sock_wfree +EXPORT_SYMBOL vmlinux 0xb71fb74f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0xb72565a1 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xb729d797 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xb74273e7 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xb742fcbc input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xb7536382 block_write_full_page +EXPORT_SYMBOL vmlinux 0xb767e345 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xb7692a92 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0xb770a705 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xb77ede11 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xb78c31a4 of_clk_get +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb79085db jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xb7a57484 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xb7b855fc finish_swait +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7c84ab1 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xb7c94890 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb7d8506e write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xb7db1f41 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xb7e14c02 ip6_xmit +EXPORT_SYMBOL vmlinux 0xb805deab tso_count_descs +EXPORT_SYMBOL vmlinux 0xb8201212 of_device_alloc +EXPORT_SYMBOL vmlinux 0xb8234882 sock_no_getname +EXPORT_SYMBOL vmlinux 0xb827b79f cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb839a73c pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0xb85cada8 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb868c175 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8a1605f nf_hook_slow +EXPORT_SYMBOL vmlinux 0xb8a1b8f7 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xb8a68512 up_read +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8d15cd3 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xb8effc3a xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xb8fffa5a iput +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb909897f of_get_pci_address +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb94380c7 input_match_device_id +EXPORT_SYMBOL vmlinux 0xb94cb146 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb977eec9 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xb97d552b mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xb9871d6e dma_virt_ops +EXPORT_SYMBOL vmlinux 0xb98ed346 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xb9bc07f3 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xb9d5a140 get_phy_device +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9f4e419 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba10ab91 input_event +EXPORT_SYMBOL vmlinux 0xba279b8e mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xba392996 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba55d23e crc7_be +EXPORT_SYMBOL vmlinux 0xba56a0f9 inode_init_once +EXPORT_SYMBOL vmlinux 0xba7a4de6 sock_create_kern +EXPORT_SYMBOL vmlinux 0xba87f6ff swake_up_one +EXPORT_SYMBOL vmlinux 0xbaa08c28 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xbaaf1028 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xbab53b69 component_match_add_typed +EXPORT_SYMBOL vmlinux 0xbab85664 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xbaba766b iov_iter_advance +EXPORT_SYMBOL vmlinux 0xbac63fa2 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xbace7f1c tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xbad13d59 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbadd02ae pmem_sector_size +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb12a989 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xbb1810d1 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xbb20e008 param_ops_ushort +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb259913 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xbb313bfd set_wb_congested +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb528c3f clear_wb_congested +EXPORT_SYMBOL vmlinux 0xbb5ae5cf d_add_ci +EXPORT_SYMBOL vmlinux 0xbb697217 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xbb715996 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xbb788417 vme_irq_handler +EXPORT_SYMBOL vmlinux 0xbb7fcf58 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xbb87da7f blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0xbb9aa84c inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xbbac6766 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xbbb319bf dev_remove_pack +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf1cb39 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0xbc049c8f freezing_slow_path +EXPORT_SYMBOL vmlinux 0xbc058a58 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xbc058e5b jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xbc194131 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xbc20b0b8 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc527674 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xbc986063 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb97e75 bdget +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcdae8a5 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xbce2b1fa inet6_protos +EXPORT_SYMBOL vmlinux 0xbcea7beb xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xbceeebfa gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0xbd021e54 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xbd144684 tty_lock +EXPORT_SYMBOL vmlinux 0xbd2a1fdd xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xbd37d8da pci_release_resource +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd4fcadc scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xbd533f02 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xbd53cd68 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xbd5a9b07 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd7ed65f mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xbd97509b security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xbda3d196 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xbdc32446 __scm_send +EXPORT_SYMBOL vmlinux 0xbddb1c05 pci_find_capability +EXPORT_SYMBOL vmlinux 0xbdf57674 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xbdff3f63 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xbe0d96b7 of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0xbe1bdb1b module_put +EXPORT_SYMBOL vmlinux 0xbe1d2ef3 param_ops_string +EXPORT_SYMBOL vmlinux 0xbe1e80c5 dev_uc_del +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe6235b7 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xbea102fb seq_release_private +EXPORT_SYMBOL vmlinux 0xbeb63007 register_netdevice +EXPORT_SYMBOL vmlinux 0xbed60454 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xbed8d8a9 kset_unregister +EXPORT_SYMBOL vmlinux 0xbedcd768 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xbede606f dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xbee72eaa down_read_killable +EXPORT_SYMBOL vmlinux 0xbeec10d5 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf04134a __ip_dev_find +EXPORT_SYMBOL vmlinux 0xbf06e7fd wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xbf0b5491 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xbf3ee446 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xbf4be196 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0xbf555389 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf6252ef scsi_device_get +EXPORT_SYMBOL vmlinux 0xbf6cea2d tcp_disconnect +EXPORT_SYMBOL vmlinux 0xbf76d4ce simple_transaction_release +EXPORT_SYMBOL vmlinux 0xbf7adddc vme_unregister_driver +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa0461c generic_write_checks +EXPORT_SYMBOL vmlinux 0xbfa90a15 ethtool_notify +EXPORT_SYMBOL vmlinux 0xbfb6c62c generic_file_fsync +EXPORT_SYMBOL vmlinux 0xbfd2b596 simple_get_link +EXPORT_SYMBOL vmlinux 0xbfdd2c75 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff15acc padata_free +EXPORT_SYMBOL vmlinux 0xbff7975a __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xc017cb9d tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc057f4db tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc08c17fc radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xc08e93e0 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0xc08f258e skb_copy_expand +EXPORT_SYMBOL vmlinux 0xc0904954 vm_mmap +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a7f7ed abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0bd9eb4 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0xc0bff236 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xc0c791b3 kill_fasync +EXPORT_SYMBOL vmlinux 0xc0d22437 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0e8ff37 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xc0fc18d6 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc10b5a39 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc13a3bff jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xc13a7ba6 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc153147e pcim_pin_device +EXPORT_SYMBOL vmlinux 0xc1588e66 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xc1632cdb pci_write_config_word +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc169193e tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc17603eb pci_write_vpd +EXPORT_SYMBOL vmlinux 0xc1a00b5f udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xc1a43555 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xc1ac696d __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xc1d367ca do_clone_file_range +EXPORT_SYMBOL vmlinux 0xc1d738b4 xp_free +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1d90a2c dev_add_offload +EXPORT_SYMBOL vmlinux 0xc1df6aa3 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0xc1e0b8d4 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xc1f433ff phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xc239d575 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xc254a5a7 phy_resume +EXPORT_SYMBOL vmlinux 0xc2632f67 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc26dc434 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0xc27457e6 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xc2839690 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc29cb6eb sk_ns_capable +EXPORT_SYMBOL vmlinux 0xc2a377ac dquot_initialize +EXPORT_SYMBOL vmlinux 0xc2beed54 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xc2c64f8e on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0xc2c7fa96 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ecd1cf max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xc2f0f5fe mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0xc2f445a6 end_page_writeback +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc2fc42e6 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc316f738 mdio_driver_register +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc322e673 nvm_register +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc33b353c prepare_creds +EXPORT_SYMBOL vmlinux 0xc357ac1d take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xc38c4c3b vfs_readlink +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3975c67 tcp_time_wait +EXPORT_SYMBOL vmlinux 0xc3a7bd7e ip_frag_init +EXPORT_SYMBOL vmlinux 0xc3e4a6ed __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xc3f5560b inet_add_protocol +EXPORT_SYMBOL vmlinux 0xc3fd806f ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xc4097c34 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xc40d832d pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xc416f2e2 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xc41bc646 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc426b6ea block_read_full_page +EXPORT_SYMBOL vmlinux 0xc42d347a prepare_to_wait +EXPORT_SYMBOL vmlinux 0xc4385406 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xc44b2b9b tso_start +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4884593 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xc490dae3 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xc4abaedf md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xc4bd2037 mntget +EXPORT_SYMBOL vmlinux 0xc4d65b50 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xc4e57100 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xc4ed5445 sg_next +EXPORT_SYMBOL vmlinux 0xc4f3fb3c bio_free_pages +EXPORT_SYMBOL vmlinux 0xc4f819f7 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xc51406e8 tty_port_init +EXPORT_SYMBOL vmlinux 0xc52d1d54 mount_nodev +EXPORT_SYMBOL vmlinux 0xc57098b4 param_get_byte +EXPORT_SYMBOL vmlinux 0xc584ea6e register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc589444a pci_select_bars +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5abafe8 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5cd88ec dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xc5e000ad xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5e9eef9 bdget_disk +EXPORT_SYMBOL vmlinux 0xc5f17f32 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xc602a75c dev_add_pack +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc609def4 __phy_resume +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc64a1838 phy_write_mmd +EXPORT_SYMBOL vmlinux 0xc64fc44d logfc +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc675e0e2 genl_notify +EXPORT_SYMBOL vmlinux 0xc67df472 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xc6990640 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6e5d8bc hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc6efd678 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xc6f2f0ba abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f471f9 put_disk +EXPORT_SYMBOL vmlinux 0xc6fec868 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xc700ee0a kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xc70eaeac __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xc7115d70 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0xc71dec20 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xc71f5d6b kobject_init +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc7225d82 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xc7231a35 cdev_del +EXPORT_SYMBOL vmlinux 0xc726f1b6 skb_push +EXPORT_SYMBOL vmlinux 0xc73db9da scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xc73dd955 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xc743f236 of_find_property +EXPORT_SYMBOL vmlinux 0xc77d031b tcp_seq_next +EXPORT_SYMBOL vmlinux 0xc77fbbea blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc787b219 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79e43f6 register_sysctl +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7af7e15 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xc7b184fc unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7e42b44 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xc7ee4679 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xc7ef5b42 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xc7f21ba0 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xc8004e73 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xc814c667 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xc8184a8c pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc833dfbb pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc85c336f add_watch_to_object +EXPORT_SYMBOL vmlinux 0xc85f5340 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xc864a724 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc882c368 genl_register_family +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc89c446f jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xc8a63246 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b587b0 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xc8bcbaf6 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xc8d8b6fb neigh_table_init +EXPORT_SYMBOL vmlinux 0xc8dcb98b sg_miter_stop +EXPORT_SYMBOL vmlinux 0xc8ead9f0 down_read +EXPORT_SYMBOL vmlinux 0xc8f3ed00 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xc909a0a4 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc90a5274 pci_pme_active +EXPORT_SYMBOL vmlinux 0xc90f452e bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc9123547 security_path_unlink +EXPORT_SYMBOL vmlinux 0xc918ac40 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xc92dd661 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xc936fe1a locks_remove_posix +EXPORT_SYMBOL vmlinux 0xc940de89 ip_defrag +EXPORT_SYMBOL vmlinux 0xc94fb727 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xc9565e81 down_write_trylock +EXPORT_SYMBOL vmlinux 0xc95837eb of_phy_attach +EXPORT_SYMBOL vmlinux 0xc95eef0b d_invalidate +EXPORT_SYMBOL vmlinux 0xc95f8cb9 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0xc960bf8e mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc9636406 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xc9652872 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xc96b050d fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc9965b30 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a397a0 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc9d48147 timestamp_truncate +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e33079 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xca0fdd28 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca17208d file_update_time +EXPORT_SYMBOL vmlinux 0xca18983b phy_init_hw +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca453813 task_work_add +EXPORT_SYMBOL vmlinux 0xca5e25a5 ipv4_specific +EXPORT_SYMBOL vmlinux 0xca6ba03b input_set_timestamp +EXPORT_SYMBOL vmlinux 0xca7b3eaf of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xca89dd0e in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xcac7da3b dq_data_lock +EXPORT_SYMBOL vmlinux 0xcae4fdad mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcafeabb0 register_framebuffer +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb1160b8 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xcb2cc212 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb5810f3 dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0xcb58a613 sock_no_connect +EXPORT_SYMBOL vmlinux 0xcb59dc97 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xcb6a0c78 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xcb818e78 idr_destroy +EXPORT_SYMBOL vmlinux 0xcb86c050 inode_dio_wait +EXPORT_SYMBOL vmlinux 0xcb90e630 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0xcb961a18 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xcb9b8703 wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcba7245f file_open_root +EXPORT_SYMBOL vmlinux 0xcbb8c059 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbec5808 make_kgid +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcbfc38c6 can_nice +EXPORT_SYMBOL vmlinux 0xcbfda94d pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xcc051969 __scm_destroy +EXPORT_SYMBOL vmlinux 0xcc0f1a06 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2733b9 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xcc30f0f1 tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc51f9e1 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc5d2eb8 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xcc5fe3c2 _dev_warn +EXPORT_SYMBOL vmlinux 0xcc790121 inc_nlink +EXPORT_SYMBOL vmlinux 0xccb23684 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd18c818 netdev_emerg +EXPORT_SYMBOL vmlinux 0xcd195cc2 blkdev_put +EXPORT_SYMBOL vmlinux 0xcd211cc4 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd313d31 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xcd37a374 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xcd421258 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xcd50ed1d PageMovable +EXPORT_SYMBOL vmlinux 0xcd54d968 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcd64474b netdev_printk +EXPORT_SYMBOL vmlinux 0xcd7dd4d7 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xcdbb9205 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdd91ec2 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdf50518 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xce0f90da mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xce1c17c9 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2a8415 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce3ac19f bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xce40c9b6 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce4fee23 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce527c36 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5fffe4 block_commit_write +EXPORT_SYMBOL vmlinux 0xce62b879 d_instantiate_new +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce878d6c blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb6e7e9 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xceb8ee47 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcef39e2b current_in_userns +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf05df8b __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xcf08fe52 seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xcf1adf43 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf1ed25b file_remove_privs +EXPORT_SYMBOL vmlinux 0xcf25cdd4 skb_split +EXPORT_SYMBOL vmlinux 0xcf2fe16c d_instantiate +EXPORT_SYMBOL vmlinux 0xcf33fc23 phy_init_eee +EXPORT_SYMBOL vmlinux 0xcf37308d jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xcf4c4a2e of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xcf4d3821 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xcf5136a4 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xcf7ea7f9 inet6_getname +EXPORT_SYMBOL vmlinux 0xcf9a05f6 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfb8a0e1 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xd008420f devm_memunmap +EXPORT_SYMBOL vmlinux 0xd041c46a inet_frag_find +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd0493181 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd04c7414 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xd05faa22 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0622d46 vme_init_bridge +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd07aba2a vfs_get_tree +EXPORT_SYMBOL vmlinux 0xd0a1e363 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0ab92b2 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xd0b86728 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0ee4255 vm_map_pages +EXPORT_SYMBOL vmlinux 0xd0f6e887 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xd0f9de31 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xd0fb53fe skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xd10de200 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xd10f978c tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xd1128c79 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xd1141fd3 devm_clk_get +EXPORT_SYMBOL vmlinux 0xd13c897c nvm_end_io +EXPORT_SYMBOL vmlinux 0xd164e2e1 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xd165bb9b bdi_put +EXPORT_SYMBOL vmlinux 0xd179eb66 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1859e7a param_set_ullong +EXPORT_SYMBOL vmlinux 0xd19747dd __skb_pad +EXPORT_SYMBOL vmlinux 0xd1a27ecd mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0xd1b4b460 param_ops_charp +EXPORT_SYMBOL vmlinux 0xd1c3070e tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xd1d1b324 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1ec084c pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xd1edd4d6 single_open_size +EXPORT_SYMBOL vmlinux 0xd1f6a162 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xd1fa7bd6 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xd1ff6d4d jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd2013b0a xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xd22727ea __sk_dst_check +EXPORT_SYMBOL vmlinux 0xd22db69c register_fib_notifier +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd266e4fd dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xd267a586 free_netdev +EXPORT_SYMBOL vmlinux 0xd2767e12 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd281af84 blkdev_fsync +EXPORT_SYMBOL vmlinux 0xd28ab61c proc_dostring +EXPORT_SYMBOL vmlinux 0xd2905bea xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xd2b02dad send_sig_info +EXPORT_SYMBOL vmlinux 0xd2bdcb62 no_llseek +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2daa345 simple_readpage +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2eb32b9 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0xd2ebff1d mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xd2fac1f5 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd2fe5e01 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xd3082358 fd_install +EXPORT_SYMBOL vmlinux 0xd30f79d1 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd31ef492 kobject_put +EXPORT_SYMBOL vmlinux 0xd3219210 dev_get_flags +EXPORT_SYMBOL vmlinux 0xd3492f68 km_policy_notify +EXPORT_SYMBOL vmlinux 0xd349bb4c blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd3b724e3 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xd3d2543e of_translate_address +EXPORT_SYMBOL vmlinux 0xd3d71484 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3ed4487 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0xd4065a29 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd40e6f52 tty_throttle +EXPORT_SYMBOL vmlinux 0xd4137e77 dst_discard_out +EXPORT_SYMBOL vmlinux 0xd41fe818 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd43cfefa scsi_target_resume +EXPORT_SYMBOL vmlinux 0xd43d77dc scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd44195b2 vc_cons +EXPORT_SYMBOL vmlinux 0xd44c9b92 __ps2_command +EXPORT_SYMBOL vmlinux 0xd455b098 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xd45a2af7 unpin_user_page +EXPORT_SYMBOL vmlinux 0xd45af6f1 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd46218f4 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xd487988c ip_setsockopt +EXPORT_SYMBOL vmlinux 0xd4959b14 peernet2id +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bbf425 netdev_update_features +EXPORT_SYMBOL vmlinux 0xd4e31355 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xd4ec8830 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xd5002f4d phy_read_paged +EXPORT_SYMBOL vmlinux 0xd50ef9e8 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xd5102cc0 get_user_pages +EXPORT_SYMBOL vmlinux 0xd51a19e9 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd53a7244 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xd5526a6d wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xd58bc59f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xd5a779b3 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xd5a8a0fc blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xd5b07f7a pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5d12c5b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xd5d821cb __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xd5d95a00 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xd5f43153 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd60f1b4a vlan_for_each +EXPORT_SYMBOL vmlinux 0xd610c844 free_buffer_head +EXPORT_SYMBOL vmlinux 0xd6187427 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xd61f5862 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xd63496f3 idr_replace +EXPORT_SYMBOL vmlinux 0xd6357f70 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xd63b52de mod_node_page_state +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd645e4a9 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xd65c9444 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xd6726379 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xd677013b vga_con +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b33e7d wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xd6bc59f1 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0xd6cb8570 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xd6e2087a revert_creds +EXPORT_SYMBOL vmlinux 0xd6e247e6 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xd6e28372 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xd6e2ea2c dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6eb6673 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0e4ed blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd7097a1d i2c_register_driver +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd710b184 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0xd71c7810 update_region +EXPORT_SYMBOL vmlinux 0xd728f247 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xd731ee59 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd76557ce nonseekable_open +EXPORT_SYMBOL vmlinux 0xd77334d8 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0xd77f994d sock_set_priority +EXPORT_SYMBOL vmlinux 0xd7852bf4 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e5ca5f scsi_print_result +EXPORT_SYMBOL vmlinux 0xd7e71e23 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd7f41a54 get_tree_single +EXPORT_SYMBOL vmlinux 0xd7fa5ca4 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd806c235 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xd8081198 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL vmlinux 0xd81a37ca rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd81ada86 inet_gro_complete +EXPORT_SYMBOL vmlinux 0xd81ae07d vfs_rmdir +EXPORT_SYMBOL vmlinux 0xd8270aa0 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xd82cac40 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xd8327a0a input_get_timestamp +EXPORT_SYMBOL vmlinux 0xd8332795 get_acl +EXPORT_SYMBOL vmlinux 0xd83a376e phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xd85ad148 qdisc_reset +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd860755b __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd8925a5d sbi_ecall +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8ad7fd0 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xd8c35e77 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xd8de9521 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0xd8e26ecb jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xd8f061a4 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xd8f663b3 block_truncate_page +EXPORT_SYMBOL vmlinux 0xd901b2a1 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd9157888 dev_get_iflink +EXPORT_SYMBOL vmlinux 0xd9182973 load_nls +EXPORT_SYMBOL vmlinux 0xd91860fa unlock_page +EXPORT_SYMBOL vmlinux 0xd92d8d7c page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xd938b960 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xd93b5652 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0xd9565fb6 dev_addr_del +EXPORT_SYMBOL vmlinux 0xd9706e88 iunique +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9b2ba47 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xd9b87c38 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xd9bb1ea6 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xd9c0d461 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e3bb31 sbi_remote_hfence_gvma_vmid +EXPORT_SYMBOL vmlinux 0xda2373b0 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xda310391 genphy_loopback +EXPORT_SYMBOL vmlinux 0xda321f31 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0xda347acd security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda450db6 iget_locked +EXPORT_SYMBOL vmlinux 0xda675c16 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xda67ddeb blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda73c481 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xda7a8e93 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xda84840c configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda9733fa trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaa0231c pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xdaac0aef scmd_printk +EXPORT_SYMBOL vmlinux 0xdabb2b68 ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdadbf8f5 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xdaf790de mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xdb032b13 param_set_bint +EXPORT_SYMBOL vmlinux 0xdb1e8564 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xdb33724d i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xdb47aa07 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6fe4a4 udp_poll +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb8db877 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0xdb907206 secpath_set +EXPORT_SYMBOL vmlinux 0xdbb134ed ppp_dev_name +EXPORT_SYMBOL vmlinux 0xdbb62fcc stop_tty +EXPORT_SYMBOL vmlinux 0xdbc1d44e tcp_ioctl +EXPORT_SYMBOL vmlinux 0xdbc93dd5 __kfree_skb +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe14b36 generic_file_open +EXPORT_SYMBOL vmlinux 0xdc0921d3 rename_lock +EXPORT_SYMBOL vmlinux 0xdc0b0bed iter_file_splice_write +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc466b80 vif_device_init +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc4b7682 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xdc61246c scsi_register_driver +EXPORT_SYMBOL vmlinux 0xdc9329d8 set_create_files_as +EXPORT_SYMBOL vmlinux 0xdcafbfcf generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xdcb03c87 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xdcdce7c6 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xdce49b81 get_disk_and_module +EXPORT_SYMBOL vmlinux 0xdcea12b6 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xdcfc9de2 cdev_alloc +EXPORT_SYMBOL vmlinux 0xdcfe0e24 I_BDEV +EXPORT_SYMBOL vmlinux 0xdcfe889d phy_suspend +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd33edba abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xdd343d2e dqget +EXPORT_SYMBOL vmlinux 0xdd5dcf62 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdda0e83b filemap_fault +EXPORT_SYMBOL vmlinux 0xddcd8d7d bioset_exit +EXPORT_SYMBOL vmlinux 0xddd0450f of_get_compatible_child +EXPORT_SYMBOL vmlinux 0xdde39ce0 down_write +EXPORT_SYMBOL vmlinux 0xddecbad3 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xddfa6a39 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xde243521 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xde2459c1 phy_detach +EXPORT_SYMBOL vmlinux 0xde30b909 inet_offloads +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde529119 inode_init_owner +EXPORT_SYMBOL vmlinux 0xde5a7c9d register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xde5da705 md_done_sync +EXPORT_SYMBOL vmlinux 0xde6804e8 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xde69fb52 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xde6e7b54 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xde98d3c1 bio_copy_data +EXPORT_SYMBOL vmlinux 0xde99c892 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xdeae5b95 tcf_em_register +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded9be6d follow_up +EXPORT_SYMBOL vmlinux 0xdedc71e5 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xdef00cee radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdefb3b46 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xdefe777a input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0xdf078e92 input_setup_polling +EXPORT_SYMBOL vmlinux 0xdf0a5fb3 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0xdf135048 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf3891e7 irq_set_chip +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf7edb7c netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xdf881eb3 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf937558 dcb_getapp +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9898ec mdio_device_free +EXPORT_SYMBOL vmlinux 0xdfb834d5 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfccd9db fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0xdfdc1f79 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0155419 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0xe042fef3 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xe04bb6c7 vfs_fsync +EXPORT_SYMBOL vmlinux 0xe04fb5c3 netlink_ack +EXPORT_SYMBOL vmlinux 0xe0645b5e d_delete +EXPORT_SYMBOL vmlinux 0xe07a8e64 pci_set_master +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe08af3b1 vfs_link +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe0b07087 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0d2713a devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xe0ee6044 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xe10ca126 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe11d8976 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe11f3cbc _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe1320815 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe140818e pipe_unlock +EXPORT_SYMBOL vmlinux 0xe140af4b __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xe145308d netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xe177c83f scsi_scan_host +EXPORT_SYMBOL vmlinux 0xe18c1f49 block_write_begin +EXPORT_SYMBOL vmlinux 0xe1991329 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xe1a22448 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1dad751 may_umount +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e16b99 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0xe1e2c674 eth_type_trans +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe1ea91f9 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xe2005c57 dma_cache_sync +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe2398a07 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xe24dd547 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0xe26a4e78 ndelay +EXPORT_SYMBOL vmlinux 0xe26e5100 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xe26f3772 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe28e4207 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xe2a471d9 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xe2a683fe freeze_bdev +EXPORT_SYMBOL vmlinux 0xe2b29b40 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xe2c9257c mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xe2d0efdf try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d595b4 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xe2d7224b kernel_bind +EXPORT_SYMBOL vmlinux 0xe2db2515 bdgrab +EXPORT_SYMBOL vmlinux 0xe2ebc7a9 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe302d276 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xe304d814 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xe308d490 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xe3194c7f cfb_fillrect +EXPORT_SYMBOL vmlinux 0xe31ad10e generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32bf23d mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xe33278b3 get_tree_bdev +EXPORT_SYMBOL vmlinux 0xe33cd2d8 __register_nls +EXPORT_SYMBOL vmlinux 0xe35aa534 __lock_buffer +EXPORT_SYMBOL vmlinux 0xe3609e83 scsi_host_busy +EXPORT_SYMBOL vmlinux 0xe38d9272 migrate_page_states +EXPORT_SYMBOL vmlinux 0xe38da10c kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xe3a78158 from_kprojid +EXPORT_SYMBOL vmlinux 0xe3bd44c1 registered_fb +EXPORT_SYMBOL vmlinux 0xe3be7c15 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xe3bec019 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xe3c82bbb vm_map_ram +EXPORT_SYMBOL vmlinux 0xe3d6e4dc __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3ec535b jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe3ff7ec4 input_register_handle +EXPORT_SYMBOL vmlinux 0xe4075cbf mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe419ef7f flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe446fa42 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xe44dff61 vga_get +EXPORT_SYMBOL vmlinux 0xe459c3cf phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xe48176d6 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xe488cd37 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xe4aa3389 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xe4c65c44 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0xe4c7471a dump_skip +EXPORT_SYMBOL vmlinux 0xe4cc465e genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xe4d795ef pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xe4e14313 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xe508e1d9 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0xe50b65a6 set_binfmt +EXPORT_SYMBOL vmlinux 0xe51b5dd2 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xe52339b0 vm_insert_page +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe53c94ae __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xe551272c _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xe56ba13b inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe57664fc mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58813f5 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xe58b820d kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe591da7d param_ops_invbool +EXPORT_SYMBOL vmlinux 0xe5ba58c8 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d98085 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xe5f676fa nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe62a53e4 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xe636546a fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0xe6661086 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xe6665909 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xe6688b35 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe6b80f9c mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xe6c9e20c generic_make_request +EXPORT_SYMBOL vmlinux 0xe711a2b0 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0xe716c028 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xe719b00b idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xe7274926 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe7371a79 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xe73eadae iov_iter_kvec +EXPORT_SYMBOL vmlinux 0xe7400b9c invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xe75e6a9a pci_release_region +EXPORT_SYMBOL vmlinux 0xe7782141 of_root +EXPORT_SYMBOL vmlinux 0xe77c1624 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xe7848d75 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xe784eea8 netdev_info +EXPORT_SYMBOL vmlinux 0xe79873c7 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xe7a0311b of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xe7d086bb tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7dbe393 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xe7ebd979 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xe7f18daa skb_tx_error +EXPORT_SYMBOL vmlinux 0xe80069c4 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xe807648e ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe80bb3ab __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xe80fb0bc __serio_register_port +EXPORT_SYMBOL vmlinux 0xe832f14a cfb_copyarea +EXPORT_SYMBOL vmlinux 0xe89f1aca set_anon_super +EXPORT_SYMBOL vmlinux 0xe8c99178 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xe8dc11b2 dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0xe8df4085 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xe8e1bac1 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe8f049a6 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xe8f24aea fb_show_logo +EXPORT_SYMBOL vmlinux 0xe8f42d8c irq_stat +EXPORT_SYMBOL vmlinux 0xe8febbdc drop_super +EXPORT_SYMBOL vmlinux 0xe91355db radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe928bdba vfs_mkobj +EXPORT_SYMBOL vmlinux 0xe942680f devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe97e3768 dst_dev_put +EXPORT_SYMBOL vmlinux 0xe98bf9e5 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xe9a0deb8 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xe9a5b130 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xe9afac7d udp_seq_next +EXPORT_SYMBOL vmlinux 0xe9be642a sgl_free_order +EXPORT_SYMBOL vmlinux 0xe9c84f2d fb_class +EXPORT_SYMBOL vmlinux 0xe9d29101 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xe9d490d7 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xe9d4bd18 mmc_put_card +EXPORT_SYMBOL vmlinux 0xe9f414ce cdrom_open +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9fcf41a udp_pre_connect +EXPORT_SYMBOL vmlinux 0xea0a79d2 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xea0d93cf qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xea1b9c85 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xea2aed92 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xea3030ce genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea53fce7 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xea54c8a1 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea735629 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xea784a96 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea9d2d83 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xeaa7631a truncate_pagecache +EXPORT_SYMBOL vmlinux 0xeacb7346 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xeacf02b7 dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0xead8da4a pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xeadb017b dma_direct_map_page +EXPORT_SYMBOL vmlinux 0xeadebeec tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xeae66177 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xeaea81a1 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb03ed3c dm_register_target +EXPORT_SYMBOL vmlinux 0xeb1a4fc2 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xeb2167f0 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2b6feb rio_query_mport +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb5d8788 nf_log_trace +EXPORT_SYMBOL vmlinux 0xeb664d1a neigh_seq_start +EXPORT_SYMBOL vmlinux 0xeb693bf0 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xeb88c852 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xeb8bdc96 mdiobus_write +EXPORT_SYMBOL vmlinux 0xebe769da dump_align +EXPORT_SYMBOL vmlinux 0xec00f995 netdev_err +EXPORT_SYMBOL vmlinux 0xec08db64 pps_register_source +EXPORT_SYMBOL vmlinux 0xec0f98a1 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xec23c43a nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xec46f6e4 __irq_regs +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec550ca5 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xec6bc9fd iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xec6ddd00 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xec7195ea skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xec92e0c2 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xeca83a49 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xeca9c6d0 set_disk_ro +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecbccaa2 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xecca2577 vfs_iter_read +EXPORT_SYMBOL vmlinux 0xecce7211 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xecd6d7db seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xed0e2d8f load_nls_default +EXPORT_SYMBOL vmlinux 0xed0fb979 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xed121b69 key_move +EXPORT_SYMBOL vmlinux 0xed1fda95 vme_register_bridge +EXPORT_SYMBOL vmlinux 0xed33da89 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xed3a3e5c inet_stream_ops +EXPORT_SYMBOL vmlinux 0xed467048 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xed474050 genlmsg_put +EXPORT_SYMBOL vmlinux 0xed6a7857 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xed79d445 request_firmware +EXPORT_SYMBOL vmlinux 0xed7d04cc proto_register +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed9270cf elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0xed9a8ce5 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xed9bfd6f of_parse_phandle +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedeb59d9 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xedec2d88 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xedf270ce pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xedf7779b netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xedfa7530 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee44490a idr_get_next +EXPORT_SYMBOL vmlinux 0xee4618c1 fb_set_var +EXPORT_SYMBOL vmlinux 0xee51a094 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xee57c99f get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee60ca54 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xee64a5e9 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee9be885 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xeead6986 igrab +EXPORT_SYMBOL vmlinux 0xeeb592e4 write_cache_pages +EXPORT_SYMBOL vmlinux 0xeebbbcd7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xeed9098f input_register_handler +EXPORT_SYMBOL vmlinux 0xef20aafb input_release_device +EXPORT_SYMBOL vmlinux 0xef2940be simple_getattr +EXPORT_SYMBOL vmlinux 0xef29a80e of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0xef3353f9 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xef3b827c _copy_to_iter +EXPORT_SYMBOL vmlinux 0xef4bbcf0 sgl_alloc +EXPORT_SYMBOL vmlinux 0xef576625 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xef64fa80 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefb3bde6 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xefcea381 udplite_prot +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefe173db iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefe6876d fsync_bdev +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0031976 __block_write_full_page +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf009d549 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xf0166894 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xf01f3ea7 __close_fd_get_file +EXPORT_SYMBOL vmlinux 0xf0315001 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xf034c2cd iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xf036abf7 would_dump +EXPORT_SYMBOL vmlinux 0xf03dcc3c ata_print_version +EXPORT_SYMBOL vmlinux 0xf040f34b dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xf0515c1a register_console +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0b85498 unix_get_socket +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf1094253 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xf138bfd0 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xf1479fee dput +EXPORT_SYMBOL vmlinux 0xf14a071a input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xf15b9fb8 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xf172231d blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xf1875ba3 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a2f66c trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xf1b85dbc generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1d27335 cdev_device_del +EXPORT_SYMBOL vmlinux 0xf1d9496b get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1de2909 devm_request_resource +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf223e554 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf231bb29 cdrom_release +EXPORT_SYMBOL vmlinux 0xf23c14d3 kobject_set_name +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf25311fd vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xf2564544 page_mapped +EXPORT_SYMBOL vmlinux 0xf25da48f dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf271abdb kill_pid +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf29352c7 vme_bus_num +EXPORT_SYMBOL vmlinux 0xf2977056 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xf2b6ff96 inet_bind +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2c52579 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xf2c572e4 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf2c756c6 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xf2e23f1a dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ebc28e mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2f94182 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xf2fc0fc7 neigh_lookup +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf3448e03 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf348ddba sbi_err_map_linux_errno +EXPORT_SYMBOL vmlinux 0xf348ff41 bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35b8413 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xf35d4283 empty_aops +EXPORT_SYMBOL vmlinux 0xf3637919 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3984f01 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xf39b0d75 netpoll_setup +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3b3066b new_inode +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3b52ec3 kobject_del +EXPORT_SYMBOL vmlinux 0xf3c3ad90 input_get_keycode +EXPORT_SYMBOL vmlinux 0xf3c4b072 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xf3d38aab netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xf3dc7835 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3eff73e xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xf3f0f850 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xf3f1de9b generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xf3f41fc7 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xf3f7c415 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xf401cfc1 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0xf403dfe5 vme_irq_request +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf42f2a94 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xf4343052 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xf434f835 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xf43f9be1 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf463fd47 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47de28f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0xf48f96f0 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xf49e9d1e phy_attach +EXPORT_SYMBOL vmlinux 0xf4bd06c2 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4bebc53 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xf4d5c16c blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e97042 from_kgid +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf515c865 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xf523f679 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf525a567 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54aaa2f xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xf553538c xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0xf56dd087 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xf56ff2a3 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a34f1e rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0xf5b5216a unregister_qdisc +EXPORT_SYMBOL vmlinux 0xf5bbbcce fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0xf5c7d3fe pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0xf5c9ba04 seq_read +EXPORT_SYMBOL vmlinux 0xf5ca304e mmc_spi_get_pdata +EXPORT_SYMBOL vmlinux 0xf5e2bc19 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5ed6703 tty_do_resize +EXPORT_SYMBOL vmlinux 0xf5f54a89 put_tty_driver +EXPORT_SYMBOL vmlinux 0xf60a8aad kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xf60fb34d of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf646bcd2 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xf64cbc01 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xf65e6a68 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xf6600e4e xa_erase +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf68e04cc dev_get_stats +EXPORT_SYMBOL vmlinux 0xf69c9e32 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xf6b99ad4 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xf6e3fc26 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f35cf7 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7130e07 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xf73124de d_add +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf73f4425 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xf7574709 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf764a7b3 bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf7ba93fd forget_cached_acl +EXPORT_SYMBOL vmlinux 0xf7bb4239 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0xf7c37692 fiemap_prep +EXPORT_SYMBOL vmlinux 0xf7cedcc4 nd_device_unregister +EXPORT_SYMBOL vmlinux 0xf7d0f7b3 simple_rmdir +EXPORT_SYMBOL vmlinux 0xf7e7e478 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xf7f7efda generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xf80369ea submit_bh +EXPORT_SYMBOL vmlinux 0xf80f8ebe locks_copy_lock +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8148750 of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0xf817ddeb scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf837db39 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xf84a9edb __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xf85286be __mdiobus_write +EXPORT_SYMBOL vmlinux 0xf867cbaf inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xf869e14e sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xf88428b5 iov_iter_npages +EXPORT_SYMBOL vmlinux 0xf8920fe5 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8fab214 mdiobus_free +EXPORT_SYMBOL vmlinux 0xf8fada34 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0xf8febae2 phy_device_remove +EXPORT_SYMBOL vmlinux 0xf8ff034c xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xf90c9816 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf921cd17 seq_hex_dump +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf959d7b5 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xf96026d4 is_bad_inode +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf983ded8 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0xf996d1ca __alloc_skb +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ccb53d reuseport_select_sock +EXPORT_SYMBOL vmlinux 0xf9e471cd cpu_all_bits +EXPORT_SYMBOL vmlinux 0xf9e7141f nf_getsockopt +EXPORT_SYMBOL vmlinux 0xf9ecbe61 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f224f6 csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xfa0b8838 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xfa1ab8e8 build_skb +EXPORT_SYMBOL vmlinux 0xfa21ca80 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xfa3c0429 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xfa454f92 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xfa4fe997 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfaa083f4 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xfaa48494 fqdir_init +EXPORT_SYMBOL vmlinux 0xfaa78607 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xfaaa8f92 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xfaaedc07 mempool_exit +EXPORT_SYMBOL vmlinux 0xfac2909b dev_uc_sync +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadacd91 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0xfade9edf tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xfaf72f5d __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xfafd9bf4 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xfb26045d qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0xfb2686f6 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb5442b2 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb5c1331 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb867635 of_phy_connect +EXPORT_SYMBOL vmlinux 0xfb8dda83 proc_set_user +EXPORT_SYMBOL vmlinux 0xfba188a8 read_code +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbadb15a jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbb2c86 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xfbbd4819 tcf_block_get +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd0ed0d dm_put_device +EXPORT_SYMBOL vmlinux 0xfbd240b8 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xfbd7f3db genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0xfbe67498 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0xfbff0445 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xfc0cc99c sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xfc2fba6a filp_open +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc428777 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xfc48d1da sock_setsockopt +EXPORT_SYMBOL vmlinux 0xfc58f5a9 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xfc7ec326 ppp_input_error +EXPORT_SYMBOL vmlinux 0xfc8b37ab param_get_uint +EXPORT_SYMBOL vmlinux 0xfc9d65a7 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xfcadad92 get_tz_trend +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcdf6879 of_device_get_match_data +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfd09ee07 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xfd1a9448 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xfd1af48b genphy_read_lpa +EXPORT_SYMBOL vmlinux 0xfd305b07 completion_done +EXPORT_SYMBOL vmlinux 0xfd4a1e35 get_cached_acl +EXPORT_SYMBOL vmlinux 0xfd4b882c of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xfd61c124 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xfd6d31de km_report +EXPORT_SYMBOL vmlinux 0xfd8c6417 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xfd8d50ed seq_dentry +EXPORT_SYMBOL vmlinux 0xfd90b3bf unlock_buffer +EXPORT_SYMBOL vmlinux 0xfd914f98 kill_pgrp +EXPORT_SYMBOL vmlinux 0xfda9406a mount_bdev +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdba2571 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xfdbd12cc blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdcd297d dma_fence_init +EXPORT_SYMBOL vmlinux 0xfdf6cd34 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe07384f mmc_register_driver +EXPORT_SYMBOL vmlinux 0xfe0e12f2 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe425f1b mempool_create_node +EXPORT_SYMBOL vmlinux 0xfe44b0b0 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xfe457833 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe51f61a tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xfe540d15 pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xfe5b6e25 build_skb_around +EXPORT_SYMBOL vmlinux 0xfe5cde2e vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe69b0b4 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfeb6d423 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee3279e of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff1bd048 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xff1bda20 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff236813 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xff283cf9 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xff2f9166 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xff4a7c60 key_put +EXPORT_SYMBOL vmlinux 0xff4fccee inet6_ioctl +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff88e96a uart_resume_port +EXPORT_SYMBOL vmlinux 0xff8c1488 simple_statfs +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xffa5e583 mempool_resize +EXPORT_SYMBOL vmlinux 0xffa786ba phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xffcb64d3 begin_new_exec +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL_GPL crypto/af_alg 0x08ceb271 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x21bed7b3 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x27586bde af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x2cf3c151 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x2d7d3127 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x312b02f8 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x5e07a533 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x6320f248 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x890fbf3c af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x93a79753 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x9465116f af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x9738a0dc af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x9fa783fc af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb33b8c7c af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xb454ce88 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xc7aae94b af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xce9b0177 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xe763dce0 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x71d09adf asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xd27b6c9a async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa4544e04 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb0aa7e1d async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x4eb11855 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x90fb22f3 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x41fee742 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x66153e40 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x79474655 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xc6618e63 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x60ea307e async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xd16f0421 async_xor_val +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x97d85c87 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xf0677d92 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xad13cb03 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 0x2349e541 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x25670f99 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x271c4b11 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x34fb2fc1 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x3be482c2 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x7ac9b21e cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x8043c58b cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x80b8fed8 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x845c1e01 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x963f1c9d cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xa06cea90 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xaef05377 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xd6398e89 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1e1fa57c crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x24558825 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x335dfb0b crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x337e70b2 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x3c261b2f crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5b76bd4a crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x91861e6d crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x954f02b5 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa2e23fc5 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xac87446d crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd6736ed3 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xdfa0d805 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe643debc crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8ca12792 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x04bb153c crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x5b44a9b9 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xb86feb46 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xfdc341c0 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0475de7a ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x048d8b26 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0eebd70a ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1107e529 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x373e40a8 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x402361d1 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4bb70f2f ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x516d4c8e ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x691754bf ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x70ffe868 ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7ba7cd32 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8fde12c8 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa8c9c87a ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa988126a ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb0b2dd54 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb8f71ca7 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc300fa29 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc66f3126 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcb097508 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcf66b615 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe4e9b61f ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe910389f ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf5932ced ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfebcf672 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x061bffeb ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x2e07723b ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3deb3016 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x400d6c35 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x588e0952 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x640b8d08 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x73f4ba68 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x7ba0fa51 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x8c9f43c8 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x958bede3 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xd1da8232 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xe064a860 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x58a8b863 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x500d9a33 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xe595071d __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x018c5e45 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x2d9bae55 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x1781fbdc __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x548bf21a __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x53b9fe54 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x576eee08 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x1bbbe363 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x4b0480c8 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x84f9dd1e __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb6de588e __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xce5869fa __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xf4ab044d __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1b9c6349 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2900cfe3 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x412f5cab bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x47b98f30 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4be1db19 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x53afcb68 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x67a4d36e bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6f605808 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7f1a3f0e bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x82b584f5 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8bbcce85 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9070a4a7 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x97dab99c bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa31a233d bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa7df635b bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaa61d393 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaec7d60c bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbe8b7ea8 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc9e47bed bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdea3c043 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe3de3118 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xea8398e7 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeac87ecf __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfb01a59e bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x015bda91 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x096dc4d6 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x0edf1d66 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x4579394c btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7bd7c844 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb445ed55 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xc070895c btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xdac0b70a btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0a93bcb1 btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x100ccef7 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1aedc152 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1f6f2c05 btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x229e744d btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x29924467 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x340aa78e btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3a3434be btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x69caf2d5 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6a69676d btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fe6ba8a btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x93e0c885 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb0fcee9f btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc89021c0 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd44cc34d btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe9254e56 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xeb683667 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xed3a83d7 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x01f5d0c1 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x15e6d7a9 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1eddfefb btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2f689ad6 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3543a51f btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3569b66b btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x40021330 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb7f2c36c btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xccdcf023 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd3aa2e77 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd4f92fc3 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x2714bd76 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x4db6c91e qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x531e404f qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x5975944d qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xd551deb0 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x07fc89cf btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x4c1889c3 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x593c1559 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x98f84454 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xfc636166 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x5588a011 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x6dde7f06 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xa1937050 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe1522b0f hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x0d488c04 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x15d9a877 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x16c896df mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1a6aca23 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x21b2cc34 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x254b6e3c mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x340a6342 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x54b6ba8b mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7aa717f8 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9e50db61 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa3c9494d mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xacf44b55 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xafa4aa21 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xafc15572 mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb096612d mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb208eb81 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb737321a mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc3b3a64a mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe1437451 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xf1b66673 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xf6f7a320 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xfbd65df1 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x0fe805ef __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x1b742318 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x39d99f11 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xe8c4d36c moxtet_device_written +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x4ed2bf69 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xf4c6bc39 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x1e6555ef idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4093d2f5 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x57bd2024 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x5c80b72b do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa2e5fd34 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa6b81344 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd90ebe5a dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x140efe66 fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x456bce74 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x65abce83 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x69b74084 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7760c61c fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x78f90173 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7eb1e244 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x8c68dc1e fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x932cdf1b fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x99af94f7 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xbb945784 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc9609416 fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xcf97eaaa fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd226c405 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xedd6107e fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xfeb62824 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x466a8129 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xb439bf84 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x382f056e vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x616ec1c7 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x71738594 vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xa5f53589 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xd16ce03f vchan_init +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x9d6165a0 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xfee5ba2b alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1a5a2fba dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x22bc4471 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x33c92b4e dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x36355cfb dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4aca3b97 dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4d6f6df6 dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x5a1a5312 dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9251c24f dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa1757ae6 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa7d90879 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb934ffbe dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc0eeccbc dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc175d63b dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc955ed6d dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xcd6dce72 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd1e8e1f6 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdaac506d __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe37bf66e dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe515c6f9 dfl_fpga_feature_devs_remove +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 0x1bcff5c5 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x262edcb2 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x36caa673 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3736b77f fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x4a0f336a fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x66723fd5 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xb81cf51c devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc54389d3 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xda9bd004 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe3cc2d0a fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf1a498de of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf39b3b85 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x075c4882 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7ef16f22 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9773af61 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xaad69b91 fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xba193599 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc7bd4ad5 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcd624f23 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd401be25 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xdb9982bd fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe138930b fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe5840946 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe6af69f4 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf1460f2a fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x6da04c30 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x79f8e17a fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xbae19c85 fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xd0ef3d5f fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xd279367e fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe555b1f2 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xeb038c39 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x00d2f3d9 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x03c7918b fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0421e70b fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x04eb8230 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x358d30b6 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4534d2b4 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x46e140d4 fsi_device_write +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 0x8070762b fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x97b0f202 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 0xf1c5c16b fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x0de05f87 fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x2903c460 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x92a71e32 sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x1a0b5731 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x94c75fd4 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xb61c0308 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xc269defe gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xcb1b37f1 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4dfb854c gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa8b505d1 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xdad1cd0f gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xec1a0b4c gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xf0506e4d gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xace76ca6 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xe015cffd __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x054290f9 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 0x64092548 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x68afb907 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x69198307 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xfc4a6986 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xfec0d0d5 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 0x1447d036 dw_hdmi_bind +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 0x157e02b6 dw_hdmi_phy_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1e1fbfb0 dw_hdmi_set_plugged_cb +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 0x34dd6d9d 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 0x4a9b174f dw_hdmi_remove +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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x9b44a60b dw_hdmi_phy_gen2_pddq +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/drm 0x0272e1bc drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x17bcbb87 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d651f24 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1ffe1566 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2583b48a drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2c78c742 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2d02beab drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2fb5078b drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x399357aa drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4655d369 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5770f670 drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x57980daf drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x77e06826 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7c3ebc1a drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fa3a1c0 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8dc56709 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa74b579e drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa9df14c0 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb4dbccf1 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbcf10c84 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc0a7b6d5 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd066668f drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd32e0ef8 drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd40d6956 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd6502b4c drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xddb42d98 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xde643e20 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xdf129582 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe2af72e0 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe3cddceb drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe494c5f3 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe8a6c890 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xebc4217c drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xecbfcdbb drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf38dd164 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfcd1cbcf drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff5912d9 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0c198a14 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0f03885e drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x144e04ea drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2853d572 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x469892b0 drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x46b410be drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x47e082a8 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4b8c1425 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x5132edc2 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xce9320b3 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe9024ce4 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xefba97f0 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xa9e5f33a ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xad40284c ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xeeadc1ab ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x045f74ae hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07240948 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07da5ecc hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0a7c76ab hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e092e22 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0eefe169 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x136c8142 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x29460d86 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31be5cb7 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x35434eb7 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x45b2bfa6 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5489850b hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5c73f4f7 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5d6f97a4 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5daf53c3 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x63c2adfa hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6731f16e hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6b66ea5a hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6fc76ab4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x700f3717 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7369b306 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7a96c01f hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8078aa82 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8194c8a3 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x825e681d hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8495cb57 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8d6fada2 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8f38c87c hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x95426e9b hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x98b19c05 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa69401eb hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xad5f39c6 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae81b1c6 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb4b229ec hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb951908b hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6877fe6 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdaa9eb4c hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdf21f41e hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdf84b422 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdfe9cda7 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe30bcacb hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf372f12b hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf70efc96 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfd7046d2 hidinput_count_leds +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 0x82e3787f roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x09bab1bb roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x735542fc roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x781f3122 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7d8679c3 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x8230bece roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc0e3caf6 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x076eccef sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x0def3f84 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3d42a71a sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x52d02c57 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x58884b6d sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb14b39e4 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb8d430c1 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xcf915ad7 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd805d10c sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xdf84fd03 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x89e6d1d6 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xc0bcac39 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xdc54d765 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0a8e9a91 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2aa6bb69 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2f1fcf4b hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x40899b78 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x53c41d64 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5828952b hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x71e053a2 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x76846175 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x901a74ba hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa2fc7697 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbba3678d hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc034f687 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc1c54d8e hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc3e052a3 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc699caf2 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc7aeefff hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe46569d5 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf74ea6c0 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x1f5b6b9b adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xbbe56920 adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x1b9def4f ltc2947_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/pmbus/pmbus_core 0x13b5c0c9 pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x15b3f6bf pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x17e7300e pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x4b54996c pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x515c1c20 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x55de01cd pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x599548fa pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x5aaaa006 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x5b65af7c pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x64fb32e4 pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x6764339d pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x79f71f24 pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x7fde0322 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb3791934 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xd14df228 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xd50288f4 pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xdc306601 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe08c94b3 pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xeb3e5fc6 pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3defbb94 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x510548b6 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x62b18512 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x69f0576e intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7389dcbf intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xc72bc359 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd2c29d54 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd7df91bb intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe08ea0c2 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x02ad3c38 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x34174455 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x8f645c70 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x16613ad3 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x51d70864 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x745c7100 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x83c3d976 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x863ea6d1 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa97cf92a stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xc69ee059 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe77cb1e4 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xfadeddd4 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0ec64877 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x79a47fc9 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb03ba49e i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xcfd90e49 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x410dff00 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0724277e i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x091f2c78 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x145d0abb i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x295ee876 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x386d41e0 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3b463907 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3d0f7b18 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4649a491 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4b6f0e20 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x567512f5 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5adc629e i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x664407dd i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x668ed43c i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x97df4d46 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9ee54443 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xaec00660 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb01657ce i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc533c770 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdde4473d i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xeb16df78 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xec6d5513 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf2863cea i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfb22fbe0 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfb443759 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfd4b5030 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x0e96ad7c adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x5586372a adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x1832fb9e bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x49905fe4 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xec530b7c bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xf797affa bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x01a63d57 mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x291c34ab mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0xbcd39049 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x04c7698a ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x483dc76b ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0xaa773d23 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x17f1cc6e ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x21c9866e ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x26734426 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x2cb530d9 ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x35d06dce ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x439a40f1 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x527fbea3 ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb7fa2341 ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xb903b779 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xca633991 ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xdda20663 ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x9f0db807 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xff160dfb 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 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9c659199 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xbb7d6bcf iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xcc040943 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0cee2ca9 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x277bc110 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x38da6cce iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x3a8bbf85 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5beb39ac iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x758923f2 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xbc0ab347 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xc519ee0c iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xdb1bf277 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xde771f0b iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf6fc2aad iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xfa181fda iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x7a66a6a9 devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0xc6bc93f1 iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x4e3f17a0 devm_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 0xbeef788d 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 0xee1bd8d3 devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0x5bf88de0 bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x789d032a ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xfcebb52f ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x87b20618 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0xa80d097b ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x96681205 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x9c01b5a3 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xad1e62eb bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x83e32aa6 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x9c6bc203 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xc0cfcde5 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x23781611 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x2b0d4ed3 devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x3457b86e adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x4dfb532c __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x50edd95f adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x54c8de92 adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x675026de __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x79c11a88 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7e18633e __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xa51b6e71 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xcb78d971 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xccca1892 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xdeee0a1c adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xe168dd27 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xe50503ec adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x67acec44 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x951c5bfb fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x51604ddd inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x8a2876ae inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x019d62ed iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x01ab778c iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x053ece3d iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0825edef iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x083b5840 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0c6a3118 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x156adff1 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x18fa1500 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20348c7f iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20abd940 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2565b8b6 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x30e9f2b1 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3db654db iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x468f9446 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4c6d1255 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4e126404 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5058044d iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x50b01b23 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x51d2e67d iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x56ff373e iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x58040b77 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5f39f352 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6393eb7b iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6516fa8a devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7cb8bdb9 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fbf7043 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8733d554 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x90c52e9c iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9e44a564 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xad907e3a iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xae91b451 iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb9f7dc64 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc54cb250 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcd64a59f iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd4738dcd __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd612bd87 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe3d66c55 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe95854b0 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xef548ada iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf736e36b iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf9336ce8 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfdd2aa3c iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfdf5620c iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x99490f6f rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x8180bf93 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x436aea7e zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x496a3ce5 zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x5715fbaa zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x7049ad92 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xa25251a0 zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1a7a704d rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x24e5d06a rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x26940dce rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x37603272 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3b39df68 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3bd8bb62 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x42606d0c rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6f17771e rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8bf89ffa rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x97c99498 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb0fa1fad rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc95a8ef4 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xdb2a70e1 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xb412a8e6 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x79f45b91 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x283ba911 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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/rmi4/rmi_core 0x1248db11 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x17a2a9d5 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1f7128d7 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x28a6f492 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2bbbe389 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5adafcb2 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5d012b2b rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x74512d05 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x750def7c rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x8f3f35a8 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9e87824d __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd9d98aaa rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xeaf7d0d4 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x1b194af8 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x7953cc4a cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x8204b7c1 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xa024de70 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xf946b309 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x454f73b9 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xe15fc2a2 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x13c23e2e tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x265f78be tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x5678ea3a tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x96730388 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x00c1c135 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x04abe021 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x06fffd66 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x14672243 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1d7fdc6f wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2d1d2af0 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x32277b81 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x466a7785 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4f6d3173 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x75aea385 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd11837ad wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd1d5dcf1 wm9713_codec +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0804df0a ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x15ca0cd9 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x327debcb ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x703590e0 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb5ae9b77 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xc543ffda ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xc70f699a ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xf4f3bdc1 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xf5817506 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x14f23578 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8519799f led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8c062a94 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xae228a56 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xb39c5f88 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xd37d0873 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xe07b2c13 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf7719338 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x059374f8 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x1cb88c4f lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x269dd404 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5a9997b3 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6dc165c4 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x803a96b9 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xafa26d68 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xbad6b269 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xbc970392 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xdbc5ba0e lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xeb352bca lp55xx_init_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 0x00af95a1 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06d94b0a __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x157aa73e __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19a50641 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19acd14e __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1e382318 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x24935482 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x28991160 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x29ef0066 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2cd1be34 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3ae1afd1 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4f0216b8 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x56bd5947 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cb0a24a __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65835607 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x68b2f180 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7baca7fe __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x95286aa1 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9cedcd57 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa60fcee9 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xafae4e81 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb4b03b2e __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7500cb5 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1fd1dbc __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd4cd3c1a __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe278bd6d __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe68d70a9 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee926d8f __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf30b9aa6 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf438022f __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfbd03183 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1a2eb07e dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x314fb1ed dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x65673022 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6768712c dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6aa0afff dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x70b4db4b dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7939e0fb dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7f09d18b dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fed4528 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa5b2fde2 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xafda4361 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb38da611 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 0xb9acf125 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xc22c20c0 dm_bio_prison_free_cell_v2 +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 0xe2f08044 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf189e15e dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf4188385 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 0x57f2433f 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 0x17cd7584 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 0x6ebc3d37 dm_cache_policy_register +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 0x6bb90d61 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xe2533d47 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 0x07389898 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 0x4372d388 dm_rh_bio_to_region +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 0xa33c979f 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 0xaefddebc dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xb8201201 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc22a2fb4 dm_rh_mark_nosync +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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8c5906fd dm_block_manager_create +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1514e212 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x16d1a995 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x271e2b4d cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2a70b642 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2e1b52ea cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2fc2795a cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5151d1b3 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x545cabbe cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x59e7c453 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x69c27644 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6a5373e8 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6fd6ae0c cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8e335ca4 cec_delete_adapter +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 0xb3c0aa65 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc0b080e0 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdbeab6bc cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xde27aa75 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe419c6f4 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe9ec7607 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf9ba0bf5 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1db80886 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x30ecd31c saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x36f5dce8 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x5058b305 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x51647ef2 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x8bd0edc5 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc0e98946 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc46ee1d8 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xd87d0b68 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xdb5dac2c saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x06354af7 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x0bc2e6dc saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x10ad679e saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8128a2c5 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x9480df9f saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb5ca7dc8 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xec811fba saa7146_stop_preview +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 0x35583a38 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3f7e0ee3 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x439f18d4 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x63a8a47b sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6688dc03 sms_board_power +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 0x8658d19a smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x90a1e829 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xabf9fa75 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xca019f28 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd1b2f614 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd90027b0 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe4b4b1c4 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe77f7942 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe8f54cae smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf084f34a smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfa52595a smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfda26558 sms_board_lna_control +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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x000a1dda vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0aa6af5e __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1399eaa5 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x155e865a vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x16f67eef __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x17fe895f vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1d57a8f4 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b43a8be vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2c3b97a5 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x323e773f vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3ccdf4c7 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x48a4a6e2 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4e579225 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5bdd2426 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6538e44e vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7180ed9a vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x78a0961c vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7eeeee2e __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x819c1444 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x87faef99 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x91d192f1 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9bb2622b vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa9fa4cf3 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbf8a8781 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd8192224 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xddbf2d80 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xdde35706 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf1d04b3f vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfda05fc2 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x207e0946 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xfe2cb6be vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x3aa70f8b vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xfcc721cc vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x01da8850 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x06e7cf2d vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2f2b079a vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x32e9ce9c vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x364e04fc vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4cf3b5d4 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5182fc87 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x569cc4c5 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5ba76db0 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6d1be4cf vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x71e74376 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x73c39141 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8600cde4 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x886766e1 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8b68a33c vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8e266569 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x940765aa vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x99a1e5b2 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xba14f03c vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbf69eada vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc2374c07 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc2d1f456 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc696568b _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc9c3856f vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xce90e864 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcf8f5f97 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd561cf39 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xda3a7c10 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe87767ef vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe92bda1e vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf826e851 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x038d879a vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x0092ebef dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x3ac606ab dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x7810b6d8 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x4aa38380 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xe4f01018 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0xcb2e382d gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xffe01920 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0xcef9ef9f stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x01092adb stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x0fe7e502 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x260ad6ba aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x28586dd4 smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x02c162f6 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x09b9b64a media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0af81118 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0da3004e __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1549f669 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1a24bd69 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x20cfeb7c media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2383d101 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2565c7ee media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x27dcde75 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3684a58c media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x46fd668b __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4954d00b media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4d8923cf media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x51acb99c media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x52fed11f media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5515cbff media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5927d2a2 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61988e05 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x64eeb4c4 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x700cfa97 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x70960588 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x721b7b48 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7578a33c media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x853e7ae3 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8568463c media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x89fe589c media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x946e63b2 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x97936920 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x98325862 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9a052340 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9dddf690 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa94da2d2 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb09136d6 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb9331d51 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbbb1c937 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbd632180 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc25b45c7 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc877751e media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd3dae780 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc8219ce media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdee47ac0 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe3795be7 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xeaf36302 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf0cb394e __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfcbd0db7 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x6958197a cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x04ceab03 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0728de7c mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x12a178ca mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2f1b0971 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x30e2460c mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x50139ee9 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x587f1199 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5c285eeb mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5d0d3abd mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x62a5b5be mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x82850431 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x84fafc6c mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8bd7ed82 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8efcd236 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9d7c4b4c mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xaab3e6f3 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbf3f758a mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe32d0cbc mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf4012fea mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x04e2b7c0 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0bde1ec1 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0bffd0dd saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x0f9cd5f3 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x14819eb4 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x15f02a23 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x26e95c90 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4072cef6 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7095e1f9 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x83d1843f saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8c94a6c8 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x910928fb saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xbb24a2b0 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc1a20acb saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc9f13acc saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xce5c7f67 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xde9a3151 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf108987d saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfb25b89f saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x07e2b997 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x27ed27d2 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x30abcf9a ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x6177b5f2 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 0x86264ae8 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x89b3b17a ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9e2d0e4e ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x2de9942f mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x349ad104 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x66262f76 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x37163a97 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xabd4a52e 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 0xb7032d84 xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xca90e99c xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe08e6063 xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xee316a36 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xf8a1dfcb xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xf9a54d4c xvip_enum_frame_size +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 0xd947ea25 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x2373d00a radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x86fdc191 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x4bbdd0bc si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x50a33155 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x8faf6aaa si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xb3db0dab si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xb47185c9 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2176d7c2 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x22179c40 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x383be700 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3b96c9b8 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3eeef9eb ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x43749d44 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4e204c7e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5473066d rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5caaa824 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5e4c59db rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7374327c ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7911cc51 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7c656e2c ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8180aac2 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9cb04b70 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa9427f09 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb11d3a58 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe37494ef rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe652a290 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe6f3e29d ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc99ecfc devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0xf2089a9c mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xb5a86c92 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x482bb9e7 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x5e965b24 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x82e92fe0 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xd55a6e0a tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x4dfbf55c tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xf93e6f7e tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0xc81c62cf tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x1f5ac37d tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x6dfac02a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xcbd74f70 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xe9f0fb24 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xad238169 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0a77c416 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x24cc43cd cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x24e7ff4a cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x29b0fd08 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3b996641 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4e40df2d cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x6ac7c25d cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x76ad5dcc cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7b2acfac cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x86f57795 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8f67ae35 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9012ef78 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9d368b88 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa0d15ef2 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa3fe0578 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xaa0585a6 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb8e8a443 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xde3dec13 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe245eda1 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf809e382 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x5cf385e4 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xe9b6a7b4 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0557cbe0 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x07ad7d31 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x10efac14 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x328fc08b em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x43bdb3fe em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4d6df646 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5aaf055b em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5adbc7b9 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5d766d70 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x686213bf em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7085cc58 em28xx_init_usb_xfer +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 0x84d0e89c em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x94514df4 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa846e585 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb2cfe567 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc74b1b10 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc78f76ec em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe02d197b em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x3baaf555 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x72bc50ef tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x750f23ea tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xb8a27470 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +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 0x0ffd6cf3 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x82b6ff38 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x934fa95d v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x09211cff v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1c05fbaa v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1ea974de v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x29ab31c3 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2d652905 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x45c7e3ba v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4f6cd4f9 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x9e3b3d6a v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xa083ece0 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb58211a2 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb8d250ee v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xd91aa19b v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x08a43dc0 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1264f529 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1aa18db1 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1cf4650c v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1f07c63d v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1f111ef0 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x22103ba6 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2287b1dd v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x243076fc v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2dcc551d v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4633d731 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4e706dac v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5db97d2e v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x681c1b5a v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7236ad49 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x74286459 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x76a04144 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8a669874 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9ec57e7f v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa27e4b0d v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaef67b40 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb20ae062 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb25a14a8 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb274b720 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb696c4f2 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb7d70540 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbac3b97e v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbdedce97 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc359c3d0 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc70fdd85 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc956040e v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xccb14107 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xce989c6c v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd3a03011 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdb1d3f04 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xddacea4f v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdefcf0cb v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe15d6be4 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe29f8ba4 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe61ee5c1 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeb282d5e v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef27f0c4 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf46351e6 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfee77d12 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x00bc614f videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x03eec425 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x08cc9220 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0b09cc72 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1dc0bd5b videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x20b51feb videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x340f3aed videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4203763e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x641673a4 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x745663c3 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x79e27d11 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7c2e5f50 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7efb8663 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa6b5b272 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa93be0d3 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xac0a40e5 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xae8256ba videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb3511ea8 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb59cfee3 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xba602fa7 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcfbbcd52 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe6c9f41b videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe7a7f59e videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe8185ecb videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x15faf40d 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 0x7fd666fa videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xae9fc55d videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xd25566a7 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x5a863318 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x5c5761c2 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x7f2a98ea videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x00ba142b v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x033798fc v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x06fb0aaa v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a449b96 v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x15c26208 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x178a4812 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18f74c20 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1d2e0fae v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1fd1bc33 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x20dffce5 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x247a1ac1 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x25a0b77f __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27e027bd v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2b405b7d v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2c2a0401 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2c3c4e03 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3a8f405b v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3b94bbe3 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x43479319 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x472ce437 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x487df298 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4894e234 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4e41d7e3 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4eb4fb3b v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x500a5645 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x560564a3 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5b1f34f4 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5e97c3bd v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61736e84 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61817752 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62b83fce v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x63b7e5f9 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a8db2a7 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x76fb4c40 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x785c3cd3 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7c0817b8 v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8832ddcf v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8b461d9d v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8b908826 v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x910eaa81 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9957faa4 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9e2b993f v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa4bd5e9f v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xafb87ac8 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb0ba8c8f v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb1c7d8fe v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb96453a7 v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbc042cf5 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc0a96e83 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc39900ce __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc4219738 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcd982d1c v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcdfd3739 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd8481716 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xde939747 v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdede7670 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdf187833 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8770199 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe9aa3bb7 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xedca2370 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf301f295 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x13560fed pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7a9536d5 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x9bff3fe7 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7990eb05 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa416d1c3 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xb85e2d17 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xbe1cf52d da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xde03ee28 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xe655ad48 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xf35c05b8 da9150_reg_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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2783095c kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2fb144b2 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x41b7bd29 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x55a560f4 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x8cc035c0 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x8f0a99c8 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xd39fa5d1 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xd572c69d kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6f75031c lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xbf93add1 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xfbbebdd3 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x03da0789 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x10fd9e98 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x34e84b80 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x61e4dc21 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6299ede5 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x94dd11db lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xaa86ecd7 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x075088aa lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x18c9a94f lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x1db040b9 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0897c690 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x089a1ad0 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0daac1a8 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0daca5d3 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x109f853d madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x15b131a5 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x15bcede5 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x22302a58 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x223df618 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x29ecae03 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3ae55de8 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3ae881a8 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4ba2db9c cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4baf07dc cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x56842ca9 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5689f0e9 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x61053754 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6108eb14 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6914d5f8 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x79d040e4 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x79dd9ca4 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x81617150 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x816cad10 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa1728098 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc2546c5c cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc259b01c cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd5674178 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe19dc6ea madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x252c524d mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x26cc0d89 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x4593c2d9 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x667646a9 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7479b3c1 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xeda59e88 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1079a978 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x158fbd53 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x43b2fba2 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x58260c20 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x58700c3d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5b649ca7 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5d1b296c pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9c000b2c pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa0c18610 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbafc1d83 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcc13d02c pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x40960803 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xb6111312 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x03aa34c0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1c00bcd3 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x91bf0960 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x96b9db3c pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xeba999dc pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xf6a170c6 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 0x005b3a62 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1ce92c1e si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x24d7a2ba si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x30eab5ce si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x33f0af03 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3ad6ec4b si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3b799ba4 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x49451258 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4dd11865 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5cc69054 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5d19cb38 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5f8f96c5 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6071bec2 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6109d927 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x74439d77 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7ca1beab si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7d1004cf si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x84f47753 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8b8fe536 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8c7d3b8f si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8f441320 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9d5bf2b3 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa8dbd5ec si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb1cf152f si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc1495fa3 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xcb8fb5f2 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd2ce97f9 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xdc191457 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xdfe91b22 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe4352f32 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf5ac7483 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf708ba0f si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfa8803af si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xff69ecca si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x18dc2381 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3f5c42d3 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x66732e55 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8d7c2d1f sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xa2bb0f1c sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xa4ee8d32 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xbac75732 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x14dcd3ce am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x61f6394f am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xce7fccb2 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xfeaf3b19 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x1342da7c tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x3d23f3bf tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xd043ddc5 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x04d5a547 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x08cf16d4 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x268a760f alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x33236243 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xa4033152 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xc9b50048 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf700577f alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xff8d8510 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2fe3df5b rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x39a453cc rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x47a8eab0 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x50f1066e rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x540d736d rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5fa993ed rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x663cddb4 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x68345c13 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6a35762e rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6f81fd7a rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8a779ab2 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8c064df5 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9a961df5 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9bc90200 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9c818789 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa33abd23 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa80f1c13 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa8246f27 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc3ed9b9c rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xccbe318c rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd8ede25f rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdbef817a rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xde60818a rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe43fea66 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x13ae9c28 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2939cded rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2a8c5c13 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3540bccb rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x38fccd61 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x436abadf rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x561d6657 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6ec9837c rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x967c1e9f rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xb992f61c rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xc86d5f1e rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd539916d rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xed61a15b rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x463ef151 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x51829fb3 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc5335f1c cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe13fb6ae 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 0x00d53d9f enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x07973c59 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x22329558 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x33861eea enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4e7c1af6 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x800c8c89 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc2061d1c enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe5230df1 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0205c410 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0f5594a7 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3a0f327a lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4aab08ee lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x665520d1 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8c72e3b1 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xcff102e3 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfc62de5d lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x118a9039 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x2de64eae uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x6ad1d26b uacce_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x3006f3ff mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x6342b541 mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xc7b63e07 mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xddfe3eb2 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0cc78d4a sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x10cebcda __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x287bee67 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x28f145e7 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2afd005c sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x308911c9 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3555b21b sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x36995c4e sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3740b060 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3ed35920 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x40bc6435 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x42d85841 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x440ae9c9 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x45766c99 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x483c714e sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4ad7b9a6 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5a33d075 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5ff37d33 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6c3eb980 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7af8c7f3 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x89c22f0f sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8ba03a07 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9a77cecc sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9a9a39d2 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9f5f54a2 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa010e412 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa1cdbf7d sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa65cc6e3 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xabca20ec __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbade7830 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbc9c0825 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc0c8e674 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcab41c65 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd1eae045 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd3c26621 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdbb021c6 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe329a865 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x357a6f66 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6d413d76 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x73165db9 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8fd09e26 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9a32949f sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xe03d4de6 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf51d74af sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/most/most_core 0x083405cb most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3c497100 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x405bb410 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x69bf1ece most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x793c690d most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x809cac27 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x96b35b1e most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xafea6bc4 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbe8a168d most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc788df93 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xdfb7ddab most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe5ff9826 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe90d8ab9 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xeccbcfbc most_submit_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x5120d188 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x6e09f460 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x9317d1f6 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x0fcf2d44 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x719d6694 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x8264a912 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xe05a0013 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x509e90b0 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x6cc07ffb cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xdb84962a cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x38eff4f8 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xecdb58c4 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0872f20c get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0ca1aa0a mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0cfbe117 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x144852c1 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x15051d39 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1bb675fd __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1effcc52 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1fa8d369 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x21734502 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b7a47fd mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2f8b416a mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x336151df __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x34ae0984 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x38df45f4 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3aa376b6 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b156f58 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x410406d6 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x42844a18 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4b496aca mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5cf11b7e deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x602f2bfb mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x642dc0fb mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6bd877bd mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6e11c416 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x71224712 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x72511a2b get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x726ff106 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x760cd51c get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7a560234 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8100dd2b __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8ea29f00 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x94d9dc92 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9576a8d9 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9baf3442 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9c140dea register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa0f1e081 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa17d9fe8 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa3989c7a mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa966a1d4 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xafc3edfa mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb18db943 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb4ad986b mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xba01f41f mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc70dd392 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc7784849 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xca533cc9 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdaf1450d mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xde02867b mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdf84143f mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe15a0bd5 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe5ce33b3 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed6221a6 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf1468a16 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x2fa25f9a add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3717b309 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x9cedbc93 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb38cfa10 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb55920dd register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x1455a72f nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2f715183 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x368dfd4e nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x3a206bf5 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5f6c4c7b nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x63ca69c6 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8198a658 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x89188dae nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x92d3e596 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xad77fb50 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb20eb6a8 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb4838a84 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xe10935da nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x238359c8 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x333770a0 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x5f403ae8 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xac5c0724 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x01189937 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x031a5436 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x086aed26 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2a9977c9 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x33fedfc5 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x34e06a1d ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x3c121721 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x65ea1fe8 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6890214b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9cbb696e ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbeb45b50 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcbfe272f ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdafb9f67 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xeaeed65b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x10d269e7 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1aa99067 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2898553b mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3d9b65b9 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x4e940b5e mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5ac19e36 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5e17ae49 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x891c91f3 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x9c6402e6 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa5f2cdb7 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xc77929aa mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdb38c2ff mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe940c245 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xbc0a1165 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xdea5d0c7 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/bareudp 0xb14d1a4a bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x08872cea register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x35159d22 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x4cd3c120 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x4eadd893 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x27401264 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x9e825f66 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xefa58a91 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xf95693ef unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x014a70e0 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x02ba01e7 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0b8b985f can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0f058ac2 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x20b4a1d7 can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x23b9486f can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2aa3996b can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x32fb746c can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3bf1e9a9 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4c19b623 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x54b2e091 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5ac00321 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x82417d52 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8b160576 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x90b77e90 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa046e116 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa47f08e8 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaca2b2b6 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbadcef82 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd34e0750 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd4f1bdb9 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdeb2e7af alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeb7d0edd can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf354570a can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfc21cb4f of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfcd3971f unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x004fa811 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x08123e82 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x4d73d936 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x59c9d2d9 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6978b888 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6bde3190 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x8682ad35 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x9e22a88d m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5183b1d7 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x84545b9c unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xc69c77bc free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf97dee0c alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x472254b9 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0fa8e1d3 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1e7ebc9f ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1e98f89e ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x39874ae2 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4d683d52 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x526e4cba ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5b508aa3 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x797e54fa ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x79f43e84 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x82eb0512 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8a8614df ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8d2f5f5b ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x903f3186 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9dfaa9e2 ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa9f1b2dc ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd814941b ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xedb678a1 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x01bf4d64 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x04d0cac2 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x14d4a7d3 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x21db02e3 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x3f15eed5 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x58229f7c rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7342ee82 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7492e551 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7f9ffcff rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x8157f351 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x85b2771b realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x85c3b8e6 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x8d09cac3 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xaa47ba70 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc1e9b562 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xee22b96e rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00e00faa mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00f693d9 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x021cbb21 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08009682 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b7ae56f mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f1677d7 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11e6f7b2 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18dbbca2 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x199df500 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b8cc0d3 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f21678d mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x213320fa mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x214b3f92 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21d98d9c mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x226d3e92 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x228da4c4 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x238bd86c mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2488fa56 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x294cb9e9 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2951f223 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a77804d mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31570ec9 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31ebc4eb mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x322dcd22 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x37aa8bdd mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3920cde1 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39c96146 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x404502be mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40e35128 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4223ff9e mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x42902877 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x445b70be mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x484c85b3 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b58974f mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x503d3a10 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50749ae6 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5395c62f mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55d90d99 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56f66946 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x599aa0ad mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a1093c2 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cd2eb81 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f55edd1 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x648d27bc mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b911238 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b9eff41 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c33aeaa mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d436b89 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6de1c724 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70a009e3 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x751a2061 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77b35705 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c04a822 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82a8fdf8 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x832c71f6 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83edbaea mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83fdd942 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x856c1b28 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85cf92fb mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85fa7524 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86af43b4 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86ffa8d7 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e43d307 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95cd0674 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95e1ef64 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x964638d4 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98c71797 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b570ef3 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa006ab3a mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1b19abf mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2ddbdd0 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9861892 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb384b87d mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb48d901f mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7dca15e mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb938117b mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe6d1cb2 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf6a52be mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbfb96d93 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0ca8dbb mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2597b1f mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2ded052 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4f6ee30 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9c5b88d mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9f20b3e mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9f3f568 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcbbcf36d mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcbe558f0 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xccb5c15f mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcdac9bcf mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce726fd6 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfa9d9f3 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcfde7617 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0d43e3e mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd108d423 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2123c68 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2b57017 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd62a0d1f mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7f05876 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd89a6a20 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8ca2ddd mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb3f9726 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde088dae mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdfb8202d mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe04420d6 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5be0c20 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb390e4c mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec05465e mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec11a31f mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef4a347f mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef531cea mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4c4ff75 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf57fc9cf mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf5f6ca24 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf60c1596 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf78cb055 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf80a0cd2 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf815be89 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf98a683b mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc02e0f5 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfef5484a mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x011388ce mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0434defa mlx5_set_port_tc_group +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 0x131c7f4f mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14b0cedc mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15e7ece0 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x177e4fe4 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1cbf261a mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e33767b mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e7ca545 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2088a02b mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x237029fd mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24d52c2b mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2862fa67 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29d7742d mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x383cf452 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38cb2632 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a0c3c72 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3aa02a6b mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b785242 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e23d9cc mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f9eacee mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fabbf54 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40006168 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46ad6622 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x486b0c0f mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49e5e76e mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e881541 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68c8dd0a mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6994cb69 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69a9b17f mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e5d6905 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f7fcec9 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x741c1c34 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dd37fbb mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83d8141b mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8ba84baa mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eff32f5 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91eb2b27 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9383efa5 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96ab23de mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98589e06 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c3c653b mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ceb76b5 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa004e23f mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1c07554 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa24e06e8 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa58451d8 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa83b2f4f mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb697e2c9 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbae3c9f6 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbccd1135 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc158c285 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3d23c61 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc501cd38 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc72cfa25 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcab99573 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd938a0cb mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdace7f9a mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd0ba1f1 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf26fe48 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe12de334 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe254cb74 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3bd9dd6 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9101389 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xecea8e48 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee2c2ccb mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4fd17c2 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf9fde149 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcbda0ab mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfda748fd mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff51a117 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xde38f9b9 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_common 0x64be21ce ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9ea779ba ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xf9ba3470 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 0x47873784 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x575ce77f stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x57c20c4b 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 0x959aba8d stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x01520187 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x3ce90457 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x46429ca2 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x8c9c5a9a stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xf0a61cba stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x05c9ab29 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x6dde8d0c w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x71f0ae79 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7a79af3e w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/geneve 0xd84efba2 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x1fe59604 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x277d779c ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x986759c9 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xaa354882 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xc6dd96d9 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/macsec 0xd94534b9 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1b292d57 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2e08f6e4 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4fd8ca33 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x850b5da2 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x45ba5994 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xd71c6d24 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x08bc69ce bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x136a34ec bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x13ccdc1f bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1ba6dc2b bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x26199375 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2e637d0e bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31f92d47 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3d8c5ce2 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4eec8551 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x569422fd bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x62803316 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x65c2baa7 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x66e681e6 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x694dc6fc bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x80e7dc6f bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x86989732 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x86e83a87 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x89032815 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8f448fbf bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9641a284 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x973d3998 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9777b0e7 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaf7f0799 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbda2284a __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc1daffb3 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc88875b3 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc9d2ff1e bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd795aa06 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdb284b53 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe45de02b bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe4e7c7d3 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf4072e55 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfbe832c2 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0xfe11d535 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x75133c1b mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xdbe46d60 mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4cd908d9 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4d599e0c phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +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 0x7550f7ce phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x82d083f0 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x86ff345f phylink_ethtool_ksettings_set +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 0xa6c08721 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc401e9e4 phylink_add_pcs +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 0xe9f7a401 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf2a82145 phylink_mii_c22_pcs_set_advertisement +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 0x06a93acb tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x4e831c61 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x6b3a1c7b tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x6c1df43e tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x6d7b0cb0 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x6fd076d2 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x766fae41 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0xa0557581 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xef01b7a5 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3d195d87 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5a08b171 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6089ee59 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc777a650 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe8938462 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1aac17db cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x274b4a26 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x2cb67cad cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x32488572 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x3952deea cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x754e6dba cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x828d9fd6 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbbeb185e cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd559e608 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xdb96f051 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf7183f9d cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x18c2ed58 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1e7b60c2 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3cd62085 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x8ee96914 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe8543dab rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xefc83a7b generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x017ca9ea usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x06080e0e usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x09c0487b usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14a70a1f usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x192da292 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2315a34f usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x27bd7e7c usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2b209f28 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x31020bd9 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x31c02867 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x50b8524e usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x52bb7894 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5363a505 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a38bd2c usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6591e318 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6fd3731f usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7300a6e7 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x76c3ce61 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x772ab93e usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7a3026af usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x82c8d6f5 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa593cd63 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaff2067b usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb3f90e85 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc5522ea8 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe46d9822 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xef4febed usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf41cae85 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf44aa2d3 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf553d52d usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf6711ffc usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9a9d3ae usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xffa0806b usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x3f9c37a8 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xc490665e vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xd3552ecf vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xf5dbb7e0 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0ec28df7 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1057c399 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x174f1d13 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x402430fb i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x440a9172 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x462e9628 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4b571b98 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b2c7620 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6238604c i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x63b2ee93 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6e73aef9 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x76179f5f i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8261d874 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x8d4841ee i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9876a79a i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf18d9b4e i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x454b87c7 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x40414570 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c99ea49 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9edb74f7 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac98fe15 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb088ad46 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x065698fe iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b78ae7e iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0c686e1f iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0f1667d5 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1051390e iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x148eb464 __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1df02fa7 iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2a9c3ed4 iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2d062f23 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35dab83b iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x40f03862 iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x468758cb iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x48e4d16b iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4c56455d iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4fa8ac4f iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x55fe1adb iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x57909eee iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x59a1c2fc iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x59b87126 iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x61c8920b iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x62d2cc02 iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x64f64b69 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x69bad3be iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6b6ca4f8 iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6cab1df4 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x72c00ad0 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x77994477 iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7d8fe226 iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x83365f7c iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8dc88486 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8fef5792 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x911a6ee8 iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x98215248 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9ba3e7c8 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9bc29cc0 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9d4ea6fe iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9ec23dfe iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa0638a16 __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9b51845 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9c701b9 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xae404424 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xae95f43d __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb56182a2 iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb7daf0a3 iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbff40a49 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc0992258 iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcdb1a582 iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd73fa553 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd8952798 iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xda10b367 iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe39bde78 iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe60a0074 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf050517b iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf717fb4f __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf759649f iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf7852763 iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf84c4dbf iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfb474960 iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfe4d0517 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0262662e p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0a8bba60 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x29d011de p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x55cce899 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7a47ad78 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xba7877c8 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xbf9f1e81 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xf05554e3 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xfc6c93d9 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x01c0c92c lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x05a05212 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x16e77719 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x276ef8fc lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2f136414 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x311b4207 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x33edb9a0 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4c6cdf7e __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x59a72c33 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x66cee241 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa5a2d78d lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xaa93efd5 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbaabf050 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc05d960e lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd070cd72 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdcdcd43c lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x19e6ada0 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7b760476 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x99815fb8 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x9a47b8b2 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xb02725f3 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xbb39878a __lbtf_cmd +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 0xde94fab5 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe4af696f lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x30895854 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3f625b38 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3f78582f mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4223a43b mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x438e62c8 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x51cbdc30 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5773cac2 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5bb38b10 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x657fc9d8 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x699dc995 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6b565393 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x82c562fe mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x846e4e16 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x888544ee mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8b70db01 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa79fd7ab mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbbc49ff7 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 0xd7b0e530 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe0a0f3ee mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe88513fa mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xebd1da8a mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf87d9d04 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfcec0e85 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfd6980e1 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0682e338 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x06d52bc4 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0dd08623 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x14e18b7b mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x19446355 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2097ecbc mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x337449c9 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3a55cb5c mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d60b1b4 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x434453f9 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x47e5e982 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4be41d96 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x50ac6b09 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5500d075 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5911ae9d mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x591f89c1 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5acc0eae mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6978ab9e mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6cff3018 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e3e3de5 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x71010b22 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x75e271b1 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7688a897 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x77b654eb mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7a701f8d mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x801964e6 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x83c596cb mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887367da __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8aedc878 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x92b39517 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x962da642 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9fa78396 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa556faaa __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa8fd4ae4 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa98ec87c mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaa97044d mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xae4e86c1 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xae93364a mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb2e7171a mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb4d9d792 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd53ecfb mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbed8bc56 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5ab7faf mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc72ffa96 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc7f9a8f5 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc8072a69 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcefc3f35 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd42558ce mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd63c8088 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdd2a8fac mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe2d2eb6b mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe327c4dd mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5ca8369 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe7015812 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb56f8fc mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf37e3ae4 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf4b85861 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf4cc3506 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf57c3d2f mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf8f28e8c mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf958a2d2 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfda74988 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x0c77d06f mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x25e9aa9e mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3d971f00 mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x441ab70a mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x533ca149 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x543ef42d mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x61f26f08 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x783bc070 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8c7d733f mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x92134aa4 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe8cc151c mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0221436f mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0da3ffab mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0e016b43 mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x12ebbe90 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x15d94bf7 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x16808189 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1698310a mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x22f8af42 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x239f248f mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x23b7e67e mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2dc53a23 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x386b33f6 mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x45f52691 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x48aef963 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5acc1c97 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6192ee5c mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x62e14910 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x633793b0 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6806997e mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6ca9dbde mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fb93740 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9bc792e4 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbfe7f04b mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc1ffdec3 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc359168c mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcd7c6703 mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd50e9446 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd97ace7f mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdd6e952d mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe0e860bf mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe1d5c2db mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xed086b72 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xee91a10b mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf09ddda2 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf2c7670d mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf3939c5f mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x25362a10 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x41732588 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x50fb2590 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc1e51d89 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xccc0bc39 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xf72648ce mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x006a267c mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0177b569 mt76x02_set_tx_ackto +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 0x07d0d493 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x095fcc47 mt76x02_rx_poll_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 0x0d71ee5b mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0fbd5f82 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x16c12e02 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x19f43c18 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1aa4d342 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1fc0d9ec mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2228a1a2 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x282c5314 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2961815f mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2b69e115 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2cb2083a mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x33fc4cd3 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34ca4f43 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34d0d8f3 mt76x02_mac_shared_key_setup +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 0x391c3fd7 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ae03eb2 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3cabfd3f mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3dd7a1e4 mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3f9abb06 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x403ab084 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x47a0203e mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x48bbd5fd mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4a1a94a3 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4e907dd3 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x567da153 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x57170896 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6f69bc59 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x717e0540 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x736a0cf5 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x73fe639f mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7439796b mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7b6363ec mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7eaa55e4 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8d799ba3 mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9065d351 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9332946a mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9de96d02 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb17ea752 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb743fd18 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb9ba6350 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbb6e21dd mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbb83c378 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbd1436dc mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbfdc86a2 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbfe580df mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc225c60a mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc25c202e mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc3dcf8c0 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc9e05374 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd649428 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd0fcaf23 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd706a467 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd7ac4df3 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd87233e0 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe11e2e6f mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe3dccd92 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe6035115 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeb1a3819 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf0bf6267 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf72be319 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb5191f6 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe5f27e0 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x02020729 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x05b35871 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x227b83ff mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x3ae09c51 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x91dd315f mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc3fd22d4 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xdd0d1e94 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xeaecfdac mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x03440d3d mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0fba43fb mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2ac49ec3 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x34d0837e mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4ae622d7 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x59537105 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5df79025 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x729d8d02 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x84dceddd mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x86f8ac11 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa4d632f2 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa7f7f413 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb23166ed mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb2eb1f10 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbaee2b9b mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc993f3f2 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd2373bd7 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdfc69dc6 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe20a484f mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x085e4c72 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x17843904 qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x1b47da7d qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x1e032da9 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x717d2648 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xabb851c4 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xe79d4f84 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf0c24c0b qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x02fb6772 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x114b6bfb rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x11e36db2 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x20d9cdbc rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x228259cd rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x246c7d54 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x46fe297f rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4ae88c5f rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4cf7c460 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x52bd95ea rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5491f090 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5a62a8dd rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5cd1e7d5 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5dd9a205 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x621464dc rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x67f74ffb rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x695817da rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6d829eea rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7374bb96 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x73bacbbd rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x74833897 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7b5b6ebf rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7dd9a178 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7facc808 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8344b638 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8bd5ad81 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8c0c714e rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8c4aeb75 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x93ee989a rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9c99bce4 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9fbcea38 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa765a52f rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaaf0fa6d rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaf7bcda9 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbf52e998 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc1f3718e rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc5709f7b rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc5adc884 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc6cf6bdc rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd869e9ed rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdb9633c0 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe1c83972 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe83856ab rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xeb0d51b1 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x22c0283b rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x29d2742d rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2cb271f3 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32166d6c rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4b3f7280 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x75aa83cf rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7a12da47 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x880dd9dd rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x93d947c0 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa80ea93b rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa8163790 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc0e896e1 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc698eba5 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc890b0cf rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe4c3d6d6 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf5ebfae9 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0353dbba rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x03d2ca9b rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x07737252 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x090d7816 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x11ee912d rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x14af9959 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x18fdb4a7 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x21b3ffc0 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x22a0682c rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2cd5400c rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2d9dfc20 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x39b3cbb3 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3f0eca2a rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x46830cd5 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x55cfefec rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5cb4ae47 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5eac160d rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x62e8fb5e rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x63c428d1 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6e9382d3 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7857f210 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7f06f531 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x816abd56 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8a8ddba9 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8fa39652 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x92a6adc7 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9e7aa161 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa1f6853e rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa4bc2ca2 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa710526c rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa7b7ef4a rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa8d8ea8f rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb14a7b52 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb59847f2 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xba76f39b rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc5e235c9 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd5626e67 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd685e34b rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd6b272d8 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe0c9e75f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xefc2359e rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf05e50c3 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf78b0257 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf89d547c rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfe2617bc rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x35344f63 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x48be2b07 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xafce846a rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xed9070b3 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xf70267e9 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5c0de6cd rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x9240f891 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x571fc4a2 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x66296c47 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7c4c621a rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7e46bb41 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x86e93279 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x87179f53 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb0f69b2f rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb10085db rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbab3cab9 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd9fb2e3f rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe910b905 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xec7033b2 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xedda01f7 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xeeb7fffa rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x26727452 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4dd53ed3 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6fc6ac8e dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x90b157ba dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x067561eb rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0bef23ad rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1832d3be rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x256befa2 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x29093bc2 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2bb34492 rtl8723_enable_fw_download +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 0x413a7c50 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x459aa61f rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x48b5d803 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5f495999 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x636f2da7 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6efcb0b2 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x785748c6 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7b52b884 rtl8723_fw_free_to_go +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 0x9ad0d952 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9d715ae8 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa5b4fc46 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa6c06184 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xaf1cffa8 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb9c58af9 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc7a4e7bc rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd34a80e3 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xda82e9e1 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf81e3e4f rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfe6585e9 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0001e2be rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0fe658fe rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x21595c74 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x24434542 rtl_deinit_deferred_work +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 0x36aeea66 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3bc24ba9 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3f87bb4a rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x50757c11 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x532823fc rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x56455387 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x59fbee20 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x61ae77eb rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x62cf29e4 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x766ebc5a rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x81782a49 rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x82ec950c rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x83ea8aac 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 0xace4e10e rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb1de4b3c rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbe9f7647 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc4e4f195 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd0856ded rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd4b80d33 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe4aa02da rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe8ef96b2 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8d03b9e rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x22656700 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x4badce03 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x4c4cad6a rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc3a53b6a rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xe5e312be rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x00a7621f cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x05a80bb5 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xcdd809e4 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x8556aca3 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x9e132fe0 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xdfff9370 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x049e26d2 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0d982c53 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1518ffb4 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1962d94d wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1ade4bdd wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x27ff6bf3 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2f65debc wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3031dc4b wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x331068d6 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3633ec61 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x385855b5 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x392121f4 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3b29779d wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4ecfb825 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x507d35a3 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53ac94e0 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5a948aea wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5e8e8f43 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6406a2ab wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x66396043 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6a30c86e wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7110a2b1 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x71de138b wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x720df1a6 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x78b9a6ca wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fdf5b7f wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x81cc74b7 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x89e88abe wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x91969210 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa26278e7 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb0f4ae48 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb1a4ca7e wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc4b25342 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb604ca3 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcbb8da83 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xccd064ba wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd0f578cc wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdb16ef78 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xde9361f3 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe53fbe81 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe9444ca9 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf31dd43b wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf4fb0b0f wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x1fb78c5d nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x27e5c058 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x409730ea nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xd9b4b0b3 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x22c8f7e3 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x42c795ce pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x4ba7624e pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xadf187f5 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xd4664856 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xd89db742 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xec753b2c pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x50d80151 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x87270bcf st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8836d3b2 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8af435d6 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x9322c319 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x9af702bf st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xc675a675 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe1fd961a st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x57401277 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xa977f3e5 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xe0e494cd 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 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 0x74e856c2 ntb_transport_unregister_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 0xc535993c ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xe2bd5ab3 ntb_transport_create_queue +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 0x22476f84 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xc9d61939 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0be7d86f nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x119a51d9 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1217753a nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19876274 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19e1b350 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1bf3912a nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x21bdc9c4 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x22cb6dca nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2b1847d3 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2d441c2d nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x34bc3c63 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x39ad8df5 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4143f115 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4398fda7 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x44817715 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x504ddab8 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5ab32468 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5d590742 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5e8171fb nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x685fc3d9 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7c8accd5 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7f42acc4 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8299c150 nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9159130e nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9395255f nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9a4df634 nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9cf8795b nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9d163065 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa1e8ed9a nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbc921545 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc4e9daf0 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcb159d06 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcc42bad6 nvme_cancel_admin_tagset +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 0xdefc9319 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdf4d7cdb nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe8a26988 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf06577b3 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf6156d00 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfb85298a nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2dfdffaa nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x40c8a9e9 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x652c3b42 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x709b0645 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x70b6b872 nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9e1ad83f __nvmf_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa885d49f nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb24bcd0c nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb2f100b1 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe406ae39 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf371532a nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf9163033 nvmf_register_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 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 0xe940a80f nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x2e8e416f nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x2edd1f0e nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x59240e9e nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5b0172f6 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8656fb95 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9c07d74a nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xb3d0b47e nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc325ec4b nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe2bcba8c nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe9b76bf6 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf93afc59 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x00cc6320 nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d 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 0x8029983e nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9def7364 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x7124dc54 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x842e8328 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x95298040 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xb45527c7 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x2b3afc23 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x64a42da3 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x85da0e9c devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xc58d0a9b reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x1b301251 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x6b422c34 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xf3caaa97 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x4f249d19 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x60b8fff2 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xe46c4f4f pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x58a2bfb5 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x73a0712c mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x89d367a8 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x8b5a42fb mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb2791aab mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0556b71d wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x35dcdb2b wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x58cca0f8 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x65e201c5 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x67fa6084 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa3dbcf69 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x59e9dc91 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x5dd813b7 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 0x03eb1efe cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x06e4643e cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f1504c7 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1ba6e07b cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x207b5f5b cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c203ef7 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c753041 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x32a1e2d7 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x338e4ec3 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3395ed8f cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x35a0633e cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3b1d4614 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x493dccd1 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4d340ce6 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x579f5ba5 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5b72e2a0 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x68be1333 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a6acce6 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a82adfb cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f8c80cb cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x703d2ef9 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7632f30e cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7a30544e cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fc3c496 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8a79c783 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x967ba630 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x99851c2a cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaeb50d90 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb5924fb9 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb5a30f78 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb9dd9da0 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc1921b62 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc34f308a cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc3bb8d8d cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc87f7600 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd065585c cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd2d0ac47 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdf38a905 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe0827a86 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe117f545 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe9ffea20 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf4b185bb cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf7977365 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfa3a5c86 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfbfc01bf cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x01288949 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x34d3065b fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x43154b85 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x48713cfa fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4b7bf85b fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4b7e3598 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4d1c338d fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7a2b4d4c fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa73e936e fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb3a735fa fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xcd24d7fa fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd02c2b54 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd62996bb fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdc6ef70b fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdfcc26fb __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf234607c fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2226374f iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x27353356 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x76ca8311 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x77b2f2ca iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb78a96d7 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd903e106 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xdf3d0e79 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x03367e0b iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09e25a5a iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d15f16f iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0de2e9b5 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0ef86f26 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11a68d53 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1665e8f0 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x382ff9ed iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3ee0736b iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4470a42e iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e854335 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x504bde7b __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x50fad296 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5376d1cb iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5778e288 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x57d88bde iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5be22d09 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f4f029e iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x60242a7c iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6aaf57f2 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7470ecf3 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7cade277 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f689954 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x82bb96f0 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x835df5c2 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8a0abf46 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8a9349bf iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa929bc0a iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaa76af08 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb72e0247 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb7a1dfa9 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbc66bd80 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfdc6269 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd82a84ed iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd966fdd9 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb0a9721 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb94ff2d iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe357e470 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee68b3ca __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee9bec3e iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc4a2015 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfe7df857 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x217a8d53 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3e293a48 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ebe42ff iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4889ae9f iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4893061b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x48a475bf iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4cc4c268 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x52be3553 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x615f1601 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8deaf7e3 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa13173cb iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc1911ddf iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca376883 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca61c26c iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcf6e5c10 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf0d9fc07 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfb47d586 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x030c64a8 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x03357c5e sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1257df5d sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1ba5d788 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1f259c4c dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x23097cf6 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x266f774c sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3a494faa sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3db9728e sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x41c1a9fe sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x50250fcc sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x53a6ee58 sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5ca4347f sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6f0db3ce sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x713938f5 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x84ed9d5b sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x994d2666 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa54cca41 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb7288717 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcb5e33d4 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd5c70300 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd756ec77 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf09ccc61 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf812f55b sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x009e5d10 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x040747cc iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0a749943 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d46d15e iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x163cbc2d iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x16a161f5 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x191ccaad __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1ea6370e iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x249c9473 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2650559b iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x26fc66fc iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d25ec5d iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4ee747af iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4fb38d3a iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x51c5817c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52850fcf iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d9d2b2c __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6520fec2 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66d3ef47 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x683b9b05 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x770f593d iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x778ac365 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7cd7d6be __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x80a9b0be iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x80ca0f1b iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85a2bcc2 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8ca76fb2 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8d5f8fff iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaca484c9 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc0214dd5 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc2391514 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc5909caa iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcfab7c74 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd148866b iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd230dae2 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdab94a02 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdbac3b67 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdbf72475 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xea43c0f4 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xef345f26 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf639abe3 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf9752231 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfa497b8a iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfc3806a7 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x17167db7 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9c74ce13 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xaf4307fc sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd3937cb8 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x9be6aa2c 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 0x060464ad srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1665625d srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x376af2a9 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4a19dc47 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x57433167 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7f7acda7 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x0a87f780 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x0d533c66 ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x1cff50ab ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x2c616ee5 ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x32114c18 ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x3496f83e ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x3f8c34d1 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x69894055 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x828c1038 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x92381ba3 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xacdff53b ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe49fc424 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xe84c81dc ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xec209f68 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xf7899f7e ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x09a28bfc ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x4a2d213c ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0012a226 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0d294c01 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x5037bc71 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x50ab981a __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xa82b07bc siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xbd843f14 siox_master_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0a19971d slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x23c95e2f slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2d3c2a41 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2e1263de slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x323a42c4 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x39e4a04d slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3a622e9a slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3be6a336 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4afe8bae slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6077776f slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x67c4c413 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x765ebdbb slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8343bea0 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x85af8251 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa8086e13 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xaa7a035e slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc0f7ce71 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xca49c66d __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xccbf65af slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd06dcd78 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd730e64e slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xdb2a8a5f slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe21a4b4a slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe685768e slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf071a4ea slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf2e36ccf slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x49311210 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x68837d61 __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xdf1e450e sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0d8917a5 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x2881283d spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x43721a61 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xa6b6a7ae spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd1b0782e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd7225140 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x04b0aa2b dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0e43ace9 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x11dfe196 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1813b80b dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x5ad7389d dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x891fe505 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9b01678a dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xea14ac88 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xf7fad581 dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x15ad6ed9 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x2490f90e spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x6ff0357b spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x110b881b spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1e3d881d spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x32b31c56 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x39f11a0c spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3b74e30b spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4e32924e spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5796c7b7 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x72e4966f spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x75c20834 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8590c615 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x935766b2 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa2716dbc spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb1c03e85 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb5bd4fc4 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xbdc56fc3 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd6a755b6 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd88af012 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf61b8f4f __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x524500f2 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0be4cdcb comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0f095b44 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x159fb3d8 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x19e8f358 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x26607eb2 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2aadc92a comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x34859419 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x3a305f23 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4468eff3 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x44fb9c68 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x464d41e1 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e71f3d3 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4ec8f035 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5902c706 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5e1a4124 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5e245976 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x5fac5b80 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x66dfc335 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6b77de46 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x75d61689 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x849a92ed comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x84c3173d comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8b5088cb comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x92ce6ea1 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x92ea6017 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa2f4b053 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa47db7bb comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xab151006 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcc2449e8 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcca48397 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcce46119 comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xcecaecf9 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd76586e5 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd95f181c comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf22f6cb6 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf8ff5cd1 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x0b8a5b26 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x1c85ab4f comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x21ce3a70 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x6a4eae0c comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x7101f881 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x76884c1a comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x9a8ae8cf comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xab653058 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x2833c1de comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x3246ffc4 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x4990340c comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x5b7d1c93 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x5fc8670e comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xdab61722 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0xd241f071 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xba72ea06 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xcc21d95c amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0xc4434889 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x2009b6e0 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x4cc12d50 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x817f364e comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x818d5ea0 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x87293876 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x91f3c9ef comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x97166274 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xb931594c comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xbe3cb1eb comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xde7e4d4e comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xe448a3c1 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xef1730fe comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xf87fcdc6 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x4968cc5c subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x8ce9c1f8 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xfb88924c subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xaf78b823 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x0a5b9e25 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1ea8cda0 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x2b585521 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x35460378 mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x37674c61 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x48ec413d mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x4901aab6 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x53bfe681 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x569a8d7a mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x58a2df12 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x74e7204c mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7c16ed24 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x7d87f6a5 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x921e62ae mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xa34381b8 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xb9f9b840 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x07a146ec labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xf0aba998 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x15d4d071 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x24f5d58b ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x46a99a1c ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x53c97714 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x54d37df1 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x5d7e007e ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x78fb4f9b ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x81ec00b4 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x869e5b0d ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x872296bb ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x873a6d9b ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xa6941758 ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb9eeea5f ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd4284260 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xef912566 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xf2be8ef7 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x735b8d36 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x78ef0dcd ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x7916697e ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x897a6d47 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa60225b3 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd11bbb1e ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x155c12e5 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x6d645669 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x79feb3d7 comedi_open +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xb6490c8f comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xea459310 comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xebcbf97c comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xffd870d5 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x0d45c044 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x308d099f anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x4baa428f anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x60ca2a2b anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7b592d72 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xa3a65c3e anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xab2e26a2 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xacb5030c anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb6a2d0a5 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xe201f295 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xecf04bb1 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xf24b20e7 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xff8ef854 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x1ed38b36 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x2e645024 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x3c7c437c fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7316b020 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0d342af0 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x0f34d098 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x26c05d08 spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x2a0fd1ec synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3e8e6e03 spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4d5f73e3 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x5fdbd4ab synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6292e318 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6b3ad1f3 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6d7760db spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x78a2a31c spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7940b244 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x92a0f8e7 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa5078258 synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa6e96a97 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb2263c93 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xb91ba7f6 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbc1f2490 spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc1a95f40 spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x11282577 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x45dc2f0d wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x48041189 chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe0422bb8 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe88822d3 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xed49dee4 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xf11877ed host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0b3937cb tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1d4a9c0a tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x395896e1 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3e5707da tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3ea5db3a 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 0x55ee858a tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5a4ae13e tb_service_type +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 0x7cc97879 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x84e94f6f tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x87515f38 tb_unregister_service_driver +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 0xab3a3aab tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb4150b0b tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xbe842bf4 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd16c72d2 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd5e4aa16 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xee4a41ae tb_xdomain_request +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 0xf8210f48 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfd39690f __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x0e660c89 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x34776f83 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x5b381033 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf976bac7 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0d1fc343 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5bbb7dfe usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xba461d8a hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xce2cdf88 ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xf31c9987 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x11e5b054 imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x18167e0c imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x19593214 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x35719254 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xb5ad2454 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xca86f8ca imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x0fd53652 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x0ff6c8d0 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x10be8c60 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x4e221480 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x5881d0b8 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xfdeae79a ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0d3e9c26 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1178ed8f g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x2ca46484 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x363c60ba u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xcc451989 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xf893b64c g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x05e060f8 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3bcd187a gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3c0dc291 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3df7431e gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5e3e08e2 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5ece71e9 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x71af99e8 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8436e71a 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 0x8da939a2 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x93b228cb gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa50c122a gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa93c28f9 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd8ccff7a gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xde0f2c6f gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xea7e1b74 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x06b5254e gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x09a83728 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x86792caa gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xbb03d9bd gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc8d51d9c gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xef920368 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x4aca0f9d ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xd1620fa2 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xdd6e67bb 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 0x2a941f5c fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2c5bc066 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3723068f fsg_lun_close +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 0x3bb63f52 fsg_lun_fsync_sub +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 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5db34755 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x67d80b19 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6a8d5c29 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 0x7d5bb600 fsg_show_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 0x8320ba4d 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 0x91a6578b fsg_lun_open +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 0x9ea3d969 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 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 0xbe00e7b0 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc29ee28c fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc53d34b9 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc820a634 fsg_store_nofua +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 0xee8da14e fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4ba25bf 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 0x105c0fed rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1b4b2510 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x382f5ee8 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3c44469c rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x4161a8b1 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x61ec2152 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x67d398de rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7a211d13 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9274cd90 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9bc3a1ce rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb1e5dac9 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xbe20925a rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc83d40c4 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe4b08286 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe6e425ad rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0d1b441e usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x15cb0af7 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x16676778 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x18c6f212 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x18f1f233 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x272fbf50 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2749a8d5 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x280b467d usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x28fdaf25 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2da4761a usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e66a4a3 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x468b0994 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4ed940fc usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5d1660e2 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5eeeab20 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6544793e usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x670e1a3a usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6bdb026d usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x72b957c5 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x771d907f usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8c62b41c usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8d033dd1 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa064dbef unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaf912688 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb4125d11 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb4464671 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb6376d1f usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb7f56aa2 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbf5b23ec usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc25b10ea usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf4d5797b usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfa6ee9f3 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfd7c840e usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x21ea0819 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x33b60969 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x38371176 free_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 0x62853a39 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x861922fc init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xad53a915 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xb7a6549c gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf3f8b972 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xfe0d8d66 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x10097e6e usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x10f7164f usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x12d6a08a usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1bcea738 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1f146c4a usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x282c02ad usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2bd561d0 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x31ed7b63 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x34495fee usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3b41eeaf usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3f69f5ad usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x46b5add6 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4d4b85dc usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5ed2a943 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6bebbf53 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x73ca4c93 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x769d9d1b usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7d311634 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x86355a97 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x93ed2903 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9a8a8c6f usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eea3adc usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa3f8274d usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa967a1c5 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb5b8daba usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbd5dc97f usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc852d539 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc8cda738 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc976ef31 usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd2e5a9ba usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd7d89f1d usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd83d6f6c usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe26584d8 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe3f36614 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe5329f44 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe972e7bb usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe99fbdf0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf28783ef usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xe7fbe7ff renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xf348ed59 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x236d685c ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x6a771542 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4e0b1369 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4f6e4984 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x57bda4e2 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6a276e1e usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x810201f3 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8be5e5c9 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc6b7ad43 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xeab1e3d5 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xeca70e3f 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 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2f448900 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x536cad70 musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x68661cb0 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6baa7184 musb_set_host +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 0xbdc04bf2 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xdd14cd7d musb_interrupt +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 0x341afbe7 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x620d6bfa usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x68823726 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xa032df15 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xe486511a usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x370ed31a isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2bcb3b67 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2ec2e092 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x5ffcad0a usb_role_switch_register +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xec6e8749 usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x39dc61a5 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0b1bd60e usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x119557e2 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1341c5fb usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1ea7ef29 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x29bebda5 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4cb4cefd usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x60c470db usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64c2f4b2 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x66aab3c1 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x688ed724 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x72735cdc usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7b181477 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7d4293d9 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x82d376a3 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x926b7b6b usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x98ec91d5 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbc0b2ef9 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbda7a423 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc5fcde7b usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc83d4965 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xed13f394 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x09e95a7a dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x33b44ca1 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x52482f7d tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x6113c09d 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/typec 0x00d28367 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0559b747 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0f5e9e0e typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1682a641 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4a1a4c9c typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5641894c typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x61857801 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x67fa403b typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x803620c6 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x814d675a typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x825596d1 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x82f10570 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x97f9ed9a typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x99f9fde2 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xaa6b34b0 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb9b1a26f typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbda7752c typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbfa96dcd typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc6b4b7b2 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcabe44f8 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcd06c17f typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xce413e6e typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd037a490 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd1b4e130 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd1de13a9 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd57f998c typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdfd330cd typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe6e47e0e typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xebabf16e typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf4dd7025 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xff541af2 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xffe13b45 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x07ff9e9b ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x27fa5359 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x28c00b2e ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x381ed40a ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4b16757d ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5d912c5e ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x8c3bda72 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x9e643ecd ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x9fb9574e ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe58aa2bf ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x02a61dfd usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x1e309401 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x33ce7d30 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x4b266eea usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x58645863 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5c436085 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x706a0242 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x70bdfa5d usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa5bf28ea usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc3ddc70c usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd81ec633 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xdb449f95 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf2227d79 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x06dfba2a __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x368925ae __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x8fbc520c vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x99bf7aa4 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xef51395c vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0xa422a530 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0e0fbe4a vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x213c74a3 vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2660e1e9 vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2700d31e vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3f2273f8 vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x6db3479d vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x777c4bae vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x79568e70 vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xad03efac vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xe11b7c7d vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x41c54d6a vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xb599be1b vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x01624514 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0edc3bb0 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x151935f5 vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x17d0fa05 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x18801652 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1a4cb940 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1deac70a vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x221a43a7 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x277b205a vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x38a8b4bd vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3c4f65f3 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3e5250f2 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x48581361 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x48f21595 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4eda3264 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4f3869e4 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x51f34814 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x54da4711 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x659aa24b vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7616d0d5 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8039e823 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x81590f3b vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x85cf8cae vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x87c7b85f vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9f708916 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa5d0a65b vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xad171956 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb2d49cc9 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbda81cfe vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcf6a737c vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd3cc33b0 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd4313db4 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd70ecb59 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8c71d6e vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8c7b6e4 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdca0fee0 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xde9fbddf vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe5b25f45 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe895c768 vhost_poll_stop +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 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0cae7cba ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x29690653 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xcfa07029 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xda9162b6 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xfd572fd8 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x5cac74a7 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x2fe8ae1d fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x5877f563 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x7e9d8b0f sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xa39b71c7 sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0d635f38 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1bb6dce1 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x316f469a w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x53f1d017 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6bf058d5 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fc07acc w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x908dddee w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdfb9f0f4 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdfc209b3 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe4bf31ea w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe5b07ac9 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x64113114 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xccf7877f 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 0xddb751f4 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x58804e8e nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x59830751 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7513398c nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb1359b75 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb6ab56f3 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd5649ecc nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf06f606d lockd_down +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x019492ad nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02304db3 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04094a94 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04306b97 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x05912228 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x071d71cb nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0abf5d82 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13e395d6 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x140656e5 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x178839ba nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17a7222a nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c037fec nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eda497d __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x209a9161 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21d20b89 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23300fef nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x234685c9 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24127341 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27536edd nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2b324d9f nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d61622c nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2dc0ed3e get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31e6237b nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3206cef9 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x337b487d nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x34d455f9 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37b9e6e5 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3a130785 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3d6b4c24 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3fad4353 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3fe21eed nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40523af1 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x41a705c3 nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x440f419e nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x484521dd nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a2ed116 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b456a73 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cdbe32a nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e295ed4 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f501df5 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52e01a49 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x571ce837 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5885871c nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a7da676 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5c6358a7 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d191a8c nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e500bbf nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5ec677e4 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x61bbcb57 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63138b0b nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63a5ddbf nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e14e3c __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x640799f4 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66ba4e28 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x68ebe935 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6abe57a6 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b7837e9 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6db31c73 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70a73d6d nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x71f2ad58 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x741dc742 nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75ed0f87 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x782c7a91 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7dd2a087 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ebf4ace __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x830f9ea7 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84f1efc9 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85db9722 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8743d438 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8df64b04 nfs_writeback_update_inode +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 0x938d25dd nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95da5b5f nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x96a5b412 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x99a2def1 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ca05579 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9df70117 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fc9a89a nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa051a91d nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa21a9db4 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa49d3885 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa5c1ef34 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa69b9f2d nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9c14648 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb00883e6 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb14822a6 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb45bf195 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb90f2c71 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba7825df nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbde33fb8 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe961629 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbfe9f742 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc22f78b2 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3e2165a put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc5ad1060 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc86304b6 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbd2ad6b nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbe586db nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc457481 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcda6359a nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce4b5025 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf541a99 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf7e6633 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd39b5734 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3ae8a95 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd44a148a nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8f2cb60 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda16eae6 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb499b63 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc0c2a12 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc677d82 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc9f1be3 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf678031 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf67d79a nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1cc991d nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1f5c3c1 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe848fc24 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8a2a181 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea356653 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed69b12d nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xedf4eb5b nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf168a451 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf26c890a nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf648b492 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf6cde3fc nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8127152 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf9a40f7a nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa5430b8 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb5b3279 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb823d25 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff16f41b nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff1ec670 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x2dee54f8 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0021894d nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08e9c46d nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0979d4f4 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0bb8bbe5 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0bf64c8a nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1177c577 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x137e5391 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16c6452f nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1836c4bd pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b2a5e8c pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1bc422bf nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cadc764 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1eeb2543 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22cf058b nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x241cfb42 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x295ef4a6 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b03ec0b __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30767271 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x34c40598 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36751a61 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38fbf221 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e73f10c __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3f5c4822 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4425df8a pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49e60377 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4ce9b6c7 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5186d137 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x51ad9b00 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5205f7ed __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x541b016f pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x57020c26 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a83ab2c pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x61a49213 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x64d66ca2 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6555c89b pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x659203fd pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65cf94fb pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6c4e0f11 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e16b52a __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x72a52ec3 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x74376867 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x769041e7 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7922072f nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fd85ee7 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x80337be2 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81cf3387 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8bc79be6 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8bd3cc6d pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x92ad3686 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d162943 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9f9ac5d3 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa1462717 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa148229b pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa798d990 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9326f9a pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xabaaafb1 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xae42e306 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb18aa56e nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4895436 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb7e23b24 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb85de48c __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf0460de pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf19a867 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc151e45f __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc3f948cf pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcac9675a __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde5fb5fe __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdeae72c2 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1eca9bd __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe57a83c2 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe59437bf nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5a7264c __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeaa269ae nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeb65e7a8 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xedea91e7 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf091c4ab nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf61d7990 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf9665c9e pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfa93c2dc nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfc9f8a23 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfeeecf48 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x5118b712 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x583c7565 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xcc64e7f8 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x3af630e7 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xfa78a288 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x37452eb3 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4a469499 o2hb_setup_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 0x7b728b42 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x833f181d o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb2d4305c o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb39c967e 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 0xf7f4e58d o2hb_unregister_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 0x30485107 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x31237be0 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3f7ef166 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4d4d558f dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5bcc2975 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8d7a37b3 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 0x430cfdf2 ocfs2_kset +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 0x7aef305d ocfs2_plock +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 0xe59f86aa ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xeff57cbb ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x531fafdb register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xcbef6829 unregister_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x55ac30b3 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xacd1772b _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xd5925e66 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0xbc3b5e35 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 0x074a085b notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xe27a8fd4 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x89d14559 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x9aea4e51 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x2a387685 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x36e87316 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x37287183 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x4cabaf21 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x604602fd garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xbde7e17f garp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x01b1f7c1 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x35652986 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x382aa78f mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x7a3e63a3 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x910168d5 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xbf8fadbc mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x01d0d656 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xff257cb8 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x5123f463 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xce988314 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 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xe5ec4bd5 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x31bcaf8a l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x5b2f1ca9 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x63f781c3 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x80e7e45b l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x813e6f3c l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x852853c5 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xbead92ea l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xdcbb8014 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xf620cbed l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xaad703c8 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0845c08a br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0cb06f95 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x158a8ac8 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2135d782 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x239f35ca br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2687b5fc nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x38a966fb br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5007b57b br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x52974587 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x53d7d61f br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x59a344ad br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6bc4e055 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x747ee476 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa172d1b2 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb9197206 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdc41cae3 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe6526dd4 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xed6d1d62 br_vlan_enabled +EXPORT_SYMBOL_GPL net/core/failover 0x21688059 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x4cbe42c5 failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x819afc59 failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08478a69 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0b1d5e53 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1cbb20f1 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e57092f dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x293c28fe dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x30ce6182 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e366919 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x512b15cc dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x528a1fa7 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x57461eaf dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5b9683cd dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e7148f4 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x60b629aa dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x637a7405 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x73b21ffc dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7b54de03 dccp_parse_options +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 0x89f6975e dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8db0a395 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x96e88942 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa3c8149a dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa49a12cd dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa5b7b35d dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaa7b889b dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab8740a3 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xae643880 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb559b59c dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbe85ba7a dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbebfaa34 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbfb6716e dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdaaf866d dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe7585f53 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf5a7ede7 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfe09ca6c dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfe4f3ec8 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x143c2e98 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4939fc8a dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6b7b26e5 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9b78dbfc dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xad093f5c dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xba95b6b0 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1388270a dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2cf5364f dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x33f6c87c dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x38b0fb44 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x447bdc16 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4abff130 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x56891aae dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x79fc2486 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7cd17a83 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7d5282c1 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7e1426ee dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa21167ec dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa5833f72 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa9c79c37 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xac5e9d67 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xba12c61c dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbb0f11e9 call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdff55916 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe9d8dcc0 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfacc27c0 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfdf5af88 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x623f0bd1 dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x6639fd70 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x7b74daf2 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x806f49aa dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x8a139ad4 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x997d45c2 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf584a0b4 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x63e01e84 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x66967dfe ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x8278e0f0 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xa41b4252 ieee802154_hdr_push +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 0x798e57c5 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xd5265c30 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x82a96d3f esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xd5750b51 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xea4e2196 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0x9a50aa39 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xa549d509 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x11b6bad7 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1cd51b9a inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x27a98fa8 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x37948616 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x69dab923 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xaa0679ea inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xaff25984 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd95ac3d1 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xec1b07ae inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x4e632030 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x036fe80c ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1f02f0e1 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x26313dc3 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x27a7559e ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3c4d1517 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3ed84194 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x434e17a6 ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4aad2259 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4b7eb525 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x545ebd0b ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5c2ef2da ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8e1e8f03 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa95147cc ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xbe7828ec ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc7833d2a ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xcc5aed50 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd0ad0e0c ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x4737eac5 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xd5280fb5 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x8b10bcc8 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xa7928407 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x12be27e1 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xa705998a nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xada1acd2 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc21fd286 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xe43b956b nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xd0980151 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x28df5e8f nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x519f7ae3 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x79dc92d4 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x26ffb86d nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x80b44ea9 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x093ef070 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0c86ad9b tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x36c192a3 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4b713e82 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8fd49163 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1af17230 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1cf6600a udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x49ea6983 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x4fc40355 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6ae23500 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x77daf7d7 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xb685307c udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xde80816e udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x25140e35 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x27d26526 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xb578f719 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x24dc7fbd ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x774155dc ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xb7f7856b ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x1e71b039 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xfb5949c6 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xaec0e1e6 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x9c517bf6 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xba2bf656 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xd3bb955b nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x0fa3b6bc nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xbd6c7490 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xc5994842 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xebaf5ad0 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf92832d1 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x57ffa038 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x5dc15d13 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x81135968 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x8e7ec618 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x85510a0a nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x9dc7e2a5 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0707f577 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x443302aa l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5a7b67ff l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x63a2787c l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7249e413 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7b58d86f l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x956f0b66 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x99ccec25 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb1ab6a53 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbc47d546 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbe8075e4 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xcbbd430d __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd1551b58 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe1256835 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe267dd5e l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe74bedbf l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf2e842ba l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xf59d23d1 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0468323b ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x12f49141 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1c0e76a4 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x39ffa911 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5dcf965b ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x64e349d4 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6dd2b2a7 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x722b1b99 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x78249f8c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x782f74f9 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7ca45b6b ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8076f578 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8a5a8e27 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa2fa421a ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4084d8f ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb1e9491b ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe203fc8e ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xeaf95070 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x184248ec mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x3567f2f9 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x55de40ca nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x70485414 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xc26033d5 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x014f17c6 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0526b173 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x111d4508 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2843e4f9 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x319f1a7d ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3bdc9454 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x48671051 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x54f080b5 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5e4e13d4 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5fc96611 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x606541c9 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6136a962 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6a1c1dc0 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x73c73229 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 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x830a496c ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x95877ccf ip_set_match_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 0xaa65c25a ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb1920ee6 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc8b676ee ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x0a933f9b ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xb63241d4 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xbd54ea7f ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xff634bed register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x1bfdc1ac nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x2dd271a8 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x438c3543 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x492a4b20 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x57513f34 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x6354208e nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xaad280cf nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a6a137b nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ab68a9f nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c3ac04b nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1660eb65 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c9e2d5d nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e7916c4 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2020a2eb nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x21bd5c08 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24c60fd5 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25c4f8bf nf_ct_expect_put +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 0x2bf1c30c nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c2502fc nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34064ddb nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x349ea28c __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3686dc7c nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d1bbb23 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x42057368 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x501d2547 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x509c6266 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53a4250d nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x54a994bd nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x553f3868 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x599f8e20 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a9f8783 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5ea527df nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60b7ff56 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x619ba18d nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6609466e nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x67ace51d nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6852a9c8 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69f48db4 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6deb89b3 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x71428d86 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x759d6ea2 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x75f8847f nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7cd64869 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dc250c4 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x80f70fbe nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x828e8bfa nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x847c1a48 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84f2c6a8 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88bef43b nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8bf6c7ae nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d674afe nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x912995fb nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93f2bd38 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x944144b0 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x94cbdce0 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x956c07ef nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x982f084e nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x996465ab nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x99a15c7b nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9be913c9 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c3a2d1d nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa14ccc2e nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5532f5c nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa5beb582 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa7f6043c nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa7ff5634 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacd8c25d nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb453ee68 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc043c33 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe90f026 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc06c77cc __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0b6b92b nf_ct_tcp_seqadj_set +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 0xc46eb5da nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc65e39dc nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc78bf3c4 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xceeebc0c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd38d1bc0 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6182b08 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8f54525 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbe558ee nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc8c9c56 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xde7a96a8 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdfeb949f __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2fd2461 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5cf9bf9 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9f44c97 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb5012b5 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf09cba68 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf3c2e9fd nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9c358c3 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfcc6164e nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xd35f5b7d nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xccd9c718 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x944267f4 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2245083a nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3143e1ef nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x38fb0ea4 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4519aa06 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6298402f nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x84586f22 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb0acb059 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xba080823 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc01d6cbe set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc7fab1e8 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x12702802 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2b1ee05a nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2cd49888 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x38d89a61 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xcbd58ca8 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0a7ae45d ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0e213312 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0eb2350e ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x110d771e ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x922fc661 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9e7eadc3 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe944e481 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x9f000f0d nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x7379c148 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x4554108a nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x662e2cfc nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x835f6e8f nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0ad1800f nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1b40d460 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2cd9f684 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2d4a4d84 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x36cc4d16 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4d95ef88 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x5e7d4c81 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6091a021 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x876c5286 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc27761ba flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xca4a398a nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdaa959e4 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdaedae8f flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe9f371b2 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xeb79eba7 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf7b8488b nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfa886894 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x197f3848 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x29c412d6 nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x621e2608 nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x64d1f6a7 nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x8a2bbb57 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xa82e5ce8 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x019d0740 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x41d91821 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x46db58c0 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5ad3ef3b nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x61fdf457 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x712e7800 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7a3f631d nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x980166a9 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x99fcfa6f nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa7fac31d nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa8457e50 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb4eca983 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 0xda78947f nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdcf5ff27 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdd1b6dcf nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe791f8d6 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x05bf5731 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x0a12536f synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x126e4a1b synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2a369b62 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2fcd0058 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x36d846f2 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6e71a1ae ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc6253bca nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xcb2dc395 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd8149c31 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xec576ca3 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x08512279 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1116b7aa nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1762e259 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2fc99a83 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x331dfc2b nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x35daa2f0 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x37697787 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x38c862a6 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4110e67b nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x45ad8668 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4bdf6295 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x51a9470d nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6b2a59f7 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x81336461 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8c38a0c1 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9abb7057 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9d2dba7b nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa792e0d8 nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9ffc821 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xaa7f2ddf nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xacebf15c nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb3d59c68 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb72818e4 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb7bf00c1 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xba3f3bbd nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc43524b9 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcb6ad23a nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd2029eef nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd61f8312 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd827d6ef nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdc43c666 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdee4dab4 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xeb980f0e nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf560709c nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfc0a2ce1 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfe380573 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1fc03114 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x39792e23 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3bffb402 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ff95125 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xefb79a98 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfbd18399 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x770ec3e5 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbb5cd84e nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc7e399df nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x3f25b10a nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xb519e5d5 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x680cc08a nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xb608aaaa nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xd04cde7c nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xfdcf55fa nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x08ab17a8 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x4361d270 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xa65740a4 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x077ffc65 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x181ed663 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2371c03b xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x31a6c643 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1d2850 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x438bdf98 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5862a4bd xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5c25ee43 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7f37eb7e xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9af632a1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa4ebdae1 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb53c6782 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc081046e xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc20cd9b6 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc8c60a0e xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xb3fc062f xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xd2d45ec3 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x4184febd nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xb09c961e nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xdf075c6d nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x81b08308 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xa9123ef2 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xdd46e4ea nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0xbe86af16 nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xe9495cfc nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1aa7f34b ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x8f9bddac ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb65e576c ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xba7c9623 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xde761d4c ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xdf0a8725 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/psample/psample 0x26d093d1 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x79fe26a7 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xb82ad89a psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0xfd90b17f psample_group_put +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x74f45c61 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x9a2ce0d9 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xf09d58df qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x1b3466c6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x1c74753f rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x23fa88e2 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x29b40e42 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x3381d93c rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3d585d72 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x521c8505 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x52ec58f3 rds_info_register_func +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 0x5b96dcdc rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6d38c41a rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x74c091f0 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x77bf0e88 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x79dd0757 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x7fa97ee4 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x852a36cd rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x855edb47 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x887ad86d rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x8bbd44da rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x8dbf7882 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x98305446 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x9bbe82c9 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x9ed0da16 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xafa1eab3 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xbf8c36b6 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc5286c13 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xcd829138 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xd2092eac rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xe4b8bf6a rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xef469ed5 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xf7cc8345 rds_conn_destroy +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x3c64a8a0 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xca542dc2 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 0x42925efe sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x916df0db sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0xd0259a1a sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xe84b8991 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x310818c5 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x3fd568e8 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x46fab706 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x6d06b17a smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x886f9b94 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x8a44ab35 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x8e77c51f smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xad502183 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0xbf5e223c smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xcc17003d smc_proto +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 0x48fe89df gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4ba0f65a gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7160ebd2 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x74d83b43 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000bb668 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00ba888a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0247444b xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x038fa9b9 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0442ac48 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0508843e xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05bc498a unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x060641e6 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0710dea8 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x071b11ea svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07e5cf57 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08092d08 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08dc7f84 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09c5b753 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e88a3cc rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f968dec rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fd0e078 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1009850b rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11de0ccf svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x126bafae svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x145beb0f rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x146a214f rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15eed6cd xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16b7d653 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18f0159a rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19216178 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19836edc cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c5aa171 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d807681 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1df33964 svc_wake_up +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 0x20e015c4 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x213f2f98 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24614233 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x254bd667 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2573bd96 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26320c95 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x273712e9 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27bed380 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27d61388 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bea6ff4 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c997208 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2db579b0 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e18adaf rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3061cfc5 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x314cc868 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x321ed9ac rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32f63cbd xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3338dd3c xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x364f6534 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37fbd1f8 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bc99a8a cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d0cfa0f rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ddbadbf xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ded11fd xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e2d4c36 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e9a42d2 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fe546a6 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fea6a1f xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x410a37de rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42297fb5 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42f5b77e xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4322b3f4 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4363d7cb svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43d8130c svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x448992c7 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45a4a7c2 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49a9dbe4 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b30264e rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bc74e54 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4468d8 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dc4341e bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e3a0731 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f68ab54 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51735581 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5259ad76 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52dd4ecd svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54f5ff14 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58303cf3 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a737719 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bbb058f svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ccf5b81 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e0596c0 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f5efacc read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62328b6b svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x628d6e14 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64071c0e svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64725919 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66d9c318 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6828bf91 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69f0ee79 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a158e3b rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ac48374 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fc46d6c csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ff1d2c7 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71500c37 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b7be56 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72ee7b93 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x738c431d rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78ccaa67 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7abe0b1a svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c37770e rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dc33b08 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e97553f svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f4f6e8d xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80cdab5a rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80f9ad47 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8182b25c rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81b231a3 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x858db70d xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86160a28 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8918e8e9 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89f6d1ed svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c485324 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f893fd6 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fcd678d rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x900f35ff sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x903c1e70 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9040a615 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91c918eb sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95de18fb rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96adecaa svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97222ca8 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x975637f9 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a228ae9 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a75aee9 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d660ba0 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d71e5c6 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e01e390 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f0932c4 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f0d6581 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ff07739 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0f9cce7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1b0a125 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1bf41b2 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1fb5f5a svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa572f23a rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5de80bb rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa602f96d xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa60fc213 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7019e66 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa84c433e rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa990bf3a xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab445dc3 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadc521b4 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf191caf rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1d6ba97 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2509994 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2990388 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6ce1517 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb743f0dd rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7623e9a rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb87bb0f2 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8d1c415 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8f7b002 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9067b3d xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9078dd1 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbad18475 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb052eef rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbaaec38 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc1f597d rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc573749 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe7f5549 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbec48e9f xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc33e06c6 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc461eb87 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc57f70b8 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6b899cf rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc751abd1 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc77e535e xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7d382eb cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc81c7f3c xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8a61c08 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb7c0131 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7a3f7d auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd30e7d2 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd596230 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcef50d2a auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcef9e92e rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfdaafa0 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0d89f51 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1f170e4 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd207751e svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2f8e9bf rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd36cebfc rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd38d9b63 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5ee1087 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd628c408 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6d08ea6 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7575a18 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd78bcd37 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7d059e3 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9d91116 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc8ffb6c xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc952e17 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce2da1b svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0978382 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe32b7c2a put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe35c14f7 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3b77647 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5df2c26 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe67e4ede rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7017b6c rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe768a7de svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9ae7ad9 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea0951c9 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecd69cb2 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecdeae82 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed8845c1 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedf828b4 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0722792 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf12c5f20 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf133e4bf xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2d5f6e6 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4dde3d2 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf539f2eb xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6297d2b rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf64bf5c3 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6b747df sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf71dce57 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf75e4f1b __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7875ded rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9072ffd svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfaf3463a rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc1e1b9e svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc22d6c6 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc350719 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcc7f9a8 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe3dfe4d rpc_put_sb_net +EXPORT_SYMBOL_GPL net/tls/tls 0x795465d6 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xbac3f3d7 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xc45e60fd tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xe768ded3 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 0x0d864382 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e2660bb virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0f124436 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x154f2bb3 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1e66897b virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x380f2b09 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x38c5655f virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x42ad7211 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x486e2e1a virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4ed7285a virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5e456ee8 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x77cdfd19 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x86add383 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8b1e09da virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8f59f515 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x952136ad virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0686add virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb39d41ae virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb3fa2ed6 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 0xbc873e8c virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbe5cce24 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbfbca5f5 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc1fa2d3f virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc2173db3 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc5534c73 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xcffea96f virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd0e642e7 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdb33ed92 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe6a5fb60 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xeb490d94 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf549660e virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x00b421e4 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x025a79ff vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x06fd4d9b vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x08a38dd0 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1bce650e vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x20d780d8 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3da095f1 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x41e762d3 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x44a0f927 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x47886a4a vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6af2e137 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x772f6278 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7efda459 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9aa4b7c2 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9db33d9c vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa2ee5231 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa432d2a4 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb9c6584d vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd520b100 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdd7c8757 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfd5cca13 vsock_assign_transport +EXPORT_SYMBOL_GPL net/wimax/wimax 0x26d64b58 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3217ca90 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x36bc1469 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6bfe44d2 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6cf0453b wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6e8662d2 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7940c246 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x948d8411 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb34d4c08 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbf8679e8 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xdffe9a14 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xea76b15b wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xff2102ff wimax_msg +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3258d17c cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3b2882d7 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x495aa4c5 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5e4073fa cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6d464c17 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8127f7d3 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x913d711c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x926a053c cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa90b49fc cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaa90cd60 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xad80faa2 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xae79c6e6 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc5c1e68a cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdbbda652 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe7166051 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xec128fb4 cfg80211_pmsr_report +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 0x5888f07f ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa80290d4 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xbcaf6546 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe9a6f459 ipcomp_input +EXPORT_SYMBOL_GPL sound/ac97_bus 0x01e67ef3 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 0x239e38f3 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x663a766e snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x6a7a50db snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x71701b59 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x7e63bf24 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd 0x91b174ac snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xb533185f snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xbfa0446f snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xc80f1c43 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xcbc646ef snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0xd4610572 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xfb64585a snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x03c36c0f snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0730eaee snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0ef12ccd snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x348992a9 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x3b1e20f7 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x68e7f170 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x75a61770 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8bf17326 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8e1407cb _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x9a8f76e4 snd_pcm_stream_lock +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-dmaengine 0x000d8627 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x08cdc46a snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x36deb599 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x436408be snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x598c8fa4 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x60148523 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x630a2a35 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x68c3f8bf snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x83bc3403 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa4565d5a snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb11a92fb snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf0461e3f snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xb4d6fa1a snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xe0ea0bc3 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x017674f2 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x36de527e amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5bfabcc0 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x738c474d amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x73f9ae72 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x877ccc04 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xaf855d30 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb01ffa7a amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbc74abf9 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbce290e0 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbd9bd6a8 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc161902e amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd00b471d amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x011e4815 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x01add08a snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03d1823c snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05e4a94d snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0d78c54e snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0ea58b67 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x12b0ed06 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b719dfd snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1ebe6b00 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2533e5e2 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x25e26554 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x273523d3 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x29d679bc snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2e562437 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x32005f66 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x336bad56 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x34ff7c97 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x36018a31 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x375d9c2f snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3dfb32e5 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ede363d snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4308c77a snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4eb63f63 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x511f211b snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x52b275ab snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x552f3224 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x588e9474 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c143133 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5ec65753 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5f374aa1 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x601c4c07 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x64d80556 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x66d86bbf snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x68b9e7ca snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x70044c1c snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x71ec8116 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7299031a hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7560c3c9 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7e137da5 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7eb7785e snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8041d528 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8428b5e5 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x88fff0f0 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8a0e7b4f snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8d1a0eed snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91f6314e snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9dff2abd snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9f23d6d4 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa0d2d1d4 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa6d4ba74 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xac908982 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xace81145 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaf29f964 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb091ba56 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb0b7e505 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb146eae8 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9605f40 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbdc77370 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc09afc0a snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc27fa139 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc776d745 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc777e79b snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc79f3ead snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcbc698b7 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd0e82bb9 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd34d2401 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd5d03fa6 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6706dfd snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdd1ed315 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdea83887 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe10e3956 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe112771d snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe39ef4fa snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe75f907b snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xef246ca2 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfebf3b03 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xc4857b44 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x16040106 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x4632d421 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8d2fb751 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd42d0b3c snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe3bd56b7 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf2c951cc snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00f53b5c snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x01fdbe85 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x020d1571 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0340a64e snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x049be5f1 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04fb1aec azx_init_chip +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 0x07016888 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x074f6b29 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07bad26a snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0880aa70 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09181fb1 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a839b61 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c30251e snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d8d12a1 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e46cbce query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ed2458c snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fc42c12 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ff9a65d azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10ffc9d2 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11032db1 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12a1d64f azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13e91106 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1469a8e0 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14c28794 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15376a00 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1787e72a snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a610a91 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1abffb18 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b7cc0d8 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ee0d57e snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f3424a1 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30429711 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x345b1b4a snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x351b5d62 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37cba943 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3922d634 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bf78079 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3ca59740 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41ae1f30 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x428f3e09 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x436c7b74 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44152ea7 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45b51732 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4672d9b7 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4839ff21 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48bce814 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x497d861f snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ac89183 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dfcd211 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f1e346c snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50ce4abf snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53a35bad snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a19e5fd snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5bafbe59 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5cf0f389 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6162ccd7 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65a1c610 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6701bd1c snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6805e220 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69331b8a snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x69680c29 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a449699 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ea9423e snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72352b78 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75a3a7ab snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77601a8d is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x780e428d hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78db2812 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78e256b0 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79f3cf9d snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79fb7745 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a6fdc20 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7aab98b9 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f076361 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f9133bb snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fb1e269 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x824ec07d snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87d22380 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f8c091b snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9027a637 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x988c26a0 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a6dfd96 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b512ff7 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b924f85 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9bdc34fb snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa04809d2 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa32fcf3a snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa511e243 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa623e5b3 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac309715 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae738815 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf8a84c4 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6fbe145 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba979221 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbff1a07f snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc016af30 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc15aaf84 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9015780 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcff6cd05 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0ffccc0 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd442eb79 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6a2654b snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7d8c87b snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd89157f5 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd89b87fb snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xddd7ce31 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde665c76 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe006fe42 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe081ce68 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5d26ea7 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe6018266 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe79a6e66 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2ee8849 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf46c1f54 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf556604a snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7c36e57 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb524554 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfcdeb5bb snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe8f18e5 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x05cda025 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0f5b0b5d snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1019316a snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1437ef2e snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1fd483c0 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x200e2ecd snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x26108330 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3b9bb047 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6a5c91a8 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6bca8265 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6d6784af snd_hda_add_new_path +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 0x7e7538a8 snd_hda_gen_path_power_filter +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 0x8a6cda0b snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x961f10e4 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x99d7f867 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9c652622 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa19d63ca snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xbf67ea0e snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd9a02924 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe94af3fb snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xea17e651 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x2d576dd7 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x37f62a0b adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5b2f75b9 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x6199bf86 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x71dbe724 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x97972fed adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9e23407d adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9fd07627 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa21c084d adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xafb175e9 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb7d97a1f adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc3377422 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xce850aa9 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x6af7e8d6 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 0x8daabcb7 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x1940606e cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x33121be5 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x5e5072a6 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x9e9b7447 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xaafbbff2 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x6bac0022 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x77bcaa1a cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xebf96c4f cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x3ef3f1e4 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x43175738 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xac944ec0 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x74604137 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xaef696c1 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x411c2301 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x0b274c6a nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7132cafb pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x9ddf1ff4 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xf410b94e pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x9a6fb3dc pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xc70f6549 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x1a7ff8df pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x31b63938 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x2e8a816d pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x319b952e pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xc02313cc pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xcd43fa0e pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x11379899 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x40169cb8 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x4dc68004 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x53751ab9 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-rt5645 0x2c1e040c rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xb376ba3d rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x064526ad rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x209b113f rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5625c1e0 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x666cb3eb rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9ec39af3 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xcbacaa3c rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xd4ebee56 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe587fc25 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xfc416b23 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xfdaca61a rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xfe5ae061 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x174c5c19 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x773151d7 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x862db48d sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa9da1ea4 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xaa005a6a sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xf604641e devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0xec729658 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x1f8cf433 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xe18d5b5c ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xc73fe904 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xc068b773 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x0e6ae442 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x5d4150ac wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xacb78285 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xf8d983b1 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb4746173 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xd6195ef1 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x8a40dfb4 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0x2427b28c fsl_easrc_get_dma_channel +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 0x0ddf4a6d asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1606361a asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x20137ac3 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x27652b4f asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4244df7b asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x44494dba asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8c383b8e asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9e34e679 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb5a28ccf asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbeac4a14 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbfcc5b98 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc5446398 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc8d8aa7c asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc97bd6d6 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd229575c asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd441af50 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd540cb27 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xdbb5bc5f asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01d2ec8f snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05584553 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06cb1cdb dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x076e4d1e snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0817c4e1 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0843f59d snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08b9855c null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09124760 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0929fdd0 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0993792c snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12cbd1cf snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12ffb28d snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13b9706b snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1470ab93 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1554b493 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15737ae7 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15effea9 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16e7cc83 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16f9b327 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a75e48c snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1afb6a7b snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c60916f snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1cbdf575 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21bd327a snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21be6237 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x242f0c53 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2572fc16 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25bd6f41 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26c6dc89 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28f28a59 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2950adaa snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b3109fa snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ee11685 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x31222e1d snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32def987 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33bb3048 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x341b61e3 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34d64e94 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x378370be snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38b4754c dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x391219e1 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b890761 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e796788 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fd4c798 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x408a41e5 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41b227c2 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x423754a6 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43c418bb snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x450f2efe snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45142e9e snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45217281 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x456631a1 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x469e4d26 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x489e89ff snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49acf338 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49f890ac snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a5fcbd7 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c24f009 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cfa7bc0 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d73dcfd snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50b19219 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51374753 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51681ce0 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51e02469 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53713dcc snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x550cbbb5 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56cb1c07 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a395b96 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b4f0d0e snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b92ce3c snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c9cd3d3 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5da56d30 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dbbf95f snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f9a8c04 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x62e2b840 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63d8cf9d snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6595a69c snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6647f34e snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67f44662 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x708c0ef8 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7164145a snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7188a9e2 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72034840 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7526d6e6 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7529640f snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x753cab8c snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76048fcf snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x773396aa snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7eb8a04b snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f79db29 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fbf3fdb snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81ed7e91 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x823aa7cb snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x842d68ad snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84cff733 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84df7f22 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87dd5af3 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ab9aa41 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b750ca0 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8df3bcac snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ea51c31 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x907696a6 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x926cbf3e snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9607792b snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9661f527 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96cf6352 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9822715a snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x98c7260a snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x992e0fe7 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x999ac013 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b25e671 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d831a97 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9de712e0 snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e0f5a8a snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0481ecf snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0d16841 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3ca1a11 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa446fb3d snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6a25121 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6fae85a snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa700f34c snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9e525fa snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa278313 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa3b4129 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaaffd5c0 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab0f11de snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab33fb95 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab79e8a6 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac517639 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad245d96 snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaea8251b snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf6ca25b snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb29c8db3 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3942723 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4a940cb snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc572999 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc835543 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe9041fa snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc11c31c2 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc134b8d5 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc46dff07 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc50499f1 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc77d1552 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce0c615f snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce189e8e snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce459a09 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcfbeee9b snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcfcb4dc0 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2588dfc snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4031c6d snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd528bb34 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7aac8b0 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8282665 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd84c2270 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9056b6a snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9c464af devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb6a5774 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd79ca55 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddd34042 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdecf0acd snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe018154a snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0719b65 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1302357 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1f4e216 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2626d6f snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe56a1067 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5f2b4db snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe68ac385 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe69a39f5 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7652e85 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8eda59a snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9b78555 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea7cc357 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xead908a4 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb8f265c snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xecbc7044 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed84951f snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf357d48a snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3e8994b snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf441b53b snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf6a3cc3d snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9b2a80a snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfac08f1f snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfdfd199c snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe4102ed snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x14ad71e9 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x31e11cfe snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x743cef2d snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xd2eb5433 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x182c2a6a 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 0x26bce6db line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3b1158c4 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4cbe9d32 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4ec4038c line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6a0c26c6 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6fca4b4d line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbe17bd82 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xddf86496 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe171753d line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe9381e0d line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xecee5938 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf7573c18 line6_alloc_sysex_buffer +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 0x0004ba2b __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x000b0406 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x00106a52 phy_create +EXPORT_SYMBOL_GPL vmlinux 0x0018a868 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x002ccc7d regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x0043faf9 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x0047f2c0 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x0063de5a sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x00649995 __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0x007be83a phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x007ec773 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x008dcf6b dm_put +EXPORT_SYMBOL_GPL vmlinux 0x00930367 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x00947e5c fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x0098729e pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x009dd1eb regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x009ef759 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x00a6c23f dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x00b33ab0 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x00bd3f79 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x00c2111b lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x00c3b808 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x00cd8b9e watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x00dbc7a2 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x00df112a fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x00ebde81 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x00ed23fa get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x00fde234 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x0101efa7 virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0x01052921 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x011d1974 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x0121a814 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x01263ca8 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x012b5286 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x0139781d regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0146ed01 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x014e52f9 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x0161b89d dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x01772776 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x019f4fb8 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x01a07941 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01a70d38 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0x01abfdc8 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x01b5c54a devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x01c4cf01 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e55df6 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x01e864bb __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x0208556a crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x022a11e4 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x0247bddd fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x02503986 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x0265d251 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x0276add0 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x029ba6c9 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x02aa21f1 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x02b24cd3 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x02c9f845 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x02d512de usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x02d7dfc1 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x02f9a994 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x02fa2154 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x032ad559 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x033381a7 of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03493b92 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x03500698 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x0384dc70 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x038beb1b blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x0392525a __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03a29177 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x03a7d9fb hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x03a7e9db of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x03b5daa3 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03cbec40 dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x03dc500b dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x03e028ae housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x03f61eec sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x040df640 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x0429792b devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x042a699e blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x0431e7e6 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x04458e54 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x044c9cd7 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046d802c raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x04732c33 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x047cbf5d i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x0483a577 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0483d209 inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x048913ee unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x049bbb40 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x04a07d8c dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x04adc209 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x04b663b0 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04ca45bf ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x04d849cc extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x04db5b06 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x0545fe3a bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x056278c6 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x05871765 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058c209b sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x05ade6b7 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x05c22e5b skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x05c93188 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05e41d83 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x05e8bce9 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x05f6cca0 spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0x05fb4d0b devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x05fbfbc2 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x05fe768e clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x06189c2d security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06290fb2 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x0632b1c9 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x063ffae9 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x06434c53 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x066ae308 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x066f726f device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x068d52f2 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x069d02bd fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x06b0478d btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06b65c3a tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06dd2706 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x06dff014 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x06e11a44 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x06e1644e fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x06e1a507 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x06ef3552 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x06f605b1 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x06fb8a76 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x0705e5fb regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x071d2332 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x071f095e sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x07528f10 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x0780c5c9 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x07994f05 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x079e1d14 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x079e91d9 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07dd25ad sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x07e31aad lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x07edf20b power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0x07ef62aa blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x07fe0d83 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x08038c43 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x0803a309 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x080add1f blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x082bf8a4 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x0860f688 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x087d6e47 device_add +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08855397 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x08858ddb spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x0888811c ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x08906649 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x089b261f tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x08bea3d0 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x08c75344 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08e46d7a handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x08e6a7d6 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x08e781f7 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x08e94300 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x08e98b56 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x091ebf1e regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x092818c6 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x0938cbfb rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x09451fe2 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x0961016e led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x097286c6 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x09904a96 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x0993743b rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x09a0bea1 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09d7a3c9 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x09f04a9b __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x0a04f350 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x0a079ece pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0a088bab gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x0a3728f8 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x0a39d438 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x0a4c71e9 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0a5035ec blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0a61529f usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x0a66fa87 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a808eb9 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a8b65e3 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x0a8c00a3 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x0a8faa5b virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x0a97a322 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x0a9bbb83 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x0aa888f9 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x0abb0cf0 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x0abd07d9 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x0af178c1 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1b1298 riscv_timebase +EXPORT_SYMBOL_GPL vmlinux 0x0b1b9e82 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b2dd10a dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x0b353078 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0bab0e11 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x0baf16db nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x0bc9e26e of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x0bca5aab regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x0be0812b regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0c00c751 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x0c0236bd irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x0c03be1f crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c69cf97 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x0c6a906a devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x0c7bafa3 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0c8fcf40 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x0ca3b709 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x0cba8c28 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ccd9c86 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x0cd2b05e serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x0cd4175b gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0cd48ccd devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cf7aa5c inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x0d061076 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0d2b96fd sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x0d3a111b ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x0d3b29da blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d45e631 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d5c66f1 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x0d6a01ed clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x0d788795 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x0d8a4689 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x0d8a589a devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x0d8d228f devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d931036 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d9f922b debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x0da067dd class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x0dac9609 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x0dae9dbe serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0dbd90da ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dc73f4b mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dde8164 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x0de0193e ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x0de3eea0 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x0decbec8 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x0e015e1c irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x0e0932d1 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x0e26b40b blk_poll +EXPORT_SYMBOL_GPL vmlinux 0x0e31caaa __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x0e4509b6 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x0e477e37 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0e571323 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x0e5ee8d0 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x0e690098 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x0e6e68a4 led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0e8e8e7f __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x0e9bfe90 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x0ea488b4 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0ebce891 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x0ec0e5b7 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x0ec1e681 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x0f02168f of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x0f0ce832 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x0f0ef026 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x0f178c0f tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f241b5a ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x0f2a65ab rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x0f2da3dc rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0f367a20 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x0f4c800d gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0f4edf71 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x0f506189 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x0f58158e kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x0f5e2daf gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x0f63ce94 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x0f775858 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x0f831d33 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x0f8fca7f platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x0f91c52a sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0f9796a4 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x0fa0182f sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x0fa0f272 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x0fa74597 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x0fedaeb2 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x0ff2a30d phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1004fecc sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x100ab093 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x100ad4c6 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x100c8d7b btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101e3b67 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x10213d61 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x103465fc pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x10397b8e __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x104658c4 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x1049a5b3 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x1052ae08 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x105320b6 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x10684742 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x1084ca59 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10ce1f64 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10ed3d62 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x10f3f746 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x10fe7422 devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x110b1124 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1129a8c4 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x114ab81f dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0x116bdd90 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x1170aa37 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x117c38c1 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x118a6fa1 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11a3da50 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x11b395c3 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x11b7ead2 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11f034ed shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x120b3c9c blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x120bc6c8 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x121dd0da rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x12221f73 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x123076d6 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1236a67c switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x123c5725 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x123d9064 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x1247114e posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x124f5b8d usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x1257258d regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x126fd678 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129d3f28 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x12acadc3 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x12cc0b5e gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x12ce9001 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x12db401d stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12f6fb55 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x1310048b of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x13103eda usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x1310bf3d scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x1319f5ef i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x131f736c follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x132738d3 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x13287406 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x133250cb mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x1332bbb6 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x13372f5e led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133da8c4 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x1346b5b6 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x1349caf3 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x134e7f65 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x1351c37f xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0x135b64a2 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x136b797a bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x136cf613 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0x137691a1 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x137e2312 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x13895a2c fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a4f91f gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x13a518e2 riscv_set_cacheinfo_ops +EXPORT_SYMBOL_GPL vmlinux 0x13a87d08 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x13acd4a4 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x14078d5d tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x140ecaae ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x1419583a transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x141c2395 thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x143215c3 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x144a9845 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x145980eb regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0x1475d225 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x1485402d dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14bf02d7 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14d305d6 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x14db5593 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x1500c0a1 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x15073f9f ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x1519cad6 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x151c02ac devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x1527fae6 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x153c44ae devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x153d9730 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x15495fcd fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x155fc00b iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x157c0887 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x15b3a129 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x15c6e0ce usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x15ec811e edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x15edebd5 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x15ee4392 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x1601d9d6 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x160ce56b usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x16180d3a badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x161fb587 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0x163e1d47 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16498462 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x166d12c0 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x16712bfc dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x1676bcde __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x167af6cd dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0x168ddd41 clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x1699b4ae dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16fa2e89 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x16fa59af fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x170a3cad init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x172c1f70 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x172c643d fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x17335b8c blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x176a41b9 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x1772be31 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x177c3f43 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x17903179 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x17adaa25 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x17bb0922 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x17be574e relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x17c8e6ba iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x17d19195 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x17dfce0e kill_device +EXPORT_SYMBOL_GPL vmlinux 0x17f9fbde devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18071ce8 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x1807d7a8 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x180baf67 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0x1816d8d0 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x181f4f39 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x18226897 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x18572ac2 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x185a8c96 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x185c9cc2 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x18873ed9 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x188f44f3 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x1898b9fb clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x18b29e37 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x18e0ba8c regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18eda661 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x18ef4939 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1901bf7b sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x190e7af6 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x1911ccbb regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x19153842 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x193c1437 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0x193c92e2 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x194111cb pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x194ffeac led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x1965af52 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x197644e5 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x19794bbf param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x198afec1 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19920c80 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x19a28ec4 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ac3501 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x19be1f18 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x19c2169f fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0x19d3cb51 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x19d8049b hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19dc3c20 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x19f9a903 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x19fe4f82 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x1a0c3fbb hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x1a0c7059 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a2f116a regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x1a43cf6b of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a87be45 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x1ac3c1d8 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1b1a0311 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x1b1ef174 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x1b1f66ea usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x1b20fdfa dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1b222f05 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x1b281827 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x1b2c1d45 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x1b310dee skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b6e43e4 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x1b7ebf9a rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b942537 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1b976360 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x1b9a18c4 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x1b9e63b7 blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0x1ba9f22a relay_open +EXPORT_SYMBOL_GPL vmlinux 0x1bb477b1 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x1bc10f96 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bcc5da2 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x1be99577 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x1bea3c60 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x1bef0446 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x1c0e0a6a paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x1c0ee963 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c149436 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x1c2ff4ce ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x1c4e11b1 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c76c992 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x1c798d9f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c80f1e7 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x1c84f6f8 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cb4405e udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd5937b adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x1cd96bd7 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x1cf9f27c phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d0c9afb regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x1d182a9f usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x1d1fd3c2 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d4ae471 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x1d6ae95e bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1dba1a94 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x1dc1941a napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0x1dcae1d0 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1dd2a3e3 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x1dd591be skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x1dda3924 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x1df93539 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x1dfd36b0 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e35d46d sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x1e39de80 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1e4a6836 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x1e67953f iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e830f53 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x1e850b99 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e91a0ba xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x1e95d834 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x1ea1402c iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x1eb548a6 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x1eb64856 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1eca2558 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x1ece87d6 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1ed909a3 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x1ee0dd1a alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x1efe7d53 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x1f001b66 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1f066d9a phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f1465d5 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x1f3ce3c0 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4e0117 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f879c9f mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x1f8c1fbe bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fa3c237 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x1fbf4408 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x1fc24a48 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x1fc47209 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fd14315 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe72f59 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x1ffb9d25 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x1ffe41b2 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x20048bf2 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x2004dd17 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x201e5bf5 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2035dc87 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x20560b8e pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x2058ae7d __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x20772640 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x207eff73 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x208615c5 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x209daf97 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x209f8055 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x20c1c5f7 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x20cf7f4a dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x20f0122c pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x20fe5dc5 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x21082d91 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x211ff006 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x2133d818 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x21389d97 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x21450cfa dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x214654c7 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x215ed578 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2185788b __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2189a31e debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b8f523 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21e83e27 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x21f8718f devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x2233f3e4 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x223d46dc dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x223e19e1 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x22648c02 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x22733f0f md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x228ff1cf ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x2295e0ce virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x22a52ab9 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22ba4198 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x22bd1743 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x22c5818b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22dbabf2 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x22e947eb debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x22f7c47a genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x2301a1f5 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2310f70a devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x2320eade blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x2332b1b5 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x23442cc2 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x2346c846 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x234d92c1 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x2383b952 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a52fa9 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x23a9144b devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x23afa795 rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x23b1e638 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x23b20bac power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23c03fe1 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x23e8044b devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2401d2a3 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x241cff6f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x24200134 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x24344c9c crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x243de6c2 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x24413695 devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24421b04 md_run +EXPORT_SYMBOL_GPL vmlinux 0x2447b87e md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x246eb6e5 of_css +EXPORT_SYMBOL_GPL vmlinux 0x246fd3a8 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24816036 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x24971967 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x249fc7c5 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x24cff02a ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0x24d5edc5 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24dfb0de sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24eda5e6 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x24f043a0 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x250967ed led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x25249ecd cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x25401376 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x25596f5e wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x256d62cb ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x2574b308 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25985307 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x25998220 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x25e2e9a2 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x25fa8132 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x2603faaa devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x260885b0 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x2608defb atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x26247e53 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x264f1c57 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x26615280 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2673b2db fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x26768d76 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x267e1b68 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x2686ceb9 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x2687f91a pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x2696a28f fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26ac55d7 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c6b1cf sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x26c6b552 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x26c6cfd2 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d936c4 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x26dd90e7 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x26e426c5 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f8fc58 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x27051643 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2721a1f0 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x27225bc4 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x27263211 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x272e415a gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x272ebe39 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x274f63df dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x276c7c19 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x278eae1c mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x27b0204c devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x27b76561 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x27b8c0bf fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x27c43180 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x27cf3590 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x27d52ae9 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x27d989b5 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x27e0b445 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x27e2cf03 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x2801fd22 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x2828085c icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x282ba76e bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28432db5 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286581e6 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2883a15d create_signature +EXPORT_SYMBOL_GPL vmlinux 0x28a3394a __mmc_send_status +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 0x28b414e9 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x28d9071d usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x28de7dfa wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x28e6e6a5 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0x290e51a9 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x29266ed0 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x293bfc5e pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x293d9435 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x293e6a43 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2960ae5f alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x297207f8 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x2979ef98 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x297e69a3 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x29824dc2 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x299f5382 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x29a4d4a2 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x29b5a186 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x29ce4c96 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29d70e43 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x29ddefc9 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a09a5f1 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a20fba1 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a334c40 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x2a5b7997 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x2a5c8eef sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a873ad5 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x2a875a45 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x2a8908f0 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x2aa3327f usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x2aa7a21a usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x2aad4b5b pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x2aae9b05 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x2ac9d837 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2adb5f97 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2aeacb69 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x2af14e1d pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x2af5d0e6 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x2afe1ad9 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x2b18707b pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x2b38aab0 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x2b3fd405 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b455b6d ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x2b464a40 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b47e9f5 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x2b5b35bc bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b67b023 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b6ddb9e ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x2b8d50e4 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b8e220d bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b9e9dc4 arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x2bc22ae4 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x2bc4ab19 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x2be34223 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x2bf77e28 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x2c0458e2 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x2c051617 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c34fa9b bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x2c47f7fa do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x2c4ad07e lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x2c4b255d mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x2c54c553 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x2c61310d scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6d1a4a regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c849df4 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c99c98c mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x2ca445c6 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x2cb3e441 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x2cbeb244 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x2cd4ecbb spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x2cdd154d iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x2cfa814c led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x2d017199 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x2d08f031 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2d0cf205 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x2d1192a4 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2b466d strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d44aaf4 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2d45b4fb gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x2d713bc7 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x2d7cb386 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x2d8787de mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x2d8b390e sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x2d90c8a8 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x2d919747 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x2d921108 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x2d9c866d inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2dd0a885 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x2dd41887 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x2dd9ea2a pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x2de05b0b fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e12e1fa klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x2e12ea98 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e34ae68 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x2e55dfde ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2e5cfd83 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x2e5edf9b do_truncate +EXPORT_SYMBOL_GPL vmlinux 0x2e5f21c5 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x2e69a179 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x2e7758ea devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e80963b udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x2e889cd3 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2e8b42fc usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x2e8db429 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x2eb2ea99 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebcee14 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ebfd855 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2efb005d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2eff71d0 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x2f06b5f3 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x2f07685c serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x2f0a4f03 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f14ed01 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x2f28d414 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2f2b5903 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f57ac60 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2f5b5c71 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2f5c1223 __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2f5ec31f pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x2f5eca30 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2f6a1116 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x2f6cab94 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x2f72865e regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x2f82cd75 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x2f8c7b60 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f8d785b devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f999292 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x2fed057b pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3010925f pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3011859a devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x302281e4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x304ead5f arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3069809a __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x307a85ad sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x30802de4 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x308890a5 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x308d11f2 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x3091de12 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30b12cbe sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30cce49a dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x30d0f327 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x30dc5649 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3135e39e ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x31488872 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x31569902 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3159a472 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x3172d9c2 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x31881329 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0x3197b3a6 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x31a21073 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x31a3fbaa fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31bb899d driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x31c1b122 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d1832d pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x31dc8262 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x31df6456 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x31efc190 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x321b5396 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x32302a78 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x325fd3f7 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x3270690a debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x3271aed4 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x327ee02a __class_create +EXPORT_SYMBOL_GPL vmlinux 0x3288e9a0 set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x3294374f register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x329bcb7a da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32b408a9 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32ca7df8 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x32d864f2 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x32e9e57d dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x33088305 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x3313b158 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3315049c noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x333287fe device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x3332f562 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3363e1aa bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x33958fe6 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x33cf6022 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x33d5cc11 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x33d94332 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x33d9cba8 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f0c10a hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x341ce258 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x343a87ba of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x343bdd40 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3441159e to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x346075e8 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x3468fd33 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x346dcea7 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x3484ae7d dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x349e21f1 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x34a1cddd virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0x34a69ded ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x34a84df3 __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x34af4085 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34deb76a strp_process +EXPORT_SYMBOL_GPL vmlinux 0x34f95deb ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x34fd8c53 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x3503c8f8 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x350c526a dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x35181d18 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352b48af dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x352cfa7a task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3534d855 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x35493810 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x355eb7d3 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x35685421 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x3570ab66 user_update +EXPORT_SYMBOL_GPL vmlinux 0x3584bbe7 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a69425 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x35aadc05 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x35c49fa5 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x35d280fa crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x35d487ee crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x35e892f9 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x35e8ca65 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x35f2dd2e of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x35f63a51 component_del +EXPORT_SYMBOL_GPL vmlinux 0x3605ad00 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x36114b41 of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x3613b9d9 iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x361805b9 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x3621ff09 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36243772 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x362864f6 unregister_sifive_l2_error_notifier +EXPORT_SYMBOL_GPL vmlinux 0x363e6ca9 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x36537d8e syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x366733a2 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x36683046 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x3680c22c gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36bd3208 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x36bdd52b rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x36c3fd9b __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x36d28dc0 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x36d5cf15 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x36de1111 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x36dedc24 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x36e4deec ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x36ed587f usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3714c4be tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x372eabed devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x3732cd48 component_add +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x37528475 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x37625480 sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x376bf4a0 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x376f887d dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x37740a89 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x377d6cd3 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x37891618 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x37937489 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x37a32532 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x37a36c20 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x37e118a9 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x382540aa pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x382eb97a iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x3841b837 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x384abf08 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x385801fb gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x3862e0d8 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386a57ad exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x38731c31 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0x3885c9da blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x3897ec95 of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0x38a87143 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38c2987a ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x38d2e4d0 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38ea9ed9 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x38f716ad sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x38ff0bed irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x392869c8 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x3932f0de ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x394d6f0f clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x3959edb9 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x39823102 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x3987ec51 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x398e34fc fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x3995abc4 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x399870a2 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x39a3d881 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x39a5a19a devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39ad84c1 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x39cc4efb bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x39e360d6 sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39eb616e ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x39fa122e crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x3a1d3446 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x3a239039 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a2e6421 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3a3517a1 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a52734b gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a6c78d4 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x3a825420 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3abc31ee pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x3abfd72e mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x3acc1636 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3adf2ab3 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x3aec9cbc inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x3b20110e ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x3b2686fd pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3b2d098d dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x3b32a038 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x3b3b2b81 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5de8a7 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x3b6dfbf7 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x3b7ac90a genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x3b7b046f gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x3b8d8920 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x3b9cdff7 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x3bb6ad99 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x3bd95369 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdcfcdc icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x3bde3e14 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x3be8c8bb led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x3bef567a devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf31acc ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x3bf4b0b3 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x3bfcda5e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x3c044cd8 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x3c0ca294 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1e7288 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x3c21994a blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c314527 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x3c370ca7 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x3c485588 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x3c5c25f9 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x3c665913 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c82c471 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x3c93857b irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x3c99416e blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x3cac977e nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x3cb04f19 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3cbd8c95 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3d13e920 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3d1aec36 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x3d1baa7e fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x3d49fc73 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d606d2d watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3d78329e rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x3d7b77e5 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x3d7de533 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x3d876054 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3db5f8c1 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x3dc179ce do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x3dc2a790 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0x3dc513c2 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dd91a5f irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3dfe1844 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x3e02c6bc dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x3e0831cd kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x3e0ce7e0 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x3e141afb serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x3e26f5f7 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e384dd9 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x3e3b7071 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x3e42acfb wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3e56bb5d pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x3e679cf2 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e75d93a usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x3eada466 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x3eb19759 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x3ed94105 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef8e7ca ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3f17b552 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x3f1f1b63 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f364b68 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x3f3d4f19 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f4c3751 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x3f4e3769 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x3f60d0e6 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x3f7047ae badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3fa7a18d dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x3faf28f4 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x3faf7fbe edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3fb2b7f9 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x3fb77cf4 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ff87875 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x40050125 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x4022be8a pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x402df798 register_sifive_l2_error_notifier +EXPORT_SYMBOL_GPL vmlinux 0x403ef21e irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x403fce45 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x404647f2 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x404e2498 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x405feee1 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4085ef33 blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a68bb7 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x40a6f5db rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x40a86102 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x40b05bd1 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x40b59b3a srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x40c539de pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x40d14600 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x40d3e981 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x40d78ebb ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x40e6e0a9 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x40ebe5bb unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f0b458 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x40f6f55c strp_stop +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 0x4104c27e devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x410970c9 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x4113060e switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x412a1171 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41308339 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x413ed4f6 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x4154458f md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x416c2f50 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x419f8607 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41b81b4b skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x41d2d961 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x41ec6ea4 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41f5305c of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x41fedfbc devres_release +EXPORT_SYMBOL_GPL vmlinux 0x42021993 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4214b83e __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x422067f8 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x422a1489 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x422ab04d bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x4249b705 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x4254840a da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x4278b0f3 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x427ed528 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42c43014 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x42c891df usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x42d39a45 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x42d6e1ae freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x42d9121d sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e8c590 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42ffa0b7 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x430264bf icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x43108d29 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x43153f73 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x432bec97 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x43383032 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x4340a484 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x4366ffb7 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x43754572 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4384f2cd of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x4392a826 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x43997e70 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x43a1b95f crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x43a24d38 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43c570fc arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43e19e0b serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x43e5eb4d devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x4409717e dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x440b3f15 input_class +EXPORT_SYMBOL_GPL vmlinux 0x4413b31d of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x441a54ff of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x441b5f06 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x44212645 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x443f1beb rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x4441beab tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x44434461 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x445d3321 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x447b723f sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4485a3cf tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x44a027f5 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c328e9 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e5bbd0 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x44f110ba nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4561f4c2 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4586a8c4 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x45958432 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x45f1bc79 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x45f49158 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x460b0f5b devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x4616fad9 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x464bb2f5 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x465fba34 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x466d4349 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4674fbb3 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x469193d6 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x46920b8d extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x4699ef22 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x46b05d15 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46ebe6bd pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f90e11 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x46fea91a sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x471a9e98 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x4721c8e7 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47389ba7 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x4740a5f2 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476531c2 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478b74c5 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x479067ba edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47b04b59 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x47bb5e3e br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x47c10fec devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x47cfe4d5 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47ee5115 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x47f08050 mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x481abc67 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x4830565a iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4830f023 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x484f19e8 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x48565b52 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x485c19f5 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x4868e1dd dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x4869fed7 power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48bccf73 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x48ca2597 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x48cbe7b6 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x48ea9982 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x48f006f1 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x48f025de dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x48f67438 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x490b7ec8 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x490c1f41 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x49154788 nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x4917a91d tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x49324172 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x4964d58a securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x496a6266 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x496d60ad skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x496d6f39 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x49713f5a clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x497b827e balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x498a3fe9 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49af984f inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x49bc7d55 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x49cfa529 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x49d1c57a pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x49d27efb rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x49e1b31a dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ec7df7 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x49fd10da platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x49fd6907 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x4a16d661 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a281655 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x4a4a6b15 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x4a74a129 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x4a7f01b9 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x4a846be1 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x4a979e83 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x4ab17294 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x4ac13e26 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x4aeb6622 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x4af1b132 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x4b11a80c xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0x4b1a7639 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x4b312181 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b6c6327 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4b7bf8a9 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x4b836251 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x4b9d8eb5 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x4ba32edc ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4bb7c9e3 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x4bca59b8 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4bcf84a1 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4bd34a85 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4bd59ac9 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x4bdba28f dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x4c0025d8 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x4c00f39d devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x4c010d94 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x4c028670 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4c07d9c7 sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x4c09dade usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x4c14d9c6 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x4c28d663 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x4c2fc74e tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x4c34bc0a devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4c55621c of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x4c93fba7 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x4c9e01fb crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x4cae89ec fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x4cb50860 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x4cd9a3f7 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d19cfeb __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x4d2eb398 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x4d2fef4d irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d5829b8 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7905be hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x4d99da9f thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db1bcdb nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x4db1d875 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x4dc79a5d check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x4dcb0e02 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x4dcd9436 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x4dd45a81 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x4dd75c36 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4ddca9dc ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x4de12ba6 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de8ccd5 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x4dec3a47 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x4deede4c devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x4dfc3765 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x4dfcbf52 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x4e0185de lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e3440b8 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x4e3705c8 gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0x4e3c0edf ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x4e3c4ca4 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x4e9fa518 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x4ea2ad4e crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eac6869 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x4eacd506 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x4eb4624b sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x4ebc5fec peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4ec6feca __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x4ec7d75d fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x4ede9adc mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f123388 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x4f2dcefb sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x4f51f6ff pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6b6eec led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f81b817 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x4f8d86f5 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x4f963919 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x4fa9b54c get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x4fab768b clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x4fd2aa23 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x4fd94975 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x4fdbcd5b ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe154f3 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4feb0a1a crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x4ff40dcc power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x500ff58d xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x5046fc9f inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x5057ff49 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x50687e6f ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50ae0cfe tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x50c9b2f7 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x50d0f9cb rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x50e59d84 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x510403dc sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x510e6ab2 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x5111092d regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x5121d1b5 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x514116f4 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x514487a8 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x515d107d of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x518ecaf7 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x518f6c65 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x51b7db9a max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x51bdcb7e list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x51c6a02e da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x51f8080f tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x52217da6 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52267665 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x523b6314 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x5261322c rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x526b0bab phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x529d882e regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x52a9c444 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x52af7b77 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x52afb537 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b2a72b sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x52c2babb dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x52c2d07e devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52dbd94b spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x52de85a2 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x53019382 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5301f27a rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x530467e3 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x53110537 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x5319428a power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x531b854e mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x5328c697 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536b680f dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x536f54df of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x537d9c31 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538d476a regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x53bb1300 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c8e99c __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x54095895 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x540d89ae pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541ce924 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5431ac11 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x54336b41 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x54520c99 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x548c05f1 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549d4f37 of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0x54af192d ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x54b9baf4 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x54e9052c tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x54f7a69b fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x54fb715b rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x54fcc8f2 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5562aeb1 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55759a93 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55787535 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x557fe5c8 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x5590c9d7 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x5598d462 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x55ac8946 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x55b1dc12 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x55bf3b04 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x55c0a75a devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f35bfc __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x55f5ed4a iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5614b010 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x5617443c dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x5618f6f1 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x561b696f tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x56212ac6 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56257147 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5636b33e blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x565f9a6f usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x56736b96 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x567a828f crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x567f68e4 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x568c6963 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x5695a225 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x56c6c088 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x56d4131d regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x56e3e9b6 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x56ee1eea __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x56efc7f8 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x571bc7e8 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x572f3b44 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x5730a8cd phy_init +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x57690869 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x577fff35 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x578b8ca4 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x578ef29f subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579bfc63 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a1667d badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57d3d70c pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x57e6d2c1 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x57e8e531 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x57ec3b4e __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x57f5507b iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x57fd634e noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x5805fdb6 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x585cca6b addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587cad37 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x58881d37 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x58954cfa skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x58a1d867 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x58b9fb7c of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x58bf57a0 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x58d9620a device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58ffd407 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x59048a4a evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x59143a9d dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x591fd2f5 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x59257d3c of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x593adb27 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5970dc40 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x5972d97d tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x597665ef bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x598f178b regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59cb3377 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x59d447e9 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x59dfb9dc tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x59e31e6c phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x59e82113 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x59f6b618 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x5a09637c crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x5a150c5b debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a222179 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a24e9fa fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x5a3bc530 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a535336 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x5a58bdd7 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x5a620696 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x5a6bc93f sbi_remote_hfence_gvma +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aad2ef3 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ada9df3 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x5adba7b5 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x5aeafaea metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x5afdef24 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2aca3f devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5b3d49c7 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x5b4f8a0a usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x5b50cecc xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x5b562741 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5b566785 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x5b5a3ef2 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b9353e7 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5b9b5e9e devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x5ba89944 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x5bafd5b1 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x5bb6b954 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x5bbf570d i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5bc47f72 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x5bc6d295 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x5bcdff64 devlink_port_attrs_set +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 0x5bfa105d mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x5bfb5166 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c62a591 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x5c70a477 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c7406da regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x5c817e3e inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x5c884d48 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x5ca3ac6e iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb2bd19 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5cbe1697 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x5ce6dc82 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x5d11f726 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5d1460a3 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x5d206d3d kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x5d257012 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x5d29f95f devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x5d4d9faf driver_find +EXPORT_SYMBOL_GPL vmlinux 0x5d732544 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x5d7c9e70 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d89d4a8 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x5d9f2db3 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da97136 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x5dade5d5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x5dc5bc8b scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x5ddb29df dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x5ddcdab8 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x5df12e9e pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x5df778c5 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x5e07c6dc devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x5e096fca driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5e126077 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x5e132875 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x5e27cc91 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x5e2c2a06 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x5e3739dc sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5e41089e ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x5e47c1ea vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0x5e4a5517 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x5e4a5871 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x5e4f7df1 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x5e4f8c35 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e55ece9 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x5e610fea i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e86c49e regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5e97a190 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x5ea3efdf srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x5ea4ac7b usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x5eaa5910 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x5eb95c51 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x5ebd9973 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ecdf192 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x5ed1db46 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x5ed51e90 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ed58043 setfl +EXPORT_SYMBOL_GPL vmlinux 0x5f00180b kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x5f076f9b sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x5f077aea devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f2e30a2 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x5f2e9d51 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x5f324115 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x5f35c03f subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x5f44a2c2 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f4df859 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x5f52e8a4 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x5f69c970 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f90ab3f regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x5f9e1a1a __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x5f9ec2e0 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x5fbc454f devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x5ff2a0ed __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x5ff38a1b dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x60097035 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x6034e3a8 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x60529da5 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x60535dbd ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x6059b5cb virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x60601ad1 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x6077400d bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608eadd7 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x608f7db1 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6096d7ca fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x60979542 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x60984601 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x609c8951 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60b1c0ad of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x60b42548 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x60be4e07 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x60e285c0 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f22497 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x60f48afc devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x610b2e91 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x6123822e inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x6124c6b9 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x6125ec29 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x614150ff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x6165fd0d shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x6179da94 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6190882d find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x6195ce5b xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61a23d04 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x61b9e298 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x61bf5458 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61c3b25d percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x61d3af24 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x61d40096 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61fe3d37 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x62041c52 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x62056ff9 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x620d5516 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6217b2ae sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x622e22e4 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x6231e4a0 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x6231f832 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x623f9763 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624f9da3 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x62515814 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x62594b60 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x626a5a79 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6271bdec firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x6275a2ed __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x627b6a37 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x62890906 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x6289ac85 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x6297fc34 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x629fec10 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x62b97758 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c2ae91 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x62cb5507 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x62d427d0 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x62d7856b serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x62f7e036 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x63100fb6 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x6313aadb regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x631a1f74 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x631f9f1e md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x636c9348 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x6381eadb fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x63861695 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x638712b4 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x638e93b3 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6395dfe8 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x63b6c63b dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63cc2eab devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x64013fb0 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x6407922e ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x642d7a94 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x644c55ab devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x64668514 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x647c58e6 of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x6492a8d9 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x64a6785a regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x64ae73d7 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x64b81aee tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x64cb1baf vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x64cbac09 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x64cfa85d sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64ef4020 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x65045c69 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x6504d84c usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x652b962b palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x6535d39d regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x654ba91e ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x655121d1 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x6571cd74 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x659b5538 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x659cf6ca debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x65ac4a9d gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x65c1dd0b irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65f4e4f3 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x65fa4d7f perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6629a8aa spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x665663a6 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x6672c97b init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x6672eb72 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x667c998f platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b696b3 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c2a039 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x66c41f6a dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x66c54ebc ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x66d2919f wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x66d7e5e2 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d8e40e __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x66e04986 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x66ee1fd5 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x66eff7e0 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x66fd3ec4 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x67033b46 d_walk +EXPORT_SYMBOL_GPL vmlinux 0x67158c3b crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x67160e4c platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x6718d7a3 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x677e2351 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x67816570 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x67910c7a pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679a331d regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x67aabcbd platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x67b4ba13 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x67c0315c uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x67c9ae52 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x67d57519 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dadf92 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x67e80494 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x680acc75 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x68184a27 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x681fc56c extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683b7720 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68485b29 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x685ffef4 devm_pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x686907e9 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x68695142 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x686c9ad8 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x688b0226 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x688d423c gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x6894835c __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68a390e3 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x68a59e46 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x68d9502b edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x68f37e9f __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x690ee020 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x691398c1 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x69332ba6 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x69497eef phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x694fbfc1 of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x6963cc75 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6982ec26 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x6992a4e1 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x69a64fd0 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x69c9dca7 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x69de4336 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f44cc7 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x69f44e06 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x69fde176 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a0aceff pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x6a158d3d ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a258590 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x6a3ac82a crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x6a3b6bd6 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a80a75a xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a9c734d edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x6aa0cf8a power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x6ac56364 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x6ac9d465 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6acf5757 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6ad08740 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x6af09f91 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x6af99961 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x6b1d988d rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b3e421b serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b5fece4 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x6b691542 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x6b6f5a9d usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x6b79198d device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ba37dc4 riscv_isa_extension_base +EXPORT_SYMBOL_GPL vmlinux 0x6ba39f40 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x6ba7c9a8 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x6bb8ed3e iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x6bc850fb mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd82c46 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x6bec6703 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x6bfa059a tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x6bfb3df7 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x6c0be2a5 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x6c180400 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x6c34f2e8 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x6c3bb2ec transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4b970b usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x6c6fe029 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6c930986 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x6ca01035 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x6ca30b13 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cb48748 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x6cd7bbe4 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x6cda0b18 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x6cdeae2a aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x6ce0732c uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x6ce46358 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6ce915e1 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x6cf215ff gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d126dd1 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0x6d1b8ed8 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d419488 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x6d53ad6d inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x6d596f44 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x6d5b88a9 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x6d639ede pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d7ff60a __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x6d7ff6ce devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6da0c536 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x6da10cf4 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x6db4a8b6 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbc465b pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x6dc54d5a gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x6dc80abb srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x6dd4e522 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x6de3a1f4 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6de65545 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x6e01af70 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x6e01f404 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6e2fb5fc edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4b6e0f regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6e4ba4cc dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e56f47a mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x6e6a3ab9 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e896427 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8d3cb9 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6e9d5276 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x6ebb33e1 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ebf753c devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x6eda4c20 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef96e24 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x6f023cec tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x6f113aab iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f159eb5 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x6f2de362 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x6f2feac3 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x6f64c518 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x6f7cf8e9 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x6f8f1e98 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6f95c2ad kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fa06184 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x6fa3b041 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x6fb28e22 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fe2f95a udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x6fe8f4b1 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffcf12b ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x7000b60d edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7011012a pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x70313d43 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x7032e4b3 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x7039c34a list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x7043d0fe perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x70520573 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x705739a1 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7063a2d5 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x707d25d2 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x7080bfdc __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x7094b257 put_device +EXPORT_SYMBOL_GPL vmlinux 0x709e2f02 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x70a88b0b bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70b93ada dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x70bb68cf irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70cd02c0 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70ff086e mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7102f412 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x71066aee usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x712f97b0 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x7130fc48 update_time +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x71399abf trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x713dcc66 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71643330 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x716941f8 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7196bf7c serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71bb2c97 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x71ed770a devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x71f02b20 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x71fd402f devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x72208604 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7226f196 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x7230a3fd strp_init +EXPORT_SYMBOL_GPL vmlinux 0x72522dc0 of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x725382e4 irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x72563499 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x725dfe0d serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x72640eb6 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72a11b5a thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x72ac2e35 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x72ad78ae rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x72ae89e8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x72c8716c wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x73105d57 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x732f5fc8 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x733183af btree_last +EXPORT_SYMBOL_GPL vmlinux 0x73394ad0 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x734469db adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7361cb3c fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x736c9335 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x7370459a of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x73825a88 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x739f5fb4 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a6381e btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x73af8e67 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x73afa8ea page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d14aa0 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x73e5a270 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x73f17a8a zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x73fc4128 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7404090a clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x7408bdd6 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x740bd9f0 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x74136493 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x741ed6d6 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7443b9b2 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x745faa12 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x7468fa21 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x747e4fed anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x748832f2 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x74a10212 set_secondary_fwnode +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 0x74d87b97 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x74fedef2 dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0x7508c30a xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752aba97 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x75498068 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x754eefec inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x75513ca9 net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x75733483 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x757b4bfe __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x75a89176 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d84a90 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x7616ae3f devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x761d6b05 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x762d6667 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x763d73ad i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x764a92c8 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x766a1045 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x767392c5 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x76a2655d evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x76a7433d usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x76b66366 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x76c32ccb crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e70702 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x770a3747 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x770b5ac8 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x770f06a8 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x77285b87 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772cfb0a fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x773ac9d6 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x7740d3f2 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x7742883c pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7747c291 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775f862b power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7764fc2d mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x776e68f5 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7773c4a9 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x777c3589 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7782047c crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x7783179c extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779b53aa perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x779bae4f devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77ca95c6 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x77d28503 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x77da0112 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x77dffc93 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ea88b7 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x77f148e3 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x78056002 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7862b359 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788a0eb7 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x78919d1d dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x7898dd95 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x789f100c inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x78a40d52 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x78b4d0a8 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x78bc102b __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x78bc32ec lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x78c14396 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x78de317d rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x78e31b08 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x78ed57a0 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x78fa3b93 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x79174f0d tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x7926a534 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7936b376 scatterwalk_ffwd +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 0x7958bf03 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x795d848d mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x796d0f75 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x7977f64a pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x797ca216 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x797ddd89 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x7983eb57 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x799272e0 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x79a340b8 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x79a7a976 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x79b6a4bb __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x79b83160 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x79b917f4 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x79c1f936 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x79cf0661 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79df1977 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x79e9217d of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x79f2e8fb sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a1a0101 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7a2e18aa pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x7a51d8ba tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x7a5a5e8c devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x7a67d0f9 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7f921d devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a86bc39 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7a888349 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x7a8d3b6e iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9a8588 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa12c77 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x7aa25335 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7af74fcf regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7b1fa417 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x7b25d144 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x7b26c512 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x7b324bb5 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x7b521814 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b6b63fc pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x7b6e75c4 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x7b8cda93 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x7b908b4e platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bafdad8 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x7bb890e4 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x7bbd274e sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x7bbffe30 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7bde5b09 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x7c172b64 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x7c1bf02e pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x7c1d0f5b of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x7c25cd60 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x7c4d0204 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c5a9dbd irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x7c627b26 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x7c6dbb0b pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c7fcd21 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7c963b69 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7cbd005d devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x7cc2311e platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x7cc6ca01 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd1972f pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ce42422 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf4370f tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x7cfa855c pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d14ad4d of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7d1763ed blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d3dfea3 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7d45045b tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x7d7a6db7 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7da19271 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x7dba7da1 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x7dbca4f2 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x7dbd146a max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7dc06b49 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddbb5a1 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x7de4b502 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x7de6ae80 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x7de7851c crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x7de894e8 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7e08d3c8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7e0f1d75 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x7e1fff99 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x7e2e8348 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x7e4e2a4c pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x7e58930d tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d7155 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7eb92174 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x7eb9c384 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x7ecbf1a1 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x7edcc51f stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x7edd455f of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7f03c6bd of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x7f22fe4e crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x7f2d96c0 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x7f337f26 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x7f38f40c btree_merge +EXPORT_SYMBOL_GPL vmlinux 0x7f42788e pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x7f4ef710 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7f7927e3 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f7f5a4d phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x7f809971 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x7f90a6a0 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x7f990d7e xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x7f9c5958 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x7fa6f4b6 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fbcb9ce sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x7fca89ec handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fe9b1d7 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x7fec6b1f ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x8003f45e kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x800f7718 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x8012883b skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x8018c593 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x8024fb31 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8029398a wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x806872e2 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x806de62c ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80912e3a evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x80aa45f6 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e8add3 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x80ee8ded kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x80f16a9e ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x80f3569e device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x80f7d128 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x8100612a crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x810d2ac7 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x8112dcdb regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x81251639 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x814784c5 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x81541aca transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x8157b4c6 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x81589502 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x81675eea crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x81890d60 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8194f46f driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x81a77719 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x81aaab0c sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x81afa251 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81e079d3 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x81e8a8dc i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x81e8f4cb kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x81fa89b7 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x821d4ecc spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x82245474 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x823e3765 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x8247e935 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x8251888b sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x825d8448 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x825e60f0 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x82731a43 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x8285fadd get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x82989ee2 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x82b876a7 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82fd2b45 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x830c322a key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x830c3fcb usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x831c245d bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x83619036 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x83904cea vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x83a1475e platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x83ad4ca7 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x83af855b spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x83c356d6 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x83c981c6 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x83d7bb61 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x83d7e2d3 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x83f1f3e5 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x83f9fee4 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x840dcdcb task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841a7f2a crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x84270353 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x84403db3 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8440a10a serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x844712df perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x84555d08 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x847777fd devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x8487091b __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x8492cceb devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x8495aeb7 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x849e6a57 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84caa7c8 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x84ce143e unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x84d04418 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x84db9f6b crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x84dc0bc7 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x84de37c4 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x8509b823 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x850e2621 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x852ead4b mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8530a151 devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x8535b94b ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x85448a14 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x854c8db9 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x8565f397 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x856e100b thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x857d9a57 of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x858aa2f9 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x85a1bf9e fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85aa44dd __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x85ad8068 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85b770f0 of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x85be70a5 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x85c2dc48 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x85eccbd2 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x85fa8f9c seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x85ff8ef0 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x86308887 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x864c521b hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x8666073f proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x867d3687 blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x8683d22c of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x869f15bb thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x86a69111 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86ea7d5b of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x87074119 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x870e2f93 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x8719364c ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x871d53a0 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x87299a05 dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x87554c50 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x87598594 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x875d58e7 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x87793274 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x878f1b57 device_move +EXPORT_SYMBOL_GPL vmlinux 0x879361ed tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x87aa0676 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x87addadc i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x87b2b34e __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x87d98e5a find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x87ee7b66 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x87f3e3f5 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x8818bc5b cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8825df01 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x8839864c usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8840bea3 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x88458d7f iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8863dc5d nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x888b970d dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x88a8eda1 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88b58864 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x88d2e84f gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x88dfef09 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x8908ee4e nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x890e5546 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x89122841 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x891a0213 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x8921e118 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892a8d4c spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x892fe56d rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893e3d1a virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x895772f9 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x89698745 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x89857de5 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x8994fcc3 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x89a22912 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x89a920cc blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89cd2780 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x89cd4d3d xas_store +EXPORT_SYMBOL_GPL vmlinux 0x89d8b4d0 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x89e97c09 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x89ed2a60 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x8a09a381 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x8a1240a3 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x8a3deb60 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a4ca92e of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x8a4d4862 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a5a5dc8 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a6a3d67 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x8a6e2f4b rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a826eea crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x8a8dd4bc trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x8a93bfac mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8aac1cbc trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ae07701 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8aea3643 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8aeb7cb0 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b19522c dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x8b2110ee of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x8b254a66 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0x8b2a73bb devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x8b2b77d1 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x8b3cf7c2 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x8b734fc6 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8b8fc326 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x8b95c56d lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x8ba7778c devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x8bba5ad9 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8bc6c6f3 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x8bd69f07 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x8bda3b65 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x8be32c62 iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x8bf6bd66 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8c009b33 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c22bb2b fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x8c292048 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x8c2921e2 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8c2b5e84 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x8c3ea791 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c497892 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x8c5cd396 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7bd877 __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8ca0378a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x8ca9cb45 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x8cb35a9d blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x8cc599d6 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8cd07e68 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8cdb9a2b ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x8d039b58 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x8d050b4c fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x8d0e3b04 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x8d137575 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x8d185de8 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d2f9a2f gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x8d35de27 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x8d49c195 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x8d5a0a17 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x8d5cbfd3 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d65e96f pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x8d8c7fcd ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x8d928905 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x8d95c6e4 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x8daa7f7d blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x8dc5d0e1 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x8ddbac9c class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x8dde8af8 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x8de5acb4 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x8df7c151 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e1b5584 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x8e1e2fca trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x8e201175 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x8e43dd80 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x8e450be0 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e5044a7 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8e5ab481 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x8e68802d l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x8e69fccb input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x8e770877 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x8e9633f0 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x8ea39520 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8eaec3ed devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x8eaf833b devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x8ebc001c find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x8ec0ac87 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x8ecdc711 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x8ed7ee42 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x8ed9dd7f iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x8ee8a2c9 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f1ae21a rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x8f39bcb8 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x8f42590e pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x8f4dd457 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f777d02 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7a2730 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x8f97b816 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x8f9add58 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8f9c47a7 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fce6129 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x8fe59869 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x90075b46 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x9008b918 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x901c6c99 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x901fe717 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x902d9d2a inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x905f44fb rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906cb0ef usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x906ebc9e inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x906f70d0 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x9076adf0 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x907c1b8a pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x90824a2d device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x909fc5c5 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b57600 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x90c59882 arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x90d601ff spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x90ddbdf4 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x90dfa93b synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x91154dc3 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x913634cb ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x913e5bfb sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x91435868 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x914df69c device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x9152edd9 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x91606780 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x9165a28f set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x917d9f0e device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x9182e025 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x9185a29c kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x919140f3 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91a99cfd kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c769c7 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x91ed6ac0 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x91f816d1 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x91fe389b device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x920aacca nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x923cac2e spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x923e3fcc perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x92492421 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x92827d1f class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x9282f433 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9285f556 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x92a69a67 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x92ac18a3 sbitmap_queue_wake_up +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 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x9323669e alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x932ca7dc genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x932eb7b4 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x93324f20 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x9363bd4c of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x936d6989 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x9383f75c rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x938ac9ba devres_find +EXPORT_SYMBOL_GPL vmlinux 0x938e3443 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x93aed986 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93b4b5da nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0x93bea9ed regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x93cbdcbc tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x940697e6 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x940bb5be devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x94127060 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9428b275 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x943340e8 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x9437e6b3 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x943c29c7 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x9456a916 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x94627f62 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x946aaf1a perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x946d497e phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x94780238 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x947eb365 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x948f8dbb devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9499295f iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94af64f1 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x94b600ee __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x94baaf06 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x94bf0580 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x94c219d5 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x94cc29c2 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x94d23427 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x94e5db3b dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f24505 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x94f6964e ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x94fe9d6d skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x9502db2d hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95132e31 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x95155be6 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x95243827 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9528aef4 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x95322a75 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x953c7893 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x9547eef7 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x954cc7c3 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x956c839e blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x956f044b pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x95708dec adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x957b1dcc hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x9588d15e wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959ce5c5 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95a0f20a kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x95b03e07 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x9602c2df stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9629d24c dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96555bb0 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x966a7d3c __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x96902c2e badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x96936b8b regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x9693bf61 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x96a1bbc7 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x96b9caf8 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x96ba548d __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x96cf76c5 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x96d27345 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x96d2aa73 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x96d487fb pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x96d49d52 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x96fd04ea blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x9708f6ff skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x9709463f tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x971b14ea generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x9721fce4 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x9727e04d bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x97436244 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x974b9ca7 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9758f344 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x976a03a0 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x97a10604 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97ac0770 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x97b2d357 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x97c356f2 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e1f90e icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97f0f1c9 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x97fea866 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x97ffc95a inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x98056d2a __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x981469d0 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x982f9aba netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x9830390e ping_err +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9835c6c0 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x9844882e __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x986f6941 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x987529d1 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x98870bf0 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98a17410 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x98ab1690 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x98d04e11 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98efd72c fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x99029d39 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x9917d1b1 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x99291ee5 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x99354573 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x9937db94 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x9947824a dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99635afc nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x996db5d1 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x9972c33c hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x99733668 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x997c7395 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x99862dc3 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99b774de __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x99b91f2e fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x99b9429a spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x99b95588 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x99c5f864 pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x99d1c9db sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x99d4bc50 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x99d77290 devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0x99de36db crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a077bd4 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a18321b usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x9a190032 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9a302709 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x9a44a107 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x9a5a71e3 blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x9a6961c0 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x9a765fd8 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x9a906384 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9a92dc99 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x9aa92e0c wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x9aba3533 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x9ad49a41 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x9ad56d2d __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x9ae2e195 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aff6f46 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x9b126766 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9b298159 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x9b4dc7a2 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x9b4f8073 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x9b57daf5 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x9b5d872a serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x9b60ed7b iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0x9b6705b4 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b77dd1c phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x9b7b89b2 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b941cfa aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x9b97d4e3 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bbf283d crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x9be253a0 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9c000c18 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x9c299a0f pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x9c31ceea devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9c3abefc mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x9c4618e1 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x9c504758 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x9c60099a pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x9c659d2e of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c7c81c0 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9cb31c5b l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cfe6cb4 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9d08cf87 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d0ca7de mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x9d188e70 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x9d27ac28 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x9d431ced component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x9d5eba54 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9d62c75f fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x9d6b533c ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x9d9f69ef blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x9da0f095 find_module +EXPORT_SYMBOL_GPL vmlinux 0x9daae90f netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x9db722bc devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x9dc03772 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x9dd0c9e9 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x9df43ed7 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9e1318bb relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x9e44a9b0 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x9e458eb6 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4e29ed device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x9e6dd029 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x9e7cb34a vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x9eab90d2 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x9ebb9e6f netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x9ebd65b2 device_del +EXPORT_SYMBOL_GPL vmlinux 0x9ebe84d7 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9edb4d05 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x9ee9981f clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f11eff6 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x9f39df62 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x9f4f3933 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x9f6690f1 get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0x9f7c55d9 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x9f90e629 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x9f9ab4a7 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9f9e77df dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9fa1b145 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe28dcb pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff04d9f hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x9ff238c3 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9ff4c4a5 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x9ffb4f9a dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x9ffe18db devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xa0001296 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa0198e47 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa038f306 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xa039fadb usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xa04d2aea pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa04ff689 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa0597ee4 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xa069776b i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xa07017de fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xa079c67c virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xa0bb1a46 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xa0cb2085 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d82a0d scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xa0ddee67 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0xa0e5517b shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xa0fe2767 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xa0ff894f irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xa103936f pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0xa1073e53 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0xa10cc870 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xa13f3392 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xa15c5eac ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa1633c00 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0xa16439c7 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0xa16a4a1e serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xa1835e35 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa19bae18 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa19c4c4c tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0xa1c5e4d9 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1ef7a9d call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa232cf41 __riscv_isa_extension_available +EXPORT_SYMBOL_GPL vmlinux 0xa23f684b __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xa241b40b crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa24f66e4 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xa252ccc7 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0xa2552981 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2720e98 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xa276b68f tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xa282df35 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xa284ba06 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xa292a0e1 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xa2a5d489 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa2b7c339 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xa2baebd4 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0xa2bd25da tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0xa2dc5c10 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e2c3bf regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xa2e89562 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xa2e8fec3 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xa2ec2a61 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xa2f02eae pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xa2f744bb blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa302ca82 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xa33dc417 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xa33dda28 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0xa33f4f60 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xa342d0e9 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xa353da80 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa373e938 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xa3800080 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xa3839b9e gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3d4633a blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3fdfede irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa404c126 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4207d2b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xa448d6f0 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44fbefa __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa4577cbd mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa46c101b skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa4794bc1 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xa47a7bd0 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48c76de __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa492a480 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xa4a2b7cf dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0xa4a3fbc7 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xa4a8419a rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4cb829c trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xa50ae4dc strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xa51afdb0 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa5322e6e irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xa5358c88 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa55d6595 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xa579f781 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xa57f1eeb led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xa58e1b2e skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5dff27b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6085998 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xa60eeed8 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xa6136a1b regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0xa613d5d4 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa62da0e9 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xa6486c69 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xa6655dd0 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xa66b4554 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xa670d668 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xa6989603 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xa698e5d1 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6c5988b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xa6e19b09 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6f542dd dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0xa6f8413b wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xa6fbe14b fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa70c9fa9 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xa70e91db mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xa71b93d9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xa73f483f bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xa746421d class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xa74caeb9 mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xa7581004 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa75a2dd0 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xa7785bfe mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa77fbf86 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa788a6f8 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xa79611c3 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0xa7bd8a0e fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa7c796c1 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xa7e9d761 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xa7f76387 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xa7f8d8a2 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xa810f2f0 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xa81db7df input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xa821f00f rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa8255882 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0xa84c46bf __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa86b1a84 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0xa87099cd rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xa879bd9f phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0xa87c3031 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xa88b7001 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xa8914804 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa89ec7f4 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0xa8b5e6e0 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa8df8ff9 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0xa8f14922 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa9153b5d bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa9279572 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa9416b75 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xa96019b0 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xa96a08a5 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0xa9762c5a clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xa98ec17c rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xa98f7ae5 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa990b909 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa99559e8 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xa999a365 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9ac14c5 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0xa9b0d316 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xa9c66e81 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0xa9e05660 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9e1fdf0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xa9ec215c usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0xaa06aa9a serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa164889 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xaa1f8138 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa25a86c gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xaa25fa18 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xaa2842fb pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xaa2ef9f1 ref_module +EXPORT_SYMBOL_GPL vmlinux 0xaa494674 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xaa4d72fc devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa54c506 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xaa555975 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xaa77c073 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xaa7e715b class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaa969ecd platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xaaa5ef19 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaa9b295 __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0xaac6ffea perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xaacf994c tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xaad0225c i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0xaae21aec dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xaafe5473 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xab265b96 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xab36c77b blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xab3ca5bf pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xab7588b6 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xab75ac22 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xab7f9429 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xab8bad1f serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xab8e1c31 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xab92280a nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0xab9958a7 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcfa03b __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xac059728 fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xac0ac919 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xac2f0d9f __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xac31406e shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xac5d077f phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xac67e382 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xac91f716 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xaca7987d sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xacac5d8b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xacad8767 iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacbf4208 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xacc2fd8b sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xacdd8c37 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xacf5717f scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0xacf790a9 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xacfc73da tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xacfeaebd pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xad123455 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xad168965 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0xad1df762 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xad311b64 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad80f2b1 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xad8a48db dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xad8e7dbd ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xad911369 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xad92dbec skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadac60d9 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0xadc20b0d wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xadca6bad devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xadda745a bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xade02f50 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xadeaa56a regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xadf2a219 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xadf3dc7b max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae68a9e2 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaeb78a46 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeca436f of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xaed00cea __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xaed16612 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xaedd30fb blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xaedd9417 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xaee43267 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xaee9598e devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf2a5b9b eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xaf2f1bca debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xaf376c73 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf4fcab0 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xaf6a88d5 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7c4d48 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xaf8919d5 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xaf9ed0b4 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xafa4c22d rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xafb57971 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xafb74c8c ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xafbbcce3 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xafc0ac8c relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xafc21f9d crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xafc64a5d unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xafcce433 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0xafcf50c1 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb0077826 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0xb00db568 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0xb037c29b usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xb03c1273 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xb03df389 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xb044e175 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xb04d1f7b perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb0853a91 security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0xb099e2f6 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xb0adeba1 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c90a97 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d9d8c6 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0xb0dc5f93 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xb0e3e850 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0xb0f715b7 split_page +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb10bf5ff phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11625b9 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb12e1d72 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xb1306432 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14748fc vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb1793256 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xb18110e0 __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xb18683e5 udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xb1c4575c relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ec94f8 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0xb204077a ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xb206c18c fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xb20a3885 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xb20b58f3 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xb21963f1 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb229279e __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb22bad9e devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0xb23138d0 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xb23a2866 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24c3591 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb24c58f8 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xb256e452 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0xb2574196 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xb262ac4a usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0xb275776c __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xb27b1b7d __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb283c15b gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xb2846fd2 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb29c210a sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xb2b14407 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb2be1d82 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2daf5c5 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2e79286 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb2ea480c fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xb2f436ff pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0xb3021106 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30897e4 security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0xb310b4f3 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xb339ca34 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb355f3d4 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xb359f50b fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xb36696fd dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xb377cbb2 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xb37c0f95 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb39bd5ec synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xb3afe219 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xb3b5fe05 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xb3bd0260 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xb3caece6 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0xb3e77343 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xb3f59403 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xb3f921db da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb40c6376 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb42f686b of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xb43174bf sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb435af5e sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44dbc2a usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb4557061 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb45c7acd kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0xb482c984 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xb4888260 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xb48e13fc dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4913e56 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xb49de221 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xb4a4ae0c cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xb4a7d28b iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c618a3 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xb4d4ce95 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xb4d9bb71 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb4db2e4e dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xb4e249a4 rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f05b3e to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb556d652 pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xb55b73dc pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0xb56d6a4e crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xb5cbcace dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xb5cdac33 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xb5d64d0d irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xb624f416 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb634927d transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb6351d55 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0xb63e2a73 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xb64a3bb1 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xb66318f4 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb692fb0e rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0xb69ade6b bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xb6b0cbd8 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xb6b24c7c sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xb6bd34e9 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb6bec653 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xb6c3b433 blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0xb6d922f6 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0xb6ddd19f pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xb6df3f47 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xb6e1c9e1 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6ffad9c page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0xb70b110c adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb71d5f8c dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xb71e3688 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb7437cbc inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xb76ed8d5 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0xb792ea53 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0xb79f2b9a ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xb79ffdf8 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7af1b3e regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0xb7c22032 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cfdccc da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xb7dd616b driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb8026564 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xb8028b53 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xb80b8301 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0xb814557b usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb836cc45 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb8521980 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb861971f clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xb8752e4d __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb876a0f2 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb88c6e04 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8a10fdc tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xb8aa2d80 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xb8aa942e crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb8bc1a38 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb8bcd57b devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xb8bde5ca device_create +EXPORT_SYMBOL_GPL vmlinux 0xb8c5b9ba kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8da9c61 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xb8f921ad pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xb8fec88f dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0xb915f3b1 sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0xb91cc52a trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0xb9303fd2 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xb94494e7 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb948843a kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0xb9494c4f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb96144a3 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb9767486 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb981d83b __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xb98ade9c ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xb9984251 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xb9a93154 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb9af57b8 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xb9b35727 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bb053a btree_update +EXPORT_SYMBOL_GPL vmlinux 0xb9c09460 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xb9c20c4e devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9e0be0f ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xba085e18 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xba115cdf pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xba2b001f clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba6006a0 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xba8538d4 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xba8f7142 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xba9d953b scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xbaa05a8c raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xbaa8b70e devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbad0e33e sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbadfc450 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafe26cd xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xbb087a6c ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb118b09 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xbb143515 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0xbb3f56f2 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xbb47ca03 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xbb4c7570 pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xbb4ee4a0 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xbb52f56d of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xbb540dc0 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xbb563511 virtqueue_add_inbuf +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 0xbb7da879 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0xbbd24895 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xbbeac427 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbbee476b blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xbbff0f0a wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xbc04db74 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xbc154df4 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xbc1813fc class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbc25fdc9 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xbc2ff797 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xbc4d3f36 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc73fe62 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xbc934200 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xbca064ff devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xbcb1c239 noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xbcb81e33 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc20e6f regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbcc97f68 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce7bc25 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbcef66af sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcfb078d fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbd31b9d1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xbd382003 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd44e0aa crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbd4ba4cb dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xbd569b18 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0xbd650ddb sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0xbd6cc326 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xbd99b451 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xbde50a0c page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xbded4131 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xbe0b37ba cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xbe47b1e8 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xbe6708c9 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe6d5724 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea3fb03 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeacb0ab dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbec71791 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbed7a507 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xbed89071 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xbeda47d3 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xbefffd42 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xbf00a26c xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0xbf03f94e usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf049c66 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xbf0b3458 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xbf1dae29 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xbf547326 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf722eee devres_add +EXPORT_SYMBOL_GPL vmlinux 0xbf72d759 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0xbf779d47 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xbf7c6b2d crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xbf8c4a8b dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xbfa34b83 xas_find +EXPORT_SYMBOL_GPL vmlinux 0xbfa54650 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbfad7c7f da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfd7c2bb __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfecb551 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xc00dc83d __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc04be621 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xc05f5114 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xc0640d69 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xc09eaaab key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0d33462 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xc0d4643f rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f23540 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xc0f8fd56 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0xc104cb28 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc109fef9 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc1224b4e srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0xc1282ec5 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xc1359d1b dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xc152ab17 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0xc15550c7 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc18f177d bus_register +EXPORT_SYMBOL_GPL vmlinux 0xc1b7d0ae fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xc1b90153 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0xc1bd58ea get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xc1c33acb xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc1c7ffd5 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0xc1d8b839 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xc1fbe685 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xc1fe025e serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xc205a9ab perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xc21b3cca devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2396707 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xc23a6598 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0xc23ff870 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xc241a398 yield_to +EXPORT_SYMBOL_GPL vmlinux 0xc244b144 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xc24dbef0 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xc2557486 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0xc25abb26 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xc25da722 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xc26683b2 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xc274f8cf pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xc27caa39 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xc27d1ef3 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2824ae0 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc295954b pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xc29ad1c5 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b55e0f crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xc2be9d19 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc2cd257d kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xc2d4979d ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xc2ddb297 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xc30a2fe2 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xc311f8c6 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34efdfb cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xc36ecd70 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc374d7ab nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xc3756b46 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xc376111e device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xc37795e4 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xc37a0900 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc38ece70 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xc3a9f549 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0xc3b7f580 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xc3c0a3cd skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e0c616 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xc3e3a990 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xc3e4919d wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc410520d blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xc41303ec pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42af4cc scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc42f6ba6 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xc45169ce sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc4605a15 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc4684e21 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0xc46e25bf blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc477c1d2 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc47ebd38 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4899e4c thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4927931 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc4a0f956 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4adcee7 security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0xc4b580d9 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xc4bed86a usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xc4cb5572 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xc4e6b043 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc4e92a22 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fe5340 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xc50abf31 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xc5103327 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc5281b48 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xc53561ac skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xc55cf2e4 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc56206b9 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc5707f39 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc584772d regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xc585864f dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5a96dd7 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xc5ab59cf pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0xc5b6f505 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xc5c1a598 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0xc5f27f28 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xc60285a2 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xc60e4566 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xc613f45b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc637d448 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xc6487402 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc6572249 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc67205b8 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc67d2662 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a10ec8 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6ab09d2 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xc6c56632 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xc6c7806e da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc6cfe862 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xc6e12b37 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6ff52a5 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xc701e316 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0xc708571e iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc722abd1 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xc73917ae rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xc74a7e9b debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc74b8610 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc74c4199 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc75aa8c5 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xc76690a6 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xc7695ba4 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc781b4e6 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7c86e security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0xc7aa09bf sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xc7aabeb0 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc7d7bc59 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc827a521 devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc837060a pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8503fdd bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc86386e2 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xc86e99ec tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0xc8795b6b blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0xc88af0ee of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xc89a793c mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0xc89aa141 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xc8a06900 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xc8a40cb5 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0xc8b7c400 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc8ba3b30 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0xc8c3c24e virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xc8c730b1 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc8d65bd8 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8f421a5 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9133136 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xc9284579 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0xc92dbe11 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95ba5de mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc97bf805 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xc97c0122 ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc991c354 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xc99c6c0f module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc9a07cbc serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xc9a1ac1d pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xc9b01b2f crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xc9b1519a fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xc9b3728e genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0xc9d3d17a tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc9d5b659 sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0xc9e1626f inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9eded38 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xc9f2c399 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xc9f55588 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xca0552cf gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xca06eb26 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca0a624a gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xca10c4b9 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xca138548 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xca197ce0 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca22b69a watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xca269589 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xca2fa83d xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xca3ab270 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0xca441ee2 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xca44732f attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca5fe767 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0xca6d439a dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca83b4fc __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xca96a38a get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9a2606 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xcaa54ce7 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xcaa5b468 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcac8bfa6 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xcade6d41 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xcadef118 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xcaf51bd1 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xcb1087e6 arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2ac942 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb36f6b3 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xcb429e0a fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0xcb461cf7 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xcb4920db lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb5df544 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xcb6d4b0b debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xcb6fcf78 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xcb70bbd2 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xcb748a8c blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xcb82551c iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xcb97f753 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0xcbaba0c6 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xcbc0d165 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xcbc814d0 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xcbe2ead5 vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbeee3a1 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcbf20fc5 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0xcbf39f19 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xcbf3f19d ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xcc02a71e usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xcc2bfe07 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3bdb1b devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0xcc3dda8f iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xcc3fbfaf virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xcc4930b5 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xcc5504ba __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xcc5560f0 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xcc67e034 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xcc6df2fb fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xcc7884d1 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcc7b0ada devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xcc7f5052 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcca037bf __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xcca6ecd6 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xcca6ff41 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcccc82f3 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd2811a xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xccd6f0b5 device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0ccce0 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xcd11a430 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd4bca89 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7007f8 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xcd7a1927 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xcd89d66c pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd961f56 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcdb4965e pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc7eea6 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd2b5ca rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xcdd8eabf ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xcdd9a0b5 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xcdf68b37 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xce39fa78 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0xce3e9fcf phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0xce4e30cf xas_load +EXPORT_SYMBOL_GPL vmlinux 0xce65922c spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xce66937b dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0xce69da62 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce70853c usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xce90ef20 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xce97d20b blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xcea7456c ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xceac768c sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0xceaf8b52 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb75d59 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xcebf12a2 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0xced8f1fb class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee271a1 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceebc575 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0xcf070cbc pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xcf0ff3ad gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xcf12de7a sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf32e3be dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xcf3b8c3a ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf67a2d4 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xcf6caaef rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0xcf709d23 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xcf71695a __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xcf75eb02 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xcfb0311e mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xcfb87714 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xcfb87c82 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfda7178 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xcff16301 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xd0019554 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0xd007f0f0 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xd00f69ae tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xd01fc775 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xd02237f5 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0xd03008e3 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0xd0356819 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xd03cdfaf usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd04b10b2 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xd04bfae5 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xd0510625 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xd05fcc39 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd092bfc2 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd0964186 devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0xd0adb0d7 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xd0b4c9bb cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0xd0bb8e69 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c6e5a6 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xd0d68a36 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xd0dafdec usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0f26c93 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1043cb9 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xd10e73cf devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0xd119e31f crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd12265d6 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xd1229c44 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xd125b192 device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0xd12797de tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd13144a9 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0xd1477706 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd14bbc4f nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0xd17eaecc power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xd18e19ec dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xd190eb3a riscv_cpuid_to_hartid_mask +EXPORT_SYMBOL_GPL vmlinux 0xd1ac7794 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xd1adc5e0 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xd1af725d virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xd1c6978e udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1daa98a of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xd1ddf42e iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xd1e045fe blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd201b19a kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xd209a6d2 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd2261ac1 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd2423036 ping_close +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd265f403 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd292c162 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b9bb5b ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2e32e32 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd2fad6c8 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd304800c i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0xd3154137 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xd315d86c regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32384ca sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xd326afc1 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xd33910a4 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xd34ee9d7 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xd35a2323 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd374f739 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0xd39b2e2c tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a3b5bc device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xd3a64b06 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xd3a6f984 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xd3aa1286 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xd3d7baae unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xd3ddeb67 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xd3e97c21 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd3eb6632 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd400e2b8 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40bcddc fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xd421fb4c fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xd42b368d pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xd42f6867 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xd447a162 devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd47ae758 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xd49740b4 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xd4b5ba29 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b800ca nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d47df9 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xd4e3affc sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f7ec30 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0xd4fb01bd __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd4ff4624 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xd509e692 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xd50e2b6f crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd512ba4c md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xd5168f3d alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xd51f2d60 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xd521a8f1 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd530dc73 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xd540296d noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xd54ed1cd clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd570a2b3 path_noexec +EXPORT_SYMBOL_GPL vmlinux 0xd5851374 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd594fac2 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59cbeda crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd5aab1cd smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xd5b065d4 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xd5e8b8b0 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0xd5ed2837 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xd5ee5abf subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xd626b6b2 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd6273631 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xd6373577 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd63ce82a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xd642913a perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xd6460e87 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0xd64a996c sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xd64cd8d9 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd658ff40 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67f4ee3 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xd68bcc95 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0xd6943a4b alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xd69451c1 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xd69f0b68 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xd6a0b191 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xd6a2bd40 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xd6d0ffb1 nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0xd6d4326e ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xd6f14bc5 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd6fdbe80 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xd700f633 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd70c38a3 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xd7278a0f virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd735853a seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0xd74bdb19 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xd7536dbf simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd78db270 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d3080b crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xd7f59306 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd80e9e71 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd81b08cf stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xd822959e sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xd8295248 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd84a35e2 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd8569385 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xd85fe96c strp_done +EXPORT_SYMBOL_GPL vmlinux 0xd86f0144 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd878e05c nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd8812b73 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xd886a0ad ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xd8a1523f sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd8ade657 rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8b0366f gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xd8b24bf4 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xd8c073ab sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xd8ce112d __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd8da0b15 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xd8e712c3 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xd8f78111 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xd8ff470f scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xd90255f9 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xd9051836 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd918b1a6 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xd94dde0c sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xd958dcfb serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd977f644 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xd97e0047 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xd9a77daa trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xd9b5c866 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xd9e0485e pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9f3e65f __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda02e99c spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xda082c8b devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0xda1129c8 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xda14ac9f irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xda1c9d01 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xda2318d0 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xda24ef46 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3b4e81 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xda743a78 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xda7f5049 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda95c427 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xdaaa71f3 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xdaab8396 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdad419ba xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xdad6c389 devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb0e509f power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb3379fe tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xdb34c610 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xdb5694a8 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0xdb756cbf ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xdb77ddc7 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xdb883026 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0xdb88417e pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba12946 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdba9c13b exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xdbbb2ff8 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xdbbc78dc pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdbbec79b clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xdbf50b3f shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc075d09 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xdc0ae465 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xdc328261 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc4e46c2 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xdc5d8c1e mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xdc688bc6 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcad902a srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdcae996f iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xdcd399ab debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdcdd943c btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xdce1c96e tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0xdce22aea br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xdcf77a69 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1532db tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xdd23f730 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xdd2ff5e8 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xdd35ebc1 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xdd37aac3 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd4cf2be genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xdd5b7663 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd6441b6 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0xdd87ad4a fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xdd952c43 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xdda40061 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdda64ab3 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xddb0175e gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddbf272f iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xddc6cf7c dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xddcafa56 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xddd6a7be devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xde079b17 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0xde07c9c3 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xde0bbad1 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xde0e53e6 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xde25f88c __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xde2af075 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xde33db93 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0xde58cfa0 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde872873 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xde940741 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdeae60ae pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0xded0d736 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xded24a52 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf05d2de __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0xdf0a04a9 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf158beb spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xdf18c550 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0xdf1ebc34 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0xdf255dcf memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf2ba7c0 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0xdf2f444d security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xdf3ade17 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xdf4119ed unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xdf44678a serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xdf452e12 virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0xdf7fa33b __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xdf8c2e6b file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfcd4f29 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xdfeb5517 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xe02fe4db bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xe033ef6e rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe04fe751 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe0582d4b component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0647b06 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xe077db1a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xe0848407 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xe08e3f3c dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xe08fe4dd ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0xe0908877 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0xe096fc08 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xe0a23569 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xe0aadca5 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe0ae209b blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0b9c6b4 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0c137dd iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0xe0cf37b2 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xe0d9fd32 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xe0da5ccb i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xe0df7b0e dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xe0e1dcaa gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0xe0e77b0f scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe0eae45b sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0xe110435f usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xe126553f __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0xe12ca071 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xe13e29e5 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xe1502545 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xe158edd8 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0xe1658613 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe16a80a6 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xe16f4f3f scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe17d6a2c device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1cfa261 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xe1d759ec __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xe1e90e7b sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe1ee1b93 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xe1f42793 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xe1f5ff97 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xe1fbab3b __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xe208ec97 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe209524b usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xe2117f99 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xe2187341 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe229125e crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe2395429 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0xe23ebde5 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xe249b7a1 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xe249f542 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xe24e0bd2 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe2554874 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xe2619497 __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0xe2712d37 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xe27347c6 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xe2929a80 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe297908f arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0xe29e502d pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xe2a6d615 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c0150c power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0xe2c603f0 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xe2cb8478 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d51ae9 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0xe2e2a198 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xe2e80d91 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xe2ed00e6 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3431ad5 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xe346c95f wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xe34a9ce7 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xe34c0ff9 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xe34e3d8a device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xe35eeee7 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xe36874ba pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe39d5216 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xe39e036e wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xe39e2648 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3a177fa tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xe3a19f2e phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0xe3aa16e4 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0xe3ab5fdd devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe3ab74fa devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xe3fc3772 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xe404ab88 of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe420f9b5 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xe428fb34 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0xe43672cb cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xe438fbee relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xe448b975 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xe4683c95 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe471beef crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xe48b64bd thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe49de3a8 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xe4a6a37f powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bb50d9 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xe4bd33e1 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4c41951 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xe4d54a5d nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4ef2f35 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe4ff83ae usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xe51a0720 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xe5262c19 mmput +EXPORT_SYMBOL_GPL vmlinux 0xe5294603 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xe52ad57f blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xe531e086 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xe534d371 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xe53e376c bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xe53ec4ec regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xe545e2bf phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xe565933b xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xe57c09bc ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59192fb devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe59d924e debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xe5c569c0 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xe5cc3440 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xe5d85b50 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xe5de7f74 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xe5fcd921 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe6342bf6 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xe63434b7 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xe6484d77 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe64896da thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe6574b0a inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xe65d7e35 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xe6639855 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0xe66b1973 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xe672a259 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xe6739145 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xe67cf048 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xe680646a iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xe692ac26 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6a35f1c ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xe6a4fa9a device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xe6aa19a7 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0xe6aec0a7 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xe6b3a620 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe6d29cd0 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xe6ddeb5c iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xe6e20999 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6ef7904 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xe6f793b6 is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0xe70785e9 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xe7084827 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe70db389 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xe70dd2a9 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xe72614da usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe761218a __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7b0bdd1 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xe7b0d176 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xe7c12c74 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xe7cca7c4 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xe7d4721c fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7dacea9 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7f0feae sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe80be171 md_start +EXPORT_SYMBOL_GPL vmlinux 0xe815a363 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe8203381 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xe8206446 of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0xe821e4b8 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe866b47a usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xe87d8831 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xe8815994 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xe8851c13 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0xe887a21a pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xe8c0c429 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0xe8e314f5 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xe920da46 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xe92dedb0 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94810d7 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xe94870e0 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0xe957b448 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe968942f xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xe97fd534 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0xe9af74a8 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xe9be34de rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0xe9c68690 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xe9ca08cf __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xe9ce2c7e fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d26bc5 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xe9da77fa device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xe9f14a69 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xe9fe0146 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe9fe7312 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xea10ac04 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1735a9 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xea17a752 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xea1f6e0e hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xea2a9277 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea399e24 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xea5f18e3 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xea79265f sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xea88c866 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xea8d5d68 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xea9e7835 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xeac9ad5b __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead73761 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xead8cbf4 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae2f862 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xeae6b5d1 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xeae9b678 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xeaefd507 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xeaf35c87 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb35b72b xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb3da753 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xeb4cda01 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0xeb67611e get_device +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb7583d1 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xeb914f37 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xeb9e66f7 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0xeba2fe22 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xebbbd6dc pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xebbe1622 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe33437 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xebe5b059 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xebe81868 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xebf326b3 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xec07e80a security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xec1cddbf tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xec22879c pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xec35a3ac devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xec44edc4 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec61a8ac pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec73d0f2 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xec98249e devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0xecaafcdb of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0xecc4f186 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xed0e29e1 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xed18f982 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xed199a9f ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xed2940b1 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xed4a113b bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xed8bbe99 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0xed9a54fc sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xedb0e0df device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xede31f43 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xedee6c47 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xee00e387 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xee0a54c5 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xee225579 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee464f49 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee7744fe devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xee81453e tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xee816091 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0xee89d72c pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xee8eb60e usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xee928796 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xee9d088a led_put +EXPORT_SYMBOL_GPL vmlinux 0xeead4bd0 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xeeafcee3 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xeeb5b632 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xeebe73cb gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xeec12aa6 dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xeec3cc52 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xeecb1d6d firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xeed8091d mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedf183f trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xef0cfa40 device_register +EXPORT_SYMBOL_GPL vmlinux 0xef29608e adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2d249c dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0xef35454a task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xef35b309 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef509b77 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xef5ab4c7 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7a332e pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefad5127 udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0xefb17ea5 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xefb5f5b0 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xefbdeaf4 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0xefc4c912 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xefddb904 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff74d4b gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xeffb5725 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xf01555ff apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0xf02145ed alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xf024ce5c simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xf0328207 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xf03ef494 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xf07dbf12 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0xf07e00f5 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xf0882225 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09cfff7 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xf0b4a29b devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xf0b8716d edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xf0c52bbe mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0xf0d4f505 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xf0d7d4b5 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xf0e93c7d devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf0f0cc73 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xf105e43f blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xf1113d75 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xf11f9d8c proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0xf12b2050 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf143fcba crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xf15501c8 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xf1719793 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xf1736e30 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xf1741ce8 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xf1832fca bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18d2f92 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0xf19c6cae skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0xf1a95c78 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xf1b2f072 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1c43acf devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf1e7c121 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xf1e920ad skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0xf1fa497e debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xf20dae39 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf21c3ad6 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf2264bb5 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf23011e4 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xf23d6300 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xf241d9d4 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xf2486c73 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xf2514f10 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xf2596be6 iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xf2894689 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf297526f rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf2adcbf2 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0xf2ba8dbf __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xf2bd8116 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xf30e82c1 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf315456f account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf320179a kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xf328f223 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xf32ad212 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf332e20a pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xf3458656 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xf37f6ddd devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3886ca9 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xf3997ba4 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf3a5ac94 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xf3a948dd ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xf3aa6439 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xf3aab524 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf3b06d75 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xf3b4303e rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95f61 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf3ba7b58 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xf3bf6085 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0xf3cb148d phy_get +EXPORT_SYMBOL_GPL vmlinux 0xf3e01846 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xf3e1dc0d tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xf3e1e394 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xf3ea8cb2 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xf3fb8883 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xf414628a get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xf41bc102 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xf427add5 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf4280755 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf428f40e dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xf446563d vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xf44c394c fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf45a339b is_software_node +EXPORT_SYMBOL_GPL vmlinux 0xf4629811 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46bd5b1 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xf46ea242 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0xf48ceebd net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf494dfc7 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xf4a21278 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf4adc8f1 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b6af32 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xf4c14591 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xf4c207e8 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xf4c3558d __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4dbe3e9 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xf4de392d tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf5055244 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0xf50577fd metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5183f46 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf53632ca __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xf5370194 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xf5373cba rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54dbffb rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0xf557e9b6 page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf56114af nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xf56ad69f pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xf56d5dc6 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf5853ceb fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xf5945ac1 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xf59ee4a6 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b5ffa7 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xf5b7e6f6 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xf5c05594 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xf5c2c683 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5ee5576 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xf5f26fa7 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf61baa65 pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf63e9f56 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf65678ad skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xf65b5f8b i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6825b37 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0xf686190e phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0xf68cf4c7 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a956ff irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xf6af7b88 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0xf6bc1837 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6cf6381 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xf6d111d7 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf6d82b2c sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf6e25bf3 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f2ac33 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xf7293a9a wm8350_device_init +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 0xf765db90 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xf781737c mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xf788e54a nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xf791f918 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xf794ee38 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xf7a1c77a __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7bdbb63 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf8038903 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xf8072051 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xf80aa673 devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0xf82d87f5 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84010e3 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf85ef7d6 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xf86cc619 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf8a756b4 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0xf8dccde3 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xf8ea7fb1 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f573c7 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xf9088beb rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf9113ffe gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xf93066ab crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf93b4b8c device_link_add +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf9564bac usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xf96c987c key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xf96fc47e ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xf978bb17 d_exchange +EXPORT_SYMBOL_GPL vmlinux 0xf97be377 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xf97cb4ea tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xf993b5e9 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xf99d1041 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a9156b fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xf9bbd23e page_endio +EXPORT_SYMBOL_GPL vmlinux 0xf9bf06a6 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xf9ca07ad register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xf9ceff0f dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xf9fbd011 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xf9fdad73 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xfa0c48bb nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa45db38 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xfa4bc723 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfa51db91 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xfa5712bb debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa6d73b0 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfabb93e0 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfac4a86f to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xfad2a9cc fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xfad77f0d sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfada5523 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xfae35ed4 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xfae71b7a dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0xfb275def dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb625a5f dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0xfb77befb atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb8113fb pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0xfb819760 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xfb8882ca pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0xfb94d00f __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xfb9b3eb2 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xfb9c762c devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xfbaf3594 of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0xfbbc5800 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbcfd6d0 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfbda031b sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xfbfd0af8 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1959b7 platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc1d5e09 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc3973d8 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xfc3abd0f usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xfc3f6e88 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0xfc49f5f5 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xfc681d60 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0xfc69d102 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xfc6bc4d6 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc7538cc sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xfc7d0ab6 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xfc7df962 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xfc7e20b7 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xfc81ebf0 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xfc91033c devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xfc999f52 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xfc9ddf5b of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xfcbc87d0 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xfcc6f52b rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xfce42f37 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfd262945 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xfd2e03d7 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xfd46d65d pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0xfd49fe84 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xfd5e242c powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xfd974c02 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfdb6a5be usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdd27f98 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a65 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xfe270ee8 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfe2a39cd pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xfe34494c pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe48eecb __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xfe574169 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xfe5eb572 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe7d1417 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe8dca2e blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfea4efc4 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xfeadd7df security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0xfec27f63 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfec613d5 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed25e7a proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xfed2ed25 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfee25596 devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0xfee660a3 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xfeeb5a3f icc_put +EXPORT_SYMBOL_GPL vmlinux 0xfef5aa96 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0xfef9f28a irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff33b4dc rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xff45d7b6 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xff465848 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xff4f0e59 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xff5a0b53 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff622dba hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xff6e3e6f ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff89e7f3 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xff8e06ed dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0xffa65c6f devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0xffab6370 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffc3a20d regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xffc7bcf4 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xfff002f7 iomap_dio_iopoll +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x635a62b6 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xd07cec9f ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x2c4ff573 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2fbf3ab0 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3a40392f mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x56c27b9d mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5fbd58b1 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x71446e1b mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x788c3abf chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x79fa1334 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x95b41223 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc624571b mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xca305e37 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xcbe1a776 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd7c88536 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xdfee0017 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x05ed245d usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0aa7e837 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 0x1d0a08fe usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x22b3a58b usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x26bbad18 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x41e0ef15 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x53f7fb72 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x67270728 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6ec3aa44 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7680fe80 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb55eeb7b usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xbb9aafb4 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc1086cf7 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc76f0e01 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd8bc70e5 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdeca0deb usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe3b97e16 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf89dba4c usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf9d7c5be usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfcecbb5b usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfe2595bd usb_stor_probe1 drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-5ubuntu1~20.04) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.modules @@ -0,0 +1,5285 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +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_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +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-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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +android-goldfish +ansi_cprng +anubis +anybuss_core +aoe +apbps2 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arc-rawmode +arc-rimi +arc4 +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +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 +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-flexcom +atmel-hlcdc +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +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 +backlight +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bcm-keypad +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm7xxx +bcm84881 +bcm87xx +bcma +bcma-hcd +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmsmac +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +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_wdt +cafe_ccic +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +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 +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-rk808 +clk-s2mps11 +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-twl6040 +clk-versaclock5 +clk-wm831x +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobra +coda +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_parport +comedi_pci +comedi_test +comedi_usb +contec_pci_dio +cordic +core +cortina +cp210x +cpcap-adc +cpcap-battery +cpcap-pwrbutton +cpcap-regulator +cpia2 +cqhci +cramfs +crc32_generic +crc4 +crc64 +crc8 +cryptd +crypto_engine +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +des_generic +designware_i2s +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +display-connector +dl2k +dlci +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-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 +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +drm_panel_orientation_quirks +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 +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-i2s-audio +dw-i3c-master +dw9714 +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 +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 +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +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 +epic100 +eql +erofs +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fixed +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +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-mph-dr-of +fsl_lpuart +ftdi-elan +ftdi_sio +ftl +ftsteutates +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gdmtty +gdmulte +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish +goldfish_audio +goldfish_battery +goldfish_events +goldfish_pipe +goldfishfb +goodix +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-arizona +gpio-bd70528 +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +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 +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +hackrf +hamachi +hampshire +hanwang +hci +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfs +hfsplus +hi311x +hi556 +hi6210-i2s +hi6421-pmic-core +hi6421-regulator +hi6421v530-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +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 +hwmon-vid +hx711 +hx8357 +hx8357d +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-cbus-gpio +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-i801 +i2c-isch +i2c-kempld +i2c-matroxfb +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-xiic +i3c +i3c-master-cdns +i40e +i40iw +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 +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imon +imon_raw +ims-pcu +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +imx6ul_tsc +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iowarrior +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 +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 +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +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 +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +ldusb +lec +led-class-flash +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-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-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +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 +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 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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 +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +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 +mdio-xpcs +me4000 +me_daq +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 +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +mii +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlxfw +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_hsq +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi001 +msi2500 +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +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 +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 +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand_ecc +nandcore +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_pci +ni_pcidio +ni_pcimio +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 +ns +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +of-fpga-region +of_pmem +of_xilinx_wdt +ofb +ofpart +ohci-platform +omap4-keypad +omfs +omninet +onenand +opencores-kbd +openvswitch +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +parade-ps8622 +parade-ps8640 +parkbd +parman +parport +parport_ax88796 +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 +pblk +pc300too +pc87360 +pc87427 +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pfuze100-regulator +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +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 +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 +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm2fb +pm3fb +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305_generic +port100 +powermate +powr1220 +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-beeper +pwm-fan +pwm-fsl-ftm +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa27x_udc +pxe1610 +pxrc +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-cpr +qcom-emac +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcserial +qed +qede +qedf +qedi +qedr +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +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 +qxl +r592 +r6040 +r8152 +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar_dw_hdmi +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +roles +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +rtc-abx80x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-cadence +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-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-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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +rtc-twl +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +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 +sbs-battery +sbs-charger +sbs-manager +sc16is7xx +sc92031 +sca3000 +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 +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-cadence +sdhci-milbeaut +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +sha3_generic +shark2 +shiftfs +sht15 +sht21 +sht3x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smiapp +smiapp-pll +smipcie +smm665 +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +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-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-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-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-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +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-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-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-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-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-lochnagar-sc +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-nau8540 +snd-soc-nau8810 +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-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-rk3328 +snd-soc-rl6231 +snd-soc-rt1308-sdw +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +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-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-of +snd-sof-pci +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-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 +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +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-slave-system-control +spi-slave-time +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +sprd_serial +sps30 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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 +tgr192 +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-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_adc +vf610_dac +vfio +vfio-pci +vfio_mdev +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 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt-dma +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wd719x +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_emac +xilinx_gmii2rgmii +xilinx_uartps +xillybus_core +xillybus_of +xillybus_pcie +xlnx_vcu +xor +xpad +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 +yealink +yellowfin +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/abi/5.8.0-27.29~20.04.1/riscv64/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/changelog +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/changelog @@ -0,0 +1,12532 @@ +linux-riscv-5.8 (5.8.0-29.31~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-29.31 ] + + * UAF on CAN J1939 j1939_can_recv (LP: #1932209) + - SAUCE: can: j1939: delay release of j1939_priv after synchronize_rcu + * UAF on CAN BCM bcm_rx_handler (LP: #1931855) + - SAUCE: can: bcm: delay release of struct bcm_op after synchronize_rcu + * groovy/linux: 5.8.0-57.64 -proposed tracker (LP: #1932047) + * pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63 + (LP: #1931731) + - net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb + + -- Thadeu Lima de Souza Cascardo Wed, 16 Jun 2021 23:38:54 -0300 + +linux-riscv-5.8 (5.8.0-27.29~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-27.29~20.04.1 -proposed tracker (LP: #1930048) + + [ Ubuntu: 5.8.0-27.29 ] + + * groovy/linux-riscv: 5.8.0-27.29 -proposed tracker (LP: #1930050) + * groovy/linux: 5.8.0-56.63 -proposed tracker (LP: #1930052) + * Packaging resync (LP: #1786013) + - update dkms package versions + * scsi: storvsc: Parameterize number hardware queues (LP: #1930626) + - scsi: storvsc: Parameterize number hardware queues + * CVE-2021-33200 + - bpf: Wrap aux data inside bpf_sanitize_info container + - bpf: Fix mask direction swap upon off reg sign change + - bpf: No need to simulate speculative domain for immediates + * CVE-2021-3490 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: verifier: fix ALU32 bounds tracking with + bitwise ops" + - gpf: Fix alu32 const subreg bound tracking on bitwise operations + * CVE-2021-3489 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: prevent writable memory-mapping of read- + only ringbuf pages" + - bpf: Prevent writable memory-mapping of read-only ringbuf pages + * Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle + (LP: #1928242) + - USB: Verify the port status when timeout happens during port suspend + * CVE-2020-26145 + - ath10k: drop fragments with multicast DA for SDIO + - ath10k: add CCMP PN replay protection for fragmented frames for PCIe + - ath10k: drop fragments with multicast DA for PCIe + * CVE-2020-26141 + - ath10k: Fix TKIP Michael MIC verification for PCIe + * CVE-2020-24587 + - ath11k: Clear the fragment cache during key install + * CVE-2020-24588 + - mac80211: properly handle A-MSDUs that start with an RFC 1042 header + - cfg80211: mitigate A-MSDU aggregation attacks + - mac80211: drop A-MSDUs on old ciphers + - ath10k: drop MPDU which has discard flag set by firmware for SDIO + * CVE-2020-26139 + - mac80211: do not accept/forward invalid EAPOL frames + * CVE-2020-24586 // CVE-2020-24587 // CVE-2020-24587 for such cases. + - mac80211: extend protection against mixed key and fragment cache attacks + * CVE-2020-24586 // CVE-2020-24587 + - mac80211: prevent mixed key and fragment cache attacks + - mac80211: add fragment cache to sta_info + - mac80211: check defrag PN against current frame + - mac80211: prevent attacks on TKIP/WEP as well + * CVE-2020-26147 + - mac80211: assure all fragments are encrypted + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull the code that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: remove unnecessary discard limits for raid0 and raid10 + * [SRU] mpt3sas: only one vSES is handy even IOC has multi vSES (LP: #1926517) + - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES + * CVE-2021-23133 + - sctp: delay auto_asconf init until binding the first addr + * kvm: properly tear down PV features on hibernate (LP: #1920944) + - x86/kvm: Fix pr_info() for async PF setup/teardown + - x86/kvm: Teardown PV features on boot CPU as well + - x86/kvm: Disable kvmclock on all CPUs on shutdown + - x86/kvm: Disable all PV features on crash + - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() + * CVE-2021-31440 + - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + * [SRU] Patch for flicker and glitching on common LCD display panels, intel + framebuffer (LP: #1925685) + - drm/i915: Try to use fast+narrow link on eDP again and fall back to the old + max strategy on failure + - drm/i915/dp: Use slow and wide link training for everything + * pmtu.sh from net in ubuntu_kernel_selftests failed with no error message + (LP: #1887661) + - selftests: pmtu.sh: use $ksft_skip for skipped return code + * IR Remote Keys Repeat Many Times Starting with Kernel 5.8.0-49 + (LP: #1926030) + - SAUCE: Revert "media: rc: ite-cir: fix min_timeout calculation" + - SAUCE: Revert "media: rc: fix timeout handling after switch to microsecond + durations" + * Groovy update: upstream stable patchset 2021-05-20 (LP: #1929132) + - Input: nspire-keypad - enable interrupts only when opened + - gpio: sysfs: Obey valid_mask + - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback + - dmaengine: idxd: fix delta_rec and crc size field for completion record + - dmaengine: idxd: fix opcap sysfs attribute output + - dmaengine: idxd: fix wq size store permission state + - dmaengine: dw: Make it dependent to HAS_IOMEM + - dmaengine: Fix a double free in dma_async_device_register + - dmaengine: plx_dma: add a missing put_device() on error path + - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() + - ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race + - ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 + - lockdep: Add a missing initialization hint to the "INFO: Trying to register + non-static key" message + - arc: kernel: Return -EFAULT if copy_to_user() fails + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() + - xfrm: BEET mode doesn't support fragments for inner packets + - ASoC: max98373: Added 30ms turn on/off time delay + - gpu/xen: Fix a use after free in xen_drm_drv_init + - neighbour: Disregard DEAD dst in neigh_update + - ARM: keystone: fix integer overflow warning + - ARM: omap1: fix building with clang IAS + - drm/msm: Fix a5xx/a6xx timestamps + - ASoC: fsl_esai: Fix TDM slot setup for I2S mode + - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state + - iwlwifi: add support for Qu with AX201 device + - net: ieee802154: stop dump llsec keys for monitors + - net: ieee802154: forbid monitor for add llsec key + - net: ieee802154: forbid monitor for del llsec key + - net: ieee802154: stop dump llsec devs for monitors + - net: ieee802154: forbid monitor for add llsec dev + - net: ieee802154: forbid monitor for del llsec dev + - net: ieee802154: stop dump llsec devkeys for monitors + - net: ieee802154: forbid monitor for add llsec devkey + - net: ieee802154: forbid monitor for del llsec devkey + - net: ieee802154: stop dump llsec seclevels for monitors + - net: ieee802154: forbid monitor for add llsec seclevel + - pcnet32: Use pci_resource_len to validate PCI resource + - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN + - virt_wifi: Return micros for BSS TSF values + - lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS + - Input: s6sy761 - fix coordinate read bit shift + - Input: i8042 - fix Pegatron C15B ID entry + - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices + - dm verity fec: fix misaligned RS roots IO + - readdir: make sure to verify directory entry for legacy interfaces too + - arm64: fix inline asm in load_unaligned_zeropad() + - arm64: alternatives: Move length validation in alternative_{insn, endif} + - vfio/pci: Add missing range check in vfio_pci_mmap + - riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" + - scsi: libsas: Reset num_scatter if libata marks qc as NODATA + - netfilter: flowtable: fix NAT IPv6 offload mangling + - netfilter: conntrack: do not print icmpv6 as unknown via /proc + - ice: Fix potential infinite loop when using u8 loop counter + - libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC + - netfilter: bridge: add pre_exit hooks for ebtable unregistration + - netfilter: arp_tables: add pre_exit hook for table unregister + - net: macb: fix the restore of cmp registers + - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta + - netfilter: nft_limit: avoid possible divide error in nft_limit_init + - net/mlx5e: Fix setting of RS FEC mode + - net: davicom: Fix regulator not turned off on failed probe + - net: sit: Unregister catch-all devices + - net: ip6_tunnel: Unregister catch-all devices + - mm: ptdump: fix build failure + - net: Make tcp_allowed_congestion_control readonly in non-init netns + - i40e: fix the panic when running bpf in xdpdrv mode + - ia64: remove duplicate entries in generic_defconfig + - ia64: tools: remove inclusion of ia64-specific version of errno.h header + - ibmvnic: avoid calling napi_disable() twice + - ibmvnic: remove duplicate napi_schedule call in do_reset function + - ibmvnic: remove duplicate napi_schedule call in open function + - gro: ensure frag0 meets IP header alignment + - ARM: OMAP2+: Fix warning for omap_init_time_of() + - ARM: footbridge: fix PCI interrupt mapping + - ARM: OMAP2+: Fix uninitialized sr_inst + - arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems + - arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference + - bpf: Use correct permission flag for mixed signed bounds arithmetic + - r8169: tweak max read request size for newer chips also in jumbo mtu mode + - r8169: don't advertise pause in jumbo mode + - bpf: Ensure off_reg has no mixed signed bounds for all types + - bpf: Move off_reg into sanitize_ptr_alu + - ARM: 9071/1: uprobes: Don't hook on thumb instructions + - bpf: Rework ptr_limit into alu_limit and add common error path + - bpf: Improve verifier error messages for users + - bpf: Move sanitize_val_alu out of op switch + - net: phy: marvell: fix detection of PHY on Topaz switches + - vhost-vdpa: protect concurrent access to vhost device iotlb + - gpio: omap: Save and restore sysconfig + - KEYS: trusted: Fix TPM reservation for seal/unseal + - pinctrl: lewisburg: Update number of pins in community + - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS + - bpf: Permits pointers on stack for helper calls + - bpf: Refactor and streamline bounds check into helper + - bpf: Tighten speculative pointer arithmetic mask + - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 + - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] + - perf auxtrace: Fix potential NULL pointer dereference + - perf map: Fix error return code in maps__clone() + - HID: google: add don USB id + - HID: alps: fix error return code in alps_input_configured() + - HID: wacom: Assign boolean values to a bool variable + - ARM: dts: Fix swapped mmc order for omap3 + - net: geneve: check skb is large enough for IPv4/IPv6 header + - dmaengine: tegra20: Fix runtime PM imbalance on error + - s390/entry: save the caller of psw_idle + - arm64: kprobes: Restore local irqflag if kprobes is cancelled + - xen-netback: Check for hotplug-status existence before watching + - cavium/liquidio: Fix duplicate argument + - kasan: fix hwasan build for gcc + - csky: change a Kconfig symbol name to fix e1000 build error + - ia64: fix discontig.c section mismatches + - ia64: tools: remove duplicate definition of ia64_mf() on ia64 + - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access + - 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() + - mei: me: add Alder Lake P device id. + - bpf: Update selftests to reflect new error states + - mips: Do not include hi and lo in clobber list for R6 + - netfilter: conntrack: Make global sysctls readonly in non-init netns + - net: usb: ax88179_178a: initialize local variables before use + - igb: Enable RSS for Intel I211 Ethernet Controller + - bpf: Fix masking negation logic upon negative dst register + - bpf: Fix leakage of uninitialized bpf stack under speculation + - net: qrtr: Avoid potential use after free in MHI send + - perf data: Fix error return code in perf_data__create_dir() + - capabilities: require CAP_SETFCAP to map uid 0 + - perf ftrace: Fix access to pid in array when setting a pid filter + - driver core: add a min_align_mask field to struct device_dma_parameters + - swiotlb: add a IO_TLB_SIZE define + - swiotlb: factor out an io_tlb_offset helper + - swiotlb: factor out a nr_slots helper + - swiotlb: clean up swiotlb_tbl_unmap_single + - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single + - ovl: fix leaked dentry + - ovl: allow upperdir inside lowerdir + - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX + - USB: Add reset-resume quirk for WD19's Realtek Hub + - platform/x86: thinkpad_acpi: Correct thermal sensor allocation + - perf/core: Fix unconditional security_locked_down() call + - vfio: Depend on MMU + - avoid __memcat_p link failure + * r8152 tx status -71 (LP: #1922651) // Groovy update: upstream stable + patchset 2021-05-20 (LP: #1929132) + - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet + * Fix kdump failures (LP: #1927518) + - video: hyperv_fb: Add ratelimit on error message + - Drivers: hv: vmbus: Increase wait time for VMbus unload + - Drivers: hv: vmbus: Initialize unload_event statically + * Groovy update: upstream stable patchset 2021-05-13 (LP: #1928386) + - ALSA: aloop: Fix initialization of controls + - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 + - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model + - ASoC: intel: atom: Stop advertising non working S24LE support + - nfc: fix refcount leak in llcp_sock_bind() + - nfc: fix refcount leak in llcp_sock_connect() + - nfc: fix memory leak in llcp_sock_connect() + - nfc: Avoid endless loops caused by repeated llcp_sock_connect() + - selinux: make nslot handling in avtab more robust + - xen/evtchn: Change irq_info lock to raw_spinlock_t + - net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh + - net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock + - net: dsa: lantiq_gswip: Don't use PHY auto polling + - net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits + - drm/i915: Fix invalid access to ACPI _DSM objects + - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m + - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS + - LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late + - gcov: re-fix clang-11+ support + - ia64: fix user_stack_pointer() for ptrace() + - nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff + - ocfs2: fix deadlock between setattr and dio_end_io_write + - fs: direct-io: fix missing sdio->boundary + - ethtool: fix incorrect datatype in set_eee ops + - of: property: fw_devlink: do not link ".*,nr-gpios" + - parisc: parisc-agp requires SBA IOMMU driver + - parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers + - ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin + - batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field + - ice: Increase control queue timeout + - ice: prevent ice_open and ice_stop during reset + - ice: remove DCBNL_DEVRESET bit from PF state + - ice: Fix for dereference of NULL pointer + - ice: Cleanup fltr list in case of allocation issues + - iwlwifi: pcie: properly set LTR workarounds on 22000 devices + - net: hso: fix null-ptr-deref during tty device unregistration + - libbpf: Fix bail out from 'ringbuf_process_ring()' on error + - bpf: Enforce that struct_ops programs be GPL-only + - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET + - ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx + - libbpf: Only create rx and tx XDP rings when necessary + - bpf, sockmap: Fix sk->prot unhash op reset + - net: ensure mac header is set in virtio_net_hdr_to_skb() + - i40e: Fix sparse warning: missing error code 'err' + - i40e: Fix sparse error: 'vsi->netdev' could be null + - i40e: Fix sparse errors in i40e_txrx.c + - net: sched: sch_teql: fix null-pointer dereference + - net: sched: fix action overwrite reference counting + - mac80211: fix TXQ AC confusion + - net: hsr: Reset MAC header for Tx path + - net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() + - net: let skb_orphan_partial wake-up waiters. + - usbip: add sysfs_lock to synchronize sysfs code paths + - usbip: stub-dev synchronize sysfs code paths + - usbip: vudc synchronize sysfs code paths + - usbip: synchronize event handler with sysfs code paths + - driver core: Fix locking bug in deferred_probe_timeout_work_func() + - scsi: target: iscsi: Fix zero tag inside a trace event + - i2c: turn recovery error on init to debug + - ice: Refactor DCB related variables out of the ice_port_info struct + - ice: Recognize 860 as iSCSI port in CEE mode + - xfrm: interface: fix ipv4 pmtu check to honor ip header df + - xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume + - regulator: bd9571mwv: Fix AVS and DVFS voltage range + - ARM: OMAP4: Fix PMIC voltage domains for bionic + - ARM: OMAP4: PM: update ROM return address for OSWR and OFF + - net: xfrm: Localize sequence counter per network namespace + - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload + - ASoC: SOF: Intel: HDA: fix core status verification + - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips + - xfrm: Fix NULL pointer dereference on policy lookup + - virtchnl: Fix layout of RSS structures + - i40e: Added Asym_Pause to supported link modes + - i40e: Fix kernel oops when i40e driver removes VF's + - hostfs: fix memory handling in follow_link() + - amd-xgbe: Update DMA coherency values + - sch_red: fix off-by-one checks in red_check_params() + - arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 + - xfrm: Provide private skb extensions for segmented and hw offloaded ESP + packets + - can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE + - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation + - ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso + - gianfar: Handle error code at MAC address change + - cxgb4: avoid collecting SGE_QBASE regs during traffic + - net:tipc: Fix a double free in tipc_sk_mcast_rcv + - ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces + - net/ncsi: Avoid channel_monitor hrtimer deadlock + - net: qrtr: Fix memory leak on qrtr_tx_wait failure + - nfp: flower: ignore duplicate merge hints from FW + - net: phy: broadcom: Only advertise EEE for supported modes + - I2C: JZ4780: Fix bug for Ingenic X1000. + - ASoC: sunxi: sun4i-codec: fill ASoC card owner + - net/mlx5e: Fix ethtool indication of connector type + - net/mlx5: Don't request more than supported EQs + - net/rds: Fix a use after free in rds_message_map_pages + - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model + - soc/fsl: qbman: fix conflicting alignment attributes + - i40e: Fix display statistics for veb_tc + - RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session + files + - drm/msm: Set drvdata to NULL when msm_drm_init() fails + - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); + - mptcp: forbit mcast-related sockopt on MPTCP sockets + - scsi: ufs: core: Fix task management request completion timeout + - scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs + - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb + - net: macb: restore cmp registers on resume path + - clk: fix invalid usage of list cursor in register + - clk: fix invalid usage of list cursor in unregister + - workqueue: Move the position of debug_work_activate() in __queue_work() + - s390/cpcmd: fix inline assembly register clobbering + - perf inject: Fix repipe usage + - net: openvswitch: conntrack: simplify the return expression of + ovs_ct_limit_get_default_limit() + - openvswitch: fix send of uninitialized stack memory in ct limit reply + - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set + - tipc: increment the tmp aead refcnt before attaching it + - net: hns3: clear VF down state bit before request link status + - net/mlx5: Fix placement of log_max_flow_counter + - net/mlx5: Fix PPLM register mapping + - net/mlx5: Fix PBMC register mapping + - RDMA/cxgb4: check for ipv6 address properly while destroying listener + - perf report: Fix wrong LBR block sorting + - i40e: Fix parameters in aq_get_phy_register() + - RDMA/addr: Be strict with gid size + - RAS/CEC: Correct ce_add_elem()'s returned values + - clk: socfpga: fix iomem pointer cast on 64-bit + - lockdep: Address clang -Wformat warning printing for %hd + - dt-bindings: net: ethernet-controller: fix typo in NVMEM + - cfg80211: remove WARN_ON() in cfg80211_sme_connect + - net: tun: set tun->dev->addr_len during TUNSETLINK processing + - drivers: net: fix memory leak in atusb_probe + - drivers: net: fix memory leak in peak_usb_create_dev + - net: mac802154: Fix general protection fault + - net: ieee802154: nl-mac: fix check on panid + - net: ieee802154: fix nl802154 del llsec key + - net: ieee802154: fix nl802154 del llsec dev + - net: ieee802154: fix nl802154 add llsec key + - net: ieee802154: fix nl802154 del llsec devkey + - net: ieee802154: forbid monitor for set llsec params + - net: ieee802154: forbid monitor for del llsec seclevel + - net: ieee802154: stop dump llsec params for monitors + - interconnect: core: fix error return code of icc_link_destroy() + - gfs2: Flag a withdraw if init_threads() fails + - KVM: arm64: Hide system instruction access to Trace registers + - KVM: arm64: Disable guest access to trace filter controls + - drm/imx: imx-ldb: fix out of bounds array access warning + - gfs2: report "already frozen/thawed" errors + - ftrace: Check if pages were allocated before calling free_pages() + - tools/kvm_stat: Add restart delay + - drm/tegra: dc: Don't set PLL clock to 0Hz + - gpu: host1x: Use different lock classes for each client + - block: only update parent bi_status when bio fail + - radix tree test suite: Register the main thread with the RCU library + - idr test suite: Take RCU read lock in idr_find_test_1 + - idr test suite: Create anchor before launching throbber + - io_uring: don't mark S_ISBLK async work as unbounded + - riscv,entry: fix misaligned base for excp_vect_table + - block: don't ignore REQ_NOWAIT for direct IO + - perf map: Tighten snprintf() string precision to pass gcc check on some + 32-bit arches + - net: sfp: relax bitrate-derived mode check + - net: sfp: cope with SFPs that set both LOS normal and LOS inverted + - xen/events: fix setting irq affinity + - perf tools: Use %zd for size_t printf formats on 32-bit + * groovy/linux: 5.8.0-55.62 -proposed tracker (LP: #1930379) + * [Potential Regression] Unable to create KVM with uvtool on Groovy ARM64 + (LP: #1929925) + - SAUCE: KVM: arm64: Assign kvm_ipa_limit + + -- Tim Gardner Tue, 08 Jun 2021 09:08:47 -0600 + +linux-riscv-5.8 (5.8.0-26.28~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-26.28~20.04.1 -proposed tracker (LP: #1927589) + + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - [Packaging] riscv-5.8: update modules for rc-cec + + [ Ubuntu: 5.8.0-26.28 ] + + * groovy/linux-riscv: 5.8.0-26.28 -proposed tracker (LP: #1927590) + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - [Packaging] riscv: update modules for rc-cec + - [Config] riscv: updateconfigs for PCIE_BW + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - [Packaging] riscv: update for industrialio-buffer-dma + * groovy/linux: 5.8.0-54.61 -proposed tracker (LP: #1927592) + * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq + (LP: #1925522) + - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + * netfilter: x_tables: fix compat match/target pad out-of-bound write + (LP: #1927682) + - netfilter: x_tables: fix compat match/target pad out-of-bound write + * Groovy update: upstream stable patchset 2021-05-04 (LP: #1927150) + - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb + - net: fec: ptp: avoid register access when ipg clock is disabled + - powerpc/4xx: Fix build errors from mfdcr() + - atm: eni: dont release is never initialized + - atm: lanai: dont run lanai_dev_close if not open + - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" + - ALSA: hda: ignore invalid NHLT table + - ixgbe: Fix memleak in ixgbe_configure_clsu32 + - scsi: ufs: ufs-qcom: Disable interrupt in reset path + - blk-cgroup: Fix the recursive blkg rwstat + - net: tehuti: fix error return code in bdx_probe() + - net: intel: iavf: fix error return code of iavf_init_get_resources() + - sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count + - cifs: ask for more credit on async read/write code paths + - gfs2: fix use-after-free in trans_drain + - cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev + - gpiolib: acpi: Add missing IRQF_ONESHOT + - nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default + - NFS: Correct size calculation for create reply length + - net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() + - net: wan: fix error return code of uhdlc_init() + - net: davicom: Use platform_get_irq_optional() + - net: enetc: set MAC RX FIFO to recommended value + - atm: uPD98402: fix incorrect allocation + - atm: idt77252: fix null-ptr-dereference + - cifs: change noisy error message to FYI + - irqchip/ingenic: Add support for the JZ4760 + - kbuild: add image_name to no-sync-config-targets + - kbuild: dummy-tools: fix inverted tests for gcc + - umem: fix error return code in mm_pci_probe() + - sparc64: Fix opcode filtering in handling of no fault loads + - habanalabs: Call put_pid() when releasing control device + - staging: rtl8192e: fix kconfig dependency on CRYPTO + - u64_stats,lockdep: Fix u64_stats_init() vs lockdep + - regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck + - block: Fix REQ_OP_ZONE_RESET_ALL handling + - drm/amd/display: Revert dram_clock_change_latency for DCN2.1 + - drm/amdgpu: fb BO should be ttm_bo_type_device + - drm/radeon: fix AGP dependency + - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() + - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() + - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted + - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done + - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a + - nfs: we don't support removing system.nfs4_acl + - block: Suppress uevent for hidden device when removed + - ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls + - ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign + - netsec: restore phy power state after controller reset + - platform/x86: intel-vbtn: Stop reporting SW_DOCK events + - psample: Fix user API breakage + - z3fold: prevent reclaim/free race for headless pages + - squashfs: fix inode lookup sanity checks + - squashfs: fix xattr id and id lookup sanity checks + - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings + - kasan: fix per-page tags for non-page_alloc pages + - gcov: fix clang-11+ support + - ACPI: video: Add missing callback back for Sony VPCEH3U1E + - ACPICA: Always create namespace nodes using acpi_ns_create_node() + - arm64: dts: ls1046a: mark crypto engine dma coherent + - arm64: dts: ls1012a: mark crypto engine dma coherent + - arm64: dts: ls1043a: mark crypto engine dma coherent + - ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C + - ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet + - ARM: dts: at91-sama5d27_som1: fix phy address to 7 + - integrity: double check iint_cache was initialized + - drm/amd/pm: workaround for audio noise issue + - drm/i915: Fix the GT fence revocation runtime PM logic + - dm verity: fix DM_VERITY_OPTS_MAX value + - dm ioctl: fix out of bounds array access when no devices + - bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD + - ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data + - soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva + - veth: Store queue_mapping independently of XDP prog presence + - libbpf: Fix INSTALL flag order + - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets + - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs + - net/mlx5e: Don't match on Geneve options in case option masks are all zero + - ipv6: fix suspecious RCU usage warning + - macvlan: macvlan_count_rx() needs to be aware of preemption + - net: sched: validate stab values + - net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port + - igc: reinit_locked() should be called with rtnl_lock + - igc: Fix Pause Frame Advertising + - igc: Fix Supported Pause Frame Link Setting + - igc: Fix igc_ptp_rx_pktstamp() + - e1000e: add rtnl_lock() to e1000_reset_task + - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 + - net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template + - net: phy: broadcom: Add power down exit reset state delay + - ftgmac100: Restart MAC HW once + - clk: qcom: gcc-sc7180: Use floor ops for the correct sdcc1 clk + - net: ipa: terminate message handler arrays + - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() + - flow_dissector: fix byteorder of dissected ICMP ID + - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed + - netfilter: ctnetlink: fix dump of the expect mask attribute + - net: hdlc_x25: Prevent racing between "x25_close" and "x25_xmit"/"x25_rx" + - tcp: relookup sock for RST+ACK packets handled by obsolete req sock + - can: peak_usb: add forgotten supported devices + - can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate + - can: kvaser_pciefd: Always disable bus load reporting + - can: c_can_pci: c_can_pci_remove(): fix use-after-free + - can: c_can: move runtime PM enable/disable to c_can_platform + - can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning + - can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors + - mac80211: fix rate mask reset + - mac80211: Allow HE operation to be longer than expected. + - selftests/net: fix warnings on reuseaddr_ports_exhausted + - nfp: flower: add ipv6 bit to pre_tunnel control message + - nfp: flower: fix pre_tun mask id allocation + - ftrace: Fix modify_ftrace_direct. + - ionic: linearize tso skb with too many frags + - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags + - netfilter: nftables: allow to update flowtable flags + - netfilter: flowtable: Make sure GC works periodically in idle system + - libbpf: Use SOCK_CLOEXEC when opening the netlink socket + - ipv6: weaken the v4mapped source check + - octeontx2-af: Formatting debugfs entry rsrc_alloc. + - octeontx2-af: Fix irq free in rvu teardown + - octeontx2-pf: Clear RSS enable flag on interace down + - octeontx2-af: fix infinite loop in unmapping NPC counter + - net: check all name nodes in __dev_alloc_name + - net: cdc-phonet: fix data-interface release on probe failure + - r8152: limit the RX buffer size of RTL8153A for USB 2.0 + - net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes + - selinux: vsock: Set SID for socket returned by accept() + - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value + - libbpf: Fix BTF dump of pointer-to-array-of-struct + - drm/msm: fix shutdown hook in case GPU components failed to bind + - arm64: kdump: update ppos when reading elfcorehdr + - PM: runtime: Defer suspending suppliers + - net/mlx5: Add back multicast stats for uplink representor + - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP + - net/mlx5e: Fix error path for ethtool set-priv-flag + - PM: EM: postpone creating the debugfs dir till fs_initcall + - net: bridge: don't notify switchdev for local FDB addresses + - octeontx2-af: Fix memory leak of object buf + - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening + server + - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs + - net: Consolidate common blackhole dst ops + - net, bpf: Fix ip6ip6 crash with collect_md populated skbs + - net: phy: introduce phydev->port + - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() + - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S + - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M + - dm table: Fix zoned model check and zone sectors check + - mm/mmu_notifiers: ensure range_end() is paired with range_start() + - ACPI: scan: Rearrange memory allocation in acpi_device_add() + - ACPI: scan: Use unique number for instance_no + - perf auxtrace: Fix auxtrace queue conflict + - perf synthetic events: Avoid write of uninitialized memory when generating + PERF_RECORD_MMAP* records + - block: recalculate segment count for multi-segment discards correctly + - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" + - scsi: qedi: Fix error return code of qedi_alloc_global_queues() + - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() + - smb3: fix cached file size problems in duplicate extents (reflink) + - locking/mutex: Fix non debug version of mutex_lock_io_nested() + - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() + - can: dev: Move device back to init netns on owning netns delete + - net: dsa: b53: VLAN filtering is global to all users + - mac80211: fix double free in ibss_leave + - ext4: add reclaim checks to xattr code + - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" + - xen-blkback: don't leak persistent grants from xen_blkbk_map() + - arm64: mm: correct the inside linear map range during hotplug check + - ext4: shrink race window in ext4_should_retry_alloc() + - ext4: fix bh ref count on error paths + - fs: nfsd: fix kconfig dependency warning for NFSD_V4 + - rpc: fix NULL dereference on kmalloc failure + - iomap: Fix negative assignment to unsigned sis->pages in + iomap_swapfile_activate + - ASoC: rt1015: fix i2c communication error + - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe + - ASoC: es8316: Simplify adc_pga_gain_tlv table + - ASoC: soc-core: Prevent warning if no DMI table is present + - ASoC: cs42l42: Fix Bitclock polarity inversion + - ASoC: cs42l42: Fix channel width support + - ASoC: cs42l42: Fix mixer volume control + - ASoC: cs42l42: Always wait at least 3ms after reset + - NFSD: fix error handling in NFSv4.0 callbacks + - kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing + - vhost: Fix vhost_vq_reset() + - io_uring: fix ->flags races by linked timeouts + - scsi: st: Fix a use after free in st_open() + - scsi: qla2xxx: Fix broken #endif placement + - staging: comedi: cb_pcidas: fix request_irq() warn + - staging: comedi: cb_pcidas64: fix request_irq() warn + - ASoC: rt5659: Update MCLK rate in set_sysclk() + - ASoC: rt711: add snd_soc_component remove callback + - thermal/core: Add NULL pointer check before using cooling device stats + - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling + - locking/ww_mutex: Fix acquire/release imbalance in + ww_acquire_init()/ww_acquire_fini() + - nvmet-tcp: fix kmap leak when data digest in use + - ext4: do not iput inode under running transaction in ext4_rename() + - net: mvpp2: fix interrupt mask/unmask skip condition + - flow_dissector: fix TTL and TOS dissection on IPv4 fragments + - can: dev: move driver related infrastructure into separate subdir + - net: introduce CAN specific pointer in the struct net_device + - can: tcan4x5x: fix max register value + - brcmfmac: clear EAP/association status bits on linkdown events + - netdevsim: dev: Initialize FIB module after debugfs + - iwlwifi: pcie: don't disable interrupts for reg_lock + - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() + - net: ethernet: aquantia: Handle error cleanup of start on open + - appletalk: Fix skb allocation size in loopback case + - net: ipa: remove two unused register definitions + - net: ipa: fix register write command validation + - net: wan/lmc: unregister device when no matching device is found + - net: 9p: advance iov on empty read + - bpf: Remove MTU check in __bpf_skb_max_len + - ACPI: tables: x86: Reserve memory occupied by ACPI tables + - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() + - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect + - ALSA: hda: Re-add dropped snd_poewr_change_state() calls + - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks + - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 + - xtensa: fix uaccess-related livelock in do_page_fault + - xtensa: move coprocessor_flush to the .text section + - PM: runtime: Fix race getting/putting suppliers at probe + - PM: runtime: Fix ordering in pm_runtime_get_suppliers() + - tracing: Fix stack trace event size + - mm: fix race by making init_zero_pfn() early_initcall + - drm/amdkfd: dqm fence memory corruption + - drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() + - drm/amdgpu: check alignment on CPU page for bo map + - reiserfs: update reiserfs_xattrs_initialized() condition + - drm/tegra: dc: Restore coupling of display controllers + - drm/tegra: sor: Grab runtime PM reference across reset + - vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends + - pinctrl: rockchip: fix restore error in resume + - extcon: Add stubs for extcon_register_notifier_all() functions + - extcon: Fix error handling in extcon_dev_register + - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield + - video: hyperv_fb: Fix a double free in hvfb_probe + - firewire: nosy: Fix a use-after-free bug in nosy_ioctl() + - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() + - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem + - usb: musb: Fix suspend with devices connected for a64 + - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI + - cdc-acm: fix BREAK rx code path adding necessary calls + - USB: cdc-acm: untangle a circular dependency between callback and softint + - USB: cdc-acm: downgrade message to debug + - USB: cdc-acm: fix double free on probe failure + - USB: cdc-acm: fix use-after-free after probe failure + - usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference + - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. + - usb: dwc2: Prevent core suspend when port connection flag is 0 + - staging: rtl8192e: Fix incorrect source in memcpy() + - staging: rtl8192e: Change state information from u16 to u8 + - drivers: video: fbcon: fix NULL dereference in fbcon_cursor() + - Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for + freezing" + - ARM: dts: am33xx: add aliases for mmc interfaces + - bus: ti-sysc: Fix warning on unbind if reset is not deasserted + - platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 + - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp + - net/mlx5e: Enforce minimum value check for ICOSQ size + - net: pxa168_eth: Fix a potential data race in pxa168_eth_remove + - kunit: tool: Fix a python tuple typing error + - mISDN: fix crash in fritzpci + - mac80211: Check crypto_aead_encrypt for errors + - mac80211: choose first enabled channel for monitor + - drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs + - drm/msm: Ratelimit invalid-fence message + - netfilter: conntrack: Fix gre tunneling over ipv6 + - netfilter: nftables: skip hook overlap logic if flowtable is stale + - net: ipa: fix init header command validation + - platform/x86: thinkpad_acpi: Allow the FnLock LED to change state + - x86/build: Turn off -fcf-protection for realmode targets + - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms + - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() + - selftests/vm: fix out-of-tree build + - ia64: mca: allocate early mca with GFP_ATOMIC + - ia64: fix format strings for err_inject + - cifs: revalidate mapping when we open files for SMB1 POSIX + - cifs: Silently ignore unknown oplock break handle + - init/Kconfig: make COMPILE_TEST depend on !S390 + - init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM + - nvme-mpath: replace direct_make_request with generic_make_request + * Enable CIFS GCM256 (LP: #1921916) + - smb3: add defines for new crypto algorithms + - smb3.1.1: add new module load parm require_gcm_256 + - smb3.1.1: add new module load parm enable_gcm_256 + - smb3.1.1: print warning if server does not support requested encryption type + - smb3.1.1: rename nonces used for GCM and CCM encryption + - smb3.1.1: set gcm256 when requested + - cifs: Adjust key sizes and key generation routines for AES256 encryption + * locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (LP: #1926184) + - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() + * Make AMD gpus choose YCbCr420 encoding automatically when required for 4k + 60Hz output (LP: #1922754) + - drm/amd/display: Try YCbCr420 color when YCbCr444 fails + * [Ubuntu 21.04] net/mlx5: Fix HW spec violation configuring uplink + (LP: #1925452) + - net/mlx5: Fix HW spec violation configuring uplink + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - crypto: aesni - Use TEST %reg,%reg instead of CMP $0,%reg + - crypto: x86/aes-ni-xts - use direct calls to and 4-way stride + - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes + - fuse: fix live lock in fuse_iget() + - ALSA: usb-audio: Don't avoid stopping the stream at disconnection + - net: dsa: b53: Support setting learning on port + - KVM: arm64: nvhe: Save the SPE context early + - drm/i915/gvt: Set SNOOP for PAT3 on BXT/APL to workaround GPU BB hang + - drm/i915/gvt: Fix mmio handler break on BXT/APL. + - drm/i915/gvt: Fix virtual display setup for BXT/APL + - drm/i915/gvt: Fix vfio_edid issue for BXT/APL + - ASoC: ak4458: Add MODULE_DEVICE_TABLE + - ASoC: ak5558: Add MODULE_DEVICE_TABLE + - ALSA: dice: fix null pointer dereference when node is disconnected + - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro + - ALSA: hda: generic: Fix the micmute led init state + - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air + - s390/pci: refactor zpci_create_device() + - s390/pci: remove superfluous zdev->zbus check + - s390/pci: fix leak of PCI device structure + - zonefs: Fix O_APPEND async write handling + - zonefs: prevent use of seq files as swap file + - btrfs: fix race when cloning extent buffer during rewind of an old root + - btrfs: fix slab cache flags for free space tree bitmap + - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails + - ASoC: fsl_ssi: Fix TDM slot setup for I2S mode + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold + - ASoC: SOF: Intel: unregister DMIC device on probe error + - ASoC: SOF: intel: fix wrong poll bits in dsp power down + - ASoC: qcom: sdm845: Fix array out of bounds access + - ASoC: qcom: sdm845: Fix array out of range on rx slim channels + - ASoC: codecs: wcd934x: add a sanity check in set channel map + - ASoC: qcom: lpass-cpu: Fix lpass dai ids parse + - ASoC: simple-card-utils: Do not handle device clock + - afs: Fix accessing YFS xattrs on a non-YFS server + - afs: Stop listxattr() from listing "afs.*" attributes + - nvme: fix Write Zeroes limitations + - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled + - nvme-tcp: fix possible hang when failing to set io queues + - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU + - nvmet: don't check iosqes,iocqes for discovery controllers + - nfsd: Don't keep looking up unhashed files in the nfsd file cache + - nfsd: don't abort copies early + - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. + - NFSD: fix dest to src mount in inter-server COPY + - svcrdma: disable timeouts on rdma backchannel + - vfio: IOMMU_API should be selected + - sunrpc: fix refcount leak for rpc auth modules + - i915/perf: Start hrtimer only if sampling the OA buffer + - pstore: Fix warning in pstore_kill_sb() + - net/qrtr: fix __netdev_alloc_skb call + - kbuild: Fix for empty SUBLEVEL or PATCHLEVEL again + - cifs: fix allocation size on newly created files + - riscv: Correct SPARSEMEM configuration + - scsi: lpfc: Fix some error codes in debugfs + - scsi: myrs: Fix a double free in myrs_cleanup() + - RISC-V: correct enum sbi_ext_rfence_fid + - counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED + - nvme-rdma: fix possible hang when failing to set io queues + - ibmvnic: add some debugs + - ibmvnic: serialize access to work queue on remove + - tty: serial: stm32-usart: Remove set but unused 'cookie' variables + - serial: stm32: fix DMA initialization error handling + - bpf: Declare __bpf_free_used_maps() unconditionally + - RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free + - RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails + - RDMA/rtrs: Introduce rtrs_post_send + - RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug + - module: merge repetitive strings in module_sig_check() + - module: avoid *goto*s in module_sig_check() + - module: harden ELF info handling + - scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition + - RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used + - i40e: Fix endianness conversions + - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 + - MIPS: compressed: fix build with enabled UBSAN + - media: cedrus: h264: Support profile controls + - ibmvnic: remove excessive irqsave + - s390/qeth: integrate RX refill worker with NAPI + - s390/qeth: schedule TX NAPI on QAOB completion + - drm/amd/pm: fulfill the Polaris implementation for + get_clock_by_type_with_latency() + - gfs2: Add common helper for holding and releasing the freeze glock + - gfs2: move freeze glock outside the make_fs_rw and _ro functions + - gfs2: bypass signal_our_withdraw if no journal + - powerpc: Force inlining of cpu_has_feature() to avoid build failure + - usb-storage: Add quirk to defeat Kindle's automatic unload + - usbip: Fix incorrect double assignment to udc->ud.tcp_rx + - usb: gadget: configfs: Fix KASAN use-after-free + - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct + - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- + - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() + - iio:adc:stm32-adc: Add HAS_IOMEM dependency + - iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel + - iio: adis16400: Fix an error code in adis16400_initial_setup() + - iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler + - iio: adc: ab8500-gpadc: Fix off by 10 to 3 + - iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask + - iio: adc: adi-axi-adc: add proper Kconfig dependencies + - iio: hid-sensor-humidity: Fix alignment issue of timestamp channel + - iio: hid-sensor-prox: Fix scale not correct issue + - iio: hid-sensor-temperature: Fix issues of timestamp channel + - counter: stm32-timer-cnt: fix ceiling write max value + - counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register + - PCI: rpadlpar: Fix potential drc_name corruption in store functions + - perf/x86/intel: Fix a crash caused by zero PEBS status + - x86/ioapic: Ignore IRQ2 again + - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() + - x86: Move TS_COMPAT back to asm/thread_info.h + - x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() + - efivars: respect EFI_UNSUPPORTED return from firmware + - ext4: fix error handling in ext4_end_enable_verity() + - ext4: find old entry again if failed to rename whiteout + - ext4: do not try to set xattr into ea_inode if value is empty + - ext4: fix potential error in ext4_do_update_inode + - MAINTAINERS: move some real subsystems off of the staging mailing list + - MAINTAINERS: move the staging subsystem to lists.linux.dev + - efi: use 32-bit alignment for efi_guid_t literals + - firmware/efi: Fix a use after bug in efi_mem_reserve_persistent + - genirq: Disable interrupts for force threaded handlers + - x86/apic/of: Fix CPU devicetree-node lookups + - cifs: Fix preauth hash corruption + - USB: replace hardcode maximum usb string length by definition + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - uapi: nfnetlink_cthelper.h: fix userspace compilation error + - powerpc/perf: Fix handling of privilege level checks in perf interrupt + context + - powerpc/pseries: Don't enforce MSI affinity with kdump + - crypto: mips/poly1305 - enable for all MIPS processors + - ath9k: fix transmitting to stations in dynamic SMPS mode + - net: Fix gro aggregation for udp encaps with zero csum + - net: check if protocol extracted by virtio_net_hdr_set_proto is correct + - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 + - can: skb: can_skb_set_owner(): fix ref counting if socket was closed before + setting skb ownership + - can: flexcan: assert FRZ bit in flexcan_chip_freeze() + - can: flexcan: enable RX FIFO after FRZ/HALT valid + - can: flexcan: invoke flexcan_chip_freeze() to enter freeze mode + - can: tcan4x5x: tcan4x5x_init(): fix initialization - clear MRAM before + entering Normal Mode + - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) + - tcp: add sanity tests to TCP_QUEUE_SEQ + - netfilter: nf_nat: undo erroneous tcp edemux lookup + - netfilter: x_tables: gpf inside xt_find_revision() + - net: always use icmp{,v6}_ndo_send from ndo_start_xmit + - net: phy: fix save wrong speed and duplex problem if autoneg is on + - selftests/bpf: No need to drop the packet when there is no geneve opt + - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier + - samples, bpf: Add missing munmap in xdpsock + - libbpf: Clear map_info before each bpf_obj_get_info_by_fd + - ibmvnic: always store valid MAC address + - mt76: dma: do not report truncated frames to mac80211 + - powerpc/603: Fix protection of user pages mapped with PROT_NONE + - mount: fix mounting of detached mounts onto targets that reside on shared + mounts + - cifs: return proper error code in statfs(2) + - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" + - sh_eth: fix TRSCER mask for SH771x + - net: enetc: don't overwrite the RSS indirection table when initializing + - net: enetc: take the MDIO lock only once per NAPI poll cycle + - net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets + - net: enetc: don't disable VLAN filtering in IFF_PROMISC mode + - net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr + - net: enetc: keep RX ring consumer index in sync with hardware + - net: ethernet: mtk-star-emac: fix wrong unmap in RX handling + - net/mlx4_en: update moderation when config reset + - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 + - nexthop: Do not flush blackhole nexthops when loopback goes down + - net: sched: avoid duplicates in classes dump + - net: dsa: sja1105: fix SGMII PCS being forced to SPEED_UNKNOWN instead of + SPEED_10 + - net: usb: qmi_wwan: allow qmimux add/del with master up + - netdevsim: init u64 stats for 32bit hardware + - cipso,calipso: resolve a number of problems with the DOI refcounts + - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII + - stmmac: intel: Fixes clock registration error seen for multiple interfaces + - net: lapbether: Remove netif_start_queue / netif_stop_queue + - net: davicom: Fix regulator not turned off on failed probe + - net: davicom: Fix regulator not turned off on driver removal + - net: enetc: allow hardware timestamping on TX queues with tc-etf enabled + - net: qrtr: fix error return code of qrtr_sendmsg() + - s390/qeth: fix memory leak after failed TX Buffer allocation + - r8169: fix r8168fp_adjust_ocp_cmd function + - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA + - perf build: Fix ccache usage in $(CC) when generating arch errno table + - net: stmmac: stop each tx channel independently + - net: stmmac: fix watchdog timeout during suspend/resume stress test + - net: stmmac: fix wrongly set buffer2 valid when sph unsupport + - ethtool: fix the check logic of at least one channel for RX/TX + - selftests: forwarding: Fix race condition in mirror installation + - perf traceevent: Ensure read cmdlines are null terminated. + - perf report: Fix -F for branch & mem modes + - net: hns3: fix query vlan mask value error for flow director + - net: hns3: fix bug when calculating the TCAM table info + - s390/cio: return -EFAULT if copy_to_user() fails again + - bnxt_en: reliably allocate IRQ table on reset to avoid crash + - gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk + - gpiolib: acpi: Allow to find GpioInt() resource by name and index + - gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2 + - gpio: fix gpio-device list corruption + - drm/compat: Clear bounce structures + - drm/amd/display: Add a backlight module option + - drm/amdgpu/display: use GFP_ATOMIC in dcn21_validate_bandwidth_fp() + - drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth() + - drm/amd/pm: bug fix for pcie dpm + - drm/amdgpu/display: simplify backlight setting + - drm/amdgpu/display: don't assert in set backlight function + - drm/amdgpu/display: handle aux backlight in backlight_get_brightness + - drm/shmem-helper: Check for purged buffers in fault handler + - drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff + - drm: Use USB controller's DMA mask when importing dmabufs + - drm: meson_drv add shutdown function + - drm/shmem-helpers: vunmap: Don't put pages for dma-buf + - s390/cio: return -EFAULT if copy_to_user() fails + - s390/crypto: return -EFAULT if copy_to_user() fails + - qxl: Fix uninitialised struct field head.surface_id + - sh_eth: fix TRSCER mask for R7S9210 + - media: usbtv: Fix deadlock on suspend + - media: rkisp1: params: fix wrong bits settings + - media: v4l: vsp1: Fix uif null pointer access + - media: v4l: vsp1: Fix bru null pointer access + - media: rc: compile rc-cec.c into rc-core + - [Packaging] update modules for rc-cec + - cifs: fix credit accounting for extra channel + - net: hns3: fix error mask definition of flow director + - s390/qeth: don't replace a fully completed async TX buffer + - s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state + - s390/qeth: improve completion of pending TX buffers + - s390/qeth: fix notification for pending buffers during teardown + - net: dsa: tag_ksz: don't allocate additional memory for padding/tagging + - net: dsa: trailer: don't allocate additional memory for padding/tagging + - net: dsa: tag_qca: let DSA core deal with TX reallocation + - net: dsa: tag_ocelot: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: let DSA core deal with TX reallocation + - net: dsa: tag_lan9303: let DSA core deal with TX reallocation + - net: dsa: tag_edsa: let DSA core deal with TX reallocation + - net: dsa: tag_brcm: let DSA core deal with TX reallocation + - net: dsa: tag_dsa: let DSA core deal with TX reallocation + - net: dsa: tag_gswip: let DSA core deal with TX reallocation + - net: dsa: tag_ar9331: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: fix 802.1ad VLAN egress + - ath11k: peer delete synchronization with firmware + - i2c: rcar: faster irq code to minimize HW race condition + - i2c: rcar: optimize cacheline to minimize HW race condition + - scsi: ufs: WB is only available on LUN #0 to #7 + - udf: fix silent AED tagLocation corruption + - iommu/vt-d: Clear PRQ overflow only when PRQ is empty + - mmc: mxs-mmc: Fix a resource leak in an error handling path in + 'mxs_mmc_probe()' + - mmc: mediatek: fix race condition between msdc_request_timeout and irq + - mmc: sdhci-iproc: Add ACPI bindings for the RPi + - Platform: OLPC: Fix probe error handling + - powerpc/pci: Add ppc_md.discover_phbs() + - spi: stm32: make spurious and overrun interrupts visible + - powerpc: improve handling of unrecoverable system reset + - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset + - HID: logitech-dj: add support for the new lightspeed connection iteration + - powerpc/64: Fix stack trace not displaying final frame + - iommu/amd: Fix performance counter initialization + - clk: qcom: gdsc: Implement NO_RET_PERIPH flag + - sparc32: Limit memblock allocation to low memory + - sparc64: Use arch_validate_flags() to validate ADI flag + - Input: applespi - don't wait for responses to commands indefinitely. + - PCI: xgene-msi: Fix race in installing chained irq handler + - PCI: mediatek: Add missing of_node_put() to fix reference leak + - drivers/base: build kunit tests without structleak plugin + - PCI/LINK: Remove bandwidth notification + - [Config] updateconfigs for PCIE_BW + - kbuild: clamp SUBLEVEL to 255 + - PCI: Fix pci_register_io_range() memory leak + - i40e: Fix memory leak in i40e_probe + - s390/smp: __smp_rescan_cpus() - move cpumask away from stack + - drivers/base/memory: don't store phys_device in memory blocks + - sysctl.c: fix underflow value setting risk in vm_table + - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling + - scsi: target: core: Add cmd length set before cmd complete + - scsi: target: core: Prevent underflow for service actions + - clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc + - mmc: sdhci: Update firmware interface API + - ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler + - ARM: assembler: introduce adr_l, ldr_l and str_l macros + - ARM: efistub: replace adrl pseudo-op with adr_l macro invocation + - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk + - ALSA: hda/hdmi: Cancel pending works before suspend + - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 + - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support + - ALSA: hda: Drop the BATCH workaround for AMD controllers + - ALSA: hda: Flush pending unsolicited events before suspend + - ALSA: hda: Avoid spurious unsol event handling during S3/S4 + - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar + - ALSA: usb-audio: Apply the control quirk to Plantronics headsets + - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL + - s390/dasd: fix hanging DASD driver unbind + - s390/dasd: fix hanging IO request during DASD driver unbind + - software node: Fix node registration + - xen/events: reset affinity of 2-level event when tearing it down + - mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants + - mmc: core: Fix partition switch time for eMMC + - mmc: cqhci: Fix random crash when remove mmc module/card + - cifs: do not send close in compound create+close requests + - Goodix Fingerprint device is not a modem + - USB: gadget: u_ether: Fix a configfs return code + - usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio + slot + - usb: gadget: f_uac1: stop playback on function disable + - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement + - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot + - usb: dwc3: qcom: add ACPI device id for sc8180x + - usb: dwc3: qcom: Honor wakeup enabled/disabled state + - USB: usblp: fix a hang in poll() if disconnected + - usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM + - usb: xhci: do not perform Soft Retry for some xHCI hosts + - xhci: Improve detection of device initiated wake signal. + - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing + - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake + state + - USB: serial: io_edgeport: fix memory leak in edge_startup + - USB: serial: ch341: add new Product ID + - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter + - USB: serial: cp210x: add some more GE USB IDs + - usbip: fix stub_dev to check for stream socket + - usbip: fix vhci_hcd to check for stream socket + - usbip: fix vudc to check for stream socket + - usbip: fix vhci_hcd attach_store() races leading to gpf + - usbip: fix vudc usbip_sockfd_store races leading to gpf + - misc/pvpanic: Export module FDT device table + - staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan() + - staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan() + - staging: rtl8712: unterminated string leads to read overflow + - staging: rtl8188eu: fix potential memory corruption in + rtw_check_beacon_data() + - staging: ks7010: prevent buffer overflow in ks_wlan_set_scan() + - staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd + - staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan + - staging: comedi: addi_apci_1032: Fix endian problem for COS sample + - staging: comedi: addi_apci_1500: Fix endian problem for command sample + - staging: comedi: adv_pci1710: Fix endian problem for AI command data + - staging: comedi: das6402: Fix endian problem for AI command data + - staging: comedi: das800: Fix endian problem for AI command data + - staging: comedi: dmm32at: Fix endian problem for AI command data + - staging: comedi: me4000: Fix endian problem for AI command data + - staging: comedi: pcl711: Fix endian problem for AI command data + - staging: comedi: pcl818: Fix endian problem for AI command data + - sh_eth: fix TRSCER mask for R7S72100 + - arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory + - SUNRPC: Set memalloc_nofs_save() for sync tasks + - NFS: Don't revalidate the directory permissions on a lookup failure + - NFS: Don't gratuitously clear the inode cache when lookup failed + - NFSv4.2: fix return value of _nfs4_get_security_label() + - block: rsxx: fix error return code of rsxx_pci_probe() + - configfs: fix a use-after-free in __configfs_open_file + - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds + - hrtimer: Update softirq_expires_next correctly after + __hrtimer_get_next_event() + - powerpc/64s/exception: Clean up a missed SRR specifier + - stop_machine: mark helpers __always_inline + - include/linux/sched/mm.h: use rcu_dereference in in_vfork() + - zram: fix return value on writeback_store + - linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* + - sched/membarrier: fix missing local execution of ipi_sync_rq_state() + - efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP + table + - powerpc/64s: Fix instruction encoding for lis in ppc_function_entry() + - powerpc: Fix inverted SET_FULL_REGS bitop + - powerpc: Fix missing declaration of [en/dis]able_kernel_vsx() + - binfmt_misc: fix possible deadlock in bm_register_write + - x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2 + - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged + - KVM: arm64: Reject VM creation when the default IPA size is unsupported + - KVM: arm64: Fix exclusive limit for IPA size + - mm/userfaultfd: fix memory corruption due to writeprotect + - mm/page_alloc.c: refactor initialization of struct page for holes in memory + layout + - xen/events: don't unmask an event channel when an eoi is pending + - xen/events: avoid handling the same event on two cpus at the same time + * Groovy update: upstream stable patchset 2021-04-12 (LP: #1923493) + - net: usb: qmi_wwan: support ZTE P685M modem + - drm/virtio: use kvmalloc for large allocations + - x86/build: Treat R_386_PLT32 relocation as R_386_PC32 + - JFS: more checks for invalid superblock + - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled + - udlfb: Fix memory leak in dlfb_usb_probe + - media: mceusb: sanity check for prescaler value + - erofs: fix shift-out-of-bounds of blkszbits + - media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate + - xfs: Fix assert failure in xfs_setattr_size() + - net/af_iucv: remove WARN_ONCE on malformed RX packets + - smackfs: restrict bytes count in smackfs write functions + - tomoyo: ignore data race while checking quota + - net: fix up truesize of cloned skb in skb_prepare_for_shift() + - nbd: handle device refs for DESTROY_ON_DISCONNECT properly + - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing + - RDMA/rtrs: Do not signal for heatbeat + - RDMA/rtrs-clt: Use bitmask to check sess->flags + - RDMA/rtrs-srv: Do not signal REG_MR + - tcp: fix tcp_rmem documentation + - net: bridge: use switchdev for port flags set through sysfs too + - net: ag71xx: remove unnecessary MTU reservation + - net: hsr: add support for EntryForgetTime + - net: psample: Fix netlink skb length with tunnel info + - net: fix dev_ifsioc_locked() race condition + - dt-bindings: ethernet-controller: fix fixed-link specification + - dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ + - rsi: Fix TX EAPOL packet handling against iwlwifi AP + - rsi: Move card interrupt handling to RX thread + - EDAC/amd64: Do not load on family 0x15, model 0x13 + - staging: fwserial: Fix error handling in fwserial_create + - x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk + - vt/consolemap: do font sum unsigned + - wlcore: Fix command execute failure 19 for wl12xx + - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl + - Bluetooth: btusb: fix memory leak on suspend and resume + - mt76: mt7615: reset token when mac_reset happens + - pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() + - ath10k: fix wmi mgmt tx queue full due to race condition + - net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant + - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk + - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data + - staging: most: sound: add sanity check for function argument + - staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() + - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet + - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet + - drm/hisilicon: Fix use-after-free + - crypto: tcrypt - avoid signed overflow in byte count + - fs: make unlazy_walk() error handling consistent + - drm/amdgpu: Add check to prevent IH overflow + - PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse + - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag + - drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails + - media: uvcvideo: Allow entities with no pads + - f2fs: handle unallocated section and zone on pinned/atgc + - f2fs: fix to set/clear I_LINKABLE under i_lock + - nvme-core: add cancel tagset helpers + - nvme-rdma: add clean action for failed reconnection + - nvme-tcp: add clean action for failed reconnection + - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() + - btrfs: fix error handling in commit_fs_roots + - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] + - ASoC: Intel: sof_sdw: detect DMIC number based on mach params + - parisc: Bump 64-bit IRQ stack size to 64 KB + - sched/features: Fix hrtick reprogramming + - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R + tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet + - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet + - Xen/gnttab: handle p2m update errors on a per-slot basis + - xen-netback: respect gnttab_map_refs()'s return value + - zsmalloc: account the number of compacted pages correctly + - swap: fix swapfile read/write offset + - media: v4l: ioctl: Fix memory leak in video_usercopy + - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board + - net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround + - net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips + - nvme-pci: refactor nvme_unmap_data + - nvme-pci: fix error unwind in nvme_map_data + - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 + - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE + - ALSA: usb-audio: Drop bogus dB range in too low level + - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() + - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() + - btrfs: avoid double put of block group when emptying cluster + - btrfs: fix raid6 qstripe kmap + - btrfs: fix race between writes to swap files and scrub + - btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled + - btrfs: fix race between extent freeing/allocation when using bitmaps + - btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl + - btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata + - btrfs: unlock extents in btrfs_zero_range in case of quota reservation + errors + - btrfs: fix warning when creating a directory with smack enabled + - io_uring: ignore double poll add on the same waitqueue head + - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size + - dm verity: fix FEC for RS roots unaligned to block size + - drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie + - crypto - shash: reduce minimum alignment of shash_desc structure + - arm64: mm: Move reserve_crashkernel() into mem_init() + - arm64: mm: Move zone_dma_bits initialization into zone_sizes_init() + - of/address: Introduce of_dma_get_max_cpu_address() + - of: unittest: Add test for of_dma_get_max_cpu_address() + - arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges + - arm64: mm: Set ZONE_DMA size based on early IORT scan + - mm: Remove examples from enum zone_type comment + - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits + - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep + - RDMA/rxe: Fix missing kconfig dependency on CRYPTO + - IB/mlx5: Add missing error code + - ALSA: hda: intel-nhlt: verify config type + - ftrace: Have recordmcount use w8 to read relp->r_info in + arm64_is_fake_mcount + - rsxx: Return -EFAULT if copy_to_user() fails + - iommu/vt-d: Fix status code for Allocate/Free PASID command + - Revert "arm64: dts: amlogic: add missing ethernet reset ID" + - of: unittest: Fix build on architectures without CONFIG_OF_ADDRESS + - tomoyo: recognize kernel threads correctly + - r8169: fix resuming from suspend on RTL8105e if machine runs on battery + - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter + handling + - ASoC: SOF: Intel: broadwell: fix mutual exclusion with catpt driver + - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state + - parisc: Enable -mlong-calls gcc option with CONFIG_COMPILE_TEST + - arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ + - iommu/amd: Fix sleeping in atomic in increase_address_space() + - Bluetooth: btqca: Add valid le states quirk + - mwifiex: pcie: skip cancel_work_sync() on reset failure path + - ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device + - bus: ti-sysc: Implement GPMC debug quirk to drop platform data + - platform/x86: acer-wmi: Cleanup ACER_CAP_FOO defines + - platform/x86: acer-wmi: Cleanup accelerometer device handling + - platform/x86: acer-wmi: Add new force_caps module parameter + - platform/x86: acer-wmi: Add ACER_CAP_SET_FUNCTION_MODE capability flag + - platform/x86: acer-wmi: Add support for SW_TABLET_MODE on Switch devices + - platform/x86: acer-wmi: Add ACER_CAP_KBD_DOCK quirk for the Aspire Switch + 10E SW3-016 + - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter + - media: cx23885: add more quirks for reset DMA on some AMD IOMMU + - ACPI: video: Add DMI quirk for GIGABYTE GB-BXBT-2807 + - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 + - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 + - scsi: ufs: Add a quirk to permit overriding UniPro defaults + - misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom + - scsi: ufs: Introduce a quirk to allow only page-aligned sg entries + - drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register + - mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo + Winpad A15 + - scsi: ufs: Fix a duplicate dev quirk number + - KVM: SVM: Clear the CR4 register on reset + - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. + - nvme-pci: add quirks for Lexar 256GB SSD + - dm table: fix iterate_devices based device capability checks + - dm table: fix DAX iterate_devices based device capability checks + - dm table: fix zoned iterate_devices based device capability checks + * [SRU][F:OEM-5.10/G/H] add realtek 8852 bluetooth support (LP: #1924207) + - Bluetooth: btusb: btrtl: Add support for RTL8852A + - Bluetooth: btrtl: Enable central-peripheral role + - Bluetooth: btrtl: Enable WBS for the specific Realtek devices + * Backport mlx5e fix for tunnel offload (LP: #1921769) + - net/mlx5e: Check tunnel offload is required before setting SWP + * crash utility fails on arm64 with cannot determine VA_BITS_ACTUAL + (LP: #1919275) + - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo + + -- Stefan Bader Tue, 18 May 2021 14:45:14 +0200 + +linux-riscv-5.8 (5.8.0-25.27~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-25.27 ] + + * CVE-2021-3491 + - io_uring: fix provide_buffers sign extension + - io_uring: fix overflows checks in provide buffers + - SAUCE: proc: Avoid mixing integer types in mem_rw() + - SAUCE: io_uring: truncate lengths larger than MAX_RW_COUNT on provide + buffers + * CVE-2021-3490 + - bpf: Fix a verifier failure with xor + - SAUCE: bpf: verifier: fix ALU32 bounds tracking with bitwise ops + * CVE-2021-3489 + - SAUCE: bpf: ringbuf: deny reserve of buffers larger than ringbuf + - SAUCE: bpf: prevent writable memory-mapping of read-only ringbuf pages + + -- Stefan Bader Thu, 06 May 2021 10:40:59 +0200 + +linux-riscv-5.8 (5.8.0-24.26~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-24.26~20.04.1 -proposed tracker (LP: #1926727) + + [ Ubuntu: 5.8.0-24.26 ] + + * groovy/linux-riscv: 5.8.0-24.26 -proposed tracker (LP: #1926728) + * groovy/linux: 5.8.0-52.59 -proposed tracker (LP: #1926730) + * Packaging resync (LP: #1786013) + - update dkms package versions + * hangup01 from pty in ubuntu_ltp_stable failed on G-5.8 (LP: #1925290) + - SAUCE: Revert "tty: implement read_iter" + - SAUCE: Revert "tty: convert tty_ldisc_ops 'read()' function to take a kernel + pointer" + + -- Kelsey Skunberg Fri, 30 Apr 2021 13:13:52 -0600 + +linux-riscv-5.8 (5.8.0-23.25~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-23.25~20.04.1 -proposed tracker (LP: #1923751) + + [ Ubuntu: 5.8.0-23.25 ] + + * groovy/linux-riscv: 5.8.0-23.25 -proposed tracker (LP: #1923752) + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - [Config] riscv: updateconfigs for CONFIG_KCMP + * groovy/linux: 5.8.0-51.57 -proposed tracker (LP: #1923754) + * CVE-2021-28375 + - misc: fastrpc: restrict user apps from sending kernel RPC messages + * CVE-2021-29646 + - tipc: better validate user input in tipc_nl_retrieve_key() + * SND_PCI_QUIRK for Clevo NH55RZQ and Intel NUC10 (LP: #1922759) + - ALSA: hda/realtek: Add quirk for Intel NUC 10 + - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ + * CVE-2021-29650 + - Revert "netfilter: x_tables: Update remaining dereference to RCU" + - Revert "netfilter: x_tables: Switch synchronization to RCU" + - netfilter: x_tables: Use correct memory barriers. + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] dkms-build{,--nvidia-N} sync back from LRMv4 + * CVE-2021-29266 + - vhost-vdpa: fix use-after-free of v->config_ctx + * CVE-2021-29264 + - gianfar: fix jumbo packets+napi+rx overrun crash + * CVE-2021-29265 + - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf + * Bcache bypasse writeback on caching device with fragmentation (LP: #1900438) + - bcache: consider the fragmentation when update the writeback rate + * Fix implicit declaration warnings for kselftests/memfd test on newer + releases (LP: #1910323) + - selftests/memfd: Fix implicit declaration warnings + * net/mlx5e: Add missing capability check for uplink follow (LP: #1921104) + - net/mlx5e: Add missing capability check for uplink follow + * [UBUNUT 21.04] s390/vtime: fix increased steal time accounting + (LP: #1921498) + - s390/vtime: fix increased steal time accounting + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - vmlinux.lds.h: add DWARF v5 sections + - debugfs: be more robust at handling improper input in debugfs_lookup() + - debugfs: do not attempt to create a new file before the filesystem is + initalized + - scsi: libsas: docs: Remove notify_ha_event() + - scsi: qla2xxx: Fix mailbox Ch erroneous error + - kdb: Make memory allocations more robust + - PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 + - PCI: Decline to resize resources if boot config must be preserved + - virt: vbox: Do not use wait_event_interruptible when called from kernel + context + - bfq: Avoid false bfq queue merging + - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode + - MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section + - random: fix the RNDRESEEDCRNG ioctl + - ALSA: pcm: Call sync_stop at disconnection + - ALSA: pcm: Assure sync with the pending stop operation at suspend + - ALSA: pcm: Don't call sync_stop if it hasn't been stopped + - drm/i915/gt: One more flush for Baytrail clear residuals + - ath10k: Fix error handling in case of CE pipe init failure + - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the + probe function + - Bluetooth: hci_uart: Fix a race for write_work scheduling + - Bluetooth: Fix initializing response id after clearing struct + - ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5 + - ARM: dts: exynos: correct PMIC interrupt trigger level on Monk + - ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato + - ARM: dts: exynos: correct PMIC interrupt trigger level on Spring + - ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa + - ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family + - arm64: dts: exynos: correct PMIC interrupt trigger level on TM2 + - arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso + - memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops + - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump + - arm64: dts: qcom: msm8916-samsung-a5u: Fix iris compatible + - net: stmmac: dwmac-meson8b: fix enabling the timing-adjustment clock + - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h + - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args + - arm64: dts: allwinner: A64: properly connect USB PHY to port 0 + - arm64: dts: allwinner: H6: properly connect USB PHY to port 0 + - arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card + - arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency + - arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz + - cpufreq: brcmstb-avs-cpufreq: Free resources in error path + - cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() + - arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node + - ACPICA: Fix exception code class checks + - usb: gadget: u_audio: Free requests only after callback + - arm64: dts: qcom: sdm845-db845c: Fix reset-pin of ov8856 node + - soc: ti: pm33xx: Fix some resource leak in the error handling paths of the + probe function + - staging: media: atomisp: Fix size_t format specifier in hmm_alloc() debug + statemenet + - Bluetooth: drop HCI device reference before return + - Bluetooth: Put HCI device if inquiry procedure interrupts + - memory: ti-aemif: Drop child node when jumping out loop + - ARM: dts: Configure missing thermal interrupt for 4430 + - usb: dwc2: Do not update data length if it is 0 on inbound transfers + - usb: dwc2: Abort transaction after errors with unknown reason + - usb: dwc2: Make "trimming xfer length" a debug message + - staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules + - ARM: dts: armada388-helios4: assign pinctrl to LEDs + - ARM: dts: armada388-helios4: assign pinctrl to each fan + - arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to + a53-firmware + - opp: Correct debug message in _opp_add_static_v2() + - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv + - soc: qcom: ocmem: don't return NULL in of_get_ocmem + - arm64: dts: msm8916: Fix reserved and rfsa nodes unit address + - arm64: dts: meson: fix broken wifi node for Khadas VIM3L + - ARM: s3c: fix fiq for clang IAS + - ARM: at91: use proper asm syntax in pm_suspend + - ath10k: Fix suspicious RCU usage warning in + ath10k_wmi_tlv_parse_peer_stats_info() + - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics + - soc: aspeed: snoop: Add clock control logic + - bpf_lru_list: Read double-checked variable once without lock + - ath9k: fix data bus crash when setting nf_override via debugfs + - ibmvnic: Set to CLOSED state even on error + - bnxt_en: reverse order of TX disable and carrier off + - xen/netback: fix spurious event detection for common event case + - net/mlx5e: Don't change interrupt moderation params when DIM is enabled + - net/mlx5e: Change interrupt moderation channel params also when channels are + closed + - net/mlx5e: Replace synchronize_rcu with synchronize_net + - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context + - net/mlx5: Disable devlink reload for multi port slave device + - net/mlx5: Disallow RoCE on multi port slave device + - net/mlx5: Disallow RoCE on lag device + - net/mlx5: Disable devlink reload for lag devices + - mac80211: fix potential overflow when multiplying to u32 integers + - libbpf: Ignore non function pointer member in struct_ops + - bpf: Fix an unitialized value in bpf_iter + - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation + - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx + - tcp: fix SO_RCVLOWAT related hangs under mem pressure + - net: axienet: Handle deferred probe on clock properly + - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 + and ulds + - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case + - bpf: Clear subreg_def for global function return values + - ibmvnic: add memory barrier to protect long term buffer + - ibmvnic: skip send_request_unmap for timeout reset + - net: dsa: felix: perform teardown in reverse order of setup + - net: phy: mscc: adding LCPLL reset to VSC8514 + - net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout + - net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning + - net: amd-xgbe: Reset link when the link never comes back + - net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP + - net: mvneta: Remove per-cpu queue mapping for Armada 3700 + - tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer + - tty: implement read_iter + - fbdev: aty: SPARC64 requires FB_ATY_CT + - drm/gma500: Fix error return code in psb_driver_load() + - gma500: clean up error handling in init + - drm/fb-helper: Add missed unlocks in setcmap_legacy() + - crypto: sun4i-ss - linearize buffers content must be kept + - crypto: sun4i-ss - fix kmap usage + - crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled + - media: allegro: Fix use after free on error + - drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() + - drm: rcar-du: Fix crash when using LVDS1 clock for CRTC + - drm: rcar-du: Fix the return check of of_parse_phandle and + of_find_device_by_node + - drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition + - MIPS: c-r4k: Fix section mismatch for loongson2_sc_init + - MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 + - drm/virtio: make sure context is created in gem open + - media: ipu3-cio2: Build only for x86 + - media: i2c: ov5670: Fix PIXEL_RATE minimum value + - media: imx: Unregister csc/scaler only if registered + - media: imx: Fix csc/scaler unregister + - media: mtk-vcodec: fix error return code in vdec_vp9_decode() + - media: camss: missing error code in msm_video_register() + - media: vsp1: Fix an error handling path in the probe function + - media: em28xx: Fix use-after-free in em28xx_alloc_urbs + - media: media/pci: Fix memleak in empress_init + - media: tm6000: Fix memleak in tm6000_start_stream + - media: aspeed: fix error return code in aspeed_video_setup_video() + - ASoC: cs42l56: fix up error handling in probe + - ASoC: qcom: qdsp6: Move frontend AIFs to q6asm-dai + - evm: Fix memleak in init_desc + - crypto: bcm - Rename struct device_private to bcm_device_private + - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue + - drm/sun4i: tcon: fix inverted DCLK polarity + - media: imx7: csi: Fix regression for parallel cameras on i.MX6UL + - media: imx7: csi: Fix pad link validation + - MIPS: properly stop .eh_frame generation + - MIPS: Compare __SYNC_loongson3_war against 0 + - drm/tegra: Fix reference leak when pm_runtime_get_sync() fails + - drm/amdgpu: toggle on DF Cstate after finishing xgmi injection + - bsg: free the request before return error code + - drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. + - drm/amd/display: Fix HDMI deep color output for DCE 6-11. + - media: software_node: Fix refcounts in software_node_get_next_child() + - media: lmedm04: Fix misuse of comma + - media: atomisp: Fix a buffer overflow in debug code + - media: qm1d1c0042: fix error return code in qm1d1c0042_init() + - media: cx25821: Fix a bug when reallocating some dma memory + - media: pxa_camera: declare variable when DEBUG is defined + - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values + - sched/eas: Don't update misfit status if the task is pinned + - f2fs: compress: fix potential deadlock + - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend + - mtd: parser: imagetag: fix error codes in + bcm963xx_parse_imagetag_partitions() + - crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) + - crypto: talitos - Fix ctr(aes) on SEC1 + - drm/nouveau: bail out of nouveau_channel_new if channel init fails + - mm: proc: Invalidate TLB after clearing soft-dirty page state + - ata: ahci_brcm: Add back regulators management + - ASoC: cpcap: fix microphone timeslot mask + - ASoC: codecs: add missing max_register in regmap config + - mtd: parsers: afs: Fix freeing the part name memory in failure + - f2fs: fix to avoid inconsistent quota data + - drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask() + - f2fs: fix a wrong condition in __submit_bio + - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs + - drm/mediatek: Check if fb is null + - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E + - locking/lockdep: Avoid unmatched unlock + - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during + system shutdown + - ASoC: SOF: debug: Fix a potential issue on string buffer termination + - btrfs: clarify error returns values in __load_free_space_cache + - btrfs: fix double accounting of ordered extent for subpage case in + btrfs_invalidapge + - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 + - drm/lima: fix reference leak in lima_pm_busy + - drm/dp_mst: Don't cache EDIDs for physical ports + - hwrng: timeriomem - Fix cooldown period calculation + - crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() + - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs + - nvmet-tcp: fix potential race of tcp socket closing accept_work + - nvmet: remove extra variable in identify ns + - nvmet: set status to 0 in case for invalid nsid + - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk + - ima: Free IMA measurement buffer on error + - ima: Free IMA measurement buffer after kexec syscall + - ASoC: simple-card-utils: Fix device module clock + - fs/jfs: fix potential integer overflow on shift of a int + - jffs2: fix use after free in jffs2_sum_write_data() + - ubifs: Fix memleak in ubifs_init_authentication + - ubifs: replay: Fix high stack usage, again + - ubifs: Fix error return code in alloc_wbufs() + - irqchip/imx: IMX_INTMUX should not default to y, unconditionally + - smp: Process pending softirqs in flush_smp_call_function_from_idle() + - drm/amdgpu/display: remove hdcp_srm sysfs on device removal + - HSI: Fix PM usage counter unbalance in ssi_hw_init + - power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression + - clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL + - clk: meson: clk-pll: make "ret" a signed integer + - clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate() + - regulator: qcom-rpmh-regulator: add pm8009-1 chip revision + - quota: Fix memory leak when handling corrupted quota file + - i2c: iproc: handle only slave interrupts which are enabled + - i2c: iproc: update slave isr mask (ISR_MASK_SLAVE) + - i2c: iproc: handle master read request + - spi: cadence-quadspi: Abort read if dummy cycles required are too many + - clk: sunxi-ng: h6: Fix CEC clock + - HID: core: detect and skip invalid inputs to snto32() + - RDMA/siw: Fix handling of zero-sized Read and Receive Queues. + - dmaengine: fsldma: Fix a resource leak in the remove function + - dmaengine: fsldma: Fix a resource leak in an error handling path of the + probe function + - dmaengine: owl-dma: Fix a resource leak in the remove function + - dmaengine: hsu: disable spurious interrupt + - mfd: bd9571mwv: Use devm_mfd_add_devices() + - power: supply: cpcap-charger: Fix missing power_supply_put() + - power: supply: cpcap-battery: Fix missing power_supply_put() + - power: supply: cpcap-charger: Fix power_supply_put on null battery pointer + - fdt: Properly handle "no-map" field in the memory region + - of/fdt: Make sure no-map does not remove already reserved regions + - RDMA/rtrs: Extend ibtrs_cq_qp_create + - RDMA/rtrs-srv: Release lock before call into close_sess + - RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect + - RDMA/rtrs-clt: Set mininum limit when create QP + - RDMA/rtrs: Call kobject_put in the failure path + - RDMA/rtrs-srv: Fix missing wr_cqe + - RDMA/rtrs-clt: Refactor the failure cases in alloc_clt + - RDMA/rtrs-srv: Init wr_cnt as 1 + - power: reset: at91-sama5d2_shdwc: fix wkupdbc mask + - rtc: s5m: select REGMAP_I2C + - dmaengine: idxd: set DMA channel to be private + - power: supply: fix sbs-charger build, needs REGMAP_I2C + - clocksource/drivers/ixp4xx: Select TIMER_OF when needed + - clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined + - RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation + - IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex + - clk: sunxi-ng: h6: Fix clock divider range on some clocks + - regulator: axp20x: Fix reference cout leak + - watch_queue: Drop references to /dev/watch_queue + - certs: Fix blacklist flag type confusion + - regulator: s5m8767: Fix reference count leak + - spi: atmel: Put allocated master before return + - regulator: s5m8767: Drop regulators OF node reference + - power: supply: axp20x_usb_power: Init work before enabling IRQs + - regulator: core: Avoid debugfs: Directory ... already present! error + - isofs: release buffer head before return + - watchdog: intel-mid_wdt: Postpone IRQ handler registration till SCU is ready + - auxdisplay: ht16k33: Fix refresh rate handling + - objtool: Fix error handling for STD/CLD warnings + - objtool: Fix ".cold" section suffix check for newer versions of GCC + - iommu: Switch gather->end to the inclusive end + - IB/umad: Return EIO in case of when device disassociated + - IB/umad: Return EPOLLERR in case of when device disassociated + - KVM: PPC: Make the VMX instruction emulation routines static + - powerpc/47x: Disable 256k page size + - powerpc/time: Enable sched clock for irqtime + - mmc: owl-mmc: Fix a resource leak in an error handling path and in the + remove function + - mmc: sdhci-sprd: Fix some resource leaks in the remove function + - mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe + - mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to + 128-bytes + - ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores + - i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct + - amba: Fix resource leak for drivers without .remove + - iommu: Move iotlb_sync_map out from __iommu_map + - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping + - IB/mlx5: Return appropriate error code instead of ENOMEM + - IB/cm: Avoid a loop when device has 255 ports + - tracepoint: Do not fail unregistering a probe due to memory failure + - rtc: zynqmp: depend on HAS_IOMEM + - perf tools: Fix DSO filtering when not finding a map for a sampled address + - perf vendor events arm64: Fix Ampere eMag event typo + - RDMA/rxe: Fix coding error in rxe_recv.c + - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt + - RDMA/rxe: Correct skb on loopback path + - spi: stm32: properly handle 0 byte transfer + - mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() + - powerpc/pseries/dlpar: handle ibm, configure-connector delay status + - powerpc/8xx: Fix software emulation interrupt + - clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs + - kunit: tool: fix unit test cleanup handling + - kselftests: dmabuf-heaps: Fix Makefile's inclusion of the kernel's + usr/include dir + - RDMA/hns: Fixed wrong judgments in the goto branch + - RDMA/siw: Fix calculation of tx_valid_cpus size + - RDMA/hns: Fix type of sq_signal_bits + - RDMA/hns: Disable RQ inline by default + - clk: divider: fix initialization with parent_hw + - spi: pxa2xx: Fix the controller numbering for Wildcat Point + - powerpc/uaccess: Avoid might_fault() when user access is enabled + - powerpc/kuap: Restore AMR after replaying soft interrupts + - regulator: qcom-rpmh: fix pm8009 ldo7 + - clk: aspeed: Fix APLL calculate formula from ast2600-A2 + - regulator: bd718x7, bd71828, Fix dvs voltage levels + - nfsd: register pernet ops last, unregister first + - ceph: fix flush_snap logic after putting caps + - RDMA/hns: Fixes missing error code of CMDQ + - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent + - RDMA/rtrs-srv: Fix stack-out-of-bounds + - RDMA/rtrs: Only allow addition of path to an already established session + - RDMA/rtrs-srv: fix memory leak by missing kobject free + - RDMA/rtrs-srv-sysfs: fix missing put_device + - RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR() + - Input: sur40 - fix an error code in sur40_probe() + - perf intel-pt: Fix missing CYC processing in PSB + - perf intel-pt: Fix premature IPC + - perf intel-pt: Fix IPC with CYC threshold + - perf test: Fix unaligned access in sample parsing test + - Input: elo - fix an error code in elo_connect() + - sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set + - sparc: fix led.c driver when PROC_FS is not enabled + - ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled + - misc: eeprom_93xx46: Fix module alias to enable module autoprobe + - phy: rockchip-emmc: emmc_phy_init() always return 0 + - misc: eeprom_93xx46: Add module alias to avoid breaking support for non + device tree users + - PCI: rcar: Always allocate MSI addresses in 32bit space + - soundwire: cadence: fix ACK/NAK handling + - pwm: rockchip: Enable APB clock during register access while probing + - pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() + - pwm: rockchip: Eliminate potential race condition when probing + - VMCI: Use set_page_dirty_lock() when unregistering guest memory + - PCI: Align checking of syscall user config accessors + - mei: hbm: call mei_set_devstate() on hbm stop response + - drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) + - drm/msm/mdp5: Fix wait-for-commit for cmd panels + - drm/msm: Fix race of GPU init vs timestamp power management. + - drm/msm: Fix races managing the OOB state for timestamp vs timestamps. + - vfio/iommu_type1: Populate full dirty when detach non-pinned group + - vfio/iommu_type1: Fix some sanity checks in detach group + - ext4: fix potential htree index checksum corruption + - nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of() + - nvmem: core: skip child nodes not matching binding + - soundwire: bus: use sdw_update_no_pm when initializing a device + - soundwire: export sdw_write/read_no_pm functions + - soundwire: bus: fix confusion on device used by pm_runtime + - misc: fastrpc: fix incorrect usage of dma_map_sgtable + - regmap: sdw: use _no_pm functions in regmap_read/write + - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it + - mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL + - PCI: pci-bridge-emul: Fix array overruns, improve safety + - i40e: Fix flow for IPv6 next header (extension header) + - i40e: Add zero-initialization of AQ command structures + - i40e: Fix overwriting flow control settings during driver loading + - i40e: Fix addition of RX filters after enabling FW LLDP agent + - i40e: Fix VFs not created + - Take mmap lock in cacheflush syscall + - i40e: Fix add TC filter for IPv6 + - octeontx2-af: Fix an off by one in rvu_dbg_qsize_write() + - vfio/type1: Use follow_pte() + - ice: report correct max number of TCs + - ice: Account for port VLAN in VF max packet size calculation + - ice: Fix state bits on LLDP mode switch + - ice: update the number of available RSS queues + - net: stmmac: fix CBS idleslope and sendslope calculation + - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() + - vxlan: move debug check after netdev unregister + - wireguard: device: do not generate ICMP for non-IP packets + - wireguard: kconfig: use arm chacha even with no neon + - ocfs2: fix a use after free on error + - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving + - mm/memory.c: fix potential pte_unmap_unlock pte error + - mm/hugetlb: fix potential double free in hugetlb_register_node() error path + - mm/hugetlb: suppress wrong warning info when alloc gigantic page + - mm/compaction: fix misbehaviors of fast_find_migrateblock() + - r8169: fix jumbo packet handling on RTL8168e + - arm64: Add missing ISB after invalidating TLB in __primary_switch + - i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition + - i2c: exynos5: Preserve high speed master code + - mm,thp,shmem: make khugepaged obey tmpfs mount flags + - mm/rmap: fix potential pte_unmap on an not mapped pte + - proc: use kvzalloc for our kernel buffer + - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors + - ide/falconide: Fix module unload + - scsi: sd: Fix Opal support + - blk-settings: align max_sectors on "logical_block_size" boundary + - soundwire: intel: fix possible crash when no device is detected + - ACPI: property: Fix fwnode string properties matching + - ACPI: configfs: add missing check after configfs_register_default_group() + - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known + - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming + - HID: wacom: Ignore attempts to overwrite the touch_max value from HID + - Input: raydium_ts_i2c - do not send zero length + - Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox + Series X|S + - Input: joydev - prevent potential read overflow in ioctl + - Input: i8042 - add ASUS Zenbook Flip to noselftest list + - media: mceusb: Fix potential out-of-bounds shift + - USB: serial: option: update interface mapping for ZTE P685M + - usb: musb: Fix runtime PM race in musb_queue_resume_work + - USB: serial: ftdi_sio: fix FTX sub-integer prescaler + - USB: serial: pl2303: fix line-speed handling on newer chips + - USB: serial: mos7840: fix error code in mos7840_write() + - USB: serial: mos7720: fix error code in mos7720_write() + - phy: lantiq: rcu-usb2: wait after clock enable + - ALSA: fireface: fix to parse sync status register of latter protocol + - ALSA: hda: Add another CometLake-H PCI ID + - ALSA: hda/hdmi: Drop bogus check at closing a stream + - ALSA: hda/realtek: modify EAPD in the ALC886 + - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup + - MIPS: Ingenic: Disable HPTLB for D0 XBurst CPUs too + - MIPS: Support binutils configured with --enable-mips-fix-loongson3-llsc=yes + - MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target=' + - Revert "MIPS: Octeon: Remove special handling of + CONFIG_MIPS_ELF_APPENDED_DTB=y" + - Revert "bcache: Kill btree_io_wq" + - bcache: Give btree_io_wq correct semantics again + - bcache: Move journal work to new flush wq + - Revert "drm/amd/display: Update NV1x SR latency values" + - drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth() + - drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1 + - drm/amdkfd: Fix recursive lock warnings + - drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2) + - drm/nouveau/kms: handle mDP connectors + - drm/modes: Switch to 64bit maths to avoid integer overflow + - drm/sched: Cancel and flush all outstanding jobs before finish. + - drm/panel: kd35t133: allow using non-continuous dsi clock + - drm/rockchip: Require the YTR modifier for AFBC + - ASoC: siu: Fix build error by a wrong const prefix + - selinux: fix inconsistency between inode_getxattr and inode_listsecurity + - erofs: initialized fields can only be observed after bit is set + - tpm_tis: Fix check_locality for correct locality acquisition + - tpm_tis: Clean up locality release + - KEYS: trusted: Fix incorrect handling of tpm_get_random() + - KEYS: trusted: Fix migratable=1 failing + - KEYS: trusted: Reserve TPM for seal and unseal operations + - btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node + - btrfs: do not warn if we can't find the reloc root when looking up backref + - btrfs: add asserts for deleting backref cache nodes + - btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root + - btrfs: fix reloc root leak with 0 ref reloc roots on recovery + - btrfs: splice remaining dirty_bg's onto the transaction dirty bg list + - btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself + - btrfs: account for new extents being deleted in total_bytes_pinned + - btrfs: fix extent buffer leak on failure to copy root + - drm/i915/gt: Flush before changing register state + - drm/i915/gt: Correct surface base address for renderclear + - crypto: arm64/sha - add missing module aliases + - crypto: aesni - prevent misaligned buffers on the stack + - crypto: michael_mic - fix broken misalignment handling + - crypto: sun4i-ss - checking sg length is not sufficient + - crypto: sun4i-ss - handle BigEndian for cipher + - crypto: sun4i-ss - initialize need_fallback + - soc: samsung: exynos-asv: don't defer early on not-supported SoCs + - soc: samsung: exynos-asv: handle reading revision register error + - seccomp: Add missing return in non-void function + - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) + - misc: rtsx: init of rts522a add OCP power off when no card is present + - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue + - pstore: Fix typo in compression option name + - dts64: mt7622: fix slow sd card access + - arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2 + - staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c + - staging: gdm724x: Fix DMA from stack + - staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table + - media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt() + - media: smipcie: fix interrupt handling and IR timeout + - x86/virt: Eat faults on VMXOFF in reboot flows + - x86/reboot: Force all cpus to exit VMX root if VMX is supported + - x86/fault: Fix AMD erratum #91 errata fixup for user code + - x86/entry: Fix instrumentation annotation + - powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan + - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers + - rcu/nocb: Perform deferred wake up before last idle's need_resched() check + - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 + - arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() + fails + - arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing + - arm64 module: set plt* section addresses to 0x0 + - arm64: spectre: Prevent lockdep splat on v4 mitigation enable path + - riscv: Disable KSAN_SANITIZE for vDSO + - watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ + - watchdog: mei_wdt: request stop on unregister + - coresight: etm4x: Handle accesses to TRCSTALLCTLR + - mtd: spi-nor: sfdp: Fix last erase region marking + - mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region + - mtd: spi-nor: core: Fix erase type discovery for overlaid region + - mtd: spi-nor: core: Add erase size check for erase command initialization + - mtd: spi-nor: hisi-sfc: Put child node np on error path + - fs/affs: release old buffer head on error path + - seq_file: document how per-entry resources are managed. + - x86: fix seq_file iteration for pat/memtype.c + - mm: memcontrol: fix swap undercounting in cgroup2 + - hugetlb: fix update_and_free_page contig page struct assumption + - hugetlb: fix copy_huge_page_from_user contig page struct assumption + - mm/vmscan: restore zone_reclaim_mode ABI + - mm, compaction: make fast_isolate_freepages() stay within zone + - nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer + - module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols + - mmc: sdhci-esdhc-imx: fix kernel panic when remove module + - powerpc/32s: Add missing call to kuep_lock on syscall entry + - spmi: spmi-pmic-arb: Fix hw_irq overflow + - mei: me: emmitsburg workstation DID + - mei: me: add adler lake point S DID + - mei: me: add adler lake point LP DID + - gpio: pcf857x: Fix missing first interrupt + - mfd: gateworks-gsc: Fix interrupt type + - printk: fix deadlock when kernel panic + - exfat: fix shift-out-of-bounds in exfat_fill_super() + - zonefs: Fix file size of zones in full condition + - [Config] updateconfigs for KCMP + - kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE + - thermal: cpufreq_cooling: freq_qos_update_request() returns < 0 on error + - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument + - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if + available + - proc: don't allow async path resolution of /proc/thread-self components + - s390/vtime: fix inline assembly clobber list + - virtio/s390: implement virtio-ccw revision 2 correctly + - um: mm: check more comprehensively for stub changes + - um: defer killing userspace on page table update failures + - irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap + - f2fs: fix out-of-repair __setattr_copy() + - f2fs: enforce the immutable flag on open files + - f2fs: flush data when enabling checkpoint back + - sparc32: fix a user-triggerable oops in clear_user() + - spi: fsl: invert spisel_boot signal on MPC8309 + - spi: spi-synquacer: fix set_cs handling + - gfs2: fix glock confusion in function signal_our_withdraw + - gfs2: Don't skip dlm unlock if glock has an lvb + - gfs2: Lock imbalance on error path in gfs2_recover_one + - gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end + - dm: fix deadlock when swapping to encrypted device + - dm writecache: fix performance degradation in ssd mode + - dm writecache: return the exact table values that were set + - dm writecache: fix writing beyond end of underlying device when shrinking + - dm era: Recover committed writeset after crash + - dm era: Update in-core bitset after committing the metadata + - dm era: Verify the data block size hasn't changed + - dm era: Fix bitset memory leaks + - dm era: Use correct value size in equality function of writeset tree + - dm era: Reinitialize bitset cache before digesting a new writeset + - dm era: only resize metadata in preresume + - drm/i915: Reject 446-480MHz HDMI clock on GLK + - kgdb: fix to kill breakpoints on initmem after boot + - wireguard: selftests: test multiple parallel streams + - wireguard: queueing: get rid of per-peer ring buffers + - net: sched: fix police ext initialization + - net: qrtr: Fix memory leak in qrtr_tun_open + - ARM: dts: aspeed: Add LCLK to lpc-snoop + - ipv6: icmp6: avoid indirect call for icmpv6_send() + * Mute/Mic-mute LEDs are not work on HP 850/840/440 G8 Laptops (LP: #1920030) + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 + * Groovy update: upstream stable patchset 2021-03-19 (LP: #1920571) + - af_key: relax availability checks for skb size calculation + - regulator: core: avoid regulator_resolve_supply() race condition + - ASoC: wm_adsp: Fix control name parsing for multi-fw + - mac80211: 160MHz with extended NSS BW in CSA + - ASoC: Intel: Skylake: Zero snd_ctl_elem_value + - chtls: Fix potential resource leak + - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() + - pNFS/NFSv4: Improve rejection of out-of-order layouts + - ALSA: hda: intel-dsp-config: add PCI id for TGL-H + - ASoC: ak4458: correct reset polarity + - ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E + - iwlwifi: mvm: skip power command when unbinding vif during CSA + - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() + - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap + - iwlwifi: pcie: fix context info memory leak + - iwlwifi: mvm: invalidate IDs of internal stations at mvm start + - iwlwifi: pcie: add rules to match Qu with Hr2 + - iwlwifi: mvm: guard against device removal in reprobe + - SUNRPC: Move simple_get_bytes and simple_get_netobj into private header + - SUNRPC: Handle 0 length opaque XDR object data properly + - i2c: mediatek: Move suspend and resume handling to NOIRQ phase + - blk-cgroup: Use cond_resched() when destroy blkgs + - regulator: Fix lockdep warning resolving supplies + - bpf: Fix verifier jmp32 pruning decision logic + - bpf: Fix verifier jsgt branch analysis on max bound + - drm/i915: Fix ICL MG PHY vswing handling + - drm/i915: Skip vswing programming for TBT + - nilfs2: make splice write available again + - squashfs: avoid out of bounds writes in decompressors + - squashfs: add more sanity checks in id lookup + - squashfs: add more sanity checks in inode lookup + - squashfs: add more sanity checks in xattr id lookup + - gpio: mxs: GPIO_MXS should not default to y unconditionally + - gpio: ep93xx: fix BUG_ON port F usage + - gpio: ep93xx: Fix single irqchip with multi gpiochips + - tracing: Do not count ftrace events in top level enable output + - tracing: Check length before giving out the filter buffer + - drm/i915: Fix overlay frontbuffer tracking + - arm/xen: Don't probe xenbus as part of an early initcall + - cgroup: fix psi monitor for root cgroup + - drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it + - drm/dp_mst: Don't report ports connected if nothing is attached to them + - dmaengine: move channel device_node deletion to driver + - soc: ti: omap-prm: Fix boot time errors for rst_map_012 bits 0 and 1 + - arm64: dts: rockchip: Fix PCIe DT properties on rk3399 + - arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc + - ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled + - arm64: dts: rockchip: remove interrupt-names property from rk3399 vdec node + - platform/x86: hp-wmi: Disable tablet-mode reporting by default + - ovl: perform vfs_getxattr() with mounter creds + - cap: fix conversions on getxattr + - ovl: skip getxattr of security labels + - scsi: lpfc: Fix EEH encountering oops with NVMe traffic + - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder + Lake CPUs + - x86/split_lock: Enable the split lock feature on another Alder Lake CPU + - nvme-pci: ignore the subsysem NQN on Phison E16 + - drm/amd/display: Fix DPCD translation for LTTPR AUX_RD_INTERVAL + - drm/amd/display: Add more Clock Sources to DCN2.1 + - drm/amd/display: Release DSC before acquiring + - drm/amd/display: Fix dc_sink kref count in emulated_link_detect + - drm/amd/display: Free atomic state after drm_atomic_commit + - drm/amd/display: Decrement refcount of dc_sink before reassignment + - riscv: virt_addr_valid must check the address belongs to linear mapping + - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL + - kallsyms: fix nonconverging kallsyms table with lld + - ARM: ensure the signal page contains defined contents + - ARM: kexec: fix oops after TLB are invalidated + - ubsan: implement __ubsan_handle_alignment_assumption + - x86/efi: Remove EFI PGD build time checks + - lkdtm: don't move ctors to .rodata + - cgroup-v1: add disabled controller check in cgroup1_parse_param() + - mt76: dma: fix a possible memory leak in mt76_add_fragment() + - drm/vc4: hvs: Fix buffer overflow with the dlist handling + - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 + - bpf: Check for integer overflow when using roundup_pow_of_two() + - netfilter: xt_recent: Fix attempt to update deleted entry + - netfilter: nftables: fix possible UAF over chains from packet path in netns + - netfilter: flowtable: fix tcp and udp header checksum update + - xen/netback: avoid race in xenvif_rx_ring_slots_available() + - net: hdlc_x25: Return meaningful error code in x25_open + - net: ipa: set error code in gsi_channel_setup() + - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() + - net: enetc: initialize the RFS and RSS memories + - selftests: txtimestamp: fix compilation issue + - net: stmmac: set TxQ mode back to DCB after disabling CBS + - ibmvnic: Clear failover_pending if unable to schedule + - netfilter: conntrack: skip identical origin tuple in same zone only + - scsi: scsi_debug: Fix a memory leak + - x86/build: Disable CET instrumentation in the kernel for 32-bit too + - net: hns3: add a check for queue_id in hclge_reset_vf_queue() + - net: hns3: add a check for tqp_index in hclge_get_ring_chain_from_mbx() + - net: hns3: add a check for index in hclge_get_rss_key() + - firmware_loader: align .builtin_fw to 8 + - drm/sun4i: tcon: set sync polarity for tcon1 channel + - drm/sun4i: dw-hdmi: always set clock rate + - drm/sun4i: Fix H6 HDMI PHY configuration + - drm/sun4i: dw-hdmi: Fix max. frequency for H6 + - clk: sunxi-ng: mp: fix parent rate change flag check + - i2c: stm32f7: fix configuration of the digital filter + - h8300: fix PREEMPTION build, TI_PRE_COUNT undefined + - scripts: set proper OpenSSL include dir also for sign-file + - rxrpc: Fix clearance of Tx/Rx ring when releasing a call + - udp: fix skb_copy_and_csum_datagram with odd segment sizes + - net: dsa: call teardown method on probe failure + - cpufreq: ACPI: Extend frequency tables to cover boost frequencies + - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not + there + - net: gro: do not keep too many GRO packets in napi->rx_list + - net: fix iteration for sctp transport seq_files + - net/vmw_vsock: fix NULL pointer dereference + - net/vmw_vsock: improve locking in vsock_connect_timeout() + - net: watchdog: hold device global xmit lock during tx disable + - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state + - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT + - vsock/virtio: update credit only if socket is not closed + - vsock: fix locking in vsock_shutdown() + - net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS + - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() + - ovl: expand warning in ovl_d_real() + - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq + - usb: dwc3: ulpi: fix checkpatch warning + - net: qrtr: Fix port ID for control messages + - mptcp: skip to next candidate if subflow has unacked data + - mt76: mt7915: fix endian issues + - mt76: mt7615: fix rdd mcu cmd endianness + - net: sched: incorrect Kconfig dependencies on Netfilter modules + - net: openvswitch: fix TTL decrement exception action execution + - net: bridge: Fix a warning when del bridge sysfs + - net: fix proc_fs init handling in af_packet and tls + - Xen/x86: don't bail early from clear_foreign_p2m_mapping() + - Xen/x86: also check kernel mapping in set_foreign_p2m_mapping() + - Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages() + - Xen/gntdev: correct error checking in gntdev_map_grant_pages() + - xen/arm: don't ignore return errors from set_phys_to_machine + - xen-blkback: don't "handle" error by BUG() + - xen-netback: don't "handle" error by BUG() + - xen-scsiback: don't "handle" error by BUG() + - xen-blkback: fix error handling in xen_blkbk_map() + - tty: protect tty_write from odd low-level tty disciplines + - btrfs: fix backport of 2175bf57dc952 in 5.10.13 + - media: pwc: Use correct device for DMA + - HID: make arrays usage and value to be the same + - RDMA: Lift ibdev_to_node from rds to common code + - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device + - USB: quirks: sort quirk entries + - usb: quirks: add quirk to start video capture on ELMO L-12F document camera + reliable + - ceph: downgrade warning from mdsmap decode to debug + - ntfs: check for valid standard information attribute + - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working + - arm64: tegra: Add power-domain for Tegra210 HDA + - hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist + - mm: unexport follow_pte_pmd + - mm: simplify follow_pte{,pmd} + - KVM: do not assume PTE is writable after follow_pfn + - mm: provide a saner PTE walking API for modules + - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() + - NET: usb: qmi_wwan: Adding support for Cinterion MV31 + - cxgb4: Add new T6 PCI device id 0x6092 + - kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 + - scripts/recordmcount.pl: support big endian for ARCH sh + * Groovy update: upstream stable patchset 2021-03-12 (LP: #1918987) + - net: fec: put child node on error path + - net: octeontx2: Make sure the buffer is 128 byte aligned + - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing + - net: dsa: bcm_sf2: put device node before return + - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP + - ibmvnic: Ensure that CRQ entry read are correctly ordered + - iommu/io-pgtable-arm: Support coherency for Mali LPAE + - drm/panfrost: Support cache-coherent integrations + - arm64: dts: meson: Describe G12b GPU as coherent + - arm64: Fix kernel address detection of __is_lm_address() + - arm64: Do not pass tagged addresses to __is_lm_address() + - ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD + - iommu/vt-d: Do not use flush-queue when caching-mode is on + - phy: cpcap-usb: Fix warning for missing regulator_disable + - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency + - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or + base_frequency + - platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on + Estar Beauty HD tablet + - platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352 + - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP + - x86: __always_inline __{rd,wr}msr() + - scsi: scsi_transport_srp: Don't block target in failfast state + - scsi: libfc: Avoid invoking response handler twice if ep is already + completed + - scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 + - ALSA: hda - add Intel DG1 PCI and HDMI ids + - ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid + - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid + - objtool: Don't add empty symbols to the rbtree + - mac80211: fix incorrect strlen of .write in debugfs + - mac80211: fix fast-rx encryption check + - scsi: ibmvfc: Set default timeout to avoid crash during migration + - i2c: tegra: Create i2c_writesl_vi() to use with VI I2C for filling TX FIFO + - udf: fix the problem that the disc content is not displayed + - nvme: check the PRINFO bit before deciding the host buffer length + - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout + - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout + - nvme-pci: allow use of cmb on v1.4 controllers + - nvmet: set right status on error in id-ns handler + - platform/x86: thinkpad_acpi: Add P53/73 firmware to fan_quirk_table for dual + fan control + - selftests/powerpc: Only test lwm/stmw on big endian + - drm/amd/display: Update dram_clock_change_latency for DCN2.1 + - drm/amd/display: Change function decide_dp_link_settings to avoid infinite + looping + - drm/amd/display: Use hardware sequencer functions for PG control + - objtool: Don't fail the kernel build on fatal errors + - x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel + CPU family + - x86/cpu: Add another Alder Lake CPU to the Intel family + - kthread: Extract KTHREAD_IS_PER_CPU + - workqueue: Restrict affinity change to rescuer + - Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT"" + - ACPI: thermal: Do not call acpi_thermal_check() directly + - USB: serial: cp210x: add pid/vid for WSDA-200-USB + - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 + - USB: serial: option: Adding support for Cinterion MV31 + - usb: host: xhci-plat: add priv quirk for skip PHY initialization + - usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 + - USB: gadget: legacy: fix an error code in eth_bind() + - usb: gadget: aspeed: add missing of_node_put + - USB: usblp: don't call usb_set_interface if there's a single alt + - usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop() + - usb: dwc2: Fix endpoint direction check in ep_from_windex + - usb: dwc3: fix clock issue during resume in OTG mode + - usb: xhci-mtk: fix unreleased bandwidth data + - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints + - usb: xhci-mtk: break loop when find the endpoint to drop + - ARM: OMAP1: OSK: fix ohci-omap breakage + - arm64: dts: qcom: c630: keep both touchpad devices enabled + - arm64: dts: amlogic: meson-g12: Set FL-adj property value + - arm64: dts: rockchip: fix vopl iommu irq on px30 + - arm64: dts: rockchip: Use only supported PCIe link speed on Pinebook Pro + - ARM: dts: stm32: Connect card-detect signal on DHCOM + - ARM: dts: stm32: Disable WP on DHCOM uSD slot + - um: virtio: free vu_dev only with the contained struct device + - arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4 + - r8169: work around RTL8125 UDP hw bug + - rxrpc: Fix deadlock around release of dst cached on udp tunnel + - arm64: dts: ls1046a: fix dcfg address range + - SUNRPC: Fix NFS READs that start at non-page-aligned offsets + - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr + - igc: check return value of ret_val in igc_config_fc_after_link_up + - i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" + - ibmvnic: device remove has higher precedence over reset + - net/mlx5: Fix leak upon failure of rule creation + - net/mlx5e: Update max_opened_tc also when channels are closed + - net/mlx5e: Release skb in case of failure in tc update skb + - net: lapb: Copy the skb before sending a packet + - net: mvpp2: TCAM entry enable should be written after SRAM data + - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set + - net: ipa: pass correct dma_handle to dma_free_coherent() + - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode + - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs + - memblock: do not start bottom-up allocations with kernel_end + - ovl: fix dentry leak in ovl_get_redirect + - mac80211: fix station rate table updates on assoc + - gpiolib: free device name on error path to fix kmemleak + - fgraph: Initialize tracing_graph_pause at task creation + - tracing/kprobe: Fix to support kretprobe events on unloaded modules + - kretprobe: Avoid re-registration of the same kretprobe earlier + - tracing: Use pause-on-trace with the latency tracers + - libnvdimm/namespace: Fix visibility of namespace resource attribute + - libnvdimm/dimm: Avoid race between probe and available_slots_show() + - genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 + - genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set + - scripts: use pkg-config to locate libcrypto + - xhci: fix bounce buffer usage for non-sg list case + - RISC-V: Define MAXPHYSMEM_1GB only for RV32 + - cifs: report error instead of invalid when revalidating a dentry fails + - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it + - smb3: Fix out-of-bounds bug in SMB2_negotiate() + - smb3: fix crediting for compounding when only one request in flight + - mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb + - mmc: core: Limit retries when analyse of SDIO tuples fails + - Fix unsynchronized access to sev members through svm_register_enc_region + - drm/i915/display: Prevent double YUV range correction on HDR planes + - drm/i915: Extract intel_ddi_power_up_lanes() + - drm/i915: Power up combo PHY lanes for for HDMI as well + - drm/amd/display: Revert "Fix EDID parsing after resume from suspend" + - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs + - KVM: SVM: Treat SVM as unsupported when running as an SEV guest + - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off + - KVM: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl + - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode + - DTS: ARM: gta04: remove legacy spi-cs-high to make display work again + - ARM: dts; gta04: SPI panel chip select is active low + - ARM: footbridge: fix dc21285 PCI configuration accessors + - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page + - mm: hugetlb: fix a race between freeing and dissolving the page + - mm: hugetlb: fix a race between isolating and freeing page + - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active + - mm, compaction: move high_pfn to the for loop scope + - mm: thp: fix MADV_REMOVE deadlock on shmem THP + - mm/filemap: add missing mem_cgroup_uncharge() to + __add_to_page_cache_locked() + - x86/build: Disable CET instrumentation in the kernel + - x86/debug: Fix DR6 handling + - x86/debug: Prevent data breakpoints on __per_cpu_offset + - x86/debug: Prevent data breakpoints on cpu_dr7 + - x86/apic: Add extra serialization for non-serializing MSRs + - Input: goodix - add support for Goodix GT9286 chip + - Input: xpad - sync supported devices with fork on GitHub + - Input: ili210x - implement pressure reporting for ILI251x + - md: Set prev_flush_start and flush_bio in an atomic way + - neighbour: Prevent a dead entry from updating gc_list + - net: ip_tunnel: fix mtu calculation + - udp: ipv4: manipulate network header of NATed UDP GRO fraglist + - net: dsa: mv88e6xxx: override existent unicast portvec in port_fdb_add + - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace + - iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues + * power off stress test will hang on the TGL machines (LP: #1919930) + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + * eeh-basic.sh from powerpc in ubuntu_kernel_selftests failed with unexpected + operator on F-5.8 (LP: #1909428) + - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant + + -- Stefan Bader Tue, 20 Apr 2021 11:42:28 +0200 + +linux-riscv-5.8 (5.8.0-22.24~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-22.24 ] + + * overlayfs calls vfs_setxattr without cap_convert_nscap + - vfs: move cap_convert_nscap() call into vfs_setxattr() + * 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 + * CVE-2021-29154 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-64 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-32 + + -- Thadeu Lima de Souza Cascardo Mon, 12 Apr 2021 22:13:45 -0300 + +linux-riscv-5.8 (5.8.0-21.23~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-21.23~20.04.1 -proposed tracker (LP: #1921050) + + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - [Config] riscv-5.8: prepare for bdc_pci being dropped + + [ Ubuntu: 5.8.0-21.23 ] + + * groovy/linux-riscv: 5.8.0-21.23 -proposed tracker (LP: #1921051) + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - [Config] riscv: Update policy for BDC_PCI changes + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - Revert "SiFive Unleashed CPUFreq" + - [Config] Update annotations for CPUFreq revert + - [Config] riscv: Updateconfigs after recent changes + * groovy/linux: 5.8.0-49.55 -proposed tracker (LP: #1921053) + * selftests: bpf verifier fails after sanitize_ptr_alu fixes (LP: #1920995) + - bpf: Simplify alu_limit masking for pointer arithmetic + - bpf: Add sanity check for upper ptr_limit + - bpf, selftests: Fix up some test_verifier cases for unprivileged + * Packaging resync (LP: #1786013) + - update dkms package versions + * improper memcg accounting causes NULL pointer derefs (LP: #1918668) + - SAUCE: Revert "mm: memcg/slab: optimize objcg stock draining" + * kernel: Enable CONFIG_BPF_LSM on Ubuntu (LP: #1905975) + - [Config] Enable CONFIG_BPF_LSM + * Groovy update: upstream stable patchset 2021-03-10 (LP: #1918516) + - gpio: mvebu: fix pwm .get_state period calculation + - HID: wacom: Correct NULL dereference on AES pen proximity + - media: v4l2-subdev.h: BIT() is not available in userspace + - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC + - kernel/io_uring: cancel io_uring before task works + - io_uring: dont kill fasync under completion_lock + - objtool: Don't fail on missing symbol table + - mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint + - mm: fix a race on nr_swap_pages + - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions + - iwlwifi: provide gso_type to GSO packets + - tty: avoid using vfs_iocb_iter_write() for redirected console writes + - ACPI: sysfs: Prefer "compatible" modalias + - kernel: kexec: remove the lock operation of system_transition_mutex + - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 + - ALSA: hda/via: Apply the workaround generically for Clevo machines + - parisc: Enable -mlong-calls gcc option by default when !CONFIG_MODULES + - media: cec: add stm32 driver + - media: hantro: Fix reset_raw_fmt initialization + - media: rc: fix timeout handling after switch to microsecond durations + - media: rc: ite-cir: fix min_timeout calculation + - media: rc: ensure that uevent can be read directly after rc device register + - ARM: dts: tbs2910: rename MMC node aliases + - ARM: dts: ux500: Reserve memory carveouts + - ARM: dts: imx6qdl-gw52xx: fix duplicate regulator naming + - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() + - ASoC: AMD Renoir - refine DMI entries for some Lenovo products + - drm/i915: Always flush the active worker before returning from the wait + - drm/i915/gt: Always try to reserve GGTT address 0x0 + - drivers/nouveau/kms/nv50-: Reject format modifiers for cursor planes + - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family + - s390: uv: Fix sysfs max number of VCPUs reporting + - s390/vfio-ap: No need to disable IRQ after queue reset + - PM: hibernate: flush swap writer after marking + - x86/entry: Emit a symbol for register restoring thunk + - efi/apple-properties: Reinstate support for boolean properties + - drivers: soc: atmel: Avoid calling at91_soc_init on non AT91 SoCs + - drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[] + - btrfs: fix possible free space tree corruption with online conversion + - KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in + intel_arch_events[] + - KVM: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() + - KVM: nVMX: Sync unsync'd vmcs02 state to vmcs12 on migration + - KVM: x86: get smi pending status correctly + - KVM: Forbid the use of tagged userspace addresses for memslots + - xen: Fix XenStore initialisation for XS_LOCAL + - leds: trigger: fix potential deadlock with libata + - arm64: dts: broadcom: Fix USB DMA address translation for Stingray + - mt7601u: fix kernel crash unplugging the device + - mt7601u: fix rx buffer refcounting + - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. + - drm/i915/gt: Clear CACHE_MODE prior to clearing residuals + - drm/i915/pmu: Don't grab wakeref when enabling events + - net/mlx5e: Fix IPSEC stats + - ARM: dts: imx6qdl-kontron-samx6i: fix pwms for lcd-backlight + - drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices + - drm/i915: Check for all subplatform bits + - drm/i915/selftest: Fix potential memory leak + - uapi: fix big endian definition of ipv6_rpl_sr_hdr + - KVM: Documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM + - tee: optee: replace might_sleep with cond_resched + - xen-blkfront: allow discard-* nodes to be optional + - clk: mmp2: fix build without CONFIG_PM + - clk: qcom: gcc-sm250: Use floor ops for sdcc clks + - ARM: imx: build suspend-imx6.S with arm instruction set + - ARM: zImage: atags_to_fdt: Fix node names on added root nodes + - netfilter: nft_dynset: add timeout extension to template + - Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" + - xfrm: Fix oops in xfrm_replay_advance_bmp + - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces + - xfrm: Fix wraparound in xfrm_policy_addr_delta() + - arm64: dts: ls1028a: fix the offset of the reset register + - ARM: dts: imx6qdl-kontron-samx6i: fix i2c_lcd/cam default status + - ARM: dts: imx6qdl-sr-som: fix some cubox-i platforms + - arm64: dts: imx8mp: Correct the gpio ranges of gpio3 + - firmware: imx: select SOC_BUS to fix firmware build + - RDMA/cxgb4: Fix the reported max_recv_sge value + - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete + - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() + - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn + - iwlwifi: pcie: set LTR on more devices + - iwlwifi: pcie: use jiffies for memory read spin time limit + - iwlwifi: pcie: reschedule in long-running memory reads + - mac80211: pause TX while changing interface type + - ice: fix FDir IPv6 flexbyte + - ice: Implement flow for IPv6 next header (extension header) + - ice: update dev_addr in ice_set_mac_address even if HW filter exists + - ice: Don't allow more channels than LAN MSI-X available + - ice: Fix MSI-X vector fallback logic + - i40e: acquire VSI pointer only after VF is initialized + - igc: fix link speed advertising + - net/mlx5: Fix memory leak on flow table creation error flow + - net/mlx5e: E-switch, Fix rate calculation for overflow + - net/mlx5e: free page before return + - net/mlx5e: Reduce tc unsupported key print level + - net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled + - net/mlx5e: Fix CT rule + encap slow path offload and deletion + - net/mlx5e: Correctly handle changing the number of queues when the interface + is down + - net/mlx5e: Revert parameters on errors when changing trust state without + reset + - net/mlx5e: Revert parameters on errors when changing MTU and LRO state + without reset + - can: dev: prevent potential information leak in can_fill_info() + - ACPI/IORT: Do not blindly trust DMA masks from firmware + - iommu/amd: Use IVHD EFR for early initialization of IOMMU features + - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() + - nvme-multipath: Early exit if no path is available + - selftests: forwarding: Specify interface when invoking mausezahn + - rxrpc: Fix memory leak in rxrpc_lookup_local + - NFC: fix resource leak when target index is invalid + - NFC: fix possible resource leak + - ASoC: topology: Properly unregister DAI on removal + - ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() + - team: protect features update by RCU to avoid deadlock + - tcp: make TCP_USER_TIMEOUT accurate for zero window probes + - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN + - ICMPv6: Add ICMPv6 Parameter Problem, code 3 definition + - IPv6: reply ICMP error if the first fragment don't include all headers + - iommu/vt-d: Gracefully handle DMAR units with no supported address widths + * xfrm_policy.sh in net from ubuntu_kernel_selftests passed with failed sub- + cases (LP: #1909647) + - selftests: xfrm: fix test return value override issue in xfrm_policy.sh + * CVE-2021-3347 + - futex: Remove put_futex_key() + - futex: Remove needless goto's + - futex: Replace pointless printk in fixup_owner() + - futex: Ensure the correct return value from futex_lock_pi() + - futex: Provide and use pi_state_update_owner() + - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() + - futex: Use pi_state_update_owner() in put_pi_state() + - futex: Simplify fixup_pi_state_owner() + - futex: Handle faults correctly for PI futexes + * CVE-2021-3348 + - nbd: freeze the queue while we're adding connections + * [Regression] ubuntu_bpf failed to build on Groovy (LP: #1917609) + - SAUCE: partially revert "bpf: Zero-fill re-used per-cpu map element" + * alsa/hda: the hdmi audio dosn't work on TGL machines (LP: #1917829) + - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload + - i2c: bpmp-tegra: Ignore unknown I2C_M flags + - platform/x86: i2c-multi-instantiate: Don't create platform device for + INT3515 ACPI nodes + - platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634 + - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() + - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T + - ALSA: hda/via: Add minimum mute flag + - dm crypt: fix copy and paste bug in crypt_alloc_req_aead + - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error + - btrfs: don't get an EINTR during drop_snapshot for reloc + - btrfs: do not double free backref nodes on error + - btrfs: fix lockdep splat in btrfs_recover_relocation + - btrfs: don't clear ret in btrfs_start_dirty_block_groups + - btrfs: send: fix invalid clone operations when cloning from the same file + and root + - writeback: Drop I_DIRTY_TIME_EXPIRE + - fs: fix lazytime expiration handling in __writeback_single_inode() + - pinctrl: ingenic: Fix JZ4760 support + - mmc: core: don't initialize block size from ext_csd if not present + - mmc: sdhci-of-dwcmshc: fix rpmb access + - mmc: sdhci-xenon: fix 1.8v regulator stabilization + - mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend + - dm: avoid filesystem lookup in dm_get_dev_t() + - dm integrity: fix a crash if "recalculate" used without "internal_hash" + - dm integrity: conditionally disable "recalculate" feature + - drm/atomic: put state on error path + - drm/syncobj: Fix use-after-free + - drm/amdgpu: remove gpu info firmware of green sardine + - drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case + - drm/i915/gt: Prevent use of engine->wa_ctx after error + - ASoC: Intel: haswell: Add missing pm_ops + - ASoC: rt711: mutex between calibration and power state changes + - SUNRPC: Handle TCP socket sends with kernel_sendpage() again + - HID: sony: select CONFIG_CRC32 + - dm integrity: select CRYPTO_SKCIPHER + - scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback + - scsi: qedi: Correct max length of CHAP secret + - scsi: scsi_debug: Fix memleak in scsi_debug_init() + - scsi: sd: Suppress spurious errors when WRITE SAME is being disabled + - riscv: Fix kernel time_init() + - riscv: Fix sifive serial driver + - riscv: Enable interrupts during syscalls with M-Mode + - HID: logitech-dj: add the G602 receiver + - HID: Ignore battery for Elan touchscreen on ASUS UX550 + - clk: tegra30: Add hda clock default rates to clock driver + - ALSA: hda/tegra: fix tegra-hda on tegra30 soc + - arm64: make atomic helpers __always_inline + - xen: Fix event channel callback via INTX/GSI + - x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery + - dts: phy: fix missing mdio device and probe failure of vsc8541-01 device + - riscv: defconfig: enable gpio support for HiFive Unleashed + - drm/amdgpu/psp: fix psp gfx ctrl cmds + - drm/amd/display: disable dcn10 pipe split by default + - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode + - drm/amd/display: Fix to be able to stop crc calculation + - drm/nouveau/bios: fix issue shadowing expansion ROMs + - drm/nouveau/privring: ack interrupts the same way as RM + - drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields + - drm/nouveau/mmu: fix vram heap sizing + - drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 + - io_uring: flush timeouts that should already have expired + - libperf tests: If a test fails return non-zero + - libperf tests: Fail when failing to get a tracepoint id + - RISC-V: Set current memblock limit + - RISC-V: Fix maximum allowed phsyical memory for RV32 + - pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting + - pinctrl: mediatek: Fix fallback call path + - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression + - scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM + - crypto: omap-sham - Fix link error without crypto-engine + - powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S + - powerpc: Fix alignment bug within the init sections + - arm64: entry: remove redundant IRQ flag tracing + - drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu() + - i2c: octeon: check correct size of maximum RECV_LEN packet + - platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow- + list + - platform/x86: hp-wmi: Don't log a warning on HPWMI_RET_UNKNOWN_COMMAND + errors + - gpio: sifive: select IRQ_DOMAIN_HIERARCHY rather than depend on it + - selftests: net: fib_tests: remove duplicate log test + - can: dev: can_restart: fix use after free bug + - can: vxcan: vxcan_xmit: fix use after free bug + - can: peak_usb: fix use after free bugs + - perf evlist: Fix id index for heterogeneous systems + - i2c: sprd: depend on COMMON_CLK to fix compile tests + - iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread + - iio: ad5504: Fix setting power-down state + - counter:ti-eqep: remove floor + - cifs: do not fail __smb_send_rqst if non-fatal signals are pending + - irqchip/mips-cpu: Set IPI domain parent chip + - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state + - x86/topology: Make __max_die_per_package available unconditionally + - x86/mmx: Use KFPU_387 for MMX string operations + - proc_sysctl: fix oops caused by incorrect command parameters + - mm: memcg/slab: optimize objcg stock draining + - io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state + - intel_th: pci: Add Alder Lake-S support + - intel_th: pci: Add Alder Lake CPU support + - intel_th: pci: Add Alder Lake-P support + - stm class: Fix module init return on allocation failure + - serial: mvebu-uart: fix tx lost characters at power off + - ehci: fix EHCI host controller initialization sequence + - USB: ehci: fix an interrupt calltrace error + - usb: gadget: aspeed: fix stop dma register setting. + - USB: gadget: dummy-hcd: Fix errors in port-reset handling + - usb: udc: core: Use lock when write to soft_connect + - [Config] updateconfigs for USB_BDC_PCI + - usb: bdc: Make bdc pci driver depend on BROKEN + - usb: cdns3: imx: fix writing read-only memory issue + - usb: cdns3: imx: fix can't create core device the second time issue + - xhci: make sure TRB is fully written before giving it to the controller + - xhci: tegra: Delay for disabling LFPS detector + - driver core: Extend device_is_dependent() + - x86/cpu/amd: Set __max_die_per_package on AMD + - cls_flower: call nla_ok() before nla_next() + - netfilter: rpfilter: mask ecn bits before fib lookup + - sh: dma: fix kconfig dependency for G2_DMA + - ASoC: SOF: Intel: fix page fault at probe if i915 init fails + - octeontx2-af: Fix missing check bugs in rvu_cgx.c + - net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext + - sh_eth: Fix power down vs. is_opened flag ordering + - cachefiles: Drop superfluous readpages aops NULL check + - lightnvm: fix memory leak when submit fails + - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too + - kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow + - kasan: fix incorrect arguments passing in kasan_add_zero_shadow + - tcp: fix TCP socket rehash stats mis-accounting + - net_sched: gen_estimator: support large ewma log + - udp: mask TOS bits in udp_v4_early_demux() + - ipv6: create multicast route with RTPROT_KERNEL + - net_sched: avoid shift-out-of-bounds in tcindex_set_parms() + - net_sched: reject silly cell_log in qdisc_get_rtab() + - ipv6: set multicast flag on the multicast route + - net: mscc: ocelot: allow offloading of bridge on top of LAG + - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled + - net: dsa: b53: fix an off by one in checking "vlan->vid" + - tcp: do not mess with cloned skbs in tcp_add_backlog() + - tcp: fix TCP_USER_TIMEOUT with zero window + - net: core: devlink: use right genl user_ptr when handling port param get/set + - pinctrl: qcom: Allow SoCs to specify a GPIO function that's not 0 + - pinctrl: qcom: No need to read-modify-write the interrupt status + - pinctrl: qcom: Properly clear "intr_ack_high" interrupts when unmasking + - pinctrl: qcom: Don't clear pending interrupts when enabling + - tty: implement write_iter + - tty: fix up hung_up_tty_write() conversion + - drm/i915/hdcp: Get conn while content_type changed + - seq_file: add seq_read_iter + - kernfs: implement ->read_iter + - kernfs: implement ->write_iter + - kernfs: wire up ->splice_read and ->splice_write + - fs/pipe: allow sendfile() to pipe again + - Commit 9bb48c82aced ("tty: implement write_iter") converted the tty layer to + use write_iter. Fix the redirected_tty_write declaration also in n_tty and + change the comparisons to use write_iter instead of write. also in n_tty and + change the comparisons to use write_iter instead of write. + * Enforce CONFIG_DRM_BOCHS=m (LP: #1916290) + - [Config] Enforce CONFIG_DRM_BOCHS=m + * Groovy update: upstream stable patchset 2021-02-25 (LP: #1916960) + - btrfs: reloc: fix wrong file extent type check to avoid false ENOENT + - btrfs: prevent NULL pointer dereference in extent_io_tree_panic + - ALSA: doc: Fix reference to mixart.rst + - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 + - ASoC: dapm: remove widget from dirty list on free + - x86/hyperv: check cpu mask after interrupt has been disabled + - drm/amdgpu: add green_sardine device id (v2) + - drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921) + - drm/amdgpu: add Green_Sardine APU flag + - drm/amdgpu: add green_sardine support for gpu_info and ip block setting (v2) + - drm/amdgpu: add soc15 common ip block support for green_sardine (v3) + - drm/amdgpu: add new device id for Renior + - drm/i915/gt: Limit VFE threads based on GT + - drm/i915/backlight: fix CPU mode backlight takeover on LPT + - drm/bridge: sii902x: Refactor init code into separate function + - dt-bindings: display: sii902x: Add supply bindings + - tracing/kprobes: Do the notrace functions check without kprobes on ftrace + - ext4: fix bug for rename with RENAME_WHITEOUT + - cifs: check pointer before freeing + - cifs: fix interrupted close commands + - riscv: return -ENOSYS for syscall -1 + - riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL + - mips: fix Section mismatch in reference + - mips: lib: uncached: fix non-standard usage of variable 'sp' + - MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB + - MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps + - MIPS: relocatable: fix possible boot hangup with KASLR enabled + - RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() + - ACPI: scan: Harden acpi_device_add() against device ID overflows + - xen/privcmd: allow fetching resource sizes + - compiler.h: Raise minimum version of GCC to 5.1 for arm64 + - mm/hugetlb: fix potential missing huge page size info + - mm/process_vm_access.c: include compat.h + - dm raid: fix discard limits for raid1 + - dm snapshot: flush merged data before committing metadata + - dm integrity: fix flush with external metadata device + - dm integrity: fix the maximum number of arguments + - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq + - stmmac: intel: change all EHL/TGL to auto detect phy addr + - r8152: Add Lenovo Powered USB-C Travel Hub + - btrfs: tree-checker: check if chunk item end overflows + - ext4: don't leak old mountpoint samples + - ARC: build: remove non-existing bootpImage from KBUILD_IMAGE + - ARC: build: add uImage.lzma to the top-level target + - ARC: build: add boot_targets to PHONY + - ARC: build: move symlink creation to arch/arc/Makefile to avoid race + - ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults + on xt875 + - ath11k: fix crash caused by NULL rx_channel + - netfilter: ipset: fixes possible oops in mtype_resize + - btrfs: fix async discard stall + - btrfs: merge critical sections of discard lock in workfn + - btrfs: fix transaction leak and crash after RO remount caused by qgroup + rescan + - regulator: bd718x7: Add enable times + - ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram + - habanalabs/gaudi: retry loading TPC f/w on -EINTR + - habanalabs: register to pci shutdown callback + - habanalabs: Fix memleak in hl_device_reset + - hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values + - lib/raid6: Let $(UNROLL) rules work with macOS userland + - spi: fix the divide by 0 error when calculating xfer waiting time + - arch/arc: add copy_user_page() to to fix build error on ARC + - misdn: dsp: select CONFIG_BITREVERSE + - net: ethernet: fs_enet: Add missing MODULE_LICENSE + - nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN + - nvme: avoid possible double fetch in handling CQE + - nvmet-rdma: Fix list_del corruption on queue establishment failure + - drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue + - drm/amdgpu: fix a GPU hang issue when remove device + - drm/amd/pm: fix the failure when change power profile for renoir + - drm/amdgpu: fix potential memory leak during navi12 deinitialization + - usb: typec: Fix copy paste error for NVIDIA alt-mode description + - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() + - ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI + - drm/msm: Call msm_init_vram before binding the gpu + - ARM: picoxcell: fix missing interrupt-parent properties + - poll: fix performance regression due to out-of-line __put_user() + - bpf: Simplify task_file_seq_get_next() + - bpf: Save correct stopping point in file seq iteration + - cfg80211: select CONFIG_CRC32 + - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev + - net/mlx5: Fix passing zero to 'PTR_ERR' + - net/mlx5: E-Switch, fix changing vf VLANID + - mm: don't put pinned pages into the swap cache + - perf intel-pt: Fix 'CPU too large' error + - dump_common_audit_data(): fix racy accesses to ->d_name + - ASoC: meson: axg-tdm-interface: fix loopback + - ASoC: meson: axg-tdmin: fix axg skew offset + - ASoC: Intel: fix error code cnl_set_dsp_D0() + - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY + - nvme: don't intialize hwmon for discovery controllers + - nvme-tcp: fix possible data corruption with bio merges + - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT + - NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock + - pNFS: We want return-on-close to complete when evicting the inode + - pNFS: Mark layout for return if return-on-close was not sent + - pNFS: Stricter ordering of layoutget and layoutreturn + - NFS: Adjust fs_context error logging + - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request + - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() + - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter + - NFS: nfs_delegation_find_inode_server must first reference the superblock + - NFS: nfs_igrab_and_active must first reference the superblock + - scsi: ufs: Fix possible power drain during system suspend + - ext4: fix superblock checksum failure when setting password salt + - RDMA/restrack: Don't treat as an error allocation ID wrapping + - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp + - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. + - RDMA/mlx5: Fix wrong free of blue flame register on error + - IB/mlx5: Fix error unwinding when set_has_smi_cap fails + - dm zoned: select CONFIG_CRC32 + - drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is + no reset-deassert MIPI-sequence + - drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout + - drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail + - mm, slub: consider rest of partial list if acquire_slab() fails + - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() + - net: sunrpc: interpret the return value of kstrtou32 correctly + - selftests: netfilter: Pass family parameter "-f" to conntrack tool + - dm: eliminate potential source of excessive kernel log noise + - ALSA: fireface: Fix integer overflow in transmit_midi_msg() + - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() + - netfilter: conntrack: fix reading nf_conntrack_buckets + - netfilter: nf_nat: Fix memleak in nf_nat_init + - netfilter: nft_compat: remove flush counter optimization + - kbuild: enforce -Werror=return-type + - [Config] updateconfigs for KPROBE_EVENTS_ON_NOTRACE + - x86/hyperv: Initialize clockevents after LAPIC is initialized + - bpf: Fix signed_{sub,add32}_overflows type handling + - nfsd4: readdirplus shouldn't return parent of export + - bpf: Don't leak memory in bpf getsockopt when optlen == 0 + - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling + - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback + - net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links + - net: fix use-after-free when UDP GRO with shared fraglist + - udp: Prevent reuseport_select_sock from reading uninitialized socks + - netxen_nic: fix MSI/MSI-x interrupts + - net: ipv6: Validate GSO SKB before finish IPv6 processing + - tipc: fix NULL deref in tipc_link_xmit() + - mlxsw: core: Add validation of transceiver temperature thresholds + - mlxsw: core: Increase critical threshold for ASIC thermal zone + - net: mvpp2: Remove Pause and Asym_Pause support + - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request + - esp: avoid unneeded kmap_atomic call + - net: dcb: Validate netlink message in DCB handler + - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands + - rxrpc: Call state should be read with READ_ONCE() under some circumstances + - i40e: fix potential NULL pointer dereferencing + - net: stmmac: Fixed mtu channged by cache aligned + - net: sit: unregister_netdevice on newlink's error path + - net: stmmac: fix taprio schedule configuration + - net: stmmac: fix taprio configuration when base_time is in the past + - net: avoid 32 x truesize under-estimation for tiny skbs + - rxrpc: Fix handling of an unsupported token type in rxrpc_read() + - net: stmmac: use __napi_schedule() for PREEMPT_RT + - drm/panel: otm8009a: allow using non-continuous dsi clock + - mac80211: do not drop tx nulldata packets on encrypted links + - mac80211: check if atf has been disabled in __ieee80211_schedule_txq + - net: dsa: unbind all switches from tree when DSA master unbinds + - cxgb4/chtls: Fix tid stuck due to wrong update of qid + - spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode + - spi: cadence: cache reference clock rate during probe + - usb: ohci: Make distrust_firmware param default to false + - elfcore: fix building with clang + - spi: npcm-fiu: simplify the return expression of npcm_fiu_probe() + - spi: npcm-fiu: Disable clock in probe error path + * CVE-2021-20239 + - net, sctp, filter: remap copy_from_user failure error + + -- Stefan Bader Thu, 25 Mar 2021 16:34:55 +0100 + +linux-riscv-5.8 (5.8.0-20.22~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-20.22 ] + + * CVE-2020-27170 + - bpf: Fix off-by-one for area size in creating mask to left + * CVE-2020-27171 + - bpf: Prohibit alu ops for pointer types not defining ptr_limit + + -- Stefan Bader Mon, 22 Mar 2021 11:46:44 +0100 + +linux-riscv-5.8 (5.8.0-19.21~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-19.21 ] + + * binary assembly failures with CONFIG_MODVERSIONS present (LP: #1919315) + - [Packaging] quiet (nomially) benign errors in BUILD script + * CVE-2021-3444 + - bpf: Fix 32 bit src register truncation on div/mod + - bpf: Fix truncation handling for mod32 dst reg wrt zero + * CVE-2021-27365 + - scsi: iscsi: Verify lengths on passthrough PDUs + - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output + - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE + * CVE-2021-27363 // CVE-2021-27364 + - scsi: iscsi: Restrict sessions and handles to admin capabilities + + -- Stefan Bader Thu, 18 Mar 2021 10:28:21 +0100 + +linux-riscv-5.8 (5.8.0-18.20~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-18.20~20.04.1 -proposed tracker (LP: #1916140) + + [ Ubuntu: 5.8.0-18.20 ] + + * groovy/linux-riscv: 5.8.0-18.20 -proposed tracker (LP: #1916141) + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - riscv: [Config] enable CONFIG_MODVERSIONS=y + - riscv: [Packaging] build canonical-certs.pem from branch/arch certs + - riscv: [Config] Allow ASM_MODVERSIONS + * groovy/linux: 5.8.0-45.51 -proposed tracker (LP: #1916143) + * 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 + - [Config] Allow ASM_MODVERSIONS and MODULE_REL_CRCS + * CVE-2021-20194 + - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou + - bpf, cgroup: Fix problematic bounds check + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/core: Emit a warning if the thermal zone is updated without ops + - thermal/core: Add critical and hot ops + - thermal/drivers/acpi: Use hot and critical ops + - thermal/drivers/rcar: Remove notification usage + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + * geneve overlay network on vlan interface broken with offload enabled + (LP: #1914447) + - net/mlx5e: Fix SWP offsets when vlan inserted by driver + * Groovy update: upstream stable patchset 2021-02-11 (LP: #1915473) + - net: cdc_ncm: correct overhead in delayed_ndp_size + - net: hns3: fix the number of queues actually used by ARQ + - net: hns3: fix a phy loopback fail issue + - net: stmmac: dwmac-sun8i: Balance internal PHY resource references + - net: stmmac: dwmac-sun8i: Balance internal PHY power + - net: vlan: avoid leaks on register_vlan_dev() failures + - net/sonic: Fix some resource leaks in error handling paths + - net: ipv6: fib: flush exceptions when purging route + - tools: selftests: add test for changing routes with PTMU exceptions + - net: fix pmtu check in nopmtudisc mode + - net: ip: always refragment ip defragmented packets + - octeontx2-af: fix memory leak of lmac and lmac->name + - nexthop: Fix off-by-one error in error path + - nexthop: Unlink nexthop group entry in error path + - s390/qeth: fix L2 header access in qeth_l3_osa_features_check() + - net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE + - net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address + - net/mlx5e: ethtool, Fix restriction of autoneg with 56G + - chtls: Fix hardware tid leak + - chtls: Remove invalid set_tcb call + - chtls: Fix panic when route to peer not configured + - chtls: Replace skb_dequeue with skb_peek + - chtls: Added a check to avoid NULL pointer dereference + - chtls: Fix chtls resources release sequence + - HID: wacom: Fix memory leakage caused by kfifo_alloc + - ARM: OMAP2+: omap_device: fix idling of devices during probe + - i2c: sprd: use a specific timeout to avoid system hang up issue + - dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk() + - can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver + - can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop() + - can: kvaser_pciefd: select CONFIG_CRC32 + - cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get() + - spi: stm32: FIFO threshold level - fix align packet size + - i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated + - dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling + path of the probe function + - dmaengine: xilinx_dma: check dma_async_device_register return value + - dmaengine: xilinx_dma: fix incompatible param warning in _child_probe() + - dmaengine: xilinx_dma: fix mixed_enum_type coverity warning + - qed: select CONFIG_CRC32 + - wil6210: select CONFIG_CRC32 + - block: rsxx: select CONFIG_CRC32 + - lightnvm: select CONFIG_CRC32 + - iommu/intel: Fix memleak in intel_irq_remapping_alloc + - bpftool: Fix compilation failure for net.o with older glibc + - net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups + - net/mlx5e: Fix two double free cases + - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev + - wan: ds26522: select CONFIG_BITREVERSE + - regulator: qcom-rpmh-regulator: correct hfsmps515 definition + - net: mvpp2: disable force link UP during port init procedure + - KVM: arm64: Don't access PMCR_EL0 when no PMU is available + - block: fix use-after-free in disk_part_iter_next + - net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed + packet + - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() + - drm/panfrost: Don't corrupt the queue mutex on open/close + - scsi: ufs: Fix -Wsometimes-uninitialized warning + - btrfs: skip unnecessary searches for xattrs when logging an inode + - net: stmmac: dwmac-sun8i: Fix probe error handling + - net: stmmac: dwmac-sun8i: Balance syscon (de)initialization + - net: bareudp: add missing error handling for bareudp_link_config() + - ptp: ptp_ines: prevent build when HAS_IOMEM is not set + - chtls: Avoid unnecessary freeing of oreq pointer + - nexthop: Bounce NHA_GATEWAY in FDB nexthop groups + - net/mlx5e: In skb build skip setting mark in switchdev mode + - ionic: start queues before announcing link up + - fanotify: Fix sys_fanotify_mark() on native x86-32 + - spi: spi-geni-qcom: Fix geni_spi_isr() NULL dereference in timeout case + - i2c: mediatek: Fix apdma and i2c hand-shake timeout + - interconnect: imx: Add a missing of_node_put after of_device_is_available + - dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of + the probe function + - arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA + - phy: dp83640: select CONFIG_CRC32 + - zonefs: select CONFIG_CRC32 + - iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() + - nvme-tcp: Fix possible race of io_work and direct send + - arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST + - drm/i915/dp: Track pm_qos per connector + - net: mvneta: fix error message when MTU too large for XDP + - selftests: fib_nexthops: Fix wrong mausezahn invocation + - block/rnbd-clt: avoid module unload race with close confirmation + - drm/panfrost: Remove unused variables in panfrost_job_close() + - tools headers UAPI: Sync linux/fscrypt.h with the kernel sources + * Fix the video can't output through WD19TB connected on TGL's Type-C port + during cold-boot (LP: #1913372) + - drm/dp/mst: Export drm_dp_get_vc_payload_bw() + - drm/i915: Fix the MST PBN divider calculation + * Fix regression introduced by codec PM change (LP: #1912676) + - ASoC: SOF: Intel: hda: Resume codec to do jack detection + - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN + - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend + - ALSA: hda: Balance runtime/system PM if direct-complete is disabled + * Restore palm ejection on multi-input devices (LP: #1913520) + - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices + * intel-hid is not loaded on new Intel platform (LP: #1907160) + - platform/x86: intel-hid: add Rocket Lake ACPI device ID + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + * Groovy update: upstream stable patchset 2021-02-05 (LP: #1914832) + - i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs + - iavf: fix double-release of rtnl_lock + - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs + - net: mvpp2: Add TCAM entry to drop flow control pause frames + - net: mvpp2: prs: fix PPPoE with ipv6 packet parse + - net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE + - ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() + - ethernet: ucc_geth: set dev->max_mtu to 1518 + - ionic: account for vlan tag len in rx buffer len + - atm: idt77252: call pci_disable_device() on error path + - net: mvpp2: Fix GoP port 3 Networking Complex Control configurations + - ibmvnic: fix login buffer memory leak + - ibmvnic: continue fatal error reset after passive init + - net: ethernet: mvneta: Fix error handling in mvneta_probe + - virtio_net: Fix recursive call to cpus_read_lock() + - net/ncsi: Use real net-device for response handler + - net: ethernet: Fix memleak in ethoc_probe + - net-sysfs: take the rtnl lock when storing xps_cpus + - net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc + - net-sysfs: take the rtnl lock when storing xps_rxqs + - net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc + - net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered + - tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS + - bnxt_en: Check TQM rings for maximum supported value. + - net: mvpp2: fix pkt coalescing int-threshold configuration + - bnxt_en: Fix AER recovery. + - ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() + - net: sched: prevent invalid Scell_log shift count + - net: hns: fix return value check in __lb_other_process() + - erspan: fix version 1 check in gre_parse_header() + - net: hdlc_ppp: Fix issues when mod_timer is called while timer is running + - bareudp: set NETIF_F_LLTX flag + - bareudp: Fix use of incorrect min_headroom size + - vhost_net: fix ubuf refcount incorrectly when sendmsg fails + - r8169: work around power-saving bug on some chip versions + - net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs + - net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access + - CDC-NCM: remove "connected" log message + - ibmvnic: fix: NULL pointer dereference. + - net: usb: qmi_wwan: add Quectel EM160R-GL + - stmmac: intel: Add PCI IDs for TGL-H platform + - workqueue: Kick a worker based on the actual activation of delayed works + - scsi: ufs: Fix wrong print message in dev_err() + - scsi: ufs-pci: Fix restore from S4 for Intel controllers + - scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk + ->poweroff() + - scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers + - blk-mq: remove the BLK_MQ_REQ_INTERNAL flag + - scsi: block: Introduce BLK_MQ_REQ_PM + - scsi: ide: Do not set the RQF_PREEMPT flag for sense requests + - scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT + - scsi: scsi_transport_spi: Set RQF_PM for domain validation commands + - scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE + - local64.h: make mandatory + - lib/genalloc: fix the overflow when size is too big + - depmod: handle the case of /sbin/depmod without /sbin in PATH + - scsi: ufs: Clear UAC for FFU and RPMB LUNs + - kbuild: don't hardcode depmod path + - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close + - scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT + - scsi: block: Do not accept any requests while suspended + - crypto: ecdh - avoid buffer overflow in ecdh_set_secret() + - crypto: asym_tpm: correct zero out potential secrets + - powerpc: Handle .text.{hot,unlikely}.* in linker script + - Staging: comedi: Return -EFAULT if copy_to_user() fails + - staging: mt7621-dma: Fix a resource leak in an error handling path + - usb: gadget: enable super speed plus + - USB: cdc-acm: blacklist another IR Droid device + - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). + - usb: dwc3: meson-g12a: disable clk on error handling path in probe + - usb: dwc3: gadget: Clear wait flag on dequeue + - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion + - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one + - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression + - usb: chipidea: ci_hdrc_imx: add missing put_device() call in + usbmisc_get_init_data() + - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set + - usb: usbip: vhci_hcd: protect shift size + - usb: uas: Add PNY USB Portable SSD to unusual_uas + - USB: serial: iuu_phoenix: fix DMA from stack + - USB: serial: option: add LongSung M5710 module support + - USB: serial: option: add Quectel EM160R-GL + - USB: yurex: fix control-URB timeout handling + - USB: usblp: fix DMA to stack + - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks + - usb: gadget: select CONFIG_CRC32 + - USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug + - usb: gadget: f_uac2: reset wMaxPacketSize + - usb: gadget: function: printer: Fix a memory leak for interface descriptor + - usb: gadget: u_ether: Fix MTU size mismatch with RX packet size + - USB: gadget: legacy: fix return error code in acm_ms_bind() + - usb: gadget: Fix spinlock lockup on usb_function_deactivate + - usb: gadget: configfs: Preserve function ordering after bind failure + - usb: gadget: configfs: Fix use-after-free issue with udc_name + - USB: serial: keyspan_pda: remove unused variable + - hwmon: (amd_energy) fix allocation of hwmon_channel_info config + - mm: make wait_on_page_writeback() wait for multiple pending writebacks + - x86/mm: Fix leak of pmd ptlock + - kvm: check tlbs_dirty directly + - task_work: cleanup notification modes + - x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR + - x86/resctrl: Don't move a task to the same resource group + - blk-iocost: fix NULL iocg deref from racing against initialization + - ALSA: hda/via: Fix runtime PM for Clevo W35xSS + - ALSA: hda/conexant: add a new hda codec CX11970 + - ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 + - ALSA: hda/realtek: Add mute LED quirk for more HP laptops + - ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256. + - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct + intel_svm_dev + - btrfs: send: fix wrong file path when there is an inode with a pending rmdir + - Revert "device property: Keep secondary firmware node secondary by type" + - dmabuf: fix use-after-free of dmabuf's file->f_inode + - arm64: link with -z norelro for LLD or aarch64-elf + - drm/i915: clear the shadow batch + - netfilter: x_tables: Update remaining dereference to RCU + - netfilter: ipset: fix shift-out-of-bounds in htable_bits() + - netfilter: xt_RATEEST: reject non-null terminated string from userspace + - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature + - dmaengine: idxd: off by one in cleanup code + - x86/mtrr: Correct the range check before performing MTRR type lookups + - KVM: x86: fix shift out of bounds reported by UBSAN + - rtlwifi: rise completion at the last step of firmware callback + * Groovy update: upstream stable patchset 2021-02-03 (LP: #1914472) + - net/sched: sch_taprio: reset child qdiscs before freeing them + - mptcp: fix security context on server socket + - ethtool: fix error paths in ethnl_set_channels() + - ethtool: fix string set id check + - md/raid10: initialize r10_bio->read_slot before use. + - drm/amd/display: Add get_dig_frontend implementation for DCEx + - io_uring: close a small race gap for files cancel + - jffs2: Allow setting rp_size to zero during remounting + - jffs2: Fix NULL pointer dereference in rp_size fs option parsing + - scsi: block: Fix a race in the runtime power management code + - mm/hugetlb: fix deadlock in hugetlb_cow error path + - mm: memmap defer init doesn't work as expected + - lib/zlib: fix inflating zlib streams on s390 + - uapi: move constants from to + - tools headers UAPI: Sync linux/const.h with the kernel headers + - cgroup: Fix memory leak when parsing multiple source parameters + - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c + - scsi: cxgb4i: Fix TLS dependency + - Bluetooth: hci_h5: close serdev device and free hu in h5_close + - fbcon: Disable accelerated scrolling + - reiserfs: add check for an invalid ih_entry_count + - misc: vmw_vmci: fix kernel info-leak by initializing dbells in + vmci_ctx_get_chkpt_doorbells() + - media: gp8psk: initialize stats at power control logic + - f2fs: fix shift-out-of-bounds in sanity_check_raw_super() + - ALSA: seq: Use bool for snd_seq_queue internal flags + - ALSA: rawmidi: Access runtime->avail always in spinlock + - bfs: don't use WARNING: string when it's just info. + - ext4: check for invalid block size early when mounting a file system + - fcntl: Fix potential deadlock in send_sig{io, urg}() + - rtc: sun6i: Fix memleak in sun6i_rtc_clk_init + - module: set MODULE_STATE_GOING state when a module fails to load + - quota: Don't overflow quota file offsets + - rtc: pl031: fix resource leak in pl031_probe + - powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() + - i3c master: fix missing destroy_workqueue() on error in i3c_master_register + - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode + - f2fs: avoid race condition for shrinker count + - module: delay kobject uevent until after module init call + - fs/namespace.c: WARN if mnt_count has become negative + - watchdog: rti-wdt: fix reference leak in rti_wdt_probe + - um: random: Register random as hwrng-core device + - um: ubd: Submit all data segments atomically + - ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails + - drm/amd/display: updated wm table for Renoir + - tick/sched: Remove bogus boot "safety" check + - s390: always clear kernel stack backchain before calling functions + - io_uring: remove racy overflow list fast checks + - ALSA: pcm: Clear the full allocated memory at hw_params + - dm verity: skip verity work if I/O error when system is shutting down + - rtc: pcf2127: move watchdog initialisation to a separate function + - rtc: pcf2127: only use watchdog when explicitly available + - dt-bindings: rtc: add reset-source property + - kdev_t: always inline major/minor helper functions + - ALSA: hda/realtek - Modify Dell platform name + - scsi: ufs: Allow an error return value from ->device_reset() + - scsi: ufs: Re-enable WriteBooster after device reset + - RDMA/siw,rxe: Make emulated devices virtual in the device tree + - fuse: fix bad inode + - rwsem: Implement down_read_killable_nested + - rwsem: Implement down_read_interruptible + - exec: Transform exec_update_mutex into a rw_semaphore + - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start + + [ Ubuntu: 5.8.0-17.19 ] + + * groovy/linux-riscv: 5.8.0-17.19 -proposed tracker (LP: #1914803) + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - [Config] riscv: updateconfigs for HAVE_64BIT_ALIGNED_ACCESS + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - [Config] riscv: updateconfigs for USB_SISUSBVGA_CON + - [Config] riscv: updateconfigs for ZSMALLOC_PGTABLE_MAPPING + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - [Config] riscv: update config for INFINIBAND_VIRT_DMA + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + * 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 + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + * 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) + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- Stefan Bader Wed, 24 Feb 2021 15:27:12 +0100 + +linux-riscv-5.8 (5.8.0-17.19~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-17.19~20.04.1 -proposed tracker (LP: #1914802) + + [ Ubuntu: 5.8.0-17.19 ] + + * groovy/linux-riscv: 5.8.0-17.19 -proposed tracker (LP: #1914803) + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - [Config] riscv: updateconfigs for HAVE_64BIT_ALIGNED_ACCESS + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - [Config] riscv: updateconfigs for USB_SISUSBVGA_CON + - [Config] riscv: updateconfigs for ZSMALLOC_PGTABLE_MAPPING + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - [Config] riscv: update config for INFINIBAND_VIRT_DMA + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + * 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 + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + * 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) + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- Kelsey Skunberg Wed, 10 Feb 2021 15:55:30 -0700 + +linux-riscv-5.8 (5.8.0-16.18~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-16.18~20.04.1 -proposed tracker (LP: #1914686) + + [ Ubuntu: 5.8.0-16.18 ] + + * groovy/linux-riscv: 5.8.0-16.18 -proposed tracker (LP: #1914687) + * groovy/linux: 5.8.0-43.49 -proposed tracker (LP: #1914689) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Exploitable vulnerabilities in AF_VSOCK implementation (LP: #1914668) + - vsock: fix the race conditions in multi-transport support + * groovy/linux: 5.8.0-41.46 -proposed tracker (LP: #1912219) + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) // nvme + drive fails after some time (LP: #1910866) + - Revert "nvme-pci: remove last_sq_tail" + * initramfs unpacking failed (LP: #1835660) + - SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 05 Feb 2021 10:25:37 +0100 + +linux-riscv-5.8 (5.8.0-14.16~20.04.3) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-14.16~20.04.3 -proposed tracker (LP: #1914039) + + * Use gcc-10 to build 5.8 riscv backport kernel for focal (LP: #1913864) + - [Packaging] Use gcc-10 for riscv 5.8 kernel build + + -- Kleber Sacilotto de Souza Mon, 01 Feb 2021 15:39:27 +0100 + +linux-riscv-5.8 (5.8.0-14.16~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-14.16~20.04.1 -proposed tracker (LP: #1912497) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + + [ Ubuntu: 5.8.0-14.16 ] + + * groovy/linux-riscv: 5.8.0-14.16 -proposed tracker (LP: #1911348) + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - clk: sifive: Extract prci core to common base + - clk: sifive: Use common name for prci configuration + - clk: sifive: Add a driver for the SiFive FU740 PRCI IP block + - clk: sifive: Fix the wrong bit field shift + - clk: sifive: Add clock enable and disable ops + - dt-bindings: riscv: sifive-l2-cache: convert bindings to json-schema + - dt-bindings: More whitespace clean-ups in schema files + - 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: fu740: prci: add YAML documentation for the FU740 PRCI + - dt-bindings: riscv: convert pwm bindings to json-schema + - dt-bindings: Explicitly allow additional properties in board/SoC schemas + - 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. + - HACK: Revert "of/device: Really only set bus DMA mask when appropriate" + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + - i2c: ocores: fix polling mode workaround on FU540-C000 SoC + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy + - [Config] Align configs with Unleashed defconfigs + - [Config] riscv: Hint ABI for missing modules + * groovy/linux: 5.8.0-39.44 -proposed tracker (LP: #1911350) + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + * groovy/linux: 5.8.0-38.43 -proposed tracker (LP: #1911143) + * CVE-2020-28374 + - SAUCE: target: fix XCOPY NAA identifier lookup + * Packaging resync (LP: #1786013) + - update dkms package versions + * 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 + + -- Seth Forshee Wed, 20 Jan 2021 10:54:11 -0600 + +linux-riscv-5.8 (5.8.0-13.15) focal; urgency=medium + + * Empty entry. + + -- Seth Forshee Wed, 13 Jan 2021 13:15:43 -0600 + +linux-riscv (5.8.0-13.15) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-13.15 -proposed tracker (LP: #1907574) + + [ Ubuntu: 5.8.0-34.37 ] + + * groovy/linux: 5.8.0-34.37 -proposed tracker (LP: #1907576) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + -- Stefan Bader Tue, 15 Dec 2020 10:33:23 +0100 + +linux-riscv (5.8.0-12.14) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-12.14 -proposed tracker (LP: #1907406) + + [ Ubuntu: 5.8.0-33.36 ] + + * groovy/linux: 5.8.0-33.36 -proposed tracker (LP: #1907408) + * raid10: discard leads to corrupted file system (LP: #1907262) + - Revert "dm raid: remove unnecessary discard limits for raid10" + - Revert "dm raid: fix discard limits for raid1 and raid10" + - Revert "md/raid10: improve discard request for far layout" + - Revert "md/raid10: improve raid10 discard request" + - Revert "md/raid10: pull codes that wait for blocked dev into one function" + - Revert "md/raid10: extend r10bio devs to raid disks" + - Revert "md: add md_submit_discard_bio() for submitting discard bio" + + -- Andrea Righi Wed, 09 Dec 2020 15:21:02 +0100 + +linux-riscv (5.8.0-11.13) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-11.13 -proposed tracker (LP: #1905863) + + * please promote modules from extra to modules for HiFive Unleashed + (LP: #1905620) + - [Packaging] Add HiFive Unleashed drivers to generic inclusion list + + [ Ubuntu: 5.8.0-32.34 ] + + * groovy/linux: 5.8.0-32.34 -proposed tracker (LP: #1905865) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + [ Ubuntu: 5.8.0-31.33 ] + + * groovy/linux: 5.8.0-31.33 -proposed tracker (LP: #1905299) + * Groovy 5.8 kernel hangs on boot on CPUs with eLLC (LP: #1903397) + - drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup + during fbdev init + * CVE-2020-4788 + - selftests/powerpc: rfi_flush: disable entry flush if present + - powerpc/64s: flush L1D on kernel entry + - powerpc/64s: flush L1D after user accesses + - selftests/powerpc: entry flush test + + -- Kleber Sacilotto de Souza Wed, 02 Dec 2020 16:57:23 +0100 + +linux-riscv (5.8.0-10.12) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-10.12 -proposed tracker (LP: #1904993) + + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + + -- Stefan Bader Fri, 20 Nov 2020 10:55:22 +0100 + +linux-riscv (5.8.0-9.11) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-9.11 -proposed tracker (LP: #1903192) + + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - [Packaging] riscv: module ocelot_board rename + + [ Ubuntu: 5.8.0-30.32 ] + + * groovy/linux: 5.8.0-30.32 -proposed tracker (LP: #1903194) + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + * EFI: Fails when BootCurrent entry does not exist (LP: #1899993) + - efivarfs: Replace invalid slashes with exclamation marks in dentries. + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull codes that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: fix discard limits for raid1 and raid10 + - dm raid: remove unnecessary discard limits for raid10 + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: extent_io: do extra check for extent buffer read write functions + - btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent() + - btrfs: extent-tree: kill the BUG_ON() in insert_inline_extent_backref() + - btrfs: ctree: check key order before merging tree blocks + * Tiger Lake PMC core driver fixes (LP: #1899883) + - platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name + - platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() + - platform/x86: pmc_core: Use descriptive names for LPM registers + - platform/x86: intel_pmc_core: Fix TigerLake power gating status map + - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value + * drm/i915/dp_mst - System would hang during the boot up. (LP: #1902469) + - Revert "UBUNTU: SAUCE: drm/i915/display: Fix null deref in + intel_psr_atomic_check()" + - drm/i915: Fix encoder lookup during PSR atomic check + * Undetected Data corruption in MPI workloads that use VSX for reductions on + POWER9 DD2.1 systems (LP: #1902694) + - powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation + - selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load + workaround + * [20.04 FEAT] Support/enhancement of NVMe IPL (LP: #1902179) + - s390/ipl: support NVMe IPL kernel parameters + * uvcvideo: add mapping for HEVC payloads (LP: #1895803) + - media: uvcvideo: Add mapping for HEVC payloads + * risc-v 5.8 kernel oops on ftrace tests (LP: #1894613) + - stop_machine, rcu: Mark functions as notrace + * Groovy update: v5.8.17 upstream stable release (LP: #1902137) + - xgb4: handle 4-tuple PEDIT to NAT mode translation + - ibmveth: Switch order of ibmveth_helper calls. + - ibmveth: Identify ingress large send packets. + - ipv4: Restore flowi4_oif update before call to xfrm_lookup_route + - mlx4: handle non-napi callers to napi_poll + - net: dsa: microchip: fix race condition + - net: fec: Fix phy_device lookup for phy_reset_after_clk_enable() + - net: fec: Fix PHY init after phy_reset_after_clk_enable() + - net: fix pos incrementment in ipv6_route_seq_next + - net: ipa: skip suspend/resume activities if not set up + - net: mptcp: make DACK4/DACK8 usage consistent among all subflows + - net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info + - net/smc: fix use-after-free of delayed events + - net/smc: fix valid DMBE buffer sizes + - net/tls: sendfile fails with ktls offload + - net: usb: qmi_wwan: add Cellient MPL200 card + - tipc: fix the skb_unshare() in tipc_buf_append() + - socket: fix option SO_TIMESTAMPING_NEW + - socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled + - can: m_can_platform: don't call m_can_class_suspend in runtime suspend + - can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt + - net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt + - net/ipv4: always honour route mtu during forwarding + - net_sched: remove a redundant goto chain check + - r8169: fix data corruption issue on RTL8402 + - binder: fix UAF when releasing todo list + - ALSA: bebob: potential info leak in hwdep_read() + - ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close + - tipc: re-configure queue limit for broadcast link + - tipc: fix incorrect setting window for bcast link + - chelsio/chtls: fix socket lock + - chelsio/chtls: correct netdevice for vlan interface + - chelsio/chtls: fix panic when server is on ipv6 + - chelsio/chtls: Fix panic when listen on multiadapter + - chelsio/chtls: correct function return and return type + - chelsio/chtls: fix writing freed memory + - ibmvnic: save changed mac address to adapter->mac_addr + - icmp: randomize the global rate limiter + - mptcp: initialize mptcp_options_received's ahmac + - net: ftgmac100: Fix Aspeed ast2600 TX hang issue + - net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device + - net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling + ether_setup + - net: Properly typecast int values to set sk_max_pacing_rate + - net/sched: act_ct: Fix adding udp port mangle operation + - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels + - nexthop: Fix performance regression in nexthop deletion + - nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in + nfc_genl_fw_download() + - r8169: fix operation under forced interrupt threading + - selftests: forwarding: Add missing 'rp_filter' configuration + - tcp: fix to update snd_wl1 in bulk receiver fast path + - net: ethernet: mtk-star-emac: select REGMAP_MMIO + - net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() + - ALSA: hda - Don't register a cb func if it is registered already + - ALSA: hda - Fix the return value if cb func is already registered + - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk + - ALSA: hda/realtek - set mic to auto detect on a HP AIO machine + - ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 + - ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 + - cifs: remove bogus debug code + - cifs: Return the error from crypt_message when enc/dec key not found. + - SMB3: Resolve data corruption of TCP server info fields + - SMB3.1.1: Fix ids returned in POSIX query dir + - smb3: do not try to cache root directory if dir leases not supported + - smb3: fix stat when special device file and mounted with modefromsid + - arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled + - KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI + - KVM: nVMX: Reset the segment cache when stuffing guest segs + - KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails + - KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages + - KVM: x86: Intercept LA57 to inject #GP fault when it's reserved + - KVM: SVM: Initialize prev_ga_tag before use + - ima: Don't ignore errors from crypto_shash_update() + - crypto: algif_aead - Do not set MAY_BACKLOG on the async path + - crypto: caam/qi - add fallback for XTS with more than 8B IV + - crypto: caam/qi - add support for more XTS key lengths + - RAS/CEC: Fix cec_init() prototype + - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() + - microblaze: fix kbuild redundant file warning + - EDAC/i5100: Fix error handling order in i5100_init_one() + - EDAC/aspeed: Fix handling of platform_get_irq() error + - EDAC/ti: Fix handling of platform_get_irq() error + - perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS + - x86/fpu: Allow multiple bits in clearcpuid= parameter + - arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions + - drivers/perf: xgene_pmu: Fix uninitialized resource struct + - drivers/perf: thunderx2_pmu: Fix memory resource error handling + - sched/fair: Fix wrong cpu selecting from isolated domain + - sched/fair: Use dst group while checking imbalance for NUMA balancer + - arm64: perf: Add missing ISB in armv8pmu_enable_counter() + - perf/x86/intel/uncore: Update Ice Lake uncore units + - perf/x86/intel/uncore: Reduce the number of CBOX counters + - perf/x86/intel/uncore: Fix the scale of the IMC free-running events + - x86/nmi: Fix nmi_handle() duration miscalculation + - x86/events/amd/iommu: Fix sizeof mismatch + - pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags + - pinctrl: qcom: Use return value from irq_set_wake() call + - perf/x86: Fix n_pair for cancelled txn + - perf/core: Fix race in the perf_mmap_close() function + - crypto: algif_skcipher - EBUSY on aio should be an error + - crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() + - crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call + - crypto: picoxcell - Fix potential race condition bug + - media: vivid: Fix global-out-of-bounds read in precalculate_color() + - media: tuner-simple: fix regression in simple_set_radio_freq + - crypto: ccree - fix runtime PM imbalance on error + - media: Revert "media: exynos4-is: Add missed check for + pinctrl_lookup_state()" + - media: hantro: h264: Get the correct fallback reference buffer + - media: hantro: postproc: Fix motion vector space allocation + - media: ov5640: Correct Bit Div register in clock tree diagram + - media: m5mols: Check function pointer in m5mols_sensor_power + - fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32 + - media: uvcvideo: Set media controller entity functions + - media: uvcvideo: Silence shift-out-of-bounds warning + - media: staging/intel-ipu3: css: Correctly reset some memory + - media: omap3isp: Fix memleak in isp_probe + - media: i2c: ov5640: Remain in power down for DVP mode unless streaming + - media: i2c: ov5640: Separate out mipi configuration from s_power + - media: i2c: ov5640: Enable data pins on poweron for DVP mode + - media: rcar_drif: Fix fwnode reference leak when parsing DT + - media: rcar_drif: Allocate v4l2_async_subdev dynamically + - media: rcar-csi2: Allocate v4l2_async_subdev dynamically + - spi: fsi: Handle 9 to 15 byte transfers lengths + - spi: fsi: Fix use of the bneq+ sequencer instruction + - spi: fsi: Implement restricted size for certain controllers + - spi: dw-pci: free previously allocated IRQs if desc->setup() fails + - crypto: omap-sham - fix digcnt register handling with export/import + - hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61} + - hwmon: (w83627ehf) Fix a resource leak in probe + - cypto: mediatek - fix leaks in mtk_desc_ring_alloc + - crypto: stm32/crc32 - Avoid lock if hardware is already used + - crypto: sun8i-ce - handle endianness of t_common_ctl + - media: mx2_emmaprp: Fix memleak in emmaprp_probe + - media: tc358743: initialize variable + - media: tc358743: cleanup tc358743_cec_isr + - media: rcar-vin: Fix a reference count leak. + - media: rockchip/rga: Fix a reference count leak. + - media: platform: fcp: Fix a reference count leak. + - media: camss: Fix a reference count leak. + - media: s5p-mfc: Fix a reference count leak + - media: stm32-dcmi: Fix a reference count leak + - media: ti-vpe: Fix a missing check and reference count leak + - regulator: resolve supply after creating regulator + - pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB + - spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() + - spi: spi-s3c64xx: Check return values + - hwmon: (bt1-pvt) Test sensor power supply on probe + - hwmon: (bt1-pvt) Cache current update timeout + - hwmon: (bt1-pvt) Wait for the completion with timeout + - btrfs: add owner and fs_info to alloc_state io_tree + - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue + - ath10k: provide survey info as accumulated data + - drm/vkms: fix xrgb on compute crc + - Bluetooth: hci_uart: Cancel init work before unregistering + - drm/amd/display: Fix wrong return value in dm_update_plane_state() + - drm/vgem: add missing platform_device_unregister() in vgem_init() + - drm/vkms: add missing platform_device_unregister() in vkms_init() + - drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel + - ath6kl: prevent potential array overflow in ath6kl_add_new_sta() + - ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() + - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error + handling path + - wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680 + - ASoC: qcom: lpass-platform: fix memory leak + - ASoC: qcom: lpass-cpu: fix concurrency issue + - ath11k: Fix possible memleak in ath11k_qmi_init_service + - brcmfmac: check ndev pointer + - mwifiex: Do not use GFP_KERNEL in atomic context + - staging: rtl8192u: Do not use GFP_KERNEL in atomic context + - drm/amd/display: fix potential integer overflow when shifting 32 bit + variable bl_pwm + - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() + - drm/gma500: fix error check + - scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()' + - scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call + - scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() + - scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() + - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() + - libbpf: Fix unintentional success return code in bpf_object__load + - wilc1000: Fix memleak in wilc_sdio_probe + - wilc1000: Fix memleak in wilc_bus_probe + - rtw88: don't treat NULL pointer as an array + - backlight: sky81452-backlight: Fix refcount imbalance on error + - staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() + - VMCI: check return value of get_user_pages_fast() for errors + - mm/error_inject: Fix allow_error_inject function signatures. + - drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel + - samples/bpf: Fix to xdpsock to avoid recycling frames + - drm/crc-debugfs: Fix memleak in crc_control_write + - Bluetooth: Clear suspend tasks on unregister + - selftests: vm: add fragment CONFIG_GUP_BENCHMARK + - scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN + - binder: Remove bogus warning on failed same-process transaction + - tty: serial: earlycon dependency + - pty: do tty_flip_buffer_push without port->lock in pty_write + - pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare() + - pwm: lpss: Add range limit check for the base_unit register value + - drivers/virt/fsl_hypervisor: Fix error handling path + - ath11k: fix a double free and a memory leak + - video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error + - video: fbdev: sis: fix null ptr dereference + - video: fbdev: radeon: Fix memleak in radeonfb_pci_register + - ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() + - scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk + - HID: roccat: add bounds checking in kone_sysfs_write_settings() + - drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check() + - drm/panfrost: Ensure GPU quirks are always initialised + - iomap: Clear page error before beginning a write + - iomap: Mark read blocks uptodate in write_begin + - selftests/lkdtm: Use "comm" instead of "diff" for dmesg + - Bluetooth: Re-order clearing suspend tasks + - pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser + - pinctrl: mcp23s08: Fix mcp23x17 precious range + - pinctrl: devicetree: Keep deferring even on timeout + - drm/msm/adreno: fix probe without iommu + - net/mlx5: Fix uninitialized variable warning + - net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow + - scsi: mpt3sas: Fix sync irqs + - net: stmmac: Fix incorrect location to set real_num_rx|tx_queues + - net: stmmac: use netif_tx_start|stop_all_queues() function + - xfs: force the log after remapping a synchronous-writes file + - cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE + - drm: mxsfb: check framebuffer pitch + - ima: Fix NULL pointer dereference in ima_file_hash + - ASoC: topology: disable size checks for bytes_ext controls if needed + - ASoC: tlv320adcx140: Fix digital gain range + - coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init + - coresight: fix offset by one error in counting ports + - coresight: cti: disclaim device only when it's claimed + - coresight: cti: remove pm_runtime_get_sync() from CPU hotplug + - coresight: etm4x: Ensure default perf settings filter user/kernel + - coresight: etm4x: Fix issues within reset interface of sysfs + - coresight: cti: Write regsiters directly in cti_enable_hw() + - coresight: etm4x: Handle unreachable sink in perf mode + - coresight: etm4x: Fix issues on trcseqevr access + - nvmem: core: fix missing of_node_put() in of_nvmem_device_get() + - selftests: mptcp: interpret \n as a new line + - selftests/bpf: Fix endianness issue in sk_assign + - selftests/bpf: Fix endianness issue in test_sockopt_sk + - xhci: don't create endpoint debugfs entry before ring buffer is set. + - net: dsa: rtl8366: Check validity of passed VLANs + - net: dsa: rtl8366: Refactor VLAN/PVID init + - net: dsa: rtl8366: Skip PVID setting if not requested + - net: wilc1000: clean up resource in error path of init mon interface + - ASoC: tas2770: Fix calling reset in probe + - ASoC: tas2770: Add missing bias level power states + - ASoC: tas2770: Fix required DT properties in the code + - ASoC: tas2770: Fix error handling with update_bits + - ASoC: tlv320aic32x4: Fix bdiv clock rate derivation + - net: dsa: rtl8366rb: Support all 4096 VLANs + - ASoC: SOF: control: add size checks for ext_bytes control .put() + - ASoC: tas2770: Fix unbalanced calls to pm_runtime + - spi: omap2-mcspi: Improve performance waiting for CHSTAT + - ath11k: Add checked value for ath11k_ahb_remove + - ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() + - drm: rcar-du: Put reference to VSP device + - phy: rockchip-dphy-rx0: Include linux/delay.h + - dmaengine: dmatest: Check list for emptiness before access its last entry + - ASoC: cros_ec_codec: fix kconfig dependency warning for + SND_SOC_CROS_EC_CODEC + - misc: mic: scif: Fix error handling path + - ALSA: seq: oss: Avoid mutex lock for a long-time ioctl + - usb: dwc2: Fix parameter type in function pointer prototype + - usb: dwc3: core: Properly default unspecified speed + - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails + - rtw88: Fix probe error handling race with firmware loading + - rtw88: Fix potential probe error handling race with wow firmware loading + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon + - quota: clear padding in v2r1_mem2diskdqb() + - slimbus: core: check get_addr before removing laddr ida + - slimbus: core: do not enter to clock pause mode in core + - slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback + - ASoC: fsl_sai: Instantiate snd_soc_dai_driver + - HID: hid-input: fix stylus battery reporting + - tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n + - nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() + - hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions + - nl80211: fix OBSS PD min and max offset validation + - iomap: Use kzalloc to allocate iomap_page + - coresight: etm: perf: Fix warning caused by etm_setup_aux failure + - coresight: cti: Fix remove sysfs link error + - coresight: cti: Fix bug clearing sysfs links on callback + - coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register + - ibmvnic: set up 200GBPS speed + - bpf: disallow attaching modify_return tracing functions to other BPF + programs + - selftests: Remove fmod_ret from test_overhead + - qtnfmac: fix resource leaks on unsupported iftype error return path + - pinctrl: aspeed: Use the right pinconf mask + - iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate() + - iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling + - net: enic: Cure the enic api locking trainwreck + - mfd: sm501: Fix leaks in probe() + - ASoC: wm_adsp: Pass full name to snd_ctl_notify + - iwlwifi: mvm: split a print to avoid a WARNING in ROC + - iwlwifi: dbg: remove no filter condition + - iwlwifi: dbg: run init_cfg function once per driver load + - usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above. + - usb: gadget: u_serial: clear suspended flag when disconnecting + - usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well + - bus: mhi: core: Fix the building of MHI module + - ocxl: fix kconfig dependency warning for OCXL + - nl80211: fix non-split wiphy information + - usb: dwc2: Fix INTR OUT transfers in DDMA mode. + - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized + - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() + - dmaengine: ioat: Allocate correct size for descriptor chunk + - ipmi_si: Fix wrong return value in try_smi_init() + - tracing: Fix parse_synth_field() error handling + - platform/x86: mlx-platform: Remove PSU EEPROM configuration + - mwifiex: fix double free + - drm/panfrost: increase readl_relaxed_poll_timeout values + - ipvs: clear skb->tstamp in forwarding path + - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup + - net: korina: fix kfree of rx/tx descriptor array + - netfilter: nf_log: missing vlan offload tag and proto + - mm/swapfile.c: fix potential memory leak in sys_swapon + - mm/memcg: fix device private memcg accounting + - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary + - fs: fix NULL dereference due to data race in prepend_path() + - selftests/ftrace: Change synthetic event name for inter-event-combined test + - tracing: Handle synthetic event array field type checking correctly + - i3c: master add i3c_master_attach_boardinfo to preserve boardinfo + - IB/mlx4: Fix starvation in paravirt mux/demux + - IB/mlx4: Adjust delayed work when a dup is observed + - powerpc/pseries: Fix missing of_node_put() in rng_init() + - powerpc/icp-hv: Fix missing of_node_put() in success path + - rcu/tree: Force quiescent state on callback overload + - rcutorture: Properly set rcu_fwds for OOM handling + - RDMA/ucma: Fix locking for ctx->events_reported + - RDMA/ucma: Add missing locking around rdma_leave_multicast() + - mtd: lpddr: fix excessive stack usage with clang + - RDMA/hns: Add a check for current state before modifying QP + - RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() + - powerpc/pseries: explicitly reschedule during drmem_lmb list traversal + - pseries/drmem: don't cache node id in drmem_lmb struct + - RDMA/mlx5: Fix potential race between destroy and CQE poll + - mtd: mtdoops: Don't write panic data twice + - perf tools: Make GTK2 support opt-in + - tools feature: Add missing -lzstd to the fast path feature detection + - ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values + - xfs: fix finobt btree block recovery ordering + - m68knommu: include SDHC support only when hardware has it + - arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER + - ida: Free allocated bitmap in error path + - xfs: limit entries returned when counting fsmap records + - xfs: fix deadlock and streamline xfs_getfsmap performance + - nfs: add missing "posix" local_lock constant table definition + - xfs: fix high key handling in the rt allocator's query_range function + - RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init + - RDMA/core: Delete function indirection for alloc/free kernel CQ + - RDMA: Allow fail of destroy CQ + - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page + boundary + - RDMA/umem: Prevent small pages from being returned by + ib_umem_find_best_pgsz() + - RDMA/qedr: Fix qp structure memory leak + - RDMA/qedr: Fix doorbell setting + - RDMA/qedr: Fix use of uninitialized field + - RDMA/qedr: Fix return code if accept is called on a destroyed qp + - RDMA/qedr: Fix inline size returned for iWARP + - powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory + - powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors + - powerpc/watchpoint: Fix handling of vector instructions + - powerpc/watchpoint: Add hw_len wherever missing + - powerpc/book3s64/hash/4k: Support large linear mapping range with 4K + - powerpc/tau: Use appropriate temperature sample interval + - powerpc/tau: Convert from timer to workqueue + - powerpc/tau: Remove duplicated set_thresholds() call + - powerpc/tau: Check processor type before enabling TAU interrupt + - powerpc/tau: Disable TAU between measurements + - powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx + - powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm + - RDMA/cma: Combine cma_ndev_work with cma_work + - RDMA/cma: Remove dead code for kernel rdmacm multicast + - RDMA/cma: Consolidate the destruction of a cma_multicast in one place + - RDMA/cma: Fix use after free race in roce multicast join + - perf intel-pt: Fix "context_switch event has no tid" error + - RDMA/qedr: Fix resource leak in qedr_create_qp + - RDMA/hns: Set the unsupported wr opcode + - RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() + - RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled + - RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work + - i40iw: Add support to make destroy QP synchronous + - perf stat: Skip duration_time in setup_system_wide + - RDMA/hns: Add check for the validity of sl configuration + - RDMA/hns: Solve the overflow of the calc_pg_sz() + - RDMA/hns: Fix the wrong value of rnr_retry when querying qp + - RDMA/hns: Fix configuration of ack_req_freq in QPC + - RDMA/hns: Fix missing sq_sig_type when querying QP + - mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access + - mtd: rawnand: stm32_fmc2: fix a buffer overflow + - mtd: rawnand: vf610: disable clk on error handling path in probe + - mtd: spinand: gigadevice: Only one dummy byte in QUADIO + - mtd: spinand: gigadevice: Add QE Bit + - mtd: rawnand: ams-delta: Fix non-OF build warning + - kdb: Fix pager search for multi-line strings + - overflow: Include header file with SIZE_MAX declaration + - RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces + - powerpc/64: fix irq replay missing preempt + - powerpc/64: fix irq replay pt_regs->softe value + - powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints + - powerpc/perf/hv-gpci: Fix starting index value + - perf stat: Fix out of bounds CPU map access when handling armv8_pmu events + - i3c: master: Fix error return in cdns_i3c_master_probe() + - powerpc/papr_scm: Add PAPR command family to pass-through command-set + - cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier + - IB/rdmavt: Fix sizeof mismatch + - RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() + - f2fs: reject CASEFOLD inode flag without casefold feature + - um: vector: Use GFP_ATOMIC under spin lock + - um: time-travel: Fix IRQ handling in time_travel_handle_message() + - maiblox: mediatek: Fix handling of platform_get_irq() error + - perf trace: Fix off by ones in memset() after realloc() in arches using + libaudit + - selftests/powerpc: Fix eeh-basic.sh exit codes + - f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info + - afs: Fix rapid cell addition/removal by not using RCU on cells tree + - afs: Fix cell refcounting by splitting the usage counter + - afs: Fix cell purging with aliases + - afs: Fix cell removal + - RDMA/rxe: Handle skb_clone() failure in rxe_recv.c + - mm/page_owner: change split_page_owner to take a count + - lib/crc32.c: fix trivial typo in preprocessor condition + - ramfs: fix nommu mmap with gaps in the page cache + - rapidio: fix error handling path + - rapidio: fix the missed put_device() for rio_mport_add_riodev + - mailbox: avoid timer start from callback + - clk: meson: axg-audio: separate axg and g12a regmap tables + - rtc: ds1307: Clear OSF flag on DS1388 when setting time + - i2c: rcar: Auto select RESET_CONTROLLER + - clk: meson: g12a: mark fclk_div2 as critical + - PCI: designware-ep: Fix the Header Type check + - PCI: aardvark: Fix compilation on s390 + - PCI: aardvark: Check for errors from pci_bridge_emul_init() call + - PCI: iproc: Set affinity mask on MSI interrupts + - rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge() + - rpmsg: Avoid double-free in mtk_rpmsg_register_device + - PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY + - vfio: add a singleton check for vfio_group_pin_pages + - s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY + - vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn + - vfio: fix a missed vfio group put in vfio_pin_pages + - vfio/type1: fix dirty bitmap calculation in vfio_dma_rw + - clk: qcom: gcc-sdm660: Fix wrong parent_map + - clk: keystone: sci-clk: fix parsing assigned-clock data during probe + - pwm: rockchip: Keep enabled PWMs running while probing + - pwm: img: Fix null pointer access in probe + - remoteproc/mediatek: fix null pointer dereference on null scp pointer + - PCI: hv: Fix hibernation in case interrupts are not re-created + - clk: rockchip: Initialize hw to error to avoid undefined behavior + - clk: mediatek: add UART0 clock support + - module: statically initialize init section freeing data + - clk: at91: clk-main: update key before writing AT91_CKGR_MOR + - clk: bcm2835: add missing release if devm_clk_hw_register fails + - kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n + - watchdog: Fix memleak in watchdog_cdev_register + - watchdog: Use put_device on error + - watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 + - svcrdma: fix bounce buffers for unaligned offsets and multiple pages + - ext4: fix dead loop in ext4_mb_new_blocks + - ext4: discard preallocations before releasing group lock + - ext4: disallow modifying DAX inode flag if inline_data has been set + - ext4: limit entries returned when counting fsmap records + - vfio/pci: Clear token on bypass registration failure + - vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages + - clk: imx8mq: Fix usdhc parents order + - SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() + - platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command + - Input: elants_i2c - fix typo for an attribute to show calibration count + - Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume() + - Input: stmfts - fix a & vs && typo + - Input: ep93xx_keypad - fix handling of platform_get_irq() error + - Input: omap4-keypad - fix handling of platform_get_irq() error + - Input: twl4030_keypad - fix handling of platform_get_irq() error + - Input: sun4i-ps2 - fix handling of platform_get_irq() error + - KVM: x86: emulating RDPID failure shall return #UD rather than #GP + - scsi: bfa: Fix error return in bfad_pci_init() + - arm64: mm: use single quantity to represent the PA to VA translation + - netfilter: conntrack: connection timeout after re-register + - netfilter: ebtables: Fixes dropping of small packets in bridge nat + - netsec: ignore 'phy-mode' device property on ACPI systems + - netfilter: nf_fwd_netdev: clear timestamp in forwarding path + - soc: xilinx: Fix error code in zynqmp_pm_probe() + - arm64: dts: meson: vim3: correct led polarity + - ARM: dts: imx6sl: fix rng node + - ARM: at91: pm: of_node_put() after its usage + - ARM: s3c24xx: fix mmc gpio lookup tables + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator + - arm64: dts: allwinner: h5: remove Mali GPU PMU module + - memory: omap-gpmc: Fix a couple off by ones + - memory: omap-gpmc: Fix build error without CONFIG_OF + - arm64: dts: qcom: sc7180: Fix the LLCC base register size + - memory: fsl-corenet-cf: Fix handling of platform_get_irq() error + - firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free + - arm64: dts: imx8mq: Add missing interrupts to GPC + - arm64: dts: qcom: sc7180: Drop flags on mdss irqs + - soc: qcom: pdr: Fixup array type of get_domain_list_resp message + - arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name + - arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec + - arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts + - soc: qcom: apr: Fixup the error displayed on lookup failure + - dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset + - arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels + - arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels + - arm64: dts: mt8173: elm: Fix nor_flash node property + - arm64: dts: actions: limit address range for pinctrl node + - ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers + - soc: fsl: qbman: Fix return value on success + - ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails + - ARM: dts: stm32: Fix sdmmc2 pins on AV96 + - ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays + - ARM: dts: stm32: Move ethernet PHY into DH SoM DT + - ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM + - ARM: dts: stm32: Fix DH PDK2 display PWM channel + - ARM: dts: iwg20d-q7-common: Fix touch controller probe failure + - soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api + - drm/mediatek: reduce clear event + - arm64: dts: zynqmp: Remove additional compatible string for i2c IPs + - ARM: dts: meson8: remove two invalid interrupt lines from the GPU node + - lightnvm: fix out-of-bounds write to array devices->info[] + - powerpc/powernv/dump: Fix race while processing OPAL dump + - powerpc/pseries: Avoid using addr_to_pfn in real mode + - nvmet: fix uninitialized work for zero kato + - KVM: ioapic: break infinite recursion on lazy EOI + - NTB: hw: amd: fix an issue about leak system resources + - ntb: intel: Fix memleak in intel_ntb_pci_probe + - sched/features: Fix !CONFIG_JUMP_LABEL case + - perf: correct SNOOPX field offset + - i2c: core: Restore acpi_walk_dep_device_list() getting called after + registering the ACPI i2c devs + - md/bitmap: fix memory leak of temporary bitmap + - block: ratelimit handle_bad_sector() message + - x86/dumpstack: Fix misleading instruction pointer error message + - crypto: ccp - fix error handling + - x86/asm: Replace __force_order with a memory clobber + - x86/mce: Add Skylake quirk for patrol scrub reported errors + - media: firewire: fix memory leak + - media: ati_remote: sanity check for both endpoints + - media: st-delta: Fix reference count leak in delta_run_work + - media: sti: Fix reference count leaks + - media: exynos4-is: Fix several reference count leaks due to + pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak + - media: vsp1: Fix runtime PM imbalance on error + - media: platform: s3c-camif: Fix runtime PM imbalance on error + - media: platform: sti: hva: Fix runtime PM imbalance on error + - media: bdisp: Fix runtime PM imbalance on error + - media: media/pci: prevent memory leak in bttv_probe + - x86/mce: Annotate mce_rd/wrmsrl() with noinstr + - crypto: hisilicon - fixed memory allocation error + - spi: fsi: Fix clock running too fast + - x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR + - media: uvcvideo: Ensure all probed info is returned to v4l2 + - mmc: sdio: Check for CISTPL_VERS_1 buffer size + - media: saa7134: avoid a shift overflow + - media: atomisp: fix memleak in ia_css_stream_create + - media: venus: fixes for list corruption + - fs: dlm: fix configfs memory leak + - media: venus: core: Fix error handling in probe + - media: venus: core: Fix runtime PM imbalance in venus_probe + - ntfs: add check for mft record size in superblock + - ip_gre: set dev->hard_header_len and dev->needed_headroom properly + - mac80211: handle lack of sband->bitrates in rates + - staging: wfx: fix handling of MMIC error + - libbpf: Close map fd if init map slots failed + - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI + - PM: hibernate: remove the bogus call to get_gendisk() in software_resume() + - scsi: mvumi: Fix error return in mvumi_io_attach() + - scsi: target: core: Add CONTROL field for trace events + - mic: vop: copy data to kernel space then write to io memory + - misc: vop: add round_up(x,4) for vring_size to avoid kernel panic + - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc + - usb: gadget: function: printer: fix use-after-free in __lock_acquire + - udf: Limit sparing table size + - udf: Avoid accessing uninitialized data on failed inode read + - rtw88: increse the size of rx buffer size + - USB: cdc-acm: handle broken union descriptors + - usb: dwc3: simple: add support for Hikey 970 + - habanalabs: cast to u64 before shift > 31 bits + - can: flexcan: flexcan_chip_stop(): add error handling and propagate error + value + - HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons + - ath9k: hif_usb: fix race condition between usb_get_urb() and + usb_kill_anchored_urbs() + - drm/panfrost: add Amlogic GPU integration quirks + - drm/panfrost: add amlogic reset quirk callback + - drm/panfrost: add support for vendor quirk + - bpf: Limit caller's stack depth 256 for subprogs with tailcalls + - misc: rtsx: Fix memory leak in rtsx_pci_probe + - reiserfs: only call unlock_new_inode() if I_NEW + - opp: Prevent memory leak in dev_pm_opp_attach_genpd() + - xfs: make sure the rt allocator doesn't run off the end + - usb: ohci: Default to per-port over-current protection + - drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create + - Bluetooth: Only mark socket zapped after unlocking + - drm/msm/a6xx: fix a potential overflow issue + - iomap: fix WARN_ON_ONCE() from unprivileged users + - scsi: ibmvfc: Fix error return in ibmvfc_probe() + - scsi: qla2xxx: Warn if done() or free() are called on an already freed srb + - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change + - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy + - rtl8xxxu: prevent potential memory leak + - Fix use after free in get_capset_info callback. + - HID: ite: Add USB id match for Acer One S1003 keyboard dock + - scsi: qedf: Return SUCCESS if stale rport is encountered + - scsi: qedi: Mark all connections for recovery on link down event + - scsi: qedi: Protect active command list to avoid list corruption + - scsi: qedi: Fix list_del corruption while removing active I/O + - fbmem: add margin check to fb_check_caps() + - tty: ipwireless: fix error handling + - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb + - ipvs: Fix uninit-value in do_ip_vs_set_ctl() + - reiserfs: Fix memory leak in reiserfs_parse_options() + - s390/qeth: strictly order bridge address events + - mwifiex: don't call del_timer_sync() on uninitialized timer + - ALSA: hda/ca0132 - Add AE-7 microphone selection commands. + - ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. + - ASoC: SOF: Add topology filename override based on dmi data match + - ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 + - scsi: smartpqi: Avoid crashing kernel for controller issues + - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach + - usb: core: Solve race condition in anchor cleanup functions + - scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() + - drm/amd/display: Screen corruption on dual displays (DP+USB-C) + - dmaengine: dw: Add DMA-channels mask cell support + - dmaengine: dw: Activate FIFO-mode for memory peripherals only + - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() + - net: korina: cast KSEG0 address to pointer in kfree + - s390/qeth: don't let HW override the configured port role + - tty: serial: lpuart: fix lpuart32_write usage + - tty: serial: fsl_lpuart: fix lpuart32_poll_get_char + - usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root + - usb: cdc-acm: add quirk to blacklist ETAS ES58X devices + - USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync(). + - usb: cdns3: gadget: free interrupt after gadget has deleted + - eeprom: at25: set minimum read/write access stride to 1 + - usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets. + - Linux 5.8.17 + * RTL8822BE [10ec:b822] network driver rtl_wifi crashes on boot in Focal Fossa + 20.04 - 5.4.0-21-generic and mainline 5.7.0-050700rc1-generic + (LP: #1872984) // Groovy update: v5.8.17 upstream stable release + (LP: #1902137) + - rtw88: pci: Power cycle device during shutdown + * Groovy update: v5.8.16 upstream stable release (LP: #1902132) + - crypto: bcm - Verify GCM/CCM key length in setkey + - crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA + - Bluetooth: Disconnect if E0 is used for Level 4 + - media: usbtv: Fix refcounting mixup + - USB: serial: option: add Cellient MPL200 card + - USB: serial: option: Add Telit FT980-KS composition + - staging: comedi: check validity of wMaxPacketSize of usb endpoints found + - USB: serial: pl2303: add device-id for HP GC device + - USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters + - reiserfs: Initialize inode keys properly + - reiserfs: Fix oops during mount + - Linux 5.8.16 + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h + - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts + - fbcon: Fix global-out-of-bounds read in fbcon_get_font() + - Revert "ravb: Fixed to be able to unload modules" + - crypto: arm64: Use x16 with indirect branch to bti_c + - exfat: fix use of uninitialized spinlock on error path + - net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() + - drm/nouveau/mem: guard against NULL pointer access in mem_del + - partitions/ibm: fix non-DASD devices + - block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg() + - vhost: Don't call access_ok() when using IOTLB + - vhost: Use vhost_get_used_size() in vhost_vring_set_addr() + - usermodehelper: reset umask to default before executing user process + - splice: teach splice pipe reading about empty pipe buffers + - Platform: OLPC: Fix memleak in olpc_ec_probe + - platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP + Pavilion 11 x360 + - platform/x86: thinkpad_acpi: initialize tp_nvram_state variable + - platform/x86: asus-wmi: Fix SW_TABLET_MODE always reporting 1 on many + different models + - bpf: Fix sysfs export of empty BTF section + - bpf: Prevent .BTF section elimination + - r8169: consider that PHY reset may still be in progress after applying + firmware + - platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE + reporting + - platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse + - nvme-core: put ctrl ref when module ref get fail + - macsec: avoid use-after-free in macsec_handle_frame() + - RISC-V: Make sure memblock reserves the memory containing DT + - gpiolib: Disable compat ->read() code in UML case + - mm/khugepaged: fix filemap page_to_pgoff(page) != offset + - net: introduce helper sendpage_ok() in include/linux/net.h + - tcp: use sendpage_ok() to detect misused .sendpage + - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() + - xfrmi: drop ignore_df check before updating pmtu + - espintcp: restore IP CB before handing the packet to xfrm + - cifs: Fix incomplete memory allocation on setxattr path + - i2c: meson: fix clock setting overwrite + - i2c: meson: keep peripheral clock enabled + - i2c: meson: fixup rate calculation with filter delay + - i2c: owl: Clear NACK and BUS error bits + - sctp: fix sctp_auth_init_hmacs() error path + - team: set dev->needed_headroom in team_setup_by_port() + - net: team: fix memory leak in __team_options_register + - openvswitch: handle DNAT tuple collision + - drm/amdgpu: prevent double kfree ttm->sg + - btrfs: move btrfs_scratch_superblocks into btrfs_dev_replace_finishing + - io_uring: fix potential ABBA deadlock in ->show_fdinfo() + - drm/amd/pm: Removed fixed clock in auto mode DPM + - drm/amd/display: fix return value check for hdcp_work + - btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks + - iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() + - xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate + - xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate + - xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate + - xfrm: clone whole liftime_cur structure in xfrm_do_migrate + - xsk: Do not discard packet when NETDEV_TX_BUSY + - net: stmmac: removed enabling eee in EEE set callback + - platform/x86: fix kconfig dependency warning for LG_LAPTOP + - platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP + - hinic: add log in exception handling processes + - hinic: fix wrong return value of mac-set cmd + - net: dsa: felix: convert TAS link speed based on phylink speed + - xfrm: Use correct address family in xfrm_state_find + - iavf: use generic power management + - iavf: Fix incorrect adapter get in iavf_resume + - ice: fix memory leak if register_netdev_fails + - ice: fix memory leak in ice_vsi_setup + - vmxnet3: fix cksum offload issues for non-udp tunnels + - net: stmmac: Fix clock handling on remove path + - net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop + - bonding: set dev->needed_headroom in bond_setup_by_slave() + - mdio: fix mdio-thunder.c dependency & build error + - mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path + - r8169: fix RTL8168f/RTL8411 EPHY config + - net: usb: ax88179_178a: fix missing stop entry in driver_info + - virtio-net: don't disable guest csum when disable LRO + - net: phy: realtek: fix rtl8211e rx/tx delay config + - octeontx2-af: Fix enable/disable of default NPC entries + - octeontx2-pf: Fix TCP/UDP checksum offload for IPv6 frames + - octeontx2-pf: Fix the device state on error + - octeontx2-pf: Fix synchnorization issue in mbox + - pipe: Fix memory leaks in create_pipe_files() + - net/mlx5: Fix a race when moving command interface to polling mode + - net/mlx5: Avoid possible free of command entry while timeout comp handler + - net/mlx5: poll cmd EQ in case of command timeout + - net/mlx5: Add retry mechanism to the command entry index allocation + - net/mlx5: Fix request_irqs error flow + - net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU + - net/mlx5e: Fix return status when setting unsupported FEC mode + - net/mlx5e: Fix VLAN cleanup flow + - net/mlx5e: Fix VLAN create flow + - net/mlx5e: Fix race condition on nhe->n pointer in neigh update + - net: stmmac: Modify configuration method of EEE timers + - net: hinic: fix DEVLINK build errors + - vhost-vdpa: fix vhost_vdpa_map() on error condition + - vhost-vdpa: fix page pinning leakage in error path + - net: mvneta: fix double free of txq->buf + - rxrpc: Fix rxkad token xdr encoding + - rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read() + - rxrpc: Fix some missing _bh annotations on locking conn->state_lock + - rxrpc: The server keyring isn't network-namespaced + - rxrpc: Fix server keyring leak + - net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c + - [Packaging] module ocelot_board rename + - net: mscc: ocelot: split writes to pause frame enable bit and to thresholds + - net: mscc: ocelot: extend watermark encoding function + - net: mscc: ocelot: divide watermark value by 60 when writing to SYS_ATOP + - afs: Fix deadlock between writeback and truncate + - perf: Fix task_function_call() error handling + - mmc: core: don't set limits.discard_granularity as 0 + - mm: validate inode in mapping_set_error() + - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected + by khugepaged + - tcp: fix receive window update in tcp_add_backlog() + - netlink: fix policy dump leak + - net/core: check length before updating Ethertype in skb_mpls_{push,pop} + - net: bridge: fdb: don't flush ext_learn entries + - net/tls: race causes kernel panic + - net/mlx5e: Fix driver's declaration to support GRE offload + - tty/vt: Do not warn when huge selection requested + - Input: ati_remote2 - add missing newlines when printing module parameters + - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails + - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks + - net_sched: defer tcf_idr_insert() in tcf_action_init_1() + - net_sched: commit action insertions together + - Linux 5.8.15 + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + * Improve descriptions for XFAIL cases in kselftests/net/psock_snd + (LP: #1900088) + - selftests/net: improve descriptions for XFAIL cases in psock_snd.sh + * alsa/hda/realtek - The front Mic on a HP machine doesn't work (LP: #1899508) + - ALSA: hda/realtek - The front Mic on a HP machine doesn't work + * kci_test_encap_fou() in rtnetlink.sh from kselftests/net failed with "FAIL: + can't add fou port 7777, skipping test" (LP: #1891421) + - selftests: rtnetlink: load fou module for kci_test_encap_fou() test + * linux-aws: fold test_bpf SAUCE to linux/master (LP: #1900855) + - SAUCE: selftests: net: don't fail test_bpf when module is not present + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + [ Ubuntu: 5.8.0-29.31 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 13 Nov 2020 10:00:46 +0100 + +linux-riscv (5.8.0-8.9) groovy; urgency=medium + + [ Ubuntu: 5.8.0-28.30 ] + + * CVE-2020-27194 + - bpf: Fix scalar32_min_max_or bounds tracking + + [ Ubuntu: 5.8.0-27.29 ] + + * CVE-2020-8694 + - powercap: make attributes only readable by root + + [ Ubuntu: 5.8.0-26.27 ] + + * groovy/linux: 5.8.0-26.27 -proposed tracker (LP: #1900896) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + -- Thadeu Lima de Souza Cascardo Thu, 05 Nov 2020 15:12:54 -0300 + +linux-riscv (5.8.0-7.7) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-7.7 -proposed tracker (LP: #1899936) + + [ Ubuntu: 5.8.0-25.26 ] + + * groovy/linux: 5.8.0-25.26 -proposed tracker (LP: #1899940) + * CVE-2020-12351 + - Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel + * CVE-2020-12352 + - Bluetooth: A2MP: Fix not initializing all members + * CVE-2020-12351 // CVE-2020-12352 // CVE-2020-24490 + - Bluetooth: Disable High Speed by default + - Bluetooth: MGMT: Fix not checking if BT_HS is enabled + - [Config] Disable BlueZ highspeed support + * ec2-hibinit-agent needs to properly initialize swap file (LP: #1892728) + - ext4: implement swap_activate aops using iomap + + [ Ubuntu: 5.8.0-24.25 ] + + * groovy/linux: 5.8.0-24.25 -proposed tracker (LP: #1899804) + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + * ceph: fix inode number handling on arches with 32-bit ino_t (LP: #1899582) + - ceph: fix inode number handling on arches with 32-bit ino_t + * 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 + + -- Paolo Pisati Thu, 15 Oct 2020 12:43:01 +0200 + +linux-riscv (5.8.0-6.6) groovy; urgency=medium + + + [ Ubuntu: 5.8.0-23.24 ] + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + -- Seth Forshee Fri, 09 Oct 2020 16:04:56 -0500 + +linux-riscv (5.8.0-5.5) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-5.5 -proposed tracker (LP: #1899097) + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UBUNTU_HOST=m + + [ Ubuntu: 5.8.0-22.23 ] + + * groovy/linux: 5.8.0-22.23 -proposed tracker (LP: #1899099) + * Packaging resync (LP: #1786013) + - update dkms package versions + * oops in nvkm_udevice_info() [nouveau] (LP: #1898130) + - drm/nouveau/device: return error for unknown chipsets + * 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 + * Groovy update: v5.8.14 upstream stable release (LP: #1898853) + - io_uring: always delete double poll wait entry on match + - btrfs: fix filesystem corruption after a device replace + - mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS + models + - USB: gadget: f_ncm: Fix NDP16 datagram validation + - Revert "usbip: Implement a match function to fix usbip" + - usbcore/driver: Fix specific driver selection + - usbcore/driver: Fix incorrect downcast + - usbcore/driver: Accommodate usbip + - gpio: siox: explicitly support only threaded irqs + - gpio: mockup: fix resource leak in error path + - gpio: tc35894: fix up tc35894 interrupt configuration + - gpio: amd-fch: correct logic of GPIO_LINE_DIRECTION + - clk: samsung: Keep top BPLL mux on Exynos542x enabled + - clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk + - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() + - i2c: i801: Exclude device from suspend direct complete optimization + - Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 + - iio: adc: qcom-spmi-adc5: fix driver name + - ftrace: Move RCU is watching check after recursion check + - tracing: Fix trace_find_next_entry() accounting of temp buffer size + - memstick: Skip allocating card when removing host + - drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config + - xen/events: don't use chip_data for legacy IRQs + - clocksource/drivers/timer-gx6605s: Fixup counter reload + - vboxsf: Fix the check for the old binary mount-arguments struct + - mt76: mt7915: use ieee80211_free_txskb to free tx skbs + - libbpf: Remove arch-specific include path in Makefile + - drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices + - Revert "wlcore: Adding suppoprt for IGTK key in wlcore driver" + - drm/sun4i: mixer: Extend regmap max_register + - hv_netvsc: Cache the current data path to avoid duplicate call and message + - net: dec: de2104x: Increase receive ring size for Tulip + - rndis_host: increase sleep time in the query-response loop + - nvme-pci: disable the write zeros command for Intel 600P/P3100 + - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() + - fuse: fix the ->direct_IO() treatment of iov_iter + - drivers/net/wan/lapbether: Make skb->protocol consistent with the header + - drivers/net/wan/hdlc: Set skb->protocol before transmitting + - mac80211: Fix radiotap header channel flag for 6GHz band + - mac80211: do not allow bigger VHT MPDUs than the hardware supports + - tracing: Make the space reserved for the pid wider + - tools/io_uring: fix compile breakage + - io_uring: mark statx/files_update/epoll_ctl as non-SQPOLL + - cpuidle: psci: Fix suspicious RCU usage + - spi: fsl-espi: Only process interrupts for expected events + - net: dsa: felix: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries + - nvme-pci: fix NULL req in completion handler + - nvme-fc: fail new connections to a deleted host or remote port + - scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.* + - gpio: sprd: Clear interrupt when setting the type as edge + - phy: ti: am654: Fix a leak in serdes_am654_probe() + - pinctrl: mvebu: Fix i2c sda definition for 98DX3236 + - nfs: Fix security label length not being reset + - NFSv4.2: fix client's attribute cache management for copy_file_range + - pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read + - clk: tegra: Always program PLL_E when enabled + - clk: tegra: Fix missing prototype for tegra210_clk_register_emc() + - dmaengine: dmatest: Prevent to run on misconfigured channel + - clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED + - scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case + - iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() + - gpio: pca953x: Fix uninitialized pending variable + - gpio/aspeed-sgpio: enable access to all 80 input & output sgpios + - gpio/aspeed-sgpio: don't enable all interrupts by default + - gpio: aspeed: fix ast2600 bank properties + - i2c: cpm: Fix i2c_ram structure + - i2c: npcm7xx: Clear LAST bit after a failed transaction. + - Input: trackpoint - enable Synaptics trackpoints + - blk-mq: call commit_rqs while list empty but error happen + - scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting + - autofs: use __kernel_write() for the autofs pipe writing + - pinctrl: qcom: sm8250: correct sdc2_clk + - pinctrl: mediatek: check mtk_is_virt_gpio input parameter + - gpio: pca953x: Correctly initialize registers 6 and 7 for PCA957x + - iommu/amd: Fix the overwritten field in IVMD header + - pipe: remove pipe_wait() and fix wakeup race with splice + - random32: Restore __latent_entropy attribute on net_rand_state + - gpiolib: Fix line event handling in syscall compatible mode + - drm/i915/gvt: Fix port number for BDW on EDID region setup + - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks + - scsi: sd: sd_zbc: Fix ZBC disk initialization + - epoll: do not insert into poll queues until all sanity checks are done + - epoll: replace ->visited/visited_list with generation count + - epoll: EPOLL_CTL_ADD: close the race in decision to take fast path + - ep_create_wakeup_source(): dentry name can change under you... + - Linux 5.8.14 + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: check for do_sys_openat2 in user-memory test + - SAUCE: doc: Disable extension incompatible with Sphinx 3 + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: Revert "UBUNTU: SAUCE: IB/umem: Fix the Peer flow to handle pinned + pages properly" + - SAUCE: Revert "UBUNTU: SAUCE: IB/mlx5: Use peer client page_shift" + - SAUCE: Revert "UBUNTU: SAUCE: fixup! RDMA/core: Introduce peer memory + interface" + - SAUCE: Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + - 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 + - Revert "UBUNTU: [Packaging] Temporarily disable building doc package + contents" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add support for mapping secids and + using secctxes"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Use an IDR to allocate apparmor + secids"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fixup secid map conversion to using + IDR"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add a wildcard secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Parse secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Allow filtering based on secmark + policy"" + - Revert "UBUNTU: SAUCE: Fix-up af_unix mediation for sock infrastructure + management" + - Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock security" + - Revert "UBUNTU: SAUCE: apparmor: update flags to no longer be exclusive" + - Revert "UBUNTU: SAUCE: apparmor: add an apparmorfs entry to access current + attrs" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add the ability to get a task's + secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add support for audit rule + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: modify audit rule support to + support profile stacks"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix bad debug check in + apparmor_secid_to_secctx()"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add #ifdef checks for secmark + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix checkpatch error in Parse + secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute"" + + -- Seth Forshee Thu, 08 Oct 2020 21:20:26 -0500 + +linux-riscv (5.8.0-4.4) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-4.4 -proposed tracker (LP: #1898148) + + * Miscellaneous Ubuntu changes + - [Config] toolchain update + + [ Ubuntu: 5.8.0-21.22 ] + + * groovy/linux: 5.8.0-21.22 -proposed tracker (LP: #1898150) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + * EFA: add support for 0xefa1 devices (LP: #1896791) + - RDMA/efa: Expose maximum TX doorbell batch + - RDMA/efa: Expose minimum SQ size + - RDMA/efa: User/kernel compatibility handshake mechanism + - RDMA/efa: Add EFA 0xefa1 PCI ID + * Groovy update: v5.8.13 upstream stable release (LP: #1898076) + - device_cgroup: Fix RCU list debugging warning + - ASoC: pcm3168a: ignore 0 Hz settings + - ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 + - ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 + - clk: versatile: Add of_node_put() before return statement + - RISC-V: Take text_mutex in ftrace_init_nop() + - i2c: aspeed: Mask IRQ status to relevant bits + - s390/init: add missing __init annotations + - lockdep: fix order in trace_hardirqs_off_caller() + - EDAC/ghes: Check whether the driver is on the safe list correctly + - drm/amdkfd: fix a memory leak issue + - drm/amd/display: Don't use DRM_ERROR() for DTM add topology + - drm/amd/display: update nv1x stutter latencies + - drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is + - drm/amd/display: Don't log hdcp module warnings in dmesg + - objtool: Fix noreturn detection for ignored functions + - i2c: mediatek: Send i2c master code at more than 1MHz + - riscv: Fix Kendryte K210 device tree + - ieee802154: fix one possible memleak in ca8210_dev_com_init + - ieee802154/adf7242: check status of adf7242_read_reg + - clocksource/drivers/h8300_timer8: Fix wrong return value in + h8300_8timer_init() + - batman-adv: bla: fix type misuse for backbone_gw hash indexing + - libbpf: Fix build failure from uninitialized variable warning + - atm: eni: fix the missed pci_disable_device() for eni_init_one() + - batman-adv: mcast/TT: fix wrongly dropped or rerouted packets + - netfilter: ctnetlink: add a range check for l3/l4 protonum + - netfilter: ctnetlink: fix mark based dump filtering regression + - netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled + - netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid + - mac802154: tx: fix use-after-free + - bpf: Fix clobbering of r2 in bpf_gen_ld_abs + - tools/libbpf: Avoid counting local symbols in ABI check + - drm/vc4/vc4_hdmi: fill ASoC card owner + - net: qed: Disable aRFS for NPAR and 100G + - net: qede: Disable aRFS for NPAR and 100G + - net: qed: RDMA personality shouldn't fail VF load + - igc: Fix wrong timestamp latency numbers + - igc: Fix not considering the TX delay for timestamps + - drm/sun4i: sun8i-csc: Secondary CSC register correction + - hv_netvsc: Switch the data path at the right time during hibernation + - spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs + - RDMA/core: Fix ordering of CQ pool destruction + - batman-adv: Add missing include for in_interrupt() + - xsk: Fix number of pinned pages/umem size discrepancy + - nvme-tcp: fix kconfig dependency warning when !CRYPTO + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh + - batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh + - bpf: Fix a rcu warning for bpffs map pretty-print + - lib80211: fix unmet direct dependendices config warning when !CRYPTO + - mac80211: do not disable HE if HT is missing on 2.4 GHz + - cfg80211: fix 6 GHz channel conversion + - mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz + - ALSA: asihpi: fix iounmap in error handler + - io_uring: fix openat/openat2 unified prep handling + - SUNRPC: Fix svc_flush_dcache() + - regmap: fix page selection for noinc reads + - regmap: fix page selection for noinc writes + - net/mlx5e: mlx5e_fec_in_caps() returns a boolean + - MIPS: Loongson-3: Fix fp register access if MSA enabled + - PM / devfreq: tegra30: Disable clock on error in probe + - MIPS: Add the missing 'CPU_1074K' into __get_cpu_type() + - regulator: axp20x: fix LDO2/4 description + - spi: bcm-qspi: Fix probe regression on iProc platforms + - KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE + - KVM: SVM: Add a dedicated INVD intercept routine + - mm: validate pmd after splitting + - arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback + - x86/irq: Make run_on_irqstack_cond() typesafe + - x86/ioapic: Unbreak check_timer() + - scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported + - ALSA: usb-audio: Add delay quirk for H570e USB headsets + - ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged + - ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation + P520 + - lib/string.c: implement stpcpy + - tracing: fix double free + - s390/dasd: Fix zero write for FBA devices + - mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing + stations + - lib/bootconfig: Fix a bug of breaking existing tree nodes + - lib/bootconfig: Fix to remove tailing spaces after value + - kprobes: Fix to check probe enabled before disarm_kprobe_ftrace() + - kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot + - btrfs: fix put of uninitialized kobject after seed device delete + - btrfs: fix overflow when copying corrupt csums for a message + - media: cec-adap.c: don't use flush_scheduled_work() + - MIPS: Loongson2ef: Disable Loongson MMI instructions + - dmabuf: fix NULL pointer dereference in dma_buf_release() + - mm, THP, swap: fix allocating cluster for swapfile by mistake + - mm: replace memmap_context by meminit_context + - mm: don't rely on system state to detect hot-plug operations + - s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl + - io_uring: ensure open/openat2 name is cleaned on cancelation + - KVM: arm64: Assume write fault on S1PTW permission fault on instruction + fetch + - dm: fix bio splitting and its bio completion order for regular IO + - clocksource/drivers/timer-ti-dm: Do reset before enable + - Linux 5.8.13 + * 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 + * mwifiex stops working after kernel upgrade (LP: #1897299) + - mwifiex: Increase AES key storage size to 256 bits + * Oops and hang when starting LVM snapshots on 5.4.0-47 (LP: #1894780) + - SAUCE: Revert "mm: memcg/slab: fix memory leak at non-root kmem_cache + destroy" + * mm/slub kernel oops on focal kernel 5.4.0-45 (LP: #1895109) + - SAUCE: Revert "mm/slub: fix a memory leak in sysfs_slab_add()" + * Remove NVMe suspend-to-idle workaround (LP: #1897227) + - Revert "UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3" + - Revert "UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3" + * [UBUNTU 20.04.1] qemu (secure guest) crash due to gup_fast / dynamic page + table folding issue (LP: #1896726) + - mm/gup: fix gup_fast with dynamic page table folding + * backport tls-rx to ubuntu 5.8 (LP: #1895947) + - net/mlx5: kTLS, Improve TLS params layout structures + - net/mlx5e: Turn XSK ICOSQ into a general asynchronous one + - net/mlx5e: Refactor build channel params + - net/mlx5e: API to manipulate TTC rules destinations + - net/mlx5e: Receive flow steering framework for accelerated TCP flows + - net/mlx5e: Accel, Expose flow steering API for rules add/del + - net/mlx5e: kTLS, Improve TLS feature modularity + - net/mlx5e: kTLS, Use kernel API to extract private offload context + - net/mlx5e: kTLS, Add kTLS RX HW offload support + - Revert "net/tls: Add force_resync for driver resync" + - net/tls: Add asynchronous resync + - net/mlx5e: kTLS, Add kTLS RX resync support + - net/mlx5e: kTLS, Add kTLS RX stats + - net/mlx5e: Increase Async ICO SQ size + - net/mlx5e: kTLS, Cleanup redundant capability check + - net/mlx5e: kTLS, Improve rx handler function call + - net/mlx5e: kTLS, Fix napi sync and possible use-after-free + - net/mlx5e: fix memory leak of tls + - net/mlx5e: Fix build break when CONFIG_XPS is not set + - net/mlx5e: kTLS, Add missing dma_unmap in RX resync + - net/mlx5e: kTLS, Fix leak on resync error flow + - net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock + * Groovy update: v5.8.12 upstream stable release (LP: #1897550) + - ibmvnic fix NULL tx_pools and rx_tools issue at do_reset + - ibmvnic: add missing parenthesis in do_reset() + - act_ife: load meta modules before tcf_idr_check_alloc() + - bnxt_en: Avoid sending firmware messages when AER error is detected. + - bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() + - cxgb4: fix memory leak during module unload + - cxgb4: Fix offset when clearing filter byte counters + - geneve: add transport ports in route lookup for geneve + - hdlc_ppp: add range checks in ppp_cp_parse_cr() + - hinic: bump up the timeout of SET_FUNC_STATE cmd + - ip: fix tos reflection in ack and reset packets + - ipv4: Initialize flowi4_multipath_hash in data path + - ipv4: Update exception handling for multipath routes via same device + - ipv6: avoid lockdep issue in fib6_del() + - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under + RCU + - net: DCB: Validate DCB_ATTR_DCB_BUFFER argument + - net: dsa: rtl8366: Properly clear member config + - net: Fix bridge enslavement failure + - net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC + - net/mlx5: Fix FTE cleanup + - net: phy: call phy_disable_interrupts() in phy_attach_direct() instead + - net: sched: initialize with 0 before setting erspan md->u + - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc + - net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant + - nfp: use correct define to return NONE fec + - taprio: Fix allowing too small intervals + - tipc: Fix memory leak in tipc_group_create_member() + - tipc: fix shutdown() of connection oriented socket + - tipc: use skb_unshare() instead in tipc_buf_append() + - net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported + - net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported + - bnxt_en: Use memcpy to copy VPD field info. + - bnxt_en: return proper error codes in bnxt_show_temp + - bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex. + - net: lantiq: Wake TX queue again + - net: lantiq: use netif_tx_napi_add() for TX NAPI + - net: lantiq: Use napi_complete_done() + - net: lantiq: Disable IRQs only if NAPI gets scheduled + - net: phy: Avoid NPD upon phy_detach() when driver is unbound + - net: phy: Do not warn in phy_stop() on PHY_DOWN + - net: qrtr: check skb_put_padto() return value + - net: add __must_check to skb_put_padto() + - net: ethernet: ti: cpsw_new: fix suspend/resume + - wireguard: noise: take lock when removing handshake entry from table + - wireguard: peerlookup: take lock before checking hash in replace operation + - net: ipa: fix u32_replace_bits by u32p_xxx version + - net/mlx5e: Fix memory leak of tunnel info when rule under multipath not + ready + - hinic: fix rewaking txq after netif_tx_disable + - hv_netvsc: Fix hibernation for mlx5 VF driver + - net: dsa: link interfaces with the DSA master to get rid of lockdep warnings + - net: dsa: microchip: ksz8795: really set the correct number of ports + - net: macb: fix for pause frame receive enable bit + - Revert "netns: don't disable BHs when locking "nsid_lock"" + - net/mlx5e: Use RCU to protect rq->xdp_prog + - net/mlx5e: Use synchronize_rcu to sync with NAPI + - net/mlx5e: Fix endianness when calculating pedit mask first bit + - Linux 5.8.12 + * Groovy update: v5.8.11 upstream stable release (LP: #1896795) + - RDMA/bnxt_re: Restrict the max_gids to 256 + - dt-bindings: spi: Fix spi-bcm-qspi compatible ordering + - mptcp: sendmsg: reset iter on error + - net: handle the return value of pskb_carve_frag_list() correctly + - dt-bindings: PCI: intel,lgm-pcie: Fix matching on all snps,dw-pcie instances + - hv_netvsc: Remove "unlikely" from netvsc_select_queue + - loop: Set correct device size when using LOOP_CONFIGURE + - firmware_loader: fix memory leak for paged buffer + - xprtrdma: Release in-flight MRs on disconnect + - NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall + - phy: omap-usb2-phy: disable PHY charger detect + - habanalabs: prevent user buff overflow + - habanalabs: fix report of RAZWI initiator coordinates + - scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort + - scsi: libfc: Fix for double free() + - scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery + - scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional + events + - regulator: pwm: Fix machine constraints application + - spi: spi-loopback-test: Fix out-of-bounds read + - interconnect: Show bandwidth for disabled paths as zero in debugfs + - NFS: Zero-stateid SETATTR should first return delegation + - SUNRPC: stop printk reading past end of string + - rapidio: Replace 'select' DMAENGINES 'with depends on' + - cifs: fix DFS mount with cifsacl/modefromsid + - openrisc: Fix cache API compile issue when not inlining + - nvme-fc: cancel async events before freeing event struct + - nvme-rdma: cancel async events before freeing event struct + - nvme-tcp: cancel async events before freeing event struct + - block: only call sched requeue_request() for scheduled requests + - f2fs: fix indefinite loop scanning for free nid + - f2fs: Return EOF on unaligned end of file DIO read + - i2c: algo: pca: Reapply i2c bus settings after reset + - spi: Fix memory leak on splited transfers + - KVM: MIPS: Change the definition of kvm type + - clk: davinci: Use the correct size when allocating memory + - clk: rockchip: Fix initialization of mux_pll_src_4plls_p + - ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend + delay + - ASoC: qcom: Set card->owner to avoid warnings + - ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() + - ASoC: rt711: Fix return check for devm_regmap_init_sdw() + - ASoC: rt715: Fix return check for devm_regmap_init_sdw() + - ASoC: rt700: Fix return check for devm_regmap_init_sdw() + - ASoC: qcom: common: Fix refcount imbalance on error + - drm/mediatek: dsi: Fix scrolling of panel with small hfp or hbp + - powerpc/book3s64/radix: Fix boot failure with large amount of guest memory + - ASoC: soc-core: add snd_soc_find_dai_with_mutex() + - ASoC: meson: axg-toddr: fix channel order on g12 platforms + - ASoC: tlv320adcx140: Fix accessing uninitialized adcx140->dev + - ASoC: Intel: haswell: Fix power transition refactor + - ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure + - Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() + - scsi: libsas: Fix error path in sas_notify_lldd_dev_found() + - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late + - Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload + - perf test: Fix the "signal" test inline assembly + - perf record: Don't clear event's period if set by a term + - MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT + - perf test: Free aliases for PMU event map aliases test + - perf metric: Fix some memory leaks + - perf evlist: Fix cpu/thread map leak + - perf parse-event: Fix memory leak in evsel->unit + - perf test: Free formats for perf pmu parse test + - drm/i915/gem: Reduce context termination list iteration guard to RCU + - fbcon: Fix user font detection test at fbcon_resize(). + - MIPS: SNI: Fix spurious interrupts + - drm/mediatek: Use CPU when fail to get cmdq event + - drm/mediatek: Add missing put_device() call in mtk_ddp_comp_init() + - drm/mediatek: Add exception handing in mtk_drm_probe() if component init + fail + - drm/mediatek: Add missing put_device() call in mtk_drm_kms_init() + - drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata() + - arm64: bpf: Fix branch offset in JIT + - iommu/amd: Fix potential @entry null deref + - iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode + - kconfig: qconf: use delete[] instead of delete to free array (again) + - i2c: mediatek: Fix generic definitions for bus frequency + - i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK + - riscv: Add sfence.vma after early page table changes + - locking/lockdep: Fix "USED" <- "IN-NMI" inversions + - efi: efibc: check for efivars write capability + - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count + - x86/unwind/fp: Fix FP unwinding in ret_from_fork + - drm/kfd: fix a system crash issue during GPU recovery + - drm/i915/gem: Delay tracking the GEM context until it is registered + - drm/i915: Filter wake_flags passed to default_wake_function + - USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin + notebook + - USB: UAS: fix disconnect by unplugging a hub + - usblp: fix race between disconnect() and read() + - usb: typec: ucsi: acpi: Increase command completion timeout value + - usb: typec: ucsi: Prevent mode overrun + - i2c: i801: Fix resume bug + - Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI + X570-A PRO" + - ALSA: hda: fixup headset for ASUS GX502 laptop + - ALSA: hda/realtek - The Mic on a RedmiBook doesn't work + - percpu: fix first chunk size calculation for populated bitmap + - Input: trackpoint - add new trackpoint variant IDs + - Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists + - serial: 8250_pci: Add Realtek 816a and 816b + - serial: core: fix port-lock initialisation + - serial: core: fix console port-lock regression + - x86/boot/compressed: Disable relocation relaxation + - ksm: reinstate memcg charge on copied pages + - kprobes: fix kill kprobe which has been marked as gone + - mm/thp: fix __split_huge_pmd_locked() for migration PMD + - s390: add 3f program exception handler + - s390/zcrypt: fix kmalloc 256k failure + - ehci-hcd: Move include to keep CRC stable + - arm64: paravirt: Initialize steal time when cpu is online + - powerpc/dma: Fix dma_map_ops::get_required_mask + - selftests/vm: fix display of page size in map_hugetlb + - dm/dax: Fix table reference counts + - mm/memory_hotplug: drain per-cpu pages again during memory offline + - dm: Call proper helper to determine dax support + - dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - mm: memcg: fix memcg reclaim soft lockup + - nvme-loop: set ctrl state connecting after init + - Linux 5.8.11 + * Miscellaneous Ubuntu changes + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - SAUCE: RDMA/core: Introduce peer memory interface + - SAUCE: fixup! RDMA/core: Introduce peer memory interface + - SAUCE: IB/mlx5: Use peer client page_shift + - SAUCE: IB/umem: Fix the Peer flow to handle pinned pages properly + - [Config] GCC version update + + -- Andrea Righi Fri, 02 Oct 2020 19:05:31 +0200 + +linux-riscv (5.8.0-3.3) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-3.3 -proposed tracker (LP: #1896666) + + * Miscellaneous Ubuntu changes + - [Config] update config for CONFIG_VGACON_SOFT_SCROLLBACK + + [ Ubuntu: 5.8.0-20.21 ] + + * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668) + * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices + (LP: #1853277) + - i2c: core: Call i2c_acpi_install_space_handler() before + i2c_acpi_register_devices() + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062) + - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing + nf_defrag_ipv6 support" + * [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 + * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event + 0x0304) (LP: #1896216) + - s390/pci: fix leak of DMA tables on hard unplug + * md: improve IO accounting (LP: #1891151) + - md: improve io stats accounting + * Groovy update: v5.8.10 upstream stable release (LP: #1896078) + - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm() + - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix missing video + - regulator: push allocation in regulator_ena_gpio_request() out of lock + - regulator: remove superfluous lock in regulator_resolve_coupling() + - ARM: dts: socfpga: fix register entry for timer3 on Arria10 + - ARM: dts: omap5: Fix DSI base address and clocks + - ARM: dts: ls1021a: fix QuadSPI-memory reg range + - ARM: dts: imx7ulp: Correct gpio ranges + - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build + - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy + - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add + - RDMA/rxe: Fix memleak in rxe_mem_init_user + - RDMA/rxe: Drop pointless checks in rxe_init_ports + - RDMA/rxe: Fix panic when calling kmem_cache_create() + - RDMA/bnxt_re: Do not report transparent vlan from QP1 + - RDMA/bnxt_re: Fix the qp table indexing + - RDMA/bnxt_re: Static NQ depth allocation + - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address + - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds + - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux() + - arm64: dts: imx8mq: Fix TMU interrupt property + - drm/sun4i: Fix dsi dcs long write function + - scsi: qla2xxx: Fix regression on sparc64 + - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA + - drm/virtio: fix unblank + - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ + - RDMA/core: Fix reported speed and width + - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll + - scsi: mpt3sas: Don't call disable_irq from IRQ poll handler + - soundwire: fix double free of dangling pointer + - Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled" + - interconnect: qcom: Fix small BW votes being truncated to zero + - padata: fix possible padata_works_lock deadlock + - drm/sun4i: Fix DE2 YVU handling + - drm/sun4i: backend: Support alpha property on lowest plane + - drm/sun4i: backend: Disable alpha on the lowest plane on the A20 + - KVM: arm64: Update page shift if stage 2 block mapping not supported + - ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3 + - mmc: sdhci-acpi: Clear amd_sdhci_host on reset + - mmc: sdhci-msm: Add retries when all tuning phases are found valid + - spi: stm32: Rate-limit the 'Communication suspended' message + - btrfs: fix NULL pointer dereference after failure to create snapshot + - i2c: npcm7xx: Fix timeout calculation + - block: restore a specific error code in bdev_del_partition + - seccomp: don't leak memory when filter install races + - nvme-fabrics: allow to queue requests for live queues + - spi: stm32: fix pm_runtime_get_sync() error checking + - block: Set same_page to false in __bio_try_merge_page if ret is false + - RDMA/rtrs-srv: Set .release function for rtrs srv device during device init + - IB/isert: Fix unaligned immediate-data handling + - ARM: dts: bcm: HR2: Fixed QSPI compatible string + - ARM: dts: NSP: Fixed QSPI compatible string + - ARM: dts: BCM5301X: Fixed QSPI compatible string + - arm64: dts: ns2: Fixed QSPI compatible string + - KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control + - KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN + - ARC: HSDK: wireup perf irq + - dmaengine: acpi: Put the CSRT table after using it + - MIPS: Loongson64: Do not override watch and ejtag feature + - netfilter: conntrack: allow sctp hearbeat after connection re-use + - netfilter: nft_set_rbtree: Detect partial overlap with start endpoint match + - drivers/net/wan/lapbether: Added needed_tailroom + - NFC: st95hf: Fix memleak in st95hf_in_send_cmd + - firestream: Fix memleak in fs_open + - scsi: qedf: Fix null ptr reference in qedf_stag_change_work + - ALSA: hda: Fix 2 channel swapping for Tegra + - ALSA: hda/tegra: Program WAKEEN register for Tegra + - drivers/dma/dma-jz4780: Fix race condition between probe and irq handler + - net: hns3: Fix for geneve tx checksum bug + - xfs: fix off-by-one in inode alloc block reservation calculation + - drivers/net/wan/lapbether: Set network_header before transmitting + - wireless: fix wrong 160/80+80 MHz setting + - mac80211: reduce packet loss event false positives + - cfg80211: Adjust 6 GHz frequency to channel conversion + - xfs: initialize the shortform attr header padding entry + - ARC: show_regs: fix r12 printing and simplify + - irqchip/eznps: Fix build error for !ARC700 builds + - media: gpio-ir-tx: spinlock is not needed to disable interrupts + - nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu + - nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance + - nvme: have nvme_wait_freeze_timeout return if it timed out + - nvme-tcp: serialize controller teardown sequences + - nvme-tcp: fix timeout handler + - nvme-tcp: fix reset hang if controller died in the middle of a reset + - nvme-rdma: serialize controller teardown sequences + - nvme-rdma: fix timeout handler + - nvme-rdma: fix reset hang if controller died in the middle of a reset + - nvme-pci: cancel nvme device request before disabling + - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices + - HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller + - drivers/net/wan/hdlc_cisco: Add hard_header_len + - HID: elan: Fix memleak in elan_input_configured + - ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id + - cpufreq: intel_pstate: Refuse to turn off with HWP enabled + - cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled + - arm64/module: set trampoline section flags regardless of + CONFIG_DYNAMIC_FTRACE + - ALSA: hda: hdmi - add Rocketlake support + - ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled + - ALSA: hda: use consistent HDAudio spelling in comments/docs + - drivers/net/wan/hdlc: Change the default of hard_header_len to 0 + - drm/amdgpu: Fix bug in reporting voltage for CIK + - iommu/amd: Do not force direct mapping when SME is active + - iommu/amd: Do not use IOMMUv2 functionality when SME is active + - gcov: Disable gcov build with GCC 10 + - iio: adc: mcp3422: fix locking scope + - iio: adc: mcp3422: fix locking on error path + - iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set + - iio: cros_ec: Set Gyroscope default frequency to 25Hz + - iio:light:ltr501 Fix timestamp alignment issue. + - iio:proximity:mb1232: Fix timestamp alignment and prevent data leak. + - iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak. + - iio:adc:ti-adc084s021 Fix alignment and data leak issues. + - iio:adc:ina2xx Fix timestamp alignment issue. + - iio:adc:max1118 Fix alignment of timestamp and data leak issues + - iio:adc:ti-adc081c Fix alignment and data leak issues + - iio:magnetometer:ak8975 Fix alignment and data leak issues. + - iio:light:max44000 Fix timestamp alignment and prevent data leak. + - iio:chemical:ccs811: Fix timestamp alignment and prevent data leak. + - iio: accel: kxsd9: Fix alignment of local buffer. + - iio:accel:mma7455: Fix timestamp alignment and prevent data leak. + - iio:accel:mma8452: Fix timestamp alignment and prevent data leak. + - staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() + - btrfs: require only sector size alignment for parent eb bytenr + - btrfs: fix lockdep splat in add_missing_dev + - btrfs: free data reloc tree on failed mount + - btrfs: fix wrong address when faulting in pages in the search ioctl + - thunderbolt: Disable ports that are not implemented + - kobject: Restore old behaviour of kobject_del(NULL) + - regulator: push allocation in regulator_init_coupling() outside of lock + - regulator: push allocations in create_regulator() outside of lock + - regulator: push allocation in set_consumer_device_supply() out of lock + - regulator: plug of_node leak in regulator_register()'s error path + - regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive() + - misc: eeprom: at24: register nvmem only after eeprom is ready to use + - scsi: target: iscsi: Fix data digest calculation + - scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask + - scsi: target: iscsi: Fix hang in iscsit_access_np() when getting + tpg->np_login_sem + - drm/tve200: Stabilize enable/disable + - drm/msm: Split the a5xx preemption record + - drm/msm: Disable preemption on all 5xx targets + - drm/msm: Disable the RPTR shadow + - mmc: sdio: Use mmc_pre_req() / mmc_post_req() + - mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt + - nvme: Revert: Fix controller creation races with teardown flow + - rbd: require global CAP_SYS_ADMIN for mapping and unmapping + - RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars + - RDMA/mlx4: Read pkey table length instead of hardcoded value + - fbcon: remove soft scrollback code + - fbcon: remove now unusued 'softback_lines' cursor() argument + - vgacon: remove software scrollback support + - KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit + - KVM: arm64: Do not try to map PUDs when they are folded into PMD + - kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed + - KVM: fix memory leak in kvm_io_bus_unregister_dev() + - Revert "usb: dwc3: meson-g12a: fix shared reset control use" + - debugfs: Fix module state check condition + - test_firmware: Test platform fw loading on non-EFI systems + - arm64: dts: imx8mp: correct sdma1 clk setting + - ARM: dts: vfxxx: Add syscon compatible with OCOTP + - video: fbdev: fix OOB read in vga_8planes_imageblit() + - staging: greybus: audio: fix uninitialized value issue + - phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init + - usb: core: fix slab-out-of-bounds Read in read_descriptors + - USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter + - USB: serial: option: support dynamic Quectel USB compositions + - USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules + - usb: Fix out of sync data toggle if a configured device is reconfigured + - usb: typec: ucsi: acpi: Check the _DEP dependencies + - usb: typec: intel_pmc_mux: Un-register the USB role switch + - usb: typec: intel_pmc_mux: Do not configure Altmode HPD High + - usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in + Alternate modes + - drm/msm/gpu: make ringbuffer readonly + - gcov: add support for GCC 10.1 + - Linux 5.8.10 + - [Config] GCC version update + - [Config] updateconfigs following v5.8.10 import + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + * Thunderbolt3 daisy chain sometimes doesn't work (LP: #1895606) + - thunderbolt: Retry DROM read once if parsing fails + * Groovy update: v5.8.9 upstream stable release (LP: #1895634) + - io_uring: fix cancel of deferred reqs with ->files + - io_uring: fix linked deferred ->files cancellation + - RDMA/cma: Simplify DEVICE_REMOVAL for internal_id + - RDMA/cma: Using the standard locking pattern when delivering the removal + event + - RDMA/cma: Remove unneeded locking for req paths + - RDMA/cma: Execute rdma_cm destruction from a handler properly + - ipv4: Silence suspicious RCU usage warning + - ipv6: Fix sysctl max for fib_multipath_hash_policy + - netlabel: fix problems with mapping removal + - net: usb: dm9601: Add USB ID of Keenetic Plus DSL + - sctp: not disable bh in the whole sctp_get_port_local() + - taprio: Fix using wrong queues in gate mask + - tipc: fix shutdown() of connectionless socket + - tipc: fix using smp_processor_id() in preemptible + - net: disable netpoll on fresh napis + - mptcp: free acked data before waiting for more memory + - Linux 5.8.9 + * Miscellaneous Ubuntu changes + - SAUCE: Revert "selftests/bpf: Fix btf_dump test cases on 32-bit arches" + - [Config] annotations: remove VGACON_SOFT_SCROLLBACK + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + -- Andrea Righi Wed, 23 Sep 2020 11:54:07 +0200 + +linux-riscv (5.8.0-2.2) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-2.2 -proposed tracker (LP: #1895118) + + * Miscellaneous Ubuntu changes + - [Config] Update toolchain versions in configs + + [ Ubuntu: 5.8.0-19.20 ] + + * groovy/linux: 5.8.0-19.20 -proposed tracker (LP: #1895120) + * Please switch default, hwe, oem kernel flavours governor to + CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace + utilities such as game-mode can be later used to rev-up to to performance, + or rev-down to powersave. (LP: #1885730) + - [Config] Set the default CPU governor to ONDEMAND + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update variants + * [WD19TB] external DP failed with DRM error message (LP: #1886165) + - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders + - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock + * Groovy update: v5.8.8 upstream stable release (LP: #1895097) + - hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 + - HID: quirks: Always poll three more Lenovo PixArt mice + - drm/msm/dpu: Fix reservation failures in modeset + - drm/msm/dpu: Fix scale params in plane validation + - drm/msm/dpu: fix unitialized variable error + - tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup + - drm/msm: add shutdown support for display platform_driver + - hwmon: (applesmc) check status earlier. + - nvmet: Disable keep-alive timer when kato is cleared to 0h + - drm/msm: enable vblank during atomic commits + - habanalabs: unmap PCI bars upon iATU failure + - habanalabs: validate packet id during CB parse + - habanalabs: set clock gating according to mask + - habanalabs: proper handling of alloc size in coresight + - habanalabs: set max power according to card type + - habanalabs: validate FW file size + - habanalabs: check correct vmalloc return code + - drm/msm/a6xx: fix gmu start on newer firmware + - gfs2: add some much needed cleanup for log flushes that fail + - hv_utils: return error if host timesysnc update is stale + - hv_utils: drain the timesync packets on onchannelcallback + - ceph: don't allow setlease on cephfs + - i2c: iproc: Fix shifting 31 bits + - drm/omap: fix incorrect lock state + - irqchip/ingenic: Leave parent IRQ unmasked on suspend + - cpuidle: Fixup IRQ state + - nbd: restore default timeout when setting it to zero + - s390: don't trace preemption in percpu macros + - drm/amd/display: should check error using DC_OK + - drm/amd/display: Reject overlay plane configurations in multi-display + scenarios + - drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in + amdgpu_dm_update_backlight_caps + - drm/amd/display: Revert HDCP disable sequence change + - drm/amd/display: Fix passive dongle mistaken as active dongle in EDID + emulation + - drm/amd/display: Keep current gain when ABM disable immediately + - drm/amd/display: Retry AUX write when fail occurs + - drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init + - xen/xenbus: Fix granting of vmalloc'd memory + - fsldma: fix very broken 32-bit ppc ioread64 functionality + - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling + - batman-adv: Avoid uninitialized chaddr when handling DHCP + - batman-adv: Fix own OGM check in aggregated OGMs + - batman-adv: bla: use netif_rx_ni when not in interrupt context + - dmaengine: at_hdmac: check return value of of_find_device_by_node() in + at_dma_xlate() + - dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate() + - dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() + - rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() + - rxrpc: Fix loss of RTT samples due to interposed ACK + - rxrpc: Make rxrpc_kernel_get_srtt() indicate validity + - MIPS: mm: BMIPS5000 has inclusive physical caches + - MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores + - mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 + - perf sched timehist: Fix use of CPU list with summary option + - perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set + - netfilter: nf_tables: add NFTA_SET_USERDATA if not null + - netfilter: nf_tables: incorrect enum nft_list_attributes definition + - netfilter: nf_tables: fix destination register zeroing + - net: hns: Fix memleak in hns_nic_dev_probe + - net: systemport: Fix memleak in bcm_sysport_probe + - ravb: Fixed to be able to unload modules + - net: arc_emac: Fix memleak in arc_mdio_probe + - bpf: Fix a buffer out-of-bound access when filling raw_tp link_info + - dmaengine: pl330: Fix burst length if burst size is smaller than bus width + - dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg + - gtp: add GTPA_LINK info to msg sent to userspace + - net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port + - net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port + - bnxt_en: Don't query FW when netif_running() is false. + - bnxt_en: Check for zero dir entries in NVRAM. + - bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled. + - bnxt_en: Fix PCI AER error recovery flow + - bnxt_en: Fix possible crash in bnxt_fw_reset_task(). + - bnxt_en: fix HWRM error when querying VF temperature + - xfs: finish dfops on every insert range shift iteration + - xfs: fix boundary test in xfs_attr_shortform_verify + - bnxt: don't enable NAPI until rings are ready + - media: vicodec: add missing v4l2_ctrl_request_hdl_put() + - media: cedrus: Add missing v4l2_ctrl_request_hdl_put() + - net: ethernet: ti: cpsw_new: fix error handling in + cpsw_ndo_vlan_rx_kill_vid() + - media: i2c: imx214: select V4L2_FWNODE + - selftests/bpf: Fix massive output from test_maps + - net: dsa: mt7530: fix advertising unsupported 1000baseT_Half + - netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS + - nvmet-fc: Fix a missed _irqsave version of spin_lock in + 'nvmet_fc_fod_op_done()' + - nvme: fix controller instance leak + - netfilter: conntrack: do not auto-delete clash entries on reply + - opp: Don't drop reference for an OPP table that was never parsed + - cxgb4: fix thermal zone device registration + - net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode + - MIPS: perf: Fix wrong check condition of Loongson event IDs + - block: fix locking in bdev_del_partition + - perf top/report: Fix infinite loop in the TUI for grouped events + - perf cs-etm: Fix corrupt data after perf inject from + - perf intel-pt: Fix corrupt data after perf inject from + - perf tools: Correct SNOOPX field offset + - net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() + - fix regression in "epoll: Keep a reference on files added to the check list" + - net: bcmgenet: fix mask check in bcmgenet_validate_flow() + - net: gemini: Fix another missing clk_disable_unprepare() in probe + - nfp: flower: fix ABI mismatch between driver and firmware + - net: dp83867: Fix WoL SecureOn password + - MIPS: add missing MSACSR and upper MSA initialization + - MIPS: SNI: Fix SCSI interrupt + - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files + - perf jevents: Fix suspicious code in fixregex() + - perf stat: Turn off summary for interval mode by default + - perf bench: The do_run_multi_threaded() function must use + IS_ERR(perf_session__new()) + - tg3: Fix soft lockup when tg3_reset_task() fails. + - x86, fakenuma: Fix invalid starting node ID + - iommu/vt-d: Serialize IOMMU GCMD register modifications + - thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 + - thermal: qcom-spmi-temp-alarm: Don't suppress negative temp + - iommu/amd: Restore IRTE.RemapEn bit after programming IRTE + - iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE + - include/linux/log2.h: add missing () around n in roundup_pow_of_two() + - iommu/vt-d: Handle 36bit addressing for x86-32 + - tracing/kprobes, x86/ptrace: Fix regs argument order for i386 + - x86/entry: Fix AC assertion + - x86/debug: Allow a single level of #DB recursion + - ext2: don't update mtime on COW faults + - xfs: don't update mtime on COW faults + - ARC: perf: don't bail setup if pct irq missing in device-tree + - arc: fix memory initialization for systems with two memory banks + - btrfs: drop path before adding new uuid tree entry + - btrfs: fix potential deadlock in the search ioctl + - btrfs: allocate scrub workqueues outside of locks + - btrfs: set the correct lockdep class for new nodes + - btrfs: set the lockdep class for log tree extent buffers + - btrfs: block-group: fix free-space bitmap threshold + - btrfs: tree-checker: fix the error message for transid error + - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier + - x86/mm/32: Bring back vmalloc faulting on x86_32 + - Revert "ALSA: hda: Add support for Loongson 7A1000 controller" + - ALSA: ca0106: fix error code handling + - ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 + - ALSA: usb-audio: Add implicit feedback quirk for UR22C + - ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check + - ALSA: hda/hdmi: always check pin power status in i915 pin fixup + - ALSA: firewire-digi00x: exclude Avid Adrenaline from detection + - ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO + - ALSA; firewire-tascam: exclude Tascam FE-8 from detection + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A + - ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen + - arm64: dts: mt7622: add reset node for mmc device + - mmc: mediatek: add optional module reset property + - mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings + - mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based + controllers + - media: rc: do not access device via sysfs after rc_unregister_device() + - media: rc: uevent sysfs file races with rc_unregister_device() + - affs: fix basic permission bits to actually work + - block: allow for_each_bvec to support zero len bvec + - block: ensure bdi->io_pages is always initialized + - io_uring: set table->files[i] to NULL when io_sqe_file_register failed + - io_uring: fix removing the wrong file in __io_sqe_files_update() + - s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig + - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks + - mips/oprofile: Fix fallthrough placement + - blk-iocost: ioc_pd_free() shouldn't assume irq disabled + - blk-stat: make q->stats->lock irqsafe + - dmaengine: dw-edma: Fix scatter-gather address calculation + - drm/i915: Fix sha_text population code + - drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting + - drm/amdgpu: Specify get_argument function for ci_smu_funcs + - dm writecache: handle DAX to partitions on persistent memory correctly + - dm mpath: fix racey management of PG initialization + - dm integrity: fix error reporting in bitmap mode after creation + - dm crypt: Initialize crypto wait structures + - dm cache metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Fix use-after-free in dm_bm_set_read_only + - mm: slub: fix conversion of freelist_corrupted() + - mm: track page table modifications in __apply_to_page_range() + - mm: madvise: fix vma user-after-free + - mm/rmap: fixup copying of soft dirty and uffd ptes + - io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file + - perf record: Correct the help info of option "--no-bpf-event" + - kconfig: streamline_config.pl: check defined(ENV variable) before using it + - sdhci: tegra: Add missing TMCLK for data timeout + - checkpatch: fix the usage of capture group ( ... ) + - mm/migrate: fixup setting UFFD_WP flag + - mm/hugetlb: try preferred node first when alloc gigantic page from cma + - mm/hugetlb: fix a race between hugetlb sysctl handlers + - mm/khugepaged.c: fix khugepaged's request size in collapse_file + - cfg80211: regulatory: reject invalid hints + - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() + - Linux 5.8.8 + * Groovy update: v5.8.7 upstream stable release (LP: #1894959) + - HID: core: Correctly handle ReportSize being zero + - HID: core: Sanitize event code and type when mapping input + - netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap + detection + - mm: fix pin vs. gup mismatch with gate pages + - selftests/x86/test_vsyscall: Improve the process_vm_readv() test + - perf record/stat: Explicitly call out event modifiers in the documentation + - media: media/v4l2-core: Fix kernel-infoleak in video_put_user() + - KVM: arm64: Add kvm_extable for vaxorcism code + - KVM: arm64: Survive synchronous exceptions caused by AT instructions + - dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later + - arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra210 SDMMC + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210 + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186 + - nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage + - scsi: target: tcmu: Optimize use of flush_dcache_page + - Linux 5.8.7 + * Groovy update: v5.8.6 upstream stable release (LP: #1894956) + - Revert "UBUNTU: SAUCE: Revert "ARM64: vdso32: Install vdso32 from + vdso_install"" + - khugepaged: khugepaged_test_exit() check mmget_still_valid() + - ASoC: intel/skl/hda - fix probe regression on systems without i915 + - ALSA: pci: delete repeated words in comments + - drm/amdgpu: fix RAS memory leak in error case + - EDAC/mc: Call edac_inc_ue_error() before panic + - ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt + - ASoC: img-parallel-out: Fix a reference count leak + - ASoC: tegra: Fix reference count leaks. + - mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs + - arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep + - powerpc/xive: Ignore kmemleak false positives + - media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA + value in debiirq() + - gcc-plugins/stackleak: Don't instrument itself + - blktrace: ensure our debugfs dir exists + - staging: rts5208: fix memleaks on error handling paths in probe + - scsi: target: tcmu: Fix crash on ARM during cmd completion + - mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs + - iommu/iova: Don't BUG on invalid PFNs + - platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow + - drm/amdkfd: Fix reference count leaks. + - drm/radeon: fix multiple reference count leak + - drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms + - drm/amd/display: fix ref count leak in amdgpu_drm_ioctl + - drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config + - drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/fence: fix ref count leak when pm_runtime_get_sync fails + - drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/pm: fix ref count leak when pm_runtime_get_sync fails + - scsi: lpfc: Fix shost refcount mismatch when deleting vport + - xfs: Don't allow logging of XFS_ISTALE inodes + - scsi: target: Fix xcopy sess release leak + - selftests/powerpc: Purge extra count_pmc() calls of ebb selftests + - f2fs: remove write attribute of main_blkaddr sysfs node + - f2fs: fix error path in do_recover_data() + - MIPS: KVM: Limit Trap-and-Emulate to MIPS32R2 only + - omapfb: fix multiple reference count leaks due to pm_runtime_get_sync + - PCI: Fix pci_create_slot() reference count leak + - ARM: dts: ls1021a: output PPS signal on FIPER2 + - rtlwifi: rtl8192cu: Prevent leaking urb + - mips/vdso: Fix resource leaks in genvdso.c + - ALSA: hda: Add support for Loongson 7A1000 controller + - gpu: host1x: Put gather's BO on pinning error + - cec-api: prevent leaking memory through hole in structure + - ASoC: Intel: sof_sdw_rt711: remove properties in card remove + - HID: quirks: add NOGET quirk for Logitech GROUP + - f2fs: fix use-after-free issue + - drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open + - drm/nouveau: fix reference count leak in nv50_disp_atomic_commit + - drm/nouveau: Fix reference count leak in nouveau_connector_detect + - locking/lockdep: Fix overflow in presentation of average lock-time + - btrfs: file: reserve qgroup space after the hole punch range is locked + - btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode + - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() + - netfilter: nf_tables: report EEXIST on overlaps + - ceph: fix potential mdsc use-after-free crash + - ceph: do not access the kiocb after aio requests + - scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() + - i2c: i801: Add support for Intel Tiger Lake PCH-H + - EDAC/ie31200: Fallback if host bridge device is already initialized + - hugetlbfs: prevent filesystem stacking of hugetlbfs + - media: davinci: vpif_capture: fix potential double free + - media: i2c: imx290: fix reset GPIO pin handling + - drm/amd/display: change global buffer to local buffer + - drm/amd/display: fix compilation error on allmodconfig + - KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe + - powerpc/spufs: add CONFIG_COREDUMP dependency + - dmaengine: idxd: fix PCI_MSI build errors + - USB: sisusbvga: Fix a potential UB casued by left shifting a negative value + - mmc: sdhci-of-arasan: fix timings allocation code + - brcmfmac: Set timeout value when configuring power save + - pinctrl: mediatek: avoid virtual gpio trying to set reg + - pinctrl: mediatek: fix build for tristate changes + - efi: provide empty efi_enter_virtual_mode implementation + - arm64: Fix __cpu_logical_map undefined issue + - net: openvswitch: introduce common code for flushing flows + - PCI: qcom: Add missing ipq806x clocks in PCIe driver + - PCI: qcom: Change duplicate PCI reset to phy reset + - PCI: qcom: Add missing reset for ipq806x + - PM / devfreq: Fix the wrong end with semicolon + - cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode + - ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) + - nfsd: fix oops on mixed NFSv4/NFSv3 client access + - block: respect queue limit of max discard segment + - block: virtio_blk: fix handling single range discard request + - drm/msm/adreno: fix updating ring fence + - block: Fix page_is_mergeable() for compound pages + - bfq: fix blkio cgroup leakage v4 + - hwmon: (nct7904) Correct divide by 0 + - blk-mq: insert request not through ->queue_rq into sw/scheduler queue + - blkcg: fix memleak for iolatency + - nvmet: fix a memory leak + - nvme-fc: Fix wrong return value in __nvme_fc_init_request() + - nvme: multipath: round-robin: fix single non-optimized path case + - null_blk: fix passing of REQ_FUA flag in null_handle_rq + - habanalabs: Fix memory corruption in debugfs + - drm/etnaviv: always start/stop scheduler in timeout processing + - i2c: core: Don't fail PRP0001 enumeration when no ID table exist + - i2c: rcar: in slave mode, clear NACK earlier + - vdpa: ifcvf: return err when fail to request config irq + - vdpa: ifcvf: free config irq in ifcvf_free_irq() + - usb: gadget: f_tcm: Fix some resource leaks in some error paths + - video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n + - spi: stm32: clear only asserted irq flags on interrupt + - jbd2: make sure jh have b_transaction set in refile/unfile_buffer + - ext4: don't BUG on inconsistent journal feature + - ext4: handle read only external journal device + - ext4: skip non-loaded groups at cr=0/1 when scanning for good groups + - drm/virtio: fix memory leak in virtio_gpu_cleanup_object() + - ext4: abort the filesystem if failed to async write metadata buffer + - jbd2: abort journal if free a async write error metadata buffer + - ext4: handle option set by mount flags correctly + - ext4: handle error of ext4_setup_system_zone() on remount + - ext4: correctly restore system zone info when remount fails + - fs: prevent BUG_ON in submit_bh_wbc() + - spi: stm32h7: fix race condition at end of transfer + - spi: stm32: fix fifo threshold level in case of short transfer + - spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate + - spi: stm32: always perform registers configuration prior to transfer + - drm/amd/powerplay: correct Vega20 cached smu feature state + - drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading + - drm/amd/display: Fix LFC multiplier changing erratically + - drm/amd/display: Switch to immediate mode for updating infopackets + - selftests/bpf: Fix segmentation fault in test_progs + - netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency + - libbpf: Prevent overriding errno when logging errors + - tools/bpftool: Fix compilation warnings in 32-bit mode + - selftest/bpf: Fix compilation warnings in 32-bit mode + - selftests/bpf: Fix btf_dump test cases on 32-bit arches + - selftests/bpf: Correct various core_reloc 64-bit assumptions + - can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect + corruptions + - dma-pool: fix coherent pool allocations for IOMMU mappings + - dma-pool: Only allocate from CMA when in same memory zone + - drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check + - ALSA: hda/realtek: Add model alc298-samsung-headphone + - s390/cio: add cond_resched() in the slow_eval_known_fn() loop + - ASoC: wm8994: Avoid attempts to read unreadable registers + - ALSA: usb-audio: ignore broken processing/extension unit + - selftests: disable rp_filter for icmp_redirect.sh + - scsi: fcoe: Fix I/O path allocation + - scsi: ufs: Fix possible infinite loop in ufshcd_hold + - scsi: ufs: Improve interrupt handling for shared interrupts + - scsi: ufs: Clean up completed request without interrupt notification + - scsi: scsi_debug: Fix scp is NULL errors + - scsi: qla2xxx: Flush all sessions on zone disable + - scsi: qla2xxx: Flush I/O on zone disable + - scsi: qla2xxx: Indicate correct supported speeds for Mezz card + - scsi: qla2xxx: Fix login timeout + - scsi: qla2xxx: Check if FW supports MQ before enabling + - scsi: qla2xxx: Fix null pointer access during disconnect from subsystem + - Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" + - macvlan: validate setting of multiple remote source MAC addresses + - net: gianfar: Add of_node_put() before goto statement + - drm/amdgpu: fix NULL pointer access issue when unloading driver + - drm/amdkfd: fix the wrong sdma instance query for renoir + - bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator + - bpf: Avoid visit same object multiple times + - ext4: limit the length of per-inode prealloc list + - powerpc/perf: Fix soft lockups due to missed interrupt accounting + - libbpf: Fix map index used in error message + - bpf: selftests: global_funcs: Check err_str before strstr + - arm64: Move handling of erratum 1418040 into C code + - arm64: Allow booting of late CPUs affected by erratum 1418040 + - hwmon: (gsc-hwmon) Scale temperature to millidegrees + - block: fix get_max_io_size() + - block: loop: set discard granularity and alignment for block device backed + loop + - blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART + - btrfs: reset compression level for lzo on remount + - btrfs: check the right error variable in btrfs_del_dir_entries_in_log + - btrfs: fix space cache memory leak after transaction abort + - btrfs: detect nocow for swap after snapshot delete + - fbcon: prevent user font height or width change from causing potential out- + of-bounds access + - USB: lvtest: return proper error code in probe + - vt: defer kfree() of vc_screenbuf in vc_do_resize() + - vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize() + - serial: samsung: Removes the IRQ not found warning + - serial: pl011: Fix oops on -EPROBE_DEFER + - serial: pl011: Don't leak amba_ports entry on driver register error + - serial: stm32: avoid kernel warning on absence of optional IRQ + - serial: 8250_exar: Fix number of ports for Commtech PCIe cards + - serial: 8250: change lock order in serial8250_do_startup() + - io_uring: clear req->result on IOPOLL re-issue + - writeback: Protect inode->i_io_list with inode->i_lock + - writeback: Avoid skipping inode writeback + - writeback: Fix sync livelock due to b_dirty_time processing + - XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN + data pointer which contains XEN specific information. + - usb: renesas-xhci: remove version check + - usb: host: xhci-tegra: otg usb2/usb3 port init + - usb: host: xhci-tegra: fix tegra_xusb_get_phy() + - usb: host: xhci: fix ep context print mismatch in debugfs + - xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed + - io-wq: fix hang after cancelling pending hashed work + - KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception + - arm64: vdso32: make vdso32 install conditional + - PM: sleep: core: Fix the handling of pending runtime resume requests + - powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU + - powerpc/perf: Fix crashes with generic_compat_pmu & BHRB + - device property: Fix the secondary firmware node handling in + set_primary_fwnode() + - crypto: af_alg - Work around empty control messages without MSG_MORE + - usbip: Implement a match function to fix usbip + - genirq/matrix: Deal with the sillyness of for_each_cpu() on UP + - irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by + mistake + - x86/irq: Unbreak interrupt affinity setting + - x86/hotplug: Silence APIC only after all interrupts are migrated + - drm/i915: Fix cmd parser desc matching with masks + - drm/etnaviv: fix external abort seen on GC600 rev 0x19 + - drm/dp_mst: Don't return error code when crtc is null + - drm/modeset-lock: Take the modeset BKL for legacy drivers + - drm/amdgpu: Fix buffer overflow in INFO ioctl + - drm/amd/display: use correct scale for actual_brightness + - drm/amdgpu/gfx10: refine mgcg setting + - drm/amd/powerplay: Fix hardmins not being sent to SMU for RV + - drm/amd/pm: correct Vega10 swctf limit setting + - drm/amd/pm: correct Vega12 swctf limit setting + - drm/amd/pm: correct Vega20 swctf limit setting + - drm/amd/pm: correct the thermal alert temperature limit settings + - USB: yurex: Fix bad gfp argument + - usb: uas: Add quirk for PNY Pro Elite + - USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D + - USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge + - usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() + - USB: gadget: u_f: add overflow checks to VLA macros + - USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb() + - USB: gadget: u_f: Unbreak offset calculation in VLAs + - usb: dwc3: gadget: Don't setup more than requested + - usb: dwc3: gadget: Fix handling ZLP + - usb: dwc3: gadget: Handle ZLP for sg requests + - USB: cdc-acm: rework notification_buffer resizing + - usb: storage: Add unusual_uas entry for Sony PSZ drives + - USB: Also match device drivers using the ->match vfunc + - USB: Fix device driver race + - usb: typec: ucsi: Fix AB BA lock inversion + - usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls + - usb: typec: ucsi: Rework ppm_lock handling + - usb: typec: ucsi: Hold con->lock for the entire duration of + ucsi_register_port() + - usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA + 2.3.1.2 failures + - io_uring: don't recurse on tsk->sighand->siglock with signalfd + - io_uring: don't use poll handler if file can't be nonblocking read/written + - io_uring: make offset == -1 consistent with preadv2/pwritev2 + - drm/atomic-helper: reset vblank on crtc reset + - fbmem: pull fbcon_update_vcs() out of fb_set_var() + - mm/page_counter: fix various data races at memsw + - HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() + - drm/vmwgfx/stdu: Use drm_mode_config_reset + - drm/vmwgfx/sou: Use drm_mode_config_reset + - drm/vmwgfx/ldu: Use drm_mode_config_reset + - dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() + - ALSA: usb-audio: Update documentation comment for MS2109 quirk + - Linux 5.8.6 + - [Config] GCC version update + * DELL LATITUDE 5491 touchscreen doesn't work (LP: #1889446) // Groovy update: + v5.8.6 upstream stable release (LP: #1894956) + - USB: quirks: Add no-lpm quirk for another Raydium touchscreen + * [NUC8CCHK][HDA-Intel - HDA Intel PCH, playback] No sound at all + (LP: #1875199) // Groovy update: v5.8.6 upstream stable release + (LP: #1894956) + - ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged + * CVE-2020-14386 + - net/packet: fix overflow in tpacket_rcv + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Groovy update: v5.8.5 upstream stable release (LP: #1893237) + - gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY + - net: Fix potential wrong skb->protocol in skb_vlan_untag() + - net: nexthop: don't allow empty NHA_GROUP + - net: qrtr: fix usage of idr in port assignment to socket + - net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error + flow + - net: sctp: Fix negotiation of the number of data streams. + - net/smc: Prevent kernel-infoleak in __smc_diag_dump() + - tipc: call rcu_read_lock() in tipc_aead_encrypt_done() + - tipc: fix uninit skb->data in tipc_nl_compat_dumpit() + - net: ena: Make missed_tx stat incremental + - ethtool: Fix preserving of wanted feature bits in netlink interface + - ethtool: Account for hw_features in netlink interface + - ethtool: Don't omit the netlink reply if no features were changed + - netlink: fix state reallocation in policy export + - io_uring: fix missing ->mm on exit + - binfmt_flat: revert "binfmt_flat: don't offset the data start" + - Linux 5.8.5 + * Miscellaneous Ubuntu changes + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and + map_kernel_range()" + + -- Andrea Righi Wed, 23 Sep 2020 11:47:52 +0200 + +linux-riscv (5.8.0-1.1) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-1.1 -proposed tracker (LP: #1892958) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + - [Packaging] update variants + - [Packaging] update update.conf + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Config] Move build of linux-libc-dev to primary kernel + + * Miscellaneous Ubuntu changes + - [Packaging] Update debhelper build-depends for compat 10 + - [Packaging] Updates for using upstream wireguard driver + - [Config] Update configs for 5.8 + - [Config] Update annotations for 5.8 + - [Config] Update configs after rebase to 5.8.0-18.19 + - [Config] Enable CONFIG_DEBUG_INFO_BTF + - [Config] Update toolchain versions in configs + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + - [Config] Update toolchain versions in configs + - [Config] Remove stale enforcements from annotations + + -- Seth Forshee Thu, 27 Aug 2020 13:42:40 -0500 + +linux-riscv (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Fri, 24 Jul 2020 20:08:47 -0500 + +linux-riscv (5.4.0-30.34) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-30.34 -proposed tracker (LP: #1887066) + + [ Ubuntu: 5.4.0-42.46 ] + + * focal/linux: 5.4.0-42.46 -proposed tracker (LP: #1887069) + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + -- Stefan Bader Fri, 10 Jul 2020 11:40:51 +0200 + +linux-riscv (5.4.0-29.33) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-29.33 -proposed tracker (LP: #1885852) + + [ Ubuntu: 5.4.0-41.45 ] + + * focal/linux: 5.4.0-41.45 -proposed tracker (LP: #1885855) + * Packaging resync (LP: #1786013) + - update dkms package versions + * CVE-2019-19642 + - kernel/relay.c: handle alloc_percpu returning NULL in relay_open + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + * CVE-2020-11935 + - aufs: do not call i_readcount_inc() + * ip_defrag.sh in net from ubuntu_kernel_selftests failed with 5.0 / 5.3 / 5.4 + kernel (LP: #1826848) + - selftests: net: ip_defrag: ignore EPERM + * Update lockdown patches (LP: #1884159) + - SAUCE: acpi: disallow loading configfs acpi tables when locked down + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + * 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 + + [ Ubuntu: 5.4.0-40.44 ] + + * linux-oem-5.6-tools-common and -tools-host should be dropped (LP: #1881120) + - [Packaging] Add Conflicts/Replaces to remove linux-oem-5.6-tools-common and + -tools-host + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-39.43 ] + + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Sultan Alsawaf Mon, 06 Jul 2020 13:35:56 -0700 + +linux-riscv (5.4.0-28.32) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-28.32 -proposed tracker (LP: #1882694) + + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - [Config] riscv: Record CC_HAS_WARN_MAYBE_UNINITIALIZED drop + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + [ Ubuntu: 5.4.0-38.42 ] + + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-37.41 ] + + * CVE-2020-0543 + - SAUCE: x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2 + - SAUCE: x86/cpu: Add a steppings field to struct x86_cpu_id + - SAUCE: x86/cpu: Add 'table' argument to cpu_matches() + - SAUCE: x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) + mitigation + - SAUCE: x86/speculation: Add SRBDS vulnerability and mitigation documentation + - SAUCE: x86/speculation: Add Ivy Bridge to affected list + + -- Stefan Bader Fri, 12 Jun 2020 11:28:12 +0200 + +linux-riscv (5.4.0-27.31) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-27.31 -proposed tracker (LP: #1878798) + + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - [config] riscv: disable am-1805 RTC driver + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config][focal/linux-riscv] Turn off CONFIG_RT_GROUP_SCHED + + [ Ubuntu: 5.4.0-34.38 ] + + * focal/linux: 5.4.0-34.38 -proposed tracker (LP: #1880118) + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + * Focal update: v5.4.41 upstream stable release (LP: #1878649) + - USB: serial: qcserial: Add DW5816e support + - nvme: refactor nvme_identify_ns_descs error handling + - nvme: fix possible hang when ns scanning fails during error recovery + - tracing/kprobes: Fix a double initialization typo + - net: macb: Fix runtime PM refcounting + - drm/amdgpu: move kfd suspend after ip_suspend_phase1 + - drm/amdgpu: drop redundant cg/pg ungate on runpm enter + - vt: fix unicode console freeing with a common interface + - tty: xilinx_uartps: Fix missing id assignment to the console + - devlink: fix return value after hitting end in region read + - dp83640: reverse arguments to list_add_tail + - fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks + - ipv6: Use global sernum for dst validation with nexthop objects + - mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly + - neigh: send protocol value in neighbor create notification + - net: dsa: Do not leave DSA master with NULL netdev_ops + - net: macb: fix an issue about leak related system resources + - net: macsec: preserve ingress frame ordering + - net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() + - net_sched: sch_skbprio: add message validation to skbprio_change() + - net: stricter validation of untrusted gso packets + - net: tc35815: Fix phydev supported/advertising mask + - net/tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() + - net/tls: Fix sk_psock refcnt leak when in tls_data_ready() + - net: usb: qmi_wwan: add support for DW5816e + - nfp: abm: fix a memory leak bug + - sch_choke: avoid potential panic in choke_reset() + - sch_sfq: validate silly quantum values + - tipc: fix partial topology connection closure + - tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 + - bnxt_en: Fix VF anti-spoof filter setup. + - bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF. + - bnxt_en: Improve AER slot reset. + - bnxt_en: Return error when allocating zero size context memory. + - bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features(). + - net/mlx5: DR, On creation set CQ's arm_db member to right value + - net/mlx5: Fix forced completion access non initialized command entry + - net/mlx5: Fix command entry leak in Internal Error State + - net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx() + - net: mvpp2: cls: Prevent buffer overflow in mvpp2_ethtool_cls_rule_del() + - HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices + - sctp: Fix bundling of SHUTDOWN with COOKIE-ACK + - Revert "HID: wacom: generic: read the number of expected touches on a per + collection basis" + - HID: usbhid: Fix race between usbhid_close() and usbhid_stop() + - HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT + - USB: uas: add quirk for LaCie 2Big Quadra + - usb: chipidea: msm: Ensure proper controller reset using role switch API + - USB: serial: garmin_gps: add sanity checking for data length + - tracing: Add a vmalloc_sync_mappings() for safe measure + - crypto: arch/nhpoly1305 - process in explicit 4k chunks + - KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction + - KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path + - KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER + - KVM: arm64: Fix 32bit PC wrap-around + - arm64: hugetlb: avoid potential NULL dereference + - drm: ingenic-drm: add MODULE_DEVICE_TABLE + - ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() + - epoll: atomically remove wait entry on wake up + - eventpoll: fix missing wakeup for ovflist in ep_poll_callback + - mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() + - mm: limit boost_watermark on small zones + - ceph: demote quotarealm lookup warning to a debug message + - staging: gasket: Check the return value of gasket_get_bar_index() + - coredump: fix crash when umh is disabled + - iocost: protect iocg->abs_vdebt with iocg->waitq.lock + - batman-adv: fix batadv_nc_random_weight_tq + - batman-adv: Fix refcnt leak in batadv_show_throughput_override + - batman-adv: Fix refcnt leak in batadv_store_throughput_override + - batman-adv: Fix refcnt leak in batadv_v_ogm_process + - x86/entry/64: Fix unwind hints in register clearing code + - x86/entry/64: Fix unwind hints in kernel exit path + - x86/entry/64: Fix unwind hints in rewind_stack_do_exit() + - x86/unwind/orc: Don't skip the first frame for inactive tasks + - x86/unwind/orc: Prevent unwinding before ORC initialization + - x86/unwind/orc: Fix error path for bad ORC entry type + - x86/unwind/orc: Fix premature unwind stoppage due to IRET frames + - KVM: x86: Fixes posted interrupt check for IRQs delivery modes + - arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() + - netfilter: nat: never update the UDP checksum when it's 0 + - netfilter: nf_osf: avoid passing pointer to local var + - objtool: Fix stack offset tracking for indirect CFAs + - iommu/virtio: Reverse arguments to list_add + - scripts/decodecode: fix trapping instruction formatting + - mm, memcg: fix error return value of mem_cgroup_css_alloc() + - bdi: move bdi_dev_name out of line + - bdi: add a ->dev_name field to struct backing_dev_info + - fsnotify: replace inode pointer with an object id + - fanotify: merge duplicate events on parent and child + - Linux 5.4.41 + * Intel GPU Hangs : random screen freezing w/ Ubuntu 20.04 (Linux 5.4) + i915_active_acquire (LP: #1868551) + - drm/i915: Hold reference to intel_frontbuffer as we track activity + - drm/i915: fix uninitialized pointer reads on pointers to and from + * Kernel panic due to NULL ringbuffer vaddr dereference in i915 (LP: #1877394) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + - drm/i915/gt: Make intel_ring_unpin() safe for concurrent pint + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] Set CONFIG_PSI_DEFAULT_DISABLED=y on s390x + * Focal update: v5.4.40 upstream stable release (LP: #1878040) + - vhost: vsock: kick send_pkt worker once device is started + - drm/bridge: analogix_dp: Split bind() into probe() and real bind() + - ASoC: topology: Check return value of soc_tplg_create_tlv + - ASoC: topology: Check return value of soc_tplg_*_create + - ASoC: topology: Check soc_tplg_add_route return value + - ASoC: topology: Check return value of pcm_new_ver + - ASoC: topology: Check return value of soc_tplg_dai_config + - selftests/ipc: Fix test failure seen after initial test run + - ASoC: sgtl5000: Fix VAG power-on handling + - ASoC: topology: Fix endianness issue + - usb: dwc3: gadget: Properly set maxpacket limit + - ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode + - ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode + - ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry + - remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe() + - drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay + table v0 (e.g Hawaii) + - wimax/i2400m: Fix potential urb refcnt leak + - net: stmmac: fix enabling socfpga's ptp_ref_clock + - net: stmmac: Fix sub-second increment + - ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent + - ASoC: rsnd: Fix "status check failed" spam for multi-SSI + - cifs: protect updating server->dstaddr with a spinlock + - scripts/config: allow colons in option strings for sed + - cifs: do not share tcons with DFS + - tracing: Fix memory leaks in trace_events_hist.c + - lib/mpi: Fix building for powerpc with clang + - mac80211: sta_info: Add lockdep condition for RCU list usage + - net: bcmgenet: suppress warnings on failed Rx SKB allocations + - net: systemport: suppress warnings on failed Rx SKB allocations + - drm/i915: Extend WaDisableDARBFClkGating to icl,ehl,tgl + - sctp: Fix SHUTDOWN CTSN Ack in the peer restart case + - Revert "software node: Simplify software_node_release() function" + - hexagon: clean up ioremap + - hexagon: define ioremap_uc + - ALSA: hda: Match both PCI ID and SSID for driver blacklist + - x86/kvm: fix a missing-prototypes "vmread_error" + - platform/x86: GPD pocket fan: Fix error message when temp-limits are out of + range + - ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() + - mac80211: add ieee80211_is_any_nullfunc() + - cgroup, netclassid: remove double cond_resched + - libbpf: Fix readelf output parsing for Fedora + - mm/mremap: Add comment explaining the untagging behaviour of mremap() + - Revert "drm/amd/display: setting the DIG_MODE to the correct value." + - tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel + sources + - udp: document udp_rcv_segment special case for looped packets + - PM / devfreq: Add missing locking while setting suspend_freq + - Linux 5.4.40 + * Focal update: v5.4.39 upstream stable release (LP: #1877592) + - dma-buf: Fix SET_NAME ioctl uapi + - drm/edid: Fix off-by-one in DispID DTD pixel clock + - drm/amd/display: Fix green screen issue after suspend + - drm/qxl: qxl_release leak in qxl_draw_dirty_fb() + - drm/qxl: qxl_release leak in qxl_hw_surface_alloc() + - drm/qxl: qxl_release use after free + - NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION + - btrfs: fix transaction leak in btrfs_recover_relocation + - btrfs: fix block group leak when removing fails + - btrfs: fix partial loss of prealloc extent past i_size after fsync + - btrfs: transaction: Avoid deadlock due to bad initialization timing of + fs_info::journal_info + - mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout + loop + - mmc: sdhci-xenon: fix annoying 1.8V regulator warning + - mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers + - mmc: sdhci-msm: Enable host capabilities pertains to R1b response + - mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY + - mmc: meson-mx-sdio: remove the broken ->card_busy() op + - crypto: caam - fix the address of the last entry of S/G + - ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter + - ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID + - ALSA: hda/hdmi: fix without unlocked before return + - ALSA: line6: Fix POD HD500 audio playback + - ALSA: pcm: oss: Place the plugin buffer overflow checks correctly + - i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling + - Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM + - dlmfs_file_write(): fix the bogosity in handling non-zero *ppos + - IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() + - PM: ACPI: Output correct message on target power state + - PM: hibernate: Freeze kernel threads in software_resume() + - dm verity fec: fix hash block number in verity_fec_decode + - dm writecache: fix data corruption when reloading the target + - dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath + - ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe + - scsi: qla2xxx: set UNLOADING before waiting for session deletion + - scsi: qla2xxx: check UNLOADING before posting async work + - RDMA/mlx5: Set GRH fields in query QP on RoCE + - RDMA/mlx4: Initialize ib_spec on the stack + - RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() + - RDMA/core: Prevent mixed use of FDs between shared ufiles + - RDMA/core: Fix race between destroy and release FD object + - RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() + - RDMA/cm: Fix an error check in cm_alloc_id_priv() + - i2c: iproc: generate stop event for slave writes + - vfio: avoid possible overflow in vfio_iommu_type1_pin_pages + - vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() + - iommu/qcom: Fix local_base status check + - scsi: target/iblock: fix WRITE SAME zeroing + - iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system + - i2c: aspeed: Avoid i2c interrupt status clear race condition. + - ALSA: opti9xx: shut up gcc-10 range warning + - Fix use after free in get_tree_bdev() + - nvme: prevent double free in nvme_alloc_ns() error handling + - nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl + - dmaengine: dmatest: Fix iteration non-stop logic + - dmaengine: dmatest: Fix process hang when reading 'wait' parameter + - arm64: vdso: Add -fasynchronous-unwind-tables to cflags + - selinux: properly handle multiple messages in selinux_netlink_send() + - Linux 5.4.39 + * Focal update: v5.4.38 upstream stable release (LP: #1876767) + - Linux 5.4.38 + * Focal update: v5.4.37 upstream stable release (LP: #1876765) + - remoteproc: Fix wrong rvring index computation + - ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans() + - printk: queue wake_up_klogd irq_work only if per-CPU areas are ready + - ASoC: stm32: sai: fix sai probe + - usb: dwc3: gadget: Do link recovery for SS and SSP + - kbuild: fix DT binding schema rule again to avoid needless rebuilds + - usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete + - usb: gadget: udc: atmel: Fix vbus disconnect handling + - afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate + - afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH + - iio:ad7797: Use correct attribute_group + - propagate_one(): mnt_set_mountpoint() needs mount_lock + - counter: 104-quad-8: Add lock guards - generic interface + - s390/ftrace: fix potential crashes when switching tracers + - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs + - ASoC: tas571x: disable regulators on failed probe + - ASoC: wm8960: Fix wrong clock after suspend & resume + - drivers: soc: xilinx: fix firmware driver Kconfig dependency + - nfsd: memory corruption in nfsd4_lock() + - bpf: Forbid XADD on spilled pointers for unprivileged users + - i2c: altera: use proper variable to hold errno + - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket + - net/cxgb4: Check the return from t4_query_params properly + - xfs: acquire superblock freeze protection on eofblocks scans + - svcrdma: Fix trace point use-after-free race + - svcrdma: Fix leak of svc_rdma_recv_ctxt objects + - net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ + overruns + - net/mlx5e: Get the latest values from counters in switchdev mode + - PCI: Add ACS quirk for Zhaoxin multi-function devices + - PCI: Make ACS quirk implementations more uniform + - PCI: Unify ACS quirk desired vs provided checking + - PCI: Add Zhaoxin Vendor ID + - PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports + - PCI: Move Apex Edge TPU class quirk to fix BAR assignment + - ARM: dts: bcm283x: Disable dsi0 node + - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled + - s390/pci: do not set affinity for floating irqs + - net/mlx5: Fix failing fw tracer allocation on s390 + - sched/core: Fix reset-on-fork from RT with uclamp + - perf/core: fix parent pid/tid in task exit events + - netfilter: nat: fix error handling upon registering inet hook + - PM: sleep: core: Switch back to async_schedule_dev() + - blk-iocost: Fix error on iocost_ioc_vrate_adj + - um: ensure `make ARCH=um mrproper` removes + arch/$(SUBARCH)/include/generated/ + - bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension + - bpf, x86_32: Fix clobbering of dst for BPF_JSET + - bpf, x86_32: Fix logic error in BPF_LDX zero-extension + - mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy + path + - xfs: clear PF_MEMALLOC before exiting xfsaild thread + - bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B + - libbpf: Initialize *nl_pid so gcc 10 is happy + - net: fec: set GPR bit on suspend by DT configuration. + - x86: hyperv: report value of misc_features + - signal: check sig before setting info in kill_pid_usb_asyncio + - afs: Fix length of dump of bad YFSFetchStatus record + - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent + - ALSA: hda: Release resources at error in delayed probe + - ALSA: hda: Keep the controller initialization even if no codecs found + - ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported + - scsi: target: fix PR IN / READ FULL STATUS for FC + - scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN + - objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings + - objtool: Support Clang non-section symbols in ORC dump + - xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status + - ALSA: hda: call runtime_allow() for all hda controllers + - net: stmmac: socfpga: Allow all RGMII modes + - mac80211: fix channel switch trigger from unknown mesh peer + - arm64: Delete the space separator in __emit_inst + - ext4: use matching invalidatepage in ext4_writepage + - ext4: increase wait time needed before reuse of deleted inode numbers + - ext4: convert BUG_ON's to WARN_ON's in mballoc.c + - blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget + - hwmon: (jc42) Fix name to have no illegal characters + - taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions + - qed: Fix race condition between scheduling and destroying the slowpath + workqueue + - Crypto: chelsio - Fixes a hang issue during driver registration + - net: use indirect call wrappers for skb_copy_datagram_iter() + - qed: Fix use after free in qed_chain_free + - ext4: check for non-zero journal inum in ext4_calculate_overhead + - ASoC: soc-core: disable route checks for legacy devices + - ASoC: stm32: spdifrx: fix regmap status check + - Linux 5.4.37 + * Focal update: v5.4.36 upstream stable release (LP: #1876361) + - ext4: fix extent_status fragmentation for plain files + - f2fs: fix to avoid memory leakage in f2fs_listxattr + - net, ip_tunnel: fix interface lookup with no key + - [Config] updateconfigs for ARM64_ERRATUM_1542419 + - arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 + - arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 + - arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space + - arm64: Silence clang warning on mismatched value/register sizes + - tools/testing/nvdimm: Fix compilation failure without + CONFIG_DEV_DAX_PMEM_COMPAT + - watchdog: reset last_hw_keepalive time at start + - scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login + - scsi: lpfc: Fix crash after handling a pci error + - scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG + - scsi: libfc: If PRLI rejected, move rport to PLOGI state + - ceph: return ceph_mdsc_do_request() errors from __get_parent() + - ceph: don't skip updating wanted caps when cap is stale + - pwm: rcar: Fix late Runtime PM enablement + - nvme-tcp: fix possible crash in write_zeroes processing + - scsi: iscsi: Report unbind session event when the target has been removed + - tools/test/nvdimm: Fix out of tree build + - ASoC: Intel: atom: Take the drv->lock mutex before calling + sst_send_slot_map() + - nvme: fix deadlock caused by ANA update wrong locking + - drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax + - dma-direct: fix data truncation in dma_direct_get_required_mask() + - kernel/gcov/fs.c: gcov_seq_next() should increase position index + - selftests: kmod: fix handling test numbers above 9 + - ipc/util.c: sysvipc_find_ipc() should increase position index + - kconfig: qconf: Fix a few alignment issues + - lib/raid6/test: fix build on distros whose /bin/sh is not bash + - s390/cio: generate delayed uevent for vfio-ccw subchannels + - s390/cio: avoid duplicated 'ADD' uevents + - loop: Better discard support for block devices + - Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs + enabled" + - powerpc/pseries: Fix MCE handling on pseries + - nvme: fix compat address handling in several ioctls + - pwm: renesas-tpu: Fix late Runtime PM enablement + - pwm: bcm2835: Dynamically allocate base + - perf/core: Disable page faults when getting phys address + - drm/amd/display: Calculate scaling ratios on every medium/full update + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet + - ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk + - drm/amd/display: Not doing optimize bandwidth if flip pending. + - cxgb4: fix adapter crash due to wrong MC size + - cxgb4: fix large delays in PTP synchronization + - ipv4: Update fib_select_default to handle nexthop objects + - ipv6: fix restrict IPV6_ADDRFORM operation + - macsec: avoid to set wrong mtu + - macvlan: fix null dereference in macvlan_device_event() + - mlxsw: Fix some IS_ERR() vs NULL bugs + - net: bcmgenet: correct per TX/RX ring statistics + - net/mlx4_en: avoid indirect call in TX completion + - net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node + - net: openvswitch: ovs_ct_exit to be done under ovs_lock + - net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array + - net/x25: Fix x25_neigh refcnt leak when receiving frame + - sched: etf: do not assume all sockets are full blown + - selftests: Fix suppress test in fib_tests.sh + - tcp: cache line align MAX_TCP_HEADER + - team: fix hang in team_mode_get() + - vrf: Fix IPv6 with qdisc and xfrm + - net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled + - net: dsa: b53: Fix valid setting for MDB entries + - net: dsa: b53: Fix ARL register definitions + - net: dsa: b53: Rework ARL bin logic + - net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL + - vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish + - vrf: Check skb for XFRM_TRANSFORMED flag + - KEYS: Avoid false positive ENOMEM error on key read + - ALSA: hda: Remove ASUS ROG Zenith from the blacklist + - ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos + - ALSA: usb-audio: Add connector notifier delegation + - iio: core: remove extra semi-colon from devm_iio_device_register() macro + - iio: st_sensors: rely on odr mask to know if odr can be set + - iio: adc: stm32-adc: fix sleep in atomic context + - iio: adc: ti-ads8344: properly byte swap value + - iio: xilinx-xadc: Fix ADC-B powerdown + - iio: xilinx-xadc: Fix clearing interrupt when enabling trigger + - iio: xilinx-xadc: Fix sequencer configuration for aux channels in + simultaneous mode + - iio: xilinx-xadc: Make sure not exceed maximum samplerate + - USB: sisusbvga: Change port variable from signed to unsigned + - USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 + RGB RAPIDFIRE + - USB: early: Handle AMD's spec-compliant identifiers, too + - USB: core: Fix free-while-in-use bug in the USB S-Glibrary + - USB: hub: Fix handling of connect changes during sleep + - USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme + first for high speed devices") + - tty: serial: owl: add "much needed" clk_prepare_enable() + - vmalloc: fix remap_vmalloc_range() bounds checks + - staging: gasket: Fix incongruency in handling of sysfs entries creation + - coredump: fix null pointer dereference on coredump + - mm/hugetlb: fix a addressing exception caused by huge_pte_offset + - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled + - tools/vm: fix cross-compile build + - ALSA: usx2y: Fix potential NULL dereference + - ALSA: hda/realtek - Fix unexpected init_amp override + - ALSA: hda/realtek - Add new codec supported for ALC245 + - ALSA: hda/hdmi: Add module option to disable audio component binding + - ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif + - ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices + - tpm/tpm_tis: Free IRQ if probing fails + - tpm: fix wrong return value in tpm_pcr_extend + - tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() + - KVM: s390: Return last valid slot if approx index is out-of-bounds + - KVM: Check validity of resolved slot when searching memslots + - KVM: VMX: Enable machine check support for 32bit targets + - tty: hvc: fix buffer overflow during hvc_alloc(). + - tty: rocket, avoid OOB access + - usb-storage: Add unusual_devs entry for JMicron JMS566 + - signal: Avoid corrupting si_pid and si_uid in do_notify_parent + - audit: check the length of userspace generated audit records + - ASoC: dapm: fixup dapm kcontrol widget + - mac80211: populate debugfs only after cfg80211 init + - SUNRPC: Fix backchannel RPC soft lockups + - iwlwifi: pcie: actually release queue memory in TVQM + - iwlwifi: mvm: beacon statistics shouldn't go backwards + - iwlwifi: mvm: limit maximum queue appropriately + - iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation + - iwlwifi: mvm: fix inactive TID removal return value usage + - cifs: fix uninitialised lease_key in open_shroot() + - ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y + - powerpc/setup_64: Set cache-line-size based on cache-block-size + - staging: comedi: dt2815: fix writing hi byte of analog output + - staging: comedi: Fix comedi_device refcnt leak in comedi_open + - vt: don't hardcode the mem allocation upper bound + - vt: don't use kmalloc() for the unicode screen buffer + - staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default. + - staging: vt6656: Fix calling conditions of vnt_set_bss_mode + - staging: vt6656: Fix drivers TBTT timing counter. + - staging: vt6656: Fix pairwise key entry save. + - staging: vt6656: Power save stop wake_up_count wrap around. + - cdc-acm: close race betrween suspend() and acm_softint + - cdc-acm: introduce a cool down + - UAS: no use logging any details in case of ENODEV + - UAS: fix deadlock in error handling and PM flushing work + - fpga: dfl: pci: fix return value of cci_pci_sriov_configure + - usb: dwc3: gadget: Fix request completion check + - usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() + - usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change + - usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an + invalid pointer + - xhci: Fix handling halted endpoint even if endpoint ring appears empty + - xhci: prevent bus suspend if a roothub port detected a over-current + condition + - xhci: Don't clear hub TT buffer on ep0 protocol stall + - serial: sh-sci: Make sure status register SCxSR is read in correct sequence + - Revert "serial: uartps: Fix uartps_major handling" + - Revert "serial: uartps: Use the same dynamic major number for all ports" + - Revert "serial: uartps: Fix error path when alloc failed" + - Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES" + - Revert "serial: uartps: Change uart ID port allocation" + - Revert "serial: uartps: Move Port ID to device data structure" + - Revert "serial: uartps: Register own uart console and driver structures" + - powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP + - powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32 + - compat: ARM64: always include asm-generic/compat.h + - Linux 5.4.36 + * Focal update: v5.4.35 upstream stable release (LP: #1875660) + - ext4: use non-movable memory for superblock readahead + - watchdog: sp805: fix restart handler + - xsk: Fix out of boundary write in __xsk_rcv_memcpy + - arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0 + - arm, bpf: Fix offset overflow for BPF_MEM BPF_DW + - objtool: Fix switch table detection in .text.unlikely + - scsi: sg: add sg_remove_request in sg_common_write + - ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops + - ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN. + - kbuild, btf: Fix dependencies for DEBUG_INFO_BTF + - netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type + - irqchip/mbigen: Free msi_desc on device teardown + - ALSA: hda: Don't release card at firmware loading error + - xsk: Add missing check on user supplied headroom size + - of: unittest: kmemleak on changeset destroy + - of: unittest: kmemleak in of_unittest_platform_populate() + - of: unittest: kmemleak in of_unittest_overlay_high_level() + - of: overlay: kmemleak in dup_and_fixup_symbol_prop() + - x86/Hyper-V: Unload vmbus channel in hv panic callback + - x86/Hyper-V: Trigger crash enlightenment only once during system crash. + - x86/Hyper-V: Report crash register data or kmsg before running crash kernel + - x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not + set + - x86/Hyper-V: Report crash data in die() when panic_on_oops is set + - afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() + - afs: Fix decoding of inline abort codes from version 1 status records + - afs: Fix rename operation status delivery + - afs: Fix afs_d_validate() to set the right directory version + - afs: Fix race between post-modification dir edit and readdir/d_revalidate + - block, bfq: turn put_queue into release_process_ref in + __bfq_bic_change_cgroup + - block, bfq: make reparent_leaf_entity actually work only on leaf entities + - block, bfq: invoke flush_idle_tree after reparent_active_queues in + pd_offline + - rbd: avoid a deadlock on header_rwsem when flushing notifies + - rbd: call rbd_dev_unprobe() after unwatching and flushing notifies + - x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump + - drm/ttm: flush the fence on the bo after we individualize the reservation + object + - clk: Don't cache errors from clk_ops::get_phase() + - clk: at91: usb: continue if clk_hw_round_rate() return zero + - net/mlx5e: Enforce setting of a single FEC mode + - f2fs: fix the panic in do_checkpoint() + - ARM: dts: rockchip: fix vqmmc-supply property name for rk3188-bqedison2qc + - arm64: dts: allwinner: a64: Fix display clock register range + - power: supply: bq27xxx_battery: Silence deferred-probe error + - clk: tegra: Fix Tegra PMC clock out parents + - arm64: tegra: Add PCIe endpoint controllers nodes for Tegra194 + - arm64: tegra: Fix Tegra194 PCIe compatible string + - arm64: dts: clearfog-gt-8k: set gigabit PHY reset deassert delay + - soc: imx: gpc: fix power up sequencing + - dma-coherent: fix integer overflow in the reserved-memory dma allocation + - rtc: 88pm860x: fix possible race condition + - NFS: alloc_nfs_open_context() must use the file cred when available + - NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() + - NFSv4.2: error out when relink swapfile + - ARM: dts: rockchip: fix lvds-encoder ports subnode for rk3188-bqedison2qc + - KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests + - f2fs: fix to show norecovery mount option + - phy: uniphier-usb3ss: Add Pro5 support + - NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails + - f2fs: Fix mount failure due to SPO after a successful online resize FS + - f2fs: Add a new CP flag to help fsck fix resize SPO issues + - s390/cpuinfo: fix wrong output when CPU0 is offline + - hibernate: Allow uswsusp to write to swap + - btrfs: add RCU locks around block group initialization + - powerpc/prom_init: Pass the "os-term" message to hypervisor + - powerpc/maple: Fix declaration made after definition + - s390/cpum_sf: Fix wrong page count in error message + - ext4: do not commit super on read-only bdev + - um: ubd: Prevent buffer overrun on command completion + - cifs: Allocate encryption header through kmalloc + - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS + - drm/nouveau/svm: check for SVM initialized before migrating + - drm/nouveau/svm: fix vma range check for migration + - include/linux/swapops.h: correct guards for non_swap_entry() + - percpu_counter: fix a data race at vm_committed_as + - compiler.h: fix error in BUILD_BUG_ON() reporting + - KVM: s390: vsie: Fix possible race when shadowing region 3 tables + - drm/nouveau: workaround runpm fail by disabling PCI power management on + certain intel bridges + - leds: core: Fix warning message when init_data + - x86: ACPI: fix CPU hotplug deadlock + - csky: Fixup cpu speculative execution to IO area + - drm/amdkfd: kfree the wrong pointer + - NFS: Fix memory leaks in nfs_pageio_stop_mirroring() + - csky: Fixup get wrong psr value from phyical reg + - f2fs: fix NULL pointer dereference in f2fs_write_begin() + - ACPICA: Fixes for acpiExec namespace init file + - um: falloc.h needs to be directly included for older libc + - drm/vc4: Fix HDMI mode validation + - iommu/virtio: Fix freeing of incomplete domains + - iommu/vt-d: Fix mm reference leak + - ext2: fix empty body warnings when -Wextra is used + - iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() + - iommu/vt-d: Fix page request descriptor size + - ext2: fix debug reference to ext2_xattr_cache + - sunrpc: Fix gss_unwrap_resp_integ() again + - csky: Fixup init_fpu compile warning with __init + - power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute + Sticks. + - libnvdimm: Out of bounds read in __nd_ioctl() + - iommu/amd: Fix the configuration of GCR3 table root pointer + - f2fs: fix to wait all node page writeback + - drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init + - net: dsa: bcm_sf2: Fix overflow checks + - dma-debug: fix displaying of dma allocation type + - fbdev: potential information leak in do_fb_ioctl() + - ARM: dts: sunxi: Fix DE2 clocks register range + - iio: si1133: read 24-bit signed integer for measurement + - fbmem: Adjust indentation in fb_prepare_logo and fb_blank + - tty: evh_bytechan: Fix out of bounds accesses + - locktorture: Print ratio of acquisitions, not failures + - mtd: rawnand: free the nand_device object + - mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to + OOB + - docs: Fix path to MTD command line partition parser + - mtd: lpddr: Fix a double free in probe() + - mtd: phram: fix a double free issue in error path + - KEYS: Don't write out to userspace while holding key semaphore + - bpf: fix buggy r0 retval refinement for tracing helpers + - bpf: Test_verifier, bpf_get_stack return value add <0 + - bpf: Test_progs, add test to catch retval refine error handling + - SAUCE: bpf: Test_progs, fix test_get_stack_rawtp_err.c build + - bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test + - Linux 5.4.35 + * 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) + - iwlwifi: pcie: handle QuZ configs with killer NICs as well + * 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() + * linux: riscv: set max_pfn to the PFN of the last page (LP: #1876885) + - riscv: set max_pfn to the PFN of the last page + * Dell XPS 13 9300 mirror mode doesn't work sometimes with WD19TB + (LP: #1877013) + - drm/i915/perf: Do not clear pollin for small user read buffers + * [UBUNTU 20.04] s390x/pci: do not allow to create more pci functions than + configured via CONFIG_PCI_NR_FUNCTIONS (LP: #1874057) + - s390/pci: Fix zpci_alloc_domain() over allocation + * [Ubuntu 20.04] net/mlx5e: Fix endianness handling in pedit mask + (LP: #1872726) + - net/mlx5e: Fix endianness handling in pedit mask + * 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 + * ceph -- Unable to mount ceph volume on s390x (LP: #1875863) + - ceph: fix endianness bug when handling MDS session feature bits + * Do not treat unresolved test case in ftrace from ubuntu_kernel_selftests as + failure (LP: #1877958) + - ftrace/selftest: make unresolved cases cause failure if --fail-unresolved + set + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - SAUCE: rtc: add am-1805 RTC driver + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - SAUCE: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + [ Ubuntu: 5.4.0-33.37 ] + + * focal/linux: 5.4.0-33.37 -proposed tracker (LP: #1879926) + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: fix shitfs special-casing" + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as + underlay" + + -- Ian May Wed, 27 May 2020 11:33:10 -0500 + +linux-riscv (5.4.0-26.30) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-26.30 -proposed tracker (LP: #1877252) + + [ Ubuntu: 5.4.0-31.35 ] + + * focal/linux: 5.4.0-31.35 -proposed tracker (LP: #1877253) + * Intermittent display blackouts on event (LP: #1875254) + - drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + -- Stefan Bader Thu, 07 May 2020 12:13:24 +0200 + +linux-riscv (5.4.0-25.29) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-25.29 -proposed tracker (LP: #1875384) + + * Packaging resync (LP: #1786013) + - [Packaging] add libcap-dev dependency + + * Include device tree blobs in linux-riscv packages (LP: #1873800) + - [Debian] Ship device tree blobs in linux-modules + + [ Ubuntu: 5.4.0-30.34 ] + + * focal/linux: 5.4.0-30.34 -proposed tracker (LP: #1875385) + * 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 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + * LIO hanging in iscsit_free_session and iscsit_stop_session (LP: #1871688) + - scsi: target: iscsi: calling iscsit_stop_session() inside + iscsit_close_session() has no effect + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - SAUCE: drm/i915: Align power domain names with port names + - SAUCE: drm/i915/display: Move out code to return the digital_port of the aux + ch + - SAUCE: drm/i915/display: Add intel_legacy_aux_to_power_domain() + - SAUCE: drm/i915/display: Split hsw_power_well_enable() into two + - SAUCE: drm/i915/tc/icl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Skip ref held check for TC legacy aux power wells + - SAUCE: drm/i915/tc/tgl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Catch TC users accessing FIA registers without enable + aux + - SAUCE: drm/i915/tc: Do not warn when aux power well of static TC ports + timeout + * 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 + * amdgpu kernel errors in Linux 5.4 (LP: #1871248) + - drm/amd/display: Stop if retimer is not available + * Focal update: v5.4.34 upstream stable release (LP: #1874111) + - amd-xgbe: Use __napi_schedule() in BH context + - hsr: check protocol version in hsr_newlink() + - l2tp: Allow management of tunnels and session in user namespace + - net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode + - net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin + - net: ipv6: do not consider routes via gateways for anycast address check + - net: phy: micrel: use genphy_read_status for KSZ9131 + - net: qrtr: send msgs from local of same id as broadcast + - net: revert default NAPI poll timeout to 2 jiffies + - net: tun: record RX queue in skb before do_xdp_generic() + - net: dsa: mt7530: move mt7623 settings out off the mt7530 + - net: ethernet: mediatek: move mt7623 settings out off the mt7530 + - net/mlx5: Fix frequent ioread PCI access during recovery + - net/mlx5e: Add missing release firmware call + - net/mlx5e: Fix nest_level for vlan pop action + - net/mlx5e: Fix pfnum in devlink port attribute + - net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes + - ovl: fix value of i_ino for lower hardlink corner case + - scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic + - platform/chrome: cros_ec_rpmsg: Fix race with host event + - jbd2: improve comments about freeing data buffers whose page mapping is NULL + - acpi/nfit: improve bounds checking for 'func' + - perf report: Fix no branch type statistics report issue + - pwm: pca9685: Fix PWM/GPIO inter-operation + - ext4: fix incorrect group count in ext4_fill_super error message + - ext4: fix incorrect inodes per group in error message + - clk: at91: sam9x60: fix usb clock parents + - clk: at91: usb: use proper usbs_mask + - ARM: dts: imx7-colibri: fix muxing of usbc_det pin + - arm64: dts: librem5-devkit: add a vbus supply to usb0 + - usb: dwc3: gadget: Don't clear flags before transfer ended + - ASoC: Intel: mrfld: fix incorrect check on p->sink + - ASoC: Intel: mrfld: return error codes when an error occurs + - ALSA: hda/realtek - Enable the headset mic on Asus FX505DT + - ALSA: usb-audio: Filter error from connector kctl ops, too + - ALSA: usb-audio: Don't override ignore_ctl_error value from the map + - ALSA: usb-audio: Don't create jack controls for PCM terminals + - ALSA: usb-audio: Check mapping at creating connector controls, too + - arm64: vdso: don't free unallocated pages + - keys: Fix proc_keys_next to increase position index + - tracing: Fix the race between registering 'snapshot' event trigger and + triggering 'snapshot' operation + - btrfs: check commit root generation in should_ignore_root + - nl80211: fix NL80211_ATTR_FTM_RESPONDER policy + - mac80211: fix race in ieee80211_register_hw() + - mac80211_hwsim: Use kstrndup() in place of kasprintf() + - net/mlx5e: Encapsulate updating netdev queues into a function + - net/mlx5e: Rename hw_modify to preactivate + - net/mlx5e: Use preactivate hook to set the indirection table + - drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled + - drm/amdgpu: fix the hw hang during perform system reboot and reset + - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT + - ext4: do not zeroout extents beyond i_disksize + - irqchip/ti-sci-inta: Fix processing of masked irqs + - x86/resctrl: Preserve CDP enable over CPU hotplug + - x86/resctrl: Fix invalid attempt at removing the default resource group + - scsi: target: remove boilerplate code + - scsi: target: fix hang when multiple threads try to destroy the same iscsi + session + - x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE + - Linux 5.4.34 + * Focal update: v5.4.33 upstream stable release (LP: #1873481) + - ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage + - bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads + - ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode + - bpf: Fix deadlock with rq_lock in bpf_send_signal() + - iwlwifi: mvm: Fix rate scale NSS configuration + - Input: tm2-touchkey - add support for Coreriver TC360 variant + - soc: fsl: dpio: register dpio irq handlers after dpio create + - rxrpc: Abstract out the calculation of whether there's Tx space + - rxrpc: Fix call interruptibility handling + - net: stmmac: platform: Fix misleading interrupt error msg + - net: vxge: fix wrong __VA_ARGS__ usage + - hinic: fix a bug of waitting for IO stopped + - hinic: fix the bug of clearing event queue + - hinic: fix out-of-order excution in arm cpu + - hinic: fix wrong para of wait_for_completion_timeout + - hinic: fix wrong value of MIN_SKB_LEN + - selftests/net: add definition for SOL_DCCP to fix compilation errors for old + libc + - cxgb4/ptp: pass the sign of offset delta in FW CMD + - drm/scheduler: fix rare NULL ptr race + - cfg80211: Do not warn on same channel at the end of CSA + - qlcnic: Fix bad kzalloc null test + - i2c: st: fix missing struct parameter description + - i2c: pca-platform: Use platform_irq_get_optional + - media: rc: add keymap for Videostrong KII Pro + - cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL + - staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex + - media: venus: hfi_parser: Ignore HEVC encoding for V1 + - firmware: arm_sdei: fix double-lock on hibernate with shared events + - null_blk: Fix the null_add_dev() error path + - null_blk: Handle null_add_dev() failures properly + - null_blk: fix spurious IO errors after failed past-wp access + - media: imx: imx7_mipi_csis: Power off the source when stopping streaming + - media: imx: imx7-media-csi: Fix video field handling + - xhci: bail out early if driver can't accress host in resume + - x86: Don't let pgprot_modify() change the page encryption bit + - dma-mapping: Fix dma_pgprot() for unencrypted coherent pages + - block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices + - debugfs: Check module state before warning in {full/open}_proxy_open() + - irqchip/versatile-fpga: Handle chained IRQs properly + - time/sched_clock: Expire timer in hardirq context + - media: allegro: fix type of gop_length in channel_create message + - sched: Avoid scale real weight down to zero + - selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault + - PCI/switchtec: Fix init_completion race condition with poll_wait() + - block, bfq: move forward the getting of an extra ref in bfq_bfqq_move + - media: i2c: video-i2c: fix build errors due to 'imply hwmon' + - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() + - pstore/platform: fix potential mem leak if pstore_init_fs failed + - gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty + - gfs2: Don't demote a glock until its revokes are written + - cpufreq: imx6q: fix error handling + - x86/boot: Use unsigned comparison for addresses + - efi/x86: Ignore the memory attributes table on i386 + - genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy() + - block: Fix use-after-free issue accessing struct io_cq + - media: i2c: ov5695: Fix power on and off sequences + - usb: dwc3: core: add support for disabling SS instances in park mode + - irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency + - md: check arrays is suspended in mddev_detach before call quiesce operations + - firmware: fix a double abort case with fw_load_sysfs_fallback + - spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion + - locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps() + - block, bfq: fix use-after-free in bfq_idle_slice_timer_body + - btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is + at least queued + - btrfs: remove a BUG_ON() from merge_reloc_roots() + - btrfs: restart relocate_tree_blocks properly + - btrfs: track reloc roots based on their commit root bytenr + - ASoC: fix regwmask + - ASoC: dapm: connect virtual mux with default value + - ASoC: dpcm: allow start or stop during pause for backend + - ASoC: topology: use name_prefix for new kcontrol + - usb: gadget: f_fs: Fix use after free issue as part of queue failure + - usb: gadget: composite: Inform controller driver of self-powered + - ALSA: usb-audio: Add mixer workaround for TRX40 and co + - ALSA: hda: Add driver blacklist + - ALSA: hda: Fix potential access overflow in beep helper + - ALSA: ice1724: Fix invalid access for enumerated ctl items + - ALSA: pcm: oss: Fix regression by buffer overflow fix + - ALSA: hda/realtek - a fake key event is triggered by running shutup + - ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 + - ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 + - ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups + - ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen + - ALSA: hda/realtek - Add quirk for MSI GL63 + - media: venus: firmware: Ignore secure call error on first resume + - media: hantro: Read be32 words starting at every fourth byte + - media: ti-vpe: cal: fix disable_irqs to only the intended target + - media: ti-vpe: cal: fix a kernel oops when unloading module + - seccomp: Add missing compat_ioctl for notify + - acpi/x86: ignore unspecified bit positions in the ACPI global lock field + - ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE + - ACPI: PM: s2idle: Refine active GPEs check + - thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n + - nvmet-tcp: fix maxh2cdata icresp parameter + - efi/x86: Add TPM related EFI tables to unencrypted mapping checks + - PCI: pciehp: Fix indefinite wait on sysfs requests + - PCI/ASPM: Clear the correct bits when enabling L1 substates + - PCI: Add boot interrupt quirk mechanism for Xeon chipsets + - PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM + - PCI: endpoint: Fix for concurrent memory allocation in OB address region + - sched/fair: Fix enqueue_task_fair warning + - tpm: Don't make log failures fatal + - tpm: tpm1_bios_measurements_next should increase position index + - tpm: tpm2_bios_measurements_next should increase position index + - cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus() + - genirq/debugfs: Add missing sanity checks to interrupt injection + - irqchip/versatile-fpga: Apply clear-mask earlier + - io_uring: remove bogus RLIMIT_NOFILE check in file registration + - pstore: pstore_ftrace_seq_next should increase position index + - MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3 + - MIPS: OCTEON: irq: Fix potential NULL pointer dereference + - PM / Domains: Allow no domain-idle-states DT property in genpd when parsing + - PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there + - ath9k: Handle txpower changes even when TPC is disabled + - signal: Extend exec_id to 64bits + - x86/tsc_msr: Use named struct initializers + - x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices + - x86/tsc_msr: Make MSR derived TSC frequency more accurate + - x86/entry/32: Add missing ASM_CLAC to general_protection entry + - platform/x86: asus-wmi: Support laptops where the first battery is named + BATT + - KVM: nVMX: Properly handle userspace interrupt window request + - KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks + - KVM: s390: vsie: Fix delivery of addressing exceptions + - KVM: x86: Allocate new rmap and large page tracking when moving memslot + - KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support + - KVM: x86: Gracefully handle __vmalloc() failure during VM allocation + - KVM: VMX: Add a trampoline to fix VMREAD error handling + - KVM: VMX: fix crash cleanup when KVM wasn't used + - smb3: fix performance regression with setting mtime + - CIFS: Fix bug which the return value by asynchronous read is error + - mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers + - mtd: spinand: Do not erase the block before writing a bad block marker + - btrfs: Don't submit any btree write bio if the fs has errors + - Btrfs: fix crash during unmount due to race with delayed inode workers + - btrfs: reloc: clean dirty subvols if we fail to start a transaction + - btrfs: set update the uuid generation as soon as possible + - btrfs: drop block from cache on error in relocation + - btrfs: fix missing file extent item for hole after ranged fsync + - btrfs: unset reloc control if we fail to recover + - btrfs: fix missing semaphore unlock in btrfs_sync_file + - btrfs: use nofs allocations for running delayed items + - remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown + - remoteproc: qcom_q6v5_mss: Reload the mba region on coredump + - remoteproc: Fix NULL pointer dereference in rproc_virtio_notify + - crypto: rng - Fix a refcounting bug in crypto_rng_reset() + - crypto: mxs-dcp - fix scatterlist linearization for hash + - erofs: correct the remaining shrink objects + - io_uring: honor original task RLIMIT_FSIZE + - mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions + - powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() + - tools: gpio: Fix out-of-tree build regression + - net: qualcomm: rmnet: Allow configuration updates to existing devices + - arm64: dts: allwinner: h6: Fix PMU compatible + - sched/core: Remove duplicate assignment in sched_tick_remote() + - arm64: dts: allwinner: h5: Fix PMU compatible + - mm, memcg: do not high throttle allocators based on wraparound + - dm writecache: add cond_resched to avoid CPU hangs + - dm integrity: fix a crash with unusually large tag size + - dm verity fec: fix memory leak in verity_fec_dtr + - dm clone: Add overflow check for number of regions + - dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() + - XArray: Fix xas_pause for large multi-index entries + - xarray: Fix early termination of xas_for_each_marked + - crypto: caam/qi2 - fix chacha20 data size error + - crypto: caam - update xts sector size for large input length + - crypto: ccree - protect against empty or NULL scatterlists + - crypto: ccree - only try to map auth tag if needed + - crypto: ccree - dec auth tag size from cryptlen map + - scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point + - scsi: ufs: fix Auto-Hibern8 error detection + - ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board + - arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes + - arm64: armv8_deprecated: Fix undef_hook mask for thumb setend + - selftests: vm: drop dependencies on page flags from mlock2 tests + - selftests/vm: fix map_hugetlb length used for testing read and write + - selftests/powerpc: Add tlbie_test in .gitignore + - vfio: platform: Switch to platform_get_irq_optional() + - drm/i915/gem: Flush all the reloc_gpu batch + - drm/etnaviv: rework perfmon query infrastructure + - drm: Remove PageReserved manipulation from drm_pci_alloc + - drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK + - drm/amdgpu: unify fw_write_wait for new gfx9 asics + - powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable + - nfsd: fsnotify on rmdir under nfsd/clients/ + - NFS: Fix use-after-free issues in nfs_pageio_add_request() + - NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() + - ext4: fix a data race at inode->i_blocks + - fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() + - ocfs2: no need try to truncate file beyond i_size + - perf tools: Support Python 3.8+ in Makefile + - s390/diag: fix display of diagnose call statistics + - Input: i8042 - add Acer Aspire 5738z to nomux list + - ftrace/kprobe: Show the maxactive number on kprobe_events + - clk: ingenic/jz4770: Exit with error if CGU init failed + - clk: ingenic/TCU: Fix round_rate returning error + - kmod: make request_module() return an error when autoloading is disabled + - cpufreq: powernv: Fix use-after-free + - hfsplus: fix crash and filesystem corruption when deleting files + - ipmi: fix hung processes in __get_guid() + - xen/blkfront: fix memory allocation flags in blkfront_setup_indirect() + - powerpc/64/tm: Don't let userspace set regs->trap via sigreturn + - powerpc/fsl_booke: Avoid creating duplicate tlb1 entry + - powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE + entries + - powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs + - powerpc/64: Setup a paca before parsing device tree etc. + - powerpc/xive: Fix xmon support on the PowerNV platform + - powerpc/kprobes: Ignore traps that happened in real mode + - powerpc/64: Prevent stack protection in early boot + - scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug + - powerpc: Make setjmp/longjmp signature standard + - arm64: Always force a branch protection mode when the compiler has one + - dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone() + - dm clone: replace spin_lock_irqsave with spin_lock_irq + - dm clone: Fix handling of partial region discards + - dm clone: Add missing casts to prevent overflows and data corruption + - Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" + - drm/dp_mst: Fix clearing payload state on topology disable + - drm/amdgpu: fix gfx hang during suspend with video playback (v2) + - drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode + - powerpc/kasan: Fix kasan_remap_early_shadow_ro() + - mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static + - mmc: sdhci: Refactor sdhci_set_timeout() + - bpf: Fix tnum constraints for 32-bit comparisons + - mfd: dln2: Fix sanity checking for endpoints + - efi/x86: Fix the deletion of variables in mixed mode + - ASoC: stm32: sai: Add missing cleanup + - Linux 5.4.33 + - SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize + * Panic on suspend/resume Kernel panic - not syncing: stack-protector: Kernel + stack is corrupted in: sata_pmp_eh_recover+0xa2b/0xa40 (LP: #1821434) // + Focal update: v5.4.33 upstream stable release (LP: #1873481) + - libata: Return correct status in sata_pmp_eh_recover_pm() when + ATA_DFLAG_DETACH is set + * Focal update: v5.4.32 upstream stable release (LP: #1873292) + - cxgb4: fix MPS index overwrite when setting MAC address + - ipv6: don't auto-add link-local address to lag ports + - net: dsa: bcm_sf2: Do not register slave MDIO bus with OF + - net: dsa: bcm_sf2: Ensure correct sub-node is parsed + - net: dsa: mt7530: fix null pointer dereferencing in port5 setup + - net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before + accessing PHY registers + - net_sched: add a temporary refcnt for struct tcindex_data + - net_sched: fix a missing refcnt in tcindex_init() + - net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting + - tun: Don't put_page() for all negative return values from XDP program + - mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE + - r8169: change back SG and TSO to be disabled by default + - s390: prevent leaking kernel address in BEAR + - random: always use batched entropy for get_random_u{32,64} + - usb: dwc3: gadget: Wrap around when skip TRBs + - uapi: rename ext2_swab() to swab() and share globally in swab.h + - slub: improve bit diffusion for freelist ptr obfuscation + - tools/accounting/getdelays.c: fix netlink attribute length + - hwrng: imx-rngc - fix an error path + - ACPI: PM: Add acpi_[un]register_wakeup_handler() + - platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler() + - ASoC: jz4740-i2s: Fix divider written at incorrect offset in register + - IB/hfi1: Call kobject_put() when kobject_init_and_add() fails + - IB/hfi1: Fix memory leaks in sysfs registration and unregistration + - IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads + - ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D + - ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A + - ceph: remove the extra slashes in the server path + - ceph: canonicalize server path in place + - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for + swap + - RDMA/ucma: Put a lock around every call to the rdma_cm layer + - RDMA/cma: Teach lockdep about the order of rtnl and lock + - RDMA/siw: Fix passive connection establishment + - Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl + - RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow + - blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync + - fbcon: fix null-ptr-deref in fbcon_switch + - iommu/vt-d: Allow devices with RMRRs to use identity domain + - Linux 5.4.32 + * Focal update: v5.4.31 upstream stable release (LP: #1871651) + - nvme-rdma: Avoid double freeing of async event data + - kconfig: introduce m32-flag and m64-flag + - drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017 + - drm/bochs: downgrade pci_request_region failure from error to warning + - initramfs: restore default compression behavior + - drm/amdgpu: fix typo for vcn1 idle check + - [Packaging] add libcap-dev dependency + - tools/power turbostat: Fix gcc build warnings + - tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks + - tools/power turbostat: Fix 32-bit capabilities warning + - net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow + - XArray: Fix xa_find_next for large multi-index entries + - padata: fix uninitialized return value in padata_replace() + - brcmfmac: abort and release host after error + - misc: rtsx: set correct pcr_ops for rts522A + - misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices + - misc: pci_endpoint_test: Avoid using module parameter to determine irqtype + - PCI: sysfs: Revert "rescan" file renames + - coresight: do not use the BIT() macro in the UAPI header + - mei: me: add cedar fork device ids + - nvmem: check for NULL reg_read and reg_write before dereferencing + - extcon: axp288: Add wakeup support + - power: supply: axp288_charger: Add special handling for HP Pavilion x2 10 + - Revert "dm: always call blk_queue_split() in dm_process_bio()" + - ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 + Classified motherboard + - soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper + - net/mlx5e: kTLS, Fix wrong value in record tracker enum + - iwlwifi: consider HE capability when setting LDPC + - iwlwifi: yoyo: don't add TLV offset when reading FIFOs + - iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails + - rxrpc: Fix sendmsg(MSG_WAITALL) handling + - IB/hfi1: Ensure pq is not left on waitlist + - tcp: fix TFO SYNACK undo to avoid double-timestamp-undo + - watchdog: iTCO_wdt: Export vendorsupport + - watchdog: iTCO_wdt: Make ICH_RES_IO_SMI optional + - i2c: i801: Do not add ICH_RES_IO_SMI for the iTCO_wdt device + - net: Fix Tx hash bound checking + - padata: always acquire cpu_hotplug_lock before pinst->lock + - mm: mempolicy: require at least one nodeid for MPOL_PREFERRED + - Linux 5.4.31 + * Add hw timestamps to received skbs in peak_canfd (LP: #1874124) + - can: peak_canfd: provide hw timestamps in rx skbs + * kselftest: seccomp kill_after_ptrace() timeout (LP: #1872047) + - SAUCE: kselftest/runner: allow to properly deliver signals to tests + + [ Ubuntu: 5.4.0-29.33 ] + + * focal/linux: 5.4.0-29.33 -proposed tracker (LP: #1875858) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + [ Ubuntu: 5.4.0-28.32 ] + + * CVE-2020-11884 + - SAUCE: s390/mm: fix page table upgrade vs 2ndary address mode accesses + + [ Ubuntu: 5.4.0-26.30 ] + + * focal/linux: 5.4.0-26.30 -proposed tracker (LP: #1873882) + * Packaging resync (LP: #1786013) + - update dkms package versions + * swap storms kills interactive use (LP: #1861359) + - SAUCE: drm/i915: prevent direct writeback from the shrinker + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + * [RTL810xE] No ethernet connection (LP: #1871182) + - net: phy: realtek: fix handling of RTL8105e-integrated PHY + + [ Ubuntu: 5.4.0-25.29 ] + + * focal/linux: 5.4.0-25.29 -proposed tracker (LP: #1873459) + * [TGL] VMD support in TGL (LP: #1855954) + - PCI: vmd: Add bus 224-255 restriction decode + - PCI: vmd: Add device id for VMD device 8086:9A0B + * Can not see the storage with Intel RAID On mode enabled on Intel Comet Lake + (LP: #1871812) + - ahci: Add Intel Comet Lake PCH RAID PCI ID + + -- Stefan Bader Tue, 05 May 2020 18:08:03 +0200 + +linux-riscv (5.4.0-24.28) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-24.28 -proposed tracker (LP: #1871938) + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * 12d1:1038 Dual-Role OTG device on non-HNP port - unable to enumerate USB + device on port 1 (LP: #1047527) + - [Config] USB_OTG_FSM policy not needed + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + + * Miscellaneous Ubuntu changes + - [Packaging] Initial linux-riscv packaging + - [Config] CONFIG_RT_GROUP_SCHED=y + + -- Seth Forshee Thu, 09 Apr 2020 19:51:55 -0500 + +linux-riscv (5.4.0-23.27) focal; urgency=medium + + * Initial entry. + + -- Seth Forshee Mon, 06 Apr 2020 08:48:18 -0500 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/config/annotations +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/config/annotations @@ -0,0 +1,9305 @@ +# Menu: HEADER +# FORMAT: 2 +# ARCH: riscv + +# Mark debugging symbols. +# exceptions +CONFIG_DEBUG_FS note +CONFIG_DEBUG_KERNEL note + +# Menu: ROOT + +# Menu: Architecture: riscv +CONFIG_MMU policy<{'riscv64': 'y'}> + +# Menu: Boot options >> Architecture: riscv +CONFIG_CMDLINE policy<{'riscv64': '""'}> + +# Menu: Boot options >> Built-in command line usage >> Architecture: riscv + +# Menu: Cryptographic API +CONFIG_CRYPTO policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_MANAGER policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_USER policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_NULL policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_PCRYPT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRYPTD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AUTHENC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TEST policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RSA policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECDH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ECRDSA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CURVE25519 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CCM policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_GCM policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CHACHA20POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AEGIS128 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SEQIV policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECHAINIV policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CBC policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CFB policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CTR policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECB policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LRW policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_OFB policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_PCBC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_XTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_KEYWRAP policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ADIANTUM policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ESSIV policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CMAC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_HMAC policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_XCBC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_VMAC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRC32C policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CRC32 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_XXHASH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLAKE2B policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLAKE2S policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRCT10DIF policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_GHASH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MD4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MD5 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_MICHAEL_MIC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD128 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD160 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD256 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD320 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SHA1 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA256 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA512 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA3 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SM3 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_STREEBOG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TGR192 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_WP512 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AES policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_AES_TI policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ANUBIS policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ARC4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLOWFISH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAMELLIA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAST5 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAST6 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DES policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_FCRYPT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_KHAZAD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SALSA20 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CHACHA20 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SEED policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SERPENT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SM4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TEA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TWOFISH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEFLATE policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LZO policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_842 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LZ4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LZ4HC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ZSTD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ANSI_CPRNG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_JITTERENTROPY policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_USER_API_HASH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_SKCIPHER policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_RNG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_AEAD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_STATS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LIB_BLAKE2S policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CURVE25519 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA20POLY1305 policy<{'riscv64': 'm'}> +# +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS flag +CONFIG_CRYPTO_TEST flag +CONFIG_CRYPTO_SHA512 note + +# Menu: Cryptographic API >> Asymmetric (public-key cryptographic) key type +CONFIG_ASYMMETRIC_KEY_TYPE policy<{'riscv64': 'y'}> +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE policy<{'riscv64': 'y'}> +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE policy<{'riscv64': 'm'}> +CONFIG_X509_CERTIFICATE_PARSER policy<{'riscv64': 'y'}> +CONFIG_PKCS8_PRIVATE_KEY_PARSER policy<{'riscv64': 'm'}> +CONFIG_TPM_KEY_PARSER policy<{'riscv64': 'm'}> +CONFIG_PKCS7_MESSAGE_PARSER policy<{'riscv64': 'y'}> +CONFIG_PKCS7_TEST_KEY policy<{'riscv64': 'm'}> +CONFIG_SIGNED_PE_FILE_VERIFICATION policy<{'riscv64': '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<{'riscv64': '"certs/signing_key.pem"'}> +CONFIG_SYSTEM_BLACKLIST_KEYRING policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_BLACKLIST_HASH_LIST policy<{'riscv64': '""'}> +# +CONFIG_SYSTEM_BLACKLIST_KEYRING mark + +# Menu: Cryptographic API >> Certificates for signature checking >> Provide system-wide ring of trusted keys +CONFIG_SYSTEM_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_TRUSTED_KEYS policy<{'riscv64': '"debian/canonical-certs.pem"'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE policy<{'riscv64': '4096'}> +CONFIG_SECONDARY_TRUSTED_KEYRING policy<{'riscv64': 'y'}> + +# Menu: Cryptographic API >> Hardware crypto devices +CONFIG_CRYPTO_HW policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DEV_ATMEL_ECC policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_ATMEL_SHA204A policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_NITROX_CNN55XX policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_CHELSIO policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_IPSEC_INLINE policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_TLS_DEVICE policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DEV_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_SAFEXCEL policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_CCREE policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Algorithms enabled for QCE acceleration + +# Menu: Cryptographic API >> Hardware crypto devices >> Freescale CAAM Job Ring driver backend + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for OMAP crypto HW accelerators + +# Menu: Cryptographic API >> NIST SP800-90A DRBG +CONFIG_CRYPTO_DRBG_MENU policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DRBG_HASH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DRBG_CTR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers +CONFIG_RANDOM_TRUST_BOOTLOADER policy<{'riscv64': 'y'}> +CONFIG_MEDIA_CEC_RC policy<{'riscv64': 'y'}> +CONFIG_PANEL policy<{'riscv64': 'm'}> +CONFIG_CHARLCD policy<{'riscv64': 'm'}> +CONFIG_USB4 policy<{'riscv64': 'm'}> +CONFIG_MOST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> ATA/ATAPI/MFM/RLL support (DEPRECATED) + +# Menu: Device Drivers >> Accessibility support +CONFIG_ACCESSIBILITY policy<{'riscv64': 'n'}> +# +CONFIG_ACCESSIBILITY flag + +# Menu: Device Drivers >> Adaptive Voltage Scaling class support +CONFIG_POWER_AVS policy<{'riscv64': 'y'}> +CONFIG_QCOM_CPR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Android +CONFIG_ANDROID policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Android >> Android Binder IPC Driver +CONFIG_ANDROID_BINDER_IPC policy<{'riscv64': 'm'}> +CONFIG_ANDROID_BINDERFS policy<{'riscv64': 'm'}> +CONFIG_ANDROID_BINDER_DEVICES policy<{'riscv64': '""'}> +CONFIG_ANDROID_BINDER_IPC_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support +CONFIG_AUXDISPLAY policy<{'riscv64': 'y'}> +CONFIG_HD44780 policy<{'riscv64': 'm'}> +CONFIG_IMG_ASCII_LCD policy<{'riscv64': 'm'}> +CONFIG_HT16K33 policy<{'riscv64': 'm'}> +CONFIG_PANEL_CHANGE_MESSAGE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Backlight initial state +CONFIG_CHARLCD_BL_OFF policy<{'riscv64': 'n'}> +CONFIG_CHARLCD_BL_ON policy<{'riscv64': 'n'}> +CONFIG_CHARLCD_BL_FLASH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Parallel port LCD/Keypad Panel support +CONFIG_PARPORT_PANEL policy<{'riscv64': 'm'}> +CONFIG_PANEL_PARPORT policy<{'riscv64': '0'}> +CONFIG_PANEL_PROFILE policy<{'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<{'riscv64': 'y'}> +CONFIG_BLK_DEV_NULL_BLK policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_PCIESSD_MTIP32XX policy<{'riscv64': 'm'}> +CONFIG_ZRAM policy<{'riscv64': 'm'}> +CONFIG_ZRAM_WRITEBACK policy<{'riscv64': 'y'}> +CONFIG_ZRAM_MEMORY_TRACKING policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_UMEM policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_LOOP policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_LOOP_MIN_COUNT policy<{'riscv64': '8'}> +CONFIG_BLK_DEV_CRYPTOLOOP policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_DRBD policy<{'riscv64': 'm'}> +CONFIG_DRBD_FAULT_INJECTION policy<{'riscv64': 'n'}> +CONFIG_BLK_DEV_NBD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SKD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SX8 policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RAM policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RAM_COUNT policy<{'riscv64': '16'}> +CONFIG_BLK_DEV_RAM_SIZE policy<{'riscv64': '65536'}> +CONFIG_CDROM_PKTCDVD policy<{'riscv64': 'm'}> +CONFIG_CDROM_PKTCDVD_BUFFERS policy<{'riscv64': '8'}> +CONFIG_CDROM_PKTCDVD_WCACHE policy<{'riscv64': 'n'}> +CONFIG_ATA_OVER_ETH policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_BLK policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RBD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RSXX policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RNBD_CLIENT policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RNBD_SERVER policy<{'riscv64': 'm'}> +# +CONFIG_BLK_DEV_UMEM note +CONFIG_CDROM_PKTCDVD_WCACHE mark +CONFIG_VIRTIO_BLK note +CONFIG_BLK_DEV_RAM note +CONFIG_BLK_DEV_RAM_SIZE mark note flag + +# Menu: Device Drivers >> Block devices >> Parallel port IDE device support + +# Menu: Device Drivers >> Block devices >> Support for DASD devices + +# Menu: Device Drivers >> Board level reset or power off +CONFIG_POWER_RESET policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_AS3722 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_GPIO policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_GPIO_RESTART policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_LTC2952 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_MT6323 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_RESTART policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_SYSCON policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_SYSCON_POWEROFF policy<{'riscv64': 'y'}> +CONFIG_SYSCON_REBOOT_MODE policy<{'riscv64': 'm'}> +CONFIG_NVMEM_REBOOT_MODE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Broadcom specific AMBA +CONFIG_BCMA policy<{'riscv64': 'm'}> +CONFIG_BCMA_HOST_PCI policy<{'riscv64': 'y'}> +CONFIG_BCMA_HOST_SOC policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_PCI policy<{'riscv64': 'y'}> +CONFIG_BCMA_SFLASH policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GMAC_CMN policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GPIO policy<{'riscv64': 'y'}> +CONFIG_BCMA_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Bus devices +CONFIG_MOXTET policy<{'riscv64': 'm'}> +CONFIG_MHI_BUS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices +CONFIG_DEVMEM policy<{'riscv64': 'y'}> +CONFIG_DEVKMEM policy<{'riscv64': 'n'}> +CONFIG_TTY_PRINTK policy<{'riscv64': 'y'}> +CONFIG_TTY_PRINTK_LEVEL policy<{'riscv64': '6'}> +CONFIG_PRINTER policy<{'riscv64': 'm'}> +CONFIG_LP_CONSOLE policy<{'riscv64': 'n'}> +CONFIG_PPDEV policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_APPLICOM policy<{'riscv64': 'm'}> +CONFIG_RAW_DRIVER policy<{'riscv64': 'm'}> +CONFIG_MAX_RAW_DEVS policy<{'riscv64': '256'}> +CONFIG_DEVPORT policy<{'riscv64': 'y'}> +CONFIG_XILLYBUS policy<{'riscv64': 'm'}> +CONFIG_XILLYBUS_PCIE policy<{'riscv64': 'm'}> +CONFIG_XILLYBUS_OF policy<{'riscv64': 'm'}> +# +CONFIG_DEVKMEM mark note + +# Menu: Device Drivers >> Character devices >> Enable TTY +CONFIG_TTY policy<{'riscv64': 'y'}> +CONFIG_VT policy<{'riscv64': 'y'}> +CONFIG_CONSOLE_TRANSLATIONS policy<{'riscv64': 'y'}> +CONFIG_VT_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_VT_HW_CONSOLE_BINDING policy<{'riscv64': 'y'}> +CONFIG_UNIX98_PTYS policy<{'riscv64': 'y'}> +CONFIG_LEGACY_PTYS policy<{'riscv64': 'y'}> +CONFIG_LEGACY_PTY_COUNT policy<{'riscv64': '0'}> +CONFIG_LDISC_AUTOLOAD policy<{'riscv64': 'y'}> +CONFIG_GOLDFISH_TTY policy<{'riscv64': 'm'}> +CONFIG_N_GSM policy<{'riscv64': 'm'}> +CONFIG_NOZOMI policy<{'riscv64': 'm'}> +CONFIG_NULL_TTY policy<{'riscv64': 'm'}> +CONFIG_TRACE_ROUTER policy<{'riscv64': 'm'}> +CONFIG_TRACE_SINK policy<{'riscv64': 'm'}> +CONFIG_HVC_RISCV_SBI policy<{'riscv64': 'y'}> +# +CONFIG_N_GSM note + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Non-standard serial port support +CONFIG_SERIAL_NONSTANDARD policy<{'riscv64': 'y'}> +CONFIG_ROCKETPORT policy<{'riscv64': 'm'}> +CONFIG_CYCLADES policy<{'riscv64': 'm'}> +CONFIG_CYZ_INTR policy<{'riscv64': 'n'}> +CONFIG_MOXA_INTELLIO policy<{'riscv64': 'm'}> +CONFIG_MOXA_SMARTIO policy<{'riscv64': 'm'}> +CONFIG_SYNCLINKMP policy<{'riscv64': 'm'}> +CONFIG_SYNCLINK_GT policy<{'riscv64': 'm'}> +CONFIG_ISI policy<{'riscv64': 'm'}> +CONFIG_N_HDLC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers +CONFIG_SERIAL_EARLYCON_RISCV_SBI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_KGDB_NMI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_MAX3100 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_MAX310X policy<{'riscv64': 'y'}> +CONFIG_SERIAL_UARTLITE policy<{'riscv64': 'm'}> +CONFIG_SERIAL_UARTLITE_NR_UARTS policy<{'riscv64': '1'}> +CONFIG_SERIAL_JSM policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SIFIVE_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SCCNXP policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SCCNXP_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SC16IS7XX_I2C policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX_SPI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_ALTERA_JTAGUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_IFX6X60 policy<{'riscv64': 'n'}> +CONFIG_SERIAL_XILINX_PS_UART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_ARC policy<{'riscv64': 'm'}> +CONFIG_SERIAL_ARC_NR_PORTS policy<{'riscv64': '1'}> +CONFIG_SERIAL_RP2 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_RP2_NR_UARTS policy<{'riscv64': '32'}> +CONFIG_SERIAL_FSL_LPUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_FSL_LINFLEXUART policy<{'riscv64': 'n'}> +CONFIG_SERIAL_CONEXANT_DIGICOLOR policy<{'riscv64': 'm'}> +CONFIG_SERIAL_MEN_Z135 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SPRD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> 8250/16550 and compatible serial support +CONFIG_SERIAL_8250 policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS policy<{'riscv64': 'n'}> +CONFIG_SERIAL_8250_16550A_VARIANTS policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_FINTEK policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DMA policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_PCI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_EXAR policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_MEN_MCB policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_NR_UARTS policy<{'riscv64': '48'}> +CONFIG_SERIAL_8250_RUNTIME_UARTS policy<{'riscv64': '32'}> +CONFIG_SERIAL_8250_ASPEED_VUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_DW policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_RT288X policy<{'riscv64': 'y'}> +CONFIG_SERIAL_OF_PLATFORM policy<{'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<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_SHARE_IRQ policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DETECT_IRQ policy<{'riscv64': 'n'}> +CONFIG_SERIAL_8250_RSA policy<{'riscv64': 'y'}> + +# 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<{'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<{'riscv64': 'm'}> +CONFIG_SERIAL_ALTERA_UART_MAXPORTS policy<{'riscv64': '4'}> +CONFIG_SERIAL_ALTERA_UART_BAUDRATE policy<{'riscv64': '115200'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> SuperH SCI(F) serial port support + +# 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<{'riscv64': 'y'}> +CONFIG_HW_RANDOM_TIMERIOMEM policy<{'riscv64': 'm'}> +CONFIG_HW_RANDOM_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_HW_RANDOM_CCTRNG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> IPMI top-level message handler +CONFIG_IPMI_HANDLER policy<{'riscv64': 'm'}> +CONFIG_IPMI_PANIC_EVENT policy<{'riscv64': 'n'}> +CONFIG_IPMI_DEVICE_INTERFACE policy<{'riscv64': 'm'}> +CONFIG_IPMI_SI policy<{'riscv64': 'm'}> +CONFIG_IPMI_SSIF policy<{'riscv64': 'm'}> +CONFIG_IPMI_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_IPMI_POWEROFF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> PCMCIA character devices + +# Menu: Device Drivers >> Character devices >> Serial device bus +CONFIG_SERIAL_DEV_BUS policy<{'riscv64': 'y'}> +CONFIG_SERIAL_DEV_CTRL_TTYPORT policy<{'riscv64': 'y'}> +# +CONFIG_SERIAL_DEV_BUS note +CONFIG_SERIAL_DEV_CTRL_TTYPORT note + +# Menu: Device Drivers >> Character devices >> TPM Hardware Support +CONFIG_TCG_TPM policy<{'riscv64': 'y'}> +CONFIG_HW_RANDOM_TPM policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS_SPI policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_SPI_CR50 policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS_I2C_ATMEL policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_I2C_INFINEON policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_I2C_NUVOTON policy<{'riscv64': 'm'}> +CONFIG_TCG_ATMEL policy<{'riscv64': 'm'}> +CONFIG_TCG_VTPM_PROXY policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_ST33ZP24_I2C policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_ST33ZP24_SPI policy<{'riscv64': 'm'}> +# +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_RISCV_TIMER policy<{'riscv64': 'y'}> +CONFIG_MICROCHIP_PIT64B policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework +CONFIG_COMMON_CLK policy<{'riscv64': 'y'}> +CONFIG_COMMON_CLK_WM831X policy<{'riscv64': 'm'}> +CONFIG_CLK_HSDK policy<{'riscv64': 'n'}> +CONFIG_COMMON_CLK_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_MAX9485 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_RK808 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI5341 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI5351 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI514 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI544 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI570 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CDCE706 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CDCE925 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CS2000_CP policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_S2MPS11 policy<{'riscv64': 'm'}> +CONFIG_CLK_TWL6040 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_PALMAS policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_PWM policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_VC5 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_BD718XX policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_FIXED_MMIO policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for ARM Reference designs + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for Actions Semi SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2701 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2712 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6765 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6779 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6797 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT7622 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT8183 + +# Menu: Device Drivers >> Common Clock Framework >> Clock support for Allwinner SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Ingenic SoCs drivers + +# Menu: Device Drivers >> Common Clock Framework >> Legacy clock support for Allwinner SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Renesas SoC clock support + +# 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 + +# Menu: Device Drivers >> Connector - unified userspace <-> kernelspace linker +CONFIG_CONNECTOR policy<{'riscv64': 'y'}> +CONFIG_PROC_EVENTS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Counter support +CONFIG_COUNTER policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> DAX: direct access to differentiated memory +CONFIG_DAX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> DMA Engine support +CONFIG_DMADEVICES policy<{'riscv64': 'y'}> +CONFIG_DMADEVICES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ALTERA_MSGDMA policy<{'riscv64': 'm'}> +CONFIG_DW_AXI_DMAC policy<{'riscv64': 'm'}> +CONFIG_FSL_EDMA policy<{'riscv64': 'm'}> +CONFIG_INTEL_IDMA64 policy<{'riscv64': 'm'}> +CONFIG_PLX_DMA policy<{'riscv64': 'm'}> +CONFIG_QCOM_HIDMA_MGMT policy<{'riscv64': 'm'}> +CONFIG_QCOM_HIDMA policy<{'riscv64': 'm'}> +CONFIG_DW_DMAC policy<{'riscv64': 'm'}> +CONFIG_DW_DMAC_PCI policy<{'riscv64': 'm'}> +CONFIG_DW_EDMA policy<{'riscv64': 'm'}> +CONFIG_DW_EDMA_PCIE policy<{'riscv64': 'm'}> +CONFIG_SF_PDMA policy<{'riscv64': 'm'}> +CONFIG_ASYNC_TX_DMA policy<{'riscv64': 'y'}> +CONFIG_DMATEST policy<{'riscv64': 'n'}> +# +CONFIG_DMATEST flag + +# Menu: Device Drivers >> DMABUF options +CONFIG_SYNC_FILE policy<{'riscv64': 'y'}> +CONFIG_SW_SYNC policy<{'riscv64': 'y'}> +CONFIG_UDMABUF policy<{'riscv64': 'y'}> +CONFIG_DMABUF_MOVE_NOTIFY policy<{'riscv64': 'n'}> +CONFIG_DMABUF_SELFTESTS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> DMABUF options >> DMA-BUF Userland Memory Heaps +CONFIG_DMABUF_HEAPS policy<{'riscv64': 'y'}> +CONFIG_DMABUF_HEAPS_SYSTEM policy<{'riscv64': 'y'}> +CONFIG_DMABUF_HEAPS_CMA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support +CONFIG_W1 policy<{'riscv64': 'm'}> +CONFIG_W1_CON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Bus Masters +CONFIG_W1_MASTER_MATROX policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS2490 policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS2482 policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS1WM policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_GPIO policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_SGI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Slaves +CONFIG_W1_SLAVE_THERM policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_SMEM policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2405 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2408 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2408_READBACK policy<{'riscv64': 'y'}> +CONFIG_W1_SLAVE_DS2413 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2406 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2423 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2805 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2430 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2431 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2433 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2433_CRC policy<{'riscv64': 'n'}> +CONFIG_W1_SLAVE_DS2438 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS250X policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2780 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2781 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS28E04 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS28E17 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Device Tree and Open Firmware support +CONFIG_OF policy<{'riscv64': 'y'}> +CONFIG_OF_UNITTEST policy<{'riscv64': 'n'}> +CONFIG_OF_DYNAMIC policy<{'riscv64': 'y'}> +CONFIG_OF_OVERLAY policy<{'riscv64': 'y'}> +# +CONFIG_OF_UNITTEST flag + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting +CONFIG_EDAC policy<{'riscv64': 'y'}> +CONFIG_EDAC_LEGACY_SYSFS policy<{'riscv64': 'n'}> +CONFIG_EDAC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EDAC_SIFIVE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting >> Altera SOCFPGA ECC + +# Menu: Device Drivers >> EISA support + +# Menu: Device Drivers >> Eckelmann SIOX Support +CONFIG_SIOX policy<{'riscv64': 'm'}> +CONFIG_SIOX_BUS_GPIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> External Connector Class (extcon) support +CONFIG_EXTCON policy<{'riscv64': 'y'}> +CONFIG_EXTCON_ADC_JACK policy<{'riscv64': 'm'}> +CONFIG_EXTCON_ARIZONA policy<{'riscv64': 'm'}> +CONFIG_EXTCON_FSA9480 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_GPIO policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX3355 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX77843 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_PALMAS policy<{'riscv64': 'm'}> +CONFIG_EXTCON_PTN5150 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_RT8973A policy<{'riscv64': 'm'}> +CONFIG_EXTCON_SM5502 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_USB_GPIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework +CONFIG_FPGA policy<{'riscv64': 'm'}> +CONFIG_ALTERA_PR_IP_CORE policy<{'riscv64': 'm'}> +CONFIG_ALTERA_PR_IP_CORE_PLAT policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ALTERA_PS_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ALTERA_CVP policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_XILINX_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ICE40_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_MACHXO2_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Bridge Framework +CONFIG_FPGA_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_ALTERA_FREEZE_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_XILINX_PR_DECOUPLER policy<{'riscv64': 'm'}> +CONFIG_FPGA_REGION policy<{'riscv64': 'm'}> +CONFIG_OF_FPGA_REGION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support +CONFIG_FPGA_DFL policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_AFU policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support >> FPGA DFL FME Driver +CONFIG_FPGA_DFL_FME policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_MGR policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_REGION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FSI support +CONFIG_FSI policy<{'riscv64': 'm'}> +CONFIG_FSI_NEW_DEV_NODE policy<{'riscv64': 'n'}> +CONFIG_FSI_MASTER_GPIO policy<{'riscv64': 'm'}> +CONFIG_FSI_MASTER_HUB policy<{'riscv64': 'm'}> +CONFIG_FSI_MASTER_ASPEED policy<{'riscv64': 'm'}> +CONFIG_FSI_SCOM policy<{'riscv64': 'm'}> +CONFIG_FSI_SBEFIFO policy<{'riscv64': 'm'}> +CONFIG_FSI_OCC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Fusion MPT device support +CONFIG_FUSION policy<{'riscv64': 'y'}> +CONFIG_FUSION_SPI policy<{'riscv64': 'm'}> +CONFIG_FUSION_FC policy<{'riscv64': 'm'}> +CONFIG_FUSION_SAS policy<{'riscv64': 'm'}> +CONFIG_FUSION_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_FUSION_CTL policy<{'riscv64': 'm'}> +CONFIG_FUSION_LAN policy<{'riscv64': 'm'}> +CONFIG_FUSION_LOGGING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> GNSS receiver support +CONFIG_GNSS policy<{'riscv64': 'm'}> +CONFIG_GNSS_MTK_SERIAL policy<{'riscv64': 'm'}> +CONFIG_GNSS_SIRF_SERIAL policy<{'riscv64': 'm'}> +CONFIG_GNSS_UBX_SERIAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support +CONFIG_GPIOLIB policy<{'riscv64': 'y'}> +CONFIG_GPIOLIB_FASTPATH_LIMIT policy<{'riscv64': '512'}> +CONFIG_DEBUG_GPIO policy<{'riscv64': 'n'}> +CONFIG_GPIO_SYSFS policy<{'riscv64': 'y'}> +CONFIG_GPIO_AGGREGATOR policy<{'riscv64': 'm'}> +CONFIG_GPIO_MOCKUP policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> GPIO Support >> I2C GPIO expanders +CONFIG_GPIO_ADP5588 policy<{'riscv64': 'm'}> +CONFIG_GPIO_ADNP policy<{'riscv64': 'm'}> +CONFIG_GPIO_GW_PLD policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX7300 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX732X policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCA953X policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCA953X_IRQ policy<{'riscv64': 'y'}> +CONFIG_GPIO_PCF857X policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPIC2810 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> MFD GPIO expanders +CONFIG_GPIO_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_GPIO_ARIZONA policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD70528 policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD71828 policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_GPIO_DA9052 policy<{'riscv64': 'm'}> +CONFIG_GPIO_DA9055 policy<{'riscv64': 'm'}> +CONFIG_GPIO_DLN2 policy<{'riscv64': 'm'}> +CONFIG_GPIO_JANZ_TTL policy<{'riscv64': 'm'}> +CONFIG_GPIO_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP3943 policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP873X policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP87565 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MADERA policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PALMAS policy<{'riscv64': 'y'}> +CONFIG_GPIO_RC5T583 policy<{'riscv64': 'y'}> +CONFIG_GPIO_STMPE policy<{'riscv64': 'y'}> +CONFIG_GPIO_TC3589X policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPS6586X policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65910 policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65912 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TWL6040 policy<{'riscv64': 'm'}> +CONFIG_GPIO_UCB1400 policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM831X policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM8350 policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM8994 policy<{'riscv64': 'm'}> +# +CONFIG_GPIO_TWL4030 mark note + +# Menu: Device Drivers >> GPIO Support >> Memory mapped GPIO drivers +CONFIG_GPIO_74XX_MMIO policy<{'riscv64': 'm'}> +CONFIG_GPIO_ALTERA policy<{'riscv64': 'm'}> +CONFIG_GPIO_CADENCE policy<{'riscv64': 'm'}> +CONFIG_GPIO_DWAPB policy<{'riscv64': 'm'}> +CONFIG_GPIO_EXAR policy<{'riscv64': 'm'}> +CONFIG_GPIO_FTGPIO010 policy<{'riscv64': 'y'}> +CONFIG_GPIO_GENERIC_PLATFORM policy<{'riscv64': 'y'}> +CONFIG_GPIO_GRGPIO policy<{'riscv64': 'm'}> +CONFIG_GPIO_HLWD policy<{'riscv64': 'm'}> +CONFIG_GPIO_LOGICVC policy<{'riscv64': 'm'}> +CONFIG_GPIO_MB86S7X policy<{'riscv64': 'm'}> +CONFIG_GPIO_MENZ127 policy<{'riscv64': 'm'}> +CONFIG_GPIO_SAMA5D2_PIOBU policy<{'riscv64': 'm'}> +CONFIG_GPIO_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_GPIO_SIOX policy<{'riscv64': 'm'}> +CONFIG_GPIO_SYSCON policy<{'riscv64': 'm'}> +CONFIG_GPIO_WCD934X policy<{'riscv64': 'm'}> +CONFIG_GPIO_XILINX policy<{'riscv64': 'n'}> +CONFIG_GPIO_AMD_FCH policy<{'riscv64': 'n'}> +# +CONFIG_GPIO_EM note + +# Menu: Device Drivers >> GPIO Support >> PCI GPIO expanders +CONFIG_GPIO_PCI_IDIO_16 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCIE_IDIO_24 policy<{'riscv64': 'm'}> +CONFIG_GPIO_RDC321X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> Port-mapped I/O GPIO drivers + +# Menu: Device Drivers >> GPIO Support >> SPI GPIO expanders +CONFIG_GPIO_74X164 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX3191X policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX7301 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MC33880 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PISOSR policy<{'riscv64': 'm'}> +CONFIG_GPIO_XRA1403 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MOXTET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> USB GPIO expanders +CONFIG_GPIO_VIPERBOARD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Generic Driver Options +CONFIG_UEVENT_HELPER policy<{'riscv64': 'y'}> +CONFIG_UEVENT_HELPER_PATH policy<{'riscv64': '""'}> +CONFIG_DEVTMPFS policy<{'riscv64': 'y'}> +CONFIG_DEVTMPFS_MOUNT policy<{'riscv64': 'y'}> +CONFIG_STANDALONE policy<{'riscv64': 'y'}> +CONFIG_PREVENT_FIRMWARE_BUILD policy<{'riscv64': 'y'}> +CONFIG_ALLOW_DEV_COREDUMP policy<{'riscv64': 'y'}> +CONFIG_DEBUG_DRIVER policy<{'riscv64': 'n'}> +CONFIG_DEBUG_DEVRES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_TEST_DRIVER_REMOVE policy<{'riscv64': 'n'}> +CONFIG_TEST_ASYNC_DRIVER_PROBE policy<{'riscv64': 'n'}> +CONFIG_DMA_FENCE_TRACE policy<{'riscv64': 'n'}> +# +CONFIG_DEVTMPFS note note +CONFIG_DEVTMPFS_MOUNT note note + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader >> Firmware loading facility +CONFIG_FW_LOADER policy<{'riscv64': 'y'}> +CONFIG_EXTRA_FIRMWARE policy<{'riscv64': '""'}> +CONFIG_FW_LOADER_USER_HELPER policy<{'riscv64': 'y'}> +CONFIG_FW_LOADER_USER_HELPER_FALLBACK policy<{'riscv64': 'n'}> +CONFIG_FW_LOADER_COMPRESS policy<{'riscv64': 'y'}> +# +CONFIG_FW_LOADER_USER_HELPER_FALLBACK mark note + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support +CONFIG_PM_DEVFREQ policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PERFORMANCE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_POWERSAVE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_USERSPACE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PASSIVE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support >> DEVFREQ-Event device Support +CONFIG_PM_DEVFREQ_EVENT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Generic Target Core Mod (TCM) and ConfigFS Infrastructure +CONFIG_TARGET_CORE policy<{'riscv64': 'm'}> +CONFIG_TCM_IBLOCK policy<{'riscv64': 'm'}> +CONFIG_TCM_FILEIO policy<{'riscv64': 'm'}> +CONFIG_TCM_PSCSI policy<{'riscv64': 'm'}> +CONFIG_TCM_USER2 policy<{'riscv64': 'm'}> +CONFIG_LOOPBACK_TARGET policy<{'riscv64': 'm'}> +CONFIG_TCM_FC policy<{'riscv64': 'm'}> +CONFIG_ISCSI_TARGET policy<{'riscv64': 'm'}> +CONFIG_ISCSI_TARGET_CXGB4 policy<{'riscv64': 'm'}> +CONFIG_SBP_TARGET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Generic powercap sysfs driver +CONFIG_POWERCAP policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support +CONFIG_VGA_ARB policy<{'riscv64': 'y'}> +CONFIG_VGA_ARB_MAX_GPUS policy<{'riscv64': '16'}> +CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> /dev/agpgart (AGP Support) +# +CONFIG_AGP note flag + +# Menu: Device Drivers >> Graphics support >> ARM devices +CONFIG_DRM_KOMEDA policy<{'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<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_GENERIC policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3533 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PWM policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_DA903X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_DA9052 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_QCOM_WLED policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_WM831X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP8860 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP8870 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_88PM860X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_AAT2870 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3630A policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3639 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LP855X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LP8788 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PANDORA policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_AS3711 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_GPIO policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LV5207LP policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_BD6107 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ARCXCNN policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_RAVE_SP policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LED policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Backlight & LCD device support >> Lowlevel LCD controls +CONFIG_LCD_CLASS_DEVICE policy<{'riscv64': 'm'}> +CONFIG_LCD_L4F00242T03 policy<{'riscv64': 'm'}> +CONFIG_LCD_LMS283GF05 policy<{'riscv64': 'm'}> +CONFIG_LCD_LTV350QV policy<{'riscv64': 'm'}> +CONFIG_LCD_ILI922X policy<{'riscv64': 'm'}> +CONFIG_LCD_ILI9320 policy<{'riscv64': 'm'}> +CONFIG_LCD_TDO24M policy<{'riscv64': 'm'}> +CONFIG_LCD_VGG2432A4 policy<{'riscv64': 'm'}> +CONFIG_LCD_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_LCD_AMS369FG06 policy<{'riscv64': 'm'}> +CONFIG_LCD_LMS501KF03 policy<{'riscv64': 'm'}> +CONFIG_LCD_HX8357 policy<{'riscv64': 'm'}> +CONFIG_LCD_OTM3225A policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Bootup logo +CONFIG_LOGO policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support +CONFIG_VGA_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_DUMMY_CONSOLE_COLUMNS policy<{'riscv64': '80'}> +CONFIG_DUMMY_CONSOLE_ROWS policy<{'riscv64': '25'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support >> Framebuffer Console support +CONFIG_FRAMEBUFFER_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) +CONFIG_DRM policy<{'riscv64': 'm'}> +CONFIG_DRM_DP_AUX_CHARDEV policy<{'riscv64': 'y'}> +CONFIG_DRM_DEBUG_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_DRM_FBDEV_EMULATION policy<{'riscv64': 'y'}> +CONFIG_DRM_FBDEV_OVERALLOC policy<{'riscv64': '100'}> +CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM policy<{'riscv64': 'n'}> +CONFIG_DRM_LOAD_EDID_FIRMWARE policy<{'riscv64': 'y'}> +CONFIG_DRM_DP_CEC policy<{'riscv64': 'y'}> +CONFIG_DRM_RADEON policy<{'riscv64': 'm'}> +CONFIG_DRM_RADEON_USERPTR policy<{'riscv64': 'n'}> +CONFIG_DRM_VGEM policy<{'riscv64': 'm'}> +CONFIG_DRM_VKMS policy<{'riscv64': 'm'}> +CONFIG_DRM_UDL policy<{'riscv64': 'm'}> +CONFIG_DRM_AST policy<{'riscv64': 'm'}> +CONFIG_DRM_MGAG200 policy<{'riscv64': 'm'}> +CONFIG_DRM_RCAR_DW_HDMI policy<{'riscv64': 'm'}> +CONFIG_DRM_RCAR_LVDS policy<{'riscv64': 'n'}> +CONFIG_DRM_QXL policy<{'riscv64': 'm'}> +CONFIG_DRM_BOCHS policy<{'riscv64': 'm'}> +CONFIG_DRM_VIRTIO_GPU policy<{'riscv64': 'm'}> +CONFIG_DRM_ETNAVIV policy<{'riscv64': 'n'}> +CONFIG_DRM_ARCPGU policy<{'riscv64': 'm'}> +CONFIG_DRM_MXSFB policy<{'riscv64': 'm'}> +CONFIG_DRM_CIRRUS_QEMU policy<{'riscv64': 'm'}> +CONFIG_DRM_GM12U320 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_HX8357D policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9225 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9341 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9486 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_MI0283QT policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_REPAPER policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ST7586 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ST7735R policy<{'riscv64': 'm'}> +# +CONFIG_DRM_MGAG200 note +CONFIG_DRM_STI note +CONFIG_DRM_VBOXVIDEO note flag + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> AMD GPU +CONFIG_DRM_AMDGPU policy<{'riscv64': 'm'}> +CONFIG_DRM_AMDGPU_SI policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_CIK policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_USERPTR policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_GART_DEBUGFS policy<{'riscv64': 'n'}> +# +CONFIG_DRM_AMDGPU_CIK note +CONFIG_DRM_AMDGPU_CIK 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<{'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<{'riscv64': 'y'}> +CONFIG_DRM_AMD_DC_HDCP policy<{'riscv64': 'y'}> +CONFIG_DEBUG_KERNEL_DC policy<{'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 + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Freescale i.MX + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Rockchip + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Samsung SoC Exynos Series + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Interface Bridges +CONFIG_DRM_CDNS_DSI policy<{'riscv64': 'm'}> +CONFIG_DRM_CHRONTEL_CH7033 policy<{'riscv64': 'm'}> +CONFIG_DRM_DISPLAY_CONNECTOR policy<{'riscv64': 'm'}> +CONFIG_DRM_LVDS_CODEC policy<{'riscv64': 'm'}> +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW policy<{'riscv64': 'm'}> +CONFIG_DRM_NWL_MIPI_DSI policy<{'riscv64': 'm'}> +CONFIG_DRM_NXP_PTN3460 policy<{'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8622 policy<{'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8640 policy<{'riscv64': 'm'}> +CONFIG_DRM_SIL_SII8620 policy<{'riscv64': 'm'}> +CONFIG_DRM_SII902X policy<{'riscv64': 'm'}> +CONFIG_DRM_SII9234 policy<{'riscv64': 'm'}> +CONFIG_DRM_SIMPLE_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_DRM_THINE_THC63LVD1024 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358764 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358767 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358768 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_TFP410 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_SN65DSI86 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_TPD12S015 policy<{'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX6345 policy<{'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX78XX policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511 policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511_AUDIO policy<{'riscv64': 'y'}> +CONFIG_DRM_I2C_ADV7511_CEC policy<{'riscv64': 'y'}> +CONFIG_DRM_DW_HDMI_AHB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_I2S_AUDIO policy<{'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_CEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Panels +CONFIG_DRM_PANEL_ARM_VERSATILE policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_HIMAX8279D policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LVDS policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ELIDA_KD35T133 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_IL9322 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_ILI9881C policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_INNOLUX_P079ZCA policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_JDI_LT070ME05000 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_LD9040 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LB035Q02 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LG4573 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NEC_NL8048HL11 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT35510 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT39016 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ORISETECH_OTM8009A policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM67191 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM68200 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RONBO_RB070D30 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SEIKO_43WVF1G policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS037V7DW01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS043T1LE01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7701 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7789V policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX424AKP policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX565AKM policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD028TTEC1 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD043MTEA1 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TPG110 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_VISIONOX_RM69299 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_XINPENG_XPP055C272 policy<{'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<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_DRM_I2C_SIL164 policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_NXP_TDA998X policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_NXP_TDA9950 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics + +# 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 + +# 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 + +# 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) >> Intel GMA5/600 KMS Framebuffer + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM + +# 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 + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Nouveau (NVIDIA) cards +CONFIG_DRM_NOUVEAU policy<{'riscv64': 'm'}> +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT policy<{'riscv64': 'n'}> +CONFIG_NOUVEAU_DEBUG policy<{'riscv64': '5'}> +CONFIG_NOUVEAU_DEBUG_DEFAULT policy<{'riscv64': '3'}> +CONFIG_NOUVEAU_DEBUG_MMU policy<{'riscv64': 'n'}> +CONFIG_DRM_NOUVEAU_BACKLIGHT policy<{'riscv64': 'y'}> +# +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) >> OMAP2+ Display Subsystem support + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> OMAPDRM External Display Device Drivers + +# 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<{'riscv64': 'y'}> +CONFIG_FIRMWARE_EDID policy<{'riscv64': 'y'}> +CONFIG_FB_MODE_HELPERS policy<{'riscv64': 'y'}> +CONFIG_FB_TILEBLITTING policy<{'riscv64': 'y'}> +CONFIG_FB_CIRRUS policy<{'riscv64': 'm'}> +CONFIG_FB_PM2 policy<{'riscv64': 'm'}> +CONFIG_FB_PM2_FIFO_DISCONNECT policy<{'riscv64': 'y'}> +CONFIG_FB_CYBER2000 policy<{'riscv64': 'm'}> +CONFIG_FB_CYBER2000_DDC policy<{'riscv64': 'y'}> +CONFIG_FB_ASILIANT policy<{'riscv64': 'y'}> +CONFIG_FB_IMSTT policy<{'riscv64': 'y'}> +CONFIG_FB_UVESA policy<{'riscv64': 'm'}> +CONFIG_FB_OPENCORES policy<{'riscv64': 'm'}> +CONFIG_FB_S1D13XXX policy<{'riscv64': 'm'}> +CONFIG_FB_I740 policy<{'riscv64': 'm'}> +CONFIG_FB_ATY128 policy<{'riscv64': 'm'}> +CONFIG_FB_ATY128_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_FB_S3 policy<{'riscv64': 'm'}> +CONFIG_FB_S3_DDC policy<{'riscv64': 'y'}> +CONFIG_FB_SAVAGE policy<{'riscv64': 'm'}> +CONFIG_FB_SAVAGE_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_SAVAGE_ACCEL policy<{'riscv64': 'n'}> +CONFIG_FB_SIS policy<{'riscv64': 'm'}> +CONFIG_FB_SIS_300 policy<{'riscv64': 'y'}> +CONFIG_FB_SIS_315 policy<{'riscv64': 'y'}> +CONFIG_FB_NEOMAGIC policy<{'riscv64': 'm'}> +CONFIG_FB_KYRO policy<{'riscv64': 'm'}> +CONFIG_FB_3DFX policy<{'riscv64': 'm'}> +CONFIG_FB_3DFX_ACCEL policy<{'riscv64': 'n'}> +CONFIG_FB_3DFX_I2C policy<{'riscv64': 'n'}> +CONFIG_FB_VOODOO1 policy<{'riscv64': 'm'}> +CONFIG_FB_VT8623 policy<{'riscv64': 'm'}> +CONFIG_FB_TRIDENT policy<{'riscv64': 'm'}> +CONFIG_FB_ARK policy<{'riscv64': 'm'}> +CONFIG_FB_PM3 policy<{'riscv64': 'm'}> +CONFIG_FB_CARMINE policy<{'riscv64': 'm'}> +CONFIG_FB_SM501 policy<{'riscv64': 'm'}> +CONFIG_FB_SMSCUFX policy<{'riscv64': 'm'}> +CONFIG_FB_UDL policy<{'riscv64': 'm'}> +CONFIG_FB_IBM_GXT4500 policy<{'riscv64': 'n'}> +CONFIG_FB_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_FB_VIRTUAL policy<{'riscv64': 'n'}> +CONFIG_FB_METRONOME policy<{'riscv64': 'm'}> +CONFIG_FB_MB862XX policy<{'riscv64': 'm'}> +CONFIG_FB_MB862XX_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_SIMPLE policy<{'riscv64': 'y'}> +CONFIG_FB_SSD1307 policy<{'riscv64': 'm'}> +CONFIG_FB_SM712 policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_FB_ATY_CT policy<{'riscv64': 'y'}> +CONFIG_FB_ATY_GENERIC_LCD policy<{'riscv64': 'n'}> +CONFIG_FB_ATY_GX policy<{'riscv64': 'y'}> +CONFIG_FB_ATY_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> ATI Radeon display support +CONFIG_FB_RADEON policy<{'riscv64': 'm'}> +CONFIG_FB_RADEON_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_RADEON_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_FB_RADEON_DEBUG policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'y'}> +CONFIG_CARMINE_DRAM_CUSTOM policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Framebuffer foreign endianness support +CONFIG_FB_FOREIGN_ENDIAN policy<{'riscv64': '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<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Matrox acceleration +CONFIG_FB_MATROX policy<{'riscv64': 'm'}> +CONFIG_FB_MATROX_MILLENIUM policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_MYSTIQUE policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_G policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_I2C policy<{'riscv64': 'm'}> +CONFIG_FB_MATROX_MAVEN policy<{'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 + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> OMAP2+ frame buffer support >> OMAPFB Panel and Encoder Drivers + +# 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<{'riscv64': 'm'}> +CONFIG_FB_NVIDIA_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_NVIDIA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FB_NVIDIA_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> nVidia Riva support +CONFIG_FB_RIVA policy<{'riscv64': 'm'}> +CONFIG_FB_RIVA_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_RIVA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FB_RIVA_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Greybus support +CONFIG_GREYBUS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> HDMI CEC drivers +CONFIG_MEDIA_CEC_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_PULSE8_CEC policy<{'riscv64': 'm'}> +CONFIG_USB_RAINSHADOW_CEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support + +# Menu: Device Drivers >> HID support >> HID bus support +CONFIG_HID policy<{'riscv64': 'm'}> +CONFIG_HID_BATTERY_STRENGTH policy<{'riscv64': 'y'}> +CONFIG_HIDRAW policy<{'riscv64': 'y'}> +CONFIG_UHID policy<{'riscv64': 'm'}> +CONFIG_HID_GENERIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers +CONFIG_HID_A4TECH policy<{'riscv64': 'm'}> +CONFIG_HID_ACCUTOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_ACRUX policy<{'riscv64': 'm'}> +CONFIG_HID_ACRUX_FF policy<{'riscv64': 'y'}> +CONFIG_HID_APPLE policy<{'riscv64': 'm'}> +CONFIG_HID_APPLEIR policy<{'riscv64': 'm'}> +CONFIG_HID_ASUS policy<{'riscv64': 'm'}> +CONFIG_HID_AUREAL policy<{'riscv64': 'm'}> +CONFIG_HID_BELKIN policy<{'riscv64': 'm'}> +CONFIG_HID_BETOP_FF policy<{'riscv64': 'm'}> +CONFIG_HID_BIGBEN_FF policy<{'riscv64': 'm'}> +CONFIG_HID_CHERRY policy<{'riscv64': 'm'}> +CONFIG_HID_CHICONY policy<{'riscv64': 'm'}> +CONFIG_HID_CORSAIR policy<{'riscv64': 'm'}> +CONFIG_HID_COUGAR policy<{'riscv64': 'm'}> +CONFIG_HID_MACALLY policy<{'riscv64': 'm'}> +CONFIG_HID_PRODIKEYS policy<{'riscv64': 'm'}> +CONFIG_HID_CMEDIA policy<{'riscv64': 'm'}> +CONFIG_HID_CP2112 policy<{'riscv64': 'm'}> +CONFIG_HID_CREATIVE_SB0540 policy<{'riscv64': 'm'}> +CONFIG_HID_CYPRESS policy<{'riscv64': 'm'}> +CONFIG_HID_DRAGONRISE policy<{'riscv64': 'm'}> +CONFIG_DRAGONRISE_FF policy<{'riscv64': 'y'}> +CONFIG_HID_EMS_FF policy<{'riscv64': 'm'}> +CONFIG_HID_ELAN policy<{'riscv64': 'm'}> +CONFIG_HID_ELECOM policy<{'riscv64': 'm'}> +CONFIG_HID_ELO policy<{'riscv64': 'm'}> +CONFIG_HID_EZKEY policy<{'riscv64': 'm'}> +CONFIG_HID_GEMBIRD policy<{'riscv64': 'm'}> +CONFIG_HID_GFRM policy<{'riscv64': 'm'}> +CONFIG_HID_GLORIOUS policy<{'riscv64': 'm'}> +CONFIG_HID_HOLTEK policy<{'riscv64': 'm'}> +CONFIG_HOLTEK_FF policy<{'riscv64': 'y'}> +CONFIG_HID_GT683R policy<{'riscv64': 'm'}> +CONFIG_HID_KEYTOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_KYE policy<{'riscv64': 'm'}> +CONFIG_HID_UCLOGIC policy<{'riscv64': 'm'}> +CONFIG_HID_WALTOP policy<{'riscv64': 'm'}> +CONFIG_HID_VIEWSONIC policy<{'riscv64': 'm'}> +CONFIG_HID_GYRATION policy<{'riscv64': 'm'}> +CONFIG_HID_ICADE policy<{'riscv64': 'm'}> +CONFIG_HID_ITE policy<{'riscv64': 'm'}> +CONFIG_HID_JABRA policy<{'riscv64': 'm'}> +CONFIG_HID_TWINHAN policy<{'riscv64': 'm'}> +CONFIG_HID_KENSINGTON policy<{'riscv64': 'm'}> +CONFIG_HID_LCPOWER policy<{'riscv64': 'm'}> +CONFIG_HID_LED policy<{'riscv64': 'm'}> +CONFIG_HID_LENOVO policy<{'riscv64': 'm'}> +CONFIG_HID_MAGICMOUSE policy<{'riscv64': 'm'}> +CONFIG_HID_MALTRON policy<{'riscv64': 'm'}> +CONFIG_HID_MAYFLASH policy<{'riscv64': 'm'}> +CONFIG_HID_REDRAGON policy<{'riscv64': 'm'}> +CONFIG_HID_MICROSOFT policy<{'riscv64': 'm'}> +CONFIG_HID_MONTEREY policy<{'riscv64': 'm'}> +CONFIG_HID_MULTITOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_NTI policy<{'riscv64': 'm'}> +CONFIG_HID_NTRIG policy<{'riscv64': 'm'}> +CONFIG_HID_ORTEK policy<{'riscv64': 'm'}> +CONFIG_HID_PANTHERLORD policy<{'riscv64': 'm'}> +CONFIG_PANTHERLORD_FF policy<{'riscv64': 'y'}> +CONFIG_HID_PENMOUNT policy<{'riscv64': 'm'}> +CONFIG_HID_PETALYNX policy<{'riscv64': 'm'}> +CONFIG_HID_PLANTRONICS policy<{'riscv64': 'm'}> +CONFIG_HID_PRIMAX policy<{'riscv64': 'm'}> +CONFIG_HID_RETRODE policy<{'riscv64': 'm'}> +CONFIG_HID_ROCCAT policy<{'riscv64': 'm'}> +CONFIG_HID_SAITEK policy<{'riscv64': 'm'}> +CONFIG_HID_SAMSUNG policy<{'riscv64': 'm'}> +CONFIG_HID_SONY policy<{'riscv64': 'm'}> +CONFIG_SONY_FF policy<{'riscv64': 'y'}> +CONFIG_HID_SPEEDLINK policy<{'riscv64': 'm'}> +CONFIG_HID_STEAM policy<{'riscv64': 'm'}> +CONFIG_HID_STEELSERIES policy<{'riscv64': 'm'}> +CONFIG_HID_SUNPLUS policy<{'riscv64': 'm'}> +CONFIG_HID_RMI policy<{'riscv64': 'm'}> +CONFIG_HID_GREENASIA policy<{'riscv64': 'm'}> +CONFIG_GREENASIA_FF policy<{'riscv64': 'y'}> +CONFIG_HID_SMARTJOYPLUS policy<{'riscv64': 'm'}> +CONFIG_SMARTJOYPLUS_FF policy<{'riscv64': 'y'}> +CONFIG_HID_TIVO policy<{'riscv64': 'm'}> +CONFIG_HID_TOPSEED policy<{'riscv64': 'm'}> +CONFIG_HID_THINGM policy<{'riscv64': 'm'}> +CONFIG_HID_THRUSTMASTER policy<{'riscv64': 'm'}> +CONFIG_THRUSTMASTER_FF policy<{'riscv64': 'y'}> +CONFIG_HID_UDRAW_PS3 policy<{'riscv64': 'm'}> +CONFIG_HID_U2FZERO policy<{'riscv64': 'm'}> +CONFIG_HID_WACOM policy<{'riscv64': 'm'}> +CONFIG_HID_WIIMOTE policy<{'riscv64': 'm'}> +CONFIG_HID_XINMO policy<{'riscv64': 'm'}> +CONFIG_HID_ZEROPLUS policy<{'riscv64': 'm'}> +CONFIG_ZEROPLUS_FF policy<{'riscv64': 'y'}> +CONFIG_HID_ZYDACRON policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_HUB policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_CUSTOM_SENSOR policy<{'riscv64': 'm'}> +CONFIG_HID_ALPS policy<{'riscv64': 'm'}> +CONFIG_HID_MCP2221 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> Logitech devices +CONFIG_HID_LOGITECH policy<{'riscv64': 'm'}> +CONFIG_HID_LOGITECH_DJ policy<{'riscv64': 'm'}> +CONFIG_HID_LOGITECH_HIDPP policy<{'riscv64': 'm'}> +CONFIG_LOGITECH_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIRUMBLEPAD2_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIG940_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIWHEELS_FF policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> PicoLCD (graphic version) +CONFIG_HID_PICOLCD policy<{'riscv64': 'm'}> +CONFIG_HID_PICOLCD_FB policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LCD policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LEDS policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_CIR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> I2C HID support +CONFIG_I2C_HID policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> Intel ISH HID support + +# Menu: Device Drivers >> HID support >> USB HID support +CONFIG_USB_HID policy<{'riscv64': 'm'}> +CONFIG_HID_PID policy<{'riscv64': 'y'}> +CONFIG_USB_HIDDEV policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> USB HID support >> USB HID Boot Protocol drivers +CONFIG_USB_KBD policy<{'riscv64': 'm'}> +CONFIG_USB_MOUSE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HSI support +CONFIG_HSI policy<{'riscv64': 'm'}> +CONFIG_HSI_CHAR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HW tracing support + +# Menu: Device Drivers >> HW tracing support >> Intel(R) Trace Hub controller +CONFIG_INTEL_TH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_PCI policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_GTH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_STH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_MSU policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_PTI policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> HW tracing support >> System Trace Module devices +CONFIG_STM policy<{'riscv64': 'm'}> +CONFIG_STM_PROTO_BASIC policy<{'riscv64': 'm'}> +CONFIG_STM_PROTO_SYS_T policy<{'riscv64': 'm'}> +CONFIG_STM_DUMMY policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_CONSOLE policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_HEARTBEAT policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_FTRACE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support +CONFIG_HWMON policy<{'riscv64': 'y'}> +CONFIG_HWMON_DEBUG_CHIP policy<{'riscv64': 'n'}> +CONFIG_SENSORS_AD7314 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AD7414 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AD7418 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1021 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1025 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1026 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1029 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1031 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1177 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM9240 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7310 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7410 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7411 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7462 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7470 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7475 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AS370 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ASC7621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AXI_FAN_CONTROL policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ASPEED policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ATXP1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DRIVETEMP policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DS620 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DS1621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DA9052_ADC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DA9055 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_I5K_AMB policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F71805F policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F71882FG policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F75375S policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GSC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MC13783_ADC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_FTSTEUTATES policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GL518SM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GL520SM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_G760A policy<{'riscv64': 'm'}> +CONFIG_SENSORS_G762 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GPIO_FAN policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HIH6130 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBMAEM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBMPEX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IIO_HWMON policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IT87 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_JC42 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_POWR1220 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LINEAGE policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2945 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2947_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2947_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2990 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4151 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4215 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4222 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4245 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4260 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4261 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1111 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16065 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1619 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1668 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX197 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31722 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31730 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6639 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6642 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6650 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6697 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31790 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MCP3021 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TC654 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MENF21BMC_HWMON policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADCXX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM63 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM70 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM73 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM75 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM77 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM78 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM80 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM83 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM85 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM87 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM90 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM92 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM93 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95234 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95241 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95245 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PC87360 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PC87427 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NTC_THERMISTOR policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT6683 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT6775 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT7802 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT7904 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NPCM7XX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PCF8591 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PWM_FAN policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT15 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT21 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT3x policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHTC1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SIS5595 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DME1737 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC1403 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC2103 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC6W201 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47M1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47M192 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47B397 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SCH5627 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SCH5636 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_STTS751 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMM665 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADC128D818 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADS7828 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADS7871 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AMC6821 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA209 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA2XX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA3221 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TC74 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_THMC50 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP102 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP103 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP108 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP401 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP421 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP513 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VIA686A policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VT1211 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VT8231 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83773G policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83781D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83791D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83792D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83793 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83795 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83795_FANCTRL policy<{'riscv64': 'n'}> +CONFIG_SENSORS_W83L785TS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83L786NG policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83627HF policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83627EHF policy<{'riscv64': 'm'}> +CONFIG_SENSORS_WM831X policy<{'riscv64': 'm'}> +CONFIG_SENSORS_WM8350 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support >> PMBus support +CONFIG_PMBUS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PMBUS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1275 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_BEL_PFE policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBM_CFFPS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INSPUR_IPSPS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IR35221 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IR38064 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IRPS5401 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL68137 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM25066 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978_REGULATOR policy<{'riscv64': 'y'}> +CONFIG_SENSORS_LTC3815 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16064 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16601 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX20730 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX20751 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31785 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX34440 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX8688 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PXE1610 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TPS40422 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TPS53679 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_UCD9000 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_UCD9200 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_XDPE122 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ZL6100 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Spinlock drivers +CONFIG_HWSPINLOCK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> I2C support + +# Menu: Device Drivers >> I2C support >> I2C support +CONFIG_I2C policy<{'riscv64': 'y'}> +CONFIG_I2C_COMPAT policy<{'riscv64': 'y'}> +CONFIG_I2C_CHARDEV policy<{'riscv64': 'y'}> +CONFIG_I2C_MUX policy<{'riscv64': 'm'}> +CONFIG_I2C_HELPER_AUTO policy<{'riscv64': 'y'}> +CONFIG_I2C_SMBUS policy<{'riscv64': 'm'}> +CONFIG_I2C_STUB policy<{'riscv64': 'm'}> +CONFIG_I2C_SLAVE policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_CORE policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_ALGO policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_BUS policy<{'riscv64': 'n'}> +# +CONFIG_I2C_CHARDEV note + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Algorithms +CONFIG_I2C_ALGOBIT policy<{'riscv64': 'm'}> +CONFIG_I2C_ALGOPCA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Hardware Bus support +CONFIG_I2C_ALI1535 policy<{'riscv64': 'm'}> +CONFIG_I2C_ALI1563 policy<{'riscv64': 'm'}> +CONFIG_I2C_ALI15X3 policy<{'riscv64': 'm'}> +CONFIG_I2C_AMD756 policy<{'riscv64': 'm'}> +CONFIG_I2C_AMD8111 policy<{'riscv64': 'm'}> +CONFIG_I2C_I801 policy<{'riscv64': 'm'}> +CONFIG_I2C_ISCH policy<{'riscv64': 'm'}> +CONFIG_I2C_PIIX4 policy<{'riscv64': 'm'}> +CONFIG_I2C_NFORCE2 policy<{'riscv64': 'm'}> +CONFIG_I2C_NVIDIA_GPU policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS5595 policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS630 policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS96X policy<{'riscv64': 'm'}> +CONFIG_I2C_VIA policy<{'riscv64': 'm'}> +CONFIG_I2C_VIAPRO policy<{'riscv64': 'm'}> +CONFIG_I2C_CBUS_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_DESIGNWARE_PLATFORM policy<{'riscv64': 'y'}> +CONFIG_I2C_DESIGNWARE_SLAVE policy<{'riscv64': 'n'}> +CONFIG_I2C_DESIGNWARE_PCI policy<{'riscv64': 'm'}> +CONFIG_I2C_EMEV2 policy<{'riscv64': 'n'}> +CONFIG_I2C_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_GPIO_FAULT_INJECTOR policy<{'riscv64': 'n'}> +CONFIG_I2C_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_I2C_OCORES policy<{'riscv64': 'm'}> +CONFIG_I2C_PCA_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_I2C_RK3X policy<{'riscv64': 'm'}> +CONFIG_I2C_SIMTEC policy<{'riscv64': 'm'}> +CONFIG_I2C_XILINX policy<{'riscv64': 'm'}> +CONFIG_I2C_DIOLAN_U2C policy<{'riscv64': 'm'}> +CONFIG_I2C_DLN2 policy<{'riscv64': 'm'}> +CONFIG_I2C_PARPORT policy<{'riscv64': 'm'}> +CONFIG_I2C_ROBOTFUZZ_OSIF policy<{'riscv64': 'm'}> +CONFIG_I2C_TAOS_EVM policy<{'riscv64': 'm'}> +CONFIG_I2C_TINY_USB policy<{'riscv64': 'm'}> +CONFIG_I2C_VIPERBOARD policy<{'riscv64': 'm'}> +CONFIG_I2C_FSI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> Multiplexer I2C Chip support +CONFIG_I2C_ARB_GPIO_CHALLENGE policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_GPMUX policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_LTC4306 policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PCA9541 policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PCA954x policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PINCTRL policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_REG policy<{'riscv64': 'm'}> +CONFIG_I2C_DEMUX_PINCTRL policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_MLXCPLD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I3C support +CONFIG_I3C policy<{'riscv64': 'm'}> +CONFIG_CDNS_I3C_MASTER policy<{'riscv64': 'm'}> +CONFIG_DW_I3C_MASTER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support +CONFIG_FIREWIRE_NOSY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support >> FireWire driver stack +CONFIG_FIREWIRE policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_OHCI policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_SBP2 policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_NET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IOMMU Hardware Support +CONFIG_IOMMU_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_IOMMU_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_IOMMU_DEFAULT_PASSTHROUGH policy<{'riscv64': 'n'}> +# +CONFIG_IPMMU_VMSA note +CONFIG_IOMMU_DEBUGFS mark note + +# Menu: Device Drivers >> IOMMU Hardware Support >> Generic IOMMU Pagetable Support + +# Menu: Device Drivers >> IOMMU Hardware Support >> Support for Intel IOMMU using DMA Remapping Devices +# +CONFIG_INTEL_IOMMU_DEFAULT_ON note flag + +# Menu: Device Drivers >> IRQ chip support +CONFIG_AL_FIC policy<{'riscv64': 'y'}> +CONFIG_RISCV_INTC policy<{'riscv64': 'y'}> +CONFIG_SIFIVE_PLIC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> ISDN support +CONFIG_ISDN policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> ISDN support >> Modular ISDN driver +CONFIG_MISDN policy<{'riscv64': 'm'}> +CONFIG_MISDN_DSP policy<{'riscv64': 'm'}> +CONFIG_MISDN_L1OIP policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCPCI policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCMULTI policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCUSB policy<{'riscv64': 'm'}> +CONFIG_MISDN_AVMFRITZ policy<{'riscv64': 'm'}> +CONFIG_MISDN_SPEEDFAX policy<{'riscv64': 'm'}> +CONFIG_MISDN_INFINEON policy<{'riscv64': 'm'}> +CONFIG_MISDN_W6692 policy<{'riscv64': 'm'}> +CONFIG_MISDN_NETJET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support +CONFIG_IIO policy<{'riscv64': 'm'}> +CONFIG_IIO_CONFIGFS policy<{'riscv64': 'm'}> +CONFIG_IIO_TRIGGER policy<{'riscv64': 'y'}> +CONFIG_IIO_CONSUMERS_PER_TRIGGER policy<{'riscv64': '2'}> +CONFIG_IIO_SW_DEVICE policy<{'riscv64': 'm'}> +CONFIG_IIO_SW_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Accelerometers +CONFIG_ADIS16201 policy<{'riscv64': 'm'}> +CONFIG_ADIS16209 policy<{'riscv64': 'm'}> +CONFIG_ADXL372_SPI policy<{'riscv64': 'm'}> +CONFIG_ADXL372_I2C policy<{'riscv64': 'm'}> +CONFIG_BMA220 policy<{'riscv64': 'm'}> +CONFIG_BMA400 policy<{'riscv64': 'm'}> +CONFIG_BMC150_ACCEL policy<{'riscv64': 'm'}> +CONFIG_DA280 policy<{'riscv64': 'm'}> +CONFIG_DA311 policy<{'riscv64': 'm'}> +CONFIG_DMARD06 policy<{'riscv64': 'm'}> +CONFIG_DMARD09 policy<{'riscv64': 'm'}> +CONFIG_DMARD10 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_ACCEL_3D policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_ACCEL_3AXIS policy<{'riscv64': 'm'}> +CONFIG_KXSD9 policy<{'riscv64': 'm'}> +CONFIG_KXSD9_SPI policy<{'riscv64': 'm'}> +CONFIG_KXSD9_I2C policy<{'riscv64': 'm'}> +CONFIG_KXCJK1013 policy<{'riscv64': 'm'}> +CONFIG_MC3230 policy<{'riscv64': 'm'}> +CONFIG_MMA7455_I2C policy<{'riscv64': 'm'}> +CONFIG_MMA7455_SPI policy<{'riscv64': 'm'}> +CONFIG_MMA7660 policy<{'riscv64': 'm'}> +CONFIG_MMA8452 policy<{'riscv64': 'm'}> +CONFIG_MMA9551 policy<{'riscv64': 'm'}> +CONFIG_MMA9553 policy<{'riscv64': 'm'}> +CONFIG_MXC4005 policy<{'riscv64': 'm'}> +CONFIG_MXC6255 policy<{'riscv64': 'm'}> +CONFIG_SCA3000 policy<{'riscv64': 'm'}> +CONFIG_STK8312 policy<{'riscv64': 'm'}> +CONFIG_STK8BA50 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Amplifiers +CONFIG_AD8366 policy<{'riscv64': 'm'}> +CONFIG_HMC425 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog Front Ends +CONFIG_IIO_RESCALE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog to digital converters +CONFIG_AD7091R5 policy<{'riscv64': 'm'}> +CONFIG_AD7124 policy<{'riscv64': 'm'}> +CONFIG_AD7192 policy<{'riscv64': 'm'}> +CONFIG_AD7266 policy<{'riscv64': 'm'}> +CONFIG_AD7291 policy<{'riscv64': 'm'}> +CONFIG_AD7292 policy<{'riscv64': 'm'}> +CONFIG_AD7298 policy<{'riscv64': 'm'}> +CONFIG_AD7476 policy<{'riscv64': 'm'}> +CONFIG_AD7606_IFACE_PARALLEL policy<{'riscv64': 'm'}> +CONFIG_AD7606_IFACE_SPI policy<{'riscv64': 'm'}> +CONFIG_AD7766 policy<{'riscv64': 'm'}> +CONFIG_AD7768_1 policy<{'riscv64': 'm'}> +CONFIG_AD7780 policy<{'riscv64': 'm'}> +CONFIG_AD7791 policy<{'riscv64': 'm'}> +CONFIG_AD7793 policy<{'riscv64': 'm'}> +CONFIG_AD7887 policy<{'riscv64': 'm'}> +CONFIG_AD7923 policy<{'riscv64': 'm'}> +CONFIG_AD7949 policy<{'riscv64': 'm'}> +CONFIG_AD799X policy<{'riscv64': 'm'}> +CONFIG_AD9467 policy<{'riscv64': 'm'}> +CONFIG_ADI_AXI_ADC policy<{'riscv64': 'm'}> +CONFIG_AXP20X_ADC policy<{'riscv64': 'm'}> +CONFIG_AXP288_ADC policy<{'riscv64': 'm'}> +CONFIG_CC10001_ADC policy<{'riscv64': 'm'}> +CONFIG_CPCAP_ADC policy<{'riscv64': 'm'}> +CONFIG_DA9150_GPADC policy<{'riscv64': 'm'}> +CONFIG_DLN2_ADC policy<{'riscv64': 'm'}> +CONFIG_ENVELOPE_DETECTOR policy<{'riscv64': 'm'}> +CONFIG_HI8435 policy<{'riscv64': 'm'}> +CONFIG_HX711 policy<{'riscv64': 'm'}> +CONFIG_INA2XX_ADC policy<{'riscv64': 'm'}> +CONFIG_LP8788_ADC policy<{'riscv64': 'm'}> +CONFIG_LTC2471 policy<{'riscv64': 'm'}> +CONFIG_LTC2485 policy<{'riscv64': 'm'}> +CONFIG_LTC2496 policy<{'riscv64': 'm'}> +CONFIG_LTC2497 policy<{'riscv64': 'm'}> +CONFIG_MAX1027 policy<{'riscv64': 'm'}> +CONFIG_MAX11100 policy<{'riscv64': 'm'}> +CONFIG_MAX1118 policy<{'riscv64': 'm'}> +CONFIG_MAX1241 policy<{'riscv64': 'm'}> +CONFIG_MAX1363 policy<{'riscv64': 'm'}> +CONFIG_MAX9611 policy<{'riscv64': 'm'}> +CONFIG_MCP320X policy<{'riscv64': 'm'}> +CONFIG_MCP3422 policy<{'riscv64': 'm'}> +CONFIG_MCP3911 policy<{'riscv64': 'm'}> +CONFIG_MEN_Z188_ADC policy<{'riscv64': 'm'}> +CONFIG_MP2629_ADC policy<{'riscv64': 'm'}> +CONFIG_NAU7802 policy<{'riscv64': 'm'}> +CONFIG_PALMAS_GPADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_IADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_VADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_ADC5 policy<{'riscv64': 'm'}> +CONFIG_RN5T618_ADC policy<{'riscv64': 'm'}> +CONFIG_SD_ADC_MODULATOR policy<{'riscv64': 'm'}> +CONFIG_STMPE_ADC policy<{'riscv64': 'm'}> +CONFIG_TI_ADC081C policy<{'riscv64': 'm'}> +CONFIG_TI_ADC0832 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC084S021 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC12138 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC108S102 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC128S052 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC161S626 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS1015 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS7950 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS8344 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS8688 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS124S08 policy<{'riscv64': 'm'}> +CONFIG_TI_AM335X_ADC policy<{'riscv64': 'm'}> +CONFIG_TI_TLC4541 policy<{'riscv64': 'm'}> +CONFIG_TWL4030_MADC policy<{'riscv64': 'm'}> +CONFIG_TWL6030_GPADC policy<{'riscv64': 'm'}> +CONFIG_VF610_ADC policy<{'riscv64': 'm'}> +CONFIG_VIPERBOARD_ADC policy<{'riscv64': 'm'}> +CONFIG_XILINX_XADC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Chemical Sensors +CONFIG_ATLAS_PH_SENSOR policy<{'riscv64': 'm'}> +CONFIG_ATLAS_EZO_SENSOR policy<{'riscv64': 'm'}> +CONFIG_BME680 policy<{'riscv64': 'm'}> +CONFIG_CCS811 policy<{'riscv64': 'm'}> +CONFIG_IAQCORE policy<{'riscv64': 'm'}> +CONFIG_PMS7003 policy<{'riscv64': 'm'}> +CONFIG_SENSIRION_SGP30 policy<{'riscv64': 'm'}> +CONFIG_SPS30 policy<{'riscv64': 'm'}> +CONFIG_VZ89X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital gyroscope sensors +CONFIG_ADIS16080 policy<{'riscv64': 'm'}> +CONFIG_ADIS16130 policy<{'riscv64': 'm'}> +CONFIG_ADIS16136 policy<{'riscv64': 'm'}> +CONFIG_ADIS16260 policy<{'riscv64': 'm'}> +CONFIG_ADXRS450 policy<{'riscv64': 'm'}> +CONFIG_BMG160 policy<{'riscv64': 'm'}> +CONFIG_FXAS21002C policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_GYRO_3D policy<{'riscv64': 'm'}> +CONFIG_MPU3050_I2C policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_GYRO_3AXIS policy<{'riscv64': 'm'}> +CONFIG_ITG3200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiometers +CONFIG_AD5272 policy<{'riscv64': 'm'}> +CONFIG_DS1803 policy<{'riscv64': 'm'}> +CONFIG_MAX5432 policy<{'riscv64': 'm'}> +CONFIG_MAX5481 policy<{'riscv64': 'm'}> +CONFIG_MAX5487 policy<{'riscv64': 'm'}> +CONFIG_MCP4018 policy<{'riscv64': 'm'}> +CONFIG_MCP4131 policy<{'riscv64': 'm'}> +CONFIG_MCP4531 policy<{'riscv64': 'm'}> +CONFIG_MCP41010 policy<{'riscv64': 'm'}> +CONFIG_TPL0102 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiostats +CONFIG_LMP91000 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital to analog converters +CONFIG_AD5064 policy<{'riscv64': 'm'}> +CONFIG_AD5360 policy<{'riscv64': 'm'}> +CONFIG_AD5380 policy<{'riscv64': 'm'}> +CONFIG_AD5421 policy<{'riscv64': 'm'}> +CONFIG_AD5446 policy<{'riscv64': 'm'}> +CONFIG_AD5449 policy<{'riscv64': 'm'}> +CONFIG_AD5592R policy<{'riscv64': 'm'}> +CONFIG_AD5593R policy<{'riscv64': 'm'}> +CONFIG_AD5504 policy<{'riscv64': 'm'}> +CONFIG_AD5624R_SPI policy<{'riscv64': 'm'}> +CONFIG_AD5686_SPI policy<{'riscv64': 'm'}> +CONFIG_AD5696_I2C policy<{'riscv64': 'm'}> +CONFIG_AD5755 policy<{'riscv64': 'm'}> +CONFIG_AD5758 policy<{'riscv64': 'm'}> +CONFIG_AD5761 policy<{'riscv64': 'm'}> +CONFIG_AD5764 policy<{'riscv64': 'm'}> +CONFIG_AD5770R policy<{'riscv64': 'm'}> +CONFIG_AD5791 policy<{'riscv64': 'm'}> +CONFIG_AD7303 policy<{'riscv64': 'm'}> +CONFIG_AD8801 policy<{'riscv64': 'm'}> +CONFIG_DPOT_DAC policy<{'riscv64': 'm'}> +CONFIG_DS4424 policy<{'riscv64': 'm'}> +CONFIG_LTC1660 policy<{'riscv64': 'm'}> +CONFIG_LTC2632 policy<{'riscv64': 'm'}> +CONFIG_M62332 policy<{'riscv64': 'm'}> +CONFIG_MAX517 policy<{'riscv64': 'm'}> +CONFIG_MAX5821 policy<{'riscv64': 'm'}> +CONFIG_MCP4725 policy<{'riscv64': 'm'}> +CONFIG_MCP4922 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC082S085 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC5571 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC7311 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC7612 policy<{'riscv64': 'm'}> +CONFIG_VF610_DAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Enable buffer support within IIO +CONFIG_IIO_BUFFER policy<{'riscv64': 'y'}> +CONFIG_IIO_BUFFER_CB policy<{'riscv64': 'm'}> +CONFIG_IIO_BUFFER_HW_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_IIO_KFIFO_BUF policy<{'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<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Frequency Synthesizers DDS/PLL >> Phase-Locked Loop (PLL) frequency synthesizers +CONFIG_ADF4350 policy<{'riscv64': 'm'}> +CONFIG_ADF4371 policy<{'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<{'riscv64': 'm'}> +CONFIG_AFE4404 policy<{'riscv64': 'm'}> +CONFIG_MAX30100 policy<{'riscv64': 'm'}> +CONFIG_MAX30102 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Hid Sensor IIO Common +CONFIG_HID_SENSOR_IIO_COMMON policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_IIO_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Humidity sensors +CONFIG_AM2315 policy<{'riscv64': 'm'}> +CONFIG_DHT11 policy<{'riscv64': 'm'}> +CONFIG_HDC100X policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_HUMIDITY policy<{'riscv64': 'm'}> +CONFIG_HTS221 policy<{'riscv64': 'm'}> +CONFIG_HTU21 policy<{'riscv64': 'm'}> +CONFIG_SI7005 policy<{'riscv64': 'm'}> +CONFIG_SI7020 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> IIO dummy driver +CONFIG_IIO_SIMPLE_DUMMY policy<{'riscv64': 'm'}> +CONFIG_IIO_SIMPLE_DUMMY_EVENTS policy<{'riscv64': 'n'}> +CONFIG_IIO_SIMPLE_DUMMY_BUFFER policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_DEVICE_ROTATION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Inertial measurement units +CONFIG_ADIS16400 policy<{'riscv64': 'm'}> +CONFIG_ADIS16460 policy<{'riscv64': 'm'}> +CONFIG_ADIS16475 policy<{'riscv64': 'm'}> +CONFIG_ADIS16480 policy<{'riscv64': 'm'}> +CONFIG_BMI160_I2C policy<{'riscv64': 'm'}> +CONFIG_BMI160_SPI policy<{'riscv64': 'm'}> +CONFIG_FXOS8700_I2C policy<{'riscv64': 'm'}> +CONFIG_FXOS8700_SPI policy<{'riscv64': 'm'}> +CONFIG_KMX61 policy<{'riscv64': 'm'}> +CONFIG_INV_MPU6050_I2C policy<{'riscv64': 'm'}> +CONFIG_INV_MPU6050_SPI policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_LSM6DSX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Light sensors +CONFIG_ADJD_S311 policy<{'riscv64': 'm'}> +CONFIG_ADUX1020 policy<{'riscv64': 'm'}> +CONFIG_AL3010 policy<{'riscv64': 'm'}> +CONFIG_AL3320A policy<{'riscv64': 'm'}> +CONFIG_APDS9300 policy<{'riscv64': 'm'}> +CONFIG_APDS9960 policy<{'riscv64': 'm'}> +CONFIG_BH1750 policy<{'riscv64': 'm'}> +CONFIG_BH1780 policy<{'riscv64': 'm'}> +CONFIG_CM32181 policy<{'riscv64': 'm'}> +CONFIG_CM3232 policy<{'riscv64': 'm'}> +CONFIG_CM3323 policy<{'riscv64': 'm'}> +CONFIG_CM3605 policy<{'riscv64': 'm'}> +CONFIG_CM36651 policy<{'riscv64': 'm'}> +CONFIG_GP2AP002 policy<{'riscv64': 'm'}> +CONFIG_GP2AP020A00F policy<{'riscv64': 'm'}> +CONFIG_IQS621_ALS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL29018 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL29028 policy<{'riscv64': 'm'}> +CONFIG_ISL29125 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_ALS policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_PROX policy<{'riscv64': 'm'}> +CONFIG_JSA1212 policy<{'riscv64': 'm'}> +CONFIG_RPR0521 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM3533 policy<{'riscv64': 'm'}> +CONFIG_LTR501 policy<{'riscv64': 'm'}> +CONFIG_LV0104CS policy<{'riscv64': 'm'}> +CONFIG_MAX44000 policy<{'riscv64': 'm'}> +CONFIG_MAX44009 policy<{'riscv64': 'm'}> +CONFIG_NOA1305 policy<{'riscv64': 'm'}> +CONFIG_OPT3001 policy<{'riscv64': 'm'}> +CONFIG_PA12203001 policy<{'riscv64': 'm'}> +CONFIG_SI1133 policy<{'riscv64': 'm'}> +CONFIG_SI1145 policy<{'riscv64': 'm'}> +CONFIG_STK3310 policy<{'riscv64': 'm'}> +CONFIG_ST_UVIS25 policy<{'riscv64': 'm'}> +CONFIG_TCS3414 policy<{'riscv64': 'm'}> +CONFIG_TCS3472 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TSL2563 policy<{'riscv64': 'm'}> +CONFIG_TSL2583 policy<{'riscv64': 'm'}> +CONFIG_TSL2772 policy<{'riscv64': 'm'}> +CONFIG_TSL4531 policy<{'riscv64': 'm'}> +CONFIG_US5182D policy<{'riscv64': 'm'}> +CONFIG_VCNL4000 policy<{'riscv64': 'm'}> +CONFIG_VCNL4035 policy<{'riscv64': 'm'}> +CONFIG_VEML6030 policy<{'riscv64': 'm'}> +CONFIG_VEML6070 policy<{'riscv64': 'm'}> +CONFIG_VL6180 policy<{'riscv64': 'm'}> +CONFIG_ZOPT2201 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Lightning sensors +CONFIG_AS3935 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Linear and angular position sensors +CONFIG_IQS624_POS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Magnetometer sensors +CONFIG_AK8974 policy<{'riscv64': 'm'}> +CONFIG_AK8975 policy<{'riscv64': 'm'}> +CONFIG_AK09911 policy<{'riscv64': 'm'}> +CONFIG_BMC150_MAGN_I2C policy<{'riscv64': 'm'}> +CONFIG_BMC150_MAGN_SPI policy<{'riscv64': 'm'}> +CONFIG_MAG3110 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_MAGNETOMETER_3D policy<{'riscv64': 'm'}> +CONFIG_MMC35240 policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_MAGN_3AXIS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Multiplexers +CONFIG_IIO_MUX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Pressure sensors +CONFIG_ABP060MG policy<{'riscv64': 'm'}> +CONFIG_BMP280 policy<{'riscv64': 'm'}> +CONFIG_DLHL60D policy<{'riscv64': 'm'}> +CONFIG_DPS310 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_PRESS policy<{'riscv64': 'm'}> +CONFIG_HP03 policy<{'riscv64': 'm'}> +CONFIG_ICP10100 policy<{'riscv64': 'm'}> +CONFIG_MPL115_I2C policy<{'riscv64': 'm'}> +CONFIG_MPL115_SPI policy<{'riscv64': 'm'}> +CONFIG_MPL3115 policy<{'riscv64': 'm'}> +CONFIG_MS5611 policy<{'riscv64': 'm'}> +CONFIG_MS5611_I2C policy<{'riscv64': 'm'}> +CONFIG_MS5611_SPI policy<{'riscv64': 'm'}> +CONFIG_MS5637 policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_PRESS policy<{'riscv64': 'm'}> +CONFIG_T5403 policy<{'riscv64': 'm'}> +CONFIG_HP206C policy<{'riscv64': 'm'}> +CONFIG_ZPA2326 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Proximity and distance sensors +CONFIG_ISL29501 policy<{'riscv64': 'm'}> +CONFIG_LIDAR_LITE_V2 policy<{'riscv64': 'm'}> +CONFIG_MB1232 policy<{'riscv64': 'm'}> +CONFIG_PING policy<{'riscv64': 'm'}> +CONFIG_RFD77402 policy<{'riscv64': 'm'}> +CONFIG_SRF04 policy<{'riscv64': 'm'}> +CONFIG_SX9310 policy<{'riscv64': 'm'}> +CONFIG_SX9500 policy<{'riscv64': 'm'}> +CONFIG_SRF08 policy<{'riscv64': 'm'}> +CONFIG_VCNL3020 policy<{'riscv64': 'm'}> +CONFIG_VL53L0X_I2C policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Resolver to digital converters +CONFIG_AD2S90 policy<{'riscv64': 'm'}> +CONFIG_AD2S1200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> SSP Sensor Common +CONFIG_IIO_SSP_SENSORS_COMMONS policy<{'riscv64': 'm'}> +CONFIG_IIO_SSP_SENSORHUB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Temperature sensors +CONFIG_IQS620AT_TEMP policy<{'riscv64': 'm'}> +CONFIG_LTC2983 policy<{'riscv64': 'm'}> +CONFIG_MAXIM_THERMOCOUPLE policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_TEMP policy<{'riscv64': 'm'}> +CONFIG_MLX90614 policy<{'riscv64': 'm'}> +CONFIG_MLX90632 policy<{'riscv64': 'm'}> +CONFIG_TMP006 policy<{'riscv64': 'm'}> +CONFIG_TMP007 policy<{'riscv64': 'm'}> +CONFIG_TSYS01 policy<{'riscv64': 'm'}> +CONFIG_TSYS02D policy<{'riscv64': 'm'}> +CONFIG_MAX31856 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Triggers - standalone +CONFIG_IIO_HRTIMER_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_INTERRUPT_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_TIGHTLOOP_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_SYSFS_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IndustryPack bus support +CONFIG_IPACK_BUS policy<{'riscv64': 'm'}> +CONFIG_BOARD_TPCI200 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_IPOCTAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support +CONFIG_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_USER_MAD policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ON_DEMAND_PAGING policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_IPOIB policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_IPOIB_CM policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_IPOIB_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> InfiniBand support >> InfiniBand userspace access (verbs and CM) +CONFIG_INFINIBAND_USER_ACCESS policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI policy<{'riscv64': 'n'}> +CONFIG_INFINIBAND_MTHCA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_MTHCA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_INFINIBAND_EFA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_I40IW policy<{'riscv64': 'm'}> +CONFIG_MLX4_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_MLX5_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_OCRDMA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_VMWARE_PVRDMA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_BNXT_RE policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_QEDR policy<{'riscv64': 'm'}> +CONFIG_RDMA_RXE policy<{'riscv64': 'm'}> +CONFIG_RDMA_SIW policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support >> RDMA/CM +CONFIG_INFINIBAND_ADDR_TRANS policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_CXGB4 policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_SRP policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_SRPT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ISER policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ISERT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_RTRS_CLIENT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_RTRS_SERVER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) +CONFIG_INPUT policy<{'riscv64': 'y'}> +CONFIG_INPUT_LEDS policy<{'riscv64': 'm'}> +CONFIG_INPUT_FF_MEMLESS policy<{'riscv64': 'm'}> +CONFIG_INPUT_POLLDEV policy<{'riscv64': 'm'}> +CONFIG_INPUT_SPARSEKMAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_MATRIXKMAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_JOYDEV policy<{'riscv64': 'm'}> +CONFIG_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_INPUT_EVBUG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Joysticks/Gamepads +CONFIG_INPUT_JOYSTICK policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_ANALOG policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_A3D policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_ADI policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_COBRA policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GF2K policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GRIP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GRIP_MP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GUILLEMOT policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_INTERACT policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SIDEWINDER policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TMDC policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE_USB policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE_232 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_WARRIOR policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_MAGELLAN policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SPACEORB policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SPACEBALL policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_STINGER policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TWIDJOY policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_ZHENHUA policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_DB9 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GAMECON policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TURBOGRAFX policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_AS5011 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_JOYDUMP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_XPAD policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_XPAD_FF policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_XPAD_LEDS policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_WALKERA0701 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI_FF policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_PXRC policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_FSIA6B policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Keyboards +CONFIG_INPUT_KEYBOARD policy<{'riscv64': 'y'}> +CONFIG_KEYBOARD_ADC policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5588 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5589 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ATKBD policy<{'riscv64': 'y'}> +CONFIG_KEYBOARD_QT1050 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_QT1070 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_QT2160 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_DLINK_DIR685 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LKKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GPIO policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GPIO_POLLED policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TCA6416 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TCA8418 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MATRIX policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LM8323 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LM8333 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MAX7359 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MCS policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MPR121 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_NEWTON policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_OPENCORES policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_SAMSUNG policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GOLDFISH_EVENTS policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_STOWAWAY policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_SUNKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_STMPE policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_IQS62X policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_OMAP4 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TC3589X policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TM2_TOUCHKEY policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_XTKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_CAP11XX policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_BCM policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MTK_PMIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Mice +CONFIG_INPUT_MOUSE policy<{'riscv64': 'y'}> +CONFIG_MOUSE_SERIAL policy<{'riscv64': 'm'}> +CONFIG_MOUSE_APPLETOUCH policy<{'riscv64': 'm'}> +CONFIG_MOUSE_BCM5974 policy<{'riscv64': 'm'}> +CONFIG_MOUSE_CYAPA policy<{'riscv64': 'm'}> +CONFIG_MOUSE_ELAN_I2C policy<{'riscv64': 'm'}> +CONFIG_MOUSE_ELAN_I2C_I2C policy<{'riscv64': 'y'}> +CONFIG_MOUSE_ELAN_I2C_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_VSXXXAA policy<{'riscv64': 'm'}> +CONFIG_MOUSE_GPIO policy<{'riscv64': 'm'}> +CONFIG_MOUSE_SYNAPTICS_I2C policy<{'riscv64': 'm'}> +CONFIG_MOUSE_SYNAPTICS_USB policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_MOUSE_PS2_ALPS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_BYD policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_LOGIPS2PP policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_CYPRESS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_TRACKPOINT policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SENTELIC policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_TOUCHKIT policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_FOCALTECH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Miscellaneous devices +CONFIG_INPUT_MISC policy<{'riscv64': 'y'}> +CONFIG_INPUT_88PM860X_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_88PM80X_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X_SPI policy<{'riscv64': 'm'}> +CONFIG_INPUT_ARIZONA_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_ATMEL_CAPTOUCH policy<{'riscv64': 'm'}> +CONFIG_INPUT_BMA150 policy<{'riscv64': 'm'}> +CONFIG_INPUT_E3X0_BUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX77650_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX77693_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX8925_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX8997_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_MC13783_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_MMA8450 policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_BEEPER policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_DECODER policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_CPCAP_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_ATI_REMOTE2 policy<{'riscv64': 'm'}> +CONFIG_INPUT_KEYSPAN_REMOTE policy<{'riscv64': 'm'}> +CONFIG_INPUT_KXTJ9 policy<{'riscv64': 'm'}> +CONFIG_INPUT_POWERMATE policy<{'riscv64': 'm'}> +CONFIG_INPUT_YEALINK policy<{'riscv64': 'm'}> +CONFIG_INPUT_CM109 policy<{'riscv64': 'm'}> +CONFIG_INPUT_REGULATOR_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_RETU_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_TPS65218_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_AXP20X_PEK policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL4030_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL4030_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL6040_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_UINPUT policy<{'riscv64': 'y'}> +CONFIG_INPUT_PALMAS_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCF50633_PMU policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCF8574 policy<{'riscv64': 'm'}> +CONFIG_INPUT_PWM_BEEPER policy<{'riscv64': 'm'}> +CONFIG_INPUT_PWM_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_RK805_PWRKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_ROTARY_ENCODER policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9052_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9055_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9063_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_WM831X_ON policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X_SPI policy<{'riscv64': 'm'}> +CONFIG_INPUT_IMS_PCU policy<{'riscv64': 'm'}> +CONFIG_INPUT_IQS269A policy<{'riscv64': 'm'}> +CONFIG_INPUT_CMA3000 policy<{'riscv64': 'm'}> +CONFIG_INPUT_CMA3000_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV260X_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV2665_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV2667_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_RAVE_SP_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_STPMIC1_ONKEY policy<{'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<{'riscv64': 'y'}> +CONFIG_INPUT_MOUSEDEV_PSAUX policy<{'riscv64': 'y'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_X policy<{'riscv64': '1024'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_Y policy<{'riscv64': '768'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Synaptics RMI4 bus support +CONFIG_RMI4_CORE policy<{'riscv64': 'm'}> +CONFIG_RMI4_I2C policy<{'riscv64': 'm'}> +CONFIG_RMI4_SPI policy<{'riscv64': 'm'}> +CONFIG_RMI4_SMB policy<{'riscv64': 'm'}> +CONFIG_RMI4_F03 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F11 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F12 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F30 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F34 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F54 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F55 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Tablets +CONFIG_INPUT_TABLET policy<{'riscv64': 'y'}> +CONFIG_TABLET_USB_ACECAD policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_AIPTEK policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_GTCO policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_HANWANG policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_KBTAB policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_PEGASUS policy<{'riscv64': 'm'}> +CONFIG_TABLET_SERIAL_WACOM4 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens +CONFIG_INPUT_TOUCHSCREEN policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_88PM860X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ADS7846 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7877 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ADC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AR1021_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_AUO_PIXCIR policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_BU21013 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_BU21029 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMA140 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMG110 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_CORE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_CORE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DA9034 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DA9052 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DYNAPRO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_HAMPSHIRE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EETI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX_SERIAL policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EXC3000 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_FUJITSU policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_GOODIX policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_HIDEEP policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ILI210X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_S6SY761 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_GUNZE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EKTF2127 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ELAN policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ELO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_W8001 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MAX11801 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MCS5000 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MMS114 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MELFAS_MIP4 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MTOUCH policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_IMX6UL_TSC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_INEXIO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MK712 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_PENMOUNT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EDT_FT5X06 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHRIGHT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHWIN policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TI_AM335X_TSC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_UCB1400 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_PIXCIR policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WDT87XX_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WM831X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MC13783 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHIT213 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC_SERIO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2004 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2005 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007_IIO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_PCAP policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_RM_TS policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SILEAD policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SIS_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ST1232 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_STMFTS policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_STMPE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SUR40 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SURFACE3_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SX8654 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ZET6223 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ZFORCE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_COLIBRI_VF50 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ROHM_BU21023 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_IQS5XX policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WM9705 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9712 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9713 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens >> USB Touchscreen Driver +CONFIG_TOUCHSCREEN_USB_COMPOSITE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_USB_EGALAX policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_PANJIT policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_3M policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ITM policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETURBO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GUNZE policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_DMC_TSC10 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IRTOUCH policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IDEALTEK policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GOTOP policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_JASTEC policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ELO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_E2I policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ZYTRONIC policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_NEXIO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_EASYTOUCH policy<{'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<{'riscv64': 'm'}> +CONFIG_GAMEPORT_NS558 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_L4 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_EMU10K1 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_FM801 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Hardware I/O ports >> Serial I/O support +CONFIG_SERIO policy<{'riscv64': 'y'}> +CONFIG_SERIO_SERPORT policy<{'riscv64': 'm'}> +CONFIG_SERIO_PARKBD policy<{'riscv64': 'm'}> +CONFIG_SERIO_PCIPS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_LIBPS2 policy<{'riscv64': 'y'}> +CONFIG_SERIO_RAW policy<{'riscv64': 'm'}> +CONFIG_SERIO_ALTERA_PS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_PS2MULT policy<{'riscv64': 'm'}> +CONFIG_SERIO_ARC_PS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_APBPS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_GPIO_PS2 policy<{'riscv64': 'm'}> +CONFIG_USERIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support +CONFIG_NEW_LEDS policy<{'riscv64': 'y'}> +CONFIG_LEDS_LP55XX_COMMON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support +CONFIG_LEDS_CLASS policy<{'riscv64': 'y'}> +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED policy<{'riscv64': 'y'}> +CONFIG_LEDS_88PM860X policy<{'riscv64': 'm'}> +CONFIG_LEDS_AN30259A policy<{'riscv64': 'm'}> +CONFIG_LEDS_AW2013 policy<{'riscv64': 'm'}> +CONFIG_LEDS_BCM6328 policy<{'riscv64': 'm'}> +CONFIG_LEDS_BCM6358 policy<{'riscv64': 'm'}> +CONFIG_LEDS_CPCAP policy<{'riscv64': 'm'}> +CONFIG_LEDS_CR0014114 policy<{'riscv64': 'm'}> +CONFIG_LEDS_EL15203000 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3530 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3532 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3533 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3642 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3692X policy<{'riscv64': 'm'}> +CONFIG_LEDS_MT6323 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA9532 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA9532_GPIO policy<{'riscv64': 'y'}> +CONFIG_LEDS_GPIO policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP3944 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP3952 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5521 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5523 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5562 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8501 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8788 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8860 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA955X policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA955X_GPIO policy<{'riscv64': 'y'}> +CONFIG_LEDS_PCA963X policy<{'riscv64': 'm'}> +CONFIG_LEDS_WM831X_STATUS policy<{'riscv64': 'm'}> +CONFIG_LEDS_WM8350 policy<{'riscv64': 'm'}> +CONFIG_LEDS_DA903X policy<{'riscv64': 'm'}> +CONFIG_LEDS_DA9052 policy<{'riscv64': 'm'}> +CONFIG_LEDS_DAC124S085 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PWM policy<{'riscv64': 'm'}> +CONFIG_LEDS_REGULATOR policy<{'riscv64': 'm'}> +CONFIG_LEDS_BD2802 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LT3593 policy<{'riscv64': 'm'}> +CONFIG_LEDS_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_LEDS_MC13783 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TCA6507 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TLC591XX policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM355x policy<{'riscv64': 'm'}> +CONFIG_LEDS_MENF21BMC policy<{'riscv64': 'm'}> +CONFIG_LEDS_IS31FL319X policy<{'riscv64': 'm'}> +CONFIG_LEDS_IS31FL32XX policy<{'riscv64': 'm'}> +CONFIG_LEDS_BLINKM policy<{'riscv64': 'm'}> +CONFIG_LEDS_SYSCON policy<{'riscv64': 'y'}> +CONFIG_LEDS_MLXREG policy<{'riscv64': 'm'}> +CONFIG_LEDS_USER policy<{'riscv64': 'm'}> +CONFIG_LEDS_SPI_BYTE policy<{'riscv64': 'm'}> +CONFIG_LEDS_TI_LMU_COMMON policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3697 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM36274 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TPS6105X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Flash Class Support +CONFIG_LEDS_CLASS_FLASH policy<{'riscv64': 'm'}> +CONFIG_LEDS_AAT1290 policy<{'riscv64': 'm'}> +CONFIG_LEDS_AS3645A policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3601X policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_LEDS_KTD2692 policy<{'riscv64': 'm'}> +CONFIG_LEDS_SGM3140 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Trigger support +CONFIG_LEDS_TRIGGERS policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_TIMER policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_ONESHOT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_DISK policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_MTD policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_HEARTBEAT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_BACKLIGHT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_CPU policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_ACTIVITY policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_GPIO policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_DEFAULT_ON policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_TRANSIENT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_CAMERA policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_PANIC policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_NETDEV policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_PATTERN policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_AUDIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> MCB support +CONFIG_MCB policy<{'riscv64': 'm'}> +CONFIG_MCB_PCI policy<{'riscv64': 'm'}> +CONFIG_MCB_LPC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> MIPS Platform Specific Device Drivers + +# Menu: Device Drivers >> MMC/SD/SDIO card support +CONFIG_MMC policy<{'riscv64': 'y'}> +CONFIG_PWRSEQ_EMMC policy<{'riscv64': 'm'}> +CONFIG_PWRSEQ_SD8787 policy<{'riscv64': 'm'}> +CONFIG_PWRSEQ_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_MMC_BLOCK policy<{'riscv64': 'y'}> +CONFIG_MMC_BLOCK_MINORS policy<{'riscv64': '8'}> +CONFIG_SDIO_UART policy<{'riscv64': 'm'}> +CONFIG_MMC_TEST policy<{'riscv64': 'n'}> +CONFIG_MMC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MMC_ALCOR policy<{'riscv64': 'm'}> +CONFIG_MMC_TIFM_SD policy<{'riscv64': 'm'}> +CONFIG_MMC_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_MMC_SPI policy<{'riscv64': 'y'}> +CONFIG_MMC_CB710 policy<{'riscv64': 'm'}> +CONFIG_MMC_VIA_SDMMC policy<{'riscv64': 'm'}> +CONFIG_MMC_VUB300 policy<{'riscv64': 'm'}> +CONFIG_MMC_USHC policy<{'riscv64': 'm'}> +CONFIG_MMC_USDHI6ROL0 policy<{'riscv64': 'm'}> +CONFIG_MMC_REALTEK_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_REALTEK_USB policy<{'riscv64': 'm'}> +CONFIG_MMC_CQHCI policy<{'riscv64': 'm'}> +CONFIG_MMC_HSQ policy<{'riscv64': 'm'}> +CONFIG_MMC_TOSHIBA_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_MTK policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_RICOH_MMC policy<{'riscv64': 'y'}> +# +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<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ARASAN policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ASPEED policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_AT91 policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_DWCMSHC policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_CADENCE policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_F_SDH30 policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_MILBEAUT policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_XENON policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OMAP policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_AM654 policy<{'riscv64': 'm'}> +# +CONFIG_MMC_SDHCI_PLTFM note + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Synopsys DesignWare Memory Card Interface + +# Menu: Device Drivers >> Macintosh device drivers + +# Menu: Device Drivers >> Macintosh device drivers >> Apple Desktop Bus (ADB) support + +# Menu: Device Drivers >> Macintosh device drivers >> New PowerMac thermal control infrastructure + +# Menu: Device Drivers >> Macintosh device drivers >> Support for PMU based PowerMacs and PowerBooks + +# Menu: Device Drivers >> Mailbox Hardware Support +CONFIG_MAILBOX policy<{'riscv64': 'y'}> +CONFIG_PLATFORM_MHU policy<{'riscv64': 'm'}> +CONFIG_ALTERA_MBOX policy<{'riscv64': 'm'}> +CONFIG_MAILBOX_TEST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Controller drivers +CONFIG_MEMORY policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support +CONFIG_MTD policy<{'riscv64': 'm'}> +CONFIG_MTD_TESTS policy<{'riscv64': 'n'}> +CONFIG_MTD_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MTD_BLOCK_RO policy<{'riscv64': 'm'}> +CONFIG_FTL policy<{'riscv64': 'm'}> +CONFIG_NFTL policy<{'riscv64': 'm'}> +CONFIG_NFTL_RW policy<{'riscv64': 'y'}> +CONFIG_INFTL policy<{'riscv64': 'm'}> +CONFIG_RFD_FTL policy<{'riscv64': 'm'}> +CONFIG_SSFDC policy<{'riscv64': 'm'}> +CONFIG_SM_FTL policy<{'riscv64': 'm'}> +CONFIG_MTD_OOPS policy<{'riscv64': 'm'}> +CONFIG_MTD_PSTORE policy<{'riscv64': 'm'}> +CONFIG_MTD_SWAP policy<{'riscv64': 'm'}> +CONFIG_MTD_PARTITIONED_MASTER policy<{'riscv64': 'n'}> +CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC policy<{'riscv64': 'n'}> +CONFIG_MTD_SPI_NAND policy<{'riscv64': 'm'}> +# +CONFIG_MTD note +CONFIG_MTD_BLOCK note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Enable UBI - Unsorted block images +CONFIG_MTD_UBI policy<{'riscv64': 'm'}> +CONFIG_MTD_UBI_WL_THRESHOLD policy<{'riscv64': '4096'}> +CONFIG_MTD_UBI_BEB_LIMIT policy<{'riscv64': '20'}> +CONFIG_MTD_UBI_FASTMAP policy<{'riscv64': 'y'}> +CONFIG_MTD_UBI_GLUEBI policy<{'riscv64': 'm'}> +CONFIG_MTD_UBI_BLOCK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> HyperBus support +CONFIG_MTD_HYPERBUS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> LPDDR & LPDDR2 PCM memory drivers +CONFIG_MTD_LPDDR policy<{'riscv64': 'm'}> +CONFIG_MTD_QINFO_PROBE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access +CONFIG_MTD_INTEL_VR_NOR policy<{'riscv64': 'm'}> +CONFIG_MTD_PLATRAM policy<{'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<{'riscv64': 'm'}> +CONFIG_MTD_PHYSMAP_COMPAT policy<{'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_GPIO_ADDR policy<{'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<{'riscv64': 'y'}> +CONFIG_MTD_PHYSMAP_VERSATILE policy<{'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_GEMINI policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Maximum mappable memory available for flash IO + +# 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<{'riscv64': 'y'}> +CONFIG_MTD_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> OneNAND Device Support +CONFIG_MTD_ONENAND policy<{'riscv64': 'm'}> +CONFIG_MTD_ONENAND_VERIFY_WRITE policy<{'riscv64': 'y'}> +CONFIG_MTD_ONENAND_GENERIC policy<{'riscv64': 'm'}> +CONFIG_MTD_ONENAND_OTP policy<{'riscv64': 'n'}> +CONFIG_MTD_ONENAND_2X_PROGRAM policy<{'riscv64': 'y'}> +# +CONFIG_MTD_ONENAND_VERIFY_WRITE note +CONFIG_MTD_ONENAND_OTP flag + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Partition parsers +CONFIG_MTD_AR7_PARTS policy<{'riscv64': 'm'}> +CONFIG_MTD_CMDLINE_PARTS policy<{'riscv64': 'm'}> +CONFIG_MTD_OF_PARTS policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK policy<{'riscv64': '-1'}> +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED policy<{'riscv64': 'n'}> +CONFIG_MTD_REDBOOT_PARTS_READONLY policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers +CONFIG_MTD_CFI policy<{'riscv64': 'm'}> +CONFIG_MTD_JEDECPROBE policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_INTELEXT policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_AMDSTD policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_STAA policy<{'riscv64': 'm'}> +CONFIG_MTD_RAM policy<{'riscv64': 'm'}> +CONFIG_MTD_ROM policy<{'riscv64': 'm'}> +CONFIG_MTD_ABSENT policy<{'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<{'riscv64': 'n'}> + +# 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<{'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_2 policy<{'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_4 policy<{'riscv64': 'y'}> +CONFIG_MTD_CFI_I1 policy<{'riscv64': 'y'}> +CONFIG_MTD_CFI_I2 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support +CONFIG_MTD_RAW_NAND policy<{'riscv64': 'n'}> +# +CONFIG_MTD_RAW_NAND note +CONFIG_MTD_NAND_OMAP2 note +CONFIG_MTD_NAND_OMAP_BCH note +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support >> JZ4780 NAND controller + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> SPI NOR device support +CONFIG_MTD_SPI_NOR policy<{'riscv64': 'm'}> +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Self-contained MTD device drivers +CONFIG_MTD_PMC551 policy<{'riscv64': 'm'}> +CONFIG_MTD_PMC551_BUGFIX policy<{'riscv64': 'n'}> +CONFIG_MTD_PMC551_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MTD_DATAFLASH policy<{'riscv64': 'm'}> +CONFIG_MTD_DATAFLASH_WRITE_VERIFY policy<{'riscv64': 'n'}> +CONFIG_MTD_DATAFLASH_OTP policy<{'riscv64': 'y'}> +CONFIG_MTD_MCHP23K256 policy<{'riscv64': 'm'}> +CONFIG_MTD_SST25L policy<{'riscv64': 'm'}> +CONFIG_MTD_SLRAM policy<{'riscv64': 'm'}> +CONFIG_MTD_PHRAM policy<{'riscv64': 'm'}> +CONFIG_MTD_MTDRAM policy<{'riscv64': 'm'}> +CONFIG_MTDRAM_TOTAL_SIZE policy<{'riscv64': '4096'}> +CONFIG_MTDRAM_ERASE_SIZE policy<{'riscv64': '128'}> +CONFIG_MTD_BLOCK2MTD policy<{'riscv64': 'm'}> +CONFIG_MTD_DOCG3 policy<{'riscv64': 'n'}> +# +CONFIG_MTD_DOCG3 mark note + +# Menu: Device Drivers >> Microsoft Hyper-V guest support + +# Menu: Device Drivers >> Misc devices +CONFIG_AD525X_DPOT policy<{'riscv64': 'm'}> +CONFIG_AD525X_DPOT_I2C policy<{'riscv64': 'm'}> +CONFIG_AD525X_DPOT_SPI policy<{'riscv64': 'm'}> +CONFIG_DUMMY_IRQ policy<{'riscv64': 'm'}> +CONFIG_PHANTOM policy<{'riscv64': 'm'}> +CONFIG_TIFM_CORE policy<{'riscv64': 'm'}> +CONFIG_TIFM_7XX1 policy<{'riscv64': 'm'}> +CONFIG_ICS932S401 policy<{'riscv64': 'm'}> +CONFIG_ENCLOSURE_SERVICES policy<{'riscv64': 'm'}> +CONFIG_HP_ILO policy<{'riscv64': 'm'}> +CONFIG_APDS9802ALS policy<{'riscv64': 'm'}> +CONFIG_ISL29003 policy<{'riscv64': 'm'}> +CONFIG_ISL29020 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TSL2550 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_BH1770 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_APDS990X policy<{'riscv64': 'm'}> +CONFIG_HMC6352 policy<{'riscv64': 'm'}> +CONFIG_DS1682 policy<{'riscv64': 'm'}> +CONFIG_LATTICE_ECP3_CONFIG policy<{'riscv64': 'm'}> +CONFIG_SRAM policy<{'riscv64': 'y'}> +CONFIG_PCI_ENDPOINT_TEST policy<{'riscv64': 'n'}> +CONFIG_XILINX_SDFEC policy<{'riscv64': 'n'}> +CONFIG_PVPANIC policy<{'riscv64': 'm'}> +CONFIG_CB710_CORE policy<{'riscv64': 'm'}> +CONFIG_CB710_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SENSORS_LIS3_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LIS3_I2C policy<{'riscv64': 'm'}> +CONFIG_ALTERA_STAPL policy<{'riscv64': 'm'}> +CONFIG_ECHO policy<{'riscv64': 'm'}> +CONFIG_MISC_ALCOR_PCI policy<{'riscv64': 'm'}> +CONFIG_MISC_RTSX_PCI policy<{'riscv64': 'm'}> +CONFIG_MISC_RTSX_USB policy<{'riscv64': 'm'}> +CONFIG_HABANA_AI policy<{'riscv64': 'n'}> +CONFIG_UACCE policy<{'riscv64': 'm'}> +# +CONFIG_CS5535_MFGPT note + +# Menu: Device Drivers >> Misc devices >> EEPROM support +CONFIG_EEPROM_AT24 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_AT25 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_LEGACY policy<{'riscv64': 'm'}> +CONFIG_EEPROM_MAX6875 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_93CX6 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_93XX46 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_IDT_89HPESX policy<{'riscv64': 'm'}> +CONFIG_EEPROM_EE1004 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> GenWQE PCIe Accelerator +CONFIG_GENWQE policy<{'riscv64': 'm'}> +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support >> VOP Bus Driver +CONFIG_VOP_BUS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Misc devices >> Silicon Labs C2 port support +CONFIG_C2PORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> Texas Instruments shared transport line discipline +CONFIG_TI_ST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multifunction device drivers +CONFIG_MFD_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_MFD_AS3711 policy<{'riscv64': 'y'}> +CONFIG_MFD_AS3722 policy<{'riscv64': 'y'}> +CONFIG_PMIC_ADP5520 policy<{'riscv64': 'y'}> +CONFIG_MFD_AAT2870_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_ATMEL_FLEXCOM policy<{'riscv64': 'm'}> +CONFIG_MFD_ATMEL_HLCDC policy<{'riscv64': 'm'}> +CONFIG_MFD_BCM590XX policy<{'riscv64': 'm'}> +CONFIG_MFD_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_MFD_AXP20X_I2C policy<{'riscv64': 'm'}> +CONFIG_PMIC_DA903X policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9052_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9052_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9055 policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9062 policy<{'riscv64': 'm'}> +CONFIG_MFD_DA9063 policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9150 policy<{'riscv64': 'm'}> +CONFIG_MFD_DLN2 policy<{'riscv64': 'm'}> +CONFIG_MFD_GATEWORKS_GSC policy<{'riscv64': 'm'}> +CONFIG_MFD_MC13XXX_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_MC13XXX_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_MP2629 policy<{'riscv64': 'm'}> +CONFIG_MFD_HI6421_PMIC policy<{'riscv64': 'm'}> +CONFIG_HTC_PASIC3 policy<{'riscv64': 'm'}> +CONFIG_HTC_I2CPLD policy<{'riscv64': 'y'}> +CONFIG_LPC_ICH policy<{'riscv64': 'm'}> +CONFIG_LPC_SCH policy<{'riscv64': 'm'}> +CONFIG_MFD_IQS62X policy<{'riscv64': 'm'}> +CONFIG_MFD_JANZ_CMODIO policy<{'riscv64': 'm'}> +CONFIG_MFD_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM800 policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM805 policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM860X policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX14577 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77620 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_MFD_MAX77686 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77693 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77843 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_MFD_MAX8925 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8997 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8998 policy<{'riscv64': 'y'}> +CONFIG_MFD_MT6360 policy<{'riscv64': 'm'}> +CONFIG_MFD_MT6397 policy<{'riscv64': 'm'}> +CONFIG_MFD_MENF21BMC policy<{'riscv64': 'm'}> +CONFIG_EZX_PCAP policy<{'riscv64': 'y'}> +CONFIG_MFD_CPCAP policy<{'riscv64': 'm'}> +CONFIG_MFD_VIPERBOARD policy<{'riscv64': 'm'}> +CONFIG_MFD_RETU policy<{'riscv64': 'm'}> +CONFIG_MFD_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_PCF50633_ADC policy<{'riscv64': 'm'}> +CONFIG_PCF50633_GPIO policy<{'riscv64': 'm'}> +CONFIG_UCB1400_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_RDC321X policy<{'riscv64': 'm'}> +CONFIG_MFD_RT5033 policy<{'riscv64': 'm'}> +CONFIG_MFD_RC5T583 policy<{'riscv64': 'y'}> +CONFIG_MFD_RK808 policy<{'riscv64': 'm'}> +CONFIG_MFD_RN5T618 policy<{'riscv64': 'm'}> +CONFIG_MFD_SEC_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_SI476X_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_SM501 policy<{'riscv64': 'm'}> +CONFIG_MFD_SM501_GPIO policy<{'riscv64': 'y'}> +CONFIG_MFD_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_MFD_SMSC policy<{'riscv64': 'y'}> +CONFIG_ABX500_CORE policy<{'riscv64': 'y'}> +CONFIG_AB3100_CORE policy<{'riscv64': 'y'}> +CONFIG_AB3100_OTP policy<{'riscv64': 'm'}> +CONFIG_MFD_STMPE policy<{'riscv64': 'y'}> +CONFIG_MFD_SYSCON policy<{'riscv64': 'y'}> +CONFIG_MFD_TI_AM335X_TSCADC policy<{'riscv64': 'm'}> +CONFIG_MFD_LP3943 policy<{'riscv64': 'm'}> +CONFIG_MFD_LP8788 policy<{'riscv64': 'y'}> +CONFIG_MFD_TI_LMU policy<{'riscv64': 'm'}> +CONFIG_MFD_PALMAS policy<{'riscv64': 'y'}> +CONFIG_TPS6105X policy<{'riscv64': 'm'}> +CONFIG_TPS65010 policy<{'riscv64': 'm'}> +CONFIG_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65090 policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65217 policy<{'riscv64': 'n'}> +CONFIG_MFD_TI_LP873X policy<{'riscv64': 'm'}> +CONFIG_MFD_TI_LP87565 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS6586X policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65910 policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65912_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65912_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS80031 policy<{'riscv64': 'y'}> +CONFIG_TWL4030_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_TWL4030_AUDIO policy<{'riscv64': 'y'}> +CONFIG_TWL6040_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_WL1273_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_LM3533 policy<{'riscv64': 'm'}> +CONFIG_MFD_TC3589X policy<{'riscv64': 'y'}> +CONFIG_MFD_TQMX86 policy<{'riscv64': 'n'}> +CONFIG_MFD_VX855 policy<{'riscv64': 'm'}> +CONFIG_MFD_LOCHNAGAR policy<{'riscv64': 'y'}> +CONFIG_MFD_ARIZONA_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_ARIZONA_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_CS47L24 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM5102 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM5110 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8997 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8998 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8400 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM831X_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_WM831X_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8350_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8994 policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD718XX policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD70528 policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD71828 policy<{'riscv64': 'm'}> +CONFIG_MFD_STPMIC1 policy<{'riscv64': 'm'}> +CONFIG_MFD_STMFX policy<{'riscv64': 'm'}> +CONFIG_MFD_WCD934X policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_CORE policy<{'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<{'riscv64': 'm'}> +CONFIG_MFD_MADERA_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_MADERA_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_CS47L15 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L35 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L85 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L90 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L92 policy<{'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<{'riscv64': 'y'}> +CONFIG_STMPE_SPI policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support +CONFIG_MEDIA_SUPPORT policy<{'riscv64': 'm'}> +CONFIG_MEDIA_SUPPORT_FILTER policy<{'riscv64': 'y'}> +CONFIG_MEDIA_SUBDRV_AUTOSELECT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Digital TV options +CONFIG_DVB_MMAP policy<{'riscv64': 'n'}> +CONFIG_DVB_NET policy<{'riscv64': 'y'}> +CONFIG_DVB_MAX_ADAPTERS policy<{'riscv64': '8'}> +CONFIG_DVB_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_DVB_DEMUX_SECTION_LOSS_LOG policy<{'riscv64': 'n'}> +CONFIG_DVB_ULE_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_DVB_ULE_DEBUG flag + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers +CONFIG_DVB_DUMMY_FE policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IR_I2C policy<{'riscv64': 'm'}> +# +CONFIG_DVB_DUMMY_FE note + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio decoders, processors and mixers +CONFIG_VIDEO_TVAUDIO policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA7432 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA9840 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA1997X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TEA6415C policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TEA6420 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MSP3400 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS3308 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS5345 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS53L32A policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TLV320AIC23B policy<{'riscv64': 'm'}> +CONFIG_VIDEO_UDA1342 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_WM8775 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_WM8739 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VP27SMPX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SONY_BTF_MPX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio/Video compression chips +CONFIG_VIDEO_SAA6752HS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Camera sensor devices +CONFIG_VIDEO_HI556 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX214 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX219 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX258 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX274 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX290 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX319 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX355 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2659 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2680 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2685 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2740 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5645 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5647 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV6650 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5670 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5675 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5695 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7251 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV772X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7670 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7740 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV8856 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV9640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV9650 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV13858 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VS6624 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M001 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M032 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M111 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9P031 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9T001 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9T112 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V011 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V032 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V111 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SR030PC30 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_NOON010PC30 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_M5MOLS policy<{'riscv64': 'm'}> +CONFIG_VIDEO_RJ54N1 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K6AA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K6A3 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K4ECGX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K5BAF policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SMIAPP policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ET8EK8 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5C73M3 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customise DVB Frontends +CONFIG_DVB_STB0899 policy<{'riscv64': 'm'}> +CONFIG_DVB_STB6100 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV090x policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0910 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6110x policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6111 policy<{'riscv64': 'm'}> +CONFIG_DVB_MXL5XX policy<{'riscv64': 'm'}> +CONFIG_DVB_M88DS3103 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRXK policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA18271C2DD policy<{'riscv64': 'm'}> +CONFIG_DVB_SI2165 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88472 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88473 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24110 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24123 policy<{'riscv64': 'm'}> +CONFIG_DVB_MT312 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10036 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10039 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1420 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0288 policy<{'riscv64': 'm'}> +CONFIG_DVB_STB6000 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0299 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6110 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0900 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA8083 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10086 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA8261 policy<{'riscv64': 'm'}> +CONFIG_DVB_VES1X93 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_ITD1000 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_CX24113 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA826X policy<{'riscv64': 'm'}> +CONFIG_DVB_TUA6100 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24116 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24117 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24120 policy<{'riscv64': 'm'}> +CONFIG_DVB_SI21XX policy<{'riscv64': 'm'}> +CONFIG_DVB_TS2020 policy<{'riscv64': 'm'}> +CONFIG_DVB_DS3000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MB86A16 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10071 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP8870 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP887X policy<{'riscv64': 'm'}> +CONFIG_DVB_CX22700 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX22702 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1432 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRXD policy<{'riscv64': 'm'}> +CONFIG_DVB_L64781 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA1004X policy<{'riscv64': 'm'}> +CONFIG_DVB_NXT6000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MT352 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10353 policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB3000MB policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB3000MC policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB7000M policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB7000P policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB9000 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10048 policy<{'riscv64': 'm'}> +CONFIG_DVB_AF9013 policy<{'riscv64': 'm'}> +CONFIG_DVB_EC100 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0367 policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2820R policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2841ER policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2830 policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2832 policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2832_SDR policy<{'riscv64': 'm'}> +CONFIG_DVB_SI2168 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZD1301_DEMOD policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2880 policy<{'riscv64': 'm'}> +CONFIG_DVB_VES1820 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10021 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10023 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0297 policy<{'riscv64': 'm'}> +CONFIG_DVB_NXT200X policy<{'riscv64': 'm'}> +CONFIG_DVB_OR51211 policy<{'riscv64': 'm'}> +CONFIG_DVB_OR51132 policy<{'riscv64': 'm'}> +CONFIG_DVB_BCM3510 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT330X policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT3305 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT3306A policy<{'riscv64': 'm'}> +CONFIG_DVB_LG2160 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1409 policy<{'riscv64': 'm'}> +CONFIG_DVB_AU8522_DTV policy<{'riscv64': 'm'}> +CONFIG_DVB_AU8522_V4L policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1411 policy<{'riscv64': 'm'}> +CONFIG_DVB_S921 policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB8000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MB86A20S policy<{'riscv64': 'm'}> +CONFIG_DVB_TC90522 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88443X policy<{'riscv64': 'm'}> +CONFIG_DVB_PLL policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0070 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0090 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRX39XYJ policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBH25 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBH29 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBP21 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBP22 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6405 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6421 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6423 policy<{'riscv64': 'm'}> +CONFIG_DVB_A8293 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGS8GL5 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGS8GXX policy<{'riscv64': 'm'}> +CONFIG_DVB_ATBM8830 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA665x policy<{'riscv64': 'm'}> +CONFIG_DVB_IX2505V policy<{'riscv64': 'm'}> +CONFIG_DVB_M88RS2000 policy<{'riscv64': 'm'}> +CONFIG_DVB_AF9033 policy<{'riscv64': 'm'}> +CONFIG_DVB_HORUS3A policy<{'riscv64': 'm'}> +CONFIG_DVB_ASCOT2E policy<{'riscv64': 'm'}> +CONFIG_DVB_HELENE policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2099 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP2 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customize TV tuners +CONFIG_MEDIA_TUNER_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18250 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA8290 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA827X policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18271 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA9887 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5761 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5767 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MSI001 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT20XX policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2060 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2063 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2266 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2131 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QT1010 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC2028 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC5000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC4000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5005S policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5007T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MC44S803 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MAX2165 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18218 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0011 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0012 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0013 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18212 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_E4000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC2580 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_M88RS6000T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TUA9001 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_SI2157 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_IT913X policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_R820T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL301RF policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1C0042 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1B0004 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Flash devices +CONFIG_VIDEO_ADP1653 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_LM3560 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_LM3646 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Lens drivers +CONFIG_VIDEO_AD5820 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AK7375 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DW9714 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DW9807_VCM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Media SPI Adapters +CONFIG_CXD2880_SPI_DRV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Miscellaneous helper chips +CONFIG_VIDEO_THS7303 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_M52790 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_I2C policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ST_MIPID02 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> RDS decoders +CONFIG_VIDEO_SAA6588 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SDR tuner chips +CONFIG_SDR_MAX2175 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SPI helper chips +CONFIG_VIDEO_GS1662 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video decoders +CONFIG_VIDEO_ADV7180 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7183 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV748X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_ADV7842 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7842_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_BT819 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT856 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT866 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_KS0127 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ML86V7667 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7110 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA711X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TC358743 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TC358743_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_TVP514X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TVP5150 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TVP7002 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW2804 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9903 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9906 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9910 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VPX3220 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA717X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25840 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video encoders +CONFIG_VIDEO_SAA7127 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7185 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7170 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7175 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7343 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7393 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AD9389B policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AK881X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_THS8200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video improvement chips +CONFIG_VIDEO_UPD64031A policy<{'riscv64': 'm'}> +CONFIG_VIDEO_UPD64083 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media controller options +CONFIG_MEDIA_CONTROLLER_DVB policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media core support +CONFIG_VIDEO_DEV policy<{'riscv64': 'm'}> +CONFIG_MEDIA_CONTROLLER policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media device types +CONFIG_MEDIA_CAMERA_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_ANALOG_TV_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_DIGITAL_TV_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_RADIO_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_SDR_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_PLATFORM_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_TEST_SUPPORT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers +CONFIG_SMS_SDIO_DRV policy<{'riscv64': 'm'}> +CONFIG_DVB_FIREDTV policy<{'riscv64': 'm'}> +CONFIG_SMS_SIANO_RC policy<{'riscv64': 'y'}> +CONFIG_SMS_SIANO_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> DVB platform devices +CONFIG_DVB_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> +# +CONFIG_DVB_C8SECTPFE flag + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters +CONFIG_VIDEO_PCI_SKELETON policy<{'riscv64': 'n'}> +CONFIG_MEDIA_PCI_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_VIDEO_SOLO6X10 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW5864 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW68 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW686X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_GEMINI policy<{'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_ORION policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MXB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DT3155 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX18 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX18_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX23885 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_ALTERA_CI policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25821 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25821_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT848 policy<{'riscv64': 'm'}> +CONFIG_DVB_BT8XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7164 policy<{'riscv64': 'm'}> +CONFIG_DVB_AV7110 policy<{'riscv64': 'm'}> +CONFIG_DVB_AV7110_OSD policy<{'riscv64': 'y'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_PLUTO2 policy<{'riscv64': 'm'}> +CONFIG_DVB_DM1105 policy<{'riscv64': 'm'}> +CONFIG_DVB_PT1 policy<{'riscv64': 'm'}> +CONFIG_DVB_PT3 policy<{'riscv64': 'm'}> +CONFIG_MANTIS_CORE policy<{'riscv64': 'm'}> +CONFIG_DVB_MANTIS policy<{'riscv64': 'm'}> +CONFIG_DVB_HOPPER policy<{'riscv64': 'm'}> +CONFIG_DVB_NGENE policy<{'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE policy<{'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE_MSIENABLE policy<{'riscv64': 'n'}> +CONFIG_DVB_SMIPCIE policy<{'riscv64': 'm'}> +CONFIG_DVB_NETUP_UNIDVB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant 2388x (bt878 successor) support +CONFIG_VIDEO_CX88 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_BLACKBIRD policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ENABLE_VP3054 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant cx23416/cx23415 MPEG encoder/decoder support +CONFIG_VIDEO_IVTV policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS policy<{'riscv64': 'n'}> +CONFIG_VIDEO_IVTV_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_FB_IVTV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Philips SAA7134 support +CONFIG_VIDEO_SAA7134 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_SAA7134_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_GO7007 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> SAA7146 DVB cards (aka Budget, Nova-PCI) +CONFIG_DVB_BUDGET_CORE policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_CI policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_AV policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_PATCH policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters +CONFIG_MEDIA_USB_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_VIDEO_CLASS policy<{'riscv64': 'm'}> +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_USB_PWC policy<{'riscv64': 'm'}> +CONFIG_USB_PWC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_PWC_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CPIA2 policy<{'riscv64': 'm'}> +CONFIG_USB_ZR364XX policy<{'riscv64': 'm'}> +CONFIG_USB_STKWEBCAM policy<{'riscv64': 'm'}> +CONFIG_USB_S2255 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_USBTV policy<{'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2_SYSFS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DVB policy<{'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DEBUGIFC policy<{'riscv64': 'n'}> +CONFIG_VIDEO_HDPVR policy<{'riscv64': 'm'}> +CONFIG_VIDEO_STK1160_COMMON policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_LOADER policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB_S2250_BOARD policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AU0828 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AU0828_V4L2 policy<{'riscv64': 'y'}> +CONFIG_VIDEO_AU0828_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_TM6000 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_DVB policy<{'riscv64': 'm'}> +CONFIG_DVB_TTUSB_BUDGET policy<{'riscv64': 'm'}> +CONFIG_DVB_TTUSB_DEC policy<{'riscv64': 'm'}> +CONFIG_SMS_USB_DRV policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_AS102 policy<{'riscv64': 'm'}> +CONFIG_USB_AIRSPY policy<{'riscv64': 'm'}> +CONFIG_USB_HACKRF policy<{'riscv64': 'm'}> +CONFIG_USB_MSI2500 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Conexant cx231xx USB video capture support +CONFIG_VIDEO_CX231XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CX231XX_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_DVB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Empia EM28xx USB devices support +CONFIG_VIDEO_EM28XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_V4L2 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_RC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> GSPCA based webcams +CONFIG_USB_GSPCA policy<{'riscv64': 'm'}> +CONFIG_USB_M5602 policy<{'riscv64': 'm'}> +CONFIG_USB_STV06XX policy<{'riscv64': 'm'}> +CONFIG_USB_GL860 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_BENQ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_CONEX policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_CPIA1 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_DTCS033 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_ETOMS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_FINEPIX policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_JEILINJ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_JL2005BCD policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_KINECT policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_KONICA policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_MARS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_MR97310A policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_NW80X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV519 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534_9 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC207 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7302 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7311 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SE401 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C2028 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C20X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXB policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXJ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA500 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA501 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA505 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA506 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA508 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA561 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA1528 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905C policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ930X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK014 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK1135 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STV0680 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SUNPLUS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_T613 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOPRO policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOUPTEK policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TV8532 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_VC032X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_VICAM policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_XIRLINK_CIT policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_ZC3XX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices +CONFIG_DVB_USB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_USB_A800 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB_FAULTY policy<{'riscv64': 'n'}> +CONFIG_DVB_USB_DIBUSB_MC policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIB0700 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_UMT_010 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB_ANALOG policy<{'riscv64': 'y'}> +CONFIG_DVB_USB_M920X policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIGITV policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_VP7045 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_VP702X policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_GP8PSK policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_NOVA_T_USB2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_TTUSB2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DTT200U policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_OPERA1 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005_REMOTE policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_PCTV452E policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DW2102 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CINERGY_T2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DTV5100 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6027 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_TECHNISAT_USB2 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices v2 +CONFIG_DVB_USB_V2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9015 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9035 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_ANYSEE policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AU6610 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6007 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CE6230 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_EC168 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_GL861 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_LME2510 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_MXL111SF policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_RTL28XXU policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DVBSKY policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_ZD1301 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Memory-to-memory multimedia devices +CONFIG_V4L_MEM2MEM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_MEM2MEM_DEINTERLACE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters +CONFIG_RADIO_ADAPTERS policy<{'riscv64': 'y'}> +CONFIG_RADIO_SI470X policy<{'riscv64': 'm'}> +CONFIG_USB_SI470X policy<{'riscv64': 'm'}> +CONFIG_I2C_SI470X policy<{'riscv64': 'm'}> +CONFIG_RADIO_SI476X policy<{'riscv64': 'm'}> +CONFIG_USB_MR800 policy<{'riscv64': 'm'}> +CONFIG_USB_DSBR policy<{'riscv64': 'm'}> +CONFIG_RADIO_MAXIRADIO policy<{'riscv64': 'm'}> +CONFIG_RADIO_SHARK policy<{'riscv64': 'm'}> +CONFIG_RADIO_SHARK2 policy<{'riscv64': 'm'}> +CONFIG_USB_KEENE policy<{'riscv64': 'm'}> +CONFIG_USB_RAREMONO policy<{'riscv64': 'm'}> +CONFIG_USB_MA901 policy<{'riscv64': 'm'}> +CONFIG_RADIO_TEA5764 policy<{'riscv64': 'm'}> +CONFIG_RADIO_SAA7706H policy<{'riscv64': 'm'}> +CONFIG_RADIO_TEF6862 policy<{'riscv64': 'm'}> +CONFIG_RADIO_WL1273 policy<{'riscv64': 'm'}> +CONFIG_RADIO_WL128X policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_SI4713 policy<{'riscv64': 'm'}> +CONFIG_PLATFORM_SI4713 policy<{'riscv64': 'm'}> +CONFIG_I2C_SI4713 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> SDR platform devices +CONFIG_SDR_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices +CONFIG_V4L_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CAFE_CCIC policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CADENCE_CSI2RX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE_CSI2TX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ASPEED policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MUX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_TPG policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_VTC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices >> Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L test drivers +CONFIG_V4L_TEST_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_VIMC policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VIVID policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VIVID_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_VIVID_MAX_DEVS policy<{'riscv64': '64'}> +CONFIG_VIDEO_VIM2M policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VICODEC policy<{'riscv64': 'm'}> +# +CONFIG_VIDEO_VIMC note + +# Menu: Device Drivers >> Multimedia support >> Video4Linux options +CONFIG_VIDEO_V4L2_SUBDEV_API policy<{'riscv64': 'y'}> +CONFIG_VIDEO_ADV_DEBUG policy<{'riscv64': 'n'}> +CONFIG_VIDEO_FIXED_MINOR_RANGES policy<{'riscv64': 'n'}> +CONFIG_V4L2_FLASH_LED_CLASS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) +CONFIG_MD policy<{'riscv64': 'y'}> +CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Block device as cache +CONFIG_BCACHE policy<{'riscv64': 'm'}> +CONFIG_BCACHE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BCACHE_CLOSURES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BCACHE_ASYNC_REGISTRAION policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Device mapper support +CONFIG_BLK_DEV_DM policy<{'riscv64': 'y'}> +CONFIG_DM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DM_UNSTRIPED policy<{'riscv64': 'm'}> +CONFIG_DM_CRYPT policy<{'riscv64': 'm'}> +CONFIG_DM_SNAPSHOT policy<{'riscv64': 'm'}> +CONFIG_DM_THIN_PROVISIONING policy<{'riscv64': 'm'}> +CONFIG_DM_CACHE policy<{'riscv64': 'm'}> +CONFIG_DM_CACHE_SMQ policy<{'riscv64': 'm'}> +CONFIG_DM_WRITECACHE policy<{'riscv64': 'm'}> +CONFIG_DM_EBS policy<{'riscv64': 'm'}> +CONFIG_DM_ERA policy<{'riscv64': 'm'}> +CONFIG_DM_CLONE policy<{'riscv64': 'm'}> +CONFIG_DM_MIRROR policy<{'riscv64': 'm'}> +CONFIG_DM_LOG_USERSPACE policy<{'riscv64': 'm'}> +CONFIG_DM_RAID policy<{'riscv64': 'm'}> +CONFIG_DM_ZERO policy<{'riscv64': 'm'}> +CONFIG_DM_DELAY policy<{'riscv64': 'm'}> +CONFIG_DM_DUST policy<{'riscv64': 'n'}> +CONFIG_DM_INIT policy<{'riscv64': 'y'}> +CONFIG_DM_UEVENT policy<{'riscv64': 'y'}> +CONFIG_DM_FLAKEY policy<{'riscv64': 'm'}> +CONFIG_DM_VERITY policy<{'riscv64': 'm'}> +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG policy<{'riscv64': 'y'}> +CONFIG_DM_VERITY_FEC policy<{'riscv64': 'n'}> +CONFIG_DM_SWITCH policy<{'riscv64': 'm'}> +CONFIG_DM_LOG_WRITES policy<{'riscv64': 'm'}> +CONFIG_DM_INTEGRITY policy<{'riscv64': 'm'}> +CONFIG_DM_ZONED policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_QL policy<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_ST policy<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_HST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> RAID support +CONFIG_BLK_DEV_MD policy<{'riscv64': 'y'}> +CONFIG_MD_AUTODETECT policy<{'riscv64': 'y'}> +CONFIG_MD_LINEAR policy<{'riscv64': 'm'}> +CONFIG_MD_RAID0 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID1 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID10 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID456 policy<{'riscv64': 'm'}> +CONFIG_MD_MULTIPATH policy<{'riscv64': 'm'}> +CONFIG_MD_FAULTY policy<{'riscv64': 'm'}> +CONFIG_MD_CLUSTER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiplexer drivers +CONFIG_MUX_ADG792A policy<{'riscv64': 'm'}> +CONFIG_MUX_ADGS1408 policy<{'riscv64': 'm'}> +CONFIG_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_MUX_MMIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVDIMM (Non-Volatile Memory Device) Support +CONFIG_LIBNVDIMM policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_PMEM policy<{'riscv64': 'm'}> +CONFIG_ND_BLK policy<{'riscv64': 'm'}> +CONFIG_BTT policy<{'riscv64': 'y'}> +CONFIG_OF_PMEM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVME Support +CONFIG_BLK_DEV_NVME policy<{'riscv64': 'm'}> +CONFIG_NVME_MULTIPATH policy<{'riscv64': 'y'}> +CONFIG_NVME_HWMON policy<{'riscv64': 'y'}> +CONFIG_NVME_RDMA policy<{'riscv64': 'm'}> +CONFIG_NVME_FC policy<{'riscv64': 'm'}> +CONFIG_NVME_TCP policy<{'riscv64': 'm'}> +# +CONFIG_BLK_DEV_NVME mark note + +# Menu: Device Drivers >> NVME Support >> NVMe Target support +CONFIG_NVME_TARGET policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_LOOP policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_RDMA policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_FC policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_FCLOOP policy<{'riscv64': 'n'}> +CONFIG_NVME_TARGET_TCP policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVMEM Support +CONFIG_NVMEM policy<{'riscv64': 'y'}> +CONFIG_NVMEM_SYSFS policy<{'riscv64': 'y'}> +CONFIG_NVMEM_SPMI_SDAM policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_EEPROM policy<{'riscv64': 'm'}> +# +CONFIG_NVMEM flag note + +# Menu: Device Drivers >> Network device support +CONFIG_NETDEVICES policy<{'riscv64': 'y'}> +CONFIG_HIPPI policy<{'riscv64': 'n'}> +CONFIG_MICREL_KS8995MA policy<{'riscv64': 'm'}> +CONFIG_PLIP policy<{'riscv64': 'm'}> +CONFIG_VMXNET3 policy<{'riscv64': 'm'}> +CONFIG_USB4_NET policy<{'riscv64': 'm'}> +CONFIG_NETDEVSIM policy<{'riscv64': 'm'}> +CONFIG_NET_FAILOVER policy<{'riscv64': 'm'}> +# +CONFIG_HIPPI note +CONFIG_XEN_NETDEV_FRONTEND note + +# Menu: Device Drivers >> Network device support >> ARCnet support +CONFIG_ARCNET policy<{'riscv64': 'm'}> +CONFIG_ARCNET_1201 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_1051 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_RAW policy<{'riscv64': 'm'}> +CONFIG_ARCNET_CAP policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM90xx policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM90xxIO policy<{'riscv64': 'm'}> +CONFIG_ARCNET_RIM_I policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ARCnet support >> ARCnet COM20020 chipset driver +CONFIG_ARCNET_COM20020 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM20020_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers +CONFIG_ATM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_ATM_DUMMY policy<{'riscv64': 'm'}> +CONFIG_ATM_TCP policy<{'riscv64': 'm'}> +CONFIG_ATM_LANAI policy<{'riscv64': 'm'}> +CONFIG_ATM_ENI policy<{'riscv64': 'm'}> +CONFIG_ATM_ENI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_NICSTAR policy<{'riscv64': 'm'}> +CONFIG_ATM_NICSTAR_USE_SUNI policy<{'riscv64': 'n'}> +CONFIG_ATM_NICSTAR_USE_IDT77105 policy<{'riscv64': 'n'}> +CONFIG_ATM_IDT77252 policy<{'riscv64': 'm'}> +CONFIG_ATM_IDT77252_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_IDT77252_RCV_ALL policy<{'riscv64': 'n'}> +CONFIG_ATM_IA policy<{'riscv64': 'm'}> +CONFIG_ATM_IA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_HE policy<{'riscv64': 'm'}> +CONFIG_ATM_HE_USE_SUNI policy<{'riscv64': 'y'}> +CONFIG_ATM_SOLOS policy<{'riscv64': 'm'}> +# +CONFIG_ATM_NICSTAR_USE_IDT77105 flag + +# Menu: Device Drivers >> Network device support >> ATM drivers >> FORE Systems 200E-series +CONFIG_ATM_FORE200E policy<{'riscv64': 'm'}> +CONFIG_ATM_FORE200E_USE_TASKLET policy<{'riscv64': 'n'}> +CONFIG_ATM_FORE200E_TX_RETRY policy<{'riscv64': '16'}> +CONFIG_ATM_FORE200E_DEBUG policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers >> Fine-tune burst settings +CONFIG_ATM_ENI_TUNE_BURST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> CAIF transport drivers +CONFIG_CAIF_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_CAIF_TTY policy<{'riscv64': 'm'}> +CONFIG_CAIF_SPI_SLAVE policy<{'riscv64': 'm'}> +CONFIG_CAIF_SPI_SYNC policy<{'riscv64': 'n'}> +CONFIG_CAIF_HSI policy<{'riscv64': 'm'}> +CONFIG_CAIF_VIRTIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers +CONFIG_NET_DSA_BCM_SF2 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_LOOP policy<{'riscv64': 'n'}> +CONFIG_NET_DSA_LANTIQ_GSWIP policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MT7530 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6060 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2 policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_MV88E6XXX_PTP policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_AR9331 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105_PTP policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_TAS policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_VL policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_QCA8K policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_REALTEK_SMI policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_I2C policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_MDIO policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM policy<{'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<{'riscv64': 'm'}> +CONFIG_B53_SPI_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_MDIO_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_MMAP_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_SRAB_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_SERDES policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ8795 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ8795 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ9477 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ9477 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support +CONFIG_ETHERNET policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ADAPTEC policy<{'riscv64': 'y'}> +CONFIG_ADAPTEC_STARFIRE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AGERE policy<{'riscv64': 'y'}> +CONFIG_ET131X policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_ALACRITECH policy<{'riscv64': 'y'}> +CONFIG_SLICOSS policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_ALTEON policy<{'riscv64': 'y'}> +CONFIG_ACENIC policy<{'riscv64': 'm'}> +CONFIG_ACENIC_OMIT_TIGON_I policy<{'riscv64': 'n'}> +CONFIG_ALTERA_TSE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AMAZON policy<{'riscv64': 'y'}> +CONFIG_ENA_ETHERNET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AQUANTIA policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ARC policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_AURORA policy<{'riscv64': 'y'}> +CONFIG_AURORA_NB8800 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_BROCADE policy<{'riscv64': 'y'}> +CONFIG_BNA policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CADENCE policy<{'riscv64': 'y'}> +CONFIG_MACB policy<{'riscv64': 'm'}> +CONFIG_MACB_USE_HWSTAMP policy<{'riscv64': 'y'}> +CONFIG_MACB_PCI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CISCO policy<{'riscv64': 'y'}> +CONFIG_ENIC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CORTINA policy<{'riscv64': 'y'}> +CONFIG_GEMINI_ETHERNET policy<{'riscv64': 'm'}> +CONFIG_DNET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_DEC policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_DLINK policy<{'riscv64': 'y'}> +CONFIG_DL2K policy<{'riscv64': 'm'}> +CONFIG_SUNDANCE policy<{'riscv64': 'm'}> +CONFIG_SUNDANCE_MMIO policy<{'riscv64': 'n'}> +CONFIG_NET_VENDOR_EMULEX policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_EZCHIP policy<{'riscv64': 'y'}> +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_GOOGLE policy<{'riscv64': 'y'}> +CONFIG_GVE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_HUAWEI policy<{'riscv64': 'y'}> +CONFIG_JME policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_MICROSEMI policy<{'riscv64': 'y'}> +CONFIG_MSCC_OCELOT_SWITCH policy<{'riscv64': 'm'}> +CONFIG_MSCC_OCELOT_SWITCH_OCELOT policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_MYRI policy<{'riscv64': 'y'}> +CONFIG_MYRI10GE policy<{'riscv64': 'm'}> +CONFIG_FEALNX policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_NETERION policy<{'riscv64': 'y'}> +CONFIG_S2IO policy<{'riscv64': 'm'}> +CONFIG_VXGE policy<{'riscv64': 'm'}> +CONFIG_VXGE_DEBUG_TRACE_ALL policy<{'riscv64': 'n'}> +CONFIG_NET_VENDOR_NETRONOME policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_NI policy<{'riscv64': 'y'}> +CONFIG_NI_XGE_MANAGEMENT_ENET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_NVIDIA policy<{'riscv64': 'y'}> +CONFIG_FORCEDETH policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_OKI policy<{'riscv64': 'y'}> +CONFIG_ETHOC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_PACKET_ENGINES policy<{'riscv64': 'y'}> +CONFIG_HAMACHI policy<{'riscv64': 'm'}> +CONFIG_YELLOWFIN policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_PENSANDO policy<{'riscv64': 'y'}> +CONFIG_IONIC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_RDC policy<{'riscv64': 'y'}> +CONFIG_R6040 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_RENESAS policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ROCKER policy<{'riscv64': 'y'}> +CONFIG_ROCKER policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SAMSUNG policy<{'riscv64': 'y'}> +CONFIG_SXGBE_ETH policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SEEQ policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SOLARFLARE policy<{'riscv64': 'y'}> +CONFIG_SFC_FALCON policy<{'riscv64': 'm'}> +CONFIG_SFC_FALCON_MTD policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SILAN policy<{'riscv64': 'y'}> +CONFIG_SC92031 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SIS policy<{'riscv64': 'y'}> +CONFIG_SIS900 policy<{'riscv64': 'm'}> +CONFIG_SIS190 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SOCIONEXT policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_STMICRO policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SYNOPSYS policy<{'riscv64': 'y'}> +CONFIG_DWC_XLGMAC policy<{'riscv64': 'm'}> +CONFIG_DWC_XLGMAC_PCI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_TEHUTI policy<{'riscv64': 'y'}> +CONFIG_TEHUTI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_VIA policy<{'riscv64': 'y'}> +CONFIG_VIA_RHINE policy<{'riscv64': 'm'}> +CONFIG_VIA_RHINE_MMIO policy<{'riscv64': 'y'}> +CONFIG_VIA_VELOCITY policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_WIZNET policy<{'riscv64': 'y'}> +CONFIG_WIZNET_W5100 policy<{'riscv64': 'm'}> +CONFIG_WIZNET_W5300 policy<{'riscv64': 'm'}> +CONFIG_WIZNET_W5100_SPI policy<{'riscv64': 'm'}> +# +CONFIG_NET_VENDOR_EMULEX note + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> 3Com devices +CONFIG_NET_VENDOR_3COM policy<{'riscv64': 'y'}> +CONFIG_VORTEX policy<{'riscv64': 'm'}> +CONFIG_TYPHOON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> AMD devices +CONFIG_NET_VENDOR_AMD policy<{'riscv64': 'y'}> +CONFIG_AMD8111_ETH policy<{'riscv64': 'm'}> +CONFIG_PCNET32 policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'y'}> +CONFIG_ATL2 policy<{'riscv64': 'm'}> +CONFIG_ATL1 policy<{'riscv64': 'm'}> +CONFIG_ATL1E policy<{'riscv64': 'm'}> +CONFIG_ATL1C policy<{'riscv64': 'm'}> +CONFIG_ALX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices +CONFIG_NET_VENDOR_BROADCOM policy<{'riscv64': 'y'}> +CONFIG_B44 policy<{'riscv64': 'm'}> +CONFIG_BCMGENET policy<{'riscv64': 'm'}> +CONFIG_BNX2 policy<{'riscv64': 'm'}> +CONFIG_CNIC policy<{'riscv64': 'm'}> +CONFIG_TIGON3 policy<{'riscv64': 'm'}> +CONFIG_TIGON3_HWMON policy<{'riscv64': 'y'}> +CONFIG_BNX2X policy<{'riscv64': 'm'}> +CONFIG_BNX2X_SRIOV policy<{'riscv64': 'y'}> +CONFIG_SYSTEMPORT policy<{'riscv64': 'm'}> +# +CONFIG_TIGON3 flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices >> Broadcom NetXtreme-C/E support +CONFIG_BNXT policy<{'riscv64': 'm'}> +CONFIG_BNXT_SRIOV policy<{'riscv64': 'y'}> +CONFIG_BNXT_FLOWER_OFFLOAD policy<{'riscv64': 'y'}> +CONFIG_BNXT_DCB policy<{'riscv64': 'y'}> +CONFIG_BNXT_HWMON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cavium ethernet drivers +CONFIG_NET_VENDOR_CAVIUM policy<{'riscv64': 'y'}> +CONFIG_THUNDER_NIC_PF policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_VF policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_BGX policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_RGX policy<{'riscv64': 'm'}> +CONFIG_CAVIUM_PTP policy<{'riscv64': 'm'}> +CONFIG_LIQUIDIO policy<{'riscv64': 'm'}> +CONFIG_LIQUIDIO_VF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Chelsio devices +CONFIG_NET_VENDOR_CHELSIO policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T1 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T1_1G policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T3 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T4 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T4_DCB policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T4_FCOE policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T4VF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cirrus devices + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices +CONFIG_NET_TULIP policy<{'riscv64': 'y'}> +CONFIG_DE2104X policy<{'riscv64': 'm'}> +CONFIG_DE2104X_DSL policy<{'riscv64': '0'}> +CONFIG_WINBOND_840 policy<{'riscv64': 'm'}> +CONFIG_DM9102 policy<{'riscv64': 'm'}> +CONFIG_ULI526X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices >> DECchip Tulip (dc2114x) PCI support +CONFIG_TULIP policy<{'riscv64': 'm'}> +CONFIG_TULIP_MWI policy<{'riscv64': 'n'}> +CONFIG_TULIP_MMIO policy<{'riscv64': 'n'}> +CONFIG_TULIP_NAPI policy<{'riscv64': 'n'}> +# +CONFIG_TULIP_NAPI flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Freescale devices + +# 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 + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> IBM devices + +# 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<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices +CONFIG_NET_VENDOR_INTEL policy<{'riscv64': 'y'}> +CONFIG_E100 policy<{'riscv64': 'm'}> +CONFIG_E1000 policy<{'riscv64': 'm'}> +CONFIG_E1000E policy<{'riscv64': 'm'}> +CONFIG_IGB policy<{'riscv64': 'm'}> +CONFIG_IGB_HWMON policy<{'riscv64': 'y'}> +CONFIG_IGBVF policy<{'riscv64': 'm'}> +CONFIG_IXGB policy<{'riscv64': 'm'}> +CONFIG_IXGBEVF policy<{'riscv64': 'm'}> +CONFIG_IXGBEVF_IPSEC policy<{'riscv64': 'y'}> +CONFIG_I40E policy<{'riscv64': 'm'}> +CONFIG_I40E_DCB policy<{'riscv64': 'y'}> +CONFIG_I40EVF policy<{'riscv64': 'm'}> +CONFIG_ICE policy<{'riscv64': 'm'}> +CONFIG_FM10K policy<{'riscv64': 'm'}> +CONFIG_IGC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices >> Intel(R) 10GbE PCI Express adapters support +CONFIG_IXGBE policy<{'riscv64': 'm'}> +CONFIG_IXGBE_HWMON policy<{'riscv64': 'y'}> +CONFIG_IXGBE_DCB policy<{'riscv64': 'y'}> +CONFIG_IXGBE_IPSEC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Marvell devices +CONFIG_NET_VENDOR_MARVELL policy<{'riscv64': 'y'}> +CONFIG_MVMDIO policy<{'riscv64': 'm'}> +CONFIG_SKGE policy<{'riscv64': 'm'}> +CONFIG_SKGE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SKGE_GENESIS policy<{'riscv64': 'y'}> +CONFIG_SKY2 policy<{'riscv64': 'm'}> +CONFIG_SKY2_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices +CONFIG_NET_VENDOR_MELLANOX policy<{'riscv64': 'y'}> +CONFIG_MLX4_EN policy<{'riscv64': 'm'}> +CONFIG_MLX4_EN_DCB policy<{'riscv64': 'y'}> +CONFIG_MLX4_DEBUG policy<{'riscv64': 'y'}> +CONFIG_MLX4_CORE_GEN2 policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE policy<{'riscv64': 'm'}> +CONFIG_MLX5_FPGA policy<{'riscv64': 'y'}> +CONFIG_MLX5_FPGA_IPSEC policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_IPSEC policy<{'riscv64': 'y'}> +CONFIG_MLX5_FPGA_TLS policy<{'riscv64': 'y'}> +CONFIG_MLXFW policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_MLX5_EN_ARFS policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_RXNFC policy<{'riscv64': 'y'}> +CONFIG_MLX5_MPFS policy<{'riscv64': 'y'}> +CONFIG_MLX5_ESWITCH policy<{'riscv64': 'y'}> +CONFIG_MLX5_CLS_ACT policy<{'riscv64': 'y'}> +CONFIG_MLX5_TC_CT policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE_EN_DCB policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE_IPOIB policy<{'riscv64': 'y'}> +CONFIG_MLX5_TLS policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_TLS policy<{'riscv64': 'y'}> +CONFIG_MLX5_SW_STEERING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support +CONFIG_MLXSW_CORE policy<{'riscv64': 'm'}> +CONFIG_MLXSW_CORE_HWMON policy<{'riscv64': 'y'}> +CONFIG_MLXSW_CORE_THERMAL policy<{'riscv64': 'y'}> +CONFIG_MLXSW_I2C policy<{'riscv64': 'm'}> +CONFIG_MLXSW_MINIMAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support >> PCI bus implementation for Mellanox Technologies Switch ASICs +CONFIG_MLXSW_PCI policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SWITCHIB policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SWITCHX2 policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SPECTRUM policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SPECTRUM_DCB policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Micrel devices +CONFIG_NET_VENDOR_MICREL policy<{'riscv64': 'y'}> +CONFIG_KS8842 policy<{'riscv64': 'm'}> +CONFIG_KS8851 policy<{'riscv64': 'm'}> +CONFIG_KS8851_MLL policy<{'riscv64': 'm'}> +CONFIG_KSZ884X_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Microchip devices +CONFIG_NET_VENDOR_MICROCHIP policy<{'riscv64': 'y'}> +CONFIG_ENC28J60 policy<{'riscv64': 'm'}> +CONFIG_ENC28J60_WRITEVERIFY policy<{'riscv64': 'n'}> +CONFIG_ENCX24J600 policy<{'riscv64': 'm'}> +CONFIG_LAN743X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor 8390 devices +CONFIG_NET_VENDOR_8390 policy<{'riscv64': 'y'}> +CONFIG_NE2K_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor devices +CONFIG_NET_VENDOR_NATSEMI policy<{'riscv64': 'y'}> +CONFIG_NATSEMI policy<{'riscv64': 'm'}> +CONFIG_NS83820 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Netronome(R) NFP4000/NFP6000 NIC driver +CONFIG_NFP policy<{'riscv64': 'm'}> +CONFIG_NFP_APP_FLOWER policy<{'riscv64': 'y'}> +CONFIG_NFP_APP_ABM_NIC policy<{'riscv64': 'y'}> +CONFIG_NFP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices +CONFIG_NET_VENDOR_QLOGIC policy<{'riscv64': 'y'}> +CONFIG_QLA3XXX policy<{'riscv64': 'm'}> +CONFIG_NETXEN_NIC policy<{'riscv64': 'm'}> +CONFIG_QED policy<{'riscv64': 'm'}> +CONFIG_QED_SRIOV policy<{'riscv64': 'y'}> +CONFIG_QEDE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices >> QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support +CONFIG_QLCNIC policy<{'riscv64': 'm'}> +CONFIG_QLCNIC_SRIOV policy<{'riscv64': 'y'}> +CONFIG_QLCNIC_DCB policy<{'riscv64': 'y'}> +CONFIG_QLCNIC_HWMON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Qualcomm devices +CONFIG_NET_VENDOR_QUALCOMM policy<{'riscv64': 'y'}> +CONFIG_QCA7000_SPI policy<{'riscv64': 'm'}> +CONFIG_QCA7000_UART policy<{'riscv64': 'm'}> +CONFIG_QCOM_EMAC policy<{'riscv64': 'm'}> +CONFIG_RMNET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices +CONFIG_NET_VENDOR_REALTEK policy<{'riscv64': 'y'}> +CONFIG_8139CP policy<{'riscv64': 'm'}> +CONFIG_R8169 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices >> RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support +CONFIG_8139TOO policy<{'riscv64': 'm'}> +CONFIG_8139TOO_PIO policy<{'riscv64': 'y'}> +CONFIG_8139TOO_TUNE_TWISTER policy<{'riscv64': 'n'}> +CONFIG_8139TOO_8129 policy<{'riscv64': 'y'}> +CONFIG_8139_OLD_RX_RESET policy<{'riscv64': 'n'}> +# +CONFIG_8139TOO_TUNE_TWISTER flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> SMC (SMSC)/Western Digital devices +CONFIG_NET_VENDOR_SMSC policy<{'riscv64': 'y'}> +CONFIG_EPIC100 policy<{'riscv64': 'm'}> +CONFIG_SMSC911X policy<{'riscv64': 'm'}> +CONFIG_SMSC9420 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver +CONFIG_STMMAC_ETH policy<{'riscv64': 'm'}> +CONFIG_STMMAC_SELFTESTS policy<{'riscv64': 'n'}> +CONFIG_STMMAC_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver >> STMMAC Platform bus support +CONFIG_STMMAC_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_DWMAC_DWC_QOS_ETH policy<{'riscv64': 'm'}> +CONFIG_DWMAC_GENERIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> ServerEngines' 10Gbps NIC - BladeEngine +CONFIG_BE2NET policy<{'riscv64': 'm'}> +CONFIG_BE2NET_HWMON policy<{'riscv64': 'y'}> +CONFIG_BE2NET_BE2 policy<{'riscv64': 'y'}> +CONFIG_BE2NET_BE3 policy<{'riscv64': 'y'}> +CONFIG_BE2NET_LANCER policy<{'riscv64': 'y'}> +CONFIG_BE2NET_SKYHAWK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Solarflare SFC9000/SFC9100-family support +CONFIG_SFC policy<{'riscv64': 'm'}> +CONFIG_SFC_MTD policy<{'riscv64': 'y'}> +CONFIG_SFC_MCDI_MON policy<{'riscv64': 'y'}> +CONFIG_SFC_SRIOV policy<{'riscv64': 'y'}> +CONFIG_SFC_MCDI_LOGGING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Sun devices +CONFIG_NET_VENDOR_SUN policy<{'riscv64': 'y'}> +CONFIG_HAPPYMEAL policy<{'riscv64': 'm'}> +CONFIG_SUNGEM policy<{'riscv64': 'm'}> +CONFIG_CASSINI policy<{'riscv64': 'm'}> +CONFIG_NIU policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Texas Instruments (TI) devices +CONFIG_NET_VENDOR_TI policy<{'riscv64': 'y'}> +CONFIG_TI_CPSW_PHY_SEL policy<{'riscv64': 'n'}> +CONFIG_TLAN policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'n'}> +CONFIG_WIZNET_BUS_INDIRECT policy<{'riscv64': 'n'}> +CONFIG_WIZNET_BUS_ANY policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Xilinx devices +CONFIG_NET_VENDOR_XILINX policy<{'riscv64': 'y'}> +CONFIG_XILINX_AXI_EMAC policy<{'riscv64': 'm'}> +CONFIG_XILINX_LL_TEMAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> FDDI driver support +CONFIG_FDDI policy<{'riscv64': 'y'}> +CONFIG_DEFXX policy<{'riscv64': 'm'}> +CONFIG_DEFXX_MMIO policy<{'riscv64': 'n'}> +CONFIG_SKFP policy<{'riscv64': 'm'}> +# +CONFIG_DEFXX_MMIO flag + +# Menu: Device Drivers >> Network device support >> IEEE 802.15.4 drivers +CONFIG_IEEE802154_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_FAKELB policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_AT86RF230 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_AT86RF230_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IEEE802154_MRF24J40 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CC2520 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_ATUSB policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_ADF7242 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IEEE802154_MCR20A policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_HWSIM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> MDIO bus device drivers +CONFIG_MDIO_DEVICE policy<{'riscv64': 'y'}> +CONFIG_MDIO_BCM_UNIMAC policy<{'riscv64': 'm'}> +CONFIG_MDIO_BITBANG policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MMIOREG policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER policy<{'riscv64': 'm'}> +CONFIG_MDIO_GPIO policy<{'riscv64': 'm'}> +CONFIG_MDIO_HISI_FEMAC policy<{'riscv64': 'm'}> +CONFIG_MDIO_IPQ4019 policy<{'riscv64': 'm'}> +CONFIG_MDIO_IPQ8064 policy<{'riscv64': 'm'}> +CONFIG_MDIO_MSCC_MIIM policy<{'riscv64': 'm'}> +CONFIG_MDIO_MVUSB policy<{'riscv64': 'm'}> +CONFIG_MDIO_OCTEON policy<{'riscv64': 'm'}> +CONFIG_MDIO_THUNDER policy<{'riscv64': 'm'}> +CONFIG_MDIO_XPCS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Network core driver support +CONFIG_NET_CORE policy<{'riscv64': 'y'}> +CONFIG_BONDING policy<{'riscv64': 'm'}> +CONFIG_DUMMY policy<{'riscv64': 'm'}> +CONFIG_WIREGUARD policy<{'riscv64': 'm'}> +CONFIG_WIREGUARD_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EQUALIZER policy<{'riscv64': 'm'}> +CONFIG_NET_FC policy<{'riscv64': 'y'}> +CONFIG_IFB policy<{'riscv64': 'm'}> +CONFIG_MACVLAN policy<{'riscv64': 'm'}> +CONFIG_MACVTAP policy<{'riscv64': 'm'}> +CONFIG_IPVLAN policy<{'riscv64': 'm'}> +CONFIG_IPVTAP policy<{'riscv64': 'm'}> +CONFIG_VXLAN policy<{'riscv64': 'm'}> +CONFIG_GENEVE policy<{'riscv64': 'm'}> +CONFIG_BAREUDP policy<{'riscv64': 'm'}> +CONFIG_GTP policy<{'riscv64': 'm'}> +CONFIG_MACSEC policy<{'riscv64': 'm'}> +CONFIG_NETCONSOLE policy<{'riscv64': 'm'}> +CONFIG_NETCONSOLE_DYNAMIC policy<{'riscv64': 'y'}> +CONFIG_NTB_NETDEV policy<{'riscv64': 'm'}> +CONFIG_RIONET policy<{'riscv64': 'm'}> +CONFIG_RIONET_TX_SIZE policy<{'riscv64': '128'}> +CONFIG_RIONET_RX_SIZE policy<{'riscv64': '128'}> +CONFIG_TUN policy<{'riscv64': 'y'}> +CONFIG_TUN_VNET_CROSS_LE policy<{'riscv64': 'n'}> +CONFIG_VETH policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_NET policy<{'riscv64': 'm'}> +CONFIG_NLMON policy<{'riscv64': 'm'}> +CONFIG_NET_VRF policy<{'riscv64': 'm'}> +CONFIG_VSOCKMON policy<{'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<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_BROADCAST policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_ROUNDROBIN policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_RANDOM policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_LOADBALANCE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> PHY Device support and infrastructure +CONFIG_PHYLIB policy<{'riscv64': 'y'}> +CONFIG_LED_TRIGGER_PHY policy<{'riscv64': 'y'}> +CONFIG_SFP policy<{'riscv64': 'm'}> +CONFIG_ADIN_PHY policy<{'riscv64': 'm'}> +CONFIG_AMD_PHY policy<{'riscv64': 'm'}> +CONFIG_AQUANTIA_PHY policy<{'riscv64': 'm'}> +CONFIG_AX88796B_PHY policy<{'riscv64': 'n'}> +CONFIG_BCM7XXX_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM87XX_PHY policy<{'riscv64': 'm'}> +CONFIG_BROADCOM_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM54140_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM84881_PHY policy<{'riscv64': 'm'}> +CONFIG_CICADA_PHY policy<{'riscv64': 'm'}> +CONFIG_CORTINA_PHY policy<{'riscv64': 'm'}> +CONFIG_DAVICOM_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83822_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83TC811_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83848_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83867_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83869_PHY policy<{'riscv64': 'm'}> +CONFIG_FIXED_PHY policy<{'riscv64': 'y'}> +CONFIG_ICPLUS_PHY policy<{'riscv64': 'm'}> +CONFIG_INTEL_XWAY_PHY policy<{'riscv64': 'm'}> +CONFIG_LSI_ET1011C_PHY policy<{'riscv64': 'm'}> +CONFIG_LXT_PHY policy<{'riscv64': 'm'}> +CONFIG_MARVELL_PHY policy<{'riscv64': 'm'}> +CONFIG_MARVELL_10G_PHY policy<{'riscv64': 'm'}> +CONFIG_MICREL_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROCHIP_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROCHIP_T1_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROSEMI_PHY policy<{'riscv64': 'm'}> +CONFIG_NATIONAL_PHY policy<{'riscv64': 'm'}> +CONFIG_NXP_TJA11XX_PHY policy<{'riscv64': 'm'}> +CONFIG_AT803X_PHY policy<{'riscv64': 'm'}> +CONFIG_QSEMI_PHY policy<{'riscv64': 'm'}> +CONFIG_REALTEK_PHY policy<{'riscv64': 'm'}> +CONFIG_RENESAS_PHY policy<{'riscv64': 'm'}> +CONFIG_ROCKCHIP_PHY policy<{'riscv64': 'm'}> +CONFIG_SMSC_PHY policy<{'riscv64': 'm'}> +CONFIG_STE10XP policy<{'riscv64': 'm'}> +CONFIG_TERANETICS_PHY policy<{'riscv64': 'm'}> +CONFIG_VITESSE_PHY policy<{'riscv64': 'm'}> +CONFIG_XILINX_GMII2RGMII policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> PPP (point-to-point protocol) support +CONFIG_PPP policy<{'riscv64': 'y'}> +CONFIG_PPP_BSDCOMP policy<{'riscv64': 'm'}> +CONFIG_PPP_DEFLATE policy<{'riscv64': 'm'}> +CONFIG_PPP_FILTER policy<{'riscv64': 'y'}> +CONFIG_PPP_MPPE policy<{'riscv64': 'm'}> +CONFIG_PPP_MULTILINK policy<{'riscv64': 'y'}> +CONFIG_PPPOATM policy<{'riscv64': 'm'}> +CONFIG_PPPOE policy<{'riscv64': 'm'}> +CONFIG_PPTP policy<{'riscv64': 'm'}> +CONFIG_PPPOL2TP policy<{'riscv64': 'm'}> +CONFIG_PPP_ASYNC policy<{'riscv64': 'm'}> +CONFIG_PPP_SYNC_TTY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> S/390 network device drivers >> Gigabit Ethernet device support + +# Menu: Device Drivers >> Network device support >> SLIP (serial line) support +CONFIG_SLIP policy<{'riscv64': 'm'}> +CONFIG_SLIP_COMPRESSED policy<{'riscv64': 'y'}> +CONFIG_SLIP_SMART policy<{'riscv64': 'y'}> +CONFIG_SLIP_MODE_SLIP6 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters +CONFIG_USB_NET_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_USB_CATC policy<{'riscv64': 'm'}> +CONFIG_USB_KAWETH policy<{'riscv64': 'm'}> +CONFIG_USB_PEGASUS policy<{'riscv64': 'm'}> +CONFIG_USB_RTL8150 policy<{'riscv64': 'm'}> +CONFIG_USB_RTL8152 policy<{'riscv64': 'm'}> +CONFIG_USB_LAN78XX policy<{'riscv64': 'm'}> +CONFIG_USB_HSO policy<{'riscv64': 'm'}> +CONFIG_USB_IPHETH policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters >> Multi-purpose USB Networking Framework +CONFIG_USB_USBNET policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AX8817X policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AX88179_178A policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDCETHER policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_EEM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_HUAWEI_CDC_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_MBIM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_DM9601 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SR9700 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SR9800 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SMSC75XX policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SMSC95XX policy<{'riscv64': 'm'}> +CONFIG_USB_NET_GL620A policy<{'riscv64': 'm'}> +CONFIG_USB_NET_NET1080 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_PLUSB policy<{'riscv64': 'm'}> +CONFIG_USB_NET_MCS7830 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_HOST policy<{'riscv64': 'm'}> +CONFIG_USB_NET_ZAURUS policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CX82310_ETH policy<{'riscv64': 'm'}> +CONFIG_USB_NET_KALMIA policy<{'riscv64': 'm'}> +CONFIG_USB_NET_QMI_WWAN policy<{'riscv64': 'm'}> +CONFIG_USB_NET_INT51X1 policy<{'riscv64': 'm'}> +CONFIG_USB_CDC_PHONET policy<{'riscv64': 'm'}> +CONFIG_USB_SIERRA_NET policy<{'riscv64': 'm'}> +CONFIG_USB_VL600 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CH9200 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AQC111 policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_ALI_M5632 policy<{'riscv64': 'y'}> +CONFIG_USB_AN2720 policy<{'riscv64': 'y'}> +CONFIG_USB_BELKIN policy<{'riscv64': 'y'}> +CONFIG_USB_ARMLINUX policy<{'riscv64': 'y'}> +CONFIG_USB_EPSON2888 policy<{'riscv64': 'y'}> +CONFIG_USB_KC2190 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support +CONFIG_WAN policy<{'riscv64': 'y'}> +CONFIG_DLCI policy<{'riscv64': 'm'}> +CONFIG_DLCI_MAX policy<{'riscv64': '8'}> +CONFIG_LAPBETHER policy<{'riscv64': 'm'}> +CONFIG_X25_ASY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support >> Generic HDLC layer +CONFIG_HDLC policy<{'riscv64': 'm'}> +CONFIG_HDLC_RAW policy<{'riscv64': 'm'}> +CONFIG_HDLC_RAW_ETH policy<{'riscv64': 'm'}> +CONFIG_HDLC_CISCO policy<{'riscv64': 'm'}> +CONFIG_HDLC_FR policy<{'riscv64': 'm'}> +CONFIG_HDLC_PPP policy<{'riscv64': 'm'}> +CONFIG_HDLC_X25 policy<{'riscv64': 'm'}> +CONFIG_PCI200SYN policy<{'riscv64': 'm'}> +CONFIG_WANXL policy<{'riscv64': 'm'}> +CONFIG_PC300TOO policy<{'riscv64': 'm'}> +CONFIG_FARSYNC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> WiMAX Wireless Broadband devices +CONFIG_WIMAX_I2400M_USB policy<{'riscv64': 'm'}> +CONFIG_WIMAX_I2400M_DEBUG_LEVEL policy<{'riscv64': '8'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN +CONFIG_WLAN policy<{'riscv64': 'y'}> +CONFIG_WIRELESS_WDS policy<{'riscv64': 'n'}> +CONFIG_WLAN_VENDOR_ADMTEK policy<{'riscv64': 'y'}> +CONFIG_ADM8211 policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ATMEL policy<{'riscv64': 'y'}> +CONFIG_ATMEL policy<{'riscv64': 'm'}> +CONFIG_PCI_ATMEL policy<{'riscv64': 'm'}> +CONFIG_AT76C50X_USB policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_CISCO policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RALINK policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RSI policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_ST policy<{'riscv64': 'y'}> +CONFIG_CW1200 policy<{'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SDIO policy<{'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SPI policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ZYDAS policy<{'riscv64': 'y'}> +CONFIG_USB_ZD1201 policy<{'riscv64': 'm'}> +CONFIG_ZD1211RW policy<{'riscv64': 'm'}> +CONFIG_ZD1211RW_DEBUG policy<{'riscv64': 'n'}> +CONFIG_WLAN_VENDOR_QUANTENNA policy<{'riscv64': 'y'}> +CONFIG_QTNFMAC_PCIE policy<{'riscv64': 'm'}> +CONFIG_MAC80211_HWSIM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_WLAN policy<{'riscv64': 'm'}> +CONFIG_VIRT_WIFI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices +CONFIG_WLAN_VENDOR_ATH policy<{'riscv64': 'y'}> +CONFIG_ATH_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH5K_PCI policy<{'riscv64': 'y'}> +CONFIG_ATH9K_BTCOEX_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_ATH9K_HTC policy<{'riscv64': 'm'}> +CONFIG_ATH9K_HTC_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_COMMON_SPECTRAL policy<{'riscv64': 'y'}> +CONFIG_AR5523 policy<{'riscv64': 'm'}> +CONFIG_WCN36XX policy<{'riscv64': 'm'}> +CONFIG_WCN36XX_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 5xxx wireless cards support +CONFIG_ATH5K policy<{'riscv64': 'm'}> +CONFIG_ATH5K_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH5K_TRACER policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11ac wireless cards support +CONFIG_ATH10K policy<{'riscv64': 'm'}> +CONFIG_ATH10K_PCI policy<{'riscv64': 'm'}> +CONFIG_ATH10K_AHB policy<{'riscv64': 'y'}> +CONFIG_ATH10K_SDIO policy<{'riscv64': 'm'}> +CONFIG_ATH10K_USB policy<{'riscv64': 'm'}> +CONFIG_ATH10K_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH10K_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH10K_SPECTRAL policy<{'riscv64': 'y'}> +CONFIG_ATH10K_TRACING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11n wireless cards support +CONFIG_ATH9K policy<{'riscv64': 'm'}> +CONFIG_ATH9K_PCI policy<{'riscv64': 'y'}> +CONFIG_ATH9K_AHB policy<{'riscv64': 'y'}> +CONFIG_ATH9K_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_STATION_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_DYNACK policy<{'riscv64': 'n'}> +CONFIG_ATH9K_RFKILL policy<{'riscv64': 'y'}> +CONFIG_ATH9K_CHANNEL_CONTEXT policy<{'riscv64': 'y'}> +CONFIG_ATH9K_PCOEM policy<{'riscv64': 'y'}> +CONFIG_ATH9K_PCI_NO_EEPROM policy<{'riscv64': 'm'}> +CONFIG_ATH9K_HWRNG policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros mobile chipsets support +CONFIG_ATH6KL policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_SDIO policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_USB policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH6KL_TRACING policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Linux Community AR9170 802.11n USB support +CONFIG_CARL9170 policy<{'riscv64': 'm'}> +CONFIG_CARL9170_LEDS policy<{'riscv64': 'y'}> +CONFIG_CARL9170_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_CARL9170_HWRNG policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Qualcomm Technologies 802.11ax chipset support + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Wilocity 60g WiFi card wil6210 support +CONFIG_WIL6210 policy<{'riscv64': 'm'}> +CONFIG_WIL6210_ISR_COR policy<{'riscv64': 'y'}> +CONFIG_WIL6210_TRACING policy<{'riscv64': 'y'}> +CONFIG_WIL6210_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices +CONFIG_WLAN_VENDOR_BROADCOM policy<{'riscv64': 'y'}> +CONFIG_B43LEGACY policy<{'riscv64': 'm'}> +CONFIG_B43LEGACY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BRCMSMAC policy<{'riscv64': 'm'}> +CONFIG_BRCM_TRACING policy<{'riscv64': 'y'}> +CONFIG_BRCMDBG policy<{'riscv64': 'n'}> +# +CONFIG_BRCMDBG flag + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom 43xx wireless support (mac80211 stack) +CONFIG_B43 policy<{'riscv64': 'm'}> +CONFIG_B43_SDIO policy<{'riscv64': 'n'}> +CONFIG_B43_PHY_G policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_N policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_LP policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_HT policy<{'riscv64': 'y'}> +CONFIG_B43_DEBUG policy<{'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<{'riscv64': 'y'}> +CONFIG_B43_BUSES_BCMA policy<{'riscv64': 'n'}> +CONFIG_B43_BUSES_SSB policy<{'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<{'riscv64': 'y'}> +CONFIG_B43LEGACY_DMA_MODE policy<{'riscv64': 'n'}> +CONFIG_B43LEGACY_PIO_MODE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom FullMAC WLAN driver +CONFIG_BRCMFMAC policy<{'riscv64': 'm'}> +CONFIG_BRCMFMAC_SDIO policy<{'riscv64': 'y'}> +CONFIG_BRCMFMAC_USB policy<{'riscv64': 'y'}> +CONFIG_BRCMFMAC_PCIE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices +CONFIG_WLAN_VENDOR_INTEL policy<{'riscv64': 'y'}> +CONFIG_IPW2100 policy<{'riscv64': 'm'}> +CONFIG_IPW2100_MONITOR policy<{'riscv64': 'y'}> +CONFIG_IPW2100_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBIPW_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWL4965 policy<{'riscv64': 'm'}> +CONFIG_IWL3945 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> Intel PRO/Wireless 2200BG and 2915ABG Network Connection +CONFIG_IPW2200 policy<{'riscv64': 'm'}> +CONFIG_IPW2200_MONITOR policy<{'riscv64': 'y'}> +CONFIG_IPW2200_RADIOTAP policy<{'riscv64': 'y'}> +CONFIG_IPW2200_PROMISCUOUS policy<{'riscv64': 'y'}> +CONFIG_IPW2200_QOS policy<{'riscv64': 'y'}> +CONFIG_IPW2200_DEBUG policy<{'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<{'riscv64': 'm'}> +CONFIG_IWLDVM policy<{'riscv64': 'm'}> +CONFIG_IWLMVM policy<{'riscv64': 'm'}> +CONFIG_IWLWIFI_BCAST_FILTERING policy<{'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) >> Debugging Options +CONFIG_IWLWIFI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWLWIFI_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IWLWIFI_DEVICE_TRACING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> iwl3945 / iwl4965 Debugging Options +CONFIG_IWLEGACY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWLEGACY_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices +CONFIG_WLAN_VENDOR_INTERSIL policy<{'riscv64': 'y'}> +CONFIG_PRISM54 policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) +CONFIG_HERMES policy<{'riscv64': 'm'}> +CONFIG_HERMES_PRISM policy<{'riscv64': 'n'}> +CONFIG_HERMES_CACHE_FW_ON_INIT policy<{'riscv64': 'y'}> +CONFIG_PLX_HERMES policy<{'riscv64': 'm'}> +CONFIG_TMD_HERMES policy<{'riscv64': 'm'}> +CONFIG_NORTEL_HERMES policy<{'riscv64': 'm'}> +CONFIG_ORINOCO_USB policy<{'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<{'riscv64': 'm'}> +CONFIG_HOSTAP_FIRMWARE policy<{'riscv64': 'y'}> +CONFIG_HOSTAP_FIRMWARE_NVRAM policy<{'riscv64': 'y'}> +CONFIG_HOSTAP_PLX policy<{'riscv64': 'm'}> +CONFIG_HOSTAP_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Softmac Prism54 support +CONFIG_P54_COMMON policy<{'riscv64': 'm'}> +CONFIG_P54_USB policy<{'riscv64': 'm'}> +CONFIG_P54_PCI policy<{'riscv64': 'm'}> +CONFIG_P54_SPI policy<{'riscv64': 'm'}> +CONFIG_P54_SPI_DEFAULT_EEPROM policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices +CONFIG_WLAN_VENDOR_MARVELL policy<{'riscv64': 'y'}> +CONFIG_LIBERTAS_THINFIRM policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_THINFIRM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBERTAS_THINFIRM_USB policy<{'riscv64': 'm'}> +CONFIG_MWL8K policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell 8xxx Libertas WLAN driver support +CONFIG_LIBERTAS policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_USB policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_SDIO policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_SPI policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBERTAS_MESH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell WiFi-Ex Driver +CONFIG_MWIFIEX policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_SDIO policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_PCIE policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> MediaTek devices +CONFIG_WLAN_VENDOR_MEDIATEK policy<{'riscv64': 'y'}> +CONFIG_MT7601U policy<{'riscv64': 'm'}> +CONFIG_MT76x0U policy<{'riscv64': 'm'}> +CONFIG_MT76x0E policy<{'riscv64': 'm'}> +CONFIG_MT76x2E policy<{'riscv64': 'm'}> +CONFIG_MT76x2U policy<{'riscv64': 'm'}> +CONFIG_MT7603E policy<{'riscv64': 'm'}> +CONFIG_MT7615E policy<{'riscv64': 'm'}> +CONFIG_MT7663U policy<{'riscv64': 'm'}> +CONFIG_MT7915E policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support +CONFIG_RT2X00 policy<{'riscv64': 'm'}> +CONFIG_RT2400PCI policy<{'riscv64': 'm'}> +CONFIG_RT2500PCI policy<{'riscv64': 'm'}> +CONFIG_RT61PCI policy<{'riscv64': 'm'}> +CONFIG_RT2500USB policy<{'riscv64': 'm'}> +CONFIG_RT73USB policy<{'riscv64': 'm'}> +CONFIG_RT2X00_LIB_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_RT2X00_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support +CONFIG_RT2800PCI policy<{'riscv64': 'm'}> +CONFIG_RT2800PCI_RT33XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT35XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT53XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT3290 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (USB) support +CONFIG_RT2800USB policy<{'riscv64': 'm'}> +CONFIG_RT2800USB_RT33XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT35XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT3573 policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT53XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT55XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_UNKNOWN policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices +CONFIG_WLAN_VENDOR_REALTEK policy<{'riscv64': 'y'}> +CONFIG_RTL8180 policy<{'riscv64': 'm'}> +CONFIG_RTL8187 policy<{'riscv64': 'm'}> +CONFIG_RTL8XXXU policy<{'riscv64': 'm'}> +CONFIG_RTL8XXXU_UNTESTED policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek 802.11ac wireless chips support +CONFIG_RTW88 policy<{'riscv64': 'm'}> +CONFIG_RTW88_8822BE policy<{'riscv64': 'm'}> +CONFIG_RTW88_8822CE policy<{'riscv64': 'm'}> +CONFIG_RTW88_8723DE policy<{'riscv64': 'm'}> +CONFIG_RTW88_DEBUG policy<{'riscv64': 'y'}> +CONFIG_RTW88_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek rtlwifi family of devices +CONFIG_RTL_CARDS policy<{'riscv64': 'm'}> +CONFIG_RTL8192CE policy<{'riscv64': 'm'}> +CONFIG_RTL8192SE policy<{'riscv64': 'm'}> +CONFIG_RTL8192DE policy<{'riscv64': 'm'}> +CONFIG_RTL8723AE policy<{'riscv64': 'm'}> +CONFIG_RTL8723BE policy<{'riscv64': 'm'}> +CONFIG_RTL8188EE policy<{'riscv64': 'm'}> +CONFIG_RTL8192EE policy<{'riscv64': 'm'}> +CONFIG_RTL8821AE policy<{'riscv64': 'm'}> +CONFIG_RTL8192CU policy<{'riscv64': 'm'}> +CONFIG_RTLWIFI_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Redpine Signals Inc 91x WLAN driver support +CONFIG_RSI_91X policy<{'riscv64': 'm'}> +CONFIG_RSI_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_RSI_SDIO policy<{'riscv64': 'm'}> +CONFIG_RSI_USB policy<{'riscv64': 'm'}> +CONFIG_RSI_COEX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Texas Instrument devices +CONFIG_WLAN_VENDOR_TI policy<{'riscv64': 'y'}> +CONFIG_WL1251 policy<{'riscv64': 'm'}> +CONFIG_WL1251_SPI policy<{'riscv64': 'm'}> +CONFIG_WL1251_SDIO policy<{'riscv64': 'm'}> +CONFIG_WL12XX policy<{'riscv64': 'm'}> +CONFIG_WL18XX policy<{'riscv64': 'm'}> +CONFIG_WLCORE policy<{'riscv64': 'm'}> +CONFIG_WLCORE_SPI policy<{'riscv64': 'm'}> +CONFIG_WLCORE_SDIO policy<{'riscv64': 'm'}> +CONFIG_WILINK_PLATFORM_DATA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Non-Transparent Bridge support +CONFIG_NTB policy<{'riscv64': 'm'}> +CONFIG_NTB_MSI policy<{'riscv64': 'y'}> +CONFIG_NTB_IDT policy<{'riscv64': 'm'}> +CONFIG_NTB_SWITCHTEC policy<{'riscv64': 'm'}> +CONFIG_NTB_PINGPONG policy<{'riscv64': 'm'}> +CONFIG_NTB_TOOL policy<{'riscv64': 'm'}> +CONFIG_NTB_PERF policy<{'riscv64': 'm'}> +CONFIG_NTB_MSI_TEST policy<{'riscv64': 'n'}> +CONFIG_NTB_TRANSPORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support +CONFIG_INTERCONNECT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support >> Qualcomm Network-on-Chip interconnect drivers + +# Menu: Device Drivers >> On-Chip Interconnect management support >> i.MX interconnect drivers + +# Menu: Device Drivers >> Open-Channel SSD target support +CONFIG_NVM policy<{'riscv64': 'y'}> +CONFIG_NVM_PBLK policy<{'riscv64': 'm'}> +CONFIG_NVM_PBLK_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support +CONFIG_PCCARD policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> 16-bit PCMCIA support + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> CardBus yenta-compatible bridge support + +# Menu: Device Drivers >> PCI support +CONFIG_PCI policy<{'riscv64': 'y'}> +CONFIG_PCI_MSI policy<{'riscv64': 'y'}> +CONFIG_PCI_QUIRKS policy<{'riscv64': 'y'}> +CONFIG_PCI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PCI_REALLOC_ENABLE_AUTO policy<{'riscv64': 'y'}> +CONFIG_PCI_STUB policy<{'riscv64': 'm'}> +CONFIG_PCI_PF_STUB policy<{'riscv64': 'm'}> +CONFIG_PCI_IOV policy<{'riscv64': 'y'}> +CONFIG_PCI_PRI policy<{'riscv64': 'y'}> +CONFIG_PCI_PASID policy<{'riscv64': 'y'}> +CONFIG_PCIEASPM policy<{'riscv64': 'y'}> +CONFIG_PCIE_PTM policy<{'riscv64': 'y'}> +# +CONFIG_PCI_P2PDMA flag + +# Menu: Device Drivers >> PCI support >> Default ASPM policy +CONFIG_PCIEASPM_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_PCIEASPM_POWERSAVE policy<{'riscv64': 'n'}> +CONFIG_PCIEASPM_POWER_SUPERSAVE policy<{'riscv64': 'n'}> +CONFIG_PCIEASPM_PERFORMANCE policy<{'riscv64': 'n'}> +# +CONFIG_PCIEASPM_DEFAULT note + +# Menu: Device Drivers >> PCI support >> PCI Endpoint +CONFIG_PCI_ENDPOINT policy<{'riscv64': 'y'}> +CONFIG_PCI_ENDPOINT_CONFIGFS policy<{'riscv64': 'y'}> +CONFIG_PCI_EPF_TEST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support +CONFIG_PCIEPORTBUS policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_PCIE policy<{'riscv64': 'y'}> +# +CONFIG_PCIEPORTBUS mark note +CONFIG_HOTPLUG_PCI_PCIE mark note + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support >> PCI Express Advanced Error Reporting support +CONFIG_PCIEAER policy<{'riscv64': 'y'}> +CONFIG_PCIEAER_INJECT policy<{'riscv64': 'n'}> +CONFIG_PCIE_ECRC policy<{'riscv64': 'n'}> +CONFIG_PCIE_DPC policy<{'riscv64': 'y'}> +# +CONFIG_PCIEAER_INJECT flag + +# Menu: Device Drivers >> PCI support >> PCI controller drivers +CONFIG_PCI_FTPCI100 policy<{'riscv64': 'y'}> +CONFIG_PCI_HOST_GENERIC policy<{'riscv64': 'y'}> +CONFIG_PCIE_XILINX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Cadence PCIe controllers support +CONFIG_PCIE_CADENCE_PLAT_HOST policy<{'riscv64': 'y'}> +CONFIG_PCIE_CADENCE_PLAT_EP policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> DesignWare PCI Core Support +CONFIG_PCIE_DW_PLAT_HOST policy<{'riscv64': 'y'}> +CONFIG_PCIE_DW_PLAT_EP policy<{'riscv64': 'y'}> +CONFIG_PCI_MESON policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Mobiveil PCIe Core Support + +# Menu: Device Drivers >> PCI support >> PCI switch controller drivers +CONFIG_PCI_SW_SWITCHTEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> PCI support >> Support for PCI Hotplug +CONFIG_HOTPLUG_PCI policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_CPCI policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_SHPC policy<{'riscv64': 'y'}> +# +CONFIG_HOTPLUG_PCI_SHPC note + +# Menu: Device Drivers >> PHY Subsystem +CONFIG_GENERIC_PHY policy<{'riscv64': 'y'}> +CONFIG_BCM_KONA_USB2_PHY policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_TORRENT policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_DPHY policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SIERRA policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SALVO policy<{'riscv64': 'm'}> +CONFIG_PHY_FSL_IMX8MQ_USB policy<{'riscv64': 'm'}> +CONFIG_PHY_MIXEL_MIPI_DPHY policy<{'riscv64': 'm'}> +CONFIG_PHY_PXA_28NM_HSIC policy<{'riscv64': 'm'}> +CONFIG_PHY_PXA_28NM_USB2 policy<{'riscv64': 'm'}> +CONFIG_PHY_CPCAP_USB policy<{'riscv64': 'm'}> +CONFIG_PHY_MAPPHONE_MDM6600 policy<{'riscv64': 'm'}> +CONFIG_PHY_OCELOT_SERDES policy<{'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_HS policy<{'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_HSIC policy<{'riscv64': 'm'}> +CONFIG_PHY_SAMSUNG_USB2 policy<{'riscv64': 'm'}> +CONFIG_PHY_TUSB1210 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> PPS support +CONFIG_PPS policy<{'riscv64': 'y'}> +CONFIG_PPS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PPS_CLIENT_KTIMER policy<{'riscv64': 'n'}> +CONFIG_PPS_CLIENT_LDISC policy<{'riscv64': 'm'}> +CONFIG_PPS_CLIENT_PARPORT policy<{'riscv64': 'm'}> +CONFIG_PPS_CLIENT_GPIO policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_DP83640_PHY policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_INES policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_IDT82P33 policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_IDTCM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Parallel port support +CONFIG_PARPORT policy<{'riscv64': 'm'}> +CONFIG_PARPORT_AX88796 policy<{'riscv64': 'm'}> +CONFIG_PARPORT_1284 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Parallel port support >> PC-style hardware + +# Menu: Device Drivers >> Performance monitor support + +# Menu: Device Drivers >> Pin controllers +CONFIG_PINCTRL policy<{'riscv64': 'y'}> +CONFIG_PINMUX policy<{'riscv64': 'y'}> +CONFIG_PINCONF policy<{'riscv64': 'y'}> +CONFIG_DEBUG_PINCTRL policy<{'riscv64': 'n'}> +CONFIG_PINCTRL_AS3722 policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_AXP209 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_DA9062 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_MCP23S08 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_SINGLE policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_SX150X policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_STMFX policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_PALMAS policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_RK805 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_OCELOT policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_LOCHNAGAR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Pin controllers >> Amlogic SoC pinctrl drivers + +# Menu: Device Drivers >> Pin controllers >> MediaTek pinctrl drivers +# +CONFIG_PINCTRL_MT8135 flag +CONFIG_PINCTRL_MT8127 flag + +# Menu: Device Drivers >> Pin controllers >> UniPhier SoC pinctrl drivers + +# Menu: Device Drivers >> Platform support for Chrome hardware + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller >> ChromeOS Wilco Embedded Controller + +# Menu: Device Drivers >> Platform support for Goldfish virtual devices +CONFIG_GOLDFISH policy<{'riscv64': 'y'}> +CONFIG_GOLDFISH_PIPE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Platform support for Mellanox hardware + +# Menu: Device Drivers >> Platform support for OLPC XO 1.75 hardware + +# Menu: Device Drivers >> Plug and Play support + +# Menu: Device Drivers >> Power supply class support +CONFIG_POWER_SUPPLY policy<{'riscv64': 'y'}> +CONFIG_POWER_SUPPLY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_POWER_SUPPLY_HWMON policy<{'riscv64': 'y'}> +CONFIG_PDA_POWER policy<{'riscv64': 'm'}> +CONFIG_GENERIC_ADC_BATTERY policy<{'riscv64': 'm'}> +CONFIG_MAX8925_POWER policy<{'riscv64': 'm'}> +CONFIG_WM831X_BACKUP policy<{'riscv64': 'm'}> +CONFIG_WM831X_POWER policy<{'riscv64': 'm'}> +CONFIG_WM8350_POWER policy<{'riscv64': 'm'}> +CONFIG_TEST_POWER policy<{'riscv64': 'm'}> +CONFIG_BATTERY_88PM860X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_ADP5061 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_BATTERY_CPCAP policy<{'riscv64': 'm'}> +CONFIG_BATTERY_CW2015 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2760 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2780 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2781 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2782 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_LEGO_EV3 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_SBS policy<{'riscv64': 'm'}> +CONFIG_CHARGER_SBS policy<{'riscv64': 'm'}> +CONFIG_MANAGER_SBS policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_I2C policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_HDQ policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM policy<{'riscv64': 'n'}> +CONFIG_BATTERY_DA9030 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DA9052 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_DA9150 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DA9150 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_AXP20X policy<{'riscv64': 'm'}> +CONFIG_BATTERY_AXP20X policy<{'riscv64': 'm'}> +CONFIG_AXP20X_POWER policy<{'riscv64': 'm'}> +CONFIG_AXP288_FUEL_GAUGE policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX17040 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX17042 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX1721X policy<{'riscv64': 'm'}> +CONFIG_BATTERY_TWL4030_MADC policy<{'riscv64': 'm'}> +CONFIG_CHARGER_88PM860X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_RX51 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_ISP1704 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8903 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_LP8727 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_LP8788 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_GPIO policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MANAGER policy<{'riscv64': 'y'}> +CONFIG_CHARGER_LT3651 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_DETECTOR_MAX14656 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MP2629 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ2415X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24190 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24257 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24735 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ25890 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_SMB347 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_TPS65090 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_GAUGE_LTC2941 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_BATTERY_RT5033 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_RT9455 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_UCS1002 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BD70528 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BD99954 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Pulse-Width Modulation (PWM) Support +CONFIG_PWM policy<{'riscv64': 'y'}> +CONFIG_PWM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PWM_ATMEL_HLCDC_PWM policy<{'riscv64': 'm'}> +CONFIG_PWM_FSL_FTM policy<{'riscv64': 'm'}> +CONFIG_PWM_IQS620A policy<{'riscv64': 'm'}> +CONFIG_PWM_LP3943 policy<{'riscv64': 'm'}> +CONFIG_PWM_PCA9685 policy<{'riscv64': 'm'}> +CONFIG_PWM_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_PWM_STMPE policy<{'riscv64': 'y'}> +CONFIG_PWM_TWL policy<{'riscv64': 'm'}> +CONFIG_PWM_TWL_LED policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support +CONFIG_RAPIDIO policy<{'riscv64': 'y'}> +CONFIG_RAPIDIO_TSI721 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_DISC_TIMEOUT policy<{'riscv64': '30'}> +CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS policy<{'riscv64': 'n'}> +CONFIG_RAPIDIO_DMA_ENGINE policy<{'riscv64': 'y'}> +CONFIG_RAPIDIO_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RAPIDIO_CHMAN policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_MPORT_CDEV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> Enumeration method +CONFIG_RAPIDIO_ENUM_BASIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> RapidIO Switch drivers +CONFIG_RAPIDIO_TSI57X policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_CPS_XX policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_TSI568 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_CPS_GEN2 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_RXS_GEN3 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Real Time Clock +CONFIG_RTC_CLASS policy<{'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS policy<{'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS_DEVICE policy<{'riscv64': '"rtc0"'}> +CONFIG_RTC_SYSTOHC policy<{'riscv64': 'y'}> +CONFIG_RTC_SYSTOHC_DEVICE policy<{'riscv64': '"rtc0"'}> +CONFIG_RTC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RTC_NVMEM policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_SYSFS policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_PROC policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV_UIE_EMUL policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_TEST policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_88PM860X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_88PM80X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABB5ZES3 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABEOZ9 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABX80X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_AS3722 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307_CENTURY policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1374 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1374_WDT policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1672 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_HYM8563 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_LP8788 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6900 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RK808 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C372 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL1208 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12022 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12026 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_X1205 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8523 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85063 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85363 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8563 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8583 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80_WDT policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_BD70528 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ32K policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PALMAS policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS6586X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS65910 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS80031 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T583 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T619 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_S35390A policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_FM3130 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8010 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8581 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8025 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_EM3027 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3028 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV8803 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_S5M policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_SD3078 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T93 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T94 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1302 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1305 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1343 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1347 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1390 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6916 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_R9701 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX4581 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX6110 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C348 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6902 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF2123 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MCP795 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232_HWMON policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_PCF2127 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029C2 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029_HWMON policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1286 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1511 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1553 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1685_FAMILY policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1742 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS2404 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9052 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9055 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9063 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_STK17TA8 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T86 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T35 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T59 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MSM6242 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ4802 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RP5C01 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_V3020 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_WM831X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_WM8350 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_AB3100 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ZYNQMP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_CADENCE policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_FTRTC010 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCAP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MC13XXX policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MT6397 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_R7301 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_CPCAP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_HID_SENSOR_TIME policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_GOLDFISH policy<{'riscv64': 'y'}> +# +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<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1689 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17285 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17485 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17885 policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features +CONFIG_RAS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features >> Architecture: riscv + +# Menu: Device Drivers >> Remote Controller support +CONFIG_RC_CORE policy<{'riscv64': 'm'}> +CONFIG_RC_MAP policy<{'riscv64': 'm'}> +CONFIG_LIRC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Remote Controller support >> Remote Controller devices +CONFIG_RC_DEVICES policy<{'riscv64': 'y'}> +CONFIG_RC_ATI_REMOTE policy<{'riscv64': 'm'}> +CONFIG_IR_HIX5HD2 policy<{'riscv64': 'm'}> +CONFIG_IR_IMON policy<{'riscv64': 'm'}> +CONFIG_IR_IMON_RAW policy<{'riscv64': 'm'}> +CONFIG_IR_MCEUSB policy<{'riscv64': 'm'}> +CONFIG_IR_REDRAT3 policy<{'riscv64': 'm'}> +CONFIG_IR_SPI policy<{'riscv64': 'm'}> +CONFIG_IR_STREAMZAP policy<{'riscv64': 'm'}> +CONFIG_IR_IGORPLUGUSB policy<{'riscv64': 'm'}> +CONFIG_IR_IGUANA policy<{'riscv64': 'm'}> +CONFIG_IR_TTUSBIR policy<{'riscv64': 'm'}> +CONFIG_RC_LOOPBACK policy<{'riscv64': 'm'}> +CONFIG_IR_GPIO_CIR policy<{'riscv64': 'm'}> +CONFIG_IR_GPIO_TX policy<{'riscv64': 'm'}> +CONFIG_IR_PWM_TX policy<{'riscv64': 'm'}> +CONFIG_IR_SERIAL policy<{'riscv64': 'm'}> +CONFIG_IR_SERIAL_TRANSMITTER policy<{'riscv64': 'y'}> +CONFIG_IR_SIR policy<{'riscv64': 'm'}> +CONFIG_RC_XBOX_DVD policy<{'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<{'riscv64': 'y'}> +CONFIG_IR_NEC_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RC5_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RC6_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_JVC_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SONY_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SANYO_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SHARP_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_MCE_KBD_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_XMP_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_IMON_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RCMM_DECODER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Remoteproc drivers + +# Menu: Device Drivers >> Remoteproc drivers >> Support for Remote Processor subsystem +CONFIG_REMOTEPROC policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Reset Controller Support +CONFIG_RESET_CONTROLLER policy<{'riscv64': 'y'}> +CONFIG_RESET_BRCMSTB_RESCAL policy<{'riscv64': 'y'}> +CONFIG_RESET_INTEL_GW policy<{'riscv64': 'y'}> +CONFIG_RESET_TI_SYSCON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Rpmsg drivers +CONFIG_RPMSG_CHAR policy<{'riscv64': 'm'}> +CONFIG_RPMSG_QCOM_GLINK_RPM policy<{'riscv64': 'm'}> +CONFIG_RPMSG_VIRTIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support +CONFIG_RAID_ATTRS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support +CONFIG_SCSI policy<{'riscv64': 'y'}> +CONFIG_SCSI_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_SD policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_ST policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SR policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_SG policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_SCH policy<{'riscv64': 'm'}> +CONFIG_SCSI_ENCLOSURE policy<{'riscv64': 'm'}> +CONFIG_SCSI_CONSTANTS policy<{'riscv64': 'y'}> +CONFIG_SCSI_LOGGING policy<{'riscv64': 'y'}> +CONFIG_SCSI_SCAN_ASYNC policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SCSI_DH_RDAC policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_HP_SW policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_EMC policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_ALUA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI Transports +CONFIG_SCSI_SPI_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_FC_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ISCSI_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_LIBSAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_ATA policy<{'riscv64': 'y'}> +CONFIG_SCSI_SAS_HOST_SMP policy<{'riscv64': 'y'}> +CONFIG_SCSI_SRP_ATTRS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers +CONFIG_SCSI_LOWLEVEL policy<{'riscv64': 'y'}> +CONFIG_ISCSI_TCP policy<{'riscv64': 'm'}> +CONFIG_ISCSI_BOOT_SYSFS policy<{'riscv64': 'm'}> +CONFIG_SCSI_CXGB3_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_CXGB4_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_BNX2_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_BNX2X_FCOE policy<{'riscv64': 'm'}> +CONFIG_BE2ISCSI policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_3W_XXXX_RAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_HPSA policy<{'riscv64': 'm'}> +CONFIG_SCSI_3W_9XXX policy<{'riscv64': 'm'}> +CONFIG_SCSI_3W_SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ACARD policy<{'riscv64': 'm'}> +CONFIG_SCSI_AACRAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_AIC94XX policy<{'riscv64': 'm'}> +CONFIG_AIC94XX_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVSAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MVSAS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVSAS_TASKLET policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVUMI policy<{'riscv64': 'm'}> +CONFIG_SCSI_ADVANSYS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ARCMSR policy<{'riscv64': 'm'}> +CONFIG_SCSI_ESAS2R policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_NEWGEN policy<{'riscv64': 'y'}> +CONFIG_MEGARAID_MM policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_MAILBOX policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_LEGACY policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MPT3SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MPT2SAS_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_SCSI_MPT3SAS_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_SCSI_MPT2SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SMARTPQI policy<{'riscv64': 'm'}> +CONFIG_SCSI_HPTIOP policy<{'riscv64': 'm'}> +CONFIG_SCSI_MYRB policy<{'riscv64': 'm'}> +CONFIG_SCSI_MYRS policy<{'riscv64': 'm'}> +CONFIG_LIBFC policy<{'riscv64': 'm'}> +CONFIG_SCSI_SNIC policy<{'riscv64': 'm'}> +CONFIG_SCSI_SNIC_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_SCSI_DMX3191D policy<{'riscv64': 'm'}> +CONFIG_SCSI_FDOMAIN_PCI policy<{'riscv64': 'n'}> +CONFIG_SCSI_GDTH policy<{'riscv64': 'n'}> +CONFIG_SCSI_IPS policy<{'riscv64': 'm'}> +CONFIG_SCSI_INITIO policy<{'riscv64': 'm'}> +CONFIG_SCSI_INIA100 policy<{'riscv64': 'm'}> +CONFIG_SCSI_STEX policy<{'riscv64': 'm'}> +CONFIG_SCSI_IPR policy<{'riscv64': 'm'}> +CONFIG_SCSI_IPR_TRACE policy<{'riscv64': 'y'}> +CONFIG_SCSI_IPR_DUMP policy<{'riscv64': 'y'}> +CONFIG_SCSI_QLOGIC_1280 policy<{'riscv64': 'm'}> +CONFIG_SCSI_QLA_FC policy<{'riscv64': 'm'}> +CONFIG_TCM_QLA2XXX policy<{'riscv64': 'm'}> +CONFIG_TCM_QLA2XXX_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_QLA_ISCSI policy<{'riscv64': 'm'}> +CONFIG_QEDI policy<{'riscv64': 'm'}> +CONFIG_SCSI_LPFC policy<{'riscv64': 'm'}> +CONFIG_SCSI_LPFC_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_SCSI_DC395x policy<{'riscv64': 'm'}> +CONFIG_SCSI_AM53C974 policy<{'riscv64': 'm'}> +CONFIG_SCSI_WD719X policy<{'riscv64': 'm'}> +CONFIG_SCSI_DEBUG policy<{'riscv64': 'm'}> +CONFIG_SCSI_PMCRAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_PM8001 policy<{'riscv64': 'm'}> +CONFIG_SCSI_BFA_FC policy<{'riscv64': 'm'}> +CONFIG_SCSI_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_SCSI_CHELSIO_FCOE policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_AIC79XX_CMDS_PER_DEVICE policy<{'riscv64': '32'}> +CONFIG_AIC79XX_RESET_DELAY_MS policy<{'riscv64': '5000'}> +CONFIG_AIC79XX_DEBUG_ENABLE policy<{'riscv64': 'n'}> +CONFIG_AIC79XX_DEBUG_MASK policy<{'riscv64': '0'}> +CONFIG_AIC79XX_REG_PRETTY_PRINT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Adaptec AIC7xxx Fast -> U160 support +CONFIG_SCSI_AIC7XXX policy<{'riscv64': 'm'}> +CONFIG_AIC7XXX_CMDS_PER_DEVICE policy<{'riscv64': '8'}> +CONFIG_AIC7XXX_RESET_DELAY_MS policy<{'riscv64': '5000'}> +CONFIG_AIC7XXX_DEBUG_ENABLE policy<{'riscv64': 'n'}> +CONFIG_AIC7XXX_DEBUG_MASK policy<{'riscv64': '0'}> +CONFIG_AIC7XXX_REG_PRETTY_PRINT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> LibFCoE module +CONFIG_LIBFCOE policy<{'riscv64': 'm'}> +CONFIG_FCOE policy<{'riscv64': 'm'}> +CONFIG_QEDF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> PCMCIA SCSI adapter support + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> SYM53C8XX Version 2 SCSI support +CONFIG_SCSI_SYM53C8XX_2 policy<{'riscv64': 'm'}> +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE policy<{'riscv64': '1'}> +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS policy<{'riscv64': '16'}> +CONFIG_SCSI_SYM53C8XX_MAX_TAGS policy<{'riscv64': '64'}> +CONFIG_SCSI_SYM53C8XX_MMIO policy<{'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<{'riscv64': 'm'}> +CONFIG_SCSI_UFSHCD_PCI policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PCI policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_BSG policy<{'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<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_CDNS_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PLATFORM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Zalon SCSI support + +# Menu: Device Drivers >> SLIMbus support +CONFIG_SLIMBUS policy<{'riscv64': 'm'}> +CONFIG_SLIM_QCOM_CTRL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers +CONFIG_SIFIVE_L2 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Amlogic SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Aspeed SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Broadcom SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> IXP4xx SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> MediaTek SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers >> QorIQ DPAA1 framework support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers >> Qualcomm Shared Memory Manager (SMEM) + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Renesas SoC driver support +# +CONFIG_ARCH_R8A73A4 flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Samsung SoC driver support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> TI SOC drivers support +CONFIG_SOC_TI policy<{'riscv64': 'y'}> +# +CONFIG_SOC_TI flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Xilinx SoC drivers +CONFIG_XILINX_VCU policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> ZTE SoC driver support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> i.MX SoC drivers + +# Menu: Device Drivers >> SPI support +CONFIG_SPI policy<{'riscv64': 'y'}> +CONFIG_SPI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SPI_MEM policy<{'riscv64': 'y'}> +CONFIG_SPI_ALTERA policy<{'riscv64': 'm'}> +CONFIG_SPI_AXI_SPI_ENGINE policy<{'riscv64': 'm'}> +CONFIG_SPI_BITBANG policy<{'riscv64': 'm'}> +CONFIG_SPI_BUTTERFLY policy<{'riscv64': 'm'}> +CONFIG_SPI_CADENCE policy<{'riscv64': 'm'}> +CONFIG_SPI_DLN2 policy<{'riscv64': 'm'}> +CONFIG_SPI_FSI policy<{'riscv64': 'm'}> +CONFIG_SPI_NXP_FLEXSPI policy<{'riscv64': 'm'}> +CONFIG_SPI_GPIO policy<{'riscv64': 'm'}> +CONFIG_SPI_LM70_LLP policy<{'riscv64': 'm'}> +CONFIG_SPI_FSL_SPI policy<{'riscv64': 'y'}> +CONFIG_SPI_OC_TINY policy<{'riscv64': 'm'}> +CONFIG_SPI_PXA2XX policy<{'riscv64': 'm'}> +CONFIG_SPI_ROCKCHIP policy<{'riscv64': 'n'}> +CONFIG_SPI_SC18IS602 policy<{'riscv64': 'm'}> +CONFIG_SPI_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SPI_MXIC policy<{'riscv64': 'm'}> +CONFIG_SPI_XCOMM policy<{'riscv64': 'm'}> +CONFIG_SPI_XILINX policy<{'riscv64': 'n'}> +CONFIG_SPI_ZYNQMP_GQSPI policy<{'riscv64': 'm'}> +CONFIG_SPI_AMD policy<{'riscv64': 'm'}> +CONFIG_SPI_MUX policy<{'riscv64': 'm'}> +CONFIG_SPI_SPIDEV policy<{'riscv64': 'm'}> +CONFIG_SPI_LOOPBACK_TEST policy<{'riscv64': 'm'}> +CONFIG_SPI_TLE62X0 policy<{'riscv64': 'm'}> +CONFIG_SPI_SLAVE policy<{'riscv64': 'y'}> +CONFIG_SPI_SLAVE_TIME policy<{'riscv64': 'm'}> +CONFIG_SPI_SLAVE_SYSTEM_CONTROL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SPI support >> DesignWare SPI controller core support +CONFIG_SPI_DESIGNWARE policy<{'riscv64': 'm'}> +CONFIG_SPI_DW_DMA policy<{'riscv64': 'y'}> +CONFIG_SPI_DW_PCI policy<{'riscv64': 'm'}> +CONFIG_SPI_DW_MMIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SPMI support +CONFIG_SPMI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) +CONFIG_ATA policy<{'riscv64': 'y'}> +CONFIG_ATA_VERBOSE_ERROR policy<{'riscv64': 'y'}> +CONFIG_ATA_FORCE policy<{'riscv64': 'y'}> +CONFIG_SATA_PMP policy<{'riscv64': 'y'}> +CONFIG_SATA_AHCI policy<{'riscv64': 'm'}> +CONFIG_SATA_MOBILE_LPM_POLICY policy<{'riscv64': '3'}> +CONFIG_SATA_AHCI_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_AHCI_CEVA policy<{'riscv64': 'm'}> +CONFIG_AHCI_QORIQ policy<{'riscv64': 'm'}> +CONFIG_SATA_INIC162X policy<{'riscv64': 'm'}> +CONFIG_SATA_ACARD_AHCI policy<{'riscv64': 'm'}> +CONFIG_SATA_SIL24 policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_PDC_ADMA policy<{'riscv64': 'm'}> +CONFIG_SATA_QSTOR policy<{'riscv64': 'm'}> +CONFIG_SATA_SX4 policy<{'riscv64': 'm'}> +CONFIG_PATA_CMD640_PCI policy<{'riscv64': 'm'}> +CONFIG_PATA_MPIIX policy<{'riscv64': 'm'}> +CONFIG_PATA_NS87410 policy<{'riscv64': 'm'}> +CONFIG_PATA_OPTI policy<{'riscv64': 'm'}> +CONFIG_PATA_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_PATA_OF_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_PATA_RZ1000 policy<{'riscv64': 'm'}> +CONFIG_PATA_LEGACY policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'y'}> +CONFIG_ATA_PIIX policy<{'riscv64': 'm'}> +CONFIG_SATA_DWC policy<{'riscv64': 'm'}> +CONFIG_SATA_DWC_OLD_DMA policy<{'riscv64': 'y'}> +CONFIG_SATA_DWC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SATA_MV policy<{'riscv64': 'm'}> +CONFIG_SATA_NV policy<{'riscv64': 'm'}> +CONFIG_SATA_PROMISE policy<{'riscv64': 'm'}> +CONFIG_SATA_SIL policy<{'riscv64': 'm'}> +CONFIG_SATA_SIS policy<{'riscv64': 'm'}> +CONFIG_SATA_SVW policy<{'riscv64': 'm'}> +CONFIG_SATA_ULI policy<{'riscv64': 'm'}> +CONFIG_SATA_VIA policy<{'riscv64': 'm'}> +CONFIG_SATA_VITESSE policy<{'riscv64': 'm'}> +CONFIG_PATA_ALI policy<{'riscv64': 'm'}> +CONFIG_PATA_AMD policy<{'riscv64': 'm'}> +CONFIG_PATA_ARTOP policy<{'riscv64': 'm'}> +CONFIG_PATA_ATIIXP policy<{'riscv64': 'm'}> +CONFIG_PATA_ATP867X policy<{'riscv64': 'm'}> +CONFIG_PATA_CMD64X policy<{'riscv64': 'm'}> +CONFIG_PATA_CYPRESS policy<{'riscv64': 'm'}> +CONFIG_PATA_EFAR policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT366 policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT37X policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X2N policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X3 policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X3_DMA policy<{'riscv64': 'n'}> +CONFIG_PATA_IT8213 policy<{'riscv64': 'm'}> +CONFIG_PATA_IT821X policy<{'riscv64': 'm'}> +CONFIG_PATA_JMICRON policy<{'riscv64': 'm'}> +CONFIG_PATA_MARVELL policy<{'riscv64': 'm'}> +CONFIG_PATA_NETCELL policy<{'riscv64': 'm'}> +CONFIG_PATA_NINJA32 policy<{'riscv64': 'm'}> +CONFIG_PATA_NS87415 policy<{'riscv64': 'm'}> +CONFIG_PATA_OLDPIIX policy<{'riscv64': 'm'}> +CONFIG_PATA_OPTIDMA policy<{'riscv64': 'm'}> +CONFIG_PATA_PDC2027X policy<{'riscv64': 'm'}> +CONFIG_PATA_PDC_OLD policy<{'riscv64': 'm'}> +CONFIG_PATA_RADISYS policy<{'riscv64': 'm'}> +CONFIG_PATA_RDC policy<{'riscv64': 'm'}> +CONFIG_PATA_SCH policy<{'riscv64': 'm'}> +CONFIG_PATA_SERVERWORKS policy<{'riscv64': 'm'}> +CONFIG_PATA_SIL680 policy<{'riscv64': 'm'}> +CONFIG_PATA_SIS policy<{'riscv64': 'm'}> +CONFIG_PATA_TOSHIBA policy<{'riscv64': 'm'}> +CONFIG_PATA_TRIFLEX policy<{'riscv64': 'm'}> +CONFIG_PATA_VIA policy<{'riscv64': 'm'}> +CONFIG_PATA_WINBOND policy<{'riscv64': 'm'}> +CONFIG_ATA_GENERIC policy<{'riscv64': 'm'}> +# +CONFIG_PATA_HPT3X3_DMA note +CONFIG_ATA_PIIX mark note + +# Menu: Device Drivers >> Sonics Silicon Backplane support +CONFIG_SSB policy<{'riscv64': 'm'}> +CONFIG_SSB_PCIHOST policy<{'riscv64': 'y'}> +CONFIG_SSB_SDIOHOST policy<{'riscv64': 'y'}> +CONFIG_SSB_DRIVER_PCICORE policy<{'riscv64': 'y'}> +CONFIG_SSB_DRIVER_GPIO policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Sony MemoryStick card support +CONFIG_MEMSTICK policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MEMSTICK_UNSAFE_RESUME policy<{'riscv64': 'n'}> +CONFIG_MSPRO_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MS_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_TIFM_MS policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_JMICRON_38X policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_R592 policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_PCI policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support +CONFIG_SOUND policy<{'riscv64': 'm'}> +CONFIG_SOUND_OSS_CORE_PRECLAIM policy<{'riscv64': 'n'}> +# +CONFIG_SOUND note +CONFIG_SOUND_OSS_CORE_PRECLAIM mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture +CONFIG_SND policy<{'riscv64': 'm'}> +CONFIG_SND_OSSEMUL policy<{'riscv64': 'y'}> +CONFIG_SND_MIXER_OSS policy<{'riscv64': 'm'}> +CONFIG_SND_PCM_OSS policy<{'riscv64': 'n'}> +CONFIG_SND_PCM_TIMER policy<{'riscv64': 'y'}> +CONFIG_SND_HRTIMER policy<{'riscv64': 'm'}> +CONFIG_SND_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_SND_MAX_CARDS policy<{'riscv64': '32'}> +CONFIG_SND_SUPPORT_OLD_API policy<{'riscv64': 'y'}> +CONFIG_SND_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PROCFS policy<{'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PRINTK policy<{'riscv64': 'n'}> +CONFIG_SND_HDA_PREALLOC_SIZE policy<{'riscv64': '64'}> +# +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<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_ACP policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH policy<{'riscv64': 'm'}> +CONFIG_SND_BCM63XX_I2S_WHISTLER policy<{'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_PCM policy<{'riscv64': 'y'}> +CONFIG_SND_I2S_HI6210_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MTK_BTCVSD policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XTFPGA_I2S policy<{'riscv64': 'm'}> +CONFIG_ZX_TDM policy<{'riscv64': 'm'}> +CONFIG_SND_SIMPLE_CARD policy<{'riscv64': 'm'}> +CONFIG_SND_AUDIO_GRAPH_CARD policy<{'riscv64': 'm'}> +# +CONFIG_SND_SOC note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Amlogic platforms + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Mediatek MT8173 chip + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Rockchip + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Samsung + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for UniPhier + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Allwinner SoC Audio support + +# 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<{'riscv64': 'y'}> +CONFIG_SND_SOC_IMG_I2S_IN policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_I2S_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PARALLEL_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_IN policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Audio support for Texas Instruments SoCs + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1701 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7002 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_HW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4104 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4118 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4458 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4554 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4613 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4642 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK5386 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK5558 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ALC5623 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_BD28623 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_BT_SCO policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CPCAP policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L32 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L33 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L34 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L35 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L36 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L42 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L51_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L52 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L56 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L73 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4265 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4270 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42XX8_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS43130 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4341 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4349 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS53L30 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CX2072X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_DA7213 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_DMIC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES7134 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES7241 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8316 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_GTM601 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_INNO_RK3036 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_LOCHNAGAR_SC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98088 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98357A policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98504 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9867 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98927 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98373 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98390 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9860 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_ANALOG policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1681 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1789_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RK3328 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT1308_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5616 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5631 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5682_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT700_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT711_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT715_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SGTL5000 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SIMPLE_AMPLIFIER policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SIRF_AUDIO_CODEC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2305 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM4567 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STA32X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STA350 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STI_SAS policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2552 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2562 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2770 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5086 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS571X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5720 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS6424 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TDA7419 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TFA9879 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC31XX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC3X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320ADCX140 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TS3A227E policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS42XX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS454 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_UDA1334 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WCD9335 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WCD934X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8510 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8523 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8524 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8580 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8711 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8728 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8731 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8737 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8741 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8750 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8753 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8770 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8776 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8782 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8903 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8904 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8960 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8962 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8974 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8978 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8985 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WSA881X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ZL38060 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ZX_AUD96P22 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9759 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6351 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6358 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6660 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8540 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8810 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8822 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8824 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TPA6130A2 policy<{'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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Intel ASoC SST drivers >> Intel Machine drivers + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SAI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MQS policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_AUDMIX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SSI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_ESAI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MICFIL policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_EASRC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMX_AUDMUX policy<{'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 + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_MIKROE_PROTO policy<{'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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio support for Renesas SoCs + +# 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<{'riscv64': 'y'}> +CONFIG_SND_SOC_SOF_PCI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_OF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_DEBUG_PROBES policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'n'}> + +# 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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ARM sound devices + +# 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<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> FireWire sound devices +CONFIG_SND_FIREWIRE policy<{'riscv64': 'y'}> +CONFIG_SND_DICE policy<{'riscv64': 'm'}> +CONFIG_SND_OXFW policy<{'riscv64': 'm'}> +CONFIG_SND_ISIGHT policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWORKS policy<{'riscv64': 'm'}> +CONFIG_SND_BEBOB policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_DIGI00X policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_TASCAM policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_MOTU policy<{'riscv64': 'm'}> +CONFIG_SND_FIREFACE policy<{'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<{'riscv64': 'y'}> +CONFIG_SND_DUMMY policy<{'riscv64': 'm'}> +CONFIG_SND_ALOOP policy<{'riscv64': 'm'}> +CONFIG_SND_VIRMIDI policy<{'riscv64': 'm'}> +CONFIG_SND_MTPAV policy<{'riscv64': 'm'}> +CONFIG_SND_MTS64 policy<{'riscv64': 'm'}> +CONFIG_SND_SERIAL_U16550 policy<{'riscv64': 'm'}> +CONFIG_SND_MPU401 policy<{'riscv64': 'm'}> +CONFIG_SND_PORTMAN2X4 policy<{'riscv64': 'm'}> +CONFIG_SND_AC97_POWER_SAVE policy<{'riscv64': 'y'}> +CONFIG_SND_AC97_POWER_SAVE_DEFAULT policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> HD-Audio +CONFIG_SND_HDA_INTEL policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_HWDEP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_RECONFIG policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP_MODE policy<{'riscv64': '0'}> +CONFIG_SND_HDA_PATCH_LOADER policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_REALTEK policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_ANALOG policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SIGMATEL policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_VIA policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_HDMI policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CIRRUS policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CONEXANT policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0110 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132_DSP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_CMEDIA policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SI3054 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_GENERIC policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_SND_AD1889 policy<{'riscv64': 'm'}> +CONFIG_SND_ATIIXP policy<{'riscv64': 'm'}> +CONFIG_SND_ATIIXP_MODEM policy<{'riscv64': 'm'}> +CONFIG_SND_AU8810 policy<{'riscv64': 'm'}> +CONFIG_SND_AU8820 policy<{'riscv64': 'm'}> +CONFIG_SND_AU8830 policy<{'riscv64': 'm'}> +CONFIG_SND_AW2 policy<{'riscv64': 'm'}> +CONFIG_SND_BT87X policy<{'riscv64': 'm'}> +CONFIG_SND_BT87X_OVERCLOCK policy<{'riscv64': 'n'}> +CONFIG_SND_CA0106 policy<{'riscv64': 'm'}> +CONFIG_SND_CMIPCI policy<{'riscv64': 'm'}> +CONFIG_SND_OXYGEN policy<{'riscv64': 'm'}> +CONFIG_SND_CS4281 policy<{'riscv64': 'm'}> +CONFIG_SND_CS46XX policy<{'riscv64': 'm'}> +CONFIG_SND_CS46XX_NEW_DSP policy<{'riscv64': 'y'}> +CONFIG_SND_CTXFI policy<{'riscv64': 'm'}> +CONFIG_SND_DARLA20 policy<{'riscv64': 'm'}> +CONFIG_SND_GINA20 policy<{'riscv64': 'm'}> +CONFIG_SND_LAYLA20 policy<{'riscv64': 'm'}> +CONFIG_SND_DARLA24 policy<{'riscv64': 'm'}> +CONFIG_SND_GINA24 policy<{'riscv64': 'm'}> +CONFIG_SND_LAYLA24 policy<{'riscv64': 'm'}> +CONFIG_SND_MONA policy<{'riscv64': 'm'}> +CONFIG_SND_MIA policy<{'riscv64': 'm'}> +CONFIG_SND_ECHO3G policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGO policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGOIO policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGODJ policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGOIOX policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGODJX policy<{'riscv64': 'm'}> +CONFIG_SND_ENS1370 policy<{'riscv64': 'm'}> +CONFIG_SND_ENS1371 policy<{'riscv64': 'm'}> +CONFIG_SND_FM801 policy<{'riscv64': 'm'}> +CONFIG_SND_FM801_TEA575X_BOOL policy<{'riscv64': 'y'}> +CONFIG_SND_HDSP policy<{'riscv64': 'm'}> +CONFIG_SND_HDSPM policy<{'riscv64': 'm'}> +CONFIG_SND_ICE1724 policy<{'riscv64': 'm'}> +CONFIG_SND_INTEL8X0 policy<{'riscv64': 'm'}> +CONFIG_SND_INTEL8X0M policy<{'riscv64': 'm'}> +CONFIG_SND_KORG1212 policy<{'riscv64': 'm'}> +CONFIG_SND_LOLA policy<{'riscv64': 'm'}> +CONFIG_SND_LX6464ES policy<{'riscv64': 'm'}> +CONFIG_SND_MIXART policy<{'riscv64': 'm'}> +CONFIG_SND_NM256 policy<{'riscv64': 'm'}> +CONFIG_SND_PCXHR policy<{'riscv64': 'm'}> +CONFIG_SND_RIPTIDE policy<{'riscv64': 'm'}> +CONFIG_SND_RME32 policy<{'riscv64': 'm'}> +CONFIG_SND_RME96 policy<{'riscv64': 'm'}> +CONFIG_SND_RME9652 policy<{'riscv64': 'm'}> +CONFIG_SND_VIA82XX policy<{'riscv64': 'm'}> +CONFIG_SND_VIA82XX_MODEM policy<{'riscv64': 'm'}> +CONFIG_SND_VIRTUOSO policy<{'riscv64': 'm'}> +CONFIG_SND_VX222 policy<{'riscv64': 'm'}> +CONFIG_SND_YMFPCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PCMCIA sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PowerPC sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> SPI sound devices +CONFIG_SND_SPI policy<{'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<{'riscv64': 'm'}> +CONFIG_SND_SEQ_DUMMY policy<{'riscv64': 'm'}> +CONFIG_SND_SEQUENCER_OSS policy<{'riscv64': 'n'}> +CONFIG_SND_SEQ_HRTIMER_DEFAULT policy<{'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<{'riscv64': 'y'}> +CONFIG_SND_USB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_SND_USB_UA101 policy<{'riscv64': 'm'}> +CONFIG_SND_USB_CAIAQ policy<{'riscv64': 'm'}> +CONFIG_SND_USB_CAIAQ_INPUT policy<{'riscv64': 'y'}> +CONFIG_SND_USB_6FIRE policy<{'riscv64': 'm'}> +CONFIG_SND_USB_HIFACE policy<{'riscv64': 'm'}> +CONFIG_SND_BCD2000 policy<{'riscv64': 'm'}> +CONFIG_SND_USB_POD policy<{'riscv64': 'm'}> +CONFIG_SND_USB_PODHD policy<{'riscv64': 'm'}> +CONFIG_SND_USB_TONEPORT policy<{'riscv64': 'm'}> +CONFIG_SND_USB_VARIAX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> X86 sound devices + +# Menu: Device Drivers >> SoundWire support +CONFIG_SOUNDWIRE policy<{'riscv64': 'm'}> +CONFIG_SOUNDWIRE_QCOM policy<{'riscv64': 'm'}> +# +CONFIG_SOUNDWIRE mark note + +# Menu: Device Drivers >> Staging drivers +CONFIG_STAGING policy<{'riscv64': 'y'}> +CONFIG_PRISM2_USB policy<{'riscv64': 'm'}> +CONFIG_RTL8192U policy<{'riscv64': 'm'}> +CONFIG_RTL8723BS policy<{'riscv64': 'm'}> +CONFIG_R8712U policy<{'riscv64': 'm'}> +CONFIG_R8188EU policy<{'riscv64': 'm'}> +CONFIG_88EU_AP_MODE policy<{'riscv64': 'y'}> +CONFIG_RTS5208 policy<{'riscv64': 'm'}> +CONFIG_VT6655 policy<{'riscv64': 'm'}> +CONFIG_VT6656 policy<{'riscv64': 'm'}> +CONFIG_FB_SM750 policy<{'riscv64': 'm'}> +CONFIG_STAGING_BOARD policy<{'riscv64': 'n'}> +CONFIG_LTE_GDM724X policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_SERIAL policy<{'riscv64': 'm'}> +CONFIG_FWTTY_MAX_TOTAL_PORTS policy<{'riscv64': '64'}> +CONFIG_FWTTY_MAX_CARD_PORTS policy<{'riscv64': '32'}> +CONFIG_GOLDFISH_AUDIO policy<{'riscv64': 'm'}> +CONFIG_GS_FPGABOOT policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_XLNX_CLKWZRD policy<{'riscv64': 'n'}> +CONFIG_WILC1000_SDIO policy<{'riscv64': 'm'}> +CONFIG_WILC1000_SPI policy<{'riscv64': 'm'}> +CONFIG_WILC1000_HW_OOB_INTR policy<{'riscv64': 'y'}> +CONFIG_KS7010 policy<{'riscv64': 'm'}> +CONFIG_PI433 policy<{'riscv64': 'm'}> +CONFIG_XIL_AXIS_FIFO policy<{'riscv64': 'm'}> +CONFIG_QLGE policy<{'riscv64': 'm'}> +CONFIG_WFX policy<{'riscv64': 'm'}> +# +CONFIG_STAGING flag + +# Menu: Device Drivers >> Staging drivers >> Android +CONFIG_ASHMEM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Android >> Ion Memory Manager +CONFIG_ION policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Staging drivers >> Broadcom VideoCore support + +# Menu: Device Drivers >> Staging drivers >> Daktronics KPC Device support +CONFIG_KPC2000 policy<{'riscv64': 'y'}> +CONFIG_KPC2000_CORE policy<{'riscv64': 'm'}> +CONFIG_KPC2000_SPI policy<{'riscv64': 'm'}> +CONFIG_KPC2000_I2C policy<{'riscv64': 'm'}> +CONFIG_KPC2000_DMA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) +CONFIG_COMEDI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB policy<{'riscv64': '2048'}> +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB policy<{'riscv64': '20480'}> +CONFIG_COMEDI_8255_SA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_KCOMEDILIB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi ISA and PC/104 drivers +CONFIG_COMEDI_ISA_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_COMEDI_PCL711 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL726 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL730 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL812 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL816 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL818 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCM3724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTI800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTI802 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAC02 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS16M1 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS16 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS1800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS6402 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2801 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2811 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2814 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2815 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2817 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT282X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DMM32AT policy<{'riscv64': 'm'}> +CONFIG_COMEDI_FL512 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AIO_AIO12_8 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AIO_IIRO_16 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_II_PCI20KC policy<{'riscv64': 'm'}> +CONFIG_COMEDI_C6XDIGIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MPC624 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADQ12B policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_A2150 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_AO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO16D policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMAD policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMDA12 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMUIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MULTIQ3 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_S526 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi PCI drivers +CONFIG_COMEDI_PCI_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_8255_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1032 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1500 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1516 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1564 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_16XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2032 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2200 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3120 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3501 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3XXX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI6208 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI7X3X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI8164 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9111 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9118 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1710 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1720 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1723 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1760 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI_DIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI224 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI230 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CONTEC_PCI_DIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT3000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DYNA_PCI10XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_GSC_HPDI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MF6X4 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ICP_MULTI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAQBOARD2000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_JR3_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_KE_COUNTER policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS64 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDDA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDAS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDDA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ME4000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ME_DAQ policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_6527 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_65XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_660X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_670X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIDIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTD520 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_S626 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi PCMCIA drivers + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi USB drivers +CONFIG_COMEDI_USB_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT9812 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_USB6501 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXFAST policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXSIGMA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_VMK80XX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi misc drivers +CONFIG_COMEDI_MISC_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_COMEDI_BOND policy<{'riscv64': 'm'}> +CONFIG_COMEDI_TEST policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PARPORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Fieldbus Device Support +CONFIG_FIELDBUS_DEV policy<{'riscv64': 'm'}> +CONFIG_HMS_ANYBUSS_BUS policy<{'riscv64': 'm'}> +CONFIG_ARCX_ANYBUS_CONTROLLER policy<{'riscv64': 'm'}> +CONFIG_HMS_PROFINET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Gasket devices + +# Menu: Device Drivers >> Staging drivers >> Greybus Bridged PHY Class drivers + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Accelerometers +CONFIG_ADIS16203 policy<{'riscv64': 'm'}> +CONFIG_ADIS16240 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Active energy metering IC +CONFIG_ADE7854 policy<{'riscv64': 'm'}> +CONFIG_ADE7854_I2C policy<{'riscv64': 'm'}> +CONFIG_ADE7854_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog digital bi-direction converters +CONFIG_ADT7316 policy<{'riscv64': 'm'}> +CONFIG_ADT7316_SPI policy<{'riscv64': 'm'}> +CONFIG_ADT7316_I2C policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog to digital converters +CONFIG_AD7816 policy<{'riscv64': 'm'}> +CONFIG_AD7280 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Capacitance to digital converters +CONFIG_AD7150 policy<{'riscv64': 'm'}> +CONFIG_AD7746 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Direct Digital Synthesis +CONFIG_AD9832 policy<{'riscv64': 'm'}> +CONFIG_AD9834 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Network Analyzer, Impedance Converters +CONFIG_AD5933 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Resolver to digital converters +CONFIG_AD2S1210 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> MOST support +CONFIG_MOST_COMPONENTS policy<{'riscv64': 'm'}> +CONFIG_MOST_CDEV policy<{'riscv64': 'm'}> +CONFIG_MOST_NET policy<{'riscv64': 'm'}> +CONFIG_MOST_SOUND policy<{'riscv64': 'm'}> +CONFIG_MOST_VIDEO policy<{'riscv64': 'm'}> +CONFIG_MOST_DIM2 policy<{'riscv64': 'm'}> +CONFIG_MOST_I2C policy<{'riscv64': 'm'}> +CONFIG_MOST_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers +CONFIG_VIDEO_USBVISION policy<{'riscv64': 'm'}> +CONFIG_STAGING_MEDIA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Enable support to Intel Atom ISP camera drivers + +# 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 >> SoC camera support + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> i.MX5/6/7 Media Sub devices + +# Menu: Device Drivers >> Staging drivers >> NV Tegra Embedded Controller SMBus Interface + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech >> Speakup core +CONFIG_SPEAKUP policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_ACNTSA policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_APOLLO policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_AUDPTR policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_BNS policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECTLK policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECEXT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_LTLK policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_SOFT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_SPKOUT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_TXPRT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DUMMY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for rtllib wireless devices +CONFIG_RTLLIB policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_CCMP policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_TKIP policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_WEP policy<{'riscv64': 'm'}> +CONFIG_RTL8192E policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for small TFT LCD display modules +CONFIG_FB_TFT policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_AGM1264K_FL policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_BD663474 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8340BN policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8347D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8353D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8357D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9163 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9320 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9325 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9340 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9341 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9481 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9486 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_PCD8544 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_RA8875 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_S6D02A1 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_S6D1121 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SEPS525 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SH1106 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1289 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1305 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1306 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1331 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1351 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ST7735R policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ST7789V policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_TINYLCD policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_TLS8204 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UC1611 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UC1701 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UPD161704 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_WATTEROTT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Unisys SPAR driver support +CONFIG_UNISYSSPAR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> TEE drivers + +# Menu: Device Drivers >> TI VLYNQ + +# Menu: Device Drivers >> Thermal drivers +CONFIG_THERMAL policy<{'riscv64': 'y'}> +CONFIG_THERMAL_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS policy<{'riscv64': '0'}> +CONFIG_THERMAL_HWMON policy<{'riscv64': 'y'}> +CONFIG_THERMAL_WRITABLE_TRIPS policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_FAIR_SHARE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_STEP_WISE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_BANG_BANG policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_USER_SPACE policy<{'riscv64': 'y'}> +CONFIG_CLOCK_THERMAL policy<{'riscv64': 'n'}> +CONFIG_DEVFREQ_THERMAL policy<{'riscv64': 'y'}> +CONFIG_THERMAL_EMULATION policy<{'riscv64': 'y'}> +CONFIG_THERMAL_MMIO policy<{'riscv64': 'm'}> +CONFIG_MAX77620_THERMAL policy<{'riscv64': 'm'}> +CONFIG_DA9062_THERMAL policy<{'riscv64': 'm'}> +CONFIG_GENERIC_ADC_THERMAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> APIs to parse thermal data out of device tree +CONFIG_THERMAL_OF policy<{'riscv64': 'y'}> +CONFIG_CPU_THERMAL policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Thermal drivers >> Broadcom thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Default Thermal governor +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE policy<{'riscv64': 'n'}> +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers >> ACPI INT340X thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> NVIDIA Tegra thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Qualcomm thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> STMicroelectronics thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Samsung thermal drivers + +# 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<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support +CONFIG_USB_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_LED_TRIG policy<{'riscv64': 'y'}> +CONFIG_USB_ULPI_BUS policy<{'riscv64': 'm'}> +CONFIG_USB_CONN_GPIO policy<{'riscv64': 'm'}> +CONFIG_USB_PCI policy<{'riscv64': 'y'}> +CONFIG_USB_UHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_ROLE_SWITCH policy<{'riscv64': 'm'}> +# +CONFIG_USB_UHCI_HCD mark note flag + +# Menu: Device Drivers >> USB support >> ChipIdea Highspeed Dual Role Controller +CONFIG_USB_CHIPIDEA policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_UDC policy<{'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_HOST policy<{'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_PCI policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_MSM policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_IMX policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_GENERIC policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_TEGRA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB +CONFIG_USB policy<{'riscv64': 'y'}> +CONFIG_USB_ANNOUNCE_NEW_DEVICES policy<{'riscv64': 'y'}> +CONFIG_USB_DEFAULT_PERSIST policy<{'riscv64': 'y'}> +CONFIG_USB_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_USB_OTG_WHITELIST policy<{'riscv64': 'n'}> +CONFIG_USB_OTG_BLACKLIST_HUB policy<{'riscv64': 'n'}> +CONFIG_USB_LEDS_TRIGGER_USBPORT policy<{'riscv64': 'm'}> +CONFIG_USB_AUTOSUSPEND_DELAY policy<{'riscv64': '2'}> +CONFIG_USB_MON policy<{'riscv64': 'm'}> +CONFIG_USB_C67X00_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_OXU210HP_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_ISP116X_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_FOTG210_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_MAX3421_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_U132_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_SL811_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_SL811_HCD_ISO policy<{'riscv64': 'y'}> +CONFIG_USB_R8A66597_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_BCMA policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_SSB policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_TEST_MODE policy<{'riscv64': 'n'}> +CONFIG_USB_ACM policy<{'riscv64': 'm'}> +CONFIG_USB_PRINTER policy<{'riscv64': 'm'}> +CONFIG_USB_WDM policy<{'riscv64': 'm'}> +CONFIG_USB_TMC policy<{'riscv64': 'm'}> +CONFIG_USB_MDC800 policy<{'riscv64': 'm'}> +CONFIG_USB_MICROTEK policy<{'riscv64': 'm'}> +CONFIG_USB_ISP1760 policy<{'riscv64': 'm'}> +CONFIG_USB_USS720 policy<{'riscv64': 'm'}> +CONFIG_USB_EMI62 policy<{'riscv64': 'm'}> +CONFIG_USB_EMI26 policy<{'riscv64': 'm'}> +CONFIG_USB_ADUTUX policy<{'riscv64': 'm'}> +CONFIG_USB_SEVSEG policy<{'riscv64': 'm'}> +CONFIG_USB_LEGOTOWER policy<{'riscv64': 'm'}> +CONFIG_USB_LCD policy<{'riscv64': 'm'}> +CONFIG_USB_CYPRESS_CY7C63 policy<{'riscv64': 'm'}> +CONFIG_USB_CYTHERM policy<{'riscv64': 'm'}> +CONFIG_USB_IDMOUSE policy<{'riscv64': 'm'}> +CONFIG_USB_FTDI_ELAN policy<{'riscv64': 'm'}> +CONFIG_USB_APPLEDISPLAY policy<{'riscv64': 'm'}> +CONFIG_APPLE_MFI_FASTCHARGE policy<{'riscv64': 'm'}> +CONFIG_USB_SISUSBVGA policy<{'riscv64': 'm'}> +CONFIG_USB_LD policy<{'riscv64': 'm'}> +CONFIG_USB_TRANCEVIBRATOR policy<{'riscv64': 'm'}> +CONFIG_USB_IOWARRIOR policy<{'riscv64': 'm'}> +CONFIG_USB_TEST policy<{'riscv64': 'm'}> +CONFIG_USB_EHSET_TEST_FIXTURE policy<{'riscv64': 'm'}> +CONFIG_USB_ISIGHTFW policy<{'riscv64': 'm'}> +CONFIG_USB_YUREX policy<{'riscv64': 'm'}> +CONFIG_USB_EZUSB_FX2 policy<{'riscv64': 'm'}> +CONFIG_USB_HUB_USB251XB policy<{'riscv64': 'm'}> +CONFIG_USB_HSIC_USB3503 policy<{'riscv64': 'm'}> +CONFIG_USB_HSIC_USB4604 policy<{'riscv64': 'm'}> +CONFIG_USB_LINK_LAYER_TEST policy<{'riscv64': 'm'}> +CONFIG_USB_CHAOSKEY policy<{'riscv64': 'm'}> +# +CONFIG_USB_OTG note +CONFIG_USB_OTG_WHITELIST note +CONFIG_USB_OTG_BLACKLIST_HUB 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<{'riscv64': 'm'}> +CONFIG_USB_CDNS3_GADGET policy<{'riscv64': 'y'}> +CONFIG_USB_CDNS3_HOST policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support +CONFIG_USB_DWC2 policy<{'riscv64': 'y'}> +CONFIG_USB_DWC2_PCI policy<{'riscv64': 'm'}> +CONFIG_USB_DWC2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_DWC2_TRACK_MISSED_SOFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support >> DWC2 Mode Selection +CONFIG_USB_DWC2_HOST policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support +CONFIG_USB_DWC3 policy<{'riscv64': 'm'}> +CONFIG_USB_DWC3_ULPI policy<{'riscv64': 'y'}> +CONFIG_USB_DWC3_HAPS policy<{'riscv64': 'm'}> +CONFIG_USB_DWC3_OF_SIMPLE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support >> DWC3 Mode Selection +CONFIG_USB_DWC3_HOST policy<{'riscv64': 'n'}> +CONFIG_USB_DWC3_GADGET policy<{'riscv64': 'n'}> +CONFIG_USB_DWC3_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> EHCI HCD (USB 2.0) support +CONFIG_USB_EHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_ROOT_HUB_TT policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_TT_NEWSCHED policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_FSL policy<{'riscv64': 'm'}> +CONFIG_USB_EHCI_HCD_PLATFORM policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'n'}> +CONFIG_USB_ISP1760_GADGET_ROLE policy<{'riscv64': 'n'}> +CONFIG_USB_ISP1760_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Inventra Highspeed Dual Role Controller +CONFIG_USB_MUSB_HDRC policy<{'riscv64': '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<{'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<{'riscv64': 'n'}> +CONFIG_USB_MUSB_GADGET policy<{'riscv64': 'n'}> +CONFIG_USB_MUSB_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> MTU3 Mode Selection + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> OHCI HCD (USB 1.1) support +CONFIG_USB_OHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_OHCI_HCD_PCI policy<{'riscv64': 'y'}> +CONFIG_USB_OHCI_HCD_PLATFORM policy<{'riscv64': 'm'}> +# +CONFIG_USB_OHCI_HCD mark note +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<{'riscv64': 'm'}> +CONFIG_USB_SPEEDTOUCH policy<{'riscv64': 'm'}> +CONFIG_USB_CXACRU policy<{'riscv64': 'm'}> +CONFIG_USB_UEAGLEATM policy<{'riscv64': 'm'}> +CONFIG_USB_XUSBATM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Mass Storage support +CONFIG_USB_STORAGE policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_STORAGE_REALTEK policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_DATAFAB policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_FREECOM policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ISD200 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_USBAT policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR09 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR55 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_JUMPSHOT policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ALAUDA policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ONETOUCH policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_KARMA policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_CYPRESS_ATACB policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ENE_UB6250 policy<{'riscv64': 'm'}> +CONFIG_USB_UAS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Serial Converter support +CONFIG_USB_SERIAL policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_GENERIC policy<{'riscv64': 'y'}> +CONFIG_USB_SERIAL_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_AIRCABLE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_ARK3116 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_BELKIN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CH341 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_WHITEHEAT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_DIGI_ACCELEPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CP210X policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYPRESS_M8 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EMPEG policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_FTDI_SIO policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_VISOR policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPAQ policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IR policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT_TI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_F81232 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_F8153X policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_GARMIN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPW policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IUU policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN_PDA policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KLSI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KOBIL_SCT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MCT_U232 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_METRO policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7720 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7715_PARPORT policy<{'riscv64': 'y'}> +CONFIG_USB_SERIAL_MOS7840 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MXUPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_NAVMAN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_PL2303 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OTI6858 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QCAUX policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QUALCOMM policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SPCP8X5 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE_PADDED policy<{'riscv64': 'n'}> +CONFIG_USB_SERIAL_SIERRAWIRELESS policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SYMBOL policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_TI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYBERJACK policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_XIRCOM policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTION policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OMNINET policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTICON policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_XSENS_MT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_WISHBONE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SSU100 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QT2 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_UPD78F0730 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_DEBUG policy<{'riscv64': 'm'}> +# +CONFIG_USB_SERIAL_DEBUG note + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB/IP support +CONFIG_USBIP_CORE policy<{'riscv64': 'm'}> +CONFIG_USBIP_VHCI_HCD policy<{'riscv64': 'm'}> +CONFIG_USBIP_VHCI_HC_PORTS policy<{'riscv64': '8'}> +CONFIG_USBIP_VHCI_NR_HCS policy<{'riscv64': '1'}> +CONFIG_USBIP_HOST policy<{'riscv64': 'm'}> +CONFIG_USBIP_VUDC policy<{'riscv64': 'm'}> +CONFIG_USBIP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> xHCI HCD (USB 3.0) support +CONFIG_USB_XHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_XHCI_DBGCAP policy<{'riscv64': 'y'}> +CONFIG_USB_XHCI_PCI_RENESAS policy<{'riscv64': 'm'}> +CONFIG_USB_XHCI_PLATFORM policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_USB_GADGET_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FILES policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_VBUS_DRAW policy<{'riscv64': '2'}> +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS policy<{'riscv64': '2'}> +CONFIG_U_SERIAL_CONSOLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget functions configurable through configfs +CONFIG_USB_CONFIGFS policy<{'riscv64': 'm'}> +CONFIG_USB_CONFIGFS_SERIAL policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ACM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_OBEX policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_NCM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM_SUBSET policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_EEM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_PHONET policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_MASS_STORAGE policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_LB_SS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_FS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1 policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC2 policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_MIDI policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_HID policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UVC policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_PRINTER policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_TCM policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations +CONFIG_USB_ZERO policy<{'riscv64': 'm'}> +CONFIG_USB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_GADGET_UAC1 policy<{'riscv64': 'y'}> +CONFIG_GADGET_UAC1_LEGACY policy<{'riscv64': 'n'}> +CONFIG_USB_ETH policy<{'riscv64': 'm'}> +CONFIG_USB_ETH_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_ETH_EEM policy<{'riscv64': 'y'}> +CONFIG_USB_G_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_GADGETFS policy<{'riscv64': 'm'}> +CONFIG_USB_MASS_STORAGE policy<{'riscv64': 'm'}> +CONFIG_USB_GADGET_TARGET policy<{'riscv64': 'm'}> +CONFIG_USB_G_SERIAL policy<{'riscv64': 'm'}> +CONFIG_USB_MIDI_GADGET policy<{'riscv64': 'm'}> +CONFIG_USB_G_PRINTER policy<{'riscv64': 'm'}> +CONFIG_USB_CDC_COMPOSITE policy<{'riscv64': 'm'}> +CONFIG_USB_G_NOKIA policy<{'riscv64': 'm'}> +CONFIG_USB_G_ACM_MS policy<{'riscv64': 'm'}> +CONFIG_USB_G_MULTI policy<{'riscv64': 'n'}> +CONFIG_USB_G_HID policy<{'riscv64': 'm'}> +CONFIG_USB_G_DBGP policy<{'riscv64': 'm'}> +CONFIG_USB_G_WEBCAM policy<{'riscv64': 'm'}> +CONFIG_USB_RAW_GADGET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> EHCI Debug Device mode +CONFIG_USB_G_DBGP_PRINTK policy<{'riscv64': 'n'}> +CONFIG_USB_G_DBGP_SERIAL policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> Function Filesystem +CONFIG_USB_FUNCTIONFS policy<{'riscv64': 'm'}> +CONFIG_USB_FUNCTIONFS_ETH policy<{'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_GENERIC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Peripheral Controller +CONFIG_USB_FOTG210_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_GR_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_R8A66597 policy<{'riscv64': 'm'}> +CONFIG_USB_PXA27X policy<{'riscv64': 'm'}> +CONFIG_USB_MV_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_MV_U3D policy<{'riscv64': 'm'}> +CONFIG_USB_SNP_UDC_PLAT policy<{'riscv64': 'm'}> +CONFIG_USB_M66592 policy<{'riscv64': 'n'}> +CONFIG_USB_BDC_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_BDC_PCI policy<{'riscv64': '-'}> +CONFIG_USB_AMD5536UDC policy<{'riscv64': 'm'}> +CONFIG_USB_NET2272 policy<{'riscv64': 'm'}> +CONFIG_USB_NET2272_DMA policy<{'riscv64': 'y'}> +CONFIG_USB_NET2280 policy<{'riscv64': 'm'}> +CONFIG_USB_GOKU policy<{'riscv64': 'm'}> +CONFIG_USB_EG20T policy<{'riscv64': 'm'}> +CONFIG_USB_GADGET_XILINX policy<{'riscv64': 'm'}> +CONFIG_USB_MAX3420_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_DUMMY_HCD policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_GPIO_VBUS policy<{'riscv64': 'm'}> +CONFIG_TAHVO_USB policy<{'riscv64': 'm'}> +CONFIG_TAHVO_USB_HOST_BY_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_USB_ISP1301 policy<{'riscv64': 'm'}> +# +CONFIG_NOP_USB_XCEIV note + +# Menu: Device Drivers >> USB support >> USB Type-C Support +CONFIG_TYPEC policy<{'riscv64': 'm'}> +CONFIG_TYPEC_UCSI policy<{'riscv64': 'm'}> +CONFIG_UCSI_CCG policy<{'riscv64': 'm'}> +CONFIG_TYPEC_HD3SS3220 policy<{'riscv64': 'm'}> +CONFIG_TYPEC_TPS6598X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Alternate Mode drivers +CONFIG_TYPEC_DP_ALTMODE policy<{'riscv64': 'm'}> +CONFIG_TYPEC_NVIDIA_ALTMODE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Multiplexer/DeMultiplexer Switch support +CONFIG_TYPEC_MUX_PI3USB30532 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Port Controller Manager +CONFIG_TYPEC_TCPM policy<{'riscv64': 'm'}> +CONFIG_TYPEC_TCPCI policy<{'riscv64': 'm'}> +CONFIG_TYPEC_RT1711H policy<{'riscv64': 'm'}> +CONFIG_TYPEC_FUSB302 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Userspace I/O drivers +CONFIG_UIO policy<{'riscv64': 'm'}> +CONFIG_UIO_CIF policy<{'riscv64': 'm'}> +CONFIG_UIO_PDRV_GENIRQ policy<{'riscv64': 'm'}> +CONFIG_UIO_DMEM_GENIRQ policy<{'riscv64': 'm'}> +CONFIG_UIO_AEC policy<{'riscv64': 'm'}> +CONFIG_UIO_SERCOS3 policy<{'riscv64': 'm'}> +CONFIG_UIO_PCI_GENERIC policy<{'riscv64': 'm'}> +CONFIG_UIO_NETX policy<{'riscv64': 'm'}> +CONFIG_UIO_PRUSS policy<{'riscv64': 'm'}> +CONFIG_UIO_MF624 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework +CONFIG_VFIO policy<{'riscv64': 'm'}> +CONFIG_VFIO_NOIOMMU policy<{'riscv64': 'y'}> +CONFIG_VFIO_PCI policy<{'riscv64': 'm'}> +CONFIG_VFIO_MDEV policy<{'riscv64': 'm'}> +CONFIG_VFIO_MDEV_DEVICE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework >> VFIO support for platform devices + +# Menu: Device Drivers >> VHOST drivers +CONFIG_VHOST_MENU policy<{'riscv64': 'y'}> +CONFIG_VHOST_NET policy<{'riscv64': 'm'}> +CONFIG_VHOST_SCSI policy<{'riscv64': 'm'}> +CONFIG_VHOST_VSOCK policy<{'riscv64': 'm'}> +CONFIG_VHOST_VDPA policy<{'riscv64': 'm'}> +CONFIG_VHOST_CROSS_ENDIAN_LEGACY policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> VME bridge support +CONFIG_VME_BUS policy<{'riscv64': 'y'}> +CONFIG_VME_TSI148 policy<{'riscv64': 'm'}> +CONFIG_VME_FAKE policy<{'riscv64': 'm'}> +CONFIG_VMIVME_7805 policy<{'riscv64': 'm'}> +CONFIG_VME_USER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Virtio drivers +CONFIG_VIRTIO_MENU policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_PCI policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_PCI_LEGACY policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_VDPA policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_PMEM policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_BALLOON policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_INPUT policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_MMIO policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES policy<{'riscv64': 'y'}> +# +CONFIG_VIRTIO_PCI flag +CONFIG_VIRTIO_MMIO note + +# Menu: Device Drivers >> Virtualization drivers +CONFIG_VIRT_DRIVERS policy<{'riscv64': 'y'}> +# +CONFIG_VBOXGUEST note + +# Menu: Device Drivers >> Voltage and Current Regulator Support +CONFIG_REGULATOR policy<{'riscv64': 'y'}> +CONFIG_REGULATOR_DEBUG policy<{'riscv64': 'n'}> +CONFIG_REGULATOR_FIXED_VOLTAGE policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_VIRTUAL_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_USERSPACE_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PG86X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PM800 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PM8607 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ACT8865 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AD5398 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AAT2870 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AB3100 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ARIZONA_LDO1 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ARIZONA_MICSUPP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AS3711 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AS3722 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AXP20X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BCM590XX policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD70528 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD71828 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD718XX policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_CPCAP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA903X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9052 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9055 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9062 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9063 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9210 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9211 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_FAN53555 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_GPIO policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_HI6421 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_HI6421V530 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ISL9305 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ISL6271A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LM363X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP3971 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP3972 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP872X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP873X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP8755 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP87565 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP8788 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LTC3589 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LTC3676 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX1586 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8649 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8660 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8952 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8973 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77802 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77826 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MC13783 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MC13892 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MCP16502 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP5416 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP8859 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP886X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MPQ7920 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6311 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6323 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6358 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6397 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PALMAS policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PCAP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PFUZE100 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88060 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88080 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88090 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PWM policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_QCOM_SPMI policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RC5T583 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RK808 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RN5T618 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RT5033 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S2MPA01 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S2MPS11 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S5M8767 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SLG51000 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_STPMIC1 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SY8106A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SY8824X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS51632 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6105X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS62360 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65023 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65090 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65132 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6524X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6586X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65910 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65912 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS80031 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_VCTRL policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM831X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8350 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8400 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8994 policy<{'riscv64': 'm'}> +# +CONFIG_REGULATOR_FIXED_VOLTAGE note +CONFIG_REGULATOR_TWL4030 mark note + +# Menu: Device Drivers >> Watchdog Timer Support +CONFIG_WATCHDOG policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_CORE policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_NOWAYOUT policy<{'riscv64': 'n'}> +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_OPEN_TIMEOUT policy<{'riscv64': '0'}> +CONFIG_WATCHDOG_SYSFS policy<{'riscv64': 'y'}> +CONFIG_SOFT_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_SOFT_WATCHDOG_PRETIMEOUT policy<{'riscv64': 'y'}> +CONFIG_BD70528_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9052_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9055_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9063_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9062_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_GPIO_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MENF21BMC_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MENZ069_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WM831X_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WM8350_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_XILINX_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_ZIIRAVE_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_CADENCE_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DW_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RN5T618_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_TWL4030_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MAX63XX_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MAX77620_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RETU_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_STPMIC1_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_ALIM7101_WDT policy<{'riscv64': 'm'}> +CONFIG_I6300ESB_WDT policy<{'riscv64': 'm'}> +CONFIG_KEMPLD_WDT policy<{'riscv64': 'm'}> +CONFIG_MEN_A21_WDT policy<{'riscv64': 'm'}> +CONFIG_PCIPCWATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WDTPCI policy<{'riscv64': 'm'}> +CONFIG_USBPCWATCHDOG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors +CONFIG_WATCHDOG_PRETIMEOUT_GOV policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors >> Default Watchdog Pretimeout Governor +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Dell SMBIOS driver + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Intel Speed Select Technology interface support + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> ThinkPad ACPI Laptop Extras + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> WMI + +# Menu: Device Drivers >> Xen driver support + +# Menu: Device Drivers >> Xen driver support >> Backend driver support + +# Menu: Device Drivers >> vDPA drivers +CONFIG_VDPA policy<{'riscv64': 'm'}> +CONFIG_VDPA_SIM policy<{'riscv64': 'm'}> +CONFIG_IFCVF policy<{'riscv64': 'm'}> + +# Menu: Enable loadable module support +CONFIG_MODULES policy<{'riscv64': 'y'}> +CONFIG_MODULE_FORCE_LOAD policy<{'riscv64': 'n'}> +CONFIG_MODULE_UNLOAD policy<{'riscv64': 'y'}> +CONFIG_MODULE_FORCE_UNLOAD policy<{'riscv64': 'n'}> +CONFIG_MODVERSIONS policy<{'riscv64': 'y'}> +CONFIG_MODULE_SRCVERSION_ALL policy<{'riscv64': 'y'}> +CONFIG_MODULE_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS policy<{'riscv64': 'n'}> +CONFIG_UNUSED_SYMBOLS policy<{'riscv64': 'y'}> +# +CONFIG_MODVERSIONS mark note + +# Menu: Enable loadable module support >> Compression algorithm + +# Menu: Enable loadable module support >> Module signature verification +CONFIG_MODULE_SIG policy<{'riscv64': 'y'}> +CONFIG_MODULE_SIG_FORCE policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_ALL policy<{'riscv64': 'y'}> + +# Menu: Enable loadable module support >> Module signature verification >> Which hash algorithm should modules be signed with? +CONFIG_MODULE_SIG_SHA1 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA224 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA256 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA384 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA512 policy<{'riscv64': 'y'}> + +# Menu: Enable the block layer +CONFIG_BLOCK policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_BSG policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_BSGLIB policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_INTEGRITY policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_ZONED policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_THROTTLING policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_THROTTLING_LOW policy<{'riscv64': 'n'}> +CONFIG_BLK_CMDLINE_PARSER policy<{'riscv64': 'y'}> +CONFIG_BLK_WBT policy<{'riscv64': 'y'}> +CONFIG_BLK_CGROUP_IOLATENCY policy<{'riscv64': 'n'}> +CONFIG_BLK_CGROUP_IOCOST policy<{'riscv64': 'y'}> +CONFIG_BLK_WBT_MQ policy<{'riscv64': 'y'}> +CONFIG_BLK_DEBUG_FS policy<{'riscv64': 'y'}> +CONFIG_BLK_SED_OPAL policy<{'riscv64': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION policy<{'riscv64': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK policy<{'riscv64': 'y'}> +# +CONFIG_BLK_DEV_THROTTLING note + +# Menu: Enable the block layer >> IO Schedulers +CONFIG_MQ_IOSCHED_DEADLINE policy<{'riscv64': 'y'}> +CONFIG_MQ_IOSCHED_KYBER policy<{'riscv64': 'm'}> +CONFIG_IOSCHED_BFQ policy<{'riscv64': 'm'}> +CONFIG_BFQ_GROUP_IOSCHED policy<{'riscv64': 'y'}> +CONFIG_BFQ_CGROUP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Enable the block layer >> Partition Types + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection +CONFIG_PARTITION_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_AIX_PARTITION policy<{'riscv64': 'y'}> +CONFIG_OSF_PARTITION policy<{'riscv64': 'y'}> +CONFIG_AMIGA_PARTITION policy<{'riscv64': 'y'}> +CONFIG_ATARI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_MAC_PARTITION policy<{'riscv64': 'y'}> +CONFIG_LDM_PARTITION policy<{'riscv64': 'y'}> +CONFIG_LDM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SGI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_ULTRIX_PARTITION policy<{'riscv64': 'y'}> +CONFIG_SUN_PARTITION policy<{'riscv64': 'y'}> +CONFIG_KARMA_PARTITION policy<{'riscv64': 'y'}> +CONFIG_EFI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_SYSV68_PARTITION policy<{'riscv64': 'y'}> +CONFIG_CMDLINE_PARTITION policy<{'riscv64': 'y'}> +# +CONFIG_PARTITION_ADVANCED flag + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> Acorn partition support +CONFIG_ACORN_PARTITION policy<{'riscv64': 'n'}> + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> PC BIOS (MSDOS partition tables) support +CONFIG_MSDOS_PARTITION policy<{'riscv64': 'y'}> +CONFIG_BSD_DISKLABEL policy<{'riscv64': 'y'}> +CONFIG_MINIX_SUBPARTITION policy<{'riscv64': 'y'}> +CONFIG_SOLARIS_X86_PARTITION policy<{'riscv64': 'y'}> +CONFIG_UNIXWARE_DISKLABEL policy<{'riscv64': 'y'}> + +# Menu: Executable file formats +CONFIG_BINFMT_ELF policy<{'riscv64': 'y'}> +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS policy<{'riscv64': 'y'}> +CONFIG_BINFMT_SCRIPT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_MISC policy<{'riscv64': 'm'}> +CONFIG_COREDUMP policy<{'riscv64': 'y'}> +# +CONFIG_BINFMT_SCRIPT mark note + +# Menu: Executable file formats >> Kernel support for flat binaries +CONFIG_BINFMT_FLAT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_FLAT_OLD policy<{'riscv64': 'y'}> +CONFIG_BINFMT_ZFLAT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_SHARED_FLAT policy<{'riscv64': 'y'}> + +# Menu: File systems +CONFIG_VALIDATE_FS_PARSER policy<{'riscv64': 'y'}> +CONFIG_EXT2_FS policy<{'riscv64': 'n'}> +CONFIG_EXT3_FS policy<{'riscv64': 'n'}> +CONFIG_JBD2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_GFS2_FS policy<{'riscv64': 'm'}> +CONFIG_GFS2_FS_LOCKING_DLM policy<{'riscv64': 'y'}> +CONFIG_NILFS2_FS policy<{'riscv64': 'm'}> +CONFIG_ZONEFS_FS policy<{'riscv64': 'm'}> +CONFIG_FS_DAX policy<{'riscv64': 'y'}> +CONFIG_EXPORTFS_BLOCK_OPS policy<{'riscv64': 'y'}> +CONFIG_FILE_LOCKING policy<{'riscv64': 'y'}> +CONFIG_MANDATORY_FILE_LOCKING policy<{'riscv64': 'y'}> +CONFIG_FS_ENCRYPTION policy<{'riscv64': 'y'}> +CONFIG_FS_VERITY policy<{'riscv64': 'y'}> +CONFIG_FS_VERITY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FS_VERITY_BUILTIN_SIGNATURES policy<{'riscv64': 'y'}> +CONFIG_DNOTIFY policy<{'riscv64': 'y'}> +CONFIG_INOTIFY_USER policy<{'riscv64': 'y'}> +CONFIG_FANOTIFY policy<{'riscv64': 'y'}> +CONFIG_FANOTIFY_ACCESS_PERMISSIONS policy<{'riscv64': 'y'}> +CONFIG_QUOTA_NETLINK_INTERFACE policy<{'riscv64': 'y'}> +CONFIG_AUTOFS4_FS policy<{'riscv64': 'm'}> +CONFIG_AUTOFS_FS policy<{'riscv64': 'm'}> +CONFIG_FUSE_FS policy<{'riscv64': 'y'}> +CONFIG_CUSE policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_FS policy<{'riscv64': 'm'}> +CONFIG_SHIFT_FS policy<{'riscv64': 'm'}> +CONFIG_SHIFT_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_UNICODE policy<{'riscv64': 'y'}> +CONFIG_UNICODE_NORMALIZATION_SELFTEST policy<{'riscv64': 'n'}> +# +CONFIG_EXT2_FS note +CONFIG_EXT3_FS note +CONFIG_FUSE_FS note flag + +# Menu: File systems >> Btrfs filesystem support +CONFIG_BTRFS_FS policy<{'riscv64': 'm'}> +CONFIG_BTRFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_BTRFS_FS_CHECK_INTEGRITY policy<{'riscv64': 'n'}> +CONFIG_BTRFS_FS_RUN_SANITY_TESTS policy<{'riscv64': 'n'}> +CONFIG_BTRFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BTRFS_ASSERT policy<{'riscv64': 'n'}> +CONFIG_BTRFS_FS_REF_VERIFY policy<{'riscv64': 'n'}> + +# Menu: File systems >> CD-ROM/DVD Filesystems +CONFIG_ISO9660_FS policy<{'riscv64': 'm'}> +CONFIG_JOLIET policy<{'riscv64': 'y'}> +CONFIG_ZISOFS policy<{'riscv64': 'y'}> +CONFIG_UDF_FS policy<{'riscv64': 'm'}> + +# Menu: File systems >> Caches +CONFIG_CACHEFILES policy<{'riscv64': 'm'}> +CONFIG_CACHEFILES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CACHEFILES_HISTOGRAM policy<{'riscv64': 'n'}> + +# Menu: File systems >> Caches >> General filesystem local caching manager +CONFIG_FSCACHE policy<{'riscv64': 'm'}> +CONFIG_FSCACHE_STATS policy<{'riscv64': 'y'}> +CONFIG_FSCACHE_HISTOGRAM policy<{'riscv64': 'n'}> +CONFIG_FSCACHE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FSCACHE_OBJECT_LIST policy<{'riscv64': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems +CONFIG_EXFAT_FS policy<{'riscv64': 'm'}> +CONFIG_EXFAT_DEFAULT_IOCHARSET policy<{'riscv64': '"utf8"'}> +CONFIG_MSDOS_FS policy<{'riscv64': 'm'}> +CONFIG_NTFS_FS policy<{'riscv64': 'm'}> +CONFIG_NTFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_NTFS_RW policy<{'riscv64': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems >> VFAT (Windows-95) fs support +CONFIG_VFAT_FS policy<{'riscv64': 'y'}> +CONFIG_FAT_DEFAULT_CODEPAGE policy<{'riscv64': '437'}> +CONFIG_FAT_DEFAULT_IOCHARSET policy<{'riscv64': '"iso8859-1"'}> +CONFIG_FAT_DEFAULT_UTF8 policy<{'riscv64': 'n'}> +# +CONFIG_VFAT_FS mark note + +# Menu: File systems >> Distributed Lock Manager (DLM) +CONFIG_DLM policy<{'riscv64': 'm'}> +CONFIG_DLM_DEBUG policy<{'riscv64': 'n'}> + +# Menu: File systems >> F2FS filesystem support +CONFIG_F2FS_FS policy<{'riscv64': 'm'}> +CONFIG_F2FS_STAT_FS policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_F2FS_CHECK_FS policy<{'riscv64': 'n'}> +CONFIG_F2FS_IO_TRACE policy<{'riscv64': 'n'}> +CONFIG_F2FS_FAULT_INJECTION policy<{'riscv64': 'n'}> + +# Menu: File systems >> F2FS filesystem support >> F2FS compression feature +CONFIG_F2FS_FS_COMPRESSION policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZO policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZ4 policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_ZSTD policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZORLE policy<{'riscv64': 'y'}> + +# Menu: File systems >> JFS filesystem support +CONFIG_JFS_FS policy<{'riscv64': 'm'}> +CONFIG_JFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_JFS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_JFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_JFS_STATISTICS policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems +CONFIG_MISC_FILESYSTEMS policy<{'riscv64': 'y'}> +CONFIG_ORANGEFS_FS policy<{'riscv64': 'm'}> +CONFIG_ADFS_FS policy<{'riscv64': 'm'}> +CONFIG_ADFS_FS_RW policy<{'riscv64': 'n'}> +CONFIG_AFFS_FS policy<{'riscv64': 'm'}> +CONFIG_ECRYPT_FS policy<{'riscv64': 'y'}> +CONFIG_ECRYPT_FS_MESSAGING policy<{'riscv64': 'y'}> +CONFIG_HFS_FS policy<{'riscv64': 'm'}> +CONFIG_HFSPLUS_FS policy<{'riscv64': 'm'}> +CONFIG_BEFS_FS policy<{'riscv64': 'm'}> +CONFIG_BEFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BFS_FS policy<{'riscv64': 'm'}> +CONFIG_EFS_FS policy<{'riscv64': 'm'}> +CONFIG_CRAMFS policy<{'riscv64': 'm'}> +CONFIG_CRAMFS_BLOCKDEV policy<{'riscv64': 'y'}> +CONFIG_CRAMFS_MTD policy<{'riscv64': 'y'}> +CONFIG_VXFS_FS policy<{'riscv64': 'm'}> +CONFIG_MINIX_FS policy<{'riscv64': 'm'}> +CONFIG_OMFS_FS policy<{'riscv64': 'm'}> +CONFIG_HPFS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX4FS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX6FS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX6FS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ROMFS_FS policy<{'riscv64': 'm'}> +CONFIG_SYSV_FS policy<{'riscv64': 'm'}> +CONFIG_UFS_FS policy<{'riscv64': 'm'}> +CONFIG_UFS_FS_WRITE policy<{'riscv64': 'n'}> +CONFIG_UFS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_ECRYPT_FS mark note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support +CONFIG_AUFS_FS policy<{'riscv64': 'm'}> +CONFIG_AUFS_HNOTIFY policy<{'riscv64': 'n'}> +CONFIG_AUFS_EXPORT policy<{'riscv64': 'y'}> +CONFIG_AUFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_AUFS_FHSM policy<{'riscv64': 'n'}> +CONFIG_AUFS_RDU policy<{'riscv64': 'n'}> +CONFIG_AUFS_DIRREN policy<{'riscv64': 'y'}> +CONFIG_AUFS_SHWH policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_RAMFS policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_FUSE policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_HFSPLUS policy<{'riscv64': 'y'}> +CONFIG_AUFS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_AUFS_EXPORT note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> Maximum number of branches +CONFIG_AUFS_BRANCH_MAX_127 policy<{'riscv64': 'y'}> +CONFIG_AUFS_BRANCH_MAX_511 policy<{'riscv64': 'n'}> +CONFIG_AUFS_BRANCH_MAX_1023 policy<{'riscv64': 'n'}> +CONFIG_AUFS_BRANCH_MAX_32767 policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> method + +# Menu: File systems >> Miscellaneous filesystems >> Default pstore compression algorithm +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> EROFS filesystem support +CONFIG_EROFS_FS policy<{'riscv64': 'm'}> +CONFIG_EROFS_FS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EROFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_ZIP policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT policy<{'riscv64': '1'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support +CONFIG_JFFS2_FS policy<{'riscv64': 'm'}> +CONFIG_JFFS2_FS_DEBUG policy<{'riscv64': '0'}> +CONFIG_JFFS2_FS_WRITEBUFFER policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_WBUF_VERIFY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_SUMMARY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support >> Advanced compression options for JFFS2 +CONFIG_JFFS2_COMPRESSION_OPTIONS policy<{'riscv64': 'y'}> +CONFIG_JFFS2_ZLIB policy<{'riscv64': 'y'}> +CONFIG_JFFS2_LZO policy<{'riscv64': 'y'}> +CONFIG_JFFS2_RTIME policy<{'riscv64': 'y'}> +CONFIG_JFFS2_RUBIN policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_PRIORITY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_SIZE policy<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_FAVOURLZO policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support +CONFIG_PSTORE policy<{'riscv64': 'y'}> +CONFIG_PSTORE_DEFLATE_COMPRESS policy<{'riscv64': 'y'}> +CONFIG_PSTORE_LZO_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_LZ4_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_LZ4HC_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_842_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_ZSTD_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_CONSOLE policy<{'riscv64': 'n'}> +CONFIG_PSTORE_PMSG policy<{'riscv64': 'n'}> +CONFIG_PSTORE_FTRACE policy<{'riscv64': 'n'}> +CONFIG_PSTORE_RAM policy<{'riscv64': 'm'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support >> Log panic/oops to a block device +CONFIG_PSTORE_BLK policy<{'riscv64': 'm'}> +CONFIG_PSTORE_BLK_BLKDEV policy<{'riscv64': '""'}> +CONFIG_PSTORE_BLK_KMSG_SIZE policy<{'riscv64': '64'}> +CONFIG_PSTORE_BLK_MAX_REASON policy<{'riscv64': '2'}> + +# Menu: File systems >> Miscellaneous filesystems >> RomFS backing stores +CONFIG_ROMFS_BACKED_BY_BLOCK policy<{'riscv64': 'y'}> +CONFIG_ROMFS_BACKED_BY_MTD policy<{'riscv64': 'n'}> +CONFIG_ROMFS_BACKED_BY_BOTH policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support +CONFIG_SQUASHFS policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_ZLIB policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_LZ4 policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_LZO policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_XZ policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_ZSTD policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_4K_DEVBLK_SIZE policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_EMBEDDED policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SQUASHFS_DECOMP_MULTI policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support >> File decompression options +CONFIG_SQUASHFS_FILE_CACHE policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_FILE_DIRECT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support +CONFIG_UBIFS_FS policy<{'riscv64': 'm'}> +CONFIG_UBIFS_ATIME_SUPPORT policy<{'riscv64': 'n'}> +CONFIG_UBIFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_AUTHENTICATION policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support >> Advanced compression options +CONFIG_UBIFS_FS_ADVANCED_COMPR policy<{'riscv64': 'n'}> +CONFIG_UBIFS_FS_LZO policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZLIB policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZSTD policy<{'riscv64': 'y'}> + +# Menu: File systems >> Native language support +CONFIG_NLS policy<{'riscv64': 'y'}> +CONFIG_NLS_DEFAULT policy<{'riscv64': '"utf8"'}> +CONFIG_NLS_CODEPAGE_437 policy<{'riscv64': 'y'}> +CONFIG_NLS_CODEPAGE_737 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_775 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_850 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_852 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_855 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_857 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_860 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_861 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_862 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_863 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_864 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_865 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_866 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_869 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_936 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_950 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_932 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_949 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_874 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_8 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_1250 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_1251 policy<{'riscv64': 'm'}> +CONFIG_NLS_ASCII policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_1 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_2 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_3 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_4 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_5 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_6 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_7 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_9 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_13 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_14 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_15 policy<{'riscv64': 'm'}> +CONFIG_NLS_KOI8_R policy<{'riscv64': 'm'}> +CONFIG_NLS_KOI8_U policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ROMAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CELTIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CENTEURO policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CROATIAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CYRILLIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_GAELIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_GREEK policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ICELAND policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_INUIT policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ROMANIAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_TURKISH policy<{'riscv64': 'm'}> +CONFIG_NLS_UTF8 policy<{'riscv64': 'm'}> +# +CONFIG_NLS note + +# Menu: File systems >> Network File Systems +CONFIG_NETWORK_FILESYSTEMS policy<{'riscv64': 'y'}> +CONFIG_NFSD policy<{'riscv64': 'm'}> +CONFIG_NFSD_V3 policy<{'riscv64': 'y'}> +CONFIG_NFSD_V3_ACL policy<{'riscv64': 'y'}> +CONFIG_RPCSEC_GSS_KRB5 policy<{'riscv64': 'm'}> +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES policy<{'riscv64': 'n'}> +CONFIG_SUNRPC_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SUNRPC_XPRT_RDMA policy<{'riscv64': 'm'}> +CONFIG_CODA_FS policy<{'riscv64': 'm'}> + +# Menu: File systems >> Network File Systems >> Andrew File System support (AFS) +CONFIG_AFS_FS policy<{'riscv64': 'm'}> +CONFIG_AFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_AFS_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_AFS_DEBUG_CURSOR policy<{'riscv64': 'n'}> + +# Menu: File systems >> Network File Systems >> Ceph distributed file system +CONFIG_CEPH_FS policy<{'riscv64': 'm'}> +CONFIG_CEPH_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_CEPH_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_CEPH_FS_SECURITY_LABEL policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support +CONFIG_NFS_FS policy<{'riscv64': 'm'}> +CONFIG_NFS_V2 policy<{'riscv64': 'm'}> +CONFIG_NFS_V3 policy<{'riscv64': 'm'}> +CONFIG_NFS_V3_ACL policy<{'riscv64': 'y'}> +CONFIG_NFS_V4 policy<{'riscv64': 'm'}> +CONFIG_NFS_SWAP policy<{'riscv64': 'y'}> +CONFIG_NFS_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_NFS_USE_LEGACY_DNS policy<{'riscv64': 'n'}> +CONFIG_NFS_DISABLE_UDP_SUPPORT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support >> NFS client support for NFSv4.1 +CONFIG_NFS_V4_1 policy<{'riscv64': 'y'}> +CONFIG_NFS_V4_2 policy<{'riscv64': 'y'}> +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN policy<{'riscv64': '"kernel.org"'}> +CONFIG_NFS_V4_1_MIGRATION policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS server support for NFS version 4 +CONFIG_NFSD_V4 policy<{'riscv64': 'y'}> +CONFIG_NFSD_BLOCKLAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_SCSILAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_FLEXFILELAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_V4_SECURITY_LABEL policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_9P_FS policy<{'riscv64': 'm'}> +CONFIG_9P_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_9P_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_9P_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> SMB3 and CIFS support (advanced network filesystem) +CONFIG_CIFS policy<{'riscv64': 'm'}> +CONFIG_CIFS_STATS2 policy<{'riscv64': 'n'}> +CONFIG_CIFS_ALLOW_INSECURE_LEGACY policy<{'riscv64': 'y'}> +CONFIG_CIFS_WEAK_PW_HASH policy<{'riscv64': 'y'}> +CONFIG_CIFS_UPCALL policy<{'riscv64': 'y'}> +CONFIG_CIFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_CIFS_POSIX policy<{'riscv64': 'y'}> +CONFIG_CIFS_DEBUG policy<{'riscv64': 'y'}> +CONFIG_CIFS_DEBUG2 policy<{'riscv64': 'n'}> +CONFIG_CIFS_DEBUG_DUMP_KEYS policy<{'riscv64': 'n'}> +CONFIG_CIFS_DFS_UPCALL policy<{'riscv64': 'y'}> +CONFIG_CIFS_SMB_DIRECT policy<{'riscv64': 'n'}> +CONFIG_CIFS_FSCACHE policy<{'riscv64': 'y'}> +# +CONFIG_CIFS_ALLOW_INSECURE_LEGACY flag + +# Menu: File systems >> OCFS2 file system support +CONFIG_OCFS2_FS policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_O2CB policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_USERSPACE_CLUSTER policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_STATS policy<{'riscv64': 'y'}> +CONFIG_OCFS2_DEBUG_MASKLOG policy<{'riscv64': 'y'}> +CONFIG_OCFS2_DEBUG_FS policy<{'riscv64': 'n'}> + +# Menu: File systems >> Overlay filesystem support +CONFIG_OVERLAY_FS policy<{'riscv64': 'm'}> +CONFIG_OVERLAY_FS_REDIRECT_DIR policy<{'riscv64': 'n'}> +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW policy<{'riscv64': 'y'}> +CONFIG_OVERLAY_FS_INDEX policy<{'riscv64': 'n'}> +CONFIG_OVERLAY_FS_XINO_AUTO policy<{'riscv64': 'y'}> +CONFIG_OVERLAY_FS_METACOPY policy<{'riscv64': 'n'}> +# +CONFIG_OVERLAY_FS_METACOPY flag + +# Menu: File systems >> Pseudo filesystems +CONFIG_PROC_CHILDREN policy<{'riscv64': 'y'}> +CONFIG_SYSFS policy<{'riscv64': 'y'}> +CONFIG_TMPFS policy<{'riscv64': 'y'}> +CONFIG_TMPFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_TMPFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_HUGETLBFS policy<{'riscv64': 'y'}> +CONFIG_CONFIGFS_FS policy<{'riscv64': 'y'}> +# +CONFIG_CONFIGFS_FS flag +CONFIG_EFIVAR_FS note +CONFIG_TMPFS_POSIX_ACL mark note + +# Menu: File systems >> Pseudo filesystems >> /proc file system support +CONFIG_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_PROC_KCORE policy<{'riscv64': 'y'}> +CONFIG_PROC_SYSCTL policy<{'riscv64': 'y'}> +CONFIG_PROC_PAGE_MONITOR policy<{'riscv64': 'y'}> + +# Menu: File systems >> Quota support +CONFIG_QUOTA policy<{'riscv64': 'y'}> +CONFIG_PRINT_QUOTA_WARNING policy<{'riscv64': 'n'}> +CONFIG_QUOTA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_QFMT_V1 policy<{'riscv64': 'm'}> +CONFIG_QFMT_V2 policy<{'riscv64': 'm'}> + +# Menu: File systems >> Reiserfs support +CONFIG_REISERFS_FS policy<{'riscv64': 'm'}> +CONFIG_REISERFS_CHECK policy<{'riscv64': 'n'}> +CONFIG_REISERFS_PROC_INFO policy<{'riscv64': 'n'}> +CONFIG_REISERFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_REISERFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_REISERFS_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> The Extended 4 (ext4) filesystem +CONFIG_EXT4_FS policy<{'riscv64': 'y'}> +CONFIG_EXT4_USE_FOR_EXT2 policy<{'riscv64': 'y'}> +CONFIG_EXT4_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_EXT4_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_EXT4_DEBUG policy<{'riscv64': 'n'}> + +# Menu: File systems >> XFS filesystem support +CONFIG_XFS_FS policy<{'riscv64': 'm'}> +CONFIG_XFS_QUOTA policy<{'riscv64': 'y'}> +CONFIG_XFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_XFS_RT policy<{'riscv64': 'y'}> +CONFIG_XFS_ONLINE_SCRUB policy<{'riscv64': 'n'}> +CONFIG_XFS_WARN policy<{'riscv64': 'n'}> +CONFIG_XFS_DEBUG policy<{'riscv64': 'n'}> + +# Menu: General architecture-dependent options >> Architecture: riscv +CONFIG_ARCH_MMAP_RND_BITS policy<{'riscv64': '18'}> +CONFIG_COMPAT_32BIT_TIME policy<{'riscv64': 'y'}> +CONFIG_STRICT_KERNEL_RWX policy<{'riscv64': 'y'}> +CONFIG_LOCK_EVENT_COUNTS policy<{'riscv64': 'n'}> +# +CONFIG_JUMP_LABEL flag + +# Menu: General architecture-dependent options >> GCC plugins + +# Menu: General architecture-dependent options >> GCOV-based kernel profiling +CONFIG_GCOV_KERNEL policy<{'riscv64': 'n'}> + +# Menu: General setup +CONFIG_COMPILE_TEST policy<{'riscv64': 'n'}> +CONFIG_LOCALVERSION policy<{'riscv64': '""'}> +CONFIG_LOCALVERSION_AUTO policy<{'riscv64': 'n'}> +CONFIG_BUILD_SALT policy<{'riscv64': '""'}> +CONFIG_DEFAULT_INIT policy<{'riscv64': '""'}> +CONFIG_DEFAULT_HOSTNAME policy<{'riscv64': '"(none)"'}> +CONFIG_VERSION_SIGNATURE policy<{'riscv64': '""'}> +CONFIG_SWAP policy<{'riscv64': 'y'}> +CONFIG_SYSVIPC policy<{'riscv64': 'y'}> +CONFIG_POSIX_MQUEUE policy<{'riscv64': 'y'}> +CONFIG_WATCH_QUEUE policy<{'riscv64': 'y'}> +CONFIG_CROSS_MEMORY_ATTACH policy<{'riscv64': 'y'}> +CONFIG_USELIB policy<{'riscv64': 'y'}> +CONFIG_AUDIT policy<{'riscv64': 'y'}> +CONFIG_CPU_ISOLATION policy<{'riscv64': 'y'}> +CONFIG_IKCONFIG policy<{'riscv64': 'n'}> +CONFIG_IKHEADERS policy<{'riscv64': 'm'}> +CONFIG_LOG_BUF_SHIFT policy<{'riscv64': '18'}> +CONFIG_LOG_CPU_MAX_BUF_SHIFT policy<{'riscv64': '12'}> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT policy<{'riscv64': '13'}> +CONFIG_CHECKPOINT_RESTORE policy<{'riscv64': 'y'}> +CONFIG_SCHED_AUTOGROUP policy<{'riscv64': 'y'}> +CONFIG_SYSFS_DEPRECATED policy<{'riscv64': 'n'}> +CONFIG_RELAY policy<{'riscv64': 'y'}> +CONFIG_BOOT_CONFIG policy<{'riscv64': 'y'}> +CONFIG_BPF_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_BPF_JIT_ALWAYS_ON policy<{'riscv64': 'y'}> +CONFIG_USERFAULTFD policy<{'riscv64': 'y'}> +CONFIG_EMBEDDED policy<{'riscv64': 'n'}> +CONFIG_COMPAT_BRK policy<{'riscv64': 'n'}> +CONFIG_SLAB_MERGE_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_SLAB_FREELIST_RANDOM policy<{'riscv64': 'y'}> +CONFIG_SLAB_FREELIST_HARDENED policy<{'riscv64': 'y'}> +CONFIG_SHUFFLE_PAGE_ALLOCATOR policy<{'riscv64': 'y'}> +CONFIG_SLUB_CPU_PARTIAL policy<{'riscv64': 'y'}> +CONFIG_PROFILING policy<{'riscv64': 'y'}> +# +CONFIG_SYSFS_DEPRECATED mark note +CONFIG_COMPAT_BRK mark note +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED note +CONFIG_BPF_JIT_ALWAYS_ON flag +CONFIG_LOCALVERSION_AUTO mark note + +# Menu: General setup >> CPU/Task time and stats accounting +CONFIG_SCHED_THERMAL_PRESSURE policy<{'riscv64': 'n'}> +CONFIG_BSD_PROCESS_ACCT policy<{'riscv64': 'y'}> +CONFIG_BSD_PROCESS_ACCT_V3 policy<{'riscv64': 'y'}> +CONFIG_TASKSTATS policy<{'riscv64': 'y'}> +CONFIG_TASK_DELAY_ACCT policy<{'riscv64': 'y'}> +CONFIG_TASK_XACCT policy<{'riscv64': 'y'}> +CONFIG_TASK_IO_ACCOUNTING policy<{'riscv64': 'y'}> +CONFIG_PSI policy<{'riscv64': 'y'}> +CONFIG_PSI_DEFAULT_DISABLED policy<{'riscv64': 'n'}> + +# Menu: General setup >> CPU/Task time and stats accounting >> Cputime accounting +CONFIG_TICK_CPU_ACCOUNTING policy<{'riscv64': 'y'}> + +# Menu: General setup >> Choose SLAB allocator +CONFIG_SLAB policy<{'riscv64': 'n'}> +CONFIG_SLUB policy<{'riscv64': 'y'}> +CONFIG_SLOB policy<{'riscv64': 'n'}> + +# Menu: General setup >> Compiler optimization level +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE policy<{'riscv64': 'y'}> +CONFIG_CC_OPTIMIZE_FOR_SIZE policy<{'riscv64': 'n'}> + +# Menu: General setup >> Configure standard kernel features (expert users) +CONFIG_EXPERT policy<{'riscv64': 'y'}> +CONFIG_MULTIUSER policy<{'riscv64': 'y'}> +CONFIG_SGETMASK_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_SYSFS_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_FHANDLE policy<{'riscv64': 'y'}> +CONFIG_POSIX_TIMERS policy<{'riscv64': 'y'}> +CONFIG_PRINTK policy<{'riscv64': 'y'}> +CONFIG_BUG policy<{'riscv64': 'y'}> +CONFIG_ELF_CORE policy<{'riscv64': 'y'}> +CONFIG_BASE_FULL policy<{'riscv64': 'y'}> +CONFIG_FUTEX policy<{'riscv64': 'y'}> +CONFIG_EPOLL policy<{'riscv64': 'y'}> +CONFIG_SIGNALFD policy<{'riscv64': 'y'}> +CONFIG_TIMERFD policy<{'riscv64': 'y'}> +CONFIG_EVENTFD policy<{'riscv64': 'y'}> +CONFIG_SHMEM policy<{'riscv64': 'y'}> +CONFIG_AIO policy<{'riscv64': 'y'}> +CONFIG_IO_URING policy<{'riscv64': 'y'}> +CONFIG_ADVISE_SYSCALLS policy<{'riscv64': 'y'}> +CONFIG_MEMBARRIER policy<{'riscv64': 'y'}> +CONFIG_KALLSYMS policy<{'riscv64': 'y'}> +CONFIG_KALLSYMS_ALL policy<{'riscv64': 'y'}> +CONFIG_PC104 policy<{'riscv64': 'y'}> +CONFIG_VM_EVENT_COUNTERS policy<{'riscv64': 'y'}> +CONFIG_SLUB_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SLUB_MEMCG_SYSFS_ON policy<{'riscv64': 'y'}> +# +CONFIG_FHANDLE mark note +CONFIG_SLUB_MEMCG_SYSFS_ON flag + +# Menu: General setup >> Control Group support +CONFIG_CGROUPS policy<{'riscv64': 'y'}> +CONFIG_MEMCG policy<{'riscv64': 'y'}> +CONFIG_BLK_CGROUP policy<{'riscv64': 'y'}> +CONFIG_CGROUP_PIDS policy<{'riscv64': 'y'}> +CONFIG_CGROUP_RDMA policy<{'riscv64': 'y'}> +CONFIG_CGROUP_FREEZER policy<{'riscv64': 'y'}> +CONFIG_CGROUP_HUGETLB policy<{'riscv64': 'y'}> +CONFIG_CPUSETS policy<{'riscv64': 'y'}> +CONFIG_PROC_PID_CPUSET policy<{'riscv64': 'y'}> +CONFIG_CGROUP_DEVICE policy<{'riscv64': 'y'}> +CONFIG_CGROUP_CPUACCT policy<{'riscv64': 'y'}> +CONFIG_CGROUP_PERF policy<{'riscv64': 'y'}> +CONFIG_CGROUP_BPF policy<{'riscv64': 'y'}> +CONFIG_CGROUP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: General setup >> Control Group support >> CPU controller +CONFIG_CGROUP_SCHED policy<{'riscv64': 'y'}> +CONFIG_FAIR_GROUP_SCHED policy<{'riscv64': 'y'}> +CONFIG_CFS_BANDWIDTH policy<{'riscv64': 'y'}> +CONFIG_RT_GROUP_SCHED policy<{'riscv64': 'n'}> +# +CONFIG_RT_GROUP_SCHED mark note + +# Menu: General setup >> IRQ subsystem +CONFIG_SPARSE_IRQ policy<{'riscv64': 'y'}> +CONFIG_GENERIC_IRQ_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support +CONFIG_BLK_DEV_INITRD policy<{'riscv64': 'y'}> +CONFIG_RD_GZIP policy<{'riscv64': 'y'}> +CONFIG_RD_BZIP2 policy<{'riscv64': 'y'}> +CONFIG_RD_LZMA policy<{'riscv64': 'y'}> +CONFIG_RD_XZ policy<{'riscv64': 'y'}> +CONFIG_RD_LZO policy<{'riscv64': 'y'}> +CONFIG_RD_LZ4 policy<{'riscv64': 'y'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support >> Initramfs source file(s) +CONFIG_INITRAMFS_SOURCE policy<{'riscv64': '""'}> + +# 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<{'riscv64': 'y'}> +CONFIG_DEBUG_PERF_USE_VMALLOC policy<{'riscv64': 'n'}> + +# Menu: General setup >> Kernel compression mode + +# Menu: General setup >> Namespaces support +CONFIG_NAMESPACES policy<{'riscv64': 'y'}> +CONFIG_UTS_NS policy<{'riscv64': 'y'}> +CONFIG_IPC_NS policy<{'riscv64': 'y'}> +CONFIG_USER_NS policy<{'riscv64': 'y'}> +CONFIG_PID_NS policy<{'riscv64': 'y'}> +CONFIG_NET_NS policy<{'riscv64': 'y'}> + +# Menu: General setup >> Preemption Model +CONFIG_PREEMPT_NONE policy<{'riscv64': 'n'}> +CONFIG_PREEMPT_VOLUNTARY policy<{'riscv64': 'y'}> +CONFIG_PREEMPT policy<{'riscv64': 'n'}> +# +CONFIG_PREEMPT_NONE note + +# Menu: General setup >> RCU Subsystem + +# Menu: General setup >> RCU Subsystem >> Make expert-level adjustments to RCU configuration +CONFIG_RCU_EXPERT policy<{'riscv64': 'n'}> +# +CONFIG_RCU_EXPERT flag + +# Menu: General setup >> Scheduler features +# +CONFIG_UCLAMP_TASK policy<{'riscv64': '-'}> +CONFIG_UCLAMP_TASK flag +CONFIG_UCLAMP_TASK mark + +# Menu: General setup >> Timers subsystem +CONFIG_NO_HZ policy<{'riscv64': 'y'}> +CONFIG_CONTEXT_TRACKING_FORCE policy<{'riscv64': '-'}> +CONFIG_HIGH_RES_TIMERS policy<{'riscv64': 'y'}> +# +CONFIG_CONTEXT_TRACKING_FORCE note mark + +# Menu: General setup >> Timers subsystem >> Timer tick handling +CONFIG_HZ_PERIODIC policy<{'riscv64': 'n'}> +CONFIG_NO_HZ_IDLE policy<{'riscv64': 'y'}> +# +CONFIG_NO_HZ_IDLE note + +# Menu: Kernel features >> Architecture: riscv +CONFIG_SECCOMP policy<{'riscv64': 'y'}> +CONFIG_RISCV_SBI_V01 policy<{'riscv64': 'y'}> +# +CONFIG_SECCOMP mark + +# Menu: Kernel features >> Timer frequency +CONFIG_HZ_100 policy<{'riscv64': 'n'}> +CONFIG_HZ_250 policy<{'riscv64': 'y'}> +CONFIG_HZ_300 policy<{'riscv64': 'n'}> +CONFIG_HZ_1000 policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking +CONFIG_DEBUG_TIMEKEEPING policy<{'riscv64': 'n'}> +CONFIG_STACKTRACE policy<{'riscv64': 'y'}> +CONFIG_WARN_ALL_UNSEEDED_RANDOM policy<{'riscv64': 'n'}> +CONFIG_STRICT_DEVMEM policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Compile-time checks and compiler options +CONFIG_ENABLE_MUST_CHECK policy<{'riscv64': 'n'}> +CONFIG_FRAME_WARN policy<{'riscv64': '1024'}> +CONFIG_STRIP_ASM_SYMS policy<{'riscv64': 'n'}> +CONFIG_READABLE_ASM policy<{'riscv64': 'n'}> +CONFIG_HEADERS_INSTALL policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SECTION_MISMATCH policy<{'riscv64': 'n'}> +CONFIG_SECTION_MISMATCH_WARN_ONLY policy<{'riscv64': 'y'}> +CONFIG_FRAME_POINTER policy<{'riscv64': 'y'}> +CONFIG_DEBUG_FORCE_WEAK_PER_CPU policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Compile-time checks and compiler options >> Compile the kernel with debug info +CONFIG_DEBUG_INFO policy<{'riscv64': 'y'}> +CONFIG_DEBUG_INFO_REDUCED policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_COMPRESSED policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_SPLIT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_DWARF4 policy<{'riscv64': 'y'}> +CONFIG_DEBUG_INFO_BTF policy<{'riscv64': 'n'}> +CONFIG_GDB_SCRIPTS policy<{'riscv64': 'y'}> +# +CONFIG_DEBUG_INFO mark note +CONFIG_DEBUG_INFO_SPLIT note + +# Menu: Kernel hacking >> Debug Oops, Lockups and Hangs +CONFIG_PANIC_ON_OOPS policy<{'riscv64': 'n'}> +CONFIG_PANIC_TIMEOUT policy<{'riscv64': '0'}> +CONFIG_SOFTLOCKUP_DETECTOR policy<{'riscv64': 'y'}> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC policy<{'riscv64': 'n'}> +CONFIG_DETECT_HUNG_TASK policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT policy<{'riscv64': '120'}> +CONFIG_BOOTPARAM_HUNG_TASK_PANIC policy<{'riscv64': 'n'}> +CONFIG_WQ_WATCHDOG policy<{'riscv64': 'n'}> +CONFIG_TEST_LOCKUP policy<{'riscv64': 'n'}> +# +CONFIG_PANIC_ON_OOPS note + +# Menu: Kernel hacking >> Debug kernel data structures +CONFIG_BUG_ON_DATA_CORRUPTION policy<{'riscv64': 'n'}> +CONFIG_DEBUG_LIST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PLIST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SG policy<{'riscv64': 'n'}> +CONFIG_DEBUG_NOTIFIERS policy<{'riscv64': 'n'}> +# +CONFIG_BUG_ON_DATA_CORRUPTION flag + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments +CONFIG_MAGIC_SYSRQ policy<{'riscv64': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL policy<{'riscv64': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE policy<{'riscv64': '""'}> +CONFIG_DEBUG_FS policy<{'riscv64': 'y'}> +# + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KGDB: kernel debugger +CONFIG_KGDB policy<{'riscv64': 'y'}> +CONFIG_KGDB_SERIAL_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_KGDB_TESTS policy<{'riscv64': 'n'}> +CONFIG_KGDB_KDB policy<{'riscv64': 'y'}> +CONFIG_KDB_KEYBOARD policy<{'riscv64': 'y'}> +CONFIG_KDB_CONTINUE_CATASTROPHIC policy<{'riscv64': '0'}> +# +CONFIG_KGDB flag +CONFIG_KGDB_SERIAL_CONSOLE note + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> Undefined behaviour sanity checker +CONFIG_UBSAN policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage +CONFIG_MEMTEST policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Fault-injection framework +CONFIG_FAULT_INJECTION policy<{'riscv64': '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<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Notifier error injection +CONFIG_NOTIFIER_ERROR_INJECTION policy<{'riscv64': 'm'}> +CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT policy<{'riscv64': 'n'}> +CONFIG_NETDEV_NOTIFIER_ERROR_INJECT policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Runtime Testing +CONFIG_RUNTIME_TESTING_MENU policy<{'riscv64': 'y'}> +CONFIG_LKDTM policy<{'riscv64': 'n'}> +CONFIG_TEST_LIST_SORT policy<{'riscv64': 'n'}> +CONFIG_TEST_MIN_HEAP policy<{'riscv64': 'n'}> +CONFIG_TEST_SORT policy<{'riscv64': 'n'}> +CONFIG_BACKTRACE_SELF_TEST policy<{'riscv64': 'n'}> +CONFIG_RBTREE_TEST policy<{'riscv64': 'n'}> +CONFIG_REED_SOLOMON_TEST policy<{'riscv64': 'n'}> +CONFIG_INTERVAL_TREE_TEST policy<{'riscv64': 'n'}> +CONFIG_PERCPU_TEST policy<{'riscv64': 'n'}> +CONFIG_ATOMIC64_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_ASYNC_RAID6_TEST policy<{'riscv64': 'n'}> +CONFIG_TEST_HEXDUMP policy<{'riscv64': 'n'}> +CONFIG_TEST_STRING_HELPERS policy<{'riscv64': 'n'}> +CONFIG_TEST_STRSCPY policy<{'riscv64': 'n'}> +CONFIG_TEST_KSTRTOX policy<{'riscv64': 'n'}> +CONFIG_TEST_PRINTF policy<{'riscv64': 'n'}> +CONFIG_TEST_BITMAP policy<{'riscv64': 'n'}> +CONFIG_TEST_BITFIELD policy<{'riscv64': 'n'}> +CONFIG_TEST_UUID policy<{'riscv64': 'n'}> +CONFIG_TEST_XARRAY policy<{'riscv64': 'n'}> +CONFIG_TEST_OVERFLOW policy<{'riscv64': 'n'}> +CONFIG_TEST_RHASHTABLE policy<{'riscv64': 'n'}> +CONFIG_TEST_HASH policy<{'riscv64': 'n'}> +CONFIG_TEST_IDA policy<{'riscv64': 'n'}> +CONFIG_TEST_PARMAN policy<{'riscv64': 'n'}> +CONFIG_TEST_LKM policy<{'riscv64': 'n'}> +CONFIG_TEST_BITOPS policy<{'riscv64': 'n'}> +CONFIG_TEST_VMALLOC policy<{'riscv64': 'n'}> +CONFIG_TEST_USER_COPY policy<{'riscv64': 'n'}> +CONFIG_TEST_BPF policy<{'riscv64': 'm'}> +CONFIG_TEST_BLACKHOLE_DEV policy<{'riscv64': 'm'}> +CONFIG_FIND_BIT_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_TEST_FIRMWARE policy<{'riscv64': 'n'}> +CONFIG_TEST_SYSCTL policy<{'riscv64': 'n'}> +CONFIG_TEST_UDELAY policy<{'riscv64': 'n'}> +CONFIG_TEST_STATIC_KEYS policy<{'riscv64': 'n'}> +CONFIG_TEST_KMOD policy<{'riscv64': 'n'}> +CONFIG_TEST_MEMCAT_P policy<{'riscv64': 'n'}> +CONFIG_TEST_OBJAGG policy<{'riscv64': 'n'}> +CONFIG_TEST_STACKINIT policy<{'riscv64': 'n'}> +CONFIG_TEST_MEMINIT policy<{'riscv64': '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_BITFIELD flag +CONFIG_TEST_UUID flag +CONFIG_TEST_XARRAY flag +CONFIG_TEST_OVERFLOW 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 + +# Menu: Kernel hacking >> Kernel debugging +CONFIG_DEBUG_KERNEL policy<{'riscv64': 'y'}> +CONFIG_DEBUG_MISC policy<{'riscv64': 'y'}> +CONFIG_DEBUG_SHIRQ policy<{'riscv64': 'n'}> +CONFIG_DEBUG_KOBJECT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_CREDENTIALS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_WQ_FORCE_RR_CPU policy<{'riscv64': 'n'}> +CONFIG_DEBUG_BLOCK_EXT_DEVT policy<{'riscv64': 'n'}> +CONFIG_CPU_HOTPLUG_STATE_CONTROL policy<{'riscv64': 'n'}> +CONFIG_LATENCYTOP policy<{'riscv64': 'n'}> +# +CONFIG_LATENCYTOP mark note + +# Menu: Kernel hacking >> Kernel debugging >> KCSAN: dynamic data race detector + +# Menu: Kernel hacking >> Lock Debugging (spinlocks, mutexes, etc...) +CONFIG_DEBUG_RT_MUTEXES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SPINLOCK policy<{'riscv64': 'n'}> +CONFIG_DEBUG_MUTEXES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_RWSEMS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_ATOMIC_SLEEP policy<{'riscv64': 'n'}> +CONFIG_DEBUG_LOCKING_API_SELFTESTS policy<{'riscv64': 'n'}> +CONFIG_LOCK_TORTURE_TEST policy<{'riscv64': 'n'}> +CONFIG_WW_MUTEX_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging +CONFIG_PAGE_EXTENSION policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PAGEALLOC policy<{'riscv64': 'n'}> +CONFIG_PAGE_OWNER policy<{'riscv64': 'n'}> +CONFIG_PAGE_POISONING policy<{'riscv64': 'y'}> +CONFIG_PAGE_POISONING_NO_SANITY policy<{'riscv64': 'y'}> +CONFIG_PAGE_POISONING_ZERO policy<{'riscv64': 'y'}> +CONFIG_DEBUG_PAGE_REF policy<{'riscv64': 'n'}> +CONFIG_DEBUG_RODATA_TEST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_WX policy<{'riscv64': 'y'}> +CONFIG_PTDUMP_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_SLUB_DEBUG_ON policy<{'riscv64': 'n'}> +CONFIG_SLUB_STATS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_STACK_USAGE policy<{'riscv64': 'n'}> +CONFIG_SCHED_STACK_END_CHECK policy<{'riscv64': 'y'}> +CONFIG_DEBUG_VIRTUAL policy<{'riscv64': 'n'}> +CONFIG_DEBUG_MEMORY_INIT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PER_CPU_MAPS policy<{'riscv64': 'n'}> +# +CONFIG_PAGE_POISONING mark note +CONFIG_PAGE_POISONING_ZERO mark note +CONFIG_PAGE_POISONING_NO_SANITY mark note + +# Menu: Kernel hacking >> Memory Debugging >> Debug VM +CONFIG_DEBUG_VM policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> Debug object operations +CONFIG_DEBUG_OBJECTS policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger +CONFIG_KASAN policy<{'riscv64': '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 >> Kernel memory leak detector + +# Menu: Kernel hacking >> RCU Debugging +CONFIG_RCU_PERF_TEST policy<{'riscv64': 'm'}> +CONFIG_RCU_TORTURE_TEST policy<{'riscv64': 'n'}> +CONFIG_RCU_CPU_STALL_TIMEOUT policy<{'riscv64': '60'}> +CONFIG_RCU_TRACE policy<{'riscv64': 'n'}> +CONFIG_RCU_EQS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_RCU_CPU_STALL_TIMEOUT flag + +# Menu: Kernel hacking >> Sample kernel code +CONFIG_SAMPLES policy<{'riscv64': 'y'}> +CONFIG_SAMPLE_AUXDISPLAY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_TRACE_EVENTS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_TRACE_PRINTK policy<{'riscv64': 'm'}> +CONFIG_SAMPLE_TRACE_ARRAY policy<{'riscv64': 'm'}> +CONFIG_SAMPLE_KOBJECT policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_KFIFO policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_KDB policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_RPMSG_CLIENT policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_CONFIGFS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MTTY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MBOCHS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_WATCHDOG policy<{'riscv64': 'n'}> +# +CONFIG_SAMPLE_TRACE_PRINTK mark note + +# Menu: Kernel hacking >> Scheduler Debugging +CONFIG_SCHED_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SCHEDSTATS policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> Tracers +CONFIG_FTRACE policy<{'riscv64': 'y'}> +CONFIG_BOOTTIME_TRACING policy<{'riscv64': 'y'}> +CONFIG_STACK_TRACER policy<{'riscv64': 'y'}> +CONFIG_IRQSOFF_TRACER policy<{'riscv64': 'n'}> +CONFIG_SCHED_TRACER policy<{'riscv64': 'y'}> +CONFIG_HWLAT_TRACER policy<{'riscv64': 'y'}> +CONFIG_FTRACE_SYSCALLS policy<{'riscv64': 'y'}> +CONFIG_TRACER_SNAPSHOT policy<{'riscv64': 'y'}> +CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP policy<{'riscv64': 'n'}> +CONFIG_BLK_DEV_IO_TRACE policy<{'riscv64': 'y'}> +CONFIG_SYNTH_EVENTS policy<{'riscv64': 'y'}> +CONFIG_TRACE_EVENT_INJECT policy<{'riscv64': 'y'}> +CONFIG_TRACEPOINT_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_RING_BUFFER_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_TRACE_EVAL_MAP_FILE policy<{'riscv64': 'n'}> +CONFIG_FTRACE_STARTUP_TEST policy<{'riscv64': 'n'}> +CONFIG_RING_BUFFER_STARTUP_TEST policy<{'riscv64': 'n'}> +CONFIG_PREEMPTIRQ_DELAY_TEST policy<{'riscv64': 'n'}> +CONFIG_SYNTH_EVENT_GEN_TEST policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_PROFILE_ANNOTATED_BRANCHES policy<{'riscv64': 'n'}> +CONFIG_PROFILE_ALL_BRANCHES policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Tracers >> Kernel Function Tracer +CONFIG_FUNCTION_TRACER policy<{'riscv64': 'y'}> +CONFIG_FUNCTION_GRAPH_TRACER policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_FTRACE policy<{'riscv64': 'y'}> +CONFIG_FUNCTION_PROFILER policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> printk and dmesg options +CONFIG_PRINTK_TIME policy<{'riscv64': 'y'}> +CONFIG_PRINTK_CALLER policy<{'riscv64': 'n'}> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT policy<{'riscv64': '7'}> +CONFIG_CONSOLE_LOGLEVEL_QUIET policy<{'riscv64': '4'}> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT policy<{'riscv64': '4'}> +CONFIG_BOOT_PRINTK_DELAY policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_DEBUG policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_DEBUG_CORE policy<{'riscv64': 'y'}> +CONFIG_SYMBOLIC_ERRNAME policy<{'riscv64': 'y'}> +CONFIG_DEBUG_BUGVERBOSE policy<{'riscv64': 'y'}> + +# Menu: Library routines +CONFIG_RAID6_PQ_BENCHMARK policy<{'riscv64': 'y'}> +CONFIG_PACKING policy<{'riscv64': 'y'}> +CONFIG_CORDIC policy<{'riscv64': 'm'}> +CONFIG_PRIME_NUMBERS policy<{'riscv64': 'n'}> +CONFIG_CRC_CCITT policy<{'riscv64': 'y'}> +CONFIG_CRC16 policy<{'riscv64': 'y'}> +CONFIG_CRC_T10DIF policy<{'riscv64': 'y'}> +CONFIG_CRC_ITU_T policy<{'riscv64': 'y'}> +CONFIG_CRC32 policy<{'riscv64': 'y'}> +CONFIG_CRC32_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_CRC64 policy<{'riscv64': 'm'}> +CONFIG_CRC4 policy<{'riscv64': 'm'}> +CONFIG_CRC7 policy<{'riscv64': 'y'}> +CONFIG_LIBCRC32C policy<{'riscv64': 'm'}> +CONFIG_CRC8 policy<{'riscv64': 'm'}> +CONFIG_RANDOM32_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_DMA_API_DEBUG policy<{'riscv64': 'n'}> +CONFIG_GLOB_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_IRQ_POLL policy<{'riscv64': 'y'}> +CONFIG_PARMAN policy<{'riscv64': 'm'}> +CONFIG_OBJAGG policy<{'riscv64': 'm'}> +CONFIG_STRING_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Library routines >> CRC32 implementation +CONFIG_CRC32_SLICEBY8 policy<{'riscv64': 'y'}> +CONFIG_CRC32_SLICEBY4 policy<{'riscv64': 'n'}> +CONFIG_CRC32_SARWATE policy<{'riscv64': 'n'}> +CONFIG_CRC32_BIT policy<{'riscv64': 'n'}> + +# Menu: Library routines >> DMA Contiguous Memory Allocator +CONFIG_DMA_CMA policy<{'riscv64': 'y'}> +CONFIG_CMA_SIZE_MBYTES policy<{'riscv64': '32'}> +CONFIG_CMA_ALIGNMENT policy<{'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<{'riscv64': 'y'}> +CONFIG_CMA_SIZE_SEL_PERCENTAGE policy<{'riscv64': 'n'}> +CONFIG_CMA_SIZE_SEL_MIN policy<{'riscv64': 'n'}> +CONFIG_CMA_SIZE_SEL_MAX policy<{'riscv64': 'n'}> + +# Menu: Library routines >> Select compiled-in fonts +CONFIG_FONTS policy<{'riscv64': 'y'}> +CONFIG_FONT_8x8 policy<{'riscv64': 'y'}> +CONFIG_FONT_8x16 policy<{'riscv64': 'y'}> +CONFIG_FONT_6x11 policy<{'riscv64': 'n'}> +CONFIG_FONT_7x14 policy<{'riscv64': 'n'}> +CONFIG_FONT_PEARL_8x8 policy<{'riscv64': 'n'}> +CONFIG_FONT_ACORN_8x8 policy<{'riscv64': 'y'}> +CONFIG_FONT_MINI_4x6 policy<{'riscv64': 'n'}> +CONFIG_FONT_6x10 policy<{'riscv64': 'y'}> +CONFIG_FONT_10x18 policy<{'riscv64': 'n'}> +CONFIG_FONT_SUN8x16 policy<{'riscv64': 'n'}> +CONFIG_FONT_SUN12x22 policy<{'riscv64': 'n'}> +CONFIG_FONT_TER16x32 policy<{'riscv64': 'y'}> + +# Menu: Library routines >> XZ decompression support +CONFIG_XZ_DEC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_X86 policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_POWERPC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_IA64 policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_ARM policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_ARMTHUMB policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_SPARC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_TEST policy<{'riscv64': 'm'}> +# +CONFIG_XZ_DEC note flag + +# Menu: Memory Management options +CONFIG_SPARSEMEM_VMEMMAP policy<{'riscv64': 'y'}> +CONFIG_BALLOON_COMPACTION policy<{'riscv64': 'y'}> +CONFIG_COMPACTION policy<{'riscv64': 'y'}> +CONFIG_PAGE_REPORTING policy<{'riscv64': 'y'}> +CONFIG_MIGRATION policy<{'riscv64': 'y'}> +CONFIG_KSM policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_MMAP_MIN_ADDR policy<{'riscv64': '65536'}> +CONFIG_CLEANCACHE policy<{'riscv64': 'y'}> +CONFIG_FRONTSWAP policy<{'riscv64': 'y'}> +CONFIG_ZPOOL policy<{'riscv64': 'y'}> +CONFIG_ZBUD policy<{'riscv64': 'y'}> +CONFIG_Z3FOLD policy<{'riscv64': 'm'}> +CONFIG_ZSMALLOC policy<{'riscv64': 'y'}> +CONFIG_ZSMALLOC_STAT policy<{'riscv64': 'n'}> +CONFIG_DEFERRED_STRUCT_PAGE_INIT policy<{'riscv64': 'n'}> +CONFIG_IDLE_PAGE_TRACKING policy<{'riscv64': 'y'}> +CONFIG_PERCPU_STATS policy<{'riscv64': 'n'}> +CONFIG_GUP_BENCHMARK policy<{'riscv64': 'n'}> +# +CONFIG_DEFAULT_MMAP_MIN_ADDR mark note +CONFIG_TRANSPARENT_HUGEPAGE flag +CONFIG_MEM_SOFT_DIRTY flag +CONFIG_IDLE_PAGE_TRACKING flag note +CONFIG_PERCPU_STATS flag + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) +CONFIG_ZSWAP policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_DEFAULT_ON policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default allocator +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default compressor +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Contiguous Memory Allocator +CONFIG_CMA policy<{'riscv64': 'y'}> +CONFIG_CMA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CMA_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_CMA_AREAS policy<{'riscv64': '7'}> + +# Menu: Memory Management options >> Memory model +CONFIG_FLATMEM_MANUAL policy<{'riscv64': 'n'}> +CONFIG_SPARSEMEM_MANUAL policy<{'riscv64': 'y'}> + +# Menu: Memory Management options >> Transparent Hugepage Support sysfs defaults + +# Menu: Networking support +CONFIG_NET policy<{'riscv64': 'y'}> +CONFIG_AF_KCM policy<{'riscv64': 'm'}> +CONFIG_CEPH_LIB policy<{'riscv64': 'm'}> +CONFIG_CEPH_LIB_PRETTYDEBUG policy<{'riscv64': 'n'}> +CONFIG_CEPH_LIB_USE_DNS_RESOLVER policy<{'riscv64': 'y'}> +CONFIG_PSAMPLE policy<{'riscv64': 'm'}> +CONFIG_NET_IFE policy<{'riscv64': 'm'}> +CONFIG_LWTUNNEL policy<{'riscv64': 'y'}> +CONFIG_LWTUNNEL_BPF policy<{'riscv64': 'y'}> +CONFIG_FAILOVER policy<{'riscv64': 'm'}> +CONFIG_ETHTOOL_NETLINK policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Amateur Radio support +CONFIG_HAMRADIO policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol +CONFIG_AX25 policy<{'riscv64': 'm'}> +CONFIG_AX25_DAMA_SLAVE policy<{'riscv64': 'y'}> +CONFIG_NETROM policy<{'riscv64': 'm'}> +CONFIG_ROSE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol >> AX.25 network device drivers +CONFIG_MKISS policy<{'riscv64': 'm'}> +CONFIG_6PACK policy<{'riscv64': 'm'}> +CONFIG_BPQETHER policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_SER_FDX policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_SER_HDX policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_PAR policy<{'riscv64': 'm'}> +CONFIG_YAM policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support +CONFIG_BT policy<{'riscv64': 'm'}> +CONFIG_BT_LE policy<{'riscv64': 'y'}> +CONFIG_BT_6LOWPAN policy<{'riscv64': 'm'}> +CONFIG_BT_LEDS policy<{'riscv64': 'y'}> +CONFIG_BT_MSFTEXT policy<{'riscv64': 'y'}> +CONFIG_BT_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_BT_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth Classic (BR/EDR) features +CONFIG_BT_BREDR policy<{'riscv64': 'y'}> +CONFIG_BT_RFCOMM policy<{'riscv64': 'm'}> +CONFIG_BT_RFCOMM_TTY policy<{'riscv64': 'y'}> +CONFIG_BT_BNEP policy<{'riscv64': 'm'}> +CONFIG_BT_BNEP_MC_FILTER policy<{'riscv64': 'y'}> +CONFIG_BT_BNEP_PROTO_FILTER policy<{'riscv64': 'y'}> +CONFIG_BT_CMTP policy<{'riscv64': 'm'}> +CONFIG_BT_HIDP policy<{'riscv64': 'm'}> +CONFIG_BT_HS policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers +CONFIG_BT_HCIBTSDIO policy<{'riscv64': 'm'}> +CONFIG_BT_HCIUART_LL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBCM203X policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBPA10X policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBFUSB policy<{'riscv64': 'm'}> +CONFIG_BT_HCIVHCI policy<{'riscv64': 'm'}> +CONFIG_BT_MRVL policy<{'riscv64': 'm'}> +CONFIG_BT_MRVL_SDIO policy<{'riscv64': 'm'}> +CONFIG_BT_MTKSDIO policy<{'riscv64': 'm'}> +CONFIG_BT_MTKUART policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI UART driver +CONFIG_BT_HCIUART policy<{'riscv64': 'm'}> +CONFIG_BT_HCIUART_H4 policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_BCSP policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_ATH3K policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_3WIRE policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_INTEL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_BCM policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_RTL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_QCA policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_AG6XX policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_MRVL policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI USB driver +CONFIG_BT_HCIBTUSB policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBTUSB_AUTOSUSPEND policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_BCM policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_MTK policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_RTL policy<{'riscv64': 'y'}> +CONFIG_BT_ATH3K policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAIF support +CONFIG_CAIF policy<{'riscv64': 'm'}> +CONFIG_CAIF_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CAIF_NETDEV policy<{'riscv64': 'm'}> +CONFIG_CAIF_USB policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support +CONFIG_CAN policy<{'riscv64': 'm'}> +CONFIG_CAN_RAW policy<{'riscv64': 'm'}> +CONFIG_CAN_BCM policy<{'riscv64': 'm'}> +CONFIG_CAN_GW policy<{'riscv64': 'm'}> +CONFIG_CAN_J1939 policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers +CONFIG_CAN_VCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_VXCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_SLCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_DEBUG_DEVICES policy<{'riscv64': 'n'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support +CONFIG_CAN_DEV policy<{'riscv64': 'm'}> +CONFIG_CAN_CALC_BITTIMING policy<{'riscv64': 'y'}> +CONFIG_CAN_FLEXCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_GRCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_JANZ_ICAN3 policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCIEFD policy<{'riscv64': 'm'}> +CONFIG_CAN_IFI_CANFD policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN_TCAN4X5X policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCIEFD policy<{'riscv64': 'm'}> +CONFIG_CAN_SOFTING policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_CAN_CC770_ISA policy<{'riscv64': 'm'}> +CONFIG_CAN_CC770_PLATFORM policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PCI policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_MCP251X policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> CAN USB interfaces +CONFIG_CAN_8DEV_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_EMS_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_ESD_USB2 policy<{'riscv64': 'm'}> +CONFIG_CAN_GS_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_MCBA_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_UCAN policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_EMS_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_F81601 policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCIEC policy<{'riscv64': 'y'}> +CONFIG_CAN_PLX_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_SJA1000_ISA policy<{'riscv64': 'm'}> +CONFIG_CAN_SJA1000_PLATFORM policy<{'riscv64': 'm'}> + +# Menu: Networking support >> NFC subsystem support +CONFIG_NFC policy<{'riscv64': 'm'}> +CONFIG_NFC_DIGITAL policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_HCI policy<{'riscv64': 'm'}> +CONFIG_NFC_SHDLC policy<{'riscv64': 'y'}> + +# Menu: Networking support >> NFC subsystem support >> Near Field Communication (NFC) devices +CONFIG_NFC_TRF7970A policy<{'riscv64': 'm'}> +CONFIG_NFC_SIM policy<{'riscv64': 'm'}> +CONFIG_NFC_PORT100 policy<{'riscv64': 'm'}> +CONFIG_NFC_FDP policy<{'riscv64': 'm'}> +CONFIG_NFC_FDP_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN544_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN533_USB policy<{'riscv64': 'm'}> +CONFIG_NFC_PN533_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN532_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_MICROREAD_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_USB policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_ST21NFCA_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI policy<{'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_S3FWRN5_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST95HF policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options +CONFIG_PACKET policy<{'riscv64': 'y'}> +CONFIG_PACKET_DIAG policy<{'riscv64': 'm'}> +CONFIG_UNIX policy<{'riscv64': 'y'}> +CONFIG_UNIX_DIAG policy<{'riscv64': 'm'}> +CONFIG_TLS policy<{'riscv64': 'm'}> +CONFIG_TLS_DEVICE policy<{'riscv64': 'y'}> +CONFIG_TLS_TOE policy<{'riscv64': 'n'}> +CONFIG_XFRM_USER policy<{'riscv64': 'm'}> +CONFIG_XFRM_INTERFACE policy<{'riscv64': 'm'}> +CONFIG_XFRM_SUB_POLICY policy<{'riscv64': 'n'}> +CONFIG_XFRM_MIGRATE policy<{'riscv64': 'n'}> +CONFIG_XFRM_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_NET_KEY policy<{'riscv64': 'm'}> +CONFIG_NET_KEY_MIGRATE policy<{'riscv64': 'n'}> +CONFIG_SMC policy<{'riscv64': 'm'}> +CONFIG_SMC_DIAG policy<{'riscv64': 'm'}> +CONFIG_XDP_SOCKETS policy<{'riscv64': 'y'}> +CONFIG_XDP_SOCKETS_DIAG policy<{'riscv64': 'm'}> +CONFIG_NETWORK_SECMARK policy<{'riscv64': 'y'}> +CONFIG_NETWORK_PHY_TIMESTAMPING policy<{'riscv64': 'y'}> +CONFIG_VLAN_8021Q policy<{'riscv64': 'm'}> +CONFIG_VLAN_8021Q_GVRP policy<{'riscv64': 'y'}> +CONFIG_VLAN_8021Q_MVRP policy<{'riscv64': 'y'}> +CONFIG_DECNET policy<{'riscv64': 'm'}> +CONFIG_DECNET_ROUTER policy<{'riscv64': 'n'}> +CONFIG_LLC2 policy<{'riscv64': 'm'}> +CONFIG_ATALK policy<{'riscv64': 'm'}> +CONFIG_X25 policy<{'riscv64': 'm'}> +CONFIG_LAPB policy<{'riscv64': 'm'}> +CONFIG_PHONET policy<{'riscv64': 'm'}> +CONFIG_MAC802154 policy<{'riscv64': 'm'}> +CONFIG_DCB policy<{'riscv64': 'y'}> +CONFIG_DNS_RESOLVER policy<{'riscv64': 'y'}> +CONFIG_NETLINK_DIAG policy<{'riscv64': 'm'}> +CONFIG_NET_NSH policy<{'riscv64': 'm'}> +CONFIG_HSR policy<{'riscv64': 'm'}> +CONFIG_CGROUP_NET_PRIO policy<{'riscv64': 'y'}> +CONFIG_CGROUP_NET_CLASSID policy<{'riscv64': 'y'}> +CONFIG_BPF_JIT policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_6LOWPAN_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> 6LoWPAN Support >> Next Header and Generic Header Compression Support +CONFIG_6LOWPAN_NHC policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_DEST policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_FRAGMENT policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_HOP policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_IPV6 policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_MOBILITY policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_ROUTING policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_UDP policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_UDP policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_ICMPV6 policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> 802.1d Ethernet Bridging +CONFIG_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_IGMP_SNOOPING policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_VLAN_FILTERING policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_MRP policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> Appletalk interfaces support +CONFIG_DEV_APPLETALK policy<{'riscv64': 'm'}> +CONFIG_IPDDP policy<{'riscv64': 'n'}> +# +CONFIG_IPDDP mark note + +# Menu: Networking support >> Networking options >> Asynchronous Transfer Mode (ATM) +CONFIG_ATM policy<{'riscv64': 'm'}> +CONFIG_ATM_CLIP policy<{'riscv64': 'm'}> +CONFIG_ATM_CLIP_NO_ICMP policy<{'riscv64': 'n'}> +CONFIG_ATM_LANE policy<{'riscv64': 'm'}> +CONFIG_ATM_MPOA policy<{'riscv64': 'm'}> +CONFIG_ATM_BR2684 policy<{'riscv64': 'm'}> +CONFIG_ATM_BR2684_IPFILTER policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> B.A.T.M.A.N. Advanced Meshing Protocol +CONFIG_BATMAN_ADV policy<{'riscv64': 'm'}> +CONFIG_BATMAN_ADV_BATMAN_V policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_BLA policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DAT policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_NC policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_MCAST policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_SYSFS policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_TRACING policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> Distributed Switch Architecture +CONFIG_NET_DSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_AR9331 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM_PREPEND policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_GSWIP policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_DSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_EDSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_MTK policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_KSZ policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_OCELOT policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_QCA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_LAN9303 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_SJA1105 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_TRAILER policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support +CONFIG_IEEE802154 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_NL802154_EXPERIMENTAL policy<{'riscv64': 'n'}> +CONFIG_IEEE802154_SOCKET policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_6LOWPAN policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> MultiProtocol Label Switching +CONFIG_MPLS policy<{'riscv64': 'y'}> +CONFIG_NET_MPLS_GSO policy<{'riscv64': 'm'}> +CONFIG_MPLS_ROUTING policy<{'riscv64': 'm'}> +CONFIG_MPLS_IPTUNNEL policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) +CONFIG_NETFILTER policy<{'riscv64': 'y'}> +CONFIG_NETFILTER_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_NETFILTER policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_BRIDGE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration +CONFIG_NETFILTER_INGRESS policy<{'riscv64': 'y'}> +CONFIG_NETFILTER_NETLINK_ACCT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_QUEUE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_LOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_OSF policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE_INET policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_SET policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_AUDIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CHECKSUM policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CLASSIFY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_DSCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_IDLETIMER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LED policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_NAT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NETMAP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFLOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFQUEUE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NOTRACK policy<{'riscv64': 'n'}> +CONFIG_NETFILTER_XT_TARGET_RATEEST policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_REDIRECT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TEE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TPROXY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TRACE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_SECMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPMSS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_BPF policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CGROUP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CLUSTER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_COMMENT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNBYTES policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLABEL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CPU policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DCCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DEVGROUP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DSCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ECN policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ESP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HELPER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPRANGE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPVS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_L2TP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LENGTH policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MAC policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MULTIPORT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_NFACCT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OSF policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OWNER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_POLICY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PHYSDEV policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PKTTYPE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_QUOTA policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RATEEST policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_REALM policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RECENT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SCTP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SOCKET policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATISTIC policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STRING policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TCPMSS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TIME policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_U32 policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter connection tracking support +CONFIG_NF_CONNTRACK policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_MARK policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_SECMARK policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_ZONES policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_PROCFS policy<{'riscv64': 'n'}> +CONFIG_NF_CONNTRACK_EVENTS policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_TIMEOUT policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_TIMESTAMP policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_LABELS policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_DCCP policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_SCTP policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_UDPLITE policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_AMANDA policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_FTP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_H323 policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_IRC policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_NETBIOS_NS policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SNMP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_PPTP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SANE policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SIP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_TFTP policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK_TIMEOUT policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK_HELPER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_GLUE_CT policy<{'riscv64': 'y'}> +CONFIG_NF_NAT policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_NF_TABLES_INET policy<{'riscv64': 'y'}> +CONFIG_NFT_NUMGEN policy<{'riscv64': 'm'}> +CONFIG_NFT_CT policy<{'riscv64': 'm'}> +CONFIG_NFT_FLOW_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_NFT_COUNTER policy<{'riscv64': 'm'}> +CONFIG_NFT_CONNLIMIT policy<{'riscv64': 'm'}> +CONFIG_NFT_LOG policy<{'riscv64': 'm'}> +CONFIG_NFT_LIMIT policy<{'riscv64': 'm'}> +CONFIG_NFT_MASQ policy<{'riscv64': 'm'}> +CONFIG_NFT_REDIR policy<{'riscv64': 'm'}> +CONFIG_NFT_NAT policy<{'riscv64': 'm'}> +CONFIG_NFT_TUNNEL policy<{'riscv64': 'm'}> +CONFIG_NFT_OBJREF policy<{'riscv64': 'm'}> +CONFIG_NFT_QUEUE policy<{'riscv64': 'm'}> +CONFIG_NFT_QUOTA policy<{'riscv64': 'm'}> +CONFIG_NFT_REJECT policy<{'riscv64': 'm'}> +CONFIG_NFT_COMPAT policy<{'riscv64': 'm'}> +CONFIG_NFT_HASH policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_INET policy<{'riscv64': 'm'}> +CONFIG_NFT_XFRM policy<{'riscv64': 'm'}> +CONFIG_NFT_SOCKET policy<{'riscv64': 'm'}> +CONFIG_NFT_OSF policy<{'riscv64': 'm'}> +CONFIG_NFT_TPROXY policy<{'riscv64': 'm'}> +CONFIG_NFT_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_NF_DUP_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_DUP_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_FWD_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_NETDEV policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> DECnet: Netfilter Configuration +CONFIG_DECNET_NF_GRABULATOR policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge nf_tables support +CONFIG_NF_TABLES_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_NFT_BRIDGE_META policy<{'riscv64': 'm'}> +CONFIG_NFT_BRIDGE_REJECT policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_BRIDGE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge tables (ebtables) support +CONFIG_BRIDGE_NF_EBTABLES policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_BROUTE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_T_FILTER policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_T_NAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_802_3 policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_AMONG policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_ARP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_IP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_IP6 policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_LIMIT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_MARK policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_PKTTYPE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_STP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_VLAN policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_ARPREPLY policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_DNAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_MARK_T policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_REDIRECT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_SNAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_LOG policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_NFLOG policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP set support +CONFIG_IP_SET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_MAX policy<{'riscv64': '256'}> +CONFIG_IP_SET_BITMAP_IP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_BITMAP_IPMAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_BITMAP_PORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPMARK policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORTIP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORTNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPMAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_MAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETPORTNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETPORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETIFACE policy<{'riscv64': 'm'}> +CONFIG_IP_SET_LIST_SET policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP virtual server support +CONFIG_IP_VS policy<{'riscv64': 'm'}> +CONFIG_IP_VS_IPV6 policy<{'riscv64': 'y'}> +CONFIG_IP_VS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IP_VS_TAB_BITS policy<{'riscv64': '12'}> +CONFIG_IP_VS_PROTO_TCP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_UDP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_ESP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_AH policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_SCTP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_RR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_WRR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_WLC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_FO policy<{'riscv64': 'm'}> +CONFIG_IP_VS_OVF policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LBLC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LBLCR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_DH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_MH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SED policy<{'riscv64': 'm'}> +CONFIG_IP_VS_NQ policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SH_TAB_BITS policy<{'riscv64': '8'}> +CONFIG_IP_VS_MH_TAB_INDEX policy<{'riscv64': '12'}> +CONFIG_IP_VS_FTP policy<{'riscv64': 'm'}> +CONFIG_IP_VS_NFCT policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PE_SIP policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration +CONFIG_NF_SOCKET_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TPROXY_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_IPV4 policy<{'riscv64': 'y'}> +CONFIG_NFT_DUP_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_ARP policy<{'riscv64': 'y'}> +CONFIG_NF_FLOW_TABLE_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_DUP_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_ARP policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_REJECT_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_NAT_SNMP_BASIC policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARPTABLES policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARP_MANGLE policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_AH policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_ECN policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_RPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_TTL policy<{'riscv64': 'm'}> +CONFIG_IP_NF_FILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_REJECT policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_IP_NF_RAW policy<{'riscv64': 'm'}> +CONFIG_IP_NF_SECURITY policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_CLUSTERIP policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_ECN policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_TTL policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_NETMAP policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_REDIRECT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IPv6: Netfilter Configuration +CONFIG_NF_SOCKET_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_TPROXY_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_IPV6 policy<{'riscv64': 'y'}> +CONFIG_NFT_DUP_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_DUP_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_REJECT_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_IPV6 policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_AH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_EUI64 policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_FRAG policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_OPTS policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_HL policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_IPV6HEADER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_MH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_RPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_RT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_SRH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_HL policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_FILTER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_REJECT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MANGLE policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_RAW policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_SECURITY policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_NAT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_NPT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network testing +CONFIG_NET_PKTGEN policy<{'riscv64': 'm'}> +CONFIG_NET_DROP_MONITOR policy<{'riscv64': 'y'}> +# +CONFIG_NET_DROP_MONITOR note + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing +CONFIG_NET_SCHED policy<{'riscv64': 'y'}> +CONFIG_NET_SCH_CBQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HTB policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HFSC policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ATM policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_MULTIQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_RED policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SFB policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SFQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TEQL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TBF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CBS policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ETF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TAPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_GRED policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_DSMARK policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_NETEM policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_DRR policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_MQPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SKBPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CHOKE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_QFQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CODEL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ_CODEL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CAKE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HHF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PIE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ_PIE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_INGRESS policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PLUG policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ETS policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_BASIC policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_TCINDEX policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_ROUTE4 policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FW policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_U32 policy<{'riscv64': 'm'}> +CONFIG_CLS_U32_PERF policy<{'riscv64': 'n'}> +CONFIG_CLS_U32_MARK policy<{'riscv64': 'y'}> +CONFIG_NET_CLS_RSVP policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_RSVP6 policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FLOW policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_CGROUP policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_BPF policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FLOWER policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_MATCHALL policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Actions +CONFIG_NET_CLS_ACT policy<{'riscv64': 'y'}> +CONFIG_NET_ACT_POLICE policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_GACT policy<{'riscv64': 'm'}> +CONFIG_GACT_PROB policy<{'riscv64': 'y'}> +CONFIG_NET_ACT_MIRRED policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SAMPLE policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_IPT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_NAT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_PEDIT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SIMP policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SKBEDIT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CSUM policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_MPLS policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_VLAN policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_BPF policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CTINFO policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SKBMOD policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_TUNNEL_KEY policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_GATE policy<{'riscv64': 'm'}> +CONFIG_NET_TC_SKB_EXT policy<{'riscv64': '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<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Allow override default queue discipline +CONFIG_NET_SCH_DEFAULT policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_NET_EMATCH_STACK policy<{'riscv64': '32'}> +CONFIG_NET_EMATCH_CMP policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_NBYTE policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_U32 policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_META policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_TEXT policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_CANID policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_IPSET policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_IPT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Qualcomm IPC Router support +CONFIG_QRTR policy<{'riscv64': 'm'}> +CONFIG_QRTR_SMD policy<{'riscv64': 'm'}> +CONFIG_QRTR_TUN policy<{'riscv64': 'm'}> +CONFIG_QRTR_MHI policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking +CONFIG_INET policy<{'riscv64': 'y'}> +CONFIG_IP_MULTICAST policy<{'riscv64': 'y'}> +CONFIG_NET_IPIP policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE_DEMUX policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE_BROADCAST policy<{'riscv64': 'y'}> +CONFIG_SYN_COOKIES policy<{'riscv64': 'y'}> +CONFIG_NET_IPVTI policy<{'riscv64': 'm'}> +CONFIG_NET_FOU policy<{'riscv64': 'm'}> +CONFIG_NET_FOU_IP_TUNNELS policy<{'riscv64': 'y'}> +CONFIG_INET_AH policy<{'riscv64': 'm'}> +CONFIG_INET_ESP policy<{'riscv64': 'm'}> +CONFIG_INET_ESP_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_INET_ESPINTCP policy<{'riscv64': 'y'}> +CONFIG_INET_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_TCP_MD5SIG policy<{'riscv64': 'y'}> +CONFIG_NETLABEL policy<{'riscv64': 'y'}> +CONFIG_MPTCP policy<{'riscv64': 'y'}> +CONFIG_MPTCP_IPV6 policy<{'riscv64': 'y'}> +CONFIG_MPTCP_HMAC_TEST policy<{'riscv64': 'n'}> +CONFIG_NET_SWITCHDEV policy<{'riscv64': 'y'}> +CONFIG_NET_L3_MASTER_DEV policy<{'riscv64': 'y'}> +CONFIG_NET_NCSI policy<{'riscv64': 'y'}> +CONFIG_NCSI_OEM_CMD_GET_MAC policy<{'riscv64': 'y'}> +CONFIG_BPF_STREAM_PARSER policy<{'riscv64': 'y'}> +# +CONFIG_SYN_COOKIES mark +CONFIG_NET_SWITCHDEV mark note +CONFIG_NET_SWITCHDEV mark note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> BPF based packet filtering framework (BPFILTER) +CONFIG_BPFILTER policy<{'riscv64': 'y'}> +CONFIG_BPFILTER_UMH policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> INET: socket monitoring interface +CONFIG_INET_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_UDP_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_RAW_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_DIAG_DESTROY policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: advanced router +CONFIG_IP_ADVANCED_ROUTER policy<{'riscv64': 'y'}> +CONFIG_IP_FIB_TRIE_STATS policy<{'riscv64': 'y'}> +CONFIG_IP_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IP_ROUTE_MULTIPATH policy<{'riscv64': 'y'}> +CONFIG_IP_ROUTE_VERBOSE policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: kernel level autoconfiguration +CONFIG_IP_PNP policy<{'riscv64': 'n'}> +# +CONFIG_IP_PNP note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: multicast routing +CONFIG_IP_MROUTE policy<{'riscv64': 'y'}> +CONFIG_IP_MROUTE_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IP_PIMSM_V1 policy<{'riscv64': 'y'}> +CONFIG_IP_PIMSM_V2 policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Layer Two Tunneling Protocol (L2TP) +CONFIG_L2TP policy<{'riscv64': 'm'}> +CONFIG_L2TP_DEBUGFS policy<{'riscv64': 'm'}> +CONFIG_L2TP_V3 policy<{'riscv64': 'y'}> +CONFIG_L2TP_IP policy<{'riscv64': 'm'}> +CONFIG_L2TP_ETH policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Open vSwitch +CONFIG_OPENVSWITCH policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_GRE policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_VXLAN policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_GENEVE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control +CONFIG_TCP_CONG_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_TCP_CONG_BIC policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_CUBIC policy<{'riscv64': 'y'}> +CONFIG_TCP_CONG_WESTWOOD policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HSTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HYBLA policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_VEGAS policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_NV policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_SCALABLE policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_LP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_VENO policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_YEAH policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_ILLINOIS policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_DCTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_CDG policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_BBR policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control >> Default TCP congestion control +CONFIG_DEFAULT_CUBIC policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_RENO policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol +CONFIG_IP_DCCP policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP CCIDs Configuration +CONFIG_IP_DCCP_CCID2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IP_DCCP_CCID3 policy<{'riscv64': 'n'}> +# +CONFIG_IP_DCCP_CCID3 flag + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP Kernel Hacking +CONFIG_IP_DCCP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The IPv6 protocol +CONFIG_IPV6 policy<{'riscv64': 'y'}> +CONFIG_IPV6_ROUTER_PREF policy<{'riscv64': 'y'}> +CONFIG_IPV6_ROUTE_INFO policy<{'riscv64': 'y'}> +CONFIG_IPV6_OPTIMISTIC_DAD policy<{'riscv64': 'n'}> +CONFIG_INET6_AH policy<{'riscv64': 'm'}> +CONFIG_INET6_ESP policy<{'riscv64': 'm'}> +CONFIG_INET6_ESP_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_INET6_ESPINTCP policy<{'riscv64': 'y'}> +CONFIG_INET6_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_IPV6_MIP6 policy<{'riscv64': 'm'}> +CONFIG_IPV6_ILA policy<{'riscv64': 'm'}> +CONFIG_IPV6_VTI policy<{'riscv64': 'm'}> +CONFIG_IPV6_SIT policy<{'riscv64': 'm'}> +CONFIG_IPV6_SIT_6RD policy<{'riscv64': 'y'}> +CONFIG_IPV6_TUNNEL policy<{'riscv64': 'm'}> +CONFIG_IPV6_GRE policy<{'riscv64': 'm'}> +CONFIG_IPV6_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IPV6_SUBTREES policy<{'riscv64': 'y'}> +CONFIG_IPV6_MROUTE policy<{'riscv64': 'y'}> +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IPV6_PIMSM_V2 policy<{'riscv64': 'y'}> +CONFIG_IPV6_SEG6_LWTUNNEL policy<{'riscv64': 'y'}> +CONFIG_IPV6_SEG6_HMAC policy<{'riscv64': 'y'}> +CONFIG_IPV6_RPL_LWTUNNEL policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'm'}> +CONFIG_RDS_RDMA policy<{'riscv64': 'm'}> +CONFIG_RDS_TCP policy<{'riscv64': 'm'}> +CONFIG_RDS_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The SCTP Protocol +CONFIG_IP_SCTP policy<{'riscv64': 'm'}> +CONFIG_SCTP_DBG_OBJCNT policy<{'riscv64': 'n'}> +CONFIG_SCTP_COOKIE_HMAC_MD5 policy<{'riscv64': 'y'}> +CONFIG_SCTP_COOKIE_HMAC_SHA1 policy<{'riscv64': '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<{'riscv64': 'n'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 policy<{'riscv64': 'y'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The TIPC Protocol +CONFIG_TIPC policy<{'riscv64': 'm'}> +CONFIG_TIPC_MEDIA_IB policy<{'riscv64': 'y'}> +CONFIG_TIPC_MEDIA_UDP policy<{'riscv64': 'y'}> +CONFIG_TIPC_CRYPTO policy<{'riscv64': 'y'}> +CONFIG_TIPC_DIAG policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Virtual Socket protocol +CONFIG_VSOCKETS policy<{'riscv64': 'm'}> +CONFIG_VSOCKETS_DIAG policy<{'riscv64': 'm'}> +CONFIG_VSOCKETS_LOOPBACK policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_VSOCKETS policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_NET_9P policy<{'riscv64': 'm'}> +CONFIG_NET_9P_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_NET_9P_RDMA policy<{'riscv64': 'm'}> +CONFIG_NET_9P_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_NET_9P note + +# Menu: Networking support >> RF switch subsystem support +CONFIG_RFKILL policy<{'riscv64': 'y'}> +CONFIG_RFKILL_INPUT policy<{'riscv64': 'y'}> +CONFIG_RFKILL_GPIO policy<{'riscv64': 'm'}> + +# Menu: Networking support >> RxRPC session sockets +CONFIG_AF_RXRPC policy<{'riscv64': 'm'}> +CONFIG_AF_RXRPC_IPV6 policy<{'riscv64': 'y'}> +CONFIG_AF_RXRPC_INJECT_LOSS policy<{'riscv64': 'n'}> +CONFIG_AF_RXRPC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RXKAD policy<{'riscv64': 'y'}> + +# Menu: Networking support >> WiMAX Wireless Broadband support +CONFIG_WIMAX policy<{'riscv64': 'm'}> +CONFIG_WIMAX_DEBUG_LEVEL policy<{'riscv64': '8'}> + +# Menu: Networking support >> Wireless +CONFIG_WIRELESS policy<{'riscv64': 'y'}> +CONFIG_LIB80211_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) +CONFIG_MAC80211 policy<{'riscv64': 'm'}> +CONFIG_MAC80211_RC_MINSTREL policy<{'riscv64': 'y'}> +CONFIG_MAC80211_MESH policy<{'riscv64': 'y'}> +CONFIG_MAC80211_LEDS policy<{'riscv64': 'y'}> +CONFIG_MAC80211_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_MAC80211_MESSAGE_TRACING policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Default rate control algorithm +CONFIG_MAC80211_RC_DEFAULT_MINSTREL policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Select mac80211 debugging features +CONFIG_MAC80211_DEBUG_MENU policy<{'riscv64': 'n'}> +CONFIG_MAC80211_STA_HASH_MAX_SIZE policy<{'riscv64': '0'}> + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API +CONFIG_CFG80211 policy<{'riscv64': 'm'}> +CONFIG_NL80211_TESTMODE policy<{'riscv64': 'n'}> +CONFIG_CFG80211_DEVELOPER_WARNINGS policy<{'riscv64': 'n'}> +CONFIG_CFG80211_DEFAULT_PS policy<{'riscv64': 'y'}> +CONFIG_CFG80211_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_CFG80211_CRDA_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_CFG80211_WEXT policy<{'riscv64': 'y'}> +# +CONFIG_CFG80211_WEXT flag + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API >> cfg80211 certification onus +CONFIG_CFG80211_CERTIFICATION_ONUS policy<{'riscv64': 'n'}> +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB policy<{'riscv64': 'y'}> +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Architecture: riscv +CONFIG_SMP policy<{'riscv64': 'y'}> +CONFIG_NR_CPUS policy<{'riscv64': '8'}> +CONFIG_HOTPLUG_CPU policy<{'riscv64': 'y'}> +CONFIG_RISCV_ISA_C policy<{'riscv64': 'y'}> +CONFIG_FPU policy<{'riscv64': 'y'}> +# +CONFIG_NR_CPUS note + +# Menu: Platform type >> Base ISA >> Architecture: riscv +CONFIG_ARCH_RV32I policy<{'riscv64': 'n'}> +CONFIG_ARCH_RV64I policy<{'riscv64': 'y'}> + +# Menu: Platform type >> CPU Tuning >> Architecture: riscv +CONFIG_TUNE_GENERIC policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Kernel Code Model >> Architecture: riscv +CONFIG_CMODEL_MEDLOW policy<{'riscv64': 'n'}> +CONFIG_CMODEL_MEDANY policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Maximum Physical Memory >> Architecture: riscv +CONFIG_MAXPHYSMEM_2GB policy<{'riscv64': '-'}> +CONFIG_MAXPHYSMEM_128GB policy<{'riscv64': 'y'}> + +# Menu: Platform type >> supported PMU type >> Architecture: riscv +CONFIG_RISCV_BASE_PMU policy<{'riscv64': 'y'}> + +# Menu: Power management options +CONFIG_PM policy<{'riscv64': 'n'}> +# +CONFIG_PM mark note + +# Menu: Power management options >> Architecture: riscv + +# Menu: Power management options >> Power Management Debug Support +# + +# Menu: Security options +CONFIG_SECURITY_DMESG_RESTRICT policy<{'riscv64': 'n'}> +CONFIG_SECURITY_PERF_EVENTS_RESTRICT policy<{'riscv64': 'y'}> +CONFIG_SECURITYFS policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY_FALLBACK policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY_PAGESPAN policy<{'riscv64': 'n'}> +CONFIG_STATIC_USERMODEHELPER policy<{'riscv64': 'n'}> +CONFIG_LSM policy<{'riscv64': '"lockdown,yama,integrity,apparmor"'}> +# +CONFIG_SECURITY_DMESG_RESTRICT mark +CONFIG_LSM mark + +# Menu: Security options >> Enable access key retention support +CONFIG_KEYS policy<{'riscv64': 'y'}> +CONFIG_KEYS_REQUEST_CACHE policy<{'riscv64': 'y'}> +CONFIG_PERSISTENT_KEYRINGS policy<{'riscv64': 'y'}> +CONFIG_TRUSTED_KEYS policy<{'riscv64': 'y'}> +CONFIG_ENCRYPTED_KEYS policy<{'riscv64': 'y'}> +CONFIG_KEY_DH_OPERATIONS policy<{'riscv64': 'y'}> +CONFIG_KEY_NOTIFICATIONS policy<{'riscv64': 'y'}> + +# Menu: Security options >> Enable different security models +CONFIG_SECURITY policy<{'riscv64': 'y'}> +CONFIG_SECURITY_NETWORK policy<{'riscv64': 'y'}> +CONFIG_SECURITY_INFINIBAND policy<{'riscv64': 'y'}> +CONFIG_SECURITY_NETWORK_XFRM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_PATH policy<{'riscv64': 'y'}> +CONFIG_LSM_MMAP_MIN_ADDR policy<{'riscv64': '0'}> +CONFIG_SECURITY_LOADPIN policy<{'riscv64': 'n'}> +CONFIG_SECURITY_YAMA policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SAFESETID policy<{'riscv64': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY policy<{'riscv64': '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 + +# Menu: Security options >> Enable different security models >> AppArmor support +CONFIG_SECURITY_APPARMOR policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem +CONFIG_INTEGRITY policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_SIGNATURE policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_AUDIT policy<{'riscv64': 'y'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> EVM support +CONFIG_EVM policy<{'riscv64': 'y'}> +CONFIG_EVM_ATTR_FSUUID policy<{'riscv64': 'y'}> +CONFIG_EVM_EXTRA_SMACK_XATTRS policy<{'riscv64': 'y'}> +CONFIG_EVM_ADD_XATTRS policy<{'riscv64': 'y'}> +CONFIG_EVM_LOAD_X509 policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'y'}> +CONFIG_INTEGRITY_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_PLATFORM_KEYRING policy<{'riscv64': 'y'}> +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY policy<{'riscv64': 'n'}> +# +CONFIG_INTEGRITY_PLATFORM_KEYRING mark note +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) +CONFIG_IMA policy<{'riscv64': 'y'}> +CONFIG_IMA_WRITE_POLICY policy<{'riscv64': 'n'}> +CONFIG_IMA_READ_POLICY policy<{'riscv64': 'n'}> +# +CONFIG_IMA mark note +CONFIG_IMA_WRITE_POLICY mark note +CONFIG_IMA_READ_POLICY mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Appraise integrity measurements +CONFIG_IMA_APPRAISE policy<{'riscv64': 'y'}> +CONFIG_IMA_ARCH_POLICY policy<{'riscv64': 'n'}> +CONFIG_IMA_APPRAISE_BOOTPARAM policy<{'riscv64': 'y'}> +CONFIG_IMA_APPRAISE_MODSIG policy<{'riscv64': 'y'}> +CONFIG_IMA_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_IMA_BLACKLIST_KEYRING policy<{'riscv64': 'n'}> +CONFIG_IMA_LOAD_X509 policy<{'riscv64': 'n'}> +# +CONFIG_IMA_APPRAISE mark note +CONFIG_IMA_TRUSTED_KEYRING mark note +CONFIG_IMA_BLACKLIST_KEYRING mark note +CONFIG_IMA_LOAD_X509 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<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default integrity hash algorithm +CONFIG_IMA_DEFAULT_HASH_SHA1 policy<{'riscv64': 'y'}> +CONFIG_IMA_DEFAULT_HASH_SHA256 policy<{'riscv64': 'n'}> +CONFIG_IMA_DEFAULT_HASH_SHA512 policy<{'riscv64': 'n'}> +# +CONFIG_IMA_DEFAULT_HASH_SHA256 note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default template +CONFIG_IMA_TEMPLATE policy<{'riscv64': 'n'}> +CONFIG_IMA_NG_TEMPLATE policy<{'riscv64': 'y'}> +CONFIG_IMA_SIG_TEMPLATE policy<{'riscv64': 'n'}> +# +CONFIG_IMA_SIG_TEMPLATE note + +# Menu: Security options >> Enable different security models >> Kernel default lockdown mode +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE policy<{'riscv64': 'y'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY policy<{'riscv64': 'n'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY policy<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> NSA SELinux Support +CONFIG_SECURITY_SELINUX policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_BOOTPARAM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_DISABLE policy<{'riscv64': 'n'}> +CONFIG_SECURITY_SELINUX_DEVELOP policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_AVC_STATS policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE policy<{'riscv64': '1'}> +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS policy<{'riscv64': '9'}> +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SECURITY_SMACK_BRINGUP policy<{'riscv64': 'n'}> +CONFIG_SECURITY_SMACK_NETFILTER policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SMACK_APPEND_SIGNALS policy<{'riscv64': 'y'}> +# +CONFIG_SECURITY_SMACK mark + +# Menu: Security options >> Enable different security models >> TOMOYO Linux Support +CONFIG_SECURITY_TOMOYO policy<{'riscv64': 'y'}> +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY policy<{'riscv64': '2048'}> +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG policy<{'riscv64': '1024'}> +CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER policy<{'riscv64': 'n'}> +CONFIG_SECURITY_TOMOYO_POLICY_LOADER policy<{'riscv64': '"/sbin/tomoyo-init"'}> +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER policy<{'riscv64': '"/sbin/init"'}> +CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING policy<{'riscv64': 'n'}> + +# Menu: Security options >> First legacy 'major LSM' to be initialized +CONFIG_DEFAULT_SECURITY_SELINUX policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_SMACK policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_TOMOYO policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_APPARMOR policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_SECURITY_DAC policy<{'riscv64': 'n'}> + +# Menu: Security options >> Kernel hardening options + +# Menu: Security options >> Kernel hardening options >> Memory initialization +CONFIG_INIT_ON_ALLOC_DEFAULT_ON policy<{'riscv64': 'y'}> +CONFIG_INIT_ON_FREE_DEFAULT_ON policy<{'riscv64': 'n'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Initialize kernel stack variables at function entry +CONFIG_INIT_STACK_NONE policy<{'riscv64': 'y'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Poison kernel stack before returning from syscalls + +# Menu: SoC selection >> Architecture: riscv +CONFIG_SOC_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SOC_VIRT policy<{'riscv64': 'y'}> + +# Menu: Ubuntu Supplied Third-Party Device Drivers +CONFIG_HIO policy<{'riscv64': 'n'}> +# +CONFIG_HIO mark note + --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/config/config.common.ports +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/config/config.common.ubuntu +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/config/config.common.ubuntu @@ -0,0 +1,7969 @@ +# +# Common config options automatically generated by splitconfig.pl +# +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_88EU_AP_MODE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_ABP060MG=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +# CONFIG_ACORN_PARTITION is not set +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=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_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_AD7298=m +CONFIG_AD7303=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_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_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_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADUX1020=m +CONFIG_ADVISE_SYSCALLS=y +CONFIG_ADXL372=m +CONFIG_ADXL372_I2C=m +CONFIG_ADXL372_SPI=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_AHCI_CEVA=m +CONFIG_AHCI_QORIQ=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_AIX_PARTITION=y +CONFIG_AK09911=m +CONFIG_AK8974=m +CONFIG_AK8975=m +CONFIG_AL3010=m +CONFIG_AL3320A=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_AMD8111_ETH=m +CONFIG_AMD_PHY=m +CONFIG_AMIGA_PARTITION=y +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_APDS9300=m +CONFIG_APDS9802ALS=m +CONFIG_APDS9960=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_APPLICOM=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AR5523=m +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_DEBUG_WX=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=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_AS3935=m +CONFIG_ASHMEM=m +CONFIG_ASM_MODVERSIONS=y +CONFIG_ASN1=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m +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_DMA=y +CONFIG_ASYNC_XOR=m +CONFIG_AT76C50X_USB=m +CONFIG_AT803X_PHY=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_FORCE=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=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_SPECTRAL=y +CONFIG_ATH10K_TRACING=y +CONFIG_ATH10K_USB=m +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_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_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +# CONFIG_AUFS_BR_FUSE is not set +CONFIG_AUFS_BR_HFSPLUS=y +# CONFIG_AUFS_BR_RAMFS is not set +# CONFIG_AUFS_DEBUG is not set +CONFIG_AUFS_DIRREN=y +CONFIG_AUFS_EXPORT=y +# CONFIG_AUFS_FHSM is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_INO_T_64=y +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +CONFIG_AUFS_XATTR=y +CONFIG_AURORA_NB8800=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +# CONFIG_AX88796B_PHY is not set +CONFIG_AXP20X_ADC=m +CONFIG_AXP20X_POWER=m +CONFIG_AXP288_ADC=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_ARCXCNN=m +CONFIG_BACKLIGHT_AS3711=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_GPIO=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_SKY81452=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BALLOON_COMPACTION=y +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_DEBUGFS is not set +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_SYSFS=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_LEGO_EV3=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_BATTERY_RT5033=m +CONFIG_BATTERY_RX51=m +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_TWL4030_MADC=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCACHE=m +CONFIG_BCACHE_ASYNC_REGISTRAION=y +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_DEBUG is not set +CONFIG_BCM54140_PHY=m +CONFIG_BCM7XXX_PHY=m +CONFIG_BCM84881_PHY=m +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_KONA_USB2_PHY=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BD70528_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_BFQ_CGROUP_DEBUG is not set +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_BFS_FS=m +CONFIG_BH1750=m +CONFIG_BH1780=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_FLAT_OLD=y +CONFIG_BINFMT_MISC=m +CONFIG_BINFMT_SCRIPT=y +CONFIG_BINFMT_SHARED_FLAT=y +CONFIG_BINFMT_ZFLAT=y +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CGROUP_IOCOST=y +# CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CMDLINE_PARSER=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_CRYPTOLOOP=m +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DRBD=m +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_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_RSXX=m +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SKD=m +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_UMEM=m +CONFIG_BLK_DEV_ZONED=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_VIRTIO=y +CONFIG_BLK_RQ_ALLOC_TIME=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y +CONFIG_BLOCK=y +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=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_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_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_BOOTTIME_TRACING=y +CONFIG_BOOT_CONFIG=y +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BPF=y +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_BPF_SYSCALL=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_BRCMUTIL=m +CONFIG_BRCM_TRACING=y +CONFIG_BRIDGE=m +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_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_HCIBPA10X=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_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_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_MTKSDIO=m +CONFIG_BT_MTKUART=m +CONFIG_BT_QCA=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_RTL=m +# CONFIG_BT_SELFTEST is not set +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILD_BIN2C=y +CONFIG_BUILD_SALT="" +CONFIG_C2PORT=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_DRIVERS=y +CONFIG_CAIF_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +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_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_USB=m +CONFIG_CAN_ESD_USB2=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_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_M_CAN=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_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_RAW=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_UCAN=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAPI_TRACE=y +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_PTP=m +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_INLINE=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_CC_IS_GCC=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0" +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_CORE=m +CONFIG_CEC_NOTIFIER=y +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_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_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_BD70528=m +CONFIG_CHARGER_BD99954=m +CONFIG_CHARGER_BQ2415X=m +CONFIG_CHARGER_BQ24190=m +CONFIG_CHARGER_BQ24257=m +CONFIG_CHARGER_BQ24735=m +CONFIG_CHARGER_BQ25890=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_MANAGER=y +CONFIG_CHARGER_MAX14577=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MP2629=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_RT9455=m +CONFIG_CHARGER_SBS=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHARGER_UCS1002=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_IPSEC_INLINE=y +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=y +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +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_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CLANG_VERSION=0 +CONFIG_CLEANCACHE=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y +# CONFIG_CLK_HSDK is not set +CONFIG_CLK_SIFIVE=y +CONFIG_CLK_SIFIVE_PRCI=y +CONFIG_CLK_TWL6040=m +# CONFIG_CLOCK_THERMAL is not set +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=y +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_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMODEL_MEDANY=y +# CONFIG_CMODEL_MEDLOW is not set +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_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_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_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_LABPC=m +CONFIG_COMEDI_NI_LABPC_ISA=m +CONFIG_COMEDI_NI_LABPC_PCI=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_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=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_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_BD718XX=m +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_LOCHNAGAR=m +CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX9485=m +CONFIG_COMMON_CLK_PALMAS=m +CONFIG_COMMON_CLK_PWM=m +CONFIG_COMMON_CLK_RK808=m +CONFIG_COMMON_CLK_S2MPS11=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_VC5=m +CONFIG_COMMON_CLK_WM831X=m +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +CONFIG_COMPACTION=y +CONFIG_COMPAT_32BIT_TIME=y +# CONFIG_COMPAT_BRK 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_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_CORTINA_PHY=m +# CONFIG_COUNTER is not set +CONFIG_CPCAP_ADC=m +CONFIG_CPUSETS=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_ISOLATION=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_THERMAL=y +CONFIG_CRAMFS=m +CONFIG_CRAMFS_BLOCKDEV=y +CONFIG_CRAMFS_MTD=y +CONFIG_CRASH_CORE=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=m +CONFIG_CRC7=y +CONFIG_CRC8=m +CONFIG_CRC_CCITT=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_MEMORY_ATTACH=y +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_AES=y +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_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2S=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=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_CMAC=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_NITROX=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +CONFIG_CRYPTO_DEV_VIRTIO=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_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_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_KEYWRAP=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_BLAKE2S=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m +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_POLY1305_RSIZE=1 +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_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_AEAD=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_RNG=m +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_CUSE=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_CXD2880_SPI_DRV=m +CONFIG_CYCLADES=m +CONFIG_CYPRESS_FIRMWARE=m +# CONFIG_CYZ_INTR is not set +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_DAVICOM_PHY=m +CONFIG_DAX=y +CONFIG_DAX_DRIVER=y +CONFIG_DCB=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT 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_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_BTF is not set +# CONFIG_DEBUG_INFO_COMPRESSED is not set +CONFIG_DEBUG_INFO_DWARF4=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KERNEL_DC 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_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +# CONFIG_DEBUG_MUTEXES 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_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_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU 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_DEFAULT_CUBIC=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_INIT="" +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# 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_DEFXX_MMIO is not set +CONFIG_DETECT_HUNG_TASK=y +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_DEVKMEM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DEV_COREDUMP=y +CONFIG_DHT11=m +CONFIG_DIMLIB=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLHL60D=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DLN2_ADC=m +CONFIG_DM9102=m +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_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMARD06=m +CONFIG_DMARD09=m +CONFIG_DMARD10=m +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_CMA=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_ENGINE=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_DMA_OF=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_VIRTUAL_CHANNELS=m +CONFIG_DMA_VIRT_OPS=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_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_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_DPOT_DAC=m +CONFIG_DPS310=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_GART_DEBUGFS is not set +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_AMD_ACP=y +CONFIG_DRM_AMD_DC=y +CONFIG_DRM_AMD_DC_HDCP=y +CONFIG_DRM_ANALOGIX_ANX6345=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_CDNS_DSI=m +CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CIRRUS_QEMU=m +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_DISPLAY_CONNECTOR=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_I2S_AUDIO=m +# CONFIG_DRM_ETNAVIV is not set +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GEM_CMA_HELPER=y +CONFIG_DRM_GEM_SHMEM_HELPER=y +CONFIG_DRM_GM12U320=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_KMS_CMA_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_KOMEDA=m +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_LVDS_CODEC=m +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_MIPI_DBI=m +CONFIG_DRM_MIPI_DSI=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NWL_MIPI_DSI=m +CONFIG_DRM_NXP_PTN3460=m +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BRIDGE=y +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_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=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_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT39016=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=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_ROCKTECH_JH057N00900=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=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_SIMPLE=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX424AKP=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=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_XINPENG_XPP055C272=m +CONFIG_DRM_PARADE_PS8622=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +# CONFIG_DRM_RADEON_USERPTR is not set +CONFIG_DRM_RCAR_DW_HDMI=m +# CONFIG_DRM_RCAR_LVDS is not set +CONFIG_DRM_SCHED=m +CONFIG_DRM_SII902X=m +CONFIG_DRM_SII9234=m +CONFIG_DRM_SIL_SII8620=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_TI_TFP410=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358767=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_DMA_PAGE_POOL=y +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_UDL=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_VKMS=m +CONFIG_DRM_VRAM_HELPER=m +CONFIG_DS1682=m +CONFIG_DS1803=m +CONFIG_DS4424=m +CONFIG_DST_CACHE=y +CONFIG_DTC=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_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_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_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_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_EDAC=y +# CONFIG_EDAC_DEBUG is not set +# CONFIG_EDAC_LEGACY_SYSFS is not set +CONFIG_EDAC_SIFIVE=y +CONFIG_EDAC_SUPPORT=y +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_PARTITION=y +CONFIG_EFS_FS=m +CONFIG_ELFCORE=y +CONFIG_ELF_CORE=y +# CONFIG_EMBEDDED is not set +# CONFIG_ENABLE_MUST_CHECK 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_ENIC=m +CONFIG_ENVELOPE_DETECTOR=m +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_EROFS_FS=m +CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1 +# 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_ET131X=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y +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_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_ARIZONA=m +CONFIG_EXTCON_FSA9480=m +CONFIG_EXTCON_GPIO=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_RT8973A=m +CONFIG_EXTCON_SM5502=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_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_IO_TRACE is not set +CONFIG_F2FS_STAT_FS=y +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_ARK=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_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_FOREIGN_ENDIAN is not set +CONFIG_FB_GOLDFISH=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_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_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_SIMPLE=y +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_TFT_WATTEROTT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FCOE=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FIELDBUS_DEV=m +CONFIG_FILE_LOCKING=y +# CONFIG_FIND_BIT_BENCHMARK 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_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_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_FPGA=m +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FPGA_DFL_AFU=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_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_XILINX_SPI=m +CONFIG_FPGA_REGION=m +CONFIG_FPU=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_VECTOR=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_OBJECT_LIST 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_EDMA=m +CONFIG_FSNOTIFY=y +CONFIG_FS_DAX=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=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_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUNCTION_TRACER=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_FWTTY_MAX_CARD_PORTS=32 +CONFIG_FWTTY_MAX_TOTAL_PORTS=64 +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_FXAS21002C=m +CONFIG_FXAS21002C_I2C=m +CONFIG_FXAS21002C_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_GCC_VERSION=90300 +# 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_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=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_GENEVE=m +CONFIG_GENWQE=m +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +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_GOLDFISH=y +CONFIG_GOLDFISH_AUDIO=m +CONFIG_GOLDFISH_PIPE=m +CONFIG_GOLDFISH_TTY=m +CONFIG_GP2AP002=m +CONFIG_GP2AP020A00F=m +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_74X164=m +CONFIG_GPIO_74XX_MMIO=m +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AGGREGATOR=m +CONFIG_GPIO_ALTERA=m +# CONFIG_GPIO_AMD_FCH is not set +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_BD70528=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_CADENCE=m +CONFIG_GPIO_DA9052=m +CONFIG_GPIO_DA9055=m +CONFIG_GPIO_DLN2=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_EXAR=m +CONFIG_GPIO_FTGPIO010=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_GRGPIO=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_HLWD=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_MOCKUP is not set +CONFIG_GPIO_MOXTET=m +CONFIG_GPIO_PALMAS=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SAMA5D2_PIOBU=m +CONFIG_GPIO_SIFIVE=y +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SYSCON=m +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TC3589X=y +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_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_UCB1400=m +CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_WATCHDOG=m +CONFIG_GPIO_WCD934X=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +# CONFIG_GPIO_XILINX is not set +CONFIG_GPIO_XRA1403=m +CONFIG_GRACE_PERIOD=m +CONFIG_GREENASIA_FF=y +# CONFIG_GREYBUS is not set +CONFIG_GRO_CELLS=y +CONFIG_GS_FPGABOOT=m +CONFIG_GTP=m +# CONFIG_GUP_BENCHMARK is not set +CONFIG_GVE=m +# CONFIG_HABANA_AI is not set +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY_FALLBACK=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HD44780=m +CONFIG_HDC100X=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_HEADERS_INSTALL is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HI8435=m +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_GEMBIRD=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GFRM=m +CONFIG_HID_GLORIOUS=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GT683R=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=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_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_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=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_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_SENSOR_ACCEL_3D=m +CONFIG_HID_SENSOR_ALS=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_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_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_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HIO is not set +# CONFIG_HIPPI is not set +CONFIG_HMC425=m +CONFIG_HMC6352=m +CONFIG_HMM_MIRROR=y +CONFIG_HMS_ANYBUSS_BUS=m +CONFIG_HMS_PROFINET=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=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_CPCI=y +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HP03=m +CONFIG_HP206C=m +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HSR=m +CONFIG_HT16K33=m +CONFIG_HTC_I2CPLD=y +CONFIG_HTC_PASIC3=m +CONFIG_HTS221=m +CONFIG_HTS221_I2C=m +CONFIG_HTS221_SPI=m +CONFIG_HTU21=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_DRIVER=y +CONFIG_HVC_RISCV_SBI=y +CONFIG_HWLAT_TRACER=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +CONFIG_HWSPINLOCK=y +CONFIG_HW_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_TPM=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HX711=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_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_ARB_GPIO_CHALLENGE=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +# 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_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=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_KEMPLD=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_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_RK3X=m +CONFIG_I2C_ROBOTFUZZ_OSIF=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 is not set +CONFIG_I2C_SMBUS=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIPERBOARD=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_I40E_DCB=y +CONFIG_I6300ESB_WDT=m +CONFIG_IAQCORE=m +CONFIG_IAVF=m +CONFIG_ICE=m +CONFIG_ICP10100=m +CONFIG_ICPLUS_PHY=m +CONFIG_ICS932S401=m +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_ADF7242=m +CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_AT86RF230_DEBUGFS=y +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_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_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_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_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_ARCH_POLICY is not set +# 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_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_SIG_TEMPLATE is not set +# CONFIG_IMA_TEMPLATE is not set +CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_WRITE_POLICY is not set +CONFIG_IMG_ASCII_LCD=m +CONFIG_INA2XX_ADC=m +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_RAW_DIAG=m +CONFIG_INET_SCTP_DIAG=m +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_EXP_LEGACY_VERBS_NEW_UAPI is not set +CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set +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_QEDR=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_VIRT_DMA=y +CONFIG_INFINIBAND_VMWARE_PVRDMA=m +CONFIG_INFTL=m +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_NONE=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=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_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATI_REMOTE2=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_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_IMS_PCU=m +CONFIG_INPUT_IQS269A=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_POLLDEV=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_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_WM831X_ON=m +CONFIG_INPUT_YEALINK=m +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_TH=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_XWAY_PHY=m +CONFIG_INTERCONNECT=y +CONFIG_INTERVAL_TREE=y +# CONFIG_INTERVAL_TREE_TEST is not set +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m +CONFIG_INV_MPU6050_SPI=m +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_SUPPORT=y +# CONFIG_ION is not set +CONFIG_IONIC=m +CONFIG_IOSCHED_BFQ=m +CONFIG_IO_URING=y +CONFIG_IO_WQ=y +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_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_HANDLER=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_IPV6=y +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_ILA=m +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_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_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=m +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_POLL=y +CONFIG_IRQ_WORK=y +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_JVC_DECODER=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=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_SIR=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_TTUSBIR=m +CONFIG_IR_XMP_DECODER=m +CONFIG_ISCSI_BOOT_SYSFS=m +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_ISI=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISL29125=m +CONFIG_ISL29501=m +CONFIG_ISO9660_FS=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_BCAST_FILTERING is not set +# 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_DCB=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBE_IPSEC=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_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_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_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_KARMA_PARTITION=y +# CONFIG_KASAN is not set +CONFIG_KASAN_STACK=1 +CONFIG_KCMP=y +CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_KDB_DEFAULT_ENABLE=0x1 +CONFIG_KDB_KEYBOARD=y +CONFIG_KEMPLD_WDT=m +CONFIG_KERNFS=y +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_BCM=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_DLINK_DIR685=m +CONFIG_KEYBOARD_GOLDFISH_EVENTS=m +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=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_MTK_PMIC=m +CONFIG_KEYBOARD_NEWTON=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_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=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_KGDB=y +CONFIG_KGDB_KDB=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KMX61=m +CONFIG_KPC2000=y +CONFIG_KPC2000_CORE=m +CONFIG_KPC2000_DMA=m +CONFIG_KPC2000_I2C=m +CONFIG_KPC2000_SPI=m +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_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_LAPB=m +CONFIG_LAPBETHER=m +# CONFIG_LATENCYTOP is not set +CONFIG_LATTICE_ECP3_CONFIG=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_VERSION=234000000 +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_AAT1290=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_AN30259A=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_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_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_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_MLXREG=m +CONFIG_LEDS_MT6323=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_REGULATOR=m +CONFIG_LEDS_SGM3140=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_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_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_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_LIDAR_LITE_V2=m +CONFIG_LINEAR_RANGES=y +CONFIG_LIQUIDIO=m +CONFIG_LIQUIDIO_VF=m +CONFIG_LIRC=y +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LMP91000=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=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_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="lockdown,yama,integrity,apparmor" +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTC1660=m +CONFIG_LTC2471=m +CONFIG_LTC2485=m +CONFIG_LTC2496=m +CONFIG_LTC2497=m +CONFIG_LTC2632=m +CONFIG_LTC2983=m +CONFIG_LTE_GDM724X=m +CONFIG_LTR501=m +CONFIG_LV0104CS=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_LXT_PHY=m +CONFIG_LZ4HC_COMPRESS=m +CONFIG_LZ4_COMPRESS=y +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_MACSEC=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=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_MANDATORY_FILE_LOCKING=y +CONFIG_MANTIS_CORE=m +CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_PHY=m +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_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_MAXPHYSMEM_128GB=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MB1232=m +CONFIG_MC3230=m +CONFIG_MCB=m +CONFIG_MCB_LPC=m +CONFIG_MCB_PCI=m +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_MD=y +CONFIG_MDIO=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_BUS_MUX_MMIOREG=m +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m +CONFIG_MDIO_CAVIUM=m +CONFIG_MDIO_DEVICE=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_THUNDER=m +CONFIG_MDIO_XPCS=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_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_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_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_ISOLATION=y +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_MENF21BMC_WATCHDOG=m +CONFIG_MENZ069_WATCHDOG=m +CONFIG_MEN_A21_WDT=m +CONFIG_MEN_Z188_ADC=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_ACT8945A=m +CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=y +CONFIG_MFD_ATMEL_FLEXCOM=m +CONFIG_MFD_ATMEL_HLCDC=m +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_CPCAP=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_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=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_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_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RK808=m +CONFIG_MFD_RN5T618=m +CONFIG_MFD_ROHM_BD70528=m +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD718XX=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SMSC=y +CONFIG_MFD_STMFX=m +CONFIG_MFD_STMPE=y +CONFIG_MFD_STPMIC1=m +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 is not set +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_TPS80031=y +# CONFIG_MFD_TQMX86 is not set +CONFIG_MFD_TWL4030_AUDIO=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_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_PIT64B=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MICROSEMI_PHY=m +CONFIG_MIGRATION=y +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +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_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_ACCEL=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_FPGA_IPSEC=y +CONFIG_MLX5_FPGA_TLS=y +CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TLS=y +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_MLXFW=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_MLXSW_SWITCHIB=m +CONFIG_MLXSW_SWITCHX2=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_MMC_ALCOR=m +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_GOLDFISH=m +CONFIG_MMC_HSQ=m +CONFIG_MMC_MTK=m +CONFIG_MMC_REALTEK_PCI=m +CONFIG_MMC_REALTEK_USB=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_AM654=m +CONFIG_MMC_SDHCI_CADENCE=m +CONFIG_MMC_SDHCI_EXTERNAL_DMA=y +CONFIG_MMC_SDHCI_F_SDH30=m +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_MILBEAUT=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_OMAP=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m +CONFIG_MMC_SPI=y +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMIOWB=y +CONFIG_MMU=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MODULES=y +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS 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_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_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_SOUND=m +CONFIG_MOST_USB=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_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_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_MPTCP=y +# CONFIG_MPTCP_HMAC_TEST is not set +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_OCELOT=m +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSPRO_BLOCK=m +CONFIG_MS_BLOCK=m +CONFIG_MT7601U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7663U=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +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_MTD=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=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_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_GEN_PROBE=m +CONFIG_MTD_HYPERBUS=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=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_MTDRAM=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_NAND_ECC_SW_HAMMING=m +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +CONFIG_MTD_OF_PARTS=m +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_PARTITIONED_MASTER is not set +CONFIG_MTD_PCI=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +CONFIG_MTD_PHYSMAP_GPIO_ADDR=y +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set +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_QINFO_PROBE=m +CONFIG_MTD_RAM=m +# CONFIG_MTD_RAW_NAND is not set +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_SLRAM=m +CONFIG_MTD_SPI_NAND=m +CONFIG_MTD_SPI_NOR=m +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_MULTIPLEXER=m +CONFIG_MULTIUSER=y +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUX_ADG792A=m +CONFIG_MUX_ADGS1408=m +CONFIG_MUX_GPIO=m +CONFIG_MUX_MMIO=m +CONFIG_MVMDIO=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_MXC4005=m +CONFIG_MXC6255=m +CONFIG_MYRI10GE=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=m +CONFIG_NATSEMI=m +CONFIG_NAU7802=m +CONFIG_NCSI_OEM_CMD_GET_MAC=y +CONFIG_ND_BLK=m +CONFIG_ND_BTT=m +CONFIG_ND_CLAIM=y +CONFIG_NE2K_PCI=m +CONFIG_NEED_DMA_MAP_STATE=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_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_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +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_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_RDMA=m +CONFIG_NET_9P_VIRTIO=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_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DROP_MONITOR=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_BCM_SF2=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_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_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y +CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK_SMI=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_8021Q=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_PREPEND=m +CONFIG_NET_DSA_TAG_DSA=m +CONFIG_NET_DSA_TAG_EDSA=m +CONFIG_NET_DSA_TAG_GSWIP=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_QCA=m +CONFIG_NET_DSA_TAG_SJA1105=m +CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_VITESSE_VSC73XX=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=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_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_REDIRECT=y +CONFIG_NET_RX_BUSY_POLL=y +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_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_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALACRITECH=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_ATHEROS=y +CONFIG_NET_VENDOR_AURORA=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_CISCO=y +CONFIG_NET_VENDOR_CORTINA=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VRF=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_MICROREAD=m +CONFIG_NFC_MICROREAD_I2C=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_PORT100=m +CONFIG_NFC_S3FWRN5=m +CONFIG_NFC_S3FWRN5_I2C=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_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=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=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_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_COUNTER=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_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_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_BRIDGE=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_LOG_NETDEV=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_NILFS2_FS=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_LEGACY_CTX_SUPPORT is not set +CONFIG_NOZOMI=m +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NR_CPUS=8 +CONFIG_NS83820=m +CONFIG_NTB=m +CONFIG_NTB_IDT=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_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NVDIMM_KEYS=y +CONFIG_NVM=y +CONFIG_NVMEM=y +CONFIG_NVMEM_REBOOT_MODE=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_NVMEM_SYSFS=y +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_RDMA=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TCP=m +CONFIG_NVM_PBLK=m +# CONFIG_NVM_PBLK_DEBUG is not set +CONFIG_NXP_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_N_HDLC=m +CONFIG_OBJAGG=m +# 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_OF=y +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_NET=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_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPT3001=m +CONFIG_ORANGEFS_FS=m +CONFIG_ORINOCO_USB=m +CONFIG_OSF_PARTITION=y +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_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_OFFSET=0xffffffe000000000 +# CONFIG_PAGE_OWNER is not set +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POISONING_NO_SANITY=y +CONFIG_PAGE_POISONING_ZERO=y +CONFIG_PAGE_POOL=y +CONFIG_PAGE_REPORTING=y +CONFIG_PALMAS_GPADC=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_PANIC_TIMEOUT=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARMAN=m +CONFIG_PARPORT=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PANEL=m +CONFIG_PARTITION_ADVANCED=y +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_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_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_SIS=m +CONFIG_PATA_TIMINGS=y +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PA_BITS=56 +CONFIG_PC104=y +CONFIG_PC300TOO=m +# CONFIG_PCCARD is not set +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_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_MICROSEMI=y +CONFIG_PCIE_PTM=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +# CONFIG_PCI_DEBUG is not set +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_TEST is not set +CONFIG_PCI_FTPCI100=y +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_MESON is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +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_PCNET32=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_PERF_EVENTS=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PHY_CADENCE_DPHY=m +CONFIG_PHY_CADENCE_SALVO=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_FSL_IMX8MQ_USB=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_MIXEL_MIPI_DPHY=m +CONFIG_PHY_OCELOT_SERDES=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_QCOM_USB_HSIC=m +CONFIG_PHY_SAMSUNG_USB2=m +CONFIG_PHY_TUSB1210=m +CONFIG_PI433=m +CONFIG_PID_NS=y +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m +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_LOCHNAGAR=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_OCELOT=y +CONFIG_PINCTRL_PALMAS=y +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SX150X=y +CONFIG_PING=m +CONFIG_PINMUX=y +CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_PKCS7_TEST_KEY=m +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m +CONFIG_PLATFORM_MHU=m +CONFIG_PLATFORM_SI4713=m +CONFIG_PLIP=m +CONFIG_PLX_DMA=m +CONFIG_PLX_HERMES=m +# CONFIG_PM is not set +CONFIG_PMBUS=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PMIC_DA9052=y +CONFIG_PMS7003=m +CONFIG_PM_DEVFREQ=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_PM_OPP=y +CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_FLEXFILE_LAYOUT=m +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POSIX_TIMERS=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_AS3722=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_LTC2952=y +CONFIG_POWER_RESET_MT6323=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +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_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +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_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROC_CHILDREN=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +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_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_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_IDTCM=m +CONFIG_PTP_1588_CLOCK_INES=m +CONFIG_PVPANIC=m +CONFIG_PWM=y +CONFIG_PWM_ATMEL_HLCDC_PWM=m +# CONFIG_PWM_DEBUG is not set +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_IQS620A=m +CONFIG_PWM_LP3943=m +CONFIG_PWM_PCA9685=m +CONFIG_PWM_SIFIVE=y +CONFIG_PWM_STMPE=y +CONFIG_PWM_SYSFS=y +CONFIG_PWM_TWL=m +CONFIG_PWM_TWL_LED=m +CONFIG_PWRSEQ_EMMC=m +CONFIG_PWRSEQ_SD8787=m +CONFIG_PWRSEQ_SIMPLE=m +CONFIG_QCA7000=m +CONFIG_QCA7000_SPI=m +CONFIG_QCA7000_UART=m +CONFIG_QCOM_CPR=m +CONFIG_QCOM_EMAC=m +CONFIG_QCOM_HIDMA=m +CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_SPMI_ADC5=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_VADC_COMMON=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_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_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_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=y +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_RANDOM_TRUST_BOOTLOADER=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_TSI568=m +CONFIG_RAPIDIO_TSI57X=m +CONFIG_RAPIDIO_TSI721=m +CONFIG_RAS=y +CONFIG_RATIONAL=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAVE_SP_EEPROM=m +CONFIG_RAVE_SP_WATCHDOG=m +CONFIG_RAW_DRIVER=m +# CONFIG_RBTREE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_PERF_TEST=m +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_READABLE_ASM is not set +CONFIG_REALTEK_PHY=m +CONFIG_REBOOT_MODE=m +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +# CONFIG_REED_SOLOMON_TEST is not set +CONFIG_REGMAP=y +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_SPI=y +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_AB3100=m +CONFIG_REGULATOR_ACT8865=m +CONFIG_REGULATOR_ACT8945A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_ARIZONA_LDO1=m +CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BCM590XX=m +CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_CPCAP=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +CONFIG_REGULATOR_DA9055=m +CONFIG_REGULATOR_DA9062=m +CONFIG_REGULATOR_DA9063=m +CONFIG_REGULATOR_DA9210=m +CONFIG_REGULATOR_DA9211=m +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FAN53555=m +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_HI6421=m +CONFIG_REGULATOR_HI6421V530=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_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_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_MT6323=m +CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6397=m +CONFIG_REGULATOR_PALMAS=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PV88060=m +CONFIG_REGULATOR_PV88080=m +CONFIG_REGULATOR_PV88090=m +CONFIG_REGULATOR_PWM=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=m +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m +CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_S2MPA01=m +CONFIG_REGULATOR_S2MPS11=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_SKY81452=m +CONFIG_REGULATOR_SLG51000=m +CONFIG_REGULATOR_STPMIC1=m +CONFIG_REGULATOR_SY8106A=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_TPS51632=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=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_TPS80031=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=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_REMOTEPROC is not set +CONFIG_RENESAS_PHY=m +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_INTEL_GW=y +CONFIG_RESET_TI_SYSCON=m +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_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RISCV=y +CONFIG_RISCV_BASE_PMU=y +CONFIG_RISCV_INTC=y +CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_SBI=y +CONFIG_RISCV_SBI_V01=y +CONFIG_RISCV_TIMER=y +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_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_WATCHDOG=m +CONFIG_ROCKCHIP_PHY=m +CONFIG_ROCKER=m +CONFIG_ROCKETPORT=m +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_QCOM_GLINK=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RPR0521=m +CONFIG_RPS=y +CONFIG_RSI_91X=m +CONFIG_RSI_COEX=y +# CONFIG_RSI_DEBUGFS is not set +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +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_AB3100=m +CONFIG_RTC_DRV_ABB5ZES3=m +CONFIG_RTC_DRV_ABEOZ9=m +CONFIG_RTC_DRV_ABX80X=m +CONFIG_RTC_DRV_AS3722=m +CONFIG_RTC_DRV_BD70528=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_CADENCE=m +CONFIG_RTC_DRV_CPCAP=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_FTRTC010=m +CONFIG_RTC_DRV_GOLDFISH=y +CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_HYM8563=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_MSM6242=m +CONFIG_RTC_DRV_MT6397=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_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_RV3028=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV3029_HWMON=y +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_SD3078=m +CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_TPS6586X=m +CONFIG_RTC_DRV_TPS65910=m +CONFIG_RTC_DRV_TPS80031=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +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_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +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_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_RT_GROUP_SCHED is not set +CONFIG_RT_MUTEXES=y +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_RXKAD=y +CONFIG_S2IO=m +CONFIG_SAMPLES=y +# CONFIG_SAMPLE_AUXDISPLAY is not set +# CONFIG_SAMPLE_CONFIGFS is not set +# CONFIG_SAMPLE_KDB is not set +# CONFIG_SAMPLE_KFIFO is not set +# CONFIG_SAMPLE_KOBJECT is not set +# CONFIG_SAMPLE_RPMSG_CLIENT is not set +CONFIG_SAMPLE_TRACE_ARRAY=m +# 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_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_DWC=m +# CONFIG_SATA_DWC_DEBUG is not set +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_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_SBITMAP=y +CONFIG_SBP_TARGET=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_INFO=y +CONFIG_SCHED_STACK_END_CHECK=y +# CONFIG_SCHED_THERMAL_PRESSURE is not set +CONFIG_SCHED_TRACER=y +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_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_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_ENCLOSURE=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_GDTH is not set +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=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_ISCSI_ATTRS=m +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_LOWLEVEL=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=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_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_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_DWC_TC_PCI=m +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m +CONFIG_SCSI_VIRTIO=m +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_SDIO_UART=m +CONFIG_SDR_MAX2175=m +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_SD_ADC_MODULATOR=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECONDARY_TRUSTED_KEYRING=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_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_INFINIBAND=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_SELECT_MEMORY_MODEL=y +CONFIG_SENSIRION_SGP30=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_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_AMC6821=m +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_DA9052_ADC=m +CONFIG_SENSORS_DA9055=m +CONFIG_SENSORS_DME1737=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_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_HIH6130=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_HMC5843_I2C=m +CONFIG_SENSORS_HMC5843_SPI=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_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR38064=m +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_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM25066=m +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_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_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_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_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_RM3100=m +CONFIG_SENSORS_RM3100_I2C=m +CONFIG_SENSORS_RM3100_SPI=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_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_STTS751=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_TMP513=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_VIA686A=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_ZL6100=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +CONFIG_SERIAL_8250_ASPEED_VUART=m +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_EXAR=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_MEN_MCB=m +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PCI=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_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_ARC_NR_PORTS=1 +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_RISCV_SBI=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +CONFIG_SERIAL_FSL_LPUART=m +# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_KGDB_NMI=y +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX310X=y +CONFIG_SERIAL_MCTRL_GPIO=y +CONFIG_SERIAL_MEN_Z135=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_RP2_NR_UARTS=32 +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_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +CONFIG_SERIAL_SPRD=m +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_APBPS2=m +CONFIG_SERIO_ARC_PS2=m +CONFIG_SERIO_GPIO_PS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +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_SRIOV=y +CONFIG_SFP=m +CONFIG_SF_PDMA=m +CONFIG_SGETMASK_SYSCALL=y +CONFIG_SGI_PARTITION=y +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SHIFT_FS=m +CONFIG_SHIFT_FS_POSIX_ACL=y +CONFIG_SHMEM=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +CONFIG_SI1133=m +CONFIG_SI1145=m +CONFIG_SI7005=m +CONFIG_SI7020=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_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_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +CONFIG_SLUB_MEMCG_SYSFS_ON=y +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC=m +CONFIG_SMC_DIAG=m +CONFIG_SMP=y +CONFIG_SMSC911X=m +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=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_FTL=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_ALOOP=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_AW2=m +CONFIG_SND_BCD2000=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_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_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +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_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_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_DSP_LOADER=y +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_GENERIC_LEDS=y +CONFIG_SND_HDA_HWDEP=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_PREALLOC_SIZE=64 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_I2S_HI6210_I2S=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_DSP_CONFIG=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAX_CARDS=32 +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_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_PCXHR=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_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_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_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_AK4104=m +CONFIG_SND_SOC_AK4118=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_AMD_ACP=m +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_BD28623=m +CONFIG_SND_SOC_BT_SCO=m +CONFIG_SND_SOC_CPCAP=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_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_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_ASRC=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_SAI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_GTM601=m +CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_I2C_AND_SPI=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_AUDMUX=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_LOCHNAGAR_SC=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98357A=m +CONFIG_SND_SOC_MAX98373=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MIKROE_PROTO=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m +CONFIG_SND_SOC_MT6351=m +CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_MTK_BTCVSD=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=m +CONFIG_SND_SOC_NAU8822=m +CONFIG_SND_SOC_NAU8824=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_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_PCM512x_SPI=m +CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RL6231=m +CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT5616=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_RT5645=m +CONFIG_SND_SOC_RT5682=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_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_SGTL5000=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_SIRF_AUDIO_CODEC=m +CONFIG_SND_SOC_SOF=m +# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2305=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_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TFA9879=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_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_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_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_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_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_SOC_ZX_AUD96P22=m +CONFIG_SND_SPI=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TIMER=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_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_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_SOC_SIFIVE=y +CONFIG_SOC_TI=y +CONFIG_SOC_VIRT=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SONY_FF=y +CONFIG_SOUND=m +CONFIG_SOUNDWIRE=m +CONFIG_SOUNDWIRE_QCOM=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +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_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_AMD=m +CONFIG_SPI_AXI_SPI_ENGINE=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_CADENCE=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_LIB=y +CONFIG_SPI_FSL_SPI=y +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MUX=m +CONFIG_SPI_MXIC=m +CONFIG_SPI_NXP_FLEXSPI=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_SIFIVE=y +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_ZYNQMP_GQSPI=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPMI=m +CONFIG_SPS30=m +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# 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_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STACK_TRACER=y +CONFIG_STAGING=y +# CONFIG_STAGING_BOARD is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +# 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_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 is not set +CONFIG_STRICT_KERNEL_RWX=y +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25_SPI=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 is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_SWAP=y +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUN_PARTITION=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWPHY=y +CONFIG_SW_SYNC=y +CONFIG_SX9310=m +CONFIG_SX9500=m +CONFIG_SXGBE_ETH=m +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_SYNCLINKMP=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_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSTEMPORT=m +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_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_T5403=m +CONFIG_TABLET_SERIAL_WACOM4=m +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=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_TIS=y +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS_I2C_ATMEL=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_TPM=y +CONFIG_TCG_VTPM_PROXY=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_TEHUTI=m +CONFIG_TERANETICS_PHY=m +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_BITFIELD 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_FIRMWARE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_LIST_SORT 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_OVERFLOW is not set +# CONFIG_TEST_PARMAN is not set +CONFIG_TEST_POWER=m +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SORT is not set +# CONFIG_TEST_STACKINIT 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_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_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_STEP_WISE=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_MMIO=m +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_THRUSTMASTER_FF=y +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_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TINYDRM_HX8357D=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_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_AM335X_ADC=m +# 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_SOC_THERMAL is not set +CONFIG_TI_ST=m +CONFIG_TI_TLC4541=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_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TORTURE_TEST=m +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_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_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_ELAN=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_ILI210X=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=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_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_PROPERTIES=y +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_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_TPL0102=m +CONFIG_TPM_KEY_PARSER=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=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_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_TRUSTED_KEYS=y +CONFIG_TSL2583=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +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_TUNE_GENERIC=y +# CONFIG_TUN_VNET_CROSS_LE is not set +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_MUX_PI3USB30532=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_UCSI=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 is not set +CONFIG_UBUNTU_HOST=m +CONFIG_UCB1400_CORE=m +CONFIG_UCSI_CCG=m +CONFIG_UDF_FS=m +CONFIG_UDMABUF=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_UIO=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_ULI526X=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_UNISYSSPAR=y +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNIX_DIAG=m +CONFIG_UNIX_SCM=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_US5182D=m +CONFIG_USB=y +CONFIG_USB4=m +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_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_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_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_OF_SIMPLE=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_FSL=m +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +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_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_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_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_MV_U3D=m +CONFIG_USB_MV_UDC=m +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_HCD_PLATFORM=m +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_WHITELIST 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_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_USB_RAREMONO=m +CONFIG_USB_RAW_GADGET=m +CONFIG_USB_ROLE_SWITCH=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=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_XIRCOM=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_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_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_BUS=m +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_XHCI_DBGCAP=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=m +CONFIG_USB_XHCI_PCI_RENESAS=m +CONFIG_USB_XHCI_PLATFORM=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_USER_NS=y +CONFIG_UTS_NS=y +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_VA_BITS=39 +CONFIG_VCNL3020=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VDPA=m +CONFIG_VDPA_SIM=m +CONFIG_VEML6030=m +CONFIG_VEML6070=m +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VF610_ADC=m +CONFIG_VF610_DAC=m +CONFIG_VFAT_FS=y +CONFIG_VFIO=m +CONFIG_VFIO_MDEV=m +CONFIG_VFIO_MDEV_DEVICE=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_VIRQFD=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_CONSOLE=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_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_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_APTINA_PLL=m +CONFIG_VIDEO_ASPEED=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_RC=y +CONFIG_VIDEO_AU0828_V4L2=y +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_CADENCE=y +CONFIG_VIDEO_CADENCE_CSI2RX=m +CONFIG_VIDEO_CADENCE_CSI2TX=m +CONFIG_VIDEO_CAFE_CCIC=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_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_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_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_I2C=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_IMX355=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=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_OV13858=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_OV5670=m +CONFIG_VIDEO_OV5675=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_OV9640=m +CONFIG_VIDEO_OV9650=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_RJ54N1=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_SMIAPP=m +CONFIG_VIDEO_SMIAPP_PLL=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_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_THS7303=m +CONFIG_VIDEO_THS8200=m +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_USBVISION=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2_TPG=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_TPG=m +CONFIG_VIDEO_XILINX_VTC=m +CONFIG_VIPERBOARD_ADC=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_FS=m +CONFIG_VIRTIO_INPUT=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_PMEM=m +CONFIG_VIRTIO_VDPA=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRT_WIFI=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_VME_BUS=y +CONFIG_VME_FAKE=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMIVME_7805=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_VOP_BUS is not set +CONFIG_VORTEX=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_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_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_WAN=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_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_WDTPCI=m +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_WILINK_PLATFORM_DATA=y +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WINBOND_840=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +# CONFIG_WIRELESS_WDS is not set +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_QUANTENNA=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=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_WQ_WATCHDOG is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +CONFIG_X25=m +CONFIG_X25_ASY=m +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m +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_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_WARN is not set +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_PR_DECOUPLER=m +# CONFIG_XILINX_SDFEC is not set +CONFIG_XILINX_VCU=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILINX_XADC=m +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_OF=m +CONFIG_XILLYBUS_PCIE=m +CONFIG_XIL_AXIS_FIFO=m +CONFIG_XOR_BLOCKS=m +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_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YELLOWFIN=m +CONFIG_Z3FOLD=m +CONFIG_ZBUD=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZIIRAVE_WATCHDOG=m +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONEFS_FS=m +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_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_ZX_TDM=m --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/config/riscv64/config.common.riscv64 +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/config/riscv64/config.common.riscv64 @@ -0,0 +1,3 @@ +# +# Config options for config.common.riscv64 automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/config/riscv64/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/config/riscv64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/control.d/flavour-control.stub +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/control.d/flavour-control.stub @@ -0,0 +1,152 @@ +# 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, aufs-dkms, =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 +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-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR, crda | wireless-crda +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=. + +Package: linux-udebs-FLAVOUR +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: ARCH +Depends: ${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/control.d/generic.inclusion-list +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/control.d/generic.inclusion-list @@ -0,0 +1,260 @@ +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/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/i2c/busses/i2c-ocores.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/cadence/macb.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/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/phy/mscc/mscc.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_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/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/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/shiftfs.ko +fs/squashfs/* +fs/udf/* +fs/ufs/* +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/* +sound/drivers/pcsp/snd-pcsp.ko +sound/pci/snd-ens1370.ko +sound/soundcore.ko +ubuntu/ubuntu-host/ubuntu-host.ko +ubuntu/vbox/vboxguest/vboxguest.ko +ubuntu/vbox/vboxsf/vboxsf.ko +zfs/* --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/control.d/vars.generic +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/control.d/vars.generic @@ -0,0 +1,6 @@ +arch="riscv64" +supported="Generic" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/control.stub.in +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/control.stub.in @@ -0,0 +1,83 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + dh-systemd, + cpio, + kernel-wedge, + kmod , + libcap-dev , + makedumpfile [amd64] , + 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 , + lz4 [amd64 s390x] , + dwarves , +Build-Depends-Arch: + gcc-10, +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/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES= +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +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-PKGVER-ABINUM +Build-Profiles: +Architecture: riscv64 +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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/copyright +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/firmware/README.txt +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/firmware/riscv64/README.txt +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/firmware/riscv64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/firmware/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin ? +qlogic/12160.bin ? +qlogic/1280.bin ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/kernel-versions +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/kernel-versions @@ -0,0 +1,5 @@ +# arch version flavour installedname suffix bdep +riscv64 - generic - - - + +# Ports +# arch version flavour installedname suffix bdep --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/block-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/block-modules @@ -0,0 +1,43 @@ +aoe ? +aten ? +bcm2835 ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +hio ? +kbic ? +ktti ? +nbd ? +nvme ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sdhci-tegra ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? +mmc_block ? +sdhci ? +sdhci-pci ? +sdhci-acpi ? +tifm_sd ? +dw_mmc ? +dw_mmc_pltfm ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/crypto-modules @@ -0,0 +1,78 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +crc32_generic ? +crc32c_generic ? +crc32-vx_s390 ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +paes_s390 ? +pcbc ? +pcrypt ? +pkey ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zcrypt ? +zcrypt_cex2a ? +zcrypt_cex4 ? +zcrypt_pcixcc ? +zlib ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/fat-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/fb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/fs-core-modules @@ -0,0 +1,6 @@ +ext2 ? +ext4 ? +jfs ? +reiserfs ? +xfs ? +zfs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/input-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/input-modules @@ -0,0 +1,71 @@ +hid ? +hid-a4tech ? +hid-apple ? +hid-appleir ? +hid-aureal ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-corsair ? +hid-cp2112 ? +hid-cypress ? +hid-dell ? +hid-elecom ? +hid-elo ? +hid-ezkey ? +hid-generic ? +hid-gfrm ? +hid-gt683r ? +hid-gyration ? +hid-holtek-kbd ? +hid-holtek-mouse ? +hid-hyperv ? +hid-kensington ? +hid-keytouch ? +hid-kye ? +hid-lcpower ? +hid-lenovo ? +hid-logitech ? +hid-logitech-dj ? +hid-logitech-hidpp ? +hid-magicmouse ? +hid-microsoft ? +hid-monterey ? +hid-multitouch ? +hid-ntrig ? +hid-ortek ? +hid-penmount ? +hid-petalynx ? +hid-picolcd ? +hid-pl ? +hid-plantronics ? +hid-primax ? +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-samsung ? +hid-sony ? +hid-speedlink ? +hid-sunplus ? +hid-thingm ? +hid-tivo ? +hid-topseed ? +hid-twinhan ? +hid-uclogic ? +hid-waltop ? +hid-wiimote ? +hid-xinmo ? +hid-zydacron ? +uhid ? +usbhid ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/kernel-image +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/kernel-image @@ -0,0 +1,31 @@ +ast ? +gpio-pca953x ? +gpio-regulator ? +hibmc-drm ? +i2c-mux ? +i2c-mux-pinctrl ? +i2c-tegra ? +max8907 ? +max8907-regulator ? +nvec ? +nvec_kbd ? +nvec_paz00 ? +nvec_power ? +nvec_ps2 ? +palmas-regulator ? +rtc-em3027 ? +rtc-max8907 ? +rtc-palmas ? +rtc-tps6586x ? +rtc-tps65910 ? +tps51632-regulator ? +tps62360-regulator ? +tps65090-charger ? +tps65090-regulator ? +tps6586x-regulator ? +tps65910-regulator ? +host1x ? +tegra-drm ? +pwm_bl ? +pwm-tegra ? +panel-simple ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/md-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/message-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/message-modules @@ -0,0 +1,9 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mpt3sas ? +mptscsih ? +mptspi ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/multipath-modules @@ -0,0 +1,4 @@ +dm-multipath ? +dm-round-robin ? +dm-service-time ? +dm-queue-length ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/nfs-modules @@ -0,0 +1,6 @@ +nfs ? +nfs_acl ? +nfsv3 ? +lockd ? +sunrpc ? +cifs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/nic-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/nic-modules @@ -0,0 +1,209 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +amd8111e ? +amd-xgbe ? +aquantia ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm87xx ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bnxt_en ? +bonding ? +brcmfmac ? +brcmsmac ? +broadcom ? +xgmac ? +cassini ? +ccwgroup ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +ctcm ? +cxgb4 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +fsm ? +ibmveth ? +ibmvnic ? +igb ? +ps3_gelic ? +hamachi ? +hclge ? +hermes ? +hfi1 ? +hinic ? +hns_dsaf ? +hns_enet_drv ? +hns_mdio ? +hns3 ? +hp ? +hp100 ? +hp-plus ? +i40e ? +i40evf ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwldvm ? +iwlmvm ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lcs ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +marvell ? +mdio-thunder ? +mlx4_core ? +mlx4_en ? +mlx5_core ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netiucv ? +netsec ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +nicpf ? +nicvf ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +qcom-emac ? +qede ? +qeth ? +qeth_l2 ? +qeth_l3 ? +qlcnic ? +r815x ? +r8169 ? +rate_control ? +realtek ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +sfc ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? +xgene-enet ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/nic-pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,19 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/nic-shared-modules @@ -0,0 +1,26 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/nic-usb-modules @@ -0,0 +1,34 @@ +ax88179_178a ? +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +r8152 ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/parport-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/pata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/pata-modules @@ -0,0 +1,47 @@ +pata_ali.ko ? +pata_amd.ko ? +pata_artop.ko ? +pata_atiixp.ko ? +pata_atp867x.ko ? +pata_cmd640.ko ? +pata_cmd64x.ko ? +pata_cs5520.ko ? +pata_cs5530.ko ? +pata_cs5535.ko ? +pata_cs5536.ko ? +pata_cypress.ko ? +pata_efar.ko ? +pata_hpt366.ko ? +pata_hpt37x.ko ? +pata_hpt3x2n.ko ? +pata_hpt3x3.ko ? +pata_isapnp.ko ? +pata_it8213.ko ? +pata_it821x.ko ? +pata_jmicron.ko ? +pata_legacy.ko ? +pata_macio.ko ? +pata_marvell.ko ? +pata_mpiix.ko ? +pata_netcell.ko ? +pata_ninja32.ko ? +pata_ns87410.ko ? +pata_ns87415.ko ? +pata_oldpiix.ko ? +pata_optidma.ko ? +pata_opti.ko ? +pata_pcmcia.ko ? +pata_pdc2027x.ko ? +pata_pdc202xx_old.ko ? +pata_qdi.ko ? +pata_radisys.ko ? +pata_rdc.ko ? +pata_rz1000.ko ? +pata_sc1200.ko ? +pata_sch.ko ? +pata_serverworks.ko ? +pata_sil680.ko ? +pata_sl82c105.ko ? +pata_triflex.ko ? +pata_via.ko ? +pata_winbond.ko ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/pcmcia-storage-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/plip-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/block-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/fat-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/firewire-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/input-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/kernel-image +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/md-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/message-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/parport-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/pata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/pata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/plip-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/sata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/riscv64/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/riscv64/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/sata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/sata-modules @@ -0,0 +1,18 @@ +sata_inic162x.ko ? +sata_mv.ko ? +sata_nv.ko ? +sata_promise.ko ? +sata_qstor.ko ? +sata_sil24.ko ? +sata_sil.ko ? +sata_sis.ko ? +sata_svw.ko ? +sata_sx4.ko ? +sata_uli.ko ? +sata_via.ko ? +sata_vsc.ko ? +ahci_platform ? +ahci ? +acard-ahci ? +libahci ? +ahci_xgene ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/scsi-modules @@ -0,0 +1,137 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +sr_mod ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +pm80xx ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsi ? +ibmvfc ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? +mlx4_ib ? +mlx5_ib ? +zfcp ? +sd_mod ? +hisi_sas_v2_hw ? +hisi_sas_v3_hw ? +iscsi_ibft ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? + +smartpqi ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/serial-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/serial-modules @@ -0,0 +1,4 @@ +generic_serial ? +serial_cs ? +synclink_cs ? +hyperv-keyboard ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/storage-core-modules @@ -0,0 +1,15 @@ +# Core stacks +usb-storage ? + +# Block level +ata_piix ? +ata_generic ? + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? + +# Needed for NVMe disks under VMD PCIe domains +vmd ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/usb-modules @@ -0,0 +1,15 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? +xhci-plat-hcd ? +ehci-tegra ? +ehci-msm ? +ehci-platform ? +uas ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/virtio-modules @@ -0,0 +1,11 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +virtio_scsi ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? +hv_balloon ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/modules/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/d-i/package-list +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/d-i/package-list @@ -0,0 +1,204 @@ +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_riscv64: 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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/etc/getabis +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/etc/getabis @@ -0,0 +1,13 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux-riscv-5.8" + "http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-riscv-5.8" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux-riscv-5.8" + "http://ports.ubuntu.com/ubuntu-ports/pool/universe/l/linux-riscv-5.8" + "http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/pool/main/l/linux-riscv-5.8" + "http://ppa.launchpad.net/canonical-kernel-team/unstable/ubuntu/pool/main/l/linux-riscv-5.8" + "http://ppa.launchpad.net/canonical-kernel-team/bootstrap/ubuntu/pool/main/l/linux-riscv-5.8" +) + +package_prefixes linux-buildinfo + +getall riscv64 generic --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/etc/kernelconfig +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="riscv64" + family='ubuntu' +fi --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/etc/update.conf +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/etc/update.conf @@ -0,0 +1,8 @@ +# 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/~canonical-kernel/ubuntu/+source/linux-riscv/+git/groovy +SOURCE_RELEASE_BRANCH=master +DEBIAN_MASTER=debian.riscv +BACKPORT_SUFFIX=~20.04 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/modprobe.d/common.conf +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/reconstruct +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/reconstruct @@ -0,0 +1,74 @@ +# Recreate any symlinks created since the orig. +# Remove any files deleted from the orig. +rm -f 'Documentation/devicetree/bindings/pwm/pwm-sifive.txt' +rm -f 'Documentation/devicetree/bindings/riscv/sifive-l2-cache.txt' +rm -f 'arch/alpha/include/asm/local64.h' +rm -f 'arch/ia64/include/asm/local64.h' +rm -f 'arch/powerpc/lib/memcpy_mcsafe_64.S' +rm -f 'arch/powerpc/platforms/pseries/offline_states.h' +rm -f 'arch/x86/include/asm/local64.h' +rm -f 'arch/x86/include/asm/mcsafe_test.h' +rm -f 'drivers/net/can/dev.c' +rm -f 'drivers/net/can/rx-offload.c' +rm -f 'drivers/net/ethernet/mscc/ocelot_board.c' +rm -f 'drivers/pci/pcie/bw_notification.c' +rm -f 'drivers/staging/mt7621-dma/mtk-hsdma.c' +rm -f 'kernel/elfcore.c' +rm -f 'lib/zlib_dfltcc/dfltcc_syms.c' +rm -f 'tools/arch/x86/include/asm/mcsafe_test.h' +rm -f 'tools/perf/bench/mem-memcpy-x86-64-lib.c' +rm -f 'tools/testing/kunit/.gitattributes' +chmod +x 'arch/riscv/kernel/vdso/so2s.sh' +chmod +x 'debian.riscv-5.8/scripts/helpers/copy-files' +chmod +x 'debian.riscv-5.8/scripts/helpers/local-mangle' +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/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/final-checks' +chmod +x 'debian/scripts/misc/find-missing-sauce.sh' +chmod +x 'debian/scripts/misc/find-obsolete-firmware' +chmod +x 'debian/scripts/misc/fw-to-ihex.sh' +chmod +x 'debian/scripts/misc/gen-auto-reconstruct' +chmod +x 'debian/scripts/misc/get-firmware' +chmod +x 'debian/scripts/misc/getabis' +chmod +x 'debian/scripts/misc/git-ubuntu-log' +chmod +x 'debian/scripts/misc/insert-changes.pl' +chmod +x 'debian/scripts/misc/insert-mainline-changes' +chmod +x 'debian/scripts/misc/insert-ubuntu-changes' +chmod +x 'debian/scripts/misc/kernel-wedge-arch.pl' +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/retpoline-check' +chmod +x 'debian/scripts/retpoline-extract' +chmod +x 'debian/scripts/retpoline-extract-one' +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 'samples/bpf/lwt_len_hist.sh' +chmod +x 'samples/bpf/test_lwt_bpf.sh' +chmod +x 'scripts/kmsg-doc' +chmod +x 'update-version-dkms' +exit 0 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/rules.d/hooks.mk +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/rules.d/hooks.mk @@ -0,0 +1,5 @@ +do_enforce_all = true +do_libc_dev_package = false +do_doc_package = false +do_tools_common = false +do_tools_host = false --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/rules.d/riscv64.mk +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/rules.d/riscv64.mk @@ -0,0 +1,22 @@ +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 + +loader = grub +vdso = vdso_install +no_dumpfile = true + +do_libc_dev_package = false +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-riscv-5.8-5.8.0.orig/debian.riscv-5.8/scripts/helpers/copy-files +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/scripts/helpers/copy-files @@ -0,0 +1,67 @@ +#!/bin/bash -eu + +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 + +FOREIGN_ARCHES="" +LOCAL_CONF="${DEBIAN}/etc/local.conf" +if [ -f "${LOCAL_CONF}" ]; then + # shellcheck disable=SC1090 + . "${LOCAL_CONF}" +fi + +SKIP_RULES_D=${SKIP_RULES_D:-} + +# +# Pick up any master branch changes to udeb modules or firmware. +# +rsync -avc --delete "${DEBIAN_MASTER}/d-i/" "${DEBIAN}/d-i" + +# +# Update configs from master +# +rsync -avc --delete "${DEBIAN_MASTER}/config/" "${DEBIAN}/config" + +# +# Update package and DTB settings from master. +# +if [ -z "${SKIP_RULES_D}" ] ; then + rsync -avc "${DEBIAN_MASTER}/rules.d/"*.mk "${DEBIAN}/rules.d/" +fi + +# Remove the .mk files from the arch's that are not supported +for i in ${FOREIGN_ARCHES} +do + rm -f "${DEBIAN}/rules.d/${i}.mk" + git rm -f --ignore-unmatch "${DEBIAN}/rules.d/${i}.mk" || true +done + +# +# Update modprobe.d from master +# +# Some releases (trusty) don't have this directory, and rsync would fail +# without this check. +if [ -d "${DEBIAN}/modprobe.d/" ]; then + rsync -avc --delete "${DEBIAN_MASTER}/modprobe.d/" "${DEBIAN}/modprobe.d" +fi + +cp -p "${DEBIAN_MASTER}/control.d/"*.inclusion-list "${DEBIAN}/control.d" + +cp -p "${DEBIAN_MASTER}/reconstruct" "${DEBIAN}/reconstruct" + +if [ -x "${DEBIAN}/scripts/helpers/local-mangle" ]; then + "./${DEBIAN}/scripts/helpers/local-mangle" +fi --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/scripts/helpers/local-mangle +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/scripts/helpers/local-mangle @@ -0,0 +1,20 @@ +#!/bin/bash -eu + +. debian/debian.env + +# Do not enforce DMESG_RESTRICT in focal +sed -i 's/CONFIG_SECURITY_DMESG_RESTRICT=y/# CONFIG_SECURITY_DMESG_RESTRICT is not set/' ${DEBIAN}/config/config.common.ubuntu +sed -i "s/CONFIG_SECURITY_DMESG_RESTRICT policy<{'riscv64': 'y'}>/CONFIG_SECURITY_DMESG_RESTRICT policy<{'riscv64': 'n'}>/" ${DEBIAN}/config/annotations + +# Disable DEBUG_INFO_BTF (pahole version is too old in focal) +sed -i 's/CONFIG_DEBUG_INFO_BTF=y/# CONFIG_DEBUG_INFO_BTF is not set/' ${DEBIAN}/config/config.common.ubuntu +sed -i "s/CONFIG_DEBUG_INFO_BTF policy<{'riscv64': 'y'}>/CONFIG_DEBUG_INFO_BTF policy<{'riscv64': 'n'}>/" ${DEBIAN}/config/annotations + +# Override options in rules.d/hooks.mk (normally master does not have this +# file but it got added for generic annotations enforcement. +cat <>${DEBIAN}/rules.d/hooks.mk +do_libc_dev_package = false +do_doc_package = false +do_tools_common = false +do_tools_host = false +EOD --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/tracking-bug +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/tracking-bug @@ -0,0 +1 @@ +1930048 --- linux-riscv-5.8-5.8.0.orig/debian.riscv-5.8/variants +++ linux-riscv-5.8-5.8.0/debian.riscv-5.8/variants @@ -0,0 +1,3 @@ +-- +-hwe-20.04 +-hwe-20.04-edge --- linux-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/abiname +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/abiname @@ -0,0 +1 @@ +27 --- linux-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/fwinfo +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/fwinfo @@ -0,0 +1,1629 @@ +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: 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: amdgpu/arcturus_asd.bin +firmware: amdgpu/arcturus_gpu_info.bin +firmware: amdgpu/arcturus_mec.bin +firmware: amdgpu/arcturus_mec2.bin +firmware: amdgpu/arcturus_rlc.bin +firmware: amdgpu/arcturus_sdma.bin +firmware: amdgpu/arcturus_sos.bin +firmware: amdgpu/arcturus_ta.bin +firmware: amdgpu/banks_k_2_smc.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/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/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/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_gpu_info.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_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_sos.bin +firmware: amdgpu/navi12_ta.bin +firmware: amdgpu/navi14_asd.bin +firmware: amdgpu/navi14_ce.bin +firmware: amdgpu/navi14_ce_wks.bin +firmware: amdgpu/navi14_gpu_info.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/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/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/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_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/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_gpu_info.bin +firmware: amdgpu/renoir_me.bin +firmware: amdgpu/renoir_mec.bin +firmware: amdgpu/renoir_mec2.bin +firmware: amdgpu/renoir_pfp.bin +firmware: amdgpu/renoir_rlc.bin +firmware: amdgpu/renoir_sdma.bin +firmware: amdgpu/renoir_vcn.bin +firmware: amdgpu/si58_mc.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/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/vega10_acg_smc.bin +firmware: amdgpu/vega10_asd.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: ar5523.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: 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_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-e1h-7.13.15.0.fw +firmware: bnx2x/bnx2x-e2-7.13.15.0.fw +firmware: brcm/bcm43xx-0.fw +firmware: brcm/bcm43xx_hdr-0.fw +firmware: brcm/brcmfmac43012-sdio.bin +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/brcmfmac43430a0-sdio.bin +firmware: brcm/brcmfmac43455-sdio.bin +firmware: brcm/brcmfmac43456-sdio.bin +firmware: brcm/brcmfmac4350-pcie.bin +firmware: brcm/brcmfmac4350c2-pcie.bin +firmware: brcm/brcmfmac4354-sdio.bin +firmware: brcm/brcmfmac4356-pcie.bin +firmware: brcm/brcmfmac4356-sdio.bin +firmware: brcm/brcmfmac43569.bin +firmware: brcm/brcmfmac43570-pcie.bin +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.bin +firmware: c218tunx.cod +firmware: c320tunx.cod +firmware: carl9170-1.fw +firmware: cavium/cnn55xx_se.fw +firmware: cbfw-3.2.5.1.bin +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: cyzfirm.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-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_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: 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: 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: i2400m-fw-usb-1.5.sbcf +firmware: i6050-fw-usb-1.5.sbcf +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: 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: isdbt_nova_12mhz.inp +firmware: isdbt_nova_12mhz_b0.inp +firmware: isdbt_pele.inp +firmware: isdbt_rio.inp +firmware: isdn/ISAR.BIN +firmware: isi4608.bin +firmware: isi4616.bin +firmware: isi608.bin +firmware: isi608em.bin +firmware: isi616em.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-Qu-b0-hr-b0-56.ucode +firmware: iwlwifi-Qu-b0-jf-b0-56.ucode +firmware: iwlwifi-Qu-c0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-hr-b0-56.ucode +firmware: iwlwifi-QuQnj-b0-jf-b0-56.ucode +firmware: iwlwifi-QuZ-a0-hr-b0-56.ucode +firmware: iwlwifi-QuZ-a0-jf-b0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf-a0-56.ucode +firmware: iwlwifi-SoSnj-a0-gf4-a0-56.ucode +firmware: iwlwifi-cc-a0-56.ucode +firmware: iwlwifi-so-a0-gf-a0-56.ucode +firmware: iwlwifi-so-a0-hr-b0-56.ucode +firmware: iwlwifi-so-a0-jf-b0-56.ucode +firmware: iwlwifi-ty-a0-gf-a0-56.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/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: 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/mt7610e.bin +firmware: mediatek/mt7610u.bin +firmware: mediatek/mt7615_cr4.bin +firmware: mediatek/mt7615_n9.bin +firmware: mediatek/mt7615_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: mellanox/mlxsw_spectrum-13.2000.2714.mfa2 +firmware: mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 +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/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/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/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/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/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: 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: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.bin +firmware: qed/qed_init_values_zipped-8.42.2.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: 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: renesas_usb_fw.mem +firmware: riptide.hex +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_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/rtl8153a-2.fw +firmware: rtl_nic/rtl8153a-3.fw +firmware: rtl_nic/rtl8153a-4.fw +firmware: rtl_nic/rtl8153b-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/rtw8822b_fw.bin +firmware: rtw88/rtw8822c_fw.bin +firmware: rtw88/rtw8822c_wow_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: 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-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/riscv64/generic +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/riscv64/generic @@ -0,0 +1,21723 @@ +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +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 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +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 0x1554635e crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x348eca8d crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x6352a165 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x8789a53e crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xe5bca78f crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xea292cca crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x94a1d6eb crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0xc03e0ec3 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xea9cc83f crypto_sha3_update +EXPORT_SYMBOL crypto/sm3_generic 0xb0bd0a1e crypto_sm3_finup +EXPORT_SYMBOL crypto/sm3_generic 0xd31cb5c1 crypto_sm3_update +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x440411d5 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x044c83b1 bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0xdde72432 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/bluetooth/btbcm 0xf50f0d81 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x591ff5f7 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0x11ff4f67 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 0x1095be84 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31cab048 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x46596153 ipmi_add_smi +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 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd4cfaa70 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd539b06a 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 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 0x22305efc st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x69595341 st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x23aaac7e xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7fe8e53e xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xeb0af8ac xillybus_init_endpoint +EXPORT_SYMBOL drivers/firewire/firewire-core 0x03809074 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0a129e4a fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x128336a3 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1455d6d3 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1aa00ebc fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x324c2587 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3548d62e fw_iso_context_queue +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 0x4c2a561b fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d11d58c fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4f1575ee fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x501c9211 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6154b488 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x624b7972 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6300dab7 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x632ee85a fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x68dfb84c fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x787624f2 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8441ae13 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x91a4369d fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x97e96495 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb1da1477 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb264d825 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb933cfc7 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd6d71eca fw_send_response +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 0xf3d42934 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfb0f21a9 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0050b1ff drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x008b66af drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00a517e7 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x011bdf36 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x018c9ef0 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02365ffc drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03df7079 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04e8ec45 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05042549 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05049237 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x058719e2 drm_gem_fence_array_add_implicit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070b28aa drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0712e21d drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07f88521 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0909c32c drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x091b07f4 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a2a5c16 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0aee6a99 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b7af61d drm_ioctl_permit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0c570 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d8f21d0 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dee1c9a drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb8d396 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x104065cd drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c62b61 __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13cfaf4e drm_hdmi_avi_infoframe_colorspace +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13e14103 drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14629371 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15d8aa41 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1676bb94 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16ac2597 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16bb0ff0 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1730fa95 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17732d19 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17c8e4ef drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17d611c5 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18e8819e drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1985eb24 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a2ec5ae drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a4fdb08 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a954a12 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c317c87 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c455fdb drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d882eb8 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ec28ec5 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ef5dd71 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21d96edd drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2220ea14 drm_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23b4cde8 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24bc8e49 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24f6e546 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2532689b drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2546184e drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25732751 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x260d8803 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x265bf370 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26a83806 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26bb598d drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26c5d930 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26d219a8 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x270f47fd drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27a40f65 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x283424e7 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2995dc61 drm_gem_vm_close +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 0x2b1149aa drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b11fa6d drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b7a5230 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bb18dea drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bf6ef35 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c00f57c drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ddb81a5 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e297a48 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e5956b5 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e9e444a drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ecdfab3 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ee0ac5e drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f26c671 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f2b522d drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fda13a0 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30a9292d drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32721be5 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32829d72 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3312216c drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3337fce4 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x341975ed drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34a8edc8 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34ba2139 drm_gem_object_put_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3503d682 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3528032c drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35afae24 __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35f0f1d1 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36345722 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3667d7cd drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37214bc2 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3748b80e drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x375a6fdd drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x378d294c drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x379f5776 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x381807af drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a7980b drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38ac55b8 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38e1a240 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39952e82 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a1ebcf1 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b6e028d drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7a75d2 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba17eab drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d20cdd1 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3da38f7c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x420e9640 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4249a30d drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4291f021 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x439f455f drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45e02909 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x469d9fa9 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4740f185 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x474156b5 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f985aa drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48059525 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48a6c1dc drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x493fd75d drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x499933f5 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a6c5011 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b0697b2 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c500e16 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c8c0309 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dcfb357 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e095f11 drm_get_format_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f87075d drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fa8fa48 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ff4ec33 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5207eadc drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x523b455c drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52e84c83 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x536d7e5b drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53857a3c drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53ccb1ba drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53cf329b devm_drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53d049f7 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53f51f9d drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x561aac39 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5629a0b9 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c6e828 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c8f14a drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b671f1 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57dba7fc drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57dd09e6 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580982ae drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58631ce3 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a8680a9 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c1e151d drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c3ee315 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c9c2cc8 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5caebef0 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ce18b7f drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d83a1d3 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5da896cc drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e079c4c drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ea8c188 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f9dd6cb drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fda6010 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6056b882 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61cb08bd drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6274d5c5 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62d41a4a drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637cac19 drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x643509d5 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645d1f78 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64a39462 drm_gem_fence_array_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6513d885 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65cc65fe drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65d2d292 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6628e240 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66551bc7 drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67b8f85e drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69237981 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x699a8168 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a06de29 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a1ca996 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a417d00 drm_atomic_set_fence_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ed79d66 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f2ca1b3 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fbd90ed drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70121159 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7239335a of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x742e1f32 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74561106 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x745a8ca0 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76ad6c6a drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x776dce13 drm_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x778cb42c drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77e0f046 drm_legacy_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79599478 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7994a6df drm_gem_shmem_create_with_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79c2256a __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7aa2dbe3 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7aacce00 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7be256b4 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7be953a1 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c171658 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d20e02d drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7dc28847 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7df31f8b drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ea5dbcf drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edc546f drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f917d31 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fe39da9 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80cbb9b5 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8108949d drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x810bf631 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x814cb2e2 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81992424 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81a7a463 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82586ed1 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x849b8a0c drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8563a554 drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85c2b595 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85d5b06f drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85e6d83a drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x866455be drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x873034ef drmm_add_final_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87ab4be4 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b0b1286 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bd139e5 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bf51284 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c4fd37c drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ccde448 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d6d78bf drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8db0013c drm_gem_dumb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e0c6b53 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ff4e29a drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90053070 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90ca3bb9 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9213f5c3 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x921974c2 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93627fa1 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9369d50a drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93c3c222 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93e9d74b drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93fad7f2 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95c2f7cb drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dbc76d drm_ht_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95e38a19 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96d0bb8c drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982698bd drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x999aed5d drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a2dc9a4 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a51871c drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b8a53f5 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bb77502 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bf8617d drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d72199d drm_panel_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9edff5a7 drm_legacy_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f36879a drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fa36729 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0348f17 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0713087 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0f9d6c8 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa123836a drm_cma_gem_create_object_default_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa17930d3 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa189e21f drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2ad9352 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa303570a drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa37226d0 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4372699 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4833d01 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4853947 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa64f4a28 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6957ab0 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa897283c drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8ad5d01 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa90fe10f drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa93ea815 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9f4a07e drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa707356 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaac39ff3 __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab24492d drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab4d1939 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab941a2f of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac1744e7 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac69e7b3 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac99059f drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad3dee57 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae234eff drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeb44466 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf000cf1 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0e38d2a drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11541e7 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11db946 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1377d8f drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb16c0a33 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1791d0b drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2235d53 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2abf4e4 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2cd44ad drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3e2d83b drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb463c8ee drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb720b582 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb744f949 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb83eb938 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb853833f drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8871b3a drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bdb3f5 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb975f13a drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9f56e22 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb05e2ea drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb33ee7b drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb36f12b drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbdcf468 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc480e8d drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc956d59 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6ef30a drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe18c914 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe1d987b drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe7adf0a drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0f2bab2 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0ffb785 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc183ad92 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc187ab56 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c01e4c drm_legacy_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c36138 drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc324efb9 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3ce21c8 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f005c8 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4eeeaef drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5356b0d drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc539d637 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc561d347 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5992401 __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6525d1e drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc71bae0b drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7b472d3 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7b90436 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7ea1bfe drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7f0f027 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc80c8bd8 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc81267e4 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc81e7b57 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8cce078 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9211e87 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc949742e drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc957f7b4 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9ccf433 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9f303aa drm_panel_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9f42876 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcadd1b7d drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc761b67 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce7b5b4 drm_gem_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce846a0 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd43a781 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd741672 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdc84e26 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xceac3496 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf3a80b8 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfd8e3f6 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1598fbd drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd187faac drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1fcc081 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd31c5a80 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd32ccecc drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd354f8ea drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3df45c3 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd40aec09 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd49bf5c2 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd696fe8c drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd744a921 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7698673 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd78564fe drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd893edf5 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8d70236 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96b425a __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd97ace67 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9ea5f88 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda10e9a8 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda3f5bfb drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda6170b9 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda8d1aa8 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc182625 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc240902 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd9b2765 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde7ce311 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdeead166 drm_plane_create_alpha_property +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 0xe09adc67 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3d645c0 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe46427f6 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe470ba19 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4cb47e0 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5152ce8 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe55e4200 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe67a7b78 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe817eb01 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe841d3be drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe86fc343 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe87645af drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeae05ee4 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb78b229 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb978194 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebcf4083 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee81b4d2 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee869da8 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef14d8c drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf09429c2 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1d17d7b drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2ac61c5 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf39e30a3 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf47bb4e7 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf557056c drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6de2325 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6e79782 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf764785f drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf787e812 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf826786c drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf830e88d drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8590256 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa1d10e3 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb6d75e2 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfba0bbe7 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdbf4f40 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdf1ceb0 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe69c14b drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe7fc96b drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfed795af drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8de91d drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff90a292 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffed2713 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0061d339 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x012ac3bd drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01a01a8a drm_fb_swab16 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x028f03ed drm_fb_xrgb8888_to_rgb565_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x030740ef drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x034c7564 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x050d3697 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05b0518e drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x065cf6a7 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0748646a drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b5257d3 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1006e4af drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1009ab54 drm_gem_fb_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12e97916 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x144fcc61 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17bfb289 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17ffbe49 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18b4d5b5 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18e6d8d7 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1999fef7 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1beaa98e drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1caad2db drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f83f634 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20f2849e drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x216756af drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21de248e drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23a7f8ed drm_atomic_helper_legacy_gamma_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23cc8dd4 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x251693ee drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25d08bfd drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25fd9159 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x267bea96 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26d746cc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28a26415 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c301c3b drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dac79c9 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2ebd672d drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2ec66e58 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31d92423 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3273254b drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x385868b1 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x386d3d26 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3916b9f4 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ccc3801 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d24254a drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f28291f drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f42831b drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x429e0589 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43ad26e5 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43e31aa8 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x450b3dcc drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x455433d2 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x462eefa1 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46321d6b drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46fd5a0e drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4770c7f8 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4773672c drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48b62a57 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x494a66dd drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x498fe503 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4aee21e5 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c26a493 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4eeffb35 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51458f1d drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51f6fbcb drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x564b8c4f drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56a4e283 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57210b03 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x599ddc6c drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59dc4ec8 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a0776d6 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a74250e drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5bf7deab drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d4736a4 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d6e02bb __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d9bf6c3 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dc7d4b8 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e4bdba0 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fe5171a drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6513aa30 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66d4fa62 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x680ff38e drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a050f4b drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a76e9a2 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0228b9 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0e90ce drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bfdea07 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f39af09 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7011f902 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72c942fa drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x733de53d drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7629f685 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x768dd523 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e86174 drm_fb_memcpy_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77bc130a drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77bca153 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x783bb657 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7aa43933 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b48c85e drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c76af07 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d98a2fd drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7daedfdd drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7dd704ba drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e541818 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f98c73d drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x804bb45b drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81ad6cae drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85d75c40 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86056927 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x883f9bb2 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x888a40d1 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x894b1f57 drm_dp_get_adjust_request_post_cursor +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89f44217 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ab7fad3 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x90190767 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9103a4e4 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92340566 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92d6455a drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x936e842a drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x941c543d drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9459ef35 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x949b50ea drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x958eeaa6 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97fbed5e drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d4819f2 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa027dedc __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0bb01bc drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa280918a drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2b874a6 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2f5c65b drm_dp_get_edid_quirks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5653e54 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ac7597 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6acba2e drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6ff9496 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8e594be drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab0e7cd4 drm_fb_helper_modinit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbf80a7 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabe1d578 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad4e6543 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaffbe257 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb065d028 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb09695a9 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb137f723 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3d06005 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4fcffab drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb53b4d74 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb626672a drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb6eb161f drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb7b3d084 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb90d8388 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbacba06d drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc32b258 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd0824f3 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe57fa7f drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe782bde drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbfec35ed drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0ccf802 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0f44db1 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc110dcee drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2a0213d drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2f1c143 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2f61f43 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3f1434b drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc48eaa8f drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4aa9288 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc61b8f55 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6511335 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7808c73 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fe5fc6 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8598709 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc890440c drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8c82048 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc91cb967 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc97a9e96 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc99d89fa __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcae79fc1 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaef91df drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb8be119 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc3b4e79 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xccc677ea drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd3fb63a drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdbbaa84 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce48265c drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcec536ad drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcff9416d drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd031c531 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2ddc00c drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd31d5c50 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5498576 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd56abf2d __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d0bc21 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5ee5e8b drm_fb_xrgb8888_to_rgb888_dstclip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd80354f7 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd81c2796 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9359b27 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd968f834 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb19174a devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb8721eb drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc63a571 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe00a3cbb drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe02abfbb drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe24d98aa drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe283b392 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3c00b7f __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5cb4154 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6f00524 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7cc2656 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8188234 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea91d239 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeafd9e96 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec27fcf9 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee1ddad5 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf00221fe drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf019f512 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0a4fc21 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2329e89 drm_dp_downstream_max_clock +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4849347 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfaf6eab1 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb6106c8 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc0876b3 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd54535b drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x04cd0604 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0d45971f mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0d78449e mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1ac8fc17 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x212a802c mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x28bcc4a8 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5e758d99 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6ba04364 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7e76f71f mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8309a3ab mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x89bbf7e8 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xae2af0f1 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbc207933 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xccce3e6f mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe6f9c6ca mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf12dc94f mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xfa147af4 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x48d28fda drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xfe2b54c0 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x014c5c71 drm_vram_helper_alloc_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0623310c drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0f935966 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x15112653 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1e911258 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2d96f2a6 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3b25d853 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x49497eea drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x56c50623 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5f7cf31d drm_gem_vram_kmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x70be7c66 drm_vram_helper_release_mm +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8a853287 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8b2cf328 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8cd0c773 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9777b25c drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa9688397 drm_gem_vram_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xaa38a35f drm_gem_vram_kunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb1da73f0 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xba08b670 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc67ac52e drm_gem_vram_driver_dumb_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe9604584 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x007c955f drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x02ed3043 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0e2ebb7b drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1b675443 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1c22bccd drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2f7a1347 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3c898c15 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x45878adf drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5b60814a drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6bf2c33a drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x89df57a1 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa149076d drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xae991300 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb69c53ef drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbe4c97f0 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcc596cde drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd6c4a562 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd79b4aa1 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdf73276a drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe450e6ff drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xed933e8f drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x000df2cf ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x031271fc ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03852e72 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06d97256 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x07c83d81 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0dd896c9 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x12f71f18 ttm_mem_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x133b17a4 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e415240 ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20a5fd2e ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x21331db6 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2449fccd ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x28b14ef2 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a05abf0 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2abbc3ac ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x312aba3e ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x339459c4 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x35219af3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x394c1c68 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c9f3fff ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fd787e7 ttm_bo_pipeline_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4bfdf695 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4cb59faa ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x501932b4 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c3e963d ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6000f229 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60f772d9 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x626335e7 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x647dd5d5 ttm_get_kernel_zone_memory_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x665f2609 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x670d1514 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6993f87e ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69c8d97f ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a89746f ttm_bo_mem_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x72d6d031 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8492d0c1 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x855567f3 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85a3eb90 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x887e5c61 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88888a4f ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8fad9ea1 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x913d2019 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x96ab338b ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9e61c465 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa641d4dc ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa6d0e12c ttm_check_under_lowerlimit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa86624a9 ttm_bo_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaf8b86c2 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb1808207 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbce65b73 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf384d2f ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce3135b6 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd37c5dfb ttm_bo_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd55cca1d ttm_populate_and_map_pages +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5795115 ttm_bo_bulk_move_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdea4f8ce ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe69e3523 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee69c22c ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf3f55025 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf6f20da5 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb4f1e2b ttm_unmap_and_unpopulate_pages +EXPORT_SYMBOL drivers/hid/hid 0xa6a3b1a0 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 0x2dedbbb1 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x65d7b60f i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xbe67bc1a i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xcee903b6 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x81e7b9b6 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xf9a323a0 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x699a3909 amd756_smbus +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x0d377dd1 bma400_remove +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x0dbc0a05 bma400_probe +EXPORT_SYMBOL drivers/iio/accel/bma400_core 0x70f169ef bma400_regmap_config +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x3a029f9f kxsd9_common_probe +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0x3df28d32 kxsd9_dev_pm_ops +EXPORT_SYMBOL drivers/iio/accel/kxsd9 0xf2eaa4e0 kxsd9_common_remove +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x03c0a115 mma9551_set_device_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x0f74b306 mma9551_write_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x32926d39 mma9551_app_reset +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x3475feb9 mma9551_read_status_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x359e29ab mma9551_update_config_bits +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x41ef446c mma9551_read_accel_scale +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x5c08748d mma9551_gpio_config +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x65cc8561 mma9551_read_status_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0x923ce4c6 mma9551_read_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xaff43aff mma9551_read_config_byte +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xbcd7fe96 mma9551_sleep +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc11a03b9 mma9551_set_power_state +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc232bd5c mma9551_write_config_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xc7153c9a mma9551_read_accel_chan +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xd95907a0 mma9551_read_status_words +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xe322ca78 mma9551_read_version +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xfae8e000 mma9551_read_config_word +EXPORT_SYMBOL drivers/iio/accel/mma9551_core 0xfb7ee5ee mma9551_write_config_byte +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x625d0fd1 st_accel_common_remove +EXPORT_SYMBOL drivers/iio/accel/st_accel 0x7cc8d51c st_accel_common_probe +EXPORT_SYMBOL drivers/iio/accel/st_accel 0xbcdbc862 st_accel_get_settings +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xcae36995 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xf253ae31 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/buffer/industrialio-buffer-dmaengine 0xbc370040 iio_dmaengine_buffer_alloc +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x7502a32a iio_triggered_buffer_setup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xa10d1089 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x0ef17af0 devm_iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xae9ce239 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xffb8e81e iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/chemical/bme680_core 0xdf7f15a7 bme680_regmap_config +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x0823d5c1 hid_sensor_parse_common_attributes +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x122846a1 hid_sensor_convert_timestamp +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x3207a633 hid_sensor_batch_mode_supported +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x4400f927 hid_sensor_get_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x67913a85 hid_sensor_read_poll_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x6e54c6ad hid_sensor_set_report_latency +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0x7f7621ec hid_sensor_format_scale +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xa3679faa hid_sensor_read_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xc2efa7d2 hid_sensor_read_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xc6757888 hid_sensor_write_raw_hyst_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-iio-common 0xfc719d58 hid_sensor_write_samp_freq_value +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x62b25aeb hid_sensor_power_state +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0x7fc88048 hid_sensor_setup_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xa1e23b5c hid_sensor_remove_trigger +EXPORT_SYMBOL drivers/iio/common/hid-sensors/hid-sensor-trigger 0xc5924629 hid_sensor_pm_ops +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x045688dd ms_sensors_read_prom_word +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x267cda7b ms_sensors_ht_read_temperature +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x2d2f5cd5 ms_sensors_reset +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x42b6a050 ms_sensors_convert_and_read +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x6988975d ms_sensors_show_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x719750a2 ms_sensors_ht_read_humidity +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x9519e0f3 ms_sensors_show_battery_low +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0x99eaf2f0 ms_sensors_write_heater +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xbb2e5405 ms_sensors_tp_read_prom +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xc1d68200 ms_sensors_write_resolution +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xc4a7adb1 ms_sensors_read_temp_and_pressure +EXPORT_SYMBOL drivers/iio/common/ms_sensors/ms_sensors_i2c 0xc5a8627e ms_sensors_read_serial +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x12742d64 ssp_register_consumer +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x465e440b ssp_change_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x6ecc40c5 ssp_disable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0x9a5f1119 ssp_enable_sensor +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/sensorhub 0xac066d69 ssp_get_sensor_delay +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xabc4da82 ssp_common_process_data +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe5cb6b46 ssp_common_buffer_postenable +EXPORT_SYMBOL drivers/iio/common/ssp_sensors/ssp_iio 0xe731d2df ssp_common_buffer_postdisable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x074d7047 st_sensors_trigger_handler +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x0ff7433c st_sensors_set_axis_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x24491caf st_sensors_power_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x260ef2bb st_sensors_verify_id +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x26ed9cff st_sensors_read_info_raw +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x27c358c3 st_sensors_deallocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3d3130e3 st_sensors_validate_device +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x3e514652 st_sensors_init_sensor +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x409b4a1a st_sensors_set_dataready_irq +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x73ed3c41 st_sensors_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x75d92bcf st_sensors_sysfs_scale_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x93f0177e st_sensors_get_settings_index +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0x9486a5f9 st_sensors_set_fullscale_by_gain +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xa38082b7 st_sensors_allocate_trigger +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xb43e7274 st_sensors_dev_name_probe +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xbc5aa093 st_sensors_set_odr +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xccd75989 st_sensors_sysfs_sampling_frequency_avail +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xf014e2fa st_sensors_power_disable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors 0xfb5faa11 st_sensors_set_enable +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_i2c 0xc726de66 st_sensors_i2c_configure +EXPORT_SYMBOL drivers/iio/common/st_sensors/st_sensors_spi 0x6c78bb5d st_sensors_spi_configure +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x43d60621 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7dbb8f2c mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x827fda84 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x6165f27a st_gyro_common_probe +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x789efa1f st_gyro_get_settings +EXPORT_SYMBOL drivers/iio/gyro/st_gyro 0x93c66341 st_gyro_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x1be078fe hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xc827a3d6 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0x6eac2a83 adis_debugfs_reg_access +EXPORT_SYMBOL drivers/iio/imu/adis_lib 0xead7fd40 adis_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xb3a28d86 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0xd031d42c fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x4242bc9f st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xb5e0057b st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x0d695ede iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x1776f1a2 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x2c01d8ad iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x38da9661 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x49fb5772 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x4bc30bf1 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x5361a7f6 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x615497d2 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x650ca202 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x70c496c0 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x75f8a2b4 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x7960c5c8 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x94132659 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x985c876a iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x98684863 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x9ef39b33 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xbfe92923 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xc4910f45 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xcba24bdf iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xce5e89b1 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xde08d0cc iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xdef15b94 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf0eb604b iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0xfdc19d34 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0xf0030873 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x0cd1b4f2 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x209b6591 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x25bee69b iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x9e5e5509 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x9751bcd4 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xa59e2204 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd7d9bdb0 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xe7e68cc6 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x6e734cab iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xdc4ad581 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x07ef66b8 st_uvis25_pm_ops +EXPORT_SYMBOL drivers/iio/light/st_uvis25_core 0x2e36fe89 st_uvis25_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x00738028 bmc150_magn_remove +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0x1d0fa511 bmc150_magn_regmap_config +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xcae3566d bmc150_magn_probe +EXPORT_SYMBOL drivers/iio/magnetometer/bmc150_magn 0xee8be30a bmc150_magn_pm_ops +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x1e62d420 hmc5843_common_suspend +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0x5bcf0e87 hmc5843_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xafaf9879 hmc5843_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/hmc5843_core 0xe7ced241 hmc5843_common_resume +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x18c6c7a3 st_magn_common_probe +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0x6cb0aa04 st_magn_common_remove +EXPORT_SYMBOL drivers/iio/magnetometer/st_magn 0xe96a31be st_magn_get_settings +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x18c54c71 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x3420f435 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x9d23db34 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xdea62957 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x1ac9adb1 ms5611_probe +EXPORT_SYMBOL drivers/iio/pressure/ms5611_core 0x30cd4e8b ms5611_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x53f13ef9 st_press_common_remove +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xbabfe22c st_press_get_settings +EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xbe7712b2 st_press_common_probe +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x088948a7 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20af899c ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x254bd6d1 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x26f4bfb8 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4d06a7cc ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6ca3c06a ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7df958fe ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7dfd5582 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fc3fb7c ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xab8a8a61 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb552a7c2 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba82707c cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc7fd9e7c ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc95a23b7 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe8289719 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf1ba547b ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0072be58 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01689140 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02a43a21 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02f90ece ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0350db37 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x045d3d5a ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x067210ec ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06fc2e91 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08e0d077 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c8d4e8b ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d5fd3a7 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e2474d8 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0fa28395 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10919352 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14c7275f rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14df0ca3 ib_destroy_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1534b1c4 ib_sa_sendonly_fullmem_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x156ca9ca rdma_restrack_kadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16d1a079 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x184621a4 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a84ef56 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b6f5a0e ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d84c8b2 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1da81929 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ee449e8 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20e10fac ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x239c339a ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x255b3798 ib_alloc_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26e7df50 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28c26a35 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29023593 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a91bb33 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b381d8a __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c45f5fd ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2dbe4719 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e060364 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305f8b70 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x317395e0 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x339e7e9c rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3534163d rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35394efe ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x356b64e0 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3968c13b rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3979c546 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ab91d1e rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ebfeae5 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x407d167d __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4114a874 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x417eae61 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4183c9c6 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x44fdfb27 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x453d7af7 rdma_restrack_set_task +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45a4e384 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46fb91b7 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x472097ee rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47ea604e ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4817d2ef rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4899fba7 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49e86a0e ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49eeddbc rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49f6492d rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b950f61 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bcff6be ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c13d4a3 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4cb0ab0d rdma_create_ah +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 0x50e368c6 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x514acf5c ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5176d0f2 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51927fb8 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x524581d6 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53401785 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53c4ccda rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x552764cd __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5554e93f rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x571e7916 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57a08624 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57b04567 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58655197 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59526d81 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59786a3c ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b8723b5 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ccff4b4 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ed15feb rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f7789d3 rdma_modify_ah +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 0x62323716 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62b78010 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63fea50d ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a7dea71 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b05bf40 ib_modify_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b125ba1 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c450864 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d3d57ab ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f803150 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fe2cedd ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x705ec3c5 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x729404dc ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7341b411 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x742dc9b6 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75f9e24d ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77428ff9 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77d4df9e rdma_restrack_uadd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77e299c5 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a03f098 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a7f1238 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b56b034 ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c770c66 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fdf6090 ib_port_unregister_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8128a618 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83d668ec rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x847ce174 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86f21727 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87bf2670 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88249d51 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88380696 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88d19a64 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89aba100 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b1d889a rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b58891f ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bb2b3cf ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e42dfe0 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f0b5bc2 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90888317 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9097f793 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9169f89d ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x923c54fb rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9323f6fe rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9387f1e4 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95660c6b ib_port_register_module_stat +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x959ffc7c rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96d09acd ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x984172b8 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c25b7df ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c7d7a45 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa01faa37 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0275362 __ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa053c867 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa08534b2 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa144c213 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa169a0b0 ib_destroy_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa22dcee9 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa275a04b ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa33a3031 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4172cdf rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5546a4e ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6a6411d rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7d6f93d ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab0a561f roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab8918e9 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae2f064f ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8419ae ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb44266af ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5d6c223 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb74ad8f2 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8e036fc ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb92a3f1e ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaea2508 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd1ed2eb ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbee4959a rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc03b3ce5 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc49526da rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7367d5e ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9458430 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc977a293 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9b48a71 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb685c51 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd24b2522 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd28296d0 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd39344db rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4472aae ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd481e65b rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6e65d77 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbf24319 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde398942 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf854131 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe00d1f19 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe07b5855 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe53b0d64 rdma_nl_multicast +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 0xe67c5d61 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6a4462a ib_create_rwq_ind_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7d71cd7 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8252114 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea295612 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec819a39 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed0f7d3d rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4448862 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf653b4de ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf83fc3f1 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9e1f808 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfacd0448 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbff20f7 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc396c9c rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc4bc7cc ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd696dc6 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x10eddb9f 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 0x1c337734 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2397aac0 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x26a2faf2 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x31271944 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x43b2a156 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x467d5efc uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x52ebb8d8 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5b443ecb ib_umem_odp_map_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x66cf0cda _uverbs_get_const +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7109111a _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x77821d87 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7eeac478 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x801d433f uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x841b9dae uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa0142d90 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa6a48f20 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa8c78f94 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xaaf66bdb ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb154d414 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb211eddb ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbaf868ca ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcc12d637 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcd5b7bb3 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe4020a8a ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe665ec61 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe6f3e920 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfba0fa85 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x139419de iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x19615154 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x708b5948 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x852d07f9 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x8aa15562 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb29c0f02 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xecef74cd iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xee3d73a5 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0257f94b rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0c30c0b4 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x19421b9b rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1d89287a rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1ddc3005 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2341e3f0 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x246394a1 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2bea96a4 __rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2e00ba31 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x36136499 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3e319c81 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4959473d rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4d8e3280 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x55142527 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x569596a6 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x64a67fbc rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x67e4ee77 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x86af0fcb rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8a09e393 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8ac1d1f7 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8cee458b rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xab76d504 __rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb4e5f3ad rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb6a5bc06 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb73151e6 __rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdc89f089 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf608b9d8 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfb80a15a rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfe991d1b rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0228cfba rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0a53dd32 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x501f598d rtrs_permit_to_pdu +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcaee4823 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcf65e9c1 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd16a1afb rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xed6da0e1 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x0850dd8c rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x4bb674c0 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 0x67683039 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xaa2fcad5 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1b4a3708 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3109d404 rtrs_srv_get_sess_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4dcc1cd0 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x673bbaa9 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x79d9a417 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x804b063c rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/input/gameport/gameport 0x02c3cd9c gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1abb6653 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4c7c0f12 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4f7ed00c gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x62b9c415 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x97eb72cc __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb80446fa gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd6584b6e gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeb0042c8 gameport_start_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x4a1fba4a devm_input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x65832106 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x86c146ca input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8dd438df input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xa11384fe input_allocate_polled_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x2c2a9475 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xc947c62e iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xf165c41a iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x808029b0 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0xa52326db ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x057652d4 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 0x685c2fb7 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3997307a sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x42fd3fa8 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xc13afd90 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xe773c701 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0xeb2d6cea sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x59cf7a58 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x83c77d39 ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x12e529fe capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x56f3aec6 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x768dd7e2 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8242df91 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x95e95bae 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 0x464f341d mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x6d7aa220 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa5c6ba8d mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xcd65d4d8 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x2968cff6 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xdf02f00b mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x021ced87 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x08c1f978 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x10802973 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x11421462 queue_ch_frame +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 0x2acd7fe5 mISDN_freebchannel +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 0x456560f3 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x49c6ac80 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4c8cf2fd recv_Bchannel +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 0x5c78b856 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x616ed2eb bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6ac098ba mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6d47654f recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x76a1efa8 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9561eeaa recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaff2f9bd mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd24bf2ec 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 0xde9eb78c create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe5e32180 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe7b55f4b get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xea5d3155 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf1e4ac58 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf2614529 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfecf3357 dchannel_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 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xed1818f5 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xf4bf8ab8 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/md/dm-log 0x2dffaf49 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x5d44a91b dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x75b04563 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x9d0c0cfd dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x175a14c2 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1995afb4 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2626ce8c dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6aac5b36 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb8b97dc2 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd7e25a79 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0xa90097e4 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0xbd0afa04 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x211af893 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x21f1e8bb flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x60085a7e flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7eee13e4 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x96bb1342 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb8bc133a flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xba904d81 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc470c6b3 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xce7451d2 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd1435ca8 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf0bf35b3 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf35ee6d7 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf5f82892 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/cx2341x 0x18867045 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x2055e31f cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x8d3a49fd cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x9881e585 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xb9c8f3f1 cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc889377e cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdaff62f9 cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe197a5dd cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0xeb854f47 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0xf872053e cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x1b4fec79 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xdfb00588 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x091d13d3 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xfb1e411a vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x1c2a5d99 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x377e1299 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x477c210c vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x5d011ae4 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x758aaf30 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xc5e0fba7 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 0x9afcb2d6 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x108497b9 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x11ac5a0e dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1275a7b9 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x134e7593 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x193594f1 dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x25fc2370 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3d42a365 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x473a96fa dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x53941984 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5410f2e4 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6234f390 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6419f106 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x685b974b dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x74ee0a85 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7673e0d6 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x788386eb dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7d671818 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fe70106 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x950152bd dvb_free_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x981a00b5 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x993ddcf0 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9c42d4e1 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9e490ee4 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa85e1d6e dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa968b43d dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xad09b613 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb56b0ba3 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc66eccff dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc8e784a5 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcee67885 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd2ac167a dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd5104f40 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd6705907 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcf6d88e dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdd2a70db dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe40e24b4 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xeff814fe dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf24a508f dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf8a4f371 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xff193567 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0xb95466a4 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x4c95b76d atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x01912852 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x2af2e7af au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x40d1a9cc au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7682b98f au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7f44f5ff au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x87de26ab au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xa72d061d au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xce7e6589 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xd0c16c3f au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x3cfbe18b au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xb59dfe07 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xb829d070 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x74e520a1 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x8164d185 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x1a32dd0d cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x83183f79 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0xce443703 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x51aedc49 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x0f1c7a81 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x5e8915a7 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x43854e70 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x8c0d9a81 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xd24ee4d6 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xf5c4ab53 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x1b728216 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x59a545dd dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x5d6bbeff dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x670bdea8 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xadeaf39c dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1c792482 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x22ce8c6d dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2710639a dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x30db7934 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x42950f41 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x881c4974 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x90efa9a8 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x91187c59 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xa3e580ed dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbc9cdc1b dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbcbdd739 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcc8da621 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd94587db dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe717cf7c dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe9c42f12 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xf1637d1d dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x27348e70 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x2e6f0654 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x36bb1571 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x49b05092 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x543a5eb7 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x5e6c1e3d dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x0f8e7ef1 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x27a1cff8 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x3e873e69 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x99142012 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x34deb865 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x9d6758e8 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x350251e8 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3a53456b dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x4e8e853b dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x56ff41c3 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x5f1555d3 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x618c9887 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x662d9683 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8b7f3333 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9dc993e5 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa1ed539f dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa6aa005f dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xdb0a56b5 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf535a394 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x13807eb6 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x6531317c dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x71224356 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xb1d7ab36 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xd4e54826 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x501e8cd6 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x70bdc667 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xb1590251 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x3136e1f0 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0xe492730a dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x509d529c dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xcdfb4dc8 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xfb5376f4 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0xaeb727ed ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x1ced5f5a helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x2ccd21a6 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x87fbf99f horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x8df3ba11 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x10d9584d isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x853752dd isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x156bbb43 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x55e04859 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x7734925e l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x9475b048 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xab81e749 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x8fbf2630 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xc4bb72c4 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x25425ccc lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xc7c8eeef lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x52921c41 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xf3c78d92 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xbfdb312f lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xe034daa4 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x34fd2f36 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x11207be9 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x4b8d1028 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x49edde89 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xe06c3866 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x6e1e132e mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xba0971c7 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x294fe472 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xaa5eb61e nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0xcaf50d6a nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x26795459 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x43d1e33b or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0xea4f10ea s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x8546056a s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x87f77920 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xa7c20353 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x1ffe072e s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x036e005a s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x939b9a01 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp8870 0x63e19575 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xfc003e4c sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0xc3fa9ab3 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x134262a5 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x84e073cf stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x4e2bab60 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xed139099 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x8a3ba464 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x291aa3ab stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x9cb9a543 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xec27daa2 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0xc0e8e6e6 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x2bb6d7a2 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0xc1ef8585 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x6338f8b4 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x82e0225b tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x10f9f375 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xeb37862e tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x01fffe0d tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x3efeb68f tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x50d766ff tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xc0a41aba tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0xcfce6110 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x392778cf tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x3ebcb285 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x9c7e4749 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x7b58cdec tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x9d838c3d ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x92e132e7 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x80bd39f3 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xc861028c zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xdccd6c54 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0xfa88a20b zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x0c6906fc zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x1b4398d3 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x2af4f9ff flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x2c311b28 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x37fcaf5f flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x6f5815f8 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb0a39d8d flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xbbd4a3cc flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5e25ccff bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x848da266 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xa2e31eca bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xf4972dea bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x21d1ddbc bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x9f1ddf43 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xfd1eb829 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x1cf4ee56 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x35faa823 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x541ad93d read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x73a7e3b8 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xb065b96f dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xc025f8ac dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xda5d4d41 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xdbc7f37a rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf6ce4fa2 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x624a700b dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6f86ee6b cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x85e88e1f cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x86f1f8a5 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xd6b58311 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xe53839c2 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x4ee5c55b 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 0x55b2c138 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x616b6486 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x896fc6a7 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x8b73522c cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xa1804f01 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb2ce2e9c cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xd6f9d3f8 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x1116a3e4 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x16bb5c39 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x27b03d84 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x4e9fa88a cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5401abc1 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x656a69b0 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2285b6f8 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x317ea153 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7a6a04b4 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x8ea3ea93 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x9347b862 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xc3faf79c cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xe09e3b03 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x142f8530 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x214339e0 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3823ae6c cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x470367e7 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x49bfc79b cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x509ee22f cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x53dff512 cx88_vdev_init +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 0x759a7c22 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x78293c78 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x809e2d76 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8e809c46 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8ff2e91f cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9d2aff81 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9fba07af cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa9deaf15 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc2e5aa56 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc30e77d8 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcabc8317 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd454a3a7 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe4ae6e2c cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x600296ad ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x116a2335 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1960b219 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x31ed168e ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x35d56631 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x41c8dca0 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4bb93b4d ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4d61e746 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5bb64bc7 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x90c4990f ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa2ea4a01 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcbc17dd3 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcffb77f1 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xdbf96b4f ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xdcd1fbe2 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe7589df1 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xecc9da2b ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xfbd3f157 ivtv_clear_irq_mask +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 0x26e80679 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x40415577 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x58afb75b saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5e4b4b1f saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x68f4ce86 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x81c40042 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcbf2645e saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xcd6338f4 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xea8be182 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf1bb43de saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf7504600 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xff89cb93 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/pci/ttpci/ttpci-eeprom 0xf4543875 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0b95b0e0 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x30529d86 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5e1f7d8d snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6223db3e snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6e5ad562 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xb679730f snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xef6ef54b snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2ad91f6e ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x3131b773 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x4725eda1 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x5033bd09 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7cf52901 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9e12e343 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0xd8e67028 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x3468133e fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xcb74c14f fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xbae89ff4 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xe43d053a fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xef0eec67 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/max2165 0xe8831e17 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x5c953bf1 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x0fe9de11 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x4412ceed mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xe338b662 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x09cac6ab mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xc4c950b0 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xff851256 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/tuner-xc2028 0x94d343b8 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x94e7e38d xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x3b061719 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x02395123 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x743de04b cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x4e26cf1b dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x572513c1 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x63430b62 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6a412efd dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7bc61bf2 dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x96767e70 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xc55064a3 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xdb1cd9fd dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xdd084d4b dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x035a7cba usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x064ea8e9 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x15905f71 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x5973ca57 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x85335e75 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xf986ab9f 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 0x6235f6a1 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 0x00f01d39 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x10f73fba dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x11d2ebc3 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x158bc9ad dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x224b0f22 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x43423e64 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x4df81dc6 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 0x9a849ab3 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xcc61954c dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x209b44fd dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xfa301368 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x1eb5583f em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x6c63587d em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x3c2421e9 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x430c6363 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x66cabae7 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x76522145 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x826970f3 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xaced42ea go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xbbad6cbd go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xbc2ae36d go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xf89a9847 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x0f877a9e gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x2fe9134e gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x57e14dc2 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x601cdaf6 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x995f10b4 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xff5a3e69 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x259fd401 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x73285c8f tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x8d3a27e9 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x847d3dca ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xafba3c00 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x1d7dea22 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2a0da0c1 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x6d7051a2 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xfbe2ba41 v4l2_m2m_mmap +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 0x0ae1a999 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0c582eba v4l2_clk_disable +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 0x18656839 v4l2_clk_enable +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1b8556b6 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1c32f5eb v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1c9bae65 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1e0df4eb v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x20fed0b6 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27388504 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27fe8882 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x292743ca v4l2_clk_put +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2cbd5806 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32075545 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x33adf2d6 video_ioctl2 +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 0x3f526133 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x473dabd8 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a7e9e6c v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4ef0fa62 v4l2_clk_get +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4fb7f4b7 v4l2_clk_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x50eeab4c v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x536db001 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5da42b6b v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60fad6d0 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x64133835 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6932a07d v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6cc54e82 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x708cc121 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x71cab567 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x73b461d0 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x75758312 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8280534c v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x893b0054 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8d3c5b25 v4l2_clk_get_rate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8f8cc1b0 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9daaadeb video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa1145d54 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa1569545 v4l2_clk_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa61b2f22 v4l2_async_notifier_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xad0f6ac0 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaddeacfc v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb186206f v4l2_async_notifier_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb3f8a630 v4l2_clk_unregister_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb50f2430 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb75566ac v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb7a4735f v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb8f1a8dc v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb904bf82 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb9460cf5 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xba1a951f v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc2a8399 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc07aed51 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc2564f25 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc9bc2b19 v4l2_async_subdev_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc9bc9131 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xca40b50e __v4l2_clk_register_fixed +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd080c6af v4l2_async_notifier_register +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd6e34117 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdacff03e __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb8aedaf v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xddea0c11 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe0ed69fb v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe507d5ea __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe70e74a4 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xedac88f5 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xef23ca9f v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf0e437fc v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf1213120 video_unregister_device +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 0xfe97028b v4l2_clk_set_rate +EXPORT_SYMBOL drivers/memstick/core/memstick 0x06e35300 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0d0c9ea4 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0fc750fc memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x16d87b4b memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1fdf8e7f memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6f74a7a4 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6fb5c961 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x75e7cd05 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x88166248 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8a0bc0bf memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9dc54961 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb004b100 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc1df807 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe16abd45 memstick_init_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0591b20e mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08d113c1 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0fc68fcb mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x15c42778 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3c0ce8dc mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e514af7 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x492a19f0 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4fdc0380 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x536f8962 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x57cfcafd mpt_raid_phys_disk_pg1 +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 0x7c2ac2d0 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x886d2943 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8a7db1f1 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x98591f20 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9942295c mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa07418ea mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc762d343 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcdf19558 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xce1d91f7 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcfe56fb8 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdbc34d11 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe4ccb4de mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe889c400 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf43cedf0 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf4b485ca mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf6935f1f mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfc2a0fb7 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x24f96887 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x308c3920 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x36361b05 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x51a3fd83 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x632da26e mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6452cfae mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x72aa8365 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x72f4ec65 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7d948f4f mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x82ff4e23 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x83db0ee0 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x84f8ed3c mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9ac818fd mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa33983db mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa7450ab0 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xba4c61fe mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc071a26c mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd0e3d748 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xda09f683 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe1603e26 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe51fe57a mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe9f5b7bc mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xebfae67b mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf15b93e5 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf6db87b3 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/mfd/axp20x 0x22678ab1 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x2f7279e9 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xbfbc7bab axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x046b2725 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0x49d31b73 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x99364f55 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x038afe7b pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xf41cf48f pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x41577abf mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x532ae6be mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x56df3398 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5f8a11f0 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x68ef5faa mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8e69c35f mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9e93381d mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcb604f3f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe58a6ba1 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe9d88470 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfcd1d74f 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 0x47128a1e wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x67486788 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xadcb6259 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0xd8708833 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xdd25e8f4 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xea4a33aa wm8994_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xefe7c131 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xfbc9dcf1 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x2df90e3d c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x3b9d300c c2port_device_register +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x1e1515d9 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x2766ca34 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x343d33b3 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x3f8d18ed tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x45116d17 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7c99adae tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x84d79857 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa9b6dde8 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xd323b4ff tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xdd943916 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe37688f1 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe574ba25 tifm_register_driver +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x5400fd91 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x552ece27 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x9f971349 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xb6b1fdb0 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xf02f1434 cqhci_pltfm_init +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x21d7a0c2 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x55df5ea2 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x5a57074a cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x68d023fb cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x71cb131c cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe8bac6a1 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xef591f2e cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x07cce000 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xbabe3ded map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc03b0876 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe6a659d4 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xc0449a89 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x351d96eb lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x6a9ca0f4 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x1dc0b874 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0xd419f44d mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x0e4f8405 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xca267712 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x9d426fe0 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0x9d512194 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xa43d1c72 __nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/raw/nand_ecc 0xb636dd73 __nand_calculate_ecc +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x23441f84 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4c994423 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6293125b arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x840770f4 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x88b2b728 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa1390804 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb6de0469 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd1121148 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe01c0004 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe1522430 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x19a03f03 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa9a18554 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc56f09fe com20020_netdev_ops +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x057a554d b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x074dc6c4 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1a3c2a15 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2aea0eba b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2fdec635 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x32c7e9a9 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3b149a8b b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x402fc443 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4a100a04 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x50b12fff b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x61c36410 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x628db9ed b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x660c87c6 b53_mdb_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x739d083c b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x76462b32 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8533cb14 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x86e180ac b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x87cd8763 b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x888099b1 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8c7cc608 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8ff6f8ce b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x91b45c77 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9ad89b77 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9cd8d80a b53_br_egress_floods +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9e734291 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa95015bb b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xaf65c57d b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb0fbf377 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb33bff59 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xba94a9f1 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbf01efb3 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcc366f8f b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcf41a2fa b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd81664c1 b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd8522ac1 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd92ccc13 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd9b26783 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe09f49bb b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe9c8ae9e b53_vlan_prepare +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeaf6f50d b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf561a710 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x20cefe34 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x2a2e95d9 b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4316f4ef b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4a8f45ff b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x6956fbee b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7057b3f4 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xcb4fa0db lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xdab1ff5f lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xec797ef3 ksz8795_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x667febef ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x162339a1 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x5b9264ce ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xf6be2a9a ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x45d99fd4 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x70ca01eb vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x03d2d39a ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4285705e ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x433b8113 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4abe4d48 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5ee386bf __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x71d60522 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x76ae78d4 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x90eb80c6 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xca136dc3 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe74d3af5 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x2e204a4e cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xa1d7207a cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xb77cd3fd 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 0x11def710 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x23f77b69 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3670cc19 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x630c440c t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x71e699b4 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x73288f93 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x73385d54 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7409b11b cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7bb8c3c3 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7d82ad53 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x879c0cee cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8c414b46 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa0bc5e58 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd2119c9a t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd39f9ed3 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xeec75960 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01db9442 cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x05c23f9e cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x080c232f cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0bd8bb32 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x126243cb cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1357c81d cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x16f323ea cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x18de01f8 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2765d633 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x39155644 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3b130b0d t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x41781014 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x48d188cd cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c12ce13 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c24023b cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4d1588f9 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4e48dc35 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x502fd7f3 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x52746463 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5b5d9eac cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5cff68ce cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x676a11a9 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x68edaeee cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x71dafa47 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x735cddbd cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x79353308 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7c58368c cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7f34c4ee cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x871477c0 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87bb809b cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8bac6f00 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9c834101 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9d50908c cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa674213f cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb202e252 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbd406316 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe9faba5 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc25550ca cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc69fc9e0 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd4faf1bd cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe2734a3c cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe3ac6366 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe62485a3 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xea9e8a38 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xec7983db cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf8fdd604 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf9e6ef95 cxgb4_l2t_get +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 0x32814847 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3cde281a cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4cea6d8e cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x58ba19f4 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7bde9e44 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x974e9e3b cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd1801ca4 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x1a27c359 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x427ccb68 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x4bbd857a enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x8b942026 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xac0d7c20 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc7e8564c vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x0d9e06e2 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 0x76d21a4f be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x1723a423 i40e_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/i40e/i40e 0x99fd28db i40e_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xd00a3dc3 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xe4049dce iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0cf1a5df mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e1f71d1 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16cb06c8 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c0471b9 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25e2f32c set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x269682b0 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40985ee3 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4244f69a mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f0fe8b6 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56bbd141 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61862be4 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63c77a47 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66ff6733 mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d77dc6f mlx4_SET_PORT_user_mac +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 0x8223c4d0 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x859abc9f mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8639bc26 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93e58e9f mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x976891ad mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9bdbddc5 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1d00920 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae085e7b mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb069b691 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb2dcbda3 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb53f5e63 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5a9bf55 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba943040 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd56f4ef mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4437bc5 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5ce7107 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9eab4bd mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca895d81 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce7d3bb9 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1fecd33 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd56ad95e mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8fe66bb mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb10e75e mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe20033af mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2519306 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4b5b9e2 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4bd54fa mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed5ca814 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf098c7d9 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb9b82a0 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0012cc97 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x005caa24 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02ea3424 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x03cce5e3 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2fc676 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dc560c8 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f0c001e mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x123f2f7d mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1256df3d mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1361c8a6 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x144add44 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14d7b230 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16d8ecbb mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17ceb874 mlx5_register_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ec7c4d7 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x217605b6 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x225351ad mlx5_cmd_set_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25964f5b mlx5_cmd_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27c23a49 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a0db301 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a35fcd8 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b9166d1 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c196198 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x31e25d99 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x320c4011 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3283b0b0 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33722bdb mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x355e0bd6 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39153c11 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a0863bb mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b3a1f2d mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ca15fc8 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f8bec5a mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x425d4a1b mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x42812e26 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4abdd6b3 mlx5_cmd_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad51efe mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad7e9d4 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c04cacc mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c8db8f6 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d48dd3e mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5176aca9 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52852f66 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5305393a mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53a8a950 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54522b7e mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x557d8412 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x564a9b4a mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58fa7d83 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59a8f6cf mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b68ca4f mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d0dffd7 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60b2c610 mlx5_eswitch_uplink_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 0x61b356c6 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61fbc95f mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63ce9bf9 mlx5_unregister_interface +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x67ee2153 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x691b7fe5 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6962e15c mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e296beb mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7147496f mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73193ce9 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73da6b85 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x753d041c mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78fce8a0 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a2cfadd mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dfc101c mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f028472 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x849f2813 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87429412 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x899fd72a mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a6a0a75 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8fd31230 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8fdd5a0c mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90018bd2 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90c484bb mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92006b07 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x942775f4 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95d47eb2 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x963cb424 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9bbb7ddc mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9cf3ff1b mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fcf8439 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ffee7ad mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0286d65 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa10c635a mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4331478 mlx5_query_port_ib_proto_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7857b1c mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb10c3323 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4ac6bdd mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb82453ca mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb84c4756 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbcac275a mlx5_buf_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe10bca3 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc0f5ec39 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1ca8644 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc24f715b mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7a83215 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7b5863e mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc902e20 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf177e98 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4074608 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5f06760 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc3d0152 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe00e709c mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe629e730 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe86474ad mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea24cc46 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb788e58 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed7cc7f3 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xedb27503 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee110445 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef9f0fba mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xefd9896e mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0f67479 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1eeca40 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1f2155b mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6b3d22c mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8682db1 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88dd884 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8a88dfa mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfab0e33a mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff05e262 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x474b17f3 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x000ab82e mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02998acf mlxsw_afa_block_append_counter +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 0x0b6b6ec4 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0da5f825 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e2b5842 mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x13cb6a7c mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1dc5cace mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2333dc1d mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2decde87 mlxsw_core_fw_flash_start +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2f2c4887 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x35ba2254 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f123442 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41055a45 mlxsw_core_event_listener_unregister +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 0x47fd6eee mlxsw_core_fw_flash_end +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a6ed376 mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5c006222 mlxsw_core_rx_listener_register +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 0x615ef5fc mlxsw_afa_block_append_qos_dscp +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 0x64deca82 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x692ac04e mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x71e1d813 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73cf1d7a mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x766ab713 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76a65e3b mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77768221 mlxsw_core_module_max_width +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +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 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 0x8942ba1d mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8ba5fa7e mlxsw_core_lag_mapping_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 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 0x9ffd3f7f mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa3d0d2b6 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7ccb62a mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb0717797 mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb2f24677 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb33f3dbb mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5e762fa mlxsw_afk_values_add_buf +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 0xb66aa922 mlxsw_core_ptp_transmitted +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 0xbe82d6cc mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfd01f33 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9c2e4cc mlxsw_core_lag_mapping_clear +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 0xcc46cb65 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcc4bdce8 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcd9a40a4 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd1a82f0b mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd252e62d mlxsw_core_skb_transmit_busy +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 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 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeff4950 mlxsw_core_event_listener_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 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf2ca3bae mlxsw_core_res_query_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf4909bea mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf7fbba9f mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xfc08cc47 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x39d85e12 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x85cb1193 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x8966bee9 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xef9fba49 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x035c5c8c ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x07be005f ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x09396d31 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x0b150222 ocelot_netdevice_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1293751c ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1c94338c ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x1e0df478 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x242b0dc5 __ocelot_write_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2d97ea1c ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x2ed9d1bf ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x3ae36cd7 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x49ed9cc2 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4ac973bb ocelot_regmap_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4b388df7 ocelot_adjust_link +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4b6e5dd4 ocelot_probe_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x4c9b58ec ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x5fe6b0af ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x69b9490f ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x71b8d88a ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x72603af5 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x76e06516 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7750b8cf ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x783093c2 ocelot_regfields_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x7fe5222d ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x858f53ed ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8b886d10 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x8d28314d ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x901a61bc ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x94818212 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x990017f5 ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9fcf6faf ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa473d41e ocelot_port_disable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xa7e816e4 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb10e542f ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xb53b2c58 ocelot_configure_cpu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc18ee96f ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc3c02fa1 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xc5ec618b ocelot_port_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xce9157a6 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd0348add ocelot_switchdev_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd1de865b ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd215ef95 __ocelot_read_ix +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd33c9bac ocelot_port_writel +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd43695c1 ocelot_chip_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xd66aebd2 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xdb8fe628 ocelot_port_add_txtstamp_skb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe54a91e8 ocelot_switchdev_blocking_nb +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xef2b006a ocelot_port_readl +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_common 0xfa44cfb6 __ocelot_rmw_ix +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2c29ac00 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2d41ef88 qed_get_fcoe_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 0xbbeacc6d qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xc75d487f qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x1b641769 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xde71c59f qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x25d7122d hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x79405201 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa049daa1 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xdbbd6a6f hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfad17c8d hdlcdrv_receiver +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 0x652fb0b6 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/mii 0x0b53f633 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x0b780811 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x35cd11c4 generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x3d7842e1 mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x581e015c mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x85f83158 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x938245f6 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xc676b39f mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xe247f295 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xe2e91b3b mii_ethtool_gset +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x6f56894e bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x02faee8e free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x429a0fa4 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0x80cb2511 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/phy/mdio-cavium 0xedeb0c42 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/phy/mdio-octeon 0x8a1d5c26 octeon_mdiobus_force_mod_depencency +EXPORT_SYMBOL drivers/net/ppp/pppox 0x1b1d0bea pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x25768dd6 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf6188272 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0x645a8dd8 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x2cd39071 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x3009f763 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x6017d866 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x865c74bb team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x8aeccbb1 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x99c6828e team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xb614ca28 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xda99b2e6 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x1d5bf354 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x8e047647 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x9987a61e usbnet_manage_power +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1844a200 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x213c7eec attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5fb0ea42 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6213fb8d register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6c053532 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x756f23e3 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x86b971ae hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x875d58aa hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x94e66f46 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe3bd665a detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x48d9ce6f i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0020e572 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2f65d32f ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3693c80b ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3fe8c325 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x50c7eecb ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x57a6cdda ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x58eed54a dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x627a7dd3 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x78de200e ath_key_config +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 0xc0dae959 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd3a4c26a ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xed4a959e ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf08b651e ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x01a28511 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x03a54b89 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x10d16d24 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x11ad0d35 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1a75ed5b ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1c3e16f8 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1e532ac7 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x253251d1 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x28b4ed22 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3158da2b ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x31b588ec ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c3df5a3 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3cbcee13 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4094eca6 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4563ec36 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4eb571e3 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x519d78b3 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x55b37068 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x601de887 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6563f9bc ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65edab3f ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6b5466da ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x721d1905 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x729db06e ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75353733 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x821ebad8 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86c9f0e7 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8834b052 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8ab49299 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8c6b0d88 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c6e5387 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c8c8303 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa21f1336 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa7376dd1 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaeb6589e __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb184994e ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc3d76357 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc519cec9 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd899f877 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd8f6ddf0 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xddc1faec ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdf36feed ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe19bfb38 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe3873c81 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6bf2a79 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xebb78b2c ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xeca3f2eb ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xefcae7dc ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf1328f60 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x09c67eca ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3ab34947 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x73517bcf ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x90b478dd ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x94d494f1 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa039c154 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb8d6f3dc ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc49e8152 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc53a3815 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe02de1ed ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xeeed64a5 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00717796 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x13403078 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x274de75d ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2db00667 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2f708729 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x37dcfb82 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x51278792 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5dad224e ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x64a2b5ec ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6edf6b04 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7b0d6ad7 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7b7deebb ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8ba5c814 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9a5e6e61 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa125b1fc ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa7c38519 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa9b22fb5 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb4731f37 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdc13ba2d ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdca772cd ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf0617912 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf43e9da1 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf75f37de ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00bbaa9f ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01ad809f ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x183a394c ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b92d8fa ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1d85a0cf ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e296f0f ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x229ba547 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2302818b ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a2d4561 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2afa1ddc ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c3c9253 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2cc07158 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2dc81fc1 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x30226e17 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31b74291 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x370984cd ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x382f660e ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38ca6ef7 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c86d769 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e1eba9a ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3eb757fa ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f1d3c3a ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f5e0988 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x442a4d53 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x46f0ef04 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47e9acc0 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a28c22f ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4a32dcab ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e00d1d2 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52fa39ad ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53be8d70 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54451d0e ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x545ee60b ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x564924e6 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x56e69472 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6184da09 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6396ae37 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65a05d03 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68acf3d3 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6aadc0fa ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6cd7f0ce ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d279011 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d71b48d ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d9d2307 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f199477 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x72fbbc28 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73623271 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76cd29ce ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c944706 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x819204eb ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x859755f5 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8679f921 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8826a82c ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8893b192 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x898e8d58 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a335427 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d018431 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90d5e04d ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93f2f510 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9523d341 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x96968526 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98c4f1f0 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9954d750 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a6489f8 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ae426d3 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d3168ce ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e885436 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa5ed1c61 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa792fcc2 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaac7f573 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab74e582 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabfab714 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad10093a ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad39160c ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaee4603f ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2897adc ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4784ccd ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7de08ec ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc0ce4a0 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe5a5c1f ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe5ac18a ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4bc97a5 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6afb06a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc743c6f1 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca88c497 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcaa7ef45 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd8d56f0 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcda752e5 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcdac39f5 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcddbbafc ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd00eb381 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd03a0faf ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd2a91d8a ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea9361f ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7b7dbf0 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8525d23 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xedd860e0 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf106526b ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf35c4445 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4b60cd7 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf6d6ef42 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf75f69cb ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe0556f5 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff23d5f6 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x144424e9 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x782a4cf7 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xde3b5adf init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1e447c5a brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2a57f06f brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x592a0c3c brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x62f1ceac brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6fb05282 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7bc65a65 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7ea85a9d 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 0xa8ec9732 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xcd72509f brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd4ad4781 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6472677 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xecdeddd0 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xfd556da4 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x02862778 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0cf4b4a1 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x120f40c0 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1eb3c8e5 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x25e96068 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2a1d31f5 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x42e63229 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x42f519bd libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x44670c86 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5bbe363c libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x95577215 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb3e6e39a libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb73901af libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc9de961c libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd3b23fec libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd9a80fc9 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe763dc7e libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xed6ecb00 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf5ddd6dc libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf5df12ed libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x014e90dc il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x015c2e9e il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x029a351d il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03fba213 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0fc51ff6 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x102ee190 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x11a6fd19 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14b1ca06 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17339092 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1752b162 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x188bb712 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f986f30 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20eb5536 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2282558d il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x237432db il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x24a533c5 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x274427e6 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x28655f42 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x28cbee77 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x296395ff il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b51cfc0 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x301dd049 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3149e26b _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31ad0af5 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x39c1a200 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3a083f3d il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3aa91b3c il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3fcee9dc il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x420185bf il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x440917ae il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x49a91440 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4c5b4ea7 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x541149ac il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x624c2c70 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x634096b0 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63ac69d1 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x66941f25 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x66b589f0 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x69c0032a il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6e266bf0 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6eea9219 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6fa5ad18 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x747cf705 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x74ec19fb il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7594df2a il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x76b5c10e il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7814be10 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f3892db il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f48f53b il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fe0e40f il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8665e720 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x88dd02d3 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x898ff032 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8a36b3e7 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8c89b2b1 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8da83a3e il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x90dd7054 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9151ed13 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94a6b83c il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d06851c il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa13432be il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa61ca514 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa963ffe5 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaa08681f il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xab7d4652 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaba59bd5 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac8547f6 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb0f939d5 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb559050f il_mac_remove_interface +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 0xb9288a1b il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd303a43 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd8e9bb0 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe10f754 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbea70b31 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbf760b68 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc51a8ea1 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xccfcb680 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcfe9adfd il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd234031c il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd41b26ee il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd44f6774 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd66f92f0 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd849566f il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd843f61 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf2dfca1 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe2b8db10 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe3ee25ee il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe5283609 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe89542d5 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe8b7753b il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe96ecd60 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xee15e503 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf225f238 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf24af3d1 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf48caec6 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf6d992a2 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfcb13e84 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x33c2544a __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa44e2870 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xab9db4d3 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0443c1a0 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x10536424 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x13abdd5a hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3ed60c02 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x429a0613 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4f2c1277 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5168a28f hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x52ddf0b8 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5b2dd5ff hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x62ba5637 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x67a1871a hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6abf9694 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6c74b2f0 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x754de38c hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7d65a139 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x80f4407e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x928bd42e prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb262e2e1 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcbc02ff9 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcf6e0a38 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd3a20499 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd6984610 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdf489604 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe353c7de hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xefdcd9e8 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfea5633c hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0e6f4d2e orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2a516940 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x33741302 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4e0cc267 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4f1e41c3 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5ee0c87e alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x60411d12 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6e23e543 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x90337958 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc01a83b8 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc3856902 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc4935a2a orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcb12ffbc orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcca7395a free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe0ff1660 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe2686a6c __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x3178db9f mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xc2cd12e7 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x03288b4d rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x05656dee _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0aed70bf rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0e1e7d6f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0ec448c6 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1ebb2d2a rtl92c_set_fw_rsvdpagepkt +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 0x295bbb65 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x296b70b4 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2e2357fd rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2fd35213 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x36aa55a7 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3d3a2741 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x48ae8935 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49c379c0 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4f8d2d26 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4fc082e3 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x52dc1386 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x56435d2e rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5c7eb871 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5c987906 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x60552598 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x72642c6d _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x74a130e1 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x764bdf3f rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x86751dd7 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9384fee9 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9451b789 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9691cf23 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9afd0a76 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa190c8be rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb011f616 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb2696883 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbf1ef18a rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcd87a474 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd70a4898 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdbf4c39a _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdd55df7f _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe434f8f8 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe65a4b68 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe82d7cc9 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xebb43297 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x29d9dbf8 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x51db72d8 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x45a1301b rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x8c658ab3 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x9a089c5c rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xc11c1595 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x142b3622 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x16bfacf0 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x21456e3e rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x51b38b80 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x577a8601 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x59cb0dc3 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5faf7c33 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x66e880ec rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x686d4d14 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6e30f0fb rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6fd39e3e rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7a97a889 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8534b1b4 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8e92b20c efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x951999f7 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa1668697 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa3068b5e rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa5d587ed efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa245784 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb69e54b0 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb6fad9ff rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc0099c5c rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc2cd3a6a rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd0329494 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd0ff404b rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd18f962e rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdd84970f rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe0ce6577 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe12a6fa0 rtlwifi_rate_mapping +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 0xff384124 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xc90a9fbd rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x22eae50f rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xcd288e31 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x021a497b rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x028c5fef rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0e21ee6d rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1e6fa536 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2515f1d1 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x311536d3 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x333a5e45 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3566467a rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3a989948 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3c093dfa rtw_phy_write_rf_reg_sipi +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 0x44798981 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x451255bb rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x48018e5d rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x51afa9ae rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5436ec75 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 0x60fceaf7 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x620cea42 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6262958d rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x64dc9dfa rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x66b241d3 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x67dc0a37 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x699ff8e7 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6a51f9e1 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6afb5e35 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x72416118 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7589cb09 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7b56e0a5 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x83a2d6f8 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x85561601 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8566d655 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8cee30f4 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xad96f7e9 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb1c6a9c7 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb308d88d rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb49c5318 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb99dc80a rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbacb3396 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbb4e5449 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbcc0427e rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc189658b rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc25694f4 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc284914f rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc8315268 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc8eb9356 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcb75e276 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcc12e7d8 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd371f5d1 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd83a244f rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xda694ea4 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe1335ecf rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeadd7bc3 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf34249ad rtw_fw_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x407560aa rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x75268fe2 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xac73eff0 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xde9a8f79 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x78e9392a wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbdbff63c wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xc4f63e83 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xebedbd68 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x2e80b158 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x559edf23 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xd8794d06 fdp_nci_recv_frame +EXPORT_SYMBOL drivers/nfc/microread/microread 0x6b9ac883 microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x9aeef0e4 microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x6765de42 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xb24b08e2 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xf21dfdf6 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x3d1c5f95 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x4d6dffc1 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xdb1350d7 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x231b48be s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x40f6f2b4 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xac6c9e47 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x07c2b926 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x19d26eb4 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x2150b13d ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x31248f02 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x4723d3ba ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9704cc3a ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd8b0c7c5 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xd99e97d3 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xe91276f2 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf658c720 ndlc_close +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0a9aefcd st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x24164176 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2df871ab st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x32f47046 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x39d3408b st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x442cc9ae st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4d4122d2 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6408613e st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x69916821 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6a5fcdfa st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6c934512 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x94076c83 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9aa03461 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9d7f61b5 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xadba6b20 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xdae996d5 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf0080fdf st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf9a5a617 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/ntb/ntb 0x03a5aa42 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x08d0f056 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x1aa27d1b ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x22cbce05 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x3eb0ba00 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x553ba36b ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x56c020ff ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x705ef498 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x713e69c9 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x842a07e1 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x8b64563a ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x8babe223 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x93a16c73 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xa479d1a7 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xafd0559a ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xbff260a6 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xce0da4e7 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xea0b0c54 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xf111a4a5 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0xfb7fd6cd ntb_unregister_device +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xc45d311c nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xe6e2bde6 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x010cbd11 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x0271fec4 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x177b0911 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x1bfa475a parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x211e95c5 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x354427d5 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x3cc910e8 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5204048b parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x5422072e parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x546237cb parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60461c48 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x62d0adc1 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x6cc38b9c parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x6e45d033 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x714d8728 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7bf2504e parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x7f5ea175 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x84877495 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x8ca522e6 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x94e7cae7 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x97df22fd parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xa64f7b4d parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xab23dc9e parport_read +EXPORT_SYMBOL drivers/parport/parport 0xb28dc981 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xbc26772f parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xc38efeaa parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xce4580bb parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xde3ff171 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xe89e4980 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xee02e0ac parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xee7ceb7e parport_wait_peripheral +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x541c4230 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0055f2b2 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x168fb5aa rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x618bff0a rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x68d1cb51 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6a9f5b67 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7bf4a495 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x86c5ba7b __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xaea385bc rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xcc43d6fa rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xdc854641 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf01cc6dc rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf5d86bcf rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xfaaf451d rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xfe009ce5 rpmsg_sendto +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xb5ef78ed ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1e3becb6 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x5a534b87 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x9699b241 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xa02cb74d scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1c9344ae fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2d2e8f49 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x794494da fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x992585b6 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa7276f42 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa876ae69 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xaafcfff4 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb5526589 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd882381a fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdcd199f2 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf9ca7663 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0189e3ac fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02200f14 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x047c15d2 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0adb83e6 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b1141fa fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22dc8a45 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23230218 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x245f651a fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2aac115c fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x30c3afc5 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3272b752 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c1b464f fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3e55f42d fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ea28049 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41bb19b8 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x42a1a76d fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43789fcc fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x46af4aac fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x491e0620 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4ca0ea11 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x501fc4e9 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x516e2d74 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52ca9125 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x56ab050f fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5eae6580 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5f85f98b fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6046b9a1 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69219e2a fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6924bcb4 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71d81ac1 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x80401370 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x806abbf4 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8499d112 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85e01831 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x860c7bc9 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96187461 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9a4a2060 fc_eh_host_reset +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 0xa38df985 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa3bcccab fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb16f8ed0 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4755925 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbcf4abeb fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbf38eb4e libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3a2a23e fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5b0d455 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc7b3af57 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc835789c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc97f87e1 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb893def fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1e2b432 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1f33307 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd53df846 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd79678f1 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe26a9ea6 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe6521d96 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8b7dfe2 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeb116db0 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf712d417 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfcd91f22 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x14f5c3ea sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x5ae4cc30 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb14945a4 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 0xf186e937 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x41f65672 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x42ee989b qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4842a1df qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4dbec695 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x50811d95 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5cc732d1 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x88a2c508 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa54666cb qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xaec5dccc qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb15f9015 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xcbbf63ac qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xea354b2b qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/raid_class 0x5ea3b9d2 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x5ebdb94b raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xe91f6e49 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x025cfa2a fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x13dbfa77 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1b52e9df fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1de6084b fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2adfcba9 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2fb09819 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4aaa6167 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x52a08ca3 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5be8088e fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6cd19225 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8904da52 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9ef5b8f8 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xae45cf39 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb18831f5 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe8bddc44 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf7fb6d87 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x09a4607a sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x103d0ce6 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x110f5716 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1580ee42 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1fcac060 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x22438c17 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x254c8d23 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x26201792 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x27d3af9a sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2d2eed7e sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2fa89b62 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x314e4a65 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x31600751 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3f61e0d9 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4d8596da sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x58499885 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x637e5423 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x65ec916c sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x92e1ddf0 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x93bb8ecf sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa294f4ce sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xacfbd8b6 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb214ca4c sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd0ecb4a3 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1864b9c sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd79c6171 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdad576a7 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe909906e sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xeb49e118 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0acdaa7b spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2936e9d2 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x74a71640 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x87e147ad spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf7526c1a spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x68844d91 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x88d7b808 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x925b2743 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xb491464a srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xbadec0c3 srp_rport_get +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xcbc1be7f tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/scsi/ufs/tc-dwc-g210 0xe8237999 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x25615ac4 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x29edff0b ufshcd_shutdown +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x2ded24d9 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x4bbeb85a ufshcd_alloc_host +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x7246565a ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x8feb3490 ufshcd_system_resume +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x94a60269 ufshcd_runtime_idle +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0x95441556 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xf9e80ad5 ufshcd_system_suspend +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xb477130f ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xc4b45713 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0489bf05 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0b6f3c89 sdw_clear_slave_status +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 0x25fac7ed sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x34d261f8 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x480ce899 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4e71d2dd sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x66181a67 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6a9abe19 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6d53c976 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x76215d32 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8a56ad32 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x929ee37f sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa70487ac sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbc2df0fc sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd4eb4ff9 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd9407569 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xdc85de2d sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xeb7e3528 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf5d81694 sdw_bus_master_add +EXPORT_SYMBOL drivers/ssb/ssb 0x00096fb4 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x009ae84f ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x138c648f ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x29d78786 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x383aafb6 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x39d7c4eb ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x42a67090 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x49c9e09a ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x5a11b18d ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x8740eabf ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x87d76b35 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x8858798b ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x9698e8a3 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xb0886f8e ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xb9ca95b3 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcedf34d4 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd34cd7a8 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xd9d6a2dc __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe5ba6677 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xea166d5c ssb_set_devtypedata +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x066c93e1 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0e09af92 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x233e8abb fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2697de16 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3e73fcf8 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4474139c fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x46d54d0b fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x515182b5 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x52739b45 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x593df854 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x949759d4 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x994c3c1e fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb9f3efc2 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbb3ad034 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbfa779af fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc4b4907a fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc4e0c037 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc949d859 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xce5e8d03 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd581f00c fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd9b9b613 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xdabebb64 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xead00c0d fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf2c0bddc fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfd2c4e65 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x74794f6c adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xcc7d590a ade7854_probe +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0a391f2c rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x161eb8b0 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1d16b9da rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1d8e12a2 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1e7e8d24 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x240eaa08 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27101825 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2be786e9 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2d71f218 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x329648ba rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x45087c5b rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x493c201f rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4b64b03f rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5461decb rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x60e0154d rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62c17b46 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e11f9e7 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6f6a4bda rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d484834 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8320d6f5 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x840b7ea2 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x852d4545 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85bd5fa5 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8825e82e rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8d14e8e0 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8dadfd20 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x90986a1e rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9372c21a rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x999ec9b1 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9c484d73 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa3362d6f rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb7cce801 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb9fb5ad3 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc11f82b0 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc4200698 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc5b4236d rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc7228058 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc73c26c4 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9f7e1e0 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xca3af686 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcf1696fc rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdbf08182 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xddb49f1a dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1e0620a rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf419ad90 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf908015a rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf985eaad dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa399f58 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xffe97646 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0179643e ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03433a35 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03d58598 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x05727ee6 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x09cf7170 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1055d91e ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x11652809 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1dcd73e7 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x22c26014 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x29481b92 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e8f4f0e ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x315a1152 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3471a696 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x376231df ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3af92f8b HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42f93cb1 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x436c1aad ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x498ec7c1 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5578b0e0 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x57b39c7a ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x58ee31f7 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6106764d ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x65963e49 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x745c90ad dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x82235ba9 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x89d2fb87 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8a60bfc8 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e904823 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90151de6 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91f6815a ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9337462b ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9aa594b5 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9ef5cc48 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa3ba535c ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xacccc0a7 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb9c22489 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbd72e71d to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf6ebbe7 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc30d0154 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 0xcc38fcd6 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcddbe794 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd0b6b873 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xda8f1034 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf36b6d3 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe58bb4be ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeea8a67f dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xef914056 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf2a0e351 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf38eaa76 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf7173900 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfd0b5dbf rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfd21edc7 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xffa7ba47 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x07c47596 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0d68191c iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1011d6da iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x101b63e0 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x130cb12f iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1985e60b iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x24fa00aa iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x287918d6 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3242ae3c iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x326edc9b __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x32e3e260 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x391b7633 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4919e19d iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x599335e2 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x61274ecf iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x792bee61 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x845bda18 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x86a1f23d iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9879ff2c iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9e47163f iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa219d85d iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa61ada55 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa6256681 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa96e36d8 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaa480b64 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc602cb43 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc8f747d8 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd0284323 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd77478d7 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xda7fe7a8 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdabfdc7d iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdc503f91 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe433bb0b iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe684f752 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe6f5daad iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe70d532d iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe97f050a iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xec4d9c53 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf022cca3 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf1506ae5 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf54b226e iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf6919465 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfa680d97 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfe88cc25 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/target_core_mod 0x007089fb target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x01f7f753 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0d560a96 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x10ce2160 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x15136969 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x160ecd05 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x16522368 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x16de62c2 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x171841a7 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e348a07 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x20a9eaef target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x20e1d416 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x219d6cf5 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x23cc5e8e transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x29169c78 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a0d13af sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c56da8f passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x31d2a1a2 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ea23da8 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x4236f0aa transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x44dfd324 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x467f8852 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x47d76b30 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4ca6d456 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4dcdb7ea transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x50e919a9 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5615e99d transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x5d1f002f target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x60c5650d sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x61ea1e3c transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x63a3d95b target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x69b53931 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x71faa618 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x75d2a6e3 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x77b9b7d4 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x849622d0 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x85c3c5d8 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a12fc77 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x90b9edd1 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x951f6b86 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x99768f0e transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e976e48 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xa103c98c __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa1d5d605 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2f8ca19 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xa693366f target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xb809001f core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbdb5c32 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc0945a7 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc1c070c target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xbcc5082b target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0a7f8b9 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xc36ee751 target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd01dc915 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xd165fa74 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xd33b0143 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xd41a7a24 target_submit_cmd_map_sgls +EXPORT_SYMBOL drivers/target/target_core_mod 0xd449bae0 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xd5ffcd2c transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xd602bb32 target_sess_cmd_list_set_waiting +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcf48d9d transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcf4cb70 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xdd2afeb1 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xdfd53ea4 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xe1b3c868 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xe28d60be target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xe4def46e transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe7c188c1 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xea58c083 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xebc82709 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0xefd998ff target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xf04da2bd transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0fcbf8f transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfab44961 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xfe9a2d06 spc_parse_cdb +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x2cc10cdc usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x40a6181c usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xfa7ba1cd sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x167eea28 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2a303aa5 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x37d3934c usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4bc26d5f usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5c2d4492 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7dfffbfa usb_wwan_get_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8739c6fb usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xadba2b1c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc0fbea4a usb_wwan_set_serial_info +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeca3e5da usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeed8376e usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x4d0f18e7 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x93911a08 usb_serial_resume +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x0c505bac mdev_get_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x17b77207 mdev_uuid +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x2229f07d mdev_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x25f8d1c8 mdev_set_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4b2a0ce0 mdev_from_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x82ede6de mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8ef0f4ed mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9231c945 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa073d91d mdev_get_iommu_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xadad0ac9 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xf641e8b7 mdev_set_drvdata +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xf928f546 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x1aa9fba0 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0x48a81d7e vfio_group_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x7834defd vfio_group_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x800b1c95 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0xa4ea88f6 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xf97a9bd4 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xfc7c9d5f vfio_unregister_notifier +EXPORT_SYMBOL drivers/vhost/vhost 0xbf91cb7d vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vhost 0xea404467 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ecc1eea vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x44d6f41b vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4b6a6e23 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4d0529ee vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x56f694fc vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x58bc86ac vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5aa88061 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5e47ee29 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x6d95262b vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x80ad788a vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x85665842 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8701069c vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8bfb5a2b vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8d40c6f4 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x8e78a074 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x91b5a92c vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xac2d6746 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xaf01a583 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xbf4f4fbd vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd3a14d7d vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe544457e vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xee1c7df3 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xf1bbb2ad vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf6784994 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xff6e6a53 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/video/backlight/backlight 0x088d14ce backlight_device_set_brightness +EXPORT_SYMBOL drivers/video/backlight/backlight 0x0fc0820e devm_backlight_device_unregister +EXPORT_SYMBOL drivers/video/backlight/backlight 0x2f70d49e backlight_force_update +EXPORT_SYMBOL drivers/video/backlight/backlight 0x5c409135 of_find_backlight_by_node +EXPORT_SYMBOL drivers/video/backlight/backlight 0x6bf19014 devm_backlight_device_register +EXPORT_SYMBOL drivers/video/backlight/backlight 0x8acc2716 devm_of_find_backlight +EXPORT_SYMBOL drivers/video/backlight/backlight 0x8d60834a backlight_device_unregister +EXPORT_SYMBOL drivers/video/backlight/backlight 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL drivers/video/backlight/backlight 0xc5ccfd73 backlight_device_get_by_type +EXPORT_SYMBOL drivers/video/backlight/backlight 0xd8c8ed51 backlight_device_get_by_name +EXPORT_SYMBOL drivers/video/backlight/backlight 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL drivers/video/backlight/backlight 0xe838ab3a of_find_backlight +EXPORT_SYMBOL drivers/video/backlight/backlight 0xf8e3296c backlight_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x86b4d66a devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x892ce939 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb06d6044 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xdbe1ab32 lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1a7754b1 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x256c8dda svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x439e43c0 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83e46a1d svga_settile +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 0x9b57f8a0 svga_tilecursor +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 0xf0d1c7b9 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xfcb43552 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x2d8d0a47 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0xfbd5c6c9 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xef8778da 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 0xc7584ef8 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x41f3e47e mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x8f466d6e matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xb2c625be g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xb9698cc0 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x2a71ad9f matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x9506abe6 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x96d2ad8f DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xbcbbb54b DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x0d624db0 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0xefd8caf7 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x1c0d026f matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x2d2e897d matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x4222928e matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9021beec matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xb08bc533 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xd03261cc matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x344232e9 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x3f28a9c1 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x47d74982 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x6760577c matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7e4e1d6d matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +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/w1/slaves/w1_ds2780 0x1ca3cbea w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xa17edd0d w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x333903c5 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7c7c8da7 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x562ab662 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x6380af17 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb5b7ab63 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xe639c1b2 w1_add_master_device +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0x3c9e79fa bd70528_wdt_lock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xc3941a52 bd70528_wdt_unlock +EXPORT_SYMBOL drivers/watchdog/bd70528_wdt 0xc9bf0ef8 bd70528_wdt_set +EXPORT_SYMBOL fs/fscache/fscache 0x051625a3 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x18c594b2 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1ae6a53c fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x1c93c932 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x2ad2fda6 fscache_operation_init +EXPORT_SYMBOL fs/fscache/fscache 0x34be7e68 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x4e5b76e8 __fscache_disable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4eb4da76 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x56a157e0 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5e0eb8a0 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x6065622c __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x66a96ace fscache_object_retrying_stale +EXPORT_SYMBOL fs/fscache/fscache 0x68a0d10e fscache_op_complete +EXPORT_SYMBOL fs/fscache/fscache 0x6f438c8b __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x803761df __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x8316d4c5 __fscache_enable_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x83b067ca __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x86cc391c fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x8c0e5712 __fscache_wait_on_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x969471b3 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x972f9444 fscache_mark_page_cached +EXPORT_SYMBOL fs/fscache/fscache 0x9ba254f2 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x9cdc5645 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xa03215b6 __fscache_readpages_cancel +EXPORT_SYMBOL fs/fscache/fscache 0xaf9095c3 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb4d0812c __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0xb97ef921 __fscache_check_consistency +EXPORT_SYMBOL fs/fscache/fscache 0xbb8b4fba __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xbe08f711 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xbeb59b36 fscache_object_init +EXPORT_SYMBOL fs/fscache/fscache 0xcc3ddda2 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xce3037ab __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xd37c2d3a __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd9e491b7 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xdd98d774 fscache_object_destroy +EXPORT_SYMBOL fs/fscache/fscache 0xe6c509d5 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe79115aa __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xef625d56 fscache_object_mark_killed +EXPORT_SYMBOL fs/fscache/fscache 0xf41cb370 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xfdc16090 fscache_init_cache +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x05b25c99 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x065e1ea9 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x116a7953 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x19015c99 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x441cc19e qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xcc3ccb7a qtree_entry_unused +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crc8 0xe2aae5cc crc8 +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libblake2s 0x7bcc24fd blake2s256_hmac +EXPORT_SYMBOL lib/crypto/libblake2s 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL lib/crypto/libblake2s 0xadae6df8 blake2s_final +EXPORT_SYMBOL lib/crypto/libblake2s-generic 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x1c679fe2 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xa6f8fe73 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xaced78c8 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xbaf4d923 xchacha20poly1305_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 0x4dba97c6 poly1305_core_setkey +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +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 0x89c492c5 lc_seq_printf_stats +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 0xccd898c9 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +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 0x1046f6bf raid6_empty_zero_page +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 net/6lowpan/6lowpan 0x519c318b lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xb8e1ab06 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xbe814081 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc9e51a21 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xdffcf638 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xeb4840f6 lowpan_nhc_del +EXPORT_SYMBOL net/802/p8022 0x16f60773 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x621761a7 unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x096d6d32 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xdb07b04f unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00fa9ce2 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x0d0c49c1 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x12535d56 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x185533e2 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x1b4f192a p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x1d92d455 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x1ebb0c27 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x22250931 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x2572f58a p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x38d1c321 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3a659219 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x3b674af1 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x3d303661 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3fed9cae v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x41a989b4 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x4327a31c p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x47b160c2 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x5794897c p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x5fbf587a v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x6426b9c3 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x7a32067a p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7c9f3a46 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x82f63ba5 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x950e0850 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0xa450da2f p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xa5dd6924 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa90d6157 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xac20fd8d p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xadbfe0c4 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xaedae3cc p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb3d1eda2 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xb46a5d0f p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xbf17ca9a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xc0025bcc p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xc304f14a p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xc9238912 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0xd2a5f6c6 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd8a6e2e2 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xdacd7cea p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe00aae96 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xe151ade0 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe888687a p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xeb133c42 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xffa781f3 p9_client_create +EXPORT_SYMBOL net/appletalk/appletalk 0x14289113 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x14bd40ea atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x325f28cc atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x8e446680 aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x0c69c170 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x18be01ef atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x19202f40 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3af1720c atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x3f5be36c atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6fb40c75 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x74746ac0 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x77d6447b atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xcc5d3881 atm_charge +EXPORT_SYMBOL net/atm/atm 0xeddf06bf vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf79746bc vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xf8965930 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xfac5ae25 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xfd7c55d0 atm_dev_release_vccs +EXPORT_SYMBOL net/ax25/ax25 0x00f6c78f ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x0aa2345b 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 0x2b157a7e ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x46639d5f ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x78cd5afa ax25_send_frame +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 0xd7c4ce24 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xdcb91f30 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xfbd53546 ax25_listen_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0719004a l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08452c76 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0d8753e4 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x141b332b bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x20ec774e hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x217567f9 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x28eb93d8 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x293efd7b bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2a2ebbba hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x35b3cc34 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x394efb24 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x40adf69d bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x416ebad5 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4666603d bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47d1ce4d hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49b422c7 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x54a2e9e8 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x55eff4f9 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x62e3ddba __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x695a5cff hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f4078f6 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x730d207c hci_reset_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 0x7d928e67 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e1279c0 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x844c6054 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x85de72a6 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8af58f95 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b146791 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x958a79ef l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x985b6ed4 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x998c307d hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cbfa6e9 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa615613f hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa67f5cb9 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb9f97649 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbfb347c8 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc00a4ffc hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc20c5fd3 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3456797 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd952a014 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdad67d5a __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe27f1407 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea5dfa08 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xefdd4669 bt_accept_unlink +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7b6ecf79 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x89cdbdff ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf109c2d5 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf755fd7a ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x2ac3646c cfcnfg_add_phy_layer +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 0x458e60c4 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x59afac51 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x7b87022c 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 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xee3c3678 get_cfcnfg +EXPORT_SYMBOL net/can/can 0x02377e29 can_rx_register +EXPORT_SYMBOL net/can/can 0x0c7eceae can_rx_unregister +EXPORT_SYMBOL net/can/can 0x22fc8192 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x2e5c0f73 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x3b53d86a can_send +EXPORT_SYMBOL net/can/can 0x49f95317 can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x0126d6bf osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x01417e5a ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x0146b81e ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x01964726 ceph_osdc_copy_from +EXPORT_SYMBOL net/ceph/libceph 0x02003715 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x0a526618 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x0ac57bd6 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x0b61d1fb ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x0c5250ce ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x0d2f748c osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x13649b2d ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x140afdcf ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x17fd714a ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x1877d164 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x1c0258aa ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x1c5ea079 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x1cfabf04 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x1e595778 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x216d08e0 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x22873afd ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x22986d67 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x231f903e ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x23805caf ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x2976cc6e ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2f0c8882 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x30377ff2 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x32447a42 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3abfd348 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3ecbc65c ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x3ef74bef ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x40b66c29 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x4ad6cd5c ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4ad817ff ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x4c96759e ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x4cb1d008 ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x4d368cd9 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x4d6184db ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x4e7669b9 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x503b54cc osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x57b77db9 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x58bbf20f ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x59255203 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x5a858348 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x5ac99b1c osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x5ae335e7 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5bbddea2 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x62c8d921 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x62e7a273 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x63c9b4c0 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x69ed450e ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x69f32143 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6aa92665 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x6fdd0c7e ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x7071a49f ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x7079c532 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x71a94478 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x73168001 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7358e4c4 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x7457cdf5 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x76f65b92 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x7cb20c4c ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7d479fc9 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x81558214 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x823ece58 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x82afc18b ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x88678257 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x8f449743 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x918759fd osd_req_op_xattr_init +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 0x9ed8375f ceph_auth_invalidate_authorizer +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 0xa1db1b77 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa45acfe0 ceph_messenger_fini +EXPORT_SYMBOL net/ceph/libceph 0xa4ea05c1 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa6b90c2e ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xaac317cb ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xabc34057 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xadbea825 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xaf27ed71 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xafe2dc08 ceph_monc_blacklist_add +EXPORT_SYMBOL net/ceph/libceph 0xb0a182a3 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0xb442e924 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6d0c6a3 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb8d30c90 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xbb660e89 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd8c1313 ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc83433dd ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xc8a3fae9 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xc9d24f19 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xd301602a ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd888457a osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xda71485b ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xdaa898f4 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0717e08 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xe17b110d ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xeb82234d ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xec481d0a ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xec4937c7 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xec587d0f ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0xeccfe1c1 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefa68af1 ceph_destroy_client +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 0xf0da6195 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xf1bb3fca ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xfb4cd701 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xfbfe1520 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xfccffd06 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xff7cc399 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xff921060 ceph_msg_put +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x9bf3a733 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xeedfb293 dccp_req_err +EXPORT_SYMBOL net/dsa/dsa_core 0x351e7324 dsa_port_vid_del +EXPORT_SYMBOL net/dsa/dsa_core 0xd08bfc15 dsa_port_vid_add +EXPORT_SYMBOL net/ieee802154/ieee802154 0x23a47b27 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x69e8e86f wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7f20fa84 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa1f9beb8 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa2c7dee8 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe41614ee wpan_phy_new +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x607ebb28 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xec214b39 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x9a89f48e gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x286726de ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x4060e209 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x556db985 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x83d3484b ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0aaef3e7 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x5806aaa9 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9de06586 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xd79f1ab8 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3fb4dcdb ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x64e15c09 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7355a546 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x89288f37 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xc3da1705 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x1cc081ae xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xef066ea0 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xcb8ce5be udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1ea22937 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x23a5be8c ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3a7e94a8 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6d8449b0 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x84ae5895 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xaf479da0 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xbfd7d0b9 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe0dbf140 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf586f71a ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x0202b210 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8b4038ac ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa1036a46 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb72992da ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xdbf5c016 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x782b7c75 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x884219e0 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x39b26cdd xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xd227a2f1 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/l2tp/l2tp_core 0xb047dbd9 l2tp_tunnel_free +EXPORT_SYMBOL net/l2tp/l2tp_core 0xc249ff1c l2tp_recv_common +EXPORT_SYMBOL net/l2tp/l2tp_ip 0x3f6d1da5 l2tp_ioctl +EXPORT_SYMBOL net/lapb/lapb 0x1d0ad4b2 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x8d74b19f lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x8d86993a lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x9d9de78f lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xc1933fd8 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xd7c8fad0 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xe9933943 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xef9f4303 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x13b96937 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x285b76d8 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4f0135dd llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x557097d2 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xac035119 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xc1f2d4f5 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xfef9cb54 llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x032ac857 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x055db65a ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0728a7af ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x0b22c03f ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x0f3ad50c ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x1396af4d ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x13d5899f ieee80211_stop_tx_ba_session +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 0x1be4ace7 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x1dd199cf ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x20c809e8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x23eea6af ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x249346c3 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x26829897 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x26cac29e ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x29973173 ieee80211_csa_set_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x2a8e1a08 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x2b21085f ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x2b39d273 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x2ffee9c8 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x338fcdd2 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x3fd35d3c ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x43d2ad4d ieee80211_csa_update_counter +EXPORT_SYMBOL net/mac80211/mac80211 0x47242ccf ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x48438583 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x488de876 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x4bcd0991 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x4c4a9d1e ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x4e7ab534 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x50a3ed9f ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x57996df8 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x5d2a95fe ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x60e6c6cb ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x6761d1f3 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x6863930e ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x6fe7f3fd rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x70b023fc ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x74aff83a ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x765e11cf __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x77e58fab ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7949f644 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x8050a4c8 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x80bef630 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x81f53782 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x86c73310 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x8a3bb433 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x8ea65e7e __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x8fdbfff2 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x8feab52f __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x91b7e7d9 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x92c1c960 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x95cdd894 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x96c2fc37 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x9910a340 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9bc65b06 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa00fac6e ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa79a4a26 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xaa43404e ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xaa5bd0bf ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xabddd9c8 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xaf80c48a ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xb8fc8ed3 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xb9eaf2c7 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xbd128e2b ieee80211_csa_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xc010530a ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0xc0e399bc ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xc1408a2a __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc3b71518 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xc97f955a ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xca9f32c3 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xd02a31e8 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xd05c140a ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xd0c11831 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0xd22b52a2 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0xd300edbc ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xd44a9f04 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd51c2e22 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xd5ea85b8 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xd845355a ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xdac336de ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xe133d464 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xe38d7de9 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xe419904e ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe62f527b ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xe91ed47b ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xeaf0c6b8 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xeb94fcf8 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xee4af9f6 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xee5029ba __ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xf09cb926 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf15b9b94 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xf741563b ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xfb0f7345 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xfc2fcf48 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xffe28b1f ieee80211_set_hw_80211_encap +EXPORT_SYMBOL net/mac802154/mac802154 0x04f35473 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x25f98865 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x3d3dd749 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x48d71611 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x84061d63 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xa7fc0323 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0xb059f7f9 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xb15cbfc9 ieee802154_stop_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x32807082 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x48f072dc unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x49b2bd06 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4c284f76 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x65b4bfc1 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x77e90f68 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x88165154 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8c4a6b63 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x90361f17 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x995794f2 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9ef9d78c register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xad9cbb19 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc7ae07f2 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe6375492 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xed7afa28 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xb7b3fe6e nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x2a385560 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x53388cde __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x6432c273 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xbda14d31 nf_xfrm_me_harder +EXPORT_SYMBOL net/netfilter/nf_nat 0xda9829fa nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xe8203072 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x01009181 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x20ac9ee4 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x39e68cea 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 0x57eeb384 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x6a411110 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xbb9a4a0b xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xca352f74 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xca67dc4b xt_find_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 0xf7f31591 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x138b8264 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x41c33aec nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x54747074 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x582a6d48 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x58b3aa85 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x67e1508f nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x7341fbf5 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7f9b51ac nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x85bfd4fc nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x931a01da nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x9ff3f908 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xc09735d8 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xc148eed8 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xc39723eb nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc3c7dbd6 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xd087e50b nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xd0da3d24 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xddf7523a nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xe02774e7 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xebab9f3e nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0xf22ca335 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x0bc0e1a2 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x0f20ba4b nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x2d2be05e nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x313d4805 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x499e0e32 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x4cf811a9 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x526cdc03 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x556795f6 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x676f83e7 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x6a476829 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x6ba126ef nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x6e566b48 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x74de5b6b nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x76f882b0 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7e15768b nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x83ade780 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x8f2a56ad nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x9872db16 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa632f66c nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa67312fb nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xb46b8d02 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xb829a4fd nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbe76c0c8 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xbf46aea5 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0xcd79fce7 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0xd366d26d nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xf076da22 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf7e4940e nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xfee45275 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nfc 0x03bd24b2 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x04dd3023 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x30e65dd3 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x3cf716e6 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x424d2115 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x4c4a195f nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x51d0aa1b nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x56f34334 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x61e6c0df nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x62969322 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x7c8f4917 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x7ccee342 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x817377c2 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xaae8d8a6 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xb7c24cda nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xbf0632ba nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xc6d381e6 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xc8489209 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xdf3590bc nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xe9bc3174 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0xeb16a0b5 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xef32d321 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xefc2263a nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xf5ecbfe4 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xfc1c7ca3 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc_digital 0x02a6de1b nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x3298d747 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x812c47b0 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd613b37f nfc_digital_free_device +EXPORT_SYMBOL net/phonet/phonet 0x397a561a pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x715698eb phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x81b74e2b phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x86c4bee7 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x961d11f1 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x9b703ccf phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x9c8d7b79 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xb6e5a780 phonet_proto_register +EXPORT_SYMBOL net/rxrpc/rxrpc 0x012e936a rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x125453c8 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x254a6686 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x379eccb7 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x39564320 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3e92558b rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4edd0aa7 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6849b2b2 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x723b6bfb rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x80b3155b rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa1e475b0 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa4175da4 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb8c24395 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbae7e420 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc25b59cd rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdac7862b rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xee13f3db key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf1150dda rxrpc_kernel_recv_data +EXPORT_SYMBOL net/sctp/sctp 0x072b0f2e sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x2e0b7679 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x303f5a05 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x329bb3c7 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x678e2e6b xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xd3724c7e xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xd5b67e35 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x207a2826 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x5686a0d9 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x6e9702af tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0xeda98ec8 tipc_dump_start +EXPORT_SYMBOL net/tls/tls 0x78fe36f3 tls_get_record +EXPORT_SYMBOL net/wimax/wimax 0x803b1f9c wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0xce2fc872 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x01e6c47c wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x07ffb299 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x09af01f5 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x0cf71cb5 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x131d23cc cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x174ca9f3 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18937c03 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x18b53545 cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x213bda0d ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x26cce0fa cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x26d64664 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x280a3fb2 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x28446f90 ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x2ff1ca05 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x350c545d __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x37338f25 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x37625887 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x37690db0 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x37f89c69 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x38c6422b cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x3bd8aaa1 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x3d7ba29d cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x3dc67ffc ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3ea191d6 cfg80211_sched_scan_stopped_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x405cf016 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x414cc7ab cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x41baa6d6 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x43f5efcf cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x44b183b2 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x46312808 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x47874589 cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x484d7c8a ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x49f77734 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x4c5d0eb6 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4f982422 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x50c4301f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x52c8ddf9 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x576d2b5c cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x59f15f26 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x5b8bbe20 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x5cdff7a1 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x5dddbcd9 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5e010f0f cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x5f1e3b91 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x6607fd03 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x67d86dcd ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x68600c40 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x690c255d cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6a2d2a87 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x6bd3b98c cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6d392fd3 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x6d7b9970 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x709699cb cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x7337d9e6 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x74dc3edb cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x772e2e4a cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7808927e wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x790277bc cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x80ce9ac3 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x81a471d6 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x81a832e5 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x87b1a2ad cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x8a92a297 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x8e1b8ce1 regulatory_set_wiphy_regd_sync_rtnl +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x97741ea4 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9eac6327 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x9f87a5fa cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x9fded1d0 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xa23938d0 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa2c71586 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0xa2def967 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xa4ca788d cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xa67814bc cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xa7a914e2 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xaa347636 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xac97a207 ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0xad5eedb0 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xaee1b66c cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xaf57b596 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xafe8b001 ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb07b5c22 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xb0fc0c8d regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xb6030c01 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xb9f5f88d regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xbbb1f376 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xbd5a37c2 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xbdd06b57 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xc1c6f307 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xc7a3f5cb cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0xca1c22a4 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xcadef676 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xcc0ab6d1 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcdd448d4 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xd2932d04 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xdb99e402 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdd31fa26 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe143d70d cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xe438dae2 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xecca8e8f cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xf54c016d cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xfae8514f cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xfb9d17ff __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xfbf1f0db cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xff0c113a ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0xff78f213 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/lib80211 0x214a1dd2 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2df08c2b lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x55b01043 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x85034746 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x876d29c0 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xac54dcfe lib80211_crypt_delayed_deinit +EXPORT_SYMBOL sound/ac97_bus 0x4a6e68e0 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x0e0ec623 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x0bd80a62 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1415c23b snd_seq_kernel_client_enqueue +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 0x4219c67d 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 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe8a8bdf1 snd_seq_event_port_attach +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 0x16bc6a45 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x42d821dc snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x98ff8f52 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xa44834c7 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xa53c5655 snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb26584ef snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe3d90c8b snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x91401f20 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x05f99045 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x0ad82754 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x0b3bda9b snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x0ffa9a11 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x152037ac snd_device_new +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1aa05ac1 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x1fe39d57 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x242270a2 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x25fa65c9 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x267549dd snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x28a8f414 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x2f03f020 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x33b5531a snd_card_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 0x3ca1821a snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x413db343 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4f9335c8 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x57f4dc1d snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x64437641 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x674d6936 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x6faee59c snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x765ade59 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x78e7fe5a snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x7c17c8e2 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x7ce3256c _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x838f5cee snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x90bcbe1a snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x96ddc7f9 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x96df2ebb snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xab1866e3 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xae250121 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xb015d0e9 snd_register_device +EXPORT_SYMBOL sound/core/snd 0xb1535fed snd_device_free +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb366622f snd_card_new +EXPORT_SYMBOL sound/core/snd 0xbaa97a2e snd_card_file_add +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 0xceb02e6b snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xd6117a54 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xdbc59782 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xdc10672f snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xdf34ce4e snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xe4a8a72f snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xefbd06ee snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xf27fed6c snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xfba3de41 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xfcc0d4d2 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x8a29c29d 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 0x07c79881 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x09c55d92 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0b039180 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x0d0d6cb1 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0e94aeac snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x1c984a39 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x1c9f99ac snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1eed2424 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x214d93ca snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x2e84a860 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x2fef1ee8 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39aed731 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3c8c9f10 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x3ce4e902 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x40400930 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x48fe6737 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4e9e109c snd_pcm_period_elapsed +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 0x535b1637 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x55c321f7 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x60271199 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x6070d72d snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x65029919 snd_pcm_hw_refine +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 0x6e00552f snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x6fe81150 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x78e4e84e snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x7ab53b7e snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x7db458c7 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x7ebca2d4 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x84255c3e snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x85ba77f8 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x8f570b27 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x9129309b snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x991c0c8f snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xa3e82505 snd_pcm_new_internal +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 0xb73467bf snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xd717468b snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd8c35c34 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xeae96574 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xeafc136c snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xedf7feda snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xee476a11 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0xfe6cfe42 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0ba398b0 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x14946c03 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1601350d __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x24a2f9c7 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x28b04918 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x57cfdc9a snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5d26e950 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x62c29515 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6583cf83 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x688c7bde snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7b1d7ad8 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x86e67d79 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8ae450c7 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8af726e7 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x94d80da4 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xafe1886f snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb3ffe107 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcaf47fef snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcec52fa9 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe2aa27ba snd_rawmidi_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-seq-device 0x77115aea snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x0c333281 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x0cdff70b snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x24145903 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x2b9e56aa snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x37424f0c snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x4f4cbe05 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x52c4f122 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x6c8ea8e9 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x6cf80485 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x794a5445 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x9b0ea92d snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xa3aeff9b snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0xa93c9f44 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0xaea4315f snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xc4a50c80 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 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xfef11e27 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x081aeb57 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x280ff63a snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x30ad8e75 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7c08b5e1 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7d3d67c2 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8de185b7 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x95cdcb57 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9ef632f3 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xbbca7e74 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x08532326 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 0x376fcdc1 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4b5b383b snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x614a47e1 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xef78374e snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfd89d8ba snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xffa6c08a snd_vx_free_firmware +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x17cb71af cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x33a0653a cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3a816e78 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3c152901 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4670392f avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4a0def2e amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4b5cd6d4 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x60b22838 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x734d1a18 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x73b8f36c cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x75b645e0 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x79556eb6 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7a322eeb avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7d5e7f75 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x827915f1 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8321d57f cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8f6764cd fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x95c0e48b snd_fw_schedule_registration +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa73947f2 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc12e4cb6 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1efadee amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc2dc054b cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc873c044 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd6954ec9 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd8fc4b32 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdb4e46d1 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdd280aa6 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe5d995ff fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfaf61b98 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfd9eefe7 snd_fw_transaction +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1e4d7577 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3c12cdaa snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x50e16a77 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x842d7a95 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x9345cdb1 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xfacc00c1 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x748226f3 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x82446ba2 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x9fc79e32 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xe4a438e1 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x207a9a40 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xcac06ddc snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0a900da7 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x558ac133 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5cd06155 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x862dc9a0 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbf98fbe6 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc2fc8259 snd_i2c_bus_create +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x05a8162a snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0b58a851 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1aebf948 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x274e9e29 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4d27f5be snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x62e0e84f snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x97708ae9 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9d99b4a8 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa125137f snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa52af4c3 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa66351b8 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa8006788 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc5b54204 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe723abfb snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf0594327 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xb3504b5c snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xb6728d88 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xe3298fea snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x01525255 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0b0d57f6 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x21bbb807 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3080e7fb oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x41bcba78 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x44ec6898 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x61a3c811 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x77f00bd0 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x814c4341 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x83526e1c oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x838ce838 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x84210a36 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8b73bcf1 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8f6d0ab5 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa71648e3 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc8c3878 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc299bf8b oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd14df9d4 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdd3771f4 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe699ff19 oxygen_write16_masked +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x13047a77 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xa91f7656 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x0b88092a tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x71a238c1 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7e13e378 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xe2723191 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xe65a64d6 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/snd-soc-core 0x1e0431d1 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x12cd5f0c snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1e7bbb43 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2140a7d5 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x23e4e73f snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x288ce2a3 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ad88718 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ebfbfb2 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2ee1f92f snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x30e6a1cf snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x310f69b9 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x354ea6c8 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3a534a77 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3e359eaa sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x40ab32c7 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4241ab1e snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x49a6a3f0 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4b46e45f snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4c82d7b7 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x53741615 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5ecc7868 snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x608ba048 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6515dd85 snd_sof_ipc_valid +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6cbb58b6 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6d48f321 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7fd429e9 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x847595f9 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x87950bfb sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x993b8ce0 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9b552462 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9c09cbac snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9feff3d3 snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa7c448dc sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb2be97a4 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb38e957c sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb39f148c snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb3c0f834 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb4c900aa snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc0f01dfc snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc1896dd3 snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc26bdae4 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc5dd0773 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc6688aaf snd_sof_release_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcb8205f2 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd2ba5816 snd_sof_ipc_set_get_comp_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe2260ef8 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe2ff6170 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe36401fb snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe476bb29 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xeb27ea42 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xefe5a883 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf11f8327 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfa137b53 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfe760f6b snd_sof_dsp_panic +EXPORT_SYMBOL sound/soundcore 0x4cacdabf sound_class +EXPORT_SYMBOL sound/soundcore 0x591aea86 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6f3878be register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x831ae3c2 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbca776c4 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x5bad155a __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 0x0009208b __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x0056288d vif_device_init +EXPORT_SYMBOL vmlinux 0x0069cb3c __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x006ecfcb bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x0075af1e iptun_encaps +EXPORT_SYMBOL vmlinux 0x007ea450 sk_dst_check +EXPORT_SYMBOL vmlinux 0x0095c60e thaw_bdev +EXPORT_SYMBOL vmlinux 0x009e7e07 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x00a5aefa tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x00a5bf16 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x00b429a9 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00de71e4 generic_setlease +EXPORT_SYMBOL vmlinux 0x00ec7a88 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x00f5b4e0 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0136b5c2 ___ratelimit +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0151e963 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x0153c037 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x01553371 vm_brk_flags +EXPORT_SYMBOL vmlinux 0x015af7f4 system_state +EXPORT_SYMBOL vmlinux 0x01606373 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x0175c992 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x01779eec netpoll_setup +EXPORT_SYMBOL vmlinux 0x01790e94 csum_partial_copy +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 0x018d8884 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x019cecf2 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x01b91de4 sbi_remote_hfence_vvma +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01da89cc inet6_ioctl +EXPORT_SYMBOL vmlinux 0x01db5a97 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x01e769d6 __next_node_in +EXPORT_SYMBOL vmlinux 0x01efabaf unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02173c98 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x022aefc1 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x0249ccfd wireless_spy_update +EXPORT_SYMBOL vmlinux 0x02524486 padata_stop +EXPORT_SYMBOL vmlinux 0x025483b1 set_current_groups +EXPORT_SYMBOL vmlinux 0x026245e1 map_kernel_range_noflush +EXPORT_SYMBOL vmlinux 0x026927db unregister_shrinker +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027c9bb0 swake_up_locked +EXPORT_SYMBOL vmlinux 0x02812efa fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x028f43a5 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x028f9b1e i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x0298dcba xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02b9f1dc unregister_qdisc +EXPORT_SYMBOL vmlinux 0x02cc9561 inet_shutdown +EXPORT_SYMBOL vmlinux 0x02ea111e scsi_driverbyte_string +EXPORT_SYMBOL vmlinux 0x02f4f9c2 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x0330acfe locks_init_lock +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03350ea2 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x033a8e8b disk_start_io_acct +EXPORT_SYMBOL vmlinux 0x033b86c2 PDE_DATA +EXPORT_SYMBOL vmlinux 0x033eb52e simple_open +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x0371db54 idr_for_each +EXPORT_SYMBOL vmlinux 0x03738f03 input_grab_device +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x038d7fb4 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039e6188 skb_seq_read +EXPORT_SYMBOL vmlinux 0x03a0cc81 km_policy_notify +EXPORT_SYMBOL vmlinux 0x03bed239 xsk_umem_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x03d5a2cb eth_header +EXPORT_SYMBOL vmlinux 0x03d877f7 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x03fcb79f kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03ff7b4a pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x042a59dd d_set_fallthru +EXPORT_SYMBOL vmlinux 0x042b0a1a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x043cfe12 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x0441a710 of_node_get +EXPORT_SYMBOL vmlinux 0x0447b8c4 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0470e661 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x0478618c vme_register_bridge +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x049c6d0d pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x049daaf3 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04c74223 vme_bus_num +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f60a21 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x052f83a5 xattr_full_name +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0544bcce inode_insert5 +EXPORT_SYMBOL vmlinux 0x0545dedc config_item_set_name +EXPORT_SYMBOL vmlinux 0x057f4d35 set_posix_acl +EXPORT_SYMBOL vmlinux 0x0581106a truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x058f7ffc phy_stop +EXPORT_SYMBOL vmlinux 0x059fccc3 tcf_block_put +EXPORT_SYMBOL vmlinux 0x05a30b2f mutex_is_locked +EXPORT_SYMBOL vmlinux 0x05c07c98 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x05cbbc27 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x05cfddd5 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x061148da jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061c7fb5 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x06335954 del_gendisk +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x065246b8 frame_vector_create +EXPORT_SYMBOL vmlinux 0x0658521a __frontswap_test +EXPORT_SYMBOL vmlinux 0x066316e9 eth_header_cache +EXPORT_SYMBOL vmlinux 0x066783f6 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x06794bb6 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x06930f0c scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x06b31922 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x06bcb149 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x06c8f2de slhc_compress +EXPORT_SYMBOL vmlinux 0x06d9d423 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x06df12b9 dev_activate +EXPORT_SYMBOL vmlinux 0x06df7d83 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x06e15516 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x06e7d908 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x0701829f of_n_size_cells +EXPORT_SYMBOL vmlinux 0x07020724 PageMovable +EXPORT_SYMBOL vmlinux 0x070ab1f6 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x071160a4 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x071945e8 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x0729c22f key_payload_reserve +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0751e949 md_register_thread +EXPORT_SYMBOL vmlinux 0x0762f62d set_cached_acl +EXPORT_SYMBOL vmlinux 0x077584b1 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x0776d287 of_translate_address +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07df5646 file_ns_capable +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07f8375c watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x07fa445d trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x0809ce72 scsi_device_put +EXPORT_SYMBOL vmlinux 0x081451f7 ping_prot +EXPORT_SYMBOL vmlinux 0x08193b4c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x08196563 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083cd204 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x085c90a3 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x085f1442 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x0867762d netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x08690bbf __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x086f06bc sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x0878a773 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088b494e jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x08d97d8e cdrom_open +EXPORT_SYMBOL vmlinux 0x08dac399 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x09014a16 sk_common_release +EXPORT_SYMBOL vmlinux 0x0945bbfe nvm_unregister_tgt_type +EXPORT_SYMBOL vmlinux 0x096ee8bd xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x09779218 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x097d4224 param_get_ullong +EXPORT_SYMBOL vmlinux 0x09824141 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0984b710 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09a065db mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x09a34a2b crc_itu_t +EXPORT_SYMBOL vmlinux 0x09b154fd scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x09c290ae finish_no_open +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09fe54cc vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x0a06a616 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x0a292872 reservation_seqcount_class +EXPORT_SYMBOL vmlinux 0x0a5f79f7 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x0a641088 make_bad_inode +EXPORT_SYMBOL vmlinux 0x0a69b7c3 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x0a7064f9 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x0a74e5d1 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x0a761e1b flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x0a888732 va_pa_offset +EXPORT_SYMBOL vmlinux 0x0a90bc93 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0aad752e _dev_emerg +EXPORT_SYMBOL vmlinux 0x0abcce1f io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae4a19b mr_dump +EXPORT_SYMBOL vmlinux 0x0b0a8228 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x0b0d560e phy_connect +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b25d247 skb_unlink +EXPORT_SYMBOL vmlinux 0x0b2c3e3c put_watch_queue +EXPORT_SYMBOL vmlinux 0x0b2cb334 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x0b494a18 km_state_expired +EXPORT_SYMBOL vmlinux 0x0b678748 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b8ceadd dev_trans_start +EXPORT_SYMBOL vmlinux 0x0b935474 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be31a68 mmc_add_host +EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame +EXPORT_SYMBOL vmlinux 0x0c1662f0 block_commit_write +EXPORT_SYMBOL vmlinux 0x0c167803 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x0c1fbf16 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c271021 gen_pool_create +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c950460 param_get_invbool +EXPORT_SYMBOL vmlinux 0x0c974a85 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x0c9b374a radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x0c9c42f0 dquot_destroy +EXPORT_SYMBOL vmlinux 0x0c9d5969 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x0ca9fcd4 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x0cb264a1 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x0cb2c207 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd11666 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x0cdc9408 mod_node_page_state +EXPORT_SYMBOL vmlinux 0x0ce19729 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0cee3483 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x0ceeb53a grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x0cf42369 devm_iounmap +EXPORT_SYMBOL vmlinux 0x0cf44d11 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x0d03c597 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0bcf00 __frontswap_load +EXPORT_SYMBOL vmlinux 0x0d217919 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x0d4524fa devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d5e0a2d tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset +EXPORT_SYMBOL vmlinux 0x0d6fab35 unregister_nls +EXPORT_SYMBOL vmlinux 0x0d76a228 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x0d9023a0 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x0d911a07 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x0d944636 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0dd463b4 seq_path +EXPORT_SYMBOL vmlinux 0x0dde5330 import_single_range +EXPORT_SYMBOL vmlinux 0x0dde90a2 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x0dea55f3 noop_llseek +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e24882a __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x0e27a2dd ZSTD_initCCtx +EXPORT_SYMBOL vmlinux 0x0e28a5cd mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x0e3c17c3 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e426554 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x0e4ea8bc i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x0e5b4c9f sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x0e5f8b1f uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x0e6b86ab xp_free +EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor +EXPORT_SYMBOL vmlinux 0x0e81ddf5 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x0e8c64f5 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x0eb0440d blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x0eb7b07e pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0eebb0e9 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x0efd6f24 lru_cache_add +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f13d1d1 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x0f26e739 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x0f57c9e1 default_llseek +EXPORT_SYMBOL vmlinux 0x0f84e6ec dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f888854 dev_add_offload +EXPORT_SYMBOL vmlinux 0x0f8f099b dquot_scan_active +EXPORT_SYMBOL vmlinux 0x0f9fac3a drop_super +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb29646 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fb6d803 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x0fce74bb inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fe695c7 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x0fe6f8cf max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x0ff85a4a blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1006ff0f blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x100f8319 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x100fbe69 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x1010ac75 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x10197d51 iget5_locked +EXPORT_SYMBOL vmlinux 0x102c31b8 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10371de9 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x103881a4 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x104cf80f dma_resv_fini +EXPORT_SYMBOL vmlinux 0x1055ab7f wait_for_completion +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x1059b8a5 clear_inode +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107df560 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10941782 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x109e5257 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x10a40705 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x10c6a13b down_trylock +EXPORT_SYMBOL vmlinux 0x10d2110c __pagevec_release +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10dd34cc tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x10f0d4ca dquot_initialize +EXPORT_SYMBOL vmlinux 0x10f8772b __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110dc5be phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x1114018b end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x112ccd30 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x113ec68b input_open_device +EXPORT_SYMBOL vmlinux 0x1142b124 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x114940f5 __cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x1166d5a0 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118bc755 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x119d9090 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x11d27972 revert_creds +EXPORT_SYMBOL vmlinux 0x11db619e mdio_device_register +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f47d8c utf8_strncmp +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120f5d03 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x121b62cf jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x12328af8 submit_bio +EXPORT_SYMBOL vmlinux 0x125523b1 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x1269c14e tcf_idr_create +EXPORT_SYMBOL vmlinux 0x1270bb36 __d_drop +EXPORT_SYMBOL vmlinux 0x1271bbc0 __do_once_done +EXPORT_SYMBOL vmlinux 0x1278221d ZSTD_compressBegin_usingCDict +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12b80b66 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d33848 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x12dc2a96 get_phy_device +EXPORT_SYMBOL vmlinux 0x12de6229 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x12efc460 ip_frag_next +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x130d46ea dev_uc_sync +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x1312c658 mmput_async +EXPORT_SYMBOL vmlinux 0x13207ac3 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x132a6df6 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x13529ca8 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x13558a51 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x135d264f mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x1366e5a2 rt_dst_clone +EXPORT_SYMBOL vmlinux 0x137122eb dqget +EXPORT_SYMBOL vmlinux 0x137c5860 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x137f3c6a __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x13817285 sg_free_table +EXPORT_SYMBOL vmlinux 0x138b36c6 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x1393f37d of_get_parent +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13bb8ebe neigh_table_init +EXPORT_SYMBOL vmlinux 0x13bf3079 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x13c6ec60 __neigh_create +EXPORT_SYMBOL vmlinux 0x13c9b8ca add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e08ad2 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x1402abc6 iterate_fd +EXPORT_SYMBOL vmlinux 0x1411d557 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x143226b7 pci_release_resource +EXPORT_SYMBOL vmlinux 0x14515f78 proc_symlink +EXPORT_SYMBOL vmlinux 0x1453cd3a block_truncate_page +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1468df1a fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x14720fc3 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x147547b7 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x147878e7 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x148d2e26 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x14c576a2 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x14ca2e76 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x14d60159 xa_find +EXPORT_SYMBOL vmlinux 0x14d8b955 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x14def800 inet_accept +EXPORT_SYMBOL vmlinux 0x14e32368 finish_swait +EXPORT_SYMBOL vmlinux 0x14e9422a scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x14fb2365 cmdline_parts_set +EXPORT_SYMBOL vmlinux 0x1501db9b complete_request_key +EXPORT_SYMBOL vmlinux 0x1509f028 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x152a6232 lockref_put_return +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x154db7e9 bio_clone_fast +EXPORT_SYMBOL vmlinux 0x154fb6f7 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x15654164 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x1572b9ee input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x157d157e vm_mmap +EXPORT_SYMBOL vmlinux 0x158320d3 eth_type_trans +EXPORT_SYMBOL vmlinux 0x158509e6 udp_poll +EXPORT_SYMBOL vmlinux 0x15ac6aab sock_create +EXPORT_SYMBOL vmlinux 0x15b47ae0 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x15b6b9a6 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x15bab38a param_ops_bool +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bd04bd vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c65e14 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x15cdbedd phy_detach +EXPORT_SYMBOL vmlinux 0x15d448dd mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x15f504ac d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x16219f90 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x162c82d5 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize +EXPORT_SYMBOL vmlinux 0x163c2b39 nd_device_unregister +EXPORT_SYMBOL vmlinux 0x1655fc73 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x16624d6e __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x16668ea2 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x16688fb9 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167f2e8f commit_creds +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16a6e007 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x16b555a0 bio_devname +EXPORT_SYMBOL vmlinux 0x16c0665c generic_file_open +EXPORT_SYMBOL vmlinux 0x16c0a1b2 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x16c79660 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x16d0341c __sg_free_table +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16f58128 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x16fc33c7 registered_fb +EXPORT_SYMBOL vmlinux 0x1707efe8 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x1713f6a1 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x171dee75 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x171e4979 sync_inode +EXPORT_SYMBOL vmlinux 0x171e841d mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x1723cce0 begin_new_exec +EXPORT_SYMBOL vmlinux 0x172ca67c __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x17710993 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x178d09ea netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x1793a8cd xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x1796073c dma_fence_free +EXPORT_SYMBOL vmlinux 0x17a3fe7e vfs_ioc_fssetxattr_check +EXPORT_SYMBOL vmlinux 0x17b19e03 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x17c06453 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x17c289da pci_restore_state +EXPORT_SYMBOL vmlinux 0x17c48d29 padata_free_shell +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183b2ff8 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x183ef236 tcf_register_action +EXPORT_SYMBOL vmlinux 0x184b080f drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x185a05b7 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x1862325f fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x186dd9ae kern_path +EXPORT_SYMBOL vmlinux 0x187cbafb sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18b9479e vme_master_request +EXPORT_SYMBOL vmlinux 0x18ba9654 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x18c3d3ae of_device_unregister +EXPORT_SYMBOL vmlinux 0x18c79ffd mmc_spi_get_pdata +EXPORT_SYMBOL vmlinux 0x18d1c9e5 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x18de935f inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18e90e48 bio_chain +EXPORT_SYMBOL vmlinux 0x18ecba95 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x18efd028 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x18f794d6 elv_rb_add +EXPORT_SYMBOL vmlinux 0x18f7dab5 pci_release_regions +EXPORT_SYMBOL vmlinux 0x190555ea pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x190816cf dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x19157d65 path_get +EXPORT_SYMBOL vmlinux 0x194338de phy_init_hw +EXPORT_SYMBOL vmlinux 0x195e57df __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x196fcd49 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a2c6cf set_create_files_as +EXPORT_SYMBOL vmlinux 0x19a4dae3 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x19b1a62c dev_set_alias +EXPORT_SYMBOL vmlinux 0x19bb1d0a truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d7669c pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x1a107de2 ZSTD_compressCCtx +EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx +EXPORT_SYMBOL vmlinux 0x1a1c817e mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x1a3fdff3 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x1a432003 md_done_sync +EXPORT_SYMBOL vmlinux 0x1a45bba6 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x1a6629a8 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x1a67e711 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x1a79bf3d sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x1a7f9983 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x1a922c51 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9b678e _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1aab5210 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x1aadfa4a vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x1aaf489a pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x1ab68fe2 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x1ab7736d tcp_sendpage +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1acdfeba secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x1adb3f5d key_invalidate +EXPORT_SYMBOL vmlinux 0x1ae97fa9 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x1aff0d89 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0763a7 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x1b118a15 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x1b2897ab dma_direct_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x1b3fd789 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x1b4b5d32 freeze_bdev +EXPORT_SYMBOL vmlinux 0x1b5e1074 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6d06f4 wake_up_process +EXPORT_SYMBOL vmlinux 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8f49c9 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x1b97ed69 __find_get_block +EXPORT_SYMBOL vmlinux 0x1b9f318c netdev_emerg +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1be46499 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x1bf9dd83 udp_table +EXPORT_SYMBOL vmlinux 0x1bfb3db9 dev_set_group +EXPORT_SYMBOL vmlinux 0x1c20e270 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x1c224c90 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x1c2f8c4f request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c4c4d77 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x1c599527 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x1c7edb1b blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x1c86363d mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x1c8aa261 param_get_string +EXPORT_SYMBOL vmlinux 0x1c8f8a9c blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x1c9d70f4 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x1cb2c6d8 kvasprintf +EXPORT_SYMBOL vmlinux 0x1cb2ce0b audit_log_object_context +EXPORT_SYMBOL vmlinux 0x1cedcea4 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x1d0539cf jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d15e93a ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x1d192bfa udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x1d1bf053 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d59c366 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x1d5f3c88 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL vmlinux 0x1d68ffef vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x1d88208e tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x1d922729 touch_buffer +EXPORT_SYMBOL vmlinux 0x1db51f61 put_tty_driver +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dcf50d9 to_ndd +EXPORT_SYMBOL vmlinux 0x1dd15643 mmc_command_done +EXPORT_SYMBOL vmlinux 0x1dd407f6 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1ddd643c flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x1de174e6 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1dec4056 tcf_classify_ingress +EXPORT_SYMBOL vmlinux 0x1df0f2b3 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x1df422cd skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x1df63e88 ZSTD_compressBegin +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e1bcf77 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e20c4de bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x1e29f133 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x1e589d51 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x1e62643b skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e75c628 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x1e799dc0 pci_get_slot +EXPORT_SYMBOL vmlinux 0x1e82a024 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x1e92c47b __pci_register_driver +EXPORT_SYMBOL vmlinux 0x1e989a2a mdiobus_free +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea06663 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x1eac9364 __seq_open_private +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ef3806c __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x1f03912b ZSTD_flushStream +EXPORT_SYMBOL vmlinux 0x1f1c1ad9 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x1f37ccc2 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x1f77a20e key_validate +EXPORT_SYMBOL vmlinux 0x1f8c5de1 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x1f92cb56 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x1f92ccac mount_subtree +EXPORT_SYMBOL vmlinux 0x1fa40f58 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x1fb6b218 pcim_iomap +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc1348d __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x1fcf4d4b _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe5e914 input_match_device_id +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1ff6cf49 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x1ffb3e27 mmc_start_request +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200036a3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2021ce97 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x203bb952 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204c8843 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x205a4d90 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x206d23f5 proc_create_data +EXPORT_SYMBOL vmlinux 0x206f9bea phy_device_create +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x207e4ac6 neigh_lookup +EXPORT_SYMBOL vmlinux 0x20828c2f bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x20839bba fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20d5164a security_sk_clone +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20e59b33 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize +EXPORT_SYMBOL vmlinux 0x21185d60 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x212133db xps_rxqs_needed +EXPORT_SYMBOL vmlinux 0x21229350 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x2138e556 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x213a4d3d mempool_free +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x2140d1e2 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x214578f2 __close_fd_get_file +EXPORT_SYMBOL vmlinux 0x215a8ec8 slhc_init +EXPORT_SYMBOL vmlinux 0x216f544e pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x21737bc0 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x217dc60d fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x2199bb82 __scsi_execute +EXPORT_SYMBOL vmlinux 0x219e734a __fs_parse +EXPORT_SYMBOL vmlinux 0x21aa4ab5 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x21aed50d alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x21b7ad56 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x21bd20c2 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21e0d81e sock_set_priority +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ee61d9 dev_get_flags +EXPORT_SYMBOL vmlinux 0x21f12b8f kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x21f316bd mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x21fb6c6e write_one_page +EXPORT_SYMBOL vmlinux 0x22011da1 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x220e70dc input_set_timestamp +EXPORT_SYMBOL vmlinux 0x221edb25 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223f99a9 blk_mq_init_sq_queue +EXPORT_SYMBOL vmlinux 0x2250cf12 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x2265e343 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x229185f5 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x22a2cdaa __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x22aba399 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c60be9 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x22cbc1a3 blkdev_issue_write_same +EXPORT_SYMBOL vmlinux 0x22d038ca debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x22f96d1e serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x2327b3e8 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x232dc3ea inode_set_flags +EXPORT_SYMBOL vmlinux 0x235e035e ata_link_printk +EXPORT_SYMBOL vmlinux 0x237fcd85 dev_close +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23a380ab of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23bbe709 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x23bd85dc address_space_init_once +EXPORT_SYMBOL vmlinux 0x23c2a0bf register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23eca884 vfs_get_link +EXPORT_SYMBOL vmlinux 0x23ee13fd mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x23f8c852 kill_fasync +EXPORT_SYMBOL vmlinux 0x23f9c5ce xps_needed +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2405db5e iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24277387 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x242c3d5c ppp_input_error +EXPORT_SYMBOL vmlinux 0x243792b1 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x243c72c1 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x24401d38 mempool_alloc +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244578f3 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2463638d __d_lookup_done +EXPORT_SYMBOL vmlinux 0x246a081c pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x2473f47e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x24817a12 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x249616ae fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x249a6c0d vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x24a19973 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x24ccfa72 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x24d02643 sock_i_ino +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24db32e7 tty_port_open +EXPORT_SYMBOL vmlinux 0x25062bf2 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x251fcb19 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x252033f1 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x2524ba17 ZSTD_getCParams +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252cc142 sock_no_connect +EXPORT_SYMBOL vmlinux 0x2545fe40 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x25525d8b wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x255957f5 devm_request_resource +EXPORT_SYMBOL vmlinux 0x255fab9d inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x256d9817 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x256e8786 fbcon_set_rotate +EXPORT_SYMBOL vmlinux 0x2570a138 reservation_seqcount_string +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x259574fe neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x25a5a322 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x25ae7c15 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x25b03b0e dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0x25c10721 tty_port_put +EXPORT_SYMBOL vmlinux 0x25c88d4f input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f6e148 neigh_destroy +EXPORT_SYMBOL vmlinux 0x25f80012 vm_insert_page +EXPORT_SYMBOL vmlinux 0x260472f8 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x26074a0e buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x26157b1c nd_integrity_init +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x264a18e9 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x26598aeb dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26b42a04 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x26b72c90 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x26c93f49 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x26cf2dfa inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x26d82591 md_error +EXPORT_SYMBOL vmlinux 0x26e27ebb config_group_init +EXPORT_SYMBOL vmlinux 0x26ec6f41 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x26f62b5d jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x26f82d7c ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x26f9cd61 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x270dfa49 uart_match_port +EXPORT_SYMBOL vmlinux 0x2710c52d dev_change_flags +EXPORT_SYMBOL vmlinux 0x2721ffab xa_extract +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 0x275bbe13 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27639220 blk_verify_command +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x2783aaa6 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x278482b2 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278b7cc8 init_special_inode +EXPORT_SYMBOL vmlinux 0x279890e6 xp_dma_map +EXPORT_SYMBOL vmlinux 0x279be432 ZSTD_copyCCtx +EXPORT_SYMBOL vmlinux 0x27a1219f mount_bdev +EXPORT_SYMBOL vmlinux 0x27a18eb6 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x27a71374 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x27b5f7bc __netif_schedule +EXPORT_SYMBOL vmlinux 0x27b7c305 get_watch_queue +EXPORT_SYMBOL vmlinux 0x27bad328 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27e60aa2 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x27f5dae8 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x27f70f25 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x28019d45 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x28051d56 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x2807c84e pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x282c96db pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x2833f577 ZSTD_compressBegin_advanced +EXPORT_SYMBOL vmlinux 0x285d3a69 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x28609d7a netdev_update_features +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x287b3295 generic_writepages +EXPORT_SYMBOL vmlinux 0x2887c7cf file_modified +EXPORT_SYMBOL vmlinux 0x2892b3ad dma_pool_create +EXPORT_SYMBOL vmlinux 0x28945832 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x28a43433 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x28a6b8dd mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x28b8ae31 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x28bab1fa md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x28bc26f4 scsi_partsize +EXPORT_SYMBOL vmlinux 0x28bd02fe remove_wait_queue +EXPORT_SYMBOL vmlinux 0x28d9d0a3 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x28dacc90 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x28dec1d2 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x28e3ce38 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x28eb8dc0 dev_load +EXPORT_SYMBOL vmlinux 0x28ef4d7b inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x28f13e15 vga_client_register +EXPORT_SYMBOL vmlinux 0x2908aa26 qdisc_reset +EXPORT_SYMBOL vmlinux 0x290e018c nobh_write_end +EXPORT_SYMBOL vmlinux 0x29120638 dup_iter +EXPORT_SYMBOL vmlinux 0x2914ea2d ZSTD_compressBlock +EXPORT_SYMBOL vmlinux 0x2926e9e2 ida_destroy +EXPORT_SYMBOL vmlinux 0x292857ba down +EXPORT_SYMBOL vmlinux 0x294b9ea1 on_each_cpu +EXPORT_SYMBOL vmlinux 0x296bbc69 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x29a53f9e lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x29a8a85d scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x29d54a59 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x29df9357 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29f92623 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x2a279afa devm_ioremap +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a377a97 ilookup +EXPORT_SYMBOL vmlinux 0x2a40e679 bio_list_copy_data +EXPORT_SYMBOL vmlinux 0x2a73cc7c tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0x2a97ce2d security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa1ad41 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x2ab77556 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x2adacde5 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x2adc65b6 dst_init +EXPORT_SYMBOL vmlinux 0x2afee616 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x2b00b2aa blk_put_queue +EXPORT_SYMBOL vmlinux 0x2b0be983 eth_header_parse +EXPORT_SYMBOL vmlinux 0x2b0db740 igrab +EXPORT_SYMBOL vmlinux 0x2b0dbc59 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x2b11497a udp_prot +EXPORT_SYMBOL vmlinux 0x2b1a2f9c md_unregister_thread +EXPORT_SYMBOL vmlinux 0x2b1c9d2a scsi_print_result +EXPORT_SYMBOL vmlinux 0x2b2c5b29 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x2b2eee6a serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x2b34e532 qdisc_put +EXPORT_SYMBOL vmlinux 0x2b3d1ab0 rt6_lookup +EXPORT_SYMBOL vmlinux 0x2b445340 dump_truncate +EXPORT_SYMBOL vmlinux 0x2b4e858a scsi_add_device +EXPORT_SYMBOL vmlinux 0x2b638f8d __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b7e122a textsearch_prepare +EXPORT_SYMBOL vmlinux 0x2b84082c fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x2b892cdd complete_all +EXPORT_SYMBOL vmlinux 0x2b9952de genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba8e9e3 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x2bbcbda1 param_set_byte +EXPORT_SYMBOL vmlinux 0x2bce00e5 rtnl_notify +EXPORT_SYMBOL vmlinux 0x2bd3056c in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2bd6c755 phy_driver_register +EXPORT_SYMBOL vmlinux 0x2bd7c558 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x2bdf69b0 bio_copy_data +EXPORT_SYMBOL vmlinux 0x2bdfa55b d_drop +EXPORT_SYMBOL vmlinux 0x2be0f12d dql_completed +EXPORT_SYMBOL vmlinux 0x2bea3d6b fifo_set_limit +EXPORT_SYMBOL vmlinux 0x2bf4f86f sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x2c06c9f1 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c2a7744 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x2c48ed13 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x2c64498a scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x2c773c8e flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x2c853668 poll_initwait +EXPORT_SYMBOL vmlinux 0x2c92ef08 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x2c98ab1e pin_user_pages +EXPORT_SYMBOL vmlinux 0x2cb5fb45 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x2cb7c5b4 tso_count_descs +EXPORT_SYMBOL vmlinux 0x2cbae527 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x2cbc0e1e prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x2cc02066 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x2ccc3ae8 __devm_release_region +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd07b04 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x2cd16e72 genphy_update_link +EXPORT_SYMBOL vmlinux 0x2cd5b55b __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x2ce2e48e of_match_node +EXPORT_SYMBOL vmlinux 0x2ce53a4f dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x2ceac984 tcf_block_get +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cfcf1b0 simple_readpage +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3e4758 pci_save_state +EXPORT_SYMBOL vmlinux 0x2d3fdc38 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d604ebf smp_call_function_many +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da912f1 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x2daf2731 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x2db3bc61 check_zeroed_user +EXPORT_SYMBOL vmlinux 0x2dba1c2b alloc_fddidev +EXPORT_SYMBOL vmlinux 0x2dce993a nd_btt_version +EXPORT_SYMBOL vmlinux 0x2debc4d2 padata_start +EXPORT_SYMBOL vmlinux 0x2dfa2669 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2dfca77d scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x2dfe1963 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x2e01c1c5 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x2e076f59 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x2e09078c rfkill_alloc +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ba368 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2e2e5341 __wake_up +EXPORT_SYMBOL vmlinux 0x2e482045 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e648b4a xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x2e6e4d45 inode_permission +EXPORT_SYMBOL vmlinux 0x2e7be112 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x2e95f62e nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x2ea06d2f brioctl_set +EXPORT_SYMBOL vmlinux 0x2ea9de49 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x2eb8c4e3 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ece38cb inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x2ed1d8cd ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x2ed9cb29 __sock_create +EXPORT_SYMBOL vmlinux 0x2edbeaf7 hex2bin +EXPORT_SYMBOL vmlinux 0x2ee1f69e __nlmsg_put +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f1fbe97 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f2f8cf3 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x2f31b906 seq_file_path +EXPORT_SYMBOL vmlinux 0x2f3857e2 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x2f45e35b phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x2f580c11 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x2f6cfee3 pci_request_irq +EXPORT_SYMBOL vmlinux 0x2f71db7a tty_register_driver +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f7ed8b4 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x2f8bff8a xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x2fa8c63f genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fba2785 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x2fd6b9a5 serio_interrupt +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5ef81 tcp_check_req +EXPORT_SYMBOL vmlinux 0x300f4ed9 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x30275bfb __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x304ec72b _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x3084cb19 block_write_end +EXPORT_SYMBOL vmlinux 0x308b204f skb_checksum +EXPORT_SYMBOL vmlinux 0x308f3e89 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x30900f62 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a1a9e9 nvm_end_io +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30af45a1 ZSTD_initCStream +EXPORT_SYMBOL vmlinux 0x30cd9f51 sbi_send_ipi +EXPORT_SYMBOL vmlinux 0x30e10f18 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x31017bcb blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x310256c7 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x31027bb6 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x3116925b setup_arg_pages +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x31330aa7 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x31347fd0 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x3139d4ef build_skb_around +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x314997ac kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x31533e1b pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x31695ce7 set_bh_page +EXPORT_SYMBOL vmlinux 0x31809dc4 nf_log_set +EXPORT_SYMBOL vmlinux 0x31918c0c xp_can_alloc +EXPORT_SYMBOL vmlinux 0x3199e552 nvm_unregister +EXPORT_SYMBOL vmlinux 0x319ee541 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x31a639ef param_set_invbool +EXPORT_SYMBOL vmlinux 0x31e143a3 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x31e9ae8d dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x320d8e79 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x32138691 netdev_state_change +EXPORT_SYMBOL vmlinux 0x3217e4f0 init_net +EXPORT_SYMBOL vmlinux 0x321e2ace devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x3229052e phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x32509bf7 tty_unlock +EXPORT_SYMBOL vmlinux 0x325104ca blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x327194d9 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32980deb security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x32993a69 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x329ddd0c mdio_device_remove +EXPORT_SYMBOL vmlinux 0x32ab18c6 of_iomap +EXPORT_SYMBOL vmlinux 0x32afe950 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x32b88617 make_kuid +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d0f60a tcp_child_process +EXPORT_SYMBOL vmlinux 0x32df2c1e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x330f9f66 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x3316c145 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x33274c8f tcp_seq_start +EXPORT_SYMBOL vmlinux 0x33411399 dst_release +EXPORT_SYMBOL vmlinux 0x334ffabc f_setown +EXPORT_SYMBOL vmlinux 0x3355b304 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x3356d9fc xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x335cd35a tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x336eb91d locks_copy_lock +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x3382a45e mpage_readpage +EXPORT_SYMBOL vmlinux 0x339d074e bio_init +EXPORT_SYMBOL vmlinux 0x33b9ca07 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0x33c0d8ff pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x33cd9d70 __phy_resume +EXPORT_SYMBOL vmlinux 0x33dc191f netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x33f101af skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34043dcf xa_find_after +EXPORT_SYMBOL vmlinux 0x34083259 textsearch_register +EXPORT_SYMBOL vmlinux 0x3413b200 __lock_buffer +EXPORT_SYMBOL vmlinux 0x34301d6b clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x3469d6c7 __destroy_inode +EXPORT_SYMBOL vmlinux 0x346dc2d6 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x34705a64 skb_clone +EXPORT_SYMBOL vmlinux 0x3475fad8 config_item_get +EXPORT_SYMBOL vmlinux 0x348ac06e dev_set_mtu +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a54101 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x34afd4ef dev_add_pack +EXPORT_SYMBOL vmlinux 0x34b14c36 elv_rb_del +EXPORT_SYMBOL vmlinux 0x34d08219 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x34d4fea2 of_device_is_available +EXPORT_SYMBOL vmlinux 0x34d9105d empty_zero_page +EXPORT_SYMBOL vmlinux 0x34db56ce devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x34e893ec of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x35023c2c of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x351c75c3 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x352917f7 scsi_print_command +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x354141fc mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x35550bb0 filemap_flush +EXPORT_SYMBOL vmlinux 0x3557cd5f tty_set_operations +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35769362 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x357b61b5 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x35919ed1 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x35a3f030 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35c4f276 posix_acl_valid +EXPORT_SYMBOL vmlinux 0x35cbcfd0 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x35f10c5f netdev_features_change +EXPORT_SYMBOL vmlinux 0x35fbc3df unix_get_socket +EXPORT_SYMBOL vmlinux 0x36180376 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x3639605c inet_gso_segment +EXPORT_SYMBOL vmlinux 0x363baffa genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x364b371e ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36632d7b dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x3676a33a ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x36848e37 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x36866e1f tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x369a2bcb __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x36a261a9 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x36b124a2 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x36d106b4 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36d6bde6 of_get_next_child +EXPORT_SYMBOL vmlinux 0x36dfbf47 dm_register_target +EXPORT_SYMBOL vmlinux 0x36ed542f genphy_resume +EXPORT_SYMBOL vmlinux 0x36fbe30b of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x370c2336 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x371e7f3a ZSTD_initCDict +EXPORT_SYMBOL vmlinux 0x372d8f66 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x3736084f stop_tty +EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3748cc57 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x374d9875 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x374e3a9d bioset_init +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3759f00b gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream +EXPORT_SYMBOL vmlinux 0x37965444 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x3799e4f0 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x37af3190 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37ddaf82 sg_nents +EXPORT_SYMBOL vmlinux 0x37eb9a9b ether_setup +EXPORT_SYMBOL vmlinux 0x37ee02b2 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x37f0fea3 seq_printf +EXPORT_SYMBOL vmlinux 0x37f74b19 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x37f82653 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x380d405b sbi_spec_version +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381c72bf udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x381d78a6 of_get_next_parent +EXPORT_SYMBOL vmlinux 0x382e14df fb_class +EXPORT_SYMBOL vmlinux 0x383e2b38 d_add +EXPORT_SYMBOL vmlinux 0x383e9b36 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x3867d77c proc_create_single_data +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388800d2 sbi_console_putchar +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x38923059 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x38a246a4 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38e576e1 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x38fc96ae tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x38ff0441 fd_install +EXPORT_SYMBOL vmlinux 0x39030fc1 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x39053def pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x3909690f security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x390caf83 blk_get_request +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x39486393 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394e07e4 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3958de9b vm_numa_stat +EXPORT_SYMBOL vmlinux 0x39735073 vm_map_pages +EXPORT_SYMBOL vmlinux 0x3979f41c ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x398070e2 __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399adc43 pci_get_class +EXPORT_SYMBOL vmlinux 0x39b4e8fe kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39cd9d36 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x39e7d581 vme_irq_free +EXPORT_SYMBOL vmlinux 0x39e84f8c mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x39efb677 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x3a253a26 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x3a337144 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x3a3616f3 blkdev_get +EXPORT_SYMBOL vmlinux 0x3a4ef80f flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a59b461 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x3a59b6a1 __serio_register_port +EXPORT_SYMBOL vmlinux 0x3a6509d1 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x3a66caf5 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x3a7360d0 should_remove_suid +EXPORT_SYMBOL vmlinux 0x3a7c6784 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x3a871777 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x3aaa114e inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x3aac6e53 mempool_init +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac62554 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3ad03856 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x3adffb10 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x3ae28ae6 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x3aea7822 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x3afaffc3 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x3b044a76 unlock_page_memcg +EXPORT_SYMBOL vmlinux 0x3b12d9e2 dev_deactivate +EXPORT_SYMBOL vmlinux 0x3b142d39 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x3b1d431a kernel_bind +EXPORT_SYMBOL vmlinux 0x3b21f30d blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b3f9e62 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x3b488e96 netlink_ack +EXPORT_SYMBOL vmlinux 0x3b502f70 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x3b5af429 set_groups +EXPORT_SYMBOL vmlinux 0x3b5cee3f reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c2667 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x3b87c510 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x3b8f98fe get_mm_exe_file +EXPORT_SYMBOL vmlinux 0x3b9849a3 mmc_release_host +EXPORT_SYMBOL vmlinux 0x3b9e56da file_path +EXPORT_SYMBOL vmlinux 0x3bc64458 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x3bdc3bdb blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x3be73356 phy_read_paged +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3c01a003 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x3c173c5b mutex_trylock +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c2529df get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c43346a reuseport_alloc +EXPORT_SYMBOL vmlinux 0x3c50a607 console_stop +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c8c13f7 security_sb_remount +EXPORT_SYMBOL vmlinux 0x3c9bbe0f devm_memremap +EXPORT_SYMBOL vmlinux 0x3c9d6a64 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x3cae607e ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x3cafeaa6 may_umount +EXPORT_SYMBOL vmlinux 0x3cba104e set_binfmt +EXPORT_SYMBOL vmlinux 0x3cbc5b38 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x3cd2ce43 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x3cd3db3d padata_do_parallel +EXPORT_SYMBOL vmlinux 0x3ce3efe2 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d0897c7 skb_find_text +EXPORT_SYMBOL vmlinux 0x3d0eb81f dst_alloc +EXPORT_SYMBOL vmlinux 0x3d173bf1 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x3d1b3086 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x3d290c1a mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x3d2aef2d security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload +EXPORT_SYMBOL vmlinux 0x3d6b80ee page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x3d8a2cb5 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x3dac9372 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db2ac91 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x3dbd21c6 dqstats +EXPORT_SYMBOL vmlinux 0x3dc4cad2 input_close_device +EXPORT_SYMBOL vmlinux 0x3dc7db76 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd9ea87 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x3ddd0671 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x3def8665 setattr_copy +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e1df65d scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x3e22b22e xa_store +EXPORT_SYMBOL vmlinux 0x3e2b0ba6 groups_alloc +EXPORT_SYMBOL vmlinux 0x3e315bd8 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x3e40958d tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x3e425fef kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x3e5d3df6 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x3e5d4a20 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x3e79f701 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x3e7f9d55 inet_listen +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e974429 try_module_get +EXPORT_SYMBOL vmlinux 0x3eaf4c3b i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x3eb49c14 vme_bus_type +EXPORT_SYMBOL vmlinux 0x3ec51d9e secpath_set +EXPORT_SYMBOL vmlinux 0x3ed97cb4 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x3ee4322a _dev_notice +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f2efc17 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x3f3601af netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f55192d can_nice +EXPORT_SYMBOL vmlinux 0x3f67a2e1 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f8f7c81 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x3f95409e netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x3f973374 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x3f97a5e9 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x3fa118bc pipe_lock +EXPORT_SYMBOL vmlinux 0x3fa24304 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x3fb81f56 mdio_device_create +EXPORT_SYMBOL vmlinux 0x3fba8e3c ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x3fbcc701 vga_con +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fcbef13 page_pool_create +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe026d7 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fe49587 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x3ff03b7e phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x4006b1d2 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x4017ba0b tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x4044bd56 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x405a5d21 register_md_personality +EXPORT_SYMBOL vmlinux 0x406ebe75 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x40863ba1 ioremap_prot +EXPORT_SYMBOL vmlinux 0x408a0039 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409d48d8 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x40a476fb add_random_ready_callback +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c0a00b bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x40c414c8 down_read_trylock +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d84a37 ZSTD_getFrameParams +EXPORT_SYMBOL vmlinux 0x40e37ce0 path_has_submounts +EXPORT_SYMBOL vmlinux 0x40f09058 take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x40f27376 fput +EXPORT_SYMBOL vmlinux 0x40f29c12 cdev_device_del +EXPORT_SYMBOL vmlinux 0x4111ff9d of_get_pci_address +EXPORT_SYMBOL vmlinux 0x411e1e3b __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41574ac7 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x4164e671 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x4169094c tso_start +EXPORT_SYMBOL vmlinux 0x417df7d1 d_invalidate +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41992a9d devm_clk_get +EXPORT_SYMBOL vmlinux 0x419bc32d hmm_range_fault +EXPORT_SYMBOL vmlinux 0x419f75cc inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x41c656af dquot_acquire +EXPORT_SYMBOL vmlinux 0x41dd31f2 seq_release +EXPORT_SYMBOL vmlinux 0x41e1814f bdgrab +EXPORT_SYMBOL vmlinux 0x4212015a pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL vmlinux 0x4226a6bc simple_transaction_get +EXPORT_SYMBOL vmlinux 0x422b1e10 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x422d0983 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x423118ad invalidate_bdev +EXPORT_SYMBOL vmlinux 0x423a6896 sock_i_uid +EXPORT_SYMBOL vmlinux 0x4241ba2a dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x4241baad param_set_int +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x425673bd jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426a5bb9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x426e05f8 lock_rename +EXPORT_SYMBOL vmlinux 0x4276ae69 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4291c5b3 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x4294d6f8 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x42a65673 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x42e27a1e of_device_alloc +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430cfecd sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x430ecc96 ZSTD_initCStream_usingCDict +EXPORT_SYMBOL vmlinux 0x430f2ed9 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x43462313 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x437e0958 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x438229ab component_match_add_release +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x439bca98 vfs_rename +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43c19782 proc_create +EXPORT_SYMBOL vmlinux 0x43f7f106 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x44036da2 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4441c1ee seq_open_private +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x446eb56b dec_node_page_state +EXPORT_SYMBOL vmlinux 0x44830a41 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x44881d2d __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x4491b28f of_find_property +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44afe464 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x44b8da77 swake_up_all +EXPORT_SYMBOL vmlinux 0x44d8737a bdput +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f0ab9d icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45104712 dma_resv_add_shared_fence +EXPORT_SYMBOL vmlinux 0x45156c9a trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x451e8896 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x452215e8 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x4525333d xfrm_input +EXPORT_SYMBOL vmlinux 0x45260a49 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4529d9ff cont_write_begin +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45405e68 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x4544417d nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x4551d094 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x4562a134 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x4565693e xa_load +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45798884 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x45844744 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x458becd9 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x45b7fc77 pci_find_bus +EXPORT_SYMBOL vmlinux 0x45b92096 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x45bd07c8 tty_port_init +EXPORT_SYMBOL vmlinux 0x45c02609 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x45c148c5 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x45c2b0e0 tty_write_room +EXPORT_SYMBOL vmlinux 0x45d41244 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x45dc5a0b dcache_readdir +EXPORT_SYMBOL vmlinux 0x45e02900 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x46045dd7 kstrtou8 +EXPORT_SYMBOL vmlinux 0x4606ceff misc_deregister +EXPORT_SYMBOL vmlinux 0x4610ad10 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461caba1 param_set_short +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46752c8f inet_csk_accept +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x467fbb9b dma_virt_ops +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46baade1 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x4700a300 md_handle_request +EXPORT_SYMBOL vmlinux 0x471a6f2a sgl_free +EXPORT_SYMBOL vmlinux 0x472f2e9f register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x47528b9f devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47797bcd skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x4779bc15 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x477ec70e pps_register_source +EXPORT_SYMBOL vmlinux 0x4788f116 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47a0cdcb mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x47c4fc81 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47ce7fb5 dev_mc_init +EXPORT_SYMBOL vmlinux 0x47e7f010 flush_signals +EXPORT_SYMBOL vmlinux 0x47fb796a bio_free_pages +EXPORT_SYMBOL vmlinux 0x480be6f3 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x483745f1 noop_qdisc +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 0x4857c6d5 logfc +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4859f851 bio_add_page +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x48727972 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x48778fcb cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x4878d59c ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a1222d touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b0e568 to_nd_btt +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bcbe17 param_ops_long +EXPORT_SYMBOL vmlinux 0x48c42d2b __nla_put +EXPORT_SYMBOL vmlinux 0x48cec0c4 get_super_thawed +EXPORT_SYMBOL vmlinux 0x48e2b0fb seq_escape +EXPORT_SYMBOL vmlinux 0x48e52836 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x48e95c64 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x48eb4f90 down_killable +EXPORT_SYMBOL vmlinux 0x48f05e94 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x48f48f8f dma_cache_sync +EXPORT_SYMBOL vmlinux 0x48fab8a1 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4906c2c9 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x4931c9e1 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x494f10e1 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x497048d0 fc_mount +EXPORT_SYMBOL vmlinux 0x49720fc9 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x4984a157 sbi_probe_extension +EXPORT_SYMBOL vmlinux 0x49859011 complete +EXPORT_SYMBOL vmlinux 0x498b96da proc_douintvec +EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49bee0ef __sb_start_write +EXPORT_SYMBOL vmlinux 0x49ce3909 fbcon_rotate_cw +EXPORT_SYMBOL vmlinux 0x49d4d844 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x49ed86a0 ZSTD_endStream +EXPORT_SYMBOL vmlinux 0x49f66065 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x4a068d4f d_prune_aliases +EXPORT_SYMBOL vmlinux 0x4a13ee66 __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0x4a3822fd param_get_ulong +EXPORT_SYMBOL vmlinux 0x4a4fb357 input_register_device +EXPORT_SYMBOL vmlinux 0x4a60620a do_splice_direct +EXPORT_SYMBOL vmlinux 0x4a71708d blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x4a79044b mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x4a87e1eb udp6_csum_init +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa8dd28 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x4aaaee8e vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x4aad11f1 generic_write_end +EXPORT_SYMBOL vmlinux 0x4abb5c28 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x4ac78e57 open_exec +EXPORT_SYMBOL vmlinux 0x4ac8f919 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x4ada38a1 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4aeb6fd7 nf_reinject +EXPORT_SYMBOL vmlinux 0x4b0754cb xsk_umem_consume_tx_done +EXPORT_SYMBOL vmlinux 0x4b11e995 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x4b2d10c3 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x4b32fbd2 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4b3df873 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x4b473354 pci_choose_state +EXPORT_SYMBOL vmlinux 0x4b514127 register_key_type +EXPORT_SYMBOL vmlinux 0x4b514400 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x4b59afab xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b7c32f9 xsk_umem_consume_tx +EXPORT_SYMBOL vmlinux 0x4b8d1bb6 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x4b9e4ae2 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x4b9e9d34 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x4baad008 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x4bb76693 skb_copy +EXPORT_SYMBOL vmlinux 0x4bbf3cdf dma_direct_map_resource +EXPORT_SYMBOL vmlinux 0x4bd06107 arp_xmit +EXPORT_SYMBOL vmlinux 0x4be43c97 xsk_umem_complete_tx +EXPORT_SYMBOL vmlinux 0x4be88e8f finish_wait +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bff2810 __sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x4c0bed93 twl6040_power +EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4c40aa44 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x4c40dcee iunique +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c488a57 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x4c5facc2 downgrade_write +EXPORT_SYMBOL vmlinux 0x4c6c7662 skb_push +EXPORT_SYMBOL vmlinux 0x4c6d45f8 netif_napi_del +EXPORT_SYMBOL vmlinux 0x4c83b3df generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x4c9692b7 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x4c9f95b7 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x4cac30ea jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cbd79ff page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x4ccb02e0 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x4cd6e62c devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x4cec8213 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x4d0734cb sync_filesystem +EXPORT_SYMBOL vmlinux 0x4d08ca70 touch_atime +EXPORT_SYMBOL vmlinux 0x4d11c570 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x4d2808ef ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x4d38cb46 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x4d3ebf32 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x4d3fbc28 tcp_close +EXPORT_SYMBOL vmlinux 0x4d57d685 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x4d5c0dd9 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x4d60c2f9 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6e52d1 __xa_insert +EXPORT_SYMBOL vmlinux 0x4d7bfbfd wait_on_page_bit_killable +EXPORT_SYMBOL vmlinux 0x4d81c87b find_vma +EXPORT_SYMBOL vmlinux 0x4d8740dc vfs_get_tree +EXPORT_SYMBOL vmlinux 0x4d8e2cbb vfs_ioc_setflags_prepare +EXPORT_SYMBOL vmlinux 0x4d903caf bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4dc22201 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x4dc6dd20 elv_rb_find +EXPORT_SYMBOL vmlinux 0x4dd394ba register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x4dd3b79b tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x4dd612fa netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df769a6 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x4e1d3321 vfs_statfs +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3ecf3a xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x4e44a5ba __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x4e4503d3 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x4e45daeb cad_pid +EXPORT_SYMBOL vmlinux 0x4e45e8f9 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x4e4d9976 prepare_creds +EXPORT_SYMBOL vmlinux 0x4e57d181 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e77738e pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x4e807e70 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x4e910812 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4e9f30f5 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x4ea41733 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x4eb601c3 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x4ebbbc53 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x4ec1796d block_write_full_page +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ed1aab5 inet_getname +EXPORT_SYMBOL vmlinux 0x4ed7098f __mdiobus_write +EXPORT_SYMBOL vmlinux 0x4ee552c7 genlmsg_put +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4ef3f395 kfree_skb_list +EXPORT_SYMBOL vmlinux 0x4ef96045 nla_put +EXPORT_SYMBOL vmlinux 0x4f000cd8 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x4f07f13a fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x4f0c91ee pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x4f1be940 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x4f1c90a5 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f276a9c file_remove_privs +EXPORT_SYMBOL vmlinux 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL vmlinux 0x4f6335ae security_path_mknod +EXPORT_SYMBOL vmlinux 0x4f7be16a security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x4f85386d netif_device_detach +EXPORT_SYMBOL vmlinux 0x4f87cf17 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x4fa951af of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x4fad7c08 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x4fb54e31 dquot_drop +EXPORT_SYMBOL vmlinux 0x4fde5034 generic_listxattr +EXPORT_SYMBOL vmlinux 0x4fdfaae5 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x4fe2de22 nvm_dev_dma_alloc +EXPORT_SYMBOL vmlinux 0x4ff117d5 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x4ff1fa9d vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x5005bea2 fscrypt_get_encryption_info +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x50167fd3 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x502cd38c vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x502d441e mpage_writepage +EXPORT_SYMBOL vmlinux 0x5041fb18 sync_file_create +EXPORT_SYMBOL vmlinux 0x504b411c ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x506f5953 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x50767bc1 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x507eb84e kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x50a3cd77 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50ab91ae mntget +EXPORT_SYMBOL vmlinux 0x50b03c47 sg_init_table +EXPORT_SYMBOL vmlinux 0x50b3a40e seq_lseek +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50e48ba6 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x50e5e103 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x50ef6e33 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x51074d28 register_netdev +EXPORT_SYMBOL vmlinux 0x511b8639 seq_pad +EXPORT_SYMBOL vmlinux 0x51290175 free_netdev +EXPORT_SYMBOL vmlinux 0x515e7fc4 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5166b8e5 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x51749fc8 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x5188c00b xfrm_init_state +EXPORT_SYMBOL vmlinux 0x51964a11 param_set_uint +EXPORT_SYMBOL vmlinux 0x51a5917e reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x51e6a327 blk_put_request +EXPORT_SYMBOL vmlinux 0x51efb9c4 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x51f879b3 inet_put_port +EXPORT_SYMBOL vmlinux 0x520965d9 bd_set_size +EXPORT_SYMBOL vmlinux 0x5216f1da sk_stream_error +EXPORT_SYMBOL vmlinux 0x521ad1c8 of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x5229aeb4 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x52313880 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x5231c9f5 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x52340df8 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x5236f947 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x523752fd of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x5265a021 pid_task +EXPORT_SYMBOL vmlinux 0x526c3a6c jiffies +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x527aaf70 phy_suspend +EXPORT_SYMBOL vmlinux 0x527c6d15 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x5285600b abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a04d39 keyring_search +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dc892c nf_ct_attach +EXPORT_SYMBOL vmlinux 0x52e54345 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x52eb202a handle_edge_irq +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52fff4b7 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x5308595b __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x531f0b40 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x533206b5 sort_r +EXPORT_SYMBOL vmlinux 0x53327d2f xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x535f6e90 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x536539af blk_get_queue +EXPORT_SYMBOL vmlinux 0x53661e07 sock_no_getname +EXPORT_SYMBOL vmlinux 0x53690487 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x53766bbb blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x539f0b98 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x53acc61d tcp_mmap +EXPORT_SYMBOL vmlinux 0x53bba7a6 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x53e8393a pci_set_mwi +EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock +EXPORT_SYMBOL vmlinux 0x54123190 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x541f0a79 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x5430dfed __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5440d6d8 seq_read_iter +EXPORT_SYMBOL vmlinux 0x5459df2a __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x5461bdfb seq_putc +EXPORT_SYMBOL vmlinux 0x54671052 proc_remove +EXPORT_SYMBOL vmlinux 0x5471c54d tcf_em_register +EXPORT_SYMBOL vmlinux 0x547a05df __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x548bd02e __neigh_event_send +EXPORT_SYMBOL vmlinux 0x549636dc csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x54a80249 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ec210e cdev_init +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5510a7fa ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x55462430 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x5552d014 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x55831b97 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x55873883 dm_put_device +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x558b61c4 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x55976418 pci_resize_resource +EXPORT_SYMBOL vmlinux 0x55983787 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x559ab6c4 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x55a60b08 dst_destroy +EXPORT_SYMBOL vmlinux 0x55b031fd netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x55be6ef8 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x55c2896b blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x55d00a4e tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x55d89033 lockref_get_or_lock +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55eea681 sbi_remote_hfence_vvma_asid +EXPORT_SYMBOL vmlinux 0x55f1470e km_policy_expired +EXPORT_SYMBOL vmlinux 0x55fa22ff nd_device_notify +EXPORT_SYMBOL vmlinux 0x55fbb52e genl_register_family +EXPORT_SYMBOL vmlinux 0x55ffd302 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x560aa6ce __scsi_add_device +EXPORT_SYMBOL vmlinux 0x5621e48b tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x5627b037 vfs_setpos +EXPORT_SYMBOL vmlinux 0x563052aa __block_write_begin +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5636bc4c sk_mc_loop +EXPORT_SYMBOL vmlinux 0x56466e42 ZSTD_CStreamInSize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564dfc22 netdev_crit +EXPORT_SYMBOL vmlinux 0x565422f0 follow_up +EXPORT_SYMBOL vmlinux 0x56662130 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x56712ae7 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x567e3bf2 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x5696ccbc mpage_readahead +EXPORT_SYMBOL vmlinux 0x569a6fec balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d104cc param_ops_short +EXPORT_SYMBOL vmlinux 0x56d76506 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x56d96a10 padata_do_serial +EXPORT_SYMBOL vmlinux 0x56e36fbf __asm_copy_from_user +EXPORT_SYMBOL vmlinux 0x56e84816 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x56eb8f30 __module_get +EXPORT_SYMBOL vmlinux 0x56f68070 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x57039514 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x571d6598 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x572533d1 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x5727d87c of_match_device +EXPORT_SYMBOL vmlinux 0x572d0104 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x574b83dd sbi_remote_sfence_vma +EXPORT_SYMBOL vmlinux 0x574c0359 bd_finish_claiming +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575e81b5 set_nlink +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578a1876 tun_xdp_to_ptr +EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x5792b627 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x5798d49a proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x57cb63b4 clk_get +EXPORT_SYMBOL vmlinux 0x57d194fb of_parse_phandle_with_fixed_args +EXPORT_SYMBOL vmlinux 0x57da5ce3 inet_select_addr +EXPORT_SYMBOL vmlinux 0x57e03ae8 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x57f2afb7 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x58086eae neigh_update +EXPORT_SYMBOL vmlinux 0x5809c7f5 vm_event_states +EXPORT_SYMBOL vmlinux 0x5813d1e4 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x581558d0 padata_set_cpumask +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 0x583b9b4a jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x584a40f7 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x584ca618 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x5856c9a8 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x5860e5cf fsync_bdev +EXPORT_SYMBOL vmlinux 0x5868c3a0 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x5880e399 udp_seq_start +EXPORT_SYMBOL vmlinux 0x5884a0c4 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x58a034d3 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x58a740a0 netlink_capable +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58adb05c get_vaddr_frames +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58ba8e51 nvm_submit_io_sync +EXPORT_SYMBOL vmlinux 0x58c4af14 inet_release +EXPORT_SYMBOL vmlinux 0x58c8ba2d __getblk_gfp +EXPORT_SYMBOL vmlinux 0x58df3213 key_type_keyring +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x59021414 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x5907b9b5 nla_append +EXPORT_SYMBOL vmlinux 0x59364e97 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x5947197e kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x59588850 vsscanf +EXPORT_SYMBOL vmlinux 0x595b631a wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x595e7976 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x596510bb of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x59699f0a dns_query +EXPORT_SYMBOL vmlinux 0x598a2f6b dma_async_device_register +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59addecd tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x59af6615 vfs_create +EXPORT_SYMBOL vmlinux 0x59af83aa skb_split +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59c3aaa3 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x59d23327 netdev_alert +EXPORT_SYMBOL vmlinux 0x59d33cfc cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x59d70a2f skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x59ea585b serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x59ec24a1 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x59f7453b simple_empty +EXPORT_SYMBOL vmlinux 0x59f9770d from_kgid +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a273be8 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x5a2c43ef of_io_request_and_map +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a48f3bd unlock_buffer +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5486ac xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x5a5bba69 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x5a6b2734 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x5a6da8cd tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x5a754d0c phy_print_status +EXPORT_SYMBOL vmlinux 0x5a87febe blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aaeb3a0 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x5ab01403 __close_fd +EXPORT_SYMBOL vmlinux 0x5ab96aa8 soft_cursor +EXPORT_SYMBOL vmlinux 0x5abfa475 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x5ac808ec sock_recvmsg +EXPORT_SYMBOL vmlinux 0x5ad636e2 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x5ad7e764 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x5af1a7f5 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x5b03332e max8925_set_bits +EXPORT_SYMBOL vmlinux 0x5b07be2d request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x5b07e86e get_task_cred +EXPORT_SYMBOL vmlinux 0x5b181f70 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x5b1839f0 input_get_keycode +EXPORT_SYMBOL vmlinux 0x5b1d4e0b xa_destroy +EXPORT_SYMBOL vmlinux 0x5b36d5dd utf8agemax +EXPORT_SYMBOL vmlinux 0x5b3aef4a bio_advance +EXPORT_SYMBOL vmlinux 0x5b4be864 dput +EXPORT_SYMBOL vmlinux 0x5b56785c dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b63a6f1 bdevname +EXPORT_SYMBOL vmlinux 0x5b7ba27f posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x5b7e1b0f phy_start +EXPORT_SYMBOL vmlinux 0x5b9b609b of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x5b9d1ab9 skb_store_bits +EXPORT_SYMBOL vmlinux 0x5ba8b670 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x5bb6eb37 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL vmlinux 0x5bc93630 serio_rescan +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdc242b gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5be816c2 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x5bf7dd23 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x5bfb49b2 dma_dummy_ops +EXPORT_SYMBOL vmlinux 0x5c00d810 ZSTD_CDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0x5c11bad7 request_key_rcu +EXPORT_SYMBOL vmlinux 0x5c154c68 arp_tbl +EXPORT_SYMBOL vmlinux 0x5c3c773e udplite_table +EXPORT_SYMBOL vmlinux 0x5c4265f6 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x5c6241e9 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x5c720b06 arp_create +EXPORT_SYMBOL vmlinux 0x5c76f7f2 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x5c78e775 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x5c953468 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x5c9aafe5 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x5c9f3577 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x5cb06896 dquot_release +EXPORT_SYMBOL vmlinux 0x5cb5314b pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x5cd0b188 mmc_get_card +EXPORT_SYMBOL vmlinux 0x5ce8c6df scsi_register_interface +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d157849 bd_start_claiming +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d5d7735 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x5d6d4f92 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x5d78a8f6 vm_node_stat +EXPORT_SYMBOL vmlinux 0x5d8071c9 dm_get_device +EXPORT_SYMBOL vmlinux 0x5d830297 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x5daa7fd1 sgl_alloc_order +EXPORT_SYMBOL vmlinux 0x5daf9a51 remap_vmalloc_range_partial +EXPORT_SYMBOL vmlinux 0x5dc44f3d show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x5dc848ed mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x5dd22989 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x5dd41d10 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x5ddc19e0 vme_slot_num +EXPORT_SYMBOL vmlinux 0x5dde11c4 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x5dde764d inet_frags_init +EXPORT_SYMBOL vmlinux 0x5ded9956 page_pool_put_page +EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e35f05e __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e37fe5c vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x5e5e992a skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x5e6d533f __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x5e6e5d7c iterate_dir +EXPORT_SYMBOL vmlinux 0x5e8d7548 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x5e90102e param_set_long +EXPORT_SYMBOL vmlinux 0x5e91c3fc xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebbabfb kill_litter_super +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed2969e string_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee16721 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x5efdd8a9 config_group_find_item +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f234f06 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x5f29208f mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x5f383532 dma_resv_reserve_shared +EXPORT_SYMBOL vmlinux 0x5f3bf375 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x5f3c13c3 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x5f3f9bf9 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x5f43a081 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x5f4b9df1 sk_free +EXPORT_SYMBOL vmlinux 0x5f5c306f qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x5f5db3bb is_nd_btt +EXPORT_SYMBOL vmlinux 0x5f684a60 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x5f7af2d3 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x5f85f564 blkdev_put +EXPORT_SYMBOL vmlinux 0x5fa19c80 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fc863c9 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x5fd34a75 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x5ff2ab1e max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x5ffb2351 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600b402b skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x60188cbb __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x6018c9ea __nla_reserve +EXPORT_SYMBOL vmlinux 0x601ec798 __breadahead +EXPORT_SYMBOL vmlinux 0x601ec929 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602506d2 config_item_put +EXPORT_SYMBOL vmlinux 0x602d4e4b ppp_register_channel +EXPORT_SYMBOL vmlinux 0x60351b98 __nla_validate +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x6048a879 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x60498164 kset_register +EXPORT_SYMBOL vmlinux 0x604cbfc4 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x604fba66 generic_fillattr +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605a50c3 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x605dd68d vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x605dd841 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x60661f76 register_shrinker +EXPORT_SYMBOL vmlinux 0x606a8b18 d_alloc +EXPORT_SYMBOL vmlinux 0x60765cb3 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x6085e0a0 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x6090749e unregister_binfmt +EXPORT_SYMBOL vmlinux 0x6090829f skb_ext_add +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609b2853 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a0038e read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60c116d0 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x60d1c6a8 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60e011f9 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x60e5a2fe inode_dio_wait +EXPORT_SYMBOL vmlinux 0x60f776f5 dev_mc_add +EXPORT_SYMBOL vmlinux 0x60fdb651 md_update_sb +EXPORT_SYMBOL vmlinux 0x61141897 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x612288c3 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x6129642b scsi_remove_target +EXPORT_SYMBOL vmlinux 0x61577694 ZSTD_compressEnd +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x61621fd4 phy_find_first +EXPORT_SYMBOL vmlinux 0x617e715e sockfd_lookup +EXPORT_SYMBOL vmlinux 0x6185706f __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x6189c388 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x619b6f15 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61b5fefc twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c4d769 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x61c855aa param_ops_uint +EXPORT_SYMBOL vmlinux 0x61d13438 sbi_shutdown +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f5e5ba of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x61f9709c neigh_seq_start +EXPORT_SYMBOL vmlinux 0x62016e73 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x6210e09b dev_lstats_read +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x623d7a65 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x623f294e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x624b6297 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x62656db0 framebuffer_release +EXPORT_SYMBOL vmlinux 0x62724156 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x6284e7e8 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x62ae31f6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x62b9f375 follow_down_one +EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin +EXPORT_SYMBOL vmlinux 0x62c257b7 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x62e777d5 tty_do_resize +EXPORT_SYMBOL vmlinux 0x630de43c blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63295a80 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x633c1971 nf_log_trace +EXPORT_SYMBOL vmlinux 0x634c41ab file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x6352fd27 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL vmlinux 0x63606776 inet6_offloads +EXPORT_SYMBOL vmlinux 0x6362799e inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x6383dbf6 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x639866e6 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x639ed476 inet_add_offload +EXPORT_SYMBOL vmlinux 0x63a5553c read_code +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63af1be1 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63da0495 phy_get_pause +EXPORT_SYMBOL vmlinux 0x63e9d5d3 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f091b2 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x6405dcd3 slhc_toss +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x6415faf2 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x64181d66 device_add_disk +EXPORT_SYMBOL vmlinux 0x64190b82 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x6421b616 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x643d9ba1 groups_free +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x6488d610 phy_resume +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64b03eaa proc_dointvec +EXPORT_SYMBOL vmlinux 0x64b0cb3a qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64c05677 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x64c56cf3 sock_efree +EXPORT_SYMBOL vmlinux 0x64e307cf thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x64f5d365 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x64fcf259 nvdimm_revalidate_disk +EXPORT_SYMBOL vmlinux 0x65075f42 d_splice_alias +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x65182a88 bio_put +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6528893d vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x6539d434 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654ec901 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x656a0ca4 set_user_nice +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e3d43 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x656e66af xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x6576acc3 user_path_create +EXPORT_SYMBOL vmlinux 0x65881e90 register_filesystem +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x658f918f tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x65947b3e pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL vmlinux 0x65c1d1cb inode_get_bytes +EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict +EXPORT_SYMBOL vmlinux 0x65d69f8a mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65ea1c72 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x65fde628 proc_mkdir +EXPORT_SYMBOL vmlinux 0x6614aa9a devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x661909ae inet_ioctl +EXPORT_SYMBOL vmlinux 0x662d90d6 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x6632052c input_free_device +EXPORT_SYMBOL vmlinux 0x66392208 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x663e663e inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x665eb9fd ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x666c5943 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66851181 serio_open +EXPORT_SYMBOL vmlinux 0x669a6396 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x66a52c8c _dev_info +EXPORT_SYMBOL vmlinux 0x66b18dd4 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66b677d2 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x66c87275 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x66d29e23 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x66d2ebec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x66dbc719 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x66f36a2e blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x6703d4cc inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x671157fc vfs_get_super +EXPORT_SYMBOL vmlinux 0x6714cd7b bioset_init_from_src +EXPORT_SYMBOL vmlinux 0x672e8353 ps2_command +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x6755a650 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x6759a63f xa_get_mark +EXPORT_SYMBOL vmlinux 0x676edd12 drop_nlink +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x679b47a5 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x679f9000 security_sock_graft +EXPORT_SYMBOL vmlinux 0x67a35f4c __invalidate_device +EXPORT_SYMBOL vmlinux 0x67a77492 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x67af0bc9 make_kprojid +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c551f4 page_readlink +EXPORT_SYMBOL vmlinux 0x67db8e09 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x67e1a885 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x6804344a tty_throttle +EXPORT_SYMBOL vmlinux 0x680f57c6 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x681dbc09 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x682f8f3a mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x684b710f dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x68561dba iov_iter_init +EXPORT_SYMBOL vmlinux 0x685e31ca groups_sort +EXPORT_SYMBOL vmlinux 0x686ff633 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68829dc2 pci_dev_put +EXPORT_SYMBOL vmlinux 0x689685cb d_find_alias +EXPORT_SYMBOL vmlinux 0x68a90b51 get_default_font +EXPORT_SYMBOL vmlinux 0x68c68218 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x68cbd101 xdp_get_umem_from_qid +EXPORT_SYMBOL vmlinux 0x68cca27b ppp_input +EXPORT_SYMBOL vmlinux 0x690de98e scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x6936560e vme_master_mmap +EXPORT_SYMBOL vmlinux 0x693feb00 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x69493b1a kstrtos16 +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x6960c729 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69727cc6 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x699a8dee devm_clk_put +EXPORT_SYMBOL vmlinux 0x699bf720 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b9d983 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x69c52ae9 __page_symlink +EXPORT_SYMBOL vmlinux 0x69ce7c49 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69fd2c2a __register_binfmt +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a255fda of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x6a2a2bae ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x6a302a36 nvm_dev_dma_free +EXPORT_SYMBOL vmlinux 0x6a31deda netif_carrier_off +EXPORT_SYMBOL vmlinux 0x6a40592c of_root +EXPORT_SYMBOL vmlinux 0x6a57c0a8 iput +EXPORT_SYMBOL vmlinux 0x6a59b88f lease_get_mtime +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fdc43 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x6a6adde1 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x6a6bd442 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x6a75f839 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x6a839242 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x6a8831e0 jiffies_64 +EXPORT_SYMBOL vmlinux 0x6a9b7d2a sock_release +EXPORT_SYMBOL vmlinux 0x6ab487c4 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x6abb3b2c _dev_err +EXPORT_SYMBOL vmlinux 0x6ac4138b blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x6acdf0c8 blk_mq_tag_to_rq +EXPORT_SYMBOL vmlinux 0x6acf68e1 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x6ad9ccd9 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x6aee3225 get_vm_area +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af740a4 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x6af99b1d put_cmsg +EXPORT_SYMBOL vmlinux 0x6afe37be mempool_create +EXPORT_SYMBOL vmlinux 0x6b0a5d65 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3abfb6 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8a27b6 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b8fdd63 sbi_remote_fence_i +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc66b75 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x6bca1a0b radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x6bd26d55 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x6bf533e0 __skb_pad +EXPORT_SYMBOL vmlinux 0x6bfc2b23 fget +EXPORT_SYMBOL vmlinux 0x6c0eed23 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x6c1cb8df devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c25ef9a security_inode_init_security +EXPORT_SYMBOL vmlinux 0x6c37b4ea mmc_can_discard +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cd7ad06 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x6ce0143d _dev_crit +EXPORT_SYMBOL vmlinux 0x6cf9c692 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6d00aa4f pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x6d1280ef netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x6d2697dc submit_bio_wait +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d5b78a6 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x6d793ea6 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6da124d1 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x6db9c7a8 neigh_xmit +EXPORT_SYMBOL vmlinux 0x6dcf3082 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dcf9ff2 dentry_open +EXPORT_SYMBOL vmlinux 0x6ddc178f pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x6dde5756 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x6dee7e91 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x6deea952 param_get_ushort +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6dfa272b get_acl +EXPORT_SYMBOL vmlinux 0x6e16535c sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x6e286604 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x6e2f38bb tcp_connect +EXPORT_SYMBOL vmlinux 0x6e4fad44 sock_init_data +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7db0c7 skb_append +EXPORT_SYMBOL vmlinux 0x6e8ada4b tcf_classify +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea3123c filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x6ea71f3b blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ebfb586 new_inode +EXPORT_SYMBOL vmlinux 0x6ec0fa3e call_fib_notifier +EXPORT_SYMBOL vmlinux 0x6ece13ae fiemap_prep +EXPORT_SYMBOL vmlinux 0x6ed8a5fc hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x6ef7ce1c skb_queue_purge +EXPORT_SYMBOL vmlinux 0x6f00278d tcp_poll +EXPORT_SYMBOL vmlinux 0x6f02335b seq_puts +EXPORT_SYMBOL vmlinux 0x6f1978a3 ilookup5 +EXPORT_SYMBOL vmlinux 0x6f32c46a set_wb_congested +EXPORT_SYMBOL vmlinux 0x6f4a71f6 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x6f4e69c8 phy_attached_info +EXPORT_SYMBOL vmlinux 0x6f6b984c param_ops_int +EXPORT_SYMBOL vmlinux 0x6f87a9b6 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6fa0ee48 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x6faa91c3 netlink_set_err +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fb52dd1 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd38bbb vfs_rmdir +EXPORT_SYMBOL vmlinux 0x6fd571f3 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdcfc99 sigprocmask +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x7005a78d proc_set_size +EXPORT_SYMBOL vmlinux 0x7011b84d dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x701ec4ac sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7060d60c ip_defrag +EXPORT_SYMBOL vmlinux 0x706573be param_get_bool +EXPORT_SYMBOL vmlinux 0x706b59e9 file_open_root +EXPORT_SYMBOL vmlinux 0x706f9e97 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x70700122 sock_no_listen +EXPORT_SYMBOL vmlinux 0x7071a4f2 cmdline_parts_free +EXPORT_SYMBOL vmlinux 0x7076ede7 kernel_accept +EXPORT_SYMBOL vmlinux 0x70781e6b nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x70839170 peernet2id +EXPORT_SYMBOL vmlinux 0x70890763 pskb_extract +EXPORT_SYMBOL vmlinux 0x709237c2 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x709ebeac setup_new_exec +EXPORT_SYMBOL vmlinux 0x70a193ac vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x70a2e8f4 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x70a4e69a skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x70a729c4 from_kprojid +EXPORT_SYMBOL vmlinux 0x70c119da call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x70c913ea pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x70e727f4 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x70e8ccb0 vfs_llseek +EXPORT_SYMBOL vmlinux 0x70fce704 nd_namespace_blk_validate +EXPORT_SYMBOL vmlinux 0x7103c721 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x711953e8 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x711e5126 netdev_info +EXPORT_SYMBOL vmlinux 0x711fbd41 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713453a9 kobject_get +EXPORT_SYMBOL vmlinux 0x714578de tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x714876ad vfs_iter_read +EXPORT_SYMBOL vmlinux 0x715aa71d phy_connect_direct +EXPORT_SYMBOL vmlinux 0x716751b3 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x716ef336 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7171f35f param_set_bool +EXPORT_SYMBOL vmlinux 0x7180eddb sock_create_lite +EXPORT_SYMBOL vmlinux 0x719f6e86 d_delete +EXPORT_SYMBOL vmlinux 0x71a434b3 write_cache_pages +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a5a8cc of_node_put +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71c0d85b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x71c2c77c __xa_set_mark +EXPORT_SYMBOL vmlinux 0x71d66bd0 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x71e64992 ida_alloc_range +EXPORT_SYMBOL vmlinux 0x71fdfa96 fb_set_var +EXPORT_SYMBOL vmlinux 0x72118d8a __mutex_init +EXPORT_SYMBOL vmlinux 0x72170fee skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x7221182d mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x723c6089 mem_map +EXPORT_SYMBOL vmlinux 0x72454da9 unpin_user_page +EXPORT_SYMBOL vmlinux 0x72474f17 pfn_base +EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported +EXPORT_SYMBOL vmlinux 0x725997f4 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x7259a9d7 get_cached_acl +EXPORT_SYMBOL vmlinux 0x72603464 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x72871a23 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x728fa050 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72c13589 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x72d29a16 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73037ae8 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731831f4 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x731e72a8 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x7340c269 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x7348f69e devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x735bca31 fb_get_mode +EXPORT_SYMBOL vmlinux 0x735d3d09 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x73728e76 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x737d9faf reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738195e1 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x739b15c6 ptp_clock_event +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73abd965 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x73e7eff3 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x7415f963 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x74677623 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x74703f13 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x74725e69 ZSTD_compressContinue +EXPORT_SYMBOL vmlinux 0x7477e73e single_open +EXPORT_SYMBOL vmlinux 0x747f38f6 finish_open +EXPORT_SYMBOL vmlinux 0x748ba536 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL vmlinux 0x74aede78 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x74b3a286 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x74b6ddf5 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74dee490 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x74e30f1b __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74eb1854 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x75337bec iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x75494bde netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x755abd88 sg_miter_next +EXPORT_SYMBOL vmlinux 0x756883ec d_make_root +EXPORT_SYMBOL vmlinux 0x756eabd3 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x7576c33e iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x75981329 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x75996c02 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x75a147d5 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x75bbc1b2 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bed26a qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d12908 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x75d2af37 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x75e4af50 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x75f31dd1 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x75f4a10c d_rehash +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b5a76 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x76220493 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76242a03 poll_freewait +EXPORT_SYMBOL vmlinux 0x7629ba7c udp_set_csum +EXPORT_SYMBOL vmlinux 0x763209bc mempool_init_node +EXPORT_SYMBOL vmlinux 0x763c4f9b I_BDEV +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764aff70 register_quota_format +EXPORT_SYMBOL vmlinux 0x764dccc3 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x765ec6c5 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x7660eef8 put_fs_context +EXPORT_SYMBOL vmlinux 0x766487ff mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a9fb3f input_unregister_device +EXPORT_SYMBOL vmlinux 0x76b53749 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x76bab3d7 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x76c57a2e netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x76c86672 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d451c4 add_taint +EXPORT_SYMBOL vmlinux 0x76d561f5 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x76dcc43c ll_rw_block +EXPORT_SYMBOL vmlinux 0x76e40541 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x76e65bea sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x76e6c6f4 __test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x76f0cc5c ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x76fe42ca wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x7714d5fe seq_write +EXPORT_SYMBOL vmlinux 0x7719e154 mempool_destroy +EXPORT_SYMBOL vmlinux 0x772cae32 edac_mc_find +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x7733b288 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x77394201 vme_lm_request +EXPORT_SYMBOL vmlinux 0x773b4736 sock_wake_async +EXPORT_SYMBOL vmlinux 0x773dca78 dev_printk +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x7740275f param_set_copystring +EXPORT_SYMBOL vmlinux 0x774961e1 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x777677a7 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x7783020c simple_pin_fs +EXPORT_SYMBOL vmlinux 0x7783196d cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x77995336 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b8daea md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77f0c8a6 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x77fa347a key_revoke +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x781153a6 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x781c50be loop_register_transfer +EXPORT_SYMBOL vmlinux 0x781c619f timestamp_truncate +EXPORT_SYMBOL vmlinux 0x782b9f6d md_bitmap_free +EXPORT_SYMBOL vmlinux 0x782ef36d md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78576c05 __lock_page +EXPORT_SYMBOL vmlinux 0x7858f9e8 of_dev_get +EXPORT_SYMBOL vmlinux 0x785d27e4 vmap +EXPORT_SYMBOL vmlinux 0x786a2f93 con_is_visible +EXPORT_SYMBOL vmlinux 0x78712f11 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets +EXPORT_SYMBOL vmlinux 0x789b405d __mmiowb_state +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78ac0ce2 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x78bc2dd7 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78eea9f2 send_sig +EXPORT_SYMBOL vmlinux 0x7927c50b seg6_hmac_net_init +EXPORT_SYMBOL vmlinux 0x79312b2e vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x79739c3c utf8nagemin +EXPORT_SYMBOL vmlinux 0x7978711f mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x79841268 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x7984f902 tcp_filter +EXPORT_SYMBOL vmlinux 0x7992b1fc ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x799be541 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79b5d1d4 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x79b8ba06 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x79c70dea of_phy_attach +EXPORT_SYMBOL vmlinux 0x79dcf5fc rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x79fac708 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x79ff628e sg_init_one +EXPORT_SYMBOL vmlinux 0x7a08b536 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a166622 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a377002 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a60e2bd node_states +EXPORT_SYMBOL vmlinux 0x7a8742d6 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9afd8e genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x7a9b37e8 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa67833 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abb3d9f flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adb7741 tcp_prot +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae734c5 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7af8f91a blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x7b0192da kstrtou16 +EXPORT_SYMBOL vmlinux 0x7b12b669 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x7b2a33e9 sock_wfree +EXPORT_SYMBOL vmlinux 0x7b3f659d devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x7b501ba7 truncate_setsize +EXPORT_SYMBOL vmlinux 0x7b5b7666 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b607d7b tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x7b6646bb _raw_read_lock +EXPORT_SYMBOL vmlinux 0x7ba6306c kobject_add +EXPORT_SYMBOL vmlinux 0x7bbdb8b1 dev_mc_del +EXPORT_SYMBOL vmlinux 0x7bc71885 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x7c113542 _dev_alert +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c24ab7b mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x7c44060a kmem_cache_create +EXPORT_SYMBOL vmlinux 0x7c8ea303 dump_emit +EXPORT_SYMBOL vmlinux 0x7c9647df devm_of_iomap +EXPORT_SYMBOL vmlinux 0x7ca69cb6 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x7ca99577 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x7caad4df fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL vmlinux 0x7cbd13bb __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x7cc2198e abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x7cdca21f find_inode_nowait +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf4fa21 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0ca858 input_set_keycode +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d13489e tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x7d3b49d0 find_lock_entry +EXPORT_SYMBOL vmlinux 0x7d3e5c2f generic_fadvise +EXPORT_SYMBOL vmlinux 0x7d451270 dquot_operations +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d4d2d50 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x7d561420 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d681ea7 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x7d6c6b56 proto_register +EXPORT_SYMBOL vmlinux 0x7da1e695 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7de41929 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df2e82e __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7df785e1 fb_blank +EXPORT_SYMBOL vmlinux 0x7e0f27cc adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x7e2e4219 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e49fb1b unix_detach_fds +EXPORT_SYMBOL vmlinux 0x7e60161c lockref_get +EXPORT_SYMBOL vmlinux 0x7e80dc5e cdev_device_add +EXPORT_SYMBOL vmlinux 0x7e8f2b04 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x7e8fc57a tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x7eab5647 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7eac3ca9 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x7ebca937 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x7ec1a4de dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ece04e1 misc_register +EXPORT_SYMBOL vmlinux 0x7eeb64ce phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7ef3fc82 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f31d45e linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x7f3324a5 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x7f3a1819 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f582380 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x7f5932c3 of_clk_get +EXPORT_SYMBOL vmlinux 0x7f65f612 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fc19d42 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x7fcaef7e sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x7fcf63c7 dquot_disable +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff85228 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x80086495 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x800c3127 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x8011b91a devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x805b8f34 ata_port_printk +EXPORT_SYMBOL vmlinux 0x80727eab gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x807df9e8 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x8099a475 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x80a24925 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x80a6a1a3 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x80a966c8 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x80b2d5d5 __xa_erase +EXPORT_SYMBOL vmlinux 0x80c45ddc __free_pages +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d9d7ee __bread_gfp +EXPORT_SYMBOL vmlinux 0x80ef7230 __put_cred +EXPORT_SYMBOL vmlinux 0x80f33f0e request_key_tag +EXPORT_SYMBOL vmlinux 0x80fefdcc clear_wb_congested +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x812a3c28 inode_init_always +EXPORT_SYMBOL vmlinux 0x812eaa1c tcp_parse_options +EXPORT_SYMBOL vmlinux 0x8132cf15 scsi_host_get +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815724fc cfb_imageblit +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815d07f2 md_check_recovery +EXPORT_SYMBOL vmlinux 0x8169fefd pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x81799985 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e4827b mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x81f04a5f cdev_set_parent +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x824a2db1 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x82515aad add_wait_queue +EXPORT_SYMBOL vmlinux 0x827a8ecc blk_integrity_register +EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init +EXPORT_SYMBOL vmlinux 0x82842444 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x8285b999 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x828f0201 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x82b4700e stream_open +EXPORT_SYMBOL vmlinux 0x82d77ceb sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x82fca063 register_console +EXPORT_SYMBOL vmlinux 0x830dde58 nf_log_register +EXPORT_SYMBOL vmlinux 0x832cfa3e textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x833754fa tty_port_close_end +EXPORT_SYMBOL vmlinux 0x83457b4f key_alloc +EXPORT_SYMBOL vmlinux 0x8354065f lease_modify +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x836a519b posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x83750406 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x837d8d92 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x839510db pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x83a243d1 d_alloc_name +EXPORT_SYMBOL vmlinux 0x83a24723 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x83a8a8ae phy_write_mmd +EXPORT_SYMBOL vmlinux 0x83a90ebf kern_unmount +EXPORT_SYMBOL vmlinux 0x83b290fd do_wait_intr +EXPORT_SYMBOL vmlinux 0x83b537f8 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x83c06fe6 inode_init_owner +EXPORT_SYMBOL vmlinux 0x83c52fba xfrm4_protocol_init +EXPORT_SYMBOL vmlinux 0x83cab7e3 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x83e21090 simple_statfs +EXPORT_SYMBOL vmlinux 0x83f157b5 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x840f2ce1 of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x842290cc netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x842c1a1f iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x8432fd46 bdi_alloc +EXPORT_SYMBOL vmlinux 0x843db9d7 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x84682bbf vlan_for_each +EXPORT_SYMBOL vmlinux 0x84687559 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x848c8efe send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x84c7cb2a inc_node_state +EXPORT_SYMBOL vmlinux 0x84cdddb1 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x84edef8f mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x84f29fad netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x85061b76 _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x852f2b65 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x85316379 dma_direct_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x853864e3 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x855212b7 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x85627a8a vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856e0bc0 path_put +EXPORT_SYMBOL vmlinux 0x857e1761 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x8581b4a4 cdev_alloc +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85ea5123 try_to_release_page +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f7b5cf security_binder_transaction +EXPORT_SYMBOL vmlinux 0x85fbc931 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x86024018 page_pool_destroy +EXPORT_SYMBOL vmlinux 0x8606ed7c of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x8606f7a6 bio_reset +EXPORT_SYMBOL vmlinux 0x8609f1d2 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x8622c29d __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x863197ed mmc_retune_release +EXPORT_SYMBOL vmlinux 0x86343c98 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863c4f4c pci_remove_bus +EXPORT_SYMBOL vmlinux 0x864b68b8 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x866fa747 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x8687896e remove_proc_entry +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86e4397a __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x86e5d628 consume_skb +EXPORT_SYMBOL vmlinux 0x86e8df17 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x86f58482 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x871b91fe dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x87216345 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x872d7e68 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x873839d9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x873d7528 skb_dump +EXPORT_SYMBOL vmlinux 0x8765042b pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x8777a896 kernel_connect +EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream +EXPORT_SYMBOL vmlinux 0x8799601f simple_getattr +EXPORT_SYMBOL vmlinux 0x87ad3eb3 sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x87bea589 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x87e05d25 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x87eb5eea sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x87f947d9 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x881a90ec datagram_poll +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x8830d9e1 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x883cb9b4 page_mapped +EXPORT_SYMBOL vmlinux 0x8842a8a4 add_to_pipe +EXPORT_SYMBOL vmlinux 0x8859c307 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x887c39bf sock_no_linger +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock +EXPORT_SYMBOL vmlinux 0x88c447b9 vga_get +EXPORT_SYMBOL vmlinux 0x88db9b17 free_buffer_head +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88def55f blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x8918a5fa netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x8919505f ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x893c1abc skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x89657a2a zero_fill_bio_iter +EXPORT_SYMBOL vmlinux 0x896d1acd unlock_page +EXPORT_SYMBOL vmlinux 0x8974a0f0 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x89763139 mmc_free_host +EXPORT_SYMBOL vmlinux 0x898e0bb2 flush_icache_all +EXPORT_SYMBOL vmlinux 0x899d246e jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x89b4a959 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x89bbc623 audit_log_start +EXPORT_SYMBOL vmlinux 0x89bdc844 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x89f2730c sock_create_kern +EXPORT_SYMBOL vmlinux 0x89fdd04e ___pskb_trim +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a518113 security_path_rename +EXPORT_SYMBOL vmlinux 0x8a5375a1 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a729dfa netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x8a73f358 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x8a7b6ff1 skb_pull +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a83b462 simple_write_begin +EXPORT_SYMBOL vmlinux 0x8a85f998 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x8a8a367a pci_get_device +EXPORT_SYMBOL vmlinux 0x8a948f27 __nla_parse +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9c955a get_task_exe_file +EXPORT_SYMBOL vmlinux 0x8aa02b0c get_mem_cgroup_from_page +EXPORT_SYMBOL vmlinux 0x8aa6b3c1 user_revoke +EXPORT_SYMBOL vmlinux 0x8ab6ec53 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac3ffdc udp_pre_connect +EXPORT_SYMBOL vmlinux 0x8ac41829 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x8ae63713 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x8ae8235b da903x_query_status +EXPORT_SYMBOL vmlinux 0x8afc8a3c nobh_writepage +EXPORT_SYMBOL vmlinux 0x8afdb2e9 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b00a144 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x8b07d4e7 pci_pme_active +EXPORT_SYMBOL vmlinux 0x8b23715f unregister_console +EXPORT_SYMBOL vmlinux 0x8b3ce8d8 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x8b5761bf gro_cells_receive +EXPORT_SYMBOL vmlinux 0x8b5c5530 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b78ced6 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b856cb7 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x8b8eb51b __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b97c121 mmc_spi_put_pdata +EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx +EXPORT_SYMBOL vmlinux 0x8ba7ae15 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x8bb84cf1 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x8bc80a6f dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x8bd085ef ps2_init +EXPORT_SYMBOL vmlinux 0x8bd0a3fd _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x8be5d17e dev_change_carrier +EXPORT_SYMBOL vmlinux 0x8bec50c2 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x8bf87370 setattr_prepare +EXPORT_SYMBOL vmlinux 0x8c036e68 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x8c26ba56 bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x8c475fd1 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x8c552300 dquot_get_state +EXPORT_SYMBOL vmlinux 0x8c632e43 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x8c6bf651 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x8c7df478 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x8c88a29c devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x8c8b7716 mount_single +EXPORT_SYMBOL vmlinux 0x8c8efa6c cfb_copyarea +EXPORT_SYMBOL vmlinux 0x8c8fbdb7 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x8c961582 send_sig_info +EXPORT_SYMBOL vmlinux 0x8cb7dd7f ip_check_defrag +EXPORT_SYMBOL vmlinux 0x8ce11086 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x8ce390bf max8998_write_reg +EXPORT_SYMBOL vmlinux 0x8d00f2d7 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x8d2924c2 bdget +EXPORT_SYMBOL vmlinux 0x8d29a742 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x8d2ee686 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x8d5384b4 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d68d290 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d9335ba end_page_writeback +EXPORT_SYMBOL vmlinux 0x8d96c63a blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x8da8804f clear_nlink +EXPORT_SYMBOL vmlinux 0x8db3c24d netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x8dbbb3b6 input_event +EXPORT_SYMBOL vmlinux 0x8ddab831 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de8fc49 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e0a3579 phy_attach +EXPORT_SYMBOL vmlinux 0x8e116da6 wireless_send_event +EXPORT_SYMBOL vmlinux 0x8e193500 fs_bio_set +EXPORT_SYMBOL vmlinux 0x8e3f011a __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x8e542d76 contig_page_data +EXPORT_SYMBOL vmlinux 0x8e854620 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x8e866590 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x8e876807 rps_needed +EXPORT_SYMBOL vmlinux 0x8e92e4d1 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x8ea70d49 of_device_register +EXPORT_SYMBOL vmlinux 0x8ea8f2dc flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x8eb216e9 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8ecfa168 phy_disconnect +EXPORT_SYMBOL vmlinux 0x8ee668b0 pci_request_regions +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f25450d tty_port_close_start +EXPORT_SYMBOL vmlinux 0x8f561d91 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x8f5dbcb6 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x8f615ab9 napi_get_frags +EXPORT_SYMBOL vmlinux 0x8f622979 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x8f8135a4 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fe07ca2 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x8fed2d5f t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffbdba9 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x90419395 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x9045804c del_random_ready_callback +EXPORT_SYMBOL vmlinux 0x904767b5 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x9054ee54 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x905f010f qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x90ac3102 dev_base_lock +EXPORT_SYMBOL vmlinux 0x90d3894d remove_arg_zero +EXPORT_SYMBOL vmlinux 0x90f88bee phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x9102a77d __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x9114c15e write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x912b07e9 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x9137e230 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x913d4195 sk_net_capable +EXPORT_SYMBOL vmlinux 0x9146dc14 __napi_schedule +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x917eda12 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919e2ac5 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x91a150d9 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91b7ad1c param_get_short +EXPORT_SYMBOL vmlinux 0x91cc01a8 redraw_screen +EXPORT_SYMBOL vmlinux 0x91f55115 simple_unlink +EXPORT_SYMBOL vmlinux 0x92054704 sg_miter_start +EXPORT_SYMBOL vmlinux 0x92190e03 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x921d2a35 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x921f9242 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923fa767 __xa_store +EXPORT_SYMBOL vmlinux 0x924ae963 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x9257e9b0 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x927c884b task_work_add +EXPORT_SYMBOL vmlinux 0x9283a8b3 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x92856130 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x928e007a phy_start_aneg +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92be2406 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x92ca7a17 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x92d0f4e9 key_move +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93014ea2 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x93031168 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x9305bf68 find_next_and_bit +EXPORT_SYMBOL vmlinux 0x930f3338 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x9333d7cb free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x933fcd93 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x934138b0 d_obtain_root +EXPORT_SYMBOL vmlinux 0x93439923 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x93548b6d mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x9355f383 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x935d1bab netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x936e07a5 current_in_userns +EXPORT_SYMBOL vmlinux 0x9370e229 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x9376b408 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x9382c04a netdev_warn +EXPORT_SYMBOL vmlinux 0x93907cd0 passthru_features_check +EXPORT_SYMBOL vmlinux 0x939753e8 up_write +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b37963 read_cache_page +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b518f3 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x93c1992f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x93cdbea0 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x93de4f6c xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x93f18d43 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x940dcd4a phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x941c8965 sget +EXPORT_SYMBOL vmlinux 0x94268759 override_creds +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x943b827c d_path +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x94515e33 pci_request_region +EXPORT_SYMBOL vmlinux 0x9471dbb4 down_timeout +EXPORT_SYMBOL vmlinux 0x947392a7 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94af0430 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94d3e78c dcb_getapp +EXPORT_SYMBOL vmlinux 0x94e25024 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x94e481cf ZSTD_adjustCParams +EXPORT_SYMBOL vmlinux 0x94f072a8 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x94f45c8d mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x94f8e331 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x94fb8f1d forget_cached_acl +EXPORT_SYMBOL vmlinux 0x94ffc9ea dma_set_mask +EXPORT_SYMBOL vmlinux 0x9510cb75 tty_check_change +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x95285d04 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x95368d33 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x953a73f6 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954e0cbf sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x954eef72 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956290c5 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x956455a8 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x9569c198 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x956c90f1 vfs_statx_fd +EXPORT_SYMBOL vmlinux 0x956f636a fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x958fc98d phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x9593e212 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x959ca0fd mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x95d65117 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x95e425c6 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x95fcd441 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x961b3322 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x961c0896 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x963c6a1e sg_alloc_table_from_pages +EXPORT_SYMBOL vmlinux 0x964ec027 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x965553ad inc_node_page_state +EXPORT_SYMBOL vmlinux 0x96756037 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9687509a vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x96884922 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x96994256 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b8784f ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e17564 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x972a529b tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x97448886 sk_wait_data +EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x974c2696 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x97571c44 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x9798fd52 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x979b3df4 seq_open +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97ae7d64 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x97b34a88 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x97b96c0e devm_free_irq +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d111b5 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x97d129ee percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x97da802f pci_find_resource +EXPORT_SYMBOL vmlinux 0x97daa71b gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x97ed3096 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x981b0fc8 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983b438a on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x984f9904 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x9854873c vfs_link +EXPORT_SYMBOL vmlinux 0x987bdc1b blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x987cfd42 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x987dfa07 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x988ae0f1 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x988d7f0b __scm_send +EXPORT_SYMBOL vmlinux 0x989604f6 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x98982862 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x989cb29b phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x98a4242f genphy_read_status +EXPORT_SYMBOL vmlinux 0x98a5c1bd twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98ca8d47 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d125b1 iov_iter_for_each_range +EXPORT_SYMBOL vmlinux 0x98db6f5a radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x98e49c03 vfs_getattr +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ed03ff generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x98f1c552 generic_permission +EXPORT_SYMBOL vmlinux 0x98fc5fba napi_gro_flush +EXPORT_SYMBOL vmlinux 0x98fd5d8e panic_notifier_list +EXPORT_SYMBOL vmlinux 0x9924e7e2 fscrypt_inherit_context +EXPORT_SYMBOL vmlinux 0x9931bb4f ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x9953e18e security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99bf60cb dev_uc_init +EXPORT_SYMBOL vmlinux 0x99c1693e i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x99c4b58d inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x99c70f56 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x99d01900 page_symlink +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99db2f6c fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x99e1015c _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x99f58975 ihold +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ec50 make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a2fec94 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x9a39f891 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a589b31 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9a73153c km_query +EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict +EXPORT_SYMBOL vmlinux 0x9a7cb5bf pci_match_id +EXPORT_SYMBOL vmlinux 0x9a9b4006 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ad4e116 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x9ad8f11e kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x9ae41091 phy_device_register +EXPORT_SYMBOL vmlinux 0x9aebff91 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x9b06460d fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x9b157931 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x9b18d980 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b2f92b2 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b54f15a tty_name +EXPORT_SYMBOL vmlinux 0x9b62fdeb follow_down +EXPORT_SYMBOL vmlinux 0x9b637dd0 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x9b78d402 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x9b7f5959 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x9b836fcf notify_change +EXPORT_SYMBOL vmlinux 0x9b950466 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x9b9667c5 simple_link +EXPORT_SYMBOL vmlinux 0x9b991c3f jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x9ba608e6 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x9bc56dc3 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x9bd2b6b3 input_get_timestamp +EXPORT_SYMBOL vmlinux 0x9bd31350 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x9bd4dedf devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x9bef6e92 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x9c01592d scsi_host_put +EXPORT_SYMBOL vmlinux 0x9c0f41ba xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x9c22e75e fs_lookup_param +EXPORT_SYMBOL vmlinux 0x9c4ffd95 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x9c543879 param_set_ulong +EXPORT_SYMBOL vmlinux 0x9c69165b set_disk_ro +EXPORT_SYMBOL vmlinux 0x9c6920fd __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x9c6c6743 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x9c862451 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x9c8c98d3 get_tree_single +EXPORT_SYMBOL vmlinux 0x9c942adc vprintk_emit +EXPORT_SYMBOL vmlinux 0x9ca50fd0 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cc1a754 devm_release_resource +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd2f680 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x9cddc62b security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cfd233f ppp_dev_name +EXPORT_SYMBOL vmlinux 0x9d055266 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1b4791 gro_cells_init +EXPORT_SYMBOL vmlinux 0x9d270006 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x9d2ac80a unload_nls +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d50eee3 md_cluster_ops +EXPORT_SYMBOL vmlinux 0x9d575911 lock_page_memcg +EXPORT_SYMBOL vmlinux 0x9d5b1dca do_SAK +EXPORT_SYMBOL vmlinux 0x9d5f5963 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x9d68bc8e dma_direct_unmap_page +EXPORT_SYMBOL vmlinux 0x9d6c2114 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x9d7387ca mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x9d78de94 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x9d813d1c md_write_inc +EXPORT_SYMBOL vmlinux 0x9d858191 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x9d85e2e1 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x9d8a8802 account_page_redirty +EXPORT_SYMBOL vmlinux 0x9d917d3f phy_modify_paged +EXPORT_SYMBOL vmlinux 0x9d948b2d dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x9da1aaf2 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x9db9afd5 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x9dcad65a __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x9dd33cb7 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x9de2619a phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x9df6b361 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x9df8b8c0 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x9dfc431e ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x9e0afc5c generic_file_llseek +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e4e9296 dql_init +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5f3c87 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6d0cf6 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x9e723c80 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x9e7610d6 inet6_bind +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea53d7f vsnprintf +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb88de8 xa_set_mark +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ee6e3a7 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x9ee74d50 tcp_conn_request +EXPORT_SYMBOL vmlinux 0x9efaaa40 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x9f049244 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x9f04fba8 single_release +EXPORT_SYMBOL vmlinux 0x9f0b51c8 inet_protos +EXPORT_SYMBOL vmlinux 0x9f0d9a05 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x9f307fb2 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x9f369596 mutex_unlock +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4a2b26 dma_resv_init +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f65c857 ZSTD_checkCParams +EXPORT_SYMBOL vmlinux 0x9f82f636 inc_nlink +EXPORT_SYMBOL vmlinux 0x9f893572 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9e88c2 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x9f9fd6ac generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb1d0ed uuid_is_valid +EXPORT_SYMBOL vmlinux 0x9fd71a4e max8998_update_reg +EXPORT_SYMBOL vmlinux 0x9fdcb02a bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ff5144a of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x9ff58eba __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa0102a29 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xa011bbaf __kfree_skb +EXPORT_SYMBOL vmlinux 0xa01306ca netif_rx +EXPORT_SYMBOL vmlinux 0xa013dc00 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xa01b1037 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xa020f9f0 audit_log_task_context +EXPORT_SYMBOL vmlinux 0xa024e295 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xa026f680 dma_direct_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05be324 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xa060c010 skb_tx_error +EXPORT_SYMBOL vmlinux 0xa0740ddd sbi_console_getchar +EXPORT_SYMBOL vmlinux 0xa0784836 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa0842d02 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa08fb35d migrate_page_copy +EXPORT_SYMBOL vmlinux 0xa090081d pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0a500a0 dev_addr_del +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b1ddf8 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xa0bec272 import_iovec +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 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0fc7e71 pci_read_config_word +EXPORT_SYMBOL vmlinux 0xa1046b98 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xa106db0e tcp_ioctl +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12f236c tcp_make_synack +EXPORT_SYMBOL vmlinux 0xa155c071 ZSTD_compressBegin_usingDict +EXPORT_SYMBOL vmlinux 0xa15e7c2b ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xa15fcd68 bdi_register +EXPORT_SYMBOL vmlinux 0xa1650167 skb_queue_head +EXPORT_SYMBOL vmlinux 0xa16e37b5 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xa1794c11 param_ops_byte +EXPORT_SYMBOL vmlinux 0xa1839690 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa184226d abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0xa18575a3 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xa1a8e930 read_cache_pages +EXPORT_SYMBOL vmlinux 0xa1b813be blkdev_fsync +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c817c6 skb_dequeue +EXPORT_SYMBOL vmlinux 0xa1d7499a module_layout +EXPORT_SYMBOL vmlinux 0xa1dd5668 netif_device_attach +EXPORT_SYMBOL vmlinux 0xa1e0307f cpumask_next +EXPORT_SYMBOL vmlinux 0xa1ef7bb9 tty_devnum +EXPORT_SYMBOL vmlinux 0xa1f4e8d4 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xa1f5e2f4 sget_fc +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2255a68 inet_bind +EXPORT_SYMBOL vmlinux 0xa22a1e1f __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa22bcc33 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0xa24c9c69 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xa24e4474 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa2529f2e gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte +EXPORT_SYMBOL vmlinux 0xa25fd110 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa288c5c8 get_user_pages_locked +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa298b650 _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xa29c6d9f napi_consume_skb +EXPORT_SYMBOL vmlinux 0xa2c12f36 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xa2c18e72 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xa2ccbbe7 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xa2ed49c7 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xa2f0c7df __xa_alloc +EXPORT_SYMBOL vmlinux 0xa30abbf9 pci_find_capability +EXPORT_SYMBOL vmlinux 0xa316a9de inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xa31c323c call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa35a5c78 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa366a368 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xa3675a17 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xa37e08fe kthread_bind +EXPORT_SYMBOL vmlinux 0xa37e4d6d zpool_register_driver +EXPORT_SYMBOL vmlinux 0xa381944f dql_reset +EXPORT_SYMBOL vmlinux 0xa389c945 down_interruptible +EXPORT_SYMBOL vmlinux 0xa39940dd bh_submit_read +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a54979 init_on_free +EXPORT_SYMBOL vmlinux 0xa3ab577f phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xa3b770ad qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xa3baaae1 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xa3c00c06 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0xa3ce7892 of_get_mac_address +EXPORT_SYMBOL vmlinux 0xa3cf0b71 unix_gc_lock +EXPORT_SYMBOL vmlinux 0xa3e8f07f vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4001b31 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0xa4094e71 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xa410f334 napi_gro_frags +EXPORT_SYMBOL vmlinux 0xa4185abc dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa4194786 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xa43799a8 rfs_needed +EXPORT_SYMBOL vmlinux 0xa4552208 init_on_alloc +EXPORT_SYMBOL vmlinux 0xa47ae2b1 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xa4a74956 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xa4b65722 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xa4c8127c ZSTD_maxCLevel +EXPORT_SYMBOL vmlinux 0xa4e0fff4 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xa4edfee8 would_dump +EXPORT_SYMBOL vmlinux 0xa4f5fe91 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xa5056338 __hsiphash_aligned +EXPORT_SYMBOL vmlinux 0xa514a213 unregister_netdev +EXPORT_SYMBOL vmlinux 0xa534ea3e tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xa55072a1 param_get_int +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa5583ae9 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xa55a46c1 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xa5692eb6 sg_miter_skip +EXPORT_SYMBOL vmlinux 0xa56dbb33 get_tree_keyed +EXPORT_SYMBOL vmlinux 0xa583d727 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xa5a24713 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5b844ae nmi_panic +EXPORT_SYMBOL vmlinux 0xa5e247d6 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xa5fa0422 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xa5fe369a blk_queue_max_write_same_sectors +EXPORT_SYMBOL vmlinux 0xa603b489 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xa6042f83 key_task_permission +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa62946aa ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xa64b0974 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xa6513208 mutex_lock +EXPORT_SYMBOL vmlinux 0xa6543978 release_sock +EXPORT_SYMBOL vmlinux 0xa6593ab2 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0xa66d32d1 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0xa675d2f7 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6841fb6 tun_ptr_to_xdp +EXPORT_SYMBOL vmlinux 0xa6b61c52 device_add_disk_no_queue_reg +EXPORT_SYMBOL vmlinux 0xa6b6fa3c __asm_copy_to_user +EXPORT_SYMBOL vmlinux 0xa6bb3dc7 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xa6d0e897 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xa6fef1ba of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xa7003d01 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xa7178823 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xa72957cc __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0xa72dab62 up +EXPORT_SYMBOL vmlinux 0xa72debd1 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa750310d devm_memunmap +EXPORT_SYMBOL vmlinux 0xa76f291c path_nosuid +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7830214 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xa78a906e sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xa792e58a fb_find_mode +EXPORT_SYMBOL vmlinux 0xa7942d98 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xa7ad94e7 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xa7c02af4 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0xa7c446a1 sg_last +EXPORT_SYMBOL vmlinux 0xa7cc4033 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xa7e38f12 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7f9eb02 _copy_from_iter_full_nocache +EXPORT_SYMBOL vmlinux 0xa824ff33 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xa82fafc4 __put_page +EXPORT_SYMBOL vmlinux 0xa8306b78 scaled_ppm_to_ppb +EXPORT_SYMBOL vmlinux 0xa832a5d3 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xa833d3be d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xa83bb82a kthread_blkcg +EXPORT_SYMBOL vmlinux 0xa83d9dde __bio_clone_fast +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa858bb6a mdiobus_scan +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa86c6f4b mount_nodev +EXPORT_SYMBOL vmlinux 0xa86dd987 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xa88bd5a8 sync_blockdev +EXPORT_SYMBOL vmlinux 0xa88dc79b __sk_dst_check +EXPORT_SYMBOL vmlinux 0xa89d282f lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xa89d7be9 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xa8a5f414 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8d68f1d twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa902bff9 vme_irq_request +EXPORT_SYMBOL vmlinux 0xa904b512 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa92f836f vfs_mknod +EXPORT_SYMBOL vmlinux 0xa9337e21 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xa934bc4b flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0xa93625a5 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xa9419d2e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa94adf3e register_framebuffer +EXPORT_SYMBOL vmlinux 0xa94b4764 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xa94d07d2 skb_put +EXPORT_SYMBOL vmlinux 0xa95940d1 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xa95a4f19 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa968f135 ps2_drain +EXPORT_SYMBOL vmlinux 0xa972c593 fb_pan_display +EXPORT_SYMBOL vmlinux 0xa97463c9 __siphash_aligned +EXPORT_SYMBOL vmlinux 0xa97cd177 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes +EXPORT_SYMBOL vmlinux 0xa9bdeaf0 kern_path_create +EXPORT_SYMBOL vmlinux 0xa9d1a4fd skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa9d75de8 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xaa03878a ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xaa1a64fa start_tty +EXPORT_SYMBOL vmlinux 0xaa2480a2 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xaa2c8938 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xaa3c30ba flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0xaa3f0eeb input_setup_polling +EXPORT_SYMBOL vmlinux 0xaa438775 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xaa43ed51 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xaa4de141 tty_register_device +EXPORT_SYMBOL vmlinux 0xaa5e5325 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0xaa612ec4 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa713d03 generic_make_request +EXPORT_SYMBOL vmlinux 0xaa7870dd netdev_notice +EXPORT_SYMBOL vmlinux 0xaa78b8f1 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaab410a6 param_get_long +EXPORT_SYMBOL vmlinux 0xaab6528d configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xaaba6e7f __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xaac143fd ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xaaccff38 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad673db param_set_charp +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaaf99e51 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab051be8 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xab0f259f gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xab13183b blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xab15eb9e pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab3f8d7d kill_pid +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab78e5f7 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0xab87535b dm_put_table_device +EXPORT_SYMBOL vmlinux 0xab8aa45c md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xab9e36a6 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xabb3932f input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xabb8ff98 radix_tree_insert +EXPORT_SYMBOL vmlinux 0xabc853b6 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xabe9dfd1 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac2cb26c __tcf_idr_release +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac47c731 param_array_ops +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac6141b4 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xac8597d5 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xac932724 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xac94e86b vsprintf +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacb03f66 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xacb958b6 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xaccb9ad1 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacf84237 ip6_xmit +EXPORT_SYMBOL vmlinux 0xad009a9f __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad04fdc9 vme_slave_request +EXPORT_SYMBOL vmlinux 0xad1c5459 sbi_remote_sfence_vma_asid +EXPORT_SYMBOL vmlinux 0xad3eae5f register_qdisc +EXPORT_SYMBOL vmlinux 0xad6f7144 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad7c3256 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad99397e writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xad995dac netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xadbc6d3f ida_free +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc7270b input_inject_event +EXPORT_SYMBOL vmlinux 0xadc8c393 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize +EXPORT_SYMBOL vmlinux 0xade6e775 input_register_handle +EXPORT_SYMBOL vmlinux 0xadec1eb8 md_write_end +EXPORT_SYMBOL vmlinux 0xadf04b2b input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae11853d pci_set_master +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae351ef0 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xae4c87d6 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xae531050 eth_get_headlen +EXPORT_SYMBOL vmlinux 0xae54c352 done_path_create +EXPORT_SYMBOL vmlinux 0xae639880 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xae6b08e6 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xae92a281 _dev_warn +EXPORT_SYMBOL vmlinux 0xae9b41e0 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xaeabc372 give_up_console +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeac3be6 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0xaef818f6 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xaefe970c inet_gro_complete +EXPORT_SYMBOL vmlinux 0xaf0159c3 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xaf072628 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xaf0b86cc sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xaf1f02bd seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf3e99f0 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0xaf42f785 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xaf68886d sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xaf899379 irq_to_desc +EXPORT_SYMBOL vmlinux 0xaf8b7686 pps_event +EXPORT_SYMBOL vmlinux 0xafa02e3a tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xafb08284 pipe_unlock +EXPORT_SYMBOL vmlinux 0xafd39099 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0xafdabf09 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xafe038f5 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xafe8ec9b clkdev_hw_alloc +EXPORT_SYMBOL vmlinux 0xb00c2712 block_write_begin +EXPORT_SYMBOL vmlinux 0xb00d93ea eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xb00e5868 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb0411c69 param_get_charp +EXPORT_SYMBOL vmlinux 0xb04aa415 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xb053fbe9 genphy_loopback +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb071bbee xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb092c39e pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xb09ded58 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xb09fc6d0 file_update_time +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aed408 ZSTD_compressStream +EXPORT_SYMBOL vmlinux 0xb0b00b48 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xb0cc3917 ipv6_mc_check_icmpv6 +EXPORT_SYMBOL vmlinux 0xb0d7b38a dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xb0d8242f kfree_skb +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0f37d40 seq_escape_mem_ascii +EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize +EXPORT_SYMBOL vmlinux 0xb0f6a6e2 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xb107b339 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xb10dc409 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xb1157256 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xb120e8a3 mpage_writepages +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb12e9ca6 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xb130be9f ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xb13a771c __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xb1485d3c d_obtain_alias +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb16900ad cmdline_parts_parse +EXPORT_SYMBOL vmlinux 0xb16e45d4 down_write_killable +EXPORT_SYMBOL vmlinux 0xb16e91cb mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xb1738c81 phy_device_remove +EXPORT_SYMBOL vmlinux 0xb1a5ab8c on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xb1b8ab53 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1cfe162 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e12d81 krealloc +EXPORT_SYMBOL vmlinux 0xb1f1fa1c fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xb1fff61c unpin_user_pages +EXPORT_SYMBOL vmlinux 0xb2002784 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xb209dfb0 phy_aneg_done +EXPORT_SYMBOL vmlinux 0xb219d4ff security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xb22bff2d tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xb22dcc5b tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb24a13c2 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xb24d4647 dma_direct_map_page +EXPORT_SYMBOL vmlinux 0xb253bf29 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xb2583295 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xb26387ce mmc_put_card +EXPORT_SYMBOL vmlinux 0xb2d0053e cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xb2d0f97e input_set_capability +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb3081e38 param_ops_bint +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb319ac75 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xb328549d __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xb33319ba mntput +EXPORT_SYMBOL vmlinux 0xb3567943 set_blocksize +EXPORT_SYMBOL vmlinux 0xb35c0aee blk_rq_init +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36c7453 seq_vprintf +EXPORT_SYMBOL vmlinux 0xb36df2cd vfs_create_mount +EXPORT_SYMBOL vmlinux 0xb394cbe7 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xb3af767f d_genocide +EXPORT_SYMBOL vmlinux 0xb3b4d815 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xb3ca41fe put_ipc_ns +EXPORT_SYMBOL vmlinux 0xb3d1abde param_set_ushort +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3eb87df iget_failed +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb40a41fc km_new_mapping +EXPORT_SYMBOL vmlinux 0xb40ce9f7 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xb411ea6d pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xb417f082 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4341aae flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xb44ad4b3 _copy_to_user +EXPORT_SYMBOL vmlinux 0xb463412e md_flush_request +EXPORT_SYMBOL vmlinux 0xb468da50 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0xb48046b1 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xb488ce13 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4940f33 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xb4985beb ZSTD_resetCStream +EXPORT_SYMBOL vmlinux 0xb4b5fce1 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xb4d21598 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xb4de6121 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xb4e5254d sbi_clear_ipi +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb517e20e qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xb53b5c1a configfs_register_group +EXPORT_SYMBOL vmlinux 0xb571ec84 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb587470c vc_cons +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5967649 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0xb598544b of_get_property +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a85483 simple_setattr +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5cb03eb nd_device_register +EXPORT_SYMBOL vmlinux 0xb5e20582 xfrm_lookup +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5eca868 tty_port_close +EXPORT_SYMBOL vmlinux 0xb5fa63f9 sock_alloc +EXPORT_SYMBOL vmlinux 0xb61d2e69 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xb62078cc configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb641b222 phy_attached_print +EXPORT_SYMBOL vmlinux 0xb6468855 inet_offloads +EXPORT_SYMBOL vmlinux 0xb6478040 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xb66a9d2a tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xb6714d39 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67baae2 nla_reserve +EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb684942d __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xb68e1609 inet6_protos +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6ade28f inet6_del_offload +EXPORT_SYMBOL vmlinux 0xb6c8c860 dev_addr_init +EXPORT_SYMBOL vmlinux 0xb6ccad3a abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0xb6d1453f skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xb6d794b4 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xb6d8d60a inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xb7151973 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xb717734d xfrm_state_add +EXPORT_SYMBOL vmlinux 0xb71fb74f _raw_read_trylock +EXPORT_SYMBOL vmlinux 0xb73baa47 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xb753d6b6 __skb_checksum +EXPORT_SYMBOL vmlinux 0xb7582f71 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xb759c2e8 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xb7698389 alloc_fcdev +EXPORT_SYMBOL vmlinux 0xb770a705 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xb77bf1ad inet_frags_fini +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb78ed743 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xb790c24d kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xb79b75a2 elevator_alloc +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7c94890 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb7db6f7d devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xb7dbe362 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xb7ec4ac8 get_thermal_instance +EXPORT_SYMBOL vmlinux 0xb7ff1709 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0xb7ff96c2 block_read_full_page +EXPORT_SYMBOL vmlinux 0xb801c542 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue +EXPORT_SYMBOL vmlinux 0xb8374002 clk_add_alias +EXPORT_SYMBOL vmlinux 0xb8530126 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb870e660 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xb8978100 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xb899d4e3 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb89fdea3 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xb8a5b0b1 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb8a68512 up_read +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8c63b1b tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xb8c740c0 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xb8d35f90 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xb8da00c8 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xb8e07692 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb94dbfc6 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb97cb7ee pci_disable_device +EXPORT_SYMBOL vmlinux 0xb9b4050b xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xb9ba67b1 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xb9db59ce rio_query_mport +EXPORT_SYMBOL vmlinux 0xb9dfc139 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xb9e63e79 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9f6d895 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xb9f904bb pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba1b8187 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xba216693 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xba222544 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xba2fb154 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xba454d2f page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba55d23e crc7_be +EXPORT_SYMBOL vmlinux 0xba6d30bd cred_fscmp +EXPORT_SYMBOL vmlinux 0xba762cef vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0xba87f6ff swake_up_one +EXPORT_SYMBOL vmlinux 0xba90152a dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xba998d1e __alloc_disk_node +EXPORT_SYMBOL vmlinux 0xbaa01774 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xbaa66352 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xbaa84fc1 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xbaba766b iov_iter_advance +EXPORT_SYMBOL vmlinux 0xbad40895 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xbad7d853 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xbadcaade blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xbaffff96 ZSTD_CStreamWorkspaceBound +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb11a6b8 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xbb147eb3 mr_table_dump +EXPORT_SYMBOL vmlinux 0xbb1ca33d pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xbb20e008 param_ops_ushort +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb266c15 do_clone_file_range +EXPORT_SYMBOL vmlinux 0xbb2d7f42 udp_disconnect +EXPORT_SYMBOL vmlinux 0xbb2f49c3 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb6619b7 vga_tryget +EXPORT_SYMBOL vmlinux 0xbb6cf800 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0xbb6ddb10 netif_skb_features +EXPORT_SYMBOL vmlinux 0xbb715996 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xbb71fc15 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xbb7fcf58 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xbb8a7718 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xbbbd3e12 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf16c9a skb_copy_expand +EXPORT_SYMBOL vmlinux 0xbbf2fae3 inet_gro_receive +EXPORT_SYMBOL vmlinux 0xbbf40148 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xbc070392 dump_page +EXPORT_SYMBOL vmlinux 0xbc25f7cc free_contig_range +EXPORT_SYMBOL vmlinux 0xbc29b330 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xbc2f0179 __block_write_full_page +EXPORT_SYMBOL vmlinux 0xbc32e53f posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xbc35300c thaw_super +EXPORT_SYMBOL vmlinux 0xbc3b505f __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xbc5557c9 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xbc636c51 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xbc728f44 generic_perform_write +EXPORT_SYMBOL vmlinux 0xbc8790ef ip_frag_init +EXPORT_SYMBOL vmlinux 0xbc932aad tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb200ae update_region +EXPORT_SYMBOL vmlinux 0xbcbdf60f kstrtos8 +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcd421f6 sock_register +EXPORT_SYMBOL vmlinux 0xbcd526b7 request_firmware +EXPORT_SYMBOL vmlinux 0xbce45e94 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xbceeebfa gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0xbd08e034 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xbd0d75f1 filemap_fault +EXPORT_SYMBOL vmlinux 0xbd1e8188 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xbd361151 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0xbd3d00d8 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd498b86 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd7f343e pci_set_vpd_size +EXPORT_SYMBOL vmlinux 0xbd87800d udp_seq_ops +EXPORT_SYMBOL vmlinux 0xbda26733 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xbdb30b57 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xbdec8c1d vfs_unlink +EXPORT_SYMBOL vmlinux 0xbe000309 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0xbe1b74df mmc_of_parse +EXPORT_SYMBOL vmlinux 0xbe1d2ef3 param_ops_string +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe527621 abort_creds +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5b556e tcp_peek_len +EXPORT_SYMBOL vmlinux 0xbe70905f netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xbe98d54e pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xbea102fb seq_release_private +EXPORT_SYMBOL vmlinux 0xbeacf4a8 of_phy_connect +EXPORT_SYMBOL vmlinux 0xbeb7c2c5 nd_btt_probe +EXPORT_SYMBOL vmlinux 0xbed8d8a9 kset_unregister +EXPORT_SYMBOL vmlinux 0xbee72eaa down_read_killable +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefbd834 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xbf0096ab nvm_register_tgt_type +EXPORT_SYMBOL vmlinux 0xbf06e7fd wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xbf1f50ad init_task +EXPORT_SYMBOL vmlinux 0xbf3ee446 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf5bba9c tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xbf5f8023 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xbf976665 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa4b09b dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xbfaa8405 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0xbfc73f09 dump_align +EXPORT_SYMBOL vmlinux 0xbfca6250 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xbfdcccab dentry_path_raw +EXPORT_SYMBOL vmlinux 0xbfea0776 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff15acc padata_free +EXPORT_SYMBOL vmlinux 0xc0221931 udp_ioctl +EXPORT_SYMBOL vmlinux 0xc025016c flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc039071b abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xc04c23fe dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xc054c919 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xc062dffe __scm_destroy +EXPORT_SYMBOL vmlinux 0xc064aebc devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xc06847a6 d_lookup +EXPORT_SYMBOL vmlinux 0xc06d8a1d __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xc0732d30 __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc07fd76b generic_block_bmap +EXPORT_SYMBOL vmlinux 0xc08c17fc radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xc08e93e0 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0xc096e23d hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0xc097a500 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress +EXPORT_SYMBOL vmlinux 0xc0bd9eb4 dma_resv_add_excl_fence +EXPORT_SYMBOL vmlinux 0xc0bf4cfb release_pages +EXPORT_SYMBOL vmlinux 0xc0d5feee vfs_statx +EXPORT_SYMBOL vmlinux 0xc0e0c6a6 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xc0e2dcf4 nf_log_packet +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc10b2b14 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xc1179daa kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xc1189be2 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xc13a7ba6 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc18ffb8f netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xc1bfe0b3 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xc1c9b037 __f_setown +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1eb8fac inet_del_offload +EXPORT_SYMBOL vmlinux 0xc1f4dc28 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xc2262682 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0xc23160da nvm_submit_io +EXPORT_SYMBOL vmlinux 0xc23f9ddb put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a3feb5 dev_driver_string +EXPORT_SYMBOL vmlinux 0xc2c64f8e on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0xc2cd093d generic_read_dir +EXPORT_SYMBOL vmlinux 0xc2df78c4 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xc2e582d4 key_link +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc2f6f1cb tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xc2f7f409 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xc306c3a8 page_frag_alloc +EXPORT_SYMBOL vmlinux 0xc309c42a ns_capable +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc31f50c5 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xc329ccc9 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc34badac sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xc35deb20 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xc37344a4 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xc380bfae xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc38d85d9 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xc3a01cef ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xc3b779ad xp_alloc +EXPORT_SYMBOL vmlinux 0xc3cac66d netdev_name_node_alt_create +EXPORT_SYMBOL vmlinux 0xc3d19602 d_find_any_alias +EXPORT_SYMBOL vmlinux 0xc3e4a6ed __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xc3f96fc5 dquot_alloc +EXPORT_SYMBOL vmlinux 0xc4074cfe devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xc4097c34 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xc41296a9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc41e78d8 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42d347a prepare_to_wait +EXPORT_SYMBOL vmlinux 0xc44d67c0 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xc450aec4 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xc45c67fa end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4884593 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xc4b8161a ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xc4ed5445 sg_next +EXPORT_SYMBOL vmlinux 0xc4f09257 softnet_data +EXPORT_SYMBOL vmlinux 0xc4f23448 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xc4f4fd16 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xc4f819f7 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xc50b33ae inet_del_protocol +EXPORT_SYMBOL vmlinux 0xc558b060 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0xc55a0075 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xc55fa8df i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xc56100a9 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xc56196c1 netdev_change_features +EXPORT_SYMBOL vmlinux 0xc57098b4 param_get_byte +EXPORT_SYMBOL vmlinux 0xc573855e __devm_request_region +EXPORT_SYMBOL vmlinux 0xc578f905 mdiobus_read +EXPORT_SYMBOL vmlinux 0xc5850110 printk +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59e750b vga_put +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5db96a1 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xc5e4e60b deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5ef83af clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xc604c21b tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xc6055c9e kvasprintf_const +EXPORT_SYMBOL vmlinux 0xc606ef99 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xc60afc32 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc62c72e7 may_umount_tree +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc646f532 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xc6570af0 empty_aops +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66d919f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc66ec41d vme_dma_request +EXPORT_SYMBOL vmlinux 0xc68ec2cd fqdir_exit +EXPORT_SYMBOL vmlinux 0xc6950abd napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xc6990640 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xc6afaf0c inet6_release +EXPORT_SYMBOL vmlinux 0xc6c1ca06 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6e5d8bc hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc6efd678 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f4ad90 md_reload_sb +EXPORT_SYMBOL vmlinux 0xc6f62d86 fbcon_rotate_ud +EXPORT_SYMBOL vmlinux 0xc7115d70 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0xc717bbb4 module_put +EXPORT_SYMBOL vmlinux 0xc71f5d6b kobject_init +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc73dd955 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xc74db88a xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc7533286 skb_copy_header +EXPORT_SYMBOL vmlinux 0xc75432cb jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xc76bb625 phy_write_paged +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79e43f6 register_sysctl +EXPORT_SYMBOL vmlinux 0xc7a2a805 set_device_ro +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7a97b89 __ps2_command +EXPORT_SYMBOL vmlinux 0xc7aa7dbb icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xc7abaee8 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xc7bb0eee skb_copy_bits +EXPORT_SYMBOL vmlinux 0xc7be1ee6 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7e44234 pin_user_pages_locked +EXPORT_SYMBOL vmlinux 0xc8027795 cdrom_release +EXPORT_SYMBOL vmlinux 0xc80d9520 __frontswap_store +EXPORT_SYMBOL vmlinux 0xc80dbcf3 phy_loopback +EXPORT_SYMBOL vmlinux 0xc814c667 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xc81e91a8 napi_busy_loop +EXPORT_SYMBOL vmlinux 0xc82736bb flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xc827abc4 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xc82ef7ec kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xc8357d09 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc8468a06 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc858a614 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xc85c336f add_watch_to_object +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc87507f9 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a854ad sock_pfree +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b9949e nobh_write_begin +EXPORT_SYMBOL vmlinux 0xc8c2b507 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0xc8d6a280 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xc8dcb98b sg_miter_stop +EXPORT_SYMBOL vmlinux 0xc8ead9f0 down_read +EXPORT_SYMBOL vmlinux 0xc8f3ed00 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xc8f7c6e8 pci_fixup_device +EXPORT_SYMBOL vmlinux 0xc8f87c64 audit_log +EXPORT_SYMBOL vmlinux 0xc8fd0d1c vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xc909a0a4 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc90ec07a devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0xc90f3e78 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xc92f02c5 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0xc945269f netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xc953e452 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xc9565e81 down_write_trylock +EXPORT_SYMBOL vmlinux 0xc95bbb28 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xc95f8cb9 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc965f7d8 fget_raw +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a23178 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xc9ca788a pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e2e45e devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream +EXPORT_SYMBOL vmlinux 0xca1ea2c7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca36271a set_anon_super +EXPORT_SYMBOL vmlinux 0xca3638a8 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xca38737a pci_clear_master +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca565b8e get_fs_type +EXPORT_SYMBOL vmlinux 0xca7c93fb neigh_for_each +EXPORT_SYMBOL vmlinux 0xca8a5181 pci_free_irq +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xcac7da3b dq_data_lock +EXPORT_SYMBOL vmlinux 0xcae2d308 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb1b414b qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xcb2cc212 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb3b28b1 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xcb3f4b22 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xcb51f256 kill_block_super +EXPORT_SYMBOL vmlinux 0xcb55f0e5 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xcb5810f3 dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0xcb5df540 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xcb7746a7 filp_open +EXPORT_SYMBOL vmlinux 0xcb818e78 idr_destroy +EXPORT_SYMBOL vmlinux 0xcba4abe3 list_sort +EXPORT_SYMBOL vmlinux 0xcbbc9a34 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xcbbcf16e fqdir_init +EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame +EXPORT_SYMBOL vmlinux 0xcbcfaa35 __ip_options_compile +EXPORT_SYMBOL vmlinux 0xcbd1c995 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcbfd3265 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xcc215bd4 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc30f0f1 tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc415678 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc5d2eb8 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xcc91745c blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xcc945bea pci_disable_msi +EXPORT_SYMBOL vmlinux 0xcca36c0a security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xccc21f5e input_get_new_minor +EXPORT_SYMBOL vmlinux 0xccc758d8 nla_policy_len +EXPORT_SYMBOL vmlinux 0xccd67c69 vme_register_driver +EXPORT_SYMBOL vmlinux 0xccdbb06c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd0d5755 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xcd0fa429 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xcd1d856f d_set_d_op +EXPORT_SYMBOL vmlinux 0xcd20cc68 simple_release_fs +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd28fc3d scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xcd2c185c input_register_handler +EXPORT_SYMBOL vmlinux 0xcd3f3dcb pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xcd402ae1 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xcd6cbf47 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xcd6df358 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xcd715fdd of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0xcd7c3400 dquot_file_open +EXPORT_SYMBOL vmlinux 0xcd9fdc28 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xcdb53963 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xcdbec881 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdcdfb59 current_time +EXPORT_SYMBOL vmlinux 0xcdcfc895 mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xce1be958 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3864eb ZSTD_compress_usingDict +EXPORT_SYMBOL vmlinux 0xce43b54a inode_init_once +EXPORT_SYMBOL vmlinux 0xce481ada call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce50e5de ZSTD_compress_usingCDict +EXPORT_SYMBOL vmlinux 0xce5797ac gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce674e06 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xce7bfe70 vm_brk +EXPORT_SYMBOL vmlinux 0xce7c16cd blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xce8b4b5c eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xcea486ec clkdev_alloc +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb2f70a blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xcedb4d43 kernel_read +EXPORT_SYMBOL vmlinux 0xcee23000 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xceeb2577 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xceec8abd __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf000c7e hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0xcf08fe52 seqno_fence_ops +EXPORT_SYMBOL vmlinux 0xcf0ac198 inet_sendpage +EXPORT_SYMBOL vmlinux 0xcf0b3194 udplite_prot +EXPORT_SYMBOL vmlinux 0xcf1adf43 _copy_from_iter +EXPORT_SYMBOL vmlinux 0xcf1c6ca3 cmdline_parts_find +EXPORT_SYMBOL vmlinux 0xcf3b1f80 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xcf51117e security_path_unlink +EXPORT_SYMBOL vmlinux 0xcf8c0265 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfb2166d vc_resize +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfeb8e5f lookup_bdev +EXPORT_SYMBOL vmlinux 0xd00c47a6 kthread_stop +EXPORT_SYMBOL vmlinux 0xd02131cf rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xd02be358 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xd042475c qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xd04258ac dqput +EXPORT_SYMBOL vmlinux 0xd044c618 dma_supported +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd04c7414 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xd05faa22 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd07d0fa3 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0xd07f6cbb revalidate_disk +EXPORT_SYMBOL vmlinux 0xd097db53 nf_log_unset +EXPORT_SYMBOL vmlinux 0xd0a1e363 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0ab92b2 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xd0b38c37 of_dev_put +EXPORT_SYMBOL vmlinux 0xd0bd487b hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd0bdf28f __sb_end_write +EXPORT_SYMBOL vmlinux 0xd0c8921a ip_options_compile +EXPORT_SYMBOL vmlinux 0xd0d16cab __bforget +EXPORT_SYMBOL vmlinux 0xd0d26405 skb_checksum_help +EXPORT_SYMBOL vmlinux 0xd1114e77 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xd11a3c8b of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xd136f1da posix_lock_file +EXPORT_SYMBOL vmlinux 0xd180ba7b __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1859e7a param_set_ullong +EXPORT_SYMBOL vmlinux 0xd19a45c1 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xd1b244f7 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xd1b4b460 param_ops_charp +EXPORT_SYMBOL vmlinux 0xd1c8b535 md_write_start +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e697ce inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xd1edd4d6 single_open_size +EXPORT_SYMBOL vmlinux 0xd1f6a162 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xd229881e flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xd25a097a sock_sendmsg +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd262dfcb vscnprintf +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd28ab61c proc_dostring +EXPORT_SYMBOL vmlinux 0xd2adc0c0 pmem_sector_size +EXPORT_SYMBOL vmlinux 0xd2b65510 fasync_helper +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2ce0d70 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2eb32b9 tcp_rx_skb_cache_key +EXPORT_SYMBOL vmlinux 0xd30366cd pagevec_lookup_range_nr_tag +EXPORT_SYMBOL vmlinux 0xd30505b4 generic_write_checks +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd31ef492 kobject_put +EXPORT_SYMBOL vmlinux 0xd325dcd3 register_cdrom +EXPORT_SYMBOL vmlinux 0xd32eaa77 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xd3334576 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xd353fd83 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35f40ea twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37b210e d_exact_alias +EXPORT_SYMBOL vmlinux 0xd3a933ab vfs_readlink +EXPORT_SYMBOL vmlinux 0xd3ae1842 netdev_printk +EXPORT_SYMBOL vmlinux 0xd3cc567c of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xd3db3ae3 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xd3db6c45 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL vmlinux 0xd3ed4487 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0xd3f0a989 __inet_hash +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd41fe818 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd44a799d serio_bus +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd46ae78a ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xd476b8ff get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xd48a279b mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xd4a1aefb submit_bh +EXPORT_SYMBOL vmlinux 0xd4a30931 freezing_slow_path +EXPORT_SYMBOL vmlinux 0xd4b5ca8b ethtool_notify +EXPORT_SYMBOL vmlinux 0xd4b89797 netif_napi_add +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bbbcc8 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xd4c1f24d redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xd4d506db jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xd4dc3c2b pci_write_vpd +EXPORT_SYMBOL vmlinux 0xd4f4ecaa i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xd4f59ed0 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xd4f81db7 no_llseek +EXPORT_SYMBOL vmlinux 0xd4fdd294 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xd5036034 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd53b687a __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xd5465036 path_is_under +EXPORT_SYMBOL vmlinux 0xd5641db9 km_report +EXPORT_SYMBOL vmlinux 0xd56e4ee5 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xd57dbe8c nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xd583187d page_mapping +EXPORT_SYMBOL vmlinux 0xd584ea96 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xd58a06fb devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0xd58cd002 pci_select_bars +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5b9b60f netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xd5ccd595 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xd5e306d2 get_user_pages +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd616cacc simple_rmdir +EXPORT_SYMBOL vmlinux 0xd62e6d40 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xd62f4a23 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xd63496f3 idr_replace +EXPORT_SYMBOL vmlinux 0xd63cc306 sock_bind_add +EXPORT_SYMBOL vmlinux 0xd63e80d0 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax +EXPORT_SYMBOL vmlinux 0xd6509a55 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b33e7d wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xd6bb4743 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xd6bc59f1 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0xd6cf09ad flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fa0b46 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd700a4b8 register_gifconf +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd71d792b genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c34ed bdi_put +EXPORT_SYMBOL vmlinux 0xd73ce261 netdev_err +EXPORT_SYMBOL vmlinux 0xd757f2c1 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xd7612fbe devfreq_add_device +EXPORT_SYMBOL vmlinux 0xd7692a6f kernel_write +EXPORT_SYMBOL vmlinux 0xd772f11f security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd77c1886 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xd7905a9c __break_lease +EXPORT_SYMBOL vmlinux 0xd7a2aa2a of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xd7a3b46b bdget_disk +EXPORT_SYMBOL vmlinux 0xd7a43b89 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xd7a8e206 __alloc_skb +EXPORT_SYMBOL vmlinux 0xd7b2b864 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7e2de35 tty_hangup +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd802ab23 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd8152226 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL vmlinux 0xd81a37ca rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd8602b6a tun_is_xdp_frame +EXPORT_SYMBOL vmlinux 0xd860755b __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd8609b22 inet_frag_find +EXPORT_SYMBOL vmlinux 0xd8692f8d security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xd8925a5d sbi_ecall +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a7f363 migrate_page +EXPORT_SYMBOL vmlinux 0xd8a86f04 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8c35e77 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xd8c7d848 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xd8d1e577 dma_direct_map_sg +EXPORT_SYMBOL vmlinux 0xd8dc8df1 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xd8ff641e ip6_frag_next +EXPORT_SYMBOL vmlinux 0xd901b2a1 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0xd90cb249 ZSTD_getBlockSizeMax +EXPORT_SYMBOL vmlinux 0xd9182973 load_nls +EXPORT_SYMBOL vmlinux 0xd943b657 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xd943d12f filp_close +EXPORT_SYMBOL vmlinux 0xd94a772d xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xd95f4345 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xd964542a xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xd96611b0 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xd97bd9d5 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99c6c5b phy_init_eee +EXPORT_SYMBOL vmlinux 0xd9bfec7a mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xd9c6c852 keyring_clear +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9db98df kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd9e3bb31 sbi_remote_hfence_gvma_vmid +EXPORT_SYMBOL vmlinux 0xda04f33b bdev_read_only +EXPORT_SYMBOL vmlinux 0xda06c8c4 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xda086752 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xda11e7f6 __check_sticky +EXPORT_SYMBOL vmlinux 0xda321f31 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda49e66e pci_map_rom +EXPORT_SYMBOL vmlinux 0xda522886 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xda68c2f2 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType +EXPORT_SYMBOL vmlinux 0xda7a8e93 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xda872864 security_locked_down +EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve +EXPORT_SYMBOL vmlinux 0xda9733fa trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0xda9fc7ae kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xdaa8523e pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xdab7bec6 serio_close +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdacde457 disk_end_io_acct +EXPORT_SYMBOL vmlinux 0xdad6ca20 make_kgid +EXPORT_SYMBOL vmlinux 0xdae8b8f0 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xdaef8f73 cdev_add +EXPORT_SYMBOL vmlinux 0xdaefa410 dst_dev_put +EXPORT_SYMBOL vmlinux 0xdb032b13 param_set_bint +EXPORT_SYMBOL vmlinux 0xdb0afc57 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xdb14dff0 netlink_unicast +EXPORT_SYMBOL vmlinux 0xdb1da442 mdiobus_write +EXPORT_SYMBOL vmlinux 0xdb1f27f3 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xdb31c8e7 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xdb4603b8 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xdb56ba8d dget_parent +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb972fc9 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xdbad78c8 noop_fsync +EXPORT_SYMBOL vmlinux 0xdbdc4f56 migrate_page_states +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbf45c40 dev_get_iflink +EXPORT_SYMBOL vmlinux 0xdbf62def blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0xdbfe8ace blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xdc022f49 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xdc0921d3 rename_lock +EXPORT_SYMBOL vmlinux 0xdc0f4d4e fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc5017f0 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xdc65e57e ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xdc7307a5 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xdc8aece3 scmd_printk +EXPORT_SYMBOL vmlinux 0xdca0b8b2 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0xdcb98abc sock_edemux +EXPORT_SYMBOL vmlinux 0xdcc6d178 tty_vhangup +EXPORT_SYMBOL vmlinux 0xdcf7bbc8 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xdd0f9e8d mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xdd1ad484 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xdd1df9c5 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xdd241d9f netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0xdd2b33af has_capability +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd5de459 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xdd646e28 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd78dddb dst_discard_out +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdda6f95d scsi_remove_host +EXPORT_SYMBOL vmlinux 0xdde39ce0 down_write +EXPORT_SYMBOL vmlinux 0xdde847ce xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xddf9f695 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xde03377a ata_print_version +EXPORT_SYMBOL vmlinux 0xde07cf75 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xde17efa8 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xde2159da sock_no_accept +EXPORT_SYMBOL vmlinux 0xde2d59ac inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xde3f475c tc_setup_flow_action +EXPORT_SYMBOL vmlinux 0xde453b87 neigh_app_ns +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4d9fe9 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xde5485a1 bio_uninit +EXPORT_SYMBOL vmlinux 0xde5c89b5 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xde79683d dma_direct_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xdeb8016c get_super_exclusive_thawed +EXPORT_SYMBOL vmlinux 0xdebeb752 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xdec11741 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xded4e0c1 genl_notify +EXPORT_SYMBOL vmlinux 0xdedb212c of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xdedc71e5 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xdedc732f udp_seq_stop +EXPORT_SYMBOL vmlinux 0xdeea9d6f security_inet_conn_established +EXPORT_SYMBOL vmlinux 0xdeed04b5 dcb_setapp +EXPORT_SYMBOL vmlinux 0xdef00cee radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf2564c3 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xdf2a9219 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf3054af pci_dev_get +EXPORT_SYMBOL vmlinux 0xdf48fc5e dev_change_proto_down_generic +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf598c07 zap_page_range +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf98592f skb_trim +EXPORT_SYMBOL vmlinux 0xdfa3ff1f sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfccd9db fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi +EXPORT_SYMBOL vmlinux 0xdfe9c017 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL vmlinux 0xdffc3671 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xdfff5a56 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xe008e1da of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xe027a05e fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0xe060b830 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xe0875eb1 kstrtobool +EXPORT_SYMBOL vmlinux 0xe0952a42 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe0a1b2ca netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xe0a4fe05 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xe0b07087 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b6b1c2 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xe0b78db9 dma_direct_unmap_sg +EXPORT_SYMBOL vmlinux 0xe0c04cda mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xe0d5dfb5 serio_reconnect +EXPORT_SYMBOL vmlinux 0xe0df9712 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xe0e82d4e __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xe0ee6044 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xe102ee55 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe11f3cbc _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe13d5d07 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xe140af4b __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xe14f093f kernel_listen +EXPORT_SYMBOL vmlinux 0xe15de57d pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xe15ebddd sock_no_bind +EXPORT_SYMBOL vmlinux 0xe1631957 iget_locked +EXPORT_SYMBOL vmlinux 0xe1693807 input_flush_device +EXPORT_SYMBOL vmlinux 0xe1780aee sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xe17ba36b build_skb +EXPORT_SYMBOL vmlinux 0xe1a4f16a secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0xe1ad92dc register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xe1adf30f phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0xe1b821f4 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xe1d3ceaa vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xe1d42369 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0xe1dc138b page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e2c322 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe1e482f9 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xe1e7e40c rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0xe20c40ae __SetPageMovable +EXPORT_SYMBOL vmlinux 0xe20cb400 page_get_link +EXPORT_SYMBOL vmlinux 0xe213528c key_unlink +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe22ef3a6 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xe24685f6 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xe24f9293 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xe2537e8e vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xe2654bb3 is_subdir +EXPORT_SYMBOL vmlinux 0xe26a4e78 ndelay +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe276a4cb iterate_supers_type +EXPORT_SYMBOL vmlinux 0xe277a768 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xe279f216 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xe27e1499 cdev_del +EXPORT_SYMBOL vmlinux 0xe28e4207 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xe2a9d8ea __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe2c1933f generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xe2ca2e52 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2dc7c22 get_super +EXPORT_SYMBOL vmlinux 0xe2ebc7a9 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xe2f9be53 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0xe2ffeef3 scsi_req_init +EXPORT_SYMBOL vmlinux 0xe308859d sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32b69c8 pci_enable_device +EXPORT_SYMBOL vmlinux 0xe32bf23d mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xe33cd2d8 __register_nls +EXPORT_SYMBOL vmlinux 0xe349c753 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xe350c5f6 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xe36467a3 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xe37aae8e blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xe38e0044 get_disk_and_module +EXPORT_SYMBOL vmlinux 0xe3c82bbb vm_map_ram +EXPORT_SYMBOL vmlinux 0xe3d34fab neigh_parms_release +EXPORT_SYMBOL vmlinux 0xe3d6e4dc __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xe3e59e3b __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f1501b devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xe3f8b90a mdio_device_free +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe409f12f update_devfreq +EXPORT_SYMBOL vmlinux 0xe40abef1 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xe41476d9 ZSTD_getParams +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe439dbd5 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xe441e95a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0xe4453da6 uart_resume_port +EXPORT_SYMBOL vmlinux 0xe44ee7cf genphy_suspend +EXPORT_SYMBOL vmlinux 0xe45281ef input_unregister_handler +EXPORT_SYMBOL vmlinux 0xe458239d configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xe479c275 simple_write_end +EXPORT_SYMBOL vmlinux 0xe485c9bc find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xe488cd37 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xe494e214 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0xe4cbb505 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xe4d795ef pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xe5024cc3 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xe508e1d9 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0xe5106551 console_start +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe53be9c1 tso_build_data +EXPORT_SYMBOL vmlinux 0xe549b43c devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xe551272c _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xe55a5c95 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xe56b232e mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe591da7d param_ops_invbool +EXPORT_SYMBOL vmlinux 0xe596f8c8 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0xe59abb49 bio_split +EXPORT_SYMBOL vmlinux 0xe5a8c746 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xe5bc9a53 slhc_free +EXPORT_SYMBOL vmlinux 0xe5c1c06a scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe618c4f1 pci_release_region +EXPORT_SYMBOL vmlinux 0xe6567ac7 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin +EXPORT_SYMBOL vmlinux 0xe6950c67 blk_queue_split +EXPORT_SYMBOL vmlinux 0xe698bc9c vme_irq_generate +EXPORT_SYMBOL vmlinux 0xe6a1722e nvm_alloc_dev +EXPORT_SYMBOL vmlinux 0xe6b80f9c mutex_trylock_recursive +EXPORT_SYMBOL vmlinux 0xe70ffc30 km_state_notify +EXPORT_SYMBOL vmlinux 0xe712cdc2 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xe719b00b idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xe71e5904 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe73eadae iov_iter_kvec +EXPORT_SYMBOL vmlinux 0xe74bc946 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0xe751395d sock_alloc_file +EXPORT_SYMBOL vmlinux 0xe75464e8 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe76179d9 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xe7674f8f ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xe76c9145 __register_chrdev +EXPORT_SYMBOL vmlinux 0xe78eb89e pcie_set_mps +EXPORT_SYMBOL vmlinux 0xe79e55de generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xe7ba46cd dquot_resume +EXPORT_SYMBOL vmlinux 0xe7bdcd14 put_disk_and_module +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7ea1af0 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe7f6ac19 set_security_override +EXPORT_SYMBOL vmlinux 0xe7f78d07 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xe80069c4 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xe806d3de napi_complete_done +EXPORT_SYMBOL vmlinux 0xe810a32d fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0xe82a9933 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xe849cbfe __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xe879203c vfs_iter_write +EXPORT_SYMBOL vmlinux 0xe879d5d8 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xe881e0e8 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xe892e7ca t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0xe89c5a77 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xe8a3e52f jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xe8adb21d i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xe8b9bfc5 __quota_error +EXPORT_SYMBOL vmlinux 0xe8cbcb69 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xe8d332fb pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xe8df4085 _copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xe8e521c4 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xe8f42d8c irq_stat +EXPORT_SYMBOL vmlinux 0xe8fdd467 locks_free_lock +EXPORT_SYMBOL vmlinux 0xe9004a7a posix_test_lock +EXPORT_SYMBOL vmlinux 0xe91355db radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9318dec tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xe93a5e72 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xe94c96e3 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95a9380 inet_addr_type +EXPORT_SYMBOL vmlinux 0xe95af027 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xe97397c2 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xe987d1e2 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0xe9a0deb8 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0xe9ab5e06 vme_init_bridge +EXPORT_SYMBOL vmlinux 0xe9b5a551 tty_kref_put +EXPORT_SYMBOL vmlinux 0xe9be642a sgl_free_order +EXPORT_SYMBOL vmlinux 0xe9d84b97 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea431647 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xea6b3749 scsi_device_get +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea7cff67 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xea80dfe1 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xea8da7ad flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0xea9d2d83 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xeaa0462b lock_sock_nested +EXPORT_SYMBOL vmlinux 0xeab2fe09 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xeab8835e of_get_address +EXPORT_SYMBOL vmlinux 0xeaba83c1 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xeabd8fc1 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xeac72623 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xeacf02b7 dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0xead0f7f8 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xeae2029d phy_device_free +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb096b64 d_add_ci +EXPORT_SYMBOL vmlinux 0xeb1714b2 __brelse +EXPORT_SYMBOL vmlinux 0xeb2167f0 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb402fce bmap +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb44533b vfs_fsync +EXPORT_SYMBOL vmlinux 0xeb450ae2 keyring_alloc +EXPORT_SYMBOL vmlinux 0xeb4a400d tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xeb9c2090 pci_scan_bus +EXPORT_SYMBOL vmlinux 0xeb9c3f2b alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xebadc80c of_node_name_eq +EXPORT_SYMBOL vmlinux 0xebbd9b8f inet6_getname +EXPORT_SYMBOL vmlinux 0xebc482f1 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xebc9fa72 dma_find_channel +EXPORT_SYMBOL vmlinux 0xebe6535e dump_skip +EXPORT_SYMBOL vmlinux 0xebfd212c tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xec1fa2ed mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xec38b151 kthread_create_worker +EXPORT_SYMBOL vmlinux 0xec46f6e4 __irq_regs +EXPORT_SYMBOL vmlinux 0xec4b4cb3 free_task +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec61843b kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xec633589 discard_new_inode +EXPORT_SYMBOL vmlinux 0xec6bc9fd iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xec819ade no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecad7503 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xecbccaa2 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xecca0570 register_netdevice +EXPORT_SYMBOL vmlinux 0xecd5f3dd sock_setsockopt +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf2cea4 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0xed0e2d8f load_nls_default +EXPORT_SYMBOL vmlinux 0xed2c6e40 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xed3f6a52 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xed421623 dev_get_stats +EXPORT_SYMBOL vmlinux 0xed504687 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xed50ee05 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0xed5f3151 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xed6d0b18 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0xed7b43c9 pci_iomap +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed8cf984 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xed9a7622 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0xed9a8ce5 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xed9ea4de input_allocate_device +EXPORT_SYMBOL vmlinux 0xedb4db8a __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedda172f scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xede6f588 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0xedeb59d9 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xedec2d88 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3244f0 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xee3d9e5a mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xee44490a idr_get_next +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee69436f dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xee828bad call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xee839723 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee8e3d95 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee936bb5 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xee947f6f dev_uc_add +EXPORT_SYMBOL vmlinux 0xee9f5226 dev_change_proto_down +EXPORT_SYMBOL vmlinux 0xeed7ea69 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xeee43b9f simple_lookup +EXPORT_SYMBOL vmlinux 0xef3b827c _copy_to_iter +EXPORT_SYMBOL vmlinux 0xef4bbcf0 sgl_alloc +EXPORT_SYMBOL vmlinux 0xef54751f netif_rx_ni +EXPORT_SYMBOL vmlinux 0xef576625 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xef5ba2d8 get_tz_trend +EXPORT_SYMBOL vmlinux 0xef686777 proto_unregister +EXPORT_SYMBOL vmlinux 0xef6fc7ca __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xef7c4fdc __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xef7d749b devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xefa292e6 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefc347c1 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xefd30512 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0xefd8158e i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xefe173db iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xefe4f679 ZSTD_CCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xefe68aaa inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xeff608e0 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xeffa6fdc dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf00119cc pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xf008a885 seg6_hmac_init +EXPORT_SYMBOL vmlinux 0xf00db2b6 uart_register_driver +EXPORT_SYMBOL vmlinux 0xf01fd3fa pci_iomap_range +EXPORT_SYMBOL vmlinux 0xf020eff8 dm_io +EXPORT_SYMBOL vmlinux 0xf02e91e2 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xf034c2cd iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xf0517dfd blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xf0716b3e freeze_super +EXPORT_SYMBOL vmlinux 0xf077ff85 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xf08c67de napi_alloc_frag +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a3cbc0 napi_disable +EXPORT_SYMBOL vmlinux 0xf0abee60 put_disk +EXPORT_SYMBOL vmlinux 0xf0b5d192 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xf0e5a06e bio_endio +EXPORT_SYMBOL vmlinux 0xf0ed8ad0 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0xf0effc43 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xf102033e slhc_remember +EXPORT_SYMBOL vmlinux 0xf10e16b4 lookup_one_len +EXPORT_SYMBOL vmlinux 0xf139e879 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xf13c5984 d_tmpfile +EXPORT_SYMBOL vmlinux 0xf14ef7c0 sk_capable +EXPORT_SYMBOL vmlinux 0xf15b9fb8 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0xf16293df tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xf1774c85 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xf185379b rtnl_create_link +EXPORT_SYMBOL vmlinux 0xf18c3c8b nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19b640e inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xf1a2f66c trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xf1b09a3c tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xf1b16616 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xf1b4fb9f con_copy_unimap +EXPORT_SYMBOL vmlinux 0xf1d00628 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1fb1be4 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xf2097a18 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0xf2115d95 simple_get_link +EXPORT_SYMBOL vmlinux 0xf211fc51 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xf2215f74 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf2336585 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xf23c14d3 kobject_set_name +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf25311fd vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xf281888d super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xf282013b xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL vmlinux 0xf29a62f1 rtc_add_group +EXPORT_SYMBOL vmlinux 0xf2a338ac tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xf2b3890e abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xf2c32604 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2c572e4 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xf2cbd796 pci_scan_slot +EXPORT_SYMBOL vmlinux 0xf2e087fb module_refcount +EXPORT_SYMBOL vmlinux 0xf2e2f3bc mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf30688d2 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xf30a62cf kernel_getsockname +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf341fa0d con_is_bound +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf348ddba sbi_err_map_linux_errno +EXPORT_SYMBOL vmlinux 0xf348ff41 bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf34e0cc7 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xf35035e3 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf36fa68e of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0xf3726bb6 dquot_transfer +EXPORT_SYMBOL vmlinux 0xf3796da2 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3984f01 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xf3a017dc filemap_map_pages +EXPORT_SYMBOL vmlinux 0xf3a51d7d dev_addr_add +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest +EXPORT_SYMBOL vmlinux 0xf3b52ec3 kobject_del +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal +EXPORT_SYMBOL vmlinux 0xf3e7e151 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xf3f7502a blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0xf3fdbe19 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xf401cfc1 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0xf40cf1de tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xf40cf9d6 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xf418f831 init_pseudo +EXPORT_SYMBOL vmlinux 0xf41f5e88 d_move +EXPORT_SYMBOL vmlinux 0xf425eaeb __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xf427980e icmp6_send +EXPORT_SYMBOL vmlinux 0xf43bcfef skb_vlan_push +EXPORT_SYMBOL vmlinux 0xf43f9be1 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf44f36c3 mmc_erase +EXPORT_SYMBOL vmlinux 0xf45836fe irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xf45893c7 find_inode_rcu +EXPORT_SYMBOL vmlinux 0xf46324ef pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xf467e8ff follow_pfn +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47de28f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0xf4832732 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xf495bb37 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xf49b68d2 kill_pgrp +EXPORT_SYMBOL vmlinux 0xf4a4a799 nvm_register +EXPORT_SYMBOL vmlinux 0xf4acc21d netdev_pick_tx +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e33fd5 __icmp_send +EXPORT_SYMBOL vmlinux 0xf4e9211e scsi_target_resume +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f85f94 ipv4_specific +EXPORT_SYMBOL vmlinux 0xf51531ea sock_from_file +EXPORT_SYMBOL vmlinux 0xf52d7e3f t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf55d1904 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xf56a5303 set_page_dirty +EXPORT_SYMBOL vmlinux 0xf56ff2a3 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0xf57a1f07 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0xf57a75d6 dev_open +EXPORT_SYMBOL vmlinux 0xf585916f udp_seq_next +EXPORT_SYMBOL vmlinux 0xf5a0b190 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5b74acd __sk_receive_skb +EXPORT_SYMBOL vmlinux 0xf5c9ba04 seq_read +EXPORT_SYMBOL vmlinux 0xf5deb12b dev_uc_del +EXPORT_SYMBOL vmlinux 0xf5e5a87b hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf63c0762 tty_lock +EXPORT_SYMBOL vmlinux 0xf63d89c0 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf646bcd2 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xf65608ae kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xf65e6a68 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xf6600e4e xa_erase +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf66e889a phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xf681acfc hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf683f20b udp6_set_csum +EXPORT_SYMBOL vmlinux 0xf68ce850 of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xf6953aa5 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xf69c9e32 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xf6adbf5f xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0xf6c02c59 __i2c_transfer +EXPORT_SYMBOL vmlinux 0xf6c50a0d bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf6fdeb11 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xf7261bbc bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xf726b8d6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf745b677 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xf75843c9 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf77e3335 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xf782f5f2 blk_register_region +EXPORT_SYMBOL vmlinux 0xf788bf1b mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xf7978f1a sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xf7bb4239 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0xf7d417ee sock_rfree +EXPORT_SYMBOL vmlinux 0xf807d59b pci_enable_wake +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf817ddeb scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xf81981c9 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf8419249 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xf8439295 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xf8462c65 simple_fill_super +EXPORT_SYMBOL vmlinux 0xf85c77f6 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xf88428b5 iov_iter_npages +EXPORT_SYMBOL vmlinux 0xf8977efa gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xf8a054e8 i2c_transfer +EXPORT_SYMBOL vmlinux 0xf8ba26f2 dquot_commit +EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d4ab63 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf901a19d inet_frag_kill +EXPORT_SYMBOL vmlinux 0xf9126888 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xf915179e refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xf91734e0 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0xf921cd17 seq_hex_dump +EXPORT_SYMBOL vmlinux 0xf9297cf2 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf94089ac mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0xf95dd8bd ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xf96026d4 is_bad_inode +EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf97d97f2 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9a83c47 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9d4ef00 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xf9e471cd cpu_all_bits +EXPORT_SYMBOL vmlinux 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL vmlinux 0xf9f224f6 csum_and_copy_from_iter_full +EXPORT_SYMBOL vmlinux 0xf9fe0111 vlan_vid_del +EXPORT_SYMBOL vmlinux 0xfa067b51 open_with_fake_path +EXPORT_SYMBOL vmlinux 0xfa15a9df page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0xfa20175e n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xfa3f28b2 simple_rename +EXPORT_SYMBOL vmlinux 0xfa454f92 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xfa4f167e dev_printk_emit +EXPORT_SYMBOL vmlinux 0xfa558c87 deactivate_super +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa64db33 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xfa7969c3 from_kuid +EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed +EXPORT_SYMBOL vmlinux 0xfa91c68e mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xfa97a969 device_get_mac_address +EXPORT_SYMBOL vmlinux 0xfaa57475 sk_alloc +EXPORT_SYMBOL vmlinux 0xfaa78607 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xfaa80f17 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xfaaedc07 mempool_exit +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfad226b3 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xfaf10c1c filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0xfb011f24 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xfb260440 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0xfb3301d5 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb3fce91 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xfb4331d2 vfs_symlink +EXPORT_SYMBOL vmlinux 0xfb4792e6 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xfb481954 vprintk +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb84f7f8 d_instantiate +EXPORT_SYMBOL vmlinux 0xfb8dda83 proc_set_user +EXPORT_SYMBOL vmlinux 0xfb9792c5 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb0f82c vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbb745f neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xfbbdf12f unlock_rename +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbe67498 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0xfbf1a61d fb_show_logo +EXPORT_SYMBOL vmlinux 0xfbf6833b user_path_at_empty +EXPORT_SYMBOL vmlinux 0xfc02c268 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0xfc2b34a1 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load +EXPORT_SYMBOL vmlinux 0xfc4652a5 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xfc4f584d write_inode_now +EXPORT_SYMBOL vmlinux 0xfc528c64 finalize_exec +EXPORT_SYMBOL vmlinux 0xfc6467f3 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xfc76464e devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xfc7de787 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xfc7e333c mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0xfc8b2ad2 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xfc8b37ab param_get_uint +EXPORT_SYMBOL vmlinux 0xfc952a4c pci_bus_type +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfccbeaa2 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcdfbb05 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0xfce92b25 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf7ce96 locks_delete_block +EXPORT_SYMBOL vmlinux 0xfd305b07 completion_done +EXPORT_SYMBOL vmlinux 0xfd3dd451 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xfd480683 input_release_device +EXPORT_SYMBOL vmlinux 0xfd565202 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xfd61c124 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xfd8d50ed seq_dentry +EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 +EXPORT_SYMBOL vmlinux 0xfdbbfa9a dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdcd297d dma_fence_init +EXPORT_SYMBOL vmlinux 0xfdf70093 ZSTD_CStreamOutSize +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe05e783 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xfe07e450 input_reset_device +EXPORT_SYMBOL vmlinux 0xfe0895c3 arp_send +EXPORT_SYMBOL vmlinux 0xfe0a5cad mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe425f1b mempool_create_node +EXPORT_SYMBOL vmlinux 0xfe45db91 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6636a5 kill_anon_super +EXPORT_SYMBOL vmlinux 0xfe730bd5 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xfe8258f0 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfebdc2be inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xfecfc00d tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef8ddb9 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff17bcd1 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff283cf9 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xff2aa66b devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0xff3559f0 check_disk_change +EXPORT_SYMBOL vmlinux 0xff375bfa dev_remove_offload +EXPORT_SYMBOL vmlinux 0xff470356 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xff4a2e7f tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xff4a7c60 key_put +EXPORT_SYMBOL vmlinux 0xff58bcb0 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff73ed4d bioset_exit +EXPORT_SYMBOL vmlinux 0xff74c3be fbcon_rotate_ccw +EXPORT_SYMBOL vmlinux 0xff853c69 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xff9c4b56 ZSTD_compressBound +EXPORT_SYMBOL vmlinux 0xff9f4612 ps2_end_command +EXPORT_SYMBOL vmlinux 0xffa11f82 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xffa5e583 mempool_resize +EXPORT_SYMBOL vmlinux 0xffae25d5 generic_update_time +EXPORT_SYMBOL vmlinux 0xffbb1ede mmc_request_done +EXPORT_SYMBOL vmlinux 0xffc972d7 __put_user_ns +EXPORT_SYMBOL vmlinux 0xffca6397 ata_dev_printk +EXPORT_SYMBOL vmlinux 0xffe46ba3 tcp_req_err +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL_GPL crypto/af_alg 0x084ad8a1 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x15ca5472 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x304507bb af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x3fbe86db af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x4830afdf af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4cb913d9 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x53ce8247 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x5637f245 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x63e7a4ca af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x6550501a af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x8cbe5ebe af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xa90de110 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xc401371a af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xc712e5c6 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xc7d5df0b af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xd732e86f af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xe972f1e6 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xea985297 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x71d09adf asym_tpm_subtype +EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xda2dd045 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x2c4bdadd async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xd360cd83 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x54f0340b async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x6e8bfa68 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4735550b async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x5c3fc74a __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x6fa2e258 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7c7d3731 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x09ec32f0 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x64ead30a async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x97d85c87 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xf0677d92 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xad13cb03 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 0x2349e541 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x25670f99 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x271c4b11 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x34fb2fc1 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x3be482c2 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x7ac9b21e cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x8043c58b cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x80b8fed8 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x845c1e01 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x963f1c9d cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xa06cea90 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xaef05377 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xd6398e89 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x25e88deb crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x3c455b41 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x45dd8ab6 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x51d4feff crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x66c24fea crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x70783e1c crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x81a52f68 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x98d151ac crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x991de6de crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x9d7be46c crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc4c12298 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd54b81f3 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xdc6412c6 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x515ba532 crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7a395d76 crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xd5a29505 crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x8ca12792 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_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x04bb153c crypto_sm4_encrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x09a89410 crypto_sm4_expand_key +EXPORT_SYMBOL_GPL crypto/sm4_generic 0x5b44a9b9 crypto_sm4_decrypt +EXPORT_SYMBOL_GPL crypto/sm4_generic 0xb86feb46 crypto_sm4_set_key +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xfdc341c0 twofish_setkey +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x01688f7c ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x09adf8d6 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0f4229cf ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x10eaabde ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x271dfc5a ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x280d5169 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2c9edbe8 ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x43c608f2 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4b6b1228 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4ca158ad ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x522b43cd ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x569453a5 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5b8e5a3a ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x62a198c7 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x86cdcee8 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9826b9f0 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa02d40d8 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xaf299433 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb8957991 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe7aed59a ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf46cba67 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfded5b24 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfe2885e2 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xff27bd58 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x425545f6 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x4da2fd6c ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x5151a765 ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x5e0080bb ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x7802f68a ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x8893ed17 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x9f96dee4 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb2c45e6b ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb3de80f1 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc2f67c8d ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc4062a92 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xd975dea1 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xa80f8db4 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x2b5adfb8 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x727ea304 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x9192a401 charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xa2a58bbe charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xac53a91b charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd0cc2e18 charlcd_free +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x8f91255c __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x2dbc47b4 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x68844193 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x1c928edf __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x3421f572 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xa7bcc056 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xb01b5dad __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x5b067874 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x63a5646a __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xf0bc7900 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xf6f2e92f __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x25e457a4 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xd1c152bb __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0c5dbe52 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x14b4b19e bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1fc5900f bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x305cea62 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36fab79b bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x382e12c5 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x412363de bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x56de72e5 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x65a99078 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6b1682ad bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6cbe3c94 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6e195bb5 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x80f23a0d bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa007e553 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa7fed2d0 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa98b23df bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb89f7d33 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbe283483 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbef898e2 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdaa6fc64 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe5d993e1 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe81d7340 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeb3b7867 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf7ac4512 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x207d10bb btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x31f4e884 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x50706730 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x662e3b36 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x911ecaee btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x999351cb btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb4aa4790 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xc693f4b8 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1a7ccbb4 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1acd8cf1 btintel_set_diag_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x22b8df07 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x31b6df10 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3b1f37d0 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3e8e8ef3 btintel_reset_to_bootloader +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x46a00fa7 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4b8b5fb1 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5b7a951f btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x60f5ee20 btintel_set_event_mask +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x70f18940 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7d9f3d98 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8cdc52e0 btintel_secure_send +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9a3a62da btintel_hw_error +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb7cb5947 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc6ad332f btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xdf39f335 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf5e9eb49 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x16b79697 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x29fcd5ca btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x37b96520 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3a15b6e2 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x43f57784 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4b7a1509 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9e5166e1 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xaf73754b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xbb0dc54d btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xeafee003 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5f4deb3 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x136cd8a4 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x21d25a03 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x958b8dca qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xc659a1dd qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xd91f9f45 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x25045fa0 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x30621b26 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7a0c8fa3 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xb244265d btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xd3577a2c btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x72d5fa07 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fb1e6aa hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x98097bed h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x9e389b0a hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1d729fe7 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1e7c4c95 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2bdf76ff mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x32ca1fc0 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3c3a1519 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x41a2ce87 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x44289853 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x5428fc30 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x569c6a6f mhi_download_rddm_img +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7b4688b7 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x80e8b13b mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x88089e62 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x97b0b699 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9e927f13 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa548a213 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xae2ebed7 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb928be8a mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbe168888 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xc3c2d30a mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xca114c82 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xd5a33fae mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xeaae4cc9 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x0571c78d moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x2c7efc67 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xa5fdc39c moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xae2b4967 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x7e09da8e dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xcd951391 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3650d60f dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x83e1f153 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x989cd9e6 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb16f5fa0 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd087321d dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd7b4bf46 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xda3fff71 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0b1dd9c9 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2b6d65ec fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x3b4fb091 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x66ddcdc6 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x68c24917 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7480aa7b fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x753b8734 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x80a0b272 fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x82d6420c fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x90dd6ca4 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x93a84673 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x97ae34bc fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xa5428c92 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd5c6f67f fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd9ceb1f2 fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf2868306 fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x43de2475 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x89f5697f hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x3324e416 vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x520ff5ab vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x5572f3a6 vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x78709748 vchan_init +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x8175d2b2 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x22160978 alt_pr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xa78e9e0a alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0b6255fc dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x167e8646 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1f533f0c dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x41c230b0 dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x49b4af9b dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x50e6933f dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x58d04c97 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x69f69378 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7c2bef3f dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x92ce3e63 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x99fe21d1 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa15738f6 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa5f70d7e dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xacfc304e __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb421e2fc dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc689817b dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe94b31e8 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf021b4da dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xff50439c dfl_fpga_cdev_release_port +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 0x5f754fd9 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x67ab7004 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6fb41a0d fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x848d2daf fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9cfaff89 fpga_bridge_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa1e6d281 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xad1e4463 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xbaf1c6bb fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xbf44c12b fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe112a3bc fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe4e42d10 devm_fpga_bridge_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe701cdbb fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0a6aaed0 fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0b2b83fe fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0d8be928 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2179bce1 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x33db401d fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x42943e24 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4b2e9464 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x8dbd194f fpga_mgr_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9211df98 devm_fpga_mgr_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9d572460 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xce915dc1 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf67ccb35 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf956ae4a fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x4fe27ffa fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x8949a6d0 fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xab0c67d2 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe353daca fpga_region_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe4702d65 devm_fpga_region_create +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xea2610ae fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xf219f078 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x03dcc798 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x1960d147 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2af8263b fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2b13a449 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x37a43010 fsi_cdev_type +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 0x60e924e4 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x6c09d7f9 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x6e84d1c6 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9c098e02 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9ffe82c9 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 0xe8d139ae fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x697e2183 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xe9a35a3c sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x024bbab8 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x12d2d912 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x3676dc42 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x6db8ebec gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x9a092dc3 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x0c33f62a gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x119772e5 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x6cea692a gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x9047cbd8 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xbf76560b gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x53f87a85 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xe3535a55 __max730x_probe +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 0x748dd548 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x90f7bab1 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x92567008 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x948b4117 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xef7e986d analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf26f3dc0 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 0x157e02b6 dw_hdmi_phy_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 0x5f51cfb4 dw_hdmi_bind +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 0x77497965 dw_hdmi_set_plugged_cb +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 0x822671f9 dw_hdmi_set_high_tmds_clock_ratio +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 0x99e597dc dw_hdmi_probe +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 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/drm 0x159f4cc4 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1b225677 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1d6ec267 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1dc6cdb9 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1f0ba8e6 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x27b645d5 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x31b7ff84 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3771290f drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3842057d drm_gem_cma_prime_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x38eaa002 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4462281d drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4655d369 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4b9027c5 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4efef65e drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x50171180 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x60953b7a drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x63e6b3ca drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6890397d drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68b7858d drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x69668bf3 drm_gem_cma_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x69d923cf drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x78d34a41 drm_gem_cma_prime_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8055bff8 drm_gem_cma_prime_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x834d37a9 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x85dcab50 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8eb346da drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9b41dd63 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa74b579e drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb3c1f24f drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb48f4da6 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb4d9eef8 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc8a87f6c drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd9171eaa drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe0ec89ee drm_gem_cma_prime_vunmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe2703cce drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xec918974 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xeed12bae drm_gem_shmem_free_object +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf38dd164 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff7f9f60 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x182b7970 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3fee0b43 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4bc21905 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4cde29b4 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x554870a8 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7052309a drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7177ee46 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7b94201b drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7f8c2455 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb9595900 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc2d63e21 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf064a7e9 drm_gem_fb_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xa9e5f33a ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xc19ec6f7 ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xcdd57f87 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x032e68e2 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x15c7fb45 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x16996a03 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1699b7a6 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x249632e4 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2d49a96c __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2f14c832 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3398b340 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3fd06b2a hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5359aa56 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x583adf3a hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5b819cb7 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x60424017 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x61069a17 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6e0e6dcf hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x73c7b148 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x78f4038b hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x80bb85c6 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8166860b hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8243f382 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x880b66a8 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a571054 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8aed5334 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ba6564b hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8d4bd382 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8eff8b7c hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9733b59f hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa483461f hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa6dd0d53 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae01bf83 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaeb82065 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb8d280a0 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbcfab627 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc9a504e4 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcfa979d6 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd0de45ee hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd19493a1 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd53c7efd __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdf21f41e hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe560f0fe hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeedbee47 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf4fd0fbe hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf9b51bbc hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfbe1b64f hid_input_report +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 0xfd66ccf7 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x21a69ddd roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x63243075 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x735542fc roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x8230bece roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x8875d7ec roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xf7c23ab4 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x022cef24 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x050f7a95 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x0ae51c7f sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x317f942f hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x44cd8fc3 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x56588239 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x57638ba4 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xc32cb6bb sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xebdabb2d sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xa0e4429e i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xb3927875 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1373af5b hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3d2810f3 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x005aa0bb hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00b2c6b4 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x04b0f5e0 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x09bb0836 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1b210547 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2ad278fc hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x384afb2b hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x406b7547 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5d2fe192 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6d51b5c4 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7071f6d9 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7819b200 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x85e93281 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa7bd7189 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb5028fb2 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc0341e54 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcbc8b79c hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xdbc844bd hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xcde9efbb adt7x10_remove +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xe9745684 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 0xcfba57d1 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x05480dfa pmbus_write_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x064c5fed pmbus_check_word_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x0ecee82b pmbus_do_remove +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x1f06cdae pmbus_clear_faults +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x25bab5c6 pmbus_set_page +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x392c1494 pmbus_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x3c2ceb8b pmbus_write_word_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x42d68525 pmbus_write_byte +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x47cae469 pmbus_regulator_ops +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x7308c056 pmbus_check_byte_register +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x8b011a33 pmbus_get_driver_info +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x941b4720 pmbus_get_fan_rate_device +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0x955ab714 pmbus_clear_cache +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xa51eeee4 pmbus_get_fan_rate_cached +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xb54905f1 pmbus_update_fan +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe61c68f1 pmbus_read_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xe797b8ae pmbus_do_probe +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xf74d10c4 pmbus_update_byte_data +EXPORT_SYMBOL_GPL drivers/hwmon/pmbus/pmbus_core 0xfc610cb1 pmbus_read_word_data +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3168df94 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x33c7a48c intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3aeeed59 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4a693abe intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa346a1b1 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xbf7ba2bd intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xc3ff3a81 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xebdc1869 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xeef3d646 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x57e3e968 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x5a0cca66 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xda0457f0 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x1bd049df stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x502ede18 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x83c3d976 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x98dbb415 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x99bd8992 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xad95c05e stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb17c41e1 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd752803b stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xef2cef07 stm_data_write +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x15a8345c i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xa0359f41 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xbcf5bee7 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xdfa00b04 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x9cc2b825 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0b881af5 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x13d4f814 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x20b7c955 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x222acc23 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x28a00490 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2a64defd i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2e0db922 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4b7782f2 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x559fa9c3 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x59004b5a i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5c52a7bc i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x61875111 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x681f13ab i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6b65413f dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6c70483e i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x82f1995b i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8ba89636 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8c4f0c4e i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x96c41802 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa14966d6 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb549f71e i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdd905e58 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xde29e29c i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe700d8bc i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xeb276094 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x03d00484 adxl372_readable_noinc_reg +EXPORT_SYMBOL_GPL drivers/iio/accel/adxl372 0x654c4ee0 adxl372_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x6036471c bmc150_accel_core_remove +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x75359a6d bmc150_accel_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0x9a13f493 bmc150_accel_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/bmc150-accel-core 0xdf504ee5 bmc150_regmap_conf +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x0a93f49e mma7455_core_probe +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x241c3c65 mma7455_core_regmap +EXPORT_SYMBOL_GPL drivers/iio/accel/mma7455_core 0x5fb1ac77 mma7455_core_remove +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0x03e92357 ad7091r_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7091r-base 0xe2967528 ad7091r_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/adc/ad7606 0x68e39564 ad7606_probe +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x013c1a62 ad_sd_calibrate +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x4ad68e3c ad_sd_reset +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x5bec929f ad_sd_read_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x85fb346a ad_sigma_delta_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x882ae40a ad_sd_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x888d1c8a ad_sd_set_comm +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x961482ca ad_sd_validate_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0x99e63954 ad_sd_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xdcee6229 ad_sd_calibrate_all +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xfdc5402d ad_sd_write_reg +EXPORT_SYMBOL_GPL drivers/iio/adc/ad_sigma_delta 0xfe0e9052 ad_sd_init +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x43a850a8 devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x612b6c81 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x14d1d93f iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x20e769db iio_channel_cb_get_channels +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 0xc9130f81 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x05dc4da1 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0cee2ca9 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x35b62106 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x3a8bbf85 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4572d3f6 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5beb39ac iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x758923f2 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x79528eb7 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xdb1bf277 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xde771f0b iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf6fc2aad iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xfeb700a2 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x0ccc2b7f devm_iio_dmaengine_buffer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0xe3c2b14b iio_dmaengine_buffer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x320006c8 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 0xa870fff7 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 0xaca39151 devm_iio_triggered_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/chemical/bme680_core 0xe77505be bme680_core_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0x1a9ef639 ad5592r_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5592r-base 0xca1d6668 ad5592r_probe +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x12c89e06 ad5686_remove +EXPORT_SYMBOL_GPL drivers/iio/dac/ad5686 0x87d5d245 ad5686_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x07b50422 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x456fb045 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x5143d831 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xafd743d5 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xcc72d326 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xf33fc870 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x047b59aa adis_cleanup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x12bc0147 adis_update_scan_mode +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x21433b78 __adis_check_status +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x22b5fbff adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x5101f6b9 __adis_reset +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x57973a59 adis_single_conversion +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x638eb9c4 devm_adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x68bd75bf adis_remove_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x788cba65 __adis_write_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x7a372b63 __adis_read_reg +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x889c7fd4 devm_adis_setup_buffer_and_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x8ef4c124 __adis_update_bits_base +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0x98112a01 adis_init +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xc3050e55 __adis_initial_startup +EXPORT_SYMBOL_GPL drivers/iio/imu/adis_lib 0xe3faf3b1 adis_probe_trigger +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xf19cbd23 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x675d8b20 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x3f418c75 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x9c22204f inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x025d793a devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x09d80f71 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x13054480 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x15f7a964 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2615045f iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26a04f07 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x288d9e4c iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2c9995df iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2f524b22 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3ada6fbf iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3e3d0234 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4a053c28 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4c1376f3 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4cdce7b7 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4e835ad0 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x52bf0f82 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x55862f32 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5c4c4936 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5eea37c2 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x609c47ff iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x722ffd02 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7d724cb9 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8207cd2b iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x92d88c0e iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9f19d262 iio_buffer_set_attrs +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xab2c930e iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xac360a41 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2059fd5 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb5399c66 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb9d52ba3 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc7938988 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd76f556c iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdc366d4d iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe196e6a3 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe1fdb986 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe63fcc48 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe6df1732 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xebfed173 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xecf88af4 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xef3ba8a8 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf01dfa3d devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf02626e6 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf2d45086 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0x0a1424e0 rm3100_volatile_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xaa911f08 rm3100_readable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xcc7209be rm3100_writable_table +EXPORT_SYMBOL_GPL drivers/iio/magnetometer/rm3100-core 0xe1a56422 rm3100_common_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/mpl115 0x563af387 mpl115_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x03f10d6c zpa2326_remove +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x36158cbe zpa2326_probe +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x3c32cf78 zpa2326_isreg_readable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x4c59609c zpa2326_isreg_writeable +EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xdce27c57 zpa2326_isreg_precious +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x000860a4 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1bc5fd57 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3f95c924 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4619b340 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x533bed50 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6ca034e5 rtrs_post_rdma_write_imm_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc2038408 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xceb5bbb9 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcecf97bb rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd3160623 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf33155a1 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf3aafad6 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf5eb0fcb rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x2890bd72 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x669eb2cc matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x49a4fcbd adxl34x_remove +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 0xecc30c6f adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x02996d4d rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0bd70145 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0ea0350f rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4123cccc rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x535eeeaa __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x619ef99f rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x672b7c95 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6b77eaf6 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7db50419 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc1724277 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc956f3f6 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe1914566 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xfbb852b8 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x3093c563 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x7564472f cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xcdb16604 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x5750f481 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xef4d839e cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x811a6c05 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xa67501c4 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x25528ced tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x95556c63 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xaebf31f9 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xe270e322 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x000204df wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x200b390c wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4315a3e4 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x48f159d4 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5a9ff460 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5eabbebe wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5ef07e35 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6a0966f4 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x781e847e wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8fbfa37a wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9b7eccf8 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf2da01b9 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x31e30d96 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x68f6b6b3 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x73db22c9 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x9ff0d2c6 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb17da958 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xdcf252bc ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xf6a1e1ae ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xfad23e35 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xfdc4f88a ipack_driver_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x459190d4 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x5a0d1159 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x5b1a6f60 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x627878f9 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8591cc9a led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xcec36c17 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xd4c7c5d6 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf3ded215 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x02d7d061 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x35863d71 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4436edd4 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5b35252e lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x6706c631 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x711dcf02 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xb8394b28 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xe85b96aa lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xeca614ef lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf0d7f547 lp55xx_unregister_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf93f73b3 lp55xx_update_bits +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 0x00af95a1 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06d94b0a __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x157aa73e __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19a50641 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x19acd14e __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1e382318 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x24935482 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x28991160 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x29ef0066 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2cd1be34 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3ae1afd1 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4f0216b8 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x56bd5947 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cb0a24a __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x65835607 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x68b2f180 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7baca7fe __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x95286aa1 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9cedcd57 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa60fcee9 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xafae4e81 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb4b03b2e __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7500cb5 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1fd1dbc __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd4cd3c1a __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe278bd6d __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe68d70a9 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee926d8f __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf30b9aa6 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf438022f __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfbd03183 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x10c414da dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1170e753 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1e2e69a9 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2373f39c dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x47d2ed62 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x52daf1e1 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5f4b317a dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x65f13894 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6d51a0e2 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 0x7cc5157c dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x850a5444 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9b1025fe dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa6ae6658 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb696741c dm_cell_get_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 0xb915fa1f dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xc5d3b213 dm_cell_lock_v2 +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 0xdf6445b9 dm_get_cell +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 0x5b7b8abc 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 0x1f344710 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 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 0xcdb724b1 dm_cache_policy_register +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 0x1531650c dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x90412364 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 0x1889e5f9 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2e271787 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 0x5397897f 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 0x7438776e 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 0x8a8bc30d 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 0xc8361459 dm_rh_mark_nosync +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 0x09cc81fa dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0a7e77f3 dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b25f6bc dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0b36102c dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0be67537 dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0e198232 dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x10e6ccea dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x16af9071 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x23ebd5fb dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2417c5c4 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24621ca3 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2adee13f dm_btree_cursor_next +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 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x34d45c77 dm_btree_cursor_get_value +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 0x36a34e58 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x36b84cda dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3a797d19 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x432b8178 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4557b425 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48d1c7dc dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x49081644 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4a4cb558 dm_btree_insert_notify +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 0x5cf0d0bb dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x63b0c22d dm_bitset_flush +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 0x6af8a872 dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6bb4bf8f dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6e1e3821 dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6f2fe3c4 dm_btree_remove_leaves +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 0x7485935a dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7551b46e dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x764567c8 dm_btree_find_highest_key +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 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 0x885b0024 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x89783bda dm_array_cursor_end +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 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x97263968 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x98db2687 dm_bitset_cursor_end +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 0x9e98460e dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2ea5542 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa3cc1157 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa51fbedc dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xaab0ef04 dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6949944 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbb461fb7 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xbbb5df05 dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc248bde2 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcedfc878 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd51c29f1 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd5d03e58 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd6711a58 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf398644f dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1390fc09 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2065208e cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x25963f5d cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2b60d282 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2f53ccdc cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x36f46e25 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3c66004f cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x463b5a8c cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x55a2ee8c cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x76f45e0e cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8c3338a4 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9520b1bd cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa3a27f0e cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa6920811 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaa586637 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xacd1e542 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb8a2c5d3 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbb815151 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 0xd701adf5 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf5aa4b3b cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf8c99364 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x018e3efd saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x28918f44 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x30bcfe1f saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x3cad2ecc saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x55f7f746 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa187e50a saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc7bebd6f saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe5a15a6c saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe8cf4c1a saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xed6f03a6 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x048024ed saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x0f076bdd saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x1f535fe1 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2bb276c9 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x53ae0609 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8ae529e7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfa561571 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x11b8dd66 sms_board_setup +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 0x42e3ef0a sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x46e7c109 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x524cf3be smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5861fe4b sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x65a7759d smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7617a957 smscore_set_board_id +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 0xa0d06e62 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb5254e7a sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbd3f7e26 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc2123248 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xcd86ae29 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xde5da58b smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xdeaaa596 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe7abbd9c smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xefd1762e smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf5d7d234 smscore_start_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 0x579c6308 tpg_gen_text +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 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 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x032d174b vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0497dda7 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07ca2d7f vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0aa6af5e __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1129fe82 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x11b38719 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x16f67eef __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x19183849 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1e0c21bb vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x58d70f21 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x682a4e95 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x79552273 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7c447a97 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7eeeee2e __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x81970a49 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8bd010f4 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x95ba576c vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x992f184e vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9ff97d6a vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa7565d7c vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbcd23ae4 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbe44df45 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc5527080 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc78b070f vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc974fdd6 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xce6684fc vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd34788da vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd8192224 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xeeefd763 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x3fcf4fe0 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xc604b798 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0xc58bac2c vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xfcc721cc vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x06e7cf2d vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x12951fdf vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2b122c3c vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x32e9ce9c vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x389d6843 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3c6edac4 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x40cac80b vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4cf3b5d4 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4dc01108 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5182fc87 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x53eee42a vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5613f877 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5ba76db0 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x71e74376 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8e266569 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x944d2064 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa2a8a1f0 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xba14f03c vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbf69eada vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc2d1f456 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc696568b _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc9c3856f vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcc3d998e vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xce90e864 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcf8f5f97 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd21f8f4a vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xda3a7c10 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe0c9e639 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe4e9c223 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xefe96045 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfc701c6a vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x4bc09d72 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x492aa30b dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xcdacd1df dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xff85d69b dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x2a9a5599 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x54df5ec1 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x664269c7 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xec9c7329 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x823fc2f2 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xe9eb750e stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xe15d77f5 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0xab6dc576 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/smiapp-pll 0x5cb2603f smiapp_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x061097bc media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0f03a115 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x14d97d3a media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2053edd3 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x26f29564 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x31f07b28 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x37786d07 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x37f4b292 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3c413868 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3c41d227 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x40326e23 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x42161419 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4c9942fd media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4f2d8c2d media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x557882b5 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5663d328 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5efc426f media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x669376d7 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6cf376ed media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x84b22b45 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x87f80dd8 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8b15eec4 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8e8e8306 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9ced851d media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9f8f6398 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa2529571 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xaab0ca7d media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xabbb37b2 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb28be110 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb2cbb35e media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb4df5e95 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xba12733f media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbbc7ab1a media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbe295d85 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc221f7be __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc4b07dd9 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcb79e11d media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd5e4efd8 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd736aab9 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc581289 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe71e3f92 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe72ecbcf media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe744e144 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe928f560 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf1b6e375 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf386d8ce __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc8396c7 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0xb8d60b97 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1185830c mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1398a2f4 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x15130998 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x15be56fb mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1d7040d3 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2d200dcd mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2dbd7cb8 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x36529e97 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5b8ee9fd mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x83d5bdf8 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x86d6ed7e mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9625250a mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x97c8ec18 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbbe6b9ad mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbf703339 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc1bfb0cb mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcae9d349 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd6784f12 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf9b23822 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x02cf28cd saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x030d6bc7 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1147a014 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3a198bb2 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x54c0c12d saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x5f8df8f4 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6983d531 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6b1d23ec saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7275db26 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8a8527f4 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x9c583982 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa2d0310d saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa4adbe84 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa88eaa74 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa94d824e saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd94e309e saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe251403a saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe395b10f saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf983a65b saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x1f366417 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5d7836c8 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 0x81e8eb1b ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x9b6dd81f ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xb5c28879 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe81dbb0c ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xf3590e4d ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xb9fe3b3b mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xc21cc3db mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xd612a98d mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x2bea2d8b xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3bf5c819 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3c7eb685 xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x3d5d2e63 xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x8dbb882c xvip_clr_and_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 0xcb2b2379 xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xcbf124d4 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xd76b8f21 xvip_enum_frame_size +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 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x79c37d47 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x1f5c8807 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xabbe6cde radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x368d61f4 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x847f57f1 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x84e94845 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x8acff6a1 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe09ed179 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x10513ccb ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x13f6fc6e rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1aaa01af rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x26805286 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2e08ef0a ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3fad6b1f ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4e204c7e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x50030f7f rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x583d477c rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5caaa824 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x70e40dbe devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7911cc51 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7c7dc6d5 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x81905927 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84332a41 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xad1ce8c4 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xafc38777 ir_lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcfb7c9fc ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe3611741 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe38c98e4 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfba936b0 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0xa0377e4f mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xb233f94f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x54511ac6 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0xa9663778 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x4e49d2d2 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xd4bb6660 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x1477509d tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xf27cd2fb tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0xf75471f4 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x22b6eedf tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x52b2d311 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x0112a4f1 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x10601144 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x87d31aa2 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x119fc7bf cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1536559d cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x26eb117d cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3880e29a cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x65acb17a cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x67e8913c cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7d9438b6 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x98bfb7ac is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9a8a5aca cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9d1dff4a cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xbade2f2a cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcbe8952f cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xce49ca67 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd98adf19 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xddab7673 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe2cdc25f cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe38b6fda cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe80885e9 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf23c0244 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf6e09961 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xd81db7fb mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x72dabb5d mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1ab3f59f em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x44939982 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4d13f0fa em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x538e56a0 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6307519a em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x658d1ca5 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6ad50616 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7845ef1d em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x89cdb164 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x90e4ab95 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9728d60f em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa34d16ad em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb55a9311 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb5fbba5b em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb77cb9b1 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb9bc949d em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc54f9603 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfad8f418 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x8554cfc0 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x869d6d2a tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xe8bd336e tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xfc2c10d1 tm6000_set_reg +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 0x7b327300 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x8e7f9436 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xa4be458a v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x01533b4d v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x03e8c986 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x131fa49f v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x18b2be20 v4l2_async_notifier_parse_fwnode_endpoints_by_port +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1b40677e v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4e584986 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x506123a0 v4l2_async_notifier_parse_fwnode_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x5a0c179b v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x81acdf00 v4l2_async_notifier_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc276ff1a v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf298bf68 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xfe0e3429 v4l2_async_register_subdev_sensor_common +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x08a43dc0 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1f07c63d v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x22103ba6 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x243076fc v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x29178d3f v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2ab77dd3 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2dcc551d v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x425adb62 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4633d731 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4708961b v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5435bad9 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x639b7a66 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6bd5679b v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6d1db823 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 0x7464772d v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x77ccaa8c v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9adafd3b v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa15b6e3c v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaef67b40 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb0628066 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb0632e63 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb10d9022 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb171a0fb v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb20ae062 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb274b720 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb7d70540 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbac3b97e v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xca9e97ee v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd0baebdd v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd48165b1 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd7d4126a v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdb1d3f04 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdc7e6b00 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xddacea4f v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe076c3d2 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe15d6be4 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe29f8ba4 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe6099134 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe7588d5d v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeb282d5e v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xee6d9221 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 0xf712e66e v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf7a066df v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfee77d12 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1128f16f videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x190aa54f videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1b9efde0 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1e61e206 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x24fb7322 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x451044ad videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4e3afd42 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5759a0b8 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6e0b88e3 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6e6e737c videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7176adc5 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x80f771b8 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x89e381ab videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8aac7301 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x99f246f7 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa7d2fb02 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xafc0d0bc videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xbca66b93 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xbcf69dba videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcc7e2308 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xce867e21 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd783c06f videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdbf8d5b8 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdf9ef271 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x00227489 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x10b43e71 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 0xd2fd0a6a videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xf7b7ba03 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x14ebcf33 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x8e4ac85f videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xda1eb158 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0e6d67f2 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x14b9e451 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x16b78b0e __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x178a4812 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x17ff6219 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x180e5a9b v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18b563d1 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1af03045 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x207574a1 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x21522742 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x225a421e v4l2_async_notifier_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x25a0b77f __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x265a21df v4l2_async_notifier_add_fwnode_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x26fa9b93 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a46c9e1 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2c72eea5 v4l2_async_notifier_add_devname_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2e3325f3 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3580e1f4 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3d653e93 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3dc39876 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3fe56abf v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x412ed8eb v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x48348fbb v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4e41d7e3 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x50d65b11 v4l2_subdev_free_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x55f1c963 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x576e2a1f v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x61817752 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x65fe6b48 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a8db2a7 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x71208a03 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7537555d v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x794b85c0 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7a8e1c95 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7faa0caa v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8e754245 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x994e34b5 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa4a4657a v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa4b0f68e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa52fecfc v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa61d6645 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xadab12ce v4l2_async_notifier_add_i2c_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xae8b0097 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xafab3661 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb2ec3ab9 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb4c0a601 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb78aceaa v4l2_subdev_alloc_pad_config +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbb60012e v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbc3f6e7c v4l2_async_notifier_add_fwnode_remote_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbc61b33a v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc5601b96 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc66e8f69 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8b09769 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xce9f4049 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd74072fa v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe52b66e9 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8770199 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe96a95c3 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xefb816cb v4l2_fh_is_singular +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 0xf71b26d1 v4l2_async_notifier_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf920e975 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xff2b0988 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x93b0477c pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x9ed8c112 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xf03361ff pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x0ba6d528 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x1d33b04f da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x4384d340 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x76a51ceb da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x78dde090 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7d848e4a da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xda01c56d da9150_set_bits +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 0x22a28670 iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x17b997f2 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x31972d10 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x40446513 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x55487c45 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x5a3a93e5 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x83e55879 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb0c970cc kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf3726840 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x163a045b lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6047588e lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xf8e493f5 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x45a701b7 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x89e534a1 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xad08b7ec lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xadc40a18 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb6748719 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc832e3e7 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd039ff63 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x56302594 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xa614a223 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xe67eab86 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x04351f66 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0438c326 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a5fa0f2 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3af67274 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4700026a cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x470dde2a cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4e5bc825 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8dc3a8a6 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8dce74e6 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x90e55f93 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x90e883d3 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9de34bdc cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa5694a9a cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa764446e cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa769982e cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xaf5a4b3e cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbfb133de cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbfbcef9e cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc4054bb6 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcef6b5aa cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcefb69ea cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd3d0429f cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd3dd9edf cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe4515962 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe45c8522 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xeac89c2d madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfc842ed2 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfc89f292 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0f499e5a mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x243077ee mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x5d588080 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x648a3cce mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7685c9a6 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xa17ab922 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1764743e pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x1aef405c pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x32382392 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3992b81c pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4a72f1fb pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7021e2f6 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x905f8989 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa58ef102 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xaf0e5880 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb4db2533 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf44559db pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xaa1d11c6 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xea1f6561 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0b079917 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x0c30b6c9 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x55bdf100 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8b9a0d55 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe1652018 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x1c1f46e0 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 0x0b93fe99 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x22dd9e40 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x292e8ed8 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x33d14a84 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x34dd39f7 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x46f02285 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4bd40daa si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x547d467e si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5b6638f8 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5bb57fea si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5dcec9f9 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x6083974b si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x62d56e33 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x76608264 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x77e65f98 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x789f970c si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x78c54270 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7dba15e8 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8067f794 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x80932288 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8aeda45a si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9b373a8b si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaa8e0aca si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaf406022 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb781588d si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb914bfb7 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbc2c85b3 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc1978d78 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc5fdb201 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc75c2aab si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe4b65174 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe9ea352f si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf3c7ab47 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf50f26d2 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x03f0ff92 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1f3f0889 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x22b4f5c4 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x289f996b sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf3173f09 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xa4981d7a stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xcb5a32a1 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x772f51d3 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x7ad30595 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xa181947f am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xa8176f2f am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x371f98c8 tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x805a1869 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xb95ef904 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xc8bf6987 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1f58ed94 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x228df438 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4a6d25b4 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4b61e9d5 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x6856c967 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x78b25c14 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xc620bd05 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x058ef7e7 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0c903a63 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0de949ab rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0f845060 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x172c14a0 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3b5c8f27 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3ddcebcb rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3f02ecfb rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4361aba1 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4b99734d rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x570d1a0d rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x605f9f64 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x65fe1ba5 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x733ffe44 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x73ec1ac0 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb7c10a3a rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc18d1e05 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcd38e5c7 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd047fa55 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd7a3030f rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdafc2284 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe2dd633f rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe62d0e4a rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xebe3a080 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1e3ed7e1 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2685c48e rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3a7cbc90 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3ae3e26b rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x5d7f763a rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8d5cc4c6 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8fd3b50d rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa6b4e10d rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbdb2a70e rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd36c9ffd rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd99f7271 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf7aa44b6 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xfe8f2e89 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x463ef151 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x80531a60 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc5045b04 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc5335f1c 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 0x48fded77 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x64ed5c32 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7e3dfbad enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x9d1d704f enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xba914f8c enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd8c48d33 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xec88ef1d enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xfadae8f7 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x01ccfef8 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x07983aa2 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x591bb8c2 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x9c91c0b3 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xca7757f7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe8c8625d lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfb301bc5 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfbcddd52 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x0b52993f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x518a2137 st_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x08d33ace uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xa8346a82 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xcfde206d uacce_register +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x5e3f3ee0 mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x7af06ad9 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x8033378f mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x8c87b2bc mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x07ef1b4b sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x099558ad sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0baeec7b sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0eb3fc99 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x13aab91b __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1f4f6334 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x229b562c sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2d99dc8b sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x33d09d2d sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3bd41fcd sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x472180ec sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4793b944 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x482bd4aa sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4d7b21ce sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4e5fd9ae sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5b92714a sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5fa54a62 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x79981753 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7cd09cf6 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x85623b4a sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x88630ca5 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x92d9dfce sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x934af8c1 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x986d69a1 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa0034336 sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xadf217a0 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb8c16a90 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbb288722 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbc3770e3 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcd5de36e sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcfc84943 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd45f066e sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe753bf3a sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xebea7fb0 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf06dc7a7 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf70e13c9 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xff44320b sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1e1fbfe2 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x297ab7ea sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5d33274f sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x7324c107 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8015c06a sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8481a750 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf866bdd4 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/most/most_core 0x030dbd42 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x05dc4a40 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1b55714e most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x35696add most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x404bc0e0 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5b526a26 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5d47c86c most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x66cdad99 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x78206e00 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa5fbd42e most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xac46b9fd most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb153c4c0 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xcd5e3d77 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd6974bc1 most_register_component +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x52bb2f3a cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x908c2f44 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xafa50aac cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x43c857de cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xb0319858 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xce63d388 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x21f6fedf cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x0af438e8 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3c3aa3ed cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x563813d5 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x4c7494cb hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xfe123910 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x050d70a3 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x06f48744 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0edba22e mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x10ec429a unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x116f48f0 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x166b4d09 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1eb61ece mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x22c4c87e mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x242bb31e mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24a13062 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2bc3f763 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x370d3764 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3ca2e48f __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3db1669f get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4219f3b8 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x43af2faf mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x44108a77 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4a7583ed mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4b39754c put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4bd97b9e kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x506ff0e2 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50702dfd register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50b13c71 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x531c3cdb mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x546e0777 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6c33a45e __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6c866582 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6ddf431f mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7a6405d4 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x86d3a6ed mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e47f063 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9004bcc6 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x91c508e2 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x94d9dc92 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9c4daf08 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9e305876 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xad2fa7dd mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xadac7483 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb4f3eed1 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbe1fece5 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2b261dc mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc8928b3b mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc96a6b53 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcaa58651 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcda59385 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcec2c61d deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd5d539c2 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2218c51 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe4312b5e mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe83af4c2 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed95fbab mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf71ef354 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf960ba6a mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x2ed46b61 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3ebf16cd mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x902ef5bb register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa4b186b9 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xe37a9342 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0c88a5a5 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x36b349f1 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x43fb584e nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x4c1a4d83 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x763fe452 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x933f2e13 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x9a14bc4f nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb5ccbcef nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc031c3ca nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xde516dcd nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xe7e9a7fc nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf39424e1 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf3aee1ad nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xd85c1b9b onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xd89014d5 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x4b78f14d spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x775d5827 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x098c0fa2 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x26dc6e05 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2ab2fbb3 ubi_leb_write +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 0x47b9ca64 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48ae7314 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6c06ba4c ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6e89b414 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xac3cc5d1 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd1be44b0 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd7fc4700 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xda356ad4 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe0e357b6 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd4a17a1 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfe3d34d6 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0dbef9e3 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x16a552ae mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x35023ae8 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3eb304c9 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x50991f9e mux_control_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x57cb96a8 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x79f500b5 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x87101253 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa701ff8a mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa7d450bc devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb07881e6 mux_control_try_select +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xd545e93b mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf3280e80 mux_control_states +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x3083edb9 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xc6bc0482 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/bareudp 0xb36e6d66 bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x3a914888 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fdabd3e register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa2bbae7c free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe2a9e2ea unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x0a291848 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x4c122d54 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x5c448e27 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb78a5903 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x11b9ad9c safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16081ffb can_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x17e9b57d can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x28c3742b can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2ab6663b can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x33071170 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4987180e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x52195acd can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x551a4bf9 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x59120ad5 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5ec280f8 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x641559f3 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x697cd5d9 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6b898236 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6f36ef1f can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x77d5aec4 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x81603220 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8762619a can_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x88dde0a0 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9478c504 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaa06b967 can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb5c5698d alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xca66123e free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd378825b of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xed63faaa alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xefe0c054 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf1aeaaff can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfc578db7 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x04f072c9 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1ec6f4b8 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2455777c m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x33a62906 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x34c78a39 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x824f8508 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xb353a1f4 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xc9c2c7ba m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x6acf0783 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x78995de8 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x91c610f7 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xaa0678fd alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x7cf902be lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x100767cf ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1257e6fe ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x284590b7 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2d9ac13f ksz_port_mdb_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3350be60 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x34e52ae2 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4eb777e6 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x536369c3 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x590dfa0f ksz_port_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6e2286a6 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8a0accd1 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x98b9bb07 ksz_disable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9ed044cf ksz_adjust_link +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc5b4ab2e ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc9b52d08 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdf8b8ddd ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf67c912a ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x221c98ca rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x2a3d6eb2 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x35138f49 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x4687226d rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x82e51d2a rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x9fcae26d rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa091b7f3 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb3e6738c rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xbb31adfd rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc68a09d6 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc9199007 rtl8366_vlan_prepare +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xc9b9f618 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xcb9abce8 realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd0058170 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd04c2bb1 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xdccab7b3 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00a9073f mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x012932a0 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02eec079 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0372949a mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03c5d46a mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0573b633 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05e4afa8 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x060f4ebc mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x088e4532 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09c6b93e __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b21cd17 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0bbe5441 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13e4ffce mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b501418 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d88055e mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e4ff2ff mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f028aa4 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ff9e614 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x248b0e73 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24e196ff mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2553235f mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x25a3ba5b mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x261fa339 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x289b3da5 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a85ffd8 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c643555 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3681e6cb mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x375934f7 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x379c8d35 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a19c5e6 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ad86338 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b37f8cc mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d630e1d mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e7793b8 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40033aea mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4203b4d6 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43f28299 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x466d7b52 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47440457 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c1a70d7 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50420b01 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51de4c25 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5457aef2 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5489d658 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x548c7778 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55301073 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57f847f0 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x588efcd1 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b95e8e5 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cb01d1b mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cf128d9 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60cc79bd mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x627eeb1b mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62cdb3e0 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6556b3ae mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a26a9a5 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b744fd2 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c844cc0 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d0b9574 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70e35446 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71dbd9b7 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75d2d14b mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78a8e535 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81ca0d4e mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82b6adcc mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87efe787 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x896d342d mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9058c1d1 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9534cfab mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9568f3fe mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x956a357f mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9c6b7283 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d597f1d mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa436f5a0 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa585157b mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa72ff770 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaadaf5e2 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xabe9826a mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xacebf617 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xacf2ad55 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae627fc7 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0b9a360 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb18efd9e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6333822 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb73d1be7 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb78d5001 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbaa7dcb8 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb6c1b5a __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdaaf740 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdc8ab48 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdd8ffaf mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc4e6721a mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5526505 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc67ce3c1 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9be8d2f mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9ddbfea mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf114523 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1038d48 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd28d190b mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6356a6a mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd71ace46 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8b74dbb mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdbbb08d3 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc28fc44 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc3791c6 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd9b0069 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde70dceb mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde91a430 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4bec98b mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9345805 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec96aa91 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeca48cf8 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed09e472 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedd5197e mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee92342a mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf08f2339 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf26295cb mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf2c9c41c mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7196981 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf97d9aeb mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe6f49d8 mlx4_get_base_gid_ix +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 0x12ad1db2 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x194232f0 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26d00d44 mlx5_query_port_link_width_oper +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c7b957a mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2dddc333 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2ed722c8 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f88758c mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x338d65e9 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x361e0d37 mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b1aaa87 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x424fbe46 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x435a4289 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x468a2da0 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x48ff4bd8 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x505c161c mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50c4139a mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50c6a632 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x568491b6 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d166340 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e4cf4e4 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x680ab1bf mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68473963 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a727f4c mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a8027f5 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6df13f71 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7186ca36 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x720ccceb mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7490da95 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75d83ca0 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7aae5c73 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c783d03 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82f60c7e mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8380fd93 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x852ac731 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a93d508 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d07ec3c mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d9e34c9 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90f9291c mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x911a9e82 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9a116c0e mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9a50a162 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9aed19fa mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c5fd7a8 mlx5_accel_esp_destroy_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9faeadb0 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa121b9dc mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa17e5370 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2ef51f9 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa5c31576 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab1605cb mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xadee132f mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3e57712 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4004ec7 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6eecd06 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb96226cb mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9854080 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9b23a79 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbf35279 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1c95472 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7356bd0 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc83a7ecd mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd98372e4 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe24f5ebc mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3b6e04c mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4b7d7b8 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4bc2746 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe605fc06 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe71cb12a mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed1db7f2 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfafd5c83 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd43e2e4 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe0f1d0e mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x30d3945f 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_common 0x0b70f9f8 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0x9b0d0f31 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_common 0xe1ec2d92 ocelot_cls_flower_stats +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 0x01c9655d stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x55c696db stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x5e60e9d9 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 0xc43285da stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x4247b764 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x4b62900a stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x51d08a19 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xe0dfc2ba stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xfe466672 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x241d4b04 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x5910ffcb w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7037a0c4 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xa71387e9 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0x0a2caf55 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x3e6a8bdc ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x59b8a888 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xaee947a7 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xd09d4318 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xde88d50d ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/macsec 0x021f27d1 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x6e14a7f5 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x6e975de7 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x8dd45c5c macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xda352fae macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x45f022cb net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xec77348b net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x069ea673 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0fa8a0a8 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x19cde483 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1a616aaf bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1b36eec6 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2994f33c __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31c43323 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x383428c8 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3d834779 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x416d77ce bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4e5f3dbc bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x57e0967b bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5dda6d7e bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x727c003a __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7519f398 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7d8d5eb4 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8a2f9d9e bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaa80691b bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb25b4108 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb84f7649 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb87e2017 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb949ea22 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xba01fc36 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbb7fa049 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd4c8cc58 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd9578747 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdb61cd2c bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xddc80082 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe1021218 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe2ad52d0 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe39d606a bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfb6ea11c bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfbf45316 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-i2c 0x57501181 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x52de5f57 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-xpcs 0xe8e14da2 mdio_xpcs_get_ops +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0b755ef3 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1162b00e phylink_ethtool_ksettings_get +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 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x58a026c1 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fb6b35f phylink_helper_basex_speed +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6168605e phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6b1687b2 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6ee47799 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 0x86ff345f phylink_ethtool_ksettings_set +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 0xc1ce9faa phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc53878cb phylink_add_pcs +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 0xfa22e0a9 phylink_mii_c22_pcs_set_advertisement +EXPORT_SYMBOL_GPL drivers/net/tap 0x02e53c67 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x3116296f tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x558c68b6 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x997b6a3a tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x99afb53e tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xb0bfc796 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0xb23c36fc tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0xd6d49cc7 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xdc01a950 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x2d6a7079 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x60fc156e usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbc6ff1d8 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xdef49126 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe831345f usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x13787fd0 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x16e281ac cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x28d5b2a7 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x6f352baa cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7035188b cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x92ca9ae9 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xab4383ee cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbf7bb009 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xcb7f125a cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xccb1334e cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd015c63a cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x46c94f6d generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x717956eb rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x773ec385 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa5a6322d rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb940bd5a rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xfc0087d0 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0f668e3c usbnet_set_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x10ff93bc usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x12e72c95 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b262af7 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x23d07620 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2c137b27 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2f362eb5 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3d26f0cc usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40944592 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x429364cc usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4e7454ae usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x59b6acb3 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a23b482 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6559df88 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x712e1a65 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7558f33f usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8148c0cf usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa1b57afa usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb6f005a2 usbnet_get_link_ksettings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbc8b5b91 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbcb14c8b usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbfac0a43 usbnet_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc879a283 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcf3316bc usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd5ee0d8e usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd915ebea usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb26668e usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe3d886a2 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf0a732f9 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf2b64faa usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf3c1ef2e usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfc287757 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfdcca3c4 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x06432385 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x509382da vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xd0814fa0 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xf46f5624 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x02522759 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x19b5219f i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2daba1a2 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x40022963 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4c5b7119 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4e99b138 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x602754df i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6211f964 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x74ffd3a1 i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x928b156f i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb82d6996 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd24af549 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd691d35c i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfa5ce02f i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfd1157ce i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfdbcacce i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x1cd7e5fa libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x462211b9 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53180959 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6769a662 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a9f3bbf il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xba66566a il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x00c7c854 iwl_trans_send_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x053b79dd __iwl_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0893f2f1 iwl_fw_runtime_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0a00e622 iwl_fw_start_dbg_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0b855f79 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0c3712ba iwl_fw_dbg_stop_sync +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0c686e1f iwl_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x14d31295 iwl_read_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x164385a1 iwl_set_bits_mask_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x207524f0 iwl_write_direct64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2710c362 iwl_dump_desc_assert +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x28291b3e iwl_force_nmi +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2af9c60c iwl_fw_runtime_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3111af48 iwl_opmode_register +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3211f6f3 iwl_fw_dbg_read_d3_debug_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x35033c81 iwl_phy_db_free +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3615c135 iwl_dbg_tlv_time_point +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3a86b0a4 iwl_read_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3e14c07a iwl_finish_nic_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x55fbe18f iwl_parse_eeprom_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5611eebf iwl_fw_dbg_collect_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5c52e109 iwl_opmode_deregister +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6b6ca4f8 iwl_notification_wait_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x70417db2 iwl_write8 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x72365d4c iwl_poll_direct_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x758dafcb iwl_fw_dbg_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x76869793 iwl_write64 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x769dda4b iwl_write_prph_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x776221bf iwl_send_phy_db_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7ba32d8f __iwl_warn +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x818e78c7 __iwl_err +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x85480a0c iwl_parse_nvm_mcc_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x873bf825 iwl_fw_dbg_error_collect +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x89c9acaa iwl_write32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x89e52edc iwl_poll_bit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8c5a204c iwl_fw_dbg_stop_restart_recording +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x8ea7bef9 iwl_free_fw_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x911a6ee8 iwl_abort_notification_waits +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x95a61a59 iwl_parse_nvm_data +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x969e8d4f iwl_get_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9c215624 __iwl_crit +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9d4ea6fe iwl_init_notification_wait +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x9f372161 __iwl_info +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa26c700e iwl_set_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa7cf0c7b iwl_read32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9c701b9 iwl_remove_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xa9f05394 iwlwifi_mod_params +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xb8552a0a iwl_init_paging +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbc24e3f3 iwl_cmd_groups_verify_sorted +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xbdd4f43c iwl_clear_bits_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc3a8e0ce iwl_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc5ee125b iwl_phy_db_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xc71c01c5 iwl_read_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xcd914e00 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xce0c6460 iwl_phy_db_set_section +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd411b038 iwl_fw_error_print_fseq_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd5512110 iwl_write_prph64_no_grab +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd79474e7 iwl_get_shared_mem_conf +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdcea6f4d iwl_dbg_tlv_del_timers +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xddf90e65 iwl_set_soc_latency +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xde37292b iwl_read_external_nvm +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xdf3a1fc9 iwl_write_direct32 +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xea1b26fc iwl_nvm_fixups +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeac0919c iwl_get_cmd_string +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf48ef9b6 iwl_fw_runtime_init +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf5294677 iwl_fw_dbg_collect_trig +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xf99c9abe iwl_write_prph +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfe4d0517 iwl_wait_notification +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x72acb157 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x78ddb469 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9f012c93 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa283fcb8 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc9e2587f p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xdfeacd08 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xe21b75cb p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xe57faa98 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xf0a22987 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x13805d06 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x156e58e4 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x203b7c16 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x20457793 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x28db40ff lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x31a1215e lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x46a56ecf lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x48ac95fe lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x605e63ed lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7a79f0c8 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb3e4d4ad lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc2aaf9b8 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd8b2be2f lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd9a3041a lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe0215ba0 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf2aeeeb9 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x1e1eaf22 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x79bd9f81 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8561c9dc lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8f52143d lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xa1c84a03 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xae799082 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 0xd4106ae1 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe766e874 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0ea1f4c1 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x10ac252e mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x113a811b mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x11b6d4e0 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x14827f23 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x202163f4 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x29bb5b89 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3e7bd2a0 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3f7be9c9 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x75321583 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x81ccffd1 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8c166494 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x907ca9ba mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x94b0ee88 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9be068a7 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9d1b1552 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa8a18042 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb6d9acb7 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd20f1a15 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe7a86ff8 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe986e29d mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf1e25644 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfc6a10cd mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfeff177a mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0a2ce686 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0ea9763c mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0f8cfb04 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1015dc24 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x190ee132 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1adf8e00 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1d3c0966 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1d6bb2af __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1fc83799 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x259ba9d7 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x25f4f7ce mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x270b0ead mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x27b1abe4 mt76_txq_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3158a910 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x36f43c4c mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3995829d mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3a370d80 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3af2f150 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3b3b6ae4 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d75de00 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3f36133a mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x43ed4231 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x480b1aa6 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x543c5d8d mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5da39eb7 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5e83d978 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x600e80c7 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68c8406d mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6952d6a8 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6dffa981 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e223825 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b443a84 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x80912338 mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x80ffdfda mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x84187b81 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x887367da __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8a40e9a5 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8e0bf9a2 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8f4c0c48 mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c924988 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa424972f mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa556faaa __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xac3346a3 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xae8aef11 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbaf429a2 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc41a75e6 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc4f579df __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5d1782e mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc91a4679 mt76_register_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xce7c4415 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcf92576b mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd6165cfe mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd70d8765 mt76_txq_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd8e7774e mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdfe2ac56 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe8e9e69e mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb4950fa mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xedc96253 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf1242edd mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf77d0b06 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf9045eb2 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfd4754d2 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x0b8043c5 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x1e758348 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x28c4dc21 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2f9c7582 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x71bc69d1 mt76u_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9dbc5d2f mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xad69e560 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb7b7712e mt76u_skb_dma_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd8f317d8 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xda3048a8 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xef2bb8eb mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x057c4d49 mt7615_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x08f71889 mt7615_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x126be368 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x136d2ddc mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x196a6aff mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2546d54d mt7615_driver_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x25a184fe mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2af36088 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2c4b9a4f mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2dc9b992 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x386b7b8f mt7615_mcu_wait_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4aad5d96 mt7615_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5052f36e mt7615_phy_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6152c829 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6644fc22 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x672fba68 mt7615_mac_wtbl_update_pk +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7225d7fc mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x73ef096d mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x83e00573 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x84be904e mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8b49c024 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa454d46f mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xac42f4ce mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbb3b4151 mt7615_check_offload_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbc5d207c mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc2398aea mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc88ed281 mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc9b62d21 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd1c033b1 mt7615_firmware_own +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd2414a98 mt7615_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdfdc101d mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe23066f8 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe3f4037d mt7615_mac_wtbl_update_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe464568c mt7615_mac_wtbl_update_cipher +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe83d272a mt7615_mcu_del_wtbl_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf1adb729 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf7ab1f29 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x38af3a2a mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x6cce661b mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbc3aa3cf mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xcaf7b47d mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xdb3e3a8a mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xf37d24fd mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x02030a36 mt76x02_tx +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 0x059c376d mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x08ba7d74 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x08e257ed mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09dbd39b mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0c03e6ce mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0cd23aa2 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0cd879e3 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d20d6d0 mt76x02_update_channel +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 0x1ad1d410 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x24e0d5f0 mt76x02_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2942f6b9 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d0a0b20 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f6c078d mt76x02_sw_scan_complete +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 0x37221dc7 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3cb2a273 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3e0ddc65 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3f0825f3 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3f59f92f mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4496e552 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x45f3c6a0 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x46bedd54 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4b9e0d7b mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x51590e9b mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x53503a0f mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x55e50a6f mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x56111219 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x584a3cbc 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 0x5bd8553b mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5ce788a9 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5f89533e mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6b920c76 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6f9a3edd mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x79a57625 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7bc59174 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x800c58c6 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x81bde3a1 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x87c0c604 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8b4367be mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8cbc9319 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8d57f427 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8f862f55 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x976fe0ea mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x99d940aa mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa0a5cb96 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa28fba0d mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa79e87d3 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa7cfa0f5 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa878bbbd mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa9b5c56a mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xab0e2b1a mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb4b0e197 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb6b42993 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb750fd3c mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb7811ce9 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb846940c mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc247ab08 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc5d1115c mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc603c1c8 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd5804fa5 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdb763160 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdf4ba92a mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe41ec2f4 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeac5bd85 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xef8512de mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe9eb434 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x1a40df58 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x37cd6560 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x4a651406 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x50371c53 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x57aa2e86 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6e464669 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x816cd1b5 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xe31a1d64 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x04a3b461 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0ad1770d mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0de6947b mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2d74e1c0 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x463d5523 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5090a1a4 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5c1dbe5a mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6108a599 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x69f1c6c3 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7197af64 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x75ba3ce6 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9de45ca0 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9e6f7923 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb378903e mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb8a1f4e0 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb8ee8158 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc34806aa mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdb8a5e27 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe7dfe655 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3a73ab9f qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x4036865a qtnf_update_tx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5f8331a7 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x68de604e qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x74ab836d qtnf_update_rx_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x8aa17ca8 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xa74ab3ca qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xbbf8b585 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0192af7e rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0c1f0bb7 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0f20d681 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x11027d13 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1aae2a6a rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x217ec7af rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2bf994e0 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3407fe95 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x35e477ef rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x36c0b9c5 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x48426924 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x49aec016 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4d2a8cf9 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4db24a6f rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5917c6de rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5bea1448 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5d0a9257 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x659204aa rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x68a27308 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x70b4cb75 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7108bad3 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x732ef8ca rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x748247ab rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7ac7ede5 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x83e80205 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x83f96004 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x878b4c22 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x89ae163c rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x93a3e7d0 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x96cca450 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9853985c rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb0de3d3f rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb571872d rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb83e587b rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbcbb447c rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xce61a326 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd7251c96 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xeb40fe40 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf0d5c50c rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf159a157 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf279bb28 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfc5bd025 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfcccc918 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfdd6ac1d rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x02a547d7 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x05f71bdf rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0fad1430 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x18f26eca rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1a560237 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1ea2784f rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2505789d rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x671ee309 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6fb670a9 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x731b1a98 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7a24327f rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7e34c0e9 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7f14b37f rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x92c0bcd1 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9afbdbf6 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f44b001 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xaa911875 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc6a1455e rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xce8013b7 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe28f94c7 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe6e3756e rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x06344aa1 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x06f8b888 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x086bba97 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0c238f9f rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e63ac13 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1f4bab78 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1fc3904c rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x237eafae rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x24eee7a7 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x28418d98 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2ec9d868 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2f7244d9 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x46e04d37 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4895bd9d rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4c95b16c rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5d30a3b9 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5d7cbaa9 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6797dd7a rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x680a901a rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x74506f25 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x774b694f rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x79be154a rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7eeeeece rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x83c02a05 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x862dd4f8 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8747758c rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8e3740c7 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9511cd69 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa33f8faa rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa8177a7f rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaf3ed95e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb3a7b4d8 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc50d8d58 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc6e320f8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc8c9189b rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcd8f219f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xceda0079 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd8d16d34 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd9f6d7ce rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdbbfaf74 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe066b647 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe2997c0d rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe5c5d994 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe767c126 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xff414d77 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x201ac7c5 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x22371588 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x91243659 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xa8abbfdf rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xb0111531 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x03d960e3 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x03e30f10 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x05fefdff rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x181f0534 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x2248f228 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3a9bf30c rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x440527ed rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x44062879 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x83535cd6 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x86ed1765 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9097ddbb rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x93d0d8fd rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa6e6abc5 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb74f2525 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd5450441 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xfaf79e38 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3f941608 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xab10e00a rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdb4748f3 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfb79988e dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x019c84b9 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0e0ae669 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1775e12e rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x22b66181 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2e152a52 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x343264af rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3832be36 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3d454fc5 rtl8723_phy_pi_mode_switch +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 0x4e5e7515 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x672dea8f rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7a7ff466 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8462cf5c rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x86ab845b rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x87167a79 rtl8723_save_adda_registers +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 0x92246e4f rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9acdad13 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9f985f83 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa537adf3 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa6de74b4 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa6fc4c2f rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa7de830e rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb8e2d827 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcc3812de rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd1d68915 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xeb24ca08 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x04e53786 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x146bc85e rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x186edc91 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1cba37b0 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 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 0x339a9645 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3d01f5dc rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4ab066c8 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4dcf994e rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x53690bb2 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x56455387 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x66031711 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6e090572 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x802372ec read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9b3d31e0 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa0d097cd rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xab2dbc37 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaf0176a4 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb47e0793 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb6418ee1 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbbea9d0e rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc4ee1e05 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd2b553c2 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd2f415c4 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdba02196 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdd77abfe rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe6154fc7 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0ffd6667 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x3d037a42 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x58af5afd rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf901f406 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf93325f8 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x33892e54 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xaa7c719d cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xaf37199d cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x302fb6d7 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xa8e88edb wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xd41d999a wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x01e72f9e wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x04baec03 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1314be98 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x165041d2 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1b60cb37 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x213ee092 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x25143b9c wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x25d3a798 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c5a2d3b wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2fb3c9e8 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x308e3b1e wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x32bbda23 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x34a7580f wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3af0ac7b wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3d44da15 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4437a271 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x454939d5 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x48d1d842 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4d3485b6 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f18f325 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53fdbddd wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5619b077 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5b67a7ab wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6032bd95 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x849e28e9 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8b297597 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8f9957f5 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9816a5c2 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa680dd3e wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb741816f wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc1c4f7ae wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcaf86daa wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb6ca976 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb73c083 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd17a4a92 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe2ba83d4 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe2f77399 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe3aea7e3 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xeb9c72f7 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xef21df4b wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf241cdab wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf9ecd184 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfa28fd96 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x0754ce9b nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7adbc1a0 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x96e5790e nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xdeb80666 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x453edc5e pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x71bad9d3 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x847653ab pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x8b3dfab0 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa8993611 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xedbcec71 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xfd20ff9b pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x37572549 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x49fe8d19 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8b679d57 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xa960c536 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xd14039f1 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xd8299ef1 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe5605941 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xeda8fbf1 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x86204550 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xaca8416e st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xeae332e3 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 0x26362683 ntb_transport_register_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 0x5c29ec4d ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x8065a3ac ntb_transport_create_queue +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 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 0x2fcaa613 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x40c4e528 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x184c4f48 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19876274 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19cd67ee nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1e606015 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x32ba5162 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3956198b nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x420650d8 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x487380f7 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4f3fb4e3 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4f6df646 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x50016416 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x55b5b2f7 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7786e78f nvme_init_identify +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7a577fec nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7b6cb9ac nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7c3fb2d4 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x83e630a2 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x889d66ed nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x90adc83c nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x961a9e8a nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9f8a3566 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa2c24bc7 nvme_alloc_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xacf13c87 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xad6cf4a5 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb3c2c8e6 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb945bd08 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb967f0dc nvme_reset_ctrl_sync +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbaed96a6 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbd6b6759 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbd6f90ff nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbf8e873b nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd1042464 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd3340947 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd383da2b __nvme_submit_sync_cmd +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 0xdfe685ea nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe4edc11e nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xef54aed3 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xefd117e9 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfc2b1bc1 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x3916b65c nvmf_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x39615523 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x529abe59 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x56315876 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5767ab3f nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5e13d945 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6697d47f nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x79df4564 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xad509ebf nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xaf877a13 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xbe94b656 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe900f2f5 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf3e8197e __nvmf_check_ready +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 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xb2b572ac 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 0x05c3689b nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x07437d2e nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x24b57658 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3f53925e nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x43511efc nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x67cd0acb nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7a270f09 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9788f96c nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xa5313373 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xda4832a9 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xed46ec54 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x00cc6320 nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d 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 0x8029983e nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xb7012db1 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xa9be130b switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x13d73eba mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x23ac9a55 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x6022e4a0 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x0dc1b97e devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x13b6382c reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xe884dc08 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xf0ec2140 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x1b0fbec0 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x2667e9a5 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x43aa4230 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x3ab0b57e pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x7373fbe4 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xe31758ed pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x2ab51dd5 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x3b667422 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x82164974 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x93e342ac mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd06787a0 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2ebe1127 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x45d279ec wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9dfd5941 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xafa7b7f1 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbe7bc034 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc9f7c614 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x8e18ed72 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xb232005f 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 0x0168c5ba cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x09ed75db cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a3afc1a cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x189a52d8 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x22ce8f52 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f55761d cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3744a2e5 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3dbf1be0 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x40b5c57b cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x44cace66 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x453094f6 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x46ea52bc cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f03bab4 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7c83001f cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e199c97 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x84da978c cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94b97d75 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9725344e cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa26e850d cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa876fa74 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xac22bd00 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf5d71ae cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb090a417 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb57410f5 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb63ebf37 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc66884d5 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc8194cbf cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcef12658 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd1dada6f cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3674f0a cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd6c65751 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd8007ca8 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd8e83f56 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdcd4500d cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe13767bb cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe14a6e16 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe164f54d cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe981ca2d cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf54b84c4 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf5b2892f cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf6a63c91 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfbfc01bf cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfe855c96 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfee2c900 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xffbc66ea cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x04c4f22c fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x13ec638b fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x24c458c8 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x45944921 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x49ef7396 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5e3001ae fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7abc0177 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x82cdf5f1 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x85617780 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8d682dc0 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9398ca82 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xcf3d7043 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd944534 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe48b5d4e fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe4f2aeaa fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf31cd9c2 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf387ac7c fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x2226374f iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x27353356 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x76ca8311 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x77b2f2ca iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb78a96d7 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd903e106 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xdf3d0e79 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x48561353 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x010b82d0 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x107fa906 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1834bc43 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1d6aadab iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2248739d iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x224d4015 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2a4d260c iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x446fcea9 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x44e69f32 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x494c85bc iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x516f853c iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dad9dfc iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dd4db5b iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x601c5545 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65fda09f iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a3b6865 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80257fc4 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x81457b33 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88ffc1a2 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8be33f6f iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x966f3c4f iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x97ad034c iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9c20a276 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaaaf8066 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaac1ea45 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb90559f6 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbaeaba3a __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc3d14a01 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc87e527a iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc9b904a8 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca8bb6f8 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca8d525f iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcc43537b iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2d4bb44 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd58a44f0 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xddc91265 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xded1822c iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdf0c4eed iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe28320b5 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe537fba9 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf182ab13 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2d75a66 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x048bb246 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0b1b5cd9 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x126d2226 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3aa028d3 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5e2f7413 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7484fc40 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x759fa29d iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x778d5fff iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x98a09124 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa0ebffd7 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc2adc4d1 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc6eb646b iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcfd75ca8 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdf5a9b05 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe41b581d iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xee83bf72 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfdd33d62 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x052152fd sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x09d73ed7 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x159b6ddf sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2135cb7c sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x23b86ea1 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2dd419b2 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2efe404b sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x39e59727 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x44328cb1 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x52be9632 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5a560f54 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5d26ba89 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6593186d sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x73a027ef sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7d7ae9f9 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x81254ae8 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x83dbaadf sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8eea1693 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9b0436ba sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb1b316b6 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcfe5ed33 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd12f7a15 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd6fc4e32 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe701d450 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0019a536 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0702970a iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x191ccaad __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1a01573b iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1bab4011 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21ba42cb iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33e3d0de iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x368f1779 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x399f28c1 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3daf33c1 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x51e404ac iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5c0f7e66 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d9d2b2c __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x61924d2e iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6520fec2 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66838543 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b78537e iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7cd7d6be __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ee47387 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x832087be iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85a2bcc2 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8800d2d6 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88353761 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x966d288e iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9921852a iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9eedc3c6 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa6cd662f iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xae2cfaa5 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xafd7bdf7 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb4d5d442 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb97a6c38 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb987d98f iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc3ef2206 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd00a7b77 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd235efee iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xda8394e0 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde8ab870 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4ef3974 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe6570bf5 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe9377976 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb6aa47a iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xecf00cfd iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xee7e6b89 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf6875f10 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x02c021c0 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x69e6fac6 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x8cd10b02 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xe2ca72cd sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x70f5c779 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 0x298e22da srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4a790439 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x676f38d5 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa7e12600 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xad665f95 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfba94f3b srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x1f495336 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x246365ff ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x49b09031 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x5d588c32 ufshcd_update_reg_hist +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x60acdade ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x6ea2430a ufshcd_release +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x8bb1dae7 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x901192d2 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x98508ecf ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9955ff6f ufshcd_remove +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9be2806e ufshcd_hold +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0x9d8e354e ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xa79995ea ufshcd_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xc785686d ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xfc656ffa ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-core 0xffb651b5 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x29f95c98 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0x30f25b94 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/scsi/ufs/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2af055a9 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x4452d0ee siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7d55a9e1 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x95cd5247 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xd5b4ff27 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xf1f1c3f1 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x01788db3 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0f9cf2cd slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x13ca68ba slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x202eee6b slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2d549c2b slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x36b1d465 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4709acda slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4da83925 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x503d8f3d slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5735095a slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x601e06c8 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x681bed3c slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6993d094 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x749c8a0c __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7bc5e2b9 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7f1c3826 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x81a9652f slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x825450a0 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x83f3bd12 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9e09be3c slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb354a762 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbd80186f slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbe4446f7 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd31d70f9 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd58885a7 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xdd9c5a40 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x0cb1edbb __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x6836f8f3 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xd2308b61 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0051c64c spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0b4d5ac7 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x77afcbb2 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7c686168 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x9b1d91bb spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc8e0c6a8 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0488b53d dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x434fe5f0 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x499cabfa dw_spi_dma_setup_mfld +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x679aa060 dw_spi_set_cs +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x78569715 dw_spi_update_cr0 +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x8d14581e dw_spi_update_cr0_v1_01a +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9761331d dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xa23eecd7 dw_spi_dma_setup_generic +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc8f1abbe dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xa373b78a spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xbe9ee786 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xd85866a5 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1da0a582 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x272f3cc1 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2bd8c049 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2c18bece __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3217ca36 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3a9afe18 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3c23438d spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3f6905be spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x43c6d7a3 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4ca2c51e spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5652ca20 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7ab4085b spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x92ecadbf spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa7b4211d spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc66b0192 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd8fee8d9 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe233d4aa spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf73f07a8 spmi_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xd4b3734e ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x011247e8 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0eb40a9e comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x117e4f5f comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x167e17b6 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x19ea1584 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x28111c6a comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x28293bf2 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2be669f6 comedi_event +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x34a1e6b8 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x42866e62 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x48e242a0 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4dcb7c63 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4e105e96 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4eb0196c comedi_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4fed71ff comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6348d24e comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6571c221 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x6c65fc1a comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x738aea40 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x73ceda1b comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x73de7eed comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x79eced92 comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7bcbc44a comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x8ad97683 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9b6a8fa2 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9ee2f13e comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xa312c073 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb2ebbd0d comedi_timeout +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb56a45e3 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc61c08f2 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xc972f98b comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd26c1473 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd35097bb comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd567c4e4 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe7064b7d comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf8686f0d comedi_handle_events +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x25c64380 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x2e1e5b2f comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x48379160 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x5413a811 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x5e443796 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x6d10b527 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0x90de4f33 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_pci 0xfdb3e364 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x01e2b8da comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x050ca41e comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x48793298 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x5023d19a comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0x6d6d22b6 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi_usb 0xb9940c68 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x4f938673 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xb4d286ec amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_dio200_common 0xcc6395d2 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/amplc_pc236_common 0xe3f3dab2 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x1fdd4df2 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x45852ddd comedi_8254_status +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x6d4efba1 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x83d46d67 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0x88c351da comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xaa1e9550 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xb3213794 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xb43f770b comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xb5f3cac4 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc0f8b62a comedi_8254_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xc19c1deb comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xd01e4323 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8254 0xdfbdac5c comedi_8254_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x2d06702b subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0x4b7633bd subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/comedi_8255 0xe1dd85b0 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x699c1df1 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1bbf4356 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x1bc8a547 mite_request_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x2c9ad4de mite_prep_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x3235b3e2 mite_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x54c8c1ea mite_sync_dma +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x70cf3e8b mite_done +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x72eaefac mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0x946b5234 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xbe379ea0 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc28c25c8 mite_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xc42c6577 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xcbbb7278 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xcbc10d39 mite_free_ring +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xda7960d4 mite_buf_change +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xdb14dca6 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/mite 0xe8f097e5 mite_release_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0x17aaca45 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc_common 0xdfee63ec labpc_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x00797548 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x03237bd4 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x325bf90c ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x33cb4d45 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4c7392f4 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x50021e84 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x51724909 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x653dc0df ni_tio_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x819e4942 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x8a89a9db ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x9df716ea ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xabe8622f ni_tio_write +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xb79e3388 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xbbb19afa ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xcc034997 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xd7d2f9d9 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x336820ba ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x4e001625 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa3e549cc ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xad0a29e1 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xe120ba15 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xefc8ba83 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x00a431f2 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x0967accd comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x226857a6 comedi_close +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x3f7f5cd7 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x58c58cef comedi_dio_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0x968a3f1e comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/staging/comedi/kcomedilib/kcomedilib 0xd6739fab comedi_open +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1f5634bd anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x524c84c1 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x58473963 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x599afffc anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5db81d2a anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x62d6dcea anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x711be10c devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x893853b5 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x8b441343 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x9d0c391f anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb60f823e anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xbc4cdb45 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfcb44095 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 0x4834e7d3 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xa15b19e3 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xae33711f fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xd5357578 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x03c62fd8 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x24f119ff spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x28446310 synth_current +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x3fe45989 synth_add +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x43947787 synth_remove +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x6292e318 speakup_info +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x70fec7a6 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x715f62d9 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x7fa41f1d spk_serial_synth_probe +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x85f4722c spk_serial_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8e50055a spk_stop_serial_interrupt +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8f15a2ef spk_var_show +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0x9621f6ee spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa047e0e6 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa6e96a97 speakup_event +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xa9a6f700 spk_var_store +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xae7d6424 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xc6642935 spk_serial_io_ops +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd4a6e67b spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd61931c3 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xe7cd4558 spk_serial_release +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xf8f9b138 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/staging/speakup/speakup 0xfd189eef spk_get_var +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x2cc714e2 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x7695434a wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x868b9bc8 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x9a303351 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0x9b348fac chip_wakeup +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xb94a2ba8 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/staging/wilc1000/wilc1000 0xe55e22f9 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0788e8ff tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x38bab0fe tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x410a304a __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4875cd5a tb_xdomain_find_by_route +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 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 0x812dc664 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x88db019d tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9335266d tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9cd73417 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9fe36133 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa1de6a9e tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xae702d63 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xafe98d97 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb2dd7da7 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb9dd4c9c tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc710ca30 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xe9d702ca tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xee46c504 tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xee56b2cf tb_ring_free +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/tty/n_tracesink 0x8a422e5e n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/uio/uio 0x232cdfe4 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3880f916 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x937c25be uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xaadcf6c0 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0652c56e usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xbbfba0bd usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x4974ec54 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x670326b8 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6b427e1f ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x05bc6e1c imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x10070682 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1a363e4a imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x2503ebb8 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x4a94d380 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xe8cf17a5 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x2c058149 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x4c7f2e8c ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x6e5ea233 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x833f50bc ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xc85a1bb3 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xfb3d0819 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4cbffa9f u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5658b63f g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x668c31e6 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xb33039bf g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xb631749c u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xff7feed2 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x00978dc2 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x01992bce gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x04769521 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x20a62229 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6992ca10 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7f66c524 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x80e4d2af gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8583ebf2 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x87bee7f2 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x92d4c616 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa6e3631b gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa76be02d gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xdfaa7159 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe43b0e1d gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xec6008e5 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x09a83728 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x0e7a96dc gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x1e62c164 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x3de99d8a gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x55af16b7 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +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 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xef920368 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x4aca0f9d ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xce8487f5 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xdf5a7fcd 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 0x142bc60f fsg_show_inquiry_string +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 0x1944e6fd fsg_show_cdrom +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 0x30c0622c 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 0x3b0d0111 fsg_show_removable +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 0x42f12657 fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x509b4124 fsg_store_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 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7d153982 fsg_show_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 0x7ec50e35 fsg_common_set_cdev +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 0x8acb6544 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 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 0xb65fb8a0 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc81375fe fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xcfb897ee 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 0xd3427589 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd90fb12a fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xdee05749 fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe297896e fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf26e40e5 fsg_store_inquiry_string +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 0x05c90592 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x19b891ee rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3d1fd811 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x423268a3 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x444e248d rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x45e3bb7c rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x4bbe08d5 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5155a18b rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x57ee5d51 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x81e4f1cc rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8ab677cc rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa545fcbb rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb834d2d7 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc2cac0e3 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xeb68c009 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x105a7c6e config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x19fbba13 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x28bac4b6 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2c01d042 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x336de092 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3cac7bdc config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x43c60574 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4dca4513 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4ef74186 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4f4312f7 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5096df8d usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5a8c9cdb usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x72b957c5 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x77978a44 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x797731d6 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x87a3c110 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8acd5e19 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x98904bef usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa064dbef unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa5d4f68e usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xac439def usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xae62baa4 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb4125d11 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb76a7fff usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd026add0 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd05c98cb usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd4235686 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xdf119281 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe0d3c770 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xec8ac996 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf05df913 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf28055e4 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf3506ee2 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x040b0c19 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2bba5b4c 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 0x8478a7a2 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x8e3c7ec7 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9372f632 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xafc4ef8b udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xd26e5bf3 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xec83bd7a udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf845c1ca udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01d323e5 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x10097e6e usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x10f7164f usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x12d6a08a usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1c75b2e0 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1f3a1dcf usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x32322440 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x33ef5150 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x34495fee usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3d1f7ef2 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x40510b3f usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x54a0b10d usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x58a18ea1 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5c8436a6 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6c55f840 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6e182140 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x731e4c0b usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7d311634 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x89ad68c7 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9591060d usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x987d94aa usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9a8a8c6f usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa3f8274d usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa79d53aa usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb31a93d8 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb5b8daba usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb77f4af0 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbd5dc97f usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbd72bafc usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc976ef31 usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd471112d usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd68a7ab8 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe04a41ba usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe26584d8 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe972e7bb usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf0dd41f2 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf0f10c70 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf28783ef usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x2a550e10 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x9068517c renesas_xhci_pci_exit +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x4e15b009 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x56fa2dac ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3e5a7f87 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x495f1873 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5d9e0636 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7119543f usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7a03bd97 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xaa816f5a usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc8b581c6 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd2e84c14 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdb258971 usb_ftdi_elan_edset_flush +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 0x1aed077c musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x1f08e3fc musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x297ce81b musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x4a368f8e musb_set_peripheral +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 0xa819aa50 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xc812b6b5 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 0x09cb558a usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x487340a6 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xb74fcdbb usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xc1c5895a usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xdd6e325b usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0xab62fc86 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x3e923c07 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x3fb052a4 usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0x5e1f08b1 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xe876f7d2 usb_role_switch_register +EXPORT_SYMBOL_GPL drivers/usb/roles/roles 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x355e27c5 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x01593439 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1de5d153 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x39aa5c0d usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x439ca9f5 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x47baca09 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5fdfb42a usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9e12cc5a usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa5aa6ed5 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xae796129 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb7fda8ee usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbd7dcf2c usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc4a9602c usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdefd01d6 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe3ed61eb usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe4f39487 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe737e41c usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xea5fe7fa usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xec1be03f usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf178e8e8 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf386638d usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfab4cd01 usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x560ac750 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xe530edea dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xdc393276 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x03e2d7c7 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/typec 0x03608f2a typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0422d1ce typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0dec75e5 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0e934546 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0f157415 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b90ac2b typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2c4b45c2 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x307b205c typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x31d0a80c typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x322f2a35 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33188af5 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3373b0cc typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x33fd62de typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36852716 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x370d6226 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x426285ea typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x48b8c419 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x493159cc typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4aaf4de5 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4b91c712 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x54c93810 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5869adb2 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5ac3a632 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5be276de typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f2c6469 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x614740d9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x61b5112c typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x714e8d99 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x734a9c4d typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7468cafe typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x79f7cacd typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e2998e7 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x940f6c71 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9cad8da6 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa1a86166 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa8a5e72a typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa95ec3a2 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb346e098 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb6ffbe72 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc2fecb43 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc93b4bfc typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcc70baf2 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcf493356 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd0c4708a typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda0a9c4c typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xde83e38a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe164a905 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2c3b700 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe523e54b __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xee19f4b1 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeffbb5cb typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf257db39 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x16b6646e ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x314f6a79 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x435a7feb ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4a100922 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x53274fbb ucsi_init +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7b049af1 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x816778b7 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbef5166f ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xdf05e3f8 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf07f2aad ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x186980a8 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x239e8867 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x26c2fdf3 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x6a1b9d86 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x70bdfa5d usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8bc2ad78 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x94273582 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xaa6642b6 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xb4c1b7e2 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xb96aab90 usbip_dump_urb +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 0xf2186bf6 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf325d06a usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xfd4f7d7f usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x336bd675 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x695167ae __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x89b1ee69 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb0e1b5de __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xf9534ca2 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0xf51b75a0 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1b5d8c3c vfio_group_get_external_user_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2660e1e9 vfio_external_group_match_file +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3567743b vfio_external_user_iommu_id +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b35c4f9 vfio_group_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x777c4bae vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x79568e70 vfio_group_get_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x86477f7a vfio_iommu_group_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x95258207 vfio_device_data +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x969c73d9 vfio_device_put +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x971c79a8 vfio_add_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xad03efac vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc1d989c5 vfio_external_check_extension +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc825e173 vfio_del_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xc93a0a49 vfio_device_get_from_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xce2263bd vfio_iommu_group_get +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x41c54d6a vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xb599be1b vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0a671e49 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0c1a8ce8 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0c3f5019 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0da09300 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1c3e486b vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x233b5ba0 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x239f5b78 vhost_poll_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2ef68fed vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x34cd0e9f vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x35024407 vhost_work_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3cd222b0 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3f9eb85d vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x40061f6f vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x44dd7326 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4d94b77e vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x50522a9b vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5079f651 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x61e44b96 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6e830d7b vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7f079535 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fd41e86 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8cf15eff vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8e34a4e9 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8f31cd5d vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x90445078 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x917a3e32 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa1a4489f vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa55dd4ed vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb0c8dcfc vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4093e26 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc8bb2c69 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcf60d099 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd843a66b vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd84b4892 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd90df82f vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe8a8bc61 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfaa96850 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfdcd2883 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xff997aae vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x514d0e6a vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7579334f vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xad111707 vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7f6f9228 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x866bab50 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x957cba2d ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc8ca5fc2 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xfe368e22 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x47aa056e fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xcf4f987c fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xda7ed96a fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x073522a5 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x7346ea7a sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1effe3ee w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x23fd6020 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x32fd0548 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7a55dc23 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7da84064 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x84992d75 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8813149e w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8fb96973 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb89c7b4a w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc0d6e59f w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc6dd791e w1_read_8 +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x64113114 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xccf7877f 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 0xddb751f4 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x276d75a8 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2deeb6ff nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3ac4bd73 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x607dd236 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xaa06be30 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb505ba96 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xbc6d9143 nlmclnt_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x01fbc8f5 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x020a6511 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06cbfc3d nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06ddadf8 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06fc42ff nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0932ac3f nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x096909ba nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c4cf089 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d9e2088 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0df334a3 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e24085d nfs_probe_fsinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fbeb751 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x129c96f8 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1398e4ba nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13bf43bb nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x146946e0 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1568f54a unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16dd869d nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x179079cf nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18bc9320 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x198ebbed nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a82eaf9 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b9090c3 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e192375 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e412d3b nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e48f6c1 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eac9ea9 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1eda497d __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fb0cf57 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21c41127 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x266bf931 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28608785 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a12bd62 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a6b0247 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c224238 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3185a4d9 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x32282f1c nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x336033e2 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3483f689 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36b039fc nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36e0334e nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x389bd71f nfs_sb_deactive +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 0x402e57e2 nfs_show_devname +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 0x4431b6f7 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44c42924 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45c3a403 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48c39f45 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f4bdb2a nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4fcd5120 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53849d0f alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x591111be nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a94f162 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5fc7fb3a nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e14e3c __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x67a09508 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f4edb51 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fef4468 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x71b88b57 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x738073fe nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74b45038 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74bab956 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74c905bc nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7763f956 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78564548 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78e0c857 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x793f4b5e nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a02c4a7 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b7058bc nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c7ef0e4 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7dd01f4e nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ebf4ace __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f49f702 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x81679d24 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82078e2e nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x821f1e63 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x825abd2d nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x85e3c721 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89bd92ae nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89ec006d nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f1561a6 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f7d8aec nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91048873 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9191e356 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9651a394 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9857853c nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98a7eed6 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x99302eb7 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fc96382 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa1b2d08b nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa7320c29 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa79d9a50 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8f2e606 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa33798d nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa6f74d7 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaa76c258 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaaf99530 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb379fbfb nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3bd36e4 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb7d1c906 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc12adc45 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc66ecbb4 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9475f99 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9df1d0e nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcad2ff1e nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcba0cb9b nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce151f39 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1516d43 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd22bdbe0 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3f2d29f nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7c7e509 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcce150b nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe2b4278d nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe59a8de1 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe62ee120 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe89f6bd5 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8da5795 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe909048c nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9da9710 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9db06ec nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeb05482f nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed205abf nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeea024cb nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0e18b4b nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5096db2 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf78a256b nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7e6d4fb nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf87b5f82 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfae13e84 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc1aa912 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc84de30 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfcce608c nfs_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x998d37d3 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x028a2c0c pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x03d9011c pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x081c8b8e nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ea74d7c pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x103cdfca nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x12f467a5 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x17423b28 nfs42_ssc_open +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1a7600bd pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f18e33f nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22c2f1b7 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x23e49dd0 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x23fe8154 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x24bd091b pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x28e47caf nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b03ec0b __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2dfe2a5a pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e92280a pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2ee71e2c pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2f66ca6e nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x34e12152 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x361a2ec1 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36751a61 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b58b876 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3be330e3 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e73f10c __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x416d1c02 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49226d13 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4add2669 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5205f7ed __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x532cbcbf pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x54c8c23d pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5c5f43e9 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5cde6c7c pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5f90f7b8 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x60519dd0 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x608cf330 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x610268ba pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6961c00c nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a6ef692 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6b267ada pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6b91eef9 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e16b52a __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x705179cb pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x71cfaec4 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x801634c0 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82072add pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x87681d2b pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b715a96 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9c087e7d pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d162943 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9e1b0b42 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9eff1689 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa4717f8d pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2d1207e nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4895436 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb85de48c __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0cbc35b pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc151e45f __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xca227b49 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcac9675a __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcb591217 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcbbef375 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce5b3640 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd043b0e0 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd3ac334b pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd3b1953e nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd3dcedcb nfs42_ssc_close +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd65a2cb0 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd7559c3a nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdd35c874 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde5fb5fe __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1eca9bd __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe4280e2b pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5698a64 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5a7264c __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8be3111 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xea56cf63 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed910d77 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf58fc13a pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf60f20aa 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 0xfc7af979 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7efd3d0f opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x9b869e60 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xde47148e locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x3af630e7 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xfa78a288 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x5b388f0f inter_copy_offload_enable +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x11857b1d o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1d125213 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3256d72c o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x463b79c9 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 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6daa5ead o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7432d791 o2nm_node_put +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 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 0xf5e47989 o2nm_get_node_by_ip +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 0x0667c3ee dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x350fb93d dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x38675b2a dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7839b5a6 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xabe08809 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 0xf1271d45 dlmunlock +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 0x430cfdf2 ocfs2_kset +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 0x7aef305d ocfs2_plock +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 0xe59f86aa ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xeff57cbb ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x941c79d7 unregister_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x96d760c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xb32bf368 register_pstore_blk +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xc3d2aed6 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x5e4ef83f register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xf594b51c unregister_pstore_zone +EXPORT_SYMBOL_GPL kernel/torture 0x1b2fca48 torture_must_stop_irq +EXPORT_SYMBOL_GPL kernel/torture 0x1be7d8be torture_onoff_failures +EXPORT_SYMBOL_GPL kernel/torture 0x3e9619f5 torture_onoff_stats +EXPORT_SYMBOL_GPL kernel/torture 0x3ff9be11 torture_online +EXPORT_SYMBOL_GPL kernel/torture 0x447d9c95 torture_offline +EXPORT_SYMBOL_GPL kernel/torture 0x4c7529bd torture_shutdown_absorb +EXPORT_SYMBOL_GPL kernel/torture 0x52665f8b torture_random +EXPORT_SYMBOL_GPL kernel/torture 0x55ac30b3 _torture_create_kthread +EXPORT_SYMBOL_GPL kernel/torture 0x5a12a7da torture_stutter_init +EXPORT_SYMBOL_GPL kernel/torture 0x679d9e50 torture_must_stop +EXPORT_SYMBOL_GPL kernel/torture 0x688e6a64 torture_cleanup_end +EXPORT_SYMBOL_GPL kernel/torture 0x6c3ff11a torture_init_begin +EXPORT_SYMBOL_GPL kernel/torture 0x8b0e1d2f torture_shuffle_init +EXPORT_SYMBOL_GPL kernel/torture 0xacd1772b _torture_stop_kthread +EXPORT_SYMBOL_GPL kernel/torture 0xc67a49d4 torture_cleanup_begin +EXPORT_SYMBOL_GPL kernel/torture 0xc94a93e3 torture_onoff_init +EXPORT_SYMBOL_GPL kernel/torture 0xd5925e66 torture_shuffle_task_register +EXPORT_SYMBOL_GPL kernel/torture 0xdbc5277a torture_shutdown_init +EXPORT_SYMBOL_GPL kernel/torture 0xe2430307 stutter_wait +EXPORT_SYMBOL_GPL kernel/torture 0xe6989fd3 torture_init_end +EXPORT_SYMBOL_GPL kernel/torture 0xf6d34fb5 torture_kthread_stopping +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/crc64 0xeaf3cb23 crc64_be +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 0xbc3b5e35 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 0x074a085b notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xe27a8fd4 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x2b30f429 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 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x74adbb3b lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xe34c11a4 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x1d58c77d garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x5806e6da garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x5e3504a3 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x9502338c garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xa7cf63ee garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xcc153c80 garp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x16ad1e03 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x206cc2e3 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x718f8f84 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x9a464459 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xb5ebdfa3 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0xef765c29 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x89942e98 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x93ad90d2 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0xace77a92 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xe19b2c04 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 0xa41ecc6f 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 0x09fba84f l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x32a2790f l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x40e40ed4 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x64f27ece l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x8025024f bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x91da42a0 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xaa8714b5 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xcc85a9e0 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xde061e7b l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xf639e032 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x01914224 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a3e6c0f nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1a098566 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3e4a5fd1 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x417e931a br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x46283476 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4900e2c3 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4abd0e61 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x59edd77c br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5d59f6b0 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x67299721 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x717fac26 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7327d485 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8b9c1843 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8d89727c br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x92a15f80 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x96c248d6 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf05f9abf br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/core/failover 0x69a0dadd failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xa6b777ea failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xcfcb19d6 failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0aa24dba dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0f292bcf dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x10860d0a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e57092f dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x20af1977 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x290286a8 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x293c28fe dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f01bee2 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3943c5d1 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d45bc4d dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3da6f332 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x42cb2441 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x436b9cb6 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d9ef257 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4dddd700 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x581854fd dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x78cbfdb5 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7a105eb6 dccp_reqsk_send_ack +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 0x87faf186 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa59e8e3d dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xafc581c3 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb03c9035 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb231e2fd dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbaaf5edd dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbb2fe60d dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc8d1b2c2 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc97c1d48 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd06b709 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf1174c4 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdea692ff dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe1d2e97d dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf6bf3243 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfb74c064 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfe4f3ec8 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3d7ac205 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4157e02a dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x44455561 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x57b0338a dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbe3e6882 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdc038b54 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x037b6d23 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x03b55f81 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x11a51c86 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1362fc7a dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x14e85ccd dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1a2193ae dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1cda4886 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2176cff3 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2a7cb45b dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2f54675c dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x39894f72 dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x46d5e022 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4f33c983 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c5bb8ee unregister_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c77c943 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5ff47473 call_dsa_notifiers +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6fea443d dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8d778030 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa44f68d2 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc14217cb dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd4b3a454 dsa_port_get_phy_sset_count +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf66591d4 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf86039e0 register_dsa_notifier +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x12fc17b6 dsa_8021q_crosschip_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x26595517 dsa_8021q_rx_vid +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x375c9ea3 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x415e894e dsa_8021q_rx_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x4b39ac93 dsa_8021q_rx_vid_subvlan +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x60728464 dsa_8021q_crosschip_bridge_join +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x8e6cf252 dsa_port_setup_8021q_tagging +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/tag_8021q 0xf642d3aa dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x07ff3456 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x1ae66555 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x6fea9a4a ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xac4cc6c7 ieee802154_hdr_pull +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 0x81e97b2e ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x9f4d8db6 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x1e0bdfe5 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xbf077fb9 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xc9dcaf52 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x693992b5 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x8406f8ae gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0d084cd1 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x19f9eb2d inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1c38717c inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x27b7e3dc inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x409d4d8f inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x84180d13 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd0d8c1f2 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xdd8f4704 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfc6a9624 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xe3e038c6 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x03296c2a ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2187d630 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2c965583 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4de70795 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x56b86aa7 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5a471c4e ip_tunnel_ioctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5e01e986 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7d603c29 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7e86d421 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x81dcd9d6 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa6055648 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd6e012dd __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd7228c3b ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd90aeea9 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdc1214e0 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdc2de083 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe904eae3 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xe5693bc0 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x4f61fd8b ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x1c06e75a nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x9a93768d nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x0dd95da1 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x3ab481a3 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4bface7f nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7159d3f7 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xaeb818c4 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xe25c9173 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x71370ff7 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xbdbf6993 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xc8bde10e nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x59edf714 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xb6d5e769 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x08739c9f tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x24a7e8e6 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7dfa3d59 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x873702b8 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa1c266b7 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1fbb48f9 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x357cd17c udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x76930c0f udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x839281d1 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe6163b4f udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xee0cca02 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xfa0949ea udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xff55d727 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x4edef16b esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x69f14f75 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xf51090f9 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7575f861 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xe7069b0a ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xfedd0a73 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x1b29da7f udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xe06331ff udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x0b06ef29 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x3eea23d5 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6cd248e6 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xc8e2f344 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x3f1fe412 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x607ddda2 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xc0910abb nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xd0ff7856 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xed335164 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x653b301a nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x3bab4c44 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x4592b01b nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xe41ba59e nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xbc9025f1 nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xe694b82a nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0a3fb77a l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x105bb6c8 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1981b5f8 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4c100094 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x78d580b5 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7bada532 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9e687b1f l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xadd563a3 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbfa686f3 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc023c9df l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xcc7cabdf l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xcd050ec3 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd6d52360 __l2tp_session_unhash +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdb45ae98 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xeb31e0cd l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf07c4ce1 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfab58787 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xc4e541e8 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x116f238c ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1dca5d38 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1e1b2d3c ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x21f9e6f6 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4ad6424f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4e5c224e ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x54425b09 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5969d4fa ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x94511e8f ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa370083e ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xaa1d146b ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb44948c9 ieee80211_iterate_active_interfaces_rtnl +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc5f0de4e ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd0474f3f ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe6b62061 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf319b70b ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf7286156 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf76d9f76 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x461808b7 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x5add6a37 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7a27aefc mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x91d4aadf mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xe413b0a4 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xed5b21d2 nla_put_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0ac98d66 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0fdb4092 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x193b5173 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22473cf6 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2dbbb6ee ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4166c62e ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x808661ce ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x83229b20 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9005a374 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9771506f ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9d3ecbb5 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9f6bd911 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa09c2b40 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa58d15c8 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xaac96178 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbe7c72b8 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe06e51ee ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf5f9a6f9 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf8277ac9 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x262ca11a ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc0963d34 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xd9374bf5 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xdb54e0c1 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x00db2152 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x0f25f676 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x1bfdc1ac nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x43777f3a nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x492a4b20 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xe4dbf6b3 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf949070b nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0130f8fc nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x032ba19f nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x054d5e7d nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07fff9d6 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 0x0dec5cae nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x10ede0e5 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11de34d0 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13e9e1fc nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14aa0904 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1612c168 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x17e1bf9b nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x18ba7f45 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c338f73 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x263ecda5 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x26a04cb4 nf_connlabels_get +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 0x2dc2ecdf nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2f32509b __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34b48eb5 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x361aa00d nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3686dc7c nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ab66dfa nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e988ac0 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x419536bc nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41f5fe16 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41ffad57 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x49ad36ac nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b25d97e nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ba185aa nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c4f0fa6 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5081f342 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53a3c9ca __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6bb74203 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x73dac151 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x791ba98c nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c5e7e95 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d31075d nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7da80b2e nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e677870 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f3236b4 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8340f201 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8446dd39 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8840e259 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ae668f3 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8bb7cdff nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c8db875 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d674afe nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x93ce9e31 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9471b58f nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96fbf04f nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9855a951 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9916c5f6 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b5820cd nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9daf2b67 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ef3ed33 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9fa7700f nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa8d557ad nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadae4219 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafc459e1 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0094388 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0991f01 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb71f532c nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb8d5b290 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf2659dc __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2b59f9c nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2f83ccc nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc43bbc98 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc82fae5c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc8968214 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcbb5953d nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd4fdf7b0 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd526ac6d nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7964d1a nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8d38af5 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8f54525 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xda80b00f nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd3ebed7 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd595188 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5eab697 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe6720594 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe97b521f nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeaf8abb1 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf39ac00c nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf984dcbd nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbdf1d51 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfc144e50 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x63199eb4 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x7c8b3e2f nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xc0ab99f4 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0ade6672 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x151922c6 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x22747b4b nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x365b36cd nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5312a66d nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7e97510b set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x80de28c0 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc343be68 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xda3cccf3 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdb772b8b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x3cbe9548 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1159e6f1 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x3f0c7544 nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x407b9fbc nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xba6fbbe1 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4c5d4c60 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fa2ee05 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xadda83b3 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbd56dd0f ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc2d8e834 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd7388e07 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe905fe9e nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x598f2a3d nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa22fec87 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x2c6fb9ec nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x9ec1ba78 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xc4359317 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0ffb14cc flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x10a52563 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x26c2c17b flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2d647d5c nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4d48fd60 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x648839ba nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x664c4796 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x71e11665 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x83012250 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x914b79dd nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb27f1030 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb96d4043 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc21dc9de nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd0b96e35 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe1a08879 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf9d834fb flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfce9cd9f flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x2ab1c5e3 nf_log_dump_sk_uid_gid +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x484ab781 nf_log_dump_packet_common +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x5de220cc nf_log_l2packet +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x73732c04 nf_log_dump_udp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0x79de7f21 nf_log_dump_vlan +EXPORT_SYMBOL_GPL net/netfilter/nf_log_common 0xd36acf01 nf_log_dump_tcp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x03ea4ad5 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x21dd47bc nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2c203b1a nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4329a086 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x65fecade nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x796e0674 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7c7b54c1 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8a8a8d04 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8d21ca65 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x924c16c1 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb369fae1 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb7825282 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc719c67b nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xcdfa41a5 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xcf900736 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd4e0fce9 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1767c43c synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1824f486 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3ea8f911 ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x51500b23 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x545edc3c synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6cde928e nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x70d4a6bb nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x76f0c4dd ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xbc9ffcff synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe8d78ffa nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf4ddbbcf nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x08a6422a nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a00de2e nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a08c24a nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0afb3ec4 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0d18b199 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x16e62d8c nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x16f125e5 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1e6b75a3 nft_parse_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x215b86ff nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x25358be5 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x25fcab33 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x28950f09 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3167c633 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x344c609d nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x365fdac5 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x37697787 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4860a024 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x502eed3d nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6442ec59 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x65602d56 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6c178667 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6c31f2de nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x73d5b5b6 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7a6c1baa nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x802a3ffe nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85430a76 nft_validate_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x98ab5867 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9d2dba7b nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9fb42635 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa0879a9b nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9ffc821 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xad889e3a nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae7ba975 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb83674e9 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd947edda nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe3a37c02 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xeb980f0e nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xece7bf69 nft_validate_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfa2e2b88 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x45707fd3 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x95570b11 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc0468e6a nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd8ffdcdd nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdf4800a9 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe14a54bd nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x141954f0 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7911ec59 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc1131127 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xa80fd2f3 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xb8a33c13 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x4251ff4e nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x491371aa nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xdba71ec7 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xeb085b4a nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x105b07e2 nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x459d05ea nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x66c3f8f5 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xa63d0b0b nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1917868e xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x237ac8ff xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x24c8e482 xt_copy_counters_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2b31c145 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x38297623 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3a9db0b5 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40c813b9 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x48d8676f xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4ae68a59 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5d3c29a6 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6c9c901e xt_replace_table +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 0x92706eb4 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x98436600 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa15c68a9 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2d34354 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe066a4ca xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x36cf2dbf xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xc5e96f3c xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x1da9be8b nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x2deb04e0 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xadff6de9 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x8fa80a75 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xc1d74934 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xd5d6ec11 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0xdc6e7434 nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xf089b55f nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1a3280bc ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x36210e7d ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x91d62f94 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xa15dfed1 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb0fa0bd0 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf89c57bc ovs_netdev_link +EXPORT_SYMBOL_GPL net/psample/psample 0x084975c3 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x4ed3efdc psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x4fee809e psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x88ec533a psample_sample_packet +EXPORT_SYMBOL_GPL net/qrtr/ns 0x636a2832 qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/ns 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x1c128347 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8caf4a09 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xac2af389 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0d45dc27 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x18e5717f rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x20a6d1d6 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x21378be7 rds_info_deregister_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 0x3c91ee1a rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4a004866 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x4b69367d rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x4e66dfd6 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x511ae7ba rds_inc_path_init +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 0x5c8cbe79 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x6355f1a6 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x669171f4 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x751f7743 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x7aa5a69f rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x7ce62321 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x84bc2e90 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8bbd44da rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x9b79a057 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x9dfa3f84 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xa1cbace8 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xa29cb251 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xae23aaef rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xb815d9fd rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xbf8c36b6 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc5bab4e9 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc9ac1bf1 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xd3bd3405 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xdc9185a1 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xeed5b2d3 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xf190837f rds_trans_register +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x18190a34 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xfc6b262d 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 0x57c43730 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x5ee16af2 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xe9fd874c sctp_for_each_transport +EXPORT_SYMBOL_GPL net/sctp/sctp 0xf3322206 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/smc/smc 0x0bb3c146 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x145d0060 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x22654aa8 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x26d00a95 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x3f3887ef smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9003602c smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x9ce2d4e1 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x9f09d174 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xa2c1f8fc smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xa418be39 smcd_handle_event +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3134faf9 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 0x3a20fb64 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x862e96d1 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 0xf0301466 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000aa7bb svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x019851f6 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02981c53 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03436fba rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03b8c5d3 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x051e4c5a cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05909477 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x059a5752 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05d10e26 rpc_peeraddr2str +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 0x07272b50 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07356bf6 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x076f5c81 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0784498b xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0804b9d5 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0af50e83 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c8e6b70 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e5ab968 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fbaff3c xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11a47690 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12d3d829 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1353e2cf svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x154180ba svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x173326d7 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18721f2a rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x193c38d7 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a752f95 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f236d37 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f73f6d7 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2011f8a0 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x213f2f98 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22de3501 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24614233 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28140cdf xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28beeccb xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29723503 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a398ff0 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b87c0f7 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c2eb041 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2dad47de auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e7e5303 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e81e25e xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eea85d8 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f18eeaa rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fd118e2 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ff3195c cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x332b380f xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33ea3e0e xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x367df7d8 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3771f8b8 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37b03f01 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3810583a rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a772033 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a95fb50 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ba7aef6 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bb486e1 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c54d3c4 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f7fabec bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f92d156 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fefbb5d unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40b0a930 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x418e7bd9 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42768127 svc_return_autherr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44684b5d rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4618d488 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x472d861e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x473be9d9 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4788b108 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x489079c1 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x498420f3 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49ab828f svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b5e8727 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bdf1bce auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d7acca6 rpc_clnt_show_stats +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 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x536c5bd4 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53e80443 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54971ebd rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x562cc18e svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5712d20c sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5747afa1 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5770db8c svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5880c7c7 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x588955eb rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a0ca2fa sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b97b651 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d0416d0 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d0a190f rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d373f7a xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5db25b33 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63531ea0 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64027242 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66061b76 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67a7b21f rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67c7d3bc svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6809a7e6 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6811d327 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6828bf91 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68eab4ce rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69984d8a rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b14b1eb rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c1e157a rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c57423d svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d8103c6 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ea3425a rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70320ca5 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7198ee30 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72be6c54 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72fcfae3 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73d6d28e rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7564f4d8 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75ce9571 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75d5affe xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7645cbf1 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x769c39dd rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77531340 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7831b133 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78466912 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a483d02 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cd2ebca rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e3a7e1e svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ea1d778 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f1439af xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fa5034e xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80cdab5a rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81e1148b __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x849d001e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84bb83f4 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x858c34d2 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85f45ded csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8795db12 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89f9e704 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a19fa0e xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ad64888 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d473cb0 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dc93346 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ecb42c0 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8edd68e8 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90d83363 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x925ff93b svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9378ae24 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94ff13a6 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x986f5550 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a7cfb9f xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c35cecb rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d521edc svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ded3aa8 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e52c7e8 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e990597 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f111ca2 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1cfb034 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa46b06c9 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa67035a6 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6fa34b0 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa764986b rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7ef8ecc rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa893b453 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa245698 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabe0c9eb rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac1d4190 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac3c1207 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad735048 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad8a052e svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae0616e5 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaeec0e85 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb124a873 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb48a0919 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5e9aa8b cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7422406 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb93cef7b xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbad036f2 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbae8b950 rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc397b46 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd8495db rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbec0353d xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfa5615b sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc39b5c26 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4689d4c xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4ff9e62 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc50002dd rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6b03a7a xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc751abd1 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9a5ac0d rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaad5c77 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcab03a6f svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb91512b svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc1f2bf5 svc_encode_read_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xceb970f0 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1788f75 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd226bf38 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2cb186b write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2f8e9bf rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4daff59 xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd67f1c85 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd894b585 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd93d00df xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda452b73 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdeeff613 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdef2780f sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ab9925 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1e8489d rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3bc291a svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3fcd0cc xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4bea83c rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4feb1fb rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe620a766 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea78fe07 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec1eaad9 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec286878 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xece0ecbd xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee3c5f4f xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf03f591c svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1b0d536 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf25abe11 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf283aee0 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2b8a660 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf370514a xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3c6b621 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3e6a9ea svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3fb7bfd svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf43a6372 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf530387f xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf704a591 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa0be1d5 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc3fe94e rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd7fdd00 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd9c97ee rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe87abfc rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff803a8c rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff97e939 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/tls/tls 0x18b4e761 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x924acb6d tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xa07e9b8c tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xffc4c29b 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 0x0e2c7635 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1bf84662 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x23b2c99e virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2d0f3fe7 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2f89e17c virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x319b79c4 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x479bea4e virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4a81d04d virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4b5b5bc9 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x52ec1e0e virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x55547403 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5cd44ba0 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5d5706aa virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x66792e1f virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6f63105e virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7b2ce909 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9b6e24f6 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9d5ff043 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa1b6e4b9 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa76e49d9 virtio_transport_connect +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 0xbcb3ce2e virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc2e5f625 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc40deed0 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd3f9f2d1 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe4da5ca6 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xea1f82fb virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xec1b5760 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfafe7aaf virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfeaff210 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfecc1370 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfee7ad2b virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x149df77a vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x17ed81fb vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1db3cdf4 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2663cb64 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x338a3208 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3b04262c vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3ca19112 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x54713cd2 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x56acf6a0 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59d943c8 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5d929adb vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x698f14a3 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x73879664 vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x751ff010 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x80c2d895 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8a13b36f vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8ebeb908 vsock_remove_pending +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 0x9f1f0b8a vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb165b34d vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb209faed vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd0f699d vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc4c134af vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd95ac116 vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdd7c8757 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe774f32a vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfc84d3fc vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfd644701 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1608f9ee wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x25863adb wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2b282dcf wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x43608758 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4dc01c02 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x61e1cfb9 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa0fa1fb7 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xacb48544 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb0dc532b wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xbe40a581 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0xca3f234e wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xec75cbc2 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf507f7af wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1c9799e6 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2813079f cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x29bf861a cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3fc563c8 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x47051ef3 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x64b54793 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7a9b2589 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7e1f082c cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8e1add04 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9d800049 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbca08918 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcb1b7c8d cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcea5b3a1 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe7012a4d cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe852a2a0 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xec2e6e9c cfg80211_wext_giwrange +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 0x3af3668d ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x59a0b751 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x61faf8c9 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf4e341c9 ipcomp_destroy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x523e8dd3 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 0x0b86fec2 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x0cd88a63 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x0d8587bc snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0x3a4d228d snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x4a8d7232 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x82b052a8 snd_ctl_apply_vmaster_slaves +EXPORT_SYMBOL_GPL sound/core/snd 0x8d596449 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x99b0aae5 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xb16a66cc snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0xcf2963fc snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0xe37e56d6 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0xebdfc922 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0501d3b7 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x4882190b snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x551c1db7 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7c57a218 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8ac8bffd snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8c0ed82b snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8debd4b8 _snd_pcm_stream_lock_irqsave +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 0xaf8b091f snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb38dd8a2 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xc046f04a snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1c39e5f4 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1dd30b50 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x3aa974b3 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x3c60f836 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x529269a0 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x7625bbc9 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa7b0818e snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa8fed167 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd5f2d9d7 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe149f59e snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe9094f29 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xecf9dfe0 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x2f76554a __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x855cbc18 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x015a8fed amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x2c5fb5ca amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x300fbf3c amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7aef9f72 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x85cf66be amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x87e6a0ce amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8d0933ec amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa262f1c0 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xacc6eb41 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbe36c9f6 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbf8563a0 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf95940e3 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xfb2e9149 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x019094b6 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0397a29b snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x062811bf snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0840e4a1 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x08ab1dff snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0aae1d1e snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0b1bb215 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0d7e6f0b snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0eba836a snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1683f6d1 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x19da6516 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b04fd60 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b17380c snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1c9c4bca snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x226ec969 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2a964464 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ac52867 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2fbe0e02 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x342f390f snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x360b6934 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3a7f22f6 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40803b4b snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40d6d6e3 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43309ffe snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43734ed8 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4387feeb snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x47b36c0c snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4dcf8e49 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x528ec0e8 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x54656b73 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x56c542fd snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x59f45c58 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5e4d442d snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x60eb781d snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x61bc9ea6 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6215dda1 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x659d3032 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6d1eba48 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6eef4a39 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6f893b46 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7199230f snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x76a5d053 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77d38146 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x79e896a6 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7bd35018 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c9aa7d3 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x82f6d7fd snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8826fc9b snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x899e1b01 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8a140877 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9044e602 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91e6477a snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9390147c snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x99193872 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa0d924f9 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa342b8ec snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa8ad3953 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb2e8c998 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb5a996fe snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbbeb14b5 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbc2aa268 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbc4e27d6 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc89106e5 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8c1cad4 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xce5ca172 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd26b2dfe snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd9c78431 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdf95eb59 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe2a87d1b snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe5c619a8 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe79864b8 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xeb6fa120 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf07688d1 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf2150936 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfa7d96ff snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfc874d59 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x99e13dd6 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x065c9f20 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x174ae048 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x465ee1ff snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7ea48646 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xd98eaccb snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf2578f8c snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x000e64db snd_hda_input_mux_put +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 0x084f7674 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09f5a14d __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0cf23182 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fabcff6 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10ba3a91 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14462993 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1752a525 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x188267c2 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a90df8f snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b16a2a5 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b3ff541 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1bcd16fa snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ee92191 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1f97a9c9 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23647af8 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24131485 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24baa1f9 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2711d700 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x284ae887 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x29a15929 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e581135 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30e6d6cc azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x319c0b96 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x326afab6 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3291a820 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3422f2f9 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x368220a8 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 0x3c901a7b snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3fa17d53 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44327cab azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44c0943f snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x44d4bfb2 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x472c4b88 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47723c64 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b06a3f1 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50b2e6c2 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x520af369 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52ede661 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x581edac5 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e720dbb snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61362203 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x661d35f9 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6983a90c snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c001b30 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6c39d06f snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cf1a011 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f19fd57 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f6d529e azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f771b78 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x733dbf48 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x76930d50 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x769c8e09 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7927e485 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7933cf08 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8264d36b snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83b3944d snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x84a7b34c azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85caece8 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x883ddd29 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88608d9e snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ba8089a snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8cb1f5e9 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d7f374c hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f614d30 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x934c3553 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x939a8f73 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9409c83d snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94ee6cab snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9536a15d snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95996d87 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x96f5d3eb snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98a95c84 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ec769c0 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f5be18f snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa23992cc snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa23d68b4 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa26942db azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3d96d0d snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4fd3940 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa6159f7c azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa66a0bc4 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa7caee2a snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8eea9aa snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa957361b snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac5802dc snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaee0c70e snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb19f7721 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb295d9f2 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb88e2b2a snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd387dc7 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc467614f snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc76ba77e __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca7823ab snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca937855 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc83b9c5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce877c51 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4ddccfb snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd780ceb7 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd78e5e9c snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb736c09 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd16e943 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd389614 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0ced3b0 snd_hda_apply_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 0xe3ac739c snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe3c259e8 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe4983599 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe51c00a8 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe691bee0 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb2e270d snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xed763887 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1a99c8f snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1f31212 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf46b75c2 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4a857be snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf598e012 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf5a5cd61 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf62af3e1 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8b38b52 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfd351d29 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0d4bebc8 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x19886ab3 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x19d8841d snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2a108848 snd_hda_gen_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3ee95cdc snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4d8a6952 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5ac8ca2b snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x63100b6e snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x64bb8eaf snd_hda_gen_update_outputs +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 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x896e3e01 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x9618fa89 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x963a5e08 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa15b8938 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa6f27b96 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb7116280 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc4596da9 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc92c6994 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd57cd79a snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdb41968b snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe1b8f131 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf374bc52 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x4b077e7d adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xdc8a9678 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0278fa81 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x192f2733 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5e98276f adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x636ed241 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x661df9c2 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x6926031e adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x72968022 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x86d8d127 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xd5812907 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xf70041a6 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x04f84313 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x5782ffaa 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 0x9a1fdfcc cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x238c67f7 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3e06a251 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xb2fda951 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xbbfb2278 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xdff82e6e cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x12872ac1 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x45893797 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcf00915f cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x15719af9 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x3d05cf4b da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x9669ffd9 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x78c55f5a es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xff395c6f es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdmi-codec 0x3b9909b5 hdmi_codec_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xdd1484c0 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x0ed792b1 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x636d2a7f pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xf8e49f2f pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x3bfc8aa3 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xff543307 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x20b6a4b2 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x8cbc3d7f pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x1ac732bb pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x2fffe890 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x3516603f pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xee6f46bf pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x054f91a0 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x16f10061 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x51160132 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xb2954720 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-rt5645 0x4b805aae rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x88e52a45 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0ceb337a 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 0x2d15345d rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x38b4a741 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4c8d087f 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 0x77344ce5 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7c238315 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x8854c5a9 rt5682_headset_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9050e21e rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9e792fb9 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa7bab37c rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe684b0f9 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x627c09b1 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x904b131e devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xad32eaf6 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xb2ef7aa3 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xc96c7066 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x502b5486 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x0ec9880d devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x53e84759 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7ab774e8 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa464c65b aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xe4bfaa8a ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x101fe65f wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x22270c7e wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x27ee9fdd wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x3c063e79 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x092edeed wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x8e12fd03 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x421db8b1 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-easrc 0xef927700 fsl_easrc_get_dma_channel +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 0x0049b84a asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x14f2fd8f asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x271ebcf1 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x43844b20 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4a7d4cf0 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4cd22d75 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x514ef8d5 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x624e9193 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6ff492f4 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7c6c26df asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9ebf5b2a asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa83c03c0 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc04e513f asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd7507df7 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe284d721 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe63bd2a3 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe7a62e8a asoc_simple_shutdown +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 0xfc846bc3 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x006074de snd_soc_tplg_widget_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00a71b15 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00d3f9ea snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x011d698b snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x015fc720 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0297a20b snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0305be7f snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0350739f snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03632409 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0442af54 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x063631cf snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x07755dc4 snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08d5483d snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0967bf12 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09b87d2b snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09c97a40 snd_soc_of_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a486c01 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bb2bf16 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0beab186 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d73092d snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0de690d7 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ecb78f6 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0eeb53de snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f37757d snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ffc0f1b snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10c8059d snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11b4a5b3 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x145723d8 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14f97432 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1593e042 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1703464c snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x177928c6 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17be2ba3 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19754c03 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ad2734e snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1eaaecbb snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2206f64e snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x230ddceb snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2370a916 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x238a20fa snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26150e72 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2660d3b3 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x281732ed snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x281b57e1 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2865ee5e snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2895179b snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29f7d5fc snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b4cf902 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b50caca snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e2f2137 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x325d66fe snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x332d2a8e snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38217bc3 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39014612 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a09c750 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bafdb00 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bed08fd snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3de52e41 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e0f1555 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e7a2ce4 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ff0abb1 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40326bec snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40b809c7 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41fead17 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44bf54ef snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4752feeb snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4915bdc9 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x493d3156 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x499bb4d5 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49fef8ff devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a4d7a8e snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d794c14 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e678854 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x506e5274 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51868619 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5607c6f8 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x577b6996 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57f13275 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59d76519 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bf8cec9 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c8103b3 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c894720 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d7ef7e2 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f9f7b5a snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61d9fe15 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63bff0dd snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63e6638e snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66170e65 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66bde377 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66c32c05 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66ccc5c2 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b78303f snd_soc_component_read32 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c3d3fbb snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cce9067 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ce49de8 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d1471ec snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e18da74 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ff2a32e snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7092b0ae snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7475de3e devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76a90fee snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x790f81a3 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79b2fa31 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7abbe67b snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b91a042 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bcd714a snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bed408e snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c446e88 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7eb55850 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84087cd0 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x858d25a2 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85fc4ced snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86bb204e snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86e389ce snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88508e9b snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c82befd snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8daa9165 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9138350b snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91d30f2a snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92579dbe snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x934f518e snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93bf60da snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x940cae52 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96912d7a snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96a0b883 snd_soc_tplg_widget_remove_all +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b35d1b7 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9daec1d1 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e9d9543 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fb757ec snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7b6646c snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa88da634 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8f39310 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9bd0f1c snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaabe64fc snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac5dafcb snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf6c087a snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb09e1d61 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0c363f3 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1795ffa snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb2bd28f6 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb456e324 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4f54279 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5cecc50 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6bf3c8d snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb713078a snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb80dcd05 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb40b7b3 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd0c54f0 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf48ff97 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc275d395 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc453c5d5 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4f0b953 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc80469dc snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8d6935e snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd2a5962 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xceea7319 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcef6b356 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcfdebbd4 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd16e3bf9 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3a2f61f snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6071543 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd69911e1 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6b4d176 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd753c531 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda450fdf snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda490387 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf2e6bdc snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf907bbb snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3c3274a snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe45f0aba snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe531fdc0 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9fb2fc7 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea472969 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xebb443eb dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec9c0655 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1d608d4 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3294858 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf451a8e9 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5c7f33f snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9f80f6f snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbbef0c8 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbf28908 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe480243 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe7193c3 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff362b8c snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x0278d9aa snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x6c0582d0 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x72a0a959 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x7f9a3411 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x045cff70 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0dbdae4c 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 0x3f31492f line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3f5352b4 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x66b9e9f1 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6c01f7a0 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7713fcd0 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x78c289ef line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9ccad349 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9d0768d6 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xab65da41 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xacf6e88b line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd0c4dcb5 line6_alloc_sysex_buffer +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 0x0004ba2b __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x0014e0c7 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x0027ba6e devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x003864d2 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x0059110d gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x007d3158 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x007ec773 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x008e4a33 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x008ed723 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x009d1a03 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x009ef759 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x00bb3841 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x00ccda48 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x00e83680 blk_mq_make_request +EXPORT_SYMBOL_GPL vmlinux 0x00ece239 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x00fde234 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x00fff0be rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x0105c87b blk_mq_sched_free_hctx_data +EXPORT_SYMBOL_GPL vmlinux 0x0122f477 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x012b5286 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x0132424c scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x014ef87d tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x0157115a power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x0183f196 wm8997_aod +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018b2c2d of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x01926dde pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01a55df0 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x01b01c59 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x01ccc682 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x01d5f395 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x01d75e4f devres_release +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f3f64b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0208556a crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x021ac746 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x022b7029 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02435cea usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x0247bddd fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x02503986 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x027008bb ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x02865ad9 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x02999862 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x02a70d9a nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x02aa21f1 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x02b24cd3 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x02b639ef ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x02d4dc63 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x02d7dfc1 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x031b0f8f nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x033e7410 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x038a39f3 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x038beb1b blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x0392525a __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039d3306 iommu_domain_window_enable +EXPORT_SYMBOL_GPL vmlinux 0x03a4c33d devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x03a8e92b md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x03b59fd2 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c15082 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x03c15777 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x03da5eb4 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x03dbe90b pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x03e028ae housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x03e0aaab tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x040fcd48 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x0419e175 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x043021a2 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x0431e7e6 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x044be836 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x045f2f37 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x0462a8ea iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04a14ebd spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x04baa069 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f4882a hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x04f654f5 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05184833 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x054c0b63 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0558d3b8 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x055c1cd9 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x055cb4f9 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x056278c6 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x0568a051 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x05721152 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x05805dc2 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x0580eaa0 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05993721 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x059d5c0f md_run +EXPORT_SYMBOL_GPL vmlinux 0x05a026dc ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x05a238e7 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x05a2bd71 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x05c28aeb wm5110_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x05c8909b pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x05eb7063 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x05f11268 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x0606f4e2 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0644f002 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06815f1c security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x069acbd7 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x069d51fb mddev_congested +EXPORT_SYMBOL_GPL vmlinux 0x06b0478d btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06b821fc led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x06bf9b2c dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x06bfa5f6 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x06c92938 component_add +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06e1644e fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x06ecdd3d gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x06f7fe3c ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x06f8e4e6 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x07078342 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x071f095e sched_trace_rd_span +EXPORT_SYMBOL_GPL vmlinux 0x07206504 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x0722255c fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x07397ec4 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x07431a00 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x0748b84d device_connection_find +EXPORT_SYMBOL_GPL vmlinux 0x074f6299 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07646cee ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x076d0171 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x078ffcc2 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x07a080c8 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x07ae0238 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf29cd get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x07d6906b virtio_config_disable +EXPORT_SYMBOL_GPL vmlinux 0x07d795a3 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x07ecdf49 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x07edf20b power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081b390a alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x08240df8 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x0860f688 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x0892c0d7 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x0899307e device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x08ac2852 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x08c58a77 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x08c9f4ab l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x08cf0c9e device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x08d3bf02 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x08e94300 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x08fd6840 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x091af7a3 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092818c6 crypto_cipher_decrypt_one +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x093de66e serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x094e2bce ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0975846c __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x097743b4 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09d2413d skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x09d7a3c9 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x09e72c15 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09eacecb usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x0a04f350 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x0a0bd3ff tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a632fb2 arizona_clk32k_enable +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6ce1cc sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x0a750bb2 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x0a9b622c device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x0aacb87b component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x0aad1a1a serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x0ab08f2f sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x0abe996b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x0ae0d6b5 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af834c2 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1b1298 riscv_timebase +EXPORT_SYMBOL_GPL vmlinux 0x0b1b9e82 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b2148ae iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b2e755e of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x0b2eb7fb clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x0b3ccf78 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x0b3f132b pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x0b69b9b7 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0b6aa2cb __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x0b86a51d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x0b930e26 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x0ba9905a page_endio +EXPORT_SYMBOL_GPL vmlinux 0x0bba9666 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x0c03be1f crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x0c041d79 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x0c111c04 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c2ce7a3 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c43158f iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0c64be34 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0c6d4028 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x0c70328e find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x0c79fe67 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x0c82e61f tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x0c8c720b pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x0cb119bf bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0cb2d0f0 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x0cb5eaf6 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x0cba8c28 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ccbdf4e devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cd7264b of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x0cdf5b05 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0cf2dabe iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x0cfd95c9 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x0d1764ce crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x0d18e491 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d2b96fd sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x0d40e441 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d45e631 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d615450 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x0d7f43c2 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x0d7fb46b devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x0d8f1bf6 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x0d9b3967 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0d9f922b debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x0db1d8a3 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x0db57474 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x0db75610 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x0dc373ab wm5110_aod +EXPORT_SYMBOL_GPL vmlinux 0x0dc73f4b mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dcd12c5 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0deb60a0 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x0df373fd skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x0e073d2b fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x0e0795b9 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x0e16fe2e kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x0e2cdbf6 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x0e2e3f0b md_start +EXPORT_SYMBOL_GPL vmlinux 0x0e314bd5 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e35edc1 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x0e40a118 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x0e477e37 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0e5bfed6 regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x0e68aab1 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x0e854792 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0e9845b2 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x0ea488b4 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x0eb0bbf9 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x0eb0ef92 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0ecd69e8 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eda767d crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x0ef6ffeb tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x0f0ab326 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x0f0e8e84 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x0f0ef026 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x0f12c4f5 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f2a65ab rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x0f2da3dc rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0f32d2cc tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x0f544c84 regulator_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0f576407 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x0f608aeb debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x0f61dde9 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x0f63ce94 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x0f72c204 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0f74f5ac of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x0fe0e991 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x1004fecc sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x10054e36 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x100ab093 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x100c8d7b btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101ee179 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x103451d7 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x103465fc pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x1052ae08 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x10558e0a devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1062aa27 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x106f293c regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x1077de2e kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x107a79e5 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x1086d41e espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x1092244d power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x10c2e75a kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x10c3cca5 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x10d12bd9 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x10e0652e edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f78871 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x1105a818 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x110b1124 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x111366aa mmc_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x1119cb31 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x111e72e5 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x112778bd devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x1129a8c4 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x11471710 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x11516063 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x115de754 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x11627e9c xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x117c38c1 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x117e6c77 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x117f0981 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x118a6fa1 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x118ef7ed mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x11942bd3 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x119794aa fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x11a2e0ac crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x11c23240 crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11f034ed shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x1212ac33 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x12177932 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1228efb0 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x12313236 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x125c2874 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x12694ee4 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x126a0702 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x126fd678 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x12726f0d sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x1275a85d powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12999b59 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x12a0fee1 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x12a16127 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x12acadc3 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x12bddf42 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x12c687ac extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x12d7145b clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x12dbc8f6 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x12e84949 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1305cc6b sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x1309aee8 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132843fb of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x13372f5e led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133df41d blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x1349caf3 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x135bf54e devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x135e7f19 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x136e8c4b simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x1370de94 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x13793074 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x137e2312 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x138da437 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1396c0e3 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x13a518e2 riscv_set_cacheinfo_ops +EXPORT_SYMBOL_GPL vmlinux 0x13c03a36 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d5a19a devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13dd1d3c arizona_clk32k_disable +EXPORT_SYMBOL_GPL vmlinux 0x13de3b64 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x13e74bd5 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f185fc devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x13f87600 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x13fb6847 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1413397f uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x1418f1f1 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1425e385 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1442c041 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x14432802 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x14499096 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x145954a8 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x145c839e iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x14603ba4 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x146a0a94 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x14774012 pwmchip_add_with_polarity +EXPORT_SYMBOL_GPL vmlinux 0x149a2692 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14b8f64d crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x14d01690 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x14e0e334 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x151571cd usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x153d9730 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1542834b extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x15495fcd fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1551e8d8 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x1553fa98 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x1556e461 disk_has_partitions +EXPORT_SYMBOL_GPL vmlinux 0x155e6009 fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x15629669 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x156f1b9a ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x157e4288 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x159116b6 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x15aa9b52 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x15c3f59d usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x15cbbc07 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x15f907b4 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x15ffc5a8 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x162aa1a0 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x16498462 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x166b2548 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x166d12c0 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x168ddd41 clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x16bb3dd3 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x16c60dee bsg_scsi_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x16d3be78 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16e52abf devlink_port_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x16ee0649 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x16f55dc8 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x170a3cad init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x171dcb4a __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x17487343 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x1753d6a0 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x17554920 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x17555598 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x17556820 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x175a54d8 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x175e9019 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17609aaa usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x178ac4af phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x17903179 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x1791df48 of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x17a5bc33 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x17afc9c2 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x17be574e relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x17c6eab8 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x17cbb6ef __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x17e4fd00 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x17f29120 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1810a0a9 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x18124f9a devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x181489ce sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x18190b49 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x1821c4bb sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0x183961f1 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x18572ac2 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x185ec51b sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x18728552 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x1895bfb9 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x18a3fe2f skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x18bb1db0 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x18bc7e89 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x18bff116 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18ef4939 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x19006b7a crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x19085e0a pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x1919ae42 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x192431db platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x1924d097 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x192efcaa arizona_dev_exit +EXPORT_SYMBOL_GPL vmlinux 0x193c92e2 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x1944e25d devm_regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1965af52 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x19794bbf param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x19928b90 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x199a4083 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x199f5759 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19ac3501 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x19aed027 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x19c0cbfa spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x19cc8307 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19e8c37c ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x19f462ab kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x19fe4f82 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x19ff78c7 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x1a06d221 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x1a0c2a46 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1ab7f5 led_put +EXPORT_SYMBOL_GPL vmlinux 0x1a1e09eb __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x1a24b346 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x1a507568 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x1a5c8c99 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x1a6122f9 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a77903a of_alias_get_alias_list +EXPORT_SYMBOL_GPL vmlinux 0x1a886fea ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1aa682e9 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x1ab1e558 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x1abd3379 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x1ac06733 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x1ac458a1 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af2e99a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x1b1a0311 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x1b1e38ea blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x1b20fdfa dma_resv_wait_timeout_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1b281827 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x1b2c1d45 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x1b47bf95 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x1b4c1787 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b68a290 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x1b6b041a mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x1b75f53b powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b942537 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1b9674bd ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x1ba9f22a relay_open +EXPORT_SYMBOL_GPL vmlinux 0x1bb477b1 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc73682 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x1be4cbdb platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x1bef0446 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x1bfa8c1c platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x1bfd6e07 blk_mq_sched_request_inserted +EXPORT_SYMBOL_GPL vmlinux 0x1c01e354 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x1c1b52c5 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1c275534 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x1c300d6a mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x1c3e1023 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x1c400cf4 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1c505c74 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x1c57c7bc crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c798d9f for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c95cf0c replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd2368c devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cd808d3 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x1cde4ff8 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x1ce662ff ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x1ce7c50d led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1ceacebd mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x1cf3b825 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d1fd3c2 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d71b58d i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x1d7565c9 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d8eb61d tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x1db653f6 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x1db93d83 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x1dba1a94 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x1dc31379 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x1dc81980 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x1dd51c34 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x1dd893b3 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1dda20c9 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x1ddceb94 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x1de76c44 of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x1df93539 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e14eec8 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x1e37874e power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x1e3834ac bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x1e39de80 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e91a0ba xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x1e9981e3 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x1eafe0fb devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebcb536 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ecd0a4f pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x1ed0f8b7 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x1ed87dc7 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x1ee32888 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ef1514c sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x1ef5088b inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x1f001b66 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1f0a5c1c get_kernel_page +EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1f1cb4b8 devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x1f1decc3 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x1f358720 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f62d721 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x1f6b24ea blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f87628f dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x1f879c9f mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1faeb7ba skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x1fc4e18a firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe9069b of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x1ff2d166 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x1ff9f156 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x20096734 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x200a6448 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x20101965 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x201e5bf5 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x2022f145 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x202f21ae perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x20307eb8 tps80031_ext_power_req_config +EXPORT_SYMBOL_GPL vmlinux 0x203fd510 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x2062d62a fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x206b2bfe apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x20744a74 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x208cae6c dw_pcie_link_set_n_fts +EXPORT_SYMBOL_GPL vmlinux 0x2090f307 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x20a0bcc4 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x20a65413 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x20d59d3d wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x20f8210b iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x21009661 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2105a2d0 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x210bbab8 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x21240a72 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x21408722 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x2151472e of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x2163c5ad ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21798283 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x218255d1 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x21842675 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2189a31e debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x2194c2c4 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x21960d60 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a6a114 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21ad0e2d blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x21af5c30 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x21c33bf2 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21e47d13 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x21e573cc bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x220bcce8 __generic_fsdax_supported +EXPORT_SYMBOL_GPL vmlinux 0x220fc0b5 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x2231d273 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x22367de0 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2237fcca cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x22485197 devlink_alloc +EXPORT_SYMBOL_GPL vmlinux 0x224f51bf nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x2254c334 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x2255673d device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2260dc93 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22648c02 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x227c6261 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x227fb953 iomap_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x22902a1d tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x22a52ab9 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22a5db53 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x22ba4198 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x22c23ccd pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x22c5818b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x22cdf081 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x22d41b4d fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22f33704 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x22f5b340 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x23011908 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x23442cc2 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x234edb2e gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x2373be9e devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2390774e rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a41578 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x23afa795 rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x23b243dc rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x23fbf02e device_attach +EXPORT_SYMBOL_GPL vmlinux 0x2401d2a3 sock_zerocopy_put +EXPORT_SYMBOL_GPL vmlinux 0x2402c863 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x241fc066 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x24344c9c crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x243f0b4b crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x244a2868 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x24504778 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x2477e3ef device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x24783ebd of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x247add10 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x248288da pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x24971967 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x24a0982b regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x24ac020d spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x24b24bd4 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x24c036d0 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24dfb0de sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24eda5e6 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x250b58a4 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x250b60e4 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x250d380d skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x25118000 pci_epf_match_device +EXPORT_SYMBOL_GPL vmlinux 0x252bb522 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x25379b42 loop_backing_file +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x253ec829 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x254da940 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x25528e4a ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x256faaa6 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x258bd7a9 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x258cb5f2 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x258d39b7 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25afd008 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x25c40480 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x2603b7b1 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x2608defb atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2610d017 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x26123852 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x263463db nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x26361dd4 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x264f1c57 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265219a4 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x266f80ea da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x26705aeb devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x26768d76 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x268f4155 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x2693742a trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x26a65e72 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c2322d find_module +EXPORT_SYMBOL_GPL vmlinux 0x26c622ee percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x26c6b1cf sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cd4479 devm_regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0x26d72dce mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x26dd90e7 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f2f6f1 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x26f69c79 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x26f75b47 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x26f8fc58 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x271a9464 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x271e086a spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x2733add8 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x274cf5e1 __clk_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x276c7c19 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x276e0578 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x27789087 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x2781d4ee devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x278eae1c mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x279f510d thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x27a607f1 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x27a6ccbd sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x27b3e34a of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x27b76561 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x27cb0a5b pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x27cebb26 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x27dbf74a tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x27e0388f component_del +EXPORT_SYMBOL_GPL vmlinux 0x27e8ff1c dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fbb3d4 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x27ffe6f7 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x2801fd22 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x28061f09 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x28184794 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x282013dc xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28340617 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x284c6a1f platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x284fe794 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x2853eaef devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x287336ed serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x28816f61 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x2883a15d create_signature +EXPORT_SYMBOL_GPL vmlinux 0x2883cb7e __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x2884ab45 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x288baaeb iommu_aux_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x28902ecb security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x2892dc88 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x28a61e61 addrconf_add_linklocal +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 0x28c2683a cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x28ce7281 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x28ea5c9d devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x29030d5f skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x2919eb7d pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x292bcea6 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x29305ecb ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x29383cba perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x2960ae5f alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x29870593 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x298c0c4a edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x299d0a36 device_connection_remove +EXPORT_SYMBOL_GPL vmlinux 0x299f5382 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x29bcd7dc skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x29c2535e usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x29ce4c96 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29d70e43 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x29e912dd extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f88b47 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x2a0a40fa mdio_bus_init +EXPORT_SYMBOL_GPL vmlinux 0x2a0b481c __bio_crypt_clone +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a385ffa __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a70f1f9 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a7232da ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x2a9e20ba dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x2aa4d8ce pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x2aad5e59 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x2abedc21 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2ad532bb pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x2aecd3ed pci_parse_request_of_pci_ranges +EXPORT_SYMBOL_GPL vmlinux 0x2af95687 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x2afcdd60 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x2afe1ad9 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x2b05a0d0 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x2b0b34ab ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x2b42a9b9 sata_async_notification +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 0x2b7af226 __bdev_dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x2b7b95d0 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x2b87f6fc synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x2b8e890b genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2b942c3b serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2bd45f38 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2bef2617 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x2c187a1c power_supply_set_input_current_limit_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c29c2b4 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c66f687 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8250e1 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x2c8484a8 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c99c98c mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x2cc3f35f hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2cc4f125 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x2cc830fe noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x2cca42be lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x2cda646e usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x2cde3c82 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2ce77069 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2d00de7e vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x2d00dec4 nd_blk_region_to_dimm +EXPORT_SYMBOL_GPL vmlinux 0x2d0cf205 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x2d122892 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d23e5a2 devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x2d25bb6e crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d31b4e8 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x2d378f75 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x2d390628 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x2d401154 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d44876f ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x2d4e45b2 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x2d59da04 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x2d5dad3b sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x2d607b5c d_walk +EXPORT_SYMBOL_GPL vmlinux 0x2d81be33 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2da5802c serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x2daa2177 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x2db1de26 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x2dca3a11 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x2dce3815 __devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x2de73488 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x2de7d9c2 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2debbb48 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x2e00b4b7 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e12e1fa klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x2e172bb3 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e36d7b3 iommu_dev_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x2e4ba48f bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x2e4e3cb4 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x2e5e7ca8 usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x2e5fe812 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x2e6acaa1 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x2e811f36 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x2e82cb63 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2ea3504e devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2eb0ab45 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed66571 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x2ed86bba spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x2ef413ed usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f100d5a gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x2f10662c serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x2f200f4a rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x2f2b5903 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3049a8 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2f3993bb devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x2f40b3f5 security_path_chmod +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f5c1223 __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2f767a2d usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2f7e6288 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f999292 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x2f9d3dad shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x2fc19204 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x2fc2c41f rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x2fd52513 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x2fd8a4d1 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2fd8f5d6 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x3035577e devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x30380b36 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3069809a __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x306f5576 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x30749dc1 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x307a85ad sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x30802de4 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x308dc388 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x30937777 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x3096cb1b edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30a6c800 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x30b12cbe sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x30bd8cbf kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x30c3759b pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x30d6cfe5 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x311197d5 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x318764b4 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x319d8719 do_splice_to +EXPORT_SYMBOL_GPL vmlinux 0x31a51651 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31ae60b8 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x31bb1860 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x31bffd6c dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d6211e perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x31db2ee0 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x31efa96b sched_trace_cfs_rq_avg +EXPORT_SYMBOL_GPL vmlinux 0x320624d2 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x32108e73 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x3212aaa0 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3218e1b8 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x321fefbe phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x32333758 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x3239e24d put_device +EXPORT_SYMBOL_GPL vmlinux 0x323dbc4d nl_table +EXPORT_SYMBOL_GPL vmlinux 0x324df110 gpiochip_irqchip_add_key +EXPORT_SYMBOL_GPL vmlinux 0x325bbb99 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x3270690a debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x3291c2ea get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x32985946 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x329f5235 devlink_params_unpublish +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c56889 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x32cbea12 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x32ce7bcf trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x32d3ce0d devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x32d58a78 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x32e0494d devlink_flash_update_begin_notify +EXPORT_SYMBOL_GPL vmlinux 0x32e94d15 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x32eda9e1 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x3314b247 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x33223860 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x33376b4b driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x333a40f9 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x3356521f to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x33577bab of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x3357de60 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3361e961 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x33958fe6 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x33ae59d0 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x33b02442 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x33b3b3ab register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x33b8d5d5 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x33bcafa2 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x33d0d382 iterate_mounts +EXPORT_SYMBOL_GPL vmlinux 0x33e7737f rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33fba94d blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x34081108 devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x340d7fdc devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x341ce258 hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x343f20ca disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x34437bf8 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x34468a67 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x3453c2b5 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x345cce43 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3468052b sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x347d72b8 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x3484ae7d dma_resv_get_fences_rcu +EXPORT_SYMBOL_GPL vmlinux 0x348f1f05 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x3494cb53 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x34a28020 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x34a84df3 __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x34a93770 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x34bab869 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x34bd28d9 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x34c1eb5e gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x34d58c54 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x34d76ac0 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x351cc661 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x352624d4 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x3528176a bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x354bd1da synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x3570ab66 user_update +EXPORT_SYMBOL_GPL vmlinux 0x357494ae pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x357be1f0 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x3584bbe7 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a42405 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x35d280fa crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x35d46d25 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x35eb1a10 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x35fa8212 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3607744e iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x3611f503 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36243772 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x362864f6 unregister_sifive_l2_error_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3651eb79 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x365213d0 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3655c16e synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x365afbe7 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x36630488 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x3664bafb usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x366548fe i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x36759dd4 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x367f3b29 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a40a96 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x36ac8374 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x36d28dc0 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x36e55fc0 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x37199a9d seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x3721c500 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x373413c5 tty_ldisc_release +EXPORT_SYMBOL_GPL vmlinux 0x374c53e1 ata_get_cmd_descript +EXPORT_SYMBOL_GPL vmlinux 0x375afd8f nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x37625480 sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3763ad2b pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x37842a87 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x37a32532 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x37a36c20 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x37b1268b unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x37b4e5ad blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x37bb4235 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x37bcb584 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x37c8deaa rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x37cc360c of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x37e3627f bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x37ee7d3d inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x38223ec1 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x382b0007 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x382b10eb tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x382c5dc6 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x382d4df5 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x3832a170 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x384055bb udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x3841b837 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x385139e4 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38596224 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x38669c48 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386a57ad exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x386f4d44 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x388e801c iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x389b1197 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x38a78601 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38d7828a regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38ea9ed9 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x38f41c8e sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x39079588 of_css +EXPORT_SYMBOL_GPL vmlinux 0x39144b93 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x391d4000 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x393e1c19 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x393ef8d3 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x39443100 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x3944e64a edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x3952d874 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x39696656 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x398af2a3 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3997063f pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x399e404c xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39c0b012 each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x39cb1a2c strp_done +EXPORT_SYMBOL_GPL vmlinux 0x39e61495 nf_logger_request_module +EXPORT_SYMBOL_GPL vmlinux 0x39fa122e crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x3a0f25cd wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x3a1ff0cb dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x3a2e1b39 dm_report_zones_cb +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a825420 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa8c993 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x3aaf2727 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x3aafb37b regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3ab6eb9f pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3abfd72e mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3addd953 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x3ae2485b virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x3b199b6a scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x3b3f8119 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x3b420a93 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5cff29 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x3b6e0737 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3b72de22 pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x3b7563cd sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x3b7ced21 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x3b80b4dc usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x3b91610b gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x3b961822 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x3bafcc94 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3bb499c2 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x3bbead2a fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x3bc55ee6 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x3bc5d782 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bde4e8d clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x3be96999 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf31acc ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x3bfcda5e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x3c000393 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x3c028cdb ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x3c0b1092 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3c10da1a arizona_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c21eb71 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x3c25fedb dma_buf_move_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c2a77e7 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x3c2afb8f icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c4256cd tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3c47b405 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x3c47c35b dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x3c56df0a ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x3c60d598 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c74a035 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x3c790e7c d_exchange +EXPORT_SYMBOL_GPL vmlinux 0x3c85aecc regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3c899c57 device_add +EXPORT_SYMBOL_GPL vmlinux 0x3c8ede22 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x3cb58451 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x3ccd17c8 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3ceb38d7 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3cf30e07 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x3cfdc8ec of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x3d13f3fb rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x3d1aec36 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x3d20af2a serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3d21de27 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x3d27d091 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x3d427ce0 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x3d49fc73 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d56331a dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x3d59f2a6 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x3d628379 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x3d78c15e virtio_finalize_features +EXPORT_SYMBOL_GPL vmlinux 0x3d7de533 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x3d83fb5f dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x3d878be6 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x3d8ad138 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d8f47c9 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x3d988ffa __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x3dc526a9 arizona_of_match +EXPORT_SYMBOL_GPL vmlinux 0x3dce05b5 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x3de8dfd6 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x3de92330 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e14311f spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x3e15ef00 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x3e206718 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x3e26f5f7 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x3e30c564 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e4e2b56 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x3e6fbab8 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7456cb trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3e85644b scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef8e7ca ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x3efd1889 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x3eff2811 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x3f046900 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x3f0cba49 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x3f10b0fb nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f13de1c skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x3f247cf3 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x3f24ddc2 blk_mq_force_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x3f30c5b6 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x3f3d4f19 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x3f4632cd phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x3f4c3751 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x3f58edc4 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x3f70cf8b inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x3f7499b7 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put +EXPORT_SYMBOL_GPL vmlinux 0x3f9e4b17 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x3fab98a3 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x3facc65d sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x3fb0ab4e __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x3fb7232d clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x3fc173ac irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x3fd36095 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x3fdf2fda xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fe6ea87 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400130ad sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x4003ab8c blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x40058111 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x402d4b89 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x402df798 register_sifive_l2_error_notifier +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x404a3431 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x406fa1ad regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407c7db1 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x407e63bb devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x4082b067 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40afe9c5 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x40b59b3a srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x40c539de pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x40ce0714 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x40df535c nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x40e12ab1 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x40e64365 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x40ea3e9a ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x40ebe5bb unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f38190 switchdev_port_obj_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 0x410c2406 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x413ed4f6 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x413fed18 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x4142e93c virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x41508721 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x41638c10 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x416c2ad6 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x416c2f50 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x41810f8a bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418ebc28 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x41934fcc fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x4197d99c regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b200f9 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x41ec6ea4 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ee609e skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x42021993 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x42082e54 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x42091a40 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x420e8e88 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x421dddc5 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x42214614 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x42232c45 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x42278700 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x4249474f crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x424ebc5a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x4253f57a regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x425dd321 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x425e08c5 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x426f7204 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x427fa20d scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x42821da6 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42907d69 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x4299b1a8 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x429cf213 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x42ceb107 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x42d6e1ae freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x42d9121d sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x42daf112 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x42e8c590 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ed3b62 devlink_port_params_register +EXPORT_SYMBOL_GPL vmlinux 0x42ee0da8 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x42f33690 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x42f69898 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x431c5874 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x4333129d extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x433ab027 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x433ae21c user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x4340a484 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x434c507e regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4386b248 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x43936e27 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x43a24d38 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x43aa24e8 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43de4f24 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x442d89c5 phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x44408bb4 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x4442fc28 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x44434461 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x444b4b05 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x445be1ef irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x446f5d4d ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x446ffc5c __put_net +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4488a207 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c328e9 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x44c4ab33 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44cfe3fa pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x44d08854 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x44d3e4f1 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x44e38ab3 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x44edd539 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x44ef7ce4 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x44f7b33f iomap_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x452a4651 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45466309 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x454bb48d devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455ad6fb usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x4561f4c2 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x45727640 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x45734bc8 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45843289 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x4587bf83 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x45984cb1 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0x45ad5caa of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x45aec646 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x45e51c9f ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x45f1bc79 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x461f4596 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x46404d7a devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x464bb2f5 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x465fba34 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46a5c737 of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x46af7398 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x46c1a8b8 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46cf2e9b __raw_v6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x46f254c3 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x46f42be0 devlink_fmsg_u8_put +EXPORT_SYMBOL_GPL vmlinux 0x46f6c93f devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x46f6d40f pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x46fa4ba7 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0x46fea91a sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x47111b20 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x472ef8a6 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x47389ba7 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x47429fa7 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x474b0d37 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x4757d721 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4771eee8 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x4794298c platform_device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0x479c3016 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47ae3bfe iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e316e3 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x47fc05e5 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x483040da device_create +EXPORT_SYMBOL_GPL vmlinux 0x484b6ebf class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x484e683e __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x485bb753 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x486d9730 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48abb018 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x48ddd792 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x48ff3a5e rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x491ab64a ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x491b33c3 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x49204887 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x49324172 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x49339612 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x495162f1 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x495de6e0 device_register +EXPORT_SYMBOL_GPL vmlinux 0x4964d58a securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x496a6266 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x497d83b4 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x498cb962 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a01c29 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x49a81365 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x49af984f inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x49c89912 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x49c90913 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x49de8f84 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x49e190df regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49fd6907 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a5293d3 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x4a6970ba irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x4a6ba20f tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x4a704066 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4a7988f6 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x4a7e0454 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x4a846be1 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x4a8bcbf9 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x4a8c9573 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x4a9474f4 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x4a979e83 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x4a9b7e47 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4aa4e23b serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x4aa90686 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x4aae0f88 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x4ac47206 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x4ac9ce95 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4accbe51 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x4acd2cd1 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x4ae5e1c8 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x4ae5ec86 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b5943e0 of_dma_configure +EXPORT_SYMBOL_GPL vmlinux 0x4b610fe1 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x4b616745 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x4b6e9882 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x4b7a14f2 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x4b818cae dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x4b98d62a iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x4ba9bc3e devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x4bac01fd __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x4bbca0de ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x4bc4690e crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x4bcce238 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x4bcf84a1 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4be2694d usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x4bed101f unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x4c05ca4c irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x4c0b9e80 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x4c0eb7c5 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x4c110ad9 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4c156169 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x4c712592 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x4c77344d pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x4c90a054 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x4c927a6d dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x4c940c9c usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x4caaefcb ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x4cb17da4 iommu_aux_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4cc0907c crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x4cc67cf0 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4cd4107a nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x4cf20552 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d02e18c pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x4d0a73c8 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x4d15016a rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x4d19e596 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x4d246d83 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x4d3ea7ac edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d52d2e0 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x4d6146bc genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d714eff inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x4d8e996b usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db3822f ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x4dd4b82d __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1aec52 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x4e31d3e5 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x4e69cf6c regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4e9f6817 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4ea037ec rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x4ea2ad4e crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x4ea803bf vfs_writef +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb4624b sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x4ec3aaf9 vfs_getxattr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4ec6528f dw_pcie_msi_init +EXPORT_SYMBOL_GPL vmlinux 0x4eda7952 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f0acb2a tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x4f0f8f6e blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x4f2407bc usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x4f4abc99 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x4f502ab2 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x4f524e76 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x4f5a1c20 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6a19f9 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x4f6ad9dc usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f81b817 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x4f8c43b2 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x4f93bd2f scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x4fa19f1c usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x4fab768b clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x4fb20b12 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x4fb70e4d tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4fba7c13 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fdd69b9 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4feb0a1a crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x4ff0b20b synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x5025f0b2 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x50382b94 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x503a0f5d netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x50541757 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x5057ff49 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x506c08b4 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x507ebc7d fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x508075db palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x5091d34a rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x50956504 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50c13487 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x50c1d22e inode_congested +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50efd8b3 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51093292 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x512345a3 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x51350bc8 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x513c1365 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x51443e74 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x517ee283 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x517eea92 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x518ecaf7 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x51921795 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x51c27d66 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x51edbfdc gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x523612a3 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x525923ed of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x5261322c rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x52654fa0 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x528061d8 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x5288b318 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x528abc2e blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x5299c641 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x52a4d625 napi_hash_del +EXPORT_SYMBOL_GPL vmlinux 0x52a9d89e pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x52b04874 ata_ncq_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52dfd199 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x52ea0ab2 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x52f1ec1e wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x52f41502 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x52f6f488 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x52f8c22b nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x52fb1962 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x531b854e mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x532511af kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x532ad205 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x532c62ca devm_mdiobus_alloc_size +EXPORT_SYMBOL_GPL vmlinux 0x5353c1fb wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x53558008 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536f54df of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x536f5733 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x537ab9e8 sched_trace_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x537dcd50 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x538ac7c0 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x53969dc7 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x53addebf dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x53b05f5b pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x53b920fc dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c79378 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x53d2cf67 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x53db6fda gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x53e06c0c power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x53e18b95 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x53e9e7ee reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x54120dbb pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5424b3c4 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x548154bb pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5495ad1b fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x5496a96b tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x549fd1a7 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x54e9052c tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x54fb6f64 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x54fb715b rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x54fcc8f2 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x5502b6a8 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x5524498c devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x55248f1f regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x554ceeb4 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x554e2e5b alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x555005b8 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x5562aeb1 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x55669f65 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55729a6d power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55b812d7 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x55ec91ce tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560556c5 dax_supported +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x56212ac6 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563d5a4a find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5647a789 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x564bf59a phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x566d1c30 dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x566fd469 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0x5670fe04 vfs_read +EXPORT_SYMBOL_GPL vmlinux 0x56729286 tty_kopen +EXPORT_SYMBOL_GPL vmlinux 0x567ad43e of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x56a2717f fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x56a8493b __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x56b2cb87 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x56bdf5e5 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x56c9f773 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x56e380cb pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x56f5b845 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x57131ea9 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x573e766a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x57448d37 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x575bb578 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x57616e49 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x5768a3e5 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x576bdf16 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x577c93eb i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x5787bbd3 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x578cff5f devlink_port_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x57946756 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a1667d badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x57a4a58a pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x57b914a2 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x57c39727 kdb_register_flags +EXPORT_SYMBOL_GPL vmlinux 0x57d9160e devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x57dc88d3 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x57e727d7 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x57f70547 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5846c2a4 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x584f938f wm5110_revd_irq +EXPORT_SYMBOL_GPL vmlinux 0x587095fa devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5884b978 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x588751fd led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x5889634e gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x58a408f5 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x58a6f11f __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x58b0cfcc sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x58bde726 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x58d30bbf iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x58d70960 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x59048a4a evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x590d4c5a i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x592740e3 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x59585426 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x595ec03f rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x59609f5f device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x596166c7 of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x59622552 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x5970dc40 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x597d7159 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x597e718e devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59a01103 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59bf7025 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x59c7d301 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x59cb3377 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x59e6a88f ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x59ee08fe da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x5a00e577 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x5a0fe08b skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5a150c5b debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a1fb9da regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x5a4098e0 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x5a41b8ad pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a684e64 regulator_lock +EXPORT_SYMBOL_GPL vmlinux 0x5a6850e7 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x5a6bc93f sbi_remote_hfence_gvma +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a93c64b irq_create_strict_mappings +EXPORT_SYMBOL_GPL vmlinux 0x5aae14e1 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5aedb0f2 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x5af2b287 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5af58cea tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x5afd1d26 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x5b0e1c95 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2d3c91 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x5b3982b1 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x5b3d49c7 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x5b4a7ab6 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b818977 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x5b830f8a sched_trace_cfs_rq_path +EXPORT_SYMBOL_GPL vmlinux 0x5b8d47b3 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x5b8ebaef dm_put +EXPORT_SYMBOL_GPL vmlinux 0x5b926e36 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x5bcaac9c max8997_bulk_read +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 0x5be5c289 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x5bf70223 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5bfb5166 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x5bfcf5cf access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x5c072bc0 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x5c2388c3 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5c25b401 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x5c2bcd37 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5c40ac30 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x5c4d4372 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x5c53ccf9 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x5c617589 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c7f428d perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x5c98078c of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb12cbf crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x5cc9078d led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x5cd4ad93 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5cd5f79e gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x5ce9d894 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x5cf63245 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x5d08d43b regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5d257012 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x5d4114af __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d9313bb linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x5d9de898 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da79432 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x5dade5d5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x5dc4b4bd devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5df115d6 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x5df778c5 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x5e11b9af spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x5e2b3277 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e3e70bc tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x5e41089e ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x5e46c44c xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x5e4731dc rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5e4f8c35 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5ea3efdf srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x5ea4ac7b usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x5eaa5910 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x5ec4f7e7 split_page +EXPORT_SYMBOL_GPL vmlinux 0x5ec5f78a tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x5ec619a4 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x5ec62549 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5ed3bc14 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x5ed7412a xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x5ef29869 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x5f07b139 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x5f0f740e debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f2e9d51 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x5f608843 sched_setattr +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f70881d __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x5f88b06f tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x5f9e1a1a __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x5f9e5172 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x5fb5f4a5 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x5fde6a51 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x5fe3ede2 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5feb40f7 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x5feb820a nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x5ff1c1d1 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5ffc0a16 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6011e223 page_cache_readahead_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x60171a94 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x602ad97e rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x602d3079 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32099 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x60a61c1c bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x60b6b3f8 devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60ff4e5d gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x610b2e91 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x6125ec29 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x6133b254 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x614150ff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x614a8b38 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x6156e087 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x6157b2ee rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x616a8f7d net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x616b30c7 kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6195ce5b xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61a554c1 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x61b36a6d crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x61c3b25d percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x61ce417b regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x61d7bc49 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x621aff2c sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x622c5fb0 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6231e4a0 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x6231e980 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6257bfa0 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625a7b27 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x6275a2ed __fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x62850245 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x628d252a devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6295ec10 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bfd9b2 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x62c433e9 of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x62de4693 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x62e179b9 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x63054989 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x631a1f74 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x631c2ba1 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x63597647 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x635fb507 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6362fec2 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x63639345 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x6366cd61 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x6373bcc3 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63afc888 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63cf1b22 blk_set_queue_dying +EXPORT_SYMBOL_GPL vmlinux 0x63d1326c anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63d1427b fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x63d7da75 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x63ffbf77 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x64027afa ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x64191363 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x6445095b device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x647f2b04 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x64971002 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x64ad1cd3 skb_zerocopy_iter_dgram +EXPORT_SYMBOL_GPL vmlinux 0x64ae73d7 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x64baa2de devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x64bdf51a class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x64cbac09 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x64d0a42d is_current_mnt_ns +EXPORT_SYMBOL_GPL vmlinux 0x64de39eb find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64faf25c vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x6501f2b0 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x6508a1ac thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x6521c2ce usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x65341921 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x656a833f ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x6575a303 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x657671f3 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x6579a1f7 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x65c89d96 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65cdc72b fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x65e80da3 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x65f4e4f3 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x65f7c0ec fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x6611fef6 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x66145a09 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662083f0 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x6633eb30 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x6634252f scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66692c74 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x6683242f pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6685db10 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x668dee0e devres_find +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c2a039 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x66d1b542 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d8e40e __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x66f248d8 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x67016cfd inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x6701d56a ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x670ea1aa devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x67158c3b crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x672da757 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key +EXPORT_SYMBOL_GPL vmlinux 0x677ea2d4 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x67816570 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a358cd bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x67abcbd7 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x67d57519 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x67d8bdda tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dd6fbc usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x67f7628c switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x67f9490c dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x67fa2ec4 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x67fac33d gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x6806a5ff md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x680b8c3e sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x68132e3e transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x6827ba31 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683618f9 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x685991dd serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x6861a45d gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x687d1982 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x687d629e ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x6890fce2 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x6894835c __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68ac853d dm_get_table_device +EXPORT_SYMBOL_GPL vmlinux 0x68cfeaf2 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x68d3555b debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x68d55a03 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x68e1bf91 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x68e59408 security_inode_permission +EXPORT_SYMBOL_GPL vmlinux 0x68f0de32 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x68f37e9f __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x690bc4c8 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x691a07df usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x69311458 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x694f3012 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x6958ae23 dax_get_by_host +EXPORT_SYMBOL_GPL vmlinux 0x6965a753 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6982ec26 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x69854526 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x6985ee30 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x698bc9fd inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6991eea2 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x69cc5a51 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x69d6a666 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x69d8aecf bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x69de4336 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e8cf42 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x69ec9ba7 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69fa3c9a dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x6a010cb3 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a13d24b irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a38189a tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x6a3bf945 input_class +EXPORT_SYMBOL_GPL vmlinux 0x6a40a946 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x6a435643 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a489219 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a50c93f sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x6a5c24c1 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x6a5e2bde __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x6a72ae6d devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x6a74db7f __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a84ab8e fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x6a8b6eb0 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6ab6530e rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x6aba0f14 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x6ad54196 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x6ad5f1d9 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x6ae0f6f7 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x6afd35dd ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x6b1809e3 direct_make_request +EXPORT_SYMBOL_GPL vmlinux 0x6b1d988d rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x6b1f5170 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x6b2162ba usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x6b22926b irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6b2fc525 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x6b3fd480 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b56e13e put_pid +EXPORT_SYMBOL_GPL vmlinux 0x6b778c0a usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b8cd0e0 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x6ba37dc4 riscv_isa_extension_base +EXPORT_SYMBOL_GPL vmlinux 0x6bc83502 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6bcf4efd device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6be54597 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6bf485be blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x6c03cfed nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x6c096313 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x6c2bf367 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6c359015 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c43f914 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x6c448207 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x6c48d036 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c6962e9 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x6c7a1543 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x6c7dfa18 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x6c86931a dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x6c9406a4 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ce915e1 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x6cec6a5c driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6cec9982 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x6cf55eee of_map_rid +EXPORT_SYMBOL_GPL vmlinux 0x6d00bd72 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0fe6f5 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x6d13afcd dma_buf_dynamic_attach +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3d8039 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x6d5bd8e5 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x6d5fce2e ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d78f7cb strp_process +EXPORT_SYMBOL_GPL vmlinux 0x6d7de306 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d97de8c pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x6d9ee2a0 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x6dad2d04 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x6db158e3 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbe2c26 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6dc80abb srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x6dd6dc6a hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x6de8eca7 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x6df2b126 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x6e1b4b39 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x6e2441ae spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x6e28c160 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e43f44a power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x6e4a773e nd_blk_region_set_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x6e4bc056 spi_res_free +EXPORT_SYMBOL_GPL vmlinux 0x6e56f47a mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x6e650158 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x6e6a3ab9 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e799178 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x6e82626f net_dm_hw_report +EXPORT_SYMBOL_GPL vmlinux 0x6e85be3a serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x6e896427 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e9a33e0 cs47l24_patch +EXPORT_SYMBOL_GPL vmlinux 0x6ea1928a __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x6ebb33e1 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ed5f854 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ee37b0f da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ee8830a mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eeb146f spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x6eec7953 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x6ef15e8c usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef96e24 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x6efc338c thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6f007ee6 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6f0aabbb locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f2de362 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x6f325f6e fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x6f4c758d call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x6f5d125b ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x6f86373b serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x6f95c2ad kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x6f9b421f lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fe152cd inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x6fecff67 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x70051534 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x700afc2f gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x701035cd ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x70313d43 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x704896a4 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x70513410 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7053ce1b extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x70671c7c eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x70680a8f devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x706839a8 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x709a7cd8 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x70aa8146 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x70b8f925 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70e33e72 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x70e85204 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x70ea9a02 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x70ff7d10 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x710482f8 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x71066aee usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x710720bb device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7124c7cd regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x71277a55 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x712b461c i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x712dac79 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x71316503 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7131b23c is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x7137e16b pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x71399abf trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x714c7f60 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x71518771 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x71519b73 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x715227b4 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x715813c3 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7164e398 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x71650819 add_bootloader_randomness +EXPORT_SYMBOL_GPL vmlinux 0x718bb453 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x7191809a devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a9773f cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x71be81a9 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x71cbf619 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x71e75eaf blk_mq_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x71f6670b __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x71feb829 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x72043852 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x72094b84 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x720d1c26 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x722ae9f9 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x7245f944 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x7247fd5c dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x724f8742 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x72544beb kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x7257440a virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x7277d23b thermal_notify_framework +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x727d3325 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x72a5b4b8 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x72b571be pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x72b80294 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x72c615dd tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x72ccd93b dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d855c6 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x72d94ef6 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x72e0ee19 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x72e7fa32 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x72f80b54 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x72fa872f devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x730d21f7 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x73105d57 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x731d0168 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x73241356 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x733183af btree_last +EXPORT_SYMBOL_GPL vmlinux 0x7335b765 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7342ded3 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x736842d3 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x738e4119 xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x73972067 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a6381e btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x73b30846 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73cfbe49 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x73e240f7 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x73efac44 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x741ed6d6 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x7435a016 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x744394ba tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x7449ac29 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x745c2ae0 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x748628d1 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x74b45bc3 dma_request_slave_channel +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 0x74cef74b nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x74d46a7a mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x74d87b97 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522b1d1 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x75264538 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x752aba97 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x754abf8d regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7561e33c usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x758b6d8e udp4_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x75957b78 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x75cbfb09 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x75d68abc sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e08844 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x75e17663 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x75e18949 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x76027cf7 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x761a4551 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x762121fe follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x764183fb device_del +EXPORT_SYMBOL_GPL vmlinux 0x764844e7 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x764a92c8 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x7665aa90 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x766b009f bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x766da412 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x767392c5 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x76744797 devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x7689ff44 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x768b3a91 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x769b46ec __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x76a2655d evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x76a59753 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x76a78d63 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x76b30e7b dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x76c17387 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x76d479d3 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e99b17 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f7ccd9 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x77202bb0 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x77285b87 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x7729cbdd task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x772cfb0a fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x7747c291 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x774f434a regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x77512399 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7773c4a9 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x7782047c crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x7795a354 devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x77adde24 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b7a69c lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x77bf93e7 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x77e600d1 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77f0c75d free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x78029666 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x781be71d usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x782c7119 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x783e319f pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x784314d6 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x784dc8f8 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x7853ca97 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7864ce4f pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x7869d80d netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x787fab14 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x788b4b4f iommu_sva_bind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x789f100c inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x78a5ba37 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x78ab9066 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x78bc102b __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x78cc8115 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x78cdec05 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x7904e47c regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x792bf3bb pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x7936b376 scatterwalk_ffwd +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 0x7957322c blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x796ed60c iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x79729ec8 dw_pcie_link_set_max_speed +EXPORT_SYMBOL_GPL vmlinux 0x7972c315 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x798a47fc regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x799272e0 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x79a7a976 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x79accbfc serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x79b7df0f screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x79c04728 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x79c120a3 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x79ca6d5e spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x79d9abb9 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79f2e8fb sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a20c1b0 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x7a254ac1 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7a3fd1ae ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7a55643d phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x7a5c32fc ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7acb3f57 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7ad17dd4 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ae0a650 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7af8b61f i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7b097802 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x7b14a60f rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x7b173e2a led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x7b26c512 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x7b295303 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x7b423050 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x7b534c18 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x7b566bc3 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b6e75c4 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9d3c11 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bbd274e sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x7beae073 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x7c015cf3 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x7c018cab usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7c1275b2 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7c181c07 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7c1d855b dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x7c2a7d7d irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x7c305f8a led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7c34986f of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x7c3a0c7c pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7c42734d br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x7c52c9f1 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x7c57421b x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x7c624765 strp_init +EXPORT_SYMBOL_GPL vmlinux 0x7c63a4aa dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7c78c1f0 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7c7f5094 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7c845940 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x7c97be16 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9f4683 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x7caf0279 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x7cc6ca01 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cdc4c53 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x7cddbfe7 cs47l24_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceea9a2 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d084f71 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2ca554 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7d2ea54c fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x7d30fcc1 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x7d34bb48 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x7d3e735e clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7d5f8776 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7d61f3e0 of_i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL vmlinux 0x7d70dbf3 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x7d74a22f serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x7d7f603b sock_zerocopy_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7d816384 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x7d94bc6d bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x7d9aea99 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x7db4462c irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x7db77a62 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7dc1e275 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7dd8a64e devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de7851c crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x7de9e3cd serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7df7ff0d adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e08d3c8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7e095af2 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x7e0f1d75 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x7e2329ce transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x7e32c69d perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x7e498690 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7e5d1ae4 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e641114 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e64d5ed skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x7e6b4d8c devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x7e71706a iommu_domain_set_attr +EXPORT_SYMBOL_GPL vmlinux 0x7e7c8f87 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e87bb93 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x7e8f8ecf ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7e96ea23 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x7ea0b6cb platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebe3cf3 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x7ec86c43 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7edcc51f stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x7ee2f870 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7ef6660f nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x7f0e2271 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x7f0f6710 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x7f22fe4e crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x7f337f26 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x7f38f40c btree_merge +EXPORT_SYMBOL_GPL vmlinux 0x7f4ba622 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x7f4ef710 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7f6ffbe7 mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f7ce1a8 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x7f7e822d rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7f920629 iomap_readpage +EXPORT_SYMBOL_GPL vmlinux 0x7fa550e0 led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fbcb9ce sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x7fcb1034 devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x7fdcaf48 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fe6834a ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7ffb8ac9 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x7ffc74fb pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8038eecf iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x80453c7c trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x804f8ff1 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put +EXPORT_SYMBOL_GPL vmlinux 0x805731d3 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x8059f746 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x805c6f28 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x806ec467 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x80866f58 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80a03353 blkdev_read_iter +EXPORT_SYMBOL_GPL vmlinux 0x80a66bcf aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x80aa951f bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x80aaaab2 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e1f18d pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x80edd321 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x80ee8ded kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x80f7d128 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x8100612a crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x8107fec6 sched_trace_cfs_rq_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8113220f firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x81154cd9 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x811d9327 icc_get +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x814a35e9 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x8153e9a4 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x8157deb3 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x81675eea crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x81813985 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x81a03e70 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x81bf4b9c synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x81ca26e4 sched_trace_rq_avg_rt +EXPORT_SYMBOL_GPL vmlinux 0x81cedf49 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x81cf0938 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x81d7c562 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x81d7c5b7 percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x81e8f4cb kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x81f4fbb2 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x81fa89b7 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x8208972e ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x8209863d fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x820ea2e8 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x8213e60b clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x82245474 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x822867f1 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x8233b8b2 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x82801635 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x82839645 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x829cd030 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x829cdc13 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x82a03b69 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x82b6bf06 spi_res_release +EXPORT_SYMBOL_GPL vmlinux 0x82c78923 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x82d518b0 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x82d5865d rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82dc599b led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x82dead67 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x82ec7b25 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x82f2f1e3 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x82fad0cd nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x82ff58f3 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x830c322a key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x833913a7 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8339afcd scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x83543dcf netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x83910dee of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x8394f0a3 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x83c9f18a bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x83e080fc phy_create +EXPORT_SYMBOL_GPL vmlinux 0x83f9fee4 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x83ff9f1b rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x840921f5 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x84106a29 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841a7f2a crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x8421d671 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x8423b841 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x84270353 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x84321b07 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x8435cb90 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x844675f3 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x844712df perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x844dc856 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845621cd xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x84a20720 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x84a61a20 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x84a6b80d gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84afc01f usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x84b1dd04 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x84cde405 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x84ce143e unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x84db9f6b crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84fe6725 skcipher_walk_atomise +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x851a874a regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x85502030 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x8564e709 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x857df3dc pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x857fad4a invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x85a49dc7 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x85b38978 percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x85b536f9 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x85bac8bd usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x861ee9b1 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86248ec5 __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x86458ce8 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x864c521b hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x8659e1c5 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x8664a0a8 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x866b6af1 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x867202c7 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x869362eb dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x86a69111 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c2ef16 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x86cb0e7b transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86d207a6 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x86d99976 arizona_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x86e3c036 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x8710340f dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x873706c0 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x87502cde nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x875582b7 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x875831bf nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87930962 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x87b2b34e __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x87cacf53 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x87e454cb dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x87f3e3f5 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x87f917ac devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x88174230 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x8847f18a udp6_lib_lookup_skb +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885dc1dd of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x8877a3a3 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x889461a3 iommu_domain_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x88996234 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x889f182e edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88db993c devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x88dfae6d trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x88e003ae fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x88ea6451 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x88ebb8e9 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x88f58bdf security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x88ff29f3 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8921e118 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8924dd12 fuse_kill_sb_anon +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892f950c pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x892fe56d rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89473fe1 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x895cd619 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x89672bbf blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x896a7e3a iommu_map_sg_atomic +EXPORT_SYMBOL_GPL vmlinux 0x896d15fc irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x8977d7ae __class_register +EXPORT_SYMBOL_GPL vmlinux 0x898258c6 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x8998213e regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x899ecef9 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c97476 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x89cd4d3d xas_store +EXPORT_SYMBOL_GPL vmlinux 0x89e79d74 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x89e97c09 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8a09a381 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x8a09c050 devm_regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x8a0b69f6 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x8a2cfab4 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a4ca92e of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a560e59 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x8a6233f7 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a7e10f8 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x8a8234b9 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x8aae0693 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ad48452 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x8ae07701 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8af20267 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x8b06c467 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x8b0a1070 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8b0c13e3 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x8b0f8118 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x8b1117a2 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b417da5 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x8b60f118 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x8b67ca35 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x8b6b9ee1 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x8b6dfb85 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x8b81788c dax_copy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x8b876634 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x8b919fe3 vfs_write +EXPORT_SYMBOL_GPL vmlinux 0x8b9c6846 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x8ba09043 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x8baf9e49 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x8bb34978 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x8bc6c6f3 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x8bd6a55a device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x8bd6c17c __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8be106d8 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8bf25e22 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x8bf75935 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c17cb7c devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x8c22bb2b fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x8c237757 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x8c2921e2 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8c479745 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x8c53c3b2 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8c5cd396 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8c5d27fa pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x8c5fb6de netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c77c726 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8c7bd877 __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8c7dc735 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8c89b485 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c9acd50 devm_mdiobus_free +EXPORT_SYMBOL_GPL vmlinux 0x8c9e2055 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x8ca5549f skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8cad40ff inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x8cb15d2f regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8cb4e4a2 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x8cc53889 devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8ccecd49 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x8cf367a5 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x8d137575 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d28a911 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8d2cc33b rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x8d323507 arizona_dev_init +EXPORT_SYMBOL_GPL vmlinux 0x8d4f2a94 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x8d5cbfd3 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x8d5fd735 phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x8d62da83 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x8d66e652 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x8d68d52c sock_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x8d696cfa max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x8da0b37d screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x8db45c4e pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x8dd72be7 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x8e1621cf fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x8e1ef584 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x8e201175 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x8e2505e7 devlink_port_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e2bd0de add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x8e32159d balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e646321 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8e796dcb usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8e878887 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x8eae8dfd usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x8ec0ac87 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x8ec2593a cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x8ec37973 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x8ecb538f regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x8ecdc711 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x8ed5cbb0 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8ede9aa2 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8ee2e2fc hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f07b979 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x8f0d442d register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x8f26149f regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f369e68 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x8f37838a fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x8f3816b9 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x8f3958c8 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8f5d277f udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x8f608b0a irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f777d02 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f823c21 __page_file_mapping +EXPORT_SYMBOL_GPL vmlinux 0x8f9add58 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8fb01d92 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x8fbf5fd6 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fcd1964 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8fd13b17 power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x8ffd790e kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x901c6c99 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x902b054f gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x90539708 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x90679a9d pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x906fae60 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x9070f11b i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x907977b5 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x9081ad64 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x9097c73b crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x90a793b4 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x90acbdc0 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b57600 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x90ddbdf4 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x90e52c04 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x912735ce regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x91301470 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x91388e15 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x9138adb3 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x91435868 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x915c73a6 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x91640cb4 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x916bffac ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x91724a5e security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x917e1f22 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x91923356 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x91a48113 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x91a55068 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x91a99cfd kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x91bbc1a3 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91cc9974 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x91ee2bfd watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x920aacca nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x923d9dba pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x92426ed1 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x924a604b sched_trace_rq_avg_irq +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x9269196f blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x926d54b4 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x926de192 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x9282f433 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x928a7653 devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x92ac18a3 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x92c42d30 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d49e31 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e7fc69 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92eb5482 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x9310ed79 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x9311d144 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x93170790 blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x931c3e55 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9323669e alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x9323f7c8 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93324f20 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x936d6989 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x93784858 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x9384cd49 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x9399d271 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x93a24b7d dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x93be58c6 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x93dea51b xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x93e8be5a dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f7a7bb blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x94008943 sched_trace_rq_avg_dl +EXPORT_SYMBOL_GPL vmlinux 0x94086840 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x94159197 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x942c9a87 generic_file_buffered_read +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x94341759 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x9437e6b3 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x94627f62 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9482a278 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94b06964 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x94b9f5c3 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x94c219d5 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x94e21970 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x94e3aa77 irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x94e7889c __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95097922 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951b2dea blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x95537f4b cs47l24_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955cd799 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x95634fbf virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x95763aa1 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x9582fd82 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x9584263c of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x95863192 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x959d3f28 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95e6d251 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x95efa1db pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x95f95c37 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x960f5a06 security_path_rmdir +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9658f551 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x966893ea pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x9669b7d9 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x966a7d3c __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x968624eb pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x9693bf61 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x969ad1ce device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x96a6cb39 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x96b9caf8 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x96c50898 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x96db0448 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x97037c43 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x9711d4c7 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9728244e irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x972e847a pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x97327a81 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x974b4bc4 __bio_try_merge_page +EXPORT_SYMBOL_GPL vmlinux 0x974cc01e of_get_dma_window +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x975c608d ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x977e44d2 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x9780d579 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x978324f8 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x978d0bfc ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x978f7b86 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x97921746 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x97a49762 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x97af72c5 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x97bb1618 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x97bbe44c icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x97c083b9 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x97dbeab4 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e7f902 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x97ecef6f usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x97f0f1c9 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x980add82 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983f9501 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x9844882e __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x985b56e7 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x986790c6 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x9871e48c of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x987520e2 usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988dc6d3 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98b1c121 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x98c8d9ff led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x98d04e11 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x98d54420 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f5eb60 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x9947824a dma_resv_test_signaled_rcu +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9976e630 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x998ea80a devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x99b8954b devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x99d98201 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x99de36db crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a0680db ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a13b1cc skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x9a167a6f crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x9a1f4efc fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a518125 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x9a59fe45 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9a5b8c0f pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x9a6dafda spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x9a72a03a irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x9a765fd8 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x9a817867 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x9a8a7e9b of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x9a94bb7d of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x9a96fa53 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x9aa04e8e gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x9ac7c5c3 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x9ad49a41 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x9ad56d2d __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x9ad58686 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b1d9177 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x9b228349 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x9b2a67d3 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x9b343bbe ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x9b495be9 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x9b4b7092 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x9b5a9509 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b7511c1 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9b896724 devlink_param_value_str_fill +EXPORT_SYMBOL_GPL vmlinux 0x9b8c7fe2 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b97bade devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x9b97d4e3 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9ba440a1 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x9bb3902b inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x9bb81e86 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9bbf283d crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x9be04e0f trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x9be9ede5 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x9bea0ddc regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9c338d50 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x9c65c9a7 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c9e5107 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9cb24bbc transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x9cb4f5cb sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x9cd68cd0 __tcp_bpf_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x9cdb85a8 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x9ce61a57 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9d09af1c clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d3b77a0 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x9d460b27 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x9d4a15de nd_blk_memremap_flags +EXPORT_SYMBOL_GPL vmlinux 0x9d50f2b9 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x9d5c2064 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x9d74453f pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x9d76089e dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x9d813225 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x9d9f661f inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9daf8653 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x9df43ed7 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9dffd4c6 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x9e02b893 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x9e1318bb relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x9e167891 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x9e1ca972 device_connection_add +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4fb707 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x9e540051 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x9e7cf24b trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x9e946f73 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x9ea624b4 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9ebe8274 of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ee19a9f iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x9ef367e3 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x9ef8690e syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x9f1adf32 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x9f258d96 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x9f38129c iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9f87d42a class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x9fcc5f7b blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x9fccc2b1 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa006678e regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xa0198e47 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa038f306 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa069057c fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xa07017de fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xa094e46e bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xa0981587 dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0xa0a65b6b scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xa0b8cfa6 irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xa0c167b5 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xa0cb2085 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa0cf494b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xa0cf6f06 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d5f11d gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xa0ddee67 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0xa0e5517b shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xa0f7e6bd component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xa111ad85 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa1130583 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa13f3392 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xa1442a56 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0xa149ece8 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xa15028b9 irq_domain_add_simple +EXPORT_SYMBOL_GPL vmlinux 0xa153f170 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa15b7d27 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xa1670a46 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xa16b6d8b virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xa17932a9 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xa18c55ef fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xa19bae18 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xa1b2de6c wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1db5583 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xa1ed9c8b add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0xa1ef7a9d call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa1f634cf watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xa203c968 devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa232cf41 __riscv_isa_extension_available +EXPORT_SYMBOL_GPL vmlinux 0xa23f684b __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xa2554a28 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa269fc70 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa27aca75 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xa27c5f73 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xa2bd25da tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0xa2dca0b8 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2eceac1 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xa2f812f9 phy_10gbit_fec_features_array +EXPORT_SYMBOL_GPL vmlinux 0xa30621bd pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xa32b8272 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xa32e24e7 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xa33184df hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xa342d0e9 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0xa353da80 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xa3586df3 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xa3669d7f bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xa36f1d4e scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa379a4ff usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa37a0a45 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0xa3802d7a tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa395b16b find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3af3a91 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0xa3b1d7cc __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c4fa24 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xa3ccdb2e inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xa3d63eb9 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa3d90baa tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xa3dee1c3 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3ffc4a7 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa42e794f arizona_set_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0xa448d6f0 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44fbefa __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa471982d dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48c76de __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4be0929 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xa4cb829c trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xa4e1654c blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xa4ee6172 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xa512563b ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa5358c88 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xa546f30f ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xa549a990 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xa54d6999 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xa569f82a device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa5757dd5 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xa581c35d of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xa5aba0f2 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xa5af9d7a thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5dff27b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xa5e95cc7 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f3512a pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xa606412f serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0xa60ece8b skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xa61e1982 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xa63f1ab5 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xa64e4a2d class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa6548b89 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xa65766a2 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa66b4554 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xa674cc0d devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xa6989603 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xa6a3238d simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6baa2f0 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa6beb6a8 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xa6ccd5dc virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xa6d5fecf iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6f0285c ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xa6f11649 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xa6f8413b wm8997_patch +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa70e91db mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xa712cf69 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0xa717bee6 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xa71abc3a mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xa73d1818 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xa7409e35 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xa747ede2 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xa7535ebe regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0xa7601ccf md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xa7753033 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xa7770f8c ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xa7789e8b __mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xa77fbf86 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa7873f37 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa7894d49 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xa789753a switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xa7a5cc76 nd_blk_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xa7c796c1 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xa7d49fae dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xa7dbf4ee ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xa7f16a2b component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xa7f2ff20 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xa7f8d8a2 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xa81bfba4 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xa81cb133 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xa821f00f rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa8325feb usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xa83ddfa4 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xa84c46bf __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa867aec9 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xa8743efa lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0xa8914804 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa89e0f82 cgroup_rstat_updated +EXPORT_SYMBOL_GPL vmlinux 0xa8b2e676 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa8bc1596 led_colors +EXPORT_SYMBOL_GPL vmlinux 0xa91d8766 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xa9279572 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa928c622 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xa92bc767 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa952b7e9 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xa96420b6 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xa96665bd gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xa966aba6 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0xa977f95a device_add_properties +EXPORT_SYMBOL_GPL vmlinux 0xa9977490 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xa999a365 user_describe +EXPORT_SYMBOL_GPL vmlinux 0xa999a6fa thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9ad1e81 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xa9b287c7 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xa9b4d67b ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xa9be58f1 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa9c1078f pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xa9cac854 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xa9e05660 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9e1fdf0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xa9edb635 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xa9fdf429 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xaa0d60dd clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xaa112621 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xaa1e1696 noop_set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xaa432dc0 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xaa439fe0 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xaa64e060 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0xaa70f02d da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xaa72054e uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xaa792a5c regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xaa85a7a4 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xaa86b867 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xaa9fa9c1 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaac43afd metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaac513f8 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xaadac6e9 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xab05bcb7 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xab28a5b7 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xab359a4e regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xab3cfdbc tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xab44487b handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xab69dad0 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xab7123af ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xab7588b6 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xab8e4675 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xab9958a7 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xabb04c48 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcfa03b __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xabe63d83 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xabf2550e security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0xabf87f5f usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xac03f4ab rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xac0cefec tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xac2a6024 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xac31406e shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xac599723 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xacac5d8b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacd768d5 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xad0ddc6b wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xad0ea09a security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xad1a70b6 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0xad1e05bc serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xad382583 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xad3fde32 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xad43d2fc bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xad4a1936 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad542462 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad653332 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xada1b8f7 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadbd10da regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc9fffb devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xadd0534f devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xadd1a79a power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0xaddc0c47 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xade02f50 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xadf634b4 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xadf9699b pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xae24ca0c devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xae2d4d20 __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xae2d8842 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xae300f53 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xae391d27 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae57ad3a spi_res_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae6650d6 blk_mq_init_queue_data +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6d02f7 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xae6ede11 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xaeb6f0be __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0xaee37b41 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xaef8250b page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0xaf057ea3 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf1326c4 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0xaf1540f1 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xaf15ceae devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0xaf232b3f ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xaf2f1bca debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf46cb5f edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaf7642be virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf85926a virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xaf8b5af9 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xafa999c7 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xafa9b0dd lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xafb4cce1 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xafb5d6e5 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xafb948ee pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xafc0ac8c relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xafc1987d vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xafc21f9d crypto_cipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xafd93f05 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xafd941b9 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xafd9d01f ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe15005 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xafe2e966 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0xaff67210 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xaff83846 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xaff84b8e gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb0077826 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0xb0172944 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb023c6c8 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xb042cb0f gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0xb04d1f7b perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb078716a pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xb08c88d9 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xb090e5d8 phy_put +EXPORT_SYMBOL_GPL vmlinux 0xb0945952 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xb0a0667e i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xb0a2ef41 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xb0a539e6 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xb0a731a8 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c326cb devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xb0c48cde usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb0d1336c xdp_attachment_query +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d9e653 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb0daac35 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xb0f49c5b pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11625b9 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb121f27f gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb14bc3cf devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb151c0ee ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb1765979 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0xb17ee8b3 update_time +EXPORT_SYMBOL_GPL vmlinux 0xb18110e0 __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xb18d6046 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xb1a00de6 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0xb1a0dc6d devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xb1a27381 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0xb1c4575c relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xb1ced7aa scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xb1dabc1e unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e7fdb7 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xb1e9ec24 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1f8889b wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb24038d3 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb28014db wm8997_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb28c76d0 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb28f58ec devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb29c210a sock_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xb2aca378 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2df66f1 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xb3017200 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb3098894 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xb310b4f3 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xb3155b8e genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xb3380378 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xb3398d6b crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb339ca34 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb3483b78 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xb35390b5 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb359f50b fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xb35c9268 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb36af55d icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0xb392ed0a ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xb3a0733e of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xb3a4d99e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xb3ad931a pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xb3dd1151 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xb403634a vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xb407c1df percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb40c6376 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xb43d9d1a pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb453d232 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xb4557061 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb47cd743 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xb482c984 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xb4888260 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4913e56 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xb49de221 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xb4a1fb48 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c04e0f rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xb4c618a3 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xb4ca0f41 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xb4d175fb pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xb4d9bb71 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb4e0e635 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f8a764 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb5100715 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53dcb4e blkdev_write_iter +EXPORT_SYMBOL_GPL vmlinux 0xb53ebfdc rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xb54d0bf8 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xb572ce34 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xb59f199c dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xb5cdac33 crypto_ahash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xb5d5b9f7 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xb5d86b7e usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xb5da2fc3 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xb5f1c296 phy_init +EXPORT_SYMBOL_GPL vmlinux 0xb624f416 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6262794 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xb62fcfcf icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0xb634b1b1 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xb6351d55 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0xb643ff0e blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xb6495b58 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xb64990cd noop_invalidatepage +EXPORT_SYMBOL_GPL vmlinux 0xb66318f4 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xb67412bb devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb697379e irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xb6a00f07 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xb6a48eff pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xb6b24c7c sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xb6bd34e9 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb6c4a61f gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xb6decf3d devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xb6dfeaee devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6e79157 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb6ea1bd9 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb6f939e4 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb6ffad9c page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0xb70494b7 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0xb71aa577 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xb726696d wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xb72d7952 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb743f8dc debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xb765accc usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xb768ff64 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xb77098f1 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xb7716a8e pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xb7853f43 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0xb786009a rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xb7866ff2 regmap_add_irq_chip_np +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a65dbe devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xb7b0b5b0 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xb7b280d6 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7dc91ad iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xb7eccda8 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xb7f8917c tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xb807fe56 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xb80b8301 __sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0xb80d3da5 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xb8194f03 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb8212341 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xb822b87d kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xb83221cd ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb847585f is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xb854bd8e phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0xb8752e4d __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb875e36e kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8926a03 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xb8aa942e crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb8c022b6 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xb8c0da4e ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xb8c607b5 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d8d98a regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xb8e91921 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xb8fa66a7 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xb91cc52a trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0xb942b6c8 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xb948843a kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0xb9494c4f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xb9512289 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xb952f600 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xb95559bc housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb95dbf06 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb97e018a serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xb9888b69 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xb988f095 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xb99ab007 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb99d533e inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xb99ee531 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xb9a93154 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bb053a btree_update +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9cbee7d fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d822bc rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xb9f45ea4 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0xb9fbe093 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xba2bd125 phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0xba47aae9 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xba4f9cc3 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xba5dae99 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xba69c22c dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0xba86a73a desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xba91db28 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xba9427d8 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xba9adddc vfs_readf +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbad38eea validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xbad92dac fork_usermode_blob +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafe26cd xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb34aa42 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xbb46ec36 get_device +EXPORT_SYMBOL_GPL vmlinux 0xbb49b7b1 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xbb4c7570 pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xbb5c3844 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xbb692a8f of_reserved_mem_device_release +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 0xbb8e892d dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xbb9bf7f1 ip_tunnel_get_stats64 +EXPORT_SYMBOL_GPL vmlinux 0xbba91f9a wm5102_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbbbda908 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xbbbe988a pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xbbbeae4e usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xbbc32b41 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xbbd0e631 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0xbbe7a7bf request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xbbe9d71b trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xbbfbcceb path_noexec +EXPORT_SYMBOL_GPL vmlinux 0xbc360ab6 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xbc4fa9fd set_capacity_revalidate_and_notify +EXPORT_SYMBOL_GPL vmlinux 0xbc5fa7fd rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xbc68616f get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc8573b8 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xbc883936 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xbc934200 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xbc95bd47 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xbcaaff48 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xbcad4eeb stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xbcb99644 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xbcbd179e tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc27086 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcdec696 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xbce615c4 devlink_flash_update_end_notify +EXPORT_SYMBOL_GPL vmlinux 0xbce7bc25 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xbce958bb phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcf51f54 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xbd018234 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xbd17da0e phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xbd1adf71 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xbd1ba712 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xbd2800ed bio_disassociate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xbd30b738 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xbd31b9d1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xbd334c05 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xbd382003 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0xbd39845f __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd44e0aa crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbd4e199e device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xbd545d7e usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xbd84b4ed dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xbd8d0d78 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xbd9321d5 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xbd9648e4 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xbda74854 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xbdb2e529 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xbdbb78f0 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xbdec1ad5 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xbdfe692b device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xbe1a5314 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xbe242b56 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xbe34f913 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0xbe452e29 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xbe58e528 security_path_link +EXPORT_SYMBOL_GPL vmlinux 0xbe622ad1 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe702574 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe881280 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea20312 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xbea3fb03 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbec9d37b css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xbedf8f59 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xbee07f68 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xbefa89c2 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xbf016859 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0ff0c2 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xbf122a1a platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xbf1da9f6 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xbf34f113 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xbf3eb3a6 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xbf566d0f iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf5b8942 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xbf6abbe7 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf6cf332 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xbf739099 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xbf79d1c6 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbf8123b4 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xbf89998a xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xbfa34b83 xas_find +EXPORT_SYMBOL_GPL vmlinux 0xbfa54650 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfc9b9da pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfec0039 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0xc00cf79a ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xc011d95a phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xc09eaaab key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b315c1 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xc0d72596 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0fb1e8d fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xc0fe438d spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10af499 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xc10d07e6 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc110e6c8 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xc1224b4e srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0xc132985f uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0xc1409408 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xc14862c1 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc15e0314 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xc1619aa5 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xc1665190 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17d5730 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0xc1879fc5 xdp_attachment_flags_ok +EXPORT_SYMBOL_GPL vmlinux 0xc18bd5aa gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0xc1b7d0ae fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xc1d2d2e7 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0xc1e18cd8 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xc203d955 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xc20a8b7f devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xc21971f7 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0xc21b3cca devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc23c7350 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xc26de6f3 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc28351d7 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2aee250 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xc2b55e0f crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xc2dd6b27 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xc2df43a0 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xc2ec4ff4 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc2f2780e mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xc2fa9322 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xc30623e8 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xc30b968d device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xc311cbdf perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xc31c1d43 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xc333df8e eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xc33a40bb rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xc33cd4e9 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc3438b19 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xc34c9018 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xc356e8e8 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xc36007cb of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xc367f6a8 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xc377ecc4 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xc37bb934 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc38ffe55 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xc3a87bcf extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc3b78e8e phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xc3b7f580 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xc3c0d624 arizona_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xc3c25262 to_nd_blk_region +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e8f2d0 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f5cf54 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc404df74 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xc4175d97 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xc41aa38e ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc42f6ba6 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xc4314749 irq_domain_set_hwirq_and_chip +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 0xc4796ef7 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xc4851a0f gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4a0f956 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ab57ca devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xc4afaa01 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0xc4b28a1b wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xc4c689ec devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fc1456 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xc4fe5340 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xc504bbc9 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xc5103327 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc527dc8e elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xc53d6e67 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xc5432831 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xc5483e6e usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xc54f2043 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xc54f5842 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc5592efa vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xc55cf2e4 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xc55ff962 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc567666e iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xc568a072 device_link_add +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 0xc580ad11 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5996c8c pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xc5a344d3 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc5a4e13b dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5ba7dd8 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xc5c1fa1b hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xc5c73071 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0xc5cf7be8 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xc5dea91e da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xc5e4e8da setfl +EXPORT_SYMBOL_GPL vmlinux 0xc5e835c9 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc5e96493 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0xc60e4566 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc61dab57 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xc622725d adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc637d448 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xc6452e28 iommu_aux_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xc6487402 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xc654d3f4 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0xc65c3e6c usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xc65de51d usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc673d0c2 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc68c9b34 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xc68d82c4 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a393f2 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6a83973 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xc6c56632 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xc6ce864b sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xc6d42fcb crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xc6da836a PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xc6e61363 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xc6e9f8bc usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc701e316 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0xc70d7f60 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field +EXPORT_SYMBOL_GPL vmlinux 0xc72e7cfc anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xc74a7e9b debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc758fb99 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xc7636c05 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xc78cb6a2 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc78d8af0 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xc79ee743 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7aa3327 wm5110_patch +EXPORT_SYMBOL_GPL vmlinux 0xc7bb2348 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0xc7e68aa2 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xc7eb5f62 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc80aab1c handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0xc822a7b7 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xc827dc8b devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82d6587 device_remove_properties +EXPORT_SYMBOL_GPL vmlinux 0xc82f0909 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc85e6029 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xc87346ae pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xc87db75a devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xc89aa141 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xc8a07989 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xc8ad46a2 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xc8ae8277 arizona_of_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc8b358e7 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xc8b687e7 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc8c6c545 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc90ae499 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xc911ed3d __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9133136 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xc92f4129 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xc933669e handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc942de74 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xc94d11d2 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xc9517431 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9591d11 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc96c58d1 devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc99c6c0f module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xc9aa8036 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc9b01b2f crypto_cipher_encrypt_one +EXPORT_SYMBOL_GPL vmlinux 0xc9bf69bf regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xc9ccebb8 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xc9d6468d sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca138548 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xca286da1 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xca2fa83d xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xca3ab270 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0xca441ee2 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xca45df16 devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca57e84f of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0xca70ef09 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xca7854e4 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca842f7a usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xca90cb59 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xca9506cb usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcac8bfa6 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xcad041ab spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xcadac4e2 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xcadc99b2 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xcade6d41 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xcae8533a synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xcaee2dff skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xcaf37cd1 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0xcaf9016d blk_ksm_init +EXPORT_SYMBOL_GPL vmlinux 0xcb0acc17 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xcb0efe5a dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb337537 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xcb39b74d fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xcb461cf7 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xcb48a547 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xcb592a9d gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xcb5a258e rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0xcb6d4b0b debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0xcb6fcf78 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xcb749fec pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xcb79dad1 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0xcbae09cb inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcbb13b9c devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xcbd38274 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbeee3a1 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcbf3f19d ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xcc18fa2f pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0xcc1b95f3 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xcc27dff8 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc4ccacb blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc7f5052 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xcc81ce42 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xcc825223 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcca037bf __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xccb540ab strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd484a3 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xcce89943 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcce8b8f5 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xcceb3e57 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd06b71a bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xcd0fb0b6 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xcd1d081c xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd35ee76 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0xcd3efe07 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xcd4bca89 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xcd5b7923 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7007f8 crypto_default_rng +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 0xcdb6489a clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbdeef8 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xcdbe2da1 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd9a0b5 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xcdebddce rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xce2d1061 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xce4d3158 blk_ksm_register +EXPORT_SYMBOL_GPL vmlinux 0xce4e30cf xas_load +EXPORT_SYMBOL_GPL vmlinux 0xce5ed65f __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xce5eef28 iomap_dio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xce614b88 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce9406e7 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xcea6e04f regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xceaa4b19 alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee2813b scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceebc575 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0xcf074c65 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0xcf12de7a sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xcf1960f7 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xcf1aa14f serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf3a238a clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xcf54ea93 async_unregister_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf5b2424 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xcf7e2b31 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xcf91e000 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xcfa6e620 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc59fb4 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0xcfc7ad33 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd793d4 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xcfdf284d inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xcfdff0f8 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xcfe0dcd7 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xcfe6a337 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0xd00732a3 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0xd00d09a8 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xd01b59fe thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xd01ee722 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd02237f5 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0xd02333d5 nvm_set_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd047611b event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xd04b10b2 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd072aed3 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xd075bbfb iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xd0bfec3e led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0ed7bff uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xd0f26c93 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0f88a45 device_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0xd0f8a883 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xd1043cb9 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xd107332a mmput +EXPORT_SYMBOL_GPL vmlinux 0xd10f0603 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xd112fd26 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd119573b phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0xd119e31f crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd11f3b38 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xd1242fd9 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xd139c987 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd149f0f0 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xd190eb3a riscv_cpuid_to_hartid_mask +EXPORT_SYMBOL_GPL vmlinux 0xd19da18b nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd1c25e93 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xd1c3c954 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd1c4be64 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d54570 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd201b19a kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2116286 iommu_sva_unbind_gpasid +EXPORT_SYMBOL_GPL vmlinux 0xd217e397 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd2261ac1 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd23f6225 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd24070d5 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xd24f1e50 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xd25b3dc8 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd261a8be crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd292c162 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd2aa2c36 fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b6559e ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd2dd4812 phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xd2ef020a __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xd2f12067 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xd2f7abd0 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2f863e7 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd2fe2167 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd32384ca sock_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xd3257f64 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xd33910a4 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xd33cc002 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0xd343868a ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xd34cc72d mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xd353d1a5 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xd362c098 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd390567c sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a64b06 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xd3a6f984 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xd3aef0fd wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xd3cfaecb gpiochip_set_nested_irqchip +EXPORT_SYMBOL_GPL vmlinux 0xd3ddeb67 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xd3e97c21 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd3f8f3f4 page_poisoning_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd408c60d wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd4120388 dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0xd4152203 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xd421fb4c fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xd42af1d0 fsnotify_get_group +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd45c625e pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xd465dff0 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xd46eaaf4 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xd4957666 rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c6fc1a devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0xd4d05d0e io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd4e3affc sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f61478 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd4ff4624 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xd50e2b6f crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd5168f3d alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0xd51f2d60 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53a812b regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xd55409ea crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd55b0b8e tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd55cb4a4 blk_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xd56a6532 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xd58d8943 kill_device +EXPORT_SYMBOL_GPL vmlinux 0xd592fb97 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5aab1cd smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xd5b1c147 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xd5b3b19d netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xd5be9827 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd5c7975c of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xd5de2967 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xd6230e30 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xd623161c __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd6273631 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xd6373577 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd63ce82a __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd667e0aa lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd673924d dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xd675d57e icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xd675e15e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xd6852042 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xd6cecaf6 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xd6d57b4e netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd709203a fwnode_graph_get_remote_node +EXPORT_SYMBOL_GPL vmlinux 0xd7097436 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xd70b1853 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0xd7115717 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xd74e392c devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75df0eb thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77b327e balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd7930c88 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd79b7056 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xd7a39306 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xd7a40118 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd7b35e7f dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0xd7b89d59 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xd7b9421f netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xd7bd95b6 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xd7c19c26 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d3080b crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xd7da5ccb of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0xd8041ad7 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xd8339f33 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xd846c863 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xd8484068 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xd848d59a blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd8593c0e page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xd877be3e fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd890a821 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xd89dedd6 devm_regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8ade657 rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8c073ab sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xd8c37dbb max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xd8c49e15 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xd8ca48f4 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xd8ce112d __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd8ff470f scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xd90846df iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0xd91fbc9c genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0xd9255060 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xd92a985e blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xd9302ed2 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xd939fbb9 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xd94bd52b device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xd953b947 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xd95fb430 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xd9655417 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd97f0eff platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xd98e024d tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xd9a95a2d iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xd9af6d09 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xd9b5c866 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xd9c3b70a rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xd9c4db83 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0xd9d9980a scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e606d9 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xd9e96c82 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xd9eaf88e fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0xd9f3e65f __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda1129c8 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xda1a05be pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xda21bc15 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3ee720 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda4e97ca devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda5d8460 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda6aa882 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xda743a78 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xda7f5049 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda9122a0 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xdaaea153 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab76577 nvm_get_chunk_meta +EXPORT_SYMBOL_GPL vmlinux 0xdabb5c19 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5c16e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xdaf6ee7e bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xdafcdc3a ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xdb03e29a dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xdb0562f8 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xdb25da3e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb2f2d41 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb36776b dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0xdb4dea94 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xdb5ab578 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xdb5f0a58 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xdb749ca9 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8d0cda crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xdb929290 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdba9c13b exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xdbb327d5 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xdbbb2ff8 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xdbcb1c3b devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xdbe4d41f devlink_net_set +EXPORT_SYMBOL_GPL vmlinux 0xdbf16169 iommu_domain_window_disable +EXPORT_SYMBOL_GPL vmlinux 0xdbf50b3f shash_no_setkey +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc075d09 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xdc169fe2 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xdc1cd302 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xdc2d8845 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xdc410075 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc544b31 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca85f88 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xdcad902a srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdcc2e6f0 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xdcc408d3 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xdcd4bfbc pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xdcdd943c btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xdce16640 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xdd060504 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd0e7abb ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xdd0f85da platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0xdd177fcc perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xdd1c8b78 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdd23f730 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xdd29928d pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xdd35ebc1 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xdd36cf7e xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xdd391eff profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd4327f6 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdda40061 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdda64ab3 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xddbda4bc regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcb94d2 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xddd6a7be devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdded858e serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xddef0726 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xddf3b353 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xde0bb887 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0xde0e53e6 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xde11505c pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0xde1d7c82 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xde25f88c __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xde3debd5 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xde3fe749 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xde50ab6b devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0xde598921 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde72b2f4 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xde9d4cae blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xdea9919b kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xded0d736 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xdeda5321 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0xdedbcd25 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0xdeef1f96 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf04cd27 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xdf05d2de __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0xdf0a04a9 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xdf0f3845 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf255dcf memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf2bfa4f sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xdf350bb6 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xdf3e7f32 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xdf477818 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xdf4dcee9 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xdf50274c dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xdf6af4ed virtio_config_enable +EXPORT_SYMBOL_GPL vmlinux 0xdf7fa33b __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xdf82251c sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xdf9208c0 alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xdfb90302 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfec765d skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xe0037517 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xe007fb38 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xe028685d blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xe033ef6e rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0664ed0 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xe08e3f3c dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xe09a9e93 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xe0a65734 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xe0a8c4af regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xe0b11f53 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0f89b20 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe115d0ca tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xe124d012 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0xe126553f __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0xe14fc12d tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe1502545 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xe15b4b6c perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xe15cd038 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0xe162ecc0 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe17a43a9 do_splice_from +EXPORT_SYMBOL_GPL vmlinux 0xe1906f10 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c63523 blk_ksm_get_slot_idx +EXPORT_SYMBOL_GPL vmlinux 0xe1c6f155 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xe1cfa261 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xe1de3b5e cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xe1e90e7b sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe1e98b54 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xe21b1060 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe21eff43 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0xe22301bf devprop_gpiochip_set_names +EXPORT_SYMBOL_GPL vmlinux 0xe232a22b tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe261e79b balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xe26e010b skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xe2712d37 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xe28eb822 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2c196fe tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0xe2c57aaf rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2cf170e device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xe2dca308 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xe3015246 of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xe301a4fd iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30a2de2 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xe311e1d8 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xe347dfc7 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xe35521c9 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xe362f465 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xe37b76e1 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xe37ee0fb ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3ac1a15 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xe3c1c069 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe3dbcb69 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xe3e6d38f usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xe3fab5f9 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xe4002717 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xe40ac2ca __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe40f808f irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe4154b5c devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xe416e813 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xe418c4ec skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xe429dcc4 dma_buf_pin +EXPORT_SYMBOL_GPL vmlinux 0xe438fbee relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xe43f3506 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xe481a728 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xe49233a3 devm_pwm_put +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 0xe4bd33e1 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e609d3 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe4fca6f1 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xe50ceeb2 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xe51420b7 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0xe51533f1 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xe523751c ref_module +EXPORT_SYMBOL_GPL vmlinux 0xe527b829 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xe534d371 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xe540015b driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xe5463899 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xe58631ee devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe586f8bb __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59d924e debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xe5b78858 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xe5c21710 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0xe5ce4bf1 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xe5e34182 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xe60088f6 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xe601125e devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0xe605b9dc power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe6067786 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0xe6171b6b devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xe619eded ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xe61a2cd9 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe65b5dd2 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe660af04 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xe66c978c get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0xe6739145 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xe6740ac7 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xe67cf048 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xe692ac26 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xe696398b xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xe69e624a set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0xe6a1981f irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6c7eaa3 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xe6cd7fee attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xe6dc16ca usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6ed4db2 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xe6ee842f hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6f192ae fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xe710d702 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0xe71bc4c2 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xe71d5b1f noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xe73cc47b blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0xe7415274 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xe742072b mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xe74fb45c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77c0f4e wm8997_irq +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7859f82 iomap_releasepage +EXPORT_SYMBOL_GPL vmlinux 0xe79ff7ef vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xe7b6b014 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xe7c3ccb3 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xe7c5cd49 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xe7cea5c8 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7dbb838 nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0xe7e77b10 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xe7eee3d5 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe809cffb ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0xe816791b genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81ddad6 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0xe8251749 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xe83d61d9 yield_to +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe8534ce9 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xe8567380 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xe8664334 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xe8806735 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xe8851c13 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0xe8957fbb __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0xe8bbd3b4 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xe8c5056f devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xe8d59975 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe8d71cf3 blk_ksm_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe8dba4a8 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xe8de1b05 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xe8e58c39 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xe905e3df regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xe909d1fc mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0xe91bdc78 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94810d7 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0xe94870e0 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0xe9630822 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe977e1e1 __fput_sync +EXPORT_SYMBOL_GPL vmlinux 0xe98af0db bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xe9af74a8 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d221d6 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe9d26bc5 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xe9e042c6 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0xe9e54b39 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1de1f2 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xea1f6e0e hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xea29d89c da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea38445f bus_register +EXPORT_SYMBOL_GPL vmlinux 0xea3922fa tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xea551f9f adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xea5af41e virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0xea614996 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0xea7ef5ad regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xea88c866 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xea987efc bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xea99e9c3 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xea9ac3e6 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xeace0b45 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead8cbf4 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae2f862 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xeae5e762 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xeaeea844 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xeafe07b8 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb1b67db tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xeb20c009 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xeb2d3e52 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xeb3c8d73 wm5110_irq +EXPORT_SYMBOL_GPL vmlinux 0xeb3cca0b xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xeb63cddd pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xeb6aaf36 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xeb82ccd3 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xeb8f245b iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xeb984161 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb9e66f7 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0xeba2fe22 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xeba3f874 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xebbe1622 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xebc77b0d ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xebd495a1 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebe9483b ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xebf5d4cc __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec0153f0 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xec15e670 sched_setscheduler_nocheck +EXPORT_SYMBOL_GPL vmlinux 0xec17e373 spi_statistics_add_transfer_stats +EXPORT_SYMBOL_GPL vmlinux 0xec2cf715 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0xec4ab9e4 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xec4fb039 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec68ba70 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xec7619a8 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xec80cc4c phy_get +EXPORT_SYMBOL_GPL vmlinux 0xec9648d4 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xec9b5aa3 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xecab5e3b of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xecafd08c pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xecc3ec69 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xed0055a7 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xed177284 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xed18f982 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xed19434a dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xed1cf63f bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xed1d455e firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xed245e7b ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xed274fd1 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0xed2fa183 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xed3cade3 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xed3eca34 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xed5791bf blk_poll +EXPORT_SYMBOL_GPL vmlinux 0xed57cada __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xed6b8f7b init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xed6dd3d8 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xed79a29a usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xed867979 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xed8bbe99 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0xed96fe25 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0xed9a54fc sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xed9c5f54 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xeda2aa5a fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xedc83295 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xedce8492 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xedd8ca64 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xedf73f83 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xee0a933e of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xee1329cb dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xee1a357d component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xee225579 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3fd837 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xee58a0d4 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6cf8ca edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0xee81453e tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xee8d1d87 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xee928796 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xeea9b7d4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeeafcee3 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xeeb8dfc7 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xeeb9d346 mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xeec12aa6 dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xeec27171 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xeec4ff04 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xeed9b912 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfcec3 task_work_run +EXPORT_SYMBOL_GPL vmlinux 0xeef800f9 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xef0dbf2c edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xef162880 bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xef26f01e clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xef27ac78 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2d249c dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0xef35b309 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef6d13cf do_truncate +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef797af0 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xef7bbb6a xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xef91996a platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xef9279aa udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xef9a5f57 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefa4575c simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xefb093f9 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefc40fa1 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xf011ec5d dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xf0209264 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xf0210a9d devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0329832 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xf0462c99 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xf0484b55 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xf04f08d0 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xf0518cca lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf07b55fa mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xf07dbf12 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0xf07fd721 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0d32b43 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0xf0dc92cb pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0xf0ea7fa4 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xf0f21cf9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xf1113d75 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xf1361941 pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0xf1510afb usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xf160e239 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0xf1687123 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xf16c813a fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xf16dd651 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf1719793 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xf1741ce8 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1b0a7d7 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xf1b2f072 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b3b9f5 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xf1df87e5 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xf1e7c121 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xf20fc698 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf21487d2 of_find_spi_device_by_node +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf23c1a2d __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf2489dd4 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0xf257e638 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf2624b5f ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0xf264825e ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xf2661220 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xf276f63b ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2eb6124 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xf2eea476 pcie_has_flr +EXPORT_SYMBOL_GPL vmlinux 0xf307dfad virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xf30940d6 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xf309fbc7 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xf30a81eb tpm_pm_resume +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 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf340fbc0 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xf3458656 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xf34707db platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf3505ddd pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xf374e1e6 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xf37f95c9 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3897a7d mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xf3a07092 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf3a15582 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xf3a7368d addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0xf3ad316b espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0xf3b06d75 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3bafc42 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xf3d682f0 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xf3ea8cb2 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xf3f6cdd2 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xf3f8d9da bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0xf4034193 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xf4373a22 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xf4409065 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0xf453c644 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0xf4585b65 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf47eaad2 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xf48ceebd net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4c14591 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xf4c39f23 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf4c4fa35 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xf4c842b1 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xf4da71b3 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xf4dbe3e9 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xf4dd60b9 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf4f703b8 __set_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf4f9d706 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xf4fc962e nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xf501cad7 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xf50c0acf rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xf5121879 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xf5183f46 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xf5373cba rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf557e9b6 page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf5698380 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf56a7195 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf56dcf0c devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xf5782284 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf585a6d7 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xf58628cf dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ba0b09 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xf5c18f48 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xf5d7eb5a register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0xf5f2820b spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5fd0e40 security_file_permission +EXPORT_SYMBOL_GPL vmlinux 0xf61baa65 pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf61fba11 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xf6230044 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xf631b47a platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xf63e9f56 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0xf64ff058 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xf65461f8 lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0xf65ce73f sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf65d316c pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf67d1368 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0xf67d1639 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf688d69f ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xf689058e nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xf68cf4c7 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xf6954077 spi_res_add +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a79b4c nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf6a7ee02 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6cb53fc clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0xf6d82b2c sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6e8cad9 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xf6ecd2ec sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6feb9a5 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xf72358ea ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xf7283afb ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xf7350573 fsnotify_init_mark +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 0xf75cc4f4 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xf75dc4c6 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf75e30ab crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xf78f241a device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xf7a2687e user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0xf7a32829 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0xf7ab55dc ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf7b70b2d of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xf7bb64cb device_move +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7bd0196 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf7bdbb63 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7d66ad4 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7e85973 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xf7eeab5e regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf7f49a52 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xf808da94 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xf80b7129 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xf8166c98 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xf8272397 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf8345009 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf834c26d housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf84010e3 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xf84ed30c phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xf857119b fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf86163c9 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xf864c498 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xf866adbb ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xf86cc619 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xf8747c27 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xf8788ca8 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xf87d5785 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xf880cf6b sk_psock_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf891ded6 wm5102_spi_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf89fcbeb iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xf8a0556c dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0xf8c55566 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xf8d5f89d fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf8ec8672 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf90173d9 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xf9104eb1 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xf91d72a2 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xf93066ab crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xf932015f __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xf93282da device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf94652d1 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xf9503da2 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf9544582 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf95eabd7 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xf966de36 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xf96c987c key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xf9915251 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf99d1041 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf99dea0f devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ad97ac rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf9bded3f fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf9c74fb7 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0xf9d4d7a2 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xf9f0e1a4 iommu_cache_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xf9fad15d icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xfa17c0dc find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xfa192b69 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xfa19b285 shmem_zero_setup +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa30ab1b subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xfa428972 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xfa4ae12b i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xfa5712bb debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa690589 netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfa7d9ac9 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0xfa83a9a4 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xfa86535c mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0xfaa000cc device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xfaa93d12 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfabfc3ad mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xfac7cd3d blk_ksm_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xfad27b3e irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xfad77f0d sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfaecc924 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfb21999b __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xfb232f06 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xfb243075 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0xfb293da0 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3e12f4 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xfb5b56a8 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0xfb73d304 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0xfb740532 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xfb77befb atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfb798dfe pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xfb819760 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xfb94d00f __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xfb94f4ac dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xfb9b1880 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xfbaf3594 of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbbe782b tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xfbf752c8 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xfbff7740 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc08b3bb hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xfc0ddac0 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xfc108a89 of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc19bc45 crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc3973d8 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xfc3d8910 of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0xfc49f5f5 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xfc4bc28e badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xfc5533e9 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0xfc73cb88 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xfc7df962 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xfc8289a3 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xfc829bc8 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfc97820d power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xfc9cfec0 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xfcacc33c kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xfcd1a548 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xfcf364d6 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xfcf41632 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xfcfc25eb gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xfd0239ba posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xfd0d28a7 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xfd1f7d86 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfd238474 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xfd329062 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0xfd422205 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xfd61664a ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xfd75da9e pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xfd78bc9e blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfd82bfbd reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xfd9c57f1 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xfda7b192 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdcf9129 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xfdea746a subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xfdf524d9 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xfdf637af dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfe1eba6f nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xfe230394 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xfe301cd7 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xfe32265c generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe48eecb __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xfe4a4c03 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xfe4e6908 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0xfe69325f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0xfe743ec7 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xfe76978d regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe934cd1 spi_set_cs_timing +EXPORT_SYMBOL_GPL vmlinux 0xfe94bb56 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0xfe975d8b crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfea4995a rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xfea8f61e fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xfec613d5 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed2ed25 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfef9f28a irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfefd92dd usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff35abe6 security_path_symlink +EXPORT_SYMBOL_GPL vmlinux 0xff4b5ba6 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xff4c263e regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff622dba hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xff6720c2 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xff6c92f2 __rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff89e7f3 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xff8e06ed dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0xff9f275e fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xffa5f147 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xffab6370 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffb38a9b fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xffced6b7 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xffd1123f save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xffea0f5b ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xfff855d8 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xfffc87c3 devm_of_phy_get_by_index +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +LTC2497 EXPORT_SYMBOL 0x67a05947 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xe3c60548 ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x2cab576a mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x477ea6fc mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5031e9b7 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x53f5837b chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6a863cf4 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x78134bbd mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7cd30afe mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7de56942 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x8b660fec mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa503cf84 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xcc353727 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xdd16c86a mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe47a0dce mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xf9b15aeb mcb_bus_add_devices drivers/mcb/mcb +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1e717f64 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x25307551 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x321b029b usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x331eefcf usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x362e4d87 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3829d0ef usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5603097b usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5719ed64 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x57c24161 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6180883b usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x95d9bfc5 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x970b649a usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb1938f8b usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xbdcbffde usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc0069ef4 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcd72d5e0 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd1eb6208 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd3b4a4ba usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe908922b usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xee910376 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf0d84be3 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage --- linux-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/riscv64/generic.compiler +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/riscv64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 10.2.0-13ubuntu1) 10.2.0 --- linux-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/riscv64/generic.modules +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/riscv64/generic.modules @@ -0,0 +1,5285 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +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_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +ab3100 +ab3100-otp +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 +ad5064 +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 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +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 +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 +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 +adm1275 +adm8211 +adm9240 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +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_drm +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl34x +adxl34x-i2c +adxl34x-spi +adxl372 +adxl372_i2c +adxl372_spi +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 +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-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 +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +android-goldfish +ansi_cprng +anubis +anybuss_core +aoe +apbps2 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arc-rawmode +arc-rimi +arc4 +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +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 +asc7621 +ascot2e +ashmem_linux +asix +aspeed-pwm-tacho +aspeed-video +ast +asym_tpm +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +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 +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-flexcom +atmel-hlcdc +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +aufs +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +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 +backlight +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bcm-keypad +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm7xxx +bcm84881 +bcm87xx +bcma +bcma-hcd +bcmsysport +bd6107 +bd70528-charger +bd70528-regulator +bd70528_wdt +bd71828-regulator +bd718x7-regulator +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 +blake2s_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +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 +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs-drm +bonding +bpa10x +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq25890_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmsmac +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +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_wdt +cafe_ccic +caif +caif_hsi +caif_serial +caif_socket +caif_usb +caif_virtio +camellia_generic +can +can-bcm +can-dev +can-gw +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 +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-dsi +cdns-pltfrm +cdns3 +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +cfspi_slave +ch +ch341 +ch7006 +ch9200 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +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 +cirrus +cirrusfb +clip +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-rk808 +clk-s2mps11 +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-twl6040 +clk-versaclock5 +clk-wm831x +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_tcindex +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobra +coda +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_parport +comedi_pci +comedi_test +comedi_usb +contec_pci_dio +cordic +core +cortina +cp210x +cpcap-adc +cpcap-battery +cpcap-pwrbutton +cpcap-regulator +cpia2 +cqhci +cramfs +crc32_generic +crc4 +crc64 +crc8 +cryptd +crypto_engine +crypto_user +cryptoloop +cs3308 +cs5345 +cs53l32a +csiostor +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 +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cyclades +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +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 +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 +des_generic +designware_i2s +dfl +dfl-afu +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +display-connector +dl2k +dlci +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-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 +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dpot-dac +dps310 +drbd +drivetemp +drm +drm_kms_helper +drm_mipi_dbi +drm_panel_orientation_quirks +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 +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-i2s-audio +dw-i3c-master +dw9714 +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 +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 +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +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 +epic100 +eql +erofs +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +ethoc +evbug +exc3000 +exfat +extcon-adc-jack +extcon-arizona +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 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +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 +fb_watterott +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fixed +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +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-mph-dr-of +fsl_lpuart +ftdi-elan +ftdi_sio +ftl +ftsteutates +fujitsu_ts +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_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 +gdmtty +gdmulte +gemini +gen_probe +generic +generic-adc-battery +generic_bl +genet +geneve +genwqe_card +gf2k +gfs2 +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish +goldfish_audio +goldfish_battery +goldfish_events +goldfish_pipe +goldfishfb +goodix +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-arizona +gpio-bd70528 +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-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +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 +grip +grip_mp +gs1662 +gs_fpga +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 +gtco +gtp +guillemot +gunze +gve +hackrf +hamachi +hampshire +hanwang +hci +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hdc100x +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfs +hfsplus +hi311x +hi556 +hi6210-i2s +hi6421-pmic-core +hi6421-regulator +hi6421v530-regulator +hi8435 +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-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-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +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-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-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +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-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-waltop +hid-wiimote +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +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 +hwmon-vid +hx711 +hx8357 +hx8357d +hyperbus-core +i2400m +i2400m-usb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-cbus-gpio +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-i801 +i2c-isch +i2c-kempld +i2c-matroxfb +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-xiic +i3c +i3c-master-cdns +i40e +i40iw +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 +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 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imon +imon_raw +ims-pcu +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +imx6ul_tsc +ina209 +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 +input-polldev +inspur-ipsps +int51x1 +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 +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iowarrior +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 +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 +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs62x +iqs62x-keys +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 +ir38064 +irps5401 +irq-madera +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isicom +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +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 +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khazad +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpc2000 +kpc2000_i2c +kpc2000_spi +kpc_dma +ks0127 +ks7010 +ks8842 +ks8851 +ks8851_mll +ksz8795 +ksz8795_spi +ksz884x +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +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 +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +ldusb +lec +led-class-flash +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-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-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-regulator +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-usbport +lego_ev3_battery +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libblake2s +libblake2s-generic +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 +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +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 +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 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +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 +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +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 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +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 +max77802-regulator +max77826-regulator +max8649 +max8660 +max8688 +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 +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 +mceusb +mchp23k256 +mcp16502 +mcp251x +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +md-cluster +md4 +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 +mdio-xpcs +me4000 +me_daq +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 +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microtek +mii +minix +mip6 +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlx90614 +mlx90632 +mlxfw +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mlxsw_switchib +mlxsw_switchx2 +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_hsq +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_sound +most_usb +most_video +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp5416 +mp8859 +mp886x +mpc624 +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_common +msdos +msi001 +msi2500 +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6323-regulator +mt6358-regulator +mt6360-core +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +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 +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 +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +n_tracerouter +n_tracesink +nand_ecc +nandcore +national +natsemi +nau7802 +navman +nb8800 +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct7802 +nct7904 +nd_blk +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +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_flow_table_ipv4 +nf_flow_table_ipv6 +nf_log_arp +nf_log_bridge +nf_log_common +nf_log_ipv4 +nf_log_ipv6 +nf_log_netdev +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_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_counter +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_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_pci +ni_pcidio +ni_pcimio +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 +ns +ns558 +ns83820 +nsh +ntb +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +null_blk +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +objagg +ocelot_vsc7514 +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +of-fpga-region +of_pmem +of_xilinx_wdt +ofb +ofpart +ohci-platform +omap4-keypad +omfs +omninet +onenand +opencores-kbd +openvswitch +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov13858 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5670 +ov5675 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov9640 +ov9650 +overlay +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9881c +panel-innolux-p079zca +panel-jdi-lt070me05000 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-nec-nl8048hl11 +panel-novatek-nt35510 +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-rocktech-jh057n00900 +panel-ronbo-rb070d30 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7789v +panel-sony-acx424akp +panel-sony-acx565akm +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-xinpeng-xpp055c272 +parade-ps8622 +parade-ps8640 +parkbd +parman +parport +parport_ax88796 +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 +pblk +pc300too +pc87360 +pc87427 +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcwd_pci +pcwd_usb +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_usb +pegasus +pegasus_notetaker +penmount +pfuze100-regulator +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8mq-usb +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 +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 +platform_lcd +platform_mhu +plip +plusb +pluto2 +plx_dma +plx_pci +pm2fb +pm3fb +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305_generic +port100 +powermate +powr1220 +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-beeper +pwm-fan +pwm-fsl-ftm +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa27x_udc +pxe1610 +pxrc +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-cpr +qcom-emac +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcserial +qed +qede +qedf +qedi +qedr +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +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 +qxl +r592 +r6040 +r8152 +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +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 +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-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-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +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-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-tango +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-dvd +rc-zx-irdec +rc5t583-regulator +rcar_dw_hdmi +rcuperf +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-slimbus +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 +rmd128 +rmd160 +rmd256 +rmd320 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rocket +rohm-bd70528 +rohm-bd71828 +rohm-bd718x7 +rohm-regulator +rohm_bu21023 +roles +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsxx +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt5033 +rt5033-regulator +rt5033_battery +rt61pci +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-ab3100 +rtc-abx80x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-cadence +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-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-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-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-tps80031 +rtc-twl +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 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +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_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +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 +salsa20_generic +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 +sbs-battery +sbs-charger +sbs-manager +sc16is7xx +sc92031 +sca3000 +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 +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-cadence +sdhci-milbeaut +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +seed +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfp +sgi_w1 +sgp30 +sha3_generic +shark2 +shiftfs +sht15 +sht21 +sht3x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +siox-bus-gpio +siox-core +sir_ir +sirf-audio-codec +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skd +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm3_generic +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smiapp +smiapp-pll +smipcie +smm665 +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +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-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-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-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-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +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-ak4104 +snd-soc-ak4118 +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-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-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-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-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-lochnagar-sc +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98390 +snd-soc-max98504 +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-nau8540 +snd-soc-nau8810 +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-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-rk3328 +snd-soc-rl6231 +snd-soc-rt1308-sdw +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5645 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt715 +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-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +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-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +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-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +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-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-soc-zx-aud96p22 +snd-sof +snd-sof-of +snd-sof-pci +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-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 +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +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-slave-system-control +spi-slave-time +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +sprd_serial +sps30 +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +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_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 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrpc +sur40 +surface3_spi +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9500 +sy8106a-regulator +sy8824x +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synclinkmp +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_8021q +tag_ar9331 +tag_brcm +tag_dsa +tag_edsa +tag_gswip +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_qca +tag_sja1105 +tag_trailer +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 +tc358764 +tc358767 +tc358768 +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_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 +tea +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 +tgr192 +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-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +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 +tmp401 +tmp421 +tmp513 +torture +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_key_parser +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_spi +tpm_vtpm_proxy +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 +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps80031-regulator +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi568 +tsi57x +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2772 +tsl4531 +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tuner-xc2028 +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 +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 +uhid +uio +uio_aec +uio_cif +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +umem +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 +usbvision +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_adc +vf610_dac +vfio +vfio-pci +vfio_mdev +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 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt-dma +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_vdpa +virtiofs +virtual +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 +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 +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wd719x +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +wimax +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 +x25 +x25_asy +x_tables +xbox_remote +xc4000 +xc5000 +xcbc +xdpe12284 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_emac +xilinx_gmii2rgmii +xilinx_uartps +xillybus_core +xillybus_of +xillybus_pcie +xlnx_vcu +xor +xpad +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 +yealink +yellowfin +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zx-tdm --- linux-riscv-5.8-5.8.0.orig/debian.riscv/abi/5.8.0-27.29/riscv64/generic.retpoline +++ linux-riscv-5.8-5.8.0/debian.riscv/abi/5.8.0-27.29/riscv64/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-riscv-5.8-5.8.0.orig/debian.riscv/changelog +++ linux-riscv-5.8-5.8.0/debian.riscv/changelog @@ -0,0 +1,10314 @@ +linux-riscv (5.8.0-29.31) groovy; urgency=medium + + [ Ubuntu: 5.8.0-59.66 ] + + * UAF on CAN J1939 j1939_can_recv (LP: #1932209) + - SAUCE: can: j1939: delay release of j1939_priv after synchronize_rcu + * UAF on CAN BCM bcm_rx_handler (LP: #1931855) + - SAUCE: can: bcm: delay release of struct bcm_op after synchronize_rcu + + [ Ubuntu: 5.8.0-57.64 ] + + * groovy/linux: 5.8.0-57.64 -proposed tracker (LP: #1932047) + * pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63 + (LP: #1931731) + - net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb + + -- Thadeu Lima de Souza Cascardo Wed, 16 Jun 2021 21:56:07 -0300 + +linux-riscv (5.8.0-27.29) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-27.29 -proposed tracker (LP: #1930050) + + [ Ubuntu: 5.8.0-56.63 ] + + * groovy/linux: 5.8.0-56.63 -proposed tracker (LP: #1930052) + * Packaging resync (LP: #1786013) + - update dkms package versions + * scsi: storvsc: Parameterize number hardware queues (LP: #1930626) + - scsi: storvsc: Parameterize number hardware queues + * CVE-2021-33200 + - bpf: Wrap aux data inside bpf_sanitize_info container + - bpf: Fix mask direction swap upon off reg sign change + - bpf: No need to simulate speculative domain for immediates + * CVE-2021-3490 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: verifier: fix ALU32 bounds tracking with + bitwise ops" + - gpf: Fix alu32 const subreg bound tracking on bitwise operations + * CVE-2021-3489 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: prevent writable memory-mapping of read- + only ringbuf pages" + - bpf: Prevent writable memory-mapping of read-only ringbuf pages + * Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle + (LP: #1928242) + - USB: Verify the port status when timeout happens during port suspend + * CVE-2020-26145 + - ath10k: drop fragments with multicast DA for SDIO + - ath10k: add CCMP PN replay protection for fragmented frames for PCIe + - ath10k: drop fragments with multicast DA for PCIe + * CVE-2020-26141 + - ath10k: Fix TKIP Michael MIC verification for PCIe + * CVE-2020-24587 + - ath11k: Clear the fragment cache during key install + * CVE-2020-24588 + - mac80211: properly handle A-MSDUs that start with an RFC 1042 header + - cfg80211: mitigate A-MSDU aggregation attacks + - mac80211: drop A-MSDUs on old ciphers + - ath10k: drop MPDU which has discard flag set by firmware for SDIO + * CVE-2020-26139 + - mac80211: do not accept/forward invalid EAPOL frames + * CVE-2020-24586 // CVE-2020-24587 // CVE-2020-24587 for such cases. + - mac80211: extend protection against mixed key and fragment cache attacks + * CVE-2020-24586 // CVE-2020-24587 + - mac80211: prevent mixed key and fragment cache attacks + - mac80211: add fragment cache to sta_info + - mac80211: check defrag PN against current frame + - mac80211: prevent attacks on TKIP/WEP as well + * CVE-2020-26147 + - mac80211: assure all fragments are encrypted + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull the code that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: remove unnecessary discard limits for raid0 and raid10 + * [SRU] mpt3sas: only one vSES is handy even IOC has multi vSES (LP: #1926517) + - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES + * CVE-2021-23133 + - sctp: delay auto_asconf init until binding the first addr + * kvm: properly tear down PV features on hibernate (LP: #1920944) + - x86/kvm: Fix pr_info() for async PF setup/teardown + - x86/kvm: Teardown PV features on boot CPU as well + - x86/kvm: Disable kvmclock on all CPUs on shutdown + - x86/kvm: Disable all PV features on crash + - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() + * CVE-2021-31440 + - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + * [SRU] Patch for flicker and glitching on common LCD display panels, intel + framebuffer (LP: #1925685) + - drm/i915: Try to use fast+narrow link on eDP again and fall back to the old + max strategy on failure + - drm/i915/dp: Use slow and wide link training for everything + * pmtu.sh from net in ubuntu_kernel_selftests failed with no error message + (LP: #1887661) + - selftests: pmtu.sh: use $ksft_skip for skipped return code + * IR Remote Keys Repeat Many Times Starting with Kernel 5.8.0-49 + (LP: #1926030) + - SAUCE: Revert "media: rc: ite-cir: fix min_timeout calculation" + - SAUCE: Revert "media: rc: fix timeout handling after switch to microsecond + durations" + * Groovy update: upstream stable patchset 2021-05-20 (LP: #1929132) + - Input: nspire-keypad - enable interrupts only when opened + - gpio: sysfs: Obey valid_mask + - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback + - dmaengine: idxd: fix delta_rec and crc size field for completion record + - dmaengine: idxd: fix opcap sysfs attribute output + - dmaengine: idxd: fix wq size store permission state + - dmaengine: dw: Make it dependent to HAS_IOMEM + - dmaengine: Fix a double free in dma_async_device_register + - dmaengine: plx_dma: add a missing put_device() on error path + - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() + - ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race + - ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 + - lockdep: Add a missing initialization hint to the "INFO: Trying to register + non-static key" message + - arc: kernel: Return -EFAULT if copy_to_user() fails + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() + - xfrm: BEET mode doesn't support fragments for inner packets + - ASoC: max98373: Added 30ms turn on/off time delay + - gpu/xen: Fix a use after free in xen_drm_drv_init + - neighbour: Disregard DEAD dst in neigh_update + - ARM: keystone: fix integer overflow warning + - ARM: omap1: fix building with clang IAS + - drm/msm: Fix a5xx/a6xx timestamps + - ASoC: fsl_esai: Fix TDM slot setup for I2S mode + - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state + - iwlwifi: add support for Qu with AX201 device + - net: ieee802154: stop dump llsec keys for monitors + - net: ieee802154: forbid monitor for add llsec key + - net: ieee802154: forbid monitor for del llsec key + - net: ieee802154: stop dump llsec devs for monitors + - net: ieee802154: forbid monitor for add llsec dev + - net: ieee802154: forbid monitor for del llsec dev + - net: ieee802154: stop dump llsec devkeys for monitors + - net: ieee802154: forbid monitor for add llsec devkey + - net: ieee802154: forbid monitor for del llsec devkey + - net: ieee802154: stop dump llsec seclevels for monitors + - net: ieee802154: forbid monitor for add llsec seclevel + - pcnet32: Use pci_resource_len to validate PCI resource + - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN + - virt_wifi: Return micros for BSS TSF values + - lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS + - Input: s6sy761 - fix coordinate read bit shift + - Input: i8042 - fix Pegatron C15B ID entry + - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices + - dm verity fec: fix misaligned RS roots IO + - readdir: make sure to verify directory entry for legacy interfaces too + - arm64: fix inline asm in load_unaligned_zeropad() + - arm64: alternatives: Move length validation in alternative_{insn, endif} + - vfio/pci: Add missing range check in vfio_pci_mmap + - riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" + - scsi: libsas: Reset num_scatter if libata marks qc as NODATA + - netfilter: flowtable: fix NAT IPv6 offload mangling + - netfilter: conntrack: do not print icmpv6 as unknown via /proc + - ice: Fix potential infinite loop when using u8 loop counter + - libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC + - netfilter: bridge: add pre_exit hooks for ebtable unregistration + - netfilter: arp_tables: add pre_exit hook for table unregister + - net: macb: fix the restore of cmp registers + - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta + - netfilter: nft_limit: avoid possible divide error in nft_limit_init + - net/mlx5e: Fix setting of RS FEC mode + - net: davicom: Fix regulator not turned off on failed probe + - net: sit: Unregister catch-all devices + - net: ip6_tunnel: Unregister catch-all devices + - mm: ptdump: fix build failure + - net: Make tcp_allowed_congestion_control readonly in non-init netns + - i40e: fix the panic when running bpf in xdpdrv mode + - ia64: remove duplicate entries in generic_defconfig + - ia64: tools: remove inclusion of ia64-specific version of errno.h header + - ibmvnic: avoid calling napi_disable() twice + - ibmvnic: remove duplicate napi_schedule call in do_reset function + - ibmvnic: remove duplicate napi_schedule call in open function + - gro: ensure frag0 meets IP header alignment + - ARM: OMAP2+: Fix warning for omap_init_time_of() + - ARM: footbridge: fix PCI interrupt mapping + - ARM: OMAP2+: Fix uninitialized sr_inst + - arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems + - arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference + - bpf: Use correct permission flag for mixed signed bounds arithmetic + - r8169: tweak max read request size for newer chips also in jumbo mtu mode + - r8169: don't advertise pause in jumbo mode + - bpf: Ensure off_reg has no mixed signed bounds for all types + - bpf: Move off_reg into sanitize_ptr_alu + - ARM: 9071/1: uprobes: Don't hook on thumb instructions + - bpf: Rework ptr_limit into alu_limit and add common error path + - bpf: Improve verifier error messages for users + - bpf: Move sanitize_val_alu out of op switch + - net: phy: marvell: fix detection of PHY on Topaz switches + - vhost-vdpa: protect concurrent access to vhost device iotlb + - gpio: omap: Save and restore sysconfig + - KEYS: trusted: Fix TPM reservation for seal/unseal + - pinctrl: lewisburg: Update number of pins in community + - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS + - bpf: Permits pointers on stack for helper calls + - bpf: Refactor and streamline bounds check into helper + - bpf: Tighten speculative pointer arithmetic mask + - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 + - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] + - perf auxtrace: Fix potential NULL pointer dereference + - perf map: Fix error return code in maps__clone() + - HID: google: add don USB id + - HID: alps: fix error return code in alps_input_configured() + - HID: wacom: Assign boolean values to a bool variable + - ARM: dts: Fix swapped mmc order for omap3 + - net: geneve: check skb is large enough for IPv4/IPv6 header + - dmaengine: tegra20: Fix runtime PM imbalance on error + - s390/entry: save the caller of psw_idle + - arm64: kprobes: Restore local irqflag if kprobes is cancelled + - xen-netback: Check for hotplug-status existence before watching + - cavium/liquidio: Fix duplicate argument + - kasan: fix hwasan build for gcc + - csky: change a Kconfig symbol name to fix e1000 build error + - ia64: fix discontig.c section mismatches + - ia64: tools: remove duplicate definition of ia64_mf() on ia64 + - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access + - 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() + - mei: me: add Alder Lake P device id. + - bpf: Update selftests to reflect new error states + - mips: Do not include hi and lo in clobber list for R6 + - netfilter: conntrack: Make global sysctls readonly in non-init netns + - net: usb: ax88179_178a: initialize local variables before use + - igb: Enable RSS for Intel I211 Ethernet Controller + - bpf: Fix masking negation logic upon negative dst register + - bpf: Fix leakage of uninitialized bpf stack under speculation + - net: qrtr: Avoid potential use after free in MHI send + - perf data: Fix error return code in perf_data__create_dir() + - capabilities: require CAP_SETFCAP to map uid 0 + - perf ftrace: Fix access to pid in array when setting a pid filter + - driver core: add a min_align_mask field to struct device_dma_parameters + - swiotlb: add a IO_TLB_SIZE define + - swiotlb: factor out an io_tlb_offset helper + - swiotlb: factor out a nr_slots helper + - swiotlb: clean up swiotlb_tbl_unmap_single + - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single + - ovl: fix leaked dentry + - ovl: allow upperdir inside lowerdir + - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX + - USB: Add reset-resume quirk for WD19's Realtek Hub + - platform/x86: thinkpad_acpi: Correct thermal sensor allocation + - perf/core: Fix unconditional security_locked_down() call + - vfio: Depend on MMU + - avoid __memcat_p link failure + * r8152 tx status -71 (LP: #1922651) // Groovy update: upstream stable + patchset 2021-05-20 (LP: #1929132) + - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet + * Fix kdump failures (LP: #1927518) + - video: hyperv_fb: Add ratelimit on error message + - Drivers: hv: vmbus: Increase wait time for VMbus unload + - Drivers: hv: vmbus: Initialize unload_event statically + * Groovy update: upstream stable patchset 2021-05-13 (LP: #1928386) + - ALSA: aloop: Fix initialization of controls + - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 + - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model + - ASoC: intel: atom: Stop advertising non working S24LE support + - nfc: fix refcount leak in llcp_sock_bind() + - nfc: fix refcount leak in llcp_sock_connect() + - nfc: fix memory leak in llcp_sock_connect() + - nfc: Avoid endless loops caused by repeated llcp_sock_connect() + - selinux: make nslot handling in avtab more robust + - xen/evtchn: Change irq_info lock to raw_spinlock_t + - net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh + - net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock + - net: dsa: lantiq_gswip: Don't use PHY auto polling + - net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits + - drm/i915: Fix invalid access to ACPI _DSM objects + - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m + - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS + - LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late + - gcov: re-fix clang-11+ support + - ia64: fix user_stack_pointer() for ptrace() + - nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff + - ocfs2: fix deadlock between setattr and dio_end_io_write + - fs: direct-io: fix missing sdio->boundary + - ethtool: fix incorrect datatype in set_eee ops + - of: property: fw_devlink: do not link ".*,nr-gpios" + - parisc: parisc-agp requires SBA IOMMU driver + - parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers + - ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin + - batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field + - ice: Increase control queue timeout + - ice: prevent ice_open and ice_stop during reset + - ice: remove DCBNL_DEVRESET bit from PF state + - ice: Fix for dereference of NULL pointer + - ice: Cleanup fltr list in case of allocation issues + - iwlwifi: pcie: properly set LTR workarounds on 22000 devices + - net: hso: fix null-ptr-deref during tty device unregistration + - libbpf: Fix bail out from 'ringbuf_process_ring()' on error + - bpf: Enforce that struct_ops programs be GPL-only + - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET + - ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx + - libbpf: Only create rx and tx XDP rings when necessary + - bpf, sockmap: Fix sk->prot unhash op reset + - net: ensure mac header is set in virtio_net_hdr_to_skb() + - i40e: Fix sparse warning: missing error code 'err' + - i40e: Fix sparse error: 'vsi->netdev' could be null + - i40e: Fix sparse errors in i40e_txrx.c + - net: sched: sch_teql: fix null-pointer dereference + - net: sched: fix action overwrite reference counting + - mac80211: fix TXQ AC confusion + - net: hsr: Reset MAC header for Tx path + - net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() + - net: let skb_orphan_partial wake-up waiters. + - usbip: add sysfs_lock to synchronize sysfs code paths + - usbip: stub-dev synchronize sysfs code paths + - usbip: vudc synchronize sysfs code paths + - usbip: synchronize event handler with sysfs code paths + - driver core: Fix locking bug in deferred_probe_timeout_work_func() + - scsi: target: iscsi: Fix zero tag inside a trace event + - i2c: turn recovery error on init to debug + - ice: Refactor DCB related variables out of the ice_port_info struct + - ice: Recognize 860 as iSCSI port in CEE mode + - xfrm: interface: fix ipv4 pmtu check to honor ip header df + - xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume + - regulator: bd9571mwv: Fix AVS and DVFS voltage range + - ARM: OMAP4: Fix PMIC voltage domains for bionic + - ARM: OMAP4: PM: update ROM return address for OSWR and OFF + - net: xfrm: Localize sequence counter per network namespace + - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload + - ASoC: SOF: Intel: HDA: fix core status verification + - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips + - xfrm: Fix NULL pointer dereference on policy lookup + - virtchnl: Fix layout of RSS structures + - i40e: Added Asym_Pause to supported link modes + - i40e: Fix kernel oops when i40e driver removes VF's + - hostfs: fix memory handling in follow_link() + - amd-xgbe: Update DMA coherency values + - sch_red: fix off-by-one checks in red_check_params() + - arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 + - xfrm: Provide private skb extensions for segmented and hw offloaded ESP + packets + - can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE + - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation + - ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso + - gianfar: Handle error code at MAC address change + - cxgb4: avoid collecting SGE_QBASE regs during traffic + - net:tipc: Fix a double free in tipc_sk_mcast_rcv + - ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces + - net/ncsi: Avoid channel_monitor hrtimer deadlock + - net: qrtr: Fix memory leak on qrtr_tx_wait failure + - nfp: flower: ignore duplicate merge hints from FW + - net: phy: broadcom: Only advertise EEE for supported modes + - I2C: JZ4780: Fix bug for Ingenic X1000. + - ASoC: sunxi: sun4i-codec: fill ASoC card owner + - net/mlx5e: Fix ethtool indication of connector type + - net/mlx5: Don't request more than supported EQs + - net/rds: Fix a use after free in rds_message_map_pages + - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model + - soc/fsl: qbman: fix conflicting alignment attributes + - i40e: Fix display statistics for veb_tc + - RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session + files + - drm/msm: Set drvdata to NULL when msm_drm_init() fails + - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); + - mptcp: forbit mcast-related sockopt on MPTCP sockets + - scsi: ufs: core: Fix task management request completion timeout + - scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs + - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb + - net: macb: restore cmp registers on resume path + - clk: fix invalid usage of list cursor in register + - clk: fix invalid usage of list cursor in unregister + - workqueue: Move the position of debug_work_activate() in __queue_work() + - s390/cpcmd: fix inline assembly register clobbering + - perf inject: Fix repipe usage + - net: openvswitch: conntrack: simplify the return expression of + ovs_ct_limit_get_default_limit() + - openvswitch: fix send of uninitialized stack memory in ct limit reply + - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set + - tipc: increment the tmp aead refcnt before attaching it + - net: hns3: clear VF down state bit before request link status + - net/mlx5: Fix placement of log_max_flow_counter + - net/mlx5: Fix PPLM register mapping + - net/mlx5: Fix PBMC register mapping + - RDMA/cxgb4: check for ipv6 address properly while destroying listener + - perf report: Fix wrong LBR block sorting + - i40e: Fix parameters in aq_get_phy_register() + - RDMA/addr: Be strict with gid size + - RAS/CEC: Correct ce_add_elem()'s returned values + - clk: socfpga: fix iomem pointer cast on 64-bit + - lockdep: Address clang -Wformat warning printing for %hd + - dt-bindings: net: ethernet-controller: fix typo in NVMEM + - cfg80211: remove WARN_ON() in cfg80211_sme_connect + - net: tun: set tun->dev->addr_len during TUNSETLINK processing + - drivers: net: fix memory leak in atusb_probe + - drivers: net: fix memory leak in peak_usb_create_dev + - net: mac802154: Fix general protection fault + - net: ieee802154: nl-mac: fix check on panid + - net: ieee802154: fix nl802154 del llsec key + - net: ieee802154: fix nl802154 del llsec dev + - net: ieee802154: fix nl802154 add llsec key + - net: ieee802154: fix nl802154 del llsec devkey + - net: ieee802154: forbid monitor for set llsec params + - net: ieee802154: forbid monitor for del llsec seclevel + - net: ieee802154: stop dump llsec params for monitors + - interconnect: core: fix error return code of icc_link_destroy() + - gfs2: Flag a withdraw if init_threads() fails + - KVM: arm64: Hide system instruction access to Trace registers + - KVM: arm64: Disable guest access to trace filter controls + - drm/imx: imx-ldb: fix out of bounds array access warning + - gfs2: report "already frozen/thawed" errors + - ftrace: Check if pages were allocated before calling free_pages() + - tools/kvm_stat: Add restart delay + - drm/tegra: dc: Don't set PLL clock to 0Hz + - gpu: host1x: Use different lock classes for each client + - block: only update parent bi_status when bio fail + - radix tree test suite: Register the main thread with the RCU library + - idr test suite: Take RCU read lock in idr_find_test_1 + - idr test suite: Create anchor before launching throbber + - io_uring: don't mark S_ISBLK async work as unbounded + - riscv,entry: fix misaligned base for excp_vect_table + - block: don't ignore REQ_NOWAIT for direct IO + - perf map: Tighten snprintf() string precision to pass gcc check on some + 32-bit arches + - net: sfp: relax bitrate-derived mode check + - net: sfp: cope with SFPs that set both LOS normal and LOS inverted + - xen/events: fix setting irq affinity + - perf tools: Use %zd for size_t printf formats on 32-bit + + [ Ubuntu: 5.8.0-55.62 ] + + * groovy/linux: 5.8.0-55.62 -proposed tracker (LP: #1930379) + * [Potential Regression] Unable to create KVM with uvtool on Groovy ARM64 + (LP: #1929925) + - SAUCE: KVM: arm64: Assign kvm_ipa_limit + + -- Kelsey Skunberg Mon, 07 Jun 2021 14:20:18 -0600 + +linux-riscv (5.8.0-26.28) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-26.28 -proposed tracker (LP: #1927590) + + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - [Packaging] riscv: update modules for rc-cec + - [Config] riscv: updateconfigs for PCIE_BW + + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - [Packaging] riscv: update for industrialio-buffer-dma + + [ Ubuntu: 5.8.0-54.61 ] + + * groovy/linux: 5.8.0-54.61 -proposed tracker (LP: #1927592) + * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq + (LP: #1925522) + - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + * netfilter: x_tables: fix compat match/target pad out-of-bound write + (LP: #1927682) + - netfilter: x_tables: fix compat match/target pad out-of-bound write + * Groovy update: upstream stable patchset 2021-05-04 (LP: #1927150) + - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb + - net: fec: ptp: avoid register access when ipg clock is disabled + - powerpc/4xx: Fix build errors from mfdcr() + - atm: eni: dont release is never initialized + - atm: lanai: dont run lanai_dev_close if not open + - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" + - ALSA: hda: ignore invalid NHLT table + - ixgbe: Fix memleak in ixgbe_configure_clsu32 + - scsi: ufs: ufs-qcom: Disable interrupt in reset path + - blk-cgroup: Fix the recursive blkg rwstat + - net: tehuti: fix error return code in bdx_probe() + - net: intel: iavf: fix error return code of iavf_init_get_resources() + - sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count + - cifs: ask for more credit on async read/write code paths + - gfs2: fix use-after-free in trans_drain + - cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev + - gpiolib: acpi: Add missing IRQF_ONESHOT + - nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default + - NFS: Correct size calculation for create reply length + - net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() + - net: wan: fix error return code of uhdlc_init() + - net: davicom: Use platform_get_irq_optional() + - net: enetc: set MAC RX FIFO to recommended value + - atm: uPD98402: fix incorrect allocation + - atm: idt77252: fix null-ptr-dereference + - cifs: change noisy error message to FYI + - irqchip/ingenic: Add support for the JZ4760 + - kbuild: add image_name to no-sync-config-targets + - kbuild: dummy-tools: fix inverted tests for gcc + - umem: fix error return code in mm_pci_probe() + - sparc64: Fix opcode filtering in handling of no fault loads + - habanalabs: Call put_pid() when releasing control device + - staging: rtl8192e: fix kconfig dependency on CRYPTO + - u64_stats,lockdep: Fix u64_stats_init() vs lockdep + - regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck + - block: Fix REQ_OP_ZONE_RESET_ALL handling + - drm/amd/display: Revert dram_clock_change_latency for DCN2.1 + - drm/amdgpu: fb BO should be ttm_bo_type_device + - drm/radeon: fix AGP dependency + - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() + - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() + - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted + - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done + - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a + - nfs: we don't support removing system.nfs4_acl + - block: Suppress uevent for hidden device when removed + - ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls + - ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign + - netsec: restore phy power state after controller reset + - platform/x86: intel-vbtn: Stop reporting SW_DOCK events + - psample: Fix user API breakage + - z3fold: prevent reclaim/free race for headless pages + - squashfs: fix inode lookup sanity checks + - squashfs: fix xattr id and id lookup sanity checks + - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings + - kasan: fix per-page tags for non-page_alloc pages + - gcov: fix clang-11+ support + - ACPI: video: Add missing callback back for Sony VPCEH3U1E + - ACPICA: Always create namespace nodes using acpi_ns_create_node() + - arm64: dts: ls1046a: mark crypto engine dma coherent + - arm64: dts: ls1012a: mark crypto engine dma coherent + - arm64: dts: ls1043a: mark crypto engine dma coherent + - ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C + - ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet + - ARM: dts: at91-sama5d27_som1: fix phy address to 7 + - integrity: double check iint_cache was initialized + - drm/amd/pm: workaround for audio noise issue + - drm/i915: Fix the GT fence revocation runtime PM logic + - dm verity: fix DM_VERITY_OPTS_MAX value + - dm ioctl: fix out of bounds array access when no devices + - bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD + - ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data + - soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva + - veth: Store queue_mapping independently of XDP prog presence + - libbpf: Fix INSTALL flag order + - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets + - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs + - net/mlx5e: Don't match on Geneve options in case option masks are all zero + - ipv6: fix suspecious RCU usage warning + - macvlan: macvlan_count_rx() needs to be aware of preemption + - net: sched: validate stab values + - net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port + - igc: reinit_locked() should be called with rtnl_lock + - igc: Fix Pause Frame Advertising + - igc: Fix Supported Pause Frame Link Setting + - igc: Fix igc_ptp_rx_pktstamp() + - e1000e: add rtnl_lock() to e1000_reset_task + - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 + - net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template + - net: phy: broadcom: Add power down exit reset state delay + - ftgmac100: Restart MAC HW once + - clk: qcom: gcc-sc7180: Use floor ops for the correct sdcc1 clk + - net: ipa: terminate message handler arrays + - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() + - flow_dissector: fix byteorder of dissected ICMP ID + - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed + - netfilter: ctnetlink: fix dump of the expect mask attribute + - net: hdlc_x25: Prevent racing between "x25_close" and "x25_xmit"/"x25_rx" + - tcp: relookup sock for RST+ACK packets handled by obsolete req sock + - can: peak_usb: add forgotten supported devices + - can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate + - can: kvaser_pciefd: Always disable bus load reporting + - can: c_can_pci: c_can_pci_remove(): fix use-after-free + - can: c_can: move runtime PM enable/disable to c_can_platform + - can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning + - can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors + - mac80211: fix rate mask reset + - mac80211: Allow HE operation to be longer than expected. + - selftests/net: fix warnings on reuseaddr_ports_exhausted + - nfp: flower: add ipv6 bit to pre_tunnel control message + - nfp: flower: fix pre_tun mask id allocation + - ftrace: Fix modify_ftrace_direct. + - ionic: linearize tso skb with too many frags + - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags + - netfilter: nftables: allow to update flowtable flags + - netfilter: flowtable: Make sure GC works periodically in idle system + - libbpf: Use SOCK_CLOEXEC when opening the netlink socket + - ipv6: weaken the v4mapped source check + - octeontx2-af: Formatting debugfs entry rsrc_alloc. + - octeontx2-af: Fix irq free in rvu teardown + - octeontx2-pf: Clear RSS enable flag on interace down + - octeontx2-af: fix infinite loop in unmapping NPC counter + - net: check all name nodes in __dev_alloc_name + - net: cdc-phonet: fix data-interface release on probe failure + - r8152: limit the RX buffer size of RTL8153A for USB 2.0 + - net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes + - selinux: vsock: Set SID for socket returned by accept() + - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value + - libbpf: Fix BTF dump of pointer-to-array-of-struct + - drm/msm: fix shutdown hook in case GPU components failed to bind + - arm64: kdump: update ppos when reading elfcorehdr + - PM: runtime: Defer suspending suppliers + - net/mlx5: Add back multicast stats for uplink representor + - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP + - net/mlx5e: Fix error path for ethtool set-priv-flag + - PM: EM: postpone creating the debugfs dir till fs_initcall + - net: bridge: don't notify switchdev for local FDB addresses + - octeontx2-af: Fix memory leak of object buf + - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening + server + - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs + - net: Consolidate common blackhole dst ops + - net, bpf: Fix ip6ip6 crash with collect_md populated skbs + - net: phy: introduce phydev->port + - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() + - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S + - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M + - dm table: Fix zoned model check and zone sectors check + - mm/mmu_notifiers: ensure range_end() is paired with range_start() + - ACPI: scan: Rearrange memory allocation in acpi_device_add() + - ACPI: scan: Use unique number for instance_no + - perf auxtrace: Fix auxtrace queue conflict + - perf synthetic events: Avoid write of uninitialized memory when generating + PERF_RECORD_MMAP* records + - block: recalculate segment count for multi-segment discards correctly + - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" + - scsi: qedi: Fix error return code of qedi_alloc_global_queues() + - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() + - smb3: fix cached file size problems in duplicate extents (reflink) + - locking/mutex: Fix non debug version of mutex_lock_io_nested() + - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() + - can: dev: Move device back to init netns on owning netns delete + - net: dsa: b53: VLAN filtering is global to all users + - mac80211: fix double free in ibss_leave + - ext4: add reclaim checks to xattr code + - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" + - xen-blkback: don't leak persistent grants from xen_blkbk_map() + - arm64: mm: correct the inside linear map range during hotplug check + - ext4: shrink race window in ext4_should_retry_alloc() + - ext4: fix bh ref count on error paths + - fs: nfsd: fix kconfig dependency warning for NFSD_V4 + - rpc: fix NULL dereference on kmalloc failure + - iomap: Fix negative assignment to unsigned sis->pages in + iomap_swapfile_activate + - ASoC: rt1015: fix i2c communication error + - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe + - ASoC: es8316: Simplify adc_pga_gain_tlv table + - ASoC: soc-core: Prevent warning if no DMI table is present + - ASoC: cs42l42: Fix Bitclock polarity inversion + - ASoC: cs42l42: Fix channel width support + - ASoC: cs42l42: Fix mixer volume control + - ASoC: cs42l42: Always wait at least 3ms after reset + - NFSD: fix error handling in NFSv4.0 callbacks + - kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing + - vhost: Fix vhost_vq_reset() + - io_uring: fix ->flags races by linked timeouts + - scsi: st: Fix a use after free in st_open() + - scsi: qla2xxx: Fix broken #endif placement + - staging: comedi: cb_pcidas: fix request_irq() warn + - staging: comedi: cb_pcidas64: fix request_irq() warn + - ASoC: rt5659: Update MCLK rate in set_sysclk() + - ASoC: rt711: add snd_soc_component remove callback + - thermal/core: Add NULL pointer check before using cooling device stats + - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling + - locking/ww_mutex: Fix acquire/release imbalance in + ww_acquire_init()/ww_acquire_fini() + - nvmet-tcp: fix kmap leak when data digest in use + - ext4: do not iput inode under running transaction in ext4_rename() + - net: mvpp2: fix interrupt mask/unmask skip condition + - flow_dissector: fix TTL and TOS dissection on IPv4 fragments + - can: dev: move driver related infrastructure into separate subdir + - net: introduce CAN specific pointer in the struct net_device + - can: tcan4x5x: fix max register value + - brcmfmac: clear EAP/association status bits on linkdown events + - netdevsim: dev: Initialize FIB module after debugfs + - iwlwifi: pcie: don't disable interrupts for reg_lock + - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() + - net: ethernet: aquantia: Handle error cleanup of start on open + - appletalk: Fix skb allocation size in loopback case + - net: ipa: remove two unused register definitions + - net: ipa: fix register write command validation + - net: wan/lmc: unregister device when no matching device is found + - net: 9p: advance iov on empty read + - bpf: Remove MTU check in __bpf_skb_max_len + - ACPI: tables: x86: Reserve memory occupied by ACPI tables + - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() + - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect + - ALSA: hda: Re-add dropped snd_poewr_change_state() calls + - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks + - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 + - xtensa: fix uaccess-related livelock in do_page_fault + - xtensa: move coprocessor_flush to the .text section + - PM: runtime: Fix race getting/putting suppliers at probe + - PM: runtime: Fix ordering in pm_runtime_get_suppliers() + - tracing: Fix stack trace event size + - mm: fix race by making init_zero_pfn() early_initcall + - drm/amdkfd: dqm fence memory corruption + - drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() + - drm/amdgpu: check alignment on CPU page for bo map + - reiserfs: update reiserfs_xattrs_initialized() condition + - drm/tegra: dc: Restore coupling of display controllers + - drm/tegra: sor: Grab runtime PM reference across reset + - vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends + - pinctrl: rockchip: fix restore error in resume + - extcon: Add stubs for extcon_register_notifier_all() functions + - extcon: Fix error handling in extcon_dev_register + - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield + - video: hyperv_fb: Fix a double free in hvfb_probe + - firewire: nosy: Fix a use-after-free bug in nosy_ioctl() + - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() + - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem + - usb: musb: Fix suspend with devices connected for a64 + - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI + - cdc-acm: fix BREAK rx code path adding necessary calls + - USB: cdc-acm: untangle a circular dependency between callback and softint + - USB: cdc-acm: downgrade message to debug + - USB: cdc-acm: fix double free on probe failure + - USB: cdc-acm: fix use-after-free after probe failure + - usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference + - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. + - usb: dwc2: Prevent core suspend when port connection flag is 0 + - staging: rtl8192e: Fix incorrect source in memcpy() + - staging: rtl8192e: Change state information from u16 to u8 + - drivers: video: fbcon: fix NULL dereference in fbcon_cursor() + - Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for + freezing" + - ARM: dts: am33xx: add aliases for mmc interfaces + - bus: ti-sysc: Fix warning on unbind if reset is not deasserted + - platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 + - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp + - net/mlx5e: Enforce minimum value check for ICOSQ size + - net: pxa168_eth: Fix a potential data race in pxa168_eth_remove + - kunit: tool: Fix a python tuple typing error + - mISDN: fix crash in fritzpci + - mac80211: Check crypto_aead_encrypt for errors + - mac80211: choose first enabled channel for monitor + - drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs + - drm/msm: Ratelimit invalid-fence message + - netfilter: conntrack: Fix gre tunneling over ipv6 + - netfilter: nftables: skip hook overlap logic if flowtable is stale + - net: ipa: fix init header command validation + - platform/x86: thinkpad_acpi: Allow the FnLock LED to change state + - x86/build: Turn off -fcf-protection for realmode targets + - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms + - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() + - selftests/vm: fix out-of-tree build + - ia64: mca: allocate early mca with GFP_ATOMIC + - ia64: fix format strings for err_inject + - cifs: revalidate mapping when we open files for SMB1 POSIX + - cifs: Silently ignore unknown oplock break handle + - init/Kconfig: make COMPILE_TEST depend on !S390 + - init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM + - nvme-mpath: replace direct_make_request with generic_make_request + * Enable CIFS GCM256 (LP: #1921916) + - smb3: add defines for new crypto algorithms + - smb3.1.1: add new module load parm require_gcm_256 + - smb3.1.1: add new module load parm enable_gcm_256 + - smb3.1.1: print warning if server does not support requested encryption type + - smb3.1.1: rename nonces used for GCM and CCM encryption + - smb3.1.1: set gcm256 when requested + - cifs: Adjust key sizes and key generation routines for AES256 encryption + * locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (LP: #1926184) + - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() + * Make AMD gpus choose YCbCr420 encoding automatically when required for 4k + 60Hz output (LP: #1922754) + - drm/amd/display: Try YCbCr420 color when YCbCr444 fails + * [Ubuntu 21.04] net/mlx5: Fix HW spec violation configuring uplink + (LP: #1925452) + - net/mlx5: Fix HW spec violation configuring uplink + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - crypto: aesni - Use TEST %reg,%reg instead of CMP $0,%reg + - crypto: x86/aes-ni-xts - use direct calls to and 4-way stride + - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes + - fuse: fix live lock in fuse_iget() + - ALSA: usb-audio: Don't avoid stopping the stream at disconnection + - net: dsa: b53: Support setting learning on port + - KVM: arm64: nvhe: Save the SPE context early + - drm/i915/gvt: Set SNOOP for PAT3 on BXT/APL to workaround GPU BB hang + - drm/i915/gvt: Fix mmio handler break on BXT/APL. + - drm/i915/gvt: Fix virtual display setup for BXT/APL + - drm/i915/gvt: Fix vfio_edid issue for BXT/APL + - ASoC: ak4458: Add MODULE_DEVICE_TABLE + - ASoC: ak5558: Add MODULE_DEVICE_TABLE + - ALSA: dice: fix null pointer dereference when node is disconnected + - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro + - ALSA: hda: generic: Fix the micmute led init state + - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air + - s390/pci: refactor zpci_create_device() + - s390/pci: remove superfluous zdev->zbus check + - s390/pci: fix leak of PCI device structure + - zonefs: Fix O_APPEND async write handling + - zonefs: prevent use of seq files as swap file + - btrfs: fix race when cloning extent buffer during rewind of an old root + - btrfs: fix slab cache flags for free space tree bitmap + - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails + - ASoC: fsl_ssi: Fix TDM slot setup for I2S mode + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold + - ASoC: SOF: Intel: unregister DMIC device on probe error + - ASoC: SOF: intel: fix wrong poll bits in dsp power down + - ASoC: qcom: sdm845: Fix array out of bounds access + - ASoC: qcom: sdm845: Fix array out of range on rx slim channels + - ASoC: codecs: wcd934x: add a sanity check in set channel map + - ASoC: qcom: lpass-cpu: Fix lpass dai ids parse + - ASoC: simple-card-utils: Do not handle device clock + - afs: Fix accessing YFS xattrs on a non-YFS server + - afs: Stop listxattr() from listing "afs.*" attributes + - nvme: fix Write Zeroes limitations + - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled + - nvme-tcp: fix possible hang when failing to set io queues + - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU + - nvmet: don't check iosqes,iocqes for discovery controllers + - nfsd: Don't keep looking up unhashed files in the nfsd file cache + - nfsd: don't abort copies early + - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. + - NFSD: fix dest to src mount in inter-server COPY + - svcrdma: disable timeouts on rdma backchannel + - vfio: IOMMU_API should be selected + - sunrpc: fix refcount leak for rpc auth modules + - i915/perf: Start hrtimer only if sampling the OA buffer + - pstore: Fix warning in pstore_kill_sb() + - net/qrtr: fix __netdev_alloc_skb call + - kbuild: Fix for empty SUBLEVEL or PATCHLEVEL again + - cifs: fix allocation size on newly created files + - riscv: Correct SPARSEMEM configuration + - scsi: lpfc: Fix some error codes in debugfs + - scsi: myrs: Fix a double free in myrs_cleanup() + - RISC-V: correct enum sbi_ext_rfence_fid + - counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED + - nvme-rdma: fix possible hang when failing to set io queues + - ibmvnic: add some debugs + - ibmvnic: serialize access to work queue on remove + - tty: serial: stm32-usart: Remove set but unused 'cookie' variables + - serial: stm32: fix DMA initialization error handling + - bpf: Declare __bpf_free_used_maps() unconditionally + - RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free + - RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails + - RDMA/rtrs: Introduce rtrs_post_send + - RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug + - module: merge repetitive strings in module_sig_check() + - module: avoid *goto*s in module_sig_check() + - module: harden ELF info handling + - scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition + - RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used + - i40e: Fix endianness conversions + - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 + - MIPS: compressed: fix build with enabled UBSAN + - media: cedrus: h264: Support profile controls + - ibmvnic: remove excessive irqsave + - s390/qeth: integrate RX refill worker with NAPI + - s390/qeth: schedule TX NAPI on QAOB completion + - drm/amd/pm: fulfill the Polaris implementation for + get_clock_by_type_with_latency() + - gfs2: Add common helper for holding and releasing the freeze glock + - gfs2: move freeze glock outside the make_fs_rw and _ro functions + - gfs2: bypass signal_our_withdraw if no journal + - powerpc: Force inlining of cpu_has_feature() to avoid build failure + - usb-storage: Add quirk to defeat Kindle's automatic unload + - usbip: Fix incorrect double assignment to udc->ud.tcp_rx + - usb: gadget: configfs: Fix KASAN use-after-free + - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct + - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- + - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() + - iio:adc:stm32-adc: Add HAS_IOMEM dependency + - iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel + - iio: adis16400: Fix an error code in adis16400_initial_setup() + - iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler + - iio: adc: ab8500-gpadc: Fix off by 10 to 3 + - iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask + - iio: adc: adi-axi-adc: add proper Kconfig dependencies + - iio: hid-sensor-humidity: Fix alignment issue of timestamp channel + - iio: hid-sensor-prox: Fix scale not correct issue + - iio: hid-sensor-temperature: Fix issues of timestamp channel + - counter: stm32-timer-cnt: fix ceiling write max value + - counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register + - PCI: rpadlpar: Fix potential drc_name corruption in store functions + - perf/x86/intel: Fix a crash caused by zero PEBS status + - x86/ioapic: Ignore IRQ2 again + - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() + - x86: Move TS_COMPAT back to asm/thread_info.h + - x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() + - efivars: respect EFI_UNSUPPORTED return from firmware + - ext4: fix error handling in ext4_end_enable_verity() + - ext4: find old entry again if failed to rename whiteout + - ext4: do not try to set xattr into ea_inode if value is empty + - ext4: fix potential error in ext4_do_update_inode + - MAINTAINERS: move some real subsystems off of the staging mailing list + - MAINTAINERS: move the staging subsystem to lists.linux.dev + - efi: use 32-bit alignment for efi_guid_t literals + - firmware/efi: Fix a use after bug in efi_mem_reserve_persistent + - genirq: Disable interrupts for force threaded handlers + - x86/apic/of: Fix CPU devicetree-node lookups + - cifs: Fix preauth hash corruption + - USB: replace hardcode maximum usb string length by definition + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - uapi: nfnetlink_cthelper.h: fix userspace compilation error + - powerpc/perf: Fix handling of privilege level checks in perf interrupt + context + - powerpc/pseries: Don't enforce MSI affinity with kdump + - crypto: mips/poly1305 - enable for all MIPS processors + - ath9k: fix transmitting to stations in dynamic SMPS mode + - net: Fix gro aggregation for udp encaps with zero csum + - net: check if protocol extracted by virtio_net_hdr_set_proto is correct + - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 + - can: skb: can_skb_set_owner(): fix ref counting if socket was closed before + setting skb ownership + - can: flexcan: assert FRZ bit in flexcan_chip_freeze() + - can: flexcan: enable RX FIFO after FRZ/HALT valid + - can: flexcan: invoke flexcan_chip_freeze() to enter freeze mode + - can: tcan4x5x: tcan4x5x_init(): fix initialization - clear MRAM before + entering Normal Mode + - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) + - tcp: add sanity tests to TCP_QUEUE_SEQ + - netfilter: nf_nat: undo erroneous tcp edemux lookup + - netfilter: x_tables: gpf inside xt_find_revision() + - net: always use icmp{,v6}_ndo_send from ndo_start_xmit + - net: phy: fix save wrong speed and duplex problem if autoneg is on + - selftests/bpf: No need to drop the packet when there is no geneve opt + - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier + - samples, bpf: Add missing munmap in xdpsock + - libbpf: Clear map_info before each bpf_obj_get_info_by_fd + - ibmvnic: always store valid MAC address + - mt76: dma: do not report truncated frames to mac80211 + - powerpc/603: Fix protection of user pages mapped with PROT_NONE + - mount: fix mounting of detached mounts onto targets that reside on shared + mounts + - cifs: return proper error code in statfs(2) + - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" + - sh_eth: fix TRSCER mask for SH771x + - net: enetc: don't overwrite the RSS indirection table when initializing + - net: enetc: take the MDIO lock only once per NAPI poll cycle + - net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets + - net: enetc: don't disable VLAN filtering in IFF_PROMISC mode + - net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr + - net: enetc: keep RX ring consumer index in sync with hardware + - net: ethernet: mtk-star-emac: fix wrong unmap in RX handling + - net/mlx4_en: update moderation when config reset + - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 + - nexthop: Do not flush blackhole nexthops when loopback goes down + - net: sched: avoid duplicates in classes dump + - net: dsa: sja1105: fix SGMII PCS being forced to SPEED_UNKNOWN instead of + SPEED_10 + - net: usb: qmi_wwan: allow qmimux add/del with master up + - netdevsim: init u64 stats for 32bit hardware + - cipso,calipso: resolve a number of problems with the DOI refcounts + - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII + - stmmac: intel: Fixes clock registration error seen for multiple interfaces + - net: lapbether: Remove netif_start_queue / netif_stop_queue + - net: davicom: Fix regulator not turned off on failed probe + - net: davicom: Fix regulator not turned off on driver removal + - net: enetc: allow hardware timestamping on TX queues with tc-etf enabled + - net: qrtr: fix error return code of qrtr_sendmsg() + - s390/qeth: fix memory leak after failed TX Buffer allocation + - r8169: fix r8168fp_adjust_ocp_cmd function + - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA + - perf build: Fix ccache usage in $(CC) when generating arch errno table + - net: stmmac: stop each tx channel independently + - net: stmmac: fix watchdog timeout during suspend/resume stress test + - net: stmmac: fix wrongly set buffer2 valid when sph unsupport + - ethtool: fix the check logic of at least one channel for RX/TX + - selftests: forwarding: Fix race condition in mirror installation + - perf traceevent: Ensure read cmdlines are null terminated. + - perf report: Fix -F for branch & mem modes + - net: hns3: fix query vlan mask value error for flow director + - net: hns3: fix bug when calculating the TCAM table info + - s390/cio: return -EFAULT if copy_to_user() fails again + - bnxt_en: reliably allocate IRQ table on reset to avoid crash + - gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk + - gpiolib: acpi: Allow to find GpioInt() resource by name and index + - gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2 + - gpio: fix gpio-device list corruption + - drm/compat: Clear bounce structures + - drm/amd/display: Add a backlight module option + - drm/amdgpu/display: use GFP_ATOMIC in dcn21_validate_bandwidth_fp() + - drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth() + - drm/amd/pm: bug fix for pcie dpm + - drm/amdgpu/display: simplify backlight setting + - drm/amdgpu/display: don't assert in set backlight function + - drm/amdgpu/display: handle aux backlight in backlight_get_brightness + - drm/shmem-helper: Check for purged buffers in fault handler + - drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff + - drm: Use USB controller's DMA mask when importing dmabufs + - drm: meson_drv add shutdown function + - drm/shmem-helpers: vunmap: Don't put pages for dma-buf + - s390/cio: return -EFAULT if copy_to_user() fails + - s390/crypto: return -EFAULT if copy_to_user() fails + - qxl: Fix uninitialised struct field head.surface_id + - sh_eth: fix TRSCER mask for R7S9210 + - media: usbtv: Fix deadlock on suspend + - media: rkisp1: params: fix wrong bits settings + - media: v4l: vsp1: Fix uif null pointer access + - media: v4l: vsp1: Fix bru null pointer access + - media: rc: compile rc-cec.c into rc-core + - [Packaging] update modules for rc-cec + - cifs: fix credit accounting for extra channel + - net: hns3: fix error mask definition of flow director + - s390/qeth: don't replace a fully completed async TX buffer + - s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state + - s390/qeth: improve completion of pending TX buffers + - s390/qeth: fix notification for pending buffers during teardown + - net: dsa: tag_ksz: don't allocate additional memory for padding/tagging + - net: dsa: trailer: don't allocate additional memory for padding/tagging + - net: dsa: tag_qca: let DSA core deal with TX reallocation + - net: dsa: tag_ocelot: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: let DSA core deal with TX reallocation + - net: dsa: tag_lan9303: let DSA core deal with TX reallocation + - net: dsa: tag_edsa: let DSA core deal with TX reallocation + - net: dsa: tag_brcm: let DSA core deal with TX reallocation + - net: dsa: tag_dsa: let DSA core deal with TX reallocation + - net: dsa: tag_gswip: let DSA core deal with TX reallocation + - net: dsa: tag_ar9331: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: fix 802.1ad VLAN egress + - ath11k: peer delete synchronization with firmware + - i2c: rcar: faster irq code to minimize HW race condition + - i2c: rcar: optimize cacheline to minimize HW race condition + - scsi: ufs: WB is only available on LUN #0 to #7 + - udf: fix silent AED tagLocation corruption + - iommu/vt-d: Clear PRQ overflow only when PRQ is empty + - mmc: mxs-mmc: Fix a resource leak in an error handling path in + 'mxs_mmc_probe()' + - mmc: mediatek: fix race condition between msdc_request_timeout and irq + - mmc: sdhci-iproc: Add ACPI bindings for the RPi + - Platform: OLPC: Fix probe error handling + - powerpc/pci: Add ppc_md.discover_phbs() + - spi: stm32: make spurious and overrun interrupts visible + - powerpc: improve handling of unrecoverable system reset + - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset + - HID: logitech-dj: add support for the new lightspeed connection iteration + - powerpc/64: Fix stack trace not displaying final frame + - iommu/amd: Fix performance counter initialization + - clk: qcom: gdsc: Implement NO_RET_PERIPH flag + - sparc32: Limit memblock allocation to low memory + - sparc64: Use arch_validate_flags() to validate ADI flag + - Input: applespi - don't wait for responses to commands indefinitely. + - PCI: xgene-msi: Fix race in installing chained irq handler + - PCI: mediatek: Add missing of_node_put() to fix reference leak + - drivers/base: build kunit tests without structleak plugin + - PCI/LINK: Remove bandwidth notification + - [Config] updateconfigs for PCIE_BW + - kbuild: clamp SUBLEVEL to 255 + - PCI: Fix pci_register_io_range() memory leak + - i40e: Fix memory leak in i40e_probe + - s390/smp: __smp_rescan_cpus() - move cpumask away from stack + - drivers/base/memory: don't store phys_device in memory blocks + - sysctl.c: fix underflow value setting risk in vm_table + - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling + - scsi: target: core: Add cmd length set before cmd complete + - scsi: target: core: Prevent underflow for service actions + - clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc + - mmc: sdhci: Update firmware interface API + - ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler + - ARM: assembler: introduce adr_l, ldr_l and str_l macros + - ARM: efistub: replace adrl pseudo-op with adr_l macro invocation + - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk + - ALSA: hda/hdmi: Cancel pending works before suspend + - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 + - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support + - ALSA: hda: Drop the BATCH workaround for AMD controllers + - ALSA: hda: Flush pending unsolicited events before suspend + - ALSA: hda: Avoid spurious unsol event handling during S3/S4 + - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar + - ALSA: usb-audio: Apply the control quirk to Plantronics headsets + - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL + - s390/dasd: fix hanging DASD driver unbind + - s390/dasd: fix hanging IO request during DASD driver unbind + - software node: Fix node registration + - xen/events: reset affinity of 2-level event when tearing it down + - mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants + - mmc: core: Fix partition switch time for eMMC + - mmc: cqhci: Fix random crash when remove mmc module/card + - cifs: do not send close in compound create+close requests + - Goodix Fingerprint device is not a modem + - USB: gadget: u_ether: Fix a configfs return code + - usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio + slot + - usb: gadget: f_uac1: stop playback on function disable + - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement + - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot + - usb: dwc3: qcom: add ACPI device id for sc8180x + - usb: dwc3: qcom: Honor wakeup enabled/disabled state + - USB: usblp: fix a hang in poll() if disconnected + - usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM + - usb: xhci: do not perform Soft Retry for some xHCI hosts + - xhci: Improve detection of device initiated wake signal. + - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing + - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake + state + - USB: serial: io_edgeport: fix memory leak in edge_startup + - USB: serial: ch341: add new Product ID + - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter + - USB: serial: cp210x: add some more GE USB IDs + - usbip: fix stub_dev to check for stream socket + - usbip: fix vhci_hcd to check for stream socket + - usbip: fix vudc to check for stream socket + - usbip: fix vhci_hcd attach_store() races leading to gpf + - usbip: fix vudc usbip_sockfd_store races leading to gpf + - misc/pvpanic: Export module FDT device table + - staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan() + - staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan() + - staging: rtl8712: unterminated string leads to read overflow + - staging: rtl8188eu: fix potential memory corruption in + rtw_check_beacon_data() + - staging: ks7010: prevent buffer overflow in ks_wlan_set_scan() + - staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd + - staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan + - staging: comedi: addi_apci_1032: Fix endian problem for COS sample + - staging: comedi: addi_apci_1500: Fix endian problem for command sample + - staging: comedi: adv_pci1710: Fix endian problem for AI command data + - staging: comedi: das6402: Fix endian problem for AI command data + - staging: comedi: das800: Fix endian problem for AI command data + - staging: comedi: dmm32at: Fix endian problem for AI command data + - staging: comedi: me4000: Fix endian problem for AI command data + - staging: comedi: pcl711: Fix endian problem for AI command data + - staging: comedi: pcl818: Fix endian problem for AI command data + - sh_eth: fix TRSCER mask for R7S72100 + - arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory + - SUNRPC: Set memalloc_nofs_save() for sync tasks + - NFS: Don't revalidate the directory permissions on a lookup failure + - NFS: Don't gratuitously clear the inode cache when lookup failed + - NFSv4.2: fix return value of _nfs4_get_security_label() + - block: rsxx: fix error return code of rsxx_pci_probe() + - configfs: fix a use-after-free in __configfs_open_file + - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds + - hrtimer: Update softirq_expires_next correctly after + __hrtimer_get_next_event() + - powerpc/64s/exception: Clean up a missed SRR specifier + - stop_machine: mark helpers __always_inline + - include/linux/sched/mm.h: use rcu_dereference in in_vfork() + - zram: fix return value on writeback_store + - linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* + - sched/membarrier: fix missing local execution of ipi_sync_rq_state() + - efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP + table + - powerpc/64s: Fix instruction encoding for lis in ppc_function_entry() + - powerpc: Fix inverted SET_FULL_REGS bitop + - powerpc: Fix missing declaration of [en/dis]able_kernel_vsx() + - binfmt_misc: fix possible deadlock in bm_register_write + - x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2 + - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged + - KVM: arm64: Reject VM creation when the default IPA size is unsupported + - KVM: arm64: Fix exclusive limit for IPA size + - mm/userfaultfd: fix memory corruption due to writeprotect + - mm/page_alloc.c: refactor initialization of struct page for holes in memory + layout + - xen/events: don't unmask an event channel when an eoi is pending + - xen/events: avoid handling the same event on two cpus at the same time + * Groovy update: upstream stable patchset 2021-04-12 (LP: #1923493) + - net: usb: qmi_wwan: support ZTE P685M modem + - drm/virtio: use kvmalloc for large allocations + - x86/build: Treat R_386_PLT32 relocation as R_386_PC32 + - JFS: more checks for invalid superblock + - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled + - udlfb: Fix memory leak in dlfb_usb_probe + - media: mceusb: sanity check for prescaler value + - erofs: fix shift-out-of-bounds of blkszbits + - media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate + - xfs: Fix assert failure in xfs_setattr_size() + - net/af_iucv: remove WARN_ONCE on malformed RX packets + - smackfs: restrict bytes count in smackfs write functions + - tomoyo: ignore data race while checking quota + - net: fix up truesize of cloned skb in skb_prepare_for_shift() + - nbd: handle device refs for DESTROY_ON_DISCONNECT properly + - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing + - RDMA/rtrs: Do not signal for heatbeat + - RDMA/rtrs-clt: Use bitmask to check sess->flags + - RDMA/rtrs-srv: Do not signal REG_MR + - tcp: fix tcp_rmem documentation + - net: bridge: use switchdev for port flags set through sysfs too + - net: ag71xx: remove unnecessary MTU reservation + - net: hsr: add support for EntryForgetTime + - net: psample: Fix netlink skb length with tunnel info + - net: fix dev_ifsioc_locked() race condition + - dt-bindings: ethernet-controller: fix fixed-link specification + - dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ + - rsi: Fix TX EAPOL packet handling against iwlwifi AP + - rsi: Move card interrupt handling to RX thread + - EDAC/amd64: Do not load on family 0x15, model 0x13 + - staging: fwserial: Fix error handling in fwserial_create + - x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk + - vt/consolemap: do font sum unsigned + - wlcore: Fix command execute failure 19 for wl12xx + - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl + - Bluetooth: btusb: fix memory leak on suspend and resume + - mt76: mt7615: reset token when mac_reset happens + - pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() + - ath10k: fix wmi mgmt tx queue full due to race condition + - net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant + - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk + - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data + - staging: most: sound: add sanity check for function argument + - staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() + - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet + - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet + - drm/hisilicon: Fix use-after-free + - crypto: tcrypt - avoid signed overflow in byte count + - fs: make unlazy_walk() error handling consistent + - drm/amdgpu: Add check to prevent IH overflow + - PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse + - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag + - drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails + - media: uvcvideo: Allow entities with no pads + - f2fs: handle unallocated section and zone on pinned/atgc + - f2fs: fix to set/clear I_LINKABLE under i_lock + - nvme-core: add cancel tagset helpers + - nvme-rdma: add clean action for failed reconnection + - nvme-tcp: add clean action for failed reconnection + - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() + - btrfs: fix error handling in commit_fs_roots + - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] + - ASoC: Intel: sof_sdw: detect DMIC number based on mach params + - parisc: Bump 64-bit IRQ stack size to 64 KB + - sched/features: Fix hrtick reprogramming + - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R + tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet + - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet + - Xen/gnttab: handle p2m update errors on a per-slot basis + - xen-netback: respect gnttab_map_refs()'s return value + - zsmalloc: account the number of compacted pages correctly + - swap: fix swapfile read/write offset + - media: v4l: ioctl: Fix memory leak in video_usercopy + - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board + - net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround + - net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips + - nvme-pci: refactor nvme_unmap_data + - nvme-pci: fix error unwind in nvme_map_data + - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 + - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE + - ALSA: usb-audio: Drop bogus dB range in too low level + - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() + - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() + - btrfs: avoid double put of block group when emptying cluster + - btrfs: fix raid6 qstripe kmap + - btrfs: fix race between writes to swap files and scrub + - btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled + - btrfs: fix race between extent freeing/allocation when using bitmaps + - btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl + - btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata + - btrfs: unlock extents in btrfs_zero_range in case of quota reservation + errors + - btrfs: fix warning when creating a directory with smack enabled + - io_uring: ignore double poll add on the same waitqueue head + - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size + - dm verity: fix FEC for RS roots unaligned to block size + - drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie + - crypto - shash: reduce minimum alignment of shash_desc structure + - arm64: mm: Move reserve_crashkernel() into mem_init() + - arm64: mm: Move zone_dma_bits initialization into zone_sizes_init() + - of/address: Introduce of_dma_get_max_cpu_address() + - of: unittest: Add test for of_dma_get_max_cpu_address() + - arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges + - arm64: mm: Set ZONE_DMA size based on early IORT scan + - mm: Remove examples from enum zone_type comment + - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits + - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep + - RDMA/rxe: Fix missing kconfig dependency on CRYPTO + - IB/mlx5: Add missing error code + - ALSA: hda: intel-nhlt: verify config type + - ftrace: Have recordmcount use w8 to read relp->r_info in + arm64_is_fake_mcount + - rsxx: Return -EFAULT if copy_to_user() fails + - iommu/vt-d: Fix status code for Allocate/Free PASID command + - Revert "arm64: dts: amlogic: add missing ethernet reset ID" + - of: unittest: Fix build on architectures without CONFIG_OF_ADDRESS + - tomoyo: recognize kernel threads correctly + - r8169: fix resuming from suspend on RTL8105e if machine runs on battery + - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter + handling + - ASoC: SOF: Intel: broadwell: fix mutual exclusion with catpt driver + - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state + - parisc: Enable -mlong-calls gcc option with CONFIG_COMPILE_TEST + - arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ + - iommu/amd: Fix sleeping in atomic in increase_address_space() + - Bluetooth: btqca: Add valid le states quirk + - mwifiex: pcie: skip cancel_work_sync() on reset failure path + - ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device + - bus: ti-sysc: Implement GPMC debug quirk to drop platform data + - platform/x86: acer-wmi: Cleanup ACER_CAP_FOO defines + - platform/x86: acer-wmi: Cleanup accelerometer device handling + - platform/x86: acer-wmi: Add new force_caps module parameter + - platform/x86: acer-wmi: Add ACER_CAP_SET_FUNCTION_MODE capability flag + - platform/x86: acer-wmi: Add support for SW_TABLET_MODE on Switch devices + - platform/x86: acer-wmi: Add ACER_CAP_KBD_DOCK quirk for the Aspire Switch + 10E SW3-016 + - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter + - media: cx23885: add more quirks for reset DMA on some AMD IOMMU + - ACPI: video: Add DMI quirk for GIGABYTE GB-BXBT-2807 + - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 + - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 + - scsi: ufs: Add a quirk to permit overriding UniPro defaults + - misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom + - scsi: ufs: Introduce a quirk to allow only page-aligned sg entries + - drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register + - mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo + Winpad A15 + - scsi: ufs: Fix a duplicate dev quirk number + - KVM: SVM: Clear the CR4 register on reset + - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. + - nvme-pci: add quirks for Lexar 256GB SSD + - dm table: fix iterate_devices based device capability checks + - dm table: fix DAX iterate_devices based device capability checks + - dm table: fix zoned iterate_devices based device capability checks + * [SRU][F:OEM-5.10/G/H] add realtek 8852 bluetooth support (LP: #1924207) + - Bluetooth: btusb: btrtl: Add support for RTL8852A + - Bluetooth: btrtl: Enable central-peripheral role + - Bluetooth: btrtl: Enable WBS for the specific Realtek devices + * Backport mlx5e fix for tunnel offload (LP: #1921769) + - net/mlx5e: Check tunnel offload is required before setting SWP + * crash utility fails on arm64 with cannot determine VA_BITS_ACTUAL + (LP: #1919275) + - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo + + -- Stefan Bader Fri, 14 May 2021 11:45:52 +0200 + +linux-riscv (5.8.0-25.27) groovy; urgency=medium + + [ Ubuntu: 5.8.0-53.60 ] + + * CVE-2021-3491 + - io_uring: fix provide_buffers sign extension + - io_uring: fix overflows checks in provide buffers + - SAUCE: proc: Avoid mixing integer types in mem_rw() + - SAUCE: io_uring: truncate lengths larger than MAX_RW_COUNT on provide + buffers + * CVE-2021-3490 + - bpf: Fix a verifier failure with xor + - SAUCE: bpf: verifier: fix ALU32 bounds tracking with bitwise ops + * CVE-2021-3489 + - SAUCE: bpf: ringbuf: deny reserve of buffers larger than ringbuf + - SAUCE: bpf: prevent writable memory-mapping of read-only ringbuf pages + + -- Stefan Bader Thu, 06 May 2021 09:43:59 +0200 + +linux-riscv (5.8.0-24.26) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-24.26 -proposed tracker (LP: #1926728) + + [ Ubuntu: 5.8.0-52.59 ] + + * groovy/linux: 5.8.0-52.59 -proposed tracker (LP: #1926730) + * Packaging resync (LP: #1786013) + - update dkms package versions + * hangup01 from pty in ubuntu_ltp_stable failed on G-5.8 (LP: #1925290) + - SAUCE: Revert "tty: implement read_iter" + - SAUCE: Revert "tty: convert tty_ldisc_ops 'read()' function to take a kernel + pointer" + + -- Stefan Bader Fri, 30 Apr 2021 17:18:04 +0200 + +linux-riscv (5.8.0-23.25) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-23.25 -proposed tracker (LP: #1923752) + + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - [Config] riscv: updateconfigs for CONFIG_KCMP + + [ Ubuntu: 5.8.0-51.57 ] + + * groovy/linux: 5.8.0-51.57 -proposed tracker (LP: #1923754) + * CVE-2021-28375 + - misc: fastrpc: restrict user apps from sending kernel RPC messages + * CVE-2021-29646 + - tipc: better validate user input in tipc_nl_retrieve_key() + * SND_PCI_QUIRK for Clevo NH55RZQ and Intel NUC10 (LP: #1922759) + - ALSA: hda/realtek: Add quirk for Intel NUC 10 + - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ + * CVE-2021-29650 + - Revert "netfilter: x_tables: Update remaining dereference to RCU" + - Revert "netfilter: x_tables: Switch synchronization to RCU" + - netfilter: x_tables: Use correct memory barriers. + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] dkms-build{,--nvidia-N} sync back from LRMv4 + * CVE-2021-29266 + - vhost-vdpa: fix use-after-free of v->config_ctx + * CVE-2021-29264 + - gianfar: fix jumbo packets+napi+rx overrun crash + * CVE-2021-29265 + - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf + * Bcache bypasse writeback on caching device with fragmentation (LP: #1900438) + - bcache: consider the fragmentation when update the writeback rate + * Fix implicit declaration warnings for kselftests/memfd test on newer + releases (LP: #1910323) + - selftests/memfd: Fix implicit declaration warnings + * net/mlx5e: Add missing capability check for uplink follow (LP: #1921104) + - net/mlx5e: Add missing capability check for uplink follow + * [UBUNUT 21.04] s390/vtime: fix increased steal time accounting + (LP: #1921498) + - s390/vtime: fix increased steal time accounting + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - vmlinux.lds.h: add DWARF v5 sections + - debugfs: be more robust at handling improper input in debugfs_lookup() + - debugfs: do not attempt to create a new file before the filesystem is + initalized + - scsi: libsas: docs: Remove notify_ha_event() + - scsi: qla2xxx: Fix mailbox Ch erroneous error + - kdb: Make memory allocations more robust + - PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 + - PCI: Decline to resize resources if boot config must be preserved + - virt: vbox: Do not use wait_event_interruptible when called from kernel + context + - bfq: Avoid false bfq queue merging + - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode + - MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section + - random: fix the RNDRESEEDCRNG ioctl + - ALSA: pcm: Call sync_stop at disconnection + - ALSA: pcm: Assure sync with the pending stop operation at suspend + - ALSA: pcm: Don't call sync_stop if it hasn't been stopped + - drm/i915/gt: One more flush for Baytrail clear residuals + - ath10k: Fix error handling in case of CE pipe init failure + - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the + probe function + - Bluetooth: hci_uart: Fix a race for write_work scheduling + - Bluetooth: Fix initializing response id after clearing struct + - ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5 + - ARM: dts: exynos: correct PMIC interrupt trigger level on Monk + - ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato + - ARM: dts: exynos: correct PMIC interrupt trigger level on Spring + - ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa + - ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family + - arm64: dts: exynos: correct PMIC interrupt trigger level on TM2 + - arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso + - memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops + - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump + - arm64: dts: qcom: msm8916-samsung-a5u: Fix iris compatible + - net: stmmac: dwmac-meson8b: fix enabling the timing-adjustment clock + - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h + - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args + - arm64: dts: allwinner: A64: properly connect USB PHY to port 0 + - arm64: dts: allwinner: H6: properly connect USB PHY to port 0 + - arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card + - arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency + - arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz + - cpufreq: brcmstb-avs-cpufreq: Free resources in error path + - cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() + - arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node + - ACPICA: Fix exception code class checks + - usb: gadget: u_audio: Free requests only after callback + - arm64: dts: qcom: sdm845-db845c: Fix reset-pin of ov8856 node + - soc: ti: pm33xx: Fix some resource leak in the error handling paths of the + probe function + - staging: media: atomisp: Fix size_t format specifier in hmm_alloc() debug + statemenet + - Bluetooth: drop HCI device reference before return + - Bluetooth: Put HCI device if inquiry procedure interrupts + - memory: ti-aemif: Drop child node when jumping out loop + - ARM: dts: Configure missing thermal interrupt for 4430 + - usb: dwc2: Do not update data length if it is 0 on inbound transfers + - usb: dwc2: Abort transaction after errors with unknown reason + - usb: dwc2: Make "trimming xfer length" a debug message + - staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules + - ARM: dts: armada388-helios4: assign pinctrl to LEDs + - ARM: dts: armada388-helios4: assign pinctrl to each fan + - arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to + a53-firmware + - opp: Correct debug message in _opp_add_static_v2() + - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv + - soc: qcom: ocmem: don't return NULL in of_get_ocmem + - arm64: dts: msm8916: Fix reserved and rfsa nodes unit address + - arm64: dts: meson: fix broken wifi node for Khadas VIM3L + - ARM: s3c: fix fiq for clang IAS + - ARM: at91: use proper asm syntax in pm_suspend + - ath10k: Fix suspicious RCU usage warning in + ath10k_wmi_tlv_parse_peer_stats_info() + - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics + - soc: aspeed: snoop: Add clock control logic + - bpf_lru_list: Read double-checked variable once without lock + - ath9k: fix data bus crash when setting nf_override via debugfs + - ibmvnic: Set to CLOSED state even on error + - bnxt_en: reverse order of TX disable and carrier off + - xen/netback: fix spurious event detection for common event case + - net/mlx5e: Don't change interrupt moderation params when DIM is enabled + - net/mlx5e: Change interrupt moderation channel params also when channels are + closed + - net/mlx5e: Replace synchronize_rcu with synchronize_net + - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context + - net/mlx5: Disable devlink reload for multi port slave device + - net/mlx5: Disallow RoCE on multi port slave device + - net/mlx5: Disallow RoCE on lag device + - net/mlx5: Disable devlink reload for lag devices + - mac80211: fix potential overflow when multiplying to u32 integers + - libbpf: Ignore non function pointer member in struct_ops + - bpf: Fix an unitialized value in bpf_iter + - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation + - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx + - tcp: fix SO_RCVLOWAT related hangs under mem pressure + - net: axienet: Handle deferred probe on clock properly + - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 + and ulds + - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case + - bpf: Clear subreg_def for global function return values + - ibmvnic: add memory barrier to protect long term buffer + - ibmvnic: skip send_request_unmap for timeout reset + - net: dsa: felix: perform teardown in reverse order of setup + - net: phy: mscc: adding LCPLL reset to VSC8514 + - net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout + - net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning + - net: amd-xgbe: Reset link when the link never comes back + - net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP + - net: mvneta: Remove per-cpu queue mapping for Armada 3700 + - tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer + - tty: implement read_iter + - fbdev: aty: SPARC64 requires FB_ATY_CT + - drm/gma500: Fix error return code in psb_driver_load() + - gma500: clean up error handling in init + - drm/fb-helper: Add missed unlocks in setcmap_legacy() + - crypto: sun4i-ss - linearize buffers content must be kept + - crypto: sun4i-ss - fix kmap usage + - crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled + - media: allegro: Fix use after free on error + - drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() + - drm: rcar-du: Fix crash when using LVDS1 clock for CRTC + - drm: rcar-du: Fix the return check of of_parse_phandle and + of_find_device_by_node + - drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition + - MIPS: c-r4k: Fix section mismatch for loongson2_sc_init + - MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 + - drm/virtio: make sure context is created in gem open + - media: ipu3-cio2: Build only for x86 + - media: i2c: ov5670: Fix PIXEL_RATE minimum value + - media: imx: Unregister csc/scaler only if registered + - media: imx: Fix csc/scaler unregister + - media: mtk-vcodec: fix error return code in vdec_vp9_decode() + - media: camss: missing error code in msm_video_register() + - media: vsp1: Fix an error handling path in the probe function + - media: em28xx: Fix use-after-free in em28xx_alloc_urbs + - media: media/pci: Fix memleak in empress_init + - media: tm6000: Fix memleak in tm6000_start_stream + - media: aspeed: fix error return code in aspeed_video_setup_video() + - ASoC: cs42l56: fix up error handling in probe + - ASoC: qcom: qdsp6: Move frontend AIFs to q6asm-dai + - evm: Fix memleak in init_desc + - crypto: bcm - Rename struct device_private to bcm_device_private + - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue + - drm/sun4i: tcon: fix inverted DCLK polarity + - media: imx7: csi: Fix regression for parallel cameras on i.MX6UL + - media: imx7: csi: Fix pad link validation + - MIPS: properly stop .eh_frame generation + - MIPS: Compare __SYNC_loongson3_war against 0 + - drm/tegra: Fix reference leak when pm_runtime_get_sync() fails + - drm/amdgpu: toggle on DF Cstate after finishing xgmi injection + - bsg: free the request before return error code + - drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. + - drm/amd/display: Fix HDMI deep color output for DCE 6-11. + - media: software_node: Fix refcounts in software_node_get_next_child() + - media: lmedm04: Fix misuse of comma + - media: atomisp: Fix a buffer overflow in debug code + - media: qm1d1c0042: fix error return code in qm1d1c0042_init() + - media: cx25821: Fix a bug when reallocating some dma memory + - media: pxa_camera: declare variable when DEBUG is defined + - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values + - sched/eas: Don't update misfit status if the task is pinned + - f2fs: compress: fix potential deadlock + - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend + - mtd: parser: imagetag: fix error codes in + bcm963xx_parse_imagetag_partitions() + - crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) + - crypto: talitos - Fix ctr(aes) on SEC1 + - drm/nouveau: bail out of nouveau_channel_new if channel init fails + - mm: proc: Invalidate TLB after clearing soft-dirty page state + - ata: ahci_brcm: Add back regulators management + - ASoC: cpcap: fix microphone timeslot mask + - ASoC: codecs: add missing max_register in regmap config + - mtd: parsers: afs: Fix freeing the part name memory in failure + - f2fs: fix to avoid inconsistent quota data + - drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask() + - f2fs: fix a wrong condition in __submit_bio + - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs + - drm/mediatek: Check if fb is null + - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E + - locking/lockdep: Avoid unmatched unlock + - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during + system shutdown + - ASoC: SOF: debug: Fix a potential issue on string buffer termination + - btrfs: clarify error returns values in __load_free_space_cache + - btrfs: fix double accounting of ordered extent for subpage case in + btrfs_invalidapge + - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 + - drm/lima: fix reference leak in lima_pm_busy + - drm/dp_mst: Don't cache EDIDs for physical ports + - hwrng: timeriomem - Fix cooldown period calculation + - crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() + - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs + - nvmet-tcp: fix potential race of tcp socket closing accept_work + - nvmet: remove extra variable in identify ns + - nvmet: set status to 0 in case for invalid nsid + - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk + - ima: Free IMA measurement buffer on error + - ima: Free IMA measurement buffer after kexec syscall + - ASoC: simple-card-utils: Fix device module clock + - fs/jfs: fix potential integer overflow on shift of a int + - jffs2: fix use after free in jffs2_sum_write_data() + - ubifs: Fix memleak in ubifs_init_authentication + - ubifs: replay: Fix high stack usage, again + - ubifs: Fix error return code in alloc_wbufs() + - irqchip/imx: IMX_INTMUX should not default to y, unconditionally + - smp: Process pending softirqs in flush_smp_call_function_from_idle() + - drm/amdgpu/display: remove hdcp_srm sysfs on device removal + - HSI: Fix PM usage counter unbalance in ssi_hw_init + - power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression + - clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL + - clk: meson: clk-pll: make "ret" a signed integer + - clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate() + - regulator: qcom-rpmh-regulator: add pm8009-1 chip revision + - quota: Fix memory leak when handling corrupted quota file + - i2c: iproc: handle only slave interrupts which are enabled + - i2c: iproc: update slave isr mask (ISR_MASK_SLAVE) + - i2c: iproc: handle master read request + - spi: cadence-quadspi: Abort read if dummy cycles required are too many + - clk: sunxi-ng: h6: Fix CEC clock + - HID: core: detect and skip invalid inputs to snto32() + - RDMA/siw: Fix handling of zero-sized Read and Receive Queues. + - dmaengine: fsldma: Fix a resource leak in the remove function + - dmaengine: fsldma: Fix a resource leak in an error handling path of the + probe function + - dmaengine: owl-dma: Fix a resource leak in the remove function + - dmaengine: hsu: disable spurious interrupt + - mfd: bd9571mwv: Use devm_mfd_add_devices() + - power: supply: cpcap-charger: Fix missing power_supply_put() + - power: supply: cpcap-battery: Fix missing power_supply_put() + - power: supply: cpcap-charger: Fix power_supply_put on null battery pointer + - fdt: Properly handle "no-map" field in the memory region + - of/fdt: Make sure no-map does not remove already reserved regions + - RDMA/rtrs: Extend ibtrs_cq_qp_create + - RDMA/rtrs-srv: Release lock before call into close_sess + - RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect + - RDMA/rtrs-clt: Set mininum limit when create QP + - RDMA/rtrs: Call kobject_put in the failure path + - RDMA/rtrs-srv: Fix missing wr_cqe + - RDMA/rtrs-clt: Refactor the failure cases in alloc_clt + - RDMA/rtrs-srv: Init wr_cnt as 1 + - power: reset: at91-sama5d2_shdwc: fix wkupdbc mask + - rtc: s5m: select REGMAP_I2C + - dmaengine: idxd: set DMA channel to be private + - power: supply: fix sbs-charger build, needs REGMAP_I2C + - clocksource/drivers/ixp4xx: Select TIMER_OF when needed + - clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined + - RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation + - IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex + - clk: sunxi-ng: h6: Fix clock divider range on some clocks + - regulator: axp20x: Fix reference cout leak + - watch_queue: Drop references to /dev/watch_queue + - certs: Fix blacklist flag type confusion + - regulator: s5m8767: Fix reference count leak + - spi: atmel: Put allocated master before return + - regulator: s5m8767: Drop regulators OF node reference + - power: supply: axp20x_usb_power: Init work before enabling IRQs + - regulator: core: Avoid debugfs: Directory ... already present! error + - isofs: release buffer head before return + - watchdog: intel-mid_wdt: Postpone IRQ handler registration till SCU is ready + - auxdisplay: ht16k33: Fix refresh rate handling + - objtool: Fix error handling for STD/CLD warnings + - objtool: Fix ".cold" section suffix check for newer versions of GCC + - iommu: Switch gather->end to the inclusive end + - IB/umad: Return EIO in case of when device disassociated + - IB/umad: Return EPOLLERR in case of when device disassociated + - KVM: PPC: Make the VMX instruction emulation routines static + - powerpc/47x: Disable 256k page size + - powerpc/time: Enable sched clock for irqtime + - mmc: owl-mmc: Fix a resource leak in an error handling path and in the + remove function + - mmc: sdhci-sprd: Fix some resource leaks in the remove function + - mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe + - mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to + 128-bytes + - ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores + - i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct + - amba: Fix resource leak for drivers without .remove + - iommu: Move iotlb_sync_map out from __iommu_map + - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping + - IB/mlx5: Return appropriate error code instead of ENOMEM + - IB/cm: Avoid a loop when device has 255 ports + - tracepoint: Do not fail unregistering a probe due to memory failure + - rtc: zynqmp: depend on HAS_IOMEM + - perf tools: Fix DSO filtering when not finding a map for a sampled address + - perf vendor events arm64: Fix Ampere eMag event typo + - RDMA/rxe: Fix coding error in rxe_recv.c + - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt + - RDMA/rxe: Correct skb on loopback path + - spi: stm32: properly handle 0 byte transfer + - mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() + - powerpc/pseries/dlpar: handle ibm, configure-connector delay status + - powerpc/8xx: Fix software emulation interrupt + - clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs + - kunit: tool: fix unit test cleanup handling + - kselftests: dmabuf-heaps: Fix Makefile's inclusion of the kernel's + usr/include dir + - RDMA/hns: Fixed wrong judgments in the goto branch + - RDMA/siw: Fix calculation of tx_valid_cpus size + - RDMA/hns: Fix type of sq_signal_bits + - RDMA/hns: Disable RQ inline by default + - clk: divider: fix initialization with parent_hw + - spi: pxa2xx: Fix the controller numbering for Wildcat Point + - powerpc/uaccess: Avoid might_fault() when user access is enabled + - powerpc/kuap: Restore AMR after replaying soft interrupts + - regulator: qcom-rpmh: fix pm8009 ldo7 + - clk: aspeed: Fix APLL calculate formula from ast2600-A2 + - regulator: bd718x7, bd71828, Fix dvs voltage levels + - nfsd: register pernet ops last, unregister first + - ceph: fix flush_snap logic after putting caps + - RDMA/hns: Fixes missing error code of CMDQ + - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent + - RDMA/rtrs-srv: Fix stack-out-of-bounds + - RDMA/rtrs: Only allow addition of path to an already established session + - RDMA/rtrs-srv: fix memory leak by missing kobject free + - RDMA/rtrs-srv-sysfs: fix missing put_device + - RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR() + - Input: sur40 - fix an error code in sur40_probe() + - perf intel-pt: Fix missing CYC processing in PSB + - perf intel-pt: Fix premature IPC + - perf intel-pt: Fix IPC with CYC threshold + - perf test: Fix unaligned access in sample parsing test + - Input: elo - fix an error code in elo_connect() + - sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set + - sparc: fix led.c driver when PROC_FS is not enabled + - ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled + - misc: eeprom_93xx46: Fix module alias to enable module autoprobe + - phy: rockchip-emmc: emmc_phy_init() always return 0 + - misc: eeprom_93xx46: Add module alias to avoid breaking support for non + device tree users + - PCI: rcar: Always allocate MSI addresses in 32bit space + - soundwire: cadence: fix ACK/NAK handling + - pwm: rockchip: Enable APB clock during register access while probing + - pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() + - pwm: rockchip: Eliminate potential race condition when probing + - VMCI: Use set_page_dirty_lock() when unregistering guest memory + - PCI: Align checking of syscall user config accessors + - mei: hbm: call mei_set_devstate() on hbm stop response + - drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) + - drm/msm/mdp5: Fix wait-for-commit for cmd panels + - drm/msm: Fix race of GPU init vs timestamp power management. + - drm/msm: Fix races managing the OOB state for timestamp vs timestamps. + - vfio/iommu_type1: Populate full dirty when detach non-pinned group + - vfio/iommu_type1: Fix some sanity checks in detach group + - ext4: fix potential htree index checksum corruption + - nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of() + - nvmem: core: skip child nodes not matching binding + - soundwire: bus: use sdw_update_no_pm when initializing a device + - soundwire: export sdw_write/read_no_pm functions + - soundwire: bus: fix confusion on device used by pm_runtime + - misc: fastrpc: fix incorrect usage of dma_map_sgtable + - regmap: sdw: use _no_pm functions in regmap_read/write + - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it + - mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL + - PCI: pci-bridge-emul: Fix array overruns, improve safety + - i40e: Fix flow for IPv6 next header (extension header) + - i40e: Add zero-initialization of AQ command structures + - i40e: Fix overwriting flow control settings during driver loading + - i40e: Fix addition of RX filters after enabling FW LLDP agent + - i40e: Fix VFs not created + - Take mmap lock in cacheflush syscall + - i40e: Fix add TC filter for IPv6 + - octeontx2-af: Fix an off by one in rvu_dbg_qsize_write() + - vfio/type1: Use follow_pte() + - ice: report correct max number of TCs + - ice: Account for port VLAN in VF max packet size calculation + - ice: Fix state bits on LLDP mode switch + - ice: update the number of available RSS queues + - net: stmmac: fix CBS idleslope and sendslope calculation + - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() + - vxlan: move debug check after netdev unregister + - wireguard: device: do not generate ICMP for non-IP packets + - wireguard: kconfig: use arm chacha even with no neon + - ocfs2: fix a use after free on error + - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving + - mm/memory.c: fix potential pte_unmap_unlock pte error + - mm/hugetlb: fix potential double free in hugetlb_register_node() error path + - mm/hugetlb: suppress wrong warning info when alloc gigantic page + - mm/compaction: fix misbehaviors of fast_find_migrateblock() + - r8169: fix jumbo packet handling on RTL8168e + - arm64: Add missing ISB after invalidating TLB in __primary_switch + - i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition + - i2c: exynos5: Preserve high speed master code + - mm,thp,shmem: make khugepaged obey tmpfs mount flags + - mm/rmap: fix potential pte_unmap on an not mapped pte + - proc: use kvzalloc for our kernel buffer + - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors + - ide/falconide: Fix module unload + - scsi: sd: Fix Opal support + - blk-settings: align max_sectors on "logical_block_size" boundary + - soundwire: intel: fix possible crash when no device is detected + - ACPI: property: Fix fwnode string properties matching + - ACPI: configfs: add missing check after configfs_register_default_group() + - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known + - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming + - HID: wacom: Ignore attempts to overwrite the touch_max value from HID + - Input: raydium_ts_i2c - do not send zero length + - Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox + Series X|S + - Input: joydev - prevent potential read overflow in ioctl + - Input: i8042 - add ASUS Zenbook Flip to noselftest list + - media: mceusb: Fix potential out-of-bounds shift + - USB: serial: option: update interface mapping for ZTE P685M + - usb: musb: Fix runtime PM race in musb_queue_resume_work + - USB: serial: ftdi_sio: fix FTX sub-integer prescaler + - USB: serial: pl2303: fix line-speed handling on newer chips + - USB: serial: mos7840: fix error code in mos7840_write() + - USB: serial: mos7720: fix error code in mos7720_write() + - phy: lantiq: rcu-usb2: wait after clock enable + - ALSA: fireface: fix to parse sync status register of latter protocol + - ALSA: hda: Add another CometLake-H PCI ID + - ALSA: hda/hdmi: Drop bogus check at closing a stream + - ALSA: hda/realtek: modify EAPD in the ALC886 + - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup + - MIPS: Ingenic: Disable HPTLB for D0 XBurst CPUs too + - MIPS: Support binutils configured with --enable-mips-fix-loongson3-llsc=yes + - MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target=' + - Revert "MIPS: Octeon: Remove special handling of + CONFIG_MIPS_ELF_APPENDED_DTB=y" + - Revert "bcache: Kill btree_io_wq" + - bcache: Give btree_io_wq correct semantics again + - bcache: Move journal work to new flush wq + - Revert "drm/amd/display: Update NV1x SR latency values" + - drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth() + - drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1 + - drm/amdkfd: Fix recursive lock warnings + - drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2) + - drm/nouveau/kms: handle mDP connectors + - drm/modes: Switch to 64bit maths to avoid integer overflow + - drm/sched: Cancel and flush all outstanding jobs before finish. + - drm/panel: kd35t133: allow using non-continuous dsi clock + - drm/rockchip: Require the YTR modifier for AFBC + - ASoC: siu: Fix build error by a wrong const prefix + - selinux: fix inconsistency between inode_getxattr and inode_listsecurity + - erofs: initialized fields can only be observed after bit is set + - tpm_tis: Fix check_locality for correct locality acquisition + - tpm_tis: Clean up locality release + - KEYS: trusted: Fix incorrect handling of tpm_get_random() + - KEYS: trusted: Fix migratable=1 failing + - KEYS: trusted: Reserve TPM for seal and unseal operations + - btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node + - btrfs: do not warn if we can't find the reloc root when looking up backref + - btrfs: add asserts for deleting backref cache nodes + - btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root + - btrfs: fix reloc root leak with 0 ref reloc roots on recovery + - btrfs: splice remaining dirty_bg's onto the transaction dirty bg list + - btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself + - btrfs: account for new extents being deleted in total_bytes_pinned + - btrfs: fix extent buffer leak on failure to copy root + - drm/i915/gt: Flush before changing register state + - drm/i915/gt: Correct surface base address for renderclear + - crypto: arm64/sha - add missing module aliases + - crypto: aesni - prevent misaligned buffers on the stack + - crypto: michael_mic - fix broken misalignment handling + - crypto: sun4i-ss - checking sg length is not sufficient + - crypto: sun4i-ss - handle BigEndian for cipher + - crypto: sun4i-ss - initialize need_fallback + - soc: samsung: exynos-asv: don't defer early on not-supported SoCs + - soc: samsung: exynos-asv: handle reading revision register error + - seccomp: Add missing return in non-void function + - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) + - misc: rtsx: init of rts522a add OCP power off when no card is present + - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue + - pstore: Fix typo in compression option name + - dts64: mt7622: fix slow sd card access + - arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2 + - staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c + - staging: gdm724x: Fix DMA from stack + - staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table + - media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt() + - media: smipcie: fix interrupt handling and IR timeout + - x86/virt: Eat faults on VMXOFF in reboot flows + - x86/reboot: Force all cpus to exit VMX root if VMX is supported + - x86/fault: Fix AMD erratum #91 errata fixup for user code + - x86/entry: Fix instrumentation annotation + - powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan + - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers + - rcu/nocb: Perform deferred wake up before last idle's need_resched() check + - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 + - arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() + fails + - arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing + - arm64 module: set plt* section addresses to 0x0 + - arm64: spectre: Prevent lockdep splat on v4 mitigation enable path + - riscv: Disable KSAN_SANITIZE for vDSO + - watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ + - watchdog: mei_wdt: request stop on unregister + - coresight: etm4x: Handle accesses to TRCSTALLCTLR + - mtd: spi-nor: sfdp: Fix last erase region marking + - mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region + - mtd: spi-nor: core: Fix erase type discovery for overlaid region + - mtd: spi-nor: core: Add erase size check for erase command initialization + - mtd: spi-nor: hisi-sfc: Put child node np on error path + - fs/affs: release old buffer head on error path + - seq_file: document how per-entry resources are managed. + - x86: fix seq_file iteration for pat/memtype.c + - mm: memcontrol: fix swap undercounting in cgroup2 + - hugetlb: fix update_and_free_page contig page struct assumption + - hugetlb: fix copy_huge_page_from_user contig page struct assumption + - mm/vmscan: restore zone_reclaim_mode ABI + - mm, compaction: make fast_isolate_freepages() stay within zone + - nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer + - module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols + - mmc: sdhci-esdhc-imx: fix kernel panic when remove module + - powerpc/32s: Add missing call to kuep_lock on syscall entry + - spmi: spmi-pmic-arb: Fix hw_irq overflow + - mei: me: emmitsburg workstation DID + - mei: me: add adler lake point S DID + - mei: me: add adler lake point LP DID + - gpio: pcf857x: Fix missing first interrupt + - mfd: gateworks-gsc: Fix interrupt type + - printk: fix deadlock when kernel panic + - exfat: fix shift-out-of-bounds in exfat_fill_super() + - zonefs: Fix file size of zones in full condition + - [Config] updateconfigs for KCMP + - kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE + - thermal: cpufreq_cooling: freq_qos_update_request() returns < 0 on error + - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument + - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if + available + - proc: don't allow async path resolution of /proc/thread-self components + - s390/vtime: fix inline assembly clobber list + - virtio/s390: implement virtio-ccw revision 2 correctly + - um: mm: check more comprehensively for stub changes + - um: defer killing userspace on page table update failures + - irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap + - f2fs: fix out-of-repair __setattr_copy() + - f2fs: enforce the immutable flag on open files + - f2fs: flush data when enabling checkpoint back + - sparc32: fix a user-triggerable oops in clear_user() + - spi: fsl: invert spisel_boot signal on MPC8309 + - spi: spi-synquacer: fix set_cs handling + - gfs2: fix glock confusion in function signal_our_withdraw + - gfs2: Don't skip dlm unlock if glock has an lvb + - gfs2: Lock imbalance on error path in gfs2_recover_one + - gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end + - dm: fix deadlock when swapping to encrypted device + - dm writecache: fix performance degradation in ssd mode + - dm writecache: return the exact table values that were set + - dm writecache: fix writing beyond end of underlying device when shrinking + - dm era: Recover committed writeset after crash + - dm era: Update in-core bitset after committing the metadata + - dm era: Verify the data block size hasn't changed + - dm era: Fix bitset memory leaks + - dm era: Use correct value size in equality function of writeset tree + - dm era: Reinitialize bitset cache before digesting a new writeset + - dm era: only resize metadata in preresume + - drm/i915: Reject 446-480MHz HDMI clock on GLK + - kgdb: fix to kill breakpoints on initmem after boot + - wireguard: selftests: test multiple parallel streams + - wireguard: queueing: get rid of per-peer ring buffers + - net: sched: fix police ext initialization + - net: qrtr: Fix memory leak in qrtr_tun_open + - ARM: dts: aspeed: Add LCLK to lpc-snoop + - ipv6: icmp6: avoid indirect call for icmpv6_send() + * Mute/Mic-mute LEDs are not work on HP 850/840/440 G8 Laptops (LP: #1920030) + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 + * Groovy update: upstream stable patchset 2021-03-19 (LP: #1920571) + - af_key: relax availability checks for skb size calculation + - regulator: core: avoid regulator_resolve_supply() race condition + - ASoC: wm_adsp: Fix control name parsing for multi-fw + - mac80211: 160MHz with extended NSS BW in CSA + - ASoC: Intel: Skylake: Zero snd_ctl_elem_value + - chtls: Fix potential resource leak + - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() + - pNFS/NFSv4: Improve rejection of out-of-order layouts + - ALSA: hda: intel-dsp-config: add PCI id for TGL-H + - ASoC: ak4458: correct reset polarity + - ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E + - iwlwifi: mvm: skip power command when unbinding vif during CSA + - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() + - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap + - iwlwifi: pcie: fix context info memory leak + - iwlwifi: mvm: invalidate IDs of internal stations at mvm start + - iwlwifi: pcie: add rules to match Qu with Hr2 + - iwlwifi: mvm: guard against device removal in reprobe + - SUNRPC: Move simple_get_bytes and simple_get_netobj into private header + - SUNRPC: Handle 0 length opaque XDR object data properly + - i2c: mediatek: Move suspend and resume handling to NOIRQ phase + - blk-cgroup: Use cond_resched() when destroy blkgs + - regulator: Fix lockdep warning resolving supplies + - bpf: Fix verifier jmp32 pruning decision logic + - bpf: Fix verifier jsgt branch analysis on max bound + - drm/i915: Fix ICL MG PHY vswing handling + - drm/i915: Skip vswing programming for TBT + - nilfs2: make splice write available again + - squashfs: avoid out of bounds writes in decompressors + - squashfs: add more sanity checks in id lookup + - squashfs: add more sanity checks in inode lookup + - squashfs: add more sanity checks in xattr id lookup + - gpio: mxs: GPIO_MXS should not default to y unconditionally + - gpio: ep93xx: fix BUG_ON port F usage + - gpio: ep93xx: Fix single irqchip with multi gpiochips + - tracing: Do not count ftrace events in top level enable output + - tracing: Check length before giving out the filter buffer + - drm/i915: Fix overlay frontbuffer tracking + - arm/xen: Don't probe xenbus as part of an early initcall + - cgroup: fix psi monitor for root cgroup + - drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it + - drm/dp_mst: Don't report ports connected if nothing is attached to them + - dmaengine: move channel device_node deletion to driver + - soc: ti: omap-prm: Fix boot time errors for rst_map_012 bits 0 and 1 + - arm64: dts: rockchip: Fix PCIe DT properties on rk3399 + - arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc + - ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled + - arm64: dts: rockchip: remove interrupt-names property from rk3399 vdec node + - platform/x86: hp-wmi: Disable tablet-mode reporting by default + - ovl: perform vfs_getxattr() with mounter creds + - cap: fix conversions on getxattr + - ovl: skip getxattr of security labels + - scsi: lpfc: Fix EEH encountering oops with NVMe traffic + - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder + Lake CPUs + - x86/split_lock: Enable the split lock feature on another Alder Lake CPU + - nvme-pci: ignore the subsysem NQN on Phison E16 + - drm/amd/display: Fix DPCD translation for LTTPR AUX_RD_INTERVAL + - drm/amd/display: Add more Clock Sources to DCN2.1 + - drm/amd/display: Release DSC before acquiring + - drm/amd/display: Fix dc_sink kref count in emulated_link_detect + - drm/amd/display: Free atomic state after drm_atomic_commit + - drm/amd/display: Decrement refcount of dc_sink before reassignment + - riscv: virt_addr_valid must check the address belongs to linear mapping + - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL + - kallsyms: fix nonconverging kallsyms table with lld + - ARM: ensure the signal page contains defined contents + - ARM: kexec: fix oops after TLB are invalidated + - ubsan: implement __ubsan_handle_alignment_assumption + - x86/efi: Remove EFI PGD build time checks + - lkdtm: don't move ctors to .rodata + - cgroup-v1: add disabled controller check in cgroup1_parse_param() + - mt76: dma: fix a possible memory leak in mt76_add_fragment() + - drm/vc4: hvs: Fix buffer overflow with the dlist handling + - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 + - bpf: Check for integer overflow when using roundup_pow_of_two() + - netfilter: xt_recent: Fix attempt to update deleted entry + - netfilter: nftables: fix possible UAF over chains from packet path in netns + - netfilter: flowtable: fix tcp and udp header checksum update + - xen/netback: avoid race in xenvif_rx_ring_slots_available() + - net: hdlc_x25: Return meaningful error code in x25_open + - net: ipa: set error code in gsi_channel_setup() + - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() + - net: enetc: initialize the RFS and RSS memories + - selftests: txtimestamp: fix compilation issue + - net: stmmac: set TxQ mode back to DCB after disabling CBS + - ibmvnic: Clear failover_pending if unable to schedule + - netfilter: conntrack: skip identical origin tuple in same zone only + - scsi: scsi_debug: Fix a memory leak + - x86/build: Disable CET instrumentation in the kernel for 32-bit too + - net: hns3: add a check for queue_id in hclge_reset_vf_queue() + - net: hns3: add a check for tqp_index in hclge_get_ring_chain_from_mbx() + - net: hns3: add a check for index in hclge_get_rss_key() + - firmware_loader: align .builtin_fw to 8 + - drm/sun4i: tcon: set sync polarity for tcon1 channel + - drm/sun4i: dw-hdmi: always set clock rate + - drm/sun4i: Fix H6 HDMI PHY configuration + - drm/sun4i: dw-hdmi: Fix max. frequency for H6 + - clk: sunxi-ng: mp: fix parent rate change flag check + - i2c: stm32f7: fix configuration of the digital filter + - h8300: fix PREEMPTION build, TI_PRE_COUNT undefined + - scripts: set proper OpenSSL include dir also for sign-file + - rxrpc: Fix clearance of Tx/Rx ring when releasing a call + - udp: fix skb_copy_and_csum_datagram with odd segment sizes + - net: dsa: call teardown method on probe failure + - cpufreq: ACPI: Extend frequency tables to cover boost frequencies + - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not + there + - net: gro: do not keep too many GRO packets in napi->rx_list + - net: fix iteration for sctp transport seq_files + - net/vmw_vsock: fix NULL pointer dereference + - net/vmw_vsock: improve locking in vsock_connect_timeout() + - net: watchdog: hold device global xmit lock during tx disable + - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state + - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT + - vsock/virtio: update credit only if socket is not closed + - vsock: fix locking in vsock_shutdown() + - net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS + - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() + - ovl: expand warning in ovl_d_real() + - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq + - usb: dwc3: ulpi: fix checkpatch warning + - net: qrtr: Fix port ID for control messages + - mptcp: skip to next candidate if subflow has unacked data + - mt76: mt7915: fix endian issues + - mt76: mt7615: fix rdd mcu cmd endianness + - net: sched: incorrect Kconfig dependencies on Netfilter modules + - net: openvswitch: fix TTL decrement exception action execution + - net: bridge: Fix a warning when del bridge sysfs + - net: fix proc_fs init handling in af_packet and tls + - Xen/x86: don't bail early from clear_foreign_p2m_mapping() + - Xen/x86: also check kernel mapping in set_foreign_p2m_mapping() + - Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages() + - Xen/gntdev: correct error checking in gntdev_map_grant_pages() + - xen/arm: don't ignore return errors from set_phys_to_machine + - xen-blkback: don't "handle" error by BUG() + - xen-netback: don't "handle" error by BUG() + - xen-scsiback: don't "handle" error by BUG() + - xen-blkback: fix error handling in xen_blkbk_map() + - tty: protect tty_write from odd low-level tty disciplines + - btrfs: fix backport of 2175bf57dc952 in 5.10.13 + - media: pwc: Use correct device for DMA + - HID: make arrays usage and value to be the same + - RDMA: Lift ibdev_to_node from rds to common code + - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device + - USB: quirks: sort quirk entries + - usb: quirks: add quirk to start video capture on ELMO L-12F document camera + reliable + - ceph: downgrade warning from mdsmap decode to debug + - ntfs: check for valid standard information attribute + - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working + - arm64: tegra: Add power-domain for Tegra210 HDA + - hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist + - mm: unexport follow_pte_pmd + - mm: simplify follow_pte{,pmd} + - KVM: do not assume PTE is writable after follow_pfn + - mm: provide a saner PTE walking API for modules + - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() + - NET: usb: qmi_wwan: Adding support for Cinterion MV31 + - cxgb4: Add new T6 PCI device id 0x6092 + - kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 + - scripts/recordmcount.pl: support big endian for ARCH sh + * Groovy update: upstream stable patchset 2021-03-12 (LP: #1918987) + - net: fec: put child node on error path + - net: octeontx2: Make sure the buffer is 128 byte aligned + - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing + - net: dsa: bcm_sf2: put device node before return + - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP + - ibmvnic: Ensure that CRQ entry read are correctly ordered + - iommu/io-pgtable-arm: Support coherency for Mali LPAE + - drm/panfrost: Support cache-coherent integrations + - arm64: dts: meson: Describe G12b GPU as coherent + - arm64: Fix kernel address detection of __is_lm_address() + - arm64: Do not pass tagged addresses to __is_lm_address() + - ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD + - iommu/vt-d: Do not use flush-queue when caching-mode is on + - phy: cpcap-usb: Fix warning for missing regulator_disable + - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency + - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or + base_frequency + - platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on + Estar Beauty HD tablet + - platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352 + - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP + - x86: __always_inline __{rd,wr}msr() + - scsi: scsi_transport_srp: Don't block target in failfast state + - scsi: libfc: Avoid invoking response handler twice if ep is already + completed + - scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 + - ALSA: hda - add Intel DG1 PCI and HDMI ids + - ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid + - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid + - objtool: Don't add empty symbols to the rbtree + - mac80211: fix incorrect strlen of .write in debugfs + - mac80211: fix fast-rx encryption check + - scsi: ibmvfc: Set default timeout to avoid crash during migration + - i2c: tegra: Create i2c_writesl_vi() to use with VI I2C for filling TX FIFO + - udf: fix the problem that the disc content is not displayed + - nvme: check the PRINFO bit before deciding the host buffer length + - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout + - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout + - nvme-pci: allow use of cmb on v1.4 controllers + - nvmet: set right status on error in id-ns handler + - platform/x86: thinkpad_acpi: Add P53/73 firmware to fan_quirk_table for dual + fan control + - selftests/powerpc: Only test lwm/stmw on big endian + - drm/amd/display: Update dram_clock_change_latency for DCN2.1 + - drm/amd/display: Change function decide_dp_link_settings to avoid infinite + looping + - drm/amd/display: Use hardware sequencer functions for PG control + - objtool: Don't fail the kernel build on fatal errors + - x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel + CPU family + - x86/cpu: Add another Alder Lake CPU to the Intel family + - kthread: Extract KTHREAD_IS_PER_CPU + - workqueue: Restrict affinity change to rescuer + - Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT"" + - ACPI: thermal: Do not call acpi_thermal_check() directly + - USB: serial: cp210x: add pid/vid for WSDA-200-USB + - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 + - USB: serial: option: Adding support for Cinterion MV31 + - usb: host: xhci-plat: add priv quirk for skip PHY initialization + - usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 + - USB: gadget: legacy: fix an error code in eth_bind() + - usb: gadget: aspeed: add missing of_node_put + - USB: usblp: don't call usb_set_interface if there's a single alt + - usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop() + - usb: dwc2: Fix endpoint direction check in ep_from_windex + - usb: dwc3: fix clock issue during resume in OTG mode + - usb: xhci-mtk: fix unreleased bandwidth data + - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints + - usb: xhci-mtk: break loop when find the endpoint to drop + - ARM: OMAP1: OSK: fix ohci-omap breakage + - arm64: dts: qcom: c630: keep both touchpad devices enabled + - arm64: dts: amlogic: meson-g12: Set FL-adj property value + - arm64: dts: rockchip: fix vopl iommu irq on px30 + - arm64: dts: rockchip: Use only supported PCIe link speed on Pinebook Pro + - ARM: dts: stm32: Connect card-detect signal on DHCOM + - ARM: dts: stm32: Disable WP on DHCOM uSD slot + - um: virtio: free vu_dev only with the contained struct device + - arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4 + - r8169: work around RTL8125 UDP hw bug + - rxrpc: Fix deadlock around release of dst cached on udp tunnel + - arm64: dts: ls1046a: fix dcfg address range + - SUNRPC: Fix NFS READs that start at non-page-aligned offsets + - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr + - igc: check return value of ret_val in igc_config_fc_after_link_up + - i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" + - ibmvnic: device remove has higher precedence over reset + - net/mlx5: Fix leak upon failure of rule creation + - net/mlx5e: Update max_opened_tc also when channels are closed + - net/mlx5e: Release skb in case of failure in tc update skb + - net: lapb: Copy the skb before sending a packet + - net: mvpp2: TCAM entry enable should be written after SRAM data + - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set + - net: ipa: pass correct dma_handle to dma_free_coherent() + - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode + - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs + - memblock: do not start bottom-up allocations with kernel_end + - ovl: fix dentry leak in ovl_get_redirect + - mac80211: fix station rate table updates on assoc + - gpiolib: free device name on error path to fix kmemleak + - fgraph: Initialize tracing_graph_pause at task creation + - tracing/kprobe: Fix to support kretprobe events on unloaded modules + - kretprobe: Avoid re-registration of the same kretprobe earlier + - tracing: Use pause-on-trace with the latency tracers + - libnvdimm/namespace: Fix visibility of namespace resource attribute + - libnvdimm/dimm: Avoid race between probe and available_slots_show() + - genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 + - genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set + - scripts: use pkg-config to locate libcrypto + - xhci: fix bounce buffer usage for non-sg list case + - RISC-V: Define MAXPHYSMEM_1GB only for RV32 + - cifs: report error instead of invalid when revalidating a dentry fails + - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it + - smb3: Fix out-of-bounds bug in SMB2_negotiate() + - smb3: fix crediting for compounding when only one request in flight + - mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb + - mmc: core: Limit retries when analyse of SDIO tuples fails + - Fix unsynchronized access to sev members through svm_register_enc_region + - drm/i915/display: Prevent double YUV range correction on HDR planes + - drm/i915: Extract intel_ddi_power_up_lanes() + - drm/i915: Power up combo PHY lanes for for HDMI as well + - drm/amd/display: Revert "Fix EDID parsing after resume from suspend" + - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs + - KVM: SVM: Treat SVM as unsupported when running as an SEV guest + - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off + - KVM: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl + - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode + - DTS: ARM: gta04: remove legacy spi-cs-high to make display work again + - ARM: dts; gta04: SPI panel chip select is active low + - ARM: footbridge: fix dc21285 PCI configuration accessors + - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page + - mm: hugetlb: fix a race between freeing and dissolving the page + - mm: hugetlb: fix a race between isolating and freeing page + - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active + - mm, compaction: move high_pfn to the for loop scope + - mm: thp: fix MADV_REMOVE deadlock on shmem THP + - mm/filemap: add missing mem_cgroup_uncharge() to + __add_to_page_cache_locked() + - x86/build: Disable CET instrumentation in the kernel + - x86/debug: Fix DR6 handling + - x86/debug: Prevent data breakpoints on __per_cpu_offset + - x86/debug: Prevent data breakpoints on cpu_dr7 + - x86/apic: Add extra serialization for non-serializing MSRs + - Input: goodix - add support for Goodix GT9286 chip + - Input: xpad - sync supported devices with fork on GitHub + - Input: ili210x - implement pressure reporting for ILI251x + - md: Set prev_flush_start and flush_bio in an atomic way + - neighbour: Prevent a dead entry from updating gc_list + - net: ip_tunnel: fix mtu calculation + - udp: ipv4: manipulate network header of NATed UDP GRO fraglist + - net: dsa: mv88e6xxx: override existent unicast portvec in port_fdb_add + - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace + - iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues + * power off stress test will hang on the TGL machines (LP: #1919930) + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + * eeh-basic.sh from powerpc in ubuntu_kernel_selftests failed with unexpected + operator on F-5.8 (LP: #1909428) + - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant + + -- Kleber Sacilotto de Souza Mon, 19 Apr 2021 17:53:35 +0200 + +linux-riscv (5.8.0-22.24) groovy; urgency=medium + + [ Ubuntu: 5.8.0-50.56 ] + + * overlayfs calls vfs_setxattr without cap_convert_nscap + - vfs: move cap_convert_nscap() call into vfs_setxattr() + * 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 + * CVE-2021-29154 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-64 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-32 + + -- Kelsey Skunberg Mon, 12 Apr 2021 15:36:17 -0600 + +linux-riscv (5.8.0-21.23) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-21.23 -proposed tracker (LP: #1921051) + + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - [Config] riscv: Update policy for BDC_PCI changes + + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - Revert "SiFive Unleashed CPUFreq" + - [Config] Update annotations for CPUFreq revert + - [Config] riscv: Updateconfigs after recent changes + + [ Ubuntu: 5.8.0-49.55 ] + + * groovy/linux: 5.8.0-49.55 -proposed tracker (LP: #1921053) + * selftests: bpf verifier fails after sanitize_ptr_alu fixes (LP: #1920995) + - bpf: Simplify alu_limit masking for pointer arithmetic + - bpf: Add sanity check for upper ptr_limit + - bpf, selftests: Fix up some test_verifier cases for unprivileged + * Packaging resync (LP: #1786013) + - update dkms package versions + * improper memcg accounting causes NULL pointer derefs (LP: #1918668) + - SAUCE: Revert "mm: memcg/slab: optimize objcg stock draining" + * kernel: Enable CONFIG_BPF_LSM on Ubuntu (LP: #1905975) + - [Config] Enable CONFIG_BPF_LSM + * Groovy update: upstream stable patchset 2021-03-10 (LP: #1918516) + - gpio: mvebu: fix pwm .get_state period calculation + - HID: wacom: Correct NULL dereference on AES pen proximity + - media: v4l2-subdev.h: BIT() is not available in userspace + - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC + - kernel/io_uring: cancel io_uring before task works + - io_uring: dont kill fasync under completion_lock + - objtool: Don't fail on missing symbol table + - mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint + - mm: fix a race on nr_swap_pages + - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions + - iwlwifi: provide gso_type to GSO packets + - tty: avoid using vfs_iocb_iter_write() for redirected console writes + - ACPI: sysfs: Prefer "compatible" modalias + - kernel: kexec: remove the lock operation of system_transition_mutex + - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 + - ALSA: hda/via: Apply the workaround generically for Clevo machines + - parisc: Enable -mlong-calls gcc option by default when !CONFIG_MODULES + - media: cec: add stm32 driver + - media: hantro: Fix reset_raw_fmt initialization + - media: rc: fix timeout handling after switch to microsecond durations + - media: rc: ite-cir: fix min_timeout calculation + - media: rc: ensure that uevent can be read directly after rc device register + - ARM: dts: tbs2910: rename MMC node aliases + - ARM: dts: ux500: Reserve memory carveouts + - ARM: dts: imx6qdl-gw52xx: fix duplicate regulator naming + - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() + - ASoC: AMD Renoir - refine DMI entries for some Lenovo products + - drm/i915: Always flush the active worker before returning from the wait + - drm/i915/gt: Always try to reserve GGTT address 0x0 + - drivers/nouveau/kms/nv50-: Reject format modifiers for cursor planes + - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family + - s390: uv: Fix sysfs max number of VCPUs reporting + - s390/vfio-ap: No need to disable IRQ after queue reset + - PM: hibernate: flush swap writer after marking + - x86/entry: Emit a symbol for register restoring thunk + - efi/apple-properties: Reinstate support for boolean properties + - drivers: soc: atmel: Avoid calling at91_soc_init on non AT91 SoCs + - drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[] + - btrfs: fix possible free space tree corruption with online conversion + - KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in + intel_arch_events[] + - KVM: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() + - KVM: nVMX: Sync unsync'd vmcs02 state to vmcs12 on migration + - KVM: x86: get smi pending status correctly + - KVM: Forbid the use of tagged userspace addresses for memslots + - xen: Fix XenStore initialisation for XS_LOCAL + - leds: trigger: fix potential deadlock with libata + - arm64: dts: broadcom: Fix USB DMA address translation for Stingray + - mt7601u: fix kernel crash unplugging the device + - mt7601u: fix rx buffer refcounting + - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. + - drm/i915/gt: Clear CACHE_MODE prior to clearing residuals + - drm/i915/pmu: Don't grab wakeref when enabling events + - net/mlx5e: Fix IPSEC stats + - ARM: dts: imx6qdl-kontron-samx6i: fix pwms for lcd-backlight + - drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices + - drm/i915: Check for all subplatform bits + - drm/i915/selftest: Fix potential memory leak + - uapi: fix big endian definition of ipv6_rpl_sr_hdr + - KVM: Documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM + - tee: optee: replace might_sleep with cond_resched + - xen-blkfront: allow discard-* nodes to be optional + - clk: mmp2: fix build without CONFIG_PM + - clk: qcom: gcc-sm250: Use floor ops for sdcc clks + - ARM: imx: build suspend-imx6.S with arm instruction set + - ARM: zImage: atags_to_fdt: Fix node names on added root nodes + - netfilter: nft_dynset: add timeout extension to template + - Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" + - xfrm: Fix oops in xfrm_replay_advance_bmp + - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces + - xfrm: Fix wraparound in xfrm_policy_addr_delta() + - arm64: dts: ls1028a: fix the offset of the reset register + - ARM: dts: imx6qdl-kontron-samx6i: fix i2c_lcd/cam default status + - ARM: dts: imx6qdl-sr-som: fix some cubox-i platforms + - arm64: dts: imx8mp: Correct the gpio ranges of gpio3 + - firmware: imx: select SOC_BUS to fix firmware build + - RDMA/cxgb4: Fix the reported max_recv_sge value + - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete + - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() + - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn + - iwlwifi: pcie: set LTR on more devices + - iwlwifi: pcie: use jiffies for memory read spin time limit + - iwlwifi: pcie: reschedule in long-running memory reads + - mac80211: pause TX while changing interface type + - ice: fix FDir IPv6 flexbyte + - ice: Implement flow for IPv6 next header (extension header) + - ice: update dev_addr in ice_set_mac_address even if HW filter exists + - ice: Don't allow more channels than LAN MSI-X available + - ice: Fix MSI-X vector fallback logic + - i40e: acquire VSI pointer only after VF is initialized + - igc: fix link speed advertising + - net/mlx5: Fix memory leak on flow table creation error flow + - net/mlx5e: E-switch, Fix rate calculation for overflow + - net/mlx5e: free page before return + - net/mlx5e: Reduce tc unsupported key print level + - net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled + - net/mlx5e: Fix CT rule + encap slow path offload and deletion + - net/mlx5e: Correctly handle changing the number of queues when the interface + is down + - net/mlx5e: Revert parameters on errors when changing trust state without + reset + - net/mlx5e: Revert parameters on errors when changing MTU and LRO state + without reset + - can: dev: prevent potential information leak in can_fill_info() + - ACPI/IORT: Do not blindly trust DMA masks from firmware + - iommu/amd: Use IVHD EFR for early initialization of IOMMU features + - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() + - nvme-multipath: Early exit if no path is available + - selftests: forwarding: Specify interface when invoking mausezahn + - rxrpc: Fix memory leak in rxrpc_lookup_local + - NFC: fix resource leak when target index is invalid + - NFC: fix possible resource leak + - ASoC: topology: Properly unregister DAI on removal + - ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() + - team: protect features update by RCU to avoid deadlock + - tcp: make TCP_USER_TIMEOUT accurate for zero window probes + - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN + - ICMPv6: Add ICMPv6 Parameter Problem, code 3 definition + - IPv6: reply ICMP error if the first fragment don't include all headers + - iommu/vt-d: Gracefully handle DMAR units with no supported address widths + * xfrm_policy.sh in net from ubuntu_kernel_selftests passed with failed sub- + cases (LP: #1909647) + - selftests: xfrm: fix test return value override issue in xfrm_policy.sh + * CVE-2021-3347 + - futex: Remove put_futex_key() + - futex: Remove needless goto's + - futex: Replace pointless printk in fixup_owner() + - futex: Ensure the correct return value from futex_lock_pi() + - futex: Provide and use pi_state_update_owner() + - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() + - futex: Use pi_state_update_owner() in put_pi_state() + - futex: Simplify fixup_pi_state_owner() + - futex: Handle faults correctly for PI futexes + * CVE-2021-3348 + - nbd: freeze the queue while we're adding connections + * [Regression] ubuntu_bpf failed to build on Groovy (LP: #1917609) + - SAUCE: partially revert "bpf: Zero-fill re-used per-cpu map element" + * alsa/hda: the hdmi audio dosn't work on TGL machines (LP: #1917829) + - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload + - i2c: bpmp-tegra: Ignore unknown I2C_M flags + - platform/x86: i2c-multi-instantiate: Don't create platform device for + INT3515 ACPI nodes + - platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634 + - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() + - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T + - ALSA: hda/via: Add minimum mute flag + - dm crypt: fix copy and paste bug in crypt_alloc_req_aead + - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error + - btrfs: don't get an EINTR during drop_snapshot for reloc + - btrfs: do not double free backref nodes on error + - btrfs: fix lockdep splat in btrfs_recover_relocation + - btrfs: don't clear ret in btrfs_start_dirty_block_groups + - btrfs: send: fix invalid clone operations when cloning from the same file + and root + - writeback: Drop I_DIRTY_TIME_EXPIRE + - fs: fix lazytime expiration handling in __writeback_single_inode() + - pinctrl: ingenic: Fix JZ4760 support + - mmc: core: don't initialize block size from ext_csd if not present + - mmc: sdhci-of-dwcmshc: fix rpmb access + - mmc: sdhci-xenon: fix 1.8v regulator stabilization + - mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend + - dm: avoid filesystem lookup in dm_get_dev_t() + - dm integrity: fix a crash if "recalculate" used without "internal_hash" + - dm integrity: conditionally disable "recalculate" feature + - drm/atomic: put state on error path + - drm/syncobj: Fix use-after-free + - drm/amdgpu: remove gpu info firmware of green sardine + - drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case + - drm/i915/gt: Prevent use of engine->wa_ctx after error + - ASoC: Intel: haswell: Add missing pm_ops + - ASoC: rt711: mutex between calibration and power state changes + - SUNRPC: Handle TCP socket sends with kernel_sendpage() again + - HID: sony: select CONFIG_CRC32 + - dm integrity: select CRYPTO_SKCIPHER + - scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback + - scsi: qedi: Correct max length of CHAP secret + - scsi: scsi_debug: Fix memleak in scsi_debug_init() + - scsi: sd: Suppress spurious errors when WRITE SAME is being disabled + - riscv: Fix kernel time_init() + - riscv: Fix sifive serial driver + - riscv: Enable interrupts during syscalls with M-Mode + - HID: logitech-dj: add the G602 receiver + - HID: Ignore battery for Elan touchscreen on ASUS UX550 + - clk: tegra30: Add hda clock default rates to clock driver + - ALSA: hda/tegra: fix tegra-hda on tegra30 soc + - arm64: make atomic helpers __always_inline + - xen: Fix event channel callback via INTX/GSI + - x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery + - dts: phy: fix missing mdio device and probe failure of vsc8541-01 device + - riscv: defconfig: enable gpio support for HiFive Unleashed + - drm/amdgpu/psp: fix psp gfx ctrl cmds + - drm/amd/display: disable dcn10 pipe split by default + - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode + - drm/amd/display: Fix to be able to stop crc calculation + - drm/nouveau/bios: fix issue shadowing expansion ROMs + - drm/nouveau/privring: ack interrupts the same way as RM + - drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields + - drm/nouveau/mmu: fix vram heap sizing + - drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 + - io_uring: flush timeouts that should already have expired + - libperf tests: If a test fails return non-zero + - libperf tests: Fail when failing to get a tracepoint id + - RISC-V: Set current memblock limit + - RISC-V: Fix maximum allowed phsyical memory for RV32 + - pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting + - pinctrl: mediatek: Fix fallback call path + - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression + - scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM + - crypto: omap-sham - Fix link error without crypto-engine + - powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S + - powerpc: Fix alignment bug within the init sections + - arm64: entry: remove redundant IRQ flag tracing + - drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu() + - i2c: octeon: check correct size of maximum RECV_LEN packet + - platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow- + list + - platform/x86: hp-wmi: Don't log a warning on HPWMI_RET_UNKNOWN_COMMAND + errors + - gpio: sifive: select IRQ_DOMAIN_HIERARCHY rather than depend on it + - selftests: net: fib_tests: remove duplicate log test + - can: dev: can_restart: fix use after free bug + - can: vxcan: vxcan_xmit: fix use after free bug + - can: peak_usb: fix use after free bugs + - perf evlist: Fix id index for heterogeneous systems + - i2c: sprd: depend on COMMON_CLK to fix compile tests + - iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread + - iio: ad5504: Fix setting power-down state + - counter:ti-eqep: remove floor + - cifs: do not fail __smb_send_rqst if non-fatal signals are pending + - irqchip/mips-cpu: Set IPI domain parent chip + - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state + - x86/topology: Make __max_die_per_package available unconditionally + - x86/mmx: Use KFPU_387 for MMX string operations + - proc_sysctl: fix oops caused by incorrect command parameters + - mm: memcg/slab: optimize objcg stock draining + - io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state + - intel_th: pci: Add Alder Lake-S support + - intel_th: pci: Add Alder Lake CPU support + - intel_th: pci: Add Alder Lake-P support + - stm class: Fix module init return on allocation failure + - serial: mvebu-uart: fix tx lost characters at power off + - ehci: fix EHCI host controller initialization sequence + - USB: ehci: fix an interrupt calltrace error + - usb: gadget: aspeed: fix stop dma register setting. + - USB: gadget: dummy-hcd: Fix errors in port-reset handling + - usb: udc: core: Use lock when write to soft_connect + - [Config] updateconfigs for USB_BDC_PCI + - usb: bdc: Make bdc pci driver depend on BROKEN + - usb: cdns3: imx: fix writing read-only memory issue + - usb: cdns3: imx: fix can't create core device the second time issue + - xhci: make sure TRB is fully written before giving it to the controller + - xhci: tegra: Delay for disabling LFPS detector + - driver core: Extend device_is_dependent() + - x86/cpu/amd: Set __max_die_per_package on AMD + - cls_flower: call nla_ok() before nla_next() + - netfilter: rpfilter: mask ecn bits before fib lookup + - sh: dma: fix kconfig dependency for G2_DMA + - ASoC: SOF: Intel: fix page fault at probe if i915 init fails + - octeontx2-af: Fix missing check bugs in rvu_cgx.c + - net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext + - sh_eth: Fix power down vs. is_opened flag ordering + - cachefiles: Drop superfluous readpages aops NULL check + - lightnvm: fix memory leak when submit fails + - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too + - kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow + - kasan: fix incorrect arguments passing in kasan_add_zero_shadow + - tcp: fix TCP socket rehash stats mis-accounting + - net_sched: gen_estimator: support large ewma log + - udp: mask TOS bits in udp_v4_early_demux() + - ipv6: create multicast route with RTPROT_KERNEL + - net_sched: avoid shift-out-of-bounds in tcindex_set_parms() + - net_sched: reject silly cell_log in qdisc_get_rtab() + - ipv6: set multicast flag on the multicast route + - net: mscc: ocelot: allow offloading of bridge on top of LAG + - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled + - net: dsa: b53: fix an off by one in checking "vlan->vid" + - tcp: do not mess with cloned skbs in tcp_add_backlog() + - tcp: fix TCP_USER_TIMEOUT with zero window + - net: core: devlink: use right genl user_ptr when handling port param get/set + - pinctrl: qcom: Allow SoCs to specify a GPIO function that's not 0 + - pinctrl: qcom: No need to read-modify-write the interrupt status + - pinctrl: qcom: Properly clear "intr_ack_high" interrupts when unmasking + - pinctrl: qcom: Don't clear pending interrupts when enabling + - tty: implement write_iter + - tty: fix up hung_up_tty_write() conversion + - drm/i915/hdcp: Get conn while content_type changed + - seq_file: add seq_read_iter + - kernfs: implement ->read_iter + - kernfs: implement ->write_iter + - kernfs: wire up ->splice_read and ->splice_write + - fs/pipe: allow sendfile() to pipe again + - Commit 9bb48c82aced ("tty: implement write_iter") converted the tty layer to + use write_iter. Fix the redirected_tty_write declaration also in n_tty and + change the comparisons to use write_iter instead of write. also in n_tty and + change the comparisons to use write_iter instead of write. + * Enforce CONFIG_DRM_BOCHS=m (LP: #1916290) + - [Config] Enforce CONFIG_DRM_BOCHS=m + * Groovy update: upstream stable patchset 2021-02-25 (LP: #1916960) + - btrfs: reloc: fix wrong file extent type check to avoid false ENOENT + - btrfs: prevent NULL pointer dereference in extent_io_tree_panic + - ALSA: doc: Fix reference to mixart.rst + - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 + - ASoC: dapm: remove widget from dirty list on free + - x86/hyperv: check cpu mask after interrupt has been disabled + - drm/amdgpu: add green_sardine device id (v2) + - drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921) + - drm/amdgpu: add Green_Sardine APU flag + - drm/amdgpu: add green_sardine support for gpu_info and ip block setting (v2) + - drm/amdgpu: add soc15 common ip block support for green_sardine (v3) + - drm/amdgpu: add new device id for Renior + - drm/i915/gt: Limit VFE threads based on GT + - drm/i915/backlight: fix CPU mode backlight takeover on LPT + - drm/bridge: sii902x: Refactor init code into separate function + - dt-bindings: display: sii902x: Add supply bindings + - tracing/kprobes: Do the notrace functions check without kprobes on ftrace + - ext4: fix bug for rename with RENAME_WHITEOUT + - cifs: check pointer before freeing + - cifs: fix interrupted close commands + - riscv: return -ENOSYS for syscall -1 + - riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL + - mips: fix Section mismatch in reference + - mips: lib: uncached: fix non-standard usage of variable 'sp' + - MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB + - MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps + - MIPS: relocatable: fix possible boot hangup with KASLR enabled + - RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() + - ACPI: scan: Harden acpi_device_add() against device ID overflows + - xen/privcmd: allow fetching resource sizes + - compiler.h: Raise minimum version of GCC to 5.1 for arm64 + - mm/hugetlb: fix potential missing huge page size info + - mm/process_vm_access.c: include compat.h + - dm raid: fix discard limits for raid1 + - dm snapshot: flush merged data before committing metadata + - dm integrity: fix flush with external metadata device + - dm integrity: fix the maximum number of arguments + - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq + - stmmac: intel: change all EHL/TGL to auto detect phy addr + - r8152: Add Lenovo Powered USB-C Travel Hub + - btrfs: tree-checker: check if chunk item end overflows + - ext4: don't leak old mountpoint samples + - ARC: build: remove non-existing bootpImage from KBUILD_IMAGE + - ARC: build: add uImage.lzma to the top-level target + - ARC: build: add boot_targets to PHONY + - ARC: build: move symlink creation to arch/arc/Makefile to avoid race + - ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults + on xt875 + - ath11k: fix crash caused by NULL rx_channel + - netfilter: ipset: fixes possible oops in mtype_resize + - btrfs: fix async discard stall + - btrfs: merge critical sections of discard lock in workfn + - btrfs: fix transaction leak and crash after RO remount caused by qgroup + rescan + - regulator: bd718x7: Add enable times + - ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram + - habanalabs/gaudi: retry loading TPC f/w on -EINTR + - habanalabs: register to pci shutdown callback + - habanalabs: Fix memleak in hl_device_reset + - hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values + - lib/raid6: Let $(UNROLL) rules work with macOS userland + - spi: fix the divide by 0 error when calculating xfer waiting time + - arch/arc: add copy_user_page() to to fix build error on ARC + - misdn: dsp: select CONFIG_BITREVERSE + - net: ethernet: fs_enet: Add missing MODULE_LICENSE + - nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN + - nvme: avoid possible double fetch in handling CQE + - nvmet-rdma: Fix list_del corruption on queue establishment failure + - drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue + - drm/amdgpu: fix a GPU hang issue when remove device + - drm/amd/pm: fix the failure when change power profile for renoir + - drm/amdgpu: fix potential memory leak during navi12 deinitialization + - usb: typec: Fix copy paste error for NVIDIA alt-mode description + - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() + - ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI + - drm/msm: Call msm_init_vram before binding the gpu + - ARM: picoxcell: fix missing interrupt-parent properties + - poll: fix performance regression due to out-of-line __put_user() + - bpf: Simplify task_file_seq_get_next() + - bpf: Save correct stopping point in file seq iteration + - cfg80211: select CONFIG_CRC32 + - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev + - net/mlx5: Fix passing zero to 'PTR_ERR' + - net/mlx5: E-Switch, fix changing vf VLANID + - mm: don't put pinned pages into the swap cache + - perf intel-pt: Fix 'CPU too large' error + - dump_common_audit_data(): fix racy accesses to ->d_name + - ASoC: meson: axg-tdm-interface: fix loopback + - ASoC: meson: axg-tdmin: fix axg skew offset + - ASoC: Intel: fix error code cnl_set_dsp_D0() + - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY + - nvme: don't intialize hwmon for discovery controllers + - nvme-tcp: fix possible data corruption with bio merges + - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT + - NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock + - pNFS: We want return-on-close to complete when evicting the inode + - pNFS: Mark layout for return if return-on-close was not sent + - pNFS: Stricter ordering of layoutget and layoutreturn + - NFS: Adjust fs_context error logging + - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request + - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() + - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter + - NFS: nfs_delegation_find_inode_server must first reference the superblock + - NFS: nfs_igrab_and_active must first reference the superblock + - scsi: ufs: Fix possible power drain during system suspend + - ext4: fix superblock checksum failure when setting password salt + - RDMA/restrack: Don't treat as an error allocation ID wrapping + - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp + - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. + - RDMA/mlx5: Fix wrong free of blue flame register on error + - IB/mlx5: Fix error unwinding when set_has_smi_cap fails + - dm zoned: select CONFIG_CRC32 + - drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is + no reset-deassert MIPI-sequence + - drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout + - drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail + - mm, slub: consider rest of partial list if acquire_slab() fails + - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() + - net: sunrpc: interpret the return value of kstrtou32 correctly + - selftests: netfilter: Pass family parameter "-f" to conntrack tool + - dm: eliminate potential source of excessive kernel log noise + - ALSA: fireface: Fix integer overflow in transmit_midi_msg() + - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() + - netfilter: conntrack: fix reading nf_conntrack_buckets + - netfilter: nf_nat: Fix memleak in nf_nat_init + - netfilter: nft_compat: remove flush counter optimization + - kbuild: enforce -Werror=return-type + - [Config] updateconfigs for KPROBE_EVENTS_ON_NOTRACE + - x86/hyperv: Initialize clockevents after LAPIC is initialized + - bpf: Fix signed_{sub,add32}_overflows type handling + - nfsd4: readdirplus shouldn't return parent of export + - bpf: Don't leak memory in bpf getsockopt when optlen == 0 + - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling + - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback + - net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links + - net: fix use-after-free when UDP GRO with shared fraglist + - udp: Prevent reuseport_select_sock from reading uninitialized socks + - netxen_nic: fix MSI/MSI-x interrupts + - net: ipv6: Validate GSO SKB before finish IPv6 processing + - tipc: fix NULL deref in tipc_link_xmit() + - mlxsw: core: Add validation of transceiver temperature thresholds + - mlxsw: core: Increase critical threshold for ASIC thermal zone + - net: mvpp2: Remove Pause and Asym_Pause support + - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request + - esp: avoid unneeded kmap_atomic call + - net: dcb: Validate netlink message in DCB handler + - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands + - rxrpc: Call state should be read with READ_ONCE() under some circumstances + - i40e: fix potential NULL pointer dereferencing + - net: stmmac: Fixed mtu channged by cache aligned + - net: sit: unregister_netdevice on newlink's error path + - net: stmmac: fix taprio schedule configuration + - net: stmmac: fix taprio configuration when base_time is in the past + - net: avoid 32 x truesize under-estimation for tiny skbs + - rxrpc: Fix handling of an unsupported token type in rxrpc_read() + - net: stmmac: use __napi_schedule() for PREEMPT_RT + - drm/panel: otm8009a: allow using non-continuous dsi clock + - mac80211: do not drop tx nulldata packets on encrypted links + - mac80211: check if atf has been disabled in __ieee80211_schedule_txq + - net: dsa: unbind all switches from tree when DSA master unbinds + - cxgb4/chtls: Fix tid stuck due to wrong update of qid + - spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode + - spi: cadence: cache reference clock rate during probe + - usb: ohci: Make distrust_firmware param default to false + - elfcore: fix building with clang + - spi: npcm-fiu: simplify the return expression of npcm_fiu_probe() + - spi: npcm-fiu: Disable clock in probe error path + * CVE-2021-20239 + - net, sctp, filter: remap copy_from_user failure error + + -- Stefan Bader Wed, 24 Mar 2021 17:17:48 +0100 + +linux-riscv (5.8.0-20.22) groovy; urgency=medium + + [ Ubuntu: 5.8.0-48.54 ] + + * CVE-2020-27170 + - bpf: Fix off-by-one for area size in creating mask to left + * CVE-2020-27171 + - bpf: Prohibit alu ops for pointer types not defining ptr_limit + + -- Thadeu Lima de Souza Cascardo Fri, 19 Mar 2021 21:50:11 -0300 + +linux-riscv (5.8.0-19.21) groovy; urgency=medium + + [ Ubuntu: 5.8.0-47.53 ] + + * binary assembly failures with CONFIG_MODVERSIONS present (LP: #1919315) + - [Packaging] quiet (nomially) benign errors in BUILD script + * CVE-2021-3444 + - bpf: Fix 32 bit src register truncation on div/mod + - bpf: Fix truncation handling for mod32 dst reg wrt zero + * CVE-2021-27365 + - scsi: iscsi: Verify lengths on passthrough PDUs + - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output + - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE + * CVE-2021-27363 // CVE-2021-27364 + - scsi: iscsi: Restrict sessions and handles to admin capabilities + + -- Stefan Bader Wed, 17 Mar 2021 14:18:25 +0100 + +linux-riscv (5.8.0-18.20) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-18.20 -proposed tracker (LP: #1916141) + + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - riscv: [Config] enable CONFIG_MODVERSIONS=y + - riscv: [Packaging] build canonical-certs.pem from branch/arch certs + - riscv: [Config] Allow ASM_MODVERSIONS + + [ Ubuntu: 5.8.0-45.51 ] + + * groovy/linux: 5.8.0-45.51 -proposed tracker (LP: #1916143) + * 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 + - [Config] Allow ASM_MODVERSIONS and MODULE_REL_CRCS + * CVE-2021-20194 + - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou + - bpf, cgroup: Fix problematic bounds check + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/core: Emit a warning if the thermal zone is updated without ops + - thermal/core: Add critical and hot ops + - thermal/drivers/acpi: Use hot and critical ops + - thermal/drivers/rcar: Remove notification usage + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + * geneve overlay network on vlan interface broken with offload enabled + (LP: #1914447) + - net/mlx5e: Fix SWP offsets when vlan inserted by driver + * Groovy update: upstream stable patchset 2021-02-11 (LP: #1915473) + - net: cdc_ncm: correct overhead in delayed_ndp_size + - net: hns3: fix the number of queues actually used by ARQ + - net: hns3: fix a phy loopback fail issue + - net: stmmac: dwmac-sun8i: Balance internal PHY resource references + - net: stmmac: dwmac-sun8i: Balance internal PHY power + - net: vlan: avoid leaks on register_vlan_dev() failures + - net/sonic: Fix some resource leaks in error handling paths + - net: ipv6: fib: flush exceptions when purging route + - tools: selftests: add test for changing routes with PTMU exceptions + - net: fix pmtu check in nopmtudisc mode + - net: ip: always refragment ip defragmented packets + - octeontx2-af: fix memory leak of lmac and lmac->name + - nexthop: Fix off-by-one error in error path + - nexthop: Unlink nexthop group entry in error path + - s390/qeth: fix L2 header access in qeth_l3_osa_features_check() + - net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE + - net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address + - net/mlx5e: ethtool, Fix restriction of autoneg with 56G + - chtls: Fix hardware tid leak + - chtls: Remove invalid set_tcb call + - chtls: Fix panic when route to peer not configured + - chtls: Replace skb_dequeue with skb_peek + - chtls: Added a check to avoid NULL pointer dereference + - chtls: Fix chtls resources release sequence + - HID: wacom: Fix memory leakage caused by kfifo_alloc + - ARM: OMAP2+: omap_device: fix idling of devices during probe + - i2c: sprd: use a specific timeout to avoid system hang up issue + - dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk() + - can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver + - can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop() + - can: kvaser_pciefd: select CONFIG_CRC32 + - cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get() + - spi: stm32: FIFO threshold level - fix align packet size + - i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated + - dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling + path of the probe function + - dmaengine: xilinx_dma: check dma_async_device_register return value + - dmaengine: xilinx_dma: fix incompatible param warning in _child_probe() + - dmaengine: xilinx_dma: fix mixed_enum_type coverity warning + - qed: select CONFIG_CRC32 + - wil6210: select CONFIG_CRC32 + - block: rsxx: select CONFIG_CRC32 + - lightnvm: select CONFIG_CRC32 + - iommu/intel: Fix memleak in intel_irq_remapping_alloc + - bpftool: Fix compilation failure for net.o with older glibc + - net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups + - net/mlx5e: Fix two double free cases + - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev + - wan: ds26522: select CONFIG_BITREVERSE + - regulator: qcom-rpmh-regulator: correct hfsmps515 definition + - net: mvpp2: disable force link UP during port init procedure + - KVM: arm64: Don't access PMCR_EL0 when no PMU is available + - block: fix use-after-free in disk_part_iter_next + - net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed + packet + - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() + - drm/panfrost: Don't corrupt the queue mutex on open/close + - scsi: ufs: Fix -Wsometimes-uninitialized warning + - btrfs: skip unnecessary searches for xattrs when logging an inode + - net: stmmac: dwmac-sun8i: Fix probe error handling + - net: stmmac: dwmac-sun8i: Balance syscon (de)initialization + - net: bareudp: add missing error handling for bareudp_link_config() + - ptp: ptp_ines: prevent build when HAS_IOMEM is not set + - chtls: Avoid unnecessary freeing of oreq pointer + - nexthop: Bounce NHA_GATEWAY in FDB nexthop groups + - net/mlx5e: In skb build skip setting mark in switchdev mode + - ionic: start queues before announcing link up + - fanotify: Fix sys_fanotify_mark() on native x86-32 + - spi: spi-geni-qcom: Fix geni_spi_isr() NULL dereference in timeout case + - i2c: mediatek: Fix apdma and i2c hand-shake timeout + - interconnect: imx: Add a missing of_node_put after of_device_is_available + - dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of + the probe function + - arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA + - phy: dp83640: select CONFIG_CRC32 + - zonefs: select CONFIG_CRC32 + - iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() + - nvme-tcp: Fix possible race of io_work and direct send + - arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST + - drm/i915/dp: Track pm_qos per connector + - net: mvneta: fix error message when MTU too large for XDP + - selftests: fib_nexthops: Fix wrong mausezahn invocation + - block/rnbd-clt: avoid module unload race with close confirmation + - drm/panfrost: Remove unused variables in panfrost_job_close() + - tools headers UAPI: Sync linux/fscrypt.h with the kernel sources + * Fix the video can't output through WD19TB connected on TGL's Type-C port + during cold-boot (LP: #1913372) + - drm/dp/mst: Export drm_dp_get_vc_payload_bw() + - drm/i915: Fix the MST PBN divider calculation + * Fix regression introduced by codec PM change (LP: #1912676) + - ASoC: SOF: Intel: hda: Resume codec to do jack detection + - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN + - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend + - ALSA: hda: Balance runtime/system PM if direct-complete is disabled + * Restore palm ejection on multi-input devices (LP: #1913520) + - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices + * intel-hid is not loaded on new Intel platform (LP: #1907160) + - platform/x86: intel-hid: add Rocket Lake ACPI device ID + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + * Groovy update: upstream stable patchset 2021-02-05 (LP: #1914832) + - i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs + - iavf: fix double-release of rtnl_lock + - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs + - net: mvpp2: Add TCAM entry to drop flow control pause frames + - net: mvpp2: prs: fix PPPoE with ipv6 packet parse + - net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE + - ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() + - ethernet: ucc_geth: set dev->max_mtu to 1518 + - ionic: account for vlan tag len in rx buffer len + - atm: idt77252: call pci_disable_device() on error path + - net: mvpp2: Fix GoP port 3 Networking Complex Control configurations + - ibmvnic: fix login buffer memory leak + - ibmvnic: continue fatal error reset after passive init + - net: ethernet: mvneta: Fix error handling in mvneta_probe + - virtio_net: Fix recursive call to cpus_read_lock() + - net/ncsi: Use real net-device for response handler + - net: ethernet: Fix memleak in ethoc_probe + - net-sysfs: take the rtnl lock when storing xps_cpus + - net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc + - net-sysfs: take the rtnl lock when storing xps_rxqs + - net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc + - net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered + - tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS + - bnxt_en: Check TQM rings for maximum supported value. + - net: mvpp2: fix pkt coalescing int-threshold configuration + - bnxt_en: Fix AER recovery. + - ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() + - net: sched: prevent invalid Scell_log shift count + - net: hns: fix return value check in __lb_other_process() + - erspan: fix version 1 check in gre_parse_header() + - net: hdlc_ppp: Fix issues when mod_timer is called while timer is running + - bareudp: set NETIF_F_LLTX flag + - bareudp: Fix use of incorrect min_headroom size + - vhost_net: fix ubuf refcount incorrectly when sendmsg fails + - r8169: work around power-saving bug on some chip versions + - net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs + - net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access + - CDC-NCM: remove "connected" log message + - ibmvnic: fix: NULL pointer dereference. + - net: usb: qmi_wwan: add Quectel EM160R-GL + - stmmac: intel: Add PCI IDs for TGL-H platform + - workqueue: Kick a worker based on the actual activation of delayed works + - scsi: ufs: Fix wrong print message in dev_err() + - scsi: ufs-pci: Fix restore from S4 for Intel controllers + - scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk + ->poweroff() + - scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers + - blk-mq: remove the BLK_MQ_REQ_INTERNAL flag + - scsi: block: Introduce BLK_MQ_REQ_PM + - scsi: ide: Do not set the RQF_PREEMPT flag for sense requests + - scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT + - scsi: scsi_transport_spi: Set RQF_PM for domain validation commands + - scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE + - local64.h: make mandatory + - lib/genalloc: fix the overflow when size is too big + - depmod: handle the case of /sbin/depmod without /sbin in PATH + - scsi: ufs: Clear UAC for FFU and RPMB LUNs + - kbuild: don't hardcode depmod path + - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close + - scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT + - scsi: block: Do not accept any requests while suspended + - crypto: ecdh - avoid buffer overflow in ecdh_set_secret() + - crypto: asym_tpm: correct zero out potential secrets + - powerpc: Handle .text.{hot,unlikely}.* in linker script + - Staging: comedi: Return -EFAULT if copy_to_user() fails + - staging: mt7621-dma: Fix a resource leak in an error handling path + - usb: gadget: enable super speed plus + - USB: cdc-acm: blacklist another IR Droid device + - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). + - usb: dwc3: meson-g12a: disable clk on error handling path in probe + - usb: dwc3: gadget: Clear wait flag on dequeue + - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion + - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one + - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression + - usb: chipidea: ci_hdrc_imx: add missing put_device() call in + usbmisc_get_init_data() + - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set + - usb: usbip: vhci_hcd: protect shift size + - usb: uas: Add PNY USB Portable SSD to unusual_uas + - USB: serial: iuu_phoenix: fix DMA from stack + - USB: serial: option: add LongSung M5710 module support + - USB: serial: option: add Quectel EM160R-GL + - USB: yurex: fix control-URB timeout handling + - USB: usblp: fix DMA to stack + - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks + - usb: gadget: select CONFIG_CRC32 + - USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug + - usb: gadget: f_uac2: reset wMaxPacketSize + - usb: gadget: function: printer: Fix a memory leak for interface descriptor + - usb: gadget: u_ether: Fix MTU size mismatch with RX packet size + - USB: gadget: legacy: fix return error code in acm_ms_bind() + - usb: gadget: Fix spinlock lockup on usb_function_deactivate + - usb: gadget: configfs: Preserve function ordering after bind failure + - usb: gadget: configfs: Fix use-after-free issue with udc_name + - USB: serial: keyspan_pda: remove unused variable + - hwmon: (amd_energy) fix allocation of hwmon_channel_info config + - mm: make wait_on_page_writeback() wait for multiple pending writebacks + - x86/mm: Fix leak of pmd ptlock + - kvm: check tlbs_dirty directly + - task_work: cleanup notification modes + - x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR + - x86/resctrl: Don't move a task to the same resource group + - blk-iocost: fix NULL iocg deref from racing against initialization + - ALSA: hda/via: Fix runtime PM for Clevo W35xSS + - ALSA: hda/conexant: add a new hda codec CX11970 + - ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 + - ALSA: hda/realtek: Add mute LED quirk for more HP laptops + - ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256. + - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct + intel_svm_dev + - btrfs: send: fix wrong file path when there is an inode with a pending rmdir + - Revert "device property: Keep secondary firmware node secondary by type" + - dmabuf: fix use-after-free of dmabuf's file->f_inode + - arm64: link with -z norelro for LLD or aarch64-elf + - drm/i915: clear the shadow batch + - netfilter: x_tables: Update remaining dereference to RCU + - netfilter: ipset: fix shift-out-of-bounds in htable_bits() + - netfilter: xt_RATEEST: reject non-null terminated string from userspace + - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature + - dmaengine: idxd: off by one in cleanup code + - x86/mtrr: Correct the range check before performing MTRR type lookups + - KVM: x86: fix shift out of bounds reported by UBSAN + - rtlwifi: rise completion at the last step of firmware callback + * Groovy update: upstream stable patchset 2021-02-03 (LP: #1914472) + - net/sched: sch_taprio: reset child qdiscs before freeing them + - mptcp: fix security context on server socket + - ethtool: fix error paths in ethnl_set_channels() + - ethtool: fix string set id check + - md/raid10: initialize r10_bio->read_slot before use. + - drm/amd/display: Add get_dig_frontend implementation for DCEx + - io_uring: close a small race gap for files cancel + - jffs2: Allow setting rp_size to zero during remounting + - jffs2: Fix NULL pointer dereference in rp_size fs option parsing + - scsi: block: Fix a race in the runtime power management code + - mm/hugetlb: fix deadlock in hugetlb_cow error path + - mm: memmap defer init doesn't work as expected + - lib/zlib: fix inflating zlib streams on s390 + - uapi: move constants from to + - tools headers UAPI: Sync linux/const.h with the kernel headers + - cgroup: Fix memory leak when parsing multiple source parameters + - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c + - scsi: cxgb4i: Fix TLS dependency + - Bluetooth: hci_h5: close serdev device and free hu in h5_close + - fbcon: Disable accelerated scrolling + - reiserfs: add check for an invalid ih_entry_count + - misc: vmw_vmci: fix kernel info-leak by initializing dbells in + vmci_ctx_get_chkpt_doorbells() + - media: gp8psk: initialize stats at power control logic + - f2fs: fix shift-out-of-bounds in sanity_check_raw_super() + - ALSA: seq: Use bool for snd_seq_queue internal flags + - ALSA: rawmidi: Access runtime->avail always in spinlock + - bfs: don't use WARNING: string when it's just info. + - ext4: check for invalid block size early when mounting a file system + - fcntl: Fix potential deadlock in send_sig{io, urg}() + - rtc: sun6i: Fix memleak in sun6i_rtc_clk_init + - module: set MODULE_STATE_GOING state when a module fails to load + - quota: Don't overflow quota file offsets + - rtc: pl031: fix resource leak in pl031_probe + - powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() + - i3c master: fix missing destroy_workqueue() on error in i3c_master_register + - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode + - f2fs: avoid race condition for shrinker count + - module: delay kobject uevent until after module init call + - fs/namespace.c: WARN if mnt_count has become negative + - watchdog: rti-wdt: fix reference leak in rti_wdt_probe + - um: random: Register random as hwrng-core device + - um: ubd: Submit all data segments atomically + - ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails + - drm/amd/display: updated wm table for Renoir + - tick/sched: Remove bogus boot "safety" check + - s390: always clear kernel stack backchain before calling functions + - io_uring: remove racy overflow list fast checks + - ALSA: pcm: Clear the full allocated memory at hw_params + - dm verity: skip verity work if I/O error when system is shutting down + - rtc: pcf2127: move watchdog initialisation to a separate function + - rtc: pcf2127: only use watchdog when explicitly available + - dt-bindings: rtc: add reset-source property + - kdev_t: always inline major/minor helper functions + - ALSA: hda/realtek - Modify Dell platform name + - scsi: ufs: Allow an error return value from ->device_reset() + - scsi: ufs: Re-enable WriteBooster after device reset + - RDMA/siw,rxe: Make emulated devices virtual in the device tree + - fuse: fix bad inode + - rwsem: Implement down_read_killable_nested + - rwsem: Implement down_read_interruptible + - exec: Transform exec_update_mutex into a rw_semaphore + - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start + + -- Kelsey Skunberg Tue, 23 Feb 2021 22:44:05 -0700 + +linux-riscv (5.8.0-17.19) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-17.19 -proposed tracker (LP: #1914803) + + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - [Config] riscv: updateconfigs for HAVE_64BIT_ALIGNED_ACCESS + + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - [Config] riscv: updateconfigs for USB_SISUSBVGA_CON + - [Config] riscv: updateconfigs for ZSMALLOC_PGTABLE_MAPPING + + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - [Config] riscv: update config for INFINIBAND_VIRT_DMA + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + [ Ubuntu: 5.8.0-44.50 ] + + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + * 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 + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + * 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) + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- William Breathitt Gray Wed, 10 Feb 2021 08:46:43 -0500 + +linux-riscv (5.8.0-16.18) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-16.18 -proposed tracker (LP: #1914687) + + [ Ubuntu: 5.8.0-43.49 ] + + * groovy/linux: 5.8.0-43.49 -proposed tracker (LP: #1914689) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Exploitable vulnerabilities in AF_VSOCK implementation (LP: #1914668) + - vsock: fix the race conditions in multi-transport support + + [ Ubuntu: 5.8.0-41.46 ] + + * groovy/linux: 5.8.0-41.46 -proposed tracker (LP: #1912219) + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) // nvme + drive fails after some time (LP: #1910866) + - Revert "nvme-pci: remove last_sq_tail" + * initramfs unpacking failed (LP: #1835660) + - SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + + [ Ubuntu: 5.8.0-40.45 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 05 Feb 2021 09:13:11 +0100 + +linux-riscv (5.8.0-14.16) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-14.16 -proposed tracker (LP: #1911348) + + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - clk: sifive: Extract prci core to common base + - clk: sifive: Use common name for prci configuration + - clk: sifive: Add a driver for the SiFive FU740 PRCI IP block + - clk: sifive: Fix the wrong bit field shift + - clk: sifive: Add clock enable and disable ops + - dt-bindings: riscv: sifive-l2-cache: convert bindings to json-schema + - dt-bindings: More whitespace clean-ups in schema files + - 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: fu740: prci: add YAML documentation for the FU740 PRCI + - dt-bindings: riscv: convert pwm bindings to json-schema + - dt-bindings: Explicitly allow additional properties in board/SoC schemas + - 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. + - HACK: Revert "of/device: Really only set bus DMA mask when appropriate" + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + - i2c: ocores: fix polling mode workaround on FU540-C000 SoC + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy + - [Config] Align configs with Unleashed defconfigs + - [Config] riscv: Hint ABI for missing modules + + [ Ubuntu: 5.8.0-39.44 ] + + * groovy/linux: 5.8.0-39.44 -proposed tracker (LP: #1911350) + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + + [ Ubuntu: 5.8.0-38.43 ] + + * groovy/linux: 5.8.0-38.43 -proposed tracker (LP: #1911143) + * CVE-2020-28374 + - SAUCE: target: fix XCOPY NAA identifier lookup + * Packaging resync (LP: #1786013) + - update dkms package versions + + [ Ubuntu: 5.8.0-36.40 ] + + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + + [ Ubuntu: 5.8.0-35.39 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + * CVE-2021-1052 // CVE-2021-1053 + - [Packaging] NVIDIA -- Add the NVIDIA 460 driver + + -- Stefan Bader Tue, 19 Jan 2021 17:41:24 +0100 + +linux-riscv (5.8.0-13.15) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-13.15 -proposed tracker (LP: #1907574) + + [ Ubuntu: 5.8.0-34.37 ] + + * groovy/linux: 5.8.0-34.37 -proposed tracker (LP: #1907576) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + -- Stefan Bader Tue, 15 Dec 2020 10:33:23 +0100 + +linux-riscv (5.8.0-12.14) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-12.14 -proposed tracker (LP: #1907406) + + [ Ubuntu: 5.8.0-33.36 ] + + * groovy/linux: 5.8.0-33.36 -proposed tracker (LP: #1907408) + * raid10: discard leads to corrupted file system (LP: #1907262) + - Revert "dm raid: remove unnecessary discard limits for raid10" + - Revert "dm raid: fix discard limits for raid1 and raid10" + - Revert "md/raid10: improve discard request for far layout" + - Revert "md/raid10: improve raid10 discard request" + - Revert "md/raid10: pull codes that wait for blocked dev into one function" + - Revert "md/raid10: extend r10bio devs to raid disks" + - Revert "md: add md_submit_discard_bio() for submitting discard bio" + + -- Andrea Righi Wed, 09 Dec 2020 15:21:02 +0100 + +linux-riscv (5.8.0-11.13) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-11.13 -proposed tracker (LP: #1905863) + + * please promote modules from extra to modules for HiFive Unleashed + (LP: #1905620) + - [Packaging] Add HiFive Unleashed drivers to generic inclusion list + + [ Ubuntu: 5.8.0-32.34 ] + + * groovy/linux: 5.8.0-32.34 -proposed tracker (LP: #1905865) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + [ Ubuntu: 5.8.0-31.33 ] + + * groovy/linux: 5.8.0-31.33 -proposed tracker (LP: #1905299) + * Groovy 5.8 kernel hangs on boot on CPUs with eLLC (LP: #1903397) + - drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup + during fbdev init + * CVE-2020-4788 + - selftests/powerpc: rfi_flush: disable entry flush if present + - powerpc/64s: flush L1D on kernel entry + - powerpc/64s: flush L1D after user accesses + - selftests/powerpc: entry flush test + + -- Kleber Sacilotto de Souza Wed, 02 Dec 2020 16:57:23 +0100 + +linux-riscv (5.8.0-10.12) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-10.12 -proposed tracker (LP: #1904993) + + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + + -- Stefan Bader Fri, 20 Nov 2020 10:55:22 +0100 + +linux-riscv (5.8.0-9.11) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-9.11 -proposed tracker (LP: #1903192) + + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - [Packaging] riscv: module ocelot_board rename + + [ Ubuntu: 5.8.0-30.32 ] + + * groovy/linux: 5.8.0-30.32 -proposed tracker (LP: #1903194) + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + * EFI: Fails when BootCurrent entry does not exist (LP: #1899993) + - efivarfs: Replace invalid slashes with exclamation marks in dentries. + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull codes that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: fix discard limits for raid1 and raid10 + - dm raid: remove unnecessary discard limits for raid10 + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: extent_io: do extra check for extent buffer read write functions + - btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent() + - btrfs: extent-tree: kill the BUG_ON() in insert_inline_extent_backref() + - btrfs: ctree: check key order before merging tree blocks + * Tiger Lake PMC core driver fixes (LP: #1899883) + - platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name + - platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() + - platform/x86: pmc_core: Use descriptive names for LPM registers + - platform/x86: intel_pmc_core: Fix TigerLake power gating status map + - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value + * drm/i915/dp_mst - System would hang during the boot up. (LP: #1902469) + - Revert "UBUNTU: SAUCE: drm/i915/display: Fix null deref in + intel_psr_atomic_check()" + - drm/i915: Fix encoder lookup during PSR atomic check + * Undetected Data corruption in MPI workloads that use VSX for reductions on + POWER9 DD2.1 systems (LP: #1902694) + - powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation + - selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load + workaround + * [20.04 FEAT] Support/enhancement of NVMe IPL (LP: #1902179) + - s390/ipl: support NVMe IPL kernel parameters + * uvcvideo: add mapping for HEVC payloads (LP: #1895803) + - media: uvcvideo: Add mapping for HEVC payloads + * risc-v 5.8 kernel oops on ftrace tests (LP: #1894613) + - stop_machine, rcu: Mark functions as notrace + * Groovy update: v5.8.17 upstream stable release (LP: #1902137) + - xgb4: handle 4-tuple PEDIT to NAT mode translation + - ibmveth: Switch order of ibmveth_helper calls. + - ibmveth: Identify ingress large send packets. + - ipv4: Restore flowi4_oif update before call to xfrm_lookup_route + - mlx4: handle non-napi callers to napi_poll + - net: dsa: microchip: fix race condition + - net: fec: Fix phy_device lookup for phy_reset_after_clk_enable() + - net: fec: Fix PHY init after phy_reset_after_clk_enable() + - net: fix pos incrementment in ipv6_route_seq_next + - net: ipa: skip suspend/resume activities if not set up + - net: mptcp: make DACK4/DACK8 usage consistent among all subflows + - net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info + - net/smc: fix use-after-free of delayed events + - net/smc: fix valid DMBE buffer sizes + - net/tls: sendfile fails with ktls offload + - net: usb: qmi_wwan: add Cellient MPL200 card + - tipc: fix the skb_unshare() in tipc_buf_append() + - socket: fix option SO_TIMESTAMPING_NEW + - socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled + - can: m_can_platform: don't call m_can_class_suspend in runtime suspend + - can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt + - net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt + - net/ipv4: always honour route mtu during forwarding + - net_sched: remove a redundant goto chain check + - r8169: fix data corruption issue on RTL8402 + - binder: fix UAF when releasing todo list + - ALSA: bebob: potential info leak in hwdep_read() + - ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close + - tipc: re-configure queue limit for broadcast link + - tipc: fix incorrect setting window for bcast link + - chelsio/chtls: fix socket lock + - chelsio/chtls: correct netdevice for vlan interface + - chelsio/chtls: fix panic when server is on ipv6 + - chelsio/chtls: Fix panic when listen on multiadapter + - chelsio/chtls: correct function return and return type + - chelsio/chtls: fix writing freed memory + - ibmvnic: save changed mac address to adapter->mac_addr + - icmp: randomize the global rate limiter + - mptcp: initialize mptcp_options_received's ahmac + - net: ftgmac100: Fix Aspeed ast2600 TX hang issue + - net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device + - net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling + ether_setup + - net: Properly typecast int values to set sk_max_pacing_rate + - net/sched: act_ct: Fix adding udp port mangle operation + - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels + - nexthop: Fix performance regression in nexthop deletion + - nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in + nfc_genl_fw_download() + - r8169: fix operation under forced interrupt threading + - selftests: forwarding: Add missing 'rp_filter' configuration + - tcp: fix to update snd_wl1 in bulk receiver fast path + - net: ethernet: mtk-star-emac: select REGMAP_MMIO + - net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() + - ALSA: hda - Don't register a cb func if it is registered already + - ALSA: hda - Fix the return value if cb func is already registered + - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk + - ALSA: hda/realtek - set mic to auto detect on a HP AIO machine + - ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 + - ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 + - cifs: remove bogus debug code + - cifs: Return the error from crypt_message when enc/dec key not found. + - SMB3: Resolve data corruption of TCP server info fields + - SMB3.1.1: Fix ids returned in POSIX query dir + - smb3: do not try to cache root directory if dir leases not supported + - smb3: fix stat when special device file and mounted with modefromsid + - arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled + - KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI + - KVM: nVMX: Reset the segment cache when stuffing guest segs + - KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails + - KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages + - KVM: x86: Intercept LA57 to inject #GP fault when it's reserved + - KVM: SVM: Initialize prev_ga_tag before use + - ima: Don't ignore errors from crypto_shash_update() + - crypto: algif_aead - Do not set MAY_BACKLOG on the async path + - crypto: caam/qi - add fallback for XTS with more than 8B IV + - crypto: caam/qi - add support for more XTS key lengths + - RAS/CEC: Fix cec_init() prototype + - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() + - microblaze: fix kbuild redundant file warning + - EDAC/i5100: Fix error handling order in i5100_init_one() + - EDAC/aspeed: Fix handling of platform_get_irq() error + - EDAC/ti: Fix handling of platform_get_irq() error + - perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS + - x86/fpu: Allow multiple bits in clearcpuid= parameter + - arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions + - drivers/perf: xgene_pmu: Fix uninitialized resource struct + - drivers/perf: thunderx2_pmu: Fix memory resource error handling + - sched/fair: Fix wrong cpu selecting from isolated domain + - sched/fair: Use dst group while checking imbalance for NUMA balancer + - arm64: perf: Add missing ISB in armv8pmu_enable_counter() + - perf/x86/intel/uncore: Update Ice Lake uncore units + - perf/x86/intel/uncore: Reduce the number of CBOX counters + - perf/x86/intel/uncore: Fix the scale of the IMC free-running events + - x86/nmi: Fix nmi_handle() duration miscalculation + - x86/events/amd/iommu: Fix sizeof mismatch + - pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags + - pinctrl: qcom: Use return value from irq_set_wake() call + - perf/x86: Fix n_pair for cancelled txn + - perf/core: Fix race in the perf_mmap_close() function + - crypto: algif_skcipher - EBUSY on aio should be an error + - crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() + - crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call + - crypto: picoxcell - Fix potential race condition bug + - media: vivid: Fix global-out-of-bounds read in precalculate_color() + - media: tuner-simple: fix regression in simple_set_radio_freq + - crypto: ccree - fix runtime PM imbalance on error + - media: Revert "media: exynos4-is: Add missed check for + pinctrl_lookup_state()" + - media: hantro: h264: Get the correct fallback reference buffer + - media: hantro: postproc: Fix motion vector space allocation + - media: ov5640: Correct Bit Div register in clock tree diagram + - media: m5mols: Check function pointer in m5mols_sensor_power + - fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32 + - media: uvcvideo: Set media controller entity functions + - media: uvcvideo: Silence shift-out-of-bounds warning + - media: staging/intel-ipu3: css: Correctly reset some memory + - media: omap3isp: Fix memleak in isp_probe + - media: i2c: ov5640: Remain in power down for DVP mode unless streaming + - media: i2c: ov5640: Separate out mipi configuration from s_power + - media: i2c: ov5640: Enable data pins on poweron for DVP mode + - media: rcar_drif: Fix fwnode reference leak when parsing DT + - media: rcar_drif: Allocate v4l2_async_subdev dynamically + - media: rcar-csi2: Allocate v4l2_async_subdev dynamically + - spi: fsi: Handle 9 to 15 byte transfers lengths + - spi: fsi: Fix use of the bneq+ sequencer instruction + - spi: fsi: Implement restricted size for certain controllers + - spi: dw-pci: free previously allocated IRQs if desc->setup() fails + - crypto: omap-sham - fix digcnt register handling with export/import + - hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61} + - hwmon: (w83627ehf) Fix a resource leak in probe + - cypto: mediatek - fix leaks in mtk_desc_ring_alloc + - crypto: stm32/crc32 - Avoid lock if hardware is already used + - crypto: sun8i-ce - handle endianness of t_common_ctl + - media: mx2_emmaprp: Fix memleak in emmaprp_probe + - media: tc358743: initialize variable + - media: tc358743: cleanup tc358743_cec_isr + - media: rcar-vin: Fix a reference count leak. + - media: rockchip/rga: Fix a reference count leak. + - media: platform: fcp: Fix a reference count leak. + - media: camss: Fix a reference count leak. + - media: s5p-mfc: Fix a reference count leak + - media: stm32-dcmi: Fix a reference count leak + - media: ti-vpe: Fix a missing check and reference count leak + - regulator: resolve supply after creating regulator + - pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB + - spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() + - spi: spi-s3c64xx: Check return values + - hwmon: (bt1-pvt) Test sensor power supply on probe + - hwmon: (bt1-pvt) Cache current update timeout + - hwmon: (bt1-pvt) Wait for the completion with timeout + - btrfs: add owner and fs_info to alloc_state io_tree + - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue + - ath10k: provide survey info as accumulated data + - drm/vkms: fix xrgb on compute crc + - Bluetooth: hci_uart: Cancel init work before unregistering + - drm/amd/display: Fix wrong return value in dm_update_plane_state() + - drm/vgem: add missing platform_device_unregister() in vgem_init() + - drm/vkms: add missing platform_device_unregister() in vkms_init() + - drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel + - ath6kl: prevent potential array overflow in ath6kl_add_new_sta() + - ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() + - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error + handling path + - wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680 + - ASoC: qcom: lpass-platform: fix memory leak + - ASoC: qcom: lpass-cpu: fix concurrency issue + - ath11k: Fix possible memleak in ath11k_qmi_init_service + - brcmfmac: check ndev pointer + - mwifiex: Do not use GFP_KERNEL in atomic context + - staging: rtl8192u: Do not use GFP_KERNEL in atomic context + - drm/amd/display: fix potential integer overflow when shifting 32 bit + variable bl_pwm + - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() + - drm/gma500: fix error check + - scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()' + - scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call + - scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() + - scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() + - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() + - libbpf: Fix unintentional success return code in bpf_object__load + - wilc1000: Fix memleak in wilc_sdio_probe + - wilc1000: Fix memleak in wilc_bus_probe + - rtw88: don't treat NULL pointer as an array + - backlight: sky81452-backlight: Fix refcount imbalance on error + - staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() + - VMCI: check return value of get_user_pages_fast() for errors + - mm/error_inject: Fix allow_error_inject function signatures. + - drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel + - samples/bpf: Fix to xdpsock to avoid recycling frames + - drm/crc-debugfs: Fix memleak in crc_control_write + - Bluetooth: Clear suspend tasks on unregister + - selftests: vm: add fragment CONFIG_GUP_BENCHMARK + - scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN + - binder: Remove bogus warning on failed same-process transaction + - tty: serial: earlycon dependency + - pty: do tty_flip_buffer_push without port->lock in pty_write + - pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare() + - pwm: lpss: Add range limit check for the base_unit register value + - drivers/virt/fsl_hypervisor: Fix error handling path + - ath11k: fix a double free and a memory leak + - video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error + - video: fbdev: sis: fix null ptr dereference + - video: fbdev: radeon: Fix memleak in radeonfb_pci_register + - ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() + - scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk + - HID: roccat: add bounds checking in kone_sysfs_write_settings() + - drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check() + - drm/panfrost: Ensure GPU quirks are always initialised + - iomap: Clear page error before beginning a write + - iomap: Mark read blocks uptodate in write_begin + - selftests/lkdtm: Use "comm" instead of "diff" for dmesg + - Bluetooth: Re-order clearing suspend tasks + - pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser + - pinctrl: mcp23s08: Fix mcp23x17 precious range + - pinctrl: devicetree: Keep deferring even on timeout + - drm/msm/adreno: fix probe without iommu + - net/mlx5: Fix uninitialized variable warning + - net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow + - scsi: mpt3sas: Fix sync irqs + - net: stmmac: Fix incorrect location to set real_num_rx|tx_queues + - net: stmmac: use netif_tx_start|stop_all_queues() function + - xfs: force the log after remapping a synchronous-writes file + - cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE + - drm: mxsfb: check framebuffer pitch + - ima: Fix NULL pointer dereference in ima_file_hash + - ASoC: topology: disable size checks for bytes_ext controls if needed + - ASoC: tlv320adcx140: Fix digital gain range + - coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init + - coresight: fix offset by one error in counting ports + - coresight: cti: disclaim device only when it's claimed + - coresight: cti: remove pm_runtime_get_sync() from CPU hotplug + - coresight: etm4x: Ensure default perf settings filter user/kernel + - coresight: etm4x: Fix issues within reset interface of sysfs + - coresight: cti: Write regsiters directly in cti_enable_hw() + - coresight: etm4x: Handle unreachable sink in perf mode + - coresight: etm4x: Fix issues on trcseqevr access + - nvmem: core: fix missing of_node_put() in of_nvmem_device_get() + - selftests: mptcp: interpret \n as a new line + - selftests/bpf: Fix endianness issue in sk_assign + - selftests/bpf: Fix endianness issue in test_sockopt_sk + - xhci: don't create endpoint debugfs entry before ring buffer is set. + - net: dsa: rtl8366: Check validity of passed VLANs + - net: dsa: rtl8366: Refactor VLAN/PVID init + - net: dsa: rtl8366: Skip PVID setting if not requested + - net: wilc1000: clean up resource in error path of init mon interface + - ASoC: tas2770: Fix calling reset in probe + - ASoC: tas2770: Add missing bias level power states + - ASoC: tas2770: Fix required DT properties in the code + - ASoC: tas2770: Fix error handling with update_bits + - ASoC: tlv320aic32x4: Fix bdiv clock rate derivation + - net: dsa: rtl8366rb: Support all 4096 VLANs + - ASoC: SOF: control: add size checks for ext_bytes control .put() + - ASoC: tas2770: Fix unbalanced calls to pm_runtime + - spi: omap2-mcspi: Improve performance waiting for CHSTAT + - ath11k: Add checked value for ath11k_ahb_remove + - ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() + - drm: rcar-du: Put reference to VSP device + - phy: rockchip-dphy-rx0: Include linux/delay.h + - dmaengine: dmatest: Check list for emptiness before access its last entry + - ASoC: cros_ec_codec: fix kconfig dependency warning for + SND_SOC_CROS_EC_CODEC + - misc: mic: scif: Fix error handling path + - ALSA: seq: oss: Avoid mutex lock for a long-time ioctl + - usb: dwc2: Fix parameter type in function pointer prototype + - usb: dwc3: core: Properly default unspecified speed + - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails + - rtw88: Fix probe error handling race with firmware loading + - rtw88: Fix potential probe error handling race with wow firmware loading + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon + - quota: clear padding in v2r1_mem2diskdqb() + - slimbus: core: check get_addr before removing laddr ida + - slimbus: core: do not enter to clock pause mode in core + - slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback + - ASoC: fsl_sai: Instantiate snd_soc_dai_driver + - HID: hid-input: fix stylus battery reporting + - tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n + - nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() + - hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions + - nl80211: fix OBSS PD min and max offset validation + - iomap: Use kzalloc to allocate iomap_page + - coresight: etm: perf: Fix warning caused by etm_setup_aux failure + - coresight: cti: Fix remove sysfs link error + - coresight: cti: Fix bug clearing sysfs links on callback + - coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register + - ibmvnic: set up 200GBPS speed + - bpf: disallow attaching modify_return tracing functions to other BPF + programs + - selftests: Remove fmod_ret from test_overhead + - qtnfmac: fix resource leaks on unsupported iftype error return path + - pinctrl: aspeed: Use the right pinconf mask + - iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate() + - iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling + - net: enic: Cure the enic api locking trainwreck + - mfd: sm501: Fix leaks in probe() + - ASoC: wm_adsp: Pass full name to snd_ctl_notify + - iwlwifi: mvm: split a print to avoid a WARNING in ROC + - iwlwifi: dbg: remove no filter condition + - iwlwifi: dbg: run init_cfg function once per driver load + - usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above. + - usb: gadget: u_serial: clear suspended flag when disconnecting + - usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well + - bus: mhi: core: Fix the building of MHI module + - ocxl: fix kconfig dependency warning for OCXL + - nl80211: fix non-split wiphy information + - usb: dwc2: Fix INTR OUT transfers in DDMA mode. + - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized + - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() + - dmaengine: ioat: Allocate correct size for descriptor chunk + - ipmi_si: Fix wrong return value in try_smi_init() + - tracing: Fix parse_synth_field() error handling + - platform/x86: mlx-platform: Remove PSU EEPROM configuration + - mwifiex: fix double free + - drm/panfrost: increase readl_relaxed_poll_timeout values + - ipvs: clear skb->tstamp in forwarding path + - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup + - net: korina: fix kfree of rx/tx descriptor array + - netfilter: nf_log: missing vlan offload tag and proto + - mm/swapfile.c: fix potential memory leak in sys_swapon + - mm/memcg: fix device private memcg accounting + - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary + - fs: fix NULL dereference due to data race in prepend_path() + - selftests/ftrace: Change synthetic event name for inter-event-combined test + - tracing: Handle synthetic event array field type checking correctly + - i3c: master add i3c_master_attach_boardinfo to preserve boardinfo + - IB/mlx4: Fix starvation in paravirt mux/demux + - IB/mlx4: Adjust delayed work when a dup is observed + - powerpc/pseries: Fix missing of_node_put() in rng_init() + - powerpc/icp-hv: Fix missing of_node_put() in success path + - rcu/tree: Force quiescent state on callback overload + - rcutorture: Properly set rcu_fwds for OOM handling + - RDMA/ucma: Fix locking for ctx->events_reported + - RDMA/ucma: Add missing locking around rdma_leave_multicast() + - mtd: lpddr: fix excessive stack usage with clang + - RDMA/hns: Add a check for current state before modifying QP + - RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() + - powerpc/pseries: explicitly reschedule during drmem_lmb list traversal + - pseries/drmem: don't cache node id in drmem_lmb struct + - RDMA/mlx5: Fix potential race between destroy and CQE poll + - mtd: mtdoops: Don't write panic data twice + - perf tools: Make GTK2 support opt-in + - tools feature: Add missing -lzstd to the fast path feature detection + - ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values + - xfs: fix finobt btree block recovery ordering + - m68knommu: include SDHC support only when hardware has it + - arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER + - ida: Free allocated bitmap in error path + - xfs: limit entries returned when counting fsmap records + - xfs: fix deadlock and streamline xfs_getfsmap performance + - nfs: add missing "posix" local_lock constant table definition + - xfs: fix high key handling in the rt allocator's query_range function + - RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init + - RDMA/core: Delete function indirection for alloc/free kernel CQ + - RDMA: Allow fail of destroy CQ + - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page + boundary + - RDMA/umem: Prevent small pages from being returned by + ib_umem_find_best_pgsz() + - RDMA/qedr: Fix qp structure memory leak + - RDMA/qedr: Fix doorbell setting + - RDMA/qedr: Fix use of uninitialized field + - RDMA/qedr: Fix return code if accept is called on a destroyed qp + - RDMA/qedr: Fix inline size returned for iWARP + - powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory + - powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors + - powerpc/watchpoint: Fix handling of vector instructions + - powerpc/watchpoint: Add hw_len wherever missing + - powerpc/book3s64/hash/4k: Support large linear mapping range with 4K + - powerpc/tau: Use appropriate temperature sample interval + - powerpc/tau: Convert from timer to workqueue + - powerpc/tau: Remove duplicated set_thresholds() call + - powerpc/tau: Check processor type before enabling TAU interrupt + - powerpc/tau: Disable TAU between measurements + - powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx + - powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm + - RDMA/cma: Combine cma_ndev_work with cma_work + - RDMA/cma: Remove dead code for kernel rdmacm multicast + - RDMA/cma: Consolidate the destruction of a cma_multicast in one place + - RDMA/cma: Fix use after free race in roce multicast join + - perf intel-pt: Fix "context_switch event has no tid" error + - RDMA/qedr: Fix resource leak in qedr_create_qp + - RDMA/hns: Set the unsupported wr opcode + - RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() + - RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled + - RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work + - i40iw: Add support to make destroy QP synchronous + - perf stat: Skip duration_time in setup_system_wide + - RDMA/hns: Add check for the validity of sl configuration + - RDMA/hns: Solve the overflow of the calc_pg_sz() + - RDMA/hns: Fix the wrong value of rnr_retry when querying qp + - RDMA/hns: Fix configuration of ack_req_freq in QPC + - RDMA/hns: Fix missing sq_sig_type when querying QP + - mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access + - mtd: rawnand: stm32_fmc2: fix a buffer overflow + - mtd: rawnand: vf610: disable clk on error handling path in probe + - mtd: spinand: gigadevice: Only one dummy byte in QUADIO + - mtd: spinand: gigadevice: Add QE Bit + - mtd: rawnand: ams-delta: Fix non-OF build warning + - kdb: Fix pager search for multi-line strings + - overflow: Include header file with SIZE_MAX declaration + - RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces + - powerpc/64: fix irq replay missing preempt + - powerpc/64: fix irq replay pt_regs->softe value + - powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints + - powerpc/perf/hv-gpci: Fix starting index value + - perf stat: Fix out of bounds CPU map access when handling armv8_pmu events + - i3c: master: Fix error return in cdns_i3c_master_probe() + - powerpc/papr_scm: Add PAPR command family to pass-through command-set + - cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier + - IB/rdmavt: Fix sizeof mismatch + - RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() + - f2fs: reject CASEFOLD inode flag without casefold feature + - um: vector: Use GFP_ATOMIC under spin lock + - um: time-travel: Fix IRQ handling in time_travel_handle_message() + - maiblox: mediatek: Fix handling of platform_get_irq() error + - perf trace: Fix off by ones in memset() after realloc() in arches using + libaudit + - selftests/powerpc: Fix eeh-basic.sh exit codes + - f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info + - afs: Fix rapid cell addition/removal by not using RCU on cells tree + - afs: Fix cell refcounting by splitting the usage counter + - afs: Fix cell purging with aliases + - afs: Fix cell removal + - RDMA/rxe: Handle skb_clone() failure in rxe_recv.c + - mm/page_owner: change split_page_owner to take a count + - lib/crc32.c: fix trivial typo in preprocessor condition + - ramfs: fix nommu mmap with gaps in the page cache + - rapidio: fix error handling path + - rapidio: fix the missed put_device() for rio_mport_add_riodev + - mailbox: avoid timer start from callback + - clk: meson: axg-audio: separate axg and g12a regmap tables + - rtc: ds1307: Clear OSF flag on DS1388 when setting time + - i2c: rcar: Auto select RESET_CONTROLLER + - clk: meson: g12a: mark fclk_div2 as critical + - PCI: designware-ep: Fix the Header Type check + - PCI: aardvark: Fix compilation on s390 + - PCI: aardvark: Check for errors from pci_bridge_emul_init() call + - PCI: iproc: Set affinity mask on MSI interrupts + - rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge() + - rpmsg: Avoid double-free in mtk_rpmsg_register_device + - PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY + - vfio: add a singleton check for vfio_group_pin_pages + - s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY + - vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn + - vfio: fix a missed vfio group put in vfio_pin_pages + - vfio/type1: fix dirty bitmap calculation in vfio_dma_rw + - clk: qcom: gcc-sdm660: Fix wrong parent_map + - clk: keystone: sci-clk: fix parsing assigned-clock data during probe + - pwm: rockchip: Keep enabled PWMs running while probing + - pwm: img: Fix null pointer access in probe + - remoteproc/mediatek: fix null pointer dereference on null scp pointer + - PCI: hv: Fix hibernation in case interrupts are not re-created + - clk: rockchip: Initialize hw to error to avoid undefined behavior + - clk: mediatek: add UART0 clock support + - module: statically initialize init section freeing data + - clk: at91: clk-main: update key before writing AT91_CKGR_MOR + - clk: bcm2835: add missing release if devm_clk_hw_register fails + - kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n + - watchdog: Fix memleak in watchdog_cdev_register + - watchdog: Use put_device on error + - watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 + - svcrdma: fix bounce buffers for unaligned offsets and multiple pages + - ext4: fix dead loop in ext4_mb_new_blocks + - ext4: discard preallocations before releasing group lock + - ext4: disallow modifying DAX inode flag if inline_data has been set + - ext4: limit entries returned when counting fsmap records + - vfio/pci: Clear token on bypass registration failure + - vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages + - clk: imx8mq: Fix usdhc parents order + - SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() + - platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command + - Input: elants_i2c - fix typo for an attribute to show calibration count + - Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume() + - Input: stmfts - fix a & vs && typo + - Input: ep93xx_keypad - fix handling of platform_get_irq() error + - Input: omap4-keypad - fix handling of platform_get_irq() error + - Input: twl4030_keypad - fix handling of platform_get_irq() error + - Input: sun4i-ps2 - fix handling of platform_get_irq() error + - KVM: x86: emulating RDPID failure shall return #UD rather than #GP + - scsi: bfa: Fix error return in bfad_pci_init() + - arm64: mm: use single quantity to represent the PA to VA translation + - netfilter: conntrack: connection timeout after re-register + - netfilter: ebtables: Fixes dropping of small packets in bridge nat + - netsec: ignore 'phy-mode' device property on ACPI systems + - netfilter: nf_fwd_netdev: clear timestamp in forwarding path + - soc: xilinx: Fix error code in zynqmp_pm_probe() + - arm64: dts: meson: vim3: correct led polarity + - ARM: dts: imx6sl: fix rng node + - ARM: at91: pm: of_node_put() after its usage + - ARM: s3c24xx: fix mmc gpio lookup tables + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator + - arm64: dts: allwinner: h5: remove Mali GPU PMU module + - memory: omap-gpmc: Fix a couple off by ones + - memory: omap-gpmc: Fix build error without CONFIG_OF + - arm64: dts: qcom: sc7180: Fix the LLCC base register size + - memory: fsl-corenet-cf: Fix handling of platform_get_irq() error + - firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free + - arm64: dts: imx8mq: Add missing interrupts to GPC + - arm64: dts: qcom: sc7180: Drop flags on mdss irqs + - soc: qcom: pdr: Fixup array type of get_domain_list_resp message + - arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name + - arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec + - arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts + - soc: qcom: apr: Fixup the error displayed on lookup failure + - dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset + - arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels + - arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels + - arm64: dts: mt8173: elm: Fix nor_flash node property + - arm64: dts: actions: limit address range for pinctrl node + - ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers + - soc: fsl: qbman: Fix return value on success + - ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails + - ARM: dts: stm32: Fix sdmmc2 pins on AV96 + - ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays + - ARM: dts: stm32: Move ethernet PHY into DH SoM DT + - ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM + - ARM: dts: stm32: Fix DH PDK2 display PWM channel + - ARM: dts: iwg20d-q7-common: Fix touch controller probe failure + - soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api + - drm/mediatek: reduce clear event + - arm64: dts: zynqmp: Remove additional compatible string for i2c IPs + - ARM: dts: meson8: remove two invalid interrupt lines from the GPU node + - lightnvm: fix out-of-bounds write to array devices->info[] + - powerpc/powernv/dump: Fix race while processing OPAL dump + - powerpc/pseries: Avoid using addr_to_pfn in real mode + - nvmet: fix uninitialized work for zero kato + - KVM: ioapic: break infinite recursion on lazy EOI + - NTB: hw: amd: fix an issue about leak system resources + - ntb: intel: Fix memleak in intel_ntb_pci_probe + - sched/features: Fix !CONFIG_JUMP_LABEL case + - perf: correct SNOOPX field offset + - i2c: core: Restore acpi_walk_dep_device_list() getting called after + registering the ACPI i2c devs + - md/bitmap: fix memory leak of temporary bitmap + - block: ratelimit handle_bad_sector() message + - x86/dumpstack: Fix misleading instruction pointer error message + - crypto: ccp - fix error handling + - x86/asm: Replace __force_order with a memory clobber + - x86/mce: Add Skylake quirk for patrol scrub reported errors + - media: firewire: fix memory leak + - media: ati_remote: sanity check for both endpoints + - media: st-delta: Fix reference count leak in delta_run_work + - media: sti: Fix reference count leaks + - media: exynos4-is: Fix several reference count leaks due to + pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak + - media: vsp1: Fix runtime PM imbalance on error + - media: platform: s3c-camif: Fix runtime PM imbalance on error + - media: platform: sti: hva: Fix runtime PM imbalance on error + - media: bdisp: Fix runtime PM imbalance on error + - media: media/pci: prevent memory leak in bttv_probe + - x86/mce: Annotate mce_rd/wrmsrl() with noinstr + - crypto: hisilicon - fixed memory allocation error + - spi: fsi: Fix clock running too fast + - x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR + - media: uvcvideo: Ensure all probed info is returned to v4l2 + - mmc: sdio: Check for CISTPL_VERS_1 buffer size + - media: saa7134: avoid a shift overflow + - media: atomisp: fix memleak in ia_css_stream_create + - media: venus: fixes for list corruption + - fs: dlm: fix configfs memory leak + - media: venus: core: Fix error handling in probe + - media: venus: core: Fix runtime PM imbalance in venus_probe + - ntfs: add check for mft record size in superblock + - ip_gre: set dev->hard_header_len and dev->needed_headroom properly + - mac80211: handle lack of sband->bitrates in rates + - staging: wfx: fix handling of MMIC error + - libbpf: Close map fd if init map slots failed + - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI + - PM: hibernate: remove the bogus call to get_gendisk() in software_resume() + - scsi: mvumi: Fix error return in mvumi_io_attach() + - scsi: target: core: Add CONTROL field for trace events + - mic: vop: copy data to kernel space then write to io memory + - misc: vop: add round_up(x,4) for vring_size to avoid kernel panic + - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc + - usb: gadget: function: printer: fix use-after-free in __lock_acquire + - udf: Limit sparing table size + - udf: Avoid accessing uninitialized data on failed inode read + - rtw88: increse the size of rx buffer size + - USB: cdc-acm: handle broken union descriptors + - usb: dwc3: simple: add support for Hikey 970 + - habanalabs: cast to u64 before shift > 31 bits + - can: flexcan: flexcan_chip_stop(): add error handling and propagate error + value + - HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons + - ath9k: hif_usb: fix race condition between usb_get_urb() and + usb_kill_anchored_urbs() + - drm/panfrost: add Amlogic GPU integration quirks + - drm/panfrost: add amlogic reset quirk callback + - drm/panfrost: add support for vendor quirk + - bpf: Limit caller's stack depth 256 for subprogs with tailcalls + - misc: rtsx: Fix memory leak in rtsx_pci_probe + - reiserfs: only call unlock_new_inode() if I_NEW + - opp: Prevent memory leak in dev_pm_opp_attach_genpd() + - xfs: make sure the rt allocator doesn't run off the end + - usb: ohci: Default to per-port over-current protection + - drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create + - Bluetooth: Only mark socket zapped after unlocking + - drm/msm/a6xx: fix a potential overflow issue + - iomap: fix WARN_ON_ONCE() from unprivileged users + - scsi: ibmvfc: Fix error return in ibmvfc_probe() + - scsi: qla2xxx: Warn if done() or free() are called on an already freed srb + - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change + - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy + - rtl8xxxu: prevent potential memory leak + - Fix use after free in get_capset_info callback. + - HID: ite: Add USB id match for Acer One S1003 keyboard dock + - scsi: qedf: Return SUCCESS if stale rport is encountered + - scsi: qedi: Mark all connections for recovery on link down event + - scsi: qedi: Protect active command list to avoid list corruption + - scsi: qedi: Fix list_del corruption while removing active I/O + - fbmem: add margin check to fb_check_caps() + - tty: ipwireless: fix error handling + - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb + - ipvs: Fix uninit-value in do_ip_vs_set_ctl() + - reiserfs: Fix memory leak in reiserfs_parse_options() + - s390/qeth: strictly order bridge address events + - mwifiex: don't call del_timer_sync() on uninitialized timer + - ALSA: hda/ca0132 - Add AE-7 microphone selection commands. + - ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. + - ASoC: SOF: Add topology filename override based on dmi data match + - ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 + - scsi: smartpqi: Avoid crashing kernel for controller issues + - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach + - usb: core: Solve race condition in anchor cleanup functions + - scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() + - drm/amd/display: Screen corruption on dual displays (DP+USB-C) + - dmaengine: dw: Add DMA-channels mask cell support + - dmaengine: dw: Activate FIFO-mode for memory peripherals only + - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() + - net: korina: cast KSEG0 address to pointer in kfree + - s390/qeth: don't let HW override the configured port role + - tty: serial: lpuart: fix lpuart32_write usage + - tty: serial: fsl_lpuart: fix lpuart32_poll_get_char + - usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root + - usb: cdc-acm: add quirk to blacklist ETAS ES58X devices + - USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync(). + - usb: cdns3: gadget: free interrupt after gadget has deleted + - eeprom: at25: set minimum read/write access stride to 1 + - usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets. + - Linux 5.8.17 + * RTL8822BE [10ec:b822] network driver rtl_wifi crashes on boot in Focal Fossa + 20.04 - 5.4.0-21-generic and mainline 5.7.0-050700rc1-generic + (LP: #1872984) // Groovy update: v5.8.17 upstream stable release + (LP: #1902137) + - rtw88: pci: Power cycle device during shutdown + * Groovy update: v5.8.16 upstream stable release (LP: #1902132) + - crypto: bcm - Verify GCM/CCM key length in setkey + - crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA + - Bluetooth: Disconnect if E0 is used for Level 4 + - media: usbtv: Fix refcounting mixup + - USB: serial: option: add Cellient MPL200 card + - USB: serial: option: Add Telit FT980-KS composition + - staging: comedi: check validity of wMaxPacketSize of usb endpoints found + - USB: serial: pl2303: add device-id for HP GC device + - USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters + - reiserfs: Initialize inode keys properly + - reiserfs: Fix oops during mount + - Linux 5.8.16 + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h + - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts + - fbcon: Fix global-out-of-bounds read in fbcon_get_font() + - Revert "ravb: Fixed to be able to unload modules" + - crypto: arm64: Use x16 with indirect branch to bti_c + - exfat: fix use of uninitialized spinlock on error path + - net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() + - drm/nouveau/mem: guard against NULL pointer access in mem_del + - partitions/ibm: fix non-DASD devices + - block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg() + - vhost: Don't call access_ok() when using IOTLB + - vhost: Use vhost_get_used_size() in vhost_vring_set_addr() + - usermodehelper: reset umask to default before executing user process + - splice: teach splice pipe reading about empty pipe buffers + - Platform: OLPC: Fix memleak in olpc_ec_probe + - platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP + Pavilion 11 x360 + - platform/x86: thinkpad_acpi: initialize tp_nvram_state variable + - platform/x86: asus-wmi: Fix SW_TABLET_MODE always reporting 1 on many + different models + - bpf: Fix sysfs export of empty BTF section + - bpf: Prevent .BTF section elimination + - r8169: consider that PHY reset may still be in progress after applying + firmware + - platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE + reporting + - platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse + - nvme-core: put ctrl ref when module ref get fail + - macsec: avoid use-after-free in macsec_handle_frame() + - RISC-V: Make sure memblock reserves the memory containing DT + - gpiolib: Disable compat ->read() code in UML case + - mm/khugepaged: fix filemap page_to_pgoff(page) != offset + - net: introduce helper sendpage_ok() in include/linux/net.h + - tcp: use sendpage_ok() to detect misused .sendpage + - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() + - xfrmi: drop ignore_df check before updating pmtu + - espintcp: restore IP CB before handing the packet to xfrm + - cifs: Fix incomplete memory allocation on setxattr path + - i2c: meson: fix clock setting overwrite + - i2c: meson: keep peripheral clock enabled + - i2c: meson: fixup rate calculation with filter delay + - i2c: owl: Clear NACK and BUS error bits + - sctp: fix sctp_auth_init_hmacs() error path + - team: set dev->needed_headroom in team_setup_by_port() + - net: team: fix memory leak in __team_options_register + - openvswitch: handle DNAT tuple collision + - drm/amdgpu: prevent double kfree ttm->sg + - btrfs: move btrfs_scratch_superblocks into btrfs_dev_replace_finishing + - io_uring: fix potential ABBA deadlock in ->show_fdinfo() + - drm/amd/pm: Removed fixed clock in auto mode DPM + - drm/amd/display: fix return value check for hdcp_work + - btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks + - iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() + - xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate + - xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate + - xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate + - xfrm: clone whole liftime_cur structure in xfrm_do_migrate + - xsk: Do not discard packet when NETDEV_TX_BUSY + - net: stmmac: removed enabling eee in EEE set callback + - platform/x86: fix kconfig dependency warning for LG_LAPTOP + - platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP + - hinic: add log in exception handling processes + - hinic: fix wrong return value of mac-set cmd + - net: dsa: felix: convert TAS link speed based on phylink speed + - xfrm: Use correct address family in xfrm_state_find + - iavf: use generic power management + - iavf: Fix incorrect adapter get in iavf_resume + - ice: fix memory leak if register_netdev_fails + - ice: fix memory leak in ice_vsi_setup + - vmxnet3: fix cksum offload issues for non-udp tunnels + - net: stmmac: Fix clock handling on remove path + - net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop + - bonding: set dev->needed_headroom in bond_setup_by_slave() + - mdio: fix mdio-thunder.c dependency & build error + - mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path + - r8169: fix RTL8168f/RTL8411 EPHY config + - net: usb: ax88179_178a: fix missing stop entry in driver_info + - virtio-net: don't disable guest csum when disable LRO + - net: phy: realtek: fix rtl8211e rx/tx delay config + - octeontx2-af: Fix enable/disable of default NPC entries + - octeontx2-pf: Fix TCP/UDP checksum offload for IPv6 frames + - octeontx2-pf: Fix the device state on error + - octeontx2-pf: Fix synchnorization issue in mbox + - pipe: Fix memory leaks in create_pipe_files() + - net/mlx5: Fix a race when moving command interface to polling mode + - net/mlx5: Avoid possible free of command entry while timeout comp handler + - net/mlx5: poll cmd EQ in case of command timeout + - net/mlx5: Add retry mechanism to the command entry index allocation + - net/mlx5: Fix request_irqs error flow + - net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU + - net/mlx5e: Fix return status when setting unsupported FEC mode + - net/mlx5e: Fix VLAN cleanup flow + - net/mlx5e: Fix VLAN create flow + - net/mlx5e: Fix race condition on nhe->n pointer in neigh update + - net: stmmac: Modify configuration method of EEE timers + - net: hinic: fix DEVLINK build errors + - vhost-vdpa: fix vhost_vdpa_map() on error condition + - vhost-vdpa: fix page pinning leakage in error path + - net: mvneta: fix double free of txq->buf + - rxrpc: Fix rxkad token xdr encoding + - rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read() + - rxrpc: Fix some missing _bh annotations on locking conn->state_lock + - rxrpc: The server keyring isn't network-namespaced + - rxrpc: Fix server keyring leak + - net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c + - [Packaging] module ocelot_board rename + - net: mscc: ocelot: split writes to pause frame enable bit and to thresholds + - net: mscc: ocelot: extend watermark encoding function + - net: mscc: ocelot: divide watermark value by 60 when writing to SYS_ATOP + - afs: Fix deadlock between writeback and truncate + - perf: Fix task_function_call() error handling + - mmc: core: don't set limits.discard_granularity as 0 + - mm: validate inode in mapping_set_error() + - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected + by khugepaged + - tcp: fix receive window update in tcp_add_backlog() + - netlink: fix policy dump leak + - net/core: check length before updating Ethertype in skb_mpls_{push,pop} + - net: bridge: fdb: don't flush ext_learn entries + - net/tls: race causes kernel panic + - net/mlx5e: Fix driver's declaration to support GRE offload + - tty/vt: Do not warn when huge selection requested + - Input: ati_remote2 - add missing newlines when printing module parameters + - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails + - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks + - net_sched: defer tcf_idr_insert() in tcf_action_init_1() + - net_sched: commit action insertions together + - Linux 5.8.15 + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + * Improve descriptions for XFAIL cases in kselftests/net/psock_snd + (LP: #1900088) + - selftests/net: improve descriptions for XFAIL cases in psock_snd.sh + * alsa/hda/realtek - The front Mic on a HP machine doesn't work (LP: #1899508) + - ALSA: hda/realtek - The front Mic on a HP machine doesn't work + * kci_test_encap_fou() in rtnetlink.sh from kselftests/net failed with "FAIL: + can't add fou port 7777, skipping test" (LP: #1891421) + - selftests: rtnetlink: load fou module for kci_test_encap_fou() test + * linux-aws: fold test_bpf SAUCE to linux/master (LP: #1900855) + - SAUCE: selftests: net: don't fail test_bpf when module is not present + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + [ Ubuntu: 5.8.0-29.31 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 13 Nov 2020 10:00:46 +0100 + +linux-riscv (5.8.0-8.9) groovy; urgency=medium + + [ Ubuntu: 5.8.0-28.30 ] + + * CVE-2020-27194 + - bpf: Fix scalar32_min_max_or bounds tracking + + [ Ubuntu: 5.8.0-27.29 ] + + * CVE-2020-8694 + - powercap: make attributes only readable by root + + [ Ubuntu: 5.8.0-26.27 ] + + * groovy/linux: 5.8.0-26.27 -proposed tracker (LP: #1900896) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + -- Thadeu Lima de Souza Cascardo Thu, 05 Nov 2020 15:12:54 -0300 + +linux-riscv (5.8.0-7.7) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-7.7 -proposed tracker (LP: #1899936) + + [ Ubuntu: 5.8.0-25.26 ] + + * groovy/linux: 5.8.0-25.26 -proposed tracker (LP: #1899940) + * CVE-2020-12351 + - Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel + * CVE-2020-12352 + - Bluetooth: A2MP: Fix not initializing all members + * CVE-2020-12351 // CVE-2020-12352 // CVE-2020-24490 + - Bluetooth: Disable High Speed by default + - Bluetooth: MGMT: Fix not checking if BT_HS is enabled + - [Config] Disable BlueZ highspeed support + * ec2-hibinit-agent needs to properly initialize swap file (LP: #1892728) + - ext4: implement swap_activate aops using iomap + + [ Ubuntu: 5.8.0-24.25 ] + + * groovy/linux: 5.8.0-24.25 -proposed tracker (LP: #1899804) + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + * ceph: fix inode number handling on arches with 32-bit ino_t (LP: #1899582) + - ceph: fix inode number handling on arches with 32-bit ino_t + * 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 + + -- Paolo Pisati Thu, 15 Oct 2020 12:43:01 +0200 + +linux-riscv (5.8.0-6.6) groovy; urgency=medium + + + [ Ubuntu: 5.8.0-23.24 ] + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + -- Seth Forshee Fri, 09 Oct 2020 16:04:56 -0500 + +linux-riscv (5.8.0-5.5) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-5.5 -proposed tracker (LP: #1899097) + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UBUNTU_HOST=m + + [ Ubuntu: 5.8.0-22.23 ] + + * groovy/linux: 5.8.0-22.23 -proposed tracker (LP: #1899099) + * Packaging resync (LP: #1786013) + - update dkms package versions + * oops in nvkm_udevice_info() [nouveau] (LP: #1898130) + - drm/nouveau/device: return error for unknown chipsets + * 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 + * Groovy update: v5.8.14 upstream stable release (LP: #1898853) + - io_uring: always delete double poll wait entry on match + - btrfs: fix filesystem corruption after a device replace + - mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS + models + - USB: gadget: f_ncm: Fix NDP16 datagram validation + - Revert "usbip: Implement a match function to fix usbip" + - usbcore/driver: Fix specific driver selection + - usbcore/driver: Fix incorrect downcast + - usbcore/driver: Accommodate usbip + - gpio: siox: explicitly support only threaded irqs + - gpio: mockup: fix resource leak in error path + - gpio: tc35894: fix up tc35894 interrupt configuration + - gpio: amd-fch: correct logic of GPIO_LINE_DIRECTION + - clk: samsung: Keep top BPLL mux on Exynos542x enabled + - clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk + - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() + - i2c: i801: Exclude device from suspend direct complete optimization + - Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 + - iio: adc: qcom-spmi-adc5: fix driver name + - ftrace: Move RCU is watching check after recursion check + - tracing: Fix trace_find_next_entry() accounting of temp buffer size + - memstick: Skip allocating card when removing host + - drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config + - xen/events: don't use chip_data for legacy IRQs + - clocksource/drivers/timer-gx6605s: Fixup counter reload + - vboxsf: Fix the check for the old binary mount-arguments struct + - mt76: mt7915: use ieee80211_free_txskb to free tx skbs + - libbpf: Remove arch-specific include path in Makefile + - drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices + - Revert "wlcore: Adding suppoprt for IGTK key in wlcore driver" + - drm/sun4i: mixer: Extend regmap max_register + - hv_netvsc: Cache the current data path to avoid duplicate call and message + - net: dec: de2104x: Increase receive ring size for Tulip + - rndis_host: increase sleep time in the query-response loop + - nvme-pci: disable the write zeros command for Intel 600P/P3100 + - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() + - fuse: fix the ->direct_IO() treatment of iov_iter + - drivers/net/wan/lapbether: Make skb->protocol consistent with the header + - drivers/net/wan/hdlc: Set skb->protocol before transmitting + - mac80211: Fix radiotap header channel flag for 6GHz band + - mac80211: do not allow bigger VHT MPDUs than the hardware supports + - tracing: Make the space reserved for the pid wider + - tools/io_uring: fix compile breakage + - io_uring: mark statx/files_update/epoll_ctl as non-SQPOLL + - cpuidle: psci: Fix suspicious RCU usage + - spi: fsl-espi: Only process interrupts for expected events + - net: dsa: felix: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries + - nvme-pci: fix NULL req in completion handler + - nvme-fc: fail new connections to a deleted host or remote port + - scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.* + - gpio: sprd: Clear interrupt when setting the type as edge + - phy: ti: am654: Fix a leak in serdes_am654_probe() + - pinctrl: mvebu: Fix i2c sda definition for 98DX3236 + - nfs: Fix security label length not being reset + - NFSv4.2: fix client's attribute cache management for copy_file_range + - pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read + - clk: tegra: Always program PLL_E when enabled + - clk: tegra: Fix missing prototype for tegra210_clk_register_emc() + - dmaengine: dmatest: Prevent to run on misconfigured channel + - clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED + - scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case + - iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() + - gpio: pca953x: Fix uninitialized pending variable + - gpio/aspeed-sgpio: enable access to all 80 input & output sgpios + - gpio/aspeed-sgpio: don't enable all interrupts by default + - gpio: aspeed: fix ast2600 bank properties + - i2c: cpm: Fix i2c_ram structure + - i2c: npcm7xx: Clear LAST bit after a failed transaction. + - Input: trackpoint - enable Synaptics trackpoints + - blk-mq: call commit_rqs while list empty but error happen + - scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting + - autofs: use __kernel_write() for the autofs pipe writing + - pinctrl: qcom: sm8250: correct sdc2_clk + - pinctrl: mediatek: check mtk_is_virt_gpio input parameter + - gpio: pca953x: Correctly initialize registers 6 and 7 for PCA957x + - iommu/amd: Fix the overwritten field in IVMD header + - pipe: remove pipe_wait() and fix wakeup race with splice + - random32: Restore __latent_entropy attribute on net_rand_state + - gpiolib: Fix line event handling in syscall compatible mode + - drm/i915/gvt: Fix port number for BDW on EDID region setup + - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks + - scsi: sd: sd_zbc: Fix ZBC disk initialization + - epoll: do not insert into poll queues until all sanity checks are done + - epoll: replace ->visited/visited_list with generation count + - epoll: EPOLL_CTL_ADD: close the race in decision to take fast path + - ep_create_wakeup_source(): dentry name can change under you... + - Linux 5.8.14 + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: check for do_sys_openat2 in user-memory test + - SAUCE: doc: Disable extension incompatible with Sphinx 3 + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: Revert "UBUNTU: SAUCE: IB/umem: Fix the Peer flow to handle pinned + pages properly" + - SAUCE: Revert "UBUNTU: SAUCE: IB/mlx5: Use peer client page_shift" + - SAUCE: Revert "UBUNTU: SAUCE: fixup! RDMA/core: Introduce peer memory + interface" + - SAUCE: Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + - 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 + - Revert "UBUNTU: [Packaging] Temporarily disable building doc package + contents" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add support for mapping secids and + using secctxes"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Use an IDR to allocate apparmor + secids"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fixup secid map conversion to using + IDR"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add a wildcard secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Parse secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Allow filtering based on secmark + policy"" + - Revert "UBUNTU: SAUCE: Fix-up af_unix mediation for sock infrastructure + management" + - Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock security" + - Revert "UBUNTU: SAUCE: apparmor: update flags to no longer be exclusive" + - Revert "UBUNTU: SAUCE: apparmor: add an apparmorfs entry to access current + attrs" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add the ability to get a task's + secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add support for audit rule + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: modify audit rule support to + support profile stacks"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix bad debug check in + apparmor_secid_to_secctx()"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add #ifdef checks for secmark + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix checkpatch error in Parse + secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute"" + + -- Seth Forshee Thu, 08 Oct 2020 21:20:26 -0500 + +linux-riscv (5.8.0-4.4) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-4.4 -proposed tracker (LP: #1898148) + + * Miscellaneous Ubuntu changes + - [Config] toolchain update + + [ Ubuntu: 5.8.0-21.22 ] + + * groovy/linux: 5.8.0-21.22 -proposed tracker (LP: #1898150) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + * EFA: add support for 0xefa1 devices (LP: #1896791) + - RDMA/efa: Expose maximum TX doorbell batch + - RDMA/efa: Expose minimum SQ size + - RDMA/efa: User/kernel compatibility handshake mechanism + - RDMA/efa: Add EFA 0xefa1 PCI ID + * Groovy update: v5.8.13 upstream stable release (LP: #1898076) + - device_cgroup: Fix RCU list debugging warning + - ASoC: pcm3168a: ignore 0 Hz settings + - ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 + - ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 + - clk: versatile: Add of_node_put() before return statement + - RISC-V: Take text_mutex in ftrace_init_nop() + - i2c: aspeed: Mask IRQ status to relevant bits + - s390/init: add missing __init annotations + - lockdep: fix order in trace_hardirqs_off_caller() + - EDAC/ghes: Check whether the driver is on the safe list correctly + - drm/amdkfd: fix a memory leak issue + - drm/amd/display: Don't use DRM_ERROR() for DTM add topology + - drm/amd/display: update nv1x stutter latencies + - drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is + - drm/amd/display: Don't log hdcp module warnings in dmesg + - objtool: Fix noreturn detection for ignored functions + - i2c: mediatek: Send i2c master code at more than 1MHz + - riscv: Fix Kendryte K210 device tree + - ieee802154: fix one possible memleak in ca8210_dev_com_init + - ieee802154/adf7242: check status of adf7242_read_reg + - clocksource/drivers/h8300_timer8: Fix wrong return value in + h8300_8timer_init() + - batman-adv: bla: fix type misuse for backbone_gw hash indexing + - libbpf: Fix build failure from uninitialized variable warning + - atm: eni: fix the missed pci_disable_device() for eni_init_one() + - batman-adv: mcast/TT: fix wrongly dropped or rerouted packets + - netfilter: ctnetlink: add a range check for l3/l4 protonum + - netfilter: ctnetlink: fix mark based dump filtering regression + - netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled + - netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid + - mac802154: tx: fix use-after-free + - bpf: Fix clobbering of r2 in bpf_gen_ld_abs + - tools/libbpf: Avoid counting local symbols in ABI check + - drm/vc4/vc4_hdmi: fill ASoC card owner + - net: qed: Disable aRFS for NPAR and 100G + - net: qede: Disable aRFS for NPAR and 100G + - net: qed: RDMA personality shouldn't fail VF load + - igc: Fix wrong timestamp latency numbers + - igc: Fix not considering the TX delay for timestamps + - drm/sun4i: sun8i-csc: Secondary CSC register correction + - hv_netvsc: Switch the data path at the right time during hibernation + - spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs + - RDMA/core: Fix ordering of CQ pool destruction + - batman-adv: Add missing include for in_interrupt() + - xsk: Fix number of pinned pages/umem size discrepancy + - nvme-tcp: fix kconfig dependency warning when !CRYPTO + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh + - batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh + - bpf: Fix a rcu warning for bpffs map pretty-print + - lib80211: fix unmet direct dependendices config warning when !CRYPTO + - mac80211: do not disable HE if HT is missing on 2.4 GHz + - cfg80211: fix 6 GHz channel conversion + - mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz + - ALSA: asihpi: fix iounmap in error handler + - io_uring: fix openat/openat2 unified prep handling + - SUNRPC: Fix svc_flush_dcache() + - regmap: fix page selection for noinc reads + - regmap: fix page selection for noinc writes + - net/mlx5e: mlx5e_fec_in_caps() returns a boolean + - MIPS: Loongson-3: Fix fp register access if MSA enabled + - PM / devfreq: tegra30: Disable clock on error in probe + - MIPS: Add the missing 'CPU_1074K' into __get_cpu_type() + - regulator: axp20x: fix LDO2/4 description + - spi: bcm-qspi: Fix probe regression on iProc platforms + - KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE + - KVM: SVM: Add a dedicated INVD intercept routine + - mm: validate pmd after splitting + - arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback + - x86/irq: Make run_on_irqstack_cond() typesafe + - x86/ioapic: Unbreak check_timer() + - scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported + - ALSA: usb-audio: Add delay quirk for H570e USB headsets + - ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged + - ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation + P520 + - lib/string.c: implement stpcpy + - tracing: fix double free + - s390/dasd: Fix zero write for FBA devices + - mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing + stations + - lib/bootconfig: Fix a bug of breaking existing tree nodes + - lib/bootconfig: Fix to remove tailing spaces after value + - kprobes: Fix to check probe enabled before disarm_kprobe_ftrace() + - kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot + - btrfs: fix put of uninitialized kobject after seed device delete + - btrfs: fix overflow when copying corrupt csums for a message + - media: cec-adap.c: don't use flush_scheduled_work() + - MIPS: Loongson2ef: Disable Loongson MMI instructions + - dmabuf: fix NULL pointer dereference in dma_buf_release() + - mm, THP, swap: fix allocating cluster for swapfile by mistake + - mm: replace memmap_context by meminit_context + - mm: don't rely on system state to detect hot-plug operations + - s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl + - io_uring: ensure open/openat2 name is cleaned on cancelation + - KVM: arm64: Assume write fault on S1PTW permission fault on instruction + fetch + - dm: fix bio splitting and its bio completion order for regular IO + - clocksource/drivers/timer-ti-dm: Do reset before enable + - Linux 5.8.13 + * 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 + * mwifiex stops working after kernel upgrade (LP: #1897299) + - mwifiex: Increase AES key storage size to 256 bits + * Oops and hang when starting LVM snapshots on 5.4.0-47 (LP: #1894780) + - SAUCE: Revert "mm: memcg/slab: fix memory leak at non-root kmem_cache + destroy" + * mm/slub kernel oops on focal kernel 5.4.0-45 (LP: #1895109) + - SAUCE: Revert "mm/slub: fix a memory leak in sysfs_slab_add()" + * Remove NVMe suspend-to-idle workaround (LP: #1897227) + - Revert "UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3" + - Revert "UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3" + * [UBUNTU 20.04.1] qemu (secure guest) crash due to gup_fast / dynamic page + table folding issue (LP: #1896726) + - mm/gup: fix gup_fast with dynamic page table folding + * backport tls-rx to ubuntu 5.8 (LP: #1895947) + - net/mlx5: kTLS, Improve TLS params layout structures + - net/mlx5e: Turn XSK ICOSQ into a general asynchronous one + - net/mlx5e: Refactor build channel params + - net/mlx5e: API to manipulate TTC rules destinations + - net/mlx5e: Receive flow steering framework for accelerated TCP flows + - net/mlx5e: Accel, Expose flow steering API for rules add/del + - net/mlx5e: kTLS, Improve TLS feature modularity + - net/mlx5e: kTLS, Use kernel API to extract private offload context + - net/mlx5e: kTLS, Add kTLS RX HW offload support + - Revert "net/tls: Add force_resync for driver resync" + - net/tls: Add asynchronous resync + - net/mlx5e: kTLS, Add kTLS RX resync support + - net/mlx5e: kTLS, Add kTLS RX stats + - net/mlx5e: Increase Async ICO SQ size + - net/mlx5e: kTLS, Cleanup redundant capability check + - net/mlx5e: kTLS, Improve rx handler function call + - net/mlx5e: kTLS, Fix napi sync and possible use-after-free + - net/mlx5e: fix memory leak of tls + - net/mlx5e: Fix build break when CONFIG_XPS is not set + - net/mlx5e: kTLS, Add missing dma_unmap in RX resync + - net/mlx5e: kTLS, Fix leak on resync error flow + - net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock + * Groovy update: v5.8.12 upstream stable release (LP: #1897550) + - ibmvnic fix NULL tx_pools and rx_tools issue at do_reset + - ibmvnic: add missing parenthesis in do_reset() + - act_ife: load meta modules before tcf_idr_check_alloc() + - bnxt_en: Avoid sending firmware messages when AER error is detected. + - bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() + - cxgb4: fix memory leak during module unload + - cxgb4: Fix offset when clearing filter byte counters + - geneve: add transport ports in route lookup for geneve + - hdlc_ppp: add range checks in ppp_cp_parse_cr() + - hinic: bump up the timeout of SET_FUNC_STATE cmd + - ip: fix tos reflection in ack and reset packets + - ipv4: Initialize flowi4_multipath_hash in data path + - ipv4: Update exception handling for multipath routes via same device + - ipv6: avoid lockdep issue in fib6_del() + - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under + RCU + - net: DCB: Validate DCB_ATTR_DCB_BUFFER argument + - net: dsa: rtl8366: Properly clear member config + - net: Fix bridge enslavement failure + - net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC + - net/mlx5: Fix FTE cleanup + - net: phy: call phy_disable_interrupts() in phy_attach_direct() instead + - net: sched: initialize with 0 before setting erspan md->u + - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc + - net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant + - nfp: use correct define to return NONE fec + - taprio: Fix allowing too small intervals + - tipc: Fix memory leak in tipc_group_create_member() + - tipc: fix shutdown() of connection oriented socket + - tipc: use skb_unshare() instead in tipc_buf_append() + - net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported + - net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported + - bnxt_en: Use memcpy to copy VPD field info. + - bnxt_en: return proper error codes in bnxt_show_temp + - bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex. + - net: lantiq: Wake TX queue again + - net: lantiq: use netif_tx_napi_add() for TX NAPI + - net: lantiq: Use napi_complete_done() + - net: lantiq: Disable IRQs only if NAPI gets scheduled + - net: phy: Avoid NPD upon phy_detach() when driver is unbound + - net: phy: Do not warn in phy_stop() on PHY_DOWN + - net: qrtr: check skb_put_padto() return value + - net: add __must_check to skb_put_padto() + - net: ethernet: ti: cpsw_new: fix suspend/resume + - wireguard: noise: take lock when removing handshake entry from table + - wireguard: peerlookup: take lock before checking hash in replace operation + - net: ipa: fix u32_replace_bits by u32p_xxx version + - net/mlx5e: Fix memory leak of tunnel info when rule under multipath not + ready + - hinic: fix rewaking txq after netif_tx_disable + - hv_netvsc: Fix hibernation for mlx5 VF driver + - net: dsa: link interfaces with the DSA master to get rid of lockdep warnings + - net: dsa: microchip: ksz8795: really set the correct number of ports + - net: macb: fix for pause frame receive enable bit + - Revert "netns: don't disable BHs when locking "nsid_lock"" + - net/mlx5e: Use RCU to protect rq->xdp_prog + - net/mlx5e: Use synchronize_rcu to sync with NAPI + - net/mlx5e: Fix endianness when calculating pedit mask first bit + - Linux 5.8.12 + * Groovy update: v5.8.11 upstream stable release (LP: #1896795) + - RDMA/bnxt_re: Restrict the max_gids to 256 + - dt-bindings: spi: Fix spi-bcm-qspi compatible ordering + - mptcp: sendmsg: reset iter on error + - net: handle the return value of pskb_carve_frag_list() correctly + - dt-bindings: PCI: intel,lgm-pcie: Fix matching on all snps,dw-pcie instances + - hv_netvsc: Remove "unlikely" from netvsc_select_queue + - loop: Set correct device size when using LOOP_CONFIGURE + - firmware_loader: fix memory leak for paged buffer + - xprtrdma: Release in-flight MRs on disconnect + - NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall + - phy: omap-usb2-phy: disable PHY charger detect + - habanalabs: prevent user buff overflow + - habanalabs: fix report of RAZWI initiator coordinates + - scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort + - scsi: libfc: Fix for double free() + - scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery + - scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional + events + - regulator: pwm: Fix machine constraints application + - spi: spi-loopback-test: Fix out-of-bounds read + - interconnect: Show bandwidth for disabled paths as zero in debugfs + - NFS: Zero-stateid SETATTR should first return delegation + - SUNRPC: stop printk reading past end of string + - rapidio: Replace 'select' DMAENGINES 'with depends on' + - cifs: fix DFS mount with cifsacl/modefromsid + - openrisc: Fix cache API compile issue when not inlining + - nvme-fc: cancel async events before freeing event struct + - nvme-rdma: cancel async events before freeing event struct + - nvme-tcp: cancel async events before freeing event struct + - block: only call sched requeue_request() for scheduled requests + - f2fs: fix indefinite loop scanning for free nid + - f2fs: Return EOF on unaligned end of file DIO read + - i2c: algo: pca: Reapply i2c bus settings after reset + - spi: Fix memory leak on splited transfers + - KVM: MIPS: Change the definition of kvm type + - clk: davinci: Use the correct size when allocating memory + - clk: rockchip: Fix initialization of mux_pll_src_4plls_p + - ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend + delay + - ASoC: qcom: Set card->owner to avoid warnings + - ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() + - ASoC: rt711: Fix return check for devm_regmap_init_sdw() + - ASoC: rt715: Fix return check for devm_regmap_init_sdw() + - ASoC: rt700: Fix return check for devm_regmap_init_sdw() + - ASoC: qcom: common: Fix refcount imbalance on error + - drm/mediatek: dsi: Fix scrolling of panel with small hfp or hbp + - powerpc/book3s64/radix: Fix boot failure with large amount of guest memory + - ASoC: soc-core: add snd_soc_find_dai_with_mutex() + - ASoC: meson: axg-toddr: fix channel order on g12 platforms + - ASoC: tlv320adcx140: Fix accessing uninitialized adcx140->dev + - ASoC: Intel: haswell: Fix power transition refactor + - ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure + - Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() + - scsi: libsas: Fix error path in sas_notify_lldd_dev_found() + - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late + - Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload + - perf test: Fix the "signal" test inline assembly + - perf record: Don't clear event's period if set by a term + - MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT + - perf test: Free aliases for PMU event map aliases test + - perf metric: Fix some memory leaks + - perf evlist: Fix cpu/thread map leak + - perf parse-event: Fix memory leak in evsel->unit + - perf test: Free formats for perf pmu parse test + - drm/i915/gem: Reduce context termination list iteration guard to RCU + - fbcon: Fix user font detection test at fbcon_resize(). + - MIPS: SNI: Fix spurious interrupts + - drm/mediatek: Use CPU when fail to get cmdq event + - drm/mediatek: Add missing put_device() call in mtk_ddp_comp_init() + - drm/mediatek: Add exception handing in mtk_drm_probe() if component init + fail + - drm/mediatek: Add missing put_device() call in mtk_drm_kms_init() + - drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata() + - arm64: bpf: Fix branch offset in JIT + - iommu/amd: Fix potential @entry null deref + - iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode + - kconfig: qconf: use delete[] instead of delete to free array (again) + - i2c: mediatek: Fix generic definitions for bus frequency + - i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK + - riscv: Add sfence.vma after early page table changes + - locking/lockdep: Fix "USED" <- "IN-NMI" inversions + - efi: efibc: check for efivars write capability + - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count + - x86/unwind/fp: Fix FP unwinding in ret_from_fork + - drm/kfd: fix a system crash issue during GPU recovery + - drm/i915/gem: Delay tracking the GEM context until it is registered + - drm/i915: Filter wake_flags passed to default_wake_function + - USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin + notebook + - USB: UAS: fix disconnect by unplugging a hub + - usblp: fix race between disconnect() and read() + - usb: typec: ucsi: acpi: Increase command completion timeout value + - usb: typec: ucsi: Prevent mode overrun + - i2c: i801: Fix resume bug + - Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI + X570-A PRO" + - ALSA: hda: fixup headset for ASUS GX502 laptop + - ALSA: hda/realtek - The Mic on a RedmiBook doesn't work + - percpu: fix first chunk size calculation for populated bitmap + - Input: trackpoint - add new trackpoint variant IDs + - Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists + - serial: 8250_pci: Add Realtek 816a and 816b + - serial: core: fix port-lock initialisation + - serial: core: fix console port-lock regression + - x86/boot/compressed: Disable relocation relaxation + - ksm: reinstate memcg charge on copied pages + - kprobes: fix kill kprobe which has been marked as gone + - mm/thp: fix __split_huge_pmd_locked() for migration PMD + - s390: add 3f program exception handler + - s390/zcrypt: fix kmalloc 256k failure + - ehci-hcd: Move include to keep CRC stable + - arm64: paravirt: Initialize steal time when cpu is online + - powerpc/dma: Fix dma_map_ops::get_required_mask + - selftests/vm: fix display of page size in map_hugetlb + - dm/dax: Fix table reference counts + - mm/memory_hotplug: drain per-cpu pages again during memory offline + - dm: Call proper helper to determine dax support + - dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - mm: memcg: fix memcg reclaim soft lockup + - nvme-loop: set ctrl state connecting after init + - Linux 5.8.11 + * Miscellaneous Ubuntu changes + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - SAUCE: RDMA/core: Introduce peer memory interface + - SAUCE: fixup! RDMA/core: Introduce peer memory interface + - SAUCE: IB/mlx5: Use peer client page_shift + - SAUCE: IB/umem: Fix the Peer flow to handle pinned pages properly + - [Config] GCC version update + + -- Andrea Righi Fri, 02 Oct 2020 19:05:31 +0200 + +linux-riscv (5.8.0-3.3) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-3.3 -proposed tracker (LP: #1896666) + + * Miscellaneous Ubuntu changes + - [Config] update config for CONFIG_VGACON_SOFT_SCROLLBACK + + [ Ubuntu: 5.8.0-20.21 ] + + * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668) + * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices + (LP: #1853277) + - i2c: core: Call i2c_acpi_install_space_handler() before + i2c_acpi_register_devices() + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062) + - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing + nf_defrag_ipv6 support" + * [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 + * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event + 0x0304) (LP: #1896216) + - s390/pci: fix leak of DMA tables on hard unplug + * md: improve IO accounting (LP: #1891151) + - md: improve io stats accounting + * Groovy update: v5.8.10 upstream stable release (LP: #1896078) + - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm() + - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix missing video + - regulator: push allocation in regulator_ena_gpio_request() out of lock + - regulator: remove superfluous lock in regulator_resolve_coupling() + - ARM: dts: socfpga: fix register entry for timer3 on Arria10 + - ARM: dts: omap5: Fix DSI base address and clocks + - ARM: dts: ls1021a: fix QuadSPI-memory reg range + - ARM: dts: imx7ulp: Correct gpio ranges + - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build + - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy + - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add + - RDMA/rxe: Fix memleak in rxe_mem_init_user + - RDMA/rxe: Drop pointless checks in rxe_init_ports + - RDMA/rxe: Fix panic when calling kmem_cache_create() + - RDMA/bnxt_re: Do not report transparent vlan from QP1 + - RDMA/bnxt_re: Fix the qp table indexing + - RDMA/bnxt_re: Static NQ depth allocation + - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address + - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds + - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux() + - arm64: dts: imx8mq: Fix TMU interrupt property + - drm/sun4i: Fix dsi dcs long write function + - scsi: qla2xxx: Fix regression on sparc64 + - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA + - drm/virtio: fix unblank + - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ + - RDMA/core: Fix reported speed and width + - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll + - scsi: mpt3sas: Don't call disable_irq from IRQ poll handler + - soundwire: fix double free of dangling pointer + - Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled" + - interconnect: qcom: Fix small BW votes being truncated to zero + - padata: fix possible padata_works_lock deadlock + - drm/sun4i: Fix DE2 YVU handling + - drm/sun4i: backend: Support alpha property on lowest plane + - drm/sun4i: backend: Disable alpha on the lowest plane on the A20 + - KVM: arm64: Update page shift if stage 2 block mapping not supported + - ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3 + - mmc: sdhci-acpi: Clear amd_sdhci_host on reset + - mmc: sdhci-msm: Add retries when all tuning phases are found valid + - spi: stm32: Rate-limit the 'Communication suspended' message + - btrfs: fix NULL pointer dereference after failure to create snapshot + - i2c: npcm7xx: Fix timeout calculation + - block: restore a specific error code in bdev_del_partition + - seccomp: don't leak memory when filter install races + - nvme-fabrics: allow to queue requests for live queues + - spi: stm32: fix pm_runtime_get_sync() error checking + - block: Set same_page to false in __bio_try_merge_page if ret is false + - RDMA/rtrs-srv: Set .release function for rtrs srv device during device init + - IB/isert: Fix unaligned immediate-data handling + - ARM: dts: bcm: HR2: Fixed QSPI compatible string + - ARM: dts: NSP: Fixed QSPI compatible string + - ARM: dts: BCM5301X: Fixed QSPI compatible string + - arm64: dts: ns2: Fixed QSPI compatible string + - KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control + - KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN + - ARC: HSDK: wireup perf irq + - dmaengine: acpi: Put the CSRT table after using it + - MIPS: Loongson64: Do not override watch and ejtag feature + - netfilter: conntrack: allow sctp hearbeat after connection re-use + - netfilter: nft_set_rbtree: Detect partial overlap with start endpoint match + - drivers/net/wan/lapbether: Added needed_tailroom + - NFC: st95hf: Fix memleak in st95hf_in_send_cmd + - firestream: Fix memleak in fs_open + - scsi: qedf: Fix null ptr reference in qedf_stag_change_work + - ALSA: hda: Fix 2 channel swapping for Tegra + - ALSA: hda/tegra: Program WAKEEN register for Tegra + - drivers/dma/dma-jz4780: Fix race condition between probe and irq handler + - net: hns3: Fix for geneve tx checksum bug + - xfs: fix off-by-one in inode alloc block reservation calculation + - drivers/net/wan/lapbether: Set network_header before transmitting + - wireless: fix wrong 160/80+80 MHz setting + - mac80211: reduce packet loss event false positives + - cfg80211: Adjust 6 GHz frequency to channel conversion + - xfs: initialize the shortform attr header padding entry + - ARC: show_regs: fix r12 printing and simplify + - irqchip/eznps: Fix build error for !ARC700 builds + - media: gpio-ir-tx: spinlock is not needed to disable interrupts + - nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu + - nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance + - nvme: have nvme_wait_freeze_timeout return if it timed out + - nvme-tcp: serialize controller teardown sequences + - nvme-tcp: fix timeout handler + - nvme-tcp: fix reset hang if controller died in the middle of a reset + - nvme-rdma: serialize controller teardown sequences + - nvme-rdma: fix timeout handler + - nvme-rdma: fix reset hang if controller died in the middle of a reset + - nvme-pci: cancel nvme device request before disabling + - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices + - HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller + - drivers/net/wan/hdlc_cisco: Add hard_header_len + - HID: elan: Fix memleak in elan_input_configured + - ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id + - cpufreq: intel_pstate: Refuse to turn off with HWP enabled + - cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled + - arm64/module: set trampoline section flags regardless of + CONFIG_DYNAMIC_FTRACE + - ALSA: hda: hdmi - add Rocketlake support + - ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled + - ALSA: hda: use consistent HDAudio spelling in comments/docs + - drivers/net/wan/hdlc: Change the default of hard_header_len to 0 + - drm/amdgpu: Fix bug in reporting voltage for CIK + - iommu/amd: Do not force direct mapping when SME is active + - iommu/amd: Do not use IOMMUv2 functionality when SME is active + - gcov: Disable gcov build with GCC 10 + - iio: adc: mcp3422: fix locking scope + - iio: adc: mcp3422: fix locking on error path + - iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set + - iio: cros_ec: Set Gyroscope default frequency to 25Hz + - iio:light:ltr501 Fix timestamp alignment issue. + - iio:proximity:mb1232: Fix timestamp alignment and prevent data leak. + - iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak. + - iio:adc:ti-adc084s021 Fix alignment and data leak issues. + - iio:adc:ina2xx Fix timestamp alignment issue. + - iio:adc:max1118 Fix alignment of timestamp and data leak issues + - iio:adc:ti-adc081c Fix alignment and data leak issues + - iio:magnetometer:ak8975 Fix alignment and data leak issues. + - iio:light:max44000 Fix timestamp alignment and prevent data leak. + - iio:chemical:ccs811: Fix timestamp alignment and prevent data leak. + - iio: accel: kxsd9: Fix alignment of local buffer. + - iio:accel:mma7455: Fix timestamp alignment and prevent data leak. + - iio:accel:mma8452: Fix timestamp alignment and prevent data leak. + - staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() + - btrfs: require only sector size alignment for parent eb bytenr + - btrfs: fix lockdep splat in add_missing_dev + - btrfs: free data reloc tree on failed mount + - btrfs: fix wrong address when faulting in pages in the search ioctl + - thunderbolt: Disable ports that are not implemented + - kobject: Restore old behaviour of kobject_del(NULL) + - regulator: push allocation in regulator_init_coupling() outside of lock + - regulator: push allocations in create_regulator() outside of lock + - regulator: push allocation in set_consumer_device_supply() out of lock + - regulator: plug of_node leak in regulator_register()'s error path + - regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive() + - misc: eeprom: at24: register nvmem only after eeprom is ready to use + - scsi: target: iscsi: Fix data digest calculation + - scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask + - scsi: target: iscsi: Fix hang in iscsit_access_np() when getting + tpg->np_login_sem + - drm/tve200: Stabilize enable/disable + - drm/msm: Split the a5xx preemption record + - drm/msm: Disable preemption on all 5xx targets + - drm/msm: Disable the RPTR shadow + - mmc: sdio: Use mmc_pre_req() / mmc_post_req() + - mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt + - nvme: Revert: Fix controller creation races with teardown flow + - rbd: require global CAP_SYS_ADMIN for mapping and unmapping + - RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars + - RDMA/mlx4: Read pkey table length instead of hardcoded value + - fbcon: remove soft scrollback code + - fbcon: remove now unusued 'softback_lines' cursor() argument + - vgacon: remove software scrollback support + - KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit + - KVM: arm64: Do not try to map PUDs when they are folded into PMD + - kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed + - KVM: fix memory leak in kvm_io_bus_unregister_dev() + - Revert "usb: dwc3: meson-g12a: fix shared reset control use" + - debugfs: Fix module state check condition + - test_firmware: Test platform fw loading on non-EFI systems + - arm64: dts: imx8mp: correct sdma1 clk setting + - ARM: dts: vfxxx: Add syscon compatible with OCOTP + - video: fbdev: fix OOB read in vga_8planes_imageblit() + - staging: greybus: audio: fix uninitialized value issue + - phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init + - usb: core: fix slab-out-of-bounds Read in read_descriptors + - USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter + - USB: serial: option: support dynamic Quectel USB compositions + - USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules + - usb: Fix out of sync data toggle if a configured device is reconfigured + - usb: typec: ucsi: acpi: Check the _DEP dependencies + - usb: typec: intel_pmc_mux: Un-register the USB role switch + - usb: typec: intel_pmc_mux: Do not configure Altmode HPD High + - usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in + Alternate modes + - drm/msm/gpu: make ringbuffer readonly + - gcov: add support for GCC 10.1 + - Linux 5.8.10 + - [Config] GCC version update + - [Config] updateconfigs following v5.8.10 import + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + * Thunderbolt3 daisy chain sometimes doesn't work (LP: #1895606) + - thunderbolt: Retry DROM read once if parsing fails + * Groovy update: v5.8.9 upstream stable release (LP: #1895634) + - io_uring: fix cancel of deferred reqs with ->files + - io_uring: fix linked deferred ->files cancellation + - RDMA/cma: Simplify DEVICE_REMOVAL for internal_id + - RDMA/cma: Using the standard locking pattern when delivering the removal + event + - RDMA/cma: Remove unneeded locking for req paths + - RDMA/cma: Execute rdma_cm destruction from a handler properly + - ipv4: Silence suspicious RCU usage warning + - ipv6: Fix sysctl max for fib_multipath_hash_policy + - netlabel: fix problems with mapping removal + - net: usb: dm9601: Add USB ID of Keenetic Plus DSL + - sctp: not disable bh in the whole sctp_get_port_local() + - taprio: Fix using wrong queues in gate mask + - tipc: fix shutdown() of connectionless socket + - tipc: fix using smp_processor_id() in preemptible + - net: disable netpoll on fresh napis + - mptcp: free acked data before waiting for more memory + - Linux 5.8.9 + * Miscellaneous Ubuntu changes + - SAUCE: Revert "selftests/bpf: Fix btf_dump test cases on 32-bit arches" + - [Config] annotations: remove VGACON_SOFT_SCROLLBACK + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + -- Andrea Righi Wed, 23 Sep 2020 11:54:07 +0200 + +linux-riscv (5.8.0-2.2) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-2.2 -proposed tracker (LP: #1895118) + + * Miscellaneous Ubuntu changes + - [Config] Update toolchain versions in configs + + [ Ubuntu: 5.8.0-19.20 ] + + * groovy/linux: 5.8.0-19.20 -proposed tracker (LP: #1895120) + * Please switch default, hwe, oem kernel flavours governor to + CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace + utilities such as game-mode can be later used to rev-up to to performance, + or rev-down to powersave. (LP: #1885730) + - [Config] Set the default CPU governor to ONDEMAND + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update variants + * [WD19TB] external DP failed with DRM error message (LP: #1886165) + - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders + - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock + * Groovy update: v5.8.8 upstream stable release (LP: #1895097) + - hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 + - HID: quirks: Always poll three more Lenovo PixArt mice + - drm/msm/dpu: Fix reservation failures in modeset + - drm/msm/dpu: Fix scale params in plane validation + - drm/msm/dpu: fix unitialized variable error + - tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup + - drm/msm: add shutdown support for display platform_driver + - hwmon: (applesmc) check status earlier. + - nvmet: Disable keep-alive timer when kato is cleared to 0h + - drm/msm: enable vblank during atomic commits + - habanalabs: unmap PCI bars upon iATU failure + - habanalabs: validate packet id during CB parse + - habanalabs: set clock gating according to mask + - habanalabs: proper handling of alloc size in coresight + - habanalabs: set max power according to card type + - habanalabs: validate FW file size + - habanalabs: check correct vmalloc return code + - drm/msm/a6xx: fix gmu start on newer firmware + - gfs2: add some much needed cleanup for log flushes that fail + - hv_utils: return error if host timesysnc update is stale + - hv_utils: drain the timesync packets on onchannelcallback + - ceph: don't allow setlease on cephfs + - i2c: iproc: Fix shifting 31 bits + - drm/omap: fix incorrect lock state + - irqchip/ingenic: Leave parent IRQ unmasked on suspend + - cpuidle: Fixup IRQ state + - nbd: restore default timeout when setting it to zero + - s390: don't trace preemption in percpu macros + - drm/amd/display: should check error using DC_OK + - drm/amd/display: Reject overlay plane configurations in multi-display + scenarios + - drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in + amdgpu_dm_update_backlight_caps + - drm/amd/display: Revert HDCP disable sequence change + - drm/amd/display: Fix passive dongle mistaken as active dongle in EDID + emulation + - drm/amd/display: Keep current gain when ABM disable immediately + - drm/amd/display: Retry AUX write when fail occurs + - drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init + - xen/xenbus: Fix granting of vmalloc'd memory + - fsldma: fix very broken 32-bit ppc ioread64 functionality + - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling + - batman-adv: Avoid uninitialized chaddr when handling DHCP + - batman-adv: Fix own OGM check in aggregated OGMs + - batman-adv: bla: use netif_rx_ni when not in interrupt context + - dmaengine: at_hdmac: check return value of of_find_device_by_node() in + at_dma_xlate() + - dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate() + - dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() + - rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() + - rxrpc: Fix loss of RTT samples due to interposed ACK + - rxrpc: Make rxrpc_kernel_get_srtt() indicate validity + - MIPS: mm: BMIPS5000 has inclusive physical caches + - MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores + - mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 + - perf sched timehist: Fix use of CPU list with summary option + - perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set + - netfilter: nf_tables: add NFTA_SET_USERDATA if not null + - netfilter: nf_tables: incorrect enum nft_list_attributes definition + - netfilter: nf_tables: fix destination register zeroing + - net: hns: Fix memleak in hns_nic_dev_probe + - net: systemport: Fix memleak in bcm_sysport_probe + - ravb: Fixed to be able to unload modules + - net: arc_emac: Fix memleak in arc_mdio_probe + - bpf: Fix a buffer out-of-bound access when filling raw_tp link_info + - dmaengine: pl330: Fix burst length if burst size is smaller than bus width + - dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg + - gtp: add GTPA_LINK info to msg sent to userspace + - net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port + - net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port + - bnxt_en: Don't query FW when netif_running() is false. + - bnxt_en: Check for zero dir entries in NVRAM. + - bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled. + - bnxt_en: Fix PCI AER error recovery flow + - bnxt_en: Fix possible crash in bnxt_fw_reset_task(). + - bnxt_en: fix HWRM error when querying VF temperature + - xfs: finish dfops on every insert range shift iteration + - xfs: fix boundary test in xfs_attr_shortform_verify + - bnxt: don't enable NAPI until rings are ready + - media: vicodec: add missing v4l2_ctrl_request_hdl_put() + - media: cedrus: Add missing v4l2_ctrl_request_hdl_put() + - net: ethernet: ti: cpsw_new: fix error handling in + cpsw_ndo_vlan_rx_kill_vid() + - media: i2c: imx214: select V4L2_FWNODE + - selftests/bpf: Fix massive output from test_maps + - net: dsa: mt7530: fix advertising unsupported 1000baseT_Half + - netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS + - nvmet-fc: Fix a missed _irqsave version of spin_lock in + 'nvmet_fc_fod_op_done()' + - nvme: fix controller instance leak + - netfilter: conntrack: do not auto-delete clash entries on reply + - opp: Don't drop reference for an OPP table that was never parsed + - cxgb4: fix thermal zone device registration + - net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode + - MIPS: perf: Fix wrong check condition of Loongson event IDs + - block: fix locking in bdev_del_partition + - perf top/report: Fix infinite loop in the TUI for grouped events + - perf cs-etm: Fix corrupt data after perf inject from + - perf intel-pt: Fix corrupt data after perf inject from + - perf tools: Correct SNOOPX field offset + - net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() + - fix regression in "epoll: Keep a reference on files added to the check list" + - net: bcmgenet: fix mask check in bcmgenet_validate_flow() + - net: gemini: Fix another missing clk_disable_unprepare() in probe + - nfp: flower: fix ABI mismatch between driver and firmware + - net: dp83867: Fix WoL SecureOn password + - MIPS: add missing MSACSR and upper MSA initialization + - MIPS: SNI: Fix SCSI interrupt + - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files + - perf jevents: Fix suspicious code in fixregex() + - perf stat: Turn off summary for interval mode by default + - perf bench: The do_run_multi_threaded() function must use + IS_ERR(perf_session__new()) + - tg3: Fix soft lockup when tg3_reset_task() fails. + - x86, fakenuma: Fix invalid starting node ID + - iommu/vt-d: Serialize IOMMU GCMD register modifications + - thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 + - thermal: qcom-spmi-temp-alarm: Don't suppress negative temp + - iommu/amd: Restore IRTE.RemapEn bit after programming IRTE + - iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE + - include/linux/log2.h: add missing () around n in roundup_pow_of_two() + - iommu/vt-d: Handle 36bit addressing for x86-32 + - tracing/kprobes, x86/ptrace: Fix regs argument order for i386 + - x86/entry: Fix AC assertion + - x86/debug: Allow a single level of #DB recursion + - ext2: don't update mtime on COW faults + - xfs: don't update mtime on COW faults + - ARC: perf: don't bail setup if pct irq missing in device-tree + - arc: fix memory initialization for systems with two memory banks + - btrfs: drop path before adding new uuid tree entry + - btrfs: fix potential deadlock in the search ioctl + - btrfs: allocate scrub workqueues outside of locks + - btrfs: set the correct lockdep class for new nodes + - btrfs: set the lockdep class for log tree extent buffers + - btrfs: block-group: fix free-space bitmap threshold + - btrfs: tree-checker: fix the error message for transid error + - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier + - x86/mm/32: Bring back vmalloc faulting on x86_32 + - Revert "ALSA: hda: Add support for Loongson 7A1000 controller" + - ALSA: ca0106: fix error code handling + - ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 + - ALSA: usb-audio: Add implicit feedback quirk for UR22C + - ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check + - ALSA: hda/hdmi: always check pin power status in i915 pin fixup + - ALSA: firewire-digi00x: exclude Avid Adrenaline from detection + - ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO + - ALSA; firewire-tascam: exclude Tascam FE-8 from detection + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A + - ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen + - arm64: dts: mt7622: add reset node for mmc device + - mmc: mediatek: add optional module reset property + - mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings + - mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based + controllers + - media: rc: do not access device via sysfs after rc_unregister_device() + - media: rc: uevent sysfs file races with rc_unregister_device() + - affs: fix basic permission bits to actually work + - block: allow for_each_bvec to support zero len bvec + - block: ensure bdi->io_pages is always initialized + - io_uring: set table->files[i] to NULL when io_sqe_file_register failed + - io_uring: fix removing the wrong file in __io_sqe_files_update() + - s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig + - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks + - mips/oprofile: Fix fallthrough placement + - blk-iocost: ioc_pd_free() shouldn't assume irq disabled + - blk-stat: make q->stats->lock irqsafe + - dmaengine: dw-edma: Fix scatter-gather address calculation + - drm/i915: Fix sha_text population code + - drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting + - drm/amdgpu: Specify get_argument function for ci_smu_funcs + - dm writecache: handle DAX to partitions on persistent memory correctly + - dm mpath: fix racey management of PG initialization + - dm integrity: fix error reporting in bitmap mode after creation + - dm crypt: Initialize crypto wait structures + - dm cache metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Fix use-after-free in dm_bm_set_read_only + - mm: slub: fix conversion of freelist_corrupted() + - mm: track page table modifications in __apply_to_page_range() + - mm: madvise: fix vma user-after-free + - mm/rmap: fixup copying of soft dirty and uffd ptes + - io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file + - perf record: Correct the help info of option "--no-bpf-event" + - kconfig: streamline_config.pl: check defined(ENV variable) before using it + - sdhci: tegra: Add missing TMCLK for data timeout + - checkpatch: fix the usage of capture group ( ... ) + - mm/migrate: fixup setting UFFD_WP flag + - mm/hugetlb: try preferred node first when alloc gigantic page from cma + - mm/hugetlb: fix a race between hugetlb sysctl handlers + - mm/khugepaged.c: fix khugepaged's request size in collapse_file + - cfg80211: regulatory: reject invalid hints + - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() + - Linux 5.8.8 + * Groovy update: v5.8.7 upstream stable release (LP: #1894959) + - HID: core: Correctly handle ReportSize being zero + - HID: core: Sanitize event code and type when mapping input + - netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap + detection + - mm: fix pin vs. gup mismatch with gate pages + - selftests/x86/test_vsyscall: Improve the process_vm_readv() test + - perf record/stat: Explicitly call out event modifiers in the documentation + - media: media/v4l2-core: Fix kernel-infoleak in video_put_user() + - KVM: arm64: Add kvm_extable for vaxorcism code + - KVM: arm64: Survive synchronous exceptions caused by AT instructions + - dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later + - arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra210 SDMMC + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210 + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186 + - nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage + - scsi: target: tcmu: Optimize use of flush_dcache_page + - Linux 5.8.7 + * Groovy update: v5.8.6 upstream stable release (LP: #1894956) + - Revert "UBUNTU: SAUCE: Revert "ARM64: vdso32: Install vdso32 from + vdso_install"" + - khugepaged: khugepaged_test_exit() check mmget_still_valid() + - ASoC: intel/skl/hda - fix probe regression on systems without i915 + - ALSA: pci: delete repeated words in comments + - drm/amdgpu: fix RAS memory leak in error case + - EDAC/mc: Call edac_inc_ue_error() before panic + - ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt + - ASoC: img-parallel-out: Fix a reference count leak + - ASoC: tegra: Fix reference count leaks. + - mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs + - arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep + - powerpc/xive: Ignore kmemleak false positives + - media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA + value in debiirq() + - gcc-plugins/stackleak: Don't instrument itself + - blktrace: ensure our debugfs dir exists + - staging: rts5208: fix memleaks on error handling paths in probe + - scsi: target: tcmu: Fix crash on ARM during cmd completion + - mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs + - iommu/iova: Don't BUG on invalid PFNs + - platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow + - drm/amdkfd: Fix reference count leaks. + - drm/radeon: fix multiple reference count leak + - drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms + - drm/amd/display: fix ref count leak in amdgpu_drm_ioctl + - drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config + - drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/fence: fix ref count leak when pm_runtime_get_sync fails + - drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/pm: fix ref count leak when pm_runtime_get_sync fails + - scsi: lpfc: Fix shost refcount mismatch when deleting vport + - xfs: Don't allow logging of XFS_ISTALE inodes + - scsi: target: Fix xcopy sess release leak + - selftests/powerpc: Purge extra count_pmc() calls of ebb selftests + - f2fs: remove write attribute of main_blkaddr sysfs node + - f2fs: fix error path in do_recover_data() + - MIPS: KVM: Limit Trap-and-Emulate to MIPS32R2 only + - omapfb: fix multiple reference count leaks due to pm_runtime_get_sync + - PCI: Fix pci_create_slot() reference count leak + - ARM: dts: ls1021a: output PPS signal on FIPER2 + - rtlwifi: rtl8192cu: Prevent leaking urb + - mips/vdso: Fix resource leaks in genvdso.c + - ALSA: hda: Add support for Loongson 7A1000 controller + - gpu: host1x: Put gather's BO on pinning error + - cec-api: prevent leaking memory through hole in structure + - ASoC: Intel: sof_sdw_rt711: remove properties in card remove + - HID: quirks: add NOGET quirk for Logitech GROUP + - f2fs: fix use-after-free issue + - drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open + - drm/nouveau: fix reference count leak in nv50_disp_atomic_commit + - drm/nouveau: Fix reference count leak in nouveau_connector_detect + - locking/lockdep: Fix overflow in presentation of average lock-time + - btrfs: file: reserve qgroup space after the hole punch range is locked + - btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode + - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() + - netfilter: nf_tables: report EEXIST on overlaps + - ceph: fix potential mdsc use-after-free crash + - ceph: do not access the kiocb after aio requests + - scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() + - i2c: i801: Add support for Intel Tiger Lake PCH-H + - EDAC/ie31200: Fallback if host bridge device is already initialized + - hugetlbfs: prevent filesystem stacking of hugetlbfs + - media: davinci: vpif_capture: fix potential double free + - media: i2c: imx290: fix reset GPIO pin handling + - drm/amd/display: change global buffer to local buffer + - drm/amd/display: fix compilation error on allmodconfig + - KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe + - powerpc/spufs: add CONFIG_COREDUMP dependency + - dmaengine: idxd: fix PCI_MSI build errors + - USB: sisusbvga: Fix a potential UB casued by left shifting a negative value + - mmc: sdhci-of-arasan: fix timings allocation code + - brcmfmac: Set timeout value when configuring power save + - pinctrl: mediatek: avoid virtual gpio trying to set reg + - pinctrl: mediatek: fix build for tristate changes + - efi: provide empty efi_enter_virtual_mode implementation + - arm64: Fix __cpu_logical_map undefined issue + - net: openvswitch: introduce common code for flushing flows + - PCI: qcom: Add missing ipq806x clocks in PCIe driver + - PCI: qcom: Change duplicate PCI reset to phy reset + - PCI: qcom: Add missing reset for ipq806x + - PM / devfreq: Fix the wrong end with semicolon + - cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode + - ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) + - nfsd: fix oops on mixed NFSv4/NFSv3 client access + - block: respect queue limit of max discard segment + - block: virtio_blk: fix handling single range discard request + - drm/msm/adreno: fix updating ring fence + - block: Fix page_is_mergeable() for compound pages + - bfq: fix blkio cgroup leakage v4 + - hwmon: (nct7904) Correct divide by 0 + - blk-mq: insert request not through ->queue_rq into sw/scheduler queue + - blkcg: fix memleak for iolatency + - nvmet: fix a memory leak + - nvme-fc: Fix wrong return value in __nvme_fc_init_request() + - nvme: multipath: round-robin: fix single non-optimized path case + - null_blk: fix passing of REQ_FUA flag in null_handle_rq + - habanalabs: Fix memory corruption in debugfs + - drm/etnaviv: always start/stop scheduler in timeout processing + - i2c: core: Don't fail PRP0001 enumeration when no ID table exist + - i2c: rcar: in slave mode, clear NACK earlier + - vdpa: ifcvf: return err when fail to request config irq + - vdpa: ifcvf: free config irq in ifcvf_free_irq() + - usb: gadget: f_tcm: Fix some resource leaks in some error paths + - video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n + - spi: stm32: clear only asserted irq flags on interrupt + - jbd2: make sure jh have b_transaction set in refile/unfile_buffer + - ext4: don't BUG on inconsistent journal feature + - ext4: handle read only external journal device + - ext4: skip non-loaded groups at cr=0/1 when scanning for good groups + - drm/virtio: fix memory leak in virtio_gpu_cleanup_object() + - ext4: abort the filesystem if failed to async write metadata buffer + - jbd2: abort journal if free a async write error metadata buffer + - ext4: handle option set by mount flags correctly + - ext4: handle error of ext4_setup_system_zone() on remount + - ext4: correctly restore system zone info when remount fails + - fs: prevent BUG_ON in submit_bh_wbc() + - spi: stm32h7: fix race condition at end of transfer + - spi: stm32: fix fifo threshold level in case of short transfer + - spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate + - spi: stm32: always perform registers configuration prior to transfer + - drm/amd/powerplay: correct Vega20 cached smu feature state + - drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading + - drm/amd/display: Fix LFC multiplier changing erratically + - drm/amd/display: Switch to immediate mode for updating infopackets + - selftests/bpf: Fix segmentation fault in test_progs + - netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency + - libbpf: Prevent overriding errno when logging errors + - tools/bpftool: Fix compilation warnings in 32-bit mode + - selftest/bpf: Fix compilation warnings in 32-bit mode + - selftests/bpf: Fix btf_dump test cases on 32-bit arches + - selftests/bpf: Correct various core_reloc 64-bit assumptions + - can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect + corruptions + - dma-pool: fix coherent pool allocations for IOMMU mappings + - dma-pool: Only allocate from CMA when in same memory zone + - drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check + - ALSA: hda/realtek: Add model alc298-samsung-headphone + - s390/cio: add cond_resched() in the slow_eval_known_fn() loop + - ASoC: wm8994: Avoid attempts to read unreadable registers + - ALSA: usb-audio: ignore broken processing/extension unit + - selftests: disable rp_filter for icmp_redirect.sh + - scsi: fcoe: Fix I/O path allocation + - scsi: ufs: Fix possible infinite loop in ufshcd_hold + - scsi: ufs: Improve interrupt handling for shared interrupts + - scsi: ufs: Clean up completed request without interrupt notification + - scsi: scsi_debug: Fix scp is NULL errors + - scsi: qla2xxx: Flush all sessions on zone disable + - scsi: qla2xxx: Flush I/O on zone disable + - scsi: qla2xxx: Indicate correct supported speeds for Mezz card + - scsi: qla2xxx: Fix login timeout + - scsi: qla2xxx: Check if FW supports MQ before enabling + - scsi: qla2xxx: Fix null pointer access during disconnect from subsystem + - Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" + - macvlan: validate setting of multiple remote source MAC addresses + - net: gianfar: Add of_node_put() before goto statement + - drm/amdgpu: fix NULL pointer access issue when unloading driver + - drm/amdkfd: fix the wrong sdma instance query for renoir + - bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator + - bpf: Avoid visit same object multiple times + - ext4: limit the length of per-inode prealloc list + - powerpc/perf: Fix soft lockups due to missed interrupt accounting + - libbpf: Fix map index used in error message + - bpf: selftests: global_funcs: Check err_str before strstr + - arm64: Move handling of erratum 1418040 into C code + - arm64: Allow booting of late CPUs affected by erratum 1418040 + - hwmon: (gsc-hwmon) Scale temperature to millidegrees + - block: fix get_max_io_size() + - block: loop: set discard granularity and alignment for block device backed + loop + - blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART + - btrfs: reset compression level for lzo on remount + - btrfs: check the right error variable in btrfs_del_dir_entries_in_log + - btrfs: fix space cache memory leak after transaction abort + - btrfs: detect nocow for swap after snapshot delete + - fbcon: prevent user font height or width change from causing potential out- + of-bounds access + - USB: lvtest: return proper error code in probe + - vt: defer kfree() of vc_screenbuf in vc_do_resize() + - vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize() + - serial: samsung: Removes the IRQ not found warning + - serial: pl011: Fix oops on -EPROBE_DEFER + - serial: pl011: Don't leak amba_ports entry on driver register error + - serial: stm32: avoid kernel warning on absence of optional IRQ + - serial: 8250_exar: Fix number of ports for Commtech PCIe cards + - serial: 8250: change lock order in serial8250_do_startup() + - io_uring: clear req->result on IOPOLL re-issue + - writeback: Protect inode->i_io_list with inode->i_lock + - writeback: Avoid skipping inode writeback + - writeback: Fix sync livelock due to b_dirty_time processing + - XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN + data pointer which contains XEN specific information. + - usb: renesas-xhci: remove version check + - usb: host: xhci-tegra: otg usb2/usb3 port init + - usb: host: xhci-tegra: fix tegra_xusb_get_phy() + - usb: host: xhci: fix ep context print mismatch in debugfs + - xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed + - io-wq: fix hang after cancelling pending hashed work + - KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception + - arm64: vdso32: make vdso32 install conditional + - PM: sleep: core: Fix the handling of pending runtime resume requests + - powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU + - powerpc/perf: Fix crashes with generic_compat_pmu & BHRB + - device property: Fix the secondary firmware node handling in + set_primary_fwnode() + - crypto: af_alg - Work around empty control messages without MSG_MORE + - usbip: Implement a match function to fix usbip + - genirq/matrix: Deal with the sillyness of for_each_cpu() on UP + - irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by + mistake + - x86/irq: Unbreak interrupt affinity setting + - x86/hotplug: Silence APIC only after all interrupts are migrated + - drm/i915: Fix cmd parser desc matching with masks + - drm/etnaviv: fix external abort seen on GC600 rev 0x19 + - drm/dp_mst: Don't return error code when crtc is null + - drm/modeset-lock: Take the modeset BKL for legacy drivers + - drm/amdgpu: Fix buffer overflow in INFO ioctl + - drm/amd/display: use correct scale for actual_brightness + - drm/amdgpu/gfx10: refine mgcg setting + - drm/amd/powerplay: Fix hardmins not being sent to SMU for RV + - drm/amd/pm: correct Vega10 swctf limit setting + - drm/amd/pm: correct Vega12 swctf limit setting + - drm/amd/pm: correct Vega20 swctf limit setting + - drm/amd/pm: correct the thermal alert temperature limit settings + - USB: yurex: Fix bad gfp argument + - usb: uas: Add quirk for PNY Pro Elite + - USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D + - USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge + - usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() + - USB: gadget: u_f: add overflow checks to VLA macros + - USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb() + - USB: gadget: u_f: Unbreak offset calculation in VLAs + - usb: dwc3: gadget: Don't setup more than requested + - usb: dwc3: gadget: Fix handling ZLP + - usb: dwc3: gadget: Handle ZLP for sg requests + - USB: cdc-acm: rework notification_buffer resizing + - usb: storage: Add unusual_uas entry for Sony PSZ drives + - USB: Also match device drivers using the ->match vfunc + - USB: Fix device driver race + - usb: typec: ucsi: Fix AB BA lock inversion + - usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls + - usb: typec: ucsi: Rework ppm_lock handling + - usb: typec: ucsi: Hold con->lock for the entire duration of + ucsi_register_port() + - usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA + 2.3.1.2 failures + - io_uring: don't recurse on tsk->sighand->siglock with signalfd + - io_uring: don't use poll handler if file can't be nonblocking read/written + - io_uring: make offset == -1 consistent with preadv2/pwritev2 + - drm/atomic-helper: reset vblank on crtc reset + - fbmem: pull fbcon_update_vcs() out of fb_set_var() + - mm/page_counter: fix various data races at memsw + - HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() + - drm/vmwgfx/stdu: Use drm_mode_config_reset + - drm/vmwgfx/sou: Use drm_mode_config_reset + - drm/vmwgfx/ldu: Use drm_mode_config_reset + - dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() + - ALSA: usb-audio: Update documentation comment for MS2109 quirk + - Linux 5.8.6 + - [Config] GCC version update + * DELL LATITUDE 5491 touchscreen doesn't work (LP: #1889446) // Groovy update: + v5.8.6 upstream stable release (LP: #1894956) + - USB: quirks: Add no-lpm quirk for another Raydium touchscreen + * [NUC8CCHK][HDA-Intel - HDA Intel PCH, playback] No sound at all + (LP: #1875199) // Groovy update: v5.8.6 upstream stable release + (LP: #1894956) + - ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged + * CVE-2020-14386 + - net/packet: fix overflow in tpacket_rcv + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Groovy update: v5.8.5 upstream stable release (LP: #1893237) + - gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY + - net: Fix potential wrong skb->protocol in skb_vlan_untag() + - net: nexthop: don't allow empty NHA_GROUP + - net: qrtr: fix usage of idr in port assignment to socket + - net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error + flow + - net: sctp: Fix negotiation of the number of data streams. + - net/smc: Prevent kernel-infoleak in __smc_diag_dump() + - tipc: call rcu_read_lock() in tipc_aead_encrypt_done() + - tipc: fix uninit skb->data in tipc_nl_compat_dumpit() + - net: ena: Make missed_tx stat incremental + - ethtool: Fix preserving of wanted feature bits in netlink interface + - ethtool: Account for hw_features in netlink interface + - ethtool: Don't omit the netlink reply if no features were changed + - netlink: fix state reallocation in policy export + - io_uring: fix missing ->mm on exit + - binfmt_flat: revert "binfmt_flat: don't offset the data start" + - Linux 5.8.5 + * Miscellaneous Ubuntu changes + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and + map_kernel_range()" + + -- Andrea Righi Wed, 23 Sep 2020 11:47:52 +0200 + +linux-riscv (5.8.0-1.1) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-1.1 -proposed tracker (LP: #1892958) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + - [Packaging] update variants + - [Packaging] update update.conf + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Config] Move build of linux-libc-dev to primary kernel + + * Miscellaneous Ubuntu changes + - [Packaging] Update debhelper build-depends for compat 10 + - [Packaging] Updates for using upstream wireguard driver + - [Config] Update configs for 5.8 + - [Config] Update annotations for 5.8 + - [Config] Update configs after rebase to 5.8.0-18.19 + - [Config] Enable CONFIG_DEBUG_INFO_BTF + - [Config] Update toolchain versions in configs + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + - [Config] Update toolchain versions in configs + - [Config] Remove stale enforcements from annotations + + -- Seth Forshee Thu, 27 Aug 2020 13:42:40 -0500 + +linux-riscv (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Fri, 24 Jul 2020 20:08:47 -0500 + +linux-riscv (5.4.0-30.34) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-30.34 -proposed tracker (LP: #1887066) + + [ Ubuntu: 5.4.0-42.46 ] + + * focal/linux: 5.4.0-42.46 -proposed tracker (LP: #1887069) + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + -- Stefan Bader Fri, 10 Jul 2020 11:40:51 +0200 + +linux-riscv (5.4.0-29.33) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-29.33 -proposed tracker (LP: #1885852) + + [ Ubuntu: 5.4.0-41.45 ] + + * focal/linux: 5.4.0-41.45 -proposed tracker (LP: #1885855) + * Packaging resync (LP: #1786013) + - update dkms package versions + * CVE-2019-19642 + - kernel/relay.c: handle alloc_percpu returning NULL in relay_open + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + * CVE-2020-11935 + - aufs: do not call i_readcount_inc() + * ip_defrag.sh in net from ubuntu_kernel_selftests failed with 5.0 / 5.3 / 5.4 + kernel (LP: #1826848) + - selftests: net: ip_defrag: ignore EPERM + * Update lockdown patches (LP: #1884159) + - SAUCE: acpi: disallow loading configfs acpi tables when locked down + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + * 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 + + [ Ubuntu: 5.4.0-40.44 ] + + * linux-oem-5.6-tools-common and -tools-host should be dropped (LP: #1881120) + - [Packaging] Add Conflicts/Replaces to remove linux-oem-5.6-tools-common and + -tools-host + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-39.43 ] + + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Sultan Alsawaf Mon, 06 Jul 2020 13:35:56 -0700 + +linux-riscv (5.4.0-28.32) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-28.32 -proposed tracker (LP: #1882694) + + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - [Config] riscv: Record CC_HAS_WARN_MAYBE_UNINITIALIZED drop + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + [ Ubuntu: 5.4.0-38.42 ] + + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-37.41 ] + + * CVE-2020-0543 + - SAUCE: x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2 + - SAUCE: x86/cpu: Add a steppings field to struct x86_cpu_id + - SAUCE: x86/cpu: Add 'table' argument to cpu_matches() + - SAUCE: x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) + mitigation + - SAUCE: x86/speculation: Add SRBDS vulnerability and mitigation documentation + - SAUCE: x86/speculation: Add Ivy Bridge to affected list + + -- Stefan Bader Fri, 12 Jun 2020 11:28:12 +0200 + +linux-riscv (5.4.0-27.31) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-27.31 -proposed tracker (LP: #1878798) + + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - [config] riscv: disable am-1805 RTC driver + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config][focal/linux-riscv] Turn off CONFIG_RT_GROUP_SCHED + + [ Ubuntu: 5.4.0-34.38 ] + + * focal/linux: 5.4.0-34.38 -proposed tracker (LP: #1880118) + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + * Focal update: v5.4.41 upstream stable release (LP: #1878649) + - USB: serial: qcserial: Add DW5816e support + - nvme: refactor nvme_identify_ns_descs error handling + - nvme: fix possible hang when ns scanning fails during error recovery + - tracing/kprobes: Fix a double initialization typo + - net: macb: Fix runtime PM refcounting + - drm/amdgpu: move kfd suspend after ip_suspend_phase1 + - drm/amdgpu: drop redundant cg/pg ungate on runpm enter + - vt: fix unicode console freeing with a common interface + - tty: xilinx_uartps: Fix missing id assignment to the console + - devlink: fix return value after hitting end in region read + - dp83640: reverse arguments to list_add_tail + - fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks + - ipv6: Use global sernum for dst validation with nexthop objects + - mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly + - neigh: send protocol value in neighbor create notification + - net: dsa: Do not leave DSA master with NULL netdev_ops + - net: macb: fix an issue about leak related system resources + - net: macsec: preserve ingress frame ordering + - net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() + - net_sched: sch_skbprio: add message validation to skbprio_change() + - net: stricter validation of untrusted gso packets + - net: tc35815: Fix phydev supported/advertising mask + - net/tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() + - net/tls: Fix sk_psock refcnt leak when in tls_data_ready() + - net: usb: qmi_wwan: add support for DW5816e + - nfp: abm: fix a memory leak bug + - sch_choke: avoid potential panic in choke_reset() + - sch_sfq: validate silly quantum values + - tipc: fix partial topology connection closure + - tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 + - bnxt_en: Fix VF anti-spoof filter setup. + - bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF. + - bnxt_en: Improve AER slot reset. + - bnxt_en: Return error when allocating zero size context memory. + - bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features(). + - net/mlx5: DR, On creation set CQ's arm_db member to right value + - net/mlx5: Fix forced completion access non initialized command entry + - net/mlx5: Fix command entry leak in Internal Error State + - net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx() + - net: mvpp2: cls: Prevent buffer overflow in mvpp2_ethtool_cls_rule_del() + - HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices + - sctp: Fix bundling of SHUTDOWN with COOKIE-ACK + - Revert "HID: wacom: generic: read the number of expected touches on a per + collection basis" + - HID: usbhid: Fix race between usbhid_close() and usbhid_stop() + - HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT + - USB: uas: add quirk for LaCie 2Big Quadra + - usb: chipidea: msm: Ensure proper controller reset using role switch API + - USB: serial: garmin_gps: add sanity checking for data length + - tracing: Add a vmalloc_sync_mappings() for safe measure + - crypto: arch/nhpoly1305 - process in explicit 4k chunks + - KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction + - KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path + - KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER + - KVM: arm64: Fix 32bit PC wrap-around + - arm64: hugetlb: avoid potential NULL dereference + - drm: ingenic-drm: add MODULE_DEVICE_TABLE + - ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() + - epoll: atomically remove wait entry on wake up + - eventpoll: fix missing wakeup for ovflist in ep_poll_callback + - mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() + - mm: limit boost_watermark on small zones + - ceph: demote quotarealm lookup warning to a debug message + - staging: gasket: Check the return value of gasket_get_bar_index() + - coredump: fix crash when umh is disabled + - iocost: protect iocg->abs_vdebt with iocg->waitq.lock + - batman-adv: fix batadv_nc_random_weight_tq + - batman-adv: Fix refcnt leak in batadv_show_throughput_override + - batman-adv: Fix refcnt leak in batadv_store_throughput_override + - batman-adv: Fix refcnt leak in batadv_v_ogm_process + - x86/entry/64: Fix unwind hints in register clearing code + - x86/entry/64: Fix unwind hints in kernel exit path + - x86/entry/64: Fix unwind hints in rewind_stack_do_exit() + - x86/unwind/orc: Don't skip the first frame for inactive tasks + - x86/unwind/orc: Prevent unwinding before ORC initialization + - x86/unwind/orc: Fix error path for bad ORC entry type + - x86/unwind/orc: Fix premature unwind stoppage due to IRET frames + - KVM: x86: Fixes posted interrupt check for IRQs delivery modes + - arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() + - netfilter: nat: never update the UDP checksum when it's 0 + - netfilter: nf_osf: avoid passing pointer to local var + - objtool: Fix stack offset tracking for indirect CFAs + - iommu/virtio: Reverse arguments to list_add + - scripts/decodecode: fix trapping instruction formatting + - mm, memcg: fix error return value of mem_cgroup_css_alloc() + - bdi: move bdi_dev_name out of line + - bdi: add a ->dev_name field to struct backing_dev_info + - fsnotify: replace inode pointer with an object id + - fanotify: merge duplicate events on parent and child + - Linux 5.4.41 + * Intel GPU Hangs : random screen freezing w/ Ubuntu 20.04 (Linux 5.4) + i915_active_acquire (LP: #1868551) + - drm/i915: Hold reference to intel_frontbuffer as we track activity + - drm/i915: fix uninitialized pointer reads on pointers to and from + * Kernel panic due to NULL ringbuffer vaddr dereference in i915 (LP: #1877394) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + - drm/i915/gt: Make intel_ring_unpin() safe for concurrent pint + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] Set CONFIG_PSI_DEFAULT_DISABLED=y on s390x + * Focal update: v5.4.40 upstream stable release (LP: #1878040) + - vhost: vsock: kick send_pkt worker once device is started + - drm/bridge: analogix_dp: Split bind() into probe() and real bind() + - ASoC: topology: Check return value of soc_tplg_create_tlv + - ASoC: topology: Check return value of soc_tplg_*_create + - ASoC: topology: Check soc_tplg_add_route return value + - ASoC: topology: Check return value of pcm_new_ver + - ASoC: topology: Check return value of soc_tplg_dai_config + - selftests/ipc: Fix test failure seen after initial test run + - ASoC: sgtl5000: Fix VAG power-on handling + - ASoC: topology: Fix endianness issue + - usb: dwc3: gadget: Properly set maxpacket limit + - ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode + - ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode + - ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry + - remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe() + - drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay + table v0 (e.g Hawaii) + - wimax/i2400m: Fix potential urb refcnt leak + - net: stmmac: fix enabling socfpga's ptp_ref_clock + - net: stmmac: Fix sub-second increment + - ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent + - ASoC: rsnd: Fix "status check failed" spam for multi-SSI + - cifs: protect updating server->dstaddr with a spinlock + - scripts/config: allow colons in option strings for sed + - cifs: do not share tcons with DFS + - tracing: Fix memory leaks in trace_events_hist.c + - lib/mpi: Fix building for powerpc with clang + - mac80211: sta_info: Add lockdep condition for RCU list usage + - net: bcmgenet: suppress warnings on failed Rx SKB allocations + - net: systemport: suppress warnings on failed Rx SKB allocations + - drm/i915: Extend WaDisableDARBFClkGating to icl,ehl,tgl + - sctp: Fix SHUTDOWN CTSN Ack in the peer restart case + - Revert "software node: Simplify software_node_release() function" + - hexagon: clean up ioremap + - hexagon: define ioremap_uc + - ALSA: hda: Match both PCI ID and SSID for driver blacklist + - x86/kvm: fix a missing-prototypes "vmread_error" + - platform/x86: GPD pocket fan: Fix error message when temp-limits are out of + range + - ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() + - mac80211: add ieee80211_is_any_nullfunc() + - cgroup, netclassid: remove double cond_resched + - libbpf: Fix readelf output parsing for Fedora + - mm/mremap: Add comment explaining the untagging behaviour of mremap() + - Revert "drm/amd/display: setting the DIG_MODE to the correct value." + - tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel + sources + - udp: document udp_rcv_segment special case for looped packets + - PM / devfreq: Add missing locking while setting suspend_freq + - Linux 5.4.40 + * Focal update: v5.4.39 upstream stable release (LP: #1877592) + - dma-buf: Fix SET_NAME ioctl uapi + - drm/edid: Fix off-by-one in DispID DTD pixel clock + - drm/amd/display: Fix green screen issue after suspend + - drm/qxl: qxl_release leak in qxl_draw_dirty_fb() + - drm/qxl: qxl_release leak in qxl_hw_surface_alloc() + - drm/qxl: qxl_release use after free + - NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION + - btrfs: fix transaction leak in btrfs_recover_relocation + - btrfs: fix block group leak when removing fails + - btrfs: fix partial loss of prealloc extent past i_size after fsync + - btrfs: transaction: Avoid deadlock due to bad initialization timing of + fs_info::journal_info + - mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout + loop + - mmc: sdhci-xenon: fix annoying 1.8V regulator warning + - mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers + - mmc: sdhci-msm: Enable host capabilities pertains to R1b response + - mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY + - mmc: meson-mx-sdio: remove the broken ->card_busy() op + - crypto: caam - fix the address of the last entry of S/G + - ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter + - ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID + - ALSA: hda/hdmi: fix without unlocked before return + - ALSA: line6: Fix POD HD500 audio playback + - ALSA: pcm: oss: Place the plugin buffer overflow checks correctly + - i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling + - Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM + - dlmfs_file_write(): fix the bogosity in handling non-zero *ppos + - IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() + - PM: ACPI: Output correct message on target power state + - PM: hibernate: Freeze kernel threads in software_resume() + - dm verity fec: fix hash block number in verity_fec_decode + - dm writecache: fix data corruption when reloading the target + - dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath + - ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe + - scsi: qla2xxx: set UNLOADING before waiting for session deletion + - scsi: qla2xxx: check UNLOADING before posting async work + - RDMA/mlx5: Set GRH fields in query QP on RoCE + - RDMA/mlx4: Initialize ib_spec on the stack + - RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() + - RDMA/core: Prevent mixed use of FDs between shared ufiles + - RDMA/core: Fix race between destroy and release FD object + - RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() + - RDMA/cm: Fix an error check in cm_alloc_id_priv() + - i2c: iproc: generate stop event for slave writes + - vfio: avoid possible overflow in vfio_iommu_type1_pin_pages + - vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() + - iommu/qcom: Fix local_base status check + - scsi: target/iblock: fix WRITE SAME zeroing + - iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system + - i2c: aspeed: Avoid i2c interrupt status clear race condition. + - ALSA: opti9xx: shut up gcc-10 range warning + - Fix use after free in get_tree_bdev() + - nvme: prevent double free in nvme_alloc_ns() error handling + - nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl + - dmaengine: dmatest: Fix iteration non-stop logic + - dmaengine: dmatest: Fix process hang when reading 'wait' parameter + - arm64: vdso: Add -fasynchronous-unwind-tables to cflags + - selinux: properly handle multiple messages in selinux_netlink_send() + - Linux 5.4.39 + * Focal update: v5.4.38 upstream stable release (LP: #1876767) + - Linux 5.4.38 + * Focal update: v5.4.37 upstream stable release (LP: #1876765) + - remoteproc: Fix wrong rvring index computation + - ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans() + - printk: queue wake_up_klogd irq_work only if per-CPU areas are ready + - ASoC: stm32: sai: fix sai probe + - usb: dwc3: gadget: Do link recovery for SS and SSP + - kbuild: fix DT binding schema rule again to avoid needless rebuilds + - usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete + - usb: gadget: udc: atmel: Fix vbus disconnect handling + - afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate + - afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH + - iio:ad7797: Use correct attribute_group + - propagate_one(): mnt_set_mountpoint() needs mount_lock + - counter: 104-quad-8: Add lock guards - generic interface + - s390/ftrace: fix potential crashes when switching tracers + - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs + - ASoC: tas571x: disable regulators on failed probe + - ASoC: wm8960: Fix wrong clock after suspend & resume + - drivers: soc: xilinx: fix firmware driver Kconfig dependency + - nfsd: memory corruption in nfsd4_lock() + - bpf: Forbid XADD on spilled pointers for unprivileged users + - i2c: altera: use proper variable to hold errno + - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket + - net/cxgb4: Check the return from t4_query_params properly + - xfs: acquire superblock freeze protection on eofblocks scans + - svcrdma: Fix trace point use-after-free race + - svcrdma: Fix leak of svc_rdma_recv_ctxt objects + - net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ + overruns + - net/mlx5e: Get the latest values from counters in switchdev mode + - PCI: Add ACS quirk for Zhaoxin multi-function devices + - PCI: Make ACS quirk implementations more uniform + - PCI: Unify ACS quirk desired vs provided checking + - PCI: Add Zhaoxin Vendor ID + - PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports + - PCI: Move Apex Edge TPU class quirk to fix BAR assignment + - ARM: dts: bcm283x: Disable dsi0 node + - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled + - s390/pci: do not set affinity for floating irqs + - net/mlx5: Fix failing fw tracer allocation on s390 + - sched/core: Fix reset-on-fork from RT with uclamp + - perf/core: fix parent pid/tid in task exit events + - netfilter: nat: fix error handling upon registering inet hook + - PM: sleep: core: Switch back to async_schedule_dev() + - blk-iocost: Fix error on iocost_ioc_vrate_adj + - um: ensure `make ARCH=um mrproper` removes + arch/$(SUBARCH)/include/generated/ + - bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension + - bpf, x86_32: Fix clobbering of dst for BPF_JSET + - bpf, x86_32: Fix logic error in BPF_LDX zero-extension + - mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy + path + - xfs: clear PF_MEMALLOC before exiting xfsaild thread + - bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B + - libbpf: Initialize *nl_pid so gcc 10 is happy + - net: fec: set GPR bit on suspend by DT configuration. + - x86: hyperv: report value of misc_features + - signal: check sig before setting info in kill_pid_usb_asyncio + - afs: Fix length of dump of bad YFSFetchStatus record + - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent + - ALSA: hda: Release resources at error in delayed probe + - ALSA: hda: Keep the controller initialization even if no codecs found + - ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported + - scsi: target: fix PR IN / READ FULL STATUS for FC + - scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN + - objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings + - objtool: Support Clang non-section symbols in ORC dump + - xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status + - ALSA: hda: call runtime_allow() for all hda controllers + - net: stmmac: socfpga: Allow all RGMII modes + - mac80211: fix channel switch trigger from unknown mesh peer + - arm64: Delete the space separator in __emit_inst + - ext4: use matching invalidatepage in ext4_writepage + - ext4: increase wait time needed before reuse of deleted inode numbers + - ext4: convert BUG_ON's to WARN_ON's in mballoc.c + - blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget + - hwmon: (jc42) Fix name to have no illegal characters + - taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions + - qed: Fix race condition between scheduling and destroying the slowpath + workqueue + - Crypto: chelsio - Fixes a hang issue during driver registration + - net: use indirect call wrappers for skb_copy_datagram_iter() + - qed: Fix use after free in qed_chain_free + - ext4: check for non-zero journal inum in ext4_calculate_overhead + - ASoC: soc-core: disable route checks for legacy devices + - ASoC: stm32: spdifrx: fix regmap status check + - Linux 5.4.37 + * Focal update: v5.4.36 upstream stable release (LP: #1876361) + - ext4: fix extent_status fragmentation for plain files + - f2fs: fix to avoid memory leakage in f2fs_listxattr + - net, ip_tunnel: fix interface lookup with no key + - [Config] updateconfigs for ARM64_ERRATUM_1542419 + - arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 + - arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 + - arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space + - arm64: Silence clang warning on mismatched value/register sizes + - tools/testing/nvdimm: Fix compilation failure without + CONFIG_DEV_DAX_PMEM_COMPAT + - watchdog: reset last_hw_keepalive time at start + - scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login + - scsi: lpfc: Fix crash after handling a pci error + - scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG + - scsi: libfc: If PRLI rejected, move rport to PLOGI state + - ceph: return ceph_mdsc_do_request() errors from __get_parent() + - ceph: don't skip updating wanted caps when cap is stale + - pwm: rcar: Fix late Runtime PM enablement + - nvme-tcp: fix possible crash in write_zeroes processing + - scsi: iscsi: Report unbind session event when the target has been removed + - tools/test/nvdimm: Fix out of tree build + - ASoC: Intel: atom: Take the drv->lock mutex before calling + sst_send_slot_map() + - nvme: fix deadlock caused by ANA update wrong locking + - drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax + - dma-direct: fix data truncation in dma_direct_get_required_mask() + - kernel/gcov/fs.c: gcov_seq_next() should increase position index + - selftests: kmod: fix handling test numbers above 9 + - ipc/util.c: sysvipc_find_ipc() should increase position index + - kconfig: qconf: Fix a few alignment issues + - lib/raid6/test: fix build on distros whose /bin/sh is not bash + - s390/cio: generate delayed uevent for vfio-ccw subchannels + - s390/cio: avoid duplicated 'ADD' uevents + - loop: Better discard support for block devices + - Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs + enabled" + - powerpc/pseries: Fix MCE handling on pseries + - nvme: fix compat address handling in several ioctls + - pwm: renesas-tpu: Fix late Runtime PM enablement + - pwm: bcm2835: Dynamically allocate base + - perf/core: Disable page faults when getting phys address + - drm/amd/display: Calculate scaling ratios on every medium/full update + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet + - ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk + - drm/amd/display: Not doing optimize bandwidth if flip pending. + - cxgb4: fix adapter crash due to wrong MC size + - cxgb4: fix large delays in PTP synchronization + - ipv4: Update fib_select_default to handle nexthop objects + - ipv6: fix restrict IPV6_ADDRFORM operation + - macsec: avoid to set wrong mtu + - macvlan: fix null dereference in macvlan_device_event() + - mlxsw: Fix some IS_ERR() vs NULL bugs + - net: bcmgenet: correct per TX/RX ring statistics + - net/mlx4_en: avoid indirect call in TX completion + - net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node + - net: openvswitch: ovs_ct_exit to be done under ovs_lock + - net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array + - net/x25: Fix x25_neigh refcnt leak when receiving frame + - sched: etf: do not assume all sockets are full blown + - selftests: Fix suppress test in fib_tests.sh + - tcp: cache line align MAX_TCP_HEADER + - team: fix hang in team_mode_get() + - vrf: Fix IPv6 with qdisc and xfrm + - net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled + - net: dsa: b53: Fix valid setting for MDB entries + - net: dsa: b53: Fix ARL register definitions + - net: dsa: b53: Rework ARL bin logic + - net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL + - vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish + - vrf: Check skb for XFRM_TRANSFORMED flag + - KEYS: Avoid false positive ENOMEM error on key read + - ALSA: hda: Remove ASUS ROG Zenith from the blacklist + - ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos + - ALSA: usb-audio: Add connector notifier delegation + - iio: core: remove extra semi-colon from devm_iio_device_register() macro + - iio: st_sensors: rely on odr mask to know if odr can be set + - iio: adc: stm32-adc: fix sleep in atomic context + - iio: adc: ti-ads8344: properly byte swap value + - iio: xilinx-xadc: Fix ADC-B powerdown + - iio: xilinx-xadc: Fix clearing interrupt when enabling trigger + - iio: xilinx-xadc: Fix sequencer configuration for aux channels in + simultaneous mode + - iio: xilinx-xadc: Make sure not exceed maximum samplerate + - USB: sisusbvga: Change port variable from signed to unsigned + - USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 + RGB RAPIDFIRE + - USB: early: Handle AMD's spec-compliant identifiers, too + - USB: core: Fix free-while-in-use bug in the USB S-Glibrary + - USB: hub: Fix handling of connect changes during sleep + - USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme + first for high speed devices") + - tty: serial: owl: add "much needed" clk_prepare_enable() + - vmalloc: fix remap_vmalloc_range() bounds checks + - staging: gasket: Fix incongruency in handling of sysfs entries creation + - coredump: fix null pointer dereference on coredump + - mm/hugetlb: fix a addressing exception caused by huge_pte_offset + - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled + - tools/vm: fix cross-compile build + - ALSA: usx2y: Fix potential NULL dereference + - ALSA: hda/realtek - Fix unexpected init_amp override + - ALSA: hda/realtek - Add new codec supported for ALC245 + - ALSA: hda/hdmi: Add module option to disable audio component binding + - ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif + - ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices + - tpm/tpm_tis: Free IRQ if probing fails + - tpm: fix wrong return value in tpm_pcr_extend + - tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() + - KVM: s390: Return last valid slot if approx index is out-of-bounds + - KVM: Check validity of resolved slot when searching memslots + - KVM: VMX: Enable machine check support for 32bit targets + - tty: hvc: fix buffer overflow during hvc_alloc(). + - tty: rocket, avoid OOB access + - usb-storage: Add unusual_devs entry for JMicron JMS566 + - signal: Avoid corrupting si_pid and si_uid in do_notify_parent + - audit: check the length of userspace generated audit records + - ASoC: dapm: fixup dapm kcontrol widget + - mac80211: populate debugfs only after cfg80211 init + - SUNRPC: Fix backchannel RPC soft lockups + - iwlwifi: pcie: actually release queue memory in TVQM + - iwlwifi: mvm: beacon statistics shouldn't go backwards + - iwlwifi: mvm: limit maximum queue appropriately + - iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation + - iwlwifi: mvm: fix inactive TID removal return value usage + - cifs: fix uninitialised lease_key in open_shroot() + - ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y + - powerpc/setup_64: Set cache-line-size based on cache-block-size + - staging: comedi: dt2815: fix writing hi byte of analog output + - staging: comedi: Fix comedi_device refcnt leak in comedi_open + - vt: don't hardcode the mem allocation upper bound + - vt: don't use kmalloc() for the unicode screen buffer + - staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default. + - staging: vt6656: Fix calling conditions of vnt_set_bss_mode + - staging: vt6656: Fix drivers TBTT timing counter. + - staging: vt6656: Fix pairwise key entry save. + - staging: vt6656: Power save stop wake_up_count wrap around. + - cdc-acm: close race betrween suspend() and acm_softint + - cdc-acm: introduce a cool down + - UAS: no use logging any details in case of ENODEV + - UAS: fix deadlock in error handling and PM flushing work + - fpga: dfl: pci: fix return value of cci_pci_sriov_configure + - usb: dwc3: gadget: Fix request completion check + - usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() + - usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change + - usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an + invalid pointer + - xhci: Fix handling halted endpoint even if endpoint ring appears empty + - xhci: prevent bus suspend if a roothub port detected a over-current + condition + - xhci: Don't clear hub TT buffer on ep0 protocol stall + - serial: sh-sci: Make sure status register SCxSR is read in correct sequence + - Revert "serial: uartps: Fix uartps_major handling" + - Revert "serial: uartps: Use the same dynamic major number for all ports" + - Revert "serial: uartps: Fix error path when alloc failed" + - Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES" + - Revert "serial: uartps: Change uart ID port allocation" + - Revert "serial: uartps: Move Port ID to device data structure" + - Revert "serial: uartps: Register own uart console and driver structures" + - powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP + - powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32 + - compat: ARM64: always include asm-generic/compat.h + - Linux 5.4.36 + * Focal update: v5.4.35 upstream stable release (LP: #1875660) + - ext4: use non-movable memory for superblock readahead + - watchdog: sp805: fix restart handler + - xsk: Fix out of boundary write in __xsk_rcv_memcpy + - arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0 + - arm, bpf: Fix offset overflow for BPF_MEM BPF_DW + - objtool: Fix switch table detection in .text.unlikely + - scsi: sg: add sg_remove_request in sg_common_write + - ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops + - ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN. + - kbuild, btf: Fix dependencies for DEBUG_INFO_BTF + - netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type + - irqchip/mbigen: Free msi_desc on device teardown + - ALSA: hda: Don't release card at firmware loading error + - xsk: Add missing check on user supplied headroom size + - of: unittest: kmemleak on changeset destroy + - of: unittest: kmemleak in of_unittest_platform_populate() + - of: unittest: kmemleak in of_unittest_overlay_high_level() + - of: overlay: kmemleak in dup_and_fixup_symbol_prop() + - x86/Hyper-V: Unload vmbus channel in hv panic callback + - x86/Hyper-V: Trigger crash enlightenment only once during system crash. + - x86/Hyper-V: Report crash register data or kmsg before running crash kernel + - x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not + set + - x86/Hyper-V: Report crash data in die() when panic_on_oops is set + - afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() + - afs: Fix decoding of inline abort codes from version 1 status records + - afs: Fix rename operation status delivery + - afs: Fix afs_d_validate() to set the right directory version + - afs: Fix race between post-modification dir edit and readdir/d_revalidate + - block, bfq: turn put_queue into release_process_ref in + __bfq_bic_change_cgroup + - block, bfq: make reparent_leaf_entity actually work only on leaf entities + - block, bfq: invoke flush_idle_tree after reparent_active_queues in + pd_offline + - rbd: avoid a deadlock on header_rwsem when flushing notifies + - rbd: call rbd_dev_unprobe() after unwatching and flushing notifies + - x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump + - drm/ttm: flush the fence on the bo after we individualize the reservation + object + - clk: Don't cache errors from clk_ops::get_phase() + - clk: at91: usb: continue if clk_hw_round_rate() return zero + - net/mlx5e: Enforce setting of a single FEC mode + - f2fs: fix the panic in do_checkpoint() + - ARM: dts: rockchip: fix vqmmc-supply property name for rk3188-bqedison2qc + - arm64: dts: allwinner: a64: Fix display clock register range + - power: supply: bq27xxx_battery: Silence deferred-probe error + - clk: tegra: Fix Tegra PMC clock out parents + - arm64: tegra: Add PCIe endpoint controllers nodes for Tegra194 + - arm64: tegra: Fix Tegra194 PCIe compatible string + - arm64: dts: clearfog-gt-8k: set gigabit PHY reset deassert delay + - soc: imx: gpc: fix power up sequencing + - dma-coherent: fix integer overflow in the reserved-memory dma allocation + - rtc: 88pm860x: fix possible race condition + - NFS: alloc_nfs_open_context() must use the file cred when available + - NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() + - NFSv4.2: error out when relink swapfile + - ARM: dts: rockchip: fix lvds-encoder ports subnode for rk3188-bqedison2qc + - KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests + - f2fs: fix to show norecovery mount option + - phy: uniphier-usb3ss: Add Pro5 support + - NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails + - f2fs: Fix mount failure due to SPO after a successful online resize FS + - f2fs: Add a new CP flag to help fsck fix resize SPO issues + - s390/cpuinfo: fix wrong output when CPU0 is offline + - hibernate: Allow uswsusp to write to swap + - btrfs: add RCU locks around block group initialization + - powerpc/prom_init: Pass the "os-term" message to hypervisor + - powerpc/maple: Fix declaration made after definition + - s390/cpum_sf: Fix wrong page count in error message + - ext4: do not commit super on read-only bdev + - um: ubd: Prevent buffer overrun on command completion + - cifs: Allocate encryption header through kmalloc + - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS + - drm/nouveau/svm: check for SVM initialized before migrating + - drm/nouveau/svm: fix vma range check for migration + - include/linux/swapops.h: correct guards for non_swap_entry() + - percpu_counter: fix a data race at vm_committed_as + - compiler.h: fix error in BUILD_BUG_ON() reporting + - KVM: s390: vsie: Fix possible race when shadowing region 3 tables + - drm/nouveau: workaround runpm fail by disabling PCI power management on + certain intel bridges + - leds: core: Fix warning message when init_data + - x86: ACPI: fix CPU hotplug deadlock + - csky: Fixup cpu speculative execution to IO area + - drm/amdkfd: kfree the wrong pointer + - NFS: Fix memory leaks in nfs_pageio_stop_mirroring() + - csky: Fixup get wrong psr value from phyical reg + - f2fs: fix NULL pointer dereference in f2fs_write_begin() + - ACPICA: Fixes for acpiExec namespace init file + - um: falloc.h needs to be directly included for older libc + - drm/vc4: Fix HDMI mode validation + - iommu/virtio: Fix freeing of incomplete domains + - iommu/vt-d: Fix mm reference leak + - ext2: fix empty body warnings when -Wextra is used + - iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() + - iommu/vt-d: Fix page request descriptor size + - ext2: fix debug reference to ext2_xattr_cache + - sunrpc: Fix gss_unwrap_resp_integ() again + - csky: Fixup init_fpu compile warning with __init + - power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute + Sticks. + - libnvdimm: Out of bounds read in __nd_ioctl() + - iommu/amd: Fix the configuration of GCR3 table root pointer + - f2fs: fix to wait all node page writeback + - drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init + - net: dsa: bcm_sf2: Fix overflow checks + - dma-debug: fix displaying of dma allocation type + - fbdev: potential information leak in do_fb_ioctl() + - ARM: dts: sunxi: Fix DE2 clocks register range + - iio: si1133: read 24-bit signed integer for measurement + - fbmem: Adjust indentation in fb_prepare_logo and fb_blank + - tty: evh_bytechan: Fix out of bounds accesses + - locktorture: Print ratio of acquisitions, not failures + - mtd: rawnand: free the nand_device object + - mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to + OOB + - docs: Fix path to MTD command line partition parser + - mtd: lpddr: Fix a double free in probe() + - mtd: phram: fix a double free issue in error path + - KEYS: Don't write out to userspace while holding key semaphore + - bpf: fix buggy r0 retval refinement for tracing helpers + - bpf: Test_verifier, bpf_get_stack return value add <0 + - bpf: Test_progs, add test to catch retval refine error handling + - SAUCE: bpf: Test_progs, fix test_get_stack_rawtp_err.c build + - bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test + - Linux 5.4.35 + * 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) + - iwlwifi: pcie: handle QuZ configs with killer NICs as well + * 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() + * linux: riscv: set max_pfn to the PFN of the last page (LP: #1876885) + - riscv: set max_pfn to the PFN of the last page + * Dell XPS 13 9300 mirror mode doesn't work sometimes with WD19TB + (LP: #1877013) + - drm/i915/perf: Do not clear pollin for small user read buffers + * [UBUNTU 20.04] s390x/pci: do not allow to create more pci functions than + configured via CONFIG_PCI_NR_FUNCTIONS (LP: #1874057) + - s390/pci: Fix zpci_alloc_domain() over allocation + * [Ubuntu 20.04] net/mlx5e: Fix endianness handling in pedit mask + (LP: #1872726) + - net/mlx5e: Fix endianness handling in pedit mask + * 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 + * ceph -- Unable to mount ceph volume on s390x (LP: #1875863) + - ceph: fix endianness bug when handling MDS session feature bits + * Do not treat unresolved test case in ftrace from ubuntu_kernel_selftests as + failure (LP: #1877958) + - ftrace/selftest: make unresolved cases cause failure if --fail-unresolved + set + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - SAUCE: rtc: add am-1805 RTC driver + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - SAUCE: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + [ Ubuntu: 5.4.0-33.37 ] + + * focal/linux: 5.4.0-33.37 -proposed tracker (LP: #1879926) + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: fix shitfs special-casing" + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as + underlay" + + -- Ian May Wed, 27 May 2020 11:33:10 -0500 + +linux-riscv (5.4.0-26.30) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-26.30 -proposed tracker (LP: #1877252) + + [ Ubuntu: 5.4.0-31.35 ] + + * focal/linux: 5.4.0-31.35 -proposed tracker (LP: #1877253) + * Intermittent display blackouts on event (LP: #1875254) + - drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + -- Stefan Bader Thu, 07 May 2020 12:13:24 +0200 + +linux-riscv (5.4.0-25.29) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-25.29 -proposed tracker (LP: #1875384) + + * Packaging resync (LP: #1786013) + - [Packaging] add libcap-dev dependency + + * Include device tree blobs in linux-riscv packages (LP: #1873800) + - [Debian] Ship device tree blobs in linux-modules + + [ Ubuntu: 5.4.0-30.34 ] + + * focal/linux: 5.4.0-30.34 -proposed tracker (LP: #1875385) + * 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 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + * LIO hanging in iscsit_free_session and iscsit_stop_session (LP: #1871688) + - scsi: target: iscsi: calling iscsit_stop_session() inside + iscsit_close_session() has no effect + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - SAUCE: drm/i915: Align power domain names with port names + - SAUCE: drm/i915/display: Move out code to return the digital_port of the aux + ch + - SAUCE: drm/i915/display: Add intel_legacy_aux_to_power_domain() + - SAUCE: drm/i915/display: Split hsw_power_well_enable() into two + - SAUCE: drm/i915/tc/icl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Skip ref held check for TC legacy aux power wells + - SAUCE: drm/i915/tc/tgl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Catch TC users accessing FIA registers without enable + aux + - SAUCE: drm/i915/tc: Do not warn when aux power well of static TC ports + timeout + * 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 + * amdgpu kernel errors in Linux 5.4 (LP: #1871248) + - drm/amd/display: Stop if retimer is not available + * Focal update: v5.4.34 upstream stable release (LP: #1874111) + - amd-xgbe: Use __napi_schedule() in BH context + - hsr: check protocol version in hsr_newlink() + - l2tp: Allow management of tunnels and session in user namespace + - net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode + - net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin + - net: ipv6: do not consider routes via gateways for anycast address check + - net: phy: micrel: use genphy_read_status for KSZ9131 + - net: qrtr: send msgs from local of same id as broadcast + - net: revert default NAPI poll timeout to 2 jiffies + - net: tun: record RX queue in skb before do_xdp_generic() + - net: dsa: mt7530: move mt7623 settings out off the mt7530 + - net: ethernet: mediatek: move mt7623 settings out off the mt7530 + - net/mlx5: Fix frequent ioread PCI access during recovery + - net/mlx5e: Add missing release firmware call + - net/mlx5e: Fix nest_level for vlan pop action + - net/mlx5e: Fix pfnum in devlink port attribute + - net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes + - ovl: fix value of i_ino for lower hardlink corner case + - scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic + - platform/chrome: cros_ec_rpmsg: Fix race with host event + - jbd2: improve comments about freeing data buffers whose page mapping is NULL + - acpi/nfit: improve bounds checking for 'func' + - perf report: Fix no branch type statistics report issue + - pwm: pca9685: Fix PWM/GPIO inter-operation + - ext4: fix incorrect group count in ext4_fill_super error message + - ext4: fix incorrect inodes per group in error message + - clk: at91: sam9x60: fix usb clock parents + - clk: at91: usb: use proper usbs_mask + - ARM: dts: imx7-colibri: fix muxing of usbc_det pin + - arm64: dts: librem5-devkit: add a vbus supply to usb0 + - usb: dwc3: gadget: Don't clear flags before transfer ended + - ASoC: Intel: mrfld: fix incorrect check on p->sink + - ASoC: Intel: mrfld: return error codes when an error occurs + - ALSA: hda/realtek - Enable the headset mic on Asus FX505DT + - ALSA: usb-audio: Filter error from connector kctl ops, too + - ALSA: usb-audio: Don't override ignore_ctl_error value from the map + - ALSA: usb-audio: Don't create jack controls for PCM terminals + - ALSA: usb-audio: Check mapping at creating connector controls, too + - arm64: vdso: don't free unallocated pages + - keys: Fix proc_keys_next to increase position index + - tracing: Fix the race between registering 'snapshot' event trigger and + triggering 'snapshot' operation + - btrfs: check commit root generation in should_ignore_root + - nl80211: fix NL80211_ATTR_FTM_RESPONDER policy + - mac80211: fix race in ieee80211_register_hw() + - mac80211_hwsim: Use kstrndup() in place of kasprintf() + - net/mlx5e: Encapsulate updating netdev queues into a function + - net/mlx5e: Rename hw_modify to preactivate + - net/mlx5e: Use preactivate hook to set the indirection table + - drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled + - drm/amdgpu: fix the hw hang during perform system reboot and reset + - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT + - ext4: do not zeroout extents beyond i_disksize + - irqchip/ti-sci-inta: Fix processing of masked irqs + - x86/resctrl: Preserve CDP enable over CPU hotplug + - x86/resctrl: Fix invalid attempt at removing the default resource group + - scsi: target: remove boilerplate code + - scsi: target: fix hang when multiple threads try to destroy the same iscsi + session + - x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE + - Linux 5.4.34 + * Focal update: v5.4.33 upstream stable release (LP: #1873481) + - ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage + - bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads + - ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode + - bpf: Fix deadlock with rq_lock in bpf_send_signal() + - iwlwifi: mvm: Fix rate scale NSS configuration + - Input: tm2-touchkey - add support for Coreriver TC360 variant + - soc: fsl: dpio: register dpio irq handlers after dpio create + - rxrpc: Abstract out the calculation of whether there's Tx space + - rxrpc: Fix call interruptibility handling + - net: stmmac: platform: Fix misleading interrupt error msg + - net: vxge: fix wrong __VA_ARGS__ usage + - hinic: fix a bug of waitting for IO stopped + - hinic: fix the bug of clearing event queue + - hinic: fix out-of-order excution in arm cpu + - hinic: fix wrong para of wait_for_completion_timeout + - hinic: fix wrong value of MIN_SKB_LEN + - selftests/net: add definition for SOL_DCCP to fix compilation errors for old + libc + - cxgb4/ptp: pass the sign of offset delta in FW CMD + - drm/scheduler: fix rare NULL ptr race + - cfg80211: Do not warn on same channel at the end of CSA + - qlcnic: Fix bad kzalloc null test + - i2c: st: fix missing struct parameter description + - i2c: pca-platform: Use platform_irq_get_optional + - media: rc: add keymap for Videostrong KII Pro + - cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL + - staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex + - media: venus: hfi_parser: Ignore HEVC encoding for V1 + - firmware: arm_sdei: fix double-lock on hibernate with shared events + - null_blk: Fix the null_add_dev() error path + - null_blk: Handle null_add_dev() failures properly + - null_blk: fix spurious IO errors after failed past-wp access + - media: imx: imx7_mipi_csis: Power off the source when stopping streaming + - media: imx: imx7-media-csi: Fix video field handling + - xhci: bail out early if driver can't accress host in resume + - x86: Don't let pgprot_modify() change the page encryption bit + - dma-mapping: Fix dma_pgprot() for unencrypted coherent pages + - block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices + - debugfs: Check module state before warning in {full/open}_proxy_open() + - irqchip/versatile-fpga: Handle chained IRQs properly + - time/sched_clock: Expire timer in hardirq context + - media: allegro: fix type of gop_length in channel_create message + - sched: Avoid scale real weight down to zero + - selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault + - PCI/switchtec: Fix init_completion race condition with poll_wait() + - block, bfq: move forward the getting of an extra ref in bfq_bfqq_move + - media: i2c: video-i2c: fix build errors due to 'imply hwmon' + - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() + - pstore/platform: fix potential mem leak if pstore_init_fs failed + - gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty + - gfs2: Don't demote a glock until its revokes are written + - cpufreq: imx6q: fix error handling + - x86/boot: Use unsigned comparison for addresses + - efi/x86: Ignore the memory attributes table on i386 + - genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy() + - block: Fix use-after-free issue accessing struct io_cq + - media: i2c: ov5695: Fix power on and off sequences + - usb: dwc3: core: add support for disabling SS instances in park mode + - irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency + - md: check arrays is suspended in mddev_detach before call quiesce operations + - firmware: fix a double abort case with fw_load_sysfs_fallback + - spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion + - locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps() + - block, bfq: fix use-after-free in bfq_idle_slice_timer_body + - btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is + at least queued + - btrfs: remove a BUG_ON() from merge_reloc_roots() + - btrfs: restart relocate_tree_blocks properly + - btrfs: track reloc roots based on their commit root bytenr + - ASoC: fix regwmask + - ASoC: dapm: connect virtual mux with default value + - ASoC: dpcm: allow start or stop during pause for backend + - ASoC: topology: use name_prefix for new kcontrol + - usb: gadget: f_fs: Fix use after free issue as part of queue failure + - usb: gadget: composite: Inform controller driver of self-powered + - ALSA: usb-audio: Add mixer workaround for TRX40 and co + - ALSA: hda: Add driver blacklist + - ALSA: hda: Fix potential access overflow in beep helper + - ALSA: ice1724: Fix invalid access for enumerated ctl items + - ALSA: pcm: oss: Fix regression by buffer overflow fix + - ALSA: hda/realtek - a fake key event is triggered by running shutup + - ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 + - ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 + - ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups + - ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen + - ALSA: hda/realtek - Add quirk for MSI GL63 + - media: venus: firmware: Ignore secure call error on first resume + - media: hantro: Read be32 words starting at every fourth byte + - media: ti-vpe: cal: fix disable_irqs to only the intended target + - media: ti-vpe: cal: fix a kernel oops when unloading module + - seccomp: Add missing compat_ioctl for notify + - acpi/x86: ignore unspecified bit positions in the ACPI global lock field + - ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE + - ACPI: PM: s2idle: Refine active GPEs check + - thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n + - nvmet-tcp: fix maxh2cdata icresp parameter + - efi/x86: Add TPM related EFI tables to unencrypted mapping checks + - PCI: pciehp: Fix indefinite wait on sysfs requests + - PCI/ASPM: Clear the correct bits when enabling L1 substates + - PCI: Add boot interrupt quirk mechanism for Xeon chipsets + - PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM + - PCI: endpoint: Fix for concurrent memory allocation in OB address region + - sched/fair: Fix enqueue_task_fair warning + - tpm: Don't make log failures fatal + - tpm: tpm1_bios_measurements_next should increase position index + - tpm: tpm2_bios_measurements_next should increase position index + - cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus() + - genirq/debugfs: Add missing sanity checks to interrupt injection + - irqchip/versatile-fpga: Apply clear-mask earlier + - io_uring: remove bogus RLIMIT_NOFILE check in file registration + - pstore: pstore_ftrace_seq_next should increase position index + - MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3 + - MIPS: OCTEON: irq: Fix potential NULL pointer dereference + - PM / Domains: Allow no domain-idle-states DT property in genpd when parsing + - PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there + - ath9k: Handle txpower changes even when TPC is disabled + - signal: Extend exec_id to 64bits + - x86/tsc_msr: Use named struct initializers + - x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices + - x86/tsc_msr: Make MSR derived TSC frequency more accurate + - x86/entry/32: Add missing ASM_CLAC to general_protection entry + - platform/x86: asus-wmi: Support laptops where the first battery is named + BATT + - KVM: nVMX: Properly handle userspace interrupt window request + - KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks + - KVM: s390: vsie: Fix delivery of addressing exceptions + - KVM: x86: Allocate new rmap and large page tracking when moving memslot + - KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support + - KVM: x86: Gracefully handle __vmalloc() failure during VM allocation + - KVM: VMX: Add a trampoline to fix VMREAD error handling + - KVM: VMX: fix crash cleanup when KVM wasn't used + - smb3: fix performance regression with setting mtime + - CIFS: Fix bug which the return value by asynchronous read is error + - mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers + - mtd: spinand: Do not erase the block before writing a bad block marker + - btrfs: Don't submit any btree write bio if the fs has errors + - Btrfs: fix crash during unmount due to race with delayed inode workers + - btrfs: reloc: clean dirty subvols if we fail to start a transaction + - btrfs: set update the uuid generation as soon as possible + - btrfs: drop block from cache on error in relocation + - btrfs: fix missing file extent item for hole after ranged fsync + - btrfs: unset reloc control if we fail to recover + - btrfs: fix missing semaphore unlock in btrfs_sync_file + - btrfs: use nofs allocations for running delayed items + - remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown + - remoteproc: qcom_q6v5_mss: Reload the mba region on coredump + - remoteproc: Fix NULL pointer dereference in rproc_virtio_notify + - crypto: rng - Fix a refcounting bug in crypto_rng_reset() + - crypto: mxs-dcp - fix scatterlist linearization for hash + - erofs: correct the remaining shrink objects + - io_uring: honor original task RLIMIT_FSIZE + - mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions + - powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() + - tools: gpio: Fix out-of-tree build regression + - net: qualcomm: rmnet: Allow configuration updates to existing devices + - arm64: dts: allwinner: h6: Fix PMU compatible + - sched/core: Remove duplicate assignment in sched_tick_remote() + - arm64: dts: allwinner: h5: Fix PMU compatible + - mm, memcg: do not high throttle allocators based on wraparound + - dm writecache: add cond_resched to avoid CPU hangs + - dm integrity: fix a crash with unusually large tag size + - dm verity fec: fix memory leak in verity_fec_dtr + - dm clone: Add overflow check for number of regions + - dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() + - XArray: Fix xas_pause for large multi-index entries + - xarray: Fix early termination of xas_for_each_marked + - crypto: caam/qi2 - fix chacha20 data size error + - crypto: caam - update xts sector size for large input length + - crypto: ccree - protect against empty or NULL scatterlists + - crypto: ccree - only try to map auth tag if needed + - crypto: ccree - dec auth tag size from cryptlen map + - scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point + - scsi: ufs: fix Auto-Hibern8 error detection + - ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board + - arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes + - arm64: armv8_deprecated: Fix undef_hook mask for thumb setend + - selftests: vm: drop dependencies on page flags from mlock2 tests + - selftests/vm: fix map_hugetlb length used for testing read and write + - selftests/powerpc: Add tlbie_test in .gitignore + - vfio: platform: Switch to platform_get_irq_optional() + - drm/i915/gem: Flush all the reloc_gpu batch + - drm/etnaviv: rework perfmon query infrastructure + - drm: Remove PageReserved manipulation from drm_pci_alloc + - drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK + - drm/amdgpu: unify fw_write_wait for new gfx9 asics + - powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable + - nfsd: fsnotify on rmdir under nfsd/clients/ + - NFS: Fix use-after-free issues in nfs_pageio_add_request() + - NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() + - ext4: fix a data race at inode->i_blocks + - fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() + - ocfs2: no need try to truncate file beyond i_size + - perf tools: Support Python 3.8+ in Makefile + - s390/diag: fix display of diagnose call statistics + - Input: i8042 - add Acer Aspire 5738z to nomux list + - ftrace/kprobe: Show the maxactive number on kprobe_events + - clk: ingenic/jz4770: Exit with error if CGU init failed + - clk: ingenic/TCU: Fix round_rate returning error + - kmod: make request_module() return an error when autoloading is disabled + - cpufreq: powernv: Fix use-after-free + - hfsplus: fix crash and filesystem corruption when deleting files + - ipmi: fix hung processes in __get_guid() + - xen/blkfront: fix memory allocation flags in blkfront_setup_indirect() + - powerpc/64/tm: Don't let userspace set regs->trap via sigreturn + - powerpc/fsl_booke: Avoid creating duplicate tlb1 entry + - powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE + entries + - powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs + - powerpc/64: Setup a paca before parsing device tree etc. + - powerpc/xive: Fix xmon support on the PowerNV platform + - powerpc/kprobes: Ignore traps that happened in real mode + - powerpc/64: Prevent stack protection in early boot + - scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug + - powerpc: Make setjmp/longjmp signature standard + - arm64: Always force a branch protection mode when the compiler has one + - dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone() + - dm clone: replace spin_lock_irqsave with spin_lock_irq + - dm clone: Fix handling of partial region discards + - dm clone: Add missing casts to prevent overflows and data corruption + - Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" + - drm/dp_mst: Fix clearing payload state on topology disable + - drm/amdgpu: fix gfx hang during suspend with video playback (v2) + - drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode + - powerpc/kasan: Fix kasan_remap_early_shadow_ro() + - mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static + - mmc: sdhci: Refactor sdhci_set_timeout() + - bpf: Fix tnum constraints for 32-bit comparisons + - mfd: dln2: Fix sanity checking for endpoints + - efi/x86: Fix the deletion of variables in mixed mode + - ASoC: stm32: sai: Add missing cleanup + - Linux 5.4.33 + - SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize + * Panic on suspend/resume Kernel panic - not syncing: stack-protector: Kernel + stack is corrupted in: sata_pmp_eh_recover+0xa2b/0xa40 (LP: #1821434) // + Focal update: v5.4.33 upstream stable release (LP: #1873481) + - libata: Return correct status in sata_pmp_eh_recover_pm() when + ATA_DFLAG_DETACH is set + * Focal update: v5.4.32 upstream stable release (LP: #1873292) + - cxgb4: fix MPS index overwrite when setting MAC address + - ipv6: don't auto-add link-local address to lag ports + - net: dsa: bcm_sf2: Do not register slave MDIO bus with OF + - net: dsa: bcm_sf2: Ensure correct sub-node is parsed + - net: dsa: mt7530: fix null pointer dereferencing in port5 setup + - net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before + accessing PHY registers + - net_sched: add a temporary refcnt for struct tcindex_data + - net_sched: fix a missing refcnt in tcindex_init() + - net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting + - tun: Don't put_page() for all negative return values from XDP program + - mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE + - r8169: change back SG and TSO to be disabled by default + - s390: prevent leaking kernel address in BEAR + - random: always use batched entropy for get_random_u{32,64} + - usb: dwc3: gadget: Wrap around when skip TRBs + - uapi: rename ext2_swab() to swab() and share globally in swab.h + - slub: improve bit diffusion for freelist ptr obfuscation + - tools/accounting/getdelays.c: fix netlink attribute length + - hwrng: imx-rngc - fix an error path + - ACPI: PM: Add acpi_[un]register_wakeup_handler() + - platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler() + - ASoC: jz4740-i2s: Fix divider written at incorrect offset in register + - IB/hfi1: Call kobject_put() when kobject_init_and_add() fails + - IB/hfi1: Fix memory leaks in sysfs registration and unregistration + - IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads + - ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D + - ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A + - ceph: remove the extra slashes in the server path + - ceph: canonicalize server path in place + - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for + swap + - RDMA/ucma: Put a lock around every call to the rdma_cm layer + - RDMA/cma: Teach lockdep about the order of rtnl and lock + - RDMA/siw: Fix passive connection establishment + - Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl + - RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow + - blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync + - fbcon: fix null-ptr-deref in fbcon_switch + - iommu/vt-d: Allow devices with RMRRs to use identity domain + - Linux 5.4.32 + * Focal update: v5.4.31 upstream stable release (LP: #1871651) + - nvme-rdma: Avoid double freeing of async event data + - kconfig: introduce m32-flag and m64-flag + - drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017 + - drm/bochs: downgrade pci_request_region failure from error to warning + - initramfs: restore default compression behavior + - drm/amdgpu: fix typo for vcn1 idle check + - [Packaging] add libcap-dev dependency + - tools/power turbostat: Fix gcc build warnings + - tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks + - tools/power turbostat: Fix 32-bit capabilities warning + - net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow + - XArray: Fix xa_find_next for large multi-index entries + - padata: fix uninitialized return value in padata_replace() + - brcmfmac: abort and release host after error + - misc: rtsx: set correct pcr_ops for rts522A + - misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices + - misc: pci_endpoint_test: Avoid using module parameter to determine irqtype + - PCI: sysfs: Revert "rescan" file renames + - coresight: do not use the BIT() macro in the UAPI header + - mei: me: add cedar fork device ids + - nvmem: check for NULL reg_read and reg_write before dereferencing + - extcon: axp288: Add wakeup support + - power: supply: axp288_charger: Add special handling for HP Pavilion x2 10 + - Revert "dm: always call blk_queue_split() in dm_process_bio()" + - ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 + Classified motherboard + - soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper + - net/mlx5e: kTLS, Fix wrong value in record tracker enum + - iwlwifi: consider HE capability when setting LDPC + - iwlwifi: yoyo: don't add TLV offset when reading FIFOs + - iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails + - rxrpc: Fix sendmsg(MSG_WAITALL) handling + - IB/hfi1: Ensure pq is not left on waitlist + - tcp: fix TFO SYNACK undo to avoid double-timestamp-undo + - watchdog: iTCO_wdt: Export vendorsupport + - watchdog: iTCO_wdt: Make ICH_RES_IO_SMI optional + - i2c: i801: Do not add ICH_RES_IO_SMI for the iTCO_wdt device + - net: Fix Tx hash bound checking + - padata: always acquire cpu_hotplug_lock before pinst->lock + - mm: mempolicy: require at least one nodeid for MPOL_PREFERRED + - Linux 5.4.31 + * Add hw timestamps to received skbs in peak_canfd (LP: #1874124) + - can: peak_canfd: provide hw timestamps in rx skbs + * kselftest: seccomp kill_after_ptrace() timeout (LP: #1872047) + - SAUCE: kselftest/runner: allow to properly deliver signals to tests + + [ Ubuntu: 5.4.0-29.33 ] + + * focal/linux: 5.4.0-29.33 -proposed tracker (LP: #1875858) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + [ Ubuntu: 5.4.0-28.32 ] + + * CVE-2020-11884 + - SAUCE: s390/mm: fix page table upgrade vs 2ndary address mode accesses + + [ Ubuntu: 5.4.0-26.30 ] + + * focal/linux: 5.4.0-26.30 -proposed tracker (LP: #1873882) + * Packaging resync (LP: #1786013) + - update dkms package versions + * swap storms kills interactive use (LP: #1861359) + - SAUCE: drm/i915: prevent direct writeback from the shrinker + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + * [RTL810xE] No ethernet connection (LP: #1871182) + - net: phy: realtek: fix handling of RTL8105e-integrated PHY + + [ Ubuntu: 5.4.0-25.29 ] + + * focal/linux: 5.4.0-25.29 -proposed tracker (LP: #1873459) + * [TGL] VMD support in TGL (LP: #1855954) + - PCI: vmd: Add bus 224-255 restriction decode + - PCI: vmd: Add device id for VMD device 8086:9A0B + * Can not see the storage with Intel RAID On mode enabled on Intel Comet Lake + (LP: #1871812) + - ahci: Add Intel Comet Lake PCH RAID PCI ID + + -- Stefan Bader Tue, 05 May 2020 18:08:03 +0200 + +linux-riscv (5.4.0-24.28) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-24.28 -proposed tracker (LP: #1871938) + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * 12d1:1038 Dual-Role OTG device on non-HNP port - unable to enumerate USB + device on port 1 (LP: #1047527) + - [Config] USB_OTG_FSM policy not needed + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + + * Miscellaneous Ubuntu changes + - [Packaging] Initial linux-riscv packaging + - [Config] CONFIG_RT_GROUP_SCHED=y + + -- Seth Forshee Thu, 09 Apr 2020 19:51:55 -0500 + +linux-riscv (5.4.0-23.27) focal; urgency=medium + + * Initial entry. + + -- Seth Forshee Mon, 06 Apr 2020 08:48:18 -0500 --- linux-riscv-5.8-5.8.0.orig/debian.riscv/config/annotations +++ linux-riscv-5.8-5.8.0/debian.riscv/config/annotations @@ -0,0 +1,9305 @@ +# Menu: HEADER +# FORMAT: 2 +# ARCH: riscv + +# Mark debugging symbols. +# exceptions +CONFIG_DEBUG_FS note +CONFIG_DEBUG_KERNEL note + +# Menu: ROOT + +# Menu: Architecture: riscv +CONFIG_MMU policy<{'riscv64': 'y'}> + +# Menu: Boot options >> Architecture: riscv +CONFIG_CMDLINE policy<{'riscv64': '""'}> + +# Menu: Boot options >> Built-in command line usage >> Architecture: riscv + +# Menu: Cryptographic API +CONFIG_CRYPTO policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_MANAGER policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_USER policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_NULL policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_PCRYPT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRYPTD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AUTHENC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TEST policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RSA policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECDH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ECRDSA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CURVE25519 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CCM policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_GCM policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CHACHA20POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AEGIS128 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SEQIV policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECHAINIV policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CBC policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CFB policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CTR policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_ECB policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LRW policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_OFB policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_PCBC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_XTS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_KEYWRAP policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ADIANTUM policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ESSIV policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CMAC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_HMAC policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_XCBC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_VMAC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRC32C policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_CRC32 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_XXHASH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLAKE2B policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLAKE2S policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CRCT10DIF policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_GHASH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MD4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_MD5 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_MICHAEL_MIC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD128 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD160 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD256 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_RMD320 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SHA1 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA256 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA512 policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_SHA3 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SM3 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_STREEBOG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TGR192 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_WP512 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_AES policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_AES_TI policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ANUBIS policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ARC4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_BLOWFISH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAMELLIA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAST5 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CAST6 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DES policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_FCRYPT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_KHAZAD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SALSA20 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_CHACHA20 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SEED policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SERPENT policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_SM4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TEA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_TWOFISH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEFLATE policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LZO policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_842 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LZ4 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LZ4HC policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ZSTD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_ANSI_CPRNG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_JITTERENTROPY policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_USER_API_HASH policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_SKCIPHER policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_RNG policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_USER_API_AEAD policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_STATS policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_LIB_BLAKE2S policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CURVE25519 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_POLY1305 policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA20POLY1305 policy<{'riscv64': 'm'}> +# +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS flag +CONFIG_CRYPTO_TEST flag +CONFIG_CRYPTO_SHA512 note + +# Menu: Cryptographic API >> Asymmetric (public-key cryptographic) key type +CONFIG_ASYMMETRIC_KEY_TYPE policy<{'riscv64': 'y'}> +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE policy<{'riscv64': 'y'}> +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE policy<{'riscv64': 'm'}> +CONFIG_X509_CERTIFICATE_PARSER policy<{'riscv64': 'y'}> +CONFIG_PKCS8_PRIVATE_KEY_PARSER policy<{'riscv64': 'm'}> +CONFIG_TPM_KEY_PARSER policy<{'riscv64': 'm'}> +CONFIG_PKCS7_MESSAGE_PARSER policy<{'riscv64': 'y'}> +CONFIG_PKCS7_TEST_KEY policy<{'riscv64': 'm'}> +CONFIG_SIGNED_PE_FILE_VERIFICATION policy<{'riscv64': '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<{'riscv64': '"certs/signing_key.pem"'}> +CONFIG_SYSTEM_BLACKLIST_KEYRING policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_BLACKLIST_HASH_LIST policy<{'riscv64': '""'}> +# +CONFIG_SYSTEM_BLACKLIST_KEYRING mark + +# Menu: Cryptographic API >> Certificates for signature checking >> Provide system-wide ring of trusted keys +CONFIG_SYSTEM_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_TRUSTED_KEYS policy<{'riscv64': '"debian/canonical-certs.pem"'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE policy<{'riscv64': 'y'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE policy<{'riscv64': '4096'}> +CONFIG_SECONDARY_TRUSTED_KEYRING policy<{'riscv64': 'y'}> + +# Menu: Cryptographic API >> Hardware crypto devices +CONFIG_CRYPTO_HW policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DEV_ATMEL_ECC policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_ATMEL_SHA204A policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_NITROX_CNN55XX policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_CHELSIO policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_IPSEC_INLINE policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_TLS_DEVICE policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DEV_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_SAFEXCEL policy<{'riscv64': 'n'}> +CONFIG_CRYPTO_DEV_CCREE policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL policy<{'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Algorithms enabled for QCE acceleration + +# Menu: Cryptographic API >> Hardware crypto devices >> Freescale CAAM Job Ring driver backend + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for OMAP crypto HW accelerators + +# Menu: Cryptographic API >> NIST SP800-90A DRBG +CONFIG_CRYPTO_DRBG_MENU policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DRBG_HASH policy<{'riscv64': 'y'}> +CONFIG_CRYPTO_DRBG_CTR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers +CONFIG_RANDOM_TRUST_BOOTLOADER policy<{'riscv64': 'y'}> +CONFIG_MEDIA_CEC_RC policy<{'riscv64': 'y'}> +CONFIG_PANEL policy<{'riscv64': 'm'}> +CONFIG_CHARLCD policy<{'riscv64': 'm'}> +CONFIG_USB4 policy<{'riscv64': 'm'}> +CONFIG_MOST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> ATA/ATAPI/MFM/RLL support (DEPRECATED) + +# Menu: Device Drivers >> Accessibility support +CONFIG_ACCESSIBILITY policy<{'riscv64': 'n'}> +# +CONFIG_ACCESSIBILITY flag + +# Menu: Device Drivers >> Adaptive Voltage Scaling class support +CONFIG_POWER_AVS policy<{'riscv64': 'y'}> +CONFIG_QCOM_CPR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Android +CONFIG_ANDROID policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Android >> Android Binder IPC Driver +CONFIG_ANDROID_BINDER_IPC policy<{'riscv64': 'm'}> +CONFIG_ANDROID_BINDERFS policy<{'riscv64': 'm'}> +CONFIG_ANDROID_BINDER_DEVICES policy<{'riscv64': '""'}> +CONFIG_ANDROID_BINDER_IPC_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support +CONFIG_AUXDISPLAY policy<{'riscv64': 'y'}> +CONFIG_HD44780 policy<{'riscv64': 'm'}> +CONFIG_IMG_ASCII_LCD policy<{'riscv64': 'm'}> +CONFIG_HT16K33 policy<{'riscv64': 'm'}> +CONFIG_PANEL_CHANGE_MESSAGE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Backlight initial state +CONFIG_CHARLCD_BL_OFF policy<{'riscv64': 'n'}> +CONFIG_CHARLCD_BL_ON policy<{'riscv64': 'n'}> +CONFIG_CHARLCD_BL_FLASH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Parallel port LCD/Keypad Panel support +CONFIG_PARPORT_PANEL policy<{'riscv64': 'm'}> +CONFIG_PANEL_PARPORT policy<{'riscv64': '0'}> +CONFIG_PANEL_PROFILE policy<{'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<{'riscv64': 'y'}> +CONFIG_BLK_DEV_NULL_BLK policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_PCIESSD_MTIP32XX policy<{'riscv64': 'm'}> +CONFIG_ZRAM policy<{'riscv64': 'm'}> +CONFIG_ZRAM_WRITEBACK policy<{'riscv64': 'y'}> +CONFIG_ZRAM_MEMORY_TRACKING policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_UMEM policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_LOOP policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_LOOP_MIN_COUNT policy<{'riscv64': '8'}> +CONFIG_BLK_DEV_CRYPTOLOOP policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_DRBD policy<{'riscv64': 'm'}> +CONFIG_DRBD_FAULT_INJECTION policy<{'riscv64': 'n'}> +CONFIG_BLK_DEV_NBD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SKD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SX8 policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RAM policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RAM_COUNT policy<{'riscv64': '16'}> +CONFIG_BLK_DEV_RAM_SIZE policy<{'riscv64': '65536'}> +CONFIG_CDROM_PKTCDVD policy<{'riscv64': 'm'}> +CONFIG_CDROM_PKTCDVD_BUFFERS policy<{'riscv64': '8'}> +CONFIG_CDROM_PKTCDVD_WCACHE policy<{'riscv64': 'n'}> +CONFIG_ATA_OVER_ETH policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_BLK policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RBD policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RSXX policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RNBD_CLIENT policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_RNBD_SERVER policy<{'riscv64': 'm'}> +# +CONFIG_BLK_DEV_UMEM note +CONFIG_CDROM_PKTCDVD_WCACHE mark +CONFIG_VIRTIO_BLK note +CONFIG_BLK_DEV_RAM note +CONFIG_BLK_DEV_RAM_SIZE mark note flag + +# Menu: Device Drivers >> Block devices >> Parallel port IDE device support + +# Menu: Device Drivers >> Block devices >> Support for DASD devices + +# Menu: Device Drivers >> Board level reset or power off +CONFIG_POWER_RESET policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_AS3722 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_GPIO policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_GPIO_RESTART policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_LTC2952 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_MT6323 policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_RESTART policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_SYSCON policy<{'riscv64': 'y'}> +CONFIG_POWER_RESET_SYSCON_POWEROFF policy<{'riscv64': 'y'}> +CONFIG_SYSCON_REBOOT_MODE policy<{'riscv64': 'm'}> +CONFIG_NVMEM_REBOOT_MODE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Broadcom specific AMBA +CONFIG_BCMA policy<{'riscv64': 'm'}> +CONFIG_BCMA_HOST_PCI policy<{'riscv64': 'y'}> +CONFIG_BCMA_HOST_SOC policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_PCI policy<{'riscv64': 'y'}> +CONFIG_BCMA_SFLASH policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GMAC_CMN policy<{'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GPIO policy<{'riscv64': 'y'}> +CONFIG_BCMA_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Bus devices +CONFIG_MOXTET policy<{'riscv64': 'm'}> +CONFIG_MHI_BUS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices +CONFIG_DEVMEM policy<{'riscv64': 'y'}> +CONFIG_DEVKMEM policy<{'riscv64': 'n'}> +CONFIG_TTY_PRINTK policy<{'riscv64': 'y'}> +CONFIG_TTY_PRINTK_LEVEL policy<{'riscv64': '6'}> +CONFIG_PRINTER policy<{'riscv64': 'm'}> +CONFIG_LP_CONSOLE policy<{'riscv64': 'n'}> +CONFIG_PPDEV policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_APPLICOM policy<{'riscv64': 'm'}> +CONFIG_RAW_DRIVER policy<{'riscv64': 'm'}> +CONFIG_MAX_RAW_DEVS policy<{'riscv64': '256'}> +CONFIG_DEVPORT policy<{'riscv64': 'y'}> +CONFIG_XILLYBUS policy<{'riscv64': 'm'}> +CONFIG_XILLYBUS_PCIE policy<{'riscv64': 'm'}> +CONFIG_XILLYBUS_OF policy<{'riscv64': 'm'}> +# +CONFIG_DEVKMEM mark note + +# Menu: Device Drivers >> Character devices >> Enable TTY +CONFIG_TTY policy<{'riscv64': 'y'}> +CONFIG_VT policy<{'riscv64': 'y'}> +CONFIG_CONSOLE_TRANSLATIONS policy<{'riscv64': 'y'}> +CONFIG_VT_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_VT_HW_CONSOLE_BINDING policy<{'riscv64': 'y'}> +CONFIG_UNIX98_PTYS policy<{'riscv64': 'y'}> +CONFIG_LEGACY_PTYS policy<{'riscv64': 'y'}> +CONFIG_LEGACY_PTY_COUNT policy<{'riscv64': '0'}> +CONFIG_LDISC_AUTOLOAD policy<{'riscv64': 'y'}> +CONFIG_GOLDFISH_TTY policy<{'riscv64': 'm'}> +CONFIG_N_GSM policy<{'riscv64': 'm'}> +CONFIG_NOZOMI policy<{'riscv64': 'm'}> +CONFIG_NULL_TTY policy<{'riscv64': 'm'}> +CONFIG_TRACE_ROUTER policy<{'riscv64': 'm'}> +CONFIG_TRACE_SINK policy<{'riscv64': 'm'}> +CONFIG_HVC_RISCV_SBI policy<{'riscv64': 'y'}> +# +CONFIG_N_GSM note + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Non-standard serial port support +CONFIG_SERIAL_NONSTANDARD policy<{'riscv64': 'y'}> +CONFIG_ROCKETPORT policy<{'riscv64': 'm'}> +CONFIG_CYCLADES policy<{'riscv64': 'm'}> +CONFIG_CYZ_INTR policy<{'riscv64': 'n'}> +CONFIG_MOXA_INTELLIO policy<{'riscv64': 'm'}> +CONFIG_MOXA_SMARTIO policy<{'riscv64': 'm'}> +CONFIG_SYNCLINKMP policy<{'riscv64': 'm'}> +CONFIG_SYNCLINK_GT policy<{'riscv64': 'm'}> +CONFIG_ISI policy<{'riscv64': 'm'}> +CONFIG_N_HDLC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers +CONFIG_SERIAL_EARLYCON_RISCV_SBI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_KGDB_NMI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_MAX3100 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_MAX310X policy<{'riscv64': 'y'}> +CONFIG_SERIAL_UARTLITE policy<{'riscv64': 'm'}> +CONFIG_SERIAL_UARTLITE_NR_UARTS policy<{'riscv64': '1'}> +CONFIG_SERIAL_JSM policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SIFIVE_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SCCNXP policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SCCNXP_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SC16IS7XX_I2C policy<{'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX_SPI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_ALTERA_JTAGUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_IFX6X60 policy<{'riscv64': 'n'}> +CONFIG_SERIAL_XILINX_PS_UART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_ARC policy<{'riscv64': 'm'}> +CONFIG_SERIAL_ARC_NR_PORTS policy<{'riscv64': '1'}> +CONFIG_SERIAL_RP2 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_RP2_NR_UARTS policy<{'riscv64': '32'}> +CONFIG_SERIAL_FSL_LPUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_FSL_LINFLEXUART policy<{'riscv64': 'n'}> +CONFIG_SERIAL_CONEXANT_DIGICOLOR policy<{'riscv64': 'm'}> +CONFIG_SERIAL_MEN_Z135 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_SPRD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> 8250/16550 and compatible serial support +CONFIG_SERIAL_8250 policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS policy<{'riscv64': 'n'}> +CONFIG_SERIAL_8250_16550A_VARIANTS policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_FINTEK policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DMA policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_PCI policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_EXAR policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_MEN_MCB policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_NR_UARTS policy<{'riscv64': '48'}> +CONFIG_SERIAL_8250_RUNTIME_UARTS policy<{'riscv64': '32'}> +CONFIG_SERIAL_8250_ASPEED_VUART policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_DW policy<{'riscv64': 'm'}> +CONFIG_SERIAL_8250_RT288X policy<{'riscv64': 'y'}> +CONFIG_SERIAL_OF_PLATFORM policy<{'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<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_SHARE_IRQ policy<{'riscv64': 'y'}> +CONFIG_SERIAL_8250_DETECT_IRQ policy<{'riscv64': 'n'}> +CONFIG_SERIAL_8250_RSA policy<{'riscv64': 'y'}> + +# 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<{'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<{'riscv64': 'm'}> +CONFIG_SERIAL_ALTERA_UART_MAXPORTS policy<{'riscv64': '4'}> +CONFIG_SERIAL_ALTERA_UART_BAUDRATE policy<{'riscv64': '115200'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> SuperH SCI(F) serial port support + +# 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<{'riscv64': 'y'}> +CONFIG_HW_RANDOM_TIMERIOMEM policy<{'riscv64': 'm'}> +CONFIG_HW_RANDOM_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_HW_RANDOM_CCTRNG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> IPMI top-level message handler +CONFIG_IPMI_HANDLER policy<{'riscv64': 'm'}> +CONFIG_IPMI_PANIC_EVENT policy<{'riscv64': 'n'}> +CONFIG_IPMI_DEVICE_INTERFACE policy<{'riscv64': 'm'}> +CONFIG_IPMI_SI policy<{'riscv64': 'm'}> +CONFIG_IPMI_SSIF policy<{'riscv64': 'm'}> +CONFIG_IPMI_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_IPMI_POWEROFF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> PCMCIA character devices + +# Menu: Device Drivers >> Character devices >> Serial device bus +CONFIG_SERIAL_DEV_BUS policy<{'riscv64': 'y'}> +CONFIG_SERIAL_DEV_CTRL_TTYPORT policy<{'riscv64': 'y'}> +# +CONFIG_SERIAL_DEV_BUS note +CONFIG_SERIAL_DEV_CTRL_TTYPORT note + +# Menu: Device Drivers >> Character devices >> TPM Hardware Support +CONFIG_TCG_TPM policy<{'riscv64': 'y'}> +CONFIG_HW_RANDOM_TPM policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS_SPI policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_SPI_CR50 policy<{'riscv64': 'y'}> +CONFIG_TCG_TIS_I2C_ATMEL policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_I2C_INFINEON policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_I2C_NUVOTON policy<{'riscv64': 'm'}> +CONFIG_TCG_ATMEL policy<{'riscv64': 'm'}> +CONFIG_TCG_VTPM_PROXY policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_ST33ZP24_I2C policy<{'riscv64': 'm'}> +CONFIG_TCG_TIS_ST33ZP24_SPI policy<{'riscv64': 'm'}> +# +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_RISCV_TIMER policy<{'riscv64': 'y'}> +CONFIG_MICROCHIP_PIT64B policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework +CONFIG_COMMON_CLK policy<{'riscv64': 'y'}> +CONFIG_COMMON_CLK_WM831X policy<{'riscv64': 'm'}> +CONFIG_CLK_HSDK policy<{'riscv64': 'n'}> +CONFIG_COMMON_CLK_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_MAX9485 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_RK808 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI5341 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI5351 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI514 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI544 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI570 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CDCE706 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CDCE925 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_CS2000_CP policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_S2MPS11 policy<{'riscv64': 'm'}> +CONFIG_CLK_TWL6040 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_PALMAS policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_PWM policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_VC5 policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_BD718XX policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_FIXED_MMIO policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for ARM Reference designs + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for Actions Semi SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2701 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2712 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6765 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6779 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6797 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT7622 + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT8183 + +# Menu: Device Drivers >> Common Clock Framework >> Clock support for Allwinner SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Ingenic SoCs drivers + +# Menu: Device Drivers >> Common Clock Framework >> Legacy clock support for Allwinner SoCs + +# Menu: Device Drivers >> Common Clock Framework >> Renesas SoC clock support + +# 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 + +# Menu: Device Drivers >> Connector - unified userspace <-> kernelspace linker +CONFIG_CONNECTOR policy<{'riscv64': 'y'}> +CONFIG_PROC_EVENTS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Counter support +CONFIG_COUNTER policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> DAX: direct access to differentiated memory +CONFIG_DAX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> DMA Engine support +CONFIG_DMADEVICES policy<{'riscv64': 'y'}> +CONFIG_DMADEVICES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ALTERA_MSGDMA policy<{'riscv64': 'm'}> +CONFIG_DW_AXI_DMAC policy<{'riscv64': 'm'}> +CONFIG_FSL_EDMA policy<{'riscv64': 'm'}> +CONFIG_INTEL_IDMA64 policy<{'riscv64': 'm'}> +CONFIG_PLX_DMA policy<{'riscv64': 'm'}> +CONFIG_QCOM_HIDMA_MGMT policy<{'riscv64': 'm'}> +CONFIG_QCOM_HIDMA policy<{'riscv64': 'm'}> +CONFIG_DW_DMAC policy<{'riscv64': 'm'}> +CONFIG_DW_DMAC_PCI policy<{'riscv64': 'm'}> +CONFIG_DW_EDMA policy<{'riscv64': 'm'}> +CONFIG_DW_EDMA_PCIE policy<{'riscv64': 'm'}> +CONFIG_SF_PDMA policy<{'riscv64': 'm'}> +CONFIG_ASYNC_TX_DMA policy<{'riscv64': 'y'}> +CONFIG_DMATEST policy<{'riscv64': 'n'}> +# +CONFIG_DMATEST flag + +# Menu: Device Drivers >> DMABUF options +CONFIG_SYNC_FILE policy<{'riscv64': 'y'}> +CONFIG_SW_SYNC policy<{'riscv64': 'y'}> +CONFIG_UDMABUF policy<{'riscv64': 'y'}> +CONFIG_DMABUF_MOVE_NOTIFY policy<{'riscv64': 'n'}> +CONFIG_DMABUF_SELFTESTS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> DMABUF options >> DMA-BUF Userland Memory Heaps +CONFIG_DMABUF_HEAPS policy<{'riscv64': 'y'}> +CONFIG_DMABUF_HEAPS_SYSTEM policy<{'riscv64': 'y'}> +CONFIG_DMABUF_HEAPS_CMA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support +CONFIG_W1 policy<{'riscv64': 'm'}> +CONFIG_W1_CON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Bus Masters +CONFIG_W1_MASTER_MATROX policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS2490 policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS2482 policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_DS1WM policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_GPIO policy<{'riscv64': 'm'}> +CONFIG_W1_MASTER_SGI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Slaves +CONFIG_W1_SLAVE_THERM policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_SMEM policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2405 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2408 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2408_READBACK policy<{'riscv64': 'y'}> +CONFIG_W1_SLAVE_DS2413 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2406 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2423 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2805 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2430 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2431 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2433 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2433_CRC policy<{'riscv64': 'n'}> +CONFIG_W1_SLAVE_DS2438 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS250X policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2780 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS2781 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS28E04 policy<{'riscv64': 'm'}> +CONFIG_W1_SLAVE_DS28E17 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Device Tree and Open Firmware support +CONFIG_OF policy<{'riscv64': 'y'}> +CONFIG_OF_UNITTEST policy<{'riscv64': 'n'}> +CONFIG_OF_DYNAMIC policy<{'riscv64': 'y'}> +CONFIG_OF_OVERLAY policy<{'riscv64': 'y'}> +# +CONFIG_OF_UNITTEST flag + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting +CONFIG_EDAC policy<{'riscv64': 'y'}> +CONFIG_EDAC_LEGACY_SYSFS policy<{'riscv64': 'n'}> +CONFIG_EDAC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EDAC_SIFIVE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting >> Altera SOCFPGA ECC + +# Menu: Device Drivers >> EISA support + +# Menu: Device Drivers >> Eckelmann SIOX Support +CONFIG_SIOX policy<{'riscv64': 'm'}> +CONFIG_SIOX_BUS_GPIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> External Connector Class (extcon) support +CONFIG_EXTCON policy<{'riscv64': 'y'}> +CONFIG_EXTCON_ADC_JACK policy<{'riscv64': 'm'}> +CONFIG_EXTCON_ARIZONA policy<{'riscv64': 'm'}> +CONFIG_EXTCON_FSA9480 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_GPIO policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX3355 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX77843 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_PALMAS policy<{'riscv64': 'm'}> +CONFIG_EXTCON_PTN5150 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_RT8973A policy<{'riscv64': 'm'}> +CONFIG_EXTCON_SM5502 policy<{'riscv64': 'm'}> +CONFIG_EXTCON_USB_GPIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework +CONFIG_FPGA policy<{'riscv64': 'm'}> +CONFIG_ALTERA_PR_IP_CORE policy<{'riscv64': 'm'}> +CONFIG_ALTERA_PR_IP_CORE_PLAT policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ALTERA_PS_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ALTERA_CVP policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_XILINX_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_ICE40_SPI policy<{'riscv64': 'm'}> +CONFIG_FPGA_MGR_MACHXO2_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Bridge Framework +CONFIG_FPGA_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_ALTERA_FREEZE_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_XILINX_PR_DECOUPLER policy<{'riscv64': 'm'}> +CONFIG_FPGA_REGION policy<{'riscv64': 'm'}> +CONFIG_OF_FPGA_REGION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support +CONFIG_FPGA_DFL policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_AFU policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support >> FPGA DFL FME Driver +CONFIG_FPGA_DFL_FME policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_MGR policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_REGION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> FSI support +CONFIG_FSI policy<{'riscv64': 'm'}> +CONFIG_FSI_NEW_DEV_NODE policy<{'riscv64': 'n'}> +CONFIG_FSI_MASTER_GPIO policy<{'riscv64': 'm'}> +CONFIG_FSI_MASTER_HUB policy<{'riscv64': 'm'}> +CONFIG_FSI_MASTER_ASPEED policy<{'riscv64': 'm'}> +CONFIG_FSI_SCOM policy<{'riscv64': 'm'}> +CONFIG_FSI_SBEFIFO policy<{'riscv64': 'm'}> +CONFIG_FSI_OCC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Fusion MPT device support +CONFIG_FUSION policy<{'riscv64': 'y'}> +CONFIG_FUSION_SPI policy<{'riscv64': 'm'}> +CONFIG_FUSION_FC policy<{'riscv64': 'm'}> +CONFIG_FUSION_SAS policy<{'riscv64': 'm'}> +CONFIG_FUSION_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_FUSION_CTL policy<{'riscv64': 'm'}> +CONFIG_FUSION_LAN policy<{'riscv64': 'm'}> +CONFIG_FUSION_LOGGING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> GNSS receiver support +CONFIG_GNSS policy<{'riscv64': 'm'}> +CONFIG_GNSS_MTK_SERIAL policy<{'riscv64': 'm'}> +CONFIG_GNSS_SIRF_SERIAL policy<{'riscv64': 'm'}> +CONFIG_GNSS_UBX_SERIAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support +CONFIG_GPIOLIB policy<{'riscv64': 'y'}> +CONFIG_GPIOLIB_FASTPATH_LIMIT policy<{'riscv64': '512'}> +CONFIG_DEBUG_GPIO policy<{'riscv64': 'n'}> +CONFIG_GPIO_SYSFS policy<{'riscv64': 'y'}> +CONFIG_GPIO_AGGREGATOR policy<{'riscv64': 'm'}> +CONFIG_GPIO_MOCKUP policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> GPIO Support >> I2C GPIO expanders +CONFIG_GPIO_ADP5588 policy<{'riscv64': 'm'}> +CONFIG_GPIO_ADNP policy<{'riscv64': 'm'}> +CONFIG_GPIO_GW_PLD policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX7300 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX732X policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCA953X policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCA953X_IRQ policy<{'riscv64': 'y'}> +CONFIG_GPIO_PCF857X policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPIC2810 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> MFD GPIO expanders +CONFIG_GPIO_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_GPIO_ARIZONA policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD70528 policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD71828 policy<{'riscv64': 'm'}> +CONFIG_GPIO_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_GPIO_DA9052 policy<{'riscv64': 'm'}> +CONFIG_GPIO_DA9055 policy<{'riscv64': 'm'}> +CONFIG_GPIO_DLN2 policy<{'riscv64': 'm'}> +CONFIG_GPIO_JANZ_TTL policy<{'riscv64': 'm'}> +CONFIG_GPIO_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP3943 policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP873X policy<{'riscv64': 'm'}> +CONFIG_GPIO_LP87565 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MADERA policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PALMAS policy<{'riscv64': 'y'}> +CONFIG_GPIO_RC5T583 policy<{'riscv64': 'y'}> +CONFIG_GPIO_STMPE policy<{'riscv64': 'y'}> +CONFIG_GPIO_TC3589X policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TPS6586X policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65910 policy<{'riscv64': 'y'}> +CONFIG_GPIO_TPS65912 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_GPIO_TWL6040 policy<{'riscv64': 'm'}> +CONFIG_GPIO_UCB1400 policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM831X policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM8350 policy<{'riscv64': 'm'}> +CONFIG_GPIO_WM8994 policy<{'riscv64': 'm'}> +# +CONFIG_GPIO_TWL4030 mark note + +# Menu: Device Drivers >> GPIO Support >> Memory mapped GPIO drivers +CONFIG_GPIO_74XX_MMIO policy<{'riscv64': 'm'}> +CONFIG_GPIO_ALTERA policy<{'riscv64': 'm'}> +CONFIG_GPIO_CADENCE policy<{'riscv64': 'm'}> +CONFIG_GPIO_DWAPB policy<{'riscv64': 'm'}> +CONFIG_GPIO_EXAR policy<{'riscv64': 'm'}> +CONFIG_GPIO_FTGPIO010 policy<{'riscv64': 'y'}> +CONFIG_GPIO_GENERIC_PLATFORM policy<{'riscv64': 'y'}> +CONFIG_GPIO_GRGPIO policy<{'riscv64': 'm'}> +CONFIG_GPIO_HLWD policy<{'riscv64': 'm'}> +CONFIG_GPIO_LOGICVC policy<{'riscv64': 'm'}> +CONFIG_GPIO_MB86S7X policy<{'riscv64': 'm'}> +CONFIG_GPIO_MENZ127 policy<{'riscv64': 'm'}> +CONFIG_GPIO_SAMA5D2_PIOBU policy<{'riscv64': 'm'}> +CONFIG_GPIO_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_GPIO_SIOX policy<{'riscv64': 'm'}> +CONFIG_GPIO_SYSCON policy<{'riscv64': 'm'}> +CONFIG_GPIO_WCD934X policy<{'riscv64': 'm'}> +CONFIG_GPIO_XILINX policy<{'riscv64': 'n'}> +CONFIG_GPIO_AMD_FCH policy<{'riscv64': 'n'}> +# +CONFIG_GPIO_EM note + +# Menu: Device Drivers >> GPIO Support >> PCI GPIO expanders +CONFIG_GPIO_PCI_IDIO_16 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PCIE_IDIO_24 policy<{'riscv64': 'm'}> +CONFIG_GPIO_RDC321X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> Port-mapped I/O GPIO drivers + +# Menu: Device Drivers >> GPIO Support >> SPI GPIO expanders +CONFIG_GPIO_74X164 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX3191X policy<{'riscv64': 'm'}> +CONFIG_GPIO_MAX7301 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MC33880 policy<{'riscv64': 'm'}> +CONFIG_GPIO_PISOSR policy<{'riscv64': 'm'}> +CONFIG_GPIO_XRA1403 policy<{'riscv64': 'm'}> +CONFIG_GPIO_MOXTET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> USB GPIO expanders +CONFIG_GPIO_VIPERBOARD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Generic Driver Options +CONFIG_UEVENT_HELPER policy<{'riscv64': 'y'}> +CONFIG_UEVENT_HELPER_PATH policy<{'riscv64': '""'}> +CONFIG_DEVTMPFS policy<{'riscv64': 'y'}> +CONFIG_DEVTMPFS_MOUNT policy<{'riscv64': 'y'}> +CONFIG_STANDALONE policy<{'riscv64': 'y'}> +CONFIG_PREVENT_FIRMWARE_BUILD policy<{'riscv64': 'y'}> +CONFIG_ALLOW_DEV_COREDUMP policy<{'riscv64': 'y'}> +CONFIG_DEBUG_DRIVER policy<{'riscv64': 'n'}> +CONFIG_DEBUG_DEVRES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_TEST_DRIVER_REMOVE policy<{'riscv64': 'n'}> +CONFIG_TEST_ASYNC_DRIVER_PROBE policy<{'riscv64': 'n'}> +CONFIG_DMA_FENCE_TRACE policy<{'riscv64': 'n'}> +# +CONFIG_DEVTMPFS note note +CONFIG_DEVTMPFS_MOUNT note note + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader >> Firmware loading facility +CONFIG_FW_LOADER policy<{'riscv64': 'y'}> +CONFIG_EXTRA_FIRMWARE policy<{'riscv64': '""'}> +CONFIG_FW_LOADER_USER_HELPER policy<{'riscv64': 'y'}> +CONFIG_FW_LOADER_USER_HELPER_FALLBACK policy<{'riscv64': 'n'}> +CONFIG_FW_LOADER_COMPRESS policy<{'riscv64': 'y'}> +# +CONFIG_FW_LOADER_USER_HELPER_FALLBACK mark note + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support +CONFIG_PM_DEVFREQ policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PERFORMANCE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_POWERSAVE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_USERSPACE policy<{'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PASSIVE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support >> DEVFREQ-Event device Support +CONFIG_PM_DEVFREQ_EVENT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Generic Target Core Mod (TCM) and ConfigFS Infrastructure +CONFIG_TARGET_CORE policy<{'riscv64': 'm'}> +CONFIG_TCM_IBLOCK policy<{'riscv64': 'm'}> +CONFIG_TCM_FILEIO policy<{'riscv64': 'm'}> +CONFIG_TCM_PSCSI policy<{'riscv64': 'm'}> +CONFIG_TCM_USER2 policy<{'riscv64': 'm'}> +CONFIG_LOOPBACK_TARGET policy<{'riscv64': 'm'}> +CONFIG_TCM_FC policy<{'riscv64': 'm'}> +CONFIG_ISCSI_TARGET policy<{'riscv64': 'm'}> +CONFIG_ISCSI_TARGET_CXGB4 policy<{'riscv64': 'm'}> +CONFIG_SBP_TARGET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Generic powercap sysfs driver +CONFIG_POWERCAP policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support +CONFIG_VGA_ARB policy<{'riscv64': 'y'}> +CONFIG_VGA_ARB_MAX_GPUS policy<{'riscv64': '16'}> +CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> /dev/agpgart (AGP Support) +# +CONFIG_AGP note flag + +# Menu: Device Drivers >> Graphics support >> ARM devices +CONFIG_DRM_KOMEDA policy<{'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<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_GENERIC policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3533 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PWM policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_DA903X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_DA9052 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_QCOM_WLED policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_WM831X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP8860 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ADP8870 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_88PM860X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_AAT2870 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3630A policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LM3639 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LP855X policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LP8788 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_PANDORA policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_AS3711 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_GPIO policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LV5207LP policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_BD6107 policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_ARCXCNN policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_RAVE_SP policy<{'riscv64': 'm'}> +CONFIG_BACKLIGHT_LED policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Backlight & LCD device support >> Lowlevel LCD controls +CONFIG_LCD_CLASS_DEVICE policy<{'riscv64': 'm'}> +CONFIG_LCD_L4F00242T03 policy<{'riscv64': 'm'}> +CONFIG_LCD_LMS283GF05 policy<{'riscv64': 'm'}> +CONFIG_LCD_LTV350QV policy<{'riscv64': 'm'}> +CONFIG_LCD_ILI922X policy<{'riscv64': 'm'}> +CONFIG_LCD_ILI9320 policy<{'riscv64': 'm'}> +CONFIG_LCD_TDO24M policy<{'riscv64': 'm'}> +CONFIG_LCD_VGG2432A4 policy<{'riscv64': 'm'}> +CONFIG_LCD_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_LCD_AMS369FG06 policy<{'riscv64': 'm'}> +CONFIG_LCD_LMS501KF03 policy<{'riscv64': 'm'}> +CONFIG_LCD_HX8357 policy<{'riscv64': 'm'}> +CONFIG_LCD_OTM3225A policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Bootup logo +CONFIG_LOGO policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support +CONFIG_VGA_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_DUMMY_CONSOLE_COLUMNS policy<{'riscv64': '80'}> +CONFIG_DUMMY_CONSOLE_ROWS policy<{'riscv64': '25'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support >> Framebuffer Console support +CONFIG_FRAMEBUFFER_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION policy<{'riscv64': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) +CONFIG_DRM policy<{'riscv64': 'm'}> +CONFIG_DRM_DP_AUX_CHARDEV policy<{'riscv64': 'y'}> +CONFIG_DRM_DEBUG_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_DRM_FBDEV_EMULATION policy<{'riscv64': 'y'}> +CONFIG_DRM_FBDEV_OVERALLOC policy<{'riscv64': '100'}> +CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM policy<{'riscv64': 'n'}> +CONFIG_DRM_LOAD_EDID_FIRMWARE policy<{'riscv64': 'y'}> +CONFIG_DRM_DP_CEC policy<{'riscv64': 'y'}> +CONFIG_DRM_RADEON policy<{'riscv64': 'm'}> +CONFIG_DRM_RADEON_USERPTR policy<{'riscv64': 'n'}> +CONFIG_DRM_VGEM policy<{'riscv64': 'm'}> +CONFIG_DRM_VKMS policy<{'riscv64': 'm'}> +CONFIG_DRM_UDL policy<{'riscv64': 'm'}> +CONFIG_DRM_AST policy<{'riscv64': 'm'}> +CONFIG_DRM_MGAG200 policy<{'riscv64': 'm'}> +CONFIG_DRM_RCAR_DW_HDMI policy<{'riscv64': 'm'}> +CONFIG_DRM_RCAR_LVDS policy<{'riscv64': 'n'}> +CONFIG_DRM_QXL policy<{'riscv64': 'm'}> +CONFIG_DRM_BOCHS policy<{'riscv64': 'm'}> +CONFIG_DRM_VIRTIO_GPU policy<{'riscv64': 'm'}> +CONFIG_DRM_ETNAVIV policy<{'riscv64': 'n'}> +CONFIG_DRM_ARCPGU policy<{'riscv64': 'm'}> +CONFIG_DRM_MXSFB policy<{'riscv64': 'm'}> +CONFIG_DRM_CIRRUS_QEMU policy<{'riscv64': 'm'}> +CONFIG_DRM_GM12U320 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_HX8357D policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9225 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9341 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ILI9486 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_MI0283QT policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_REPAPER policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ST7586 policy<{'riscv64': 'm'}> +CONFIG_TINYDRM_ST7735R policy<{'riscv64': 'm'}> +# +CONFIG_DRM_MGAG200 note +CONFIG_DRM_STI note +CONFIG_DRM_VBOXVIDEO note flag + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> AMD GPU +CONFIG_DRM_AMDGPU policy<{'riscv64': 'm'}> +CONFIG_DRM_AMDGPU_SI policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_CIK policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_USERPTR policy<{'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_GART_DEBUGFS policy<{'riscv64': 'n'}> +# +CONFIG_DRM_AMDGPU_CIK note +CONFIG_DRM_AMDGPU_CIK 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<{'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<{'riscv64': 'y'}> +CONFIG_DRM_AMD_DC_HDCP policy<{'riscv64': 'y'}> +CONFIG_DEBUG_KERNEL_DC policy<{'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 + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Freescale i.MX + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Rockchip + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Samsung SoC Exynos Series + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Interface Bridges +CONFIG_DRM_CDNS_DSI policy<{'riscv64': 'm'}> +CONFIG_DRM_CHRONTEL_CH7033 policy<{'riscv64': 'm'}> +CONFIG_DRM_DISPLAY_CONNECTOR policy<{'riscv64': 'm'}> +CONFIG_DRM_LVDS_CODEC policy<{'riscv64': 'm'}> +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW policy<{'riscv64': 'm'}> +CONFIG_DRM_NWL_MIPI_DSI policy<{'riscv64': 'm'}> +CONFIG_DRM_NXP_PTN3460 policy<{'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8622 policy<{'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8640 policy<{'riscv64': 'm'}> +CONFIG_DRM_SIL_SII8620 policy<{'riscv64': 'm'}> +CONFIG_DRM_SII902X policy<{'riscv64': 'm'}> +CONFIG_DRM_SII9234 policy<{'riscv64': 'm'}> +CONFIG_DRM_SIMPLE_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_DRM_THINE_THC63LVD1024 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358764 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358767 policy<{'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358768 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_TFP410 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_SN65DSI86 policy<{'riscv64': 'm'}> +CONFIG_DRM_TI_TPD12S015 policy<{'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX6345 policy<{'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX78XX policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511 policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511_AUDIO policy<{'riscv64': 'y'}> +CONFIG_DRM_I2C_ADV7511_CEC policy<{'riscv64': 'y'}> +CONFIG_DRM_DW_HDMI_AHB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_I2S_AUDIO policy<{'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_CEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Panels +CONFIG_DRM_PANEL_ARM_VERSATILE policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_HIMAX8279D policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LVDS policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ELIDA_KD35T133 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_IL9322 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_ILI9881C policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_INNOLUX_P079ZCA policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_JDI_LT070ME05000 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_LD9040 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LB035Q02 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LG4573 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NEC_NL8048HL11 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT35510 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT39016 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ORISETECH_OTM8009A policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM67191 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM68200 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_RONBO_RB070D30 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SEIKO_43WVF1G policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS037V7DW01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS043T1LE01 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7701 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7789V policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX424AKP policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX565AKM policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD028TTEC1 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD043MTEA1 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TPG110 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_VISIONOX_RM69299 policy<{'riscv64': 'm'}> +CONFIG_DRM_PANEL_XINPENG_XPP055C272 policy<{'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<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_DRM_I2C_SIL164 policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_NXP_TDA998X policy<{'riscv64': 'm'}> +CONFIG_DRM_I2C_NXP_TDA9950 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics + +# 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 + +# 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 + +# 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) >> Intel GMA5/600 KMS Framebuffer + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM + +# 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 + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Nouveau (NVIDIA) cards +CONFIG_DRM_NOUVEAU policy<{'riscv64': 'm'}> +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT policy<{'riscv64': 'n'}> +CONFIG_NOUVEAU_DEBUG policy<{'riscv64': '5'}> +CONFIG_NOUVEAU_DEBUG_DEFAULT policy<{'riscv64': '3'}> +CONFIG_NOUVEAU_DEBUG_MMU policy<{'riscv64': 'n'}> +CONFIG_DRM_NOUVEAU_BACKLIGHT policy<{'riscv64': 'y'}> +# +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) >> OMAP2+ Display Subsystem support + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> OMAPDRM External Display Device Drivers + +# 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<{'riscv64': 'y'}> +CONFIG_FIRMWARE_EDID policy<{'riscv64': 'y'}> +CONFIG_FB_MODE_HELPERS policy<{'riscv64': 'y'}> +CONFIG_FB_TILEBLITTING policy<{'riscv64': 'y'}> +CONFIG_FB_CIRRUS policy<{'riscv64': 'm'}> +CONFIG_FB_PM2 policy<{'riscv64': 'm'}> +CONFIG_FB_PM2_FIFO_DISCONNECT policy<{'riscv64': 'y'}> +CONFIG_FB_CYBER2000 policy<{'riscv64': 'm'}> +CONFIG_FB_CYBER2000_DDC policy<{'riscv64': 'y'}> +CONFIG_FB_ASILIANT policy<{'riscv64': 'y'}> +CONFIG_FB_IMSTT policy<{'riscv64': 'y'}> +CONFIG_FB_UVESA policy<{'riscv64': 'm'}> +CONFIG_FB_OPENCORES policy<{'riscv64': 'm'}> +CONFIG_FB_S1D13XXX policy<{'riscv64': 'm'}> +CONFIG_FB_I740 policy<{'riscv64': 'm'}> +CONFIG_FB_ATY128 policy<{'riscv64': 'm'}> +CONFIG_FB_ATY128_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_FB_S3 policy<{'riscv64': 'm'}> +CONFIG_FB_S3_DDC policy<{'riscv64': 'y'}> +CONFIG_FB_SAVAGE policy<{'riscv64': 'm'}> +CONFIG_FB_SAVAGE_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_SAVAGE_ACCEL policy<{'riscv64': 'n'}> +CONFIG_FB_SIS policy<{'riscv64': 'm'}> +CONFIG_FB_SIS_300 policy<{'riscv64': 'y'}> +CONFIG_FB_SIS_315 policy<{'riscv64': 'y'}> +CONFIG_FB_NEOMAGIC policy<{'riscv64': 'm'}> +CONFIG_FB_KYRO policy<{'riscv64': 'm'}> +CONFIG_FB_3DFX policy<{'riscv64': 'm'}> +CONFIG_FB_3DFX_ACCEL policy<{'riscv64': 'n'}> +CONFIG_FB_3DFX_I2C policy<{'riscv64': 'n'}> +CONFIG_FB_VOODOO1 policy<{'riscv64': 'm'}> +CONFIG_FB_VT8623 policy<{'riscv64': 'm'}> +CONFIG_FB_TRIDENT policy<{'riscv64': 'm'}> +CONFIG_FB_ARK policy<{'riscv64': 'm'}> +CONFIG_FB_PM3 policy<{'riscv64': 'm'}> +CONFIG_FB_CARMINE policy<{'riscv64': 'm'}> +CONFIG_FB_SM501 policy<{'riscv64': 'm'}> +CONFIG_FB_SMSCUFX policy<{'riscv64': 'm'}> +CONFIG_FB_UDL policy<{'riscv64': 'm'}> +CONFIG_FB_IBM_GXT4500 policy<{'riscv64': 'n'}> +CONFIG_FB_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_FB_VIRTUAL policy<{'riscv64': 'n'}> +CONFIG_FB_METRONOME policy<{'riscv64': 'm'}> +CONFIG_FB_MB862XX policy<{'riscv64': 'm'}> +CONFIG_FB_MB862XX_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_SIMPLE policy<{'riscv64': 'y'}> +CONFIG_FB_SSD1307 policy<{'riscv64': 'm'}> +CONFIG_FB_SM712 policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_FB_ATY_CT policy<{'riscv64': 'y'}> +CONFIG_FB_ATY_GENERIC_LCD policy<{'riscv64': 'n'}> +CONFIG_FB_ATY_GX policy<{'riscv64': 'y'}> +CONFIG_FB_ATY_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> ATI Radeon display support +CONFIG_FB_RADEON policy<{'riscv64': 'm'}> +CONFIG_FB_RADEON_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_RADEON_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_FB_RADEON_DEBUG policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'y'}> +CONFIG_CARMINE_DRAM_CUSTOM policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Framebuffer foreign endianness support +CONFIG_FB_FOREIGN_ENDIAN policy<{'riscv64': '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<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Matrox acceleration +CONFIG_FB_MATROX policy<{'riscv64': 'm'}> +CONFIG_FB_MATROX_MILLENIUM policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_MYSTIQUE policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_G policy<{'riscv64': 'y'}> +CONFIG_FB_MATROX_I2C policy<{'riscv64': 'm'}> +CONFIG_FB_MATROX_MAVEN policy<{'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 + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> OMAP2+ frame buffer support >> OMAPFB Panel and Encoder Drivers + +# 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<{'riscv64': 'm'}> +CONFIG_FB_NVIDIA_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_NVIDIA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FB_NVIDIA_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> nVidia Riva support +CONFIG_FB_RIVA policy<{'riscv64': 'm'}> +CONFIG_FB_RIVA_I2C policy<{'riscv64': 'y'}> +CONFIG_FB_RIVA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FB_RIVA_BACKLIGHT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Greybus support +CONFIG_GREYBUS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> HDMI CEC drivers +CONFIG_MEDIA_CEC_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_PULSE8_CEC policy<{'riscv64': 'm'}> +CONFIG_USB_RAINSHADOW_CEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support + +# Menu: Device Drivers >> HID support >> HID bus support +CONFIG_HID policy<{'riscv64': 'm'}> +CONFIG_HID_BATTERY_STRENGTH policy<{'riscv64': 'y'}> +CONFIG_HIDRAW policy<{'riscv64': 'y'}> +CONFIG_UHID policy<{'riscv64': 'm'}> +CONFIG_HID_GENERIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers +CONFIG_HID_A4TECH policy<{'riscv64': 'm'}> +CONFIG_HID_ACCUTOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_ACRUX policy<{'riscv64': 'm'}> +CONFIG_HID_ACRUX_FF policy<{'riscv64': 'y'}> +CONFIG_HID_APPLE policy<{'riscv64': 'm'}> +CONFIG_HID_APPLEIR policy<{'riscv64': 'm'}> +CONFIG_HID_ASUS policy<{'riscv64': 'm'}> +CONFIG_HID_AUREAL policy<{'riscv64': 'm'}> +CONFIG_HID_BELKIN policy<{'riscv64': 'm'}> +CONFIG_HID_BETOP_FF policy<{'riscv64': 'm'}> +CONFIG_HID_BIGBEN_FF policy<{'riscv64': 'm'}> +CONFIG_HID_CHERRY policy<{'riscv64': 'm'}> +CONFIG_HID_CHICONY policy<{'riscv64': 'm'}> +CONFIG_HID_CORSAIR policy<{'riscv64': 'm'}> +CONFIG_HID_COUGAR policy<{'riscv64': 'm'}> +CONFIG_HID_MACALLY policy<{'riscv64': 'm'}> +CONFIG_HID_PRODIKEYS policy<{'riscv64': 'm'}> +CONFIG_HID_CMEDIA policy<{'riscv64': 'm'}> +CONFIG_HID_CP2112 policy<{'riscv64': 'm'}> +CONFIG_HID_CREATIVE_SB0540 policy<{'riscv64': 'm'}> +CONFIG_HID_CYPRESS policy<{'riscv64': 'm'}> +CONFIG_HID_DRAGONRISE policy<{'riscv64': 'm'}> +CONFIG_DRAGONRISE_FF policy<{'riscv64': 'y'}> +CONFIG_HID_EMS_FF policy<{'riscv64': 'm'}> +CONFIG_HID_ELAN policy<{'riscv64': 'm'}> +CONFIG_HID_ELECOM policy<{'riscv64': 'm'}> +CONFIG_HID_ELO policy<{'riscv64': 'm'}> +CONFIG_HID_EZKEY policy<{'riscv64': 'm'}> +CONFIG_HID_GEMBIRD policy<{'riscv64': 'm'}> +CONFIG_HID_GFRM policy<{'riscv64': 'm'}> +CONFIG_HID_GLORIOUS policy<{'riscv64': 'm'}> +CONFIG_HID_HOLTEK policy<{'riscv64': 'm'}> +CONFIG_HOLTEK_FF policy<{'riscv64': 'y'}> +CONFIG_HID_GT683R policy<{'riscv64': 'm'}> +CONFIG_HID_KEYTOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_KYE policy<{'riscv64': 'm'}> +CONFIG_HID_UCLOGIC policy<{'riscv64': 'm'}> +CONFIG_HID_WALTOP policy<{'riscv64': 'm'}> +CONFIG_HID_VIEWSONIC policy<{'riscv64': 'm'}> +CONFIG_HID_GYRATION policy<{'riscv64': 'm'}> +CONFIG_HID_ICADE policy<{'riscv64': 'm'}> +CONFIG_HID_ITE policy<{'riscv64': 'm'}> +CONFIG_HID_JABRA policy<{'riscv64': 'm'}> +CONFIG_HID_TWINHAN policy<{'riscv64': 'm'}> +CONFIG_HID_KENSINGTON policy<{'riscv64': 'm'}> +CONFIG_HID_LCPOWER policy<{'riscv64': 'm'}> +CONFIG_HID_LED policy<{'riscv64': 'm'}> +CONFIG_HID_LENOVO policy<{'riscv64': 'm'}> +CONFIG_HID_MAGICMOUSE policy<{'riscv64': 'm'}> +CONFIG_HID_MALTRON policy<{'riscv64': 'm'}> +CONFIG_HID_MAYFLASH policy<{'riscv64': 'm'}> +CONFIG_HID_REDRAGON policy<{'riscv64': 'm'}> +CONFIG_HID_MICROSOFT policy<{'riscv64': 'm'}> +CONFIG_HID_MONTEREY policy<{'riscv64': 'm'}> +CONFIG_HID_MULTITOUCH policy<{'riscv64': 'm'}> +CONFIG_HID_NTI policy<{'riscv64': 'm'}> +CONFIG_HID_NTRIG policy<{'riscv64': 'm'}> +CONFIG_HID_ORTEK policy<{'riscv64': 'm'}> +CONFIG_HID_PANTHERLORD policy<{'riscv64': 'm'}> +CONFIG_PANTHERLORD_FF policy<{'riscv64': 'y'}> +CONFIG_HID_PENMOUNT policy<{'riscv64': 'm'}> +CONFIG_HID_PETALYNX policy<{'riscv64': 'm'}> +CONFIG_HID_PLANTRONICS policy<{'riscv64': 'm'}> +CONFIG_HID_PRIMAX policy<{'riscv64': 'm'}> +CONFIG_HID_RETRODE policy<{'riscv64': 'm'}> +CONFIG_HID_ROCCAT policy<{'riscv64': 'm'}> +CONFIG_HID_SAITEK policy<{'riscv64': 'm'}> +CONFIG_HID_SAMSUNG policy<{'riscv64': 'm'}> +CONFIG_HID_SONY policy<{'riscv64': 'm'}> +CONFIG_SONY_FF policy<{'riscv64': 'y'}> +CONFIG_HID_SPEEDLINK policy<{'riscv64': 'm'}> +CONFIG_HID_STEAM policy<{'riscv64': 'm'}> +CONFIG_HID_STEELSERIES policy<{'riscv64': 'm'}> +CONFIG_HID_SUNPLUS policy<{'riscv64': 'm'}> +CONFIG_HID_RMI policy<{'riscv64': 'm'}> +CONFIG_HID_GREENASIA policy<{'riscv64': 'm'}> +CONFIG_GREENASIA_FF policy<{'riscv64': 'y'}> +CONFIG_HID_SMARTJOYPLUS policy<{'riscv64': 'm'}> +CONFIG_SMARTJOYPLUS_FF policy<{'riscv64': 'y'}> +CONFIG_HID_TIVO policy<{'riscv64': 'm'}> +CONFIG_HID_TOPSEED policy<{'riscv64': 'm'}> +CONFIG_HID_THINGM policy<{'riscv64': 'm'}> +CONFIG_HID_THRUSTMASTER policy<{'riscv64': 'm'}> +CONFIG_THRUSTMASTER_FF policy<{'riscv64': 'y'}> +CONFIG_HID_UDRAW_PS3 policy<{'riscv64': 'm'}> +CONFIG_HID_U2FZERO policy<{'riscv64': 'm'}> +CONFIG_HID_WACOM policy<{'riscv64': 'm'}> +CONFIG_HID_WIIMOTE policy<{'riscv64': 'm'}> +CONFIG_HID_XINMO policy<{'riscv64': 'm'}> +CONFIG_HID_ZEROPLUS policy<{'riscv64': 'm'}> +CONFIG_ZEROPLUS_FF policy<{'riscv64': 'y'}> +CONFIG_HID_ZYDACRON policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_HUB policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_CUSTOM_SENSOR policy<{'riscv64': 'm'}> +CONFIG_HID_ALPS policy<{'riscv64': 'm'}> +CONFIG_HID_MCP2221 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> Logitech devices +CONFIG_HID_LOGITECH policy<{'riscv64': 'm'}> +CONFIG_HID_LOGITECH_DJ policy<{'riscv64': 'm'}> +CONFIG_HID_LOGITECH_HIDPP policy<{'riscv64': 'm'}> +CONFIG_LOGITECH_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIRUMBLEPAD2_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIG940_FF policy<{'riscv64': 'y'}> +CONFIG_LOGIWHEELS_FF policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> PicoLCD (graphic version) +CONFIG_HID_PICOLCD policy<{'riscv64': 'm'}> +CONFIG_HID_PICOLCD_FB policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_BACKLIGHT policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LCD policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LEDS policy<{'riscv64': 'y'}> +CONFIG_HID_PICOLCD_CIR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> I2C HID support +CONFIG_I2C_HID policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> Intel ISH HID support + +# Menu: Device Drivers >> HID support >> USB HID support +CONFIG_USB_HID policy<{'riscv64': 'm'}> +CONFIG_HID_PID policy<{'riscv64': 'y'}> +CONFIG_USB_HIDDEV policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> USB HID support >> USB HID Boot Protocol drivers +CONFIG_USB_KBD policy<{'riscv64': 'm'}> +CONFIG_USB_MOUSE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HSI support +CONFIG_HSI policy<{'riscv64': 'm'}> +CONFIG_HSI_CHAR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> HW tracing support + +# Menu: Device Drivers >> HW tracing support >> Intel(R) Trace Hub controller +CONFIG_INTEL_TH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_PCI policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_GTH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_STH policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_MSU policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_PTI policy<{'riscv64': 'm'}> +CONFIG_INTEL_TH_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> HW tracing support >> System Trace Module devices +CONFIG_STM policy<{'riscv64': 'm'}> +CONFIG_STM_PROTO_BASIC policy<{'riscv64': 'm'}> +CONFIG_STM_PROTO_SYS_T policy<{'riscv64': 'm'}> +CONFIG_STM_DUMMY policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_CONSOLE policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_HEARTBEAT policy<{'riscv64': 'm'}> +CONFIG_STM_SOURCE_FTRACE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support +CONFIG_HWMON policy<{'riscv64': 'y'}> +CONFIG_HWMON_DEBUG_CHIP policy<{'riscv64': 'n'}> +CONFIG_SENSORS_AD7314 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AD7414 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AD7418 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1021 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1025 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1026 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1029 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1031 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1177 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM9240 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7310 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7410 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7411 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7462 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7470 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADT7475 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AS370 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ASC7621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AXI_FAN_CONTROL policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ASPEED policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ATXP1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DRIVETEMP policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DS620 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DS1621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DA9052_ADC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DA9055 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_I5K_AMB policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F71805F policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F71882FG policy<{'riscv64': 'm'}> +CONFIG_SENSORS_F75375S policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GSC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MC13783_ADC policy<{'riscv64': 'm'}> +CONFIG_SENSORS_FTSTEUTATES policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GL518SM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GL520SM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_G760A policy<{'riscv64': 'm'}> +CONFIG_SENSORS_G762 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_GPIO_FAN policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HIH6130 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBMAEM policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBMPEX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IIO_HWMON policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IT87 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_JC42 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_POWR1220 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LINEAGE policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2945 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2947_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2947_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2990 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4151 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4215 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4222 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4245 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4260 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC4261 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1111 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16065 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1619 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX1668 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX197 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31722 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31730 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6621 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6639 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6642 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6650 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX6697 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31790 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MCP3021 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TC654 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MENF21BMC_HWMON policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADCXX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM63 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM70 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM73 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM75 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM77 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM78 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM80 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM83 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM85 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM87 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM90 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM92 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM93 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95234 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95241 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM95245 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PC87360 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PC87427 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NTC_THERMISTOR policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT6683 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT6775 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT7802 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NCT7904 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_NPCM7XX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PCF8591 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PWM_FAN policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT15 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT21 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHT3x policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SHTC1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SIS5595 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_DME1737 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC1403 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC2103 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_EMC6W201 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47M1 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47M192 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMSC47B397 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SCH5627 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SCH5636 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_STTS751 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_SMM665 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADC128D818 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADS7828 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADS7871 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_AMC6821 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA209 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA2XX policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INA3221 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TC74 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_THMC50 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP102 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP103 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP108 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP401 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP421 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TMP513 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VIA686A policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VT1211 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_VT8231 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83773G policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83781D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83791D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83792D policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83793 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83795 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83795_FANCTRL policy<{'riscv64': 'n'}> +CONFIG_SENSORS_W83L785TS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83L786NG policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83627HF policy<{'riscv64': 'm'}> +CONFIG_SENSORS_W83627EHF policy<{'riscv64': 'm'}> +CONFIG_SENSORS_WM831X policy<{'riscv64': 'm'}> +CONFIG_SENSORS_WM8350 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support >> PMBus support +CONFIG_PMBUS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PMBUS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ADM1275 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_BEL_PFE policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IBM_CFFPS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_INSPUR_IPSPS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IR35221 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IR38064 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_IRPS5401 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL68137 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM25066 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978_REGULATOR policy<{'riscv64': 'y'}> +CONFIG_SENSORS_LTC3815 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16064 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX16601 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX20730 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX20751 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX31785 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX34440 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_MAX8688 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_PXE1610 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TPS40422 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TPS53679 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_UCD9000 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_UCD9200 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_XDPE122 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ZL6100 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Spinlock drivers +CONFIG_HWSPINLOCK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> I2C support + +# Menu: Device Drivers >> I2C support >> I2C support +CONFIG_I2C policy<{'riscv64': 'y'}> +CONFIG_I2C_COMPAT policy<{'riscv64': 'y'}> +CONFIG_I2C_CHARDEV policy<{'riscv64': 'y'}> +CONFIG_I2C_MUX policy<{'riscv64': 'm'}> +CONFIG_I2C_HELPER_AUTO policy<{'riscv64': 'y'}> +CONFIG_I2C_SMBUS policy<{'riscv64': 'm'}> +CONFIG_I2C_STUB policy<{'riscv64': 'm'}> +CONFIG_I2C_SLAVE policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_CORE policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_ALGO policy<{'riscv64': 'n'}> +CONFIG_I2C_DEBUG_BUS policy<{'riscv64': 'n'}> +# +CONFIG_I2C_CHARDEV note + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Algorithms +CONFIG_I2C_ALGOBIT policy<{'riscv64': 'm'}> +CONFIG_I2C_ALGOPCA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Hardware Bus support +CONFIG_I2C_ALI1535 policy<{'riscv64': 'm'}> +CONFIG_I2C_ALI1563 policy<{'riscv64': 'm'}> +CONFIG_I2C_ALI15X3 policy<{'riscv64': 'm'}> +CONFIG_I2C_AMD756 policy<{'riscv64': 'm'}> +CONFIG_I2C_AMD8111 policy<{'riscv64': 'm'}> +CONFIG_I2C_I801 policy<{'riscv64': 'm'}> +CONFIG_I2C_ISCH policy<{'riscv64': 'm'}> +CONFIG_I2C_PIIX4 policy<{'riscv64': 'm'}> +CONFIG_I2C_NFORCE2 policy<{'riscv64': 'm'}> +CONFIG_I2C_NVIDIA_GPU policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS5595 policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS630 policy<{'riscv64': 'm'}> +CONFIG_I2C_SIS96X policy<{'riscv64': 'm'}> +CONFIG_I2C_VIA policy<{'riscv64': 'm'}> +CONFIG_I2C_VIAPRO policy<{'riscv64': 'm'}> +CONFIG_I2C_CBUS_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_DESIGNWARE_PLATFORM policy<{'riscv64': 'y'}> +CONFIG_I2C_DESIGNWARE_SLAVE policy<{'riscv64': 'n'}> +CONFIG_I2C_DESIGNWARE_PCI policy<{'riscv64': 'm'}> +CONFIG_I2C_EMEV2 policy<{'riscv64': 'n'}> +CONFIG_I2C_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_GPIO_FAULT_INJECTOR policy<{'riscv64': 'n'}> +CONFIG_I2C_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_I2C_OCORES policy<{'riscv64': 'm'}> +CONFIG_I2C_PCA_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_I2C_RK3X policy<{'riscv64': 'm'}> +CONFIG_I2C_SIMTEC policy<{'riscv64': 'm'}> +CONFIG_I2C_XILINX policy<{'riscv64': 'm'}> +CONFIG_I2C_DIOLAN_U2C policy<{'riscv64': 'm'}> +CONFIG_I2C_DLN2 policy<{'riscv64': 'm'}> +CONFIG_I2C_PARPORT policy<{'riscv64': 'm'}> +CONFIG_I2C_ROBOTFUZZ_OSIF policy<{'riscv64': 'm'}> +CONFIG_I2C_TAOS_EVM policy<{'riscv64': 'm'}> +CONFIG_I2C_TINY_USB policy<{'riscv64': 'm'}> +CONFIG_I2C_VIPERBOARD policy<{'riscv64': 'm'}> +CONFIG_I2C_FSI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> Multiplexer I2C Chip support +CONFIG_I2C_ARB_GPIO_CHALLENGE policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_GPMUX policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_LTC4306 policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PCA9541 policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PCA954x policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_PINCTRL policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_REG policy<{'riscv64': 'm'}> +CONFIG_I2C_DEMUX_PINCTRL policy<{'riscv64': 'm'}> +CONFIG_I2C_MUX_MLXCPLD policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> I3C support +CONFIG_I3C policy<{'riscv64': 'm'}> +CONFIG_CDNS_I3C_MASTER policy<{'riscv64': 'm'}> +CONFIG_DW_I3C_MASTER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support +CONFIG_FIREWIRE_NOSY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support >> FireWire driver stack +CONFIG_FIREWIRE policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_OHCI policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_SBP2 policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_NET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IOMMU Hardware Support +CONFIG_IOMMU_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_IOMMU_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_IOMMU_DEFAULT_PASSTHROUGH policy<{'riscv64': 'n'}> +# +CONFIG_IPMMU_VMSA note +CONFIG_IOMMU_DEBUGFS mark note + +# Menu: Device Drivers >> IOMMU Hardware Support >> Generic IOMMU Pagetable Support + +# Menu: Device Drivers >> IOMMU Hardware Support >> Support for Intel IOMMU using DMA Remapping Devices +# +CONFIG_INTEL_IOMMU_DEFAULT_ON note flag + +# Menu: Device Drivers >> IRQ chip support +CONFIG_AL_FIC policy<{'riscv64': 'y'}> +CONFIG_RISCV_INTC policy<{'riscv64': 'y'}> +CONFIG_SIFIVE_PLIC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> ISDN support +CONFIG_ISDN policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> ISDN support >> Modular ISDN driver +CONFIG_MISDN policy<{'riscv64': 'm'}> +CONFIG_MISDN_DSP policy<{'riscv64': 'm'}> +CONFIG_MISDN_L1OIP policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCPCI policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCMULTI policy<{'riscv64': 'm'}> +CONFIG_MISDN_HFCUSB policy<{'riscv64': 'm'}> +CONFIG_MISDN_AVMFRITZ policy<{'riscv64': 'm'}> +CONFIG_MISDN_SPEEDFAX policy<{'riscv64': 'm'}> +CONFIG_MISDN_INFINEON policy<{'riscv64': 'm'}> +CONFIG_MISDN_W6692 policy<{'riscv64': 'm'}> +CONFIG_MISDN_NETJET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support +CONFIG_IIO policy<{'riscv64': 'm'}> +CONFIG_IIO_CONFIGFS policy<{'riscv64': 'm'}> +CONFIG_IIO_TRIGGER policy<{'riscv64': 'y'}> +CONFIG_IIO_CONSUMERS_PER_TRIGGER policy<{'riscv64': '2'}> +CONFIG_IIO_SW_DEVICE policy<{'riscv64': 'm'}> +CONFIG_IIO_SW_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Accelerometers +CONFIG_ADIS16201 policy<{'riscv64': 'm'}> +CONFIG_ADIS16209 policy<{'riscv64': 'm'}> +CONFIG_ADXL372_SPI policy<{'riscv64': 'm'}> +CONFIG_ADXL372_I2C policy<{'riscv64': 'm'}> +CONFIG_BMA220 policy<{'riscv64': 'm'}> +CONFIG_BMA400 policy<{'riscv64': 'm'}> +CONFIG_BMC150_ACCEL policy<{'riscv64': 'm'}> +CONFIG_DA280 policy<{'riscv64': 'm'}> +CONFIG_DA311 policy<{'riscv64': 'm'}> +CONFIG_DMARD06 policy<{'riscv64': 'm'}> +CONFIG_DMARD09 policy<{'riscv64': 'm'}> +CONFIG_DMARD10 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_ACCEL_3D policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_ACCEL_3AXIS policy<{'riscv64': 'm'}> +CONFIG_KXSD9 policy<{'riscv64': 'm'}> +CONFIG_KXSD9_SPI policy<{'riscv64': 'm'}> +CONFIG_KXSD9_I2C policy<{'riscv64': 'm'}> +CONFIG_KXCJK1013 policy<{'riscv64': 'm'}> +CONFIG_MC3230 policy<{'riscv64': 'm'}> +CONFIG_MMA7455_I2C policy<{'riscv64': 'm'}> +CONFIG_MMA7455_SPI policy<{'riscv64': 'm'}> +CONFIG_MMA7660 policy<{'riscv64': 'm'}> +CONFIG_MMA8452 policy<{'riscv64': 'm'}> +CONFIG_MMA9551 policy<{'riscv64': 'm'}> +CONFIG_MMA9553 policy<{'riscv64': 'm'}> +CONFIG_MXC4005 policy<{'riscv64': 'm'}> +CONFIG_MXC6255 policy<{'riscv64': 'm'}> +CONFIG_SCA3000 policy<{'riscv64': 'm'}> +CONFIG_STK8312 policy<{'riscv64': 'm'}> +CONFIG_STK8BA50 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Amplifiers +CONFIG_AD8366 policy<{'riscv64': 'm'}> +CONFIG_HMC425 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog Front Ends +CONFIG_IIO_RESCALE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog to digital converters +CONFIG_AD7091R5 policy<{'riscv64': 'm'}> +CONFIG_AD7124 policy<{'riscv64': 'm'}> +CONFIG_AD7192 policy<{'riscv64': 'm'}> +CONFIG_AD7266 policy<{'riscv64': 'm'}> +CONFIG_AD7291 policy<{'riscv64': 'm'}> +CONFIG_AD7292 policy<{'riscv64': 'm'}> +CONFIG_AD7298 policy<{'riscv64': 'm'}> +CONFIG_AD7476 policy<{'riscv64': 'm'}> +CONFIG_AD7606_IFACE_PARALLEL policy<{'riscv64': 'm'}> +CONFIG_AD7606_IFACE_SPI policy<{'riscv64': 'm'}> +CONFIG_AD7766 policy<{'riscv64': 'm'}> +CONFIG_AD7768_1 policy<{'riscv64': 'm'}> +CONFIG_AD7780 policy<{'riscv64': 'm'}> +CONFIG_AD7791 policy<{'riscv64': 'm'}> +CONFIG_AD7793 policy<{'riscv64': 'm'}> +CONFIG_AD7887 policy<{'riscv64': 'm'}> +CONFIG_AD7923 policy<{'riscv64': 'm'}> +CONFIG_AD7949 policy<{'riscv64': 'm'}> +CONFIG_AD799X policy<{'riscv64': 'm'}> +CONFIG_AD9467 policy<{'riscv64': 'm'}> +CONFIG_ADI_AXI_ADC policy<{'riscv64': 'm'}> +CONFIG_AXP20X_ADC policy<{'riscv64': 'm'}> +CONFIG_AXP288_ADC policy<{'riscv64': 'm'}> +CONFIG_CC10001_ADC policy<{'riscv64': 'm'}> +CONFIG_CPCAP_ADC policy<{'riscv64': 'm'}> +CONFIG_DA9150_GPADC policy<{'riscv64': 'm'}> +CONFIG_DLN2_ADC policy<{'riscv64': 'm'}> +CONFIG_ENVELOPE_DETECTOR policy<{'riscv64': 'm'}> +CONFIG_HI8435 policy<{'riscv64': 'm'}> +CONFIG_HX711 policy<{'riscv64': 'm'}> +CONFIG_INA2XX_ADC policy<{'riscv64': 'm'}> +CONFIG_LP8788_ADC policy<{'riscv64': 'm'}> +CONFIG_LTC2471 policy<{'riscv64': 'm'}> +CONFIG_LTC2485 policy<{'riscv64': 'm'}> +CONFIG_LTC2496 policy<{'riscv64': 'm'}> +CONFIG_LTC2497 policy<{'riscv64': 'm'}> +CONFIG_MAX1027 policy<{'riscv64': 'm'}> +CONFIG_MAX11100 policy<{'riscv64': 'm'}> +CONFIG_MAX1118 policy<{'riscv64': 'm'}> +CONFIG_MAX1241 policy<{'riscv64': 'm'}> +CONFIG_MAX1363 policy<{'riscv64': 'm'}> +CONFIG_MAX9611 policy<{'riscv64': 'm'}> +CONFIG_MCP320X policy<{'riscv64': 'm'}> +CONFIG_MCP3422 policy<{'riscv64': 'm'}> +CONFIG_MCP3911 policy<{'riscv64': 'm'}> +CONFIG_MEN_Z188_ADC policy<{'riscv64': 'm'}> +CONFIG_MP2629_ADC policy<{'riscv64': 'm'}> +CONFIG_NAU7802 policy<{'riscv64': 'm'}> +CONFIG_PALMAS_GPADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_IADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_VADC policy<{'riscv64': 'm'}> +CONFIG_QCOM_SPMI_ADC5 policy<{'riscv64': 'm'}> +CONFIG_RN5T618_ADC policy<{'riscv64': 'm'}> +CONFIG_SD_ADC_MODULATOR policy<{'riscv64': 'm'}> +CONFIG_STMPE_ADC policy<{'riscv64': 'm'}> +CONFIG_TI_ADC081C policy<{'riscv64': 'm'}> +CONFIG_TI_ADC0832 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC084S021 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC12138 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC108S102 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC128S052 policy<{'riscv64': 'm'}> +CONFIG_TI_ADC161S626 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS1015 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS7950 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS8344 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS8688 policy<{'riscv64': 'm'}> +CONFIG_TI_ADS124S08 policy<{'riscv64': 'm'}> +CONFIG_TI_AM335X_ADC policy<{'riscv64': 'm'}> +CONFIG_TI_TLC4541 policy<{'riscv64': 'm'}> +CONFIG_TWL4030_MADC policy<{'riscv64': 'm'}> +CONFIG_TWL6030_GPADC policy<{'riscv64': 'm'}> +CONFIG_VF610_ADC policy<{'riscv64': 'm'}> +CONFIG_VIPERBOARD_ADC policy<{'riscv64': 'm'}> +CONFIG_XILINX_XADC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Chemical Sensors +CONFIG_ATLAS_PH_SENSOR policy<{'riscv64': 'm'}> +CONFIG_ATLAS_EZO_SENSOR policy<{'riscv64': 'm'}> +CONFIG_BME680 policy<{'riscv64': 'm'}> +CONFIG_CCS811 policy<{'riscv64': 'm'}> +CONFIG_IAQCORE policy<{'riscv64': 'm'}> +CONFIG_PMS7003 policy<{'riscv64': 'm'}> +CONFIG_SENSIRION_SGP30 policy<{'riscv64': 'm'}> +CONFIG_SPS30 policy<{'riscv64': 'm'}> +CONFIG_VZ89X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital gyroscope sensors +CONFIG_ADIS16080 policy<{'riscv64': 'm'}> +CONFIG_ADIS16130 policy<{'riscv64': 'm'}> +CONFIG_ADIS16136 policy<{'riscv64': 'm'}> +CONFIG_ADIS16260 policy<{'riscv64': 'm'}> +CONFIG_ADXRS450 policy<{'riscv64': 'm'}> +CONFIG_BMG160 policy<{'riscv64': 'm'}> +CONFIG_FXAS21002C policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_GYRO_3D policy<{'riscv64': 'm'}> +CONFIG_MPU3050_I2C policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_GYRO_3AXIS policy<{'riscv64': 'm'}> +CONFIG_ITG3200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiometers +CONFIG_AD5272 policy<{'riscv64': 'm'}> +CONFIG_DS1803 policy<{'riscv64': 'm'}> +CONFIG_MAX5432 policy<{'riscv64': 'm'}> +CONFIG_MAX5481 policy<{'riscv64': 'm'}> +CONFIG_MAX5487 policy<{'riscv64': 'm'}> +CONFIG_MCP4018 policy<{'riscv64': 'm'}> +CONFIG_MCP4131 policy<{'riscv64': 'm'}> +CONFIG_MCP4531 policy<{'riscv64': 'm'}> +CONFIG_MCP41010 policy<{'riscv64': 'm'}> +CONFIG_TPL0102 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiostats +CONFIG_LMP91000 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital to analog converters +CONFIG_AD5064 policy<{'riscv64': 'm'}> +CONFIG_AD5360 policy<{'riscv64': 'm'}> +CONFIG_AD5380 policy<{'riscv64': 'm'}> +CONFIG_AD5421 policy<{'riscv64': 'm'}> +CONFIG_AD5446 policy<{'riscv64': 'm'}> +CONFIG_AD5449 policy<{'riscv64': 'm'}> +CONFIG_AD5592R policy<{'riscv64': 'm'}> +CONFIG_AD5593R policy<{'riscv64': 'm'}> +CONFIG_AD5504 policy<{'riscv64': 'm'}> +CONFIG_AD5624R_SPI policy<{'riscv64': 'm'}> +CONFIG_AD5686_SPI policy<{'riscv64': 'm'}> +CONFIG_AD5696_I2C policy<{'riscv64': 'm'}> +CONFIG_AD5755 policy<{'riscv64': 'm'}> +CONFIG_AD5758 policy<{'riscv64': 'm'}> +CONFIG_AD5761 policy<{'riscv64': 'm'}> +CONFIG_AD5764 policy<{'riscv64': 'm'}> +CONFIG_AD5770R policy<{'riscv64': 'm'}> +CONFIG_AD5791 policy<{'riscv64': 'm'}> +CONFIG_AD7303 policy<{'riscv64': 'm'}> +CONFIG_AD8801 policy<{'riscv64': 'm'}> +CONFIG_DPOT_DAC policy<{'riscv64': 'm'}> +CONFIG_DS4424 policy<{'riscv64': 'm'}> +CONFIG_LTC1660 policy<{'riscv64': 'm'}> +CONFIG_LTC2632 policy<{'riscv64': 'm'}> +CONFIG_M62332 policy<{'riscv64': 'm'}> +CONFIG_MAX517 policy<{'riscv64': 'm'}> +CONFIG_MAX5821 policy<{'riscv64': 'm'}> +CONFIG_MCP4725 policy<{'riscv64': 'm'}> +CONFIG_MCP4922 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC082S085 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC5571 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC7311 policy<{'riscv64': 'm'}> +CONFIG_TI_DAC7612 policy<{'riscv64': 'm'}> +CONFIG_VF610_DAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Enable buffer support within IIO +CONFIG_IIO_BUFFER policy<{'riscv64': 'y'}> +CONFIG_IIO_BUFFER_CB policy<{'riscv64': 'm'}> +CONFIG_IIO_BUFFER_HW_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_IIO_KFIFO_BUF policy<{'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<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Frequency Synthesizers DDS/PLL >> Phase-Locked Loop (PLL) frequency synthesizers +CONFIG_ADF4350 policy<{'riscv64': 'm'}> +CONFIG_ADF4371 policy<{'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<{'riscv64': 'm'}> +CONFIG_AFE4404 policy<{'riscv64': 'm'}> +CONFIG_MAX30100 policy<{'riscv64': 'm'}> +CONFIG_MAX30102 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Hid Sensor IIO Common +CONFIG_HID_SENSOR_IIO_COMMON policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_IIO_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Humidity sensors +CONFIG_AM2315 policy<{'riscv64': 'm'}> +CONFIG_DHT11 policy<{'riscv64': 'm'}> +CONFIG_HDC100X policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_HUMIDITY policy<{'riscv64': 'm'}> +CONFIG_HTS221 policy<{'riscv64': 'm'}> +CONFIG_HTU21 policy<{'riscv64': 'm'}> +CONFIG_SI7005 policy<{'riscv64': 'm'}> +CONFIG_SI7020 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> IIO dummy driver +CONFIG_IIO_SIMPLE_DUMMY policy<{'riscv64': 'm'}> +CONFIG_IIO_SIMPLE_DUMMY_EVENTS policy<{'riscv64': 'n'}> +CONFIG_IIO_SIMPLE_DUMMY_BUFFER policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_DEVICE_ROTATION policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Inertial measurement units +CONFIG_ADIS16400 policy<{'riscv64': 'm'}> +CONFIG_ADIS16460 policy<{'riscv64': 'm'}> +CONFIG_ADIS16475 policy<{'riscv64': 'm'}> +CONFIG_ADIS16480 policy<{'riscv64': 'm'}> +CONFIG_BMI160_I2C policy<{'riscv64': 'm'}> +CONFIG_BMI160_SPI policy<{'riscv64': 'm'}> +CONFIG_FXOS8700_I2C policy<{'riscv64': 'm'}> +CONFIG_FXOS8700_SPI policy<{'riscv64': 'm'}> +CONFIG_KMX61 policy<{'riscv64': 'm'}> +CONFIG_INV_MPU6050_I2C policy<{'riscv64': 'm'}> +CONFIG_INV_MPU6050_SPI policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_LSM6DSX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Light sensors +CONFIG_ADJD_S311 policy<{'riscv64': 'm'}> +CONFIG_ADUX1020 policy<{'riscv64': 'm'}> +CONFIG_AL3010 policy<{'riscv64': 'm'}> +CONFIG_AL3320A policy<{'riscv64': 'm'}> +CONFIG_APDS9300 policy<{'riscv64': 'm'}> +CONFIG_APDS9960 policy<{'riscv64': 'm'}> +CONFIG_BH1750 policy<{'riscv64': 'm'}> +CONFIG_BH1780 policy<{'riscv64': 'm'}> +CONFIG_CM32181 policy<{'riscv64': 'm'}> +CONFIG_CM3232 policy<{'riscv64': 'm'}> +CONFIG_CM3323 policy<{'riscv64': 'm'}> +CONFIG_CM3605 policy<{'riscv64': 'm'}> +CONFIG_CM36651 policy<{'riscv64': 'm'}> +CONFIG_GP2AP002 policy<{'riscv64': 'm'}> +CONFIG_GP2AP020A00F policy<{'riscv64': 'm'}> +CONFIG_IQS621_ALS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL29018 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_ISL29028 policy<{'riscv64': 'm'}> +CONFIG_ISL29125 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_ALS policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_PROX policy<{'riscv64': 'm'}> +CONFIG_JSA1212 policy<{'riscv64': 'm'}> +CONFIG_RPR0521 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LM3533 policy<{'riscv64': 'm'}> +CONFIG_LTR501 policy<{'riscv64': 'm'}> +CONFIG_LV0104CS policy<{'riscv64': 'm'}> +CONFIG_MAX44000 policy<{'riscv64': 'm'}> +CONFIG_MAX44009 policy<{'riscv64': 'm'}> +CONFIG_NOA1305 policy<{'riscv64': 'm'}> +CONFIG_OPT3001 policy<{'riscv64': 'm'}> +CONFIG_PA12203001 policy<{'riscv64': 'm'}> +CONFIG_SI1133 policy<{'riscv64': 'm'}> +CONFIG_SI1145 policy<{'riscv64': 'm'}> +CONFIG_STK3310 policy<{'riscv64': 'm'}> +CONFIG_ST_UVIS25 policy<{'riscv64': 'm'}> +CONFIG_TCS3414 policy<{'riscv64': 'm'}> +CONFIG_TCS3472 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TSL2563 policy<{'riscv64': 'm'}> +CONFIG_TSL2583 policy<{'riscv64': 'm'}> +CONFIG_TSL2772 policy<{'riscv64': 'm'}> +CONFIG_TSL4531 policy<{'riscv64': 'm'}> +CONFIG_US5182D policy<{'riscv64': 'm'}> +CONFIG_VCNL4000 policy<{'riscv64': 'm'}> +CONFIG_VCNL4035 policy<{'riscv64': 'm'}> +CONFIG_VEML6030 policy<{'riscv64': 'm'}> +CONFIG_VEML6070 policy<{'riscv64': 'm'}> +CONFIG_VL6180 policy<{'riscv64': 'm'}> +CONFIG_ZOPT2201 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Lightning sensors +CONFIG_AS3935 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Linear and angular position sensors +CONFIG_IQS624_POS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Magnetometer sensors +CONFIG_AK8974 policy<{'riscv64': 'm'}> +CONFIG_AK8975 policy<{'riscv64': 'm'}> +CONFIG_AK09911 policy<{'riscv64': 'm'}> +CONFIG_BMC150_MAGN_I2C policy<{'riscv64': 'm'}> +CONFIG_BMC150_MAGN_SPI policy<{'riscv64': 'm'}> +CONFIG_MAG3110 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_MAGNETOMETER_3D policy<{'riscv64': 'm'}> +CONFIG_MMC35240 policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_MAGN_3AXIS policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_I2C policy<{'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Multiplexers +CONFIG_IIO_MUX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Pressure sensors +CONFIG_ABP060MG policy<{'riscv64': 'm'}> +CONFIG_BMP280 policy<{'riscv64': 'm'}> +CONFIG_DLHL60D policy<{'riscv64': 'm'}> +CONFIG_DPS310 policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_PRESS policy<{'riscv64': 'm'}> +CONFIG_HP03 policy<{'riscv64': 'm'}> +CONFIG_ICP10100 policy<{'riscv64': 'm'}> +CONFIG_MPL115_I2C policy<{'riscv64': 'm'}> +CONFIG_MPL115_SPI policy<{'riscv64': 'm'}> +CONFIG_MPL3115 policy<{'riscv64': 'm'}> +CONFIG_MS5611 policy<{'riscv64': 'm'}> +CONFIG_MS5611_I2C policy<{'riscv64': 'm'}> +CONFIG_MS5611_SPI policy<{'riscv64': 'm'}> +CONFIG_MS5637 policy<{'riscv64': 'm'}> +CONFIG_IIO_ST_PRESS policy<{'riscv64': 'm'}> +CONFIG_T5403 policy<{'riscv64': 'm'}> +CONFIG_HP206C policy<{'riscv64': 'm'}> +CONFIG_ZPA2326 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Proximity and distance sensors +CONFIG_ISL29501 policy<{'riscv64': 'm'}> +CONFIG_LIDAR_LITE_V2 policy<{'riscv64': 'm'}> +CONFIG_MB1232 policy<{'riscv64': 'm'}> +CONFIG_PING policy<{'riscv64': 'm'}> +CONFIG_RFD77402 policy<{'riscv64': 'm'}> +CONFIG_SRF04 policy<{'riscv64': 'm'}> +CONFIG_SX9310 policy<{'riscv64': 'm'}> +CONFIG_SX9500 policy<{'riscv64': 'm'}> +CONFIG_SRF08 policy<{'riscv64': 'm'}> +CONFIG_VCNL3020 policy<{'riscv64': 'm'}> +CONFIG_VL53L0X_I2C policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Resolver to digital converters +CONFIG_AD2S90 policy<{'riscv64': 'm'}> +CONFIG_AD2S1200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> SSP Sensor Common +CONFIG_IIO_SSP_SENSORS_COMMONS policy<{'riscv64': 'm'}> +CONFIG_IIO_SSP_SENSORHUB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Temperature sensors +CONFIG_IQS620AT_TEMP policy<{'riscv64': 'm'}> +CONFIG_LTC2983 policy<{'riscv64': 'm'}> +CONFIG_MAXIM_THERMOCOUPLE policy<{'riscv64': 'm'}> +CONFIG_HID_SENSOR_TEMP policy<{'riscv64': 'm'}> +CONFIG_MLX90614 policy<{'riscv64': 'm'}> +CONFIG_MLX90632 policy<{'riscv64': 'm'}> +CONFIG_TMP006 policy<{'riscv64': 'm'}> +CONFIG_TMP007 policy<{'riscv64': 'm'}> +CONFIG_TSYS01 policy<{'riscv64': 'm'}> +CONFIG_TSYS02D policy<{'riscv64': 'm'}> +CONFIG_MAX31856 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Triggers - standalone +CONFIG_IIO_HRTIMER_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_INTERRUPT_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_TIGHTLOOP_TRIGGER policy<{'riscv64': 'm'}> +CONFIG_IIO_SYSFS_TRIGGER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> IndustryPack bus support +CONFIG_IPACK_BUS policy<{'riscv64': 'm'}> +CONFIG_BOARD_TPCI200 policy<{'riscv64': 'm'}> +CONFIG_SERIAL_IPOCTAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support +CONFIG_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_USER_MAD policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ON_DEMAND_PAGING policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_IPOIB policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_IPOIB_CM policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_IPOIB_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> InfiniBand support >> InfiniBand userspace access (verbs and CM) +CONFIG_INFINIBAND_USER_ACCESS policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI policy<{'riscv64': 'n'}> +CONFIG_INFINIBAND_MTHCA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_MTHCA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_INFINIBAND_EFA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_I40IW policy<{'riscv64': 'm'}> +CONFIG_MLX4_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_MLX5_INFINIBAND policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_OCRDMA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_VMWARE_PVRDMA policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_BNXT_RE policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_QEDR policy<{'riscv64': 'm'}> +CONFIG_RDMA_RXE policy<{'riscv64': 'm'}> +CONFIG_RDMA_SIW policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support >> RDMA/CM +CONFIG_INFINIBAND_ADDR_TRANS policy<{'riscv64': 'y'}> +CONFIG_INFINIBAND_CXGB4 policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_SRP policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_SRPT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ISER policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_ISERT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_RTRS_CLIENT policy<{'riscv64': 'm'}> +CONFIG_INFINIBAND_RTRS_SERVER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) +CONFIG_INPUT policy<{'riscv64': 'y'}> +CONFIG_INPUT_LEDS policy<{'riscv64': 'm'}> +CONFIG_INPUT_FF_MEMLESS policy<{'riscv64': 'm'}> +CONFIG_INPUT_POLLDEV policy<{'riscv64': 'm'}> +CONFIG_INPUT_SPARSEKMAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_MATRIXKMAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_JOYDEV policy<{'riscv64': 'm'}> +CONFIG_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_INPUT_EVBUG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Joysticks/Gamepads +CONFIG_INPUT_JOYSTICK policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_ANALOG policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_A3D policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_ADI policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_COBRA policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GF2K policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GRIP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GRIP_MP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GUILLEMOT policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_INTERACT policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SIDEWINDER policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TMDC policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE_USB policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE_232 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_WARRIOR policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_MAGELLAN policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SPACEORB policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_SPACEBALL policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_STINGER policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TWIDJOY policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_ZHENHUA policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_DB9 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_GAMECON policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_TURBOGRAFX policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_AS5011 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_JOYDUMP policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_XPAD policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_XPAD_FF policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_XPAD_LEDS policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_WALKERA0701 policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI_FF policy<{'riscv64': 'y'}> +CONFIG_JOYSTICK_PXRC policy<{'riscv64': 'm'}> +CONFIG_JOYSTICK_FSIA6B policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Keyboards +CONFIG_INPUT_KEYBOARD policy<{'riscv64': 'y'}> +CONFIG_KEYBOARD_ADC policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5588 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5589 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_ATKBD policy<{'riscv64': 'y'}> +CONFIG_KEYBOARD_QT1050 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_QT1070 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_QT2160 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_DLINK_DIR685 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LKKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GPIO policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GPIO_POLLED policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TCA6416 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TCA8418 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MATRIX policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LM8323 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_LM8333 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MAX7359 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MCS policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MPR121 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_NEWTON policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_OPENCORES policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_SAMSUNG policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_GOLDFISH_EVENTS policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_STOWAWAY policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_SUNKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_STMPE policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_IQS62X policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_OMAP4 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TC3589X policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TM2_TOUCHKEY policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_XTKBD policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_CAP11XX policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_BCM policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_MTK_PMIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Mice +CONFIG_INPUT_MOUSE policy<{'riscv64': 'y'}> +CONFIG_MOUSE_SERIAL policy<{'riscv64': 'm'}> +CONFIG_MOUSE_APPLETOUCH policy<{'riscv64': 'm'}> +CONFIG_MOUSE_BCM5974 policy<{'riscv64': 'm'}> +CONFIG_MOUSE_CYAPA policy<{'riscv64': 'm'}> +CONFIG_MOUSE_ELAN_I2C policy<{'riscv64': 'm'}> +CONFIG_MOUSE_ELAN_I2C_I2C policy<{'riscv64': 'y'}> +CONFIG_MOUSE_ELAN_I2C_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_VSXXXAA policy<{'riscv64': 'm'}> +CONFIG_MOUSE_GPIO policy<{'riscv64': 'm'}> +CONFIG_MOUSE_SYNAPTICS_I2C policy<{'riscv64': 'm'}> +CONFIG_MOUSE_SYNAPTICS_USB policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_MOUSE_PS2_ALPS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_BYD policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_LOGIPS2PP policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_CYPRESS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_TRACKPOINT policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH_SMBUS policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SENTELIC policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_TOUCHKIT policy<{'riscv64': 'y'}> +CONFIG_MOUSE_PS2_FOCALTECH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Miscellaneous devices +CONFIG_INPUT_MISC policy<{'riscv64': 'y'}> +CONFIG_INPUT_88PM860X_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_88PM80X_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_AD714X_SPI policy<{'riscv64': 'm'}> +CONFIG_INPUT_ARIZONA_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_ATMEL_CAPTOUCH policy<{'riscv64': 'm'}> +CONFIG_INPUT_BMA150 policy<{'riscv64': 'm'}> +CONFIG_INPUT_E3X0_BUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX77650_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX77693_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX8925_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_MAX8997_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_MC13783_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_MMA8450 policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_BEEPER policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_DECODER policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_CPCAP_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_ATI_REMOTE2 policy<{'riscv64': 'm'}> +CONFIG_INPUT_KEYSPAN_REMOTE policy<{'riscv64': 'm'}> +CONFIG_INPUT_KXTJ9 policy<{'riscv64': 'm'}> +CONFIG_INPUT_POWERMATE policy<{'riscv64': 'm'}> +CONFIG_INPUT_YEALINK policy<{'riscv64': 'm'}> +CONFIG_INPUT_CM109 policy<{'riscv64': 'm'}> +CONFIG_INPUT_REGULATOR_HAPTIC policy<{'riscv64': 'm'}> +CONFIG_INPUT_RETU_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_TPS65218_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_AXP20X_PEK policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL4030_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL4030_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_TWL6040_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_UINPUT policy<{'riscv64': 'y'}> +CONFIG_INPUT_PALMAS_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCF50633_PMU policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCF8574 policy<{'riscv64': 'm'}> +CONFIG_INPUT_PWM_BEEPER policy<{'riscv64': 'm'}> +CONFIG_INPUT_PWM_VIBRA policy<{'riscv64': 'm'}> +CONFIG_INPUT_RK805_PWRKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_GPIO_ROTARY_ENCODER policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9052_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9055_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_DA9063_ONKEY policy<{'riscv64': 'm'}> +CONFIG_INPUT_WM831X_ON policy<{'riscv64': 'm'}> +CONFIG_INPUT_PCAP policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X_SPI policy<{'riscv64': 'm'}> +CONFIG_INPUT_IMS_PCU policy<{'riscv64': 'm'}> +CONFIG_INPUT_IQS269A policy<{'riscv64': 'm'}> +CONFIG_INPUT_CMA3000 policy<{'riscv64': 'm'}> +CONFIG_INPUT_CMA3000_I2C policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV260X_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV2665_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_DRV2667_HAPTICS policy<{'riscv64': 'm'}> +CONFIG_INPUT_RAVE_SP_PWRBUTTON policy<{'riscv64': 'm'}> +CONFIG_INPUT_STPMIC1_ONKEY policy<{'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<{'riscv64': 'y'}> +CONFIG_INPUT_MOUSEDEV_PSAUX policy<{'riscv64': 'y'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_X policy<{'riscv64': '1024'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_Y policy<{'riscv64': '768'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Synaptics RMI4 bus support +CONFIG_RMI4_CORE policy<{'riscv64': 'm'}> +CONFIG_RMI4_I2C policy<{'riscv64': 'm'}> +CONFIG_RMI4_SPI policy<{'riscv64': 'm'}> +CONFIG_RMI4_SMB policy<{'riscv64': 'm'}> +CONFIG_RMI4_F03 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F11 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F12 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F30 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F34 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F54 policy<{'riscv64': 'y'}> +CONFIG_RMI4_F55 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Tablets +CONFIG_INPUT_TABLET policy<{'riscv64': 'y'}> +CONFIG_TABLET_USB_ACECAD policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_AIPTEK policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_GTCO policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_HANWANG policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_KBTAB policy<{'riscv64': 'm'}> +CONFIG_TABLET_USB_PEGASUS policy<{'riscv64': 'm'}> +CONFIG_TABLET_SERIAL_WACOM4 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens +CONFIG_INPUT_TOUCHSCREEN policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_88PM860X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ADS7846 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7877 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ADC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AR1021_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_AUO_PIXCIR policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_BU21013 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_BU21029 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMA140 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMG110 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_CORE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_CORE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DA9034 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DA9052 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DYNAPRO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_HAMPSHIRE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EETI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX_SERIAL policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EXC3000 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_FUJITSU policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_GOODIX policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_HIDEEP policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ILI210X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_S6SY761 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_GUNZE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EKTF2127 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ELAN policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ELO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_W8001 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WACOM_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MAX11801 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MCS5000 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MMS114 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MELFAS_MIP4 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MTOUCH policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_IMX6UL_TSC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_INEXIO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MK712 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_PENMOUNT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EDT_FT5X06 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHRIGHT policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHWIN policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TI_AM335X_TSC policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_UCB1400 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_PIXCIR policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WDT87XX_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WM831X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_MC13783 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHIT213 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC_SERIO policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2004 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2005 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TSC2007_IIO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_PCAP policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_RM_TS policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SILEAD policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SIS_I2C policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ST1232 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_STMFTS policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_STMPE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SUR40 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SURFACE3_SPI policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SX8654 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ZET6223 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ZFORCE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_COLIBRI_VF50 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ROHM_BU21023 policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_IQS5XX policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WM9705 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9712 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9713 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens >> USB Touchscreen Driver +CONFIG_TOUCHSCREEN_USB_COMPOSITE policy<{'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_USB_EGALAX policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_PANJIT policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_3M policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ITM policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETURBO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GUNZE policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_DMC_TSC10 policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IRTOUCH policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IDEALTEK policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GOTOP policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_JASTEC policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ELO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_E2I policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ZYTRONIC policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_NEXIO policy<{'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_EASYTOUCH policy<{'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<{'riscv64': 'm'}> +CONFIG_GAMEPORT_NS558 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_L4 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_EMU10K1 policy<{'riscv64': 'm'}> +CONFIG_GAMEPORT_FM801 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Hardware I/O ports >> Serial I/O support +CONFIG_SERIO policy<{'riscv64': 'y'}> +CONFIG_SERIO_SERPORT policy<{'riscv64': 'm'}> +CONFIG_SERIO_PARKBD policy<{'riscv64': 'm'}> +CONFIG_SERIO_PCIPS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_LIBPS2 policy<{'riscv64': 'y'}> +CONFIG_SERIO_RAW policy<{'riscv64': 'm'}> +CONFIG_SERIO_ALTERA_PS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_PS2MULT policy<{'riscv64': 'm'}> +CONFIG_SERIO_ARC_PS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_APBPS2 policy<{'riscv64': 'm'}> +CONFIG_SERIO_GPIO_PS2 policy<{'riscv64': 'm'}> +CONFIG_USERIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support +CONFIG_NEW_LEDS policy<{'riscv64': 'y'}> +CONFIG_LEDS_LP55XX_COMMON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support +CONFIG_LEDS_CLASS policy<{'riscv64': 'y'}> +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED policy<{'riscv64': 'y'}> +CONFIG_LEDS_88PM860X policy<{'riscv64': 'm'}> +CONFIG_LEDS_AN30259A policy<{'riscv64': 'm'}> +CONFIG_LEDS_AW2013 policy<{'riscv64': 'm'}> +CONFIG_LEDS_BCM6328 policy<{'riscv64': 'm'}> +CONFIG_LEDS_BCM6358 policy<{'riscv64': 'm'}> +CONFIG_LEDS_CPCAP policy<{'riscv64': 'm'}> +CONFIG_LEDS_CR0014114 policy<{'riscv64': 'm'}> +CONFIG_LEDS_EL15203000 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3530 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3532 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3533 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3642 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3692X policy<{'riscv64': 'm'}> +CONFIG_LEDS_MT6323 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA9532 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA9532_GPIO policy<{'riscv64': 'y'}> +CONFIG_LEDS_GPIO policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP3944 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP3952 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5521 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5523 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP5562 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8501 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8788 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LP8860 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA955X policy<{'riscv64': 'm'}> +CONFIG_LEDS_PCA955X_GPIO policy<{'riscv64': 'y'}> +CONFIG_LEDS_PCA963X policy<{'riscv64': 'm'}> +CONFIG_LEDS_WM831X_STATUS policy<{'riscv64': 'm'}> +CONFIG_LEDS_WM8350 policy<{'riscv64': 'm'}> +CONFIG_LEDS_DA903X policy<{'riscv64': 'm'}> +CONFIG_LEDS_DA9052 policy<{'riscv64': 'm'}> +CONFIG_LEDS_DAC124S085 policy<{'riscv64': 'm'}> +CONFIG_LEDS_PWM policy<{'riscv64': 'm'}> +CONFIG_LEDS_REGULATOR policy<{'riscv64': 'm'}> +CONFIG_LEDS_BD2802 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LT3593 policy<{'riscv64': 'm'}> +CONFIG_LEDS_ADP5520 policy<{'riscv64': 'm'}> +CONFIG_LEDS_MC13783 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TCA6507 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TLC591XX policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM355x policy<{'riscv64': 'm'}> +CONFIG_LEDS_MENF21BMC policy<{'riscv64': 'm'}> +CONFIG_LEDS_IS31FL319X policy<{'riscv64': 'm'}> +CONFIG_LEDS_IS31FL32XX policy<{'riscv64': 'm'}> +CONFIG_LEDS_BLINKM policy<{'riscv64': 'm'}> +CONFIG_LEDS_SYSCON policy<{'riscv64': 'y'}> +CONFIG_LEDS_MLXREG policy<{'riscv64': 'm'}> +CONFIG_LEDS_USER policy<{'riscv64': 'm'}> +CONFIG_LEDS_SPI_BYTE policy<{'riscv64': 'm'}> +CONFIG_LEDS_TI_LMU_COMMON policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3697 policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM36274 policy<{'riscv64': 'm'}> +CONFIG_LEDS_TPS6105X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Flash Class Support +CONFIG_LEDS_CLASS_FLASH policy<{'riscv64': 'm'}> +CONFIG_LEDS_AAT1290 policy<{'riscv64': 'm'}> +CONFIG_LEDS_AS3645A policy<{'riscv64': 'm'}> +CONFIG_LEDS_LM3601X policy<{'riscv64': 'm'}> +CONFIG_LEDS_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_LEDS_KTD2692 policy<{'riscv64': 'm'}> +CONFIG_LEDS_SGM3140 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Trigger support +CONFIG_LEDS_TRIGGERS policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_TIMER policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_ONESHOT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_DISK policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_MTD policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_HEARTBEAT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_BACKLIGHT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_CPU policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_ACTIVITY policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_GPIO policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_DEFAULT_ON policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_TRANSIENT policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_CAMERA policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_PANIC policy<{'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_NETDEV policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_PATTERN policy<{'riscv64': 'm'}> +CONFIG_LEDS_TRIGGER_AUDIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> MCB support +CONFIG_MCB policy<{'riscv64': 'm'}> +CONFIG_MCB_PCI policy<{'riscv64': 'm'}> +CONFIG_MCB_LPC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> MIPS Platform Specific Device Drivers + +# Menu: Device Drivers >> MMC/SD/SDIO card support +CONFIG_MMC policy<{'riscv64': 'y'}> +CONFIG_PWRSEQ_EMMC policy<{'riscv64': 'm'}> +CONFIG_PWRSEQ_SD8787 policy<{'riscv64': 'm'}> +CONFIG_PWRSEQ_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_MMC_BLOCK policy<{'riscv64': 'y'}> +CONFIG_MMC_BLOCK_MINORS policy<{'riscv64': '8'}> +CONFIG_SDIO_UART policy<{'riscv64': 'm'}> +CONFIG_MMC_TEST policy<{'riscv64': 'n'}> +CONFIG_MMC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MMC_ALCOR policy<{'riscv64': 'm'}> +CONFIG_MMC_TIFM_SD policy<{'riscv64': 'm'}> +CONFIG_MMC_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_MMC_SPI policy<{'riscv64': 'y'}> +CONFIG_MMC_CB710 policy<{'riscv64': 'm'}> +CONFIG_MMC_VIA_SDMMC policy<{'riscv64': 'm'}> +CONFIG_MMC_VUB300 policy<{'riscv64': 'm'}> +CONFIG_MMC_USHC policy<{'riscv64': 'm'}> +CONFIG_MMC_USDHI6ROL0 policy<{'riscv64': 'm'}> +CONFIG_MMC_REALTEK_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_REALTEK_USB policy<{'riscv64': 'm'}> +CONFIG_MMC_CQHCI policy<{'riscv64': 'm'}> +CONFIG_MMC_HSQ policy<{'riscv64': 'm'}> +CONFIG_MMC_TOSHIBA_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_MTK policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_PCI policy<{'riscv64': 'm'}> +CONFIG_MMC_RICOH_MMC policy<{'riscv64': 'y'}> +# +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<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ARASAN policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ASPEED policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_AT91 policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_DWCMSHC policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_CADENCE policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_F_SDH30 policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_MILBEAUT policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_XENON policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OMAP policy<{'riscv64': 'm'}> +CONFIG_MMC_SDHCI_AM654 policy<{'riscv64': 'm'}> +# +CONFIG_MMC_SDHCI_PLTFM note + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Synopsys DesignWare Memory Card Interface + +# Menu: Device Drivers >> Macintosh device drivers + +# Menu: Device Drivers >> Macintosh device drivers >> Apple Desktop Bus (ADB) support + +# Menu: Device Drivers >> Macintosh device drivers >> New PowerMac thermal control infrastructure + +# Menu: Device Drivers >> Macintosh device drivers >> Support for PMU based PowerMacs and PowerBooks + +# Menu: Device Drivers >> Mailbox Hardware Support +CONFIG_MAILBOX policy<{'riscv64': 'y'}> +CONFIG_PLATFORM_MHU policy<{'riscv64': 'm'}> +CONFIG_ALTERA_MBOX policy<{'riscv64': 'm'}> +CONFIG_MAILBOX_TEST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Controller drivers +CONFIG_MEMORY policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support +CONFIG_MTD policy<{'riscv64': 'm'}> +CONFIG_MTD_TESTS policy<{'riscv64': 'n'}> +CONFIG_MTD_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MTD_BLOCK_RO policy<{'riscv64': 'm'}> +CONFIG_FTL policy<{'riscv64': 'm'}> +CONFIG_NFTL policy<{'riscv64': 'm'}> +CONFIG_NFTL_RW policy<{'riscv64': 'y'}> +CONFIG_INFTL policy<{'riscv64': 'm'}> +CONFIG_RFD_FTL policy<{'riscv64': 'm'}> +CONFIG_SSFDC policy<{'riscv64': 'm'}> +CONFIG_SM_FTL policy<{'riscv64': 'm'}> +CONFIG_MTD_OOPS policy<{'riscv64': 'm'}> +CONFIG_MTD_PSTORE policy<{'riscv64': 'm'}> +CONFIG_MTD_SWAP policy<{'riscv64': 'm'}> +CONFIG_MTD_PARTITIONED_MASTER policy<{'riscv64': 'n'}> +CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC policy<{'riscv64': 'n'}> +CONFIG_MTD_SPI_NAND policy<{'riscv64': 'm'}> +# +CONFIG_MTD note +CONFIG_MTD_BLOCK note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Enable UBI - Unsorted block images +CONFIG_MTD_UBI policy<{'riscv64': 'm'}> +CONFIG_MTD_UBI_WL_THRESHOLD policy<{'riscv64': '4096'}> +CONFIG_MTD_UBI_BEB_LIMIT policy<{'riscv64': '20'}> +CONFIG_MTD_UBI_FASTMAP policy<{'riscv64': 'y'}> +CONFIG_MTD_UBI_GLUEBI policy<{'riscv64': 'm'}> +CONFIG_MTD_UBI_BLOCK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> HyperBus support +CONFIG_MTD_HYPERBUS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> LPDDR & LPDDR2 PCM memory drivers +CONFIG_MTD_LPDDR policy<{'riscv64': 'm'}> +CONFIG_MTD_QINFO_PROBE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access +CONFIG_MTD_INTEL_VR_NOR policy<{'riscv64': 'm'}> +CONFIG_MTD_PLATRAM policy<{'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<{'riscv64': 'm'}> +CONFIG_MTD_PHYSMAP_COMPAT policy<{'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_GPIO_ADDR policy<{'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<{'riscv64': 'y'}> +CONFIG_MTD_PHYSMAP_VERSATILE policy<{'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_GEMINI policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Maximum mappable memory available for flash IO + +# 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<{'riscv64': 'y'}> +CONFIG_MTD_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> OneNAND Device Support +CONFIG_MTD_ONENAND policy<{'riscv64': 'm'}> +CONFIG_MTD_ONENAND_VERIFY_WRITE policy<{'riscv64': 'y'}> +CONFIG_MTD_ONENAND_GENERIC policy<{'riscv64': 'm'}> +CONFIG_MTD_ONENAND_OTP policy<{'riscv64': 'n'}> +CONFIG_MTD_ONENAND_2X_PROGRAM policy<{'riscv64': 'y'}> +# +CONFIG_MTD_ONENAND_VERIFY_WRITE note +CONFIG_MTD_ONENAND_OTP flag + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Partition parsers +CONFIG_MTD_AR7_PARTS policy<{'riscv64': 'm'}> +CONFIG_MTD_CMDLINE_PARTS policy<{'riscv64': 'm'}> +CONFIG_MTD_OF_PARTS policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK policy<{'riscv64': '-1'}> +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED policy<{'riscv64': 'n'}> +CONFIG_MTD_REDBOOT_PARTS_READONLY policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers +CONFIG_MTD_CFI policy<{'riscv64': 'm'}> +CONFIG_MTD_JEDECPROBE policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_INTELEXT policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_AMDSTD policy<{'riscv64': 'm'}> +CONFIG_MTD_CFI_STAA policy<{'riscv64': 'm'}> +CONFIG_MTD_RAM policy<{'riscv64': 'm'}> +CONFIG_MTD_ROM policy<{'riscv64': 'm'}> +CONFIG_MTD_ABSENT policy<{'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<{'riscv64': 'n'}> + +# 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<{'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_2 policy<{'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_4 policy<{'riscv64': 'y'}> +CONFIG_MTD_CFI_I1 policy<{'riscv64': 'y'}> +CONFIG_MTD_CFI_I2 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support +CONFIG_MTD_RAW_NAND policy<{'riscv64': 'n'}> +# +CONFIG_MTD_RAW_NAND note +CONFIG_MTD_NAND_OMAP2 note +CONFIG_MTD_NAND_OMAP_BCH note +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Raw/Parallel NAND Device Support >> JZ4780 NAND controller + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> SPI NOR device support +CONFIG_MTD_SPI_NOR policy<{'riscv64': 'm'}> +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Self-contained MTD device drivers +CONFIG_MTD_PMC551 policy<{'riscv64': 'm'}> +CONFIG_MTD_PMC551_BUGFIX policy<{'riscv64': 'n'}> +CONFIG_MTD_PMC551_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MTD_DATAFLASH policy<{'riscv64': 'm'}> +CONFIG_MTD_DATAFLASH_WRITE_VERIFY policy<{'riscv64': 'n'}> +CONFIG_MTD_DATAFLASH_OTP policy<{'riscv64': 'y'}> +CONFIG_MTD_MCHP23K256 policy<{'riscv64': 'm'}> +CONFIG_MTD_SST25L policy<{'riscv64': 'm'}> +CONFIG_MTD_SLRAM policy<{'riscv64': 'm'}> +CONFIG_MTD_PHRAM policy<{'riscv64': 'm'}> +CONFIG_MTD_MTDRAM policy<{'riscv64': 'm'}> +CONFIG_MTDRAM_TOTAL_SIZE policy<{'riscv64': '4096'}> +CONFIG_MTDRAM_ERASE_SIZE policy<{'riscv64': '128'}> +CONFIG_MTD_BLOCK2MTD policy<{'riscv64': 'm'}> +CONFIG_MTD_DOCG3 policy<{'riscv64': 'n'}> +# +CONFIG_MTD_DOCG3 mark note + +# Menu: Device Drivers >> Microsoft Hyper-V guest support + +# Menu: Device Drivers >> Misc devices +CONFIG_AD525X_DPOT policy<{'riscv64': 'm'}> +CONFIG_AD525X_DPOT_I2C policy<{'riscv64': 'm'}> +CONFIG_AD525X_DPOT_SPI policy<{'riscv64': 'm'}> +CONFIG_DUMMY_IRQ policy<{'riscv64': 'm'}> +CONFIG_PHANTOM policy<{'riscv64': 'm'}> +CONFIG_TIFM_CORE policy<{'riscv64': 'm'}> +CONFIG_TIFM_7XX1 policy<{'riscv64': 'm'}> +CONFIG_ICS932S401 policy<{'riscv64': 'm'}> +CONFIG_ENCLOSURE_SERVICES policy<{'riscv64': 'm'}> +CONFIG_HP_ILO policy<{'riscv64': 'm'}> +CONFIG_APDS9802ALS policy<{'riscv64': 'm'}> +CONFIG_ISL29003 policy<{'riscv64': 'm'}> +CONFIG_ISL29020 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_TSL2550 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_BH1770 policy<{'riscv64': 'm'}> +CONFIG_SENSORS_APDS990X policy<{'riscv64': 'm'}> +CONFIG_HMC6352 policy<{'riscv64': 'm'}> +CONFIG_DS1682 policy<{'riscv64': 'm'}> +CONFIG_LATTICE_ECP3_CONFIG policy<{'riscv64': 'm'}> +CONFIG_SRAM policy<{'riscv64': 'y'}> +CONFIG_PCI_ENDPOINT_TEST policy<{'riscv64': 'n'}> +CONFIG_XILINX_SDFEC policy<{'riscv64': 'n'}> +CONFIG_PVPANIC policy<{'riscv64': 'm'}> +CONFIG_CB710_CORE policy<{'riscv64': 'm'}> +CONFIG_CB710_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SENSORS_LIS3_SPI policy<{'riscv64': 'm'}> +CONFIG_SENSORS_LIS3_I2C policy<{'riscv64': 'm'}> +CONFIG_ALTERA_STAPL policy<{'riscv64': 'm'}> +CONFIG_ECHO policy<{'riscv64': 'm'}> +CONFIG_MISC_ALCOR_PCI policy<{'riscv64': 'm'}> +CONFIG_MISC_RTSX_PCI policy<{'riscv64': 'm'}> +CONFIG_MISC_RTSX_USB policy<{'riscv64': 'm'}> +CONFIG_HABANA_AI policy<{'riscv64': 'n'}> +CONFIG_UACCE policy<{'riscv64': 'm'}> +# +CONFIG_CS5535_MFGPT note + +# Menu: Device Drivers >> Misc devices >> EEPROM support +CONFIG_EEPROM_AT24 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_AT25 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_LEGACY policy<{'riscv64': 'm'}> +CONFIG_EEPROM_MAX6875 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_93CX6 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_93XX46 policy<{'riscv64': 'm'}> +CONFIG_EEPROM_IDT_89HPESX policy<{'riscv64': 'm'}> +CONFIG_EEPROM_EE1004 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> GenWQE PCIe Accelerator +CONFIG_GENWQE policy<{'riscv64': 'm'}> +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support + +# Menu: Device Drivers >> Misc devices >> Intel MIC & related support >> VOP Bus Driver +CONFIG_VOP_BUS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Misc devices >> Silicon Labs C2 port support +CONFIG_C2PORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> Texas Instruments shared transport line discipline +CONFIG_TI_ST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multifunction device drivers +CONFIG_MFD_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_MFD_AS3711 policy<{'riscv64': 'y'}> +CONFIG_MFD_AS3722 policy<{'riscv64': 'y'}> +CONFIG_PMIC_ADP5520 policy<{'riscv64': 'y'}> +CONFIG_MFD_AAT2870_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_ATMEL_FLEXCOM policy<{'riscv64': 'm'}> +CONFIG_MFD_ATMEL_HLCDC policy<{'riscv64': 'm'}> +CONFIG_MFD_BCM590XX policy<{'riscv64': 'm'}> +CONFIG_MFD_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_MFD_AXP20X_I2C policy<{'riscv64': 'm'}> +CONFIG_PMIC_DA903X policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9052_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9052_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9055 policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9062 policy<{'riscv64': 'm'}> +CONFIG_MFD_DA9063 policy<{'riscv64': 'y'}> +CONFIG_MFD_DA9150 policy<{'riscv64': 'm'}> +CONFIG_MFD_DLN2 policy<{'riscv64': 'm'}> +CONFIG_MFD_GATEWORKS_GSC policy<{'riscv64': 'm'}> +CONFIG_MFD_MC13XXX_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_MC13XXX_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_MP2629 policy<{'riscv64': 'm'}> +CONFIG_MFD_HI6421_PMIC policy<{'riscv64': 'm'}> +CONFIG_HTC_PASIC3 policy<{'riscv64': 'm'}> +CONFIG_HTC_I2CPLD policy<{'riscv64': 'y'}> +CONFIG_LPC_ICH policy<{'riscv64': 'm'}> +CONFIG_LPC_SCH policy<{'riscv64': 'm'}> +CONFIG_MFD_IQS62X policy<{'riscv64': 'm'}> +CONFIG_MFD_JANZ_CMODIO policy<{'riscv64': 'm'}> +CONFIG_MFD_KEMPLD policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM800 policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM805 policy<{'riscv64': 'm'}> +CONFIG_MFD_88PM860X policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX14577 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77620 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_MFD_MAX77686 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77693 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX77843 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_MFD_MAX8925 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8997 policy<{'riscv64': 'y'}> +CONFIG_MFD_MAX8998 policy<{'riscv64': 'y'}> +CONFIG_MFD_MT6360 policy<{'riscv64': 'm'}> +CONFIG_MFD_MT6397 policy<{'riscv64': 'm'}> +CONFIG_MFD_MENF21BMC policy<{'riscv64': 'm'}> +CONFIG_EZX_PCAP policy<{'riscv64': 'y'}> +CONFIG_MFD_CPCAP policy<{'riscv64': 'm'}> +CONFIG_MFD_VIPERBOARD policy<{'riscv64': 'm'}> +CONFIG_MFD_RETU policy<{'riscv64': 'm'}> +CONFIG_MFD_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_PCF50633_ADC policy<{'riscv64': 'm'}> +CONFIG_PCF50633_GPIO policy<{'riscv64': 'm'}> +CONFIG_UCB1400_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_RDC321X policy<{'riscv64': 'm'}> +CONFIG_MFD_RT5033 policy<{'riscv64': 'm'}> +CONFIG_MFD_RC5T583 policy<{'riscv64': 'y'}> +CONFIG_MFD_RK808 policy<{'riscv64': 'm'}> +CONFIG_MFD_RN5T618 policy<{'riscv64': 'm'}> +CONFIG_MFD_SEC_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_SI476X_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_SM501 policy<{'riscv64': 'm'}> +CONFIG_MFD_SM501_GPIO policy<{'riscv64': 'y'}> +CONFIG_MFD_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_MFD_SMSC policy<{'riscv64': 'y'}> +CONFIG_ABX500_CORE policy<{'riscv64': 'y'}> +CONFIG_AB3100_CORE policy<{'riscv64': 'y'}> +CONFIG_AB3100_OTP policy<{'riscv64': 'm'}> +CONFIG_MFD_STMPE policy<{'riscv64': 'y'}> +CONFIG_MFD_SYSCON policy<{'riscv64': 'y'}> +CONFIG_MFD_TI_AM335X_TSCADC policy<{'riscv64': 'm'}> +CONFIG_MFD_LP3943 policy<{'riscv64': 'm'}> +CONFIG_MFD_LP8788 policy<{'riscv64': 'y'}> +CONFIG_MFD_TI_LMU policy<{'riscv64': 'm'}> +CONFIG_MFD_PALMAS policy<{'riscv64': 'y'}> +CONFIG_TPS6105X policy<{'riscv64': 'm'}> +CONFIG_TPS65010 policy<{'riscv64': 'm'}> +CONFIG_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65090 policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65217 policy<{'riscv64': 'n'}> +CONFIG_MFD_TI_LP873X policy<{'riscv64': 'm'}> +CONFIG_MFD_TI_LP87565 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_MFD_TPS6586X policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65910 policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65912_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS65912_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_TPS80031 policy<{'riscv64': 'y'}> +CONFIG_TWL4030_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_TWL4030_AUDIO policy<{'riscv64': 'y'}> +CONFIG_TWL6040_CORE policy<{'riscv64': 'y'}> +CONFIG_MFD_WL1273_CORE policy<{'riscv64': 'm'}> +CONFIG_MFD_LM3533 policy<{'riscv64': 'm'}> +CONFIG_MFD_TC3589X policy<{'riscv64': 'y'}> +CONFIG_MFD_TQMX86 policy<{'riscv64': 'n'}> +CONFIG_MFD_VX855 policy<{'riscv64': 'm'}> +CONFIG_MFD_LOCHNAGAR policy<{'riscv64': 'y'}> +CONFIG_MFD_ARIZONA_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_ARIZONA_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_CS47L24 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM5102 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM5110 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8997 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8998 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8400 policy<{'riscv64': 'y'}> +CONFIG_MFD_WM831X_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_WM831X_SPI policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8350_I2C policy<{'riscv64': 'y'}> +CONFIG_MFD_WM8994 policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD718XX policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD70528 policy<{'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD71828 policy<{'riscv64': 'm'}> +CONFIG_MFD_STPMIC1 policy<{'riscv64': 'm'}> +CONFIG_MFD_STMFX policy<{'riscv64': 'm'}> +CONFIG_MFD_WCD934X policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_CORE policy<{'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<{'riscv64': 'm'}> +CONFIG_MFD_MADERA_I2C policy<{'riscv64': 'm'}> +CONFIG_MFD_MADERA_SPI policy<{'riscv64': 'm'}> +CONFIG_MFD_CS47L15 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L35 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L85 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L90 policy<{'riscv64': 'y'}> +CONFIG_MFD_CS47L92 policy<{'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<{'riscv64': 'y'}> +CONFIG_STMPE_SPI policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support +CONFIG_MEDIA_SUPPORT policy<{'riscv64': 'm'}> +CONFIG_MEDIA_SUPPORT_FILTER policy<{'riscv64': 'y'}> +CONFIG_MEDIA_SUBDRV_AUTOSELECT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Digital TV options +CONFIG_DVB_MMAP policy<{'riscv64': 'n'}> +CONFIG_DVB_NET policy<{'riscv64': 'y'}> +CONFIG_DVB_MAX_ADAPTERS policy<{'riscv64': '8'}> +CONFIG_DVB_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_DVB_DEMUX_SECTION_LOSS_LOG policy<{'riscv64': 'n'}> +CONFIG_DVB_ULE_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_DVB_ULE_DEBUG flag + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers +CONFIG_DVB_DUMMY_FE policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IR_I2C policy<{'riscv64': 'm'}> +# +CONFIG_DVB_DUMMY_FE note + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio decoders, processors and mixers +CONFIG_VIDEO_TVAUDIO policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA7432 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA9840 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TDA1997X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TEA6415C policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TEA6420 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MSP3400 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS3308 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS5345 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CS53L32A policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TLV320AIC23B policy<{'riscv64': 'm'}> +CONFIG_VIDEO_UDA1342 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_WM8775 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_WM8739 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VP27SMPX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SONY_BTF_MPX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio/Video compression chips +CONFIG_VIDEO_SAA6752HS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Camera sensor devices +CONFIG_VIDEO_HI556 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX214 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX219 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX258 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX274 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX290 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX319 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IMX355 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2659 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2680 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2685 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV2740 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5645 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5647 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV6650 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5670 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5675 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV5695 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7251 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV772X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7670 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV7740 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV8856 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV9640 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV9650 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_OV13858 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VS6624 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M001 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M032 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9M111 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9P031 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9T001 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9T112 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V011 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V032 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MT9V111 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SR030PC30 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_NOON010PC30 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_M5MOLS policy<{'riscv64': 'm'}> +CONFIG_VIDEO_RJ54N1 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K6AA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K6A3 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K4ECGX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5K5BAF policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SMIAPP policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ET8EK8 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_S5C73M3 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customise DVB Frontends +CONFIG_DVB_STB0899 policy<{'riscv64': 'm'}> +CONFIG_DVB_STB6100 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV090x policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0910 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6110x policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6111 policy<{'riscv64': 'm'}> +CONFIG_DVB_MXL5XX policy<{'riscv64': 'm'}> +CONFIG_DVB_M88DS3103 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRXK policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA18271C2DD policy<{'riscv64': 'm'}> +CONFIG_DVB_SI2165 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88472 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88473 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24110 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24123 policy<{'riscv64': 'm'}> +CONFIG_DVB_MT312 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10036 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10039 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1420 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0288 policy<{'riscv64': 'm'}> +CONFIG_DVB_STB6000 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0299 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV6110 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0900 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA8083 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10086 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA8261 policy<{'riscv64': 'm'}> +CONFIG_DVB_VES1X93 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_ITD1000 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_CX24113 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA826X policy<{'riscv64': 'm'}> +CONFIG_DVB_TUA6100 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24116 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24117 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX24120 policy<{'riscv64': 'm'}> +CONFIG_DVB_SI21XX policy<{'riscv64': 'm'}> +CONFIG_DVB_TS2020 policy<{'riscv64': 'm'}> +CONFIG_DVB_DS3000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MB86A16 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10071 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP8870 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP887X policy<{'riscv64': 'm'}> +CONFIG_DVB_CX22700 policy<{'riscv64': 'm'}> +CONFIG_DVB_CX22702 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1432 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRXD policy<{'riscv64': 'm'}> +CONFIG_DVB_L64781 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA1004X policy<{'riscv64': 'm'}> +CONFIG_DVB_NXT6000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MT352 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZL10353 policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB3000MB policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB3000MC policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB7000M policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB7000P policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB9000 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10048 policy<{'riscv64': 'm'}> +CONFIG_DVB_AF9013 policy<{'riscv64': 'm'}> +CONFIG_DVB_EC100 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0367 policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2820R policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2841ER policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2830 policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2832 policy<{'riscv64': 'm'}> +CONFIG_DVB_RTL2832_SDR policy<{'riscv64': 'm'}> +CONFIG_DVB_SI2168 policy<{'riscv64': 'm'}> +CONFIG_DVB_ZD1301_DEMOD policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2880 policy<{'riscv64': 'm'}> +CONFIG_DVB_VES1820 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10021 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA10023 policy<{'riscv64': 'm'}> +CONFIG_DVB_STV0297 policy<{'riscv64': 'm'}> +CONFIG_DVB_NXT200X policy<{'riscv64': 'm'}> +CONFIG_DVB_OR51211 policy<{'riscv64': 'm'}> +CONFIG_DVB_OR51132 policy<{'riscv64': 'm'}> +CONFIG_DVB_BCM3510 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT330X policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT3305 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGDT3306A policy<{'riscv64': 'm'}> +CONFIG_DVB_LG2160 policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1409 policy<{'riscv64': 'm'}> +CONFIG_DVB_AU8522_DTV policy<{'riscv64': 'm'}> +CONFIG_DVB_AU8522_V4L policy<{'riscv64': 'm'}> +CONFIG_DVB_S5H1411 policy<{'riscv64': 'm'}> +CONFIG_DVB_S921 policy<{'riscv64': 'm'}> +CONFIG_DVB_DIB8000 policy<{'riscv64': 'm'}> +CONFIG_DVB_MB86A20S policy<{'riscv64': 'm'}> +CONFIG_DVB_TC90522 policy<{'riscv64': 'm'}> +CONFIG_DVB_MN88443X policy<{'riscv64': 'm'}> +CONFIG_DVB_PLL policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0070 policy<{'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0090 policy<{'riscv64': 'm'}> +CONFIG_DVB_DRX39XYJ policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBH25 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBH29 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBP21 policy<{'riscv64': 'm'}> +CONFIG_DVB_LNBP22 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6405 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6421 policy<{'riscv64': 'm'}> +CONFIG_DVB_ISL6423 policy<{'riscv64': 'm'}> +CONFIG_DVB_A8293 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGS8GL5 policy<{'riscv64': 'm'}> +CONFIG_DVB_LGS8GXX policy<{'riscv64': 'm'}> +CONFIG_DVB_ATBM8830 policy<{'riscv64': 'm'}> +CONFIG_DVB_TDA665x policy<{'riscv64': 'm'}> +CONFIG_DVB_IX2505V policy<{'riscv64': 'm'}> +CONFIG_DVB_M88RS2000 policy<{'riscv64': 'm'}> +CONFIG_DVB_AF9033 policy<{'riscv64': 'm'}> +CONFIG_DVB_HORUS3A policy<{'riscv64': 'm'}> +CONFIG_DVB_ASCOT2E policy<{'riscv64': 'm'}> +CONFIG_DVB_HELENE policy<{'riscv64': 'm'}> +CONFIG_DVB_CXD2099 policy<{'riscv64': 'm'}> +CONFIG_DVB_SP2 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customize TV tuners +CONFIG_MEDIA_TUNER_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18250 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA8290 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA827X policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18271 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA9887 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5761 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5767 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MSI001 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT20XX policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2060 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2063 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2266 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2131 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QT1010 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC2028 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC5000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC4000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5005S policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5007T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MC44S803 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MAX2165 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18218 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0011 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0012 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0013 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18212 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_E4000 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC2580 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_M88RS6000T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TUA9001 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_SI2157 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_IT913X policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_R820T policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL301RF policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1C0042 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1B0004 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Flash devices +CONFIG_VIDEO_ADP1653 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_LM3560 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_LM3646 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Lens drivers +CONFIG_VIDEO_AD5820 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AK7375 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DW9714 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DW9807_VCM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Media SPI Adapters +CONFIG_CXD2880_SPI_DRV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Miscellaneous helper chips +CONFIG_VIDEO_THS7303 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_M52790 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_I2C policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ST_MIPID02 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> RDS decoders +CONFIG_VIDEO_SAA6588 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SDR tuner chips +CONFIG_SDR_MAX2175 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SPI helper chips +CONFIG_VIDEO_GS1662 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video decoders +CONFIG_VIDEO_ADV7180 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7183 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV748X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_ADV7842 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7842_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_BT819 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT856 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT866 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_KS0127 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ML86V7667 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7110 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA711X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TC358743 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TC358743_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_TVP514X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TVP5150 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TVP7002 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW2804 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9903 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9906 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW9910 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VPX3220 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA717X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25840 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video encoders +CONFIG_VIDEO_SAA7127 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7185 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7170 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7175 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7343 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ADV7393 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AD9389B policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AK881X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_THS8200 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video improvement chips +CONFIG_VIDEO_UPD64031A policy<{'riscv64': 'm'}> +CONFIG_VIDEO_UPD64083 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media controller options +CONFIG_MEDIA_CONTROLLER_DVB policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media core support +CONFIG_VIDEO_DEV policy<{'riscv64': 'm'}> +CONFIG_MEDIA_CONTROLLER policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media device types +CONFIG_MEDIA_CAMERA_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_ANALOG_TV_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_DIGITAL_TV_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_RADIO_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_SDR_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_PLATFORM_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_MEDIA_TEST_SUPPORT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers +CONFIG_SMS_SDIO_DRV policy<{'riscv64': 'm'}> +CONFIG_DVB_FIREDTV policy<{'riscv64': 'm'}> +CONFIG_SMS_SIANO_RC policy<{'riscv64': 'y'}> +CONFIG_SMS_SIANO_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> DVB platform devices +CONFIG_DVB_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> +# +CONFIG_DVB_C8SECTPFE flag + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters +CONFIG_VIDEO_PCI_SKELETON policy<{'riscv64': 'n'}> +CONFIG_MEDIA_PCI_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_VIDEO_SOLO6X10 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW5864 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW68 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TW686X policy<{'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_GEMINI policy<{'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_ORION policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MXB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_DT3155 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX18 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX18_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX23885 policy<{'riscv64': 'm'}> +CONFIG_MEDIA_ALTERA_CI policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25821 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX25821_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_BT848 policy<{'riscv64': 'm'}> +CONFIG_DVB_BT8XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7164 policy<{'riscv64': 'm'}> +CONFIG_DVB_AV7110 policy<{'riscv64': 'm'}> +CONFIG_DVB_AV7110_OSD policy<{'riscv64': 'y'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_PLUTO2 policy<{'riscv64': 'm'}> +CONFIG_DVB_DM1105 policy<{'riscv64': 'm'}> +CONFIG_DVB_PT1 policy<{'riscv64': 'm'}> +CONFIG_DVB_PT3 policy<{'riscv64': 'm'}> +CONFIG_MANTIS_CORE policy<{'riscv64': 'm'}> +CONFIG_DVB_MANTIS policy<{'riscv64': 'm'}> +CONFIG_DVB_HOPPER policy<{'riscv64': 'm'}> +CONFIG_DVB_NGENE policy<{'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE policy<{'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE_MSIENABLE policy<{'riscv64': 'n'}> +CONFIG_DVB_SMIPCIE policy<{'riscv64': 'm'}> +CONFIG_DVB_NETUP_UNIDVB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant 2388x (bt878 successor) support +CONFIG_VIDEO_CX88 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_BLACKBIRD policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ENABLE_VP3054 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant cx23416/cx23415 MPEG encoder/decoder support +CONFIG_VIDEO_IVTV policy<{'riscv64': 'm'}> +CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS policy<{'riscv64': 'n'}> +CONFIG_VIDEO_IVTV_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_FB_IVTV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Philips SAA7134 support +CONFIG_VIDEO_SAA7134 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_SAA7134_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_GO7007 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> SAA7146 DVB cards (aka Budget, Nova-PCI) +CONFIG_DVB_BUDGET_CORE policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_CI policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_AV policy<{'riscv64': 'm'}> +CONFIG_DVB_BUDGET_PATCH policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters +CONFIG_MEDIA_USB_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_VIDEO_CLASS policy<{'riscv64': 'm'}> +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_USB_PWC policy<{'riscv64': 'm'}> +CONFIG_USB_PWC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_PWC_INPUT_EVDEV policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CPIA2 policy<{'riscv64': 'm'}> +CONFIG_USB_ZR364XX policy<{'riscv64': 'm'}> +CONFIG_USB_STKWEBCAM policy<{'riscv64': 'm'}> +CONFIG_USB_S2255 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_USBTV policy<{'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2_SYSFS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DVB policy<{'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DEBUGIFC policy<{'riscv64': 'n'}> +CONFIG_VIDEO_HDPVR policy<{'riscv64': 'm'}> +CONFIG_VIDEO_STK1160_COMMON policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_LOADER policy<{'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB_S2250_BOARD policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AU0828 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_AU0828_V4L2 policy<{'riscv64': 'y'}> +CONFIG_VIDEO_AU0828_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_TM6000 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_DVB policy<{'riscv64': 'm'}> +CONFIG_DVB_TTUSB_BUDGET policy<{'riscv64': 'm'}> +CONFIG_DVB_TTUSB_DEC policy<{'riscv64': 'm'}> +CONFIG_SMS_USB_DRV policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB policy<{'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_AS102 policy<{'riscv64': 'm'}> +CONFIG_USB_AIRSPY policy<{'riscv64': 'm'}> +CONFIG_USB_HACKRF policy<{'riscv64': 'm'}> +CONFIG_USB_MSI2500 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Conexant cx231xx USB video capture support +CONFIG_VIDEO_CX231XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_RC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CX231XX_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_DVB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Empia EM28xx USB devices support +CONFIG_VIDEO_EM28XX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_V4L2 policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_ALSA policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_DVB policy<{'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_RC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> GSPCA based webcams +CONFIG_USB_GSPCA policy<{'riscv64': 'm'}> +CONFIG_USB_M5602 policy<{'riscv64': 'm'}> +CONFIG_USB_STV06XX policy<{'riscv64': 'm'}> +CONFIG_USB_GL860 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_BENQ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_CONEX policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_CPIA1 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_DTCS033 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_ETOMS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_FINEPIX policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_JEILINJ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_JL2005BCD policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_KINECT policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_KONICA policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_MARS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_MR97310A policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_NW80X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV519 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534_9 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC207 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7302 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7311 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SE401 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C2028 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C20X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXB policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXJ policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA500 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA501 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA505 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA506 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA508 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA561 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA1528 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905C policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ930X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK014 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK1135 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_STV0680 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_SUNPLUS policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_T613 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOPRO policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOUPTEK policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_TV8532 policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_VC032X policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_VICAM policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_XIRLINK_CIT policy<{'riscv64': 'm'}> +CONFIG_USB_GSPCA_ZC3XX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices +CONFIG_DVB_USB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DVB_USB_A800 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB_FAULTY policy<{'riscv64': 'n'}> +CONFIG_DVB_USB_DIBUSB_MC policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIB0700 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_UMT_010 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB_ANALOG policy<{'riscv64': 'y'}> +CONFIG_DVB_USB_M920X policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DIGITV policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_VP7045 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_VP702X policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_GP8PSK policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_NOVA_T_USB2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_TTUSB2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DTT200U policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_OPERA1 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005_REMOTE policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_PCTV452E policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DW2102 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CINERGY_T2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DTV5100 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6027 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_TECHNISAT_USB2 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices v2 +CONFIG_DVB_USB_V2 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9015 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AF9035 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_ANYSEE policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AU6610 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6007 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_CE6230 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_EC168 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_GL861 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_LME2510 policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_MXL111SF policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_RTL28XXU policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_DVBSKY policy<{'riscv64': 'm'}> +CONFIG_DVB_USB_ZD1301 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Memory-to-memory multimedia devices +CONFIG_V4L_MEM2MEM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_MEM2MEM_DEINTERLACE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters +CONFIG_RADIO_ADAPTERS policy<{'riscv64': 'y'}> +CONFIG_RADIO_SI470X policy<{'riscv64': 'm'}> +CONFIG_USB_SI470X policy<{'riscv64': 'm'}> +CONFIG_I2C_SI470X policy<{'riscv64': 'm'}> +CONFIG_RADIO_SI476X policy<{'riscv64': 'm'}> +CONFIG_USB_MR800 policy<{'riscv64': 'm'}> +CONFIG_USB_DSBR policy<{'riscv64': 'm'}> +CONFIG_RADIO_MAXIRADIO policy<{'riscv64': 'm'}> +CONFIG_RADIO_SHARK policy<{'riscv64': 'm'}> +CONFIG_RADIO_SHARK2 policy<{'riscv64': 'm'}> +CONFIG_USB_KEENE policy<{'riscv64': 'm'}> +CONFIG_USB_RAREMONO policy<{'riscv64': 'm'}> +CONFIG_USB_MA901 policy<{'riscv64': 'm'}> +CONFIG_RADIO_TEA5764 policy<{'riscv64': 'm'}> +CONFIG_RADIO_SAA7706H policy<{'riscv64': 'm'}> +CONFIG_RADIO_TEF6862 policy<{'riscv64': 'm'}> +CONFIG_RADIO_WL1273 policy<{'riscv64': 'm'}> +CONFIG_RADIO_WL128X policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_SI4713 policy<{'riscv64': 'm'}> +CONFIG_PLATFORM_SI4713 policy<{'riscv64': 'm'}> +CONFIG_I2C_SI4713 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> SDR platform devices +CONFIG_SDR_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices +CONFIG_V4L_PLATFORM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CAFE_CCIC policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE policy<{'riscv64': 'y'}> +CONFIG_VIDEO_CADENCE_CSI2RX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE_CSI2TX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_ASPEED policy<{'riscv64': 'm'}> +CONFIG_VIDEO_MUX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_TPG policy<{'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_VTC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices >> Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L test drivers +CONFIG_V4L_TEST_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_VIDEO_VIMC policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VIVID policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VIVID_CEC policy<{'riscv64': 'y'}> +CONFIG_VIDEO_VIVID_MAX_DEVS policy<{'riscv64': '64'}> +CONFIG_VIDEO_VIM2M policy<{'riscv64': 'm'}> +CONFIG_VIDEO_VICODEC policy<{'riscv64': 'm'}> +# +CONFIG_VIDEO_VIMC note + +# Menu: Device Drivers >> Multimedia support >> Video4Linux options +CONFIG_VIDEO_V4L2_SUBDEV_API policy<{'riscv64': 'y'}> +CONFIG_VIDEO_ADV_DEBUG policy<{'riscv64': 'n'}> +CONFIG_VIDEO_FIXED_MINOR_RANGES policy<{'riscv64': 'n'}> +CONFIG_V4L2_FLASH_LED_CLASS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) +CONFIG_MD policy<{'riscv64': 'y'}> +CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Block device as cache +CONFIG_BCACHE policy<{'riscv64': 'm'}> +CONFIG_BCACHE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BCACHE_CLOSURES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BCACHE_ASYNC_REGISTRAION policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Device mapper support +CONFIG_BLK_DEV_DM policy<{'riscv64': 'y'}> +CONFIG_DM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_DM_UNSTRIPED policy<{'riscv64': 'm'}> +CONFIG_DM_CRYPT policy<{'riscv64': 'm'}> +CONFIG_DM_SNAPSHOT policy<{'riscv64': 'm'}> +CONFIG_DM_THIN_PROVISIONING policy<{'riscv64': 'm'}> +CONFIG_DM_CACHE policy<{'riscv64': 'm'}> +CONFIG_DM_CACHE_SMQ policy<{'riscv64': 'm'}> +CONFIG_DM_WRITECACHE policy<{'riscv64': 'm'}> +CONFIG_DM_EBS policy<{'riscv64': 'm'}> +CONFIG_DM_ERA policy<{'riscv64': 'm'}> +CONFIG_DM_CLONE policy<{'riscv64': 'm'}> +CONFIG_DM_MIRROR policy<{'riscv64': 'm'}> +CONFIG_DM_LOG_USERSPACE policy<{'riscv64': 'm'}> +CONFIG_DM_RAID policy<{'riscv64': 'm'}> +CONFIG_DM_ZERO policy<{'riscv64': 'm'}> +CONFIG_DM_DELAY policy<{'riscv64': 'm'}> +CONFIG_DM_DUST policy<{'riscv64': 'n'}> +CONFIG_DM_INIT policy<{'riscv64': 'y'}> +CONFIG_DM_UEVENT policy<{'riscv64': 'y'}> +CONFIG_DM_FLAKEY policy<{'riscv64': 'm'}> +CONFIG_DM_VERITY policy<{'riscv64': 'm'}> +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG policy<{'riscv64': 'y'}> +CONFIG_DM_VERITY_FEC policy<{'riscv64': 'n'}> +CONFIG_DM_SWITCH policy<{'riscv64': 'm'}> +CONFIG_DM_LOG_WRITES policy<{'riscv64': 'm'}> +CONFIG_DM_INTEGRITY policy<{'riscv64': 'm'}> +CONFIG_DM_ZONED policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_QL policy<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_ST policy<{'riscv64': 'm'}> +CONFIG_DM_MULTIPATH_HST policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> RAID support +CONFIG_BLK_DEV_MD policy<{'riscv64': 'y'}> +CONFIG_MD_AUTODETECT policy<{'riscv64': 'y'}> +CONFIG_MD_LINEAR policy<{'riscv64': 'm'}> +CONFIG_MD_RAID0 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID1 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID10 policy<{'riscv64': 'm'}> +CONFIG_MD_RAID456 policy<{'riscv64': 'm'}> +CONFIG_MD_MULTIPATH policy<{'riscv64': 'm'}> +CONFIG_MD_FAULTY policy<{'riscv64': 'm'}> +CONFIG_MD_CLUSTER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiplexer drivers +CONFIG_MUX_ADG792A policy<{'riscv64': 'm'}> +CONFIG_MUX_ADGS1408 policy<{'riscv64': 'm'}> +CONFIG_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_MUX_MMIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVDIMM (Non-Volatile Memory Device) Support +CONFIG_LIBNVDIMM policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_PMEM policy<{'riscv64': 'm'}> +CONFIG_ND_BLK policy<{'riscv64': 'm'}> +CONFIG_BTT policy<{'riscv64': 'y'}> +CONFIG_OF_PMEM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVME Support +CONFIG_BLK_DEV_NVME policy<{'riscv64': 'm'}> +CONFIG_NVME_MULTIPATH policy<{'riscv64': 'y'}> +CONFIG_NVME_HWMON policy<{'riscv64': 'y'}> +CONFIG_NVME_RDMA policy<{'riscv64': 'm'}> +CONFIG_NVME_FC policy<{'riscv64': 'm'}> +CONFIG_NVME_TCP policy<{'riscv64': 'm'}> +# +CONFIG_BLK_DEV_NVME mark note + +# Menu: Device Drivers >> NVME Support >> NVMe Target support +CONFIG_NVME_TARGET policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_LOOP policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_RDMA policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_FC policy<{'riscv64': 'm'}> +CONFIG_NVME_TARGET_FCLOOP policy<{'riscv64': 'n'}> +CONFIG_NVME_TARGET_TCP policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> NVMEM Support +CONFIG_NVMEM policy<{'riscv64': 'y'}> +CONFIG_NVMEM_SYSFS policy<{'riscv64': 'y'}> +CONFIG_NVMEM_SPMI_SDAM policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_EEPROM policy<{'riscv64': 'm'}> +# +CONFIG_NVMEM flag note + +# Menu: Device Drivers >> Network device support +CONFIG_NETDEVICES policy<{'riscv64': 'y'}> +CONFIG_HIPPI policy<{'riscv64': 'n'}> +CONFIG_MICREL_KS8995MA policy<{'riscv64': 'm'}> +CONFIG_PLIP policy<{'riscv64': 'm'}> +CONFIG_VMXNET3 policy<{'riscv64': 'm'}> +CONFIG_USB4_NET policy<{'riscv64': 'm'}> +CONFIG_NETDEVSIM policy<{'riscv64': 'm'}> +CONFIG_NET_FAILOVER policy<{'riscv64': 'm'}> +# +CONFIG_HIPPI note +CONFIG_XEN_NETDEV_FRONTEND note + +# Menu: Device Drivers >> Network device support >> ARCnet support +CONFIG_ARCNET policy<{'riscv64': 'm'}> +CONFIG_ARCNET_1201 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_1051 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_RAW policy<{'riscv64': 'm'}> +CONFIG_ARCNET_CAP policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM90xx policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM90xxIO policy<{'riscv64': 'm'}> +CONFIG_ARCNET_RIM_I policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ARCnet support >> ARCnet COM20020 chipset driver +CONFIG_ARCNET_COM20020 policy<{'riscv64': 'm'}> +CONFIG_ARCNET_COM20020_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers +CONFIG_ATM_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_ATM_DUMMY policy<{'riscv64': 'm'}> +CONFIG_ATM_TCP policy<{'riscv64': 'm'}> +CONFIG_ATM_LANAI policy<{'riscv64': 'm'}> +CONFIG_ATM_ENI policy<{'riscv64': 'm'}> +CONFIG_ATM_ENI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_NICSTAR policy<{'riscv64': 'm'}> +CONFIG_ATM_NICSTAR_USE_SUNI policy<{'riscv64': 'n'}> +CONFIG_ATM_NICSTAR_USE_IDT77105 policy<{'riscv64': 'n'}> +CONFIG_ATM_IDT77252 policy<{'riscv64': 'm'}> +CONFIG_ATM_IDT77252_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_IDT77252_RCV_ALL policy<{'riscv64': 'n'}> +CONFIG_ATM_IA policy<{'riscv64': 'm'}> +CONFIG_ATM_IA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATM_HE policy<{'riscv64': 'm'}> +CONFIG_ATM_HE_USE_SUNI policy<{'riscv64': 'y'}> +CONFIG_ATM_SOLOS policy<{'riscv64': 'm'}> +# +CONFIG_ATM_NICSTAR_USE_IDT77105 flag + +# Menu: Device Drivers >> Network device support >> ATM drivers >> FORE Systems 200E-series +CONFIG_ATM_FORE200E policy<{'riscv64': 'm'}> +CONFIG_ATM_FORE200E_USE_TASKLET policy<{'riscv64': 'n'}> +CONFIG_ATM_FORE200E_TX_RETRY policy<{'riscv64': '16'}> +CONFIG_ATM_FORE200E_DEBUG policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers >> Fine-tune burst settings +CONFIG_ATM_ENI_TUNE_BURST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> CAIF transport drivers +CONFIG_CAIF_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_CAIF_TTY policy<{'riscv64': 'm'}> +CONFIG_CAIF_SPI_SLAVE policy<{'riscv64': 'm'}> +CONFIG_CAIF_SPI_SYNC policy<{'riscv64': 'n'}> +CONFIG_CAIF_HSI policy<{'riscv64': 'm'}> +CONFIG_CAIF_VIRTIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers +CONFIG_NET_DSA_BCM_SF2 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_LOOP policy<{'riscv64': 'n'}> +CONFIG_NET_DSA_LANTIQ_GSWIP policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MT7530 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6060 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2 policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_MV88E6XXX_PTP policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_AR9331 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105_PTP policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_TAS policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_VL policy<{'riscv64': 'y'}> +CONFIG_NET_DSA_QCA8K policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_REALTEK_SMI policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_I2C policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_MDIO policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM policy<{'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<{'riscv64': 'm'}> +CONFIG_B53_SPI_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_MDIO_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_MMAP_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_SRAB_DRIVER policy<{'riscv64': 'm'}> +CONFIG_B53_SERDES policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ8795 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ8795 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ9477 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ9477 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support +CONFIG_ETHERNET policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ADAPTEC policy<{'riscv64': 'y'}> +CONFIG_ADAPTEC_STARFIRE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AGERE policy<{'riscv64': 'y'}> +CONFIG_ET131X policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_ALACRITECH policy<{'riscv64': 'y'}> +CONFIG_SLICOSS policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_ALTEON policy<{'riscv64': 'y'}> +CONFIG_ACENIC policy<{'riscv64': 'm'}> +CONFIG_ACENIC_OMIT_TIGON_I policy<{'riscv64': 'n'}> +CONFIG_ALTERA_TSE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AMAZON policy<{'riscv64': 'y'}> +CONFIG_ENA_ETHERNET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_AQUANTIA policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ARC policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_AURORA policy<{'riscv64': 'y'}> +CONFIG_AURORA_NB8800 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_BROCADE policy<{'riscv64': 'y'}> +CONFIG_BNA policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CADENCE policy<{'riscv64': 'y'}> +CONFIG_MACB policy<{'riscv64': 'm'}> +CONFIG_MACB_USE_HWSTAMP policy<{'riscv64': 'y'}> +CONFIG_MACB_PCI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CISCO policy<{'riscv64': 'y'}> +CONFIG_ENIC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_CORTINA policy<{'riscv64': 'y'}> +CONFIG_GEMINI_ETHERNET policy<{'riscv64': 'm'}> +CONFIG_DNET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_DEC policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_DLINK policy<{'riscv64': 'y'}> +CONFIG_DL2K policy<{'riscv64': 'm'}> +CONFIG_SUNDANCE policy<{'riscv64': 'm'}> +CONFIG_SUNDANCE_MMIO policy<{'riscv64': 'n'}> +CONFIG_NET_VENDOR_EMULEX policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_EZCHIP policy<{'riscv64': 'y'}> +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_GOOGLE policy<{'riscv64': 'y'}> +CONFIG_GVE policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_HUAWEI policy<{'riscv64': 'y'}> +CONFIG_JME policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_MICROSEMI policy<{'riscv64': 'y'}> +CONFIG_MSCC_OCELOT_SWITCH policy<{'riscv64': 'm'}> +CONFIG_MSCC_OCELOT_SWITCH_OCELOT policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_MYRI policy<{'riscv64': 'y'}> +CONFIG_MYRI10GE policy<{'riscv64': 'm'}> +CONFIG_FEALNX policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_NETERION policy<{'riscv64': 'y'}> +CONFIG_S2IO policy<{'riscv64': 'm'}> +CONFIG_VXGE policy<{'riscv64': 'm'}> +CONFIG_VXGE_DEBUG_TRACE_ALL policy<{'riscv64': 'n'}> +CONFIG_NET_VENDOR_NETRONOME policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_NI policy<{'riscv64': 'y'}> +CONFIG_NI_XGE_MANAGEMENT_ENET policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_NVIDIA policy<{'riscv64': 'y'}> +CONFIG_FORCEDETH policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_OKI policy<{'riscv64': 'y'}> +CONFIG_ETHOC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_PACKET_ENGINES policy<{'riscv64': 'y'}> +CONFIG_HAMACHI policy<{'riscv64': 'm'}> +CONFIG_YELLOWFIN policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_PENSANDO policy<{'riscv64': 'y'}> +CONFIG_IONIC policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_RDC policy<{'riscv64': 'y'}> +CONFIG_R6040 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_RENESAS policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_ROCKER policy<{'riscv64': 'y'}> +CONFIG_ROCKER policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SAMSUNG policy<{'riscv64': 'y'}> +CONFIG_SXGBE_ETH policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SEEQ policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SOLARFLARE policy<{'riscv64': 'y'}> +CONFIG_SFC_FALCON policy<{'riscv64': 'm'}> +CONFIG_SFC_FALCON_MTD policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SILAN policy<{'riscv64': 'y'}> +CONFIG_SC92031 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SIS policy<{'riscv64': 'y'}> +CONFIG_SIS900 policy<{'riscv64': 'm'}> +CONFIG_SIS190 policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_SOCIONEXT policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_STMICRO policy<{'riscv64': 'y'}> +CONFIG_NET_VENDOR_SYNOPSYS policy<{'riscv64': 'y'}> +CONFIG_DWC_XLGMAC policy<{'riscv64': 'm'}> +CONFIG_DWC_XLGMAC_PCI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_TEHUTI policy<{'riscv64': 'y'}> +CONFIG_TEHUTI policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_VIA policy<{'riscv64': 'y'}> +CONFIG_VIA_RHINE policy<{'riscv64': 'm'}> +CONFIG_VIA_RHINE_MMIO policy<{'riscv64': 'y'}> +CONFIG_VIA_VELOCITY policy<{'riscv64': 'm'}> +CONFIG_NET_VENDOR_WIZNET policy<{'riscv64': 'y'}> +CONFIG_WIZNET_W5100 policy<{'riscv64': 'm'}> +CONFIG_WIZNET_W5300 policy<{'riscv64': 'm'}> +CONFIG_WIZNET_W5100_SPI policy<{'riscv64': 'm'}> +# +CONFIG_NET_VENDOR_EMULEX note + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> 3Com devices +CONFIG_NET_VENDOR_3COM policy<{'riscv64': 'y'}> +CONFIG_VORTEX policy<{'riscv64': 'm'}> +CONFIG_TYPHOON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> AMD devices +CONFIG_NET_VENDOR_AMD policy<{'riscv64': 'y'}> +CONFIG_AMD8111_ETH policy<{'riscv64': 'm'}> +CONFIG_PCNET32 policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'y'}> +CONFIG_ATL2 policy<{'riscv64': 'm'}> +CONFIG_ATL1 policy<{'riscv64': 'm'}> +CONFIG_ATL1E policy<{'riscv64': 'm'}> +CONFIG_ATL1C policy<{'riscv64': 'm'}> +CONFIG_ALX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices +CONFIG_NET_VENDOR_BROADCOM policy<{'riscv64': 'y'}> +CONFIG_B44 policy<{'riscv64': 'm'}> +CONFIG_BCMGENET policy<{'riscv64': 'm'}> +CONFIG_BNX2 policy<{'riscv64': 'm'}> +CONFIG_CNIC policy<{'riscv64': 'm'}> +CONFIG_TIGON3 policy<{'riscv64': 'm'}> +CONFIG_TIGON3_HWMON policy<{'riscv64': 'y'}> +CONFIG_BNX2X policy<{'riscv64': 'm'}> +CONFIG_BNX2X_SRIOV policy<{'riscv64': 'y'}> +CONFIG_SYSTEMPORT policy<{'riscv64': 'm'}> +# +CONFIG_TIGON3 flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices >> Broadcom NetXtreme-C/E support +CONFIG_BNXT policy<{'riscv64': 'm'}> +CONFIG_BNXT_SRIOV policy<{'riscv64': 'y'}> +CONFIG_BNXT_FLOWER_OFFLOAD policy<{'riscv64': 'y'}> +CONFIG_BNXT_DCB policy<{'riscv64': 'y'}> +CONFIG_BNXT_HWMON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cavium ethernet drivers +CONFIG_NET_VENDOR_CAVIUM policy<{'riscv64': 'y'}> +CONFIG_THUNDER_NIC_PF policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_VF policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_BGX policy<{'riscv64': 'm'}> +CONFIG_THUNDER_NIC_RGX policy<{'riscv64': 'm'}> +CONFIG_CAVIUM_PTP policy<{'riscv64': 'm'}> +CONFIG_LIQUIDIO policy<{'riscv64': 'm'}> +CONFIG_LIQUIDIO_VF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Chelsio devices +CONFIG_NET_VENDOR_CHELSIO policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T1 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T1_1G policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T3 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T4 policy<{'riscv64': 'm'}> +CONFIG_CHELSIO_T4_DCB policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T4_FCOE policy<{'riscv64': 'y'}> +CONFIG_CHELSIO_T4VF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cirrus devices + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices +CONFIG_NET_TULIP policy<{'riscv64': 'y'}> +CONFIG_DE2104X policy<{'riscv64': 'm'}> +CONFIG_DE2104X_DSL policy<{'riscv64': '0'}> +CONFIG_WINBOND_840 policy<{'riscv64': 'm'}> +CONFIG_DM9102 policy<{'riscv64': 'm'}> +CONFIG_ULI526X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices >> DECchip Tulip (dc2114x) PCI support +CONFIG_TULIP policy<{'riscv64': 'm'}> +CONFIG_TULIP_MWI policy<{'riscv64': 'n'}> +CONFIG_TULIP_MMIO policy<{'riscv64': 'n'}> +CONFIG_TULIP_NAPI policy<{'riscv64': 'n'}> +# +CONFIG_TULIP_NAPI flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Freescale devices + +# 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 + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> IBM devices + +# 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<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices +CONFIG_NET_VENDOR_INTEL policy<{'riscv64': 'y'}> +CONFIG_E100 policy<{'riscv64': 'm'}> +CONFIG_E1000 policy<{'riscv64': 'm'}> +CONFIG_E1000E policy<{'riscv64': 'm'}> +CONFIG_IGB policy<{'riscv64': 'm'}> +CONFIG_IGB_HWMON policy<{'riscv64': 'y'}> +CONFIG_IGBVF policy<{'riscv64': 'm'}> +CONFIG_IXGB policy<{'riscv64': 'm'}> +CONFIG_IXGBEVF policy<{'riscv64': 'm'}> +CONFIG_IXGBEVF_IPSEC policy<{'riscv64': 'y'}> +CONFIG_I40E policy<{'riscv64': 'm'}> +CONFIG_I40E_DCB policy<{'riscv64': 'y'}> +CONFIG_I40EVF policy<{'riscv64': 'm'}> +CONFIG_ICE policy<{'riscv64': 'm'}> +CONFIG_FM10K policy<{'riscv64': 'm'}> +CONFIG_IGC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices >> Intel(R) 10GbE PCI Express adapters support +CONFIG_IXGBE policy<{'riscv64': 'm'}> +CONFIG_IXGBE_HWMON policy<{'riscv64': 'y'}> +CONFIG_IXGBE_DCB policy<{'riscv64': 'y'}> +CONFIG_IXGBE_IPSEC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Marvell devices +CONFIG_NET_VENDOR_MARVELL policy<{'riscv64': 'y'}> +CONFIG_MVMDIO policy<{'riscv64': 'm'}> +CONFIG_SKGE policy<{'riscv64': 'm'}> +CONFIG_SKGE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SKGE_GENESIS policy<{'riscv64': 'y'}> +CONFIG_SKY2 policy<{'riscv64': 'm'}> +CONFIG_SKY2_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices +CONFIG_NET_VENDOR_MELLANOX policy<{'riscv64': 'y'}> +CONFIG_MLX4_EN policy<{'riscv64': 'm'}> +CONFIG_MLX4_EN_DCB policy<{'riscv64': 'y'}> +CONFIG_MLX4_DEBUG policy<{'riscv64': 'y'}> +CONFIG_MLX4_CORE_GEN2 policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE policy<{'riscv64': 'm'}> +CONFIG_MLX5_FPGA policy<{'riscv64': 'y'}> +CONFIG_MLX5_FPGA_IPSEC policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_IPSEC policy<{'riscv64': 'y'}> +CONFIG_MLX5_FPGA_TLS policy<{'riscv64': 'y'}> +CONFIG_MLXFW policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_MLX5_EN_ARFS policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_RXNFC policy<{'riscv64': 'y'}> +CONFIG_MLX5_MPFS policy<{'riscv64': 'y'}> +CONFIG_MLX5_ESWITCH policy<{'riscv64': 'y'}> +CONFIG_MLX5_CLS_ACT policy<{'riscv64': 'y'}> +CONFIG_MLX5_TC_CT policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE_EN_DCB policy<{'riscv64': 'y'}> +CONFIG_MLX5_CORE_IPOIB policy<{'riscv64': 'y'}> +CONFIG_MLX5_TLS policy<{'riscv64': 'y'}> +CONFIG_MLX5_EN_TLS policy<{'riscv64': 'y'}> +CONFIG_MLX5_SW_STEERING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support +CONFIG_MLXSW_CORE policy<{'riscv64': 'm'}> +CONFIG_MLXSW_CORE_HWMON policy<{'riscv64': 'y'}> +CONFIG_MLXSW_CORE_THERMAL policy<{'riscv64': 'y'}> +CONFIG_MLXSW_I2C policy<{'riscv64': 'm'}> +CONFIG_MLXSW_MINIMAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support >> PCI bus implementation for Mellanox Technologies Switch ASICs +CONFIG_MLXSW_PCI policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SWITCHIB policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SWITCHX2 policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SPECTRUM policy<{'riscv64': 'm'}> +CONFIG_MLXSW_SPECTRUM_DCB policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Micrel devices +CONFIG_NET_VENDOR_MICREL policy<{'riscv64': 'y'}> +CONFIG_KS8842 policy<{'riscv64': 'm'}> +CONFIG_KS8851 policy<{'riscv64': 'm'}> +CONFIG_KS8851_MLL policy<{'riscv64': 'm'}> +CONFIG_KSZ884X_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Microchip devices +CONFIG_NET_VENDOR_MICROCHIP policy<{'riscv64': 'y'}> +CONFIG_ENC28J60 policy<{'riscv64': 'm'}> +CONFIG_ENC28J60_WRITEVERIFY policy<{'riscv64': 'n'}> +CONFIG_ENCX24J600 policy<{'riscv64': 'm'}> +CONFIG_LAN743X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor 8390 devices +CONFIG_NET_VENDOR_8390 policy<{'riscv64': 'y'}> +CONFIG_NE2K_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor devices +CONFIG_NET_VENDOR_NATSEMI policy<{'riscv64': 'y'}> +CONFIG_NATSEMI policy<{'riscv64': 'm'}> +CONFIG_NS83820 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Netronome(R) NFP4000/NFP6000 NIC driver +CONFIG_NFP policy<{'riscv64': 'm'}> +CONFIG_NFP_APP_FLOWER policy<{'riscv64': 'y'}> +CONFIG_NFP_APP_ABM_NIC policy<{'riscv64': 'y'}> +CONFIG_NFP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices +CONFIG_NET_VENDOR_QLOGIC policy<{'riscv64': 'y'}> +CONFIG_QLA3XXX policy<{'riscv64': 'm'}> +CONFIG_NETXEN_NIC policy<{'riscv64': 'm'}> +CONFIG_QED policy<{'riscv64': 'm'}> +CONFIG_QED_SRIOV policy<{'riscv64': 'y'}> +CONFIG_QEDE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices >> QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support +CONFIG_QLCNIC policy<{'riscv64': 'm'}> +CONFIG_QLCNIC_SRIOV policy<{'riscv64': 'y'}> +CONFIG_QLCNIC_DCB policy<{'riscv64': 'y'}> +CONFIG_QLCNIC_HWMON policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Qualcomm devices +CONFIG_NET_VENDOR_QUALCOMM policy<{'riscv64': 'y'}> +CONFIG_QCA7000_SPI policy<{'riscv64': 'm'}> +CONFIG_QCA7000_UART policy<{'riscv64': 'm'}> +CONFIG_QCOM_EMAC policy<{'riscv64': 'm'}> +CONFIG_RMNET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices +CONFIG_NET_VENDOR_REALTEK policy<{'riscv64': 'y'}> +CONFIG_8139CP policy<{'riscv64': 'm'}> +CONFIG_R8169 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices >> RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support +CONFIG_8139TOO policy<{'riscv64': 'm'}> +CONFIG_8139TOO_PIO policy<{'riscv64': 'y'}> +CONFIG_8139TOO_TUNE_TWISTER policy<{'riscv64': 'n'}> +CONFIG_8139TOO_8129 policy<{'riscv64': 'y'}> +CONFIG_8139_OLD_RX_RESET policy<{'riscv64': 'n'}> +# +CONFIG_8139TOO_TUNE_TWISTER flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> SMC (SMSC)/Western Digital devices +CONFIG_NET_VENDOR_SMSC policy<{'riscv64': 'y'}> +CONFIG_EPIC100 policy<{'riscv64': 'm'}> +CONFIG_SMSC911X policy<{'riscv64': 'm'}> +CONFIG_SMSC9420 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver +CONFIG_STMMAC_ETH policy<{'riscv64': 'm'}> +CONFIG_STMMAC_SELFTESTS policy<{'riscv64': 'n'}> +CONFIG_STMMAC_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver >> STMMAC Platform bus support +CONFIG_STMMAC_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_DWMAC_DWC_QOS_ETH policy<{'riscv64': 'm'}> +CONFIG_DWMAC_GENERIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> ServerEngines' 10Gbps NIC - BladeEngine +CONFIG_BE2NET policy<{'riscv64': 'm'}> +CONFIG_BE2NET_HWMON policy<{'riscv64': 'y'}> +CONFIG_BE2NET_BE2 policy<{'riscv64': 'y'}> +CONFIG_BE2NET_BE3 policy<{'riscv64': 'y'}> +CONFIG_BE2NET_LANCER policy<{'riscv64': 'y'}> +CONFIG_BE2NET_SKYHAWK policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Solarflare SFC9000/SFC9100-family support +CONFIG_SFC policy<{'riscv64': 'm'}> +CONFIG_SFC_MTD policy<{'riscv64': 'y'}> +CONFIG_SFC_MCDI_MON policy<{'riscv64': 'y'}> +CONFIG_SFC_SRIOV policy<{'riscv64': 'y'}> +CONFIG_SFC_MCDI_LOGGING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Sun devices +CONFIG_NET_VENDOR_SUN policy<{'riscv64': 'y'}> +CONFIG_HAPPYMEAL policy<{'riscv64': 'm'}> +CONFIG_SUNGEM policy<{'riscv64': 'm'}> +CONFIG_CASSINI policy<{'riscv64': 'm'}> +CONFIG_NIU policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Texas Instruments (TI) devices +CONFIG_NET_VENDOR_TI policy<{'riscv64': 'y'}> +CONFIG_TI_CPSW_PHY_SEL policy<{'riscv64': 'n'}> +CONFIG_TLAN policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'n'}> +CONFIG_WIZNET_BUS_INDIRECT policy<{'riscv64': 'n'}> +CONFIG_WIZNET_BUS_ANY policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Xilinx devices +CONFIG_NET_VENDOR_XILINX policy<{'riscv64': 'y'}> +CONFIG_XILINX_AXI_EMAC policy<{'riscv64': 'm'}> +CONFIG_XILINX_LL_TEMAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> FDDI driver support +CONFIG_FDDI policy<{'riscv64': 'y'}> +CONFIG_DEFXX policy<{'riscv64': 'm'}> +CONFIG_DEFXX_MMIO policy<{'riscv64': 'n'}> +CONFIG_SKFP policy<{'riscv64': 'm'}> +# +CONFIG_DEFXX_MMIO flag + +# Menu: Device Drivers >> Network device support >> IEEE 802.15.4 drivers +CONFIG_IEEE802154_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_FAKELB policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_AT86RF230 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_AT86RF230_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IEEE802154_MRF24J40 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CC2520 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_ATUSB policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_ADF7242 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IEEE802154_MCR20A policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_HWSIM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> MDIO bus device drivers +CONFIG_MDIO_DEVICE policy<{'riscv64': 'y'}> +CONFIG_MDIO_BCM_UNIMAC policy<{'riscv64': 'm'}> +CONFIG_MDIO_BITBANG policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_GPIO policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MMIOREG policy<{'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER policy<{'riscv64': 'm'}> +CONFIG_MDIO_GPIO policy<{'riscv64': 'm'}> +CONFIG_MDIO_HISI_FEMAC policy<{'riscv64': 'm'}> +CONFIG_MDIO_IPQ4019 policy<{'riscv64': 'm'}> +CONFIG_MDIO_IPQ8064 policy<{'riscv64': 'm'}> +CONFIG_MDIO_MSCC_MIIM policy<{'riscv64': 'm'}> +CONFIG_MDIO_MVUSB policy<{'riscv64': 'm'}> +CONFIG_MDIO_OCTEON policy<{'riscv64': 'm'}> +CONFIG_MDIO_THUNDER policy<{'riscv64': 'm'}> +CONFIG_MDIO_XPCS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Network core driver support +CONFIG_NET_CORE policy<{'riscv64': 'y'}> +CONFIG_BONDING policy<{'riscv64': 'm'}> +CONFIG_DUMMY policy<{'riscv64': 'm'}> +CONFIG_WIREGUARD policy<{'riscv64': 'm'}> +CONFIG_WIREGUARD_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EQUALIZER policy<{'riscv64': 'm'}> +CONFIG_NET_FC policy<{'riscv64': 'y'}> +CONFIG_IFB policy<{'riscv64': 'm'}> +CONFIG_MACVLAN policy<{'riscv64': 'm'}> +CONFIG_MACVTAP policy<{'riscv64': 'm'}> +CONFIG_IPVLAN policy<{'riscv64': 'm'}> +CONFIG_IPVTAP policy<{'riscv64': 'm'}> +CONFIG_VXLAN policy<{'riscv64': 'm'}> +CONFIG_GENEVE policy<{'riscv64': 'm'}> +CONFIG_BAREUDP policy<{'riscv64': 'm'}> +CONFIG_GTP policy<{'riscv64': 'm'}> +CONFIG_MACSEC policy<{'riscv64': 'm'}> +CONFIG_NETCONSOLE policy<{'riscv64': 'm'}> +CONFIG_NETCONSOLE_DYNAMIC policy<{'riscv64': 'y'}> +CONFIG_NTB_NETDEV policy<{'riscv64': 'm'}> +CONFIG_RIONET policy<{'riscv64': 'm'}> +CONFIG_RIONET_TX_SIZE policy<{'riscv64': '128'}> +CONFIG_RIONET_RX_SIZE policy<{'riscv64': '128'}> +CONFIG_TUN policy<{'riscv64': 'y'}> +CONFIG_TUN_VNET_CROSS_LE policy<{'riscv64': 'n'}> +CONFIG_VETH policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_NET policy<{'riscv64': 'm'}> +CONFIG_NLMON policy<{'riscv64': 'm'}> +CONFIG_NET_VRF policy<{'riscv64': 'm'}> +CONFIG_VSOCKMON policy<{'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<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_BROADCAST policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_ROUNDROBIN policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_RANDOM policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP policy<{'riscv64': 'm'}> +CONFIG_NET_TEAM_MODE_LOADBALANCE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> PHY Device support and infrastructure +CONFIG_PHYLIB policy<{'riscv64': 'y'}> +CONFIG_LED_TRIGGER_PHY policy<{'riscv64': 'y'}> +CONFIG_SFP policy<{'riscv64': 'm'}> +CONFIG_ADIN_PHY policy<{'riscv64': 'm'}> +CONFIG_AMD_PHY policy<{'riscv64': 'm'}> +CONFIG_AQUANTIA_PHY policy<{'riscv64': 'm'}> +CONFIG_AX88796B_PHY policy<{'riscv64': 'n'}> +CONFIG_BCM7XXX_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM87XX_PHY policy<{'riscv64': 'm'}> +CONFIG_BROADCOM_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM54140_PHY policy<{'riscv64': 'm'}> +CONFIG_BCM84881_PHY policy<{'riscv64': 'm'}> +CONFIG_CICADA_PHY policy<{'riscv64': 'm'}> +CONFIG_CORTINA_PHY policy<{'riscv64': 'm'}> +CONFIG_DAVICOM_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83822_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83TC811_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83848_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83867_PHY policy<{'riscv64': 'm'}> +CONFIG_DP83869_PHY policy<{'riscv64': 'm'}> +CONFIG_FIXED_PHY policy<{'riscv64': 'y'}> +CONFIG_ICPLUS_PHY policy<{'riscv64': 'm'}> +CONFIG_INTEL_XWAY_PHY policy<{'riscv64': 'm'}> +CONFIG_LSI_ET1011C_PHY policy<{'riscv64': 'm'}> +CONFIG_LXT_PHY policy<{'riscv64': 'm'}> +CONFIG_MARVELL_PHY policy<{'riscv64': 'm'}> +CONFIG_MARVELL_10G_PHY policy<{'riscv64': 'm'}> +CONFIG_MICREL_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROCHIP_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROCHIP_T1_PHY policy<{'riscv64': 'm'}> +CONFIG_MICROSEMI_PHY policy<{'riscv64': 'm'}> +CONFIG_NATIONAL_PHY policy<{'riscv64': 'm'}> +CONFIG_NXP_TJA11XX_PHY policy<{'riscv64': 'm'}> +CONFIG_AT803X_PHY policy<{'riscv64': 'm'}> +CONFIG_QSEMI_PHY policy<{'riscv64': 'm'}> +CONFIG_REALTEK_PHY policy<{'riscv64': 'm'}> +CONFIG_RENESAS_PHY policy<{'riscv64': 'm'}> +CONFIG_ROCKCHIP_PHY policy<{'riscv64': 'm'}> +CONFIG_SMSC_PHY policy<{'riscv64': 'm'}> +CONFIG_STE10XP policy<{'riscv64': 'm'}> +CONFIG_TERANETICS_PHY policy<{'riscv64': 'm'}> +CONFIG_VITESSE_PHY policy<{'riscv64': 'm'}> +CONFIG_XILINX_GMII2RGMII policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> PPP (point-to-point protocol) support +CONFIG_PPP policy<{'riscv64': 'y'}> +CONFIG_PPP_BSDCOMP policy<{'riscv64': 'm'}> +CONFIG_PPP_DEFLATE policy<{'riscv64': 'm'}> +CONFIG_PPP_FILTER policy<{'riscv64': 'y'}> +CONFIG_PPP_MPPE policy<{'riscv64': 'm'}> +CONFIG_PPP_MULTILINK policy<{'riscv64': 'y'}> +CONFIG_PPPOATM policy<{'riscv64': 'm'}> +CONFIG_PPPOE policy<{'riscv64': 'm'}> +CONFIG_PPTP policy<{'riscv64': 'm'}> +CONFIG_PPPOL2TP policy<{'riscv64': 'm'}> +CONFIG_PPP_ASYNC policy<{'riscv64': 'm'}> +CONFIG_PPP_SYNC_TTY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> S/390 network device drivers >> Gigabit Ethernet device support + +# Menu: Device Drivers >> Network device support >> SLIP (serial line) support +CONFIG_SLIP policy<{'riscv64': 'm'}> +CONFIG_SLIP_COMPRESSED policy<{'riscv64': 'y'}> +CONFIG_SLIP_SMART policy<{'riscv64': 'y'}> +CONFIG_SLIP_MODE_SLIP6 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters +CONFIG_USB_NET_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_USB_CATC policy<{'riscv64': 'm'}> +CONFIG_USB_KAWETH policy<{'riscv64': 'm'}> +CONFIG_USB_PEGASUS policy<{'riscv64': 'm'}> +CONFIG_USB_RTL8150 policy<{'riscv64': 'm'}> +CONFIG_USB_RTL8152 policy<{'riscv64': 'm'}> +CONFIG_USB_LAN78XX policy<{'riscv64': 'm'}> +CONFIG_USB_HSO policy<{'riscv64': 'm'}> +CONFIG_USB_IPHETH policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters >> Multi-purpose USB Networking Framework +CONFIG_USB_USBNET policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AX8817X policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AX88179_178A policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDCETHER policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_EEM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_HUAWEI_CDC_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CDC_MBIM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_DM9601 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SR9700 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SR9800 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SMSC75XX policy<{'riscv64': 'm'}> +CONFIG_USB_NET_SMSC95XX policy<{'riscv64': 'm'}> +CONFIG_USB_NET_GL620A policy<{'riscv64': 'm'}> +CONFIG_USB_NET_NET1080 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_PLUSB policy<{'riscv64': 'm'}> +CONFIG_USB_NET_MCS7830 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_HOST policy<{'riscv64': 'm'}> +CONFIG_USB_NET_ZAURUS policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CX82310_ETH policy<{'riscv64': 'm'}> +CONFIG_USB_NET_KALMIA policy<{'riscv64': 'm'}> +CONFIG_USB_NET_QMI_WWAN policy<{'riscv64': 'm'}> +CONFIG_USB_NET_INT51X1 policy<{'riscv64': 'm'}> +CONFIG_USB_CDC_PHONET policy<{'riscv64': 'm'}> +CONFIG_USB_SIERRA_NET policy<{'riscv64': 'm'}> +CONFIG_USB_VL600 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_CH9200 policy<{'riscv64': 'm'}> +CONFIG_USB_NET_AQC111 policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_ALI_M5632 policy<{'riscv64': 'y'}> +CONFIG_USB_AN2720 policy<{'riscv64': 'y'}> +CONFIG_USB_BELKIN policy<{'riscv64': 'y'}> +CONFIG_USB_ARMLINUX policy<{'riscv64': 'y'}> +CONFIG_USB_EPSON2888 policy<{'riscv64': 'y'}> +CONFIG_USB_KC2190 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support +CONFIG_WAN policy<{'riscv64': 'y'}> +CONFIG_DLCI policy<{'riscv64': 'm'}> +CONFIG_DLCI_MAX policy<{'riscv64': '8'}> +CONFIG_LAPBETHER policy<{'riscv64': 'm'}> +CONFIG_X25_ASY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support >> Generic HDLC layer +CONFIG_HDLC policy<{'riscv64': 'm'}> +CONFIG_HDLC_RAW policy<{'riscv64': 'm'}> +CONFIG_HDLC_RAW_ETH policy<{'riscv64': 'm'}> +CONFIG_HDLC_CISCO policy<{'riscv64': 'm'}> +CONFIG_HDLC_FR policy<{'riscv64': 'm'}> +CONFIG_HDLC_PPP policy<{'riscv64': 'm'}> +CONFIG_HDLC_X25 policy<{'riscv64': 'm'}> +CONFIG_PCI200SYN policy<{'riscv64': 'm'}> +CONFIG_WANXL policy<{'riscv64': 'm'}> +CONFIG_PC300TOO policy<{'riscv64': 'm'}> +CONFIG_FARSYNC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> WiMAX Wireless Broadband devices +CONFIG_WIMAX_I2400M_USB policy<{'riscv64': 'm'}> +CONFIG_WIMAX_I2400M_DEBUG_LEVEL policy<{'riscv64': '8'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN +CONFIG_WLAN policy<{'riscv64': 'y'}> +CONFIG_WIRELESS_WDS policy<{'riscv64': 'n'}> +CONFIG_WLAN_VENDOR_ADMTEK policy<{'riscv64': 'y'}> +CONFIG_ADM8211 policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ATMEL policy<{'riscv64': 'y'}> +CONFIG_ATMEL policy<{'riscv64': 'm'}> +CONFIG_PCI_ATMEL policy<{'riscv64': 'm'}> +CONFIG_AT76C50X_USB policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_CISCO policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RALINK policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RSI policy<{'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_ST policy<{'riscv64': 'y'}> +CONFIG_CW1200 policy<{'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SDIO policy<{'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SPI policy<{'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ZYDAS policy<{'riscv64': 'y'}> +CONFIG_USB_ZD1201 policy<{'riscv64': 'm'}> +CONFIG_ZD1211RW policy<{'riscv64': 'm'}> +CONFIG_ZD1211RW_DEBUG policy<{'riscv64': 'n'}> +CONFIG_WLAN_VENDOR_QUANTENNA policy<{'riscv64': 'y'}> +CONFIG_QTNFMAC_PCIE policy<{'riscv64': 'm'}> +CONFIG_MAC80211_HWSIM policy<{'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_WLAN policy<{'riscv64': 'm'}> +CONFIG_VIRT_WIFI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices +CONFIG_WLAN_VENDOR_ATH policy<{'riscv64': 'y'}> +CONFIG_ATH_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH5K_PCI policy<{'riscv64': 'y'}> +CONFIG_ATH9K_BTCOEX_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_ATH9K_HTC policy<{'riscv64': 'm'}> +CONFIG_ATH9K_HTC_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_COMMON_SPECTRAL policy<{'riscv64': 'y'}> +CONFIG_AR5523 policy<{'riscv64': 'm'}> +CONFIG_WCN36XX policy<{'riscv64': 'm'}> +CONFIG_WCN36XX_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 5xxx wireless cards support +CONFIG_ATH5K policy<{'riscv64': 'm'}> +CONFIG_ATH5K_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH5K_TRACER policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11ac wireless cards support +CONFIG_ATH10K policy<{'riscv64': 'm'}> +CONFIG_ATH10K_PCI policy<{'riscv64': 'm'}> +CONFIG_ATH10K_AHB policy<{'riscv64': 'y'}> +CONFIG_ATH10K_SDIO policy<{'riscv64': 'm'}> +CONFIG_ATH10K_USB policy<{'riscv64': 'm'}> +CONFIG_ATH10K_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH10K_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH10K_SPECTRAL policy<{'riscv64': 'y'}> +CONFIG_ATH10K_TRACING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11n wireless cards support +CONFIG_ATH9K policy<{'riscv64': 'm'}> +CONFIG_ATH9K_PCI policy<{'riscv64': 'y'}> +CONFIG_ATH9K_AHB policy<{'riscv64': 'y'}> +CONFIG_ATH9K_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_STATION_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_ATH9K_DYNACK policy<{'riscv64': 'n'}> +CONFIG_ATH9K_RFKILL policy<{'riscv64': 'y'}> +CONFIG_ATH9K_CHANNEL_CONTEXT policy<{'riscv64': 'y'}> +CONFIG_ATH9K_PCOEM policy<{'riscv64': 'y'}> +CONFIG_ATH9K_PCI_NO_EEPROM policy<{'riscv64': 'm'}> +CONFIG_ATH9K_HWRNG policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros mobile chipsets support +CONFIG_ATH6KL policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_SDIO policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_USB policy<{'riscv64': 'm'}> +CONFIG_ATH6KL_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ATH6KL_TRACING policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Linux Community AR9170 802.11n USB support +CONFIG_CARL9170 policy<{'riscv64': 'm'}> +CONFIG_CARL9170_LEDS policy<{'riscv64': 'y'}> +CONFIG_CARL9170_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_CARL9170_HWRNG policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Qualcomm Technologies 802.11ax chipset support + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Wilocity 60g WiFi card wil6210 support +CONFIG_WIL6210 policy<{'riscv64': 'm'}> +CONFIG_WIL6210_ISR_COR policy<{'riscv64': 'y'}> +CONFIG_WIL6210_TRACING policy<{'riscv64': 'y'}> +CONFIG_WIL6210_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices +CONFIG_WLAN_VENDOR_BROADCOM policy<{'riscv64': 'y'}> +CONFIG_B43LEGACY policy<{'riscv64': 'm'}> +CONFIG_B43LEGACY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BRCMSMAC policy<{'riscv64': 'm'}> +CONFIG_BRCM_TRACING policy<{'riscv64': 'y'}> +CONFIG_BRCMDBG policy<{'riscv64': 'n'}> +# +CONFIG_BRCMDBG flag + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom 43xx wireless support (mac80211 stack) +CONFIG_B43 policy<{'riscv64': 'm'}> +CONFIG_B43_SDIO policy<{'riscv64': 'n'}> +CONFIG_B43_PHY_G policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_N policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_LP policy<{'riscv64': 'y'}> +CONFIG_B43_PHY_HT policy<{'riscv64': 'y'}> +CONFIG_B43_DEBUG policy<{'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<{'riscv64': 'y'}> +CONFIG_B43_BUSES_BCMA policy<{'riscv64': 'n'}> +CONFIG_B43_BUSES_SSB policy<{'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<{'riscv64': 'y'}> +CONFIG_B43LEGACY_DMA_MODE policy<{'riscv64': 'n'}> +CONFIG_B43LEGACY_PIO_MODE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom FullMAC WLAN driver +CONFIG_BRCMFMAC policy<{'riscv64': 'm'}> +CONFIG_BRCMFMAC_SDIO policy<{'riscv64': 'y'}> +CONFIG_BRCMFMAC_USB policy<{'riscv64': 'y'}> +CONFIG_BRCMFMAC_PCIE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices +CONFIG_WLAN_VENDOR_INTEL policy<{'riscv64': 'y'}> +CONFIG_IPW2100 policy<{'riscv64': 'm'}> +CONFIG_IPW2100_MONITOR policy<{'riscv64': 'y'}> +CONFIG_IPW2100_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBIPW_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWL4965 policy<{'riscv64': 'm'}> +CONFIG_IWL3945 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> Intel PRO/Wireless 2200BG and 2915ABG Network Connection +CONFIG_IPW2200 policy<{'riscv64': 'm'}> +CONFIG_IPW2200_MONITOR policy<{'riscv64': 'y'}> +CONFIG_IPW2200_RADIOTAP policy<{'riscv64': 'y'}> +CONFIG_IPW2200_PROMISCUOUS policy<{'riscv64': 'y'}> +CONFIG_IPW2200_QOS policy<{'riscv64': 'y'}> +CONFIG_IPW2200_DEBUG policy<{'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<{'riscv64': 'm'}> +CONFIG_IWLDVM policy<{'riscv64': 'm'}> +CONFIG_IWLMVM policy<{'riscv64': 'm'}> +CONFIG_IWLWIFI_BCAST_FILTERING policy<{'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) >> Debugging Options +CONFIG_IWLWIFI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWLWIFI_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_IWLWIFI_DEVICE_TRACING policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> iwl3945 / iwl4965 Debugging Options +CONFIG_IWLEGACY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IWLEGACY_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices +CONFIG_WLAN_VENDOR_INTERSIL policy<{'riscv64': 'y'}> +CONFIG_PRISM54 policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) +CONFIG_HERMES policy<{'riscv64': 'm'}> +CONFIG_HERMES_PRISM policy<{'riscv64': 'n'}> +CONFIG_HERMES_CACHE_FW_ON_INIT policy<{'riscv64': 'y'}> +CONFIG_PLX_HERMES policy<{'riscv64': 'm'}> +CONFIG_TMD_HERMES policy<{'riscv64': 'm'}> +CONFIG_NORTEL_HERMES policy<{'riscv64': 'm'}> +CONFIG_ORINOCO_USB policy<{'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<{'riscv64': 'm'}> +CONFIG_HOSTAP_FIRMWARE policy<{'riscv64': 'y'}> +CONFIG_HOSTAP_FIRMWARE_NVRAM policy<{'riscv64': 'y'}> +CONFIG_HOSTAP_PLX policy<{'riscv64': 'm'}> +CONFIG_HOSTAP_PCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Softmac Prism54 support +CONFIG_P54_COMMON policy<{'riscv64': 'm'}> +CONFIG_P54_USB policy<{'riscv64': 'm'}> +CONFIG_P54_PCI policy<{'riscv64': 'm'}> +CONFIG_P54_SPI policy<{'riscv64': 'm'}> +CONFIG_P54_SPI_DEFAULT_EEPROM policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices +CONFIG_WLAN_VENDOR_MARVELL policy<{'riscv64': 'y'}> +CONFIG_LIBERTAS_THINFIRM policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_THINFIRM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBERTAS_THINFIRM_USB policy<{'riscv64': 'm'}> +CONFIG_MWL8K policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell 8xxx Libertas WLAN driver support +CONFIG_LIBERTAS policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_USB policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_SDIO policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_SPI policy<{'riscv64': 'm'}> +CONFIG_LIBERTAS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_LIBERTAS_MESH policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell WiFi-Ex Driver +CONFIG_MWIFIEX policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_SDIO policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_PCIE policy<{'riscv64': 'm'}> +CONFIG_MWIFIEX_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> MediaTek devices +CONFIG_WLAN_VENDOR_MEDIATEK policy<{'riscv64': 'y'}> +CONFIG_MT7601U policy<{'riscv64': 'm'}> +CONFIG_MT76x0U policy<{'riscv64': 'm'}> +CONFIG_MT76x0E policy<{'riscv64': 'm'}> +CONFIG_MT76x2E policy<{'riscv64': 'm'}> +CONFIG_MT76x2U policy<{'riscv64': 'm'}> +CONFIG_MT7603E policy<{'riscv64': 'm'}> +CONFIG_MT7615E policy<{'riscv64': 'm'}> +CONFIG_MT7663U policy<{'riscv64': 'm'}> +CONFIG_MT7915E policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support +CONFIG_RT2X00 policy<{'riscv64': 'm'}> +CONFIG_RT2400PCI policy<{'riscv64': 'm'}> +CONFIG_RT2500PCI policy<{'riscv64': 'm'}> +CONFIG_RT61PCI policy<{'riscv64': 'm'}> +CONFIG_RT2500USB policy<{'riscv64': 'm'}> +CONFIG_RT73USB policy<{'riscv64': 'm'}> +CONFIG_RT2X00_LIB_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_RT2X00_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support +CONFIG_RT2800PCI policy<{'riscv64': 'm'}> +CONFIG_RT2800PCI_RT33XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT35XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT53XX policy<{'riscv64': 'y'}> +CONFIG_RT2800PCI_RT3290 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (USB) support +CONFIG_RT2800USB policy<{'riscv64': 'm'}> +CONFIG_RT2800USB_RT33XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT35XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT3573 policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT53XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_RT55XX policy<{'riscv64': 'y'}> +CONFIG_RT2800USB_UNKNOWN policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices +CONFIG_WLAN_VENDOR_REALTEK policy<{'riscv64': 'y'}> +CONFIG_RTL8180 policy<{'riscv64': 'm'}> +CONFIG_RTL8187 policy<{'riscv64': 'm'}> +CONFIG_RTL8XXXU policy<{'riscv64': 'm'}> +CONFIG_RTL8XXXU_UNTESTED policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek 802.11ac wireless chips support +CONFIG_RTW88 policy<{'riscv64': 'm'}> +CONFIG_RTW88_8822BE policy<{'riscv64': 'm'}> +CONFIG_RTW88_8822CE policy<{'riscv64': 'm'}> +CONFIG_RTW88_8723DE policy<{'riscv64': 'm'}> +CONFIG_RTW88_DEBUG policy<{'riscv64': 'y'}> +CONFIG_RTW88_DEBUGFS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek rtlwifi family of devices +CONFIG_RTL_CARDS policy<{'riscv64': 'm'}> +CONFIG_RTL8192CE policy<{'riscv64': 'm'}> +CONFIG_RTL8192SE policy<{'riscv64': 'm'}> +CONFIG_RTL8192DE policy<{'riscv64': 'm'}> +CONFIG_RTL8723AE policy<{'riscv64': 'm'}> +CONFIG_RTL8723BE policy<{'riscv64': 'm'}> +CONFIG_RTL8188EE policy<{'riscv64': 'm'}> +CONFIG_RTL8192EE policy<{'riscv64': 'm'}> +CONFIG_RTL8821AE policy<{'riscv64': 'm'}> +CONFIG_RTL8192CU policy<{'riscv64': 'm'}> +CONFIG_RTLWIFI_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Redpine Signals Inc 91x WLAN driver support +CONFIG_RSI_91X policy<{'riscv64': 'm'}> +CONFIG_RSI_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_RSI_SDIO policy<{'riscv64': 'm'}> +CONFIG_RSI_USB policy<{'riscv64': 'm'}> +CONFIG_RSI_COEX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Texas Instrument devices +CONFIG_WLAN_VENDOR_TI policy<{'riscv64': 'y'}> +CONFIG_WL1251 policy<{'riscv64': 'm'}> +CONFIG_WL1251_SPI policy<{'riscv64': 'm'}> +CONFIG_WL1251_SDIO policy<{'riscv64': 'm'}> +CONFIG_WL12XX policy<{'riscv64': 'm'}> +CONFIG_WL18XX policy<{'riscv64': 'm'}> +CONFIG_WLCORE policy<{'riscv64': 'm'}> +CONFIG_WLCORE_SPI policy<{'riscv64': 'm'}> +CONFIG_WLCORE_SDIO policy<{'riscv64': 'm'}> +CONFIG_WILINK_PLATFORM_DATA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Non-Transparent Bridge support +CONFIG_NTB policy<{'riscv64': 'm'}> +CONFIG_NTB_MSI policy<{'riscv64': 'y'}> +CONFIG_NTB_IDT policy<{'riscv64': 'm'}> +CONFIG_NTB_SWITCHTEC policy<{'riscv64': 'm'}> +CONFIG_NTB_PINGPONG policy<{'riscv64': 'm'}> +CONFIG_NTB_TOOL policy<{'riscv64': 'm'}> +CONFIG_NTB_PERF policy<{'riscv64': 'm'}> +CONFIG_NTB_MSI_TEST policy<{'riscv64': 'n'}> +CONFIG_NTB_TRANSPORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support +CONFIG_INTERCONNECT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support >> Qualcomm Network-on-Chip interconnect drivers + +# Menu: Device Drivers >> On-Chip Interconnect management support >> i.MX interconnect drivers + +# Menu: Device Drivers >> Open-Channel SSD target support +CONFIG_NVM policy<{'riscv64': 'y'}> +CONFIG_NVM_PBLK policy<{'riscv64': 'm'}> +CONFIG_NVM_PBLK_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support +CONFIG_PCCARD policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> 16-bit PCMCIA support + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> CardBus yenta-compatible bridge support + +# Menu: Device Drivers >> PCI support +CONFIG_PCI policy<{'riscv64': 'y'}> +CONFIG_PCI_MSI policy<{'riscv64': 'y'}> +CONFIG_PCI_QUIRKS policy<{'riscv64': 'y'}> +CONFIG_PCI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PCI_REALLOC_ENABLE_AUTO policy<{'riscv64': 'y'}> +CONFIG_PCI_STUB policy<{'riscv64': 'm'}> +CONFIG_PCI_PF_STUB policy<{'riscv64': 'm'}> +CONFIG_PCI_IOV policy<{'riscv64': 'y'}> +CONFIG_PCI_PRI policy<{'riscv64': 'y'}> +CONFIG_PCI_PASID policy<{'riscv64': 'y'}> +CONFIG_PCIEASPM policy<{'riscv64': 'y'}> +CONFIG_PCIE_PTM policy<{'riscv64': 'y'}> +# +CONFIG_PCI_P2PDMA flag + +# Menu: Device Drivers >> PCI support >> Default ASPM policy +CONFIG_PCIEASPM_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_PCIEASPM_POWERSAVE policy<{'riscv64': 'n'}> +CONFIG_PCIEASPM_POWER_SUPERSAVE policy<{'riscv64': 'n'}> +CONFIG_PCIEASPM_PERFORMANCE policy<{'riscv64': 'n'}> +# +CONFIG_PCIEASPM_DEFAULT note + +# Menu: Device Drivers >> PCI support >> PCI Endpoint +CONFIG_PCI_ENDPOINT policy<{'riscv64': 'y'}> +CONFIG_PCI_ENDPOINT_CONFIGFS policy<{'riscv64': 'y'}> +CONFIG_PCI_EPF_TEST policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support +CONFIG_PCIEPORTBUS policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_PCIE policy<{'riscv64': 'y'}> +# +CONFIG_PCIEPORTBUS mark note +CONFIG_HOTPLUG_PCI_PCIE mark note + +# Menu: Device Drivers >> PCI support >> PCI Express Port Bus support >> PCI Express Advanced Error Reporting support +CONFIG_PCIEAER policy<{'riscv64': 'y'}> +CONFIG_PCIEAER_INJECT policy<{'riscv64': 'n'}> +CONFIG_PCIE_ECRC policy<{'riscv64': 'n'}> +CONFIG_PCIE_DPC policy<{'riscv64': 'y'}> +# +CONFIG_PCIEAER_INJECT flag + +# Menu: Device Drivers >> PCI support >> PCI controller drivers +CONFIG_PCI_FTPCI100 policy<{'riscv64': 'y'}> +CONFIG_PCI_HOST_GENERIC policy<{'riscv64': 'y'}> +CONFIG_PCIE_XILINX policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Cadence PCIe controllers support +CONFIG_PCIE_CADENCE_PLAT_HOST policy<{'riscv64': 'y'}> +CONFIG_PCIE_CADENCE_PLAT_EP policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> DesignWare PCI Core Support +CONFIG_PCIE_DW_PLAT_HOST policy<{'riscv64': 'y'}> +CONFIG_PCIE_DW_PLAT_EP policy<{'riscv64': 'y'}> +CONFIG_PCI_MESON policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Mobiveil PCIe Core Support + +# Menu: Device Drivers >> PCI support >> PCI switch controller drivers +CONFIG_PCI_SW_SWITCHTEC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> PCI support >> Support for PCI Hotplug +CONFIG_HOTPLUG_PCI policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_CPCI policy<{'riscv64': 'y'}> +CONFIG_HOTPLUG_PCI_SHPC policy<{'riscv64': 'y'}> +# +CONFIG_HOTPLUG_PCI_SHPC note + +# Menu: Device Drivers >> PHY Subsystem +CONFIG_GENERIC_PHY policy<{'riscv64': 'y'}> +CONFIG_BCM_KONA_USB2_PHY policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_TORRENT policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_DPHY policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SIERRA policy<{'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SALVO policy<{'riscv64': 'm'}> +CONFIG_PHY_FSL_IMX8MQ_USB policy<{'riscv64': 'm'}> +CONFIG_PHY_MIXEL_MIPI_DPHY policy<{'riscv64': 'm'}> +CONFIG_PHY_PXA_28NM_HSIC policy<{'riscv64': 'm'}> +CONFIG_PHY_PXA_28NM_USB2 policy<{'riscv64': 'm'}> +CONFIG_PHY_CPCAP_USB policy<{'riscv64': 'm'}> +CONFIG_PHY_MAPPHONE_MDM6600 policy<{'riscv64': 'm'}> +CONFIG_PHY_OCELOT_SERDES policy<{'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_HS policy<{'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_HSIC policy<{'riscv64': 'm'}> +CONFIG_PHY_SAMSUNG_USB2 policy<{'riscv64': 'm'}> +CONFIG_PHY_TUSB1210 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> PPS support +CONFIG_PPS policy<{'riscv64': 'y'}> +CONFIG_PPS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PPS_CLIENT_KTIMER policy<{'riscv64': 'n'}> +CONFIG_PPS_CLIENT_LDISC policy<{'riscv64': 'm'}> +CONFIG_PPS_CLIENT_PARPORT policy<{'riscv64': 'm'}> +CONFIG_PPS_CLIENT_GPIO policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_DP83640_PHY policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_INES policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_IDT82P33 policy<{'riscv64': 'm'}> +CONFIG_PTP_1588_CLOCK_IDTCM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Parallel port support +CONFIG_PARPORT policy<{'riscv64': 'm'}> +CONFIG_PARPORT_AX88796 policy<{'riscv64': 'm'}> +CONFIG_PARPORT_1284 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Parallel port support >> PC-style hardware + +# Menu: Device Drivers >> Performance monitor support + +# Menu: Device Drivers >> Pin controllers +CONFIG_PINCTRL policy<{'riscv64': 'y'}> +CONFIG_PINMUX policy<{'riscv64': 'y'}> +CONFIG_PINCONF policy<{'riscv64': 'y'}> +CONFIG_DEBUG_PINCTRL policy<{'riscv64': 'n'}> +CONFIG_PINCTRL_AS3722 policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_AXP209 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_DA9062 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_MCP23S08 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_SINGLE policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_SX150X policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_STMFX policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_PALMAS policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_RK805 policy<{'riscv64': 'm'}> +CONFIG_PINCTRL_OCELOT policy<{'riscv64': 'y'}> +CONFIG_PINCTRL_LOCHNAGAR policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Pin controllers >> Amlogic SoC pinctrl drivers + +# Menu: Device Drivers >> Pin controllers >> MediaTek pinctrl drivers +# +CONFIG_PINCTRL_MT8135 flag +CONFIG_PINCTRL_MT8127 flag + +# Menu: Device Drivers >> Pin controllers >> UniPhier SoC pinctrl drivers + +# Menu: Device Drivers >> Platform support for Chrome hardware + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller >> ChromeOS Wilco Embedded Controller + +# Menu: Device Drivers >> Platform support for Goldfish virtual devices +CONFIG_GOLDFISH policy<{'riscv64': 'y'}> +CONFIG_GOLDFISH_PIPE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Platform support for Mellanox hardware + +# Menu: Device Drivers >> Platform support for OLPC XO 1.75 hardware + +# Menu: Device Drivers >> Plug and Play support + +# Menu: Device Drivers >> Power supply class support +CONFIG_POWER_SUPPLY policy<{'riscv64': 'y'}> +CONFIG_POWER_SUPPLY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_POWER_SUPPLY_HWMON policy<{'riscv64': 'y'}> +CONFIG_PDA_POWER policy<{'riscv64': 'm'}> +CONFIG_GENERIC_ADC_BATTERY policy<{'riscv64': 'm'}> +CONFIG_MAX8925_POWER policy<{'riscv64': 'm'}> +CONFIG_WM831X_BACKUP policy<{'riscv64': 'm'}> +CONFIG_WM831X_POWER policy<{'riscv64': 'm'}> +CONFIG_WM8350_POWER policy<{'riscv64': 'm'}> +CONFIG_TEST_POWER policy<{'riscv64': 'm'}> +CONFIG_BATTERY_88PM860X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_ADP5061 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_BATTERY_CPCAP policy<{'riscv64': 'm'}> +CONFIG_BATTERY_CW2015 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2760 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2780 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2781 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DS2782 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_LEGO_EV3 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_SBS policy<{'riscv64': 'm'}> +CONFIG_CHARGER_SBS policy<{'riscv64': 'm'}> +CONFIG_MANAGER_SBS policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_I2C policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_HDQ policy<{'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM policy<{'riscv64': 'n'}> +CONFIG_BATTERY_DA9030 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DA9052 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_DA9150 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_DA9150 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_AXP20X policy<{'riscv64': 'm'}> +CONFIG_BATTERY_AXP20X policy<{'riscv64': 'm'}> +CONFIG_AXP20X_POWER policy<{'riscv64': 'm'}> +CONFIG_AXP288_FUEL_GAUGE policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX17040 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX17042 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_MAX1721X policy<{'riscv64': 'm'}> +CONFIG_BATTERY_TWL4030_MADC policy<{'riscv64': 'm'}> +CONFIG_CHARGER_88PM860X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_RX51 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_ISP1704 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8903 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_LP8727 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_LP8788 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_GPIO policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MANAGER policy<{'riscv64': 'y'}> +CONFIG_CHARGER_LT3651 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_DETECTOR_MAX14656 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_MP2629 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ2415X policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24190 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24257 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ24735 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BQ25890 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_SMB347 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_TPS65090 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_GAUGE_LTC2941 policy<{'riscv64': 'm'}> +CONFIG_BATTERY_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_BATTERY_RT5033 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_RT9455 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_UCS1002 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BD70528 policy<{'riscv64': 'm'}> +CONFIG_CHARGER_BD99954 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Pulse-Width Modulation (PWM) Support +CONFIG_PWM policy<{'riscv64': 'y'}> +CONFIG_PWM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_PWM_ATMEL_HLCDC_PWM policy<{'riscv64': 'm'}> +CONFIG_PWM_FSL_FTM policy<{'riscv64': 'm'}> +CONFIG_PWM_IQS620A policy<{'riscv64': 'm'}> +CONFIG_PWM_LP3943 policy<{'riscv64': 'm'}> +CONFIG_PWM_PCA9685 policy<{'riscv64': 'm'}> +CONFIG_PWM_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_PWM_STMPE policy<{'riscv64': 'y'}> +CONFIG_PWM_TWL policy<{'riscv64': 'm'}> +CONFIG_PWM_TWL_LED policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support +CONFIG_RAPIDIO policy<{'riscv64': 'y'}> +CONFIG_RAPIDIO_TSI721 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_DISC_TIMEOUT policy<{'riscv64': '30'}> +CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS policy<{'riscv64': 'n'}> +CONFIG_RAPIDIO_DMA_ENGINE policy<{'riscv64': 'y'}> +CONFIG_RAPIDIO_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RAPIDIO_CHMAN policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_MPORT_CDEV policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> Enumeration method +CONFIG_RAPIDIO_ENUM_BASIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> RapidIO support >> RapidIO Switch drivers +CONFIG_RAPIDIO_TSI57X policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_CPS_XX policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_TSI568 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_CPS_GEN2 policy<{'riscv64': 'm'}> +CONFIG_RAPIDIO_RXS_GEN3 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Real Time Clock +CONFIG_RTC_CLASS policy<{'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS policy<{'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS_DEVICE policy<{'riscv64': '"rtc0"'}> +CONFIG_RTC_SYSTOHC policy<{'riscv64': 'y'}> +CONFIG_RTC_SYSTOHC_DEVICE policy<{'riscv64': '"rtc0"'}> +CONFIG_RTC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RTC_NVMEM policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_SYSFS policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_PROC policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV policy<{'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV_UIE_EMUL policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_TEST policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_88PM860X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_88PM80X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABB5ZES3 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABEOZ9 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ABX80X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_AS3722 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307_CENTURY policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1374 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1374_WDT policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1672 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_HYM8563 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_LP8788 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6900 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RK808 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C372 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL1208 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12022 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12026 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_X1205 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8523 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85063 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85363 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8563 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8583 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80_WDT policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_BD70528 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ32K policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PALMAS policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS6586X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS65910 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS80031 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T583 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T619 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_S35390A policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_FM3130 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8010 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8581 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8025 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_EM3027 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3028 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV8803 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_S5M policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_SD3078 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T93 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T94 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1302 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1305 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1343 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1347 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1390 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6916 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_R9701 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX4581 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RX6110 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C348 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6902 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF2123 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MCP795 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232_HWMON policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_PCF2127 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029C2 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029_HWMON policy<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1286 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1511 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1553 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1685_FAMILY policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1742 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DS2404 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9052 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9055 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9063 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_STK17TA8 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T86 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T35 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T59 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MSM6242 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ4802 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_RP5C01 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_V3020 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_WM831X policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_WM8350 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_AB3100 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_ZYNQMP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_CADENCE policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_FTRTC010 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_PCAP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MC13XXX policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_MT6397 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_R7301 policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_CPCAP policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_HID_SENSOR_TIME policy<{'riscv64': 'm'}> +CONFIG_RTC_DRV_GOLDFISH policy<{'riscv64': 'y'}> +# +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<{'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1689 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17285 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17485 policy<{'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17885 policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features +CONFIG_RAS policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features >> Architecture: riscv + +# Menu: Device Drivers >> Remote Controller support +CONFIG_RC_CORE policy<{'riscv64': 'm'}> +CONFIG_RC_MAP policy<{'riscv64': 'm'}> +CONFIG_LIRC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Remote Controller support >> Remote Controller devices +CONFIG_RC_DEVICES policy<{'riscv64': 'y'}> +CONFIG_RC_ATI_REMOTE policy<{'riscv64': 'm'}> +CONFIG_IR_HIX5HD2 policy<{'riscv64': 'm'}> +CONFIG_IR_IMON policy<{'riscv64': 'm'}> +CONFIG_IR_IMON_RAW policy<{'riscv64': 'm'}> +CONFIG_IR_MCEUSB policy<{'riscv64': 'm'}> +CONFIG_IR_REDRAT3 policy<{'riscv64': 'm'}> +CONFIG_IR_SPI policy<{'riscv64': 'm'}> +CONFIG_IR_STREAMZAP policy<{'riscv64': 'm'}> +CONFIG_IR_IGORPLUGUSB policy<{'riscv64': 'm'}> +CONFIG_IR_IGUANA policy<{'riscv64': 'm'}> +CONFIG_IR_TTUSBIR policy<{'riscv64': 'm'}> +CONFIG_RC_LOOPBACK policy<{'riscv64': 'm'}> +CONFIG_IR_GPIO_CIR policy<{'riscv64': 'm'}> +CONFIG_IR_GPIO_TX policy<{'riscv64': 'm'}> +CONFIG_IR_PWM_TX policy<{'riscv64': 'm'}> +CONFIG_IR_SERIAL policy<{'riscv64': 'm'}> +CONFIG_IR_SERIAL_TRANSMITTER policy<{'riscv64': 'y'}> +CONFIG_IR_SIR policy<{'riscv64': 'm'}> +CONFIG_RC_XBOX_DVD policy<{'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<{'riscv64': 'y'}> +CONFIG_IR_NEC_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RC5_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RC6_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_JVC_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SONY_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SANYO_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_SHARP_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_MCE_KBD_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_XMP_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_IMON_DECODER policy<{'riscv64': 'm'}> +CONFIG_IR_RCMM_DECODER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Remoteproc drivers + +# Menu: Device Drivers >> Remoteproc drivers >> Support for Remote Processor subsystem +CONFIG_REMOTEPROC policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Reset Controller Support +CONFIG_RESET_CONTROLLER policy<{'riscv64': 'y'}> +CONFIG_RESET_BRCMSTB_RESCAL policy<{'riscv64': 'y'}> +CONFIG_RESET_INTEL_GW policy<{'riscv64': 'y'}> +CONFIG_RESET_TI_SYSCON policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Rpmsg drivers +CONFIG_RPMSG_CHAR policy<{'riscv64': 'm'}> +CONFIG_RPMSG_QCOM_GLINK_RPM policy<{'riscv64': 'm'}> +CONFIG_RPMSG_VIRTIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support +CONFIG_RAID_ATTRS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support +CONFIG_SCSI policy<{'riscv64': 'y'}> +CONFIG_SCSI_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_SD policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_ST policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_SR policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_SG policy<{'riscv64': 'y'}> +CONFIG_CHR_DEV_SCH policy<{'riscv64': 'm'}> +CONFIG_SCSI_ENCLOSURE policy<{'riscv64': 'm'}> +CONFIG_SCSI_CONSTANTS policy<{'riscv64': 'y'}> +CONFIG_SCSI_LOGGING policy<{'riscv64': 'y'}> +CONFIG_SCSI_SCAN_ASYNC policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SCSI_DH_RDAC policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_HP_SW policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_EMC policy<{'riscv64': 'm'}> +CONFIG_SCSI_DH_ALUA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI Transports +CONFIG_SCSI_SPI_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_FC_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ISCSI_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_ATTRS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_LIBSAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SAS_ATA policy<{'riscv64': 'y'}> +CONFIG_SCSI_SAS_HOST_SMP policy<{'riscv64': 'y'}> +CONFIG_SCSI_SRP_ATTRS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers +CONFIG_SCSI_LOWLEVEL policy<{'riscv64': 'y'}> +CONFIG_ISCSI_TCP policy<{'riscv64': 'm'}> +CONFIG_ISCSI_BOOT_SYSFS policy<{'riscv64': 'm'}> +CONFIG_SCSI_CXGB3_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_CXGB4_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_BNX2_ISCSI policy<{'riscv64': 'm'}> +CONFIG_SCSI_BNX2X_FCOE policy<{'riscv64': 'm'}> +CONFIG_BE2ISCSI policy<{'riscv64': 'm'}> +CONFIG_BLK_DEV_3W_XXXX_RAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_HPSA policy<{'riscv64': 'm'}> +CONFIG_SCSI_3W_9XXX policy<{'riscv64': 'm'}> +CONFIG_SCSI_3W_SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ACARD policy<{'riscv64': 'm'}> +CONFIG_SCSI_AACRAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_AIC94XX policy<{'riscv64': 'm'}> +CONFIG_AIC94XX_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVSAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MVSAS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVSAS_TASKLET policy<{'riscv64': 'n'}> +CONFIG_SCSI_MVUMI policy<{'riscv64': 'm'}> +CONFIG_SCSI_ADVANSYS policy<{'riscv64': 'm'}> +CONFIG_SCSI_ARCMSR policy<{'riscv64': 'm'}> +CONFIG_SCSI_ESAS2R policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_NEWGEN policy<{'riscv64': 'y'}> +CONFIG_MEGARAID_MM policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_MAILBOX policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_LEGACY policy<{'riscv64': 'm'}> +CONFIG_MEGARAID_SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MPT3SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_MPT2SAS_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_SCSI_MPT3SAS_MAX_SGE policy<{'riscv64': '128'}> +CONFIG_SCSI_MPT2SAS policy<{'riscv64': 'm'}> +CONFIG_SCSI_SMARTPQI policy<{'riscv64': 'm'}> +CONFIG_SCSI_HPTIOP policy<{'riscv64': 'm'}> +CONFIG_SCSI_MYRB policy<{'riscv64': 'm'}> +CONFIG_SCSI_MYRS policy<{'riscv64': 'm'}> +CONFIG_LIBFC policy<{'riscv64': 'm'}> +CONFIG_SCSI_SNIC policy<{'riscv64': 'm'}> +CONFIG_SCSI_SNIC_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_SCSI_DMX3191D policy<{'riscv64': 'm'}> +CONFIG_SCSI_FDOMAIN_PCI policy<{'riscv64': 'n'}> +CONFIG_SCSI_GDTH policy<{'riscv64': 'n'}> +CONFIG_SCSI_IPS policy<{'riscv64': 'm'}> +CONFIG_SCSI_INITIO policy<{'riscv64': 'm'}> +CONFIG_SCSI_INIA100 policy<{'riscv64': 'm'}> +CONFIG_SCSI_STEX policy<{'riscv64': 'm'}> +CONFIG_SCSI_IPR policy<{'riscv64': 'm'}> +CONFIG_SCSI_IPR_TRACE policy<{'riscv64': 'y'}> +CONFIG_SCSI_IPR_DUMP policy<{'riscv64': 'y'}> +CONFIG_SCSI_QLOGIC_1280 policy<{'riscv64': 'm'}> +CONFIG_SCSI_QLA_FC policy<{'riscv64': 'm'}> +CONFIG_TCM_QLA2XXX policy<{'riscv64': 'm'}> +CONFIG_TCM_QLA2XXX_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SCSI_QLA_ISCSI policy<{'riscv64': 'm'}> +CONFIG_QEDI policy<{'riscv64': 'm'}> +CONFIG_SCSI_LPFC policy<{'riscv64': 'm'}> +CONFIG_SCSI_LPFC_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_SCSI_DC395x policy<{'riscv64': 'm'}> +CONFIG_SCSI_AM53C974 policy<{'riscv64': 'm'}> +CONFIG_SCSI_WD719X policy<{'riscv64': 'm'}> +CONFIG_SCSI_DEBUG policy<{'riscv64': 'm'}> +CONFIG_SCSI_PMCRAID policy<{'riscv64': 'm'}> +CONFIG_SCSI_PM8001 policy<{'riscv64': 'm'}> +CONFIG_SCSI_BFA_FC policy<{'riscv64': 'm'}> +CONFIG_SCSI_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_SCSI_CHELSIO_FCOE policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'm'}> +CONFIG_AIC79XX_CMDS_PER_DEVICE policy<{'riscv64': '32'}> +CONFIG_AIC79XX_RESET_DELAY_MS policy<{'riscv64': '5000'}> +CONFIG_AIC79XX_DEBUG_ENABLE policy<{'riscv64': 'n'}> +CONFIG_AIC79XX_DEBUG_MASK policy<{'riscv64': '0'}> +CONFIG_AIC79XX_REG_PRETTY_PRINT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Adaptec AIC7xxx Fast -> U160 support +CONFIG_SCSI_AIC7XXX policy<{'riscv64': 'm'}> +CONFIG_AIC7XXX_CMDS_PER_DEVICE policy<{'riscv64': '8'}> +CONFIG_AIC7XXX_RESET_DELAY_MS policy<{'riscv64': '5000'}> +CONFIG_AIC7XXX_DEBUG_ENABLE policy<{'riscv64': 'n'}> +CONFIG_AIC7XXX_DEBUG_MASK policy<{'riscv64': '0'}> +CONFIG_AIC7XXX_REG_PRETTY_PRINT policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> LibFCoE module +CONFIG_LIBFCOE policy<{'riscv64': 'm'}> +CONFIG_FCOE policy<{'riscv64': 'm'}> +CONFIG_QEDF policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> PCMCIA SCSI adapter support + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> SYM53C8XX Version 2 SCSI support +CONFIG_SCSI_SYM53C8XX_2 policy<{'riscv64': 'm'}> +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE policy<{'riscv64': '1'}> +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS policy<{'riscv64': '16'}> +CONFIG_SCSI_SYM53C8XX_MAX_TAGS policy<{'riscv64': '64'}> +CONFIG_SCSI_SYM53C8XX_MMIO policy<{'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<{'riscv64': 'm'}> +CONFIG_SCSI_UFSHCD_PCI policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PCI policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_BSG policy<{'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<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_CDNS_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PLATFORM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Zalon SCSI support + +# Menu: Device Drivers >> SLIMbus support +CONFIG_SLIMBUS policy<{'riscv64': 'm'}> +CONFIG_SLIM_QCOM_CTRL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers +CONFIG_SIFIVE_L2 policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Amlogic SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Aspeed SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Broadcom SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> IXP4xx SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> MediaTek SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers >> QorIQ DPAA1 framework support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers >> Qualcomm Shared Memory Manager (SMEM) + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Renesas SoC driver support +# +CONFIG_ARCH_R8A73A4 flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Samsung SoC driver support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> TI SOC drivers support +CONFIG_SOC_TI policy<{'riscv64': 'y'}> +# +CONFIG_SOC_TI flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Xilinx SoC drivers +CONFIG_XILINX_VCU policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> ZTE SoC driver support + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> i.MX SoC drivers + +# Menu: Device Drivers >> SPI support +CONFIG_SPI policy<{'riscv64': 'y'}> +CONFIG_SPI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SPI_MEM policy<{'riscv64': 'y'}> +CONFIG_SPI_ALTERA policy<{'riscv64': 'm'}> +CONFIG_SPI_AXI_SPI_ENGINE policy<{'riscv64': 'm'}> +CONFIG_SPI_BITBANG policy<{'riscv64': 'm'}> +CONFIG_SPI_BUTTERFLY policy<{'riscv64': 'm'}> +CONFIG_SPI_CADENCE policy<{'riscv64': 'm'}> +CONFIG_SPI_DLN2 policy<{'riscv64': 'm'}> +CONFIG_SPI_FSI policy<{'riscv64': 'm'}> +CONFIG_SPI_NXP_FLEXSPI policy<{'riscv64': 'm'}> +CONFIG_SPI_GPIO policy<{'riscv64': 'm'}> +CONFIG_SPI_LM70_LLP policy<{'riscv64': 'm'}> +CONFIG_SPI_FSL_SPI policy<{'riscv64': 'y'}> +CONFIG_SPI_OC_TINY policy<{'riscv64': 'm'}> +CONFIG_SPI_PXA2XX policy<{'riscv64': 'm'}> +CONFIG_SPI_ROCKCHIP policy<{'riscv64': 'n'}> +CONFIG_SPI_SC18IS602 policy<{'riscv64': 'm'}> +CONFIG_SPI_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SPI_MXIC policy<{'riscv64': 'm'}> +CONFIG_SPI_XCOMM policy<{'riscv64': 'm'}> +CONFIG_SPI_XILINX policy<{'riscv64': 'n'}> +CONFIG_SPI_ZYNQMP_GQSPI policy<{'riscv64': 'm'}> +CONFIG_SPI_AMD policy<{'riscv64': 'm'}> +CONFIG_SPI_MUX policy<{'riscv64': 'm'}> +CONFIG_SPI_SPIDEV policy<{'riscv64': 'm'}> +CONFIG_SPI_LOOPBACK_TEST policy<{'riscv64': 'm'}> +CONFIG_SPI_TLE62X0 policy<{'riscv64': 'm'}> +CONFIG_SPI_SLAVE policy<{'riscv64': 'y'}> +CONFIG_SPI_SLAVE_TIME policy<{'riscv64': 'm'}> +CONFIG_SPI_SLAVE_SYSTEM_CONTROL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SPI support >> DesignWare SPI controller core support +CONFIG_SPI_DESIGNWARE policy<{'riscv64': 'm'}> +CONFIG_SPI_DW_DMA policy<{'riscv64': 'y'}> +CONFIG_SPI_DW_PCI policy<{'riscv64': 'm'}> +CONFIG_SPI_DW_MMIO policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> SPMI support +CONFIG_SPMI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) +CONFIG_ATA policy<{'riscv64': 'y'}> +CONFIG_ATA_VERBOSE_ERROR policy<{'riscv64': 'y'}> +CONFIG_ATA_FORCE policy<{'riscv64': 'y'}> +CONFIG_SATA_PMP policy<{'riscv64': 'y'}> +CONFIG_SATA_AHCI policy<{'riscv64': 'm'}> +CONFIG_SATA_MOBILE_LPM_POLICY policy<{'riscv64': '3'}> +CONFIG_SATA_AHCI_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_AHCI_CEVA policy<{'riscv64': 'm'}> +CONFIG_AHCI_QORIQ policy<{'riscv64': 'm'}> +CONFIG_SATA_INIC162X policy<{'riscv64': 'm'}> +CONFIG_SATA_ACARD_AHCI policy<{'riscv64': 'm'}> +CONFIG_SATA_SIL24 policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_PDC_ADMA policy<{'riscv64': 'm'}> +CONFIG_SATA_QSTOR policy<{'riscv64': 'm'}> +CONFIG_SATA_SX4 policy<{'riscv64': 'm'}> +CONFIG_PATA_CMD640_PCI policy<{'riscv64': 'm'}> +CONFIG_PATA_MPIIX policy<{'riscv64': 'm'}> +CONFIG_PATA_NS87410 policy<{'riscv64': 'm'}> +CONFIG_PATA_OPTI policy<{'riscv64': 'm'}> +CONFIG_PATA_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_PATA_OF_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_PATA_RZ1000 policy<{'riscv64': 'm'}> +CONFIG_PATA_LEGACY policy<{'riscv64': 'm'}> + +# 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<{'riscv64': 'y'}> +CONFIG_ATA_PIIX policy<{'riscv64': 'm'}> +CONFIG_SATA_DWC policy<{'riscv64': 'm'}> +CONFIG_SATA_DWC_OLD_DMA policy<{'riscv64': 'y'}> +CONFIG_SATA_DWC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SATA_MV policy<{'riscv64': 'm'}> +CONFIG_SATA_NV policy<{'riscv64': 'm'}> +CONFIG_SATA_PROMISE policy<{'riscv64': 'm'}> +CONFIG_SATA_SIL policy<{'riscv64': 'm'}> +CONFIG_SATA_SIS policy<{'riscv64': 'm'}> +CONFIG_SATA_SVW policy<{'riscv64': 'm'}> +CONFIG_SATA_ULI policy<{'riscv64': 'm'}> +CONFIG_SATA_VIA policy<{'riscv64': 'm'}> +CONFIG_SATA_VITESSE policy<{'riscv64': 'm'}> +CONFIG_PATA_ALI policy<{'riscv64': 'm'}> +CONFIG_PATA_AMD policy<{'riscv64': 'm'}> +CONFIG_PATA_ARTOP policy<{'riscv64': 'm'}> +CONFIG_PATA_ATIIXP policy<{'riscv64': 'm'}> +CONFIG_PATA_ATP867X policy<{'riscv64': 'm'}> +CONFIG_PATA_CMD64X policy<{'riscv64': 'm'}> +CONFIG_PATA_CYPRESS policy<{'riscv64': 'm'}> +CONFIG_PATA_EFAR policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT366 policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT37X policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X2N policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X3 policy<{'riscv64': 'm'}> +CONFIG_PATA_HPT3X3_DMA policy<{'riscv64': 'n'}> +CONFIG_PATA_IT8213 policy<{'riscv64': 'm'}> +CONFIG_PATA_IT821X policy<{'riscv64': 'm'}> +CONFIG_PATA_JMICRON policy<{'riscv64': 'm'}> +CONFIG_PATA_MARVELL policy<{'riscv64': 'm'}> +CONFIG_PATA_NETCELL policy<{'riscv64': 'm'}> +CONFIG_PATA_NINJA32 policy<{'riscv64': 'm'}> +CONFIG_PATA_NS87415 policy<{'riscv64': 'm'}> +CONFIG_PATA_OLDPIIX policy<{'riscv64': 'm'}> +CONFIG_PATA_OPTIDMA policy<{'riscv64': 'm'}> +CONFIG_PATA_PDC2027X policy<{'riscv64': 'm'}> +CONFIG_PATA_PDC_OLD policy<{'riscv64': 'm'}> +CONFIG_PATA_RADISYS policy<{'riscv64': 'm'}> +CONFIG_PATA_RDC policy<{'riscv64': 'm'}> +CONFIG_PATA_SCH policy<{'riscv64': 'm'}> +CONFIG_PATA_SERVERWORKS policy<{'riscv64': 'm'}> +CONFIG_PATA_SIL680 policy<{'riscv64': 'm'}> +CONFIG_PATA_SIS policy<{'riscv64': 'm'}> +CONFIG_PATA_TOSHIBA policy<{'riscv64': 'm'}> +CONFIG_PATA_TRIFLEX policy<{'riscv64': 'm'}> +CONFIG_PATA_VIA policy<{'riscv64': 'm'}> +CONFIG_PATA_WINBOND policy<{'riscv64': 'm'}> +CONFIG_ATA_GENERIC policy<{'riscv64': 'm'}> +# +CONFIG_PATA_HPT3X3_DMA note +CONFIG_ATA_PIIX mark note + +# Menu: Device Drivers >> Sonics Silicon Backplane support +CONFIG_SSB policy<{'riscv64': 'm'}> +CONFIG_SSB_PCIHOST policy<{'riscv64': 'y'}> +CONFIG_SSB_SDIOHOST policy<{'riscv64': 'y'}> +CONFIG_SSB_DRIVER_PCICORE policy<{'riscv64': 'y'}> +CONFIG_SSB_DRIVER_GPIO policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Sony MemoryStick card support +CONFIG_MEMSTICK policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_DEBUG policy<{'riscv64': 'n'}> +CONFIG_MEMSTICK_UNSAFE_RESUME policy<{'riscv64': 'n'}> +CONFIG_MSPRO_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MS_BLOCK policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_TIFM_MS policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_JMICRON_38X policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_R592 policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_PCI policy<{'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support +CONFIG_SOUND policy<{'riscv64': 'm'}> +CONFIG_SOUND_OSS_CORE_PRECLAIM policy<{'riscv64': 'n'}> +# +CONFIG_SOUND note +CONFIG_SOUND_OSS_CORE_PRECLAIM mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture +CONFIG_SND policy<{'riscv64': 'm'}> +CONFIG_SND_OSSEMUL policy<{'riscv64': 'y'}> +CONFIG_SND_MIXER_OSS policy<{'riscv64': 'm'}> +CONFIG_SND_PCM_OSS policy<{'riscv64': 'n'}> +CONFIG_SND_PCM_TIMER policy<{'riscv64': 'y'}> +CONFIG_SND_HRTIMER policy<{'riscv64': 'm'}> +CONFIG_SND_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_SND_MAX_CARDS policy<{'riscv64': '32'}> +CONFIG_SND_SUPPORT_OLD_API policy<{'riscv64': 'y'}> +CONFIG_SND_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PROCFS policy<{'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PRINTK policy<{'riscv64': 'n'}> +CONFIG_SND_HDA_PREALLOC_SIZE policy<{'riscv64': '64'}> +# +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<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_ACP policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH policy<{'riscv64': 'm'}> +CONFIG_SND_BCM63XX_I2S_WHISTLER policy<{'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_PCM policy<{'riscv64': 'y'}> +CONFIG_SND_I2S_HI6210_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MTK_BTCVSD policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_I2S policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_XTFPGA_I2S policy<{'riscv64': 'm'}> +CONFIG_ZX_TDM policy<{'riscv64': 'm'}> +CONFIG_SND_SIMPLE_CARD policy<{'riscv64': 'm'}> +CONFIG_SND_AUDIO_GRAPH_CARD policy<{'riscv64': 'm'}> +# +CONFIG_SND_SOC note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Amlogic platforms + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Mediatek MT8173 chip + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Rockchip + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Samsung + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for UniPhier + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Allwinner SoC Audio support + +# 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<{'riscv64': 'y'}> +CONFIG_SND_SOC_IMG_I2S_IN policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_I2S_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PARALLEL_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_IN policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_OUT policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Audio support for Texas Instruments SoCs + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1701 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7002 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_HW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4104 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4118 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4458 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4554 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4613 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK4642 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK5386 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_AK5558 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ALC5623 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_BD28623 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_BT_SCO policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CPCAP policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L32 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L33 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L34 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L35 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L36 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L42 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L51_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L52 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L56 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L73 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4265 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4270 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS42XX8_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS43130 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4341 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS4349 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CS53L30 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_CX2072X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_DA7213 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_DMIC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES7134 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES7241 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8316 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_GTM601 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_INNO_RK3036 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_LOCHNAGAR_SC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98088 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98357A policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98504 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9867 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98927 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98373 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98390 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9860 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_ANALOG policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1681 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1789_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RK3328 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT1308_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5616 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5631 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT5682_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT700_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT711_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_RT715_SDW policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SGTL5000 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SIMPLE_AMPLIFIER policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SIRF_AUDIO_CODEC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2305 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SSM4567 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STA32X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STA350 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_STI_SAS policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2552 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2562 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2770 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5086 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS571X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5720 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TAS6424 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TDA7419 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TFA9879 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC31XX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC3X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320ADCX140 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TS3A227E policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS42XX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS454 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_UDA1334 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WCD9335 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WCD934X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8510 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8523 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8524 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8580 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8711 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8728 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8731 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8737 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8741 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8750 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8753 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8770 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8776 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8782 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_I2C policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_SPI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8903 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8904 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8960 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8962 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8974 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8978 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WM8985 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_WSA881X policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ZL38060 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_ZX_AUD96P22 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9759 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6351 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6358 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_MT6660 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8540 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8810 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8822 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8824 policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_TPA6130A2 policy<{'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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Intel ASoC SST drivers >> Intel Machine drivers + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SAI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MQS policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_AUDMIX policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SSI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SPDIF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_ESAI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MICFIL policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_EASRC policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_IMX_AUDMUX policy<{'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 + +# 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<{'riscv64': 'm'}> +CONFIG_SND_SOC_MIKROE_PROTO policy<{'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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio support for Renesas SoCs + +# 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<{'riscv64': 'y'}> +CONFIG_SND_SOC_SOF_PCI policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_OF policy<{'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_DEBUG_PROBES policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'n'}> + +# 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 + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ARM sound devices + +# 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<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> FireWire sound devices +CONFIG_SND_FIREWIRE policy<{'riscv64': 'y'}> +CONFIG_SND_DICE policy<{'riscv64': 'm'}> +CONFIG_SND_OXFW policy<{'riscv64': 'm'}> +CONFIG_SND_ISIGHT policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWORKS policy<{'riscv64': 'm'}> +CONFIG_SND_BEBOB policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_DIGI00X policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_TASCAM policy<{'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_MOTU policy<{'riscv64': 'm'}> +CONFIG_SND_FIREFACE policy<{'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<{'riscv64': 'y'}> +CONFIG_SND_DUMMY policy<{'riscv64': 'm'}> +CONFIG_SND_ALOOP policy<{'riscv64': 'm'}> +CONFIG_SND_VIRMIDI policy<{'riscv64': 'm'}> +CONFIG_SND_MTPAV policy<{'riscv64': 'm'}> +CONFIG_SND_MTS64 policy<{'riscv64': 'm'}> +CONFIG_SND_SERIAL_U16550 policy<{'riscv64': 'm'}> +CONFIG_SND_MPU401 policy<{'riscv64': 'm'}> +CONFIG_SND_PORTMAN2X4 policy<{'riscv64': 'm'}> +CONFIG_SND_AC97_POWER_SAVE policy<{'riscv64': 'y'}> +CONFIG_SND_AC97_POWER_SAVE_DEFAULT policy<{'riscv64': '0'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> HD-Audio +CONFIG_SND_HDA_INTEL policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_HWDEP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_RECONFIG policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP_MODE policy<{'riscv64': '0'}> +CONFIG_SND_HDA_PATCH_LOADER policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_REALTEK policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_ANALOG policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SIGMATEL policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_VIA policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_HDMI policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CIRRUS policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CONEXANT policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0110 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132_DSP policy<{'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_CMEDIA policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SI3054 policy<{'riscv64': 'm'}> +CONFIG_SND_HDA_GENERIC policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'y'}> +CONFIG_SND_AD1889 policy<{'riscv64': 'm'}> +CONFIG_SND_ATIIXP policy<{'riscv64': 'm'}> +CONFIG_SND_ATIIXP_MODEM policy<{'riscv64': 'm'}> +CONFIG_SND_AU8810 policy<{'riscv64': 'm'}> +CONFIG_SND_AU8820 policy<{'riscv64': 'm'}> +CONFIG_SND_AU8830 policy<{'riscv64': 'm'}> +CONFIG_SND_AW2 policy<{'riscv64': 'm'}> +CONFIG_SND_BT87X policy<{'riscv64': 'm'}> +CONFIG_SND_BT87X_OVERCLOCK policy<{'riscv64': 'n'}> +CONFIG_SND_CA0106 policy<{'riscv64': 'm'}> +CONFIG_SND_CMIPCI policy<{'riscv64': 'm'}> +CONFIG_SND_OXYGEN policy<{'riscv64': 'm'}> +CONFIG_SND_CS4281 policy<{'riscv64': 'm'}> +CONFIG_SND_CS46XX policy<{'riscv64': 'm'}> +CONFIG_SND_CS46XX_NEW_DSP policy<{'riscv64': 'y'}> +CONFIG_SND_CTXFI policy<{'riscv64': 'm'}> +CONFIG_SND_DARLA20 policy<{'riscv64': 'm'}> +CONFIG_SND_GINA20 policy<{'riscv64': 'm'}> +CONFIG_SND_LAYLA20 policy<{'riscv64': 'm'}> +CONFIG_SND_DARLA24 policy<{'riscv64': 'm'}> +CONFIG_SND_GINA24 policy<{'riscv64': 'm'}> +CONFIG_SND_LAYLA24 policy<{'riscv64': 'm'}> +CONFIG_SND_MONA policy<{'riscv64': 'm'}> +CONFIG_SND_MIA policy<{'riscv64': 'm'}> +CONFIG_SND_ECHO3G policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGO policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGOIO policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGODJ policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGOIOX policy<{'riscv64': 'm'}> +CONFIG_SND_INDIGODJX policy<{'riscv64': 'm'}> +CONFIG_SND_ENS1370 policy<{'riscv64': 'm'}> +CONFIG_SND_ENS1371 policy<{'riscv64': 'm'}> +CONFIG_SND_FM801 policy<{'riscv64': 'm'}> +CONFIG_SND_FM801_TEA575X_BOOL policy<{'riscv64': 'y'}> +CONFIG_SND_HDSP policy<{'riscv64': 'm'}> +CONFIG_SND_HDSPM policy<{'riscv64': 'm'}> +CONFIG_SND_ICE1724 policy<{'riscv64': 'm'}> +CONFIG_SND_INTEL8X0 policy<{'riscv64': 'm'}> +CONFIG_SND_INTEL8X0M policy<{'riscv64': 'm'}> +CONFIG_SND_KORG1212 policy<{'riscv64': 'm'}> +CONFIG_SND_LOLA policy<{'riscv64': 'm'}> +CONFIG_SND_LX6464ES policy<{'riscv64': 'm'}> +CONFIG_SND_MIXART policy<{'riscv64': 'm'}> +CONFIG_SND_NM256 policy<{'riscv64': 'm'}> +CONFIG_SND_PCXHR policy<{'riscv64': 'm'}> +CONFIG_SND_RIPTIDE policy<{'riscv64': 'm'}> +CONFIG_SND_RME32 policy<{'riscv64': 'm'}> +CONFIG_SND_RME96 policy<{'riscv64': 'm'}> +CONFIG_SND_RME9652 policy<{'riscv64': 'm'}> +CONFIG_SND_VIA82XX policy<{'riscv64': 'm'}> +CONFIG_SND_VIA82XX_MODEM policy<{'riscv64': 'm'}> +CONFIG_SND_VIRTUOSO policy<{'riscv64': 'm'}> +CONFIG_SND_VX222 policy<{'riscv64': 'm'}> +CONFIG_SND_YMFPCI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PCMCIA sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PowerPC sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> SPI sound devices +CONFIG_SND_SPI policy<{'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<{'riscv64': 'm'}> +CONFIG_SND_SEQ_DUMMY policy<{'riscv64': 'm'}> +CONFIG_SND_SEQUENCER_OSS policy<{'riscv64': 'n'}> +CONFIG_SND_SEQ_HRTIMER_DEFAULT policy<{'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<{'riscv64': 'y'}> +CONFIG_SND_USB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_SND_USB_UA101 policy<{'riscv64': 'm'}> +CONFIG_SND_USB_CAIAQ policy<{'riscv64': 'm'}> +CONFIG_SND_USB_CAIAQ_INPUT policy<{'riscv64': 'y'}> +CONFIG_SND_USB_6FIRE policy<{'riscv64': 'm'}> +CONFIG_SND_USB_HIFACE policy<{'riscv64': 'm'}> +CONFIG_SND_BCD2000 policy<{'riscv64': 'm'}> +CONFIG_SND_USB_POD policy<{'riscv64': 'm'}> +CONFIG_SND_USB_PODHD policy<{'riscv64': 'm'}> +CONFIG_SND_USB_TONEPORT policy<{'riscv64': 'm'}> +CONFIG_SND_USB_VARIAX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> X86 sound devices + +# Menu: Device Drivers >> SoundWire support +CONFIG_SOUNDWIRE policy<{'riscv64': 'm'}> +CONFIG_SOUNDWIRE_QCOM policy<{'riscv64': 'm'}> +# +CONFIG_SOUNDWIRE mark note + +# Menu: Device Drivers >> Staging drivers +CONFIG_STAGING policy<{'riscv64': 'y'}> +CONFIG_PRISM2_USB policy<{'riscv64': 'm'}> +CONFIG_RTL8192U policy<{'riscv64': 'm'}> +CONFIG_RTL8723BS policy<{'riscv64': 'm'}> +CONFIG_R8712U policy<{'riscv64': 'm'}> +CONFIG_R8188EU policy<{'riscv64': 'm'}> +CONFIG_88EU_AP_MODE policy<{'riscv64': 'y'}> +CONFIG_RTS5208 policy<{'riscv64': 'm'}> +CONFIG_VT6655 policy<{'riscv64': 'm'}> +CONFIG_VT6656 policy<{'riscv64': 'm'}> +CONFIG_FB_SM750 policy<{'riscv64': 'm'}> +CONFIG_STAGING_BOARD policy<{'riscv64': 'n'}> +CONFIG_LTE_GDM724X policy<{'riscv64': 'm'}> +CONFIG_FIREWIRE_SERIAL policy<{'riscv64': 'm'}> +CONFIG_FWTTY_MAX_TOTAL_PORTS policy<{'riscv64': '64'}> +CONFIG_FWTTY_MAX_CARD_PORTS policy<{'riscv64': '32'}> +CONFIG_GOLDFISH_AUDIO policy<{'riscv64': 'm'}> +CONFIG_GS_FPGABOOT policy<{'riscv64': 'm'}> +CONFIG_COMMON_CLK_XLNX_CLKWZRD policy<{'riscv64': 'n'}> +CONFIG_WILC1000_SDIO policy<{'riscv64': 'm'}> +CONFIG_WILC1000_SPI policy<{'riscv64': 'm'}> +CONFIG_WILC1000_HW_OOB_INTR policy<{'riscv64': 'y'}> +CONFIG_KS7010 policy<{'riscv64': 'm'}> +CONFIG_PI433 policy<{'riscv64': 'm'}> +CONFIG_XIL_AXIS_FIFO policy<{'riscv64': 'm'}> +CONFIG_QLGE policy<{'riscv64': 'm'}> +CONFIG_WFX policy<{'riscv64': 'm'}> +# +CONFIG_STAGING flag + +# Menu: Device Drivers >> Staging drivers >> Android +CONFIG_ASHMEM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Android >> Ion Memory Manager +CONFIG_ION policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Staging drivers >> Broadcom VideoCore support + +# Menu: Device Drivers >> Staging drivers >> Daktronics KPC Device support +CONFIG_KPC2000 policy<{'riscv64': 'y'}> +CONFIG_KPC2000_CORE policy<{'riscv64': 'm'}> +CONFIG_KPC2000_SPI policy<{'riscv64': 'm'}> +CONFIG_KPC2000_I2C policy<{'riscv64': 'm'}> +CONFIG_KPC2000_DMA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) +CONFIG_COMEDI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DEBUG policy<{'riscv64': 'n'}> +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB policy<{'riscv64': '2048'}> +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB policy<{'riscv64': '20480'}> +CONFIG_COMEDI_8255_SA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_KCOMEDILIB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi ISA and PC/104 drivers +CONFIG_COMEDI_ISA_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_COMEDI_PCL711 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL726 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL730 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL812 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL816 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCL818 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCM3724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTI800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTI802 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAC02 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS16M1 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS16 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS1800 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS6402 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2801 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2811 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2814 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2815 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT2817 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT282X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DMM32AT policy<{'riscv64': 'm'}> +CONFIG_COMEDI_FL512 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AIO_AIO12_8 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AIO_IIRO_16 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_II_PCI20KC policy<{'riscv64': 'm'}> +CONFIG_COMEDI_C6XDIGIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MPC624 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADQ12B policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_A2150 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_AO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO16D policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_ISA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMAD policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMDA12 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PCMUIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MULTIQ3 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_S526 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi PCI drivers +CONFIG_COMEDI_PCI_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_8255_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1032 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1500 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1516 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1564 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_16XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2032 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2200 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3120 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3501 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3XXX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI6208 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI7X3X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI8164 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9111 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9118 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1710 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1720 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1723 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1724 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1760 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI_DIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI224 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI230 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CONTEC_PCI_DIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT3000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DYNA_PCI10XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_GSC_HPDI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_MF6X4 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ICP_MULTI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DAQBOARD2000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_JR3_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_KE_COUNTER policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS64 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDDA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDAS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDDA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ME4000 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_ME_DAQ policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_6527 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_65XX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_660X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_670X policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_PCI policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIDIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIMIO policy<{'riscv64': 'm'}> +CONFIG_COMEDI_RTD520 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_S626 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi PCMCIA drivers + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi USB drivers +CONFIG_COMEDI_USB_DRIVERS policy<{'riscv64': 'm'}> +CONFIG_COMEDI_DT9812 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_NI_USB6501 policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUX policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXFAST policy<{'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXSIGMA policy<{'riscv64': 'm'}> +CONFIG_COMEDI_VMK80XX policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Data acquisition support (comedi) >> Comedi misc drivers +CONFIG_COMEDI_MISC_DRIVERS policy<{'riscv64': 'y'}> +CONFIG_COMEDI_BOND policy<{'riscv64': 'm'}> +CONFIG_COMEDI_TEST policy<{'riscv64': 'm'}> +CONFIG_COMEDI_PARPORT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Fieldbus Device Support +CONFIG_FIELDBUS_DEV policy<{'riscv64': 'm'}> +CONFIG_HMS_ANYBUSS_BUS policy<{'riscv64': 'm'}> +CONFIG_ARCX_ANYBUS_CONTROLLER policy<{'riscv64': 'm'}> +CONFIG_HMS_PROFINET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Gasket devices + +# Menu: Device Drivers >> Staging drivers >> Greybus Bridged PHY Class drivers + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Accelerometers +CONFIG_ADIS16203 policy<{'riscv64': 'm'}> +CONFIG_ADIS16240 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Active energy metering IC +CONFIG_ADE7854 policy<{'riscv64': 'm'}> +CONFIG_ADE7854_I2C policy<{'riscv64': 'm'}> +CONFIG_ADE7854_SPI policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog digital bi-direction converters +CONFIG_ADT7316 policy<{'riscv64': 'm'}> +CONFIG_ADT7316_SPI policy<{'riscv64': 'm'}> +CONFIG_ADT7316_I2C policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog to digital converters +CONFIG_AD7816 policy<{'riscv64': 'm'}> +CONFIG_AD7280 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Capacitance to digital converters +CONFIG_AD7150 policy<{'riscv64': 'm'}> +CONFIG_AD7746 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Direct Digital Synthesis +CONFIG_AD9832 policy<{'riscv64': 'm'}> +CONFIG_AD9834 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Network Analyzer, Impedance Converters +CONFIG_AD5933 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Resolver to digital converters +CONFIG_AD2S1210 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> MOST support +CONFIG_MOST_COMPONENTS policy<{'riscv64': 'm'}> +CONFIG_MOST_CDEV policy<{'riscv64': 'm'}> +CONFIG_MOST_NET policy<{'riscv64': 'm'}> +CONFIG_MOST_SOUND policy<{'riscv64': 'm'}> +CONFIG_MOST_VIDEO policy<{'riscv64': 'm'}> +CONFIG_MOST_DIM2 policy<{'riscv64': 'm'}> +CONFIG_MOST_I2C policy<{'riscv64': 'm'}> +CONFIG_MOST_USB policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers +CONFIG_VIDEO_USBVISION policy<{'riscv64': 'm'}> +CONFIG_STAGING_MEDIA policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Enable support to Intel Atom ISP camera drivers + +# 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 >> SoC camera support + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> i.MX5/6/7 Media Sub devices + +# Menu: Device Drivers >> Staging drivers >> NV Tegra Embedded Controller SMBus Interface + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech + +# Menu: Device Drivers >> Staging drivers >> Speakup console speech >> Speakup core +CONFIG_SPEAKUP policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_ACNTSA policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_APOLLO policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_AUDPTR policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_BNS policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECTLK policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DECEXT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_LTLK policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_SOFT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_SPKOUT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_TXPRT policy<{'riscv64': 'm'}> +CONFIG_SPEAKUP_SYNTH_DUMMY policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for rtllib wireless devices +CONFIG_RTLLIB policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_CCMP policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_TKIP policy<{'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_WEP policy<{'riscv64': 'm'}> +CONFIG_RTL8192E policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for small TFT LCD display modules +CONFIG_FB_TFT policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_AGM1264K_FL policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_BD663474 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8340BN policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8347D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8353D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_HX8357D policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9163 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9320 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9325 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9340 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9341 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9481 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9486 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_PCD8544 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_RA8875 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_S6D02A1 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_S6D1121 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SEPS525 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SH1106 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1289 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1305 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1306 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1331 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1351 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ST7735R policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_ST7789V policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_TINYLCD policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_TLS8204 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UC1611 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UC1701 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_UPD161704 policy<{'riscv64': 'm'}> +CONFIG_FB_TFT_WATTEROTT policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Unisys SPAR driver support +CONFIG_UNISYSSPAR policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> TEE drivers + +# Menu: Device Drivers >> TI VLYNQ + +# Menu: Device Drivers >> Thermal drivers +CONFIG_THERMAL policy<{'riscv64': 'y'}> +CONFIG_THERMAL_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS policy<{'riscv64': '0'}> +CONFIG_THERMAL_HWMON policy<{'riscv64': 'y'}> +CONFIG_THERMAL_WRITABLE_TRIPS policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_FAIR_SHARE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_STEP_WISE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_BANG_BANG policy<{'riscv64': 'y'}> +CONFIG_THERMAL_GOV_USER_SPACE policy<{'riscv64': 'y'}> +CONFIG_CLOCK_THERMAL policy<{'riscv64': 'n'}> +CONFIG_DEVFREQ_THERMAL policy<{'riscv64': 'y'}> +CONFIG_THERMAL_EMULATION policy<{'riscv64': 'y'}> +CONFIG_THERMAL_MMIO policy<{'riscv64': 'm'}> +CONFIG_MAX77620_THERMAL policy<{'riscv64': 'm'}> +CONFIG_DA9062_THERMAL policy<{'riscv64': 'm'}> +CONFIG_GENERIC_ADC_THERMAL policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> APIs to parse thermal data out of device tree +CONFIG_THERMAL_OF policy<{'riscv64': 'y'}> +CONFIG_CPU_THERMAL policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Thermal drivers >> Broadcom thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Default Thermal governor +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE policy<{'riscv64': 'y'}> +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE policy<{'riscv64': 'n'}> +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers >> ACPI INT340X thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> NVIDIA Tegra thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Qualcomm thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> STMicroelectronics thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Samsung thermal drivers + +# 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<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support +CONFIG_USB_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_USB_LED_TRIG policy<{'riscv64': 'y'}> +CONFIG_USB_ULPI_BUS policy<{'riscv64': 'm'}> +CONFIG_USB_CONN_GPIO policy<{'riscv64': 'm'}> +CONFIG_USB_PCI policy<{'riscv64': 'y'}> +CONFIG_USB_UHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_ROLE_SWITCH policy<{'riscv64': 'm'}> +# +CONFIG_USB_UHCI_HCD mark note flag + +# Menu: Device Drivers >> USB support >> ChipIdea Highspeed Dual Role Controller +CONFIG_USB_CHIPIDEA policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_UDC policy<{'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_HOST policy<{'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_PCI policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_MSM policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_IMX policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_GENERIC policy<{'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_TEGRA policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB +CONFIG_USB policy<{'riscv64': 'y'}> +CONFIG_USB_ANNOUNCE_NEW_DEVICES policy<{'riscv64': 'y'}> +CONFIG_USB_DEFAULT_PERSIST policy<{'riscv64': 'y'}> +CONFIG_USB_DYNAMIC_MINORS policy<{'riscv64': 'y'}> +CONFIG_USB_OTG_WHITELIST policy<{'riscv64': 'n'}> +CONFIG_USB_OTG_BLACKLIST_HUB policy<{'riscv64': 'n'}> +CONFIG_USB_LEDS_TRIGGER_USBPORT policy<{'riscv64': 'm'}> +CONFIG_USB_AUTOSUSPEND_DELAY policy<{'riscv64': '2'}> +CONFIG_USB_MON policy<{'riscv64': 'm'}> +CONFIG_USB_C67X00_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_OXU210HP_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_ISP116X_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_FOTG210_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_MAX3421_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_U132_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_SL811_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_SL811_HCD_ISO policy<{'riscv64': 'y'}> +CONFIG_USB_R8A66597_HCD policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_BCMA policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_SSB policy<{'riscv64': 'm'}> +CONFIG_USB_HCD_TEST_MODE policy<{'riscv64': 'n'}> +CONFIG_USB_ACM policy<{'riscv64': 'm'}> +CONFIG_USB_PRINTER policy<{'riscv64': 'm'}> +CONFIG_USB_WDM policy<{'riscv64': 'm'}> +CONFIG_USB_TMC policy<{'riscv64': 'm'}> +CONFIG_USB_MDC800 policy<{'riscv64': 'm'}> +CONFIG_USB_MICROTEK policy<{'riscv64': 'm'}> +CONFIG_USB_ISP1760 policy<{'riscv64': 'm'}> +CONFIG_USB_USS720 policy<{'riscv64': 'm'}> +CONFIG_USB_EMI62 policy<{'riscv64': 'm'}> +CONFIG_USB_EMI26 policy<{'riscv64': 'm'}> +CONFIG_USB_ADUTUX policy<{'riscv64': 'm'}> +CONFIG_USB_SEVSEG policy<{'riscv64': 'm'}> +CONFIG_USB_LEGOTOWER policy<{'riscv64': 'm'}> +CONFIG_USB_LCD policy<{'riscv64': 'm'}> +CONFIG_USB_CYPRESS_CY7C63 policy<{'riscv64': 'm'}> +CONFIG_USB_CYTHERM policy<{'riscv64': 'm'}> +CONFIG_USB_IDMOUSE policy<{'riscv64': 'm'}> +CONFIG_USB_FTDI_ELAN policy<{'riscv64': 'm'}> +CONFIG_USB_APPLEDISPLAY policy<{'riscv64': 'm'}> +CONFIG_APPLE_MFI_FASTCHARGE policy<{'riscv64': 'm'}> +CONFIG_USB_SISUSBVGA policy<{'riscv64': 'm'}> +CONFIG_USB_LD policy<{'riscv64': 'm'}> +CONFIG_USB_TRANCEVIBRATOR policy<{'riscv64': 'm'}> +CONFIG_USB_IOWARRIOR policy<{'riscv64': 'm'}> +CONFIG_USB_TEST policy<{'riscv64': 'm'}> +CONFIG_USB_EHSET_TEST_FIXTURE policy<{'riscv64': 'm'}> +CONFIG_USB_ISIGHTFW policy<{'riscv64': 'm'}> +CONFIG_USB_YUREX policy<{'riscv64': 'm'}> +CONFIG_USB_EZUSB_FX2 policy<{'riscv64': 'm'}> +CONFIG_USB_HUB_USB251XB policy<{'riscv64': 'm'}> +CONFIG_USB_HSIC_USB3503 policy<{'riscv64': 'm'}> +CONFIG_USB_HSIC_USB4604 policy<{'riscv64': 'm'}> +CONFIG_USB_LINK_LAYER_TEST policy<{'riscv64': 'm'}> +CONFIG_USB_CHAOSKEY policy<{'riscv64': 'm'}> +# +CONFIG_USB_OTG note +CONFIG_USB_OTG_WHITELIST note +CONFIG_USB_OTG_BLACKLIST_HUB 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<{'riscv64': 'm'}> +CONFIG_USB_CDNS3_GADGET policy<{'riscv64': 'y'}> +CONFIG_USB_CDNS3_HOST policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support +CONFIG_USB_DWC2 policy<{'riscv64': 'y'}> +CONFIG_USB_DWC2_PCI policy<{'riscv64': 'm'}> +CONFIG_USB_DWC2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_DWC2_TRACK_MISSED_SOFS policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support >> DWC2 Mode Selection +CONFIG_USB_DWC2_HOST policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support +CONFIG_USB_DWC3 policy<{'riscv64': 'm'}> +CONFIG_USB_DWC3_ULPI policy<{'riscv64': 'y'}> +CONFIG_USB_DWC3_HAPS policy<{'riscv64': 'm'}> +CONFIG_USB_DWC3_OF_SIMPLE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support >> DWC3 Mode Selection +CONFIG_USB_DWC3_HOST policy<{'riscv64': 'n'}> +CONFIG_USB_DWC3_GADGET policy<{'riscv64': 'n'}> +CONFIG_USB_DWC3_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> EHCI HCD (USB 2.0) support +CONFIG_USB_EHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_ROOT_HUB_TT policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_TT_NEWSCHED policy<{'riscv64': 'y'}> +CONFIG_USB_EHCI_FSL policy<{'riscv64': 'm'}> +CONFIG_USB_EHCI_HCD_PLATFORM policy<{'riscv64': 'm'}> +# +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<{'riscv64': 'n'}> +CONFIG_USB_ISP1760_GADGET_ROLE policy<{'riscv64': 'n'}> +CONFIG_USB_ISP1760_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Inventra Highspeed Dual Role Controller +CONFIG_USB_MUSB_HDRC policy<{'riscv64': '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<{'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<{'riscv64': 'n'}> +CONFIG_USB_MUSB_GADGET policy<{'riscv64': 'n'}> +CONFIG_USB_MUSB_DUAL_ROLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> MTU3 Mode Selection + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> OHCI HCD (USB 1.1) support +CONFIG_USB_OHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_OHCI_HCD_PCI policy<{'riscv64': 'y'}> +CONFIG_USB_OHCI_HCD_PLATFORM policy<{'riscv64': 'm'}> +# +CONFIG_USB_OHCI_HCD mark note +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<{'riscv64': 'm'}> +CONFIG_USB_SPEEDTOUCH policy<{'riscv64': 'm'}> +CONFIG_USB_CXACRU policy<{'riscv64': 'm'}> +CONFIG_USB_UEAGLEATM policy<{'riscv64': 'm'}> +CONFIG_USB_XUSBATM policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Mass Storage support +CONFIG_USB_STORAGE policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_STORAGE_REALTEK policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_DATAFAB policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_FREECOM policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ISD200 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_USBAT policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR09 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR55 policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_JUMPSHOT policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ALAUDA policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ONETOUCH policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_KARMA policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_CYPRESS_ATACB policy<{'riscv64': 'm'}> +CONFIG_USB_STORAGE_ENE_UB6250 policy<{'riscv64': 'm'}> +CONFIG_USB_UAS policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Serial Converter support +CONFIG_USB_SERIAL policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_GENERIC policy<{'riscv64': 'y'}> +CONFIG_USB_SERIAL_SIMPLE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_AIRCABLE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_ARK3116 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_BELKIN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CH341 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_WHITEHEAT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_DIGI_ACCELEPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CP210X policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYPRESS_M8 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EMPEG policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_FTDI_SIO policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_VISOR policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPAQ policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IR policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT_TI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_F81232 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_F8153X policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_GARMIN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPW policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_IUU policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN_PDA policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KLSI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_KOBIL_SCT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MCT_U232 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_METRO policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7720 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7715_PARPORT policy<{'riscv64': 'y'}> +CONFIG_USB_SERIAL_MOS7840 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_MXUPORT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_NAVMAN policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_PL2303 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OTI6858 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QCAUX policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QUALCOMM policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SPCP8X5 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE_PADDED policy<{'riscv64': 'n'}> +CONFIG_USB_SERIAL_SIERRAWIRELESS policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SYMBOL policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_TI policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYBERJACK policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_XIRCOM policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTION policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OMNINET policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTICON policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_XSENS_MT policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_WISHBONE policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_SSU100 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_QT2 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_UPD78F0730 policy<{'riscv64': 'm'}> +CONFIG_USB_SERIAL_DEBUG policy<{'riscv64': 'm'}> +# +CONFIG_USB_SERIAL_DEBUG note + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB/IP support +CONFIG_USBIP_CORE policy<{'riscv64': 'm'}> +CONFIG_USBIP_VHCI_HCD policy<{'riscv64': 'm'}> +CONFIG_USBIP_VHCI_HC_PORTS policy<{'riscv64': '8'}> +CONFIG_USBIP_VHCI_NR_HCS policy<{'riscv64': '1'}> +CONFIG_USBIP_HOST policy<{'riscv64': 'm'}> +CONFIG_USBIP_VUDC policy<{'riscv64': 'm'}> +CONFIG_USBIP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> xHCI HCD (USB 3.0) support +CONFIG_USB_XHCI_HCD policy<{'riscv64': 'y'}> +CONFIG_USB_XHCI_DBGCAP policy<{'riscv64': 'y'}> +CONFIG_USB_XHCI_PCI_RENESAS policy<{'riscv64': 'm'}> +CONFIG_USB_XHCI_PLATFORM policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_USB_GADGET_DEBUG policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FILES policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FS policy<{'riscv64': 'n'}> +CONFIG_USB_GADGET_VBUS_DRAW policy<{'riscv64': '2'}> +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS policy<{'riscv64': '2'}> +CONFIG_U_SERIAL_CONSOLE policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget functions configurable through configfs +CONFIG_USB_CONFIGFS policy<{'riscv64': 'm'}> +CONFIG_USB_CONFIGFS_SERIAL policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ACM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_OBEX policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_NCM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM_SUBSET policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_EEM policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_PHONET policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_MASS_STORAGE policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_LB_SS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_FS policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1 policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC2 policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_MIDI policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_HID policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UVC policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_PRINTER policy<{'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_TCM policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations +CONFIG_USB_ZERO policy<{'riscv64': 'm'}> +CONFIG_USB_AUDIO policy<{'riscv64': 'm'}> +CONFIG_GADGET_UAC1 policy<{'riscv64': 'y'}> +CONFIG_GADGET_UAC1_LEGACY policy<{'riscv64': 'n'}> +CONFIG_USB_ETH policy<{'riscv64': 'm'}> +CONFIG_USB_ETH_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_ETH_EEM policy<{'riscv64': 'y'}> +CONFIG_USB_G_NCM policy<{'riscv64': 'm'}> +CONFIG_USB_GADGETFS policy<{'riscv64': 'm'}> +CONFIG_USB_MASS_STORAGE policy<{'riscv64': 'm'}> +CONFIG_USB_GADGET_TARGET policy<{'riscv64': 'm'}> +CONFIG_USB_G_SERIAL policy<{'riscv64': 'm'}> +CONFIG_USB_MIDI_GADGET policy<{'riscv64': 'm'}> +CONFIG_USB_G_PRINTER policy<{'riscv64': 'm'}> +CONFIG_USB_CDC_COMPOSITE policy<{'riscv64': 'm'}> +CONFIG_USB_G_NOKIA policy<{'riscv64': 'm'}> +CONFIG_USB_G_ACM_MS policy<{'riscv64': 'm'}> +CONFIG_USB_G_MULTI policy<{'riscv64': 'n'}> +CONFIG_USB_G_HID policy<{'riscv64': 'm'}> +CONFIG_USB_G_DBGP policy<{'riscv64': 'm'}> +CONFIG_USB_G_WEBCAM policy<{'riscv64': 'm'}> +CONFIG_USB_RAW_GADGET policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> EHCI Debug Device mode +CONFIG_USB_G_DBGP_PRINTK policy<{'riscv64': 'n'}> +CONFIG_USB_G_DBGP_SERIAL policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> Function Filesystem +CONFIG_USB_FUNCTIONFS policy<{'riscv64': 'm'}> +CONFIG_USB_FUNCTIONFS_ETH policy<{'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_RNDIS policy<{'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_GENERIC policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Peripheral Controller +CONFIG_USB_FOTG210_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_GR_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_R8A66597 policy<{'riscv64': 'm'}> +CONFIG_USB_PXA27X policy<{'riscv64': 'm'}> +CONFIG_USB_MV_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_MV_U3D policy<{'riscv64': 'm'}> +CONFIG_USB_SNP_UDC_PLAT policy<{'riscv64': 'm'}> +CONFIG_USB_M66592 policy<{'riscv64': 'n'}> +CONFIG_USB_BDC_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_BDC_PCI policy<{'riscv64': '-'}> +CONFIG_USB_AMD5536UDC policy<{'riscv64': 'm'}> +CONFIG_USB_NET2272 policy<{'riscv64': 'm'}> +CONFIG_USB_NET2272_DMA policy<{'riscv64': 'y'}> +CONFIG_USB_NET2280 policy<{'riscv64': 'm'}> +CONFIG_USB_GOKU policy<{'riscv64': 'm'}> +CONFIG_USB_EG20T policy<{'riscv64': 'm'}> +CONFIG_USB_GADGET_XILINX policy<{'riscv64': 'm'}> +CONFIG_USB_MAX3420_UDC policy<{'riscv64': 'm'}> +CONFIG_USB_DUMMY_HCD policy<{'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<{'riscv64': 'm'}> +CONFIG_USB_GPIO_VBUS policy<{'riscv64': 'm'}> +CONFIG_TAHVO_USB policy<{'riscv64': 'm'}> +CONFIG_TAHVO_USB_HOST_BY_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_USB_ISP1301 policy<{'riscv64': 'm'}> +# +CONFIG_NOP_USB_XCEIV note + +# Menu: Device Drivers >> USB support >> USB Type-C Support +CONFIG_TYPEC policy<{'riscv64': 'm'}> +CONFIG_TYPEC_UCSI policy<{'riscv64': 'm'}> +CONFIG_UCSI_CCG policy<{'riscv64': 'm'}> +CONFIG_TYPEC_HD3SS3220 policy<{'riscv64': 'm'}> +CONFIG_TYPEC_TPS6598X policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Alternate Mode drivers +CONFIG_TYPEC_DP_ALTMODE policy<{'riscv64': 'm'}> +CONFIG_TYPEC_NVIDIA_ALTMODE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Multiplexer/DeMultiplexer Switch support +CONFIG_TYPEC_MUX_PI3USB30532 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Port Controller Manager +CONFIG_TYPEC_TCPM policy<{'riscv64': 'm'}> +CONFIG_TYPEC_TCPCI policy<{'riscv64': 'm'}> +CONFIG_TYPEC_RT1711H policy<{'riscv64': 'm'}> +CONFIG_TYPEC_FUSB302 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Userspace I/O drivers +CONFIG_UIO policy<{'riscv64': 'm'}> +CONFIG_UIO_CIF policy<{'riscv64': 'm'}> +CONFIG_UIO_PDRV_GENIRQ policy<{'riscv64': 'm'}> +CONFIG_UIO_DMEM_GENIRQ policy<{'riscv64': 'm'}> +CONFIG_UIO_AEC policy<{'riscv64': 'm'}> +CONFIG_UIO_SERCOS3 policy<{'riscv64': 'm'}> +CONFIG_UIO_PCI_GENERIC policy<{'riscv64': 'm'}> +CONFIG_UIO_NETX policy<{'riscv64': 'm'}> +CONFIG_UIO_PRUSS policy<{'riscv64': 'm'}> +CONFIG_UIO_MF624 policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework +CONFIG_VFIO policy<{'riscv64': 'm'}> +CONFIG_VFIO_NOIOMMU policy<{'riscv64': 'y'}> +CONFIG_VFIO_PCI policy<{'riscv64': 'm'}> +CONFIG_VFIO_MDEV policy<{'riscv64': 'm'}> +CONFIG_VFIO_MDEV_DEVICE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework >> VFIO support for platform devices + +# Menu: Device Drivers >> VHOST drivers +CONFIG_VHOST_MENU policy<{'riscv64': 'y'}> +CONFIG_VHOST_NET policy<{'riscv64': 'm'}> +CONFIG_VHOST_SCSI policy<{'riscv64': 'm'}> +CONFIG_VHOST_VSOCK policy<{'riscv64': 'm'}> +CONFIG_VHOST_VDPA policy<{'riscv64': 'm'}> +CONFIG_VHOST_CROSS_ENDIAN_LEGACY policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> VME bridge support +CONFIG_VME_BUS policy<{'riscv64': 'y'}> +CONFIG_VME_TSI148 policy<{'riscv64': 'm'}> +CONFIG_VME_FAKE policy<{'riscv64': 'm'}> +CONFIG_VMIVME_7805 policy<{'riscv64': 'm'}> +CONFIG_VME_USER policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Virtio drivers +CONFIG_VIRTIO_MENU policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_PCI policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_PCI_LEGACY policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_VDPA policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_PMEM policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_BALLOON policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_INPUT policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_MMIO policy<{'riscv64': 'y'}> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES policy<{'riscv64': 'y'}> +# +CONFIG_VIRTIO_PCI flag +CONFIG_VIRTIO_MMIO note + +# Menu: Device Drivers >> Virtualization drivers +CONFIG_VIRT_DRIVERS policy<{'riscv64': 'y'}> +# +CONFIG_VBOXGUEST note + +# Menu: Device Drivers >> Voltage and Current Regulator Support +CONFIG_REGULATOR policy<{'riscv64': 'y'}> +CONFIG_REGULATOR_DEBUG policy<{'riscv64': 'n'}> +CONFIG_REGULATOR_FIXED_VOLTAGE policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_VIRTUAL_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_USERSPACE_CONSUMER policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PG86X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PM800 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_88PM8607 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ACT8865 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ACT8945A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AD5398 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AAT2870 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AB3100 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ARIZONA_LDO1 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ARIZONA_MICSUPP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AS3711 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AS3722 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_AXP20X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BCM590XX policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD70528 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD71828 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD718XX policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_BD9571MWV policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_CPCAP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA903X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9052 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9055 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9062 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9063 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9210 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_DA9211 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_FAN53555 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_GPIO policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_HI6421 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_HI6421V530 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ISL9305 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_ISL6271A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LM363X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LOCHNAGAR policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP3971 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP3972 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP872X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP873X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP8755 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP87565 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LP8788 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LTC3589 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_LTC3676 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX14577 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX1586 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77620 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77650 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8649 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8660 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8907 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8925 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8952 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8973 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8997 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8998 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77686 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77693 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77802 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77826 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MC13783 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MC13892 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MCP16502 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP5416 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP8859 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MP886X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MPQ7920 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6311 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6323 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6358 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_MT6397 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PALMAS policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PCAP policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PCF50633 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PFUZE100 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88060 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88080 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PV88090 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_PWM policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_QCOM_SPMI policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RC5T583 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RK808 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RN5T618 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_RT5033 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S2MPA01 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S2MPS11 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_S5M8767 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SKY81452 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SLG51000 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_STPMIC1 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SY8106A policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_SY8824X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS51632 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6105X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS62360 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65023 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6507X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65086 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65090 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65132 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65218 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6524X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6586X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65910 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65912 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TPS80031 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_TWL4030 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_VCTRL policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM831X policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8350 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8400 policy<{'riscv64': 'm'}> +CONFIG_REGULATOR_WM8994 policy<{'riscv64': 'm'}> +# +CONFIG_REGULATOR_FIXED_VOLTAGE note +CONFIG_REGULATOR_TWL4030 mark note + +# Menu: Device Drivers >> Watchdog Timer Support +CONFIG_WATCHDOG policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_CORE policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_NOWAYOUT policy<{'riscv64': 'n'}> +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_OPEN_TIMEOUT policy<{'riscv64': '0'}> +CONFIG_WATCHDOG_SYSFS policy<{'riscv64': 'y'}> +CONFIG_SOFT_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_SOFT_WATCHDOG_PRETIMEOUT policy<{'riscv64': 'y'}> +CONFIG_BD70528_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9052_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9055_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9063_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DA9062_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_GPIO_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MENF21BMC_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MENZ069_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WM831X_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WM8350_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_XILINX_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_ZIIRAVE_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RAVE_SP_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_CADENCE_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_DW_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RN5T618_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_TWL4030_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MAX63XX_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_MAX77620_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_RETU_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_STPMIC1_WATCHDOG policy<{'riscv64': 'm'}> +CONFIG_ALIM7101_WDT policy<{'riscv64': 'm'}> +CONFIG_I6300ESB_WDT policy<{'riscv64': 'm'}> +CONFIG_KEMPLD_WDT policy<{'riscv64': 'm'}> +CONFIG_MEN_A21_WDT policy<{'riscv64': 'm'}> +CONFIG_PCIPCWATCHDOG policy<{'riscv64': 'm'}> +CONFIG_WDTPCI policy<{'riscv64': 'm'}> +CONFIG_USBPCWATCHDOG policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors +CONFIG_WATCHDOG_PRETIMEOUT_GOV policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors >> Default Watchdog Pretimeout Governor +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP policy<{'riscv64': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC policy<{'riscv64': 'n'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Dell SMBIOS driver + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Intel Speed Select Technology interface support + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> ThinkPad ACPI Laptop Extras + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> WMI + +# Menu: Device Drivers >> Xen driver support + +# Menu: Device Drivers >> Xen driver support >> Backend driver support + +# Menu: Device Drivers >> vDPA drivers +CONFIG_VDPA policy<{'riscv64': 'm'}> +CONFIG_VDPA_SIM policy<{'riscv64': 'm'}> +CONFIG_IFCVF policy<{'riscv64': 'm'}> + +# Menu: Enable loadable module support +CONFIG_MODULES policy<{'riscv64': 'y'}> +CONFIG_MODULE_FORCE_LOAD policy<{'riscv64': 'n'}> +CONFIG_MODULE_UNLOAD policy<{'riscv64': 'y'}> +CONFIG_MODULE_FORCE_UNLOAD policy<{'riscv64': 'n'}> +CONFIG_MODVERSIONS policy<{'riscv64': 'y'}> +CONFIG_MODULE_SRCVERSION_ALL policy<{'riscv64': 'y'}> +CONFIG_MODULE_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS policy<{'riscv64': 'n'}> +CONFIG_UNUSED_SYMBOLS policy<{'riscv64': 'y'}> +# +CONFIG_MODVERSIONS mark note + +# Menu: Enable loadable module support >> Compression algorithm + +# Menu: Enable loadable module support >> Module signature verification +CONFIG_MODULE_SIG policy<{'riscv64': 'y'}> +CONFIG_MODULE_SIG_FORCE policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_ALL policy<{'riscv64': 'y'}> + +# Menu: Enable loadable module support >> Module signature verification >> Which hash algorithm should modules be signed with? +CONFIG_MODULE_SIG_SHA1 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA224 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA256 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA384 policy<{'riscv64': 'n'}> +CONFIG_MODULE_SIG_SHA512 policy<{'riscv64': 'y'}> + +# Menu: Enable the block layer +CONFIG_BLOCK policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_BSG policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_BSGLIB policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_INTEGRITY policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_ZONED policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_THROTTLING policy<{'riscv64': 'y'}> +CONFIG_BLK_DEV_THROTTLING_LOW policy<{'riscv64': 'n'}> +CONFIG_BLK_CMDLINE_PARSER policy<{'riscv64': 'y'}> +CONFIG_BLK_WBT policy<{'riscv64': 'y'}> +CONFIG_BLK_CGROUP_IOLATENCY policy<{'riscv64': 'n'}> +CONFIG_BLK_CGROUP_IOCOST policy<{'riscv64': 'y'}> +CONFIG_BLK_WBT_MQ policy<{'riscv64': 'y'}> +CONFIG_BLK_DEBUG_FS policy<{'riscv64': 'y'}> +CONFIG_BLK_SED_OPAL policy<{'riscv64': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION policy<{'riscv64': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK policy<{'riscv64': 'y'}> +# +CONFIG_BLK_DEV_THROTTLING note + +# Menu: Enable the block layer >> IO Schedulers +CONFIG_MQ_IOSCHED_DEADLINE policy<{'riscv64': 'y'}> +CONFIG_MQ_IOSCHED_KYBER policy<{'riscv64': 'm'}> +CONFIG_IOSCHED_BFQ policy<{'riscv64': 'm'}> +CONFIG_BFQ_GROUP_IOSCHED policy<{'riscv64': 'y'}> +CONFIG_BFQ_CGROUP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Enable the block layer >> Partition Types + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection +CONFIG_PARTITION_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_AIX_PARTITION policy<{'riscv64': 'y'}> +CONFIG_OSF_PARTITION policy<{'riscv64': 'y'}> +CONFIG_AMIGA_PARTITION policy<{'riscv64': 'y'}> +CONFIG_ATARI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_MAC_PARTITION policy<{'riscv64': 'y'}> +CONFIG_LDM_PARTITION policy<{'riscv64': 'y'}> +CONFIG_LDM_DEBUG policy<{'riscv64': 'n'}> +CONFIG_SGI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_ULTRIX_PARTITION policy<{'riscv64': 'y'}> +CONFIG_SUN_PARTITION policy<{'riscv64': 'y'}> +CONFIG_KARMA_PARTITION policy<{'riscv64': 'y'}> +CONFIG_EFI_PARTITION policy<{'riscv64': 'y'}> +CONFIG_SYSV68_PARTITION policy<{'riscv64': 'y'}> +CONFIG_CMDLINE_PARTITION policy<{'riscv64': 'y'}> +# +CONFIG_PARTITION_ADVANCED flag + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> Acorn partition support +CONFIG_ACORN_PARTITION policy<{'riscv64': 'n'}> + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> PC BIOS (MSDOS partition tables) support +CONFIG_MSDOS_PARTITION policy<{'riscv64': 'y'}> +CONFIG_BSD_DISKLABEL policy<{'riscv64': 'y'}> +CONFIG_MINIX_SUBPARTITION policy<{'riscv64': 'y'}> +CONFIG_SOLARIS_X86_PARTITION policy<{'riscv64': 'y'}> +CONFIG_UNIXWARE_DISKLABEL policy<{'riscv64': 'y'}> + +# Menu: Executable file formats +CONFIG_BINFMT_ELF policy<{'riscv64': 'y'}> +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS policy<{'riscv64': 'y'}> +CONFIG_BINFMT_SCRIPT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_MISC policy<{'riscv64': 'm'}> +CONFIG_COREDUMP policy<{'riscv64': 'y'}> +# +CONFIG_BINFMT_SCRIPT mark note + +# Menu: Executable file formats >> Kernel support for flat binaries +CONFIG_BINFMT_FLAT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_FLAT_OLD policy<{'riscv64': 'y'}> +CONFIG_BINFMT_ZFLAT policy<{'riscv64': 'y'}> +CONFIG_BINFMT_SHARED_FLAT policy<{'riscv64': 'y'}> + +# Menu: File systems +CONFIG_VALIDATE_FS_PARSER policy<{'riscv64': 'y'}> +CONFIG_EXT2_FS policy<{'riscv64': 'n'}> +CONFIG_EXT3_FS policy<{'riscv64': 'n'}> +CONFIG_JBD2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_GFS2_FS policy<{'riscv64': 'm'}> +CONFIG_GFS2_FS_LOCKING_DLM policy<{'riscv64': 'y'}> +CONFIG_NILFS2_FS policy<{'riscv64': 'm'}> +CONFIG_ZONEFS_FS policy<{'riscv64': 'm'}> +CONFIG_FS_DAX policy<{'riscv64': 'y'}> +CONFIG_EXPORTFS_BLOCK_OPS policy<{'riscv64': 'y'}> +CONFIG_FILE_LOCKING policy<{'riscv64': 'y'}> +CONFIG_MANDATORY_FILE_LOCKING policy<{'riscv64': 'y'}> +CONFIG_FS_ENCRYPTION policy<{'riscv64': 'y'}> +CONFIG_FS_VERITY policy<{'riscv64': 'y'}> +CONFIG_FS_VERITY_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FS_VERITY_BUILTIN_SIGNATURES policy<{'riscv64': 'y'}> +CONFIG_DNOTIFY policy<{'riscv64': 'y'}> +CONFIG_INOTIFY_USER policy<{'riscv64': 'y'}> +CONFIG_FANOTIFY policy<{'riscv64': 'y'}> +CONFIG_FANOTIFY_ACCESS_PERMISSIONS policy<{'riscv64': 'y'}> +CONFIG_QUOTA_NETLINK_INTERFACE policy<{'riscv64': 'y'}> +CONFIG_AUTOFS4_FS policy<{'riscv64': 'm'}> +CONFIG_AUTOFS_FS policy<{'riscv64': 'm'}> +CONFIG_FUSE_FS policy<{'riscv64': 'y'}> +CONFIG_CUSE policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_FS policy<{'riscv64': 'm'}> +CONFIG_SHIFT_FS policy<{'riscv64': 'm'}> +CONFIG_SHIFT_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_UNICODE policy<{'riscv64': 'y'}> +CONFIG_UNICODE_NORMALIZATION_SELFTEST policy<{'riscv64': 'n'}> +# +CONFIG_EXT2_FS note +CONFIG_EXT3_FS note +CONFIG_FUSE_FS note flag + +# Menu: File systems >> Btrfs filesystem support +CONFIG_BTRFS_FS policy<{'riscv64': 'm'}> +CONFIG_BTRFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_BTRFS_FS_CHECK_INTEGRITY policy<{'riscv64': 'n'}> +CONFIG_BTRFS_FS_RUN_SANITY_TESTS policy<{'riscv64': 'n'}> +CONFIG_BTRFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BTRFS_ASSERT policy<{'riscv64': 'n'}> +CONFIG_BTRFS_FS_REF_VERIFY policy<{'riscv64': 'n'}> + +# Menu: File systems >> CD-ROM/DVD Filesystems +CONFIG_ISO9660_FS policy<{'riscv64': 'm'}> +CONFIG_JOLIET policy<{'riscv64': 'y'}> +CONFIG_ZISOFS policy<{'riscv64': 'y'}> +CONFIG_UDF_FS policy<{'riscv64': 'm'}> + +# Menu: File systems >> Caches +CONFIG_CACHEFILES policy<{'riscv64': 'm'}> +CONFIG_CACHEFILES_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CACHEFILES_HISTOGRAM policy<{'riscv64': 'n'}> + +# Menu: File systems >> Caches >> General filesystem local caching manager +CONFIG_FSCACHE policy<{'riscv64': 'm'}> +CONFIG_FSCACHE_STATS policy<{'riscv64': 'y'}> +CONFIG_FSCACHE_HISTOGRAM policy<{'riscv64': 'n'}> +CONFIG_FSCACHE_DEBUG policy<{'riscv64': 'n'}> +CONFIG_FSCACHE_OBJECT_LIST policy<{'riscv64': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems +CONFIG_EXFAT_FS policy<{'riscv64': 'm'}> +CONFIG_EXFAT_DEFAULT_IOCHARSET policy<{'riscv64': '"utf8"'}> +CONFIG_MSDOS_FS policy<{'riscv64': 'm'}> +CONFIG_NTFS_FS policy<{'riscv64': 'm'}> +CONFIG_NTFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_NTFS_RW policy<{'riscv64': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems >> VFAT (Windows-95) fs support +CONFIG_VFAT_FS policy<{'riscv64': 'y'}> +CONFIG_FAT_DEFAULT_CODEPAGE policy<{'riscv64': '437'}> +CONFIG_FAT_DEFAULT_IOCHARSET policy<{'riscv64': '"iso8859-1"'}> +CONFIG_FAT_DEFAULT_UTF8 policy<{'riscv64': 'n'}> +# +CONFIG_VFAT_FS mark note + +# Menu: File systems >> Distributed Lock Manager (DLM) +CONFIG_DLM policy<{'riscv64': 'm'}> +CONFIG_DLM_DEBUG policy<{'riscv64': 'n'}> + +# Menu: File systems >> F2FS filesystem support +CONFIG_F2FS_FS policy<{'riscv64': 'm'}> +CONFIG_F2FS_STAT_FS policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_F2FS_CHECK_FS policy<{'riscv64': 'n'}> +CONFIG_F2FS_IO_TRACE policy<{'riscv64': 'n'}> +CONFIG_F2FS_FAULT_INJECTION policy<{'riscv64': 'n'}> + +# Menu: File systems >> F2FS filesystem support >> F2FS compression feature +CONFIG_F2FS_FS_COMPRESSION policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZO policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZ4 policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_ZSTD policy<{'riscv64': 'y'}> +CONFIG_F2FS_FS_LZORLE policy<{'riscv64': 'y'}> + +# Menu: File systems >> JFS filesystem support +CONFIG_JFS_FS policy<{'riscv64': 'm'}> +CONFIG_JFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_JFS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_JFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_JFS_STATISTICS policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems +CONFIG_MISC_FILESYSTEMS policy<{'riscv64': 'y'}> +CONFIG_ORANGEFS_FS policy<{'riscv64': 'm'}> +CONFIG_ADFS_FS policy<{'riscv64': 'm'}> +CONFIG_ADFS_FS_RW policy<{'riscv64': 'n'}> +CONFIG_AFFS_FS policy<{'riscv64': 'm'}> +CONFIG_ECRYPT_FS policy<{'riscv64': 'y'}> +CONFIG_ECRYPT_FS_MESSAGING policy<{'riscv64': 'y'}> +CONFIG_HFS_FS policy<{'riscv64': 'm'}> +CONFIG_HFSPLUS_FS policy<{'riscv64': 'm'}> +CONFIG_BEFS_FS policy<{'riscv64': 'm'}> +CONFIG_BEFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BFS_FS policy<{'riscv64': 'm'}> +CONFIG_EFS_FS policy<{'riscv64': 'm'}> +CONFIG_CRAMFS policy<{'riscv64': 'm'}> +CONFIG_CRAMFS_BLOCKDEV policy<{'riscv64': 'y'}> +CONFIG_CRAMFS_MTD policy<{'riscv64': 'y'}> +CONFIG_VXFS_FS policy<{'riscv64': 'm'}> +CONFIG_MINIX_FS policy<{'riscv64': 'm'}> +CONFIG_OMFS_FS policy<{'riscv64': 'm'}> +CONFIG_HPFS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX4FS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX6FS_FS policy<{'riscv64': 'm'}> +CONFIG_QNX6FS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_ROMFS_FS policy<{'riscv64': 'm'}> +CONFIG_SYSV_FS policy<{'riscv64': 'm'}> +CONFIG_UFS_FS policy<{'riscv64': 'm'}> +CONFIG_UFS_FS_WRITE policy<{'riscv64': 'n'}> +CONFIG_UFS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_ECRYPT_FS mark note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support +CONFIG_AUFS_FS policy<{'riscv64': 'm'}> +CONFIG_AUFS_HNOTIFY policy<{'riscv64': 'n'}> +CONFIG_AUFS_EXPORT policy<{'riscv64': 'y'}> +CONFIG_AUFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_AUFS_FHSM policy<{'riscv64': 'n'}> +CONFIG_AUFS_RDU policy<{'riscv64': 'n'}> +CONFIG_AUFS_DIRREN policy<{'riscv64': 'y'}> +CONFIG_AUFS_SHWH policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_RAMFS policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_FUSE policy<{'riscv64': 'n'}> +CONFIG_AUFS_BR_HFSPLUS policy<{'riscv64': 'y'}> +CONFIG_AUFS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_AUFS_EXPORT note + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> Maximum number of branches +CONFIG_AUFS_BRANCH_MAX_127 policy<{'riscv64': 'y'}> +CONFIG_AUFS_BRANCH_MAX_511 policy<{'riscv64': 'n'}> +CONFIG_AUFS_BRANCH_MAX_1023 policy<{'riscv64': 'n'}> +CONFIG_AUFS_BRANCH_MAX_32767 policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> Aufs (Advanced multi layered unification filesystem) support >> method + +# Menu: File systems >> Miscellaneous filesystems >> Default pstore compression algorithm +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> EROFS filesystem support +CONFIG_EROFS_FS policy<{'riscv64': 'm'}> +CONFIG_EROFS_FS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_EROFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_ZIP policy<{'riscv64': 'y'}> +CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT policy<{'riscv64': '1'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support +CONFIG_JFFS2_FS policy<{'riscv64': 'm'}> +CONFIG_JFFS2_FS_DEBUG policy<{'riscv64': '0'}> +CONFIG_JFFS2_FS_WRITEBUFFER policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_WBUF_VERIFY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_SUMMARY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_JFFS2_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support >> Advanced compression options for JFFS2 +CONFIG_JFFS2_COMPRESSION_OPTIONS policy<{'riscv64': 'y'}> +CONFIG_JFFS2_ZLIB policy<{'riscv64': 'y'}> +CONFIG_JFFS2_LZO policy<{'riscv64': 'y'}> +CONFIG_JFFS2_RTIME policy<{'riscv64': 'y'}> +CONFIG_JFFS2_RUBIN policy<{'riscv64': 'n'}> + +# 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<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_PRIORITY policy<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_SIZE policy<{'riscv64': 'n'}> +CONFIG_JFFS2_CMODE_FAVOURLZO policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support +CONFIG_PSTORE policy<{'riscv64': 'y'}> +CONFIG_PSTORE_DEFLATE_COMPRESS policy<{'riscv64': 'y'}> +CONFIG_PSTORE_LZO_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_LZ4_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_LZ4HC_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_842_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_ZSTD_COMPRESS policy<{'riscv64': 'n'}> +CONFIG_PSTORE_CONSOLE policy<{'riscv64': 'n'}> +CONFIG_PSTORE_PMSG policy<{'riscv64': 'n'}> +CONFIG_PSTORE_FTRACE policy<{'riscv64': 'n'}> +CONFIG_PSTORE_RAM policy<{'riscv64': 'm'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support >> Log panic/oops to a block device +CONFIG_PSTORE_BLK policy<{'riscv64': 'm'}> +CONFIG_PSTORE_BLK_BLKDEV policy<{'riscv64': '""'}> +CONFIG_PSTORE_BLK_KMSG_SIZE policy<{'riscv64': '64'}> +CONFIG_PSTORE_BLK_MAX_REASON policy<{'riscv64': '2'}> + +# Menu: File systems >> Miscellaneous filesystems >> RomFS backing stores +CONFIG_ROMFS_BACKED_BY_BLOCK policy<{'riscv64': 'y'}> +CONFIG_ROMFS_BACKED_BY_MTD policy<{'riscv64': 'n'}> +CONFIG_ROMFS_BACKED_BY_BOTH policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support +CONFIG_SQUASHFS policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_ZLIB policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_LZ4 policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_LZO policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_XZ policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_ZSTD policy<{'riscv64': 'y'}> +CONFIG_SQUASHFS_4K_DEVBLK_SIZE policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_EMBEDDED policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SQUASHFS_DECOMP_MULTI policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU policy<{'riscv64': 'n'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support >> File decompression options +CONFIG_SQUASHFS_FILE_CACHE policy<{'riscv64': 'n'}> +CONFIG_SQUASHFS_FILE_DIRECT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support +CONFIG_UBIFS_FS policy<{'riscv64': 'm'}> +CONFIG_UBIFS_ATIME_SUPPORT policy<{'riscv64': 'n'}> +CONFIG_UBIFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_AUTHENTICATION policy<{'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support >> Advanced compression options +CONFIG_UBIFS_FS_ADVANCED_COMPR policy<{'riscv64': 'n'}> +CONFIG_UBIFS_FS_LZO policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZLIB policy<{'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZSTD policy<{'riscv64': 'y'}> + +# Menu: File systems >> Native language support +CONFIG_NLS policy<{'riscv64': 'y'}> +CONFIG_NLS_DEFAULT policy<{'riscv64': '"utf8"'}> +CONFIG_NLS_CODEPAGE_437 policy<{'riscv64': 'y'}> +CONFIG_NLS_CODEPAGE_737 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_775 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_850 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_852 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_855 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_857 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_860 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_861 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_862 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_863 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_864 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_865 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_866 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_869 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_936 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_950 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_932 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_949 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_874 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_8 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_1250 policy<{'riscv64': 'm'}> +CONFIG_NLS_CODEPAGE_1251 policy<{'riscv64': 'm'}> +CONFIG_NLS_ASCII policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_1 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_2 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_3 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_4 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_5 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_6 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_7 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_9 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_13 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_14 policy<{'riscv64': 'm'}> +CONFIG_NLS_ISO8859_15 policy<{'riscv64': 'm'}> +CONFIG_NLS_KOI8_R policy<{'riscv64': 'm'}> +CONFIG_NLS_KOI8_U policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ROMAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CELTIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CENTEURO policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CROATIAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_CYRILLIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_GAELIC policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_GREEK policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ICELAND policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_INUIT policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_ROMANIAN policy<{'riscv64': 'm'}> +CONFIG_NLS_MAC_TURKISH policy<{'riscv64': 'm'}> +CONFIG_NLS_UTF8 policy<{'riscv64': 'm'}> +# +CONFIG_NLS note + +# Menu: File systems >> Network File Systems +CONFIG_NETWORK_FILESYSTEMS policy<{'riscv64': 'y'}> +CONFIG_NFSD policy<{'riscv64': 'm'}> +CONFIG_NFSD_V3 policy<{'riscv64': 'y'}> +CONFIG_NFSD_V3_ACL policy<{'riscv64': 'y'}> +CONFIG_RPCSEC_GSS_KRB5 policy<{'riscv64': 'm'}> +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES policy<{'riscv64': 'n'}> +CONFIG_SUNRPC_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SUNRPC_XPRT_RDMA policy<{'riscv64': 'm'}> +CONFIG_CODA_FS policy<{'riscv64': 'm'}> + +# Menu: File systems >> Network File Systems >> Andrew File System support (AFS) +CONFIG_AFS_FS policy<{'riscv64': 'm'}> +CONFIG_AFS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_AFS_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_AFS_DEBUG_CURSOR policy<{'riscv64': 'n'}> + +# Menu: File systems >> Network File Systems >> Ceph distributed file system +CONFIG_CEPH_FS policy<{'riscv64': 'm'}> +CONFIG_CEPH_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_CEPH_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_CEPH_FS_SECURITY_LABEL policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support +CONFIG_NFS_FS policy<{'riscv64': 'm'}> +CONFIG_NFS_V2 policy<{'riscv64': 'm'}> +CONFIG_NFS_V3 policy<{'riscv64': 'm'}> +CONFIG_NFS_V3_ACL policy<{'riscv64': 'y'}> +CONFIG_NFS_V4 policy<{'riscv64': 'm'}> +CONFIG_NFS_SWAP policy<{'riscv64': 'y'}> +CONFIG_NFS_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_NFS_USE_LEGACY_DNS policy<{'riscv64': 'n'}> +CONFIG_NFS_DISABLE_UDP_SUPPORT policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support >> NFS client support for NFSv4.1 +CONFIG_NFS_V4_1 policy<{'riscv64': 'y'}> +CONFIG_NFS_V4_2 policy<{'riscv64': 'y'}> +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN policy<{'riscv64': '"kernel.org"'}> +CONFIG_NFS_V4_1_MIGRATION policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS server support for NFS version 4 +CONFIG_NFSD_V4 policy<{'riscv64': 'y'}> +CONFIG_NFSD_BLOCKLAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_SCSILAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_FLEXFILELAYOUT policy<{'riscv64': 'y'}> +CONFIG_NFSD_V4_SECURITY_LABEL policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_9P_FS policy<{'riscv64': 'm'}> +CONFIG_9P_FSCACHE policy<{'riscv64': 'y'}> +CONFIG_9P_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_9P_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> Network File Systems >> SMB3 and CIFS support (advanced network filesystem) +CONFIG_CIFS policy<{'riscv64': 'm'}> +CONFIG_CIFS_STATS2 policy<{'riscv64': 'n'}> +CONFIG_CIFS_ALLOW_INSECURE_LEGACY policy<{'riscv64': 'y'}> +CONFIG_CIFS_WEAK_PW_HASH policy<{'riscv64': 'y'}> +CONFIG_CIFS_UPCALL policy<{'riscv64': 'y'}> +CONFIG_CIFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_CIFS_POSIX policy<{'riscv64': 'y'}> +CONFIG_CIFS_DEBUG policy<{'riscv64': 'y'}> +CONFIG_CIFS_DEBUG2 policy<{'riscv64': 'n'}> +CONFIG_CIFS_DEBUG_DUMP_KEYS policy<{'riscv64': 'n'}> +CONFIG_CIFS_DFS_UPCALL policy<{'riscv64': 'y'}> +CONFIG_CIFS_SMB_DIRECT policy<{'riscv64': 'n'}> +CONFIG_CIFS_FSCACHE policy<{'riscv64': 'y'}> +# +CONFIG_CIFS_ALLOW_INSECURE_LEGACY flag + +# Menu: File systems >> OCFS2 file system support +CONFIG_OCFS2_FS policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_O2CB policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_USERSPACE_CLUSTER policy<{'riscv64': 'm'}> +CONFIG_OCFS2_FS_STATS policy<{'riscv64': 'y'}> +CONFIG_OCFS2_DEBUG_MASKLOG policy<{'riscv64': 'y'}> +CONFIG_OCFS2_DEBUG_FS policy<{'riscv64': 'n'}> + +# Menu: File systems >> Overlay filesystem support +CONFIG_OVERLAY_FS policy<{'riscv64': 'm'}> +CONFIG_OVERLAY_FS_REDIRECT_DIR policy<{'riscv64': 'n'}> +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW policy<{'riscv64': 'y'}> +CONFIG_OVERLAY_FS_INDEX policy<{'riscv64': 'n'}> +CONFIG_OVERLAY_FS_XINO_AUTO policy<{'riscv64': 'y'}> +CONFIG_OVERLAY_FS_METACOPY policy<{'riscv64': 'n'}> +# +CONFIG_OVERLAY_FS_METACOPY flag + +# Menu: File systems >> Pseudo filesystems +CONFIG_PROC_CHILDREN policy<{'riscv64': 'y'}> +CONFIG_SYSFS policy<{'riscv64': 'y'}> +CONFIG_TMPFS policy<{'riscv64': 'y'}> +CONFIG_TMPFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_TMPFS_XATTR policy<{'riscv64': 'y'}> +CONFIG_HUGETLBFS policy<{'riscv64': 'y'}> +CONFIG_CONFIGFS_FS policy<{'riscv64': 'y'}> +# +CONFIG_CONFIGFS_FS flag +CONFIG_EFIVAR_FS note +CONFIG_TMPFS_POSIX_ACL mark note + +# Menu: File systems >> Pseudo filesystems >> /proc file system support +CONFIG_PROC_FS policy<{'riscv64': 'y'}> +CONFIG_PROC_KCORE policy<{'riscv64': 'y'}> +CONFIG_PROC_SYSCTL policy<{'riscv64': 'y'}> +CONFIG_PROC_PAGE_MONITOR policy<{'riscv64': 'y'}> + +# Menu: File systems >> Quota support +CONFIG_QUOTA policy<{'riscv64': 'y'}> +CONFIG_PRINT_QUOTA_WARNING policy<{'riscv64': 'n'}> +CONFIG_QUOTA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_QFMT_V1 policy<{'riscv64': 'm'}> +CONFIG_QFMT_V2 policy<{'riscv64': 'm'}> + +# Menu: File systems >> Reiserfs support +CONFIG_REISERFS_FS policy<{'riscv64': 'm'}> +CONFIG_REISERFS_CHECK policy<{'riscv64': 'n'}> +CONFIG_REISERFS_PROC_INFO policy<{'riscv64': 'n'}> +CONFIG_REISERFS_FS_XATTR policy<{'riscv64': 'y'}> +CONFIG_REISERFS_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_REISERFS_FS_SECURITY policy<{'riscv64': 'y'}> + +# Menu: File systems >> The Extended 4 (ext4) filesystem +CONFIG_EXT4_FS policy<{'riscv64': 'y'}> +CONFIG_EXT4_USE_FOR_EXT2 policy<{'riscv64': 'y'}> +CONFIG_EXT4_FS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_EXT4_FS_SECURITY policy<{'riscv64': 'y'}> +CONFIG_EXT4_DEBUG policy<{'riscv64': 'n'}> + +# Menu: File systems >> XFS filesystem support +CONFIG_XFS_FS policy<{'riscv64': 'm'}> +CONFIG_XFS_QUOTA policy<{'riscv64': 'y'}> +CONFIG_XFS_POSIX_ACL policy<{'riscv64': 'y'}> +CONFIG_XFS_RT policy<{'riscv64': 'y'}> +CONFIG_XFS_ONLINE_SCRUB policy<{'riscv64': 'n'}> +CONFIG_XFS_WARN policy<{'riscv64': 'n'}> +CONFIG_XFS_DEBUG policy<{'riscv64': 'n'}> + +# Menu: General architecture-dependent options >> Architecture: riscv +CONFIG_ARCH_MMAP_RND_BITS policy<{'riscv64': '18'}> +CONFIG_COMPAT_32BIT_TIME policy<{'riscv64': 'y'}> +CONFIG_STRICT_KERNEL_RWX policy<{'riscv64': 'y'}> +CONFIG_LOCK_EVENT_COUNTS policy<{'riscv64': 'n'}> +# +CONFIG_JUMP_LABEL flag + +# Menu: General architecture-dependent options >> GCC plugins + +# Menu: General architecture-dependent options >> GCOV-based kernel profiling +CONFIG_GCOV_KERNEL policy<{'riscv64': 'n'}> + +# Menu: General setup +CONFIG_COMPILE_TEST policy<{'riscv64': 'n'}> +CONFIG_LOCALVERSION policy<{'riscv64': '""'}> +CONFIG_LOCALVERSION_AUTO policy<{'riscv64': 'n'}> +CONFIG_BUILD_SALT policy<{'riscv64': '""'}> +CONFIG_DEFAULT_INIT policy<{'riscv64': '""'}> +CONFIG_DEFAULT_HOSTNAME policy<{'riscv64': '"(none)"'}> +CONFIG_VERSION_SIGNATURE policy<{'riscv64': '""'}> +CONFIG_SWAP policy<{'riscv64': 'y'}> +CONFIG_SYSVIPC policy<{'riscv64': 'y'}> +CONFIG_POSIX_MQUEUE policy<{'riscv64': 'y'}> +CONFIG_WATCH_QUEUE policy<{'riscv64': 'y'}> +CONFIG_CROSS_MEMORY_ATTACH policy<{'riscv64': 'y'}> +CONFIG_USELIB policy<{'riscv64': 'y'}> +CONFIG_AUDIT policy<{'riscv64': 'y'}> +CONFIG_CPU_ISOLATION policy<{'riscv64': 'y'}> +CONFIG_IKCONFIG policy<{'riscv64': 'n'}> +CONFIG_IKHEADERS policy<{'riscv64': 'm'}> +CONFIG_LOG_BUF_SHIFT policy<{'riscv64': '18'}> +CONFIG_LOG_CPU_MAX_BUF_SHIFT policy<{'riscv64': '12'}> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT policy<{'riscv64': '13'}> +CONFIG_CHECKPOINT_RESTORE policy<{'riscv64': 'y'}> +CONFIG_SCHED_AUTOGROUP policy<{'riscv64': 'y'}> +CONFIG_SYSFS_DEPRECATED policy<{'riscv64': 'n'}> +CONFIG_RELAY policy<{'riscv64': 'y'}> +CONFIG_BOOT_CONFIG policy<{'riscv64': 'y'}> +CONFIG_BPF_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_BPF_JIT_ALWAYS_ON policy<{'riscv64': 'y'}> +CONFIG_USERFAULTFD policy<{'riscv64': 'y'}> +CONFIG_EMBEDDED policy<{'riscv64': 'n'}> +CONFIG_COMPAT_BRK policy<{'riscv64': 'n'}> +CONFIG_SLAB_MERGE_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_SLAB_FREELIST_RANDOM policy<{'riscv64': 'y'}> +CONFIG_SLAB_FREELIST_HARDENED policy<{'riscv64': 'y'}> +CONFIG_SHUFFLE_PAGE_ALLOCATOR policy<{'riscv64': 'y'}> +CONFIG_SLUB_CPU_PARTIAL policy<{'riscv64': 'y'}> +CONFIG_PROFILING policy<{'riscv64': 'y'}> +# +CONFIG_SYSFS_DEPRECATED mark note +CONFIG_COMPAT_BRK mark note +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED note +CONFIG_BPF_JIT_ALWAYS_ON flag +CONFIG_LOCALVERSION_AUTO mark note + +# Menu: General setup >> CPU/Task time and stats accounting +CONFIG_SCHED_THERMAL_PRESSURE policy<{'riscv64': 'n'}> +CONFIG_BSD_PROCESS_ACCT policy<{'riscv64': 'y'}> +CONFIG_BSD_PROCESS_ACCT_V3 policy<{'riscv64': 'y'}> +CONFIG_TASKSTATS policy<{'riscv64': 'y'}> +CONFIG_TASK_DELAY_ACCT policy<{'riscv64': 'y'}> +CONFIG_TASK_XACCT policy<{'riscv64': 'y'}> +CONFIG_TASK_IO_ACCOUNTING policy<{'riscv64': 'y'}> +CONFIG_PSI policy<{'riscv64': 'y'}> +CONFIG_PSI_DEFAULT_DISABLED policy<{'riscv64': 'n'}> + +# Menu: General setup >> CPU/Task time and stats accounting >> Cputime accounting +CONFIG_TICK_CPU_ACCOUNTING policy<{'riscv64': 'y'}> + +# Menu: General setup >> Choose SLAB allocator +CONFIG_SLAB policy<{'riscv64': 'n'}> +CONFIG_SLUB policy<{'riscv64': 'y'}> +CONFIG_SLOB policy<{'riscv64': 'n'}> + +# Menu: General setup >> Compiler optimization level +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE policy<{'riscv64': 'y'}> +CONFIG_CC_OPTIMIZE_FOR_SIZE policy<{'riscv64': 'n'}> + +# Menu: General setup >> Configure standard kernel features (expert users) +CONFIG_EXPERT policy<{'riscv64': 'y'}> +CONFIG_MULTIUSER policy<{'riscv64': 'y'}> +CONFIG_SGETMASK_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_SYSFS_SYSCALL policy<{'riscv64': 'y'}> +CONFIG_FHANDLE policy<{'riscv64': 'y'}> +CONFIG_POSIX_TIMERS policy<{'riscv64': 'y'}> +CONFIG_PRINTK policy<{'riscv64': 'y'}> +CONFIG_BUG policy<{'riscv64': 'y'}> +CONFIG_ELF_CORE policy<{'riscv64': 'y'}> +CONFIG_BASE_FULL policy<{'riscv64': 'y'}> +CONFIG_FUTEX policy<{'riscv64': 'y'}> +CONFIG_EPOLL policy<{'riscv64': 'y'}> +CONFIG_SIGNALFD policy<{'riscv64': 'y'}> +CONFIG_TIMERFD policy<{'riscv64': 'y'}> +CONFIG_EVENTFD policy<{'riscv64': 'y'}> +CONFIG_SHMEM policy<{'riscv64': 'y'}> +CONFIG_AIO policy<{'riscv64': 'y'}> +CONFIG_IO_URING policy<{'riscv64': 'y'}> +CONFIG_ADVISE_SYSCALLS policy<{'riscv64': 'y'}> +CONFIG_MEMBARRIER policy<{'riscv64': 'y'}> +CONFIG_KALLSYMS policy<{'riscv64': 'y'}> +CONFIG_KALLSYMS_ALL policy<{'riscv64': 'y'}> +CONFIG_PC104 policy<{'riscv64': 'y'}> +CONFIG_VM_EVENT_COUNTERS policy<{'riscv64': 'y'}> +CONFIG_SLUB_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SLUB_MEMCG_SYSFS_ON policy<{'riscv64': 'y'}> +# +CONFIG_FHANDLE mark note +CONFIG_SLUB_MEMCG_SYSFS_ON flag + +# Menu: General setup >> Control Group support +CONFIG_CGROUPS policy<{'riscv64': 'y'}> +CONFIG_MEMCG policy<{'riscv64': 'y'}> +CONFIG_BLK_CGROUP policy<{'riscv64': 'y'}> +CONFIG_CGROUP_PIDS policy<{'riscv64': 'y'}> +CONFIG_CGROUP_RDMA policy<{'riscv64': 'y'}> +CONFIG_CGROUP_FREEZER policy<{'riscv64': 'y'}> +CONFIG_CGROUP_HUGETLB policy<{'riscv64': 'y'}> +CONFIG_CPUSETS policy<{'riscv64': 'y'}> +CONFIG_PROC_PID_CPUSET policy<{'riscv64': 'y'}> +CONFIG_CGROUP_DEVICE policy<{'riscv64': 'y'}> +CONFIG_CGROUP_CPUACCT policy<{'riscv64': 'y'}> +CONFIG_CGROUP_PERF policy<{'riscv64': 'y'}> +CONFIG_CGROUP_BPF policy<{'riscv64': 'y'}> +CONFIG_CGROUP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: General setup >> Control Group support >> CPU controller +CONFIG_CGROUP_SCHED policy<{'riscv64': 'y'}> +CONFIG_FAIR_GROUP_SCHED policy<{'riscv64': 'y'}> +CONFIG_CFS_BANDWIDTH policy<{'riscv64': 'y'}> +CONFIG_RT_GROUP_SCHED policy<{'riscv64': 'n'}> +# +CONFIG_RT_GROUP_SCHED mark note + +# Menu: General setup >> IRQ subsystem +CONFIG_SPARSE_IRQ policy<{'riscv64': 'y'}> +CONFIG_GENERIC_IRQ_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support +CONFIG_BLK_DEV_INITRD policy<{'riscv64': 'y'}> +CONFIG_RD_GZIP policy<{'riscv64': 'y'}> +CONFIG_RD_BZIP2 policy<{'riscv64': 'y'}> +CONFIG_RD_LZMA policy<{'riscv64': 'y'}> +CONFIG_RD_XZ policy<{'riscv64': 'y'}> +CONFIG_RD_LZO policy<{'riscv64': 'y'}> +CONFIG_RD_LZ4 policy<{'riscv64': 'y'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support >> Initramfs source file(s) +CONFIG_INITRAMFS_SOURCE policy<{'riscv64': '""'}> + +# 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<{'riscv64': 'y'}> +CONFIG_DEBUG_PERF_USE_VMALLOC policy<{'riscv64': 'n'}> + +# Menu: General setup >> Kernel compression mode + +# Menu: General setup >> Namespaces support +CONFIG_NAMESPACES policy<{'riscv64': 'y'}> +CONFIG_UTS_NS policy<{'riscv64': 'y'}> +CONFIG_IPC_NS policy<{'riscv64': 'y'}> +CONFIG_USER_NS policy<{'riscv64': 'y'}> +CONFIG_PID_NS policy<{'riscv64': 'y'}> +CONFIG_NET_NS policy<{'riscv64': 'y'}> + +# Menu: General setup >> Preemption Model +CONFIG_PREEMPT_NONE policy<{'riscv64': 'n'}> +CONFIG_PREEMPT_VOLUNTARY policy<{'riscv64': 'y'}> +CONFIG_PREEMPT policy<{'riscv64': 'n'}> +# +CONFIG_PREEMPT_NONE note + +# Menu: General setup >> RCU Subsystem + +# Menu: General setup >> RCU Subsystem >> Make expert-level adjustments to RCU configuration +CONFIG_RCU_EXPERT policy<{'riscv64': 'n'}> +# +CONFIG_RCU_EXPERT flag + +# Menu: General setup >> Scheduler features +# +CONFIG_UCLAMP_TASK policy<{'riscv64': '-'}> +CONFIG_UCLAMP_TASK flag +CONFIG_UCLAMP_TASK mark + +# Menu: General setup >> Timers subsystem +CONFIG_NO_HZ policy<{'riscv64': 'y'}> +CONFIG_CONTEXT_TRACKING_FORCE policy<{'riscv64': '-'}> +CONFIG_HIGH_RES_TIMERS policy<{'riscv64': 'y'}> +# +CONFIG_CONTEXT_TRACKING_FORCE note mark + +# Menu: General setup >> Timers subsystem >> Timer tick handling +CONFIG_HZ_PERIODIC policy<{'riscv64': 'n'}> +CONFIG_NO_HZ_IDLE policy<{'riscv64': 'y'}> +# +CONFIG_NO_HZ_IDLE note + +# Menu: Kernel features >> Architecture: riscv +CONFIG_SECCOMP policy<{'riscv64': 'y'}> +CONFIG_RISCV_SBI_V01 policy<{'riscv64': 'y'}> +# +CONFIG_SECCOMP mark + +# Menu: Kernel features >> Timer frequency +CONFIG_HZ_100 policy<{'riscv64': 'n'}> +CONFIG_HZ_250 policy<{'riscv64': 'y'}> +CONFIG_HZ_300 policy<{'riscv64': 'n'}> +CONFIG_HZ_1000 policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking +CONFIG_DEBUG_TIMEKEEPING policy<{'riscv64': 'n'}> +CONFIG_STACKTRACE policy<{'riscv64': 'y'}> +CONFIG_WARN_ALL_UNSEEDED_RANDOM policy<{'riscv64': 'n'}> +CONFIG_STRICT_DEVMEM policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Compile-time checks and compiler options +CONFIG_ENABLE_MUST_CHECK policy<{'riscv64': 'n'}> +CONFIG_FRAME_WARN policy<{'riscv64': '1024'}> +CONFIG_STRIP_ASM_SYMS policy<{'riscv64': 'n'}> +CONFIG_READABLE_ASM policy<{'riscv64': 'n'}> +CONFIG_HEADERS_INSTALL policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SECTION_MISMATCH policy<{'riscv64': 'n'}> +CONFIG_SECTION_MISMATCH_WARN_ONLY policy<{'riscv64': 'y'}> +CONFIG_FRAME_POINTER policy<{'riscv64': 'y'}> +CONFIG_DEBUG_FORCE_WEAK_PER_CPU policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Compile-time checks and compiler options >> Compile the kernel with debug info +CONFIG_DEBUG_INFO policy<{'riscv64': 'y'}> +CONFIG_DEBUG_INFO_REDUCED policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_COMPRESSED policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_SPLIT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_INFO_DWARF4 policy<{'riscv64': 'y'}> +CONFIG_DEBUG_INFO_BTF policy<{'riscv64': 'y'}> +CONFIG_GDB_SCRIPTS policy<{'riscv64': 'y'}> +# +CONFIG_DEBUG_INFO mark note +CONFIG_DEBUG_INFO_SPLIT note + +# Menu: Kernel hacking >> Debug Oops, Lockups and Hangs +CONFIG_PANIC_ON_OOPS policy<{'riscv64': 'n'}> +CONFIG_PANIC_TIMEOUT policy<{'riscv64': '0'}> +CONFIG_SOFTLOCKUP_DETECTOR policy<{'riscv64': 'y'}> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC policy<{'riscv64': 'n'}> +CONFIG_DETECT_HUNG_TASK policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT policy<{'riscv64': '120'}> +CONFIG_BOOTPARAM_HUNG_TASK_PANIC policy<{'riscv64': 'n'}> +CONFIG_WQ_WATCHDOG policy<{'riscv64': 'n'}> +CONFIG_TEST_LOCKUP policy<{'riscv64': 'n'}> +# +CONFIG_PANIC_ON_OOPS note + +# Menu: Kernel hacking >> Debug kernel data structures +CONFIG_BUG_ON_DATA_CORRUPTION policy<{'riscv64': 'n'}> +CONFIG_DEBUG_LIST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PLIST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SG policy<{'riscv64': 'n'}> +CONFIG_DEBUG_NOTIFIERS policy<{'riscv64': 'n'}> +# +CONFIG_BUG_ON_DATA_CORRUPTION flag + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments +CONFIG_MAGIC_SYSRQ policy<{'riscv64': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL policy<{'riscv64': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE policy<{'riscv64': '""'}> +CONFIG_DEBUG_FS policy<{'riscv64': 'y'}> +# + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KGDB: kernel debugger +CONFIG_KGDB policy<{'riscv64': 'y'}> +CONFIG_KGDB_SERIAL_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_KGDB_TESTS policy<{'riscv64': 'n'}> +CONFIG_KGDB_KDB policy<{'riscv64': 'y'}> +CONFIG_KDB_KEYBOARD policy<{'riscv64': 'y'}> +CONFIG_KDB_CONTINUE_CATASTROPHIC policy<{'riscv64': '0'}> +# +CONFIG_KGDB flag +CONFIG_KGDB_SERIAL_CONSOLE note + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> Undefined behaviour sanity checker +CONFIG_UBSAN policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage +CONFIG_MEMTEST policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Fault-injection framework +CONFIG_FAULT_INJECTION policy<{'riscv64': '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<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Notifier error injection +CONFIG_NOTIFIER_ERROR_INJECTION policy<{'riscv64': 'm'}> +CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT policy<{'riscv64': 'n'}> +CONFIG_NETDEV_NOTIFIER_ERROR_INJECT policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Runtime Testing +CONFIG_RUNTIME_TESTING_MENU policy<{'riscv64': 'y'}> +CONFIG_LKDTM policy<{'riscv64': 'n'}> +CONFIG_TEST_LIST_SORT policy<{'riscv64': 'n'}> +CONFIG_TEST_MIN_HEAP policy<{'riscv64': 'n'}> +CONFIG_TEST_SORT policy<{'riscv64': 'n'}> +CONFIG_BACKTRACE_SELF_TEST policy<{'riscv64': 'n'}> +CONFIG_RBTREE_TEST policy<{'riscv64': 'n'}> +CONFIG_REED_SOLOMON_TEST policy<{'riscv64': 'n'}> +CONFIG_INTERVAL_TREE_TEST policy<{'riscv64': 'n'}> +CONFIG_PERCPU_TEST policy<{'riscv64': 'n'}> +CONFIG_ATOMIC64_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_ASYNC_RAID6_TEST policy<{'riscv64': 'n'}> +CONFIG_TEST_HEXDUMP policy<{'riscv64': 'n'}> +CONFIG_TEST_STRING_HELPERS policy<{'riscv64': 'n'}> +CONFIG_TEST_STRSCPY policy<{'riscv64': 'n'}> +CONFIG_TEST_KSTRTOX policy<{'riscv64': 'n'}> +CONFIG_TEST_PRINTF policy<{'riscv64': 'n'}> +CONFIG_TEST_BITMAP policy<{'riscv64': 'n'}> +CONFIG_TEST_BITFIELD policy<{'riscv64': 'n'}> +CONFIG_TEST_UUID policy<{'riscv64': 'n'}> +CONFIG_TEST_XARRAY policy<{'riscv64': 'n'}> +CONFIG_TEST_OVERFLOW policy<{'riscv64': 'n'}> +CONFIG_TEST_RHASHTABLE policy<{'riscv64': 'n'}> +CONFIG_TEST_HASH policy<{'riscv64': 'n'}> +CONFIG_TEST_IDA policy<{'riscv64': 'n'}> +CONFIG_TEST_PARMAN policy<{'riscv64': 'n'}> +CONFIG_TEST_LKM policy<{'riscv64': 'n'}> +CONFIG_TEST_BITOPS policy<{'riscv64': 'n'}> +CONFIG_TEST_VMALLOC policy<{'riscv64': 'n'}> +CONFIG_TEST_USER_COPY policy<{'riscv64': 'n'}> +CONFIG_TEST_BPF policy<{'riscv64': 'm'}> +CONFIG_TEST_BLACKHOLE_DEV policy<{'riscv64': 'm'}> +CONFIG_FIND_BIT_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_TEST_FIRMWARE policy<{'riscv64': 'n'}> +CONFIG_TEST_SYSCTL policy<{'riscv64': 'n'}> +CONFIG_TEST_UDELAY policy<{'riscv64': 'n'}> +CONFIG_TEST_STATIC_KEYS policy<{'riscv64': 'n'}> +CONFIG_TEST_KMOD policy<{'riscv64': 'n'}> +CONFIG_TEST_MEMCAT_P policy<{'riscv64': 'n'}> +CONFIG_TEST_OBJAGG policy<{'riscv64': 'n'}> +CONFIG_TEST_STACKINIT policy<{'riscv64': 'n'}> +CONFIG_TEST_MEMINIT policy<{'riscv64': '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_BITFIELD flag +CONFIG_TEST_UUID flag +CONFIG_TEST_XARRAY flag +CONFIG_TEST_OVERFLOW 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 + +# Menu: Kernel hacking >> Kernel debugging +CONFIG_DEBUG_KERNEL policy<{'riscv64': 'y'}> +CONFIG_DEBUG_MISC policy<{'riscv64': 'y'}> +CONFIG_DEBUG_SHIRQ policy<{'riscv64': 'n'}> +CONFIG_DEBUG_KOBJECT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_CREDENTIALS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_WQ_FORCE_RR_CPU policy<{'riscv64': 'n'}> +CONFIG_DEBUG_BLOCK_EXT_DEVT policy<{'riscv64': 'n'}> +CONFIG_CPU_HOTPLUG_STATE_CONTROL policy<{'riscv64': 'n'}> +CONFIG_LATENCYTOP policy<{'riscv64': 'n'}> +# +CONFIG_LATENCYTOP mark note + +# Menu: Kernel hacking >> Kernel debugging >> KCSAN: dynamic data race detector + +# Menu: Kernel hacking >> Lock Debugging (spinlocks, mutexes, etc...) +CONFIG_DEBUG_RT_MUTEXES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_SPINLOCK policy<{'riscv64': 'n'}> +CONFIG_DEBUG_MUTEXES policy<{'riscv64': 'n'}> +CONFIG_DEBUG_RWSEMS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_ATOMIC_SLEEP policy<{'riscv64': 'n'}> +CONFIG_DEBUG_LOCKING_API_SELFTESTS policy<{'riscv64': 'n'}> +CONFIG_LOCK_TORTURE_TEST policy<{'riscv64': 'n'}> +CONFIG_WW_MUTEX_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging +CONFIG_PAGE_EXTENSION policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PAGEALLOC policy<{'riscv64': 'n'}> +CONFIG_PAGE_OWNER policy<{'riscv64': 'n'}> +CONFIG_PAGE_POISONING policy<{'riscv64': 'y'}> +CONFIG_PAGE_POISONING_NO_SANITY policy<{'riscv64': 'y'}> +CONFIG_PAGE_POISONING_ZERO policy<{'riscv64': 'y'}> +CONFIG_DEBUG_PAGE_REF policy<{'riscv64': 'n'}> +CONFIG_DEBUG_RODATA_TEST policy<{'riscv64': 'n'}> +CONFIG_DEBUG_WX policy<{'riscv64': 'y'}> +CONFIG_PTDUMP_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_SLUB_DEBUG_ON policy<{'riscv64': 'n'}> +CONFIG_SLUB_STATS policy<{'riscv64': 'n'}> +CONFIG_DEBUG_STACK_USAGE policy<{'riscv64': 'n'}> +CONFIG_SCHED_STACK_END_CHECK policy<{'riscv64': 'y'}> +CONFIG_DEBUG_VIRTUAL policy<{'riscv64': 'n'}> +CONFIG_DEBUG_MEMORY_INIT policy<{'riscv64': 'n'}> +CONFIG_DEBUG_PER_CPU_MAPS policy<{'riscv64': 'n'}> +# +CONFIG_PAGE_POISONING mark note +CONFIG_PAGE_POISONING_ZERO mark note +CONFIG_PAGE_POISONING_NO_SANITY mark note + +# Menu: Kernel hacking >> Memory Debugging >> Debug VM +CONFIG_DEBUG_VM policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> Debug object operations +CONFIG_DEBUG_OBJECTS policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger +CONFIG_KASAN policy<{'riscv64': '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 >> Kernel memory leak detector + +# Menu: Kernel hacking >> RCU Debugging +CONFIG_RCU_PERF_TEST policy<{'riscv64': 'm'}> +CONFIG_RCU_TORTURE_TEST policy<{'riscv64': 'n'}> +CONFIG_RCU_CPU_STALL_TIMEOUT policy<{'riscv64': '60'}> +CONFIG_RCU_TRACE policy<{'riscv64': 'n'}> +CONFIG_RCU_EQS_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_RCU_CPU_STALL_TIMEOUT flag + +# Menu: Kernel hacking >> Sample kernel code +CONFIG_SAMPLES policy<{'riscv64': 'y'}> +CONFIG_SAMPLE_AUXDISPLAY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_TRACE_EVENTS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_TRACE_PRINTK policy<{'riscv64': 'm'}> +CONFIG_SAMPLE_TRACE_ARRAY policy<{'riscv64': 'm'}> +CONFIG_SAMPLE_KOBJECT policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_KFIFO policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_KDB policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_RPMSG_CLIENT policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_CONFIGFS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MTTY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MBOCHS policy<{'riscv64': 'n'}> +CONFIG_SAMPLE_WATCHDOG policy<{'riscv64': 'n'}> +# +CONFIG_SAMPLE_TRACE_PRINTK mark note + +# Menu: Kernel hacking >> Scheduler Debugging +CONFIG_SCHED_DEBUG policy<{'riscv64': 'y'}> +CONFIG_SCHEDSTATS policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> Tracers +CONFIG_FTRACE policy<{'riscv64': 'y'}> +CONFIG_BOOTTIME_TRACING policy<{'riscv64': 'y'}> +CONFIG_STACK_TRACER policy<{'riscv64': 'y'}> +CONFIG_IRQSOFF_TRACER policy<{'riscv64': 'n'}> +CONFIG_SCHED_TRACER policy<{'riscv64': 'y'}> +CONFIG_HWLAT_TRACER policy<{'riscv64': 'y'}> +CONFIG_FTRACE_SYSCALLS policy<{'riscv64': 'y'}> +CONFIG_TRACER_SNAPSHOT policy<{'riscv64': 'y'}> +CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP policy<{'riscv64': 'n'}> +CONFIG_BLK_DEV_IO_TRACE policy<{'riscv64': 'y'}> +CONFIG_SYNTH_EVENTS policy<{'riscv64': 'y'}> +CONFIG_TRACE_EVENT_INJECT policy<{'riscv64': 'y'}> +CONFIG_TRACEPOINT_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_RING_BUFFER_BENCHMARK policy<{'riscv64': 'n'}> +CONFIG_TRACE_EVAL_MAP_FILE policy<{'riscv64': 'n'}> +CONFIG_FTRACE_STARTUP_TEST policy<{'riscv64': 'n'}> +CONFIG_RING_BUFFER_STARTUP_TEST policy<{'riscv64': 'n'}> +CONFIG_PREEMPTIRQ_DELAY_TEST policy<{'riscv64': 'n'}> +CONFIG_SYNTH_EVENT_GEN_TEST policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_PROFILE_ANNOTATED_BRANCHES policy<{'riscv64': 'n'}> +CONFIG_PROFILE_ALL_BRANCHES policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Tracers >> Kernel Function Tracer +CONFIG_FUNCTION_TRACER policy<{'riscv64': 'y'}> +CONFIG_FUNCTION_GRAPH_TRACER policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_FTRACE policy<{'riscv64': 'y'}> +CONFIG_FUNCTION_PROFILER policy<{'riscv64': 'y'}> + +# Menu: Kernel hacking >> printk and dmesg options +CONFIG_PRINTK_TIME policy<{'riscv64': 'y'}> +CONFIG_PRINTK_CALLER policy<{'riscv64': 'n'}> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT policy<{'riscv64': '7'}> +CONFIG_CONSOLE_LOGLEVEL_QUIET policy<{'riscv64': '4'}> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT policy<{'riscv64': '4'}> +CONFIG_BOOT_PRINTK_DELAY policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_DEBUG policy<{'riscv64': 'y'}> +CONFIG_DYNAMIC_DEBUG_CORE policy<{'riscv64': 'y'}> +CONFIG_SYMBOLIC_ERRNAME policy<{'riscv64': 'y'}> +CONFIG_DEBUG_BUGVERBOSE policy<{'riscv64': 'y'}> + +# Menu: Library routines +CONFIG_RAID6_PQ_BENCHMARK policy<{'riscv64': 'y'}> +CONFIG_PACKING policy<{'riscv64': 'y'}> +CONFIG_CORDIC policy<{'riscv64': 'm'}> +CONFIG_PRIME_NUMBERS policy<{'riscv64': 'n'}> +CONFIG_CRC_CCITT policy<{'riscv64': 'y'}> +CONFIG_CRC16 policy<{'riscv64': 'y'}> +CONFIG_CRC_T10DIF policy<{'riscv64': 'y'}> +CONFIG_CRC_ITU_T policy<{'riscv64': 'y'}> +CONFIG_CRC32 policy<{'riscv64': 'y'}> +CONFIG_CRC32_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_CRC64 policy<{'riscv64': 'm'}> +CONFIG_CRC4 policy<{'riscv64': 'm'}> +CONFIG_CRC7 policy<{'riscv64': 'y'}> +CONFIG_LIBCRC32C policy<{'riscv64': 'm'}> +CONFIG_CRC8 policy<{'riscv64': 'm'}> +CONFIG_RANDOM32_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_DMA_API_DEBUG policy<{'riscv64': 'n'}> +CONFIG_GLOB_SELFTEST policy<{'riscv64': 'n'}> +CONFIG_IRQ_POLL policy<{'riscv64': 'y'}> +CONFIG_PARMAN policy<{'riscv64': 'm'}> +CONFIG_OBJAGG policy<{'riscv64': 'm'}> +CONFIG_STRING_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Library routines >> CRC32 implementation +CONFIG_CRC32_SLICEBY8 policy<{'riscv64': 'y'}> +CONFIG_CRC32_SLICEBY4 policy<{'riscv64': 'n'}> +CONFIG_CRC32_SARWATE policy<{'riscv64': 'n'}> +CONFIG_CRC32_BIT policy<{'riscv64': 'n'}> + +# Menu: Library routines >> DMA Contiguous Memory Allocator +CONFIG_DMA_CMA policy<{'riscv64': 'y'}> +CONFIG_CMA_SIZE_MBYTES policy<{'riscv64': '32'}> +CONFIG_CMA_ALIGNMENT policy<{'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<{'riscv64': 'y'}> +CONFIG_CMA_SIZE_SEL_PERCENTAGE policy<{'riscv64': 'n'}> +CONFIG_CMA_SIZE_SEL_MIN policy<{'riscv64': 'n'}> +CONFIG_CMA_SIZE_SEL_MAX policy<{'riscv64': 'n'}> + +# Menu: Library routines >> Select compiled-in fonts +CONFIG_FONTS policy<{'riscv64': 'y'}> +CONFIG_FONT_8x8 policy<{'riscv64': 'y'}> +CONFIG_FONT_8x16 policy<{'riscv64': 'y'}> +CONFIG_FONT_6x11 policy<{'riscv64': 'n'}> +CONFIG_FONT_7x14 policy<{'riscv64': 'n'}> +CONFIG_FONT_PEARL_8x8 policy<{'riscv64': 'n'}> +CONFIG_FONT_ACORN_8x8 policy<{'riscv64': 'y'}> +CONFIG_FONT_MINI_4x6 policy<{'riscv64': 'n'}> +CONFIG_FONT_6x10 policy<{'riscv64': 'y'}> +CONFIG_FONT_10x18 policy<{'riscv64': 'n'}> +CONFIG_FONT_SUN8x16 policy<{'riscv64': 'n'}> +CONFIG_FONT_SUN12x22 policy<{'riscv64': 'n'}> +CONFIG_FONT_TER16x32 policy<{'riscv64': 'y'}> + +# Menu: Library routines >> XZ decompression support +CONFIG_XZ_DEC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_X86 policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_POWERPC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_IA64 policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_ARM policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_ARMTHUMB policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_SPARC policy<{'riscv64': 'y'}> +CONFIG_XZ_DEC_TEST policy<{'riscv64': 'm'}> +# +CONFIG_XZ_DEC note flag + +# Menu: Memory Management options +CONFIG_SPARSEMEM_VMEMMAP policy<{'riscv64': 'y'}> +CONFIG_BALLOON_COMPACTION policy<{'riscv64': 'y'}> +CONFIG_COMPACTION policy<{'riscv64': 'y'}> +CONFIG_PAGE_REPORTING policy<{'riscv64': 'y'}> +CONFIG_MIGRATION policy<{'riscv64': 'y'}> +CONFIG_KSM policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_MMAP_MIN_ADDR policy<{'riscv64': '65536'}> +CONFIG_CLEANCACHE policy<{'riscv64': 'y'}> +CONFIG_FRONTSWAP policy<{'riscv64': 'y'}> +CONFIG_ZPOOL policy<{'riscv64': 'y'}> +CONFIG_ZBUD policy<{'riscv64': 'y'}> +CONFIG_Z3FOLD policy<{'riscv64': 'm'}> +CONFIG_ZSMALLOC policy<{'riscv64': 'y'}> +CONFIG_ZSMALLOC_STAT policy<{'riscv64': 'n'}> +CONFIG_DEFERRED_STRUCT_PAGE_INIT policy<{'riscv64': 'n'}> +CONFIG_IDLE_PAGE_TRACKING policy<{'riscv64': 'y'}> +CONFIG_PERCPU_STATS policy<{'riscv64': 'n'}> +CONFIG_GUP_BENCHMARK policy<{'riscv64': 'n'}> +# +CONFIG_DEFAULT_MMAP_MIN_ADDR mark note +CONFIG_TRANSPARENT_HUGEPAGE flag +CONFIG_MEM_SOFT_DIRTY flag +CONFIG_IDLE_PAGE_TRACKING flag note +CONFIG_PERCPU_STATS flag + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) +CONFIG_ZSWAP policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_DEFAULT_ON policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default allocator +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default compressor +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO policy<{'riscv64': 'y'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC policy<{'riscv64': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD policy<{'riscv64': 'n'}> + +# Menu: Memory Management options >> Contiguous Memory Allocator +CONFIG_CMA policy<{'riscv64': 'y'}> +CONFIG_CMA_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CMA_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_CMA_AREAS policy<{'riscv64': '7'}> + +# Menu: Memory Management options >> Memory model +CONFIG_FLATMEM_MANUAL policy<{'riscv64': 'n'}> +CONFIG_SPARSEMEM_MANUAL policy<{'riscv64': 'y'}> + +# Menu: Memory Management options >> Transparent Hugepage Support sysfs defaults + +# Menu: Networking support +CONFIG_NET policy<{'riscv64': 'y'}> +CONFIG_AF_KCM policy<{'riscv64': 'm'}> +CONFIG_CEPH_LIB policy<{'riscv64': 'm'}> +CONFIG_CEPH_LIB_PRETTYDEBUG policy<{'riscv64': 'n'}> +CONFIG_CEPH_LIB_USE_DNS_RESOLVER policy<{'riscv64': 'y'}> +CONFIG_PSAMPLE policy<{'riscv64': 'm'}> +CONFIG_NET_IFE policy<{'riscv64': 'm'}> +CONFIG_LWTUNNEL policy<{'riscv64': 'y'}> +CONFIG_LWTUNNEL_BPF policy<{'riscv64': 'y'}> +CONFIG_FAILOVER policy<{'riscv64': 'm'}> +CONFIG_ETHTOOL_NETLINK policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Amateur Radio support +CONFIG_HAMRADIO policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol +CONFIG_AX25 policy<{'riscv64': 'm'}> +CONFIG_AX25_DAMA_SLAVE policy<{'riscv64': 'y'}> +CONFIG_NETROM policy<{'riscv64': 'm'}> +CONFIG_ROSE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol >> AX.25 network device drivers +CONFIG_MKISS policy<{'riscv64': 'm'}> +CONFIG_6PACK policy<{'riscv64': 'm'}> +CONFIG_BPQETHER policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_SER_FDX policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_SER_HDX policy<{'riscv64': 'm'}> +CONFIG_BAYCOM_PAR policy<{'riscv64': 'm'}> +CONFIG_YAM policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support +CONFIG_BT policy<{'riscv64': 'm'}> +CONFIG_BT_LE policy<{'riscv64': 'y'}> +CONFIG_BT_6LOWPAN policy<{'riscv64': 'm'}> +CONFIG_BT_LEDS policy<{'riscv64': 'y'}> +CONFIG_BT_MSFTEXT policy<{'riscv64': 'y'}> +CONFIG_BT_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_BT_SELFTEST policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth Classic (BR/EDR) features +CONFIG_BT_BREDR policy<{'riscv64': 'y'}> +CONFIG_BT_RFCOMM policy<{'riscv64': 'm'}> +CONFIG_BT_RFCOMM_TTY policy<{'riscv64': 'y'}> +CONFIG_BT_BNEP policy<{'riscv64': 'm'}> +CONFIG_BT_BNEP_MC_FILTER policy<{'riscv64': 'y'}> +CONFIG_BT_BNEP_PROTO_FILTER policy<{'riscv64': 'y'}> +CONFIG_BT_CMTP policy<{'riscv64': 'm'}> +CONFIG_BT_HIDP policy<{'riscv64': 'm'}> +CONFIG_BT_HS policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers +CONFIG_BT_HCIBTSDIO policy<{'riscv64': 'm'}> +CONFIG_BT_HCIUART_LL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBCM203X policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBPA10X policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBFUSB policy<{'riscv64': 'm'}> +CONFIG_BT_HCIVHCI policy<{'riscv64': 'm'}> +CONFIG_BT_MRVL policy<{'riscv64': 'm'}> +CONFIG_BT_MRVL_SDIO policy<{'riscv64': 'm'}> +CONFIG_BT_MTKSDIO policy<{'riscv64': 'm'}> +CONFIG_BT_MTKUART policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI UART driver +CONFIG_BT_HCIUART policy<{'riscv64': 'm'}> +CONFIG_BT_HCIUART_H4 policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_BCSP policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_ATH3K policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_3WIRE policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_INTEL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_BCM policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_RTL policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_QCA policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_AG6XX policy<{'riscv64': 'y'}> +CONFIG_BT_HCIUART_MRVL policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI USB driver +CONFIG_BT_HCIBTUSB policy<{'riscv64': 'm'}> +CONFIG_BT_HCIBTUSB_AUTOSUSPEND policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_BCM policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_MTK policy<{'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_RTL policy<{'riscv64': 'y'}> +CONFIG_BT_ATH3K policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAIF support +CONFIG_CAIF policy<{'riscv64': 'm'}> +CONFIG_CAIF_DEBUG policy<{'riscv64': 'n'}> +CONFIG_CAIF_NETDEV policy<{'riscv64': 'm'}> +CONFIG_CAIF_USB policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support +CONFIG_CAN policy<{'riscv64': 'm'}> +CONFIG_CAN_RAW policy<{'riscv64': 'm'}> +CONFIG_CAN_BCM policy<{'riscv64': 'm'}> +CONFIG_CAN_GW policy<{'riscv64': 'm'}> +CONFIG_CAN_J1939 policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers +CONFIG_CAN_VCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_VXCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_SLCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_DEBUG_DEVICES policy<{'riscv64': 'n'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support +CONFIG_CAN_DEV policy<{'riscv64': 'm'}> +CONFIG_CAN_CALC_BITTIMING policy<{'riscv64': 'y'}> +CONFIG_CAN_FLEXCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_GRCAN policy<{'riscv64': 'm'}> +CONFIG_CAN_JANZ_ICAN3 policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCIEFD policy<{'riscv64': 'm'}> +CONFIG_CAN_IFI_CANFD policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_CAN_M_CAN_TCAN4X5X policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCIEFD policy<{'riscv64': 'm'}> +CONFIG_CAN_SOFTING policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_CAN_CC770_ISA policy<{'riscv64': 'm'}> +CONFIG_CAN_CC770_PLATFORM policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PLATFORM policy<{'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PCI policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_MCP251X policy<{'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> CAN USB interfaces +CONFIG_CAN_8DEV_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_EMS_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_ESD_USB2 policy<{'riscv64': 'm'}> +CONFIG_CAN_GS_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_MCBA_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_USB policy<{'riscv64': 'm'}> +CONFIG_CAN_UCAN policy<{'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<{'riscv64': 'm'}> +CONFIG_CAN_EMS_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_F81601 policy<{'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCIEC policy<{'riscv64': 'y'}> +CONFIG_CAN_PLX_PCI policy<{'riscv64': 'm'}> +CONFIG_CAN_SJA1000_ISA policy<{'riscv64': 'm'}> +CONFIG_CAN_SJA1000_PLATFORM policy<{'riscv64': 'm'}> + +# Menu: Networking support >> NFC subsystem support +CONFIG_NFC policy<{'riscv64': 'm'}> +CONFIG_NFC_DIGITAL policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_NCI_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_HCI policy<{'riscv64': 'm'}> +CONFIG_NFC_SHDLC policy<{'riscv64': 'y'}> + +# Menu: Networking support >> NFC subsystem support >> Near Field Communication (NFC) devices +CONFIG_NFC_TRF7970A policy<{'riscv64': 'm'}> +CONFIG_NFC_SIM policy<{'riscv64': 'm'}> +CONFIG_NFC_PORT100 policy<{'riscv64': 'm'}> +CONFIG_NFC_FDP policy<{'riscv64': 'm'}> +CONFIG_NFC_FDP_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN544_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN533_USB policy<{'riscv64': 'm'}> +CONFIG_NFC_PN533_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_PN532_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_MICROREAD_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_USB policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_UART policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_MRVL_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_ST21NFCA_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_SPI policy<{'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI policy<{'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_S3FWRN5_I2C policy<{'riscv64': 'm'}> +CONFIG_NFC_ST95HF policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options +CONFIG_PACKET policy<{'riscv64': 'y'}> +CONFIG_PACKET_DIAG policy<{'riscv64': 'm'}> +CONFIG_UNIX policy<{'riscv64': 'y'}> +CONFIG_UNIX_DIAG policy<{'riscv64': 'm'}> +CONFIG_TLS policy<{'riscv64': 'm'}> +CONFIG_TLS_DEVICE policy<{'riscv64': 'y'}> +CONFIG_TLS_TOE policy<{'riscv64': 'n'}> +CONFIG_XFRM_USER policy<{'riscv64': 'm'}> +CONFIG_XFRM_INTERFACE policy<{'riscv64': 'm'}> +CONFIG_XFRM_SUB_POLICY policy<{'riscv64': 'n'}> +CONFIG_XFRM_MIGRATE policy<{'riscv64': 'n'}> +CONFIG_XFRM_STATISTICS policy<{'riscv64': 'y'}> +CONFIG_NET_KEY policy<{'riscv64': 'm'}> +CONFIG_NET_KEY_MIGRATE policy<{'riscv64': 'n'}> +CONFIG_SMC policy<{'riscv64': 'm'}> +CONFIG_SMC_DIAG policy<{'riscv64': 'm'}> +CONFIG_XDP_SOCKETS policy<{'riscv64': 'y'}> +CONFIG_XDP_SOCKETS_DIAG policy<{'riscv64': 'm'}> +CONFIG_NETWORK_SECMARK policy<{'riscv64': 'y'}> +CONFIG_NETWORK_PHY_TIMESTAMPING policy<{'riscv64': 'y'}> +CONFIG_VLAN_8021Q policy<{'riscv64': 'm'}> +CONFIG_VLAN_8021Q_GVRP policy<{'riscv64': 'y'}> +CONFIG_VLAN_8021Q_MVRP policy<{'riscv64': 'y'}> +CONFIG_DECNET policy<{'riscv64': 'm'}> +CONFIG_DECNET_ROUTER policy<{'riscv64': 'n'}> +CONFIG_LLC2 policy<{'riscv64': 'm'}> +CONFIG_ATALK policy<{'riscv64': 'm'}> +CONFIG_X25 policy<{'riscv64': 'm'}> +CONFIG_LAPB policy<{'riscv64': 'm'}> +CONFIG_PHONET policy<{'riscv64': 'm'}> +CONFIG_MAC802154 policy<{'riscv64': 'm'}> +CONFIG_DCB policy<{'riscv64': 'y'}> +CONFIG_DNS_RESOLVER policy<{'riscv64': 'y'}> +CONFIG_NETLINK_DIAG policy<{'riscv64': 'm'}> +CONFIG_NET_NSH policy<{'riscv64': 'm'}> +CONFIG_HSR policy<{'riscv64': 'm'}> +CONFIG_CGROUP_NET_PRIO policy<{'riscv64': 'y'}> +CONFIG_CGROUP_NET_CLASSID policy<{'riscv64': 'y'}> +CONFIG_BPF_JIT policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_6LOWPAN_DEBUGFS policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> 6LoWPAN Support >> Next Header and Generic Header Compression Support +CONFIG_6LOWPAN_NHC policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_DEST policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_FRAGMENT policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_HOP policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_IPV6 policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_MOBILITY policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_ROUTING policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_UDP policy<{'riscv64': 'm'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_UDP policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_ICMPV6 policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG policy<{'riscv64': 'n'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> 802.1d Ethernet Bridging +CONFIG_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_IGMP_SNOOPING policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_VLAN_FILTERING policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_MRP policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> Appletalk interfaces support +CONFIG_DEV_APPLETALK policy<{'riscv64': 'm'}> +CONFIG_IPDDP policy<{'riscv64': 'n'}> +# +CONFIG_IPDDP mark note + +# Menu: Networking support >> Networking options >> Asynchronous Transfer Mode (ATM) +CONFIG_ATM policy<{'riscv64': 'm'}> +CONFIG_ATM_CLIP policy<{'riscv64': 'm'}> +CONFIG_ATM_CLIP_NO_ICMP policy<{'riscv64': 'n'}> +CONFIG_ATM_LANE policy<{'riscv64': 'm'}> +CONFIG_ATM_MPOA policy<{'riscv64': 'm'}> +CONFIG_ATM_BR2684 policy<{'riscv64': 'm'}> +CONFIG_ATM_BR2684_IPFILTER policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> B.A.T.M.A.N. Advanced Meshing Protocol +CONFIG_BATMAN_ADV policy<{'riscv64': 'm'}> +CONFIG_BATMAN_ADV_BATMAN_V policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_BLA policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DAT policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_NC policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_MCAST policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DEBUGFS policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_DEBUG policy<{'riscv64': 'n'}> +CONFIG_BATMAN_ADV_SYSFS policy<{'riscv64': 'y'}> +CONFIG_BATMAN_ADV_TRACING policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> Distributed Switch Architecture +CONFIG_NET_DSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_AR9331 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM_PREPEND policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_GSWIP policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_DSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_EDSA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_MTK policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_KSZ policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_OCELOT policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_QCA policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_LAN9303 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_SJA1105 policy<{'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_TRAILER policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support +CONFIG_IEEE802154 policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_NL802154_EXPERIMENTAL policy<{'riscv64': 'n'}> +CONFIG_IEEE802154_SOCKET policy<{'riscv64': 'm'}> +CONFIG_IEEE802154_6LOWPAN policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> MultiProtocol Label Switching +CONFIG_MPLS policy<{'riscv64': 'y'}> +CONFIG_NET_MPLS_GSO policy<{'riscv64': 'm'}> +CONFIG_MPLS_ROUTING policy<{'riscv64': 'm'}> +CONFIG_MPLS_IPTUNNEL policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) +CONFIG_NETFILTER policy<{'riscv64': 'y'}> +CONFIG_NETFILTER_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_BRIDGE_NETFILTER policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_BRIDGE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration +CONFIG_NETFILTER_INGRESS policy<{'riscv64': 'y'}> +CONFIG_NETFILTER_NETLINK_ACCT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_QUEUE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_LOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_OSF policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE_INET policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_SET policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_AUDIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CHECKSUM policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CLASSIFY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_DSCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_IDLETIMER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LED policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_NAT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NETMAP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFLOG policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFQUEUE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NOTRACK policy<{'riscv64': 'n'}> +CONFIG_NETFILTER_XT_TARGET_RATEEST policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_REDIRECT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TEE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TPROXY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TRACE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_SECMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPMSS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_BPF policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CGROUP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CLUSTER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_COMMENT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNBYTES policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLABEL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CPU policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DCCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DEVGROUP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DSCP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ECN policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ESP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HELPER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HL policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPRANGE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPVS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_L2TP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LENGTH policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LIMIT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MAC policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MARK policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MULTIPORT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_NFACCT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OSF policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OWNER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_POLICY policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PHYSDEV policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PKTTYPE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_QUOTA policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RATEEST policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_REALM policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RECENT policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SCTP policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SOCKET policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATE policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATISTIC policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STRING policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TCPMSS policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TIME policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_XT_MATCH_U32 policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter connection tracking support +CONFIG_NF_CONNTRACK policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_MARK policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_SECMARK policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_ZONES policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_PROCFS policy<{'riscv64': 'n'}> +CONFIG_NF_CONNTRACK_EVENTS policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_TIMEOUT policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_TIMESTAMP policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_LABELS policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_DCCP policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_SCTP policy<{'riscv64': 'y'}> +CONFIG_NF_CT_PROTO_UDPLITE policy<{'riscv64': 'y'}> +CONFIG_NF_CONNTRACK_AMANDA policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_FTP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_H323 policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_IRC policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_NETBIOS_NS policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SNMP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_PPTP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SANE policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_SIP policy<{'riscv64': 'm'}> +CONFIG_NF_CONNTRACK_TFTP policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK_TIMEOUT policy<{'riscv64': 'm'}> +CONFIG_NF_CT_NETLINK_HELPER policy<{'riscv64': 'm'}> +CONFIG_NETFILTER_NETLINK_GLUE_CT policy<{'riscv64': 'y'}> +CONFIG_NF_NAT policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_NF_TABLES_INET policy<{'riscv64': 'y'}> +CONFIG_NFT_NUMGEN policy<{'riscv64': 'm'}> +CONFIG_NFT_CT policy<{'riscv64': 'm'}> +CONFIG_NFT_FLOW_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_NFT_COUNTER policy<{'riscv64': 'm'}> +CONFIG_NFT_CONNLIMIT policy<{'riscv64': 'm'}> +CONFIG_NFT_LOG policy<{'riscv64': 'm'}> +CONFIG_NFT_LIMIT policy<{'riscv64': 'm'}> +CONFIG_NFT_MASQ policy<{'riscv64': 'm'}> +CONFIG_NFT_REDIR policy<{'riscv64': 'm'}> +CONFIG_NFT_NAT policy<{'riscv64': 'm'}> +CONFIG_NFT_TUNNEL policy<{'riscv64': 'm'}> +CONFIG_NFT_OBJREF policy<{'riscv64': 'm'}> +CONFIG_NFT_QUEUE policy<{'riscv64': 'm'}> +CONFIG_NFT_QUOTA policy<{'riscv64': 'm'}> +CONFIG_NFT_REJECT policy<{'riscv64': 'm'}> +CONFIG_NFT_COMPAT policy<{'riscv64': 'm'}> +CONFIG_NFT_HASH policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_INET policy<{'riscv64': 'm'}> +CONFIG_NFT_XFRM policy<{'riscv64': 'm'}> +CONFIG_NFT_SOCKET policy<{'riscv64': 'm'}> +CONFIG_NFT_OSF policy<{'riscv64': 'm'}> +CONFIG_NFT_TPROXY policy<{'riscv64': 'm'}> +CONFIG_NFT_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_NF_DUP_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_DUP_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_FWD_NETDEV policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_NETDEV policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> DECnet: Netfilter Configuration +CONFIG_DECNET_NF_GRABULATOR policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge nf_tables support +CONFIG_NF_TABLES_BRIDGE policy<{'riscv64': 'm'}> +CONFIG_NFT_BRIDGE_META policy<{'riscv64': 'm'}> +CONFIG_NFT_BRIDGE_REJECT policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_BRIDGE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge tables (ebtables) support +CONFIG_BRIDGE_NF_EBTABLES policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_BROUTE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_T_FILTER policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_T_NAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_802_3 policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_AMONG policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_ARP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_IP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_IP6 policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_LIMIT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_MARK policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_PKTTYPE policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_STP policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_VLAN policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_ARPREPLY policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_DNAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_MARK_T policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_REDIRECT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_SNAT policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_LOG policy<{'riscv64': 'm'}> +CONFIG_BRIDGE_EBT_NFLOG policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP set support +CONFIG_IP_SET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_MAX policy<{'riscv64': '256'}> +CONFIG_IP_SET_BITMAP_IP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_BITMAP_IPMAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_BITMAP_PORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPMARK policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORTIP policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPPORTNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_IPMAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_MAC policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETPORTNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETNET policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETPORT policy<{'riscv64': 'm'}> +CONFIG_IP_SET_HASH_NETIFACE policy<{'riscv64': 'm'}> +CONFIG_IP_SET_LIST_SET policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP virtual server support +CONFIG_IP_VS policy<{'riscv64': 'm'}> +CONFIG_IP_VS_IPV6 policy<{'riscv64': 'y'}> +CONFIG_IP_VS_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IP_VS_TAB_BITS policy<{'riscv64': '12'}> +CONFIG_IP_VS_PROTO_TCP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_UDP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_ESP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_AH policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PROTO_SCTP policy<{'riscv64': 'y'}> +CONFIG_IP_VS_RR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_WRR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_WLC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_FO policy<{'riscv64': 'm'}> +CONFIG_IP_VS_OVF policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LBLC policy<{'riscv64': 'm'}> +CONFIG_IP_VS_LBLCR policy<{'riscv64': 'm'}> +CONFIG_IP_VS_DH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_MH policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SED policy<{'riscv64': 'm'}> +CONFIG_IP_VS_NQ policy<{'riscv64': 'm'}> +CONFIG_IP_VS_SH_TAB_BITS policy<{'riscv64': '8'}> +CONFIG_IP_VS_MH_TAB_INDEX policy<{'riscv64': '12'}> +CONFIG_IP_VS_FTP policy<{'riscv64': 'm'}> +CONFIG_IP_VS_NFCT policy<{'riscv64': 'y'}> +CONFIG_IP_VS_PE_SIP policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration +CONFIG_NF_SOCKET_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TPROXY_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_IPV4 policy<{'riscv64': 'y'}> +CONFIG_NFT_DUP_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_ARP policy<{'riscv64': 'y'}> +CONFIG_NF_FLOW_TABLE_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_DUP_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_ARP policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_REJECT_IPV4 policy<{'riscv64': 'm'}> +CONFIG_NF_NAT_SNMP_BASIC policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARPTABLES policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_ARP_MANGLE policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_AH policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_ECN policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_RPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_MATCH_TTL policy<{'riscv64': 'm'}> +CONFIG_IP_NF_FILTER policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_REJECT policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_IP_NF_RAW policy<{'riscv64': 'm'}> +CONFIG_IP_NF_SECURITY policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_CLUSTERIP policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_ECN policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_TTL policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_NETMAP policy<{'riscv64': 'm'}> +CONFIG_IP_NF_TARGET_REDIRECT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IPv6: Netfilter Configuration +CONFIG_NF_SOCKET_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_TPROXY_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_TABLES_IPV6 policy<{'riscv64': 'y'}> +CONFIG_NFT_DUP_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NFT_FIB_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_FLOW_TABLE_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_DUP_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_REJECT_IPV6 policy<{'riscv64': 'm'}> +CONFIG_NF_LOG_IPV6 policy<{'riscv64': '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<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_AH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_EUI64 policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_FRAG policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_OPTS policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_HL policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_IPV6HEADER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_MH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_RPFILTER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_RT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MATCH_SRH policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_HL policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_FILTER policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_REJECT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_SYNPROXY policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_MANGLE policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_RAW policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_SECURITY policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_NAT policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_MASQUERADE policy<{'riscv64': 'm'}> +CONFIG_IP6_NF_TARGET_NPT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network testing +CONFIG_NET_PKTGEN policy<{'riscv64': 'm'}> +CONFIG_NET_DROP_MONITOR policy<{'riscv64': 'y'}> +# +CONFIG_NET_DROP_MONITOR note + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing +CONFIG_NET_SCHED policy<{'riscv64': 'y'}> +CONFIG_NET_SCH_CBQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HTB policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HFSC policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ATM policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_MULTIQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_RED policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SFB policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SFQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TEQL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TBF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CBS policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ETF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_TAPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_GRED policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_DSMARK policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_NETEM policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_DRR policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_MQPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_SKBPRIO policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CHOKE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_QFQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CODEL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ_CODEL policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_CAKE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_HHF policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PIE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_FQ_PIE policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_INGRESS policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_PLUG policy<{'riscv64': 'm'}> +CONFIG_NET_SCH_ETS policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_BASIC policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_TCINDEX policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_ROUTE4 policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FW policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_U32 policy<{'riscv64': 'm'}> +CONFIG_CLS_U32_PERF policy<{'riscv64': 'n'}> +CONFIG_CLS_U32_MARK policy<{'riscv64': 'y'}> +CONFIG_NET_CLS_RSVP policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_RSVP6 policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FLOW policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_CGROUP policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_BPF policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_FLOWER policy<{'riscv64': 'm'}> +CONFIG_NET_CLS_MATCHALL policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Actions +CONFIG_NET_CLS_ACT policy<{'riscv64': 'y'}> +CONFIG_NET_ACT_POLICE policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_GACT policy<{'riscv64': 'm'}> +CONFIG_GACT_PROB policy<{'riscv64': 'y'}> +CONFIG_NET_ACT_MIRRED policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SAMPLE policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_IPT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_NAT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_PEDIT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SIMP policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SKBEDIT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CSUM policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_MPLS policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_VLAN policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_BPF policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CONNMARK policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CTINFO policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_SKBMOD policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_TUNNEL_KEY policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_CT policy<{'riscv64': 'm'}> +CONFIG_NET_ACT_GATE policy<{'riscv64': 'm'}> +CONFIG_NET_TC_SKB_EXT policy<{'riscv64': '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<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Allow override default queue discipline +CONFIG_NET_SCH_DEFAULT policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_NET_EMATCH_STACK policy<{'riscv64': '32'}> +CONFIG_NET_EMATCH_CMP policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_NBYTE policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_U32 policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_META policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_TEXT policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_CANID policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_IPSET policy<{'riscv64': 'm'}> +CONFIG_NET_EMATCH_IPT policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Qualcomm IPC Router support +CONFIG_QRTR policy<{'riscv64': 'm'}> +CONFIG_QRTR_SMD policy<{'riscv64': 'm'}> +CONFIG_QRTR_TUN policy<{'riscv64': 'm'}> +CONFIG_QRTR_MHI policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking +CONFIG_INET policy<{'riscv64': 'y'}> +CONFIG_IP_MULTICAST policy<{'riscv64': 'y'}> +CONFIG_NET_IPIP policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE_DEMUX policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE policy<{'riscv64': 'm'}> +CONFIG_NET_IPGRE_BROADCAST policy<{'riscv64': 'y'}> +CONFIG_SYN_COOKIES policy<{'riscv64': 'y'}> +CONFIG_NET_IPVTI policy<{'riscv64': 'm'}> +CONFIG_NET_FOU policy<{'riscv64': 'm'}> +CONFIG_NET_FOU_IP_TUNNELS policy<{'riscv64': 'y'}> +CONFIG_INET_AH policy<{'riscv64': 'm'}> +CONFIG_INET_ESP policy<{'riscv64': 'm'}> +CONFIG_INET_ESP_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_INET_ESPINTCP policy<{'riscv64': 'y'}> +CONFIG_INET_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_TCP_MD5SIG policy<{'riscv64': 'y'}> +CONFIG_NETLABEL policy<{'riscv64': 'y'}> +CONFIG_MPTCP policy<{'riscv64': 'y'}> +CONFIG_MPTCP_IPV6 policy<{'riscv64': 'y'}> +CONFIG_MPTCP_HMAC_TEST policy<{'riscv64': 'n'}> +CONFIG_NET_SWITCHDEV policy<{'riscv64': 'y'}> +CONFIG_NET_L3_MASTER_DEV policy<{'riscv64': 'y'}> +CONFIG_NET_NCSI policy<{'riscv64': 'y'}> +CONFIG_NCSI_OEM_CMD_GET_MAC policy<{'riscv64': 'y'}> +CONFIG_BPF_STREAM_PARSER policy<{'riscv64': 'y'}> +# +CONFIG_SYN_COOKIES mark +CONFIG_NET_SWITCHDEV mark note +CONFIG_NET_SWITCHDEV mark note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> BPF based packet filtering framework (BPFILTER) +CONFIG_BPFILTER policy<{'riscv64': 'y'}> +CONFIG_BPFILTER_UMH policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> INET: socket monitoring interface +CONFIG_INET_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_UDP_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_RAW_DIAG policy<{'riscv64': 'm'}> +CONFIG_INET_DIAG_DESTROY policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: advanced router +CONFIG_IP_ADVANCED_ROUTER policy<{'riscv64': 'y'}> +CONFIG_IP_FIB_TRIE_STATS policy<{'riscv64': 'y'}> +CONFIG_IP_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IP_ROUTE_MULTIPATH policy<{'riscv64': 'y'}> +CONFIG_IP_ROUTE_VERBOSE policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: kernel level autoconfiguration +CONFIG_IP_PNP policy<{'riscv64': 'n'}> +# +CONFIG_IP_PNP note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: multicast routing +CONFIG_IP_MROUTE policy<{'riscv64': 'y'}> +CONFIG_IP_MROUTE_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IP_PIMSM_V1 policy<{'riscv64': 'y'}> +CONFIG_IP_PIMSM_V2 policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Layer Two Tunneling Protocol (L2TP) +CONFIG_L2TP policy<{'riscv64': 'm'}> +CONFIG_L2TP_DEBUGFS policy<{'riscv64': 'm'}> +CONFIG_L2TP_V3 policy<{'riscv64': 'y'}> +CONFIG_L2TP_IP policy<{'riscv64': 'm'}> +CONFIG_L2TP_ETH policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Open vSwitch +CONFIG_OPENVSWITCH policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_GRE policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_VXLAN policy<{'riscv64': 'm'}> +CONFIG_OPENVSWITCH_GENEVE policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control +CONFIG_TCP_CONG_ADVANCED policy<{'riscv64': 'y'}> +CONFIG_TCP_CONG_BIC policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_CUBIC policy<{'riscv64': 'y'}> +CONFIG_TCP_CONG_WESTWOOD policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HSTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_HYBLA policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_VEGAS policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_NV policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_SCALABLE policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_LP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_VENO policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_YEAH policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_ILLINOIS policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_DCTCP policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_CDG policy<{'riscv64': 'm'}> +CONFIG_TCP_CONG_BBR policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control >> Default TCP congestion control +CONFIG_DEFAULT_CUBIC policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_RENO policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol +CONFIG_IP_DCCP policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP CCIDs Configuration +CONFIG_IP_DCCP_CCID2_DEBUG policy<{'riscv64': 'n'}> +CONFIG_IP_DCCP_CCID3 policy<{'riscv64': 'n'}> +# +CONFIG_IP_DCCP_CCID3 flag + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP Kernel Hacking +CONFIG_IP_DCCP_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The IPv6 protocol +CONFIG_IPV6 policy<{'riscv64': 'y'}> +CONFIG_IPV6_ROUTER_PREF policy<{'riscv64': 'y'}> +CONFIG_IPV6_ROUTE_INFO policy<{'riscv64': 'y'}> +CONFIG_IPV6_OPTIMISTIC_DAD policy<{'riscv64': 'n'}> +CONFIG_INET6_AH policy<{'riscv64': 'm'}> +CONFIG_INET6_ESP policy<{'riscv64': 'm'}> +CONFIG_INET6_ESP_OFFLOAD policy<{'riscv64': 'm'}> +CONFIG_INET6_ESPINTCP policy<{'riscv64': 'y'}> +CONFIG_INET6_IPCOMP policy<{'riscv64': 'm'}> +CONFIG_IPV6_MIP6 policy<{'riscv64': 'm'}> +CONFIG_IPV6_ILA policy<{'riscv64': 'm'}> +CONFIG_IPV6_VTI policy<{'riscv64': 'm'}> +CONFIG_IPV6_SIT policy<{'riscv64': 'm'}> +CONFIG_IPV6_SIT_6RD policy<{'riscv64': 'y'}> +CONFIG_IPV6_TUNNEL policy<{'riscv64': 'm'}> +CONFIG_IPV6_GRE policy<{'riscv64': 'm'}> +CONFIG_IPV6_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IPV6_SUBTREES policy<{'riscv64': 'y'}> +CONFIG_IPV6_MROUTE policy<{'riscv64': 'y'}> +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES policy<{'riscv64': 'y'}> +CONFIG_IPV6_PIMSM_V2 policy<{'riscv64': 'y'}> +CONFIG_IPV6_SEG6_LWTUNNEL policy<{'riscv64': 'y'}> +CONFIG_IPV6_SEG6_HMAC policy<{'riscv64': 'y'}> +CONFIG_IPV6_RPL_LWTUNNEL policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'm'}> +CONFIG_RDS_RDMA policy<{'riscv64': 'm'}> +CONFIG_RDS_TCP policy<{'riscv64': 'm'}> +CONFIG_RDS_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The SCTP Protocol +CONFIG_IP_SCTP policy<{'riscv64': 'm'}> +CONFIG_SCTP_DBG_OBJCNT policy<{'riscv64': 'n'}> +CONFIG_SCTP_COOKIE_HMAC_MD5 policy<{'riscv64': 'y'}> +CONFIG_SCTP_COOKIE_HMAC_SHA1 policy<{'riscv64': '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<{'riscv64': 'n'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 policy<{'riscv64': 'y'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The TIPC Protocol +CONFIG_TIPC policy<{'riscv64': 'm'}> +CONFIG_TIPC_MEDIA_IB policy<{'riscv64': 'y'}> +CONFIG_TIPC_MEDIA_UDP policy<{'riscv64': 'y'}> +CONFIG_TIPC_CRYPTO policy<{'riscv64': 'y'}> +CONFIG_TIPC_DIAG policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Virtual Socket protocol +CONFIG_VSOCKETS policy<{'riscv64': 'm'}> +CONFIG_VSOCKETS_DIAG policy<{'riscv64': 'm'}> +CONFIG_VSOCKETS_LOOPBACK policy<{'riscv64': 'm'}> +CONFIG_VIRTIO_VSOCKETS policy<{'riscv64': 'm'}> + +# Menu: Networking support >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_NET_9P policy<{'riscv64': 'm'}> +CONFIG_NET_9P_VIRTIO policy<{'riscv64': 'm'}> +CONFIG_NET_9P_RDMA policy<{'riscv64': 'm'}> +CONFIG_NET_9P_DEBUG policy<{'riscv64': 'n'}> +# +CONFIG_NET_9P note + +# Menu: Networking support >> RF switch subsystem support +CONFIG_RFKILL policy<{'riscv64': 'y'}> +CONFIG_RFKILL_INPUT policy<{'riscv64': 'y'}> +CONFIG_RFKILL_GPIO policy<{'riscv64': 'm'}> + +# Menu: Networking support >> RxRPC session sockets +CONFIG_AF_RXRPC policy<{'riscv64': 'm'}> +CONFIG_AF_RXRPC_IPV6 policy<{'riscv64': 'y'}> +CONFIG_AF_RXRPC_INJECT_LOSS policy<{'riscv64': 'n'}> +CONFIG_AF_RXRPC_DEBUG policy<{'riscv64': 'n'}> +CONFIG_RXKAD policy<{'riscv64': 'y'}> + +# Menu: Networking support >> WiMAX Wireless Broadband support +CONFIG_WIMAX policy<{'riscv64': 'm'}> +CONFIG_WIMAX_DEBUG_LEVEL policy<{'riscv64': '8'}> + +# Menu: Networking support >> Wireless +CONFIG_WIRELESS policy<{'riscv64': 'y'}> +CONFIG_LIB80211_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) +CONFIG_MAC80211 policy<{'riscv64': 'm'}> +CONFIG_MAC80211_RC_MINSTREL policy<{'riscv64': 'y'}> +CONFIG_MAC80211_MESH policy<{'riscv64': 'y'}> +CONFIG_MAC80211_LEDS policy<{'riscv64': 'y'}> +CONFIG_MAC80211_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_MAC80211_MESSAGE_TRACING policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Default rate control algorithm +CONFIG_MAC80211_RC_DEFAULT_MINSTREL policy<{'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Select mac80211 debugging features +CONFIG_MAC80211_DEBUG_MENU policy<{'riscv64': 'n'}> +CONFIG_MAC80211_STA_HASH_MAX_SIZE policy<{'riscv64': '0'}> + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API +CONFIG_CFG80211 policy<{'riscv64': 'm'}> +CONFIG_NL80211_TESTMODE policy<{'riscv64': 'n'}> +CONFIG_CFG80211_DEVELOPER_WARNINGS policy<{'riscv64': 'n'}> +CONFIG_CFG80211_DEFAULT_PS policy<{'riscv64': 'y'}> +CONFIG_CFG80211_DEBUGFS policy<{'riscv64': 'y'}> +CONFIG_CFG80211_CRDA_SUPPORT policy<{'riscv64': 'y'}> +CONFIG_CFG80211_WEXT policy<{'riscv64': 'y'}> +# +CONFIG_CFG80211_WEXT flag + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API >> cfg80211 certification onus +CONFIG_CFG80211_CERTIFICATION_ONUS policy<{'riscv64': 'n'}> +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB policy<{'riscv64': 'y'}> +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Architecture: riscv +CONFIG_SMP policy<{'riscv64': 'y'}> +CONFIG_NR_CPUS policy<{'riscv64': '8'}> +CONFIG_HOTPLUG_CPU policy<{'riscv64': 'y'}> +CONFIG_RISCV_ISA_C policy<{'riscv64': 'y'}> +CONFIG_FPU policy<{'riscv64': 'y'}> +# +CONFIG_NR_CPUS note + +# Menu: Platform type >> Base ISA >> Architecture: riscv +CONFIG_ARCH_RV32I policy<{'riscv64': 'n'}> +CONFIG_ARCH_RV64I policy<{'riscv64': 'y'}> + +# Menu: Platform type >> CPU Tuning >> Architecture: riscv +CONFIG_TUNE_GENERIC policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Kernel Code Model >> Architecture: riscv +CONFIG_CMODEL_MEDLOW policy<{'riscv64': 'n'}> +CONFIG_CMODEL_MEDANY policy<{'riscv64': 'y'}> + +# Menu: Platform type >> Maximum Physical Memory >> Architecture: riscv +CONFIG_MAXPHYSMEM_2GB policy<{'riscv64': '-'}> +CONFIG_MAXPHYSMEM_128GB policy<{'riscv64': 'y'}> + +# Menu: Platform type >> supported PMU type >> Architecture: riscv +CONFIG_RISCV_BASE_PMU policy<{'riscv64': 'y'}> + +# Menu: Power management options +CONFIG_PM policy<{'riscv64': 'n'}> +# +CONFIG_PM mark note + +# Menu: Power management options >> Architecture: riscv + +# Menu: Power management options >> Power Management Debug Support +# + +# Menu: Security options +CONFIG_SECURITY_DMESG_RESTRICT policy<{'riscv64': 'y'}> +CONFIG_SECURITY_PERF_EVENTS_RESTRICT policy<{'riscv64': 'y'}> +CONFIG_SECURITYFS policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY_FALLBACK policy<{'riscv64': 'y'}> +CONFIG_HARDENED_USERCOPY_PAGESPAN policy<{'riscv64': 'n'}> +CONFIG_STATIC_USERMODEHELPER policy<{'riscv64': 'n'}> +CONFIG_LSM policy<{'riscv64': '"lockdown,yama,integrity,apparmor"'}> +# +CONFIG_SECURITY_DMESG_RESTRICT mark +CONFIG_LSM mark + +# Menu: Security options >> Enable access key retention support +CONFIG_KEYS policy<{'riscv64': 'y'}> +CONFIG_KEYS_REQUEST_CACHE policy<{'riscv64': 'y'}> +CONFIG_PERSISTENT_KEYRINGS policy<{'riscv64': 'y'}> +CONFIG_TRUSTED_KEYS policy<{'riscv64': 'y'}> +CONFIG_ENCRYPTED_KEYS policy<{'riscv64': 'y'}> +CONFIG_KEY_DH_OPERATIONS policy<{'riscv64': 'y'}> +CONFIG_KEY_NOTIFICATIONS policy<{'riscv64': 'y'}> + +# Menu: Security options >> Enable different security models +CONFIG_SECURITY policy<{'riscv64': 'y'}> +CONFIG_SECURITY_NETWORK policy<{'riscv64': 'y'}> +CONFIG_SECURITY_INFINIBAND policy<{'riscv64': 'y'}> +CONFIG_SECURITY_NETWORK_XFRM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_PATH policy<{'riscv64': 'y'}> +CONFIG_LSM_MMAP_MIN_ADDR policy<{'riscv64': '0'}> +CONFIG_SECURITY_LOADPIN policy<{'riscv64': 'n'}> +CONFIG_SECURITY_YAMA policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SAFESETID policy<{'riscv64': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY policy<{'riscv64': '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 + +# Menu: Security options >> Enable different security models >> AppArmor support +CONFIG_SECURITY_APPARMOR policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT policy<{'riscv64': 'y'}> +CONFIG_SECURITY_APPARMOR_DEBUG policy<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem +CONFIG_INTEGRITY policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_SIGNATURE policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_AUDIT policy<{'riscv64': 'y'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> EVM support +CONFIG_EVM policy<{'riscv64': 'y'}> +CONFIG_EVM_ATTR_FSUUID policy<{'riscv64': 'y'}> +CONFIG_EVM_EXTRA_SMACK_XATTRS policy<{'riscv64': 'y'}> +CONFIG_EVM_ADD_XATTRS policy<{'riscv64': 'y'}> +CONFIG_EVM_LOAD_X509 policy<{'riscv64': 'n'}> +# +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<{'riscv64': 'y'}> +CONFIG_INTEGRITY_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_INTEGRITY_PLATFORM_KEYRING policy<{'riscv64': 'y'}> +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY policy<{'riscv64': 'n'}> +# +CONFIG_INTEGRITY_PLATFORM_KEYRING mark note +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) +CONFIG_IMA policy<{'riscv64': 'y'}> +CONFIG_IMA_WRITE_POLICY policy<{'riscv64': 'n'}> +CONFIG_IMA_READ_POLICY policy<{'riscv64': 'n'}> +# +CONFIG_IMA mark note +CONFIG_IMA_WRITE_POLICY mark note +CONFIG_IMA_READ_POLICY mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Appraise integrity measurements +CONFIG_IMA_APPRAISE policy<{'riscv64': 'y'}> +CONFIG_IMA_ARCH_POLICY policy<{'riscv64': 'n'}> +CONFIG_IMA_APPRAISE_BOOTPARAM policy<{'riscv64': 'y'}> +CONFIG_IMA_APPRAISE_MODSIG policy<{'riscv64': 'y'}> +CONFIG_IMA_TRUSTED_KEYRING policy<{'riscv64': 'y'}> +CONFIG_IMA_BLACKLIST_KEYRING policy<{'riscv64': 'n'}> +CONFIG_IMA_LOAD_X509 policy<{'riscv64': 'n'}> +# +CONFIG_IMA_APPRAISE mark note +CONFIG_IMA_TRUSTED_KEYRING mark note +CONFIG_IMA_BLACKLIST_KEYRING mark note +CONFIG_IMA_LOAD_X509 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<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default integrity hash algorithm +CONFIG_IMA_DEFAULT_HASH_SHA1 policy<{'riscv64': 'y'}> +CONFIG_IMA_DEFAULT_HASH_SHA256 policy<{'riscv64': 'n'}> +CONFIG_IMA_DEFAULT_HASH_SHA512 policy<{'riscv64': 'n'}> +# +CONFIG_IMA_DEFAULT_HASH_SHA256 note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default template +CONFIG_IMA_TEMPLATE policy<{'riscv64': 'n'}> +CONFIG_IMA_NG_TEMPLATE policy<{'riscv64': 'y'}> +CONFIG_IMA_SIG_TEMPLATE policy<{'riscv64': 'n'}> +# +CONFIG_IMA_SIG_TEMPLATE note + +# Menu: Security options >> Enable different security models >> Kernel default lockdown mode +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE policy<{'riscv64': 'y'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY policy<{'riscv64': 'n'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY policy<{'riscv64': 'n'}> + +# Menu: Security options >> Enable different security models >> NSA SELinux Support +CONFIG_SECURITY_SELINUX policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_BOOTPARAM policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_DISABLE policy<{'riscv64': 'n'}> +CONFIG_SECURITY_SELINUX_DEVELOP policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_AVC_STATS policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE policy<{'riscv64': '1'}> +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS policy<{'riscv64': '9'}> +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE policy<{'riscv64': '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<{'riscv64': 'y'}> +CONFIG_SECURITY_SMACK_BRINGUP policy<{'riscv64': 'n'}> +CONFIG_SECURITY_SMACK_NETFILTER policy<{'riscv64': 'y'}> +CONFIG_SECURITY_SMACK_APPEND_SIGNALS policy<{'riscv64': 'y'}> +# +CONFIG_SECURITY_SMACK mark + +# Menu: Security options >> Enable different security models >> TOMOYO Linux Support +CONFIG_SECURITY_TOMOYO policy<{'riscv64': 'y'}> +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY policy<{'riscv64': '2048'}> +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG policy<{'riscv64': '1024'}> +CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER policy<{'riscv64': 'n'}> +CONFIG_SECURITY_TOMOYO_POLICY_LOADER policy<{'riscv64': '"/sbin/tomoyo-init"'}> +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER policy<{'riscv64': '"/sbin/init"'}> +CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING policy<{'riscv64': 'n'}> + +# Menu: Security options >> First legacy 'major LSM' to be initialized +CONFIG_DEFAULT_SECURITY_SELINUX policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_SMACK policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_TOMOYO policy<{'riscv64': 'n'}> +CONFIG_DEFAULT_SECURITY_APPARMOR policy<{'riscv64': 'y'}> +CONFIG_DEFAULT_SECURITY_DAC policy<{'riscv64': 'n'}> + +# Menu: Security options >> Kernel hardening options + +# Menu: Security options >> Kernel hardening options >> Memory initialization +CONFIG_INIT_ON_ALLOC_DEFAULT_ON policy<{'riscv64': 'y'}> +CONFIG_INIT_ON_FREE_DEFAULT_ON policy<{'riscv64': 'n'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Initialize kernel stack variables at function entry +CONFIG_INIT_STACK_NONE policy<{'riscv64': 'y'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Poison kernel stack before returning from syscalls + +# Menu: SoC selection >> Architecture: riscv +CONFIG_SOC_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SOC_VIRT policy<{'riscv64': 'y'}> + +# Menu: Ubuntu Supplied Third-Party Device Drivers +CONFIG_HIO policy<{'riscv64': 'n'}> +# +CONFIG_HIO mark note + --- linux-riscv-5.8-5.8.0.orig/debian.riscv/config/config.common.ports +++ linux-riscv-5.8-5.8.0/debian.riscv/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv/config/config.common.ubuntu +++ linux-riscv-5.8-5.8.0/debian.riscv/config/config.common.ubuntu @@ -0,0 +1,7969 @@ +# +# Common config options automatically generated by splitconfig.pl +# +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_88EU_AP_MODE=y +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_AB3100_CORE=y +CONFIG_AB3100_OTP=m +CONFIG_ABP060MG=m +CONFIG_ABX500_CORE=y +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +# CONFIG_ACORN_PARTITION is not set +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD5064=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_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_AD7298=m +CONFIG_AD7303=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_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_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_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADUX1020=m +CONFIG_ADVISE_SYSCALLS=y +CONFIG_ADXL372=m +CONFIG_ADXL372_I2C=m +CONFIG_ADXL372_SPI=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_AHCI_CEVA=m +CONFIG_AHCI_QORIQ=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_AIX_PARTITION=y +CONFIG_AK09911=m +CONFIG_AK8974=m +CONFIG_AK8975=m +CONFIG_AL3010=m +CONFIG_AL3320A=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_AMD8111_ETH=m +CONFIG_AMD_PHY=m +CONFIG_AMIGA_PARTITION=y +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_APDS9300=m +CONFIG_APDS9802ALS=m +CONFIG_APDS9960=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_APPLICOM=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AR5523=m +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_DEBUG_WX=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=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_AS3935=m +CONFIG_ASHMEM=m +CONFIG_ASM_MODVERSIONS=y +CONFIG_ASN1=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m +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_DMA=y +CONFIG_ASYNC_XOR=m +CONFIG_AT76C50X_USB=m +CONFIG_AT803X_PHY=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_FORCE=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=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_SPECTRAL=y +CONFIG_ATH10K_TRACING=y +CONFIG_ATH10K_USB=m +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_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_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +# CONFIG_AUFS_BRANCH_MAX_511 is not set +# CONFIG_AUFS_BR_FUSE is not set +CONFIG_AUFS_BR_HFSPLUS=y +# CONFIG_AUFS_BR_RAMFS is not set +# CONFIG_AUFS_DEBUG is not set +CONFIG_AUFS_DIRREN=y +CONFIG_AUFS_EXPORT=y +# CONFIG_AUFS_FHSM is not set +CONFIG_AUFS_FS=m +# CONFIG_AUFS_HNOTIFY is not set +CONFIG_AUFS_INO_T_64=y +# CONFIG_AUFS_RDU is not set +CONFIG_AUFS_SBILIST=y +# CONFIG_AUFS_SHWH is not set +CONFIG_AUFS_XATTR=y +CONFIG_AURORA_NB8800=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +# CONFIG_AX88796B_PHY is not set +CONFIG_AXP20X_ADC=m +CONFIG_AXP20X_POWER=m +CONFIG_AXP288_ADC=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_ARCXCNN=m +CONFIG_BACKLIGHT_AS3711=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_GPIO=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_SKY81452=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BALLOON_COMPACTION=y +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_DEBUGFS is not set +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_SYSFS=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_LEGO_EV3=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_BATTERY_RT5033=m +CONFIG_BATTERY_RX51=m +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_TWL4030_MADC=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCACHE=m +CONFIG_BCACHE_ASYNC_REGISTRAION=y +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_DEBUG is not set +CONFIG_BCM54140_PHY=m +CONFIG_BCM7XXX_PHY=m +CONFIG_BCM84881_PHY=m +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_KONA_USB2_PHY=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BD70528_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_BFQ_CGROUP_DEBUG is not set +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_BFS_FS=m +CONFIG_BH1750=m +CONFIG_BH1780=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_FLAT_OLD=y +CONFIG_BINFMT_MISC=m +CONFIG_BINFMT_SCRIPT=y +CONFIG_BINFMT_SHARED_FLAT=y +CONFIG_BINFMT_ZFLAT=y +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CGROUP_IOCOST=y +# CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CMDLINE_PARSER=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_CRYPTOLOOP=m +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DRBD=m +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_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_RSXX=m +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SKD=m +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_UMEM=m +CONFIG_BLK_DEV_ZONED=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_VIRTIO=y +CONFIG_BLK_RQ_ALLOC_TIME=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y +CONFIG_BLOCK=y +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=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_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_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_BOOTTIME_TRACING=y +CONFIG_BOOT_CONFIG=y +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BPF=y +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_BPF_SYSCALL=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_BRCMUTIL=m +CONFIG_BRCM_TRACING=y +CONFIG_BRIDGE=m +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_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_HCIBPA10X=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_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_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_MTKSDIO=m +CONFIG_BT_MTKUART=m +CONFIG_BT_QCA=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_RTL=m +# CONFIG_BT_SELFTEST is not set +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILD_BIN2C=y +CONFIG_BUILD_SALT="" +CONFIG_C2PORT=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_DRIVERS=y +CONFIG_CAIF_HSI=m +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_SPI_SLAVE=m +# CONFIG_CAIF_SPI_SYNC is not set +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_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_USB=m +CONFIG_CAN_ESD_USB2=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_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_M_CAN=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_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_RAW=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_UCAN=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAPI_TRACE=y +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_PTP=m +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_INLINE=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_CC_IS_GCC=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc (Ubuntu 10.2.0-8ubuntu1) 10.2.0" +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_CORE=m +CONFIG_CEC_NOTIFIER=y +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_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_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_BD70528=m +CONFIG_CHARGER_BD99954=m +CONFIG_CHARGER_BQ2415X=m +CONFIG_CHARGER_BQ24190=m +CONFIG_CHARGER_BQ24257=m +CONFIG_CHARGER_BQ24735=m +CONFIG_CHARGER_BQ25890=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_MANAGER=y +CONFIG_CHARGER_MAX14577=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MP2629=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_RT9455=m +CONFIG_CHARGER_SBS=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHARGER_UCS1002=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_IPSEC_INLINE=y +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=y +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +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_UPCALL=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_XATTR=y +CONFIG_CLANG_VERSION=0 +CONFIG_CLEANCACHE=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y +# CONFIG_CLK_HSDK is not set +CONFIG_CLK_SIFIVE=y +CONFIG_CLK_SIFIVE_PRCI=y +CONFIG_CLK_TWL6040=m +# CONFIG_CLOCK_THERMAL is not set +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=y +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_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMODEL_MEDANY=y +# CONFIG_CMODEL_MEDLOW is not set +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_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_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_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_LABPC=m +CONFIG_COMEDI_NI_LABPC_ISA=m +CONFIG_COMEDI_NI_LABPC_PCI=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_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=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_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_BD718XX=m +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_LOCHNAGAR=m +CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX9485=m +CONFIG_COMMON_CLK_PALMAS=m +CONFIG_COMMON_CLK_PWM=m +CONFIG_COMMON_CLK_RK808=m +CONFIG_COMMON_CLK_S2MPS11=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_VC5=m +CONFIG_COMMON_CLK_WM831X=m +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +CONFIG_COMPACTION=y +CONFIG_COMPAT_32BIT_TIME=y +# CONFIG_COMPAT_BRK 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_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_CORTINA_PHY=m +# CONFIG_COUNTER is not set +CONFIG_CPCAP_ADC=m +CONFIG_CPUSETS=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_ISOLATION=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_THERMAL=y +CONFIG_CRAMFS=m +CONFIG_CRAMFS_BLOCKDEV=y +CONFIG_CRAMFS_MTD=y +CONFIG_CRASH_CORE=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=m +CONFIG_CRC7=y +CONFIG_CRC8=m +CONFIG_CRC_CCITT=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_MEMORY_ATTACH=y +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_AES=y +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_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2S=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=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_CMAC=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_NITROX=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +CONFIG_CRYPTO_DEV_VIRTIO=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_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_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_KEYWRAP=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_BLAKE2S=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m +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_POLY1305_RSIZE=1 +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_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_AEAD=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_RNG=m +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_CUSE=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_CXD2880_SPI_DRV=m +CONFIG_CYCLADES=m +CONFIG_CYPRESS_FIRMWARE=m +# CONFIG_CYZ_INTR is not set +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_DAVICOM_PHY=m +CONFIG_DAX=y +CONFIG_DAX_DRIVER=y +CONFIG_DCB=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT 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_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_BTF=y +# CONFIG_DEBUG_INFO_COMPRESSED is not set +CONFIG_DEBUG_INFO_DWARF4=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KERNEL_DC 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_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +# CONFIG_DEBUG_MUTEXES 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_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_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU 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_DEFAULT_CUBIC=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_INIT="" +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# 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_DEFXX_MMIO is not set +CONFIG_DETECT_HUNG_TASK=y +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_DEVKMEM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEV_APPLETALK=m +CONFIG_DEV_COREDUMP=y +CONFIG_DHT11=m +CONFIG_DIMLIB=y +CONFIG_DL2K=m +CONFIG_DLCI=m +CONFIG_DLCI_MAX=8 +CONFIG_DLHL60D=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DLN2_ADC=m +CONFIG_DM9102=m +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_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMARD06=m +CONFIG_DMARD09=m +CONFIG_DMARD10=m +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_CMA=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_ENGINE=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_DMA_OF=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_VIRTUAL_CHANNELS=m +CONFIG_DMA_VIRT_OPS=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_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_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_DPOT_DAC=m +CONFIG_DPS310=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_GART_DEBUGFS is not set +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_AMD_ACP=y +CONFIG_DRM_AMD_DC=y +CONFIG_DRM_AMD_DC_HDCP=y +CONFIG_DRM_ANALOGIX_ANX6345=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_CDNS_DSI=m +CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CIRRUS_QEMU=m +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_DISPLAY_CONNECTOR=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_I2S_AUDIO=m +# CONFIG_DRM_ETNAVIV is not set +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GEM_CMA_HELPER=y +CONFIG_DRM_GEM_SHMEM_HELPER=y +CONFIG_DRM_GM12U320=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_KMS_CMA_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_KOMEDA=m +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_LVDS_CODEC=m +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_MIPI_DBI=m +CONFIG_DRM_MIPI_DSI=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +CONFIG_DRM_NWL_MIPI_DSI=m +CONFIG_DRM_NXP_PTN3460=m +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BRIDGE=y +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_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=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_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT39016=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=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_ROCKTECH_JH057N00900=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=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_SIMPLE=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX424AKP=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=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_XINPENG_XPP055C272=m +CONFIG_DRM_PARADE_PS8622=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +# CONFIG_DRM_RADEON_USERPTR is not set +CONFIG_DRM_RCAR_DW_HDMI=m +# CONFIG_DRM_RCAR_LVDS is not set +CONFIG_DRM_SCHED=m +CONFIG_DRM_SII902X=m +CONFIG_DRM_SII9234=m +CONFIG_DRM_SIL_SII8620=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_TI_TFP410=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358767=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_DMA_PAGE_POOL=y +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_UDL=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_VKMS=m +CONFIG_DRM_VRAM_HELPER=m +CONFIG_DS1682=m +CONFIG_DS1803=m +CONFIG_DS4424=m +CONFIG_DST_CACHE=y +CONFIG_DTC=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_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_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_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_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_EDAC=y +# CONFIG_EDAC_DEBUG is not set +# CONFIG_EDAC_LEGACY_SYSFS is not set +CONFIG_EDAC_SIFIVE=y +CONFIG_EDAC_SUPPORT=y +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_PARTITION=y +CONFIG_EFS_FS=m +CONFIG_ELFCORE=y +CONFIG_ELF_CORE=y +# CONFIG_EMBEDDED is not set +# CONFIG_ENABLE_MUST_CHECK 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_ENIC=m +CONFIG_ENVELOPE_DETECTOR=m +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_EROFS_FS=m +CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1 +# 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_ET131X=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y +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_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_ARIZONA=m +CONFIG_EXTCON_FSA9480=m +CONFIG_EXTCON_GPIO=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_RT8973A=m +CONFIG_EXTCON_SM5502=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_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_IO_TRACE is not set +CONFIG_F2FS_STAT_FS=y +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_ARK=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_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_FOREIGN_ENDIAN is not set +CONFIG_FB_GOLDFISH=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_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_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_SIMPLE=y +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_TFT_WATTEROTT=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FCOE=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FIELDBUS_DEV=m +CONFIG_FILE_LOCKING=y +# CONFIG_FIND_BIT_BENCHMARK 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_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_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_FPGA=m +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FPGA_DFL_AFU=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_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_XILINX_SPI=m +CONFIG_FPGA_REGION=m +CONFIG_FPU=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_VECTOR=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_OBJECT_LIST 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_EDMA=m +CONFIG_FSNOTIFY=y +CONFIG_FS_DAX=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=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_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUNCTION_TRACER=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_FWTTY_MAX_CARD_PORTS=32 +CONFIG_FWTTY_MAX_TOTAL_PORTS=64 +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_FXAS21002C=m +CONFIG_FXAS21002C_I2C=m +CONFIG_FXAS21002C_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_GCC_VERSION=100200 +# 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_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=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_GENEVE=m +CONFIG_GENWQE=m +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +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_GOLDFISH=y +CONFIG_GOLDFISH_AUDIO=m +CONFIG_GOLDFISH_PIPE=m +CONFIG_GOLDFISH_TTY=m +CONFIG_GP2AP002=m +CONFIG_GP2AP020A00F=m +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_74X164=m +CONFIG_GPIO_74XX_MMIO=m +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AGGREGATOR=m +CONFIG_GPIO_ALTERA=m +# CONFIG_GPIO_AMD_FCH is not set +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_BD70528=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_CADENCE=m +CONFIG_GPIO_DA9052=m +CONFIG_GPIO_DA9055=m +CONFIG_GPIO_DLN2=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_EXAR=m +CONFIG_GPIO_FTGPIO010=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_GRGPIO=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_HLWD=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_MOCKUP is not set +CONFIG_GPIO_MOXTET=m +CONFIG_GPIO_PALMAS=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SAMA5D2_PIOBU=m +CONFIG_GPIO_SIFIVE=y +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SYSCON=m +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TC3589X=y +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_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_UCB1400=m +CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_WATCHDOG=m +CONFIG_GPIO_WCD934X=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +# CONFIG_GPIO_XILINX is not set +CONFIG_GPIO_XRA1403=m +CONFIG_GRACE_PERIOD=m +CONFIG_GREENASIA_FF=y +# CONFIG_GREYBUS is not set +CONFIG_GRO_CELLS=y +CONFIG_GS_FPGABOOT=m +CONFIG_GTP=m +# CONFIG_GUP_BENCHMARK is not set +CONFIG_GVE=m +# CONFIG_HABANA_AI is not set +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY_FALLBACK=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HD44780=m +CONFIG_HDC100X=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_HEADERS_INSTALL is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HI8435=m +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_GEMBIRD=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GFRM=m +CONFIG_HID_GLORIOUS=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GT683R=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=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_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_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=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_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_SENSOR_ACCEL_3D=m +CONFIG_HID_SENSOR_ALS=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_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_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_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HIO is not set +# CONFIG_HIPPI is not set +CONFIG_HMC425=m +CONFIG_HMC6352=m +CONFIG_HMM_MIRROR=y +CONFIG_HMS_ANYBUSS_BUS=m +CONFIG_HMS_PROFINET=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=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_CPCI=y +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HP03=m +CONFIG_HP206C=m +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HSR=m +CONFIG_HT16K33=m +CONFIG_HTC_I2CPLD=y +CONFIG_HTC_PASIC3=m +CONFIG_HTS221=m +CONFIG_HTS221_I2C=m +CONFIG_HTS221_SPI=m +CONFIG_HTU21=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_DRIVER=y +CONFIG_HVC_RISCV_SBI=y +CONFIG_HWLAT_TRACER=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +CONFIG_HWSPINLOCK=y +CONFIG_HW_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_TPM=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HX711=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_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_ARB_GPIO_CHALLENGE=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +# 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_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=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_KEMPLD=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_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_RK3X=m +CONFIG_I2C_ROBOTFUZZ_OSIF=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 is not set +CONFIG_I2C_SMBUS=m +CONFIG_I2C_STUB=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIPERBOARD=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_I40E_DCB=y +CONFIG_I6300ESB_WDT=m +CONFIG_IAQCORE=m +CONFIG_IAVF=m +CONFIG_ICE=m +CONFIG_ICP10100=m +CONFIG_ICPLUS_PHY=m +CONFIG_ICS932S401=m +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_ADF7242=m +CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_AT86RF230_DEBUGFS=y +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_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_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_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_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_ARCH_POLICY is not set +# 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_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_SIG_TEMPLATE is not set +# CONFIG_IMA_TEMPLATE is not set +CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_WRITE_POLICY is not set +CONFIG_IMG_ASCII_LCD=m +CONFIG_INA2XX_ADC=m +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_RAW_DIAG=m +CONFIG_INET_SCTP_DIAG=m +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_EXP_LEGACY_VERBS_NEW_UAPI is not set +CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set +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_QEDR=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_VIRT_DMA=y +CONFIG_INFINIBAND_VMWARE_PVRDMA=m +CONFIG_INFTL=m +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_NONE=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=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_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATI_REMOTE2=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_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_IMS_PCU=m +CONFIG_INPUT_IQS269A=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_POLLDEV=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_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_WM831X_ON=m +CONFIG_INPUT_YEALINK=m +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_TH=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_XWAY_PHY=m +CONFIG_INTERCONNECT=y +CONFIG_INTERVAL_TREE=y +# CONFIG_INTERVAL_TREE_TEST is not set +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m +CONFIG_INV_MPU6050_SPI=m +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_SUPPORT=y +# CONFIG_ION is not set +CONFIG_IONIC=m +CONFIG_IOSCHED_BFQ=m +CONFIG_IO_URING=y +CONFIG_IO_WQ=y +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_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_HANDLER=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_IPV6=y +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_ILA=m +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_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_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=m +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_POLL=y +CONFIG_IRQ_WORK=y +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_JVC_DECODER=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_NEC_DECODER=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_SIR=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_TTUSBIR=m +CONFIG_IR_XMP_DECODER=m +CONFIG_ISCSI_BOOT_SYSFS=m +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_ISI=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISL29125=m +CONFIG_ISL29501=m +CONFIG_ISO9660_FS=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_BCAST_FILTERING is not set +# 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_DCB=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBE_IPSEC=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_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_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_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_KARMA_PARTITION=y +# CONFIG_KASAN is not set +CONFIG_KASAN_STACK=1 +CONFIG_KCMP=y +CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_KDB_DEFAULT_ENABLE=0x1 +CONFIG_KDB_KEYBOARD=y +CONFIG_KEMPLD_WDT=m +CONFIG_KERNFS=y +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_BCM=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_DLINK_DIR685=m +CONFIG_KEYBOARD_GOLDFISH_EVENTS=m +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=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_MTK_PMIC=m +CONFIG_KEYBOARD_NEWTON=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_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=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_KGDB=y +CONFIG_KGDB_KDB=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KMX61=m +CONFIG_KPC2000=y +CONFIG_KPC2000_CORE=m +CONFIG_KPC2000_DMA=m +CONFIG_KPC2000_I2C=m +CONFIG_KPC2000_SPI=m +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_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_LAPB=m +CONFIG_LAPBETHER=m +# CONFIG_LATENCYTOP is not set +CONFIG_LATTICE_ECP3_CONFIG=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_VERSION=235010000 +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_AAT1290=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_AN30259A=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_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_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_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_MLXREG=m +CONFIG_LEDS_MT6323=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_REGULATOR=m +CONFIG_LEDS_SGM3140=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_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_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_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_LIDAR_LITE_V2=m +CONFIG_LINEAR_RANGES=y +CONFIG_LIQUIDIO=m +CONFIG_LIQUIDIO_VF=m +CONFIG_LIRC=y +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LMP91000=m +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=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_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="lockdown,yama,integrity,apparmor" +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LTC1660=m +CONFIG_LTC2471=m +CONFIG_LTC2485=m +CONFIG_LTC2496=m +CONFIG_LTC2497=m +CONFIG_LTC2632=m +CONFIG_LTC2983=m +CONFIG_LTE_GDM724X=m +CONFIG_LTR501=m +CONFIG_LV0104CS=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_LXT_PHY=m +CONFIG_LZ4HC_COMPRESS=m +CONFIG_LZ4_COMPRESS=y +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_MACSEC=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=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_MANDATORY_FILE_LOCKING=y +CONFIG_MANTIS_CORE=m +CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_PHY=m +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_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_MAXPHYSMEM_128GB=y +CONFIG_MAX_RAW_DEVS=256 +CONFIG_MB1232=m +CONFIG_MC3230=m +CONFIG_MCB=m +CONFIG_MCB_LPC=m +CONFIG_MCB_PCI=m +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_MD=y +CONFIG_MDIO=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_BUS_MUX_MMIOREG=m +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m +CONFIG_MDIO_CAVIUM=m +CONFIG_MDIO_DEVICE=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_THUNDER=m +CONFIG_MDIO_XPCS=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_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_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_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_ISOLATION=y +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_MENF21BMC_WATCHDOG=m +CONFIG_MENZ069_WATCHDOG=m +CONFIG_MEN_A21_WDT=m +CONFIG_MEN_Z188_ADC=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_ACT8945A=m +CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=y +CONFIG_MFD_ATMEL_FLEXCOM=m +CONFIG_MFD_ATMEL_HLCDC=m +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_CPCAP=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_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=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_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_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RK808=m +CONFIG_MFD_RN5T618=m +CONFIG_MFD_ROHM_BD70528=m +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD718XX=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SMSC=y +CONFIG_MFD_STMFX=m +CONFIG_MFD_STMPE=y +CONFIG_MFD_STPMIC1=m +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 is not set +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_TPS80031=y +# CONFIG_MFD_TQMX86 is not set +CONFIG_MFD_TWL4030_AUDIO=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_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_PIT64B=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MICROSEMI_PHY=m +CONFIG_MIGRATION=y +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +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_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_ACCEL=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_FPGA_IPSEC=y +CONFIG_MLX5_FPGA_TLS=y +CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TLS=y +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_MLXFW=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_MLXSW_SWITCHIB=m +CONFIG_MLXSW_SWITCHX2=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_MMC_ALCOR=m +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_GOLDFISH=m +CONFIG_MMC_HSQ=m +CONFIG_MMC_MTK=m +CONFIG_MMC_REALTEK_PCI=m +CONFIG_MMC_REALTEK_USB=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_AM654=m +CONFIG_MMC_SDHCI_CADENCE=m +CONFIG_MMC_SDHCI_EXTERNAL_DMA=y +CONFIG_MMC_SDHCI_F_SDH30=m +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_MILBEAUT=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_OMAP=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_XENON=m +CONFIG_MMC_SPI=y +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMIOWB=y +CONFIG_MMU=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MODULES=y +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS 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_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_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_SOUND=m +CONFIG_MOST_USB=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_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_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_MPTCP=y +# CONFIG_MPTCP_HMAC_TEST is not set +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_OCELOT=m +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSPRO_BLOCK=m +CONFIG_MS_BLOCK=m +CONFIG_MT7601U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7663U=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +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_MTD=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=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_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_GEN_PROBE=m +CONFIG_MTD_HYPERBUS=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=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_MTDRAM=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_NAND_ECC_SW_HAMMING=m +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +CONFIG_MTD_OF_PARTS=m +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_PARTITIONED_MASTER is not set +CONFIG_MTD_PCI=m +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +CONFIG_MTD_PHYSMAP_GPIO_ADDR=y +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set +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_QINFO_PROBE=m +CONFIG_MTD_RAM=m +# CONFIG_MTD_RAW_NAND is not set +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_SLRAM=m +CONFIG_MTD_SPI_NAND=m +CONFIG_MTD_SPI_NOR=m +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_MULTIPLEXER=m +CONFIG_MULTIUSER=y +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUX_ADG792A=m +CONFIG_MUX_ADGS1408=m +CONFIG_MUX_GPIO=m +CONFIG_MUX_MMIO=m +CONFIG_MVMDIO=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_MXC4005=m +CONFIG_MXC6255=m +CONFIG_MYRI10GE=m +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=m +CONFIG_NATSEMI=m +CONFIG_NAU7802=m +CONFIG_NCSI_OEM_CMD_GET_MAC=y +CONFIG_ND_BLK=m +CONFIG_ND_BTT=m +CONFIG_ND_CLAIM=y +CONFIG_NE2K_PCI=m +CONFIG_NEED_DMA_MAP_STATE=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_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_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +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_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_RDMA=m +CONFIG_NET_9P_VIRTIO=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_TCINDEX=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DROP_MONITOR=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_BCM_SF2=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_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_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y +CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK_SMI=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_8021Q=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_PREPEND=m +CONFIG_NET_DSA_TAG_DSA=m +CONFIG_NET_DSA_TAG_EDSA=m +CONFIG_NET_DSA_TAG_GSWIP=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_QCA=m +CONFIG_NET_DSA_TAG_SJA1105=m +CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_VITESSE_VSC73XX=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=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_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_REDIRECT=y +CONFIG_NET_RX_BUSY_POLL=y +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_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_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALACRITECH=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_ATHEROS=y +CONFIG_NET_VENDOR_AURORA=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_CISCO=y +CONFIG_NET_VENDOR_CORTINA=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=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_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VRF=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_MICROREAD=m +CONFIG_NFC_MICROREAD_I2C=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_PORT100=m +CONFIG_NFC_S3FWRN5=m +CONFIG_NFC_S3FWRN5_I2C=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_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=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=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_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_COUNTER=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_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_FLOW_TABLE_IPV4=m +CONFIG_NF_FLOW_TABLE_IPV6=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_BRIDGE=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_LOG_NETDEV=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_NILFS2_FS=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_LEGACY_CTX_SUPPORT is not set +CONFIG_NOZOMI=m +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NR_CPUS=8 +CONFIG_NS83820=m +CONFIG_NTB=m +CONFIG_NTB_IDT=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_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NVDIMM_KEYS=y +CONFIG_NVM=y +CONFIG_NVMEM=y +CONFIG_NVMEM_REBOOT_MODE=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_NVMEM_SYSFS=y +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_RDMA=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TCP=m +CONFIG_NVM_PBLK=m +# CONFIG_NVM_PBLK_DEBUG is not set +CONFIG_NXP_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_N_HDLC=m +CONFIG_OBJAGG=m +# 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_OF=y +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_NET=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_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPT3001=m +CONFIG_ORANGEFS_FS=m +CONFIG_ORINOCO_USB=m +CONFIG_OSF_PARTITION=y +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_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_OFFSET=0xffffffe000000000 +# CONFIG_PAGE_OWNER is not set +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POISONING_NO_SANITY=y +CONFIG_PAGE_POISONING_ZERO=y +CONFIG_PAGE_POOL=y +CONFIG_PAGE_REPORTING=y +CONFIG_PALMAS_GPADC=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_PANIC_TIMEOUT=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARMAN=m +CONFIG_PARPORT=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PANEL=m +CONFIG_PARTITION_ADVANCED=y +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_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_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_SIS=m +CONFIG_PATA_TIMINGS=y +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PA_BITS=56 +CONFIG_PC104=y +CONFIG_PC300TOO=m +# CONFIG_PCCARD is not set +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_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_MICROSEMI=y +CONFIG_PCIE_PTM=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +# CONFIG_PCI_DEBUG is not set +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_TEST is not set +CONFIG_PCI_FTPCI100=y +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_MESON is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +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_PCNET32=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_PERF_EVENTS=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PHY_CADENCE_DPHY=m +CONFIG_PHY_CADENCE_SALVO=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_FSL_IMX8MQ_USB=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_MIXEL_MIPI_DPHY=m +CONFIG_PHY_OCELOT_SERDES=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_QCOM_USB_HSIC=m +CONFIG_PHY_SAMSUNG_USB2=m +CONFIG_PHY_TUSB1210=m +CONFIG_PI433=m +CONFIG_PID_NS=y +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m +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_LOCHNAGAR=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_OCELOT=y +CONFIG_PINCTRL_PALMAS=y +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SX150X=y +CONFIG_PING=m +CONFIG_PINMUX=y +CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_PKCS7_TEST_KEY=m +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m +CONFIG_PLATFORM_MHU=m +CONFIG_PLATFORM_SI4713=m +CONFIG_PLIP=m +CONFIG_PLX_DMA=m +CONFIG_PLX_HERMES=m +# CONFIG_PM is not set +CONFIG_PMBUS=m +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PMIC_DA9052=y +CONFIG_PMS7003=m +CONFIG_PM_DEVFREQ=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_PM_OPP=y +CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_FLEXFILE_LAYOUT=m +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POSIX_TIMERS=y +CONFIG_POWERCAP=y +CONFIG_POWER_AVS=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_AS3722=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_LTC2952=y +CONFIG_POWER_RESET_MT6323=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +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_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +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_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROC_CHILDREN=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +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_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_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_IDTCM=m +CONFIG_PTP_1588_CLOCK_INES=m +CONFIG_PVPANIC=m +CONFIG_PWM=y +CONFIG_PWM_ATMEL_HLCDC_PWM=m +# CONFIG_PWM_DEBUG is not set +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_IQS620A=m +CONFIG_PWM_LP3943=m +CONFIG_PWM_PCA9685=m +CONFIG_PWM_SIFIVE=y +CONFIG_PWM_STMPE=y +CONFIG_PWM_SYSFS=y +CONFIG_PWM_TWL=m +CONFIG_PWM_TWL_LED=m +CONFIG_PWRSEQ_EMMC=m +CONFIG_PWRSEQ_SD8787=m +CONFIG_PWRSEQ_SIMPLE=m +CONFIG_QCA7000=m +CONFIG_QCA7000_SPI=m +CONFIG_QCA7000_UART=m +CONFIG_QCOM_CPR=m +CONFIG_QCOM_EMAC=m +CONFIG_QCOM_HIDMA=m +CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_SPMI_ADC5=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_VADC_COMMON=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_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_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_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=y +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_RANDOM_TRUST_BOOTLOADER=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_TSI568=m +CONFIG_RAPIDIO_TSI57X=m +CONFIG_RAPIDIO_TSI721=m +CONFIG_RAS=y +CONFIG_RATIONAL=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RAVE_SP_EEPROM=m +CONFIG_RAVE_SP_WATCHDOG=m +CONFIG_RAW_DRIVER=m +# CONFIG_RBTREE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_PERF_TEST=m +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_READABLE_ASM is not set +CONFIG_REALTEK_PHY=m +CONFIG_REBOOT_MODE=m +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +# CONFIG_REED_SOLOMON_TEST is not set +CONFIG_REGMAP=y +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_SPI=y +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_AB3100=m +CONFIG_REGULATOR_ACT8865=m +CONFIG_REGULATOR_ACT8945A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_ARIZONA_LDO1=m +CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BCM590XX=m +CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_CPCAP=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +CONFIG_REGULATOR_DA9055=m +CONFIG_REGULATOR_DA9062=m +CONFIG_REGULATOR_DA9063=m +CONFIG_REGULATOR_DA9210=m +CONFIG_REGULATOR_DA9211=m +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FAN53555=m +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_HI6421=m +CONFIG_REGULATOR_HI6421V530=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_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_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_MT6323=m +CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6397=m +CONFIG_REGULATOR_PALMAS=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PV88060=m +CONFIG_REGULATOR_PV88080=m +CONFIG_REGULATOR_PV88090=m +CONFIG_REGULATOR_PWM=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=m +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m +CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_S2MPA01=m +CONFIG_REGULATOR_S2MPS11=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_SKY81452=m +CONFIG_REGULATOR_SLG51000=m +CONFIG_REGULATOR_STPMIC1=m +CONFIG_REGULATOR_SY8106A=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_TPS51632=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=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_TPS80031=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=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_REMOTEPROC is not set +CONFIG_RENESAS_PHY=m +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_INTEL_GW=y +CONFIG_RESET_TI_SYSCON=m +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_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RISCV=y +CONFIG_RISCV_BASE_PMU=y +CONFIG_RISCV_INTC=y +CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_SBI=y +CONFIG_RISCV_SBI_V01=y +CONFIG_RISCV_TIMER=y +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_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_WATCHDOG=m +CONFIG_ROCKCHIP_PHY=m +CONFIG_ROCKER=m +CONFIG_ROCKETPORT=m +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_QCOM_GLINK=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RPR0521=m +CONFIG_RPS=y +CONFIG_RSI_91X=m +CONFIG_RSI_COEX=y +# CONFIG_RSI_DEBUGFS is not set +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +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_AB3100=m +CONFIG_RTC_DRV_ABB5ZES3=m +CONFIG_RTC_DRV_ABEOZ9=m +CONFIG_RTC_DRV_ABX80X=m +CONFIG_RTC_DRV_AS3722=m +CONFIG_RTC_DRV_BD70528=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_CADENCE=m +CONFIG_RTC_DRV_CPCAP=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_FTRTC010=m +CONFIG_RTC_DRV_GOLDFISH=y +CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_HYM8563=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_MSM6242=m +CONFIG_RTC_DRV_MT6397=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_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_RV3028=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV3029_HWMON=y +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_SD3078=m +CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_TPS6586X=m +CONFIG_RTC_DRV_TPS65910=m +CONFIG_RTC_DRV_TPS80031=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +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_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +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_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_RT_GROUP_SCHED is not set +CONFIG_RT_MUTEXES=y +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_RXKAD=y +CONFIG_S2IO=m +CONFIG_SAMPLES=y +# CONFIG_SAMPLE_AUXDISPLAY is not set +# CONFIG_SAMPLE_CONFIGFS is not set +# CONFIG_SAMPLE_KDB is not set +# CONFIG_SAMPLE_KFIFO is not set +# CONFIG_SAMPLE_KOBJECT is not set +# CONFIG_SAMPLE_RPMSG_CLIENT is not set +CONFIG_SAMPLE_TRACE_ARRAY=m +# 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_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_DWC=m +# CONFIG_SATA_DWC_DEBUG is not set +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_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_SBITMAP=y +CONFIG_SBP_TARGET=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_INFO=y +CONFIG_SCHED_STACK_END_CHECK=y +# CONFIG_SCHED_THERMAL_PRESSURE is not set +CONFIG_SCHED_TRACER=y +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_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_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_ENCLOSURE=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_GDTH is not set +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=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_ISCSI_ATTRS=m +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_LOWLEVEL=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=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_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_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_DWC_TC_PCI=m +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m +CONFIG_SCSI_VIRTIO=m +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_SDIO_UART=m +CONFIG_SDR_MAX2175=m +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_SD_ADC_MODULATOR=m +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_SECONDARY_TRUSTED_KEYRING=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_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_DMESG_RESTRICT=y +CONFIG_SECURITY_INFINIBAND=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_SELECT_MEMORY_MODEL=y +CONFIG_SENSIRION_SGP30=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_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_AMC6821=m +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_DA9052_ADC=m +CONFIG_SENSORS_DA9055=m +CONFIG_SENSORS_DME1737=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_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_HIH6130=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_HMC5843_I2C=m +CONFIG_SENSORS_HMC5843_SPI=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_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR38064=m +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_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM25066=m +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_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_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_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_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_RM3100=m +CONFIG_SENSORS_RM3100_I2C=m +CONFIG_SENSORS_RM3100_SPI=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_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_STTS751=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_TMP513=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_VIA686A=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_ZL6100=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +CONFIG_SERIAL_8250_ASPEED_VUART=m +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_EXAR=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_MEN_MCB=m +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_PCI=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_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_ARC_NR_PORTS=1 +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_RISCV_SBI=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +CONFIG_SERIAL_FSL_LPUART=m +# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_KGDB_NMI=y +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX310X=y +CONFIG_SERIAL_MCTRL_GPIO=y +CONFIG_SERIAL_MEN_Z135=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_RP2_NR_UARTS=32 +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_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +CONFIG_SERIAL_SPRD=m +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_APBPS2=m +CONFIG_SERIO_ARC_PS2=m +CONFIG_SERIO_GPIO_PS2=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +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_SRIOV=y +CONFIG_SFP=m +CONFIG_SF_PDMA=m +CONFIG_SGETMASK_SYSCALL=y +CONFIG_SGI_PARTITION=y +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SHIFT_FS=m +CONFIG_SHIFT_FS_POSIX_ACL=y +CONFIG_SHMEM=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +CONFIG_SI1133=m +CONFIG_SI1145=m +CONFIG_SI7005=m +CONFIG_SI7020=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_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_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +CONFIG_SLUB_MEMCG_SYSFS_ON=y +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMC=m +CONFIG_SMC_DIAG=m +CONFIG_SMP=y +CONFIG_SMSC911X=m +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=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_FTL=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_ALOOP=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_AW2=m +CONFIG_SND_BCD2000=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_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_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +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_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_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_DSP_LOADER=y +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_GENERIC_LEDS=y +CONFIG_SND_HDA_HWDEP=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_PREALLOC_SIZE=64 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_I2S_HI6210_I2S=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_DSP_CONFIG=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAX_CARDS=32 +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_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_PCXHR=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_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_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_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_AK4104=m +CONFIG_SND_SOC_AK4118=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_AMD_ACP=m +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_BD28623=m +CONFIG_SND_SOC_BT_SCO=m +CONFIG_SND_SOC_CPCAP=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_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_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_ASRC=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_SAI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_GTM601=m +CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_I2C_AND_SPI=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_AUDMUX=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_LOCHNAGAR_SC=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98357A=m +CONFIG_SND_SOC_MAX98373=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MIKROE_PROTO=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m +CONFIG_SND_SOC_MT6351=m +CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_MTK_BTCVSD=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=m +CONFIG_SND_SOC_NAU8822=m +CONFIG_SND_SOC_NAU8824=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_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_PCM512x_SPI=m +CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RL6231=m +CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT5616=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_RT5645=m +CONFIG_SND_SOC_RT5682=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_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_SGTL5000=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_SIRF_AUDIO_CODEC=m +CONFIG_SND_SOC_SOF=m +# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2305=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_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TFA9879=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_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_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_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_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_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_SOC_ZX_AUD96P22=m +CONFIG_SND_SPI=y +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_TIMER=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_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_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_YMFPCI=m +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_SOC_SIFIVE=y +CONFIG_SOC_TI=y +CONFIG_SOC_VIRT=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SONY_FF=y +CONFIG_SOUND=m +CONFIG_SOUNDWIRE=m +CONFIG_SOUNDWIRE_QCOM=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +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_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_AMD=m +CONFIG_SPI_AXI_SPI_ENGINE=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_CADENCE=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_LIB=y +CONFIG_SPI_FSL_SPI=y +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MUX=m +CONFIG_SPI_MXIC=m +CONFIG_SPI_NXP_FLEXSPI=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_SIFIVE=y +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_ZYNQMP_GQSPI=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPMI=m +CONFIG_SPS30=m +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# 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_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STACK_TRACER=y +CONFIG_STAGING=y +# CONFIG_STAGING_BOARD is not set +CONFIG_STAGING_MEDIA=y +CONFIG_STANDALONE=y +# 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_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 is not set +CONFIG_STRICT_KERNEL_RWX=y +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25_SPI=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 is not set +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_SWAP=y +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUN_PARTITION=y +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWPHY=y +CONFIG_SW_SYNC=y +CONFIG_SX9310=m +CONFIG_SX9500=m +CONFIG_SXGBE_ETH=m +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_SYNCLINKMP=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_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSTEMPORT=m +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_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_T5403=m +CONFIG_TABLET_SERIAL_WACOM4=m +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_GTCO=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_TIS=y +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS_I2C_ATMEL=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_TPM=y +CONFIG_TCG_VTPM_PROXY=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_TEHUTI=m +CONFIG_TERANETICS_PHY=m +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_BITFIELD 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_FIRMWARE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_LIST_SORT 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_OVERFLOW is not set +# CONFIG_TEST_PARMAN is not set +CONFIG_TEST_POWER=m +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SORT is not set +# CONFIG_TEST_STACKINIT 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_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_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_STEP_WISE=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_MMIO=m +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_THRUSTMASTER_FF=y +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_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TINYDRM_HX8357D=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_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_AM335X_ADC=m +# 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_SOC_THERMAL is not set +CONFIG_TI_ST=m +CONFIG_TI_TLC4541=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_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TORTURE_TEST=m +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_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_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_ELAN=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_ILI210X=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=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_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_PROPERTIES=y +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_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_TPL0102=m +CONFIG_TPM_KEY_PARSER=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=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_SUPPORT=y +CONFIG_TRACE_ROUTER=m +CONFIG_TRACE_SINK=m +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_TRUSTED_KEYS=y +CONFIG_TSL2583=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +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_TUNE_GENERIC=y +# CONFIG_TUN_VNET_CROSS_LE is not set +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_MUX_PI3USB30532=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_UCSI=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 is not set +CONFIG_UBUNTU_HOST=m +CONFIG_UCB1400_CORE=m +CONFIG_UCSI_CCG=m +CONFIG_UDF_FS=m +CONFIG_UDMABUF=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_UIO=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_ULI526X=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_UNISYSSPAR=y +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNIX_DIAG=m +CONFIG_UNIX_SCM=y +CONFIG_UNUSED_SYMBOLS=y +CONFIG_US5182D=m +CONFIG_USB=y +CONFIG_USB4=m +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_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_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_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_OF_SIMPLE=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_FSL=m +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +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_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_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_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_MV_U3D=m +CONFIG_USB_MV_UDC=m +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_HCD_PLATFORM=m +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_WHITELIST 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_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_USB_RAREMONO=m +CONFIG_USB_RAW_GADGET=m +CONFIG_USB_ROLE_SWITCH=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=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_XIRCOM=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_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_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_BUS=m +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_XHCI_DBGCAP=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=m +CONFIG_USB_XHCI_PCI_RENESAS=m +CONFIG_USB_XHCI_PLATFORM=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_USER_NS=y +CONFIG_UTS_NS=y +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_VA_BITS=39 +CONFIG_VCNL3020=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VDPA=m +CONFIG_VDPA_SIM=m +CONFIG_VEML6030=m +CONFIG_VEML6070=m +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VF610_ADC=m +CONFIG_VF610_DAC=m +CONFIG_VFAT_FS=y +CONFIG_VFIO=m +CONFIG_VFIO_MDEV=m +CONFIG_VFIO_MDEV_DEVICE=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_VIRQFD=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_CONSOLE=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_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_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_APTINA_PLL=m +CONFIG_VIDEO_ASPEED=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_RC=y +CONFIG_VIDEO_AU0828_V4L2=y +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_CADENCE=y +CONFIG_VIDEO_CADENCE_CSI2RX=m +CONFIG_VIDEO_CADENCE_CSI2TX=m +CONFIG_VIDEO_CAFE_CCIC=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_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_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_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_I2C=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_IMX355=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=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_OV13858=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_OV5670=m +CONFIG_VIDEO_OV5675=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_OV9640=m +CONFIG_VIDEO_OV9650=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_RJ54N1=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_SMIAPP=m +CONFIG_VIDEO_SMIAPP_PLL=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_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_THS7303=m +CONFIG_VIDEO_THS8200=m +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_USBVISION=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2_TPG=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_TPG=m +CONFIG_VIDEO_XILINX_VTC=m +CONFIG_VIPERBOARD_ADC=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_FS=m +CONFIG_VIRTIO_INPUT=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_PMEM=m +CONFIG_VIRTIO_VDPA=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRT_WIFI=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_VME_BUS=y +CONFIG_VME_FAKE=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMIVME_7805=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_VOP_BUS is not set +CONFIG_VORTEX=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_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_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_WAN=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_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_WDTPCI=m +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_WILINK_PLATFORM_DATA=y +CONFIG_WIMAX=m +CONFIG_WIMAX_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M=m +CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WINBOND_840=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +# CONFIG_WIRELESS_WDS is not set +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_QUANTENNA=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=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_WQ_WATCHDOG is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +CONFIG_X25=m +CONFIG_X25_ASY=m +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m +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_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_WARN is not set +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_PR_DECOUPLER=m +# CONFIG_XILINX_SDFEC is not set +CONFIG_XILINX_VCU=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILINX_XADC=m +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_OF=m +CONFIG_XILLYBUS_PCIE=m +CONFIG_XIL_AXIS_FIFO=m +CONFIG_XOR_BLOCKS=m +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_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YELLOWFIN=m +CONFIG_Z3FOLD=m +CONFIG_ZBUD=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZIIRAVE_WATCHDOG=m +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONEFS_FS=m +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_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_ZX_TDM=m --- linux-riscv-5.8-5.8.0.orig/debian.riscv/config/riscv64/config.common.riscv64 +++ linux-riscv-5.8-5.8.0/debian.riscv/config/riscv64/config.common.riscv64 @@ -0,0 +1,3 @@ +# +# Config options for config.common.riscv64 automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv/config/riscv64/config.flavour.generic +++ linux-riscv-5.8-5.8.0/debian.riscv/config/riscv64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv/control.d/flavour-control.stub +++ linux-riscv-5.8-5.8.0/debian.riscv/control.d/flavour-control.stub @@ -0,0 +1,152 @@ +# 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, aufs-dkms, =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 +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-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR, crda | wireless-crda +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=. + +Package: linux-udebs-FLAVOUR +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: ARCH +Depends: ${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + --- linux-riscv-5.8-5.8.0.orig/debian.riscv/control.d/generic.inclusion-list +++ linux-riscv-5.8-5.8.0/debian.riscv/control.d/generic.inclusion-list @@ -0,0 +1,260 @@ +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/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/i2c/busses/i2c-ocores.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/cadence/macb.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/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/phy/mscc/mscc.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_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/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/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/shiftfs.ko +fs/squashfs/* +fs/udf/* +fs/ufs/* +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/* +sound/drivers/pcsp/snd-pcsp.ko +sound/pci/snd-ens1370.ko +sound/soundcore.ko +ubuntu/ubuntu-host/ubuntu-host.ko +ubuntu/vbox/vboxguest/vboxguest.ko +ubuntu/vbox/vboxsf/vboxsf.ko +zfs/* --- linux-riscv-5.8-5.8.0.orig/debian.riscv/control.d/vars.generic +++ linux-riscv-5.8-5.8.0/debian.riscv/control.d/vars.generic @@ -0,0 +1,6 @@ +arch="riscv64" +supported="Generic" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-riscv-5.8-5.8.0.orig/debian.riscv/control.stub.in +++ linux-riscv-5.8-5.8.0/debian.riscv/control.stub.in @@ -0,0 +1,81 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + dh-systemd, + cpio, + kernel-wedge, + kmod , + libcap-dev , + makedumpfile [amd64] , + 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 , + lz4 [amd64 s390x] , + dwarves , +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/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES= +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +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-PKGVER-ABINUM +Build-Profiles: +Architecture: riscv64 +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-riscv-5.8-5.8.0.orig/debian.riscv/copyright +++ linux-riscv-5.8-5.8.0/debian.riscv/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-riscv-5.8-5.8.0.orig/debian.riscv/d-i/firmware/README.txt +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/firmware/riscv64/README.txt +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/firmware/riscv64/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/firmware/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin ? +qlogic/12160.bin ? +qlogic/1280.bin ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/kernel-versions +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/kernel-versions @@ -0,0 +1,5 @@ +# arch version flavour installedname suffix bdep +riscv64 - generic - - - + +# Ports +# arch version flavour installedname suffix bdep --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/block-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/block-modules @@ -0,0 +1,43 @@ +aoe ? +aten ? +bcm2835 ? +bpck ? +bpck6 ? +cciss ? +comm ? +cpqarray ? +DAC960 ? +dstr ? +epat ? +epia ? +fit2 ? +fit3 ? +friq ? +frpw ? +hpsa ? +hio ? +kbic ? +ktti ? +nbd ? +nvme ? +on20 ? +on26 ? +paride ? +pcd ? +pd ? +pf ? +pg ? +pt ? +sdhci-tegra ? +sx8 ? +umem ? +virtio_blk ? +xen-blkfront ? +mtip32xx ? +mmc_block ? +sdhci ? +sdhci-pci ? +sdhci-acpi ? +tifm_sd ? +dw_mmc ? +dw_mmc_pltfm ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/crypto-modules @@ -0,0 +1,78 @@ +aesni-intel ? +aes-x86_64 ? +af_alg ? +algif_hash ? +algif_skcipher ? +ansi_cprng ? +anubis ? +arc4 ? +async_memcpy ? +async_pq ? +async_raid6_recov ? +async_tx ? +async_xor ? +authenc ? +authencesn ? +blowfish_common ? +blowfish_generic ? +blowfish-x86_64 ? +camellia ? +cast5 ? +cast6 ? +ccm ? +crc32_generic ? +crc32c_generic ? +crc32-vx_s390 ? +cryptd ? +cryptoloop ? +crypto_null ? +crypto_user ? +ctr ? +cts ? +des_generic ? +fcrypt ? +gcm ? +gf128mul ? +ghash-clmulni-intel ? +ghash-generic ? +khazad ? +lrw ? +lzo ? +md4 ? +michael_mic ? +padlock-aes ? +padlock-sha ? +paes_s390 ? +pcbc ? +pcrypt ? +pkey ? +raid6test ? +rmd128 ? +rmd160 ? +rmd256 ? +rmd320 ? +salsa20_generic ? +salsa20-x86_64 ? +seed ? +seqiv ? +serpent_generic ? +serpent-sse2-x86_64 ? +sha1-ssse3 ? +sha512_generic ? +tcrypt ? +tea ? +tgr192 ? +twofish_common ? +twofish_generic ? +twofish-x86_64 ? +twofish-x86_64-3way ? +vmac ? +wp512 ? +xcbc ? +xor ? +xts ? +zcrypt ? +zcrypt_cex2a ? +zcrypt_cex4 ? +zcrypt_pcixcc ? +zlib ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/fat-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/fb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/floppy-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/fs-core-modules @@ -0,0 +1,6 @@ +ext2 ? +ext4 ? +jfs ? +reiserfs ? +xfs ? +zfs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/input-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/input-modules @@ -0,0 +1,71 @@ +hid ? +hid-a4tech ? +hid-apple ? +hid-appleir ? +hid-aureal ? +hid-belkin ? +hid-bright ? +hid-cherry ? +hid-chicony ? +hid-corsair ? +hid-cp2112 ? +hid-cypress ? +hid-dell ? +hid-elecom ? +hid-elo ? +hid-ezkey ? +hid-generic ? +hid-gfrm ? +hid-gt683r ? +hid-gyration ? +hid-holtek-kbd ? +hid-holtek-mouse ? +hid-hyperv ? +hid-kensington ? +hid-keytouch ? +hid-kye ? +hid-lcpower ? +hid-lenovo ? +hid-logitech ? +hid-logitech-dj ? +hid-logitech-hidpp ? +hid-magicmouse ? +hid-microsoft ? +hid-monterey ? +hid-multitouch ? +hid-ntrig ? +hid-ortek ? +hid-penmount ? +hid-petalynx ? +hid-picolcd ? +hid-pl ? +hid-plantronics ? +hid-primax ? +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-samsung ? +hid-sony ? +hid-speedlink ? +hid-sunplus ? +hid-thingm ? +hid-tivo ? +hid-topseed ? +hid-twinhan ? +hid-uclogic ? +hid-waltop ? +hid-wiimote ? +hid-xinmo ? +hid-zydacron ? +uhid ? +usbhid ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/kernel-image +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/kernel-image @@ -0,0 +1,31 @@ +ast ? +gpio-pca953x ? +gpio-regulator ? +hibmc-drm ? +i2c-mux ? +i2c-mux-pinctrl ? +i2c-tegra ? +max8907 ? +max8907-regulator ? +nvec ? +nvec_kbd ? +nvec_paz00 ? +nvec_power ? +nvec_ps2 ? +palmas-regulator ? +rtc-em3027 ? +rtc-max8907 ? +rtc-palmas ? +rtc-tps6586x ? +rtc-tps65910 ? +tps51632-regulator ? +tps62360-regulator ? +tps65090-charger ? +tps65090-regulator ? +tps6586x-regulator ? +tps65910-regulator ? +host1x ? +tegra-drm ? +pwm_bl ? +pwm-tegra ? +panel-simple ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/md-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/message-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/message-modules @@ -0,0 +1,9 @@ +mptbase ? +mptctl ? +mptfc ? +mptlan ? +mptsas ? +mpt2sas ? +mpt3sas ? +mptscsih ? +mptspi ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/multipath-modules @@ -0,0 +1,4 @@ +dm-multipath ? +dm-round-robin ? +dm-service-time ? +dm-queue-length ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/nfs-modules @@ -0,0 +1,6 @@ +nfs ? +nfs_acl ? +nfsv3 ? +lockd ? +sunrpc ? +cifs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/nic-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/nic-modules @@ -0,0 +1,209 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +amd8111e ? +amd-xgbe ? +aquantia ? +arcnet ? +arc-rawmode ? +arc-rimi ? +arlan ? +at1700 ? +ath5k ? +ath9k ? +ath9k_htc ? +atl1 ? +atl1c ? +atl1e ? +atl2 ? +atmel ? +atmel_pci ? +b44 ? +bcm87xx ? +be2net ? +bmac ? +bnx2 ? +bnx2x ? +bnxt_en ? +bonding ? +brcmfmac ? +brcmsmac ? +broadcom ? +xgmac ? +cassini ? +ccwgroup ? +com20020 ? +com20020-pci ? +com90io ? +com90xx ? +cs89x0 ? +ctcm ? +cxgb4 ? +de2104x ? +de4x5 ? +de600 ? +de620 ? +defxx ? +depca ? +dl2k ? +dmfe ? +dummy ? +e100 ? +e1000 ? +e1000e ? +e2100 ? +eepro ? +eepro100 ? +eexpress ? +enic ? +epic100 ? +eql ? +es3210 ? +eth16i ? +ewrk3 ? +fealnx ? +forcedeth ? +fsm ? +ibmveth ? +ibmvnic ? +igb ? +ps3_gelic ? +hamachi ? +hclge ? +hermes ? +hfi1 ? +hinic ? +hns_dsaf ? +hns_enet_drv ? +hns_mdio ? +hns3 ? +hp ? +hp100 ? +hp-plus ? +i40e ? +i40evf ? +ibmtr ? +ipddp ? +ipw2100 ? +ipw2200 ? +iwl3945 ? +iwl4965 ? +iwl-legacy ? +iwldvm ? +iwlmvm ? +iwlwifi ? +ixgb ? +ixgbe ? +lance ? +lanstreamer ? +lcs ? +lasi_82596 ? +lne390 ? +lp486e ? +mace ? +marvell ? +mdio-thunder ? +mlx4_core ? +mlx4_en ? +mlx5_core ? +mv643xx_eth ? +myri_sbus ? +natsemi ? +ne ? +ne2 ? +ne2k-pci ? +ne3210 ? +netconsole ? +netiucv ? +netsec ? +netxen_nic ? +ni5010 ? +ni52 ? +ni65 ? +nicpf ? +nicvf ? +niu ? +ns83820 ? +olympic ? +orinoco ? +orinoco_pci ? +orinoco_plx ? +orinoco_tmd ? +pcnet32 ? +qcom-emac ? +qede ? +qeth ? +qeth_l2 ? +qeth_l3 ? +qlcnic ? +r815x ? +r8169 ? +rate_control ? +realtek ? +rfc1051 ? +rfc1201 ? +rrunner ? +rt2400 ? +rt2400pci ? +rt2500 ? +rt2500pci ? +rt2800pci ? +rt61pci ? +s2io ? +sfc ? +shaper ? +sis190 ? +sis900 ? +spidernet ? +skfp ? +skge ? +sk98lin ? +sky2 ? +smc9194 ? +smc-ultra ? +smc-ultra32 ? +starfire ? +strip ? +sunbmac ? +sundance ? +sungem ? +sungem_phy ? +sunhme ? +sunlance ? +sunqe ? +sunvnet ? +tg3 ? +tlan ? +tms380tr ? +tmspci ? +tulip ? +tun ? +typhoon ? +uli526x ? +via-rhine ? +via-velocity ? +virtio_net ? +wavelan ? +wd ? +winbond-840 ? +yellowfin ? +znet ? +vmxnet3 ? +xen-netfront ? +xgene-enet ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/nic-pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/nic-pcmcia-modules @@ -0,0 +1,19 @@ +3c574_cs ? +3c589_cs ? +airo_cs ? +atmel_cs ? +axnet_cs ? +com20020_cs ? +fmvj18x_cs ? +ibmtr_cs ? +netwave_cs ? +nmclan_cs ? +orinoco_cs ? +pcnet_cs ? +ray_cs ? +smc91c92_cs ? +wavelan_cs ? +wl3501_cs ? +xirc2ps_cs ? +xircom_cb ? +xircom_tulip_cb ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/nic-shared-modules @@ -0,0 +1,26 @@ +# PHY +8390 ? +mii ? + +# CRC modules +crc-ccitt ? +crc-itu-t ? +libcrc32c ? + +# mac80211 stuff +mac80211 ? +cfg80211 ? + +# rt2x00 lib (since rt2x00 is split across usb/pci/cb +rt2x00lib ? +rt2800lib ? + +# Atheros library (since drivers are split across nic-modules/nic-usb-modules) +ath ? + +# Wireless 802.11 modules +lib80211 ? +cfg80211 ? +lib80211_crypt_ccmp ? +lib80211_crypt_tkip ? +lib80211_crypt_wep ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/nic-usb-modules @@ -0,0 +1,34 @@ +ax88179_178a ? +catc ? +kaweth ? +pegasus ? +prism2_usb ? +rtl8150 ? +usbnet ? +zd1211rw ? +zd1201 ? +rt2500usb ? +rt73usb ? +rt2570 ? +rt2800usb ? +rt2x00usb ? +cdc_ether ? +asix ? +cdc_eem ? +cdc_ether ? +cdc-phonet ? +cdc_subset ? +dm9601 ? +gl620a ? +hso ? +int51x1 ? +mcs7830 ? +net1080 ? +plusb ? +rndis_host ? +r8152 ? +smsc95xx ? +zaurus ? +carl9170 ? +smsc75xx ? +smsc95xx ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/parport-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/pata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/pata-modules @@ -0,0 +1,47 @@ +pata_ali.ko ? +pata_amd.ko ? +pata_artop.ko ? +pata_atiixp.ko ? +pata_atp867x.ko ? +pata_cmd640.ko ? +pata_cmd64x.ko ? +pata_cs5520.ko ? +pata_cs5530.ko ? +pata_cs5535.ko ? +pata_cs5536.ko ? +pata_cypress.ko ? +pata_efar.ko ? +pata_hpt366.ko ? +pata_hpt37x.ko ? +pata_hpt3x2n.ko ? +pata_hpt3x3.ko ? +pata_isapnp.ko ? +pata_it8213.ko ? +pata_it821x.ko ? +pata_jmicron.ko ? +pata_legacy.ko ? +pata_macio.ko ? +pata_marvell.ko ? +pata_mpiix.ko ? +pata_netcell.ko ? +pata_ninja32.ko ? +pata_ns87410.ko ? +pata_ns87415.ko ? +pata_oldpiix.ko ? +pata_optidma.ko ? +pata_opti.ko ? +pata_pcmcia.ko ? +pata_pdc2027x.ko ? +pata_pdc202xx_old.ko ? +pata_qdi.ko ? +pata_radisys.ko ? +pata_rdc.ko ? +pata_rz1000.ko ? +pata_sc1200.ko ? +pata_sch.ko ? +pata_serverworks.ko ? +pata_sil680.ko ? +pata_sl82c105.ko ? +pata_triflex.ko ? +pata_via.ko ? +pata_winbond.ko ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/pcmcia-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/pcmcia-storage-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/plip-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/block-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/block-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/crypto-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/crypto-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/fat-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/fat-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/firewire-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/firewire-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/fs-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/fs-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/fs-secondary-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/fs-secondary-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/input-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/input-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/ipmi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/ipmi-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/kernel-image +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/kernel-image @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/md-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/md-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/message-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/message-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/mouse-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/mouse-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/multipath-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/multipath-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/nfs-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/nfs-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/nic-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/nic-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/nic-shared-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/nic-shared-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/nic-usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/nic-usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/parport-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/parport-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/pata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/pata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/plip-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/plip-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/ppp-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/ppp-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/sata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/sata-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/scsi-modules @@ -0,0 +1,2 @@ +#include +ipr ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/speakup-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/storage-core-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/usb-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/virtio-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/riscv64/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/riscv64/vlan-modules @@ -0,0 +1 @@ +#include --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/sata-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/sata-modules @@ -0,0 +1,18 @@ +sata_inic162x.ko ? +sata_mv.ko ? +sata_nv.ko ? +sata_promise.ko ? +sata_qstor.ko ? +sata_sil24.ko ? +sata_sil.ko ? +sata_sis.ko ? +sata_svw.ko ? +sata_sx4.ko ? +sata_uli.ko ? +sata_via.ko ? +sata_vsc.ko ? +ahci_platform ? +ahci ? +acard-ahci ? +libahci ? +ahci_xgene ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/scsi-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/scsi-modules @@ -0,0 +1,137 @@ +# SCSI +raid_class ? +scsi_transport_spi ? +scsi_transport_fc ? +scsi_transport_iscsi ? +scsi_transport_sas ? +sr_mod ? +iscsi_tcp ? +libiscsi ? +amiga7xx ? +a3000 ? +a2091 ? +gvp11 ? +mvme147 ? +sgiwd93 ? +cyberstorm ? +cyberstormII ? +blz2060 ? +blz1230 ? +fastlane ? +oktagon_esp_mod ? +atari_scsi ? +mac_scsi ? +mac_esp ? +sun3_scsi ? +mvme16x ? +bvme6000 ? +sim710 ? +advansys ? +pm80xx ? +psi240i ? +BusLogic ? +dpt_i2o ? +u14-34f ? +ultrastor ? +aha152x ? +aha1542 ? +aha1740 ? +aic7xxx_old ? +ips ? +fd_mcs ? +fdomain ? +fnic ? +in2000 ? +g_NCR5380 ? +g_NCR5380_mmio ? +NCR53c406a ? +NCR_D700 ? +NCR_Q720_mod ? +sym53c416 ? +qlogicfas408 ? +qla1280 ? +pas16 ? +seagate ? +seagate ? +t128 ? +dmx3191d ? +dtc ? +zalon7xx ? +eata_pio ? +wd7000 ? +mca_53c9x ? +ibmmca ? +eata ? +dc395x ? +tmscsim ? +megaraid ? +atp870u ? +esp ? +gdth ? +initio ? +a100u2w ? +qlogicpti ? +ide-scsi ? +mesh ? +mac53c94 ? +pluto ? +dec_esp ? +3w-xxxx ? +3w-9xxx ? +ppa ? +imm ? +jazz_esp ? +sun3x_esp ? +fcal ? +lasi700 ? +nsp32 ? +hptiop ? +stex ? +osst ? +sg ? +ch ? +scsi_debug ? +aacraid ? +aic7xxx ? +aic79xx ? +aic94xx ? +arcmsr ? +acornscsi_mod ? +arxescsi ? +cumana_1 ? +cumana_2 ? +ecoscsi ? +oak ? +powertec ? +eesox ? +ibmvscsi ? +ibmvfc ? +libsas ? +lpfc ? +megaraid_mm ? +megaraid_mbox ? +megaraid_sas ? +qla2xxx ? +sym53c8xx ? +qla4xxx ? +mvsas ? +vmw_pvscsi ? +ums-cypress ? +be2iscsi ? +3w-sas ? +isci ? +mlx4_ib ? +mlx5_ib ? +zfcp ? +sd_mod ? +hisi_sas_v2_hw ? +hisi_sas_v3_hw ? +iscsi_ibft ? + +# device handlers +scsi_dh_alua ? +scsi_dh_emc ? +scsi_dh_rdac ? +scsi_dh_hp_sw ? + +smartpqi ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/serial-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/serial-modules @@ -0,0 +1,4 @@ +generic_serial ? +serial_cs ? +synclink_cs ? +hyperv-keyboard ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/speakup-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/speakup-modules @@ -0,0 +1,16 @@ +speakup ? +speakup_acntpc ? +speakup_acntsa ? +speakup_apollo ? +speakup_audptr ? +speakup_bns ? +speakup_decext ? +speakup_dectlk ? +speakup_dtlk ? +speakup_dummy ? +speakup_keypc ? +speakup_ltlk ? +speakup_soft ? +speakup_spkout ? +speakup_txprt ? +speakup_decpc ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/storage-core-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/storage-core-modules @@ -0,0 +1,15 @@ +# Core stacks +usb-storage ? + +# Block level +ata_piix ? +ata_generic ? + +# Loop modules +cryptoloop ? + +# Needs to be here for better cdrom initrd layout +isofs ? + +# Needed for NVMe disks under VMD PCIe domains +vmd ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/usb-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/usb-modules @@ -0,0 +1,15 @@ +ehci-hcd ? +isp116x-hcd ? +isp1760 ? +ohci-hcd ? +r8a66597-hcd ? +sl811_cs ? +sl811-hcd ? +u132-hcd ? +uhci-hcd ? +xhci-hcd ? +xhci-plat-hcd ? +ehci-tegra ? +ehci-msm ? +ehci-platform ? +uas ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/virtio-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/virtio-modules @@ -0,0 +1,11 @@ +virtio_balloon ? +virtio_pci ? +virtio_ring ? +virtio-rng ? +virtio_scsi ? +hv_vmbus ? +hv_utils ? +hv_netvsc ? +hv_mouse ? +hv_storvsc ? +hv_balloon ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/modules/vlan-modules +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-riscv-5.8-5.8.0.orig/debian.riscv/d-i/package-list +++ linux-riscv-5.8-5.8.0/debian.riscv/d-i/package-list @@ -0,0 +1,204 @@ +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_riscv64: 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-riscv-5.8-5.8.0.orig/debian.riscv/etc/getabis +++ linux-riscv-5.8-5.8.0/debian.riscv/etc/getabis @@ -0,0 +1,13 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux-riscv" + "http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-riscv" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux-riscv" + "http://ports.ubuntu.com/ubuntu-ports/pool/universe/l/linux-riscv" + "http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/pool/main/l/linux-riscv" + "http://ppa.launchpad.net/canonical-kernel-team/unstable/ubuntu/pool/main/l/linux-riscv" + "http://ppa.launchpad.net/canonical-kernel-team/bootstrap/ubuntu/pool/main/l/linux-riscv" +) + +package_prefixes linux-buildinfo + +getall riscv64 generic --- linux-riscv-5.8-5.8.0.orig/debian.riscv/etc/kernelconfig +++ linux-riscv-5.8-5.8.0/debian.riscv/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="riscv64" + family='ubuntu' +fi --- linux-riscv-5.8-5.8.0.orig/debian.riscv/etc/update.conf +++ linux-riscv-5.8-5.8.0/debian.riscv/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/groovy +SOURCE_RELEASE_BRANCH=master-next +DEBIAN_MASTER=debian.master --- linux-riscv-5.8-5.8.0.orig/debian.riscv/modprobe.d/common.conf +++ linux-riscv-5.8-5.8.0/debian.riscv/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-riscv-5.8-5.8.0.orig/debian.riscv/reconstruct +++ linux-riscv-5.8-5.8.0/debian.riscv/reconstruct @@ -0,0 +1,72 @@ +# Recreate any symlinks created since the orig. +# Remove any files deleted from the orig. +rm -f 'Documentation/devicetree/bindings/pwm/pwm-sifive.txt' +rm -f 'Documentation/devicetree/bindings/riscv/sifive-l2-cache.txt' +rm -f 'arch/alpha/include/asm/local64.h' +rm -f 'arch/ia64/include/asm/local64.h' +rm -f 'arch/powerpc/lib/memcpy_mcsafe_64.S' +rm -f 'arch/powerpc/platforms/pseries/offline_states.h' +rm -f 'arch/x86/include/asm/local64.h' +rm -f 'arch/x86/include/asm/mcsafe_test.h' +rm -f 'drivers/net/can/dev.c' +rm -f 'drivers/net/can/rx-offload.c' +rm -f 'drivers/net/ethernet/mscc/ocelot_board.c' +rm -f 'drivers/pci/pcie/bw_notification.c' +rm -f 'drivers/staging/mt7621-dma/mtk-hsdma.c' +rm -f 'kernel/elfcore.c' +rm -f 'lib/zlib_dfltcc/dfltcc_syms.c' +rm -f 'tools/arch/x86/include/asm/mcsafe_test.h' +rm -f 'tools/perf/bench/mem-memcpy-x86-64-lib.c' +rm -f 'tools/testing/kunit/.gitattributes' +chmod +x 'arch/riscv/kernel/vdso/so2s.sh' +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/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/final-checks' +chmod +x 'debian/scripts/misc/find-missing-sauce.sh' +chmod +x 'debian/scripts/misc/find-obsolete-firmware' +chmod +x 'debian/scripts/misc/fw-to-ihex.sh' +chmod +x 'debian/scripts/misc/gen-auto-reconstruct' +chmod +x 'debian/scripts/misc/get-firmware' +chmod +x 'debian/scripts/misc/getabis' +chmod +x 'debian/scripts/misc/git-ubuntu-log' +chmod +x 'debian/scripts/misc/insert-changes.pl' +chmod +x 'debian/scripts/misc/insert-mainline-changes' +chmod +x 'debian/scripts/misc/insert-ubuntu-changes' +chmod +x 'debian/scripts/misc/kernel-wedge-arch.pl' +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/retpoline-check' +chmod +x 'debian/scripts/retpoline-extract' +chmod +x 'debian/scripts/retpoline-extract-one' +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 'samples/bpf/lwt_len_hist.sh' +chmod +x 'samples/bpf/test_lwt_bpf.sh' +chmod +x 'scripts/kmsg-doc' +chmod +x 'update-version-dkms' +exit 0 --- linux-riscv-5.8-5.8.0.orig/debian.riscv/rules.d/hooks.mk +++ linux-riscv-5.8-5.8.0/debian.riscv/rules.d/hooks.mk @@ -0,0 +1 @@ +do_enforce_all = true --- linux-riscv-5.8-5.8.0.orig/debian.riscv/rules.d/riscv64.mk +++ linux-riscv-5.8-5.8.0/debian.riscv/rules.d/riscv64.mk @@ -0,0 +1,22 @@ +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 + +loader = grub +vdso = vdso_install +no_dumpfile = true + +do_libc_dev_package = false +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-riscv-5.8-5.8.0.orig/debian.riscv/tracking-bug +++ linux-riscv-5.8-5.8.0/debian.riscv/tracking-bug @@ -0,0 +1 @@ +1930050 --- linux-riscv-5.8-5.8.0.orig/debian.riscv/variants +++ linux-riscv-5.8-5.8.0/debian.riscv/variants @@ -0,0 +1,3 @@ +-- +-hwe-20.04 +-hwe-20.04-edge --- linux-riscv-5.8-5.8.0.orig/debian/canonical-certs.pem +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/certs/canonical-livepatch-all.pem +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/certs/ubuntu-drivers-all.pem +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/changelog +++ linux-riscv-5.8-5.8.0/debian/changelog @@ -0,0 +1,12532 @@ +linux-riscv-5.8 (5.8.0-29.31~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-29.31 ] + + * UAF on CAN J1939 j1939_can_recv (LP: #1932209) + - SAUCE: can: j1939: delay release of j1939_priv after synchronize_rcu + * UAF on CAN BCM bcm_rx_handler (LP: #1931855) + - SAUCE: can: bcm: delay release of struct bcm_op after synchronize_rcu + * groovy/linux: 5.8.0-57.64 -proposed tracker (LP: #1932047) + * pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63 + (LP: #1931731) + - net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb + + -- Thadeu Lima de Souza Cascardo Wed, 16 Jun 2021 23:38:54 -0300 + +linux-riscv-5.8 (5.8.0-27.29~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-27.29~20.04.1 -proposed tracker (LP: #1930048) + + [ Ubuntu: 5.8.0-27.29 ] + + * groovy/linux-riscv: 5.8.0-27.29 -proposed tracker (LP: #1930050) + * groovy/linux: 5.8.0-56.63 -proposed tracker (LP: #1930052) + * Packaging resync (LP: #1786013) + - update dkms package versions + * scsi: storvsc: Parameterize number hardware queues (LP: #1930626) + - scsi: storvsc: Parameterize number hardware queues + * CVE-2021-33200 + - bpf: Wrap aux data inside bpf_sanitize_info container + - bpf: Fix mask direction swap upon off reg sign change + - bpf: No need to simulate speculative domain for immediates + * CVE-2021-3490 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: verifier: fix ALU32 bounds tracking with + bitwise ops" + - gpf: Fix alu32 const subreg bound tracking on bitwise operations + * CVE-2021-3489 + - SAUCE: Revert "UBUNTU: SAUCE: bpf: prevent writable memory-mapping of read- + only ringbuf pages" + - bpf: Prevent writable memory-mapping of read-only ringbuf pages + * Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle + (LP: #1928242) + - USB: Verify the port status when timeout happens during port suspend + * CVE-2020-26145 + - ath10k: drop fragments with multicast DA for SDIO + - ath10k: add CCMP PN replay protection for fragmented frames for PCIe + - ath10k: drop fragments with multicast DA for PCIe + * CVE-2020-26141 + - ath10k: Fix TKIP Michael MIC verification for PCIe + * CVE-2020-24587 + - ath11k: Clear the fragment cache during key install + * CVE-2020-24588 + - mac80211: properly handle A-MSDUs that start with an RFC 1042 header + - cfg80211: mitigate A-MSDU aggregation attacks + - mac80211: drop A-MSDUs on old ciphers + - ath10k: drop MPDU which has discard flag set by firmware for SDIO + * CVE-2020-26139 + - mac80211: do not accept/forward invalid EAPOL frames + * CVE-2020-24586 // CVE-2020-24587 // CVE-2020-24587 for such cases. + - mac80211: extend protection against mixed key and fragment cache attacks + * CVE-2020-24586 // CVE-2020-24587 + - mac80211: prevent mixed key and fragment cache attacks + - mac80211: add fragment cache to sta_info + - mac80211: check defrag PN against current frame + - mac80211: prevent attacks on TKIP/WEP as well + * CVE-2020-26147 + - mac80211: assure all fragments are encrypted + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull the code that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: remove unnecessary discard limits for raid0 and raid10 + * [SRU] mpt3sas: only one vSES is handy even IOC has multi vSES (LP: #1926517) + - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES + * CVE-2021-23133 + - sctp: delay auto_asconf init until binding the first addr + * kvm: properly tear down PV features on hibernate (LP: #1920944) + - x86/kvm: Fix pr_info() for async PF setup/teardown + - x86/kvm: Teardown PV features on boot CPU as well + - x86/kvm: Disable kvmclock on all CPUs on shutdown + - x86/kvm: Disable all PV features on crash + - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() + * CVE-2021-31440 + - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + * [SRU] Patch for flicker and glitching on common LCD display panels, intel + framebuffer (LP: #1925685) + - drm/i915: Try to use fast+narrow link on eDP again and fall back to the old + max strategy on failure + - drm/i915/dp: Use slow and wide link training for everything + * pmtu.sh from net in ubuntu_kernel_selftests failed with no error message + (LP: #1887661) + - selftests: pmtu.sh: use $ksft_skip for skipped return code + * IR Remote Keys Repeat Many Times Starting with Kernel 5.8.0-49 + (LP: #1926030) + - SAUCE: Revert "media: rc: ite-cir: fix min_timeout calculation" + - SAUCE: Revert "media: rc: fix timeout handling after switch to microsecond + durations" + * Groovy update: upstream stable patchset 2021-05-20 (LP: #1929132) + - Input: nspire-keypad - enable interrupts only when opened + - gpio: sysfs: Obey valid_mask + - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback + - dmaengine: idxd: fix delta_rec and crc size field for completion record + - dmaengine: idxd: fix opcap sysfs attribute output + - dmaengine: idxd: fix wq size store permission state + - dmaengine: dw: Make it dependent to HAS_IOMEM + - dmaengine: Fix a double free in dma_async_device_register + - dmaengine: plx_dma: add a missing put_device() on error path + - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() + - ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race + - ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 + - lockdep: Add a missing initialization hint to the "INFO: Trying to register + non-static key" message + - arc: kernel: Return -EFAULT if copy_to_user() fails + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() + - xfrm: BEET mode doesn't support fragments for inner packets + - ASoC: max98373: Added 30ms turn on/off time delay + - gpu/xen: Fix a use after free in xen_drm_drv_init + - neighbour: Disregard DEAD dst in neigh_update + - ARM: keystone: fix integer overflow warning + - ARM: omap1: fix building with clang IAS + - drm/msm: Fix a5xx/a6xx timestamps + - ASoC: fsl_esai: Fix TDM slot setup for I2S mode + - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state + - iwlwifi: add support for Qu with AX201 device + - net: ieee802154: stop dump llsec keys for monitors + - net: ieee802154: forbid monitor for add llsec key + - net: ieee802154: forbid monitor for del llsec key + - net: ieee802154: stop dump llsec devs for monitors + - net: ieee802154: forbid monitor for add llsec dev + - net: ieee802154: forbid monitor for del llsec dev + - net: ieee802154: stop dump llsec devkeys for monitors + - net: ieee802154: forbid monitor for add llsec devkey + - net: ieee802154: forbid monitor for del llsec devkey + - net: ieee802154: stop dump llsec seclevels for monitors + - net: ieee802154: forbid monitor for add llsec seclevel + - pcnet32: Use pci_resource_len to validate PCI resource + - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN + - virt_wifi: Return micros for BSS TSF values + - lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS + - Input: s6sy761 - fix coordinate read bit shift + - Input: i8042 - fix Pegatron C15B ID entry + - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices + - dm verity fec: fix misaligned RS roots IO + - readdir: make sure to verify directory entry for legacy interfaces too + - arm64: fix inline asm in load_unaligned_zeropad() + - arm64: alternatives: Move length validation in alternative_{insn, endif} + - vfio/pci: Add missing range check in vfio_pci_mmap + - riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" + - scsi: libsas: Reset num_scatter if libata marks qc as NODATA + - netfilter: flowtable: fix NAT IPv6 offload mangling + - netfilter: conntrack: do not print icmpv6 as unknown via /proc + - ice: Fix potential infinite loop when using u8 loop counter + - libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC + - netfilter: bridge: add pre_exit hooks for ebtable unregistration + - netfilter: arp_tables: add pre_exit hook for table unregister + - net: macb: fix the restore of cmp registers + - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta + - netfilter: nft_limit: avoid possible divide error in nft_limit_init + - net/mlx5e: Fix setting of RS FEC mode + - net: davicom: Fix regulator not turned off on failed probe + - net: sit: Unregister catch-all devices + - net: ip6_tunnel: Unregister catch-all devices + - mm: ptdump: fix build failure + - net: Make tcp_allowed_congestion_control readonly in non-init netns + - i40e: fix the panic when running bpf in xdpdrv mode + - ia64: remove duplicate entries in generic_defconfig + - ia64: tools: remove inclusion of ia64-specific version of errno.h header + - ibmvnic: avoid calling napi_disable() twice + - ibmvnic: remove duplicate napi_schedule call in do_reset function + - ibmvnic: remove duplicate napi_schedule call in open function + - gro: ensure frag0 meets IP header alignment + - ARM: OMAP2+: Fix warning for omap_init_time_of() + - ARM: footbridge: fix PCI interrupt mapping + - ARM: OMAP2+: Fix uninitialized sr_inst + - arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems + - arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference + - bpf: Use correct permission flag for mixed signed bounds arithmetic + - r8169: tweak max read request size for newer chips also in jumbo mtu mode + - r8169: don't advertise pause in jumbo mode + - bpf: Ensure off_reg has no mixed signed bounds for all types + - bpf: Move off_reg into sanitize_ptr_alu + - ARM: 9071/1: uprobes: Don't hook on thumb instructions + - bpf: Rework ptr_limit into alu_limit and add common error path + - bpf: Improve verifier error messages for users + - bpf: Move sanitize_val_alu out of op switch + - net: phy: marvell: fix detection of PHY on Topaz switches + - vhost-vdpa: protect concurrent access to vhost device iotlb + - gpio: omap: Save and restore sysconfig + - KEYS: trusted: Fix TPM reservation for seal/unseal + - pinctrl: lewisburg: Update number of pins in community + - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS + - bpf: Permits pointers on stack for helper calls + - bpf: Refactor and streamline bounds check into helper + - bpf: Tighten speculative pointer arithmetic mask + - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 + - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] + - perf auxtrace: Fix potential NULL pointer dereference + - perf map: Fix error return code in maps__clone() + - HID: google: add don USB id + - HID: alps: fix error return code in alps_input_configured() + - HID: wacom: Assign boolean values to a bool variable + - ARM: dts: Fix swapped mmc order for omap3 + - net: geneve: check skb is large enough for IPv4/IPv6 header + - dmaengine: tegra20: Fix runtime PM imbalance on error + - s390/entry: save the caller of psw_idle + - arm64: kprobes: Restore local irqflag if kprobes is cancelled + - xen-netback: Check for hotplug-status existence before watching + - cavium/liquidio: Fix duplicate argument + - kasan: fix hwasan build for gcc + - csky: change a Kconfig symbol name to fix e1000 build error + - ia64: fix discontig.c section mismatches + - ia64: tools: remove duplicate definition of ia64_mf() on ia64 + - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access + - 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() + - mei: me: add Alder Lake P device id. + - bpf: Update selftests to reflect new error states + - mips: Do not include hi and lo in clobber list for R6 + - netfilter: conntrack: Make global sysctls readonly in non-init netns + - net: usb: ax88179_178a: initialize local variables before use + - igb: Enable RSS for Intel I211 Ethernet Controller + - bpf: Fix masking negation logic upon negative dst register + - bpf: Fix leakage of uninitialized bpf stack under speculation + - net: qrtr: Avoid potential use after free in MHI send + - perf data: Fix error return code in perf_data__create_dir() + - capabilities: require CAP_SETFCAP to map uid 0 + - perf ftrace: Fix access to pid in array when setting a pid filter + - driver core: add a min_align_mask field to struct device_dma_parameters + - swiotlb: add a IO_TLB_SIZE define + - swiotlb: factor out an io_tlb_offset helper + - swiotlb: factor out a nr_slots helper + - swiotlb: clean up swiotlb_tbl_unmap_single + - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single + - ovl: fix leaked dentry + - ovl: allow upperdir inside lowerdir + - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX + - USB: Add reset-resume quirk for WD19's Realtek Hub + - platform/x86: thinkpad_acpi: Correct thermal sensor allocation + - perf/core: Fix unconditional security_locked_down() call + - vfio: Depend on MMU + - avoid __memcat_p link failure + * r8152 tx status -71 (LP: #1922651) // Groovy update: upstream stable + patchset 2021-05-20 (LP: #1929132) + - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet + * Fix kdump failures (LP: #1927518) + - video: hyperv_fb: Add ratelimit on error message + - Drivers: hv: vmbus: Increase wait time for VMbus unload + - Drivers: hv: vmbus: Initialize unload_event statically + * Groovy update: upstream stable patchset 2021-05-13 (LP: #1928386) + - ALSA: aloop: Fix initialization of controls + - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 + - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model + - ASoC: intel: atom: Stop advertising non working S24LE support + - nfc: fix refcount leak in llcp_sock_bind() + - nfc: fix refcount leak in llcp_sock_connect() + - nfc: fix memory leak in llcp_sock_connect() + - nfc: Avoid endless loops caused by repeated llcp_sock_connect() + - selinux: make nslot handling in avtab more robust + - xen/evtchn: Change irq_info lock to raw_spinlock_t + - net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh + - net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock + - net: dsa: lantiq_gswip: Don't use PHY auto polling + - net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits + - drm/i915: Fix invalid access to ACPI _DSM objects + - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m + - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS + - LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late + - gcov: re-fix clang-11+ support + - ia64: fix user_stack_pointer() for ptrace() + - nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff + - ocfs2: fix deadlock between setattr and dio_end_io_write + - fs: direct-io: fix missing sdio->boundary + - ethtool: fix incorrect datatype in set_eee ops + - of: property: fw_devlink: do not link ".*,nr-gpios" + - parisc: parisc-agp requires SBA IOMMU driver + - parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers + - ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin + - batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field + - ice: Increase control queue timeout + - ice: prevent ice_open and ice_stop during reset + - ice: remove DCBNL_DEVRESET bit from PF state + - ice: Fix for dereference of NULL pointer + - ice: Cleanup fltr list in case of allocation issues + - iwlwifi: pcie: properly set LTR workarounds on 22000 devices + - net: hso: fix null-ptr-deref during tty device unregistration + - libbpf: Fix bail out from 'ringbuf_process_ring()' on error + - bpf: Enforce that struct_ops programs be GPL-only + - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET + - ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx + - libbpf: Only create rx and tx XDP rings when necessary + - bpf, sockmap: Fix sk->prot unhash op reset + - net: ensure mac header is set in virtio_net_hdr_to_skb() + - i40e: Fix sparse warning: missing error code 'err' + - i40e: Fix sparse error: 'vsi->netdev' could be null + - i40e: Fix sparse errors in i40e_txrx.c + - net: sched: sch_teql: fix null-pointer dereference + - net: sched: fix action overwrite reference counting + - mac80211: fix TXQ AC confusion + - net: hsr: Reset MAC header for Tx path + - net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() + - net: let skb_orphan_partial wake-up waiters. + - usbip: add sysfs_lock to synchronize sysfs code paths + - usbip: stub-dev synchronize sysfs code paths + - usbip: vudc synchronize sysfs code paths + - usbip: synchronize event handler with sysfs code paths + - driver core: Fix locking bug in deferred_probe_timeout_work_func() + - scsi: target: iscsi: Fix zero tag inside a trace event + - i2c: turn recovery error on init to debug + - ice: Refactor DCB related variables out of the ice_port_info struct + - ice: Recognize 860 as iSCSI port in CEE mode + - xfrm: interface: fix ipv4 pmtu check to honor ip header df + - xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume + - regulator: bd9571mwv: Fix AVS and DVFS voltage range + - ARM: OMAP4: Fix PMIC voltage domains for bionic + - ARM: OMAP4: PM: update ROM return address for OSWR and OFF + - net: xfrm: Localize sequence counter per network namespace + - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload + - ASoC: SOF: Intel: HDA: fix core status verification + - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips + - xfrm: Fix NULL pointer dereference on policy lookup + - virtchnl: Fix layout of RSS structures + - i40e: Added Asym_Pause to supported link modes + - i40e: Fix kernel oops when i40e driver removes VF's + - hostfs: fix memory handling in follow_link() + - amd-xgbe: Update DMA coherency values + - sch_red: fix off-by-one checks in red_check_params() + - arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 + - xfrm: Provide private skb extensions for segmented and hw offloaded ESP + packets + - can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE + - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation + - ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso + - gianfar: Handle error code at MAC address change + - cxgb4: avoid collecting SGE_QBASE regs during traffic + - net:tipc: Fix a double free in tipc_sk_mcast_rcv + - ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces + - net/ncsi: Avoid channel_monitor hrtimer deadlock + - net: qrtr: Fix memory leak on qrtr_tx_wait failure + - nfp: flower: ignore duplicate merge hints from FW + - net: phy: broadcom: Only advertise EEE for supported modes + - I2C: JZ4780: Fix bug for Ingenic X1000. + - ASoC: sunxi: sun4i-codec: fill ASoC card owner + - net/mlx5e: Fix ethtool indication of connector type + - net/mlx5: Don't request more than supported EQs + - net/rds: Fix a use after free in rds_message_map_pages + - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model + - soc/fsl: qbman: fix conflicting alignment attributes + - i40e: Fix display statistics for veb_tc + - RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session + files + - drm/msm: Set drvdata to NULL when msm_drm_init() fails + - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); + - mptcp: forbit mcast-related sockopt on MPTCP sockets + - scsi: ufs: core: Fix task management request completion timeout + - scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs + - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb + - net: macb: restore cmp registers on resume path + - clk: fix invalid usage of list cursor in register + - clk: fix invalid usage of list cursor in unregister + - workqueue: Move the position of debug_work_activate() in __queue_work() + - s390/cpcmd: fix inline assembly register clobbering + - perf inject: Fix repipe usage + - net: openvswitch: conntrack: simplify the return expression of + ovs_ct_limit_get_default_limit() + - openvswitch: fix send of uninitialized stack memory in ct limit reply + - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set + - tipc: increment the tmp aead refcnt before attaching it + - net: hns3: clear VF down state bit before request link status + - net/mlx5: Fix placement of log_max_flow_counter + - net/mlx5: Fix PPLM register mapping + - net/mlx5: Fix PBMC register mapping + - RDMA/cxgb4: check for ipv6 address properly while destroying listener + - perf report: Fix wrong LBR block sorting + - i40e: Fix parameters in aq_get_phy_register() + - RDMA/addr: Be strict with gid size + - RAS/CEC: Correct ce_add_elem()'s returned values + - clk: socfpga: fix iomem pointer cast on 64-bit + - lockdep: Address clang -Wformat warning printing for %hd + - dt-bindings: net: ethernet-controller: fix typo in NVMEM + - cfg80211: remove WARN_ON() in cfg80211_sme_connect + - net: tun: set tun->dev->addr_len during TUNSETLINK processing + - drivers: net: fix memory leak in atusb_probe + - drivers: net: fix memory leak in peak_usb_create_dev + - net: mac802154: Fix general protection fault + - net: ieee802154: nl-mac: fix check on panid + - net: ieee802154: fix nl802154 del llsec key + - net: ieee802154: fix nl802154 del llsec dev + - net: ieee802154: fix nl802154 add llsec key + - net: ieee802154: fix nl802154 del llsec devkey + - net: ieee802154: forbid monitor for set llsec params + - net: ieee802154: forbid monitor for del llsec seclevel + - net: ieee802154: stop dump llsec params for monitors + - interconnect: core: fix error return code of icc_link_destroy() + - gfs2: Flag a withdraw if init_threads() fails + - KVM: arm64: Hide system instruction access to Trace registers + - KVM: arm64: Disable guest access to trace filter controls + - drm/imx: imx-ldb: fix out of bounds array access warning + - gfs2: report "already frozen/thawed" errors + - ftrace: Check if pages were allocated before calling free_pages() + - tools/kvm_stat: Add restart delay + - drm/tegra: dc: Don't set PLL clock to 0Hz + - gpu: host1x: Use different lock classes for each client + - block: only update parent bi_status when bio fail + - radix tree test suite: Register the main thread with the RCU library + - idr test suite: Take RCU read lock in idr_find_test_1 + - idr test suite: Create anchor before launching throbber + - io_uring: don't mark S_ISBLK async work as unbounded + - riscv,entry: fix misaligned base for excp_vect_table + - block: don't ignore REQ_NOWAIT for direct IO + - perf map: Tighten snprintf() string precision to pass gcc check on some + 32-bit arches + - net: sfp: relax bitrate-derived mode check + - net: sfp: cope with SFPs that set both LOS normal and LOS inverted + - xen/events: fix setting irq affinity + - perf tools: Use %zd for size_t printf formats on 32-bit + * groovy/linux: 5.8.0-55.62 -proposed tracker (LP: #1930379) + * [Potential Regression] Unable to create KVM with uvtool on Groovy ARM64 + (LP: #1929925) + - SAUCE: KVM: arm64: Assign kvm_ipa_limit + + -- Tim Gardner Tue, 08 Jun 2021 09:08:47 -0600 + +linux-riscv-5.8 (5.8.0-26.28~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-26.28~20.04.1 -proposed tracker (LP: #1927589) + + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - [Packaging] riscv-5.8: update modules for rc-cec + + [ Ubuntu: 5.8.0-26.28 ] + + * groovy/linux-riscv: 5.8.0-26.28 -proposed tracker (LP: #1927590) + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - [Packaging] riscv: update modules for rc-cec + - [Config] riscv: updateconfigs for PCIE_BW + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - [Packaging] riscv: update for industrialio-buffer-dma + * groovy/linux: 5.8.0-54.61 -proposed tracker (LP: #1927592) + * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq + (LP: #1925522) + - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + * netfilter: x_tables: fix compat match/target pad out-of-bound write + (LP: #1927682) + - netfilter: x_tables: fix compat match/target pad out-of-bound write + * Groovy update: upstream stable patchset 2021-05-04 (LP: #1927150) + - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb + - net: fec: ptp: avoid register access when ipg clock is disabled + - powerpc/4xx: Fix build errors from mfdcr() + - atm: eni: dont release is never initialized + - atm: lanai: dont run lanai_dev_close if not open + - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" + - ALSA: hda: ignore invalid NHLT table + - ixgbe: Fix memleak in ixgbe_configure_clsu32 + - scsi: ufs: ufs-qcom: Disable interrupt in reset path + - blk-cgroup: Fix the recursive blkg rwstat + - net: tehuti: fix error return code in bdx_probe() + - net: intel: iavf: fix error return code of iavf_init_get_resources() + - sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count + - cifs: ask for more credit on async read/write code paths + - gfs2: fix use-after-free in trans_drain + - cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev + - gpiolib: acpi: Add missing IRQF_ONESHOT + - nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default + - NFS: Correct size calculation for create reply length + - net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() + - net: wan: fix error return code of uhdlc_init() + - net: davicom: Use platform_get_irq_optional() + - net: enetc: set MAC RX FIFO to recommended value + - atm: uPD98402: fix incorrect allocation + - atm: idt77252: fix null-ptr-dereference + - cifs: change noisy error message to FYI + - irqchip/ingenic: Add support for the JZ4760 + - kbuild: add image_name to no-sync-config-targets + - kbuild: dummy-tools: fix inverted tests for gcc + - umem: fix error return code in mm_pci_probe() + - sparc64: Fix opcode filtering in handling of no fault loads + - habanalabs: Call put_pid() when releasing control device + - staging: rtl8192e: fix kconfig dependency on CRYPTO + - u64_stats,lockdep: Fix u64_stats_init() vs lockdep + - regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck + - block: Fix REQ_OP_ZONE_RESET_ALL handling + - drm/amd/display: Revert dram_clock_change_latency for DCN2.1 + - drm/amdgpu: fb BO should be ttm_bo_type_device + - drm/radeon: fix AGP dependency + - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() + - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() + - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted + - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done + - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a + - nfs: we don't support removing system.nfs4_acl + - block: Suppress uevent for hidden device when removed + - ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls + - ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign + - netsec: restore phy power state after controller reset + - platform/x86: intel-vbtn: Stop reporting SW_DOCK events + - psample: Fix user API breakage + - z3fold: prevent reclaim/free race for headless pages + - squashfs: fix inode lookup sanity checks + - squashfs: fix xattr id and id lookup sanity checks + - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings + - kasan: fix per-page tags for non-page_alloc pages + - gcov: fix clang-11+ support + - ACPI: video: Add missing callback back for Sony VPCEH3U1E + - ACPICA: Always create namespace nodes using acpi_ns_create_node() + - arm64: dts: ls1046a: mark crypto engine dma coherent + - arm64: dts: ls1012a: mark crypto engine dma coherent + - arm64: dts: ls1043a: mark crypto engine dma coherent + - ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C + - ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet + - ARM: dts: at91-sama5d27_som1: fix phy address to 7 + - integrity: double check iint_cache was initialized + - drm/amd/pm: workaround for audio noise issue + - drm/i915: Fix the GT fence revocation runtime PM logic + - dm verity: fix DM_VERITY_OPTS_MAX value + - dm ioctl: fix out of bounds array access when no devices + - bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD + - ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data + - soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva + - veth: Store queue_mapping independently of XDP prog presence + - libbpf: Fix INSTALL flag order + - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets + - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs + - net/mlx5e: Don't match on Geneve options in case option masks are all zero + - ipv6: fix suspecious RCU usage warning + - macvlan: macvlan_count_rx() needs to be aware of preemption + - net: sched: validate stab values + - net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port + - igc: reinit_locked() should be called with rtnl_lock + - igc: Fix Pause Frame Advertising + - igc: Fix Supported Pause Frame Link Setting + - igc: Fix igc_ptp_rx_pktstamp() + - e1000e: add rtnl_lock() to e1000_reset_task + - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 + - net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template + - net: phy: broadcom: Add power down exit reset state delay + - ftgmac100: Restart MAC HW once + - clk: qcom: gcc-sc7180: Use floor ops for the correct sdcc1 clk + - net: ipa: terminate message handler arrays + - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() + - flow_dissector: fix byteorder of dissected ICMP ID + - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed + - netfilter: ctnetlink: fix dump of the expect mask attribute + - net: hdlc_x25: Prevent racing between "x25_close" and "x25_xmit"/"x25_rx" + - tcp: relookup sock for RST+ACK packets handled by obsolete req sock + - can: peak_usb: add forgotten supported devices + - can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate + - can: kvaser_pciefd: Always disable bus load reporting + - can: c_can_pci: c_can_pci_remove(): fix use-after-free + - can: c_can: move runtime PM enable/disable to c_can_platform + - can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning + - can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors + - mac80211: fix rate mask reset + - mac80211: Allow HE operation to be longer than expected. + - selftests/net: fix warnings on reuseaddr_ports_exhausted + - nfp: flower: add ipv6 bit to pre_tunnel control message + - nfp: flower: fix pre_tun mask id allocation + - ftrace: Fix modify_ftrace_direct. + - ionic: linearize tso skb with too many frags + - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags + - netfilter: nftables: allow to update flowtable flags + - netfilter: flowtable: Make sure GC works periodically in idle system + - libbpf: Use SOCK_CLOEXEC when opening the netlink socket + - ipv6: weaken the v4mapped source check + - octeontx2-af: Formatting debugfs entry rsrc_alloc. + - octeontx2-af: Fix irq free in rvu teardown + - octeontx2-pf: Clear RSS enable flag on interace down + - octeontx2-af: fix infinite loop in unmapping NPC counter + - net: check all name nodes in __dev_alloc_name + - net: cdc-phonet: fix data-interface release on probe failure + - r8152: limit the RX buffer size of RTL8153A for USB 2.0 + - net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes + - selinux: vsock: Set SID for socket returned by accept() + - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value + - libbpf: Fix BTF dump of pointer-to-array-of-struct + - drm/msm: fix shutdown hook in case GPU components failed to bind + - arm64: kdump: update ppos when reading elfcorehdr + - PM: runtime: Defer suspending suppliers + - net/mlx5: Add back multicast stats for uplink representor + - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP + - net/mlx5e: Fix error path for ethtool set-priv-flag + - PM: EM: postpone creating the debugfs dir till fs_initcall + - net: bridge: don't notify switchdev for local FDB addresses + - octeontx2-af: Fix memory leak of object buf + - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening + server + - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs + - net: Consolidate common blackhole dst ops + - net, bpf: Fix ip6ip6 crash with collect_md populated skbs + - net: phy: introduce phydev->port + - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() + - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S + - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M + - dm table: Fix zoned model check and zone sectors check + - mm/mmu_notifiers: ensure range_end() is paired with range_start() + - ACPI: scan: Rearrange memory allocation in acpi_device_add() + - ACPI: scan: Use unique number for instance_no + - perf auxtrace: Fix auxtrace queue conflict + - perf synthetic events: Avoid write of uninitialized memory when generating + PERF_RECORD_MMAP* records + - block: recalculate segment count for multi-segment discards correctly + - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" + - scsi: qedi: Fix error return code of qedi_alloc_global_queues() + - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() + - smb3: fix cached file size problems in duplicate extents (reflink) + - locking/mutex: Fix non debug version of mutex_lock_io_nested() + - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() + - can: dev: Move device back to init netns on owning netns delete + - net: dsa: b53: VLAN filtering is global to all users + - mac80211: fix double free in ibss_leave + - ext4: add reclaim checks to xattr code + - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" + - xen-blkback: don't leak persistent grants from xen_blkbk_map() + - arm64: mm: correct the inside linear map range during hotplug check + - ext4: shrink race window in ext4_should_retry_alloc() + - ext4: fix bh ref count on error paths + - fs: nfsd: fix kconfig dependency warning for NFSD_V4 + - rpc: fix NULL dereference on kmalloc failure + - iomap: Fix negative assignment to unsigned sis->pages in + iomap_swapfile_activate + - ASoC: rt1015: fix i2c communication error + - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 + - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe + - ASoC: es8316: Simplify adc_pga_gain_tlv table + - ASoC: soc-core: Prevent warning if no DMI table is present + - ASoC: cs42l42: Fix Bitclock polarity inversion + - ASoC: cs42l42: Fix channel width support + - ASoC: cs42l42: Fix mixer volume control + - ASoC: cs42l42: Always wait at least 3ms after reset + - NFSD: fix error handling in NFSv4.0 callbacks + - kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing + - vhost: Fix vhost_vq_reset() + - io_uring: fix ->flags races by linked timeouts + - scsi: st: Fix a use after free in st_open() + - scsi: qla2xxx: Fix broken #endif placement + - staging: comedi: cb_pcidas: fix request_irq() warn + - staging: comedi: cb_pcidas64: fix request_irq() warn + - ASoC: rt5659: Update MCLK rate in set_sysclk() + - ASoC: rt711: add snd_soc_component remove callback + - thermal/core: Add NULL pointer check before using cooling device stats + - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling + - locking/ww_mutex: Fix acquire/release imbalance in + ww_acquire_init()/ww_acquire_fini() + - nvmet-tcp: fix kmap leak when data digest in use + - ext4: do not iput inode under running transaction in ext4_rename() + - net: mvpp2: fix interrupt mask/unmask skip condition + - flow_dissector: fix TTL and TOS dissection on IPv4 fragments + - can: dev: move driver related infrastructure into separate subdir + - net: introduce CAN specific pointer in the struct net_device + - can: tcan4x5x: fix max register value + - brcmfmac: clear EAP/association status bits on linkdown events + - netdevsim: dev: Initialize FIB module after debugfs + - iwlwifi: pcie: don't disable interrupts for reg_lock + - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() + - net: ethernet: aquantia: Handle error cleanup of start on open + - appletalk: Fix skb allocation size in loopback case + - net: ipa: remove two unused register definitions + - net: ipa: fix register write command validation + - net: wan/lmc: unregister device when no matching device is found + - net: 9p: advance iov on empty read + - bpf: Remove MTU check in __bpf_skb_max_len + - ACPI: tables: x86: Reserve memory occupied by ACPI tables + - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() + - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect + - ALSA: hda: Re-add dropped snd_poewr_change_state() calls + - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks + - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 + - xtensa: fix uaccess-related livelock in do_page_fault + - xtensa: move coprocessor_flush to the .text section + - PM: runtime: Fix race getting/putting suppliers at probe + - PM: runtime: Fix ordering in pm_runtime_get_suppliers() + - tracing: Fix stack trace event size + - mm: fix race by making init_zero_pfn() early_initcall + - drm/amdkfd: dqm fence memory corruption + - drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() + - drm/amdgpu: check alignment on CPU page for bo map + - reiserfs: update reiserfs_xattrs_initialized() condition + - drm/tegra: dc: Restore coupling of display controllers + - drm/tegra: sor: Grab runtime PM reference across reset + - vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends + - pinctrl: rockchip: fix restore error in resume + - extcon: Add stubs for extcon_register_notifier_all() functions + - extcon: Fix error handling in extcon_dev_register + - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield + - video: hyperv_fb: Fix a double free in hvfb_probe + - firewire: nosy: Fix a use-after-free bug in nosy_ioctl() + - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() + - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem + - usb: musb: Fix suspend with devices connected for a64 + - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI + - cdc-acm: fix BREAK rx code path adding necessary calls + - USB: cdc-acm: untangle a circular dependency between callback and softint + - USB: cdc-acm: downgrade message to debug + - USB: cdc-acm: fix double free on probe failure + - USB: cdc-acm: fix use-after-free after probe failure + - usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference + - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. + - usb: dwc2: Prevent core suspend when port connection flag is 0 + - staging: rtl8192e: Fix incorrect source in memcpy() + - staging: rtl8192e: Change state information from u16 to u8 + - drivers: video: fbcon: fix NULL dereference in fbcon_cursor() + - Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for + freezing" + - ARM: dts: am33xx: add aliases for mmc interfaces + - bus: ti-sysc: Fix warning on unbind if reset is not deasserted + - platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 + - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp + - net/mlx5e: Enforce minimum value check for ICOSQ size + - net: pxa168_eth: Fix a potential data race in pxa168_eth_remove + - kunit: tool: Fix a python tuple typing error + - mISDN: fix crash in fritzpci + - mac80211: Check crypto_aead_encrypt for errors + - mac80211: choose first enabled channel for monitor + - drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs + - drm/msm: Ratelimit invalid-fence message + - netfilter: conntrack: Fix gre tunneling over ipv6 + - netfilter: nftables: skip hook overlap logic if flowtable is stale + - net: ipa: fix init header command validation + - platform/x86: thinkpad_acpi: Allow the FnLock LED to change state + - x86/build: Turn off -fcf-protection for realmode targets + - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms + - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() + - selftests/vm: fix out-of-tree build + - ia64: mca: allocate early mca with GFP_ATOMIC + - ia64: fix format strings for err_inject + - cifs: revalidate mapping when we open files for SMB1 POSIX + - cifs: Silently ignore unknown oplock break handle + - init/Kconfig: make COMPILE_TEST depend on !S390 + - init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM + - nvme-mpath: replace direct_make_request with generic_make_request + * Enable CIFS GCM256 (LP: #1921916) + - smb3: add defines for new crypto algorithms + - smb3.1.1: add new module load parm require_gcm_256 + - smb3.1.1: add new module load parm enable_gcm_256 + - smb3.1.1: print warning if server does not support requested encryption type + - smb3.1.1: rename nonces used for GCM and CCM encryption + - smb3.1.1: set gcm256 when requested + - cifs: Adjust key sizes and key generation routines for AES256 encryption + * locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (LP: #1926184) + - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() + * Make AMD gpus choose YCbCr420 encoding automatically when required for 4k + 60Hz output (LP: #1922754) + - drm/amd/display: Try YCbCr420 color when YCbCr444 fails + * [Ubuntu 21.04] net/mlx5: Fix HW spec violation configuring uplink + (LP: #1925452) + - net/mlx5: Fix HW spec violation configuring uplink + * Groovy update: upstream stable patchset 2021-04-27 (LP: #1926360) + - crypto: aesni - Use TEST %reg,%reg instead of CMP $0,%reg + - crypto: x86/aes-ni-xts - use direct calls to and 4-way stride + - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes + - fuse: fix live lock in fuse_iget() + - ALSA: usb-audio: Don't avoid stopping the stream at disconnection + - net: dsa: b53: Support setting learning on port + - KVM: arm64: nvhe: Save the SPE context early + - drm/i915/gvt: Set SNOOP for PAT3 on BXT/APL to workaround GPU BB hang + - drm/i915/gvt: Fix mmio handler break on BXT/APL. + - drm/i915/gvt: Fix virtual display setup for BXT/APL + - drm/i915/gvt: Fix vfio_edid issue for BXT/APL + - ASoC: ak4458: Add MODULE_DEVICE_TABLE + - ASoC: ak5558: Add MODULE_DEVICE_TABLE + - ALSA: dice: fix null pointer dereference when node is disconnected + - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro + - ALSA: hda: generic: Fix the micmute led init state + - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air + - s390/pci: refactor zpci_create_device() + - s390/pci: remove superfluous zdev->zbus check + - s390/pci: fix leak of PCI device structure + - zonefs: Fix O_APPEND async write handling + - zonefs: prevent use of seq files as swap file + - btrfs: fix race when cloning extent buffer during rewind of an old root + - btrfs: fix slab cache flags for free space tree bitmap + - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails + - ASoC: fsl_ssi: Fix TDM slot setup for I2S mode + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold + - ASoC: SOF: Intel: unregister DMIC device on probe error + - ASoC: SOF: intel: fix wrong poll bits in dsp power down + - ASoC: qcom: sdm845: Fix array out of bounds access + - ASoC: qcom: sdm845: Fix array out of range on rx slim channels + - ASoC: codecs: wcd934x: add a sanity check in set channel map + - ASoC: qcom: lpass-cpu: Fix lpass dai ids parse + - ASoC: simple-card-utils: Do not handle device clock + - afs: Fix accessing YFS xattrs on a non-YFS server + - afs: Stop listxattr() from listing "afs.*" attributes + - nvme: fix Write Zeroes limitations + - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled + - nvme-tcp: fix possible hang when failing to set io queues + - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU + - nvmet: don't check iosqes,iocqes for discovery controllers + - nfsd: Don't keep looking up unhashed files in the nfsd file cache + - nfsd: don't abort copies early + - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. + - NFSD: fix dest to src mount in inter-server COPY + - svcrdma: disable timeouts on rdma backchannel + - vfio: IOMMU_API should be selected + - sunrpc: fix refcount leak for rpc auth modules + - i915/perf: Start hrtimer only if sampling the OA buffer + - pstore: Fix warning in pstore_kill_sb() + - net/qrtr: fix __netdev_alloc_skb call + - kbuild: Fix for empty SUBLEVEL or PATCHLEVEL again + - cifs: fix allocation size on newly created files + - riscv: Correct SPARSEMEM configuration + - scsi: lpfc: Fix some error codes in debugfs + - scsi: myrs: Fix a double free in myrs_cleanup() + - RISC-V: correct enum sbi_ext_rfence_fid + - counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED + - nvme-rdma: fix possible hang when failing to set io queues + - ibmvnic: add some debugs + - ibmvnic: serialize access to work queue on remove + - tty: serial: stm32-usart: Remove set but unused 'cookie' variables + - serial: stm32: fix DMA initialization error handling + - bpf: Declare __bpf_free_used_maps() unconditionally + - RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free + - RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails + - RDMA/rtrs: Introduce rtrs_post_send + - RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug + - module: merge repetitive strings in module_sig_check() + - module: avoid *goto*s in module_sig_check() + - module: harden ELF info handling + - scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition + - RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used + - i40e: Fix endianness conversions + - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 + - MIPS: compressed: fix build with enabled UBSAN + - media: cedrus: h264: Support profile controls + - ibmvnic: remove excessive irqsave + - s390/qeth: integrate RX refill worker with NAPI + - s390/qeth: schedule TX NAPI on QAOB completion + - drm/amd/pm: fulfill the Polaris implementation for + get_clock_by_type_with_latency() + - gfs2: Add common helper for holding and releasing the freeze glock + - gfs2: move freeze glock outside the make_fs_rw and _ro functions + - gfs2: bypass signal_our_withdraw if no journal + - powerpc: Force inlining of cpu_has_feature() to avoid build failure + - usb-storage: Add quirk to defeat Kindle's automatic unload + - usbip: Fix incorrect double assignment to udc->ud.tcp_rx + - usb: gadget: configfs: Fix KASAN use-after-free + - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct + - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- + - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() + - iio:adc:stm32-adc: Add HAS_IOMEM dependency + - iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel + - iio: adis16400: Fix an error code in adis16400_initial_setup() + - iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler + - iio: adc: ab8500-gpadc: Fix off by 10 to 3 + - iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask + - iio: adc: adi-axi-adc: add proper Kconfig dependencies + - iio: hid-sensor-humidity: Fix alignment issue of timestamp channel + - iio: hid-sensor-prox: Fix scale not correct issue + - iio: hid-sensor-temperature: Fix issues of timestamp channel + - counter: stm32-timer-cnt: fix ceiling write max value + - counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register + - PCI: rpadlpar: Fix potential drc_name corruption in store functions + - perf/x86/intel: Fix a crash caused by zero PEBS status + - x86/ioapic: Ignore IRQ2 again + - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() + - x86: Move TS_COMPAT back to asm/thread_info.h + - x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() + - efivars: respect EFI_UNSUPPORTED return from firmware + - ext4: fix error handling in ext4_end_enable_verity() + - ext4: find old entry again if failed to rename whiteout + - ext4: do not try to set xattr into ea_inode if value is empty + - ext4: fix potential error in ext4_do_update_inode + - MAINTAINERS: move some real subsystems off of the staging mailing list + - MAINTAINERS: move the staging subsystem to lists.linux.dev + - efi: use 32-bit alignment for efi_guid_t literals + - firmware/efi: Fix a use after bug in efi_mem_reserve_persistent + - genirq: Disable interrupts for force threaded handlers + - x86/apic/of: Fix CPU devicetree-node lookups + - cifs: Fix preauth hash corruption + - USB: replace hardcode maximum usb string length by definition + * Groovy update: upstream stable patchset 2021-04-20 (LP: #1925259) + - uapi: nfnetlink_cthelper.h: fix userspace compilation error + - powerpc/perf: Fix handling of privilege level checks in perf interrupt + context + - powerpc/pseries: Don't enforce MSI affinity with kdump + - crypto: mips/poly1305 - enable for all MIPS processors + - ath9k: fix transmitting to stations in dynamic SMPS mode + - net: Fix gro aggregation for udp encaps with zero csum + - net: check if protocol extracted by virtio_net_hdr_set_proto is correct + - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 + - can: skb: can_skb_set_owner(): fix ref counting if socket was closed before + setting skb ownership + - can: flexcan: assert FRZ bit in flexcan_chip_freeze() + - can: flexcan: enable RX FIFO after FRZ/HALT valid + - can: flexcan: invoke flexcan_chip_freeze() to enter freeze mode + - can: tcan4x5x: tcan4x5x_init(): fix initialization - clear MRAM before + entering Normal Mode + - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) + - tcp: add sanity tests to TCP_QUEUE_SEQ + - netfilter: nf_nat: undo erroneous tcp edemux lookup + - netfilter: x_tables: gpf inside xt_find_revision() + - net: always use icmp{,v6}_ndo_send from ndo_start_xmit + - net: phy: fix save wrong speed and duplex problem if autoneg is on + - selftests/bpf: No need to drop the packet when there is no geneve opt + - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier + - samples, bpf: Add missing munmap in xdpsock + - libbpf: Clear map_info before each bpf_obj_get_info_by_fd + - ibmvnic: always store valid MAC address + - mt76: dma: do not report truncated frames to mac80211 + - powerpc/603: Fix protection of user pages mapped with PROT_NONE + - mount: fix mounting of detached mounts onto targets that reside on shared + mounts + - cifs: return proper error code in statfs(2) + - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" + - sh_eth: fix TRSCER mask for SH771x + - net: enetc: don't overwrite the RSS indirection table when initializing + - net: enetc: take the MDIO lock only once per NAPI poll cycle + - net: enetc: fix incorrect TPID when receiving 802.1ad tagged packets + - net: enetc: don't disable VLAN filtering in IFF_PROMISC mode + - net: enetc: remove bogus write to SIRXIDR from enetc_setup_rxbdr + - net: enetc: keep RX ring consumer index in sync with hardware + - net: ethernet: mtk-star-emac: fix wrong unmap in RX handling + - net/mlx4_en: update moderation when config reset + - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 + - nexthop: Do not flush blackhole nexthops when loopback goes down + - net: sched: avoid duplicates in classes dump + - net: dsa: sja1105: fix SGMII PCS being forced to SPEED_UNKNOWN instead of + SPEED_10 + - net: usb: qmi_wwan: allow qmimux add/del with master up + - netdevsim: init u64 stats for 32bit hardware + - cipso,calipso: resolve a number of problems with the DOI refcounts + - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII + - stmmac: intel: Fixes clock registration error seen for multiple interfaces + - net: lapbether: Remove netif_start_queue / netif_stop_queue + - net: davicom: Fix regulator not turned off on failed probe + - net: davicom: Fix regulator not turned off on driver removal + - net: enetc: allow hardware timestamping on TX queues with tc-etf enabled + - net: qrtr: fix error return code of qrtr_sendmsg() + - s390/qeth: fix memory leak after failed TX Buffer allocation + - r8169: fix r8168fp_adjust_ocp_cmd function + - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA + - perf build: Fix ccache usage in $(CC) when generating arch errno table + - net: stmmac: stop each tx channel independently + - net: stmmac: fix watchdog timeout during suspend/resume stress test + - net: stmmac: fix wrongly set buffer2 valid when sph unsupport + - ethtool: fix the check logic of at least one channel for RX/TX + - selftests: forwarding: Fix race condition in mirror installation + - perf traceevent: Ensure read cmdlines are null terminated. + - perf report: Fix -F for branch & mem modes + - net: hns3: fix query vlan mask value error for flow director + - net: hns3: fix bug when calculating the TCAM table info + - s390/cio: return -EFAULT if copy_to_user() fails again + - bnxt_en: reliably allocate IRQ table on reset to avoid crash + - gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk + - gpiolib: acpi: Allow to find GpioInt() resource by name and index + - gpio: pca953x: Set IRQ type when handle Intel Galileo Gen 2 + - gpio: fix gpio-device list corruption + - drm/compat: Clear bounce structures + - drm/amd/display: Add a backlight module option + - drm/amdgpu/display: use GFP_ATOMIC in dcn21_validate_bandwidth_fp() + - drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth() + - drm/amd/pm: bug fix for pcie dpm + - drm/amdgpu/display: simplify backlight setting + - drm/amdgpu/display: don't assert in set backlight function + - drm/amdgpu/display: handle aux backlight in backlight_get_brightness + - drm/shmem-helper: Check for purged buffers in fault handler + - drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff + - drm: Use USB controller's DMA mask when importing dmabufs + - drm: meson_drv add shutdown function + - drm/shmem-helpers: vunmap: Don't put pages for dma-buf + - s390/cio: return -EFAULT if copy_to_user() fails + - s390/crypto: return -EFAULT if copy_to_user() fails + - qxl: Fix uninitialised struct field head.surface_id + - sh_eth: fix TRSCER mask for R7S9210 + - media: usbtv: Fix deadlock on suspend + - media: rkisp1: params: fix wrong bits settings + - media: v4l: vsp1: Fix uif null pointer access + - media: v4l: vsp1: Fix bru null pointer access + - media: rc: compile rc-cec.c into rc-core + - [Packaging] update modules for rc-cec + - cifs: fix credit accounting for extra channel + - net: hns3: fix error mask definition of flow director + - s390/qeth: don't replace a fully completed async TX buffer + - s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state + - s390/qeth: improve completion of pending TX buffers + - s390/qeth: fix notification for pending buffers during teardown + - net: dsa: tag_ksz: don't allocate additional memory for padding/tagging + - net: dsa: trailer: don't allocate additional memory for padding/tagging + - net: dsa: tag_qca: let DSA core deal with TX reallocation + - net: dsa: tag_ocelot: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: let DSA core deal with TX reallocation + - net: dsa: tag_lan9303: let DSA core deal with TX reallocation + - net: dsa: tag_edsa: let DSA core deal with TX reallocation + - net: dsa: tag_brcm: let DSA core deal with TX reallocation + - net: dsa: tag_dsa: let DSA core deal with TX reallocation + - net: dsa: tag_gswip: let DSA core deal with TX reallocation + - net: dsa: tag_ar9331: let DSA core deal with TX reallocation + - net: dsa: tag_mtk: fix 802.1ad VLAN egress + - ath11k: peer delete synchronization with firmware + - i2c: rcar: faster irq code to minimize HW race condition + - i2c: rcar: optimize cacheline to minimize HW race condition + - scsi: ufs: WB is only available on LUN #0 to #7 + - udf: fix silent AED tagLocation corruption + - iommu/vt-d: Clear PRQ overflow only when PRQ is empty + - mmc: mxs-mmc: Fix a resource leak in an error handling path in + 'mxs_mmc_probe()' + - mmc: mediatek: fix race condition between msdc_request_timeout and irq + - mmc: sdhci-iproc: Add ACPI bindings for the RPi + - Platform: OLPC: Fix probe error handling + - powerpc/pci: Add ppc_md.discover_phbs() + - spi: stm32: make spurious and overrun interrupts visible + - powerpc: improve handling of unrecoverable system reset + - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset + - HID: logitech-dj: add support for the new lightspeed connection iteration + - powerpc/64: Fix stack trace not displaying final frame + - iommu/amd: Fix performance counter initialization + - clk: qcom: gdsc: Implement NO_RET_PERIPH flag + - sparc32: Limit memblock allocation to low memory + - sparc64: Use arch_validate_flags() to validate ADI flag + - Input: applespi - don't wait for responses to commands indefinitely. + - PCI: xgene-msi: Fix race in installing chained irq handler + - PCI: mediatek: Add missing of_node_put() to fix reference leak + - drivers/base: build kunit tests without structleak plugin + - PCI/LINK: Remove bandwidth notification + - [Config] updateconfigs for PCIE_BW + - kbuild: clamp SUBLEVEL to 255 + - PCI: Fix pci_register_io_range() memory leak + - i40e: Fix memory leak in i40e_probe + - s390/smp: __smp_rescan_cpus() - move cpumask away from stack + - drivers/base/memory: don't store phys_device in memory blocks + - sysctl.c: fix underflow value setting risk in vm_table + - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling + - scsi: target: core: Add cmd length set before cmd complete + - scsi: target: core: Prevent underflow for service actions + - clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc + - mmc: sdhci: Update firmware interface API + - ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler + - ARM: assembler: introduce adr_l, ldr_l and str_l macros + - ARM: efistub: replace adrl pseudo-op with adr_l macro invocation + - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk + - ALSA: hda/hdmi: Cancel pending works before suspend + - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 + - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support + - ALSA: hda: Drop the BATCH workaround for AMD controllers + - ALSA: hda: Flush pending unsolicited events before suspend + - ALSA: hda: Avoid spurious unsol event handling during S3/S4 + - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar + - ALSA: usb-audio: Apply the control quirk to Plantronics headsets + - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL + - s390/dasd: fix hanging DASD driver unbind + - s390/dasd: fix hanging IO request during DASD driver unbind + - software node: Fix node registration + - xen/events: reset affinity of 2-level event when tearing it down + - mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants + - mmc: core: Fix partition switch time for eMMC + - mmc: cqhci: Fix random crash when remove mmc module/card + - cifs: do not send close in compound create+close requests + - Goodix Fingerprint device is not a modem + - USB: gadget: u_ether: Fix a configfs return code + - usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio + slot + - usb: gadget: f_uac1: stop playback on function disable + - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement + - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot + - usb: dwc3: qcom: add ACPI device id for sc8180x + - usb: dwc3: qcom: Honor wakeup enabled/disabled state + - USB: usblp: fix a hang in poll() if disconnected + - usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM + - usb: xhci: do not perform Soft Retry for some xHCI hosts + - xhci: Improve detection of device initiated wake signal. + - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing + - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake + state + - USB: serial: io_edgeport: fix memory leak in edge_startup + - USB: serial: ch341: add new Product ID + - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter + - USB: serial: cp210x: add some more GE USB IDs + - usbip: fix stub_dev to check for stream socket + - usbip: fix vhci_hcd to check for stream socket + - usbip: fix vudc to check for stream socket + - usbip: fix vhci_hcd attach_store() races leading to gpf + - usbip: fix vudc usbip_sockfd_store races leading to gpf + - misc/pvpanic: Export module FDT device table + - staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan() + - staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan() + - staging: rtl8712: unterminated string leads to read overflow + - staging: rtl8188eu: fix potential memory corruption in + rtw_check_beacon_data() + - staging: ks7010: prevent buffer overflow in ks_wlan_set_scan() + - staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd + - staging: rtl8192e: Fix possible buffer overflow in _rtl92e_wx_set_scan + - staging: comedi: addi_apci_1032: Fix endian problem for COS sample + - staging: comedi: addi_apci_1500: Fix endian problem for command sample + - staging: comedi: adv_pci1710: Fix endian problem for AI command data + - staging: comedi: das6402: Fix endian problem for AI command data + - staging: comedi: das800: Fix endian problem for AI command data + - staging: comedi: dmm32at: Fix endian problem for AI command data + - staging: comedi: me4000: Fix endian problem for AI command data + - staging: comedi: pcl711: Fix endian problem for AI command data + - staging: comedi: pcl818: Fix endian problem for AI command data + - sh_eth: fix TRSCER mask for R7S72100 + - arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory + - SUNRPC: Set memalloc_nofs_save() for sync tasks + - NFS: Don't revalidate the directory permissions on a lookup failure + - NFS: Don't gratuitously clear the inode cache when lookup failed + - NFSv4.2: fix return value of _nfs4_get_security_label() + - block: rsxx: fix error return code of rsxx_pci_probe() + - configfs: fix a use-after-free in __configfs_open_file + - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds + - hrtimer: Update softirq_expires_next correctly after + __hrtimer_get_next_event() + - powerpc/64s/exception: Clean up a missed SRR specifier + - stop_machine: mark helpers __always_inline + - include/linux/sched/mm.h: use rcu_dereference in in_vfork() + - zram: fix return value on writeback_store + - linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* + - sched/membarrier: fix missing local execution of ipi_sync_rq_state() + - efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP + table + - powerpc/64s: Fix instruction encoding for lis in ppc_function_entry() + - powerpc: Fix inverted SET_FULL_REGS bitop + - powerpc: Fix missing declaration of [en/dis]able_kernel_vsx() + - binfmt_misc: fix possible deadlock in bm_register_write + - x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2 + - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged + - KVM: arm64: Reject VM creation when the default IPA size is unsupported + - KVM: arm64: Fix exclusive limit for IPA size + - mm/userfaultfd: fix memory corruption due to writeprotect + - mm/page_alloc.c: refactor initialization of struct page for holes in memory + layout + - xen/events: don't unmask an event channel when an eoi is pending + - xen/events: avoid handling the same event on two cpus at the same time + * Groovy update: upstream stable patchset 2021-04-12 (LP: #1923493) + - net: usb: qmi_wwan: support ZTE P685M modem + - drm/virtio: use kvmalloc for large allocations + - x86/build: Treat R_386_PLT32 relocation as R_386_PC32 + - JFS: more checks for invalid superblock + - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled + - udlfb: Fix memory leak in dlfb_usb_probe + - media: mceusb: sanity check for prescaler value + - erofs: fix shift-out-of-bounds of blkszbits + - media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate + - xfs: Fix assert failure in xfs_setattr_size() + - net/af_iucv: remove WARN_ONCE on malformed RX packets + - smackfs: restrict bytes count in smackfs write functions + - tomoyo: ignore data race while checking quota + - net: fix up truesize of cloned skb in skb_prepare_for_shift() + - nbd: handle device refs for DESTROY_ON_DISCONNECT properly + - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing + - RDMA/rtrs: Do not signal for heatbeat + - RDMA/rtrs-clt: Use bitmask to check sess->flags + - RDMA/rtrs-srv: Do not signal REG_MR + - tcp: fix tcp_rmem documentation + - net: bridge: use switchdev for port flags set through sysfs too + - net: ag71xx: remove unnecessary MTU reservation + - net: hsr: add support for EntryForgetTime + - net: psample: Fix netlink skb length with tunnel info + - net: fix dev_ifsioc_locked() race condition + - dt-bindings: ethernet-controller: fix fixed-link specification + - dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ + - rsi: Fix TX EAPOL packet handling against iwlwifi AP + - rsi: Move card interrupt handling to RX thread + - EDAC/amd64: Do not load on family 0x15, model 0x13 + - staging: fwserial: Fix error handling in fwserial_create + - x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk + - vt/consolemap: do font sum unsigned + - wlcore: Fix command execute failure 19 for wl12xx + - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl + - Bluetooth: btusb: fix memory leak on suspend and resume + - mt76: mt7615: reset token when mac_reset happens + - pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() + - ath10k: fix wmi mgmt tx queue full due to race condition + - net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant + - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk + - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data + - staging: most: sound: add sanity check for function argument + - staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() + - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet + - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet + - drm/hisilicon: Fix use-after-free + - crypto: tcrypt - avoid signed overflow in byte count + - fs: make unlazy_walk() error handling consistent + - drm/amdgpu: Add check to prevent IH overflow + - PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse + - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag + - drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails + - media: uvcvideo: Allow entities with no pads + - f2fs: handle unallocated section and zone on pinned/atgc + - f2fs: fix to set/clear I_LINKABLE under i_lock + - nvme-core: add cancel tagset helpers + - nvme-rdma: add clean action for failed reconnection + - nvme-tcp: add clean action for failed reconnection + - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() + - btrfs: fix error handling in commit_fs_roots + - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] + - ASoC: Intel: sof_sdw: detect DMIC number based on mach params + - parisc: Bump 64-bit IRQ stack size to 64 KB + - sched/features: Fix hrtick reprogramming + - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R + tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet + - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet + - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet + - Xen/gnttab: handle p2m update errors on a per-slot basis + - xen-netback: respect gnttab_map_refs()'s return value + - zsmalloc: account the number of compacted pages correctly + - swap: fix swapfile read/write offset + - media: v4l: ioctl: Fix memory leak in video_usercopy + - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board + - net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround + - net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips + - nvme-pci: refactor nvme_unmap_data + - nvme-pci: fix error unwind in nvme_map_data + - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 + - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE + - ALSA: usb-audio: Drop bogus dB range in too low level + - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() + - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() + - btrfs: avoid double put of block group when emptying cluster + - btrfs: fix raid6 qstripe kmap + - btrfs: fix race between writes to swap files and scrub + - btrfs: fix stale data exposure after cloning a hole with NO_HOLES enabled + - btrfs: fix race between extent freeing/allocation when using bitmaps + - btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl + - btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata + - btrfs: unlock extents in btrfs_zero_range in case of quota reservation + errors + - btrfs: fix warning when creating a directory with smack enabled + - io_uring: ignore double poll add on the same waitqueue head + - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size + - dm verity: fix FEC for RS roots unaligned to block size + - drm/amdgpu: fix parameter error of RREG32_PCIE() in amdgpu_regs_pcie + - crypto - shash: reduce minimum alignment of shash_desc structure + - arm64: mm: Move reserve_crashkernel() into mem_init() + - arm64: mm: Move zone_dma_bits initialization into zone_sizes_init() + - of/address: Introduce of_dma_get_max_cpu_address() + - of: unittest: Add test for of_dma_get_max_cpu_address() + - arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges + - arm64: mm: Set ZONE_DMA size based on early IORT scan + - mm: Remove examples from enum zone_type comment + - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits + - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep + - RDMA/rxe: Fix missing kconfig dependency on CRYPTO + - IB/mlx5: Add missing error code + - ALSA: hda: intel-nhlt: verify config type + - ftrace: Have recordmcount use w8 to read relp->r_info in + arm64_is_fake_mcount + - rsxx: Return -EFAULT if copy_to_user() fails + - iommu/vt-d: Fix status code for Allocate/Free PASID command + - Revert "arm64: dts: amlogic: add missing ethernet reset ID" + - of: unittest: Fix build on architectures without CONFIG_OF_ADDRESS + - tomoyo: recognize kernel threads correctly + - r8169: fix resuming from suspend on RTL8105e if machine runs on battery + - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter + handling + - ASoC: SOF: Intel: broadwell: fix mutual exclusion with catpt driver + - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state + - parisc: Enable -mlong-calls gcc option with CONFIG_COMPILE_TEST + - arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ + - iommu/amd: Fix sleeping in atomic in increase_address_space() + - Bluetooth: btqca: Add valid le states quirk + - mwifiex: pcie: skip cancel_work_sync() on reset failure path + - ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device + - bus: ti-sysc: Implement GPMC debug quirk to drop platform data + - platform/x86: acer-wmi: Cleanup ACER_CAP_FOO defines + - platform/x86: acer-wmi: Cleanup accelerometer device handling + - platform/x86: acer-wmi: Add new force_caps module parameter + - platform/x86: acer-wmi: Add ACER_CAP_SET_FUNCTION_MODE capability flag + - platform/x86: acer-wmi: Add support for SW_TABLET_MODE on Switch devices + - platform/x86: acer-wmi: Add ACER_CAP_KBD_DOCK quirk for the Aspire Switch + 10E SW3-016 + - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter + - media: cx23885: add more quirks for reset DMA on some AMD IOMMU + - ACPI: video: Add DMI quirk for GIGABYTE GB-BXBT-2807 + - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 + - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 + - scsi: ufs: Add a quirk to permit overriding UniPro defaults + - misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom + - scsi: ufs: Introduce a quirk to allow only page-aligned sg entries + - drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register + - mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo + Winpad A15 + - scsi: ufs: Fix a duplicate dev quirk number + - KVM: SVM: Clear the CR4 register on reset + - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. + - nvme-pci: add quirks for Lexar 256GB SSD + - dm table: fix iterate_devices based device capability checks + - dm table: fix DAX iterate_devices based device capability checks + - dm table: fix zoned iterate_devices based device capability checks + * [SRU][F:OEM-5.10/G/H] add realtek 8852 bluetooth support (LP: #1924207) + - Bluetooth: btusb: btrtl: Add support for RTL8852A + - Bluetooth: btrtl: Enable central-peripheral role + - Bluetooth: btrtl: Enable WBS for the specific Realtek devices + * Backport mlx5e fix for tunnel offload (LP: #1921769) + - net/mlx5e: Check tunnel offload is required before setting SWP + * crash utility fails on arm64 with cannot determine VA_BITS_ACTUAL + (LP: #1919275) + - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo + + -- Stefan Bader Tue, 18 May 2021 14:45:14 +0200 + +linux-riscv-5.8 (5.8.0-25.27~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-25.27 ] + + * CVE-2021-3491 + - io_uring: fix provide_buffers sign extension + - io_uring: fix overflows checks in provide buffers + - SAUCE: proc: Avoid mixing integer types in mem_rw() + - SAUCE: io_uring: truncate lengths larger than MAX_RW_COUNT on provide + buffers + * CVE-2021-3490 + - bpf: Fix a verifier failure with xor + - SAUCE: bpf: verifier: fix ALU32 bounds tracking with bitwise ops + * CVE-2021-3489 + - SAUCE: bpf: ringbuf: deny reserve of buffers larger than ringbuf + - SAUCE: bpf: prevent writable memory-mapping of read-only ringbuf pages + + -- Stefan Bader Thu, 06 May 2021 10:40:59 +0200 + +linux-riscv-5.8 (5.8.0-24.26~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-24.26~20.04.1 -proposed tracker (LP: #1926727) + + [ Ubuntu: 5.8.0-24.26 ] + + * groovy/linux-riscv: 5.8.0-24.26 -proposed tracker (LP: #1926728) + * groovy/linux: 5.8.0-52.59 -proposed tracker (LP: #1926730) + * Packaging resync (LP: #1786013) + - update dkms package versions + * hangup01 from pty in ubuntu_ltp_stable failed on G-5.8 (LP: #1925290) + - SAUCE: Revert "tty: implement read_iter" + - SAUCE: Revert "tty: convert tty_ldisc_ops 'read()' function to take a kernel + pointer" + + -- Kelsey Skunberg Fri, 30 Apr 2021 13:13:52 -0600 + +linux-riscv-5.8 (5.8.0-23.25~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-23.25~20.04.1 -proposed tracker (LP: #1923751) + + [ Ubuntu: 5.8.0-23.25 ] + + * groovy/linux-riscv: 5.8.0-23.25 -proposed tracker (LP: #1923752) + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - [Config] riscv: updateconfigs for CONFIG_KCMP + * groovy/linux: 5.8.0-51.57 -proposed tracker (LP: #1923754) + * CVE-2021-28375 + - misc: fastrpc: restrict user apps from sending kernel RPC messages + * CVE-2021-29646 + - tipc: better validate user input in tipc_nl_retrieve_key() + * SND_PCI_QUIRK for Clevo NH55RZQ and Intel NUC10 (LP: #1922759) + - ALSA: hda/realtek: Add quirk for Intel NUC 10 + - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ + * CVE-2021-29650 + - Revert "netfilter: x_tables: Update remaining dereference to RCU" + - Revert "netfilter: x_tables: Switch synchronization to RCU" + - netfilter: x_tables: Use correct memory barriers. + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] dkms-build{,--nvidia-N} sync back from LRMv4 + * CVE-2021-29266 + - vhost-vdpa: fix use-after-free of v->config_ctx + * CVE-2021-29264 + - gianfar: fix jumbo packets+napi+rx overrun crash + * CVE-2021-29265 + - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf + * Bcache bypasse writeback on caching device with fragmentation (LP: #1900438) + - bcache: consider the fragmentation when update the writeback rate + * Fix implicit declaration warnings for kselftests/memfd test on newer + releases (LP: #1910323) + - selftests/memfd: Fix implicit declaration warnings + * net/mlx5e: Add missing capability check for uplink follow (LP: #1921104) + - net/mlx5e: Add missing capability check for uplink follow + * [UBUNUT 21.04] s390/vtime: fix increased steal time accounting + (LP: #1921498) + - s390/vtime: fix increased steal time accounting + * Groovy update: upstream stable patchset 2021-03-30 (LP: #1921960) + - vmlinux.lds.h: add DWARF v5 sections + - debugfs: be more robust at handling improper input in debugfs_lookup() + - debugfs: do not attempt to create a new file before the filesystem is + initalized + - scsi: libsas: docs: Remove notify_ha_event() + - scsi: qla2xxx: Fix mailbox Ch erroneous error + - kdb: Make memory allocations more robust + - PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 + - PCI: Decline to resize resources if boot config must be preserved + - virt: vbox: Do not use wait_event_interruptible when called from kernel + context + - bfq: Avoid false bfq queue merging + - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode + - MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section + - random: fix the RNDRESEEDCRNG ioctl + - ALSA: pcm: Call sync_stop at disconnection + - ALSA: pcm: Assure sync with the pending stop operation at suspend + - ALSA: pcm: Don't call sync_stop if it hasn't been stopped + - drm/i915/gt: One more flush for Baytrail clear residuals + - ath10k: Fix error handling in case of CE pipe init failure + - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the + probe function + - Bluetooth: hci_uart: Fix a race for write_work scheduling + - Bluetooth: Fix initializing response id after clearing struct + - ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5 + - ARM: dts: exynos: correct PMIC interrupt trigger level on Monk + - ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato + - ARM: dts: exynos: correct PMIC interrupt trigger level on Spring + - ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa + - ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family + - arm64: dts: exynos: correct PMIC interrupt trigger level on TM2 + - arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso + - memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops + - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump + - arm64: dts: qcom: msm8916-samsung-a5u: Fix iris compatible + - net: stmmac: dwmac-meson8b: fix enabling the timing-adjustment clock + - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h + - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args + - arm64: dts: allwinner: A64: properly connect USB PHY to port 0 + - arm64: dts: allwinner: H6: properly connect USB PHY to port 0 + - arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card + - arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency + - arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz + - cpufreq: brcmstb-avs-cpufreq: Free resources in error path + - cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() + - arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node + - ACPICA: Fix exception code class checks + - usb: gadget: u_audio: Free requests only after callback + - arm64: dts: qcom: sdm845-db845c: Fix reset-pin of ov8856 node + - soc: ti: pm33xx: Fix some resource leak in the error handling paths of the + probe function + - staging: media: atomisp: Fix size_t format specifier in hmm_alloc() debug + statemenet + - Bluetooth: drop HCI device reference before return + - Bluetooth: Put HCI device if inquiry procedure interrupts + - memory: ti-aemif: Drop child node when jumping out loop + - ARM: dts: Configure missing thermal interrupt for 4430 + - usb: dwc2: Do not update data length if it is 0 on inbound transfers + - usb: dwc2: Abort transaction after errors with unknown reason + - usb: dwc2: Make "trimming xfer length" a debug message + - staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules + - ARM: dts: armada388-helios4: assign pinctrl to LEDs + - ARM: dts: armada388-helios4: assign pinctrl to each fan + - arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to + a53-firmware + - opp: Correct debug message in _opp_add_static_v2() + - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv + - soc: qcom: ocmem: don't return NULL in of_get_ocmem + - arm64: dts: msm8916: Fix reserved and rfsa nodes unit address + - arm64: dts: meson: fix broken wifi node for Khadas VIM3L + - ARM: s3c: fix fiq for clang IAS + - ARM: at91: use proper asm syntax in pm_suspend + - ath10k: Fix suspicious RCU usage warning in + ath10k_wmi_tlv_parse_peer_stats_info() + - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics + - soc: aspeed: snoop: Add clock control logic + - bpf_lru_list: Read double-checked variable once without lock + - ath9k: fix data bus crash when setting nf_override via debugfs + - ibmvnic: Set to CLOSED state even on error + - bnxt_en: reverse order of TX disable and carrier off + - xen/netback: fix spurious event detection for common event case + - net/mlx5e: Don't change interrupt moderation params when DIM is enabled + - net/mlx5e: Change interrupt moderation channel params also when channels are + closed + - net/mlx5e: Replace synchronize_rcu with synchronize_net + - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context + - net/mlx5: Disable devlink reload for multi port slave device + - net/mlx5: Disallow RoCE on multi port slave device + - net/mlx5: Disallow RoCE on lag device + - net/mlx5: Disable devlink reload for lag devices + - mac80211: fix potential overflow when multiplying to u32 integers + - libbpf: Ignore non function pointer member in struct_ops + - bpf: Fix an unitialized value in bpf_iter + - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation + - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx + - tcp: fix SO_RCVLOWAT related hangs under mem pressure + - net: axienet: Handle deferred probe on clock properly + - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 + and ulds + - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case + - bpf: Clear subreg_def for global function return values + - ibmvnic: add memory barrier to protect long term buffer + - ibmvnic: skip send_request_unmap for timeout reset + - net: dsa: felix: perform teardown in reverse order of setup + - net: phy: mscc: adding LCPLL reset to VSC8514 + - net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout + - net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning + - net: amd-xgbe: Reset link when the link never comes back + - net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP + - net: mvneta: Remove per-cpu queue mapping for Armada 3700 + - tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer + - tty: implement read_iter + - fbdev: aty: SPARC64 requires FB_ATY_CT + - drm/gma500: Fix error return code in psb_driver_load() + - gma500: clean up error handling in init + - drm/fb-helper: Add missed unlocks in setcmap_legacy() + - crypto: sun4i-ss - linearize buffers content must be kept + - crypto: sun4i-ss - fix kmap usage + - crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled + - media: allegro: Fix use after free on error + - drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() + - drm: rcar-du: Fix crash when using LVDS1 clock for CRTC + - drm: rcar-du: Fix the return check of of_parse_phandle and + of_find_device_by_node + - drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition + - MIPS: c-r4k: Fix section mismatch for loongson2_sc_init + - MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 + - drm/virtio: make sure context is created in gem open + - media: ipu3-cio2: Build only for x86 + - media: i2c: ov5670: Fix PIXEL_RATE minimum value + - media: imx: Unregister csc/scaler only if registered + - media: imx: Fix csc/scaler unregister + - media: mtk-vcodec: fix error return code in vdec_vp9_decode() + - media: camss: missing error code in msm_video_register() + - media: vsp1: Fix an error handling path in the probe function + - media: em28xx: Fix use-after-free in em28xx_alloc_urbs + - media: media/pci: Fix memleak in empress_init + - media: tm6000: Fix memleak in tm6000_start_stream + - media: aspeed: fix error return code in aspeed_video_setup_video() + - ASoC: cs42l56: fix up error handling in probe + - ASoC: qcom: qdsp6: Move frontend AIFs to q6asm-dai + - evm: Fix memleak in init_desc + - crypto: bcm - Rename struct device_private to bcm_device_private + - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue + - drm/sun4i: tcon: fix inverted DCLK polarity + - media: imx7: csi: Fix regression for parallel cameras on i.MX6UL + - media: imx7: csi: Fix pad link validation + - MIPS: properly stop .eh_frame generation + - MIPS: Compare __SYNC_loongson3_war against 0 + - drm/tegra: Fix reference leak when pm_runtime_get_sync() fails + - drm/amdgpu: toggle on DF Cstate after finishing xgmi injection + - bsg: free the request before return error code + - drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. + - drm/amd/display: Fix HDMI deep color output for DCE 6-11. + - media: software_node: Fix refcounts in software_node_get_next_child() + - media: lmedm04: Fix misuse of comma + - media: atomisp: Fix a buffer overflow in debug code + - media: qm1d1c0042: fix error return code in qm1d1c0042_init() + - media: cx25821: Fix a bug when reallocating some dma memory + - media: pxa_camera: declare variable when DEBUG is defined + - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values + - sched/eas: Don't update misfit status if the task is pinned + - f2fs: compress: fix potential deadlock + - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend + - mtd: parser: imagetag: fix error codes in + bcm963xx_parse_imagetag_partitions() + - crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) + - crypto: talitos - Fix ctr(aes) on SEC1 + - drm/nouveau: bail out of nouveau_channel_new if channel init fails + - mm: proc: Invalidate TLB after clearing soft-dirty page state + - ata: ahci_brcm: Add back regulators management + - ASoC: cpcap: fix microphone timeslot mask + - ASoC: codecs: add missing max_register in regmap config + - mtd: parsers: afs: Fix freeing the part name memory in failure + - f2fs: fix to avoid inconsistent quota data + - drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask() + - f2fs: fix a wrong condition in __submit_bio + - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs + - drm/mediatek: Check if fb is null + - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() + - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E + - locking/lockdep: Avoid unmatched unlock + - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during + system shutdown + - ASoC: SOF: debug: Fix a potential issue on string buffer termination + - btrfs: clarify error returns values in __load_free_space_cache + - btrfs: fix double accounting of ordered extent for subpage case in + btrfs_invalidapge + - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 + - drm/lima: fix reference leak in lima_pm_busy + - drm/dp_mst: Don't cache EDIDs for physical ports + - hwrng: timeriomem - Fix cooldown period calculation + - crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() + - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs + - nvmet-tcp: fix potential race of tcp socket closing accept_work + - nvmet: remove extra variable in identify ns + - nvmet: set status to 0 in case for invalid nsid + - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk + - ima: Free IMA measurement buffer on error + - ima: Free IMA measurement buffer after kexec syscall + - ASoC: simple-card-utils: Fix device module clock + - fs/jfs: fix potential integer overflow on shift of a int + - jffs2: fix use after free in jffs2_sum_write_data() + - ubifs: Fix memleak in ubifs_init_authentication + - ubifs: replay: Fix high stack usage, again + - ubifs: Fix error return code in alloc_wbufs() + - irqchip/imx: IMX_INTMUX should not default to y, unconditionally + - smp: Process pending softirqs in flush_smp_call_function_from_idle() + - drm/amdgpu/display: remove hdcp_srm sysfs on device removal + - HSI: Fix PM usage counter unbalance in ssi_hw_init + - power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression + - clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL + - clk: meson: clk-pll: make "ret" a signed integer + - clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate() + - regulator: qcom-rpmh-regulator: add pm8009-1 chip revision + - quota: Fix memory leak when handling corrupted quota file + - i2c: iproc: handle only slave interrupts which are enabled + - i2c: iproc: update slave isr mask (ISR_MASK_SLAVE) + - i2c: iproc: handle master read request + - spi: cadence-quadspi: Abort read if dummy cycles required are too many + - clk: sunxi-ng: h6: Fix CEC clock + - HID: core: detect and skip invalid inputs to snto32() + - RDMA/siw: Fix handling of zero-sized Read and Receive Queues. + - dmaengine: fsldma: Fix a resource leak in the remove function + - dmaengine: fsldma: Fix a resource leak in an error handling path of the + probe function + - dmaengine: owl-dma: Fix a resource leak in the remove function + - dmaengine: hsu: disable spurious interrupt + - mfd: bd9571mwv: Use devm_mfd_add_devices() + - power: supply: cpcap-charger: Fix missing power_supply_put() + - power: supply: cpcap-battery: Fix missing power_supply_put() + - power: supply: cpcap-charger: Fix power_supply_put on null battery pointer + - fdt: Properly handle "no-map" field in the memory region + - of/fdt: Make sure no-map does not remove already reserved regions + - RDMA/rtrs: Extend ibtrs_cq_qp_create + - RDMA/rtrs-srv: Release lock before call into close_sess + - RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect + - RDMA/rtrs-clt: Set mininum limit when create QP + - RDMA/rtrs: Call kobject_put in the failure path + - RDMA/rtrs-srv: Fix missing wr_cqe + - RDMA/rtrs-clt: Refactor the failure cases in alloc_clt + - RDMA/rtrs-srv: Init wr_cnt as 1 + - power: reset: at91-sama5d2_shdwc: fix wkupdbc mask + - rtc: s5m: select REGMAP_I2C + - dmaengine: idxd: set DMA channel to be private + - power: supply: fix sbs-charger build, needs REGMAP_I2C + - clocksource/drivers/ixp4xx: Select TIMER_OF when needed + - clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined + - RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation + - IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex + - clk: sunxi-ng: h6: Fix clock divider range on some clocks + - regulator: axp20x: Fix reference cout leak + - watch_queue: Drop references to /dev/watch_queue + - certs: Fix blacklist flag type confusion + - regulator: s5m8767: Fix reference count leak + - spi: atmel: Put allocated master before return + - regulator: s5m8767: Drop regulators OF node reference + - power: supply: axp20x_usb_power: Init work before enabling IRQs + - regulator: core: Avoid debugfs: Directory ... already present! error + - isofs: release buffer head before return + - watchdog: intel-mid_wdt: Postpone IRQ handler registration till SCU is ready + - auxdisplay: ht16k33: Fix refresh rate handling + - objtool: Fix error handling for STD/CLD warnings + - objtool: Fix ".cold" section suffix check for newer versions of GCC + - iommu: Switch gather->end to the inclusive end + - IB/umad: Return EIO in case of when device disassociated + - IB/umad: Return EPOLLERR in case of when device disassociated + - KVM: PPC: Make the VMX instruction emulation routines static + - powerpc/47x: Disable 256k page size + - powerpc/time: Enable sched clock for irqtime + - mmc: owl-mmc: Fix a resource leak in an error handling path and in the + remove function + - mmc: sdhci-sprd: Fix some resource leaks in the remove function + - mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe + - mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to + 128-bytes + - ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores + - i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct + - amba: Fix resource leak for drivers without .remove + - iommu: Move iotlb_sync_map out from __iommu_map + - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping + - IB/mlx5: Return appropriate error code instead of ENOMEM + - IB/cm: Avoid a loop when device has 255 ports + - tracepoint: Do not fail unregistering a probe due to memory failure + - rtc: zynqmp: depend on HAS_IOMEM + - perf tools: Fix DSO filtering when not finding a map for a sampled address + - perf vendor events arm64: Fix Ampere eMag event typo + - RDMA/rxe: Fix coding error in rxe_recv.c + - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt + - RDMA/rxe: Correct skb on loopback path + - spi: stm32: properly handle 0 byte transfer + - mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() + - powerpc/pseries/dlpar: handle ibm, configure-connector delay status + - powerpc/8xx: Fix software emulation interrupt + - clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs + - kunit: tool: fix unit test cleanup handling + - kselftests: dmabuf-heaps: Fix Makefile's inclusion of the kernel's + usr/include dir + - RDMA/hns: Fixed wrong judgments in the goto branch + - RDMA/siw: Fix calculation of tx_valid_cpus size + - RDMA/hns: Fix type of sq_signal_bits + - RDMA/hns: Disable RQ inline by default + - clk: divider: fix initialization with parent_hw + - spi: pxa2xx: Fix the controller numbering for Wildcat Point + - powerpc/uaccess: Avoid might_fault() when user access is enabled + - powerpc/kuap: Restore AMR after replaying soft interrupts + - regulator: qcom-rpmh: fix pm8009 ldo7 + - clk: aspeed: Fix APLL calculate formula from ast2600-A2 + - regulator: bd718x7, bd71828, Fix dvs voltage levels + - nfsd: register pernet ops last, unregister first + - ceph: fix flush_snap logic after putting caps + - RDMA/hns: Fixes missing error code of CMDQ + - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent + - RDMA/rtrs-srv: Fix stack-out-of-bounds + - RDMA/rtrs: Only allow addition of path to an already established session + - RDMA/rtrs-srv: fix memory leak by missing kobject free + - RDMA/rtrs-srv-sysfs: fix missing put_device + - RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR() + - Input: sur40 - fix an error code in sur40_probe() + - perf intel-pt: Fix missing CYC processing in PSB + - perf intel-pt: Fix premature IPC + - perf intel-pt: Fix IPC with CYC threshold + - perf test: Fix unaligned access in sample parsing test + - Input: elo - fix an error code in elo_connect() + - sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set + - sparc: fix led.c driver when PROC_FS is not enabled + - ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled + - misc: eeprom_93xx46: Fix module alias to enable module autoprobe + - phy: rockchip-emmc: emmc_phy_init() always return 0 + - misc: eeprom_93xx46: Add module alias to avoid breaking support for non + device tree users + - PCI: rcar: Always allocate MSI addresses in 32bit space + - soundwire: cadence: fix ACK/NAK handling + - pwm: rockchip: Enable APB clock during register access while probing + - pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() + - pwm: rockchip: Eliminate potential race condition when probing + - VMCI: Use set_page_dirty_lock() when unregistering guest memory + - PCI: Align checking of syscall user config accessors + - mei: hbm: call mei_set_devstate() on hbm stop response + - drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) + - drm/msm/mdp5: Fix wait-for-commit for cmd panels + - drm/msm: Fix race of GPU init vs timestamp power management. + - drm/msm: Fix races managing the OOB state for timestamp vs timestamps. + - vfio/iommu_type1: Populate full dirty when detach non-pinned group + - vfio/iommu_type1: Fix some sanity checks in detach group + - ext4: fix potential htree index checksum corruption + - nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of() + - nvmem: core: skip child nodes not matching binding + - soundwire: bus: use sdw_update_no_pm when initializing a device + - soundwire: export sdw_write/read_no_pm functions + - soundwire: bus: fix confusion on device used by pm_runtime + - misc: fastrpc: fix incorrect usage of dma_map_sgtable + - regmap: sdw: use _no_pm functions in regmap_read/write + - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it + - mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL + - PCI: pci-bridge-emul: Fix array overruns, improve safety + - i40e: Fix flow for IPv6 next header (extension header) + - i40e: Add zero-initialization of AQ command structures + - i40e: Fix overwriting flow control settings during driver loading + - i40e: Fix addition of RX filters after enabling FW LLDP agent + - i40e: Fix VFs not created + - Take mmap lock in cacheflush syscall + - i40e: Fix add TC filter for IPv6 + - octeontx2-af: Fix an off by one in rvu_dbg_qsize_write() + - vfio/type1: Use follow_pte() + - ice: report correct max number of TCs + - ice: Account for port VLAN in VF max packet size calculation + - ice: Fix state bits on LLDP mode switch + - ice: update the number of available RSS queues + - net: stmmac: fix CBS idleslope and sendslope calculation + - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() + - vxlan: move debug check after netdev unregister + - wireguard: device: do not generate ICMP for non-IP packets + - wireguard: kconfig: use arm chacha even with no neon + - ocfs2: fix a use after free on error + - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving + - mm/memory.c: fix potential pte_unmap_unlock pte error + - mm/hugetlb: fix potential double free in hugetlb_register_node() error path + - mm/hugetlb: suppress wrong warning info when alloc gigantic page + - mm/compaction: fix misbehaviors of fast_find_migrateblock() + - r8169: fix jumbo packet handling on RTL8168e + - arm64: Add missing ISB after invalidating TLB in __primary_switch + - i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition + - i2c: exynos5: Preserve high speed master code + - mm,thp,shmem: make khugepaged obey tmpfs mount flags + - mm/rmap: fix potential pte_unmap on an not mapped pte + - proc: use kvzalloc for our kernel buffer + - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors + - ide/falconide: Fix module unload + - scsi: sd: Fix Opal support + - blk-settings: align max_sectors on "logical_block_size" boundary + - soundwire: intel: fix possible crash when no device is detected + - ACPI: property: Fix fwnode string properties matching + - ACPI: configfs: add missing check after configfs_register_default_group() + - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known + - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming + - HID: wacom: Ignore attempts to overwrite the touch_max value from HID + - Input: raydium_ts_i2c - do not send zero length + - Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox + Series X|S + - Input: joydev - prevent potential read overflow in ioctl + - Input: i8042 - add ASUS Zenbook Flip to noselftest list + - media: mceusb: Fix potential out-of-bounds shift + - USB: serial: option: update interface mapping for ZTE P685M + - usb: musb: Fix runtime PM race in musb_queue_resume_work + - USB: serial: ftdi_sio: fix FTX sub-integer prescaler + - USB: serial: pl2303: fix line-speed handling on newer chips + - USB: serial: mos7840: fix error code in mos7840_write() + - USB: serial: mos7720: fix error code in mos7720_write() + - phy: lantiq: rcu-usb2: wait after clock enable + - ALSA: fireface: fix to parse sync status register of latter protocol + - ALSA: hda: Add another CometLake-H PCI ID + - ALSA: hda/hdmi: Drop bogus check at closing a stream + - ALSA: hda/realtek: modify EAPD in the ALC886 + - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup + - MIPS: Ingenic: Disable HPTLB for D0 XBurst CPUs too + - MIPS: Support binutils configured with --enable-mips-fix-loongson3-llsc=yes + - MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target=' + - Revert "MIPS: Octeon: Remove special handling of + CONFIG_MIPS_ELF_APPENDED_DTB=y" + - Revert "bcache: Kill btree_io_wq" + - bcache: Give btree_io_wq correct semantics again + - bcache: Move journal work to new flush wq + - Revert "drm/amd/display: Update NV1x SR latency values" + - drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth() + - drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1 + - drm/amdkfd: Fix recursive lock warnings + - drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2) + - drm/nouveau/kms: handle mDP connectors + - drm/modes: Switch to 64bit maths to avoid integer overflow + - drm/sched: Cancel and flush all outstanding jobs before finish. + - drm/panel: kd35t133: allow using non-continuous dsi clock + - drm/rockchip: Require the YTR modifier for AFBC + - ASoC: siu: Fix build error by a wrong const prefix + - selinux: fix inconsistency between inode_getxattr and inode_listsecurity + - erofs: initialized fields can only be observed after bit is set + - tpm_tis: Fix check_locality for correct locality acquisition + - tpm_tis: Clean up locality release + - KEYS: trusted: Fix incorrect handling of tpm_get_random() + - KEYS: trusted: Fix migratable=1 failing + - KEYS: trusted: Reserve TPM for seal and unseal operations + - btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node + - btrfs: do not warn if we can't find the reloc root when looking up backref + - btrfs: add asserts for deleting backref cache nodes + - btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root + - btrfs: fix reloc root leak with 0 ref reloc roots on recovery + - btrfs: splice remaining dirty_bg's onto the transaction dirty bg list + - btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself + - btrfs: account for new extents being deleted in total_bytes_pinned + - btrfs: fix extent buffer leak on failure to copy root + - drm/i915/gt: Flush before changing register state + - drm/i915/gt: Correct surface base address for renderclear + - crypto: arm64/sha - add missing module aliases + - crypto: aesni - prevent misaligned buffers on the stack + - crypto: michael_mic - fix broken misalignment handling + - crypto: sun4i-ss - checking sg length is not sufficient + - crypto: sun4i-ss - handle BigEndian for cipher + - crypto: sun4i-ss - initialize need_fallback + - soc: samsung: exynos-asv: don't defer early on not-supported SoCs + - soc: samsung: exynos-asv: handle reading revision register error + - seccomp: Add missing return in non-void function + - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) + - misc: rtsx: init of rts522a add OCP power off when no card is present + - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue + - pstore: Fix typo in compression option name + - dts64: mt7622: fix slow sd card access + - arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2 + - staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c + - staging: gdm724x: Fix DMA from stack + - staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table + - media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt() + - media: smipcie: fix interrupt handling and IR timeout + - x86/virt: Eat faults on VMXOFF in reboot flows + - x86/reboot: Force all cpus to exit VMX root if VMX is supported + - x86/fault: Fix AMD erratum #91 errata fixup for user code + - x86/entry: Fix instrumentation annotation + - powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan + - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers + - rcu/nocb: Perform deferred wake up before last idle's need_resched() check + - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 + - arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() + fails + - arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing + - arm64 module: set plt* section addresses to 0x0 + - arm64: spectre: Prevent lockdep splat on v4 mitigation enable path + - riscv: Disable KSAN_SANITIZE for vDSO + - watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ + - watchdog: mei_wdt: request stop on unregister + - coresight: etm4x: Handle accesses to TRCSTALLCTLR + - mtd: spi-nor: sfdp: Fix last erase region marking + - mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region + - mtd: spi-nor: core: Fix erase type discovery for overlaid region + - mtd: spi-nor: core: Add erase size check for erase command initialization + - mtd: spi-nor: hisi-sfc: Put child node np on error path + - fs/affs: release old buffer head on error path + - seq_file: document how per-entry resources are managed. + - x86: fix seq_file iteration for pat/memtype.c + - mm: memcontrol: fix swap undercounting in cgroup2 + - hugetlb: fix update_and_free_page contig page struct assumption + - hugetlb: fix copy_huge_page_from_user contig page struct assumption + - mm/vmscan: restore zone_reclaim_mode ABI + - mm, compaction: make fast_isolate_freepages() stay within zone + - nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer + - module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols + - mmc: sdhci-esdhc-imx: fix kernel panic when remove module + - powerpc/32s: Add missing call to kuep_lock on syscall entry + - spmi: spmi-pmic-arb: Fix hw_irq overflow + - mei: me: emmitsburg workstation DID + - mei: me: add adler lake point S DID + - mei: me: add adler lake point LP DID + - gpio: pcf857x: Fix missing first interrupt + - mfd: gateworks-gsc: Fix interrupt type + - printk: fix deadlock when kernel panic + - exfat: fix shift-out-of-bounds in exfat_fill_super() + - zonefs: Fix file size of zones in full condition + - [Config] updateconfigs for KCMP + - kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE + - thermal: cpufreq_cooling: freq_qos_update_request() returns < 0 on error + - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument + - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if + available + - proc: don't allow async path resolution of /proc/thread-self components + - s390/vtime: fix inline assembly clobber list + - virtio/s390: implement virtio-ccw revision 2 correctly + - um: mm: check more comprehensively for stub changes + - um: defer killing userspace on page table update failures + - irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap + - f2fs: fix out-of-repair __setattr_copy() + - f2fs: enforce the immutable flag on open files + - f2fs: flush data when enabling checkpoint back + - sparc32: fix a user-triggerable oops in clear_user() + - spi: fsl: invert spisel_boot signal on MPC8309 + - spi: spi-synquacer: fix set_cs handling + - gfs2: fix glock confusion in function signal_our_withdraw + - gfs2: Don't skip dlm unlock if glock has an lvb + - gfs2: Lock imbalance on error path in gfs2_recover_one + - gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end + - dm: fix deadlock when swapping to encrypted device + - dm writecache: fix performance degradation in ssd mode + - dm writecache: return the exact table values that were set + - dm writecache: fix writing beyond end of underlying device when shrinking + - dm era: Recover committed writeset after crash + - dm era: Update in-core bitset after committing the metadata + - dm era: Verify the data block size hasn't changed + - dm era: Fix bitset memory leaks + - dm era: Use correct value size in equality function of writeset tree + - dm era: Reinitialize bitset cache before digesting a new writeset + - dm era: only resize metadata in preresume + - drm/i915: Reject 446-480MHz HDMI clock on GLK + - kgdb: fix to kill breakpoints on initmem after boot + - wireguard: selftests: test multiple parallel streams + - wireguard: queueing: get rid of per-peer ring buffers + - net: sched: fix police ext initialization + - net: qrtr: Fix memory leak in qrtr_tun_open + - ARM: dts: aspeed: Add LCLK to lpc-snoop + - ipv6: icmp6: avoid indirect call for icmpv6_send() + * Mute/Mic-mute LEDs are not work on HP 850/840/440 G8 Laptops (LP: #1920030) + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 + - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 + * Groovy update: upstream stable patchset 2021-03-19 (LP: #1920571) + - af_key: relax availability checks for skb size calculation + - regulator: core: avoid regulator_resolve_supply() race condition + - ASoC: wm_adsp: Fix control name parsing for multi-fw + - mac80211: 160MHz with extended NSS BW in CSA + - ASoC: Intel: Skylake: Zero snd_ctl_elem_value + - chtls: Fix potential resource leak + - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() + - pNFS/NFSv4: Improve rejection of out-of-order layouts + - ALSA: hda: intel-dsp-config: add PCI id for TGL-H + - ASoC: ak4458: correct reset polarity + - ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E + - iwlwifi: mvm: skip power command when unbinding vif during CSA + - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() + - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap + - iwlwifi: pcie: fix context info memory leak + - iwlwifi: mvm: invalidate IDs of internal stations at mvm start + - iwlwifi: pcie: add rules to match Qu with Hr2 + - iwlwifi: mvm: guard against device removal in reprobe + - SUNRPC: Move simple_get_bytes and simple_get_netobj into private header + - SUNRPC: Handle 0 length opaque XDR object data properly + - i2c: mediatek: Move suspend and resume handling to NOIRQ phase + - blk-cgroup: Use cond_resched() when destroy blkgs + - regulator: Fix lockdep warning resolving supplies + - bpf: Fix verifier jmp32 pruning decision logic + - bpf: Fix verifier jsgt branch analysis on max bound + - drm/i915: Fix ICL MG PHY vswing handling + - drm/i915: Skip vswing programming for TBT + - nilfs2: make splice write available again + - squashfs: avoid out of bounds writes in decompressors + - squashfs: add more sanity checks in id lookup + - squashfs: add more sanity checks in inode lookup + - squashfs: add more sanity checks in xattr id lookup + - gpio: mxs: GPIO_MXS should not default to y unconditionally + - gpio: ep93xx: fix BUG_ON port F usage + - gpio: ep93xx: Fix single irqchip with multi gpiochips + - tracing: Do not count ftrace events in top level enable output + - tracing: Check length before giving out the filter buffer + - drm/i915: Fix overlay frontbuffer tracking + - arm/xen: Don't probe xenbus as part of an early initcall + - cgroup: fix psi monitor for root cgroup + - drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it + - drm/dp_mst: Don't report ports connected if nothing is attached to them + - dmaengine: move channel device_node deletion to driver + - soc: ti: omap-prm: Fix boot time errors for rst_map_012 bits 0 and 1 + - arm64: dts: rockchip: Fix PCIe DT properties on rk3399 + - arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc + - ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled + - arm64: dts: rockchip: remove interrupt-names property from rk3399 vdec node + - platform/x86: hp-wmi: Disable tablet-mode reporting by default + - ovl: perform vfs_getxattr() with mounter creds + - cap: fix conversions on getxattr + - ovl: skip getxattr of security labels + - scsi: lpfc: Fix EEH encountering oops with NVMe traffic + - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder + Lake CPUs + - x86/split_lock: Enable the split lock feature on another Alder Lake CPU + - nvme-pci: ignore the subsysem NQN on Phison E16 + - drm/amd/display: Fix DPCD translation for LTTPR AUX_RD_INTERVAL + - drm/amd/display: Add more Clock Sources to DCN2.1 + - drm/amd/display: Release DSC before acquiring + - drm/amd/display: Fix dc_sink kref count in emulated_link_detect + - drm/amd/display: Free atomic state after drm_atomic_commit + - drm/amd/display: Decrement refcount of dc_sink before reassignment + - riscv: virt_addr_valid must check the address belongs to linear mapping + - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL + - kallsyms: fix nonconverging kallsyms table with lld + - ARM: ensure the signal page contains defined contents + - ARM: kexec: fix oops after TLB are invalidated + - ubsan: implement __ubsan_handle_alignment_assumption + - x86/efi: Remove EFI PGD build time checks + - lkdtm: don't move ctors to .rodata + - cgroup-v1: add disabled controller check in cgroup1_parse_param() + - mt76: dma: fix a possible memory leak in mt76_add_fragment() + - drm/vc4: hvs: Fix buffer overflow with the dlist handling + - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 + - bpf: Check for integer overflow when using roundup_pow_of_two() + - netfilter: xt_recent: Fix attempt to update deleted entry + - netfilter: nftables: fix possible UAF over chains from packet path in netns + - netfilter: flowtable: fix tcp and udp header checksum update + - xen/netback: avoid race in xenvif_rx_ring_slots_available() + - net: hdlc_x25: Return meaningful error code in x25_open + - net: ipa: set error code in gsi_channel_setup() + - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() + - net: enetc: initialize the RFS and RSS memories + - selftests: txtimestamp: fix compilation issue + - net: stmmac: set TxQ mode back to DCB after disabling CBS + - ibmvnic: Clear failover_pending if unable to schedule + - netfilter: conntrack: skip identical origin tuple in same zone only + - scsi: scsi_debug: Fix a memory leak + - x86/build: Disable CET instrumentation in the kernel for 32-bit too + - net: hns3: add a check for queue_id in hclge_reset_vf_queue() + - net: hns3: add a check for tqp_index in hclge_get_ring_chain_from_mbx() + - net: hns3: add a check for index in hclge_get_rss_key() + - firmware_loader: align .builtin_fw to 8 + - drm/sun4i: tcon: set sync polarity for tcon1 channel + - drm/sun4i: dw-hdmi: always set clock rate + - drm/sun4i: Fix H6 HDMI PHY configuration + - drm/sun4i: dw-hdmi: Fix max. frequency for H6 + - clk: sunxi-ng: mp: fix parent rate change flag check + - i2c: stm32f7: fix configuration of the digital filter + - h8300: fix PREEMPTION build, TI_PRE_COUNT undefined + - scripts: set proper OpenSSL include dir also for sign-file + - rxrpc: Fix clearance of Tx/Rx ring when releasing a call + - udp: fix skb_copy_and_csum_datagram with odd segment sizes + - net: dsa: call teardown method on probe failure + - cpufreq: ACPI: Extend frequency tables to cover boost frequencies + - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not + there + - net: gro: do not keep too many GRO packets in napi->rx_list + - net: fix iteration for sctp transport seq_files + - net/vmw_vsock: fix NULL pointer dereference + - net/vmw_vsock: improve locking in vsock_connect_timeout() + - net: watchdog: hold device global xmit lock during tx disable + - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state + - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT + - vsock/virtio: update credit only if socket is not closed + - vsock: fix locking in vsock_shutdown() + - net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS + - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() + - ovl: expand warning in ovl_d_real() + - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq + - usb: dwc3: ulpi: fix checkpatch warning + - net: qrtr: Fix port ID for control messages + - mptcp: skip to next candidate if subflow has unacked data + - mt76: mt7915: fix endian issues + - mt76: mt7615: fix rdd mcu cmd endianness + - net: sched: incorrect Kconfig dependencies on Netfilter modules + - net: openvswitch: fix TTL decrement exception action execution + - net: bridge: Fix a warning when del bridge sysfs + - net: fix proc_fs init handling in af_packet and tls + - Xen/x86: don't bail early from clear_foreign_p2m_mapping() + - Xen/x86: also check kernel mapping in set_foreign_p2m_mapping() + - Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages() + - Xen/gntdev: correct error checking in gntdev_map_grant_pages() + - xen/arm: don't ignore return errors from set_phys_to_machine + - xen-blkback: don't "handle" error by BUG() + - xen-netback: don't "handle" error by BUG() + - xen-scsiback: don't "handle" error by BUG() + - xen-blkback: fix error handling in xen_blkbk_map() + - tty: protect tty_write from odd low-level tty disciplines + - btrfs: fix backport of 2175bf57dc952 in 5.10.13 + - media: pwc: Use correct device for DMA + - HID: make arrays usage and value to be the same + - RDMA: Lift ibdev_to_node from rds to common code + - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device + - USB: quirks: sort quirk entries + - usb: quirks: add quirk to start video capture on ELMO L-12F document camera + reliable + - ceph: downgrade warning from mdsmap decode to debug + - ntfs: check for valid standard information attribute + - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working + - arm64: tegra: Add power-domain for Tegra210 HDA + - hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist + - mm: unexport follow_pte_pmd + - mm: simplify follow_pte{,pmd} + - KVM: do not assume PTE is writable after follow_pfn + - mm: provide a saner PTE walking API for modules + - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() + - NET: usb: qmi_wwan: Adding support for Cinterion MV31 + - cxgb4: Add new T6 PCI device id 0x6092 + - kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 + - scripts/recordmcount.pl: support big endian for ARCH sh + * Groovy update: upstream stable patchset 2021-03-12 (LP: #1918987) + - net: fec: put child node on error path + - net: octeontx2: Make sure the buffer is 128 byte aligned + - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing + - net: dsa: bcm_sf2: put device node before return + - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP + - ibmvnic: Ensure that CRQ entry read are correctly ordered + - iommu/io-pgtable-arm: Support coherency for Mali LPAE + - drm/panfrost: Support cache-coherent integrations + - arm64: dts: meson: Describe G12b GPU as coherent + - arm64: Fix kernel address detection of __is_lm_address() + - arm64: Do not pass tagged addresses to __is_lm_address() + - ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD + - iommu/vt-d: Do not use flush-queue when caching-mode is on + - phy: cpcap-usb: Fix warning for missing regulator_disable + - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency + - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or + base_frequency + - platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on + Estar Beauty HD tablet + - platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352 + - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP + - x86: __always_inline __{rd,wr}msr() + - scsi: scsi_transport_srp: Don't block target in failfast state + - scsi: libfc: Avoid invoking response handler twice if ep is already + completed + - scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 + - ALSA: hda - add Intel DG1 PCI and HDMI ids + - ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid + - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid + - objtool: Don't add empty symbols to the rbtree + - mac80211: fix incorrect strlen of .write in debugfs + - mac80211: fix fast-rx encryption check + - scsi: ibmvfc: Set default timeout to avoid crash during migration + - i2c: tegra: Create i2c_writesl_vi() to use with VI I2C for filling TX FIFO + - udf: fix the problem that the disc content is not displayed + - nvme: check the PRINFO bit before deciding the host buffer length + - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout + - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout + - nvme-pci: allow use of cmb on v1.4 controllers + - nvmet: set right status on error in id-ns handler + - platform/x86: thinkpad_acpi: Add P53/73 firmware to fan_quirk_table for dual + fan control + - selftests/powerpc: Only test lwm/stmw on big endian + - drm/amd/display: Update dram_clock_change_latency for DCN2.1 + - drm/amd/display: Change function decide_dp_link_settings to avoid infinite + looping + - drm/amd/display: Use hardware sequencer functions for PG control + - objtool: Don't fail the kernel build on fatal errors + - x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel + CPU family + - x86/cpu: Add another Alder Lake CPU to the Intel family + - kthread: Extract KTHREAD_IS_PER_CPU + - workqueue: Restrict affinity change to rescuer + - Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT"" + - ACPI: thermal: Do not call acpi_thermal_check() directly + - USB: serial: cp210x: add pid/vid for WSDA-200-USB + - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 + - USB: serial: option: Adding support for Cinterion MV31 + - usb: host: xhci-plat: add priv quirk for skip PHY initialization + - usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 + - USB: gadget: legacy: fix an error code in eth_bind() + - usb: gadget: aspeed: add missing of_node_put + - USB: usblp: don't call usb_set_interface if there's a single alt + - usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop() + - usb: dwc2: Fix endpoint direction check in ep_from_windex + - usb: dwc3: fix clock issue during resume in OTG mode + - usb: xhci-mtk: fix unreleased bandwidth data + - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints + - usb: xhci-mtk: break loop when find the endpoint to drop + - ARM: OMAP1: OSK: fix ohci-omap breakage + - arm64: dts: qcom: c630: keep both touchpad devices enabled + - arm64: dts: amlogic: meson-g12: Set FL-adj property value + - arm64: dts: rockchip: fix vopl iommu irq on px30 + - arm64: dts: rockchip: Use only supported PCIe link speed on Pinebook Pro + - ARM: dts: stm32: Connect card-detect signal on DHCOM + - ARM: dts: stm32: Disable WP on DHCOM uSD slot + - um: virtio: free vu_dev only with the contained struct device + - arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4 + - r8169: work around RTL8125 UDP hw bug + - rxrpc: Fix deadlock around release of dst cached on udp tunnel + - arm64: dts: ls1046a: fix dcfg address range + - SUNRPC: Fix NFS READs that start at non-page-aligned offsets + - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr + - igc: check return value of ret_val in igc_config_fc_after_link_up + - i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" + - ibmvnic: device remove has higher precedence over reset + - net/mlx5: Fix leak upon failure of rule creation + - net/mlx5e: Update max_opened_tc also when channels are closed + - net/mlx5e: Release skb in case of failure in tc update skb + - net: lapb: Copy the skb before sending a packet + - net: mvpp2: TCAM entry enable should be written after SRAM data + - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set + - net: ipa: pass correct dma_handle to dma_free_coherent() + - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode + - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs + - memblock: do not start bottom-up allocations with kernel_end + - ovl: fix dentry leak in ovl_get_redirect + - mac80211: fix station rate table updates on assoc + - gpiolib: free device name on error path to fix kmemleak + - fgraph: Initialize tracing_graph_pause at task creation + - tracing/kprobe: Fix to support kretprobe events on unloaded modules + - kretprobe: Avoid re-registration of the same kretprobe earlier + - tracing: Use pause-on-trace with the latency tracers + - libnvdimm/namespace: Fix visibility of namespace resource attribute + - libnvdimm/dimm: Avoid race between probe and available_slots_show() + - genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 + - genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set + - scripts: use pkg-config to locate libcrypto + - xhci: fix bounce buffer usage for non-sg list case + - RISC-V: Define MAXPHYSMEM_1GB only for RV32 + - cifs: report error instead of invalid when revalidating a dentry fails + - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it + - smb3: Fix out-of-bounds bug in SMB2_negotiate() + - smb3: fix crediting for compounding when only one request in flight + - mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb + - mmc: core: Limit retries when analyse of SDIO tuples fails + - Fix unsynchronized access to sev members through svm_register_enc_region + - drm/i915/display: Prevent double YUV range correction on HDR planes + - drm/i915: Extract intel_ddi_power_up_lanes() + - drm/i915: Power up combo PHY lanes for for HDMI as well + - drm/amd/display: Revert "Fix EDID parsing after resume from suspend" + - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs + - KVM: SVM: Treat SVM as unsupported when running as an SEV guest + - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off + - KVM: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl + - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode + - DTS: ARM: gta04: remove legacy spi-cs-high to make display work again + - ARM: dts; gta04: SPI panel chip select is active low + - ARM: footbridge: fix dc21285 PCI configuration accessors + - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page + - mm: hugetlb: fix a race between freeing and dissolving the page + - mm: hugetlb: fix a race between isolating and freeing page + - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active + - mm, compaction: move high_pfn to the for loop scope + - mm: thp: fix MADV_REMOVE deadlock on shmem THP + - mm/filemap: add missing mem_cgroup_uncharge() to + __add_to_page_cache_locked() + - x86/build: Disable CET instrumentation in the kernel + - x86/debug: Fix DR6 handling + - x86/debug: Prevent data breakpoints on __per_cpu_offset + - x86/debug: Prevent data breakpoints on cpu_dr7 + - x86/apic: Add extra serialization for non-serializing MSRs + - Input: goodix - add support for Goodix GT9286 chip + - Input: xpad - sync supported devices with fork on GitHub + - Input: ili210x - implement pressure reporting for ILI251x + - md: Set prev_flush_start and flush_bio in an atomic way + - neighbour: Prevent a dead entry from updating gc_list + - net: ip_tunnel: fix mtu calculation + - udp: ipv4: manipulate network header of NATed UDP GRO fraglist + - net: dsa: mv88e6xxx: override existent unicast portvec in port_fdb_add + - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace + - iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues + * power off stress test will hang on the TGL machines (LP: #1919930) + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + * eeh-basic.sh from powerpc in ubuntu_kernel_selftests failed with unexpected + operator on F-5.8 (LP: #1909428) + - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant + + -- Stefan Bader Tue, 20 Apr 2021 11:42:28 +0200 + +linux-riscv-5.8 (5.8.0-22.24~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-22.24 ] + + * overlayfs calls vfs_setxattr without cap_convert_nscap + - vfs: move cap_convert_nscap() call into vfs_setxattr() + * 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 + * CVE-2021-29154 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-64 + - SAUCE: bpf, x86: Validate computation of branch displacements for x86-32 + + -- Thadeu Lima de Souza Cascardo Mon, 12 Apr 2021 22:13:45 -0300 + +linux-riscv-5.8 (5.8.0-21.23~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-21.23~20.04.1 -proposed tracker (LP: #1921050) + + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - [Config] riscv-5.8: prepare for bdc_pci being dropped + + [ Ubuntu: 5.8.0-21.23 ] + + * groovy/linux-riscv: 5.8.0-21.23 -proposed tracker (LP: #1921051) + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - [Config] riscv: Update policy for BDC_PCI changes + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - Revert "SiFive Unleashed CPUFreq" + - [Config] Update annotations for CPUFreq revert + - [Config] riscv: Updateconfigs after recent changes + * groovy/linux: 5.8.0-49.55 -proposed tracker (LP: #1921053) + * selftests: bpf verifier fails after sanitize_ptr_alu fixes (LP: #1920995) + - bpf: Simplify alu_limit masking for pointer arithmetic + - bpf: Add sanity check for upper ptr_limit + - bpf, selftests: Fix up some test_verifier cases for unprivileged + * Packaging resync (LP: #1786013) + - update dkms package versions + * improper memcg accounting causes NULL pointer derefs (LP: #1918668) + - SAUCE: Revert "mm: memcg/slab: optimize objcg stock draining" + * kernel: Enable CONFIG_BPF_LSM on Ubuntu (LP: #1905975) + - [Config] Enable CONFIG_BPF_LSM + * Groovy update: upstream stable patchset 2021-03-10 (LP: #1918516) + - gpio: mvebu: fix pwm .get_state period calculation + - HID: wacom: Correct NULL dereference on AES pen proximity + - media: v4l2-subdev.h: BIT() is not available in userspace + - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC + - kernel/io_uring: cancel io_uring before task works + - io_uring: dont kill fasync under completion_lock + - objtool: Don't fail on missing symbol table + - mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint + - mm: fix a race on nr_swap_pages + - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions + - iwlwifi: provide gso_type to GSO packets + - tty: avoid using vfs_iocb_iter_write() for redirected console writes + - ACPI: sysfs: Prefer "compatible" modalias + - kernel: kexec: remove the lock operation of system_transition_mutex + - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 + - ALSA: hda/via: Apply the workaround generically for Clevo machines + - parisc: Enable -mlong-calls gcc option by default when !CONFIG_MODULES + - media: cec: add stm32 driver + - media: hantro: Fix reset_raw_fmt initialization + - media: rc: fix timeout handling after switch to microsecond durations + - media: rc: ite-cir: fix min_timeout calculation + - media: rc: ensure that uevent can be read directly after rc device register + - ARM: dts: tbs2910: rename MMC node aliases + - ARM: dts: ux500: Reserve memory carveouts + - ARM: dts: imx6qdl-gw52xx: fix duplicate regulator naming + - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() + - ASoC: AMD Renoir - refine DMI entries for some Lenovo products + - drm/i915: Always flush the active worker before returning from the wait + - drm/i915/gt: Always try to reserve GGTT address 0x0 + - drivers/nouveau/kms/nv50-: Reject format modifiers for cursor planes + - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family + - s390: uv: Fix sysfs max number of VCPUs reporting + - s390/vfio-ap: No need to disable IRQ after queue reset + - PM: hibernate: flush swap writer after marking + - x86/entry: Emit a symbol for register restoring thunk + - efi/apple-properties: Reinstate support for boolean properties + - drivers: soc: atmel: Avoid calling at91_soc_init on non AT91 SoCs + - drivers: soc: atmel: add null entry at the end of at91_soc_allowed_list[] + - btrfs: fix possible free space tree corruption with online conversion + - KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in + intel_arch_events[] + - KVM: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() + - KVM: nVMX: Sync unsync'd vmcs02 state to vmcs12 on migration + - KVM: x86: get smi pending status correctly + - KVM: Forbid the use of tagged userspace addresses for memslots + - xen: Fix XenStore initialisation for XS_LOCAL + - leds: trigger: fix potential deadlock with libata + - arm64: dts: broadcom: Fix USB DMA address translation for Stingray + - mt7601u: fix kernel crash unplugging the device + - mt7601u: fix rx buffer refcounting + - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. + - drm/i915/gt: Clear CACHE_MODE prior to clearing residuals + - drm/i915/pmu: Don't grab wakeref when enabling events + - net/mlx5e: Fix IPSEC stats + - ARM: dts: imx6qdl-kontron-samx6i: fix pwms for lcd-backlight + - drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices + - drm/i915: Check for all subplatform bits + - drm/i915/selftest: Fix potential memory leak + - uapi: fix big endian definition of ipv6_rpl_sr_hdr + - KVM: Documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM + - tee: optee: replace might_sleep with cond_resched + - xen-blkfront: allow discard-* nodes to be optional + - clk: mmp2: fix build without CONFIG_PM + - clk: qcom: gcc-sm250: Use floor ops for sdcc clks + - ARM: imx: build suspend-imx6.S with arm instruction set + - ARM: zImage: atags_to_fdt: Fix node names on added root nodes + - netfilter: nft_dynset: add timeout extension to template + - Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" + - xfrm: Fix oops in xfrm_replay_advance_bmp + - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces + - xfrm: Fix wraparound in xfrm_policy_addr_delta() + - arm64: dts: ls1028a: fix the offset of the reset register + - ARM: dts: imx6qdl-kontron-samx6i: fix i2c_lcd/cam default status + - ARM: dts: imx6qdl-sr-som: fix some cubox-i platforms + - arm64: dts: imx8mp: Correct the gpio ranges of gpio3 + - firmware: imx: select SOC_BUS to fix firmware build + - RDMA/cxgb4: Fix the reported max_recv_sge value + - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete + - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() + - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn + - iwlwifi: pcie: set LTR on more devices + - iwlwifi: pcie: use jiffies for memory read spin time limit + - iwlwifi: pcie: reschedule in long-running memory reads + - mac80211: pause TX while changing interface type + - ice: fix FDir IPv6 flexbyte + - ice: Implement flow for IPv6 next header (extension header) + - ice: update dev_addr in ice_set_mac_address even if HW filter exists + - ice: Don't allow more channels than LAN MSI-X available + - ice: Fix MSI-X vector fallback logic + - i40e: acquire VSI pointer only after VF is initialized + - igc: fix link speed advertising + - net/mlx5: Fix memory leak on flow table creation error flow + - net/mlx5e: E-switch, Fix rate calculation for overflow + - net/mlx5e: free page before return + - net/mlx5e: Reduce tc unsupported key print level + - net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled + - net/mlx5e: Fix CT rule + encap slow path offload and deletion + - net/mlx5e: Correctly handle changing the number of queues when the interface + is down + - net/mlx5e: Revert parameters on errors when changing trust state without + reset + - net/mlx5e: Revert parameters on errors when changing MTU and LRO state + without reset + - can: dev: prevent potential information leak in can_fill_info() + - ACPI/IORT: Do not blindly trust DMA masks from firmware + - iommu/amd: Use IVHD EFR for early initialization of IOMMU features + - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() + - nvme-multipath: Early exit if no path is available + - selftests: forwarding: Specify interface when invoking mausezahn + - rxrpc: Fix memory leak in rxrpc_lookup_local + - NFC: fix resource leak when target index is invalid + - NFC: fix possible resource leak + - ASoC: topology: Properly unregister DAI on removal + - ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() + - team: protect features update by RCU to avoid deadlock + - tcp: make TCP_USER_TIMEOUT accurate for zero window probes + - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN + - ICMPv6: Add ICMPv6 Parameter Problem, code 3 definition + - IPv6: reply ICMP error if the first fragment don't include all headers + - iommu/vt-d: Gracefully handle DMAR units with no supported address widths + * xfrm_policy.sh in net from ubuntu_kernel_selftests passed with failed sub- + cases (LP: #1909647) + - selftests: xfrm: fix test return value override issue in xfrm_policy.sh + * CVE-2021-3347 + - futex: Remove put_futex_key() + - futex: Remove needless goto's + - futex: Replace pointless printk in fixup_owner() + - futex: Ensure the correct return value from futex_lock_pi() + - futex: Provide and use pi_state_update_owner() + - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() + - futex: Use pi_state_update_owner() in put_pi_state() + - futex: Simplify fixup_pi_state_owner() + - futex: Handle faults correctly for PI futexes + * CVE-2021-3348 + - nbd: freeze the queue while we're adding connections + * [Regression] ubuntu_bpf failed to build on Groovy (LP: #1917609) + - SAUCE: partially revert "bpf: Zero-fill re-used per-cpu map element" + * alsa/hda: the hdmi audio dosn't work on TGL machines (LP: #1917829) + - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically + * Groovy update: upstream stable patchset 2021-03-05 (LP: #1917964) + - mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload + - i2c: bpmp-tegra: Ignore unknown I2C_M flags + - platform/x86: i2c-multi-instantiate: Don't create platform device for + INT3515 ACPI nodes + - platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634 + - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() + - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T + - ALSA: hda/via: Add minimum mute flag + - dm crypt: fix copy and paste bug in crypt_alloc_req_aead + - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error + - btrfs: don't get an EINTR during drop_snapshot for reloc + - btrfs: do not double free backref nodes on error + - btrfs: fix lockdep splat in btrfs_recover_relocation + - btrfs: don't clear ret in btrfs_start_dirty_block_groups + - btrfs: send: fix invalid clone operations when cloning from the same file + and root + - writeback: Drop I_DIRTY_TIME_EXPIRE + - fs: fix lazytime expiration handling in __writeback_single_inode() + - pinctrl: ingenic: Fix JZ4760 support + - mmc: core: don't initialize block size from ext_csd if not present + - mmc: sdhci-of-dwcmshc: fix rpmb access + - mmc: sdhci-xenon: fix 1.8v regulator stabilization + - mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend + - dm: avoid filesystem lookup in dm_get_dev_t() + - dm integrity: fix a crash if "recalculate" used without "internal_hash" + - dm integrity: conditionally disable "recalculate" feature + - drm/atomic: put state on error path + - drm/syncobj: Fix use-after-free + - drm/amdgpu: remove gpu info firmware of green sardine + - drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case + - drm/i915/gt: Prevent use of engine->wa_ctx after error + - ASoC: Intel: haswell: Add missing pm_ops + - ASoC: rt711: mutex between calibration and power state changes + - SUNRPC: Handle TCP socket sends with kernel_sendpage() again + - HID: sony: select CONFIG_CRC32 + - dm integrity: select CRYPTO_SKCIPHER + - scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback + - scsi: qedi: Correct max length of CHAP secret + - scsi: scsi_debug: Fix memleak in scsi_debug_init() + - scsi: sd: Suppress spurious errors when WRITE SAME is being disabled + - riscv: Fix kernel time_init() + - riscv: Fix sifive serial driver + - riscv: Enable interrupts during syscalls with M-Mode + - HID: logitech-dj: add the G602 receiver + - HID: Ignore battery for Elan touchscreen on ASUS UX550 + - clk: tegra30: Add hda clock default rates to clock driver + - ALSA: hda/tegra: fix tegra-hda on tegra30 soc + - arm64: make atomic helpers __always_inline + - xen: Fix event channel callback via INTX/GSI + - x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery + - dts: phy: fix missing mdio device and probe failure of vsc8541-01 device + - riscv: defconfig: enable gpio support for HiFive Unleashed + - drm/amdgpu/psp: fix psp gfx ctrl cmds + - drm/amd/display: disable dcn10 pipe split by default + - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode + - drm/amd/display: Fix to be able to stop crc calculation + - drm/nouveau/bios: fix issue shadowing expansion ROMs + - drm/nouveau/privring: ack interrupts the same way as RM + - drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields + - drm/nouveau/mmu: fix vram heap sizing + - drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 + - io_uring: flush timeouts that should already have expired + - libperf tests: If a test fails return non-zero + - libperf tests: Fail when failing to get a tracepoint id + - RISC-V: Set current memblock limit + - RISC-V: Fix maximum allowed phsyical memory for RV32 + - pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting + - pinctrl: mediatek: Fix fallback call path + - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression + - scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM + - crypto: omap-sham - Fix link error without crypto-engine + - powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S + - powerpc: Fix alignment bug within the init sections + - arm64: entry: remove redundant IRQ flag tracing + - drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu() + - i2c: octeon: check correct size of maximum RECV_LEN packet + - platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow- + list + - platform/x86: hp-wmi: Don't log a warning on HPWMI_RET_UNKNOWN_COMMAND + errors + - gpio: sifive: select IRQ_DOMAIN_HIERARCHY rather than depend on it + - selftests: net: fib_tests: remove duplicate log test + - can: dev: can_restart: fix use after free bug + - can: vxcan: vxcan_xmit: fix use after free bug + - can: peak_usb: fix use after free bugs + - perf evlist: Fix id index for heterogeneous systems + - i2c: sprd: depend on COMMON_CLK to fix compile tests + - iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread + - iio: ad5504: Fix setting power-down state + - counter:ti-eqep: remove floor + - cifs: do not fail __smb_send_rqst if non-fatal signals are pending + - irqchip/mips-cpu: Set IPI domain parent chip + - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state + - x86/topology: Make __max_die_per_package available unconditionally + - x86/mmx: Use KFPU_387 for MMX string operations + - proc_sysctl: fix oops caused by incorrect command parameters + - mm: memcg/slab: optimize objcg stock draining + - io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state + - intel_th: pci: Add Alder Lake-S support + - intel_th: pci: Add Alder Lake CPU support + - intel_th: pci: Add Alder Lake-P support + - stm class: Fix module init return on allocation failure + - serial: mvebu-uart: fix tx lost characters at power off + - ehci: fix EHCI host controller initialization sequence + - USB: ehci: fix an interrupt calltrace error + - usb: gadget: aspeed: fix stop dma register setting. + - USB: gadget: dummy-hcd: Fix errors in port-reset handling + - usb: udc: core: Use lock when write to soft_connect + - [Config] updateconfigs for USB_BDC_PCI + - usb: bdc: Make bdc pci driver depend on BROKEN + - usb: cdns3: imx: fix writing read-only memory issue + - usb: cdns3: imx: fix can't create core device the second time issue + - xhci: make sure TRB is fully written before giving it to the controller + - xhci: tegra: Delay for disabling LFPS detector + - driver core: Extend device_is_dependent() + - x86/cpu/amd: Set __max_die_per_package on AMD + - cls_flower: call nla_ok() before nla_next() + - netfilter: rpfilter: mask ecn bits before fib lookup + - sh: dma: fix kconfig dependency for G2_DMA + - ASoC: SOF: Intel: fix page fault at probe if i915 init fails + - octeontx2-af: Fix missing check bugs in rvu_cgx.c + - net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext + - sh_eth: Fix power down vs. is_opened flag ordering + - cachefiles: Drop superfluous readpages aops NULL check + - lightnvm: fix memory leak when submit fails + - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too + - kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow + - kasan: fix incorrect arguments passing in kasan_add_zero_shadow + - tcp: fix TCP socket rehash stats mis-accounting + - net_sched: gen_estimator: support large ewma log + - udp: mask TOS bits in udp_v4_early_demux() + - ipv6: create multicast route with RTPROT_KERNEL + - net_sched: avoid shift-out-of-bounds in tcindex_set_parms() + - net_sched: reject silly cell_log in qdisc_get_rtab() + - ipv6: set multicast flag on the multicast route + - net: mscc: ocelot: allow offloading of bridge on top of LAG + - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled + - net: dsa: b53: fix an off by one in checking "vlan->vid" + - tcp: do not mess with cloned skbs in tcp_add_backlog() + - tcp: fix TCP_USER_TIMEOUT with zero window + - net: core: devlink: use right genl user_ptr when handling port param get/set + - pinctrl: qcom: Allow SoCs to specify a GPIO function that's not 0 + - pinctrl: qcom: No need to read-modify-write the interrupt status + - pinctrl: qcom: Properly clear "intr_ack_high" interrupts when unmasking + - pinctrl: qcom: Don't clear pending interrupts when enabling + - tty: implement write_iter + - tty: fix up hung_up_tty_write() conversion + - drm/i915/hdcp: Get conn while content_type changed + - seq_file: add seq_read_iter + - kernfs: implement ->read_iter + - kernfs: implement ->write_iter + - kernfs: wire up ->splice_read and ->splice_write + - fs/pipe: allow sendfile() to pipe again + - Commit 9bb48c82aced ("tty: implement write_iter") converted the tty layer to + use write_iter. Fix the redirected_tty_write declaration also in n_tty and + change the comparisons to use write_iter instead of write. also in n_tty and + change the comparisons to use write_iter instead of write. + * Enforce CONFIG_DRM_BOCHS=m (LP: #1916290) + - [Config] Enforce CONFIG_DRM_BOCHS=m + * Groovy update: upstream stable patchset 2021-02-25 (LP: #1916960) + - btrfs: reloc: fix wrong file extent type check to avoid false ENOENT + - btrfs: prevent NULL pointer dereference in extent_io_tree_panic + - ALSA: doc: Fix reference to mixart.rst + - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 + - ASoC: dapm: remove widget from dirty list on free + - x86/hyperv: check cpu mask after interrupt has been disabled + - drm/amdgpu: add green_sardine device id (v2) + - drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921) + - drm/amdgpu: add Green_Sardine APU flag + - drm/amdgpu: add green_sardine support for gpu_info and ip block setting (v2) + - drm/amdgpu: add soc15 common ip block support for green_sardine (v3) + - drm/amdgpu: add new device id for Renior + - drm/i915/gt: Limit VFE threads based on GT + - drm/i915/backlight: fix CPU mode backlight takeover on LPT + - drm/bridge: sii902x: Refactor init code into separate function + - dt-bindings: display: sii902x: Add supply bindings + - tracing/kprobes: Do the notrace functions check without kprobes on ftrace + - ext4: fix bug for rename with RENAME_WHITEOUT + - cifs: check pointer before freeing + - cifs: fix interrupted close commands + - riscv: return -ENOSYS for syscall -1 + - riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL + - mips: fix Section mismatch in reference + - mips: lib: uncached: fix non-standard usage of variable 'sp' + - MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB + - MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps + - MIPS: relocatable: fix possible boot hangup with KASLR enabled + - RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() + - ACPI: scan: Harden acpi_device_add() against device ID overflows + - xen/privcmd: allow fetching resource sizes + - compiler.h: Raise minimum version of GCC to 5.1 for arm64 + - mm/hugetlb: fix potential missing huge page size info + - mm/process_vm_access.c: include compat.h + - dm raid: fix discard limits for raid1 + - dm snapshot: flush merged data before committing metadata + - dm integrity: fix flush with external metadata device + - dm integrity: fix the maximum number of arguments + - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq + - stmmac: intel: change all EHL/TGL to auto detect phy addr + - r8152: Add Lenovo Powered USB-C Travel Hub + - btrfs: tree-checker: check if chunk item end overflows + - ext4: don't leak old mountpoint samples + - ARC: build: remove non-existing bootpImage from KBUILD_IMAGE + - ARC: build: add uImage.lzma to the top-level target + - ARC: build: add boot_targets to PHONY + - ARC: build: move symlink creation to arch/arc/Makefile to avoid race + - ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults + on xt875 + - ath11k: fix crash caused by NULL rx_channel + - netfilter: ipset: fixes possible oops in mtype_resize + - btrfs: fix async discard stall + - btrfs: merge critical sections of discard lock in workfn + - btrfs: fix transaction leak and crash after RO remount caused by qgroup + rescan + - regulator: bd718x7: Add enable times + - ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram + - habanalabs/gaudi: retry loading TPC f/w on -EINTR + - habanalabs: register to pci shutdown callback + - habanalabs: Fix memleak in hl_device_reset + - hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values + - lib/raid6: Let $(UNROLL) rules work with macOS userland + - spi: fix the divide by 0 error when calculating xfer waiting time + - arch/arc: add copy_user_page() to to fix build error on ARC + - misdn: dsp: select CONFIG_BITREVERSE + - net: ethernet: fs_enet: Add missing MODULE_LICENSE + - nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN + - nvme: avoid possible double fetch in handling CQE + - nvmet-rdma: Fix list_del corruption on queue establishment failure + - drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue + - drm/amdgpu: fix a GPU hang issue when remove device + - drm/amd/pm: fix the failure when change power profile for renoir + - drm/amdgpu: fix potential memory leak during navi12 deinitialization + - usb: typec: Fix copy paste error for NVIDIA alt-mode description + - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() + - ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI + - drm/msm: Call msm_init_vram before binding the gpu + - ARM: picoxcell: fix missing interrupt-parent properties + - poll: fix performance regression due to out-of-line __put_user() + - bpf: Simplify task_file_seq_get_next() + - bpf: Save correct stopping point in file seq iteration + - cfg80211: select CONFIG_CRC32 + - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev + - net/mlx5: Fix passing zero to 'PTR_ERR' + - net/mlx5: E-Switch, fix changing vf VLANID + - mm: don't put pinned pages into the swap cache + - perf intel-pt: Fix 'CPU too large' error + - dump_common_audit_data(): fix racy accesses to ->d_name + - ASoC: meson: axg-tdm-interface: fix loopback + - ASoC: meson: axg-tdmin: fix axg skew offset + - ASoC: Intel: fix error code cnl_set_dsp_D0() + - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY + - nvme: don't intialize hwmon for discovery controllers + - nvme-tcp: fix possible data corruption with bio merges + - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT + - NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock + - pNFS: We want return-on-close to complete when evicting the inode + - pNFS: Mark layout for return if return-on-close was not sent + - pNFS: Stricter ordering of layoutget and layoutreturn + - NFS: Adjust fs_context error logging + - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request + - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() + - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter + - NFS: nfs_delegation_find_inode_server must first reference the superblock + - NFS: nfs_igrab_and_active must first reference the superblock + - scsi: ufs: Fix possible power drain during system suspend + - ext4: fix superblock checksum failure when setting password salt + - RDMA/restrack: Don't treat as an error allocation ID wrapping + - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp + - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. + - RDMA/mlx5: Fix wrong free of blue flame register on error + - IB/mlx5: Fix error unwinding when set_has_smi_cap fails + - dm zoned: select CONFIG_CRC32 + - drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is + no reset-deassert MIPI-sequence + - drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout + - drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail + - mm, slub: consider rest of partial list if acquire_slab() fails + - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() + - net: sunrpc: interpret the return value of kstrtou32 correctly + - selftests: netfilter: Pass family parameter "-f" to conntrack tool + - dm: eliminate potential source of excessive kernel log noise + - ALSA: fireface: Fix integer overflow in transmit_midi_msg() + - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() + - netfilter: conntrack: fix reading nf_conntrack_buckets + - netfilter: nf_nat: Fix memleak in nf_nat_init + - netfilter: nft_compat: remove flush counter optimization + - kbuild: enforce -Werror=return-type + - [Config] updateconfigs for KPROBE_EVENTS_ON_NOTRACE + - x86/hyperv: Initialize clockevents after LAPIC is initialized + - bpf: Fix signed_{sub,add32}_overflows type handling + - nfsd4: readdirplus shouldn't return parent of export + - bpf: Don't leak memory in bpf getsockopt when optlen == 0 + - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling + - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback + - net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links + - net: fix use-after-free when UDP GRO with shared fraglist + - udp: Prevent reuseport_select_sock from reading uninitialized socks + - netxen_nic: fix MSI/MSI-x interrupts + - net: ipv6: Validate GSO SKB before finish IPv6 processing + - tipc: fix NULL deref in tipc_link_xmit() + - mlxsw: core: Add validation of transceiver temperature thresholds + - mlxsw: core: Increase critical threshold for ASIC thermal zone + - net: mvpp2: Remove Pause and Asym_Pause support + - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request + - esp: avoid unneeded kmap_atomic call + - net: dcb: Validate netlink message in DCB handler + - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands + - rxrpc: Call state should be read with READ_ONCE() under some circumstances + - i40e: fix potential NULL pointer dereferencing + - net: stmmac: Fixed mtu channged by cache aligned + - net: sit: unregister_netdevice on newlink's error path + - net: stmmac: fix taprio schedule configuration + - net: stmmac: fix taprio configuration when base_time is in the past + - net: avoid 32 x truesize under-estimation for tiny skbs + - rxrpc: Fix handling of an unsupported token type in rxrpc_read() + - net: stmmac: use __napi_schedule() for PREEMPT_RT + - drm/panel: otm8009a: allow using non-continuous dsi clock + - mac80211: do not drop tx nulldata packets on encrypted links + - mac80211: check if atf has been disabled in __ieee80211_schedule_txq + - net: dsa: unbind all switches from tree when DSA master unbinds + - cxgb4/chtls: Fix tid stuck due to wrong update of qid + - spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode + - spi: cadence: cache reference clock rate during probe + - usb: ohci: Make distrust_firmware param default to false + - elfcore: fix building with clang + - spi: npcm-fiu: simplify the return expression of npcm_fiu_probe() + - spi: npcm-fiu: Disable clock in probe error path + * CVE-2021-20239 + - net, sctp, filter: remap copy_from_user failure error + + -- Stefan Bader Thu, 25 Mar 2021 16:34:55 +0100 + +linux-riscv-5.8 (5.8.0-20.22~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-20.22 ] + + * CVE-2020-27170 + - bpf: Fix off-by-one for area size in creating mask to left + * CVE-2020-27171 + - bpf: Prohibit alu ops for pointer types not defining ptr_limit + + -- Stefan Bader Mon, 22 Mar 2021 11:46:44 +0100 + +linux-riscv-5.8 (5.8.0-19.21~20.04.1) focal; urgency=medium + + [ Ubuntu: 5.8.0-19.21 ] + + * binary assembly failures with CONFIG_MODVERSIONS present (LP: #1919315) + - [Packaging] quiet (nomially) benign errors in BUILD script + * CVE-2021-3444 + - bpf: Fix 32 bit src register truncation on div/mod + - bpf: Fix truncation handling for mod32 dst reg wrt zero + * CVE-2021-27365 + - scsi: iscsi: Verify lengths on passthrough PDUs + - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output + - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE + * CVE-2021-27363 // CVE-2021-27364 + - scsi: iscsi: Restrict sessions and handles to admin capabilities + + -- Stefan Bader Thu, 18 Mar 2021 10:28:21 +0100 + +linux-riscv-5.8 (5.8.0-18.20~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-18.20~20.04.1 -proposed tracker (LP: #1916140) + + [ Ubuntu: 5.8.0-18.20 ] + + * groovy/linux-riscv: 5.8.0-18.20 -proposed tracker (LP: #1916141) + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - riscv: [Config] enable CONFIG_MODVERSIONS=y + - riscv: [Packaging] build canonical-certs.pem from branch/arch certs + - riscv: [Config] Allow ASM_MODVERSIONS + * groovy/linux: 5.8.0-45.51 -proposed tracker (LP: #1916143) + * 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 + - [Config] Allow ASM_MODVERSIONS and MODULE_REL_CRCS + * CVE-2021-20194 + - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou + - bpf, cgroup: Fix problematic bounds check + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/core: Emit a warning if the thermal zone is updated without ops + - thermal/core: Add critical and hot ops + - thermal/drivers/acpi: Use hot and critical ops + - thermal/drivers/rcar: Remove notification usage + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + * geneve overlay network on vlan interface broken with offload enabled + (LP: #1914447) + - net/mlx5e: Fix SWP offsets when vlan inserted by driver + * Groovy update: upstream stable patchset 2021-02-11 (LP: #1915473) + - net: cdc_ncm: correct overhead in delayed_ndp_size + - net: hns3: fix the number of queues actually used by ARQ + - net: hns3: fix a phy loopback fail issue + - net: stmmac: dwmac-sun8i: Balance internal PHY resource references + - net: stmmac: dwmac-sun8i: Balance internal PHY power + - net: vlan: avoid leaks on register_vlan_dev() failures + - net/sonic: Fix some resource leaks in error handling paths + - net: ipv6: fib: flush exceptions when purging route + - tools: selftests: add test for changing routes with PTMU exceptions + - net: fix pmtu check in nopmtudisc mode + - net: ip: always refragment ip defragmented packets + - octeontx2-af: fix memory leak of lmac and lmac->name + - nexthop: Fix off-by-one error in error path + - nexthop: Unlink nexthop group entry in error path + - s390/qeth: fix L2 header access in qeth_l3_osa_features_check() + - net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE + - net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address + - net/mlx5e: ethtool, Fix restriction of autoneg with 56G + - chtls: Fix hardware tid leak + - chtls: Remove invalid set_tcb call + - chtls: Fix panic when route to peer not configured + - chtls: Replace skb_dequeue with skb_peek + - chtls: Added a check to avoid NULL pointer dereference + - chtls: Fix chtls resources release sequence + - HID: wacom: Fix memory leakage caused by kfifo_alloc + - ARM: OMAP2+: omap_device: fix idling of devices during probe + - i2c: sprd: use a specific timeout to avoid system hang up issue + - dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk() + - can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver + - can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop() + - can: kvaser_pciefd: select CONFIG_CRC32 + - cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get() + - spi: stm32: FIFO threshold level - fix align packet size + - i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated + - dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling + path of the probe function + - dmaengine: xilinx_dma: check dma_async_device_register return value + - dmaengine: xilinx_dma: fix incompatible param warning in _child_probe() + - dmaengine: xilinx_dma: fix mixed_enum_type coverity warning + - qed: select CONFIG_CRC32 + - wil6210: select CONFIG_CRC32 + - block: rsxx: select CONFIG_CRC32 + - lightnvm: select CONFIG_CRC32 + - iommu/intel: Fix memleak in intel_irq_remapping_alloc + - bpftool: Fix compilation failure for net.o with older glibc + - net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups + - net/mlx5e: Fix two double free cases + - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev + - wan: ds26522: select CONFIG_BITREVERSE + - regulator: qcom-rpmh-regulator: correct hfsmps515 definition + - net: mvpp2: disable force link UP during port init procedure + - KVM: arm64: Don't access PMCR_EL0 when no PMU is available + - block: fix use-after-free in disk_part_iter_next + - net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed + packet + - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() + - drm/panfrost: Don't corrupt the queue mutex on open/close + - scsi: ufs: Fix -Wsometimes-uninitialized warning + - btrfs: skip unnecessary searches for xattrs when logging an inode + - net: stmmac: dwmac-sun8i: Fix probe error handling + - net: stmmac: dwmac-sun8i: Balance syscon (de)initialization + - net: bareudp: add missing error handling for bareudp_link_config() + - ptp: ptp_ines: prevent build when HAS_IOMEM is not set + - chtls: Avoid unnecessary freeing of oreq pointer + - nexthop: Bounce NHA_GATEWAY in FDB nexthop groups + - net/mlx5e: In skb build skip setting mark in switchdev mode + - ionic: start queues before announcing link up + - fanotify: Fix sys_fanotify_mark() on native x86-32 + - spi: spi-geni-qcom: Fix geni_spi_isr() NULL dereference in timeout case + - i2c: mediatek: Fix apdma and i2c hand-shake timeout + - interconnect: imx: Add a missing of_node_put after of_device_is_available + - dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of + the probe function + - arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA + - phy: dp83640: select CONFIG_CRC32 + - zonefs: select CONFIG_CRC32 + - iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() + - nvme-tcp: Fix possible race of io_work and direct send + - arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST + - drm/i915/dp: Track pm_qos per connector + - net: mvneta: fix error message when MTU too large for XDP + - selftests: fib_nexthops: Fix wrong mausezahn invocation + - block/rnbd-clt: avoid module unload race with close confirmation + - drm/panfrost: Remove unused variables in panfrost_job_close() + - tools headers UAPI: Sync linux/fscrypt.h with the kernel sources + * Fix the video can't output through WD19TB connected on TGL's Type-C port + during cold-boot (LP: #1913372) + - drm/dp/mst: Export drm_dp_get_vc_payload_bw() + - drm/i915: Fix the MST PBN divider calculation + * Fix regression introduced by codec PM change (LP: #1912676) + - ASoC: SOF: Intel: hda: Resume codec to do jack detection + - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN + - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend + - ALSA: hda: Balance runtime/system PM if direct-complete is disabled + * Restore palm ejection on multi-input devices (LP: #1913520) + - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices + * intel-hid is not loaded on new Intel platform (LP: #1907160) + - platform/x86: intel-hid: add Rocket Lake ACPI device ID + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + * Groovy update: upstream stable patchset 2021-02-05 (LP: #1914832) + - i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs + - iavf: fix double-release of rtnl_lock + - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs + - net: mvpp2: Add TCAM entry to drop flow control pause frames + - net: mvpp2: prs: fix PPPoE with ipv6 packet parse + - net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE + - ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() + - ethernet: ucc_geth: set dev->max_mtu to 1518 + - ionic: account for vlan tag len in rx buffer len + - atm: idt77252: call pci_disable_device() on error path + - net: mvpp2: Fix GoP port 3 Networking Complex Control configurations + - ibmvnic: fix login buffer memory leak + - ibmvnic: continue fatal error reset after passive init + - net: ethernet: mvneta: Fix error handling in mvneta_probe + - virtio_net: Fix recursive call to cpus_read_lock() + - net/ncsi: Use real net-device for response handler + - net: ethernet: Fix memleak in ethoc_probe + - net-sysfs: take the rtnl lock when storing xps_cpus + - net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc + - net-sysfs: take the rtnl lock when storing xps_rxqs + - net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc + - net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered + - tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS + - bnxt_en: Check TQM rings for maximum supported value. + - net: mvpp2: fix pkt coalescing int-threshold configuration + - bnxt_en: Fix AER recovery. + - ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() + - net: sched: prevent invalid Scell_log shift count + - net: hns: fix return value check in __lb_other_process() + - erspan: fix version 1 check in gre_parse_header() + - net: hdlc_ppp: Fix issues when mod_timer is called while timer is running + - bareudp: set NETIF_F_LLTX flag + - bareudp: Fix use of incorrect min_headroom size + - vhost_net: fix ubuf refcount incorrectly when sendmsg fails + - r8169: work around power-saving bug on some chip versions + - net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs + - net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access + - CDC-NCM: remove "connected" log message + - ibmvnic: fix: NULL pointer dereference. + - net: usb: qmi_wwan: add Quectel EM160R-GL + - stmmac: intel: Add PCI IDs for TGL-H platform + - workqueue: Kick a worker based on the actual activation of delayed works + - scsi: ufs: Fix wrong print message in dev_err() + - scsi: ufs-pci: Fix restore from S4 for Intel controllers + - scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk + ->poweroff() + - scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers + - blk-mq: remove the BLK_MQ_REQ_INTERNAL flag + - scsi: block: Introduce BLK_MQ_REQ_PM + - scsi: ide: Do not set the RQF_PREEMPT flag for sense requests + - scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT + - scsi: scsi_transport_spi: Set RQF_PM for domain validation commands + - scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE + - local64.h: make mandatory + - lib/genalloc: fix the overflow when size is too big + - depmod: handle the case of /sbin/depmod without /sbin in PATH + - scsi: ufs: Clear UAC for FFU and RPMB LUNs + - kbuild: don't hardcode depmod path + - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close + - scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT + - scsi: block: Do not accept any requests while suspended + - crypto: ecdh - avoid buffer overflow in ecdh_set_secret() + - crypto: asym_tpm: correct zero out potential secrets + - powerpc: Handle .text.{hot,unlikely}.* in linker script + - Staging: comedi: Return -EFAULT if copy_to_user() fails + - staging: mt7621-dma: Fix a resource leak in an error handling path + - usb: gadget: enable super speed plus + - USB: cdc-acm: blacklist another IR Droid device + - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). + - usb: dwc3: meson-g12a: disable clk on error handling path in probe + - usb: dwc3: gadget: Clear wait flag on dequeue + - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion + - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one + - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression + - usb: chipidea: ci_hdrc_imx: add missing put_device() call in + usbmisc_get_init_data() + - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set + - usb: usbip: vhci_hcd: protect shift size + - usb: uas: Add PNY USB Portable SSD to unusual_uas + - USB: serial: iuu_phoenix: fix DMA from stack + - USB: serial: option: add LongSung M5710 module support + - USB: serial: option: add Quectel EM160R-GL + - USB: yurex: fix control-URB timeout handling + - USB: usblp: fix DMA to stack + - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks + - usb: gadget: select CONFIG_CRC32 + - USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug + - usb: gadget: f_uac2: reset wMaxPacketSize + - usb: gadget: function: printer: Fix a memory leak for interface descriptor + - usb: gadget: u_ether: Fix MTU size mismatch with RX packet size + - USB: gadget: legacy: fix return error code in acm_ms_bind() + - usb: gadget: Fix spinlock lockup on usb_function_deactivate + - usb: gadget: configfs: Preserve function ordering after bind failure + - usb: gadget: configfs: Fix use-after-free issue with udc_name + - USB: serial: keyspan_pda: remove unused variable + - hwmon: (amd_energy) fix allocation of hwmon_channel_info config + - mm: make wait_on_page_writeback() wait for multiple pending writebacks + - x86/mm: Fix leak of pmd ptlock + - kvm: check tlbs_dirty directly + - task_work: cleanup notification modes + - x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR + - x86/resctrl: Don't move a task to the same resource group + - blk-iocost: fix NULL iocg deref from racing against initialization + - ALSA: hda/via: Fix runtime PM for Clevo W35xSS + - ALSA: hda/conexant: add a new hda codec CX11970 + - ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 + - ALSA: hda/realtek: Add mute LED quirk for more HP laptops + - ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256. + - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct + intel_svm_dev + - btrfs: send: fix wrong file path when there is an inode with a pending rmdir + - Revert "device property: Keep secondary firmware node secondary by type" + - dmabuf: fix use-after-free of dmabuf's file->f_inode + - arm64: link with -z norelro for LLD or aarch64-elf + - drm/i915: clear the shadow batch + - netfilter: x_tables: Update remaining dereference to RCU + - netfilter: ipset: fix shift-out-of-bounds in htable_bits() + - netfilter: xt_RATEEST: reject non-null terminated string from userspace + - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature + - dmaengine: idxd: off by one in cleanup code + - x86/mtrr: Correct the range check before performing MTRR type lookups + - KVM: x86: fix shift out of bounds reported by UBSAN + - rtlwifi: rise completion at the last step of firmware callback + * Groovy update: upstream stable patchset 2021-02-03 (LP: #1914472) + - net/sched: sch_taprio: reset child qdiscs before freeing them + - mptcp: fix security context on server socket + - ethtool: fix error paths in ethnl_set_channels() + - ethtool: fix string set id check + - md/raid10: initialize r10_bio->read_slot before use. + - drm/amd/display: Add get_dig_frontend implementation for DCEx + - io_uring: close a small race gap for files cancel + - jffs2: Allow setting rp_size to zero during remounting + - jffs2: Fix NULL pointer dereference in rp_size fs option parsing + - scsi: block: Fix a race in the runtime power management code + - mm/hugetlb: fix deadlock in hugetlb_cow error path + - mm: memmap defer init doesn't work as expected + - lib/zlib: fix inflating zlib streams on s390 + - uapi: move constants from to + - tools headers UAPI: Sync linux/const.h with the kernel headers + - cgroup: Fix memory leak when parsing multiple source parameters + - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c + - scsi: cxgb4i: Fix TLS dependency + - Bluetooth: hci_h5: close serdev device and free hu in h5_close + - fbcon: Disable accelerated scrolling + - reiserfs: add check for an invalid ih_entry_count + - misc: vmw_vmci: fix kernel info-leak by initializing dbells in + vmci_ctx_get_chkpt_doorbells() + - media: gp8psk: initialize stats at power control logic + - f2fs: fix shift-out-of-bounds in sanity_check_raw_super() + - ALSA: seq: Use bool for snd_seq_queue internal flags + - ALSA: rawmidi: Access runtime->avail always in spinlock + - bfs: don't use WARNING: string when it's just info. + - ext4: check for invalid block size early when mounting a file system + - fcntl: Fix potential deadlock in send_sig{io, urg}() + - rtc: sun6i: Fix memleak in sun6i_rtc_clk_init + - module: set MODULE_STATE_GOING state when a module fails to load + - quota: Don't overflow quota file offsets + - rtc: pl031: fix resource leak in pl031_probe + - powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() + - i3c master: fix missing destroy_workqueue() on error in i3c_master_register + - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode + - f2fs: avoid race condition for shrinker count + - module: delay kobject uevent until after module init call + - fs/namespace.c: WARN if mnt_count has become negative + - watchdog: rti-wdt: fix reference leak in rti_wdt_probe + - um: random: Register random as hwrng-core device + - um: ubd: Submit all data segments atomically + - ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails + - drm/amd/display: updated wm table for Renoir + - tick/sched: Remove bogus boot "safety" check + - s390: always clear kernel stack backchain before calling functions + - io_uring: remove racy overflow list fast checks + - ALSA: pcm: Clear the full allocated memory at hw_params + - dm verity: skip verity work if I/O error when system is shutting down + - rtc: pcf2127: move watchdog initialisation to a separate function + - rtc: pcf2127: only use watchdog when explicitly available + - dt-bindings: rtc: add reset-source property + - kdev_t: always inline major/minor helper functions + - ALSA: hda/realtek - Modify Dell platform name + - scsi: ufs: Allow an error return value from ->device_reset() + - scsi: ufs: Re-enable WriteBooster after device reset + - RDMA/siw,rxe: Make emulated devices virtual in the device tree + - fuse: fix bad inode + - rwsem: Implement down_read_killable_nested + - rwsem: Implement down_read_interruptible + - exec: Transform exec_update_mutex into a rw_semaphore + - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start + + [ Ubuntu: 5.8.0-17.19 ] + + * groovy/linux-riscv: 5.8.0-17.19 -proposed tracker (LP: #1914803) + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - [Config] riscv: updateconfigs for HAVE_64BIT_ALIGNED_ACCESS + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - [Config] riscv: updateconfigs for USB_SISUSBVGA_CON + - [Config] riscv: updateconfigs for ZSMALLOC_PGTABLE_MAPPING + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - [Config] riscv: update config for INFINIBAND_VIRT_DMA + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + * 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 + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + * 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) + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- Stefan Bader Wed, 24 Feb 2021 15:27:12 +0100 + +linux-riscv-5.8 (5.8.0-17.19~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-17.19~20.04.1 -proposed tracker (LP: #1914802) + + [ Ubuntu: 5.8.0-17.19 ] + + * groovy/linux-riscv: 5.8.0-17.19 -proposed tracker (LP: #1914803) + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - [Config] riscv: updateconfigs for HAVE_64BIT_ALIGNED_ACCESS + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - [Config] riscv: updateconfigs for USB_SISUSBVGA_CON + - [Config] riscv: updateconfigs for ZSMALLOC_PGTABLE_MAPPING + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - [Config] riscv: update config for INFINIBAND_VIRT_DMA + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805) + * Packaging resync (LP: #1786013) + - update dkms package versions + - update dkms package versions + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server + - [Config] dkms-versions -- add the 460-server nvidia driver + * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure + ULP mode" + - e1000e: Only run S0ix flows if shutdown succeeded + - Revert "e1000e: disable s0ix entry and exit flows for ME systems" + - e1000e: Export S0ix flags to ethtool + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) // + [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541) + - e1000e: bump up timeout to wait when ME un-configures ULP mode + * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to + IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778) + - PCI: vmd: Offset Client VMD MSI-X vectors + * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102) + - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 + * 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 + * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427) + - SAUCE: ALSA: hda: Add Cometlake-R PCI ID + * 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 + - [Config] dkms-versions -- add transitional/skip information for nvidia + packages + * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test + result (LP: #1908499) + - selftests: fix the return value for UDP GRO test + * [UBUNTU 21.04] vfio: pass DMA availability information to userspace + (LP: #1907421) + - vfio/type1: Refactor vfio_iommu_type1_ioctl() + - vfio iommu: Add dma available capability + * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP + tx csum offload (LP: #1909062) + - qede: fix offload for IPIP tunnel packets + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + * Fix right sounds and mute/micmute LEDs for HP ZBook Fury 15/17 G7 Mobile + Workstation (LP: #1910561) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * Ubuntu 20.04 - multicast counter is not increased in ip -s (LP: #1901842) + - net/mlx5e: Fix multicast counter not up-to-date in "ip -s" + * eeh-basic.sh in powerpc from ubuntu_kernel_selftests timeout with 5.4 P8 / + P9 (LP: #1882503) + - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + * update ENA driver, incl. new ethtool stats (LP: #1910291) + - net: ena: ethtool: convert stat_offset to 64 bit resolution + - net: ena: ethtool: Add new device statistics + - net: ena: ethtool: add stats printing to XDP queues + - net: ena: xdp: add queue counters for xdp actions + - net: ena: Change license into format to SPDX in all files + - net: ena: Change log message to netif/dev function + - net: ena: Remove redundant print of placement policy + - net: ena: Change RSS related macros and variables names + - net: ena: Fix all static chekers' warnings + - drivers/net/ethernet: remove incorrectly formatted doc + - net: ena: Capitalize all log strings and improve code readability + * Groovy update: upstream stable patchset 2021-01-15 (LP: #1912027) + - net: ipconfig: Avoid spurious blank lines in boot log + - x86/split-lock: Avoid returning with interrupts enabled + - exfat: Avoid allocating upcase table using kcalloc() + - soc/tegra: fuse: Fix index bug in get_process_id + - usb: mtu3: fix memory corruption in mtu3_debugfs_regset() + - USB: serial: option: add interface-number sanity check to flag handling + - USB: gadget: f_acm: add support for SuperSpeed Plus + - USB: gadget: f_midi: setup SuperSpeed Plus descriptors + - usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus + - USB: gadget: f_rndis: fix bitrate for SuperSpeed and above + - usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul + - ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU + - ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on + Exynos5410 + - ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU + - coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() + - coresight: tmc-etr: Check if page is valid before dma_map_page() + - coresight: tmc-etr: Fix barrier packet insertion for perf buffer + - coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() + - f2fs: fix to seek incorrect data offset in inline data file + - scsi: megaraid_sas: Check user-provided offsets + - HID: i2c-hid: add Vero K147 to descriptor override + - serial_core: Check for port state when tty is in error state + - fscrypt: remove kernel-internal constants from UAPI header + - fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME + - fscrypt: add fscrypt_is_nokey_name() + - ubifs: prevent creating duplicate encrypted filenames + - ext4: prevent creating duplicate encrypted filenames + - f2fs: prevent creating duplicate encrypted filenames + - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() + - quota: Sanity-check quota file headers on load + - fs: quota: fix array-index-out-of-bounds bug by passing correct argument to + vfs_cleanup_quota_inode() + - media: msi2500: assign SPI bus number dynamically + - crypto: af_alg - avoid undefined behavior accessing salg_name + - nl80211: validate key indexes for cfg80211_registered_device + - md: fix a warning caused by a race between concurrent md_ioctl()s + - drm/gma500: fix double free of gma_connector + - drm/aspeed: Fix Kconfig warning & subsequent build errors + - drm/mcde: Fix handling of platform_get_irq() error + - drm/tve200: Fix handling of platform_get_irq() error + - arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node + - arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node + - soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() + - soc: mediatek: Check if power domains can be powered on at boot time + - arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value + - arm64: dts: ipq6018: update the reserved-memory node + - soc: qcom: geni: More properly switch to DMA mode + - Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" + - RDMA/bnxt_re: Set queue pair state when being queried + - rtc: pcf2127: fix pcf2127_nvmem_read/write() returns + - selinux: fix error initialization in inode_doinit_with_dentry() + - ARM: dts: aspeed-g6: Fix the GPIO memory size + - ARM: dts: aspeed: s2600wf: Fix VGA memory region location + - RDMA/core: Fix error return in _ib_modify_qp() + - RDMA/rxe: Compute PSN windows correctly + - x86/mm/ident_map: Check for errors from ident_pud_init() + - ARM: p2v: fix handling of LPAE translation in BE mode + - RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed + - RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established + - RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex + - x86/apic: Fix x2apic enablement without interrupt remapping + - sched/deadline: Fix sched_dl_global_validate() + - sched: Reenable interrupts in do_sched_yield() + - drm/amdgpu: fix incorrect enum type + - crypto: talitos - Endianess in current_desc_hdr() + - crypto: talitos - Fix return type of current_desc_hdr() + - crypto: inside-secure - Fix sizeof() mismatch + - ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode + - ARM: dts: aspeed: tiogapass: Remove vuart + - drm/amdgpu: fix build_coefficients() argument + - powerpc/64: Set up a kernel stack for secondaries before cpu_restore() + - spi: img-spfi: fix reference leak in img_spfi_resume + - f2fs: call f2fs_get_meta_page_retry for nat page + - RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() + - drm/msm/dsi_pll_10nm: restore VCO rate during restore_state + - spi: spi-mem: fix reference leak in spi_mem_access_start + - scsi: aacraid: Improve compat_ioctl handlers + - ASoC: pcm: DRAIN support reactivation + - drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe + - crypto: arm64/poly1305-neon - reorder PAC authentication with SP update + - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling + - spi: stm32: fix reference leak in stm32_spi_resume + - x86/mce: Correct the detection of invalid notifier priorities + - drm/edid: Fix uninitialized variable in drm_cvt_modes() + - ath11k: Initialize complete alpha2 for regulatory change + - ath11k: Fix number of rules in filtered ETSI regdomain + - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} + - arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 + - arm64: dts: exynos: Correct psci compatible used on Exynos7 + - drm/panel: simple: Add flags to boe_nv133fhm_n61 + - Bluetooth: Fix null pointer dereference in hci_event_packet() + - Bluetooth: hci_h5: fix memory leak in h5_close + - spi: stm32-qspi: fix reference leak in stm32 qspi operations + - spi: spi-ti-qspi: fix reference leak in ti_qspi_setup + - spi: mt7621: fix missing clk_disable_unprepare() on error in + mt7621_spi_probe + - spi: tegra20-slink: fix reference leak in slink ops of tegra20 + - spi: tegra20-sflash: fix reference leak in tegra_sflash_resume + - spi: tegra114: fix reference leak in tegra spi ops + - spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in + bcm63xx_hsspi_resume + - ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of() + - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure + - selftest/bpf: Add missed ip6ip6 test back + - ASoC: wm8994: Fix PM disable depth imbalance on error + - ASoC: wm8998: Fix PM disable depth imbalance on error + - spi: sprd: fix reference leak in sprd_spi_remove + - ASoC: arizona: Fix a wrong free in wm8997_probe + - RDMa/mthca: Work around -Wenum-conversion warning + - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG + - arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node + - MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA + - drm/amdgpu: fix compute queue priority if num_kcq is less than 4 + - soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted + - crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager + - crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() + - drm/udl: Fix missing error code in udl_handle_damage() + - staging: greybus: codecs: Fix reference counter leak in error handling + - staging: gasket: interrupt: fix the missed eventfd_ctx_put() in + gasket_interrupt.c + - drm/amdkfd: Put ACPI table after using it + - media: tm6000: Fix sizeof() mismatches + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() + - media: mtk-vcodec: add missing put_device() call in + mtk_vcodec_release_dec_pm() + - media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() + - media: v4l2-fwnode: Return -EINVAL for invalid bus-type + - media: staging: rkisp1: cap: fix runtime PM imbalance on error + - media: cedrus: fix reference leak in cedrus_start_streaming + - media: platform: add missing put_device() call in mtk_jpeg_probe() and + mtk_jpeg_remove() + - media: venus: core: change clk enable and disable order in resume and + suspend + - media: venus: core: vote for video-mem path + - media: venus: core: vote with average bandwidth and peak bandwidth as zero + - RDMA/cma: Add missing error handling of listen_id + - ASoC: meson: fix COMPILE_TEST error + - scsi: core: Fix VPD LUN ID designator priorities + - media: venus: put dummy vote on video-mem path after last session release + - media: solo6x10: fix missing snd_card_free in error handling case + - video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() + - mmc: sdhci: tegra: fix wrong unit with busy_timeout + - drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() + - drm/meson: Free RDMA resources after tearing down DRM + - drm/meson: Unbind all connectors on module removal + - drm/meson: dw-hdmi: Register a callback to disable the regulator + - drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP + registers + - iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM + - Input: ads7846 - fix race that causes missing releases + - Input: ads7846 - fix integer overflow on Rt calculation + - Input: ads7846 - fix unaligned access on 7845 + - bus: mhi: core: Remove double locking from mhi_driver_remove() + - bus: mhi: core: Fix null pointer access when parsing MHI configuration + - usb/max3421: fix return error code in max3421_probe() + - spi: mxs: fix reference leak in mxs_spi_probe + - selftests/bpf: Fix broken riscv build + - powerpc: Avoid broken GCC __attribute__((optimize)) + - powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 + - ARM: dts: tacoma: Fix node vs reg mismatch for flash memory + - Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path" + - mfd: htc-i2cpld: Add the missed i2c_put_adapter() in + htcpld_register_chip_i2c() + - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId + - scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF + - scsi: ufs: Fix clkgating on/off + - rcu: Allow rcu_irq_enter_check_tick() from NMI + - rcu,ftrace: Fix ftrace recursion + - crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd + - crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe + - spi: fix resource leak for drivers without .remove callback + - drm/meson: dw-hdmi: Disable clocks on driver teardown + - drm/meson: dw-hdmi: Enable the iahb clock early enough + - PCI: Disable MSI for Pericom PCIe-USB adapter + - PCI: brcmstb: Initialize "tmp" before use + - soc: ti: knav_qmss: fix reference leak in knav_queue_probe + - soc: ti: Fix reference imbalance in knav_dma_probe + - drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe + - soc: qcom: initialize local variable + - arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp + - arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias + - Input: omap4-keypad - fix runtime PM error handling + - clk: meson: Kconfig: fix dependency for G12A + - ath11k: Fix the rx_filter flag setting for peer rssi stats + - RDMA/cxgb4: Validate the number of CQEs + - soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute + - memstick: fix a double-free bug in memstick_check + - ARM: dts: at91: sam9x60: add pincontrol for USB Host + - ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host + - ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host + - mmc: pxamci: Fix error return code in pxamci_probe + - brcmfmac: fix error return code in brcmf_cfg80211_connect() + - orinoco: Move context allocation after processing the skb + - qtnfmac: fix error return code in qtnf_pcie_probe() + - rsi: fix error return code in rsi_reset_card() + - cw1200: fix missing destroy_workqueue() on error in cw1200_init_common + - dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() + - arm64: dts: qcom: sdm845: Limit ipa iommu streams + - leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata() + - arm64: tegra: Fix DT binding for IO High Voltage entry + - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind + - media: siano: fix memory leak of debugfs members in smsdvb_hotplug + - platform/x86: mlx-platform: Remove PSU EEPROM from default platform + configuration + - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform + configuration + - arm64: dts: qcom: sc7180: limit IPA iommu streams + - RDMA/hns: Avoid setting loopback indicator when smac is same as dmac + - serial: 8250-mtk: Fix reference leak in mtk8250_probe + - samples: bpf: Fix lwt_len_hist reusing previous BPF map + - media: imx214: Fix stop streaming + - mips: cdmm: fix use-after-free in mips_cdmm_bus_discover + - media: max2175: fix max2175_set_csm_mode() error code + - slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI + - drm/mediatek: Use correct aliases name for ovl + - HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() + - ARM: dts: Remove non-existent i2c1 from 98dx3236 + - arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name + - power: supply: bq25890: Use the correct range for IILIM register + - arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc + - power: supply: max17042_battery: Fix current_{avg,now} hiding with no + current sense + - power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching + - power: supply: bq24190_charger: fix reference leak + - genirq/irqdomain: Don't try to free an interrupt that has no mapping + - arm64: dts: ls1028a: fix ENETC PTP clock input + - arm64: dts: ls1028a: fix FlexSPI clock input + - arm64: dts: freescale: sl28: combine SPI MTD partitions + - phy: tegra: xusb: Fix usb_phy device driver field + - arm64: dts: qcom: c630: Polish i2c-hid devices + - arm64: dts: qcom: c630: Fix pinctrl pins properties + - PCI: Bounds-check command-line resource alignment requests + - PCI: Fix overflow in command-line resource alignment requests + - PCI: iproc: Fix out-of-bound array accesses + - PCI: iproc: Invalidate correct PAXB inbound windows + - arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 + - arm64: dts: meson-sm1: fix typo in opp table + - soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() + - scsi: pm80xx: Do not sleep in atomic context + - spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set + SPI_MCR + - ARM: dts: at91: at91sam9rl: fix ADC triggers + - RDMA/hns: Fix 0-length sge calculation error + - RDMA/hns: Bugfix for calculation of extended sge + - platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init + - media: i2c: imx219: Selection compliance fixes + - ath11k: Fix an error handling path + - ath10k: Fix the parsing error in service available event + - ath10k: Fix an error handling path + - ath10k: Release some resources in an error handling path + - SUNRPC: rpc_wake_up() should wake up tasks in the correct order + - NFSv4.2: condition READDIR's mask for security label based on LSM state + - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" + - NFSv4: Fix the alignment of page data in the getdeviceinfo reply + - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' + - lockd: don't use interval-based rebinding over TCP + - NFS: switch nfsiod to be an UNBOUND workqueue. + - selftests/seccomp: Update kernel config + - vfio-pci: Use io_remap_pfn_range() for PCI IO memory + - hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable + - media: tvp5150: Fix wrong return value of tvp5150_parse_dt() + - media: saa7146: fix array overflow in vidioc_s_audio() + - powerpc/perf: Fix crash with is_sier_available when pmu is not set + - powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S + - powerpc/xmon: Fix build failure for 8xx + - powerpc/perf: Fix the PMU group constraints for threshold events in power10 + - clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path + - clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() + - clocksource/drivers/ingenic: Fix section mismatch + - iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context + - libbpf: Sanitise map names before pinning + - ARM: dts: at91: sam9x60ek: remove bypass property + - ARM: dts: at91: sama5d2: map securam as device + - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() + - selftests/bpf: Fix invalid use of strncat in test_sockmap + - pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() + - arm64: dts: rockchip: Fix UART pull-ups on rk3328 + - memstick: r592: Fix error return in r592_probe() + - MIPS: Don't round up kernel sections size for memblock_add() + - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE + - mt76: set fops_tx_stats.owner to THIS_MODULE + - net/mlx5: Properly convey driver version to firmware + - mt76: fix memory leak if device probing fails + - mt76: fix tkip configuration for mt7615/7663 devices + - ASoC: jz4740-i2s: add missed checks for clk_get() + - dm ioctl: fix error return code in target_message + - ASoC: cros_ec_codec: fix uninitialized memory read + - ASoC: qcom: fix QDSP6 dependencies, attempt #3 + - phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure + - memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe() + - clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne + - clocksource/drivers/arm_arch_timer: Correct fault programming of + CNTKCTL_EL1.EVNTI + - cpufreq: ap806: Add missing MODULE_DEVICE_TABLE + - cpufreq: highbank: Add missing MODULE_DEVICE_TABLE + - cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE + - cpufreq: qcom: Add missing MODULE_DEVICE_TABLE + - cpufreq: st: Add missing MODULE_DEVICE_TABLE + - cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE + - cpufreq: loongson1: Add missing MODULE_ALIAS + - cpufreq: scpi: Add missing MODULE_ALIAS + - cpufreq: vexpress-spc: Add missing MODULE_ALIAS + - Bluetooth: btusb: Add the missed release_firmware() in + btusb_mtk_setup_firmware() + - Bluetooth: btmtksdio: Add the missed release_firmware() in + mtk_setup_firmware() + - block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name + - block/rnbd: fix a null pointer dereference on dev->blk_symlink_name + - Bluetooth: btusb: Fix detection of some fake CSR controllers with a + bcdDevice val of 0x0134 + - mtd: spi-nor: sst: fix BPn bits for the SST25VF064C + - mtd: spi-nor: ignore errors in spi_nor_unlock_all() + - mtd: spi-nor: atmel: remove global protection flag + - mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040 + - arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements + - arm64: dts: meson: fix PHY deassert timing requirements + - ARM: dts: meson: fix PHY deassert timing requirements + - arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements + - arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements + - clk: fsl-sai: fix memory leak + - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe + - scsi: pm80xx: Fix error return in pm8001_pci_probe() + - scsi: iscsi: Fix inappropriate use of put_device() + - seq_buf: Avoid type mismatch for seq_buf_init + - scsi: fnic: Fix error return code in fnic_probe() + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx + systems + - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx + system + - ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel + mode + - powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops + - powerpc/pseries/hibernation: remove redundant cacheinfo update + - powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK + - drm/mediatek: avoid dereferencing a null hdmi_phy on an error message + - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks + - ASoC: max98390: Fix error codes in max98390_dsm_init() + - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S + - usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe + - usb: oxu210hp-hcd: Fix memory leak in oxu_create + - speakup: fix uninitialized flush_lock + - nfsd: Fix message level for normal termination + - NFSD: Fix 5 seconds delay when doing inter server copy + - nfs_common: need lock during iterate through the list + - x86/kprobes: Restore BTF if the single-stepping is cancelled + - scsi: qla2xxx: Fix N2N and NVMe connect retry failure + - platform/chrome: cros_ec_spi: Don't overwrite spi::mode + - misc: pci_endpoint_test: fix return value of error branch + - bus: fsl-mc: fix error return code in fsl_mc_object_allocate() + - s390/cio: fix use-after-free in ccw_device_destroy_console + - iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() + - iwlwifi: mvm: hook up missing RX handlers + - erofs: avoid using generic_block_bmap + - can: m_can: m_can_config_endisable(): remove double clearing of clock stop + request bit + - powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is + set + - powerpc/sstep: Cover new VSX instructions under CONFIG_VSX + - slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew() + - RDMA/core: Do not indicate device ready when device enablement fails + - remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable + - remoteproc: qcom: fix reference leak in adsp_start + - remoteproc: qcom: pas: fix error handling in adsp_pds_enable + - remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() + - clk: qcom: gcc-sc7180: Use floor ops for sdcc clks + - clk: tegra: Fix duplicated SE clock entry + - mtd: rawnand: gpmi: fix reference count leak in gpmi ops + - mtd: rawnand: meson: Fix a resource leak in init + - mtd: rawnand: gpmi: Fix the random DMA timeout issue + - samples/bpf: Fix possible hang in xdpsock with multiple threads + - fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() + - extcon: max77693: Fix modalias string + - crypto: atmel-i2c - select CONFIG_BITREVERSE + - mac80211: don't set set TDLS STA bandwidth wider than possible + - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() + - irqchip/alpine-msi: Fix freeing of interrupts on allocation error path + - RDMA/hns: Limit the length of data copied between kernel and userspace + - gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask + - irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling + - watchdog: armada_37xx: Add missing dependency on HAS_IOMEM + - watchdog: sirfsoc: Add missing dependency on HAS_IOMEM + - watchdog: sprd: remove watchdog disable from resume fail path + - watchdog: sprd: check busy bit before new loading rather than after that + - watchdog: Fix potential dereferencing of null pointer + - ubifs: Fix error return code in ubifs_init_authentication() + - um: Monitor error events in IRQ controller + - um: tty: Fix handling of close in tty lines + - um: chan_xterm: Fix fd leak + - sunrpc: fix xs_read_xdr_buf for partial pages receive + - RDMA/mlx5: Fix MR cache memory leak + - RDMA/cma: Don't overwrite sgid_attr after device is released + - nfc: s3fwrn5: Release the nfc firmware + - powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 + - powerpc/ps3: use dma_mapping_error() + - mm/gup: combine put_compound_head() and unpin_user_page() + - mm/rmap: always do TTU_IGNORE_ACCESS + - sparc: fix handling of page table constructor failure + - mm/vmalloc: Fix unlock order in s_stop() + - mm/vmalloc.c: fix kasan shadow poisoning size + - mm,memory_failure: always pin the page in madvise_inject_error + - hugetlb: fix an error code in hugetlb_reserve_pages() + - mm: don't wake kswapd prematurely when watermark boosting is disabled + - proc: fix lookup in /proc/net subdirectories after setns(2) + - checkpatch: fix unescaped left brace + - s390/test_unwind: fix CALL_ON_STACK tests + - lan743x: fix rx_napi_poll/interrupt ping-pong + - ice, xsk: clear the status bits for the next_to_use descriptor + - i40e, xsk: clear the status bits for the next_to_use descriptor + - net: dsa: qca: ar9331: fix sleeping function called from invalid context bug + - net: bcmgenet: Fix a resource leak in an error handling path in the probe + functin + - net: allwinner: Fix some resources leak in the error handling path of the + probe and in the remove function + - block/rnbd-clt: Get rid of warning regarding size argument in strlcpy + - block/rnbd-clt: Fix possible memleak + - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() + - net: korina: fix return value + - libnvdimm/label: Return -ENXIO for no slot in __blk_label_update + - powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug + - watchdog: qcom: Avoid context switch in restart handler + - watchdog: coh901327: add COMMON_CLK dependency + - clk: ti: Fix memleak in ti_fapll_synth_setup + - pwm: zx: Add missing cleanup in error path + - pwm: lp3943: Dynamically allocate PWM chip base + - pwm: imx27: Fix overflow for bigger periods + - pwm: sun4i: Remove erroneous else branch + - tools build: Add missing libcap to test-all.bin target + - perf record: Fix memory leak when using '--user-regs=?' to list registers + - qlcnic: Fix error code in probe + - nfp: move indirect block cleanup to flower app stop callback + - virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() + - virtio_net: Fix error code in probe() + - virtio_ring: Fix two use after free bugs + - vhost scsi: fix error return code in vhost_scsi_set_endpoint() + - epoll: check for events when removing a timed out thread from the wait queue + - clk: at91: sam9x60: remove atmel,osc-bypass support + - clk: s2mps11: Fix a resource leak in error handling paths in the probe + function + - clk: sunxi-ng: Make sure divider tables have sentinel + - kconfig: fix return value of do_error_if() + - powerpc/smp: Add __init to init_big_cores() + - ARM: 9044/1: vfp: use undef hook for VFP support detection + - perf probe: Fix memory leak when synthesizing SDT probes + - io_uring: cancel reqs shouldn't kill overflow list + - Smack: Handle io_uring kernel thread privileges + - io_uring: fix io_cqring_events()'s noflush + - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() + - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU + - media: gspca: Fix memory leak in probe + - io_uring: fix io_wqe->work_list corruption + - io_uring: fix 0-iov read buffer select + - io_uring: fix ignoring xa_store errors + - io_uring: make ctx cancel on exit targeted to actual ctx + - media: sunxi-cir: ensure IR is handled when it is continuous + - media: netup_unidvb: Don't leak SPI master in probe error path + - media: ipu3-cio2: Remove traces of returned buffers + - media: ipu3-cio2: Return actual subdev format + - media: ipu3-cio2: Serialise access to pad format + - media: ipu3-cio2: Validate mbus format in setting subdev format + - media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE + - Input: cyapa_gen6 - fix out-of-bounds stack access + - ALSA: hda/ca0132 - Change Input Source enum strings. + - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources + walks" + - ACPI: PNP: compare the string length in the matching_id() + - ALSA: hda: Fix regressions on clear and reconfig sysfs + - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. + - ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop + - ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 + - ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 + - ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button + - ALSA: pcm: oss: Fix a few more UBSAN fixes + - ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G + - ALSA: hda/realtek: Add quirk for MSI-GP73 + - ALSA: hda/realtek: Apply jack fixup for Quanta NL3 + - ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 + - ALSA: hda/realtek - Supported Dell fixed type headset + - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices + - ALSA: usb-audio: Disable sample read check if firmware doesn't give back + - ALSA: core: memalloc: add page alignment for iram + - s390/smp: perform initial CPU reset also for SMT siblings + - s390/kexec_file: fix diag308 subcode when loading crash kernel + - s390/idle: add missing mt_cycles calculation + - s390/idle: fix accounting with machine checks + - s390/dasd: fix hanging device offline processing + - s390/dasd: prevent inconsistent LCU device data + - s390/dasd: fix list corruption of pavgroup group list + - s390/dasd: fix list corruption of lcu list + - binder: add flag to clear buffer on txn complete + - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams + - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) + - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) + - staging: comedi: mf6x4: Fix AI end-of-conversion detection + - z3fold: simplify freeing slots + - z3fold: stricter locking and more careful reclaim + - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY + - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake + - powerpc/perf: Exclude kernel samples while counting events in user space. + - cpufreq: intel_pstate: Use most recent guaranteed performance values + - crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() + - crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata + - m68k: Fix WARNING splat in pmac_zilog driver + - EDAC/i10nm: Use readl() to access MMIO registers + - EDAC/amd64: Fix PCI component registration + - cpuset: fix race between hotplug work and later CPU offline + - USB: serial: mos7720: fix parallel-port state restore + - USB: serial: digi_acceleport: fix write-wakeup deadlocks + - USB: serial: keyspan_pda: fix dropped unthrottle interrupts + - USB: serial: keyspan_pda: fix write deadlock + - USB: serial: keyspan_pda: fix stalled writes + - USB: serial: keyspan_pda: fix write-wakeup use-after-free + - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free + - USB: serial: keyspan_pda: fix write unthrottling + - btrfs: do not shorten unpin len for caching block groups + - btrfs: update last_byte_to_unpin in switch_commit_roots + - btrfs: fix race when defragmenting leads to unnecessary IO + - ext4: fix a memory leak of ext4_free_data + - ext4: fix deadlock with fs freezing and EA inodes + - ext4: don't remount read-only with errors=continue on reboot + - arm64: dts: ti: k3-am65: mark dss as dma-coherent + - KVM: arm64: Introduce handling of AArch32 TTBCR2 traps + - KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits + - KVM: SVM: Remove the call to sev_platform_status() during setup + - ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES + - ARM: dts: at91: sama5d2: fix CAN message ram offset and size + - ARM: tegra: Populate OPP table for Tegra20 Ventana + - xprtrdma: Fix XDRBUF_SPARSE_PAGES support + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on + syscall too + - powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at + - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter + - powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() + - powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE + - powerpc/xmon: Change printk() to pr_cont() + - powerpc/8xx: Fix early debug when SMC1 is relocated + - powerpc/mm: Fix verification of MMU_FTR_TYPE_44x + - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU + - powerpc/powernv/memtrace: Don't leak kernel memory to user space + - powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently + - ima: Don't modify file descriptor mode on the fly + - um: Remove use of asprinf in umid.c + - um: Fix time-travel mode + - ceph: fix race in concurrent __ceph_remove_cap invocations + - SMB3: avoid confusing warning message on mount to Azure + - SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp + - SMB3.1.1: do not log warning message if server doesn't populate salt + - ubifs: wbuf: Don't leak kernel memory to flash + - jffs2: Fix GC exit abnormally + - jffs2: Fix ignoring mounting options problem during remounting + - jfs: Fix array index bounds check in dbAdjTree + - drm/panfrost: Fix job timeout handling + - platform/x86: mlx-platform: remove an unused variable + - drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() + - drm/i915: Fix mismatch between misplaced vma check and vma insert + - iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack + - spi: pxa2xx: Fix use-after-free on unbind + - spi: spi-sh: Fix use-after-free on unbind + - spi: atmel-quadspi: Fix use-after-free on unbind + - spi: spi-mtk-nor: Don't leak SPI master in probe error path + - spi: ar934x: Don't leak SPI master in probe error path + - spi: davinci: Fix use-after-free on unbind + - spi: fsl: fix use of spisel_boot signal on MPC8309 + - spi: gpio: Don't leak SPI master in probe error path + - spi: mxic: Don't leak SPI master in probe error path + - spi: npcm-fiu: Disable clock in probe error path + - spi: pic32: Don't leak DMA channels in probe error path + - spi: rb4xx: Don't leak SPI master in probe error path + - spi: sc18is602: Don't leak SPI master in probe error path + - spi: spi-geni-qcom: Fix use-after-free on unbind + - spi: spi-qcom-qspi: Fix use-after-free on unbind + - spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path + - spi: synquacer: Disable clock in probe error path + - spi: mt7621: Disable clock in probe error path + - spi: mt7621: Don't leak SPI master in probe error path + - spi: atmel-quadspi: Disable clock in probe error path + - spi: atmel-quadspi: Fix AHB memory accesses + - soc: qcom: smp2p: Safely acquire spinlock without IRQs + - mtd: parser: cmdline: Fix parsing of part-names with colons + - mtd: core: Fix refcounting for unpartitioned MTDs + - mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read + - mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments + - scsi: qla2xxx: Fix crash during driver load on big endian machines + - scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() + - scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() + - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT + - iio: buffer: Fix demux update + - iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in + rockchip_saradc_resume + - iio: imu: st_lsm6dsx: fix edge-trigger interrupts + - iio:light:rpr0521: Fix timestamp alignment and prevent data leak. + - iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. + - iio:magnetometer:mag3110: Fix alignment and data leak issues. + - iio:pressure:mpl3115: Force alignment of buffer + - iio:imu:bmi160: Fix too large a buffer. + - iio:imu:bmi160: Fix alignment and data leak issues + - iio:adc:ti-ads124s08: Fix buffer being too long. + - iio:adc:ti-ads124s08: Fix alignment and data leak issues. + - md/cluster: block reshape with remote resync job + - md/cluster: fix deadlock when node is doing resync job + - pinctrl: sunxi: Always call chained_irq_{enter, exit} in + sunxi_pinctrl_irq_handler + - clk: ingenic: Fix divider calculation with div tables + - clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 + - clk: tegra: Do not return 0 on failure + - device-dax/core: Fix memory leak when rmmod dax.ko + - dma-buf/dma-resv: Respect num_fences when initializing the shared fence + list. + - driver: core: Fix list corruption after device_del() + - xen-blkback: set ring->xenblkd to NULL after kthread_stop() + - xen/xenbus: Allow watches discard events before queueing + - xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() + - xen/xenbus/xen_bus_type: Support will_handle watch callback + - xen/xenbus: Count pending messages for each watch + - xenbus/xenbus_backend: Disallow pending watch messages + - libnvdimm/namespace: Fix reaping of invalidated block-window-namespace + labels + - platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 + - tracing: Disable ftrace selftests when any tracer is running + - mt76: add back the SUPPORTS_REORDERING_BUFFER flag + - of: fix linker-section match-table corruption + - PCI: Fix pci_slot_release() NULL pointer dereference + - regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x + - remoteproc: sysmon: Ensure remote notification ordering + - thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has + changed + - rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time + - Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" + - null_blk: Fix zone size initialization + - null_blk: Fail zone append to conventional zones + - drm/edid: fix objtool warning in drm_cvt_modes() + - x86/CPU/AMD: Save AMD NodeId as cpu_die_id + - ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator + - ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node + - pinctrl: merrifield: Set default bias in case no particular value given + - pinctrl: baytrail: Avoid clearing debounce value when turning it off + - ARM: dts: sun8i: v3s: fix GIC node memory range + - ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY + - ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp + - ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin + - gpio: zynq: fix reference leak in zynq_gpio functions + - gpio: mvebu: fix potential user-after-free on probe + - scsi: bnx2i: Requires MMU + - xsk: Replace datagram_poll by sock_poll_wait + - can: softing: softing_netdev_open(): fix error handling + - clk: renesas: r9a06g032: Drop __packed for portability + - pinctrl: aspeed: Fix GPIO requests on pass-through banks + - netfilter: x_tables: Switch synchronization to RCU + - netfilter: nft_compat: make sure xtables destructors have run + - netfilter: nft_dynset: fix timeouts later than 23 days + - afs: Fix memory leak when mounting with multiple source parameters + - gpio: eic-sprd: break loop when getting NULL device resource + - netfilter: nft_ct: Remove confirmation check for NFT_CT_ID + - selftests/bpf/test_offload.py: Reset ethtool features after failed setting + - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait + - i40e: optimise prefetch page refcount + - i40e: avoid premature Rx buffer reuse + - ixgbe: avoid premature Rx buffer reuse + - selftests: fix poll error in udpgro.sh + - net: mvpp2: add mvpp2_phylink_to_port() helper + - drm/tegra: replace idr_init() by idr_init_base() + - kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling + - drm/tegra: sor: Disable clocks on error in tegra_sor_init() + - habanalabs: put devices before driver removal + - arm64: syscall: exit userspace before unmasking exceptions + - vxlan: Add needed_headroom for lower device + - vxlan: Copy needed_tailroom from lowerdev + - scsi: mpt3sas: Increase IOCInit request timeout to 30s + - dm table: Remove BUG_ON(in_interrupt()) + - iwlwifi: pcie: add one missing entry for AX210 + - drm/amd/display: Init clock value by current vbios CLKs + - perf/x86/intel: Check PEBS status correctly + - kbuild: avoid split lines in .mod files + - ARM: sunxi: Add machine match for the Allwinner V3 SoC + - cfg80211: initialize rekey_data + - fix namespaced fscaps when !CONFIG_SECURITY + - lwt: Disable BH too in run_lwt_bpf() + - drm/amd/display: Prevent bandwidth overflow + - drm/amdkfd: Fix leak in dmabuf import + - Input: cros_ec_keyb - send 'scancodes' in addition to key events + - initramfs: fix clang build failure + - Input: goodix - add upside-down quirk for Teclast X98 Pro tablet + * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - Kbuild: do not emit debug info for assembly with LLVM_IAS=1 + - mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING + - [Config] updateconfigs for ZSMALLOC_PGTABLE_MAPPING + - kprobes: Remove NMI context check + - kprobes: Tell lockdep about kprobe nesting + - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks + - tools/bootconfig: Fix to check the write failure correctly + - net, xsk: Avoid taking multiple skbuff references + - bpftool: Fix error return value in build_btf_type_table + - vhost-vdpa: fix page pinning leakage in error path (rework) + - powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation + - batman-adv: Consider fragmentation for needed_headroom + - batman-adv: Reserve needed_*room for fragments + - batman-adv: Don't always reallocate the fragmentation skb head + - ipvs: fix possible memory leak in ip_vs_control_net_init + - ibmvnic: handle inconsistent login with reset + - ibmvnic: stop free_all_rwi on failed reset + - ibmvnic: avoid memset null scrq msgs + - ibmvnic: delay next reset if hard reset fails + - ibmvnic: track pending login + - ibmvnic: send_login should check for crq errors + - ibmvnic: reduce wait for completion time + - drm/rockchip: Avoid uninitialized use of endpoint id in LVDS + - drm/panel: sony-acx565akm: Fix race condition in probe + - can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous + clk_disable_unprepare() + - can: sja1000: sja1000_err(): don't count arbitration lose as an error + - can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error + - can: c_can: c_can_power_up(): fix error handling + - can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling + - samples/ftrace: Mark my_tramp[12]? global + - scsi: storvsc: Fix error return in storvsc_probe() + - net: broadcom CNIC: requires MMU + - iwlwifi: pcie: invert values of NO_160 device config entries + - perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS + - zlib: export S390 symbols for zlib modules + - phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211 + - arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go + Advance + - iwlwifi: pcie: limit memory read spin time + - arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards. + - arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc- + pc. + - iwlwifi: sta: set max HE max A-MPDU according to HE capa + - iwlwifi: pcie: set LTR to avoid completion timeout + - iwlwifi: mvm: fix kernel panic in case of assert during CSA + - powerpc: Drop -me200 addition to build flags + - arm64: dts: broadcom: clear the warnings caused by empty dma-ranges + - ARC: stack unwinding: don't assume non-current task is sleeping + - scsi: ufs: Fix unexpected values from ufshcd_read_desc_param() + - scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE + - interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes + - interconnect: qcom: qcs404: Remove GPU and display RPM IDs + - ibmvnic: skip tx timeout reset while in resetting + - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend + - drm/exynos: depend on COMMON_CLK to fix compile tests + - spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts + - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing + - btrfs: do nofs allocations when adding and removing qgroup relations + - btrfs: fix lockdep splat when enabling and disabling qgroups + - soc: fsl: dpio: Get the cpumask through cpumask_of(cpu) + - intel_idle: Fix intel_idle() vs tracing + - arm64: tegra: Disable the ACONNECT for Jetson TX2 + - platform/x86: thinkpad_acpi: add P1 gen3 second fan support + - platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e + - platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad + Yoga 11e 4th gen + - platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control + - platform/x86: acer-wmi: add automatic keyboard background light toggle key + as KEY_LIGHTS_TOGGLE + - platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC + - platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet + - platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet + - can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0 + - s390: fix irq state tracing + - intel_idle: Build fix + - media: pulse8-cec: fix duplicate free at disconnect or probe error + - media: pulse8-cec: add support for FW v10 and up + - mmc: mediatek: Extend recheck_sdio_irq fix to more variants + - ktest.pl: Fix incorrect reboot for grub2bls + - xen: add helpers for caching grant mapping pages + - Input: cm109 - do not stomp on control URB + - Input: i8042 - add Acer laptops to the i8042 reset list + - pinctrl: jasperlake: Fix HOSTSW_OWN offset + - mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC + - mmc: block: Fixup condition for CMD13 polling for RPMB requests + - drm/amdgpu/disply: set num_crtc earlier + - drm/i915/gem: Propagate error from cancelled submit due to context closure + - drm/i915/display/dp: Compute the correct slice count for VDSC on DP + - drm/i915/gt: Declare gen9 has 64 mocs entries! + - drm/i915/gt: Ignore repeated attempts to suspend request flow across reset + - drm/i915/gt: Cancel the preemption timeout on responding to it + - kbuild: avoid static_assert for genksyms + - proc: use untagged_addr() for pagemap_read addresses + - zonefs: fix page reference and BIO leak + - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" + - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP + - x86/membarrier: Get rid of a dubious optimization + - x86/apic/vector: Fix ordering in vector assignment + - x86/kprobes: Fix optprobe to detect INT3 padding correctly + - compiler.h: fix barrier_data() on clang + - ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info() + - net/sched: fq_pie: initialize timer earlier in fq_pie_init() + - net: ipa: pass the correct size when freeing DMA memory + - ipv4: fix error return code in rtm_to_fib_config() + - mac80211: mesh: fix mesh_pathtbl_init() error path + - net: bridge: vlan: fix error return code in __vlan_add() + - vrf: packets with lladdr src needs dst at input with orig_iif when needs + strict + - net: hns3: remove a misused pragma packed + - udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments + - enetc: Fix reporting of h/w packet counters + - bridge: Fix a deadlock when enabling multicast snooping + - mptcp: print new line in mptcp_seq_show() if mptcp isn't in use + - net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux + - net: stmmac: start phylink instance before stmmac_hw_setup() + - net: stmmac: free tx skb buffer in stmmac_resume() + - net: stmmac: delete the eee_ctrl_timer after napi disabled + - net: stmmac: overwrite the dma_cap.addr64 according to HW design + - net: ll_temac: Fix potential NULL dereference in temac_probe() + - tcp: select sane initial rcvq_space.space for big MSS + - e1000e: fix S0ix flow to allow S0i3.2 subset entry + - ethtool: fix stack overflow in ethnl_parse_bitset() + - tcp: fix cwnd-limited bug for TSO deferral where we send nothing + - net: flow_offload: Fix memory leak for indirect flow block + - net/mlx4_en: Avoid scheduling restart task if it is already running + - net/mlx4_en: Handle TX error CQE + - net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower + - ch_ktls: fix build warning for ipv4-only config + - lan743x: fix for potential NULL pointer dereference with bare card + - net: stmmac: increase the timeout for dma reset + - net: tipc: prevent possible null deref of link + - ktest.pl: If size of log is too big to email, email error message + - USB: dummy-hcd: Fix uninitialized array use in init() + - USB: add RESET_RESUME quirk for Snapscan 1212 + - ALSA: usb-audio: Fix potential out-of-bounds shift + - ALSA: usb-audio: Fix control 'access overflow' errors from chmap + - xhci: Give USB2 ports time to enter U3 in bus suspend + - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP + - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI + - USB: UAS: introduce a quirk to set no_write_same + - USB: sisusbvga: Make console support depend on BROKEN + - [Config] updateconfigs for USB_SISUSBVGA_CON + - ALSA: pcm: oss: Fix potential out-of-bounds shift + - serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access + - KVM: mmu: Fix SPTE encoding of MMIO generation upper half + - membarrier: Explicitly sync remote cores when SYNC_CORE is requested + - x86/resctrl: Remove unused struct mbm_state::chunks_bw + - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled + * MSFT Touchpad not working on Lenovo Legion-5 15ARH05 (LP: #1887190) // + Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476) + - pinctrl: amd: remove debounce filter setting in IRQ type setting + * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235) + - powerpc: Only include kup-radix.h for 64-bit Book3S + - leds: lm3697: Fix out-of-bound access + - Input: sunkbd - avoid use-after-free in teardown paths + - mac80211: always wind down STA state + - can: proc: can_remove_proc(): silence remove_proc_entry warning + - powerpc/smp: Call rcu_cpu_starting() earlier + - KVM: x86: clflushopt should be treated as a no-op by emulation + - ACPI: GED: fix -Wformat + - net: lantiq: Add locking for TX DMA channel + - ah6: fix error return code in ah6_input() + - atm: nicstar: Unmap DMA on send error + - bnxt_en: read EEPROM A2h address using page 0 + - devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() + - enetc: Workaround for MDIO register access issue + - Exempt multicast addresses from five-second neighbor lifetime + - inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() + - ipv6: Fix error path to cancel the meseage + - lan743x: fix issue causing intermittent kernel log warnings + - lan743x: prevent entire kernel HANG on open, for some platforms + - mlxsw: core: Use variable timeout for EMAD retries + - net: b44: fix error return code in b44_init_one() + - net: bridge: add missing counters to ndo_get_stats64 callback + - netdevsim: set .owner to THIS_MODULE + - net: dsa: mv88e6xxx: Avoid VTU corruption on 6097 + - net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable() + - net: ethernet: mtk-star-emac: return ok when xmit drops + - net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR + - net: ethernet: ti: cpsw: fix cpts irq after suspend + - net: ethernet: ti: cpsw: fix error return code in cpsw_probe() + - net: ftgmac100: Fix crash when removing driver + - net: Have netpoll bring-up DSA management interface + - net: ipa: lock when freeing transaction + - netlabel: fix our progress tracking in netlbl_unlabel_staticlist() + - netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() + - net: lantiq: Wait for the GPHY firmware to be ready + - net/mlx4_core: Fix init_hca fields offset + - net/mlx5e: Fix refcount leak on kTLS RX resync + - net/ncsi: Fix netlink registration + - net: phy: mscc: remove non-MACSec compatible phy + - net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup + - net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid() + - net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call + - net/tls: fix corrupted data in recvmsg + - net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request + - page_frag: Recover from memory pressure + - qed: fix error return code in qed_iwarp_ll2_start() + - qed: fix ILT configuration of SRC block + - qlcnic: fix error return code in qlcnic_83xx_restart_hw() + - sctp: change to hold/put transport for proto_unreach_timer + - tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate + - vsock: forward all packets to the host when no H2G is registered + - net/mlx5e: Fix check if netdev is bond slave + - net/mlx5: Add handling of port type in rule deletion + - net/mlx5: Clear bw_share upon VF disable + - net/mlx5: Disable QoS when min_rates on all VFs are zero + - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter + - net: fec: Fix reference count leak in fec series ops + - net/tls: Fix wrong record sn in async mode of device resync + - net: usb: qmi_wwan: Set DTR quirk for MR400 + - Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts"" + - tools, bpftool: Avoid array index warnings. + - habanalabs/gaudi: mask WDT error in QMAN + - pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq + - scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold() + - scsi: ufs: Try to save power mode change and UIC cmd completion timeout + - pinctrl: mcp23s08: Print error message when regmap init fails + - selftests: kvm: Fix the segment descriptor layout to match the actual layout + - ACPI: button: Add DMI quirk for Medion Akoya E2228T + - arm64: errata: Fix handling of 1418040 with late CPU onlining + - arm64: psci: Avoid printing in cpu_psci_cpu_die() + - arm64: smp: Tell RCU about CPUs that fail to come online + - vfs: remove lockdep bogosity in __sb_start_write + - gfs2: fix possible reference leak in gfs2_check_blk_type + - hwmon: (pwm-fan) Fix RPM calculation + - gfs2: Fix case in which ail writes are done to jdata holes + - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores + - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist + - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver + - arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay + - arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node + - arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node + - arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node + - Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high" + - ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet + PHY + - ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY + - ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY + - arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on + PHY + - arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY + - Input: adxl34x - clean up a data type in adxl34x_probe() + - MIPS: export has_transparent_hugepage() for modules + - dmaengine: idxd: fix wq config registers offset programming + - arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node + - arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio + - arm64: dts imx8mn: Remove non-existent USB OTG2 + - arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy + - ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking + - swiotlb: using SIZE_MAX needs limits.h included + - tee: amdtee: fix memory leak due to reset of global shm list + - tee: amdtee: synchronize access to shm list + - dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment + - dmaengine: xilinx_dma: Fix SG capability check for MCDMA + - ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2 + - ARM: dts: stm32: Define VIO regulator supply on DHCOM + - ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor + - ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM + - arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point + - ARM: dts: imx50-evk: Fix the chip select 1 IOMUX + - dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio + - kunit: tool: unmark test_data as binary blobs + - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled + - spi: fix client driver breakages when using GPIO descriptors + - Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER + - rfkill: Fix use-after-free in rfkill_resume() + - RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() + - [Config] update config for INFINIBAND_VIRT_DMA + - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs + - perf lock: Correct field name "flags" + - perf lock: Don't free "lock_seq_stat" if read_count isn't zero + - SUNRPC: Fix oops in the rpc_xdr_buf event class + - drm: bridge: dw-hdmi: Avoid resetting force in the detect function + - tools, bpftool: Add missing close before bpftool net attach exit + - IB/hfi1: Fix error return code in hfi1_init_dd() + - ip_tunnels: Set tunnel option flag when tunnel metadata is present + - can: af_can: prevent potential access of uninitialized member in can_rcv() + - can: af_can: prevent potential access of uninitialized member in canfd_rcv() + - can: dev: can_restart(): post buffer from the right context + - can: ti_hecc: Fix memleak in ti_hecc_probe + - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to + can_put_echo_skb() + - can: peak_usb: fix potential integer overflow on shift of a int + - can: flexcan: fix failure handling of pm_runtime_get_sync() + - can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI + - can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for + devm_regmap_init() + - can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration + - can: m_can: m_can_handle_state_change(): fix state change + - can: m_can: m_can_class_free_dev(): introduce new function + - can: m_can: Fix freeing of can device from peripherials + - can: m_can: m_can_stop(): set device to software init mode before closing + - dmaengine: idxd: fix mapping of portal size + - ASoC: qcom: lpass-platform: Fix memory leak + - selftests/bpf: Fix error return code in run_getsockopt_test() + - MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu + - drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() + - net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled + - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made + - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect + - can: kvaser_pciefd: Fix KCAN bittiming limits + - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits + - dmaengine: fix error codes in channel_register() + - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header + - iommu/vt-d: Avoid panic if iommu init fails in tboot system + - can: flexcan: flexcan_chip_start(): fix erroneous + flexcan_transceiver_enable() during bus-off recovery + - can: m_can: process interrupt only when not runtime suspended + - xfs: fix the minrecs logic when dealing with inode root child blocks + - xfs: strengthen rmap record flags checking + - xfs: directory scrub should check the null bestfree entries too + - xfs: ensure inobt record walks always make forward progress + - xfs: return corresponding errcode if xfs_initialize_perag() fail + - ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled + clock + - regulator: ti-abb: Fix array out of bound read access on the first + transition + - libbpf: Fix VERSIONED_SYM_COUNT number parsing + - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. + - fail_function: Remove a redundant mutex unlock + - xfs: revert "xfs: fix rmap key and record comparison functions" + - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits + - bpf, sockmap: On receive programs try to fast track SK_PASS ingress + - bpf, sockmap: Use truesize with sk_rmem_schedule() + - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self + - efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP + - counter/ti-eqep: Fix regmap max_register + - efi/x86: Free efi_pgd with free_pages() + - sched/fair: Fix overutilized update in enqueue_task_fair() + - sched: Fix data-race in wakeup + - sched: Fix rq->nr_iowait ordering + - libfs: fix error cast of negative value in simple_attr_write() + - afs: Fix speculative status fetch going out of order wrt to modifications + - HID: logitech-hidpp: Add PID for MX Anywhere 2 + - HID: mcp2221: Fix GPIO output handling + - HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad + - HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver + - speakup: Do not let the line discipline be used several times + - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() + - ALSA: usb-audio: Add delay quirk for all Logitech USB devices + - ALSA: ctl: fix error path at adding user-defined element set + - ALSA: mixart: Fix mutex deadlock + - ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button + - ALSA: hda/realtek - Add supported mute Led for HP + - ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) + - ALSA: hda/realtek - HP Headset Mic can't detect after boot + - tty: serial: imx: fix potential deadlock + - tty: serial: imx: keep console clocks always on + - HID: logitech-dj: Fix an error in mse_bluetooth_descriptor + - efivarfs: fix memory leak in efivarfs_create() + - staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids + - staging: mt7621-pci: avoid to request pci bus resources + - iio: light: fix kconfig dependency bug for VCNL4035 + - ext4: fix bogus warning in ext4_update_dx_flag() + - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) + - ACPI: fan: Initialize performance state sysfs attribute + - iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum + - iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet- + mode + - iio: adc: mediatek: fix unset field + - iio: cros_ec: Use default frequencies when EC returns invalid information + - iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout + - iio/adc: ingenic: Fix battery VREF for JZ4770 SoC + - iio: adc: stm32-adc: fix a regression when using dma and irq + - serial: ar933x_uart: disable clk on error handling path in probe + - arm64: dts: agilex/stratix10: Fix qspi node compatible + - spi: lpspi: Fix use-after-free on unbind + - spi: Introduce device-managed SPI controller allocation + - spi: npcm-fiu: Don't leak SPI master in probe error path + - spi: bcm2835aux: Fix use-after-free on unbind + - regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} + - regulator: fix memory leak with repeated set_machine_constraints() + - regulator: avoid resolve_supply() infinite recursion + - regulator: workaround self-referent regulators + - gfs2: Fix regression in freeze_go_sync + - xtensa: fix TLBTEMP area placement + - xtensa: disable preemption around cache alias management calls + - mac80211: minstrel: remove deferred sampling code + - mac80211: minstrel: fix tx status processing corner case + - mac80211: free sta in sta_info_insert_finish() on errors + - s390: fix system call exit path + - s390/cpum_sf.c: fix file permission for cpum_sfb_size + - s390/dasd: fix null pointer dereference for ERP requests + - Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected + - drm/amd/display: Add missing pflip irq for dcn2.0 + - drm/i915: Handle max_bpc==16 + - mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel + controllers + - mmc: sdhci-of-arasan: Allow configuring zero tap values + - mmc: sdhci-of-arasan: Use Mask writes for Tap delays + - mmc: sdhci-of-arasan: Issue DLL reset explicitly + - ptrace: Set PF_SUPERPRIV when checking capability + - seccomp: Set PF_SUPERPRIV when checking capability + - x86/microcode/intel: Check patch signature before saving microcode for early + loading + - mm: fix readahead_page_batch for retry entries + - mm: memcg/slab: fix root memcg vmstats + - mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() + - io_uring: get an active ref_node from files_data + - io_uring: order refnode recycling + - spi: bcm-qspi: Fix use-after-free on unbind + - spi: bcm2835: Fix use-after-free on unbind + - ipv4: use IS_ENABLED instead of ifdef + - IB/hfi1: Ensure correct mm is used at all times + - RDMA/i40iw: Address an mmap handler exploit in i40iw + - btrfs: tree-checker: add missing return after error in root_item + - btrfs: tree-checker: add missing returns after data_ref alignment checks + - btrfs: don't access possibly stale fs_info data for printing duplicate + device + - btrfs: fix lockdep splat when reading qgroup config on mount + - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) + - smb3: Call cifs reconnect from demultiplex thread + - smb3: Avoid Mid pending list corruption + - smb3: Handle error case during offload read path + - cifs: fix a memleak with modefromsid + - powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y + - powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU + context + - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page + - KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace + - KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint + - KVM: x86: Fix split-irqchip vs interrupt injection window request + - iommu/vt-d: Don't read VCCAP register unless it exists + - firmware: xilinx: Use hash-table for api feature check + - trace: fix potenial dangerous pointer + - arm64: pgtable: Fix pte_accessible() + - arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() + - drm/amd/amdgpu: fix null pointer in runtime pm + - drm/amd/display: Avoid HDCP initialization in devices without output + - HID: uclogic: Add ID for Trust Flex Design Tablet + - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses + - HID: cypress: Support Varmilo Keyboards' media hotkeys + - HID: add support for Sega Saturn + - Input: i8042 - allow insmod to succeed on devices without an i8042 + controller + - HID: hid-sensor-hub: Fix issue with devices with no report ID + - staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK + - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices + - dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant + - x86/xen: don't unbind uninitialized lock_kicker_irq + - kunit: fix display of failed expectations for strings + - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo + Edge + - HID: Add Logitech Dinovo Edge battery quirk + - proc: don't allow async path resolution of /proc/self components + - nvme: free sq/cq dbbuf pointers when dbbuf set fails + - net: stmmac: dwmac_lib: enlarge dma reset timeout + - vdpasim: fix "mac_pton" undefined error + - vhost: add helper to check if a vq has been setup + - vhost scsi: alloc cmds per vq instead of session + - vhost scsi: fix cmd completion race + - cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE + - dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size + - scsi: libiscsi: Fix NOP race condition + - scsi: target: iscsi: Fix cmd abort fabric stop race + - perf/x86: fix sysfs type mismatches + - xtensa: uaccess: Add missing __user to strncpy_from_user() prototype + - x86/dumpstack: Do not try to access user space code of other tasks + - net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset + - bus: ti-sysc: Fix reset status check for modules with quirks + - bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw + - ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() + - phy: tegra: xusb: Fix dangling pointer on probe failure + - iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC + - iwlwifi: mvm: properly cancel a session protection for P2P + - iwlwifi: mvm: write queue_sync_state only for sync + - KVM: s390: pv: Mark mm as protected after the set secure parameters and + improve cleanup + - batman-adv: set .owner to THIS_MODULE + - usb: cdns3: gadget: fix some endian issues + - usb: cdns3: gadget: calculate TD_SIZE based on TD + - phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency + - phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency + - arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed + - bus: ti-sysc: suppress err msg for timers used as clockevent/source + - ARM: dts: dra76x: m_can: fix order of clocks + - scsi: ufs: Fix race between shutdown and runtime resume flow + - bnxt_en: fix error return code in bnxt_init_one() + - bnxt_en: fix error return code in bnxt_init_board() + - video: hyperv_fb: Fix the cache type when mapping the VRAM + - bnxt_en: Release PCI regions when DMA mask setup fails during probe. + - block/keyslot-manager: prevent crash when num_slots=1 + - cxgb4: fix the panic caused by non smac rewrite + - dpaa2-eth: select XGMAC_MDIO for MDIO bus support + - s390/qeth: make af_iucv TX notification call more robust + - s390/qeth: fix af_iucv notification race + - s390/qeth: fix tear down of async TX buffers + - drm/mediatek: dsi: Modify horizontal front/back porch byte formula + - bonding: wait for sysfs kobject destruction before freeing struct slave + - ibmvnic: fix call_netdevice_notifiers in do_reset + - ibmvnic: notify peers when failover and migration happen + - powerpc/64s: Fix allnoconfig build since uaccess flush + - iommu: Check return of __iommu_attach_device() + - IB/mthca: fix return value of error branch in mthca_init_cq() + - i40e: Fix removing driver while bare-metal VFs pass traffic + - firmware: xilinx: Fix SD DLL node reset issue + - io_uring: fix shift-out-of-bounds when round up cq size + - nfc: s3fwrn5: use signed integer for parsing GPIO numbers + - net: ena: handle bad request id in ena_netdev + - net: ena: set initial DMA width to avoid intel iommu issue + - net: ena: fix packet's addresses for rx_offset feature + - ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues + - ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq + - ibmvnic: enhance resetting status check during module exit + - optee: add writeback to valid memory type + - x86/tboot: Don't disable swiotlb when iommu is forced on + - arm64: tegra: Wrong AON HSP reg property size + - efi/efivars: Set generic ops before loading SSDT + - efivarfs: revert "fix memory leak in efivarfs_create()" + - efi: EFI_EARLYCON should depend on EFI + - riscv: Explicitly specify the build id style in vDSO Makefile again + - RISC-V: Add missing jump label initialization + - RISC-V: fix barrier() use in + - net: stmmac: fix incorrect merge of patch upstream + - enetc: Let the hardware auto-advance the taprio base-time of 0 + - drm/nouveau: fix relocations applying logic and a double-free + - can: gs_usb: fix endianess problem with candleLight firmware + - platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time + - platform/x86: toshiba_acpi: Fix the wrong variable assignment + - RDMA/hns: Fix wrong field of SRQ number the device supports + - RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP + - RDMA/hns: Bugfix for memory window mtpt configuration + - can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from + request_threaded_irq()'s flags + - can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 + - perf record: Synthesize cgroup events only if needed + - perf stat: Use proper cpu for shadow stats + - perf probe: Fix to die_entrypc() returns error correctly + - spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe + - USB: core: Change %pK for __user pointers to %px + - usb: gadget: f_midi: Fix memleak in f_midi_alloc + - USB: core: Fix regression in Hercules audio card + - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO + built-in usb-audio card + - usb: gadget: Fix memleak in gadgetfs_fill_super + - irqchip/exiu: Fix the index of fwspec for IRQ type + - x86/mce: Do not overwrite no_way_out if mce_end() fails + - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb + - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak + - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak + - devlink: Hold rtnl lock while reading netdev attributes + - devlink: Make sure devlink instance and port are in same net namespace + - ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init + - net/af_iucv: set correct sk_protocol for child sockets + - net: openvswitch: fix TTL decrement action netlink message format + - net/tls: missing received data after fast remote close + - net/tls: Protect from calling tls_dev_del for TLS RX twice + - rose: Fix Null pointer dereference in rose_send_frame() + - sock: set sk_err to ee_errno on dequeue from errq + - tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control + - tun: honor IOCB_NOWAIT flag + - usbnet: ipheth: fix connectivity with iOS 14 + - vsock/virtio: discard packets only when socket is really closed + - net/packet: fix packet receive on L3 devices without visible hard header + - netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal + - ipv4: Fix tos mask in inet_rtm_getroute() + - dt-bindings: net: correct interrupt flags in examples + - chelsio/chtls: fix panic during unload reload chtls + - ibmvnic: Ensure that SCRQ entry reads are correctly ordered + - ibmvnic: Fix TX completion error handling + - tipc: fix incompatible mtu of transmission + - inet_ecn: Fix endianness of checksum update when setting ECT(1) + - net: ip6_gre: set dev->hard_header_len when using header_ops + - dpaa_eth: copy timestamp fields to new skb in A-050385 workaround + - net/x25: prevent a couple of overflows + - cxgb3: fix error return code in t3_sge_alloc_qset() + - net: pasemi: fix error return code in pasemi_mac_open() + - vxlan: fix error return code in __vxlan_dev_create() + - chelsio/chtls: fix a double free in chtls_setkey() + - net: mvpp2: Fix error return code in mvpp2_open() + - net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl + - net: openvswitch: ensure LSE is pullable before reading it + - net/sched: act_mpls: ensure LSE is pullable before reading it + - net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering + - net/mlx5: Fix wrong address reclaim when command interface is down + - net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled + - ALSA: usb-audio: US16x08: fix value count for level meters + - Input: xpad - support Ardwiino Controllers + - tracing: Fix alignment of static buffer + - tracing: Remove WARN_ON in start_thread() + - uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + - drm/i915/gt: Fixup tgl mocs for PTE tracking + - usb: gadget: f_fs: Use local copy of descriptors for userspace copy + - USB: serial: kl5kusb105: fix memleak on open + - USB: serial: ch341: add new Product ID for CH341A + - USB: serial: ch341: sort device-id entries + - USB: serial: option: add Fibocom NL668 variants + - USB: serial: option: add support for Thales Cinterion EXS82 + - USB: serial: option: fix Quectel BG96 matching + - tty: Fix ->pgrp locking in tiocspgrp() + - tty: Fix ->session locking + - speakup: Reject setting the speakup line discipline outside of speakup + - ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 + - ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model + - ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 + - ALSA: hda/realtek - Add new codec supported for ALC897 + - ALSA: hda/realtek - Fixed Dell AIO wrong sound tone + - ALSA: hda/generic: Add option to enforce preferred_dacs pairs + - ftrace: Fix updating FTRACE_FL_TRAMP + - ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency + - cifs: allow syscalls to be restarted in __smb_send_rqst() + - cifs: fix potential use-after-free in cifs_echo_request() + - cifs: refactor create_sd_buf() and and avoid corrupting the buffer + - gfs2: Upgrade shared glocks for atime updates + - gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and + delete_work_func + - s390/pci: fix CPU address in MSI for directed IRQ + - i2c: imx: Fix reset of I2SR_IAL flag + - i2c: imx: Check for I2SR_IAL after every byte + - i2c: imx: Don't generate STOP condition if arbitration has been lost + - tracing: Fix userstacktrace option for instances + - thunderbolt: Fix use-after-free in remove_unplugged_switch() + - drm/omap: sdi: fix bridge enable/disable + - drm/i915/gt: Retain default context state across shrinking + - drm/i915/gt: Limit frequency drop to RPe on parking + - drm/i915/gt: Program mocs:63 for cache eviction on gen9 + - KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check + - scsi: mpt3sas: Fix ioctl timeout + - io_uring: fix recvmsg setup with compat buf-select + - dm writecache: advance the number of arguments when reporting max_age + - dm writecache: fix the maximum number of arguments + - powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE + - genirq/irqdomain: Add an irq_create_mapping_affinity() function + - powerpc/pseries: Pass MSI affinity to irq_create_mapping() + - dm: fix bug with RCU locking in dm_blk_report_zones + - dm: fix double RCU unlock in dm_dax_zero_page_range() error path + - dm: remove invalid sparse __acquires and __releases annotations + - x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes + - coredump: fix core_pattern parse error + - mm: list_lru: set shrinker map bit when child nr_items is not zero + - mm/swapfile: do not sleep with a spin lock held + - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations + - Revert "amd/amdgpu: Disable VCN DPG mode for Picasso" + - iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs + - lib/syscall: fix syscall registers retrieval on 32-bit platforms + - can: af_can: can_rx_unregister(): remove WARN() statement from list + operation sanity check + - gfs2: check for empty rgrp tree in gfs2_ri_update + - netfilter: ipset: prevent uninit-value in hash_ip6_add + - tipc: fix a deadlock when flushing scheduled work + - ASoC: wm_adsp: fix error return code in wm_adsp_load() + - gfs2: Fix deadlock dumping resource group glocks + - gfs2: Don't freeze the file system during unmount + - rtw88: debug: Fix uninitialized memory in debugfs code + - i2c: qcom: Fix IRQ error misassignement + - i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc() + - dm writecache: remove BUG() and fail gracefully instead + - Input: i8042 - fix error return code in i8042_setup_aux() + - netfilter: nf_tables: avoid false-postive lockdep splat + - netfilter: nftables_offload: set address type in control dissector + - netfilter: nftables_offload: build mask based from the matching bytes + - x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes + bytes + - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + * 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) + * selftests: test_vxlan_under_vrf: mute unnecessary error message + (LP: #1908342) + - selftests: test_vxlan_under_vrf: mute unnecessary error message + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) + - drm/i915: Hold onto an explicit ref to i915_vma_work.pinned + - drm/i915/gem: Flush coherency domains on first set-domain-ioctl + - mm: memcg: link page counters to root if use_hierarchy is false + - nbd: don't update block size after device is started + - KVM: arm64: Force PTE mapping on fault resulting in a device mapping + - ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function + - genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY + - hv_balloon: disable warning when floor reached + - net: xfrm: fix a race condition during allocing spi + - ASoC: codecs: wsa881x: add missing stream rates and format + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - kunit: Fix kunit.py --raw_output option + - kunit: Don't fail test suites if one of them is empty + - usb: gadget: fsl: fix null pointer checking + - selftests: filter kselftest headers from command in lib.mk + - ASoC: codecs: wcd934x: Set digital gain range correctly + - ASoC: codecs: wcd9335: Set digital gain range correctly + - mtd: spi-nor: Fix address width on flash chips > 16MB + - xfs: set xefi_discard when creating a deferred agfl free log intent item + - mac80211: don't require VHT elements for HE on 2.4 GHz + - netfilter: nftables: fix netlink report logic in flowtable and genid + - netfilter: use actual socket sk rather than skb sk when routing harder + - netfilter: nf_tables: missing validation from the abort path + - netfilter: ipset: Update byte and packet counters regardless of whether they + match + - irqchip/sifive-plic: Fix chip_data access within a hierarchy + - powerpc/eeh_cache: Fix a possible debugfs deadlock + - drm/vc4: bo: Add a managed action to cleanup the cache + - IB/srpt: Fix memory leak in srpt_add_one + - mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg + - drm/panfrost: rename error labels in device_init + - drm/panfrost: move devfreq_init()/fini() in device + - drm/panfrost: Fix module unload + - perf trace: Fix segfault when trying to trace events by cgroup + - perf tools: Add missing swap for ino_generation + - perf tools: Add missing swap for cgroup events + - ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() + - iommu/vt-d: Fix a bug for PDP check in prq_event_thread + - afs: Fix warning due to unadvanced marshalling pointer + - afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op + - vfio/pci: Implement ioeventfd thread handler for contended memory lock + - can: rx-offload: don't call kfree_skb() from IRQ context + - can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ + context + - can: dev: __can_get_echo_skb(): fix real payload length return value for RTR + frames + - can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() + - can: j1939: swap addr and pgn in the send example + - can: j1939: j1939_sk_bind(): return failure if netdev is down + - can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error + path + - can: xilinx_can: handle failure cases of pm_runtime_get_sync + - can: peak_usb: add range checking in decode operations + - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping + - can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is + on + - can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A + - can: flexcan: flexcan_remove(): disable wakeup completely + - xfs: flush new eof page on truncate to avoid post-eof corruption + - xfs: fix missing CoW blocks writeback conversion retry + - xfs: fix scrub flagging rtinherit even if there is no rt device + - spi: fsl-dspi: fix wrong pointer in suspend/resume + - ceph: add check_session_state() helper and make it global + - ceph: check the sesion state and return false in case it is closed + - ceph: check session state after bumping session->s_seq + - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always- + on STIBP + - kbuild: explicitly specify the build id style + - RISC-V: Fix the VDSO symbol generaton for binutils-2.35+ + - USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property + - tpm: efi: Don't create binary_bios_measurements file for an empty log + - KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return + SMCCC_RET_NOT_REQUIRED + - ath9k_htc: Use appropriate rs_datalen type + - ASoC: qcom: sdm845: set driver name correctly + - ASoC: cs42l51: manage mclk shutdown delay + - ASoC: SOF: loader: handle all SOF_IPC_EXT types + - usb: dwc3: pci: add support for the Intel Alder Lake-S + - opp: Reduce the size of critical section in _opp_table_kref_release() + - usb: gadget: goku_udc: fix potential crashes in probe + - usb: raw-gadget: fix memory leak in gadget_setup + - selftests: pidfd: fix compilation errors due to wait.h + - x86/boot/compressed/64: Introduce sev_status + - gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free + - gfs2: Add missing truncate_inode_pages_final for sd_aspace + - gfs2: check for live vs. read-only file system in gfs2_fitrim + - scsi: hpsa: Fix memory leak in hpsa_init_one() + - drm/amdgpu: perform srbm soft reset always on SDMA resume + - drm/amd/pm: correct the baco reset sequence for CI ASICs + - drm/amd/pm: perform SMC reset on suspend/hibernation + - drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running + - mac80211: fix use of skb payload instead of header + - cfg80211: initialize wdev data earlier + - cfg80211: regulatory: Fix inconsistent format argument + - wireguard: selftests: check that route_me_harder packets use the right sk + - tracing: Fix the checking of stackidx in __ftrace_trace_stack + - ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline + - scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() + - scsi: mpt3sas: Fix timeouts observed while reenabling IRQ + - nvme: introduce nvme_sync_io_queues + - nvme-rdma: avoid race between time out and tear down + - nvme-tcp: avoid race between time out and tear down + - nvme-rdma: avoid repeated request completion + - nvme-tcp: avoid repeated request completion + - iommu/amd: Increase interrupt remapping table limit to 512 entries + - s390/smp: move rcu_cpu_starting() earlier + - vfio: platform: fix reference leak in vfio_platform_open + - vfio/pci: Bypass IGD init in case of -ENODEV + - i2c: mediatek: move dma reset before i2c reset + - iomap: clean up writeback state logic on writepage error + - selftests: proc: fix warning: _GNU_SOURCE redefined + - arm64: kexec_file: try more regions if loading segments fails + - riscv: Set text_offset correctly for M-Mode + - i2c: sh_mobile: implement atomic transfers + - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once + - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED + - tpm_tis: Disable interrupts on ThinkPad T490s + - spi: bcm2835: remove use of uninitialized gpio flags variable + - mfd: sprd: Add wakeup capability for PMIC IRQ + - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm + - pinctrl: intel: Set default bias in case no particular value given + - gpio: aspeed: fix ast2600 bank properties + - ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template + - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE + - libbpf, hashmap: Fix undefined behavior in hash_bits + - pinctrl: mcp23s08: Use full chunk of memory for regmap configuration + - pinctrl: aspeed: Fix GPI only function problem. + - net/mlx5e: Fix modify header actions memory leak + - net/mlx5e: Protect encap route dev from concurrent release + - net/mlx5e: Use spin_lock_bh for async_icosq_lock + - net/mlx5: Fix deletion of duplicate rules + - net/mlx5e: Fix incorrect access of RCU-protected xdp_prog + - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() + - NFSD: Fix use-after-free warning when doing inter-server copy + - NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy + - tools/bpftool: Fix attaching flow dissector + - bpf: Zero-fill re-used per-cpu map element + - r8169: fix potential skb double free in an error path + - r8169: disable hw csum for short packets on all chip versions + - pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback + - pinctrl: qcom: sm8250: Specify PDC map + - nbd: fix a block_device refcount leak in nbd_release + - selftest: fix flower terse dump tests + - i40e: Fix MAC address setting for a VF via Host/VM + - igc: Fix returning wrong statistics + - lan743x: correctly handle chips with internal PHY + - net: phy: realtek: support paged operations on RTL8201CP + - xfs: fix flags argument to rmap lookup when converting shared file rmaps + - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents + - xfs: fix rmap key and record comparison functions + - xfs: fix brainos in the refcount scrubber's rmap fragment processor + - lan743x: fix "BUG: invalid wait context" when setting rx mode + - xfs: fix a missing unlock on error in xfs_fs_map_blocks + - of/address: Fix of_node memory leak in of_dma_is_coherent + - ch_ktls: Update cheksum information + - ch_ktls: tcb update fails sometimes + - cosa: Add missing kfree in error path of cosa_write + - hwmon: (applesmc) Re-work SMC comms + - vrf: Fix fast path output packet handling with async Netfilter rules + - lan743x: fix use of uninitialized variable + - arm64/mm: Validate hotplug range before creating linear mapping + - kernel/watchdog: fix watchdog_allowed_mask not used warning + - mm: memcontrol: fix missing wakeup polling thread + - afs: Fix afs_write_end() when called with copied == 0 [ver #3] + - perf: Fix get_recursion_context() + - nvme: factor out a nvme_configure_metadata helper + - nvme: freeze the queue over ->lba_shift updates + - nvme: fix incorrect behavior when BLKROSET is called by the user + - perf: Simplify group_sched_in() + - perf: Fix event multiplexing for exclusive groups + - firmware: xilinx: fix out-of-bounds access + - erofs: fix setting up pcluster for temporary pages + - erofs: derive atime instead of leaving it empty + - ext4: correctly report "not supported" for {usr,grp}jquota when + !CONFIG_QUOTA + - ext4: unlock xattr_sem properly in ext4_inline_data_truncate() + - btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch + - btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod + - btrfs: fix min reserved size calculation in merge_reloc_root + - btrfs: dev-replace: fail mount if we don't have replace item with target + device + - KVM: arm64: Don't hide ID registers from userspace + - speakup: Fix var_id_t values and thus keymap + - speakup ttyio: Do not schedule() in ttyio_in_nowait + - speakup: Fix clearing selection in safe context + - thunderbolt: Fix memory leak if ida_simple_get() fails in + enumerate_services() + - thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() + - block: add a return value to set_capacity_revalidate_and_notify + - loop: Fix occasional uevent drop + - uio: Fix use-after-free in uio_unregister_device() + - usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode + - usb: typec: ucsi: Report power supply changes + - xhci: hisilicon: fix refercence leak in xhci_histb_probe + - virtio: virtio_console: fix DMA memory allocation for rproc serial + - mei: protect mei_cl_mtu from null dereference + - futex: Don't enable IRQs unconditionally in put_pi_state() + - jbd2: fix up sparse warnings in checkpoint code + - bootconfig: Extend the magic check range to the preceding 3 bytes + - mm/compaction: count pages and stop correctly during page isolation + - mm/compaction: stop isolation if too many pages are isolated and we have + pages to migrate + - mm/slub: fix panic in slab_alloc_node() + - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit + - mm/gup: use unpin_user_pages() in __gup_longterm_locked() + - Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint" + - reboot: fix overflow parsing reboot cpu number + - hugetlbfs: fix anon huge page migration race + - ocfs2: initialize ip_next_orphan + - selinux: Fix error return code in sel_ib_pkey_sid_slow() + - io_uring: round-up cq size before comparing with rounded sq size + - gpio: sifive: Fix SiFive gpio probe + - gpio: pcie-idio-24: Fix irq mask when masking + - gpio: pcie-idio-24: Fix IRQ Enable Register value + - gpio: pcie-idio-24: Enable PEX8311 interrupts + - mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs + - mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove + - don't dump the threads that had been already exiting when zapped. + - drm/i915: Correctly set SFC capability for video engines + - drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[] + - pinctrl: amd: use higher precision for 512 RtcClk + - pinctrl: amd: fix incorrect way to disable debounce filter + - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" + - cpufreq: Introduce governor flags + - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET + - cpufreq: Add strict_target to struct cpufreq_policy + - ethtool: netlink: add missing netdev_features_change() call + - IPv6: Set SIT tunnel hard_header_len to zero + - net/af_iucv: fix null pointer dereference on shutdown + - net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO + - net: udp: fix UDP header access on Fast/frag0 UDP GRO + - net: Update window_clamp if SOCK_RCVBUF is set + - net/x25: Fix null-ptr-deref in x25_connect + - tipc: fix memory leak in tipc_topsrv_start() + - powerpc/603: Always fault when _PAGE_ACCESSED is not set + - null_blk: Fix scheduling in atomic with zoned mode + - perf scripting python: Avoid declaring function pointers with a visibility + attribute + - coresight: etm: perf: Sink selection using sysfs is deprecated + - coresight: Fix uninitialised pointer bug in etm_setup_aux() + - Convert trailing spaces and periods in path components + - random32: make prandom_u32() output unpredictable + - amd/amdgpu: Disable VCN DPG mode for Picasso + * [SRU][F/G/H/U/OEM-5.6] Fix i2c report error on elan trackpoint + (LP: #1908335) + - Input: elan_i2c - add support for high resolution reports + - Input: elan_i2c - add new trackpoint report type 0x5F + - Input: elantech - fix protocol errors for some trackpoints in SMBus mode + * [SRU][OEM-5.6] UBUNTU: SAUCE: Fix brightness control on BOE 2270 panel + (LP: #1904991) + - drm/i915: Force DPCD backlight mode for BOE 2270 panel + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + * Touchpad not detected on ByteSpeed C15B laptop (LP: #1906128) + - Input: i8042 - add ByteSpeed touchpad to noloop table + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - SAUCE: igc: Report speed and duplex as unknown when device is runtime + suspended + * Groovy update: upstream stable patchset 2020-12-15 (LP: #1908323) + - tipc: fix use-after-free in tipc_bcast_get_mode + - drm/i915/gem: Avoid implicit vmap for highmem on x86-32 + - drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported + - drm/i915/gem: Always test execution status on closing the context + - drm/i915/gt: Always send a pulse down the engine after disabling heartbeat + - drm/i915: Break up error capture compression loops with cond_resched() + - drm/i915: Cancel outstanding work after disabling heartbeats on an engine + - drm/i915: Avoid mixing integer types during batch copies + - drm/i915/gt: Initialize reserved and unspecified MOCS indices + - drm/i915/gt: Undo forced context restores after trivial preemptions + - drm/i915: Drop runtime-pm assert from vgpu io accessors + - drm/i915: Exclude low pages (128KiB) of stolen from use + - drm/i915: Use the active reference on the vma while capturing + - drm/i915: Reject 90/270 degree rotated initial fbs + - drm/i915: Restore ILK-M RPS support + - drm/nouveau/device: fix changing endianess code to work on older GPUs + - ptrace: fix task_join_group_stop() for the case when current is traced + - cadence: force nonlinear buffers to be cloned + - chelsio/chtls: fix memory leaks caused by a race + - chelsio/chtls: fix always leaking ctrl_skb + - dpaa_eth: update the buffer layout for non-A050385 erratum scenarios + - dpaa_eth: fix the RX headroom size alignment + - gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP + - gianfar: Account for Tx PTP timestamp in the skb headroom + - ionic: check port ptr before use + - ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags + - net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement + - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition + - powerpc/vnic: Extend "failover pending" window + - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms + - sfp: Fix error handing in sfp_probe() + - ip6_tunnel: set inner ipproto before ip6_tnl_encap + - net: fec: fix MDIO probing for some FEC hardware blocks + - r8169: work around short packet hw bug on RTL8125 + - drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() + - drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() + - Fonts: Replace discarded const qualifier + - ALSA: hda/realtek - Fixed HP headset Mic can't be detected + - ALSA: hda/realtek - Enable headphone for ASUS TM420 + - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 + - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices + - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 + - ALSA: usb-audio: Add implicit feedback quirk for MODX + - hugetlb_cgroup: fix reservation accounting + - mm: mempolicy: fix potential pte_unmap_unlock pte error + - lib/crc32test: remove extra local_irq_disable/enable + - kthread_worker: prevent queuing delayed work from timer_fn when it is being + canceled + - mm: always have io_remap_pfn_range() set pgprot_decrypted() + - perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() + - gfs2: Wake up when sd_glock_disposal becomes zero + - gfs2: Don't call cancel_delayed_work_sync from within delete work function + - ring-buffer: Fix recursion protection transitions between interrupt context + - iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() + - mtd: spi-nor: Don't copy self-pointing struct around + - ftrace: Fix recursion check for NMI test + - ftrace: Handle tracing when switching between context + - regulator: defer probe when trying to get voltage from unresolved supply + - spi: bcm2835: fix gpio cs level inversion + - tracing: Fix out of bounds write in get_trace_buf + - futex: Handle transient "ownerless" rtmutex state correctly + - x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S + - ARM: dts: sun4i-a10: fix cpu_alert temperature + - arm64: dts: meson: add missing g12 rng clock + - arm64: dts: amlogic: meson-g12: use the G12A specific dwmac compatible + - x86/kexec: Use up-to-dated screen_info copy to fill boot params + - hyperv_fb: Update screen_info after removing old framebuffer + - arm64: dts: amlogic: add missing ethernet reset ID + - io_uring: don't miss setting IO_WQ_WORK_CONCURRENT + - of: Fix reserved-memory overlap detection + - ARM: dts: mmp3: Add power domain for the camera + - drm/sun4i: frontend: Rework a bit the phase data + - drm/sun4i: frontend: Reuse the ch0 phase for RGB formats + - drm/sun4i: frontend: Fix the scaler phase on A33 + - drm/v3d: Fix double free in v3d_submit_cl_ioctl() + - blk-cgroup: Fix memleak on error path + - blk-cgroup: Pre-allocate tree node on blkg_conf_prep + - btrfs: drop the path before adding qgroup items when enabling qgroups + - btrfs: add a helper to read the tree_root commit root for backref lookup + - scsi: core: Don't start concurrent async scan on same host + - drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) + - drm/amdgpu: add DID for navi10 blockchain SKU + - scsi: ibmvscsi: Fix potential race after loss of transport + - vsock: use ns_capable_noaudit() on socket create + - nvme-rdma: handle unexpected nvme completion data length + - nvmet: fix a NULL pointer dereference when tracing the flush command + - drm/vc4: drv: Add error handding for bind + - ACPI: NFIT: Fix comparison to '-ENXIO' + - usb: cdns3: gadget: suspicious implicit sign extension + - drm/nouveau/nouveau: fix the start/end range for migration + - drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" + - arm64/smp: Move rcu_cpu_starting() earlier + - tty: fix crash in release_tty if tty->port is not set + - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent + - s390/mm: make pmd/pud_deref() large page aware + - s390/pkey: fix paes selftest failure with paes and pkey static build + - powerpc/8xx: Always fault when _PAGE_ACCESSED is not set + - powerpc/40x: Always fault when _PAGE_ACCESSED is not set + - serial: 8250_mtk: Fix uart_get_baud_rate warning + - serial: txx9: add missing platform_driver_unregister() on error in + serial_txx9_init + - USB: serial: cyberjack: fix write-URB completion race + - USB: serial: option: add Quectel EC200T module support + - USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 + - USB: serial: option: add Telit FN980 composition 0x1055 + - usb: dwc3: ep0: Fix delay status handling + - USB: Add NO_LPM quirk for Kingston flash drive + - usb: mtu3: fix panic in mtu3_gadget_stop() + - io_uring: fix link lookup racing with link timeout + - drm/panfrost: Fix a deadlock between the shrinker and madvise path + - ARC: stack unwinding: avoid indefinite looping + - PM: runtime: Drop runtime PM references to supplier on link removal + - PM: runtime: Drop pm_runtime_clean_up_links() + - PM: runtime: Resume the device earlier in __device_release_driver() + - drm/i915/gt: Use the local HWSP offset during submission + - perf/core: Fix a memory leak in perf_event_parse_addr_filter() + - Revert "coresight: Make sysfs functional on topologies with per core sink" + * Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - xen/events: avoid removing an event channel while handling it + - xen/events: add a proper barrier to 2-level uevent unmasking + - xen/events: fix race in evtchn_fifo_unmask() + - xen/events: add a new "late EOI" evtchn framework + - xen/blkback: use lateeoi irq binding + - xen/netback: use lateeoi irq binding + - xen/scsiback: use lateeoi irq binding + - xen/pvcallsback: use lateeoi irq binding + - xen/pciback: use lateeoi irq binding + - xen/events: switch user event channels to lateeoi model + - xen/events: use a common cpu hotplug hook for event channels + - xen/events: defer eoi in case of excessive number of events + - xen/events: block rogue events for some time + - firmware: arm_scmi: Fix ARCH_COLD_RESET + - firmware: arm_scmi: Expand SMC/HVC message pool to more than one + - tee: client UUID: Skip REE kernel login method as well + - firmware: arm_scmi: Add missing Rx size re-initialisation + - x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 + compiled kernels + - x86/alternative: Don't call text_poke() in lazy TLB mode + - ionic: no rx flush in deinit + - RDMA/mlx5: Fix devlink deadlock on net namespace deletion + - mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() + - tracing, synthetic events: Replace buggy strcat() with seq_buf operations + - afs: Fix a use after free in afs_xattr_get_acl() + - afs: Fix afs_launder_page to not clear PG_writeback + - RDMA/qedr: Fix memory leak in iWARP CM + - ata: sata_nv: Fix retrieving of active qcs + - arm64: efi: increase EFI PE/COFF header padding to 64 KB + - afs: Fix to take ref on page when PG_private is set + - afs: Fix page leak on afs_write_begin() failure + - afs: Fix where page->private is set during write + - afs: Wrap page->private manipulations in inline functions + - afs: Alter dirty range encoding in page->private + - mm: add thp_order + - mm: add thp_size + - afs: Fix afs_invalidatepage to adjust the dirty region + - afs: Fix dirty-region encoding on ppc32 with 64K pages + - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM + - usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() + - futex: Fix incorrect should_fail_futex() handling + - powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures. + - powerpc/powernv/smp: Fix spurious DBG() warning + - RDMA/core: Change how failing destroy is handled during uobj abort + - f2fs: allocate proper size memory for zstd decompress + - powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N + - [Config] update config for ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race + - powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM + - sparc64: remove mm_cpumask clearing to fix kthread_use_mm race + - f2fs: add trace exit in exception path + - f2fs: do sanity check on zoned block device path + - f2fs: fix uninit-value in f2fs_lookup + - f2fs: fix to check segment boundary during SIT page readahead + - s390/startup: avoid save_area_sync overflow + - f2fs: compress: fix to disallow enabling compress on non-empty file + - um: change sigio_spinlock to a mutex + - f2fs: handle errors of f2fs_get_meta_page_nofail + - afs: Don't assert on unpurgeable server records + - powerpc/64s: handle ISA v3.1 local copy-paste context switches + - ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses + - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source + - xfs: Set xfs_buf type flag when growing summary/bitmap files + - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files + - xfs: log new intent items created as part of finishing recovered intent + items + - power: supply: bq27xxx: report "not charging" on all types + - xfs: change the order in which child and parent defer ops are finished + - xfs: fix realtime bitmap/summary file truncation when growing rt volume + - ath10k: fix retry packets update in station dump + - x86/kaslr: Initialize mem_limit to the real maximum address + - drm/ast: Separate DRM driver from PCI code + - drm/amdgpu: restore ras flags when user resets eeprom(v2) + - video: fbdev: pvr2fb: initialize variables + - ath10k: start recovery process when payload length exceeds max htc length + for sdio + - ath10k: fix VHT NSS calculation when STBC is enabled + - drm/scheduler: Scheduler priority fixes (v2) + - drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working + correctly + - ASOC: SOF: Intel: hda-codec: move unused label to correct position + - ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work + - selftests/x86/fsgsbase: Reap a forgotten child + - drm/bridge_connector: Set default status connected for eDP connectors + - media: videodev2.h: RGB BT2020 and HSV are always full range + - ASoC: AMD: Clean kernel log from deferred probe error messages + - misc: fastrpc: fix common struct sg_table related issues + - staging: wfx: fix potential use before init + - media: platform: Improve queue set up flow for bug fixing + - usb: typec: tcpm: During PR_SWAP, source caps should be sent only after + tSwapSourceStart + - media: tw5864: check status of tw5864_frameinterval_get + - drm/vkms: avoid warning in vkms_get_vblank_timestamp + - media: imx274: fix frame interval handling + - mmc: via-sdmmc: Fix data race bug + - drm/bridge/synopsys: dsi: add support for non-continuous HS clock + - brcmfmac: increase F2 watermark for BCM4329 + - arm64: topology: Stop using MPIDR for topology information + - printk: reduce LOG_BUF_SHIFT range for H8300 + - ia64: kprobes: Use generic kretprobe trampoline handler + - kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" + - bpf: Permit map_ptr arithmetic with opcode add and offset 0 + - drm: exynos: fix common struct sg_table related issues + - xen: gntdev: fix common struct sg_table related issues + - drm: lima: fix common struct sg_table related issues + - drm: panfrost: fix common struct sg_table related issues + - media: uvcvideo: Fix dereference of out-of-bound list iterator + - nfc: s3fwrn5: Add missing CRYPTO_HASH dependency + - selftests/bpf: Define string const as global for test_sysctl_prog.c + - selinux: access policycaps with READ_ONCE/WRITE_ONCE + - samples/bpf: Fix possible deadlock in xdpsock + - drm/amd/display: Check clock table return + - riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO + - cpufreq: sti-cpufreq: add stih418 support + - USB: adutux: fix debugging + - uio: free uio id after uio file node is freed + - coresight: Make sysfs functional on topologies with per core sink + - drm/amdgpu: No sysfs, not an error condition + - mac80211: add missing queue/hash initialization to 802.3 xmit + - usb: xhci: omit duplicate actions when suspending a runtime suspended host. + - SUNRPC: Mitigate cond_resched() in xprt_transmit() + - cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() + - arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE + - can: flexcan: disable clocks during stop mode + - habanalabs: remove security from ARB_MST_QUIET register + - xfs: don't free rt blocks when we're doing a REMAP bunmapi call + - xfs: avoid LR buffer overrun due to crafted h_len + - ACPI: Add out of bounds and numa_off protections to pxm_to_node() + - octeontx2-af: fix LD CUSTOM LTYPE aliasing + - brcmfmac: Fix warning message after dongle setup failed + - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc + - ath11k: fix warning caused by lockdep_assert_held + - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock + - drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values + - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG + - bus: mhi: core: Abort suspends due to outgoing pending packets + - bus/fsl_mc: Do not rely on caller to provide non NULL mc_io + - ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 + - power: supply: test_power: add missing newlines when printing parameters by + sysfs + - drm/amd/display: HDMI remote sink need mode validation for Linux + - drm/amd/display: Avoid set zero in the requested clk + - ARC: [dts] fix the errors detected by dtbs_check + - block: Consider only dispatched requests for inflight statistic + - btrfs: fix replace of seed device + - md/bitmap: md_bitmap_get_counter returns wrong blocks + - f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode + - bnxt_en: Log unknown link speed appropriately. + - rpmsg: glink: Use complete_all for open states + - PCI/ACPI: Add Ampere Altra SOC MCFG quirk + - clk: ti: clockdomain: fix static checker warning + - nfsd: rename delegation related tracepoints to make them less confusing + - net: 9p: initialize sun_server.sun_path to have addr's value only when addr + is valid + - ceph: encode inodes' parent/d_name in cap reconnect message + - drivers: watchdog: rdc321x_wdt: Fix race condition bugs + - jbd2: avoid transaction reuse after reformatting + - ext4: Detect already used quota file early + - KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest + - scsi: core: Clean up allocation and freeing of sgtables + - gfs2: call truncate_inode_pages_final for address space glocks + - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump + - gfs2: use-after-free in sysfs deregistration + - gfs2: add validation checks for size of superblock + - Handle STATUS_IO_TIMEOUT gracefully + - cifs: handle -EINTR in cifs_setattr + - arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes + - ARM: dts: omap4: Fix sgx clock rate for 4430 + - memory: emif: Remove bogus debugfs error handling + - ARM: dts: s5pv210: Enable audio on Aries boards + - ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema + warnings + - ARM: dts: s5pv210: move fixed clocks under root node + - ARM: dts: s5pv210: move PMU node out of clock controller + - ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node + - ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family + - ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries + - soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free + - firmware: arm_scmi: Move scmi bus init and exit calls into the driver + - nbd: make the config put is called before the notifying the waiter + - sgl_alloc_order: fix memory leak + - nvme-rdma: fix crash when connect rejected + - vmlinux.lds.h: Add PGO and AutoFDO input sections + - irqchip/loongson-htvec: Fix initial interrupt clearing + - md: fix the checking of wrong work queue + - md/raid5: fix oops during stripe resizing + - mmc: sdhci: Add LTR support for some Intel BYT based controllers + - mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN + - seccomp: Make duplicate listener detection non-racy + - selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS + - perf/x86/intel: Fix Ice Lake event constraint table + - perf/x86/amd: Fix sampling Large Increment per Cycle events + - perf/amd/uncore: Set all slices and threads to restore perf stat -a + behaviour + - perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() + - perf/x86/amd/ibs: Fix raw sample data accumulation + - spi: spi-mtk-nor: fix timeout calculation overflow + - spi: sprd: Release DMA channel also on probe deferral + - extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips + - leds: bcm6328, bcm6358: use devres LED registering function + - hwmon: (pmbus/max34440) Fix OC fault limits + - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect + - fs: Don't invalidate page buffers in block_write_full_page() + - ACPI: configfs: Add missing config_item_put() to fix refcount leak + - NFS: fix nfs_path in case of a rename retry + - ACPI: button: fix handling lid state changes when input device closed + - ACPI / extlog: Check for RDMSR failure + - ACPI: debug: don't allow debugging when ACPI is disabled + - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI + - ACPI: EC: PM: Flush EC work unconditionally after wakeup + - ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() + - acpi-cpufreq: Honor _PSD table setting on new AMD CPUs + - io-wq: assign NUMA node locality if appropriate + - w1: mxc_w1: Fix timeout resolution problem leading to bus error + - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum + - scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() + - scsi: qla2xxx: Fix MPI reset needed message + - scsi: qla2xxx: Fix reset of MPI firmware + - scsi: qla2xxx: Fix crash on session cleanup with unload + - PM: runtime: Remove link state checks in rpm_get/put_supplier() + - btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode + - btrfs: improve device scanning messages + - btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations + - btrfs: sysfs: init devices outside of the chunk_mutex + - btrfs: tracepoints: output proper root owner for trace_find_free_extent() + - btrfs: reschedule if necessary when logging directory items + - btrfs: send, orphanize first all conflicting inodes when processing + references + - btrfs: send, recompute reference path after orphanization of a directory + - btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() + - btrfs: tree-checker: fix false alert caused by legacy btrfs root item + - btrfs: reschedule when cloning lots of extents + - btrfs: cleanup cow block on error + - btrfs: skip devices without magic signature when mounting + - btrfs: tree-checker: validate number of chunk stripes and parity + - btrfs: fix use-after-free on readahead extent after failure to create it + - btrfs: fix readahead hang and use-after-free after removing a device + - btrfs: drop the path before adding block group sysfs files + - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM + functionality + - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests + - usb: dwc3: gadget: Check MPS of the request length + - usb: dwc3: gadget: Reclaim extra TRBs after request completion + - usb: dwc3: core: add phy cleanup for probe error handling + - usb: dwc3: core: don't trigger runtime pm when remove driver + - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL + - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command + - usb: cdns3: gadget: improve the set_configuration handling + - usb: cdns3: Fix on-chip memory overflow issue + - usb: cdc-acm: fix cooldown mechanism + - usb: typec: tcpm: reset hard_reset_count for any disconnect + - usb: host: fsl-mph-dr-of: check return of dma_set_mask() + - usbcore: Check both id_table and match() when both available + - USB: apple-mfi-fastcharge: don't probe unhandled devices + - drm/i915: Force VT'd workarounds when running as a guest OS + - vt: keyboard, simplify vt_kdgkbsent + - vt: keyboard, extend func_buf_lock to readers + - HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery + - x86/mce: Allow for copy_mc_fragile symbol checksum to be generated + - tty: serial: 21285: fix lockup on open + - tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A + - Revert "vhost-vdpa: fix page pinning leakage in error path" + - powerpc: Fix random segfault when freeing hugetlb range + - udf: Fix memory leak when mounting + - dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status + - vdpa_sim: Fix DMA mask + - iio: ltc2983: Fix of_node refcounting + - iio: adc: at91-sama5d2_adc: fix DMA conversion crash + - iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues. + - iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return + - iio:light:si1145: Fix timestamp alignment and prevent data leak. + - iio: adc: gyroadc: fix leak of device node iterator + - iio: ad7292: Fix of_node refcounting + - iio:adc:ti-adc0832 Fix alignment issue with timestamp + - iio:adc:ti-adc12138 Fix alignment issue with timestamp + - iio:imu:st_lsm6dsx Fix alignment and data leak issues + - iio:gyro:itg3200: Fix timestamp alignment and prevent data leak. + - powerpc/drmem: Make lmb_size 64 bit + - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace + - rcu-tasks: Fix low-probability task_struct leak + - rcu-tasks: Enclose task-list scan in rcu_read_lock() + - MIPS: DEC: Restore bootmem reservation for firmware working memory area + - MIPS: configs: lb60: Fix defconfig not selecting correct board + - s390/stp: add locking to sysfs functions + - powerpc: Warn about use of smt_snooze_delay + - powerpc/memhotplug: Make lmb size 64bit + - powerpc/powernv/elog: Fix race while processing OPAL error log event. + - powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP + - powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash + - powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct + - powerpc/32: Fix vmap stack - Properly set r1 before activating MMU + - block: advance iov_iter on bio_add_hw_page failure + - io_uring: use type appropriate io_kiocb handler for double poll + - gfs2: Make sure we don't miss any delayed withdraws + - gfs2: Only access gl_delete for iopen glocks + - NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE + - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag + - NFSD: Add missing NFSv2 .pc_func methods + - ubifs: dent: Fix some potential memory leaks while iterating entries + - ubifs: xattr: Fix some potential memory leaks while iterating entries + - ubifs: journal: Make sure to not dirty twice for auth nodes + - ubifs: Fix a memleak after dumping authentication mount options + - ubifs: Don't parse authentication mount options in remount process + - ubifs: mount_ubifs: Release authentication resource in error handling path + - perf vendor events amd: Add L2 Prefetch events for zen1 + - perf python scripting: Fix printable strings in python3 scripts + - ARC: perf: redo the pct irq missing in device-tree handling + - ubi: check kthread_should_stop() after the setting of task state + - ia64: fix build error with !COREDUMP + - rtc: rx8010: don't modify the global rtc ops + - i2c: imx: Fix external abort on interrupt in exit paths + - drm/amdgpu: don't map BO in reserved region + - drm/amd/display: Fix incorrect backlight register offset for DCN + - drm/amd/display: Increase timeout for DP Disable + - drm/amdgpu/vcn1.0: fix no previous prototype for functions + - drm/amdgpu: vcn and jpeg ring synchronization + - drm/amdgpu: correct the gpu reset handling for job != NULL case + - drm/amdkfd: Use same SQ prefetch setting as amdgpu + - drm/amd/display: Avoid MST manager resource leak. + - drm/amdgpu: increase the reserved VM size to 2MB + - drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally + - drm/amd/display: Fix kernel panic by dal_gpio_open() error + - ceph: promote to unsigned long long before shifting + - libceph: clear con->out_msg on Policy::stateful_server faults + - 9P: Cast to loff_t before multiplying + - net/sunrpc: Fix return value for sysctl sunrpc.transports + - PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 + - ring-buffer: Return 0 on success from ring_buffer_resize() + - intel_idle: Ignore _CST if control cannot be taken from the platform + - intel_idle: Fix max_cstate for processor models without C-state tables + - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag + - vringh: fix __vringh_iov() when riov and wiov are different + - ext4: fix leaking sysfs kobject after failed mount + - ext4: fix error handling code in add_new_gdb + - ext4: fix invalid inode checksum + - ext4: clear buffer verified flag if read meta block from disk + - ext4: fix bdev write error check failed when mount fs with ro + - ext4: fix bs < ps issue reported with dioread_nolock mount opt + - ext4: do not use extent after put_bh + - drm/ttm: fix eviction valuable range check. + - mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 + - mmc: sdhci-of-esdhc: set timeout to max before tuning + - mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true + - memory: tegra: Remove GPU from DRM IOMMU group + - memory: brcmstb_dpfe: Fix memory leak + - futex: Adjust absolute futex timeouts with per time namespace offset + - drm/amd/pm: increase mclk switch threshold to 200 us + - tty: make FONTX ioctl use the tty pointer they were actually passed + - arm64: berlin: Select DW_APB_TIMER_OF + - [Config] update annotations for DW_APB_TIMER + - cachefiles: Handle readpage error correctly + - hil/parisc: Disable HIL driver when it gets stuck + - arm: dts: mt7623: add missing pause for switchport + - ARM: aspeed: g5: Do not set sirq polarity + - ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries + - ARM: config: aspeed: Fix selection of media drivers + - ARM: samsung: fix PM debug build with DEBUG_LL but !MMU + - ARM: s3c24xx: fix missing system reset + - arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S + - arm64: dts: marvell: espressobin: Add ethernet switch aliases + - null_blk: synchronization fix for zoned device + - coresight: cti: Initialize dynamic sysfs attributes + - device property: Keep secondary firmware node secondary by type + - device property: Don't clear secondary pointer for shared primary firmware + node + - KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR + - staging: fieldbus: anybuss: jump to correct label in an error path + - staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice + - staging: octeon: repair "fixed-link" support + - staging: octeon: Drop on uncorrectable alignment or FCS error + - cpufreq: Introduce cpufreq_driver_test_flags() + - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set + - time: Prevent undefined behaviour in timespec64_to_ns() + - block: add capacity field to zone descriptors + - null_blk: introduce zone capacity for zoned device + - null_blk: Fix zone reset all tracing + - null_blk: Fix locking in zoned mode + - usb: dwc2: Avoid leaving the error_debugfs label unused + * [HP 635] Radeon 6310 brightness control does not work (LP: #1894667) // + Groovy update: upstream stable patchset 2020-12-14 (LP: #1908150) + - ACPI: video: use ACPI backlight for HP 635 Notebook + * CVE-2020-28974 + - vt: Disable KD_FONT_OP_COPY + * stack trace in kernel (LP: #1903596) + - net: napi: remove useless stack trace + * Refresh ACPI wakeup power to make Thunderbolt hotplug detection work + (LP: #1906229) + - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() + - PM: ACPI: Refresh wakeup device power configuration every time + * CVE-2020-27777 + - powerpc/rtas: Restrict RTAS requests from userspace + - [Config]: Set CONFIG_PPC_RTAS_FILTER + * NULL pointer dereference when configuring multi-function with devfn != 0 + before devfn == 0 (LP: #1903682) + - s390/pci: fix hot-plug of PCI function missing bus + * [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults + (LP: #1906255) + - s390: fix fpu restore in entry.S + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + -- Kelsey Skunberg Wed, 10 Feb 2021 15:55:30 -0700 + +linux-riscv-5.8 (5.8.0-16.18~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-16.18~20.04.1 -proposed tracker (LP: #1914686) + + [ Ubuntu: 5.8.0-16.18 ] + + * groovy/linux-riscv: 5.8.0-16.18 -proposed tracker (LP: #1914687) + * groovy/linux: 5.8.0-43.49 -proposed tracker (LP: #1914689) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Exploitable vulnerabilities in AF_VSOCK implementation (LP: #1914668) + - vsock: fix the race conditions in multi-transport support + * groovy/linux: 5.8.0-41.46 -proposed tracker (LP: #1912219) + * Groovy update: upstream stable patchset 2020-12-17 (LP: #1908555) // nvme + drive fails after some time (LP: #1910866) + - Revert "nvme-pci: remove last_sq_tail" + * initramfs unpacking failed (LP: #1835660) + - SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 05 Feb 2021 10:25:37 +0100 + +linux-riscv-5.8 (5.8.0-14.16~20.04.3) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-14.16~20.04.3 -proposed tracker (LP: #1914039) + + * Use gcc-10 to build 5.8 riscv backport kernel for focal (LP: #1913864) + - [Packaging] Use gcc-10 for riscv 5.8 kernel build + + -- Kleber Sacilotto de Souza Mon, 01 Feb 2021 15:39:27 +0100 + +linux-riscv-5.8 (5.8.0-14.16~20.04.1) focal; urgency=medium + + * focal/linux-riscv-5.8: 5.8.0-14.16~20.04.1 -proposed tracker (LP: #1912497) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + + [ Ubuntu: 5.8.0-14.16 ] + + * groovy/linux-riscv: 5.8.0-14.16 -proposed tracker (LP: #1911348) + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - clk: sifive: Extract prci core to common base + - clk: sifive: Use common name for prci configuration + - clk: sifive: Add a driver for the SiFive FU740 PRCI IP block + - clk: sifive: Fix the wrong bit field shift + - clk: sifive: Add clock enable and disable ops + - dt-bindings: riscv: sifive-l2-cache: convert bindings to json-schema + - dt-bindings: More whitespace clean-ups in schema files + - 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: fu740: prci: add YAML documentation for the FU740 PRCI + - dt-bindings: riscv: convert pwm bindings to json-schema + - dt-bindings: Explicitly allow additional properties in board/SoC schemas + - 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. + - HACK: Revert "of/device: Really only set bus DMA mask when appropriate" + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + - i2c: ocores: fix polling mode workaround on FU540-C000 SoC + - irqchip/sifive-plic: Fix broken irq_set_affinity() callback + - irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy + - [Config] Align configs with Unleashed defconfigs + - [Config] riscv: Hint ABI for missing modules + * groovy/linux: 5.8.0-39.44 -proposed tracker (LP: #1911350) + * overlay: permission regression in 5.4.0-51.56 due to patches related to + CVE-2020-16120 (LP: #1900141) + - ovl: do not fail because of O_NOATIME + * groovy/linux: 5.8.0-38.43 -proposed tracker (LP: #1911143) + * CVE-2020-28374 + - SAUCE: target: fix XCOPY NAA identifier lookup + * Packaging resync (LP: #1786013) + - update dkms package versions + * 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 + + -- Seth Forshee Wed, 20 Jan 2021 10:54:11 -0600 + +linux-riscv-5.8 (5.8.0-13.15) focal; urgency=medium + + * Empty entry. + + -- Seth Forshee Wed, 13 Jan 2021 13:15:43 -0600 + +linux-riscv (5.8.0-13.15) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-13.15 -proposed tracker (LP: #1907574) + + [ Ubuntu: 5.8.0-34.37 ] + + * groovy/linux: 5.8.0-34.37 -proposed tracker (LP: #1907576) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + -- Stefan Bader Tue, 15 Dec 2020 10:33:23 +0100 + +linux-riscv (5.8.0-12.14) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-12.14 -proposed tracker (LP: #1907406) + + [ Ubuntu: 5.8.0-33.36 ] + + * groovy/linux: 5.8.0-33.36 -proposed tracker (LP: #1907408) + * raid10: discard leads to corrupted file system (LP: #1907262) + - Revert "dm raid: remove unnecessary discard limits for raid10" + - Revert "dm raid: fix discard limits for raid1 and raid10" + - Revert "md/raid10: improve discard request for far layout" + - Revert "md/raid10: improve raid10 discard request" + - Revert "md/raid10: pull codes that wait for blocked dev into one function" + - Revert "md/raid10: extend r10bio devs to raid disks" + - Revert "md: add md_submit_discard_bio() for submitting discard bio" + + -- Andrea Righi Wed, 09 Dec 2020 15:21:02 +0100 + +linux-riscv (5.8.0-11.13) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-11.13 -proposed tracker (LP: #1905863) + + * please promote modules from extra to modules for HiFive Unleashed + (LP: #1905620) + - [Packaging] Add HiFive Unleashed drivers to generic inclusion list + + [ Ubuntu: 5.8.0-32.34 ] + + * groovy/linux: 5.8.0-32.34 -proposed tracker (LP: #1905865) + * Packaging resync (LP: #1786013) + - update dkms package versions + * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports + topology where zoning is enabled in expander (LP: #1899802) + - scsi: mpt3sas: Define hba_port structure + - scsi: mpt3sas: Allocate memory for hba_port objects + - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() + - scsi: mpt3sas: Update hba_port's sas_address & phy_mask + - scsi: mpt3sas: Get device objects using sas_address & portID + - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() + - scsi: mpt3sas: Get sas_device objects using device's rphy + - scsi: mpt3sas: Update hba_port objects after host reset + - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough + - scsi: mpt3sas: Handling HBA vSES device + - scsi: mpt3sas: Add bypass_dirty_port_flag parameter + - scsi: mpt3sas: Handle vSES vphy object during HBA reset + - scsi: mpt3sas: Add module parameter multipath_on_hba + - scsi: mpt3sas: Bump driver version to 35.101.00.00 + * CVE-2020-12912 + - hwmon: (amd_energy) modify the visibility of the counters + * Intel Tiger Lake IDs supplement (LP: #1904521) + - mtd: spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash + - pinctrl: tigerlake: Add support for Tiger Lake-H + * [i915] Noise-like lines of graphics corruption when moving windows in Xorg + sessions (LP: #1896091) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + * Fix no headset sound after S3 on Intel HDA (LP: #1904595) + - ALSA: hda: Refactor codec PM to use direct-complete optimization + - ALSA: hda: Separate runtime and system suspend + - ALSA: hda: Reinstate runtime_allow() for all hda controllers + * Ask 8821C Bluetooth controller to drop old firmware (LP: #1904221) + - Bluetooth: btrtl: Ask 8821C to drop old firmware + - Bluetooth: btrtl: fix incorrect skb allocation failure check + * Use ACPI S5 for reboot (LP: #1904225) + - PM: ACPI: reboot: Use S5 for reboot + * Groovy update: v5.8.18 upstream stable release (LP: #1904941) + - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in + nft_flow_rule_create + - io_uring: don't run task work on an exiting task + - io_uring: allow timeout/poll/files killing to take task into account + - io_uring: move dropping of files into separate helper + - io_uring: stash ctx task reference for SQPOLL + - io_uring: unconditionally grab req->task + - io_uring: return cancelation status from poll/timeout/files handlers + - io_uring: enable task/files specific overflow flushing + - io_uring: don't rely on weak ->files references + - io_uring: reference ->nsproxy for file table commands + - io_wq: Make io_wqe::lock a raw_spinlock_t + - io-wq: fix use-after-free in io_wq_worker_running + - io_uring: no need to call xa_destroy() on empty xarray + - io_uring: Fix use of XArray in __io_uring_files_cancel + - io_uring: Fix XArray usage in io_uring_add_task_file + - io_uring: Convert advanced XArray uses to the normal API + - scripts/setlocalversion: make git describe output more reliable + - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure + - fs/kernel_read_file: Remove FIRMWARE_EFI_EMBEDDED enum + - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs + - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs + - arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled + - x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() + - [Config] update config for ARCH_HAS_COPY_MC + - x86/copy_mc: Introduce copy_mc_enhanced_fast_string() + - bnxt_en: Check abort error state in bnxt_open_nic(). + - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). + - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. + - bnxt_en: Re-write PCI BARs after PCI fatal error. + - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. + - chelsio/chtls: fix deadlock issue + - chelsio/chtls: fix memory leaks in CPL handlers + - chelsio/chtls: fix tls record info to user + - cxgb4: set up filter action after rewrites + - gtp: fix an use-before-init in gtp_newlink() + - ibmveth: Fix use of ibmveth in a bridge. + - ibmvnic: fix ibmvnic_set_mac + - mlxsw: core: Fix memory leak on module removal + - netem: fix zero division in tabledist + - net: hns3: Clear the CMDQ registers before unmapping BAR region + - net: ipa: command payloads already mapped + - net/sched: act_mpls: Add softdep on mpls_gso.ko + - r8169: fix issue with forced threading in combination with shared interrupts + - ravb: Fix bit fields checking in ravb_hwtstamp_get() + - tcp: Prevent low rmem stalls with SO_RCVLOWAT. + - tipc: fix memory leak caused by tipc_buf_append() + - net: protect tcf_block_unbind with block lock + - erofs: avoid duplicated permission check for "trusted." xattrs + - arch/x86/amd/ibs: Fix re-arming IBS Fetch + - x86/traps: Fix #DE Oops message regression + - x86/xen: disable Firmware First mode for correctable memory errors + - PCI: aardvark: Fix initialization with old Marvell's Arm Trusted Firmware + - ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 + - fuse: fix page dereference after free + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - evm: Check size of security.evm before using it + - p54: avoid accessing the data mapped to streaming DMA + - cxl: Rework error message for incompatible slots + - RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() + - mtd: lpddr: Fix bad logic in print_drs_error + - drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex + - serial: qcom_geni_serial: To correct QUP Version detection logic + - serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt + - PM: runtime: Fix timer_expires data type on 32-bit arches + - ata: sata_rcar: Fix DMA boundary mask + - xen/gntdev.c: Mark pages as dirty + - openrisc: Fix issue with get_user for 64-bit values + - misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp() + - phy: marvell: comphy: Convert internal SMCC firmware return codes to errno + - Linux 5.8.18 + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: tree-checker: fix incorrect printk format + + [ Ubuntu: 5.8.0-31.33 ] + + * groovy/linux: 5.8.0-31.33 -proposed tracker (LP: #1905299) + * Groovy 5.8 kernel hangs on boot on CPUs with eLLC (LP: #1903397) + - drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup + during fbdev init + * CVE-2020-4788 + - selftests/powerpc: rfi_flush: disable entry flush if present + - powerpc/64s: flush L1D on kernel entry + - powerpc/64s: flush L1D after user accesses + - selftests/powerpc: entry flush test + + -- Kleber Sacilotto de Souza Wed, 02 Dec 2020 16:57:23 +0100 + +linux-riscv (5.8.0-10.12) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-10.12 -proposed tracker (LP: #1904993) + + * linux-riscv 5.8.0-9-generic (all 5.8 kernels) fail to boot in qemu + (LP: #1904912) + - riscv: Fixup bootup failure with HARDENED_USERCOPY + + -- Stefan Bader Fri, 20 Nov 2020 10:55:22 +0100 + +linux-riscv (5.8.0-9.11) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-9.11 -proposed tracker (LP: #1903192) + + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - [Packaging] riscv: module ocelot_board rename + + [ Ubuntu: 5.8.0-30.32 ] + + * groovy/linux: 5.8.0-30.32 -proposed tracker (LP: #1903194) + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + * EFI: Fails when BootCurrent entry does not exist (LP: #1899993) + - efivarfs: Replace invalid slashes with exclamation marks in dentries. + * raid10: Block discard is very slow, causing severe delays for mkfs and + fstrim operations (LP: #1896578) + - md: add md_submit_discard_bio() for submitting discard bio + - md/raid10: extend r10bio devs to raid disks + - md/raid10: pull codes that wait for blocked dev into one function + - md/raid10: improve raid10 discard request + - md/raid10: improve discard request for far layout + - dm raid: fix discard limits for raid1 and raid10 + - dm raid: remove unnecessary discard limits for raid10 + * Bionic: btrfs: kernel BUG at /build/linux- + eTBZpZ/linux-4.15.0/fs/btrfs/ctree.c:3233! (LP: #1902254) + - btrfs: extent_io: do extra check for extent buffer read write functions + - btrfs: extent-tree: kill BUG_ON() in __btrfs_free_extent() + - btrfs: extent-tree: kill the BUG_ON() in insert_inline_extent_backref() + - btrfs: ctree: check key order before merging tree blocks + * Tiger Lake PMC core driver fixes (LP: #1899883) + - platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name + - platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() + - platform/x86: pmc_core: Use descriptive names for LPM registers + - platform/x86: intel_pmc_core: Fix TigerLake power gating status map + - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value + * drm/i915/dp_mst - System would hang during the boot up. (LP: #1902469) + - Revert "UBUNTU: SAUCE: drm/i915/display: Fix null deref in + intel_psr_atomic_check()" + - drm/i915: Fix encoder lookup during PSR atomic check + * Undetected Data corruption in MPI workloads that use VSX for reductions on + POWER9 DD2.1 systems (LP: #1902694) + - powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation + - selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load + workaround + * [20.04 FEAT] Support/enhancement of NVMe IPL (LP: #1902179) + - s390/ipl: support NVMe IPL kernel parameters + * uvcvideo: add mapping for HEVC payloads (LP: #1895803) + - media: uvcvideo: Add mapping for HEVC payloads + * risc-v 5.8 kernel oops on ftrace tests (LP: #1894613) + - stop_machine, rcu: Mark functions as notrace + * Groovy update: v5.8.17 upstream stable release (LP: #1902137) + - xgb4: handle 4-tuple PEDIT to NAT mode translation + - ibmveth: Switch order of ibmveth_helper calls. + - ibmveth: Identify ingress large send packets. + - ipv4: Restore flowi4_oif update before call to xfrm_lookup_route + - mlx4: handle non-napi callers to napi_poll + - net: dsa: microchip: fix race condition + - net: fec: Fix phy_device lookup for phy_reset_after_clk_enable() + - net: fec: Fix PHY init after phy_reset_after_clk_enable() + - net: fix pos incrementment in ipv6_route_seq_next + - net: ipa: skip suspend/resume activities if not set up + - net: mptcp: make DACK4/DACK8 usage consistent among all subflows + - net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info + - net/smc: fix use-after-free of delayed events + - net/smc: fix valid DMBE buffer sizes + - net/tls: sendfile fails with ktls offload + - net: usb: qmi_wwan: add Cellient MPL200 card + - tipc: fix the skb_unshare() in tipc_buf_append() + - socket: fix option SO_TIMESTAMPING_NEW + - socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled + - can: m_can_platform: don't call m_can_class_suspend in runtime suspend + - can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt + - net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt + - net/ipv4: always honour route mtu during forwarding + - net_sched: remove a redundant goto chain check + - r8169: fix data corruption issue on RTL8402 + - binder: fix UAF when releasing todo list + - ALSA: bebob: potential info leak in hwdep_read() + - ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close + - tipc: re-configure queue limit for broadcast link + - tipc: fix incorrect setting window for bcast link + - chelsio/chtls: fix socket lock + - chelsio/chtls: correct netdevice for vlan interface + - chelsio/chtls: fix panic when server is on ipv6 + - chelsio/chtls: Fix panic when listen on multiadapter + - chelsio/chtls: correct function return and return type + - chelsio/chtls: fix writing freed memory + - ibmvnic: save changed mac address to adapter->mac_addr + - icmp: randomize the global rate limiter + - mptcp: initialize mptcp_options_received's ahmac + - net: ftgmac100: Fix Aspeed ast2600 TX hang issue + - net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device + - net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling + ether_setup + - net: Properly typecast int values to set sk_max_pacing_rate + - net/sched: act_ct: Fix adding udp port mangle operation + - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels + - nexthop: Fix performance regression in nexthop deletion + - nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in + nfc_genl_fw_download() + - r8169: fix operation under forced interrupt threading + - selftests: forwarding: Add missing 'rp_filter' configuration + - tcp: fix to update snd_wl1 in bulk receiver fast path + - net: ethernet: mtk-star-emac: select REGMAP_MMIO + - net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() + - ALSA: hda - Don't register a cb func if it is registered already + - ALSA: hda - Fix the return value if cb func is already registered + - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk + - ALSA: hda/realtek - set mic to auto detect on a HP AIO machine + - ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 + - ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 + - cifs: remove bogus debug code + - cifs: Return the error from crypt_message when enc/dec key not found. + - SMB3: Resolve data corruption of TCP server info fields + - SMB3.1.1: Fix ids returned in POSIX query dir + - smb3: do not try to cache root directory if dir leases not supported + - smb3: fix stat when special device file and mounted with modefromsid + - arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled + - KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI + - KVM: nVMX: Reset the segment cache when stuffing guest segs + - KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails + - KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages + - KVM: x86: Intercept LA57 to inject #GP fault when it's reserved + - KVM: SVM: Initialize prev_ga_tag before use + - ima: Don't ignore errors from crypto_shash_update() + - crypto: algif_aead - Do not set MAY_BACKLOG on the async path + - crypto: caam/qi - add fallback for XTS with more than 8B IV + - crypto: caam/qi - add support for more XTS key lengths + - RAS/CEC: Fix cec_init() prototype + - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() + - microblaze: fix kbuild redundant file warning + - EDAC/i5100: Fix error handling order in i5100_init_one() + - EDAC/aspeed: Fix handling of platform_get_irq() error + - EDAC/ti: Fix handling of platform_get_irq() error + - perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS + - x86/fpu: Allow multiple bits in clearcpuid= parameter + - arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions + - drivers/perf: xgene_pmu: Fix uninitialized resource struct + - drivers/perf: thunderx2_pmu: Fix memory resource error handling + - sched/fair: Fix wrong cpu selecting from isolated domain + - sched/fair: Use dst group while checking imbalance for NUMA balancer + - arm64: perf: Add missing ISB in armv8pmu_enable_counter() + - perf/x86/intel/uncore: Update Ice Lake uncore units + - perf/x86/intel/uncore: Reduce the number of CBOX counters + - perf/x86/intel/uncore: Fix the scale of the IMC free-running events + - x86/nmi: Fix nmi_handle() duration miscalculation + - x86/events/amd/iommu: Fix sizeof mismatch + - pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags + - pinctrl: qcom: Use return value from irq_set_wake() call + - perf/x86: Fix n_pair for cancelled txn + - perf/core: Fix race in the perf_mmap_close() function + - crypto: algif_skcipher - EBUSY on aio should be an error + - crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() + - crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call + - crypto: picoxcell - Fix potential race condition bug + - media: vivid: Fix global-out-of-bounds read in precalculate_color() + - media: tuner-simple: fix regression in simple_set_radio_freq + - crypto: ccree - fix runtime PM imbalance on error + - media: Revert "media: exynos4-is: Add missed check for + pinctrl_lookup_state()" + - media: hantro: h264: Get the correct fallback reference buffer + - media: hantro: postproc: Fix motion vector space allocation + - media: ov5640: Correct Bit Div register in clock tree diagram + - media: m5mols: Check function pointer in m5mols_sensor_power + - fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32 + - media: uvcvideo: Set media controller entity functions + - media: uvcvideo: Silence shift-out-of-bounds warning + - media: staging/intel-ipu3: css: Correctly reset some memory + - media: omap3isp: Fix memleak in isp_probe + - media: i2c: ov5640: Remain in power down for DVP mode unless streaming + - media: i2c: ov5640: Separate out mipi configuration from s_power + - media: i2c: ov5640: Enable data pins on poweron for DVP mode + - media: rcar_drif: Fix fwnode reference leak when parsing DT + - media: rcar_drif: Allocate v4l2_async_subdev dynamically + - media: rcar-csi2: Allocate v4l2_async_subdev dynamically + - spi: fsi: Handle 9 to 15 byte transfers lengths + - spi: fsi: Fix use of the bneq+ sequencer instruction + - spi: fsi: Implement restricted size for certain controllers + - spi: dw-pci: free previously allocated IRQs if desc->setup() fails + - crypto: omap-sham - fix digcnt register handling with export/import + - hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61} + - hwmon: (w83627ehf) Fix a resource leak in probe + - cypto: mediatek - fix leaks in mtk_desc_ring_alloc + - crypto: stm32/crc32 - Avoid lock if hardware is already used + - crypto: sun8i-ce - handle endianness of t_common_ctl + - media: mx2_emmaprp: Fix memleak in emmaprp_probe + - media: tc358743: initialize variable + - media: tc358743: cleanup tc358743_cec_isr + - media: rcar-vin: Fix a reference count leak. + - media: rockchip/rga: Fix a reference count leak. + - media: platform: fcp: Fix a reference count leak. + - media: camss: Fix a reference count leak. + - media: s5p-mfc: Fix a reference count leak + - media: stm32-dcmi: Fix a reference count leak + - media: ti-vpe: Fix a missing check and reference count leak + - regulator: resolve supply after creating regulator + - pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB + - spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() + - spi: spi-s3c64xx: Check return values + - hwmon: (bt1-pvt) Test sensor power supply on probe + - hwmon: (bt1-pvt) Cache current update timeout + - hwmon: (bt1-pvt) Wait for the completion with timeout + - btrfs: add owner and fs_info to alloc_state io_tree + - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue + - ath10k: provide survey info as accumulated data + - drm/vkms: fix xrgb on compute crc + - Bluetooth: hci_uart: Cancel init work before unregistering + - drm/amd/display: Fix wrong return value in dm_update_plane_state() + - drm/vgem: add missing platform_device_unregister() in vgem_init() + - drm/vkms: add missing platform_device_unregister() in vkms_init() + - drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel + - ath6kl: prevent potential array overflow in ath6kl_add_new_sta() + - ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() + - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error + handling path + - wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680 + - ASoC: qcom: lpass-platform: fix memory leak + - ASoC: qcom: lpass-cpu: fix concurrency issue + - ath11k: Fix possible memleak in ath11k_qmi_init_service + - brcmfmac: check ndev pointer + - mwifiex: Do not use GFP_KERNEL in atomic context + - staging: rtl8192u: Do not use GFP_KERNEL in atomic context + - drm/amd/display: fix potential integer overflow when shifting 32 bit + variable bl_pwm + - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() + - drm/gma500: fix error check + - scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()' + - scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call + - scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() + - scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() + - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() + - libbpf: Fix unintentional success return code in bpf_object__load + - wilc1000: Fix memleak in wilc_sdio_probe + - wilc1000: Fix memleak in wilc_bus_probe + - rtw88: don't treat NULL pointer as an array + - backlight: sky81452-backlight: Fix refcount imbalance on error + - staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() + - VMCI: check return value of get_user_pages_fast() for errors + - mm/error_inject: Fix allow_error_inject function signatures. + - drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel + - samples/bpf: Fix to xdpsock to avoid recycling frames + - drm/crc-debugfs: Fix memleak in crc_control_write + - Bluetooth: Clear suspend tasks on unregister + - selftests: vm: add fragment CONFIG_GUP_BENCHMARK + - scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN + - binder: Remove bogus warning on failed same-process transaction + - tty: serial: earlycon dependency + - pty: do tty_flip_buffer_push without port->lock in pty_write + - pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare() + - pwm: lpss: Add range limit check for the base_unit register value + - drivers/virt/fsl_hypervisor: Fix error handling path + - ath11k: fix a double free and a memory leak + - video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error + - video: fbdev: sis: fix null ptr dereference + - video: fbdev: radeon: Fix memleak in radeonfb_pci_register + - ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() + - scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk + - HID: roccat: add bounds checking in kone_sysfs_write_settings() + - drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check() + - drm/panfrost: Ensure GPU quirks are always initialised + - iomap: Clear page error before beginning a write + - iomap: Mark read blocks uptodate in write_begin + - selftests/lkdtm: Use "comm" instead of "diff" for dmesg + - Bluetooth: Re-order clearing suspend tasks + - pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser + - pinctrl: mcp23s08: Fix mcp23x17 precious range + - pinctrl: devicetree: Keep deferring even on timeout + - drm/msm/adreno: fix probe without iommu + - net/mlx5: Fix uninitialized variable warning + - net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow + - scsi: mpt3sas: Fix sync irqs + - net: stmmac: Fix incorrect location to set real_num_rx|tx_queues + - net: stmmac: use netif_tx_start|stop_all_queues() function + - xfs: force the log after remapping a synchronous-writes file + - cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE + - drm: mxsfb: check framebuffer pitch + - ima: Fix NULL pointer dereference in ima_file_hash + - ASoC: topology: disable size checks for bytes_ext controls if needed + - ASoC: tlv320adcx140: Fix digital gain range + - coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init + - coresight: fix offset by one error in counting ports + - coresight: cti: disclaim device only when it's claimed + - coresight: cti: remove pm_runtime_get_sync() from CPU hotplug + - coresight: etm4x: Ensure default perf settings filter user/kernel + - coresight: etm4x: Fix issues within reset interface of sysfs + - coresight: cti: Write regsiters directly in cti_enable_hw() + - coresight: etm4x: Handle unreachable sink in perf mode + - coresight: etm4x: Fix issues on trcseqevr access + - nvmem: core: fix missing of_node_put() in of_nvmem_device_get() + - selftests: mptcp: interpret \n as a new line + - selftests/bpf: Fix endianness issue in sk_assign + - selftests/bpf: Fix endianness issue in test_sockopt_sk + - xhci: don't create endpoint debugfs entry before ring buffer is set. + - net: dsa: rtl8366: Check validity of passed VLANs + - net: dsa: rtl8366: Refactor VLAN/PVID init + - net: dsa: rtl8366: Skip PVID setting if not requested + - net: wilc1000: clean up resource in error path of init mon interface + - ASoC: tas2770: Fix calling reset in probe + - ASoC: tas2770: Add missing bias level power states + - ASoC: tas2770: Fix required DT properties in the code + - ASoC: tas2770: Fix error handling with update_bits + - ASoC: tlv320aic32x4: Fix bdiv clock rate derivation + - net: dsa: rtl8366rb: Support all 4096 VLANs + - ASoC: SOF: control: add size checks for ext_bytes control .put() + - ASoC: tas2770: Fix unbalanced calls to pm_runtime + - spi: omap2-mcspi: Improve performance waiting for CHSTAT + - ath11k: Add checked value for ath11k_ahb_remove + - ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() + - drm: rcar-du: Put reference to VSP device + - phy: rockchip-dphy-rx0: Include linux/delay.h + - dmaengine: dmatest: Check list for emptiness before access its last entry + - ASoC: cros_ec_codec: fix kconfig dependency warning for + SND_SOC_CROS_EC_CODEC + - misc: mic: scif: Fix error handling path + - ALSA: seq: oss: Avoid mutex lock for a long-time ioctl + - usb: dwc2: Fix parameter type in function pointer prototype + - usb: dwc3: core: Properly default unspecified speed + - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails + - rtw88: Fix probe error handling race with firmware loading + - rtw88: Fix potential probe error handling race with wow firmware loading + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon + - quota: clear padding in v2r1_mem2diskdqb() + - slimbus: core: check get_addr before removing laddr ida + - slimbus: core: do not enter to clock pause mode in core + - slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback + - ASoC: fsl_sai: Instantiate snd_soc_dai_driver + - HID: hid-input: fix stylus battery reporting + - tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n + - nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() + - hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions + - nl80211: fix OBSS PD min and max offset validation + - iomap: Use kzalloc to allocate iomap_page + - coresight: etm: perf: Fix warning caused by etm_setup_aux failure + - coresight: cti: Fix remove sysfs link error + - coresight: cti: Fix bug clearing sysfs links on callback + - coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register + - ibmvnic: set up 200GBPS speed + - bpf: disallow attaching modify_return tracing functions to other BPF + programs + - selftests: Remove fmod_ret from test_overhead + - qtnfmac: fix resource leaks on unsupported iftype error return path + - pinctrl: aspeed: Use the right pinconf mask + - iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate() + - iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling + - net: enic: Cure the enic api locking trainwreck + - mfd: sm501: Fix leaks in probe() + - ASoC: wm_adsp: Pass full name to snd_ctl_notify + - iwlwifi: mvm: split a print to avoid a WARNING in ROC + - iwlwifi: dbg: remove no filter condition + - iwlwifi: dbg: run init_cfg function once per driver load + - usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above. + - usb: gadget: u_serial: clear suspended flag when disconnecting + - usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well + - bus: mhi: core: Fix the building of MHI module + - ocxl: fix kconfig dependency warning for OCXL + - nl80211: fix non-split wiphy information + - usb: dwc2: Fix INTR OUT transfers in DDMA mode. + - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized + - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() + - dmaengine: ioat: Allocate correct size for descriptor chunk + - ipmi_si: Fix wrong return value in try_smi_init() + - tracing: Fix parse_synth_field() error handling + - platform/x86: mlx-platform: Remove PSU EEPROM configuration + - mwifiex: fix double free + - drm/panfrost: increase readl_relaxed_poll_timeout values + - ipvs: clear skb->tstamp in forwarding path + - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup + - net: korina: fix kfree of rx/tx descriptor array + - netfilter: nf_log: missing vlan offload tag and proto + - mm/swapfile.c: fix potential memory leak in sys_swapon + - mm/memcg: fix device private memcg accounting + - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary + - fs: fix NULL dereference due to data race in prepend_path() + - selftests/ftrace: Change synthetic event name for inter-event-combined test + - tracing: Handle synthetic event array field type checking correctly + - i3c: master add i3c_master_attach_boardinfo to preserve boardinfo + - IB/mlx4: Fix starvation in paravirt mux/demux + - IB/mlx4: Adjust delayed work when a dup is observed + - powerpc/pseries: Fix missing of_node_put() in rng_init() + - powerpc/icp-hv: Fix missing of_node_put() in success path + - rcu/tree: Force quiescent state on callback overload + - rcutorture: Properly set rcu_fwds for OOM handling + - RDMA/ucma: Fix locking for ctx->events_reported + - RDMA/ucma: Add missing locking around rdma_leave_multicast() + - mtd: lpddr: fix excessive stack usage with clang + - RDMA/hns: Add a check for current state before modifying QP + - RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() + - powerpc/pseries: explicitly reschedule during drmem_lmb list traversal + - pseries/drmem: don't cache node id in drmem_lmb struct + - RDMA/mlx5: Fix potential race between destroy and CQE poll + - mtd: mtdoops: Don't write panic data twice + - perf tools: Make GTK2 support opt-in + - tools feature: Add missing -lzstd to the fast path feature detection + - ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values + - xfs: fix finobt btree block recovery ordering + - m68knommu: include SDHC support only when hardware has it + - arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER + - ida: Free allocated bitmap in error path + - xfs: limit entries returned when counting fsmap records + - xfs: fix deadlock and streamline xfs_getfsmap performance + - nfs: add missing "posix" local_lock constant table definition + - xfs: fix high key handling in the rt allocator's query_range function + - RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init + - RDMA/core: Delete function indirection for alloc/free kernel CQ + - RDMA: Allow fail of destroy CQ + - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page + boundary + - RDMA/umem: Prevent small pages from being returned by + ib_umem_find_best_pgsz() + - RDMA/qedr: Fix qp structure memory leak + - RDMA/qedr: Fix doorbell setting + - RDMA/qedr: Fix use of uninitialized field + - RDMA/qedr: Fix return code if accept is called on a destroyed qp + - RDMA/qedr: Fix inline size returned for iWARP + - powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory + - powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors + - powerpc/watchpoint: Fix handling of vector instructions + - powerpc/watchpoint: Add hw_len wherever missing + - powerpc/book3s64/hash/4k: Support large linear mapping range with 4K + - powerpc/tau: Use appropriate temperature sample interval + - powerpc/tau: Convert from timer to workqueue + - powerpc/tau: Remove duplicated set_thresholds() call + - powerpc/tau: Check processor type before enabling TAU interrupt + - powerpc/tau: Disable TAU between measurements + - powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx + - powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm + - RDMA/cma: Combine cma_ndev_work with cma_work + - RDMA/cma: Remove dead code for kernel rdmacm multicast + - RDMA/cma: Consolidate the destruction of a cma_multicast in one place + - RDMA/cma: Fix use after free race in roce multicast join + - perf intel-pt: Fix "context_switch event has no tid" error + - RDMA/qedr: Fix resource leak in qedr_create_qp + - RDMA/hns: Set the unsupported wr opcode + - RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() + - RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled + - RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work + - i40iw: Add support to make destroy QP synchronous + - perf stat: Skip duration_time in setup_system_wide + - RDMA/hns: Add check for the validity of sl configuration + - RDMA/hns: Solve the overflow of the calc_pg_sz() + - RDMA/hns: Fix the wrong value of rnr_retry when querying qp + - RDMA/hns: Fix configuration of ack_req_freq in QPC + - RDMA/hns: Fix missing sq_sig_type when querying QP + - mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access + - mtd: rawnand: stm32_fmc2: fix a buffer overflow + - mtd: rawnand: vf610: disable clk on error handling path in probe + - mtd: spinand: gigadevice: Only one dummy byte in QUADIO + - mtd: spinand: gigadevice: Add QE Bit + - mtd: rawnand: ams-delta: Fix non-OF build warning + - kdb: Fix pager search for multi-line strings + - overflow: Include header file with SIZE_MAX declaration + - RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces + - powerpc/64: fix irq replay missing preempt + - powerpc/64: fix irq replay pt_regs->softe value + - powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints + - powerpc/perf/hv-gpci: Fix starting index value + - perf stat: Fix out of bounds CPU map access when handling armv8_pmu events + - i3c: master: Fix error return in cdns_i3c_master_probe() + - powerpc/papr_scm: Add PAPR command family to pass-through command-set + - cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier + - IB/rdmavt: Fix sizeof mismatch + - RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() + - f2fs: reject CASEFOLD inode flag without casefold feature + - um: vector: Use GFP_ATOMIC under spin lock + - um: time-travel: Fix IRQ handling in time_travel_handle_message() + - maiblox: mediatek: Fix handling of platform_get_irq() error + - perf trace: Fix off by ones in memset() after realloc() in arches using + libaudit + - selftests/powerpc: Fix eeh-basic.sh exit codes + - f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info + - afs: Fix rapid cell addition/removal by not using RCU on cells tree + - afs: Fix cell refcounting by splitting the usage counter + - afs: Fix cell purging with aliases + - afs: Fix cell removal + - RDMA/rxe: Handle skb_clone() failure in rxe_recv.c + - mm/page_owner: change split_page_owner to take a count + - lib/crc32.c: fix trivial typo in preprocessor condition + - ramfs: fix nommu mmap with gaps in the page cache + - rapidio: fix error handling path + - rapidio: fix the missed put_device() for rio_mport_add_riodev + - mailbox: avoid timer start from callback + - clk: meson: axg-audio: separate axg and g12a regmap tables + - rtc: ds1307: Clear OSF flag on DS1388 when setting time + - i2c: rcar: Auto select RESET_CONTROLLER + - clk: meson: g12a: mark fclk_div2 as critical + - PCI: designware-ep: Fix the Header Type check + - PCI: aardvark: Fix compilation on s390 + - PCI: aardvark: Check for errors from pci_bridge_emul_init() call + - PCI: iproc: Set affinity mask on MSI interrupts + - rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge() + - rpmsg: Avoid double-free in mtk_rpmsg_register_device + - PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY + - vfio: add a singleton check for vfio_group_pin_pages + - s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY + - vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn + - vfio: fix a missed vfio group put in vfio_pin_pages + - vfio/type1: fix dirty bitmap calculation in vfio_dma_rw + - clk: qcom: gcc-sdm660: Fix wrong parent_map + - clk: keystone: sci-clk: fix parsing assigned-clock data during probe + - pwm: rockchip: Keep enabled PWMs running while probing + - pwm: img: Fix null pointer access in probe + - remoteproc/mediatek: fix null pointer dereference on null scp pointer + - PCI: hv: Fix hibernation in case interrupts are not re-created + - clk: rockchip: Initialize hw to error to avoid undefined behavior + - clk: mediatek: add UART0 clock support + - module: statically initialize init section freeing data + - clk: at91: clk-main: update key before writing AT91_CKGR_MOR + - clk: bcm2835: add missing release if devm_clk_hw_register fails + - kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n + - watchdog: Fix memleak in watchdog_cdev_register + - watchdog: Use put_device on error + - watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 + - svcrdma: fix bounce buffers for unaligned offsets and multiple pages + - ext4: fix dead loop in ext4_mb_new_blocks + - ext4: discard preallocations before releasing group lock + - ext4: disallow modifying DAX inode flag if inline_data has been set + - ext4: limit entries returned when counting fsmap records + - vfio/pci: Clear token on bypass registration failure + - vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages + - clk: imx8mq: Fix usdhc parents order + - SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() + - platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command + - Input: elants_i2c - fix typo for an attribute to show calibration count + - Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume() + - Input: stmfts - fix a & vs && typo + - Input: ep93xx_keypad - fix handling of platform_get_irq() error + - Input: omap4-keypad - fix handling of platform_get_irq() error + - Input: twl4030_keypad - fix handling of platform_get_irq() error + - Input: sun4i-ps2 - fix handling of platform_get_irq() error + - KVM: x86: emulating RDPID failure shall return #UD rather than #GP + - scsi: bfa: Fix error return in bfad_pci_init() + - arm64: mm: use single quantity to represent the PA to VA translation + - netfilter: conntrack: connection timeout after re-register + - netfilter: ebtables: Fixes dropping of small packets in bridge nat + - netsec: ignore 'phy-mode' device property on ACPI systems + - netfilter: nf_fwd_netdev: clear timestamp in forwarding path + - soc: xilinx: Fix error code in zynqmp_pm_probe() + - arm64: dts: meson: vim3: correct led polarity + - ARM: dts: imx6sl: fix rng node + - ARM: at91: pm: of_node_put() after its usage + - ARM: s3c24xx: fix mmc gpio lookup tables + - ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator + - arm64: dts: allwinner: h5: remove Mali GPU PMU module + - memory: omap-gpmc: Fix a couple off by ones + - memory: omap-gpmc: Fix build error without CONFIG_OF + - arm64: dts: qcom: sc7180: Fix the LLCC base register size + - memory: fsl-corenet-cf: Fix handling of platform_get_irq() error + - firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free + - arm64: dts: imx8mq: Add missing interrupts to GPC + - arm64: dts: qcom: sc7180: Drop flags on mdss irqs + - soc: qcom: pdr: Fixup array type of get_domain_list_resp message + - arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name + - arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec + - arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts + - soc: qcom: apr: Fixup the error displayed on lookup failure + - dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset + - arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels + - arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels + - arm64: dts: mt8173: elm: Fix nor_flash node property + - arm64: dts: actions: limit address range for pinctrl node + - ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers + - soc: fsl: qbman: Fix return value on success + - ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails + - ARM: dts: stm32: Fix sdmmc2 pins on AV96 + - ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays + - ARM: dts: stm32: Move ethernet PHY into DH SoM DT + - ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM + - ARM: dts: stm32: Fix DH PDK2 display PWM channel + - ARM: dts: iwg20d-q7-common: Fix touch controller probe failure + - soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api + - drm/mediatek: reduce clear event + - arm64: dts: zynqmp: Remove additional compatible string for i2c IPs + - ARM: dts: meson8: remove two invalid interrupt lines from the GPU node + - lightnvm: fix out-of-bounds write to array devices->info[] + - powerpc/powernv/dump: Fix race while processing OPAL dump + - powerpc/pseries: Avoid using addr_to_pfn in real mode + - nvmet: fix uninitialized work for zero kato + - KVM: ioapic: break infinite recursion on lazy EOI + - NTB: hw: amd: fix an issue about leak system resources + - ntb: intel: Fix memleak in intel_ntb_pci_probe + - sched/features: Fix !CONFIG_JUMP_LABEL case + - perf: correct SNOOPX field offset + - i2c: core: Restore acpi_walk_dep_device_list() getting called after + registering the ACPI i2c devs + - md/bitmap: fix memory leak of temporary bitmap + - block: ratelimit handle_bad_sector() message + - x86/dumpstack: Fix misleading instruction pointer error message + - crypto: ccp - fix error handling + - x86/asm: Replace __force_order with a memory clobber + - x86/mce: Add Skylake quirk for patrol scrub reported errors + - media: firewire: fix memory leak + - media: ati_remote: sanity check for both endpoints + - media: st-delta: Fix reference count leak in delta_run_work + - media: sti: Fix reference count leaks + - media: exynos4-is: Fix several reference count leaks due to + pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync + - media: exynos4-is: Fix a reference count leak + - media: vsp1: Fix runtime PM imbalance on error + - media: platform: s3c-camif: Fix runtime PM imbalance on error + - media: platform: sti: hva: Fix runtime PM imbalance on error + - media: bdisp: Fix runtime PM imbalance on error + - media: media/pci: prevent memory leak in bttv_probe + - x86/mce: Annotate mce_rd/wrmsrl() with noinstr + - crypto: hisilicon - fixed memory allocation error + - spi: fsi: Fix clock running too fast + - x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR + - media: uvcvideo: Ensure all probed info is returned to v4l2 + - mmc: sdio: Check for CISTPL_VERS_1 buffer size + - media: saa7134: avoid a shift overflow + - media: atomisp: fix memleak in ia_css_stream_create + - media: venus: fixes for list corruption + - fs: dlm: fix configfs memory leak + - media: venus: core: Fix error handling in probe + - media: venus: core: Fix runtime PM imbalance in venus_probe + - ntfs: add check for mft record size in superblock + - ip_gre: set dev->hard_header_len and dev->needed_headroom properly + - mac80211: handle lack of sband->bitrates in rates + - staging: wfx: fix handling of MMIC error + - libbpf: Close map fd if init map slots failed + - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI + - PM: hibernate: remove the bogus call to get_gendisk() in software_resume() + - scsi: mvumi: Fix error return in mvumi_io_attach() + - scsi: target: core: Add CONTROL field for trace events + - mic: vop: copy data to kernel space then write to io memory + - misc: vop: add round_up(x,4) for vring_size to avoid kernel panic + - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc + - usb: gadget: function: printer: fix use-after-free in __lock_acquire + - udf: Limit sparing table size + - udf: Avoid accessing uninitialized data on failed inode read + - rtw88: increse the size of rx buffer size + - USB: cdc-acm: handle broken union descriptors + - usb: dwc3: simple: add support for Hikey 970 + - habanalabs: cast to u64 before shift > 31 bits + - can: flexcan: flexcan_chip_stop(): add error handling and propagate error + value + - HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons + - ath9k: hif_usb: fix race condition between usb_get_urb() and + usb_kill_anchored_urbs() + - drm/panfrost: add Amlogic GPU integration quirks + - drm/panfrost: add amlogic reset quirk callback + - drm/panfrost: add support for vendor quirk + - bpf: Limit caller's stack depth 256 for subprogs with tailcalls + - misc: rtsx: Fix memory leak in rtsx_pci_probe + - reiserfs: only call unlock_new_inode() if I_NEW + - opp: Prevent memory leak in dev_pm_opp_attach_genpd() + - xfs: make sure the rt allocator doesn't run off the end + - usb: ohci: Default to per-port over-current protection + - drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create + - Bluetooth: Only mark socket zapped after unlocking + - drm/msm/a6xx: fix a potential overflow issue + - iomap: fix WARN_ON_ONCE() from unprivileged users + - scsi: ibmvfc: Fix error return in ibmvfc_probe() + - scsi: qla2xxx: Warn if done() or free() are called on an already freed srb + - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change + - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy + - rtl8xxxu: prevent potential memory leak + - Fix use after free in get_capset_info callback. + - HID: ite: Add USB id match for Acer One S1003 keyboard dock + - scsi: qedf: Return SUCCESS if stale rport is encountered + - scsi: qedi: Mark all connections for recovery on link down event + - scsi: qedi: Protect active command list to avoid list corruption + - scsi: qedi: Fix list_del corruption while removing active I/O + - fbmem: add margin check to fb_check_caps() + - tty: ipwireless: fix error handling + - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb + - ipvs: Fix uninit-value in do_ip_vs_set_ctl() + - reiserfs: Fix memory leak in reiserfs_parse_options() + - s390/qeth: strictly order bridge address events + - mwifiex: don't call del_timer_sync() on uninitialized timer + - ALSA: hda/ca0132 - Add AE-7 microphone selection commands. + - ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. + - ASoC: SOF: Add topology filename override based on dmi data match + - ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 + - scsi: smartpqi: Avoid crashing kernel for controller issues + - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach + - usb: core: Solve race condition in anchor cleanup functions + - scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() + - drm/amd/display: Screen corruption on dual displays (DP+USB-C) + - dmaengine: dw: Add DMA-channels mask cell support + - dmaengine: dw: Activate FIFO-mode for memory peripherals only + - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() + - net: korina: cast KSEG0 address to pointer in kfree + - s390/qeth: don't let HW override the configured port role + - tty: serial: lpuart: fix lpuart32_write usage + - tty: serial: fsl_lpuart: fix lpuart32_poll_get_char + - usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root + - usb: cdc-acm: add quirk to blacklist ETAS ES58X devices + - USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync(). + - usb: cdns3: gadget: free interrupt after gadget has deleted + - eeprom: at25: set minimum read/write access stride to 1 + - usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets. + - Linux 5.8.17 + * RTL8822BE [10ec:b822] network driver rtl_wifi crashes on boot in Focal Fossa + 20.04 - 5.4.0-21-generic and mainline 5.7.0-050700rc1-generic + (LP: #1872984) // Groovy update: v5.8.17 upstream stable release + (LP: #1902137) + - rtw88: pci: Power cycle device during shutdown + * Groovy update: v5.8.16 upstream stable release (LP: #1902132) + - crypto: bcm - Verify GCM/CCM key length in setkey + - crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA + - Bluetooth: Disconnect if E0 is used for Level 4 + - media: usbtv: Fix refcounting mixup + - USB: serial: option: add Cellient MPL200 card + - USB: serial: option: Add Telit FT980-KS composition + - staging: comedi: check validity of wMaxPacketSize of usb endpoints found + - USB: serial: pl2303: add device-id for HP GC device + - USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters + - reiserfs: Initialize inode keys properly + - reiserfs: Fix oops during mount + - Linux 5.8.16 + * Groovy update: v5.8.15 upstream stable release (LP: #1902130) + - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h + - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts + - fbcon: Fix global-out-of-bounds read in fbcon_get_font() + - Revert "ravb: Fixed to be able to unload modules" + - crypto: arm64: Use x16 with indirect branch to bti_c + - exfat: fix use of uninitialized spinlock on error path + - net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() + - drm/nouveau/mem: guard against NULL pointer access in mem_del + - partitions/ibm: fix non-DASD devices + - block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg() + - vhost: Don't call access_ok() when using IOTLB + - vhost: Use vhost_get_used_size() in vhost_vring_set_addr() + - usermodehelper: reset umask to default before executing user process + - splice: teach splice pipe reading about empty pipe buffers + - Platform: OLPC: Fix memleak in olpc_ec_probe + - platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP + Pavilion 11 x360 + - platform/x86: thinkpad_acpi: initialize tp_nvram_state variable + - platform/x86: asus-wmi: Fix SW_TABLET_MODE always reporting 1 on many + different models + - bpf: Fix sysfs export of empty BTF section + - bpf: Prevent .BTF section elimination + - r8169: consider that PHY reset may still be in progress after applying + firmware + - platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE + reporting + - platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse + - nvme-core: put ctrl ref when module ref get fail + - macsec: avoid use-after-free in macsec_handle_frame() + - RISC-V: Make sure memblock reserves the memory containing DT + - gpiolib: Disable compat ->read() code in UML case + - mm/khugepaged: fix filemap page_to_pgoff(page) != offset + - net: introduce helper sendpage_ok() in include/linux/net.h + - tcp: use sendpage_ok() to detect misused .sendpage + - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() + - xfrmi: drop ignore_df check before updating pmtu + - espintcp: restore IP CB before handing the packet to xfrm + - cifs: Fix incomplete memory allocation on setxattr path + - i2c: meson: fix clock setting overwrite + - i2c: meson: keep peripheral clock enabled + - i2c: meson: fixup rate calculation with filter delay + - i2c: owl: Clear NACK and BUS error bits + - sctp: fix sctp_auth_init_hmacs() error path + - team: set dev->needed_headroom in team_setup_by_port() + - net: team: fix memory leak in __team_options_register + - openvswitch: handle DNAT tuple collision + - drm/amdgpu: prevent double kfree ttm->sg + - btrfs: move btrfs_scratch_superblocks into btrfs_dev_replace_finishing + - io_uring: fix potential ABBA deadlock in ->show_fdinfo() + - drm/amd/pm: Removed fixed clock in auto mode DPM + - drm/amd/display: fix return value check for hdcp_work + - btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks + - iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() + - xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate + - xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate + - xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate + - xfrm: clone whole liftime_cur structure in xfrm_do_migrate + - xsk: Do not discard packet when NETDEV_TX_BUSY + - net: stmmac: removed enabling eee in EEE set callback + - platform/x86: fix kconfig dependency warning for LG_LAPTOP + - platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP + - hinic: add log in exception handling processes + - hinic: fix wrong return value of mac-set cmd + - net: dsa: felix: convert TAS link speed based on phylink speed + - xfrm: Use correct address family in xfrm_state_find + - iavf: use generic power management + - iavf: Fix incorrect adapter get in iavf_resume + - ice: fix memory leak if register_netdev_fails + - ice: fix memory leak in ice_vsi_setup + - vmxnet3: fix cksum offload issues for non-udp tunnels + - net: stmmac: Fix clock handling on remove path + - net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop + - bonding: set dev->needed_headroom in bond_setup_by_slave() + - mdio: fix mdio-thunder.c dependency & build error + - mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path + - r8169: fix RTL8168f/RTL8411 EPHY config + - net: usb: ax88179_178a: fix missing stop entry in driver_info + - virtio-net: don't disable guest csum when disable LRO + - net: phy: realtek: fix rtl8211e rx/tx delay config + - octeontx2-af: Fix enable/disable of default NPC entries + - octeontx2-pf: Fix TCP/UDP checksum offload for IPv6 frames + - octeontx2-pf: Fix the device state on error + - octeontx2-pf: Fix synchnorization issue in mbox + - pipe: Fix memory leaks in create_pipe_files() + - net/mlx5: Fix a race when moving command interface to polling mode + - net/mlx5: Avoid possible free of command entry while timeout comp handler + - net/mlx5: poll cmd EQ in case of command timeout + - net/mlx5: Add retry mechanism to the command entry index allocation + - net/mlx5: Fix request_irqs error flow + - net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU + - net/mlx5e: Fix return status when setting unsupported FEC mode + - net/mlx5e: Fix VLAN cleanup flow + - net/mlx5e: Fix VLAN create flow + - net/mlx5e: Fix race condition on nhe->n pointer in neigh update + - net: stmmac: Modify configuration method of EEE timers + - net: hinic: fix DEVLINK build errors + - vhost-vdpa: fix vhost_vdpa_map() on error condition + - vhost-vdpa: fix page pinning leakage in error path + - net: mvneta: fix double free of txq->buf + - rxrpc: Fix rxkad token xdr encoding + - rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read() + - rxrpc: Fix some missing _bh annotations on locking conn->state_lock + - rxrpc: The server keyring isn't network-namespaced + - rxrpc: Fix server keyring leak + - net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c + - [Packaging] module ocelot_board rename + - net: mscc: ocelot: split writes to pause frame enable bit and to thresholds + - net: mscc: ocelot: extend watermark encoding function + - net: mscc: ocelot: divide watermark value by 60 when writing to SYS_ATOP + - afs: Fix deadlock between writeback and truncate + - perf: Fix task_function_call() error handling + - mmc: core: don't set limits.discard_granularity as 0 + - mm: validate inode in mapping_set_error() + - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected + by khugepaged + - tcp: fix receive window update in tcp_add_backlog() + - netlink: fix policy dump leak + - net/core: check length before updating Ethertype in skb_mpls_{push,pop} + - net: bridge: fdb: don't flush ext_learn entries + - net/tls: race causes kernel panic + - net/mlx5e: Fix driver's declaration to support GRE offload + - tty/vt: Do not warn when huge selection requested + - Input: ati_remote2 - add missing newlines when printing module parameters + - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails + - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks + - net_sched: defer tcf_idr_insert() in tcf_action_init_1() + - net_sched: commit action insertions together + - Linux 5.8.15 + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + * Improve descriptions for XFAIL cases in kselftests/net/psock_snd + (LP: #1900088) + - selftests/net: improve descriptions for XFAIL cases in psock_snd.sh + * alsa/hda/realtek - The front Mic on a HP machine doesn't work (LP: #1899508) + - ALSA: hda/realtek - The front Mic on a HP machine doesn't work + * kci_test_encap_fou() in rtnetlink.sh from kselftests/net failed with "FAIL: + can't add fou port 7777, skipping test" (LP: #1891421) + - selftests: rtnetlink: load fou module for kci_test_encap_fou() test + * linux-aws: fold test_bpf SAUCE to linux/master (LP: #1900855) + - SAUCE: selftests: net: don't fail test_bpf when module is not present + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + [ Ubuntu: 5.8.0-29.31 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Stefan Bader Fri, 13 Nov 2020 10:00:46 +0100 + +linux-riscv (5.8.0-8.9) groovy; urgency=medium + + [ Ubuntu: 5.8.0-28.30 ] + + * CVE-2020-27194 + - bpf: Fix scalar32_min_max_or bounds tracking + + [ Ubuntu: 5.8.0-27.29 ] + + * CVE-2020-8694 + - powercap: make attributes only readable by root + + [ Ubuntu: 5.8.0-26.27 ] + + * groovy/linux: 5.8.0-26.27 -proposed tracker (LP: #1900896) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + -- Thadeu Lima de Souza Cascardo Thu, 05 Nov 2020 15:12:54 -0300 + +linux-riscv (5.8.0-7.7) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-7.7 -proposed tracker (LP: #1899936) + + [ Ubuntu: 5.8.0-25.26 ] + + * groovy/linux: 5.8.0-25.26 -proposed tracker (LP: #1899940) + * CVE-2020-12351 + - Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel + * CVE-2020-12352 + - Bluetooth: A2MP: Fix not initializing all members + * CVE-2020-12351 // CVE-2020-12352 // CVE-2020-24490 + - Bluetooth: Disable High Speed by default + - Bluetooth: MGMT: Fix not checking if BT_HS is enabled + - [Config] Disable BlueZ highspeed support + * ec2-hibinit-agent needs to properly initialize swap file (LP: #1892728) + - ext4: implement swap_activate aops using iomap + + [ Ubuntu: 5.8.0-24.25 ] + + * groovy/linux: 5.8.0-24.25 -proposed tracker (LP: #1899804) + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + * ceph: fix inode number handling on arches with 32-bit ino_t (LP: #1899582) + - ceph: fix inode number handling on arches with 32-bit ino_t + * 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 + + -- Paolo Pisati Thu, 15 Oct 2020 12:43:01 +0200 + +linux-riscv (5.8.0-6.6) groovy; urgency=medium + + + [ Ubuntu: 5.8.0-23.24 ] + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + -- Seth Forshee Fri, 09 Oct 2020 16:04:56 -0500 + +linux-riscv (5.8.0-5.5) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-5.5 -proposed tracker (LP: #1899097) + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UBUNTU_HOST=m + + [ Ubuntu: 5.8.0-22.23 ] + + * groovy/linux: 5.8.0-22.23 -proposed tracker (LP: #1899099) + * Packaging resync (LP: #1786013) + - update dkms package versions + * oops in nvkm_udevice_info() [nouveau] (LP: #1898130) + - drm/nouveau/device: return error for unknown chipsets + * 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 + * Groovy update: v5.8.14 upstream stable release (LP: #1898853) + - io_uring: always delete double poll wait entry on match + - btrfs: fix filesystem corruption after a device replace + - mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS + models + - USB: gadget: f_ncm: Fix NDP16 datagram validation + - Revert "usbip: Implement a match function to fix usbip" + - usbcore/driver: Fix specific driver selection + - usbcore/driver: Fix incorrect downcast + - usbcore/driver: Accommodate usbip + - gpio: siox: explicitly support only threaded irqs + - gpio: mockup: fix resource leak in error path + - gpio: tc35894: fix up tc35894 interrupt configuration + - gpio: amd-fch: correct logic of GPIO_LINE_DIRECTION + - clk: samsung: Keep top BPLL mux on Exynos542x enabled + - clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk + - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() + - i2c: i801: Exclude device from suspend direct complete optimization + - Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 + - iio: adc: qcom-spmi-adc5: fix driver name + - ftrace: Move RCU is watching check after recursion check + - tracing: Fix trace_find_next_entry() accounting of temp buffer size + - memstick: Skip allocating card when removing host + - drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config + - xen/events: don't use chip_data for legacy IRQs + - clocksource/drivers/timer-gx6605s: Fixup counter reload + - vboxsf: Fix the check for the old binary mount-arguments struct + - mt76: mt7915: use ieee80211_free_txskb to free tx skbs + - libbpf: Remove arch-specific include path in Makefile + - drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices + - Revert "wlcore: Adding suppoprt for IGTK key in wlcore driver" + - drm/sun4i: mixer: Extend regmap max_register + - hv_netvsc: Cache the current data path to avoid duplicate call and message + - net: dec: de2104x: Increase receive ring size for Tulip + - rndis_host: increase sleep time in the query-response loop + - nvme-pci: disable the write zeros command for Intel 600P/P3100 + - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() + - fuse: fix the ->direct_IO() treatment of iov_iter + - drivers/net/wan/lapbether: Make skb->protocol consistent with the header + - drivers/net/wan/hdlc: Set skb->protocol before transmitting + - mac80211: Fix radiotap header channel flag for 6GHz band + - mac80211: do not allow bigger VHT MPDUs than the hardware supports + - tracing: Make the space reserved for the pid wider + - tools/io_uring: fix compile breakage + - io_uring: mark statx/files_update/epoll_ctl as non-SQPOLL + - cpuidle: psci: Fix suspicious RCU usage + - spi: fsl-espi: Only process interrupts for expected events + - net: dsa: felix: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries + - nvme-pci: fix NULL req in completion handler + - nvme-fc: fail new connections to a deleted host or remote port + - scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.* + - gpio: sprd: Clear interrupt when setting the type as edge + - phy: ti: am654: Fix a leak in serdes_am654_probe() + - pinctrl: mvebu: Fix i2c sda definition for 98DX3236 + - nfs: Fix security label length not being reset + - NFSv4.2: fix client's attribute cache management for copy_file_range + - pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read + - clk: tegra: Always program PLL_E when enabled + - clk: tegra: Fix missing prototype for tegra210_clk_register_emc() + - dmaengine: dmatest: Prevent to run on misconfigured channel + - clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED + - scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case + - iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() + - gpio: pca953x: Fix uninitialized pending variable + - gpio/aspeed-sgpio: enable access to all 80 input & output sgpios + - gpio/aspeed-sgpio: don't enable all interrupts by default + - gpio: aspeed: fix ast2600 bank properties + - i2c: cpm: Fix i2c_ram structure + - i2c: npcm7xx: Clear LAST bit after a failed transaction. + - Input: trackpoint - enable Synaptics trackpoints + - blk-mq: call commit_rqs while list empty but error happen + - scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting + - autofs: use __kernel_write() for the autofs pipe writing + - pinctrl: qcom: sm8250: correct sdc2_clk + - pinctrl: mediatek: check mtk_is_virt_gpio input parameter + - gpio: pca953x: Correctly initialize registers 6 and 7 for PCA957x + - iommu/amd: Fix the overwritten field in IVMD header + - pipe: remove pipe_wait() and fix wakeup race with splice + - random32: Restore __latent_entropy attribute on net_rand_state + - gpiolib: Fix line event handling in syscall compatible mode + - drm/i915/gvt: Fix port number for BDW on EDID region setup + - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks + - scsi: sd: sd_zbc: Fix ZBC disk initialization + - epoll: do not insert into poll queues until all sanity checks are done + - epoll: replace ->visited/visited_list with generation count + - epoll: EPOLL_CTL_ADD: close the race in decision to take fast path + - ep_create_wakeup_source(): dentry name can change under you... + - Linux 5.8.14 + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: check for do_sys_openat2 in user-memory test + - SAUCE: doc: Disable extension incompatible with Sphinx 3 + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: Revert "UBUNTU: SAUCE: IB/umem: Fix the Peer flow to handle pinned + pages properly" + - SAUCE: Revert "UBUNTU: SAUCE: IB/mlx5: Use peer client page_shift" + - SAUCE: Revert "UBUNTU: SAUCE: fixup! RDMA/core: Introduce peer memory + interface" + - SAUCE: Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + - 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 + - Revert "UBUNTU: [Packaging] Temporarily disable building doc package + contents" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add support for mapping secids and + using secctxes"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Use an IDR to allocate apparmor + secids"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fixup secid map conversion to using + IDR"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add a wildcard secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Parse secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Allow filtering based on secmark + policy"" + - Revert "UBUNTU: SAUCE: Fix-up af_unix mediation for sock infrastructure + management" + - Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock security" + - Revert "UBUNTU: SAUCE: apparmor: update flags to no longer be exclusive" + - Revert "UBUNTU: SAUCE: apparmor: add an apparmorfs entry to access current + attrs" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add the ability to get a task's + secid"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Add support for audit rule + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: modify audit rule support to + support profile stacks"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix bad debug check in + apparmor_secid_to_secctx()"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: add #ifdef checks for secmark + filtering"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: fix checkpatch error in Parse + secmark policy"" + - Revert "UBUNTU: SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute"" + + -- Seth Forshee Thu, 08 Oct 2020 21:20:26 -0500 + +linux-riscv (5.8.0-4.4) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-4.4 -proposed tracker (LP: #1898148) + + * Miscellaneous Ubuntu changes + - [Config] toolchain update + + [ Ubuntu: 5.8.0-21.22 ] + + * groovy/linux: 5.8.0-21.22 -proposed tracker (LP: #1898150) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + * EFA: add support for 0xefa1 devices (LP: #1896791) + - RDMA/efa: Expose maximum TX doorbell batch + - RDMA/efa: Expose minimum SQ size + - RDMA/efa: User/kernel compatibility handshake mechanism + - RDMA/efa: Add EFA 0xefa1 PCI ID + * Groovy update: v5.8.13 upstream stable release (LP: #1898076) + - device_cgroup: Fix RCU list debugging warning + - ASoC: pcm3168a: ignore 0 Hz settings + - ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 + - ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 + - clk: versatile: Add of_node_put() before return statement + - RISC-V: Take text_mutex in ftrace_init_nop() + - i2c: aspeed: Mask IRQ status to relevant bits + - s390/init: add missing __init annotations + - lockdep: fix order in trace_hardirqs_off_caller() + - EDAC/ghes: Check whether the driver is on the safe list correctly + - drm/amdkfd: fix a memory leak issue + - drm/amd/display: Don't use DRM_ERROR() for DTM add topology + - drm/amd/display: update nv1x stutter latencies + - drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is + - drm/amd/display: Don't log hdcp module warnings in dmesg + - objtool: Fix noreturn detection for ignored functions + - i2c: mediatek: Send i2c master code at more than 1MHz + - riscv: Fix Kendryte K210 device tree + - ieee802154: fix one possible memleak in ca8210_dev_com_init + - ieee802154/adf7242: check status of adf7242_read_reg + - clocksource/drivers/h8300_timer8: Fix wrong return value in + h8300_8timer_init() + - batman-adv: bla: fix type misuse for backbone_gw hash indexing + - libbpf: Fix build failure from uninitialized variable warning + - atm: eni: fix the missed pci_disable_device() for eni_init_one() + - batman-adv: mcast/TT: fix wrongly dropped or rerouted packets + - netfilter: ctnetlink: add a range check for l3/l4 protonum + - netfilter: ctnetlink: fix mark based dump filtering regression + - netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled + - netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid + - mac802154: tx: fix use-after-free + - bpf: Fix clobbering of r2 in bpf_gen_ld_abs + - tools/libbpf: Avoid counting local symbols in ABI check + - drm/vc4/vc4_hdmi: fill ASoC card owner + - net: qed: Disable aRFS for NPAR and 100G + - net: qede: Disable aRFS for NPAR and 100G + - net: qed: RDMA personality shouldn't fail VF load + - igc: Fix wrong timestamp latency numbers + - igc: Fix not considering the TX delay for timestamps + - drm/sun4i: sun8i-csc: Secondary CSC register correction + - hv_netvsc: Switch the data path at the right time during hibernation + - spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs + - RDMA/core: Fix ordering of CQ pool destruction + - batman-adv: Add missing include for in_interrupt() + - xsk: Fix number of pinned pages/umem size discrepancy + - nvme-tcp: fix kconfig dependency warning when !CRYPTO + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN + - batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh + - batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh + - bpf: Fix a rcu warning for bpffs map pretty-print + - lib80211: fix unmet direct dependendices config warning when !CRYPTO + - mac80211: do not disable HE if HT is missing on 2.4 GHz + - cfg80211: fix 6 GHz channel conversion + - mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz + - ALSA: asihpi: fix iounmap in error handler + - io_uring: fix openat/openat2 unified prep handling + - SUNRPC: Fix svc_flush_dcache() + - regmap: fix page selection for noinc reads + - regmap: fix page selection for noinc writes + - net/mlx5e: mlx5e_fec_in_caps() returns a boolean + - MIPS: Loongson-3: Fix fp register access if MSA enabled + - PM / devfreq: tegra30: Disable clock on error in probe + - MIPS: Add the missing 'CPU_1074K' into __get_cpu_type() + - regulator: axp20x: fix LDO2/4 description + - spi: bcm-qspi: Fix probe regression on iProc platforms + - KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE + - KVM: SVM: Add a dedicated INVD intercept routine + - mm: validate pmd after splitting + - arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback + - x86/irq: Make run_on_irqstack_cond() typesafe + - x86/ioapic: Unbreak check_timer() + - scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported + - ALSA: usb-audio: Add delay quirk for H570e USB headsets + - ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged + - ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation + P520 + - lib/string.c: implement stpcpy + - tracing: fix double free + - s390/dasd: Fix zero write for FBA devices + - mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing + stations + - lib/bootconfig: Fix a bug of breaking existing tree nodes + - lib/bootconfig: Fix to remove tailing spaces after value + - kprobes: Fix to check probe enabled before disarm_kprobe_ftrace() + - kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot + - btrfs: fix put of uninitialized kobject after seed device delete + - btrfs: fix overflow when copying corrupt csums for a message + - media: cec-adap.c: don't use flush_scheduled_work() + - MIPS: Loongson2ef: Disable Loongson MMI instructions + - dmabuf: fix NULL pointer dereference in dma_buf_release() + - mm, THP, swap: fix allocating cluster for swapfile by mistake + - mm: replace memmap_context by meminit_context + - mm: don't rely on system state to detect hot-plug operations + - s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl + - io_uring: ensure open/openat2 name is cleaned on cancelation + - KVM: arm64: Assume write fault on S1PTW permission fault on instruction + fetch + - dm: fix bio splitting and its bio completion order for regular IO + - clocksource/drivers/timer-ti-dm: Do reset before enable + - Linux 5.8.13 + * 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 + * mwifiex stops working after kernel upgrade (LP: #1897299) + - mwifiex: Increase AES key storage size to 256 bits + * Oops and hang when starting LVM snapshots on 5.4.0-47 (LP: #1894780) + - SAUCE: Revert "mm: memcg/slab: fix memory leak at non-root kmem_cache + destroy" + * mm/slub kernel oops on focal kernel 5.4.0-45 (LP: #1895109) + - SAUCE: Revert "mm/slub: fix a memory leak in sysfs_slab_add()" + * Remove NVMe suspend-to-idle workaround (LP: #1897227) + - Revert "UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3" + - Revert "UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3" + * [UBUNTU 20.04.1] qemu (secure guest) crash due to gup_fast / dynamic page + table folding issue (LP: #1896726) + - mm/gup: fix gup_fast with dynamic page table folding + * backport tls-rx to ubuntu 5.8 (LP: #1895947) + - net/mlx5: kTLS, Improve TLS params layout structures + - net/mlx5e: Turn XSK ICOSQ into a general asynchronous one + - net/mlx5e: Refactor build channel params + - net/mlx5e: API to manipulate TTC rules destinations + - net/mlx5e: Receive flow steering framework for accelerated TCP flows + - net/mlx5e: Accel, Expose flow steering API for rules add/del + - net/mlx5e: kTLS, Improve TLS feature modularity + - net/mlx5e: kTLS, Use kernel API to extract private offload context + - net/mlx5e: kTLS, Add kTLS RX HW offload support + - Revert "net/tls: Add force_resync for driver resync" + - net/tls: Add asynchronous resync + - net/mlx5e: kTLS, Add kTLS RX resync support + - net/mlx5e: kTLS, Add kTLS RX stats + - net/mlx5e: Increase Async ICO SQ size + - net/mlx5e: kTLS, Cleanup redundant capability check + - net/mlx5e: kTLS, Improve rx handler function call + - net/mlx5e: kTLS, Fix napi sync and possible use-after-free + - net/mlx5e: fix memory leak of tls + - net/mlx5e: Fix build break when CONFIG_XPS is not set + - net/mlx5e: kTLS, Add missing dma_unmap in RX resync + - net/mlx5e: kTLS, Fix leak on resync error flow + - net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock + * Groovy update: v5.8.12 upstream stable release (LP: #1897550) + - ibmvnic fix NULL tx_pools and rx_tools issue at do_reset + - ibmvnic: add missing parenthesis in do_reset() + - act_ife: load meta modules before tcf_idr_check_alloc() + - bnxt_en: Avoid sending firmware messages when AER error is detected. + - bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() + - cxgb4: fix memory leak during module unload + - cxgb4: Fix offset when clearing filter byte counters + - geneve: add transport ports in route lookup for geneve + - hdlc_ppp: add range checks in ppp_cp_parse_cr() + - hinic: bump up the timeout of SET_FUNC_STATE cmd + - ip: fix tos reflection in ack and reset packets + - ipv4: Initialize flowi4_multipath_hash in data path + - ipv4: Update exception handling for multipath routes via same device + - ipv6: avoid lockdep issue in fib6_del() + - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under + RCU + - net: DCB: Validate DCB_ATTR_DCB_BUFFER argument + - net: dsa: rtl8366: Properly clear member config + - net: Fix bridge enslavement failure + - net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC + - net/mlx5: Fix FTE cleanup + - net: phy: call phy_disable_interrupts() in phy_attach_direct() instead + - net: sched: initialize with 0 before setting erspan md->u + - net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc + - net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant + - nfp: use correct define to return NONE fec + - taprio: Fix allowing too small intervals + - tipc: Fix memory leak in tipc_group_create_member() + - tipc: fix shutdown() of connection oriented socket + - tipc: use skb_unshare() instead in tipc_buf_append() + - net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported + - net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported + - bnxt_en: Use memcpy to copy VPD field info. + - bnxt_en: return proper error codes in bnxt_show_temp + - bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex. + - net: lantiq: Wake TX queue again + - net: lantiq: use netif_tx_napi_add() for TX NAPI + - net: lantiq: Use napi_complete_done() + - net: lantiq: Disable IRQs only if NAPI gets scheduled + - net: phy: Avoid NPD upon phy_detach() when driver is unbound + - net: phy: Do not warn in phy_stop() on PHY_DOWN + - net: qrtr: check skb_put_padto() return value + - net: add __must_check to skb_put_padto() + - net: ethernet: ti: cpsw_new: fix suspend/resume + - wireguard: noise: take lock when removing handshake entry from table + - wireguard: peerlookup: take lock before checking hash in replace operation + - net: ipa: fix u32_replace_bits by u32p_xxx version + - net/mlx5e: Fix memory leak of tunnel info when rule under multipath not + ready + - hinic: fix rewaking txq after netif_tx_disable + - hv_netvsc: Fix hibernation for mlx5 VF driver + - net: dsa: link interfaces with the DSA master to get rid of lockdep warnings + - net: dsa: microchip: ksz8795: really set the correct number of ports + - net: macb: fix for pause frame receive enable bit + - Revert "netns: don't disable BHs when locking "nsid_lock"" + - net/mlx5e: Use RCU to protect rq->xdp_prog + - net/mlx5e: Use synchronize_rcu to sync with NAPI + - net/mlx5e: Fix endianness when calculating pedit mask first bit + - Linux 5.8.12 + * Groovy update: v5.8.11 upstream stable release (LP: #1896795) + - RDMA/bnxt_re: Restrict the max_gids to 256 + - dt-bindings: spi: Fix spi-bcm-qspi compatible ordering + - mptcp: sendmsg: reset iter on error + - net: handle the return value of pskb_carve_frag_list() correctly + - dt-bindings: PCI: intel,lgm-pcie: Fix matching on all snps,dw-pcie instances + - hv_netvsc: Remove "unlikely" from netvsc_select_queue + - loop: Set correct device size when using LOOP_CONFIGURE + - firmware_loader: fix memory leak for paged buffer + - xprtrdma: Release in-flight MRs on disconnect + - NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall + - phy: omap-usb2-phy: disable PHY charger detect + - habanalabs: prevent user buff overflow + - habanalabs: fix report of RAZWI initiator coordinates + - scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort + - scsi: libfc: Fix for double free() + - scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery + - scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional + events + - regulator: pwm: Fix machine constraints application + - spi: spi-loopback-test: Fix out-of-bounds read + - interconnect: Show bandwidth for disabled paths as zero in debugfs + - NFS: Zero-stateid SETATTR should first return delegation + - SUNRPC: stop printk reading past end of string + - rapidio: Replace 'select' DMAENGINES 'with depends on' + - cifs: fix DFS mount with cifsacl/modefromsid + - openrisc: Fix cache API compile issue when not inlining + - nvme-fc: cancel async events before freeing event struct + - nvme-rdma: cancel async events before freeing event struct + - nvme-tcp: cancel async events before freeing event struct + - block: only call sched requeue_request() for scheduled requests + - f2fs: fix indefinite loop scanning for free nid + - f2fs: Return EOF on unaligned end of file DIO read + - i2c: algo: pca: Reapply i2c bus settings after reset + - spi: Fix memory leak on splited transfers + - KVM: MIPS: Change the definition of kvm type + - clk: davinci: Use the correct size when allocating memory + - clk: rockchip: Fix initialization of mux_pll_src_4plls_p + - ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend + delay + - ASoC: qcom: Set card->owner to avoid warnings + - ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() + - ASoC: rt711: Fix return check for devm_regmap_init_sdw() + - ASoC: rt715: Fix return check for devm_regmap_init_sdw() + - ASoC: rt700: Fix return check for devm_regmap_init_sdw() + - ASoC: qcom: common: Fix refcount imbalance on error + - drm/mediatek: dsi: Fix scrolling of panel with small hfp or hbp + - powerpc/book3s64/radix: Fix boot failure with large amount of guest memory + - ASoC: soc-core: add snd_soc_find_dai_with_mutex() + - ASoC: meson: axg-toddr: fix channel order on g12 platforms + - ASoC: tlv320adcx140: Fix accessing uninitialized adcx140->dev + - ASoC: Intel: haswell: Fix power transition refactor + - ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure + - Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() + - scsi: libsas: Fix error path in sas_notify_lldd_dev_found() + - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late + - Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload + - perf test: Fix the "signal" test inline assembly + - perf record: Don't clear event's period if set by a term + - MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT + - perf test: Free aliases for PMU event map aliases test + - perf metric: Fix some memory leaks + - perf evlist: Fix cpu/thread map leak + - perf parse-event: Fix memory leak in evsel->unit + - perf test: Free formats for perf pmu parse test + - drm/i915/gem: Reduce context termination list iteration guard to RCU + - fbcon: Fix user font detection test at fbcon_resize(). + - MIPS: SNI: Fix spurious interrupts + - drm/mediatek: Use CPU when fail to get cmdq event + - drm/mediatek: Add missing put_device() call in mtk_ddp_comp_init() + - drm/mediatek: Add exception handing in mtk_drm_probe() if component init + fail + - drm/mediatek: Add missing put_device() call in mtk_drm_kms_init() + - drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata() + - arm64: bpf: Fix branch offset in JIT + - iommu/amd: Fix potential @entry null deref + - iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode + - kconfig: qconf: use delete[] instead of delete to free array (again) + - i2c: mediatek: Fix generic definitions for bus frequency + - i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK + - riscv: Add sfence.vma after early page table changes + - locking/lockdep: Fix "USED" <- "IN-NMI" inversions + - efi: efibc: check for efivars write capability + - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count + - x86/unwind/fp: Fix FP unwinding in ret_from_fork + - drm/kfd: fix a system crash issue during GPU recovery + - drm/i915/gem: Delay tracking the GEM context until it is registered + - drm/i915: Filter wake_flags passed to default_wake_function + - USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin + notebook + - USB: UAS: fix disconnect by unplugging a hub + - usblp: fix race between disconnect() and read() + - usb: typec: ucsi: acpi: Increase command completion timeout value + - usb: typec: ucsi: Prevent mode overrun + - i2c: i801: Fix resume bug + - Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI + X570-A PRO" + - ALSA: hda: fixup headset for ASUS GX502 laptop + - ALSA: hda/realtek - The Mic on a RedmiBook doesn't work + - percpu: fix first chunk size calculation for populated bitmap + - Input: trackpoint - add new trackpoint variant IDs + - Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists + - serial: 8250_pci: Add Realtek 816a and 816b + - serial: core: fix port-lock initialisation + - serial: core: fix console port-lock regression + - x86/boot/compressed: Disable relocation relaxation + - ksm: reinstate memcg charge on copied pages + - kprobes: fix kill kprobe which has been marked as gone + - mm/thp: fix __split_huge_pmd_locked() for migration PMD + - s390: add 3f program exception handler + - s390/zcrypt: fix kmalloc 256k failure + - ehci-hcd: Move include to keep CRC stable + - arm64: paravirt: Initialize steal time when cpu is online + - powerpc/dma: Fix dma_map_ops::get_required_mask + - selftests/vm: fix display of page size in map_hugetlb + - dm/dax: Fix table reference counts + - mm/memory_hotplug: drain per-cpu pages again during memory offline + - dm: Call proper helper to determine dax support + - dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - mm: memcg: fix memcg reclaim soft lockup + - nvme-loop: set ctrl state connecting after init + - Linux 5.8.11 + * Miscellaneous Ubuntu changes + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - SAUCE: RDMA/core: Introduce peer memory interface + - SAUCE: fixup! RDMA/core: Introduce peer memory interface + - SAUCE: IB/mlx5: Use peer client page_shift + - SAUCE: IB/umem: Fix the Peer flow to handle pinned pages properly + - [Config] GCC version update + + -- Andrea Righi Fri, 02 Oct 2020 19:05:31 +0200 + +linux-riscv (5.8.0-3.3) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-3.3 -proposed tracker (LP: #1896666) + + * Miscellaneous Ubuntu changes + - [Config] update config for CONFIG_VGACON_SOFT_SCROLLBACK + + [ Ubuntu: 5.8.0-20.21 ] + + * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668) + * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices + (LP: #1853277) + - i2c: core: Call i2c_acpi_install_space_handler() before + i2c_acpi_register_devices() + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062) + - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing + nf_defrag_ipv6 support" + * [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 + * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event + 0x0304) (LP: #1896216) + - s390/pci: fix leak of DMA tables on hard unplug + * md: improve IO accounting (LP: #1891151) + - md: improve io stats accounting + * Groovy update: v5.8.10 upstream stable release (LP: #1896078) + - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm() + - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio + - ARM: dts: logicpd-som-lv-baseboard: Fix missing video + - regulator: push allocation in regulator_ena_gpio_request() out of lock + - regulator: remove superfluous lock in regulator_resolve_coupling() + - ARM: dts: socfpga: fix register entry for timer3 on Arria10 + - ARM: dts: omap5: Fix DSI base address and clocks + - ARM: dts: ls1021a: fix QuadSPI-memory reg range + - ARM: dts: imx7ulp: Correct gpio ranges + - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build + - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy + - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add + - RDMA/rxe: Fix memleak in rxe_mem_init_user + - RDMA/rxe: Drop pointless checks in rxe_init_ports + - RDMA/rxe: Fix panic when calling kmem_cache_create() + - RDMA/bnxt_re: Do not report transparent vlan from QP1 + - RDMA/bnxt_re: Fix the qp table indexing + - RDMA/bnxt_re: Static NQ depth allocation + - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address + - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds + - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux() + - arm64: dts: imx8mq: Fix TMU interrupt property + - drm/sun4i: Fix dsi dcs long write function + - scsi: qla2xxx: Fix regression on sparc64 + - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA + - drm/virtio: fix unblank + - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ + - RDMA/core: Fix reported speed and width + - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll + - scsi: mpt3sas: Don't call disable_irq from IRQ poll handler + - soundwire: fix double free of dangling pointer + - Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled" + - interconnect: qcom: Fix small BW votes being truncated to zero + - padata: fix possible padata_works_lock deadlock + - drm/sun4i: Fix DE2 YVU handling + - drm/sun4i: backend: Support alpha property on lowest plane + - drm/sun4i: backend: Disable alpha on the lowest plane on the A20 + - KVM: arm64: Update page shift if stage 2 block mapping not supported + - ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3 + - mmc: sdhci-acpi: Clear amd_sdhci_host on reset + - mmc: sdhci-msm: Add retries when all tuning phases are found valid + - spi: stm32: Rate-limit the 'Communication suspended' message + - btrfs: fix NULL pointer dereference after failure to create snapshot + - i2c: npcm7xx: Fix timeout calculation + - block: restore a specific error code in bdev_del_partition + - seccomp: don't leak memory when filter install races + - nvme-fabrics: allow to queue requests for live queues + - spi: stm32: fix pm_runtime_get_sync() error checking + - block: Set same_page to false in __bio_try_merge_page if ret is false + - RDMA/rtrs-srv: Set .release function for rtrs srv device during device init + - IB/isert: Fix unaligned immediate-data handling + - ARM: dts: bcm: HR2: Fixed QSPI compatible string + - ARM: dts: NSP: Fixed QSPI compatible string + - ARM: dts: BCM5301X: Fixed QSPI compatible string + - arm64: dts: ns2: Fixed QSPI compatible string + - KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control + - KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN + - ARC: HSDK: wireup perf irq + - dmaengine: acpi: Put the CSRT table after using it + - MIPS: Loongson64: Do not override watch and ejtag feature + - netfilter: conntrack: allow sctp hearbeat after connection re-use + - netfilter: nft_set_rbtree: Detect partial overlap with start endpoint match + - drivers/net/wan/lapbether: Added needed_tailroom + - NFC: st95hf: Fix memleak in st95hf_in_send_cmd + - firestream: Fix memleak in fs_open + - scsi: qedf: Fix null ptr reference in qedf_stag_change_work + - ALSA: hda: Fix 2 channel swapping for Tegra + - ALSA: hda/tegra: Program WAKEEN register for Tegra + - drivers/dma/dma-jz4780: Fix race condition between probe and irq handler + - net: hns3: Fix for geneve tx checksum bug + - xfs: fix off-by-one in inode alloc block reservation calculation + - drivers/net/wan/lapbether: Set network_header before transmitting + - wireless: fix wrong 160/80+80 MHz setting + - mac80211: reduce packet loss event false positives + - cfg80211: Adjust 6 GHz frequency to channel conversion + - xfs: initialize the shortform attr header padding entry + - ARC: show_regs: fix r12 printing and simplify + - irqchip/eznps: Fix build error for !ARC700 builds + - media: gpio-ir-tx: spinlock is not needed to disable interrupts + - nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu + - nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance + - nvme: have nvme_wait_freeze_timeout return if it timed out + - nvme-tcp: serialize controller teardown sequences + - nvme-tcp: fix timeout handler + - nvme-tcp: fix reset hang if controller died in the middle of a reset + - nvme-rdma: serialize controller teardown sequences + - nvme-rdma: fix timeout handler + - nvme-rdma: fix reset hang if controller died in the middle of a reset + - nvme-pci: cancel nvme device request before disabling + - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices + - HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller + - drivers/net/wan/hdlc_cisco: Add hard_header_len + - HID: elan: Fix memleak in elan_input_configured + - ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id + - cpufreq: intel_pstate: Refuse to turn off with HWP enabled + - cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled + - arm64/module: set trampoline section flags regardless of + CONFIG_DYNAMIC_FTRACE + - ALSA: hda: hdmi - add Rocketlake support + - ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled + - ALSA: hda: use consistent HDAudio spelling in comments/docs + - drivers/net/wan/hdlc: Change the default of hard_header_len to 0 + - drm/amdgpu: Fix bug in reporting voltage for CIK + - iommu/amd: Do not force direct mapping when SME is active + - iommu/amd: Do not use IOMMUv2 functionality when SME is active + - gcov: Disable gcov build with GCC 10 + - iio: adc: mcp3422: fix locking scope + - iio: adc: mcp3422: fix locking on error path + - iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set + - iio: cros_ec: Set Gyroscope default frequency to 25Hz + - iio:light:ltr501 Fix timestamp alignment issue. + - iio:proximity:mb1232: Fix timestamp alignment and prevent data leak. + - iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak. + - iio:adc:ti-adc084s021 Fix alignment and data leak issues. + - iio:adc:ina2xx Fix timestamp alignment issue. + - iio:adc:max1118 Fix alignment of timestamp and data leak issues + - iio:adc:ti-adc081c Fix alignment and data leak issues + - iio:magnetometer:ak8975 Fix alignment and data leak issues. + - iio:light:max44000 Fix timestamp alignment and prevent data leak. + - iio:chemical:ccs811: Fix timestamp alignment and prevent data leak. + - iio: accel: kxsd9: Fix alignment of local buffer. + - iio:accel:mma7455: Fix timestamp alignment and prevent data leak. + - iio:accel:mma8452: Fix timestamp alignment and prevent data leak. + - staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() + - btrfs: require only sector size alignment for parent eb bytenr + - btrfs: fix lockdep splat in add_missing_dev + - btrfs: free data reloc tree on failed mount + - btrfs: fix wrong address when faulting in pages in the search ioctl + - thunderbolt: Disable ports that are not implemented + - kobject: Restore old behaviour of kobject_del(NULL) + - regulator: push allocation in regulator_init_coupling() outside of lock + - regulator: push allocations in create_regulator() outside of lock + - regulator: push allocation in set_consumer_device_supply() out of lock + - regulator: plug of_node leak in regulator_register()'s error path + - regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive() + - misc: eeprom: at24: register nvmem only after eeprom is ready to use + - scsi: target: iscsi: Fix data digest calculation + - scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask + - scsi: target: iscsi: Fix hang in iscsit_access_np() when getting + tpg->np_login_sem + - drm/tve200: Stabilize enable/disable + - drm/msm: Split the a5xx preemption record + - drm/msm: Disable preemption on all 5xx targets + - drm/msm: Disable the RPTR shadow + - mmc: sdio: Use mmc_pre_req() / mmc_post_req() + - mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt + - nvme: Revert: Fix controller creation races with teardown flow + - rbd: require global CAP_SYS_ADMIN for mapping and unmapping + - RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars + - RDMA/mlx4: Read pkey table length instead of hardcoded value + - fbcon: remove soft scrollback code + - fbcon: remove now unusued 'softback_lines' cursor() argument + - vgacon: remove software scrollback support + - KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit + - KVM: arm64: Do not try to map PUDs when they are folded into PMD + - kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed + - KVM: fix memory leak in kvm_io_bus_unregister_dev() + - Revert "usb: dwc3: meson-g12a: fix shared reset control use" + - debugfs: Fix module state check condition + - test_firmware: Test platform fw loading on non-EFI systems + - arm64: dts: imx8mp: correct sdma1 clk setting + - ARM: dts: vfxxx: Add syscon compatible with OCOTP + - video: fbdev: fix OOB read in vga_8planes_imageblit() + - staging: greybus: audio: fix uninitialized value issue + - phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init + - usb: core: fix slab-out-of-bounds Read in read_descriptors + - USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter + - USB: serial: option: support dynamic Quectel USB compositions + - USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules + - usb: Fix out of sync data toggle if a configured device is reconfigured + - usb: typec: ucsi: acpi: Check the _DEP dependencies + - usb: typec: intel_pmc_mux: Un-register the USB role switch + - usb: typec: intel_pmc_mux: Do not configure Altmode HPD High + - usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in + Alternate modes + - drm/msm/gpu: make ringbuffer readonly + - gcov: add support for GCC 10.1 + - Linux 5.8.10 + - [Config] GCC version update + - [Config] updateconfigs following v5.8.10 import + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + * Thunderbolt3 daisy chain sometimes doesn't work (LP: #1895606) + - thunderbolt: Retry DROM read once if parsing fails + * Groovy update: v5.8.9 upstream stable release (LP: #1895634) + - io_uring: fix cancel of deferred reqs with ->files + - io_uring: fix linked deferred ->files cancellation + - RDMA/cma: Simplify DEVICE_REMOVAL for internal_id + - RDMA/cma: Using the standard locking pattern when delivering the removal + event + - RDMA/cma: Remove unneeded locking for req paths + - RDMA/cma: Execute rdma_cm destruction from a handler properly + - ipv4: Silence suspicious RCU usage warning + - ipv6: Fix sysctl max for fib_multipath_hash_policy + - netlabel: fix problems with mapping removal + - net: usb: dm9601: Add USB ID of Keenetic Plus DSL + - sctp: not disable bh in the whole sctp_get_port_local() + - taprio: Fix using wrong queues in gate mask + - tipc: fix shutdown() of connectionless socket + - tipc: fix using smp_processor_id() in preemptible + - net: disable netpoll on fresh napis + - mptcp: free acked data before waiting for more memory + - Linux 5.8.9 + * Miscellaneous Ubuntu changes + - SAUCE: Revert "selftests/bpf: Fix btf_dump test cases on 32-bit arches" + - [Config] annotations: remove VGACON_SOFT_SCROLLBACK + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + -- Andrea Righi Wed, 23 Sep 2020 11:54:07 +0200 + +linux-riscv (5.8.0-2.2) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-2.2 -proposed tracker (LP: #1895118) + + * Miscellaneous Ubuntu changes + - [Config] Update toolchain versions in configs + + [ Ubuntu: 5.8.0-19.20 ] + + * groovy/linux: 5.8.0-19.20 -proposed tracker (LP: #1895120) + * Please switch default, hwe, oem kernel flavours governor to + CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace + utilities such as game-mode can be later used to rev-up to to performance, + or rev-down to powersave. (LP: #1885730) + - [Config] Set the default CPU governor to ONDEMAND + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update variants + * [WD19TB] external DP failed with DRM error message (LP: #1886165) + - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders + - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock + * Groovy update: v5.8.8 upstream stable release (LP: #1895097) + - hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228 + - HID: quirks: Always poll three more Lenovo PixArt mice + - drm/msm/dpu: Fix reservation failures in modeset + - drm/msm/dpu: Fix scale params in plane validation + - drm/msm/dpu: fix unitialized variable error + - tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup + - drm/msm: add shutdown support for display platform_driver + - hwmon: (applesmc) check status earlier. + - nvmet: Disable keep-alive timer when kato is cleared to 0h + - drm/msm: enable vblank during atomic commits + - habanalabs: unmap PCI bars upon iATU failure + - habanalabs: validate packet id during CB parse + - habanalabs: set clock gating according to mask + - habanalabs: proper handling of alloc size in coresight + - habanalabs: set max power according to card type + - habanalabs: validate FW file size + - habanalabs: check correct vmalloc return code + - drm/msm/a6xx: fix gmu start on newer firmware + - gfs2: add some much needed cleanup for log flushes that fail + - hv_utils: return error if host timesysnc update is stale + - hv_utils: drain the timesync packets on onchannelcallback + - ceph: don't allow setlease on cephfs + - i2c: iproc: Fix shifting 31 bits + - drm/omap: fix incorrect lock state + - irqchip/ingenic: Leave parent IRQ unmasked on suspend + - cpuidle: Fixup IRQ state + - nbd: restore default timeout when setting it to zero + - s390: don't trace preemption in percpu macros + - drm/amd/display: should check error using DC_OK + - drm/amd/display: Reject overlay plane configurations in multi-display + scenarios + - drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in + amdgpu_dm_update_backlight_caps + - drm/amd/display: Revert HDCP disable sequence change + - drm/amd/display: Fix passive dongle mistaken as active dongle in EDID + emulation + - drm/amd/display: Keep current gain when ABM disable immediately + - drm/amd/display: Retry AUX write when fail occurs + - drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init + - xen/xenbus: Fix granting of vmalloc'd memory + - fsldma: fix very broken 32-bit ppc ioread64 functionality + - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling + - batman-adv: Avoid uninitialized chaddr when handling DHCP + - batman-adv: Fix own OGM check in aggregated OGMs + - batman-adv: bla: use netif_rx_ni when not in interrupt context + - dmaengine: at_hdmac: check return value of of_find_device_by_node() in + at_dma_xlate() + - dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate() + - dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() + - rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() + - rxrpc: Fix loss of RTT samples due to interposed ACK + - rxrpc: Make rxrpc_kernel_get_srtt() indicate validity + - MIPS: mm: BMIPS5000 has inclusive physical caches + - MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores + - mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 + - perf sched timehist: Fix use of CPU list with summary option + - perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set + - netfilter: nf_tables: add NFTA_SET_USERDATA if not null + - netfilter: nf_tables: incorrect enum nft_list_attributes definition + - netfilter: nf_tables: fix destination register zeroing + - net: hns: Fix memleak in hns_nic_dev_probe + - net: systemport: Fix memleak in bcm_sysport_probe + - ravb: Fixed to be able to unload modules + - net: arc_emac: Fix memleak in arc_mdio_probe + - bpf: Fix a buffer out-of-bound access when filling raw_tp link_info + - dmaengine: pl330: Fix burst length if burst size is smaller than bus width + - dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg + - gtp: add GTPA_LINK info to msg sent to userspace + - net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port + - net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port + - bnxt_en: Don't query FW when netif_running() is false. + - bnxt_en: Check for zero dir entries in NVRAM. + - bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled. + - bnxt_en: Fix PCI AER error recovery flow + - bnxt_en: Fix possible crash in bnxt_fw_reset_task(). + - bnxt_en: fix HWRM error when querying VF temperature + - xfs: finish dfops on every insert range shift iteration + - xfs: fix boundary test in xfs_attr_shortform_verify + - bnxt: don't enable NAPI until rings are ready + - media: vicodec: add missing v4l2_ctrl_request_hdl_put() + - media: cedrus: Add missing v4l2_ctrl_request_hdl_put() + - net: ethernet: ti: cpsw_new: fix error handling in + cpsw_ndo_vlan_rx_kill_vid() + - media: i2c: imx214: select V4L2_FWNODE + - selftests/bpf: Fix massive output from test_maps + - net: dsa: mt7530: fix advertising unsupported 1000baseT_Half + - netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS + - nvmet-fc: Fix a missed _irqsave version of spin_lock in + 'nvmet_fc_fod_op_done()' + - nvme: fix controller instance leak + - netfilter: conntrack: do not auto-delete clash entries on reply + - opp: Don't drop reference for an OPP table that was never parsed + - cxgb4: fix thermal zone device registration + - net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode + - MIPS: perf: Fix wrong check condition of Loongson event IDs + - block: fix locking in bdev_del_partition + - perf top/report: Fix infinite loop in the TUI for grouped events + - perf cs-etm: Fix corrupt data after perf inject from + - perf intel-pt: Fix corrupt data after perf inject from + - perf tools: Correct SNOOPX field offset + - net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() + - fix regression in "epoll: Keep a reference on files added to the check list" + - net: bcmgenet: fix mask check in bcmgenet_validate_flow() + - net: gemini: Fix another missing clk_disable_unprepare() in probe + - nfp: flower: fix ABI mismatch between driver and firmware + - net: dp83867: Fix WoL SecureOn password + - MIPS: add missing MSACSR and upper MSA initialization + - MIPS: SNI: Fix SCSI interrupt + - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files + - perf jevents: Fix suspicious code in fixregex() + - perf stat: Turn off summary for interval mode by default + - perf bench: The do_run_multi_threaded() function must use + IS_ERR(perf_session__new()) + - tg3: Fix soft lockup when tg3_reset_task() fails. + - x86, fakenuma: Fix invalid starting node ID + - iommu/vt-d: Serialize IOMMU GCMD register modifications + - thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 + - thermal: qcom-spmi-temp-alarm: Don't suppress negative temp + - iommu/amd: Restore IRTE.RemapEn bit after programming IRTE + - iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE + - include/linux/log2.h: add missing () around n in roundup_pow_of_two() + - iommu/vt-d: Handle 36bit addressing for x86-32 + - tracing/kprobes, x86/ptrace: Fix regs argument order for i386 + - x86/entry: Fix AC assertion + - x86/debug: Allow a single level of #DB recursion + - ext2: don't update mtime on COW faults + - xfs: don't update mtime on COW faults + - ARC: perf: don't bail setup if pct irq missing in device-tree + - arc: fix memory initialization for systems with two memory banks + - btrfs: drop path before adding new uuid tree entry + - btrfs: fix potential deadlock in the search ioctl + - btrfs: allocate scrub workqueues outside of locks + - btrfs: set the correct lockdep class for new nodes + - btrfs: set the lockdep class for log tree extent buffers + - btrfs: block-group: fix free-space bitmap threshold + - btrfs: tree-checker: fix the error message for transid error + - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier + - x86/mm/32: Bring back vmalloc faulting on x86_32 + - Revert "ALSA: hda: Add support for Loongson 7A1000 controller" + - ALSA: ca0106: fix error code handling + - ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 + - ALSA: usb-audio: Add implicit feedback quirk for UR22C + - ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check + - ALSA: hda/hdmi: always check pin power status in i915 pin fixup + - ALSA: firewire-digi00x: exclude Avid Adrenaline from detection + - ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO + - ALSA; firewire-tascam: exclude Tascam FE-8 from detection + - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A + - ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen + - arm64: dts: mt7622: add reset node for mmc device + - mmc: mediatek: add optional module reset property + - mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings + - mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based + controllers + - media: rc: do not access device via sysfs after rc_unregister_device() + - media: rc: uevent sysfs file races with rc_unregister_device() + - affs: fix basic permission bits to actually work + - block: allow for_each_bvec to support zero len bvec + - block: ensure bdi->io_pages is always initialized + - io_uring: set table->files[i] to NULL when io_sqe_file_register failed + - io_uring: fix removing the wrong file in __io_sqe_files_update() + - s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig + - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks + - mips/oprofile: Fix fallthrough placement + - blk-iocost: ioc_pd_free() shouldn't assume irq disabled + - blk-stat: make q->stats->lock irqsafe + - dmaengine: dw-edma: Fix scatter-gather address calculation + - drm/i915: Fix sha_text population code + - drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting + - drm/amdgpu: Specify get_argument function for ci_smu_funcs + - dm writecache: handle DAX to partitions on persistent memory correctly + - dm mpath: fix racey management of PG initialization + - dm integrity: fix error reporting in bitmap mode after creation + - dm crypt: Initialize crypto wait structures + - dm cache metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Avoid returning cmd->bm wild pointer on error + - dm thin metadata: Fix use-after-free in dm_bm_set_read_only + - mm: slub: fix conversion of freelist_corrupted() + - mm: track page table modifications in __apply_to_page_range() + - mm: madvise: fix vma user-after-free + - mm/rmap: fixup copying of soft dirty and uffd ptes + - io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file + - perf record: Correct the help info of option "--no-bpf-event" + - kconfig: streamline_config.pl: check defined(ENV variable) before using it + - sdhci: tegra: Add missing TMCLK for data timeout + - checkpatch: fix the usage of capture group ( ... ) + - mm/migrate: fixup setting UFFD_WP flag + - mm/hugetlb: try preferred node first when alloc gigantic page from cma + - mm/hugetlb: fix a race between hugetlb sysctl handlers + - mm/khugepaged.c: fix khugepaged's request size in collapse_file + - cfg80211: regulatory: reject invalid hints + - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() + - Linux 5.8.8 + * Groovy update: v5.8.7 upstream stable release (LP: #1894959) + - HID: core: Correctly handle ReportSize being zero + - HID: core: Sanitize event code and type when mapping input + - netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap + detection + - mm: fix pin vs. gup mismatch with gate pages + - selftests/x86/test_vsyscall: Improve the process_vm_readv() test + - perf record/stat: Explicitly call out event modifiers in the documentation + - media: media/v4l2-core: Fix kernel-infoleak in video_put_user() + - KVM: arm64: Add kvm_extable for vaxorcism code + - KVM: arm64: Survive synchronous exceptions caused by AT instructions + - dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later + - arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes + - arm64: tegra: Add missing timeout clock to Tegra210 SDMMC + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210 + - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186 + - nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage + - scsi: target: tcmu: Optimize use of flush_dcache_page + - Linux 5.8.7 + * Groovy update: v5.8.6 upstream stable release (LP: #1894956) + - Revert "UBUNTU: SAUCE: Revert "ARM64: vdso32: Install vdso32 from + vdso_install"" + - khugepaged: khugepaged_test_exit() check mmget_still_valid() + - ASoC: intel/skl/hda - fix probe regression on systems without i915 + - ALSA: pci: delete repeated words in comments + - drm/amdgpu: fix RAS memory leak in error case + - EDAC/mc: Call edac_inc_ue_error() before panic + - ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt + - ASoC: img-parallel-out: Fix a reference count leak + - ASoC: tegra: Fix reference count leaks. + - mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs + - arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep + - powerpc/xive: Ignore kmemleak false positives + - media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA + value in debiirq() + - gcc-plugins/stackleak: Don't instrument itself + - blktrace: ensure our debugfs dir exists + - staging: rts5208: fix memleaks on error handling paths in probe + - scsi: target: tcmu: Fix crash on ARM during cmd completion + - mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs + - iommu/iova: Don't BUG on invalid PFNs + - platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow + - drm/amdkfd: Fix reference count leaks. + - drm/radeon: fix multiple reference count leak + - drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms + - drm/amd/display: fix ref count leak in amdgpu_drm_ioctl + - drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config + - drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/fence: fix ref count leak when pm_runtime_get_sync fails + - drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails + - drm/amdgpu/pm: fix ref count leak when pm_runtime_get_sync fails + - scsi: lpfc: Fix shost refcount mismatch when deleting vport + - xfs: Don't allow logging of XFS_ISTALE inodes + - scsi: target: Fix xcopy sess release leak + - selftests/powerpc: Purge extra count_pmc() calls of ebb selftests + - f2fs: remove write attribute of main_blkaddr sysfs node + - f2fs: fix error path in do_recover_data() + - MIPS: KVM: Limit Trap-and-Emulate to MIPS32R2 only + - omapfb: fix multiple reference count leaks due to pm_runtime_get_sync + - PCI: Fix pci_create_slot() reference count leak + - ARM: dts: ls1021a: output PPS signal on FIPER2 + - rtlwifi: rtl8192cu: Prevent leaking urb + - mips/vdso: Fix resource leaks in genvdso.c + - ALSA: hda: Add support for Loongson 7A1000 controller + - gpu: host1x: Put gather's BO on pinning error + - cec-api: prevent leaking memory through hole in structure + - ASoC: Intel: sof_sdw_rt711: remove properties in card remove + - HID: quirks: add NOGET quirk for Logitech GROUP + - f2fs: fix use-after-free issue + - drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open + - drm/nouveau: fix reference count leak in nv50_disp_atomic_commit + - drm/nouveau: Fix reference count leak in nouveau_connector_detect + - locking/lockdep: Fix overflow in presentation of average lock-time + - btrfs: file: reserve qgroup space after the hole punch range is locked + - btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode + - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() + - netfilter: nf_tables: report EEXIST on overlaps + - ceph: fix potential mdsc use-after-free crash + - ceph: do not access the kiocb after aio requests + - scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() + - i2c: i801: Add support for Intel Tiger Lake PCH-H + - EDAC/ie31200: Fallback if host bridge device is already initialized + - hugetlbfs: prevent filesystem stacking of hugetlbfs + - media: davinci: vpif_capture: fix potential double free + - media: i2c: imx290: fix reset GPIO pin handling + - drm/amd/display: change global buffer to local buffer + - drm/amd/display: fix compilation error on allmodconfig + - KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe + - powerpc/spufs: add CONFIG_COREDUMP dependency + - dmaengine: idxd: fix PCI_MSI build errors + - USB: sisusbvga: Fix a potential UB casued by left shifting a negative value + - mmc: sdhci-of-arasan: fix timings allocation code + - brcmfmac: Set timeout value when configuring power save + - pinctrl: mediatek: avoid virtual gpio trying to set reg + - pinctrl: mediatek: fix build for tristate changes + - efi: provide empty efi_enter_virtual_mode implementation + - arm64: Fix __cpu_logical_map undefined issue + - net: openvswitch: introduce common code for flushing flows + - PCI: qcom: Add missing ipq806x clocks in PCIe driver + - PCI: qcom: Change duplicate PCI reset to phy reset + - PCI: qcom: Add missing reset for ipq806x + - PM / devfreq: Fix the wrong end with semicolon + - cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode + - ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) + - nfsd: fix oops on mixed NFSv4/NFSv3 client access + - block: respect queue limit of max discard segment + - block: virtio_blk: fix handling single range discard request + - drm/msm/adreno: fix updating ring fence + - block: Fix page_is_mergeable() for compound pages + - bfq: fix blkio cgroup leakage v4 + - hwmon: (nct7904) Correct divide by 0 + - blk-mq: insert request not through ->queue_rq into sw/scheduler queue + - blkcg: fix memleak for iolatency + - nvmet: fix a memory leak + - nvme-fc: Fix wrong return value in __nvme_fc_init_request() + - nvme: multipath: round-robin: fix single non-optimized path case + - null_blk: fix passing of REQ_FUA flag in null_handle_rq + - habanalabs: Fix memory corruption in debugfs + - drm/etnaviv: always start/stop scheduler in timeout processing + - i2c: core: Don't fail PRP0001 enumeration when no ID table exist + - i2c: rcar: in slave mode, clear NACK earlier + - vdpa: ifcvf: return err when fail to request config irq + - vdpa: ifcvf: free config irq in ifcvf_free_irq() + - usb: gadget: f_tcm: Fix some resource leaks in some error paths + - video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n + - spi: stm32: clear only asserted irq flags on interrupt + - jbd2: make sure jh have b_transaction set in refile/unfile_buffer + - ext4: don't BUG on inconsistent journal feature + - ext4: handle read only external journal device + - ext4: skip non-loaded groups at cr=0/1 when scanning for good groups + - drm/virtio: fix memory leak in virtio_gpu_cleanup_object() + - ext4: abort the filesystem if failed to async write metadata buffer + - jbd2: abort journal if free a async write error metadata buffer + - ext4: handle option set by mount flags correctly + - ext4: handle error of ext4_setup_system_zone() on remount + - ext4: correctly restore system zone info when remount fails + - fs: prevent BUG_ON in submit_bh_wbc() + - spi: stm32h7: fix race condition at end of transfer + - spi: stm32: fix fifo threshold level in case of short transfer + - spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate + - spi: stm32: always perform registers configuration prior to transfer + - drm/amd/powerplay: correct Vega20 cached smu feature state + - drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading + - drm/amd/display: Fix LFC multiplier changing erratically + - drm/amd/display: Switch to immediate mode for updating infopackets + - selftests/bpf: Fix segmentation fault in test_progs + - netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency + - libbpf: Prevent overriding errno when logging errors + - tools/bpftool: Fix compilation warnings in 32-bit mode + - selftest/bpf: Fix compilation warnings in 32-bit mode + - selftests/bpf: Fix btf_dump test cases on 32-bit arches + - selftests/bpf: Correct various core_reloc 64-bit assumptions + - can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect + corruptions + - dma-pool: fix coherent pool allocations for IOMMU mappings + - dma-pool: Only allocate from CMA when in same memory zone + - drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check + - ALSA: hda/realtek: Add model alc298-samsung-headphone + - s390/cio: add cond_resched() in the slow_eval_known_fn() loop + - ASoC: wm8994: Avoid attempts to read unreadable registers + - ALSA: usb-audio: ignore broken processing/extension unit + - selftests: disable rp_filter for icmp_redirect.sh + - scsi: fcoe: Fix I/O path allocation + - scsi: ufs: Fix possible infinite loop in ufshcd_hold + - scsi: ufs: Improve interrupt handling for shared interrupts + - scsi: ufs: Clean up completed request without interrupt notification + - scsi: scsi_debug: Fix scp is NULL errors + - scsi: qla2xxx: Flush all sessions on zone disable + - scsi: qla2xxx: Flush I/O on zone disable + - scsi: qla2xxx: Indicate correct supported speeds for Mezz card + - scsi: qla2xxx: Fix login timeout + - scsi: qla2xxx: Check if FW supports MQ before enabling + - scsi: qla2xxx: Fix null pointer access during disconnect from subsystem + - Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" + - macvlan: validate setting of multiple remote source MAC addresses + - net: gianfar: Add of_node_put() before goto statement + - drm/amdgpu: fix NULL pointer access issue when unloading driver + - drm/amdkfd: fix the wrong sdma instance query for renoir + - bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator + - bpf: Avoid visit same object multiple times + - ext4: limit the length of per-inode prealloc list + - powerpc/perf: Fix soft lockups due to missed interrupt accounting + - libbpf: Fix map index used in error message + - bpf: selftests: global_funcs: Check err_str before strstr + - arm64: Move handling of erratum 1418040 into C code + - arm64: Allow booting of late CPUs affected by erratum 1418040 + - hwmon: (gsc-hwmon) Scale temperature to millidegrees + - block: fix get_max_io_size() + - block: loop: set discard granularity and alignment for block device backed + loop + - blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART + - btrfs: reset compression level for lzo on remount + - btrfs: check the right error variable in btrfs_del_dir_entries_in_log + - btrfs: fix space cache memory leak after transaction abort + - btrfs: detect nocow for swap after snapshot delete + - fbcon: prevent user font height or width change from causing potential out- + of-bounds access + - USB: lvtest: return proper error code in probe + - vt: defer kfree() of vc_screenbuf in vc_do_resize() + - vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize() + - serial: samsung: Removes the IRQ not found warning + - serial: pl011: Fix oops on -EPROBE_DEFER + - serial: pl011: Don't leak amba_ports entry on driver register error + - serial: stm32: avoid kernel warning on absence of optional IRQ + - serial: 8250_exar: Fix number of ports for Commtech PCIe cards + - serial: 8250: change lock order in serial8250_do_startup() + - io_uring: clear req->result on IOPOLL re-issue + - writeback: Protect inode->i_io_list with inode->i_lock + - writeback: Avoid skipping inode writeback + - writeback: Fix sync livelock due to b_dirty_time processing + - XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN + data pointer which contains XEN specific information. + - usb: renesas-xhci: remove version check + - usb: host: xhci-tegra: otg usb2/usb3 port init + - usb: host: xhci-tegra: fix tegra_xusb_get_phy() + - usb: host: xhci: fix ep context print mismatch in debugfs + - xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed + - io-wq: fix hang after cancelling pending hashed work + - KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception + - arm64: vdso32: make vdso32 install conditional + - PM: sleep: core: Fix the handling of pending runtime resume requests + - powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU + - powerpc/perf: Fix crashes with generic_compat_pmu & BHRB + - device property: Fix the secondary firmware node handling in + set_primary_fwnode() + - crypto: af_alg - Work around empty control messages without MSG_MORE + - usbip: Implement a match function to fix usbip + - genirq/matrix: Deal with the sillyness of for_each_cpu() on UP + - irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by + mistake + - x86/irq: Unbreak interrupt affinity setting + - x86/hotplug: Silence APIC only after all interrupts are migrated + - drm/i915: Fix cmd parser desc matching with masks + - drm/etnaviv: fix external abort seen on GC600 rev 0x19 + - drm/dp_mst: Don't return error code when crtc is null + - drm/modeset-lock: Take the modeset BKL for legacy drivers + - drm/amdgpu: Fix buffer overflow in INFO ioctl + - drm/amd/display: use correct scale for actual_brightness + - drm/amdgpu/gfx10: refine mgcg setting + - drm/amd/powerplay: Fix hardmins not being sent to SMU for RV + - drm/amd/pm: correct Vega10 swctf limit setting + - drm/amd/pm: correct Vega12 swctf limit setting + - drm/amd/pm: correct Vega20 swctf limit setting + - drm/amd/pm: correct the thermal alert temperature limit settings + - USB: yurex: Fix bad gfp argument + - usb: uas: Add quirk for PNY Pro Elite + - USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D + - USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge + - usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() + - USB: gadget: u_f: add overflow checks to VLA macros + - USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb() + - USB: gadget: u_f: Unbreak offset calculation in VLAs + - usb: dwc3: gadget: Don't setup more than requested + - usb: dwc3: gadget: Fix handling ZLP + - usb: dwc3: gadget: Handle ZLP for sg requests + - USB: cdc-acm: rework notification_buffer resizing + - usb: storage: Add unusual_uas entry for Sony PSZ drives + - USB: Also match device drivers using the ->match vfunc + - USB: Fix device driver race + - usb: typec: ucsi: Fix AB BA lock inversion + - usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls + - usb: typec: ucsi: Rework ppm_lock handling + - usb: typec: ucsi: Hold con->lock for the entire duration of + ucsi_register_port() + - usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA + 2.3.1.2 failures + - io_uring: don't recurse on tsk->sighand->siglock with signalfd + - io_uring: don't use poll handler if file can't be nonblocking read/written + - io_uring: make offset == -1 consistent with preadv2/pwritev2 + - drm/atomic-helper: reset vblank on crtc reset + - fbmem: pull fbcon_update_vcs() out of fb_set_var() + - mm/page_counter: fix various data races at memsw + - HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() + - drm/vmwgfx/stdu: Use drm_mode_config_reset + - drm/vmwgfx/sou: Use drm_mode_config_reset + - drm/vmwgfx/ldu: Use drm_mode_config_reset + - dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() + - ALSA: usb-audio: Update documentation comment for MS2109 quirk + - Linux 5.8.6 + - [Config] GCC version update + * DELL LATITUDE 5491 touchscreen doesn't work (LP: #1889446) // Groovy update: + v5.8.6 upstream stable release (LP: #1894956) + - USB: quirks: Add no-lpm quirk for another Raydium touchscreen + * [NUC8CCHK][HDA-Intel - HDA Intel PCH, playback] No sound at all + (LP: #1875199) // Groovy update: v5.8.6 upstream stable release + (LP: #1894956) + - ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged + * CVE-2020-14386 + - net/packet: fix overflow in tpacket_rcv + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Groovy update: v5.8.5 upstream stable release (LP: #1893237) + - gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY + - net: Fix potential wrong skb->protocol in skb_vlan_untag() + - net: nexthop: don't allow empty NHA_GROUP + - net: qrtr: fix usage of idr in port assignment to socket + - net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error + flow + - net: sctp: Fix negotiation of the number of data streams. + - net/smc: Prevent kernel-infoleak in __smc_diag_dump() + - tipc: call rcu_read_lock() in tipc_aead_encrypt_done() + - tipc: fix uninit skb->data in tipc_nl_compat_dumpit() + - net: ena: Make missed_tx stat incremental + - ethtool: Fix preserving of wanted feature bits in netlink interface + - ethtool: Account for hw_features in netlink interface + - ethtool: Don't omit the netlink reply if no features were changed + - netlink: fix state reallocation in policy export + - io_uring: fix missing ->mm on exit + - binfmt_flat: revert "binfmt_flat: don't offset the data start" + - Linux 5.8.5 + * Miscellaneous Ubuntu changes + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and + map_kernel_range()" + + -- Andrea Righi Wed, 23 Sep 2020 11:47:52 +0200 + +linux-riscv (5.8.0-1.1) groovy; urgency=medium + + * groovy/linux-riscv: 5.8.0-1.1 -proposed tracker (LP: #1892958) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + - [Packaging] update variants + - [Packaging] update update.conf + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Config] Move build of linux-libc-dev to primary kernel + + * Miscellaneous Ubuntu changes + - [Packaging] Update debhelper build-depends for compat 10 + - [Packaging] Updates for using upstream wireguard driver + - [Config] Update configs for 5.8 + - [Config] Update annotations for 5.8 + - [Config] Update configs after rebase to 5.8.0-18.19 + - [Config] Enable CONFIG_DEBUG_INFO_BTF + - [Config] Update toolchain versions in configs + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + - [Config] Update toolchain versions in configs + - [Config] Remove stale enforcements from annotations + + -- Seth Forshee Thu, 27 Aug 2020 13:42:40 -0500 + +linux-riscv (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Fri, 24 Jul 2020 20:08:47 -0500 + +linux-riscv (5.4.0-30.34) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-30.34 -proposed tracker (LP: #1887066) + + [ Ubuntu: 5.4.0-42.46 ] + + * focal/linux: 5.4.0-42.46 -proposed tracker (LP: #1887069) + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + -- Stefan Bader Fri, 10 Jul 2020 11:40:51 +0200 + +linux-riscv (5.4.0-29.33) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-29.33 -proposed tracker (LP: #1885852) + + [ Ubuntu: 5.4.0-41.45 ] + + * focal/linux: 5.4.0-41.45 -proposed tracker (LP: #1885855) + * Packaging resync (LP: #1786013) + - update dkms package versions + * CVE-2019-19642 + - kernel/relay.c: handle alloc_percpu returning NULL in relay_open + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + * CVE-2020-11935 + - aufs: do not call i_readcount_inc() + * ip_defrag.sh in net from ubuntu_kernel_selftests failed with 5.0 / 5.3 / 5.4 + kernel (LP: #1826848) + - selftests: net: ip_defrag: ignore EPERM + * Update lockdown patches (LP: #1884159) + - SAUCE: acpi: disallow loading configfs acpi tables when locked down + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + * 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 + + [ Ubuntu: 5.4.0-40.44 ] + + * linux-oem-5.6-tools-common and -tools-host should be dropped (LP: #1881120) + - [Packaging] Add Conflicts/Replaces to remove linux-oem-5.6-tools-common and + -tools-host + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-39.43 ] + + * dkms-build: downloads fail in private PPAs (LP: #1883874) + - dkms-build: apt-cache policy elides username:password information + * Packaging resync (LP: #1786013) + - update dkms package versions + + -- Sultan Alsawaf Mon, 06 Jul 2020 13:35:56 -0700 + +linux-riscv (5.4.0-28.32) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-28.32 -proposed tracker (LP: #1882694) + + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - [Config] riscv: Record CC_HAS_WARN_MAYBE_UNINITIALIZED drop + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + [ Ubuntu: 5.4.0-38.42 ] + + * CVE-2020-0543 + - UBUNTU/SAUCE: x86/speculation/srbds: do not try to turn mitigation off when + not supported + * 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: add a debugfs entry to dump coex's info + - rtw88: add a debugfs entry to enable/disable coex mechanism + - 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 + * CPU stress test fails with focal kernel (LP: #1867900) + - [Config] Disable hisi_sec2 temporarily + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + * Focal update: v5.4.44 upstream stable release (LP: #1881927) + - ax25: fix setsockopt(SO_BINDTODEVICE) + - dpaa_eth: fix usage as DSA master, try 3 + - net: don't return invalid table id error when we fall back to PF_UNSPEC + - net: dsa: mt7530: fix roaming from DSA user ports + - net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend + - __netif_receive_skb_core: pass skb by reference + - net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* + - net: ipip: fix wrong address family in init error path + - net/mlx5: Add command entry handling completion + - net: mvpp2: fix RX hashing for non-10G ports + - net: nlmsg_cancel() if put fails for nhmsg + - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() + - net: revert "net: get rid of an signed integer overflow in + ip_idents_reserve()" + - net sched: fix reporting the first-time use timestamp + - net/tls: fix race condition causing kernel panic + - nexthop: Fix attribute checking for groups + - r8152: support additional Microsoft Surface Ethernet Adapter variant + - sctp: Don't add the shutdown timer if its already been added + - sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and + socket is closed + - tipc: block BH before using dst_cache + - net/mlx5e: kTLS, Destroy key object after destroying the TIS + - net/mlx5e: Fix inner tirs handling + - net/mlx5: Fix memory leak in mlx5_events_init + - net/mlx5e: Update netdev txq on completions during closure + - net/mlx5: Fix error flow in case of function_setup failure + - net/mlx5: Annotate mutex destroy for root ns + - net/tls: fix encryption error checking + - net/tls: free record only on encryption error + - net: sun: fix missing release regions in cas_init_one(). + - net/mlx4_core: fix a memory leak bug. + - mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload + fails + - ARM: dts: rockchip: fix phy nodename for rk3228-evb + - ARM: dts: rockchip: fix phy nodename for rk3229-xms6 + - arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts + - arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node + - ARM: dts: rockchip: swap clock-names of gpu nodes + - ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi + - gpio: tegra: mask GPIO IRQs during IRQ shutdown + - ALSA: usb-audio: add mapping for ASRock TRX40 Creator + - net: microchip: encx24j600: add missed kthread_stop + - gfs2: move privileged user check to gfs2_quota_lock_check + - gfs2: Grab glock reference sooner in gfs2_add_revoke + - drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate + - drm/amd/powerplay: perform PG ungate prior to CG ungate + - drm/amdgpu: Use GEM obj reference for KFD BOs + - cachefiles: Fix race between read_waiter and read_copier involving op->to_do + - usb: dwc3: pci: Enable extcon driver for Intel Merrifield + - usb: phy: twl6030-usb: Fix a resource leak in an error handling path in + 'twl6030_usb_probe()' + - usb: gadget: legacy: fix redundant initialization warnings + - net: freescale: select CONFIG_FIXED_PHY where needed + - IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() + - riscv: stacktrace: Fix undefined reference to `walk_stackframe' + - clk: ti: am33xx: fix RTC clock parent + - csky: Fixup msa highest 3 bits mask + - csky: Fixup perf callchain unwind + - csky: Fixup remove duplicate irq_disable + - hwmon: (nct7904) Fix incorrect range of temperature limit registers + - cifs: Fix null pointer check in cifs_read + - csky: Fixup raw_copy_from_user() + - samples: bpf: Fix build error + - drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c + - Input: usbtouchscreen - add support for BonXeon TP + - Input: evdev - call input_flush_device() on release(), not flush() + - Input: xpad - add custom init packet for Xbox One S controllers + - Input: dlink-dir685-touchkeys - fix a typo in driver name + - Input: i8042 - add ThinkPad S230u to i8042 reset list + - Input: synaptics-rmi4 - really fix attn_data use-after-free + - Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() + - ARM: 8970/1: decompressor: increase tag size + - ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h + - ARM: uaccess: integrate uaccess_save and uaccess_restore + - ARM: uaccess: fix DACR mismatch with nested exceptions + - gpio: exar: Fix bad handling for ida_simple_get error path + - arm64: dts: mt8173: fix vcodec-enc clock + - soc: mediatek: cmdq: return send msg error code + - gpu/drm: Ingenic: Fix opaque pointer casted to wrong type + - IB/qib: Call kobject_put() when kobject_init_and_add() fails + - ARM: dts/imx6q-bx50v3: Set display interface clock parents + - ARM: dts: bcm2835-rpi-zero-w: Fix led polarity + - ARM: dts: bcm: HR2: Fix PPI interrupt types + - mmc: block: Fix use-after-free issue for rpmb + - gpio: pxa: Fix return value of pxa_gpio_probe() + - gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() + - RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() + - ALSA: hwdep: fix a left shifting 1 by 31 UB bug + - ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround + - ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC + - exec: Always set cap_ambient in cap_bprm_set_creds + - clk: qcom: gcc: Fix parent for gpll0_out_even + - ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio + - ALSA: hda/realtek - Add new codec supported for ALC287 + - libceph: ignore pool overlay and cache logic on redirects + - ceph: flush release queue when handling caps for unknown inode + - RDMA/core: Fix double destruction of uobject + - drm/amd/display: drop cursor position check in atomic test + - IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode + - mm,thp: stop leaking unreleased file pages + - mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() + - fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() + - include/asm-generic/topology.h: guard cpumask_of_node() macro argument + - Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and + REQ_NOWAIT" + - gpio: fix locking open drain IRQ lines + - iommu: Fix reference count leak in iommu_group_alloc. + - parisc: Fix kernel panic in mem_init() + - cfg80211: fix debugfs rename crash + - x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" + - mac80211: mesh: fix discovery timer re-arming issue / crash + - x86/dma: Fix max PFN arithmetic overflow on 32 bit systems + - copy_xstate_to_kernel(): don't leave parts of destination uninitialized + - xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input + - xfrm: do pskb_pull properly in __xfrm_transport_prep + - xfrm: remove the xfrm_state_put call becofe going to out_reset + - xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output + - xfrm interface: fix oops when deleting a x-netns interface + - xfrm: fix a warning in xfrm_policy_insert_list + - xfrm: fix a NULL-ptr deref in xfrm_local_error + - xfrm: fix error in comment + - ip_vti: receive ipip packet by calling ip_tunnel_rcv + - netfilter: nft_reject_bridge: enable reject with bridge vlan + - netfilter: ipset: Fix subcounter update skip + - netfilter: conntrack: make conntrack userspace helpers work again + - netfilter: nfnetlink_cthelper: unbreak userspace helper support + - netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code + - esp6: get the right proto for transport mode in esp6_gso_encap + - bnxt_en: Fix accumulation of bp->net_stats_prev. + - ieee80211: Fix incorrect mask for default PE duration + - xsk: Add overflow check for u64 division, stored into u32 + - qlcnic: fix missing release in qlcnic_83xx_interrupt_test. + - crypto: chelsio/chtls: properly set tp->lsndtime + - nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry + - nexthops: don't modify published nexthop groups + - nexthop: Expand nexthop_is_multipath in a few places + - ipv4: nexthop version of fib_info_nh_uses_dev + - net: dsa: declare lockless TX feature for slave ports + - bonding: Fix reference count leak in bond_sysfs_slave_add. + - netfilter: conntrack: comparison of unsigned in cthelper confirmation + - netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update + - netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build + - perf: Make perf able to build with latest libbfd + - Linux 5.4.44 + * Focal update: v5.4.43 upstream stable release (LP: #1881178) + - i2c: dev: Fix the race between the release of i2c_dev and cdev + - KVM: SVM: Fix potential memory leak in svm_cpu_init() + - ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() + - evm: Check also if *tfm is an error pointer in init_desc() + - ima: Fix return value of ima_write_policy() + - ubifs: fix wrong use of crypto_shash_descsize() + - ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive + - mtd: spinand: Propagate ECC information to the MTD structure + - fix multiplication overflow in copy_fdtable() + - ubifs: remove broken lazytime support + - i2c: fix missing pm_runtime_put_sync in i2c_device_probe + - iommu/amd: Fix over-read of ACPI UID from IVRS table + - evm: Fix a small race in init_desc() + - i2c: mux: demux-pinctrl: Fix an error handling path in + 'i2c_demux_pinctrl_probe()' + - ubi: Fix seq_file usage in detailed_erase_block_info debugfs file + - afs: Don't unlock fetched data pages until the op completes successfully + - mtd: Fix mtd not registered due to nvmem name collision + - kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check + - net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() + - gcc-common.h: Update for GCC 10 + - HID: multitouch: add eGalaxTouch P80H84 support + - HID: alps: Add AUI1657 device ID + - HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead + - scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV + - scsi: qla2xxx: Delete all sessions before unregister local nvme port + - configfs: fix config_item refcnt leak in configfs_rmdir() + - vhost/vsock: fix packet delivery order to monitoring devices + - aquantia: Fix the media type of AQC100 ethernet controller in the driver + - component: Silence bind error on -EPROBE_DEFER + - net/ena: Fix build warning in ena_xdp_set() + - scsi: ibmvscsi: Fix WARN_ON during event pool release + - HID: i2c-hid: reset Synaptics SYNA2393 on resume + - x86/mm/cpa: Flush direct map alias during cpa + - ibmvnic: Skip fatal error reset after passive init + - x86/apic: Move TSC deadline timer debug printk + - gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() + - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock + - ceph: fix double unlock in handle_cap_export() + - stmmac: fix pointer check after utilization in stmmac_interrupt + - USB: core: Fix misleading driver bug report + - platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA + - iommu/amd: Call domain_flush_complete() in update_domain() + - drm/amd/display: Prevent dpcd reads with passive dongles + - KVM: selftests: Fix build for evmcs.h + - ARM: futex: Address build warning + - scripts/gdb: repair rb_first() and rb_last() + - ALSA: hda - constify and cleanup static NodeID tables + - ALSA: hda: patch_realtek: fix empty macro usage in if block + - ALSA: hda: Manage concurrent reg access more properly + - ALSA: hda/realtek - Add supported new mute Led for HP + - ALSA: hda/realtek - Add HP new mute led supported for ALC236 + - ALSA: hda/realtek: Add quirk for Samsung Notebook + - ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 + - ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 + - ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 + - KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c + - ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio + option + - ALSA: pcm: fix incorrect hw_base increase + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme + - ALSA: hda/realtek - Add more fixup entries for Clevo machines + - scsi: qla2xxx: Do not log message when reading port speed via sysfs + - scsi: target: Put lun_ref at end of tmr processing + - arm64: Fix PTRACE_SYSEMU semantics + - drm/etnaviv: fix perfmon domain interation + - apparmor: Fix aa_label refcnt leak in policy_update + - dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' + - drm/etnaviv: Fix a leak in submit_pin_objects() + - dmaengine: dmatest: Restore default for channel + - dmaengine: owl: Use correct lock in owl_dma_get_pchan() + - vsprintf: don't obfuscate NULL and error pointers + - drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. + - drm/i915: Propagate error from completed fences + - powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE + - powerpc/64s: Disable STRICT_KERNEL_RWX + - bpf: Avoid setting bpf insns pages read-only when prog is jited + - kbuild: Remove debug info from kallsyms linking + - Revert "gfs2: Don't demote a glock until its revokes are written" + - media: fdp1: Fix R-Car M3-N naming in debug message + - staging: iio: ad2s1210: Fix SPI reading + - staging: kpc2000: fix error return code in kp2000_pcie_probe() + - staging: greybus: Fix uninitialized scalar variable + - iio: sca3000: Remove an erroneous 'get_device()' + - iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' + - iio: adc: ti-ads8344: Fix channel selection + - misc: rtsx: Add short delay after exit from ASPM + - tty: serial: add missing spin_lock_init for SiFive serial console + - mei: release me_cl object reference + - ipack: tpci200: fix error return code in tpci200_register() + - s390/kaslr: add support for R_390_JMP_SLOT relocation type + - device-dax: don't leak kernel memory to user space after unloading kmem + - rapidio: fix an error in get_user_pages_fast() error handling + - kasan: disable branch tracing for core runtime + - rxrpc: Fix the excessive initial retransmission timeout + - rxrpc: Fix a memory leak in rxkad_verify_response() + - s390/kexec_file: fix initrd location for kdump kernel + - flow_dissector: Drop BPF flow dissector prog ref on netns cleanup + - x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks + - iio: adc: stm32-adc: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-adc: fix device used to request dma + - iio: adc: stm32-dfsdm: Use dma_request_chan() instead + dma_request_slave_channel() + - iio: adc: stm32-dfsdm: fix device used to request dma + - rxrpc: Trace discarded ACKs + - rxrpc: Fix ack discard + - tpm: check event log version before reading final events + - sched/fair: Reorder enqueue/dequeue_task_fair path + - sched/fair: Fix reordering of enqueue/dequeue_task_fair() + - sched/fair: Fix enqueue_task_fair() warning some more + - Linux 5.4.43 + * Focal update: v5.4.42 upstream stable release (LP: #1879759) + - net: dsa: Do not make user port errors fatal + - shmem: fix possible deadlocks on shmlock_user_lock + - net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. + - KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read + - gpio: pca953x: Fix pca953x_gpio_set_config + - SUNRPC: Add "@len" parameter to gss_unwrap() + - SUNRPC: Fix GSS privacy computation of auth->au_ralign + - net/sonic: Fix a resource leak in an error handling path in + 'jazz_sonic_probe()' + - net: moxa: Fix a potential double 'free_irq()' + - ftrace/selftests: workaround cgroup RT scheduling issues + - drop_monitor: work around gcc-10 stringop-overflow warning + - virtio-blk: handle block_device_operations callbacks after hot unplug + - sun6i: dsi: fix gcc-4.8 + - net_sched: fix tcm_parent in tc filter dump + - scsi: sg: add sg_remove_request in sg_write + - mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 + - dpaa2-eth: properly handle buffer size restrictions + - net: fix a potential recursive NETDEV_FEAT_CHANGE + - netlabel: cope with NULL catmap + - net: phy: fix aneg restart in phy_ethtool_set_eee + - net: stmmac: fix num_por initialization + - pppoe: only process PADT targeted at local interfaces + - Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" + - tcp: fix error recovery in tcp_zerocopy_receive() + - tcp: fix SO_RCVLOWAT hangs with fat skbs + - virtio_net: fix lockdep warning on 32 bit + - dpaa2-eth: prevent array underflow in update_cls_rule() + - hinic: fix a bug of ndo_stop + - net: dsa: loop: Add module soft dependency + - net: ipv4: really enforce backoff for redirects + - netprio_cgroup: Fix unlimited memory leak of v2 cgroups + - net: tcp: fix rx timestamp behavior for tcp_recvmsg + - nfp: abm: fix error return code in nfp_abm_vnic_alloc() + - r8169: re-establish support for RTL8401 chip version + - umh: fix memory leak on execve failure + - riscv: fix vdso build with lld + - dmaengine: pch_dma.c: Avoid data race between probe and irq handler + - dmaengine: mmp_tdma: Do not ignore slave config validation errors + - dmaengine: mmp_tdma: Reset channel error on release + - selftests/ftrace: Check the first record for kprobe_args_type.tc + - cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once + - ALSA: hda/hdmi: fix race in monitor detection during probe + - drm/amd/powerplay: avoid using pm_en before it is initialized revised + - drm/amd/display: check if REFCLK_CNTL register is present + - drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 + - drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() + - drm/amdgpu: simplify padding calculations (v2) + - drm/amdgpu: invalidate L2 before SDMA IBs (v2) + - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index + - gfs2: Another gfs2_walk_metadata fix + - mmc: sdhci-pci-gli: Fix no irq handler from suspend + - IB/hfi1: Fix another case where pq is left on waitlist + - ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() + - pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H + - pinctrl: baytrail: Enable pin configuration setting for GPIO chip + - pinctrl: qcom: fix wrong write in update_dual_edge + - pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler + - bpf: Fix error return code in map_lookup_and_delete_elem() + - ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints + format + - i40iw: Fix error handling in i40iw_manage_arp_cache() + - drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled + - bpf, sockmap: msg_pop_data can incorrecty set an sge length + - bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size + - mmc: alcor: Fix a resource leak in the error path for ->probe() + - mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 + - mmc: core: Check request type before completing the request + - mmc: core: Fix recursive locking issue in CQE recovery path + - mmc: block: Fix request completion in the CQE timeout path + - gfs2: More gfs2_find_jhead fixes + - fork: prevent accidental access to clone3 features + - drm/amdgpu: force fbdev into vram + - NFS: Fix fscache super_cookie index_key from changing after umount + - nfs: fscache: use timespec64 in inode auxdata + - NFSv4: Fix fscache cookie aux_data to ensure change_attr is included + - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning + - drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest + - arm64: fix the flush_icache_range arguments in machine_kexec + - nfs: fix NULL deference in nfs4_get_valid_delegation + - SUNRPC: Signalled ASYNC tasks need to exit + - netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() + - netfilter: nft_set_rbtree: Add missing expired checks + - RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() + - IB/mlx4: Test return value of calls to ib_get_cached_pkey + - IB/core: Fix potential NULL pointer dereference in pkey cache + - RDMA/core: Fix double put of resource + - RDMA/iw_cxgb4: Fix incorrect function parameters + - hwmon: (da9052) Synchronize access with mfd + - s390/ism: fix error return code in ism_probe() + - mm, memcg: fix inconsistent oom event behavior + - NFSv3: fix rpc receive buffer size for MOUNT call + - pnp: Use list_for_each_entry() instead of open coding + - net/rds: Use ERR_PTR for rds_message_alloc_sgs() + - Stop the ad-hoc games with -Wno-maybe-initialized + - [Config] updateconfigs for CC_HAS_WARN_MAYBE_UNINITIALIZED + - gcc-10: disable 'zero-length-bounds' warning for now + - gcc-10: disable 'array-bounds' warning for now + - gcc-10: disable 'stringop-overflow' warning for now + - gcc-10: disable 'restrict' warning for now + - gcc-10 warnings: fix low-hanging fruit + - gcc-10: mark more functions __init to avoid section mismatch warnings + - gcc-10: avoid shadowing standard library 'free()' in crypto + - usb: usbfs: correct kernel->user page attribute mismatch + - USB: usbfs: fix mmap dma mismatch + - ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 + - ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA + - ALSA: rawmidi: Fix racy buffer resize under concurrent accesses + - ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset + - usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B + - usb: host: xhci-plat: keep runtime active when removing host + - usb: cdns3: gadget: prev_req->trb is NULL for ep0 + - usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list + - Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() + - ARM: dts: dra7: Fix bus_dma_limit for PCIe + - ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries + - ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection + - drm/amd/display: add basic atomic check for cursor plane + - powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG + - cifs: fix leaked reference on requeued write + - x86: Fix early boot crash on gcc-10, third try + - x86/unwind/orc: Fix error handling in __unwind_start() + - exec: Move would_dump into flush_old_exec + - clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks + - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() + - fanotify: fix merging marks masks with FAN_ONDIR + - usb: gadget: net2272: Fix a memory leak in an error handling path in + 'net2272_plat_probe()' + - usb: gadget: audio: Fix a missing error return value in audio_bind() + - usb: gadget: legacy: fix error return code in gncm_bind() + - usb: gadget: legacy: fix error return code in cdc_bind() + - clk: Unlink clock if failed to prepare or enable + - arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property + - arm64: dts: meson-g12-common: fix dwc2 clock names + - arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 + boards + - arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy + - arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn + - ARM: dts: r8a73a4: Add missing CMT1 interrupts + - arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes + - ARM: dts: r8a7740: Add missing extal2 to CPG node + - SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") + - bpf: Fix sk_psock refcnt leak when receiving message + - KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce + - Makefile: disallow data races on gcc-10 as well + - Linux 5.4.42 + * upgrading to 4.15.0-99-generic breaks the sound and the trackpad + (LP: #1875916) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - Revert "ALSA: hda/realtek: Fix pop noise on ALC225" + * Pop sound from build-in speaker during cold boot and resume from S3 + (LP: #1866357) // Focal update: v5.4.42 upstream stable release + (LP: #1879759) + - ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + * [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 + * Performing function level reset of AMD onboard USB and audio devices causes + system lockup (LP: #1865988) + - SAUCE: PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 + - SAUCE: PCI: Avoid FLR for AMD Starship USB 3.0 + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + * 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 + * Fix for secure boot rules in IMA arch policy on powerpc (LP: #1877955) + - powerpc/ima: Fix secure boot rules in ima arch policy + * [UBUNTU 20.04] s390x/pci: s390_pci_mmio_write/read fail when MIO + instructions are available (LP: #1874055) + - s390/pci: Fix s390_mmio_read/write with MIO + * security: lockdown: remove trailing semicolon before function body + (LP: #1880660) + - SAUCE: (lockdown) security: lockdown: remove trailing semicolon before + function body + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + * [OMEN by HP Laptop 15-dh0xxx, Realtek ALC285, Black Mic, Left] Recording + problem (LP: #1874698) + - ASoC: SOF: Intel: hda: allow operation without i915 gfx + - ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver + * CVE-2020-13143 + - USB: gadget: fix illegal array access in binding with UDC + * rtl8723bu wifi issue after being turned off (LP: #1878296) + - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver + - rtl8xxxu: add bluetooth co-existence support for single antenna + - rtl8xxxu: remove set but not used variable 'rate_mask' + - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' + * 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 + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Improve handling of unset UID + - s390/pci: embedding hotplug_slot in zdev + - 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 + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + [ Ubuntu: 5.4.0-37.41 ] + + * CVE-2020-0543 + - SAUCE: x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2 + - SAUCE: x86/cpu: Add a steppings field to struct x86_cpu_id + - SAUCE: x86/cpu: Add 'table' argument to cpu_matches() + - SAUCE: x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) + mitigation + - SAUCE: x86/speculation: Add SRBDS vulnerability and mitigation documentation + - SAUCE: x86/speculation: Add Ivy Bridge to affected list + + -- Stefan Bader Fri, 12 Jun 2020 11:28:12 +0200 + +linux-riscv (5.4.0-27.31) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-27.31 -proposed tracker (LP: #1878798) + + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - [config] riscv: disable am-1805 RTC driver + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config][focal/linux-riscv] Turn off CONFIG_RT_GROUP_SCHED + + [ Ubuntu: 5.4.0-34.38 ] + + * focal/linux: 5.4.0-34.38 -proposed tracker (LP: #1880118) + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + * Focal update: v5.4.41 upstream stable release (LP: #1878649) + - USB: serial: qcserial: Add DW5816e support + - nvme: refactor nvme_identify_ns_descs error handling + - nvme: fix possible hang when ns scanning fails during error recovery + - tracing/kprobes: Fix a double initialization typo + - net: macb: Fix runtime PM refcounting + - drm/amdgpu: move kfd suspend after ip_suspend_phase1 + - drm/amdgpu: drop redundant cg/pg ungate on runpm enter + - vt: fix unicode console freeing with a common interface + - tty: xilinx_uartps: Fix missing id assignment to the console + - devlink: fix return value after hitting end in region read + - dp83640: reverse arguments to list_add_tail + - fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks + - ipv6: Use global sernum for dst validation with nexthop objects + - mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly + - neigh: send protocol value in neighbor create notification + - net: dsa: Do not leave DSA master with NULL netdev_ops + - net: macb: fix an issue about leak related system resources + - net: macsec: preserve ingress frame ordering + - net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() + - net_sched: sch_skbprio: add message validation to skbprio_change() + - net: stricter validation of untrusted gso packets + - net: tc35815: Fix phydev supported/advertising mask + - net/tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() + - net/tls: Fix sk_psock refcnt leak when in tls_data_ready() + - net: usb: qmi_wwan: add support for DW5816e + - nfp: abm: fix a memory leak bug + - sch_choke: avoid potential panic in choke_reset() + - sch_sfq: validate silly quantum values + - tipc: fix partial topology connection closure + - tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 + - bnxt_en: Fix VF anti-spoof filter setup. + - bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF. + - bnxt_en: Improve AER slot reset. + - bnxt_en: Return error when allocating zero size context memory. + - bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features(). + - net/mlx5: DR, On creation set CQ's arm_db member to right value + - net/mlx5: Fix forced completion access non initialized command entry + - net/mlx5: Fix command entry leak in Internal Error State + - net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx() + - net: mvpp2: cls: Prevent buffer overflow in mvpp2_ethtool_cls_rule_del() + - HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices + - sctp: Fix bundling of SHUTDOWN with COOKIE-ACK + - Revert "HID: wacom: generic: read the number of expected touches on a per + collection basis" + - HID: usbhid: Fix race between usbhid_close() and usbhid_stop() + - HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT + - USB: uas: add quirk for LaCie 2Big Quadra + - usb: chipidea: msm: Ensure proper controller reset using role switch API + - USB: serial: garmin_gps: add sanity checking for data length + - tracing: Add a vmalloc_sync_mappings() for safe measure + - crypto: arch/nhpoly1305 - process in explicit 4k chunks + - KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction + - KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path + - KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER + - KVM: arm64: Fix 32bit PC wrap-around + - arm64: hugetlb: avoid potential NULL dereference + - drm: ingenic-drm: add MODULE_DEVICE_TABLE + - ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() + - epoll: atomically remove wait entry on wake up + - eventpoll: fix missing wakeup for ovflist in ep_poll_callback + - mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() + - mm: limit boost_watermark on small zones + - ceph: demote quotarealm lookup warning to a debug message + - staging: gasket: Check the return value of gasket_get_bar_index() + - coredump: fix crash when umh is disabled + - iocost: protect iocg->abs_vdebt with iocg->waitq.lock + - batman-adv: fix batadv_nc_random_weight_tq + - batman-adv: Fix refcnt leak in batadv_show_throughput_override + - batman-adv: Fix refcnt leak in batadv_store_throughput_override + - batman-adv: Fix refcnt leak in batadv_v_ogm_process + - x86/entry/64: Fix unwind hints in register clearing code + - x86/entry/64: Fix unwind hints in kernel exit path + - x86/entry/64: Fix unwind hints in rewind_stack_do_exit() + - x86/unwind/orc: Don't skip the first frame for inactive tasks + - x86/unwind/orc: Prevent unwinding before ORC initialization + - x86/unwind/orc: Fix error path for bad ORC entry type + - x86/unwind/orc: Fix premature unwind stoppage due to IRET frames + - KVM: x86: Fixes posted interrupt check for IRQs delivery modes + - arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() + - netfilter: nat: never update the UDP checksum when it's 0 + - netfilter: nf_osf: avoid passing pointer to local var + - objtool: Fix stack offset tracking for indirect CFAs + - iommu/virtio: Reverse arguments to list_add + - scripts/decodecode: fix trapping instruction formatting + - mm, memcg: fix error return value of mem_cgroup_css_alloc() + - bdi: move bdi_dev_name out of line + - bdi: add a ->dev_name field to struct backing_dev_info + - fsnotify: replace inode pointer with an object id + - fanotify: merge duplicate events on parent and child + - Linux 5.4.41 + * Intel GPU Hangs : random screen freezing w/ Ubuntu 20.04 (Linux 5.4) + i915_active_acquire (LP: #1868551) + - drm/i915: Hold reference to intel_frontbuffer as we track activity + - drm/i915: fix uninitialized pointer reads on pointers to and from + * Kernel panic due to NULL ringbuffer vaddr dereference in i915 (LP: #1877394) + - Revert "UBUNTU: SAUCE: drm/i915: Synchronize active and retire callbacks" + - drm/i915/gt: Make intel_ring_unpin() safe for concurrent pint + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] Set CONFIG_PSI_DEFAULT_DISABLED=y on s390x + * Focal update: v5.4.40 upstream stable release (LP: #1878040) + - vhost: vsock: kick send_pkt worker once device is started + - drm/bridge: analogix_dp: Split bind() into probe() and real bind() + - ASoC: topology: Check return value of soc_tplg_create_tlv + - ASoC: topology: Check return value of soc_tplg_*_create + - ASoC: topology: Check soc_tplg_add_route return value + - ASoC: topology: Check return value of pcm_new_ver + - ASoC: topology: Check return value of soc_tplg_dai_config + - selftests/ipc: Fix test failure seen after initial test run + - ASoC: sgtl5000: Fix VAG power-on handling + - ASoC: topology: Fix endianness issue + - usb: dwc3: gadget: Properly set maxpacket limit + - ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode + - ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode + - ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry + - remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe() + - drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay + table v0 (e.g Hawaii) + - wimax/i2400m: Fix potential urb refcnt leak + - net: stmmac: fix enabling socfpga's ptp_ref_clock + - net: stmmac: Fix sub-second increment + - ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent + - ASoC: rsnd: Fix "status check failed" spam for multi-SSI + - cifs: protect updating server->dstaddr with a spinlock + - scripts/config: allow colons in option strings for sed + - cifs: do not share tcons with DFS + - tracing: Fix memory leaks in trace_events_hist.c + - lib/mpi: Fix building for powerpc with clang + - mac80211: sta_info: Add lockdep condition for RCU list usage + - net: bcmgenet: suppress warnings on failed Rx SKB allocations + - net: systemport: suppress warnings on failed Rx SKB allocations + - drm/i915: Extend WaDisableDARBFClkGating to icl,ehl,tgl + - sctp: Fix SHUTDOWN CTSN Ack in the peer restart case + - Revert "software node: Simplify software_node_release() function" + - hexagon: clean up ioremap + - hexagon: define ioremap_uc + - ALSA: hda: Match both PCI ID and SSID for driver blacklist + - x86/kvm: fix a missing-prototypes "vmread_error" + - platform/x86: GPD pocket fan: Fix error message when temp-limits are out of + range + - ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() + - mac80211: add ieee80211_is_any_nullfunc() + - cgroup, netclassid: remove double cond_resched + - libbpf: Fix readelf output parsing for Fedora + - mm/mremap: Add comment explaining the untagging behaviour of mremap() + - Revert "drm/amd/display: setting the DIG_MODE to the correct value." + - tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel + sources + - udp: document udp_rcv_segment special case for looped packets + - PM / devfreq: Add missing locking while setting suspend_freq + - Linux 5.4.40 + * Focal update: v5.4.39 upstream stable release (LP: #1877592) + - dma-buf: Fix SET_NAME ioctl uapi + - drm/edid: Fix off-by-one in DispID DTD pixel clock + - drm/amd/display: Fix green screen issue after suspend + - drm/qxl: qxl_release leak in qxl_draw_dirty_fb() + - drm/qxl: qxl_release leak in qxl_hw_surface_alloc() + - drm/qxl: qxl_release use after free + - NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION + - btrfs: fix transaction leak in btrfs_recover_relocation + - btrfs: fix block group leak when removing fails + - btrfs: fix partial loss of prealloc extent past i_size after fsync + - btrfs: transaction: Avoid deadlock due to bad initialization timing of + fs_info::journal_info + - mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout + loop + - mmc: sdhci-xenon: fix annoying 1.8V regulator warning + - mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers + - mmc: sdhci-msm: Enable host capabilities pertains to R1b response + - mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY + - mmc: meson-mx-sdio: remove the broken ->card_busy() op + - crypto: caam - fix the address of the last entry of S/G + - ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter + - ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID + - ALSA: hda/hdmi: fix without unlocked before return + - ALSA: line6: Fix POD HD500 audio playback + - ALSA: pcm: oss: Place the plugin buffer overflow checks correctly + - i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling + - Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM + - dlmfs_file_write(): fix the bogosity in handling non-zero *ppos + - IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() + - PM: ACPI: Output correct message on target power state + - PM: hibernate: Freeze kernel threads in software_resume() + - dm verity fec: fix hash block number in verity_fec_decode + - dm writecache: fix data corruption when reloading the target + - dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath + - ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe + - scsi: qla2xxx: set UNLOADING before waiting for session deletion + - scsi: qla2xxx: check UNLOADING before posting async work + - RDMA/mlx5: Set GRH fields in query QP on RoCE + - RDMA/mlx4: Initialize ib_spec on the stack + - RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() + - RDMA/core: Prevent mixed use of FDs between shared ufiles + - RDMA/core: Fix race between destroy and release FD object + - RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() + - RDMA/cm: Fix an error check in cm_alloc_id_priv() + - i2c: iproc: generate stop event for slave writes + - vfio: avoid possible overflow in vfio_iommu_type1_pin_pages + - vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() + - iommu/qcom: Fix local_base status check + - scsi: target/iblock: fix WRITE SAME zeroing + - iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system + - i2c: aspeed: Avoid i2c interrupt status clear race condition. + - ALSA: opti9xx: shut up gcc-10 range warning + - Fix use after free in get_tree_bdev() + - nvme: prevent double free in nvme_alloc_ns() error handling + - nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl + - dmaengine: dmatest: Fix iteration non-stop logic + - dmaengine: dmatest: Fix process hang when reading 'wait' parameter + - arm64: vdso: Add -fasynchronous-unwind-tables to cflags + - selinux: properly handle multiple messages in selinux_netlink_send() + - Linux 5.4.39 + * Focal update: v5.4.38 upstream stable release (LP: #1876767) + - Linux 5.4.38 + * Focal update: v5.4.37 upstream stable release (LP: #1876765) + - remoteproc: Fix wrong rvring index computation + - ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans() + - printk: queue wake_up_klogd irq_work only if per-CPU areas are ready + - ASoC: stm32: sai: fix sai probe + - usb: dwc3: gadget: Do link recovery for SS and SSP + - kbuild: fix DT binding schema rule again to avoid needless rebuilds + - usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete + - usb: gadget: udc: atmel: Fix vbus disconnect handling + - afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate + - afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH + - iio:ad7797: Use correct attribute_group + - propagate_one(): mnt_set_mountpoint() needs mount_lock + - counter: 104-quad-8: Add lock guards - generic interface + - s390/ftrace: fix potential crashes when switching tracers + - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs + - ASoC: tas571x: disable regulators on failed probe + - ASoC: wm8960: Fix wrong clock after suspend & resume + - drivers: soc: xilinx: fix firmware driver Kconfig dependency + - nfsd: memory corruption in nfsd4_lock() + - bpf: Forbid XADD on spilled pointers for unprivileged users + - i2c: altera: use proper variable to hold errno + - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket + - net/cxgb4: Check the return from t4_query_params properly + - xfs: acquire superblock freeze protection on eofblocks scans + - svcrdma: Fix trace point use-after-free race + - svcrdma: Fix leak of svc_rdma_recv_ctxt objects + - net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ + overruns + - net/mlx5e: Get the latest values from counters in switchdev mode + - PCI: Add ACS quirk for Zhaoxin multi-function devices + - PCI: Make ACS quirk implementations more uniform + - PCI: Unify ACS quirk desired vs provided checking + - PCI: Add Zhaoxin Vendor ID + - PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports + - PCI: Move Apex Edge TPU class quirk to fix BAR assignment + - ARM: dts: bcm283x: Disable dsi0 node + - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled + - s390/pci: do not set affinity for floating irqs + - net/mlx5: Fix failing fw tracer allocation on s390 + - sched/core: Fix reset-on-fork from RT with uclamp + - perf/core: fix parent pid/tid in task exit events + - netfilter: nat: fix error handling upon registering inet hook + - PM: sleep: core: Switch back to async_schedule_dev() + - blk-iocost: Fix error on iocost_ioc_vrate_adj + - um: ensure `make ARCH=um mrproper` removes + arch/$(SUBARCH)/include/generated/ + - bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension + - bpf, x86_32: Fix clobbering of dst for BPF_JSET + - bpf, x86_32: Fix logic error in BPF_LDX zero-extension + - mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy + path + - xfs: clear PF_MEMALLOC before exiting xfsaild thread + - bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B + - libbpf: Initialize *nl_pid so gcc 10 is happy + - net: fec: set GPR bit on suspend by DT configuration. + - x86: hyperv: report value of misc_features + - signal: check sig before setting info in kill_pid_usb_asyncio + - afs: Fix length of dump of bad YFSFetchStatus record + - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent + - ALSA: hda: Release resources at error in delayed probe + - ALSA: hda: Keep the controller initialization even if no codecs found + - ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported + - scsi: target: fix PR IN / READ FULL STATUS for FC + - scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN + - objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings + - objtool: Support Clang non-section symbols in ORC dump + - xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status + - ALSA: hda: call runtime_allow() for all hda controllers + - net: stmmac: socfpga: Allow all RGMII modes + - mac80211: fix channel switch trigger from unknown mesh peer + - arm64: Delete the space separator in __emit_inst + - ext4: use matching invalidatepage in ext4_writepage + - ext4: increase wait time needed before reuse of deleted inode numbers + - ext4: convert BUG_ON's to WARN_ON's in mballoc.c + - blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget + - hwmon: (jc42) Fix name to have no illegal characters + - taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions + - qed: Fix race condition between scheduling and destroying the slowpath + workqueue + - Crypto: chelsio - Fixes a hang issue during driver registration + - net: use indirect call wrappers for skb_copy_datagram_iter() + - qed: Fix use after free in qed_chain_free + - ext4: check for non-zero journal inum in ext4_calculate_overhead + - ASoC: soc-core: disable route checks for legacy devices + - ASoC: stm32: spdifrx: fix regmap status check + - Linux 5.4.37 + * Focal update: v5.4.36 upstream stable release (LP: #1876361) + - ext4: fix extent_status fragmentation for plain files + - f2fs: fix to avoid memory leakage in f2fs_listxattr + - net, ip_tunnel: fix interface lookup with no key + - [Config] updateconfigs for ARM64_ERRATUM_1542419 + - arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 + - arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 + - arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space + - arm64: Silence clang warning on mismatched value/register sizes + - tools/testing/nvdimm: Fix compilation failure without + CONFIG_DEV_DAX_PMEM_COMPAT + - watchdog: reset last_hw_keepalive time at start + - scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login + - scsi: lpfc: Fix crash after handling a pci error + - scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG + - scsi: libfc: If PRLI rejected, move rport to PLOGI state + - ceph: return ceph_mdsc_do_request() errors from __get_parent() + - ceph: don't skip updating wanted caps when cap is stale + - pwm: rcar: Fix late Runtime PM enablement + - nvme-tcp: fix possible crash in write_zeroes processing + - scsi: iscsi: Report unbind session event when the target has been removed + - tools/test/nvdimm: Fix out of tree build + - ASoC: Intel: atom: Take the drv->lock mutex before calling + sst_send_slot_map() + - nvme: fix deadlock caused by ANA update wrong locking + - drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax + - dma-direct: fix data truncation in dma_direct_get_required_mask() + - kernel/gcov/fs.c: gcov_seq_next() should increase position index + - selftests: kmod: fix handling test numbers above 9 + - ipc/util.c: sysvipc_find_ipc() should increase position index + - kconfig: qconf: Fix a few alignment issues + - lib/raid6/test: fix build on distros whose /bin/sh is not bash + - s390/cio: generate delayed uevent for vfio-ccw subchannels + - s390/cio: avoid duplicated 'ADD' uevents + - loop: Better discard support for block devices + - Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs + enabled" + - powerpc/pseries: Fix MCE handling on pseries + - nvme: fix compat address handling in several ioctls + - pwm: renesas-tpu: Fix late Runtime PM enablement + - pwm: bcm2835: Dynamically allocate base + - perf/core: Disable page faults when getting phys address + - drm/amd/display: Calculate scaling ratios on every medium/full update + - ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet + - ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk + - drm/amd/display: Not doing optimize bandwidth if flip pending. + - cxgb4: fix adapter crash due to wrong MC size + - cxgb4: fix large delays in PTP synchronization + - ipv4: Update fib_select_default to handle nexthop objects + - ipv6: fix restrict IPV6_ADDRFORM operation + - macsec: avoid to set wrong mtu + - macvlan: fix null dereference in macvlan_device_event() + - mlxsw: Fix some IS_ERR() vs NULL bugs + - net: bcmgenet: correct per TX/RX ring statistics + - net/mlx4_en: avoid indirect call in TX completion + - net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node + - net: openvswitch: ovs_ct_exit to be done under ovs_lock + - net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array + - net/x25: Fix x25_neigh refcnt leak when receiving frame + - sched: etf: do not assume all sockets are full blown + - selftests: Fix suppress test in fib_tests.sh + - tcp: cache line align MAX_TCP_HEADER + - team: fix hang in team_mode_get() + - vrf: Fix IPv6 with qdisc and xfrm + - net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled + - net: dsa: b53: Fix valid setting for MDB entries + - net: dsa: b53: Fix ARL register definitions + - net: dsa: b53: Rework ARL bin logic + - net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL + - vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR + - xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish + - vrf: Check skb for XFRM_TRANSFORMED flag + - KEYS: Avoid false positive ENOMEM error on key read + - ALSA: hda: Remove ASUS ROG Zenith from the blacklist + - ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos + - ALSA: usb-audio: Add connector notifier delegation + - iio: core: remove extra semi-colon from devm_iio_device_register() macro + - iio: st_sensors: rely on odr mask to know if odr can be set + - iio: adc: stm32-adc: fix sleep in atomic context + - iio: adc: ti-ads8344: properly byte swap value + - iio: xilinx-xadc: Fix ADC-B powerdown + - iio: xilinx-xadc: Fix clearing interrupt when enabling trigger + - iio: xilinx-xadc: Fix sequencer configuration for aux channels in + simultaneous mode + - iio: xilinx-xadc: Make sure not exceed maximum samplerate + - USB: sisusbvga: Change port variable from signed to unsigned + - USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 + RGB RAPIDFIRE + - USB: early: Handle AMD's spec-compliant identifiers, too + - USB: core: Fix free-while-in-use bug in the USB S-Glibrary + - USB: hub: Fix handling of connect changes during sleep + - USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme + first for high speed devices") + - tty: serial: owl: add "much needed" clk_prepare_enable() + - vmalloc: fix remap_vmalloc_range() bounds checks + - staging: gasket: Fix incongruency in handling of sysfs entries creation + - coredump: fix null pointer dereference on coredump + - mm/hugetlb: fix a addressing exception caused by huge_pte_offset + - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled + - tools/vm: fix cross-compile build + - ALSA: usx2y: Fix potential NULL dereference + - ALSA: hda/realtek - Fix unexpected init_amp override + - ALSA: hda/realtek - Add new codec supported for ALC245 + - ALSA: hda/hdmi: Add module option to disable audio component binding + - ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif + - ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices + - tpm/tpm_tis: Free IRQ if probing fails + - tpm: fix wrong return value in tpm_pcr_extend + - tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() + - KVM: s390: Return last valid slot if approx index is out-of-bounds + - KVM: Check validity of resolved slot when searching memslots + - KVM: VMX: Enable machine check support for 32bit targets + - tty: hvc: fix buffer overflow during hvc_alloc(). + - tty: rocket, avoid OOB access + - usb-storage: Add unusual_devs entry for JMicron JMS566 + - signal: Avoid corrupting si_pid and si_uid in do_notify_parent + - audit: check the length of userspace generated audit records + - ASoC: dapm: fixup dapm kcontrol widget + - mac80211: populate debugfs only after cfg80211 init + - SUNRPC: Fix backchannel RPC soft lockups + - iwlwifi: pcie: actually release queue memory in TVQM + - iwlwifi: mvm: beacon statistics shouldn't go backwards + - iwlwifi: mvm: limit maximum queue appropriately + - iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation + - iwlwifi: mvm: fix inactive TID removal return value usage + - cifs: fix uninitialised lease_key in open_shroot() + - ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y + - powerpc/setup_64: Set cache-line-size based on cache-block-size + - staging: comedi: dt2815: fix writing hi byte of analog output + - staging: comedi: Fix comedi_device refcnt leak in comedi_open + - vt: don't hardcode the mem allocation upper bound + - vt: don't use kmalloc() for the unicode screen buffer + - staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default. + - staging: vt6656: Fix calling conditions of vnt_set_bss_mode + - staging: vt6656: Fix drivers TBTT timing counter. + - staging: vt6656: Fix pairwise key entry save. + - staging: vt6656: Power save stop wake_up_count wrap around. + - cdc-acm: close race betrween suspend() and acm_softint + - cdc-acm: introduce a cool down + - UAS: no use logging any details in case of ENODEV + - UAS: fix deadlock in error handling and PM flushing work + - fpga: dfl: pci: fix return value of cci_pci_sriov_configure + - usb: dwc3: gadget: Fix request completion check + - usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() + - usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change + - usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an + invalid pointer + - xhci: Fix handling halted endpoint even if endpoint ring appears empty + - xhci: prevent bus suspend if a roothub port detected a over-current + condition + - xhci: Don't clear hub TT buffer on ep0 protocol stall + - serial: sh-sci: Make sure status register SCxSR is read in correct sequence + - Revert "serial: uartps: Fix uartps_major handling" + - Revert "serial: uartps: Use the same dynamic major number for all ports" + - Revert "serial: uartps: Fix error path when alloc failed" + - Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES" + - Revert "serial: uartps: Change uart ID port allocation" + - Revert "serial: uartps: Move Port ID to device data structure" + - Revert "serial: uartps: Register own uart console and driver structures" + - powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP + - powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32 + - compat: ARM64: always include asm-generic/compat.h + - Linux 5.4.36 + * Focal update: v5.4.35 upstream stable release (LP: #1875660) + - ext4: use non-movable memory for superblock readahead + - watchdog: sp805: fix restart handler + - xsk: Fix out of boundary write in __xsk_rcv_memcpy + - arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0 + - arm, bpf: Fix offset overflow for BPF_MEM BPF_DW + - objtool: Fix switch table detection in .text.unlikely + - scsi: sg: add sg_remove_request in sg_common_write + - ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops + - ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN. + - kbuild, btf: Fix dependencies for DEBUG_INFO_BTF + - netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type + - irqchip/mbigen: Free msi_desc on device teardown + - ALSA: hda: Don't release card at firmware loading error + - xsk: Add missing check on user supplied headroom size + - of: unittest: kmemleak on changeset destroy + - of: unittest: kmemleak in of_unittest_platform_populate() + - of: unittest: kmemleak in of_unittest_overlay_high_level() + - of: overlay: kmemleak in dup_and_fixup_symbol_prop() + - x86/Hyper-V: Unload vmbus channel in hv panic callback + - x86/Hyper-V: Trigger crash enlightenment only once during system crash. + - x86/Hyper-V: Report crash register data or kmsg before running crash kernel + - x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not + set + - x86/Hyper-V: Report crash data in die() when panic_on_oops is set + - afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() + - afs: Fix decoding of inline abort codes from version 1 status records + - afs: Fix rename operation status delivery + - afs: Fix afs_d_validate() to set the right directory version + - afs: Fix race between post-modification dir edit and readdir/d_revalidate + - block, bfq: turn put_queue into release_process_ref in + __bfq_bic_change_cgroup + - block, bfq: make reparent_leaf_entity actually work only on leaf entities + - block, bfq: invoke flush_idle_tree after reparent_active_queues in + pd_offline + - rbd: avoid a deadlock on header_rwsem when flushing notifies + - rbd: call rbd_dev_unprobe() after unwatching and flushing notifies + - x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump + - drm/ttm: flush the fence on the bo after we individualize the reservation + object + - clk: Don't cache errors from clk_ops::get_phase() + - clk: at91: usb: continue if clk_hw_round_rate() return zero + - net/mlx5e: Enforce setting of a single FEC mode + - f2fs: fix the panic in do_checkpoint() + - ARM: dts: rockchip: fix vqmmc-supply property name for rk3188-bqedison2qc + - arm64: dts: allwinner: a64: Fix display clock register range + - power: supply: bq27xxx_battery: Silence deferred-probe error + - clk: tegra: Fix Tegra PMC clock out parents + - arm64: tegra: Add PCIe endpoint controllers nodes for Tegra194 + - arm64: tegra: Fix Tegra194 PCIe compatible string + - arm64: dts: clearfog-gt-8k: set gigabit PHY reset deassert delay + - soc: imx: gpc: fix power up sequencing + - dma-coherent: fix integer overflow in the reserved-memory dma allocation + - rtc: 88pm860x: fix possible race condition + - NFS: alloc_nfs_open_context() must use the file cred when available + - NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() + - NFSv4.2: error out when relink swapfile + - ARM: dts: rockchip: fix lvds-encoder ports subnode for rk3188-bqedison2qc + - KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests + - f2fs: fix to show norecovery mount option + - phy: uniphier-usb3ss: Add Pro5 support + - NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails + - f2fs: Fix mount failure due to SPO after a successful online resize FS + - f2fs: Add a new CP flag to help fsck fix resize SPO issues + - s390/cpuinfo: fix wrong output when CPU0 is offline + - hibernate: Allow uswsusp to write to swap + - btrfs: add RCU locks around block group initialization + - powerpc/prom_init: Pass the "os-term" message to hypervisor + - powerpc/maple: Fix declaration made after definition + - s390/cpum_sf: Fix wrong page count in error message + - ext4: do not commit super on read-only bdev + - um: ubd: Prevent buffer overrun on command completion + - cifs: Allocate encryption header through kmalloc + - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS + - drm/nouveau/svm: check for SVM initialized before migrating + - drm/nouveau/svm: fix vma range check for migration + - include/linux/swapops.h: correct guards for non_swap_entry() + - percpu_counter: fix a data race at vm_committed_as + - compiler.h: fix error in BUILD_BUG_ON() reporting + - KVM: s390: vsie: Fix possible race when shadowing region 3 tables + - drm/nouveau: workaround runpm fail by disabling PCI power management on + certain intel bridges + - leds: core: Fix warning message when init_data + - x86: ACPI: fix CPU hotplug deadlock + - csky: Fixup cpu speculative execution to IO area + - drm/amdkfd: kfree the wrong pointer + - NFS: Fix memory leaks in nfs_pageio_stop_mirroring() + - csky: Fixup get wrong psr value from phyical reg + - f2fs: fix NULL pointer dereference in f2fs_write_begin() + - ACPICA: Fixes for acpiExec namespace init file + - um: falloc.h needs to be directly included for older libc + - drm/vc4: Fix HDMI mode validation + - iommu/virtio: Fix freeing of incomplete domains + - iommu/vt-d: Fix mm reference leak + - ext2: fix empty body warnings when -Wextra is used + - iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() + - iommu/vt-d: Fix page request descriptor size + - ext2: fix debug reference to ext2_xattr_cache + - sunrpc: Fix gss_unwrap_resp_integ() again + - csky: Fixup init_fpu compile warning with __init + - power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute + Sticks. + - libnvdimm: Out of bounds read in __nd_ioctl() + - iommu/amd: Fix the configuration of GCR3 table root pointer + - f2fs: fix to wait all node page writeback + - drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init + - net: dsa: bcm_sf2: Fix overflow checks + - dma-debug: fix displaying of dma allocation type + - fbdev: potential information leak in do_fb_ioctl() + - ARM: dts: sunxi: Fix DE2 clocks register range + - iio: si1133: read 24-bit signed integer for measurement + - fbmem: Adjust indentation in fb_prepare_logo and fb_blank + - tty: evh_bytechan: Fix out of bounds accesses + - locktorture: Print ratio of acquisitions, not failures + - mtd: rawnand: free the nand_device object + - mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to + OOB + - docs: Fix path to MTD command line partition parser + - mtd: lpddr: Fix a double free in probe() + - mtd: phram: fix a double free issue in error path + - KEYS: Don't write out to userspace while holding key semaphore + - bpf: fix buggy r0 retval refinement for tracing helpers + - bpf: Test_verifier, bpf_get_stack return value add <0 + - bpf: Test_progs, add test to catch retval refine error handling + - SAUCE: bpf: Test_progs, fix test_get_stack_rawtp_err.c build + - bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test + - Linux 5.4.35 + * 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) + - iwlwifi: pcie: handle QuZ configs with killer NICs as well + * 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() + * linux: riscv: set max_pfn to the PFN of the last page (LP: #1876885) + - riscv: set max_pfn to the PFN of the last page + * Dell XPS 13 9300 mirror mode doesn't work sometimes with WD19TB + (LP: #1877013) + - drm/i915/perf: Do not clear pollin for small user read buffers + * [UBUNTU 20.04] s390x/pci: do not allow to create more pci functions than + configured via CONFIG_PCI_NR_FUNCTIONS (LP: #1874057) + - s390/pci: Fix zpci_alloc_domain() over allocation + * [Ubuntu 20.04] net/mlx5e: Fix endianness handling in pedit mask + (LP: #1872726) + - net/mlx5e: Fix endianness handling in pedit mask + * 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 + * ceph -- Unable to mount ceph volume on s390x (LP: #1875863) + - ceph: fix endianness bug when handling MDS session feature bits + * Do not treat unresolved test case in ftrace from ubuntu_kernel_selftests as + failure (LP: #1877958) + - ftrace/selftest: make unresolved cases cause failure if --fail-unresolved + set + * Add support for Ambiq micro AM1805 RTC chip (LP: #1876667) + - SAUCE: rtc: add am-1805 RTC driver + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - SAUCE: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + [ Ubuntu: 5.4.0-33.37 ] + + * focal/linux: 5.4.0-33.37 -proposed tracker (LP: #1879926) + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: fix shitfs special-casing" + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as + underlay" + + -- Ian May Wed, 27 May 2020 11:33:10 -0500 + +linux-riscv (5.4.0-26.30) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-26.30 -proposed tracker (LP: #1877252) + + [ Ubuntu: 5.4.0-31.35 ] + + * focal/linux: 5.4.0-31.35 -proposed tracker (LP: #1877253) + * Intermittent display blackouts on event (LP: #1875254) + - drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + -- Stefan Bader Thu, 07 May 2020 12:13:24 +0200 + +linux-riscv (5.4.0-25.29) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-25.29 -proposed tracker (LP: #1875384) + + * Packaging resync (LP: #1786013) + - [Packaging] add libcap-dev dependency + + * Include device tree blobs in linux-riscv packages (LP: #1873800) + - [Debian] Ship device tree blobs in linux-modules + + [ Ubuntu: 5.4.0-30.34 ] + + * focal/linux: 5.4.0-30.34 -proposed tracker (LP: #1875385) + * 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 + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + * LIO hanging in iscsit_free_session and iscsit_stop_session (LP: #1871688) + - scsi: target: iscsi: calling iscsit_stop_session() inside + iscsit_close_session() has no effect + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - SAUCE: drm/i915: Align power domain names with port names + - SAUCE: drm/i915/display: Move out code to return the digital_port of the aux + ch + - SAUCE: drm/i915/display: Add intel_legacy_aux_to_power_domain() + - SAUCE: drm/i915/display: Split hsw_power_well_enable() into two + - SAUCE: drm/i915/tc/icl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Skip ref held check for TC legacy aux power wells + - SAUCE: drm/i915/tc/tgl: Implement TC cold sequences + - SAUCE: drm/i915/tc: Catch TC users accessing FIA registers without enable + aux + - SAUCE: drm/i915/tc: Do not warn when aux power well of static TC ports + timeout + * 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 + * amdgpu kernel errors in Linux 5.4 (LP: #1871248) + - drm/amd/display: Stop if retimer is not available + * Focal update: v5.4.34 upstream stable release (LP: #1874111) + - amd-xgbe: Use __napi_schedule() in BH context + - hsr: check protocol version in hsr_newlink() + - l2tp: Allow management of tunnels and session in user namespace + - net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode + - net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin + - net: ipv6: do not consider routes via gateways for anycast address check + - net: phy: micrel: use genphy_read_status for KSZ9131 + - net: qrtr: send msgs from local of same id as broadcast + - net: revert default NAPI poll timeout to 2 jiffies + - net: tun: record RX queue in skb before do_xdp_generic() + - net: dsa: mt7530: move mt7623 settings out off the mt7530 + - net: ethernet: mediatek: move mt7623 settings out off the mt7530 + - net/mlx5: Fix frequent ioread PCI access during recovery + - net/mlx5e: Add missing release firmware call + - net/mlx5e: Fix nest_level for vlan pop action + - net/mlx5e: Fix pfnum in devlink port attribute + - net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes + - ovl: fix value of i_ino for lower hardlink corner case + - scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic + - platform/chrome: cros_ec_rpmsg: Fix race with host event + - jbd2: improve comments about freeing data buffers whose page mapping is NULL + - acpi/nfit: improve bounds checking for 'func' + - perf report: Fix no branch type statistics report issue + - pwm: pca9685: Fix PWM/GPIO inter-operation + - ext4: fix incorrect group count in ext4_fill_super error message + - ext4: fix incorrect inodes per group in error message + - clk: at91: sam9x60: fix usb clock parents + - clk: at91: usb: use proper usbs_mask + - ARM: dts: imx7-colibri: fix muxing of usbc_det pin + - arm64: dts: librem5-devkit: add a vbus supply to usb0 + - usb: dwc3: gadget: Don't clear flags before transfer ended + - ASoC: Intel: mrfld: fix incorrect check on p->sink + - ASoC: Intel: mrfld: return error codes when an error occurs + - ALSA: hda/realtek - Enable the headset mic on Asus FX505DT + - ALSA: usb-audio: Filter error from connector kctl ops, too + - ALSA: usb-audio: Don't override ignore_ctl_error value from the map + - ALSA: usb-audio: Don't create jack controls for PCM terminals + - ALSA: usb-audio: Check mapping at creating connector controls, too + - arm64: vdso: don't free unallocated pages + - keys: Fix proc_keys_next to increase position index + - tracing: Fix the race between registering 'snapshot' event trigger and + triggering 'snapshot' operation + - btrfs: check commit root generation in should_ignore_root + - nl80211: fix NL80211_ATTR_FTM_RESPONDER policy + - mac80211: fix race in ieee80211_register_hw() + - mac80211_hwsim: Use kstrndup() in place of kasprintf() + - net/mlx5e: Encapsulate updating netdev queues into a function + - net/mlx5e: Rename hw_modify to preactivate + - net/mlx5e: Use preactivate hook to set the indirection table + - drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled + - drm/amdgpu: fix the hw hang during perform system reboot and reset + - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT + - ext4: do not zeroout extents beyond i_disksize + - irqchip/ti-sci-inta: Fix processing of masked irqs + - x86/resctrl: Preserve CDP enable over CPU hotplug + - x86/resctrl: Fix invalid attempt at removing the default resource group + - scsi: target: remove boilerplate code + - scsi: target: fix hang when multiple threads try to destroy the same iscsi + session + - x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE + - Linux 5.4.34 + * Focal update: v5.4.33 upstream stable release (LP: #1873481) + - ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage + - bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads + - ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode + - bpf: Fix deadlock with rq_lock in bpf_send_signal() + - iwlwifi: mvm: Fix rate scale NSS configuration + - Input: tm2-touchkey - add support for Coreriver TC360 variant + - soc: fsl: dpio: register dpio irq handlers after dpio create + - rxrpc: Abstract out the calculation of whether there's Tx space + - rxrpc: Fix call interruptibility handling + - net: stmmac: platform: Fix misleading interrupt error msg + - net: vxge: fix wrong __VA_ARGS__ usage + - hinic: fix a bug of waitting for IO stopped + - hinic: fix the bug of clearing event queue + - hinic: fix out-of-order excution in arm cpu + - hinic: fix wrong para of wait_for_completion_timeout + - hinic: fix wrong value of MIN_SKB_LEN + - selftests/net: add definition for SOL_DCCP to fix compilation errors for old + libc + - cxgb4/ptp: pass the sign of offset delta in FW CMD + - drm/scheduler: fix rare NULL ptr race + - cfg80211: Do not warn on same channel at the end of CSA + - qlcnic: Fix bad kzalloc null test + - i2c: st: fix missing struct parameter description + - i2c: pca-platform: Use platform_irq_get_optional + - media: rc: add keymap for Videostrong KII Pro + - cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL + - staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex + - media: venus: hfi_parser: Ignore HEVC encoding for V1 + - firmware: arm_sdei: fix double-lock on hibernate with shared events + - null_blk: Fix the null_add_dev() error path + - null_blk: Handle null_add_dev() failures properly + - null_blk: fix spurious IO errors after failed past-wp access + - media: imx: imx7_mipi_csis: Power off the source when stopping streaming + - media: imx: imx7-media-csi: Fix video field handling + - xhci: bail out early if driver can't accress host in resume + - x86: Don't let pgprot_modify() change the page encryption bit + - dma-mapping: Fix dma_pgprot() for unencrypted coherent pages + - block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices + - debugfs: Check module state before warning in {full/open}_proxy_open() + - irqchip/versatile-fpga: Handle chained IRQs properly + - time/sched_clock: Expire timer in hardirq context + - media: allegro: fix type of gop_length in channel_create message + - sched: Avoid scale real weight down to zero + - selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault + - PCI/switchtec: Fix init_completion race condition with poll_wait() + - block, bfq: move forward the getting of an extra ref in bfq_bfqq_move + - media: i2c: video-i2c: fix build errors due to 'imply hwmon' + - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() + - pstore/platform: fix potential mem leak if pstore_init_fs failed + - gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty + - gfs2: Don't demote a glock until its revokes are written + - cpufreq: imx6q: fix error handling + - x86/boot: Use unsigned comparison for addresses + - efi/x86: Ignore the memory attributes table on i386 + - genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy() + - block: Fix use-after-free issue accessing struct io_cq + - media: i2c: ov5695: Fix power on and off sequences + - usb: dwc3: core: add support for disabling SS instances in park mode + - irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency + - md: check arrays is suspended in mddev_detach before call quiesce operations + - firmware: fix a double abort case with fw_load_sysfs_fallback + - spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion + - locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps() + - block, bfq: fix use-after-free in bfq_idle_slice_timer_body + - btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is + at least queued + - btrfs: remove a BUG_ON() from merge_reloc_roots() + - btrfs: restart relocate_tree_blocks properly + - btrfs: track reloc roots based on their commit root bytenr + - ASoC: fix regwmask + - ASoC: dapm: connect virtual mux with default value + - ASoC: dpcm: allow start or stop during pause for backend + - ASoC: topology: use name_prefix for new kcontrol + - usb: gadget: f_fs: Fix use after free issue as part of queue failure + - usb: gadget: composite: Inform controller driver of self-powered + - ALSA: usb-audio: Add mixer workaround for TRX40 and co + - ALSA: hda: Add driver blacklist + - ALSA: hda: Fix potential access overflow in beep helper + - ALSA: ice1724: Fix invalid access for enumerated ctl items + - ALSA: pcm: oss: Fix regression by buffer overflow fix + - ALSA: hda/realtek - a fake key event is triggered by running shutup + - ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 + - ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 + - ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups + - ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen + - ALSA: hda/realtek - Add quirk for MSI GL63 + - media: venus: firmware: Ignore secure call error on first resume + - media: hantro: Read be32 words starting at every fourth byte + - media: ti-vpe: cal: fix disable_irqs to only the intended target + - media: ti-vpe: cal: fix a kernel oops when unloading module + - seccomp: Add missing compat_ioctl for notify + - acpi/x86: ignore unspecified bit positions in the ACPI global lock field + - ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE + - ACPI: PM: s2idle: Refine active GPEs check + - thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n + - nvmet-tcp: fix maxh2cdata icresp parameter + - efi/x86: Add TPM related EFI tables to unencrypted mapping checks + - PCI: pciehp: Fix indefinite wait on sysfs requests + - PCI/ASPM: Clear the correct bits when enabling L1 substates + - PCI: Add boot interrupt quirk mechanism for Xeon chipsets + - PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM + - PCI: endpoint: Fix for concurrent memory allocation in OB address region + - sched/fair: Fix enqueue_task_fair warning + - tpm: Don't make log failures fatal + - tpm: tpm1_bios_measurements_next should increase position index + - tpm: tpm2_bios_measurements_next should increase position index + - cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus() + - genirq/debugfs: Add missing sanity checks to interrupt injection + - irqchip/versatile-fpga: Apply clear-mask earlier + - io_uring: remove bogus RLIMIT_NOFILE check in file registration + - pstore: pstore_ftrace_seq_next should increase position index + - MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3 + - MIPS: OCTEON: irq: Fix potential NULL pointer dereference + - PM / Domains: Allow no domain-idle-states DT property in genpd when parsing + - PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there + - ath9k: Handle txpower changes even when TPC is disabled + - signal: Extend exec_id to 64bits + - x86/tsc_msr: Use named struct initializers + - x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices + - x86/tsc_msr: Make MSR derived TSC frequency more accurate + - x86/entry/32: Add missing ASM_CLAC to general_protection entry + - platform/x86: asus-wmi: Support laptops where the first battery is named + BATT + - KVM: nVMX: Properly handle userspace interrupt window request + - KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks + - KVM: s390: vsie: Fix delivery of addressing exceptions + - KVM: x86: Allocate new rmap and large page tracking when moving memslot + - KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support + - KVM: x86: Gracefully handle __vmalloc() failure during VM allocation + - KVM: VMX: Add a trampoline to fix VMREAD error handling + - KVM: VMX: fix crash cleanup when KVM wasn't used + - smb3: fix performance regression with setting mtime + - CIFS: Fix bug which the return value by asynchronous read is error + - mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers + - mtd: spinand: Do not erase the block before writing a bad block marker + - btrfs: Don't submit any btree write bio if the fs has errors + - Btrfs: fix crash during unmount due to race with delayed inode workers + - btrfs: reloc: clean dirty subvols if we fail to start a transaction + - btrfs: set update the uuid generation as soon as possible + - btrfs: drop block from cache on error in relocation + - btrfs: fix missing file extent item for hole after ranged fsync + - btrfs: unset reloc control if we fail to recover + - btrfs: fix missing semaphore unlock in btrfs_sync_file + - btrfs: use nofs allocations for running delayed items + - remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown + - remoteproc: qcom_q6v5_mss: Reload the mba region on coredump + - remoteproc: Fix NULL pointer dereference in rproc_virtio_notify + - crypto: rng - Fix a refcounting bug in crypto_rng_reset() + - crypto: mxs-dcp - fix scatterlist linearization for hash + - erofs: correct the remaining shrink objects + - io_uring: honor original task RLIMIT_FSIZE + - mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions + - powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() + - tools: gpio: Fix out-of-tree build regression + - net: qualcomm: rmnet: Allow configuration updates to existing devices + - arm64: dts: allwinner: h6: Fix PMU compatible + - sched/core: Remove duplicate assignment in sched_tick_remote() + - arm64: dts: allwinner: h5: Fix PMU compatible + - mm, memcg: do not high throttle allocators based on wraparound + - dm writecache: add cond_resched to avoid CPU hangs + - dm integrity: fix a crash with unusually large tag size + - dm verity fec: fix memory leak in verity_fec_dtr + - dm clone: Add overflow check for number of regions + - dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() + - XArray: Fix xas_pause for large multi-index entries + - xarray: Fix early termination of xas_for_each_marked + - crypto: caam/qi2 - fix chacha20 data size error + - crypto: caam - update xts sector size for large input length + - crypto: ccree - protect against empty or NULL scatterlists + - crypto: ccree - only try to map auth tag if needed + - crypto: ccree - dec auth tag size from cryptlen map + - scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point + - scsi: ufs: fix Auto-Hibern8 error detection + - ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board + - arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes + - arm64: armv8_deprecated: Fix undef_hook mask for thumb setend + - selftests: vm: drop dependencies on page flags from mlock2 tests + - selftests/vm: fix map_hugetlb length used for testing read and write + - selftests/powerpc: Add tlbie_test in .gitignore + - vfio: platform: Switch to platform_get_irq_optional() + - drm/i915/gem: Flush all the reloc_gpu batch + - drm/etnaviv: rework perfmon query infrastructure + - drm: Remove PageReserved manipulation from drm_pci_alloc + - drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK + - drm/amdgpu: unify fw_write_wait for new gfx9 asics + - powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable + - nfsd: fsnotify on rmdir under nfsd/clients/ + - NFS: Fix use-after-free issues in nfs_pageio_add_request() + - NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() + - ext4: fix a data race at inode->i_blocks + - fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() + - ocfs2: no need try to truncate file beyond i_size + - perf tools: Support Python 3.8+ in Makefile + - s390/diag: fix display of diagnose call statistics + - Input: i8042 - add Acer Aspire 5738z to nomux list + - ftrace/kprobe: Show the maxactive number on kprobe_events + - clk: ingenic/jz4770: Exit with error if CGU init failed + - clk: ingenic/TCU: Fix round_rate returning error + - kmod: make request_module() return an error when autoloading is disabled + - cpufreq: powernv: Fix use-after-free + - hfsplus: fix crash and filesystem corruption when deleting files + - ipmi: fix hung processes in __get_guid() + - xen/blkfront: fix memory allocation flags in blkfront_setup_indirect() + - powerpc/64/tm: Don't let userspace set regs->trap via sigreturn + - powerpc/fsl_booke: Avoid creating duplicate tlb1 entry + - powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE + entries + - powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs + - powerpc/64: Setup a paca before parsing device tree etc. + - powerpc/xive: Fix xmon support on the PowerNV platform + - powerpc/kprobes: Ignore traps that happened in real mode + - powerpc/64: Prevent stack protection in early boot + - scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug + - powerpc: Make setjmp/longjmp signature standard + - arm64: Always force a branch protection mode when the compiler has one + - dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone() + - dm clone: replace spin_lock_irqsave with spin_lock_irq + - dm clone: Fix handling of partial region discards + - dm clone: Add missing casts to prevent overflows and data corruption + - Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" + - drm/dp_mst: Fix clearing payload state on topology disable + - drm/amdgpu: fix gfx hang during suspend with video playback (v2) + - drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode + - powerpc/kasan: Fix kasan_remap_early_shadow_ro() + - mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static + - mmc: sdhci: Refactor sdhci_set_timeout() + - bpf: Fix tnum constraints for 32-bit comparisons + - mfd: dln2: Fix sanity checking for endpoints + - efi/x86: Fix the deletion of variables in mixed mode + - ASoC: stm32: sai: Add missing cleanup + - Linux 5.4.33 + - SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize + * Panic on suspend/resume Kernel panic - not syncing: stack-protector: Kernel + stack is corrupted in: sata_pmp_eh_recover+0xa2b/0xa40 (LP: #1821434) // + Focal update: v5.4.33 upstream stable release (LP: #1873481) + - libata: Return correct status in sata_pmp_eh_recover_pm() when + ATA_DFLAG_DETACH is set + * Focal update: v5.4.32 upstream stable release (LP: #1873292) + - cxgb4: fix MPS index overwrite when setting MAC address + - ipv6: don't auto-add link-local address to lag ports + - net: dsa: bcm_sf2: Do not register slave MDIO bus with OF + - net: dsa: bcm_sf2: Ensure correct sub-node is parsed + - net: dsa: mt7530: fix null pointer dereferencing in port5 setup + - net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before + accessing PHY registers + - net_sched: add a temporary refcnt for struct tcindex_data + - net_sched: fix a missing refcnt in tcindex_init() + - net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting + - tun: Don't put_page() for all negative return values from XDP program + - mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE + - r8169: change back SG and TSO to be disabled by default + - s390: prevent leaking kernel address in BEAR + - random: always use batched entropy for get_random_u{32,64} + - usb: dwc3: gadget: Wrap around when skip TRBs + - uapi: rename ext2_swab() to swab() and share globally in swab.h + - slub: improve bit diffusion for freelist ptr obfuscation + - tools/accounting/getdelays.c: fix netlink attribute length + - hwrng: imx-rngc - fix an error path + - ACPI: PM: Add acpi_[un]register_wakeup_handler() + - platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler() + - ASoC: jz4740-i2s: Fix divider written at incorrect offset in register + - IB/hfi1: Call kobject_put() when kobject_init_and_add() fails + - IB/hfi1: Fix memory leaks in sysfs registration and unregistration + - IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads + - ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D + - ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A + - ceph: remove the extra slashes in the server path + - ceph: canonicalize server path in place + - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for + swap + - RDMA/ucma: Put a lock around every call to the rdma_cm layer + - RDMA/cma: Teach lockdep about the order of rtnl and lock + - RDMA/siw: Fix passive connection establishment + - Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl + - RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow + - blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync + - fbcon: fix null-ptr-deref in fbcon_switch + - iommu/vt-d: Allow devices with RMRRs to use identity domain + - Linux 5.4.32 + * Focal update: v5.4.31 upstream stable release (LP: #1871651) + - nvme-rdma: Avoid double freeing of async event data + - kconfig: introduce m32-flag and m64-flag + - drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017 + - drm/bochs: downgrade pci_request_region failure from error to warning + - initramfs: restore default compression behavior + - drm/amdgpu: fix typo for vcn1 idle check + - [Packaging] add libcap-dev dependency + - tools/power turbostat: Fix gcc build warnings + - tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks + - tools/power turbostat: Fix 32-bit capabilities warning + - net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow + - XArray: Fix xa_find_next for large multi-index entries + - padata: fix uninitialized return value in padata_replace() + - brcmfmac: abort and release host after error + - misc: rtsx: set correct pcr_ops for rts522A + - misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices + - misc: pci_endpoint_test: Avoid using module parameter to determine irqtype + - PCI: sysfs: Revert "rescan" file renames + - coresight: do not use the BIT() macro in the UAPI header + - mei: me: add cedar fork device ids + - nvmem: check for NULL reg_read and reg_write before dereferencing + - extcon: axp288: Add wakeup support + - power: supply: axp288_charger: Add special handling for HP Pavilion x2 10 + - Revert "dm: always call blk_queue_split() in dm_process_bio()" + - ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 + Classified motherboard + - soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper + - net/mlx5e: kTLS, Fix wrong value in record tracker enum + - iwlwifi: consider HE capability when setting LDPC + - iwlwifi: yoyo: don't add TLV offset when reading FIFOs + - iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails + - rxrpc: Fix sendmsg(MSG_WAITALL) handling + - IB/hfi1: Ensure pq is not left on waitlist + - tcp: fix TFO SYNACK undo to avoid double-timestamp-undo + - watchdog: iTCO_wdt: Export vendorsupport + - watchdog: iTCO_wdt: Make ICH_RES_IO_SMI optional + - i2c: i801: Do not add ICH_RES_IO_SMI for the iTCO_wdt device + - net: Fix Tx hash bound checking + - padata: always acquire cpu_hotplug_lock before pinst->lock + - mm: mempolicy: require at least one nodeid for MPOL_PREFERRED + - Linux 5.4.31 + * Add hw timestamps to received skbs in peak_canfd (LP: #1874124) + - can: peak_canfd: provide hw timestamps in rx skbs + * kselftest: seccomp kill_after_ptrace() timeout (LP: #1872047) + - SAUCE: kselftest/runner: allow to properly deliver signals to tests + + [ Ubuntu: 5.4.0-29.33 ] + + * focal/linux: 5.4.0-29.33 -proposed tracker (LP: #1875858) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + [ Ubuntu: 5.4.0-28.32 ] + + * CVE-2020-11884 + - SAUCE: s390/mm: fix page table upgrade vs 2ndary address mode accesses + + [ Ubuntu: 5.4.0-26.30 ] + + * focal/linux: 5.4.0-26.30 -proposed tracker (LP: #1873882) + * Packaging resync (LP: #1786013) + - update dkms package versions + * swap storms kills interactive use (LP: #1861359) + - SAUCE: drm/i915: prevent direct writeback from the shrinker + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + * [RTL810xE] No ethernet connection (LP: #1871182) + - net: phy: realtek: fix handling of RTL8105e-integrated PHY + + [ Ubuntu: 5.4.0-25.29 ] + + * focal/linux: 5.4.0-25.29 -proposed tracker (LP: #1873459) + * [TGL] VMD support in TGL (LP: #1855954) + - PCI: vmd: Add bus 224-255 restriction decode + - PCI: vmd: Add device id for VMD device 8086:9A0B + * Can not see the storage with Intel RAID On mode enabled on Intel Comet Lake + (LP: #1871812) + - ahci: Add Intel Comet Lake PCH RAID PCI ID + + -- Stefan Bader Tue, 05 May 2020 18:08:03 +0200 + +linux-riscv (5.4.0-24.28) focal; urgency=medium + + * focal/linux-riscv: 5.4.0-24.28 -proposed tracker (LP: #1871938) + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * 12d1:1038 Dual-Role OTG device on non-HNP port - unable to enumerate USB + device on port 1 (LP: #1047527) + - [Config] USB_OTG_FSM policy not needed + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update update.conf + + * Miscellaneous Ubuntu changes + - [Packaging] Initial linux-riscv packaging + - [Config] CONFIG_RT_GROUP_SCHED=y + + -- Seth Forshee Thu, 09 Apr 2020 19:51:55 -0500 + +linux-riscv (5.4.0-23.27) focal; urgency=medium + + * Initial entry. + + -- Seth Forshee Mon, 06 Apr 2020 08:48:18 -0500 --- linux-riscv-5.8-5.8.0.orig/debian/cloud-tools/hv_get_dhcp_info +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/cloud-tools/hv_get_dns_info +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/cloud-tools/hv_set_ifconfig +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/commit-templates/bumpabi +++ linux-riscv-5.8-5.8.0/debian/commit-templates/bumpabi @@ -0,0 +1,3 @@ +UBUNTU: Bump ABI + +Ignore: yes --- linux-riscv-5.8-5.8.0.orig/debian/commit-templates/config-updates +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/commit-templates/external-driver +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/commit-templates/missing-modules +++ linux-riscv-5.8-5.8.0/debian/commit-templates/missing-modules @@ -0,0 +1,3 @@ +UBUNTU: build/modules: Add modules that have intentionally gone missing + +Ignore: yes --- linux-riscv-5.8-5.8.0.orig/debian/commit-templates/newrelease +++ linux-riscv-5.8-5.8.0/debian/commit-templates/newrelease @@ -0,0 +1,3 @@ +UBUNTU: Start new release + +Ignore: yes --- linux-riscv-5.8-5.8.0.orig/debian/commit-templates/sauce-patch +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/commit-templates/upstream-patch +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/control +++ linux-riscv-5.8-5.8.0/debian/control @@ -0,0 +1,227 @@ +Source: linux-riscv-5.8 +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + dh-systemd, + cpio, + kernel-wedge, + kmod , + libcap-dev , + makedumpfile [amd64] , + 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 , + lz4 [amd64 s390x] , + dwarves , +Build-Depends-Arch: + gcc-10, +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/~ubuntu-kernel/ubuntu/+source/linux/+git/focal +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +Package: linux-riscv-5.8-headers-5.8.0-29 +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils +Description: Header files related to Linux kernel version 5.8.0 + This package provides kernel header files for version 5.8.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-riscv-5.8-headers-5.8.0-29/debian.README.gz for details + +Package: linux-riscv-5.8-tools-5.8.0-29 +Build-Profiles: +Architecture: riscv64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 5.8.0-29 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 5.8.0-29 on + . + You probably want to install linux-tools-5.8.0-29-. + + +Package: linux-image-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: kernel +Priority: optional +Provides: linux-image, fuse-module, aufs-dkms, kvm-api-4, redhat-cluster-modules, ivtv-modules, ${linux:rprovides} +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.8.0-29-generic +Recommends: , initramfs-tools | linux-initramfs-tool +Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] +Conflicts: linux-image-unsigned-5.8.0-29-generic +Suggests: fdutils, linux-doc | linux-riscv-5.8-source-5.8.0, linux-riscv-5.8-tools, linux-headers-5.8.0-29-generic +Description: Linux kernel image for version 5.8.0 on SMP + This package contains the Linux kernel image for version 5.8.0 on + SMP. + . + Supports Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel extra modules for version 5.8.0 on 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-extra-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.8.0-29-generic | linux-image-unsigned-5.8.0-29-generic, crda | wireless-crda +Description: Linux kernel extra modules for version 5.8.0 on SMP + This package contains the Linux kernel extra modules for version 5.8.0 on + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-riscv-5.8-headers-5.8.0-29, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 5.8.0 on SMP + This package provides kernel header files for version 5.8.0 on + SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-5.8.0-29/debian.README.gz for details. + +Package: linux-image-5.8.0-29-generic-dbgsym +Build-Profiles: +Architecture: riscv64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 5.8.0 on SMP + This package provides the kernel debug image for version 5.8.0 on + 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.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-riscv-5.8-tools-5.8.0-29 +Description: Linux kernel version specific tools for version 5.8.0-29 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 5.8.0-29 on + . + +Package: linux-cloud-tools-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-riscv-5.8-cloud-tools-5.8.0-29 +Description: Linux kernel version specific cloud tools for version 5.8.0-29 + This package provides the architecture dependant parts for kernel + version locked tools for cloud for version 5.8.0-29 on + . + +Package: linux-udebs-generic +Build-Profiles: +XC-Package-Type: udeb +Section: debian-installer +Architecture: riscv64 +Depends: ${udeb:Depends} +Description: Metapackage depending on kernel udebs + This package depends on the all udebs that the kernel build generated, + for easier version and migration tracking. + + +Package: linux-buildinfo-5.8.0-29-generic +Build-Profiles: +Architecture: riscv64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel buildinfo for version 5.8.0 on SMP + This package contains the Linux kernel buildinfo for version 5.8.0 on + SMP. + . + You likely do not want to install this package. --- linux-riscv-5.8-5.8.0.orig/debian/control.d/flavour-buildinfo.stub +++ linux-riscv-5.8-5.8.0/debian/control.d/flavour-buildinfo.stub @@ -0,0 +1,13 @@ + +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-riscv-5.8-5.8.0.orig/debian/copyright +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/debian.env +++ linux-riscv-5.8-5.8.0/debian/debian.env @@ -0,0 +1 @@ +DEBIAN=debian.riscv-5.8 --- linux-riscv-5.8-5.8.0.orig/debian/dkms-versions +++ linux-riscv-5.8-5.8.0/debian/dkms-versions @@ -0,0 +1,7 @@ +zfs-linux 0.8.4-1ubuntu11.2 +nvidia-graphics-drivers-390 390.143-0ubuntu0.20.10.1 +nvidia-graphics-drivers-460 460.80-0ubuntu0.20.10.2 transition=nvidia-graphics-drivers-455 transition=nvidia-graphics-drivers-435 transition=nvidia-graphics-drivers-440 transition=nvidia-graphics-drivers-450 +nvidia-graphics-drivers-465 465.27-0ubuntu0.20.10.2 +nvidia-graphics-drivers-418-server 418.197.02-0ubuntu0.20.10.1 +nvidia-graphics-drivers-450-server 450.119.04-0ubuntu0.20.10.2 transition=nvidia-graphics-drivers-440-server +nvidia-graphics-drivers-460-server 460.73.01-0ubuntu0.20.10.1 --- linux-riscv-5.8-5.8.0.orig/debian/docs/README.inclusion-list +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/gbp.conf +++ linux-riscv-5.8-5.8.0/debian/gbp.conf @@ -0,0 +1,2 @@ +[buildpackage] +debian-tag = Ubuntu-%(version)s --- linux-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.service +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.udev +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.upstart +++ linux-riscv-5.8-5.8.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 +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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-kvp-daemon.udev +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-kvp-daemon.upstart +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-vss-daemon.udev +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/linux-cloud-tools-common.hv-vss-daemon.upstart +++ linux-riscv-5.8-5.8.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) +endif + +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))) + +# Versions of dkms packages. +dkms_zfs_linux_version=$(shell gawk '/^zfs-linux / { print $$2; }' debian/dkms-versions) + +# 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 + dh_testdir + dh_testroot + dh_clean + + # d-i stuff + rm -rf $(DEBIAN)/d-i-$(arch) + # Generated on the fly. + rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image + + # normal build junk + rm -rf $(DEBIAN)/abi/$(release)-$(revision) + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* + rm -rf $(DEBIAN)/linux-* + + # This gets rid of the d-i packages in control + cp -f $(DEBIAN)/control.stub $(DROOT)/control + 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 + +# Rules for building the udebs ($(DEBIAN)-installer) +include $(DROOT)/rules.d/5-udebs.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 + +# Misc stuff +.PHONY: $(DEBIAN)/control.stub +$(DEBIAN)/control.stub: \ + $(DROOT)/scripts/control-create \ + $(control_files) \ + $(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' \ + > $(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 + echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub + cp $(DEBIAN)/control.stub debian/control + export KW_DEFCONFIG_DIR=$(DEBIAN)/d-i && \ + export KW_CONFIG_DIR=$(DEBIAN)/d-i && \ + LANG=C kernel-wedge gen-control $(release)-$(abinum) | \ + perl -f $(DROOT)/scripts/misc/kernel-wedge-arch.pl $(arch) \ + >>$(CURDIR)/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 >"$@" --- linux-riscv-5.8-5.8.0.orig/debian/rules.d/0-common-vars.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/0-common-vars.mk @@ -0,0 +1,278 @@ +# 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)) +prev_revision := $(word $(words $(prev_revisions)),$(prev_revisions)) + +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)" + +family=ubuntu + +# 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) +ifneq ($(arch),$(DEB_HOST_ARCH)) + CROSS_COMPILE ?= $(shell dpkg-architecture -a$(arch) -qDEB_HOST_GNU_TYPE -f 2>/dev/null)- +endif + +# +# Detect invocations of the form 'dpkg-buildpackage -B -aarmhf' within +# an x86'en schroot. This is the only way to build all of the packages +# (except for tools). +# +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)- +endif + +abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(revision)/$(arch) +prev_abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(prev_revision)/$(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=true +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 + +# 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 + +# 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) \ + 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 --- linux-riscv-5.8-5.8.0.orig/debian/rules.d/1-maintainer.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/1-maintainer.mk @@ -0,0 +1,175 @@ +# 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 updateportsconfigs editportsconfigs 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 " updateportsconfigs : Update ports arch configs" + @echo + @echo " editportsconfigs : Update ports arch configs interactivly" + @echo " genportconfigs : Generate ports 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; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ "$(do_enforce_all)" + rm -rf build + +updateportsconfigs defaultportsconfigs editportsconfigs genportsconfigs askconfigs: + dh_testdir; + $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ ports + 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_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 + @perl -w -f $(DROOT)/scripts/misc/insert-changes.pl $(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 + $(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 \ + ver="$(release)-$$(echo "$(revision)" | \ + perl -ne 'if (/^(\d*)\.(\d*)(.*)?$$/) { printf("%d.%d%s\n", $$1 + 1, $$2 +1, $$3) }')"; \ + 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-riscv-5.8-5.8.0.orig/debian/rules.d/2-binary-arch.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/2-binary-arch.mk @@ -0,0 +1,807 @@ +# 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 + +# Typically supplied from the arch makefile, e.g., debian.master/control.d/armhf.mk +ifneq ($(gcc),) +kmake += CC=$(CROSS_COMPILE)$(gcc) +endif + +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.$(family) $(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 + 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-build-% + @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) + + @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 = + 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 + +# nvidia_build_payload 450 450 450_450.102.04-0ubuntu0.20.04.1 +# nvidia_build_payload 450-server 450srv 50.102.04-0ubuntu0.20.04.1 +define nvidia_build_payload = + $(call build_dkms, $(bldinfo_pkg_name)-$*, $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/signatures, "", nvidia-$(2), pool/restricted/n/nvidia-graphics-drivers-$(1)/nvidia-kernel-source-$(1)_$(3)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-$(1)/nvidia-dkms-$(1)_$(3)_$(arch).deb) +endef +# nvidia_build 450 +# nvidia_build 450-server +define nvidia_build = + $(call nvidia_build_payload,$(1),$(shell echo $(1) | sed -e 's/-server/srv/'),$(shell awk '/^nvidia-graphics-drivers-$(1) / {print($$2);}' debian/dkms-versions)) + +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 +install-%: pkgdir_bin = $(CURDIR)/debian/$(bin_pkg_name)-$* +install-%: pkgdir = $(CURDIR)/debian/$(mods_pkg_name)-$* +install-%: pkgdir_ex = $(CURDIR)/debian/$(mods_extra_pkg_name)-$* +install-%: pkgdir_bldinfo = $(CURDIR)/debian/$(bldinfo_pkg_name)-$* +install-%: bindoc = $(pkgdir)/usr/share/doc/$(bin_pkg_name)-$* +install-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +install-%: signingv = $(CURDIR)/debian/$(bin_pkg_name)-signing/$(release)-$(revision) +install-%: toolspkgdir = $(CURDIR)/debian/$(tools_flavour_pkg_name)-$* +install-%: cloudpkgdir = $(CURDIR)/debian/$(cloud_flavour_pkg_name)-$* +install-%: basepkg = $(hdrs_pkg_name) +install-%: indeppkg = $(indep_hdrs_pkg_name) +install-%: kernfile = $(call custom_override,kernel_file,$*) +install-%: instfile = $(call custom_override,install_file,$*) +install-%: hdrdir = $(CURDIR)/debian/$(basepkg)-$*/usr/src/$(basepkg)-$* +install-%: target_flavour = $* +install-%: MODHASHALGO=sha512 +install-%: MODSECKEY=$(builddir)/build-$*/certs/signing_key.pem +install-%: MODPUBKEY=$(builddir)/build-$*/certs/signing_key.x509 +install-%: build_dir=$(builddir)/build-$* +install-%: dkms_dir=$(call dkms_dir_prefix,$(builddir)/build-$*) +install-%: enable_zfs = $(call custom_override,do_zfs,$*) +install-%: dbgpkgdir_zfs = $(if $(filter true,$(skipdbg)),"",$(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/kernel) +install-%: $(stampdir)/stamp-build-% install-headers + @echo Debug: $@ kernel_file $(kernel_file) kernfile $(kernfile) install_file $(install_file) instfile $(instfile) + dh_testdir + dh_testroot + dh_prep -p$(bin_pkg_name)-$* + dh_prep -p$(mods_pkg_name)-$* + dh_prep -p$(hdrs_pkg_name)-$* +ifneq ($(skipdbg),true) + dh_prep -p$(bin_pkg_name)-$*-dbgsym +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)-$* + if [ "$(filter true,$(do_dtbs))" ]; then \ + $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ + INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ + ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \ + while read dtb_file; do \ + echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \ + done; \ + fi +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 + + # 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)-$* + $(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) + cat $(builddir)/build-$*/.config | \ + sed -e 's/.*CONFIG_DEBUG_INFO=.*/# CONFIG_DEBUG_INFO is not set/g' > \ + $(hdrdir)/.config + chmod 644 $(hdrdir)/.config + $(kmake) O=$(hdrdir) -j1 syncconfig prepare scripts + # We'll symlink this stuff + rm -f $(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 + # 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" + + $(if $(filter true,$(enable_zfs)),$(call build_dkms, $(mods_pkg_name)-$*, $(pkgdir)/lib/modules/$(abi_release)-$*/kernel, $(dbgpkgdir_zfs), zfs, pool/universe/z/zfs-linux/zfs-dkms_$(dkms_zfs_linux_version)_all.deb)) + +ifeq ($(do_dkms_nvidia),true) + $(foreach series,$(nvidia_desktop_series),$(call nvidia_build,$(series))) +endif +ifeq ($(do_dkms_nvidia_server),true) + $(foreach series,$(nvidia_server_series),$(call nvidia_build,$(series))) +endif + +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 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 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 + +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)' + dh_md5sums -p$(1) + dh_builddeb -p$(1) +endef +define newline + + +endef +define dh_all_inline + $(subst ${newline},; \${newline},$(call dh_all,$(1))) +endef + +binary-arch-headers: install-arch-headers + @echo Debug: $@ + dh_testdir + dh_testroot +ifeq ($(do_libc_dev_package),true) +ifneq ($(DEBIAN),debian.master) + 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)-$* +binary-%: rprovides = $(if $(filter true,$(call custom_override,do_zfs,$*)),spl-modules$(comma) spl-dkms$(comma) zfs-modules$(comma) zfs-dkms$(comma)) +binary-%: target_flavour = $* +binary-%: checks-% + @echo Debug: $@ + dh_testdir + dh_testroot + + $(call dh_all,$(pkgimg)) + $(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 + + $(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)) + + # 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 this flavours build directory. + rm -rf $(builddir)/build-$* + # 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-build-,$(flavours)) +build-arch: $(build-arch-deps-true) + @echo Debug: $@ + +ifeq ($(AUTOBUILD),) +binary-arch-deps-$(do_flavour_image_package) += binary-udebs +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-riscv-5.8-5.8.0.orig/debian/rules.d/3-binary-indep.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/3-binary-indep.mk @@ -0,0 +1,220 @@ +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) +install-headers: prepare-indep + @echo Debug: $@ + dh_testdir + dh_testroot + +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 + +docpkg = $(doc_pkg_name) +docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg) +install-doc: 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: 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 \ + -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: 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: 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 -m 755 $(CURDIR)/tools/kvm/kvm_stat/kvm_stat $(hosttoolsbin)/ + + cd $(builddir)/tools/tools/kvm/kvm_stat && make man + install -m644 $(builddir)/tools/tools/kvm/kvm_stat/*.1 \ + $(hosttoolsman)/man1 +endif + +prepare-indep: + @echo Debug: $@ + dh_prep -i + +install-indep: 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: prepare-indep 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: 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 + dh_installdeb -i + $(lockme) dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i --- linux-riscv-5.8-5.8.0.orig/debian/rules.d/4-checks.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/4-checks.mk @@ -0,0 +1,28 @@ +# Check ABI for package against last release (if not same abinum) +abi-check-%: 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-%: install-% + @echo Debug: $@ + @perl -f $(DROOT)/scripts/module-check "$*" \ + "$(prev_abidir)" "$(abidir)" $(skipmodule) + +# Check the reptoline jmp/call functions against the last release. +retpoline-check-%: install-% + @echo Debug: $@ + $(SHELL) $(DROOT)/scripts/retpoline-check "$*" \ + "$(prev_abidir)" "$(abidir)" "$(skipretpoline)" "$(builddir)/build-$*" + +checks-%: module-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-riscv-5.8-5.8.0.orig/debian/rules.d/5-udebs.mk +++ linux-riscv-5.8-5.8.0/debian/rules.d/5-udebs.mk @@ -0,0 +1,79 @@ +# Do udebs if not disabled in the arch-specific makefile +binary-udebs: binary-debs + @echo Debug: $@ +ifeq ($(disable_d_i),) + @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \ + do-binary-udebs +endif + +do-binary-udebs: linux_udeb_name=$(shell if echo $(src_pkg_name)|egrep -q '(linux-lts|linux-hwe|linux-[0-9]+\.[0-9]+)'; then echo $(src_pkg_name); else echo linux; fi) +do-binary-udebs: debian/control + @echo Debug: $@ + dh_testdir + dh_testroot + + # unpack the kernels into a temporary directory + mkdir -p debian/d-i-${arch} + + imagelist=$$(cat $(CURDIR)/$(DEBIAN)/d-i/kernel-versions | grep ^${arch} | gawk '{print $$3}') && \ + for f in $$imagelist; do \ + i=$(release)-$(abinum)-$$f; \ + for f in \ + ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-image-unsigned-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-$$i\_$(release)-$(revision)_${arch}.deb \ + ../linux-modules-extra-$$i\_$(release)-$(revision)_${arch}.deb; \ + do \ + [ -f $$f ] && dpkg -x $$f debian/d-i-${arch}; \ + done; \ + /sbin/depmod -b debian/d-i-${arch} $$i; \ + done + + # kernel-wedge will error if no modules unless this is touched + touch $(DEBIAN)/d-i/no-modules + + touch $(CURDIR)/$(DEBIAN)/d-i/ignore-dups + export KW_DEFCONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export KW_CONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \ + export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \ + kernel-wedge install-files $(release)-$(abinum) && \ + kernel-wedge check + + # Build just the udebs + dilist=$$(dh_listpackages -s | grep "\-di$$") && \ + [ -z "$dilist" ] || \ + for i in $$dilist; do \ + dh_fixperms -p$$i; \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done + + # Generate the meta-udeb dependancy lists. + @gawk ' \ + /^Package:/ { \ + package=$$2; flavour=""; parch="" } \ + (/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \ + match(package, "'$(release)'-'$(abinum)'-(.*)-di", bits); \ + flavour = bits[1]; \ + } \ + (/^Architecture:/ && $$0 " " ~ / '$(arch)'/) { \ + parch=$$0; \ + } \ + (flavour != "" && parch != "") { \ + udebs[flavour] = udebs[flavour] package ", "; \ + flavour=""; parch=""; \ + } \ + END { \ + for (flavour in udebs) { \ + package="$(linux_udeb_name)-udebs-" flavour; \ + file="debian/" package ".substvars"; \ + print("udeb:Depends=" udebs[flavour]) > file; \ + metas="'$(builddir)'/udeb-meta-packages"; \ + print(package) >metas \ + } \ + } \ + ' <$(CURDIR)/debian/control + @while read i; do \ + $(lockme) dh_gencontrol -p$$i; \ + dh_builddeb -p$$i; \ + done <$(builddir)/udeb-meta-packages --- linux-riscv-5.8-5.8.0.orig/debian/scripts/abi-check +++ linux-riscv-5.8-5.8.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", "$prev_abidir/../../perm-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-riscv-5.8-5.8.0.orig/debian/scripts/config-check +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/control-create +++ linux-riscv-5.8-5.8.0/debian/scripts/control-create @@ -0,0 +1,40 @@ +#!/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" --- linux-riscv-5.8-5.8.0.orig/debian/scripts/dkms-build +++ linux-riscv-5.8-5.8.0/debian/scripts/dkms-build @@ -0,0 +1,259 @@ +#!/bin/bash +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" + $SHELL "$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-\* | 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" +rc=0 +/usr/sbin/dkms build --no-prepare-kernel --no-clean-kernel \ + -k "$abi_flavour" \ + --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 + +# 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" + $SHELL "$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-riscv-5.8-5.8.0.orig/debian/scripts/dkms-build--nvidia-N +++ linux-riscv-5.8-5.8.0/debian/scripts/dkms-build--nvidia-N @@ -0,0 +1,112 @@ +#!/bin/sh + +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. +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 | \ + 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 | 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-riscv-5.8-5.8.0.orig/debian/scripts/dkms-build-configure--zfs +++ linux-riscv-5.8-5.8.0/debian/scripts/dkms-build-configure--zfs @@ -0,0 +1,23 @@ +#!/bin/sh + +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-riscv-5.8-5.8.0.orig/debian/scripts/file-downloader +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/fix-filenames.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/helpers/close +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/helpers/open +++ linux-riscv-5.8-5.8.0/debian/scripts/helpers/open @@ -0,0 +1,219 @@ +#!/bin/bash -eu +export LC_ALL=C.UTF-8 + +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 + +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:-}' + +# 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= +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" ]; 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 + # 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" + 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 + +# Perform a basic ABI check +if [ "$dry_run" -eq 0 ]; then + version=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion -c1 -o1) + abi_dir="$DEBIAN/abi/$version" + [ ! -d "$abi_dir" ] && hl "Warning: ABI directory is missing: $abi_dir" +fi + +# Mimic maint-startnewrelease +[ "$dry_run" -eq 0 ] && \ + hl "\n***** Now please inspect the commit before pushing *****" + +exit 0 --- linux-riscv-5.8-5.8.0.orig/debian/scripts/helpers/rebase +++ linux-riscv-5.8-5.8.0/debian/scripts/helpers/rebase @@ -0,0 +1,141 @@ +#!/bin/bash -e +# +# This script is intended as a helper when rebasing from its master branch. +# + +LOCAL_BRANCH= +RELEASE_REPO= +SOURCE_RELEASE_BRANCH= + +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+="-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:d" opt; do + case $opt in + r ) RELEASE_REPO="$OPTARG" ;; + b ) SOURCE_RELEASE_BRANCH="$OPTARG" ;; + l ) LOCAL_BRANCH="$OPTARG" ;; + d ) DRY_RUN=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; then + echo "This is not a rebase kernel, no rebase should be needed, please report if otherwise" + exit 0 +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-riscv-5.8-5.8.0.orig/debian/scripts/link-headers +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/final-checks +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/final-checks @@ -0,0 +1,68 @@ +#!/bin/bash + +debian="$1" +abi="$2" + +. "$debian/etc/kernelconfig" +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 +} + +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/$abi" "$arch" "$flavour" + done +done + +exit "$fail" --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/find-missing-sauce.sh +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/find-obsolete-firmware +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/find-obsolete-firmware @@ -0,0 +1,91 @@ +#!/bin/bash +# +# Find all duplicate or obsolete firmware that is being carried +# in the kernel firmware directory. Compare these files against +# the linux-firmware package for the approriate release. For example, +# assuming this is raring, then compare the kernel firmware files +# against the raring branch of linux-firmware. +# +# Example: $0 ~/ubuntu/linux-firmware-raring + +USEAGE="$0 LINUX-FIRMWARE" + +. debian/debian.env + +NFWINFO="`find $DEBIAN -name fwinfo|wc -l`" +if [ ! "$NFWINFO" = "1" ] +then + echo Your repo is hosed. There can only be one fwinfo file. + find $DEBIAN -name fwinfo + exit 1 +fi + +FWINFO="`pwd`/`find $DEBIAN -name fwinfo`" + +if [ "$1" = "" ] +then + echo $USEAGE + exit 1 +fi +FW="$1" + +if [ ! -f $FW/WHENCE ] +then + echo Bogus linux-firmware directory + exit 1 +fi +if ! egrep -q "^firmware:" $FWINFO +then + echo Bogus firmware info file + exit 1 +fi + +# +# Prepare the tree and make firmware. +# +TEE="tee -a" +LO=`pwd`/firmware.txt +LF=`pwd`/lib/firmware +rm -rf debian/build $LF $LO +fakeroot debian/rules clean prepare-generic +cp debian/build/build-generic/.config . +mkdir -p $LF +make firmware_install INSTALL_MOD_PATH=`pwd` + +(cd $LF +find . -type f | while read f +do + BN="`basename $f`" + + if ! grep -q $BN $FWINFO + then + echo "Unused firmware: $f" | $TEE $LO + else + if [ -f $FW/$f ] + then + if ! cmp $FW/$f $f + then + echo "$f differs" | $TEE $LO + else + echo "$f is duplicated" | $TEE $LO + fi + else + echo "$f does not exist in $FW" | $TEE $LO + fi + fi +done) + +# +# Check for firmware files referenced by the kernel +# that do not exist in either location. +# +cat $FWINFO | while read fwi f +do + if [ -s lib/firmware/$f ] || [ -s $FW/$f ] + then + continue + else + echo "Missing firmware $f" | $TEE $LO + fi +done + --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/fw-to-ihex.sh +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/gen-auto-reconstruct +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/gen-auto-reconstruct @@ -0,0 +1,84 @@ +#!/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 + echo "chmod +x '$name'" + 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-riscv-5.8-5.8.0.orig/debian/scripts/misc/get-firmware +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/get-firmware @@ -0,0 +1,62 @@ +#!/bin/bash +# +# Find all files in linux-firmware that are new or different since the previous release +# and copy them into the kernel firmware directory. You should only do this on the +# backport branch since it would be redundant on the released kernel. It assumed you've +# unpacked linux-firmware from each release into separate directories. +# +# Example: $0 ~/ubuntu/linux-firmware-precise ~/ubuntu/linux-firmware-quantal + +if [ "$1" = "" ] || [ "$2" = "" ] || [ ! -f $1/WHENCE ] || [ ! -f $2/WHENCE ] +then + echo You must supply 2 firmware directories. + exit 1 +fi + +if [ ! -f debian/debian.env ] +then + echo You must run this script from the root of the repo + exit 1 +fi +. debian/debian.env + +NFWINFO="`find $DEBIAN -name fwinfo|wc -l`" +if [ ! "$NFWINFO" = "1" ] +then + echo Your repo is hosed. There can only be one fwinfo file. + find $DEBIAN -name fwinfo + exit 1 +fi + +FWINFO="`pwd`/`find $DEBIAN -name fwinfo`" + +CDIR=`pwd` +OFW=$1 +NFW=$2 + +cd $NFW +# +# Find all files in $NFW that are new or different from $1 +# +(find . -type f | egrep -v "debian|git|LICEN|WHEN|READ|Make|configure" | sed 's;\./;;' | \ +while read f +do + if grep -q $f $FWINFO + then + if [ ! -f $OFW/$f ] + then + echo $f + elif ! cmp $f $OFW/$f > /dev/null + then + echo $f + fi + fi +done) |\ +while read f +do + mkdir -p $CDIR/firmware/`dirname $f` + if [ ! -f $CDIR/firmware/`dirname $f`/`basename $f`.ihex ] + then + cp -v $f $CDIR/firmware/`dirname $f` + fi +done --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/getabis +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/getabis @@ -0,0 +1,194 @@ +#!/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=$(echo $revision | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$/\1/') + +verabi=$ver-$abi +verfull=$ver-$revision + +WGET="wget --tries=1 --timeout=10 --quiet -c" + +abidir="`pwd`/$DEBIAN/abi/$verfull" +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" + 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 +mkdir -p $abidir +echo $abi > $abidir/abiname + +# 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 | uniq > fwinfo.tmp +mv fwinfo.tmp $fwinfo + +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 + find $DEBIAN/abi/* -maxdepth 0 -type d | grep -v $verfull | while read f; do git rm -r -f $f;done +fi --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/git-ubuntu-log +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/git-ubuntu-log @@ -0,0 +1,166 @@ +#!/usr/bin/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-riscv-5.8-5.8.0.orig/debian/scripts/misc/insert-changes.pl +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/insert-changes.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl -w + +my $debian; +$droot = $ARGV[0] if (defined $ARGV[0]); +$droot = 'debian' if (!defined $droot); +$debian = $ARGV[1] if (defined $ARGV[1]); +$debian = 'debian.master' if (!defined $debian); + +system("make -s -f $droot/rules printchanges > $debian/changes"); + +open(CHANGELOG, "< $debian/changelog") or die "Cannot open changelog"; +open(CHANGES, "< $debian/changes") or die "Cannot open new changes"; +open(NEW, "> $debian/changelog.new") or die "Cannot open new changelog"; + +$printed = 0; +my $skip_newline = 0; + +while () { + if (/^ CHANGELOG: /) { + next if $printed; + + $skip_newline = 1; + while () { + $skip_newline = 0; + print NEW; + } + + $printed = 1; + } else { + if (/^$/ && $skip_newline == 1) { + $skip_newline = 0; + next; + } + print NEW; + } +} + +close(NEW); +close(CHANGES); +close(CHANGELOG); + +rename("$debian/changelog.new", "$debian/changelog"); +unlink("$debian/changes"); --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/insert-mainline-changes +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/insert-ubuntu-changes +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/kernel-wedge-arch.pl +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/kernel-wedge-arch.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl +# +# kernel-wedge-arch.pl -- select only specifiers for the supplied arch. +# +use strict; + +require Dpkg::Control; +require Dpkg::Deps; + +my $fh = \*STDIN; + +my @entries; + +my $wanted = $ARGV[0]; + +my $entry; +while (!eof($fh)) { + $entry = Dpkg::Control->new(); + $entry->parse($fh, '???'); + + if ($entry->{'Architecture'} eq $wanted) { + print("\n" . $entry); + } +} + +close($fh); --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/kernelconfig +++ linux-riscv-5.8-5.8.0/debian/scripts/misc/kernelconfig @@ -0,0 +1,207 @@ +#!/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 +kerneldir="`pwd`" +confdir="$kerneldir/${DEBIAN}/config" +variant="$2" + +. $DEBIAN/etc/kernelconfig + +bindir="`pwd`/${DROOT}/scripts/misc" +common_conf="$confdir/config.common.$family" +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="" + deb_build_arch=$(dpkg-architecture -qDEB_BUILD_ARCH -a$arch 2>/dev/null) + deb_host_arch=$(dpkg-architecture -qDEB_HOST_ARCH -a$arch 2>/dev/null) + [ $deb_build_arch != $deb_host_arch ] && cross_compile="$(dpkg-architecture -qDEB_HOST_GNU_TYPE -a$arch 2>/dev/null)-" + + # 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" + compiler_path=$(which "${cross_compile}gcc" || true) + if [ "$compiler_path" != '' ]; then + env="$env CROSS_COMPILE=$cross_compile" + 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 $env menuconfig + break ;; + n* | N* ) + # 'syncconfig' prevents + # errors for '-' options set + # in common config fragments + make O=`pwd`/build $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 $env "$mode" + else + make O=`pwd`/build $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 + +if [ "$fail" != 0 ]; then + echo "" + echo "*** ERROR: $fail config-check failures detected" + echo "" +fi + +rm -rf build + +if [ "$warning_partial" ]; then + echo "" + echo "WARNING: configuration operation applied only to a subset of architectures (skipped$warning_partial)" 1>&2 + echo "" +fi --- linux-riscv-5.8-5.8.0.orig/debian/scripts/misc/retag +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/splitconfig.pl +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/tristate.sh +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/misc/update-aufs.sh +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/module-check +++ linux-riscv-5.8-5.8.0/debian/scripts/module-check @@ -0,0 +1,120 @@ +#!/usr/bin/perl -w + +$flavour = shift; +$prev_abidir = shift; +$abidir = shift; +$skipmodule = shift; + +print "II: Checking modules for $flavour..."; + +if (-f "$prev_abidir/ignore.modules" + or -f "$prev_abidir/$flavour.ignore.modules") { + print "explicitly ignoring modules\n"; + exit(0); +} + +if (not -f "$abidir/$flavour.modules" or not -f + "$prev_abidir/$flavour.modules") { + print "previous or current modules file missing!\n"; + print " $abidir/$flavour.modules\n"; + print " $prev_abidir/$flavour.modules\n"; + if (defined($skipmodule)) { + exit(0); + } else { + exit(1); + } +} + +print "\n"; + +my %modules; +my %modules_ignore; +my $missing = 0; +my $new = 0; +my $errors = 0; + +# See if we have any ignores +if (-f "$prev_abidir/../modules.ignore") { + my $ignore = 0; + open(IGNORE, "< $prev_abidir/../modules.ignore") or + die "Could not open $prev_abidir/../modules.ignore"; + print " reading modules to ignore..."; + while () { + chomp; + next if /\s*#/; + $modules_ignore{$_} = 1; + $ignore++; + } + close(IGNORE); + print "read $ignore modules.\n"; +} + +# Read new modules first +print " reading new modules..."; +$new_count = 0; +open(NEW, "< $abidir/$flavour.modules") or + die "Could not open $abidir/$flavour.modules"; +while () { + chomp; + $modules{$_} = 1; + $new_count++; +} +close(NEW); +print "read $new_count modules.\n"; + +# Now the old modules, checking for missing ones +print " reading old modules..."; +$old_count = 0; +open(OLD, "< $prev_abidir/$flavour.modules") or + die "Could not open $prev_abidir/$flavour.modules"; +while () { + chomp; + if (not defined($modules{$_})) { + print "\n" if not $missing; + $missing++; + if (not defined($modules_ignore{$_})) { + print " MISS: $_\n"; + $errors++; + } else { + print " MISS: $_ (ignored)\n"; + } + } else { + $modules{$_}++; + } + $old_count++; +} +close(OLD); +# Check for new modules +foreach $mod (keys(%modules)) { + if ($modules{$mod} < 2) { + print "\n" if not $missing and not $new; + print " NEW : $mod\n"; + $new++; + } +} +if ($new or $missing) { + print " read $old_count modules : new($new) missing($missing)\n"; +} else { + print "read $old_count modules.\n"; +} + + +# Let's see where we stand... +if ($errors) { + if (defined($skipmodule)) { + print "WW: Explicitly asked to ignore failures (probably not good)\n"; + } else { + print "EE: Missing modules (start begging for mercy)\n"; + exit 1 + } +} + +if ($new) { + print "II: New modules (you've been busy, wipe the poop off your nose)\n"; +} else { + print "II: No new modules (hope you're happy, slacker)\n"; +} + +print "II: Done\n"; + +exit(0); --- linux-riscv-5.8-5.8.0.orig/debian/scripts/module-inclusion +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/retpoline-check +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/retpoline-extract +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/retpoline-extract-one +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/scripts/sub-flavour +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/snapcraft.mk +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/source/format +++ linux-riscv-5.8-5.8.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- linux-riscv-5.8-5.8.0.orig/debian/source/options +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/stamps/keep-dir +++ linux-riscv-5.8-5.8.0/debian/stamps/keep-dir @@ -0,0 +1 @@ +Place holder --- linux-riscv-5.8-5.8.0.orig/debian/templates/extra.postinst.in +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/templates/image.preinst.in +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/templates/image.prerm.in +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/tests-build/README +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/tests-build/check-aliases +++ linux-riscv-5.8-5.8.0/debian/tests-build/check-aliases @@ -0,0 +1,24 @@ +#!/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"; + +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-riscv-5.8-5.8.0.orig/debian/tests/control +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/tests/rebuild +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/tests/ubuntu-regression-suite +++ linux-riscv-5.8-5.8.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-hwe*|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 git://kernel.ubuntu.com/ubuntu/kernel-testing +kernel-testing/run-dep8-tests --- linux-riscv-5.8-5.8.0.orig/debian/tools/generic +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/debian/wireguard-modules.ignore +++ linux-riscv-5.8-5.8.0/debian/wireguard-modules.ignore @@ -0,0 +1 @@ +wireguard --- linux-riscv-5.8-5.8.0.orig/debian/zfs-modules.ignore +++ linux-riscv-5.8-5.8.0/debian/zfs-modules.ignore @@ -0,0 +1,10 @@ +icp +spl +splat +zavl +zcommon +zfs +zlua +znvpair +zpios +zunicode --- linux-riscv-5.8-5.8.0.orig/drivers/Makefile +++ linux-riscv-5.8-5.8.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-$(CONFIG_NVM) += lightnvm/ @@ -80,6 +75,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-riscv-5.8-5.8.0.orig/drivers/acpi/acpi_configfs.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpi_configfs.c @@ -228,6 +228,7 @@ ACPI_INFO(("Host-directed Dynamic ACPI Table Unload")); acpi_unload_table(table->index); + config_item_put(cfg); } static struct configfs_group_operations acpi_table_group_ops = { @@ -267,7 +268,12 @@ acpi_table_group = configfs_register_default_group(root, "table", &acpi_tables_type); - return PTR_ERR_OR_ZERO(acpi_table_group); + if (IS_ERR(acpi_table_group)) { + configfs_unregister_subsystem(&acpi_configfs); + return PTR_ERR(acpi_table_group); + } + + return 0; } module_init(acpi_configfs_init); --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpi_dbg.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpi_dbg.c @@ -749,6 +749,9 @@ { int ret; + if (acpi_disabled) + return -ENODEV; + /* Initialize AML IO interface */ mutex_init(&acpi_aml_io.lock); init_waitqueue_head(&acpi_aml_io.wait); --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpi_extlog.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpi_extlog.c @@ -222,9 +222,9 @@ u64 cap; int rc; - rdmsrl(MSR_IA32_MCG_CAP, cap); - - if (!(cap & MCG_ELOG_P) || !extlog_get_l1addr()) + if (rdmsrl_safe(MSR_IA32_MCG_CAP, &cap) || + !(cap & MCG_ELOG_P) || + !extlog_get_l1addr()) return -ENODEV; rc = -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpi_pnp.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpi_pnp.c @@ -317,6 +317,9 @@ { int i; + if (strlen(idstr) != strlen(list_id)) + return false; + if (memcmp(idstr, list_id, 3)) return false; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/acobject.h +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/acobject.h @@ -284,6 +284,7 @@ acpi_adr_space_handler handler; struct acpi_namespace_node *node; /* Parent device */ void *context; + acpi_mutex context_mutex; acpi_adr_space_setup setup; union acpi_operand_object *region_list; /* Regions using this handler */ union acpi_operand_object *next; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/evhandler.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/evhandler.c @@ -489,6 +489,13 @@ /* Init handler obj */ + status = + acpi_os_create_mutex(&handler_obj->address_space.context_mutex); + if (ACPI_FAILURE(status)) { + acpi_ut_remove_reference(handler_obj); + goto unlock_and_exit; + } + handler_obj->address_space.space_id = (u8)space_id; handler_obj->address_space.handler_flags = flags; handler_obj->address_space.region_list = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/evregion.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/evregion.c @@ -111,6 +111,8 @@ union acpi_operand_object *region_obj2; void *region_context = NULL; struct acpi_connection_info *context; + acpi_mutex context_mutex; + u8 context_locked; acpi_physical_address address; ACPI_FUNCTION_TRACE(ev_address_space_dispatch); @@ -135,6 +137,8 @@ } context = handler_desc->address_space.context; + context_mutex = handler_desc->address_space.context_mutex; + context_locked = FALSE; /* * It may be the case that the region has never been initialized. @@ -203,6 +207,23 @@ handler = handler_desc->address_space.handler; address = (region_obj->region.address + region_offset); + ACPI_DEBUG_PRINT((ACPI_DB_OPREGION, + "Handler %p (@%p) Address %8.8X%8.8X [%s]\n", + ®ion_obj->region.handler->address_space, handler, + ACPI_FORMAT_UINT64(address), + acpi_ut_get_region_name(region_obj->region. + space_id))); + + if (!(handler_desc->address_space.handler_flags & + ACPI_ADDR_HANDLER_DEFAULT_INSTALLED)) { + /* + * For handlers other than the default (supplied) handlers, we must + * exit the interpreter because the handler *might* block -- we don't + * know what it will do, so we can't hold the lock on the interpreter. + */ + acpi_ex_exit_interpreter(); + } + /* * Special handling for generic_serial_bus and general_purpose_io: * There are three extra parameters that must be passed to the @@ -211,6 +232,11 @@ * 2) Length of the above buffer * 3) Actual access length from the access_as() op * + * Since we pass these extra parameters via the context, which is + * shared between threads, we must lock the context to avoid these + * parameters being changed from another thread before the handler + * has completed running. + * * In addition, for general_purpose_io, the Address and bit_width fields * are defined as follows: * 1) Address is the pin number index of the field (bit offset from @@ -220,6 +246,14 @@ if ((region_obj->region.space_id == ACPI_ADR_SPACE_GSBUS) && context && field_obj) { + status = + acpi_os_acquire_mutex(context_mutex, ACPI_WAIT_FOREVER); + if (ACPI_FAILURE(status)) { + goto re_enter_interpreter; + } + + context_locked = TRUE; + /* Get the Connection (resource_template) buffer */ context->connection = field_obj->field.resource_buffer; @@ -229,6 +263,14 @@ if ((region_obj->region.space_id == ACPI_ADR_SPACE_GPIO) && context && field_obj) { + status = + acpi_os_acquire_mutex(context_mutex, ACPI_WAIT_FOREVER); + if (ACPI_FAILURE(status)) { + goto re_enter_interpreter; + } + + context_locked = TRUE; + /* Get the Connection (resource_template) buffer */ context->connection = field_obj->field.resource_buffer; @@ -238,28 +280,15 @@ bit_width = field_obj->field.bit_length; } - ACPI_DEBUG_PRINT((ACPI_DB_OPREGION, - "Handler %p (@%p) Address %8.8X%8.8X [%s]\n", - ®ion_obj->region.handler->address_space, handler, - ACPI_FORMAT_UINT64(address), - acpi_ut_get_region_name(region_obj->region. - space_id))); - - if (!(handler_desc->address_space.handler_flags & - ACPI_ADDR_HANDLER_DEFAULT_INSTALLED)) { - /* - * For handlers other than the default (supplied) handlers, we must - * exit the interpreter because the handler *might* block -- we don't - * know what it will do, so we can't hold the lock on the interpreter. - */ - acpi_ex_exit_interpreter(); - } - /* Call the handler */ status = handler(function, address, bit_width, value, context, region_obj2->extra.region_context); + if (context_locked) { + acpi_os_release_mutex(context_mutex); + } + if (ACPI_FAILURE(status)) { ACPI_EXCEPTION((AE_INFO, status, "Returned by Handler for [%s]", acpi_ut_get_region_name(region_obj->region. @@ -276,6 +305,7 @@ } } +re_enter_interpreter: if (!(handler_desc->address_space.handler_flags & ACPI_ADDR_HANDLER_DEFAULT_INSTALLED)) { /* --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/evxfregn.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/evxfregn.c @@ -201,6 +201,8 @@ /* Now we can delete the handler object */ + acpi_os_release_mutex(handler_obj->address_space. + context_mutex); acpi_ut_remove_reference(handler_obj); goto unlock_and_exit; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/exprep.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/exprep.c @@ -473,10 +473,6 @@ (u8)access_byte_width; } } - /* An additional reference for the container */ - - acpi_ut_add_reference(obj_desc->field.region_obj); - ACPI_DEBUG_PRINT((ACPI_DB_BFIELD, "RegionField: BitOff %X, Off %X, Gran %X, Region %p\n", obj_desc->field.start_field_bit_offset, --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/nsaccess.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/nsaccess.c @@ -99,13 +99,12 @@ * just create and link the new node(s) here. */ new_node = - ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_namespace_node)); + acpi_ns_create_node(*ACPI_CAST_PTR(u32, init_val->name)); if (!new_node) { status = AE_NO_MEMORY; goto unlock_and_exit; } - ACPI_COPY_NAMESEG(new_node->name.ascii, init_val->name); new_node->descriptor_type = ACPI_DESC_TYPE_NAMED; new_node->type = init_val->type; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/acpica/utdelete.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/acpica/utdelete.c @@ -568,11 +568,6 @@ next_object = object->buffer_field.buffer_obj; break; - case ACPI_TYPE_LOCAL_REGION_FIELD: - - next_object = object->field.region_obj; - break; - case ACPI_TYPE_LOCAL_BANK_FIELD: next_object = object->bank_field.bank_obj; @@ -613,6 +608,7 @@ } break; + case ACPI_TYPE_LOCAL_REGION_FIELD: case ACPI_TYPE_REGION: default: --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/apei/ghes.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/apei/ghes.c @@ -879,7 +879,7 @@ 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, - true); + TWA_RESUME); if (ret) estatus_node->task_work.func = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/arm64/iort.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/arm64/iort.c @@ -1069,6 +1069,11 @@ ncomp = (struct acpi_iort_named_component *)node->node_data; + if (!ncomp->memory_address_limit) { + pr_warn(FW_BUG "Named component missing memory address limit\n"); + return -EINVAL; + } + *size = ncomp->memory_address_limit >= 64 ? U64_MAX : 1ULL<memory_address_limit; @@ -1088,6 +1093,11 @@ rc = (struct acpi_iort_root_complex *)node->node_data; + if (!rc->memory_address_limit) { + pr_warn(FW_BUG "Root complex missing memory address limit\n"); + return -EINVAL; + } + *size = rc->memory_address_limit >= 64 ? U64_MAX : 1ULL<memory_address_limit; @@ -1135,8 +1145,8 @@ end = dmaaddr + size - 1; mask = DMA_BIT_MASK(ilog2(end) + 1); dev->bus_dma_limit = end; - dev->coherent_dma_mask = mask; - *dev->dma_mask = mask; + dev->coherent_dma_mask = min(dev->coherent_dma_mask, mask); + *dev->dma_mask = min(*dev->dma_mask, mask); } *dma_addr = dmaaddr; @@ -1680,3 +1690,58 @@ iort_init_platform_devices(); } + +#ifdef CONFIG_ZONE_DMA +/* + * Extract the highest CPU physical address accessible to all DMA masters in + * the system. PHYS_ADDR_MAX is returned when no constrained device is found. + */ +phys_addr_t __init acpi_iort_dma_get_max_cpu_address(void) +{ + phys_addr_t limit = PHYS_ADDR_MAX; + struct acpi_iort_node *node, *end; + struct acpi_table_iort *iort; + acpi_status status; + int i; + + if (acpi_disabled) + return limit; + + status = acpi_get_table(ACPI_SIG_IORT, 0, + (struct acpi_table_header **)&iort); + if (ACPI_FAILURE(status)) + return limit; + + node = ACPI_ADD_PTR(struct acpi_iort_node, iort, iort->node_offset); + end = ACPI_ADD_PTR(struct acpi_iort_node, iort, iort->header.length); + + for (i = 0; i < iort->node_count; i++) { + if (node >= end) + break; + + switch (node->type) { + struct acpi_iort_named_component *ncomp; + struct acpi_iort_root_complex *rc; + phys_addr_t local_limit; + + case ACPI_IORT_NODE_NAMED_COMPONENT: + ncomp = (struct acpi_iort_named_component *)node->node_data; + local_limit = DMA_BIT_MASK(ncomp->memory_address_limit); + limit = min_not_zero(limit, local_limit); + break; + + case ACPI_IORT_NODE_PCI_ROOT_COMPLEX: + if (node->revision < 1) + break; + + rc = (struct acpi_iort_root_complex *)node->node_data; + local_limit = DMA_BIT_MASK(rc->memory_address_limit); + limit = min_not_zero(limit, local_limit); + break; + } + node = ACPI_ADD_PTR(struct acpi_iort_node, node, node->length); + } + acpi_put_table(&iort->header); + return limit; +} +#endif --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/button.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/button.c @@ -102,7 +102,18 @@ */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), - DMI_MATCH(DMI_PRODUCT_NAME, "E2215T MD60198"), + DMI_MATCH(DMI_PRODUCT_NAME, "E2215T"), + }, + .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN, + }, + { + /* + * Medion Akoya E2228T, notification of the LID device only + * happens on close, not on open and _LID always returns closed. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E2228T"), }, .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN, }, @@ -153,6 +164,7 @@ int last_state; ktime_t last_time; bool suspended; + bool lid_state_initialized; }; static struct acpi_device *lid_device; @@ -383,6 +395,8 @@ static void acpi_lid_initialize_state(struct acpi_device *device) { + struct acpi_button *button = acpi_driver_data(device); + switch (lid_init_state) { case ACPI_BUTTON_LID_INIT_OPEN: (void)acpi_lid_notify_state(device, 1); @@ -394,13 +408,14 @@ default: break; } + + button->lid_state_initialized = true; } static void acpi_button_notify(struct acpi_device *device, u32 event) { struct acpi_button *button = acpi_driver_data(device); struct input_dev *input; - int users; switch (event) { case ACPI_FIXED_HARDWARE_EVENT: @@ -409,10 +424,7 @@ case ACPI_BUTTON_NOTIFY_STATUS: input = button->input; if (button->type == ACPI_BUTTON_TYPE_LID) { - mutex_lock(&button->input->mutex); - users = button->input->users; - mutex_unlock(&button->input->mutex); - if (users) + if (button->lid_state_initialized) acpi_lid_update_state(device, true); } else { int keycode; @@ -457,7 +469,7 @@ struct acpi_button *button = acpi_driver_data(device); button->suspended = false; - if (button->type == ACPI_BUTTON_TYPE_LID && button->input->users) { + if (button->type == ACPI_BUTTON_TYPE_LID) { button->last_state = !!acpi_lid_evaluate_state(device); button->last_time = ktime_get(); acpi_lid_initialize_state(device); --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/device_pm.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/device_pm.c @@ -749,7 +749,7 @@ static DEFINE_MUTEX(acpi_wakeup_lock); static int __acpi_device_wakeup_enable(struct acpi_device *adev, - u32 target_state, int max_count) + u32 target_state) { struct acpi_device_wakeup *wakeup = &adev->wakeup; acpi_status status; @@ -757,15 +757,26 @@ mutex_lock(&acpi_wakeup_lock); - if (wakeup->enable_count >= max_count) - goto out; - + /* + * If the device wakeup power is already enabled, disable it and enable + * it again in case it depends on the configuration of subordinate + * devices and the conditions have changed since it was enabled last + * time. + */ if (wakeup->enable_count > 0) - goto inc; + acpi_disable_wakeup_device_power(adev); error = acpi_enable_wakeup_device_power(adev, target_state); - if (error) + if (error) { + if (wakeup->enable_count > 0) { + acpi_disable_gpe(wakeup->gpe_device, wakeup->gpe_number); + wakeup->enable_count = 0; + } goto out; + } + + if (wakeup->enable_count > 0) + goto inc; status = acpi_enable_gpe(wakeup->gpe_device, wakeup->gpe_number); if (ACPI_FAILURE(status)) { @@ -778,7 +789,10 @@ (unsigned int)wakeup->gpe_number); inc: - wakeup->enable_count++; + if (wakeup->enable_count < INT_MAX) + wakeup->enable_count++; + else + acpi_handle_info(adev->handle, "Wakeup enable count out of bounds!\n"); out: mutex_unlock(&acpi_wakeup_lock); @@ -799,7 +813,7 @@ */ static int acpi_device_wakeup_enable(struct acpi_device *adev, u32 target_state) { - return __acpi_device_wakeup_enable(adev, target_state, 1); + return __acpi_device_wakeup_enable(adev, target_state); } /** @@ -829,8 +843,12 @@ mutex_unlock(&acpi_wakeup_lock); } -static int __acpi_pm_set_device_wakeup(struct device *dev, bool enable, - int max_count) +/** + * acpi_pm_set_device_wakeup - Enable/disable remote wakeup for given device. + * @dev: Device to enable/disable to generate wakeup events. + * @enable: Whether to enable or disable the wakeup functionality. + */ +int acpi_pm_set_device_wakeup(struct device *dev, bool enable) { struct acpi_device *adev; int error; @@ -850,37 +868,15 @@ return 0; } - error = __acpi_device_wakeup_enable(adev, acpi_target_system_state(), - max_count); + error = __acpi_device_wakeup_enable(adev, acpi_target_system_state()); if (!error) dev_dbg(dev, "Wakeup enabled by ACPI\n"); return error; } - -/** - * acpi_pm_set_device_wakeup - Enable/disable remote wakeup for given device. - * @dev: Device to enable/disable to generate wakeup events. - * @enable: Whether to enable or disable the wakeup functionality. - */ -int acpi_pm_set_device_wakeup(struct device *dev, bool enable) -{ - return __acpi_pm_set_device_wakeup(dev, enable, 1); -} EXPORT_SYMBOL_GPL(acpi_pm_set_device_wakeup); /** - * acpi_pm_set_bridge_wakeup - Enable/disable remote wakeup for given bridge. - * @dev: Bridge device to enable/disable to generate wakeup events. - * @enable: Whether to enable or disable the wakeup functionality. - */ -int acpi_pm_set_bridge_wakeup(struct device *dev, bool enable) -{ - return __acpi_pm_set_device_wakeup(dev, enable, INT_MAX); -} -EXPORT_SYMBOL_GPL(acpi_pm_set_bridge_wakeup); - -/** * acpi_dev_pm_low_power - Put ACPI device into a low-power state. * @dev: Device to put into a low-power state. * @adev: ACPI device node corresponding to @dev. --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/device_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/device_sysfs.c @@ -251,20 +251,12 @@ if (add_uevent_var(env, "MODALIAS=")) return -ENOMEM; - len = create_pnp_modalias(adev, &env->buf[env->buflen - 1], - sizeof(env->buf) - env->buflen); - if (len < 0) - return len; - - env->buflen += len; - if (!adev->data.of_compatible) - return 0; - - if (len > 0 && add_uevent_var(env, "MODALIAS=")) - return -ENOMEM; - - len = create_of_modalias(adev, &env->buf[env->buflen - 1], - sizeof(env->buf) - env->buflen); + if (adev->data.of_compatible) + len = create_of_modalias(adev, &env->buf[env->buflen - 1], + sizeof(env->buf) - env->buflen); + else + len = create_pnp_modalias(adev, &env->buf[env->buflen - 1], + sizeof(env->buf) - env->buflen); if (len < 0) return len; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/ec.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/ec.c @@ -2011,20 +2011,16 @@ if (acpi_any_gpe_status_set(first_ec->gpe)) return true; - if (ec_no_wakeup) - return false; - /* * Dispatch the EC GPE in-band, but do not report wakeup in any case * to allow the caller to process events properly after that. */ ret = acpi_dispatch_gpe(NULL, first_ec->gpe); - if (ret == ACPI_INTERRUPT_HANDLED) { + if (ret == ACPI_INTERRUPT_HANDLED) pm_pr_dbg("ACPI EC GPE dispatched\n"); - /* Flush the event and query workqueues. */ - acpi_ec_flush_work(); - } + /* Flush the event and query workqueues. */ + acpi_ec_flush_work(); return false; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/evged.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/evged.c @@ -101,7 +101,7 @@ switch (gsi) { case 0 ... 255: - sprintf(ev_name, "_%c%02hhX", + sprintf(ev_name, "_%c%02X", trigger == ACPI_EDGE_SENSITIVE ? 'E' : 'L', gsi); if (ACPI_SUCCESS(acpi_get_handle(handle, ev_name, &evt_handle))) --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/fan.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/fan.c @@ -351,6 +351,7 @@ struct acpi_fan_fps *fps = &fan->fps[i]; snprintf(fps->name, ACPI_FPS_NAME_LEN, "state%d", i); + sysfs_attr_init(&fps->dev_attr.attr); fps->dev_attr.show = show_state; fps->dev_attr.store = NULL; fps->dev_attr.attr.name = fps->name; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/internal.h +++ linux-riscv-5.8-5.8.0/drivers/acpi/internal.h @@ -9,6 +9,8 @@ #ifndef _ACPI_INTERNAL_H_ #define _ACPI_INTERNAL_H_ +#include + #define PREFIX "ACPI: " int early_acpi_osi_init(void); @@ -96,9 +98,11 @@ extern struct list_head acpi_bus_id_list; +#define ACPI_MAX_DEVICE_INSTANCES 4096 + struct acpi_device_bus_id { - char bus_id[15]; - unsigned int instance_no; + const char *bus_id; + struct ida instance_ida; struct list_head node; }; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/nfit/core.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/nfit/core.c @@ -1552,7 +1552,7 @@ le16_to_cpu(nfit_dcr->dcr->code)); break; } - if (rc != ENXIO) + if (rc != -ENXIO) break; } mutex_unlock(&acpi_desc->init_mutex); @@ -1823,6 +1823,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, struct nfit_mem *nfit_mem, u32 device_handle) { + struct nvdimm_bus_descriptor *nd_desc = &acpi_desc->nd_desc; struct acpi_device *adev, *adev_dimm; struct device *dev = acpi_desc->dev; unsigned long dsm_mask, label_mask; @@ -1834,6 +1835,7 @@ /* nfit test assumes 1:1 relationship between commands and dsms */ nfit_mem->dsm_mask = acpi_desc->dimm_cmd_force_en; nfit_mem->family = NVDIMM_FAMILY_INTEL; + set_bit(NVDIMM_FAMILY_INTEL, &nd_desc->dimm_family_mask); if (dcr->valid_fields & ACPI_NFIT_CONTROL_MFG_INFO_VALID) sprintf(nfit_mem->id, "%04x-%02x-%04x-%08x", @@ -1886,10 +1888,13 @@ * Note, that checking for function0 (bit0) tells us if any commands * are reachable through this GUID. */ + clear_bit(NVDIMM_FAMILY_INTEL, &nd_desc->dimm_family_mask); for (i = 0; i <= NVDIMM_FAMILY_MAX; i++) - if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1)) + if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1)) { + set_bit(i, &nd_desc->dimm_family_mask); if (family < 0 || i == default_dsm_family) family = i; + } /* limit the supported commands to those that are publicly documented */ nfit_mem->family = family; @@ -2153,6 +2158,9 @@ nd_desc->cmd_mask = acpi_desc->bus_cmd_force_en; nd_desc->bus_dsm_mask = acpi_desc->bus_nfit_cmd_force_en; + set_bit(ND_CMD_CALL, &nd_desc->cmd_mask); + set_bit(NVDIMM_BUS_FAMILY_NFIT, &nd_desc->bus_family_mask); + adev = to_acpi_dev(acpi_desc); if (!adev) return; @@ -2160,7 +2168,6 @@ for (i = ND_CMD_ARS_CAP; i <= ND_CMD_CLEAR_ERROR; i++) if (acpi_check_dsm(adev->handle, guid, 1, 1ULL << i)) set_bit(i, &nd_desc->cmd_mask); - set_bit(ND_CMD_CALL, &nd_desc->cmd_mask); dsm_mask = (1 << ND_CMD_ARS_CAP) | --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/nfit/nfit.h +++ linux-riscv-5.8-5.8.0/drivers/acpi/nfit/nfit.h @@ -33,7 +33,6 @@ | ACPI_NFIT_MEM_RESTORE_FAILED | ACPI_NFIT_MEM_FLUSH_FAILED \ | ACPI_NFIT_MEM_NOT_ARMED | ACPI_NFIT_MEM_MAP_FAILED) -#define NVDIMM_FAMILY_MAX NVDIMM_FAMILY_HYPERV #define NVDIMM_CMD_MAX 31 #define NVDIMM_STANDARD_CMDMASK \ --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/numa/hmat.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/numa/hmat.c @@ -424,7 +424,8 @@ pr_info("HMAT: Memory Flags:%04x Processor Domain:%u Memory Domain:%u\n", p->flags, p->processor_PD, p->memory_PD); - if (p->flags & ACPI_HMAT_MEMORY_PD_VALID && hmat_revision == 1) { + if ((hmat_revision == 1 && p->flags & ACPI_HMAT_MEMORY_PD_VALID) || + hmat_revision > 1) { target = find_mem_target(p->memory_PD); if (!target) { pr_debug("HMAT: Memory Domain missing from SRAT\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/numa/srat.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/numa/srat.c @@ -31,7 +31,7 @@ int pxm_to_node(int pxm) { - if (pxm < 0) + if (pxm < 0 || pxm >= MAX_PXM_DOMAINS || numa_off) return NUMA_NO_NODE; return pxm_to_node_map[pxm]; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/osi.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/acpi/pci_mcfg.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/pci_mcfg.c @@ -142,6 +142,26 @@ XGENE_V2_ECAM_MCFG(4, 0), XGENE_V2_ECAM_MCFG(4, 1), XGENE_V2_ECAM_MCFG(4, 2), + +#define ALTRA_ECAM_QUIRK(rev, seg) \ + { "Ampere", "Altra ", rev, seg, MCFG_BUS_ANY, &pci_32b_read_ops } + + ALTRA_ECAM_QUIRK(1, 0), + ALTRA_ECAM_QUIRK(1, 1), + ALTRA_ECAM_QUIRK(1, 2), + ALTRA_ECAM_QUIRK(1, 3), + ALTRA_ECAM_QUIRK(1, 4), + ALTRA_ECAM_QUIRK(1, 5), + ALTRA_ECAM_QUIRK(1, 6), + ALTRA_ECAM_QUIRK(1, 7), + ALTRA_ECAM_QUIRK(1, 8), + ALTRA_ECAM_QUIRK(1, 9), + ALTRA_ECAM_QUIRK(1, 10), + ALTRA_ECAM_QUIRK(1, 11), + ALTRA_ECAM_QUIRK(1, 12), + ALTRA_ECAM_QUIRK(1, 13), + ALTRA_ECAM_QUIRK(1, 14), + ALTRA_ECAM_QUIRK(1, 15), }; static char mcfg_oem_id[ACPI_OEM_ID_SIZE]; --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/processor_idle.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/processor_idle.c @@ -29,6 +29,7 @@ */ #ifdef CONFIG_X86 #include +#include #endif #define ACPI_PROCESSOR_CLASS "processor" @@ -550,6 +551,10 @@ wait_for_freeze(); } else return -ENODEV; + +#if defined(CONFIG_X86) && defined(CONFIG_HOTPLUG_CPU) + cond_wakeup_cpu0(); +#endif } /* Never reached */ --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/property.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/property.c @@ -794,9 +794,6 @@ const union acpi_object *obj; int ret; - if (!val) - return -EINVAL; - if (proptype >= DEV_PROP_U8 && proptype <= DEV_PROP_U64) { ret = acpi_data_get_property(data, propname, ACPI_TYPE_INTEGER, &obj); if (ret) @@ -806,28 +803,43 @@ case DEV_PROP_U8: if (obj->integer.value > U8_MAX) return -EOVERFLOW; - *(u8 *)val = obj->integer.value; + + if (val) + *(u8 *)val = obj->integer.value; + break; case DEV_PROP_U16: if (obj->integer.value > U16_MAX) return -EOVERFLOW; - *(u16 *)val = obj->integer.value; + + if (val) + *(u16 *)val = obj->integer.value; + break; case DEV_PROP_U32: if (obj->integer.value > U32_MAX) return -EOVERFLOW; - *(u32 *)val = obj->integer.value; + + if (val) + *(u32 *)val = obj->integer.value; + break; default: - *(u64 *)val = obj->integer.value; + if (val) + *(u64 *)val = obj->integer.value; + break; } + + if (!val) + return 1; } else if (proptype == DEV_PROP_STRING) { ret = acpi_data_get_property(data, propname, ACPI_TYPE_STRING, &obj); if (ret) return ret; - *(char **)val = obj->string.pointer; + if (val) + *(char **)val = obj->string.pointer; return 1; } else { @@ -841,7 +853,7 @@ { int ret; - if (!adev) + if (!adev || !val) return -EINVAL; ret = acpi_data_prop_read_single(&adev->data, propname, proptype, val); @@ -935,10 +947,20 @@ const union acpi_object *items; int ret; - if (val && nval == 1) { + if (nval == 1 || !val) { ret = acpi_data_prop_read_single(data, propname, proptype, val); - if (ret >= 0) + /* + * The overflow error means that the property is there and it is + * single-value, but its type does not match, so return. + */ + if (ret >= 0 || ret == -EOVERFLOW) return ret; + + /* + * Reading this property as a single-value one failed, but its + * value may still be represented as one-element array, so + * continue. + */ } ret = acpi_data_get_property_array(data, propname, ACPI_TYPE_ANY, &obj); --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/resource.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/resource.c @@ -541,7 +541,7 @@ ret = c->preproc(ares, c->preproc_data); if (ret < 0) { c->error = ret; - return AE_CTRL_TERMINATE; + return AE_ABORT_METHOD; } else if (ret > 0) { return AE_OK; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/scan.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/scan.c @@ -482,10 +482,10 @@ list_for_each_entry(acpi_device_bus_id, &acpi_bus_id_list, node) if (!strcmp(acpi_device_bus_id->bus_id, acpi_device_hid(device))) { - if (acpi_device_bus_id->instance_no > 0) - acpi_device_bus_id->instance_no--; - else { + ida_simple_remove(&acpi_device_bus_id->instance_ida, device->pnp.instance_no); + if (ida_is_empty(&acpi_device_bus_id->instance_ida)) { list_del(&acpi_device_bus_id->node); + kfree_const(acpi_device_bus_id->bus_id); kfree(acpi_device_bus_id); } break; @@ -585,6 +585,8 @@ if (!device) return -EINVAL; + *device = NULL; + status = acpi_get_data_full(handle, acpi_scan_drop_device, (void **)device, callback); if (ACPI_FAILURE(status) || !*device) { @@ -620,12 +622,38 @@ put_device(&adev->dev); } +static struct acpi_device_bus_id *acpi_device_bus_id_match(const char *dev_id) +{ + struct acpi_device_bus_id *acpi_device_bus_id; + + /* Find suitable bus_id and instance number in acpi_bus_id_list. */ + list_for_each_entry(acpi_device_bus_id, &acpi_bus_id_list, node) { + if (!strcmp(acpi_device_bus_id->bus_id, dev_id)) + return acpi_device_bus_id; + } + return NULL; +} + +static int acpi_device_set_name(struct acpi_device *device, + struct acpi_device_bus_id *acpi_device_bus_id) +{ + struct ida *instance_ida = &acpi_device_bus_id->instance_ida; + int result; + + result = ida_simple_get(instance_ida, 0, ACPI_MAX_DEVICE_INSTANCES, GFP_KERNEL); + if (result < 0) + return result; + + device->pnp.instance_no = result; + dev_set_name(&device->dev, "%s:%02x", acpi_device_bus_id->bus_id, result); + return 0; +} + int acpi_device_add(struct acpi_device *device, void (*release)(struct device *)) { + struct acpi_device_bus_id *acpi_device_bus_id; int result; - struct acpi_device_bus_id *acpi_device_bus_id, *new_bus_id; - int found = 0; if (device->handle) { acpi_status status; @@ -651,34 +679,38 @@ INIT_LIST_HEAD(&device->del_list); mutex_init(&device->physical_node_lock); - new_bus_id = kzalloc(sizeof(struct acpi_device_bus_id), GFP_KERNEL); - if (!new_bus_id) { - pr_err(PREFIX "Memory allocation error\n"); - result = -ENOMEM; - goto err_detach; - } - mutex_lock(&acpi_device_lock); - /* - * Find suitable bus_id and instance number in acpi_bus_id_list - * If failed, create one and link it into acpi_bus_id_list - */ - list_for_each_entry(acpi_device_bus_id, &acpi_bus_id_list, node) { - if (!strcmp(acpi_device_bus_id->bus_id, - acpi_device_hid(device))) { - acpi_device_bus_id->instance_no++; - found = 1; - kfree(new_bus_id); - break; + + acpi_device_bus_id = acpi_device_bus_id_match(acpi_device_hid(device)); + if (acpi_device_bus_id) { + result = acpi_device_set_name(device, acpi_device_bus_id); + if (result) + goto err_unlock; + } else { + acpi_device_bus_id = kzalloc(sizeof(*acpi_device_bus_id), + GFP_KERNEL); + if (!acpi_device_bus_id) { + result = -ENOMEM; + goto err_unlock; } - } - if (!found) { - acpi_device_bus_id = new_bus_id; - strcpy(acpi_device_bus_id->bus_id, acpi_device_hid(device)); - acpi_device_bus_id->instance_no = 0; + acpi_device_bus_id->bus_id = + kstrdup_const(acpi_device_hid(device), GFP_KERNEL); + if (!acpi_device_bus_id->bus_id) { + kfree(acpi_device_bus_id); + result = -ENOMEM; + goto err_unlock; + } + + ida_init(&acpi_device_bus_id->instance_ida); + + result = acpi_device_set_name(device, acpi_device_bus_id); + if (result) { + kfree(acpi_device_bus_id); + goto err_unlock; + } + list_add_tail(&acpi_device_bus_id->node, &acpi_bus_id_list); } - dev_set_name(&device->dev, "%s:%02x", acpi_device_bus_id->bus_id, acpi_device_bus_id->instance_no); if (device->parent) list_add_tail(&device->node, &device->parent->children); @@ -709,9 +741,10 @@ if (device->parent) list_del(&device->node); list_del(&device->wakeup_list); + + err_unlock: mutex_unlock(&acpi_device_lock); - err_detach: acpi_detach_data(device->handle, acpi_scan_drop_device); return result; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/tables.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/tables.c @@ -791,7 +791,7 @@ } /* - * acpi_table_init() + * acpi_locate_initial_tables() * * find RSDP, find and checksum SDT/XSDT. * checksum all tables, print SDT/XSDT @@ -799,7 +799,7 @@ * result: sdt_entry[] is initialized */ -int __init acpi_table_init(void) +int __init acpi_locate_initial_tables(void) { acpi_status status; @@ -814,9 +814,45 @@ status = acpi_initialize_tables(initial_tables, ACPI_MAX_TABLES, 0); if (ACPI_FAILURE(status)) return -EINVAL; - acpi_table_initrd_scan(); + return 0; +} + +void __init acpi_reserve_initial_tables(void) +{ + int i; + + for (i = 0; i < ACPI_MAX_TABLES; i++) { + struct acpi_table_desc *table_desc = &initial_tables[i]; + u64 start = table_desc->address; + u64 size = table_desc->length; + + if (!start || !size) + break; + + pr_info("Reserving %4s table memory at [mem 0x%llx-0x%llx]\n", + table_desc->signature.ascii, start, start + size - 1); + + memblock_reserve(start, size); + } +} + +void __init acpi_table_init_complete(void) +{ + acpi_table_initrd_scan(); check_multiple_madt(); +} + +int __init acpi_table_init(void) +{ + int ret; + + ret = acpi_locate_initial_tables(); + if (ret) + return ret; + + acpi_table_init_complete(); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/thermal.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/thermal.c @@ -175,6 +175,8 @@ int tz_enabled; int kelvin_offset; /* in millidegrees */ struct work_struct thermal_check_work; + struct mutex thermal_check_lock; + refcount_t thermal_check_count; }; /* -------------------------------------------------------------------------- @@ -496,17 +498,6 @@ return 0; } -static void acpi_thermal_check(void *data) -{ - struct acpi_thermal *tz = data; - - if (!tz->tz_enabled) - return; - - thermal_zone_device_update(tz->thermal_zone, - THERMAL_EVENT_UNSPECIFIED); -} - /* sys I/F for generic thermal sysfs support */ static int thermal_get_temp(struct thermal_zone_device *thermal, int *temp) @@ -540,6 +531,8 @@ return 0; } +static void acpi_thermal_check_fn(struct work_struct *work); + static int thermal_set_mode(struct thermal_zone_device *thermal, enum thermal_device_mode mode) { @@ -565,7 +558,7 @@ ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%s kernel ACPI thermal control\n", tz->tz_enabled ? "Enable" : "Disable")); - acpi_thermal_check(tz); + acpi_thermal_check_fn(&tz->thermal_check_work); } return 0; } @@ -725,27 +718,24 @@ return 0; } - -static int thermal_notify(struct thermal_zone_device *thermal, int trip, - enum thermal_trip_type trip_type) +static void acpi_thermal_zone_device_hot(struct thermal_zone_device *thermal) { - u8 type = 0; struct acpi_thermal *tz = thermal->devdata; - if (trip_type == THERMAL_TRIP_CRITICAL) - type = ACPI_THERMAL_NOTIFY_CRITICAL; - else if (trip_type == THERMAL_TRIP_HOT) - type = ACPI_THERMAL_NOTIFY_HOT; - else - return 0; - acpi_bus_generate_netlink_event(tz->device->pnp.device_class, - dev_name(&tz->device->dev), type, 1); + dev_name(&tz->device->dev), + ACPI_THERMAL_NOTIFY_HOT, 1); +} - if (trip_type == THERMAL_TRIP_CRITICAL && nocrt) - return 1; +static void acpi_thermal_zone_device_critical(struct thermal_zone_device *thermal) +{ + struct acpi_thermal *tz = thermal->devdata; - return 0; + acpi_bus_generate_netlink_event(tz->device->pnp.device_class, + dev_name(&tz->device->dev), + ACPI_THERMAL_NOTIFY_CRITICAL, 1); + + thermal_zone_device_critical(thermal); } static int acpi_thermal_cooling_device_cb(struct thermal_zone_device *thermal, @@ -862,7 +852,8 @@ .get_trip_temp = thermal_get_trip_temp, .get_crit_temp = thermal_get_crit_temp, .get_trend = thermal_get_trend, - .notify = thermal_notify, + .hot = acpi_thermal_zone_device_hot, + .critical = acpi_thermal_zone_device_critical, }; static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) @@ -934,6 +925,12 @@ Driver Interface -------------------------------------------------------------------------- */ +static void acpi_queue_thermal_check(struct acpi_thermal *tz) +{ + if (!work_pending(&tz->thermal_check_work)) + queue_work(acpi_thermal_pm_queue, &tz->thermal_check_work); +} + static void acpi_thermal_notify(struct acpi_device *device, u32 event) { struct acpi_thermal *tz = acpi_driver_data(device); @@ -944,17 +941,17 @@ switch (event) { case ACPI_THERMAL_NOTIFY_TEMPERATURE: - acpi_thermal_check(tz); + acpi_queue_thermal_check(tz); break; case ACPI_THERMAL_NOTIFY_THRESHOLDS: acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_THRESHOLDS); - acpi_thermal_check(tz); + acpi_queue_thermal_check(tz); acpi_bus_generate_netlink_event(device->pnp.device_class, dev_name(&device->dev), event, 0); break; case ACPI_THERMAL_NOTIFY_DEVICES: acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_DEVICES); - acpi_thermal_check(tz); + acpi_queue_thermal_check(tz); acpi_bus_generate_netlink_event(device->pnp.device_class, dev_name(&device->dev), event, 0); break; @@ -1054,7 +1051,27 @@ { struct acpi_thermal *tz = container_of(work, struct acpi_thermal, thermal_check_work); - acpi_thermal_check(tz); + + if (!tz->tz_enabled) + return; + /* + * In general, it is not sufficient to check the pending bit, because + * subsequent instances of this function may be queued after one of them + * has started running (e.g. if _TMP sleeps). Avoid bailing out if just + * one of them is running, though, because it may have done the actual + * check some time ago, so allow at least one of them to block on the + * mutex while another one is running the update. + */ + if (!refcount_dec_not_one(&tz->thermal_check_count)) + return; + + mutex_lock(&tz->thermal_check_lock); + + thermal_zone_device_update(tz->thermal_zone, THERMAL_EVENT_UNSPECIFIED); + + refcount_inc(&tz->thermal_check_count); + + mutex_unlock(&tz->thermal_check_lock); } static int acpi_thermal_add(struct acpi_device *device) @@ -1086,6 +1103,8 @@ if (result) goto free_memory; + refcount_set(&tz->thermal_check_count, 3); + mutex_init(&tz->thermal_check_lock); INIT_WORK(&tz->thermal_check_work, acpi_thermal_check_fn); pr_info(PREFIX "%s [%s] (%ld C)\n", acpi_device_name(device), @@ -1151,7 +1170,7 @@ tz->state.active |= tz->trips.active[i].flags.enabled; } - queue_work(acpi_thermal_pm_queue, &tz->thermal_check_work); + acpi_queue_thermal_check(tz); return AE_OK; } --- linux-riscv-5.8-5.8.0.orig/drivers/acpi/video_detect.c +++ linux-riscv-5.8-5.8.0/drivers/acpi/video_detect.c @@ -143,6 +143,14 @@ }, { .callback = video_detect_force_vendor, + .ident = "GIGABYTE GB-BXBT-2807", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "GB-BXBT-2807"), + }, + }, + { + .callback = video_detect_force_vendor, .ident = "Sony VPCEH3U1E", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), @@ -282,6 +290,15 @@ DMI_MATCH(DMI_PRODUCT_NAME, "530U4E/540U4E"), }, }, + /* https://bugs.launchpad.net/bugs/1894667 */ + { + .callback = video_detect_force_video, + .ident = "HP 635 Notebook", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP 635 Notebook PC"), + }, + }, /* Non win8 machines which need native backlight nevertheless */ { --- linux-riscv-5.8-5.8.0.orig/drivers/amba/bus.c +++ linux-riscv-5.8-5.8.0/drivers/amba/bus.c @@ -299,10 +299,11 @@ { struct amba_device *pcdev = to_amba_device(dev); struct amba_driver *drv = to_amba_driver(dev->driver); - int ret; + int ret = 0; pm_runtime_get_sync(dev); - ret = drv->remove(pcdev); + if (drv->remove) + ret = drv->remove(pcdev); pm_runtime_put_noidle(dev); /* Undo the runtime PM settings in amba_probe() */ @@ -319,7 +320,9 @@ static void amba_shutdown(struct device *dev) { struct amba_driver *drv = to_amba_driver(dev->driver); - drv->shutdown(to_amba_device(dev)); + + if (drv->shutdown) + drv->shutdown(to_amba_device(dev)); } /** @@ -332,12 +335,13 @@ */ int amba_driver_register(struct amba_driver *drv) { - drv->drv.bus = &amba_bustype; + if (!drv->probe) + return -EINVAL; -#define SETFN(fn) if (drv->fn) drv->drv.fn = amba_##fn - SETFN(probe); - SETFN(remove); - SETFN(shutdown); + drv->drv.bus = &amba_bustype; + drv->drv.probe = amba_probe; + drv->drv.remove = amba_remove; + drv->drv.shutdown = amba_shutdown; return driver_register(&drv->drv); } --- linux-riscv-5.8-5.8.0.orig/drivers/android/Kconfig +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/android/Makefile +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/android/binder.c +++ linux-riscv-5.8-5.8.0/drivers/android/binder.c @@ -223,7 +223,7 @@ struct binder_work { struct list_head entry; - enum { + enum binder_work_type { BINDER_WORK_TRANSACTION = 1, BINDER_WORK_TRANSACTION_COMPLETE, BINDER_WORK_RETURN_ERROR, @@ -885,27 +885,6 @@ return w; } -/** - * binder_dequeue_work_head() - Dequeues the item at head of list - * @proc: binder_proc associated with list - * @list: list to dequeue head - * - * Removes the head of the list if there are items on the list - * - * Return: pointer dequeued binder_work, NULL if list was empty - */ -static struct binder_work *binder_dequeue_work_head( - struct binder_proc *proc, - struct list_head *list) -{ - struct binder_work *w; - - binder_inner_proc_lock(proc); - w = binder_dequeue_work_head_ilocked(list); - binder_inner_proc_unlock(proc); - return w; -} - static void binder_defer_work(struct binder_proc *proc, enum binder_deferred_state defer); static void binder_free_thread(struct binder_thread *thread); @@ -2251,7 +2230,7 @@ __close_fd_get_file(fd, &twcb->file); if (twcb->file) { filp_close(twcb->file, current->files); - task_work_add(current, &twcb->twork, true); + task_work_add(current, &twcb->twork, TWA_RESUME); } else { kfree(twcb); } @@ -2345,8 +2324,6 @@ * file is done when the transaction is torn * down. */ - WARN_ON(failed_at && - proc->tsk == current->group_leader); } break; case BINDER_TYPE_PTR: /* @@ -2861,8 +2838,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 = { }; e = binder_transaction_log_add(&binder_transaction_log); e->debug_id = t_debug_id; @@ -2982,6 +2958,12 @@ goto err_dead_binder; } e->to_node = target_node->debug_id; + if (WARN_ON(proc == target_proc)) { + return_error = BR_FAILED_REPLY; + return_error_param = -EINVAL; + return_error_line = __LINE__; + goto err_invalid_target_handle; + } if (security_binder_transaction(proc->tsk, target_proc->tsk) < 0) { return_error = BR_FAILED_REPLY; @@ -3106,18 +3088,18 @@ t->priority = task_nice(current); if (target_node && target_node->txn_security_ctx) { - u32 secid; + struct lsmblob blob; size_t added_size; - security_task_getsecid(proc->tsk, &secid); - ret = security_secid_to_secctx(secid, &secctx, &secctx_sz); + security_task_getsecid(proc->tsk, &blob); + ret = security_secid_to_secctx(&blob, &lsmctx, LSMBLOB_DISPLAY); if (ret) { return_error = BR_FAILED_REPLY; return_error_param = ret; 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) { /* integer overflow of extra_buffers_size */ @@ -3144,27 +3126,27 @@ 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_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; t->buffer->target_node = target_node; + t->buffer->clear_on_free = !!(t->flags & TF_CLEAR_BUF); trace_binder_transaction_alloc_buf(t->buffer); if (binder_alloc_copy_user_to_buffer( @@ -3216,7 +3198,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)) { @@ -3492,8 +3474,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); @@ -3635,10 +3617,17 @@ struct binder_node *ctx_mgr_node; mutex_lock(&context->context_mgr_node_lock); ctx_mgr_node = context->binder_context_mgr_node; - if (ctx_mgr_node) + if (ctx_mgr_node) { + if (ctx_mgr_node->proc == proc) { + binder_user_error("%d:%d context manager tried to acquire desc 0\n", + proc->pid, thread->pid); + mutex_unlock(&context->context_mgr_node_lock); + return -EINVAL; + } ret = binder_inc_ref_for_node( proc, ctx_mgr_node, strong, NULL, &rdata); + } mutex_unlock(&context->context_mgr_node_lock); } if (ret) @@ -4576,13 +4565,17 @@ struct list_head *list) { struct binder_work *w; + enum binder_work_type wtype; while (1) { - w = binder_dequeue_work_head(proc, list); + binder_inner_proc_lock(proc); + w = binder_dequeue_work_head_ilocked(list); + wtype = w ? w->type : 0; + binder_inner_proc_unlock(proc); if (!w) return; - switch (w->type) { + switch (wtype) { case BINDER_WORK_TRANSACTION: { struct binder_transaction *t; @@ -4616,9 +4609,11 @@ kfree(death); binder_stats_deleted(BINDER_STAT_DEATH); } break; + case BINDER_WORK_NODE: + break; default: pr_err("unexpected work type, %d, not freed\n", - w->type); + wtype); break; } } @@ -6190,9 +6185,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-riscv-5.8-5.8.0.orig/drivers/android/binder_alloc.c +++ linux-riscv-5.8-5.8.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 { \ @@ -646,6 +645,8 @@ binder_insert_free_buffer(alloc, buffer); } +static void binder_alloc_clear_buf(struct binder_alloc *alloc, + struct binder_buffer *buffer); /** * binder_alloc_free_buf() - free a binder buffer * @alloc: binder_alloc for this proc @@ -656,6 +657,18 @@ void binder_alloc_free_buf(struct binder_alloc *alloc, struct binder_buffer *buffer) { + /* + * We could eliminate the call to binder_alloc_clear_buf() + * from binder_alloc_deferred_release() by moving this to + * binder_alloc_free_buf_locked(). However, that could + * increase contention for the alloc mutex if clear_on_free + * is used frequently for large buffers. The mutex is not + * needed for correctness here. + */ + if (buffer->clear_on_free) { + binder_alloc_clear_buf(alloc, buffer); + buffer->clear_on_free = false; + } mutex_lock(&alloc->mutex); binder_free_buf_locked(alloc, buffer); mutex_unlock(&alloc->mutex); @@ -752,6 +765,10 @@ /* Transaction should already have been freed */ BUG_ON(buffer->transaction); + if (buffer->clear_on_free) { + binder_alloc_clear_buf(alloc, buffer); + buffer->clear_on_free = false; + } binder_free_buf_locked(alloc, buffer); buffers++; } @@ -1086,6 +1103,36 @@ } /** + * binder_alloc_clear_buf() - zero out buffer + * @alloc: binder_alloc for this proc + * @buffer: binder buffer to be cleared + * + * memset the given buffer to 0 + */ +static void binder_alloc_clear_buf(struct binder_alloc *alloc, + struct binder_buffer *buffer) +{ + size_t bytes = binder_alloc_buffer_size(alloc, buffer); + binder_size_t buffer_offset = 0; + + while (bytes) { + unsigned long size; + struct page *page; + pgoff_t pgoff; + void *kptr; + + page = binder_alloc_get_page(alloc, buffer, + buffer_offset, &pgoff); + size = min_t(size_t, bytes, PAGE_SIZE - pgoff); + kptr = kmap(page) + pgoff; + memset(kptr, 0, size); + kunmap(page); + bytes -= size; + buffer_offset += size; + } +} + +/** * binder_alloc_copy_user_to_buffer() - copy src user to tgt user * @alloc: binder_alloc for this proc * @buffer: binder buffer to be accessed --- linux-riscv-5.8-5.8.0.orig/drivers/android/binder_alloc.h +++ linux-riscv-5.8-5.8.0/drivers/android/binder_alloc.h @@ -6,6 +6,7 @@ #ifndef _LINUX_BINDER_ALLOC_H #define _LINUX_BINDER_ALLOC_H +#include #include #include #include @@ -23,6 +24,7 @@ * @entry: entry alloc->buffers * @rb_node: node for allocated_buffers/free_buffers rb trees * @free: %true if buffer is free + * @clear_on_free: %true if buffer must be zeroed after use * @allow_user_free: %true if user is allowed to free buffer * @async_transaction: %true if buffer is in use for an async txn * @debug_id: unique ID for debugging @@ -40,9 +42,10 @@ struct rb_node rb_node; /* free entry by size or allocated entry */ /* by address */ unsigned free:1; + unsigned clear_on_free:1; unsigned allow_user_free:1; unsigned async_transaction:1; - unsigned debug_id:29; + unsigned debug_id:28; struct binder_transaction *transaction; @@ -105,7 +108,7 @@ size_t pages_high; }; -#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-riscv-5.8-5.8.0.orig/drivers/android/binder_internal.h +++ linux-riscv-5.8-5.8.0/drivers/android/binder_internal.h @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -75,7 +76,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, @@ -96,7 +97,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) --- linux-riscv-5.8-5.8.0.orig/drivers/android/binderfs.c +++ linux-riscv-5.8-5.8.0/drivers/android/binderfs.c @@ -113,7 +113,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 @@ -399,7 +399,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 @@ -679,7 +679,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-riscv-5.8-5.8.0.orig/drivers/ata/ahci.h +++ linux-riscv-5.8-5.8.0/drivers/ata/ahci.h @@ -240,6 +240,8 @@ as default lpm_policy */ AHCI_HFLAG_SUSPEND_PHYS = (1 << 26), /* handle PHYs during suspend/resume */ + AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = (1 << 27), /* ignore -EOPNOTSUPP + from phy_power_on() */ /* ap->flags bits */ --- linux-riscv-5.8-5.8.0.orig/drivers/ata/ahci_brcm.c +++ linux-riscv-5.8-5.8.0/drivers/ata/ahci_brcm.c @@ -377,6 +377,10 @@ if (ret) return ret; + ret = ahci_platform_enable_regulators(hpriv); + if (ret) + goto out_disable_clks; + brcm_sata_init(priv); brcm_sata_phys_enable(priv); brcm_sata_alpm_init(hpriv); @@ -406,6 +410,8 @@ ahci_platform_disable_phys(hpriv); out_disable_phys: brcm_sata_phys_disable(priv); + ahci_platform_disable_regulators(hpriv); +out_disable_clks: ahci_platform_disable_clks(hpriv); return ret; } @@ -490,6 +496,10 @@ if (ret) goto out_reset; + ret = ahci_platform_enable_regulators(hpriv); + if (ret) + goto out_disable_clks; + /* Must be first so as to configure endianness including that * of the standard AHCI register space. */ @@ -499,7 +509,7 @@ priv->port_mask = brcm_ahci_get_portmask(hpriv, priv); if (!priv->port_mask) { ret = -ENODEV; - goto out_disable_clks; + goto out_disable_regulators; } /* Must be done before ahci_platform_enable_phys() */ @@ -524,6 +534,8 @@ ahci_platform_disable_phys(hpriv); out_disable_phys: brcm_sata_phys_disable(priv); +out_disable_regulators: + ahci_platform_disable_regulators(hpriv); out_disable_clks: ahci_platform_disable_clks(hpriv); out_reset: --- linux-riscv-5.8-5.8.0.orig/drivers/ata/ahci_mvebu.c +++ linux-riscv-5.8-5.8.0/drivers/ata/ahci_mvebu.c @@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data ahci_mvebu_armada_3700_plat_data = { .plat_config = ahci_mvebu_armada_3700_config, - .flags = AHCI_HFLAG_SUSPEND_PHYS, + .flags = AHCI_HFLAG_SUSPEND_PHYS | AHCI_HFLAG_IGN_NOTSUPP_POWER_ON, }; static const struct of_device_id ahci_mvebu_of_match[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/ata/libahci_platform.c +++ linux-riscv-5.8-5.8.0/drivers/ata/libahci_platform.c @@ -59,7 +59,7 @@ } rc = phy_power_on(hpriv->phys[i]); - if (rc) { + if (rc && !(rc == -EOPNOTSUPP && (hpriv->flags & AHCI_HFLAG_IGN_NOTSUPP_POWER_ON))) { phy_exit(hpriv->phys[i]); goto disable_phys; } --- linux-riscv-5.8-5.8.0.orig/drivers/ata/libata-core.c +++ linux-riscv-5.8-5.8.0/drivers/ata/libata-core.c @@ -3868,9 +3868,8 @@ /* https://bugzilla.kernel.org/show_bug.cgi?id=15573 */ { "C300-CTFDDAC128MAG", "0001", ATA_HORKAGE_NONCQ, }, - /* Some Sandisk SSDs lock up hard with NCQ enabled. Reported on - SD7SN6S256G and SD8SN8U256G */ - { "SanDisk SD[78]SN*G", NULL, ATA_HORKAGE_NONCQ, }, + /* Sandisk SD7/8/9s lock up hard on large trims */ + { "SanDisk SD[789]*", NULL, ATA_HORKAGE_MAX_TRIM_128M, }, /* devices which puke on READ_NATIVE_MAX */ { "HDS724040KLSA80", "KFAOA20N", ATA_HORKAGE_BROKEN_HPA, }, --- linux-riscv-5.8-5.8.0.orig/drivers/ata/libata-scsi.c +++ linux-riscv-5.8-5.8.0/drivers/ata/libata-scsi.c @@ -2080,6 +2080,7 @@ static unsigned int ata_scsiop_inq_b0(struct ata_scsi_args *args, u8 *rbuf) { + struct ata_device *dev = args->dev; u16 min_io_sectors; rbuf[1] = 0xb0; @@ -2105,7 +2106,12 @@ * with the unmap bit set. */ if (ata_id_has_trim(args->id)) { - put_unaligned_be64(65535 * ATA_MAX_TRIM_RNUM, &rbuf[36]); + u64 max_blocks = 65535 * ATA_MAX_TRIM_RNUM; + + if (dev->horkage & ATA_HORKAGE_MAX_TRIM_128M) + max_blocks = 128 << (20 - SECTOR_SHIFT); + + put_unaligned_be64(max_blocks, &rbuf[36]); put_unaligned_be32(1, &rbuf[28]); } --- linux-riscv-5.8-5.8.0.orig/drivers/ata/sata_nv.c +++ linux-riscv-5.8-5.8.0/drivers/ata/sata_nv.c @@ -2100,7 +2100,7 @@ pp->dhfis_bits &= ~done_mask; pp->dmafis_bits &= ~done_mask; pp->sdbfis_bits |= done_mask; - ata_qc_complete_multiple(ap, ap->qc_active ^ done_mask); + ata_qc_complete_multiple(ap, ata_qc_get_active(ap) ^ done_mask); if (!ap->qc_active) { DPRINTK("over\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/ata/sata_rcar.c +++ linux-riscv-5.8-5.8.0/drivers/ata/sata_rcar.c @@ -120,7 +120,7 @@ /* Descriptor table word 0 bit (when DTA32M = 1) */ #define SATA_RCAR_DTEND BIT(0) -#define SATA_RCAR_DMA_BOUNDARY 0x1FFFFFFEUL +#define SATA_RCAR_DMA_BOUNDARY 0x1FFFFFFFUL /* Gen2 Physical Layer Control Registers */ #define RCAR_GEN2_PHY_CTL1_REG 0x1704 --- linux-riscv-5.8-5.8.0.orig/drivers/atm/eni.c +++ linux-riscv-5.8-5.8.0/drivers/atm/eni.c @@ -2239,7 +2239,7 @@ rc = dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(32)); if (rc < 0) - goto out; + goto err_disable; rc = -ENOMEM; eni_dev = kmalloc(sizeof(struct eni_dev), GFP_KERNEL); @@ -2275,7 +2275,8 @@ return rc; err_eni_release: - eni_do_release(dev); + dev->phy = NULL; + iounmap(ENI_DEV(dev)->ioaddr); err_unregister: atm_dev_deregister(dev); err_free_consistent: --- linux-riscv-5.8-5.8.0.orig/drivers/atm/firestream.c +++ linux-riscv-5.8-5.8.0/drivers/atm/firestream.c @@ -998,6 +998,7 @@ error = make_rate (pcr, r, &tmc0, NULL); if (error) { kfree(tc); + kfree(vcc); return error; } } --- linux-riscv-5.8-5.8.0.orig/drivers/atm/idt77105.c +++ linux-riscv-5.8-5.8.0/drivers/atm/idt77105.c @@ -262,7 +262,7 @@ { unsigned long flags; - if (!(dev->dev_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL))) + if (!(dev->phy_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL))) return -ENOMEM; PRIV(dev)->dev = dev; spin_lock_irqsave(&idt77105_priv_lock, flags); @@ -337,7 +337,7 @@ else idt77105_all = walk->next; dev->phy = NULL; - dev->dev_data = NULL; + dev->phy_data = NULL; kfree(walk); break; } --- linux-riscv-5.8-5.8.0.orig/drivers/atm/idt77252.c +++ linux-riscv-5.8-5.8.0/drivers/atm/idt77252.c @@ -3606,7 +3606,7 @@ if ((err = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(32)))) { printk("idt77252: can't enable DMA for PCI device at %s\n", pci_name(pcidev)); - return err; + goto err_out_disable_pdev; } card = kzalloc(sizeof(struct idt77252_dev), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/atm/lanai.c +++ linux-riscv-5.8-5.8.0/drivers/atm/lanai.c @@ -2234,6 +2234,7 @@ conf1_write(lanai); #endif iounmap(lanai->base); + lanai->base = NULL; error_pci: pci_disable_device(lanai->pci); error: @@ -2246,6 +2247,8 @@ static void lanai_dev_close(struct atm_dev *atmdev) { struct lanai_dev *lanai = (struct lanai_dev *) atmdev->dev_data; + if (lanai->base==NULL) + return; printk(KERN_INFO DEV_LABEL "(itf %d): shutting down interface\n", lanai->number); lanai_timed_poll_stop(lanai); @@ -2555,7 +2558,7 @@ struct atm_dev *atmdev; int result; - lanai = kmalloc(sizeof(*lanai), GFP_KERNEL); + lanai = kzalloc(sizeof(*lanai), GFP_KERNEL); if (lanai == NULL) { printk(KERN_ERR DEV_LABEL ": couldn't allocate dev_data structure!\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/atm/nicstar.c +++ linux-riscv-5.8-5.8.0/drivers/atm/nicstar.c @@ -1706,6 +1706,8 @@ if (push_scqe(card, vc, scq, &scqe, skb) != 0) { atomic_inc(&vcc->stats->tx_err); + dma_unmap_single(&card->pcidev->dev, NS_PRV_DMA(skb), skb->len, + DMA_TO_DEVICE); dev_kfree_skb_any(skb); return -EIO; } --- linux-riscv-5.8-5.8.0.orig/drivers/atm/uPD98402.c +++ linux-riscv-5.8-5.8.0/drivers/atm/uPD98402.c @@ -211,7 +211,7 @@ static int uPD98402_start(struct atm_dev *dev) { DPRINTK("phy_start\n"); - if (!(dev->dev_data = kmalloc(sizeof(struct uPD98402_priv),GFP_KERNEL))) + if (!(dev->phy_data = kmalloc(sizeof(struct uPD98402_priv),GFP_KERNEL))) return -ENOMEM; spin_lock_init(&PRIV(dev)->lock); memset(&PRIV(dev)->sonet_stats,0,sizeof(struct k_sonet_stats)); --- linux-riscv-5.8-5.8.0.orig/drivers/auxdisplay/ht16k33.c +++ linux-riscv-5.8-5.8.0/drivers/auxdisplay/ht16k33.c @@ -117,8 +117,7 @@ { struct ht16k33_fbdev *fbdev = &priv->fbdev; - schedule_delayed_work(&fbdev->work, - msecs_to_jiffies(HZ / fbdev->refresh_rate)); + schedule_delayed_work(&fbdev->work, HZ / fbdev->refresh_rate); } /* --- linux-riscv-5.8-5.8.0.orig/drivers/base/core.c +++ linux-riscv-5.8-5.8.0/drivers/base/core.c @@ -114,6 +114,16 @@ #endif #endif /* !CONFIG_SRCU */ +static bool device_is_ancestor(struct device *dev, struct device *target) +{ + while (target->parent) { + target = target->parent; + if (dev == target) + return true; + } + return false; +} + /** * device_is_dependent - Check if one device depends on another one * @dev: Device to check dependencies for. @@ -127,7 +137,12 @@ struct device_link *link; int ret; - if (dev == target) + /* + * The "ancestors" check is needed to catch the case when the target + * device has not been completely initialized yet and it is still + * missing from the list of children of its parent device. + */ + if (dev == target || device_is_ancestor(dev, target)) return 1; ret = device_for_each_child(dev, target, device_is_dependent); @@ -562,8 +577,7 @@ dev_dbg(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); - if (link->flags & DL_FLAG_PM_RUNTIME) - pm_runtime_drop_link(link->consumer); + pm_runtime_drop_link(link); list_del_rcu(&link->s_node); list_del_rcu(&link->c_node); @@ -577,8 +591,7 @@ dev_info(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); - if (link->flags & DL_FLAG_PM_RUNTIME) - pm_runtime_drop_link(link->consumer); + pm_runtime_drop_link(link); list_del(&link->s_node); list_del(&link->c_node); @@ -1161,7 +1174,7 @@ struct device_link *link, *ln; mutex_lock(&wfs_lock); - list_del(&dev->links.needs_suppliers); + list_del_init(&dev->links.needs_suppliers); mutex_unlock(&wfs_lock); /* @@ -3988,9 +4001,10 @@ */ void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode) { - if (fwnode) { - struct fwnode_handle *fn = dev->fwnode; + struct device *parent = dev->parent; + struct fwnode_handle *fn = dev->fwnode; + if (fwnode) { if (fwnode_is_primary(fn)) fn = fn->secondary; @@ -4000,8 +4014,13 @@ } dev->fwnode = fwnode; } else { - dev->fwnode = fwnode_is_primary(dev->fwnode) ? - dev->fwnode->secondary : NULL; + if (fwnode_is_primary(fn)) { + dev->fwnode = fn->secondary; + if (!(parent && fn == parent->fwnode)) + fn->secondary = NULL; + } else { + dev->fwnode = NULL; + } } } EXPORT_SYMBOL_GPL(set_primary_fwnode); --- linux-riscv-5.8-5.8.0.orig/drivers/base/dd.c +++ linux-riscv-5.8-5.8.0/drivers/base/dd.c @@ -268,15 +268,17 @@ static void deferred_probe_timeout_work_func(struct work_struct *work) { - struct device_private *private, *p; + struct device_private *p; driver_deferred_probe_timeout = 0; driver_deferred_probe_trigger(); flush_work(&deferred_probe_work); - list_for_each_entry_safe(private, p, &deferred_probe_pending_list, deferred_probe) - dev_info(private->device, "deferred probe pending\n"); - wake_up(&probe_timeout_waitqueue); + mutex_lock(&deferred_probe_mutex); + list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe) + dev_info(p->device, "deferred probe pending\n"); + mutex_unlock(&deferred_probe_mutex); + wake_up_all(&probe_timeout_waitqueue); } static DECLARE_DELAYED_WORK(deferred_probe_timeout_work, deferred_probe_timeout_work_func); @@ -487,7 +489,8 @@ drv->bus->name, __func__, drv->name, dev_name(dev)); if (!list_empty(&dev->devres_head)) { dev_crit(dev, "Resources present before probing\n"); - return -EBUSY; + ret = -EBUSY; + goto done; } re_probe: @@ -607,7 +610,7 @@ ret = 0; done: atomic_dec(&probe_count); - wake_up(&probe_waitqueue); + wake_up_all(&probe_waitqueue); return ret; } @@ -843,7 +846,9 @@ int ret = 0; device_lock(dev); - if (dev->driver) { + if (dev->p->dead) { + goto out_unlock; + } else if (dev->driver) { if (device_is_bound(dev)) { ret = 1; goto out_unlock; @@ -1073,6 +1078,8 @@ drv = dev->driver; if (drv) { + pm_runtime_get_sync(dev); + while (device_links_busy(dev)) { __device_driver_unlock(dev, parent); @@ -1084,13 +1091,12 @@ * have released the driver successfully while this one * was waiting, so check for that. */ - if (dev->driver != drv) + if (dev->driver != drv) { + pm_runtime_put(dev); return; + } } - pm_runtime_get_sync(dev); - pm_runtime_clean_up_links(dev); - driver_sysfs_remove(dev); if (dev->bus) @@ -1106,6 +1112,13 @@ dev->bus->remove(dev); else if (drv->remove) drv->remove(dev); + /* + * A concurrent invocation of the same function might + * have released the driver successfully while this one + * was waiting, so check for that. + */ + if (dev->driver != drv) + return; device_links_driver_cleanup(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/base/firmware_loader/fallback_platform.c +++ linux-riscv-5.8-5.8.0/drivers/base/firmware_loader/fallback_platform.c @@ -17,7 +17,7 @@ if (!(opt_flags & FW_OPT_FALLBACK_PLATFORM)) return -ENOENT; - rc = security_kernel_load_data(LOADING_FIRMWARE_EFI_EMBEDDED); + rc = security_kernel_load_data(LOADING_FIRMWARE); if (rc) return rc; @@ -25,7 +25,10 @@ if (rc) return rc; /* rc == -ENOENT when the fw was not found */ - fw_priv->data = vmalloc(size); + if (fw_priv->data && size > fw_priv->allocated_size) + return -ENOMEM; + if (!fw_priv->data) + fw_priv->data = vmalloc(size); if (!fw_priv->data) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/base/firmware_loader/firmware.h +++ linux-riscv-5.8-5.8.0/drivers/base/firmware_loader/firmware.h @@ -142,10 +142,12 @@ void fw_free_paged_buf(struct fw_priv *fw_priv); int fw_grow_paged_buf(struct fw_priv *fw_priv, int pages_needed); int fw_map_paged_buf(struct fw_priv *fw_priv); +bool fw_is_paged_buf(struct fw_priv *fw_priv); #else static inline void fw_free_paged_buf(struct fw_priv *fw_priv) {} static inline int fw_grow_paged_buf(struct fw_priv *fw_priv, int pages_needed) { return -ENXIO; } static inline int fw_map_paged_buf(struct fw_priv *fw_priv) { return -ENXIO; } +static inline bool fw_is_paged_buf(struct fw_priv *fw_priv) { return false; } #endif #endif /* __FIRMWARE_LOADER_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/base/firmware_loader/main.c +++ linux-riscv-5.8-5.8.0/drivers/base/firmware_loader/main.c @@ -252,9 +252,11 @@ list_del(&fw_priv->list); spin_unlock(&fwc->lock); - fw_free_paged_buf(fw_priv); /* free leftover pages */ - if (!fw_priv->allocated_size) + if (fw_is_paged_buf(fw_priv)) + fw_free_paged_buf(fw_priv); + else if (!fw_priv->allocated_size) vfree(fw_priv->data); + kfree_const(fw_priv->fw_name); kfree(fw_priv); } @@ -268,6 +270,11 @@ } #ifdef CONFIG_FW_LOADER_PAGED_BUF +bool fw_is_paged_buf(struct fw_priv *fw_priv) +{ + return fw_priv->is_paged_buf; +} + void fw_free_paged_buf(struct fw_priv *fw_priv) { int i; @@ -275,6 +282,8 @@ if (!fw_priv->pages) return; + vunmap(fw_priv->data); + for (i = 0; i < fw_priv->nr_pages; i++) __free_page(fw_priv->pages[i]); kvfree(fw_priv->pages); @@ -328,10 +337,6 @@ if (!fw_priv->data) return -ENOMEM; - /* page table is no longer needed after mapping, let's free */ - kvfree(fw_priv->pages); - fw_priv->pages = NULL; - return 0; } #endif @@ -465,14 +470,12 @@ int i, len; int rc = -ENOENT; char *path; - enum kernel_read_file_id id = READING_FIRMWARE; size_t msize = INT_MAX; void *buffer = NULL; /* Already populated data member means we're loading into a buffer */ if (!decompress && fw_priv->data) { buffer = fw_priv->data; - id = READING_FIRMWARE_PREALLOC_BUFFER; msize = fw_priv->allocated_size; } @@ -496,7 +499,8 @@ /* load firmware files from the mount namespace of init */ rc = kernel_read_file_from_path_initns(path, &buffer, - &size, msize, id); + &size, msize, + READING_FIRMWARE); if (rc) { if (rc != -ENOENT) dev_warn(device, "loading %s failed with error %d\n", --- linux-riscv-5.8-5.8.0.orig/drivers/base/memory.c +++ linux-riscv-5.8-5.8.0/drivers/base/memory.c @@ -291,19 +291,20 @@ } /* - * phys_device is a bad name for this. What I really want - * is a way to differentiate between memory ranges that - * are part of physical devices that constitute - * a complete removable unit or fru. - * i.e. do these ranges belong to the same physical device, - * s.t. if I offline all of these sections I can then - * remove the physical device? + * Legacy interface that we cannot remove: s390x exposes the storage increment + * covered by a memory block, allowing for identifying which memory blocks + * comprise a storage increment. Since a memory block spans complete + * storage increments nowadays, this interface is basically unused. Other + * archs never exposed != 0. */ static ssize_t phys_device_show(struct device *dev, struct device_attribute *attr, char *buf) { struct memory_block *mem = to_memory_block(dev); - return sprintf(buf, "%d\n", mem->phys_device); + unsigned long start_pfn = section_nr_to_pfn(mem->start_section_nr); + + return sprintf(buf, "%d\n", + arch_get_memory_phys_device(start_pfn)); } #ifdef CONFIG_MEMORY_HOTREMOVE @@ -487,11 +488,7 @@ static DEVICE_ATTR_WO(hard_offline_page); #endif -/* - * Note that phys_device is optional. It is here to allow for - * differentiation between which *physical* devices each - * section belongs to... - */ +/* See phys_device_show(). */ int __weak arch_get_memory_phys_device(unsigned long start_pfn) { return 0; @@ -574,7 +571,6 @@ unsigned long block_id, unsigned long state) { struct memory_block *mem; - unsigned long start_pfn; int ret = 0; mem = find_memory_block_by_id(block_id); @@ -588,8 +584,6 @@ mem->start_section_nr = block_id * sections_per_block; mem->state = state; - start_pfn = section_nr_to_pfn(mem->start_section_nr); - mem->phys_device = arch_get_memory_phys_device(start_pfn); mem->nid = NUMA_NO_NODE; ret = register_memory(mem); --- linux-riscv-5.8-5.8.0.orig/drivers/base/node.c +++ linux-riscv-5.8-5.8.0/drivers/base/node.c @@ -761,14 +761,36 @@ return pfn_to_nid(pfn); } +static int do_register_memory_block_under_node(int nid, + struct memory_block *mem_blk) +{ + int ret; + + /* + * If this memory block spans multiple nodes, we only indicate + * the last processed node. + */ + mem_blk->nid = nid; + + ret = sysfs_create_link_nowarn(&node_devices[nid]->dev.kobj, + &mem_blk->dev.kobj, + kobject_name(&mem_blk->dev.kobj)); + if (ret) + return ret; + + return sysfs_create_link_nowarn(&mem_blk->dev.kobj, + &node_devices[nid]->dev.kobj, + kobject_name(&node_devices[nid]->dev.kobj)); +} + /* register memory section under specified node if it spans that node */ -static int register_mem_sect_under_node(struct memory_block *mem_blk, - void *arg) +static int register_mem_block_under_node_early(struct memory_block *mem_blk, + void *arg) { unsigned long memory_block_pfns = memory_block_size_bytes() / PAGE_SIZE; unsigned long start_pfn = section_nr_to_pfn(mem_blk->start_section_nr); unsigned long end_pfn = start_pfn + memory_block_pfns - 1; - int ret, nid = *(int *)arg; + int nid = *(int *)arg; unsigned long pfn; for (pfn = start_pfn; pfn <= end_pfn; pfn++) { @@ -785,39 +807,34 @@ } /* - * We need to check if page belongs to nid only for the boot - * case, during hotplug we know that all pages in the memory - * block belong to the same node. - */ - if (system_state == SYSTEM_BOOTING) { - page_nid = get_nid_for_pfn(pfn); - if (page_nid < 0) - continue; - if (page_nid != nid) - continue; - } - - /* - * If this memory block spans multiple nodes, we only indicate - * the last processed node. + * We need to check if page belongs to nid only at the boot + * case because node's ranges can be interleaved. */ - mem_blk->nid = nid; - - ret = sysfs_create_link_nowarn(&node_devices[nid]->dev.kobj, - &mem_blk->dev.kobj, - kobject_name(&mem_blk->dev.kobj)); - if (ret) - return ret; + page_nid = get_nid_for_pfn(pfn); + if (page_nid < 0) + continue; + if (page_nid != nid) + continue; - return sysfs_create_link_nowarn(&mem_blk->dev.kobj, - &node_devices[nid]->dev.kobj, - kobject_name(&node_devices[nid]->dev.kobj)); + return do_register_memory_block_under_node(nid, mem_blk); } /* mem section does not span the specified node */ return 0; } /* + * During hotplug we know that all pages in the memory block belong to the same + * node. + */ +static int register_mem_block_under_node_hotplug(struct memory_block *mem_blk, + void *arg) +{ + int nid = *(int *)arg; + + return do_register_memory_block_under_node(nid, mem_blk); +} + +/* * Unregister a memory block device under the node it spans. Memory blocks * with multiple nodes cannot be offlined and therefore also never be removed. */ @@ -832,11 +849,19 @@ kobject_name(&node_devices[mem_blk->nid]->dev.kobj)); } -int link_mem_sections(int nid, unsigned long start_pfn, unsigned long end_pfn) +int link_mem_sections(int nid, unsigned long start_pfn, unsigned long end_pfn, + enum meminit_context context) { + walk_memory_blocks_func_t func; + + if (context == MEMINIT_HOTPLUG) + func = register_mem_block_under_node_hotplug; + else + func = register_mem_block_under_node_early; + return walk_memory_blocks(PFN_PHYS(start_pfn), PFN_PHYS(end_pfn - start_pfn), (void *)&nid, - register_mem_sect_under_node); + func); } #ifdef CONFIG_HUGETLBFS --- linux-riscv-5.8-5.8.0.orig/drivers/base/power/main.c +++ linux-riscv-5.8-5.8.0/drivers/base/power/main.c @@ -1606,13 +1606,17 @@ } /* - * If a device configured to wake up the system from sleep states - * has been suspended at run time and there's a resume request pending - * for it, this is equivalent to the device signaling wakeup, so the - * system suspend operation should be aborted. + * Wait for possible runtime PM transitions of the device in progress + * to complete and if there's a runtime resume request pending for it, + * resume it before proceeding with invoking the system-wide suspend + * callbacks for it. + * + * If the system-wide suspend callbacks below change the configuration + * of the device, they must disable runtime PM for it or otherwise + * ensure that its runtime-resume callbacks will not be confused by that + * change in case they are invoked going forward. */ - if (pm_runtime_barrier(dev) && device_may_wakeup(dev)) - pm_wakeup_event(dev, 0); + pm_runtime_barrier(dev); if (pm_wakeup_pending()) { dev->power.direct_complete = false; --- linux-riscv-5.8-5.8.0.orig/drivers/base/power/runtime.c +++ linux-riscv-5.8-5.8.0/drivers/base/power/runtime.c @@ -291,8 +291,7 @@ device_links_read_lock_held()) { int retval; - if (!(link->flags & DL_FLAG_PM_RUNTIME) || - READ_ONCE(link->status) == DL_STATE_SUPPLIER_UNBIND) + if (!(link->flags & DL_FLAG_PM_RUNTIME)) continue; retval = pm_runtime_get_sync(link->supplier); @@ -306,20 +305,38 @@ return 0; } -static void rpm_put_suppliers(struct device *dev) +static void __rpm_put_suppliers(struct device *dev, bool try_to_suspend) { struct device_link *link; list_for_each_entry_rcu(link, &dev->links.suppliers, c_node, device_links_read_lock_held()) { - if (READ_ONCE(link->status) == DL_STATE_SUPPLIER_UNBIND) - continue; while (refcount_dec_not_one(&link->rpm_active)) - pm_runtime_put(link->supplier); + pm_runtime_put_noidle(link->supplier); + + if (try_to_suspend) + pm_request_idle(link->supplier); } } +static void rpm_put_suppliers(struct device *dev) +{ + __rpm_put_suppliers(dev, true); +} + +static void rpm_suspend_suppliers(struct device *dev) +{ + struct device_link *link; + int idx = device_links_read_lock(); + + list_for_each_entry_rcu(link, &dev->links.suppliers, c_node, + device_links_read_lock_held()) + pm_request_idle(link->supplier); + + device_links_read_unlock(idx); +} + /** * __rpm_callback - Run a given runtime PM callback for a given device. * @cb: Runtime PM callback to run. @@ -347,8 +364,10 @@ idx = device_links_read_lock(); retval = rpm_get_suppliers(dev); - if (retval) + if (retval) { + rpm_put_suppliers(dev); goto fail; + } device_links_read_unlock(idx); } @@ -371,9 +390,9 @@ || (dev->power.runtime_status == RPM_RESUMING && retval))) { idx = device_links_read_lock(); - fail: - rpm_put_suppliers(dev); + __rpm_put_suppliers(dev, false); +fail: device_links_read_unlock(idx); } @@ -645,8 +664,11 @@ goto out; } + if (dev->power.irq_safe) + goto out; + /* Maybe the parent is now able to suspend. */ - if (parent && !parent->power.ignore_children && !dev->power.irq_safe) { + if (parent && !parent->power.ignore_children) { spin_unlock(&dev->power.lock); spin_lock(&parent->power.lock); @@ -655,6 +677,14 @@ spin_lock(&dev->power.lock); } + /* Maybe the suppliers are now able to suspend. */ + if (dev->power.links_count > 0) { + spin_unlock_irq(&dev->power.lock); + + rpm_suspend_suppliers(dev); + + spin_lock_irq(&dev->power.lock); + } out: trace_rpm_return_int_rcuidle(dev, _THIS_IP_, retval); @@ -1644,42 +1674,6 @@ } /** - * pm_runtime_clean_up_links - Prepare links to consumers for driver removal. - * @dev: Device whose driver is going to be removed. - * - * Check links from this device to any consumers and if any of them have active - * runtime PM references to the device, drop the usage counter of the device - * (as many times as needed). - * - * Links with the DL_FLAG_MANAGED flag unset are ignored. - * - * Since the device is guaranteed to be runtime-active at the point this is - * called, nothing else needs to be done here. - * - * Moreover, this is called after device_links_busy() has returned 'false', so - * the status of each link is guaranteed to be DL_STATE_SUPPLIER_UNBIND and - * therefore rpm_active can't be manipulated concurrently. - */ -void pm_runtime_clean_up_links(struct device *dev) -{ - struct device_link *link; - int idx; - - idx = device_links_read_lock(); - - list_for_each_entry_rcu(link, &dev->links.consumers, s_node, - device_links_read_lock_held()) { - if (!(link->flags & DL_FLAG_MANAGED)) - continue; - - while (refcount_dec_not_one(&link->rpm_active)) - pm_runtime_put_noidle(dev); - } - - device_links_read_unlock(idx); -} - -/** * pm_runtime_get_suppliers - Resume and reference-count supplier devices. * @dev: Consumer device. */ @@ -1694,8 +1688,8 @@ device_links_read_lock_held()) if (link->flags & DL_FLAG_PM_RUNTIME) { link->supplier_preactivated = true; - refcount_inc(&link->rpm_active); pm_runtime_get_sync(link->supplier); + refcount_inc(&link->rpm_active); } device_links_read_unlock(idx); @@ -1708,6 +1702,8 @@ void pm_runtime_put_suppliers(struct device *dev) { struct device_link *link; + unsigned long flags; + bool put; int idx; idx = device_links_read_lock(); @@ -1716,7 +1712,11 @@ device_links_read_lock_held()) if (link->supplier_preactivated) { link->supplier_preactivated = false; - if (refcount_dec_not_one(&link->rpm_active)) + spin_lock_irqsave(&dev->power.lock, flags); + put = pm_runtime_status_suspended(dev) && + refcount_dec_not_one(&link->rpm_active); + spin_unlock_irqrestore(&dev->power.lock, flags); + if (put) pm_runtime_put(link->supplier); } @@ -1730,7 +1730,7 @@ spin_unlock_irq(&dev->power.lock); } -void pm_runtime_drop_link(struct device *dev) +static void pm_runtime_drop_link_count(struct device *dev) { spin_lock_irq(&dev->power.lock); WARN_ON(dev->power.links_count == 0); @@ -1738,6 +1738,25 @@ spin_unlock_irq(&dev->power.lock); } +/** + * pm_runtime_drop_link - Prepare for device link removal. + * @link: Device link going away. + * + * Drop the link count of the consumer end of @link and decrement the supplier + * device's runtime PM usage counter as many times as needed to drop all of the + * PM runtime reference to it from the consumer. + */ +void pm_runtime_drop_link(struct device_link *link) +{ + if (!(link->flags & DL_FLAG_PM_RUNTIME)) + return; + + pm_runtime_drop_link_count(link->consumer); + + while (refcount_dec_not_one(&link->rpm_active)) + pm_runtime_put(link->supplier); +} + static bool pm_runtime_need_not_resume(struct device *dev) { return atomic_read(&dev->power.usage_count) <= 1 && --- linux-riscv-5.8-5.8.0.orig/drivers/base/regmap/internal.h +++ linux-riscv-5.8-5.8.0/drivers/base/regmap/internal.h @@ -259,7 +259,7 @@ int regcache_lookup_reg(struct regmap *map, unsigned int reg); int _regmap_raw_write(struct regmap *map, unsigned int reg, - const void *val, size_t val_len); + const void *val, size_t val_len, bool noinc); void regmap_async_complete_cb(struct regmap_async *async, int ret); --- linux-riscv-5.8-5.8.0.orig/drivers/base/regmap/regcache.c +++ linux-riscv-5.8-5.8.0/drivers/base/regmap/regcache.c @@ -717,7 +717,7 @@ map->cache_bypass = true; - ret = _regmap_raw_write(map, base, *data, count * val_bytes); + ret = _regmap_raw_write(map, base, *data, count * val_bytes, false); if (ret) dev_err(map->dev, "Unable to sync registers %#x-%#x. %d\n", base, cur - map->reg_stride, ret); --- linux-riscv-5.8-5.8.0.orig/drivers/base/regmap/regmap-debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/base/regmap/regmap-debugfs.c @@ -583,8 +583,12 @@ devname = dev_name(map->dev); if (name) { - map->debugfs_name = kasprintf(GFP_KERNEL, "%s-%s", + if (!map->debugfs_name) { + map->debugfs_name = kasprintf(GFP_KERNEL, "%s-%s", devname, name); + if (!map->debugfs_name) + return; + } name = map->debugfs_name; } else { name = devname; @@ -592,9 +596,10 @@ if (!strcmp(name, "dummy")) { kfree(map->debugfs_name); - map->debugfs_name = kasprintf(GFP_KERNEL, "dummy%d", dummy_index); + if (!map->debugfs_name) + return; name = map->debugfs_name; dummy_index++; } --- linux-riscv-5.8-5.8.0.orig/drivers/base/regmap/regmap-sdw.c +++ linux-riscv-5.8-5.8.0/drivers/base/regmap/regmap-sdw.c @@ -12,7 +12,7 @@ struct device *dev = context; struct sdw_slave *slave = dev_to_sdw_dev(dev); - return sdw_write(slave, reg, val); + return sdw_write_no_pm(slave, reg, val); } static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val) @@ -21,7 +21,7 @@ struct sdw_slave *slave = dev_to_sdw_dev(dev); int read; - read = sdw_read(slave, reg); + read = sdw_read_no_pm(slave, reg); if (read < 0) return read; --- linux-riscv-5.8-5.8.0.orig/drivers/base/regmap/regmap.c +++ linux-riscv-5.8-5.8.0/drivers/base/regmap/regmap.c @@ -1469,7 +1469,7 @@ } static int _regmap_raw_write_impl(struct regmap *map, unsigned int reg, - const void *val, size_t val_len) + const void *val, size_t val_len, bool noinc) { struct regmap_range_node *range; unsigned long flags; @@ -1528,7 +1528,7 @@ win_residue, val_len / map->format.val_bytes); ret = _regmap_raw_write_impl(map, reg, val, win_residue * - map->format.val_bytes); + map->format.val_bytes, noinc); if (ret != 0) return ret; @@ -1542,7 +1542,7 @@ win_residue = range->window_len - win_offset; } - ret = _regmap_select_page(map, ®, range, val_num); + ret = _regmap_select_page(map, ®, range, noinc ? 1 : val_num); if (ret != 0) return ret; } @@ -1750,7 +1750,8 @@ map->work_buf + map->format.reg_bytes + map->format.pad_bytes, - map->format.val_bytes); + map->format.val_bytes, + false); } static inline void *_regmap_map_get_context(struct regmap *map) @@ -1844,7 +1845,7 @@ EXPORT_SYMBOL_GPL(regmap_write_async); int _regmap_raw_write(struct regmap *map, unsigned int reg, - const void *val, size_t val_len) + const void *val, size_t val_len, bool noinc) { size_t val_bytes = map->format.val_bytes; size_t val_count = val_len / val_bytes; @@ -1865,7 +1866,7 @@ /* Write as many bytes as possible with chunk_size */ for (i = 0; i < chunk_count; i++) { - ret = _regmap_raw_write_impl(map, reg, val, chunk_bytes); + ret = _regmap_raw_write_impl(map, reg, val, chunk_bytes, noinc); if (ret) return ret; @@ -1876,7 +1877,7 @@ /* Write remaining bytes */ if (val_len) - ret = _regmap_raw_write_impl(map, reg, val, val_len); + ret = _regmap_raw_write_impl(map, reg, val, val_len, noinc); return ret; } @@ -1909,7 +1910,7 @@ map->lock(map->lock_arg); - ret = _regmap_raw_write(map, reg, val, val_len); + ret = _regmap_raw_write(map, reg, val, val_len, false); map->unlock(map->lock_arg); @@ -1967,7 +1968,7 @@ write_len = map->max_raw_write; else write_len = val_len; - ret = _regmap_raw_write(map, reg, val, write_len); + ret = _regmap_raw_write(map, reg, val, write_len, true); if (ret) goto out_unlock; val = ((u8 *)val) + write_len; @@ -2444,7 +2445,7 @@ map->async = true; - ret = _regmap_raw_write(map, reg, val, val_len); + ret = _regmap_raw_write(map, reg, val, val_len, false); map->async = false; @@ -2455,7 +2456,7 @@ EXPORT_SYMBOL_GPL(regmap_raw_write_async); static int _regmap_raw_read(struct regmap *map, unsigned int reg, void *val, - unsigned int val_len) + unsigned int val_len, bool noinc) { struct regmap_range_node *range; int ret; @@ -2468,7 +2469,7 @@ range = _regmap_range_lookup(map, reg); if (range) { ret = _regmap_select_page(map, ®, range, - val_len / map->format.val_bytes); + noinc ? 1 : val_len / map->format.val_bytes); if (ret != 0) return ret; } @@ -2506,7 +2507,7 @@ if (!map->format.parse_val) return -EINVAL; - ret = _regmap_raw_read(map, reg, work_val, map->format.val_bytes); + ret = _regmap_raw_read(map, reg, work_val, map->format.val_bytes, false); if (ret == 0) *val = map->format.parse_val(work_val); @@ -2622,7 +2623,7 @@ /* Read bytes that fit into whole chunks */ for (i = 0; i < chunk_count; i++) { - ret = _regmap_raw_read(map, reg, val, chunk_bytes); + ret = _regmap_raw_read(map, reg, val, chunk_bytes, false); if (ret != 0) goto out; @@ -2633,7 +2634,7 @@ /* Read remaining bytes */ if (val_len) { - ret = _regmap_raw_read(map, reg, val, val_len); + ret = _regmap_raw_read(map, reg, val, val_len, false); if (ret != 0) goto out; } @@ -2708,7 +2709,7 @@ read_len = map->max_raw_read; else read_len = val_len; - ret = _regmap_raw_read(map, reg, val, read_len); + ret = _regmap_raw_read(map, reg, val, read_len, true); if (ret) goto out_unlock; val = ((u8 *)val) + read_len; --- linux-riscv-5.8-5.8.0.orig/drivers/base/swnode.c +++ linux-riscv-5.8-5.8.0/drivers/base/swnode.c @@ -443,14 +443,18 @@ struct swnode *c = to_swnode(child); if (!p || list_empty(&p->children) || - (c && list_is_last(&c->entry, &p->children))) + (c && list_is_last(&c->entry, &p->children))) { + fwnode_handle_put(child); return NULL; + } if (c) c = list_next_entry(c, entry); else c = list_first_entry(&p->children, struct swnode, entry); - return &c->fwnode; + + fwnode_handle_put(child); + return fwnode_handle_get(&c->fwnode); } static struct fwnode_handle * @@ -786,6 +790,9 @@ if (software_node_to_swnode(node)) return -EEXIST; + if (node->parent && !parent) + return -EINVAL; + return PTR_ERR_OR_ZERO(swnode_register(node, parent, 0)); } EXPORT_SYMBOL_GPL(software_node_register); --- linux-riscv-5.8-5.8.0.orig/drivers/base/test/Makefile +++ linux-riscv-5.8-5.8.0/drivers/base/test/Makefile @@ -2,3 +2,4 @@ obj-$(CONFIG_TEST_ASYNC_DRIVER_PROBE) += test_async_driver_probe.o obj-$(CONFIG_KUNIT_DRIVER_PE_TEST) += property-entry-test.o +CFLAGS_REMOVE_property-entry-test.o += -fplugin-arg-structleak_plugin-byref -fplugin-arg-structleak_plugin-byref-all --- linux-riscv-5.8-5.8.0.orig/drivers/block/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/block/Kconfig @@ -451,6 +451,7 @@ config BLK_DEV_RSXX tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver" depends on PCI + select CRC32 help Device driver for IBM's high speed PCIe SSD storage device: Flash Adapter 900GB Full Height. --- linux-riscv-5.8-5.8.0.orig/drivers/block/loop.c +++ linux-riscv-5.8-5.8.0/drivers/block/loop.c @@ -255,7 +255,8 @@ bd_set_size(bdev, size << SECTOR_SHIFT); - set_capacity_revalidate_and_notify(lo->lo_disk, size, false); + if (!set_capacity_revalidate_and_notify(lo->lo_disk, size, false)) + kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, KOBJ_CHANGE); } static inline int @@ -648,6 +649,15 @@ lo->use_dio); } +static struct file *loop_real_file(struct file *file) +{ + struct file *f = NULL; + + if (file->f_path.dentry->d_sb->s_op->real_loop) + f = file->f_path.dentry->d_sb->s_op->real_loop(file); + return f; +} + static void loop_reread_partitions(struct loop_device *lo, struct block_device *bdev) { @@ -703,6 +713,7 @@ unsigned int arg) { struct file *file = NULL, *old_file; + struct file *f, *virt_file = NULL, *old_virt_file; int error; bool partscan; @@ -722,12 +733,19 @@ file = fget(arg); if (!file) goto out_err; + f = loop_real_file(file); + if (f) { + virt_file = file; + file = f; + get_file(file); + } error = loop_validate_file(file, bdev); if (error) goto out_err; old_file = lo->lo_backing_file; + old_virt_file = lo->lo_backing_virt_file; error = -EINVAL; @@ -739,6 +757,7 @@ blk_mq_freeze_queue(lo->lo_queue); mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask); lo->lo_backing_file = file; + lo->lo_backing_virt_file = virt_file; lo->old_gfp_mask = mapping_gfp_mask(file->f_mapping); mapping_set_gfp_mask(file->f_mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS)); @@ -752,6 +771,8 @@ * dependency. */ fput(old_file); + if (old_virt_file) + fput(old_virt_file); if (partscan) loop_reread_partitions(lo, bdev); return 0; @@ -760,9 +781,29 @@ mutex_unlock(&loop_ctl_mutex); if (file) fput(file); + if (virt_file) + fput(virt_file); return error; } +/* + * for AUFS + * no get/put for file. + */ +struct file *loop_backing_file(struct super_block *sb) +{ + struct file *ret; + struct loop_device *l; + + ret = NULL; + if (MAJOR(sb->s_dev) == LOOP_MAJOR) { + l = sb->s_bdev->bd_disk->private_data; + ret = l->lo_backing_file; + } + return ret; +} +EXPORT_SYMBOL_GPL(loop_backing_file); + /* loop sysfs attributes */ static ssize_t loop_attr_show(struct device *dev, char *page, @@ -877,6 +918,7 @@ struct file *file = lo->lo_backing_file; struct inode *inode = file->f_mapping->host; struct request_queue *q = lo->lo_queue; + u32 granularity, max_discard_sectors; /* * If the backing device is a block device, mirror its zeroing @@ -889,11 +931,10 @@ struct request_queue *backingq; backingq = bdev_get_queue(inode->i_bdev); - blk_queue_max_discard_sectors(q, - backingq->limits.max_write_zeroes_sectors); - blk_queue_max_write_zeroes_sectors(q, - backingq->limits.max_write_zeroes_sectors); + max_discard_sectors = backingq->limits.max_write_zeroes_sectors; + granularity = backingq->limits.discard_granularity ?: + queue_physical_block_size(backingq); /* * We use punch hole to reclaim the free space used by the @@ -902,23 +943,26 @@ * useful information. */ } else if (!file->f_op->fallocate || lo->lo_encrypt_key_size) { - q->limits.discard_granularity = 0; - q->limits.discard_alignment = 0; - blk_queue_max_discard_sectors(q, 0); - blk_queue_max_write_zeroes_sectors(q, 0); + max_discard_sectors = 0; + granularity = 0; } else { - q->limits.discard_granularity = inode->i_sb->s_blocksize; - q->limits.discard_alignment = 0; - - blk_queue_max_discard_sectors(q, UINT_MAX >> 9); - blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); + max_discard_sectors = UINT_MAX >> 9; + granularity = inode->i_sb->s_blocksize; } - if (q->limits.max_write_zeroes_sectors) + if (max_discard_sectors) { + q->limits.discard_granularity = granularity; + blk_queue_max_discard_sectors(q, max_discard_sectors); + blk_queue_max_write_zeroes_sectors(q, max_discard_sectors); blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); - else + } else { + q->limits.discard_granularity = 0; + blk_queue_max_discard_sectors(q, 0); + blk_queue_max_write_zeroes_sectors(q, 0); blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); + } + q->limits.discard_alignment = 0; } static void loop_unprepare_queue(struct loop_device *lo) @@ -1067,7 +1111,7 @@ struct block_device *bdev, const struct loop_config *config) { - struct file *file; + struct file *file, *f, *virt_file = NULL; struct inode *inode; struct address_space *mapping; struct block_device *claimed_bdev = NULL; @@ -1083,6 +1127,12 @@ file = fget(config->fd); if (!file) goto out; + f = loop_real_file(file); + if (f) { + virt_file = file; + file = f; + get_file(file); + } /* * If we don't hold exclusive handle for the device, upgrade to it @@ -1111,8 +1161,6 @@ mapping = file->f_mapping; inode = mapping->host; - size = get_loop_size(lo, file); - if ((config->info.lo_flags & ~LOOP_CONFIGURE_SETTABLE_FLAGS) != 0) { error = -EINVAL; goto out_unlock; @@ -1141,6 +1189,7 @@ lo->use_dio = lo->lo_flags & LO_FLAGS_DIRECT_IO; lo->lo_device = bdev; lo->lo_backing_file = file; + lo->lo_backing_virt_file = virt_file; lo->old_gfp_mask = mapping_gfp_mask(mapping); mapping_set_gfp_mask(mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS)); @@ -1162,6 +1211,8 @@ loop_update_rotational(lo); loop_update_dio(lo); loop_sysfs_init(lo); + + size = get_loop_size(lo, file); loop_set_size(lo, size); set_blocksize(bdev, S_ISBLK(inode->i_mode) ? @@ -1190,6 +1241,8 @@ bd_abort_claiming(bdev, claimed_bdev, loop_configure); out_putf: fput(file); + if (virt_file) + fput(virt_file); out: /* This is safe: open() is still holding a reference. */ module_put(THIS_MODULE); @@ -1199,6 +1252,7 @@ static int __loop_clr_fd(struct loop_device *lo, bool release) { struct file *filp = NULL; + struct file *virt_filp = lo->lo_backing_virt_file; gfp_t gfp = lo->old_gfp_mask; struct block_device *bdev = lo->lo_device; int err = 0; @@ -1222,6 +1276,7 @@ spin_lock_irq(&lo->lo_lock); lo->lo_backing_file = NULL; + lo->lo_backing_virt_file = NULL; spin_unlock_irq(&lo->lo_lock); loop_release_xfer(lo); @@ -1305,6 +1360,8 @@ */ if (filp) fput(filp); + if (virt_filp) + fput(virt_filp); return err; } @@ -2402,6 +2459,8 @@ range = max_loop ? max_loop << part_shift : 1UL << MINORBITS; + mutex_lock(&loop_ctl_mutex); + idr_for_each(&loop_index_idr, &loop_exit_cb, NULL); idr_destroy(&loop_index_idr); @@ -2409,6 +2468,8 @@ unregister_blkdev(LOOP_MAJOR, "loop"); misc_deregister(&loop_misc); + + mutex_unlock(&loop_ctl_mutex); } module_init(loop_init); --- linux-riscv-5.8-5.8.0.orig/drivers/block/loop.h +++ linux-riscv-5.8-5.8.0/drivers/block/loop.h @@ -46,7 +46,7 @@ int (*ioctl)(struct loop_device *, int cmd, unsigned long arg); - struct file * lo_backing_file; + struct file *lo_backing_file, *lo_backing_virt_file; struct block_device *lo_device; void *key_data; --- linux-riscv-5.8-5.8.0.orig/drivers/block/nbd.c +++ linux-riscv-5.8-5.8.0/drivers/block/nbd.c @@ -78,8 +78,7 @@ #define NBD_RT_HAS_PID_FILE 3 #define NBD_RT_HAS_CONFIG_REF 4 #define NBD_RT_BOUND 5 -#define NBD_RT_DESTROY_ON_DISCONNECT 6 -#define NBD_RT_DISCONNECT_ON_CLOSE 7 +#define NBD_RT_DISCONNECT_ON_CLOSE 6 #define NBD_DESTROY_ON_DISCONNECT 0 #define NBD_DISCONNECT_REQUESTED 1 @@ -296,7 +295,7 @@ } } -static void nbd_size_update(struct nbd_device *nbd) +static void nbd_size_update(struct nbd_device *nbd, bool start) { struct nbd_config *config = nbd->config; struct block_device *bdev = bdget_disk(nbd->disk, 0); @@ -312,7 +311,8 @@ if (bdev) { if (bdev->bd_disk) { bd_set_size(bdev, config->bytesize); - set_blocksize(bdev, config->blksize); + if (start) + set_blocksize(bdev, config->blksize); } else bdev->bd_invalidated = 1; bdput(bdev); @@ -327,7 +327,7 @@ config->blksize = blocksize; config->bytesize = blocksize * nr_blocks; if (nbd->task_recv != NULL) - nbd_size_update(nbd); + nbd_size_update(nbd, false); } static void nbd_complete_rq(struct request *req) @@ -798,9 +798,9 @@ blk_mq_complete_request(blk_mq_rq_from_pdu(cmd)); } + nbd_config_put(nbd); atomic_dec(&config->recv_threads); wake_up(&config->recv_wq); - nbd_config_put(nbd); kfree(args); } @@ -1024,6 +1024,12 @@ if (!sock) return err; + /* + * We need to make sure we don't get any errant requests while we're + * reallocating the ->socks array. + */ + blk_mq_freeze_queue(nbd->disk->queue); + if (!netlink && !nbd->task_setup && !test_bit(NBD_RT_BOUND, &config->runtime_flags)) nbd->task_setup = current; @@ -1062,10 +1068,12 @@ nsock->cookie = 0; socks[config->num_connections++] = nsock; atomic_inc(&config->live_connections); + blk_mq_unfreeze_queue(nbd->disk->queue); return 0; put_socket: + blk_mq_unfreeze_queue(nbd->disk->queue); sockfd_put(sock); return err; } @@ -1304,7 +1312,7 @@ args->index = i; queue_work(nbd->recv_workq, &args->work); } - nbd_size_update(nbd); + nbd_size_update(nbd, true); return error; } @@ -1360,6 +1368,8 @@ nbd->tag_set.timeout = timeout * HZ; if (timeout) blk_queue_rq_timeout(nbd->disk->queue, timeout * HZ); + else + blk_queue_rq_timeout(nbd->disk->queue, 30 * HZ); } /* Must be called with config_lock held */ @@ -1511,6 +1521,7 @@ if (test_bit(NBD_RT_DISCONNECT_ON_CLOSE, &nbd->config->runtime_flags) && bdev->bd_openers == 0) nbd_disconnect_and_put(nbd); + bdput(bdev); nbd_config_put(nbd); nbd_put(nbd); @@ -1939,12 +1950,21 @@ if (info->attrs[NBD_ATTR_CLIENT_FLAGS]) { u64 flags = nla_get_u64(info->attrs[NBD_ATTR_CLIENT_FLAGS]); if (flags & NBD_CFLAG_DESTROY_ON_DISCONNECT) { - set_bit(NBD_RT_DESTROY_ON_DISCONNECT, - &config->runtime_flags); - set_bit(NBD_DESTROY_ON_DISCONNECT, &nbd->flags); - put_dev = true; + /* + * We have 1 ref to keep the device around, and then 1 + * ref for our current operation here, which will be + * inherited by the config. If we already have + * DESTROY_ON_DISCONNECT set then we know we don't have + * that extra ref already held so we don't need the + * put_dev. + */ + if (!test_and_set_bit(NBD_DESTROY_ON_DISCONNECT, + &nbd->flags)) + put_dev = true; } else { - clear_bit(NBD_DESTROY_ON_DISCONNECT, &nbd->flags); + if (test_and_clear_bit(NBD_DESTROY_ON_DISCONNECT, + &nbd->flags)) + refcount_inc(&nbd->refs); } if (flags & NBD_CFLAG_DISCONNECT_ON_CLOSE) { set_bit(NBD_RT_DISCONNECT_ON_CLOSE, @@ -2115,15 +2135,13 @@ if (info->attrs[NBD_ATTR_CLIENT_FLAGS]) { u64 flags = nla_get_u64(info->attrs[NBD_ATTR_CLIENT_FLAGS]); if (flags & NBD_CFLAG_DESTROY_ON_DISCONNECT) { - if (!test_and_set_bit(NBD_RT_DESTROY_ON_DISCONNECT, - &config->runtime_flags)) + if (!test_and_set_bit(NBD_DESTROY_ON_DISCONNECT, + &nbd->flags)) put_dev = true; - set_bit(NBD_DESTROY_ON_DISCONNECT, &nbd->flags); } else { - if (test_and_clear_bit(NBD_RT_DESTROY_ON_DISCONNECT, - &config->runtime_flags)) + if (test_and_clear_bit(NBD_DESTROY_ON_DISCONNECT, + &nbd->flags)) refcount_inc(&nbd->refs); - clear_bit(NBD_DESTROY_ON_DISCONNECT, &nbd->flags); } if (flags & NBD_CFLAG_DISCONNECT_ON_CLOSE) { @@ -2282,6 +2300,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-riscv-5.8-5.8.0.orig/drivers/block/null_blk.h +++ linux-riscv-5.8-5.8.0/drivers/block/null_blk.h @@ -44,11 +44,14 @@ unsigned int nr_zones; struct blk_zone *zones; sector_t zone_size_sects; + spinlock_t zone_lock; + unsigned long *zone_locks; unsigned long size; /* device size in MB */ unsigned long completion_nsec; /* time in ns to complete a request */ unsigned long cache_size; /* disk cache size in MB */ unsigned long zone_size; /* zone size in MB if device is zoned */ + unsigned long zone_capacity; /* zone capacity in MB if device is zoned */ unsigned int zone_nr_conv; /* number of conventional zones */ unsigned int submit_queues; /* number of submission queues */ unsigned int home_node; /* home node for the device */ --- linux-riscv-5.8-5.8.0.orig/drivers/block/null_blk_main.c +++ linux-riscv-5.8-5.8.0/drivers/block/null_blk_main.c @@ -200,6 +200,10 @@ module_param_named(zone_size, g_zone_size, ulong, S_IRUGO); MODULE_PARM_DESC(zone_size, "Zone size in MB when block device is zoned. Must be power-of-two: Default: 256"); +static unsigned long g_zone_capacity; +module_param_named(zone_capacity, g_zone_capacity, ulong, 0444); +MODULE_PARM_DESC(zone_capacity, "Zone capacity in MB when block device is zoned. Can be less than or equal to zone size. Default: Zone size"); + static unsigned int g_zone_nr_conv; module_param_named(zone_nr_conv, g_zone_nr_conv, uint, 0444); MODULE_PARM_DESC(zone_nr_conv, "Number of conventional zones when block device is zoned. Default: 0"); @@ -341,6 +345,7 @@ NULLB_DEVICE_ATTR(cache_size, ulong, NULL); NULLB_DEVICE_ATTR(zoned, bool, NULL); NULLB_DEVICE_ATTR(zone_size, ulong, NULL); +NULLB_DEVICE_ATTR(zone_capacity, ulong, NULL); NULLB_DEVICE_ATTR(zone_nr_conv, uint, NULL); static ssize_t nullb_device_power_show(struct config_item *item, char *page) @@ -457,6 +462,7 @@ &nullb_device_attr_badblocks, &nullb_device_attr_zoned, &nullb_device_attr_zone_size, + &nullb_device_attr_zone_capacity, &nullb_device_attr_zone_nr_conv, NULL, }; @@ -510,7 +516,8 @@ static ssize_t memb_group_features_show(struct config_item *item, char *page) { - return snprintf(page, PAGE_SIZE, "memory_backed,discard,bandwidth,cache,badblocks,zoned,zone_size,zone_nr_conv\n"); + return snprintf(page, PAGE_SIZE, + "memory_backed,discard,bandwidth,cache,badblocks,zoned,zone_size,zone_capacity,zone_nr_conv\n"); } CONFIGFS_ATTR_RO(memb_group_, features); @@ -571,6 +578,7 @@ dev->use_per_node_hctx = g_use_per_node_hctx; dev->zoned = g_zoned; dev->zone_size = g_zone_size; + dev->zone_capacity = g_zone_capacity; dev->zone_nr_conv = g_zone_nr_conv; return dev; } @@ -1139,7 +1147,7 @@ len = bvec.bv_len; err = null_transfer(nullb, bvec.bv_page, len, bvec.bv_offset, op_is_write(req_op(rq)), sector, - req_op(rq) & REQ_FUA); + rq->cmd_flags & REQ_FUA); if (err) { spin_unlock_irq(&nullb->lock); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/block/null_blk_zoned.c +++ linux-riscv-5.8-5.8.0/drivers/block/null_blk_zoned.c @@ -1,12 +1,12 @@ // SPDX-License-Identifier: GPL-2.0 #include +#include #include "null_blk.h" #define CREATE_TRACE_POINTS #include "null_blk_trace.h" -/* zone_size in MBs to sectors. */ -#define ZONE_SIZE_SHIFT 11 +#define MB_TO_SECTS(mb) (((sector_t)mb * SZ_1M) >> SECTOR_SHIFT) static inline unsigned int null_zone_no(struct nullb_device *dev, sector_t sect) { @@ -15,7 +15,7 @@ int null_init_zoned_dev(struct nullb_device *dev, struct request_queue *q) { - sector_t dev_size = (sector_t)dev->size * 1024 * 1024; + sector_t dev_capacity_sects, zone_capacity_sects; sector_t sector = 0; unsigned int i; @@ -28,14 +28,43 @@ return -EINVAL; } - dev->zone_size_sects = dev->zone_size << ZONE_SIZE_SHIFT; - dev->nr_zones = dev_size >> - (SECTOR_SHIFT + ilog2(dev->zone_size_sects)); + if (!dev->zone_capacity) + dev->zone_capacity = dev->zone_size; + + if (dev->zone_capacity > dev->zone_size) { + pr_err("null_blk: zone capacity (%lu MB) larger than zone size (%lu MB)\n", + dev->zone_capacity, dev->zone_size); + return -EINVAL; + } + + zone_capacity_sects = MB_TO_SECTS(dev->zone_capacity); + dev_capacity_sects = MB_TO_SECTS(dev->size); + dev->zone_size_sects = MB_TO_SECTS(dev->zone_size); + dev->nr_zones = dev_capacity_sects >> ilog2(dev->zone_size_sects); + if (dev_capacity_sects & (dev->zone_size_sects - 1)) + dev->nr_zones++; + dev->zones = kvmalloc_array(dev->nr_zones, sizeof(struct blk_zone), GFP_KERNEL | __GFP_ZERO); if (!dev->zones) return -ENOMEM; + /* + * With memory backing, the zone_lock spinlock needs to be temporarily + * released to avoid scheduling in atomic context. To guarantee zone + * information protection, use a bitmap to lock zones with + * wait_on_bit_lock_io(). Sleeping on the lock is OK as memory backing + * implies that the queue is marked with BLK_MQ_F_BLOCKING. + */ + spin_lock_init(&dev->zone_lock); + if (dev->memory_backed) { + dev->zone_locks = bitmap_zalloc(dev->nr_zones, GFP_KERNEL); + if (!dev->zone_locks) { + kvfree(dev->zones); + return -ENOMEM; + } + } + if (dev->zone_nr_conv >= dev->nr_zones) { dev->zone_nr_conv = dev->nr_zones - 1; pr_info("changed the number of conventional zones to %u", @@ -47,6 +76,7 @@ zone->start = sector; zone->len = dev->zone_size_sects; + zone->capacity = zone->len; zone->wp = zone->start + zone->len; zone->type = BLK_ZONE_TYPE_CONVENTIONAL; zone->cond = BLK_ZONE_COND_NOT_WP; @@ -58,7 +88,12 @@ struct blk_zone *zone = &dev->zones[i]; zone->start = zone->wp = sector; - zone->len = dev->zone_size_sects; + if (zone->start + dev->zone_size_sects > dev_capacity_sects) + zone->len = dev_capacity_sects - zone->start; + else + zone->len = dev->zone_size_sects; + zone->capacity = + min_t(sector_t, zone->len, zone_capacity_sects); zone->type = BLK_ZONE_TYPE_SEQWRITE_REQ; zone->cond = BLK_ZONE_COND_EMPTY; @@ -94,15 +129,30 @@ void null_free_zoned_dev(struct nullb_device *dev) { + bitmap_free(dev->zone_locks); kvfree(dev->zones); } +static inline void null_lock_zone(struct nullb_device *dev, unsigned int zno) +{ + if (dev->memory_backed) + wait_on_bit_lock_io(dev->zone_locks, zno, TASK_UNINTERRUPTIBLE); + spin_lock_irq(&dev->zone_lock); +} + +static inline void null_unlock_zone(struct nullb_device *dev, unsigned int zno) +{ + spin_unlock_irq(&dev->zone_lock); + if (dev->memory_backed) + clear_and_wake_up_bit(zno, dev->zone_locks); +} + int null_report_zones(struct gendisk *disk, sector_t sector, unsigned int nr_zones, report_zones_cb cb, void *data) { struct nullb *nullb = disk->private_data; struct nullb_device *dev = nullb->dev; - unsigned int first_zone, i; + unsigned int first_zone, i, zno; struct blk_zone zone; int error; @@ -113,15 +163,18 @@ nr_zones = min(nr_zones, dev->nr_zones - first_zone); trace_nullb_report_zones(nullb, nr_zones); - for (i = 0; i < nr_zones; i++) { + zno = first_zone; + for (i = 0; i < nr_zones; i++, zno++) { /* * Stacked DM target drivers will remap the zone information by * modifying the zone information passed to the report callback. * So use a local copy to avoid corruption of the device zone * array. */ - memcpy(&zone, &dev->zones[first_zone + i], - sizeof(struct blk_zone)); + null_lock_zone(dev, zno); + memcpy(&zone, &dev->zones[zno], sizeof(struct blk_zone)); + null_unlock_zone(dev, zno); + error = cb(&zone, i, data); if (error) return error; @@ -130,6 +183,10 @@ return nr_zones; } +/* + * This is called in the case of memory backing from null_process_cmd() + * with the target zone already locked. + */ size_t null_zone_valid_read_len(struct nullb *nullb, sector_t sector, unsigned int len) { @@ -158,13 +215,19 @@ trace_nullb_zone_op(cmd, zno, zone->cond); - if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) + if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) { + if (append) + return BLK_STS_IOERR; return null_process_cmd(cmd, REQ_OP_WRITE, sector, nr_sectors); + } + + null_lock_zone(dev, zno); switch (zone->cond) { case BLK_ZONE_COND_FULL: /* Cannot write to a full zone */ - return BLK_STS_IOERR; + ret = BLK_STS_IOERR; + break; case BLK_ZONE_COND_EMPTY: case BLK_ZONE_COND_IMP_OPEN: case BLK_ZONE_COND_EXP_OPEN: @@ -182,63 +245,101 @@ else cmd->rq->__sector = sector; } else if (sector != zone->wp) { - return BLK_STS_IOERR; + ret = BLK_STS_IOERR; + break; + } + + if (zone->wp + nr_sectors > zone->start + zone->capacity) { + ret = BLK_STS_IOERR; + break; } if (zone->cond != BLK_ZONE_COND_EXP_OPEN) zone->cond = BLK_ZONE_COND_IMP_OPEN; + if (dev->memory_backed) + spin_unlock_irq(&dev->zone_lock); ret = null_process_cmd(cmd, REQ_OP_WRITE, sector, nr_sectors); + if (dev->memory_backed) + spin_lock_irq(&dev->zone_lock); + if (ret != BLK_STS_OK) - return ret; + break; zone->wp += nr_sectors; - if (zone->wp == zone->start + zone->len) + if (zone->wp == zone->start + zone->capacity) zone->cond = BLK_ZONE_COND_FULL; - return BLK_STS_OK; + ret = BLK_STS_OK; + break; default: /* Invalid zone condition */ - return BLK_STS_IOERR; + ret = BLK_STS_IOERR; } + + null_unlock_zone(dev, zno); + + return ret; } static blk_status_t null_zone_mgmt(struct nullb_cmd *cmd, enum req_opf op, sector_t sector) { struct nullb_device *dev = cmd->nq->dev; - unsigned int zone_no = null_zone_no(dev, sector); - struct blk_zone *zone = &dev->zones[zone_no]; + unsigned int zone_no; + struct blk_zone *zone; + blk_status_t ret = BLK_STS_OK; size_t i; - switch (op) { - case REQ_OP_ZONE_RESET_ALL: - for (i = 0; i < dev->nr_zones; i++) { - if (zone[i].type == BLK_ZONE_TYPE_CONVENTIONAL) - continue; - zone[i].cond = BLK_ZONE_COND_EMPTY; - zone[i].wp = zone[i].start; + if (op == REQ_OP_ZONE_RESET_ALL) { + for (i = dev->zone_nr_conv; i < dev->nr_zones; i++) { + null_lock_zone(dev, i); + zone = &dev->zones[i]; + if (zone->cond != BLK_ZONE_COND_EMPTY) { + zone->cond = BLK_ZONE_COND_EMPTY; + zone->wp = zone->start; + trace_nullb_zone_op(cmd, i, zone->cond); + } + null_unlock_zone(dev, i); } - break; + return BLK_STS_OK; + } + + zone_no = null_zone_no(dev, sector); + zone = &dev->zones[zone_no]; + + null_lock_zone(dev, zone_no); + + switch (op) { case REQ_OP_ZONE_RESET: - if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) - return BLK_STS_IOERR; + if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) { + ret = BLK_STS_IOERR; + break; + } zone->cond = BLK_ZONE_COND_EMPTY; zone->wp = zone->start; break; case REQ_OP_ZONE_OPEN: - if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) - return BLK_STS_IOERR; - if (zone->cond == BLK_ZONE_COND_FULL) - return BLK_STS_IOERR; + if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) { + ret = BLK_STS_IOERR; + break; + } + if (zone->cond == BLK_ZONE_COND_FULL) { + ret = BLK_STS_IOERR; + break; + } zone->cond = BLK_ZONE_COND_EXP_OPEN; break; case REQ_OP_ZONE_CLOSE: - if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) - return BLK_STS_IOERR; - if (zone->cond == BLK_ZONE_COND_FULL) - return BLK_STS_IOERR; + if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) { + ret = BLK_STS_IOERR; + break; + } + if (zone->cond == BLK_ZONE_COND_FULL) { + ret = BLK_STS_IOERR; + break; + } if (zone->wp == zone->start) zone->cond = BLK_ZONE_COND_EMPTY; @@ -246,35 +347,54 @@ zone->cond = BLK_ZONE_COND_CLOSED; break; case REQ_OP_ZONE_FINISH: - if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) - return BLK_STS_IOERR; + if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) { + ret = BLK_STS_IOERR; + break; + } zone->cond = BLK_ZONE_COND_FULL; zone->wp = zone->start + zone->len; + ret = BLK_STS_OK; break; default: - return BLK_STS_NOTSUPP; + ret = BLK_STS_NOTSUPP; + break; } - trace_nullb_zone_op(cmd, zone_no, zone->cond); - return BLK_STS_OK; + if (ret == BLK_STS_OK) + trace_nullb_zone_op(cmd, zone_no, zone->cond); + + null_unlock_zone(dev, zone_no); + + return ret; } blk_status_t null_process_zoned_cmd(struct nullb_cmd *cmd, enum req_opf op, sector_t sector, sector_t nr_sectors) { + struct nullb_device *dev = cmd->nq->dev; + unsigned int zno = null_zone_no(dev, sector); + blk_status_t sts; + switch (op) { case REQ_OP_WRITE: - return null_zone_write(cmd, sector, nr_sectors, false); + sts = null_zone_write(cmd, sector, nr_sectors, false); + break; case REQ_OP_ZONE_APPEND: - return null_zone_write(cmd, sector, nr_sectors, true); + sts = null_zone_write(cmd, sector, nr_sectors, true); + break; case REQ_OP_ZONE_RESET: case REQ_OP_ZONE_RESET_ALL: case REQ_OP_ZONE_OPEN: case REQ_OP_ZONE_CLOSE: case REQ_OP_ZONE_FINISH: - return null_zone_mgmt(cmd, op, sector); + sts = null_zone_mgmt(cmd, op, sector); + break; default: - return null_process_cmd(cmd, op, sector, nr_sectors); + null_lock_zone(dev, zno); + sts = null_process_cmd(cmd, op, sector, nr_sectors); + null_unlock_zone(dev, zno); } + + return sts; } --- linux-riscv-5.8-5.8.0.orig/drivers/block/rbd.c +++ linux-riscv-5.8-5.8.0/drivers/block/rbd.c @@ -5120,6 +5120,9 @@ { struct rbd_device *rbd_dev = dev_to_rbd_dev(dev); + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + return sprintf(buf, "%s\n", rbd_dev->config_info); } @@ -5231,6 +5234,9 @@ struct rbd_device *rbd_dev = dev_to_rbd_dev(dev); int ret; + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + ret = rbd_dev_refresh(rbd_dev); if (ret) return ret; @@ -7059,6 +7065,9 @@ struct rbd_client *rbdc; int rc; + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + if (!try_module_get(THIS_MODULE)) return -ENODEV; @@ -7209,6 +7218,9 @@ bool force = false; int ret; + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + dev_id = -1; opt_buf[0] = '\0'; sscanf(buf, "%d %5s", &dev_id, opt_buf); --- linux-riscv-5.8-5.8.0.orig/drivers/block/rnbd/rnbd-clt-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/block/rnbd/rnbd-clt-sysfs.c @@ -433,8 +433,9 @@ * i.e. rnbd_clt_unmap_dev_store() leading to a sysfs warning because * of sysfs link already was removed already. */ - if (strlen(dev->blk_symlink_name) && try_module_get(THIS_MODULE)) { + if (dev->blk_symlink_name && try_module_get(THIS_MODULE)) { sysfs_remove_link(rnbd_devs_kobj, dev->blk_symlink_name); + kfree(dev->blk_symlink_name); module_put(THIS_MODULE); } } @@ -487,10 +488,17 @@ static int rnbd_clt_add_dev_symlink(struct rnbd_clt_dev *dev) { struct kobject *gd_kobj = &disk_to_dev(dev->gd)->kobj; - int ret; + int ret, len; + + len = strlen(dev->pathname) + strlen(dev->sess->sessname) + 2; + dev->blk_symlink_name = kzalloc(len, GFP_KERNEL); + if (!dev->blk_symlink_name) { + rnbd_clt_err(dev, "Failed to allocate memory for blk_symlink_name\n"); + return -ENOMEM; + } ret = rnbd_clt_get_path_name(dev, dev->blk_symlink_name, - sizeof(dev->blk_symlink_name)); + len); if (ret) { rnbd_clt_err(dev, "Failed to get /sys/block symlink path, err: %d\n", ret); @@ -508,7 +516,8 @@ return 0; out_err: - dev->blk_symlink_name[0] = '\0'; + kfree(dev->blk_symlink_name); + dev->blk_symlink_name = NULL ; return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/block/rnbd/rnbd-clt.c +++ linux-riscv-5.8-5.8.0/drivers/block/rnbd/rnbd-clt.c @@ -59,6 +59,7 @@ ida_simple_remove(&index_ida, dev->clt_device_id); mutex_unlock(&ida_lock); kfree(dev->hw_queues); + kfree(dev->pathname); rnbd_clt_put_sess(dev->sess); mutex_destroy(&dev->lock); kfree(dev); @@ -1392,10 +1393,16 @@ pathname, sess->sessname, ret); goto out_queues; } + + dev->pathname = kstrdup(pathname, GFP_KERNEL); + if (!dev->pathname) { + ret = -ENOMEM; + goto out_queues; + } + dev->clt_device_id = ret; dev->sess = sess; dev->access_mode = access_mode; - strlcpy(dev->pathname, pathname, sizeof(dev->pathname)); mutex_init(&dev->lock); refcount_set(&dev->refcount, 1); dev->dev_state = DEV_STATE_INIT; @@ -1424,8 +1431,8 @@ list_for_each_entry(sess, &sess_list, list) { mutex_lock(&sess->lock); list_for_each_entry(dev, &sess->devs_list, list) { - if (!strncmp(dev->pathname, pathname, - sizeof(dev->pathname))) { + if (strlen(dev->pathname) == strlen(pathname) && + !strcmp(dev->pathname, pathname)) { found = true; break; } @@ -1673,7 +1680,8 @@ */ list_for_each_entry_safe(sess, sn, &sess_list, list) { - WARN_ON(!rnbd_clt_get_sess(sess)); + if (!rnbd_clt_get_sess(sess)) + continue; close_rtrs(sess); list_for_each_entry_safe(dev, tn, &sess->devs_list, list) { /* --- linux-riscv-5.8-5.8.0.orig/drivers/block/rnbd/rnbd-clt.h +++ linux-riscv-5.8-5.8.0/drivers/block/rnbd/rnbd-clt.h @@ -108,7 +108,7 @@ u32 clt_device_id; struct mutex lock; enum rnbd_clt_dev_state dev_state; - char pathname[NAME_MAX]; + char *pathname; enum rnbd_access_mode access_mode; bool read_only; bool rotational; @@ -126,7 +126,7 @@ struct list_head list; struct gendisk *gd; struct kobject kobj; - char blk_symlink_name[NAME_MAX]; + char *blk_symlink_name; refcount_t refcount; struct work_struct unmap_on_rmmod_work; }; --- linux-riscv-5.8-5.8.0.orig/drivers/block/rsxx/core.c +++ linux-riscv-5.8-5.8.0/drivers/block/rsxx/core.c @@ -165,15 +165,17 @@ { struct rsxx_cardinfo *card = file_inode(fp)->i_private; char *buf; - ssize_t st; + int st; buf = kzalloc(cnt, GFP_KERNEL); if (!buf) return -ENOMEM; st = rsxx_creg_read(card, CREG_ADD_CRAM + (u32)*ppos, cnt, buf, 1); - if (!st) - st = copy_to_user(ubuf, buf, cnt); + if (!st) { + if (copy_to_user(ubuf, buf, cnt)) + st = -EFAULT; + } kfree(buf); if (st) return st; @@ -867,6 +869,7 @@ card->event_wq = create_singlethread_workqueue(DRIVER_NAME"_event"); if (!card->event_wq) { dev_err(CARD_TO_DEV(card), "Failed card event setup.\n"); + st = -ENOMEM; goto failed_event_handler; } --- linux-riscv-5.8-5.8.0.orig/drivers/block/umem.c +++ linux-riscv-5.8-5.8.0/drivers/block/umem.c @@ -875,6 +875,7 @@ if (card->mm_pages[0].desc == NULL || card->mm_pages[1].desc == NULL) { dev_printk(KERN_ERR, &card->dev->dev, "alloc failed\n"); + ret = -ENOMEM; goto failed_alloc; } reset_page(&card->mm_pages[0]); @@ -886,8 +887,10 @@ spin_lock_init(&card->lock); card->queue = blk_alloc_queue(mm_make_request, NUMA_NO_NODE); - if (!card->queue) + if (!card->queue) { + ret = -ENOMEM; goto failed_alloc; + } card->queue->queuedata = card; tasklet_init(&card->tasklet, process_page, (unsigned long)card); --- linux-riscv-5.8-5.8.0.orig/drivers/block/virtio_blk.c +++ linux-riscv-5.8-5.8.0/drivers/block/virtio_blk.c @@ -126,16 +126,31 @@ if (!range) return -ENOMEM; - __rq_for_each_bio(bio, req) { - u64 sector = bio->bi_iter.bi_sector; - u32 num_sectors = bio->bi_iter.bi_size >> SECTOR_SHIFT; + /* + * Single max discard segment means multi-range discard isn't + * supported, and block layer only runs contiguity merge like + * normal RW request. So we can't reply on bio for retrieving + * each range info. + */ + if (queue_max_discard_segments(req->q) == 1) { + range[0].flags = cpu_to_le32(flags); + range[0].num_sectors = cpu_to_le32(blk_rq_sectors(req)); + range[0].sector = cpu_to_le64(blk_rq_pos(req)); + n = 1; + } else { + __rq_for_each_bio(bio, req) { + u64 sector = bio->bi_iter.bi_sector; + u32 num_sectors = bio->bi_iter.bi_size >> SECTOR_SHIFT; - range[n].flags = cpu_to_le32(flags); - range[n].num_sectors = cpu_to_le32(num_sectors); - range[n].sector = cpu_to_le64(sector); - n++; + range[n].flags = cpu_to_le32(flags); + range[n].num_sectors = cpu_to_le32(num_sectors); + range[n].sector = cpu_to_le64(sector); + n++; + } } + WARN_ON_ONCE(n != segments); + req->special_vec.bv_page = virt_to_page(range); req->special_vec.bv_offset = offset_in_page(range); req->special_vec.bv_len = sizeof(*range) * segments; --- linux-riscv-5.8-5.8.0.orig/drivers/block/xen-blkback/blkback.c +++ linux-riscv-5.8-5.8.0/drivers/block/xen-blkback/blkback.c @@ -132,76 +132,15 @@ #define BLKBACK_INVALID_HANDLE (~0) -/* Number of free pages to remove on each call to gnttab_free_pages */ -#define NUM_BATCH_FREE_PAGES 10 - static inline bool persistent_gnt_timeout(struct persistent_gnt *persistent_gnt) { return pgrant_timeout && (jiffies - persistent_gnt->last_used >= HZ * pgrant_timeout); } -static inline int get_free_page(struct xen_blkif_ring *ring, struct page **page) -{ - unsigned long flags; - - spin_lock_irqsave(&ring->free_pages_lock, flags); - if (list_empty(&ring->free_pages)) { - BUG_ON(ring->free_pages_num != 0); - spin_unlock_irqrestore(&ring->free_pages_lock, flags); - return gnttab_alloc_pages(1, page); - } - BUG_ON(ring->free_pages_num == 0); - page[0] = list_first_entry(&ring->free_pages, struct page, lru); - list_del(&page[0]->lru); - ring->free_pages_num--; - spin_unlock_irqrestore(&ring->free_pages_lock, flags); - - return 0; -} - -static inline void put_free_pages(struct xen_blkif_ring *ring, struct page **page, - int num) -{ - unsigned long flags; - int i; - - spin_lock_irqsave(&ring->free_pages_lock, flags); - for (i = 0; i < num; i++) - list_add(&page[i]->lru, &ring->free_pages); - ring->free_pages_num += num; - spin_unlock_irqrestore(&ring->free_pages_lock, flags); -} - -static inline void shrink_free_pagepool(struct xen_blkif_ring *ring, int num) -{ - /* Remove requested pages in batches of NUM_BATCH_FREE_PAGES */ - struct page *page[NUM_BATCH_FREE_PAGES]; - unsigned int num_pages = 0; - unsigned long flags; - - spin_lock_irqsave(&ring->free_pages_lock, flags); - while (ring->free_pages_num > num) { - BUG_ON(list_empty(&ring->free_pages)); - page[num_pages] = list_first_entry(&ring->free_pages, - struct page, lru); - list_del(&page[num_pages]->lru); - ring->free_pages_num--; - if (++num_pages == NUM_BATCH_FREE_PAGES) { - spin_unlock_irqrestore(&ring->free_pages_lock, flags); - gnttab_free_pages(num_pages, page); - spin_lock_irqsave(&ring->free_pages_lock, flags); - num_pages = 0; - } - } - spin_unlock_irqrestore(&ring->free_pages_lock, flags); - if (num_pages != 0) - gnttab_free_pages(num_pages, page); -} - #define vaddr(page) ((unsigned long)pfn_to_kaddr(page_to_pfn(page))) -static int do_block_io_op(struct xen_blkif_ring *ring); +static int do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags); static int dispatch_rw_block_io(struct xen_blkif_ring *ring, struct blkif_request *req, struct pending_req *pending_req); @@ -331,7 +270,8 @@ unmap_data.count = segs_to_unmap; BUG_ON(gnttab_unmap_refs_sync(&unmap_data)); - put_free_pages(ring, pages, segs_to_unmap); + gnttab_page_cache_put(&ring->free_pages, pages, + segs_to_unmap); segs_to_unmap = 0; } @@ -371,7 +311,8 @@ if (++segs_to_unmap == BLKIF_MAX_SEGMENTS_PER_REQUEST) { unmap_data.count = segs_to_unmap; BUG_ON(gnttab_unmap_refs_sync(&unmap_data)); - put_free_pages(ring, pages, segs_to_unmap); + gnttab_page_cache_put(&ring->free_pages, pages, + segs_to_unmap); segs_to_unmap = 0; } kfree(persistent_gnt); @@ -379,7 +320,7 @@ if (segs_to_unmap > 0) { unmap_data.count = segs_to_unmap; BUG_ON(gnttab_unmap_refs_sync(&unmap_data)); - put_free_pages(ring, pages, segs_to_unmap); + gnttab_page_cache_put(&ring->free_pages, pages, segs_to_unmap); } } @@ -612,6 +553,8 @@ struct xen_vbd *vbd = &blkif->vbd; unsigned long timeout; int ret; + bool do_eoi; + unsigned int eoi_flags = XEN_EOI_FLAG_SPURIOUS; set_freezable(); while (!kthread_should_stop()) { @@ -636,16 +579,23 @@ if (timeout == 0) goto purge_gnt_list; + do_eoi = ring->waiting_reqs; + ring->waiting_reqs = 0; smp_mb(); /* clear flag *before* checking for work */ - ret = do_block_io_op(ring); + ret = do_block_io_op(ring, &eoi_flags); if (ret > 0) ring->waiting_reqs = 1; if (ret == -EACCES) wait_event_interruptible(ring->shutdown_wq, kthread_should_stop()); + if (do_eoi && !ring->waiting_reqs) { + xen_irq_lateeoi(ring->irq, eoi_flags); + eoi_flags |= XEN_EOI_FLAG_SPURIOUS; + } + purge_gnt_list: if (blkif->vbd.feature_gnt_persistent && time_after(jiffies, ring->next_lru)) { @@ -655,9 +605,10 @@ /* Shrink the free pages pool if it is too large. */ if (time_before(jiffies, blkif->buffer_squeeze_end)) - shrink_free_pagepool(ring, 0); + gnttab_page_cache_shrink(&ring->free_pages, 0); else - shrink_free_pagepool(ring, max_buffer_pages); + gnttab_page_cache_shrink(&ring->free_pages, + max_buffer_pages); if (log_stats && time_after(jiffies, ring->st_print)) print_stats(ring); @@ -688,7 +639,7 @@ ring->persistent_gnt_c = 0; /* Since we are shutting down remove all pages from the buffer */ - shrink_free_pagepool(ring, 0 /* All */); + gnttab_page_cache_shrink(&ring->free_pages, 0 /* All */); } static unsigned int xen_blkbk_unmap_prepare( @@ -727,7 +678,7 @@ but is this the best way to deal with this? */ BUG_ON(result); - put_free_pages(ring, data->pages, data->count); + gnttab_page_cache_put(&ring->free_pages, data->pages, data->count); make_response(ring, pending_req->id, pending_req->operation, pending_req->status); free_req(ring, pending_req); @@ -794,7 +745,8 @@ if (invcount) { ret = gnttab_unmap_refs(unmap, NULL, unmap_pages, invcount); BUG_ON(ret); - put_free_pages(ring, unmap_pages, invcount); + gnttab_page_cache_put(&ring->free_pages, unmap_pages, + invcount); } pages += batch; num -= batch; @@ -841,8 +793,14 @@ pages[i]->page = persistent_gnt->page; pages[i]->persistent_gnt = persistent_gnt; } else { - if (get_free_page(ring, &pages[i]->page)) - goto out_of_memory; + if (gnttab_page_cache_get(&ring->free_pages, + &pages[i]->page)) { + gnttab_page_cache_put(&ring->free_pages, + pages_to_gnt, + segs_to_map); + ret = -ENOMEM; + goto out; + } addr = vaddr(pages[i]->page); pages_to_gnt[segs_to_map] = pages[i]->page; pages[i]->persistent_gnt = NULL; @@ -858,10 +816,8 @@ break; } - if (segs_to_map) { + if (segs_to_map) ret = gnttab_map_refs(map, NULL, pages_to_gnt, segs_to_map); - BUG_ON(ret); - } /* * Now swizzle the MFN in our domain with the MFN from the other domain @@ -874,9 +830,10 @@ BUG_ON(new_map_idx >= segs_to_map); if (unlikely(map[new_map_idx].status != 0)) { pr_debug("invalid buffer -- could not remap it\n"); - put_free_pages(ring, &pages[seg_idx]->page, 1); + gnttab_page_cache_put(&ring->free_pages, + &pages[seg_idx]->page, 1); pages[seg_idx]->handle = BLKBACK_INVALID_HANDLE; - ret |= 1; + ret |= !ret; goto next; } pages[seg_idx]->handle = map[new_map_idx].handle; @@ -928,17 +885,18 @@ } segs_to_map = 0; last_map = map_until; - if (map_until != num) + if (!ret && map_until != num) goto again; - return ret; - -out_of_memory: - pr_alert("%s: out of memory\n", __func__); - put_free_pages(ring, pages_to_gnt, segs_to_map); - for (i = last_map; i < num; i++) +out: + for (i = last_map; i < num; i++) { + /* Don't zap current batch's valid persistent grants. */ + if(i >= map_until) + pages[i]->persistent_gnt = NULL; pages[i]->handle = BLKBACK_INVALID_HANDLE; - return -ENOMEM; + } + + return ret; } static int xen_blkbk_map_seg(struct pending_req *pending_req) @@ -1121,7 +1079,7 @@ * and transmute it to the block API to hand it over to the proper block disk. */ static int -__do_block_io_op(struct xen_blkif_ring *ring) +__do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags) { union blkif_back_rings *blk_rings = &ring->blk_rings; struct blkif_request req; @@ -1144,6 +1102,9 @@ if (RING_REQUEST_CONS_OVERFLOW(&blk_rings->common, rc)) break; + /* We've seen a request, so clear spurious eoi flag. */ + *eoi_flags &= ~XEN_EOI_FLAG_SPURIOUS; + if (kthread_should_stop()) { more_to_do = 1; break; @@ -1202,13 +1163,13 @@ } static int -do_block_io_op(struct xen_blkif_ring *ring) +do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags) { union blkif_back_rings *blk_rings = &ring->blk_rings; int more_to_do; do { - more_to_do = __do_block_io_op(ring); + more_to_do = __do_block_io_op(ring, eoi_flags); if (more_to_do) break; --- linux-riscv-5.8-5.8.0.orig/drivers/block/xen-blkback/common.h +++ linux-riscv-5.8-5.8.0/drivers/block/xen-blkback/common.h @@ -289,9 +289,7 @@ struct work_struct persistent_purge_work; /* Buffer of free pages to map grant refs. */ - spinlock_t free_pages_lock; - int free_pages_num; - struct list_head free_pages; + struct gnttab_page_cache free_pages; struct work_struct free_work; /* Thread shutdown wait queue. */ --- linux-riscv-5.8-5.8.0.orig/drivers/block/xen-blkback/xenbus.c +++ linux-riscv-5.8-5.8.0/drivers/block/xen-blkback/xenbus.c @@ -144,8 +144,7 @@ INIT_LIST_HEAD(&ring->pending_free); INIT_LIST_HEAD(&ring->persistent_purge_list); INIT_WORK(&ring->persistent_purge_work, xen_blkbk_unmap_purged_grants); - spin_lock_init(&ring->free_pages_lock); - INIT_LIST_HEAD(&ring->free_pages); + gnttab_page_cache_init(&ring->free_pages); spin_lock_init(&ring->pending_free_lock); init_waitqueue_head(&ring->pending_free_wq); @@ -246,9 +245,8 @@ if (req_prod - rsp_prod > size) goto fail; - err = bind_interdomain_evtchn_to_irqhandler(blkif->domid, evtchn, - xen_blkif_be_int, 0, - "blkif-backend", ring); + err = bind_interdomain_evtchn_to_irqhandler_lateeoi(blkif->domid, + evtchn, xen_blkif_be_int, 0, "blkif-backend", ring); if (err < 0) goto fail; ring->irq = err; @@ -276,6 +274,7 @@ if (ring->xenblkd) { kthread_stop(ring->xenblkd); + ring->xenblkd = NULL; wake_up(&ring->shutdown_wq); } @@ -318,8 +317,7 @@ BUG_ON(atomic_read(&ring->persistent_gnt_in_use) != 0); BUG_ON(!list_empty(&ring->persistent_purge_list)); BUG_ON(!RB_EMPTY_ROOT(&ring->persistent_gnts)); - BUG_ON(!list_empty(&ring->free_pages)); - BUG_ON(ring->free_pages_num != 0); + BUG_ON(ring->free_pages.num_pages != 0); BUG_ON(ring->persistent_gnt_c != 0); WARN_ON(i != (XEN_BLKIF_REQS_PER_PAGE * blkif->nr_ring_pages)); ring->active = false; @@ -670,7 +668,8 @@ /* setup back pointer */ be->blkif->be = be; - err = xenbus_watch_pathfmt(dev, &be->backend_watch, backend_changed, + err = xenbus_watch_pathfmt(dev, &be->backend_watch, NULL, + backend_changed, "%s/%s", dev->nodename, "physical-device"); if (err) goto fail; --- linux-riscv-5.8-5.8.0.orig/drivers/block/xen-blkfront.c +++ linux-riscv-5.8-5.8.0/drivers/block/xen-blkfront.c @@ -945,7 +945,8 @@ if (info->feature_discard) { blk_queue_flag_set(QUEUE_FLAG_DISCARD, rq); blk_queue_max_discard_sectors(rq, get_capacity(gd)); - rq->limits.discard_granularity = info->discard_granularity; + rq->limits.discard_granularity = info->discard_granularity ?: + info->physical_sector_size; rq->limits.discard_alignment = info->discard_alignment; if (info->feature_secdiscard) blk_queue_flag_set(QUEUE_FLAG_SECERASE, rq); @@ -2170,19 +2171,12 @@ static void blkfront_setup_discard(struct blkfront_info *info) { - int err; - unsigned int discard_granularity; - unsigned int discard_alignment; - info->feature_discard = 1; - err = xenbus_gather(XBT_NIL, info->xbdev->otherend, - "discard-granularity", "%u", &discard_granularity, - "discard-alignment", "%u", &discard_alignment, - NULL); - if (!err) { - info->discard_granularity = discard_granularity; - info->discard_alignment = discard_alignment; - } + info->discard_granularity = xenbus_read_unsigned(info->xbdev->otherend, + "discard-granularity", + 0); + info->discard_alignment = xenbus_read_unsigned(info->xbdev->otherend, + "discard-alignment", 0); info->feature_secdiscard = !!xenbus_read_unsigned(info->xbdev->otherend, "discard-secure", 0); --- linux-riscv-5.8-5.8.0.orig/drivers/block/zram/zram_drv.c +++ linux-riscv-5.8-5.8.0/drivers/block/zram/zram_drv.c @@ -631,7 +631,7 @@ struct bio_vec bio_vec; struct page *page; ssize_t ret = len; - int mode; + int mode, err; unsigned long blk_idx = 0; if (sysfs_streq(buf, "idle")) @@ -723,12 +723,17 @@ * XXX: A single page IO would be inefficient for write * but it would be not bad as starter. */ - ret = submit_bio_wait(&bio); - if (ret) { + err = submit_bio_wait(&bio); + if (err) { zram_slot_lock(zram, index); zram_clear_flag(zram, index, ZRAM_UNDER_WB); zram_clear_flag(zram, index, ZRAM_IDLE); zram_slot_unlock(zram, index); + /* + * Return last IO error unless every IO were + * not suceeded. + */ + ret = err; continue; } @@ -1076,7 +1081,7 @@ zram->limit_pages << PAGE_SHIFT, max_used << PAGE_SHIFT, (u64)atomic64_read(&zram->stats.same_pages), - pool_stats.pages_compacted, + atomic_long_read(&pool_stats.pages_compacted), (u64)atomic64_read(&zram->stats.huge_pages)); up_read(&zram->init_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/btmrvl_sdio.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/btmrvl_sdio.c @@ -328,7 +328,7 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8977 = { .helper = NULL, - .firmware = "mrvl/sd8977_uapsta.bin", + .firmware = "mrvl/sdsd8977_combo_v2.bin", .reg = &btmrvl_reg_8977, .support_pscan_win_report = true, .sd_blksz_fw_dl = 256, @@ -346,7 +346,7 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8997 = { .helper = NULL, - .firmware = "mrvl/sd8997_uapsta.bin", + .firmware = "mrvl/sdsd8997_combo_v4.bin", .reg = &btmrvl_reg_8997, .support_pscan_win_report = true, .sd_blksz_fw_dl = 256, @@ -1831,6 +1831,6 @@ MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin"); MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin"); MODULE_FIRMWARE("mrvl/sd8897_uapsta.bin"); -MODULE_FIRMWARE("mrvl/sd8977_uapsta.bin"); +MODULE_FIRMWARE("mrvl/sdsd8977_combo_v2.bin"); MODULE_FIRMWARE("mrvl/sd8987_uapsta.bin"); -MODULE_FIRMWARE("mrvl/sd8997_uapsta.bin"); +MODULE_FIRMWARE("mrvl/sdsd8997_combo_v4.bin"); --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/btmtksdio.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/btmtksdio.c @@ -685,7 +685,7 @@ const u8 *fw_ptr; size_t fw_size; int err, dlen; - u8 flag; + u8 flag, param; err = request_firmware(&fw, fwname, &hdev->dev); if (err < 0) { @@ -693,6 +693,20 @@ return err; } + /* Power on data RAM the firmware relies on. */ + param = 1; + wmt_params.op = MTK_WMT_FUNC_CTRL; + wmt_params.flag = 3; + wmt_params.dlen = sizeof(param); + wmt_params.data = ¶m; + wmt_params.status = NULL; + + err = mtk_hci_wmt_sync(hdev, &wmt_params); + if (err < 0) { + bt_dev_err(hdev, "Failed to power on data RAM (%d)", err); + goto free_fw; + } + fw_ptr = fw->data; fw_size = fw->size; --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/btqcomsmd.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/btqcomsmd.c @@ -142,12 +142,16 @@ btq->cmd_channel = qcom_wcnss_open_channel(wcnss, "APPS_RIVA_BT_CMD", btqcomsmd_cmd_callback, btq); - if (IS_ERR(btq->cmd_channel)) - return PTR_ERR(btq->cmd_channel); + if (IS_ERR(btq->cmd_channel)) { + ret = PTR_ERR(btq->cmd_channel); + goto destroy_acl_channel; + } hdev = hci_alloc_dev(); - if (!hdev) - return -ENOMEM; + if (!hdev) { + ret = -ENOMEM; + goto destroy_cmd_channel; + } hci_set_drvdata(hdev, btq); btq->hdev = hdev; @@ -161,14 +165,21 @@ hdev->set_bdaddr = qca_set_bdaddr_rome; ret = hci_register_dev(hdev); - if (ret < 0) { - hci_free_dev(hdev); - return ret; - } + if (ret < 0) + goto hci_free_dev; platform_set_drvdata(pdev, btq); return 0; + +hci_free_dev: + hci_free_dev(hdev); +destroy_cmd_channel: + rpmsg_destroy_ept(btq->cmd_channel); +destroy_acl_channel: + rpmsg_destroy_ept(btq->acl_channel); + + return ret; } static int btqcomsmd_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/btrtl.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/btrtl.c @@ -25,6 +25,7 @@ #define RTL_ROM_LMP_8821A 0x8821 #define RTL_ROM_LMP_8761A 0x8761 #define RTL_ROM_LMP_8822B 0x8822 +#define RTL_ROM_LMP_8852A 0x8852 #define RTL_CONFIG_MAGIC 0x8723ab55 #define IC_MATCH_FL_LMPSUBV (1 << 0) @@ -36,6 +37,19 @@ .lmp_subver = (lmps), \ .hci_rev = (hcir) +enum btrtl_chip_id { + CHIP_ID_8723A, + CHIP_ID_8723B, + CHIP_ID_8821A, + CHIP_ID_8761A, + CHIP_ID_8822B = 8, + CHIP_ID_8723D, + CHIP_ID_8821C, + CHIP_ID_8822C = 13, + CHIP_ID_8761B, + CHIP_ID_8852A = 18, +}; + struct id_table { __u16 match_flags; __u16 lmp_subver; @@ -55,6 +69,8 @@ int fw_len; u8 *cfg_data; int cfg_len; + bool drop_fw; + int project_id; }; static const struct id_table ic_id_table[] = { @@ -168,6 +184,18 @@ .has_rom_version = true, .fw_name = "rtl_bt/rtl8822b_fw.bin", .cfg_name = "rtl_bt/rtl8822b_config" }, + + /* 8852A */ + { .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_HCIREV | + IC_MATCH_FL_HCIVER | IC_MATCH_FL_HCIBUS, + .lmp_subver = RTL_ROM_LMP_8852A, + .hci_rev = 0xa, + .hci_ver = 0xb, + .hci_bus = HCI_USB, + .config_needed = false, + .has_rom_version = true, + .fw_name = "rtl_bt/rtl8852au_fw.bin", + .cfg_name = "rtl_bt/rtl8852au_config" }, }; static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 hci_rev, @@ -275,6 +303,7 @@ { RTL_ROM_LMP_8821A, 10 }, /* 8821C */ { RTL_ROM_LMP_8822B, 13 }, /* 8822C */ { RTL_ROM_LMP_8761A, 14 }, /* 8761B */ + { RTL_ROM_LMP_8852A, 18 }, /* 8852A */ }; min_size = sizeof(struct rtl_epatch_header) + sizeof(extension_sig) + 3; @@ -323,8 +352,10 @@ /* Find project_id in table */ for (i = 0; i < ARRAY_SIZE(project_id_to_lmp_subver); i++) { - if (project_id == project_id_to_lmp_subver[i].id) + if (project_id == project_id_to_lmp_subver[i].id) { + btrtl_dev->project_id = project_id; break; + } } if (i >= ARRAY_SIZE(project_id_to_lmp_subver)) { @@ -563,6 +594,8 @@ u16 hci_rev, lmp_subver; u8 hci_ver; int ret; + u16 opcode; + u8 cmd[2]; btrtl_dev = kzalloc(sizeof(*btrtl_dev), GFP_KERNEL); if (!btrtl_dev) { @@ -584,6 +617,49 @@ hci_ver = resp->hci_ver; hci_rev = le16_to_cpu(resp->hci_rev); lmp_subver = le16_to_cpu(resp->lmp_subver); + + if (resp->hci_ver == 0x8 && le16_to_cpu(resp->hci_rev) == 0x826c && + resp->lmp_ver == 0x8 && le16_to_cpu(resp->lmp_subver) == 0xa99e) + btrtl_dev->drop_fw = true; + + if (btrtl_dev->drop_fw) { + opcode = hci_opcode_pack(0x3f, 0x66); + cmd[0] = opcode & 0xff; + cmd[1] = opcode >> 8; + + skb = bt_skb_alloc(sizeof(cmd), GFP_KERNEL); + if (!skb) + goto out_free; + + skb_put_data(skb, cmd, sizeof(cmd)); + hci_skb_pkt_type(skb) = HCI_COMMAND_PKT; + + hdev->send(hdev, skb); + + /* Ensure the above vendor command is sent to controller and + * process has done. + */ + msleep(200); + + /* Read the local version again. Expect to have the vanilla + * version as cold boot. + */ + skb = btrtl_read_local_version(hdev); + if (IS_ERR(skb)) { + ret = PTR_ERR(skb); + goto err_free; + } + + resp = (struct hci_rp_read_local_version *)skb->data; + rtl_dev_info(hdev, "examining hci_ver=%02x hci_rev=%04x lmp_ver=%02x lmp_subver=%04x", + resp->hci_ver, resp->hci_rev, + resp->lmp_ver, resp->lmp_subver); + + hci_ver = resp->hci_ver; + hci_rev = le16_to_cpu(resp->hci_rev); + lmp_subver = le16_to_cpu(resp->lmp_subver); + } +out_free: kfree_skb(skb); btrtl_dev->ic_info = btrtl_match_ic(lmp_subver, hci_rev, hci_ver, @@ -660,6 +736,7 @@ case RTL_ROM_LMP_8821A: case RTL_ROM_LMP_8761A: case RTL_ROM_LMP_8822B: + case RTL_ROM_LMP_8852A: return btrtl_setup_rtl8723b(hdev, btrtl_dev); default: rtl_dev_info(hdev, "assuming no firmware upload needed"); @@ -679,13 +756,28 @@ ret = btrtl_download_firmware(hdev, btrtl_dev); - btrtl_free(btrtl_dev); - /* Enable controller to do both LE scan and BR/EDR inquiry * simultaneously. */ set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); + /* Enable central-peripheral role (able to create new connections with + * an existing connection in slave role). + */ + /* Enable WBS supported for the specific Realtek devices. */ + switch (btrtl_dev->project_id) { + case CHIP_ID_8822C: + case CHIP_ID_8852A: + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); + set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); + break; + default: + rtl_dev_dbg(hdev, "Central-peripheral role not enabled."); + rtl_dev_dbg(hdev, "WBS supported not enabled."); + break; + } + + btrtl_free(btrtl_dev); return ret; } EXPORT_SYMBOL_GPL(btrtl_setup_realtek); @@ -835,3 +927,5 @@ MODULE_FIRMWARE("rtl_bt/rtl8821a_config.bin"); MODULE_FIRMWARE("rtl_bt/rtl8822b_fw.bin"); MODULE_FIRMWARE("rtl_bt/rtl8822b_config.bin"); +MODULE_FIRMWARE("rtl_bt/rtl8852au_fw.bin"); +MODULE_FIRMWARE("rtl_bt/rtl8852au_config.bin"); --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/btusb.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/btusb.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -359,6 +360,10 @@ { USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01), .driver_info = BTUSB_IGNORE }, + /* Realtek 8852AE Bluetooth devices */ + { USB_DEVICE(0x0bda, 0xc852), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Realtek Bluetooth devices */ { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01), .driver_info = BTUSB_REALTEK }, @@ -1718,8 +1723,11 @@ static int btusb_setup_csr(struct hci_dev *hdev) { + struct btusb_data *data = hci_get_drvdata(hdev); + u16 bcdDevice = le16_to_cpu(data->udev->descriptor.bcdDevice); struct hci_rp_read_local_version *rp; struct sk_buff *skb; + bool is_fake = false; BT_DBG("%s", hdev->name); @@ -1739,18 +1747,75 @@ rp = (struct hci_rp_read_local_version *)skb->data; - /* Detect controllers which aren't real CSR ones. */ + /* Detect a wide host of Chinese controllers that aren't CSR. + * + * Known fake bcdDevices: 0x0100, 0x0134, 0x1915, 0x2520, 0x7558, 0x8891 + * + * The main thing they have in common is that these are really popular low-cost + * options that support newer Bluetooth versions but rely on heavy VID/PID + * squatting of this poor old Bluetooth 1.1 device. Even sold as such. + * + * We detect actual CSR devices by checking that the HCI manufacturer code + * is Cambridge Silicon Radio (10) and ensuring that LMP sub-version and + * HCI rev values always match. As they both store the firmware number. + */ if (le16_to_cpu(rp->manufacturer) != 10 || - le16_to_cpu(rp->lmp_subver) == 0x0c5c) { + le16_to_cpu(rp->hci_rev) != le16_to_cpu(rp->lmp_subver)) + is_fake = true; + + /* Known legit CSR firmware build numbers and their supported BT versions: + * - 1.1 (0x1) -> 0x0073, 0x020d, 0x033c, 0x034e + * - 1.2 (0x2) -> 0x04d9, 0x0529 + * - 2.0 (0x3) -> 0x07a6, 0x07ad, 0x0c5c + * - 2.1 (0x4) -> 0x149c, 0x1735, 0x1899 (0x1899 is a BlueCore4-External) + * - 4.0 (0x6) -> 0x1d86, 0x2031, 0x22bb + * + * e.g. Real CSR dongles with LMP subversion 0x73 are old enough that + * support BT 1.1 only; so it's a dead giveaway when some + * third-party BT 4.0 dongle reuses it. + */ + else if (le16_to_cpu(rp->lmp_subver) <= 0x034e && + le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_1_1) + is_fake = true; + + else if (le16_to_cpu(rp->lmp_subver) <= 0x0529 && + le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_1_2) + is_fake = true; + + else if (le16_to_cpu(rp->lmp_subver) <= 0x0c5c && + le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_2_0) + is_fake = true; + + else if (le16_to_cpu(rp->lmp_subver) <= 0x1899 && + le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_2_1) + is_fake = true; + + else if (le16_to_cpu(rp->lmp_subver) <= 0x22bb && + le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_4_0) + is_fake = true; + + /* Other clones which beat all the above checks */ + else if (bcdDevice == 0x0134 && + le16_to_cpu(rp->lmp_subver) == 0x0c5c && + le16_to_cpu(rp->hci_ver) == BLUETOOTH_VER_2_0) + is_fake = true; + + if (is_fake) { + bt_dev_warn(hdev, "CSR: Unbranded CSR clone detected; adding workarounds..."); + + /* Generally these clones have big discrepancies between + * advertised features and what's actually supported. + * Probably will need to be expanded in the future; + * without these the controller will lock up. + */ + set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks); + set_bit(HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, &hdev->quirks); + /* Clear the reset quirk since this is not an actual * early Bluetooth 1.1 device from CSR. */ clear_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); - - /* These fake CSR controllers have all a broken - * stored link key handling and so just disable it. - */ - set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks); + clear_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); } kfree_skb(skb); @@ -2701,7 +2766,7 @@ skb = bt_skb_alloc(HCI_WMT_MAX_EVENT_SIZE, GFP_ATOMIC); if (!skb) { hdev->stat.err_rx++; - goto err_out; + return; } hci_skb_pkt_type(skb) = HCI_EVENT_PKT; @@ -2719,13 +2784,18 @@ */ if (test_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags)) { data->evt_skb = skb_clone(skb, GFP_ATOMIC); - if (!data->evt_skb) - goto err_out; + if (!data->evt_skb) { + kfree_skb(skb); + return; + } } err = hci_recv_frame(hdev, skb); - if (err < 0) - goto err_free_skb; + if (err < 0) { + kfree_skb(data->evt_skb); + data->evt_skb = NULL; + return; + } if (test_and_clear_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags)) { @@ -2734,11 +2804,6 @@ wake_up_bit(&data->flags, BTUSB_TX_WAIT_VND_EVT); } -err_out: - return; -err_free_skb: - kfree_skb(data->evt_skb); - data->evt_skb = NULL; return; } else if (urb->status == -ENOENT) { /* Avoid suspend failed when usb_kill_urb */ @@ -2797,6 +2862,7 @@ buf = kmalloc(size, GFP_KERNEL); if (!buf) { kfree(dr); + usb_free_urb(urb); return -ENOMEM; } @@ -2925,7 +2991,7 @@ const u8 *fw_ptr; size_t fw_size; int err, dlen; - u8 flag; + u8 flag, param; err = request_firmware(&fw, fwname, &hdev->dev); if (err < 0) { @@ -2933,6 +2999,20 @@ return err; } + /* Power on data RAM the firmware relies on. */ + param = 1; + wmt_params.op = BTMTK_WMT_FUNC_CTRL; + wmt_params.flag = 3; + wmt_params.dlen = sizeof(param); + wmt_params.data = ¶m; + wmt_params.status = NULL; + + err = btusb_mtk_hci_wmt_sync(hdev, &wmt_params); + if (err < 0) { + bt_dev_err(hdev, "Failed to power on data RAM (%d)", err); + goto err_release_fw; + } + fw_ptr = fw->data; fw_size = fw->size; @@ -3253,6 +3333,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) { @@ -3520,6 +3629,13 @@ info = &qca_devices_table[i]; } if (!info) { + /* If the rom_version is not matched in the qca_devices_table + * and the high ROM version is not zero, we assume this chip no + * need to load the rampatch and nvm. + */ + if (ver_rom & ~0xffffU) + return 0; + bt_dev_err(hdev, "don't support firmware rome 0x%x", ver_rom); return -ENODEV; } @@ -3910,8 +4026,18 @@ set_bit(HCI_QUIRK_NON_PERSISTENT_DIAG, &hdev->quirks); } - 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)) { @@ -4001,11 +4127,13 @@ if (bcdDevice < 0x117) set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); + /* This must be set first in case we disable it for fakes */ + set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); + /* Fake CSR devices with broken commands */ - if (bcdDevice <= 0x100 || bcdDevice == 0x134) + if (le16_to_cpu(udev->descriptor.idVendor) == 0x0a12 && + le16_to_cpu(udev->descriptor.idProduct) == 0x0001) hdev->setup = btusb_setup_csr; - - set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); } if (id->driver_info & BTUSB_SNIFFER) { --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/hci_h5.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/hci_h5.c @@ -245,6 +245,9 @@ skb_queue_purge(&h5->rel); skb_queue_purge(&h5->unrel); + kfree_skb(h5->rx_skb); + h5->rx_skb = NULL; + if (h5->vnd && h5->vnd->close) h5->vnd->close(h5); @@ -793,7 +796,7 @@ if (!h5) return -ENOMEM; - set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.flags); + set_bit(HCI_UART_RESET_ON_INIT, &h5->serdev_hu.hdev_flags); h5->hu = &h5->serdev_hu; h5->serdev_hu.serdev = serdev; @@ -905,6 +908,11 @@ /* Give the device some time before the hci-core sends it a reset */ usleep_range(10000, 20000); + /* Enable controller to do both LE scan and BR/EDR inquiry + * simultaneously. + */ + set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &h5->hu->hdev->quirks); + out_free: btrtl_free(btrtl_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/hci_ldisc.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/hci_ldisc.c @@ -127,10 +127,9 @@ if (!test_bit(HCI_UART_PROTO_READY, &hu->flags)) goto no_schedule; - if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state)) { - set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state); + set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state); + if (test_and_set_bit(HCI_UART_SENDING, &hu->tx_state)) goto no_schedule; - } BT_DBG(""); @@ -174,10 +173,10 @@ kfree_skb(skb); } + clear_bit(HCI_UART_SENDING, &hu->tx_state); if (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state)) goto restart; - clear_bit(HCI_UART_SENDING, &hu->tx_state); wake_up_bit(&hu->tx_state, HCI_UART_SENDING); } @@ -538,6 +537,7 @@ clear_bit(HCI_UART_PROTO_READY, &hu->flags); percpu_up_write(&hu->proto_lock); + cancel_work_sync(&hu->init_ready); cancel_work_sync(&hu->write_work); if (hdev) { --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/hci_qca.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/hci_qca.c @@ -46,7 +46,7 @@ #define HCI_MAX_IBS_SIZE 10 #define IBS_WAKE_RETRANS_TIMEOUT_MS 100 -#define IBS_BTSOC_TX_IDLE_TIMEOUT_MS 40 +#define IBS_BTSOC_TX_IDLE_TIMEOUT_MS 200 #define IBS_HOST_TX_IDLE_TIMEOUT_MS 2000 #define CMD_TRANS_TIMEOUT_MS 100 #define MEMDUMP_TIMEOUT_MS 8000 @@ -72,11 +72,13 @@ QCA_DROP_VENDOR_EVENT, QCA_SUSPENDING, QCA_MEMDUMP_COLLECTION, - QCA_HW_ERROR_EVENT + QCA_HW_ERROR_EVENT, + QCA_SSR_TRIGGERED }; enum qca_capabilities { QCA_CAP_WIDEBAND_SPEECH = BIT(0), + QCA_CAP_VALID_LE_STATES = BIT(1), }; /* HCI_IBS transmit side sleep protocol states */ @@ -862,6 +864,13 @@ BT_DBG("hu %p qca enq skb %p tx_ibs_state %d", hu, skb, qca->tx_ibs_state); + if (test_bit(QCA_SSR_TRIGGERED, &qca->flags)) { + /* As SSR is in progress, ignore the packets */ + bt_dev_dbg(hu->hdev, "SSR is in progress"); + kfree_skb(skb); + return 0; + } + /* Prepend skb with frame type */ memcpy(skb_push(skb, 1), &hci_skb_pkt_type(skb), 1); @@ -983,8 +992,11 @@ while ((skb = skb_dequeue(&qca->rx_memdump_q))) { mutex_lock(&qca->hci_memdump_lock); - /* Skip processing the received packets if timeout detected. */ - if (qca->memdump_state == QCA_MEMDUMP_TIMEOUT) { + /* Skip processing the received packets if timeout detected + * or memdump collection completed. + */ + if (qca->memdump_state == QCA_MEMDUMP_TIMEOUT || + qca->memdump_state == QCA_MEMDUMP_COLLECTED) { mutex_unlock(&qca->hci_memdump_lock); return; } @@ -1019,7 +1031,9 @@ dump_size = __le32_to_cpu(dump->dump_size); if (!(dump_size)) { bt_dev_err(hu->hdev, "Rx invalid memdump size"); + kfree(qca_memdump); kfree_skb(skb); + qca->qca_memdump = NULL; mutex_unlock(&qca->hci_memdump_lock); return; } @@ -1128,6 +1142,7 @@ struct hci_uart *hu = hci_get_drvdata(hdev); struct qca_data *qca = hu->priv; + set_bit(QCA_SSR_TRIGGERED, &qca->flags); skb_queue_tail(&qca->rx_memdump_q, skb); queue_work(qca->workqueue, &qca->ctrl_memdump_evt); @@ -1485,9 +1500,8 @@ { struct hci_uart *hu = hci_get_drvdata(hdev); struct qca_data *qca = hu->priv; - struct qca_memdump_data *qca_memdump = qca->qca_memdump; - char *memdump_buf = NULL; + set_bit(QCA_SSR_TRIGGERED, &qca->flags); set_bit(QCA_HW_ERROR_EVENT, &qca->flags); bt_dev_info(hdev, "mem_dump_status: %d", qca->memdump_state); @@ -1509,19 +1523,23 @@ qca_wait_for_dump_collection(hdev); } + mutex_lock(&qca->hci_memdump_lock); if (qca->memdump_state != QCA_MEMDUMP_COLLECTED) { bt_dev_err(hu->hdev, "clearing allocated memory due to memdump timeout"); - mutex_lock(&qca->hci_memdump_lock); - if (qca_memdump) - memdump_buf = qca_memdump->memdump_buf_head; - vfree(memdump_buf); - kfree(qca_memdump); - qca->qca_memdump = NULL; + if (qca->qca_memdump) { + vfree(qca->qca_memdump->memdump_buf_head); + kfree(qca->qca_memdump); + qca->qca_memdump = NULL; + } qca->memdump_state = QCA_MEMDUMP_TIMEOUT; cancel_delayed_work(&qca->ctrl_memdump_timeout); - skb_queue_purge(&qca->rx_memdump_q); - mutex_unlock(&qca->hci_memdump_lock); + } + mutex_unlock(&qca->hci_memdump_lock); + + if (qca->memdump_state == QCA_MEMDUMP_TIMEOUT || + qca->memdump_state == QCA_MEMDUMP_COLLECTED) { cancel_work_sync(&qca->ctrl_memdump_evt); + skb_queue_purge(&qca->rx_memdump_q); } clear_bit(QCA_HW_ERROR_EVENT, &qca->flags); @@ -1532,10 +1550,30 @@ struct hci_uart *hu = hci_get_drvdata(hdev); struct qca_data *qca = hu->priv; - if (qca->memdump_state == QCA_MEMDUMP_IDLE) + set_bit(QCA_SSR_TRIGGERED, &qca->flags); + if (qca->memdump_state == QCA_MEMDUMP_IDLE) { + set_bit(QCA_MEMDUMP_COLLECTION, &qca->flags); qca_send_crashbuffer(hu); - else - bt_dev_info(hdev, "Dump collection is in process"); + qca_wait_for_dump_collection(hdev); + } else if (qca->memdump_state == QCA_MEMDUMP_COLLECTING) { + /* Let us wait here until memory dump collected or + * memory dump timer expired. + */ + bt_dev_info(hdev, "waiting for dump to complete"); + qca_wait_for_dump_collection(hdev); + } + + mutex_lock(&qca->hci_memdump_lock); + if (qca->memdump_state != QCA_MEMDUMP_COLLECTED) { + qca->memdump_state = QCA_MEMDUMP_TIMEOUT; + if (!test_bit(QCA_HW_ERROR_EVENT, &qca->flags)) { + /* Inject hw error event to reset the device + * and driver. + */ + hci_reset_dev(hu->hdev); + } + } + mutex_unlock(&qca->hci_memdump_lock); } static int qca_wcn3990_init(struct hci_uart *hu) @@ -1641,11 +1679,15 @@ bt_dev_info(hdev, "setting up %s", qca_is_wcn399x(soc_type) ? "wcn399x" : "ROME/QCA6390"); + qca->memdump_state = QCA_MEMDUMP_IDLE; + retry: ret = qca_power_on(hdev); if (ret) return ret; + clear_bit(QCA_SSR_TRIGGERED, &qca->flags); + if (qca_is_wcn399x(soc_type)) { set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); @@ -1751,7 +1793,7 @@ { "vddch0", 450000 }, }, .num_vregs = 4, - .capabilities = QCA_CAP_WIDEBAND_SPEECH, + .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES, }; static const struct qca_device_data qca_soc_data_wcn3998 = { @@ -1788,9 +1830,6 @@ qca_flush(hu); spin_unlock_irqrestore(&qca->hci_ibs_lock, flags); - hu->hdev->hw_error = NULL; - hu->hdev->cmd_timeout = NULL; - /* Non-serdev device usually is powered by external power * and don't need additional action in driver for power down */ @@ -1812,6 +1851,9 @@ struct qca_data *qca = hu->priv; enum qca_btsoc_type soc_type = qca_soc_type(hu); + hu->hdev->hw_error = NULL; + hu->hdev->cmd_timeout = NULL; + /* Stop sending shutdown command if soc crashes. */ if (soc_type != QCA_ROME && qca->memdump_state == QCA_MEMDUMP_IDLE) { @@ -1819,7 +1861,6 @@ usleep_range(8000, 10000); } - qca->memdump_state = QCA_MEMDUMP_IDLE; qca_power_shutdown(hu); return 0; } @@ -1962,17 +2003,17 @@ } qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL); - if (!qcadev->susclk) { + if (IS_ERR(qcadev->susclk)) { dev_warn(&serdev->dev, "failed to acquire clk\n"); - } else { - err = clk_set_rate(qcadev->susclk, SUSCLK_RATE_32KHZ); - if (err) - return err; - - err = clk_prepare_enable(qcadev->susclk); - if (err) - return err; + return PTR_ERR(qcadev->susclk); } + err = clk_set_rate(qcadev->susclk, SUSCLK_RATE_32KHZ); + if (err) + return err; + + err = clk_prepare_enable(qcadev->susclk); + if (err) + return err; err = hci_uart_register_device(&qcadev->serdev_hu, &qca_proto); if (err) { @@ -1990,11 +2031,17 @@ hdev->shutdown = qca_power_off; } - /* Wideband speech support must be set per driver since it can't be - * queried via hci. - */ - if (data && (data->capabilities & QCA_CAP_WIDEBAND_SPEECH)) - set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); + if (data) { + /* Wideband speech support must be set per driver since it can't + * be queried via hci. Same with the valid le states quirk. + */ + if (data->capabilities & QCA_CAP_WIDEBAND_SPEECH) + set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, + &hdev->quirks); + + if (data->capabilities & QCA_CAP_VALID_LE_STATES) + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); + } return 0; } @@ -2083,8 +2130,6 @@ qca->tx_ibs_state = HCI_IBS_TX_ASLEEP; qca->ibs_sent_slps++; - - qca_wq_serial_tx_clock_vote_off(&qca->ws_tx_vote_off); break; case HCI_IBS_TX_ASLEEP: @@ -2112,8 +2157,10 @@ qca->rx_ibs_state == HCI_IBS_RX_ASLEEP, msecs_to_jiffies(IBS_BTSOC_TX_IDLE_TIMEOUT_MS)); - if (ret > 0) + if (ret > 0) { + qca_wq_serial_tx_clock_vote_off(&qca->ws_tx_vote_off); return 0; + } if (ret == 0) ret = -ETIMEDOUT; --- linux-riscv-5.8-5.8.0.orig/drivers/bluetooth/hci_serdev.c +++ linux-riscv-5.8-5.8.0/drivers/bluetooth/hci_serdev.c @@ -83,9 +83,9 @@ hci_uart_tx_complete(hu, hci_skb_pkt_type(skb)); kfree_skb(skb); } - } while (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state)); - clear_bit(HCI_UART_SENDING, &hu->tx_state); + clear_bit(HCI_UART_SENDING, &hu->tx_state); + } while (test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state)); } /* ------- Interface to HCI layer ------ */ @@ -355,7 +355,10 @@ struct hci_dev *hdev = hu->hdev; clear_bit(HCI_UART_PROTO_READY, &hu->flags); - hci_unregister_dev(hdev); + + cancel_work_sync(&hu->init_ready); + if (test_bit(HCI_UART_REGISTERED, &hu->flags)) + hci_unregister_dev(hdev); hci_free_dev(hdev); cancel_work_sync(&hu->write_work); --- linux-riscv-5.8-5.8.0.orig/drivers/bus/fsl-mc/fsl-mc-allocator.c +++ linux-riscv-5.8-5.8.0/drivers/bus/fsl-mc/fsl-mc-allocator.c @@ -292,8 +292,10 @@ goto error; mc_adev = resource->data; - if (!mc_adev) + if (!mc_adev) { + error = -EINVAL; goto error; + } mc_adev->consumer_link = device_link_add(&mc_dev->dev, &mc_adev->dev, --- linux-riscv-5.8-5.8.0.orig/drivers/bus/fsl-mc/mc-io.c +++ linux-riscv-5.8-5.8.0/drivers/bus/fsl-mc/mc-io.c @@ -129,7 +129,12 @@ */ void fsl_destroy_mc_io(struct fsl_mc_io *mc_io) { - struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev; + struct fsl_mc_device *dpmcp_dev; + + if (!mc_io) + return; + + dpmcp_dev = mc_io->dpmcp_dev; if (dpmcp_dev) fsl_mc_io_unset_dpmcp(mc_io); --- linux-riscv-5.8-5.8.0.orig/drivers/bus/mhi/core/Makefile +++ linux-riscv-5.8-5.8.0/drivers/bus/mhi/core/Makefile @@ -1,3 +1,3 @@ -obj-$(CONFIG_MHI_BUS) := mhi.o +obj-$(CONFIG_MHI_BUS) += mhi.o mhi-y := init.o main.o pm.o boot.o --- linux-riscv-5.8-5.8.0.orig/drivers/bus/mhi/core/init.c +++ linux-riscv-5.8-5.8.0/drivers/bus/mhi/core/init.c @@ -566,7 +566,7 @@ { struct mhi_event *mhi_event; struct mhi_event_config *event_cfg; - struct device *dev = &mhi_cntrl->mhi_dev->dev; + struct device *dev = mhi_cntrl->cntrl_dev; int i, num; num = config->num_events; @@ -651,7 +651,7 @@ struct mhi_controller_config *config) { struct mhi_channel_config *ch_cfg; - struct device *dev = &mhi_cntrl->mhi_dev->dev; + struct device *dev = mhi_cntrl->cntrl_dev; int i; u32 chan; @@ -1214,10 +1214,8 @@ mutex_unlock(&mhi_chan->mutex); } - read_lock_bh(&mhi_cntrl->pm_lock); while (mhi_dev->dev_wake) mhi_device_put(mhi_dev); - read_unlock_bh(&mhi_cntrl->pm_lock); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/bus/mhi/core/pm.c +++ linux-riscv-5.8-5.8.0/drivers/bus/mhi/core/pm.c @@ -686,7 +686,8 @@ return -EIO; /* Return busy if there are any pending resources */ - if (atomic_read(&mhi_cntrl->dev_wake)) + if (atomic_read(&mhi_cntrl->dev_wake) || + atomic_read(&mhi_cntrl->pending_pkts)) return -EBUSY; /* Take MHI out of M2 state */ @@ -712,7 +713,8 @@ write_lock_irq(&mhi_cntrl->pm_lock); - if (atomic_read(&mhi_cntrl->dev_wake)) { + if (atomic_read(&mhi_cntrl->dev_wake) || + atomic_read(&mhi_cntrl->pending_pkts)) { write_unlock_irq(&mhi_cntrl->pm_lock); return -EBUSY; } --- linux-riscv-5.8-5.8.0.orig/drivers/bus/mips_cdmm.c +++ linux-riscv-5.8-5.8.0/drivers/bus/mips_cdmm.c @@ -544,10 +544,8 @@ dev_set_name(&dev->dev, "cdmm%u-%u", cpu, id); ++id; ret = device_register(&dev->dev); - if (ret) { + if (ret) put_device(&dev->dev); - kfree(dev); - } } } --- linux-riscv-5.8-5.8.0.orig/drivers/bus/omap_l3_noc.c +++ linux-riscv-5.8-5.8.0/drivers/bus/omap_l3_noc.c @@ -285,7 +285,7 @@ */ l3->debug_irq = platform_get_irq(pdev, 0); ret = devm_request_irq(l3->dev, l3->debug_irq, l3_interrupt_handler, - 0x0, "l3-dbg-irq", l3); + IRQF_NO_THREAD, "l3-dbg-irq", l3); if (ret) { dev_err(l3->dev, "request_irq failed for %d\n", l3->debug_irq); @@ -294,7 +294,7 @@ l3->app_irq = platform_get_irq(pdev, 1); ret = devm_request_irq(l3->dev, l3->app_irq, l3_interrupt_handler, - 0x0, "l3-app-irq", l3); + IRQF_NO_THREAD, "l3-app-irq", l3); if (ret) dev_err(l3->dev, "request_irq failed for %d\n", l3->app_irq); --- linux-riscv-5.8-5.8.0.orig/drivers/bus/ti-sysc.c +++ linux-riscv-5.8-5.8.0/drivers/bus/ti-sysc.c @@ -227,6 +227,9 @@ u32 sysc_mask, syss_done, rstval; int syss_offset, error = 0; + if (ddata->cap->regbits->srst_shift < 0) + return 0; + syss_offset = ddata->offsets[SYSC_SYSSTATUS]; sysc_mask = BIT(ddata->cap->regbits->srst_shift); @@ -970,9 +973,15 @@ return error; } } - error = sysc_wait_softreset(ddata); - if (error) - dev_warn(ddata->dev, "OCP softreset timed out\n"); + /* + * Some modules like i2c and hdq1w have unusable reset status unless + * the module reset quirk is enabled. Skip status check on enable. + */ + if (!(ddata->cfg.quirks & SYSC_MODULE_QUIRK_ENA_RESETDONE)) { + error = sysc_wait_softreset(ddata); + if (error) + dev_warn(ddata->dev, "OCP softreset timed out\n"); + } if (ddata->cfg.quirks & SYSC_QUIRK_OPT_CLKS_IN_RESET) sysc_disable_opt_clocks(ddata); @@ -1370,20 +1379,22 @@ SYSC_QUIRK_CLKDM_NOAUTO), SYSC_QUIRK("dwc3", 0x488c0000, 0, 0x10, -ENODEV, 0x500a0200, 0xffffffff, SYSC_QUIRK_CLKDM_NOAUTO), + SYSC_QUIRK("gpmc", 0, 0, 0x10, 0x14, 0x00000060, 0xffffffff, + SYSC_QUIRK_GPMC_DEBUG), SYSC_QUIRK("hdmi", 0, 0, 0x10, -ENODEV, 0x50030200, 0xffffffff, SYSC_QUIRK_OPT_CLKS_NEEDED), SYSC_QUIRK("hdq1w", 0, 0, 0x14, 0x18, 0x00000006, 0xffffffff, - SYSC_MODULE_QUIRK_HDQ1W), + SYSC_MODULE_QUIRK_HDQ1W | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("hdq1w", 0, 0, 0x14, 0x18, 0x0000000a, 0xffffffff, - SYSC_MODULE_QUIRK_HDQ1W), + SYSC_MODULE_QUIRK_HDQ1W | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("i2c", 0, 0, 0x20, 0x10, 0x00000036, 0x000000ff, - SYSC_MODULE_QUIRK_I2C), + SYSC_MODULE_QUIRK_I2C | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("i2c", 0, 0, 0x20, 0x10, 0x0000003c, 0x000000ff, - SYSC_MODULE_QUIRK_I2C), + SYSC_MODULE_QUIRK_I2C | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("i2c", 0, 0, 0x20, 0x10, 0x00000040, 0x000000ff, - SYSC_MODULE_QUIRK_I2C), + SYSC_MODULE_QUIRK_I2C | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("i2c", 0, 0, 0x10, 0x90, 0x5040000a, 0xfffff0f0, - SYSC_MODULE_QUIRK_I2C), + SYSC_MODULE_QUIRK_I2C | SYSC_MODULE_QUIRK_ENA_RESETDONE), SYSC_QUIRK("gpu", 0x50000000, 0x14, -ENODEV, -ENODEV, 0x00010201, 0xffffffff, 0), SYSC_QUIRK("gpu", 0x50000000, 0xfe00, 0xfe10, -ENODEV, 0x40000000 , 0xffffffff, SYSC_MODULE_QUIRK_SGX), @@ -1395,6 +1406,10 @@ SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), SYSC_QUIRK("tptc", 0, 0, -ENODEV, -ENODEV, 0x40007c00, 0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), + SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, 0x14, 0x50700100, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), + SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, -ENODEV, 0x50700101, 0xffffffff, + SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), SYSC_QUIRK("usb_otg_hs", 0, 0x400, 0x404, 0x408, 0x00000050, 0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), SYSC_QUIRK("usb_otg_hs", 0, 0, 0x10, -ENODEV, 0x4ea2080d, 0xffffffff, @@ -1473,8 +1488,6 @@ SYSC_QUIRK("tpcc", 0, 0, -ENODEV, -ENODEV, 0x40014c00, 0xffffffff, 0), SYSC_QUIRK("usbhstll", 0, 0, 0x10, 0x14, 0x00000004, 0xffffffff, 0), SYSC_QUIRK("usbhstll", 0, 0, 0x10, 0x14, 0x00000008, 0xffffffff, 0), - SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, 0x14, 0x50700100, 0xffffffff, 0), - SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, -ENODEV, 0x50700101, 0xffffffff, 0), SYSC_QUIRK("venc", 0x58003000, 0, -ENODEV, -ENODEV, 0x00000002, 0xffffffff, 0), SYSC_QUIRK("vfpe", 0, 0, 0x104, -ENODEV, 0x4d001200, 0xffffffff, 0), #endif @@ -1803,6 +1816,14 @@ return; } +#ifdef CONFIG_OMAP_GPMC_DEBUG + if (ddata->cfg.quirks & SYSC_QUIRK_GPMC_DEBUG) { + ddata->cfg.quirks |= SYSC_QUIRK_NO_RESET_ON_INIT; + + return; + } +#endif + if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_I2C) { ddata->pre_reset_quirk = sysc_pre_reset_quirk_i2c; ddata->post_reset_quirk = sysc_post_reset_quirk_i2c; @@ -2878,7 +2899,7 @@ if ((ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) && (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE)) - return -EBUSY; + return -ENXIO; return 0; } @@ -3023,7 +3044,9 @@ pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); - reset_control_assert(ddata->rsts); + + if (!reset_control_status(ddata->rsts)) + reset_control_assert(ddata->rsts); unprepare: sysc_unprepare(ddata); --- linux-riscv-5.8-5.8.0.orig/drivers/cdrom/cdrom.c +++ linux-riscv-5.8-5.8.0/drivers/cdrom/cdrom.c @@ -291,7 +291,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-riscv-5.8-5.8.0.orig/drivers/char/agp/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/char/agp/Kconfig @@ -125,7 +125,7 @@ config AGP_PARISC tristate "HP Quicksilver AGP support" - depends on AGP && PARISC && 64BIT + depends on AGP && PARISC && 64BIT && IOMMU_SBA help This option gives you AGP GART support for the HP Quicksilver AGP bus adapter on HP PA-RISC machines (Ok, just on the C8000 --- linux-riscv-5.8-5.8.0.orig/drivers/char/agp/intel-gtt.c +++ linux-riscv-5.8-5.8.0/drivers/char/agp/intel-gtt.c @@ -304,8 +304,10 @@ if (intel_private.needs_dmar) { dma_addr = pci_map_page(intel_private.pcidev, page, 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); - if (pci_dma_mapping_error(intel_private.pcidev, dma_addr)) + if (pci_dma_mapping_error(intel_private.pcidev, dma_addr)) { + __free_page(page); return -EINVAL; + } intel_private.scratch_page_dma = dma_addr; } else --- linux-riscv-5.8-5.8.0.orig/drivers/char/hw_random/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/char/hw_random/Kconfig @@ -491,15 +491,15 @@ config UML_RANDOM depends on UML - tristate "Hardware random number generator" + select HW_RANDOM + tristate "UML Random Number Generator support" help This option enables UML's "hardware" random number generator. It attaches itself to the host's /dev/random, supplying as much entropy as the host has, rather than the small amount the UML gets from its - own drivers. It registers itself as a standard hardware random number - generator, major 10, minor 183, and the canonical device name is - /dev/hwrng. - The way to make use of this is to install the rng-tools package - (check your distro, or download from - http://sourceforge.net/projects/gkernel/). rngd periodically reads - /dev/hwrng and injects the entropy into /dev/random. + own drivers. It registers itself as a rng-core driver thus providing + a device which is usually called /dev/hwrng. This hardware random + number generator does feed into the kernel's random number generator + entropy pool. + + If unsure, say Y. --- linux-riscv-5.8-5.8.0.orig/drivers/char/hw_random/timeriomem-rng.c +++ linux-riscv-5.8-5.8.0/drivers/char/hw_random/timeriomem-rng.c @@ -69,7 +69,7 @@ */ if (retval > 0) usleep_range(period_us, - period_us + min(1, period_us / 100)); + period_us + max(1, period_us / 100)); *(u32 *)data = readl(priv->io_base); retval += sizeof(u32); --- linux-riscv-5.8-5.8.0.orig/drivers/char/ipmi/ipmi_si_intf.c +++ linux-riscv-5.8-5.8.0/drivers/char/ipmi/ipmi_si_intf.c @@ -1963,7 +1963,7 @@ /* Do this early so it's available for logs. */ if (!new_smi->io.dev) { pr_err("IPMI interface added with no device\n"); - rv = EIO; + rv = -EIO; goto out_err; } --- linux-riscv-5.8-5.8.0.orig/drivers/char/random.c +++ linux-riscv-5.8-5.8.0/drivers/char/random.c @@ -1277,7 +1277,6 @@ fast_mix(fast_pool); add_interrupt_bench(cycles); - this_cpu_add(net_rand_state.s1, fast_pool->pool[cycles & 3]); if (unlikely(crng_init == 0)) { if ((fast_pool->count >= 64) && @@ -1973,7 +1972,7 @@ return -EPERM; if (crng_init < 2) return -ENODATA; - crng_reseed(&primary_crng, NULL); + crng_reseed(&primary_crng, &input_pool); crng_global_init_time = jiffies - 1; return 0; default: @@ -2023,10 +2022,10 @@ if (count > INT_MAX) count = INT_MAX; - if (!(flags & GRND_INSECURE) && !crng_ready()) { + if (!(flags & GRND_INSECURE) && (crng_init == 0)) { if (flags & GRND_NONBLOCK) return -EAGAIN; - ret = wait_for_random_bytes(); + ret = wait_event_interruptible(crng_init_wait, crng_init > 0); if (unlikely(ret)) return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/eventlog/efi.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/eventlog/efi.c @@ -41,6 +41,11 @@ log_size = log_tbl->size; memunmap(log_tbl); + if (!log_size) { + pr_warn("UEFI TPM log area empty\n"); + return -EIO; + } + log_tbl = memremap(efi.tpm_log, sizeof(*log_tbl) + log_size, MEMREMAP_WB); if (!log_tbl) { --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpm-chip.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpm-chip.c @@ -386,13 +386,8 @@ chip->cdev.owner = THIS_MODULE; chip->cdevs.owner = THIS_MODULE; - chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL); - if (!chip->work_space.context_buf) { - rc = -ENOMEM; - goto out; - } - chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL); - if (!chip->work_space.session_buf) { + rc = tpm2_init_space(&chip->work_space, TPM2_SPACE_BUFFER_SIZE); + if (rc) { rc = -ENOMEM; goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpm.h +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpm.h @@ -59,6 +59,9 @@ #define TPM_TAG_RQU_COMMAND 193 +/* TPM2 specific constants. */ +#define TPM2_SPACE_BUFFER_SIZE 16384 /* 16 kB */ + struct stclear_flags_t { __be16 tag; u8 deactivated; @@ -161,8 +164,6 @@ extern struct idr dev_nums_idr; ssize_t tpm_transmit(struct tpm_chip *chip, u8 *buf, size_t bufsiz); -ssize_t tpm_transmit_cmd(struct tpm_chip *chip, struct tpm_buf *buf, - size_t min_rsp_body_length, const char *desc); int tpm_get_timeouts(struct tpm_chip *); int tpm_auto_startup(struct tpm_chip *chip); @@ -191,8 +192,6 @@ int tpm_chip_start(struct tpm_chip *chip); void tpm_chip_stop(struct tpm_chip *chip); struct tpm_chip *tpm_find_get_ops(struct tpm_chip *chip); -__must_check int tpm_try_get_ops(struct tpm_chip *chip); -void tpm_put_ops(struct tpm_chip *chip); struct tpm_chip *tpm_chip_alloc(struct device *dev, const struct tpm_class_ops *ops); @@ -228,7 +227,7 @@ int tpm2_probe(struct tpm_chip *chip); int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip); int tpm2_find_cc(struct tpm_chip *chip, u32 cc); -int tpm2_init_space(struct tpm_space *space); +int tpm2_init_space(struct tpm_space *space, unsigned int buf_size); void tpm2_del_space(struct tpm_chip *chip, struct tpm_space *space); void tpm2_flush_space(struct tpm_chip *chip); int tpm2_prepare_space(struct tpm_chip *chip, struct tpm_space *space, u8 *cmd, --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpm2-space.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpm2-space.c @@ -38,18 +38,21 @@ } } -int tpm2_init_space(struct tpm_space *space) +int tpm2_init_space(struct tpm_space *space, unsigned int buf_size) { - space->context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL); + space->context_buf = kzalloc(buf_size, GFP_KERNEL); if (!space->context_buf) return -ENOMEM; - space->session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL); + space->session_buf = kzalloc(buf_size, GFP_KERNEL); if (space->session_buf == NULL) { kfree(space->context_buf); + /* Prevent caller getting a dangling pointer. */ + space->context_buf = NULL; return -ENOMEM; } + space->buf_size = buf_size; return 0; } @@ -311,8 +314,10 @@ sizeof(space->context_tbl)); memcpy(&chip->work_space.session_tbl, &space->session_tbl, sizeof(space->session_tbl)); - memcpy(chip->work_space.context_buf, space->context_buf, PAGE_SIZE); - memcpy(chip->work_space.session_buf, space->session_buf, PAGE_SIZE); + memcpy(chip->work_space.context_buf, space->context_buf, + space->buf_size); + memcpy(chip->work_space.session_buf, space->session_buf, + space->buf_size); rc = tpm2_load_space(chip); if (rc) { @@ -492,7 +497,7 @@ continue; rc = tpm2_save_context(chip, space->context_tbl[i], - space->context_buf, PAGE_SIZE, + space->context_buf, space->buf_size, &offset); if (rc == -ENOENT) { space->context_tbl[i] = 0; @@ -509,9 +514,8 @@ continue; rc = tpm2_save_context(chip, space->session_tbl[i], - space->session_buf, PAGE_SIZE, + space->session_buf, space->buf_size, &offset); - if (rc == -ENOENT) { /* handle error saving session, just forget it */ space->session_tbl[i] = 0; @@ -557,8 +561,10 @@ sizeof(space->context_tbl)); memcpy(&space->session_tbl, &chip->work_space.session_tbl, sizeof(space->session_tbl)); - memcpy(space->context_buf, chip->work_space.context_buf, PAGE_SIZE); - memcpy(space->session_buf, chip->work_space.session_buf, PAGE_SIZE); + memcpy(space->context_buf, chip->work_space.context_buf, + space->buf_size); + memcpy(space->session_buf, chip->work_space.session_buf, + space->buf_size); return 0; out: --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpm_tis.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpm_tis.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "tpm.h" #include "tpm_tis_core.h" @@ -49,8 +50,8 @@ return container_of(data, struct tpm_tis_tcg_phy, priv); } -static bool interrupts = true; -module_param(interrupts, bool, 0444); +static int interrupts = -1; +module_param(interrupts, int, 0444); MODULE_PARM_DESC(interrupts, "Enable interrupts"); static bool itpm; @@ -63,6 +64,28 @@ MODULE_PARM_DESC(force, "Force device probe rather than using ACPI entry"); #endif +static int tpm_tis_disable_irq(const struct dmi_system_id *d) +{ + if (interrupts == -1) { + pr_notice("tpm_tis: %s detected: disabling interrupts.\n", d->ident); + interrupts = 0; + } + + return 0; +} + +static const struct dmi_system_id tpm_tis_dmi_table[] = { + { + .callback = tpm_tis_disable_irq, + .ident = "ThinkPad T490s", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T490s"), + }, + }, + {} +}; + #if defined(CONFIG_PNP) && defined(CONFIG_ACPI) static int has_hid(struct acpi_device *dev, const char *hid) { @@ -192,6 +215,8 @@ int irq = -1; int rc; + dmi_check_system(tpm_tis_dmi_table); + rc = check_acpi_tpm2(dev); if (rc) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpm_tis_core.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpm_tis_core.c @@ -125,7 +125,8 @@ if (rc < 0) return false; - if ((access & (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) == + if ((access & (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID + | TPM_ACCESS_REQUEST_USE)) == (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) { priv->locality = l; return true; @@ -134,58 +135,13 @@ return false; } -static bool locality_inactive(struct tpm_chip *chip, int l) -{ - struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev); - int rc; - u8 access; - - rc = tpm_tis_read8(priv, TPM_ACCESS(l), &access); - if (rc < 0) - return false; - - if ((access & (TPM_ACCESS_VALID | TPM_ACCESS_ACTIVE_LOCALITY)) - == TPM_ACCESS_VALID) - return true; - - return false; -} - static int release_locality(struct tpm_chip *chip, int l) { struct tpm_tis_data *priv = dev_get_drvdata(&chip->dev); - unsigned long stop, timeout; - long rc; tpm_tis_write8(priv, TPM_ACCESS(l), TPM_ACCESS_ACTIVE_LOCALITY); - stop = jiffies + chip->timeout_a; - - if (chip->flags & TPM_CHIP_FLAG_IRQ) { -again: - timeout = stop - jiffies; - if ((long)timeout <= 0) - return -1; - - rc = wait_event_interruptible_timeout(priv->int_queue, - (locality_inactive(chip, l)), - timeout); - - if (rc > 0) - return 0; - - if (rc == -ERESTARTSYS && freezing(current)) { - clear_thread_flag(TIF_SIGPENDING); - goto again; - } - } else { - do { - if (locality_inactive(chip, l)) - return 0; - tpm_msleep(TPM_TIMEOUT); - } while (time_before(jiffies, stop)); - } - return -1; + return 0; } static int request_locality(struct tpm_chip *chip, int l) @@ -740,12 +696,22 @@ const char *desc = "attempting to generate an interrupt"; u32 cap2; cap_t cap; + int ret; + /* TPM 2.0 */ if (chip->flags & TPM_CHIP_FLAG_TPM2) return tpm2_get_tpm_pt(chip, 0x100, &cap2, desc); - else - return tpm1_getcap(chip, TPM_CAP_PROP_TIS_TIMEOUT, &cap, desc, - 0); + + /* TPM 1.2 */ + ret = request_locality(chip, 0); + if (ret < 0) + return ret; + + ret = tpm1_getcap(chip, TPM_CAP_PROP_TIS_TIMEOUT, &cap, desc, 0); + + release_locality(chip, 0); + + return ret; } /* Register the IRQ and issue a command that will cause an interrupt. If an @@ -1052,11 +1018,21 @@ init_waitqueue_head(&priv->read_queue); init_waitqueue_head(&priv->int_queue); if (irq != -1) { - /* Before doing irq testing issue a command to the TPM in polling mode + /* + * Before doing irq testing issue a command to the TPM in polling mode * to make sure it works. May as well use that command to set the * proper timeouts for the driver. */ - if (tpm_get_timeouts(chip)) { + + rc = request_locality(chip, 0); + if (rc < 0) + goto out_err; + + rc = tpm_get_timeouts(chip); + + release_locality(chip, 0); + + if (rc) { dev_err(dev, "Could not get TPM timeouts and durations\n"); rc = -ENODEV; goto out_err; --- linux-riscv-5.8-5.8.0.orig/drivers/char/tpm/tpmrm-dev.c +++ linux-riscv-5.8-5.8.0/drivers/char/tpm/tpmrm-dev.c @@ -21,7 +21,7 @@ if (priv == NULL) return -ENOMEM; - rc = tpm2_init_space(&priv->space); + rc = tpm2_init_space(&priv->space, TPM2_SPACE_BUFFER_SIZE); if (rc) { kfree(priv); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/char/virtio_console.c +++ linux-riscv-5.8-5.8.0/drivers/char/virtio_console.c @@ -435,12 +435,12 @@ /* * Allocate DMA memory from ancestor. When a virtio * device is created by remoteproc, the DMA memory is - * associated with the grandparent device: - * vdev => rproc => platform-dev. + * associated with the parent device: + * virtioY => remoteprocX#vdevYbuffer. */ - if (!vdev->dev.parent || !vdev->dev.parent->parent) + buf->dev = vdev->dev.parent; + if (!buf->dev) goto free_buf; - buf->dev = vdev->dev.parent->parent; /* Increase device refcnt to avoid freeing it */ get_device(buf->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/clk/Kconfig @@ -50,7 +50,7 @@ config CLK_HSDK bool "PLL Driver for HSDK platform" depends on OF || COMPILE_TEST - depends on IOMEM + depends on HAS_IOMEM help This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs control. --- linux-riscv-5.8-5.8.0.orig/drivers/clk/actions/owl-s500.c +++ linux-riscv-5.8-5.8.0/drivers/clk/actions/owl-s500.c @@ -183,7 +183,7 @@ static OWL_GATE(hdmi_clk, "hdmi_clk", "hosc", CMU_DEVCLKEN1, 3, 0, 0); /* divider clocks */ -static OWL_DIVIDER(h_clk, "h_clk", "ahbprevdiv_clk", CMU_BUSCLK1, 12, 2, NULL, 0, 0); +static OWL_DIVIDER(h_clk, "h_clk", "ahbprediv_clk", CMU_BUSCLK1, 12, 2, NULL, 0, 0); static OWL_DIVIDER(rmii_ref_clk, "rmii_ref_clk", "ethernet_pll_clk", CMU_ETHERNETPLL, 1, 1, rmii_ref_div_table, 0, 0); /* factor clocks */ --- linux-riscv-5.8-5.8.0.orig/drivers/clk/at91/clk-main.c +++ linux-riscv-5.8-5.8.0/drivers/clk/at91/clk-main.c @@ -437,12 +437,17 @@ return -EINVAL; regmap_read(regmap, AT91_CKGR_MOR, &tmp); - tmp &= ~MOR_KEY_MASK; if (index && !(tmp & AT91_PMC_MOSCSEL)) - regmap_write(regmap, AT91_CKGR_MOR, tmp | AT91_PMC_MOSCSEL); + tmp = AT91_PMC_MOSCSEL; else if (!index && (tmp & AT91_PMC_MOSCSEL)) - regmap_write(regmap, AT91_CKGR_MOR, tmp & ~AT91_PMC_MOSCSEL); + tmp = 0; + else + return 0; + + regmap_update_bits(regmap, AT91_CKGR_MOR, + AT91_PMC_MOSCSEL | MOR_KEY_MASK, + tmp | AT91_PMC_KEY); while (!clk_sam9x5_main_ready(regmap)) cpu_relax(); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/at91/sam9x60.c +++ linux-riscv-5.8-5.8.0/drivers/clk/at91/sam9x60.c @@ -159,7 +159,6 @@ struct regmap *regmap; struct clk_hw *hw; int i; - bool bypass; i = of_property_match_string(np, "clock-names", "td_slck"); if (i < 0) @@ -194,10 +193,7 @@ if (IS_ERR(hw)) goto err_free; - bypass = of_property_read_bool(np, "atmel,osc-bypass"); - - hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, - bypass); + hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name, 0); if (IS_ERR(hw)) goto err_free; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/bcm/clk-bcm2835.c +++ linux-riscv-5.8-5.8.0/drivers/clk/bcm/clk-bcm2835.c @@ -314,6 +314,7 @@ struct device *dev; void __iomem *regs; spinlock_t regs_lock; /* spinlock for all clocks */ + unsigned int soc; /* * Real names of cprman clock parents looked up through @@ -525,6 +526,20 @@ A2W_PLL_CTRL_PRST_DISABLE; } +static u32 bcm2835_pll_get_prediv_mask(struct bcm2835_cprman *cprman, + const struct bcm2835_pll_data *data) +{ + /* + * On BCM2711 there isn't a pre-divisor available in the PLL feedback + * loop. Bits 13:14 of ANA1 (PLLA,PLLB,PLLC,PLLD) have been re-purposed + * for to for VCO RANGE bits. + */ + if (cprman->soc & SOC_BCM2711) + return 0; + + return data->ana->fb_prediv_mask; +} + static void bcm2835_pll_choose_ndiv_and_fdiv(unsigned long rate, unsigned long parent_rate, u32 *ndiv, u32 *fdiv) @@ -582,7 +597,7 @@ ndiv = (a2wctrl & A2W_PLL_CTRL_NDIV_MASK) >> A2W_PLL_CTRL_NDIV_SHIFT; pdiv = (a2wctrl & A2W_PLL_CTRL_PDIV_MASK) >> A2W_PLL_CTRL_PDIV_SHIFT; using_prediv = cprman_read(cprman, data->ana_reg_base + 4) & - data->ana->fb_prediv_mask; + bcm2835_pll_get_prediv_mask(cprman, data); if (using_prediv) { ndiv *= 2; @@ -665,6 +680,7 @@ struct bcm2835_pll *pll = container_of(hw, struct bcm2835_pll, hw); struct bcm2835_cprman *cprman = pll->cprman; const struct bcm2835_pll_data *data = pll->data; + u32 prediv_mask = bcm2835_pll_get_prediv_mask(cprman, data); bool was_using_prediv, use_fb_prediv, do_ana_setup_first; u32 ndiv, fdiv, a2w_ctl; u32 ana[4]; @@ -682,7 +698,7 @@ for (i = 3; i >= 0; i--) ana[i] = cprman_read(cprman, data->ana_reg_base + i * 4); - was_using_prediv = ana[1] & data->ana->fb_prediv_mask; + was_using_prediv = ana[1] & prediv_mask; ana[0] &= ~data->ana->mask0; ana[0] |= data->ana->set0; @@ -692,10 +708,10 @@ ana[3] |= data->ana->set3; if (was_using_prediv && !use_fb_prediv) { - ana[1] &= ~data->ana->fb_prediv_mask; + ana[1] &= ~prediv_mask; do_ana_setup_first = true; } else if (!was_using_prediv && use_fb_prediv) { - ana[1] |= data->ana->fb_prediv_mask; + ana[1] |= prediv_mask; do_ana_setup_first = false; } else { do_ana_setup_first = true; @@ -1321,8 +1337,10 @@ pll->hw.init = &init; ret = devm_clk_hw_register(cprman->dev, &pll->hw); - if (ret) + if (ret) { + kfree(pll); return NULL; + } return &pll->hw; } @@ -2238,6 +2256,7 @@ platform_set_drvdata(pdev, cprman); cprman->onecell.num = asize; + cprman->soc = pdata->soc; hws = cprman->onecell.hws; for (i = 0; i < asize; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/clk/bcm/clk-bcm63xx-gate.c +++ linux-riscv-5.8-5.8.0/drivers/clk/bcm/clk-bcm63xx-gate.c @@ -155,6 +155,7 @@ for (entry = table; entry->name; entry++) maxbit = max_t(u8, maxbit, entry->bit); + maxbit++; hw = devm_kzalloc(&pdev->dev, struct_size(hw, data.hws, maxbit), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk-ast2600.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk-ast2600.c @@ -17,7 +17,8 @@ #define ASPEED_G6_NUM_CLKS 71 -#define ASPEED_G6_SILICON_REV 0x004 +#define ASPEED_G6_SILICON_REV 0x014 +#define CHIP_REVISION_ID GENMASK(23, 16) #define ASPEED_G6_RESET_CTRL 0x040 #define ASPEED_G6_RESET_CTRL2 0x050 @@ -190,18 +191,34 @@ static struct clk_hw *ast2600_calc_apll(const char *name, u32 val) { unsigned int mult, div; + u32 chip_id = readl(scu_g6_base + ASPEED_G6_SILICON_REV); - if (val & BIT(20)) { - /* Pass through mode */ - mult = div = 1; + if (((chip_id & CHIP_REVISION_ID) >> 16) >= 2) { + if (val & BIT(24)) { + /* Pass through mode */ + mult = div = 1; + } else { + /* F = 25Mhz * [(m + 1) / (n + 1)] / (p + 1) */ + u32 m = val & 0x1fff; + u32 n = (val >> 13) & 0x3f; + u32 p = (val >> 19) & 0xf; + + mult = (m + 1); + div = (n + 1) * (p + 1); + } } else { - /* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */ - u32 m = (val >> 5) & 0x3f; - u32 od = (val >> 4) & 0x1; - u32 n = val & 0xf; - - mult = (2 - od) * (m + 2); - div = n + 1; + if (val & BIT(20)) { + /* Pass through mode */ + mult = div = 1; + } else { + /* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */ + u32 m = (val >> 5) & 0x3f; + u32 od = (val >> 4) & 0x1; + u32 n = val & 0xf; + + mult = (2 - od) * (m + 2); + div = n + 1; + } } return clk_hw_register_fixed_factor(NULL, name, "clkin", 0, mult, div); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk-divider.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk-divider.c @@ -493,8 +493,13 @@ else init.ops = &clk_divider_ops; init.flags = flags; - init.parent_names = (parent_name ? &parent_name: NULL); - init.num_parents = (parent_name ? 1 : 0); + init.parent_names = parent_name ? &parent_name : NULL; + init.parent_hws = parent_hw ? &parent_hw : NULL; + init.parent_data = parent_data; + if (parent_name || parent_hw || parent_data) + init.num_parents = 1; + else + init.num_parents = 0; /* struct clk_divider assignments */ div->reg = reg; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk-fsl-sai.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk-fsl-sai.c @@ -68,9 +68,20 @@ if (IS_ERR(hw)) return PTR_ERR(hw); + platform_set_drvdata(pdev, hw); + return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw); } +static int fsl_sai_clk_remove(struct platform_device *pdev) +{ + struct clk_hw *hw = platform_get_drvdata(pdev); + + clk_hw_unregister_composite(hw); + + return 0; +} + static const struct of_device_id of_fsl_sai_clk_ids[] = { { .compatible = "fsl,vf610-sai-clock" }, { } @@ -79,6 +90,7 @@ static struct platform_driver fsl_sai_clk_driver = { .probe = fsl_sai_clk_probe, + .remove = fsl_sai_clk_remove, .driver = { .name = "fsl-sai-clk", .of_match_table = of_fsl_sai_clk_ids, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk-s2mps11.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk-s2mps11.c @@ -195,6 +195,7 @@ return ret; err_reg: + of_node_put(s2mps11_clks[0].clk_np); while (--i >= 0) clkdev_drop(s2mps11_clks[i].lookup); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk-scmi.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk-scmi.c @@ -103,6 +103,8 @@ static int scmi_clk_ops_init(struct device *dev, struct scmi_clk *sclk) { int ret; + unsigned long min_rate, max_rate; + struct clk_init_data init = { .flags = CLK_GET_RATE_NOCACHE, .num_parents = 0, @@ -112,9 +114,23 @@ sclk->hw.init = &init; ret = devm_clk_hw_register(dev, &sclk->hw); - if (!ret) - clk_hw_set_rate_range(&sclk->hw, sclk->info->range.min_rate, - sclk->info->range.max_rate); + if (ret) + return ret; + + if (sclk->info->rate_discrete) { + int num_rates = sclk->info->list.num_rates; + + if (num_rates <= 0) + return -EINVAL; + + min_rate = sclk->info->list.rates[0]; + max_rate = sclk->info->list.rates[num_rates - 1]; + } else { + min_rate = sclk->info->range.min_rate; + max_rate = sclk->info->range.max_rate; + } + + clk_hw_set_rate_range(&sclk->hw, min_rate, max_rate); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/clk/clk.c +++ linux-riscv-5.8-5.8.0/drivers/clk/clk.c @@ -4223,20 +4223,19 @@ /* search the list of notifiers for this clk */ list_for_each_entry(cn, &clk_notifier_list, node) if (cn->clk == clk) - break; + goto found; /* if clk wasn't in the notifier list, allocate new clk_notifier */ - if (cn->clk != clk) { - cn = kzalloc(sizeof(*cn), GFP_KERNEL); - if (!cn) - goto out; + cn = kzalloc(sizeof(*cn), GFP_KERNEL); + if (!cn) + goto out; - cn->clk = clk; - srcu_init_notifier_head(&cn->notifier_head); + cn->clk = clk; + srcu_init_notifier_head(&cn->notifier_head); - list_add(&cn->node, &clk_notifier_list); - } + list_add(&cn->node, &clk_notifier_list); +found: ret = srcu_notifier_chain_register(&cn->notifier_head, nb); clk->core->notifier_count++; @@ -4261,32 +4260,28 @@ */ int clk_notifier_unregister(struct clk *clk, struct notifier_block *nb) { - struct clk_notifier *cn = NULL; - int ret = -EINVAL; + struct clk_notifier *cn; + int ret = -ENOENT; if (!clk || !nb) return -EINVAL; clk_prepare_lock(); - list_for_each_entry(cn, &clk_notifier_list, node) - if (cn->clk == clk) + list_for_each_entry(cn, &clk_notifier_list, node) { + if (cn->clk == clk) { + ret = srcu_notifier_chain_unregister(&cn->notifier_head, nb); + + clk->core->notifier_count--; + + /* XXX the notifier code should handle this better */ + if (!cn->notifier_head.head) { + srcu_cleanup_notifier_head(&cn->notifier_head); + list_del(&cn->node); + kfree(cn); + } break; - - if (cn->clk == clk) { - ret = srcu_notifier_chain_unregister(&cn->notifier_head, nb); - - clk->core->notifier_count--; - - /* XXX the notifier code should handle this better */ - if (!cn->notifier_head.head) { - srcu_cleanup_notifier_head(&cn->notifier_head); - list_del(&cn->node); - kfree(cn); } - - } else { - ret = -ENOENT; } clk_prepare_unlock(); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/davinci/pll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/davinci/pll.c @@ -491,7 +491,7 @@ parent_name = postdiv_name; } - pllen = kzalloc(sizeof(*pllout), GFP_KERNEL); + pllen = kzalloc(sizeof(*pllen), GFP_KERNEL); if (!pllen) { ret = -ENOMEM; goto err_unregister_postdiv; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/imx/clk-imx8mq.c +++ linux-riscv-5.8-5.8.0/drivers/clk/imx/clk-imx8mq.c @@ -157,10 +157,10 @@ "audio_pll2_out", "sys1_pll_266m", "sys3_pll_out", "sys1_pll_100m", }; static const char * const imx8mq_usdhc1_sels[] = {"osc_25m", "sys1_pll_400m", "sys1_pll_800m", "sys2_pll_500m", - "audio_pll2_out", "sys1_pll_266m", "sys3_pll_out", "sys1_pll_100m", }; + "sys3_pll_out", "sys1_pll_266m", "audio_pll2_out", "sys1_pll_100m", }; static const char * const imx8mq_usdhc2_sels[] = {"osc_25m", "sys1_pll_400m", "sys1_pll_800m", "sys2_pll_500m", - "audio_pll2_out", "sys1_pll_266m", "sys3_pll_out", "sys1_pll_100m", }; + "sys3_pll_out", "sys1_pll_266m", "audio_pll2_out", "sys1_pll_100m", }; static const char * const imx8mq_i2c1_sels[] = {"osc_25m", "sys1_pll_160m", "sys2_pll_50m", "sys3_pll_out", "audio_pll1_out", "video_pll1_out", "audio_pll2_out", "sys1_pll_133m", }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/ingenic/cgu.c +++ linux-riscv-5.8-5.8.0/drivers/clk/ingenic/cgu.c @@ -397,15 +397,21 @@ ingenic_clk_calc_hw_div(const struct ingenic_cgu_clk_info *clk_info, unsigned int div) { - unsigned int i; + unsigned int i, best_i = 0, best = (unsigned int)-1; for (i = 0; i < (1 << clk_info->div.bits) && clk_info->div.div_table[i]; i++) { - if (clk_info->div.div_table[i] >= div) - return i; + if (clk_info->div.div_table[i] >= div && + clk_info->div.div_table[i] < best) { + best = clk_info->div.div_table[i]; + best_i = i; + + if (div == best) + break; + } } - return i - 1; + return best_i; } static unsigned --- linux-riscv-5.8-5.8.0.orig/drivers/clk/keystone/sci-clk.c +++ linux-riscv-5.8-5.8.0/drivers/clk/keystone/sci-clk.c @@ -522,7 +522,7 @@ np = of_find_node_with_property(np, *clk_name); if (!np) { clk_name++; - break; + continue; } if (!of_device_is_available(np)) --- linux-riscv-5.8-5.8.0.orig/drivers/clk/mediatek/clk-mt6779.c +++ linux-riscv-5.8-5.8.0/drivers/clk/mediatek/clk-mt6779.c @@ -919,6 +919,8 @@ "pwm_sel", 19), GATE_INFRA0(CLK_INFRA_PWM, "infra_pwm", "pwm_sel", 21), + GATE_INFRA0(CLK_INFRA_UART0, "infra_uart0", + "uart_sel", 22), GATE_INFRA0(CLK_INFRA_UART1, "infra_uart1", "uart_sel", 23), GATE_INFRA0(CLK_INFRA_UART2, "infra_uart2", --- linux-riscv-5.8-5.8.0.orig/drivers/clk/meson/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/clk/meson/Kconfig @@ -103,6 +103,7 @@ select COMMON_CLK_MESON_AO_CLKC select COMMON_CLK_MESON_EE_CLKC select COMMON_CLK_MESON_CPU_DYNDIV + select COMMON_CLK_MESON_VID_PLL_DIV select MFD_SYSCON help Support for the clock controller on Amlogic S905D2, S905X2 and S905Y2 --- linux-riscv-5.8-5.8.0.orig/drivers/clk/meson/axg-audio.c +++ linux-riscv-5.8-5.8.0/drivers/clk/meson/axg-audio.c @@ -1209,12 +1209,7 @@ }; -/* Convenience table to populate regmap in .probe() - * Note that this table is shared between both AXG and G12A, - * with spdifout_b clocks being exclusive to G12A. Since those - * clocks are not declared within the AXG onecell table, we do not - * feel the need to have separate AXG/G12A regmap tables. - */ +/* Convenience table to populate regmap in .probe(). */ static struct clk_regmap *const axg_clk_regmaps[] = { &ddr_arb, &pdm, @@ -1236,6 +1231,130 @@ &spdifout, &resample, &power_detect, + &mst_a_mclk_sel, + &mst_b_mclk_sel, + &mst_c_mclk_sel, + &mst_d_mclk_sel, + &mst_e_mclk_sel, + &mst_f_mclk_sel, + &mst_a_mclk_div, + &mst_b_mclk_div, + &mst_c_mclk_div, + &mst_d_mclk_div, + &mst_e_mclk_div, + &mst_f_mclk_div, + &mst_a_mclk, + &mst_b_mclk, + &mst_c_mclk, + &mst_d_mclk, + &mst_e_mclk, + &mst_f_mclk, + &spdifout_clk_sel, + &spdifout_clk_div, + &spdifout_clk, + &spdifin_clk_sel, + &spdifin_clk_div, + &spdifin_clk, + &pdm_dclk_sel, + &pdm_dclk_div, + &pdm_dclk, + &pdm_sysclk_sel, + &pdm_sysclk_div, + &pdm_sysclk, + &mst_a_sclk_pre_en, + &mst_b_sclk_pre_en, + &mst_c_sclk_pre_en, + &mst_d_sclk_pre_en, + &mst_e_sclk_pre_en, + &mst_f_sclk_pre_en, + &mst_a_sclk_div, + &mst_b_sclk_div, + &mst_c_sclk_div, + &mst_d_sclk_div, + &mst_e_sclk_div, + &mst_f_sclk_div, + &mst_a_sclk_post_en, + &mst_b_sclk_post_en, + &mst_c_sclk_post_en, + &mst_d_sclk_post_en, + &mst_e_sclk_post_en, + &mst_f_sclk_post_en, + &mst_a_sclk, + &mst_b_sclk, + &mst_c_sclk, + &mst_d_sclk, + &mst_e_sclk, + &mst_f_sclk, + &mst_a_lrclk_div, + &mst_b_lrclk_div, + &mst_c_lrclk_div, + &mst_d_lrclk_div, + &mst_e_lrclk_div, + &mst_f_lrclk_div, + &mst_a_lrclk, + &mst_b_lrclk, + &mst_c_lrclk, + &mst_d_lrclk, + &mst_e_lrclk, + &mst_f_lrclk, + &tdmin_a_sclk_sel, + &tdmin_b_sclk_sel, + &tdmin_c_sclk_sel, + &tdmin_lb_sclk_sel, + &tdmout_a_sclk_sel, + &tdmout_b_sclk_sel, + &tdmout_c_sclk_sel, + &tdmin_a_sclk_pre_en, + &tdmin_b_sclk_pre_en, + &tdmin_c_sclk_pre_en, + &tdmin_lb_sclk_pre_en, + &tdmout_a_sclk_pre_en, + &tdmout_b_sclk_pre_en, + &tdmout_c_sclk_pre_en, + &tdmin_a_sclk_post_en, + &tdmin_b_sclk_post_en, + &tdmin_c_sclk_post_en, + &tdmin_lb_sclk_post_en, + &tdmout_a_sclk_post_en, + &tdmout_b_sclk_post_en, + &tdmout_c_sclk_post_en, + &tdmin_a_sclk, + &tdmin_b_sclk, + &tdmin_c_sclk, + &tdmin_lb_sclk, + &tdmout_a_sclk, + &tdmout_b_sclk, + &tdmout_c_sclk, + &tdmin_a_lrclk, + &tdmin_b_lrclk, + &tdmin_c_lrclk, + &tdmin_lb_lrclk, + &tdmout_a_lrclk, + &tdmout_b_lrclk, + &tdmout_c_lrclk, +}; + +static struct clk_regmap *const g12a_clk_regmaps[] = { + &ddr_arb, + &pdm, + &tdmin_a, + &tdmin_b, + &tdmin_c, + &tdmin_lb, + &tdmout_a, + &tdmout_b, + &tdmout_c, + &frddr_a, + &frddr_b, + &frddr_c, + &toddr_a, + &toddr_b, + &toddr_c, + &loopback, + &spdifin, + &spdifout, + &resample, + &power_detect, &spdifout_b, &mst_a_mclk_sel, &mst_b_mclk_sel, @@ -1713,8 +1832,8 @@ }; static const struct audioclk_data g12a_audioclk_data = { - .regmap_clks = axg_clk_regmaps, - .regmap_clk_num = ARRAY_SIZE(axg_clk_regmaps), + .regmap_clks = g12a_clk_regmaps, + .regmap_clk_num = ARRAY_SIZE(g12a_clk_regmaps), .hw_onecell_data = &g12a_audio_hw_onecell_data, .reset_offset = AUDIO_SW_RESET, .reset_num = 26, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/meson/clk-pll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/meson/clk-pll.c @@ -365,13 +365,14 @@ { struct clk_regmap *clk = to_clk_regmap(hw); struct meson_clk_pll_data *pll = meson_clk_pll_data(clk); - unsigned int enabled, m, n, frac = 0, ret; + unsigned int enabled, m, n, frac = 0; unsigned long old_rate; + int ret; if (parent_rate == 0 || rate == 0) return -EINVAL; - old_rate = rate; + old_rate = clk_hw_get_rate(hw); ret = meson_clk_get_pll_settings(rate, parent_rate, &m, &n, pll); if (ret) @@ -393,7 +394,8 @@ if (!enabled) return 0; - if (meson_clk_pll_enable(hw)) { + ret = meson_clk_pll_enable(hw); + if (ret) { pr_warn("%s: pll did not lock, trying to restore old rate %lu\n", __func__, old_rate); /* @@ -405,7 +407,7 @@ meson_clk_pll_set_rate(hw, old_rate, parent_rate); } - return 0; + return ret; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/clk/meson/g12a.c +++ linux-riscv-5.8-5.8.0/drivers/clk/meson/g12a.c @@ -298,6 +298,17 @@ &g12a_fclk_div2_div.hw }, .num_parents = 1, + /* + * Similar to fclk_div3, it seems that this clock is used by + * the resident firmware and is required by the platform to + * operate correctly. + * Until the following condition are met, we need this clock to + * be marked as critical: + * a) Mark the clock used by a firmware resource, if possible + * b) CCF has a clock hand-off mechanism to make the sure the + * clock stays on until the proper driver comes along + */ + .flags = CLK_IS_CRITICAL, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/mmp/clk-audio.c +++ linux-riscv-5.8-5.8.0/drivers/clk/mmp/clk-audio.c @@ -392,7 +392,8 @@ return 0; } -static int __maybe_unused mmp2_audio_clk_suspend(struct device *dev) +#ifdef CONFIG_PM +static int mmp2_audio_clk_suspend(struct device *dev) { struct mmp2_audio_clk *priv = dev_get_drvdata(dev); @@ -404,7 +405,7 @@ return 0; } -static int __maybe_unused mmp2_audio_clk_resume(struct device *dev) +static int mmp2_audio_clk_resume(struct device *dev) { struct mmp2_audio_clk *priv = dev_get_drvdata(dev); @@ -415,6 +416,7 @@ return 0; } +#endif static const struct dev_pm_ops mmp2_audio_clk_pm_ops = { SET_RUNTIME_PM_OPS(mmp2_audio_clk_suspend, mmp2_audio_clk_resume, NULL) --- linux-riscv-5.8-5.8.0.orig/drivers/clk/mvebu/armada-37xx-xtal.c +++ linux-riscv-5.8-5.8.0/drivers/clk/mvebu/armada-37xx-xtal.c @@ -13,8 +13,8 @@ #include #include -#define NB_GPIO1_LATCH 0xC -#define XTAL_MODE BIT(31) +#define NB_GPIO1_LATCH 0x8 +#define XTAL_MODE BIT(9) static int armada_3700_xtal_clock_probe(struct platform_device *pdev) { --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/clk-alpha-pll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/clk-alpha-pll.c @@ -56,7 +56,6 @@ #define PLL_STATUS(p) ((p)->offset + (p)->regs[PLL_OFF_STATUS]) #define PLL_OPMODE(p) ((p)->offset + (p)->regs[PLL_OFF_OPMODE]) #define PLL_FRAC(p) ((p)->offset + (p)->regs[PLL_OFF_FRAC]) -#define PLL_CAL_VAL(p) ((p)->offset + (p)->regs[PLL_OFF_CAL_VAL]) const u8 clk_alpha_pll_regs[][PLL_OFF_MAX_REGS] = { [CLK_ALPHA_PLL_TYPE_DEFAULT] = { @@ -115,7 +114,6 @@ [PLL_OFF_STATUS] = 0x30, [PLL_OFF_OPMODE] = 0x38, [PLL_OFF_ALPHA_VAL] = 0x40, - [PLL_OFF_CAL_VAL] = 0x44, }, [CLK_ALPHA_PLL_TYPE_LUCID] = { [PLL_OFF_L_VAL] = 0x04, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-msm8998.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-msm8998.c @@ -135,7 +135,7 @@ static struct clk_alpha_pll gpll0 = { .offset = 0x0, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .vco_table = fabia_vco, .num_vco = ARRAY_SIZE(fabia_vco), .clkr = { @@ -145,58 +145,58 @@ .name = "gpll0", .parent_names = (const char *[]){ "xo" }, .num_parents = 1, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_fabia_ops, } }, }; static struct clk_alpha_pll_postdiv gpll0_out_even = { .offset = 0x0, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_even", .parent_names = (const char *[]){ "gpll0" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll0_out_main = { .offset = 0x0, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_main", .parent_names = (const char *[]){ "gpll0" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll0_out_odd = { .offset = 0x0, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_odd", .parent_names = (const char *[]){ "gpll0" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll0_out_test = { .offset = 0x0, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_test", .parent_names = (const char *[]){ "gpll0" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll gpll1 = { .offset = 0x1000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .vco_table = fabia_vco, .num_vco = ARRAY_SIZE(fabia_vco), .clkr = { @@ -206,58 +206,58 @@ .name = "gpll1", .parent_names = (const char *[]){ "xo" }, .num_parents = 1, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_fabia_ops, } }, }; static struct clk_alpha_pll_postdiv gpll1_out_even = { .offset = 0x1000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll1_out_even", .parent_names = (const char *[]){ "gpll1" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll1_out_main = { .offset = 0x1000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll1_out_main", .parent_names = (const char *[]){ "gpll1" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll1_out_odd = { .offset = 0x1000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll1_out_odd", .parent_names = (const char *[]){ "gpll1" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll1_out_test = { .offset = 0x1000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll1_out_test", .parent_names = (const char *[]){ "gpll1" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll gpll2 = { .offset = 0x2000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .vco_table = fabia_vco, .num_vco = ARRAY_SIZE(fabia_vco), .clkr = { @@ -267,58 +267,58 @@ .name = "gpll2", .parent_names = (const char *[]){ "xo" }, .num_parents = 1, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_fabia_ops, } }, }; static struct clk_alpha_pll_postdiv gpll2_out_even = { .offset = 0x2000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll2_out_even", .parent_names = (const char *[]){ "gpll2" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll2_out_main = { .offset = 0x2000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll2_out_main", .parent_names = (const char *[]){ "gpll2" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll2_out_odd = { .offset = 0x2000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll2_out_odd", .parent_names = (const char *[]){ "gpll2" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll2_out_test = { .offset = 0x2000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll2_out_test", .parent_names = (const char *[]){ "gpll2" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll gpll3 = { .offset = 0x3000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .vco_table = fabia_vco, .num_vco = ARRAY_SIZE(fabia_vco), .clkr = { @@ -328,58 +328,58 @@ .name = "gpll3", .parent_names = (const char *[]){ "xo" }, .num_parents = 1, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_fabia_ops, } }, }; static struct clk_alpha_pll_postdiv gpll3_out_even = { .offset = 0x3000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll3_out_even", .parent_names = (const char *[]){ "gpll3" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll3_out_main = { .offset = 0x3000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll3_out_main", .parent_names = (const char *[]){ "gpll3" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll3_out_odd = { .offset = 0x3000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll3_out_odd", .parent_names = (const char *[]){ "gpll3" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll3_out_test = { .offset = 0x3000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll3_out_test", .parent_names = (const char *[]){ "gpll3" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll gpll4 = { .offset = 0x77000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .vco_table = fabia_vco, .num_vco = ARRAY_SIZE(fabia_vco), .clkr = { @@ -389,52 +389,52 @@ .name = "gpll4", .parent_names = (const char *[]){ "xo" }, .num_parents = 1, - .ops = &clk_alpha_pll_ops, + .ops = &clk_alpha_pll_fixed_fabia_ops, } }, }; static struct clk_alpha_pll_postdiv gpll4_out_even = { .offset = 0x77000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll4_out_even", .parent_names = (const char *[]){ "gpll4" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll4_out_main = { .offset = 0x77000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll4_out_main", .parent_names = (const char *[]){ "gpll4" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll4_out_odd = { .offset = 0x77000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll4_out_odd", .parent_names = (const char *[]){ "gpll4" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; static struct clk_alpha_pll_postdiv gpll4_out_test = { .offset = 0x77000, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll4_out_test", .parent_names = (const char *[]){ "gpll4" }, .num_parents = 1, - .ops = &clk_alpha_pll_postdiv_ops, + .ops = &clk_alpha_pll_postdiv_fabia_ops, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-sc7180.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-sc7180.c @@ -620,7 +620,7 @@ .name = "gcc_sdcc1_apps_clk_src", .parent_data = gcc_parent_data_1, .num_parents = 5, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -666,7 +666,7 @@ .name = "gcc_sdcc2_apps_clk_src", .parent_data = gcc_parent_data_5, .num_parents = 5, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -1061,7 +1061,7 @@ .hw = &gpll0.clkr.hw, }, .num_parents = 1, - .ops = &clk_branch2_ops, + .ops = &clk_branch2_aon_ops, }, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-sdm660.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-sdm660.c @@ -666,7 +666,7 @@ .cmd_rcgr = 0x48044, .mnd_width = 0, .hid_width = 5, - .parent_map = gcc_parent_map_xo_gpll0_gpll0_early_div, + .parent_map = gcc_parent_map_xo_gpll0, .freq_tbl = ftbl_hmss_rbcpr_clk_src, .clkr.hw.init = &(struct clk_init_data){ .name = "hmss_rbcpr_clk_src", @@ -1715,6 +1715,9 @@ static struct clk_branch gcc_mss_mnoc_bimc_axi_clk = { .halt_reg = 0x8a004, + .halt_check = BRANCH_HALT, + .hwcg_reg = 0x8a004, + .hwcg_bit = 1, .clkr = { .enable_reg = 0x8a004, .enable_mask = BIT(0), --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-sdm845.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-sdm845.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright (c) 2018, The Linux Foundation. All rights reserved. + * Copyright (c) 2018, 2020, The Linux Foundation. All rights reserved. */ #include @@ -1344,7 +1344,7 @@ "gpll0", }, .num_parents = 1, - .ops = &clk_branch2_ops, + .ops = &clk_branch2_aon_ops, }, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-sm8150.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-sm8150.c @@ -1617,6 +1617,7 @@ }; static struct clk_branch gcc_gpu_gpll0_clk_src = { + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52004, .enable_mask = BIT(15), @@ -1632,13 +1633,14 @@ }; static struct clk_branch gcc_gpu_gpll0_div_clk_src = { + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52004, .enable_mask = BIT(16), .hw.init = &(struct clk_init_data){ .name = "gcc_gpu_gpll0_div_clk_src", .parent_hws = (const struct clk_hw *[]){ - &gcc_gpu_gpll0_clk_src.clkr.hw }, + &gpll0_out_even.clkr.hw }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, .ops = &clk_branch2_ops, @@ -1729,6 +1731,7 @@ }; static struct clk_branch gcc_npu_gpll0_clk_src = { + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52004, .enable_mask = BIT(18), @@ -1744,13 +1747,14 @@ }; static struct clk_branch gcc_npu_gpll0_div_clk_src = { + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52004, .enable_mask = BIT(19), .hw.init = &(struct clk_init_data){ .name = "gcc_npu_gpll0_div_clk_src", .parent_hws = (const struct clk_hw *[]){ - &gcc_npu_gpll0_clk_src.clkr.hw }, + &gpll0_out_even.clkr.hw }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, .ops = &clk_branch2_ops, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gcc-sm8250.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gcc-sm8250.c @@ -722,7 +722,7 @@ .name = "gcc_sdcc2_apps_clk_src", .parent_data = gcc_parent_data_4, .num_parents = 5, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -745,7 +745,7 @@ .name = "gcc_sdcc4_apps_clk_src", .parent_data = gcc_parent_data_0, .num_parents = 3, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gdsc.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gdsc.c @@ -181,7 +181,10 @@ static inline void gdsc_force_mem_on(struct gdsc *sc) { int i; - u32 mask = RETAIN_MEM | RETAIN_PERIPH; + u32 mask = RETAIN_MEM; + + if (!(sc->flags & NO_RET_PERIPH)) + mask |= RETAIN_PERIPH; for (i = 0; i < sc->cxc_count; i++) regmap_update_bits(sc->regmap, sc->cxcs[i], mask, mask); @@ -190,7 +193,10 @@ static inline void gdsc_clear_mem_on(struct gdsc *sc) { int i; - u32 mask = RETAIN_MEM | RETAIN_PERIPH; + u32 mask = RETAIN_MEM; + + if (!(sc->flags & NO_RET_PERIPH)) + mask |= RETAIN_PERIPH; for (i = 0; i < sc->cxc_count; i++) regmap_update_bits(sc->regmap, sc->cxcs[i], mask, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gdsc.h +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gdsc.h @@ -42,7 +42,7 @@ #define PWRSTS_ON BIT(2) #define PWRSTS_OFF_ON (PWRSTS_OFF | PWRSTS_ON) #define PWRSTS_RET_ON (PWRSTS_RET | PWRSTS_ON) - const u8 flags; + const u16 flags; #define VOTABLE BIT(0) #define CLAMP_IO BIT(1) #define HW_CTRL BIT(2) @@ -50,6 +50,7 @@ #define AON_RESET BIT(4) #define POLL_CFG_GDSCR BIT(5) #define ALWAYS_ON BIT(6) +#define NO_RET_PERIPH BIT(8) struct reset_controller_dev *rcdev; unsigned int *resets; unsigned int reset_count; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/qcom/gpucc-msm8998.c +++ linux-riscv-5.8-5.8.0/drivers/clk/qcom/gpucc-msm8998.c @@ -253,12 +253,16 @@ static struct gdsc gpu_gx_gdsc = { .gdscr = 0x1094, .clamp_io_ctrl = 0x130, + .resets = (unsigned int []){ GPU_GX_BCR }, + .reset_count = 1, + .cxcs = (unsigned int []){ 0x1098 }, + .cxc_count = 1, .pd = { .name = "gpu_gx", }, .parent = &gpu_cx_gdsc.pd, - .pwrsts = PWRSTS_OFF_ON, - .flags = CLAMP_IO | AON_RESET, + .pwrsts = PWRSTS_OFF_ON | PWRSTS_RET, + .flags = CLAMP_IO | SW_RESET | AON_RESET | NO_RET_PERIPH, }; static struct clk_regmap *gpucc_msm8998_clocks[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/clk/renesas/r9a06g032-clocks.c +++ linux-riscv-5.8-5.8.0/drivers/clk/renesas/r9a06g032-clocks.c @@ -55,7 +55,7 @@ u16 sel, g1, r1, g2, r2; } dual; }; -} __packed; +}; #define I_GATE(_clk, _rst, _rdy, _midle, _scon, _mirack, _mistat) \ { .gate = _clk, .reset = _rst, \ --- linux-riscv-5.8-5.8.0.orig/drivers/clk/rockchip/clk-half-divider.c +++ linux-riscv-5.8-5.8.0/drivers/clk/rockchip/clk-half-divider.c @@ -166,7 +166,7 @@ unsigned long flags, spinlock_t *lock) { - struct clk *clk; + struct clk *clk = ERR_PTR(-ENOMEM); struct clk_mux *mux = NULL; struct clk_gate *gate = NULL; struct clk_divider *div = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/rockchip/clk-rk3228.c +++ linux-riscv-5.8-5.8.0/drivers/clk/rockchip/clk-rk3228.c @@ -137,7 +137,7 @@ PNAME(mux_hdmiphy_p) = { "hdmiphy_phy", "xin24m" }; PNAME(mux_aclk_cpu_src_p) = { "cpll_aclk_cpu", "gpll_aclk_cpu", "hdmiphy_aclk_cpu" }; -PNAME(mux_pll_src_4plls_p) = { "cpll", "gpll", "hdmiphy" "usb480m" }; +PNAME(mux_pll_src_4plls_p) = { "cpll", "gpll", "hdmiphy", "usb480m" }; PNAME(mux_pll_src_3plls_p) = { "cpll", "gpll", "hdmiphy" }; PNAME(mux_pll_src_2plls_p) = { "cpll", "gpll" }; PNAME(mux_sclk_hdmi_cec_p) = { "cpll", "gpll", "xin24m" }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/samsung/clk-exynos4.c +++ linux-riscv-5.8-5.8.0/drivers/clk/samsung/clk-exynos4.c @@ -927,7 +927,7 @@ GATE(CLK_PCIE, "pcie", "aclk133", GATE_IP_FSYS, 14, 0, 0), GATE(CLK_SMMU_PCIE, "smmu_pcie", "aclk133", GATE_IP_FSYS, 18, 0, 0), GATE(CLK_MODEMIF, "modemif", "aclk100", GATE_IP_PERIL, 28, 0, 0), - GATE(CLK_CHIPID, "chipid", "aclk100", E4210_GATE_IP_PERIR, 0, 0, 0), + GATE(CLK_CHIPID, "chipid", "aclk100", E4210_GATE_IP_PERIR, 0, CLK_IGNORE_UNUSED, 0), GATE(CLK_SYSREG, "sysreg", "aclk100", E4210_GATE_IP_PERIR, 0, CLK_IGNORE_UNUSED, 0), GATE(CLK_HDMI_CEC, "hdmi_cec", "aclk100", E4210_GATE_IP_PERIR, 11, 0, @@ -969,7 +969,7 @@ 0), GATE(CLK_TSADC, "tsadc", "aclk133", E4X12_GATE_BUS_FSYS1, 16, 0, 0), GATE(CLK_MIPI_HSI, "mipi_hsi", "aclk133", GATE_IP_FSYS, 10, 0, 0), - GATE(CLK_CHIPID, "chipid", "aclk100", E4X12_GATE_IP_PERIR, 0, 0, 0), + GATE(CLK_CHIPID, "chipid", "aclk100", E4X12_GATE_IP_PERIR, 0, CLK_IGNORE_UNUSED, 0), GATE(CLK_SYSREG, "sysreg", "aclk100", E4X12_GATE_IP_PERIR, 1, CLK_IGNORE_UNUSED, 0), GATE(CLK_HDMI_CEC, "hdmi_cec", "aclk100", E4X12_GATE_IP_PERIR, 11, 0, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/samsung/clk-exynos5420.c +++ linux-riscv-5.8-5.8.0/drivers/clk/samsung/clk-exynos5420.c @@ -1655,6 +1655,11 @@ * main G3D clock enablement status. */ clk_prepare_enable(__clk_lookup("mout_sw_aclk_g3d")); + /* + * Keep top BPLL mux enabled permanently to ensure that DRAM operates + * properly. + */ + clk_prepare_enable(__clk_lookup("mout_bpll")); samsung_clk_of_add_provider(np, ctx); } --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/Kconfig @@ -8,12 +8,12 @@ if CLK_SIFIVE -config CLK_SIFIVE_FU540_PRCI - bool "PRCI driver for SiFive FU540 SoCs" +config CLK_SIFIVE_PRCI + bool "PRCI driver for SiFive SoCs" select CLK_ANALOGBITS_WRPLL_CLN28HPC help Supports the Power Reset Clock interface (PRCI) IP block found in - FU540 SoCs. If this kernel is meant to run on a SiFive FU540 SoC, - enable this driver. + FU540/FU740 SoCs. If this kernel is meant to run on a SiFive FU540/ + FU740 SoCs, enable this driver. endif --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/Makefile +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/Makefile @@ -1,2 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-$(CONFIG_CLK_SIFIVE_FU540_PRCI) += fu540-prci.o +obj-$(CONFIG_CLK_SIFIVE_PRCI) += sifive-prci.o fu540-prci.o fu740-prci.o --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/fu540-prci.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/fu540-prci.c @@ -1,17 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2018-2019 SiFive, Inc. - * Wesley Terpstra - * Paul Walmsley - * - * 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. + * Copyright (C) 2018-2019 Wesley Terpstra + * Copyright (C) 2018-2019 Paul Walmsley + * Copyright (C) 2020 Zong Li * * The FU540 PRCI implements clock and reset control for the SiFive * FU540-C000 chip. This driver assumes that it has sole control @@ -24,464 +16,53 @@ * - SiFive FU540-C000 manual v1p0, Chapter 7 "Clocking and Reset" */ -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include - -/* - * EXPECTED_CLK_PARENT_COUNT: how many parent clocks this driver expects: - * hfclk and rtcclk - */ -#define EXPECTED_CLK_PARENT_COUNT 2 -/* - * Register offsets and bitmasks - */ +#include -/* COREPLLCFG0 */ -#define PRCI_COREPLLCFG0_OFFSET 0x4 -# define PRCI_COREPLLCFG0_DIVR_SHIFT 0 -# define PRCI_COREPLLCFG0_DIVR_MASK (0x3f << PRCI_COREPLLCFG0_DIVR_SHIFT) -# define PRCI_COREPLLCFG0_DIVF_SHIFT 6 -# define PRCI_COREPLLCFG0_DIVF_MASK (0x1ff << PRCI_COREPLLCFG0_DIVF_SHIFT) -# define PRCI_COREPLLCFG0_DIVQ_SHIFT 15 -# define PRCI_COREPLLCFG0_DIVQ_MASK (0x7 << PRCI_COREPLLCFG0_DIVQ_SHIFT) -# define PRCI_COREPLLCFG0_RANGE_SHIFT 18 -# define PRCI_COREPLLCFG0_RANGE_MASK (0x7 << PRCI_COREPLLCFG0_RANGE_SHIFT) -# define PRCI_COREPLLCFG0_BYPASS_SHIFT 24 -# define PRCI_COREPLLCFG0_BYPASS_MASK (0x1 << PRCI_COREPLLCFG0_BYPASS_SHIFT) -# define PRCI_COREPLLCFG0_FSE_SHIFT 25 -# define PRCI_COREPLLCFG0_FSE_MASK (0x1 << PRCI_COREPLLCFG0_FSE_SHIFT) -# define PRCI_COREPLLCFG0_LOCK_SHIFT 31 -# define PRCI_COREPLLCFG0_LOCK_MASK (0x1 << PRCI_COREPLLCFG0_LOCK_SHIFT) - -/* DDRPLLCFG0 */ -#define PRCI_DDRPLLCFG0_OFFSET 0xc -# define PRCI_DDRPLLCFG0_DIVR_SHIFT 0 -# define PRCI_DDRPLLCFG0_DIVR_MASK (0x3f << PRCI_DDRPLLCFG0_DIVR_SHIFT) -# define PRCI_DDRPLLCFG0_DIVF_SHIFT 6 -# define PRCI_DDRPLLCFG0_DIVF_MASK (0x1ff << PRCI_DDRPLLCFG0_DIVF_SHIFT) -# define PRCI_DDRPLLCFG0_DIVQ_SHIFT 15 -# define PRCI_DDRPLLCFG0_DIVQ_MASK (0x7 << PRCI_DDRPLLCFG0_DIVQ_SHIFT) -# define PRCI_DDRPLLCFG0_RANGE_SHIFT 18 -# define PRCI_DDRPLLCFG0_RANGE_MASK (0x7 << PRCI_DDRPLLCFG0_RANGE_SHIFT) -# define PRCI_DDRPLLCFG0_BYPASS_SHIFT 24 -# define PRCI_DDRPLLCFG0_BYPASS_MASK (0x1 << PRCI_DDRPLLCFG0_BYPASS_SHIFT) -# define PRCI_DDRPLLCFG0_FSE_SHIFT 25 -# define PRCI_DDRPLLCFG0_FSE_MASK (0x1 << PRCI_DDRPLLCFG0_FSE_SHIFT) -# define PRCI_DDRPLLCFG0_LOCK_SHIFT 31 -# define PRCI_DDRPLLCFG0_LOCK_MASK (0x1 << PRCI_DDRPLLCFG0_LOCK_SHIFT) - -/* DDRPLLCFG1 */ -#define PRCI_DDRPLLCFG1_OFFSET 0x10 -# define PRCI_DDRPLLCFG1_CKE_SHIFT 24 -# define PRCI_DDRPLLCFG1_CKE_MASK (0x1 << PRCI_DDRPLLCFG1_CKE_SHIFT) - -/* GEMGXLPLLCFG0 */ -#define PRCI_GEMGXLPLLCFG0_OFFSET 0x1c -# define PRCI_GEMGXLPLLCFG0_DIVR_SHIFT 0 -# define PRCI_GEMGXLPLLCFG0_DIVR_MASK (0x3f << PRCI_GEMGXLPLLCFG0_DIVR_SHIFT) -# define PRCI_GEMGXLPLLCFG0_DIVF_SHIFT 6 -# define PRCI_GEMGXLPLLCFG0_DIVF_MASK (0x1ff << PRCI_GEMGXLPLLCFG0_DIVF_SHIFT) -# define PRCI_GEMGXLPLLCFG0_DIVQ_SHIFT 15 -# define PRCI_GEMGXLPLLCFG0_DIVQ_MASK (0x7 << PRCI_GEMGXLPLLCFG0_DIVQ_SHIFT) -# define PRCI_GEMGXLPLLCFG0_RANGE_SHIFT 18 -# define PRCI_GEMGXLPLLCFG0_RANGE_MASK (0x7 << PRCI_GEMGXLPLLCFG0_RANGE_SHIFT) -# define PRCI_GEMGXLPLLCFG0_BYPASS_SHIFT 24 -# define PRCI_GEMGXLPLLCFG0_BYPASS_MASK (0x1 << PRCI_GEMGXLPLLCFG0_BYPASS_SHIFT) -# define PRCI_GEMGXLPLLCFG0_FSE_SHIFT 25 -# define PRCI_GEMGXLPLLCFG0_FSE_MASK (0x1 << PRCI_GEMGXLPLLCFG0_FSE_SHIFT) -# define PRCI_GEMGXLPLLCFG0_LOCK_SHIFT 31 -# define PRCI_GEMGXLPLLCFG0_LOCK_MASK (0x1 << PRCI_GEMGXLPLLCFG0_LOCK_SHIFT) - -/* GEMGXLPLLCFG1 */ -#define PRCI_GEMGXLPLLCFG1_OFFSET 0x20 -# define PRCI_GEMGXLPLLCFG1_CKE_SHIFT 24 -# define PRCI_GEMGXLPLLCFG1_CKE_MASK (0x1 << PRCI_GEMGXLPLLCFG1_CKE_SHIFT) - -/* CORECLKSEL */ -#define PRCI_CORECLKSEL_OFFSET 0x24 -# define PRCI_CORECLKSEL_CORECLKSEL_SHIFT 0 -# define PRCI_CORECLKSEL_CORECLKSEL_MASK (0x1 << PRCI_CORECLKSEL_CORECLKSEL_SHIFT) - -/* DEVICESRESETREG */ -#define PRCI_DEVICESRESETREG_OFFSET 0x28 -# define PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_SHIFT 0 -# define PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_MASK (0x1 << PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_SHIFT) -# define PRCI_DEVICESRESETREG_DDR_AXI_RST_N_SHIFT 1 -# define PRCI_DEVICESRESETREG_DDR_AXI_RST_N_MASK (0x1 << PRCI_DEVICESRESETREG_DDR_AXI_RST_N_SHIFT) -# define PRCI_DEVICESRESETREG_DDR_AHB_RST_N_SHIFT 2 -# define PRCI_DEVICESRESETREG_DDR_AHB_RST_N_MASK (0x1 << PRCI_DEVICESRESETREG_DDR_AHB_RST_N_SHIFT) -# define PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT 3 -# define PRCI_DEVICESRESETREG_DDR_PHY_RST_N_MASK (0x1 << PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT) -# define PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT 5 -# define PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT) - -/* CLKMUXSTATUSREG */ -#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c -# define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1 -# define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) +#include "fu540-prci.h" +#include "sifive-prci.h" -/* - * Private structures - */ +/* PRCI integration data for each WRPLL instance */ -/** - * struct __prci_data - per-device-instance data - * @va: base virtual address of the PRCI IP block - * @hw_clks: encapsulates struct clk_hw records - * - * PRCI per-device instance data - */ -struct __prci_data { - void __iomem *va; - struct clk_hw_onecell_data hw_clks; +static struct __prci_wrpll_data __prci_corepll_data = { + .cfg0_offs = PRCI_COREPLLCFG0_OFFSET, + .cfg1_offs = PRCI_COREPLLCFG1_OFFSET, + .enable_bypass = sifive_prci_coreclksel_use_hfclk, + .disable_bypass = sifive_prci_coreclksel_use_corepll, }; -/** - * struct __prci_wrpll_data - WRPLL configuration and integration data - * @c: WRPLL current configuration record - * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL) - * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) - * @cfg0_offs: WRPLL CFG0 register offset (in bytes) from the PRCI base address - * - * @enable_bypass and @disable_bypass are used for WRPLL instances - * that contain a separate external glitchless clock mux downstream - * from the PLL. The WRPLL internal bypass mux is not glitchless. - */ -struct __prci_wrpll_data { - struct wrpll_cfg c; - void (*enable_bypass)(struct __prci_data *pd); - void (*disable_bypass)(struct __prci_data *pd); - u8 cfg0_offs; +static struct __prci_wrpll_data __prci_ddrpll_data = { + .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET, + .cfg1_offs = PRCI_DDRPLLCFG1_OFFSET, }; -/** - * struct __prci_clock - describes a clock device managed by PRCI - * @name: user-readable clock name string - should match the manual - * @parent_name: parent name for this clock - * @ops: struct clk_ops for the Linux clock framework to use for control - * @hw: Linux-private clock data - * @pwd: WRPLL-specific data, associated with this clock (if not NULL) - * @pd: PRCI-specific data associated with this clock (if not NULL) - * - * PRCI clock data. Used by the PRCI driver to register PRCI-provided - * clocks to the Linux clock infrastructure. - */ -struct __prci_clock { - const char *name; - const char *parent_name; - const struct clk_ops *ops; - struct clk_hw hw; - struct __prci_wrpll_data *pwd; - struct __prci_data *pd; +static struct __prci_wrpll_data __prci_gemgxlpll_data = { + .cfg0_offs = PRCI_GEMGXLPLLCFG0_OFFSET, + .cfg1_offs = PRCI_GEMGXLPLLCFG1_OFFSET, }; -#define clk_hw_to_prci_clock(pwd) container_of(pwd, struct __prci_clock, hw) - -/* - * Private functions - */ - -/** - * __prci_readl() - read from a PRCI register - * @pd: PRCI context - * @offs: register offset to read from (in bytes, from PRCI base address) - * - * Read the register located at offset @offs from the base virtual - * address of the PRCI register target described by @pd, and return - * the value to the caller. - * - * Context: Any context. - * - * Return: the contents of the register described by @pd and @offs. - */ -static u32 __prci_readl(struct __prci_data *pd, u32 offs) -{ - return readl_relaxed(pd->va + offs); -} - -static void __prci_writel(u32 v, u32 offs, struct __prci_data *pd) -{ - writel_relaxed(v, pd->va + offs); -} - -/* WRPLL-related private functions */ - -/** - * __prci_wrpll_unpack() - unpack WRPLL configuration registers into parameters - * @c: ptr to a struct wrpll_cfg record to write config into - * @r: value read from the PRCI PLL configuration register - * - * Given a value @r read from an FU540 PRCI PLL configuration register, - * split it into fields and populate it into the WRPLL configuration record - * pointed to by @c. - * - * The COREPLLCFG0 macros are used below, but the other *PLLCFG0 macros - * have the same register layout. - * - * Context: Any context. - */ -static void __prci_wrpll_unpack(struct wrpll_cfg *c, u32 r) -{ - u32 v; - - v = r & PRCI_COREPLLCFG0_DIVR_MASK; - v >>= PRCI_COREPLLCFG0_DIVR_SHIFT; - c->divr = v; - - v = r & PRCI_COREPLLCFG0_DIVF_MASK; - v >>= PRCI_COREPLLCFG0_DIVF_SHIFT; - c->divf = v; - - v = r & PRCI_COREPLLCFG0_DIVQ_MASK; - v >>= PRCI_COREPLLCFG0_DIVQ_SHIFT; - c->divq = v; - - v = r & PRCI_COREPLLCFG0_RANGE_MASK; - v >>= PRCI_COREPLLCFG0_RANGE_SHIFT; - c->range = v; - - c->flags &= (WRPLL_FLAGS_INT_FEEDBACK_MASK | - WRPLL_FLAGS_EXT_FEEDBACK_MASK); - - /* external feedback mode not supported */ - c->flags |= WRPLL_FLAGS_INT_FEEDBACK_MASK; -} - -/** - * __prci_wrpll_pack() - pack PLL configuration parameters into a register value - * @c: pointer to a struct wrpll_cfg record containing the PLL's cfg - * - * Using a set of WRPLL configuration values pointed to by @c, - * assemble a PRCI PLL configuration register value, and return it to - * the caller. - * - * Context: Any context. Caller must ensure that the contents of the - * record pointed to by @c do not change during the execution - * of this function. - * - * Returns: a value suitable for writing into a PRCI PLL configuration - * register - */ -static u32 __prci_wrpll_pack(const struct wrpll_cfg *c) -{ - u32 r = 0; - - r |= c->divr << PRCI_COREPLLCFG0_DIVR_SHIFT; - r |= c->divf << PRCI_COREPLLCFG0_DIVF_SHIFT; - r |= c->divq << PRCI_COREPLLCFG0_DIVQ_SHIFT; - r |= c->range << PRCI_COREPLLCFG0_RANGE_SHIFT; - - /* external feedback mode not supported */ - r |= PRCI_COREPLLCFG0_FSE_MASK; - - return r; -} - -/** - * __prci_wrpll_read_cfg() - read the WRPLL configuration from the PRCI - * @pd: PRCI context - * @pwd: PRCI WRPLL metadata - * - * Read the current configuration of the PLL identified by @pwd from - * the PRCI identified by @pd, and store it into the local configuration - * cache in @pwd. - * - * Context: Any context. Caller must prevent the records pointed to by - * @pd and @pwd from changing during execution. - */ -static void __prci_wrpll_read_cfg(struct __prci_data *pd, - struct __prci_wrpll_data *pwd) -{ - __prci_wrpll_unpack(&pwd->c, __prci_readl(pd, pwd->cfg0_offs)); -} - -/** - * __prci_wrpll_write_cfg() - write WRPLL configuration into the PRCI - * @pd: PRCI context - * @pwd: PRCI WRPLL metadata - * @c: WRPLL configuration record to write - * - * Write the WRPLL configuration described by @c into the WRPLL - * configuration register identified by @pwd in the PRCI instance - * described by @c. Make a cached copy of the WRPLL's current - * configuration so it can be used by other code. - * - * Context: Any context. Caller must prevent the records pointed to by - * @pd and @pwd from changing during execution. - */ -static void __prci_wrpll_write_cfg(struct __prci_data *pd, - struct __prci_wrpll_data *pwd, - struct wrpll_cfg *c) -{ - __prci_writel(__prci_wrpll_pack(c), pwd->cfg0_offs, pd); - - memcpy(&pwd->c, c, sizeof(*c)); -} - -/* Core clock mux control */ - -/** - * __prci_coreclksel_use_hfclk() - switch the CORECLK mux to output HFCLK - * @pd: struct __prci_data * for the PRCI containing the CORECLK mux reg - * - * Switch the CORECLK mux to the HFCLK input source; return once complete. - * - * Context: Any context. Caller must prevent concurrent changes to the - * PRCI_CORECLKSEL_OFFSET register. - */ -static void __prci_coreclksel_use_hfclk(struct __prci_data *pd) -{ - u32 r; - - r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); - r |= PRCI_CORECLKSEL_CORECLKSEL_MASK; - __prci_writel(r, PRCI_CORECLKSEL_OFFSET, pd); - - r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); /* barrier */ -} - -/** - * __prci_coreclksel_use_corepll() - switch the CORECLK mux to output COREPLL - * @pd: struct __prci_data * for the PRCI containing the CORECLK mux reg - * - * Switch the CORECLK mux to the PLL output clock; return once complete. - * - * Context: Any context. Caller must prevent concurrent changes to the - * PRCI_CORECLKSEL_OFFSET register. - */ -static void __prci_coreclksel_use_corepll(struct __prci_data *pd) -{ - u32 r; - - r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); - r &= ~PRCI_CORECLKSEL_CORECLKSEL_MASK; - __prci_writel(r, PRCI_CORECLKSEL_OFFSET, pd); - - r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); /* barrier */ -} - -/* - * Linux clock framework integration - * - * See the Linux clock framework documentation for more information on - * these functions. - */ - -static unsigned long sifive_fu540_prci_wrpll_recalc_rate(struct clk_hw *hw, - unsigned long parent_rate) -{ - struct __prci_clock *pc = clk_hw_to_prci_clock(hw); - struct __prci_wrpll_data *pwd = pc->pwd; - - return wrpll_calc_output_rate(&pwd->c, parent_rate); -} - -static long sifive_fu540_prci_wrpll_round_rate(struct clk_hw *hw, - unsigned long rate, - unsigned long *parent_rate) -{ - struct __prci_clock *pc = clk_hw_to_prci_clock(hw); - struct __prci_wrpll_data *pwd = pc->pwd; - struct wrpll_cfg c; - - memcpy(&c, &pwd->c, sizeof(c)); - - wrpll_configure_for_rate(&c, rate, *parent_rate); - - return wrpll_calc_output_rate(&c, *parent_rate); -} - -static int sifive_fu540_prci_wrpll_set_rate(struct clk_hw *hw, - unsigned long rate, - unsigned long parent_rate) -{ - struct __prci_clock *pc = clk_hw_to_prci_clock(hw); - struct __prci_wrpll_data *pwd = pc->pwd; - struct __prci_data *pd = pc->pd; - int r; - - r = wrpll_configure_for_rate(&pwd->c, rate, parent_rate); - if (r) - return r; - - if (pwd->enable_bypass) - pwd->enable_bypass(pd); - - __prci_wrpll_write_cfg(pd, pwd, &pwd->c); - - udelay(wrpll_calc_max_lock_us(&pwd->c)); - - if (pwd->disable_bypass) - pwd->disable_bypass(pd); - - return 0; -} +/* Linux clock framework integration */ static const struct clk_ops sifive_fu540_prci_wrpll_clk_ops = { - .set_rate = sifive_fu540_prci_wrpll_set_rate, - .round_rate = sifive_fu540_prci_wrpll_round_rate, - .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate, + .set_rate = sifive_prci_wrpll_set_rate, + .round_rate = sifive_prci_wrpll_round_rate, + .recalc_rate = sifive_prci_wrpll_recalc_rate, + .enable = sifive_prci_clock_enable, + .disable = sifive_prci_clock_disable, + .is_enabled = sifive_clk_is_enabled, }; static const struct clk_ops sifive_fu540_prci_wrpll_ro_clk_ops = { - .recalc_rate = sifive_fu540_prci_wrpll_recalc_rate, + .recalc_rate = sifive_prci_wrpll_recalc_rate, }; -/* TLCLKSEL clock integration */ - -static unsigned long sifive_fu540_prci_tlclksel_recalc_rate(struct clk_hw *hw, - unsigned long parent_rate) -{ - struct __prci_clock *pc = clk_hw_to_prci_clock(hw); - struct __prci_data *pd = pc->pd; - u32 v; - u8 div; - - v = __prci_readl(pd, PRCI_CLKMUXSTATUSREG_OFFSET); - v &= PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK; - div = v ? 1 : 2; - - return div_u64(parent_rate, div); -} - static const struct clk_ops sifive_fu540_prci_tlclksel_clk_ops = { - .recalc_rate = sifive_fu540_prci_tlclksel_recalc_rate, -}; - -/* - * PRCI integration data for each WRPLL instance - */ - -static struct __prci_wrpll_data __prci_corepll_data = { - .cfg0_offs = PRCI_COREPLLCFG0_OFFSET, - .enable_bypass = __prci_coreclksel_use_hfclk, - .disable_bypass = __prci_coreclksel_use_corepll, + .recalc_rate = sifive_prci_tlclksel_recalc_rate, }; -static struct __prci_wrpll_data __prci_ddrpll_data = { - .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET, -}; - -static struct __prci_wrpll_data __prci_gemgxlpll_data = { - .cfg0_offs = PRCI_GEMGXLPLLCFG0_OFFSET, -}; - -/* - * List of clock controls provided by the PRCI - */ - -static struct __prci_clock __prci_init_clocks[] = { +/* List of clock controls provided by the PRCI */ +struct __prci_clock __prci_init_clocks_fu540[] = { [PRCI_CLK_COREPLL] = { .name = "corepll", .parent_name = "hfclk", @@ -506,125 +87,3 @@ .ops = &sifive_fu540_prci_tlclksel_clk_ops, }, }; - -/** - * __prci_register_clocks() - register clock controls in the PRCI with Linux - * @dev: Linux struct device * - * - * Register the list of clock controls described in __prci_init_plls[] with - * the Linux clock framework. - * - * Return: 0 upon success or a negative error code upon failure. - */ -static int __prci_register_clocks(struct device *dev, struct __prci_data *pd) -{ - struct clk_init_data init = { }; - struct __prci_clock *pic; - int parent_count, i, r; - - parent_count = of_clk_get_parent_count(dev->of_node); - if (parent_count != EXPECTED_CLK_PARENT_COUNT) { - dev_err(dev, "expected only two parent clocks, found %d\n", - parent_count); - return -EINVAL; - } - - /* Register PLLs */ - for (i = 0; i < ARRAY_SIZE(__prci_init_clocks); ++i) { - pic = &__prci_init_clocks[i]; - - init.name = pic->name; - init.parent_names = &pic->parent_name; - init.num_parents = 1; - init.ops = pic->ops; - pic->hw.init = &init; - - pic->pd = pd; - - if (pic->pwd) - __prci_wrpll_read_cfg(pd, pic->pwd); - - r = devm_clk_hw_register(dev, &pic->hw); - if (r) { - dev_warn(dev, "Failed to register clock %s: %d\n", - init.name, r); - return r; - } - - r = clk_hw_register_clkdev(&pic->hw, pic->name, dev_name(dev)); - if (r) { - dev_warn(dev, "Failed to register clkdev for %s: %d\n", - init.name, r); - return r; - } - - pd->hw_clks.hws[i] = &pic->hw; - } - - pd->hw_clks.num = i; - - r = devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, - &pd->hw_clks); - if (r) { - dev_err(dev, "could not add hw_provider: %d\n", r); - return r; - } - - return 0; -} - -/* - * Linux device model integration - * - * See the Linux device model documentation for more information about - * these functions. - */ -static int sifive_fu540_prci_probe(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct resource *res; - struct __prci_data *pd; - int r; - - pd = devm_kzalloc(dev, - struct_size(pd, hw_clks.hws, - ARRAY_SIZE(__prci_init_clocks)), - GFP_KERNEL); - if (!pd) - return -ENOMEM; - - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - pd->va = devm_ioremap_resource(dev, res); - if (IS_ERR(pd->va)) - return PTR_ERR(pd->va); - - r = __prci_register_clocks(dev, pd); - if (r) { - dev_err(dev, "could not register clocks: %d\n", r); - return r; - } - - dev_dbg(dev, "SiFive FU540 PRCI probed\n"); - - return 0; -} - -static const struct of_device_id sifive_fu540_prci_of_match[] = { - { .compatible = "sifive,fu540-c000-prci", }, - {} -}; -MODULE_DEVICE_TABLE(of, sifive_fu540_prci_of_match); - -static struct platform_driver sifive_fu540_prci_driver = { - .driver = { - .name = "sifive-fu540-prci", - .of_match_table = sifive_fu540_prci_of_match, - }, - .probe = sifive_fu540_prci_probe, -}; - -static int __init sifive_fu540_prci_init(void) -{ - return platform_driver_register(&sifive_fu540_prci_driver); -} -core_initcall(sifive_fu540_prci_init); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/fu540-prci.h +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/fu540-prci.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020 SiFive, Inc. + * Zong Li + */ + +#ifndef __SIFIVE_CLK_FU540_PRCI_H +#define __SIFIVE_CLK_FU540_PRCI_H + +#include "sifive-prci.h" + +#define NUM_CLOCK_FU540 4 + +extern struct __prci_clock __prci_init_clocks_fu540[NUM_CLOCK_FU540]; + +static const struct prci_clk_desc prci_clk_fu540 = { + .clks = __prci_init_clocks_fu540, + .num_clks = ARRAY_SIZE(__prci_init_clocks_fu540), +}; + +#endif /* __SIFIVE_CLK_FU540_PRCI_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/fu740-prci.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/fu740-prci.c @@ -0,0 +1,123 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2020 SiFive, Inc. + * Copyright (C) 2020 Zong Li + */ + +#include + +#include + +#include "fu540-prci.h" +#include "sifive-prci.h" + +/* PRCI integration data for each WRPLL instance */ + +static struct __prci_wrpll_data __prci_corepll_data = { + .cfg0_offs = PRCI_COREPLLCFG0_OFFSET, + .cfg1_offs = PRCI_COREPLLCFG1_OFFSET, + .enable_bypass = sifive_prci_coreclksel_use_hfclk, + .disable_bypass = sifive_prci_coreclksel_use_final_corepll, +}; + +static struct __prci_wrpll_data __prci_ddrpll_data = { + .cfg0_offs = PRCI_DDRPLLCFG0_OFFSET, + .cfg1_offs = PRCI_DDRPLLCFG1_OFFSET, +}; + +static struct __prci_wrpll_data __prci_gemgxlpll_data = { + .cfg0_offs = PRCI_GEMGXLPLLCFG0_OFFSET, + .cfg1_offs = PRCI_GEMGXLPLLCFG1_OFFSET, +}; + +static struct __prci_wrpll_data __prci_dvfscorepll_data = { + .cfg0_offs = PRCI_DVFSCOREPLLCFG0_OFFSET, + .cfg1_offs = PRCI_DVFSCOREPLLCFG1_OFFSET, + .enable_bypass = sifive_prci_corepllsel_use_corepll, + .disable_bypass = sifive_prci_corepllsel_use_dvfscorepll, +}; + +static struct __prci_wrpll_data __prci_hfpclkpll_data = { + .cfg0_offs = PRCI_HFPCLKPLLCFG0_OFFSET, + .cfg1_offs = PRCI_HFPCLKPLLCFG1_OFFSET, + .enable_bypass = sifive_prci_hfpclkpllsel_use_hfclk, + .disable_bypass = sifive_prci_hfpclkpllsel_use_hfpclkpll, +}; + +static struct __prci_wrpll_data __prci_cltxpll_data = { + .cfg0_offs = PRCI_CLTXPLLCFG0_OFFSET, + .cfg1_offs = PRCI_CLTXPLLCFG1_OFFSET, +}; + +/* Linux clock framework integration */ + +static const struct clk_ops sifive_fu740_prci_wrpll_clk_ops = { + .set_rate = sifive_prci_wrpll_set_rate, + .round_rate = sifive_prci_wrpll_round_rate, + .recalc_rate = sifive_prci_wrpll_recalc_rate, + .enable = sifive_prci_clock_enable, + .disable = sifive_prci_clock_disable, + .is_enabled = sifive_clk_is_enabled, +}; + +static const struct clk_ops sifive_fu740_prci_wrpll_ro_clk_ops = { + .recalc_rate = sifive_prci_wrpll_recalc_rate, +}; + +static const struct clk_ops sifive_fu740_prci_tlclksel_clk_ops = { + .recalc_rate = sifive_prci_tlclksel_recalc_rate, +}; + +static const struct clk_ops sifive_fu740_prci_hfpclkplldiv_clk_ops = { + .recalc_rate = sifive_prci_hfpclkplldiv_recalc_rate, +}; + +/* List of clock controls provided by the PRCI */ +struct __prci_clock __prci_init_clocks_fu740[] = { + [PRCI_CLK_COREPLL] = { + .name = "corepll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_clk_ops, + .pwd = &__prci_corepll_data, + }, + [PRCI_CLK_DDRPLL] = { + .name = "ddrpll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_ro_clk_ops, + .pwd = &__prci_ddrpll_data, + }, + [PRCI_CLK_GEMGXLPLL] = { + .name = "gemgxlpll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_clk_ops, + .pwd = &__prci_gemgxlpll_data, + }, + [PRCI_CLK_DVFSCOREPLL] = { + .name = "dvfscorepll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_clk_ops, + .pwd = &__prci_dvfscorepll_data, + }, + [PRCI_CLK_HFPCLKPLL] = { + .name = "hfpclkpll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_clk_ops, + .pwd = &__prci_hfpclkpll_data, + }, + [PRCI_CLK_CLTXPLL] = { + .name = "cltxpll", + .parent_name = "hfclk", + .ops = &sifive_fu740_prci_wrpll_clk_ops, + .pwd = &__prci_cltxpll_data, + }, + [PRCI_CLK_TLCLK] = { + .name = "tlclk", + .parent_name = "corepll", + .ops = &sifive_fu740_prci_tlclksel_clk_ops, + }, + [PRCI_CLK_PCLK] = { + .name = "pclk", + .parent_name = "hfpclkpll", + .ops = &sifive_fu740_prci_hfpclkplldiv_clk_ops, + }, +}; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/fu740-prci.h +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/fu740-prci.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020 SiFive, Inc. + * Zong Li + */ + +#ifndef __SIFIVE_CLK_FU740_PRCI_H +#define __SIFIVE_CLK_FU740_PRCI_H + +#include "sifive-prci.h" + +#define NUM_CLOCK_FU740 8 + +extern struct __prci_clock __prci_init_clocks_fu740[NUM_CLOCK_FU740]; + +static const struct prci_clk_desc prci_clk_fu740 = { + .clks = __prci_init_clocks_fu740, + .num_clks = ARRAY_SIZE(__prci_init_clocks_fu740), +}; + +#endif /* __SIFIVE_CLK_FU740_PRCI_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/sifive-prci.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/sifive-prci.c @@ -0,0 +1,574 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2020 SiFive, Inc. + * Copyright (C) 2020 Zong Li + */ + +#include +#include +#include +#include +#include "sifive-prci.h" +#include "fu540-prci.h" +#include "fu740-prci.h" + +/* + * Private functions + */ + +/** + * __prci_readl() - read from a PRCI register + * @pd: PRCI context + * @offs: register offset to read from (in bytes, from PRCI base address) + * + * Read the register located at offset @offs from the base virtual + * address of the PRCI register target described by @pd, and return + * the value to the caller. + * + * Context: Any context. + * + * Return: the contents of the register described by @pd and @offs. + */ +static u32 __prci_readl(struct __prci_data *pd, u32 offs) +{ + return readl_relaxed(pd->va + offs); +} + +static void __prci_writel(u32 v, u32 offs, struct __prci_data *pd) +{ + writel_relaxed(v, pd->va + offs); +} + +/* WRPLL-related private functions */ + +/** + * __prci_wrpll_unpack() - unpack WRPLL configuration registers into parameters + * @c: ptr to a struct wrpll_cfg record to write config into + * @r: value read from the PRCI PLL configuration register + * + * Given a value @r read from an FU740 PRCI PLL configuration register, + * split it into fields and populate it into the WRPLL configuration record + * pointed to by @c. + * + * The COREPLLCFG0 macros are used below, but the other *PLLCFG0 macros + * have the same register layout. + * + * Context: Any context. + */ +static void __prci_wrpll_unpack(struct wrpll_cfg *c, u32 r) +{ + u32 v; + + v = r & PRCI_COREPLLCFG0_DIVR_MASK; + v >>= PRCI_COREPLLCFG0_DIVR_SHIFT; + c->divr = v; + + v = r & PRCI_COREPLLCFG0_DIVF_MASK; + v >>= PRCI_COREPLLCFG0_DIVF_SHIFT; + c->divf = v; + + v = r & PRCI_COREPLLCFG0_DIVQ_MASK; + v >>= PRCI_COREPLLCFG0_DIVQ_SHIFT; + c->divq = v; + + v = r & PRCI_COREPLLCFG0_RANGE_MASK; + v >>= PRCI_COREPLLCFG0_RANGE_SHIFT; + c->range = v; + + c->flags &= + (WRPLL_FLAGS_INT_FEEDBACK_MASK | WRPLL_FLAGS_EXT_FEEDBACK_MASK); + + /* external feedback mode not supported */ + c->flags |= WRPLL_FLAGS_INT_FEEDBACK_MASK; +} + +/** + * __prci_wrpll_pack() - pack PLL configuration parameters into a register value + * @c: pointer to a struct wrpll_cfg record containing the PLL's cfg + * + * Using a set of WRPLL configuration values pointed to by @c, + * assemble a PRCI PLL configuration register value, and return it to + * the caller. + * + * Context: Any context. Caller must ensure that the contents of the + * record pointed to by @c do not change during the execution + * of this function. + * + * Returns: a value suitable for writing into a PRCI PLL configuration + * register + */ +static u32 __prci_wrpll_pack(const struct wrpll_cfg *c) +{ + u32 r = 0; + + r |= c->divr << PRCI_COREPLLCFG0_DIVR_SHIFT; + r |= c->divf << PRCI_COREPLLCFG0_DIVF_SHIFT; + r |= c->divq << PRCI_COREPLLCFG0_DIVQ_SHIFT; + r |= c->range << PRCI_COREPLLCFG0_RANGE_SHIFT; + + /* external feedback mode not supported */ + r |= PRCI_COREPLLCFG0_FSE_MASK; + + return r; +} + +/** + * __prci_wrpll_read_cfg0() - read the WRPLL configuration from the PRCI + * @pd: PRCI context + * @pwd: PRCI WRPLL metadata + * + * Read the current configuration of the PLL identified by @pwd from + * the PRCI identified by @pd, and store it into the local configuration + * cache in @pwd. + * + * Context: Any context. Caller must prevent the records pointed to by + * @pd and @pwd from changing during execution. + */ +static void __prci_wrpll_read_cfg0(struct __prci_data *pd, + struct __prci_wrpll_data *pwd) +{ + __prci_wrpll_unpack(&pwd->c, __prci_readl(pd, pwd->cfg0_offs)); +} + +/** + * __prci_wrpll_write_cfg0() - write WRPLL configuration into the PRCI + * @pd: PRCI context + * @pwd: PRCI WRPLL metadata + * @c: WRPLL configuration record to write + * + * Write the WRPLL configuration described by @c into the WRPLL + * configuration register identified by @pwd in the PRCI instance + * described by @c. Make a cached copy of the WRPLL's current + * configuration so it can be used by other code. + * + * Context: Any context. Caller must prevent the records pointed to by + * @pd and @pwd from changing during execution. + */ +static void __prci_wrpll_write_cfg0(struct __prci_data *pd, + struct __prci_wrpll_data *pwd, + struct wrpll_cfg *c) +{ + __prci_writel(__prci_wrpll_pack(c), pwd->cfg0_offs, pd); + + memcpy(&pwd->c, c, sizeof(*c)); +} + +/** + * __prci_wrpll_write_cfg1() - write Clock enable/disable configuration + * into the PRCI + * @pd: PRCI context + * @pwd: PRCI WRPLL metadata + * @enable: Clock enable or disable value + */ +static void __prci_wrpll_write_cfg1(struct __prci_data *pd, + struct __prci_wrpll_data *pwd, + u32 enable) +{ + __prci_writel(enable, pwd->cfg1_offs, pd); +} + +/* + * Linux clock framework integration + * + * See the Linux clock framework documentation for more information on + * these functions. + */ + +unsigned long sifive_prci_wrpll_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + + return wrpll_calc_output_rate(&pwd->c, parent_rate); +} + +long sifive_prci_wrpll_round_rate(struct clk_hw *hw, + unsigned long rate, + unsigned long *parent_rate) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + struct wrpll_cfg c; + + memcpy(&c, &pwd->c, sizeof(c)); + + wrpll_configure_for_rate(&c, rate, *parent_rate); + + return wrpll_calc_output_rate(&c, *parent_rate); +} + +int sifive_prci_wrpll_set_rate(struct clk_hw *hw, + unsigned long rate, unsigned long parent_rate) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + struct __prci_data *pd = pc->pd; + int r; + + r = wrpll_configure_for_rate(&pwd->c, rate, parent_rate); + if (r) + return r; + + if (pwd->enable_bypass) + pwd->enable_bypass(pd); + + __prci_wrpll_write_cfg0(pd, pwd, &pwd->c); + + udelay(wrpll_calc_max_lock_us(&pwd->c)); + + return 0; +} + +int sifive_clk_is_enabled(struct clk_hw *hw) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + struct __prci_data *pd = pc->pd; + u32 r; + + r = __prci_readl(pd, pwd->cfg1_offs); + + if (r & PRCI_COREPLLCFG1_CKE_MASK) + return 1; + else + return 0; +} + +int sifive_prci_clock_enable(struct clk_hw *hw) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + struct __prci_data *pd = pc->pd; + + if (sifive_clk_is_enabled(hw)) + return 0; + + __prci_wrpll_write_cfg1(pd, pwd, PRCI_COREPLLCFG1_CKE_MASK); + + if (pwd->disable_bypass) + pwd->disable_bypass(pd); + + return 0; +} + +void sifive_prci_clock_disable(struct clk_hw *hw) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_wrpll_data *pwd = pc->pwd; + struct __prci_data *pd = pc->pd; + u32 r; + + if (pwd->enable_bypass) + pwd->enable_bypass(pd); + + r = __prci_readl(pd, pwd->cfg1_offs); + r &= ~PRCI_COREPLLCFG1_CKE_MASK; + + __prci_wrpll_write_cfg1(pd, pwd, r); +} + +/* TLCLKSEL clock integration */ + +unsigned long sifive_prci_tlclksel_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_data *pd = pc->pd; + u32 v; + u8 div; + + v = __prci_readl(pd, PRCI_CLKMUXSTATUSREG_OFFSET); + v &= PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK; + div = v ? 1 : 2; + + return div_u64(parent_rate, div); +} + +/* HFPCLK clock integration */ + +unsigned long sifive_prci_hfpclkplldiv_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct __prci_clock *pc = clk_hw_to_prci_clock(hw); + struct __prci_data *pd = pc->pd; + u32 div = __prci_readl(pd, PRCI_HFPCLKPLLDIV_OFFSET); + + return div_u64(parent_rate, div + 2); +} + +/* + * Core clock mux control + */ + +/** + * sifive_prci_coreclksel_use_hfclk() - switch the CORECLK mux to output HFCLK + * @pd: struct __prci_data * for the PRCI containing the CORECLK mux reg + * + * Switch the CORECLK mux to the HFCLK input source; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_CORECLKSEL_OFFSET register. + */ +void sifive_prci_coreclksel_use_hfclk(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); + r |= PRCI_CORECLKSEL_CORECLKSEL_MASK; + __prci_writel(r, PRCI_CORECLKSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_coreclksel_use_corepll() - switch the CORECLK mux to output + * COREPLL + * @pd: struct __prci_data * for the PRCI containing the CORECLK mux reg + * + * Switch the CORECLK mux to the COREPLL output clock; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_CORECLKSEL_OFFSET register. + */ +void sifive_prci_coreclksel_use_corepll(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); + r &= ~PRCI_CORECLKSEL_CORECLKSEL_MASK; + __prci_writel(r, PRCI_CORECLKSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_coreclksel_use_final_corepll() - switch the CORECLK mux to output + * FINAL_COREPLL + * @pd: struct __prci_data * for the PRCI containing the CORECLK mux reg + * + * Switch the CORECLK mux to the final COREPLL output clock; return once + * complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_CORECLKSEL_OFFSET register. + */ +void sifive_prci_coreclksel_use_final_corepll(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); + r &= ~PRCI_CORECLKSEL_CORECLKSEL_MASK; + __prci_writel(r, PRCI_CORECLKSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_CORECLKSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_corepllsel_use_dvfscorepll() - switch the COREPLL mux to + * output DVFS_COREPLL + * @pd: struct __prci_data * for the PRCI containing the COREPLL mux reg + * + * Switch the COREPLL mux to the DVFSCOREPLL output clock; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_COREPLLSEL_OFFSET register. + */ +void sifive_prci_corepllsel_use_dvfscorepll(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); + r |= PRCI_COREPLLSEL_COREPLLSEL_MASK; + __prci_writel(r, PRCI_COREPLLSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_corepllsel_use_corepll() - switch the COREPLL mux to + * output COREPLL + * @pd: struct __prci_data * for the PRCI containing the COREPLL mux reg + * + * Switch the COREPLL mux to the COREPLL output clock; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_COREPLLSEL_OFFSET register. + */ +void sifive_prci_corepllsel_use_corepll(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); + r &= ~PRCI_COREPLLSEL_COREPLLSEL_MASK; + __prci_writel(r, PRCI_COREPLLSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_hfpclkpllsel_use_hfclk() - switch the HFPCLKPLL mux to + * output HFCLK + * @pd: struct __prci_data * for the PRCI containing the HFPCLKPLL mux reg + * + * Switch the HFPCLKPLL mux to the HFCLK input source; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_HFPCLKPLLSEL_OFFSET register. + */ +void sifive_prci_hfpclkpllsel_use_hfclk(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); + r |= PRCI_HFPCLKPLLSEL_HFPCLKPLLSEL_MASK; + __prci_writel(r, PRCI_HFPCLKPLLSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */ +} + +/** + * sifive_prci_hfpclkpllsel_use_hfpclkpll() - switch the HFPCLKPLL mux to + * output HFPCLKPLL + * @pd: struct __prci_data * for the PRCI containing the HFPCLKPLL mux reg + * + * Switch the HFPCLKPLL mux to the HFPCLKPLL output clock; return once complete. + * + * Context: Any context. Caller must prevent concurrent changes to the + * PRCI_HFPCLKPLLSEL_OFFSET register. + */ +void sifive_prci_hfpclkpllsel_use_hfpclkpll(struct __prci_data *pd) +{ + u32 r; + + r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); + r &= ~PRCI_HFPCLKPLLSEL_HFPCLKPLLSEL_MASK; + __prci_writel(r, PRCI_HFPCLKPLLSEL_OFFSET, pd); + + r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */ +} + +/** + * __prci_register_clocks() - register clock controls in the PRCI + * @dev: Linux struct device + * @pd: The pointer for PRCI per-device instance data + * @desc: The pointer for the information of clocks of each SoCs + * + * Register the list of clock controls described in __prci_init_clocks[] with + * the Linux clock framework. + * + * Return: 0 upon success or a negative error code upon failure. + */ +static int __prci_register_clocks(struct device *dev, struct __prci_data *pd, + const struct prci_clk_desc *desc) +{ + struct clk_init_data init = { }; + struct __prci_clock *pic; + int parent_count, i, r; + + parent_count = of_clk_get_parent_count(dev->of_node); + if (parent_count != EXPECTED_CLK_PARENT_COUNT) { + dev_err(dev, "expected only two parent clocks, found %d\n", + parent_count); + return -EINVAL; + } + + /* Register PLLs */ + for (i = 0; i < desc->num_clks; ++i) { + pic = &(desc->clks[i]); + + init.name = pic->name; + init.parent_names = &pic->parent_name; + init.num_parents = 1; + init.ops = pic->ops; + pic->hw.init = &init; + + pic->pd = pd; + + if (pic->pwd) + __prci_wrpll_read_cfg0(pd, pic->pwd); + + r = devm_clk_hw_register(dev, &pic->hw); + if (r) { + dev_warn(dev, "Failed to register clock %s: %d\n", + init.name, r); + return r; + } + + r = clk_hw_register_clkdev(&pic->hw, pic->name, dev_name(dev)); + if (r) { + dev_warn(dev, "Failed to register clkdev for %s: %d\n", + init.name, r); + return r; + } + + pd->hw_clks.hws[i] = &pic->hw; + } + + pd->hw_clks.num = i; + + r = devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get, + &pd->hw_clks); + if (r) { + dev_err(dev, "could not add hw_provider: %d\n", r); + return r; + } + + return 0; +} + +/** + * sifive_prci_init() - initialize prci data and check parent count + * @pdev: platform device pointer for the prci + * + * Return: 0 upon success or a negative error code upon failure. + */ +static int sifive_prci_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct resource *res; + struct __prci_data *pd; + const struct prci_clk_desc *desc; + int r; + + desc = of_device_get_match_data(&pdev->dev); + + pd = devm_kzalloc(dev, struct_size(pd, hw_clks.hws, desc->num_clks), GFP_KERNEL); + if (!pd) + return -ENOMEM; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + pd->va = devm_ioremap_resource(dev, res); + if (IS_ERR(pd->va)) + return PTR_ERR(pd->va); + + r = __prci_register_clocks(dev, pd, desc); + if (r) { + dev_err(dev, "could not register clocks: %d\n", r); + return r; + } + + dev_dbg(dev, "SiFive PRCI probed\n"); + + return 0; +} + +static const struct of_device_id sifive_prci_of_match[] = { + {.compatible = "sifive,fu540-c000-prci", .data = &prci_clk_fu540}, + {.compatible = "sifive,fu740-c000-prci", .data = &prci_clk_fu740}, + {} +}; + +static struct platform_driver sifive_prci_driver = { + .driver = { + .name = "sifive-clk-prci", + .of_match_table = sifive_prci_of_match, + }, + .probe = sifive_prci_probe, +}; + +static int __init sifive_prci_init(void) +{ + return platform_driver_register(&sifive_prci_driver); +} +core_initcall(sifive_prci_init); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sifive/sifive-prci.h +++ linux-riscv-5.8-5.8.0/drivers/clk/sifive/sifive-prci.h @@ -0,0 +1,299 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2018-2019 SiFive, Inc. + * Wesley Terpstra + * Paul Walmsley + * Zong Li + */ + +#ifndef __SIFIVE_CLK_SIFIVE_PRCI_H +#define __SIFIVE_CLK_SIFIVE_PRCI_H + +#include +#include +#include + +/* + * EXPECTED_CLK_PARENT_COUNT: how many parent clocks this driver expects: + * hfclk and rtcclk + */ +#define EXPECTED_CLK_PARENT_COUNT 2 + +/* + * Register offsets and bitmasks + */ + +/* COREPLLCFG0 */ +#define PRCI_COREPLLCFG0_OFFSET 0x4 +#define PRCI_COREPLLCFG0_DIVR_SHIFT 0 +#define PRCI_COREPLLCFG0_DIVR_MASK (0x3f << PRCI_COREPLLCFG0_DIVR_SHIFT) +#define PRCI_COREPLLCFG0_DIVF_SHIFT 6 +#define PRCI_COREPLLCFG0_DIVF_MASK (0x1ff << PRCI_COREPLLCFG0_DIVF_SHIFT) +#define PRCI_COREPLLCFG0_DIVQ_SHIFT 15 +#define PRCI_COREPLLCFG0_DIVQ_MASK (0x7 << PRCI_COREPLLCFG0_DIVQ_SHIFT) +#define PRCI_COREPLLCFG0_RANGE_SHIFT 18 +#define PRCI_COREPLLCFG0_RANGE_MASK (0x7 << PRCI_COREPLLCFG0_RANGE_SHIFT) +#define PRCI_COREPLLCFG0_BYPASS_SHIFT 24 +#define PRCI_COREPLLCFG0_BYPASS_MASK (0x1 << PRCI_COREPLLCFG0_BYPASS_SHIFT) +#define PRCI_COREPLLCFG0_FSE_SHIFT 25 +#define PRCI_COREPLLCFG0_FSE_MASK (0x1 << PRCI_COREPLLCFG0_FSE_SHIFT) +#define PRCI_COREPLLCFG0_LOCK_SHIFT 31 +#define PRCI_COREPLLCFG0_LOCK_MASK (0x1 << PRCI_COREPLLCFG0_LOCK_SHIFT) + +/* COREPLLCFG1 */ +#define PRCI_COREPLLCFG1_OFFSET 0x8 +#define PRCI_COREPLLCFG1_CKE_SHIFT 31 +#define PRCI_COREPLLCFG1_CKE_MASK (0x1 << PRCI_COREPLLCFG1_CKE_SHIFT) + +/* DDRPLLCFG0 */ +#define PRCI_DDRPLLCFG0_OFFSET 0xc +#define PRCI_DDRPLLCFG0_DIVR_SHIFT 0 +#define PRCI_DDRPLLCFG0_DIVR_MASK (0x3f << PRCI_DDRPLLCFG0_DIVR_SHIFT) +#define PRCI_DDRPLLCFG0_DIVF_SHIFT 6 +#define PRCI_DDRPLLCFG0_DIVF_MASK (0x1ff << PRCI_DDRPLLCFG0_DIVF_SHIFT) +#define PRCI_DDRPLLCFG0_DIVQ_SHIFT 15 +#define PRCI_DDRPLLCFG0_DIVQ_MASK (0x7 << PRCI_DDRPLLCFG0_DIVQ_SHIFT) +#define PRCI_DDRPLLCFG0_RANGE_SHIFT 18 +#define PRCI_DDRPLLCFG0_RANGE_MASK (0x7 << PRCI_DDRPLLCFG0_RANGE_SHIFT) +#define PRCI_DDRPLLCFG0_BYPASS_SHIFT 24 +#define PRCI_DDRPLLCFG0_BYPASS_MASK (0x1 << PRCI_DDRPLLCFG0_BYPASS_SHIFT) +#define PRCI_DDRPLLCFG0_FSE_SHIFT 25 +#define PRCI_DDRPLLCFG0_FSE_MASK (0x1 << PRCI_DDRPLLCFG0_FSE_SHIFT) +#define PRCI_DDRPLLCFG0_LOCK_SHIFT 31 +#define PRCI_DDRPLLCFG0_LOCK_MASK (0x1 << PRCI_DDRPLLCFG0_LOCK_SHIFT) + +/* DDRPLLCFG1 */ +#define PRCI_DDRPLLCFG1_OFFSET 0x10 +#define PRCI_DDRPLLCFG1_CKE_SHIFT 31 +#define PRCI_DDRPLLCFG1_CKE_MASK (0x1 << PRCI_DDRPLLCFG1_CKE_SHIFT) + +/* GEMGXLPLLCFG0 */ +#define PRCI_GEMGXLPLLCFG0_OFFSET 0x1c +#define PRCI_GEMGXLPLLCFG0_DIVR_SHIFT 0 +#define PRCI_GEMGXLPLLCFG0_DIVR_MASK (0x3f << PRCI_GEMGXLPLLCFG0_DIVR_SHIFT) +#define PRCI_GEMGXLPLLCFG0_DIVF_SHIFT 6 +#define PRCI_GEMGXLPLLCFG0_DIVF_MASK (0x1ff << PRCI_GEMGXLPLLCFG0_DIVF_SHIFT) +#define PRCI_GEMGXLPLLCFG0_DIVQ_SHIFT 15 +#define PRCI_GEMGXLPLLCFG0_DIVQ_MASK (0x7 << PRCI_GEMGXLPLLCFG0_DIVQ_SHIFT) +#define PRCI_GEMGXLPLLCFG0_RANGE_SHIFT 18 +#define PRCI_GEMGXLPLLCFG0_RANGE_MASK (0x7 << PRCI_GEMGXLPLLCFG0_RANGE_SHIFT) +#define PRCI_GEMGXLPLLCFG0_BYPASS_SHIFT 24 +#define PRCI_GEMGXLPLLCFG0_BYPASS_MASK (0x1 << PRCI_GEMGXLPLLCFG0_BYPASS_SHIFT) +#define PRCI_GEMGXLPLLCFG0_FSE_SHIFT 25 +#define PRCI_GEMGXLPLLCFG0_FSE_MASK (0x1 << PRCI_GEMGXLPLLCFG0_FSE_SHIFT) +#define PRCI_GEMGXLPLLCFG0_LOCK_SHIFT 31 +#define PRCI_GEMGXLPLLCFG0_LOCK_MASK (0x1 << PRCI_GEMGXLPLLCFG0_LOCK_SHIFT) + +/* GEMGXLPLLCFG1 */ +#define PRCI_GEMGXLPLLCFG1_OFFSET 0x20 +#define PRCI_GEMGXLPLLCFG1_CKE_SHIFT 31 +#define PRCI_GEMGXLPLLCFG1_CKE_MASK (0x1 << PRCI_GEMGXLPLLCFG1_CKE_SHIFT) + +/* CORECLKSEL */ +#define PRCI_CORECLKSEL_OFFSET 0x24 +#define PRCI_CORECLKSEL_CORECLKSEL_SHIFT 0 +#define PRCI_CORECLKSEL_CORECLKSEL_MASK \ + (0x1 << PRCI_CORECLKSEL_CORECLKSEL_SHIFT) + +/* DEVICESRESETREG */ +#define PRCI_DEVICESRESETREG_OFFSET 0x28 +#define PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_SHIFT 0 +#define PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_DDR_CTRL_RST_N_SHIFT) +#define PRCI_DEVICESRESETREG_DDR_AXI_RST_N_SHIFT 1 +#define PRCI_DEVICESRESETREG_DDR_AXI_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_DDR_AXI_RST_N_SHIFT) +#define PRCI_DEVICESRESETREG_DDR_AHB_RST_N_SHIFT 2 +#define PRCI_DEVICESRESETREG_DDR_AHB_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_DDR_AHB_RST_N_SHIFT) +#define PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT 3 +#define PRCI_DEVICESRESETREG_DDR_PHY_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_DDR_PHY_RST_N_SHIFT) +#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT 5 +#define PRCI_DEVICESRESETREG_GEMGXL_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_GEMGXL_RST_N_SHIFT) +#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT 6 +#define PRCI_DEVICESRESETREG_CHIPLINK_RST_N_MASK \ + (0x1 << PRCI_DEVICESRESETREG_CHIPLINK_RST_N_SHIFT) + +/* CLKMUXSTATUSREG */ +#define PRCI_CLKMUXSTATUSREG_OFFSET 0x2c +#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT 1 +#define PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_MASK \ + (0x1 << PRCI_CLKMUXSTATUSREG_TLCLKSEL_STATUS_SHIFT) + +/* CLTXPLLCFG0 */ +#define PRCI_CLTXPLLCFG0_OFFSET 0x30 +#define PRCI_CLTXPLLCFG0_DIVR_SHIFT 0 +#define PRCI_CLTXPLLCFG0_DIVR_MASK (0x3f << PRCI_CLTXPLLCFG0_DIVR_SHIFT) +#define PRCI_CLTXPLLCFG0_DIVF_SHIFT 6 +#define PRCI_CLTXPLLCFG0_DIVF_MASK (0x1ff << PRCI_CLTXPLLCFG0_DIVF_SHIFT) +#define PRCI_CLTXPLLCFG0_DIVQ_SHIFT 15 +#define PRCI_CLTXPLLCFG0_DIVQ_MASK (0x7 << PRCI_CLTXPLLCFG0_DIVQ_SHIFT) +#define PRCI_CLTXPLLCFG0_RANGE_SHIFT 18 +#define PRCI_CLTXPLLCFG0_RANGE_MASK (0x7 << PRCI_CLTXPLLCFG0_RANGE_SHIFT) +#define PRCI_CLTXPLLCFG0_BYPASS_SHIFT 24 +#define PRCI_CLTXPLLCFG0_BYPASS_MASK (0x1 << PRCI_CLTXPLLCFG0_BYPASS_SHIFT) +#define PRCI_CLTXPLLCFG0_FSE_SHIFT 25 +#define PRCI_CLTXPLLCFG0_FSE_MASK (0x1 << PRCI_CLTXPLLCFG0_FSE_SHIFT) +#define PRCI_CLTXPLLCFG0_LOCK_SHIFT 31 +#define PRCI_CLTXPLLCFG0_LOCK_MASK (0x1 << PRCI_CLTXPLLCFG0_LOCK_SHIFT) + +/* CLTXPLLCFG1 */ +#define PRCI_CLTXPLLCFG1_OFFSET 0x34 +#define PRCI_CLTXPLLCFG1_CKE_SHIFT 31 +#define PRCI_CLTXPLLCFG1_CKE_MASK (0x1 << PRCI_CLTXPLLCFG1_CKE_SHIFT) + +/* DVFSCOREPLLCFG0 */ +#define PRCI_DVFSCOREPLLCFG0_OFFSET 0x38 + +/* DVFSCOREPLLCFG1 */ +#define PRCI_DVFSCOREPLLCFG1_OFFSET 0x3c +#define PRCI_DVFSCOREPLLCFG1_CKE_SHIFT 31 +#define PRCI_DVFSCOREPLLCFG1_CKE_MASK (0x1 << PRCI_DVFSCOREPLLCFG1_CKE_SHIFT) + +/* COREPLLSEL */ +#define PRCI_COREPLLSEL_OFFSET 0x40 +#define PRCI_COREPLLSEL_COREPLLSEL_SHIFT 0 +#define PRCI_COREPLLSEL_COREPLLSEL_MASK \ + (0x1 << PRCI_COREPLLSEL_COREPLLSEL_SHIFT) + +/* HFPCLKPLLCFG0 */ +#define PRCI_HFPCLKPLLCFG0_OFFSET 0x50 +#define PRCI_HFPCLKPLL_CFG0_DIVR_SHIFT 0 +#define PRCI_HFPCLKPLL_CFG0_DIVR_MASK \ + (0x3f << PRCI_HFPCLKPLLCFG0_DIVR_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_DIVF_SHIFT 6 +#define PRCI_HFPCLKPLL_CFG0_DIVF_MASK \ + (0x1ff << PRCI_HFPCLKPLLCFG0_DIVF_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_DIVQ_SHIFT 15 +#define PRCI_HFPCLKPLL_CFG0_DIVQ_MASK \ + (0x7 << PRCI_HFPCLKPLLCFG0_DIVQ_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_RANGE_SHIFT 18 +#define PRCI_HFPCLKPLL_CFG0_RANGE_MASK \ + (0x7 << PRCI_HFPCLKPLLCFG0_RANGE_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_BYPASS_SHIFT 24 +#define PRCI_HFPCLKPLL_CFG0_BYPASS_MASK \ + (0x1 << PRCI_HFPCLKPLLCFG0_BYPASS_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_FSE_SHIFT 25 +#define PRCI_HFPCLKPLL_CFG0_FSE_MASK \ + (0x1 << PRCI_HFPCLKPLLCFG0_FSE_SHIFT) +#define PRCI_HFPCLKPLL_CFG0_LOCK_SHIFT 31 +#define PRCI_HFPCLKPLL_CFG0_LOCK_MASK \ + (0x1 << PRCI_HFPCLKPLLCFG0_LOCK_SHIFT) + +/* HFPCLKPLLCFG1 */ +#define PRCI_HFPCLKPLLCFG1_OFFSET 0x54 +#define PRCI_HFPCLKPLLCFG1_CKE_SHIFT 31 +#define PRCI_HFPCLKPLLCFG1_CKE_MASK \ + (0x1 << PRCI_HFPCLKPLLCFG1_CKE_SHIFT) + +/* HFPCLKPLLSEL */ +#define PRCI_HFPCLKPLLSEL_OFFSET 0x58 +#define PRCI_HFPCLKPLLSEL_HFPCLKPLLSEL_SHIFT 0 +#define PRCI_HFPCLKPLLSEL_HFPCLKPLLSEL_MASK \ + (0x1 << PRCI_HFPCLKPLLSEL_HFPCLKPLLSEL_SHIFT) + +/* HFPCLKPLLDIV */ +#define PRCI_HFPCLKPLLDIV_OFFSET 0x5c + +/* PRCIPLL */ +#define PRCI_PRCIPLL_OFFSET 0xe0 + +/* PROCMONCFG */ +#define PRCI_PROCMONCFG_OFFSET 0xf0 + +/* + * Private structures + */ + +/** + * struct __prci_data - per-device-instance data + * @va: base virtual address of the PRCI IP block + * @hw_clks: encapsulates struct clk_hw records + * + * PRCI per-device instance data + */ +struct __prci_data { + void __iomem *va; + struct clk_hw_onecell_data hw_clks; +}; + +/** + * struct __prci_wrpll_data - WRPLL configuration and integration data + * @c: WRPLL current configuration record + * @enable_bypass: fn ptr to code to bypass the WRPLL (if applicable; else NULL) + * @disable_bypass: fn ptr to code to not bypass the WRPLL (or NULL) + * @cfg0_offs: WRPLL CFG0 register offset (in bytes) from the PRCI base address + * @cfg1_offs: WRPLL CFG1 register offset (in bytes) from the PRCI base address + * + * @enable_bypass and @disable_bypass are used for WRPLL instances + * that contain a separate external glitchless clock mux downstream + * from the PLL. The WRPLL internal bypass mux is not glitchless. + */ +struct __prci_wrpll_data { + struct wrpll_cfg c; + void (*enable_bypass)(struct __prci_data *pd); + void (*disable_bypass)(struct __prci_data *pd); + u8 cfg0_offs; + u8 cfg1_offs; +}; + +/** + * struct __prci_clock - describes a clock device managed by PRCI + * @name: user-readable clock name string - should match the manual + * @parent_name: parent name for this clock + * @ops: struct clk_ops for the Linux clock framework to use for control + * @hw: Linux-private clock data + * @pwd: WRPLL-specific data, associated with this clock (if not NULL) + * @pd: PRCI-specific data associated with this clock (if not NULL) + * + * PRCI clock data. Used by the PRCI driver to register PRCI-provided + * clocks to the Linux clock infrastructure. + */ +struct __prci_clock { + const char *name; + const char *parent_name; + const struct clk_ops *ops; + struct clk_hw hw; + struct __prci_wrpll_data *pwd; + struct __prci_data *pd; +}; + +#define clk_hw_to_prci_clock(pwd) container_of(pwd, struct __prci_clock, hw) + +/* + * struct prci_clk_desc - describes the information of clocks of each SoCs + * @clks: point to a array of __prci_clock + * @num_clks: the number of element of clks + */ +struct prci_clk_desc { + struct __prci_clock *clks; + size_t num_clks; +}; + +/* Core clock mux control */ +void sifive_prci_coreclksel_use_hfclk(struct __prci_data *pd); +void sifive_prci_coreclksel_use_corepll(struct __prci_data *pd); +void sifive_prci_coreclksel_use_final_corepll(struct __prci_data *pd); +void sifive_prci_corepllsel_use_dvfscorepll(struct __prci_data *pd); +void sifive_prci_corepllsel_use_corepll(struct __prci_data *pd); +void sifive_prci_hfpclkpllsel_use_hfclk(struct __prci_data *pd); +void sifive_prci_hfpclkpllsel_use_hfpclkpll(struct __prci_data *pd); + +/* Linux clock framework integration */ +long sifive_prci_wrpll_round_rate(struct clk_hw *hw, unsigned long rate, + unsigned long *parent_rate); +int sifive_prci_wrpll_set_rate(struct clk_hw *hw, unsigned long rate, + unsigned long parent_rate); +int sifive_clk_is_enabled(struct clk_hw *hw); +int sifive_prci_clock_enable(struct clk_hw *hw); +void sifive_prci_clock_disable(struct clk_hw *hw); +unsigned long sifive_prci_wrpll_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate); +unsigned long sifive_prci_tlclksel_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate); +unsigned long sifive_prci_hfpclkplldiv_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate); + +#endif /* __SIFIVE_CLK_SIFIVE_PRCI_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sirf/clk-atlas6.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sirf/clk-atlas6.c @@ -135,7 +135,7 @@ for (i = pll1; i < maxclk; i++) { atlas6_clks[i] = clk_register(NULL, atlas6_clk_hw_array[i]); - BUG_ON(!atlas6_clks[i]); + BUG_ON(IS_ERR(atlas6_clks[i])); } clk_register_clkdev(atlas6_clks[cpu], NULL, "cpu"); clk_register_clkdev(atlas6_clks[io], NULL, "io"); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/socfpga/clk-gate.c +++ linux-riscv-5.8-5.8.0/drivers/clk/socfpga/clk-gate.c @@ -99,7 +99,7 @@ val = readl(socfpgaclk->div_reg) >> socfpgaclk->shift; val &= GENMASK(socfpgaclk->width - 1, 0); /* Check for GPIO_DB_CLK by its offset */ - if ((int) socfpgaclk->div_reg & SOCFPGA_GPIO_DB_CLK_OFFSET) + if ((uintptr_t) socfpgaclk->div_reg & SOCFPGA_GPIO_DB_CLK_OFFSET) div = val + 1; else div = (1 << val); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/socfpga/clk-s10.c +++ linux-riscv-5.8-5.8.0/drivers/clk/socfpga/clk-s10.c @@ -209,7 +209,7 @@ { STRATIX10_EMAC_B_FREE_CLK, "emacb_free_clk", NULL, emacb_free_mux, ARRAY_SIZE(emacb_free_mux), 0, 0, 2, 0xB0, 1}, { STRATIX10_EMAC_PTP_FREE_CLK, "emac_ptp_free_clk", NULL, emac_ptp_free_mux, - ARRAY_SIZE(emac_ptp_free_mux), 0, 0, 4, 0xB0, 2}, + ARRAY_SIZE(emac_ptp_free_mux), 0, 0, 2, 0xB0, 2}, { STRATIX10_GPIO_DB_FREE_CLK, "gpio_db_free_clk", NULL, gpio_db_free_mux, ARRAY_SIZE(gpio_db_free_mux), 0, 0, 0, 0xB0, 3}, { STRATIX10_SDMMC_FREE_CLK, "sdmmc_free_clk", NULL, sdmmc_free_mux, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sunxi-ng/ccu-sun50i-a64.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sunxi-ng/ccu-sun50i-a64.c @@ -389,6 +389,7 @@ { .val = 1, .div = 2 }, { .val = 2, .div = 4 }, { .val = 3, .div = 6 }, + { /* Sentinel */ }, }; static const char * const ths_parents[] = { "osc24M" }; static struct ccu_div ths_clk = { --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sunxi-ng/ccu-sun50i-h6.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sunxi-ng/ccu-sun50i-h6.c @@ -237,7 +237,7 @@ static SUNXI_CCU_MP_WITH_MUX(psi_ahb1_ahb2_clk, "psi-ahb1-ahb2", psi_ahb1_ahb2_parents, 0x510, - 0, 5, /* M */ + 0, 2, /* M */ 8, 2, /* P */ 24, 2, /* mux */ 0); @@ -246,19 +246,19 @@ "psi-ahb1-ahb2", "pll-periph0" }; static SUNXI_CCU_MP_WITH_MUX(ahb3_clk, "ahb3", ahb3_apb1_apb2_parents, 0x51c, - 0, 5, /* M */ + 0, 2, /* M */ 8, 2, /* P */ 24, 2, /* mux */ 0); static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", ahb3_apb1_apb2_parents, 0x520, - 0, 5, /* M */ + 0, 2, /* M */ 8, 2, /* P */ 24, 2, /* mux */ 0); static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", ahb3_apb1_apb2_parents, 0x524, - 0, 5, /* M */ + 0, 2, /* M */ 8, 2, /* P */ 24, 2, /* mux */ 0); @@ -682,7 +682,7 @@ .common = { .reg = 0xb10, - .features = CCU_FEATURE_VARIABLE_PREDIV, + .features = CCU_FEATURE_FIXED_PREDIV, .hw.init = CLK_HW_INIT_PARENTS("hdmi-cec", hdmi_cec_parents, &ccu_mux_ops, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sunxi-ng/ccu-sun8i-h3.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sunxi-ng/ccu-sun8i-h3.c @@ -322,6 +322,7 @@ { .val = 1, .div = 2 }, { .val = 2, .div = 4 }, { .val = 3, .div = 6 }, + { /* Sentinel */ }, }; static SUNXI_CCU_DIV_TABLE_WITH_GATE(ths_clk, "ths", "osc24M", 0x074, 0, 2, ths_div_table, BIT(31), 0); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/sunxi-ng/ccu_mp.c +++ linux-riscv-5.8-5.8.0/drivers/clk/sunxi-ng/ccu_mp.c @@ -108,7 +108,7 @@ max_m = cmp->m.max ?: 1 << cmp->m.width; max_p = cmp->p.max ?: 1 << ((1 << cmp->p.width) - 1); - if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) { + if (!clk_hw_can_set_rate_parent(&cmp->common.hw)) { ccu_mp_find_best(*parent_rate, rate, max_m, max_p, &m, &p); rate = *parent_rate / p / m; } else { --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-dfll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-dfll.c @@ -1856,13 +1856,13 @@ &td->reg_init_uV); if (!ret) { dev_err(td->dev, "couldn't get initialized voltage\n"); - return ret; + return -EINVAL; } ret = read_dt_param(td, "nvidia,pwm-period-nanoseconds", &pwm_period); if (!ret) { dev_err(td->dev, "couldn't get PWM period\n"); - return ret; + return -EINVAL; } td->pwm_rate = (NSEC_PER_SEC / pwm_period) * (MAX_DFLL_VOLTAGES - 1); --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-id.h +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-id.h @@ -227,6 +227,7 @@ tegra_clk_sdmmc4, tegra_clk_sdmmc4_8, tegra_clk_se, + tegra_clk_se_10, tegra_clk_soc_therm, tegra_clk_soc_therm_8, tegra_clk_sor0, --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-pll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-pll.c @@ -1601,9 +1601,6 @@ unsigned long flags = 0; unsigned long input_rate; - if (clk_pll_is_enabled(hw)) - return 0; - input_rate = clk_hw_get_rate(clk_hw_get_parent(hw)); if (_get_table_rate(hw, &sel, pll->params->fixed_rate, input_rate)) --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-tegra-periph.c +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-tegra-periph.c @@ -630,7 +630,7 @@ INT8("host1x", mux_pllm_pllc2_c_c3_pllp_plla, CLK_SOURCE_HOST1X, 28, 0, tegra_clk_host1x_8), INT8("host1x", mux_pllc4_out1_pllc_pllc4_out2_pllp_clkm_plla_pllc4_out0, CLK_SOURCE_HOST1X, 28, 0, tegra_clk_host1x_9), INT8("se", mux_pllp_pllc2_c_c3_pllm_clkm, CLK_SOURCE_SE, 127, TEGRA_PERIPH_ON_APB, tegra_clk_se), - INT8("se", mux_pllp_pllc2_c_c3_clkm, CLK_SOURCE_SE, 127, TEGRA_PERIPH_ON_APB, tegra_clk_se), + INT8("se", mux_pllp_pllc2_c_c3_clkm, CLK_SOURCE_SE, 127, TEGRA_PERIPH_ON_APB, tegra_clk_se_10), INT8("2d", mux_pllm_pllc2_c_c3_pllp_plla, CLK_SOURCE_2D, 21, 0, tegra_clk_gr2d_8), INT8("3d", mux_pllm_pllc2_c_c3_pllp_plla, CLK_SOURCE_3D, 24, 0, tegra_clk_gr3d_8), INT8("vic03", mux_pllm_pllc_pllp_plla_pllc2_c3_clkm, CLK_SOURCE_VIC03, 178, 0, tegra_clk_vic03), --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-tegra210-emc.c +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-tegra210-emc.c @@ -12,6 +12,8 @@ #include #include +#include "clk.h" + #define CLK_SOURCE_EMC 0x19c #define CLK_SOURCE_EMC_2X_CLK_SRC GENMASK(31, 29) #define CLK_SOURCE_EMC_MC_EMC_SAME_FREQ BIT(16) --- linux-riscv-5.8-5.8.0.orig/drivers/clk/tegra/clk-tegra30.c +++ linux-riscv-5.8-5.8.0/drivers/clk/tegra/clk-tegra30.c @@ -1256,6 +1256,8 @@ { TEGRA30_CLK_I2S3_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, { TEGRA30_CLK_I2S4_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, { 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 }, /* must be the last entry */ { TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/clk/ti/clockdomain.c +++ linux-riscv-5.8-5.8.0/drivers/clk/ti/clockdomain.c @@ -148,10 +148,12 @@ if (!omap2_clk_is_hw_omap(clk_hw)) { pr_warn("can't setup clkdm for basic clk %s\n", __clk_get_name(clk)); + clk_put(clk); continue; } to_clk_hw_omap(clk_hw)->clkdm_name = clkdm_name; omap2_init_clk_clkdm(clk_hw); + clk_put(clk); } } --- linux-riscv-5.8-5.8.0.orig/drivers/clk/ti/fapll.c +++ linux-riscv-5.8-5.8.0/drivers/clk/ti/fapll.c @@ -498,6 +498,7 @@ { struct clk_init_data *init; struct fapll_synth *synth; + struct clk *clk = ERR_PTR(-ENOMEM); init = kzalloc(sizeof(*init), GFP_KERNEL); if (!init) @@ -520,13 +521,19 @@ synth->hw.init = init; synth->clk_pll = pll_clk; - return clk_register(NULL, &synth->hw); + clk = clk_register(NULL, &synth->hw); + if (IS_ERR(clk)) { + pr_err("failed to register clock\n"); + goto free; + } + + return clk; free: kfree(synth); kfree(init); - return ERR_PTR(-ENOMEM); + return clk; } static void __init ti_fapll_setup(struct device_node *node) --- linux-riscv-5.8-5.8.0.orig/drivers/clk/versatile/clk-impd1.c +++ linux-riscv-5.8-5.8.0/drivers/clk/versatile/clk-impd1.c @@ -109,8 +109,10 @@ for_each_available_child_of_node(np, child) { ret = integrator_impd1_clk_spawn(dev, np, child); - if (ret) + if (ret) { + of_node_put(child); break; + } } return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/clocksource/Kconfig @@ -79,6 +79,7 @@ bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO + select TIMER_OF if OF help Enables support for the Intel XScale IXP4xx SoC timer. --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/arm_arch_timer.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/arm_arch_timer.c @@ -396,10 +396,10 @@ ctrl &= ~ARCH_TIMER_CTRL_IT_MASK; if (access == ARCH_TIMER_PHYS_ACCESS) { - cval = evt + arch_counter_get_cntpct(); + cval = evt + arch_counter_get_cntpct_stable(); write_sysreg(cval, cntp_cval_el0); } else { - cval = evt + arch_counter_get_cntvct(); + cval = evt + arch_counter_get_cntvct_stable(); write_sysreg(cval, cntv_cval_el0); } @@ -822,15 +822,24 @@ static void arch_timer_configure_evtstream(void) { - int evt_stream_div, pos; + int evt_stream_div, lsb; + + /* + * As the event stream can at most be generated at half the frequency + * of the counter, use half the frequency when computing the divider. + */ + evt_stream_div = arch_timer_rate / ARCH_TIMER_EVT_STREAM_FREQ / 2; + + /* + * Find the closest power of two to the divisor. If the adjacent bit + * of lsb (last set bit, starts from 0) is set, then we use (lsb + 1). + */ + lsb = fls(evt_stream_div) - 1; + if (lsb > 0 && (evt_stream_div & BIT(lsb - 1))) + lsb++; - /* Find the closest power of two to the divisor */ - evt_stream_div = arch_timer_rate / ARCH_TIMER_EVT_STREAM_FREQ; - pos = fls(evt_stream_div); - if (pos > 1 && !(evt_stream_div & (1 << (pos - 2)))) - pos--; /* enable event stream */ - arch_timer_evtstrm_enable(min(pos, 15)); + arch_timer_evtstrm_enable(max(0, min(lsb, 15))); } static void arch_counter_set_user_access(void) --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/h8300_timer8.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/h8300_timer8.c @@ -169,7 +169,7 @@ return PTR_ERR(clk); } - ret = ENXIO; + ret = -ENXIO; base = of_iomap(node, 0); if (!base) { pr_err("failed to map registers for clockevent\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/hyperv_timer.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/hyperv_timer.c @@ -341,7 +341,7 @@ return read_hv_clock_tsc(); } -static u64 read_hv_sched_clock_tsc(void) +static u64 notrace read_hv_sched_clock_tsc(void) { return (read_hv_clock_tsc() - hv_sched_clock_offset) * (NSEC_PER_SEC / HV_CLOCK_HZ); @@ -404,7 +404,7 @@ return read_hv_clock_msr(); } -static u64 read_hv_sched_clock_msr(void) +static u64 notrace read_hv_sched_clock_msr(void) { return (read_hv_clock_msr() - hv_sched_clock_offset) * (NSEC_PER_SEC / HV_CLOCK_HZ); --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/ingenic-timer.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/ingenic-timer.c @@ -94,7 +94,7 @@ return IRQ_HANDLED; } -static struct clk * __init ingenic_tcu_get_clock(struct device_node *np, int id) +static struct clk *ingenic_tcu_get_clock(struct device_node *np, int id) { struct of_phandle_args args; --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/mxs_timer.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/mxs_timer.c @@ -131,10 +131,7 @@ /* Clear pending interrupt */ timrot_irq_acknowledge(); - -#ifdef DEBUG - pr_info("%s: changing mode to %s\n", __func__, state) -#endif /* DEBUG */ + pr_debug("%s: changing mode to %s\n", __func__, state); } static int mxs_shutdown(struct clock_event_device *evt) --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/timer-cadence-ttc.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/timer-cadence-ttc.c @@ -413,10 +413,8 @@ ttcce->ttc.clk = clk; err = clk_prepare_enable(ttcce->ttc.clk); - if (err) { - kfree(ttcce); - return err; - } + if (err) + goto out_kfree; ttcce->ttc.clk_rate_change_nb.notifier_call = ttc_rate_change_clockevent_cb; @@ -426,7 +424,7 @@ &ttcce->ttc.clk_rate_change_nb); if (err) { pr_warn("Unable to register clock notifier.\n"); - return err; + goto out_kfree; } ttcce->ttc.freq = clk_get_rate(ttcce->ttc.clk); @@ -455,15 +453,17 @@ err = request_irq(irq, ttc_clock_event_interrupt, IRQF_TIMER, ttcce->ce.name, ttcce); - if (err) { - kfree(ttcce); - return err; - } + if (err) + goto out_kfree; clockevents_config_and_register(&ttcce->ce, ttcce->ttc.freq / PRESCALE, 1, 0xfffe); return 0; + +out_kfree: + kfree(ttcce); + return err; } static int __init ttc_timer_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/timer-gx6605s.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/timer-gx6605s.c @@ -28,6 +28,7 @@ void __iomem *base = timer_of_base(to_timer_of(ce)); writel_relaxed(GX6605S_STATUS_CLR, base + TIMER_STATUS); + writel_relaxed(0, base + TIMER_INI); ce->event_handler(ce); --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/timer-orion.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/timer-orion.c @@ -143,7 +143,8 @@ irq = irq_of_parse_and_map(np, 1); if (irq <= 0) { pr_err("%pOFn: unable to parse timer1 irq\n", np); - return -EINVAL; + ret = -EINVAL; + goto out_unprep_clk; } rate = clk_get_rate(clk); @@ -160,7 +161,7 @@ clocksource_mmio_readl_down); if (ret) { pr_err("Failed to initialize mmio timer\n"); - return ret; + goto out_unprep_clk; } sched_clock_register(orion_read_sched_clock, 32, rate); @@ -170,7 +171,7 @@ "orion_event", NULL); if (ret) { pr_err("%pOFn: unable to setup irq\n", np); - return ret; + goto out_unprep_clk; } ticks_per_jiffy = (clk_get_rate(clk) + HZ/2) / HZ; @@ -183,5 +184,9 @@ orion_delay_timer_init(rate); return 0; + +out_unprep_clk: + clk_disable_unprepare(clk); + return ret; } TIMER_OF_DECLARE(orion_timer, "marvell,orion-timer", orion_timer_init); --- linux-riscv-5.8-5.8.0.orig/drivers/clocksource/timer-ti-dm-systimer.c +++ linux-riscv-5.8-5.8.0/drivers/clocksource/timer-ti-dm-systimer.c @@ -69,12 +69,33 @@ return !(tidr >> 16); } +static void dmtimer_systimer_enable(struct dmtimer_systimer *t) +{ + u32 val; + + if (dmtimer_systimer_revision1(t)) + val = DMTIMER_TYPE1_ENABLE; + else + val = DMTIMER_TYPE2_ENABLE; + + writel_relaxed(val, t->base + t->sysc); +} + +static void dmtimer_systimer_disable(struct dmtimer_systimer *t) +{ + if (!dmtimer_systimer_revision1(t)) + return; + + writel_relaxed(DMTIMER_TYPE1_DISABLE, t->base + t->sysc); +} + static int __init dmtimer_systimer_type1_reset(struct dmtimer_systimer *t) { void __iomem *syss = t->base + OMAP_TIMER_V1_SYS_STAT_OFFSET; int ret; u32 l; + dmtimer_systimer_enable(t); writel_relaxed(BIT(1) | BIT(2), t->base + t->ifctrl); ret = readl_poll_timeout_atomic(syss, l, l & BIT(0), 100, DMTIMER_RESET_WAIT); @@ -88,6 +109,7 @@ void __iomem *sysc = t->base + t->sysc; u32 l; + dmtimer_systimer_enable(t); l = readl_relaxed(sysc); l |= BIT(0); writel_relaxed(l, sysc); @@ -336,26 +358,6 @@ return 0; } -static void dmtimer_systimer_enable(struct dmtimer_systimer *t) -{ - u32 val; - - if (dmtimer_systimer_revision1(t)) - val = DMTIMER_TYPE1_ENABLE; - else - val = DMTIMER_TYPE2_ENABLE; - - writel_relaxed(val, t->base + t->sysc); -} - -static void dmtimer_systimer_disable(struct dmtimer_systimer *t) -{ - if (!dmtimer_systimer_revision1(t)) - return; - - writel_relaxed(DMTIMER_TYPE1_DISABLE, t->base + t->sysc); -} - static int __init dmtimer_systimer_setup(struct device_node *np, struct dmtimer_systimer *t) { @@ -409,8 +411,8 @@ t->wakeup = regbase + _OMAP_TIMER_WAKEUP_EN_OFFSET; t->ifctrl = regbase + _OMAP_TIMER_IF_CTRL_OFFSET; - dmtimer_systimer_enable(t); dmtimer_systimer_reset(t); + dmtimer_systimer_enable(t); pr_debug("dmtimer rev %08x sysc %08x\n", readl_relaxed(t->base), readl_relaxed(t->base + t->sysc)); --- linux-riscv-5.8-5.8.0.orig/drivers/counter/stm32-timer-cnt.c +++ linux-riscv-5.8-5.8.0/drivers/counter/stm32-timer-cnt.c @@ -31,7 +31,7 @@ struct counter_device counter; struct regmap *regmap; struct clk *clk; - u32 ceiling; + u32 max_arr; bool enabled; struct stm32_timer_regs bak; }; @@ -44,13 +44,14 @@ * @STM32_COUNT_ENCODER_MODE_3: counts on both TI1FP1 and TI2FP2 edges */ enum stm32_count_function { - STM32_COUNT_SLAVE_MODE_DISABLED = -1, + STM32_COUNT_SLAVE_MODE_DISABLED, STM32_COUNT_ENCODER_MODE_1, STM32_COUNT_ENCODER_MODE_2, STM32_COUNT_ENCODER_MODE_3, }; static enum counter_count_function stm32_count_functions[] = { + [STM32_COUNT_SLAVE_MODE_DISABLED] = COUNTER_COUNT_FUNCTION_INCREASE, [STM32_COUNT_ENCODER_MODE_1] = COUNTER_COUNT_FUNCTION_QUADRATURE_X2_A, [STM32_COUNT_ENCODER_MODE_2] = COUNTER_COUNT_FUNCTION_QUADRATURE_X2_B, [STM32_COUNT_ENCODER_MODE_3] = COUNTER_COUNT_FUNCTION_QUADRATURE_X4, @@ -73,8 +74,10 @@ const unsigned long val) { struct stm32_timer_cnt *const priv = counter->priv; + u32 ceiling; - if (val > priv->ceiling) + regmap_read(priv->regmap, TIM_ARR, &ceiling); + if (val > ceiling) return -EINVAL; return regmap_write(priv->regmap, TIM_CNT, val); @@ -90,6 +93,9 @@ regmap_read(priv->regmap, TIM_SMCR, &smcr); switch (smcr & TIM_SMCR_SMS) { + case 0: + *function = STM32_COUNT_SLAVE_MODE_DISABLED; + return 0; case 1: *function = STM32_COUNT_ENCODER_MODE_1; return 0; @@ -99,9 +105,9 @@ case 3: *function = STM32_COUNT_ENCODER_MODE_3; return 0; + default: + return -EINVAL; } - - return -EINVAL; } static int stm32_count_function_set(struct counter_device *counter, @@ -112,6 +118,9 @@ u32 cr1, sms; switch (function) { + case STM32_COUNT_SLAVE_MODE_DISABLED: + sms = 0; + break; case STM32_COUNT_ENCODER_MODE_1: sms = 1; break; @@ -122,8 +131,7 @@ sms = 3; break; default: - sms = 0; - break; + return -EINVAL; } /* Store enable status */ @@ -131,10 +139,6 @@ regmap_update_bits(priv->regmap, TIM_CR1, TIM_CR1_CEN, 0); - /* TIMx_ARR register shouldn't be buffered (ARPE=0) */ - regmap_update_bits(priv->regmap, TIM_CR1, TIM_CR1_ARPE, 0); - regmap_write(priv->regmap, TIM_ARR, priv->ceiling); - regmap_update_bits(priv->regmap, TIM_SMCR, TIM_SMCR_SMS, sms); /* Make sure that registers are updated */ @@ -185,11 +189,13 @@ if (ret) return ret; + if (ceiling > priv->max_arr) + return -ERANGE; + /* TIMx_ARR register shouldn't be buffered (ARPE=0) */ regmap_update_bits(priv->regmap, TIM_CR1, TIM_CR1_ARPE, 0); regmap_write(priv->regmap, TIM_ARR, ceiling); - priv->ceiling = ceiling; return len; } @@ -274,31 +280,36 @@ size_t function; int err; - /* Default action mode (e.g. STM32_COUNT_SLAVE_MODE_DISABLED) */ - *action = STM32_SYNAPSE_ACTION_NONE; - err = stm32_count_function_get(counter, count, &function); if (err) - return 0; + return err; switch (function) { + case STM32_COUNT_SLAVE_MODE_DISABLED: + /* counts on internal clock when CEN=1 */ + *action = STM32_SYNAPSE_ACTION_NONE; + return 0; case STM32_COUNT_ENCODER_MODE_1: /* counts up/down on TI1FP1 edge depending on TI2FP2 level */ if (synapse->signal->id == count->synapses[0].signal->id) *action = STM32_SYNAPSE_ACTION_BOTH_EDGES; - break; + else + *action = STM32_SYNAPSE_ACTION_NONE; + return 0; case STM32_COUNT_ENCODER_MODE_2: /* counts up/down on TI2FP2 edge depending on TI1FP1 level */ if (synapse->signal->id == count->synapses[1].signal->id) *action = STM32_SYNAPSE_ACTION_BOTH_EDGES; - break; + else + *action = STM32_SYNAPSE_ACTION_NONE; + return 0; case STM32_COUNT_ENCODER_MODE_3: /* counts up/down on both TI1FP1 and TI2FP2 edges */ *action = STM32_SYNAPSE_ACTION_BOTH_EDGES; - break; + return 0; + default: + return -EINVAL; } - - return 0; } static const struct counter_ops stm32_timer_cnt_ops = { @@ -359,7 +370,7 @@ priv->regmap = ddata->regmap; priv->clk = ddata->clk; - priv->ceiling = ddata->max_arr; + priv->max_arr = ddata->max_arr; priv->counter.name = dev_name(dev); priv->counter.parent = dev; --- linux-riscv-5.8-5.8.0.orig/drivers/counter/ti-eqep.c +++ linux-riscv-5.8-5.8.0/drivers/counter/ti-eqep.c @@ -235,36 +235,6 @@ return len; } -static ssize_t ti_eqep_position_floor_read(struct counter_device *counter, - struct counter_count *count, - void *ext_priv, char *buf) -{ - struct ti_eqep_cnt *priv = counter->priv; - u32 qposinit; - - regmap_read(priv->regmap32, QPOSINIT, &qposinit); - - return sprintf(buf, "%u\n", qposinit); -} - -static ssize_t ti_eqep_position_floor_write(struct counter_device *counter, - struct counter_count *count, - void *ext_priv, const char *buf, - size_t len) -{ - struct ti_eqep_cnt *priv = counter->priv; - int err; - u32 res; - - err = kstrtouint(buf, 0, &res); - if (err < 0) - return err; - - regmap_write(priv->regmap32, QPOSINIT, res); - - return len; -} - static ssize_t ti_eqep_position_enable_read(struct counter_device *counter, struct counter_count *count, void *ext_priv, char *buf) @@ -302,11 +272,6 @@ .write = ti_eqep_position_ceiling_write, }, { - .name = "floor", - .read = ti_eqep_position_floor_read, - .write = ti_eqep_position_floor_write, - }, - { .name = "enable", .read = ti_eqep_position_enable_read, .write = ti_eqep_position_enable_write, @@ -368,7 +333,7 @@ .reg_bits = 32, .val_bits = 32, .reg_stride = 4, - .max_register = 0x24, + .max_register = QUPRD, }; static const struct regmap_config ti_eqep_regmap16_config = { @@ -376,7 +341,7 @@ .reg_bits = 16, .val_bits = 16, .reg_stride = 2, - .max_register = 0x1e, + .max_register = QCPRDLAT, }; static int ti_eqep_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/Kconfig.arm +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/Kconfig.arm @@ -41,6 +41,7 @@ config ARM_ARMADA_8K_CPUFREQ tristate "Armada 8K CPUFreq driver" depends on ARCH_MVEBU && CPUFREQ_DT + select ARMADA_AP_CPU_CLK help This enables the CPUFreq driver support for Marvell Armada8k SOCs. --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/acpi-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/acpi-cpufreq.c @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -628,16 +629,53 @@ } #endif +#ifdef CONFIG_ACPI_CPPC_LIB +static u64 get_max_boost_ratio(unsigned int cpu) +{ + struct cppc_perf_caps perf_caps; + u64 highest_perf, nominal_perf; + int ret; + + if (acpi_pstate_strict) + return 0; + + ret = cppc_get_perf_caps(cpu, &perf_caps); + if (ret) { + pr_debug("CPU%d: Unable to get performance capabilities (%d)\n", + cpu, ret); + return 0; + } + + highest_perf = perf_caps.highest_perf; + nominal_perf = perf_caps.nominal_perf; + + if (!highest_perf || !nominal_perf) { + pr_debug("CPU%d: highest or nominal performance missing\n", cpu); + return 0; + } + + if (highest_perf < nominal_perf) { + pr_debug("CPU%d: nominal performance above highest\n", cpu); + return 0; + } + + return div_u64(highest_perf << SCHED_CAPACITY_SHIFT, nominal_perf); +} +#else +static inline u64 get_max_boost_ratio(unsigned int cpu) { return 0; } +#endif + static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) { - unsigned int i; - unsigned int valid_states = 0; - unsigned int cpu = policy->cpu; + struct cpufreq_frequency_table *freq_table; + struct acpi_processor_performance *perf; struct acpi_cpufreq_data *data; + unsigned int cpu = policy->cpu; + struct cpuinfo_x86 *c = &cpu_data(cpu); + unsigned int valid_states = 0; unsigned int result = 0; - struct cpuinfo_x86 *c = &cpu_data(policy->cpu); - struct acpi_processor_performance *perf; - struct cpufreq_frequency_table *freq_table; + u64 max_boost_ratio; + unsigned int i; #ifdef CONFIG_SMP static int blacklisted; #endif @@ -691,7 +729,8 @@ cpumask_copy(policy->cpus, topology_core_cpumask(cpu)); } - if (check_amd_hwpstate_cpu(cpu) && !acpi_pstate_strict) { + if (check_amd_hwpstate_cpu(cpu) && boot_cpu_data.x86 < 0x19 && + !acpi_pstate_strict) { cpumask_clear(policy->cpus); cpumask_set_cpu(cpu, policy->cpus); cpumask_copy(data->freqdomain_cpus, @@ -784,6 +823,28 @@ valid_states++; } freq_table[valid_states].frequency = CPUFREQ_TABLE_END; + + max_boost_ratio = get_max_boost_ratio(cpu); + if (max_boost_ratio) { + unsigned int freq = freq_table[0].frequency; + + /* + * Because the loop above sorts the freq_table entries in the + * descending order, freq is the maximum frequency in the table. + * Assume that it corresponds to the CPPC nominal frequency and + * use it to set cpuinfo.max_freq. + */ + policy->cpuinfo.max_freq = freq * max_boost_ratio >> SCHED_CAPACITY_SHIFT; + } else { + /* + * If the maximum "boost" frequency is unknown, ask the arch + * scale-invariance code to use the "nominal" performance for + * CPU utilization scaling so as to prevent the schedutil + * governor from selecting inadequate CPU frequencies. + */ + arch_set_max_freq_ratio(true); + } + policy->freq_table = freq_table; perf->state = 0; @@ -857,8 +918,9 @@ { struct acpi_processor_performance *perf = per_cpu_ptr(acpi_perf_data, policy->cpu); + unsigned int freq = policy->freq_table[0].frequency; - if (perf->states[0].core_frequency * 1000 != policy->cpuinfo.max_freq) + if (perf->states[0].core_frequency * 1000 != freq) pr_warn(FW_WARN "P-state 0 is not max freq\n"); } --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/armada-37xx-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/armada-37xx-cpufreq.c @@ -456,6 +456,7 @@ /* Now that everything is setup, enable the DVFS at hardware level */ armada37xx_cpufreq_enable_dvfs(nb_pm_base); + memset(&pdata, 0, sizeof(pdata)); pdata.suspend = armada37xx_cpufreq_suspend; pdata.resume = armada37xx_cpufreq_resume; @@ -483,6 +484,12 @@ /* late_initcall, to guarantee the driver is loaded after A37xx clock driver */ late_initcall(armada37xx_cpufreq_driver_init); +static const struct of_device_id __maybe_unused armada37xx_cpufreq_of_match[] = { + { .compatible = "marvell,armada-3700-nb-pm" }, + { }, +}; +MODULE_DEVICE_TABLE(of, armada37xx_cpufreq_of_match); + MODULE_AUTHOR("Gregory CLEMENT "); MODULE_DESCRIPTION("Armada 37xx cpufreq driver"); MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/armada-8k-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/armada-8k-cpufreq.c @@ -204,6 +204,12 @@ } module_exit(armada_8k_cpufreq_exit); +static const struct of_device_id __maybe_unused armada_8k_cpufreq_of_match[] = { + { .compatible = "marvell,ap806-cpu-clock" }, + { }, +}; +MODULE_DEVICE_TABLE(of, armada_8k_cpufreq_of_match); + MODULE_AUTHOR("Gregory Clement "); MODULE_DESCRIPTION("Armada 8K cpufreq driver"); MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/brcmstb-avs-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/brcmstb-avs-cpufreq.c @@ -568,6 +568,16 @@ return ret; } +static void brcm_avs_prepare_uninit(struct platform_device *pdev) +{ + struct private_data *priv; + + priv = platform_get_drvdata(pdev); + + iounmap(priv->avs_intr_base); + iounmap(priv->base); +} + static int brcm_avs_cpufreq_init(struct cpufreq_policy *policy) { struct cpufreq_frequency_table *freq_table; @@ -703,21 +713,21 @@ brcm_avs_driver.driver_data = pdev; - return cpufreq_register_driver(&brcm_avs_driver); + ret = cpufreq_register_driver(&brcm_avs_driver); + if (ret) + brcm_avs_prepare_uninit(pdev); + + return ret; } static int brcm_avs_cpufreq_remove(struct platform_device *pdev) { - struct private_data *priv; int ret; ret = cpufreq_unregister_driver(&brcm_avs_driver); - if (ret) - return ret; + WARN_ON(ret); - priv = platform_get_drvdata(pdev); - iounmap(priv->base); - iounmap(priv->avs_intr_base); + brcm_avs_prepare_uninit(pdev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/cpufreq-dt-platdev.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/cpufreq-dt-platdev.c @@ -103,6 +103,8 @@ static const struct of_device_id blacklist[] __initconst = { { .compatible = "allwinner,sun50i-h6", }, + { .compatible = "arm,vexpress", }, + { .compatible = "calxeda,highbank", }, { .compatible = "calxeda,ecx-2000", }, --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/cpufreq.c @@ -621,6 +621,24 @@ return NULL; } +static struct cpufreq_governor *get_governor(const char *str_governor) +{ + struct cpufreq_governor *t; + + mutex_lock(&cpufreq_governor_mutex); + t = find_governor(str_governor); + if (!t) + goto unlock; + + if (!try_module_get(t->owner)) + t = NULL; + +unlock: + mutex_unlock(&cpufreq_governor_mutex); + + return t; +} + static unsigned int cpufreq_parse_policy(char *str_governor) { if (!strncasecmp(str_governor, "performance", CPUFREQ_NAME_LEN)) @@ -640,28 +658,14 @@ { struct cpufreq_governor *t; - mutex_lock(&cpufreq_governor_mutex); - - t = find_governor(str_governor); - if (!t) { - int ret; - - mutex_unlock(&cpufreq_governor_mutex); - - ret = request_module("cpufreq_%s", str_governor); - if (ret) - return NULL; - - mutex_lock(&cpufreq_governor_mutex); - - t = find_governor(str_governor); - } - if (t && !try_module_get(t->owner)) - t = NULL; + t = get_governor(str_governor); + if (t) + return t; - mutex_unlock(&cpufreq_governor_mutex); + if (request_module("cpufreq_%s", str_governor)) + return NULL; - return t; + return get_governor(str_governor); } /** @@ -815,12 +819,14 @@ goto out; } + mutex_lock(&cpufreq_governor_mutex); for_each_governor(t) { if (i >= (ssize_t) ((PAGE_SIZE / sizeof(char)) - (CPUFREQ_NAME_LEN + 2))) - goto out; + break; i += scnprintf(&buf[i], CPUFREQ_NAME_PLEN, "%s ", t->name); } + mutex_unlock(&cpufreq_governor_mutex); out: i += sprintf(&buf[i], "\n"); return i; @@ -1058,15 +1064,17 @@ struct cpufreq_governor *def_gov = cpufreq_default_governor(); struct cpufreq_governor *gov = NULL; unsigned int pol = CPUFREQ_POLICY_UNKNOWN; + int ret; if (has_target()) { /* Update policy governor to the one used before hotplug. */ - gov = find_governor(policy->last_governor); + gov = get_governor(policy->last_governor); if (gov) { pr_debug("Restoring governor %s for cpu %d\n", policy->governor->name, policy->cpu); } else if (def_gov) { gov = def_gov; + __module_get(gov->owner); } else { return -ENODATA; } @@ -1089,7 +1097,11 @@ return -ENODATA; } - return cpufreq_set_policy(policy, gov, pol); + ret = cpufreq_set_policy(policy, gov, pol); + if (gov) + module_put(gov->owner); + + return ret; } static int cpufreq_add_policy_cpu(struct cpufreq_policy *policy, unsigned int cpu) @@ -1895,6 +1907,18 @@ } /** + * cpufreq_driver_test_flags - Test cpufreq driver's flags against given ones. + * @flags: Flags to test against the current cpufreq driver's flags. + * + * Assumes that the driver is there, so callers must ensure that this is the + * case. + */ +bool cpufreq_driver_test_flags(u16 flags) +{ + return !!(cpufreq_driver->flags & flags); +} + +/** * cpufreq_get_current_driver - return current driver's name * * Return the name string of the currently loaded cpufreq driver @@ -2157,7 +2181,8 @@ * exactly same freq is called again and so we can save on few function * calls. */ - if (target_freq == policy->cur) + if (target_freq == policy->cur && + !(cpufreq_driver->flags & CPUFREQ_NEED_UPDATE_LIMITS)) return 0; /* Save last value to restore later on errors */ @@ -2211,7 +2236,7 @@ return -EINVAL; /* Platform doesn't want dynamic frequency switching ? */ - if (policy->governor->dynamic_switching && + if (policy->governor->flags & CPUFREQ_GOV_DYNAMIC_SWITCHING && cpufreq_driver->flags & CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING) { struct cpufreq_governor *gov = cpufreq_fallback_governor(); @@ -2237,6 +2262,8 @@ } } + policy->strict_target = !!(policy->governor->flags & CPUFREQ_GOV_STRICT_TARGET); + return 0; } @@ -2651,6 +2678,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# @@ -2685,7 +2726,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-riscv-5.8-5.8.0.orig/drivers/cpufreq/cpufreq_governor.h +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/cpufreq_governor.h @@ -156,7 +156,7 @@ #define CPUFREQ_DBS_GOVERNOR_INITIALIZER(_name_) \ { \ .name = _name_, \ - .dynamic_switching = true, \ + .flags = CPUFREQ_GOV_DYNAMIC_SWITCHING, \ .owner = THIS_MODULE, \ .init = cpufreq_dbs_governor_init, \ .exit = cpufreq_dbs_governor_exit, \ --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/cpufreq_performance.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/cpufreq_performance.c @@ -20,6 +20,7 @@ static struct cpufreq_governor cpufreq_gov_performance = { .name = "performance", .owner = THIS_MODULE, + .flags = CPUFREQ_GOV_STRICT_TARGET, .limits = cpufreq_gov_performance_limits, }; --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/cpufreq_powersave.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/cpufreq_powersave.c @@ -21,6 +21,7 @@ .name = "powersave", .limits = cpufreq_gov_powersave_limits, .owner = THIS_MODULE, + .flags = CPUFREQ_GOV_STRICT_TARGET, }; static int __init cpufreq_gov_powersave_init(void) --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/freq_table.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/freq_table.c @@ -52,7 +52,13 @@ } policy->min = policy->cpuinfo.min_freq = min_freq; - policy->max = policy->cpuinfo.max_freq = max_freq; + policy->max = max_freq; + /* + * If the driver has set its own cpuinfo.max_freq above max_freq, leave + * it as is. + */ + if (policy->cpuinfo.max_freq < max_freq) + policy->max = policy->cpuinfo.max_freq = max_freq; if (policy->min == ~0) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/highbank-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/highbank-cpufreq.c @@ -101,6 +101,13 @@ } module_init(hb_cpufreq_driver_init); +static const struct of_device_id __maybe_unused hb_cpufreq_of_match[] = { + { .compatible = "calxeda,highbank" }, + { .compatible = "calxeda,ecx-2000" }, + { }, +}; +MODULE_DEVICE_TABLE(of, hb_cpufreq_of_match); + MODULE_AUTHOR("Mark Langsdorf "); MODULE_DESCRIPTION("Calxeda Highbank cpufreq driver"); MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/intel_pstate.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/intel_pstate.c @@ -649,11 +649,12 @@ mutex_lock(&intel_pstate_limits_lock); if (boot_cpu_has(X86_FEATURE_HWP_EPP)) { - u64 value; - - ret = rdmsrl_on_cpu(cpu_data->cpu, MSR_HWP_REQUEST, &value); - if (ret) - goto return_pref; + /* + * Use the cached HWP Request MSR value, because the register + * itself may be updated by intel_pstate_hwp_boost_up() or + * intel_pstate_hwp_boost_down() at any time. + */ + u64 value = READ_ONCE(cpu_data->hwp_req_cached); value &= ~GENMASK_ULL(31, 24); @@ -661,13 +662,18 @@ epp = epp_values[pref_index - 1]; value |= (u64)epp << 24; + /* + * The only other updater of hwp_req_cached in the active mode, + * intel_pstate_hwp_set(), is called under the same lock as this + * function, so it cannot run in parallel with the update below. + */ + WRITE_ONCE(cpu_data->hwp_req_cached, value); ret = wrmsrl_on_cpu(cpu_data->cpu, MSR_HWP_REQUEST, value); } else { if (epp == -EINVAL) epp = (pref_index - 1) << 2; ret = intel_pstate_set_epb(cpu_data->cpu, epp); } -return_pref: mutex_unlock(&intel_pstate_limits_lock); return ret; @@ -749,14 +755,14 @@ NULL, }; -static void intel_pstate_get_hwp_max(unsigned int cpu, int *phy_max, +static void intel_pstate_get_hwp_max(struct cpudata *cpu, int *phy_max, int *current_max) { u64 cap; - rdmsrl_on_cpu(cpu, MSR_HWP_CAPABILITIES, &cap); - WRITE_ONCE(all_cpu_data[cpu]->hwp_cap_cached, cap); - if (global.no_turbo) + rdmsrl_on_cpu(cpu->cpu, MSR_HWP_CAPABILITIES, &cap); + WRITE_ONCE(cpu->hwp_cap_cached, cap); + if (global.no_turbo || global.turbo_disabled) *current_max = HWP_GUARANTEED_PERF(cap); else *current_max = HWP_HIGHEST_PERF(cap); @@ -1107,7 +1113,7 @@ continue; if (hwp_active) - intel_pstate_get_hwp_max(i, &turbo_max, &max_state); + intel_pstate_get_hwp_max(cpu, &turbo_max, &max_state); else turbo_max = cpu->pstate.turbo_pstate; @@ -1561,20 +1567,22 @@ static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) { cpu->pstate.min_pstate = pstate_funcs.get_min(); - cpu->pstate.max_pstate = pstate_funcs.get_max(); cpu->pstate.max_pstate_physical = pstate_funcs.get_max_physical(); cpu->pstate.turbo_pstate = pstate_funcs.get_turbo(); cpu->pstate.scaling = pstate_funcs.get_scaling(); - cpu->pstate.max_freq = cpu->pstate.max_pstate * cpu->pstate.scaling; if (hwp_active && !hwp_mode_bdw) { unsigned int phy_max, current_max; - intel_pstate_get_hwp_max(cpu->cpu, &phy_max, ¤t_max); + intel_pstate_get_hwp_max(cpu, &phy_max, ¤t_max); cpu->pstate.turbo_freq = phy_max * cpu->pstate.scaling; + cpu->pstate.turbo_pstate = phy_max; + cpu->pstate.max_pstate = HWP_GUARANTEED_PERF(READ_ONCE(cpu->hwp_cap_cached)); } else { cpu->pstate.turbo_freq = cpu->pstate.turbo_pstate * cpu->pstate.scaling; + cpu->pstate.max_pstate = pstate_funcs.get_max(); } + cpu->pstate.max_freq = cpu->pstate.max_pstate * cpu->pstate.scaling; if (pstate_funcs.get_aperf_mperf_shift) cpu->aperf_mperf_shift = pstate_funcs.get_aperf_mperf_shift(); @@ -2041,9 +2049,9 @@ unsigned int policy_min, unsigned int policy_max) { - int max_freq = intel_pstate_get_max_freq(cpu); int32_t max_policy_perf, min_policy_perf; int max_state, turbo_max; + int max_freq; /* * HWP needs some special consideration, because on BDX the @@ -2051,12 +2059,13 @@ * rather than pure ratios. */ if (hwp_active) { - intel_pstate_get_hwp_max(cpu->cpu, &turbo_max, &max_state); + intel_pstate_get_hwp_max(cpu, &turbo_max, &max_state); } else { max_state = global.no_turbo || global.turbo_disabled ? cpu->pstate.max_pstate : cpu->pstate.turbo_pstate; turbo_max = cpu->pstate.turbo_pstate; } + max_freq = max_state * cpu->pstate.scaling; max_policy_perf = max_state * policy_max / max_freq; if (policy_max == policy_min) { @@ -2159,9 +2168,18 @@ static void intel_pstate_verify_cpu_policy(struct cpudata *cpu, struct cpufreq_policy_data *policy) { + int max_freq; + update_turbo_state(); - cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, - intel_pstate_get_max_freq(cpu)); + if (hwp_active) { + int max_state, turbo_max; + + intel_pstate_get_hwp_max(cpu, &turbo_max, &max_state); + max_freq = max_state * cpu->pstate.scaling; + } else { + max_freq = intel_pstate_get_max_freq(cpu); + } + cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, max_freq); intel_pstate_adjust_policy_max(cpu, policy); } @@ -2402,7 +2420,7 @@ cpu = all_cpu_data[policy->cpu]; if (hwp_active) - intel_pstate_get_hwp_max(policy->cpu, &turbo_max, &max_state); + intel_pstate_get_hwp_max(cpu, &turbo_max, &max_state); else turbo_max = cpu->pstate.turbo_pstate; @@ -2527,9 +2545,15 @@ { int ret; - if (size == 3 && !strncmp(buf, "off", size)) - return intel_pstate_driver ? - intel_pstate_unregister_driver() : -EINVAL; + if (size == 3 && !strncmp(buf, "off", size)) { + if (!intel_pstate_driver) + return -EINVAL; + + if (hwp_active) + return -EBUSY; + + return intel_pstate_unregister_driver(); + } if (size == 6 && !strncmp(buf, "active", size)) { if (intel_pstate_driver) { --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/loongson1-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/loongson1-cpufreq.c @@ -216,6 +216,7 @@ module_platform_driver(ls1x_cpufreq_platdrv); +MODULE_ALIAS("platform:ls1x-cpufreq"); MODULE_AUTHOR("Kelvin Cheung "); MODULE_DESCRIPTION("Loongson1 CPUFreq driver"); MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/mediatek-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/mediatek-cpufreq.c @@ -540,6 +540,7 @@ { } }; +MODULE_DEVICE_TABLE(of, mtk_cpufreq_machines); static int __init mtk_cpufreq_driver_init(void) { --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/powernow-k8.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/powernow-k8.c @@ -878,9 +878,9 @@ /* Take a frequency, and issue the fid/vid transition command */ static int transition_frequency_fidvid(struct powernow_k8_data *data, - unsigned int index) + unsigned int index, + struct cpufreq_policy *policy) { - struct cpufreq_policy *policy; u32 fid = 0; u32 vid = 0; int res; @@ -912,9 +912,6 @@ freqs.old = find_khz_freq_from_fid(data->currfid); freqs.new = find_khz_freq_from_fid(fid); - policy = cpufreq_cpu_get(smp_processor_id()); - cpufreq_cpu_put(policy); - cpufreq_freq_transition_begin(policy, &freqs); res = transition_fid_vid(data, fid, vid); cpufreq_freq_transition_end(policy, &freqs, res); @@ -969,7 +966,7 @@ powernow_k8_acpi_pst_values(data, newstate); - ret = transition_frequency_fidvid(data, newstate); + ret = transition_frequency_fidvid(data, newstate, pol); if (ret) { pr_err("transition frequency failed\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/powernv-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/powernv-cpufreq.c @@ -884,12 +884,15 @@ unsigned long action, void *unused) { int cpu; - struct cpufreq_policy cpu_policy; + struct cpufreq_policy *cpu_policy; rebooting = true; for_each_online_cpu(cpu) { - cpufreq_get_policy(&cpu_policy, cpu); - powernv_cpufreq_target_index(&cpu_policy, get_nominal_index()); + cpu_policy = cpufreq_cpu_get(cpu); + if (!cpu_policy) + continue; + powernv_cpufreq_target_index(cpu_policy, get_nominal_index()); + cpufreq_cpu_put(cpu_policy); } return NOTIFY_DONE; --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/qcom-cpufreq-nvmem.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/qcom-cpufreq-nvmem.c @@ -464,6 +464,7 @@ { .compatible = "qcom,msm8960", .data = &match_data_krait }, {}, }; +MODULE_DEVICE_TABLE(of, qcom_cpufreq_match_list); /* * Since the driver depends on smem and nvmem drivers, which may --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/scpi-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/scpi-cpufreq.c @@ -237,6 +237,7 @@ }; module_platform_driver(scpi_cpufreq_platdrv); +MODULE_ALIAS("platform:scpi-cpufreq"); MODULE_AUTHOR("Sudeep Holla "); MODULE_DESCRIPTION("ARM SCPI CPUFreq interface driver"); MODULE_LICENSE("GPL v2"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/sti-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/sti-cpufreq.c @@ -141,7 +141,8 @@ static const struct reg_field *sti_cpufreq_match(void) { if (of_machine_is_compatible("st,stih407") || - of_machine_is_compatible("st,stih410")) + of_machine_is_compatible("st,stih410") || + of_machine_is_compatible("st,stih418")) return sti_stih407_dvfs_regfields; return NULL; @@ -258,7 +259,8 @@ int ret; if ((!of_machine_is_compatible("st,stih407")) && - (!of_machine_is_compatible("st,stih410"))) + (!of_machine_is_compatible("st,stih410")) && + (!of_machine_is_compatible("st,stih418"))) return -ENODEV; ddata.cpu = get_cpu_device(0); @@ -290,6 +292,13 @@ } module_init(sti_cpufreq_init); +static const struct of_device_id __maybe_unused sti_cpufreq_of_match[] = { + { .compatible = "st,stih407" }, + { .compatible = "st,stih410" }, + { }, +}; +MODULE_DEVICE_TABLE(of, sti_cpufreq_of_match); + MODULE_DESCRIPTION("STMicroelectronics CPUFreq/OPP driver"); MODULE_AUTHOR("Ajitpal Singh "); MODULE_AUTHOR("Lee Jones "); --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/sun50i-cpufreq-nvmem.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/sun50i-cpufreq-nvmem.c @@ -167,6 +167,7 @@ { .compatible = "allwinner,sun50i-h6" }, {} }; +MODULE_DEVICE_TABLE(of, sun50i_cpufreq_match_list); static const struct of_device_id *sun50i_cpufreq_match_node(void) { --- linux-riscv-5.8-5.8.0.orig/drivers/cpufreq/vexpress-spc-cpufreq.c +++ linux-riscv-5.8-5.8.0/drivers/cpufreq/vexpress-spc-cpufreq.c @@ -599,6 +599,7 @@ }; module_platform_driver(ve_spc_cpufreq_platdrv); +MODULE_ALIAS("platform:vexpress-spc-cpufreq"); MODULE_AUTHOR("Viresh Kumar "); MODULE_AUTHOR("Sudeep Holla "); MODULE_DESCRIPTION("Vexpress SPC ARM big LITTLE cpufreq driver"); --- linux-riscv-5.8-5.8.0.orig/drivers/cpuidle/cpuidle-psci.c +++ linux-riscv-5.8-5.8.0/drivers/cpuidle/cpuidle-psci.c @@ -64,7 +64,7 @@ return -1; /* Do runtime PM to manage a hierarchical CPU toplogy. */ - pm_runtime_put_sync_suspend(pd_dev); + RCU_NONIDLE(pm_runtime_put_sync_suspend(pd_dev)); state = psci_get_domain_state(); if (!state) @@ -72,7 +72,7 @@ ret = psci_cpu_suspend_enter(state) ? -1 : idx; - pm_runtime_get_sync(pd_dev); + RCU_NONIDLE(pm_runtime_get_sync(pd_dev)); cpu_pm_exit(); --- linux-riscv-5.8-5.8.0.orig/drivers/cpuidle/cpuidle-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/cpuidle/cpuidle-tegra.c @@ -172,7 +172,7 @@ static int tegra_cpuidle_state_enter(struct cpuidle_device *dev, int index, unsigned int cpu) { - int ret; + int err; /* * CC6 state is the "CPU cluster power-off" state. In order to @@ -183,34 +183,34 @@ * CPU cores, GIC and L2 cache). */ if (index == TEGRA_CC6) { - ret = tegra_cpuidle_coupled_barrier(dev); - if (ret) - return ret; + err = tegra_cpuidle_coupled_barrier(dev); + if (err) + return err; } local_fiq_disable(); - tegra_pm_set_cpu_in_lp2(); + RCU_NONIDLE(tegra_pm_set_cpu_in_lp2()); cpu_pm_enter(); switch (index) { case TEGRA_C7: - ret = tegra_cpuidle_c7_enter(); + err = tegra_cpuidle_c7_enter(); break; case TEGRA_CC6: - ret = tegra_cpuidle_cc6_enter(cpu); + err = tegra_cpuidle_cc6_enter(cpu); break; default: - ret = -EINVAL; + err = -EINVAL; break; } cpu_pm_exit(); - tegra_pm_clear_cpu_in_lp2(); + RCU_NONIDLE(tegra_pm_clear_cpu_in_lp2()); local_fiq_enable(); - return ret; + return err ?: index; } static int tegra_cpuidle_adjust_state_index(int index, unsigned int cpu) @@ -236,21 +236,27 @@ int index) { unsigned int cpu = cpu_logical_map(dev->cpu); - int err; + int ret; index = tegra_cpuidle_adjust_state_index(index, cpu); if (dev->states_usage[index].disable) return -1; if (index == TEGRA_C1) - err = arm_cpuidle_simple_enter(dev, drv, index); + ret = arm_cpuidle_simple_enter(dev, drv, index); else - err = tegra_cpuidle_state_enter(dev, index, cpu); + ret = tegra_cpuidle_state_enter(dev, index, cpu); - if (err && (err != -EINTR || index != TEGRA_CC6)) - pr_err_once("failed to enter state %d err: %d\n", index, err); + if (ret < 0) { + if (ret != -EINTR || index != TEGRA_CC6) + pr_err_once("failed to enter state %d err: %d\n", + index, ret); + index = -1; + } else { + index = ret; + } - return err ? -1 : index; + return index; } static void tegra114_enter_s2idle(struct cpuidle_device *dev, --- linux-riscv-5.8-5.8.0.orig/drivers/cpuidle/cpuidle.c +++ linux-riscv-5.8-5.8.0/drivers/cpuidle/cpuidle.c @@ -153,7 +153,8 @@ */ stop_critical_timings(); drv->states[index].enter_s2idle(dev, drv, index); - WARN_ON(!irqs_disabled()); + if (WARN_ON_ONCE(!irqs_disabled())) + local_irq_disable(); /* * timekeeping_resume() that will be called by tick_unfreeze() for the * first CPU executing it calls functions containing RCU read-side --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/crypto/Kconfig @@ -350,6 +350,7 @@ config CRYPTO_DEV_OMAP_SHAM tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" depends on ARCH_OMAP2PLUS + select CRYPTO_ENGINE select CRYPTO_SHA1 select CRYPTO_MD5 select CRYPTO_SHA256 @@ -532,6 +533,7 @@ config CRYPTO_DEV_ATMEL_I2C tristate + select BITREVERSE config CRYPTO_DEV_ATMEL_ECC tristate "Support for Microchip / Atmel ECC hw accelerator" --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/allwinner/sun4i-ss/sun4i-ss-cipher.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/allwinner/sun4i-ss/sun4i-ss-cipher.c @@ -30,6 +30,8 @@ unsigned int ileft = areq->cryptlen; unsigned int oleft = areq->cryptlen; unsigned int todo; + unsigned long pi = 0, po = 0; /* progress for in and out */ + bool miter_err; struct sg_mapping_iter mi, mo; unsigned int oi, oo; /* offset for in and out */ unsigned long flags; @@ -44,50 +46,62 @@ spin_lock_irqsave(&ss->slock, flags); - for (i = 0; i < op->keylen; i += 4) - writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); + for (i = 0; i < op->keylen / 4; i++) + writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); if (areq->iv) { for (i = 0; i < 4 && i < ivsize / 4; i++) { v = *(u32 *)(areq->iv + i * 4); - writel(v, ss->base + SS_IV0 + i * 4); + writesl(ss->base + SS_IV0 + i * 4, &v, 1); } } writel(mode, ss->base + SS_CTL); - sg_miter_start(&mi, areq->src, sg_nents(areq->src), - SG_MITER_FROM_SG | SG_MITER_ATOMIC); - sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), - SG_MITER_TO_SG | SG_MITER_ATOMIC); - sg_miter_next(&mi); - sg_miter_next(&mo); - if (!mi.addr || !mo.addr) { - dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); - err = -EINVAL; - goto release_ss; - } ileft = areq->cryptlen / 4; oleft = areq->cryptlen / 4; oi = 0; oo = 0; do { - todo = min(rx_cnt, ileft); - todo = min_t(size_t, todo, (mi.length - oi) / 4); - if (todo) { - ileft -= todo; - writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); - oi += todo * 4; - } - if (oi == mi.length) { - sg_miter_next(&mi); - oi = 0; + if (ileft) { + sg_miter_start(&mi, areq->src, sg_nents(areq->src), + SG_MITER_FROM_SG | SG_MITER_ATOMIC); + if (pi) + sg_miter_skip(&mi, pi); + miter_err = sg_miter_next(&mi); + if (!miter_err || !mi.addr) { + dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); + err = -EINVAL; + goto release_ss; + } + todo = min(rx_cnt, ileft); + todo = min_t(size_t, todo, (mi.length - oi) / 4); + if (todo) { + ileft -= todo; + writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); + oi += todo * 4; + } + if (oi == mi.length) { + pi += mi.length; + oi = 0; + } + sg_miter_stop(&mi); } spaces = readl(ss->base + SS_FCSR); rx_cnt = SS_RXFIFO_SPACES(spaces); tx_cnt = SS_TXFIFO_SPACES(spaces); + sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), + SG_MITER_TO_SG | SG_MITER_ATOMIC); + if (po) + sg_miter_skip(&mo, po); + miter_err = sg_miter_next(&mo); + if (!miter_err || !mo.addr) { + dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); + err = -EINVAL; + goto release_ss; + } todo = min(tx_cnt, oleft); todo = min_t(size_t, todo, (mo.length - oo) / 4); if (todo) { @@ -96,9 +110,10 @@ oo += todo * 4; } if (oo == mo.length) { - sg_miter_next(&mo); oo = 0; + po += mo.length; } + sg_miter_stop(&mo); } while (oleft); if (areq->iv) { @@ -109,8 +124,6 @@ } release_ss: - sg_miter_stop(&mi); - sg_miter_stop(&mo); writel(0, ss->base + SS_CTL); spin_unlock_irqrestore(&ss->slock, flags); return err; @@ -164,12 +177,14 @@ unsigned int oleft = areq->cryptlen; unsigned int todo; struct sg_mapping_iter mi, mo; + unsigned long pi = 0, po = 0; /* progress for in and out */ + bool miter_err; unsigned int oi, oo; /* offset for in and out */ unsigned int ob = 0; /* offset in buf */ unsigned int obo = 0; /* offset in bufo*/ unsigned int obl = 0; /* length of data in bufo */ unsigned long flags; - bool need_fallback; + bool need_fallback = false; if (!areq->cryptlen) return 0; @@ -188,12 +203,12 @@ * we can use the SS optimized function */ while (in_sg && no_chunk == 1) { - if (in_sg->length % 4) + if ((in_sg->length | in_sg->offset) & 3u) no_chunk = 0; in_sg = sg_next(in_sg); } while (out_sg && no_chunk == 1) { - if (out_sg->length % 4) + if ((out_sg->length | out_sg->offset) & 3u) no_chunk = 0; out_sg = sg_next(out_sg); } @@ -206,28 +221,17 @@ spin_lock_irqsave(&ss->slock, flags); - for (i = 0; i < op->keylen; i += 4) - writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); + for (i = 0; i < op->keylen / 4; i++) + writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); if (areq->iv) { for (i = 0; i < 4 && i < ivsize / 4; i++) { v = *(u32 *)(areq->iv + i * 4); - writel(v, ss->base + SS_IV0 + i * 4); + writesl(ss->base + SS_IV0 + i * 4, &v, 1); } } writel(mode, ss->base + SS_CTL); - sg_miter_start(&mi, areq->src, sg_nents(areq->src), - SG_MITER_FROM_SG | SG_MITER_ATOMIC); - sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), - SG_MITER_TO_SG | SG_MITER_ATOMIC); - sg_miter_next(&mi); - sg_miter_next(&mo); - if (!mi.addr || !mo.addr) { - dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); - err = -EINVAL; - goto release_ss; - } ileft = areq->cryptlen; oleft = areq->cryptlen; oi = 0; @@ -235,8 +239,16 @@ while (oleft) { if (ileft) { - char buf[4 * SS_RX_MAX];/* buffer for linearize SG src */ - + sg_miter_start(&mi, areq->src, sg_nents(areq->src), + SG_MITER_FROM_SG | SG_MITER_ATOMIC); + if (pi) + sg_miter_skip(&mi, pi); + miter_err = sg_miter_next(&mi); + if (!miter_err || !mi.addr) { + dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); + err = -EINVAL; + goto release_ss; + } /* * todo is the number of consecutive 4byte word that we * can read from current SG @@ -258,52 +270,57 @@ */ todo = min(rx_cnt * 4 - ob, ileft); todo = min_t(size_t, todo, mi.length - oi); - memcpy(buf + ob, mi.addr + oi, todo); + memcpy(ss->buf + ob, mi.addr + oi, todo); ileft -= todo; oi += todo; ob += todo; if (!(ob % 4)) { - writesl(ss->base + SS_RXFIFO, buf, + writesl(ss->base + SS_RXFIFO, ss->buf, ob / 4); ob = 0; } } if (oi == mi.length) { - sg_miter_next(&mi); + pi += mi.length; oi = 0; } + sg_miter_stop(&mi); } spaces = readl(ss->base + SS_FCSR); rx_cnt = SS_RXFIFO_SPACES(spaces); tx_cnt = SS_TXFIFO_SPACES(spaces); - dev_dbg(ss->dev, - "%x %u/%zu %u/%u cnt=%u %u/%zu %u/%u cnt=%u %u\n", - mode, - oi, mi.length, ileft, areq->cryptlen, rx_cnt, - oo, mo.length, oleft, areq->cryptlen, tx_cnt, ob); if (!tx_cnt) continue; + sg_miter_start(&mo, areq->dst, sg_nents(areq->dst), + SG_MITER_TO_SG | SG_MITER_ATOMIC); + if (po) + sg_miter_skip(&mo, po); + miter_err = sg_miter_next(&mo); + if (!miter_err || !mo.addr) { + dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); + err = -EINVAL; + goto release_ss; + } /* todo in 4bytes word */ todo = min(tx_cnt, oleft / 4); todo = min_t(size_t, todo, (mo.length - oo) / 4); + if (todo) { readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); oleft -= todo * 4; oo += todo * 4; if (oo == mo.length) { - sg_miter_next(&mo); + po += mo.length; oo = 0; } } else { - char bufo[4 * SS_TX_MAX]; /* buffer for linearize SG dst */ - /* * read obl bytes in bufo, we read at maximum for * emptying the device */ - readsl(ss->base + SS_TXFIFO, bufo, tx_cnt); + readsl(ss->base + SS_TXFIFO, ss->bufo, tx_cnt); obl = tx_cnt * 4; obo = 0; do { @@ -315,17 +332,19 @@ */ todo = min_t(size_t, mo.length - oo, obl - obo); - memcpy(mo.addr + oo, bufo + obo, todo); + memcpy(mo.addr + oo, ss->bufo + obo, todo); oleft -= todo; obo += todo; oo += todo; if (oo == mo.length) { + po += mo.length; sg_miter_next(&mo); oo = 0; } } while (obo < obl); /* bufo must be fully used here */ } + sg_miter_stop(&mo); } if (areq->iv) { for (i = 0; i < 4 && i < ivsize / 4; i++) { @@ -335,8 +354,6 @@ } release_ss: - sg_miter_stop(&mi); - sg_miter_stop(&mo); writel(0, ss->base + SS_CTL); spin_unlock_irqrestore(&ss->slock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/allwinner/sun4i-ss/sun4i-ss.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/allwinner/sun4i-ss/sun4i-ss.h @@ -148,6 +148,8 @@ struct reset_control *reset; struct device *dev; struct resource *res; + char buf[4 * SS_RX_MAX];/* buffer for linearize SG src */ + char bufo[4 * SS_TX_MAX]; /* buffer for linearize SG dst */ spinlock_t slock; /* control the use of the device */ #ifdef CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG u32 seed[SS_SEED_LEN / BITS_PER_LONG]; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c @@ -120,7 +120,10 @@ /* Be sure all data is written before enabling the task */ wmb(); - v = 1 | (ce->chanlist[flow].tl->t_common_ctl & 0x7F) << 8; + /* Only H6 needs to write a part of t_common_ctl along with "1", but since it is ignored + * on older SoCs, we have no reason to complicate things. + */ + v = 1 | ((le32_to_cpu(ce->chanlist[flow].tl->t_common_ctl) & 0x7F) << 8); writel(v, ce->base + CE_TLR); mutex_unlock(&ce->mlock); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/amcc/crypto4xx_core.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/amcc/crypto4xx_core.c @@ -917,7 +917,7 @@ } pd->pd_ctl.w = PD_CTL_HOST_READY | - ((crypto_tfm_alg_type(req->tfm) == CRYPTO_ALG_TYPE_AHASH) | + ((crypto_tfm_alg_type(req->tfm) == CRYPTO_ALG_TYPE_AHASH) || (crypto_tfm_alg_type(req->tfm) == CRYPTO_ALG_TYPE_AEAD) ? PD_CTL_HASH_FINAL : 0); pd->pd_ctl_len.w = 0x00400000 | (assoclen + datalen); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/bcm/cipher.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/bcm/cipher.c @@ -41,7 +41,7 @@ /* ================= Device Structure ================== */ -struct device_private iproc_priv; +struct bcm_device_private iproc_priv; /* ==================== Parameters ===================== */ @@ -2930,7 +2930,6 @@ ctx->enckeylen = keylen; ctx->authkeylen = 0; - memcpy(ctx->enckey, key, ctx->enckeylen); switch (ctx->enckeylen) { case AES_KEYSIZE_128: @@ -2946,6 +2945,8 @@ goto badkey; } + memcpy(ctx->enckey, key, ctx->enckeylen); + flow_log(" enckeylen:%u authkeylen:%u\n", ctx->enckeylen, ctx->authkeylen); flow_dump(" enc: ", ctx->enckey, ctx->enckeylen); @@ -3000,6 +3001,10 @@ struct iproc_ctx_s *ctx = crypto_aead_ctx(cipher); flow_log("%s\n", __func__); + + if (keylen < GCM_ESP_SALT_SIZE) + return -EINVAL; + ctx->salt_len = GCM_ESP_SALT_SIZE; ctx->salt_offset = GCM_ESP_SALT_OFFSET; memcpy(ctx->salt, key + keylen - GCM_ESP_SALT_SIZE, GCM_ESP_SALT_SIZE); @@ -3028,6 +3033,10 @@ struct iproc_ctx_s *ctx = crypto_aead_ctx(cipher); flow_log("%s\n", __func__); + + if (keylen < GCM_ESP_SALT_SIZE) + return -EINVAL; + ctx->salt_len = GCM_ESP_SALT_SIZE; ctx->salt_offset = GCM_ESP_SALT_OFFSET; memcpy(ctx->salt, key + keylen - GCM_ESP_SALT_SIZE, GCM_ESP_SALT_SIZE); @@ -3057,6 +3066,10 @@ struct iproc_ctx_s *ctx = crypto_aead_ctx(cipher); flow_log("%s\n", __func__); + + if (keylen < CCM_ESP_SALT_SIZE) + return -EINVAL; + ctx->salt_len = CCM_ESP_SALT_SIZE; ctx->salt_offset = CCM_ESP_SALT_OFFSET; memcpy(ctx->salt, key + keylen - CCM_ESP_SALT_SIZE, CCM_ESP_SALT_SIZE); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/bcm/cipher.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/bcm/cipher.h @@ -420,7 +420,7 @@ u32 num_chan; }; -struct device_private { +struct bcm_device_private { struct platform_device *pdev; struct spu_hw spu; @@ -467,6 +467,6 @@ struct mbox_chan **mbox; }; -extern struct device_private iproc_priv; +extern struct bcm_device_private iproc_priv; #endif --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/bcm/util.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/bcm/util.c @@ -348,7 +348,7 @@ static ssize_t spu_debugfs_read(struct file *filp, char __user *ubuf, size_t count, loff_t *offp) { - struct device_private *ipriv; + struct bcm_device_private *ipriv; char *buf; ssize_t ret, out_offset, out_count; int i; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/caam/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/crypto/caam/Kconfig @@ -114,6 +114,7 @@ select CRYPTO_AUTHENC select CRYPTO_SKCIPHER select CRYPTO_DES + select CRYPTO_XTS help Selecting this will use CAAM Queue Interface (QI) for sending & receiving crypto jobs to/from CAAM. This gives better performance --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/caam/caamalg.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/caam/caamalg.c @@ -810,12 +810,6 @@ return skcipher_setkey(skcipher, key, keylen, ctx1_iv_off); } -static int arc4_skcipher_setkey(struct crypto_skcipher *skcipher, - const u8 *key, unsigned int keylen) -{ - return skcipher_setkey(skcipher, key, keylen, 0); -} - static int des_skcipher_setkey(struct crypto_skcipher *skcipher, const u8 *key, unsigned int keylen) { @@ -838,7 +832,7 @@ u32 *desc; if (keylen != 2 * AES_MIN_KEY_SIZE && keylen != 2 * AES_MAX_KEY_SIZE) { - dev_err(jrdev, "key size mismatch\n"); + dev_dbg(jrdev, "key size mismatch\n"); return -EINVAL; } @@ -1967,21 +1961,6 @@ }, .caam.class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_ECB, }, - { - .skcipher = { - .base = { - .cra_name = "ecb(arc4)", - .cra_driver_name = "ecb-arc4-caam", - .cra_blocksize = ARC4_BLOCK_SIZE, - }, - .setkey = arc4_skcipher_setkey, - .encrypt = skcipher_encrypt, - .decrypt = skcipher_decrypt, - .min_keysize = ARC4_MIN_KEY_SIZE, - .max_keysize = ARC4_MAX_KEY_SIZE, - }, - .caam.class1_alg_type = OP_ALG_ALGSEL_ARC4 | OP_ALG_AAI_ECB, - }, }; static struct caam_aead_alg driver_aeads[] = { @@ -3457,7 +3436,6 @@ struct caam_drv_private *priv = dev_get_drvdata(ctrldev); int i = 0, err = 0; u32 aes_vid, aes_inst, des_inst, md_vid, md_inst, ccha_inst, ptha_inst; - u32 arc4_inst; unsigned int md_limit = SHA512_DIGEST_SIZE; bool registered = false, gcm_support; @@ -3477,8 +3455,6 @@ CHA_ID_LS_DES_SHIFT; aes_inst = cha_inst & CHA_ID_LS_AES_MASK; md_inst = (cha_inst & CHA_ID_LS_MD_MASK) >> CHA_ID_LS_MD_SHIFT; - arc4_inst = (cha_inst & CHA_ID_LS_ARC4_MASK) >> - CHA_ID_LS_ARC4_SHIFT; ccha_inst = 0; ptha_inst = 0; @@ -3499,7 +3475,6 @@ md_inst = mdha & CHA_VER_NUM_MASK; ccha_inst = rd_reg32(&priv->ctrl->vreg.ccha) & CHA_VER_NUM_MASK; ptha_inst = rd_reg32(&priv->ctrl->vreg.ptha) & CHA_VER_NUM_MASK; - arc4_inst = rd_reg32(&priv->ctrl->vreg.afha) & CHA_VER_NUM_MASK; gcm_support = aesa & CHA_VER_MISC_AES_GCM; } @@ -3522,10 +3497,6 @@ if (!aes_inst && (alg_sel == OP_ALG_ALGSEL_AES)) continue; - /* Skip ARC4 algorithms if not supported by device */ - if (!arc4_inst && alg_sel == OP_ALG_ALGSEL_ARC4) - continue; - /* * Check support for AES modes not available * on LP devices. --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/caam/caamalg_qi.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/caam/caamalg_qi.c @@ -18,6 +18,8 @@ #include "qi.h" #include "jr.h" #include "caamalg_desc.h" +#include +#include /* * crypto alg @@ -67,6 +69,12 @@ struct device *qidev; spinlock_t lock; /* Protects multiple init of driver context */ struct caam_drv_ctx *drv_ctx[NUM_OP]; + bool xts_key_fallback; + struct crypto_skcipher *fallback; +}; + +struct caam_skcipher_req_ctx { + struct skcipher_request fallback_req; }; static int aead_set_sh_desc(struct crypto_aead *aead) @@ -726,12 +734,21 @@ struct caam_ctx *ctx = crypto_skcipher_ctx(skcipher); struct device *jrdev = ctx->jrdev; int ret = 0; + int err; - if (keylen != 2 * AES_MIN_KEY_SIZE && keylen != 2 * AES_MAX_KEY_SIZE) { - dev_err(jrdev, "key size mismatch\n"); - return -EINVAL; + err = xts_verify_key(skcipher, key, keylen); + if (err) { + dev_dbg(jrdev, "key size mismatch\n"); + return err; } + if (keylen != 2 * AES_KEYSIZE_128 && keylen != 2 * AES_KEYSIZE_256) + ctx->xts_key_fallback = true; + + err = crypto_skcipher_setkey(ctx->fallback, key, keylen); + if (err) + return err; + ctx->cdata.keylen = keylen; ctx->cdata.key_virt = key; ctx->cdata.key_inline = true; @@ -1373,6 +1390,14 @@ return edesc; } +static inline bool xts_skcipher_ivsize(struct skcipher_request *req) +{ + struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req); + unsigned int ivsize = crypto_skcipher_ivsize(skcipher); + + return !!get_unaligned((u64 *)(req->iv + (ivsize / 2))); +} + static inline int skcipher_crypt(struct skcipher_request *req, bool encrypt) { struct skcipher_edesc *edesc; @@ -1383,6 +1408,22 @@ if (!req->cryptlen) return 0; + if (ctx->fallback && (xts_skcipher_ivsize(req) || + ctx->xts_key_fallback)) { + struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req); + + skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback); + skcipher_request_set_callback(&rctx->fallback_req, + req->base.flags, + req->base.complete, + req->base.data); + skcipher_request_set_crypt(&rctx->fallback_req, req->src, + req->dst, req->cryptlen, req->iv); + + return encrypt ? crypto_skcipher_encrypt(&rctx->fallback_req) : + crypto_skcipher_decrypt(&rctx->fallback_req); + } + if (unlikely(caam_congested)) return -EAGAIN; @@ -1507,6 +1548,7 @@ .base = { .cra_name = "xts(aes)", .cra_driver_name = "xts-aes-caam-qi", + .cra_flags = CRYPTO_ALG_NEED_FALLBACK, .cra_blocksize = AES_BLOCK_SIZE, }, .setkey = xts_skcipher_setkey, @@ -2440,9 +2482,32 @@ struct skcipher_alg *alg = crypto_skcipher_alg(tfm); struct caam_skcipher_alg *caam_alg = container_of(alg, typeof(*caam_alg), skcipher); + struct caam_ctx *ctx = crypto_skcipher_ctx(tfm); + u32 alg_aai = caam_alg->caam.class1_alg_type & OP_ALG_AAI_MASK; + int ret = 0; + + if (alg_aai == OP_ALG_AAI_XTS) { + const char *tfm_name = crypto_tfm_alg_name(&tfm->base); + struct crypto_skcipher *fallback; + + fallback = crypto_alloc_skcipher(tfm_name, 0, + CRYPTO_ALG_NEED_FALLBACK); + if (IS_ERR(fallback)) { + dev_err(ctx->jrdev, "Failed to allocate %s fallback: %ld\n", + tfm_name, PTR_ERR(fallback)); + return PTR_ERR(fallback); + } + + ctx->fallback = fallback; + crypto_skcipher_set_reqsize(tfm, sizeof(struct caam_skcipher_req_ctx) + + crypto_skcipher_reqsize(fallback)); + } + + ret = caam_init_common(ctx, &caam_alg->caam, false); + if (ret && ctx->fallback) + crypto_free_skcipher(ctx->fallback); - return caam_init_common(crypto_skcipher_ctx(tfm), &caam_alg->caam, - false); + return ret; } static int caam_aead_init(struct crypto_aead *tfm) @@ -2468,7 +2533,11 @@ static void caam_cra_exit(struct crypto_skcipher *tfm) { - caam_exit_common(crypto_skcipher_ctx(tfm)); + struct caam_ctx *ctx = crypto_skcipher_ctx(tfm); + + if (ctx->fallback) + crypto_free_skcipher(ctx->fallback); + caam_exit_common(ctx); } static void caam_aead_exit(struct crypto_aead *tfm) @@ -2502,7 +2571,7 @@ alg->base.cra_module = THIS_MODULE; alg->base.cra_priority = CAAM_CRA_PRIORITY; alg->base.cra_ctxsize = sizeof(struct caam_ctx); - alg->base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY; + alg->base.cra_flags |= CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY; alg->init = caam_cra_init; alg->exit = caam_cra_exit; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/caam/caamalg_qi2.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/caam/caamalg_qi2.c @@ -1058,7 +1058,7 @@ u32 *desc; if (keylen != 2 * AES_MIN_KEY_SIZE && keylen != 2 * AES_MAX_KEY_SIZE) { - dev_err(dev, "key size mismatch\n"); + dev_dbg(dev, "key size mismatch\n"); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/caam/compat.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/caam/compat.h @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/cavium/cpt/cptvf_algs.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/cavium/cpt/cptvf_algs.c @@ -200,6 +200,7 @@ int status; memset(req_info, 0, sizeof(struct cpt_request_info)); + req_info->may_sleep = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) != 0; memset(fctx, 0, sizeof(struct fc_context)); create_input_list(req, enc, enc_iv_len); create_output_list(req, enc_iv_len); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/cavium/cpt/cptvf_reqmanager.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/cavium/cpt/cptvf_reqmanager.c @@ -133,7 +133,7 @@ /* Setup gather (input) components */ g_sz_bytes = ((req->incnt + 3) / 4) * sizeof(struct sglist_component); - info->gather_components = kzalloc(g_sz_bytes, GFP_KERNEL); + info->gather_components = kzalloc(g_sz_bytes, req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (!info->gather_components) { ret = -ENOMEM; goto scatter_gather_clean; @@ -150,7 +150,7 @@ /* Setup scatter (output) components */ s_sz_bytes = ((req->outcnt + 3) / 4) * sizeof(struct sglist_component); - info->scatter_components = kzalloc(s_sz_bytes, GFP_KERNEL); + info->scatter_components = kzalloc(s_sz_bytes, req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (!info->scatter_components) { ret = -ENOMEM; goto scatter_gather_clean; @@ -167,7 +167,7 @@ /* Create and initialize DPTR */ info->dlen = g_sz_bytes + s_sz_bytes + SG_LIST_HDR_SIZE; - info->in_buffer = kzalloc(info->dlen, GFP_KERNEL); + info->in_buffer = kzalloc(info->dlen, req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (!info->in_buffer) { ret = -ENOMEM; goto scatter_gather_clean; @@ -195,7 +195,7 @@ } /* Create and initialize RPTR */ - info->out_buffer = kzalloc(COMPLETION_CODE_SIZE, GFP_KERNEL); + info->out_buffer = kzalloc(COMPLETION_CODE_SIZE, req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (!info->out_buffer) { ret = -ENOMEM; goto scatter_gather_clean; @@ -421,7 +421,7 @@ struct cpt_vq_command vq_cmd; union cpt_inst_s cptinst; - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc(sizeof(*info), req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (unlikely(!info)) { dev_err(&pdev->dev, "Unable to allocate memory for info_buffer\n"); return -ENOMEM; @@ -443,7 +443,7 @@ * Get buffer for union cpt_res_s response * structure and its physical address */ - info->completion_addr = kzalloc(sizeof(union cpt_res_s), GFP_KERNEL); + info->completion_addr = kzalloc(sizeof(union cpt_res_s), req->may_sleep ? GFP_KERNEL : GFP_ATOMIC); if (unlikely(!info->completion_addr)) { dev_err(&pdev->dev, "Unable to allocate memory for completion_addr\n"); ret = -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/cavium/cpt/request_manager.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/cavium/cpt/request_manager.h @@ -62,6 +62,8 @@ union ctrl_info ctrl; /* User control information */ struct cptvf_request req; /* Request Information (Core specific) */ + bool may_sleep; + struct buf_ptr in[MAX_BUF_CNT]; struct buf_ptr out[MAX_BUF_CNT]; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/ccp/ccp-dev.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/ccp/ccp-dev.h @@ -469,6 +469,7 @@ unsigned int sg_used; struct scatterlist *dma_sg; + struct scatterlist *dma_sg_head; struct device *dma_dev; unsigned int dma_count; enum dma_data_direction dma_dir; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/ccp/ccp-ops.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/ccp/ccp-ops.c @@ -63,7 +63,7 @@ static void ccp_sg_free(struct ccp_sg_workarea *wa) { if (wa->dma_count) - dma_unmap_sg(wa->dma_dev, wa->dma_sg, wa->nents, wa->dma_dir); + dma_unmap_sg(wa->dma_dev, wa->dma_sg_head, wa->nents, wa->dma_dir); wa->dma_count = 0; } @@ -92,6 +92,7 @@ return 0; wa->dma_sg = sg; + wa->dma_sg_head = sg; wa->dma_dev = dev; wa->dma_dir = dma_dir; wa->dma_count = dma_map_sg(dev, sg, wa->nents, dma_dir); @@ -104,14 +105,28 @@ static void ccp_update_sg_workarea(struct ccp_sg_workarea *wa, unsigned int len) { unsigned int nbytes = min_t(u64, len, wa->bytes_left); + unsigned int sg_combined_len = 0; if (!wa->sg) return; wa->sg_used += nbytes; wa->bytes_left -= nbytes; - if (wa->sg_used == wa->sg->length) { - wa->sg = sg_next(wa->sg); + if (wa->sg_used == sg_dma_len(wa->dma_sg)) { + /* Advance to the next DMA scatterlist entry */ + wa->dma_sg = sg_next(wa->dma_sg); + + /* In the case that the DMA mapped scatterlist has entries + * that have been merged, the non-DMA mapped scatterlist + * must be advanced multiple times for each merged entry. + * This ensures that the current non-DMA mapped entry + * corresponds to the current DMA mapped entry. + */ + do { + sg_combined_len += wa->sg->length; + wa->sg = sg_next(wa->sg); + } while (wa->sg_used > sg_combined_len); + wa->sg_used = 0; } } @@ -299,7 +314,7 @@ /* Update the structures and generate the count */ buf_count = 0; while (sg_wa->bytes_left && (buf_count < dm_wa->length)) { - nbytes = min(sg_wa->sg->length - sg_wa->sg_used, + nbytes = min(sg_dma_len(sg_wa->dma_sg) - sg_wa->sg_used, dm_wa->length - buf_count); nbytes = min_t(u64, sg_wa->bytes_left, nbytes); @@ -331,11 +346,11 @@ * and destination. The resulting len values will always be <= UINT_MAX * because the dma length is an unsigned int. */ - sg_src_len = sg_dma_len(src->sg_wa.sg) - src->sg_wa.sg_used; + sg_src_len = sg_dma_len(src->sg_wa.dma_sg) - src->sg_wa.sg_used; sg_src_len = min_t(u64, src->sg_wa.bytes_left, sg_src_len); if (dst) { - sg_dst_len = sg_dma_len(dst->sg_wa.sg) - dst->sg_wa.sg_used; + sg_dst_len = sg_dma_len(dst->sg_wa.dma_sg) - dst->sg_wa.sg_used; sg_dst_len = min_t(u64, src->sg_wa.bytes_left, sg_dst_len); op_len = min(sg_src_len, sg_dst_len); } else { @@ -365,7 +380,7 @@ /* Enough data in the sg element, but we need to * adjust for any previously copied data */ - op->src.u.dma.address = sg_dma_address(src->sg_wa.sg); + op->src.u.dma.address = sg_dma_address(src->sg_wa.dma_sg); op->src.u.dma.offset = src->sg_wa.sg_used; op->src.u.dma.length = op_len & ~(block_size - 1); @@ -386,7 +401,7 @@ /* Enough room in the sg element, but we need to * adjust for any previously used area */ - op->dst.u.dma.address = sg_dma_address(dst->sg_wa.sg); + op->dst.u.dma.address = sg_dma_address(dst->sg_wa.dma_sg); op->dst.u.dma.offset = dst->sg_wa.sg_used; op->dst.u.dma.length = op->src.u.dma.length; } @@ -1731,7 +1746,7 @@ break; default: ret = -EINVAL; - goto e_ctx; + goto e_data; } } else { /* Stash the context */ @@ -2028,7 +2043,7 @@ dst.sg_wa.sg_used = 0; for (i = 1; i <= src.sg_wa.dma_count; i++) { if (!dst.sg_wa.sg || - (dst.sg_wa.sg->length < src.sg_wa.sg->length)) { + (sg_dma_len(dst.sg_wa.sg) < sg_dma_len(src.sg_wa.sg))) { ret = -EINVAL; goto e_dst; } @@ -2054,8 +2069,8 @@ goto e_dst; } - dst.sg_wa.sg_used += src.sg_wa.sg->length; - if (dst.sg_wa.sg_used == dst.sg_wa.sg->length) { + dst.sg_wa.sg_used += sg_dma_len(src.sg_wa.sg); + if (dst.sg_wa.sg_used == sg_dma_len(dst.sg_wa.sg)) { dst.sg_wa.sg = sg_next(dst.sg_wa.sg); dst.sg_wa.sg_used = 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/ccree/cc_cipher.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/ccree/cc_cipher.c @@ -159,7 +159,6 @@ skcipher_alg.base); struct device *dev = drvdata_to_dev(cc_alg->drvdata); unsigned int max_key_buf_size = cc_alg->skcipher_alg.max_keysize; - int rc = 0; dev_dbg(dev, "Initializing context @%p for %s\n", ctx_p, crypto_tfm_alg_name(tfm)); @@ -171,10 +170,19 @@ ctx_p->flow_mode = cc_alg->flow_mode; ctx_p->drvdata = cc_alg->drvdata; + if (ctx_p->cipher_mode == DRV_CIPHER_ESSIV) { + /* Alloc hash tfm for essiv */ + ctx_p->shash_tfm = crypto_alloc_shash("sha256-generic", 0, 0); + if (IS_ERR(ctx_p->shash_tfm)) { + dev_err(dev, "Error allocating hash tfm for ESSIV.\n"); + return PTR_ERR(ctx_p->shash_tfm); + } + } + /* Allocate key buffer, cache line aligned */ ctx_p->user.key = kmalloc(max_key_buf_size, GFP_KERNEL); if (!ctx_p->user.key) - return -ENOMEM; + goto free_shash; dev_dbg(dev, "Allocated key buffer in context. key=@%p\n", ctx_p->user.key); @@ -186,21 +194,19 @@ if (dma_mapping_error(dev, ctx_p->user.key_dma_addr)) { dev_err(dev, "Mapping Key %u B at va=%pK for DMA failed\n", max_key_buf_size, ctx_p->user.key); - return -ENOMEM; + goto free_key; } dev_dbg(dev, "Mapped key %u B at va=%pK to dma=%pad\n", max_key_buf_size, ctx_p->user.key, &ctx_p->user.key_dma_addr); - if (ctx_p->cipher_mode == DRV_CIPHER_ESSIV) { - /* Alloc hash tfm for essiv */ - ctx_p->shash_tfm = crypto_alloc_shash("sha256-generic", 0, 0); - if (IS_ERR(ctx_p->shash_tfm)) { - dev_err(dev, "Error allocating hash tfm for ESSIV.\n"); - return PTR_ERR(ctx_p->shash_tfm); - } - } + return 0; + +free_key: + kfree(ctx_p->user.key); +free_shash: + crypto_free_shash(ctx_p->shash_tfm); - return rc; + return -ENOMEM; } static void cc_cipher_exit(struct crypto_tfm *tfm) --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/ccree/cc_pm.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/ccree/cc_pm.c @@ -65,8 +65,12 @@ int cc_pm_get(struct device *dev) { int rc = pm_runtime_get_sync(dev); + if (rc < 0) { + pm_runtime_put_noidle(dev); + return rc; + } - return (rc == 1 ? 0 : rc); + return 0; } void cc_pm_put_suspend(struct device *dev) --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chcr_ktls.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chcr_ktls.c @@ -659,7 +659,8 @@ } static void *__chcr_write_cpl_set_tcb_ulp(struct chcr_ktls_info *tx_info, - u32 tid, void *pos, u16 word, u64 mask, + u32 tid, void *pos, u16 word, + struct sge_eth_txq *q, u64 mask, u64 val, u32 reply) { struct cpl_set_tcb_field_core *cpl; @@ -668,7 +669,10 @@ /* ULP_TXPKT */ txpkt = pos; - txpkt->cmd_dest = htonl(ULPTX_CMD_V(ULP_TX_PKT) | ULP_TXPKT_DEST_V(0)); + txpkt->cmd_dest = htonl(ULPTX_CMD_V(ULP_TX_PKT) | + ULP_TXPKT_CHANNELID_V(tx_info->port_id) | + ULP_TXPKT_FID_V(q->q.cntxt_id) | + ULP_TXPKT_RO_F); txpkt->len = htonl(DIV_ROUND_UP(CHCR_SET_TCB_FIELD_LEN, 16)); /* ULPTX_IDATA sub-command */ @@ -723,7 +727,7 @@ } else { u8 buf[48] = {0}; - __chcr_write_cpl_set_tcb_ulp(tx_info, tid, buf, word, + __chcr_write_cpl_set_tcb_ulp(tx_info, tid, buf, word, q, mask, val, reply); return chcr_copy_to_txd(buf, &q->q, pos, @@ -731,7 +735,7 @@ } } - pos = __chcr_write_cpl_set_tcb_ulp(tx_info, tid, pos, word, + pos = __chcr_write_cpl_set_tcb_ulp(tx_info, tid, pos, word, q, mask, val, reply); /* check again if we are at the end of the queue */ @@ -917,15 +921,14 @@ struct fw_eth_tx_pkt_wr *wr; struct cpl_tx_pkt_core *cpl; u32 ctrl, iplen, maclen; -#if IS_ENABLED(CONFIG_IPV6) struct ipv6hdr *ip6; -#endif unsigned int ndesc; struct tcphdr *tcp; int len16, pktlen; struct iphdr *ip; int credits; u8 buf[150]; + u64 cntrl1; void *pos; iplen = skb_network_header_len(skb); @@ -964,22 +967,26 @@ TXPKT_PF_V(tx_info->adap->pf)); cpl->pack = 0; cpl->len = htons(pktlen); - /* checksum offload */ - cpl->ctrl1 = 0; - - pos = cpl + 1; memcpy(buf, skb->data, pktlen); - if (tx_info->ip_family == AF_INET) { + if (!IS_ENABLED(CONFIG_IPV6) || tx_info->ip_family == AF_INET) { /* we need to correct ip header len */ ip = (struct iphdr *)(buf + maclen); ip->tot_len = htons(pktlen - maclen); -#if IS_ENABLED(CONFIG_IPV6) + cntrl1 = TXPKT_CSUM_TYPE_V(TX_CSUM_TCPIP); } else { ip6 = (struct ipv6hdr *)(buf + maclen); ip6->payload_len = htons(pktlen - maclen - iplen); -#endif + cntrl1 = TXPKT_CSUM_TYPE_V(TX_CSUM_TCPIP6); } + + cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) | + TXPKT_IPHDR_LEN_V(iplen); + /* checksum offload */ + cpl->ctrl1 = cpu_to_be64(cntrl1); + + pos = cpl + 1; + /* now take care of the tcp header, if fin is not set then clear push * bit as well, and if fin is set, it will be sent at the last so we * need to update the tcp sequence number as per the last packet. --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chtls/chtls.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chtls/chtls.h @@ -485,7 +485,11 @@ void chtls_tcp_push(struct sock *sk, int flags); int chtls_push_frames(struct chtls_sock *csk, int comp); int chtls_set_tcb_tflag(struct sock *sk, unsigned int bit_pos, int val); +void chtls_set_tcb_field_rpl_skb(struct sock *sk, u16 word, + u64 mask, u64 val, u8 cookie, + int through_l2t); int chtls_setkey(struct chtls_sock *csk, u32 keylen, u32 mode, int cipher_type); +void chtls_set_quiesce_ctrl(struct sock *sk, int val); void skb_entail(struct sock *sk, struct sk_buff *skb, int flags); unsigned int keyid_to_addr(int start_addr, int keyid); void free_tls_keyid(struct sock *sk); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chtls/chtls_cm.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chtls/chtls_cm.c @@ -32,6 +32,7 @@ #include "chtls.h" #include "chtls_cm.h" #include "clip_tbl.h" +#include "t4_tcb.h" /* * State transitions and actions for close. Note that if we are in SYN_SENT @@ -92,11 +93,13 @@ static struct net_device *chtls_find_netdev(struct chtls_dev *cdev, struct sock *sk) { + struct adapter *adap = pci_get_drvdata(cdev->pdev); struct net_device *ndev = cdev->ports[0]; #if IS_ENABLED(CONFIG_IPV6) struct net_device *temp; int addr_type; #endif + int i; switch (sk->sk_family) { case PF_INET: @@ -127,8 +130,12 @@ return NULL; if (is_vlan_dev(ndev)) - return vlan_dev_real_dev(ndev); - return ndev; + ndev = vlan_dev_real_dev(ndev); + + for_each_port(adap, i) + if (cdev->ports[i] == ndev) + return ndev; + return NULL; } static void assign_rxopt(struct sock *sk, unsigned int opt) @@ -206,7 +213,7 @@ { if (likely(skb && !skb_shared(skb) && !skb_cloned(skb))) { __skb_trim(skb, 0); - refcount_add(2, &skb->users); + refcount_inc(&skb->users); } else { skb = alloc_skb(len, GFP_KERNEL | __GFP_NOFAIL); } @@ -261,7 +268,9 @@ if (sk->sk_state != TCP_SYN_RECV) chtls_send_abort(sk, mode, skb); else - goto out; + chtls_set_tcb_field_rpl_skb(sk, TCB_T_FLAGS_W, + TCB_T_FLAGS_V(TCB_T_FLAGS_M), 0, + TCB_FIELD_COOKIE_TFLAG, 1); return; out: @@ -477,7 +486,6 @@ chtls_purge_write_queue(sk); free_tls_keyid(sk); kref_put(&csk->kref, chtls_sock_release); - csk->cdev = NULL; if (sk->sk_family == AF_INET) sk->sk_prot = &tcp_prot; #if IS_ENABLED(CONFIG_IPV6) @@ -616,7 +624,7 @@ while (!skb_queue_empty(&listen_ctx->synq)) { struct chtls_sock *csk = - container_of((struct synq *)__skb_dequeue + container_of((struct synq *)skb_peek (&listen_ctx->synq), struct chtls_sock, synq); struct sock *child = csk->sk; @@ -736,14 +744,13 @@ #if IS_ENABLED(CONFIG_IPV6) if (sk->sk_family == PF_INET6) { - struct chtls_sock *csk; + struct net_device *ndev = chtls_find_netdev(cdev, sk); int addr_type = 0; - csk = rcu_dereference_sk_user_data(sk); addr_type = ipv6_addr_type((const struct in6_addr *) &sk->sk_v6_rcv_saddr); if (addr_type != IPV6_ADDR_ANY) - cxgb4_clip_release(csk->egress_dev, (const u32 *) + cxgb4_clip_release(ndev, (const u32 *) &sk->sk_v6_rcv_saddr, 1); } #endif @@ -768,14 +775,13 @@ if (rpl->status != CPL_ERR_NONE) { pr_info("Unexpected PASS_OPEN_RPL status %u for STID %u\n", rpl->status, stid); - return CPL_RET_BUF_DONE; + } else { + cxgb4_free_stid(cdev->tids, stid, listen_ctx->lsk->sk_family); + sock_put(listen_ctx->lsk); + kfree(listen_ctx); + module_put(THIS_MODULE); } - cxgb4_free_stid(cdev->tids, stid, listen_ctx->lsk->sk_family); - sock_put(listen_ctx->lsk); - kfree(listen_ctx); - module_put(THIS_MODULE); - - return 0; + return CPL_RET_BUF_DONE; } static int chtls_close_listsrv_rpl(struct chtls_dev *cdev, struct sk_buff *skb) @@ -792,15 +798,13 @@ if (rpl->status != CPL_ERR_NONE) { pr_info("Unexpected CLOSE_LISTSRV_RPL status %u for STID %u\n", rpl->status, stid); - return CPL_RET_BUF_DONE; + } else { + cxgb4_free_stid(cdev->tids, stid, listen_ctx->lsk->sk_family); + sock_put(listen_ctx->lsk); + kfree(listen_ctx); + module_put(THIS_MODULE); } - - cxgb4_free_stid(cdev->tids, stid, listen_ctx->lsk->sk_family); - sock_put(listen_ctx->lsk); - kfree(listen_ctx); - module_put(THIS_MODULE); - - return 0; + return CPL_RET_BUF_DONE; } static void chtls_purge_wr_queue(struct sock *sk) @@ -1107,6 +1111,7 @@ const struct cpl_pass_accept_req *req, struct chtls_dev *cdev) { + struct adapter *adap = pci_get_drvdata(cdev->pdev); struct neighbour *n = NULL; struct inet_sock *newinet; const struct iphdr *iph; @@ -1116,9 +1121,10 @@ struct dst_entry *dst; struct tcp_sock *tp; struct sock *newsk; + bool found = false; u16 port_id; int rxq_idx; - int step; + int step, i; iph = (const struct iphdr *)network_hdr; newsk = tcp_create_openreq_child(lsk, oreq, cdev->askb); @@ -1150,12 +1156,20 @@ n = dst_neigh_lookup(dst, &ip6h->saddr); #endif } - if (!n) - goto free_sk; + if (!n || !n->dev) + goto free_dst; ndev = n->dev; - if (!ndev) + if (is_vlan_dev(ndev)) + ndev = vlan_dev_real_dev(ndev); + + for_each_port(adap, i) + if (cdev->ports[i] == ndev) + found = true; + + if (!found) goto free_dst; + port_id = cxgb4_port_idx(ndev); csk = chtls_sock_create(cdev); @@ -1201,6 +1215,7 @@ sk_setup_caps(newsk, dst); ctx = tls_get_ctx(lsk); newsk->sk_destruct = ctx->sk_destruct; + newsk->sk_prot_creator = lsk->sk_prot_creator; csk->sk = newsk; csk->passive_reap_next = oreq; csk->tx_chan = cxgb4_port_chan(ndev); @@ -1231,6 +1246,8 @@ free_csk: chtls_sock_release(&csk->kref); free_dst: + if (n) + neigh_release(n); dst_release(dst); free_sk: inet_csk_prepare_forced_close(newsk); @@ -1380,7 +1397,7 @@ newsk = chtls_recv_sock(sk, oreq, network_hdr, req, cdev); if (!newsk) - goto free_oreq; + goto reject; if (chtls_get_module(newsk)) goto reject; @@ -1396,8 +1413,6 @@ kfree_skb(skb); return; -free_oreq: - chtls_reqsk_free(oreq); reject: mk_tid_release(reply_skb, 0, tid); cxgb4_ofld_send(cdev->lldi->ports[0], reply_skb); @@ -1506,7 +1521,6 @@ struct chtls_sock *csk = sk->sk_user_data; local_bh_disable(); - bh_lock_sock(sk); release_tcp_port(sk); /* release the port immediately */ spin_lock(&reap_list_lock); @@ -1515,7 +1529,6 @@ if (!csk->passive_reap_next) schedule_work(&reap_task); spin_unlock(&reap_list_lock); - bh_unlock_sock(sk); local_bh_enable(); } @@ -1584,6 +1597,11 @@ sk_wake_async(sk, 0, POLL_OUT); data = lookup_stid(cdev->tids, stid); + if (!data) { + /* listening server close */ + kfree_skb(skb); + goto unlock; + } lsk = ((struct listen_ctx *)data)->lsk; bh_lock_sock(lsk); @@ -1931,6 +1949,8 @@ else if (tcp_sk(sk)->linger2 < 0 && !csk_flag_nochk(csk, CSK_ABORT_SHUTDOWN)) chtls_abort_conn(sk, skb); + else if (csk_flag_nochk(csk, CSK_TX_DATA_SENT)) + chtls_set_quiesce_ctrl(sk, 0); break; default: pr_info("close_con_rpl in bad state %d\n", sk->sk_state); @@ -1992,39 +2012,6 @@ spin_unlock_bh(&cdev->deferq.lock); } -static void send_abort_rpl(struct sock *sk, struct sk_buff *skb, - struct chtls_dev *cdev, int status, int queue) -{ - struct cpl_abort_req_rss *req = cplhdr(skb); - struct sk_buff *reply_skb; - struct chtls_sock *csk; - - csk = rcu_dereference_sk_user_data(sk); - - reply_skb = alloc_skb(sizeof(struct cpl_abort_rpl), - GFP_KERNEL); - - if (!reply_skb) { - req->status = (queue << 1); - t4_defer_reply(skb, cdev, send_defer_abort_rpl); - return; - } - - set_abort_rpl_wr(reply_skb, GET_TID(req), status); - kfree_skb(skb); - - set_wr_txq(reply_skb, CPL_PRIORITY_DATA, queue); - if (csk_conn_inline(csk)) { - struct l2t_entry *e = csk->l2t_entry; - - if (e && sk->sk_state != TCP_SYN_RECV) { - cxgb4_l2t_send(csk->egress_dev, reply_skb, e); - return; - } - } - cxgb4_ofld_send(cdev->lldi->ports[0], reply_skb); -} - static void chtls_send_abort_rpl(struct sock *sk, struct sk_buff *skb, struct chtls_dev *cdev, int status, int queue) @@ -2073,9 +2060,9 @@ queue = csk->txq_idx; skb->sk = NULL; + chtls_send_abort_rpl(child, skb, BLOG_SKB_CB(skb)->cdev, + CPL_ABORT_NO_RST, queue); do_abort_syn_rcv(child, lsk); - send_abort_rpl(child, skb, BLOG_SKB_CB(skb)->cdev, - CPL_ABORT_NO_RST, queue); } static int abort_syn_rcv(struct sock *sk, struct sk_buff *skb) @@ -2105,8 +2092,8 @@ if (!sock_owned_by_user(psk)) { int queue = csk->txq_idx; + chtls_send_abort_rpl(sk, skb, cdev, CPL_ABORT_NO_RST, queue); do_abort_syn_rcv(sk, psk); - send_abort_rpl(sk, skb, cdev, CPL_ABORT_NO_RST, queue); } else { skb->sk = sk; BLOG_SKB_CB(skb)->backlog_rcv = bl_abort_syn_rcv; @@ -2124,9 +2111,6 @@ int queue = csk->txq_idx; if (is_neg_adv(req->status)) { - if (sk->sk_state == TCP_SYN_RECV) - chtls_set_tcb_tflag(sk, 0, 0); - kfree_skb(skb); return; } @@ -2153,12 +2137,12 @@ if (sk->sk_state == TCP_SYN_RECV && !abort_syn_rcv(sk, skb)) return; - chtls_release_resources(sk); - chtls_conn_done(sk); } chtls_send_abort_rpl(sk, skb, BLOG_SKB_CB(skb)->cdev, rst_status, queue); + chtls_release_resources(sk); + chtls_conn_done(sk); } static void chtls_abort_rpl_rss(struct sock *sk, struct sk_buff *skb) @@ -2310,6 +2294,28 @@ return 0; } +static int chtls_set_tcb_rpl(struct chtls_dev *cdev, struct sk_buff *skb) +{ + struct cpl_set_tcb_rpl *rpl = cplhdr(skb) + RSS_HDR; + unsigned int hwtid = GET_TID(rpl); + struct sock *sk; + + sk = lookup_tid(cdev->tids, hwtid); + + /* return EINVAL if socket doesn't exist */ + if (!sk) + return -EINVAL; + + /* Reusing the skb as size of cpl_set_tcb_field structure + * is greater than cpl_abort_req + */ + if (TCB_COOKIE_G(rpl->cookie) == TCB_FIELD_COOKIE_TFLAG) + chtls_send_abort(sk, CPL_ABORT_SEND_RST, NULL); + + kfree_skb(skb); + return 0; +} + chtls_handler_func chtls_handlers[NUM_CPL_CMDS] = { [CPL_PASS_OPEN_RPL] = chtls_pass_open_rpl, [CPL_CLOSE_LISTSRV_RPL] = chtls_close_listsrv_rpl, @@ -2322,5 +2328,6 @@ [CPL_CLOSE_CON_RPL] = chtls_conn_cpl, [CPL_ABORT_REQ_RSS] = chtls_conn_cpl, [CPL_ABORT_RPL_RSS] = chtls_conn_cpl, - [CPL_FW4_ACK] = chtls_wr_ack, + [CPL_FW4_ACK] = chtls_wr_ack, + [CPL_SET_TCB_RPL] = chtls_set_tcb_rpl, }; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chtls/chtls_cm.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chtls/chtls_cm.h @@ -50,9 +50,6 @@ #define MIN_RCV_WND (24 * 1024U) #define LOOPBACK(x) (((x) & htonl(0xff000000)) == htonl(0x7f000000)) -/* ulp_mem_io + ulptx_idata + payload + padding */ -#define MAX_IMM_ULPTX_WR_LEN (32 + 8 + 256 + 8) - /* for TX: a skb must have a headroom of at least TX_HEADER_LEN bytes */ #define TX_HEADER_LEN \ (sizeof(struct fw_ofld_tx_data_wr) + sizeof(struct sge_opaque_hdr)) --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chtls/chtls_hw.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chtls/chtls_hw.c @@ -88,6 +88,24 @@ return ret < 0 ? ret : 0; } +void chtls_set_tcb_field_rpl_skb(struct sock *sk, u16 word, + u64 mask, u64 val, u8 cookie, + int through_l2t) +{ + struct sk_buff *skb; + unsigned int wrlen; + + wrlen = sizeof(struct cpl_set_tcb_field) + sizeof(struct ulptx_idata); + wrlen = roundup(wrlen, 16); + + skb = alloc_skb(wrlen, GFP_KERNEL | __GFP_NOFAIL); + if (!skb) + return; + + __set_tcb_field(sk, skb, word, mask, val, cookie, 0); + send_or_defer(sk, tcp_sk(sk), skb, through_l2t); +} + /* * Set one of the t_flags bits in the TCB. */ @@ -113,6 +131,29 @@ TF_RX_QUIESCE_V(val)); } +void chtls_set_quiesce_ctrl(struct sock *sk, int val) +{ + struct chtls_sock *csk; + struct sk_buff *skb; + unsigned int wrlen; + int ret; + + wrlen = sizeof(struct cpl_set_tcb_field) + sizeof(struct ulptx_idata); + wrlen = roundup(wrlen, 16); + + skb = alloc_skb(wrlen, GFP_ATOMIC); + if (!skb) + return; + + csk = rcu_dereference_sk_user_data(sk); + + __set_tcb_field(sk, skb, 1, TF_RX_QUIESCE_V(1), 0, 0, 1); + set_wr_txq(skb, CPL_PRIORITY_CONTROL, csk->port_id); + ret = cxgb4_ofld_send(csk->egress_dev, skb); + if (ret < 0) + kfree_skb(skb); +} + /* TLS Key bitmap processing */ int chtls_init_kmap(struct chtls_dev *cdev, struct cxgb4_lld_info *lldi) { @@ -383,11 +424,15 @@ if (ret) goto out_notcb; + if (unlikely(csk_flag(sk, CSK_ABORT_SHUTDOWN))) + goto out_notcb; + set_wr_txq(skb, CPL_PRIORITY_DATA, csk->tlshws.txqid); csk->wr_credits -= DIV_ROUND_UP(len, 16); csk->wr_unacked += DIV_ROUND_UP(len, 16); enqueue_wr(csk, skb); cxgb4_ofld_send(csk->egress_dev, skb); + skb = NULL; chtls_set_scmd(csk); /* Clear quiesce for Rx key */ --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/chelsio/chtls/chtls_io.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/chelsio/chtls/chtls_io.c @@ -902,9 +902,9 @@ return 0; } -static int csk_mem_free(struct chtls_dev *cdev, struct sock *sk) +static bool csk_mem_free(struct chtls_dev *cdev, struct sock *sk) { - return (cdev->max_host_sndbuf - sk->sk_wmem_queued); + return (cdev->max_host_sndbuf - sk->sk_wmem_queued > 0); } static int csk_wait_memory(struct chtls_dev *cdev, @@ -1240,6 +1240,7 @@ copied = 0; csk = rcu_dereference_sk_user_data(sk); cdev = csk->cdev; + lock_sock(sk); timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT); err = sk_stream_wait_connect(sk, &timeo); @@ -1584,6 +1585,7 @@ tp->urg_data = 0; if ((avail + offset) >= skb->len) { + struct sk_buff *next_skb; if (ULP_SKB_CB(skb)->flags & ULPCB_FLAG_TLS_HDR) { tp->copied_seq += skb->len; hws->rcvpld = skb->hdr_len; @@ -1594,8 +1596,10 @@ chtls_free_skb(sk, skb); buffers_freed++; hws->copied_seq = 0; - if (copied >= target && - !skb_peek(&sk->sk_receive_queue)) + next_skb = skb_peek(&sk->sk_receive_queue); + if (copied >= target && !next_skb) + break; + if (ULP_SKB_CB(next_skb)->flags & ULPCB_FLAG_TLS_HDR) break; } } while (len > 0); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/hisilicon/sec/sec_algs.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/hisilicon/sec/sec_algs.c @@ -175,7 +175,8 @@ dma_addr_t *psec_sgl, struct scatterlist *sgl, int count, - struct sec_dev_info *info) + struct sec_dev_info *info, + gfp_t gfp) { struct sec_hw_sgl *sgl_current = NULL; struct sec_hw_sgl *sgl_next; @@ -190,7 +191,7 @@ sge_index = i % SEC_MAX_SGE_NUM; if (sge_index == 0) { sgl_next = dma_pool_zalloc(info->hw_sgl_pool, - GFP_KERNEL, &sgl_next_dma); + gfp, &sgl_next_dma); if (!sgl_next) { ret = -ENOMEM; goto err_free_hw_sgls; @@ -545,14 +546,14 @@ } static int sec_alg_alloc_and_calc_split_sizes(int length, size_t **split_sizes, - int *steps) + int *steps, gfp_t gfp) { size_t *sizes; int i; /* Split into suitable sized blocks */ *steps = roundup(length, SEC_REQ_LIMIT) / SEC_REQ_LIMIT; - sizes = kcalloc(*steps, sizeof(*sizes), GFP_KERNEL); + sizes = kcalloc(*steps, sizeof(*sizes), gfp); if (!sizes) return -ENOMEM; @@ -568,7 +569,7 @@ int steps, struct scatterlist ***splits, int **splits_nents, int sgl_len_in, - struct device *dev) + struct device *dev, gfp_t gfp) { int ret, count; @@ -576,12 +577,12 @@ if (!count) return -EINVAL; - *splits = kcalloc(steps, sizeof(struct scatterlist *), GFP_KERNEL); + *splits = kcalloc(steps, sizeof(struct scatterlist *), gfp); if (!*splits) { ret = -ENOMEM; goto err_unmap_sg; } - *splits_nents = kcalloc(steps, sizeof(int), GFP_KERNEL); + *splits_nents = kcalloc(steps, sizeof(int), gfp); if (!*splits_nents) { ret = -ENOMEM; goto err_free_splits; @@ -589,7 +590,7 @@ /* output the scatter list before and after this */ ret = sg_split(sgl, count, 0, steps, split_sizes, - *splits, *splits_nents, GFP_KERNEL); + *splits, *splits_nents, gfp); if (ret) { ret = -ENOMEM; goto err_free_splits_nents; @@ -630,13 +631,13 @@ int el_size, bool different_dest, struct scatterlist *sgl_in, int n_ents_in, struct scatterlist *sgl_out, int n_ents_out, - struct sec_dev_info *info) + struct sec_dev_info *info, gfp_t gfp) { struct sec_request_el *el; struct sec_bd_info *req; int ret; - el = kzalloc(sizeof(*el), GFP_KERNEL); + el = kzalloc(sizeof(*el), gfp); if (!el) return ERR_PTR(-ENOMEM); el->el_length = el_size; @@ -668,7 +669,7 @@ el->sgl_in = sgl_in; ret = sec_alloc_and_fill_hw_sgl(&el->in, &el->dma_in, el->sgl_in, - n_ents_in, info); + n_ents_in, info, gfp); if (ret) goto err_free_el; @@ -679,7 +680,7 @@ el->sgl_out = sgl_out; ret = sec_alloc_and_fill_hw_sgl(&el->out, &el->dma_out, el->sgl_out, - n_ents_out, info); + n_ents_out, info, gfp); if (ret) goto err_free_hw_sgl_in; @@ -720,6 +721,7 @@ int *splits_out_nents = NULL; struct sec_request_el *el, *temp; bool split = skreq->src != skreq->dst; + gfp_t gfp = skreq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL : GFP_ATOMIC; mutex_init(&sec_req->lock); sec_req->req_base = &skreq->base; @@ -728,13 +730,13 @@ sec_req->len_in = sg_nents(skreq->src); ret = sec_alg_alloc_and_calc_split_sizes(skreq->cryptlen, &split_sizes, - &steps); + &steps, gfp); if (ret) return ret; sec_req->num_elements = steps; ret = sec_map_and_split_sg(skreq->src, split_sizes, steps, &splits_in, &splits_in_nents, sec_req->len_in, - info->dev); + info->dev, gfp); if (ret) goto err_free_split_sizes; @@ -742,7 +744,7 @@ sec_req->len_out = sg_nents(skreq->dst); ret = sec_map_and_split_sg(skreq->dst, split_sizes, steps, &splits_out, &splits_out_nents, - sec_req->len_out, info->dev); + sec_req->len_out, info->dev, gfp); if (ret) goto err_unmap_in_sg; } @@ -775,7 +777,7 @@ splits_in[i], splits_in_nents[i], split ? splits_out[i] : NULL, split ? splits_out_nents[i] : 0, - info); + info, gfp); if (IS_ERR(el)) { ret = PTR_ERR(el); goto err_free_elements; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/hisilicon/sec2/sec_crypto.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/hisilicon/sec2/sec_crypto.c @@ -332,11 +332,14 @@ ret = sec_alloc_pbuf_resource(dev, res); if (ret) { dev_err(dev, "fail to alloc pbuf dma resource!\n"); - goto alloc_fail; + goto alloc_pbuf_fail; } } return 0; +alloc_pbuf_fail: + if (ctx->alg_type == SEC_AEAD) + sec_free_mac_resource(dev, qp_ctx->res); alloc_fail: sec_free_civ_resource(dev, res); @@ -447,8 +450,10 @@ ctx->fake_req_limit = QM_Q_DEPTH >> 1; ctx->qp_ctx = kcalloc(sec->ctx_q_num, sizeof(struct sec_qp_ctx), GFP_KERNEL); - if (!ctx->qp_ctx) - return -ENOMEM; + if (!ctx->qp_ctx) { + ret = -ENOMEM; + goto err_destroy_qps; + } for (i = 0; i < sec->ctx_q_num; i++) { ret = sec_create_qp_ctx(&sec->qm, ctx, i, 0); @@ -457,12 +462,15 @@ } return 0; + err_sec_release_qp_ctx: for (i = i - 1; i >= 0; i--) sec_release_qp_ctx(ctx, &ctx->qp_ctx[i]); - sec_destroy_qps(ctx->qps, sec->ctx_q_num); kfree(ctx->qp_ctx); +err_destroy_qps: + sec_destroy_qps(ctx->qps, sec->ctx_q_num); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/hisilicon/sec2/sec_main.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/hisilicon/sec2/sec_main.c @@ -30,9 +30,9 @@ #define SEC_SQE_SIZE 128 #define SEC_SQ_SIZE (SEC_SQE_SIZE * QM_Q_DEPTH) -#define SEC_PF_DEF_Q_NUM 64 +#define SEC_PF_DEF_Q_NUM 256 #define SEC_PF_DEF_Q_BASE 0 -#define SEC_CTX_Q_NUM_DEF 24 +#define SEC_CTX_Q_NUM_DEF 2 #define SEC_CTX_Q_NUM_MAX 32 #define SEC_CTRL_CNT_CLR_CE 0x301120 @@ -191,7 +191,7 @@ }; static u32 ctx_q_num = SEC_CTX_Q_NUM_DEF; module_param_cb(ctx_q_num, &sec_ctx_q_num_ops, &ctx_q_num, 0444); -MODULE_PARM_DESC(ctx_q_num, "Queue num in ctx (24 default, 2, 4, ..., 32)"); +MODULE_PARM_DESC(ctx_q_num, "Queue num in ctx (2 default, 2, 4, ..., 32)"); static const struct kernel_param_ops vfs_num_ops = { .set = vfs_num_set, --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/inside-secure/safexcel.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/inside-secure/safexcel.c @@ -1596,7 +1596,7 @@ priv->ring[i].rdr_req = devm_kcalloc(dev, EIP197_DEFAULT_RING_SIZE, - sizeof(priv->ring[i].rdr_req), + sizeof(*priv->ring[i].rdr_req), GFP_KERNEL); if (!priv->ring[i].rdr_req) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/ixp4xx_crypto.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/ixp4xx_crypto.c @@ -528,7 +528,7 @@ if (crypt_virt) { dma_free_coherent(dev, - NPE_QLEN_TOTAL * sizeof( struct crypt_ctl), + NPE_QLEN * sizeof(struct crypt_ctl), crypt_virt, crypt_phys); } } --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/mediatek/mtk-platform.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/mediatek/mtk-platform.c @@ -442,7 +442,7 @@ static int mtk_desc_ring_alloc(struct mtk_cryp *cryp) { struct mtk_ring **ring = cryp->ring; - int i, err = ENOMEM; + int i; for (i = 0; i < MTK_RING_MAX; i++) { ring[i] = kzalloc(sizeof(**ring), GFP_KERNEL); @@ -469,14 +469,14 @@ return 0; err_cleanup: - for (; i--; ) { + do { dma_free_coherent(cryp->dev, MTK_DESC_RING_SZ, ring[i]->res_base, ring[i]->res_dma); dma_free_coherent(cryp->dev, MTK_DESC_RING_SZ, ring[i]->cmd_base, ring[i]->cmd_dma); kfree(ring[i]); - } - return err; + } while (i--); + return -ENOMEM; } static int mtk_crypto_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/omap-aes.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/omap-aes.c @@ -1138,7 +1138,7 @@ if (err < 0) { dev_err(dev, "%s: failed to get_sync(%d)\n", __func__, err); - goto err_res; + goto err_pm_disable; } omap_aes_dma_stop(dd); @@ -1247,6 +1247,7 @@ omap_aes_dma_cleanup(dd); err_irq: tasklet_kill(&dd->done_task); +err_pm_disable: pm_runtime_disable(dev); err_res: dd = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/omap-sham.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/omap-sham.c @@ -456,6 +456,9 @@ struct omap_sham_reqctx *ctx = ahash_request_ctx(dd->req); u32 val, mask; + if (likely(ctx->digcnt)) + omap_sham_write(dd, SHA_REG_DIGCNT(dd), ctx->digcnt); + /* * Setting ALGO_CONST only for the first iteration and * CLOSE_HASH only for the last one. Note that flags mode bits --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/picoxcell_crypto.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/picoxcell_crypto.c @@ -1666,11 +1666,6 @@ goto err_clk_put; } - ret = device_create_file(&pdev->dev, &dev_attr_stat_irq_thresh); - if (ret) - goto err_clk_disable; - - /* * Use an IRQ threshold of 50% as a default. This seems to be a * reasonable trade off of latency against throughput but can be @@ -1678,6 +1673,10 @@ */ engine->stat_irq_thresh = (engine->fifo_sz / 2); + ret = device_create_file(&pdev->dev, &dev_attr_stat_irq_thresh); + if (ret) + goto err_clk_disable; + /* * Configure the interrupts. We only use the STAT_CNT interrupt as we * only submit a new packet for processing when we complete another in --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/qat/qat_common/qat_algs.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/qat/qat_common/qat_algs.c @@ -55,6 +55,7 @@ #include #include #include +#include #include #include "adf_accel_devices.h" #include "adf_transport.h" @@ -870,6 +871,11 @@ struct icp_qat_fw_la_bulk_req *msg; int digst_size = crypto_aead_authsize(aead_tfm); int ret, ctr = 0; + u32 cipher_len; + + cipher_len = areq->cryptlen - digst_size; + if (cipher_len % AES_BLOCK_SIZE != 0) + return -EINVAL; ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); if (unlikely(ret)) @@ -884,7 +890,7 @@ qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp; qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp; cipher_param = (void *)&qat_req->req.serv_specif_rqpars; - cipher_param->cipher_length = areq->cryptlen - digst_size; + cipher_param->cipher_length = cipher_len; cipher_param->cipher_offset = areq->assoclen; memcpy(cipher_param->u.cipher_IV_array, areq->iv, AES_BLOCK_SIZE); auth_param = (void *)((uint8_t *)cipher_param + sizeof(*cipher_param)); @@ -913,6 +919,9 @@ uint8_t *iv = areq->iv; int ret, ctr = 0; + if (areq->cryptlen % AES_BLOCK_SIZE != 0) + return -EINVAL; + ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); if (unlikely(ret)) return ret; @@ -1102,6 +1111,14 @@ return qat_alg_skcipher_encrypt(req); } +static int qat_alg_skcipher_xts_encrypt(struct skcipher_request *req) +{ + if (req->cryptlen < XTS_BLOCK_SIZE) + return -EINVAL; + + return qat_alg_skcipher_encrypt(req); +} + static int qat_alg_skcipher_decrypt(struct skcipher_request *req) { struct crypto_skcipher *stfm = crypto_skcipher_reqtfm(req); @@ -1161,6 +1178,15 @@ return qat_alg_skcipher_decrypt(req); } + +static int qat_alg_skcipher_xts_decrypt(struct skcipher_request *req) +{ + if (req->cryptlen < XTS_BLOCK_SIZE) + return -EINVAL; + + return qat_alg_skcipher_decrypt(req); +} + static int qat_alg_aead_init(struct crypto_aead *tfm, enum icp_qat_hw_auth_algo hash, const char *hash_name) @@ -1354,8 +1380,8 @@ .init = qat_alg_skcipher_init_tfm, .exit = qat_alg_skcipher_exit_tfm, .setkey = qat_alg_skcipher_xts_setkey, - .decrypt = qat_alg_skcipher_blk_decrypt, - .encrypt = qat_alg_skcipher_blk_encrypt, + .decrypt = qat_alg_skcipher_xts_decrypt, + .encrypt = qat_alg_skcipher_xts_encrypt, .min_keysize = 2 * AES_MIN_KEY_SIZE, .max_keysize = 2 * AES_MAX_KEY_SIZE, .ivsize = AES_BLOCK_SIZE, --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/qat/qat_common/qat_hal.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/qat/qat_common/qat_hal.c @@ -1189,7 +1189,7 @@ unsigned short mask; unsigned short dr_offset = 0x10; - status = ctx_enables = qat_hal_rd_ae_csr(handle, ae, CTX_ENABLES); + ctx_enables = qat_hal_rd_ae_csr(handle, ae, CTX_ENABLES); if (CE_INUSE_CONTEXTS & ctx_enables) { if (ctx & 0x1) { pr_err("QAT: bad 4-ctx mode,ctx=0x%x\n", ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/qat/qat_common/qat_uclo.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/qat/qat_common/qat_uclo.c @@ -332,13 +332,18 @@ } return 0; out_err: + /* Do not free the list head unless we allocated it. */ + tail_old = tail_old->next; + if (flag) { + kfree(*init_tab_base); + *init_tab_base = NULL; + } + while (tail_old) { mem_init = tail_old->next; kfree(tail_old); tail_old = mem_init; } - if (flag) - kfree(*init_tab_base); return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/stm32/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/crypto/stm32/Kconfig @@ -3,6 +3,7 @@ tristate "Support for STM32 crc accelerators" depends on ARCH_STM32 select CRYPTO_HASH + select CRC32 help This enables support for the CRC32 hw accelerator which can be found on STMicroelectronics STM32 SOC. --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/stm32/stm32-crc32.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/stm32/stm32-crc32.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -147,7 +148,6 @@ struct stm32_crc_desc_ctx *ctx = shash_desc_ctx(desc); struct stm32_crc_ctx *mctx = crypto_shash_ctx(desc->tfm); struct stm32_crc *crc; - unsigned long flags; crc = stm32_crc_get_next_crc(); if (!crc) @@ -155,7 +155,15 @@ pm_runtime_get_sync(crc->dev); - spin_lock_irqsave(&crc->lock, flags); + if (!spin_trylock(&crc->lock)) { + /* Hardware is busy, calculate crc32 by software */ + if (mctx->poly == CRC32_POLY_LE) + ctx->partial = crc32_le(ctx->partial, d8, length); + else + ctx->partial = __crc32c_le(ctx->partial, d8, length); + + goto pm_out; + } /* * Restore previously calculated CRC for this context as init value @@ -195,8 +203,9 @@ /* Store partial result */ ctx->partial = readl_relaxed(crc->regs + CRC_DR); - spin_unlock_irqrestore(&crc->lock, flags); + spin_unlock(&crc->lock); +pm_out: pm_runtime_mark_last_busy(crc->dev); pm_runtime_put_autosuspend(crc->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/talitos.c +++ linux-riscv-5.8-5.8.0/drivers/crypto/talitos.c @@ -460,7 +460,7 @@ /* * locate current (offending) descriptor */ -static u32 current_desc_hdr(struct device *dev, int ch) +static __be32 current_desc_hdr(struct device *dev, int ch) { struct talitos_private *priv = dev_get_drvdata(dev); int tail, iter; @@ -478,7 +478,7 @@ iter = tail; while (priv->chan[ch].fifo[iter].dma_desc != cur_desc && - priv->chan[ch].fifo[iter].desc->next_desc != cur_desc) { + priv->chan[ch].fifo[iter].desc->next_desc != cpu_to_be32(cur_desc)) { iter = (iter + 1) & (priv->fifo_len - 1); if (iter == tail) { dev_err(dev, "couldn't locate current descriptor\n"); @@ -486,7 +486,7 @@ } } - if (priv->chan[ch].fifo[iter].desc->next_desc == cur_desc) { + if (priv->chan[ch].fifo[iter].desc->next_desc == cpu_to_be32(cur_desc)) { struct talitos_edesc *edesc; edesc = container_of(priv->chan[ch].fifo[iter].desc, @@ -501,13 +501,13 @@ /* * user diagnostics; report root cause of error based on execution unit status */ -static void report_eu_error(struct device *dev, int ch, u32 desc_hdr) +static void report_eu_error(struct device *dev, int ch, __be32 desc_hdr) { struct talitos_private *priv = dev_get_drvdata(dev); int i; if (!desc_hdr) - desc_hdr = in_be32(priv->chan[ch].reg + TALITOS_DESCBUF); + desc_hdr = cpu_to_be32(in_be32(priv->chan[ch].reg + TALITOS_DESCBUF)); switch (desc_hdr & DESC_HDR_SEL0_MASK) { case DESC_HDR_SEL0_AFEU: @@ -1092,11 +1092,12 @@ */ static int sg_to_link_tbl_offset(struct scatterlist *sg, int sg_count, unsigned int offset, int datalen, int elen, - struct talitos_ptr *link_tbl_ptr) + struct talitos_ptr *link_tbl_ptr, int align) { int n_sg = elen ? sg_count + 1 : sg_count; int count = 0; int cryptlen = datalen + elen; + int padding = ALIGN(cryptlen, align) - cryptlen; while (cryptlen && sg && n_sg--) { unsigned int len = sg_dma_len(sg); @@ -1120,7 +1121,7 @@ offset += datalen; } to_talitos_ptr(link_tbl_ptr + count, - sg_dma_address(sg) + offset, len, 0); + sg_dma_address(sg) + offset, sg_next(sg) ? len : len + padding, 0); to_talitos_ptr_ext_set(link_tbl_ptr + count, 0, 0); count++; cryptlen -= len; @@ -1143,10 +1144,11 @@ unsigned int len, struct talitos_edesc *edesc, struct talitos_ptr *ptr, int sg_count, unsigned int offset, int tbl_off, int elen, - bool force) + bool force, int align) { struct talitos_private *priv = dev_get_drvdata(dev); bool is_sec1 = has_ftr_sec1(priv); + int aligned_len = ALIGN(len, align); if (!src) { to_talitos_ptr(ptr, 0, 0, is_sec1); @@ -1154,22 +1156,22 @@ } to_talitos_ptr_ext_set(ptr, elen, is_sec1); if (sg_count == 1 && !force) { - to_talitos_ptr(ptr, sg_dma_address(src) + offset, len, is_sec1); + to_talitos_ptr(ptr, sg_dma_address(src) + offset, aligned_len, is_sec1); return sg_count; } if (is_sec1) { - to_talitos_ptr(ptr, edesc->dma_link_tbl + offset, len, is_sec1); + to_talitos_ptr(ptr, edesc->dma_link_tbl + offset, aligned_len, is_sec1); return sg_count; } sg_count = sg_to_link_tbl_offset(src, sg_count, offset, len, elen, - &edesc->link_tbl[tbl_off]); + &edesc->link_tbl[tbl_off], align); if (sg_count == 1 && !force) { /* Only one segment now, so no link tbl needed*/ copy_talitos_ptr(ptr, &edesc->link_tbl[tbl_off], is_sec1); return sg_count; } to_talitos_ptr(ptr, edesc->dma_link_tbl + - tbl_off * sizeof(struct talitos_ptr), len, is_sec1); + tbl_off * sizeof(struct talitos_ptr), aligned_len, is_sec1); to_talitos_ptr_ext_or(ptr, DESC_PTR_LNKTBL_JUMP, is_sec1); return sg_count; @@ -1181,7 +1183,7 @@ unsigned int offset, int tbl_off) { return talitos_sg_map_ext(dev, src, len, edesc, ptr, sg_count, offset, - tbl_off, 0, false); + tbl_off, 0, false, 1); } /* @@ -1250,7 +1252,7 @@ ret = talitos_sg_map_ext(dev, areq->src, cryptlen, edesc, &desc->ptr[4], sg_count, areq->assoclen, tbl_off, elen, - false); + false, 1); if (ret > 1) { tbl_off += ret; @@ -1270,7 +1272,7 @@ elen = 0; ret = talitos_sg_map_ext(dev, areq->dst, cryptlen, edesc, &desc->ptr[5], sg_count, areq->assoclen, tbl_off, elen, - is_ipsec_esp && !encrypt); + is_ipsec_esp && !encrypt, 1); tbl_off += ret; if (!encrypt && is_ipsec_esp) { @@ -1576,6 +1578,8 @@ bool sync_needed = false; struct talitos_private *priv = dev_get_drvdata(dev); bool is_sec1 = has_ftr_sec1(priv); + bool is_ctr = (desc->hdr & DESC_HDR_SEL0_MASK) == DESC_HDR_SEL0_AESU && + (desc->hdr & DESC_HDR_MODE0_AESU_MASK) == DESC_HDR_MODE0_AESU_CTR; /* first DWORD empty */ @@ -1596,8 +1600,8 @@ /* * cipher in */ - sg_count = talitos_sg_map(dev, areq->src, cryptlen, edesc, - &desc->ptr[3], sg_count, 0, 0); + sg_count = talitos_sg_map_ext(dev, areq->src, cryptlen, edesc, &desc->ptr[3], + sg_count, 0, 0, 0, false, is_ctr ? 16 : 1); if (sg_count > 1) sync_needed = true; @@ -2739,6 +2743,22 @@ }, { .type = CRYPTO_ALG_TYPE_SKCIPHER, .alg.skcipher = { + .base.cra_name = "ctr(aes)", + .base.cra_driver_name = "ctr-aes-talitos", + .base.cra_blocksize = 1, + .base.cra_flags = CRYPTO_ALG_ASYNC | + CRYPTO_ALG_ALLOCATES_MEMORY, + .min_keysize = AES_MIN_KEY_SIZE, + .max_keysize = AES_MAX_KEY_SIZE, + .ivsize = AES_BLOCK_SIZE, + .setkey = skcipher_aes_setkey, + }, + .desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU | + DESC_HDR_SEL0_AESU | + DESC_HDR_MODE0_AESU_CTR, + }, + { .type = CRYPTO_ALG_TYPE_SKCIPHER, + .alg.skcipher = { .base.cra_name = "ecb(des)", .base.cra_driver_name = "ecb-des-talitos", .base.cra_blocksize = DES_BLOCK_SIZE, @@ -3138,6 +3158,12 @@ t_alg->algt.alg.skcipher.setkey ?: skcipher_setkey; t_alg->algt.alg.skcipher.encrypt = skcipher_encrypt; t_alg->algt.alg.skcipher.decrypt = skcipher_decrypt; + if (!strcmp(alg->cra_name, "ctr(aes)") && !has_ftr_sec1(priv) && + DESC_TYPE(t_alg->algt.desc_hdr_template) != + DESC_TYPE(DESC_HDR_TYPE_AESU_CTR_NONSNOOP)) { + devm_kfree(dev, t_alg); + return ERR_PTR(-ENOTSUPP); + } break; case CRYPTO_ALG_TYPE_AEAD: alg = &t_alg->algt.alg.aead.base; --- linux-riscv-5.8-5.8.0.orig/drivers/crypto/talitos.h +++ linux-riscv-5.8-5.8.0/drivers/crypto/talitos.h @@ -344,6 +344,7 @@ /* primary execution unit mode (MODE0) and derivatives */ #define DESC_HDR_MODE0_ENCRYPT cpu_to_be32(0x00100000) +#define DESC_HDR_MODE0_AESU_MASK cpu_to_be32(0x00600000) #define DESC_HDR_MODE0_AESU_CBC cpu_to_be32(0x00200000) #define DESC_HDR_MODE0_AESU_CTR cpu_to_be32(0x00600000) #define DESC_HDR_MODE0_DEU_CBC cpu_to_be32(0x00400000) --- linux-riscv-5.8-5.8.0.orig/drivers/dax/super.c +++ linux-riscv-5.8-5.8.0/drivers/dax/super.c @@ -318,11 +318,15 @@ bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev, int blocksize, sector_t start, sector_t len) { + if (!dax_dev) + return false; + if (!dax_alive(dax_dev)) return false; return dax_dev->ops->dax_supported(dax_dev, bdev, blocksize, start, len); } +EXPORT_SYMBOL_GPL(dax_supported); size_t dax_copy_from_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, size_t bytes, struct iov_iter *i) @@ -740,6 +744,7 @@ static void __exit dax_core_exit(void) { + dax_bus_exit(); unregister_chrdev_region(dax_devt, MINORMASK+1); ida_destroy(&dax_minor_ida); dax_fs_exit(); --- linux-riscv-5.8-5.8.0.orig/drivers/devfreq/devfreq.c +++ linux-riscv-5.8-5.8.0/drivers/devfreq/devfreq.c @@ -1657,8 +1657,7 @@ unsigned long cur_freq, min_freq, max_freq; unsigned int polling_ms; - seq_printf(s, "%-30s %-10s %-10s %-15s %10s %12s %12s %12s\n", - "dev_name", + seq_printf(s, "%-30s %-30s %-15s %10s %12s %12s %12s\n", "dev", "parent_dev", "governor", @@ -1666,10 +1665,9 @@ "cur_freq_Hz", "min_freq_Hz", "max_freq_Hz"); - seq_printf(s, "%30s %10s %10s %15s %10s %12s %12s %12s\n", + seq_printf(s, "%30s %30s %15s %10s %12s %12s %12s\n", + "------------------------------", "------------------------------", - "----------", - "----------", "---------------", "----------", "------------", @@ -1692,14 +1690,13 @@ #endif mutex_lock(&devfreq->lock); - cur_freq = devfreq->previous_freq, + cur_freq = devfreq->previous_freq; get_freq_range(devfreq, &min_freq, &max_freq); - polling_ms = devfreq->profile->polling_ms, + polling_ms = devfreq->profile->polling_ms; mutex_unlock(&devfreq->lock); seq_printf(s, - "%-30s %-10s %-10s %-15s %10d %12ld %12ld %12ld\n", - dev_name(devfreq->dev.parent), + "%-30s %-30s %-15s %10d %12ld %12ld %12ld\n", dev_name(&devfreq->dev), p_devfreq ? dev_name(&p_devfreq->dev) : "null", devfreq->governor_name, --- linux-riscv-5.8-5.8.0.orig/drivers/devfreq/rk3399_dmc.c +++ linux-riscv-5.8-5.8.0/drivers/devfreq/rk3399_dmc.c @@ -95,18 +95,20 @@ mutex_lock(&dmcfreq->lock); - if (target_rate >= dmcfreq->odt_dis_freq) - odt_enable = true; - - /* - * This makes a SMC call to the TF-A to set the DDR PD (power-down) - * timings and to enable or disable the ODT (on-die termination) - * resistors. - */ - arm_smccc_smc(ROCKCHIP_SIP_DRAM_FREQ, dmcfreq->odt_pd_arg0, - dmcfreq->odt_pd_arg1, - ROCKCHIP_SIP_CONFIG_DRAM_SET_ODT_PD, - odt_enable, 0, 0, 0, &res); + if (dmcfreq->regmap_pmu) { + if (target_rate >= dmcfreq->odt_dis_freq) + odt_enable = true; + + /* + * This makes a SMC call to the TF-A to set the DDR PD + * (power-down) timings and to enable or disable the + * ODT (on-die termination) resistors. + */ + arm_smccc_smc(ROCKCHIP_SIP_DRAM_FREQ, dmcfreq->odt_pd_arg0, + dmcfreq->odt_pd_arg1, + ROCKCHIP_SIP_CONFIG_DRAM_SET_ODT_PD, + odt_enable, 0, 0, 0, &res); + } /* * If frequency scaling from low to high, adjust voltage first. @@ -371,13 +373,14 @@ } node = of_parse_phandle(np, "rockchip,pmu", 0); - if (node) { - data->regmap_pmu = syscon_node_to_regmap(node); - of_node_put(node); - if (IS_ERR(data->regmap_pmu)) { - ret = PTR_ERR(data->regmap_pmu); - goto err_edev; - } + if (!node) + goto no_pmu; + + data->regmap_pmu = syscon_node_to_regmap(node); + of_node_put(node); + if (IS_ERR(data->regmap_pmu)) { + ret = PTR_ERR(data->regmap_pmu); + goto err_edev; } regmap_read(data->regmap_pmu, RK3399_PMUGRF_OS_REG2, &val); @@ -399,6 +402,7 @@ goto err_edev; }; +no_pmu: arm_smccc_smc(ROCKCHIP_SIP_DRAM_FREQ, 0, 0, ROCKCHIP_SIP_CONFIG_DRAM_INIT, 0, 0, 0, 0, &res); --- linux-riscv-5.8-5.8.0.orig/drivers/devfreq/tegra30-devfreq.c +++ linux-riscv-5.8-5.8.0/drivers/devfreq/tegra30-devfreq.c @@ -836,7 +836,8 @@ rate = clk_round_rate(tegra->emc_clock, ULONG_MAX); if (rate < 0) { dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate); - return rate; + err = rate; + goto disable_clk; } tegra->max_freq = rate / KHZ; @@ -897,6 +898,7 @@ dev_pm_opp_remove_all_dynamic(&pdev->dev); reset_control_reset(tegra->reset); +disable_clk: clk_disable_unprepare(tegra->clock); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/dma-buf/dma-buf.c +++ linux-riscv-5.8-5.8.0/drivers/dma-buf/dma-buf.c @@ -59,6 +59,8 @@ struct dma_buf *dmabuf; dmabuf = dentry->d_fsdata; + if (unlikely(!dmabuf)) + return; BUG_ON(dmabuf->vmapping_counter); @@ -74,10 +76,6 @@ dmabuf->ops->release(dmabuf); - mutex_lock(&db_list.lock); - list_del(&dmabuf->list_node); - mutex_unlock(&db_list.lock); - if (dmabuf->resv == (struct dma_resv *)&dmabuf[1]) dma_resv_fini(dmabuf->resv); @@ -86,6 +84,22 @@ kfree(dmabuf); } +static int dma_buf_file_release(struct inode *inode, struct file *file) +{ + struct dma_buf *dmabuf; + + if (!is_dma_buf_file(file)) + return -EINVAL; + + dmabuf = file->private_data; + + mutex_lock(&db_list.lock); + list_del(&dmabuf->list_node); + mutex_unlock(&db_list.lock); + + return 0; +} + static const struct dentry_operations dma_buf_dentry_ops = { .d_dname = dmabuffs_dname, .d_release = dma_buf_release, @@ -411,6 +425,7 @@ } static const struct file_operations dma_buf_fops = { + .release = dma_buf_file_release, .mmap = dma_buf_mmap_internal, .llseek = dma_buf_llseek, .poll = dma_buf_poll, --- linux-riscv-5.8-5.8.0.orig/drivers/dma-buf/dma-resv.c +++ linux-riscv-5.8-5.8.0/drivers/dma-buf/dma-resv.c @@ -194,7 +194,7 @@ max = max(old->shared_count + num_fences, old->shared_max * 2); } else { - max = 4; + max = max(4ul, roundup_pow_of_two(num_fences)); } new = dma_resv_list_alloc(max); --- linux-riscv-5.8-5.8.0.orig/drivers/dma-buf/st-dma-fence-chain.c +++ linux-riscv-5.8-5.8.0/drivers/dma-buf/st-dma-fence-chain.c @@ -318,15 +318,16 @@ goto err; } - if (fence && fence != fc.chains[1]) { + /* + * We signaled the middle fence (2) of the 1-2-3 chain. The behavior + * of the dma-fence-chain is to make us wait for all the fences up to + * the point we want. Since fence 1 is still not signaled, this what + * we should get as fence to wait upon (fence 2 being garbage + * collected during the traversal of the chain). + */ + if (fence != fc.chains[0]) { pr_err("Incorrect chain-fence.seqno:%lld reported for completed seqno:2\n", - fence->seqno); - - dma_fence_get(fence); - err = dma_fence_chain_find_seqno(&fence, 2); - dma_fence_put(fence); - if (err) - pr_err("Reported %d for finding self!\n", err); + fence ? fence->seqno : 0); err = -EINVAL; } @@ -415,20 +416,18 @@ if (!fence) goto signal; - err = dma_fence_chain_find_seqno(&fence, seqno); - if (err) { - pr_err("Reported an invalid fence for find-self:%d\n", - seqno); - dma_fence_put(fence); - break; - } - - if (fence->seqno < seqno) { - pr_err("Reported an earlier fence.seqno:%lld for seqno:%d\n", - fence->seqno, seqno); - err = -EINVAL; - dma_fence_put(fence); - break; + /* + * We can only find ourselves if we are on fence we were + * looking for. + */ + if (fence->seqno == seqno) { + err = dma_fence_chain_find_seqno(&fence, seqno); + if (err) { + pr_err("Reported an invalid fence for find-self:%d\n", + seqno); + dma_fence_put(fence); + break; + } } dma_fence_put(fence); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/dma/Kconfig @@ -285,6 +285,7 @@ config INTEL_IDXD tristate "Intel Data Accelerators support" depends on PCI && X86_64 + depends on PCI_MSI select DMA_ENGINE select SBITMAP help --- linux-riscv-5.8-5.8.0.orig/drivers/dma/acpi-dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/acpi-dma.c @@ -135,11 +135,13 @@ if (ret < 0) { dev_warn(&adev->dev, "error in parsing resource group\n"); - return; + break; } grp = (struct acpi_csrt_group *)((void *)grp + grp->length); } + + acpi_put_table((struct acpi_table_header *)csrt); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/dma/at_hdmac.c +++ linux-riscv-5.8-5.8.0/drivers/dma/at_hdmac.c @@ -1650,13 +1650,17 @@ return NULL; dmac_pdev = of_find_device_by_node(dma_spec->np); + if (!dmac_pdev) + return NULL; dma_cap_zero(mask); dma_cap_set(DMA_SLAVE, mask); atslave = kmalloc(sizeof(*atslave), GFP_KERNEL); - if (!atslave) + if (!atslave) { + put_device(&dmac_pdev->dev); return NULL; + } atslave->cfg = ATC_DST_H2SEL_HW | ATC_SRC_H2SEL_HW; /* @@ -1685,8 +1689,11 @@ atslave->dma_dev = &dmac_pdev->dev; chan = dma_request_channel(mask, at_dma_filter, atslave); - if (!chan) + if (!chan) { + put_device(&dmac_pdev->dev); + kfree(atslave); return NULL; + } atchan = to_at_dma_chan(chan); atchan->per_if = dma_spec->args[0] & 0xff; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dma-jz4780.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dma-jz4780.c @@ -639,11 +639,11 @@ unsigned long flags; unsigned long residue = 0; + spin_lock_irqsave(&jzchan->vchan.lock, flags); + status = dma_cookie_status(chan, cookie, txstate); if ((status == DMA_COMPLETE) || (txstate == NULL)) - return status; - - spin_lock_irqsave(&jzchan->vchan.lock, flags); + goto out_unlock_irqrestore; vdesc = vchan_find_desc(&jzchan->vchan, cookie); if (vdesc) { @@ -660,6 +660,7 @@ && jzchan->desc->status & (JZ_DMA_DCS_AR | JZ_DMA_DCS_HLT)) status = DMA_ERROR; +out_unlock_irqrestore: spin_unlock_irqrestore(&jzchan->vchan.lock, flags); return status; } @@ -879,24 +880,11 @@ return -EINVAL; } - ret = platform_get_irq(pdev, 0); - if (ret < 0) - return ret; - - jzdma->irq = ret; - - ret = request_irq(jzdma->irq, jz4780_dma_irq_handler, 0, dev_name(dev), - jzdma); - if (ret) { - dev_err(dev, "failed to request IRQ %u!\n", jzdma->irq); - return ret; - } - jzdma->clk = devm_clk_get(dev, NULL); if (IS_ERR(jzdma->clk)) { dev_err(dev, "failed to get clock\n"); ret = PTR_ERR(jzdma->clk); - goto err_free_irq; + return ret; } clk_prepare_enable(jzdma->clk); @@ -949,10 +937,23 @@ jzchan->vchan.desc_free = jz4780_dma_desc_free; } + ret = platform_get_irq(pdev, 0); + if (ret < 0) + goto err_disable_clk; + + jzdma->irq = ret; + + ret = request_irq(jzdma->irq, jz4780_dma_irq_handler, 0, dev_name(dev), + jzdma); + if (ret) { + dev_err(dev, "failed to request IRQ %u!\n", jzdma->irq); + goto err_disable_clk; + } + ret = dmaenginem_async_device_register(dd); if (ret) { dev_err(dev, "failed to register device\n"); - goto err_disable_clk; + goto err_free_irq; } /* Register with OF DMA helpers. */ @@ -960,17 +961,17 @@ jzdma); if (ret) { dev_err(dev, "failed to register OF DMA controller\n"); - goto err_disable_clk; + goto err_free_irq; } dev_info(dev, "JZ4780 DMA controller initialised\n"); return 0; -err_disable_clk: - clk_disable_unprepare(jzdma->clk); - err_free_irq: free_irq(jzdma->irq, jzdma); + +err_disable_clk: + clk_disable_unprepare(jzdma->clk); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dmaengine.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dmaengine.c @@ -1043,16 +1043,15 @@ static int __dma_async_device_channel_register(struct dma_device *device, struct dma_chan *chan) { - int rc = 0; + int rc; chan->local = alloc_percpu(typeof(*chan->local)); if (!chan->local) - goto err_out; + return -ENOMEM; chan->dev = kzalloc(sizeof(*chan->dev), GFP_KERNEL); if (!chan->dev) { - free_percpu(chan->local); - chan->local = NULL; - goto err_out; + rc = -ENOMEM; + goto err_free_local; } /* @@ -1065,7 +1064,8 @@ if (chan->chan_id < 0) { pr_err("%s: unable to alloc ida for chan: %d\n", __func__, chan->chan_id); - goto err_out; + rc = chan->chan_id; + goto err_free_dev; } chan->dev->device.class = &dma_devclass; @@ -1086,9 +1086,11 @@ mutex_lock(&device->chan_mutex); ida_free(&device->chan_ida, chan->chan_id); mutex_unlock(&device->chan_mutex); - err_out: - free_percpu(chan->local); + err_free_dev: kfree(chan->dev); + err_free_local: + free_percpu(chan->local); + chan->local = NULL; return rc; } @@ -1113,7 +1115,6 @@ "%s called while %d clients hold a reference\n", __func__, chan->client_count); mutex_lock(&dma_list_mutex); - list_del(&chan->device_node); device->chancnt--; chan->dev->chan = NULL; mutex_unlock(&dma_list_mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dmatest.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dmatest.c @@ -129,6 +129,7 @@ * @nr_channels: number of channels under test * @lock: access protection to the fields of this structure * @did_init: module has been initialized completely + * @last_error: test has faced configuration issues */ static struct dmatest_info { /* Test parameters */ @@ -137,6 +138,7 @@ /* Internal state */ struct list_head channels; unsigned int nr_channels; + int last_error; struct mutex lock; bool did_init; } test_info = { @@ -1175,10 +1177,22 @@ return ret; } else if (dmatest_run) { if (!is_threaded_test_pending(info)) { - pr_info("No channels configured, continue with any\n"); - if (!is_threaded_test_run(info)) - stop_threaded_test(info); - add_threaded_test(info); + /* + * We have nothing to run. This can be due to: + */ + ret = info->last_error; + if (ret) { + /* 1) Misconfiguration */ + pr_err("Channel misconfigured, can't continue\n"); + mutex_unlock(&info->lock); + return ret; + } else { + /* 2) We rely on defaults */ + pr_info("No channels configured, continue with any\n"); + if (!is_threaded_test_run(info)) + stop_threaded_test(info); + add_threaded_test(info); + } } start_threaded_tests(info); } else { @@ -1195,7 +1209,7 @@ struct dmatest_info *info = &test_info; struct dmatest_chan *dtc; char chan_reset_val[20]; - int ret = 0; + int ret; mutex_lock(&info->lock); ret = param_set_copystring(val, kp); @@ -1226,15 +1240,14 @@ add_threaded_test(info); /* Check if channel was added successfully */ - dtc = list_last_entry(&info->channels, struct dmatest_chan, node); - - if (dtc->chan) { + if (!list_empty(&info->channels)) { /* * if new channel was not successfully added, revert the * "test_channel" string to the name of the last successfully * added channel. exception for when users issues empty string * to channel parameter. */ + dtc = list_last_entry(&info->channels, struct dmatest_chan, node); if ((strcmp(dma_chan_name(dtc->chan), strim(test_channel)) != 0) && (strcmp("", strim(test_channel)) != 0)) { ret = -EINVAL; @@ -1250,12 +1263,14 @@ goto add_chan_err; } + info->last_error = ret; mutex_unlock(&info->lock); return ret; add_chan_err: param_set_copystring(chan_reset_val, kp); + info->last_error = ret; mutex_unlock(&info->lock); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dw-edma/dw-edma-core.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dw-edma/dw-edma-core.c @@ -86,12 +86,12 @@ if (desc->chunk) { /* Create and add new element into the linked list */ - desc->chunks_alloc++; - list_add_tail(&chunk->list, &desc->chunk->list); if (!dw_edma_alloc_burst(chunk)) { kfree(chunk); return NULL; } + desc->chunks_alloc++; + list_add_tail(&chunk->list, &desc->chunk->list); } else { /* List head */ chunk->burst = NULL; @@ -405,7 +405,7 @@ if (xfer->cyclic) { burst->dar = xfer->xfer.cyclic.paddr; } else { - burst->dar = sg_dma_address(sg); + burst->dar = dst_addr; /* Unlike the typical assumption by other * drivers/IPs the peripheral memory isn't * a FIFO memory, in this case, it's a @@ -413,14 +413,13 @@ * and destination addresses are increased * by the same portion (data length) */ - src_addr += sg_dma_len(sg); } } else { burst->dar = dst_addr; if (xfer->cyclic) { burst->sar = xfer->xfer.cyclic.paddr; } else { - burst->sar = sg_dma_address(sg); + burst->sar = src_addr; /* Unlike the typical assumption by other * drivers/IPs the peripheral memory isn't * a FIFO memory, in this case, it's a @@ -428,12 +427,14 @@ * and destination addresses are increased * by the same portion (data length) */ - dst_addr += sg_dma_len(sg); } } - if (!xfer->cyclic) + if (!xfer->cyclic) { + src_addr += sg_dma_len(sg); + dst_addr += sg_dma_len(sg); sg = sg_next(sg); + } } return vchan_tx_prep(&chan->vc, &desc->vd, xfer->flags); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dw/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/dma/dw/Kconfig @@ -10,6 +10,7 @@ config DW_DMAC tristate "Synopsys DesignWare AHB DMA platform driver" + depends on HAS_IOMEM select DW_DMAC_CORE help Support the Synopsys DesignWare AHB DMA controller. This @@ -18,6 +19,7 @@ config DW_DMAC_PCI tristate "Synopsys DesignWare AHB DMA PCI driver" depends on PCI + depends on HAS_IOMEM select DW_DMAC_CORE help Support the Synopsys DesignWare AHB DMA controller on the --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dw/core.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dw/core.c @@ -772,6 +772,10 @@ if (dws->dma_dev != chan->device->dev) return false; + /* permit channels in accordance with the channels mask */ + if (dws->channels && !(dws->channels & dwc->mask)) + return false; + /* We have to copy data since dws can be temporary storage */ memcpy(&dwc->dws, dws, sizeof(struct dw_dma_slave)); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dw/dw.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dw/dw.c @@ -14,7 +14,7 @@ static void dw_dma_initialize_chan(struct dw_dma_chan *dwc) { struct dw_dma *dw = to_dw_dma(dwc->chan.device); - u32 cfghi = DWC_CFGH_FIFO_MODE; + u32 cfghi = is_slave_direction(dwc->direction) ? 0 : DWC_CFGH_FIFO_MODE; u32 cfglo = DWC_CFGL_CH_PRIOR(dwc->priority); bool hs_polarity = dwc->dws.hs_polarity; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/dw/of.c +++ linux-riscv-5.8-5.8.0/drivers/dma/dw/of.c @@ -22,18 +22,21 @@ }; dma_cap_mask_t cap; - if (dma_spec->args_count != 3) + if (dma_spec->args_count < 3 || dma_spec->args_count > 4) return NULL; slave.src_id = dma_spec->args[0]; slave.dst_id = dma_spec->args[0]; slave.m_master = dma_spec->args[1]; slave.p_master = dma_spec->args[2]; + if (dma_spec->args_count >= 4) + slave.channels = dma_spec->args[3]; if (WARN_ON(slave.src_id >= DW_DMA_MAX_NR_REQUESTS || slave.dst_id >= DW_DMA_MAX_NR_REQUESTS || slave.m_master >= dw->pdata->nr_masters || - slave.p_master >= dw->pdata->nr_masters)) + slave.p_master >= dw->pdata->nr_masters || + slave.channels >= BIT(dw->pdata->nr_channels))) return NULL; dma_cap_zero(cap); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/fsldma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/fsldma.c @@ -1214,6 +1214,7 @@ { struct fsldma_device *fdev; struct device_node *child; + unsigned int i; int err; fdev = kzalloc(sizeof(*fdev), GFP_KERNEL); @@ -1292,6 +1293,10 @@ return 0; out_free_fdev: + for (i = 0; i < FSL_DMA_MAX_CHANS_PER_DEVICE; i++) { + if (fdev->chan[i]) + fsl_dma_chan_remove(fdev->chan[i]); + } irq_dispose_mapping(fdev->irq); iounmap(fdev->regs); out_free: @@ -1314,6 +1319,7 @@ if (fdev->chan[i]) fsl_dma_chan_remove(fdev->chan[i]); } + irq_dispose_mapping(fdev->irq); iounmap(fdev->regs); kfree(fdev); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/fsldma.h +++ linux-riscv-5.8-5.8.0/drivers/dma/fsldma.h @@ -205,10 +205,10 @@ #else static u64 fsl_ioread64(const u64 __iomem *addr) { - u32 fsl_addr = lower_32_bits(addr); - u64 fsl_addr_hi = (u64)in_le32((u32 *)(fsl_addr + 1)) << 32; + u32 val_lo = in_le32((u32 __iomem *)addr); + u32 val_hi = in_le32((u32 __iomem *)addr + 1); - return fsl_addr_hi | in_le32((u32 *)fsl_addr); + return ((u64)val_hi << 32) + val_lo; } static void fsl_iowrite64(u64 val, u64 __iomem *addr) @@ -219,10 +219,10 @@ static u64 fsl_ioread64be(const u64 __iomem *addr) { - u32 fsl_addr = lower_32_bits(addr); - u64 fsl_addr_hi = (u64)in_be32((u32 *)fsl_addr) << 32; + u32 val_hi = in_be32((u32 __iomem *)addr); + u32 val_lo = in_be32((u32 __iomem *)addr + 1); - return fsl_addr_hi | in_be32((u32 *)(fsl_addr + 1)); + return ((u64)val_hi << 32) + val_lo; } static void fsl_iowrite64be(u64 val, u64 __iomem *addr) --- linux-riscv-5.8-5.8.0.orig/drivers/dma/hsu/pci.c +++ linux-riscv-5.8-5.8.0/drivers/dma/hsu/pci.c @@ -26,22 +26,12 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev) { struct hsu_dma_chip *chip = dev; - struct pci_dev *pdev = to_pci_dev(chip->dev); u32 dmaisr; u32 status; unsigned short i; int ret = 0; int err; - /* - * On Intel Tangier B0 and Anniedale the interrupt line, disregarding - * to have different numbers, is shared between HSU DMA and UART IPs. - * Thus on such SoCs we are expecting that IRQ handler is called in - * UART driver only. - */ - if (pdev->device == PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA) - return IRQ_HANDLED; - dmaisr = readl(chip->regs + HSU_PCI_DMAISR); for (i = 0; i < chip->hsu->nr_channels; i++) { if (dmaisr & 0x1) { @@ -105,6 +95,17 @@ if (ret) goto err_register_irq; + /* + * On Intel Tangier B0 and Anniedale the interrupt line, disregarding + * to have different numbers, is shared between HSU DMA and UART IPs. + * Thus on such SoCs we are expecting that IRQ handler is called in + * UART driver only. Instead of handling the spurious interrupt + * from HSU DMA here and waste CPU time and delay HSU UART interrupt + * handling, disable the interrupt entirely. + */ + if (pdev->device == PCI_DEVICE_ID_INTEL_MRFLD_HSU_DMA) + disable_irq_nosync(chip->irq); + pci_set_drvdata(pdev, chip); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/device.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/device.c @@ -303,7 +303,7 @@ resource_size_t start; start = pci_resource_start(pdev, IDXD_WQ_BAR); - start = start + wq->id * IDXD_PORTAL_SIZE; + start += idxd_get_wq_portal_full_offset(wq->id, IDXD_PORTAL_LIMITED); wq->dportal = devm_ioremap(dev, start, IDXD_PORTAL_SIZE); if (!wq->dportal) @@ -327,7 +327,7 @@ int i, wq_offset; lockdep_assert_held(&idxd->dev_lock); - memset(&wq->wqcfg, 0, sizeof(wq->wqcfg)); + memset(wq->wqcfg, 0, idxd->wqcfg_size); wq->type = IDXD_WQT_NONE; wq->size = 0; wq->group = NULL; @@ -336,8 +336,8 @@ clear_bit(WQ_FLAG_DEDICATED, &wq->flags); memset(wq->name, 0, WQ_NAME_SIZE); - for (i = 0; i < 8; i++) { - wq_offset = idxd->wqcfg_offset + wq->id * 32 + i * sizeof(u32); + for (i = 0; i < WQCFG_STRIDES(idxd); i++) { + wq_offset = WQCFG_OFFSET(idxd, wq->id, i); iowrite32(0, idxd->reg_base + wq_offset); dev_dbg(dev, "WQ[%d][%d][%#x]: %#x\n", wq->id, i, wq_offset, @@ -557,10 +557,10 @@ if (!wq->group) return 0; - memset(&wq->wqcfg, 0, sizeof(union wqcfg)); + memset(wq->wqcfg, 0, idxd->wqcfg_size); /* byte 0-3 */ - wq->wqcfg.wq_size = wq->size; + wq->wqcfg->wq_size = wq->size; if (wq->size == 0) { dev_warn(dev, "Incorrect work queue size: 0\n"); @@ -568,22 +568,21 @@ } /* bytes 4-7 */ - wq->wqcfg.wq_thresh = wq->threshold; + wq->wqcfg->wq_thresh = wq->threshold; /* byte 8-11 */ - wq->wqcfg.priv = !!(wq->type == IDXD_WQT_KERNEL); - wq->wqcfg.mode = 1; - - wq->wqcfg.priority = wq->priority; + wq->wqcfg->priv = !!(wq->type == IDXD_WQT_KERNEL); + wq->wqcfg->mode = 1; + wq->wqcfg->priority = wq->priority; /* bytes 12-15 */ - wq->wqcfg.max_xfer_shift = idxd->hw.gen_cap.max_xfer_shift; - wq->wqcfg.max_batch_shift = idxd->hw.gen_cap.max_batch_shift; + wq->wqcfg->max_xfer_shift = idxd->hw.gen_cap.max_xfer_shift; + wq->wqcfg->max_batch_shift = idxd->hw.gen_cap.max_batch_shift; dev_dbg(dev, "WQ %d CFGs\n", wq->id); - for (i = 0; i < 8; i++) { - wq_offset = idxd->wqcfg_offset + wq->id * 32 + i * sizeof(u32); - iowrite32(wq->wqcfg.bits[i], idxd->reg_base + wq_offset); + for (i = 0; i < WQCFG_STRIDES(idxd); i++) { + wq_offset = WQCFG_OFFSET(idxd, wq->id, i); + iowrite32(wq->wqcfg->bits[i], idxd->reg_base + wq_offset); dev_dbg(dev, "WQ[%d][%d][%#x]: %#x\n", wq->id, i, wq_offset, ioread32(idxd->reg_base + wq_offset)); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/dma.c @@ -174,6 +174,7 @@ INIT_LIST_HEAD(&dma->channels); dma->dev = &idxd->pdev->dev; + dma_cap_set(DMA_PRIVATE, dma->cap_mask); dma->device_release = idxd_dma_release; if (idxd->hw.opcap.bits[0] & IDXD_OPCAP_MEMMOVE) { @@ -213,5 +214,8 @@ void idxd_unregister_dma_channel(struct idxd_wq *wq) { - dma_async_device_channel_unregister(&wq->idxd->dma_dev, &wq->dma_chan); + struct dma_chan *chan = &wq->dma_chan; + + dma_async_device_channel_unregister(&wq->idxd->dma_dev, chan); + list_del(&chan->device_node); } --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/idxd.h +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/idxd.h @@ -103,7 +103,7 @@ u32 priority; enum idxd_wq_state state; unsigned long flags; - union wqcfg wqcfg; + union wqcfg *wqcfg; atomic_t dq_count; /* dedicated queue flow control */ u32 vec_ptr; /* interrupt steering */ struct dsa_hw_desc **hw_descs; @@ -181,6 +181,7 @@ int max_wq_size; int token_limit; int nr_tokens; /* non-reserved tokens */ + unsigned int wqcfg_size; union sw_err_reg sw_err; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/init.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/init.c @@ -189,6 +189,9 @@ atomic_set(&wq->dq_count, 0); init_waitqueue_head(&wq->submit_waitq); wq->idxd_cdev.minor = -1; + wq->wqcfg = devm_kzalloc(dev, idxd->wqcfg_size, GFP_KERNEL); + if (!wq->wqcfg) + return -ENOMEM; rc = percpu_init_rwsem(&wq->submit_lock); if (rc < 0) { idxd_wqs_free_lock(idxd); @@ -263,6 +266,8 @@ dev_dbg(dev, "total workqueue size: %u\n", idxd->max_wq_size); idxd->max_wqs = idxd->hw.wq_cap.num_wqs; dev_dbg(dev, "max workqueues: %u\n", idxd->max_wqs); + idxd->wqcfg_size = 1 << (idxd->hw.wq_cap.wqcfg_size + IDXD_WQCFG_MIN); + dev_dbg(dev, "wqcfg size: %u\n", idxd->wqcfg_size); /* reading operation capabilities */ for (i = 0; i < 4; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/irq.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/irq.c @@ -88,7 +88,9 @@ for (i = 0; i < 4; i++) idxd->sw_err.bits[i] = ioread64(idxd->reg_base + IDXD_SWERR_OFFSET + i * sizeof(u64)); - iowrite64(IDXD_SWERR_ACK, idxd->reg_base + IDXD_SWERR_OFFSET); + + iowrite64(idxd->sw_err.bits[0] & IDXD_SWERR_ACK, + idxd->reg_base + IDXD_SWERR_OFFSET); if (idxd->sw_err.valid && idxd->sw_err.wq_idx_valid) { int id = idxd->sw_err.wq_idx; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/registers.h +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/registers.h @@ -8,7 +8,7 @@ #define IDXD_MMIO_BAR 0 #define IDXD_WQ_BAR 2 -#define IDXD_PORTAL_SIZE 0x4000 +#define IDXD_PORTAL_SIZE PAGE_SIZE /* MMIO Device BAR0 Registers */ #define IDXD_VER_OFFSET 0x00 @@ -43,7 +43,8 @@ struct { u64 total_wq_size:16; u64 num_wqs:8; - u64 rsvd:24; + u64 wqcfg_size:4; + u64 rsvd:20; u64 shared_mode:1; u64 dedicated_mode:1; u64 rsvd2:1; @@ -55,6 +56,7 @@ u64 bits; } __packed; #define IDXD_WQCAP_OFFSET 0x20 +#define IDXD_WQCFG_MIN 5 union group_cap_reg { struct { @@ -333,4 +335,23 @@ }; u32 bits[8]; } __packed; + +/* + * This macro calculates the offset into the WQCFG register + * idxd - struct idxd * + * n - wq id + * ofs - the index of the 32b dword for the config register + * + * The WQCFG register block is divided into groups per each wq. The n index + * allows us to move to the register group that's for that particular wq. + * Each register is 32bits. The ofs gives us the number of register to access. + */ +#define WQCFG_OFFSET(_idxd_dev, n, ofs) \ +({\ + typeof(_idxd_dev) __idxd_dev = (_idxd_dev); \ + (__idxd_dev)->wqcfg_offset + (n) * (__idxd_dev)->wqcfg_size + sizeof(u32) * (ofs); \ +}) + +#define WQCFG_STRIDES(_idxd_dev) ((_idxd_dev)->wqcfg_size / sizeof(u32)) + #endif --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/submit.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/submit.c @@ -74,7 +74,7 @@ if (idxd->state != IDXD_DEV_ENABLED) return -EIO; - portal = wq->dportal + idxd_get_wq_portal_offset(IDXD_PORTAL_UNLIMITED); + portal = wq->dportal; /* * The wmb() flushes writes to coherent DMA data before possibly * triggering a DMA read. The wmb() is necessary even on UP because --- linux-riscv-5.8-5.8.0.orig/drivers/dma/idxd/sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/dma/idxd/sysfs.c @@ -389,7 +389,7 @@ return 0; drv_fail: - for (; i > 0; i--) + while (--i >= 0) driver_unregister(&idxd_drvs[i]->drv); return rc; } @@ -933,7 +933,7 @@ if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) return -EPERM; - if (wq->state != IDXD_WQ_DISABLED) + if (idxd->state == IDXD_DEV_ENABLED) return -EPERM; if (size + total_claimed_wq_size(idxd) - wq->size > idxd->max_wq_size) @@ -1184,8 +1184,14 @@ { struct idxd_device *idxd = container_of(dev, struct idxd_device, conf_dev); + int i, rc = 0; - return sprintf(buf, "%#llx\n", idxd->hw.opcap.bits[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; } static DEVICE_ATTR_RO(op_cap); @@ -1554,7 +1560,7 @@ return 0; bus_err: - for (; i > 0; i--) + while (--i >= 0) bus_unregister(idxd_bus_types[i]); return rc; } --- linux-riscv-5.8-5.8.0.orig/drivers/dma/ioat/dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/ioat/dma.c @@ -389,7 +389,7 @@ struct ioat_descs *descs = &ioat_chan->descs[i]; descs->virt = dma_alloc_coherent(to_dev(ioat_chan), - SZ_2M, &descs->hw, flags); + IOAT_CHUNK_SIZE, &descs->hw, flags); if (!descs->virt) { int idx; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/mediatek/mtk-hsdma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/mediatek/mtk-hsdma.c @@ -1007,6 +1007,7 @@ return 0; err_free: + mtk_hsdma_hw_deinit(hsdma); of_dma_controller_free(pdev->dev.of_node); err_unregister: dma_async_device_unregister(dd); --- linux-riscv-5.8-5.8.0.orig/drivers/dma/milbeaut-xdmac.c +++ linux-riscv-5.8-5.8.0/drivers/dma/milbeaut-xdmac.c @@ -351,7 +351,7 @@ ret = dma_async_device_register(ddev); if (ret) - return ret; + goto disable_xdmac; ret = of_dma_controller_register(dev->of_node, of_dma_simple_xlate, mdev); @@ -364,6 +364,8 @@ unregister_dmac: dma_async_device_unregister(ddev); +disable_xdmac: + disable_xdmac(mdev); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/dma/mv_xor_v2.c +++ linux-riscv-5.8-5.8.0/drivers/dma/mv_xor_v2.c @@ -766,8 +766,10 @@ goto disable_clk; msi_desc = first_msi_entry(&pdev->dev); - if (!msi_desc) + if (!msi_desc) { + ret = -ENODEV; goto free_msi_irqs; + } xor_dev->msi_desc = msi_desc; ret = devm_request_irq(&pdev->dev, msi_desc->irq, --- linux-riscv-5.8-5.8.0.orig/drivers/dma/of-dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/of-dma.c @@ -71,12 +71,12 @@ return NULL; chan = ofdma_target->of_dma_xlate(&dma_spec_target, ofdma_target); - if (chan) { - chan->router = ofdma->dma_router; - chan->route_data = route_data; - } else { + if (IS_ERR_OR_NULL(chan)) { ofdma->dma_router->route_free(ofdma->dma_router->dev, route_data); + } else { + chan->router = ofdma->dma_router; + chan->route_data = route_data; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/dma/owl-dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/owl-dma.c @@ -1197,6 +1197,7 @@ owl_dma_free(od); clk_disable_unprepare(od->clk); + dma_pool_destroy(od->lli_pool); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/dma/pl330.c +++ linux-riscv-5.8-5.8.0/drivers/dma/pl330.c @@ -2788,14 +2788,14 @@ while (burst != (1 << desc->rqcfg.brst_size)) desc->rqcfg.brst_size++; + desc->rqcfg.brst_len = get_burst_len(desc, len); /* * If burst size is smaller than bus width then make sure we only * transfer one at a time to avoid a burst stradling an MFIFO entry. */ - if (desc->rqcfg.brst_size * 8 < pl330->pcfg.data_bus_width) + if (burst * 8 < pl330->pcfg.data_bus_width) desc->rqcfg.brst_len = 1; - desc->rqcfg.brst_len = get_burst_len(desc, len); desc->bytes_requested = len; desc->txd.flags = flags; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/plx_dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/plx_dma.c @@ -507,10 +507,8 @@ rc = request_irq(pci_irq_vector(pdev, 0), plx_dma_isr, 0, KBUILD_MODNAME, plxdev); - if (rc) { - kfree(plxdev); - return rc; - } + if (rc) + goto free_plx; spin_lock_init(&plxdev->ring_lock); tasklet_init(&plxdev->desc_task, plx_dma_desc_task, @@ -541,14 +539,20 @@ rc = dma_async_device_register(dma); if (rc) { pci_err(pdev, "Failed to register dma device: %d\n", rc); - free_irq(pci_irq_vector(pdev, 0), plxdev); - kfree(plxdev); - return rc; + goto put_device; } pci_set_drvdata(pdev, plxdev); return 0; + +put_device: + put_device(&pdev->dev); + free_irq(pci_irq_vector(pdev, 0), plxdev); +free_plx: + kfree(plxdev); + + return rc; } static int plx_dma_probe(struct pci_dev *pdev, --- linux-riscv-5.8-5.8.0.orig/drivers/dma/tegra20-apb-dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/tegra20-apb-dma.c @@ -723,7 +723,7 @@ goto end; } if (!tdc->busy) { - err = pm_runtime_get_sync(tdc->tdma->dev); + err = pm_runtime_resume_and_get(tdc->tdma->dev); if (err < 0) { dev_err(tdc2dev(tdc), "Failed to enable DMA\n"); goto end; @@ -818,7 +818,7 @@ struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc); int err; - err = pm_runtime_get_sync(tdc->tdma->dev); + err = pm_runtime_resume_and_get(tdc->tdma->dev); if (err < 0) { dev_err(tdc2dev(tdc), "Failed to synchronize DMA: %d\n", err); return; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/ti/k3-udma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/ti/k3-udma.c @@ -2109,9 +2109,9 @@ return NULL; } - cppi5_tr_init(&tr_req[i].flags, CPPI5_TR_TYPE1, false, false, - CPPI5_TR_EVENT_SIZE_COMPLETION, 0); - cppi5_tr_csf_set(&tr_req[i].flags, CPPI5_TR_CSF_SUPR_EVT); + cppi5_tr_init(&tr_req[tr_idx].flags, CPPI5_TR_TYPE1, false, + false, CPPI5_TR_EVENT_SIZE_COMPLETION, 0); + cppi5_tr_csf_set(&tr_req[tr_idx].flags, CPPI5_TR_CSF_SUPR_EVT); tr_req[tr_idx].addr = sg_addr; tr_req[tr_idx].icnt0 = tr0_cnt0; --- linux-riscv-5.8-5.8.0.orig/drivers/dma/ti/omap-dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/ti/omap-dma.c @@ -1522,29 +1522,38 @@ } } +/* Currently used by omap2 & 3 to block deeper SoC idle states */ +static bool omap_dma_busy(struct omap_dmadev *od) +{ + struct omap_chan *c; + int lch = -1; + + while (1) { + lch = find_next_bit(od->lch_bitmap, od->lch_count, lch + 1); + if (lch >= od->lch_count) + break; + c = od->lch_map[lch]; + if (!c) + continue; + if (omap_dma_chan_read(c, CCR) & CCR_ENABLE) + return true; + } + + return false; +} + /* Currently only used for omap2. For omap1, also a check for lcd_dma is needed */ static int omap_dma_busy_notifier(struct notifier_block *nb, unsigned long cmd, void *v) { struct omap_dmadev *od; - struct omap_chan *c; - int lch = -1; od = container_of(nb, struct omap_dmadev, nb); switch (cmd) { case CPU_CLUSTER_PM_ENTER: - while (1) { - lch = find_next_bit(od->lch_bitmap, od->lch_count, - lch + 1); - if (lch >= od->lch_count) - break; - c = od->lch_map[lch]; - if (!c) - continue; - if (omap_dma_chan_read(c, CCR) & CCR_ENABLE) - return NOTIFY_BAD; - } + if (omap_dma_busy(od)) + return NOTIFY_BAD; break; case CPU_CLUSTER_PM_ENTER_FAILED: case CPU_CLUSTER_PM_EXIT: @@ -1595,6 +1604,8 @@ switch (cmd) { case CPU_CLUSTER_PM_ENTER: + if (omap_dma_busy(od)) + return NOTIFY_BAD; omap_dma_context_save(od); break; case CPU_CLUSTER_PM_ENTER_FAILED: --- linux-riscv-5.8-5.8.0.orig/drivers/dma/xilinx/xilinx_dma.c +++ linux-riscv-5.8-5.8.0/drivers/dma/xilinx/xilinx_dma.c @@ -517,8 +517,8 @@ #define to_dma_tx_descriptor(tx) \ container_of(tx, struct xilinx_dma_tx_descriptor, async_tx) #define xilinx_dma_poll_timeout(chan, reg, val, cond, delay_us, timeout_us) \ - readl_poll_timeout(chan->xdev->regs + chan->ctrl_offset + reg, val, \ - cond, delay_us, timeout_us) + readl_poll_timeout_atomic(chan->xdev->regs + chan->ctrl_offset + reg, \ + val, cond, delay_us, timeout_us) /* IO accessors */ static inline u32 dma_read(struct xilinx_dma_chan *chan, u32 reg) @@ -948,8 +948,10 @@ { struct xilinx_cdma_tx_segment *cdma_seg; struct xilinx_axidma_tx_segment *axidma_seg; + struct xilinx_aximcdma_tx_segment *aximcdma_seg; struct xilinx_cdma_desc_hw *cdma_hw; struct xilinx_axidma_desc_hw *axidma_hw; + struct xilinx_aximcdma_desc_hw *aximcdma_hw; struct list_head *entry; u32 residue = 0; @@ -961,13 +963,23 @@ cdma_hw = &cdma_seg->hw; residue += (cdma_hw->control - cdma_hw->status) & chan->xdev->max_buffer_len; - } else { + } else if (chan->xdev->dma_config->dmatype == + XDMA_TYPE_AXIDMA) { axidma_seg = list_entry(entry, struct xilinx_axidma_tx_segment, node); axidma_hw = &axidma_seg->hw; residue += (axidma_hw->control - axidma_hw->status) & chan->xdev->max_buffer_len; + } else { + aximcdma_seg = + list_entry(entry, + struct xilinx_aximcdma_tx_segment, + node); + aximcdma_hw = &aximcdma_seg->hw; + residue += + (aximcdma_hw->control - aximcdma_hw->status) & + chan->xdev->max_buffer_len; } } @@ -1135,7 +1147,7 @@ upper_32_bits(chan->seg_p + sizeof(*chan->seg_mv) * ((i + 1) % XILINX_DMA_NUM_DESCS)); chan->seg_mv[i].phys = chan->seg_p + - sizeof(*chan->seg_v) * i; + sizeof(*chan->seg_mv) * i; list_add_tail(&chan->seg_mv[i].node, &chan->free_seg_list); } @@ -1560,7 +1572,7 @@ static void xilinx_mcdma_start_transfer(struct xilinx_dma_chan *chan) { struct xilinx_dma_tx_descriptor *head_desc, *tail_desc; - struct xilinx_axidma_tx_segment *tail_segment; + struct xilinx_aximcdma_tx_segment *tail_segment; u32 reg; /* @@ -1582,7 +1594,7 @@ tail_desc = list_last_entry(&chan->pending_list, struct xilinx_dma_tx_descriptor, node); tail_segment = list_last_entry(&tail_desc->segments, - struct xilinx_axidma_tx_segment, node); + struct xilinx_aximcdma_tx_segment, node); reg = dma_ctrl_read(chan, XILINX_MCDMA_CHAN_CR_OFFSET(chan->tdest)); @@ -1864,6 +1876,7 @@ struct xilinx_vdma_tx_segment *tail_segment; struct xilinx_dma_tx_descriptor *tail_desc; struct xilinx_axidma_tx_segment *axidma_tail_segment; + struct xilinx_aximcdma_tx_segment *aximcdma_tail_segment; struct xilinx_cdma_tx_segment *cdma_tail_segment; if (list_empty(&chan->pending_list)) @@ -1885,11 +1898,17 @@ struct xilinx_cdma_tx_segment, node); cdma_tail_segment->hw.next_desc = (u32)desc->async_tx.phys; - } else { + } else if (chan->xdev->dma_config->dmatype == XDMA_TYPE_AXIDMA) { axidma_tail_segment = list_last_entry(&tail_desc->segments, struct xilinx_axidma_tx_segment, node); axidma_tail_segment->hw.next_desc = (u32)desc->async_tx.phys; + } else { + aximcdma_tail_segment = + list_last_entry(&tail_desc->segments, + struct xilinx_aximcdma_tx_segment, + node); + aximcdma_tail_segment->hw.next_desc = (u32)desc->async_tx.phys; } /* @@ -2782,7 +2801,7 @@ has_dre = false; if (!has_dre) - xdev->common.copy_align = fls(width - 1); + xdev->common.copy_align = (enum dmaengine_alignment)fls(width - 1); if (of_device_is_compatible(node, "xlnx,axi-vdma-mm2s-channel") || of_device_is_compatible(node, "xlnx,axi-dma-mm2s-channel") || @@ -2856,10 +2875,11 @@ chan->stop_transfer = xilinx_dma_stop_transfer; } - /* check if SG is enabled (only for AXIDMA and CDMA) */ + /* check if SG is enabled (only for AXIDMA, AXIMCDMA, and CDMA) */ if (xdev->dma_config->dmatype != XDMA_TYPE_VDMA) { - if (dma_ctrl_read(chan, XILINX_DMA_REG_DMASR) & - XILINX_DMA_DMASR_SG_MASK) + if (xdev->dma_config->dmatype == XDMA_TYPE_AXIMCDMA || + dma_ctrl_read(chan, XILINX_DMA_REG_DMASR) & + XILINX_DMA_DMASR_SG_MASK) chan->has_sg = true; dev_dbg(chan->dev, "ch %d: SG %s\n", chan->id, chan->has_sg ? "enabled" : "disabled"); @@ -2901,7 +2921,8 @@ static int xilinx_dma_child_probe(struct xilinx_dma_device *xdev, struct device_node *node) { - int ret, i, nr_channels = 1; + int ret, i; + u32 nr_channels = 1; ret = of_property_read_u32(node, "dma-channels", &nr_channels); if (xdev->dma_config->dmatype == XDMA_TYPE_AXIMCDMA && ret < 0) @@ -3113,7 +3134,11 @@ } /* Register the DMA engine with the core */ - dma_async_device_register(&xdev->common); + err = dma_async_device_register(&xdev->common); + if (err) { + dev_err(xdev->dev, "failed to register the dma device\n"); + goto error; + } err = of_dma_controller_register(node, of_dma_xilinx_xlate, xdev); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/amd64_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/amd64_edac.c @@ -18,6 +18,9 @@ /* Per-node stuff */ static struct ecc_settings **ecc_stngs; +/* Device for the PCI component */ +static struct device *pci_ctl_dev; + /* * Valid scrub rates for the K8 hardware memory scrubber. We map the scrubbing * bandwidth to a valid bit pattern. The 'set' operation finds the 'matching- @@ -2683,6 +2686,9 @@ return -ENODEV; } + if (!pci_ctl_dev) + pci_ctl_dev = &pvt->F0->dev; + edac_dbg(1, "F0: %s\n", pci_name(pvt->F0)); edac_dbg(1, "F3: %s\n", pci_name(pvt->F3)); edac_dbg(1, "F6: %s\n", pci_name(pvt->F6)); @@ -2707,6 +2713,9 @@ return -ENODEV; } + if (!pci_ctl_dev) + pci_ctl_dev = &pvt->F2->dev; + edac_dbg(1, "F1: %s\n", pci_name(pvt->F1)); edac_dbg(1, "F2: %s\n", pci_name(pvt->F2)); edac_dbg(1, "F3: %s\n", pci_name(pvt->F3)); @@ -3341,10 +3350,13 @@ fam_type = &family_types[F15_M60H_CPUS]; pvt->ops = &family_types[F15_M60H_CPUS].ops; break; + /* Richland is only client */ + } else if (pvt->model == 0x13) { + return NULL; + } else { + fam_type = &family_types[F15_CPUS]; + pvt->ops = &family_types[F15_CPUS].ops; } - - fam_type = &family_types[F15_CPUS]; - pvt->ops = &family_types[F15_CPUS].ops; break; case 0x16: @@ -3532,6 +3544,7 @@ pvt->mc_node_id = nid; pvt->F3 = F3; + ret = -ENODEV; fam_type = per_family_init(pvt); if (!fam_type) goto err_enable; @@ -3617,21 +3630,10 @@ static void setup_pci_device(void) { - struct mem_ctl_info *mci; - struct amd64_pvt *pvt; - if (pci_ctl) return; - mci = edac_mc_find(0); - if (!mci) - return; - - pvt = mci->pvt_info; - if (pvt->umc) - pci_ctl = edac_pci_create_generic_ctl(&pvt->F0->dev, EDAC_MOD_STR); - else - pci_ctl = edac_pci_create_generic_ctl(&pvt->F2->dev, EDAC_MOD_STR); + pci_ctl = edac_pci_create_generic_ctl(pci_ctl_dev, EDAC_MOD_STR); if (!pci_ctl) { pr_warn("%s(): Unable to create PCI control\n", __func__); pr_warn("%s(): PCI error report via EDAC not set\n", __func__); @@ -3710,6 +3712,8 @@ return 0; err_pci: + pci_ctl_dev = NULL; + msrs_free(msrs); msrs = NULL; @@ -3739,6 +3743,8 @@ kfree(ecc_stngs); ecc_stngs = NULL; + pci_ctl_dev = NULL; + msrs_free(msrs); msrs = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/edac/aspeed_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/aspeed_edac.c @@ -209,8 +209,8 @@ /* register interrupt handler */ irq = platform_get_irq(pdev, 0); dev_dbg(&pdev->dev, "got irq %d\n", irq); - if (!irq) - return -ENODEV; + if (irq < 0) + return irq; rc = devm_request_irq(&pdev->dev, irq, mcr_isr, IRQF_TRIGGER_HIGH, DRV_NAME, ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/edac_device_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/edac/edac_device_sysfs.c @@ -275,6 +275,7 @@ /* Error exit stack */ err_kobj_reg: + kobject_put(&edac_dev->kobj); module_put(edac_dev->owner); err_out: --- linux-riscv-5.8-5.8.0.orig/drivers/edac/edac_mc.c +++ linux-riscv-5.8-5.8.0/drivers/edac/edac_mc.c @@ -950,6 +950,8 @@ e->other_detail); } + edac_inc_ue_error(e); + if (edac_mc_get_panic_on_ue()) { panic("UE %s%son %s (%s page:0x%lx offset:0x%lx grain:%ld%s%s)\n", e->msg, @@ -959,8 +961,6 @@ *e->other_detail ? " - " : "", e->other_detail); } - - edac_inc_ue_error(e); } static void edac_inc_csrow(struct edac_raw_error_desc *e, int row, int chan) --- linux-riscv-5.8-5.8.0.orig/drivers/edac/edac_pci_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/edac/edac_pci_sysfs.c @@ -386,7 +386,7 @@ /* Error unwind statck */ kobject_init_and_add_fail: - kfree(edac_pci_top_main_kobj); + kobject_put(edac_pci_top_main_kobj); kzalloc_fail: module_put(THIS_MODULE); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/ghes_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/ghes_edac.c @@ -469,6 +469,7 @@ if (!force_load && idx < 0) return -ENODEV; } else { + force_load = true; idx = 0; } @@ -566,6 +567,9 @@ struct mem_ctl_info *mci; unsigned long flags; + if (!force_load) + return; + mutex_lock(&ghes_reg_mutex); if (!refcount_dec_and_test(&ghes_refcount)) --- linux-riscv-5.8-5.8.0.orig/drivers/edac/i10nm_base.c +++ linux-riscv-5.8-5.8.0/drivers/edac/i10nm_base.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -19,14 +20,16 @@ #define i10nm_printk(level, fmt, arg...) \ edac_printk(level, "i10nm", fmt, ##arg) -#define I10NM_GET_SCK_BAR(d, reg) \ +#define I10NM_GET_SCK_BAR(d, reg) \ pci_read_config_dword((d)->uracu, 0xd0, &(reg)) #define I10NM_GET_IMC_BAR(d, i, reg) \ pci_read_config_dword((d)->uracu, 0xd8 + (i) * 4, &(reg)) #define I10NM_GET_DIMMMTR(m, i, j) \ - (*(u32 *)((m)->mbase + 0x2080c + (i) * 0x4000 + (j) * 4)) + readl((m)->mbase + 0x2080c + (i) * 0x4000 + (j) * 4) #define I10NM_GET_MCDDRTCFG(m, i, j) \ - (*(u32 *)((m)->mbase + 0x20970 + (i) * 0x4000 + (j) * 4)) + readl((m)->mbase + 0x20970 + (i) * 0x4000 + (j) * 4) +#define I10NM_GET_MCMTR(m, i) \ + readl((m)->mbase + 0x20ef8 + (i) * 0x4000) #define I10NM_GET_SCK_MMIO_BASE(reg) (GET_BITFIELD(reg, 0, 28) << 23) #define I10NM_GET_IMC_MMIO_OFFSET(reg) (GET_BITFIELD(reg, 0, 10) << 12) @@ -146,7 +149,7 @@ { u32 mcmtr; - mcmtr = *(u32 *)(imc->mbase + 0x20ef8 + chan * 0x4000); + mcmtr = I10NM_GET_MCMTR(imc, chan); edac_dbg(1, "ch%d mcmtr reg %x\n", chan, mcmtr); return !!GET_BITFIELD(mcmtr, 2, 2); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/i5100_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/i5100_edac.c @@ -1061,16 +1061,15 @@ PCI_DEVICE_ID_INTEL_5100_19, 0); if (!einj) { ret = -ENODEV; - goto bail_einj; + goto bail_mc_free; } rc = pci_enable_device(einj); if (rc < 0) { ret = rc; - goto bail_disable_einj; + goto bail_einj; } - mci->pdev = &pdev->dev; priv = mci->pvt_info; @@ -1136,14 +1135,14 @@ bail_scrub: priv->scrub_enable = 0; cancel_delayed_work_sync(&(priv->i5100_scrubbing)); - edac_mc_free(mci); - -bail_disable_einj: pci_disable_device(einj); bail_einj: pci_dev_put(einj); +bail_mc_free: + edac_mc_free(mci); + bail_disable_ch1: pci_disable_device(ch1mm); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/i7core_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/i7core_edac.c @@ -1710,9 +1710,9 @@ if (uncorrected_error) { core_err_cnt = 1; if (ripv) - tp_event = HW_EVENT_ERR_FATAL; - else tp_event = HW_EVENT_ERR_UNCORRECTED; + else + tp_event = HW_EVENT_ERR_FATAL; } else { tp_event = HW_EVENT_ERR_CORRECTED; } --- linux-riscv-5.8-5.8.0.orig/drivers/edac/ie31200_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/ie31200_edac.c @@ -170,6 +170,8 @@ (n << (28 + (2 * skl) - PAGE_SHIFT)) static int nr_channels; +static struct pci_dev *mci_pdev; +static int ie31200_registered = 1; struct ie31200_priv { void __iomem *window; @@ -538,12 +540,16 @@ static int ie31200_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { - edac_dbg(0, "MC:\n"); + int rc; + edac_dbg(0, "MC:\n"); if (pci_enable_device(pdev) < 0) return -EIO; + rc = ie31200_probe1(pdev, ent->driver_data); + if (rc == 0 && !mci_pdev) + mci_pdev = pci_dev_get(pdev); - return ie31200_probe1(pdev, ent->driver_data); + return rc; } static void ie31200_remove_one(struct pci_dev *pdev) @@ -552,6 +558,8 @@ struct ie31200_priv *priv; edac_dbg(0, "\n"); + pci_dev_put(mci_pdev); + mci_pdev = NULL; mci = edac_mc_del_mc(&pdev->dev); if (!mci) return; @@ -593,17 +601,53 @@ static int __init ie31200_init(void) { + int pci_rc, i; + edac_dbg(3, "MC:\n"); /* Ensure that the OPSTATE is set correctly for POLL or NMI */ opstate_init(); - return pci_register_driver(&ie31200_driver); + pci_rc = pci_register_driver(&ie31200_driver); + if (pci_rc < 0) + goto fail0; + + if (!mci_pdev) { + ie31200_registered = 0; + for (i = 0; ie31200_pci_tbl[i].vendor != 0; i++) { + mci_pdev = pci_get_device(ie31200_pci_tbl[i].vendor, + ie31200_pci_tbl[i].device, + NULL); + if (mci_pdev) + break; + } + if (!mci_pdev) { + edac_dbg(0, "ie31200 pci_get_device fail\n"); + pci_rc = -ENODEV; + goto fail1; + } + pci_rc = ie31200_init_one(mci_pdev, &ie31200_pci_tbl[i]); + if (pci_rc < 0) { + edac_dbg(0, "ie31200 init fail\n"); + pci_rc = -ENODEV; + goto fail1; + } + } + return 0; + +fail1: + pci_unregister_driver(&ie31200_driver); +fail0: + pci_dev_put(mci_pdev); + + return pci_rc; } static void __exit ie31200_exit(void) { edac_dbg(3, "MC:\n"); pci_unregister_driver(&ie31200_driver); + if (!ie31200_registered) + ie31200_remove_one(mci_pdev); } module_init(ie31200_init); --- linux-riscv-5.8-5.8.0.orig/drivers/edac/mce_amd.c +++ linux-riscv-5.8-5.8.0/drivers/edac/mce_amd.c @@ -996,7 +996,7 @@ } if (bank_type == SMCA_UMC && xec == 0 && decode_dram_ecc) - decode_dram_ecc(cpu_to_node(m->extcpu), m); + decode_dram_ecc(topology_die_id(m->extcpu), m); } static inline void amd_decode_err_code(u16 ec) --- linux-riscv-5.8-5.8.0.orig/drivers/edac/pnd2_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/pnd2_edac.c @@ -1155,7 +1155,7 @@ u32 optypenum = GET_BITFIELD(m->status, 4, 6); int rc; - tp_event = uc_err ? (ripv ? HW_EVENT_ERR_FATAL : HW_EVENT_ERR_UNCORRECTED) : + tp_event = uc_err ? (ripv ? HW_EVENT_ERR_UNCORRECTED : HW_EVENT_ERR_FATAL) : HW_EVENT_ERR_CORRECTED; /* --- linux-riscv-5.8-5.8.0.orig/drivers/edac/sb_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/sb_edac.c @@ -2982,9 +2982,9 @@ if (uncorrected_error) { core_err_cnt = 1; if (ripv) { - tp_event = HW_EVENT_ERR_FATAL; - } else { tp_event = HW_EVENT_ERR_UNCORRECTED; + } else { + tp_event = HW_EVENT_ERR_FATAL; } } else { tp_event = HW_EVENT_ERR_CORRECTED; --- linux-riscv-5.8-5.8.0.orig/drivers/edac/skx_common.c +++ linux-riscv-5.8-5.8.0/drivers/edac/skx_common.c @@ -493,9 +493,9 @@ if (uncorrected_error) { core_err_cnt = 1; if (ripv) { - tp_event = HW_EVENT_ERR_FATAL; - } else { tp_event = HW_EVENT_ERR_UNCORRECTED; + } else { + tp_event = HW_EVENT_ERR_FATAL; } } else { tp_event = HW_EVENT_ERR_CORRECTED; --- linux-riscv-5.8-5.8.0.orig/drivers/edac/ti_edac.c +++ linux-riscv-5.8-5.8.0/drivers/edac/ti_edac.c @@ -278,7 +278,8 @@ /* add EMIF ECC error handler */ error_irq = platform_get_irq(pdev, 0); - if (!error_irq) { + if (error_irq < 0) { + ret = error_irq; edac_printk(KERN_ERR, EDAC_MOD_NAME, "EMIF irq number not defined.\n"); goto err; --- linux-riscv-5.8-5.8.0.orig/drivers/extcon/extcon-max77693.c +++ linux-riscv-5.8-5.8.0/drivers/extcon/extcon-max77693.c @@ -1277,4 +1277,4 @@ MODULE_DESCRIPTION("Maxim MAX77693 Extcon driver"); MODULE_AUTHOR("Chanwoo Choi "); MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:extcon-max77693"); +MODULE_ALIAS("platform:max77693-muic"); --- linux-riscv-5.8-5.8.0.orig/drivers/extcon/extcon-ptn5150.c +++ linux-riscv-5.8-5.8.0/drivers/extcon/extcon-ptn5150.c @@ -127,7 +127,7 @@ case PTN5150_DFP_ATTACHED: extcon_set_state_sync(info->edev, EXTCON_USB_HOST, false); - gpiod_set_value(info->vbus_gpiod, 0); + gpiod_set_value_cansleep(info->vbus_gpiod, 0); extcon_set_state_sync(info->edev, EXTCON_USB, true); break; @@ -138,9 +138,9 @@ PTN5150_REG_CC_VBUS_DETECTION_MASK) >> PTN5150_REG_CC_VBUS_DETECTION_SHIFT); if (vbus) - gpiod_set_value(info->vbus_gpiod, 0); + gpiod_set_value_cansleep(info->vbus_gpiod, 0); else - gpiod_set_value(info->vbus_gpiod, 1); + gpiod_set_value_cansleep(info->vbus_gpiod, 1); extcon_set_state_sync(info->edev, EXTCON_USB_HOST, true); @@ -156,7 +156,7 @@ EXTCON_USB_HOST, false); extcon_set_state_sync(info->edev, EXTCON_USB, false); - gpiod_set_value(info->vbus_gpiod, 0); + gpiod_set_value_cansleep(info->vbus_gpiod, 0); } } --- linux-riscv-5.8-5.8.0.orig/drivers/extcon/extcon.c +++ linux-riscv-5.8-5.8.0/drivers/extcon/extcon.c @@ -1241,6 +1241,7 @@ sizeof(*edev->nh), GFP_KERNEL); if (!edev->nh) { ret = -ENOMEM; + device_unregister(&edev->dev); goto err_dev; } --- linux-riscv-5.8-5.8.0.orig/drivers/firewire/nosy.c +++ linux-riscv-5.8-5.8.0/drivers/firewire/nosy.c @@ -346,6 +346,7 @@ struct client *client = file->private_data; spinlock_t *client_list_lock = &client->lynx->client_list_lock; struct nosy_stats stats; + int ret; switch (cmd) { case NOSY_IOC_GET_STATS: @@ -360,11 +361,15 @@ return 0; case NOSY_IOC_START: + ret = -EBUSY; spin_lock_irq(client_list_lock); - list_add_tail(&client->link, &client->lynx->client_list); + if (list_empty(&client->link)) { + list_add_tail(&client->link, &client->lynx->client_list); + ret = 0; + } spin_unlock_irq(client_list_lock); - return 0; + return ret; case NOSY_IOC_STOP: spin_lock_irq(client_list_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/base.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/base.c @@ -180,6 +180,8 @@ protocols_imp[tot_num_ret + loop] = *(list + loop); tot_num_ret += loop_num_ret; + + scmi_reset_rx_to_maxsz(handle, t); } while (loop_num_ret); scmi_xfer_put(handle, t); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/bus.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/bus.c @@ -230,7 +230,7 @@ bus_for_each_dev(&scmi_bus_type, NULL, NULL, __scmi_devices_unregister); } -static int __init scmi_bus_init(void) +int __init scmi_bus_init(void) { int retval; @@ -240,12 +240,10 @@ return retval; } -subsys_initcall(scmi_bus_init); -static void __exit scmi_bus_exit(void) +void __exit scmi_bus_exit(void) { scmi_devices_unregister(); bus_unregister(&scmi_bus_type); ida_destroy(&scmi_bus_id); } -module_exit(scmi_bus_exit); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/clock.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/clock.c @@ -178,6 +178,8 @@ } tot_rate_cnt += num_returned; + + scmi_reset_rx_to_maxsz(handle, t); /* * check for both returned and remaining to avoid infinite * loop due to buggy firmware --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/common.h +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/common.h @@ -145,6 +145,8 @@ struct scmi_xfer *xfer); int scmi_xfer_get_init(const struct scmi_handle *h, u8 msg_id, u8 prot_id, size_t tx_size, size_t rx_size, struct scmi_xfer **p); +void scmi_reset_rx_to_maxsz(const struct scmi_handle *handle, + struct scmi_xfer *xfer); int scmi_handle_put(const struct scmi_handle *handle); struct scmi_handle *scmi_handle_get(struct device *dev); void scmi_set_handle(struct scmi_device *scmi_dev); @@ -154,6 +156,9 @@ int scmi_base_protocol_init(struct scmi_handle *h); +int __init scmi_bus_init(void); +void __exit scmi_bus_exit(void); + /* SCMI Transport */ /** * struct scmi_chan_info - Structure representing a SCMI channel information --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/driver.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/driver.c @@ -398,6 +398,14 @@ return ret; } +void scmi_reset_rx_to_maxsz(const struct scmi_handle *handle, + struct scmi_xfer *xfer) +{ + struct scmi_info *info = handle_to_scmi_info(handle); + + xfer->rx.len = info->desc->max_msg_size; +} + #define SCMI_MAX_RESPONSE_TIMEOUT (2 * MSEC_PER_SEC) /** @@ -919,7 +927,21 @@ .remove = scmi_remove, }; -module_platform_driver(scmi_driver); +static int __init scmi_driver_init(void) +{ + scmi_bus_init(); + + return platform_driver_register(&scmi_driver); +} +module_init(scmi_driver_init); + +static void __exit scmi_driver_exit(void) +{ + scmi_bus_exit(); + + platform_driver_unregister(&scmi_driver); +} +module_exit(scmi_driver_exit); MODULE_ALIAS("platform: arm-scmi"); MODULE_AUTHOR("Sudeep Holla "); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/mailbox.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/mailbox.c @@ -110,7 +110,7 @@ struct scmi_chan_info *cinfo = p; struct scmi_mailbox *smbox = cinfo->transport_info; - if (!IS_ERR(smbox->chan)) { + if (smbox && !IS_ERR(smbox->chan)) { mbox_free_channel(smbox->chan); cinfo->transport_info = NULL; smbox->chan = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/perf.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/perf.c @@ -287,6 +287,8 @@ } tot_opp_cnt += num_returned; + + scmi_reset_rx_to_maxsz(handle, t); /* * check for both returned and remaining to avoid infinite * loop due to buggy firmware --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/reset.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/reset.c @@ -35,9 +35,7 @@ #define EXPLICIT_RESET_ASSERT BIT(1) #define ASYNCHRONOUS_RESET BIT(2) __le32 reset_state; -#define ARCH_RESET_TYPE BIT(31) -#define COLD_RESET_STATE BIT(0) -#define ARCH_COLD_RESET (ARCH_RESET_TYPE | COLD_RESET_STATE) +#define ARCH_COLD_RESET 0 }; struct reset_dom_info { --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/scmi_pm_domain.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/scmi_pm_domain.c @@ -85,7 +85,10 @@ for (i = 0; i < num_domains; i++, scmi_pd++) { u32 state; - domains[i] = &scmi_pd->genpd; + if (handle->power_ops->state_get(handle, i, &state)) { + dev_warn(dev, "failed to get state for domain %d\n", i); + continue; + } scmi_pd->domain = i; scmi_pd->handle = handle; @@ -94,13 +97,10 @@ scmi_pd->genpd.power_off = scmi_pd_power_off; scmi_pd->genpd.power_on = scmi_pd_power_on; - if (handle->power_ops->state_get(handle, i, &state)) { - dev_warn(dev, "failed to get state for domain %d\n", i); - continue; - } - pm_genpd_init(&scmi_pd->genpd, NULL, state == SCMI_POWER_STATE_GENERIC_OFF); + + domains[i] = &scmi_pd->genpd; } scmi_pd_data->domains = domains; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/sensors.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/sensors.c @@ -159,6 +159,8 @@ } desc_index += num_returned; + + scmi_reset_rx_to_maxsz(handle, t); /* * check for both returned and remaining to avoid infinite * loop due to buggy firmware --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/arm_scmi/smc.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/arm_scmi/smc.c @@ -148,6 +148,6 @@ const struct scmi_desc scmi_smc_desc = { .ops = &scmi_smc_ops, .max_rx_timeout_ms = 30, - .max_msg = 1, + .max_msg = 20, .max_msg_size = 128, }; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/Kconfig @@ -275,7 +275,7 @@ config EFI_EARLYCON def_bool y - depends on SERIAL_EARLYCON && !ARM && !IA64 + depends on EFI && SERIAL_EARLYCON && !ARM && !IA64 select FONT_SUPPORT select ARCH_USE_MEMREMAP_PROT --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/Makefile +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/Makefile @@ -25,6 +25,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-riscv-5.8-5.8.0.orig/drivers/firmware/efi/apple-properties.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/apple-properties.c @@ -3,8 +3,9 @@ * apple-properties.c - EFI device properties on Macs * Copyright (C) 2016 Lukas Wunner * - * Note, all properties are considered as u8 arrays. - * To get a value of any of them the caller must use device_property_read_u8_array(). + * Properties are stored either as: + * u8 arrays which can be retrieved with device_property_read_u8_array() or + * booleans which can be queried with device_property_present(). */ #define pr_fmt(fmt) "apple-properties: " fmt @@ -88,8 +89,12 @@ entry_data = ptr + key_len + sizeof(val_len); entry_len = val_len - sizeof(val_len); - entry[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(key, entry_data, - entry_len); + if (entry_len) + entry[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(key, entry_data, + entry_len); + else + entry[i] = PROPERTY_ENTRY_BOOL(key); + if (dump_properties) { dev_info(dev, "property: %s\n", key); print_hex_dump(KERN_INFO, pr_fmt(), DUMP_PREFIX_OFFSET, --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/arm-init.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/arm-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(); efi_esrt_init(); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/efi.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -381,15 +382,16 @@ 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; } if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE | EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)) { - efivar_ssdt_load(); error = generic_ops_register(); if (error) goto err_put; + efivar_ssdt_load(); platform_device_register_simple("efivars", 0, NULL, 0); } @@ -424,6 +426,7 @@ generic_ops_unregister(); err_put: kobject_put(efi_kobj); + destroy_workqueue(efi_rts_wq); return error; } @@ -831,40 +834,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); @@ -917,7 +981,7 @@ } /* first try to find a slot in an existing linked list entry */ - for (prsv = efi_memreserve_root->next; prsv; prsv = rsv->next) { + for (prsv = efi_memreserve_root->next; prsv; ) { rsv = memremap(prsv, sizeof(*rsv), MEMREMAP_WB); index = atomic_fetch_add_unless(&rsv->count, 1, rsv->size); if (index < rsv->size) { @@ -927,6 +991,7 @@ memunmap(rsv); return efi_mem_reserve_iomem(addr, size); } + prsv = rsv->next; memunmap(rsv); } --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/efibc.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/efibc.c @@ -84,7 +84,7 @@ { int ret; - if (!efi_enabled(EFI_RUNTIME_SERVICES)) + if (!efivars_kobject() || !efivar_supports_writes()) return -ENODEV; ret = register_reboot_notifier(&efibc_reboot_notifier); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/embedded-firmware.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/embedded-firmware.c @@ -16,9 +16,9 @@ /* Exported for use by lib/test_firmware.c only */ LIST_HEAD(efi_embedded_fw_list); -EXPORT_SYMBOL_GPL(efi_embedded_fw_list); - -static bool checked_for_fw; +EXPORT_SYMBOL_NS_GPL(efi_embedded_fw_list, TEST_FIRMWARE); +bool efi_embedded_fw_checked; +EXPORT_SYMBOL_NS_GPL(efi_embedded_fw_checked, TEST_FIRMWARE); static const struct dmi_system_id * const embedded_fw_table[] = { #ifdef CONFIG_TOUCHSCREEN_DMI @@ -119,14 +119,14 @@ } } - checked_for_fw = true; + efi_embedded_fw_checked = true; } int efi_get_embedded_fw(const char *name, const u8 **data, size_t *size) { struct efi_embedded_fw *iter, *fw = NULL; - if (!checked_for_fw) { + if (!efi_embedded_fw_checked) { pr_warn("Warning %s called while we did not check for embedded fw\n", __func__); return -ENOENT; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/fdtparams.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/fdtparams.c @@ -16,16 +16,23 @@ MMSIZE, DCSIZE, DCVERS, + SCBOOT, PARAMCOUNT }; +static __initdata u32 __secure_boot = 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 +58,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 +101,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-riscv-5.8-5.8.0.orig/drivers/firmware/efi/libstub/arm64-stub.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/libstub/arm64-stub.c @@ -62,10 +62,12 @@ status = efi_get_random_bytes(sizeof(phys_seed), (u8 *)&phys_seed); if (status == EFI_NOT_FOUND) { - efi_info("EFI_RNG_PROTOCOL unavailable, no randomness supplied\n"); + efi_info("EFI_RNG_PROTOCOL unavailable, KASLR will be disabled\n"); + efi_nokaslr = true; } else if (status != EFI_SUCCESS) { - efi_err("efi_get_random_bytes() failed\n"); - return status; + efi_err("efi_get_random_bytes() failed (0x%lx), KASLR will be disabled\n", + status); + efi_nokaslr = true; } } else { efi_info("KASLR disabled on kernel command line\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/libstub/efi-stub-helper.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/libstub/efi-stub-helper.c @@ -187,20 +187,28 @@ */ efi_status_t efi_parse_options(char const *cmdline) { - size_t len = strlen(cmdline) + 1; + size_t len; efi_status_t status; char *str, *buf; + if (!cmdline) + return EFI_SUCCESS; + + len = strnlen(cmdline, COMMAND_LINE_SIZE - 1) + 1; status = efi_bs_call(allocate_pool, EFI_LOADER_DATA, len, (void **)&buf); if (status != EFI_SUCCESS) return status; - str = skip_spaces(memcpy(buf, cmdline, len)); + memcpy(buf, cmdline, len - 1); + buf[len - 1] = '\0'; + str = skip_spaces(buf); while (*str) { char *param, *val; str = next_arg(str, ¶m, &val); + if (!val && !strcmp(param, "--")) + break; if (!strcmp(param, "nokaslr")) { efi_nokaslr = true; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/libstub/efi-stub.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/libstub/efi-stub.c @@ -121,6 +121,18 @@ return membase; } +static u32 get_supported_rt_services(void) +{ + const efi_rt_properties_table_t *rt_prop_table; + u32 supported = EFI_RT_SUPPORTED_ALL; + + rt_prop_table = get_efi_config_table(EFI_RT_PROPERTIES_TABLE_GUID); + if (rt_prop_table) + supported &= rt_prop_table->runtime_services_supported; + + return supported; +} + /* * EFI entry point for the arm/arm64 EFI stubs. This is the entrypoint * that is described in the PE/COFF header. Most of the code is the same @@ -283,6 +295,10 @@ (prop_tbl->memory_protection_attribute & EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_DATA); + /* force efi_novamap if SetVirtualAddressMap() is unsupported */ + efi_novamap |= !(get_supported_rt_services() & + EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP); + /* hibernation expects the runtime regions to stay in the same place */ if (!IS_ENABLED(CONFIG_HIBERNATION) && !efi_nokaslr && !flat_va_mapping) { /* --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/libstub/efistub.h +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/libstub/efistub.h @@ -135,7 +135,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; --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/libstub/fdt.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/libstub/fdt.c @@ -136,7 +136,7 @@ if (status) goto fdt_set_fail; - if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) { + if (IS_ENABLED(CONFIG_RANDOMIZE_BASE) && !efi_nokaslr) { efi_status_t efi_status; efi_status = efi_get_random_bytes(sizeof(fdt_val64), @@ -145,11 +145,15 @@ status = fdt_setprop_var(fdt, node, "kaslr-seed", fdt_val64); if (status) goto fdt_set_fail; - } else if (efi_status != EFI_NOT_FOUND) { - return efi_status; } } + 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); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/efi/secureboot.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/firmware/efi/vars.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/efi/vars.c @@ -497,6 +497,10 @@ } break; + case EFI_UNSUPPORTED: + err = -EOPNOTSUPP; + status = EFI_NOT_FOUND; + break; case EFI_NOT_FOUND: break; default: --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/imx/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/firmware/imx/Kconfig @@ -13,6 +13,7 @@ config IMX_SCU bool "IMX SCU Protocol driver" depends on IMX_MBOX + select SOC_BUS help The System Controller Firmware (SCFW) is a low-level system function which runs on a dedicated Cortex-M core to provide power, clock, and --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/qcom_scm.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/qcom_scm.c @@ -391,7 +391,7 @@ desc.args[1] = enable ? QCOM_SCM_BOOT_SET_DLOAD_MODE : 0; - return qcom_scm_call(__scm->dev, &desc, NULL); + return qcom_scm_call_atomic(__scm->dev, &desc, NULL); } static void qcom_scm_set_download_mode(bool enable) @@ -650,7 +650,7 @@ int ret; - ret = qcom_scm_call(__scm->dev, &desc, &res); + ret = qcom_scm_call_atomic(__scm->dev, &desc, &res); if (ret >= 0) *val = res.result[0]; @@ -669,8 +669,7 @@ .owner = ARM_SMCCC_OWNER_SIP, }; - - return qcom_scm_call(__scm->dev, &desc, NULL); + return qcom_scm_call_atomic(__scm->dev, &desc, NULL); } EXPORT_SYMBOL(qcom_scm_io_writel); --- linux-riscv-5.8-5.8.0.orig/drivers/firmware/xilinx/zynqmp.c +++ linux-riscv-5.8-5.8.0/drivers/firmware/xilinx/zynqmp.c @@ -20,12 +20,28 @@ #include #include #include +#include #include #include "zynqmp-debug.h" +/* Max HashMap Order for PM API feature check (1<<7 = 128) */ +#define PM_API_FEATURE_CHECK_MAX_ORDER 7 + static bool feature_check_enabled; -static u32 zynqmp_pm_features[PM_API_MAX]; +DEFINE_HASHTABLE(pm_api_features_map, PM_API_FEATURE_CHECK_MAX_ORDER); + +/** + * struct pm_api_feature_data - PM API Feature data + * @pm_api_id: PM API Id, used as key to index into hashmap + * @feature_status: status of PM API feature: valid, invalid + * @hentry: hlist_node that hooks this entry into hashtable + */ +struct pm_api_feature_data { + u32 pm_api_id; + int feature_status; + struct hlist_node hentry; +}; static const struct mfd_cell firmware_devs[] = { { @@ -142,26 +158,37 @@ int ret; u32 ret_payload[PAYLOAD_ARG_CNT]; u64 smc_arg[2]; + struct pm_api_feature_data *feature_data; if (!feature_check_enabled) return 0; - /* Return value if feature is already checked */ - if (zynqmp_pm_features[api_id] != PM_FEATURE_UNCHECKED) - return zynqmp_pm_features[api_id]; + /* Check for existing entry in hash table for given api */ + hash_for_each_possible(pm_api_features_map, feature_data, hentry, + api_id) { + if (feature_data->pm_api_id == api_id) + return feature_data->feature_status; + } + /* Add new entry if not present */ + feature_data = kmalloc(sizeof(*feature_data), GFP_KERNEL); + if (!feature_data) + return -ENOMEM; + + feature_data->pm_api_id = api_id; smc_arg[0] = PM_SIP_SVC | PM_FEATURE_CHECK; smc_arg[1] = api_id; ret = do_fw_call(smc_arg[0], smc_arg[1], 0, ret_payload); - if (ret) { - zynqmp_pm_features[api_id] = PM_FEATURE_INVALID; - return PM_FEATURE_INVALID; - } + if (ret) + ret = -EOPNOTSUPP; + else + ret = ret_payload[1]; - zynqmp_pm_features[api_id] = ret_payload[1]; + feature_data->feature_status = ret; + hash_add(pm_api_features_map, &feature_data->hentry, api_id); - return zynqmp_pm_features[api_id]; + return ret; } /** @@ -197,9 +224,12 @@ * Make sure to stay in x0 register */ u64 smc_arg[4]; + int ret; - if (zynqmp_pm_feature(pm_api_id) == PM_FEATURE_INVALID) - return -ENOTSUPP; + /* Check if feature is supported or not */ + ret = zynqmp_pm_feature(pm_api_id); + if (ret < 0) + return ret; smc_arg[0] = PM_SIP_SVC | pm_api_id; smc_arg[1] = ((u64)arg1 << 32) | arg0; @@ -612,7 +642,7 @@ */ int zynqmp_pm_sd_dll_reset(u32 node_id, u32 type) { - return zynqmp_pm_invoke_fn(PM_IOCTL, node_id, IOCTL_SET_SD_TAPDELAY, + return zynqmp_pm_invoke_fn(PM_IOCTL, node_id, IOCTL_SD_DLL_RESET, type, 0, NULL); } EXPORT_SYMBOL_GPL(zynqmp_pm_sd_dll_reset); @@ -1249,9 +1279,17 @@ static int zynqmp_firmware_remove(struct platform_device *pdev) { + struct pm_api_feature_data *feature_data; + int i; + mfd_remove_devices(&pdev->dev); zynqmp_pm_api_debugfs_exit(); + hash_for_each(pm_api_features_map, i, feature_data, hentry) { + hash_del(&feature_data->hentry); + kfree(feature_data); + } + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/gpio/Kconfig @@ -403,8 +403,9 @@ select GENERIC_IRQ_CHIP config GPIO_MXS - def_bool y + bool "Freescale MXS GPIO support" if COMPILE_TEST depends on ARCH_MXS || COMPILE_TEST + default y if ARCH_MXS select GPIO_GENERIC select GENERIC_IRQ_CHIP @@ -483,7 +484,8 @@ config GPIO_SIFIVE bool "SiFive GPIO support" - depends on OF_GPIO && IRQ_DOMAIN_HIERARCHY + depends on OF_GPIO + select IRQ_DOMAIN_HIERARCHY select GPIO_GENERIC select GPIOLIB_IRQCHIP select REGMAP_MMIO --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-amd-fch.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-amd-fch.c @@ -92,7 +92,7 @@ ret = (readl_relaxed(ptr) & AMD_FCH_GPIO_FLAG_DIRECTION); spin_unlock_irqrestore(&priv->lock, flags); - return ret ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT; + return ret ? GPIO_LINE_DIRECTION_OUT : GPIO_LINE_DIRECTION_IN; } static void amd_fch_gpio_set(struct gpio_chip *gc, --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-aspeed-sgpio.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-aspeed-sgpio.c @@ -17,7 +17,17 @@ #include #include -#define MAX_NR_SGPIO 80 +/* + * MAX_NR_HW_GPIO represents the number of actual hardware-supported GPIOs (ie, + * slots within the clocked serial GPIO data). Since each HW GPIO is both an + * input and an output, we provide MAX_NR_HW_GPIO * 2 lines on our gpiochip + * device. + * + * We use SGPIO_OUTPUT_OFFSET to define the split between the inputs and + * outputs; the inputs start at line 0, the outputs start at OUTPUT_OFFSET. + */ +#define MAX_NR_HW_SGPIO 80 +#define SGPIO_OUTPUT_OFFSET MAX_NR_HW_SGPIO #define ASPEED_SGPIO_CTRL 0x54 @@ -30,8 +40,8 @@ struct clk *pclk; spinlock_t lock; void __iomem *base; - uint32_t dir_in[3]; int irq; + int n_sgpio; }; struct aspeed_sgpio_bank { @@ -111,31 +121,69 @@ } } -#define GPIO_BANK(x) ((x) >> 5) -#define GPIO_OFFSET(x) ((x) & 0x1f) +#define GPIO_BANK(x) ((x % SGPIO_OUTPUT_OFFSET) >> 5) +#define GPIO_OFFSET(x) ((x % SGPIO_OUTPUT_OFFSET) & 0x1f) #define GPIO_BIT(x) BIT(GPIO_OFFSET(x)) static const struct aspeed_sgpio_bank *to_bank(unsigned int offset) { - unsigned int bank = GPIO_BANK(offset); + unsigned int bank; + + bank = GPIO_BANK(offset); WARN_ON(bank >= ARRAY_SIZE(aspeed_sgpio_banks)); return &aspeed_sgpio_banks[bank]; } +static int aspeed_sgpio_init_valid_mask(struct gpio_chip *gc, + unsigned long *valid_mask, unsigned int ngpios) +{ + struct aspeed_sgpio *sgpio = gpiochip_get_data(gc); + int n = sgpio->n_sgpio; + int c = SGPIO_OUTPUT_OFFSET - n; + + WARN_ON(ngpios < MAX_NR_HW_SGPIO * 2); + + /* input GPIOs in the lower range */ + bitmap_set(valid_mask, 0, n); + bitmap_clear(valid_mask, n, c); + + /* output GPIOS above SGPIO_OUTPUT_OFFSET */ + bitmap_set(valid_mask, SGPIO_OUTPUT_OFFSET, n); + bitmap_clear(valid_mask, SGPIO_OUTPUT_OFFSET + n, c); + + return 0; +} + +static void aspeed_sgpio_irq_init_valid_mask(struct gpio_chip *gc, + unsigned long *valid_mask, unsigned int ngpios) +{ + struct aspeed_sgpio *sgpio = gpiochip_get_data(gc); + int n = sgpio->n_sgpio; + + WARN_ON(ngpios < MAX_NR_HW_SGPIO * 2); + + /* input GPIOs in the lower range */ + bitmap_set(valid_mask, 0, n); + bitmap_clear(valid_mask, n, ngpios - n); +} + +static bool aspeed_sgpio_is_input(unsigned int offset) +{ + return offset < SGPIO_OUTPUT_OFFSET; +} + static int aspeed_sgpio_get(struct gpio_chip *gc, unsigned int offset) { struct aspeed_sgpio *gpio = gpiochip_get_data(gc); const struct aspeed_sgpio_bank *bank = to_bank(offset); unsigned long flags; enum aspeed_sgpio_reg reg; - bool is_input; int rc = 0; spin_lock_irqsave(&gpio->lock, flags); - is_input = gpio->dir_in[GPIO_BANK(offset)] & GPIO_BIT(offset); - reg = is_input ? reg_val : reg_rdata; + reg = aspeed_sgpio_is_input(offset) ? reg_val : reg_rdata; rc = !!(ioread32(bank_reg(gpio, bank, reg)) & GPIO_BIT(offset)); spin_unlock_irqrestore(&gpio->lock, flags); @@ -143,22 +191,31 @@ return rc; } -static void sgpio_set_value(struct gpio_chip *gc, unsigned int offset, int val) +static int sgpio_set_value(struct gpio_chip *gc, unsigned int offset, int val) { struct aspeed_sgpio *gpio = gpiochip_get_data(gc); const struct aspeed_sgpio_bank *bank = to_bank(offset); - void __iomem *addr; + void __iomem *addr_r, *addr_w; u32 reg = 0; - addr = bank_reg(gpio, bank, reg_val); - reg = ioread32(addr); + if (aspeed_sgpio_is_input(offset)) + return -EINVAL; + + /* Since this is an output, read the cached value from rdata, then + * update val. */ + addr_r = bank_reg(gpio, bank, reg_rdata); + addr_w = bank_reg(gpio, bank, reg_val); + + reg = ioread32(addr_r); if (val) reg |= GPIO_BIT(offset); else reg &= ~GPIO_BIT(offset); - iowrite32(reg, addr); + iowrite32(reg, addr_w); + + return 0; } static void aspeed_sgpio_set(struct gpio_chip *gc, unsigned int offset, int val) @@ -175,43 +232,28 @@ static int aspeed_sgpio_dir_in(struct gpio_chip *gc, unsigned int offset) { - struct aspeed_sgpio *gpio = gpiochip_get_data(gc); - unsigned long flags; - - spin_lock_irqsave(&gpio->lock, flags); - gpio->dir_in[GPIO_BANK(offset)] |= GPIO_BIT(offset); - spin_unlock_irqrestore(&gpio->lock, flags); - - return 0; + return aspeed_sgpio_is_input(offset) ? 0 : -EINVAL; } static int aspeed_sgpio_dir_out(struct gpio_chip *gc, unsigned int offset, int val) { struct aspeed_sgpio *gpio = gpiochip_get_data(gc); unsigned long flags; + int rc; - spin_lock_irqsave(&gpio->lock, flags); - - gpio->dir_in[GPIO_BANK(offset)] &= ~GPIO_BIT(offset); - sgpio_set_value(gc, offset, val); + /* No special action is required for setting the direction; we'll + * error-out in sgpio_set_value if this isn't an output GPIO */ + spin_lock_irqsave(&gpio->lock, flags); + rc = sgpio_set_value(gc, offset, val); spin_unlock_irqrestore(&gpio->lock, flags); - return 0; + return rc; } static int aspeed_sgpio_get_direction(struct gpio_chip *gc, unsigned int offset) { - int dir_status; - struct aspeed_sgpio *gpio = gpiochip_get_data(gc); - unsigned long flags; - - spin_lock_irqsave(&gpio->lock, flags); - dir_status = gpio->dir_in[GPIO_BANK(offset)] & GPIO_BIT(offset); - spin_unlock_irqrestore(&gpio->lock, flags); - - return dir_status; - + return !!aspeed_sgpio_is_input(offset); } static void irqd_to_aspeed_sgpio_data(struct irq_data *d, @@ -402,6 +444,7 @@ irq = &gpio->chip.irq; irq->chip = &aspeed_sgpio_irqchip; + irq->init_valid_mask = aspeed_sgpio_irq_init_valid_mask; irq->handler = handle_bad_irq; irq->default_type = IRQ_TYPE_NONE; irq->parent_handler = aspeed_sgpio_irq_handler; @@ -409,17 +452,15 @@ irq->parents = &gpio->irq; irq->num_parents = 1; - /* set IRQ settings and Enable Interrupt */ + /* Apply default IRQ settings */ for (i = 0; i < ARRAY_SIZE(aspeed_sgpio_banks); i++) { bank = &aspeed_sgpio_banks[i]; /* set falling or level-low irq */ iowrite32(0x00000000, bank_reg(gpio, bank, reg_irq_type0)); /* trigger type is edge */ iowrite32(0x00000000, bank_reg(gpio, bank, reg_irq_type1)); - /* dual edge trigger mode. */ - iowrite32(0xffffffff, bank_reg(gpio, bank, reg_irq_type2)); - /* enable irq */ - iowrite32(0xffffffff, bank_reg(gpio, bank, reg_irq_enable)); + /* single edge trigger */ + iowrite32(0x00000000, bank_reg(gpio, bank, reg_irq_type2)); } return 0; @@ -452,11 +493,12 @@ if (rc < 0) { dev_err(&pdev->dev, "Could not read ngpios property\n"); return -EINVAL; - } else if (nr_gpios > MAX_NR_SGPIO) { + } else if (nr_gpios > MAX_NR_HW_SGPIO) { dev_err(&pdev->dev, "Number of GPIOs exceeds the maximum of %d: %d\n", - MAX_NR_SGPIO, nr_gpios); + MAX_NR_HW_SGPIO, nr_gpios); return -EINVAL; } + gpio->n_sgpio = nr_gpios; rc = of_property_read_u32(pdev->dev.of_node, "bus-frequency", &sgpio_freq); if (rc < 0) { @@ -497,7 +539,8 @@ spin_lock_init(&gpio->lock); gpio->chip.parent = &pdev->dev; - gpio->chip.ngpio = nr_gpios; + gpio->chip.ngpio = MAX_NR_HW_SGPIO * 2; + gpio->chip.init_valid_mask = aspeed_sgpio_init_valid_mask; gpio->chip.direction_input = aspeed_sgpio_dir_in; gpio->chip.direction_output = aspeed_sgpio_dir_out; gpio->chip.get_direction = aspeed_sgpio_get_direction; @@ -509,9 +552,6 @@ gpio->chip.label = dev_name(&pdev->dev); gpio->chip.base = -1; - /* set all SGPIO pins as input (1). */ - memset(gpio->dir_in, 0xff, sizeof(gpio->dir_in)); - aspeed_sgpio_setup_irqs(gpio, pdev); rc = devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio); --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-aspeed.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-aspeed.c @@ -1114,8 +1114,9 @@ static const struct aspeed_bank_props ast2600_bank_props[] = { /* input output */ - {5, 0xffffffff, 0x0000ffff}, /* U/V/W/X */ - {6, 0xffff0000, 0x0fff0000}, /* Y/Z */ + {4, 0xffffffff, 0x00ffffff}, /* Q/R/S/T */ + {5, 0xffffffff, 0xffffff00}, /* U/V/W/X */ + {6, 0x0000ffff, 0x0000ffff}, /* Y/Z */ { }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-eic-sprd.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-eic-sprd.c @@ -598,7 +598,7 @@ */ res = platform_get_resource(pdev, IORESOURCE_MEM, i); if (!res) - continue; + break; sprd_eic->base[i] = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(sprd_eic->base[i])) --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-ep93xx.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-ep93xx.c @@ -25,6 +25,9 @@ /* Maximum value for gpio line identifiers */ #define EP93XX_GPIO_LINE_MAX 63 +/* Number of GPIO chips in EP93XX */ +#define EP93XX_GPIO_CHIP_NUM 8 + /* Maximum value for irq capable line identifiers */ #define EP93XX_GPIO_LINE_MAX_IRQ 23 @@ -34,74 +37,75 @@ */ #define EP93XX_GPIO_F_IRQ_BASE 80 +struct ep93xx_gpio_irq_chip { + struct irq_chip ic; + u8 irq_offset; + u8 int_unmasked; + u8 int_enabled; + u8 int_type1; + u8 int_type2; + u8 int_debounce; +}; + +struct ep93xx_gpio_chip { + struct gpio_chip gc; + struct ep93xx_gpio_irq_chip *eic; +}; + struct ep93xx_gpio { void __iomem *base; - struct gpio_chip gc[8]; + struct ep93xx_gpio_chip gc[EP93XX_GPIO_CHIP_NUM]; }; -/************************************************************************* - * Interrupt handling for EP93xx on-chip GPIOs - *************************************************************************/ -static unsigned char gpio_int_unmasked[3]; -static unsigned char gpio_int_enabled[3]; -static unsigned char gpio_int_type1[3]; -static unsigned char gpio_int_type2[3]; -static unsigned char gpio_int_debounce[3]; - -/* Port ordering is: A B F */ -static const u8 int_type1_register_offset[3] = { 0x90, 0xac, 0x4c }; -static const u8 int_type2_register_offset[3] = { 0x94, 0xb0, 0x50 }; -static const u8 eoi_register_offset[3] = { 0x98, 0xb4, 0x54 }; -static const u8 int_en_register_offset[3] = { 0x9c, 0xb8, 0x58 }; -static const u8 int_debounce_register_offset[3] = { 0xa8, 0xc4, 0x64 }; +#define to_ep93xx_gpio_chip(x) container_of(x, struct ep93xx_gpio_chip, gc) -static void ep93xx_gpio_update_int_params(struct ep93xx_gpio *epg, unsigned port) +static struct ep93xx_gpio_irq_chip *to_ep93xx_gpio_irq_chip(struct gpio_chip *gc) { - BUG_ON(port > 2); - - writeb_relaxed(0, epg->base + int_en_register_offset[port]); + struct ep93xx_gpio_chip *egc = to_ep93xx_gpio_chip(gc); - writeb_relaxed(gpio_int_type2[port], - epg->base + int_type2_register_offset[port]); - - writeb_relaxed(gpio_int_type1[port], - epg->base + int_type1_register_offset[port]); - - writeb(gpio_int_unmasked[port] & gpio_int_enabled[port], - epg->base + int_en_register_offset[port]); + return egc->eic; } -static int ep93xx_gpio_port(struct gpio_chip *gc) -{ - struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = 0; +/************************************************************************* + * Interrupt handling for EP93xx on-chip GPIOs + *************************************************************************/ +#define EP93XX_INT_TYPE1_OFFSET 0x00 +#define EP93XX_INT_TYPE2_OFFSET 0x04 +#define EP93XX_INT_EOI_OFFSET 0x08 +#define EP93XX_INT_EN_OFFSET 0x0c +#define EP93XX_INT_STATUS_OFFSET 0x10 +#define EP93XX_INT_RAW_STATUS_OFFSET 0x14 +#define EP93XX_INT_DEBOUNCE_OFFSET 0x18 + +static void ep93xx_gpio_update_int_params(struct ep93xx_gpio *epg, + struct ep93xx_gpio_irq_chip *eic) +{ + writeb_relaxed(0, epg->base + eic->irq_offset + EP93XX_INT_EN_OFFSET); - while (port < ARRAY_SIZE(epg->gc) && gc != &epg->gc[port]) - port++; + writeb_relaxed(eic->int_type2, + epg->base + eic->irq_offset + EP93XX_INT_TYPE2_OFFSET); - /* This should not happen but is there as a last safeguard */ - if (port == ARRAY_SIZE(epg->gc)) { - pr_crit("can't find the GPIO port\n"); - return 0; - } + writeb_relaxed(eic->int_type1, + epg->base + eic->irq_offset + EP93XX_INT_TYPE1_OFFSET); - return port; + writeb_relaxed(eic->int_unmasked & eic->int_enabled, + epg->base + eic->irq_offset + EP93XX_INT_EN_OFFSET); } static void ep93xx_gpio_int_debounce(struct gpio_chip *gc, unsigned int offset, bool enable) { struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); int port_mask = BIT(offset); if (enable) - gpio_int_debounce[port] |= port_mask; + eic->int_debounce |= port_mask; else - gpio_int_debounce[port] &= ~port_mask; + eic->int_debounce &= ~port_mask; - writeb(gpio_int_debounce[port], - epg->base + int_debounce_register_offset[port]); + writeb(eic->int_debounce, + epg->base + eic->irq_offset + EP93XX_INT_DEBOUNCE_OFFSET); } static void ep93xx_gpio_ab_irq_handler(struct irq_desc *desc) @@ -122,12 +126,12 @@ */ stat = readb(epg->base + EP93XX_GPIO_A_INT_STATUS); for_each_set_bit(offset, &stat, 8) - generic_handle_irq(irq_find_mapping(epg->gc[0].irq.domain, + generic_handle_irq(irq_find_mapping(epg->gc[0].gc.irq.domain, offset)); stat = readb(epg->base + EP93XX_GPIO_B_INT_STATUS); for_each_set_bit(offset, &stat, 8) - generic_handle_irq(irq_find_mapping(epg->gc[1].irq.domain, + generic_handle_irq(irq_find_mapping(epg->gc[1].gc.irq.domain, offset)); chained_irq_exit(irqchip, desc); @@ -153,52 +157,52 @@ static void ep93xx_gpio_irq_ack(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); int port_mask = BIT(d->irq & 7); if (irqd_get_trigger_type(d) == IRQ_TYPE_EDGE_BOTH) { - gpio_int_type2[port] ^= port_mask; /* switch edge direction */ - ep93xx_gpio_update_int_params(epg, port); + eic->int_type2 ^= port_mask; /* switch edge direction */ + ep93xx_gpio_update_int_params(epg, eic); } - writeb(port_mask, epg->base + eoi_register_offset[port]); + writeb(port_mask, epg->base + eic->irq_offset + EP93XX_INT_EOI_OFFSET); } static void ep93xx_gpio_irq_mask_ack(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); int port_mask = BIT(d->irq & 7); if (irqd_get_trigger_type(d) == IRQ_TYPE_EDGE_BOTH) - gpio_int_type2[port] ^= port_mask; /* switch edge direction */ + eic->int_type2 ^= port_mask; /* switch edge direction */ - gpio_int_unmasked[port] &= ~port_mask; - ep93xx_gpio_update_int_params(epg, port); + eic->int_unmasked &= ~port_mask; + ep93xx_gpio_update_int_params(epg, eic); - writeb(port_mask, epg->base + eoi_register_offset[port]); + writeb(port_mask, epg->base + eic->irq_offset + EP93XX_INT_EOI_OFFSET); } static void ep93xx_gpio_irq_mask(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); - gpio_int_unmasked[port] &= ~BIT(d->irq & 7); - ep93xx_gpio_update_int_params(epg, port); + eic->int_unmasked &= ~BIT(d->irq & 7); + ep93xx_gpio_update_int_params(epg, eic); } static void ep93xx_gpio_irq_unmask(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); - gpio_int_unmasked[port] |= BIT(d->irq & 7); - ep93xx_gpio_update_int_params(epg, port); + eic->int_unmasked |= BIT(d->irq & 7); + ep93xx_gpio_update_int_params(epg, eic); } /* @@ -209,8 +213,8 @@ static int ep93xx_gpio_irq_type(struct irq_data *d, unsigned int type) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct ep93xx_gpio_irq_chip *eic = to_ep93xx_gpio_irq_chip(gc); struct ep93xx_gpio *epg = gpiochip_get_data(gc); - int port = ep93xx_gpio_port(gc); int offset = d->irq & 7; int port_mask = BIT(offset); irq_flow_handler_t handler; @@ -219,32 +223,32 @@ switch (type) { case IRQ_TYPE_EDGE_RISING: - gpio_int_type1[port] |= port_mask; - gpio_int_type2[port] |= port_mask; + eic->int_type1 |= port_mask; + eic->int_type2 |= port_mask; handler = handle_edge_irq; break; case IRQ_TYPE_EDGE_FALLING: - gpio_int_type1[port] |= port_mask; - gpio_int_type2[port] &= ~port_mask; + eic->int_type1 |= port_mask; + eic->int_type2 &= ~port_mask; handler = handle_edge_irq; break; case IRQ_TYPE_LEVEL_HIGH: - gpio_int_type1[port] &= ~port_mask; - gpio_int_type2[port] |= port_mask; + eic->int_type1 &= ~port_mask; + eic->int_type2 |= port_mask; handler = handle_level_irq; break; case IRQ_TYPE_LEVEL_LOW: - gpio_int_type1[port] &= ~port_mask; - gpio_int_type2[port] &= ~port_mask; + eic->int_type1 &= ~port_mask; + eic->int_type2 &= ~port_mask; handler = handle_level_irq; break; case IRQ_TYPE_EDGE_BOTH: - gpio_int_type1[port] |= port_mask; + eic->int_type1 |= port_mask; /* set initial polarity based on current input level */ if (gc->get(gc, offset)) - gpio_int_type2[port] &= ~port_mask; /* falling */ + eic->int_type2 &= ~port_mask; /* falling */ else - gpio_int_type2[port] |= port_mask; /* rising */ + eic->int_type2 |= port_mask; /* rising */ handler = handle_edge_irq; break; default: @@ -253,22 +257,13 @@ irq_set_handler_locked(d, handler); - gpio_int_enabled[port] |= port_mask; + eic->int_enabled |= port_mask; - ep93xx_gpio_update_int_params(epg, port); + ep93xx_gpio_update_int_params(epg, eic); return 0; } -static struct irq_chip ep93xx_gpio_irq_chip = { - .name = "GPIO", - .irq_ack = ep93xx_gpio_irq_ack, - .irq_mask_ack = ep93xx_gpio_irq_mask_ack, - .irq_mask = ep93xx_gpio_irq_mask, - .irq_unmask = ep93xx_gpio_irq_unmask, - .irq_set_type = ep93xx_gpio_irq_type, -}; - /************************************************************************* * gpiolib interface for EP93xx on-chip GPIOs *************************************************************************/ @@ -276,17 +271,19 @@ const char *label; int data; int dir; + int irq; int base; bool has_irq; bool has_hierarchical_irq; unsigned int irq_base; }; -#define EP93XX_GPIO_BANK(_label, _data, _dir, _base, _has_irq, _has_hier, _irq_base) \ +#define EP93XX_GPIO_BANK(_label, _data, _dir, _irq, _base, _has_irq, _has_hier, _irq_base) \ { \ .label = _label, \ .data = _data, \ .dir = _dir, \ + .irq = _irq, \ .base = _base, \ .has_irq = _has_irq, \ .has_hierarchical_irq = _has_hier, \ @@ -295,16 +292,16 @@ static struct ep93xx_gpio_bank ep93xx_gpio_banks[] = { /* Bank A has 8 IRQs */ - EP93XX_GPIO_BANK("A", 0x00, 0x10, 0, true, false, 64), + EP93XX_GPIO_BANK("A", 0x00, 0x10, 0x90, 0, true, false, 64), /* Bank B has 8 IRQs */ - EP93XX_GPIO_BANK("B", 0x04, 0x14, 8, true, false, 72), - EP93XX_GPIO_BANK("C", 0x08, 0x18, 40, false, false, 0), - EP93XX_GPIO_BANK("D", 0x0c, 0x1c, 24, false, false, 0), - EP93XX_GPIO_BANK("E", 0x20, 0x24, 32, false, false, 0), + EP93XX_GPIO_BANK("B", 0x04, 0x14, 0xac, 8, true, false, 72), + EP93XX_GPIO_BANK("C", 0x08, 0x18, 0x00, 40, false, false, 0), + EP93XX_GPIO_BANK("D", 0x0c, 0x1c, 0x00, 24, false, false, 0), + EP93XX_GPIO_BANK("E", 0x20, 0x24, 0x00, 32, false, false, 0), /* Bank F has 8 IRQs */ - EP93XX_GPIO_BANK("F", 0x30, 0x34, 16, false, true, 0), - EP93XX_GPIO_BANK("G", 0x38, 0x3c, 48, false, false, 0), - EP93XX_GPIO_BANK("H", 0x40, 0x44, 56, false, false, 0), + EP93XX_GPIO_BANK("F", 0x30, 0x34, 0x4c, 16, false, true, 0), + EP93XX_GPIO_BANK("G", 0x38, 0x3c, 0x00, 48, false, false, 0), + EP93XX_GPIO_BANK("H", 0x40, 0x44, 0x00, 56, false, false, 0), }; static int ep93xx_gpio_set_config(struct gpio_chip *gc, unsigned offset, @@ -326,13 +323,23 @@ return EP93XX_GPIO_F_IRQ_BASE + offset; } -static int ep93xx_gpio_add_bank(struct gpio_chip *gc, +static void ep93xx_init_irq_chip(struct device *dev, struct irq_chip *ic) +{ + ic->irq_ack = ep93xx_gpio_irq_ack; + ic->irq_mask_ack = ep93xx_gpio_irq_mask_ack; + ic->irq_mask = ep93xx_gpio_irq_mask; + ic->irq_unmask = ep93xx_gpio_irq_unmask; + ic->irq_set_type = ep93xx_gpio_irq_type; +} + +static int ep93xx_gpio_add_bank(struct ep93xx_gpio_chip *egc, struct platform_device *pdev, struct ep93xx_gpio *epg, struct ep93xx_gpio_bank *bank) { void __iomem *data = epg->base + bank->data; void __iomem *dir = epg->base + bank->dir; + struct gpio_chip *gc = &egc->gc; struct device *dev = &pdev->dev; struct gpio_irq_chip *girq; int err; @@ -346,8 +353,21 @@ girq = &gc->irq; if (bank->has_irq || bank->has_hierarchical_irq) { + struct irq_chip *ic; + gc->set_config = ep93xx_gpio_set_config; - girq->chip = &ep93xx_gpio_irq_chip; + egc->eic = devm_kcalloc(dev, 1, + sizeof(*egc->eic), + GFP_KERNEL); + if (!egc->eic) + return -ENOMEM; + egc->eic->irq_offset = bank->irq; + ic = &egc->eic->ic; + ic->name = devm_kasprintf(dev, GFP_KERNEL, "gpio-irq-%s", bank->label); + if (!ic->name) + return -ENOMEM; + ep93xx_init_irq_chip(dev, ic); + girq->chip = ic; } if (bank->has_irq) { @@ -389,7 +409,7 @@ gpio_irq = EP93XX_GPIO_F_IRQ_BASE + i; irq_set_chip_data(gpio_irq, &epg->gc[5]); irq_set_chip_and_handler(gpio_irq, - &ep93xx_gpio_irq_chip, + girq->chip, handle_level_irq); irq_clear_status_flags(gpio_irq, IRQ_NOREQUEST); } @@ -415,7 +435,7 @@ return PTR_ERR(epg->base); for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) { - struct gpio_chip *gc = &epg->gc[i]; + struct ep93xx_gpio_chip *gc = &epg->gc[i]; struct ep93xx_gpio_bank *bank = &ep93xx_gpio_banks[i]; if (ep93xx_gpio_add_bank(gc, pdev, epg, bank)) --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-max77620.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-max77620.c @@ -305,8 +305,9 @@ gpiochip_irqchip_add_nested(&mgpio->gpio_chip, &max77620_gpio_irqchip, 0, handle_edge_irq, IRQ_TYPE_NONE); - ret = request_threaded_irq(gpio_irq, NULL, max77620_gpio_irqhandler, - IRQF_ONESHOT, "max77620-gpio", mgpio); + ret = devm_request_threaded_irq(&pdev->dev, gpio_irq, NULL, + max77620_gpio_irqhandler, IRQF_ONESHOT, + "max77620-gpio", mgpio); if (ret < 0) { dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-mockup.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-mockup.c @@ -552,6 +552,7 @@ err = platform_driver_register(&gpio_mockup_driver); if (err) { gpio_mockup_err("error registering platform driver\n"); + debugfs_remove_recursive(gpio_mockup_dbg_dir); return err; } @@ -582,6 +583,7 @@ gpio_mockup_err("error registering device"); platform_driver_unregister(&gpio_mockup_driver); gpio_mockup_unregister_pdevs(); + debugfs_remove_recursive(gpio_mockup_dbg_dir); return PTR_ERR(pdev); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-mvebu.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-mvebu.c @@ -660,9 +660,8 @@ spin_lock_irqsave(&mvpwm->lock, flags); - val = (unsigned long long) - readl_relaxed(mvebu_pwmreg_blink_on_duration(mvpwm)); - val *= NSEC_PER_SEC; + u = readl_relaxed(mvebu_pwmreg_blink_on_duration(mvpwm)); + val = (unsigned long long) u * NSEC_PER_SEC; do_div(val, mvpwm->clk_rate); if (val > UINT_MAX) state->duty_cycle = UINT_MAX; @@ -671,21 +670,17 @@ else state->duty_cycle = 1; - val = (unsigned long long) - readl_relaxed(mvebu_pwmreg_blink_off_duration(mvpwm)); + val = (unsigned long long) u; /* on duration */ + /* period = on + off duration */ + val += readl_relaxed(mvebu_pwmreg_blink_off_duration(mvpwm)); val *= NSEC_PER_SEC; do_div(val, mvpwm->clk_rate); - if (val < state->duty_cycle) { + if (val > UINT_MAX) + state->period = UINT_MAX; + else if (val) + state->period = val; + else state->period = 1; - } else { - val -= state->duty_cycle; - if (val > UINT_MAX) - state->period = UINT_MAX; - else if (val) - state->period = val; - else - state->period = 1; - } regmap_read(mvchip->regs, GPIO_BLINK_EN_OFF + mvchip->offset, &u); if (u) @@ -1201,6 +1196,13 @@ devm_gpiochip_add_data(&pdev->dev, &mvchip->chip, mvchip); + /* Some MVEBU SoCs have simple PWM support for GPIO lines */ + if (IS_ENABLED(CONFIG_PWM)) { + err = mvebu_pwm_probe(pdev, mvchip, id); + if (err) + return err; + } + /* Some gpio controllers do not provide irq support */ if (!have_irqs) return 0; @@ -1210,7 +1212,8 @@ if (!mvchip->domain) { dev_err(&pdev->dev, "couldn't allocate irq domain %s (DT).\n", mvchip->chip.label); - return -ENODEV; + err = -ENODEV; + goto err_pwm; } err = irq_alloc_domain_generic_chips( @@ -1258,14 +1261,12 @@ mvchip); } - /* Some MVEBU SoCs have simple PWM support for GPIO lines */ - if (IS_ENABLED(CONFIG_PWM)) - return mvebu_pwm_probe(pdev, mvchip, id); - return 0; err_domain: irq_domain_remove(mvchip->domain); +err_pwm: + pwmchip_remove(&mvchip->mvpwm->chip); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-omap.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-omap.c @@ -29,6 +29,7 @@ #define OMAP4_GPIO_DEBOUNCINGTIME_MASK 0xFF struct gpio_regs { + u32 sysconfig; u32 irqenable1; u32 irqenable2; u32 wake_en; @@ -1060,6 +1061,7 @@ const struct omap_gpio_reg_offs *regs = p->regs; void __iomem *base = p->base; + p->context.sysconfig = readl_relaxed(base + regs->sysconfig); p->context.ctrl = readl_relaxed(base + regs->ctrl); p->context.oe = readl_relaxed(base + regs->direction); p->context.wake_en = readl_relaxed(base + regs->wkup_en); @@ -1079,6 +1081,7 @@ const struct omap_gpio_reg_offs *regs = bank->regs; void __iomem *base = bank->base; + writel_relaxed(bank->context.sysconfig, base + regs->sysconfig); writel_relaxed(bank->context.wake_en, base + regs->wkup_en); writel_relaxed(bank->context.ctrl, base + regs->ctrl); writel_relaxed(bank->context.leveldetect0, base + regs->leveldetect0); @@ -1102,13 +1105,27 @@ { struct device *dev = bank->chip.parent; void __iomem *base = bank->base; - u32 nowake; + u32 mask, nowake; bank->saved_datain = readl_relaxed(base + bank->regs->datain); + /* Save syconfig, it's runtime value can be different from init value */ + if (bank->loses_context) + bank->context.sysconfig = readl_relaxed(base + bank->regs->sysconfig); + if (!bank->enabled_non_wakeup_gpios) goto update_gpio_context_count; + /* Check for pending EDGE_FALLING, ignore EDGE_BOTH */ + mask = bank->enabled_non_wakeup_gpios & bank->context.fallingdetect; + mask &= ~bank->context.risingdetect; + bank->saved_datain |= mask; + + /* Check for pending EDGE_RISING, ignore EDGE_BOTH */ + mask = bank->enabled_non_wakeup_gpios & bank->context.risingdetect; + mask &= ~bank->context.fallingdetect; + bank->saved_datain &= ~mask; + if (!may_lose_context) goto update_gpio_context_count; @@ -1260,6 +1277,7 @@ static const struct omap_gpio_reg_offs omap2_gpio_regs = { .revision = OMAP24XX_GPIO_REVISION, + .sysconfig = OMAP24XX_GPIO_SYSCONFIG, .direction = OMAP24XX_GPIO_OE, .datain = OMAP24XX_GPIO_DATAIN, .dataout = OMAP24XX_GPIO_DATAOUT, @@ -1283,6 +1301,7 @@ static const struct omap_gpio_reg_offs omap4_gpio_regs = { .revision = OMAP4_GPIO_REVISION, + .sysconfig = OMAP4_GPIO_SYSCONFIG, .direction = OMAP4_GPIO_OE, .datain = OMAP4_GPIO_DATAIN, .dataout = OMAP4_GPIO_DATAOUT, --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-pca953x.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-pca953x.c @@ -110,8 +110,29 @@ #ifdef CONFIG_GPIO_PCA953X_IRQ #include -#include -#include + +static const struct acpi_gpio_params pca953x_irq_gpios = { 0, 0, true }; + +static const struct acpi_gpio_mapping pca953x_acpi_irq_gpios[] = { + { "irq-gpios", &pca953x_irq_gpios, 1, ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER }, + { } +}; + +static int pca953x_acpi_get_irq(struct device *dev) +{ + int ret; + + ret = devm_acpi_dev_add_driver_gpios(dev, pca953x_acpi_irq_gpios); + if (ret) + dev_warn(dev, "can't add GPIO ACPI mapping\n"); + + ret = acpi_dev_gpio_irq_get_by(ACPI_COMPANION(dev), "irq-gpios", 0); + if (ret < 0) + return ret; + + dev_info(dev, "ACPI interrupt quirk (IRQ %d)\n", ret); + return ret; +} static const struct dmi_system_id pca953x_dmi_acpi_irq_info[] = { { @@ -130,59 +151,6 @@ }, {} }; - -#ifdef CONFIG_ACPI -static int pca953x_acpi_get_pin(struct acpi_resource *ares, void *data) -{ - struct acpi_resource_gpio *agpio; - int *pin = data; - - if (acpi_gpio_get_irq_resource(ares, &agpio)) - *pin = agpio->pin_table[0]; - return 1; -} - -static int pca953x_acpi_find_pin(struct device *dev) -{ - struct acpi_device *adev = ACPI_COMPANION(dev); - int pin = -ENOENT, ret; - LIST_HEAD(r); - - ret = acpi_dev_get_resources(adev, &r, pca953x_acpi_get_pin, &pin); - acpi_dev_free_resource_list(&r); - if (ret < 0) - return ret; - - return pin; -} -#else -static inline int pca953x_acpi_find_pin(struct device *dev) { return -ENXIO; } -#endif - -static int pca953x_acpi_get_irq(struct device *dev) -{ - int pin, ret; - - pin = pca953x_acpi_find_pin(dev); - if (pin < 0) - return pin; - - dev_info(dev, "Applying ACPI interrupt quirk (GPIO %d)\n", pin); - - if (!gpio_is_valid(pin)) - return -EINVAL; - - ret = gpio_request(pin, "pca953x interrupt"); - if (ret) - return ret; - - ret = gpio_to_irq(pin); - - /* When pin is used as an IRQ, no need to keep it requested */ - gpio_free(pin); - - return ret; -} #endif static const struct acpi_device_id pca953x_acpi_ids[] = { @@ -813,7 +781,7 @@ { struct pca953x_chip *chip = devid; struct gpio_chip *gc = &chip->gpio_chip; - DECLARE_BITMAP(pending, MAX_LINE); + DECLARE_BITMAP(pending, MAX_LINE) = {}; int level; bool ret; @@ -938,6 +906,7 @@ static int device_pca957x_init(struct pca953x_chip *chip, u32 invert) { DECLARE_BITMAP(val, MAX_LINE); + unsigned int i; int ret; ret = device_pca95xx_init(chip, invert); @@ -945,7 +914,9 @@ goto out; /* To enable register 6, 7 to control pull up and pull down */ - memset(val, 0x02, NBANK(chip)); + for (i = 0; i < NBANK(chip); i++) + bitmap_set_value8(val, 0x02, i * BANK_SZ); + ret = pca953x_write_regs(chip, PCA957X_BKEN, val); if (ret) goto out; --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-pcf857x.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-pcf857x.c @@ -332,7 +332,7 @@ * reset state. Otherwise it flags pins to be driven low. */ gpio->out = ~n_latch; - gpio->status = gpio->out; + gpio->status = gpio->read(gpio->client); status = devm_gpiochip_add_data(&client->dev, &gpio->chip, gpio); if (status < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-pcie-idio-24.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-pcie-idio-24.c @@ -28,6 +28,47 @@ #include #include +/* + * PLX PEX8311 PCI LCS_INTCSR Interrupt Control/Status + * + * Bit: Description + * 0: Enable Interrupt Sources (Bit 0) + * 1: Enable Interrupt Sources (Bit 1) + * 2: Generate Internal PCI Bus Internal SERR# Interrupt + * 3: Mailbox Interrupt Enable + * 4: Power Management Interrupt Enable + * 5: Power Management Interrupt + * 6: Slave Read Local Data Parity Check Error Enable + * 7: Slave Read Local Data Parity Check Error Status + * 8: Internal PCI Wire Interrupt Enable + * 9: PCI Express Doorbell Interrupt Enable + * 10: PCI Abort Interrupt Enable + * 11: Local Interrupt Input Enable + * 12: Retry Abort Enable + * 13: PCI Express Doorbell Interrupt Active + * 14: PCI Abort Interrupt Active + * 15: Local Interrupt Input Active + * 16: Local Interrupt Output Enable + * 17: Local Doorbell Interrupt Enable + * 18: DMA Channel 0 Interrupt Enable + * 19: DMA Channel 1 Interrupt Enable + * 20: Local Doorbell Interrupt Active + * 21: DMA Channel 0 Interrupt Active + * 22: DMA Channel 1 Interrupt Active + * 23: Built-In Self-Test (BIST) Interrupt Active + * 24: Direct Master was the Bus Master during a Master or Target Abort + * 25: DMA Channel 0 was the Bus Master during a Master or Target Abort + * 26: DMA Channel 1 was the Bus Master during a Master or Target Abort + * 27: Target Abort after internal 256 consecutive Master Retrys + * 28: PCI Bus wrote data to LCS_MBOX0 + * 29: PCI Bus wrote data to LCS_MBOX1 + * 30: PCI Bus wrote data to LCS_MBOX2 + * 31: PCI Bus wrote data to LCS_MBOX3 + */ +#define PLX_PEX8311_PCI_LCS_INTCSR 0x68 +#define INTCSR_INTERNAL_PCI_WIRE BIT(8) +#define INTCSR_LOCAL_INPUT BIT(11) + /** * struct idio_24_gpio_reg - GPIO device registers structure * @out0_7: Read: FET Outputs 0-7 @@ -92,6 +133,7 @@ struct idio_24_gpio { struct gpio_chip chip; raw_spinlock_t lock; + __u8 __iomem *plx; struct idio_24_gpio_reg __iomem *reg; unsigned long irq_mask; }; @@ -334,13 +376,13 @@ unsigned long flags; const unsigned long bit_offset = irqd_to_hwirq(data) - 24; unsigned char new_irq_mask; - const unsigned long bank_offset = bit_offset/8 * 8; + const unsigned long bank_offset = bit_offset / 8; unsigned char cos_enable_state; raw_spin_lock_irqsave(&idio24gpio->lock, flags); - idio24gpio->irq_mask &= BIT(bit_offset); - new_irq_mask = idio24gpio->irq_mask >> bank_offset; + idio24gpio->irq_mask &= ~BIT(bit_offset); + new_irq_mask = idio24gpio->irq_mask >> bank_offset * 8; if (!new_irq_mask) { cos_enable_state = ioread8(&idio24gpio->reg->cos_enable); @@ -363,12 +405,12 @@ unsigned long flags; unsigned char prev_irq_mask; const unsigned long bit_offset = irqd_to_hwirq(data) - 24; - const unsigned long bank_offset = bit_offset/8 * 8; + const unsigned long bank_offset = bit_offset / 8; unsigned char cos_enable_state; raw_spin_lock_irqsave(&idio24gpio->lock, flags); - prev_irq_mask = idio24gpio->irq_mask >> bank_offset; + prev_irq_mask = idio24gpio->irq_mask >> bank_offset * 8; idio24gpio->irq_mask |= BIT(bit_offset); if (!prev_irq_mask) { @@ -455,6 +497,7 @@ struct device *const dev = &pdev->dev; struct idio_24_gpio *idio24gpio; int err; + const size_t pci_plx_bar_index = 1; const size_t pci_bar_index = 2; const char *const name = pci_name(pdev); @@ -468,12 +511,13 @@ return err; } - err = pcim_iomap_regions(pdev, BIT(pci_bar_index), name); + err = pcim_iomap_regions(pdev, BIT(pci_plx_bar_index) | BIT(pci_bar_index), name); if (err) { dev_err(dev, "Unable to map PCI I/O addresses (%d)\n", err); return err; } + idio24gpio->plx = pcim_iomap_table(pdev)[pci_plx_bar_index]; idio24gpio->reg = pcim_iomap_table(pdev)[pci_bar_index]; idio24gpio->chip.label = name; @@ -494,6 +538,12 @@ /* Software board reset */ iowrite8(0, &idio24gpio->reg->soft_reset); + /* + * enable PLX PEX8311 internal PCI wire interrupt and local interrupt + * input + */ + iowrite8((INTCSR_INTERNAL_PCI_WIRE | INTCSR_LOCAL_INPUT) >> 8, + idio24gpio->plx + PLX_PEX8311_PCI_LCS_INTCSR + 1); err = devm_gpiochip_add_data(dev, &idio24gpio->chip, idio24gpio); if (err) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-sifive.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-sifive.c @@ -183,7 +183,7 @@ return PTR_ERR(chip->regs); ngpio = of_irq_count(node); - if (ngpio >= SIFIVE_GPIO_MAX) { + if (ngpio > SIFIVE_GPIO_MAX) { dev_err(dev, "Too many GPIO interrupts (max=%d)\n", SIFIVE_GPIO_MAX); return -ENXIO; --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-siox.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-siox.c @@ -245,6 +245,7 @@ girq->chip = &ddata->ichip; girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_level_irq; + girq->threaded = true; ret = devm_gpiochip_add_data(dev, &ddata->gchip, NULL); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-sprd.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-sprd.c @@ -149,17 +149,20 @@ sprd_gpio_update(chip, offset, SPRD_GPIO_IS, 0); sprd_gpio_update(chip, offset, SPRD_GPIO_IBE, 0); sprd_gpio_update(chip, offset, SPRD_GPIO_IEV, 1); + sprd_gpio_update(chip, offset, SPRD_GPIO_IC, 1); irq_set_handler_locked(data, handle_edge_irq); break; case IRQ_TYPE_EDGE_FALLING: sprd_gpio_update(chip, offset, SPRD_GPIO_IS, 0); sprd_gpio_update(chip, offset, SPRD_GPIO_IBE, 0); sprd_gpio_update(chip, offset, SPRD_GPIO_IEV, 0); + sprd_gpio_update(chip, offset, SPRD_GPIO_IC, 1); irq_set_handler_locked(data, handle_edge_irq); break; case IRQ_TYPE_EDGE_BOTH: sprd_gpio_update(chip, offset, SPRD_GPIO_IS, 0); sprd_gpio_update(chip, offset, SPRD_GPIO_IBE, 1); + sprd_gpio_update(chip, offset, SPRD_GPIO_IC, 1); irq_set_handler_locked(data, handle_edge_irq); break; case IRQ_TYPE_LEVEL_HIGH: --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-tc3589x.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-tc3589x.c @@ -212,7 +212,7 @@ continue; tc3589x_gpio->oldregs[i][j] = new; - tc3589x_reg_write(tc3589x, regmap[i] + j * 8, new); + tc3589x_reg_write(tc3589x, regmap[i] + j, new); } } --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpio-zynq.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpio-zynq.c @@ -559,7 +559,7 @@ struct gpio_chip *chip = irq_data_get_irq_chip_data(d); int ret; - ret = pm_runtime_get_sync(chip->parent); + ret = pm_runtime_resume_and_get(chip->parent); if (ret < 0) return ret; @@ -887,7 +887,7 @@ pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - ret = pm_runtime_get_sync(&pdev->dev); + ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) goto err_pm_dis; --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpiolib-acpi.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpiolib-acpi.c @@ -174,7 +174,7 @@ int ret, value; ret = request_threaded_irq(event->irq, NULL, event->handler, - event->irqflags, "ACPI:Event", event); + event->irqflags | IRQF_ONESHOT, "ACPI:Event", event); if (ret) { dev_err(acpi_gpio->chip->parent, "Failed to setup interrupt handler for %d\n", @@ -649,6 +649,7 @@ if (!lookup->desc) { const struct acpi_resource_gpio *agpio = &ares->data.gpio; bool gpioint = agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT; + struct gpio_desc *desc; int pin_index; if (lookup->info.quirks & ACPI_GPIO_QUIRK_ONLY_GPIOIO && gpioint) @@ -661,8 +662,12 @@ if (pin_index >= agpio->pin_table_length) return 1; - lookup->desc = acpi_get_gpiod(agpio->resource_source.string_ptr, + if (lookup->info.quirks & ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER) + desc = gpio_to_desc(agpio->pin_table[pin_index]); + else + desc = acpi_get_gpiod(agpio->resource_source.string_ptr, agpio->pin_table[pin_index]); + lookup->desc = desc; lookup->info.pin_config = agpio->pin_config; lookup->info.gpioint = gpioint; @@ -911,8 +916,9 @@ } /** - * acpi_dev_gpio_irq_get() - Find GpioInt and translate it to Linux IRQ number + * acpi_dev_gpio_irq_get_by() - Find GpioInt and translate it to Linux IRQ number * @adev: pointer to a ACPI device to get IRQ from + * @name: optional name of GpioInt resource * @index: index of GpioInt resource (starting from %0) * * If the device has one or more GpioInt resources, this function can be @@ -922,9 +928,12 @@ * The function is idempotent, though each time it runs it will configure GPIO * pin direction according to the flags in GpioInt resource. * + * The function takes optional @name parameter. If the resource has a property + * name, then only those will be taken into account. + * * Return: Linux IRQ number (> %0) on success, negative errno on failure. */ -int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index) +int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, const char *name, int index) { int idx, i; unsigned int irq_flags; @@ -934,7 +943,7 @@ struct acpi_gpio_info info; struct gpio_desc *desc; - desc = acpi_get_gpiod_by_index(adev, NULL, i, &info); + desc = acpi_get_gpiod_by_index(adev, name, i, &info); /* Ignore -EPROBE_DEFER, it only matters if idx matches */ if (IS_ERR(desc) && PTR_ERR(desc) != -EPROBE_DEFER) @@ -971,7 +980,7 @@ } return -ENOENT; } -EXPORT_SYMBOL_GPL(acpi_dev_gpio_irq_get); +EXPORT_SYMBOL_GPL(acpi_dev_gpio_irq_get_by); static acpi_status acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address, --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpiolib-devres.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpiolib-devres.c @@ -487,10 +487,12 @@ } /** - * devm_gpiochip_add_data() - Resource managed gpiochip_add_data() + * devm_gpiochip_add_data_with_key() - Resource managed gpiochip_add_data_with_key() * @dev: pointer to the device that gpio_chip belongs to. * @gc: the GPIO chip to register * @data: driver-private data associated with this chip + * @lock_key: lockdep class for IRQ lock + * @request_key: lockdep class for IRQ request * * Context: potentially before irqs will work * @@ -501,8 +503,9 @@ * gc->base is invalid or already associated with a different chip. * Otherwise it returns zero as a success code. */ -int devm_gpiochip_add_data(struct device *dev, struct gpio_chip *gc, - void *data) +int devm_gpiochip_add_data_with_key(struct device *dev, struct gpio_chip *gc, void *data, + struct lock_class_key *lock_key, + struct lock_class_key *request_key) { struct gpio_chip **ptr; int ret; @@ -512,7 +515,7 @@ if (!ptr) return -ENOMEM; - ret = gpiochip_add_data(gc, data); + ret = gpiochip_add_data_with_key(gc, data, lock_key, request_key); if (ret < 0) { devres_free(ptr); return ret; @@ -523,4 +526,4 @@ return 0; } -EXPORT_SYMBOL_GPL(devm_gpiochip_add_data); +EXPORT_SYMBOL_GPL(devm_gpiochip_add_data_with_key); --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpiolib-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpiolib-sysfs.c @@ -457,6 +457,8 @@ long gpio; struct gpio_desc *desc; int status; + struct gpio_chip *gc; + int offset; status = kstrtol(buf, 0, &gpio); if (status < 0) @@ -468,6 +470,12 @@ pr_warn("%s: invalid GPIO %ld\n", __func__, gpio); return -EINVAL; } + gc = desc->gdev->chip; + offset = gpio_chip_hwgpio(desc); + if (!gpiochip_line_is_valid(gc, offset)) { + pr_warn("%s: GPIO %ld masked\n", __func__, gpio); + return -EINVAL; + } /* No extra locking here; FLAG_SYSFS just signifies that the * request and export were done by on behalf of userspace, so --- linux-riscv-5.8-5.8.0.orig/drivers/gpio/gpiolib.c +++ linux-riscv-5.8-5.8.0/drivers/gpio/gpiolib.c @@ -836,6 +836,21 @@ return events; } +static ssize_t lineevent_get_size(void) +{ +#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) + /* i386 has no padding after 'id' */ + if (in_ia32_syscall()) { + struct compat_gpioeevent_data { + compat_u64 timestamp; + u32 id; + }; + + return sizeof(struct compat_gpioeevent_data); + } +#endif + return sizeof(struct gpioevent_data); +} static ssize_t lineevent_read(struct file *filep, char __user *buf, @@ -845,9 +860,20 @@ struct lineevent_state *le = filep->private_data; struct gpioevent_data ge; ssize_t bytes_read = 0; + ssize_t ge_size; int ret; - if (count < sizeof(ge)) + /* + * When compatible system call is being used the struct gpioevent_data, + * in case of at least ia32, has different size due to the alignment + * differences. Because we have first member 64 bits followed by one of + * 32 bits there is no gap between them. The only difference is the + * padding at the end of the data structure. Hence, we calculate the + * actual sizeof() and pass this as an argument to copy_to_user() to + * drop unneeded bytes from the output. + */ + ge_size = lineevent_get_size(); + if (count < ge_size) return -EINVAL; do { @@ -883,10 +909,10 @@ break; } - if (copy_to_user(buf + bytes_read, &ge, sizeof(ge))) + if (copy_to_user(buf + bytes_read, &ge, ge_size)) return -EFAULT; - bytes_read += sizeof(ge); - } while (count >= bytes_read + sizeof(ge)); + bytes_read += ge_size; + } while (count >= bytes_read + ge_size); return bytes_read; } @@ -1527,8 +1553,12 @@ static void gpiodevice_release(struct device *dev) { struct gpio_device *gdev = dev_get_drvdata(dev); + unsigned long flags; + spin_lock_irqsave(&gpio_lock, flags); list_del(&gdev->list); + spin_unlock_irqrestore(&gpio_lock, flags); + ida_simple_remove(&gpio_ida, gdev->id); kfree_const(gdev->label); kfree(gdev->descs); @@ -1652,7 +1682,11 @@ ret = gdev->id; goto err_free_gdev; } - dev_set_name(&gdev->dev, GPIOCHIP_NAME "%d", gdev->id); + + ret = dev_set_name(&gdev->dev, GPIOCHIP_NAME "%d", gdev->id); + if (ret) + goto err_free_ida; + device_initialize(&gdev->dev); dev_set_drvdata(&gdev->dev, gdev); if (gc->parent && gc->parent->driver) @@ -1666,7 +1700,7 @@ gdev->descs = kcalloc(gc->ngpio, sizeof(gdev->descs[0]), GFP_KERNEL); if (!gdev->descs) { ret = -ENOMEM; - goto err_free_ida; + goto err_free_dev_name; } if (gc->ngpio == 0) { @@ -1814,6 +1848,8 @@ kfree_const(gdev->label); err_free_descs: kfree(gdev->descs); +err_free_dev_name: + kfree(dev_name(&gdev->dev)); err_free_ida: ida_simple_remove(&gpio_ida, gdev->id); err_free_gdev: @@ -2524,7 +2560,8 @@ if (WARN_ON(gc->irq.irq_enable)) return; /* Check if the irqchip already has this hook... */ - if (irqchip->irq_enable == gpiochip_irq_enable) { + if (irqchip->irq_enable == gpiochip_irq_enable || + irqchip->irq_mask == gpiochip_irq_mask) { /* * ...and if so, give a gentle warning that this is bad * practice. --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/Kconfig @@ -15,6 +15,9 @@ select I2C_ALGOBIT select DMA_SHARED_BUFFER select SYNC_FILE +# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate +# device and dmabuf fd. Let's make sure that is available for our userspace. + select KCMP help Kernel-level support for the Direct Rendering Infrastructure (DRI) introduced in XFree86 4.0. If you say Y here, you need to select @@ -236,6 +239,7 @@ config DRM_RADEON tristate "ATI Radeon" depends on DRM && PCI && MMU + depends on AGP || !AGP select FW_LOADER select DRM_KMS_HELPER select DRM_TTM --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -175,6 +175,7 @@ extern uint amdgpu_dc_feature_mask; extern uint amdgpu_dc_debug_mask; extern uint amdgpu_dm_abm_level; +extern int amdgpu_backlight; extern struct amdgpu_mgpu_info mgpu_info; extern int amdgpu_ras_enable; extern uint amdgpu_ras_mask; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c @@ -195,19 +195,32 @@ unsigned int engine_id, unsigned int queue_id) { - uint32_t sdma_engine_reg_base[2] = { - SOC15_REG_OFFSET(SDMA0, 0, - mmSDMA0_RLC0_RB_CNTL) - mmSDMA0_RLC0_RB_CNTL, - SOC15_REG_OFFSET(SDMA1, 0, - mmSDMA1_RLC0_RB_CNTL) - mmSDMA1_RLC0_RB_CNTL - }; - uint32_t retval = sdma_engine_reg_base[engine_id] + uint32_t sdma_engine_reg_base = 0; + uint32_t sdma_rlc_reg_offset; + + switch (engine_id) { + default: + dev_warn(adev->dev, + "Invalid sdma engine id (%d), using engine id 0\n", + engine_id); + fallthrough; + case 0: + sdma_engine_reg_base = SOC15_REG_OFFSET(SDMA0, 0, + mmSDMA0_RLC0_RB_CNTL) - mmSDMA0_RLC0_RB_CNTL; + break; + case 1: + sdma_engine_reg_base = SOC15_REG_OFFSET(SDMA1, 0, + mmSDMA1_RLC0_RB_CNTL) - mmSDMA0_RLC0_RB_CNTL; + break; + } + + sdma_rlc_reg_offset = sdma_engine_reg_base + queue_id * (mmSDMA0_RLC1_RB_CNTL - mmSDMA0_RLC0_RB_CNTL); pr_debug("RLC register offset for SDMA%d RLC%d: 0x%x\n", engine_id, - queue_id, retval); + queue_id, sdma_rlc_reg_offset); - return retval; + return sdma_rlc_reg_offset; } static inline struct v9_mqd *get_mqd(void *mqd) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c @@ -716,8 +716,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (encoder) { @@ -854,8 +856,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } encoder = amdgpu_connector_best_single_encoder(connector); @@ -977,8 +981,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { @@ -1328,8 +1334,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c @@ -46,7 +46,7 @@ static int amdgpu_ctx_priority_permit(struct drm_file *filp, enum drm_sched_priority priority) { - if (priority < 0 || priority >= DRM_SCHED_PRIORITY_MAX) + if (priority < 0 || priority >= DRM_SCHED_PRIORITY_COUNT) return -EINVAL; /* NORMAL and below are accessible by everyone */ @@ -65,7 +65,7 @@ static enum gfx_pipe_priority amdgpu_ctx_sched_prio_to_compute_prio(enum drm_sched_priority prio) { switch (prio) { - case DRM_SCHED_PRIORITY_HIGH_HW: + case DRM_SCHED_PRIORITY_HIGH: case DRM_SCHED_PRIORITY_KERNEL: return AMDGPU_GFX_PIPE_PRIO_HIGH; default: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c @@ -223,12 +223,16 @@ *pos &= (1UL << 22) - 1; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } if (use_bank) { if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) || @@ -332,17 +336,21 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; - value = RREG32_PCIE(*pos >> 2); + value = RREG32_PCIE(*pos); r = put_user(value, (uint32_t *)buf); if (r) { pm_runtime_mark_last_busy(adev->ddev->dev); @@ -387,12 +395,16 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -405,7 +417,7 @@ return r; } - WREG32_PCIE(*pos >> 2, value); + WREG32_PCIE(*pos, value); result += 4; buf += 4; @@ -443,12 +455,16 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -498,12 +514,16 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -554,12 +574,16 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -609,12 +633,16 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -764,12 +792,16 @@ valuesize = sizeof(values); r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_dpm_read_sensor(adev, idx, &values[0], &valuesize); @@ -842,12 +874,16 @@ simd = (*pos & GENMASK_ULL(44, 37)) >> 37; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_virt_enable_access_debugfs(adev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* switch to the specific se/sh/cu */ mutex_lock(&adev->grbm_idx_mutex); @@ -937,11 +973,11 @@ r = pm_runtime_get_sync(adev->ddev->dev); if (r < 0) - return r; + goto err; r = amdgpu_virt_enable_access_debugfs(adev); if (r < 0) - return r; + goto err; /* switch to the specific se/sh/cu */ mutex_lock(&adev->grbm_idx_mutex); @@ -967,7 +1003,7 @@ value = data[result >> 2]; r = put_user(value, (uint32_t *)buf); if (r) { - result = r; + amdgpu_virt_disable_access_debugfs(adev); goto err; } @@ -976,10 +1012,14 @@ size -= 4; } -err: kfree(data); amdgpu_virt_disable_access_debugfs(adev); return result; + +err: + pm_runtime_put_autosuspend(adev->ddev->dev); + kfree(data); + return r; } /** @@ -1003,8 +1043,10 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } while (size) { uint32_t value; @@ -1140,8 +1182,10 @@ int r = 0, i; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* Avoid accidently unparking the sched thread during GPU reset */ mutex_lock(&adev->lock_reset); @@ -1197,8 +1241,10 @@ int r; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } seq_printf(m, "(%d)\n", amdgpu_bo_evict_vram(adev)); @@ -1216,8 +1262,10 @@ int r; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } seq_printf(m, "(%d)\n", ttm_bo_evict_mm(&adev->mman.bdev, TTM_PL_TT)); @@ -1417,16 +1465,16 @@ return -EINVAL; ret = pm_runtime_get_sync(adev->ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { ret = smu_get_dpm_freq_range(&adev->smu, SMU_SCLK, &min_freq, &max_freq, true); if (ret || val > max_freq || val < min_freq) return -EINVAL; ret = smu_set_soft_freq_range(&adev->smu, SMU_SCLK, (uint32_t)val, (uint32_t)val, true); - } else { - return 0; } pm_runtime_mark_last_busy(adev->ddev->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -1578,7 +1578,10 @@ chip_name = "arcturus"; break; case CHIP_RENOIR: - chip_name = "renoir"; + if (adev->apu_flags & AMD_APU_IS_RENOIR) + chip_name = "renoir"; + else + chip_name = "green_sardine"; break; case CHIP_NAVI10: chip_name = "navi10"; @@ -2313,11 +2316,11 @@ if (adev->gmc.xgmi.num_physical_nodes > 1) amdgpu_xgmi_remove_device(adev); - amdgpu_amdkfd_device_fini(adev); - amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE); amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE); + amdgpu_amdkfd_device_fini(adev); + /* need to disable SMC first */ for (i = 0; i < adev->num_ip_blocks; i++) { if (!adev->ip_blocks[i].status.hw) @@ -2783,7 +2786,7 @@ #endif default: if (amdgpu_dc > 0) - DRM_INFO("Display Core has been requested via kernel parameter " + DRM_INFO_ONCE("Display Core has been requested via kernel parameter " "but isn't supported by ASIC, ignoring\n"); return false; } @@ -3275,10 +3278,8 @@ msecs_to_jiffies(AMDGPU_RESUME_MS)); r = sysfs_create_files(&adev->dev->kobj, amdgpu_dev_attributes); - if (r) { + if (r) dev_err(adev->dev, "Could not create amdgpu device attr\n"); - return r; - } if (IS_ENABLED(CONFIG_PERF_EVENTS)) r = amdgpu_pmu_init(adev); @@ -4337,7 +4338,7 @@ retry: /* Rest of adevs pre asic reset from XGMI hive. */ list_for_each_entry(tmp_adev, device_list_handle, gmc.xgmi.head) { r = amdgpu_device_pre_asic_reset(tmp_adev, - NULL, + (tmp_adev == adev) ? job : NULL, &need_full_reset); /*TODO Should we stop ?*/ if (r) { @@ -4556,7 +4557,7 @@ if (!amdgpu_device_supports_baco(adev->ddev)) return -ENOTSUPP; - if (ras && ras->supported) + if (ras && ras->supported && adev->nbio.funcs->enable_doorbell_interrupt) adev->nbio.funcs->enable_doorbell_interrupt(adev, false); return amdgpu_dpm_baco_enter(adev); @@ -4575,7 +4576,7 @@ if (ret) return ret; - if (ras && ras->supported) + if (ras && ras->supported && adev->nbio.funcs->enable_doorbell_interrupt) adev->nbio.funcs->enable_doorbell_interrupt(adev, true); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -282,7 +282,7 @@ ret = pm_runtime_get_sync(dev->dev); if (ret < 0) - return ret; + goto out; ret = drm_crtc_helper_set_config(set, ctx); @@ -306,6 +306,7 @@ adev->have_disp_power_ref = false; } +out: /* drop the power reference we got coming in here */ pm_runtime_put_autosuspend(dev->dev); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c @@ -587,7 +587,7 @@ attach = dma_buf_dynamic_attach(dma_buf, dev->dev, &amdgpu_dma_buf_attach_ops, obj); if (IS_ERR(attach)) { - drm_gem_object_put(obj); + drm_gem_object_put_unlocked(obj); return ERR_CAST(attach); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -738,6 +738,10 @@ MODULE_PARM_DESC(abmlevel, "ABM level (0 = off (default), 1-4 = backlight reduction level) "); module_param_named(abmlevel, amdgpu_dm_abm_level, uint, 0444); +int amdgpu_backlight = -1; +MODULE_PARM_DESC(backlight, "Backlight control (0 = pwm, 1 = aux, -1 auto (default))"); +module_param_named(backlight, amdgpu_backlight, bint, 0444); + /** * DOC: tmz (int) * Trusted Memory Zone (TMZ) is a method to protect data being written @@ -1016,6 +1020,7 @@ {0x1002, 0x7319, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI10}, {0x1002, 0x731A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI10}, {0x1002, 0x731B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI10}, + {0x1002, 0x731E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI10}, {0x1002, 0x731F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI10}, /* Navi14 */ {0x1002, 0x7340, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI14}, @@ -1025,6 +1030,8 @@ /* Renoir */ {0x1002, 0x1636, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU}, + {0x1002, 0x1638, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU}, + {0x1002, 0x164C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU}, /* Navi12 */ {0x1002, 0x7360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI12|AMD_EXP_HW_SUPPORT}, @@ -1373,11 +1380,12 @@ dev = file_priv->minor->dev; ret = pm_runtime_get_sync(dev->dev); if (ret < 0) - return ret; + goto out; ret = drm_ioctl(filp, cmd, arg); pm_runtime_mark_last_busy(dev->dev); +out: pm_runtime_put_autosuspend(dev->dev); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c @@ -146,7 +146,7 @@ size = mode_cmd->pitches[0] * height; aligned_size = ALIGN(size, PAGE_SIZE); ret = amdgpu_gem_object_create(adev, aligned_size, 0, domain, flags, - ttm_bo_type_kernel, NULL, &gobj); + ttm_bo_type_device, NULL, &gobj); if (ret) { pr_err("failed to allocate framebuffer (%d)\n", aligned_size); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c @@ -416,7 +416,9 @@ ring->fence_drv.gpu_addr = adev->uvd.inst[ring->me].gpu_addr + index; } amdgpu_fence_write(ring, atomic_read(&ring->fence_drv.last_seq)); - amdgpu_irq_get(adev, irq_src, irq_type); + + if (irq_src) + amdgpu_irq_get(adev, irq_src, irq_type); ring->fence_drv.irq_src = irq_src; ring->fence_drv.irq_type = irq_type; @@ -537,8 +539,9 @@ /* no need to trigger GPU reset as we are unloading */ amdgpu_fence_driver_force_completion(ring); } - amdgpu_irq_put(adev, ring->fence_drv.irq_src, - ring->fence_drv.irq_type); + if (ring->fence_drv.irq_src) + amdgpu_irq_put(adev, ring->fence_drv.irq_src, + ring->fence_drv.irq_type); drm_sched_fini(&ring->sched); del_timer_sync(&ring->fence_drv.fallback_timer); for (j = 0; j <= ring->fence_drv.num_fences_mask; ++j) @@ -574,8 +577,9 @@ } /* disable the interrupt */ - amdgpu_irq_put(adev, ring->fence_drv.irq_src, - ring->fence_drv.irq_type); + if (ring->fence_drv.irq_src) + amdgpu_irq_put(adev, ring->fence_drv.irq_src, + ring->fence_drv.irq_type); } } @@ -601,8 +605,9 @@ continue; /* enable the interrupt */ - amdgpu_irq_get(adev, ring->fence_drv.irq_src, - ring->fence_drv.irq_type); + if (ring->fence_drv.irq_src) + amdgpu_irq_get(adev, ring->fence_drv.irq_src, + ring->fence_drv.irq_type); } } @@ -749,8 +754,10 @@ int r; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(dev->dev); return 0; + } seq_printf(m, "gpu recover\n"); amdgpu_device_gpu_recover(adev, NULL); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -596,6 +596,7 @@ struct ww_acquire_ctx ticket; struct list_head list, duplicates; uint64_t va_flags; + uint64_t vm_size; int r = 0; if (args->va_address < AMDGPU_VA_RESERVED_SIZE) { @@ -616,6 +617,15 @@ args->va_address &= AMDGPU_GMC_HOLE_MASK; + vm_size = adev->vm_manager.max_pfn * AMDGPU_GPU_PAGE_SIZE; + vm_size -= AMDGPU_VA_RESERVED_SIZE; + if (args->va_address + args->map_size > vm_size) { + dev_dbg(&dev->pdev->dev, + "va_address 0x%llx is in top reserved area 0x%llx\n", + args->va_address + args->map_size, vm_size); + return -EINVAL; + } + if ((args->flags & ~valid_flags) && (args->flags & ~prt_flags)) { dev_dbg(&dev->pdev->dev, "invalid flags combination 0x%08X\n", args->flags); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c @@ -193,10 +193,14 @@ } bool amdgpu_gfx_is_high_priority_compute_queue(struct amdgpu_device *adev, - int queue) + int pipe, int queue) { - /* Policy: make queue 0 of each pipe as high priority compute queue */ - return (queue == 0); + bool multipipe_policy = amdgpu_gfx_is_multipipe_capable(adev); + int cond; + /* Policy: alternate between normal and high priority */ + cond = multipipe_policy ? pipe : queue; + + return ((cond % 2) != 0); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h @@ -369,7 +369,7 @@ bool amdgpu_gfx_is_mec_queue_enabled(struct amdgpu_device *adev, int mec, int pipe, int queue); bool amdgpu_gfx_is_high_priority_compute_queue(struct amdgpu_device *adev, - int queue); + int pipe, int queue); int amdgpu_gfx_me_queue_to_bit(struct amdgpu_device *adev, int me, int pipe, int queue); void amdgpu_gfx_bit_to_me_queue(struct amdgpu_device *adev, int bit, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c @@ -254,7 +254,7 @@ int i; /* Signal all jobs not yet scheduled */ - for (i = DRM_SCHED_PRIORITY_MAX - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { + for (i = DRM_SCHED_PRIORITY_COUNT - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { struct drm_sched_rq *rq = &sched->sched_rq[i]; if (!rq) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -663,8 +663,12 @@ * in the bitfields */ if (se_num == AMDGPU_INFO_MMR_SE_INDEX_MASK) se_num = 0xffffffff; + else if (se_num >= AMDGPU_GFX_MAX_SE) + return -EINVAL; if (sh_num == AMDGPU_INFO_MMR_SH_INDEX_MASK) sh_num = 0xffffffff; + else if (sh_num >= AMDGPU_GFX_MAX_SH_PER_SE) + return -EINVAL; if (info->read_mmr_reg.count > 128) return -EINVAL; @@ -992,7 +996,7 @@ r = pm_runtime_get_sync(dev->dev); if (r < 0) - return r; + goto pm_put; fpriv = kzalloc(sizeof(*fpriv), GFP_KERNEL); if (unlikely(!fpriv)) { @@ -1043,6 +1047,7 @@ out_suspend: pm_runtime_mark_last_busy(dev->dev); +pm_put: pm_runtime_put_autosuspend(dev->dev); return r; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c @@ -167,8 +167,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { if (adev->smu.ppt_funcs->get_current_power_state) @@ -212,8 +214,10 @@ return -EINVAL; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { mutex_lock(&adev->pm.mutex); @@ -307,8 +311,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) level = smu_get_performance_level(&adev->smu); @@ -369,8 +375,10 @@ } ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) current_level = smu_get_performance_level(&adev->smu); @@ -449,8 +457,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { ret = smu_get_power_num_states(&adev->smu, &data); @@ -491,8 +501,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { pm = smu_get_current_power_state(smu); @@ -567,8 +579,10 @@ state = data.states[idx]; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } /* only set user selected power states */ if (state != POWER_STATE_TYPE_INTERNAL_BOOT && @@ -608,8 +622,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { size = smu_sys_get_pp_table(&adev->smu, (void **)&table); @@ -650,8 +666,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { ret = smu_sys_set_pp_table(&adev->smu, (void *)buf, count); @@ -790,8 +808,10 @@ } ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { ret = smu_od_edit_dpm_table(&adev->smu, type, @@ -847,8 +867,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { size = smu_print_clk_levels(&adev->smu, SMU_OD_SCLK, buf); @@ -905,8 +927,10 @@ pr_debug("featuremask = 0x%llx\n", featuremask); ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { ret = smu_sys_set_pp_feature_mask(&adev->smu, featuremask); @@ -942,8 +966,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_sys_get_pp_feature_mask(&adev->smu, buf); @@ -1001,8 +1027,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_SCLK, buf); @@ -1026,7 +1054,7 @@ static ssize_t amdgpu_read_mask(const char *buf, size_t count, uint32_t *mask) { int ret; - long level; + unsigned long level; char *sub_str = NULL; char *tmp; char buf_cpy[AMDGPU_MASK_BUF_MAX + 1]; @@ -1042,8 +1070,8 @@ while (tmp[0]) { sub_str = strsep(&tmp, delimiter); if (strlen(sub_str)) { - ret = kstrtol(sub_str, 0, &level); - if (ret) + ret = kstrtoul(sub_str, 0, &level); + if (ret || level > 31) return -EINVAL; *mask |= 1 << level; } else @@ -1071,8 +1099,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_SCLK, mask, true); @@ -1101,8 +1131,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_MCLK, buf); @@ -1135,8 +1167,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_MCLK, mask, true); @@ -1165,8 +1199,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_SOCCLK, buf); @@ -1199,8 +1235,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_SOCCLK, mask, true); @@ -1231,8 +1269,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_FCLK, buf); @@ -1265,8 +1305,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_FCLK, mask, true); @@ -1297,8 +1339,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_DCEFCLK, buf); @@ -1331,8 +1375,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_DCEFCLK, mask, true); @@ -1363,8 +1409,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_print_clk_levels(&adev->smu, SMU_PCIE, buf); @@ -1397,8 +1445,10 @@ return ret; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_force_clk_levels(&adev->smu, SMU_PCIE, mask, true); @@ -1429,8 +1479,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) value = smu_get_od_percentage(&(adev->smu), SMU_OD_SCLK); @@ -1462,8 +1514,10 @@ return -EINVAL; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { value = smu_set_od_percentage(&(adev->smu), SMU_OD_SCLK, (uint32_t)value); @@ -1498,8 +1552,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) value = smu_get_od_percentage(&(adev->smu), SMU_OD_MCLK); @@ -1531,8 +1587,10 @@ return -EINVAL; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { value = smu_set_od_percentage(&(adev->smu), SMU_OD_MCLK, (uint32_t)value); @@ -1587,8 +1645,10 @@ return -EPERM; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) size = smu_get_power_profile_mode(&adev->smu, buf); @@ -1650,8 +1710,10 @@ parameter[parameter_size] = profile_mode; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } if (is_support_sw_smu(adev)) ret = smu_set_power_profile_mode(&adev->smu, parameter, parameter_size, true); @@ -1687,8 +1749,10 @@ return -EPERM; r = pm_runtime_get_sync(ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(ddev->dev); return r; + } /* read the IP busy sensor */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_LOAD, @@ -1723,8 +1787,10 @@ return -EPERM; r = pm_runtime_get_sync(ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(ddev->dev); return r; + } /* read the IP busy sensor */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_MEM_LOAD, @@ -1770,8 +1836,10 @@ return -ENODATA; ret = pm_runtime_get_sync(ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(ddev->dev); return ret; + } amdgpu_asic_get_pcie_usage(adev, &count0, &count1); @@ -2003,8 +2071,10 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } switch (channel) { case PP_TEMP_JUNCTION: @@ -2134,8 +2204,10 @@ return -EPERM; ret = pm_runtime_get_sync(adev->ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { pwm_mode = smu_get_fan_control_mode(&adev->smu); @@ -2172,8 +2244,10 @@ return err; ret = pm_runtime_get_sync(adev->ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { smu_set_fan_control_mode(&adev->smu, value); @@ -2220,8 +2294,10 @@ return -EPERM; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) pwm_mode = smu_get_fan_control_mode(&adev->smu); @@ -2272,8 +2348,10 @@ return -EPERM; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) err = smu_get_fan_speed_percent(&adev->smu, &speed); @@ -2305,8 +2383,10 @@ return -EPERM; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) err = smu_get_fan_speed_rpm(&adev->smu, &speed); @@ -2337,8 +2417,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_MIN_FAN_RPM, (void *)&min_rpm, &size); @@ -2365,8 +2447,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_MAX_FAN_RPM, (void *)&max_rpm, &size); @@ -2392,8 +2476,10 @@ return -EPERM; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) err = smu_get_fan_speed_rpm(&adev->smu, &rpm); @@ -2424,8 +2510,10 @@ return -EPERM; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) pwm_mode = smu_get_fan_control_mode(&adev->smu); @@ -2473,8 +2561,10 @@ return -EPERM; ret = pm_runtime_get_sync(adev->ddev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return ret; + } if (is_support_sw_smu(adev)) { pwm_mode = smu_get_fan_control_mode(&adev->smu); @@ -2519,8 +2609,10 @@ return -EINVAL; err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) { smu_set_fan_control_mode(&adev->smu, pwm_mode); @@ -2551,8 +2643,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* get the voltage */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDGFX, @@ -2590,8 +2684,10 @@ return -EINVAL; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* get the voltage */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDNB, @@ -2626,8 +2722,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* get the voltage */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GPU_POWER, @@ -2665,8 +2763,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } if (is_support_sw_smu(adev)) { smu_get_power_limit(&adev->smu, &limit, true, true); @@ -2697,8 +2797,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } if (is_support_sw_smu(adev)) { smu_get_power_limit(&adev->smu, &limit, false, true); @@ -2740,8 +2842,10 @@ err = pm_runtime_get_sync(adev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return err; + } if (is_support_sw_smu(adev)) err = smu_set_power_limit(&adev->smu, value); @@ -2771,8 +2875,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* get the sclk */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_SCLK, @@ -2806,8 +2912,10 @@ return -EPERM; r = pm_runtime_get_sync(adev->ddev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(adev->ddev->dev); return r; + } /* get the sclk */ r = amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_MCLK, @@ -3669,8 +3777,10 @@ return -EPERM; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(dev->dev); return r; + } amdgpu_device_ip_get_clockgating_state(adev, &flags); seq_printf(m, "Clock Gating Flags Mask: 0x%x\n", flags); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -1182,8 +1182,12 @@ if (amdgpu_sriov_vf(psp->adev)) return 0; - if (!psp->hdcp_context.hdcp_initialized) - return 0; + if (!psp->hdcp_context.hdcp_initialized) { + if (psp->hdcp_context.hdcp_shared_buf) + goto out; + else + return 0; + } ret = psp_hdcp_unload(psp); if (ret) @@ -1191,6 +1195,7 @@ psp->hdcp_context.hdcp_initialized = false; +out: /* free hdcp shared memory */ amdgpu_bo_free_kernel(&psp->hdcp_context.hdcp_shared_bo, &psp->hdcp_context.hdcp_shared_mc_addr, @@ -1329,8 +1334,12 @@ if (amdgpu_sriov_vf(psp->adev)) return 0; - if (!psp->dtm_context.dtm_initialized) - return 0; + if (!psp->dtm_context.dtm_initialized) { + if (psp->dtm_context.dtm_shared_buf) + goto out; + else + return 0; + } ret = psp_dtm_unload(psp); if (ret) @@ -1338,6 +1347,7 @@ psp->dtm_context.dtm_initialized = false; +out: /* free hdcp shared memory */ amdgpu_bo_free_kernel(&psp->dtm_context.dtm_shared_bo, &psp->dtm_context.dtm_shared_mc_addr, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c @@ -364,12 +364,19 @@ static ssize_t amdgpu_ras_debugfs_eeprom_write(struct file *f, const char __user *buf, size_t size, loff_t *pos) { - struct amdgpu_device *adev = (struct amdgpu_device *)file_inode(f)->i_private; + struct amdgpu_device *adev = + (struct amdgpu_device *)file_inode(f)->i_private; int ret; - ret = amdgpu_ras_eeprom_reset_table(&adev->psp.ras.ras->eeprom_control); + ret = amdgpu_ras_eeprom_reset_table( + &(amdgpu_ras_get_context(adev)->eeprom_control)); - return ret == 1 ? size : -EIO; + if (ret == 1) { + amdgpu_ras_get_context(adev)->flags = RAS_DEFAULT_FLAGS; + return size; + } else { + return -EIO; + } } static const struct file_operations amdgpu_ras_debugfs_ctrl_ops = { @@ -831,7 +838,7 @@ if (amdgpu_dpm_allow_xgmi_power_down(adev, true)) dev_warn(adev->dev, "Failed to allow XGMI power down"); - if (amdgpu_dpm_set_df_cstate(adev, DF_CSTATE_DISALLOW)) + if (amdgpu_dpm_set_df_cstate(adev, DF_CSTATE_ALLOW)) dev_warn(adev->dev, "Failed to allow df cstate"); return ret; @@ -1240,7 +1247,6 @@ if (!obj || !obj->ent) return; - debugfs_remove(obj->ent); obj->ent = NULL; put_obj(obj); } @@ -1254,7 +1260,6 @@ amdgpu_ras_debugfs_remove(adev, &obj->head); } - debugfs_remove_recursive(con->dir); con->dir = NULL; } /* debugfs end */ @@ -1914,9 +1919,8 @@ amdgpu_ras_check_supported(adev, &con->hw_supported, &con->supported); if (!con->hw_supported) { - amdgpu_ras_set_context(adev, NULL); - kfree(con); - return 0; + r = 0; + goto err_out; } con->features = 0; @@ -1927,29 +1931,31 @@ if (adev->nbio.funcs->init_ras_controller_interrupt) { r = adev->nbio.funcs->init_ras_controller_interrupt(adev); if (r) - return r; + goto err_out; } if (adev->nbio.funcs->init_ras_err_event_athub_interrupt) { r = adev->nbio.funcs->init_ras_err_event_athub_interrupt(adev); if (r) - return r; + goto err_out; } amdgpu_ras_mask &= AMDGPU_RAS_BLOCK_MASK; - if (amdgpu_ras_fs_init(adev)) - goto fs_out; + if (amdgpu_ras_fs_init(adev)) { + r = -EINVAL; + goto err_out; + } dev_info(adev->dev, "RAS INFO: ras initialized successfully, " "hardware ability[%x] ras_mask[%x]\n", con->hw_supported, con->supported); return 0; -fs_out: +err_out: amdgpu_ras_set_context(adev, NULL); kfree(con); - return -EINVAL; + return r; } /* helper function to handle common stuff in ip late init phase */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -267,7 +267,7 @@ &ring->sched; } - for (i = 0; i < DRM_SCHED_PRIORITY_MAX; ++i) + for (i = DRM_SCHED_PRIORITY_MIN; i < DRM_SCHED_PRIORITY_COUNT; ++i) atomic_set(&ring->num_jobs[i], 0); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h @@ -242,7 +242,7 @@ bool has_compute_vm_bug; bool no_scheduler; - atomic_t num_jobs[DRM_SCHED_PRIORITY_MAX]; + atomic_t num_jobs[DRM_SCHED_PRIORITY_COUNT]; struct mutex priority_mutex; /* protected by priority_mutex */ int priority; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c @@ -36,14 +36,14 @@ { switch (amdgpu_priority) { case AMDGPU_CTX_PRIORITY_VERY_HIGH: - return DRM_SCHED_PRIORITY_HIGH_HW; + return DRM_SCHED_PRIORITY_HIGH; case AMDGPU_CTX_PRIORITY_HIGH: - return DRM_SCHED_PRIORITY_HIGH_SW; + return DRM_SCHED_PRIORITY_HIGH; case AMDGPU_CTX_PRIORITY_NORMAL: return DRM_SCHED_PRIORITY_NORMAL; case AMDGPU_CTX_PRIORITY_LOW: case AMDGPU_CTX_PRIORITY_VERY_LOW: - return DRM_SCHED_PRIORITY_LOW; + return DRM_SCHED_PRIORITY_MIN; case AMDGPU_CTX_PRIORITY_UNSET: return DRM_SCHED_PRIORITY_UNSET; default: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h @@ -21,7 +21,7 @@ * */ -#if !defined(_AMDGPU_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) +#if !defined(_AMDGPU_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) #define _AMDGPU_TRACE_H_ #include --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -1052,6 +1052,7 @@ release_sg: kfree(ttm->sg); + ttm->sg = NULL; return r; } @@ -2064,7 +2065,7 @@ ring = adev->mman.buffer_funcs_ring; sched = &ring->sched; r = drm_sched_entity_init(&adev->mman.entity, - DRM_SCHED_PRIORITY_KERNEL, &sched, + DRM_SCHED_PRIORITY_KERNEL, &sched, 1, NULL); if (r) { DRM_ERROR("Failed setting up TTM BO move entity (%d)\n", --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c @@ -46,11 +46,9 @@ MODULE_FIRMWARE(FIRMWARE_RAVEN); MODULE_FIRMWARE(FIRMWARE_PICASSO); MODULE_FIRMWARE(FIRMWARE_RAVEN2); -MODULE_FIRMWARE(FIRMWARE_ARCTURUS); MODULE_FIRMWARE(FIRMWARE_RENOIR); MODULE_FIRMWARE(FIRMWARE_NAVI10); MODULE_FIRMWARE(FIRMWARE_NAVI14); -MODULE_FIRMWARE(FIRMWARE_NAVI12); static void amdgpu_vcn_idle_work_handler(struct work_struct *work); @@ -64,6 +62,7 @@ INIT_DELAYED_WORK(&adev->vcn.idle_work, amdgpu_vcn_idle_work_handler); mutex_init(&adev->vcn.vcn_pg_lock); + mutex_init(&adev->vcn.vcn1_jpeg1_workaround); atomic_set(&adev->vcn.total_submission_cnt, 0); for (i = 0; i < adev->vcn.num_vcn_inst; i++) atomic_set(&adev->vcn.inst[i].dpg_enc_submission_cnt, 0); @@ -231,6 +230,7 @@ } release_firmware(adev->vcn.fw); + mutex_destroy(&adev->vcn.vcn1_jpeg1_workaround); mutex_destroy(&adev->vcn.vcn_pg_lock); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h @@ -209,6 +209,7 @@ struct amdgpu_vcn_inst inst[AMDGPU_MAX_VCN_INSTANCES]; struct amdgpu_vcn_reg internal; struct mutex vcn_pg_lock; + struct mutex vcn1_jpeg1_workaround; atomic_t total_submission_cnt; unsigned harvest_config; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -2201,8 +2201,8 @@ uint64_t eaddr; /* validate the parameters */ - if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK || - size == 0 || size & AMDGPU_GPU_PAGE_MASK) + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || + size == 0 || size & ~PAGE_MASK) return -EINVAL; /* make sure object fit at this offset */ @@ -2266,8 +2266,8 @@ int r; /* validate the parameters */ - if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK || - size == 0 || size & AMDGPU_GPU_PAGE_MASK) + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || + size == 0 || size & ~PAGE_MASK) return -EINVAL; /* make sure object fit at this offset */ @@ -2411,7 +2411,7 @@ after->start = eaddr + 1; after->last = tmp->last; after->offset = tmp->offset; - after->offset += after->start - tmp->start; + after->offset += (after->start - tmp->start) << PAGE_SHIFT; after->flags = tmp->flags; after->bo_va = tmp->bo_va; list_add(&after->list, &tmp->bo_va->invalids); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h @@ -112,8 +112,8 @@ #define AMDGPU_MMHUB_0 1 #define AMDGPU_MMHUB_1 2 -/* hardcode that limit for now */ -#define AMDGPU_VA_RESERVED_SIZE (1ULL << 20) +/* Reserve 2MB at top/bottom of address space for kernel use */ +#define AMDGPU_VA_RESERVED_SIZE (2ULL << 20) /* max vmids dedicated for process */ #define AMDGPU_VM_MAX_RESERVED_VMID 1 --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c @@ -465,7 +465,7 @@ unsigned int pages; int i, r; - *sgt = kmalloc(sizeof(*sg), GFP_KERNEL); + *sgt = kmalloc(sizeof(**sgt), GFP_KERNEL); if (!*sgt) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/cik_sdma.c @@ -1071,22 +1071,19 @@ { u32 srbm_soft_reset = 0; struct amdgpu_device *adev = (struct amdgpu_device *)handle; - u32 tmp = RREG32(mmSRBM_STATUS2); + u32 tmp; - if (tmp & SRBM_STATUS2__SDMA_BUSY_MASK) { - /* sdma0 */ - tmp = RREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET); - tmp |= SDMA0_F32_CNTL__HALT_MASK; - WREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET, tmp); - srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA_MASK; - } - if (tmp & SRBM_STATUS2__SDMA1_BUSY_MASK) { - /* sdma1 */ - tmp = RREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET); - tmp |= SDMA0_F32_CNTL__HALT_MASK; - WREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET, tmp); - srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA1_MASK; - } + /* sdma0 */ + tmp = RREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET); + tmp |= SDMA0_F32_CNTL__HALT_MASK; + WREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET, tmp); + srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA_MASK; + + /* sdma1 */ + tmp = RREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET); + tmp |= SDMA0_F32_CNTL__HALT_MASK; + WREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET, tmp); + srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA1_MASK; if (srbm_soft_reset) { tmp = RREG32(mmSRBM_SOFT_RESET); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/cz_ih.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/cz_ih.c @@ -193,19 +193,30 @@ wptr = le32_to_cpu(*ih->wptr_cpu); - if (REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) { - wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); - /* When a ring buffer overflow happen start parsing interrupt - * from the last not overwritten vector (wptr + 16). Hopefully - * this should allow us to catchup. - */ - dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", - wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); - ih->rptr = (wptr + 16) & ih->ptr_mask; - tmp = RREG32(mmIH_RB_CNTL); - tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); - WREG32(mmIH_RB_CNTL, tmp); - } + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + /* Double check that the overflow wasn't already cleared. */ + wptr = RREG32(mmIH_RB_WPTR); + + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); + + /* When a ring buffer overflow happen start parsing interrupt + * from the last not overwritten vector (wptr + 16). Hopefully + * this should allow us to catchup. + */ + dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", + wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); + ih->rptr = (wptr + 16) & ih->ptr_mask; + tmp = RREG32(mmIH_RB_CNTL); + tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); + WREG32(mmIH_RB_CNTL, tmp); + + +out: return (wptr & ih->ptr_mask); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -4076,7 +4076,8 @@ irq_type = AMDGPU_CP_IRQ_COMPUTE_MEC1_PIPE0_EOP + ((ring->me - 1) * adev->gfx.mec.num_pipe_per_mec) + ring->pipe; - hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue) ? + hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->pipe, + ring->queue) ? AMDGPU_GFX_PIPE_PRIO_HIGH : AMDGPU_GFX_PIPE_PRIO_NORMAL; /* type-2 packets are deprecated on MEC, use type-3 instead */ r = amdgpu_ring_init(adev, ring, 1024, @@ -6007,7 +6008,8 @@ struct amdgpu_device *adev = ring->adev; if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) { - if (amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue)) { + if (amdgpu_gfx_is_high_priority_compute_queue(adev, ring->pipe, + ring->queue)) { mqd->cp_hqd_pipe_priority = AMDGPU_GFX_PIPE_PRIO_HIGH; mqd->cp_hqd_queue_priority = AMDGPU_GFX_QUEUE_PRIORITY_MAXIMUM; @@ -6854,10 +6856,8 @@ def = data = RREG32_SOC15(GC, 0, mmRLC_CGTT_MGCG_OVERRIDE); data &= ~(RLC_CGTT_MGCG_OVERRIDE__GRBM_CGTT_SCLK_OVERRIDE_MASK | RLC_CGTT_MGCG_OVERRIDE__GFXIP_MGCG_OVERRIDE_MASK | - RLC_CGTT_MGCG_OVERRIDE__GFXIP_MGLS_OVERRIDE_MASK); - - /* only for Vega10 & Raven1 */ - data |= RLC_CGTT_MGCG_OVERRIDE__RLC_CGTT_SCLK_OVERRIDE_MASK; + RLC_CGTT_MGCG_OVERRIDE__GFXIP_MGLS_OVERRIDE_MASK | + RLC_CGTT_MGCG_OVERRIDE__ENABLE_CGTS_LEGACY_MASK); if (def != data) WREG32_SOC15(GC, 0, mmRLC_CGTT_MGCG_OVERRIDE, data); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -1914,7 +1914,8 @@ + ((ring->me - 1) * adev->gfx.mec.num_pipe_per_mec) + ring->pipe; - hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue) ? + hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->pipe, + ring->queue) ? AMDGPU_GFX_PIPE_PRIO_HIGH : AMDGPU_RING_PRIO_DEFAULT; /* type-2 packets are deprecated on MEC, use type-3 instead */ r = amdgpu_ring_init(adev, ring, 1024, @@ -4434,7 +4435,8 @@ struct amdgpu_device *adev = ring->adev; if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) { - if (amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue)) { + if (amdgpu_gfx_is_high_priority_compute_queue(adev, ring->pipe, + ring->queue)) { mqd->cp_hqd_pipe_priority = AMDGPU_GFX_PIPE_PRIO_HIGH; mqd->cp_hqd_queue_priority = AMDGPU_GFX_QUEUE_PRIORITY_MAXIMUM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -2216,7 +2216,8 @@ irq_type = AMDGPU_CP_IRQ_COMPUTE_MEC1_PIPE0_EOP + ((ring->me - 1) * adev->gfx.mec.num_pipe_per_mec) + ring->pipe; - hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue) ? + hw_prio = amdgpu_gfx_is_high_priority_compute_queue(adev, ring->pipe, + ring->queue) ? AMDGPU_GFX_PIPE_PRIO_HIGH : AMDGPU_GFX_PIPE_PRIO_NORMAL; /* type-2 packets are deprecated on MEC, use type-3 instead */ r = amdgpu_ring_init(adev, ring, 1024, @@ -3377,7 +3378,9 @@ struct amdgpu_device *adev = ring->adev; if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE) { - if (amdgpu_gfx_is_high_priority_compute_queue(adev, ring->queue)) { + if (amdgpu_gfx_is_high_priority_compute_queue(adev, + ring->pipe, + ring->queue)) { mqd->cp_hqd_pipe_priority = AMDGPU_GFX_PIPE_PRIO_HIGH; mqd->cp_hqd_queue_priority = AMDGPU_GFX_QUEUE_PRIORITY_MAXIMUM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/iceland_ih.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/iceland_ih.c @@ -193,19 +193,29 @@ wptr = le32_to_cpu(*ih->wptr_cpu); - if (REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) { - wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); - /* When a ring buffer overflow happen start parsing interrupt - * from the last not overwritten vector (wptr + 16). Hopefully - * this should allow us to catchup. - */ - dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", - wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); - ih->rptr = (wptr + 16) & ih->ptr_mask; - tmp = RREG32(mmIH_RB_CNTL); - tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); - WREG32(mmIH_RB_CNTL, tmp); - } + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + /* Double check that the overflow wasn't already cleared. */ + wptr = RREG32(mmIH_RB_WPTR); + + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); + /* When a ring buffer overflow happen start parsing interrupt + * from the last not overwritten vector (wptr + 16). Hopefully + * this should allow us to catchup. + */ + dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", + wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); + ih->rptr = (wptr + 16) & ih->ptr_mask; + tmp = RREG32(mmIH_RB_CNTL); + tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); + WREG32(mmIH_RB_CNTL, tmp); + + +out: return (wptr & ih->ptr_mask); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c @@ -32,6 +32,7 @@ static void jpeg_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev); static void jpeg_v1_0_set_irq_funcs(struct amdgpu_device *adev); +static void jpeg_v1_0_ring_begin_use(struct amdgpu_ring *ring); static void jpeg_v1_0_decode_ring_patch_wreg(struct amdgpu_ring *ring, uint32_t *ptr, uint32_t reg_offset, uint32_t val) { @@ -563,8 +564,8 @@ .insert_start = jpeg_v1_0_decode_ring_insert_start, .insert_end = jpeg_v1_0_decode_ring_insert_end, .pad_ib = amdgpu_ring_generic_pad_ib, - .begin_use = vcn_v1_0_ring_begin_use, - .end_use = amdgpu_vcn_ring_end_use, + .begin_use = jpeg_v1_0_ring_begin_use, + .end_use = vcn_v1_0_ring_end_use, .emit_wreg = jpeg_v1_0_decode_ring_emit_wreg, .emit_reg_wait = jpeg_v1_0_decode_ring_emit_reg_wait, .emit_reg_write_reg_wait = amdgpu_ring_emit_reg_write_reg_wait_helper, @@ -585,3 +586,22 @@ { adev->jpeg.inst->irq.funcs = &jpeg_v1_0_irq_funcs; } + +static void jpeg_v1_0_ring_begin_use(struct amdgpu_ring *ring) +{ + struct amdgpu_device *adev = ring->adev; + bool set_clocks = !cancel_delayed_work_sync(&adev->vcn.idle_work); + int cnt = 0; + + mutex_lock(&adev->vcn.vcn1_jpeg1_workaround); + + if (amdgpu_fence_wait_empty(&adev->vcn.inst->ring_dec)) + DRM_ERROR("JPEG dec: vcn dec ring may not be empty\n"); + + for (cnt = 0; cnt < adev->vcn.num_enc_rings; cnt++) { + if (amdgpu_fence_wait_empty(&adev->vcn.inst->ring_enc[cnt])) + DRM_ERROR("JPEG dec: vcn enc ring[%d] may not be empty\n", cnt); + } + + vcn_v1_0_set_pg_for_begin_use(ring, set_clocks); +} --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c @@ -462,7 +462,7 @@ return ret; } - return ret; + return 0; } static int jpeg_v2_5_set_clockgating_state(void *handle, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/nv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/nv.c @@ -449,6 +449,14 @@ return 0; } +static bool nv_is_blockchain_sku(struct pci_dev *pdev) +{ + if (pdev->device == 0x731E && + (pdev->revision == 0xC6 || pdev->revision == 0xC7)) + return true; + return false; +} + int nv_set_ip_blocks(struct amdgpu_device *adev) { int r; @@ -480,7 +488,8 @@ if (adev->enable_virtual_display || amdgpu_sriov_vf(adev)) amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); #if defined(CONFIG_DRM_AMD_DC) - else if (amdgpu_device_has_dc_support(adev)) + else if (amdgpu_device_has_dc_support(adev) && + !nv_is_blockchain_sku(adev->pdev)) amdgpu_device_ip_block_add(adev, &dm_ip_block); #endif amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block); @@ -488,7 +497,8 @@ if (adev->firmware.load_type == AMDGPU_FW_LOAD_DIRECT && !amdgpu_sriov_vf(adev)) amdgpu_device_ip_block_add(adev, &smu_v11_0_ip_block); - amdgpu_device_ip_block_add(adev, &vcn_v2_0_ip_block); + if (!nv_is_blockchain_sku(adev->pdev)) + amdgpu_device_ip_block_add(adev, &vcn_v2_0_ip_block); amdgpu_device_ip_block_add(adev, &jpeg_v2_0_ip_block); if (adev->enable_mes) amdgpu_device_ip_block_add(adev, &mes_v10_1_ip_block); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h @@ -47,7 +47,7 @@ GFX_CTRL_CMD_ID_DISABLE_INT = 0x00060000, /* disable PSP-to-Gfx interrupt */ GFX_CTRL_CMD_ID_MODE1_RST = 0x00070000, /* trigger the Mode 1 reset */ GFX_CTRL_CMD_ID_GBR_IH_SET = 0x00080000, /* set Gbr IH_RB_CNTL registers */ - GFX_CTRL_CMD_ID_CONSUME_CMD = 0x000A0000, /* send interrupt to psp for updating write pointer of vf */ + GFX_CTRL_CMD_ID_CONSUME_CMD = 0x00090000, /* send interrupt to psp for updating write pointer of vf */ GFX_CTRL_CMD_ID_DESTROY_GPCOM_RING = 0x000C0000, /* destroy GPCOM ring */ GFX_CTRL_CMD_ID_MAX = 0x000F0000, /* max command ID */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/soc15.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/soc15.c @@ -281,6 +281,8 @@ { u32 reference_clock = adev->clock.spll.reference_freq; + if (adev->asic_type == CHIP_RENOIR) + return 10000; if (adev->asic_type == CHIP_RAVEN) return reference_clock / 4; @@ -1230,7 +1232,16 @@ break; case CHIP_RENOIR: adev->asic_funcs = &soc15_asic_funcs; - adev->apu_flags |= AMD_APU_IS_RENOIR; + if ((adev->pdev->device == 0x1636) || + (adev->pdev->device == 0x164c)) + adev->apu_flags |= AMD_APU_IS_RENOIR; + else + adev->apu_flags |= AMD_APU_IS_GREEN_SARDINE; + + if (adev->apu_flags & AMD_APU_IS_RENOIR) + adev->external_rev_id = adev->rev_id + 0x91; + else + adev->external_rev_id = adev->rev_id + 0xa1; adev->cg_flags = AMD_CG_SUPPORT_GFX_MGCG | AMD_CG_SUPPORT_GFX_MGLS | AMD_CG_SUPPORT_GFX_3D_CGCG | @@ -1255,7 +1266,6 @@ AMD_PG_SUPPORT_VCN | AMD_PG_SUPPORT_JPEG | AMD_PG_SUPPORT_VCN_DPG; - adev->external_rev_id = adev->rev_id + 0x91; break; default: /* FIXME: not supported yet */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/tonga_ih.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/tonga_ih.c @@ -195,19 +195,30 @@ wptr = le32_to_cpu(*ih->wptr_cpu); - if (REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) { - wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); - /* When a ring buffer overflow happen start parsing interrupt - * from the last not overwritten vector (wptr + 16). Hopefully - * this should allow us to catchup. - */ - dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", - wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); - ih->rptr = (wptr + 16) & ih->ptr_mask; - tmp = RREG32(mmIH_RB_CNTL); - tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); - WREG32(mmIH_RB_CNTL, tmp); - } + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + /* Double check that the overflow wasn't already cleared. */ + wptr = RREG32(mmIH_RB_WPTR); + + if (!REG_GET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW)) + goto out; + + wptr = REG_SET_FIELD(wptr, IH_RB_WPTR, RB_OVERFLOW, 0); + + /* When a ring buffer overflow happen start parsing interrupt + * from the last not overwritten vector (wptr + 16). Hopefully + * this should allow us to catchup. + */ + + dev_warn(adev->dev, "IH ring buffer overflow (0x%08X, 0x%08X, 0x%08X)\n", + wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); + ih->rptr = (wptr + 16) & ih->ptr_mask; + tmp = RREG32(mmIH_RB_CNTL); + tmp = REG_SET_FIELD(tmp, IH_RB_CNTL, WPTR_OVERFLOW_CLEAR, 1); + WREG32(mmIH_RB_CNTL, tmp); + +out: return (wptr & ih->ptr_mask); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c @@ -38,6 +38,7 @@ #include "ivsrcid/vcn/irqsrcs_vcn_1_0.h" #include "jpeg_v1_0.h" +#include "vcn_v1_0.h" #define mmUVD_RBC_XX_IB_REG_CHECK_1_0 0x05ab #define mmUVD_RBC_XX_IB_REG_CHECK_1_0_BASE_IDX 1 @@ -53,6 +54,7 @@ int inst_idx, struct dpg_pause_state *new_state); static void vcn_v1_0_idle_work_handler(struct work_struct *work); +static void vcn_v1_0_ring_begin_use(struct amdgpu_ring *ring); /** * vcn_v1_0_early_init - set function pointers @@ -1805,11 +1807,24 @@ } } -void vcn_v1_0_ring_begin_use(struct amdgpu_ring *ring) +static void vcn_v1_0_ring_begin_use(struct amdgpu_ring *ring) { - struct amdgpu_device *adev = ring->adev; + struct amdgpu_device *adev = ring->adev; bool set_clocks = !cancel_delayed_work_sync(&adev->vcn.idle_work); + mutex_lock(&adev->vcn.vcn1_jpeg1_workaround); + + if (amdgpu_fence_wait_empty(&ring->adev->jpeg.inst->ring_dec)) + DRM_ERROR("VCN dec: jpeg dec ring may not be empty\n"); + + vcn_v1_0_set_pg_for_begin_use(ring, set_clocks); + +} + +void vcn_v1_0_set_pg_for_begin_use(struct amdgpu_ring *ring, bool set_clocks) +{ + struct amdgpu_device *adev = ring->adev; + if (set_clocks) { amdgpu_gfx_off_ctrl(adev, false); if (adev->pm.dpm_enabled) @@ -1845,6 +1860,12 @@ } } +void vcn_v1_0_ring_end_use(struct amdgpu_ring *ring) +{ + schedule_delayed_work(&ring->adev->vcn.idle_work, VCN_IDLE_TIMEOUT); + mutex_unlock(&ring->adev->vcn.vcn1_jpeg1_workaround); +} + static const struct amd_ip_funcs vcn_v1_0_ip_funcs = { .name = "vcn_v1_0", .early_init = vcn_v1_0_early_init, @@ -1892,7 +1913,7 @@ .insert_end = vcn_v1_0_dec_ring_insert_end, .pad_ib = amdgpu_ring_generic_pad_ib, .begin_use = vcn_v1_0_ring_begin_use, - .end_use = amdgpu_vcn_ring_end_use, + .end_use = vcn_v1_0_ring_end_use, .emit_wreg = vcn_v1_0_dec_ring_emit_wreg, .emit_reg_wait = vcn_v1_0_dec_ring_emit_reg_wait, .emit_reg_write_reg_wait = amdgpu_ring_emit_reg_write_reg_wait_helper, @@ -1924,7 +1945,7 @@ .insert_end = vcn_v1_0_enc_ring_insert_end, .pad_ib = amdgpu_ring_generic_pad_ib, .begin_use = vcn_v1_0_ring_begin_use, - .end_use = amdgpu_vcn_ring_end_use, + .end_use = vcn_v1_0_ring_end_use, .emit_wreg = vcn_v1_0_enc_ring_emit_wreg, .emit_reg_wait = vcn_v1_0_enc_ring_emit_reg_wait, .emit_reg_write_reg_wait = amdgpu_ring_emit_reg_write_reg_wait_helper, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.h @@ -24,7 +24,8 @@ #ifndef __VCN_V1_0_H__ #define __VCN_V1_0_H__ -void vcn_v1_0_ring_begin_use(struct amdgpu_ring *ring); +void vcn_v1_0_ring_end_use(struct amdgpu_ring *ring); +void vcn_v1_0_set_pg_for_begin_use(struct amdgpu_ring *ring, bool set_clocks); extern const struct amdgpu_ip_block_version vcn_v1_0_ip_block; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -1728,6 +1728,7 @@ } mutex_unlock(&p->mutex); + dma_buf_put(dmabuf); args->handle = MAKE_HANDLE(args->gpu_id, idr_handle); @@ -1737,6 +1738,7 @@ amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, (struct kgd_mem *)mem, NULL); err_unlock: mutex_unlock(&p->mutex); + dma_buf_put(dmabuf); return r; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_crat.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_crat.c @@ -756,6 +756,7 @@ struct acpi_table_header *crat_table; acpi_status status; void *pcrat_image; + int rc = 0; if (!crat_image) return -EINVAL; @@ -780,13 +781,16 @@ } pcrat_image = kmemdup(crat_table, crat_table->length, GFP_KERNEL); - if (!pcrat_image) - return -ENOMEM; + if (!pcrat_image) { + rc = -ENOMEM; + goto out; + } *crat_image = pcrat_image; *size = crat_table->length; - - return 0; +out: + acpi_put_table(crat_table); + return rc; } /* Memory required to create Virtual CRAT. @@ -970,6 +974,7 @@ CRAT_OEMID_LENGTH); memcpy(crat_table->oem_table_id, acpi_table->oem_table_id, CRAT_OEMTABLEID_LENGTH); + acpi_put_table(acpi_table); } crat_table->total_entries = 0; crat_table->num_domains = 0; @@ -1011,11 +1016,14 @@ (struct crat_subtype_iolink *)sub_type_hdr); if (ret < 0) return ret; - crat_table->length += (sub_type_hdr->length * entries); - crat_table->total_entries += entries; - sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + - sub_type_hdr->length * entries); + if (entries) { + crat_table->length += (sub_type_hdr->length * entries); + crat_table->total_entries += entries; + + sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + + sub_type_hdr->length * entries); + } #else pr_info("IO link not available for non x86 platforms\n"); #endif --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c @@ -155,7 +155,7 @@ /* Wait till CP writes sync code: */ status = amdkfd_fence_wait_timeout( - (unsigned int *) rm_state, + rm_state, QUEUESTATE__ACTIVE, 1500); kfd_gtt_sa_free(dbgdev->dev, mem_obj); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1145,7 +1145,7 @@ if (retval) goto fail_allocate_vidmem; - dqm->fence_addr = dqm->fence_mem->cpu_ptr; + dqm->fence_addr = (uint64_t *)dqm->fence_mem->cpu_ptr; dqm->fence_gpu_addr = dqm->fence_mem->gpu_addr; init_interrupts(dqm); @@ -1177,6 +1177,8 @@ dqm->sched_running = false; dqm_unlock(dqm); + pm_release_ib(&dqm->packets); + kfd_gtt_sa_free(dqm->dev, dqm->fence_mem); pm_uninit(&dqm->packets, hanging); @@ -1287,7 +1289,7 @@ if (q->properties.is_active) { increment_queue_count(dqm, q->properties.type); - retval = execute_queues_cpsch(dqm, + execute_queues_cpsch(dqm, KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES, 0); } @@ -1316,8 +1318,8 @@ return retval; } -int amdkfd_fence_wait_timeout(unsigned int *fence_addr, - unsigned int fence_value, +int amdkfd_fence_wait_timeout(uint64_t *fence_addr, + uint64_t fence_value, unsigned int timeout_ms) { unsigned long end_jiffies = msecs_to_jiffies(timeout_ms) + jiffies; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h @@ -192,7 +192,7 @@ uint16_t vmid_pasid[VMID_NUM]; uint64_t pipelines_addr; uint64_t fence_gpu_addr; - unsigned int *fence_addr; + uint64_t *fence_addr; struct kfd_mem_obj *fence_mem; bool active_runlist; int sched_policy; @@ -243,11 +243,11 @@ static inline void dqm_lock(struct device_queue_manager *dqm) { mutex_lock(&dqm->lock_hidden); - dqm->saved_flags = memalloc_nofs_save(); + dqm->saved_flags = memalloc_noreclaim_save(); } static inline void dqm_unlock(struct device_queue_manager *dqm) { - memalloc_nofs_restore(dqm->saved_flags); + memalloc_noreclaim_restore(dqm->saved_flags); mutex_unlock(&dqm->lock_hidden); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v10.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v10.c @@ -58,8 +58,9 @@ /* check if sh_mem_config register already configured */ if (qpd->sh_mem_config == 0) { qpd->sh_mem_config = - SH_MEM_ALIGNMENT_MODE_UNALIGNED << - SH_MEM_CONFIG__ALIGNMENT_MODE__SHIFT; + (SH_MEM_ALIGNMENT_MODE_UNALIGNED << + SH_MEM_CONFIG__ALIGNMENT_MODE__SHIFT) | + (3 << SH_MEM_CONFIG__INITIAL_INST_PREFETCH__SHIFT); #if 0 /* TODO: * This shouldn't be an issue with Navi10. Verify. --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c @@ -343,7 +343,7 @@ } int pm_send_query_status(struct packet_manager *pm, uint64_t fence_address, - uint32_t fence_value) + uint64_t fence_value) { uint32_t *buffer, size; int retval = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c @@ -283,7 +283,7 @@ } static int pm_query_status_v9(struct packet_manager *pm, uint32_t *buffer, - uint64_t fence_address, uint32_t fence_value) + uint64_t fence_address, uint64_t fence_value) { struct pm4_mes_query_status *packet; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_vi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_vi.c @@ -263,7 +263,7 @@ } static int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer, - uint64_t fence_address, uint32_t fence_value) + uint64_t fence_address, uint64_t fence_value) { struct pm4_mes_query_status *packet; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -953,8 +953,8 @@ u32 *ctl_stack_used_size, u32 *save_area_used_size); -int amdkfd_fence_wait_timeout(unsigned int *fence_addr, - unsigned int fence_value, +int amdkfd_fence_wait_timeout(uint64_t *fence_addr, + uint64_t fence_value, unsigned int timeout_ms); /* Packet Manager */ @@ -990,7 +990,7 @@ uint32_t filter_param, bool reset, unsigned int sdma_engine); int (*query_status)(struct packet_manager *pm, uint32_t *buffer, - uint64_t fence_address, uint32_t fence_value); + uint64_t fence_address, uint64_t fence_value); int (*release_mem)(uint64_t gpu_addr, uint32_t *buffer); /* Packet sizes */ @@ -1012,7 +1012,7 @@ struct scheduling_resources *res); int pm_send_runlist(struct packet_manager *pm, struct list_head *dqm_queues); int pm_send_query_status(struct packet_manager *pm, uint64_t fence_address, - uint32_t fence_value); + uint64_t fence_value); int pm_send_unmap_queue(struct packet_manager *pm, enum kfd_queue_type type, enum kfd_unmap_queues_filter mode, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_process.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_process.c @@ -1003,8 +1003,10 @@ */ if (!pdd->runtime_inuse) { err = pm_runtime_get_sync(dev->ddev->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_autosuspend(dev->ddev->dev); return ERR_PTR(err); + } } err = kfd_iommu_bind_process_to_device(pdd); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_topology.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/amdkfd/kfd_topology.c @@ -632,8 +632,10 @@ ret = kobject_init_and_add(dev->kobj_node, &node_type, sys_props.kobj_nodes, "%d", id); - if (ret < 0) + if (ret < 0) { + kobject_put(dev->kobj_node); return ret; + } dev->kobj_mem = kobject_create_and_add("mem_banks", dev->kobj_node); if (!dev->kobj_mem) @@ -680,8 +682,10 @@ return -ENOMEM; ret = kobject_init_and_add(mem->kobj, &mem_type, dev->kobj_mem, "%d", i); - if (ret < 0) + if (ret < 0) { + kobject_put(mem->kobj); return ret; + } mem->attr.name = "properties"; mem->attr.mode = KFD_SYSFS_FILE_MODE; @@ -699,8 +703,10 @@ return -ENOMEM; ret = kobject_init_and_add(cache->kobj, &cache_type, dev->kobj_cache, "%d", i); - if (ret < 0) + if (ret < 0) { + kobject_put(cache->kobj); return ret; + } cache->attr.name = "properties"; cache->attr.mode = KFD_SYSFS_FILE_MODE; @@ -718,8 +724,10 @@ return -ENOMEM; ret = kobject_init_and_add(iolink->kobj, &iolink_type, dev->kobj_iolink, "%d", i); - if (ret < 0) + if (ret < 0) { + kobject_put(iolink->kobj); return ret; + } iolink->attr.name = "properties"; iolink->attr.mode = KFD_SYSFS_FILE_MODE; @@ -798,8 +806,10 @@ ret = kobject_init_and_add(sys_props.kobj_topology, &sysprops_type, &kfd_device->kobj, "topology"); - if (ret < 0) + if (ret < 0) { + kobject_put(sys_props.kobj_topology); return ret; + } sys_props.kobj_nodes = kobject_create_and_add("nodes", sys_props.kobj_topology); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -954,7 +954,7 @@ amdgpu_dm_init_color_mod(); #ifdef CONFIG_DRM_AMD_DC_HDCP - if (adev->asic_type >= CHIP_RAVEN) { + if (adev->dm.dc->caps.max_links > 0 && adev->asic_type >= CHIP_RAVEN) { adev->dm.hdcp_workqueue = hdcp_create_workqueue(adev, &init_params.cp_psp, adev->dm.dc); if (!adev->dm.hdcp_workqueue) @@ -971,9 +971,6 @@ goto error; } - /* Update the actual used number of crtc */ - adev->mode_info.num_crtc = adev->dm.display_indexes_num; - /* create fake encoders for MST */ dm_dp_create_fake_mst_encoders(adev); @@ -1012,7 +1009,7 @@ #ifdef CONFIG_DRM_AMD_DC_HDCP if (adev->dm.hdcp_workqueue) { - hdcp_destroy(adev->dm.hdcp_workqueue); + hdcp_destroy(&adev->dev->kobj, adev->dm.hdcp_workqueue); adev->dm.hdcp_workqueue = NULL; } @@ -1697,8 +1694,8 @@ link->type = dc_connection_none; prev_sink = link->local_sink; - if (prev_sink != NULL) - dc_sink_retain(prev_sink); + if (prev_sink) + dc_sink_release(prev_sink); switch (link->connector_signal) { case SIGNAL_TYPE_HDMI_TYPE_A: { @@ -2045,6 +2042,11 @@ caps->ext_caps->bits.hdr_aux_backlight_control == 1) caps->aux_support = true; + if (amdgpu_backlight == 0) + caps->aux_support = false; + 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) @@ -2167,8 +2169,10 @@ * TODO: check if we still need the S3 mode update workaround. * If yes, put it here. */ - if (aconnector->dc_sink) + if (aconnector->dc_sink) { amdgpu_dm_update_freesync_caps(connector, NULL); + dc_sink_release(aconnector->dc_sink); + } aconnector->dc_sink = sink; dc_sink_retain(aconnector->dc_sink); @@ -2184,7 +2188,6 @@ drm_connector_update_edid_property(connector, aconnector->edid); - if (aconnector->dc_link->aux_mode) drm_dp_cec_set_edid(&aconnector->dm_dp_aux.aux, aconnector->edid); @@ -2821,12 +2824,18 @@ &dm_atomic_state_funcs); r = amdgpu_display_modeset_create_props(adev); - if (r) + if (r) { + dc_release_state(state->context); + kfree(state); return r; + } r = amdgpu_dm_audio_init(adev); - if (r) + if (r) { + dc_release_state(state->context); + kfree(state); return r; + } return 0; } @@ -2843,6 +2852,8 @@ #if defined(CONFIG_ACPI) struct amdgpu_dm_backlight_caps caps; + memset(&caps, 0, sizeof(caps)); + if (dm->backlight_caps.caps_valid) return; @@ -2868,64 +2879,50 @@ #endif } -static int set_backlight_via_aux(struct dc_link *link, uint32_t brightness) +static int get_brightness_range(const struct amdgpu_dm_backlight_caps *caps, + unsigned *min, unsigned *max) { - bool rc; - - if (!link) - return 1; - - rc = dc_link_set_backlight_level_nits(link, true, brightness, - AUX_BL_DEFAULT_TRANSITION_TIME_MS); + if (!caps) + return 0; - return rc ? 0 : 1; + if (caps->aux_support) { + // Firmware limits are in nits, DC API wants millinits. + *max = 1000 * caps->aux_max_input_signal; + *min = 1000 * caps->aux_min_input_signal; + } else { + // Firmware limits are 8-bit, PWM control is 16-bit. + *max = 0x101 * caps->max_input_signal; + *min = 0x101 * caps->min_input_signal; + } + return 1; } -static u32 convert_brightness(const struct amdgpu_dm_backlight_caps *caps, - const uint32_t user_brightness) +static u32 convert_brightness_from_user(const struct amdgpu_dm_backlight_caps *caps, + uint32_t brightness) { - u32 min, max, conversion_pace; - u32 brightness = user_brightness; + unsigned min, max; - if (!caps) - goto out; + if (!get_brightness_range(caps, &min, &max)) + return brightness; - if (!caps->aux_support) { - max = caps->max_input_signal; - min = caps->min_input_signal; - /* - * The brightness input is in the range 0-255 - * It needs to be rescaled to be between the - * requested min and max input signal - * It also needs to be scaled up by 0x101 to - * match the DC interface which has a range of - * 0 to 0xffff - */ - conversion_pace = 0x101; - brightness = - user_brightness - * conversion_pace - * (max - min) - / AMDGPU_MAX_BL_LEVEL - + min * conversion_pace; - } else { - /* TODO - * We are doing a linear interpolation here, which is OK but - * does not provide the optimal result. We probably want - * something close to the Perceptual Quantizer (PQ) curve. - */ - max = caps->aux_max_input_signal; - min = caps->aux_min_input_signal; + // Rescale 0..255 to min..max + return min + DIV_ROUND_CLOSEST((max - min) * brightness, + AMDGPU_MAX_BL_LEVEL); +} - brightness = (AMDGPU_MAX_BL_LEVEL - user_brightness) * min - + user_brightness * max; - // Multiple the value by 1000 since we use millinits - brightness *= 1000; - brightness = DIV_ROUND_CLOSEST(brightness, AMDGPU_MAX_BL_LEVEL); - } +static u32 convert_brightness_to_user(const struct amdgpu_dm_backlight_caps *caps, + uint32_t brightness) +{ + unsigned min, max; -out: - return brightness; + if (!get_brightness_range(caps, &min, &max)) + return brightness; + + if (brightness < min) + return 0; + // Rescale min..max to 0..255 + return DIV_ROUND_CLOSEST(AMDGPU_MAX_BL_LEVEL * (brightness - min), + max - min); } static int amdgpu_dm_backlight_update_status(struct backlight_device *bd) @@ -2941,12 +2938,13 @@ link = (struct dc_link *)dm->backlight_link; - brightness = convert_brightness(&caps, bd->props.brightness); + brightness = convert_brightness_from_user(&caps, bd->props.brightness); // Change brightness based on AUX property if (caps.aux_support) - return set_backlight_via_aux(link, brightness); - - rc = dc_link_set_backlight_level(dm->backlight_link, brightness, 0); + rc = dc_link_set_backlight_level_nits(link, true, brightness, + AUX_BL_DEFAULT_TRANSITION_TIME_MS); + else + rc = dc_link_set_backlight_level(dm->backlight_link, brightness, 0); return rc ? 0 : 1; } @@ -2954,11 +2952,27 @@ static int amdgpu_dm_backlight_get_brightness(struct backlight_device *bd) { struct amdgpu_display_manager *dm = bl_get_data(bd); - int ret = dc_link_get_backlight_level(dm->backlight_link); + struct amdgpu_dm_backlight_caps caps; - if (ret == DC_ERROR_UNEXPECTED) - return bd->props.brightness; - return ret; + amdgpu_dm_update_backlight_caps(dm); + caps = dm->backlight_caps; + + if (caps.aux_support) { + struct dc_link *link = (struct dc_link *)dm->backlight_link; + u32 avg, peak; + bool rc; + + rc = dc_link_get_backlight_level_nits(link, &avg, &peak); + if (!rc) + return bd->props.brightness; + return convert_brightness_to_user(&caps, avg); + } else { + int ret = dc_link_get_backlight_level(dm->backlight_link); + + if (ret == DC_ERROR_UNEXPECTED) + return bd->props.brightness; + return convert_brightness_to_user(&caps, ret); + } } static const struct backlight_ops amdgpu_dm_backlight_ops = { @@ -3079,6 +3093,10 @@ enum dc_connection_type new_connection_type = dc_connection_none; const struct dc_plane_cap *plane; + dm->display_indexes_num = dm->dc->caps.max_streams; + /* Update the actual used number of crtc */ + adev->mode_info.num_crtc = adev->dm.display_indexes_num; + link_cnt = dm->dc->caps.max_links; if (amdgpu_dm_mode_config_init(dm->adev)) { DRM_ERROR("DM: Failed to initialize mode config\n"); @@ -3140,8 +3158,6 @@ goto fail; } - dm->display_indexes_num = dm->dc->caps.max_streams; - /* loops over all connectors on the board */ for (i = 0; i < link_cnt; i++) { struct dc_link *link = NULL; @@ -4854,6 +4870,13 @@ struct amdgpu_device *adev = connector->dev->dev_private; struct amdgpu_display_manager *dm = &adev->dm; + /* + * Call only if mst_mgr was iniitalized before since it's not done + * for all connector types. + */ + if (aconnector->mst_mgr.dev) + drm_dp_mst_topology_mgr_destroy(&aconnector->mst_mgr); + #if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) ||\ defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) @@ -5067,6 +5090,15 @@ } while (stream == NULL && requested_bpc >= 6); + if (dc_result == DC_FAIL_ENC_VALIDATE && !aconnector->force_yuv420_output) { + DRM_DEBUG_KMS("Retry forcing YCbCr420 encoding\n"); + + aconnector->force_yuv420_output = true; + stream = create_validate_stream_for_sink(aconnector, drm_mode, + dm_state, old_stream); + aconnector->force_yuv420_output = false; + } + return stream; } @@ -5249,19 +5281,6 @@ { } -static bool does_crtc_have_active_cursor(struct drm_crtc_state *new_crtc_state) -{ - struct drm_device *dev = new_crtc_state->crtc->dev; - struct drm_plane *plane; - - drm_for_each_plane_mask(plane, dev, new_crtc_state->plane_mask) { - if (plane->type == DRM_PLANE_TYPE_CURSOR) - return true; - } - - return false; -} - static int count_crtc_active_planes(struct drm_crtc_state *new_crtc_state) { struct drm_atomic_state *state = new_crtc_state->state; @@ -5341,19 +5360,20 @@ return ret; } - /* In some use cases, like reset, no stream is attached */ - if (!dm_crtc_state->stream) - return 0; - /* - * We want at least one hardware plane enabled to use - * the stream with a cursor enabled. + * We require the primary plane to be enabled whenever the CRTC is, otherwise + * drm_mode_cursor_universal may end up trying to enable the cursor plane while all other + * planes are disabled, which is not supported by the hardware. And there is legacy + * userspace which stops using the HW cursor altogether in response to the resulting EINVAL. */ - if (state->enable && state->active && - does_crtc_have_active_cursor(state) && - dm_crtc_state->active_planes == 0) + if (state->enable && + !(state->plane_mask & drm_plane_mask(crtc->primary))) return -EINVAL; + /* In some use cases, like reset, no stream is attached */ + if (!dm_crtc_state->stream) + return 0; + if (dc_validate_stream(dc, dm_crtc_state->stream) == DC_OK) return 0; @@ -7656,14 +7676,14 @@ ret = PTR_ERR_OR_ZERO(conn_state); if (ret) - goto err; + goto out; /* Attach crtc to drm_atomic_state*/ crtc_state = drm_atomic_get_crtc_state(state, &disconnected_acrtc->base); ret = PTR_ERR_OR_ZERO(crtc_state); if (ret) - goto err; + goto out; /* force a restore */ crtc_state->mode_changed = true; @@ -7673,17 +7693,15 @@ ret = PTR_ERR_OR_ZERO(plane_state); if (ret) - goto err; - + goto out; /* Call commit internally with the state we just constructed */ ret = drm_atomic_commit(state); - if (!ret) - return 0; -err: - DRM_ERROR("Restoring old state failed with %i\n", ret); +out: drm_atomic_state_put(state); + if (ret) + DRM_ERROR("Restoring old state failed with %i\n", ret); return ret; } @@ -8182,8 +8200,7 @@ dm_old_plane_state->dc_state, dm_state->context)) { - ret = EINVAL; - return ret; + return -EINVAL; } @@ -8686,6 +8703,29 @@ if (ret) goto fail; + /* Check connector changes */ + for_each_oldnew_connector_in_state(state, connector, old_con_state, new_con_state, i) { + struct dm_connector_state *dm_old_con_state = to_dm_connector_state(old_con_state); + struct dm_connector_state *dm_new_con_state = to_dm_connector_state(new_con_state); + + /* Skip connectors that are disabled or part of modeset already. */ + if (!old_con_state->crtc && !new_con_state->crtc) + continue; + + if (!new_con_state->crtc) + continue; + + new_crtc_state = drm_atomic_get_crtc_state(state, new_con_state->crtc); + if (IS_ERR(new_crtc_state)) { + ret = PTR_ERR(new_crtc_state); + goto fail; + } + + if (dm_old_con_state->abm_level != + dm_new_con_state->abm_level) + new_crtc_state->connectors_changed = true; + } + #if defined(CONFIG_DRM_AMD_DC_DCN) if (!compute_mst_dsc_configs_for_state(state, dm_state->context)) goto fail; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c @@ -195,10 +195,13 @@ bool has_rom) { struct dc_gamma *gamma = NULL; + struct calculate_buffer cal_buffer = {0}; bool res; ASSERT(lut && lut_size == MAX_COLOR_LEGACY_LUT_ENTRIES); + cal_buffer.buffer_index = -1; + gamma = dc_create_gamma(); if (!gamma) return -ENOMEM; @@ -208,7 +211,7 @@ __drm_lut_to_dc_gamma(lut, gamma, true); res = mod_color_calculate_regamma_params(func, gamma, true, has_rom, - NULL); + NULL, &cal_buffer); dc_gamma_release(&gamma); @@ -221,10 +224,13 @@ bool has_rom) { struct dc_gamma *gamma = NULL; + struct calculate_buffer cal_buffer = {0}; bool res; ASSERT(lut && lut_size == MAX_COLOR_LUT_ENTRIES); + cal_buffer.buffer_index = -1; + gamma = dc_create_gamma(); if (!gamma) return -ENOMEM; @@ -248,7 +254,7 @@ */ gamma->type = GAMMA_CS_TFM_1D; res = mod_color_calculate_regamma_params(func, gamma, false, - has_rom, NULL); + has_rom, NULL, &cal_buffer); } dc_gamma_release(&gamma); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c @@ -113,7 +113,7 @@ mutex_lock(&adev->dm.dc_lock); /* Enable CRTC CRC generation if necessary. */ - if (dm_is_crc_source_crtc(source)) { + if (dm_is_crc_source_crtc(source) || source == AMDGPU_DM_PIPE_CRC_SOURCE_NONE) { if (!dc_stream_configure_crc(stream_state->ctx->dc, stream_state, enable, enable)) { ret = -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c @@ -376,7 +376,7 @@ } -void hdcp_destroy(struct hdcp_workqueue *hdcp_work) +void hdcp_destroy(struct kobject *kobj, struct hdcp_workqueue *hdcp_work) { int i = 0; @@ -385,6 +385,7 @@ cancel_delayed_work_sync(&hdcp_work[i].watchdog_timer_dwork); } + sysfs_remove_bin_file(kobj, &hdcp_work[0].attr); kfree(hdcp_work->srm); kfree(hdcp_work->srm_temp); kfree(hdcp_work); @@ -568,7 +569,7 @@ int i = 0; hdcp_work = kcalloc(max_caps, sizeof(*hdcp_work), GFP_KERNEL); - if (hdcp_work == NULL) + if (ZERO_OR_NULL_PTR(hdcp_work)) return NULL; hdcp_work->srm = kcalloc(PSP_HDCP_SRM_FIRST_GEN_MAX_SIZE, sizeof(*hdcp_work->srm), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.h @@ -69,7 +69,7 @@ void hdcp_reset_display(struct hdcp_workqueue *work, unsigned int link_index); void hdcp_handle_cpirq(struct hdcp_workqueue *work, unsigned int link_index); -void hdcp_destroy(struct hdcp_workqueue *work); +void hdcp_destroy(struct kobject *kobj, struct hdcp_workqueue *work); struct hdcp_workqueue *hdcp_create_workqueue(struct amdgpu_device *adev, struct cp_psp *cp_psp, struct dc *dc); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -67,7 +67,7 @@ result = dc_link_aux_transfer_raw(TO_DM_AUX(aux)->ddc_service, &payload, &operation_result); - if (payload.write) + if (payload.write && result >= 0) result = msg->size; if (result < 0) @@ -790,6 +790,9 @@ if (computed_streams[i]) continue; + if (dcn20_remove_stream_from_ctx(stream->ctx->dc, dc_state, stream) != DC_OK) + return false; + mutex_lock(&aconnector->mst_mgr.lock); if (!compute_mst_dsc_configs_for_link(state, dc_state, stream->link)) { mutex_unlock(&aconnector->mst_mgr.lock); @@ -807,7 +810,8 @@ stream = dc_state->streams[i]; if (stream->timing.flags.DSC == 1) - dcn20_add_dsc_to_stream_resource(stream->ctx->dc, dc_state, stream); + if (dcn20_add_dsc_to_stream_resource(stream->ctx->dc, dc_state, stream) != DC_OK) + return false; } return true; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_pp_smu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_pp_smu.c @@ -106,7 +106,7 @@ adev->powerplay.pp_funcs->display_configuration_change( adev->powerplay.pp_handle, &adev->pm.pm_display_cfg); - else + else if (adev->smu.ppt_funcs) smu_display_configuration_change(smu, &adev->pm.pm_display_cfg); @@ -530,6 +530,8 @@ &pp_clk_info); else if (adev->smu.ppt_funcs) ret = smu_get_current_clocks(&adev->smu, &pp_clk_info); + else + return false; if (ret) return false; @@ -590,7 +592,7 @@ if (pp_funcs && pp_funcs->set_watermarks_for_clocks_ranges) pp_funcs->set_watermarks_for_clocks_ranges(pp_handle, &wm_with_clock_ranges); - else + else if (adev->smu.ppt_funcs) smu_set_watermarks_for_clock_ranges(&adev->smu, &wm_with_clock_ranges); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/bios/command_table.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/bios/command_table.c @@ -245,6 +245,23 @@ cntl->enable_dp_audio); params.ucLaneNum = (uint8_t)(cntl->lanes_number); + switch (cntl->color_depth) { + case COLOR_DEPTH_888: + params.ucBitPerColor = PANEL_8BIT_PER_COLOR; + break; + case COLOR_DEPTH_101010: + params.ucBitPerColor = PANEL_10BIT_PER_COLOR; + break; + case COLOR_DEPTH_121212: + params.ucBitPerColor = PANEL_12BIT_PER_COLOR; + break; + case COLOR_DEPTH_161616: + params.ucBitPerColor = PANEL_16BIT_PER_COLOR; + break; + default: + break; + } + if (EXEC_BIOS_CMD_TABLE(DIGxEncoderControl, params)) result = BP_RESULT_OK; @@ -274,6 +291,23 @@ cntl->enable_dp_audio)); params.ucLaneNum = (uint8_t)(cntl->lanes_number); + switch (cntl->color_depth) { + case COLOR_DEPTH_888: + params.ucBitPerColor = PANEL_8BIT_PER_COLOR; + break; + case COLOR_DEPTH_101010: + params.ucBitPerColor = PANEL_10BIT_PER_COLOR; + break; + case COLOR_DEPTH_121212: + params.ucBitPerColor = PANEL_12BIT_PER_COLOR; + break; + case COLOR_DEPTH_161616: + params.ucBitPerColor = PANEL_16BIT_PER_COLOR; + break; + default: + break; + } + if (EXEC_BIOS_CMD_TABLE(DIGxEncoderControl, params)) result = BP_RESULT_OK; @@ -1057,6 +1091,19 @@ * driver choose program it itself, i.e. here we program it * to 888 by default. */ + if (bp_params->signal_type == SIGNAL_TYPE_HDMI_TYPE_A) + switch (bp_params->color_depth) { + case TRANSMITTER_COLOR_DEPTH_30: + /* yes this is correct, the atom define is wrong */ + clk.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_32BPP; + break; + case TRANSMITTER_COLOR_DEPTH_36: + /* yes this is correct, the atom define is wrong */ + clk.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_30BPP; + break; + default: + break; + } if (EXEC_BIOS_CMD_TABLE(SetPixelClock, clk)) result = BP_RESULT_OK; @@ -1135,6 +1182,20 @@ * driver choose program it itself, i.e. here we pass required * target rate that includes deep color. */ + if (bp_params->signal_type == SIGNAL_TYPE_HDMI_TYPE_A) + switch (bp_params->color_depth) { + case TRANSMITTER_COLOR_DEPTH_30: + clk.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_30BPP_V6; + break; + case TRANSMITTER_COLOR_DEPTH_36: + clk.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_36BPP_V6; + break; + case TRANSMITTER_COLOR_DEPTH_48: + clk.sPCLKInput.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_48BPP; + break; + default: + break; + } if (EXEC_BIOS_CMD_TABLE(SetPixelClock, clk)) result = BP_RESULT_OK; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dce112/dce112_clk_mgr.c @@ -79,8 +79,7 @@ memset(&dce_clk_params, 0, sizeof(dce_clk_params)); /* Make sure requested clock isn't lower than minimum threshold*/ - if (requested_clk_khz > 0) - requested_clk_khz = max(requested_clk_khz, + requested_clk_khz = max(requested_clk_khz, clk_mgr_dce->base.dentist_vco_freq_khz / 62); dce_clk_params.target_clock_frequency = requested_clk_khz; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/rv1_clk_mgr.c @@ -85,12 +85,77 @@ return disp_clk_threshold; } -static void ramp_up_dispclk_with_dpp(struct clk_mgr_internal *clk_mgr, struct dc *dc, struct dc_clocks *new_clocks) +static void ramp_up_dispclk_with_dpp( + struct clk_mgr_internal *clk_mgr, + struct dc *dc, + struct dc_clocks *new_clocks, + bool safe_to_lower) { int i; int dispclk_to_dpp_threshold = rv1_determine_dppclk_threshold(clk_mgr, new_clocks); bool request_dpp_div = new_clocks->dispclk_khz > new_clocks->dppclk_khz; + /* this function is to change dispclk, dppclk and dprefclk according to + * bandwidth requirement. Its call stack is rv1_update_clocks --> + * update_clocks --> dcn10_prepare_bandwidth / dcn10_optimize_bandwidth + * --> prepare_bandwidth / optimize_bandwidth. before change dcn hw, + * prepare_bandwidth will be called first to allow enough clock, + * watermark for change, after end of dcn hw change, optimize_bandwidth + * is executed to lower clock to save power for new dcn hw settings. + * + * below is sequence of commit_planes_for_stream: + * + * step 1: prepare_bandwidth - raise clock to have enough bandwidth + * step 2: lock_doublebuffer_enable + * step 3: pipe_control_lock(true) - make dchubp register change will + * not take effect right way + * step 4: apply_ctx_for_surface - program dchubp + * step 5: pipe_control_lock(false) - dchubp register change take effect + * step 6: optimize_bandwidth --> dc_post_update_surfaces_to_stream + * for full_date, optimize clock to save power + * + * at end of step 1, dcn clocks (dprefclk, dispclk, dppclk) may be + * changed for new dchubp configuration. but real dcn hub dchubps are + * still running with old configuration until end of step 5. this need + * clocks settings at step 1 should not less than that before step 1. + * this is checked by two conditions: 1. if (should_set_clock(safe_to_lower + * , new_clocks->dispclk_khz, clk_mgr_base->clks.dispclk_khz) || + * new_clocks->dispclk_khz == clk_mgr_base->clks.dispclk_khz) + * 2. request_dpp_div = new_clocks->dispclk_khz > new_clocks->dppclk_khz + * + * the second condition is based on new dchubp configuration. dppclk + * for new dchubp may be different from dppclk before step 1. + * for example, before step 1, dchubps are as below: + * pipe 0: recout=(0,40,1920,980) viewport=(0,0,1920,979) + * pipe 1: recout=(0,0,1920,1080) viewport=(0,0,1920,1080) + * for dppclk for pipe0 need dppclk = dispclk + * + * new dchubp pipe split configuration: + * pipe 0: recout=(0,0,960,1080) viewport=(0,0,960,1080) + * pipe 1: recout=(960,0,960,1080) viewport=(960,0,960,1080) + * dppclk only needs dppclk = dispclk /2. + * + * dispclk, dppclk are not lock by otg master lock. they take effect + * after step 1. during this transition, dispclk are the same, but + * dppclk is changed to half of previous clock for old dchubp + * configuration between step 1 and step 6. This may cause p-state + * warning intermittently. + * + * for new_clocks->dispclk_khz == clk_mgr_base->clks.dispclk_khz, we + * need make sure dppclk are not changed to less between step 1 and 6. + * for new_clocks->dispclk_khz > clk_mgr_base->clks.dispclk_khz, + * new display clock is raised, but we do not know ratio of + * new_clocks->dispclk_khz and clk_mgr_base->clks.dispclk_khz, + * new_clocks->dispclk_khz /2 does not guarantee equal or higher than + * old dppclk. we could ignore power saving different between + * dppclk = displck and dppclk = dispclk / 2 between step 1 and step 6. + * as long as safe_to_lower = false, set dpclk = dispclk to simplify + * condition check. + * todo: review this change for other asic. + **/ + if (!safe_to_lower) + request_dpp_div = false; + /* set disp clk to dpp clk threshold */ clk_mgr->funcs->set_dispclk(clk_mgr, dispclk_to_dpp_threshold); @@ -209,7 +274,7 @@ /* program dispclk on = as a w/a for sleep resume clock ramping issues */ if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr_base->clks.dispclk_khz) || new_clocks->dispclk_khz == clk_mgr_base->clks.dispclk_khz) { - ramp_up_dispclk_with_dpp(clk_mgr, dc, new_clocks); + ramp_up_dispclk_with_dpp(clk_mgr, dc, new_clocks, safe_to_lower); clk_mgr_base->clks.dispclk_khz = new_clocks->dispclk_khz; send_request_to_lower = true; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c @@ -158,8 +158,17 @@ new_clocks->dppclk_khz = 100000; } - if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) { - if (clk_mgr->base.clks.dppclk_khz > new_clocks->dppclk_khz) + /* + * Temporally ignore thew 0 cases for disp and dpp clks. + * We may have a new feature that requires 0 clks in the future. + */ + if (new_clocks->dppclk_khz == 0 || new_clocks->dispclk_khz == 0) { + new_clocks->dppclk_khz = clk_mgr_base->clks.dppclk_khz; + new_clocks->dispclk_khz = clk_mgr_base->clks.dispclk_khz; + } + + if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr_base->clks.dppclk_khz)) { + if (clk_mgr_base->clks.dppclk_khz > new_clocks->dppclk_khz) dpp_clock_lowered = true; clk_mgr_base->clks.dppclk_khz = new_clocks->dppclk_khz; update_dppclk = true; @@ -558,24 +567,24 @@ .wm_inst = WM_B, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 10.12, - .sr_enter_plus_exit_time_us = 11.48, + .sr_exit_time_us = 11.12, + .sr_enter_plus_exit_time_us = 12.48, .valid = true, }, { .wm_inst = WM_C, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 10.12, - .sr_enter_plus_exit_time_us = 11.48, + .sr_exit_time_us = 11.12, + .sr_enter_plus_exit_time_us = 12.48, .valid = true, }, { .wm_inst = WM_D, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 10.12, - .sr_enter_plus_exit_time_us = 11.48, + .sr_exit_time_us = 11.12, + .sr_enter_plus_exit_time_us = 12.48, .valid = true, }, } @@ -699,6 +708,7 @@ { struct dc_debug_options *debug = &ctx->dc->debug; struct dpm_clocks clock_table = { 0 }; + enum pp_smu_status status = 0; clk_mgr->base.ctx = ctx; clk_mgr->base.funcs = &dcn21_funcs; @@ -751,8 +761,10 @@ clk_mgr->base.bw_params = &rn_bw_params; if (pp_smu && pp_smu->rn_funcs.get_dpm_clock_table) { - pp_smu->rn_funcs.get_dpm_clock_table(&pp_smu->rn_funcs.pp_smu, &clock_table); - if (ctx->dc_bios && ctx->dc_bios->integrated_info) { + status = pp_smu->rn_funcs.get_dpm_clock_table(&pp_smu->rn_funcs.pp_smu, &clock_table); + + if (status == PP_SMU_RESULT_OK && + ctx->dc_bios && ctx->dc_bios->integrated_info) { rn_clk_mgr_helper_populate_bw_params (clk_mgr->base.bw_params, &clock_table, ctx->dc_bios->integrated_info); } } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/core/dc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -2538,7 +2538,7 @@ copy_stream_update_to_stream(dc, context, stream, stream_update); - if (update_type > UPDATE_TYPE_FAST) { + if (update_type >= UPDATE_TYPE_FULL) { if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) { DC_ERROR("Mode validation failed for stream update!\n"); dc_release_state(context); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -767,6 +767,7 @@ sink_caps->signal = dp_passive_dongle_detection(link->ddc, sink_caps, audio_support); + link->dpcd_caps.dongle_type = sink_caps->dongle_type; } return true; @@ -1457,6 +1458,11 @@ goto ddc_create_fail; } + if (!link->ddc->ddc_pin) { + DC_ERROR("Failed to get I2C info for connector!\n"); + goto ddc_create_fail; + } + link->ddc_hw_inst = dal_ddc_get_line(dal_ddc_service_get_ddc_pin(link->ddc)); @@ -2438,7 +2444,7 @@ /* A hack to avoid failing any modes for EDID override feature on * topology change such as lower quality cable for DP or different dongle */ - if (link->remote_sinks[0]) + if (link->remote_sinks[0] && link->remote_sinks[0]->sink_signal == SIGNAL_TYPE_VIRTUAL) return DC_OK; /* Passive Dongle */ @@ -2468,9 +2474,14 @@ static struct abm *get_abm_from_stream_res(const struct dc_link *link) { int i; - struct dc *dc = link->ctx->dc; + struct dc *dc = NULL; struct abm *abm = NULL; + if (!link || !link->ctx) + return NULL; + + dc = link->ctx->dc; + for (i = 0; i < MAX_PIPES; i++) { struct pipe_ctx pipe_ctx = dc->current_state->res_ctx.pipe_ctx[i]; struct dc_stream_state *stream = pipe_ctx.stream; @@ -2542,7 +2553,6 @@ if (pipe_ctx->plane_state == NULL) frame_ramp = 0; } else { - ASSERT(false); return false; } @@ -3268,7 +3278,6 @@ #if defined(CONFIG_DRM_AMD_DC_HDCP) update_psp_stream_config(pipe_ctx, true); #endif - dc->hwss.blank_stream(pipe_ctx); if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) @@ -3373,8 +3382,12 @@ uint32_t kbps; if (timing->flags.DSC) { - kbps = (timing->pix_clk_100hz * timing->dsc_cfg.bits_per_pixel); - kbps = kbps / 160 + ((kbps % 160) ? 1 : 0); + struct fixed31_32 link_bw_kbps; + + link_bw_kbps = dc_fixpt_from_int(timing->pix_clk_100hz); + link_bw_kbps = dc_fixpt_div_int(link_bw_kbps, 160); + link_bw_kbps = dc_fixpt_mul_int(link_bw_kbps, timing->dsc_cfg.bits_per_pixel); + kbps = dc_fixpt_ceil(link_bw_kbps); return kbps; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c @@ -503,7 +503,7 @@ uint8_t *read_buf, uint32_t read_size) { - bool ret = false; + bool success = true; uint32_t payload_size = dal_ddc_service_is_in_aux_transaction_mode(ddc) ? DEFAULT_AUX_MAX_DATA_SIZE : EDID_SEGMENT_SIZE; @@ -527,7 +527,6 @@ * but we want to read 256 over i2c!!!!*/ if (dal_ddc_service_is_in_aux_transaction_mode(ddc)) { struct aux_payload payload; - bool read_available = true; payload.i2c_over_aux = true; payload.address = address; @@ -536,21 +535,26 @@ if (write_size != 0) { payload.write = true; - payload.mot = false; + /* should not set mot (middle of transaction) to 0 + * if there are pending read payloads + */ + payload.mot = read_size == 0 ? false : true; payload.length = write_size; payload.data = write_buf; - ret = dal_ddc_submit_aux_command(ddc, &payload); - read_available = ret; + success = dal_ddc_submit_aux_command(ddc, &payload); } - if (read_size != 0 && read_available) { + if (read_size != 0 && success) { payload.write = false; + /* should set mot (middle of transaction) to 0 + * since it is the last payload to send + */ payload.mot = false; payload.length = read_size; payload.data = read_buf; - ret = dal_ddc_submit_aux_command(ddc, &payload); + success = dal_ddc_submit_aux_command(ddc, &payload); } } else { struct i2c_command command = {0}; @@ -573,7 +577,7 @@ command.number_of_payloads = dal_ddc_i2c_payloads_get_count(&payloads); - ret = dm_helpers_submit_i2c( + success = dm_helpers_submit_i2c( ddc->ctx, ddc->link, &command); @@ -581,7 +585,7 @@ dal_ddc_i2c_payloads_destroy(&payloads); } - return ret; + return success; } bool dal_ddc_submit_aux_command(struct ddc_service *ddc, @@ -598,7 +602,7 @@ do { struct aux_payload current_payload; - bool is_end_of_payload = (retrieved + DEFAULT_AUX_MAX_DATA_SIZE) > + bool is_end_of_payload = (retrieved + DEFAULT_AUX_MAX_DATA_SIZE) >= payload->length; current_payload.address = payload->address; @@ -607,7 +611,10 @@ current_payload.i2c_over_aux = payload->i2c_over_aux; current_payload.length = is_end_of_payload ? payload->length - retrieved : DEFAULT_AUX_MAX_DATA_SIZE; - current_payload.mot = !is_end_of_payload; + /* set mot (middle of transaction) to false + * if it is the last payload + */ + current_payload.mot = is_end_of_payload ? payload->mot:true; current_payload.reply = payload->reply; current_payload.write = payload->write; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -855,13 +855,13 @@ switch (dpcd_aux_read_interval) { case 0x01: - aux_rd_interval_us = 400; + aux_rd_interval_us = 4000; break; case 0x02: - aux_rd_interval_us = 4000; + aux_rd_interval_us = 8000; break; case 0x03: - aux_rd_interval_us = 8000; + aux_rd_interval_us = 12000; break; case 0x04: aux_rd_interval_us = 16000; @@ -2296,6 +2296,9 @@ initial_link_setting; uint32_t link_bw; + if (req_bw > dc_link_bandwidth_kbps(link, &link->verified_link_cap)) + return false; + /* search for the minimum link setting that: * 1. is supported according to the link training result * 2. could support the b/w requested by the timing @@ -4114,7 +4117,7 @@ if (edp_config_set.bits.PANEL_MODE_EDP != panel_mode_edp) { - enum ddc_result result = DDC_RESULT_UNKNOWN; + enum dc_status result = DC_ERROR_UNEXPECTED; edp_config_set.bits.PANEL_MODE_EDP = panel_mode_edp; @@ -4124,7 +4127,7 @@ &edp_config_set.raw, sizeof(edp_config_set.raw)); - ASSERT(result == DDC_RESULT_SUCESSFULL); + ASSERT(result == DC_OK); } } DC_LOG_DETECTION_DP_CAPS("Link: %d eDP panel mode supported: %d " @@ -4346,9 +4349,9 @@ link->connector_signal != SIGNAL_TYPE_DISPLAY_PORT)) return false; - if (!core_link_read_dpcd(link, DP_SOURCE_BACKLIGHT_CURRENT_PEAK, + if (core_link_read_dpcd(link, DP_SOURCE_BACKLIGHT_CURRENT_PEAK, dpcd_backlight_get.raw, - sizeof(union dpcd_source_backlight_get))) + sizeof(union dpcd_source_backlight_get)) != DC_OK) return false; *backlight_millinits_avg = @@ -4387,9 +4390,9 @@ link->connector_signal != SIGNAL_TYPE_DISPLAY_PORT)) return false; - if (!core_link_read_dpcd(link, DP_SOURCE_BACKLIGHT_LEVEL, + if (core_link_read_dpcd(link, DP_SOURCE_BACKLIGHT_LEVEL, (uint8_t *) backlight_millinits, - sizeof(uint32_t))) + sizeof(uint32_t)) != DC_OK) return false; return true; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dc_stream.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dc_stream.h @@ -222,7 +222,7 @@ union stream_update_flags update_flags; }; -#define ABM_LEVEL_IMMEDIATE_DISABLE 0xFFFFFFFF +#define ABM_LEVEL_IMMEDIATE_DISABLE 255 struct dc_stream_update { struct dc_stream_state *stream; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c @@ -871,6 +871,20 @@ bp_pc_params.flags.SET_EXTERNAL_REF_DIV_SRC = pll_settings->use_external_clk; + switch (pix_clk_params->color_depth) { + case COLOR_DEPTH_101010: + bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_30; + break; + case COLOR_DEPTH_121212: + bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_36; + break; + case COLOR_DEPTH_161616: + bp_pc_params.color_depth = TRANSMITTER_COLOR_DEPTH_48; + break; + default: + break; + } + if (clk_src->bios->funcs->set_pixel_clock( clk_src->bios, &bp_pc_params) != BP_RESULT_OK) return false; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c @@ -119,7 +119,8 @@ .disable_hpd = dce110_link_encoder_disable_hpd, .is_dig_enabled = dce110_is_dig_enabled, .destroy = dce110_link_encoder_destroy, - .get_max_link_cap = dce110_link_encoder_get_max_link_cap + .get_max_link_cap = dce110_link_encoder_get_max_link_cap, + .get_dig_frontend = dce110_get_dig_frontend, }; static enum bp_result link_transmitter_control( @@ -235,6 +236,44 @@ } +unsigned int dce110_get_dig_frontend(struct link_encoder *enc) +{ + struct dce110_link_encoder *enc110 = TO_DCE110_LINK_ENC(enc); + u32 value; + enum engine_id result; + + REG_GET(DIG_BE_CNTL, DIG_FE_SOURCE_SELECT, &value); + + switch (value) { + case DCE110_DIG_FE_SOURCE_SELECT_DIGA: + result = ENGINE_ID_DIGA; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGB: + result = ENGINE_ID_DIGB; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGC: + result = ENGINE_ID_DIGC; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGD: + result = ENGINE_ID_DIGD; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGE: + result = ENGINE_ID_DIGE; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGF: + result = ENGINE_ID_DIGF; + break; + case DCE110_DIG_FE_SOURCE_SELECT_DIGG: + result = ENGINE_ID_DIGG; + break; + default: + // invalid source select DIG + result = ENGINE_ID_UNKNOWN; + } + + return result; +} + void dce110_link_encoder_set_dp_phy_pattern_training_pattern( struct link_encoder *enc, uint32_t index) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.h @@ -255,6 +255,8 @@ enum engine_id engine, bool connect); +unsigned int dce110_get_dig_frontend(struct link_encoder *enc); + void dce110_link_encoder_set_dp_phy_pattern_training_pattern( struct link_encoder *enc, uint32_t index); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.c @@ -75,7 +75,7 @@ else bl_pwm &= 0xFFFF; - current_backlight = bl_pwm << (1 + bl_int_count); + current_backlight = (uint64_t)bl_pwm << (1 + bl_int_count); if (bl_period == 0) bl_period = 0xFFFF; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.h @@ -49,12 +49,12 @@ #define DCN_PANEL_CNTL_REG_LIST()\ DCN_PANEL_CNTL_SR(PWRSEQ_CNTL, LVTMA), \ DCN_PANEL_CNTL_SR(PWRSEQ_STATE, LVTMA), \ - DCE_PANEL_CNTL_SR(PWRSEQ_REF_DIV, LVTMA), \ + DCN_PANEL_CNTL_SR(PWRSEQ_REF_DIV, LVTMA), \ SR(BL_PWM_CNTL), \ SR(BL_PWM_CNTL2), \ SR(BL_PWM_PERIOD_CNTL), \ SR(BL_PWM_GRP1_REG_LOCK), \ - SR(BIOS_SCRATCH_2) + NBIO_SR(BIOS_SCRATCH_2) #define DCE_PANEL_CNTL_SF(reg_name, field_name, post_fix)\ .field_name = reg_name ## __ ## field_name ## post_fix --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c @@ -564,6 +564,7 @@ cntl.enable_dp_audio = enable_audio; cntl.pixel_clock = actual_pix_clk_khz; cntl.lanes_number = LANE_COUNT_FOUR; + cntl.color_depth = crtc_timing->display_color_depth; if (enc110->base.bp->funcs->encoder_control( enc110->base.bp, &cntl) != BP_RESULT_OK) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c @@ -429,12 +429,12 @@ clamp_max = 0x3FC0; break; case COLOR_DEPTH_101010: - /* 10bit MSB aligned on 14 bit bus '11 1111 1111 1100' */ - clamp_max = 0x3FFC; + /* 10bit MSB aligned on 14 bit bus '11 1111 1111 0000' */ + clamp_max = 0x3FF0; break; case COLOR_DEPTH_121212: - /* 12bit MSB aligned on 14 bit bus '11 1111 1111 1111' */ - clamp_max = 0x3FFF; + /* 12bit MSB aligned on 14 bit bus '11 1111 1111 1100' */ + clamp_max = 0x3FFC; break; default: clamp_max = 0x3FC0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c @@ -643,8 +643,13 @@ if (REG(DC_IP_REQUEST_CNTL)) { REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1); - hws->funcs.dpp_pg_control(hws, plane_id, true); - hws->funcs.hubp_pg_control(hws, plane_id, true); + + if (hws->funcs.dpp_pg_control) + hws->funcs.dpp_pg_control(hws, plane_id, true); + + if (hws->funcs.hubp_pg_control) + hws->funcs.hubp_pg_control(hws, plane_id, true); + REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 0); DC_LOG_DEBUG( @@ -1076,8 +1081,13 @@ if (REG(DC_IP_REQUEST_CNTL)) { REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1); - hws->funcs.dpp_pg_control(hws, dpp->inst, false); - hws->funcs.hubp_pg_control(hws, hubp->inst, false); + + if (hws->funcs.dpp_pg_control) + hws->funcs.dpp_pg_control(hws, dpp->inst, false); + + if (hws->funcs.hubp_pg_control) + hws->funcs.hubp_pg_control(hws, hubp->inst, false); + dpp->funcs->dpp_reset(dpp); REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c @@ -608,8 +608,8 @@ .disable_pplib_clock_request = false, .disable_pplib_wm_range = false, .pplib_wm_report_mode = WM_REPORT_DEFAULT, - .pipe_split_policy = MPC_SPLIT_DYNAMIC, - .force_single_disp_pipe_split = true, + .pipe_split_policy = MPC_SPLIT_AVOID, + .force_single_disp_pipe_split = false, .disable_dcc = DCC_ENABLE, .voltage_align_fclk = true, .disable_stereo_support = true, @@ -1213,6 +1213,7 @@ bool video_large = false; bool desktop_large = false; bool dcc_disabled = false; + bool mpo_enabled = false; for (i = 0; i < context->stream_count; i++) { if (context->stream_status[i].plane_count == 0) @@ -1221,6 +1222,9 @@ if (context->stream_status[i].plane_count > 2) return DC_FAIL_UNSUPPORTED_1; + if (context->stream_status[i].plane_count > 1) + mpo_enabled = true; + for (j = 0; j < context->stream_status[i].plane_count; j++) { struct dc_plane_state *plane = context->stream_status[i].plane_states[j]; @@ -1244,6 +1248,10 @@ } } + /* Disable MPO in multi-display configurations. */ + if (context->stream_count > 1 && mpo_enabled) + return DC_FAIL_UNSUPPORTED_1; + /* * Workaround: On DCN10 there is UMC issue that causes underflow when * playing 4k video on 4k desktop with video downscaled and single channel --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c @@ -121,35 +121,35 @@ switch (packet_index) { case 0: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC0_FRAME_UPDATE, 1); + AFMT_GENERIC0_IMMEDIATE_UPDATE, 1); break; case 1: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC1_FRAME_UPDATE, 1); + AFMT_GENERIC1_IMMEDIATE_UPDATE, 1); break; case 2: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC2_FRAME_UPDATE, 1); + AFMT_GENERIC2_IMMEDIATE_UPDATE, 1); break; case 3: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC3_FRAME_UPDATE, 1); + AFMT_GENERIC3_IMMEDIATE_UPDATE, 1); break; case 4: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC4_FRAME_UPDATE, 1); + AFMT_GENERIC4_IMMEDIATE_UPDATE, 1); break; case 5: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC5_FRAME_UPDATE, 1); + AFMT_GENERIC5_IMMEDIATE_UPDATE, 1); break; case 6: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC6_FRAME_UPDATE, 1); + AFMT_GENERIC6_IMMEDIATE_UPDATE, 1); break; case 7: REG_UPDATE(AFMT_VBI_PACKET_CONTROL1, - AFMT_GENERIC7_FRAME_UPDATE, 1); + AFMT_GENERIC7_IMMEDIATE_UPDATE, 1); break; default: break; @@ -896,10 +896,10 @@ */ REG_UPDATE(DP_VID_STREAM_CNTL, DP_VID_STREAM_DIS_DEFER, 2); /* Larger delay to wait until VBLANK - use max retry of - * 10us*5000=50ms. This covers 41.7ms of minimum 24 Hz mode + + * 10us*10200=102ms. This covers 100.0ms of minimum 10 Hz mode + * a little more because we may not trust delay accuracy. */ - max_retries = DP_BLANK_MAX_RETRY * 250; + max_retries = DP_BLANK_MAX_RETRY * 501; /* disable DP stream */ REG_UPDATE(DP_VID_STREAM_CNTL, DP_VID_STREAM_ENABLE, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h @@ -273,7 +273,14 @@ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC2_FRAME_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC3_FRAME_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC4_FRAME_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC0_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC1_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC2_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC3_IMMEDIATE_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC4_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC5_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC6_IMMEDIATE_UPDATE, mask_sh),\ + SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC7_IMMEDIATE_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC5_FRAME_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC6_FRAME_UPDATE, mask_sh),\ SE_SF(DIG0_AFMT_VBI_PACKET_CONTROL1, AFMT_GENERIC7_FRAME_UPDATE, mask_sh),\ @@ -337,7 +344,14 @@ type AFMT_GENERIC2_FRAME_UPDATE;\ type AFMT_GENERIC3_FRAME_UPDATE;\ type AFMT_GENERIC4_FRAME_UPDATE;\ + type AFMT_GENERIC0_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC1_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC2_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC3_IMMEDIATE_UPDATE;\ type AFMT_GENERIC4_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC5_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC6_IMMEDIATE_UPDATE;\ + type AFMT_GENERIC7_IMMEDIATE_UPDATE;\ type AFMT_GENERIC5_FRAME_UPDATE;\ type AFMT_GENERIC6_FRAME_UPDATE;\ type AFMT_GENERIC7_FRAME_UPDATE;\ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c @@ -1011,8 +1011,13 @@ if (REG(DC_IP_REQUEST_CNTL)) { REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1); - dcn20_dpp_pg_control(hws, pipe_ctx->plane_res.dpp->inst, true); - dcn20_hubp_pg_control(hws, pipe_ctx->plane_res.hubp->inst, true); + + if (hws->funcs.dpp_pg_control) + hws->funcs.dpp_pg_control(hws, pipe_ctx->plane_res.dpp->inst, true); + + if (hws->funcs.hubp_pg_control) + hws->funcs.hubp_pg_control(hws, pipe_ctx->plane_res.hubp->inst, true); + REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 0); DC_LOG_DEBUG( @@ -1386,8 +1391,8 @@ /* Any updates are handled in dc interface, just need to apply existing for plane enable */ if ((pipe_ctx->update_flags.bits.enable || pipe_ctx->update_flags.bits.opp_changed || - pipe_ctx->update_flags.bits.scaler || pipe_ctx->update_flags.bits.viewport) - && pipe_ctx->stream->cursor_attributes.address.quad_part != 0) { + pipe_ctx->update_flags.bits.scaler || viewport_changed == true) && + pipe_ctx->stream->cursor_attributes.address.quad_part != 0) { dc->hwss.set_cursor_position(pipe_ctx); dc->hwss.set_cursor_attribute(pipe_ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c @@ -2465,8 +2465,7 @@ * if this primary pipe has a bottom pipe in prev. state * and if the bottom pipe is still available (which it should be), * pick that pipe as secondary - * Same logic applies for ODM pipes. Since mpo is not allowed with odm - * check in else case. + * Same logic applies for ODM pipes */ if (dc->current_state->res_ctx.pipe_ctx[primary_pipe->pipe_idx].bottom_pipe) { preferred_pipe_idx = dc->current_state->res_ctx.pipe_ctx[primary_pipe->pipe_idx].bottom_pipe->pipe_idx; @@ -2474,7 +2473,9 @@ secondary_pipe = &res_ctx->pipe_ctx[preferred_pipe_idx]; secondary_pipe->pipe_idx = preferred_pipe_idx; } - } else if (dc->current_state->res_ctx.pipe_ctx[primary_pipe->pipe_idx].next_odm_pipe) { + } + if (secondary_pipe == NULL && + dc->current_state->res_ctx.pipe_ctx[primary_pipe->pipe_idx].next_odm_pipe) { preferred_pipe_idx = dc->current_state->res_ctx.pipe_ctx[primary_pipe->pipe_idx].next_odm_pipe->pipe_idx; if (res_ctx->pipe_ctx[preferred_pipe_idx].stream == NULL) { secondary_pipe = &res_ctx->pipe_ctx[preferred_pipe_idx]; @@ -3097,7 +3098,7 @@ int vlevel = 0; int pipe_split_from[MAX_PIPES]; int pipe_cnt = 0; - display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_KERNEL); + display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_ATOMIC); DC_LOGGER_INIT(dc->ctx->logger); BW_VAL_TRACE_COUNT(); @@ -3165,6 +3166,9 @@ context->bw_ctx.dml.soc.allow_dram_clock_one_display_vactive = dc->debug.enable_dram_clock_change_one_display_vactive; + /*Unsafe due to current pipe merge and split logic*/ + ASSERT(context != dc->current_state); + if (fast_validate) { return dcn20_validate_bandwidth_internal(dc, context, true); } @@ -3201,7 +3205,7 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context, bool fast_validate) { - bool voltage_supported = false; + bool voltage_supported; DC_FP_START(); voltage_supported = dcn20_validate_bandwidth_fp(dc, context, fast_validate); DC_FP_END(); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c @@ -900,6 +900,8 @@ DCN20_CLK_SRC_PLL0, DCN20_CLK_SRC_PLL1, DCN20_CLK_SRC_PLL2, + DCN20_CLK_SRC_PLL3, + DCN20_CLK_SRC_PLL4, DCN20_CLK_SRC_TOTAL_DCN21 }; @@ -1054,8 +1056,6 @@ { int i; - DC_FP_START(); - if (dc->bb_overrides.sr_exit_time_ns) { for (i = 0; i < WM_SET_COUNT; i++) { dc->clk_mgr->bw_params->wm_table.entries[i].sr_exit_time_us = @@ -1080,8 +1080,6 @@ dc->bb_overrides.dram_clock_change_latency_ns / 1000.0; } } - - DC_FP_END(); } void dcn21_calculate_wm( @@ -1169,8 +1167,8 @@ } -bool dcn21_validate_bandwidth(struct dc *dc, struct dc_state *context, - bool fast_validate) +static noinline bool dcn21_validate_bandwidth_fp(struct dc *dc, + struct dc_state *context, bool fast_validate) { bool out = false; @@ -1179,11 +1177,14 @@ int vlevel = 0; int pipe_split_from[MAX_PIPES]; int pipe_cnt = 0; - display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_KERNEL); + display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_ATOMIC); DC_LOGGER_INIT(dc->ctx->logger); BW_VAL_TRACE_COUNT(); + /*Unsafe due to current pipe merge and split logic*/ + ASSERT(context != dc->current_state); + out = dcn20_fast_validate_bw(dc, context, pipes, &pipe_cnt, pipe_split_from, &vlevel); if (pipe_cnt == 0) @@ -1220,6 +1221,22 @@ return out; } + +/* + * Some of the functions further below use the FPU, so we need to wrap this + * with DC_FP_START()/DC_FP_END(). Use the same approach as for + * dcn20_validate_bandwidth in dcn20_resource.c. + */ +bool dcn21_validate_bandwidth(struct dc *dc, struct dc_state *context, + bool fast_validate) +{ + bool voltage_supported; + DC_FP_START(); + voltage_supported = dcn21_validate_bandwidth_fp(dc, context, fast_validate); + DC_FP_END(); + return voltage_supported; +} + static void dcn21_destroy_resource_pool(struct resource_pool **pool) { struct dcn21_resource_pool *dcn21_pool = TO_DCN21_RES_POOL(*pool); @@ -1874,6 +1891,14 @@ dcn21_clock_source_create(ctx, ctx->dc_bios, CLOCK_SOURCE_COMBO_PHY_PLL2, &clk_src_regs[2], false); + pool->base.clock_sources[DCN20_CLK_SRC_PLL3] = + dcn21_clock_source_create(ctx, ctx->dc_bios, + CLOCK_SOURCE_COMBO_PHY_PLL3, + &clk_src_regs[3], false); + pool->base.clock_sources[DCN20_CLK_SRC_PLL4] = + dcn21_clock_source_create(ctx, ctx->dc_bios, + CLOCK_SOURCE_COMBO_PHY_PLL4, + &clk_src_regs[4], false); pool->base.clk_src_count = DCN20_CLK_SRC_TOTAL_DCN21; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c @@ -63,13 +63,13 @@ enum gpio_mode mode) { if (gpio->pin) { - ASSERT_CRITICAL(false); + BREAK_TO_DEBUGGER(); return GPIO_RESULT_ALREADY_OPENED; } // No action if allocation failed during gpio construct if (!gpio->hw_container.ddc) { - ASSERT_CRITICAL(false); + BREAK_TO_DEBUGGER(); return GPIO_RESULT_NON_SPECIFIC_ERROR; } gpio->mode = mode; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/irq/dcn20/irq_service_dcn20.c @@ -299,8 +299,8 @@ pflip_int_entry(1), pflip_int_entry(2), pflip_int_entry(3), - [DC_IRQ_SOURCE_PFLIP5] = dummy_irq_entry(), - [DC_IRQ_SOURCE_PFLIP6] = dummy_irq_entry(), + pflip_int_entry(4), + pflip_int_entry(5), [DC_IRQ_SOURCE_PFLIP_UNDERLAY0] = dummy_irq_entry(), gpio_pad_int_entry(0), gpio_pad_int_entry(1), --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c @@ -168,6 +168,11 @@ .ack = NULL }; +static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { + .set = NULL, + .ack = NULL +}; + #undef BASE_INNER #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg @@ -230,6 +235,17 @@ .funcs = &vblank_irq_info_funcs\ } +/* vupdate_no_lock_int_entry maps to DC_IRQ_SOURCE_VUPDATEx, to match semantic + * of DCE's DC_IRQ_SOURCE_VUPDATEx. + */ +#define vupdate_no_lock_int_entry(reg_num)\ + [DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\ + IRQ_REG_ENTRY(OTG, reg_num,\ + OTG_GLOBAL_SYNC_STATUS, VUPDATE_NO_LOCK_INT_EN,\ + OTG_GLOBAL_SYNC_STATUS, VUPDATE_NO_LOCK_EVENT_CLEAR),\ + .funcs = &vupdate_no_lock_irq_info_funcs\ + } + #define vblank_int_entry(reg_num)\ [DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\ IRQ_REG_ENTRY(OTG, reg_num,\ @@ -338,6 +354,12 @@ vupdate_int_entry(3), vupdate_int_entry(4), vupdate_int_entry(5), + vupdate_no_lock_int_entry(0), + vupdate_no_lock_int_entry(1), + vupdate_no_lock_int_entry(2), + vupdate_no_lock_int_entry(3), + vupdate_no_lock_int_entry(4), + vupdate_no_lock_int_entry(5), vblank_int_entry(0), vblank_int_entry(1), vblank_int_entry(2), --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/dc/os_types.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/dc/os_types.h @@ -90,7 +90,7 @@ * general debug capabilities * */ -#if defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB) +#if defined(CONFIG_DEBUG_KERNEL_DC) && (defined(CONFIG_HAVE_KGDB) || defined(CONFIG_KGDB)) #define ASSERT_CRITICAL(expr) do { \ if (WARN_ON(!(expr))) { \ kgdb_breakpoint(); \ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/include/fixed31_32.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/include/fixed31_32.h @@ -431,6 +431,9 @@ */ static inline struct fixed31_32 dc_fixpt_pow(struct fixed31_32 arg1, struct fixed31_32 arg2) { + if (arg1.value == 0) + return arg2.value == 0 ? dc_fixpt_one : dc_fixpt_zero; + return dc_fixpt_exp( dc_fixpt_mul( dc_fixpt_log(arg1), --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/color/Makefile +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/color/Makefile @@ -23,7 +23,7 @@ # Makefile for the color sub-module of DAL. # -MOD_COLOR = color_gamma.o +MOD_COLOR = color_gamma.o color_table.o AMD_DAL_MOD_COLOR = $(addprefix $(AMDDALPATH)/modules/color/,$(MOD_COLOR)) #$(info ************ DAL COLOR MODULE MAKEFILE ************) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/color/color_gamma.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/color/color_gamma.c @@ -30,20 +30,10 @@ #include "opp.h" #include "color_gamma.h" -#define NUM_PTS_IN_REGION 16 -#define NUM_REGIONS 32 -#define MAX_HW_POINTS (NUM_PTS_IN_REGION*NUM_REGIONS) - static struct hw_x_point coordinates_x[MAX_HW_POINTS + 2]; -static struct fixed31_32 pq_table[MAX_HW_POINTS + 2]; -static struct fixed31_32 de_pq_table[MAX_HW_POINTS + 2]; - // these are helpers for calculations to reduce stack usage // do not depend on these being preserved across calls -static struct fixed31_32 scratch_1; -static struct fixed31_32 scratch_2; -static struct translate_from_linear_space_args scratch_gamma_args; /* Helper to optimize gamma calculation, only use in translate_from_linear, in * particular the dc_fixpt_pow function which is very expensive @@ -56,9 +46,6 @@ * just multiply with 2^gamma which can be computed once, and save the result so we * recursively compute all the values. */ -static struct fixed31_32 pow_buffer[NUM_PTS_IN_REGION]; -static struct fixed31_32 gamma_of_2; // 2^gamma -int pow_buffer_ptr = -1; /*sRGB 709 2.2 2.4 P3*/ static const int32_t gamma_numerator01[] = { 31308, 180000, 0, 0, 0}; static const int32_t gamma_numerator02[] = { 12920, 4500, 0, 0, 0}; @@ -66,9 +53,6 @@ static const int32_t gamma_numerator04[] = { 55, 99, 0, 0, 0}; static const int32_t gamma_numerator05[] = { 2400, 2200, 2200, 2400, 2600}; -static bool pq_initialized; /* = false; */ -static bool de_pq_initialized; /* = false; */ - /* one-time setup of X points */ void setup_x_points_distribution(void) { @@ -250,6 +234,8 @@ struct fixed31_32 scaling_factor = dc_fixpt_from_fraction(80, 10000); + struct fixed31_32 *pq_table = mod_color_get_table(type_pq_table); + /* pow function has problems with arguments too small */ for (i = 0; i < 32; i++) pq_table[i] = dc_fixpt_zero; @@ -269,7 +255,7 @@ uint32_t begin_index, end_index; struct fixed31_32 scaling_factor = dc_fixpt_from_int(125); - + struct fixed31_32 *de_pq_table = mod_color_get_table(type_de_pq_table); /* X points is 2^-25 to 2^7 * De-gamma X is 2^-12 to 2^0 – we are skipping first -12-(-25) = 13 regions */ @@ -339,6 +325,9 @@ { const struct fixed31_32 one = dc_fixpt_from_int(1); + struct fixed31_32 scratch_1, scratch_2; + struct calculate_buffer *cal_buffer = args->cal_buffer; + if (dc_fixpt_le(one, args->arg)) return one; @@ -352,21 +341,21 @@ return scratch_1; } else if (dc_fixpt_le(args->a0, args->arg)) { - if (pow_buffer_ptr == 0) { - gamma_of_2 = dc_fixpt_pow(dc_fixpt_from_int(2), + if (cal_buffer->buffer_index == 0) { + cal_buffer->gamma_of_2 = dc_fixpt_pow(dc_fixpt_from_int(2), dc_fixpt_recip(args->gamma)); } scratch_1 = dc_fixpt_add(one, args->a3); - if (pow_buffer_ptr < 16) + if (cal_buffer->buffer_index < 16) scratch_2 = dc_fixpt_pow(args->arg, dc_fixpt_recip(args->gamma)); else - scratch_2 = dc_fixpt_mul(gamma_of_2, - pow_buffer[pow_buffer_ptr%16]); + scratch_2 = dc_fixpt_mul(cal_buffer->gamma_of_2, + cal_buffer->buffer[cal_buffer->buffer_index%16]); - if (pow_buffer_ptr != -1) { - pow_buffer[pow_buffer_ptr%16] = scratch_2; - pow_buffer_ptr++; + if (cal_buffer->buffer_index != -1) { + cal_buffer->buffer[cal_buffer->buffer_index%16] = scratch_2; + cal_buffer->buffer_index++; } scratch_1 = dc_fixpt_mul(scratch_1, scratch_2); @@ -413,15 +402,17 @@ args->a1); } -static struct fixed31_32 calculate_gamma22(struct fixed31_32 arg, bool use_eetf) +static struct fixed31_32 calculate_gamma22(struct fixed31_32 arg, bool use_eetf, struct calculate_buffer *cal_buffer) { struct fixed31_32 gamma = dc_fixpt_from_fraction(22, 10); + struct translate_from_linear_space_args scratch_gamma_args; scratch_gamma_args.arg = arg; scratch_gamma_args.a0 = dc_fixpt_zero; scratch_gamma_args.a1 = dc_fixpt_zero; scratch_gamma_args.a2 = dc_fixpt_zero; scratch_gamma_args.a3 = dc_fixpt_zero; + scratch_gamma_args.cal_buffer = cal_buffer; scratch_gamma_args.gamma = gamma; if (use_eetf) @@ -467,14 +458,18 @@ static struct fixed31_32 translate_from_linear_space_ex( struct fixed31_32 arg, struct gamma_coefficients *coeff, - uint32_t color_index) + uint32_t color_index, + struct calculate_buffer *cal_buffer) { + struct translate_from_linear_space_args scratch_gamma_args; + scratch_gamma_args.arg = arg; scratch_gamma_args.a0 = coeff->a0[color_index]; scratch_gamma_args.a1 = coeff->a1[color_index]; scratch_gamma_args.a2 = coeff->a2[color_index]; scratch_gamma_args.a3 = coeff->a3[color_index]; scratch_gamma_args.gamma = coeff->user_gamma[color_index]; + scratch_gamma_args.cal_buffer = cal_buffer; return translate_from_linear_space(&scratch_gamma_args); } @@ -742,10 +737,11 @@ struct fixed31_32 output; struct fixed31_32 scaling_factor = dc_fixpt_from_fraction(sdr_white_level, 10000); + struct fixed31_32 *pq_table = mod_color_get_table(type_pq_table); - if (!pq_initialized && sdr_white_level == 80) { + if (!mod_color_is_table_init(type_pq_table) && sdr_white_level == 80) { precompute_pq(); - pq_initialized = true; + mod_color_set_table_init_state(type_pq_table, true); } /* TODO: start index is from segment 2^-24, skipping first segment @@ -787,12 +783,12 @@ { uint32_t i; struct fixed31_32 output; - + struct fixed31_32 *de_pq_table = mod_color_get_table(type_de_pq_table); struct fixed31_32 scaling_factor = dc_fixpt_from_int(125); - if (!de_pq_initialized) { + if (!mod_color_is_table_init(type_de_pq_table)) { precompute_de_pq(); - de_pq_initialized = true; + mod_color_set_table_init_state(type_de_pq_table, true); } @@ -811,7 +807,9 @@ static bool build_regamma(struct pwl_float_data_ex *rgb_regamma, uint32_t hw_points_num, - const struct hw_x_point *coordinate_x, enum dc_transfer_func_predefined type) + const struct hw_x_point *coordinate_x, + enum dc_transfer_func_predefined type, + struct calculate_buffer *cal_buffer) { uint32_t i; bool ret = false; @@ -827,20 +825,21 @@ if (!build_coefficients(coeff, type)) goto release; - memset(pow_buffer, 0, NUM_PTS_IN_REGION * sizeof(struct fixed31_32)); - pow_buffer_ptr = 0; // see variable definition for more info + memset(cal_buffer->buffer, 0, NUM_PTS_IN_REGION * sizeof(struct fixed31_32)); + cal_buffer->buffer_index = 0; // see variable definition for more info + i = 0; while (i <= hw_points_num) { /*TODO use y vs r,g,b*/ rgb->r = translate_from_linear_space_ex( - coord_x->x, coeff, 0); + coord_x->x, coeff, 0, cal_buffer); rgb->g = rgb->r; rgb->b = rgb->r; ++coord_x; ++rgb; ++i; } - pow_buffer_ptr = -1; // reset back to no optimize + cal_buffer->buffer_index = -1; ret = true; release: kvfree(coeff); @@ -932,7 +931,8 @@ static bool build_freesync_hdr(struct pwl_float_data_ex *rgb_regamma, uint32_t hw_points_num, const struct hw_x_point *coordinate_x, - const struct freesync_hdr_tf_params *fs_params) + const struct freesync_hdr_tf_params *fs_params, + struct calculate_buffer *cal_buffer) { uint32_t i; struct pwl_float_data_ex *rgb = rgb_regamma; @@ -969,7 +969,7 @@ max_content = max_display; if (!use_eetf) - pow_buffer_ptr = 0; // see var definition for more info + cal_buffer->buffer_index = 0; // see var definition for more info rgb += 32; // first 32 points have problems with fixed point, too small coord_x += 32; for (i = 32; i <= hw_points_num; i++) { @@ -988,7 +988,7 @@ if (dc_fixpt_lt(scaledX, dc_fixpt_zero)) output = dc_fixpt_zero; else - output = calculate_gamma22(scaledX, use_eetf); + output = calculate_gamma22(scaledX, use_eetf, cal_buffer); rgb->r = output; rgb->g = output; @@ -1008,7 +1008,7 @@ ++coord_x; ++rgb; } - pow_buffer_ptr = -1; + cal_buffer->buffer_index = -1; return true; } @@ -1606,7 +1606,7 @@ } static void apply_degamma_for_user_regamma(struct pwl_float_data_ex *rgb_regamma, - uint32_t hw_points_num) + uint32_t hw_points_num, struct calculate_buffer *cal_buffer) { uint32_t i; @@ -1614,12 +1614,12 @@ struct pwl_float_data_ex *rgb = rgb_regamma; const struct hw_x_point *coord_x = coordinates_x; - build_coefficients(&coeff, true); + build_coefficients(&coeff, TRANSFER_FUNCTION_SRGB); i = 0; while (i != hw_points_num + 1) { rgb->r = translate_from_linear_space_ex( - coord_x->x, &coeff, 0); + coord_x->x, &coeff, 0, cal_buffer); rgb->g = rgb->r; rgb->b = rgb->r; ++coord_x; @@ -1674,7 +1674,8 @@ #define _EXTRA_POINTS 3 bool calculate_user_regamma_coeff(struct dc_transfer_func *output_tf, - const struct regamma_lut *regamma) + const struct regamma_lut *regamma, + struct calculate_buffer *cal_buffer) { struct gamma_coefficients coeff; const struct hw_x_point *coord_x = coordinates_x; @@ -1706,11 +1707,11 @@ } while (i != MAX_HW_POINTS + 1) { output_tf->tf_pts.red[i] = translate_from_linear_space_ex( - coord_x->x, &coeff, 0); + coord_x->x, &coeff, 0, cal_buffer); output_tf->tf_pts.green[i] = translate_from_linear_space_ex( - coord_x->x, &coeff, 1); + coord_x->x, &coeff, 1, cal_buffer); output_tf->tf_pts.blue[i] = translate_from_linear_space_ex( - coord_x->x, &coeff, 2); + coord_x->x, &coeff, 2, cal_buffer); ++coord_x; ++i; } @@ -1723,7 +1724,8 @@ } bool calculate_user_regamma_ramp(struct dc_transfer_func *output_tf, - const struct regamma_lut *regamma) + const struct regamma_lut *regamma, + struct calculate_buffer *cal_buffer) { struct dc_transfer_func_distributed_points *tf_pts = &output_tf->tf_pts; struct dividers dividers; @@ -1756,7 +1758,7 @@ scale_user_regamma_ramp(rgb_user, ®amma->ramp, dividers); if (regamma->flags.bits.applyDegamma == 1) { - apply_degamma_for_user_regamma(rgb_regamma, MAX_HW_POINTS); + apply_degamma_for_user_regamma(rgb_regamma, MAX_HW_POINTS, cal_buffer); copy_rgb_regamma_to_coordinates_x(coordinates_x, MAX_HW_POINTS, rgb_regamma); } @@ -1943,7 +1945,8 @@ struct dc_transfer_func_distributed_points *points, struct pwl_float_data_ex *rgb_regamma, const struct freesync_hdr_tf_params *fs_params, - uint32_t sdr_ref_white_level) + uint32_t sdr_ref_white_level, + struct calculate_buffer *cal_buffer) { uint32_t i; bool ret = false; @@ -1979,7 +1982,8 @@ build_freesync_hdr(rgb_regamma, MAX_HW_POINTS, coordinates_x, - fs_params); + fs_params, + cal_buffer); ret = true; } else if (trans == TRANSFER_FUNCTION_HLG) { @@ -2008,7 +2012,8 @@ build_regamma(rgb_regamma, MAX_HW_POINTS, coordinates_x, - trans); + trans, + cal_buffer); ret = true; } @@ -2018,7 +2023,8 @@ bool mod_color_calculate_regamma_params(struct dc_transfer_func *output_tf, const struct dc_gamma *ramp, bool mapUserRamp, bool canRomBeUsed, - const struct freesync_hdr_tf_params *fs_params) + const struct freesync_hdr_tf_params *fs_params, + struct calculate_buffer *cal_buffer) { struct dc_transfer_func_distributed_points *tf_pts = &output_tf->tf_pts; struct dividers dividers; @@ -2090,7 +2096,8 @@ tf_pts, rgb_regamma, fs_params, - output_tf->sdr_ref_white_level); + output_tf->sdr_ref_white_level, + cal_buffer); if (ret) { map_regamma_hw_to_x_user(ramp, coeff, rgb_user, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/color/color_gamma.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/color/color_gamma.h @@ -26,6 +26,8 @@ #ifndef COLOR_MOD_COLOR_GAMMA_H_ #define COLOR_MOD_COLOR_GAMMA_H_ +#include "color_table.h" + struct dc_transfer_func; struct dc_gamma; struct dc_transfer_func_distributed_points; @@ -83,6 +85,12 @@ unsigned int skip_tm; // skip tm }; +struct calculate_buffer { + int buffer_index; + struct fixed31_32 buffer[NUM_PTS_IN_REGION]; + struct fixed31_32 gamma_of_2; +}; + struct translate_from_linear_space_args { struct fixed31_32 arg; struct fixed31_32 a0; @@ -90,6 +98,7 @@ struct fixed31_32 a2; struct fixed31_32 a3; struct fixed31_32 gamma; + struct calculate_buffer *cal_buffer; }; void setup_x_points_distribution(void); @@ -99,7 +108,8 @@ bool mod_color_calculate_regamma_params(struct dc_transfer_func *output_tf, const struct dc_gamma *ramp, bool mapUserRamp, bool canRomBeUsed, - const struct freesync_hdr_tf_params *fs_params); + const struct freesync_hdr_tf_params *fs_params, + struct calculate_buffer *cal_buffer); bool mod_color_calculate_degamma_params(struct dc_color_caps *dc_caps, struct dc_transfer_func *output_tf, @@ -109,10 +119,12 @@ struct dc_transfer_func_distributed_points *points); bool calculate_user_regamma_coeff(struct dc_transfer_func *output_tf, - const struct regamma_lut *regamma); + const struct regamma_lut *regamma, + struct calculate_buffer *cal_buffer); bool calculate_user_regamma_ramp(struct dc_transfer_func *output_tf, - const struct regamma_lut *regamma); + const struct regamma_lut *regamma, + struct calculate_buffer *cal_buffer); #endif /* COLOR_MOD_COLOR_GAMMA_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/color/color_table.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/color/color_table.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2019 Advanced Micro Devices, Inc. (unpublished) + * + * All rights reserved. This notice is intended as a precaution against + * inadvertent publication and does not imply publication or any waiver + * of confidentiality. The year included in the foregoing notice is the + * year of creation of the work. + */ + +#include "color_table.h" + +static struct fixed31_32 pq_table[MAX_HW_POINTS + 2]; +static struct fixed31_32 de_pq_table[MAX_HW_POINTS + 2]; +static bool pq_initialized; +static bool de_pg_initialized; + +bool mod_color_is_table_init(enum table_type type) +{ + bool ret = false; + + if (type == type_pq_table) + ret = pq_initialized; + if (type == type_de_pq_table) + ret = de_pg_initialized; + + return ret; +} + +struct fixed31_32 *mod_color_get_table(enum table_type type) +{ + struct fixed31_32 *table = NULL; + + if (type == type_pq_table) + table = pq_table; + if (type == type_de_pq_table) + table = de_pq_table; + + return table; +} + +void mod_color_set_table_init_state(enum table_type type, bool state) +{ + if (type == type_pq_table) + pq_initialized = state; + if (type == type_de_pq_table) + de_pg_initialized = state; +} + --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/color/color_table.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/color/color_table.h @@ -0,0 +1,47 @@ +/* + * Copyright 2016 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Authors: AMD + * + */ + + +#ifndef COLOR_MOD_COLOR_TABLE_H_ +#define COLOR_MOD_COLOR_TABLE_H_ + +#include "dc_types.h" + +#define NUM_PTS_IN_REGION 16 +#define NUM_REGIONS 32 +#define MAX_HW_POINTS (NUM_PTS_IN_REGION*NUM_REGIONS) + +enum table_type { + type_pq_table, + type_de_pq_table +}; + +bool mod_color_is_table_init(enum table_type type); + +struct fixed31_32 *mod_color_get_table(enum table_type type); + +void mod_color_set_table_init_state(enum table_type type, bool state); + +#endif /* COLOR_MOD_COLOR_TABLE_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/freesync/freesync.c @@ -324,22 +324,44 @@ /* Choose number of frames to insert based on how close it * can get to the mid point of the variable range. + * - Delta for CEIL: delta_from_mid_point_in_us_1 + * - Delta for FLOOR: delta_from_mid_point_in_us_2 */ - if ((frame_time_in_us / mid_point_frames_ceil) > in_out_vrr->min_duration_in_us && - (delta_from_mid_point_in_us_1 < delta_from_mid_point_in_us_2 || - mid_point_frames_floor < 2)) { + if ((last_render_time_in_us / mid_point_frames_ceil) < in_out_vrr->min_duration_in_us) { + /* Check for out of range. + * If using CEIL produces a value that is out of range, + * then we are forced to use FLOOR. + */ + frames_to_insert = mid_point_frames_floor; + } else if (mid_point_frames_floor < 2) { + /* Check if FLOOR would result in non-LFC. In this case + * choose to use CEIL + */ + frames_to_insert = mid_point_frames_ceil; + } else if (delta_from_mid_point_in_us_1 < delta_from_mid_point_in_us_2) { + /* If choosing CEIL results in a frame duration that is + * closer to the mid point of the range. + * Choose CEIL + */ frames_to_insert = mid_point_frames_ceil; - delta_from_mid_point_delta_in_us = delta_from_mid_point_in_us_2 - - delta_from_mid_point_in_us_1; } else { + /* If choosing FLOOR results in a frame duration that is + * closer to the mid point of the range. + * Choose FLOOR + */ frames_to_insert = mid_point_frames_floor; - delta_from_mid_point_delta_in_us = delta_from_mid_point_in_us_1 - - delta_from_mid_point_in_us_2; } /* Prefer current frame multiplier when BTR is enabled unless it drifts * too far from the midpoint */ + if (delta_from_mid_point_in_us_1 < delta_from_mid_point_in_us_2) { + delta_from_mid_point_delta_in_us = delta_from_mid_point_in_us_2 - + delta_from_mid_point_in_us_1; + } else { + delta_from_mid_point_delta_in_us = delta_from_mid_point_in_us_1 - + delta_from_mid_point_in_us_2; + } if (in_out_vrr->btr.frames_to_insert != 0 && delta_from_mid_point_delta_in_us < BTR_DRIFT_MARGIN) { if (((last_render_time_in_us / in_out_vrr->btr.frames_to_insert) < --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_log.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_log.h @@ -27,7 +27,7 @@ #define MOD_HDCP_LOG_H_ #ifdef CONFIG_DRM_AMD_DC_HDCP -#define HDCP_LOG_ERR(hdcp, ...) DRM_WARN(__VA_ARGS__) +#define HDCP_LOG_ERR(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__) #define HDCP_LOG_VER(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__) #define HDCP_LOG_FSM(hdcp, ...) DRM_DEBUG_KMS(__VA_ARGS__) #define HDCP_LOG_TOP(hdcp, ...) pr_debug("[HDCP_TOP]:"__VA_ARGS__) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c @@ -88,7 +88,7 @@ enum mod_hdcp_status status = MOD_HDCP_STATUS_SUCCESS; if (!psp->dtm_context.dtm_initialized) { - DRM_ERROR("Failed to add display topology, DTM TA is not initialized."); + DRM_INFO("Failed to add display topology, DTM TA is not initialized."); display->state = MOD_HDCP_DISPLAY_INACTIVE; return MOD_HDCP_STATUS_FAILURE; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/include/amd_shared.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/include/amd_shared.h @@ -45,6 +45,7 @@ AMD_APU_IS_RAVEN2 = 0x00000002UL, AMD_APU_IS_PICASSO = 0x00000004UL, AMD_APU_IS_RENOIR = 0x00000008UL, + AMD_APU_IS_GREEN_SARDINE = 0x00000010UL, }; enum amd_ip_block_type { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c @@ -2042,8 +2042,6 @@ { int i; - BUG_ON(numbytes > MAX_SW_I2C_COMMANDS); - req->I2CcontrollerPort = 0; req->I2CSpeed = 2; req->SlaveAddress = address; @@ -2081,6 +2079,12 @@ struct smu_table_context *smu_table = &adev->smu.smu_table; struct smu_table *table = &smu_table->driver_table; + if (numbytes > MAX_SW_I2C_COMMANDS) { + dev_err(adev->dev, "numbytes requested %d is over max allowed %d\n", + numbytes, MAX_SW_I2C_COMMANDS); + return -EINVAL; + } + memset(&req, 0, sizeof(req)); arcturus_fill_eeprom_i2c_req(&req, false, address, numbytes, data); @@ -2117,6 +2121,12 @@ SwI2cRequest_t req; struct amdgpu_device *adev = to_amdgpu_device(control); + if (numbytes > MAX_SW_I2C_COMMANDS) { + dev_err(adev->dev, "numbytes requested %d is over max allowed %d\n", + numbytes, MAX_SW_I2C_COMMANDS); + return -EINVAL; + } + memset(&req, 0, sizeof(req)); arcturus_fill_eeprom_i2c_req(&req, true, address, numbytes, data); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.c @@ -142,12 +142,12 @@ { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_BCLK_OFF_MASK, BACO_CNTL__BACO_BCLK_OFF__SHIFT, 0, 0x00 }, { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_POWER_OFF_MASK, BACO_CNTL__BACO_POWER_OFF__SHIFT, 0, 0x00 }, { CMD_DELAY_MS, 0, 0, 0, 20, 0 }, - { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__PWRGOOD_BF_MASK, 0, 0xffffffff, 0x20 }, + { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__PWRGOOD_BF_MASK, 0, 0xffffffff, 0x200 }, { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_ISO_DIS_MASK, BACO_CNTL__BACO_ISO_DIS__SHIFT, 0, 0x01 }, - { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__PWRGOOD_MASK, 0, 5, 0x1c }, + { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__PWRGOOD_MASK, 0, 5, 0x1c00 }, { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_ANA_ISO_DIS_MASK, BACO_CNTL__BACO_ANA_ISO_DIS__SHIFT, 0, 0x01 }, { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_RESET_EN_MASK, BACO_CNTL__BACO_RESET_EN__SHIFT, 0, 0x00 }, - { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__RCU_BIF_CONFIG_DONE_MASK, 0, 5, 0x10 }, + { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__RCU_BIF_CONFIG_DONE_MASK, 0, 5, 0x100 }, { CMD_READMODIFYWRITE, mmBACO_CNTL, BACO_CNTL__BACO_EN_MASK, BACO_CNTL__BACO_EN__SHIFT, 0, 0x00 }, { CMD_WAITFOR, mmBACO_CNTL, BACO_CNTL__BACO_MODE_MASK, 0, 0xffffffff, 0x00 } }; @@ -155,6 +155,7 @@ static const struct baco_cmd_entry clean_baco_tbl[] = { { CMD_WRITE, mmBIOS_SCRATCH_6, 0, 0, 0, 0 }, + { CMD_WRITE, mmBIOS_SCRATCH_7, 0, 0, 0, 0 }, { CMD_WRITE, mmCP_PFP_UCODE_ADDR, 0, 0, 0, 0 } }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c @@ -204,8 +204,7 @@ { struct smu10_hwmgr *smu10_data = (struct smu10_hwmgr *)(hwmgr->backend); - if (smu10_data->need_min_deep_sleep_dcefclk && - smu10_data->deep_sleep_dcefclk != clock) { + if (clock && smu10_data->deep_sleep_dcefclk != clock) { smu10_data->deep_sleep_dcefclk = clock; smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetMinDeepSleepDcefclk, @@ -219,8 +218,7 @@ { struct smu10_hwmgr *smu10_data = (struct smu10_hwmgr *)(hwmgr->backend); - if (smu10_data->dcf_actual_hard_min_freq && - smu10_data->dcf_actual_hard_min_freq != clock) { + if (clock && smu10_data->dcf_actual_hard_min_freq != clock) { smu10_data->dcf_actual_hard_min_freq = clock; smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetHardMinDcefclkByFreq, @@ -234,8 +232,7 @@ { struct smu10_hwmgr *smu10_data = (struct smu10_hwmgr *)(hwmgr->backend); - if (smu10_data->f_actual_hard_min_freq && - smu10_data->f_actual_hard_min_freq != clock) { + if (clock && smu10_data->f_actual_hard_min_freq != clock) { smu10_data->f_actual_hard_min_freq = clock; smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetHardMinFclkByFreq, @@ -566,6 +563,8 @@ struct smu10_hwmgr *data = hwmgr->backend; uint32_t min_sclk = hwmgr->display_config->min_core_set_clock; uint32_t min_mclk = hwmgr->display_config->min_mem_set_clock/100; + uint32_t index_fclk = data->clock_vol_info.vdd_dep_on_fclk->count - 1; + uint32_t index_socclk = data->clock_vol_info.vdd_dep_on_socclk->count - 1; if (hwmgr->smu_version < 0x1E3700) { pr_info("smu firmware version too old, can not set dpm level\n"); @@ -679,13 +678,13 @@ smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetHardMinFclkByFreq, hwmgr->display_config->num_display > 3 ? - SMU10_UMD_PSTATE_PEAK_FCLK : + data->clock_vol_info.vdd_dep_on_fclk->entries[0].clk : min_mclk, NULL); smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetHardMinSocclkByFreq, - SMU10_UMD_PSTATE_MIN_SOCCLK, + data->clock_vol_info.vdd_dep_on_socclk->entries[0].clk, NULL); smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetHardMinVcn, @@ -698,11 +697,11 @@ NULL); smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetSoftMaxFclkByFreq, - SMU10_UMD_PSTATE_PEAK_FCLK, + data->clock_vol_info.vdd_dep_on_fclk->entries[index_fclk].clk, NULL); smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetSoftMaxSocclkByFreq, - SMU10_UMD_PSTATE_PEAK_SOCCLK, + data->clock_vol_info.vdd_dep_on_socclk->entries[index_socclk].clk, NULL); smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetSoftMaxVcn, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c @@ -524,6 +524,48 @@ tmp, MC_CG_ARB_FREQ_F0); } +static uint16_t smu7_override_pcie_speed(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); + uint16_t pcie_gen = 0; + + if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN4 && + adev->pm.pcie_gen_mask & CAIL_ASIC_PCIE_LINK_SPEED_SUPPORT_GEN4) + pcie_gen = 3; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3 && + adev->pm.pcie_gen_mask & CAIL_ASIC_PCIE_LINK_SPEED_SUPPORT_GEN3) + pcie_gen = 2; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 && + adev->pm.pcie_gen_mask & CAIL_ASIC_PCIE_LINK_SPEED_SUPPORT_GEN2) + pcie_gen = 1; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN1 && + adev->pm.pcie_gen_mask & CAIL_ASIC_PCIE_LINK_SPEED_SUPPORT_GEN1) + pcie_gen = 0; + + return pcie_gen; +} + +static uint16_t smu7_override_pcie_width(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); + uint16_t pcie_width = 0; + + if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X16) + pcie_width = 16; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X12) + pcie_width = 12; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X8) + pcie_width = 8; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X4) + pcie_width = 4; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X2) + pcie_width = 2; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X1) + pcie_width = 1; + + return pcie_width; +} + static int smu7_setup_default_pcie_table(struct pp_hwmgr *hwmgr) { struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend); @@ -620,6 +662,11 @@ PP_Min_PCIEGen), get_pcie_lane_support(data->pcie_lane_cap, PP_Max_PCIELane)); + + if (data->pcie_dpm_key_disabled) + phm_setup_pcie_table_entry(&data->dpm_table.pcie_speed_table, + data->dpm_table.pcie_speed_table.count, + smu7_override_pcie_speed(hwmgr), smu7_override_pcie_width(hwmgr)); } return 0; } @@ -1180,6 +1227,13 @@ NULL)), "Failed to enable pcie DPM during DPM Start Function!", return -EINVAL); + } else { + PP_ASSERT_WITH_CODE( + (0 == smum_send_msg_to_smc(hwmgr, + PPSMC_MSG_PCIeDPM_Disable, + NULL)), + "Failed to disble pcie DPM during DPM Start Function!", + return -EINVAL); } if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, @@ -1541,6 +1595,10 @@ PP_ASSERT_WITH_CODE((tmp_result == 0), "Failed to reset to default!", result = tmp_result); + tmp_result = smum_stop_smc(hwmgr); + PP_ASSERT_WITH_CODE((tmp_result == 0), + "Failed to stop smc!", result = tmp_result); + tmp_result = smu7_force_switch_to_arbf0(hwmgr); PP_ASSERT_WITH_CODE((tmp_result == 0), "Failed to force to switch arbf0!", result = tmp_result); @@ -2879,7 +2937,7 @@ if (hwmgr->is_kicker) switch_limit_us = data->is_memory_gddr5 ? 450 : 150; else - switch_limit_us = data->is_memory_gddr5 ? 190 : 150; + switch_limit_us = data->is_memory_gddr5 ? 200 : 150; break; case CHIP_VEGAM: switch_limit_us = 30; @@ -3587,7 +3645,8 @@ case AMDGPU_PP_SENSOR_GPU_POWER: return smu7_get_gpu_power(hwmgr, (uint32_t *)value); case AMDGPU_PP_SENSOR_VDDGFX: - if ((data->vr_config & 0xff) == 0x2) + if ((data->vr_config & VRCONF_VDDGFX_MASK) == + (VR_SVI2_PLANE_2 << VRCONF_VDDGFX_SHIFT)) val_vid = PHM_READ_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, PWR_SVI2_STATUS, PLANE2_VID); else @@ -4756,6 +4815,72 @@ return 0; } +static int smu7_get_sclks_with_latency(struct pp_hwmgr *hwmgr, + struct pp_clock_levels_with_latency *clocks) +{ + struct phm_ppt_v1_information *table_info = + (struct phm_ppt_v1_information *)hwmgr->pptable; + struct phm_ppt_v1_clock_voltage_dependency_table *dep_sclk_table = + table_info->vdd_dep_on_sclk; + int i; + + clocks->num_levels = 0; + for (i = 0; i < dep_sclk_table->count; i++) { + if (dep_sclk_table->entries[i].clk) { + clocks->data[clocks->num_levels].clocks_in_khz = + dep_sclk_table->entries[i].clk * 10; + clocks->num_levels++; + } + } + + return 0; +} + +static int smu7_get_mclks_with_latency(struct pp_hwmgr *hwmgr, + struct pp_clock_levels_with_latency *clocks) +{ + struct phm_ppt_v1_information *table_info = + (struct phm_ppt_v1_information *)hwmgr->pptable; + struct phm_ppt_v1_clock_voltage_dependency_table *dep_mclk_table = + table_info->vdd_dep_on_mclk; + int i; + + clocks->num_levels = 0; + for (i = 0; i < dep_mclk_table->count; i++) { + if (dep_mclk_table->entries[i].clk) { + clocks->data[clocks->num_levels].clocks_in_khz = + dep_mclk_table->entries[i].clk * 10; + clocks->data[clocks->num_levels].latency_in_us = + smu7_get_mem_latency(hwmgr, dep_mclk_table->entries[i].clk); + clocks->num_levels++; + } + } + + return 0; +} + +static int smu7_get_clock_by_type_with_latency(struct pp_hwmgr *hwmgr, + enum amd_pp_clock_type type, + struct pp_clock_levels_with_latency *clocks) +{ + if (!(hwmgr->chip_id >= CHIP_POLARIS10 && + hwmgr->chip_id <= CHIP_VEGAM)) + return -EINVAL; + + switch (type) { + case amd_pp_sys_clock: + smu7_get_sclks_with_latency(hwmgr, clocks); + break; + case amd_pp_mem_clock: + smu7_get_mclks_with_latency(hwmgr, clocks); + break; + default: + return -EINVAL; + } + + return 0; +} + static int smu7_notify_cac_buffer_info(struct pp_hwmgr *hwmgr, uint32_t virtual_addr_low, uint32_t virtual_addr_hi, @@ -5173,6 +5298,7 @@ .get_mclk_od = smu7_get_mclk_od, .set_mclk_od = smu7_set_mclk_od, .get_clock_by_type = smu7_get_clock_by_type, + .get_clock_by_type_with_latency = smu7_get_clock_by_type_with_latency, .read_sensor = smu7_read_sensor, .dynamic_state_management_disable = smu7_disable_dpm_tasks, .avfs_control = smu7_avfs_control, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c @@ -54,6 +54,9 @@ #include "smuio/smuio_9_0_offset.h" #include "smuio/smuio_9_0_sh_mask.h" +#define smnPCIE_LC_SPEED_CNTL 0x11140290 +#define smnPCIE_LC_LINK_WIDTH_CNTL 0x11140288 + #define HBM_MEMORY_CHANNEL_WIDTH 128 static const uint32_t channel_number[] = {1, 2, 0, 4, 0, 8, 0, 16, 2}; @@ -443,8 +446,7 @@ if (PP_CAP(PHM_PlatformCaps_VCEDPM)) data->smu_features[GNLD_DPM_VCE].supported = true; - if (!data->registry_data.pcie_dpm_key_disabled) - data->smu_features[GNLD_DPM_LINK].supported = true; + data->smu_features[GNLD_DPM_LINK].supported = true; if (!data->registry_data.dcefclk_dpm_key_disabled) data->smu_features[GNLD_DPM_DCEFCLK].supported = true; @@ -1506,6 +1508,55 @@ return 0; } +static int vega10_override_pcie_parameters(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); + struct vega10_hwmgr *data = + (struct vega10_hwmgr *)(hwmgr->backend); + uint32_t pcie_gen = 0, pcie_width = 0; + PPTable_t *pp_table = &(data->smc_state_table.pp_table); + int i; + + if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN4) + pcie_gen = 3; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3) + pcie_gen = 2; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2) + pcie_gen = 1; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN1) + pcie_gen = 0; + + if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X16) + pcie_width = 6; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X12) + pcie_width = 5; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X8) + pcie_width = 4; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X4) + pcie_width = 3; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X2) + pcie_width = 2; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X1) + pcie_width = 1; + + for (i = 0; i < NUM_LINK_LEVELS; i++) { + if (pp_table->PcieGenSpeed[i] > pcie_gen) + pp_table->PcieGenSpeed[i] = pcie_gen; + + if (pp_table->PcieLaneCount[i] > pcie_width) + pp_table->PcieLaneCount[i] = pcie_width; + } + + if (data->registry_data.pcie_dpm_key_disabled) { + for (i = 0; i < NUM_LINK_LEVELS; i++) { + pp_table->PcieGenSpeed[i] = pcie_gen; + pp_table->PcieLaneCount[i] = pcie_width; + } + } + + return 0; +} + static int vega10_populate_smc_link_levels(struct pp_hwmgr *hwmgr) { int result = -1; @@ -2557,6 +2608,11 @@ "Failed to initialize Link Level!", return result); + result = vega10_override_pcie_parameters(hwmgr); + PP_ASSERT_WITH_CODE(!result, + "Failed to override pcie parameters!", + return result); + result = vega10_populate_all_graphic_levels(hwmgr); PP_ASSERT_WITH_CODE(!result, "Failed to initialize Graphics Level!", @@ -2920,9 +2976,18 @@ } } + if (data->registry_data.pcie_dpm_key_disabled) { + PP_ASSERT_WITH_CODE(!vega10_enable_smc_features(hwmgr, + false, data->smu_features[GNLD_DPM_LINK].smu_feature_bitmap), + "Attempt to Disable Link DPM feature Failed!", return -EINVAL); + data->smu_features[GNLD_DPM_LINK].enabled = false; + data->smu_features[GNLD_DPM_LINK].supported = false; + } + return 0; } + static int vega10_enable_disable_PCC_limit_feature(struct pp_hwmgr *hwmgr, bool enable) { struct vega10_hwmgr *data = hwmgr->backend; @@ -4535,6 +4600,24 @@ return 0; } +static int vega10_get_current_pcie_link_width_level(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = hwmgr->adev; + + return (RREG32_PCIE(smnPCIE_LC_LINK_WIDTH_CNTL) & + PCIE_LC_LINK_WIDTH_CNTL__LC_LINK_WIDTH_RD_MASK) + >> PCIE_LC_LINK_WIDTH_CNTL__LC_LINK_WIDTH_RD__SHIFT; +} + +static int vega10_get_current_pcie_link_speed_level(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = hwmgr->adev; + + return (RREG32_PCIE(smnPCIE_LC_SPEED_CNTL) & + PSWUSP0_PCIE_LC_SPEED_CNTL__LC_CURRENT_DATA_RATE_MASK) + >> PSWUSP0_PCIE_LC_SPEED_CNTL__LC_CURRENT_DATA_RATE__SHIFT; +} + static int vega10_print_clock_levels(struct pp_hwmgr *hwmgr, enum pp_clock_type type, char *buf) { @@ -4543,8 +4626,9 @@ struct vega10_single_dpm_table *mclk_table = &(data->dpm_table.mem_table); struct vega10_single_dpm_table *soc_table = &(data->dpm_table.soc_table); struct vega10_single_dpm_table *dcef_table = &(data->dpm_table.dcef_table); - struct vega10_pcie_table *pcie_table = &(data->dpm_table.pcie_table); struct vega10_odn_clock_voltage_dependency_table *podn_vdd_dep = NULL; + uint32_t gen_speed, lane_width, current_gen_speed, current_lane_width; + PPTable_t *pptable = &(data->smc_state_table.pp_table); int i, now, size = 0, count = 0; @@ -4601,15 +4685,31 @@ "*" : ""); break; case PP_PCIE: - smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetCurrentLinkIndex, &now); - - for (i = 0; i < pcie_table->count; i++) - size += sprintf(buf + size, "%d: %s %s\n", i, - (pcie_table->pcie_gen[i] == 0) ? "2.5GT/s, x1" : - (pcie_table->pcie_gen[i] == 1) ? "5.0GT/s, x16" : - (pcie_table->pcie_gen[i] == 2) ? "8.0GT/s, x16" : "", - (i == now) ? "*" : ""); + current_gen_speed = + vega10_get_current_pcie_link_speed_level(hwmgr); + current_lane_width = + vega10_get_current_pcie_link_width_level(hwmgr); + for (i = 0; i < NUM_LINK_LEVELS; i++) { + gen_speed = pptable->PcieGenSpeed[i]; + lane_width = pptable->PcieLaneCount[i]; + + size += sprintf(buf + size, "%d: %s %s %s\n", i, + (gen_speed == 0) ? "2.5GT/s," : + (gen_speed == 1) ? "5.0GT/s," : + (gen_speed == 2) ? "8.0GT/s," : + (gen_speed == 3) ? "16.0GT/s," : "", + (lane_width == 1) ? "x1" : + (lane_width == 2) ? "x2" : + (lane_width == 3) ? "x4" : + (lane_width == 4) ? "x8" : + (lane_width == 5) ? "x12" : + (lane_width == 6) ? "x16" : "", + (current_gen_speed == gen_speed) && + (current_lane_width == lane_width) ? + "*" : ""); + } break; + case OD_SCLK: if (hwmgr->od_enabled) { size = sprintf(buf, "%s:\n", "OD_SCLK"); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c @@ -363,17 +363,29 @@ static int vega10_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) { + struct phm_ppt_v2_information *pp_table_info = + (struct phm_ppt_v2_information *)(hwmgr->pptable); + struct phm_tdp_table *tdp_table = pp_table_info->tdp_table; struct amdgpu_device *adev = hwmgr->adev; - int low = VEGA10_THERMAL_MINIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; - int high = VEGA10_THERMAL_MAXIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + int low = VEGA10_THERMAL_MINIMUM_ALERT_TEMP; + int high = VEGA10_THERMAL_MAXIMUM_ALERT_TEMP; uint32_t val; - if (low < range->min) - low = range->min; - if (high > range->max) - high = range->max; + /* compare them in unit celsius degree */ + if (low < range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES) + low = range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + + /* + * As a common sense, usSoftwareShutdownTemp should be bigger + * than ThotspotLimit. For any invalid usSoftwareShutdownTemp, + * we will just use the max possible setting VEGA10_THERMAL_MAXIMUM_ALERT_TEMP + * to avoid false alarms. + */ + if ((tdp_table->usSoftwareShutdownTemp > + range->hotspot_crit_max / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)) { + if (high > tdp_table->usSoftwareShutdownTemp) + high = tdp_table->usSoftwareShutdownTemp; + } if (low > high) return -EINVAL; @@ -382,8 +394,8 @@ val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, MAX_IH_CREDIT, 5); val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, THERM_IH_HW_ENA, 1); - val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, (high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); - val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, (low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); + val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, high); + val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, low); val &= (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK) & (~THM_THERMAL_INT_CTRL__THERM_INTH_MASK_MASK) & (~THM_THERMAL_INT_CTRL__THERM_INTL_MASK_MASK); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c @@ -126,6 +126,7 @@ data->registry_data.auto_wattman_debug = 0; data->registry_data.auto_wattman_sample_period = 100; data->registry_data.auto_wattman_threshold = 50; + data->registry_data.pcie_dpm_key_disabled = !(hwmgr->feature_mask & PP_PCIE_DPM_MASK); } static int vega12_set_features_platform_caps(struct pp_hwmgr *hwmgr) @@ -474,6 +475,90 @@ dpm_state->hard_max_level = 0xffff; } +static int vega12_override_pcie_parameters(struct pp_hwmgr *hwmgr) +{ + struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); + struct vega12_hwmgr *data = + (struct vega12_hwmgr *)(hwmgr->backend); + uint32_t pcie_gen = 0, pcie_width = 0, smu_pcie_arg, pcie_gen_arg, pcie_width_arg; + PPTable_t *pp_table = &(data->smc_state_table.pp_table); + int i; + int ret; + + if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN4) + pcie_gen = 3; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3) + pcie_gen = 2; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2) + pcie_gen = 1; + else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN1) + pcie_gen = 0; + + if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X16) + pcie_width = 6; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X12) + pcie_width = 5; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X8) + pcie_width = 4; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X4) + pcie_width = 3; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X2) + pcie_width = 2; + else if (adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X1) + pcie_width = 1; + + /* Bit 31:16: LCLK DPM level. 0 is DPM0, and 1 is DPM1 + * Bit 15:8: PCIE GEN, 0 to 3 corresponds to GEN1 to GEN4 + * Bit 7:0: PCIE lane width, 1 to 7 corresponds is x1 to x32 + */ + for (i = 0; i < NUM_LINK_LEVELS; i++) { + pcie_gen_arg = (pp_table->PcieGenSpeed[i] > pcie_gen) ? pcie_gen : + pp_table->PcieGenSpeed[i]; + pcie_width_arg = (pp_table->PcieLaneCount[i] > pcie_width) ? pcie_width : + pp_table->PcieLaneCount[i]; + + if (pcie_gen_arg != pp_table->PcieGenSpeed[i] || pcie_width_arg != + pp_table->PcieLaneCount[i]) { + smu_pcie_arg = (i << 16) | (pcie_gen_arg << 8) | pcie_width_arg; + ret = smum_send_msg_to_smc_with_parameter(hwmgr, + PPSMC_MSG_OverridePcieParameters, smu_pcie_arg, + NULL); + PP_ASSERT_WITH_CODE(!ret, + "[OverridePcieParameters] Attempt to override pcie params failed!", + return ret); + } + + /* update the pptable */ + pp_table->PcieGenSpeed[i] = pcie_gen_arg; + pp_table->PcieLaneCount[i] = pcie_width_arg; + } + + /* override to the highest if it's disabled from ppfeaturmask */ + if (data->registry_data.pcie_dpm_key_disabled) { + for (i = 0; i < NUM_LINK_LEVELS; i++) { + smu_pcie_arg = (i << 16) | (pcie_gen << 8) | pcie_width; + ret = smum_send_msg_to_smc_with_parameter(hwmgr, + PPSMC_MSG_OverridePcieParameters, smu_pcie_arg, + NULL); + PP_ASSERT_WITH_CODE(!ret, + "[OverridePcieParameters] Attempt to override pcie params failed!", + return ret); + + pp_table->PcieGenSpeed[i] = pcie_gen; + pp_table->PcieLaneCount[i] = pcie_width; + } + ret = vega12_enable_smc_features(hwmgr, + false, + data->smu_features[GNLD_DPM_LINK].smu_feature_bitmap); + PP_ASSERT_WITH_CODE(!ret, + "Attempt to Disable DPM LINK Failed!", + return ret); + data->smu_features[GNLD_DPM_LINK].enabled = false; + data->smu_features[GNLD_DPM_LINK].supported = false; + } + return 0; +} + static int vega12_get_number_of_dpm_level(struct pp_hwmgr *hwmgr, PPCLK_e clk_id, uint32_t *num_of_levels) { @@ -962,6 +1047,11 @@ "Failed to enable all smu features!", return result); + result = vega12_override_pcie_parameters(hwmgr); + PP_ASSERT_WITH_CODE(!result, + "[EnableDPMTasks] Failed to override pcie parameters!", + return result); + tmp_result = vega12_power_control_set_level(hwmgr); PP_ASSERT_WITH_CODE(!tmp_result, "Failed to power control set level!", --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_thermal.c @@ -170,17 +170,18 @@ static int vega12_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) { + struct phm_ppt_v3_information *pptable_information = + (struct phm_ppt_v3_information *)hwmgr->pptable; struct amdgpu_device *adev = hwmgr->adev; - int low = VEGA12_THERMAL_MINIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; - int high = VEGA12_THERMAL_MAXIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + int low = VEGA12_THERMAL_MINIMUM_ALERT_TEMP; + int high = VEGA12_THERMAL_MAXIMUM_ALERT_TEMP; uint32_t val; - if (low < range->min) - low = range->min; - if (high > range->max) - high = range->max; + /* compare them in unit celsius degree */ + if (low < range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES) + low = range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + if (high > pptable_information->us_software_shutdown_temp) + high = pptable_information->us_software_shutdown_temp; if (low > high) return -EINVAL; @@ -189,8 +190,8 @@ val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, MAX_IH_CREDIT, 5); val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, THERM_IH_HW_ENA, 1); - val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, (high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); - val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, (low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); + val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, high); + val = REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, low); val = val & (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK); WREG32_SOC15(THM, 0, mmTHM_THERMAL_INT_CTRL, val); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c @@ -166,6 +166,7 @@ data->registry_data.gfxoff_controlled_by_driver = 1; data->gfxoff_allowed = false; data->counter_gfxoff = 0; + data->registry_data.pcie_dpm_key_disabled = !(hwmgr->feature_mask & PP_PCIE_DPM_MASK); } static int vega20_set_features_platform_caps(struct pp_hwmgr *hwmgr) @@ -827,7 +828,9 @@ struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev); struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr->backend); - uint32_t pcie_gen = 0, pcie_width = 0, smu_pcie_arg; + uint32_t pcie_gen = 0, pcie_width = 0, smu_pcie_arg, pcie_gen_arg, pcie_width_arg; + PPTable_t *pp_table = &(data->smc_state_table.pp_table); + int i; int ret; if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN4) @@ -856,17 +859,51 @@ * Bit 15:8: PCIE GEN, 0 to 3 corresponds to GEN1 to GEN4 * Bit 7:0: PCIE lane width, 1 to 7 corresponds is x1 to x32 */ - smu_pcie_arg = (1 << 16) | (pcie_gen << 8) | pcie_width; - ret = smum_send_msg_to_smc_with_parameter(hwmgr, - PPSMC_MSG_OverridePcieParameters, smu_pcie_arg, - NULL); - PP_ASSERT_WITH_CODE(!ret, - "[OverridePcieParameters] Attempt to override pcie params failed!", - return ret); + for (i = 0; i < NUM_LINK_LEVELS; i++) { + pcie_gen_arg = (pp_table->PcieGenSpeed[i] > pcie_gen) ? pcie_gen : + pp_table->PcieGenSpeed[i]; + pcie_width_arg = (pp_table->PcieLaneCount[i] > pcie_width) ? pcie_width : + pp_table->PcieLaneCount[i]; + + if (pcie_gen_arg != pp_table->PcieGenSpeed[i] || pcie_width_arg != + pp_table->PcieLaneCount[i]) { + smu_pcie_arg = (i << 16) | (pcie_gen_arg << 8) | pcie_width_arg; + ret = smum_send_msg_to_smc_with_parameter(hwmgr, + PPSMC_MSG_OverridePcieParameters, smu_pcie_arg, + NULL); + PP_ASSERT_WITH_CODE(!ret, + "[OverridePcieParameters] Attempt to override pcie params failed!", + return ret); + } + + /* update the pptable */ + pp_table->PcieGenSpeed[i] = pcie_gen_arg; + pp_table->PcieLaneCount[i] = pcie_width_arg; + } - data->pcie_parameters_override = true; - data->pcie_gen_level1 = pcie_gen; - data->pcie_width_level1 = pcie_width; + /* override to the highest if it's disabled from ppfeaturmask */ + if (data->registry_data.pcie_dpm_key_disabled) { + for (i = 0; i < NUM_LINK_LEVELS; i++) { + smu_pcie_arg = (i << 16) | (pcie_gen << 8) | pcie_width; + ret = smum_send_msg_to_smc_with_parameter(hwmgr, + PPSMC_MSG_OverridePcieParameters, smu_pcie_arg, + NULL); + PP_ASSERT_WITH_CODE(!ret, + "[OverridePcieParameters] Attempt to override pcie params failed!", + return ret); + + pp_table->PcieGenSpeed[i] = pcie_gen; + pp_table->PcieLaneCount[i] = pcie_width; + } + ret = vega20_enable_smc_features(hwmgr, + false, + data->smu_features[GNLD_DPM_LINK].smu_feature_bitmap); + PP_ASSERT_WITH_CODE(!ret, + "Attempt to Disable DPM LINK Failed!", + return ret); + data->smu_features[GNLD_DPM_LINK].enabled = false; + data->smu_features[GNLD_DPM_LINK].supported = false; + } return 0; } @@ -979,10 +1016,7 @@ { struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr->backend); - uint64_t features_enabled; - int i; - bool enabled; - int ret = 0; + int i, ret = 0; PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_DisableAllSmuFeatures, @@ -990,17 +1024,8 @@ "[DisableAllSMUFeatures] Failed to disable all smu features!", return ret); - ret = vega20_get_enabled_smc_features(hwmgr, &features_enabled); - PP_ASSERT_WITH_CODE(!ret, - "[DisableAllSMUFeatures] Failed to get enabled smc features!", - return ret); - - for (i = 0; i < GNLD_FEATURES_MAX; i++) { - enabled = (features_enabled & data->smu_features[i].smu_feature_bitmap) ? - true : false; - data->smu_features[i].enabled = enabled; - data->smu_features[i].supported = enabled; - } + for (i = 0; i < GNLD_FEATURES_MAX; i++) + data->smu_features[i].enabled = 0; return 0; } @@ -1652,12 +1677,6 @@ data->uvd_power_gated = true; data->vce_power_gated = true; - - if (data->smu_features[GNLD_DPM_UVD].enabled) - data->uvd_power_gated = false; - - if (data->smu_features[GNLD_DPM_VCE].enabled) - data->vce_power_gated = false; } static int vega20_enable_dpm_tasks(struct pp_hwmgr *hwmgr) @@ -3230,10 +3249,11 @@ static int vega20_set_ppfeature_status(struct pp_hwmgr *hwmgr, uint64_t new_ppfeature_masks) { - uint64_t features_enabled; - uint64_t features_to_enable; - uint64_t features_to_disable; - int ret = 0; + struct vega20_hwmgr *data = + (struct vega20_hwmgr *)(hwmgr->backend); + uint64_t features_enabled, features_to_enable, features_to_disable; + int i, ret = 0; + bool enabled; if (new_ppfeature_masks >= (1ULL << GNLD_FEATURES_MAX)) return -EINVAL; @@ -3262,6 +3282,17 @@ return ret; } + /* Update the cached feature enablement state */ + ret = vega20_get_enabled_smc_features(hwmgr, &features_enabled); + if (ret) + return ret; + + for (i = 0; i < GNLD_FEATURES_MAX; i++) { + enabled = (features_enabled & data->smu_features[i].smu_feature_bitmap) ? + true : false; + data->smu_features[i].enabled = enabled; + } + return 0; } @@ -3274,9 +3305,7 @@ data->od8_settings.od8_settings_array; OverDriveTable_t *od_table = &(data->smc_state_table.overdrive_table); - struct phm_ppt_v3_information *pptable_information = - (struct phm_ppt_v3_information *)hwmgr->pptable; - PPTable_t *pptable = (PPTable_t *)pptable_information->smc_pptable; + PPTable_t *pptable = &(data->smc_state_table.pp_table); struct amdgpu_device *adev = hwmgr->adev; struct pp_clock_levels_with_latency clocks; struct vega20_single_dpm_table *fclk_dpm_table = @@ -3378,13 +3407,9 @@ PCIE_LC_LINK_WIDTH_CNTL__LC_LINK_WIDTH_RD_MASK) >> PCIE_LC_LINK_WIDTH_CNTL__LC_LINK_WIDTH_RD__SHIFT; for (i = 0; i < NUM_LINK_LEVELS; i++) { - if (i == 1 && data->pcie_parameters_override) { - gen_speed = data->pcie_gen_level1; - lane_width = data->pcie_width_level1; - } else { - gen_speed = pptable->PcieGenSpeed[i]; - lane_width = pptable->PcieLaneCount[i]; - } + gen_speed = pptable->PcieGenSpeed[i]; + lane_width = pptable->PcieLaneCount[i]; + size += sprintf(buf + size, "%d: %s %s %dMhz %s\n", i, (gen_speed == 0) ? "2.5GT/s," : (gen_speed == 1) ? "5.0GT/s," : --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c @@ -240,17 +240,18 @@ static int vega20_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) { + struct phm_ppt_v3_information *pptable_information = + (struct phm_ppt_v3_information *)hwmgr->pptable; struct amdgpu_device *adev = hwmgr->adev; - int low = VEGA20_THERMAL_MINIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; - int high = VEGA20_THERMAL_MAXIMUM_ALERT_TEMP * - PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + int low = VEGA20_THERMAL_MINIMUM_ALERT_TEMP; + int high = VEGA20_THERMAL_MAXIMUM_ALERT_TEMP; uint32_t val; - if (low < range->min) - low = range->min; - if (high > range->max) - high = range->max; + /* compare them in unit celsius degree */ + if (low < range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES) + low = range->min / PP_TEMPERATURE_UNITS_PER_CENTIGRADES; + if (high > pptable_information->us_software_shutdown_temp) + high = pptable_information->us_software_shutdown_temp; if (low > high) return -EINVAL; @@ -259,8 +260,8 @@ val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, MAX_IH_CREDIT, 5); val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, THERM_IH_HW_ENA, 1); - val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, (high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); - val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, (low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)); + val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, high); + val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, low); val = val & (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK); WREG32_SOC15(THM, 0, mmTHM_THERMAL_INT_CTRL, val); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h @@ -229,6 +229,7 @@ bool (*is_hw_avfs_present)(struct pp_hwmgr *hwmgr); int (*update_dpm_settings)(struct pp_hwmgr *hwmgr, void *profile_setting); int (*smc_table_manager)(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw); /*rw: true for read, false for write */ + int (*stop_smc)(struct pp_hwmgr *hwmgr); }; struct pp_hwmgr_func { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/inc/smumgr.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/inc/smumgr.h @@ -113,4 +113,6 @@ extern int smum_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw); +extern int smum_stop_smc(struct pp_hwmgr *hwmgr); + #endif --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/renoir_ppt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/renoir_ppt.c @@ -278,6 +278,7 @@ count = NUM_SOCCLK_DPM_LEVELS; cur_value = metrics.ClockFrequency[CLOCK_SOCCLK]; break; + case SMU_UCLK: case SMU_MCLK: count = NUM_MEMCLK_DPM_LEVELS; cur_value = metrics.ClockFrequency[CLOCK_FCLK]; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/smu_v11_0.c @@ -47,10 +47,8 @@ #include "asic_reg/smuio/smuio_11_0_0_sh_mask.h" MODULE_FIRMWARE("amdgpu/vega20_smc.bin"); -MODULE_FIRMWARE("amdgpu/arcturus_smc.bin"); MODULE_FIRMWARE("amdgpu/navi10_smc.bin"); MODULE_FIRMWARE("amdgpu/navi14_smc.bin"); -MODULE_FIRMWARE("amdgpu/navi12_smc.bin"); #define SMU11_VOLTAGE_SCALE 4 @@ -164,7 +162,8 @@ chip_name = "navi12"; break; default: - BUG(); + dev_err(adev->dev, "Unsupported ASIC type %d\n", adev->asic_type); + return -EINVAL; } snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_smc.bin", chip_name); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/smu_v12_0.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/smu_v12_0.c @@ -475,6 +475,7 @@ break; case SMU_FCLK: case SMU_MCLK: + case SMU_UCLK: ret = smu_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinFclkByFreq, min, NULL); if (ret) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c @@ -37,6 +37,7 @@ #include "cgs_common.h" #include "atombios.h" #include "pppcielanes.h" +#include "smu7_smumgr.h" #include "smu/smu_7_0_1_d.h" #include "smu/smu_7_0_1_sh_mask.h" @@ -2935,6 +2936,29 @@ return 0; } +static void ci_reset_smc(struct pp_hwmgr *hwmgr) +{ + PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, + SMC_SYSCON_RESET_CNTL, + rst_reg, 1); +} + + +static void ci_stop_smc_clock(struct pp_hwmgr *hwmgr) +{ + PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, + SMC_SYSCON_CLOCK_CNTL_0, + ck_disable, 1); +} + +static int ci_stop_smc(struct pp_hwmgr *hwmgr) +{ + ci_reset_smc(hwmgr); + ci_stop_smc_clock(hwmgr); + + return 0; +} + const struct pp_smumgr_func ci_smu_funcs = { .name = "ci_smu", .smu_init = ci_smu_init, @@ -2945,6 +2969,7 @@ .request_smu_load_specific_fw = NULL, .send_msg_to_smc = ci_send_msg_to_smc, .send_msg_to_smc_with_parameter = ci_send_msg_to_smc_with_parameter, + .get_argument = smu7_get_argument, .download_pptable_settings = NULL, .upload_pptable_settings = NULL, .get_offsetof = ci_get_offsetof, @@ -2959,4 +2984,5 @@ .is_dpm_running = ci_is_dpm_running, .update_dpm_settings = ci_update_dpm_settings, .update_smc_table = ci_update_smc_table, + .stop_smc = ci_stop_smc, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c @@ -245,3 +245,11 @@ return -EINVAL; } + +int smum_stop_smc(struct pp_hwmgr *hwmgr) +{ + if (hwmgr->smumgr_funcs->stop_smc) + return hwmgr->smumgr_funcs->stop_smc(hwmgr); + + return 0; +} --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c @@ -492,10 +492,8 @@ crtc->state = NULL; state = kzalloc(sizeof(*state), GFP_KERNEL); - if (state) { - crtc->state = &state->base; - crtc->state->crtc = crtc; - } + if (state) + __drm_atomic_helper_crtc_reset(crtc, &state->base); } static struct drm_crtc_state * @@ -616,7 +614,6 @@ return err; drm_crtc_helper_add(crtc, &komeda_crtc_helper_funcs); - drm_crtc_vblank_reset(crtc); crtc->port = kcrtc->master->of_output_port; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/arm/malidp_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/arm/malidp_drv.c @@ -870,7 +870,6 @@ drm->irq_enabled = true; ret = drm_vblank_init(drm, drm->mode_config.num_crtc); - drm_crtc_vblank_reset(&malidp->crtc); if (ret < 0) { DRM_ERROR("failed to initialise vblank\n"); goto vblank_fail; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/arm/malidp_planes.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/arm/malidp_planes.c @@ -928,7 +928,7 @@ const struct malidp_hw_regmap *map = &malidp->dev->hw->map; struct malidp_plane *plane = NULL; enum drm_plane_type plane_type; - unsigned long crtcs = 1 << drm->mode_config.num_crtc; + unsigned long crtcs = BIT(drm->mode_config.num_crtc); unsigned long flags = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270 | DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y; unsigned int blend_caps = BIT(DRM_MODE_BLEND_PIXEL_NONE) | --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/aspeed/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/aspeed/Kconfig @@ -3,6 +3,7 @@ tristate "ASPEED BMC Display Controller" depends on DRM && OF depends on (COMPILE_TEST || ARCH_ASPEED) + depends on MMU select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DMA_CMA if HAVE_DMA_CONTIGUOUS --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ast/ast_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ast/ast_drv.c @@ -43,9 +43,33 @@ MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, ast_modeset, int, 0400); -#define PCI_VENDOR_ASPEED 0x1a03 +/* + * DRM driver + */ + +DEFINE_DRM_GEM_FOPS(ast_fops); + +static struct drm_driver ast_driver = { + .driver_features = DRIVER_ATOMIC | + DRIVER_GEM | + DRIVER_MODESET, + + .fops = &ast_fops, + .name = DRIVER_NAME, + .desc = DRIVER_DESC, + .date = DRIVER_DATE, + .major = DRIVER_MAJOR, + .minor = DRIVER_MINOR, + .patchlevel = DRIVER_PATCHLEVEL, -static struct drm_driver driver; + DRM_GEM_VRAM_DRIVER +}; + +/* + * PCI driver + */ + +#define PCI_VENDOR_ASPEED 0x1a03 #define AST_VGA_DEVICE(id, info) { \ .class = PCI_BASE_CLASS_DISPLAY << 16, \ @@ -56,14 +80,13 @@ .subdevice = PCI_ANY_ID, \ .driver_data = (unsigned long) info } -static const struct pci_device_id pciidlist[] = { +static const struct pci_device_id ast_pciidlist[] = { AST_VGA_DEVICE(PCI_CHIP_AST2000, NULL), AST_VGA_DEVICE(PCI_CHIP_AST2100, NULL), - /* AST_VGA_DEVICE(PCI_CHIP_AST1180, NULL), - don't bind to 1180 for now */ {0, 0, 0}, }; -MODULE_DEVICE_TABLE(pci, pciidlist); +MODULE_DEVICE_TABLE(pci, ast_pciidlist); static void ast_kick_out_firmware_fb(struct pci_dev *pdev) { @@ -95,7 +118,7 @@ if (ret) return ret; - dev = drm_dev_alloc(&driver, &pdev->dev); + dev = drm_dev_alloc(&ast_driver, &pdev->dev); if (IS_ERR(dev)) { ret = PTR_ERR(dev); goto err_pci_disable_device; @@ -123,11 +146,9 @@ err_pci_disable_device: pci_disable_device(pdev); return ret; - } -static void -ast_pci_remove(struct pci_dev *pdev) +static void ast_pci_remove(struct pci_dev *pdev) { struct drm_device *dev = pci_get_drvdata(pdev); @@ -225,30 +246,12 @@ static struct pci_driver ast_pci_driver = { .name = DRIVER_NAME, - .id_table = pciidlist, + .id_table = ast_pciidlist, .probe = ast_pci_probe, .remove = ast_pci_remove, .driver.pm = &ast_pm_ops, }; -DEFINE_DRM_GEM_FOPS(ast_fops); - -static struct drm_driver driver = { - .driver_features = DRIVER_ATOMIC | - DRIVER_GEM | - DRIVER_MODESET, - - .fops = &ast_fops, - .name = DRIVER_NAME, - .desc = DRIVER_DESC, - .date = DRIVER_DATE, - .major = DRIVER_MAJOR, - .minor = DRIVER_MINOR, - .patchlevel = DRIVER_PATCHLEVEL, - - DRM_GEM_VRAM_DRIVER -}; - static int __init ast_init(void) { if (vgacon_text_force() && ast_modeset == -1) @@ -269,4 +272,3 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL and additional rights"); - --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ast/ast_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ast/ast_drv.h @@ -52,7 +52,6 @@ #define PCI_CHIP_AST2000 0x2000 #define PCI_CHIP_AST2100 0x2010 -#define PCI_CHIP_AST1180 0x1180 enum ast_chip { @@ -64,7 +63,6 @@ AST2300, AST2400, AST2500, - AST1180, }; enum ast_tx_chip { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ast/ast_main.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ast/ast_main.c @@ -142,50 +142,42 @@ ast_detect_config_mode(dev, &scu_rev); /* Identify chipset */ - if (dev->pdev->device == PCI_CHIP_AST1180) { - ast->chip = AST1100; - DRM_INFO("AST 1180 detected\n"); - } else { - if (dev->pdev->revision >= 0x40) { - ast->chip = AST2500; - DRM_INFO("AST 2500 detected\n"); - } else if (dev->pdev->revision >= 0x30) { - ast->chip = AST2400; - DRM_INFO("AST 2400 detected\n"); - } else if (dev->pdev->revision >= 0x20) { - ast->chip = AST2300; - DRM_INFO("AST 2300 detected\n"); - } else if (dev->pdev->revision >= 0x10) { - switch (scu_rev & 0x0300) { - case 0x0200: - ast->chip = AST1100; - DRM_INFO("AST 1100 detected\n"); - break; - case 0x0100: - ast->chip = AST2200; - DRM_INFO("AST 2200 detected\n"); - break; - case 0x0000: - ast->chip = AST2150; - DRM_INFO("AST 2150 detected\n"); - break; - default: - ast->chip = AST2100; - DRM_INFO("AST 2100 detected\n"); - break; - } - ast->vga2_clone = false; - } else { - ast->chip = AST2000; - DRM_INFO("AST 2000 detected\n"); + if (dev->pdev->revision >= 0x40) { + ast->chip = AST2500; + DRM_INFO("AST 2500 detected\n"); + } else if (dev->pdev->revision >= 0x30) { + ast->chip = AST2400; + DRM_INFO("AST 2400 detected\n"); + } else if (dev->pdev->revision >= 0x20) { + ast->chip = AST2300; + DRM_INFO("AST 2300 detected\n"); + } else if (dev->pdev->revision >= 0x10) { + switch (scu_rev & 0x0300) { + case 0x0200: + ast->chip = AST1100; + DRM_INFO("AST 1100 detected\n"); + break; + case 0x0100: + ast->chip = AST2200; + DRM_INFO("AST 2200 detected\n"); + break; + case 0x0000: + ast->chip = AST2150; + DRM_INFO("AST 2150 detected\n"); + break; + default: + ast->chip = AST2100; + DRM_INFO("AST 2100 detected\n"); + break; } + ast->vga2_clone = false; + } else { + ast->chip = AST2000; + DRM_INFO("AST 2000 detected\n"); } /* Check if we support wide screen */ switch (ast->chip) { - case AST1180: - ast->support_wide_screen = true; - break; case AST2000: ast->support_wide_screen = false; break; @@ -466,19 +458,17 @@ ast_detect_chip(dev, &need_post); + ret = ast_get_dram_info(dev); + if (ret) + goto out_free; + ast->vram_size = ast_get_vram_info(dev); + DRM_INFO("dram MCLK=%u Mhz type=%d bus_width=%d size=%08x\n", + ast->mclk, ast->dram_type, + ast->dram_bus_width, ast->vram_size); + if (need_post) ast_post_gpu(dev); - if (ast->chip != AST1180) { - ret = ast_get_dram_info(dev); - if (ret) - goto out_free; - ast->vram_size = ast_get_vram_info(dev); - DRM_INFO("dram MCLK=%u Mhz type=%d bus_width=%d size=%08x\n", - ast->mclk, ast->dram_type, - ast->dram_bus_width, ast->vram_size); - } - ret = ast_mm_init(ast); if (ret) goto out_free; @@ -496,8 +486,7 @@ ast->chip == AST2200 || ast->chip == AST2300 || ast->chip == AST2400 || - ast->chip == AST2500 || - ast->chip == AST1180) { + ast->chip == AST2500) { dev->mode_config.max_width = 1920; dev->mode_config.max_height = 2048; } else { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ast/ast_mode.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ast/ast_mode.c @@ -769,9 +769,6 @@ { struct ast_private *ast = crtc->dev->dev_private; - if (ast->chip == AST1180) - return; - /* TODO: Maybe control display signal generation with * Sync Enable (bit CR17.7). */ @@ -793,16 +790,10 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state) { - struct ast_private *ast = crtc->dev->dev_private; struct ast_crtc_state *ast_state; const struct drm_format_info *format; bool succ; - if (ast->chip == AST1180) { - DRM_ERROR("AST 1180 modesetting not supported\n"); - return -EINVAL; - } - if (!state->enable) return 0; /* no mode checks if CRTC is being disabled */ @@ -1044,7 +1035,7 @@ if ((ast->chip == AST2100) || (ast->chip == AST2200) || (ast->chip == AST2300) || (ast->chip == AST2400) || - (ast->chip == AST2500) || (ast->chip == AST1180)) { + (ast->chip == AST2500)) { if ((mode->hdisplay == 1920) && (mode->vdisplay == 1080)) return MODE_OK; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ast/ast_post.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ast/ast_post.c @@ -58,13 +58,9 @@ struct ast_private *ast = dev->dev_private; u8 ch; - if (ast->chip == AST1180) { - /* TODO 1180 */ - } else { - ch = ast_io_read8(ast, AST_IO_VGA_ENABLE_PORT); - return !!(ch & 0x01); - } - return false; + ch = ast_io_read8(ast, AST_IO_VGA_ENABLE_PORT); + + return !!(ch & 0x01); } static const u8 extreginfo[] = { 0x0f, 0x04, 0x1c, 0xff }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c @@ -411,10 +411,8 @@ } state = kzalloc(sizeof(*state), GFP_KERNEL); - if (state) { - crtc->state = &state->base; - crtc->state->crtc = crtc; - } + if (state) + __drm_atomic_helper_crtc_reset(crtc, &state->base); } static struct drm_crtc_state * @@ -528,7 +526,6 @@ } drm_crtc_helper_add(&crtc->base, &lcdc_crtc_helper_funcs); - drm_crtc_vblank_reset(&crtc->base); drm_mode_crtc_set_gamma_size(&crtc->base, ATMEL_HLCDC_CLUT_SIZE); drm_crtc_enable_color_mgmt(&crtc->base, 0, false, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/adv7511/Makefile +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/adv7511/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only -adv7511-y := adv7511_drv.o adv7533.o -adv7511-$(CONFIG_DRM_I2C_ADV7511_AUDIO) += adv7511_audio.o -adv7511-$(CONFIG_DRM_I2C_ADV7511_CEC) += adv7511_cec.o -obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511.o +adv7511_drm-y := adv7511_drv.o adv7533.o +adv7511_drm-$(CONFIG_DRM_I2C_ADV7511_AUDIO) += adv7511_audio.o +adv7511_drm-$(CONFIG_DRM_I2C_ADV7511_CEC) += adv7511_cec.o +obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511_drm.o --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c @@ -302,8 +302,12 @@ const struct i2c_device_id *id) { struct device *dev = &stdp4028_i2c->dev; + int ret; - ge_b850v3_lvds_init(dev); + ret = ge_b850v3_lvds_init(dev); + + if (ret) + return ret; ge_b850v3_lvds_ptr->stdp4028_i2c = stdp4028_i2c; i2c_set_clientdata(stdp4028_i2c, ge_b850v3_lvds_ptr); @@ -361,8 +365,12 @@ const struct i2c_device_id *id) { struct device *dev = &stdp2690_i2c->dev; + int ret; + + ret = ge_b850v3_lvds_init(dev); - ge_b850v3_lvds_init(dev); + if (ret) + return ret; ge_b850v3_lvds_ptr->stdp2690_i2c = stdp2690_i2c; i2c_set_clientdata(stdp2690_i2c, ge_b850v3_lvds_ptr); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/sii902x.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/sii902x.c @@ -953,41 +953,13 @@ | DRM_BUS_FLAG_DE_HIGH, }; -static int sii902x_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int sii902x_init(struct sii902x *sii902x) { - struct device *dev = &client->dev; + struct device *dev = &sii902x->i2c->dev; unsigned int status = 0; - struct sii902x *sii902x; u8 chipid[4]; int ret; - ret = i2c_check_functionality(client->adapter, - I2C_FUNC_SMBUS_BYTE_DATA); - if (!ret) { - dev_err(dev, "I2C adapter not suitable\n"); - return -EIO; - } - - sii902x = devm_kzalloc(dev, sizeof(*sii902x), GFP_KERNEL); - if (!sii902x) - return -ENOMEM; - - sii902x->i2c = client; - sii902x->regmap = devm_regmap_init_i2c(client, &sii902x_regmap_config); - if (IS_ERR(sii902x->regmap)) - return PTR_ERR(sii902x->regmap); - - sii902x->reset_gpio = devm_gpiod_get_optional(dev, "reset", - GPIOD_OUT_LOW); - if (IS_ERR(sii902x->reset_gpio)) { - dev_err(dev, "Failed to retrieve/request reset gpio: %ld\n", - PTR_ERR(sii902x->reset_gpio)); - return PTR_ERR(sii902x->reset_gpio); - } - - mutex_init(&sii902x->mutex); - sii902x_reset(sii902x); ret = regmap_write(sii902x->regmap, SII902X_REG_TPI_RQB, 0x0); @@ -1011,11 +983,11 @@ regmap_read(sii902x->regmap, SII902X_INT_STATUS, &status); regmap_write(sii902x->regmap, SII902X_INT_STATUS, status); - if (client->irq > 0) { + if (sii902x->i2c->irq > 0) { regmap_write(sii902x->regmap, SII902X_INT_ENABLE, SII902X_HOTPLUG_EVENT); - ret = devm_request_threaded_irq(dev, client->irq, NULL, + ret = devm_request_threaded_irq(dev, sii902x->i2c->irq, NULL, sii902x_interrupt, IRQF_ONESHOT, dev_name(dev), sii902x); @@ -1030,9 +1002,9 @@ sii902x_audio_codec_init(sii902x, dev); - i2c_set_clientdata(client, sii902x); + i2c_set_clientdata(sii902x->i2c, sii902x); - sii902x->i2cmux = i2c_mux_alloc(client->adapter, dev, + sii902x->i2cmux = i2c_mux_alloc(sii902x->i2c->adapter, dev, 1, 0, I2C_MUX_GATE, sii902x_i2c_bypass_select, sii902x_i2c_bypass_deselect); @@ -1043,6 +1015,43 @@ return i2c_mux_add_adapter(sii902x->i2cmux, 0, 0, 0); } +static int sii902x_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct device *dev = &client->dev; + struct sii902x *sii902x; + int ret; + + ret = i2c_check_functionality(client->adapter, + I2C_FUNC_SMBUS_BYTE_DATA); + if (!ret) { + dev_err(dev, "I2C adapter not suitable\n"); + return -EIO; + } + + sii902x = devm_kzalloc(dev, sizeof(*sii902x), GFP_KERNEL); + if (!sii902x) + return -ENOMEM; + + sii902x->i2c = client; + sii902x->regmap = devm_regmap_init_i2c(client, &sii902x_regmap_config); + if (IS_ERR(sii902x->regmap)) + return PTR_ERR(sii902x->regmap); + + sii902x->reset_gpio = devm_gpiod_get_optional(dev, "reset", + GPIOD_OUT_LOW); + if (IS_ERR(sii902x->reset_gpio)) { + dev_err(dev, "Failed to retrieve/request reset gpio: %ld\n", + PTR_ERR(sii902x->reset_gpio)); + return PTR_ERR(sii902x->reset_gpio); + } + + mutex_init(&sii902x->mutex); + + ret = sii902x_init(sii902x); + return ret; +} + static int sii902x_remove(struct i2c_client *client) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/sil-sii8620.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/sil-sii8620.c @@ -178,7 +178,7 @@ static u8 sii8620_readb(struct sii8620 *ctx, u16 addr) { - u8 ret; + u8 ret = 0; sii8620_read_buf(ctx, addr, &ret, 1); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2319,12 +2319,6 @@ connector); enum drm_connector_status result; - mutex_lock(&hdmi->mutex); - hdmi->force = DRM_FORCE_UNSPECIFIED; - dw_hdmi_update_power(hdmi); - dw_hdmi_update_phy_mask(hdmi); - mutex_unlock(&hdmi->mutex); - result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data); mutex_lock(&hdmi->mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c @@ -366,7 +366,6 @@ if (lpm) val |= CMD_MODE_ALL_LP; - dsi_write(dsi, DSI_LPCLK_CTRL, lpm ? 0 : PHY_TXREQUESTCLKHS); dsi_write(dsi, DSI_CMD_MODE_CFG, val); } @@ -542,16 +541,22 @@ static void dw_mipi_dsi_set_mode(struct dw_mipi_dsi *dsi, unsigned long mode_flags) { + u32 val; + dsi_write(dsi, DSI_PWR_UP, RESET); if (mode_flags & MIPI_DSI_MODE_VIDEO) { dsi_write(dsi, DSI_MODE_CFG, ENABLE_VIDEO_MODE); dw_mipi_dsi_video_mode_config(dsi); - dsi_write(dsi, DSI_LPCLK_CTRL, PHY_TXREQUESTCLKHS); } else { dsi_write(dsi, DSI_MODE_CFG, ENABLE_CMD_MODE); } + val = PHY_TXREQUESTCLKHS; + if (dsi->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) + val |= AUTO_CLKLANE_CTRL; + dsi_write(dsi, DSI_LPCLK_CTRL, val); + dsi_write(dsi, DSI_PWR_UP, POWERUP); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -475,7 +475,7 @@ 1000 * pdata->dp_lanes * DP_CLK_FUDGE_DEN); for (i = 1; i < ARRAY_SIZE(ti_sn_bridge_dp_rate_lut) - 1; i++) - if (ti_sn_bridge_dp_rate_lut[i] > dp_rate_mhz) + if (ti_sn_bridge_dp_rate_lut[i] >= dp_rate_mhz) break; return i; @@ -827,6 +827,12 @@ buf[i]); } + /* Clear old status bits before start so we don't get confused */ + regmap_write(pdata->regmap, SN_AUX_CMD_STATUS_REG, + AUX_IRQ_STATUS_NAT_I2C_FAIL | + AUX_IRQ_STATUS_AUX_RPLY_TOUT | + AUX_IRQ_STATUS_AUX_SHORT); + regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND); ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/bridge/ti-tpd12s015.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/bridge/ti-tpd12s015.c @@ -160,7 +160,7 @@ /* Register the IRQ if the HPD GPIO is IRQ-capable. */ tpd->hpd_irq = gpiod_to_irq(tpd->hpd_gpio); - if (tpd->hpd_irq) { + if (tpd->hpd_irq >= 0) { ret = devm_request_threaded_irq(&pdev->dev, tpd->hpd_irq, NULL, tpd12s015_hpd_isr, IRQF_TRIGGER_RISING | --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_atomic_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_atomic_helper.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -2989,7 +2990,7 @@ ret = handle_conflicting_encoders(state, true); if (ret) - return ret; + goto fail; ret = drm_atomic_commit(state); @@ -3105,7 +3106,7 @@ if (ret) DRM_ERROR("Disabling all crtc's during unload failed with %i\n", ret); - DRM_MODESET_LOCK_ALL_END(ctx, ret); + DRM_MODESET_LOCK_ALL_END(dev, ctx, ret); } EXPORT_SYMBOL(drm_atomic_helper_shutdown); @@ -3245,7 +3246,7 @@ } unlock: - DRM_MODESET_LOCK_ALL_END(ctx, err); + DRM_MODESET_LOCK_ALL_END(dev, ctx, err); if (err) return ERR_PTR(err); @@ -3326,7 +3327,7 @@ err = drm_atomic_helper_commit_duplicated_state(state, &ctx); - DRM_MODESET_LOCK_ALL_END(ctx, err); + DRM_MODESET_LOCK_ALL_END(dev, ctx, err); drm_atomic_state_put(state); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_atomic_state_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_atomic_state_helper.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -93,6 +94,9 @@ if (crtc_state) __drm_atomic_helper_crtc_state_reset(crtc_state, crtc); + if (drm_dev_has_vblank(crtc->dev)) + drm_crtc_vblank_reset(crtc); + crtc->state = crtc_state; } EXPORT_SYMBOL(__drm_atomic_helper_crtc_reset); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_bridge_connector.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_bridge_connector.c @@ -187,6 +187,7 @@ case DRM_MODE_CONNECTOR_DPI: case DRM_MODE_CONNECTOR_LVDS: case DRM_MODE_CONNECTOR_DSI: + case DRM_MODE_CONNECTOR_eDP: status = connector_status_connected; break; default: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_color_mgmt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_color_mgmt.c @@ -294,7 +294,7 @@ crtc->gamma_size, &ctx); out: - DRM_MODESET_LOCK_ALL_END(ctx, ret); + DRM_MODESET_LOCK_ALL_END(dev, ctx, ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_crtc.c @@ -561,7 +561,6 @@ if (crtc_req->mode_valid && !drm_lease_held(file_priv, plane->base.id)) return -EACCES; - mutex_lock(&crtc->dev->mode_config.mutex); DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret); @@ -728,8 +727,7 @@ fb = NULL; mode = NULL; - DRM_MODESET_LOCK_ALL_END(ctx, ret); - mutex_unlock(&crtc->dev->mode_config.mutex); + DRM_MODESET_LOCK_ALL_END(dev, ctx, ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_debugfs.c @@ -311,13 +311,13 @@ buf[len] = '\0'; - if (!strcmp(buf, "on")) + if (sysfs_streq(buf, "on")) connector->force = DRM_FORCE_ON; - else if (!strcmp(buf, "digital")) + else if (sysfs_streq(buf, "digital")) connector->force = DRM_FORCE_ON_DIGITAL; - else if (!strcmp(buf, "off")) + else if (sysfs_streq(buf, "off")) connector->force = DRM_FORCE_OFF; - else if (!strcmp(buf, "unspecified")) + else if (sysfs_streq(buf, "unspecified")) connector->force = DRM_FORCE_UNSPECIFIED; else return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_debugfs_crc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_debugfs_crc.c @@ -144,8 +144,10 @@ source[len - 1] = '\0'; ret = crtc->funcs->verify_crc_source(crtc, source, &values_cnt); - if (ret) + if (ret) { + kfree(source); return ret; + } spin_lock_irq(&crc->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_dp_aux_dev.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_dp_aux_dev.c @@ -63,7 +63,7 @@ mutex_lock(&aux_idr_mutex); aux_dev = idr_find(&aux_idr, index); - if (!kref_get_unless_zero(&aux_dev->refcount)) + if (aux_dev && !kref_get_unless_zero(&aux_dev->refcount)) aux_dev = NULL; mutex_unlock(&aux_idr_mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_dp_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_dp_helper.c @@ -1301,6 +1301,10 @@ * only supports DPCD backlight controls */ { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + /* HP Spectre x360 Convertible 13t-aw100 */ + { MFG(0x4c, 0x83), PROD_ID(0x42, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + /* HP CML 2020 system */ + { MFG(0x4c, 0x83), PROD_ID(0x45, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, /* * Some Dell CML 2020 systems have panels support both AUX and PWM * backlight control, and some only support AUX backlight control. All @@ -1311,11 +1315,20 @@ * controls anyway...). Until we have a better way of detecting these, * force DPCD backlight mode on all of them. */ + { MFG(0x06, 0xaf), PROD_ID(0x8c, 0xcd), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, { MFG(0x06, 0xaf), PROD_ID(0x9b, 0x32), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, { MFG(0x06, 0xaf), PROD_ID(0xeb, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + { MFG(0x30, 0xe4), PROD_ID(0x61, 0x06), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, { MFG(0x4d, 0x10), PROD_ID(0xc7, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, { MFG(0x4d, 0x10), PROD_ID(0xe6, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, { MFG(0x4c, 0x83), PROD_ID(0x47, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + { MFG(0x4c, 0x83), PROD_ID(0x4f, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + /* + * Some HP ZBook Studio G7 systems have panels support and relies on + * PSR being enabled. + */ + { MFG(0x0d, 0xae), PROD_ID(0x19, 0x15), BIT(DP_QUIRK_FORCE_PSR_CHIP_DEFAULT) }, + { MFG(0x09, 0xe5), PROD_ID(0xde, 0x08), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, }; #undef MFG --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_dp_mst_topology.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_dp_mst_topology.c @@ -88,8 +88,8 @@ static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr, u8 *guid); -static int drm_dp_mst_register_i2c_bus(struct drm_dp_aux *aux); -static void drm_dp_mst_unregister_i2c_bus(struct drm_dp_aux *aux); +static int drm_dp_mst_register_i2c_bus(struct drm_dp_mst_port *port); +static void drm_dp_mst_unregister_i2c_bus(struct drm_dp_mst_port *port); static void drm_dp_mst_kick_tx(struct drm_dp_mst_topology_mgr *mgr); #define DBG_PREFIX "[dp_mst]" @@ -1197,7 +1197,8 @@ /* remove from q */ if (txmsg->state == DRM_DP_SIDEBAND_TX_QUEUED || - txmsg->state == DRM_DP_SIDEBAND_TX_START_SEND) + txmsg->state == DRM_DP_SIDEBAND_TX_START_SEND || + txmsg->state == DRM_DP_SIDEBAND_TX_SENT) list_del(&txmsg->next); } out: @@ -1966,7 +1967,7 @@ } /* remove i2c over sideband */ - drm_dp_mst_unregister_i2c_bus(&port->aux); + drm_dp_mst_unregister_i2c_bus(port); } else { mutex_lock(&mgr->lock); drm_dp_mst_topology_put_mstb(port->mstb); @@ -1981,7 +1982,7 @@ if (port->pdt != DP_PEER_DEVICE_NONE) { if (drm_dp_mst_is_end_device(port->pdt, port->mcs)) { /* add i2c over sideband */ - ret = drm_dp_mst_register_i2c_bus(&port->aux); + ret = drm_dp_mst_register_i2c_bus(port); } else { lct = drm_dp_calculate_rad(port, rad); mstb = drm_dp_add_mst_branch_device(lct, rad); @@ -2158,7 +2159,8 @@ } if (port->pdt != DP_PEER_DEVICE_NONE && - drm_dp_mst_is_end_device(port->pdt, port->mcs)) { + drm_dp_mst_is_end_device(port->pdt, port->mcs) && + port->port_num >= DP_MST_LOGICAL_PORT_0) { port->cached_edid = drm_get_edid(port->connector, &port->aux.ddc); drm_connector_set_tile_property(port->connector); @@ -3431,14 +3433,26 @@ return 0; } -static int drm_dp_get_vc_payload_bw(u8 dp_link_bw, u8 dp_link_count) +/** + * drm_dp_get_vc_payload_bw - get the VC payload BW for an MST link + * @link_rate: link rate in 10kbits/s units + * @link_lane_count: lane count + * + * Calculate the total bandwidth of a MultiStream Transport link. The returned + * value is in units of PBNs/(timeslots/1 MTP). This value can be used to + * convert the number of PBNs required for a given stream to the number of + * timeslots this stream requires in each MTP. + */ +int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count) { - if (dp_link_bw == 0 || dp_link_count == 0) - DRM_DEBUG_KMS("invalid link bandwidth in DPCD: %x (link count: %d)\n", - dp_link_bw, dp_link_count); + if (link_rate == 0 || link_lane_count == 0) + DRM_DEBUG_KMS("invalid link rate/lane count: (%d / %d)\n", + link_rate, link_lane_count); - return dp_link_bw * dp_link_count / 2; + /* See DP v2.0 2.6.4.2, VCPayload_Bandwidth_for_OneTimeSlotPer_MTP_Allocation */ + return link_rate * link_lane_count / 54000; } +EXPORT_SYMBOL(drm_dp_get_vc_payload_bw); /** * drm_dp_mst_topology_mgr_set_mst() - Set the MST state for a topology manager @@ -3472,7 +3486,7 @@ goto out_unlock; } - mgr->pbn_div = drm_dp_get_vc_payload_bw(mgr->dpcd[1], + mgr->pbn_div = drm_dp_get_vc_payload_bw(drm_dp_bw_code_to_link_rate(mgr->dpcd[1]), mgr->dpcd[2] & DP_MAX_LANE_COUNT_MASK); if (mgr->pbn_div == 0) { ret = -EINVAL; @@ -3991,6 +4005,7 @@ switch (port->pdt) { case DP_PEER_DEVICE_NONE: + break; case DP_PEER_DEVICE_MST_BRANCHING: if (!port->mcs) ret = connector_status_connected; @@ -4261,11 +4276,11 @@ { int ret; - port = drm_dp_mst_topology_get_port_validated(mgr, port); - if (!port) + if (slots < 0) return false; - if (slots < 0) + port = drm_dp_mst_topology_get_port_validated(mgr, port); + if (!port) return false; if (port->vcpi.vcpi > 0) { @@ -4281,6 +4296,7 @@ if (ret) { DRM_DEBUG_KMS("failed to init vcpi slots=%d max=63 ret=%d\n", DIV_ROUND_UP(pbn, mgr->pbn_div), ret); + drm_dp_mst_topology_put_port(port); goto out; } DRM_DEBUG_KMS("initing vcpi for pbn=%d slots=%d\n", @@ -4641,12 +4657,13 @@ static inline void drm_dp_delayed_destroy_port(struct drm_dp_mst_port *port) { + drm_dp_port_set_pdt(port, DP_PEER_DEVICE_NONE, port->mcs); + if (port->connector) { drm_connector_unregister(port->connector); drm_connector_put(port->connector); } - drm_dp_port_set_pdt(port, DP_PEER_DEVICE_NONE, port->mcs); drm_dp_mst_put_port_malloc(port); } @@ -4990,8 +5007,8 @@ crtc = conn_state->crtc; - if (WARN_ON(!crtc)) - return -EINVAL; + if (!crtc) + continue; if (!drm_dp_mst_dsc_aux_for_port(pos->port)) continue; @@ -5346,22 +5363,26 @@ /** * drm_dp_mst_register_i2c_bus() - register an I2C adapter for I2C-over-AUX - * @aux: DisplayPort AUX channel + * @port: The port to add the I2C bus on * * Returns 0 on success or a negative error code on failure. */ -static int drm_dp_mst_register_i2c_bus(struct drm_dp_aux *aux) +static int drm_dp_mst_register_i2c_bus(struct drm_dp_mst_port *port) { + struct drm_dp_aux *aux = &port->aux; + struct device *parent_dev = port->mgr->dev->dev; + aux->ddc.algo = &drm_dp_mst_i2c_algo; aux->ddc.algo_data = aux; aux->ddc.retries = 3; aux->ddc.class = I2C_CLASS_DDC; aux->ddc.owner = THIS_MODULE; - aux->ddc.dev.parent = aux->dev; - aux->ddc.dev.of_node = aux->dev->of_node; + /* FIXME: set the kdev of the port's connector as parent */ + aux->ddc.dev.parent = parent_dev; + aux->ddc.dev.of_node = parent_dev->of_node; - strlcpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev), + strlcpy(aux->ddc.name, aux->name ? aux->name : dev_name(parent_dev), sizeof(aux->ddc.name)); return i2c_add_adapter(&aux->ddc); @@ -5369,11 +5390,11 @@ /** * drm_dp_mst_unregister_i2c_bus() - unregister an I2C-over-AUX adapter - * @aux: DisplayPort AUX channel + * @port: The port to remove the I2C bus from */ -static void drm_dp_mst_unregister_i2c_bus(struct drm_dp_aux *aux) +static void drm_dp_mst_unregister_i2c_bus(struct drm_dp_mst_port *port) { - i2c_del_adapter(&aux->ddc); + i2c_del_adapter(&port->aux.ddc); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_edid.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_edid.c @@ -3059,6 +3059,8 @@ height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2; switch (cvt->code[1] & 0x0c) { + /* default - because compiler doesn't see that we've enumerated all cases */ + default: case 0x00: width = height * 4 / 3; break; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_fb_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_fb_helper.c @@ -923,11 +923,15 @@ drm_modeset_lock_all(fb_helper->dev); drm_client_for_each_modeset(modeset, &fb_helper->client) { crtc = modeset->crtc; - if (!crtc->funcs->gamma_set || !crtc->gamma_size) - return -EINVAL; + if (!crtc->funcs->gamma_set || !crtc->gamma_size) { + ret = -EINVAL; + goto out; + } - if (cmap->start + cmap->len > crtc->gamma_size) - return -EINVAL; + if (cmap->start + cmap->len > crtc->gamma_size) { + ret = -EINVAL; + goto out; + } r = crtc->gamma_store; g = r + crtc->gamma_size; @@ -940,8 +944,9 @@ ret = crtc->funcs->gamma_set(crtc, r, g, b, crtc->gamma_size, NULL); if (ret) - return ret; + goto out; } +out: drm_modeset_unlock_all(fb_helper->dev); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_gem.c @@ -709,6 +709,8 @@ if (!objs) return -ENOMEM; + *objs_out = objs; + handles = kvmalloc_array(count, sizeof(u32), GFP_KERNEL); if (!handles) { ret = -ENOMEM; @@ -722,8 +724,6 @@ } ret = objects_lookup(filp, handles, count, objs); - *objs_out = objs; - out: kvfree(handles); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_gem_shmem_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_gem_shmem_helper.c @@ -317,13 +317,14 @@ if (--shmem->vmap_use_count > 0) return; - if (obj->import_attach) + if (obj->import_attach) { dma_buf_vunmap(obj->import_attach->dmabuf, shmem->vaddr); - else + } else { vunmap(shmem->vaddr); + drm_gem_shmem_put_pages(shmem); + } shmem->vaddr = NULL; - drm_gem_shmem_put_pages(shmem); } /* @@ -479,14 +480,28 @@ struct drm_gem_object *obj = vma->vm_private_data; struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); loff_t num_pages = obj->size >> PAGE_SHIFT; + vm_fault_t ret; struct page *page; + pgoff_t page_offset; - if (vmf->pgoff >= num_pages || WARN_ON_ONCE(!shmem->pages)) - return VM_FAULT_SIGBUS; + /* We don't use vmf->pgoff since that has the fake offset */ + page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT; - page = shmem->pages[vmf->pgoff]; + mutex_lock(&shmem->pages_lock); + + if (page_offset >= num_pages || + WARN_ON_ONCE(!shmem->pages) || + shmem->madv < 0) { + ret = VM_FAULT_SIGBUS; + } else { + page = shmem->pages[page_offset]; - return vmf_insert_page(vma, vmf->address, page); + ret = vmf_insert_page(vma, vmf->address, page); + } + + mutex_unlock(&shmem->pages_lock); + + return ret; } static void drm_gem_shmem_vm_open(struct vm_area_struct *vma) @@ -533,9 +548,6 @@ struct drm_gem_shmem_object *shmem; int ret; - /* Remove the fake offset */ - vma->vm_pgoff -= drm_vma_node_start(&obj->vma_node); - shmem = to_drm_gem_shmem_obj(obj); ret = drm_gem_shmem_get_pages(shmem); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_gem_vram_helper.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_gem_vram_helper.c @@ -175,6 +175,10 @@ } } +/* + * Note that on error, drm_gem_vram_init will free the buffer object. + */ + static int drm_gem_vram_init(struct drm_device *dev, struct drm_gem_vram_object *gbo, size_t size, unsigned long pg_align) @@ -184,15 +188,19 @@ int ret; size_t acc_size; - if (WARN_ONCE(!vmm, "VRAM MM not initialized")) + if (WARN_ONCE(!vmm, "VRAM MM not initialized")) { + kfree(gbo); return -EINVAL; + } bdev = &vmm->bdev; gbo->bo.base.funcs = &drm_gem_vram_object_funcs; ret = drm_gem_object_init(dev, &gbo->bo.base, size); - if (ret) + if (ret) { + kfree(gbo); return ret; + } acc_size = ttm_bo_dma_acc_size(bdev, size, sizeof(*gbo)); @@ -203,13 +211,13 @@ &gbo->placement, pg_align, false, acc_size, NULL, NULL, ttm_buffer_object_destroy); if (ret) - goto err_drm_gem_object_release; + /* + * A failing ttm_bo_init will call ttm_buffer_object_destroy + * to release gbo->bo.base and kfree gbo. + */ + return ret; return 0; - -err_drm_gem_object_release: - drm_gem_object_release(&gbo->bo.base); - return ret; } /** @@ -243,13 +251,9 @@ ret = drm_gem_vram_init(dev, gbo, size, pg_align); if (ret < 0) - goto err_kfree; + return ERR_PTR(ret); return gbo; - -err_kfree: - kfree(gbo); - return ERR_PTR(ret); } EXPORT_SYMBOL(drm_gem_vram_create); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_ioc32.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_ioc32.c @@ -99,6 +99,8 @@ if (copy_from_user(&v32, (void __user *)arg, sizeof(v32))) return -EFAULT; + memset(&v, 0, sizeof(v)); + v = (struct drm_version) { .name_len = v32.name_len, .name = compat_ptr(v32.name), @@ -137,6 +139,9 @@ if (copy_from_user(&uq32, (void __user *)arg, sizeof(uq32))) return -EFAULT; + + memset(&uq, 0, sizeof(uq)); + uq = (struct drm_unique){ .unique_len = uq32.unique_len, .unique = compat_ptr(uq32.unique), @@ -265,6 +270,8 @@ if (copy_from_user(&c32, argp, sizeof(c32))) return -EFAULT; + memset(&client, 0, sizeof(client)); + client.idx = c32.idx; err = drm_ioctl_kernel(file, drm_getclient, &client, 0); @@ -850,6 +857,8 @@ if (copy_from_user(&req32, argp, sizeof(req32))) return -EFAULT; + memset(&req, 0, sizeof(req)); + req.request.type = req32.request.type; req.request.sequence = req32.request.sequence; req.request.signal = req32.request.signal; @@ -887,6 +896,8 @@ struct drm_mode_fb_cmd2 req64; int err; + memset(&req64, 0, sizeof(req64)); + if (copy_from_user(&req64, argp, offsetof(drm_mode_fb_cmd232_t, modifier))) return -EFAULT; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_mipi_dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_mipi_dsi.c @@ -1082,11 +1082,11 @@ */ int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device *dsi, u16 scanline) { - u8 payload[3] = { MIPI_DCS_SET_TEAR_SCANLINE, scanline >> 8, - scanline & 0xff }; + u8 payload[2] = { scanline >> 8, scanline & 0xff }; ssize_t err; - err = mipi_dsi_generic_write(dsi, payload, sizeof(payload)); + err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_TEAR_SCANLINE, payload, + sizeof(payload)); if (err < 0) return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_mm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_mm.c @@ -407,7 +407,7 @@ left_node = rb_entry(left_rb_node, struct drm_mm_node, rb_hole_addr); if ((left_node->subtree_max_hole < size || - entry->size == entry->subtree_max_hole) && + HOLE_SIZE(entry) == entry->subtree_max_hole) && parent_rb_node && parent_rb_node->rb_left != rb_node) return rb_hole_addr_to_node(parent_rb_node); } @@ -447,7 +447,7 @@ right_node = rb_entry(right_rb_node, struct drm_mm_node, rb_hole_addr); if ((right_node->subtree_max_hole < size || - entry->size == entry->subtree_max_hole) && + HOLE_SIZE(entry) == entry->subtree_max_hole) && parent_rb_node && parent_rb_node->rb_right != rb_node) return rb_hole_addr_to_node(parent_rb_node); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_mode_object.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_mode_object.c @@ -428,7 +428,7 @@ out_unref: drm_mode_object_put(obj); out: - DRM_MODESET_LOCK_ALL_END(ctx, ret); + DRM_MODESET_LOCK_ALL_END(dev, ctx, ret); return ret; } @@ -470,7 +470,7 @@ break; } drm_property_change_valid_put(prop, ref); - DRM_MODESET_LOCK_ALL_END(ctx, ret); + DRM_MODESET_LOCK_ALL_END(dev, ctx, ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_modes.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_modes.c @@ -764,7 +764,7 @@ else if (mode->htotal > 0 && mode->vtotal > 0) { unsigned int num, den; - num = mode->clock * 1000; + num = mode->clock; den = mode->htotal * mode->vtotal; if (mode->flags & DRM_MODE_FLAG_INTERLACE) @@ -774,7 +774,7 @@ if (mode->vscan > 1) den *= mode->vscan; - refresh = DIV_ROUND_CLOSEST(num, den); + refresh = DIV_ROUND_CLOSEST_ULL(mul_u32_u32(num, 1000), den); } return refresh; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -121,6 +121,12 @@ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T101HA"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* Asus T103HAF */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, }, { /* GPD MicroPC (generic strings, also match on bios date) */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"), --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_plane.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_plane.c @@ -791,7 +791,7 @@ crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h, &ctx); - DRM_MODESET_LOCK_ALL_END(ctx, ret); + DRM_MODESET_LOCK_ALL_END(plane->dev, ctx, ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/drm_syncobj.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/drm_syncobj.c @@ -388,19 +388,18 @@ return -ENOENT; *fence = drm_syncobj_fence_get(syncobj); - drm_syncobj_put(syncobj); if (*fence) { ret = dma_fence_chain_find_seqno(fence, point); if (!ret) - return 0; + goto out; dma_fence_put(*fence); } else { ret = -EINVAL; } if (!(flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT)) - return ret; + goto out; memset(&wait, 0, sizeof(wait)); wait.task = current; @@ -432,6 +431,9 @@ if (wait.node.next) drm_syncobj_remove_wait(syncobj, &wait); +out: + drm_syncobj_put(syncobj); + return ret; } EXPORT_SYMBOL(drm_syncobj_find_fence); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -337,9 +337,16 @@ gpu->identity.model = gpu_read(gpu, VIVS_HI_CHIP_MODEL); gpu->identity.revision = gpu_read(gpu, VIVS_HI_CHIP_REV); - gpu->identity.product_id = gpu_read(gpu, VIVS_HI_CHIP_PRODUCT_ID); gpu->identity.customer_id = gpu_read(gpu, VIVS_HI_CHIP_CUSTOMER_ID); - gpu->identity.eco_id = gpu_read(gpu, VIVS_HI_CHIP_ECO_ID); + + /* + * Reading these two registers on GC600 rev 0x19 result in a + * unhandled fault: external abort on non-linefetch + */ + if (!etnaviv_is_model_rev(gpu, GC600, 0x19)) { + gpu->identity.product_id = gpu_read(gpu, VIVS_HI_CHIP_PRODUCT_ID); + gpu->identity.eco_id = gpu_read(gpu, VIVS_HI_CHIP_ECO_ID); + } /* * !!!! HACK ALERT !!!! @@ -722,7 +729,7 @@ ret = pm_runtime_get_sync(gpu->dev); if (ret < 0) { dev_err(gpu->dev, "Failed to enable GPU power domain\n"); - return ret; + goto pm_put; } etnaviv_hw_identify(gpu); @@ -819,6 +826,7 @@ fail: pm_runtime_mark_last_busy(gpu->dev); +pm_put: pm_runtime_put_autosuspend(gpu->dev); return ret; @@ -859,7 +867,7 @@ ret = pm_runtime_get_sync(gpu->dev); if (ret < 0) - return ret; + goto pm_put; dma_lo = gpu_read(gpu, VIVS_FE_DMA_LOW); dma_hi = gpu_read(gpu, VIVS_FE_DMA_HIGH); @@ -1003,6 +1011,7 @@ ret = 0; pm_runtime_mark_last_busy(gpu->dev); +pm_put: pm_runtime_put_autosuspend(gpu->dev); return ret; @@ -1016,7 +1025,7 @@ dev_err(gpu->dev, "recover hung GPU!\n"); if (pm_runtime_get_sync(gpu->dev) < 0) - return; + goto pm_put; mutex_lock(&gpu->lock); @@ -1035,6 +1044,7 @@ mutex_unlock(&gpu->lock); pm_runtime_mark_last_busy(gpu->dev); +pm_put: pm_runtime_put_autosuspend(gpu->dev); } @@ -1308,8 +1318,10 @@ if (!submit->runtime_resumed) { ret = pm_runtime_get_sync(gpu->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(gpu->dev); return NULL; + } submit->runtime_resumed = true; } @@ -1326,6 +1338,7 @@ ret = event_alloc(gpu, nr_events, event); if (ret) { DRM_ERROR("no free events\n"); + pm_runtime_put_noidle(gpu->dev); return NULL; } @@ -1496,7 +1509,7 @@ if (gpu->clk_bus) { ret = clk_prepare_enable(gpu->clk_bus); if (ret) - return ret; + goto disable_clk_reg; } if (gpu->clk_core) { @@ -1519,6 +1532,9 @@ disable_clk_bus: if (gpu->clk_bus) clk_disable_unprepare(gpu->clk_bus); +disable_clk_reg: + if (gpu->clk_reg) + clk_disable_unprepare(gpu->clk_reg); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/etnaviv/etnaviv_sched.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/etnaviv/etnaviv_sched.c @@ -89,12 +89,15 @@ u32 dma_addr; int change; + /* block scheduler */ + drm_sched_stop(&gpu->sched, sched_job); + /* * If the GPU managed to complete this jobs fence, the timout is * spurious. Bail out. */ if (dma_fence_is_signaled(submit->out_fence)) - return; + goto out_no_timeout; /* * If the GPU is still making forward progress on the front-end (which @@ -105,12 +108,9 @@ change = dma_addr - gpu->hangcheck_dma_addr; if (change < 0 || change > 16) { gpu->hangcheck_dma_addr = dma_addr; - return; + goto out_no_timeout; } - /* block scheduler */ - drm_sched_stop(&gpu->sched, sched_job); - if(sched_job) drm_sched_increase_karma(sched_job); @@ -120,6 +120,7 @@ drm_sched_resubmit_jobs(&gpu->sched); +out_no_timeout: /* restart scheduler after GPU is usable again */ drm_sched_start(&gpu->sched, true); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/exynos/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/exynos/Kconfig @@ -1,7 +1,8 @@ # SPDX-License-Identifier: GPL-2.0-only config DRM_EXYNOS tristate "DRM Support for Samsung SoC Exynos Series" - depends on OF && DRM && (ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST) + depends on OF && DRM && COMMON_CLK + depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST depends on MMU select DRM_KMS_HELPER select VIDEOMODE_HELPERS --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/exynos/exynos_drm_g2d.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/exynos/exynos_drm_g2d.c @@ -395,8 +395,8 @@ return; out: - dma_unmap_sg(to_dma_dev(g2d->drm_dev), g2d_userptr->sgt->sgl, - g2d_userptr->sgt->nents, DMA_BIDIRECTIONAL); + dma_unmap_sgtable(to_dma_dev(g2d->drm_dev), g2d_userptr->sgt, + DMA_BIDIRECTIONAL, 0); pages = frame_vector_pages(g2d_userptr->vec); if (!IS_ERR(pages)) { @@ -511,10 +511,10 @@ g2d_userptr->sgt = sgt; - if (!dma_map_sg(to_dma_dev(g2d->drm_dev), sgt->sgl, sgt->nents, - DMA_BIDIRECTIONAL)) { + ret = dma_map_sgtable(to_dma_dev(g2d->drm_dev), sgt, + DMA_BIDIRECTIONAL, 0); + if (ret) { DRM_DEV_ERROR(g2d->dev, "failed to map sgt with dma region.\n"); - ret = -ENOMEM; goto err_sg_free_table; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/gma500/cdv_intel_dp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/gma500/cdv_intel_dp.c @@ -2078,12 +2078,12 @@ intel_dp->dpcd, sizeof(intel_dp->dpcd)); cdv_intel_edp_panel_vdd_off(gma_encoder); - if (ret == 0) { + if (ret <= 0) { /* if this fails, presume the device is a ghost */ DRM_INFO("failed to retrieve link info, disabling eDP\n"); drm_encoder_cleanup(encoder); cdv_intel_dp_destroy(connector); - goto err_priv; + goto err_connector; } else { DRM_DEBUG_KMS("DPCD: Rev=%x LN_Rate=%x LN_CNT=%x LN_DOWNSP=%x\n", intel_dp->dpcd[0], intel_dp->dpcd[1], --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c @@ -279,11 +279,8 @@ hdmi_dev = pci_get_drvdata(dev); i2c_dev = kzalloc(sizeof(struct hdmi_i2c_dev), GFP_KERNEL); - if (i2c_dev == NULL) { - DRM_ERROR("Can't allocate interface\n"); - ret = -ENOMEM; - goto exit; - } + if (!i2c_dev) + return -ENOMEM; i2c_dev->adap = &oaktrail_hdmi_i2c_adapter; i2c_dev->status = I2C_STAT_INIT; @@ -300,16 +297,23 @@ oaktrail_hdmi_i2c_adapter.name, hdmi_dev); if (ret) { DRM_ERROR("Failed to request IRQ for I2C controller\n"); - goto err; + goto free_dev; } /* Adapter registration */ ret = i2c_add_numbered_adapter(&oaktrail_hdmi_i2c_adapter); - return ret; + if (ret) { + DRM_ERROR("Failed to add I2C adapter\n"); + goto free_irq; + } + + return 0; -err: +free_irq: + free_irq(dev->irq, hdmi_dev); +free_dev: kfree(i2c_dev); -exit: + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/gma500/psb_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/gma500/psb_drv.c @@ -313,6 +313,8 @@ if (ret) goto out_err; + ret = -ENOMEM; + dev_priv->mmu = psb_mmu_driver_init(dev, 1, 0, 0); if (!dev_priv->mmu) goto out_err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/gma500/psb_irq.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/gma500/psb_irq.c @@ -347,6 +347,7 @@ { struct drm_psb_private *dev_priv = dev->dev_private; unsigned long irqflags; + unsigned int i; spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags); @@ -359,20 +360,12 @@ PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R); PSB_WVDC32(0xFFFFFFFF, PSB_HWSTAM); - if (dev->vblank[0].enabled) - psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE); - else - psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE); - - if (dev->vblank[1].enabled) - psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE); - else - psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE); - - if (dev->vblank[2].enabled) - psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE); - else - psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE); + for (i = 0; i < dev->num_crtcs; ++i) { + if (dev->vblank[i].enabled) + psb_enable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE); + else + psb_disable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE); + } if (dev_priv->ops->hotplug_enable) dev_priv->ops->hotplug_enable(dev, true); @@ -385,6 +378,7 @@ { struct drm_psb_private *dev_priv = dev->dev_private; unsigned long irqflags; + unsigned int i; spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags); @@ -393,14 +387,10 @@ PSB_WVDC32(0xFFFFFFFF, PSB_HWSTAM); - if (dev->vblank[0].enabled) - psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE); - - if (dev->vblank[1].enabled) - psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE); - - if (dev->vblank[2].enabled) - psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE); + for (i = 0; i < dev->num_crtcs; ++i) { + if (dev->vblank[i].enabled) + psb_disable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE); + } dev_priv->vdc_irq_mask &= _PSB_IRQ_SGX_FLAG | _PSB_IRQ_MSVDX_FLAG | --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c @@ -374,7 +374,6 @@ drm_dev_unregister(dev); hibmc_unload(dev); - drm_dev_put(dev); } static struct pci_device_id hibmc_pci_table[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/Kconfig.debug +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/Kconfig.debug @@ -153,6 +153,7 @@ select DRM_EXPORT_FOR_TESTS if m select FAULT_INJECTION select PRIME_NUMBERS + select CRC32 help Choose this option to allow the driver to perform selftests upon loading; also requires the i915.selftest=1 module parameter. To --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/icl_dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/icl_dsi.c @@ -1590,10 +1590,6 @@ get_dsi_io_power_domains(i915, enc_to_intel_dsi(encoder)); - - if (crtc_state->dsc.compression_enable) - intel_display_power_get(i915, - intel_dsc_power_domain(crtc_state)); } static bool gen11_dsi_get_hw_state(struct intel_encoder *encoder, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_acpi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_acpi.c @@ -84,13 +84,31 @@ return; } + if (!pkg->package.count) { + DRM_DEBUG_DRIVER("no connection in _DSM\n"); + return; + } + connector_count = &pkg->package.elements[0]; DRM_DEBUG_DRIVER("MUX info connectors: %lld\n", (unsigned long long)connector_count->integer.value); for (i = 1; i < pkg->package.count; i++) { union acpi_object *obj = &pkg->package.elements[i]; - union acpi_object *connector_id = &obj->package.elements[0]; - union acpi_object *info = &obj->package.elements[1]; + union acpi_object *connector_id; + union acpi_object *info; + + if (obj->type != ACPI_TYPE_PACKAGE || obj->package.count < 2) { + DRM_DEBUG_DRIVER("Invalid object for MUX #%d\n", i); + continue; + } + + connector_id = &obj->package.elements[0]; + info = &obj->package.elements[1]; + if (info->type != ACPI_TYPE_BUFFER || info->buffer.length < 4) { + DRM_DEBUG_DRIVER("Invalid info for MUX obj #%d\n", i); + continue; + } + DRM_DEBUG_DRIVER("Connector id: 0x%016llx\n", (unsigned long long)connector_id->integer.value); DRM_DEBUG_DRIVER(" port id: %s\n", --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_bios.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_bios.c @@ -32,6 +32,7 @@ #include "display/intel_gmbus.h" #include "i915_drv.h" +#include #define _INTEL_BIOS_PRIVATE #include "intel_vbt_defs.h" @@ -2084,6 +2085,22 @@ return NULL; } +#define DRM_DMI_PRODUCT_VERSION 0x6 + +static void parse_product_info(struct drm_i915_private *dev_priv) +{ + const char *product_ver = dmi_get_system_info(DRM_DMI_PRODUCT_VERSION); + if (!product_ver) + return; + + if (!strncmp(product_ver, "ThinkPad X1", 11)) { + DRM_DEBUG_KMS("dmi: %s, Bypassing TMDS_OE write\n", product_ver); + dev_priv->bypass_tmds_oe = true; + } + + return; +} + /** * intel_bios_init - find VBT and initialize settings from the BIOS * @dev_priv: i915 device instance @@ -2146,6 +2163,8 @@ parse_sdvo_device_mapping(dev_priv, bdb->version); parse_ddi_ports(dev_priv, bdb->version); + parse_product_info(dev_priv); + out: if (!vbt) { drm_info(&dev_priv->drm, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_ddi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_ddi.c @@ -2442,6 +2442,9 @@ u32 n_entries, val; int ln, rate = 0; + if (enc_to_dig_port(encoder)->tc_mode == TC_PORT_TBT_ALT) + return; + if (type != INTEL_OUTPUT_HDMI) { struct intel_dp *intel_dp = enc_to_intel_dp(encoder); @@ -2450,12 +2453,11 @@ ddi_translations = icl_get_mg_buf_trans(dev_priv, type, rate, &n_entries); - /* The table does not have values for level 3 and level 9. */ - if (level >= n_entries || level == 3 || level == 9) { + if (level >= n_entries) { drm_dbg_kms(&dev_priv->drm, "DDI translation not found for level %d. Using %d instead.", - level, n_entries - 2); - level = n_entries - 2; + level, n_entries - 1); + level = n_entries - 1; } /* Set MG_TX_LINK_PARAMS cri_use_fs32 to 0. */ @@ -2586,6 +2588,9 @@ const struct tgl_dkl_phy_ddi_buf_trans *ddi_translations; u32 n_entries, val, ln, dpcnt_mask, dpcnt_val; + if (enc_to_dig_port(encoder)->tc_mode == TC_PORT_TBT_ALT) + return; + if (type == INTEL_OUTPUT_HDMI) { n_entries = ARRAY_SIZE(tgl_dkl_phy_hdmi_ddi_trans); ddi_translations = tgl_dkl_phy_hdmi_ddi_trans; @@ -3105,6 +3110,23 @@ intel_de_posting_read(dev_priv, intel_dp->regs.dp_tp_ctl); } +static void intel_ddi_power_up_lanes(struct intel_encoder *encoder, + const struct intel_crtc_state *crtc_state) +{ + struct drm_i915_private *i915 = to_i915(encoder->base.dev); + struct intel_digital_port *dig_port = enc_to_dig_port(encoder); + enum phy phy = intel_port_to_phy(i915, encoder->port); + + if (intel_phy_is_combo(i915, phy)) { + bool lane_reversal = + dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL; + + intel_combo_phy_power_up_lanes(i915, phy, false, + crtc_state->lane_count, + lane_reversal); + } +} + static void tgl_ddi_pre_enable_dp(struct intel_atomic_state *state, struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state, @@ -3198,14 +3220,7 @@ * 7.f Combo PHY: Configure PORT_CL_DW10 Static Power Down to power up * the used lanes of the DDI. */ - if (intel_phy_is_combo(dev_priv, phy)) { - bool lane_reversal = - dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL; - - intel_combo_phy_power_up_lanes(dev_priv, phy, false, - crtc_state->lane_count, - lane_reversal); - } + intel_ddi_power_up_lanes(encoder, crtc_state); /* * 7.g Configure and enable DDI_BUF_CTL @@ -3289,14 +3304,7 @@ else intel_prepare_dp_ddi_buffers(encoder, crtc_state); - if (intel_phy_is_combo(dev_priv, phy)) { - bool lane_reversal = - dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL; - - intel_combo_phy_power_up_lanes(dev_priv, phy, false, - crtc_state->lane_count, - lane_reversal); - } + intel_ddi_power_up_lanes(encoder, crtc_state); intel_ddi_init_dp_buf_reg(encoder); if (!is_mst) @@ -3766,6 +3774,8 @@ intel_de_write(dev_priv, reg, val); } + intel_ddi_power_up_lanes(encoder, crtc_state); + /* In HDMI/DVI mode, the port width, and swing/emphasis values * are ignored so nothing special needs to be done besides * enabling the port. @@ -4155,11 +4165,6 @@ if (drm_WARN_ON(&dev_priv->drm, transcoder_is_dsi(cpu_transcoder))) return; - if (INTEL_GEN(dev_priv) >= 12) { - intel_dp->regs.dp_tp_ctl = TGL_DP_TP_CTL(cpu_transcoder); - intel_dp->regs.dp_tp_status = TGL_DP_TP_STATUS(cpu_transcoder); - } - intel_dsc_get_config(encoder, pipe_config); temp = intel_de_read(dev_priv, TRANS_DDI_FUNC_CTL(cpu_transcoder)); @@ -4261,6 +4266,16 @@ break; } + if (INTEL_GEN(dev_priv) >= 12) { + enum transcoder transcoder = + intel_dp_mst_is_slave_trans(pipe_config) ? + pipe_config->mst_master_transcoder : + pipe_config->cpu_transcoder; + + intel_dp->regs.dp_tp_ctl = TGL_DP_TP_CTL(transcoder); + intel_dp->regs.dp_tp_status = TGL_DP_TP_STATUS(transcoder); + } + pipe_config->has_audio = intel_ddi_is_audio_enabled(dev_priv, cpu_transcoder); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_display.c @@ -3431,6 +3431,14 @@ if (IS_ERR(obj)) return NULL; + /* + * Mark it WT ahead of time to avoid changing the + * cache_level during fbdev initialization. The + * unbind there would get stuck waiting for rcu. + */ + i915_gem_object_set_cache_coherency(obj, HAS_WT(i915) ? + I915_CACHE_WT : I915_CACHE_NONE); + switch (plane_config->tiling) { case I915_TILING_NONE: break; @@ -4832,6 +4840,8 @@ plane_color_ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE; } else if (fb->format->is_yuv) { plane_color_ctl |= PLANE_COLOR_INPUT_CSC_ENABLE; + if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE) + plane_color_ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE; } return plane_color_ctl; @@ -10563,6 +10573,10 @@ val & PLANE_CTL_FLIP_HORIZONTAL) plane_config->rotation |= DRM_MODE_REFLECT_X; + /* 90/270 degree rotation would require extra work */ + if (drm_rotation_90_or_270(plane_config->rotation)) + goto error; + base = intel_de_read(dev_priv, PLANE_SURF(pipe, plane_id)) & 0xfffff000; plane_config->base = base; @@ -12783,10 +12797,11 @@ case 10 ... 11: bpp = 10 * 3; break; - case 12: + case 12 ... 16: bpp = 12 * 3; break; default: + MISSING_CASE(conn_state->max_bpc); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_display_types.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1280,6 +1280,7 @@ bool link_trained; bool has_audio; bool reset_link_params; + bool use_max_params; u8 dpcd[DP_RECEIVER_CAP_SIZE]; u8 psr_dpcd[EDP_PSR_RECEIVER_CAP_SIZE]; u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]; @@ -1376,6 +1377,9 @@ /* Displayport compliance testing */ struct intel_dp_compliance compliance; + /* To control wakeup latency, e.g. for irq-driven dp aux transfers. */ + struct pm_qos_request pm_qos; + /* Display stream compression testing */ bool force_dsc_en; }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_dp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_dp.c @@ -465,6 +465,13 @@ struct drm_i915_private *i915 = dp_to_i915(intel_dp); int index; + if (intel_dp_is_edp(intel_dp) && !intel_dp->use_max_params) { + drm_dbg_kms(&i915->drm, + "Retrying Link training for eDP with max parameters\n"); + intel_dp->use_max_params = true; + return 0; + } + index = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates, link_rate); @@ -585,7 +592,7 @@ return 0; } /* Also take into account max slice width */ - min_slice_count = min_t(u8, min_slice_count, + min_slice_count = max_t(u8, min_slice_count, DIV_ROUND_UP(mode_hdisplay, max_slice_width)); @@ -1391,7 +1398,7 @@ * lowest possible wakeup latency and so prevent the cpu from going into * deep sleep states. */ - cpu_latency_qos_update_request(&i915->pm_qos, 0); + cpu_latency_qos_update_request(&intel_dp->pm_qos, 0); intel_dp_check_edp(intel_dp); @@ -1524,7 +1531,7 @@ ret = recv_bytes; out: - cpu_latency_qos_update_request(&i915->pm_qos, PM_QOS_DEFAULT_VALUE); + cpu_latency_qos_update_request(&intel_dp->pm_qos, PM_QOS_DEFAULT_VALUE); if (vdd) edp_panel_vdd_off(intel_dp, false); @@ -1740,6 +1747,9 @@ static void intel_dp_aux_fini(struct intel_dp *intel_dp) { + if (cpu_latency_qos_request_active(&intel_dp->pm_qos)) + cpu_latency_qos_remove_request(&intel_dp->pm_qos); + kfree(intel_dp->aux.name); } @@ -1782,6 +1792,7 @@ aux_ch_name(dig_port->aux_ch), port_name(encoder->port)); intel_dp->aux.transfer = intel_dp_aux_transfer; + cpu_latency_qos_add_request(&intel_dp->pm_qos, PM_QOS_DEFAULT_VALUE); } bool intel_dp_source_supports_hbr2(struct intel_dp *intel_dp) @@ -2275,13 +2286,14 @@ limits.min_bpp = intel_dp_min_bpp(pipe_config); limits.max_bpp = intel_dp_compute_bpp(intel_dp, pipe_config); - if (intel_dp_is_edp(intel_dp)) { + if (intel_dp->use_max_params) { /* * Use the maximum clock and number of lanes the eDP panel - * advertizes being capable of. The panels are generally + * advertizes being capable of in case the initial fast + * optimal params failed us. The panels are generally * designed to support only a single clock and lane - * configuration, and typically these values correspond to the - * native resolution of the panel. + * configuration, and typically on older panels these + * values correspond to the native resolution of the panel. */ limits.min_lane_count = limits.max_lane_count; limits.min_clock = limits.max_clock; @@ -2295,9 +2307,10 @@ intel_dp->common_rates[limits.max_clock], limits.max_bpp, adjusted_mode->crtc_clock); + /* - * Optimize for slow and wide. This is the place to add alternative - * optimization policy. + * Optimize for slow and wide for everything, because there are some + * eDP 1.3 and 1.4 panels don't work well with fast and narrow. */ ret = intel_dp_compute_link_config_wide(intel_dp, pipe_config, &limits); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c @@ -347,9 +347,13 @@ struct intel_panel *panel = &intel_connector->panel; struct intel_dp *intel_dp = enc_to_intel_dp(intel_connector->encoder); struct drm_i915_private *i915 = dp_to_i915(intel_dp); + bool force_dpcd; + + force_dpcd = drm_dp_has_quirk(&intel_dp->desc, intel_dp->edid_quirks, + DP_QUIRK_FORCE_DPCD_BACKLIGHT); if (i915_modparams.enable_dpcd_backlight == 0 || - !intel_dp_aux_display_control_capable(intel_connector)) + (!force_dpcd && !intel_dp_aux_display_control_capable(intel_connector))) return -ENODEV; /* @@ -358,9 +362,7 @@ */ if (i915->vbt.backlight.type != INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE && - i915_modparams.enable_dpcd_backlight != 1 && - !drm_dp_has_quirk(&intel_dp->desc, intel_dp->edid_quirks, - DP_QUIRK_FORCE_DPCD_BACKLIGHT)) { + i915_modparams.enable_dpcd_backlight != 1 && !force_dpcd) { drm_info(&i915->drm, "Panel advertises DPCD backlight support, but " "VBT disagrees. If your backlight controls " --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -66,7 +66,9 @@ slots = drm_dp_atomic_find_vcpi_slots(state, &intel_dp->mst_mgr, connector->port, - crtc_state->pbn, 0); + crtc_state->pbn, + drm_dp_get_vc_payload_bw(crtc_state->port_clock, + crtc_state->lane_count)); if (slots == -EDEADLK) return slots; if (slots >= 0) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_dpll_mgr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_dpll_mgr.c @@ -2934,6 +2934,15 @@ static const struct skl_wrpll_params tgl_tbt_pll_24MHz_values = { .dco_integer = 0x43, .dco_fraction = 0x4000, /* the following params are unused */ +}; + +/* + * Display WA #22010492432: tgl + * Divide the nominal .dco_fraction value by 2. + */ +static const struct skl_wrpll_params tgl_tbt_pll_38_4MHz_values = { + .dco_integer = 0x54, .dco_fraction = 0x1800, + /* the following params are unused */ .pdiv = 0, .kdiv = 0, .qdiv_mode = 0, .qdiv_ratio = 0, }; @@ -2970,12 +2979,14 @@ MISSING_CASE(dev_priv->dpll.ref_clks.nssc); /* fall-through */ case 19200: - case 38400: *pll_params = tgl_tbt_pll_19_2MHz_values; break; case 24000: *pll_params = tgl_tbt_pll_24MHz_values; break; + case 38400: + *pll_params = tgl_tbt_pll_38_4MHz_values; + break; } } else { switch (dev_priv->dpll.ref_clks.nssc) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_hdcp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -336,8 +336,10 @@ /* Fill up the empty slots in sha_text and write it out */ sha_empty = sizeof(sha_text) - sha_leftovers; - for (j = 0; j < sha_empty; j++) - sha_text |= ksv[j] << ((sizeof(sha_text) - j - 1) * 8); + for (j = 0; j < sha_empty; j++) { + u8 off = ((sizeof(sha_text) - j - 1 - sha_leftovers) * 8); + sha_text |= ksv[j] << off; + } ret = intel_write_sha_text(dev_priv, sha_text); if (ret < 0) @@ -435,7 +437,7 @@ /* Write 32 bits of text */ intel_de_write(dev_priv, HDCP_REP_CTL, rep_ctl | HDCP_SHA1_TEXT_32); - sha_text |= bstatus[0] << 24 | bstatus[1] << 16; + sha_text |= bstatus[0] << 8 | bstatus[1]; ret = intel_write_sha_text(dev_priv, sha_text); if (ret < 0) return ret; @@ -450,17 +452,29 @@ return ret; sha_idx += sizeof(sha_text); } + + /* + * Terminate the SHA-1 stream by hand. For the other leftover + * cases this is appended by the hardware. + */ + intel_de_write(dev_priv, HDCP_REP_CTL, + rep_ctl | HDCP_SHA1_TEXT_32); + sha_text = DRM_HDCP_SHA1_TERMINATOR << 24; + ret = intel_write_sha_text(dev_priv, sha_text); + if (ret < 0) + return ret; + sha_idx += sizeof(sha_text); } else if (sha_leftovers == 3) { - /* Write 32 bits of text */ + /* Write 32 bits of text (filled from LSB) */ intel_de_write(dev_priv, HDCP_REP_CTL, rep_ctl | HDCP_SHA1_TEXT_32); - sha_text |= bstatus[0] << 24; + sha_text |= bstatus[0]; ret = intel_write_sha_text(dev_priv, sha_text); if (ret < 0) return ret; sha_idx += sizeof(sha_text); - /* Write 8 bits of text, 24 bits of M0 */ + /* Write 8 bits of text (filled from LSB), 24 bits of M0 */ intel_de_write(dev_priv, HDCP_REP_CTL, rep_ctl | HDCP_SHA1_TEXT_8); ret = intel_write_sha_text(dev_priv, bstatus[1]); @@ -2100,6 +2114,7 @@ if (content_protection_type_changed) { mutex_lock(&hdcp->mutex); hdcp->value = DRM_MODE_CONTENT_PROTECTION_DESIRED; + drm_connector_get(&connector->base); schedule_work(&hdcp->prop_work); mutex_unlock(&hdcp->mutex); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -1268,6 +1268,11 @@ if (hdmi->dp_dual_mode.type < DRM_DP_DUAL_MODE_TYPE2_DVI) return; + if (dev_priv->bypass_tmds_oe) { + drm_dbg_kms(&dev_priv->drm, "Bypassing TMDS_OE setting\n"); + return; + } + drm_dbg_kms(&dev_priv->drm, "%s DP dual mode adaptor TMDS output\n", enable ? "Enabling" : "Disabling"); @@ -2197,7 +2202,11 @@ has_hdmi_sink)) return MODE_CLOCK_HIGH; - /* BXT DPLL can't generate 223-240 MHz */ + /* GLK DPLL can't generate 446-480 MHz */ + if (IS_GEMINILAKE(dev_priv) && clock > 446666 && clock < 480000) + return MODE_CLOCK_RANGE; + + /* BXT/GLK DPLL can't generate 223-240 MHz */ if (IS_GEN9_LP(dev_priv) && clock > 223333 && clock < 240000) return MODE_CLOCK_RANGE; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_lpe_audio.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_lpe_audio.c @@ -174,6 +174,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-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_overlay.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_overlay.c @@ -179,6 +179,7 @@ struct intel_crtc *crtc; struct i915_vma *vma; struct i915_vma *old_vma; + struct intel_frontbuffer *frontbuffer; bool active; bool pfit_active; u32 pfit_vscale_ratio; /* shifted-point number, (1<<12) == 1.0 */ @@ -279,21 +280,19 @@ struct i915_vma *vma) { enum pipe pipe = overlay->crtc->pipe; - struct intel_frontbuffer *from = NULL, *to = NULL; + struct intel_frontbuffer *frontbuffer = NULL; drm_WARN_ON(&overlay->i915->drm, overlay->old_vma); - if (overlay->vma) - from = intel_frontbuffer_get(overlay->vma->obj); if (vma) - to = intel_frontbuffer_get(vma->obj); + frontbuffer = intel_frontbuffer_get(vma->obj); - intel_frontbuffer_track(from, to, INTEL_FRONTBUFFER_OVERLAY(pipe)); + intel_frontbuffer_track(overlay->frontbuffer, frontbuffer, + INTEL_FRONTBUFFER_OVERLAY(pipe)); - if (to) - intel_frontbuffer_put(to); - if (from) - intel_frontbuffer_put(from); + if (overlay->frontbuffer) + intel_frontbuffer_put(overlay->frontbuffer); + overlay->frontbuffer = frontbuffer; intel_frontbuffer_flip_prepare(overlay->i915, INTEL_FRONTBUFFER_OVERLAY(pipe)); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_panel.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_panel.c @@ -1644,16 +1644,13 @@ val = pch_get_backlight(connector); else val = lpt_get_backlight(connector); - val = intel_panel_compute_brightness(connector, val); - panel->backlight.level = clamp(val, panel->backlight.min, - panel->backlight.max); if (cpu_mode) { drm_dbg_kms(&dev_priv->drm, "CPU backlight register was enabled, switching to PCH override\n"); /* Write converted CPU PWM value to PCH override register */ - lpt_set_backlight(connector->base.state, panel->backlight.level); + lpt_set_backlight(connector->base.state, val); intel_de_write(dev_priv, BLC_PWM_PCH_CTL1, pch_ctl1 | BLM_PCH_OVERRIDE_ENABLE); @@ -1661,6 +1658,10 @@ cpu_ctl2 & ~BLM_PWM_ENABLE); } + val = intel_panel_compute_brightness(connector, val); + panel->backlight.level = clamp(val, panel->backlight.min, + panel->backlight.max); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_psr.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_psr.c @@ -1450,6 +1450,14 @@ */ dev_priv->hsw_psr_mmio_adjust = _SRD_CTL_EDP - _HSW_EDP_PSR_BASE; + /* + * PSR was disabled by module parameters but the underlying panel is + * depending on it, so use per-chip default to probe that automatically. + */ + if ((dev_priv->psr.dp->edid_quirks & BIT(DP_QUIRK_FORCE_PSR_CHIP_DEFAULT)) && + i915_modparams.enable_psr == 0) + i915_modparams.enable_psr = -1; + if (i915_modparams.enable_psr == -1) if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable) i915_modparams.enable_psr = 0; @@ -1622,7 +1630,7 @@ return; intel_connector = to_intel_connector(connector); - dig_port = enc_to_dig_port(intel_attached_encoder(intel_connector)); + dig_port = enc_to_dig_port(to_intel_encoder(new_state->best_encoder)); if (dev_priv->psr.dp != &dig_port->dp) return; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_sprite.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_sprite.c @@ -453,13 +453,19 @@ /* Preoffset values for YUV to RGB Conversion */ #define PREOFF_YUV_TO_RGB_HI 0x1800 -#define PREOFF_YUV_TO_RGB_ME 0x1F00 +#define PREOFF_YUV_TO_RGB_ME 0x0000 #define PREOFF_YUV_TO_RGB_LO 0x1800 #define ROFF(x) (((x) & 0xffff) << 16) #define GOFF(x) (((x) & 0xffff) << 0) #define BOFF(x) (((x) & 0xffff) << 16) +/* + * Programs the input color space conversion stage for ICL HDR planes. + * Note that it is assumed that this stage always happens after YUV + * range correction. Thus, the input to this stage is assumed to be + * in full-range YCbCr. + */ static void icl_program_input_csc(struct intel_plane *plane, const struct intel_crtc_state *crtc_state, @@ -507,52 +513,7 @@ 0x0, 0x7800, 0x7F10, }, }; - - /* Matrix for Limited Range to Full Range Conversion */ - static const u16 input_csc_matrix_lr[][9] = { - /* - * BT.601 Limted range YCbCr -> full range RGB - * The matrix required is : - * [1.164384, 0.000, 1.596027, - * 1.164384, -0.39175, -0.812813, - * 1.164384, 2.017232, 0.0000] - */ - [DRM_COLOR_YCBCR_BT601] = { - 0x7CC8, 0x7950, 0x0, - 0x8D00, 0x7950, 0x9C88, - 0x0, 0x7950, 0x6810, - }, - /* - * BT.709 Limited range YCbCr -> full range RGB - * The matrix required is : - * [1.164384, 0.000, 1.792741, - * 1.164384, -0.213249, -0.532909, - * 1.164384, 2.112402, 0.0000] - */ - [DRM_COLOR_YCBCR_BT709] = { - 0x7E58, 0x7950, 0x0, - 0x8888, 0x7950, 0xADA8, - 0x0, 0x7950, 0x6870, - }, - /* - * BT.2020 Limited range YCbCr -> full range RGB - * The matrix required is : - * [1.164, 0.000, 1.678, - * 1.164, -0.1873, -0.6504, - * 1.164, 2.1417, 0.0000] - */ - [DRM_COLOR_YCBCR_BT2020] = { - 0x7D70, 0x7950, 0x0, - 0x8A68, 0x7950, 0xAC00, - 0x0, 0x7950, 0x6890, - }, - }; - const u16 *csc; - - if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE) - csc = input_csc_matrix[plane_state->hw.color_encoding]; - else - csc = input_csc_matrix_lr[plane_state->hw.color_encoding]; + const u16 *csc = input_csc_matrix[plane_state->hw.color_encoding]; intel_de_write_fw(dev_priv, PLANE_INPUT_CSC_COEFF(pipe, plane_id, 0), ROFF(csc[0]) | GOFF(csc[1])); @@ -569,14 +530,8 @@ intel_de_write_fw(dev_priv, PLANE_INPUT_CSC_PREOFF(pipe, plane_id, 0), PREOFF_YUV_TO_RGB_HI); - if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE) - intel_de_write_fw(dev_priv, - PLANE_INPUT_CSC_PREOFF(pipe, plane_id, 1), - 0); - else - intel_de_write_fw(dev_priv, - PLANE_INPUT_CSC_PREOFF(pipe, plane_id, 1), - PREOFF_YUV_TO_RGB_ME); + intel_de_write_fw(dev_priv, PLANE_INPUT_CSC_PREOFF(pipe, plane_id, 1), + PREOFF_YUV_TO_RGB_ME); intel_de_write_fw(dev_priv, PLANE_INPUT_CSC_PREOFF(pipe, plane_id, 2), PREOFF_YUV_TO_RGB_LO); intel_de_write_fw(dev_priv, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/intel_tc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/intel_tc.c @@ -23,36 +23,6 @@ return names[mode]; } -static void -tc_port_load_fia_params(struct drm_i915_private *i915, - struct intel_digital_port *dig_port) -{ - enum port port = dig_port->base.port; - enum tc_port tc_port = intel_port_to_tc(i915, port); - u32 modular_fia; - - if (INTEL_INFO(i915)->display.has_modular_fia) { - modular_fia = intel_uncore_read(&i915->uncore, - PORT_TX_DFLEXDPSP(FIA1)); - drm_WARN_ON(&i915->drm, modular_fia == 0xffffffff); - modular_fia &= MODULAR_FIA_MASK; - } else { - modular_fia = 0; - } - - /* - * Each Modular FIA instance houses 2 TC ports. In SOC that has more - * than two TC ports, there are multiple instances of Modular FIA. - */ - if (modular_fia) { - dig_port->tc_phy_fia = tc_port / 2; - dig_port->tc_phy_fia_idx = tc_port % 2; - } else { - dig_port->tc_phy_fia = FIA1; - dig_port->tc_phy_fia_idx = tc_port; - } -} - static enum intel_display_power_domain tc_cold_get_power_domain(struct intel_digital_port *dig_port) { @@ -642,6 +612,43 @@ mutex_unlock(&dig_port->tc_lock); } +static bool +tc_has_modular_fia(struct drm_i915_private *i915, struct intel_digital_port *dig_port) +{ + intel_wakeref_t wakeref; + u32 val; + + if (!INTEL_INFO(i915)->display.has_modular_fia) + return false; + + wakeref = tc_cold_block(dig_port); + val = intel_uncore_read(&i915->uncore, PORT_TX_DFLEXDPSP(FIA1)); + tc_cold_unblock(dig_port, wakeref); + + drm_WARN_ON(&i915->drm, val == 0xffffffff); + + return val & MODULAR_FIA_MASK; +} + +static void +tc_port_load_fia_params(struct drm_i915_private *i915, struct intel_digital_port *dig_port) +{ + enum port port = dig_port->base.port; + enum tc_port tc_port = intel_port_to_tc(i915, port); + + /* + * Each Modular FIA instance houses 2 TC ports. In SOC that has more + * than two TC ports, there are multiple instances of Modular FIA. + */ + if (tc_has_modular_fia(i915, dig_port)) { + dig_port->tc_phy_fia = tc_port / 2; + dig_port->tc_phy_fia_idx = tc_port % 2; + } else { + dig_port->tc_phy_fia = FIA1; + dig_port->tc_phy_fia_idx = tc_port; + } +} + void intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy) { struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/display/vlv_dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/display/vlv_dsi.c @@ -812,10 +812,20 @@ intel_dsi_prepare(encoder, pipe_config); intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); - intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); - /* Deassert reset */ - intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); + /* + * Give the panel time to power-on and then deassert its reset. + * Depending on the VBT MIPI sequences version the deassert-seq + * may contain the necessary delay, intel_dsi_msleep() will skip + * the delay in that case. If there is no deassert-seq, then an + * unconditional msleep is used to give the panel time to power-on. + */ + if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) { + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); + } else { + msleep(intel_dsi->panel_on_delay); + } if (IS_GEMINILAKE(dev_priv)) { glk_cold_boot = glk_dsi_enable_io(encoder); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_context.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_context.c @@ -391,24 +391,6 @@ return rcu_dereference_protected(ctx->engines, true); } -static bool __reset_engine(struct intel_engine_cs *engine) -{ - struct intel_gt *gt = engine->gt; - bool success = false; - - if (!intel_has_reset_engine(gt)) - return false; - - if (!test_and_set_bit(I915_RESET_ENGINE + engine->id, - >->reset.flags)) { - success = intel_engine_reset(engine, NULL) == 0; - clear_and_wake_up_bit(I915_RESET_ENGINE + engine->id, - >->reset.flags); - } - - return success; -} - static void __reset_context(struct i915_gem_context *ctx, struct intel_engine_cs *engine) { @@ -432,37 +414,39 @@ * kill the banned context, we fallback to doing a local reset * instead. */ - if (IS_ACTIVE(CONFIG_DRM_I915_PREEMPT_TIMEOUT) && - !intel_engine_pulse(engine)) - return true; - - /* If we are unable to send a pulse, try resetting this engine. */ - return __reset_engine(engine); + return intel_engine_pulse(engine) == 0; } -static struct intel_engine_cs *__active_engine(struct i915_request *rq) +static bool +__active_engine(struct i915_request *rq, struct intel_engine_cs **active) { struct intel_engine_cs *engine, *locked; + bool ret = false; /* * Serialise with __i915_request_submit() so that it sees * is-banned?, or we know the request is already inflight. + * + * Note that rq->engine is unstable, and so we double + * check that we have acquired the lock on the final engine. */ locked = READ_ONCE(rq->engine); spin_lock_irq(&locked->active.lock); while (unlikely(locked != (engine = READ_ONCE(rq->engine)))) { spin_unlock(&locked->active.lock); - spin_lock(&engine->active.lock); locked = engine; + spin_lock(&locked->active.lock); } - engine = NULL; - if (i915_request_is_active(rq) && rq->fence.error != -EIO) - engine = rq->engine; + if (!i915_request_completed(rq)) { + if (i915_request_is_active(rq) && rq->fence.error != -EIO) + *active = locked; + ret = true; + } spin_unlock_irq(&locked->active.lock); - return engine; + return ret; } static struct intel_engine_cs *active_engine(struct intel_context *ce) @@ -473,22 +457,21 @@ if (!ce->timeline) return NULL; - mutex_lock(&ce->timeline->mutex); - list_for_each_entry_reverse(rq, &ce->timeline->requests, link) { - if (i915_request_completed(rq)) - break; + rcu_read_lock(); + list_for_each_entry_rcu(rq, &ce->timeline->requests, link) { + if (i915_request_is_active(rq) && i915_request_completed(rq)) + continue; /* Check with the backend if the request is inflight */ - engine = __active_engine(rq); - if (engine) + if (__active_engine(rq, &engine)) break; } - mutex_unlock(&ce->timeline->mutex); + rcu_read_unlock(); return engine; } -static void kill_engines(struct i915_gem_engines *engines) +static void kill_engines(struct i915_gem_engines *engines, bool ban) { struct i915_gem_engines_iter it; struct intel_context *ce; @@ -503,7 +486,7 @@ for_each_gem_engine(ce, engines, it) { struct intel_engine_cs *engine; - if (intel_context_set_banned(ce)) + if (ban && intel_context_set_banned(ce)) continue; /* @@ -516,7 +499,7 @@ engine = active_engine(ce); /* First attempt to gracefully cancel the context */ - if (engine && !__cancel_engine(engine)) + if (engine && !__cancel_engine(engine) && ban) /* * If we are unable to send a preemptive pulse to bump * the context from the GPU, we have to resort to a full @@ -526,8 +509,10 @@ } } -static void kill_stale_engines(struct i915_gem_context *ctx) +static void kill_context(struct i915_gem_context *ctx) { + bool ban = (!i915_gem_context_is_persistent(ctx) || + !i915_modparams.enable_hangcheck); struct i915_gem_engines *pos, *next; spin_lock_irq(&ctx->stale.lock); @@ -540,7 +525,7 @@ spin_unlock_irq(&ctx->stale.lock); - kill_engines(pos); + kill_engines(pos, ban); spin_lock_irq(&ctx->stale.lock); GEM_BUG_ON(i915_sw_fence_signaled(&pos->fence)); @@ -552,11 +537,6 @@ spin_unlock_irq(&ctx->stale.lock); } -static void kill_context(struct i915_gem_context *ctx) -{ - kill_stale_engines(ctx); -} - static void engines_idle_release(struct i915_gem_context *ctx, struct i915_gem_engines *engines) { @@ -591,7 +571,7 @@ kill: if (list_empty(&engines->link)) /* raced, already closed */ - kill_engines(engines); + kill_engines(engines, true); i915_sw_fence_commit(&engines->fence); } @@ -649,9 +629,7 @@ * case we opt to forcibly kill off all remaining requests on * context close. */ - if (!i915_gem_context_is_persistent(ctx) || - !i915_modparams.enable_hangcheck) - kill_context(ctx); + kill_context(ctx); i915_gem_context_put(ctx); } @@ -714,6 +692,7 @@ ctx->i915 = i915; ctx->sched.priority = I915_USER_PRIORITY(I915_PRIORITY_NORMAL); mutex_init(&ctx->mutex); + INIT_LIST_HEAD(&ctx->link); spin_lock_init(&ctx->stale.lock); INIT_LIST_HEAD(&ctx->stale.engines); @@ -740,10 +719,6 @@ for (i = 0; i < ARRAY_SIZE(ctx->hang_timestamp); i++) ctx->hang_timestamp[i] = jiffies - CONTEXT_FAST_HANG_JIFFIES; - spin_lock(&i915->gem.contexts.lock); - list_add_tail(&ctx->link, &i915->gem.contexts.list); - spin_unlock(&i915->gem.contexts.lock); - return ctx; err_free: @@ -931,6 +906,7 @@ struct drm_i915_file_private *fpriv, u32 *id) { + struct drm_i915_private *i915 = ctx->i915; struct i915_address_space *vm; int ret; @@ -949,8 +925,16 @@ /* And finally expose ourselves to userspace via the idr */ ret = xa_alloc(&fpriv->context_xa, id, ctx, xa_limit_32b, GFP_KERNEL); if (ret) - put_pid(fetch_and_zero(&ctx->pid)); + goto err_pid; + + spin_lock(&i915->gem.contexts.lock); + list_add_tail(&ctx->link, &i915->gem.contexts.list); + spin_unlock(&i915->gem.contexts.lock); + + return 0; +err_pid: + put_pid(fetch_and_zero(&ctx->pid)); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_domain.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_domain.c @@ -485,21 +485,6 @@ return -ENOENT; /* - * Already in the desired write domain? Nothing for us to do! - * - * We apply a little bit of cunning here to catch a broader set of - * no-ops. If obj->write_domain is set, we must be in the same - * obj->read_domains, and only that domain. Therefore, if that - * obj->write_domain matches the request read_domains, we are - * already in the same read/write domain and can skip the operation, - * without having to further check the requested write_domain. - */ - if (READ_ONCE(obj->write_domain) == read_domains) { - err = 0; - goto out; - } - - /* * Try to flush the object off the GPU without holding the lock. * We will repeat the flush holding the lock in the normal manner * to catch cases where we are gazumped. @@ -536,6 +521,19 @@ if (err) goto out; + /* + * Already in the desired write domain? Nothing for us to do! + * + * We apply a little bit of cunning here to catch a broader set of + * no-ops. If obj->write_domain is set, we must be in the same + * obj->read_domains, and only that domain. Therefore, if that + * obj->write_domain matches the request read_domains, we are + * already in the same read/write domain and can skip the operation, + * without having to further check the requested write_domain. + */ + if (READ_ONCE(obj->write_domain) == read_domains) + goto out_unpin; + err = i915_gem_object_lock_interruptible(obj); if (err) goto out_unpin; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -421,7 +421,7 @@ return true; if (!(flags & EXEC_OBJECT_SUPPORTS_48B_ADDRESS) && - (vma->node.start + vma->node.size - 1) >> 32) + (vma->node.start + vma->node.size + 4095) >> 32) return true; if (flags & __EXEC_OBJECT_NEEDS_MAP && @@ -1956,8 +1956,8 @@ struct i915_vma *batch; struct i915_vma *shadow; struct i915_vma *trampoline; - unsigned int batch_offset; - unsigned int batch_length; + unsigned long batch_offset; + unsigned long batch_length; }; static int __eb_parse(struct dma_fence_work *work) @@ -2027,6 +2027,9 @@ struct eb_parse_work *pw; int err; + GEM_BUG_ON(overflows_type(eb->batch_start_offset, pw->batch_offset)); + GEM_BUG_ON(overflows_type(eb->batch_len, pw->batch_length)); + pw = kzalloc(sizeof(*pw), GFP_KERNEL); if (!pw) return -ENOMEM; @@ -2605,7 +2608,7 @@ break; } -static void eb_request_add(struct i915_execbuffer *eb) +static int eb_request_add(struct i915_execbuffer *eb, int err) { struct i915_request *rq = eb->request; struct intel_timeline * const tl = i915_request_timeline(rq); @@ -2626,6 +2629,7 @@ /* Serialise with context_close via the add_to_timeline */ i915_request_set_error_once(rq, -ENOENT); __i915_request_skip(rq); + err = -ENOENT; /* override any transient errors */ } __i915_request_queue(rq, &attr); @@ -2635,6 +2639,8 @@ retire_requests(tl, prev); mutex_unlock(&tl->mutex); + + return err; } static int @@ -2836,7 +2842,7 @@ err_request: add_to_client(eb.request, file); i915_request_get(eb.request); - eb_request_add(&eb); + err = eb_request_add(&eb, err); if (fences) signal_fence_array(&eb, fences); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_pages.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_pages.c @@ -254,9 +254,35 @@ if (!i915_gem_object_has_struct_page(obj) && type != I915_MAP_WC) return NULL; + if (GEM_WARN_ON(type == I915_MAP_WC && + !static_cpu_has(X86_FEATURE_PAT))) + return NULL; + /* A single page can always be kmapped */ - if (n_pte == 1 && type == I915_MAP_WB) - return kmap(sg_page(sgt->sgl)); + if (n_pte == 1 && type == I915_MAP_WB) { + struct page *page = sg_page(sgt->sgl); + + /* + * On 32b, highmem using a finite set of indirect PTE (i.e. + * vmap) to provide virtual mappings of the high pages. + * As these are finite, map_new_virtual() must wait for some + * other kmap() to finish when it runs out. If we map a large + * number of objects, there is no method for it to tell us + * to release the mappings, and we deadlock. + * + * However, if we make an explicit vmap of the page, that + * uses a larger vmalloc arena, and also has the ability + * to tell us to release unwanted mappings. Most importantly, + * it will fail and propagate an error instead of waiting + * forever. + * + * So if the page is beyond the 32b boundary, make an explicit + * vmap. On 64b, this check will be optimised away as we can + * directly kmap any page on the system. + */ + if (!PageHighMem(page)) + return kmap(page); + } mem = stack; if (n_pte > ARRAY_SIZE(stack)) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_stolen.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_stolen.c @@ -53,8 +53,10 @@ struct drm_mm_node *node, u64 size, unsigned alignment) { - return i915_gem_stolen_insert_node_in_range(i915, node, size, - alignment, 0, U64_MAX); + return i915_gem_stolen_insert_node_in_range(i915, node, + size, alignment, + I915_GEM_STOLEN_BIAS, + U64_MAX); } void i915_gem_stolen_remove_node(struct drm_i915_private *i915, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gem/i915_gem_stolen.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gem/i915_gem_stolen.h @@ -30,4 +30,6 @@ resource_size_t stolen_offset, resource_size_t size); +#define I915_GEM_STOLEN_BIAS SZ_128K + #endif /* __I915_GEM_STOLEN_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/gen7_renderclear.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/gen7_renderclear.c @@ -7,8 +7,6 @@ #include "i915_drv.h" #include "intel_gpu_commands.h" -#define MAX_URB_ENTRIES 64 -#define STATE_SIZE (4 * 1024) #define GT3_INLINE_DATA_DELAYS 0x1E00 #define batch_advance(Y, CS) GEM_BUG_ON((Y)->end != (CS)) @@ -34,38 +32,59 @@ }; struct batch_vals { - u32 max_primitives; - u32 max_urb_entries; - u32 cmd_size; - u32 state_size; + u32 max_threads; u32 state_start; - u32 batch_size; + u32 surface_start; u32 surface_height; u32 surface_width; - u32 scratch_size; - u32 max_size; + u32 size; }; +static inline int num_primitives(const struct batch_vals *bv) +{ + /* + * We need to saturate the GPU with work in order to dispatch + * a shader on every HW thread, and clear the thread-local registers. + * In short, we have to dispatch work faster than the shaders can + * run in order to fill the EU and occupy each HW thread. + */ + return bv->max_threads; +} + static void batch_get_defaults(struct drm_i915_private *i915, struct batch_vals *bv) { if (IS_HASWELL(i915)) { - bv->max_primitives = 280; - bv->max_urb_entries = MAX_URB_ENTRIES; + switch (INTEL_INFO(i915)->gt) { + default: + case 1: + bv->max_threads = 70; + break; + case 2: + bv->max_threads = 140; + break; + case 3: + bv->max_threads = 280; + break; + } bv->surface_height = 16 * 16; bv->surface_width = 32 * 2 * 16; } else { - bv->max_primitives = 128; - bv->max_urb_entries = MAX_URB_ENTRIES / 2; + switch (INTEL_INFO(i915)->gt) { + default: + case 1: /* including vlv */ + bv->max_threads = 36; + break; + case 2: + bv->max_threads = 128; + break; + } bv->surface_height = 16 * 8; bv->surface_width = 32 * 16; } - bv->cmd_size = bv->max_primitives * 4096; - bv->state_size = STATE_SIZE; - bv->state_start = bv->cmd_size; - bv->batch_size = bv->cmd_size + bv->state_size; - bv->scratch_size = bv->surface_height * bv->surface_width; - bv->max_size = bv->batch_size + bv->scratch_size; + bv->state_start = round_up(SZ_1K + num_primitives(bv) * 64, SZ_4K); + bv->surface_start = bv->state_start + SZ_4K; + bv->size = bv->surface_start + bv->surface_height * bv->surface_width; } static void batch_init(struct batch_chunk *bc, @@ -155,7 +174,8 @@ gen7_fill_binding_table(struct batch_chunk *state, const struct batch_vals *bv) { - u32 surface_start = gen7_fill_surface_state(state, bv->batch_size, bv); + u32 surface_start = + gen7_fill_surface_state(state, bv->surface_start, bv); u32 *cs = batch_alloc_items(state, 32, 8); u32 offset = batch_offset(state, cs); @@ -214,13 +234,13 @@ gen7_emit_state_base_address(struct batch_chunk *batch, u32 surface_state_base) { - u32 *cs = batch_alloc_items(batch, 0, 12); + u32 *cs = batch_alloc_items(batch, 0, 10); - *cs++ = STATE_BASE_ADDRESS | (12 - 2); + *cs++ = STATE_BASE_ADDRESS | (10 - 2); /* general */ *cs++ = batch_addr(batch) | BASE_ADDRESS_MODIFY; /* surface */ - *cs++ = batch_addr(batch) | surface_state_base | BASE_ADDRESS_MODIFY; + *cs++ = (batch_addr(batch) + surface_state_base) | BASE_ADDRESS_MODIFY; /* dynamic */ *cs++ = batch_addr(batch) | BASE_ADDRESS_MODIFY; /* indirect */ @@ -233,8 +253,6 @@ *cs++ = BASE_ADDRESS_MODIFY; *cs++ = 0; *cs++ = BASE_ADDRESS_MODIFY; - *cs++ = 0; - *cs++ = 0; batch_advance(batch, cs); } @@ -244,8 +262,7 @@ u32 urb_size, u32 curbe_size, u32 mode) { - u32 urb_entries = bv->max_urb_entries; - u32 threads = bv->max_primitives - 1; + u32 threads = bv->max_threads - 1; u32 *cs = batch_alloc_items(batch, 32, 8); *cs++ = MEDIA_VFE_STATE | (8 - 2); @@ -254,7 +271,7 @@ *cs++ = 0; /* number of threads & urb entries for GPGPU vs Media Mode */ - *cs++ = threads << 16 | urb_entries << 8 | mode << 2; + *cs++ = threads << 16 | 1 << 8 | mode << 2; *cs++ = 0; @@ -293,17 +310,12 @@ { unsigned int x_offset = (media_object_index % 16) * 64; unsigned int y_offset = (media_object_index / 16) * 16; - unsigned int inline_data_size; - unsigned int media_batch_size; - unsigned int i; + unsigned int pkt = 6 + 3; u32 *cs; - inline_data_size = 112 * 8; - media_batch_size = inline_data_size + 6; - - cs = batch_alloc_items(batch, 8, media_batch_size); + cs = batch_alloc_items(batch, 8, pkt); - *cs++ = MEDIA_OBJECT | (media_batch_size - 2); + *cs++ = MEDIA_OBJECT | (pkt - 2); /* interface descriptor offset */ *cs++ = 0; @@ -317,25 +329,46 @@ *cs++ = 0; /* inline */ - *cs++ = (y_offset << 16) | (x_offset); + *cs++ = y_offset << 16 | x_offset; *cs++ = 0; *cs++ = GT3_INLINE_DATA_DELAYS; - for (i = 3; i < inline_data_size; i++) - *cs++ = 0; batch_advance(batch, cs); } static void gen7_emit_pipeline_flush(struct batch_chunk *batch) { - u32 *cs = batch_alloc_items(batch, 0, 5); + u32 *cs = batch_alloc_items(batch, 0, 4); + + *cs++ = GFX_OP_PIPE_CONTROL(4); + *cs++ = PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH | + PIPE_CONTROL_DEPTH_CACHE_FLUSH | + PIPE_CONTROL_DC_FLUSH_ENABLE | + PIPE_CONTROL_CS_STALL; + *cs++ = 0; + *cs++ = 0; + + batch_advance(batch, cs); +} + +static void gen7_emit_pipeline_invalidate(struct batch_chunk *batch) +{ + u32 *cs = batch_alloc_items(batch, 0, 10); + + /* ivb: Stall before STATE_CACHE_INVALIDATE */ + *cs++ = GFX_OP_PIPE_CONTROL(5); + *cs++ = PIPE_CONTROL_STALL_AT_SCOREBOARD | + PIPE_CONTROL_CS_STALL; + *cs++ = 0; + *cs++ = 0; + *cs++ = 0; *cs++ = GFX_OP_PIPE_CONTROL(5); - *cs++ = PIPE_CONTROL_STATE_CACHE_INVALIDATE | - PIPE_CONTROL_GLOBAL_GTT_IVB; + *cs++ = PIPE_CONTROL_STATE_CACHE_INVALIDATE; *cs++ = 0; *cs++ = 0; *cs++ = 0; + batch_advance(batch, cs); } @@ -344,34 +377,48 @@ const struct batch_vals *bv) { struct drm_i915_private *i915 = vma->vm->i915; - unsigned int desc_count = 64; - const u32 urb_size = 112; + const unsigned int desc_count = 1; + const unsigned int urb_size = 1; struct batch_chunk cmds, state; - u32 interface_descriptor; + u32 descriptors; unsigned int i; - batch_init(&cmds, vma, start, 0, bv->cmd_size); - batch_init(&state, vma, start, bv->state_start, bv->state_size); + batch_init(&cmds, vma, start, 0, bv->state_start); + batch_init(&state, vma, start, bv->state_start, SZ_4K); - interface_descriptor = - gen7_fill_interface_descriptor(&state, bv, - IS_HASWELL(i915) ? - &cb_kernel_hsw : - &cb_kernel_ivb, - desc_count); + descriptors = gen7_fill_interface_descriptor(&state, bv, + IS_HASWELL(i915) ? + &cb_kernel_hsw : + &cb_kernel_ivb, + desc_count); + + /* Reset inherited context registers */ + gen7_emit_pipeline_flush(&cmds); + gen7_emit_pipeline_invalidate(&cmds); + batch_add(&cmds, MI_LOAD_REGISTER_IMM(2)); + batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_0_GEN7)); + batch_add(&cmds, 0xffff0000); + batch_add(&cmds, i915_mmio_reg_offset(CACHE_MODE_1)); + batch_add(&cmds, 0xffff0000 | PIXEL_SUBSPAN_COLLECT_OPT_DISABLE); + gen7_emit_pipeline_invalidate(&cmds); gen7_emit_pipeline_flush(&cmds); + + /* Switch to the media pipeline and our base address */ + gen7_emit_pipeline_invalidate(&cmds); batch_add(&cmds, PIPELINE_SELECT | PIPELINE_SELECT_MEDIA); batch_add(&cmds, MI_NOOP); - gen7_emit_state_base_address(&cmds, interface_descriptor); + gen7_emit_pipeline_invalidate(&cmds); + gen7_emit_pipeline_flush(&cmds); + gen7_emit_state_base_address(&cmds, descriptors); + gen7_emit_pipeline_invalidate(&cmds); + /* Set the clear-residual kernel state */ gen7_emit_vfe_state(&cmds, bv, urb_size - 1, 0, 0); + gen7_emit_interface_descriptor_load(&cmds, descriptors, desc_count); - gen7_emit_interface_descriptor_load(&cmds, - interface_descriptor, - desc_count); - - for (i = 0; i < bv->max_primitives; i++) + /* Execute the kernel on all HW threads */ + for (i = 0; i < num_primitives(bv); i++) gen7_emit_media_object(&cmds, i); batch_add(&cmds, MI_BATCH_BUFFER_END); @@ -385,15 +432,15 @@ batch_get_defaults(engine->i915, &bv); if (!vma) - return bv.max_size; + return bv.size; - GEM_BUG_ON(vma->obj->base.size < bv.max_size); + GEM_BUG_ON(vma->obj->base.size < bv.size); batch = i915_gem_object_pin_map(vma->obj, I915_MAP_WC); if (IS_ERR(batch)) return PTR_ERR(batch); - emit_batch(vma, memset(batch, 0, bv.max_size), &bv); + emit_batch(vma, memset(batch, 0, bv.size), &bv); i915_gem_object_flush_map(vma->obj); i915_gem_object_unpin_map(vma->obj); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_engine.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_engine.h @@ -357,4 +357,13 @@ return intel_engine_has_preemption(engine); } +static inline bool +intel_engine_has_heartbeat(const struct intel_engine_cs *engine) +{ + if (!IS_ACTIVE(CONFIG_DRM_I915_HEARTBEAT_INTERVAL)) + return false; + + return READ_ONCE(engine->props.heartbeat_interval_ms); +} + #endif /* _INTEL_RINGBUFFER_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -370,7 +370,8 @@ * instances. */ if ((INTEL_GEN(i915) >= 11 && - RUNTIME_INFO(i915)->vdbox_sfc_access & engine->mask) || + (RUNTIME_INFO(i915)->vdbox_sfc_access & + BIT(engine->instance))) || (INTEL_GEN(i915) >= 9 && engine->instance == 0)) engine->uabi_capabilities |= I915_VIDEO_AND_ENHANCE_CLASS_CAPABILITY_SFC; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c @@ -150,36 +150,82 @@ INIT_DELAYED_WORK(&engine->heartbeat.work, heartbeat); } +static int __intel_engine_pulse(struct intel_engine_cs *engine) +{ + struct i915_sched_attr attr = { .priority = I915_PRIORITY_BARRIER }; + struct intel_context *ce = engine->kernel_context; + struct i915_request *rq; + + lockdep_assert_held(&ce->timeline->mutex); + GEM_BUG_ON(!intel_engine_has_preemption(engine)); + GEM_BUG_ON(!intel_engine_pm_is_awake(engine)); + + intel_context_enter(ce); + rq = __i915_request_create(ce, GFP_NOWAIT | __GFP_NOWARN); + intel_context_exit(ce); + if (IS_ERR(rq)) + return PTR_ERR(rq); + + __set_bit(I915_FENCE_FLAG_SENTINEL, &rq->fence.flags); + idle_pulse(engine, rq); + + __i915_request_commit(rq); + __i915_request_queue(rq, &attr); + GEM_BUG_ON(rq->sched.attr.priority < I915_PRIORITY_BARRIER); + + return 0; +} + +static unsigned long set_heartbeat(struct intel_engine_cs *engine, + unsigned long delay) +{ + unsigned long old; + + old = xchg(&engine->props.heartbeat_interval_ms, delay); + if (delay) + intel_engine_unpark_heartbeat(engine); + else + intel_engine_park_heartbeat(engine); + + return old; +} + int intel_engine_set_heartbeat(struct intel_engine_cs *engine, unsigned long delay) { - int err; + struct intel_context *ce = engine->kernel_context; + int err = 0; - /* Send one last pulse before to cleanup persistent hogs */ - if (!delay && IS_ACTIVE(CONFIG_DRM_I915_PREEMPT_TIMEOUT)) { - err = intel_engine_pulse(engine); - if (err) - return err; - } + if (!delay && !intel_engine_has_preempt_reset(engine)) + return -ENODEV; + + intel_engine_pm_get(engine); + + err = mutex_lock_interruptible(&ce->timeline->mutex); + if (err) + goto out_rpm; - WRITE_ONCE(engine->props.heartbeat_interval_ms, delay); + if (delay != engine->props.heartbeat_interval_ms) { + unsigned long saved = set_heartbeat(engine, delay); - if (intel_engine_pm_get_if_awake(engine)) { - if (delay) - intel_engine_unpark_heartbeat(engine); - else - intel_engine_park_heartbeat(engine); - intel_engine_pm_put(engine); + /* recheck current execution */ + if (intel_engine_has_preemption(engine)) { + err = __intel_engine_pulse(engine); + if (err) + set_heartbeat(engine, saved); + } } - return 0; + mutex_unlock(&ce->timeline->mutex); + +out_rpm: + intel_engine_pm_put(engine); + return err; } int intel_engine_pulse(struct intel_engine_cs *engine) { - struct i915_sched_attr attr = { .priority = I915_PRIORITY_BARRIER }; struct intel_context *ce = engine->kernel_context; - struct i915_request *rq; int err; if (!intel_engine_has_preemption(engine)) @@ -188,30 +234,12 @@ if (!intel_engine_pm_get_if_awake(engine)) return 0; - if (mutex_lock_interruptible(&ce->timeline->mutex)) { - err = -EINTR; - goto out_rpm; + err = -EINTR; + if (!mutex_lock_interruptible(&ce->timeline->mutex)) { + err = __intel_engine_pulse(engine); + mutex_unlock(&ce->timeline->mutex); } - intel_context_enter(ce); - rq = __i915_request_create(ce, GFP_NOWAIT | __GFP_NOWARN); - intel_context_exit(ce); - if (IS_ERR(rq)) { - err = PTR_ERR(rq); - goto out_unlock; - } - - __set_bit(I915_FENCE_FLAG_SENTINEL, &rq->fence.flags); - idle_pulse(engine, rq); - - __i915_request_commit(rq); - __i915_request_queue(rq, &attr); - GEM_BUG_ON(rq->sched.attr.priority < I915_PRIORITY_BARRIER); - err = 0; - -out_unlock: - mutex_unlock(&ce->timeline->mutex); -out_rpm: intel_engine_pm_put(engine); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -514,16 +514,39 @@ mutex_init(&ggtt->error_mutex); if (ggtt->mappable_end) { - /* Reserve a mappable slot for our lockless error capture */ - ret = drm_mm_insert_node_in_range(&ggtt->vm.mm, - &ggtt->error_capture, - PAGE_SIZE, 0, - I915_COLOR_UNEVICTABLE, - 0, ggtt->mappable_end, - DRM_MM_INSERT_LOW); - if (ret) - return ret; + /* + * Reserve a mappable slot for our lockless error capture. + * + * We strongly prefer taking address 0x0 in order to protect + * other critical buffers against accidental overwrites, + * as writing to address 0 is a very common mistake. + * + * Since 0 may already be in use by the system (e.g. the BIOS + * framebuffer), we let the reservation fail quietly and hope + * 0 remains reserved always. + * + * If we fail to reserve 0, and then fail to find any space + * for an error-capture, remain silent. We can afford not + * to reserve an error_capture node as we have fallback + * paths, and we trust that 0 will remain reserved. However, + * the only likely reason for failure to insert is a driver + * bug, which we expect to cause other failures... + */ + ggtt->error_capture.size = I915_GTT_PAGE_SIZE; + ggtt->error_capture.color = I915_COLOR_UNEVICTABLE; + if (drm_mm_reserve_node(&ggtt->vm.mm, &ggtt->error_capture)) + drm_mm_insert_node_in_range(&ggtt->vm.mm, + &ggtt->error_capture, + ggtt->error_capture.size, 0, + ggtt->error_capture.color, + 0, ggtt->mappable_end, + DRM_MM_INSERT_LOW); } + if (drm_mm_node_allocated(&ggtt->error_capture)) + drm_dbg(&ggtt->vm.i915->drm, + "Reserved GGTT:[%llx, %llx] for use by error capture\n", + ggtt->error_capture.start, + ggtt->error_capture.start + ggtt->error_capture.size); /* * The upper portion of the GuC address space has a sizeable hole @@ -536,9 +559,9 @@ /* Clear any non-preallocated blocks */ drm_mm_for_each_hole(entry, &ggtt->vm.mm, hole_start, hole_end) { - drm_dbg_kms(&ggtt->vm.i915->drm, - "clearing unused GTT space: [%lx, %lx]\n", - hole_start, hole_end); + drm_dbg(&ggtt->vm.i915->drm, + "clearing unused GTT space: [%lx, %lx]\n", + hole_start, hole_end); ggtt->vm.clear_range(&ggtt->vm, hole_start, hole_end - hole_start); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c @@ -316,7 +316,18 @@ WRITE_ONCE(fence->vma, NULL); vma->fence = NULL; - with_intel_runtime_pm_if_in_use(fence_to_uncore(fence)->rpm, wakeref) + /* + * Skip the write to HW if and only if the device is currently + * suspended. + * + * If the driver does not currently hold a wakeref (if_in_use == 0), + * the device may currently be runtime suspended, or it may be woken + * up before the suspend takes place. If the device is not suspended + * (powered down) and we skip clearing the fence register, the HW is + * left in an undefined state where we may end up with multiple + * registers overlapping. + */ + with_intel_runtime_pm_if_active(fence_to_uncore(fence)->rpm, wakeref) fence_write(fence); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_gt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_gt.c @@ -616,6 +616,11 @@ void intel_gt_driver_release(struct intel_gt *gt) { struct i915_address_space *vm; + intel_wakeref_t wakeref; + + /* Scrub all HW state upon release */ + with_intel_runtime_pm(gt->uncore->rpm, wakeref) + __intel_gt_reset(gt, ALL_ENGINES); vm = fetch_and_zero(>->vm); if (vm) /* FIXME being called twice on error paths :( */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_lrc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -1136,9 +1136,8 @@ /* Check in case we rollback so far we wrap [size/2] */ if (intel_ring_direction(rq->ring, - intel_ring_wrap(rq->ring, - rq->tail), - rq->ring->tail) > 0) + rq->tail, + rq->ring->tail + 8) > 0) rq->context->lrc.desc |= CTX_DESC_FORCE_RESTORE; active = rq; @@ -2755,6 +2754,9 @@ static bool execlists_hold(struct intel_engine_cs *engine, struct i915_request *rq) { + if (i915_request_on_hold(rq)) + return false; + spin_lock_irq(&engine->active.lock); if (i915_request_completed(rq)) { /* too late! */ @@ -3130,8 +3132,10 @@ spin_unlock_irqrestore(&engine->active.lock, flags); /* Recheck after serialising with direct-submission */ - if (unlikely(timeout && preempt_timeout(engine))) + if (unlikely(timeout && preempt_timeout(engine))) { + cancel_timer(&engine->execlists.preempt); execlists_reset(engine, "preemption time out"); + } } } @@ -3493,6 +3497,19 @@ .destroy = execlists_context_destroy, }; +static u32 hwsp_offset(const struct i915_request *rq) +{ + const struct intel_timeline_cacheline *cl; + + /* Before the request is executed, the timeline/cachline is fixed */ + + cl = rcu_dereference_protected(rq->hwsp_cacheline, 1); + if (cl) + return cl->ggtt_offset; + + return rcu_dereference_protected(rq->timeline, 1)->hwsp_offset; +} + static int gen8_emit_init_breadcrumb(struct i915_request *rq) { u32 *cs; @@ -3515,7 +3532,7 @@ *cs++ = MI_NOOP; *cs++ = MI_STORE_DWORD_IMM_GEN4 | MI_USE_GGTT; - *cs++ = i915_request_timeline(rq)->hwsp_offset; + *cs++ = hwsp_offset(rq); *cs++ = 0; *cs++ = rq->fence.seqno - 1; @@ -3863,6 +3880,9 @@ static void lrc_destroy_wa_ctx(struct intel_engine_cs *engine) { i915_vma_unpin_and_release(&engine->wa_ctx.vma, 0); + + /* Called on error unwind, clear all flags to prevent further use */ + memset(&engine->wa_ctx, 0, sizeof(engine->wa_ctx)); } typedef u32 *(*wa_bb_func_t)(struct intel_engine_cs *engine, u32 *batch); @@ -4820,11 +4840,9 @@ return gen8_emit_wa_tail(request, cs); } -static u32 *emit_xcs_breadcrumb(struct i915_request *request, u32 *cs) +static u32 *emit_xcs_breadcrumb(struct i915_request *rq, u32 *cs) { - u32 addr = i915_request_active_timeline(request)->hwsp_offset; - - return gen8_emit_ggtt_write(cs, request->fence.seqno, addr, 0); + return gen8_emit_ggtt_write(cs, rq->fence.seqno, hwsp_offset(rq), 0); } static u32 *gen8_emit_fini_breadcrumb(struct i915_request *rq, u32 *cs) @@ -4843,7 +4861,7 @@ /* XXX flush+write+CS_STALL all in one upsets gem_concurrent_blt:kbl */ cs = gen8_emit_ggtt_write_rcs(cs, request->fence.seqno, - i915_request_active_timeline(request)->hwsp_offset, + hwsp_offset(request), PIPE_CONTROL_FLUSH_ENABLE | PIPE_CONTROL_CS_STALL); @@ -4855,7 +4873,7 @@ { cs = gen8_emit_ggtt_write_rcs(cs, request->fence.seqno, - i915_request_active_timeline(request)->hwsp_offset, + hwsp_offset(request), PIPE_CONTROL_CS_STALL | PIPE_CONTROL_TILE_CACHE_FLUSH | PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH | @@ -4925,7 +4943,7 @@ { cs = gen12_emit_ggtt_write_rcs(cs, request->fence.seqno, - i915_request_active_timeline(request)->hwsp_offset, + hwsp_offset(request), PIPE_CONTROL0_HDC_PIPELINE_FLUSH, PIPE_CONTROL_CS_STALL | PIPE_CONTROL_TILE_CACHE_FLUSH | --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_mocs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_mocs.c @@ -59,8 +59,7 @@ #define _L3_CACHEABILITY(value) ((value) << 4) /* Helper defines */ -#define GEN9_NUM_MOCS_ENTRIES 62 /* 62 out of 64 - 63 & 64 are reserved. */ -#define GEN11_NUM_MOCS_ENTRIES 64 /* 63-64 are reserved, but configured. */ +#define GEN9_NUM_MOCS_ENTRIES 64 /* 63-64 are reserved, but configured. */ /* (e)LLC caching options */ /* @@ -131,7 +130,19 @@ GEN9_MOCS_ENTRIES, MOCS_ENTRY(I915_MOCS_CACHED, LE_3_WB | LE_TC_2_LLC_ELLC | LE_LRUM(3), - L3_3_WB) + L3_3_WB), + + /* + * mocs:63 + * - used by the L3 for all of its evictions. + * Thus it is expected to allow LLC cacheability to enable coherent + * flows to be maintained. + * - used to force L3 uncachable cycles. + * Thus it is expected to make the surface L3 uncacheable. + */ + MOCS_ENTRY(63, + LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), + L3_1_UC) }; /* NOTE: the LE_TGT_CACHE is not used on Broxton */ @@ -234,11 +245,18 @@ L3_1_UC) static const struct drm_i915_mocs_entry tgl_mocs_table[] = { - /* Base - Error (Reserved for Non-Use) */ - MOCS_ENTRY(0, 0x0, 0x0), - /* Base - Reserved */ - MOCS_ENTRY(1, 0x0, 0x0), - + /* + * NOTE: + * Reserved and unspecified MOCS indices have been set to (L3 + LCC). + * These reserved entries should never be used, they may be changed + * to low performant variants with better coherency in the future if + * more entries are needed. We are programming index I915_MOCS_PTE(1) + * only, __init_mocs_table() take care to program unused index with + * this entry. + */ + MOCS_ENTRY(I915_MOCS_PTE, + LE_0_PAGETABLE | LE_TC_0_PAGETABLE, + L3_1_UC), GEN11_MOCS_ENTRIES, /* Implicitly enable L1 - HDC:L1 + L3 + LLC */ @@ -309,11 +327,11 @@ if (INTEL_GEN(i915) >= 12) { table->size = ARRAY_SIZE(tgl_mocs_table); table->table = tgl_mocs_table; - table->n_entries = GEN11_NUM_MOCS_ENTRIES; + table->n_entries = GEN9_NUM_MOCS_ENTRIES; } else if (IS_GEN(i915, 11)) { table->size = ARRAY_SIZE(icl_mocs_table); table->table = icl_mocs_table; - table->n_entries = GEN11_NUM_MOCS_ENTRIES; + table->n_entries = GEN9_NUM_MOCS_ENTRIES; } else if (IS_GEN9_BC(i915) || IS_CANNONLAKE(i915)) { table->size = ARRAY_SIZE(skl_mocs_table); table->n_entries = GEN9_NUM_MOCS_ENTRIES; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_ring_submission.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_ring_submission.c @@ -2083,7 +2083,7 @@ GEM_BUG_ON(timeline->hwsp_ggtt != engine->status_page.vma); - if (IS_HASWELL(engine->i915) && engine->class == RENDER_CLASS) { + if (IS_GEN(engine->i915, 7) && engine->class == RENDER_CLASS) { err = gen7_ctx_switch_bb_init(engine); if (err) goto err_ring_unpin; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_rps.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_rps.c @@ -883,6 +883,10 @@ adj = -2; rps->last_adj = adj; rps->cur_freq = max_t(int, rps->cur_freq + adj, rps->min_freq); + if (rps->cur_freq < rps->efficient_freq) { + rps->cur_freq = rps->efficient_freq; + rps->last_adj = 0; + } GT_TRACE(rps_to_gt(rps), "park:%x\n", rps->cur_freq); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_timeline.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_timeline.c @@ -186,10 +186,14 @@ return cl; } -static void cacheline_acquire(struct intel_timeline_cacheline *cl) +static void cacheline_acquire(struct intel_timeline_cacheline *cl, + u32 ggtt_offset) { - if (cl) - i915_active_acquire(&cl->active); + if (!cl) + return; + + cl->ggtt_offset = ggtt_offset; + i915_active_acquire(&cl->active); } static void cacheline_release(struct intel_timeline_cacheline *cl) @@ -328,7 +332,7 @@ i915_ggtt_offset(tl->hwsp_ggtt) + offset_in_page(tl->hwsp_offset); - cacheline_acquire(tl->hwsp_cacheline); + cacheline_acquire(tl->hwsp_cacheline, tl->hwsp_offset); if (atomic_fetch_inc(&tl->pin_count)) { cacheline_release(tl->hwsp_cacheline); __i915_vma_unpin(tl->hwsp_ggtt); @@ -498,7 +502,7 @@ tl->hwsp_offset += i915_ggtt_offset(vma); - cacheline_acquire(cl); + cacheline_acquire(cl, tl->hwsp_offset); tl->hwsp_cacheline = cl; *seqno = timeline_advance(tl); @@ -556,9 +560,7 @@ if (err) goto out; - *hwsp = i915_ggtt_offset(cl->hwsp->vma) + - ptr_unmask_bits(cl->vaddr, CACHELINE_BITS) * CACHELINE_BYTES; - + *hwsp = cl->ggtt_offset; out: i915_active_release(&cl->active); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/intel_timeline_types.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/intel_timeline_types.h @@ -94,6 +94,8 @@ struct intel_timeline_hwsp *hwsp; void *vaddr; + u32 ggtt_offset; + struct rcu_head rcu; }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/selftest_reset.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/selftest_reset.c @@ -3,9 +3,203 @@ * Copyright © 2018 Intel Corporation */ +#include + +#include "gem/i915_gem_stolen.h" + +#include "i915_memcpy.h" #include "i915_selftest.h" #include "selftests/igt_reset.h" #include "selftests/igt_atomic.h" +#include "selftests/igt_spinner.h" + +static int +__igt_reset_stolen(struct intel_gt *gt, + intel_engine_mask_t mask, + const char *msg) +{ + struct i915_ggtt *ggtt = >->i915->ggtt; + const struct resource *dsm = >->i915->dsm; + resource_size_t num_pages, page; + struct intel_engine_cs *engine; + intel_wakeref_t wakeref; + enum intel_engine_id id; + struct igt_spinner spin; + long max, count; + void *tmp; + u32 *crc; + int err; + + if (!drm_mm_node_allocated(&ggtt->error_capture)) + return 0; + + num_pages = resource_size(dsm) >> PAGE_SHIFT; + if (!num_pages) + return 0; + + crc = kmalloc_array(num_pages, sizeof(u32), GFP_KERNEL); + if (!crc) + return -ENOMEM; + + tmp = kmalloc(PAGE_SIZE, GFP_KERNEL); + if (!tmp) { + err = -ENOMEM; + goto err_crc; + } + + igt_global_reset_lock(gt); + wakeref = intel_runtime_pm_get(gt->uncore->rpm); + + err = igt_spinner_init(&spin, gt); + if (err) + goto err_lock; + + for_each_engine(engine, gt, id) { + struct intel_context *ce; + struct i915_request *rq; + + if (!(mask & engine->mask)) + continue; + + if (!intel_engine_can_store_dword(engine)) + continue; + + ce = intel_context_create(engine); + if (IS_ERR(ce)) { + err = PTR_ERR(ce); + goto err_spin; + } + rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK); + intel_context_put(ce); + if (IS_ERR(rq)) { + err = PTR_ERR(rq); + goto err_spin; + } + i915_request_add(rq); + } + + for (page = 0; page < num_pages; page++) { + dma_addr_t dma = (dma_addr_t)dsm->start + (page << PAGE_SHIFT); + void __iomem *s; + void *in; + + ggtt->vm.insert_page(&ggtt->vm, dma, + ggtt->error_capture.start, + I915_CACHE_NONE, 0); + mb(); + + s = io_mapping_map_wc(&ggtt->iomap, + ggtt->error_capture.start, + PAGE_SIZE); + + if (!__drm_mm_interval_first(>->i915->mm.stolen, + page << PAGE_SHIFT, + ((page + 1) << PAGE_SHIFT) - 1)) + memset32(s, STACK_MAGIC, PAGE_SIZE / sizeof(u32)); + + in = s; + if (i915_memcpy_from_wc(tmp, s, PAGE_SIZE)) + in = tmp; + crc[page] = crc32_le(0, in, PAGE_SIZE); + + io_mapping_unmap(s); + } + mb(); + ggtt->vm.clear_range(&ggtt->vm, ggtt->error_capture.start, PAGE_SIZE); + + if (mask == ALL_ENGINES) { + intel_gt_reset(gt, mask, NULL); + } else { + for_each_engine(engine, gt, id) { + if (mask & engine->mask) + intel_engine_reset(engine, NULL); + } + } + + max = -1; + count = 0; + for (page = 0; page < num_pages; page++) { + dma_addr_t dma = (dma_addr_t)dsm->start + (page << PAGE_SHIFT); + void __iomem *s; + void *in; + u32 x; + + ggtt->vm.insert_page(&ggtt->vm, dma, + ggtt->error_capture.start, + I915_CACHE_NONE, 0); + mb(); + + s = io_mapping_map_wc(&ggtt->iomap, + ggtt->error_capture.start, + PAGE_SIZE); + + in = s; + if (i915_memcpy_from_wc(tmp, s, PAGE_SIZE)) + in = tmp; + x = crc32_le(0, in, PAGE_SIZE); + + if (x != crc[page] && + !__drm_mm_interval_first(>->i915->mm.stolen, + page << PAGE_SHIFT, + ((page + 1) << PAGE_SHIFT) - 1)) { + pr_debug("unused stolen page %pa modified by GPU reset\n", + &page); + if (count++ == 0) + igt_hexdump(in, PAGE_SIZE); + max = page; + } + + io_mapping_unmap(s); + } + mb(); + ggtt->vm.clear_range(&ggtt->vm, ggtt->error_capture.start, PAGE_SIZE); + + if (count > 0) { + pr_info("%s reset clobbered %ld pages of stolen, last clobber at page %ld\n", + msg, count, max); + } + if (max >= I915_GEM_STOLEN_BIAS >> PAGE_SHIFT) { + pr_err("%s reset clobbered unreserved area [above %x] of stolen; may cause severe faults\n", + msg, I915_GEM_STOLEN_BIAS); + err = -EINVAL; + } + +err_spin: + igt_spinner_fini(&spin); + +err_lock: + intel_runtime_pm_put(gt->uncore->rpm, wakeref); + igt_global_reset_unlock(gt); + + kfree(tmp); +err_crc: + kfree(crc); + return err; +} + +static int igt_reset_device_stolen(void *arg) +{ + return __igt_reset_stolen(arg, ALL_ENGINES, "device"); +} + +static int igt_reset_engines_stolen(void *arg) +{ + struct intel_gt *gt = arg; + struct intel_engine_cs *engine; + enum intel_engine_id id; + int err; + + if (!intel_has_reset_engine(gt)) + return 0; + + for_each_engine(engine, gt, id) { + err = __igt_reset_stolen(gt, engine->mask, engine->name); + if (err) + return err; + } + + return 0; +} static int igt_global_reset(void *arg) { @@ -164,6 +358,8 @@ { static const struct i915_subtest tests[] = { SUBTEST(igt_global_reset), /* attempt to recover GPU first */ + SUBTEST(igt_reset_device_stolen), + SUBTEST(igt_reset_engines_stolen), SUBTEST(igt_wedged_reset), SUBTEST(igt_atomic_reset), SUBTEST(igt_atomic_engine_reset), --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gt/shmem_utils.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gt/shmem_utils.c @@ -143,10 +143,13 @@ return PTR_ERR(page); vaddr = kmap(page); - if (write) + if (write) { memcpy(vaddr + offset_in_page(off), ptr, this); - else + set_page_dirty(page); + } else { memcpy(ptr, vaddr + offset_in_page(off), this); + } + mark_page_accessed(page); kunmap(page); put_page(page); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gvt/display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gvt/display.c @@ -173,21 +173,176 @@ int pipe; if (IS_BROXTON(dev_priv)) { + enum transcoder trans; + enum port port; + + /* Clear PIPE, DDI, PHY, HPD before setting new */ vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) &= ~(BXT_DE_PORT_HP_DDIA | BXT_DE_PORT_HP_DDIB | BXT_DE_PORT_HP_DDIC); + for_each_pipe(dev_priv, pipe) { + vgpu_vreg_t(vgpu, PIPECONF(pipe)) &= + ~(PIPECONF_ENABLE | I965_PIPECONF_ACTIVE); + vgpu_vreg_t(vgpu, DSPCNTR(pipe)) &= ~DISPLAY_PLANE_ENABLE; + vgpu_vreg_t(vgpu, SPRCTL(pipe)) &= ~SPRITE_ENABLE; + vgpu_vreg_t(vgpu, CURCNTR(pipe)) &= ~MCURSOR_MODE; + vgpu_vreg_t(vgpu, CURCNTR(pipe)) |= MCURSOR_MODE_DISABLE; + } + + for (trans = TRANSCODER_A; trans <= TRANSCODER_EDP; trans++) { + vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(trans)) &= + ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK | + TRANS_DDI_PORT_MASK | TRANS_DDI_FUNC_ENABLE); + } + vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) &= + ~(TRANS_DDI_BPC_MASK | TRANS_DDI_MODE_SELECT_MASK | + TRANS_DDI_PORT_MASK); + + for (port = PORT_A; port <= PORT_C; port++) { + vgpu_vreg_t(vgpu, BXT_PHY_CTL(port)) &= + ~BXT_PHY_LANE_ENABLED; + vgpu_vreg_t(vgpu, BXT_PHY_CTL(port)) |= + (BXT_PHY_CMNLANE_POWERDOWN_ACK | + BXT_PHY_LANE_POWERDOWN_ACK); + + vgpu_vreg_t(vgpu, BXT_PORT_PLL_ENABLE(port)) &= + ~(PORT_PLL_POWER_STATE | PORT_PLL_POWER_ENABLE | + PORT_PLL_REF_SEL | PORT_PLL_LOCK | + PORT_PLL_ENABLE); + + vgpu_vreg_t(vgpu, DDI_BUF_CTL(port)) &= + ~(DDI_INIT_DISPLAY_DETECTED | + DDI_BUF_CTL_ENABLE); + vgpu_vreg_t(vgpu, DDI_BUF_CTL(port)) |= DDI_BUF_IS_IDLE; + } + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~(PORTA_HOTPLUG_ENABLE | PORTA_HOTPLUG_STATUS_MASK); + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~(PORTB_HOTPLUG_ENABLE | PORTB_HOTPLUG_STATUS_MASK); + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~(PORTC_HOTPLUG_ENABLE | PORTC_HOTPLUG_STATUS_MASK); + /* No hpd_invert set in vgpu vbt, need to clear invert mask */ + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= ~BXT_DDI_HPD_INVERT_MASK; + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) &= ~BXT_DE_PORT_HOTPLUG_MASK; + + vgpu_vreg_t(vgpu, BXT_P_CR_GT_DISP_PWRON) &= ~(BIT(0) | BIT(1)); + vgpu_vreg_t(vgpu, BXT_PORT_CL1CM_DW0(DPIO_PHY0)) &= + ~PHY_POWER_GOOD; + vgpu_vreg_t(vgpu, BXT_PORT_CL1CM_DW0(DPIO_PHY1)) &= + ~PHY_POWER_GOOD; + vgpu_vreg_t(vgpu, BXT_PHY_CTL_FAMILY(DPIO_PHY0)) &= ~BIT(30); + vgpu_vreg_t(vgpu, BXT_PHY_CTL_FAMILY(DPIO_PHY1)) &= ~BIT(30); + + vgpu_vreg_t(vgpu, SFUSE_STRAP) &= ~SFUSE_STRAP_DDIB_DETECTED; + vgpu_vreg_t(vgpu, SFUSE_STRAP) &= ~SFUSE_STRAP_DDIC_DETECTED; + + /* + * Only 1 PIPE enabled in current vGPU display and PIPE_A is + * tied to TRANSCODER_A in HW, so it's safe to assume PIPE_A, + * TRANSCODER_A can be enabled. PORT_x depends on the input of + * setup_virtual_dp_monitor. + */ + vgpu_vreg_t(vgpu, PIPECONF(PIPE_A)) |= PIPECONF_ENABLE; + vgpu_vreg_t(vgpu, PIPECONF(PIPE_A)) |= I965_PIPECONF_ACTIVE; + + /* + * Golden M/N are calculated based on: + * 24 bpp, 4 lanes, 154000 pixel clk (from virtual EDID), + * DP link clk 1620 MHz and non-constant_n. + * TODO: calculate DP link symbol clk and stream clk m/n. + */ + vgpu_vreg_t(vgpu, PIPE_DATA_M1(TRANSCODER_A)) = 63 << TU_SIZE_SHIFT; + vgpu_vreg_t(vgpu, PIPE_DATA_M1(TRANSCODER_A)) |= 0x5b425e; + vgpu_vreg_t(vgpu, PIPE_DATA_N1(TRANSCODER_A)) = 0x800000; + vgpu_vreg_t(vgpu, PIPE_LINK_M1(TRANSCODER_A)) = 0x3cd6e; + vgpu_vreg_t(vgpu, PIPE_LINK_N1(TRANSCODER_A)) = 0x80000; + + /* Enable per-DDI/PORT vreg */ if (intel_vgpu_has_monitor_on_port(vgpu, PORT_A)) { + vgpu_vreg_t(vgpu, BXT_P_CR_GT_DISP_PWRON) |= BIT(1); + vgpu_vreg_t(vgpu, BXT_PORT_CL1CM_DW0(DPIO_PHY1)) |= + PHY_POWER_GOOD; + vgpu_vreg_t(vgpu, BXT_PHY_CTL_FAMILY(DPIO_PHY1)) |= + BIT(30); + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_A)) |= + BXT_PHY_LANE_ENABLED; + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_A)) &= + ~(BXT_PHY_CMNLANE_POWERDOWN_ACK | + BXT_PHY_LANE_POWERDOWN_ACK); + vgpu_vreg_t(vgpu, BXT_PORT_PLL_ENABLE(PORT_A)) |= + (PORT_PLL_POWER_STATE | PORT_PLL_POWER_ENABLE | + PORT_PLL_REF_SEL | PORT_PLL_LOCK | + PORT_PLL_ENABLE); + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_A)) |= + (DDI_BUF_CTL_ENABLE | DDI_INIT_DISPLAY_DETECTED); + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_A)) &= + ~DDI_BUF_IS_IDLE; + vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_EDP)) |= + (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | + TRANS_DDI_FUNC_ENABLE); + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTA_HOTPLUG_ENABLE; vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= BXT_DE_PORT_HP_DDIA; } if (intel_vgpu_has_monitor_on_port(vgpu, PORT_B)) { + vgpu_vreg_t(vgpu, SFUSE_STRAP) |= SFUSE_STRAP_DDIB_DETECTED; + vgpu_vreg_t(vgpu, BXT_P_CR_GT_DISP_PWRON) |= BIT(0); + vgpu_vreg_t(vgpu, BXT_PORT_CL1CM_DW0(DPIO_PHY0)) |= + PHY_POWER_GOOD; + vgpu_vreg_t(vgpu, BXT_PHY_CTL_FAMILY(DPIO_PHY0)) |= + BIT(30); + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_B)) |= + BXT_PHY_LANE_ENABLED; + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_B)) &= + ~(BXT_PHY_CMNLANE_POWERDOWN_ACK | + BXT_PHY_LANE_POWERDOWN_ACK); + vgpu_vreg_t(vgpu, BXT_PORT_PLL_ENABLE(PORT_B)) |= + (PORT_PLL_POWER_STATE | PORT_PLL_POWER_ENABLE | + PORT_PLL_REF_SEL | PORT_PLL_LOCK | + PORT_PLL_ENABLE); + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_B)) |= + DDI_BUF_CTL_ENABLE; + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_B)) &= + ~DDI_BUF_IS_IDLE; + vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |= + (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | + (PORT_B << TRANS_DDI_PORT_SHIFT) | + TRANS_DDI_FUNC_ENABLE); + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTB_HOTPLUG_ENABLE; vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= BXT_DE_PORT_HP_DDIB; } if (intel_vgpu_has_monitor_on_port(vgpu, PORT_C)) { + vgpu_vreg_t(vgpu, SFUSE_STRAP) |= SFUSE_STRAP_DDIC_DETECTED; + vgpu_vreg_t(vgpu, BXT_P_CR_GT_DISP_PWRON) |= BIT(0); + vgpu_vreg_t(vgpu, BXT_PORT_CL1CM_DW0(DPIO_PHY0)) |= + PHY_POWER_GOOD; + vgpu_vreg_t(vgpu, BXT_PHY_CTL_FAMILY(DPIO_PHY0)) |= + BIT(30); + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_C)) |= + BXT_PHY_LANE_ENABLED; + vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_C)) &= + ~(BXT_PHY_CMNLANE_POWERDOWN_ACK | + BXT_PHY_LANE_POWERDOWN_ACK); + vgpu_vreg_t(vgpu, BXT_PORT_PLL_ENABLE(PORT_C)) |= + (PORT_PLL_POWER_STATE | PORT_PLL_POWER_ENABLE | + PORT_PLL_REF_SEL | PORT_PLL_LOCK | + PORT_PLL_ENABLE); + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_C)) |= + DDI_BUF_CTL_ENABLE; + vgpu_vreg_t(vgpu, DDI_BUF_CTL(PORT_C)) &= + ~DDI_BUF_IS_IDLE; + vgpu_vreg_t(vgpu, TRANS_DDI_FUNC_CTL(TRANSCODER_A)) |= + (TRANS_DDI_BPC_8 | TRANS_DDI_MODE_SELECT_DP_SST | + (PORT_B << TRANS_DDI_PORT_SHIFT) | + TRANS_DDI_FUNC_ENABLE); + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTC_HOTPLUG_ENABLE; vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= BXT_DE_PORT_HP_DDIC; } @@ -513,6 +668,63 @@ vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= PORTD_HOTPLUG_STATUS_MASK; intel_vgpu_trigger_virtual_event(vgpu, DP_D_HOTPLUG); + } else if (IS_BROXTON(i915)) { + if (intel_vgpu_has_monitor_on_port(vgpu, PORT_A)) { + if (connected) { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= + BXT_DE_PORT_HP_DDIA; + } else { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) &= + ~BXT_DE_PORT_HP_DDIA; + } + vgpu_vreg_t(vgpu, GEN8_DE_PORT_IIR) |= + BXT_DE_PORT_HP_DDIA; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~PORTA_HOTPLUG_STATUS_MASK; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTA_HOTPLUG_LONG_DETECT; + intel_vgpu_trigger_virtual_event(vgpu, DP_A_HOTPLUG); + } + if (intel_vgpu_has_monitor_on_port(vgpu, PORT_B)) { + if (connected) { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= + BXT_DE_PORT_HP_DDIB; + vgpu_vreg_t(vgpu, SFUSE_STRAP) |= + SFUSE_STRAP_DDIB_DETECTED; + } else { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) &= + ~BXT_DE_PORT_HP_DDIB; + vgpu_vreg_t(vgpu, SFUSE_STRAP) &= + ~SFUSE_STRAP_DDIB_DETECTED; + } + vgpu_vreg_t(vgpu, GEN8_DE_PORT_IIR) |= + BXT_DE_PORT_HP_DDIB; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~PORTB_HOTPLUG_STATUS_MASK; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTB_HOTPLUG_LONG_DETECT; + intel_vgpu_trigger_virtual_event(vgpu, DP_B_HOTPLUG); + } + if (intel_vgpu_has_monitor_on_port(vgpu, PORT_C)) { + if (connected) { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) |= + BXT_DE_PORT_HP_DDIC; + vgpu_vreg_t(vgpu, SFUSE_STRAP) |= + SFUSE_STRAP_DDIC_DETECTED; + } else { + vgpu_vreg_t(vgpu, GEN8_DE_PORT_ISR) &= + ~BXT_DE_PORT_HP_DDIC; + vgpu_vreg_t(vgpu, SFUSE_STRAP) &= + ~SFUSE_STRAP_DDIC_DETECTED; + } + vgpu_vreg_t(vgpu, GEN8_DE_PORT_IIR) |= + BXT_DE_PORT_HP_DDIC; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) &= + ~PORTC_HOTPLUG_STATUS_MASK; + vgpu_vreg_t(vgpu, PCH_PORT_HOTPLUG) |= + PORTC_HOTPLUG_LONG_DETECT; + intel_vgpu_trigger_virtual_event(vgpu, DP_C_HOTPLUG); + } } } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gvt/handlers.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gvt/handlers.c @@ -1658,6 +1658,34 @@ return 0; } +/** + * FixMe: + * If guest fills non-priv batch buffer on ApolloLake/Broxton as Mesa i965 did: + * 717e7539124d (i965: Use a WC map and memcpy for the batch instead of pwrite.) + * Due to the missing flush of bb filled by VM vCPU, host GPU hangs on executing + * these MI_BATCH_BUFFER. + * Temporarily workaround this by setting SNOOP bit for PAT3 used by PPGTT + * PML4 PTE: PAT(0) PCD(1) PWT(1). + * The performance is still expected to be low, will need further improvement. + */ +static int bxt_ppat_low_write(struct intel_vgpu *vgpu, unsigned int offset, + void *p_data, unsigned int bytes) +{ + u64 pat = + GEN8_PPAT(0, CHV_PPAT_SNOOP) | + GEN8_PPAT(1, 0) | + GEN8_PPAT(2, 0) | + GEN8_PPAT(3, CHV_PPAT_SNOOP) | + GEN8_PPAT(4, CHV_PPAT_SNOOP) | + GEN8_PPAT(5, CHV_PPAT_SNOOP) | + GEN8_PPAT(6, CHV_PPAT_SNOOP) | + GEN8_PPAT(7, CHV_PPAT_SNOOP); + + vgpu_vreg(vgpu, offset) = lower_32_bits(pat); + + return 0; +} + static int mmio_read_from_hw(struct intel_vgpu *vgpu, unsigned int offset, void *p_data, unsigned int bytes) { @@ -2807,7 +2835,7 @@ MMIO_DH(GEN6_PCODE_MAILBOX, D_BDW_PLUS, NULL, mailbox_write); - MMIO_D(GEN8_PRIVATE_PAT_LO, D_BDW_PLUS); + MMIO_D(GEN8_PRIVATE_PAT_LO, D_BDW_PLUS & ~D_BXT); MMIO_D(GEN8_PRIVATE_PAT_HI, D_BDW_PLUS); MMIO_D(GAMTARBMODE, D_BDW_PLUS); @@ -3134,7 +3162,7 @@ NULL, NULL); MMIO_D(GAMT_CHKN_BIT_REG, D_KBL | D_CFL); - MMIO_D(GEN9_CTX_PREEMPT_REG, D_SKL_PLUS); + MMIO_D(GEN9_CTX_PREEMPT_REG, D_SKL_PLUS & ~D_BXT); return 0; } @@ -3308,9 +3336,17 @@ MMIO_D(GEN8_PUSHBUS_SHIFT, D_BXT); MMIO_D(GEN6_GFXPAUSE, D_BXT); MMIO_DFH(GEN8_L3SQCREG1, D_BXT, F_CMD_ACCESS, NULL, NULL); + MMIO_DFH(GEN8_L3CNTLREG, D_BXT, F_CMD_ACCESS, NULL, NULL); + MMIO_DFH(_MMIO(0x20D8), D_BXT, F_CMD_ACCESS, NULL, NULL); + MMIO_F(HSW_CS_GPR(0), 0x40, F_CMD_ACCESS, 0, 0, D_BXT, NULL, NULL); + MMIO_F(_MMIO(0x12600), 0x40, F_CMD_ACCESS, 0, 0, D_BXT, NULL, NULL); + MMIO_F(BCS_GPR(0), 0x40, F_CMD_ACCESS, 0, 0, D_BXT, NULL, NULL); + MMIO_F(_MMIO(0x1a600), 0x40, F_CMD_ACCESS, 0, 0, D_BXT, NULL, NULL); MMIO_DFH(GEN9_CTX_PREEMPT_REG, D_BXT, F_CMD_ACCESS, NULL, NULL); + MMIO_DH(GEN8_PRIVATE_PAT_LO, D_BXT, NULL, bxt_ppat_low_write); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gvt/mmio.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gvt/mmio.c @@ -277,6 +277,11 @@ vgpu_vreg_t(vgpu, BXT_PHY_CTL(PORT_C)) |= BXT_PHY_CMNLANE_POWERDOWN_ACK | BXT_PHY_LANE_POWERDOWN_ACK; + vgpu_vreg_t(vgpu, SKL_FUSE_STATUS) |= + SKL_FUSE_DOWNLOAD_STATUS | + SKL_FUSE_PG_DIST_STATUS(SKL_PG0) | + SKL_FUSE_PG_DIST_STATUS(SKL_PG1) | + SKL_FUSE_PG_DIST_STATUS(SKL_PG2); } } else { #define GVT_GEN8_MMIO_RESET_OFFSET (0x44200) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/gvt/vgpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/gvt/vgpu.c @@ -367,6 +367,7 @@ static struct intel_vgpu *__intel_gvt_create_vgpu(struct intel_gvt *gvt, struct intel_vgpu_creation_params *param) { + struct drm_i915_private *dev_priv = gvt->gt->i915; struct intel_vgpu *vgpu; int ret; @@ -434,7 +435,10 @@ if (ret) goto out_clean_sched_policy; - ret = intel_gvt_hypervisor_set_edid(vgpu, PORT_D); + if (IS_BROADWELL(dev_priv) || IS_BROXTON(dev_priv)) + ret = intel_gvt_hypervisor_set_edid(vgpu, PORT_B); + else + ret = intel_gvt_hypervisor_set_edid(vgpu, PORT_D); if (ret) goto out_clean_sched_policy; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_active.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_active.c @@ -498,24 +498,26 @@ int __i915_active_wait(struct i915_active *ref, int state) { - int err; - might_sleep(); - if (!i915_active_acquire_if_busy(ref)) - return 0; - /* Any fence added after the wait begins will not be auto-signaled */ - err = flush_lazy_signals(ref); - i915_active_release(ref); - if (err) - return err; - - if (!i915_active_is_idle(ref) && - ___wait_var_event(ref, i915_active_is_idle(ref), - state, 0, 0, schedule())) - return -EINTR; + if (i915_active_acquire_if_busy(ref)) { + int err; + err = flush_lazy_signals(ref); + i915_active_release(ref); + if (err) + return err; + + if (___wait_var_event(ref, i915_active_is_idle(ref), + state, 0, 0, schedule())) + return -EINTR; + } + + /* + * After the wait is complete, the caller may free the active. + * We have to flush any concurrent retirement before returning. + */ flush_work(&ref->work); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_cmd_parser.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -1136,7 +1136,7 @@ /* Returns a vmap'd pointer to dst_obj, which the caller must unmap */ static u32 *copy_batch(struct drm_i915_gem_object *dst_obj, struct drm_i915_gem_object *src_obj, - u32 offset, u32 length) + unsigned long offset, unsigned long length) { bool needs_clflush; void *dst, *src; @@ -1166,8 +1166,8 @@ } } if (IS_ERR(src)) { + unsigned long x, n, remain; void *ptr; - int x, n; /* * We can avoid clflushing partial cachelines before the write @@ -1177,14 +1177,15 @@ * We don't care about copying too much here as we only * validate up to the end of the batch. */ + remain = length; if (!(dst_obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_READ)) - length = round_up(length, + remain = round_up(remain, boot_cpu_data.x86_clflush_size); ptr = dst; x = offset_in_page(offset); - for (n = offset >> PAGE_SHIFT; length; n++) { - int len = min_t(int, length, PAGE_SIZE - x); + for (n = offset >> PAGE_SHIFT; remain; n++) { + int len = min(remain, PAGE_SIZE - x); src = kmap_atomic(i915_gem_object_get_page(src_obj, n)); if (needs_clflush) @@ -1193,17 +1194,25 @@ kunmap_atomic(src); ptr += len; - length -= len; + remain -= len; x = 0; } } i915_gem_object_unpin_pages(src_obj); + memset32(dst + length, 0, (dst_obj->base.size - length) / sizeof(u32)); + /* dst_obj is returned with vmap pinned */ return dst; } +static inline bool cmd_desc_is(const struct drm_i915_cmd_descriptor * const desc, + const u32 cmd) +{ + return desc->cmd.value == (cmd & desc->cmd.mask); +} + static bool check_cmd(const struct intel_engine_cs *engine, const struct drm_i915_cmd_descriptor *desc, const u32 *cmd, u32 length) @@ -1242,19 +1251,19 @@ * allowed mask/value pair given in the whitelist entry. */ if (reg->mask) { - if (desc->cmd.value == MI_LOAD_REGISTER_MEM) { + if (cmd_desc_is(desc, MI_LOAD_REGISTER_MEM)) { DRM_DEBUG("CMD: Rejected LRM to masked register 0x%08X\n", reg_addr); return false; } - if (desc->cmd.value == MI_LOAD_REGISTER_REG) { + if (cmd_desc_is(desc, MI_LOAD_REGISTER_REG)) { DRM_DEBUG("CMD: Rejected LRR to masked register 0x%08X\n", reg_addr); return false; } - if (desc->cmd.value == MI_LOAD_REGISTER_IMM(1) && + if (cmd_desc_is(desc, MI_LOAD_REGISTER_IMM(1)) && (offset + 2 > length || (cmd[offset + 1] & reg->mask) != reg->value)) { DRM_DEBUG("CMD: Rejected LRI to masked register 0x%08X\n", @@ -1386,11 +1395,6 @@ #define LENGTH_BIAS 2 -static bool shadow_needs_clflush(struct drm_i915_gem_object *obj) -{ - return !(obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_WRITE); -} - /** * intel_engine_cmd_parser() - parse a batch buffer for privilege violations * @engine: the engine on which the batch is to execute @@ -1408,8 +1412,8 @@ */ int intel_engine_cmd_parser(struct intel_engine_cs *engine, struct i915_vma *batch, - u32 batch_offset, - u32 batch_length, + unsigned long batch_offset, + unsigned long batch_length, struct i915_vma *shadow, bool trampoline) { @@ -1478,7 +1482,7 @@ break; } - if (desc->cmd.value == MI_BATCH_BUFFER_START) { + if (cmd_desc_is(desc, MI_BATCH_BUFFER_START)) { ret = check_bbstart(cmd, offset, length, batch_length, batch_addr, shadow_addr, jump_whitelist); @@ -1533,16 +1537,9 @@ ret = 0; /* allow execution */ } } - - if (shadow_needs_clflush(shadow->obj)) - drm_clflush_virt_range(batch_end, 8); } - if (shadow_needs_clflush(shadow->obj)) { - void *ptr = page_mask_bits(shadow->obj->mm.mapping); - - drm_clflush_virt_range(ptr, (void *)(cmd + 1) - ptr); - } + i915_gem_object_flush_map(shadow->obj); if (!IS_ERR_OR_NULL(jump_whitelist)) kfree(jump_whitelist); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_debugfs.c @@ -323,6 +323,7 @@ } i915_gem_context_unlock_engines(ctx); + mutex_lock(&ctx->mutex); if (!IS_ERR_OR_NULL(ctx->file_priv)) { struct file_stats stats = { .vm = rcu_access_pointer(ctx->vm), @@ -343,6 +344,7 @@ print_file_stats(m, name, stats); } + mutex_unlock(&ctx->mutex); spin_lock(&i915->gem.contexts.lock); list_safe_reset_next(ctx, cn, link); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_drv.c @@ -702,8 +702,6 @@ pci_set_master(pdev); - cpu_latency_qos_add_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE); - intel_gt_init_workarounds(dev_priv); /* On the 945G/GM, the chipset reports the MSI capability on the @@ -748,7 +746,6 @@ err_msi: if (pdev->msi_enabled) pci_disable_msi(pdev); - cpu_latency_qos_remove_request(&dev_priv->pm_qos); err_mem_regions: intel_memory_regions_driver_release(dev_priv); err_ggtt: @@ -770,8 +767,6 @@ if (pdev->msi_enabled) pci_disable_msi(pdev); - - cpu_latency_qos_remove_request(&dev_priv->pm_qos); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_drv.h @@ -33,6 +33,8 @@ #include #include +#include + #include #include #include @@ -901,9 +903,6 @@ bool display_irqs_enabled; - /* To control wakeup latency, e.g. for irq-driven dp aux transfers. */ - struct pm_qos_request pm_qos; - /* Sideband mailbox protection */ struct mutex sb_lock; struct pm_qos_request sb_qos; @@ -1195,6 +1194,9 @@ bool ipc_enabled; + /* Hack to bypass TMDS_OE write on DP->HDMI dongle */ + bool bypass_tmds_oe; + /* Used to save the pipe-to-encoder mapping for audio */ struct intel_encoder *av_enc_map[I915_MAX_PIPES]; @@ -1341,7 +1343,7 @@ { const unsigned int pi = __platform_mask_index(info, p); - return info->platform_mask[pi] & INTEL_SUBPLATFORM_BITS; + return info->platform_mask[pi] & ((1 << INTEL_SUBPLATFORM_BITS) - 1); } static __always_inline bool @@ -1667,7 +1669,9 @@ if (intel_iommu_gfx_mapped) return true; #endif - return false; + + /* Running as a guest, we assume the host is enforcing VT'd */ + return !hypervisor_is_type(X86_HYPER_NATIVE); } static inline bool intel_scanout_needs_vtd_wa(struct drm_i915_private *dev_priv) @@ -1850,8 +1854,8 @@ void intel_engine_cleanup_cmd_parser(struct intel_engine_cs *engine); int intel_engine_cmd_parser(struct intel_engine_cs *engine, struct i915_vma *batch, - u32 batch_offset, - u32 batch_length, + unsigned long batch_offset, + unsigned long batch_length, struct i915_vma *shadow, bool trampoline); #define I915_CMD_PARSER_TRAMPOLINE_SIZE 8 --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_gpu_error.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_gpu_error.c @@ -310,6 +310,8 @@ if (zlib_deflate(zstream, Z_NO_FLUSH) != Z_OK) return -EIO; + + cond_resched(); } while (zstream->avail_in); /* Fallback to uncompressed if we increase size? */ @@ -396,6 +398,7 @@ if (!(wc && i915_memcpy_from_wc(ptr, src, PAGE_SIZE))) memcpy(ptr, src, PAGE_SIZE); dst->pages[dst->page_count++] = ptr; + cond_resched(); return 0; } @@ -1301,7 +1304,7 @@ } strcpy(c->name, name); - c->vma = i915_vma_get(vma); + c->vma = vma; /* reference held while active */ c->next = next; return c; @@ -1391,7 +1394,6 @@ compress)); i915_active_release(&vma->active); - i915_vma_put(vma); capture = this->next; kfree(this); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_params.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_params.c @@ -85,8 +85,7 @@ i915_param_named_unsafe(enable_psr, int, 0600, "Enable PSR " - "(0=disabled, 1=enabled) " - "Default: -1 (use per-chip default)"); + "(-1=use per-chip default, 0=disabled [default], 1=enabled) "); i915_param_named_unsafe(force_probe, charp, 0400, "Force probe the driver for specified devices. " --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_params.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_params.h @@ -52,7 +52,7 @@ param(int, vbt_sdvo_panel_type, -1, 0400) \ param(int, enable_dc, -1, 0400) \ param(int, enable_fbc, -1, 0600) \ - param(int, enable_psr, -1, 0600) \ + param(int, enable_psr, 0, 0600) \ param(int, disable_power_well, -1, 0400) \ param(int, enable_ips, 1, 0600) \ param(int, invert_brightness, 0, 0600) \ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_pci.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_pci.c @@ -388,6 +388,7 @@ GEN5_FEATURES, PLATFORM(INTEL_IRONLAKE), .is_mobile = 1, + .has_rps = true, .display.has_fbc = 1, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_perf.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_perf.c @@ -600,7 +600,6 @@ { int report_size = stream->oa_buffer.format_size; struct drm_i915_perf_record_header header; - u32 sample_flags = stream->sample_flags; header.type = DRM_I915_PERF_RECORD_SAMPLE; header.pad = 0; @@ -614,10 +613,8 @@ return -EFAULT; buf += sizeof(header); - if (sample_flags & SAMPLE_OA_REPORT) { - if (copy_to_user(buf, report, report_size)) - return -EFAULT; - } + if (copy_to_user(buf, report, report_size)) + return -EFAULT; (*offset) += header.size; @@ -2644,7 +2641,7 @@ stream->perf->ops.oa_enable(stream); - if (stream->periodic) + if (stream->sample_flags & SAMPLE_OA_REPORT) hrtimer_start(&stream->poll_check_timer, ns_to_ktime(stream->poll_oa_period), HRTIMER_MODE_REL_PINNED); @@ -2707,7 +2704,7 @@ { stream->perf->ops.oa_disable(stream); - if (stream->periodic) + if (stream->sample_flags & SAMPLE_OA_REPORT) hrtimer_cancel(&stream->poll_check_timer); } @@ -2991,7 +2988,7 @@ * disabled stream as an error. In particular it might otherwise lead * to a deadlock for blocking file descriptors... */ - if (!stream->enabled) + if (!stream->enabled || !(stream->sample_flags & SAMPLE_OA_REPORT)) return -EIO; if (!(file->f_flags & O_NONBLOCK)) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_pmu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_pmu.c @@ -184,13 +184,24 @@ return val; } -static void park_rc6(struct drm_i915_private *i915) +static void init_rc6(struct i915_pmu *pmu) { - struct i915_pmu *pmu = &i915->pmu; + struct drm_i915_private *i915 = container_of(pmu, typeof(*i915), pmu); + intel_wakeref_t wakeref; - if (pmu->enable & config_enabled_mask(I915_PMU_RC6_RESIDENCY)) + with_intel_runtime_pm(i915->gt.uncore->rpm, wakeref) { pmu->sample[__I915_SAMPLE_RC6].cur = __get_rc6(&i915->gt); + pmu->sample[__I915_SAMPLE_RC6_LAST_REPORTED].cur = + pmu->sample[__I915_SAMPLE_RC6].cur; + pmu->sleep_last = ktime_get(); + } +} + +static void park_rc6(struct drm_i915_private *i915) +{ + struct i915_pmu *pmu = &i915->pmu; + pmu->sample[__I915_SAMPLE_RC6].cur = __get_rc6(&i915->gt); pmu->sleep_last = ktime_get(); } @@ -201,6 +212,7 @@ return __get_rc6(gt); } +static void init_rc6(struct i915_pmu *pmu) { } static void park_rc6(struct drm_i915_private *i915) {} #endif @@ -441,8 +453,10 @@ static void i915_pmu_event_destroy(struct perf_event *event) { - WARN_ON(event->parent); - module_put(THIS_MODULE); + struct drm_i915_private *i915 = + container_of(event->pmu, typeof(*i915), pmu.base); + + drm_WARN_ON(&i915->drm, event->parent); } static int @@ -534,10 +548,8 @@ if (ret) return ret; - if (!event->parent) { - __module_get(THIS_MODULE); + if (!event->parent) event->destroy = i915_pmu_event_destroy; - } return 0; } @@ -610,10 +622,8 @@ container_of(event->pmu, typeof(*i915), pmu.base); unsigned int bit = event_enabled_bit(event); struct i915_pmu *pmu = &i915->pmu; - intel_wakeref_t wakeref; unsigned long flags; - wakeref = intel_runtime_pm_get(&i915->runtime_pm); spin_lock_irqsave(&pmu->lock, flags); /* @@ -624,13 +634,6 @@ GEM_BUG_ON(bit >= ARRAY_SIZE(pmu->enable_count)); GEM_BUG_ON(pmu->enable_count[bit] == ~0); - if (pmu->enable_count[bit] == 0 && - config_enabled_mask(I915_PMU_RC6_RESIDENCY) & BIT_ULL(bit)) { - pmu->sample[__I915_SAMPLE_RC6_LAST_REPORTED].cur = 0; - pmu->sample[__I915_SAMPLE_RC6].cur = __get_rc6(&i915->gt); - pmu->sleep_last = ktime_get(); - } - pmu->enable |= BIT_ULL(bit); pmu->enable_count[bit]++; @@ -671,8 +674,6 @@ * an existing non-zero value. */ local64_set(&event->hw.prev_count, __i915_pmu_event_read(event)); - - intel_runtime_pm_put(&i915->runtime_pm, wakeref); } static void i915_pmu_disable(struct perf_event *event) @@ -1058,8 +1059,10 @@ static void i915_pmu_unregister_cpuhp_state(struct i915_pmu *pmu) { - WARN_ON(pmu->cpuhp.slot == CPUHP_INVALID); - WARN_ON(cpuhp_state_remove_instance(pmu->cpuhp.slot, &pmu->cpuhp.node)); + struct drm_i915_private *i915 = container_of(pmu, typeof(*i915), pmu); + + drm_WARN_ON(&i915->drm, pmu->cpuhp.slot == CPUHP_INVALID); + drm_WARN_ON(&i915->drm, cpuhp_state_remove_instance(pmu->cpuhp.slot, &pmu->cpuhp.node)); cpuhp_remove_multi_state(pmu->cpuhp.slot); pmu->cpuhp.slot = CPUHP_INVALID; } @@ -1096,6 +1099,7 @@ hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); pmu->timer.function = i915_sample; pmu->cpuhp.slot = CPUHP_INVALID; + init_rc6(pmu); if (!is_igp(i915)) { pmu->name = kasprintf(GFP_KERNEL, @@ -1121,6 +1125,7 @@ if (!pmu->base.attr_groups) goto err_attr; + pmu->base.module = THIS_MODULE; pmu->base.task_ctx_nr = perf_invalid_context; pmu->base.event_init = i915_pmu_event_init; pmu->base.add = i915_pmu_event_add; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_request.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_request.c @@ -522,8 +522,13 @@ if (i915_request_completed(request)) goto xfer; + if (unlikely(intel_context_is_closed(request->context) && + !intel_engine_has_heartbeat(engine))) + intel_context_set_banned(request->context); + if (unlikely(intel_context_is_banned(request->context))) i915_request_set_error_once(request, -EIO); + if (unlikely(fatal_error(request->fence.error))) __i915_request_skip(request); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_sw_fence.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_sw_fence.c @@ -164,9 +164,13 @@ do { list_for_each_entry_safe(pos, next, &x->head, entry) { - pos->func(pos, - TASK_NORMAL, fence->error, - &extra); + int wake_flags; + + wake_flags = fence->error; + if (pos->func == autoremove_wake_function) + wake_flags = 0; + + pos->func(pos, TASK_NORMAL, wake_flags, &extra); } if (list_empty(&extra)) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/i915_vma.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/i915_vma.c @@ -315,8 +315,10 @@ { struct i915_vma_work *vw = container_of(work, typeof(*vw), base); - if (vw->pinned) + if (vw->pinned) { __i915_gem_object_unpin_pages(vw->pinned); + i915_gem_object_put(vw->pinned); + } } static const struct dma_fence_work_ops bind_ops = { @@ -432,7 +434,7 @@ if (vma->obj) { __i915_gem_object_pin_pages(vma->obj); - work->pinned = vma->obj; + work->pinned = i915_gem_object_get(vma->obj); } } else { ret = vma->ops->bind_vma(vma, cache_level, bind_flags); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/intel_runtime_pm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -405,12 +405,20 @@ } /** - * intel_runtime_pm_get_if_in_use - grab a runtime pm reference if device in use + * __intel_runtime_pm_get_if_active - grab a runtime pm reference if device is active * @rpm: the intel_runtime_pm structure + * @ignore_usecount: get a ref even if dev->power.usage_count is 0 * * This function grabs a device-level runtime pm reference if the device is - * already in use and ensures that it is powered up. It is illegal to try - * and access the HW should intel_runtime_pm_get_if_in_use() report failure. + * already active and ensures that it is powered up. It is illegal to try + * and access the HW should intel_runtime_pm_get_if_active() report failure. + * + * If @ignore_usecount=true, a reference will be acquired even if there is no + * user requiring the device to be powered up (dev->power.usage_count == 0). + * If the function returns false in this case then it's guaranteed that the + * device's runtime suspend hook has been called already or that it will be + * called (and hence it's also guaranteed that the device's runtime resume + * hook will be called eventually). * * Any runtime pm reference obtained by this function must have a symmetric * call to intel_runtime_pm_put() to release the reference again. @@ -418,7 +426,8 @@ * Returns: the wakeref cookie to pass to intel_runtime_pm_put(), evaluates * as True if the wakeref was acquired, or False otherwise. */ -intel_wakeref_t intel_runtime_pm_get_if_in_use(struct intel_runtime_pm *rpm) +static intel_wakeref_t __intel_runtime_pm_get_if_active(struct intel_runtime_pm *rpm, + bool ignore_usecount) { if (IS_ENABLED(CONFIG_PM)) { /* @@ -427,7 +436,7 @@ * function, since the power state is undefined. This applies * atm to the late/early system suspend/resume handlers. */ - if (pm_runtime_get_if_in_use(rpm->kdev) <= 0) + if (pm_runtime_get_if_active(rpm->kdev, ignore_usecount) <= 0) return 0; } @@ -436,6 +445,16 @@ return track_intel_runtime_pm_wakeref(rpm); } +intel_wakeref_t intel_runtime_pm_get_if_in_use(struct intel_runtime_pm *rpm) +{ + return __intel_runtime_pm_get_if_active(rpm, false); +} + +intel_wakeref_t intel_runtime_pm_get_if_active(struct intel_runtime_pm *rpm) +{ + return __intel_runtime_pm_get_if_active(rpm, true); +} + /** * intel_runtime_pm_get_noresume - grab a runtime pm reference * @rpm: the intel_runtime_pm structure --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/intel_runtime_pm.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/intel_runtime_pm.h @@ -177,6 +177,7 @@ intel_wakeref_t intel_runtime_pm_get(struct intel_runtime_pm *rpm); intel_wakeref_t intel_runtime_pm_get_if_in_use(struct intel_runtime_pm *rpm); +intel_wakeref_t intel_runtime_pm_get_if_active(struct intel_runtime_pm *rpm); intel_wakeref_t intel_runtime_pm_get_noresume(struct intel_runtime_pm *rpm); intel_wakeref_t intel_runtime_pm_get_raw(struct intel_runtime_pm *rpm); @@ -188,6 +189,10 @@ for ((wf) = intel_runtime_pm_get_if_in_use(rpm); (wf); \ intel_runtime_pm_put((rpm), (wf)), (wf) = 0) +#define with_intel_runtime_pm_if_active(rpm, wf) \ + for ((wf) = intel_runtime_pm_get_if_active(rpm); (wf); \ + intel_runtime_pm_put((rpm), (wf)), (wf) = 0) + void intel_runtime_pm_put_unchecked(struct intel_runtime_pm *rpm); #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM) void intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/intel_uncore.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/intel_uncore.c @@ -1209,6 +1209,18 @@ spin_unlock(&uncore->debug->lock); } +#define __vgpu_read(x) \ +static u##x \ +vgpu_read##x(struct intel_uncore *uncore, i915_reg_t reg, bool trace) { \ + u##x val = __raw_uncore_read##x(uncore, reg); \ + trace_i915_reg_rw(false, reg, val, sizeof(val), trace); \ + return val; \ +} +__vgpu_read(8) +__vgpu_read(16) +__vgpu_read(32) +__vgpu_read(64) + #define GEN2_READ_HEADER(x) \ u##x val = 0; \ assert_rpm_wakelock_held(uncore->rpm); @@ -1414,6 +1426,16 @@ #undef GEN6_WRITE_FOOTER #undef GEN6_WRITE_HEADER +#define __vgpu_write(x) \ +static void \ +vgpu_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { \ + trace_i915_reg_rw(true, reg, val, sizeof(val), trace); \ + __raw_uncore_write##x(uncore, reg, val); \ +} +__vgpu_write(8) +__vgpu_write(16) +__vgpu_write(32) + #define ASSIGN_RAW_WRITE_MMIO_VFUNCS(uncore, x) \ do { \ (uncore)->funcs.mmio_writeb = x##_write8; \ @@ -1733,7 +1755,10 @@ { GEM_BUG_ON(intel_uncore_has_forcewake(uncore)); - if (IS_GEN(uncore->i915, 5)) { + if (intel_vgpu_active(uncore->i915)) { + ASSIGN_RAW_WRITE_MMIO_VFUNCS(uncore, vgpu); + ASSIGN_RAW_READ_MMIO_VFUNCS(uncore, vgpu); + } else if (IS_GEN(uncore->i915, 5)) { ASSIGN_RAW_WRITE_MMIO_VFUNCS(uncore, gen5); ASSIGN_RAW_READ_MMIO_VFUNCS(uncore, gen5); } else { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c @@ -1855,7 +1855,7 @@ vma = i915_vma_instance(out, vm, NULL); if (IS_ERR(vma)) { err = PTR_ERR(vma); - goto out_put_batch; + goto out_put_out; } err = i915_vma_pin(vma, 0, 0, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/dw_hdmi-imx.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/dw_hdmi-imx.c @@ -209,9 +209,8 @@ if (!pdev->dev.of_node) return -ENODEV; - hdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); - if (!hdmi) - return -ENOMEM; + hdmi = dev_get_drvdata(dev); + memset(hdmi, 0, sizeof(*hdmi)); match = of_match_node(dw_hdmi_imx_dt_ids, pdev->dev.of_node); plat_data = match->data; @@ -235,8 +234,6 @@ drm_encoder_helper_add(encoder, &dw_hdmi_imx_encoder_helper_funcs); drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); - platform_set_drvdata(pdev, hdmi); - hdmi->hdmi = dw_hdmi_bind(pdev, encoder, plat_data); /* @@ -266,6 +263,14 @@ static int dw_hdmi_imx_probe(struct platform_device *pdev) { + struct imx_hdmi *hdmi; + + hdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); + if (!hdmi) + return -ENOMEM; + + platform_set_drvdata(pdev, hdmi); + return component_add(&pdev->dev, &dw_hdmi_imx_ops); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/imx-drm-core.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/imx-drm-core.c @@ -275,9 +275,10 @@ drm_kms_helper_poll_fini(drm); + component_unbind_all(drm->dev, drm); + drm_mode_config_cleanup(drm); - component_unbind_all(drm->dev, drm); dev_set_drvdata(dev, NULL); drm_dev_put(drm); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/imx-ldb.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/imx-ldb.c @@ -199,6 +199,11 @@ int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); + if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { + dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); + return; + } + drm_panel_prepare(imx_ldb_ch->panel); if (dual) { @@ -257,6 +262,11 @@ int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); u32 bus_format = imx_ldb_ch->bus_format; + if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { + dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); + return; + } + if (mode->clock > 170000) { dev_warn(ldb->dev, "%s: mode exceeds 170 MHz pixel clock\n", __func__); @@ -304,18 +314,19 @@ { struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder); struct imx_ldb *ldb = imx_ldb_ch->ldb; + int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; int mux, ret; drm_panel_disable(imx_ldb_ch->panel); - if (imx_ldb_ch == &ldb->channel[0]) + if (imx_ldb_ch == &ldb->channel[0] || dual) ldb->ldb_ctrl &= ~LDB_CH0_MODE_EN_MASK; - else if (imx_ldb_ch == &ldb->channel[1]) + if (imx_ldb_ch == &ldb->channel[1] || dual) ldb->ldb_ctrl &= ~LDB_CH1_MODE_EN_MASK; regmap_write(ldb->regmap, IOMUXC_GPR2, ldb->ldb_ctrl); - if (ldb->ldb_ctrl & LDB_SPLIT_MODE_EN) { + if (dual) { clk_disable_unprepare(ldb->clk[0]); clk_disable_unprepare(ldb->clk[1]); } @@ -590,9 +601,8 @@ int ret; int i; - imx_ldb = devm_kzalloc(dev, sizeof(*imx_ldb), GFP_KERNEL); - if (!imx_ldb) - return -ENOMEM; + imx_ldb = dev_get_drvdata(dev); + memset(imx_ldb, 0, sizeof(*imx_ldb)); imx_ldb->regmap = syscon_regmap_lookup_by_phandle(np, "gpr"); if (IS_ERR(imx_ldb->regmap)) { @@ -700,8 +710,6 @@ } } - dev_set_drvdata(dev, imx_ldb); - return 0; free_child: @@ -733,6 +741,14 @@ static int imx_ldb_probe(struct platform_device *pdev) { + struct imx_ldb *imx_ldb; + + imx_ldb = devm_kzalloc(&pdev->dev, sizeof(*imx_ldb), GFP_KERNEL); + if (!imx_ldb) + return -ENOMEM; + + platform_set_drvdata(pdev, imx_ldb); + return component_add(&pdev->dev, &imx_ldb_ops); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/imx-tve.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/imx-tve.c @@ -490,6 +490,13 @@ return 0; } +static void imx_tve_disable_regulator(void *data) +{ + struct imx_tve *tve = data; + + regulator_disable(tve->dac_reg); +} + static bool imx_tve_readable_reg(struct device *dev, unsigned int reg) { return (reg % 4 == 0) && (reg <= 0xdc); @@ -542,9 +549,8 @@ int irq; int ret; - tve = devm_kzalloc(dev, sizeof(*tve), GFP_KERNEL); - if (!tve) - return -ENOMEM; + tve = dev_get_drvdata(dev); + memset(tve, 0, sizeof(*tve)); tve->dev = dev; spin_lock_init(&tve->lock); @@ -614,6 +620,9 @@ ret = regulator_enable(tve->dac_reg); if (ret) return ret; + ret = devm_add_action_or_reset(dev, imx_tve_disable_regulator, tve); + if (ret) + return ret; } tve->clk = devm_clk_get(dev, "tve"); @@ -655,27 +664,23 @@ if (ret) return ret; - dev_set_drvdata(dev, tve); - return 0; } -static void imx_tve_unbind(struct device *dev, struct device *master, - void *data) -{ - struct imx_tve *tve = dev_get_drvdata(dev); - - if (!IS_ERR(tve->dac_reg)) - regulator_disable(tve->dac_reg); -} - static const struct component_ops imx_tve_ops = { .bind = imx_tve_bind, - .unbind = imx_tve_unbind, }; static int imx_tve_probe(struct platform_device *pdev) { + struct imx_tve *tve; + + tve = devm_kzalloc(&pdev->dev, sizeof(*tve), GFP_KERNEL); + if (!tve) + return -ENOMEM; + + platform_set_drvdata(pdev, tve); + return component_add(&pdev->dev, &imx_tve_ops); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/ipuv3-crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/ipuv3-crtc.c @@ -438,21 +438,13 @@ struct ipu_client_platformdata *pdata = dev->platform_data; struct drm_device *drm = data; struct ipu_crtc *ipu_crtc; - int ret; - ipu_crtc = devm_kzalloc(dev, sizeof(*ipu_crtc), GFP_KERNEL); - if (!ipu_crtc) - return -ENOMEM; + ipu_crtc = dev_get_drvdata(dev); + memset(ipu_crtc, 0, sizeof(*ipu_crtc)); ipu_crtc->dev = dev; - ret = ipu_crtc_init(ipu_crtc, pdata, drm); - if (ret) - return ret; - - dev_set_drvdata(dev, ipu_crtc); - - return 0; + return ipu_crtc_init(ipu_crtc, pdata, drm); } static void ipu_drm_unbind(struct device *dev, struct device *master, @@ -474,6 +466,7 @@ static int ipu_drm_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct ipu_crtc *ipu_crtc; int ret; if (!dev->platform_data) @@ -483,6 +476,12 @@ if (ret) return ret; + ipu_crtc = devm_kzalloc(dev, sizeof(*ipu_crtc), GFP_KERNEL); + if (!ipu_crtc) + return -ENOMEM; + + dev_set_drvdata(dev, ipu_crtc); + return component_add(dev, &ipu_crtc_ops); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/imx/parallel-display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/imx/parallel-display.c @@ -326,9 +326,8 @@ u32 bus_format = 0; const char *fmt; - imxpd = devm_kzalloc(dev, sizeof(*imxpd), GFP_KERNEL); - if (!imxpd) - return -ENOMEM; + imxpd = dev_get_drvdata(dev); + memset(imxpd, 0, sizeof(*imxpd)); edidp = of_get_property(np, "edid", &imxpd->edid_len); if (edidp) @@ -359,8 +358,6 @@ if (ret) return ret; - dev_set_drvdata(dev, imxpd); - return 0; } @@ -382,6 +379,14 @@ static int imx_pd_probe(struct platform_device *pdev) { + struct imx_parallel_display *imxpd; + + imxpd = devm_kzalloc(&pdev->dev, sizeof(*imxpd), GFP_KERNEL); + if (!imxpd) + return -ENOMEM; + + platform_set_drvdata(pdev, imxpd); + return component_add(&pdev->dev, &imx_pd_ops); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ingenic/ingenic-drm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ingenic/ingenic-drm.c @@ -386,7 +386,7 @@ addr = drm_fb_cma_get_gem_addr(state->fb, state, 0); width = state->src_w >> 16; height = state->src_h >> 16; - cpp = state->fb->format->cpp[plane->index]; + cpp = state->fb->format->cpp[0]; priv->dma_hwdesc->addr = addr; priv->dma_hwdesc->cmd = width * height * cpp / 4; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/lima/lima_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/lima/lima_gem.c @@ -69,8 +69,7 @@ return ret; if (bo->base.sgt) { - dma_unmap_sg(dev, bo->base.sgt->sgl, - bo->base.sgt->nents, DMA_BIDIRECTIONAL); + dma_unmap_sgtable(dev, bo->base.sgt, DMA_BIDIRECTIONAL, 0); sg_free_table(bo->base.sgt); } else { bo->base.sgt = kmalloc(sizeof(*bo->base.sgt), GFP_KERNEL); @@ -80,7 +79,13 @@ } } - dma_map_sg(dev, sgt.sgl, sgt.nents, DMA_BIDIRECTIONAL); + ret = dma_map_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0); + if (ret) { + sg_free_table(&sgt); + kfree(bo->base.sgt); + bo->base.sgt = NULL; + return ret; + } *bo->base.sgt = sgt; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/lima/lima_sched.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/lima/lima_sched.c @@ -200,7 +200,7 @@ int ret; /* resume GPU if it has been suspended by runtime PM */ - ret = pm_runtime_get_sync(ldev->dev); + ret = pm_runtime_resume_and_get(ldev->dev); if (ret < 0) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/lima/lima_vm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/lima/lima_vm.c @@ -124,7 +124,7 @@ if (err) goto err_out1; - for_each_sg_dma_page(bo->base.sgt->sgl, &sg_iter, bo->base.sgt->nents, 0) { + for_each_sgtable_dma_page(bo->base.sgt, &sg_iter, 0) { err = lima_vm_map_page(vm, sg_page_iter_dma_address(&sg_iter), bo_va->node.start + offset); if (err) @@ -298,8 +298,7 @@ mutex_lock(&vm->lock); base = bo_va->node.start + (pageoff << PAGE_SHIFT); - for_each_sg_dma_page(bo->base.sgt->sgl, &sg_iter, - bo->base.sgt->nents, pageoff) { + for_each_sgtable_dma_page(bo->base.sgt, &sg_iter, pageoff) { err = lima_vm_map_page(vm, sg_page_iter_dma_address(&sg_iter), base + offset); if (err) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mcde/mcde_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mcde/mcde_drv.c @@ -382,8 +382,8 @@ } irq = platform_get_irq(pdev, 0); - if (!irq) { - ret = -EINVAL; + if (irq < 0) { + ret = irq; goto clk_disable; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_disp_ovl.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_disp_ovl.c @@ -266,7 +266,7 @@ } con = ovl_fmt_convert(ovl, fmt); - if (state->base.fb->format->has_alpha) + if (state->base.fb && state->base.fb->format->has_alpha) con |= OVL_CON_AEN | OVL_CON_ALPHA; if (pending->rotation & DRM_MODE_REFLECT_Y) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -485,7 +485,7 @@ mbox_flush(mtk_crtc->cmdq_client->chan, 2000); cmdq_handle = cmdq_pkt_create(mtk_crtc->cmdq_client, PAGE_SIZE); cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event); - cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event); + cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false); mtk_crtc_ddp_config(crtc, cmdq_handle); cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle); } @@ -834,13 +834,19 @@ drm_crtc_index(&mtk_crtc->base)); mtk_crtc->cmdq_client = NULL; } - ret = of_property_read_u32_index(priv->mutex_node, - "mediatek,gce-events", - drm_crtc_index(&mtk_crtc->base), - &mtk_crtc->cmdq_event); - if (ret) - dev_dbg(dev, "mtk_crtc %d failed to get mediatek,gce-events property\n", - drm_crtc_index(&mtk_crtc->base)); + + if (mtk_crtc->cmdq_client) { + ret = of_property_read_u32_index(priv->mutex_node, + "mediatek,gce-events", + drm_crtc_index(&mtk_crtc->base), + &mtk_crtc->cmdq_event); + if (ret) { + dev_dbg(dev, "mtk_crtc %d failed to get mediatek,gce-events property\n", + drm_crtc_index(&mtk_crtc->base)); + cmdq_mbox_destroy(mtk_crtc->cmdq_client); + mtk_crtc->cmdq_client = NULL; + } + } #endif return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c @@ -357,7 +357,7 @@ static const char * const mtk_ddp_comp_stem[MTK_DDP_COMP_TYPE_MAX] = { [MTK_DISP_OVL] = "ovl", - [MTK_DISP_OVL_2L] = "ovl_2l", + [MTK_DISP_OVL_2L] = "ovl-2l", [MTK_DISP_RDMA] = "rdma", [MTK_DISP_WDMA] = "wdma", [MTK_DISP_COLOR] = "color", @@ -496,6 +496,7 @@ #if IS_REACHABLE(CONFIG_MTK_CMDQ) if (of_address_to_resource(node, 0, &res) != 0) { dev_err(dev, "Missing reg in %s node\n", node->full_name); + put_device(&larb_pdev->dev); return -EINVAL; } comp->regs_pa = res.start; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -165,7 +165,7 @@ ret = drmm_mode_config_init(drm); if (ret) - return ret; + goto put_mutex_dev; drm->mode_config.min_width = 64; drm->mode_config.min_height = 64; @@ -182,7 +182,7 @@ ret = component_bind_all(drm->dev, drm); if (ret) - return ret; + goto put_mutex_dev; /* * We currently support two fixed data streams, each optional, @@ -229,7 +229,7 @@ } if (!dma_dev->dma_parms) { ret = -ENOMEM; - goto err_component_unbind; + goto put_dma_dev; } ret = dma_set_max_seg_size(dma_dev, (unsigned int)DMA_BIT_MASK(32)); @@ -256,9 +256,12 @@ err_unset_dma_parms: if (private->dma_parms_allocated) dma_dev->dma_parms = NULL; +put_dma_dev: + put_device(private->dma_dev); err_component_unbind: component_unbind_all(drm->dev, drm); - +put_mutex_dev: + put_device(private->mutex_dev); return ret; } @@ -544,8 +547,13 @@ pm_runtime_disable(dev); err_node: of_node_put(private->mutex_node); - for (i = 0; i < DDP_COMPONENT_ID_MAX; i++) + for (i = 0; i < DDP_COMPONENT_ID_MAX; i++) { of_node_put(private->comp_node[i]); + if (private->ddp_comp[i]) { + put_device(private->ddp_comp[i]->larb_dev); + private->ddp_comp[i] = NULL; + } + } return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -448,7 +448,10 @@ u32 horizontal_sync_active_byte; u32 horizontal_backporch_byte; u32 horizontal_frontporch_byte; + u32 horizontal_front_back_byte; + u32 data_phy_cycles_byte; u32 dsi_tmp_buf_bpp, data_phy_cycles; + u32 delta; struct mtk_phy_timing *timing = &dsi->phy_timing; struct videomode *vm = &dsi->vm; @@ -470,51 +473,30 @@ horizontal_sync_active_byte = (vm->hsync_len * dsi_tmp_buf_bpp - 10); if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) - horizontal_backporch_byte = - (vm->hback_porch * dsi_tmp_buf_bpp - 10); + horizontal_backporch_byte = vm->hback_porch * dsi_tmp_buf_bpp - 10; else - horizontal_backporch_byte = ((vm->hback_porch + vm->hsync_len) * - dsi_tmp_buf_bpp - 10); + horizontal_backporch_byte = (vm->hback_porch + vm->hsync_len) * + dsi_tmp_buf_bpp - 10; data_phy_cycles = timing->lpx + timing->da_hs_prepare + timing->da_hs_zero + timing->da_hs_exit + 3; - if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) { - if ((vm->hfront_porch + vm->hback_porch) * dsi_tmp_buf_bpp > - data_phy_cycles * dsi->lanes + 18) { - horizontal_frontporch_byte = - vm->hfront_porch * dsi_tmp_buf_bpp - - (data_phy_cycles * dsi->lanes + 18) * - vm->hfront_porch / - (vm->hfront_porch + vm->hback_porch); - - horizontal_backporch_byte = - horizontal_backporch_byte - - (data_phy_cycles * dsi->lanes + 18) * - vm->hback_porch / - (vm->hfront_porch + vm->hback_porch); - } else { - DRM_WARN("HFP less than d-phy, FPS will under 60Hz\n"); - horizontal_frontporch_byte = vm->hfront_porch * - dsi_tmp_buf_bpp; - } + delta = dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST ? 18 : 12; + + horizontal_frontporch_byte = vm->hfront_porch * dsi_tmp_buf_bpp; + horizontal_front_back_byte = horizontal_frontporch_byte + horizontal_backporch_byte; + data_phy_cycles_byte = data_phy_cycles * dsi->lanes + delta; + + if (horizontal_front_back_byte > data_phy_cycles_byte) { + horizontal_frontporch_byte -= data_phy_cycles_byte * + horizontal_frontporch_byte / + horizontal_front_back_byte; + + horizontal_backporch_byte -= data_phy_cycles_byte * + horizontal_backporch_byte / + horizontal_front_back_byte; } else { - if ((vm->hfront_porch + vm->hback_porch) * dsi_tmp_buf_bpp > - data_phy_cycles * dsi->lanes + 12) { - horizontal_frontporch_byte = - vm->hfront_porch * dsi_tmp_buf_bpp - - (data_phy_cycles * dsi->lanes + 12) * - vm->hfront_porch / - (vm->hfront_porch + vm->hback_porch); - horizontal_backporch_byte = horizontal_backporch_byte - - (data_phy_cycles * dsi->lanes + 12) * - vm->hback_porch / - (vm->hfront_porch + vm->hback_porch); - } else { - DRM_WARN("HFP less than d-phy, FPS will under 60Hz\n"); - horizontal_frontporch_byte = vm->hfront_porch * - dsi_tmp_buf_bpp; - } + DRM_WARN("HFP + HBP less than d-phy, FPS will under 60Hz\n"); } writel(horizontal_sync_active_byte, dsi->regs + DSI_HSA_WC); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1507,25 +1507,30 @@ dev_err(dev, "Failed to get system configuration registers: %d\n", ret); - return ret; + goto put_device; } hdmi->sys_regmap = regmap; mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); hdmi->regs = devm_ioremap_resource(dev, mem); - if (IS_ERR(hdmi->regs)) - return PTR_ERR(hdmi->regs); + if (IS_ERR(hdmi->regs)) { + ret = PTR_ERR(hdmi->regs); + goto put_device; + } remote = of_graph_get_remote_node(np, 1, 0); - if (!remote) - return -EINVAL; + if (!remote) { + ret = -EINVAL; + goto put_device; + } if (!of_device_is_compatible(remote, "hdmi-connector")) { hdmi->next_bridge = of_drm_find_bridge(remote); if (!hdmi->next_bridge) { dev_err(dev, "Waiting for external bridge\n"); of_node_put(remote); - return -EPROBE_DEFER; + ret = -EPROBE_DEFER; + goto put_device; } } @@ -1534,7 +1539,8 @@ dev_err(dev, "Failed to find ddc-i2c-bus node in %pOF\n", remote); of_node_put(remote); - return -EINVAL; + ret = -EINVAL; + goto put_device; } of_node_put(remote); @@ -1542,10 +1548,14 @@ of_node_put(i2c_np); if (!hdmi->ddc_adpt) { dev_err(dev, "Failed to get ddc i2c adapter by node\n"); - return -EINVAL; + ret = -EINVAL; + goto put_device; } return 0; +put_device: + put_device(hdmi->cec_dev); + return ret; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c @@ -84,8 +84,9 @@ hdmi_phy->conf->hdmi_phy_disable_tmds) return &mtk_hdmi_phy_dev_ops; - dev_err(hdmi_phy->dev, "Failed to get dev ops of phy\n"); - return NULL; + if (hdmi_phy) + dev_err(hdmi_phy->dev, "Failed to get dev ops of phy\n"); + return NULL; } static void mtk_hdmi_phy_clk_get_data(struct mtk_hdmi_phy *hdmi_phy, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/meson/meson_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/meson/meson_drv.c @@ -400,15 +400,17 @@ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_2); } + drm_dev_unregister(drm); + drm_kms_helper_poll_fini(drm); + drm_atomic_helper_shutdown(drm); + component_unbind_all(dev, drm); + drm_irq_uninstall(drm); + drm_dev_put(drm); + if (priv->afbcd.ops) { priv->afbcd.ops->reset(priv); meson_rdma_free(priv); } - - drm_dev_unregister(drm); - drm_irq_uninstall(drm); - drm_kms_helper_poll_fini(drm); - drm_dev_put(drm); } static const struct component_master_ops meson_drv_master_ops = { @@ -491,6 +493,16 @@ return count; } +static void meson_drv_shutdown(struct platform_device *pdev) +{ + struct meson_drm *priv = dev_get_drvdata(&pdev->dev); + struct drm_device *drm = priv->drm; + + DRM_DEBUG_DRIVER("\n"); + drm_kms_helper_poll_fini(drm); + drm_atomic_helper_shutdown(drm); +} + static int meson_drv_probe(struct platform_device *pdev) { struct component_match *match = NULL; @@ -562,6 +574,7 @@ static struct platform_driver meson_drm_platform_driver = { .probe = meson_drv_probe, + .shutdown = meson_drv_shutdown, .driver = { .name = "meson-drm", .of_match_table = dt_match, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -145,8 +145,6 @@ struct reset_control *hdmitx_apb; struct reset_control *hdmitx_ctrl; struct reset_control *hdmitx_phy; - struct clk *hdmi_pclk; - struct clk *venci_clk; struct regulator *hdmi_supply; u32 irq_stat; struct dw_hdmi *hdmi; @@ -938,6 +936,34 @@ } +static void meson_disable_regulator(void *data) +{ + regulator_disable(data); +} + +static void meson_disable_clk(void *data) +{ + clk_disable_unprepare(data); +} + +static int meson_enable_clk(struct device *dev, char *name) +{ + struct clk *clk; + int ret; + + clk = devm_clk_get(dev, name); + if (IS_ERR(clk)) { + dev_err(dev, "Unable to get %s pclk\n", name); + return PTR_ERR(clk); + } + + ret = clk_prepare_enable(clk); + if (!ret) + ret = devm_add_action_or_reset(dev, meson_disable_clk, clk); + + return ret; +} + static int meson_dw_hdmi_bind(struct device *dev, struct device *master, void *data) { @@ -986,6 +1012,10 @@ ret = regulator_enable(meson_dw_hdmi->hdmi_supply); if (ret) return ret; + ret = devm_add_action_or_reset(dev, meson_disable_regulator, + meson_dw_hdmi->hdmi_supply); + if (ret) + return ret; } meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev, @@ -1014,19 +1044,17 @@ if (IS_ERR(meson_dw_hdmi->hdmitx)) return PTR_ERR(meson_dw_hdmi->hdmitx); - meson_dw_hdmi->hdmi_pclk = devm_clk_get(dev, "isfr"); - if (IS_ERR(meson_dw_hdmi->hdmi_pclk)) { - dev_err(dev, "Unable to get HDMI pclk\n"); - return PTR_ERR(meson_dw_hdmi->hdmi_pclk); - } - clk_prepare_enable(meson_dw_hdmi->hdmi_pclk); - - meson_dw_hdmi->venci_clk = devm_clk_get(dev, "venci"); - if (IS_ERR(meson_dw_hdmi->venci_clk)) { - dev_err(dev, "Unable to get venci clk\n"); - return PTR_ERR(meson_dw_hdmi->venci_clk); - } - clk_prepare_enable(meson_dw_hdmi->venci_clk); + ret = meson_enable_clk(dev, "isfr"); + if (ret) + return ret; + + ret = meson_enable_clk(dev, "iahb"); + if (ret) + return ret; + + ret = meson_enable_clk(dev, "venci"); + if (ret) + return ret; dw_plat_data->regm = devm_regmap_init(dev, NULL, meson_dw_hdmi, &meson_dw_hdmi_regmap_config); @@ -1059,10 +1087,10 @@ encoder->possible_crtcs = BIT(0); - DRM_DEBUG_DRIVER("encoder initialized\n"); - meson_dw_hdmi_init(meson_dw_hdmi); + DRM_DEBUG_DRIVER("encoder initialized\n"); + /* Bridge / Connector */ dw_plat_data->mode_valid = dw_hdmi_mode_valid; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/Kconfig @@ -2,10 +2,8 @@ config DRM_MGAG200 tristate "Kernel modesetting driver for MGA G200 server engines" depends on DRM && PCI && MMU + select DRM_GEM_SHMEM_HELPER select DRM_KMS_HELPER - select DRM_VRAM_HELPER - select DRM_TTM - select DRM_TTM_HELPER help This is a KMS driver for the MGA G200 server chips, it does not support the original MGA G200 or any of the desktop --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/Makefile +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only -mgag200-y := mgag200_main.o mgag200_mode.o mgag200_cursor.o \ +mgag200-y := mgag200_main.o mgag200_mode.o \ mgag200_drv.o mgag200_i2c.o mgag200_ttm.o obj-$(CONFIG_DRM_MGAG200) += mgag200.o --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -22,15 +22,11 @@ * which then performs further device association and calls our graphics init * functions */ -int mgag200_modeset = -1; +int mgag200_modeset = -1; MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); module_param_named(modeset, mgag200_modeset, int, 0400); -int mgag200_hw_bug_no_startadd = -1; -MODULE_PARM_DESC(modeset, "HW does not interpret scanout-buffer start address correctly"); -module_param_named(hw_bug_no_startadd, mgag200_hw_bug_no_startadd, int, 0400); - static struct drm_driver driver; static const struct pci_device_id pciidlist[] = { @@ -101,46 +97,8 @@ DEFINE_DRM_GEM_FOPS(mgag200_driver_fops); -static bool mgag200_pin_bo_at_0(const struct mga_device *mdev) -{ - if (mgag200_hw_bug_no_startadd > 0) { - DRM_WARN_ONCE("Option hw_bug_no_startradd is enabled. Please " - "report the output of 'lspci -vvnn' to " - " if this " - "option is required to make mgag200 work " - "correctly on your system.\n"); - return true; - } else if (!mgag200_hw_bug_no_startadd) { - return false; - } - return mdev->flags & MGAG200_FLAG_HW_BUG_NO_STARTADD; -} - -int mgag200_driver_dumb_create(struct drm_file *file, - struct drm_device *dev, - struct drm_mode_create_dumb *args) -{ - struct mga_device *mdev = to_mga_device(dev); - unsigned long pg_align; - - if (WARN_ONCE(!dev->vram_mm, "VRAM MM not initialized")) - return -EINVAL; - - pg_align = 0ul; - - /* - * Aligning scanout buffers to the size of the video ram forces - * placement at offset 0. Works around a bug where HW does not - * respect 'startadd' field. - */ - if (mgag200_pin_bo_at_0(mdev)) - pg_align = PFN_UP(mdev->mc.vram_size); - - return drm_gem_vram_fill_create_dumb(file, dev, pg_align, 0, args); -} - static struct drm_driver driver = { - .driver_features = DRIVER_GEM | DRIVER_MODESET, + .driver_features = DRIVER_ATOMIC | DRIVER_GEM | DRIVER_MODESET, .fops = &mgag200_driver_fops, .name = DRIVER_NAME, .desc = DRIVER_DESC, @@ -148,10 +106,7 @@ .major = DRIVER_MAJOR, .minor = DRIVER_MINOR, .patchlevel = DRIVER_PATCHLEVEL, - .debugfs_init = drm_vram_mm_debugfs_init, - .dumb_create = mgag200_driver_dumb_create, - .dumb_map_offset = drm_gem_vram_driver_dumb_mmap_offset, - .gem_prime_mmap = drm_gem_prime_mmap, + DRM_GEM_SHMEM_DRIVER_OPS, }; static struct pci_driver mgag200_pci_driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_drv.h @@ -18,7 +18,8 @@ #include #include #include -#include +#include +#include #include "mgag200_reg.h" @@ -32,8 +33,6 @@ #define DRIVER_MINOR 0 #define DRIVER_PATCHLEVEL 0 -#define MGAG200FB_CONN_LIMIT 1 - #define RREG8(reg) ioread8(((void __iomem *)mdev->rmmio) + (reg)) #define WREG8(reg, v) iowrite8(v, ((void __iomem *)mdev->rmmio) + (reg)) #define RREG32(reg) ioread32(((void __iomem *)mdev->rmmio) + (reg)) @@ -49,6 +48,12 @@ WREG8(ATTR_DATA, v); \ } while (0) \ +#define RREG_SEQ(reg, v) \ + do { \ + WREG8(MGAREG_SEQ_INDEX, reg); \ + v = RREG8(MGAREG_SEQ_DATA); \ + } while (0) \ + #define WREG_SEQ(reg, v) \ do { \ WREG8(MGAREG_SEQ_INDEX, reg); \ @@ -61,6 +66,11 @@ WREG8(MGAREG_CRTC_DATA, v); \ } while (0) \ +#define RREG_ECRT(reg, v) \ + do { \ + WREG8(MGAREG_CRTCEXT_INDEX, reg); \ + v = RREG8(MGAREG_CRTCEXT_DATA); \ + } while (0) \ #define WREG_ECRT(reg, v) \ do { \ @@ -92,18 +102,8 @@ #define MGAG200_MAX_FB_HEIGHT 4096 #define MGAG200_MAX_FB_WIDTH 4096 -#define MATROX_DPMS_CLEARED (-1) - -#define to_mga_crtc(x) container_of(x, struct mga_crtc, base) #define to_mga_connector(x) container_of(x, struct mga_connector, base) -struct mga_crtc { - struct drm_crtc base; - u8 lut_r[256], lut_g[256], lut_b[256]; - int last_dpms; - bool enabled; -}; - struct mga_i2c_chan { struct i2c_adapter adapter; struct drm_device *dev; @@ -116,11 +116,6 @@ struct mga_i2c_chan *i2c; }; -struct mga_cursor { - struct drm_gem_vram_object *gbo[2]; - unsigned int next_index; -}; - struct mga_mc { resource_size_t vram_size; resource_size_t vram_base; @@ -156,11 +151,9 @@ struct mga_mc mc; - struct mga_cursor cursor; - - size_t vram_fb_available; + void __iomem *vram; + size_t vram_fb_available; - bool suspended; enum mga_type type; int has_sdram; @@ -172,7 +165,7 @@ u32 unique_rev_id; struct mga_connector connector; - struct drm_encoder encoder; + struct drm_simple_display_pipe display_pipe; }; static inline struct mga_device *to_mga_device(struct drm_device *dev) @@ -207,10 +200,4 @@ void mgag200_mm_fini(struct mga_device *mdev); int mgag200_mmap(struct file *filp, struct vm_area_struct *vma); -int mgag200_cursor_init(struct mga_device *mdev); -void mgag200_cursor_fini(struct mga_device *mdev); -int mgag200_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, - uint32_t handle, uint32_t width, uint32_t height); -int mgag200_crtc_cursor_move(struct drm_crtc *crtc, int x, int y); - #endif /* __MGAG200_DRV_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_main.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_main.c @@ -135,10 +135,6 @@ goto err_mgag200_mm_fini; } - ret = mgag200_cursor_init(mdev); - if (ret) - drm_err(dev, "Could not initialize cursors. Not doing hardware cursors.\n"); - return 0; err_mgag200_mm_fini: @@ -154,7 +150,6 @@ if (mdev == NULL) return; - mgag200_cursor_fini(mdev); mgag200_mm_fini(mdev); dev->dev_private = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_mode.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -11,10 +11,15 @@ #include #include +#include +#include #include +#include +#include #include #include #include +#include #include #include @@ -30,13 +35,18 @@ { struct drm_device *dev = crtc->dev; struct mga_device *mdev = to_mga_device(dev); - struct drm_framebuffer *fb = crtc->primary->fb; + struct drm_framebuffer *fb; u16 *r_ptr, *g_ptr, *b_ptr; int i; if (!crtc->enabled) return; + if (!mdev->display_pipe.plane.state) + return; + + fb = mdev->display_pipe.plane.state->fb; + r_ptr = crtc->gamma_store; g_ptr = r_ptr + crtc->gamma_size; b_ptr = g_ptr + crtc->gamma_size; @@ -704,6 +714,8 @@ static int mga_crtc_set_plls(struct mga_device *mdev, long clock) { + u8 misc; + switch(mdev->type) { case G200_SE_A: case G200_SE_B: @@ -724,6 +736,12 @@ return mga_g200er_set_plls(mdev, clock); break; } + + misc = RREG8(MGA_MISC_IN); + misc &= ~MGAREG_MISC_CLK_SEL_MASK; + misc |= MGAREG_MISC_CLK_SEL_MGA_MSK; + WREG8(MGA_MISC_OUT, misc); + return 0; } @@ -819,102 +837,91 @@ } /* - This is how the framebuffer base address is stored in g200 cards: - * Assume @offset is the gpu_addr variable of the framebuffer object - * Then addr is the number of _pixels_ (not bytes) from the start of - VRAM to the first pixel we want to display. (divided by 2 for 32bit - framebuffers) - * addr is stored in the CRTCEXT0, CRTCC and CRTCD registers - addr<20> -> CRTCEXT0<6> - addr<19-16> -> CRTCEXT0<3-0> - addr<15-8> -> CRTCC<7-0> - addr<7-0> -> CRTCD<7-0> - CRTCEXT0 has to be programmed last to trigger an update and make the - new addr variable take effect. + * This is how the framebuffer base address is stored in g200 cards: + * * Assume @offset is the gpu_addr variable of the framebuffer object + * * Then addr is the number of _pixels_ (not bytes) from the start of + * VRAM to the first pixel we want to display. (divided by 2 for 32bit + * framebuffers) + * * addr is stored in the CRTCEXT0, CRTCC and CRTCD registers + * addr<20> -> CRTCEXT0<6> + * addr<19-16> -> CRTCEXT0<3-0> + * addr<15-8> -> CRTCC<7-0> + * addr<7-0> -> CRTCD<7-0> + * + * CRTCEXT0 has to be programmed last to trigger an update and make the + * new addr variable take effect. */ -static void mga_set_start_address(struct drm_crtc *crtc, unsigned offset) +static void mgag200_set_startadd(struct mga_device *mdev, + unsigned long offset) { - struct mga_device *mdev = to_mga_device(crtc->dev); - u32 addr; - int count; - u8 crtcext0; - - while (RREG8(0x1fda) & 0x08); - while (!(RREG8(0x1fda) & 0x08)); - - count = RREG8(MGAREG_VCOUNT) + 2; - while (RREG8(MGAREG_VCOUNT) < count); - - WREG8(MGAREG_CRTCEXT_INDEX, 0); - crtcext0 = RREG8(MGAREG_CRTCEXT_DATA); - crtcext0 &= 0xB0; - addr = offset / 8; - /* Can't store addresses any higher than that... - but we also don't have more than 16MB of memory, so it should be fine. */ - WARN_ON(addr > 0x1fffff); - crtcext0 |= (!!(addr & (1<<20)))<<6; - WREG_CRT(0x0d, (u8)(addr & 0xff)); - WREG_CRT(0x0c, (u8)(addr >> 8) & 0xff); - WREG_ECRT(0x0, ((u8)(addr >> 16) & 0xf) | crtcext0); -} - -static int mga_crtc_do_set_base(struct drm_crtc *crtc, - struct drm_framebuffer *fb, - int x, int y, int atomic) -{ - struct drm_gem_vram_object *gbo; - int ret; - s64 gpu_addr; - - if (!atomic && fb) { - gbo = drm_gem_vram_of_gem(fb->obj[0]); - drm_gem_vram_unpin(gbo); - } + struct drm_device *dev = mdev->dev; + u32 startadd; + u8 crtcc, crtcd, crtcext0; - gbo = drm_gem_vram_of_gem(crtc->primary->fb->obj[0]); + startadd = offset / 8; - ret = drm_gem_vram_pin(gbo, DRM_GEM_VRAM_PL_FLAG_VRAM); - if (ret) - return ret; - gpu_addr = drm_gem_vram_offset(gbo); - if (gpu_addr < 0) { - ret = (int)gpu_addr; - goto err_drm_gem_vram_unpin; - } + /* + * Can't store addresses any higher than that, but we also + * don't have more than 16 MiB of memory, so it should be fine. + */ + drm_WARN_ON(dev, startadd > 0x1fffff); - mga_set_start_address(crtc, (u32)gpu_addr); + RREG_ECRT(0x00, crtcext0); - return 0; + crtcc = (startadd >> 8) & 0xff; + crtcd = startadd & 0xff; + crtcext0 &= 0xb0; + crtcext0 |= ((startadd >> 14) & BIT(6)) | + ((startadd >> 16) & 0x0f); -err_drm_gem_vram_unpin: - drm_gem_vram_unpin(gbo); - return ret; + WREG_CRT(0x0c, crtcc); + WREG_CRT(0x0d, crtcd); + WREG_ECRT(0x00, crtcext0); } -static int mga_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, - struct drm_framebuffer *old_fb) +static void mgag200_set_pci_regs(struct mga_device *mdev) { - return mga_crtc_do_set_base(crtc, old_fb, x, y, 0); + uint32_t option = 0, option2 = 0; + struct drm_device *dev = mdev->dev; + + switch (mdev->type) { + case G200_SE_A: + case G200_SE_B: + if (mdev->has_sdram) + option = 0x40049120; + else + option = 0x4004d120; + option2 = 0x00008000; + break; + case G200_WB: + case G200_EW3: + option = 0x41049120; + option2 = 0x0000b000; + break; + case G200_EV: + option = 0x00000120; + option2 = 0x0000b000; + break; + case G200_EH: + case G200_EH3: + option = 0x00000120; + option2 = 0x0000b000; + break; + case G200_ER: + break; + } + + if (option) + pci_write_config_dword(dev->pdev, PCI_MGA_OPTION, option); + + if (option2) + pci_write_config_dword(dev->pdev, PCI_MGA_OPTION2, option2); } -static int mga_crtc_mode_set(struct drm_crtc *crtc, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode, - int x, int y, struct drm_framebuffer *old_fb) +static void mgag200_set_dac_regs(struct mga_device *mdev) { - struct drm_device *dev = crtc->dev; - struct mga_device *mdev = to_mga_device(dev); - const struct drm_framebuffer *fb = crtc->primary->fb; - int hdisplay, hsyncstart, hsyncend, htotal; - int vdisplay, vsyncstart, vsyncend, vtotal; - int pitch; - int option = 0, option2 = 0; - int i; - unsigned char misc = 0; - unsigned char ext_vga[6]; - u8 bppshift; - - static unsigned char dacvalue[] = { + size_t i; + u8 dacvalue[] = { /* 0x00: */ 0, 0, 0, 0, 0, 0, 0x00, 0, /* 0x08: */ 0, 0, 0, 0, 0, 0, 0, 0, /* 0x10: */ 0, 0, 0, 0, 0, 0, 0, 0, @@ -927,8 +934,6 @@ /* 0x48: */ 0, 0, 0, 0, 0, 0, 0, 0 }; - bppshift = mdev->bpp_shifts[fb->format->cpp[0] - 1]; - switch (mdev->type) { case G200_SE_A: case G200_SE_B: @@ -937,61 +942,26 @@ dacvalue[MGA1064_MISC_CTL] = MGA1064_MISC_CTL_DAC_EN | MGA1064_MISC_CTL_VGA8 | MGA1064_MISC_CTL_DAC_RAM_CS; - if (mdev->has_sdram) - option = 0x40049120; - else - option = 0x4004d120; - option2 = 0x00008000; break; case G200_WB: case G200_EW3: dacvalue[MGA1064_VREF_CTL] = 0x07; - option = 0x41049120; - option2 = 0x0000b000; break; case G200_EV: dacvalue[MGA1064_PIX_CLK_CTL] = MGA1064_PIX_CLK_CTL_SEL_PLL; dacvalue[MGA1064_MISC_CTL] = MGA1064_MISC_CTL_VGA8 | MGA1064_MISC_CTL_DAC_RAM_CS; - option = 0x00000120; - option2 = 0x0000b000; break; case G200_EH: case G200_EH3: dacvalue[MGA1064_MISC_CTL] = MGA1064_MISC_CTL_VGA8 | MGA1064_MISC_CTL_DAC_RAM_CS; - option = 0x00000120; - option2 = 0x0000b000; break; case G200_ER: break; } - switch (fb->format->cpp[0] * 8) { - case 8: - dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_8bits; - break; - case 16: - if (fb->format->depth == 15) - dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_15bits; - else - dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_16bits; - break; - case 24: - dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_24bits; - break; - case 32: - dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_32_24bits; - break; - } - - if (mode->flags & DRM_MODE_FLAG_NHSYNC) - misc |= 0x40; - if (mode->flags & DRM_MODE_FLAG_NVSYNC) - misc |= 0x80; - - - for (i = 0; i < sizeof(dacvalue); i++) { + for (i = 0; i < ARRAY_SIZE(dacvalue); i++) { if ((i <= 0x17) || (i == 0x1b) || (i == 0x1c) || @@ -1014,21 +984,53 @@ if (mdev->type == G200_ER) WREG_DAC(0x90, 0); +} - if (option) - pci_write_config_dword(dev->pdev, PCI_MGA_OPTION, option); - if (option2) - pci_write_config_dword(dev->pdev, PCI_MGA_OPTION2, option2); +static void mgag200_init_regs(struct mga_device *mdev) +{ + u8 crtcext3, crtcext4, misc; - WREG_SEQ(2, 0xf); - WREG_SEQ(3, 0); - WREG_SEQ(4, 0xe); + mgag200_set_pci_regs(mdev); + mgag200_set_dac_regs(mdev); - pitch = fb->pitches[0] / fb->format->cpp[0]; - if (fb->format->cpp[0] * 8 == 24) - pitch = (pitch * 3) >> (4 - bppshift); - else - pitch = pitch >> (4 - bppshift); + WREG_SEQ(2, 0x0f); + WREG_SEQ(3, 0x00); + WREG_SEQ(4, 0x0e); + + WREG_CRT(10, 0); + WREG_CRT(11, 0); + WREG_CRT(12, 0); + WREG_CRT(13, 0); + WREG_CRT(14, 0); + WREG_CRT(15, 0); + + RREG_ECRT(0x03, crtcext3); + + crtcext3 |= BIT(7); /* enable MGA mode */ + crtcext4 = 0x00; + + WREG_ECRT(0x03, crtcext3); + WREG_ECRT(0x04, crtcext4); + + if (mdev->type == G200_ER) + WREG_ECRT(0x24, 0x5); + + if (mdev->type == G200_EW3) + WREG_ECRT(0x34, 0x5); + + misc = RREG8(MGA_MISC_IN); + misc |= MGAREG_MISC_IOADSEL | + MGAREG_MISC_RAMMAPEN | + MGAREG_MISC_HIGH_PG_SEL; + WREG8(MGA_MISC_OUT, misc); +} + +static void mgag200_set_mode_regs(struct mga_device *mdev, + const struct drm_display_mode *mode) +{ + unsigned int hdisplay, hsyncstart, hsyncend, htotal; + unsigned int vdisplay, vsyncstart, vsyncend, vtotal; + u8 misc, crtcext1, crtcext2, crtcext5; hdisplay = mode->hdisplay / 8 - 1; hsyncstart = mode->hsync_start / 8 - 1; @@ -1044,15 +1046,32 @@ vsyncend = mode->vsync_end - 1; vtotal = mode->vtotal - 2; - WREG_GFX(0, 0); - WREG_GFX(1, 0); - WREG_GFX(2, 0); - WREG_GFX(3, 0); - WREG_GFX(4, 0); - WREG_GFX(5, 0x40); - WREG_GFX(6, 0x5); - WREG_GFX(7, 0xf); - WREG_GFX(8, 0xf); + misc = RREG8(MGA_MISC_IN); + + if (mode->flags & DRM_MODE_FLAG_NHSYNC) + misc |= MGAREG_MISC_HSYNCPOL; + else + misc &= ~MGAREG_MISC_HSYNCPOL; + + if (mode->flags & DRM_MODE_FLAG_NVSYNC) + misc |= MGAREG_MISC_VSYNCPOL; + else + misc &= ~MGAREG_MISC_VSYNCPOL; + + crtcext1 = (((htotal - 4) & 0x100) >> 8) | + ((hdisplay & 0x100) >> 7) | + ((hsyncstart & 0x100) >> 6) | + (htotal & 0x40); + if (mdev->type == G200_WB || mdev->type == G200_EW3) + crtcext1 |= BIT(7) | /* vrsten */ + BIT(3); /* hrsten */ + + crtcext2 = ((vtotal & 0xc00) >> 10) | + ((vdisplay & 0x400) >> 8) | + ((vdisplay & 0xc00) >> 7) | + ((vsyncstart & 0xc00) >> 5) | + ((vdisplay & 0x400) >> 3); + crtcext5 = 0x00; WREG_CRT(0, htotal - 4); WREG_CRT(1, hdisplay); @@ -1066,197 +1085,209 @@ ((vsyncstart & 0x100) >> 6) | ((vdisplay & 0x100) >> 5) | ((vdisplay & 0x100) >> 4) | /* linecomp */ - ((vtotal & 0x200) >> 4)| + ((vtotal & 0x200) >> 4) | ((vdisplay & 0x200) >> 3) | ((vsyncstart & 0x200) >> 2)); WREG_CRT(9, ((vdisplay & 0x200) >> 4) | ((vdisplay & 0x200) >> 3)); - WREG_CRT(10, 0); - WREG_CRT(11, 0); - WREG_CRT(12, 0); - WREG_CRT(13, 0); - WREG_CRT(14, 0); - WREG_CRT(15, 0); WREG_CRT(16, vsyncstart & 0xFF); WREG_CRT(17, (vsyncend & 0x0F) | 0x20); WREG_CRT(18, vdisplay & 0xFF); - WREG_CRT(19, pitch & 0xFF); WREG_CRT(20, 0); WREG_CRT(21, vdisplay & 0xFF); WREG_CRT(22, (vtotal + 1) & 0xFF); WREG_CRT(23, 0xc3); WREG_CRT(24, vdisplay & 0xFF); - ext_vga[0] = 0; - ext_vga[5] = 0; + WREG_ECRT(0x01, crtcext1); + WREG_ECRT(0x02, crtcext2); + WREG_ECRT(0x05, crtcext5); + + WREG8(MGA_MISC_OUT, misc); + + mga_crtc_set_plls(mdev, mode->clock); +} + +static u8 mgag200_get_bpp_shift(struct mga_device *mdev, + const struct drm_format_info *format) +{ + return mdev->bpp_shifts[format->cpp[0] - 1]; +} - /* TODO interlace */ +/* + * Calculates the HW offset value from the framebuffer's pitch. The + * offset is a multiple of the pixel size and depends on the display + * format. + */ +static u32 mgag200_calculate_offset(struct mga_device *mdev, + const struct drm_framebuffer *fb) +{ + u32 offset = fb->pitches[0] / fb->format->cpp[0]; + u8 bppshift = mgag200_get_bpp_shift(mdev, fb->format); - ext_vga[0] |= (pitch & 0x300) >> 4; - ext_vga[1] = (((htotal - 4) & 0x100) >> 8) | - ((hdisplay & 0x100) >> 7) | - ((hsyncstart & 0x100) >> 6) | - (htotal & 0x40); - ext_vga[2] = ((vtotal & 0xc00) >> 10) | - ((vdisplay & 0x400) >> 8) | - ((vdisplay & 0xc00) >> 7) | - ((vsyncstart & 0xc00) >> 5) | - ((vdisplay & 0x400) >> 3); if (fb->format->cpp[0] * 8 == 24) - ext_vga[3] = (((1 << bppshift) * 3) - 1) | 0x80; + offset = (offset * 3) >> (4 - bppshift); else - ext_vga[3] = ((1 << bppshift) - 1) | 0x80; - ext_vga[4] = 0; - if (mdev->type == G200_WB || mdev->type == G200_EW3) - ext_vga[1] |= 0x88; + offset = offset >> (4 - bppshift); - /* Set pixel clocks */ - misc = 0x2d; - WREG8(MGA_MISC_OUT, misc); - - mga_crtc_set_plls(mdev, mode->clock); + return offset; +} - for (i = 0; i < 6; i++) { - WREG_ECRT(i, ext_vga[i]); - } +static void mgag200_set_offset(struct mga_device *mdev, + const struct drm_framebuffer *fb) +{ + u8 crtc13, crtcext0; + u32 offset = mgag200_calculate_offset(mdev, fb); - if (mdev->type == G200_ER) - WREG_ECRT(0x24, 0x5); + RREG_ECRT(0, crtcext0); - if (mdev->type == G200_EW3) - WREG_ECRT(0x34, 0x5); + crtc13 = offset & 0xff; - if (mdev->type == G200_EV) { - WREG_ECRT(6, 0); - } + crtcext0 &= ~MGAREG_CRTCEXT0_OFFSET_MASK; + crtcext0 |= (offset >> 4) & MGAREG_CRTCEXT0_OFFSET_MASK; - WREG_ECRT(0, ext_vga[0]); - /* Enable mga pixel clock */ - misc = 0x2d; + WREG_CRT(0x13, crtc13); + WREG_ECRT(0x00, crtcext0); +} - WREG8(MGA_MISC_OUT, misc); +static void mgag200_set_format_regs(struct mga_device *mdev, + const struct drm_framebuffer *fb) +{ + struct drm_device *dev = mdev->dev; + const struct drm_format_info *format = fb->format; + unsigned int bpp, bppshift, scale; + u8 crtcext3, xmulctrl; - mga_crtc_do_set_base(crtc, old_fb, x, y, 0); + bpp = format->cpp[0] * 8; - /* reset tagfifo */ - if (mdev->type == G200_ER) { - u32 mem_ctl = RREG32(MGAREG_MEMCTL); - u8 seq1; - - /* screen off */ - WREG8(MGAREG_SEQ_INDEX, 0x01); - seq1 = RREG8(MGAREG_SEQ_DATA) | 0x20; - WREG8(MGAREG_SEQ_DATA, seq1); + bppshift = mgag200_get_bpp_shift(mdev, format); + switch (bpp) { + case 24: + scale = ((1 << bppshift) * 3) - 1; + break; + default: + scale = (1 << bppshift) - 1; + break; + } - WREG32(MGAREG_MEMCTL, mem_ctl | 0x00200000); - udelay(1000); - WREG32(MGAREG_MEMCTL, mem_ctl & ~0x00200000); + RREG_ECRT(3, crtcext3); - WREG8(MGAREG_SEQ_DATA, seq1 & ~0x20); + switch (bpp) { + case 8: + xmulctrl = MGA1064_MUL_CTL_8bits; + break; + case 16: + if (format->depth == 15) + xmulctrl = MGA1064_MUL_CTL_15bits; + else + xmulctrl = MGA1064_MUL_CTL_16bits; + break; + case 24: + xmulctrl = MGA1064_MUL_CTL_24bits; + break; + case 32: + xmulctrl = MGA1064_MUL_CTL_32_24bits; + break; + default: + /* BUG: We should have caught this problem already. */ + drm_WARN_ON(dev, "invalid format depth\n"); + return; } + crtcext3 &= ~GENMASK(2, 0); + crtcext3 |= scale; - if (IS_G200_SE(mdev)) { - if (mdev->unique_rev_id >= 0x04) { - WREG8(MGAREG_CRTCEXT_INDEX, 0x06); - WREG8(MGAREG_CRTCEXT_DATA, 0); - } else if (mdev->unique_rev_id >= 0x02) { - u8 hi_pri_lvl; - u32 bpp; - u32 mb; - - if (fb->format->cpp[0] * 8 > 16) - bpp = 32; - else if (fb->format->cpp[0] * 8 > 8) - bpp = 16; - else - bpp = 8; + WREG_DAC(MGA1064_MUL_CTL, xmulctrl); - mb = (mode->clock * bpp) / 1000; - if (mb > 3100) - hi_pri_lvl = 0; - else if (mb > 2600) - hi_pri_lvl = 1; - else if (mb > 1900) - hi_pri_lvl = 2; - else if (mb > 1160) - hi_pri_lvl = 3; - else if (mb > 440) - hi_pri_lvl = 4; - else - hi_pri_lvl = 5; + WREG_GFX(0, 0x00); + WREG_GFX(1, 0x00); + WREG_GFX(2, 0x00); + WREG_GFX(3, 0x00); + WREG_GFX(4, 0x00); + WREG_GFX(5, 0x40); + WREG_GFX(6, 0x05); + WREG_GFX(7, 0x0f); + WREG_GFX(8, 0x0f); - WREG8(MGAREG_CRTCEXT_INDEX, 0x06); - WREG8(MGAREG_CRTCEXT_DATA, hi_pri_lvl); - } else { - WREG8(MGAREG_CRTCEXT_INDEX, 0x06); - if (mdev->unique_rev_id >= 0x01) - WREG8(MGAREG_CRTCEXT_DATA, 0x03); - else - WREG8(MGAREG_CRTCEXT_DATA, 0x04); - } - } - return 0; + WREG_ECRT(3, crtcext3); } -#if 0 /* code from mjg to attempt D3 on crtc dpms off - revisit later */ -static int mga_suspend(struct drm_crtc *crtc) +static void mgag200_g200er_reset_tagfifo(struct mga_device *mdev) { - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - struct drm_device *dev = crtc->dev; - struct mga_device *mdev = dev->dev_private; - struct pci_dev *pdev = dev->pdev; - int option; + static uint32_t RESET_FLAG = 0x00200000; /* undocumented magic value */ + u8 seq1; + u32 memctl; - if (mdev->suspended) - return 0; + /* screen off */ + RREG_SEQ(0x01, seq1); + seq1 |= MGAREG_SEQ1_SCROFF; + WREG_SEQ(0x01, seq1); - WREG_SEQ(1, 0x20); - WREG_ECRT(1, 0x30); - /* Disable the pixel clock */ - WREG_DAC(0x1a, 0x05); - /* Power down the DAC */ - WREG_DAC(0x1e, 0x18); - /* Power down the pixel PLL */ - WREG_DAC(0x1a, 0x0d); - - /* Disable PLLs and clocks */ - pci_read_config_dword(pdev, PCI_MGA_OPTION, &option); - option &= ~(0x1F8024); - pci_write_config_dword(pdev, PCI_MGA_OPTION, option); - pci_set_power_state(pdev, PCI_D3hot); - pci_disable_device(pdev); + memctl = RREG32(MGAREG_MEMCTL); - mdev->suspended = true; + memctl |= RESET_FLAG; + WREG32(MGAREG_MEMCTL, memctl); - return 0; + udelay(1000); + + memctl &= ~RESET_FLAG; + WREG32(MGAREG_MEMCTL, memctl); + + /* screen on */ + RREG_SEQ(0x01, seq1); + seq1 &= ~MGAREG_SEQ1_SCROFF; + WREG_SEQ(0x01, seq1); } -static int mga_resume(struct drm_crtc *crtc) +static void mgag200_g200se_set_hiprilvl(struct mga_device *mdev, + const struct drm_display_mode *mode, + const struct drm_framebuffer *fb) { - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - struct drm_device *dev = crtc->dev; - struct mga_device *mdev = dev->dev_private; - struct pci_dev *pdev = dev->pdev; - int option; + unsigned int hiprilvl; + u8 crtcext6; - if (!mdev->suspended) - return 0; + if (mdev->unique_rev_id >= 0x04) { + hiprilvl = 0; + } else if (mdev->unique_rev_id >= 0x02) { + unsigned int bpp; + unsigned long mb; + + if (fb->format->cpp[0] * 8 > 16) + bpp = 32; + else if (fb->format->cpp[0] * 8 > 8) + bpp = 16; + else + bpp = 8; - pci_set_power_state(pdev, PCI_D0); - pci_enable_device(pdev); + mb = (mode->clock * bpp) / 1000; + if (mb > 3100) + hiprilvl = 0; + else if (mb > 2600) + hiprilvl = 1; + else if (mb > 1900) + hiprilvl = 2; + else if (mb > 1160) + hiprilvl = 3; + else if (mb > 440) + hiprilvl = 4; + else + hiprilvl = 5; - /* Disable sysclk */ - pci_read_config_dword(pdev, PCI_MGA_OPTION, &option); - option &= ~(0x4); - pci_write_config_dword(pdev, PCI_MGA_OPTION, option); + } else if (mdev->unique_rev_id >= 0x01) { + hiprilvl = 3; + } else { + hiprilvl = 4; + } - mdev->suspended = false; + crtcext6 = hiprilvl; /* implicitly sets maxhipri to 0 */ - return 0; + WREG_ECRT(0x06, crtcext6); } -#endif +static void mgag200_g200ev_set_hiprilvl(struct mga_device *mdev) +{ + WREG_ECRT(0x06, 0x00); +} static void mga_crtc_dpms(struct drm_crtc *crtc, int mode) { @@ -1284,11 +1315,6 @@ break; } -#if 0 - if (mode == DRM_MODE_DPMS_OFF) { - mga_suspend(crtc); - } -#endif WREG8(MGAREG_SEQ_INDEX, 0x01); seq1 |= RREG8(MGAREG_SEQ_DATA) & ~0x20; mga_wait_vsync(mdev); @@ -1298,13 +1324,6 @@ WREG8(MGAREG_CRTCEXT_INDEX, 0x01); crtcext1 |= RREG8(MGAREG_CRTCEXT_DATA) & ~0x30; WREG8(MGAREG_CRTCEXT_DATA, crtcext1); - -#if 0 - if (mode == DRM_MODE_DPMS_ON && mdev->suspended == true) { - mga_resume(crtc); - drm_helper_resume_force_mode(dev); - } -#endif } /* @@ -1352,7 +1371,6 @@ { struct drm_device *dev = crtc->dev; struct mga_device *mdev = to_mga_device(dev); - const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; u8 tmp; if (mdev->type == G200_WB || mdev->type == G200_EW3) @@ -1371,81 +1389,7 @@ WREG_SEQ(0x1, tmp); WREG_SEQ(0, 3); } - crtc_funcs->dpms(crtc, DRM_MODE_DPMS_ON); -} - -/* - * The core can pass us a set of gamma values to program. We actually only - * use this for 8-bit mode so can't perform smooth fades on deeper modes, - * but it's a requirement that we provide the function - */ -static int mga_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, uint32_t size, - struct drm_modeset_acquire_ctx *ctx) -{ - mga_crtc_load_lut(crtc); - - return 0; -} - -/* Simple cleanup function */ -static void mga_crtc_destroy(struct drm_crtc *crtc) -{ - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - - drm_crtc_cleanup(crtc); - kfree(mga_crtc); -} - -static void mga_crtc_disable(struct drm_crtc *crtc) -{ - DRM_DEBUG_KMS("\n"); - mga_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); - if (crtc->primary->fb) { - struct drm_framebuffer *fb = crtc->primary->fb; - struct drm_gem_vram_object *gbo = - drm_gem_vram_of_gem(fb->obj[0]); - drm_gem_vram_unpin(gbo); - } - crtc->primary->fb = NULL; -} - -/* These provide the minimum set of functions required to handle a CRTC */ -static const struct drm_crtc_funcs mga_crtc_funcs = { - .cursor_set = mgag200_crtc_cursor_set, - .cursor_move = mgag200_crtc_cursor_move, - .gamma_set = mga_crtc_gamma_set, - .set_config = drm_crtc_helper_set_config, - .destroy = mga_crtc_destroy, -}; - -static const struct drm_crtc_helper_funcs mga_helper_funcs = { - .disable = mga_crtc_disable, - .dpms = mga_crtc_dpms, - .mode_set = mga_crtc_mode_set, - .mode_set_base = mga_crtc_mode_set_base, - .prepare = mga_crtc_prepare, - .commit = mga_crtc_commit, -}; - -/* CRTC setup */ -static void mga_crtc_init(struct mga_device *mdev) -{ - struct drm_device *dev = mdev->dev; - struct mga_crtc *mga_crtc; - - mga_crtc = kzalloc(sizeof(struct mga_crtc) + - (MGAG200FB_CONN_LIMIT * sizeof(struct drm_connector *)), - GFP_KERNEL); - - if (mga_crtc == NULL) - return; - - drm_crtc_init(dev, &mga_crtc->base, &mga_crtc_funcs); - - drm_mode_crtc_set_gamma_size(&mga_crtc->base, MGAG200_LUT_SIZE); - - drm_crtc_helper_add(&mga_crtc->base, &mga_helper_funcs); + mga_crtc_dpms(crtc, DRM_MODE_DPMS_ON); } /* @@ -1579,14 +1523,16 @@ } static const struct drm_connector_helper_funcs mga_vga_connector_helper_funcs = { - .get_modes = mga_vga_get_modes, + .get_modes = mga_vga_get_modes, .mode_valid = mga_vga_mode_valid, }; static const struct drm_connector_funcs mga_vga_connector_funcs = { - .dpms = drm_helper_connector_dpms, - .fill_modes = drm_helper_probe_single_connector_modes, - .destroy = mga_connector_destroy, + .reset = drm_atomic_helper_connector_reset, + .fill_modes = drm_helper_probe_single_connector_modes, + .destroy = mga_connector_destroy, + .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, + .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, }; static int mgag200_vga_connector_init(struct mga_device *mdev) @@ -1618,8 +1564,148 @@ return ret; } +/* + * Simple Display Pipe + */ + +static enum drm_mode_status +mgag200_simple_display_pipe_mode_valid(struct drm_simple_display_pipe *pipe, + const struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static void +mgag200_handle_damage(struct mga_device *mdev, struct drm_framebuffer *fb, + struct drm_rect *clip) +{ + struct drm_device *dev = mdev->dev; + void *vmap; + + vmap = drm_gem_shmem_vmap(fb->obj[0]); + if (drm_WARN_ON(dev, !vmap)) + return; /* BUG: SHMEM BO should always be vmapped */ + + drm_fb_memcpy_dstclip(mdev->vram, vmap, fb, clip); + + drm_gem_shmem_vunmap(fb->obj[0], vmap); + + /* Always scanout image at VRAM offset 0 */ + mgag200_set_startadd(mdev, (u32)0); + mgag200_set_offset(mdev, fb); +} + +static void +mgag200_simple_display_pipe_enable(struct drm_simple_display_pipe *pipe, + struct drm_crtc_state *crtc_state, + struct drm_plane_state *plane_state) +{ + struct drm_crtc *crtc = &pipe->crtc; + struct drm_device *dev = crtc->dev; + struct mga_device *mdev = to_mga_device(dev); + struct drm_display_mode *adjusted_mode = &crtc_state->adjusted_mode; + struct drm_framebuffer *fb = plane_state->fb; + struct drm_rect fullscreen = { + .x1 = 0, + .x2 = fb->width, + .y1 = 0, + .y2 = fb->height, + }; + + mga_crtc_prepare(crtc); + + mgag200_set_format_regs(mdev, fb); + mgag200_set_mode_regs(mdev, adjusted_mode); + + if (mdev->type == G200_ER) + mgag200_g200er_reset_tagfifo(mdev); + + if (IS_G200_SE(mdev)) + mgag200_g200se_set_hiprilvl(mdev, adjusted_mode, fb); + else if (mdev->type == G200_EV) + mgag200_g200ev_set_hiprilvl(mdev); + + mga_crtc_commit(crtc); + + mgag200_handle_damage(mdev, fb, &fullscreen); +} + +static void +mgag200_simple_display_pipe_disable(struct drm_simple_display_pipe *pipe) +{ + struct drm_crtc *crtc = &pipe->crtc; + + mga_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); +} + +static int +mgag200_simple_display_pipe_check(struct drm_simple_display_pipe *pipe, + struct drm_plane_state *plane_state, + struct drm_crtc_state *crtc_state) +{ + struct drm_plane *plane = plane_state->plane; + struct drm_framebuffer *new_fb = plane_state->fb; + struct drm_framebuffer *fb = NULL; + + if (!new_fb) + return 0; + + if (plane->state) + fb = plane->state->fb; + + if (!fb || (fb->format != new_fb->format)) + crtc_state->mode_changed = true; /* update PLL settings */ + + return 0; +} + +static void +mgag200_simple_display_pipe_update(struct drm_simple_display_pipe *pipe, + struct drm_plane_state *old_state) +{ + struct drm_plane *plane = &pipe->plane; + struct drm_device *dev = plane->dev; + struct mga_device *mdev = to_mga_device(dev); + struct drm_plane_state *state = plane->state; + struct drm_framebuffer *fb = state->fb; + struct drm_rect damage; + + if (!fb) + return; + + if (drm_atomic_helper_damage_merged(old_state, state, &damage)) + mgag200_handle_damage(mdev, fb, &damage); +} + +static const struct drm_simple_display_pipe_funcs +mgag200_simple_display_pipe_funcs = { + .mode_valid = mgag200_simple_display_pipe_mode_valid, + .enable = mgag200_simple_display_pipe_enable, + .disable = mgag200_simple_display_pipe_disable, + .check = mgag200_simple_display_pipe_check, + .update = mgag200_simple_display_pipe_update, + .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb, +}; + +static const uint32_t mgag200_simple_display_pipe_formats[] = { + DRM_FORMAT_XRGB8888, + DRM_FORMAT_RGB565, + DRM_FORMAT_RGB888, +}; + +static const uint64_t mgag200_simple_display_pipe_fmtmods[] = { + DRM_FORMAT_MOD_LINEAR, + DRM_FORMAT_MOD_INVALID +}; + +/* + * Mode config + */ + static const struct drm_mode_config_funcs mgag200_mode_config_funcs = { - .fb_create = drm_gem_fb_create + .fb_create = drm_gem_fb_create_with_dirty, + .atomic_check = drm_atomic_helper_check, + .atomic_commit = drm_atomic_helper_commit, }; static unsigned int mgag200_preferred_depth(struct mga_device *mdev) @@ -1633,8 +1719,9 @@ int mgag200_modeset_init(struct mga_device *mdev) { struct drm_device *dev = mdev->dev; - struct drm_encoder *encoder = &mdev->encoder; struct drm_connector *connector = &mdev->connector.base; + struct drm_simple_display_pipe *pipe = &mdev->display_pipe; + size_t format_count = ARRAY_SIZE(mgag200_simple_display_pipe_formats); int ret; mdev->bpp_shifts[0] = 0; @@ -1642,6 +1729,8 @@ mdev->bpp_shifts[2] = 0; mdev->bpp_shifts[3] = 2; + mgag200_init_regs(mdev); + ret = drmm_mode_config_init(dev); if (ret) { drm_err(dev, "drmm_mode_config_init() failed, error %d\n", @@ -1653,32 +1742,36 @@ dev->mode_config.max_height = MGAG200_MAX_FB_HEIGHT; dev->mode_config.preferred_depth = mgag200_preferred_depth(mdev); - dev->mode_config.prefer_shadow = 1; dev->mode_config.fb_base = mdev->mc.vram_base; dev->mode_config.funcs = &mgag200_mode_config_funcs; - mga_crtc_init(mdev); - - ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC); + ret = mgag200_vga_connector_init(mdev); if (ret) { drm_err(dev, - "drm_simple_encoder_init() failed, error %d\n", + "mgag200_vga_connector_init() failed, error %d\n", ret); return ret; } - encoder->possible_crtcs = 0x1; - ret = mgag200_vga_connector_init(mdev); + ret = drm_simple_display_pipe_init(dev, pipe, + &mgag200_simple_display_pipe_funcs, + mgag200_simple_display_pipe_formats, + format_count, + mgag200_simple_display_pipe_fmtmods, + connector); if (ret) { drm_err(dev, - "mgag200_vga_connector_init() failed, error %d\n", + "drm_simple_display_pipe_init() failed, error %d\n", ret); return ret; } - drm_connector_attach_encoder(connector, encoder); + /* FIXME: legacy gamma tables; convert to CRTC state */ + drm_mode_crtc_set_gamma_size(&pipe->crtc, MGAG200_LUT_SIZE); + + drm_mode_config_reset(dev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_reg.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_reg.h @@ -16,10 +16,11 @@ * MGA1064SG Mystique register file */ - #ifndef _MGA_REG_H_ #define _MGA_REG_H_ +#include + #define MGAREG_DWGCTL 0x1c00 #define MGAREG_MACCESS 0x1c04 /* the following is a mystique only register */ @@ -221,21 +222,29 @@ #define MGAREG_MISC_IOADSEL (0x1 << 0) #define MGAREG_MISC_RAMMAPEN (0x1 << 1) +#define MGAREG_MISC_CLK_SEL_MASK GENMASK(3, 2) #define MGAREG_MISC_CLK_SEL_VGA25 (0x0 << 2) #define MGAREG_MISC_CLK_SEL_VGA28 (0x1 << 2) #define MGAREG_MISC_CLK_SEL_MGA_PIX (0x2 << 2) #define MGAREG_MISC_CLK_SEL_MGA_MSK (0x3 << 2) #define MGAREG_MISC_VIDEO_DIS (0x1 << 4) #define MGAREG_MISC_HIGH_PG_SEL (0x1 << 5) +#define MGAREG_MISC_HSYNCPOL BIT(6) +#define MGAREG_MISC_VSYNCPOL BIT(7) /* MMIO VGA registers */ #define MGAREG_SEQ_INDEX 0x1fc4 #define MGAREG_SEQ_DATA 0x1fc5 + +#define MGAREG_SEQ1_SCROFF BIT(5) + #define MGAREG_CRTC_INDEX 0x1fd4 #define MGAREG_CRTC_DATA 0x1fd5 #define MGAREG_CRTCEXT_INDEX 0x1fde #define MGAREG_CRTCEXT_DATA 0x1fdf +#define MGAREG_CRTCEXT0_OFFSET_MASK GENMASK(5, 4) + /* Cursor X and Y position */ #define MGA_CURPOSXL 0x3c0c #define MGA_CURPOSXH 0x3c0d --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mgag200/mgag200_ttm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mgag200/mgag200_ttm.c @@ -32,17 +32,8 @@ int mgag200_mm_init(struct mga_device *mdev) { - struct drm_vram_mm *vmm; - int ret; struct drm_device *dev = mdev->dev; - - vmm = drm_vram_helper_alloc_mm(dev, pci_resource_start(dev->pdev, 0), - mdev->mc.vram_size); - if (IS_ERR(vmm)) { - ret = PTR_ERR(vmm); - DRM_ERROR("Error initializing VRAM MM; %d\n", ret); - return ret; - } + int ret; arch_io_reserve_memtype_wc(pci_resource_start(dev->pdev, 0), pci_resource_len(dev->pdev, 0)); @@ -50,9 +41,22 @@ mdev->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0), pci_resource_len(dev->pdev, 0)); + mdev->vram = ioremap(pci_resource_start(dev->pdev, 0), + pci_resource_len(dev->pdev, 0)); + if (!mdev->vram) { + ret = -ENOMEM; + goto err_arch_phys_wc_del; + } + mdev->vram_fb_available = mdev->mc.vram_size; return 0; + +err_arch_phys_wc_del: + arch_phys_wc_del(mdev->fb_mtrr); + arch_io_free_memtype_wc(pci_resource_start(dev->pdev, 0), + pci_resource_len(dev->pdev, 0)); + return ret; } void mgag200_mm_fini(struct mga_device *mdev) @@ -60,9 +64,7 @@ struct drm_device *dev = mdev->dev; mdev->vram_fb_available = 0; - - drm_vram_helper_release_mm(dev); - + iounmap(mdev->vram); arch_io_free_memtype_wc(pci_resource_start(dev->pdev, 0), pci_resource_len(dev->pdev, 0)); arch_phys_wc_del(mdev->fb_mtrr); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a2xx_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a2xx_gpu.c @@ -164,6 +164,11 @@ if (ret) return ret; + gpu_write(gpu, REG_AXXX_CP_RB_CNTL, + MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE); + + gpu_write(gpu, REG_AXXX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); + /* NOTE: PM4/micro-engine firmware registers look to be the same * for a2xx and a3xx.. we could possibly push that part down to * adreno_gpu base class. Or push both PM4 and PFP but --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a3xx_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a3xx_gpu.c @@ -211,6 +211,16 @@ if (ret) return ret; + /* + * Use the default ringbuffer size and block size but disable the RPTR + * shadow + */ + gpu_write(gpu, REG_AXXX_CP_RB_CNTL, + MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE); + + /* Set the ringbuffer address */ + gpu_write(gpu, REG_AXXX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); + /* setup access protection: */ gpu_write(gpu, REG_A3XX_CP_PROTECT_CTRL, 0x00000007); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a4xx_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a4xx_gpu.c @@ -267,6 +267,16 @@ if (ret) return ret; + /* + * Use the default ringbuffer size and block size but disable the RPTR + * shadow + */ + gpu_write(gpu, REG_A4XX_CP_RB_CNTL, + MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE); + + /* Set the ringbuffer address */ + gpu_write(gpu, REG_A4XX_CP_RB_BASE, lower_32_bits(gpu->rb[0]->iova)); + /* Load PM4: */ ptr = (uint32_t *)(adreno_gpu->fw[ADRENO_FW_PM4]->data); len = adreno_gpu->fw[ADRENO_FW_PM4]->size / 4; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c @@ -593,8 +593,6 @@ if (adreno_gpu->info->quirks & ADRENO_QUIRK_TWO_PASS_USE_WFI) gpu_rmw(gpu, REG_A5XX_PC_DBG_ECO_CNTL, 0, (1 << 8)); - gpu_write(gpu, REG_A5XX_PC_DBG_ECO_CNTL, 0xc0200100); - /* Enable USE_RETENTION_FLOPS */ gpu_write(gpu, REG_A5XX_CP_CHICKEN_DBG, 0x02000000); @@ -702,8 +700,6 @@ if (ret) return ret; - a5xx_preempt_hw_init(gpu); - if (!adreno_is_a510(adreno_gpu)) a5xx_gpmu_ucode_init(gpu); @@ -711,6 +707,15 @@ if (ret) return ret; + /* Set the ringbuffer address */ + gpu_write64(gpu, REG_A5XX_CP_RB_BASE, REG_A5XX_CP_RB_BASE_HI, + gpu->rb[0]->iova); + + gpu_write(gpu, REG_A5XX_CP_RB_CNTL, + MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE); + + a5xx_preempt_hw_init(gpu); + /* Disable the interrupts through the initial bringup stage */ gpu_write(gpu, REG_A5XX_RBBM_INT_0_MASK, A5XX_INT_MASK); @@ -1171,8 +1176,8 @@ static int a5xx_get_timestamp(struct msm_gpu *gpu, uint64_t *value) { - *value = gpu_read64(gpu, REG_A5XX_RBBM_PERFCTR_CP_0_LO, - REG_A5XX_RBBM_PERFCTR_CP_0_HI); + *value = gpu_read64(gpu, REG_A5XX_RBBM_ALWAYSON_COUNTER_LO, + REG_A5XX_RBBM_ALWAYSON_COUNTER_HI); return 0; } @@ -1510,7 +1515,8 @@ check_speed_bin(&pdev->dev); - ret = adreno_gpu_init(dev, pdev, adreno_gpu, &funcs, 4); + /* Restricting nr_rings to 1 to temporarily disable preemption */ + ret = adreno_gpu_init(dev, pdev, adreno_gpu, &funcs, 1); if (ret) { a5xx_destroy(&(a5xx_gpu->base.base)); return ERR_PTR(ret); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a5xx_gpu.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.h @@ -31,6 +31,7 @@ struct msm_ringbuffer *next_ring; struct drm_gem_object *preempt_bo[MSM_GPU_MAX_RINGS]; + struct drm_gem_object *preempt_counters_bo[MSM_GPU_MAX_RINGS]; struct a5xx_preempt_record *preempt[MSM_GPU_MAX_RINGS]; uint64_t preempt_iova[MSM_GPU_MAX_RINGS]; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a5xx_power.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a5xx_power.c @@ -304,7 +304,7 @@ /* Set up the limits management */ if (adreno_is_a530(adreno_gpu)) a530_lm_setup(gpu); - else + else if (adreno_is_a540(adreno_gpu)) a540_lm_setup(gpu); /* Set up SP/TP power collpase */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a5xx_preempt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a5xx_preempt.c @@ -226,19 +226,31 @@ struct adreno_gpu *adreno_gpu = &a5xx_gpu->base; struct msm_gpu *gpu = &adreno_gpu->base; struct a5xx_preempt_record *ptr; - struct drm_gem_object *bo = NULL; - u64 iova = 0; + void *counters; + struct drm_gem_object *bo = NULL, *counters_bo = NULL; + u64 iova = 0, counters_iova = 0; ptr = msm_gem_kernel_new(gpu->dev, A5XX_PREEMPT_RECORD_SIZE + A5XX_PREEMPT_COUNTER_SIZE, - MSM_BO_UNCACHED, gpu->aspace, &bo, &iova); + MSM_BO_UNCACHED | MSM_BO_MAP_PRIV, gpu->aspace, &bo, &iova); if (IS_ERR(ptr)) return PTR_ERR(ptr); + /* The buffer to store counters needs to be unprivileged */ + counters = msm_gem_kernel_new(gpu->dev, + A5XX_PREEMPT_COUNTER_SIZE, + MSM_BO_UNCACHED, gpu->aspace, &counters_bo, &counters_iova); + if (IS_ERR(counters)) { + msm_gem_kernel_put(bo, gpu->aspace, true); + return PTR_ERR(counters); + } + msm_gem_object_set_name(bo, "preempt"); + msm_gem_object_set_name(counters_bo, "preempt_counters"); a5xx_gpu->preempt_bo[ring->id] = bo; + a5xx_gpu->preempt_counters_bo[ring->id] = counters_bo; a5xx_gpu->preempt_iova[ring->id] = iova; a5xx_gpu->preempt[ring->id] = ptr; @@ -249,7 +261,7 @@ ptr->data = 0; ptr->cntl = MSM_GPU_RB_CNTL_DEFAULT; ptr->rptr_addr = rbmemptr(ring, rptr); - ptr->counter = iova + A5XX_PREEMPT_RECORD_SIZE; + ptr->counter = counters_iova; return 0; } @@ -260,8 +272,11 @@ struct a5xx_gpu *a5xx_gpu = to_a5xx_gpu(adreno_gpu); int i; - for (i = 0; i < gpu->nr_rings; i++) + for (i = 0; i < gpu->nr_rings; i++) { msm_gem_kernel_put(a5xx_gpu->preempt_bo[i], gpu->aspace, true); + msm_gem_kernel_put(a5xx_gpu->preempt_counters_bo[i], + gpu->aspace, true); + } } void a5xx_preempt_init(struct msm_gpu *gpu) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -207,6 +207,16 @@ { int ret; u32 val; + u32 mask, reset_val; + + val = gmu_read(gmu, REG_A6XX_GMU_CM3_DTCM_START + 0xff8); + if (val <= 0x20010004) { + mask = 0xffffffff; + reset_val = 0xbabeface; + } else { + mask = 0x1ff; + reset_val = 0x100; + } gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 1); @@ -218,7 +228,7 @@ gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 0); ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_CM3_FW_INIT_RESULT, val, - val == 0xbabeface, 100, 10000); + (val & mask) == reset_val, 100, 10000); if (ret) DRM_DEV_ERROR(gmu->dev, "GMU firmware initialization timed out\n"); @@ -260,6 +270,16 @@ } name = "GPU_SET"; break; + case GMU_OOB_PERFCOUNTER_SET: + if (gmu->legacy) { + request = GMU_OOB_PERFCOUNTER_REQUEST; + ack = GMU_OOB_PERFCOUNTER_ACK; + } else { + request = GMU_OOB_PERFCOUNTER_REQUEST_NEW; + ack = GMU_OOB_PERFCOUNTER_ACK_NEW; + } + name = "PERFCOUNTER"; + break; case GMU_OOB_BOOT_SLUMBER: request = GMU_OOB_BOOT_SLUMBER_REQUEST; ack = GMU_OOB_BOOT_SLUMBER_ACK; @@ -297,9 +317,14 @@ void a6xx_gmu_clear_oob(struct a6xx_gmu *gmu, enum a6xx_gmu_oob_state state) { if (!gmu->legacy) { - WARN_ON(state != GMU_OOB_GPU_SET); - gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, - 1 << GMU_OOB_GPU_SET_CLEAR_NEW); + if (state == GMU_OOB_GPU_SET) { + gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, + 1 << GMU_OOB_GPU_SET_CLEAR_NEW); + } else { + WARN_ON(state != GMU_OOB_PERFCOUNTER_SET); + gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, + 1 << GMU_OOB_PERFCOUNTER_CLEAR_NEW); + } return; } @@ -308,6 +333,10 @@ gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, 1 << GMU_OOB_GPU_SET_CLEAR); break; + case GMU_OOB_PERFCOUNTER_SET: + gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, + 1 << GMU_OOB_PERFCOUNTER_CLEAR); + break; case GMU_OOB_BOOT_SLUMBER: gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, 1 << GMU_OOB_BOOT_SLUMBER_CLEAR); @@ -854,10 +883,19 @@ /* Turn on the resources */ pm_runtime_get_sync(gmu->dev); + /* + * "enable" the GX power domain which won't actually do anything but it + * will make sure that the refcounting is correct in case we need to + * bring down the GX after a GMU failure + */ + if (!IS_ERR_OR_NULL(gmu->gxpd)) + pm_runtime_get_sync(gmu->gxpd); + /* Use a known rate to bring up the GMU */ clk_set_rate(gmu->core_clk, 200000000); ret = clk_bulk_prepare_enable(gmu->nr_clocks, gmu->clocks); if (ret) { + pm_runtime_put(gmu->gxpd); pm_runtime_put(gmu->dev); return ret; } @@ -903,19 +941,12 @@ else a6xx_hfi_set_freq(gmu, gmu->current_perf_index); - /* - * "enable" the GX power domain which won't actually do anything but it - * will make sure that the refcounting is correct in case we need to - * bring down the GX after a GMU failure - */ - if (!IS_ERR_OR_NULL(gmu->gxpd)) - pm_runtime_get(gmu->gxpd); - out: /* On failure, shut down the GMU to leave it in a good state */ if (ret) { disable_irq(gmu->gmu_irq); a6xx_rpmh_stop(gmu); + pm_runtime_put(gmu->gxpd); pm_runtime_put(gmu->dev); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gmu.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a6xx_gmu.h @@ -151,6 +151,7 @@ GMU_OOB_BOOT_SLUMBER = 0, GMU_OOB_GPU_SET, GMU_OOB_DCVS_SET, + GMU_OOB_PERFCOUNTER_SET, }; /* These are the interrupt / ack bits for each OOB request that are set @@ -185,6 +186,13 @@ #define GMU_OOB_GPU_SET_ACK_NEW 31 #define GMU_OOB_GPU_SET_CLEAR_NEW 31 +#define GMU_OOB_PERFCOUNTER_REQUEST 17 +#define GMU_OOB_PERFCOUNTER_ACK 25 +#define GMU_OOB_PERFCOUNTER_CLEAR 25 + +#define GMU_OOB_PERFCOUNTER_REQUEST_NEW 28 +#define GMU_OOB_PERFCOUNTER_ACK_NEW 30 +#define GMU_OOB_PERFCOUNTER_CLEAR_NEW 30 void a6xx_hfi_init(struct a6xx_gmu *gmu); int a6xx_hfi_start(struct a6xx_gmu *gmu, int boot_state); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -557,6 +557,13 @@ if (ret) goto out; + /* Set the ringbuffer address */ + gpu_write64(gpu, REG_A6XX_CP_RB_BASE, REG_A6XX_CP_RB_BASE_HI, + gpu->rb[0]->iova); + + gpu_write(gpu, REG_A6XX_CP_RB_CNTL, + MSM_GPU_RB_CNTL_DEFAULT | AXXX_CP_RB_CNTL_NO_UPDATE); + /* Always come up on rb 0 */ a6xx_gpu->cur_ring = gpu->rb[0]; @@ -809,14 +816,18 @@ { struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu); + static DEFINE_MUTEX(perfcounter_oob); + + mutex_lock(&perfcounter_oob); /* Force the GPU power on so we can read this register */ - a6xx_gmu_set_oob(&a6xx_gpu->gmu, GMU_OOB_GPU_SET); + a6xx_gmu_set_oob(&a6xx_gpu->gmu, GMU_OOB_PERFCOUNTER_SET); - *value = gpu_read64(gpu, REG_A6XX_RBBM_PERFCTR_CP_0_LO, - REG_A6XX_RBBM_PERFCTR_CP_0_HI); + *value = gpu_read64(gpu, REG_A6XX_CP_ALWAYS_ON_COUNTER_LO, + REG_A6XX_CP_ALWAYS_ON_COUNTER_HI); - a6xx_gmu_clear_oob(&a6xx_gpu->gmu, GMU_OOB_GPU_SET); + a6xx_gmu_clear_oob(&a6xx_gpu->gmu, GMU_OOB_PERFCOUNTER_SET); + mutex_unlock(&perfcounter_oob); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c @@ -864,7 +864,7 @@ int i; a6xx_state->indexed_regs = state_kcalloc(a6xx_state, count, - sizeof(a6xx_state->indexed_regs)); + sizeof(*a6xx_state->indexed_regs)); if (!a6xx_state->indexed_regs) return; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -189,10 +189,16 @@ adreno_iommu_create_address_space(struct msm_gpu *gpu, struct platform_device *pdev) { - struct iommu_domain *iommu = iommu_domain_alloc(&platform_bus_type); - struct msm_mmu *mmu = msm_iommu_new(&pdev->dev, iommu); + struct iommu_domain *iommu; + struct msm_mmu *mmu; struct msm_gem_address_space *aspace; + iommu = iommu_domain_alloc(&platform_bus_type); + if (!iommu) + return NULL; + + mmu = msm_iommu_new(&pdev->dev, iommu); + aspace = msm_gem_address_space_create(mmu, "gpu", SZ_16M, 0xffffffff - SZ_16M); @@ -396,30 +402,10 @@ ring->next = ring->start; /* reset completed fence seqno: */ - ring->memptrs->fence = ring->seqno; + ring->memptrs->fence = ring->fctx->completed_fence; ring->memptrs->rptr = 0; } - /* - * Setup REG_CP_RB_CNTL. The same value is used across targets (with - * the excpetion of A430 that disables the RPTR shadow) - the cacluation - * for the ringbuffer size and block size is moved to msm_gpu.h for the - * pre-processor to deal with and the A430 variant is ORed in here - */ - adreno_gpu_write(adreno_gpu, REG_ADRENO_CP_RB_CNTL, - MSM_GPU_RB_CNTL_DEFAULT | - (adreno_is_a430(adreno_gpu) ? AXXX_CP_RB_CNTL_NO_UPDATE : 0)); - - /* Setup ringbuffer address - use ringbuffer[0] for GPU init */ - adreno_gpu_write64(adreno_gpu, REG_ADRENO_CP_RB_BASE, - REG_ADRENO_CP_RB_BASE_HI, gpu->rb[0]->iova); - - if (!adreno_is_a430(adreno_gpu)) { - adreno_gpu_write64(adreno_gpu, REG_ADRENO_CP_RB_RPTR_ADDR, - REG_ADRENO_CP_RB_RPTR_ADDR_HI, - rbmemptr(gpu->rb[0], rptr)); - } - return 0; } @@ -427,11 +413,8 @@ static uint32_t get_rptr(struct adreno_gpu *adreno_gpu, struct msm_ringbuffer *ring) { - if (adreno_is_a430(adreno_gpu)) - return ring->memptrs->rptr = adreno_gpu_read( - adreno_gpu, REG_ADRENO_CP_RB_RPTR); - else - return ring->memptrs->rptr; + return ring->memptrs->rptr = adreno_gpu_read( + adreno_gpu, REG_ADRENO_CP_RB_RPTR); } struct msm_ringbuffer *adreno_active_ring(struct msm_gpu *gpu) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -389,7 +389,7 @@ spin_unlock_irqrestore(&dpu_crtc->spin_lock, flags); if (!fevent) { - DRM_ERROR("crtc%d event %d overflow\n", crtc->base.id, event); + DRM_ERROR_RATELIMITED("crtc%d event %d overflow\n", crtc->base.id, event); return; } @@ -827,7 +827,7 @@ { struct dpu_crtc *dpu_crtc; struct drm_encoder *encoder; - bool request_bandwidth; + bool request_bandwidth = false; if (!crtc) { DPU_ERROR("invalid crtc\n"); @@ -881,7 +881,7 @@ struct drm_plane *plane; struct drm_display_mode *mode; - int cnt = 0, rc = 0, mixer_width, i, z_pos; + int cnt = 0, rc = 0, mixer_width = 0, i, z_pos; struct dpu_multirect_plane_states multirect_plane[DPU_STAGE_MAX * 2]; int multirect_count = 0; @@ -914,9 +914,11 @@ memset(pipe_staged, 0, sizeof(pipe_staged)); - mixer_width = mode->hdisplay / cstate->num_mixers; + if (cstate->num_mixers) { + mixer_width = mode->hdisplay / cstate->num_mixers; - _dpu_crtc_setup_lm_bounds(crtc, state); + _dpu_crtc_setup_lm_bounds(crtc, state); + } crtc_rect.x2 = mode->hdisplay; crtc_rect.y2 = mode->vdisplay; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -586,7 +586,10 @@ dpu_kms = to_dpu_kms(priv->kms); mode = &crtc_state->mode; adj_mode = &crtc_state->adjusted_mode; - global_state = dpu_kms_get_existing_global_state(dpu_kms); + global_state = dpu_kms_get_global_state(crtc_state->state); + if (IS_ERR(global_state)) + return PTR_ERR(global_state); + trace_dpu_enc_atomic_check(DRMID(drm_enc)); /* @@ -621,12 +624,15 @@ /* Reserve dynamic resources now. */ if (!ret) { /* - * Avoid reserving resources when mode set is pending. Topology - * info may not be available to complete reservation. + * Release and Allocate resources on every modeset + * Dont allocate when active is false. */ if (drm_atomic_crtc_needs_modeset(crtc_state)) { - ret = dpu_rm_reserve(&dpu_kms->rm, global_state, - drm_enc, crtc_state, topology); + dpu_rm_release(global_state, drm_enc); + + if (!crtc_state->active_changed || crtc_state->active) + ret = dpu_rm_reserve(&dpu_kms->rm, global_state, + drm_enc, crtc_state, topology); } } @@ -1175,7 +1181,6 @@ struct dpu_encoder_virt *dpu_enc = NULL; struct msm_drm_private *priv; struct dpu_kms *dpu_kms; - struct dpu_global_state *global_state; int i = 0; if (!drm_enc) { @@ -1194,7 +1199,6 @@ priv = drm_enc->dev->dev_private; dpu_kms = to_dpu_kms(priv->kms); - global_state = dpu_kms_get_existing_global_state(dpu_kms); trace_dpu_enc_disable(DRMID(drm_enc)); @@ -1224,8 +1228,6 @@ DPU_DEBUG_ENC(dpu_enc, "encoder disabled\n"); - dpu_rm_release(global_state, drm_enc); - mutex_unlock(&dpu_enc->enc_lock); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c @@ -43,6 +43,10 @@ #define DSPP_SC7180_MASK BIT(DPU_DSPP_PCC) +#define INTF_SDM845_MASK (0) + +#define INTF_SC7180_MASK BIT(DPU_INTF_INPUT_CTRL) | BIT(DPU_INTF_TE) + #define DEFAULT_PIXEL_RAM_SIZE (50 * 1024) #define DEFAULT_DPU_LINE_WIDTH 2048 #define DEFAULT_DPU_OUTPUT_LINE_WIDTH 2560 @@ -400,26 +404,26 @@ /************************************************************* * INTF sub blocks config *************************************************************/ -#define INTF_BLK(_name, _id, _base, _type, _ctrl_id) \ +#define INTF_BLK(_name, _id, _base, _type, _ctrl_id, _features) \ {\ .name = _name, .id = _id, \ .base = _base, .len = 0x280, \ - .features = BIT(DPU_CTL_ACTIVE_CFG), \ + .features = _features, \ .type = _type, \ .controller_id = _ctrl_id, \ .prog_fetch_lines_worst_case = 24 \ } static const struct dpu_intf_cfg sdm845_intf[] = { - INTF_BLK("intf_0", INTF_0, 0x6A000, INTF_DP, 0), - INTF_BLK("intf_1", INTF_1, 0x6A800, INTF_DSI, 0), - INTF_BLK("intf_2", INTF_2, 0x6B000, INTF_DSI, 1), - INTF_BLK("intf_3", INTF_3, 0x6B800, INTF_DP, 1), + INTF_BLK("intf_0", INTF_0, 0x6A000, INTF_DP, 0, INTF_SDM845_MASK), + INTF_BLK("intf_1", INTF_1, 0x6A800, INTF_DSI, 0, INTF_SDM845_MASK), + INTF_BLK("intf_2", INTF_2, 0x6B000, INTF_DSI, 1, INTF_SDM845_MASK), + INTF_BLK("intf_3", INTF_3, 0x6B800, INTF_DP, 1, INTF_SDM845_MASK), }; static const struct dpu_intf_cfg sc7180_intf[] = { - INTF_BLK("intf_0", INTF_0, 0x6A000, INTF_DP, 0), - INTF_BLK("intf_1", INTF_1, 0x6A800, INTF_DSI, 0), + INTF_BLK("intf_0", INTF_0, 0x6A000, INTF_DP, 0, INTF_SC7180_MASK), + INTF_BLK("intf_1", INTF_1, 0x6A800, INTF_DSI, 0, INTF_SC7180_MASK), }; /************************************************************* --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h @@ -186,6 +186,19 @@ }; /** + * INTF sub-blocks + * @DPU_INTF_INPUT_CTRL Supports the setting of pp block from which + * pixel data arrives to this INTF + * @DPU_INTF_TE INTF block has TE configuration support + * @DPU_INTF_MAX + */ +enum { + DPU_INTF_INPUT_CTRL = 0x1, + DPU_INTF_TE, + DPU_INTF_MAX +}; + +/** * VBIF sub-blocks and features * @DPU_VBIF_QOS_OTLIM VBIF supports OT Limit * @DPU_VBIF_QOS_REMAP VBIF supports QoS priority remap --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c @@ -225,14 +225,9 @@ bool enable, const enum dpu_pingpong pp) { - struct dpu_hw_blk_reg_map *c; + struct dpu_hw_blk_reg_map *c = &intf->hw; u32 mux_cfg; - if (!intf) - return; - - c = &intf->hw; - mux_cfg = DPU_REG_READ(c, INTF_MUX); mux_cfg &= ~0xf; @@ -280,7 +275,7 @@ ops->get_status = dpu_hw_intf_get_status; ops->enable_timing = dpu_hw_intf_enable_timing_engine; ops->get_line_count = dpu_hw_intf_get_line_count; - if (cap & BIT(DPU_CTL_ACTIVE_CFG)) + if (cap & BIT(DPU_INTF_INPUT_CTRL)) ops->bind_pingpong_blk = dpu_hw_intf_bind_pingpong_blk; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -866,9 +866,9 @@ crtc_state = drm_atomic_get_new_crtc_state(state->state, state->crtc); - min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxdwnscale); + min_scale = FRAC_16_16(1, pdpu->pipe_sblk->maxupscale); ret = drm_atomic_helper_check_plane_state(state, crtc_state, min_scale, - pdpu->pipe_sblk->maxupscale << 16, + pdpu->pipe_sblk->maxdwnscale << 16, true, true); if (ret) { DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c @@ -1117,8 +1117,6 @@ mdp5_crtc_destroy_state(crtc, crtc->state); __drm_atomic_helper_crtc_reset(crtc, &mdp5_cstate->base); - - drm_crtc_vblank_reset(crtc); } static const struct drm_crtc_funcs mdp5_crtc_funcs = { @@ -1178,7 +1176,7 @@ struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc, pp_done); - complete(&mdp5_crtc->pp_completion); + complete_all(&mdp5_crtc->pp_completion); } static void mdp5_crtc_wait_for_pp_done(struct drm_crtc *crtc) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c @@ -139,7 +139,7 @@ .disable = dsi_20nm_phy_disable, .init = msm_dsi_phy_init_common, }, - .io_start = { 0xfd998300, 0xfd9a0300 }, + .io_start = { 0xfd998500, 0xfd9a0500 }, .num_dsi_phy = 2, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c @@ -559,6 +559,7 @@ struct pll_10nm_cached_state *cached = &pll_10nm->cached_state; void __iomem *phy_base = pll_10nm->phy_cmn_mmio; u32 val; + int ret; val = pll_read(pll_10nm->mmio + REG_DSI_10nm_PHY_PLL_PLL_OUTDIV_RATE); val &= ~0x3; @@ -573,6 +574,13 @@ val |= cached->pll_mux; pll_write(phy_base + REG_DSI_10nm_PHY_CMN_CLK_CFG1, val); + ret = dsi_pll_10nm_vco_set_rate(&pll->clk_hw, pll_10nm->vco_current_rate, pll_10nm->vco_ref_clk_rate); + if (ret) { + DRM_DEV_ERROR(&pll_10nm->pdev->dev, + "restore vco rate failed. ret=%d\n", ret); + return ret; + } + DBG("DSI PLL%d", pll_10nm->id); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/msm_atomic.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/msm_atomic.c @@ -27,6 +27,34 @@ return msm_framebuffer_prepare(new_state->fb, kms->aspace); } +/* + * Helpers to control vblanks while we flush.. basically just to ensure + * that vblank accounting is switched on, so we get valid seqn/timestamp + * on pageflip events (if requested) + */ + +static void vblank_get(struct msm_kms *kms, unsigned crtc_mask) +{ + struct drm_crtc *crtc; + + for_each_crtc_mask(kms->dev, crtc, crtc_mask) { + if (!crtc->state->active) + continue; + drm_crtc_vblank_get(crtc); + } +} + +static void vblank_put(struct msm_kms *kms, unsigned crtc_mask) +{ + struct drm_crtc *crtc; + + for_each_crtc_mask(kms->dev, crtc, crtc_mask) { + if (!crtc->state->active) + continue; + drm_crtc_vblank_put(crtc); + } +} + static void msm_atomic_async_commit(struct msm_kms *kms, int crtc_idx) { unsigned crtc_mask = BIT(crtc_idx); @@ -44,6 +72,8 @@ kms->funcs->enable_commit(kms); + vblank_get(kms, crtc_mask); + /* * Flush hardware updates: */ @@ -58,6 +88,8 @@ kms->funcs->wait_flush(kms, crtc_mask); trace_msm_atomic_wait_flush_finish(crtc_mask); + vblank_put(kms, crtc_mask); + mutex_lock(&kms->commit_lock); kms->funcs->complete_commit(kms, crtc_mask); mutex_unlock(&kms->commit_lock); @@ -221,6 +253,8 @@ */ kms->pending_crtc_mask &= ~crtc_mask; + vblank_get(kms, crtc_mask); + /* * Flush hardware updates: */ @@ -235,6 +269,8 @@ kms->funcs->wait_flush(kms, crtc_mask); trace_msm_atomic_wait_flush_finish(crtc_mask); + vblank_put(kms, crtc_mask); + mutex_lock(&kms->commit_lock); kms->funcs->complete_commit(kms, crtc_mask); mutex_unlock(&kms->commit_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/msm_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/msm_drv.c @@ -433,14 +433,14 @@ drm_mode_config_init(ddev); - /* Bind all our sub-components: */ - ret = component_bind_all(dev, ddev); + ret = msm_init_vram(ddev); if (ret) goto err_destroy_mdss; - ret = msm_init_vram(ddev); + /* Bind all our sub-components: */ + ret = component_bind_all(dev, ddev); if (ret) - goto err_msm_uninit; + goto err_destroy_mdss; if (!dev->dma_parms) { dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), @@ -568,6 +568,7 @@ kfree(priv); err_put_drm_dev: drm_dev_put(ddev); + platform_set_drvdata(pdev, NULL); return ret; } @@ -1328,6 +1329,17 @@ return 0; } +static void msm_pdev_shutdown(struct platform_device *pdev) +{ + struct drm_device *drm = platform_get_drvdata(pdev); + struct msm_drm_private *priv = drm ? drm->dev_private : NULL; + + if (!priv || !priv->kms) + return; + + drm_atomic_helper_shutdown(drm); +} + static const struct of_device_id dt_match[] = { { .compatible = "qcom,mdp4", .data = (void *)KMS_MDP4 }, { .compatible = "qcom,mdss", .data = (void *)KMS_MDP5 }, @@ -1340,6 +1352,7 @@ static struct platform_driver msm_platform_driver = { .probe = msm_pdev_probe, .remove = msm_pdev_remove, + .shutdown = msm_pdev_shutdown, .driver = { .name = "msm", .of_match_table = dt_match, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/msm_fence.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/msm_fence.c @@ -45,7 +45,7 @@ int ret; if (fence > fctx->last_fence) { - DRM_ERROR("%s: waiting on invalid fence: %u (of %u)\n", + DRM_ERROR_RATELIMITED("%s: waiting on invalid fence: %u (of %u)\n", fctx->name, fence, fctx->last_fence); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/msm_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/msm_gem.c @@ -994,10 +994,8 @@ static int msm_gem_new_impl(struct drm_device *dev, uint32_t size, uint32_t flags, - struct drm_gem_object **obj, - bool struct_mutex_locked) + struct drm_gem_object **obj) { - struct msm_drm_private *priv = dev->dev_private; struct msm_gem_object *msm_obj; switch (flags & MSM_BO_CACHE_MASK) { @@ -1023,15 +1021,6 @@ INIT_LIST_HEAD(&msm_obj->submit_entry); INIT_LIST_HEAD(&msm_obj->vmas); - if (struct_mutex_locked) { - WARN_ON(!mutex_is_locked(&dev->struct_mutex)); - list_add_tail(&msm_obj->mm_list, &priv->inactive_list); - } else { - mutex_lock(&dev->struct_mutex); - list_add_tail(&msm_obj->mm_list, &priv->inactive_list); - mutex_unlock(&dev->struct_mutex); - } - *obj = &msm_obj->base; return 0; @@ -1041,6 +1030,7 @@ uint32_t size, uint32_t flags, bool struct_mutex_locked) { struct msm_drm_private *priv = dev->dev_private; + struct msm_gem_object *msm_obj; struct drm_gem_object *obj = NULL; bool use_vram = false; int ret; @@ -1061,14 +1051,15 @@ if (size == 0) return ERR_PTR(-EINVAL); - ret = msm_gem_new_impl(dev, size, flags, &obj, struct_mutex_locked); + ret = msm_gem_new_impl(dev, size, flags, &obj); if (ret) goto fail; + msm_obj = to_msm_bo(obj); + if (use_vram) { struct msm_gem_vma *vma; struct page **pages; - struct msm_gem_object *msm_obj = to_msm_bo(obj); mutex_lock(&msm_obj->lock); @@ -1103,6 +1094,15 @@ mapping_set_gfp_mask(obj->filp->f_mapping, GFP_HIGHUSER); } + if (struct_mutex_locked) { + WARN_ON(!mutex_is_locked(&dev->struct_mutex)); + list_add_tail(&msm_obj->mm_list, &priv->inactive_list); + } else { + mutex_lock(&dev->struct_mutex); + list_add_tail(&msm_obj->mm_list, &priv->inactive_list); + mutex_unlock(&dev->struct_mutex); + } + return obj; fail: @@ -1125,6 +1125,7 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev, struct dma_buf *dmabuf, struct sg_table *sgt) { + struct msm_drm_private *priv = dev->dev_private; struct msm_gem_object *msm_obj; struct drm_gem_object *obj; uint32_t size; @@ -1138,7 +1139,7 @@ size = PAGE_ALIGN(dmabuf->size); - ret = msm_gem_new_impl(dev, size, MSM_BO_WC, &obj, false); + ret = msm_gem_new_impl(dev, size, MSM_BO_WC, &obj); if (ret) goto fail; @@ -1163,6 +1164,11 @@ } mutex_unlock(&msm_obj->lock); + + mutex_lock(&dev->struct_mutex); + list_add_tail(&msm_obj->mm_list, &priv->inactive_list); + mutex_unlock(&dev->struct_mutex); + return obj; fail: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/msm/msm_ringbuffer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/msm/msm_ringbuffer.c @@ -27,7 +27,8 @@ ring->id = id; ring->start = msm_gem_kernel_new(gpu->dev, MSM_GPU_RINGBUFFER_SZ, - MSM_BO_WC, gpu->aspace, &ring->bo, &ring->iova); + MSM_BO_WC | MSM_BO_GPU_READONLY, gpu->aspace, &ring->bo, + &ring->iova); if (IS_ERR(ring->start)) { ret = PTR_ERR(ring->start); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -87,8 +88,26 @@ clk_disable_unprepare(mxsfb->clk_axi); } +static struct drm_framebuffer * +mxsfb_fb_create(struct drm_device *dev, struct drm_file *file_priv, + const struct drm_mode_fb_cmd2 *mode_cmd) +{ + const struct drm_format_info *info; + + info = drm_get_format_info(dev, mode_cmd); + if (!info) + return ERR_PTR(-EINVAL); + + if (mode_cmd->width * info->cpp[0] != mode_cmd->pitches[0]) { + dev_dbg(dev->dev, "Invalid pitch: fb width must match pitch\n"); + return ERR_PTR(-EINVAL); + } + + return drm_gem_fb_create(dev, file_priv, mode_cmd); +} + static const struct drm_mode_config_funcs mxsfb_mode_config_funcs = { - .fb_create = drm_gem_fb_create, + .fb_create = mxsfb_fb_create, .atomic_check = drm_atomic_helper_check, .atomic_commit = drm_atomic_helper_commit, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -134,7 +134,7 @@ int nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp, - const s32 *oclass, u8 head, void *data, u32 size, u64 syncbuf, + const s32 *oclass, u8 head, void *data, u32 size, s64 syncbuf, struct nv50_dmac *dmac) { struct nouveau_cli *cli = (void *)device->object.client; @@ -169,7 +169,7 @@ if (ret) return ret; - if (!syncbuf) + if (syncbuf < 0) return 0; ret = nvif_object_init(&dmac->base.user, 0xf0000000, NV_DMA_IN_MEMORY, @@ -2160,8 +2160,10 @@ int ret, i; ret = pm_runtime_get_sync(dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put_autosuspend(dev->dev); return ret; + } ret = drm_atomic_helper_setup_commit(state, nonblock); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/dispnv50/disp.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/dispnv50/disp.h @@ -73,7 +73,7 @@ int nv50_dmac_create(struct nvif_device *device, struct nvif_object *disp, const s32 *oclass, u8 head, void *data, u32 size, - u64 syncbuf, struct nv50_dmac *dmac); + s64 syncbuf, struct nv50_dmac *dmac); void nv50_dmac_destroy(struct nv50_dmac *); u32 *evo_wait(struct nv50_dmac *, int nr); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/dispnv50/head.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/dispnv50/head.c @@ -84,18 +84,20 @@ { u32 mode = 0x00; - if (asyc->dither.mode == DITHERING_MODE_AUTO) { - if (asyh->base.depth > asyh->or.bpc * 3) - mode = DITHERING_MODE_DYNAMIC2X2; - } else { - mode = asyc->dither.mode; - } + if (asyc->dither.mode) { + if (asyc->dither.mode == DITHERING_MODE_AUTO) { + if (asyh->base.depth > asyh->or.bpc * 3) + mode = DITHERING_MODE_DYNAMIC2X2; + } else { + mode = asyc->dither.mode; + } - if (asyc->dither.depth == DITHERING_DEPTH_AUTO) { - if (asyh->or.bpc >= 8) - mode |= DITHERING_DEPTH_8BPC; - } else { - mode |= asyc->dither.depth; + if (asyc->dither.depth == DITHERING_DEPTH_AUTO) { + if (asyh->or.bpc >= 8) + mode |= DITHERING_DEPTH_8BPC; + } else { + mode |= asyc->dither.depth; + } } asyh->dither.enable = mode; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c @@ -68,7 +68,7 @@ int ret; ret = nv50_dmac_create(&drm->client.device, &disp->disp->object, - &oclass, 0, &args, sizeof(args), 0, + &oclass, 0, &args, sizeof(args), -1, &wndw->wimm); if (ret) { NV_ERROR(drm, "wimm%04x allocation failed: %d\n", oclass, ret); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/dispnv50/wndw.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/dispnv50/wndw.c @@ -670,6 +670,11 @@ nvif_notify_get(&wndw->notify); } +static const u64 nv50_cursor_format_modifiers[] = { + DRM_FORMAT_MOD_LINEAR, + DRM_FORMAT_MOD_INVALID, +}; + int nv50_wndw_new_(const struct nv50_wndw_func *func, struct drm_device *dev, enum drm_plane_type type, const char *name, int index, @@ -681,6 +686,7 @@ struct nvif_mmu *mmu = &drm->client.mmu; struct nv50_disp *disp = nv50_disp(dev); struct nv50_wndw *wndw; + const u64 *format_modifiers; int nformat; int ret; @@ -696,10 +702,13 @@ for (nformat = 0; format[nformat]; nformat++); - ret = drm_universal_plane_init(dev, &wndw->plane, heads, &nv50_wndw, - format, nformat, - nouveau_display(dev)->format_modifiers, - type, "%s-%d", name, index); + if (type == DRM_PLANE_TYPE_CURSOR) + format_modifiers = nv50_cursor_format_modifiers; + else + format_modifiers = nouveau_display(dev)->format_modifiers; + + ret = drm_universal_plane_init(dev, &wndw->plane, heads, &nv50_wndw, format, nformat, + format_modifiers, type, "%s-%d", name, index); if (ret) { kfree(*pwndw); *pwndw = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h @@ -14,6 +14,7 @@ DCB_CONNECTOR_LVDS_SPWG = 0x41, DCB_CONNECTOR_DP = 0x46, DCB_CONNECTOR_eDP = 0x47, + DCB_CONNECTOR_mDP = 0x48, DCB_CONNECTOR_HDMI_0 = 0x60, DCB_CONNECTOR_HDMI_1 = 0x61, DCB_CONNECTOR_HDMI_C = 0x63, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_chan.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_chan.c @@ -499,6 +499,7 @@ if (ret) { NV_PRINTK(err, cli, "channel failed to initialise, %d\n", ret); nouveau_channel_del(pchan); + goto done; } ret = nouveau_svmm_join((*pchan)->vmm->svmm, (*pchan)->inst); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_connector.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -572,8 +572,10 @@ pm_runtime_get_noresume(dev->dev); } else { ret = pm_runtime_get_sync(dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put_autosuspend(dev->dev); return conn_status; + } } nv_encoder = nouveau_connector_ddc_detect(connector); @@ -1034,29 +1036,6 @@ return 112000 * duallink_scale; } -enum drm_mode_status -nouveau_conn_mode_clock_valid(const struct drm_display_mode *mode, - const unsigned min_clock, - const unsigned max_clock, - unsigned int *clock_out) -{ - unsigned int clock = mode->clock; - - if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == - DRM_MODE_FLAG_3D_FRAME_PACKING) - clock *= 2; - - if (clock < min_clock) - return MODE_CLOCK_LOW; - if (clock > max_clock) - return MODE_CLOCK_HIGH; - - if (clock_out) - *clock_out = clock; - - return MODE_OK; -} - static enum drm_mode_status nouveau_connector_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) @@ -1064,7 +1043,7 @@ struct nouveau_connector *nv_connector = nouveau_connector(connector); struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; struct drm_encoder *encoder = to_drm_encoder(nv_encoder); - unsigned min_clock = 25000, max_clock = min_clock; + unsigned int min_clock = 25000, max_clock = min_clock, clock = mode->clock; switch (nv_encoder->dcb->type) { case DCB_OUTPUT_LVDS: @@ -1093,8 +1072,15 @@ return MODE_BAD; } - return nouveau_conn_mode_clock_valid(mode, min_clock, max_clock, - NULL); + if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING) + clock *= 2; + + if (clock < min_clock) + return MODE_CLOCK_LOW; + if (clock > max_clock) + return MODE_CLOCK_HIGH; + + return MODE_OK; } static struct drm_encoder * @@ -1253,6 +1239,7 @@ case DCB_CONNECTOR_DMS59_DP0: case DCB_CONNECTOR_DMS59_DP1: case DCB_CONNECTOR_DP : + case DCB_CONNECTOR_mDP : case DCB_CONNECTOR_USB_C : return DRM_MODE_CONNECTOR_DisplayPort; case DCB_CONNECTOR_eDP : return DRM_MODE_CONNECTOR_eDP; case DCB_CONNECTOR_HDMI_0 : --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_debugfs.c @@ -54,8 +54,10 @@ int ret; ret = pm_runtime_get_sync(drm->dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put_autosuspend(drm->dev->dev); return ret; + } seq_printf(m, "0x%08x\n", nvif_rd32(&drm->client.device.object, 0x101000)); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_dp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -114,18 +114,25 @@ unsigned *out_clock) { const unsigned min_clock = 25000; - unsigned max_clock, clock; - enum drm_mode_status ret; + unsigned int max_rate, mode_rate, clock = mode->clock; + const u8 bpp = connector->display_info.bpc * 3; if (mode->flags & DRM_MODE_FLAG_INTERLACE && !outp->caps.dp_interlace) return MODE_NO_INTERLACE; - max_clock = outp->dp.link_nr * outp->dp.link_bw; - clock = mode->clock * (connector->display_info.bpc * 3) / 10; + if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING) + clock *= 2; + + max_rate = outp->dp.link_nr * outp->dp.link_bw; + mode_rate = DIV_ROUND_UP(clock * bpp, 8); + if (mode_rate > max_rate) + return MODE_CLOCK_HIGH; + + if (clock < min_clock) + return MODE_CLOCK_LOW; - ret = nouveau_conn_mode_clock_valid(mode, min_clock, max_clock, - &clock); if (out_clock) *out_clock = clock; - return ret; + + return MODE_OK; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_drm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -1026,8 +1026,10 @@ /* need to bring up power immediately if opening device */ ret = pm_runtime_get_sync(dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put_autosuspend(dev->dev); return ret; + } get_task_comm(tmpname, current); snprintf(name, sizeof(name), "%s[%d]", tmpname, pid_nr(fpriv->pid)); @@ -1109,8 +1111,10 @@ long ret; ret = pm_runtime_get_sync(dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put_autosuspend(dev->dev); return ret; + } switch (_IOC_NR(cmd) - DRM_COMMAND_BASE) { case DRM_NOUVEAU_NVIF: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_fbcon.c @@ -189,8 +189,10 @@ struct nouveau_fbdev *fbcon = info->par; struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); int ret = pm_runtime_get_sync(drm->dev->dev); - if (ret < 0 && ret != -EACCES) + if (ret < 0 && ret != -EACCES) { + pm_runtime_put(drm->dev->dev); return ret; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -45,8 +45,10 @@ int ret; ret = pm_runtime_get_sync(dev); - if (WARN_ON(ret < 0 && ret != -EACCES)) + if (WARN_ON(ret < 0 && ret != -EACCES)) { + pm_runtime_put_autosuspend(dev); return; + } if (gem->import_attach) drm_prime_gem_destroy(gem, nvbo->bo.sg); @@ -195,7 +197,8 @@ * to the caller, instead of a normal nouveau_bo ttm reference. */ ret = drm_gem_object_init(drm->dev, &nvbo->bo.base, size); if (ret) { - nouveau_bo_ref(NULL, &nvbo); + drm_gem_object_release(&nvbo->bo.base); + kfree(nvbo); return ret; } @@ -566,8 +569,10 @@ NV_PRINTK(err, cli, "validating bo list\n"); validate_fini(op, chan, NULL, NULL); return ret; + } else if (ret > 0) { + *apply_relocs = true; } - *apply_relocs = ret; + return 0; } @@ -670,7 +675,6 @@ nouveau_bo_wr32(nvbo, r->reloc_bo_offset >> 2, data); } - u_free(reloc); return ret; } @@ -881,9 +885,10 @@ break; } } - u_free(reloc); } out_prevalid: + if (!IS_ERR(reloc)) + u_free(reloc); u_free(bo); u_free(push); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_mem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_mem.c @@ -176,6 +176,8 @@ nouveau_mem_del(struct ttm_mem_reg *reg) { struct nouveau_mem *mem = nouveau_mem(reg); + if (!mem) + return; nouveau_mem_fini(mem); kfree(reg->mm_node); reg->mm_node = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_sgdma.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_sgdma.c @@ -96,12 +96,9 @@ else nvbe->ttm.ttm.func = &nv50_sgdma_backend; - if (ttm_dma_tt_init(&nvbe->ttm, bo, page_flags)) - /* - * A failing ttm_dma_tt_init() will call ttm_tt_destroy() - * and thus our nouveau_sgdma_destroy() hook, so we don't need - * to free nvbe here. - */ + if (ttm_dma_tt_init(&nvbe->ttm, bo, page_flags)) { + kfree(nvbe); return NULL; + } return &nvbe->ttm.ttm; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nouveau_svm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nouveau_svm.c @@ -116,11 +116,11 @@ struct nouveau_cli *cli = nouveau_cli(file_priv); struct drm_nouveau_svm_bind *args = data; unsigned target, cmd, priority; - unsigned long addr, end, size; + unsigned long addr, end; struct mm_struct *mm; args->va_start &= PAGE_MASK; - args->va_end &= PAGE_MASK; + args->va_end = ALIGN(args->va_end, PAGE_SIZE); /* Sanity check arguments */ if (args->reserved0 || args->reserved1) @@ -129,8 +129,6 @@ return -EINVAL; if (args->va_start >= args->va_end) return -EINVAL; - if (!args->npages) - return -EINVAL; cmd = args->header >> NOUVEAU_SVM_BIND_COMMAND_SHIFT; cmd &= NOUVEAU_SVM_BIND_COMMAND_MASK; @@ -162,12 +160,6 @@ if (args->stride) return -EINVAL; - size = ((unsigned long)args->npages) << PAGE_SHIFT; - if ((args->va_start + size) <= args->va_start) - return -EINVAL; - if ((args->va_start + size) > args->va_end) - return -EINVAL; - /* * Ok we are ask to do something sane, for now we only support migrate * commands but we will add things like memory policy (what to do on @@ -182,7 +174,7 @@ return -EINVAL; } - for (addr = args->va_start, end = args->va_start + size; addr < end;) { + for (addr = args->va_start, end = args->va_end; addr < end;) { struct vm_area_struct *vma; unsigned long next; @@ -326,6 +318,10 @@ struct drm_nouveau_svm_init *args = data; int ret; + /* We need to fail if svm is disabled */ + if (!cli->drm->svm) + return -ENOSYS; + /* Allocate tracking for SVM-enabled VMM. */ if (!(svmm = kzalloc(sizeof(*svmm), GFP_KERNEL))) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c @@ -2924,17 +2924,34 @@ } } +/* returns true if the GPU is in the CPU native byte order */ static inline bool nvkm_device_endianness(struct nvkm_device *device) { - u32 boot1 = nvkm_rd32(device, 0x000004) & 0x01000001; #ifdef __BIG_ENDIAN - if (!boot1) - return false; + const bool big_endian = true; #else - if (boot1) - return false; + const bool big_endian = false; #endif + + /* Read NV_PMC_BOOT_1, and assume non-functional endian switch if it + * doesn't contain the expected values. + */ + u32 pmc_boot_1 = nvkm_rd32(device, 0x000004); + if (pmc_boot_1 && pmc_boot_1 != 0x01000001) + return !big_endian; /* Assume GPU is LE in this case. */ + + /* 0 means LE and 0x01000001 means BE GPU. Condition is true when + * GPU/CPU endianness don't match. + */ + if (big_endian == !pmc_boot_1) { + nvkm_wr32(device, 0x000004, 0x01000001); + nvkm_rd32(device, 0x000000); + if (nvkm_rd32(device, 0x000004) != (big_endian ? 0x01000001 : 0x00000000)) + return !big_endian; /* Assume GPU is LE on any unexpected read-back. */ + } + + /* CPU/GPU endianness should (hopefully) match. */ return true; } @@ -2987,14 +3004,10 @@ if (detect) { /* switch mmio to cpu's native endianness */ if (!nvkm_device_endianness(device)) { - nvkm_wr32(device, 0x000004, 0x01000001); - nvkm_rd32(device, 0x000000); - if (!nvkm_device_endianness(device)) { - nvdev_error(device, - "GPU not supported on big-endian\n"); - ret = -ENOSYS; - goto done; - } + nvdev_error(device, + "Couldn't switch GPU to CPUs endianess\n"); + ret = -ENOSYS; + goto done; } boot0 = nvkm_rd32(device, 0x000000); @@ -3149,6 +3162,7 @@ case 0x168: device->chip = &nv168_chipset; break; default: nvdev_error(device, "unknown chipset (%08x)\n", boot0); + ret = -ENODEV; goto done; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c @@ -75,7 +75,7 @@ nvkm_debug(subdev, "%08x: type %02x, %d bytes\n", image.base, image.type, image.size); - if (!shadow_fetch(bios, mthd, image.size)) { + if (!shadow_fetch(bios, mthd, image.base + image.size)) { nvkm_debug(subdev, "%08x: fetch failed\n", image.base); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c @@ -33,7 +33,7 @@ gm200_i2c_aux_fini(struct gm200_i2c_aux *aux) { struct nvkm_device *device = aux->base.pad->i2c->subdev.device; - nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00310000, 0x00000000); + nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00710000, 0x00000000); } static int @@ -54,10 +54,10 @@ AUX_ERR(&aux->base, "begin idle timeout %08x", ctrl); return -EBUSY; } - } while (ctrl & 0x03010000); + } while (ctrl & 0x07010000); /* set some magic, and wait up to 1ms for it to appear */ - nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00300000, ureq); + nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00700000, ureq); timeout = 1000; do { ctrl = nvkm_rd32(device, 0x00d954 + (aux->ch * 0x50)); @@ -67,7 +67,7 @@ gm200_i2c_aux_fini(aux); return -EBUSY; } - } while ((ctrl & 0x03000000) != urep); + } while ((ctrl & 0x07000000) != urep); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf100.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf100.c @@ -22,6 +22,7 @@ * Authors: Ben Skeggs */ #include "priv.h" +#include static void gf100_ibus_intr_hub(struct nvkm_subdev *ibus, int i) @@ -31,7 +32,6 @@ u32 data = nvkm_rd32(device, 0x122124 + (i * 0x0400)); u32 stat = nvkm_rd32(device, 0x122128 + (i * 0x0400)); nvkm_debug(ibus, "HUB%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x122128 + (i * 0x0400), 0x00000200, 0x00000000); } static void @@ -42,7 +42,6 @@ u32 data = nvkm_rd32(device, 0x124124 + (i * 0x0400)); u32 stat = nvkm_rd32(device, 0x124128 + (i * 0x0400)); nvkm_debug(ibus, "ROP%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x124128 + (i * 0x0400), 0x00000200, 0x00000000); } static void @@ -53,7 +52,6 @@ u32 data = nvkm_rd32(device, 0x128124 + (i * 0x0400)); u32 stat = nvkm_rd32(device, 0x128128 + (i * 0x0400)); nvkm_debug(ibus, "GPC%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x128128 + (i * 0x0400), 0x00000200, 0x00000000); } void @@ -90,6 +88,12 @@ intr1 &= ~stat; } } + + nvkm_mask(device, 0x121c4c, 0x0000003f, 0x00000002); + nvkm_msec(device, 2000, + if (!(nvkm_rd32(device, 0x121c4c) & 0x0000003f)) + break; + ); } static int --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk104.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk104.c @@ -22,6 +22,7 @@ * Authors: Ben Skeggs */ #include "priv.h" +#include static void gk104_ibus_intr_hub(struct nvkm_subdev *ibus, int i) @@ -31,7 +32,6 @@ u32 data = nvkm_rd32(device, 0x122124 + (i * 0x0800)); u32 stat = nvkm_rd32(device, 0x122128 + (i * 0x0800)); nvkm_debug(ibus, "HUB%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x122128 + (i * 0x0800), 0x00000200, 0x00000000); } static void @@ -42,7 +42,6 @@ u32 data = nvkm_rd32(device, 0x124124 + (i * 0x0800)); u32 stat = nvkm_rd32(device, 0x124128 + (i * 0x0800)); nvkm_debug(ibus, "ROP%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x124128 + (i * 0x0800), 0x00000200, 0x00000000); } static void @@ -53,7 +52,6 @@ u32 data = nvkm_rd32(device, 0x128124 + (i * 0x0800)); u32 stat = nvkm_rd32(device, 0x128128 + (i * 0x0800)); nvkm_debug(ibus, "GPC%d: %06x %08x (%08x)\n", i, addr, data, stat); - nvkm_mask(device, 0x128128 + (i * 0x0800), 0x00000200, 0x00000000); } void @@ -90,6 +88,12 @@ intr1 &= ~stat; } } + + nvkm_mask(device, 0x12004c, 0x0000003f, 0x00000002); + nvkm_msec(device, 2000, + if (!(nvkm_rd32(device, 0x12004c) & 0x0000003f)) + break; + ); } static int --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c @@ -316,9 +316,9 @@ { struct nvkm_device *device = mmu->subdev.device; struct nvkm_mm *mm = &device->fb->ram->vram; - const u32 sizeN = nvkm_mm_heap_size(mm, NVKM_RAM_MM_NORMAL); - const u32 sizeU = nvkm_mm_heap_size(mm, NVKM_RAM_MM_NOMAP); - const u32 sizeM = nvkm_mm_heap_size(mm, NVKM_RAM_MM_MIXED); + const u64 sizeN = nvkm_mm_heap_size(mm, NVKM_RAM_MM_NORMAL); + const u64 sizeU = nvkm_mm_heap_size(mm, NVKM_RAM_MM_NOMAP); + const u64 sizeM = nvkm_mm_heap_size(mm, NVKM_RAM_MM_MIXED); u8 type = NVKM_MEM_KIND * !!mmu->func->kind; u8 heap = NVKM_MEM_VRAM; int heapM, heapN, heapU; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/dss/dispc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/dss/dispc.c @@ -4915,6 +4915,7 @@ static const struct dev_pm_ops dispc_pm_ops = { .runtime_suspend = dispc_runtime_suspend, .runtime_resume = dispc_runtime_resume, + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; struct platform_driver omap_dispchw_driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/dss/dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -5467,6 +5467,7 @@ static const struct dev_pm_ops dsi_pm_ops = { .runtime_suspend = dsi_runtime_suspend, .runtime_resume = dsi_runtime_resume, + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; struct platform_driver omap_dsihw_driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/dss/dss.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/dss/dss.c @@ -1614,6 +1614,7 @@ static const struct dev_pm_ops dss_pm_ops = { .runtime_suspend = dss_runtime_suspend, .runtime_resume = dss_runtime_resume, + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; struct platform_driver omap_dsshw_driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/dss/sdi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/dss/sdi.c @@ -194,8 +194,7 @@ sdi->pixelclock = adjusted_mode->clock * 1000; } -static void sdi_bridge_enable(struct drm_bridge *bridge, - struct drm_bridge_state *bridge_state) +static void sdi_bridge_enable(struct drm_bridge *bridge) { struct sdi_device *sdi = drm_bridge_to_sdi(bridge); struct dispc_clock_info dispc_cinfo; @@ -258,8 +257,7 @@ regulator_disable(sdi->vdds_sdi_reg); } -static void sdi_bridge_disable(struct drm_bridge *bridge, - struct drm_bridge_state *bridge_state) +static void sdi_bridge_disable(struct drm_bridge *bridge) { struct sdi_device *sdi = drm_bridge_to_sdi(bridge); @@ -277,8 +275,8 @@ .mode_valid = sdi_bridge_mode_valid, .mode_fixup = sdi_bridge_mode_fixup, .mode_set = sdi_bridge_mode_set, - .atomic_enable = sdi_bridge_enable, - .atomic_disable = sdi_bridge_disable, + .enable = sdi_bridge_enable, + .disable = sdi_bridge_disable, }; static void sdi_bridge_init(struct sdi_device *sdi) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/dss/venc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/dss/venc.c @@ -902,6 +902,7 @@ static const struct dev_pm_ops venc_pm_ops = { .runtime_suspend = venc_runtime_suspend, .runtime_resume = venc_runtime_resume, + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume) }; static const struct of_device_id venc_of_match[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/omap_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -451,11 +451,12 @@ if (omap_state->manually_updated) return; - spin_lock_irq(&crtc->dev->event_lock); drm_crtc_vblank_on(crtc); + ret = drm_crtc_vblank_get(crtc); WARN_ON(ret != 0); + spin_lock_irq(&crtc->dev->event_lock); omap_crtc_arm_event(crtc); spin_unlock_irq(&crtc->dev->event_lock); } @@ -697,14 +698,16 @@ static void omap_crtc_reset(struct drm_crtc *crtc) { + struct omap_crtc_state *state; + if (crtc->state) __drm_atomic_helper_crtc_destroy_state(crtc->state); kfree(crtc->state); - crtc->state = kzalloc(sizeof(struct omap_crtc_state), GFP_KERNEL); - if (crtc->state) - crtc->state->crtc = crtc; + state = kzalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_reset(crtc, &state->base); } static struct drm_crtc_state * --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c @@ -889,6 +889,7 @@ &omap_dmm->refill_pa, GFP_KERNEL); if (!omap_dmm->refill_va) { dev_err(&dev->dev, "could not allocate refill memory\n"); + ret = -ENOMEM; goto fail; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/omapdrm/omap_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/omapdrm/omap_drv.c @@ -595,7 +595,6 @@ { const struct soc_device_attribute *soc; struct drm_device *ddev; - unsigned int i; int ret; DBG("%s", dev_name(dev)); @@ -642,9 +641,6 @@ goto err_cleanup_modeset; } - for (i = 0; i < priv->num_pipes; i++) - drm_crtc_vblank_off(priv->pipes[i].crtc); - omap_fbdev_init(ddev); drm_kms_helper_poll_init(ddev); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panel/panel-elida-kd35t133.c @@ -276,7 +276,8 @@ dsi->lanes = 1; dsi->format = MIPI_DSI_FMT_RGB888; dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | - MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET; + MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET | + MIPI_DSI_CLOCK_NON_CONTINUOUS; drm_panel_init(&ctx->panel, &dsi->dev, &kd35t133_funcs, DRM_MODE_CONNECTOR_DSI); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c @@ -454,7 +454,7 @@ dsi->lanes = 2; dsi->format = MIPI_DSI_FMT_RGB888; dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | - MIPI_DSI_MODE_LPM; + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS; drm_panel_init(&ctx->panel, dev, &otm8009a_drm_funcs, DRM_MODE_CONNECTOR_DSI); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panel/panel-simple.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panel/panel-simple.c @@ -1238,6 +1238,7 @@ .vsync_end = 1080 + 3 + 6, .vtotal = 1080 + 3 + 6 + 31, .vrefresh = 60, + .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC, }; /* Also used for boe_nv133fhm_n62 */ @@ -1717,7 +1718,7 @@ .vsync_end = 240 + 2 + 6, .vtotal = 240 + 2 + 6 + 2, .vrefresh = 60, - .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, + .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, }; static const struct panel_desc frida_frd350h54004 = { @@ -2304,7 +2305,7 @@ static const struct panel_desc lg_lb070wv8 = { .modes = &lg_lb070wv8_mode, .num_modes = 1, - .bpc = 16, + .bpc = 8, .size = { .width = 151, .height = 91, @@ -2862,12 +2863,12 @@ static const struct panel_desc ortustech_com43h4m85ulc = { .modes = &ortustech_com43h4m85ulc_mode, .num_modes = 1, - .bpc = 8, + .bpc = 6, .size = { .width = 56, .height = 93, }, - .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, .connector_type = DRM_MODE_CONNECTOR_DPI, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panel/panel-sony-acx565akm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panel/panel-sony-acx565akm.c @@ -630,7 +630,7 @@ lcd->spi = spi; mutex_init(&lcd->mutex); - lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_LOW); + lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(lcd->reset_gpio)) { dev_err(&spi->dev, "failed to get reset GPIO\n"); return PTR_ERR(lcd->reset_gpio); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_device.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_device.c @@ -212,60 +212,69 @@ return err; } + err = panfrost_devfreq_init(pfdev); + if (err) { + if (err != -EPROBE_DEFER) + dev_err(pfdev->dev, "devfreq init failed %d\n", err); + goto out_clk; + } + err = panfrost_regulator_init(pfdev); if (err) { dev_err(pfdev->dev, "regulator init failed %d\n", err); - goto err_out0; + goto out_devfreq; } err = panfrost_reset_init(pfdev); if (err) { dev_err(pfdev->dev, "reset init failed %d\n", err); - goto err_out1; + goto out_regulator; } err = panfrost_pm_domain_init(pfdev); if (err) - goto err_out2; + goto out_reset; res = platform_get_resource(pfdev->pdev, IORESOURCE_MEM, 0); pfdev->iomem = devm_ioremap_resource(pfdev->dev, res); if (IS_ERR(pfdev->iomem)) { dev_err(pfdev->dev, "failed to ioremap iomem\n"); err = PTR_ERR(pfdev->iomem); - goto err_out3; + goto out_pm_domain; } err = panfrost_gpu_init(pfdev); if (err) - goto err_out3; + goto out_pm_domain; err = panfrost_mmu_init(pfdev); if (err) - goto err_out4; + goto out_gpu; err = panfrost_job_init(pfdev); if (err) - goto err_out5; + goto out_mmu; err = panfrost_perfcnt_init(pfdev); if (err) - goto err_out6; + goto out_job; return 0; -err_out6: +out_job: panfrost_job_fini(pfdev); -err_out5: +out_mmu: panfrost_mmu_fini(pfdev); -err_out4: +out_gpu: panfrost_gpu_fini(pfdev); -err_out3: +out_pm_domain: panfrost_pm_domain_fini(pfdev); -err_out2: +out_reset: panfrost_reset_fini(pfdev); -err_out1: +out_regulator: panfrost_regulator_fini(pfdev); -err_out0: +out_devfreq: + panfrost_devfreq_fini(pfdev); +out_clk: panfrost_clk_fini(pfdev); return err; } @@ -278,6 +287,7 @@ panfrost_gpu_fini(pfdev); panfrost_pm_domain_fini(pfdev); panfrost_reset_fini(pfdev); + panfrost_devfreq_fini(pfdev); panfrost_regulator_fini(pfdev); panfrost_clk_fini(pfdev); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_device.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_device.h @@ -69,6 +69,9 @@ int num_pm_domains; /* Only required if num_pm_domains > 1. */ const char * const *pm_domain_names; + + /* Vendor implementation quirks callback */ + void (*vendor_quirk)(struct panfrost_device *pfdev); }; struct panfrost_device { @@ -84,6 +87,7 @@ /* pm_domains for devices with more than one. */ struct device *pm_domain_devs[MAX_PM_DOMAINS]; struct device_link *pm_domain_links[MAX_PM_DOMAINS]; + bool coherent; struct panfrost_features features; const struct panfrost_compatible *comp; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_drv.c @@ -14,7 +14,6 @@ #include #include "panfrost_device.h" -#include "panfrost_devfreq.h" #include "panfrost_gem.h" #include "panfrost_mmu.h" #include "panfrost_job.h" @@ -588,6 +587,8 @@ if (!pfdev->comp) return -ENODEV; + pfdev->coherent = device_get_dma_attr(&pdev->dev) == DEV_DMA_COHERENT; + /* Allocate and initialze the DRM device. */ ddev = drm_dev_alloc(&panfrost_drm_driver, &pdev->dev); if (IS_ERR(ddev)) @@ -606,13 +607,6 @@ goto err_out0; } - err = panfrost_devfreq_init(pfdev); - if (err) { - if (err != -EPROBE_DEFER) - dev_err(&pdev->dev, "Fatal error during devfreq init\n"); - goto err_out1; - } - pm_runtime_set_active(pfdev->dev); pm_runtime_mark_last_busy(pfdev->dev); pm_runtime_enable(pfdev->dev); @@ -625,17 +619,16 @@ */ err = drm_dev_register(ddev, 0); if (err < 0) - goto err_out2; + goto err_out1; panfrost_gem_shrinker_init(ddev); return 0; -err_out2: - pm_runtime_disable(pfdev->dev); - panfrost_devfreq_fini(pfdev); err_out1: + pm_runtime_disable(pfdev->dev); panfrost_device_fini(pfdev); + pm_runtime_set_suspended(pfdev->dev); err_out0: drm_dev_put(ddev); return err; @@ -650,10 +643,9 @@ panfrost_gem_shrinker_cleanup(ddev); pm_runtime_get_sync(pfdev->dev); - panfrost_devfreq_fini(pfdev); - panfrost_device_fini(pfdev); - pm_runtime_put_sync_suspend(pfdev->dev); pm_runtime_disable(pfdev->dev); + panfrost_device_fini(pfdev); + pm_runtime_set_suspended(pfdev->dev); drm_dev_put(ddev); return 0; @@ -667,7 +659,18 @@ .pm_domain_names = NULL, }; +static const struct panfrost_compatible amlogic_data = { + .num_supplies = ARRAY_SIZE(default_supplies), + .supply_names = default_supplies, + .vendor_quirk = panfrost_gpu_amlogic_quirk, +}; + static const struct of_device_id dt_match[] = { + /* Set first to probe before the generic compatibles */ + { .compatible = "amlogic,meson-gxm-mali", + .data = &amlogic_data, }, + { .compatible = "amlogic,meson-g12a-mali", + .data = &amlogic_data, }, { .compatible = "arm,mali-t604", .data = &default_data, }, { .compatible = "arm,mali-t624", .data = &default_data, }, { .compatible = "arm,mali-t628", .data = &default_data, }, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_gem.c @@ -41,12 +41,12 @@ for (i = 0; i < n_sgt; i++) { if (bo->sgts[i].sgl) { - dma_unmap_sg(pfdev->dev, bo->sgts[i].sgl, - bo->sgts[i].nents, DMA_BIDIRECTIONAL); + dma_unmap_sgtable(pfdev->dev, &bo->sgts[i], + DMA_BIDIRECTIONAL, 0); sg_free_table(&bo->sgts[i]); } } - kfree(bo->sgts); + kvfree(bo->sgts); } drm_gem_shmem_free_object(obj); @@ -105,14 +105,12 @@ kref_put(&mapping->refcount, panfrost_gem_mapping_release); } -void panfrost_gem_teardown_mappings(struct panfrost_gem_object *bo) +void panfrost_gem_teardown_mappings_locked(struct panfrost_gem_object *bo) { struct panfrost_gem_mapping *mapping; - mutex_lock(&bo->mappings.lock); list_for_each_entry(mapping, &bo->mappings.list, node) panfrost_gem_teardown_mapping(mapping); - mutex_unlock(&bo->mappings.lock); } int panfrost_gem_open(struct drm_gem_object *obj, struct drm_file *file_priv) @@ -220,6 +218,7 @@ */ struct drm_gem_object *panfrost_gem_create_object(struct drm_device *dev, size_t size) { + struct panfrost_device *pfdev = dev->dev_private; struct panfrost_gem_object *obj; obj = kzalloc(sizeof(*obj), GFP_KERNEL); @@ -229,6 +228,7 @@ INIT_LIST_HEAD(&obj->mappings.list); mutex_init(&obj->mappings.lock); obj->base.base.funcs = &panfrost_gem_funcs; + obj->base.map_cached = pfdev->coherent; return &obj->base.base; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_gem.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_gem.h @@ -82,7 +82,7 @@ panfrost_gem_mapping_get(struct panfrost_gem_object *bo, struct panfrost_file_priv *priv); void panfrost_gem_mapping_put(struct panfrost_gem_mapping *mapping); -void panfrost_gem_teardown_mappings(struct panfrost_gem_object *bo); +void panfrost_gem_teardown_mappings_locked(struct panfrost_gem_object *bo); void panfrost_gem_shrinker_init(struct drm_device *dev); void panfrost_gem_shrinker_cleanup(struct drm_device *dev); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c @@ -40,18 +40,26 @@ { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); struct panfrost_gem_object *bo = to_panfrost_bo(obj); + bool ret = false; if (atomic_read(&bo->gpu_usecount)) return false; - if (!mutex_trylock(&shmem->pages_lock)) + if (!mutex_trylock(&bo->mappings.lock)) return false; - panfrost_gem_teardown_mappings(bo); + if (!mutex_trylock(&shmem->pages_lock)) + goto unlock_mappings; + + panfrost_gem_teardown_mappings_locked(bo); drm_gem_shmem_purge_locked(obj); + ret = true; mutex_unlock(&shmem->pages_lock); - return true; + +unlock_mappings: + mutex_unlock(&bo->mappings.lock); + return ret; } static unsigned long --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_gpu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_gpu.c @@ -75,6 +75,17 @@ return 0; } +void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev) +{ + /* + * The Amlogic integrated Mali-T820, Mali-G31 & Mali-G52 needs + * these undocumented bits in GPU_PWR_OVERRIDE1 to be set in order + * to operate correctly. + */ + gpu_write(pfdev, GPU_PWR_KEY, GPU_PWR_KEY_UNLOCK); + gpu_write(pfdev, GPU_PWR_OVERRIDE1, 0xfff | (0x20 << 16)); +} + static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev) { u32 quirks = 0; @@ -135,6 +146,10 @@ if (quirks) gpu_write(pfdev, GPU_JM_CONFIG, quirks); + + /* Here goes platform specific quirks */ + if (pfdev->comp->vendor_quirk) + pfdev->comp->vendor_quirk(pfdev); } #define MAX_HW_REVS 6 @@ -304,16 +319,18 @@ int ret; u32 val; + panfrost_gpu_init_quirks(pfdev); + /* Just turn on everything for now */ gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present); ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO, - val, val == pfdev->features.l2_present, 100, 1000); + val, val == pfdev->features.l2_present, 100, 20000); if (ret) dev_err(pfdev->dev, "error powering up gpu L2"); gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present); ret = readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO, - val, val == pfdev->features.shader_present, 100, 1000); + val, val == pfdev->features.shader_present, 100, 20000); if (ret) dev_err(pfdev->dev, "error powering up gpu shader"); @@ -355,7 +372,6 @@ return err; } - panfrost_gpu_init_quirks(pfdev); panfrost_gpu_power_on(pfdev); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_gpu.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_gpu.h @@ -16,4 +16,6 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev); void panfrost_gpu_power_off(struct panfrost_device *pfdev); +void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev); + #endif --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_job.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_job.c @@ -25,7 +25,8 @@ struct panfrost_queue_state { struct drm_gpu_scheduler sched; - + bool stopped; + struct mutex lock; u64 fence_context; u64 emit_seqno; }; @@ -145,6 +146,8 @@ u64 jc_head = job->jc; int ret; + panfrost_devfreq_record_busy(pfdev); + ret = pm_runtime_get_sync(pfdev->dev); if (ret < 0) return; @@ -155,7 +158,6 @@ } cfg = panfrost_mmu_as_get(pfdev, &job->file_priv->mmu); - panfrost_devfreq_record_busy(pfdev); job_write(pfdev, JS_HEAD_NEXT_LO(js), jc_head & 0xFFFFFFFF); job_write(pfdev, JS_HEAD_NEXT_HI(js), jc_head >> 32); @@ -369,6 +371,24 @@ job_write(pfdev, JOB_INT_MASK, irq_mask); } +static bool panfrost_scheduler_stop(struct panfrost_queue_state *queue, + struct drm_sched_job *bad) +{ + bool stopped = false; + + mutex_lock(&queue->lock); + if (!queue->stopped) { + drm_sched_stop(&queue->sched, bad); + if (bad) + drm_sched_increase_karma(bad); + queue->stopped = true; + stopped = true; + } + mutex_unlock(&queue->lock); + + return stopped; +} + static void panfrost_job_timedout(struct drm_sched_job *sched_job) { struct panfrost_job *job = to_panfrost_job(sched_job); @@ -392,40 +412,60 @@ job_read(pfdev, JS_TAIL_LO(js)), sched_job); + /* Scheduler is already stopped, nothing to do. */ + if (!panfrost_scheduler_stop(&pfdev->js->queue[js], sched_job)) + return; + if (!mutex_trylock(&pfdev->reset_lock)) return; for (i = 0; i < NUM_JOB_SLOTS; i++) { struct drm_gpu_scheduler *sched = &pfdev->js->queue[i].sched; - drm_sched_stop(sched, sched_job); - if (js != i) - /* Ensure any timeouts on other slots have finished */ + /* + * If the queue is still active, make sure we wait for any + * pending timeouts. + */ + if (!pfdev->js->queue[i].stopped) + cancel_delayed_work_sync(&sched->work_tdr); + + /* + * If the scheduler was not already stopped, there's a tiny + * chance a timeout has expired just before we stopped it, and + * drm_sched_stop() does not flush pending works. Let's flush + * them now so the timeout handler doesn't get called in the + * middle of a reset. + */ + if (panfrost_scheduler_stop(&pfdev->js->queue[i], NULL)) cancel_delayed_work_sync(&sched->work_tdr); - } - drm_sched_increase_karma(sched_job); + /* + * Now that we cancelled the pending timeouts, we can safely + * reset the stopped state. + */ + pfdev->js->queue[i].stopped = false; + } spin_lock_irqsave(&pfdev->js->job_lock, flags); for (i = 0; i < NUM_JOB_SLOTS; i++) { if (pfdev->jobs[i]) { pm_runtime_put_noidle(pfdev->dev); + panfrost_devfreq_record_idle(pfdev); pfdev->jobs[i] = NULL; } } spin_unlock_irqrestore(&pfdev->js->job_lock, flags); - panfrost_devfreq_record_idle(pfdev); panfrost_device_reset(pfdev); for (i = 0; i < NUM_JOB_SLOTS; i++) drm_sched_resubmit_jobs(&pfdev->js->queue[i].sched); + mutex_unlock(&pfdev->reset_lock); + /* restart scheduler after GPU is usable again */ for (i = 0; i < NUM_JOB_SLOTS; i++) drm_sched_start(&pfdev->js->queue[i].sched, true); - - mutex_unlock(&pfdev->reset_lock); } static const struct drm_sched_backend_ops panfrost_sched_ops = { @@ -515,6 +555,8 @@ } for (j = 0; j < NUM_JOB_SLOTS; j++) { + mutex_init(&js->queue[j].lock); + js->queue[j].fence_context = dma_fence_context_alloc(1); ret = drm_sched_init(&js->queue[j].sched, @@ -545,8 +587,10 @@ job_write(pfdev, JOB_INT_MASK, 0); - for (j = 0; j < NUM_JOB_SLOTS; j++) + for (j = 0; j < NUM_JOB_SLOTS; j++) { drm_sched_fini(&js->queue[j].sched); + mutex_destroy(&js->queue[j].lock); + } } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_mmu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_mmu.c @@ -253,7 +253,7 @@ struct io_pgtable_ops *ops = mmu->pgtbl_ops; u64 start_iova = iova; - for_each_sg(sgt->sgl, sgl, sgt->nents, count) { + for_each_sgtable_dma_sg(sgt, sgl, count) { unsigned long paddr = sg_dma_address(sgl); size_t len = sg_dma_len(sgl); @@ -371,6 +371,7 @@ .pgsize_bitmap = SZ_4K | SZ_2M, .ias = FIELD_GET(0xff, pfdev->features.mmu_features), .oas = FIELD_GET(0xff00, pfdev->features.mmu_features), + .coherent_walk = pfdev->coherent, .tlb = &mmu_tlb_ops, .iommu_dev = pfdev->dev, }; @@ -486,7 +487,7 @@ pages = kvmalloc_array(bo->base.base.size >> PAGE_SHIFT, sizeof(struct page *), GFP_KERNEL | __GFP_ZERO); if (!pages) { - kfree(bo->sgts); + kvfree(bo->sgts); bo->sgts = NULL; mutex_unlock(&bo->base.pages_lock); ret = -ENOMEM; @@ -517,10 +518,9 @@ if (ret) goto err_pages; - if (!dma_map_sg(pfdev->dev, sgt->sgl, sgt->nents, DMA_BIDIRECTIONAL)) { - ret = -EINVAL; + ret = dma_map_sgtable(pfdev->dev, sgt, DMA_BIDIRECTIONAL, 0); + if (ret) goto err_map; - } mmu_map_sg(pfdev, bomapping->mmu, addr, IOMMU_WRITE | IOMMU_READ | IOMMU_NOEXEC, sgt); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/panfrost/panfrost_regs.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/panfrost/panfrost_regs.h @@ -51,6 +51,10 @@ #define GPU_STATUS 0x34 #define GPU_STATUS_PRFCNT_ACTIVE BIT(2) #define GPU_LATEST_FLUSH_ID 0x38 +#define GPU_PWR_KEY 0x50 /* (WO) Power manager key register */ +#define GPU_PWR_KEY_UNLOCK 0x2968A819 +#define GPU_PWR_OVERRIDE0 0x54 /* (RW) Power manager override settings */ +#define GPU_PWR_OVERRIDE1 0x58 /* (RW) Power manager override settings */ #define GPU_FAULT_STATUS 0x3C #define GPU_FAULT_ADDRESS_LO 0x40 #define GPU_FAULT_ADDRESS_HI 0x44 --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/qxl/qxl_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/qxl/qxl_display.c @@ -325,6 +325,7 @@ head.id = i; head.flags = 0; + head.surface_id = 0; oldcount = qdev->monitors_config->count; if (crtc->state->active) { struct drm_display_mode *mode = &crtc->mode; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/radeon/ci_dpm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/radeon/ci_dpm.c @@ -4351,7 +4351,7 @@ table->mc_reg_table_entry[k].mc_data[j] |= 0x100; } j++; - if (j > SMU7_DISCRETE_MC_REGISTER_ARRAY_SIZE) + if (j >= SMU7_DISCRETE_MC_REGISTER_ARRAY_SIZE) return -EINVAL; if (!pi->mem_gddr5) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/radeon/radeon_connectors.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/radeon/radeon_connectors.c @@ -879,8 +879,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (encoder) { @@ -1025,8 +1027,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } encoder = radeon_best_single_encoder(connector); @@ -1163,8 +1167,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } encoder = radeon_best_single_encoder(connector); @@ -1247,8 +1253,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (radeon_connector->detected_hpd_without_ddc) { @@ -1657,8 +1665,10 @@ if (!drm_kms_helper_is_poll_worker()) { r = pm_runtime_get_sync(connector->dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(connector->dev->dev); return connector_status_disconnected; + } } if (!force && radeon_check_hpd_status_unchanged(connector)) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/radeon/radeon_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/radeon/radeon_display.c @@ -635,8 +635,10 @@ dev = set->crtc->dev; ret = pm_runtime_get_sync(dev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(dev->dev); return ret; + } ret = drm_crtc_helper_set_config(set, ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/radeon/radeon_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/radeon/radeon_drv.c @@ -171,12 +171,7 @@ int radeon_modeset = -1; int radeon_dynclks = -1; int radeon_r4xx_atom = 0; -#ifdef __powerpc__ -/* Default to PCI on PowerPC (fdo #95017) */ int radeon_agpmode = -1; -#else -int radeon_agpmode = 0; -#endif int radeon_vram_limit = 0; int radeon_gart_size = -1; /* auto */ int radeon_benchmarking = 0; @@ -549,8 +544,10 @@ long ret; dev = file_priv->minor->dev; ret = pm_runtime_get_sync(dev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(dev->dev); return ret; + } ret = drm_ioctl(filp, cmd, arg); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/radeon/radeon_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/radeon/radeon_kms.c @@ -638,8 +638,10 @@ file_priv->driver_priv = NULL; r = pm_runtime_get_sync(dev->dev); - if (r < 0) + if (r < 0) { + pm_runtime_put_autosuspend(dev->dev); return r; + } /* new gpu have virtual address space support */ if (rdev->family >= CHIP_CAYMAN) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_cmm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_cmm.c @@ -122,7 +122,7 @@ { int ret; - ret = pm_runtime_get_sync(&pdev->dev); + ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_du_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_du_crtc.c @@ -727,13 +727,10 @@ */ if (rcdu->info->lvds_clk_mask & BIT(rcrtc->index) && rstate->outputs == BIT(RCAR_DU_OUTPUT_DPAD0)) { - struct rcar_du_encoder *encoder = - rcdu->encoders[RCAR_DU_OUTPUT_LVDS0 + rcrtc->index]; + struct drm_bridge *bridge = rcdu->lvds[rcrtc->index]; const struct drm_display_mode *mode = &crtc->state->adjusted_mode; - struct drm_bridge *bridge; - bridge = drm_bridge_chain_get_first_bridge(&encoder->base); rcar_lvds_clk_enable(bridge, mode->clock * 1000); } @@ -759,15 +756,12 @@ if (rcdu->info->lvds_clk_mask & BIT(rcrtc->index) && rstate->outputs == BIT(RCAR_DU_OUTPUT_DPAD0)) { - struct rcar_du_encoder *encoder = - rcdu->encoders[RCAR_DU_OUTPUT_LVDS0 + rcrtc->index]; - struct drm_bridge *bridge; + struct drm_bridge *bridge = rcdu->lvds[rcrtc->index]; /* * Disable the LVDS clock output, see * rcar_du_crtc_atomic_enable(). */ - bridge = drm_bridge_chain_get_first_bridge(&encoder->base); rcar_lvds_clk_disable(bridge); } @@ -975,8 +969,7 @@ state->crc.source = VSP1_DU_CRC_NONE; state->crc.index = 0; - crtc->state = &state->state; - crtc->state->crtc = crtc; + __drm_atomic_helper_crtc_reset(crtc, &state->state); } static int rcar_du_crtc_enable_vblank(struct drm_crtc *crtc) @@ -1271,9 +1264,6 @@ drm_crtc_helper_add(crtc, &crtc_helper_funcs); - /* Start with vertical blanking interrupt reporting disabled. */ - drm_crtc_vblank_off(crtc); - /* Register the interrupt handler. */ if (rcar_du_has(rcdu, RCAR_DU_FEATURE_CRTC_IRQ_CLOCK)) { /* The IRQ's are associated with the CRTC (sw)index. */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_du_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_du_drv.h @@ -20,10 +20,10 @@ struct clk; struct device; +struct drm_bridge; struct drm_device; struct drm_property; struct rcar_du_device; -struct rcar_du_encoder; #define RCAR_DU_FEATURE_CRTC_IRQ_CLOCK BIT(0) /* Per-CRTC IRQ and clock */ #define RCAR_DU_FEATURE_VSP1_SOURCE BIT(1) /* Has inputs from VSP1 */ @@ -71,6 +71,7 @@ #define RCAR_DU_MAX_CRTCS 4 #define RCAR_DU_MAX_GROUPS DIV_ROUND_UP(RCAR_DU_MAX_CRTCS, 2) #define RCAR_DU_MAX_VSPS 4 +#define RCAR_DU_MAX_LVDS 2 struct rcar_du_device { struct device *dev; @@ -83,11 +84,10 @@ struct rcar_du_crtc crtcs[RCAR_DU_MAX_CRTCS]; unsigned int num_crtcs; - struct rcar_du_encoder *encoders[RCAR_DU_OUTPUT_MAX]; - struct rcar_du_group groups[RCAR_DU_MAX_GROUPS]; struct platform_device *cmms[RCAR_DU_MAX_CRTCS]; struct rcar_du_vsp vsps[RCAR_DU_MAX_VSPS]; + struct drm_bridge *lvds[RCAR_DU_MAX_LVDS]; struct { struct drm_property *colorkey; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_du_encoder.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_du_encoder.c @@ -57,7 +57,6 @@ if (renc == NULL) return -ENOMEM; - rcdu->encoders[output] = renc; renc->output = output; encoder = rcar_encoder_to_drm_encoder(renc); @@ -91,6 +90,10 @@ ret = -EPROBE_DEFER; goto done; } + + if (output == RCAR_DU_OUTPUT_LVDS0 || + output == RCAR_DU_OUTPUT_LVDS1) + rcdu->lvds[output - RCAR_DU_OUTPUT_LVDS0] = bridge; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_du_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_du_kms.c @@ -650,10 +650,10 @@ int ret; cmm = of_parse_phandle(np, "renesas,cmms", i); - if (IS_ERR(cmm)) { + if (!cmm) { dev_err(rcdu->dev, "Failed to parse 'renesas,cmms' property\n"); - return PTR_ERR(cmm); + return -EINVAL; } if (!of_device_is_available(cmm)) { @@ -663,10 +663,10 @@ } pdev = of_find_device_by_node(cmm); - if (IS_ERR(pdev)) { + if (!pdev) { dev_err(rcdu->dev, "No device found for CMM%u\n", i); of_node_put(cmm); - return PTR_ERR(pdev); + return -EINVAL; } of_node_put(cmm); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rcar-du/rcar_du_vsp.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -341,6 +342,13 @@ .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, }; +static void rcar_du_vsp_cleanup(struct drm_device *dev, void *res) +{ + struct rcar_du_vsp *vsp = res; + + put_device(vsp->vsp); +} + int rcar_du_vsp_init(struct rcar_du_vsp *vsp, struct device_node *np, unsigned int crtcs) { @@ -357,6 +365,10 @@ vsp->vsp = &pdev->dev; + ret = drmm_add_action(rcdu->ddev, rcar_du_vsp_cleanup, vsp); + if (ret < 0) + return ret; + ret = vsp1_du_init(vsp->vsp); if (ret < 0) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.h @@ -17,9 +17,20 @@ #define NUM_YUV2YUV_COEFFICIENTS 12 +/* AFBC supports a number of configurable modes. Relevant to us is block size + * (16x16 or 32x8), storage modifiers (SPARSE, SPLIT), and the YUV-like + * colourspace transform (YTR). 16x16 SPARSE mode is always used. SPLIT mode + * could be enabled via the hreg_block_split register, but is not currently + * handled. The colourspace transform is implicitly always assumed by the + * decoder, so consumers must use this transform as well. + * + * Failure to match modifiers will cause errors displaying AFBC buffers + * produced by conformant AFBC producers, including Mesa. + */ #define ROCKCHIP_AFBC_MOD \ DRM_FORMAT_MOD_ARM_AFBC( \ AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 | AFBC_FORMAT_MOD_SPARSE \ + | AFBC_FORMAT_MOD_YTR \ ) enum vop_data_format { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -544,7 +544,7 @@ struct device_node *port, *endpoint; int ret = 0, child_count = 0; const char *name; - u32 endpoint_id; + u32 endpoint_id = 0; lvds->drm_dev = drm_dev; port = of_graph_get_port_by_id(dev->of_node, 1); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/scheduler/sched_main.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/scheduler/sched_main.c @@ -623,7 +623,7 @@ return NULL; /* Kernel run queue has higher priority than normal run queue*/ - for (i = DRM_SCHED_PRIORITY_MAX - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { + for (i = DRM_SCHED_PRIORITY_COUNT - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { entity = drm_sched_rq_select_entity(&sched->sched_rq[i]); if (entity) break; @@ -851,7 +851,7 @@ sched->name = name; sched->timeout = timeout; sched->hang_limit = hang_limit; - for (i = DRM_SCHED_PRIORITY_MIN; i < DRM_SCHED_PRIORITY_MAX; i++) + for (i = DRM_SCHED_PRIORITY_MIN; i < DRM_SCHED_PRIORITY_COUNT; i++) drm_sched_rq_init(sched, &sched->sched_rq[i]); init_waitqueue_head(&sched->wake_up_worker); @@ -889,6 +889,9 @@ if (sched->thread) kthread_stop(sched->thread); + /* Confirm no work left behind accessing device structures */ + cancel_delayed_work_sync(&sched->work_tdr); + sched->ready = false; } EXPORT_SYMBOL(drm_sched_fini); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/stm/ltdc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/stm/ltdc.c @@ -423,9 +423,12 @@ struct drm_crtc_state *old_state) { struct ltdc_device *ldev = crtc_to_ltdc(crtc); + struct drm_device *ddev = crtc->dev; DRM_DEBUG_DRIVER("\n"); + pm_runtime_get_sync(ddev->dev); + /* Sets the background color value */ reg_write(ldev->regs, LTDC_BCCR, BCCR_BCBLACK); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun4i_backend.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun4i_backend.c @@ -589,8 +589,7 @@ /* We can't have an alpha plane at the lowest position */ if (!backend->quirks->supports_lowest_plane_alpha && - (plane_states[0]->fb->format->has_alpha || - (plane_states[0]->alpha != DRM_BLEND_ALPHA_OPAQUE))) + (plane_states[0]->alpha != DRM_BLEND_ALPHA_OPAQUE)) return -EINVAL; for (i = 1; i < num_planes; i++) { @@ -995,7 +994,6 @@ static const struct sun4i_backend_quirks sun7i_backend_quirks = { .needs_output_muxing = true, - .supports_lowest_plane_alpha = true, }; static const struct sun4i_backend_quirks sun8i_a33_backend_quirks = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun4i_frontend.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun4i_frontend.c @@ -407,6 +407,7 @@ struct drm_framebuffer *fb = state->fb; const struct drm_format_info *format = fb->format; uint64_t modifier = fb->modifier; + unsigned int ch1_phase_idx; u32 out_fmt_val; u32 in_fmt_val, in_mod_val, in_ps_val; unsigned int i; @@ -442,18 +443,19 @@ * I have no idea what this does exactly, but it seems to be * related to the scaler FIR filter phase parameters. */ + ch1_phase_idx = (format->num_planes > 1) ? 1 : 0; regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_HORZPHASE_REG, - frontend->data->ch_phase[0].horzphase); + frontend->data->ch_phase[0]); regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_HORZPHASE_REG, - frontend->data->ch_phase[1].horzphase); + frontend->data->ch_phase[ch1_phase_idx]); regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE0_REG, - frontend->data->ch_phase[0].vertphase[0]); + frontend->data->ch_phase[0]); regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE0_REG, - frontend->data->ch_phase[1].vertphase[0]); + frontend->data->ch_phase[ch1_phase_idx]); regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE1_REG, - frontend->data->ch_phase[0].vertphase[1]); + frontend->data->ch_phase[0]); regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE1_REG, - frontend->data->ch_phase[1].vertphase[1]); + frontend->data->ch_phase[ch1_phase_idx]); /* * Checking the input format is sufficient since we currently only @@ -687,30 +689,12 @@ }; static const struct sun4i_frontend_data sun4i_a10_frontend = { - .ch_phase = { - { - .horzphase = 0, - .vertphase = { 0, 0 }, - }, - { - .horzphase = 0xfc000, - .vertphase = { 0xfc000, 0xfc000 }, - }, - }, + .ch_phase = { 0x000, 0xfc000 }, .has_coef_rdy = true, }; static const struct sun4i_frontend_data sun8i_a33_frontend = { - .ch_phase = { - { - .horzphase = 0x400, - .vertphase = { 0x400, 0x400 }, - }, - { - .horzphase = 0x400, - .vertphase = { 0x400, 0x400 }, - }, - }, + .ch_phase = { 0x400, 0xfc400 }, .has_coef_access_ctrl = true, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun4i_frontend.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun4i_frontend.h @@ -115,11 +115,7 @@ struct sun4i_frontend_data { bool has_coef_access_ctrl; bool has_coef_rdy; - - struct { - u32 horzphase; - u32 vertphase[2]; - } ch_phase[2]; + u32 ch_phase[2]; }; struct sun4i_frontend { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -571,30 +571,13 @@ if (info->bus_flags & DRM_BUS_FLAG_DE_LOW) val |= SUN4I_TCON0_IO_POL_DE_NEGATIVE; - /* - * On A20 and similar SoCs, the only way to achieve Positive Edge - * (Rising Edge), is setting dclk clock phase to 2/3(240°). - * By default TCON works in Negative Edge(Falling Edge), - * this is why phase is set to 0 in that case. - * Unfortunately there's no way to logically invert dclk through - * IO_POL register. - * The only acceptable way to work, triple checked with scope, - * is using clock phase set to 0° for Negative Edge and set to 240° - * for Positive Edge. - * On A33 and similar SoCs there would be a 90° phase option, - * but it divides also dclk by 2. - * Following code is a way to avoid quirks all around TCON - * and DOTCLOCK drivers. - */ - if (info->bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE) - clk_set_phase(tcon->dclk, 240); - if (info->bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) - clk_set_phase(tcon->dclk, 0); + val |= SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE; regmap_update_bits(tcon->regs, SUN4I_TCON0_IO_POL_REG, SUN4I_TCON0_IO_POL_HSYNC_POSITIVE | SUN4I_TCON0_IO_POL_VSYNC_POSITIVE | + SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE | SUN4I_TCON0_IO_POL_DE_NEGATIVE, val); @@ -691,6 +674,30 @@ SUN4I_TCON1_BASIC5_V_SYNC(vsync) | SUN4I_TCON1_BASIC5_H_SYNC(hsync)); + /* Setup the polarity of multiple signals */ + if (tcon->quirks->polarity_in_ch0) { + val = 0; + + if (mode->flags & DRM_MODE_FLAG_PHSYNC) + val |= SUN4I_TCON0_IO_POL_HSYNC_POSITIVE; + + if (mode->flags & DRM_MODE_FLAG_PVSYNC) + val |= SUN4I_TCON0_IO_POL_VSYNC_POSITIVE; + + regmap_write(tcon->regs, SUN4I_TCON0_IO_POL_REG, val); + } else { + /* according to vendor driver, this bit must be always set */ + val = SUN4I_TCON1_IO_POL_UNKNOWN; + + if (mode->flags & DRM_MODE_FLAG_PHSYNC) + val |= SUN4I_TCON1_IO_POL_HSYNC_POSITIVE; + + if (mode->flags & DRM_MODE_FLAG_PVSYNC) + val |= SUN4I_TCON1_IO_POL_VSYNC_POSITIVE; + + regmap_write(tcon->regs, SUN4I_TCON1_IO_POL_REG, val); + } + /* Map output pins to channel 1 */ regmap_update_bits(tcon->regs, SUN4I_TCON_GCTL_REG, SUN4I_TCON_GCTL_IOMAP_MASK, @@ -1433,14 +1440,18 @@ if (IS_ENABLED(CONFIG_DRM_SUN8I_TCON_TOP) && encoder->encoder_type == DRM_MODE_ENCODER_TMDS) { ret = sun8i_tcon_top_set_hdmi_src(&pdev->dev, id); - if (ret) + if (ret) { + put_device(&pdev->dev); return ret; + } } if (IS_ENABLED(CONFIG_DRM_SUN8I_TCON_TOP)) { ret = sun8i_tcon_top_de_config(&pdev->dev, tcon->id, id); - if (ret) + if (ret) { + put_device(&pdev->dev); return ret; + } } return 0; @@ -1515,6 +1526,7 @@ static const struct sun4i_tcon_quirks sun8i_r40_tv_quirks = { .has_channel_1 = true, + .polarity_in_ch0 = true, .set_mux = sun8i_r40_tcon_tv_set_mux, }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun4i_tcon.h @@ -113,6 +113,7 @@ #define SUN4I_TCON0_IO_POL_REG 0x88 #define SUN4I_TCON0_IO_POL_DCLK_PHASE(phase) ((phase & 3) << 28) #define SUN4I_TCON0_IO_POL_DE_NEGATIVE BIT(27) +#define SUN4I_TCON0_IO_POL_DCLK_DRIVE_NEGEDGE BIT(26) #define SUN4I_TCON0_IO_POL_HSYNC_POSITIVE BIT(25) #define SUN4I_TCON0_IO_POL_VSYNC_POSITIVE BIT(24) @@ -153,6 +154,11 @@ #define SUN4I_TCON1_BASIC5_V_SYNC(height) (((height) - 1) & 0x3ff) #define SUN4I_TCON1_IO_POL_REG 0xf0 +/* there is no documentation about this bit */ +#define SUN4I_TCON1_IO_POL_UNKNOWN BIT(26) +#define SUN4I_TCON1_IO_POL_HSYNC_POSITIVE BIT(25) +#define SUN4I_TCON1_IO_POL_VSYNC_POSITIVE BIT(24) + #define SUN4I_TCON1_IO_TRI_REG 0xf4 #define SUN4I_TCON_ECC_FIFO_REG 0xf8 @@ -235,6 +241,7 @@ bool needs_de_be_mux; /* sun6i needs mux to select backend */ bool needs_edp_reset; /* a80 edp reset needed for tcon0 access */ bool supports_lvds; /* Does the TCON support an LVDS output? */ + bool polarity_in_ch0; /* some tcon1 channels have polarity bits in tcon0 pol register */ u8 dclk_min_div; /* minimum divider for TCON0 DCLK */ /* callback to handle tcon muxing options */ --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -889,7 +889,7 @@ regmap_write(dsi->regs, SUN6I_DSI_CMD_TX_REG(0), sun6i_dsi_dcs_build_pkt_hdr(dsi, msg)); - bounce = kzalloc(msg->tx_len + sizeof(crc), GFP_KERNEL); + bounce = kzalloc(ALIGN(msg->tx_len + sizeof(crc), 4), GFP_KERNEL); if (!bounce) return -ENOMEM; @@ -900,7 +900,7 @@ memcpy((u8 *)bounce + msg->tx_len, &crc, sizeof(crc)); len += sizeof(crc); - regmap_bulk_write(dsi->regs, SUN6I_DSI_CMD_TX_REG(1), bounce, len); + regmap_bulk_write(dsi->regs, SUN6I_DSI_CMD_TX_REG(1), bounce, DIV_ROUND_UP(len, 4)); regmap_write(dsi->regs, SUN6I_DSI_CMD_CTL_REG, len + 4 - 1); kfree(bounce); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_csc.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_csc.h @@ -12,7 +12,7 @@ /* VI channel CSC units offsets */ #define CCSC00_OFFSET 0xAA050 -#define CCSC01_OFFSET 0xFA000 +#define CCSC01_OFFSET 0xFA050 #define CCSC10_OFFSET 0xA0000 #define CCSC11_OFFSET 0xF0000 --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c @@ -21,8 +21,7 @@ { struct sun8i_dw_hdmi *hdmi = encoder_to_sun8i_dw_hdmi(encoder); - if (hdmi->quirks->set_rate) - clk_set_rate(hdmi->clk_tmds, mode->crtc_clock * 1000); + clk_set_rate(hdmi->clk_tmds, mode->crtc_clock * 1000); } static const struct drm_encoder_helper_funcs @@ -46,11 +45,9 @@ { /* * Controller support maximum of 594 MHz, which correlates to - * 4K@60Hz 4:4:4 or RGB. However, for frequencies greater than - * 340 MHz scrambling has to be enabled. Because scrambling is - * not yet implemented, just limit to 340 MHz for now. + * 4K@60Hz 4:4:4 or RGB. */ - if (mode->clock > 340000) + if (mode->clock > 594000) return MODE_CLOCK_HIGH; return MODE_OK; @@ -206,6 +203,7 @@ phy_node = of_parse_phandle(dev->of_node, "phys", 0); if (!phy_node) { dev_err(dev, "Can't found PHY phandle\n"); + ret = -EINVAL; goto err_disable_clk_tmds; } @@ -292,7 +290,6 @@ static const struct sun8i_dw_hdmi_quirks sun8i_a83t_quirks = { .mode_valid = sun8i_dw_hdmi_mode_valid_a83t, - .set_rate = true, }; static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h @@ -178,7 +178,6 @@ struct sun8i_dw_hdmi_quirks { enum drm_mode_status (*mode_valid)(struct drm_connector *connector, const struct drm_display_mode *mode); - unsigned int set_rate : 1; unsigned int use_drm_infoframe : 1; }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c @@ -104,29 +104,21 @@ static const struct dw_hdmi_curr_ctrl sun50i_h6_cur_ctr[] = { /* pixelclk bpp8 bpp10 bpp12 */ - { 25175000, { 0x0000, 0x0000, 0x0000 }, }, { 27000000, { 0x0012, 0x0000, 0x0000 }, }, - { 59400000, { 0x0008, 0x0008, 0x0008 }, }, - { 72000000, { 0x0008, 0x0008, 0x001b }, }, - { 74250000, { 0x0013, 0x0013, 0x0013 }, }, - { 90000000, { 0x0008, 0x001a, 0x001b }, }, - { 118800000, { 0x001b, 0x001a, 0x001b }, }, - { 144000000, { 0x001b, 0x001a, 0x0034 }, }, - { 180000000, { 0x001b, 0x0033, 0x0034 }, }, - { 216000000, { 0x0036, 0x0033, 0x0034 }, }, - { 237600000, { 0x0036, 0x0033, 0x001b }, }, - { 288000000, { 0x0036, 0x001b, 0x001b }, }, - { 297000000, { 0x0019, 0x001b, 0x0019 }, }, - { 330000000, { 0x0036, 0x001b, 0x001b }, }, - { 594000000, { 0x003f, 0x001b, 0x001b }, }, + { 74250000, { 0x0013, 0x001a, 0x001b }, }, + { 148500000, { 0x0019, 0x0033, 0x0034 }, }, + { 297000000, { 0x0019, 0x001b, 0x001b }, }, + { 594000000, { 0x0010, 0x001b, 0x001b }, }, { ~0UL, { 0x0000, 0x0000, 0x0000 }, } }; static const struct dw_hdmi_phy_config sun50i_h6_phy_config[] = { /*pixelclk symbol term vlev*/ - { 74250000, 0x8009, 0x0004, 0x0232}, - { 148500000, 0x8029, 0x0004, 0x0273}, - { 594000000, 0x8039, 0x0004, 0x014a}, + { 27000000, 0x8009, 0x0007, 0x02b0 }, + { 74250000, 0x8009, 0x0006, 0x022d }, + { 148500000, 0x8029, 0x0006, 0x0270 }, + { 297000000, 0x8039, 0x0005, 0x01ab }, + { 594000000, 0x8029, 0x0000, 0x008a }, { ~0UL, 0x0000, 0x0000, 0x0000} }; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_mixer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_mixer.c @@ -307,7 +307,7 @@ .reg_bits = 32, .val_bits = 32, .reg_stride = 4, - .max_register = 0xbfffc, /* guessed */ + .max_register = 0xffffc, /* guessed */ }; static int sun8i_mixer_of_get_id(struct device_node *node) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/sun4i/sun8i_vi_layer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/sun4i/sun8i_vi_layer.c @@ -211,7 +211,7 @@ return 0; } -static bool sun8i_vi_layer_get_csc_mode(const struct drm_format_info *format) +static u32 sun8i_vi_layer_get_csc_mode(const struct drm_format_info *format) { if (!format->is_yuv) return SUN8I_CSC_MODE_OFF; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/dc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/dc.c @@ -1169,7 +1169,6 @@ tegra_crtc_atomic_destroy_state(crtc, crtc->state); __drm_atomic_helper_crtc_reset(crtc, &state->base); - drm_crtc_vblank_reset(crtc); } static struct drm_crtc_state * @@ -1661,6 +1660,11 @@ dev_err(dc->dev, "failed to set clock rate to %lu Hz\n", state->pclk); + + err = clk_set_rate(dc->clk, state->pclk); + if (err < 0) + dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n", + dc->clk, state->pclk, err); } DRM_DEBUG_KMS("rate: %lu, div: %u\n", clk_get_rate(dc->clk), @@ -1671,11 +1675,6 @@ value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1; tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL); } - - err = clk_set_rate(dc->clk, state->pclk); - if (err < 0) - dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n", - dc->clk, state->pclk, err); } static void tegra_dc_stop(struct tegra_dc *dc) @@ -2157,7 +2156,7 @@ struct device *dev = client->dev; int err; - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get runtime PM: %d\n", err); return err; @@ -2472,22 +2471,18 @@ * POWER_CONTROL registers during CRTC enabling. */ if (dc->soc->coupled_pm && dc->pipe == 1) { - u32 flags = DL_FLAG_PM_RUNTIME | DL_FLAG_AUTOREMOVE_CONSUMER; - struct device_link *link; - struct device *partner; - - partner = driver_find_device(dc->dev->driver, NULL, NULL, - tegra_dc_match_by_pipe); - if (!partner) + struct device *companion; + struct tegra_dc *parent; + + companion = driver_find_device(dc->dev->driver, NULL, (const void *)0, + tegra_dc_match_by_pipe); + if (!companion) return -EPROBE_DEFER; - link = device_link_add(dc->dev, partner, flags); - if (!link) { - dev_err(dc->dev, "failed to link controllers\n"); - return -EINVAL; - } + parent = dev_get_drvdata(companion); + dc->client.parent = &parent->client; - dev_dbg(dc->dev, "coupled to %s\n", dev_name(partner)); + dev_dbg(dc->dev, "coupled to %s\n", dev_name(companion)); } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/drm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/drm.c @@ -90,7 +90,7 @@ if (!fpriv) return -ENOMEM; - idr_init(&fpriv->contexts); + idr_init_base(&fpriv->contexts, 1); mutex_init(&fpriv->lock); filp->driver_priv = fpriv; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/dsi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/dsi.c @@ -1106,7 +1106,7 @@ struct device *dev = client->dev; int err; - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get runtime PM: %d\n", err); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/hdmi.c @@ -1510,7 +1510,7 @@ struct device *dev = client->dev; int err; - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get runtime PM: %d\n", err); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/hub.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/hub.c @@ -789,7 +789,7 @@ unsigned int i; int err; - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get runtime PM: %d\n", err); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/sor.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/sor.c @@ -3117,6 +3117,12 @@ * kernel is possible. */ if (sor->rst) { + err = pm_runtime_resume_and_get(sor->dev); + if (err < 0) { + dev_err(sor->dev, "failed to get runtime PM: %d\n", err); + return err; + } + err = reset_control_acquire(sor->rst); if (err < 0) { dev_err(sor->dev, "failed to acquire SOR reset: %d\n", @@ -3145,19 +3151,26 @@ if (err < 0) { dev_err(sor->dev, "failed to deassert SOR reset: %d\n", err); + clk_disable_unprepare(sor->clk); return err; } reset_control_release(sor->rst); + pm_runtime_put(sor->dev); } err = clk_prepare_enable(sor->clk_safe); - if (err < 0) + if (err < 0) { + clk_disable_unprepare(sor->clk); return err; + } err = clk_prepare_enable(sor->clk_dp); - if (err < 0) + if (err < 0) { + clk_disable_unprepare(sor->clk_safe); + clk_disable_unprepare(sor->clk); return err; + } return 0; } @@ -3214,7 +3227,7 @@ struct device *dev = client->dev; int err; - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get runtime PM: %d\n", err); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tegra/vic.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tegra/vic.c @@ -314,7 +314,7 @@ struct vic *vic = to_vic(client); int err; - err = pm_runtime_get_sync(vic->dev); + err = pm_runtime_resume_and_get(vic->dev); if (err < 0) return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tidss/tidss_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tidss/tidss_crtc.c @@ -352,8 +352,7 @@ return; } - crtc->state = &tcrtc->base; - crtc->state->crtc = crtc; + __drm_atomic_helper_crtc_reset(crtc, &tcrtc->base); } static struct drm_crtc_state *tidss_crtc_duplicate_state(struct drm_crtc *crtc) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tidss/tidss_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tidss/tidss_kms.c @@ -154,7 +154,7 @@ break; case DISPC_VP_DPI: enc_type = DRM_MODE_ENCODER_DPI; - conn_type = DRM_MODE_CONNECTOR_LVDS; + conn_type = DRM_MODE_CONNECTOR_DPI; break; default: WARN_ON(1); @@ -253,7 +253,6 @@ int tidss_modeset_init(struct tidss_device *tidss) { struct drm_device *ddev = &tidss->ddev; - unsigned int i; int ret; dev_dbg(tidss->dev, "%s\n", __func__); @@ -278,10 +277,6 @@ if (ret) return ret; - /* Start with vertical blanking interrupt reporting disabled. */ - for (i = 0; i < tidss->num_crtcs; ++i) - drm_crtc_vblank_reset(tidss->crtcs[i]); - drm_mode_config_reset(ddev); dev_dbg(tidss->dev, "%s done\n", __func__); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -139,12 +139,16 @@ int i; for (i = 0; i < timings->num_timings; i++) { - struct drm_display_mode *mode = drm_mode_create(dev); + struct drm_display_mode *mode; struct videomode vm; if (videomode_from_timings(timings, &vm, i)) break; + mode = drm_mode_create(dev); + if (!mode) + break; + drm_display_mode_from_videomode(&vm, mode); mode->type = DRM_MODE_TYPE_DRIVER; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tiny/gm12u320.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tiny/gm12u320.c @@ -83,6 +83,7 @@ struct gm12u320_device { struct drm_device dev; + struct device *dmadev; struct drm_simple_display_pipe pipe; struct drm_connector conn; struct usb_device *udev; @@ -598,6 +599,22 @@ DRM_FORMAT_MOD_INVALID }; +/* + * FIXME: Dma-buf sharing requires DMA support by the importing device. + * This function is a workaround to make USB devices work as well. + * See todo.rst for how to fix the issue in the dma-buf framework. + */ +static struct drm_gem_object *gm12u320_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf) +{ + struct gm12u320_device *gm12u320 = to_gm12u320(dev); + + if (!gm12u320->dmadev) + return ERR_PTR(-ENODEV); + + return drm_gem_prime_import_dev(dev, dma_buf, gm12u320->dmadev); +} + DEFINE_DRM_GEM_FOPS(gm12u320_fops); static struct drm_driver gm12u320_drm_driver = { @@ -611,6 +628,7 @@ .fops = &gm12u320_fops, DRM_GEM_SHMEM_DRIVER_OPS, + .gem_prime_import = gm12u320_gem_prime_import, }; static const struct drm_mode_config_funcs gm12u320_mode_config_funcs = { @@ -637,16 +655,19 @@ struct gm12u320_device, dev); if (IS_ERR(gm12u320)) return PTR_ERR(gm12u320); + dev = &gm12u320->dev; + + gm12u320->dmadev = usb_intf_get_dma_device(to_usb_interface(dev->dev)); + if (!gm12u320->dmadev) + drm_warn(dev, "buffer sharing not supported"); /* not an error */ gm12u320->udev = interface_to_usbdev(interface); INIT_DELAYED_WORK(&gm12u320->fb_update.work, gm12u320_fb_update_work); mutex_init(&gm12u320->fb_update.lock); - dev = &gm12u320->dev; - ret = drmm_mode_config_init(dev); if (ret) - return ret; + goto err_put_device; dev->mode_config.min_width = GM12U320_USER_WIDTH; dev->mode_config.max_width = GM12U320_USER_WIDTH; @@ -656,15 +677,15 @@ ret = gm12u320_usb_alloc(gm12u320); if (ret) - return ret; + goto err_put_device; ret = gm12u320_set_ecomode(gm12u320); if (ret) - return ret; + goto err_put_device; ret = gm12u320_conn_init(gm12u320); if (ret) - return ret; + goto err_put_device; ret = drm_simple_display_pipe_init(&gm12u320->dev, &gm12u320->pipe, @@ -674,24 +695,31 @@ gm12u320_pipe_modifiers, &gm12u320->conn); if (ret) - return ret; + goto err_put_device; drm_mode_config_reset(dev); usb_set_intfdata(interface, dev); ret = drm_dev_register(dev, 0); if (ret) - return ret; + goto err_put_device; drm_fbdev_generic_setup(dev, 0); return 0; + +err_put_device: + put_device(gm12u320->dmadev); + return ret; } static void gm12u320_usb_disconnect(struct usb_interface *interface) { struct drm_device *dev = usb_get_intfdata(interface); + struct gm12u320_device *gm12u320 = to_gm12u320(dev); + put_device(gm12u320->dmadev); + gm12u320->dmadev = NULL; drm_dev_unplug(dev); drm_atomic_helper_shutdown(dev); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ttm/ttm_bo.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ttm/ttm_bo.c @@ -708,7 +708,7 @@ /* Don't evict this BO if it's outside of the * requested placement range */ - if (place->fpfn >= (bo->mem.start + bo->mem.size) || + if (place->fpfn >= (bo->mem.start + bo->mem.num_pages) || (place->lpfn && place->lpfn <= bo->mem.start)) return false; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -505,8 +505,10 @@ int ttm_bo_vm_access(struct vm_area_struct *vma, unsigned long addr, void *buf, int len, int write) { - unsigned long offset = (addr) - vma->vm_start; struct ttm_buffer_object *bo = vma->vm_private_data; + unsigned long offset = (addr) - vma->vm_start + + ((vma->vm_pgoff - drm_vma_node_start(&bo->base.vma_node)) + << PAGE_SHIFT); int ret; if (len < 1 || (offset + len) >> PAGE_SHIFT > bo->num_pages) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/ttm/ttm_tt.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/ttm/ttm_tt.c @@ -242,7 +242,6 @@ ttm_tt_init_fields(ttm, bo, page_flags); if (ttm_tt_alloc_page_directory(ttm)) { - ttm_tt_destroy(ttm); pr_err("Failed allocating page table\n"); return -ENOMEM; } @@ -266,7 +265,6 @@ INIT_LIST_HEAD(&ttm_dma->pages_list); if (ttm_dma_tt_alloc_page_directory(ttm_dma)) { - ttm_tt_destroy(ttm); pr_err("Failed allocating page table\n"); return -ENOMEM; } @@ -288,7 +286,6 @@ else ret = ttm_dma_tt_alloc_page_directory(ttm_dma); if (ret) { - ttm_tt_destroy(ttm); pr_err("Failed allocating page table\n"); return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tve200/tve200_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tve200/tve200_display.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -130,9 +131,25 @@ struct drm_connector *connector = priv->connector; u32 format = fb->format->format; u32 ctrl1 = 0; + int retries; clk_prepare_enable(priv->clk); + /* Reset the TVE200 and wait for it to come back online */ + writel(TVE200_CTRL_4_RESET, priv->regs + TVE200_CTRL_4); + for (retries = 0; retries < 5; retries++) { + usleep_range(30000, 50000); + if (readl(priv->regs + TVE200_CTRL_4) & TVE200_CTRL_4_RESET) + continue; + else + break; + } + if (retries == 5 && + readl(priv->regs + TVE200_CTRL_4) & TVE200_CTRL_4_RESET) { + dev_err(drm->dev, "can't get hardware out of reset\n"); + return; + } + /* Function 1 */ ctrl1 |= TVE200_CTRL_CSMODE; /* Interlace mode for CCIR656: parameterize? */ @@ -230,8 +247,9 @@ drm_crtc_vblank_off(crtc); - /* Disable and Power Down */ + /* Disable put into reset and Power Down */ writel(0, priv->regs + TVE200_CTRL); + writel(TVE200_CTRL_4_RESET, priv->regs + TVE200_CTRL_4); clk_disable_unprepare(priv->clk); } @@ -279,6 +297,8 @@ struct drm_device *drm = crtc->dev; struct tve200_drm_dev_private *priv = drm->dev_private; + /* Clear any IRQs and enable */ + writel(0xFF, priv->regs + TVE200_INT_CLR); writel(TVE200_INT_V_STATUS, priv->regs + TVE200_INT_EN); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/tve200/tve200_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/tve200/tve200_drv.c @@ -210,8 +210,8 @@ } irq = platform_get_irq(pdev, 0); - if (!irq) { - ret = -EINVAL; + if (irq < 0) { + ret = irq; goto clk_disable; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/udl/udl_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/udl/udl_drv.c @@ -32,6 +32,22 @@ return drm_mode_config_helper_resume(dev); } +/* + * FIXME: Dma-buf sharing requires DMA support by the importing device. + * This function is a workaround to make USB devices work as well. + * See todo.rst for how to fix the issue in the dma-buf framework. + */ +static struct drm_gem_object *udl_driver_gem_prime_import(struct drm_device *dev, + struct dma_buf *dma_buf) +{ + struct udl_device *udl = to_udl(dev); + + if (!udl->dmadev) + return ERR_PTR(-ENODEV); + + return drm_gem_prime_import_dev(dev, dma_buf, udl->dmadev); +} + DEFINE_DRM_GEM_FOPS(udl_driver_fops); static struct drm_driver driver = { @@ -42,6 +58,7 @@ .fops = &udl_driver_fops, DRM_GEM_SHMEM_DRIVER_OPS, + .gem_prime_import = udl_driver_gem_prime_import, .name = DRIVER_NAME, .desc = DRIVER_DESC, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/udl/udl_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/udl/udl_drv.h @@ -50,6 +50,7 @@ struct udl_device { struct drm_device drm; struct device *dev; + struct device *dmadev; struct usb_device *udev; struct drm_simple_display_pipe display_pipe; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/udl/udl_main.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/udl/udl_main.c @@ -314,6 +314,10 @@ DRM_DEBUG("\n"); + udl->dmadev = usb_intf_get_dma_device(to_usb_interface(dev->dev)); + if (!udl->dmadev) + drm_warn(dev, "buffer sharing not supported"); /* not an error */ + mutex_init(&udl->gem_lock); if (!udl_parse_vendor_descriptor(dev, udl->udev)) { @@ -342,12 +346,18 @@ err: if (udl->urbs.count) udl_free_urb_list(dev); + put_device(udl->dmadev); DRM_ERROR("%d\n", ret); return ret; } int udl_drop_usb(struct drm_device *dev) { + struct udl_device *udl = to_udl(dev); + udl_free_urb_list(dev); + put_device(udl->dmadev); + udl->dmadev = NULL; + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/udl/udl_modeset.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/udl/udl_modeset.c @@ -303,8 +303,10 @@ } urb = udl_get_urb(dev); - if (!urb) + if (!urb) { + ret = -ENOMEM; goto out_drm_gem_shmem_vunmap; + } cmd = urb->transfer_buffer; for (i = clip.y1; i < clip.y2; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/v3d/v3d_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/v3d/v3d_gem.c @@ -568,7 +568,6 @@ ret = v3d_job_init(v3d, file_priv, &bin->base, v3d_job_free, args->in_sync_bcl); if (ret) { - kfree(bin); v3d_job_put(&render->base); kfree(bin); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vc4/vc4_bo.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vc4/vc4_bo.c @@ -1005,6 +1005,7 @@ return 0; } +static void vc4_bo_cache_destroy(struct drm_device *dev, void *unused); int vc4_bo_cache_init(struct drm_device *dev) { struct vc4_dev *vc4 = to_vc4_dev(dev); @@ -1033,10 +1034,10 @@ INIT_WORK(&vc4->bo_cache.time_work, vc4_bo_cache_time_work); timer_setup(&vc4->bo_cache.time_timer, vc4_bo_cache_time_timer, 0); - return 0; + return drmm_add_action_or_reset(dev, vc4_bo_cache_destroy, NULL); } -void vc4_bo_cache_destroy(struct drm_device *dev) +static void vc4_bo_cache_destroy(struct drm_device *dev, void *unused) { struct vc4_dev *vc4 = to_vc4_dev(dev); int i; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vc4/vc4_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vc4/vc4_drv.c @@ -306,7 +306,7 @@ component_unbind_all(dev, drm); gem_destroy: vc4_gem_destroy(drm); - vc4_bo_cache_destroy(drm); + drm_mode_config_cleanup(drm); dev_put: drm_dev_put(drm); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vc4/vc4_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vc4/vc4_drv.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -744,7 +745,6 @@ struct sg_table *sgt); void *vc4_prime_vmap(struct drm_gem_object *obj); int vc4_bo_cache_init(struct drm_device *dev); -void vc4_bo_cache_destroy(struct drm_device *dev); int vc4_bo_inc_usecnt(struct vc4_bo *bo); void vc4_bo_dec_usecnt(struct vc4_bo *bo); void vc4_bo_add_to_purgeable_pool(struct vc4_bo *bo); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vc4/vc4_hdmi.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -1117,6 +1117,7 @@ card->num_links = 1; card->name = "vc4-hdmi"; card->dev = dev; + card->owner = THIS_MODULE; /* * Be careful, snd_soc_register_card() calls dev_set_drvdata() and --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vc4/vc4_plane.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vc4/vc4_plane.c @@ -205,7 +205,7 @@ __drm_atomic_helper_plane_reset(plane, &vc4_state->base); } -static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) +static void vc4_dlist_counter_increment(struct vc4_plane_state *vc4_state) { if (vc4_state->dlist_count == vc4_state->dlist_size) { u32 new_size = max(4u, vc4_state->dlist_count * 2); @@ -220,7 +220,15 @@ vc4_state->dlist_size = new_size; } - vc4_state->dlist[vc4_state->dlist_count++] = val; + vc4_state->dlist_count++; +} + +static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) +{ + unsigned int idx = vc4_state->dlist_count; + + vc4_dlist_counter_increment(vc4_state); + vc4_state->dlist[idx] = val; } /* Returns the scl0/scl1 field based on whether the dimensions need to @@ -871,8 +879,10 @@ * be set when calling vc4_plane_allocate_lbm(). */ if (vc4_state->y_scaling[0] != VC4_SCALING_NONE || - vc4_state->y_scaling[1] != VC4_SCALING_NONE) - vc4_state->lbm_offset = vc4_state->dlist_count++; + vc4_state->y_scaling[1] != VC4_SCALING_NONE) { + vc4_state->lbm_offset = vc4_state->dlist_count; + vc4_dlist_counter_increment(vc4_state); + } if (num_planes > 1) { /* Emit Cb/Cr as channel 0 and Y as channel --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vgem/vgem_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vgem/vgem_drv.c @@ -230,32 +230,6 @@ return 0; } -static int vgem_gem_dumb_map(struct drm_file *file, struct drm_device *dev, - uint32_t handle, uint64_t *offset) -{ - struct drm_gem_object *obj; - int ret; - - obj = drm_gem_object_lookup(file, handle); - if (!obj) - return -ENOENT; - - if (!obj->filp) { - ret = -EINVAL; - goto unref; - } - - ret = drm_gem_create_mmap_offset(obj); - if (ret) - goto unref; - - *offset = drm_vma_node_offset_addr(&obj->vma_node); -unref: - drm_gem_object_put_unlocked(obj); - - return ret; -} - static struct drm_ioctl_desc vgem_ioctls[] = { DRM_IOCTL_DEF_DRV(VGEM_FENCE_ATTACH, vgem_fence_attach_ioctl, DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(VGEM_FENCE_SIGNAL, vgem_fence_signal_ioctl, DRM_RENDER_ALLOW), @@ -446,7 +420,6 @@ .fops = &vgem_driver_fops, .dumb_create = vgem_gem_dumb_create, - .dumb_map_offset = vgem_gem_dumb_map, .prime_handle_to_fd = drm_gem_prime_handle_to_fd, .prime_fd_to_handle = drm_gem_prime_fd_to_handle, @@ -498,8 +471,8 @@ out_put: drm_dev_put(&vgem_device->drm); + platform_device_unregister(vgem_device->platform); return ret; - out_unregister: platform_device_unregister(vgem_device->platform); out_free: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_display.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_display.c @@ -123,6 +123,17 @@ static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_state) { + struct virtio_gpu_output *output = drm_crtc_to_virtio_gpu_output(crtc); + + /* + * virtio-gpu can't do modeset and plane update operations + * independent from each other. So the actual modeset happens + * in the plane update callback, and here we just check + * whenever we must force the modeset. + */ + if (drm_atomic_crtc_needs_modeset(crtc->state)) { + output->needs_modeset = true; + } } static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = { --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_drv.h +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_drv.h @@ -138,6 +138,7 @@ int cur_x; int cur_y; bool enabled; + bool needs_modeset; }; #define drm_crtc_to_virtio_gpu_output(x) \ container_of(x, struct virtio_gpu_output, crtc) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -39,9 +39,6 @@ int ret; u32 handle; - if (vgdev->has_virgl_3d) - virtio_gpu_create_context(dev, file); - ret = virtio_gpu_object_create(vgdev, params, &obj, NULL); if (ret < 0) return ret; @@ -119,6 +116,11 @@ if (!vgdev->has_virgl_3d) goto out_notify; + /* the context might still be missing when the first ioctl is + * DRM_IOCTL_MODE_CREATE_DUMB or DRM_IOCTL_PRIME_FD_TO_HANDLE + */ + virtio_gpu_create_context(obj->dev, file); + objs = virtio_gpu_array_alloc(1); if (!objs) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -179,6 +179,7 @@ virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, vfpriv->ctx_id, buflist, out_fence); + dma_fence_put(&out_fence->f); virtio_gpu_notify(vgdev); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_kms.c @@ -80,8 +80,10 @@ vgdev->capsets[i].id > 0, 5 * HZ); if (ret == 0) { DRM_ERROR("timed out waiting for cap set %d\n", i); + spin_lock(&vgdev->display_info_lock); kfree(vgdev->capsets); vgdev->capsets = NULL; + spin_unlock(&vgdev->display_info_lock); return; } DRM_INFO("cap set %d: id %d, max-version %d, max-size %d\n", --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_object.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_object.c @@ -79,6 +79,7 @@ } sg_free_table(shmem->pages); + kfree(shmem->pages); shmem->pages = NULL; drm_gem_shmem_unpin(&bo->base.base); } @@ -166,8 +167,9 @@ *nents = shmem->pages->nents; } - *ents = kmalloc_array(*nents, sizeof(struct virtio_gpu_mem_entry), - GFP_KERNEL); + *ents = kvmalloc_array(*nents, + sizeof(struct virtio_gpu_mem_entry), + GFP_KERNEL); if (!(*ents)) { DRM_ERROR("failed to allocate ent list\n"); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_plane.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -163,7 +163,9 @@ plane->state->src_w != old_state->src_w || plane->state->src_h != old_state->src_h || plane->state->src_x != old_state->src_x || - plane->state->src_y != old_state->src_y) { + plane->state->src_y != old_state->src_y || + output->needs_modeset) { + output->needs_modeset = false; DRM_DEBUG("handle 0x%x, crtc %dx%d+%d+%d, src %dx%d+%d+%d\n", bo->hw_res_handle, plane->state->crtc_w, plane->state->crtc_h, --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/virtio/virtgpu_vq.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -684,9 +684,13 @@ int i = le32_to_cpu(cmd->capset_index); spin_lock(&vgdev->display_info_lock); - vgdev->capsets[i].id = le32_to_cpu(resp->capset_id); - vgdev->capsets[i].max_version = le32_to_cpu(resp->capset_max_version); - vgdev->capsets[i].max_size = le32_to_cpu(resp->capset_max_size); + if (vgdev->capsets) { + vgdev->capsets[i].id = le32_to_cpu(resp->capset_id); + vgdev->capsets[i].max_version = le32_to_cpu(resp->capset_max_version); + vgdev->capsets[i].max_size = le32_to_cpu(resp->capset_max_size); + } else { + DRM_ERROR("invalid capset memory."); + } spin_unlock(&vgdev->display_info_lock); wake_up(&vgdev->resp_wq); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vkms/vkms_composer.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vkms/vkms_composer.c @@ -33,7 +33,7 @@ + (i * composer->pitch) + (j * composer->cpp); /* XRGB format ignores Alpha channel */ - memset(vaddr_out + src_offset + 24, 0, 8); + bitmap_clear(vaddr_out + src_offset, 24, 8); crc = crc32_le(crc, vaddr_out + src_offset, sizeof(u32)); } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vkms/vkms_crtc.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vkms/vkms_crtc.c @@ -86,6 +86,11 @@ struct vkms_output *output = &vkmsdev->output; struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; + if (!READ_ONCE(vblank->enabled)) { + *vblank_time = ktime_get(); + return true; + } + *vblank_time = READ_ONCE(output->vblank_hrtimer.node.expires); if (WARN_ON(*vblank_time == vblank->time)) --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vkms/vkms_drv.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vkms/vkms_drv.c @@ -188,8 +188,8 @@ out_put: drm_dev_put(&vkms_device->drm); + platform_device_unregister(vkms_device->platform); return ret; - out_unregister: platform_device_unregister(vkms_device->platform); out_free: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -2578,7 +2578,7 @@ ++i; } - if (i != unit) { + if (&con->head == &dev_priv->dev->mode_config.connector_list) { DRM_ERROR("Could not find initial display unit.\n"); ret = -EINVAL; goto out_unlock; @@ -2602,13 +2602,13 @@ break; } - if (mode->type & DRM_MODE_TYPE_PREFERRED) - *p_mode = mode; - else { + if (&mode->head == &con->modes) { WARN_ONCE(true, "Could not find initial preferred mode.\n"); *p_mode = list_first_entry(&con->modes, struct drm_display_mode, head); + } else { + *p_mode = mode; } out_unlock: --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c @@ -81,7 +81,7 @@ struct vmw_legacy_display_unit *entry; struct drm_framebuffer *fb = NULL; struct drm_crtc *crtc = NULL; - int i = 0; + int i; /* If there is no display topology the host just assumes * that the guest will set the same layout as the host. @@ -92,12 +92,11 @@ crtc = &entry->base.crtc; w = max(w, crtc->x + crtc->mode.hdisplay); h = max(h, crtc->y + crtc->mode.vdisplay); - i++; } if (crtc == NULL) return 0; - fb = entry->base.crtc.primary->state->fb; + fb = crtc->primary->state->fb; return vmw_kms_write_svga(dev_priv, w, h, fb->pitches[0], fb->format->cpp[0] * 8, @@ -388,8 +387,6 @@ ldu->base.is_implicit = true; /* Initialize primary plane */ - vmw_du_plane_reset(primary); - ret = drm_universal_plane_init(dev, &ldu->base.primary, 0, &vmw_ldu_plane_funcs, vmw_primary_plane_formats, @@ -403,8 +400,6 @@ drm_plane_helper_add(primary, &vmw_ldu_primary_plane_helper_funcs); /* Initialize cursor plane */ - vmw_du_plane_reset(cursor); - ret = drm_universal_plane_init(dev, &ldu->base.cursor, 0, &vmw_ldu_cursor_funcs, vmw_cursor_plane_formats, @@ -418,7 +413,6 @@ drm_plane_helper_add(cursor, &vmw_ldu_cursor_plane_helper_funcs); - vmw_du_connector_reset(connector); ret = drm_connector_init(dev, connector, &vmw_legacy_connector_funcs, DRM_MODE_CONNECTOR_VIRTUAL); if (ret) { @@ -446,7 +440,6 @@ goto err_free_encoder; } - vmw_du_crtc_reset(crtc); ret = drm_crtc_init_with_planes(dev, crtc, &ldu->base.primary, &ldu->base.cursor, &vmw_legacy_crtc_funcs, NULL); @@ -521,6 +514,8 @@ dev_priv->active_display_unit = vmw_du_legacy; + drm_mode_config_reset(dev); + DRM_INFO("Legacy Display Unit initialized\n"); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c @@ -859,8 +859,6 @@ sou->base.is_implicit = false; /* Initialize primary plane */ - vmw_du_plane_reset(primary); - ret = drm_universal_plane_init(dev, &sou->base.primary, 0, &vmw_sou_plane_funcs, vmw_primary_plane_formats, @@ -875,8 +873,6 @@ drm_plane_enable_fb_damage_clips(primary); /* Initialize cursor plane */ - vmw_du_plane_reset(cursor); - ret = drm_universal_plane_init(dev, &sou->base.cursor, 0, &vmw_sou_cursor_funcs, vmw_cursor_plane_formats, @@ -890,7 +886,6 @@ drm_plane_helper_add(cursor, &vmw_sou_cursor_plane_helper_funcs); - vmw_du_connector_reset(connector); ret = drm_connector_init(dev, connector, &vmw_sou_connector_funcs, DRM_MODE_CONNECTOR_VIRTUAL); if (ret) { @@ -918,8 +913,6 @@ goto err_free_encoder; } - - vmw_du_crtc_reset(crtc); ret = drm_crtc_init_with_planes(dev, crtc, &sou->base.primary, &sou->base.cursor, &vmw_screen_object_crtc_funcs, NULL); @@ -973,6 +966,8 @@ dev_priv->active_display_unit = vmw_du_screen_object; + drm_mode_config_reset(dev); + DRM_INFO("Screen Objects Display Unit initialized\n"); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c @@ -1738,8 +1738,6 @@ stdu->base.is_implicit = false; /* Initialize primary plane */ - vmw_du_plane_reset(primary); - ret = drm_universal_plane_init(dev, primary, 0, &vmw_stdu_plane_funcs, vmw_primary_plane_formats, @@ -1754,8 +1752,6 @@ drm_plane_enable_fb_damage_clips(primary); /* Initialize cursor plane */ - vmw_du_plane_reset(cursor); - ret = drm_universal_plane_init(dev, cursor, 0, &vmw_stdu_cursor_funcs, vmw_cursor_plane_formats, @@ -1769,8 +1765,6 @@ drm_plane_helper_add(cursor, &vmw_stdu_cursor_plane_helper_funcs); - vmw_du_connector_reset(connector); - ret = drm_connector_init(dev, connector, &vmw_stdu_connector_funcs, DRM_MODE_CONNECTOR_VIRTUAL); if (ret) { @@ -1798,7 +1792,6 @@ goto err_free_encoder; } - vmw_du_crtc_reset(crtc); ret = drm_crtc_init_with_planes(dev, crtc, &stdu->base.primary, &stdu->base.cursor, &vmw_stdu_crtc_funcs, NULL); @@ -1894,6 +1887,8 @@ } } + drm_mode_config_reset(dev); + DRM_INFO("Screen Target Display device initialized\n"); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/xen/xen_drm_front.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/xen/xen_drm_front.c @@ -400,8 +400,8 @@ args->size = args->pitch * args->height; obj = xen_drm_front_gem_create(dev, args->size); - if (IS_ERR_OR_NULL(obj)) { - ret = PTR_ERR_OR_ZERO(obj); + if (IS_ERR(obj)) { + ret = PTR_ERR(obj); goto fail; } @@ -529,7 +529,7 @@ drm_dev = drm_dev_alloc(&xen_drm_driver, dev); if (IS_ERR(drm_dev)) { ret = PTR_ERR(drm_dev); - goto fail; + goto fail_dev; } drm_info->drm_dev = drm_dev; @@ -559,8 +559,10 @@ drm_kms_helper_poll_fini(drm_dev); drm_mode_config_cleanup(drm_dev); drm_dev_put(drm_dev); -fail: +fail_dev: kfree(drm_info); + front_info->drm_info = NULL; +fail: return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/xen/xen_drm_front_gem.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/xen/xen_drm_front_gem.c @@ -83,7 +83,7 @@ size = round_up(size, PAGE_SIZE); xen_obj = gem_create_obj(dev, size); - if (IS_ERR_OR_NULL(xen_obj)) + if (IS_ERR(xen_obj)) return xen_obj; if (drm_info->front_info->cfg.be_alloc) { @@ -117,7 +117,7 @@ */ xen_obj->num_pages = DIV_ROUND_UP(size, PAGE_SIZE); xen_obj->pages = drm_gem_get_pages(&xen_obj->base); - if (IS_ERR_OR_NULL(xen_obj->pages)) { + if (IS_ERR(xen_obj->pages)) { ret = PTR_ERR(xen_obj->pages); xen_obj->pages = NULL; goto fail; @@ -136,7 +136,7 @@ struct xen_gem_object *xen_obj; xen_obj = gem_create(dev, size); - if (IS_ERR_OR_NULL(xen_obj)) + if (IS_ERR(xen_obj)) return ERR_CAST(xen_obj); return &xen_obj->base; @@ -194,7 +194,7 @@ size = attach->dmabuf->size; xen_obj = gem_create_obj(dev, size); - if (IS_ERR_OR_NULL(xen_obj)) + if (IS_ERR(xen_obj)) return ERR_CAST(xen_obj); ret = gem_alloc_pages_array(xen_obj, size); --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/drm/xen/xen_drm_front_kms.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/drm/xen/xen_drm_front_kms.c @@ -60,7 +60,7 @@ int ret; fb = drm_gem_fb_create_with_funcs(dev, filp, mode_cmd, &fb_funcs); - if (IS_ERR_OR_NULL(fb)) + if (IS_ERR(fb)) return fb; gem_obj = fb->obj[0]; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/host1x/bus.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/host1x/bus.c @@ -704,8 +704,9 @@ EXPORT_SYMBOL(host1x_driver_unregister); /** - * host1x_client_register() - register a host1x client + * __host1x_client_register() - register a host1x client * @client: host1x client + * @key: lock class key for the client-specific mutex * * Registers a host1x client with each host1x controller instance. Note that * each client will only match their parent host1x controller and will only be @@ -714,13 +715,14 @@ * device and call host1x_device_init(), which will in turn call each client's * &host1x_client_ops.init implementation. */ -int host1x_client_register(struct host1x_client *client) +int __host1x_client_register(struct host1x_client *client, + struct lock_class_key *key) { struct host1x *host1x; int err; INIT_LIST_HEAD(&client->list); - mutex_init(&client->lock); + __mutex_init(&client->lock, "host1x client lock", key); client->usecount = 0; mutex_lock(&devices_lock); @@ -741,7 +743,7 @@ return 0; } -EXPORT_SYMBOL(host1x_client_register); +EXPORT_SYMBOL(__host1x_client_register); /** * host1x_client_unregister() - unregister a host1x client --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/host1x/debug.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/host1x/debug.c @@ -16,6 +16,8 @@ #include "debug.h" #include "channel.h" +static DEFINE_MUTEX(debug_lock); + unsigned int host1x_debug_trace_cmdbuf; static pid_t host1x_debug_force_timeout_pid; @@ -52,12 +54,14 @@ struct output *o = data; mutex_lock(&ch->cdma.lock); + mutex_lock(&debug_lock); if (show_fifo) host1x_hw_show_channel_fifo(m, ch, o); host1x_hw_show_channel_cdma(m, ch, o); + mutex_unlock(&debug_lock); mutex_unlock(&ch->cdma.lock); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/host1x/job.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/host1x/job.c @@ -102,6 +102,7 @@ { struct host1x_client *client = job->client; struct device *dev = client->dev; + struct host1x_job_gather *g; struct iommu_domain *domain; unsigned int i; int err; @@ -184,7 +185,6 @@ } for (i = 0; i < job->num_gathers; i++) { - struct host1x_job_gather *g = &job->gathers[i]; size_t gather_size = 0; struct scatterlist *sg; struct sg_table *sgt; @@ -194,6 +194,7 @@ dma_addr_t *phys; unsigned int j; + g = &job->gathers[i]; g->bo = host1x_bo_get(g->bo); if (!g->bo) { err = -EINVAL; @@ -213,7 +214,7 @@ sgt = host1x_bo_pin(host->dev, g->bo, phys); if (IS_ERR(sgt)) { err = PTR_ERR(sgt); - goto unpin; + goto put; } if (!IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL) && host->domain) { @@ -226,7 +227,7 @@ host->iova_end >> shift, true); if (!alloc) { err = -ENOMEM; - goto unpin; + goto put; } err = iommu_map_sg(host->domain, @@ -235,7 +236,7 @@ if (err == 0) { __free_iova(&host->iova, alloc); err = -EINVAL; - goto unpin; + goto put; } job->unpins[job->num_unpins].size = gather_size; @@ -245,7 +246,7 @@ DMA_TO_DEVICE); if (!err) { err = -ENOMEM; - goto unpin; + goto put; } job->unpins[job->num_unpins].dir = DMA_TO_DEVICE; @@ -263,6 +264,8 @@ return 0; +put: + host1x_bo_put(g->bo); unpin: host1x_job_unpin(job); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/ipu-v3/ipu-common.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/ipu-v3/ipu-common.c @@ -124,6 +124,8 @@ case V4L2_PIX_FMT_RGBX32: case V4L2_PIX_FMT_ARGB32: case V4L2_PIX_FMT_XRGB32: + case V4L2_PIX_FMT_RGB32: + case V4L2_PIX_FMT_BGR32: return IPUV3_COLORSPACE_RGB; default: return IPUV3_COLORSPACE_UNKNOWN; --- linux-riscv-5.8-5.8.0.orig/drivers/gpu/ipu-v3/ipu-image-convert.c +++ linux-riscv-5.8-5.8.0/drivers/gpu/ipu-v3/ipu-image-convert.c @@ -137,6 +137,17 @@ struct ipu_image_convert_chan; struct ipu_image_convert_priv; +enum eof_irq_mask { + EOF_IRQ_IN = BIT(0), + EOF_IRQ_ROT_IN = BIT(1), + EOF_IRQ_OUT = BIT(2), + EOF_IRQ_ROT_OUT = BIT(3), +}; + +#define EOF_IRQ_COMPLETE (EOF_IRQ_IN | EOF_IRQ_OUT) +#define EOF_IRQ_ROT_COMPLETE (EOF_IRQ_IN | EOF_IRQ_OUT | \ + EOF_IRQ_ROT_IN | EOF_IRQ_ROT_OUT) + struct ipu_image_convert_ctx { struct ipu_image_convert_chan *chan; @@ -173,6 +184,9 @@ /* where to place converted tile in dest image */ unsigned int out_tile_map[MAX_TILES]; + /* mask of completed EOF irqs at every tile conversion */ + enum eof_irq_mask eof_mask; + struct list_head list; }; @@ -189,6 +203,8 @@ struct ipuv3_channel *rotation_out_chan; /* the IPU end-of-frame irqs */ + int in_eof_irq; + int rot_in_eof_irq; int out_eof_irq; int rot_out_eof_irq; @@ -1380,6 +1396,9 @@ dev_dbg(priv->ipu->dev, "%s: task %u: starting ctx %p run %p tile %u -> %u\n", __func__, chan->ic_task, ctx, run, tile, dst_tile); + /* clear EOF irq mask */ + ctx->eof_mask = 0; + if (ipu_rot_mode_is_irt(ctx->rot_mode)) { /* swap width/height for resizer */ dest_width = d_image->tile[dst_tile].height; @@ -1615,7 +1634,7 @@ } /* hold irqlock when calling */ -static irqreturn_t do_irq(struct ipu_image_convert_run *run) +static irqreturn_t do_tile_complete(struct ipu_image_convert_run *run) { struct ipu_image_convert_ctx *ctx = run->ctx; struct ipu_image_convert_chan *chan = ctx->chan; @@ -1700,6 +1719,7 @@ ctx->cur_buf_num ^= 1; } + ctx->eof_mask = 0; /* clear EOF irq mask for next tile */ ctx->next_tile++; return IRQ_HANDLED; done: @@ -1709,13 +1729,15 @@ return IRQ_WAKE_THREAD; } -static irqreturn_t norotate_irq(int irq, void *data) +static irqreturn_t eof_irq(int irq, void *data) { struct ipu_image_convert_chan *chan = data; + struct ipu_image_convert_priv *priv = chan->priv; struct ipu_image_convert_ctx *ctx; struct ipu_image_convert_run *run; + irqreturn_t ret = IRQ_HANDLED; + bool tile_complete = false; unsigned long flags; - irqreturn_t ret; spin_lock_irqsave(&chan->irqlock, flags); @@ -1728,46 +1750,33 @@ ctx = run->ctx; - if (ipu_rot_mode_is_irt(ctx->rot_mode)) { - /* this is a rotation operation, just ignore */ - spin_unlock_irqrestore(&chan->irqlock, flags); - return IRQ_HANDLED; - } - - ret = do_irq(run); -out: - spin_unlock_irqrestore(&chan->irqlock, flags); - return ret; -} - -static irqreturn_t rotate_irq(int irq, void *data) -{ - struct ipu_image_convert_chan *chan = data; - struct ipu_image_convert_priv *priv = chan->priv; - struct ipu_image_convert_ctx *ctx; - struct ipu_image_convert_run *run; - unsigned long flags; - irqreturn_t ret; - - spin_lock_irqsave(&chan->irqlock, flags); - - /* get current run and its context */ - run = chan->current_run; - if (!run) { + if (irq == chan->in_eof_irq) { + ctx->eof_mask |= EOF_IRQ_IN; + } else if (irq == chan->out_eof_irq) { + ctx->eof_mask |= EOF_IRQ_OUT; + } else if (irq == chan->rot_in_eof_irq || + irq == chan->rot_out_eof_irq) { + if (!ipu_rot_mode_is_irt(ctx->rot_mode)) { + /* this was NOT a rotation op, shouldn't happen */ + dev_err(priv->ipu->dev, + "Unexpected rotation interrupt\n"); + goto out; + } + ctx->eof_mask |= (irq == chan->rot_in_eof_irq) ? + EOF_IRQ_ROT_IN : EOF_IRQ_ROT_OUT; + } else { + dev_err(priv->ipu->dev, "Received unknown irq %d\n", irq); ret = IRQ_NONE; goto out; } - ctx = run->ctx; - - if (!ipu_rot_mode_is_irt(ctx->rot_mode)) { - /* this was NOT a rotation operation, shouldn't happen */ - dev_err(priv->ipu->dev, "Unexpected rotation interrupt\n"); - spin_unlock_irqrestore(&chan->irqlock, flags); - return IRQ_HANDLED; - } + if (ipu_rot_mode_is_irt(ctx->rot_mode)) + tile_complete = (ctx->eof_mask == EOF_IRQ_ROT_COMPLETE); + else + tile_complete = (ctx->eof_mask == EOF_IRQ_COMPLETE); - ret = do_irq(run); + if (tile_complete) + ret = do_tile_complete(run); out: spin_unlock_irqrestore(&chan->irqlock, flags); return ret; @@ -1801,6 +1810,10 @@ static void release_ipu_resources(struct ipu_image_convert_chan *chan) { + if (chan->in_eof_irq >= 0) + free_irq(chan->in_eof_irq, chan); + if (chan->rot_in_eof_irq >= 0) + free_irq(chan->rot_in_eof_irq, chan); if (chan->out_eof_irq >= 0) free_irq(chan->out_eof_irq, chan); if (chan->rot_out_eof_irq >= 0) @@ -1819,7 +1832,27 @@ chan->in_chan = chan->out_chan = chan->rotation_in_chan = chan->rotation_out_chan = NULL; - chan->out_eof_irq = chan->rot_out_eof_irq = -1; + chan->in_eof_irq = -1; + chan->rot_in_eof_irq = -1; + chan->out_eof_irq = -1; + chan->rot_out_eof_irq = -1; +} + +static int get_eof_irq(struct ipu_image_convert_chan *chan, + struct ipuv3_channel *channel) +{ + struct ipu_image_convert_priv *priv = chan->priv; + int ret, irq; + + irq = ipu_idmac_channel_irq(priv->ipu, channel, IPU_IRQ_EOF); + + ret = request_threaded_irq(irq, eof_irq, do_bh, 0, "ipu-ic", chan); + if (ret < 0) { + dev_err(priv->ipu->dev, "could not acquire irq %d\n", irq); + return ret; + } + + return irq; } static int get_ipu_resources(struct ipu_image_convert_chan *chan) @@ -1855,31 +1888,33 @@ } /* acquire the EOF interrupts */ - chan->out_eof_irq = ipu_idmac_channel_irq(priv->ipu, - chan->out_chan, - IPU_IRQ_EOF); + ret = get_eof_irq(chan, chan->in_chan); + if (ret < 0) { + chan->in_eof_irq = -1; + goto err; + } + chan->in_eof_irq = ret; - ret = request_threaded_irq(chan->out_eof_irq, norotate_irq, do_bh, - 0, "ipu-ic", chan); + ret = get_eof_irq(chan, chan->rotation_in_chan); if (ret < 0) { - dev_err(priv->ipu->dev, "could not acquire irq %d\n", - chan->out_eof_irq); - chan->out_eof_irq = -1; + chan->rot_in_eof_irq = -1; goto err; } + chan->rot_in_eof_irq = ret; - chan->rot_out_eof_irq = ipu_idmac_channel_irq(priv->ipu, - chan->rotation_out_chan, - IPU_IRQ_EOF); + ret = get_eof_irq(chan, chan->out_chan); + if (ret < 0) { + chan->out_eof_irq = -1; + goto err; + } + chan->out_eof_irq = ret; - ret = request_threaded_irq(chan->rot_out_eof_irq, rotate_irq, do_bh, - 0, "ipu-ic", chan); + ret = get_eof_irq(chan, chan->rotation_out_chan); if (ret < 0) { - dev_err(priv->ipu->dev, "could not acquire irq %d\n", - chan->rot_out_eof_irq); chan->rot_out_eof_irq = -1; goto err; } + chan->rot_out_eof_irq = ret; return 0; err: @@ -2458,6 +2493,8 @@ chan->ic_task = i; chan->priv = priv; chan->dma_ch = &image_convert_dma_chan[i]; + chan->in_eof_irq = -1; + chan->rot_in_eof_irq = -1; chan->out_eof_irq = -1; chan->rot_out_eof_irq = -1; --- linux-riscv-5.8-5.8.0.orig/drivers/hid/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/hid/Kconfig @@ -890,6 +890,7 @@ depends on NEW_LEDS depends on LEDS_CLASS select POWER_SUPPLY + select CRC32 help Support for --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-alps.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-alps.c @@ -761,6 +761,7 @@ if (input_register_device(data->input2)) { input_free_device(input2); + ret = -ENOENT; goto exit; } } --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-core.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-core.c @@ -90,7 +90,7 @@ * Register a new field for this report. */ -static struct hid_field *hid_register_field(struct hid_report *report, unsigned usages, unsigned values) +static struct hid_field *hid_register_field(struct hid_report *report, unsigned usages) { struct hid_field *field; @@ -101,7 +101,7 @@ field = kzalloc((sizeof(struct hid_field) + usages * sizeof(struct hid_usage) + - values * sizeof(unsigned)), GFP_KERNEL); + usages * sizeof(unsigned)), GFP_KERNEL); if (!field) return NULL; @@ -300,7 +300,7 @@ usages = max_t(unsigned, parser->local.usage_index, parser->global.report_count); - field = hid_register_field(report, usages, parser->global.report_count); + field = hid_register_field(report, usages); if (!field) return 0; @@ -1300,6 +1300,9 @@ static s32 snto32(__u32 value, unsigned n) { + if (!value || !n) + return 0; + switch (n) { case 8: return ((__s8)value); case 16: return ((__s16)value); @@ -1598,6 +1601,17 @@ } /* + * Compute the size of a report. + */ +static size_t hid_compute_report_size(struct hid_report *report) +{ + if (report->size) + return ((report->size - 1) >> 3) + 1; + + return 0; +} + +/* * Create a report. 'data' has to be allocated using * hid_alloc_report_buf() so that it has proper size. */ @@ -1609,7 +1623,7 @@ if (report->id > 0) *data++ = report->id; - memset(data, 0, ((report->size - 1) >> 3) + 1); + memset(data, 0, hid_compute_report_size(report)); for (n = 0; n < report->maxfield; n++) hid_output_field(report->device, report->field[n], data); } @@ -1739,7 +1753,7 @@ csize--; } - rsize = ((report->size - 1) >> 3) + 1; + rsize = hid_compute_report_size(report); if (report_enum->numbered && rsize >= HID_MAX_BUFFER_SIZE) rsize = HID_MAX_BUFFER_SIZE - 1; --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-cypress.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-cypress.c @@ -23,19 +23,17 @@ #define CP_2WHEEL_MOUSE_HACK 0x02 #define CP_2WHEEL_MOUSE_HACK_ON 0x04 +#define VA_INVAL_LOGICAL_BOUNDARY 0x08 + /* * Some USB barcode readers from cypress have usage min and usage max in * the wrong order */ -static __u8 *cp_report_fixup(struct hid_device *hdev, __u8 *rdesc, +static __u8 *cp_rdesc_fixup(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize) { - unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); unsigned int i; - if (!(quirks & CP_RDESC_SWAPPED_MIN_MAX)) - return rdesc; - if (*rsize < 4) return rdesc; @@ -48,6 +46,40 @@ return rdesc; } +static __u8 *va_logical_boundary_fixup(struct hid_device *hdev, __u8 *rdesc, + unsigned int *rsize) +{ + /* + * Varmilo VA104M (with VID Cypress and device ID 07B1) incorrectly + * reports Logical Minimum of its Consumer Control device as 572 + * (0x02 0x3c). Fix this by setting its Logical Minimum to zero. + */ + if (*rsize == 25 && + rdesc[0] == 0x05 && rdesc[1] == 0x0c && + rdesc[2] == 0x09 && rdesc[3] == 0x01 && + rdesc[6] == 0x19 && rdesc[7] == 0x00 && + rdesc[11] == 0x16 && rdesc[12] == 0x3c && rdesc[13] == 0x02) { + hid_info(hdev, + "fixing up varmilo VA104M consumer control report descriptor\n"); + rdesc[12] = 0x00; + rdesc[13] = 0x00; + } + return rdesc; +} + +static __u8 *cp_report_fixup(struct hid_device *hdev, __u8 *rdesc, + unsigned int *rsize) +{ + unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); + + if (quirks & CP_RDESC_SWAPPED_MIN_MAX) + rdesc = cp_rdesc_fixup(hdev, rdesc, rsize); + if (quirks & VA_INVAL_LOGICAL_BOUNDARY) + rdesc = va_logical_boundary_fixup(hdev, rdesc, rsize); + + return rdesc; +} + static int cp_input_mapped(struct hid_device *hdev, struct hid_input *hi, struct hid_field *field, struct hid_usage *usage, unsigned long **bit, int *max) @@ -128,6 +160,8 @@ .driver_data = CP_RDESC_SWAPPED_MIN_MAX }, { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE), .driver_data = CP_2WHEEL_MOUSE_HACK }, + { HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_VARMILO_VA104M_07B1), + .driver_data = VA_INVAL_LOGICAL_BOUNDARY }, { } }; MODULE_DEVICE_TABLE(hid, cp_devices); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-elan.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-elan.c @@ -188,6 +188,7 @@ ret = input_mt_init_slots(input, ELAN_MAX_FINGERS, INPUT_MT_POINTER); if (ret) { hid_err(hdev, "Failed to init elan MT slots: %d\n", ret); + input_free_device(input); return ret; } @@ -198,6 +199,7 @@ if (ret) { hid_err(hdev, "Failed to register elan input device: %d\n", ret); + input_mt_destroy_slots(input); input_free_device(input); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-google-hammer.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-google-hammer.c @@ -527,6 +527,8 @@ static const struct hid_device_id hammer_devices[] = { { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, + USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_DON) }, + { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_HAMMER) }, { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MAGNEMITE) }, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-ids.h +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-ids.h @@ -331,6 +331,8 @@ #define USB_DEVICE_ID_CYPRESS_BARCODE_4 0xed81 #define USB_DEVICE_ID_CYPRESS_TRUETOUCH 0xc001 +#define USB_DEVICE_ID_CYPRESS_VARMILO_VA104M_07B1 0X07b1 + #define USB_VENDOR_ID_DATA_MODUL 0x7374 #define USB_VENDOR_ID_DATA_MODUL_EASYMAXTOUCH 0x1201 @@ -357,6 +359,7 @@ #define USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR 0x1803 #define USB_DEVICE_ID_DRAGONRISE_GAMECUBE1 0x1843 #define USB_DEVICE_ID_DRAGONRISE_GAMECUBE2 0x1844 +#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE3 0x1846 #define USB_VENDOR_ID_DWAV 0x0eef #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001 @@ -385,6 +388,7 @@ #define USB_DEVICE_ID_TOSHIBA_CLICK_L9W 0x0401 #define USB_DEVICE_ID_HP_X2 0x074d #define USB_DEVICE_ID_HP_X2_10_COVER 0x0755 +#define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN 0x2706 #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 @@ -443,6 +447,10 @@ #define USB_VENDOR_ID_FRUCTEL 0x25B6 #define USB_DEVICE_ID_GAMETEL_MT_MODE 0x0002 +#define USB_VENDOR_ID_GAMEVICE 0x27F8 +#define USB_DEVICE_ID_GAMEVICE_GV186 0x0BBE +#define USB_DEVICE_ID_GAMEVICE_KISHI 0x0BBF + #define USB_VENDOR_ID_GAMERON 0x0810 #define USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR 0x0001 #define USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR 0x0002 @@ -478,6 +486,7 @@ #define USB_DEVICE_ID_GOOGLE_MASTERBALL 0x503c #define USB_DEVICE_ID_GOOGLE_MAGNEMITE 0x503d #define USB_DEVICE_ID_GOOGLE_MOONBALL 0x5044 +#define USB_DEVICE_ID_GOOGLE_DON 0x5050 #define USB_VENDOR_ID_GOTOP 0x08f2 #define USB_DEVICE_ID_SUPER_Q2 0x007f @@ -485,6 +494,7 @@ #define USB_DEVICE_ID_PENPOWER 0x00f4 #define USB_VENDOR_ID_GREENASIA 0x0e8f +#define USB_DEVICE_ID_GREENASIA_DUAL_SAT_ADAPTOR 0x3010 #define USB_DEVICE_ID_GREENASIA_DUAL_USB_JOYPAD 0x3013 #define USB_VENDOR_ID_GRETAGMACBETH 0x0971 @@ -630,6 +640,8 @@ #define USB_DEVICE_ID_INNEX_GENESIS_ATARI 0x4745 #define USB_VENDOR_ID_ITE 0x048d +#define I2C_VENDOR_ID_ITE 0x103c +#define I2C_DEVICE_ID_ITE_VOYO_WINPAD_A15 0x184f #define USB_DEVICE_ID_ITE_LENOVO_YOGA 0x8386 #define USB_DEVICE_ID_ITE_LENOVO_YOGA2 0x8350 #define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720 0x837a @@ -726,7 +738,11 @@ #define USB_DEVICE_ID_LENOVO_SCROLLPOINT_OPTICAL 0x6049 #define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067 #define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085 +#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D 0x608d +#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019 0x6019 +#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_602E 0x602e +#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6093 0x6093 #define USB_VENDOR_ID_LG 0x1fd2 #define USB_DEVICE_ID_LG_MULTITOUCH 0x0064 @@ -737,6 +753,7 @@ #define USB_VENDOR_ID_LOGITECH 0x046d #define USB_DEVICE_ID_LOGITECH_AUDIOHUB 0x0a0e #define USB_DEVICE_ID_LOGITECH_T651 0xb00c +#define USB_DEVICE_ID_LOGITECH_DINOVO_EDGE_KBD 0xb309 #define USB_DEVICE_ID_LOGITECH_C007 0xc007 #define USB_DEVICE_ID_LOGITECH_C077 0xc077 #define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101 @@ -773,6 +790,7 @@ #define USB_DEVICE_ID_LOGITECH_G27_WHEEL 0xc29b #define USB_DEVICE_ID_LOGITECH_WII_WHEEL 0xc29c #define USB_DEVICE_ID_LOGITECH_ELITE_KBD 0xc30a +#define USB_DEVICE_ID_LOGITECH_GROUP_AUDIO 0x0882 #define USB_DEVICE_ID_S510_RECEIVER 0xc50c #define USB_DEVICE_ID_S510_RECEIVER_2 0xc517 #define USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500 0xc512 @@ -845,6 +863,7 @@ #define USB_DEVICE_ID_MS_POWER_COVER 0x07da #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_VENDOR_ID_MOJO 0x8282 #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 @@ -1010,6 +1029,8 @@ #define USB_DEVICE_ID_SAITEK_RAT9 0x0cfa #define USB_DEVICE_ID_SAITEK_MMO7 0x0cd0 #define USB_DEVICE_ID_SAITEK_X52 0x075c +#define USB_DEVICE_ID_SAITEK_X52_2 0x0255 +#define USB_DEVICE_ID_SAITEK_X52_PRO 0x0762 #define USB_VENDOR_ID_SAMSUNG 0x0419 #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 @@ -1115,6 +1136,7 @@ #define USB_DEVICE_ID_SYNAPTICS_DELL_K12A 0x2819 #define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012 0x2968 #define USB_DEVICE_ID_SYNAPTICS_TP_V103 0x5710 +#define USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1003 0x73f5 #define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5 0x81a7 #define USB_VENDOR_ID_TEXAS_INSTRUMENTS 0x2047 @@ -1287,6 +1309,7 @@ #define USB_VENDOR_ID_UGTIZER 0x2179 #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 +#define USB_DEVICE_ID_UGTIZER_TABLET_GT5040 0x0077 #define USB_VENDOR_ID_VIEWSONIC 0x0543 #define USB_DEVICE_ID_VIEWSONIC_PD1011 0xe621 --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-input.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-input.c @@ -319,6 +319,11 @@ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_T100CHI_KEYBOARD), HID_BATTERY_QUIRK_IGNORE }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, + USB_DEVICE_ID_LOGITECH_DINOVO_EDGE_KBD), + HID_BATTERY_QUIRK_IGNORE }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN), + HID_BATTERY_QUIRK_IGNORE }, {} }; @@ -350,13 +355,13 @@ u8 *buf; int ret; - buf = kmalloc(2, GFP_KERNEL); + buf = kmalloc(4, GFP_KERNEL); if (!buf) return -ENOMEM; - ret = hid_hw_raw_request(dev, dev->battery_report_id, buf, 2, + ret = hid_hw_raw_request(dev, dev->battery_report_id, buf, 4, dev->battery_report_type, HID_REQ_GET_REPORT); - if (ret != 2) { + if (ret < 2) { kfree(buf); return -ENODATA; } @@ -797,7 +802,7 @@ case 0x3b: /* Battery Strength */ hidinput_setup_battery(device, HID_INPUT_REPORT, field); usage->type = EV_PWR; - goto ignore; + return; case 0x3c: /* Invert */ map_key_clear(BTN_TOOL_RUBBER); @@ -1059,7 +1064,7 @@ case HID_DC_BATTERYSTRENGTH: hidinput_setup_battery(device, HID_INPUT_REPORT, field); usage->type = EV_PWR; - goto ignore; + return; } goto unknown; @@ -1132,6 +1137,10 @@ } mapped: + /* Mapping failed, bail out */ + if (!bit) + return; + if (device->driver->input_mapped && device->driver->input_mapped(device, hidinput, field, usage, &bit, &max) < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-ite.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-ite.c @@ -11,6 +11,48 @@ #include "hid-ids.h" +#define QUIRK_TOUCHPAD_ON_OFF_REPORT BIT(0) + +static __u8 *ite_report_fixup(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize) +{ + unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); + + if (quirks & QUIRK_TOUCHPAD_ON_OFF_REPORT) { + if (*rsize == 188 && rdesc[162] == 0x81 && rdesc[163] == 0x02) { + hid_info(hdev, "Fixing up ITE keyboard report descriptor\n"); + rdesc[163] = HID_MAIN_ITEM_RELATIVE; + } + } + + return rdesc; +} + +static int ite_input_mapping(struct hid_device *hdev, + struct hid_input *hi, struct hid_field *field, + struct hid_usage *usage, unsigned long **bit, + int *max) +{ + + unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); + + if ((quirks & QUIRK_TOUCHPAD_ON_OFF_REPORT) && + (usage->hid & HID_USAGE_PAGE) == 0x00880000) { + if (usage->hid == 0x00880078) { + /* Touchpad on, userspace expects F22 for this */ + hid_map_usage_clear(hi, usage, bit, max, EV_KEY, KEY_F22); + return 1; + } + if (usage->hid == 0x00880079) { + /* Touchpad off, userspace expects F23 for this */ + hid_map_usage_clear(hi, usage, bit, max, EV_KEY, KEY_F23); + return 1; + } + return -1; + } + + return 0; +} + static int ite_event(struct hid_device *hdev, struct hid_field *field, struct hid_usage *usage, __s32 value) { @@ -37,13 +79,31 @@ return 0; } +static int ite_probe(struct hid_device *hdev, const struct hid_device_id *id) +{ + int ret; + + hid_set_drvdata(hdev, (void *)id->driver_data); + + ret = hid_open_report(hdev); + if (ret) + return ret; + + return hid_hw_start(hdev, HID_CONNECT_DEFAULT); +} + static const struct hid_device_id ite_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE8595) }, { HID_USB_DEVICE(USB_VENDOR_ID_258A, USB_DEVICE_ID_258A_6A88) }, /* ITE8595 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_012) }, + USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012), + .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_ONE_S1003) }, { } }; MODULE_DEVICE_TABLE(hid, ite_devices); @@ -51,6 +111,9 @@ static struct hid_driver ite_driver = { .name = "itetech", .id_table = ite_devices, + .probe = ite_probe, + .report_fixup = ite_report_fixup, + .input_mapping = ite_input_mapping, .event = ite_event, }; module_hid_driver(ite_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-logitech-dj.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-logitech-dj.c @@ -328,7 +328,7 @@ 0x25, 0x01, /* LOGICAL_MAX (1) */ 0x75, 0x01, /* REPORT_SIZE (1) */ 0x95, 0x04, /* REPORT_COUNT (4) */ - 0x81, 0x06, /* INPUT */ + 0x81, 0x02, /* INPUT (Data,Var,Abs) */ 0xC0, /* END_COLLECTION */ 0xC0, /* END_COLLECTION */ }; @@ -866,11 +866,24 @@ schedule_work(&djrcv_dev->work); } +/* + * Some quad/bluetooth keyboards have a builtin touchpad in this case we see + * only 1 paired device with a device_type of REPORT_TYPE_KEYBOARD. For the + * touchpad to work we must also forward mouse input reports to the dj_hiddev + * created for the keyboard (instead of forwarding them to a second paired + * device with a device_type of REPORT_TYPE_MOUSE as we normally would). + */ +static const u16 kbd_builtin_touchpad_ids[] = { + 0xb309, /* Dinovo Edge */ + 0xb30c, /* Dinovo Mini */ +}; + static void logi_hidpp_dev_conn_notif_equad(struct hid_device *hdev, struct hidpp_event *hidpp_report, struct dj_workitem *workitem) { struct dj_receiver_dev *djrcv_dev = hid_get_drvdata(hdev); + int i, id; workitem->type = WORKITEM_TYPE_PAIRED; workitem->device_type = hidpp_report->params[HIDPP_PARAM_DEVICE_INFO] & @@ -882,6 +895,13 @@ workitem->reports_supported |= STD_KEYBOARD | MULTIMEDIA | POWER_KEYS | MEDIA_CENTER | HIDPP; + id = (workitem->quad_id_msb << 8) | workitem->quad_id_lsb; + for (i = 0; i < ARRAY_SIZE(kbd_builtin_touchpad_ids); i++) { + if (id == kbd_builtin_touchpad_ids[i]) { + workitem->reports_supported |= STD_MOUSE; + break; + } + } break; case REPORT_TYPE_MOUSE: workitem->reports_supported |= STD_MOUSE | HIDPP; @@ -960,6 +980,7 @@ case 0x07: device_type = "eQUAD step 4 Gaming"; logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); + workitem.reports_supported |= STD_KEYBOARD; break; case 0x08: device_type = "eQUAD step 4 for gamepads"; @@ -974,7 +995,12 @@ workitem.reports_supported |= STD_KEYBOARD; break; case 0x0d: - device_type = "eQUAD Lightspeed 1_1"; + device_type = "eQUAD Lightspeed 1.1"; + logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); + workitem.reports_supported |= STD_KEYBOARD; + break; + case 0x0f: + device_type = "eQUAD Lightspeed 1.2"; logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); workitem.reports_supported |= STD_KEYBOARD; break; @@ -1849,6 +1875,10 @@ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xc531), .driver_data = recvr_type_gaming_hidpp}, + { /* Logitech G602 receiver (0xc537) */ + HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, + 0xc537), + .driver_data = recvr_type_gaming_hidpp}, { /* Logitech lightspeed receiver (0xc539) */ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_NANO_RECEIVER_LIGHTSPEED_1), --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-logitech-hidpp.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-logitech-hidpp.c @@ -93,6 +93,8 @@ #define HIDPP_CAPABILITY_BATTERY_LEVEL_STATUS BIT(3) #define HIDPP_CAPABILITY_BATTERY_VOLTAGE BIT(4) +#define lg_map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, EV_KEY, (c)) + /* * There are two hidpp protocols in use, the first version hidpp10 is known * as register access protocol or RAP, the second version hidpp20 is known as @@ -2951,6 +2953,26 @@ } /* -------------------------------------------------------------------------- */ +/* Logitech Dinovo Mini keyboard with builtin touchpad */ +/* -------------------------------------------------------------------------- */ +#define DINOVO_MINI_PRODUCT_ID 0xb30c + +static int lg_dinovo_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) +{ + if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR) + return 0; + + switch (usage->hid & HID_USAGE) { + case 0x00d: lg_map_key_clear(KEY_MEDIA); break; + default: + return 0; + } + return 1; +} + +/* -------------------------------------------------------------------------- */ /* HID++1.0 devices which use HID++ reports for their wheels */ /* -------------------------------------------------------------------------- */ static int hidpp10_wheel_connect(struct hidpp_device *hidpp) @@ -3185,6 +3207,9 @@ field->application != HID_GD_MOUSE) return m560_input_mapping(hdev, hi, field, usage, bit, max); + if (hdev->product == DINOVO_MINI_PRODUCT_ID) + return lg_dinovo_input_mapping(hdev, hi, field, usage, bit, max); + return 0; } @@ -3947,6 +3972,7 @@ LDJ_DEVICE(0x405e), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, { /* Mouse Logitech MX Anywhere 2 */ LDJ_DEVICE(0x404a), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, + { LDJ_DEVICE(0x4072), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, { LDJ_DEVICE(0xb013), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, { LDJ_DEVICE(0xb018), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, { LDJ_DEVICE(0xb01f), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, @@ -3971,6 +3997,9 @@ { /* Keyboard MX5000 (Bluetooth-receiver in HID proxy mode) */ LDJ_DEVICE(0xb305), .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, + { /* Dinovo Edge (Bluetooth-receiver in HID proxy mode) */ + LDJ_DEVICE(0xb309), + .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, { /* Keyboard MX5500 (Bluetooth-receiver in HID proxy mode) */ LDJ_DEVICE(0xb30b), .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, @@ -4013,12 +4042,17 @@ { /* MX5000 keyboard over Bluetooth */ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb305), .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, + { /* Dinovo Edge keyboard over Bluetooth */ + HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb309), + .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, { /* MX5500 keyboard over Bluetooth */ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b), .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, { /* MX Master mouse over Bluetooth */ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb012), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, + { /* MX Ergo trackball over Bluetooth */ + HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb01d) }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb01e), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_X2121 }, { /* MX Master 3 mouse over Bluetooth */ --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-mcp2221.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-mcp2221.c @@ -49,6 +49,36 @@ MCP2221_ALT_F_NOT_GPIOD = 0xEF, }; +/* MCP GPIO direction encoding */ +enum { + MCP2221_DIR_OUT = 0x00, + MCP2221_DIR_IN = 0x01, +}; + +#define MCP_NGPIO 4 + +/* MCP GPIO set command layout */ +struct mcp_set_gpio { + u8 cmd; + u8 dummy; + struct { + u8 change_value; + u8 value; + u8 change_direction; + u8 direction; + } gpio[MCP_NGPIO]; +} __packed; + +/* MCP GPIO get command layout */ +struct mcp_get_gpio { + u8 cmd; + u8 dummy; + struct { + u8 direction; + u8 value; + } gpio[MCP_NGPIO]; +} __packed; + /* * There is no way to distinguish responses. Therefore next command * is sent only after response to previous has been received. Mutex @@ -542,7 +572,7 @@ mcp->txbuf[0] = MCP2221_GPIO_GET; - mcp->gp_idx = (offset + 1) * 2; + mcp->gp_idx = offsetof(struct mcp_get_gpio, gpio[offset].value); mutex_lock(&mcp->lock); ret = mcp_send_data_req_status(mcp, mcp->txbuf, 1); @@ -559,7 +589,7 @@ memset(mcp->txbuf, 0, 18); mcp->txbuf[0] = MCP2221_GPIO_SET; - mcp->gp_idx = ((offset + 1) * 4) - 1; + mcp->gp_idx = offsetof(struct mcp_set_gpio, gpio[offset].value); mcp->txbuf[mcp->gp_idx - 1] = 1; mcp->txbuf[mcp->gp_idx] = !!value; @@ -575,7 +605,7 @@ memset(mcp->txbuf, 0, 18); mcp->txbuf[0] = MCP2221_GPIO_SET; - mcp->gp_idx = (offset + 1) * 5; + mcp->gp_idx = offsetof(struct mcp_set_gpio, gpio[offset].direction); mcp->txbuf[mcp->gp_idx - 1] = 1; mcp->txbuf[mcp->gp_idx] = val; @@ -590,7 +620,7 @@ struct mcp2221 *mcp = gpiochip_get_data(gc); mutex_lock(&mcp->lock); - ret = mcp_gpio_dir_set(mcp, offset, 0); + ret = mcp_gpio_dir_set(mcp, offset, MCP2221_DIR_IN); mutex_unlock(&mcp->lock); return ret; @@ -603,7 +633,7 @@ struct mcp2221 *mcp = gpiochip_get_data(gc); mutex_lock(&mcp->lock); - ret = mcp_gpio_dir_set(mcp, offset, 1); + ret = mcp_gpio_dir_set(mcp, offset, MCP2221_DIR_OUT); mutex_unlock(&mcp->lock); /* Can't configure as output, bailout early */ @@ -623,7 +653,7 @@ mcp->txbuf[0] = MCP2221_GPIO_GET; - mcp->gp_idx = (offset + 1) * 2; + mcp->gp_idx = offsetof(struct mcp_get_gpio, gpio[offset].direction); mutex_lock(&mcp->lock); ret = mcp_send_data_req_status(mcp, mcp->txbuf, 1); @@ -632,7 +662,7 @@ if (ret) return ret; - if (mcp->gpio_dir) + if (mcp->gpio_dir == MCP2221_DIR_IN) return GPIO_LINE_DIRECTION_IN; return GPIO_LINE_DIRECTION_OUT; @@ -758,7 +788,7 @@ mcp->status = -ENOENT; } else { mcp->status = !!data[mcp->gp_idx]; - mcp->gpio_dir = !!data[mcp->gp_idx + 1]; + mcp->gpio_dir = data[mcp->gp_idx + 1]; } break; default: @@ -860,7 +890,7 @@ mcp->gc->get_direction = mcp_gpio_get_direction; mcp->gc->set = mcp_gpio_set; mcp->gc->get = mcp_gpio_get; - mcp->gc->ngpio = 4; + mcp->gc->ngpio = MCP_NGPIO; mcp->gc->base = -1; mcp->gc->can_sleep = 1; mcp->gc->parent = &hdev->dev; --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-mf.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-mf.c @@ -153,6 +153,8 @@ .driver_data = HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2), .driver_data = 0 }, /* No quirk required */ + { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE3), + .driver_data = HID_QUIRK_MULTI_INPUT }, { } }; MODULE_DEVICE_TABLE(hid, mf_devices); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-microsoft.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-microsoft.c @@ -451,6 +451,8 @@ .driver_data = MS_SURFACE_DIAL }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER), .driver_data = MS_QUIRK_FF }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS), + .driver_data = MS_QUIRK_FF }, { } }; MODULE_DEVICE_TABLE(hid, ms_devices); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-multitouch.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-multitouch.c @@ -758,7 +758,8 @@ MT_STORE_FIELD(inrange_state); return 1; case HID_DG_CONFIDENCE: - if (cls->name == MT_CLS_WIN_8 && + if ((cls->name == MT_CLS_WIN_8 || + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT) && (field->application == HID_DG_TOUCHPAD || field->application == HID_DG_TOUCHSCREEN)) app->quirks |= MT_QUIRK_CONFIDENCE; @@ -856,6 +857,8 @@ code = BTN_0 + ((usage->hid - 1) & HID_USAGE); hid_map_usage(hi, usage, bit, max, EV_KEY, code); + if (!*bit) + return -1; input_set_capability(hi->input, EV_KEY, code); return 1; @@ -1971,6 +1974,12 @@ HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC, USB_VENDOR_ID_LG, I2C_DEVICE_ID_LG_7010) }, + /* Lenovo X1 TAB Gen 3 */ + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, + HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_LENOVO, + USB_DEVICE_ID_LENOVO_X1_TAB3) }, + /* MosArt panels */ { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, MT_USB_DEVICE(USB_VENDOR_ID_ASUS, @@ -2040,6 +2049,10 @@ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_SYNAPTICS, 0xce08) }, + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_SYNAPTICS, 0xce09) }, + /* TopSeed panels */ { .driver_data = MT_CLS_TOPSEED, MT_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-quirks.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-quirks.c @@ -72,6 +72,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_REDRAGON_SEYMUR2), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1), HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE3), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER), HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET }, @@ -83,7 +84,12 @@ { HID_USB_DEVICE(USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_FUTABA, USB_DEVICE_ID_LED_DISPLAY), HID_QUIRK_NO_INIT_REPORTS }, + { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, USB_DEVICE_ID_GREENASIA_DUAL_SAT_ADAPTOR), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, USB_DEVICE_ID_GREENASIA_DUAL_USB_JOYPAD), HID_QUIRK_MULTI_INPUT }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_GAMEVICE, USB_DEVICE_ID_GAMEVICE_GV186), + HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_GAMEVICE, USB_DEVICE_ID_GAMEVICE_KISHI), + HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, { HID_USB_DEVICE(USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING), HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING), HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING), HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, @@ -105,6 +111,9 @@ { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_602E), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6093), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET }, @@ -147,6 +156,8 @@ { HID_USB_DEVICE(USB_VENDOR_ID_RETROUSB, USB_DEVICE_ID_RETROUSB_SNES_RETROPORT), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD), HID_QUIRK_BADPAD }, { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_2), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_PRO), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD2), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_SENNHEISER, USB_DEVICE_ID_SENNHEISER_BTD500USB), HID_QUIRK_NOGET }, @@ -179,6 +190,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, { 0 } }; @@ -473,6 +485,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR) }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1) }, { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE3) }, #endif #if IS_ENABLED(CONFIG_HID_MICROSOFT) { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500) }, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-roccat-kone.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-roccat-kone.c @@ -294,31 +294,40 @@ struct kone_device *kone = hid_get_drvdata(dev_get_drvdata(dev)); struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev)); int retval = 0, difference, old_profile; + struct kone_settings *settings = (struct kone_settings *)buf; /* I need to get my data in one piece */ if (off != 0 || count != sizeof(struct kone_settings)) return -EINVAL; mutex_lock(&kone->kone_lock); - difference = memcmp(buf, &kone->settings, sizeof(struct kone_settings)); + difference = memcmp(settings, &kone->settings, + sizeof(struct kone_settings)); if (difference) { - retval = kone_set_settings(usb_dev, - (struct kone_settings const *)buf); - if (retval) { - mutex_unlock(&kone->kone_lock); - return retval; + if (settings->startup_profile < 1 || + settings->startup_profile > 5) { + retval = -EINVAL; + goto unlock; } + retval = kone_set_settings(usb_dev, settings); + if (retval) + goto unlock; + old_profile = kone->settings.startup_profile; - memcpy(&kone->settings, buf, sizeof(struct kone_settings)); + memcpy(&kone->settings, settings, sizeof(struct kone_settings)); kone_profile_activated(kone, kone->settings.startup_profile); if (kone->settings.startup_profile != old_profile) kone_profile_report(kone, kone->settings.startup_profile); } +unlock: mutex_unlock(&kone->kone_lock); + if (retval) + return retval; + return sizeof(struct kone_settings); } static BIN_ATTR(settings, 0660, kone_sysfs_read_settings, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-sensor-hub.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-sensor-hub.c @@ -483,7 +483,8 @@ return 1; ptr = raw_data; - ptr++; /* Skip report id */ + if (report->id) + ptr++; /* Skip report id */ spin_lock_irqsave(&pdata->lock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-uclogic-core.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-uclogic-core.c @@ -385,6 +385,8 @@ USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) }, { HID_USB_DEVICE(USB_VENDOR_ID_UGTIZER, USB_DEVICE_ID_UGTIZER_TABLET_GP0610) }, + { HID_USB_DEVICE(USB_VENDOR_ID_UGTIZER, + USB_DEVICE_ID_UGTIZER_TABLET_GT5040) }, { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_TABLET_G5) }, { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/hid-uclogic-params.c +++ linux-riscv-5.8-5.8.0/drivers/hid/hid-uclogic-params.c @@ -997,6 +997,8 @@ break; case VID_PID(USB_VENDOR_ID_UGTIZER, USB_DEVICE_ID_UGTIZER_TABLET_GP0610): + case VID_PID(USB_VENDOR_ID_UGTIZER, + USB_DEVICE_ID_UGTIZER_TABLET_GT5040): case VID_PID(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_XPPEN_TABLET_G540): case VID_PID(USB_VENDOR_ID_UGEE, --- linux-riscv-5.8-5.8.0.orig/drivers/hid/i2c-hid/i2c-hid-core.c +++ linux-riscv-5.8-5.8.0/drivers/hid/i2c-hid/i2c-hid-core.c @@ -171,6 +171,8 @@ I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV }, { I2C_VENDOR_ID_HANTICK, I2C_PRODUCT_ID_HANTICK_5288, I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, + { I2C_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_VOYO_WINPAD_A15, + I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, { I2C_VENDOR_ID_RAYDIUM, I2C_PRODUCT_ID_RAYDIUM_3118, I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, { USB_VENDOR_ID_ELAN, HID_ANY_ID, @@ -420,6 +422,19 @@ dev_err(&client->dev, "failed to change power setting.\n"); set_pwr_exit: + + /* + * The HID over I2C specification states that if a DEVICE needs time + * after the PWR_ON request, it should utilise CLOCK stretching. + * However, it has been observered that the Windows driver provides a + * 1ms sleep between the PWR_ON and RESET requests. + * According to Goodix Windows even waits 60 ms after (other?) + * PWR_ON requests. Testing has confirmed that several devices + * will not work properly without a delay after a PWR_ON request. + */ + if (!ret && power_state == I2C_HID_PWR_ON) + msleep(60); + return ret; } @@ -441,15 +456,6 @@ if (ret) goto out_unlock; - /* - * The HID over I2C specification states that if a DEVICE needs time - * after the PWR_ON request, it should utilise CLOCK stretching. - * However, it has been observered that the Windows driver provides a - * 1ms sleep between the PWR_ON and RESET requests and that some devices - * rely on this. - */ - usleep_range(1000, 5000); - i2c_hid_dbg(ihid, "resetting...\n"); ret = i2c_hid_command(client, &hid_reset_cmd, NULL, 0); @@ -931,6 +937,14 @@ acpi_device_fix_up_power(adev); } +static void i2c_hid_acpi_enable_wakeup(struct device *dev) +{ + if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) { + device_set_wakeup_capable(dev, true); + device_set_wakeup_enable(dev, false); + } +} + static const struct acpi_device_id i2c_hid_acpi_match[] = { {"ACPI0C50", 0 }, {"PNP0C50", 0 }, @@ -945,6 +959,8 @@ } static inline void i2c_hid_acpi_fix_up_power(struct device *dev) {} + +static inline void i2c_hid_acpi_enable_wakeup(struct device *dev) {} #endif #ifdef CONFIG_OF @@ -1072,6 +1088,8 @@ i2c_hid_acpi_fix_up_power(&client->dev); + i2c_hid_acpi_enable_wakeup(&client->dev); + device_enable_async_suspend(&client->dev); /* Make sure there is something at this address */ --- linux-riscv-5.8-5.8.0.orig/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c +++ linux-riscv-5.8-5.8.0/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c @@ -405,6 +405,14 @@ }, .driver_data = (void *)&sipodev_desc }, + { + .ident = "Vero K147", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VERO"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "K147"), + }, + .driver_data = (void *)&sipodev_desc + }, { } /* Terminate list */ }; --- linux-riscv-5.8-5.8.0.orig/drivers/hid/intel-ish-hid/ipc/hw-ish.h +++ linux-riscv-5.8-5.8.0/drivers/hid/intel-ish-hid/ipc/hw-ish.h @@ -27,6 +27,7 @@ #define CMP_H_DEVICE_ID 0x06FC #define EHL_Ax_DEVICE_ID 0x4BB3 #define TGL_LP_DEVICE_ID 0xA0FC +#define TGL_H_DEVICE_ID 0x43FC #define REVISION_ID_CHT_A0 0x6 #define REVISION_ID_CHT_Ax_SI 0x0 --- linux-riscv-5.8-5.8.0.orig/drivers/hid/intel-ish-hid/ipc/pci-ish.c +++ linux-riscv-5.8-5.8.0/drivers/hid/intel-ish-hid/ipc/pci-ish.c @@ -37,6 +37,7 @@ {PCI_DEVICE(PCI_VENDOR_ID_INTEL, CMP_H_DEVICE_ID)}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, EHL_Ax_DEVICE_ID)}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, TGL_LP_DEVICE_ID)}, + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, TGL_H_DEVICE_ID)}, {0, } }; MODULE_DEVICE_TABLE(pci, ish_pci_tbl); --- linux-riscv-5.8-5.8.0.orig/drivers/hid/usbhid/hiddev.c +++ linux-riscv-5.8-5.8.0/drivers/hid/usbhid/hiddev.c @@ -519,12 +519,16 @@ switch (cmd) { case HIDIOCGUSAGE: + if (uref->usage_index >= field->report_count) + goto inval; uref->value = field->value[uref->usage_index]; if (copy_to_user(user_arg, uref, sizeof(*uref))) goto fault; goto goodreturn; case HIDIOCSUSAGE: + if (uref->usage_index >= field->report_count) + goto inval; field->value[uref->usage_index] = uref->value; goto goodreturn; --- linux-riscv-5.8-5.8.0.orig/drivers/hid/wacom_sys.c +++ linux-riscv-5.8-5.8.0/drivers/hid/wacom_sys.c @@ -147,9 +147,9 @@ } if (flush) - wacom_wac_queue_flush(hdev, &wacom_wac->pen_fifo); + wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo); else if (insert) - wacom_wac_queue_insert(hdev, &wacom_wac->pen_fifo, + wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo, raw_data, report_size); return insert && !flush; @@ -1270,6 +1270,38 @@ group); } +static void wacom_devm_kfifo_release(struct device *dev, void *res) +{ + struct kfifo_rec_ptr_2 *devres = res; + + kfifo_free(devres); +} + +static int wacom_devm_kfifo_alloc(struct wacom *wacom) +{ + struct wacom_wac *wacom_wac = &wacom->wacom_wac; + struct kfifo_rec_ptr_2 *pen_fifo; + int error; + + pen_fifo = devres_alloc(wacom_devm_kfifo_release, + sizeof(struct kfifo_rec_ptr_2), + GFP_KERNEL); + + if (!pen_fifo) + return -ENOMEM; + + error = kfifo_alloc(pen_fifo, WACOM_PKGLEN_MAX, GFP_KERNEL); + if (error) { + devres_free(pen_fifo); + return error; + } + + devres_add(&wacom->hdev->dev, pen_fifo); + wacom_wac->pen_fifo = pen_fifo; + + return 0; +} + enum led_brightness wacom_leds_brightness_get(struct wacom_led *led) { struct wacom *wacom = led->wacom; @@ -2724,7 +2756,7 @@ if (features->check_for_hid_type && features->hid_type != hdev->type) return -ENODEV; - error = kfifo_alloc(&wacom_wac->pen_fifo, WACOM_PKGLEN_MAX, GFP_KERNEL); + error = wacom_devm_kfifo_alloc(wacom); if (error) return error; @@ -2786,8 +2818,6 @@ if (wacom->wacom_wac.features.type != REMOTE) wacom_release_resources(wacom); - - kfifo_free(&wacom_wac->pen_fifo); } #ifdef CONFIG_PM --- linux-riscv-5.8-5.8.0.orig/drivers/hid/wacom_wac.c +++ linux-riscv-5.8-5.8.0/drivers/hid/wacom_wac.c @@ -2533,7 +2533,7 @@ !wacom_wac->shared->is_touch_on) { if (!wacom_wac->shared->touch_down) return; - prox = 0; + prox = false; } wacom_wac->hid_data.num_received++; @@ -2600,7 +2600,12 @@ wacom_wac->is_invalid_bt_frame = !value; return; case HID_DG_CONTACTMAX: - features->touch_max = value; + if (!features->touch_max) { + features->touch_max = value; + } else { + hid_warn(hdev, "%s: ignoring attempt to overwrite non-zero touch_max " + "%d -> %d\n", __func__, features->touch_max, value); + } return; } @@ -2773,7 +2778,9 @@ if (report->type != HID_INPUT_REPORT) return -1; - if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input) + if (WACOM_PAD_FIELD(field)) + return 0; + else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input) wacom_wac_pen_report(hdev, report); else if (WACOM_FINGER_FIELD(field) && wacom->wacom_wac.touch_input) wacom_wac_finger_report(hdev, report); @@ -3567,8 +3574,6 @@ { struct wacom_features *features = &wacom_wac->features; - input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); - if (!(features->device_type & WACOM_DEVICETYPE_PEN)) return -ENODEV; @@ -3583,6 +3588,7 @@ return 0; } + input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); __set_bit(BTN_TOUCH, input_dev->keybit); __set_bit(ABS_MISC, input_dev->absbit); @@ -3735,8 +3741,6 @@ { struct wacom_features *features = &wacom_wac->features; - input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); - if (!(features->device_type & WACOM_DEVICETYPE_TOUCH)) return -ENODEV; @@ -3749,6 +3753,7 @@ /* setup has already been done */ return 0; + input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); __set_bit(BTN_TOUCH, input_dev->keybit); if (features->touch_max == 1) { --- linux-riscv-5.8-5.8.0.orig/drivers/hid/wacom_wac.h +++ linux-riscv-5.8-5.8.0/drivers/hid/wacom_wac.h @@ -342,7 +342,7 @@ struct input_dev *pen_input; struct input_dev *touch_input; struct input_dev *pad_input; - struct kfifo_rec_ptr_2 pen_fifo; + struct kfifo_rec_ptr_2 *pen_fifo; int pid; int num_contacts_left; u8 bt_features; --- linux-riscv-5.8-5.8.0.orig/drivers/hsi/controllers/omap_ssi_core.c +++ linux-riscv-5.8-5.8.0/drivers/hsi/controllers/omap_ssi_core.c @@ -355,7 +355,7 @@ err = ida_simple_get(&platform_omap_ssi_ida, 0, 0, GFP_KERNEL); if (err < 0) - goto out_err; + return err; ssi->id = err; ssi->owner = THIS_MODULE; @@ -424,7 +424,7 @@ struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); int err; - err = pm_runtime_get_sync(ssi->device.parent); + err = pm_runtime_resume_and_get(ssi->device.parent); if (err < 0) { dev_err(&ssi->device, "runtime PM failed %d\n", err); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/hv/channel_mgmt.c +++ linux-riscv-5.8-5.8.0/drivers/hv/channel_mgmt.c @@ -744,13 +744,19 @@ free_cpumask_var(available_mask); } +#define UNLOAD_DELAY_UNIT_MS 10 /* 10 milliseconds */ +#define UNLOAD_WAIT_MS (100*1000) /* 100 seconds */ +#define UNLOAD_WAIT_LOOPS (UNLOAD_WAIT_MS/UNLOAD_DELAY_UNIT_MS) +#define UNLOAD_MSG_MS (5*1000) /* Every 5 seconds */ +#define UNLOAD_MSG_LOOPS (UNLOAD_MSG_MS/UNLOAD_DELAY_UNIT_MS) + static void vmbus_wait_for_unload(void) { int cpu; void *page_addr; struct hv_message *msg; struct vmbus_channel_message_header *hdr; - u32 message_type; + u32 message_type, i; /* * CHANNELMSG_UNLOAD_RESPONSE is always delivered to the CPU which was @@ -760,10 +766,18 @@ * functional and vmbus_unload_response() will complete * vmbus_connection.unload_event. If not, the last thing we can do is * read message pages for all CPUs directly. + * + * Wait up to 100 seconds since an Azure host must writeback any dirty + * data in its disk cache before the VMbus UNLOAD request will + * complete. This flushing has been empirically observed to take up + * to 50 seconds in cases with a lot of dirty data, so allow additional + * leeway and for inaccuracies in mdelay(). But eventually time out so + * that the panic path can't get hung forever in case the response + * message isn't seen. */ - while (1) { + for (i = 1; i <= UNLOAD_WAIT_LOOPS; i++) { if (completion_done(&vmbus_connection.unload_event)) - break; + goto completed; for_each_online_cpu(cpu) { struct hv_per_cpu_context *hv_cpu @@ -786,9 +800,18 @@ vmbus_signal_eom(msg, message_type); } - mdelay(10); + /* + * Give a notice periodically so someone watching the + * serial output won't think it is completely hung. + */ + if (!(i % UNLOAD_MSG_LOOPS)) + pr_notice("Waiting for VMBus UNLOAD to complete\n"); + + mdelay(UNLOAD_DELAY_UNIT_MS); } + pr_err("Continuing even though VMBus UNLOAD did not complete\n"); +completed: /* * We're crashing and already got the UNLOAD_RESPONSE, cleanup all * maybe-pending messages on all CPUs to be able to receive new @@ -812,6 +835,11 @@ /* * This is a global event; just wakeup the waiting thread. * Once we successfully unload, we can cleanup the monitor state. + * + * NB. A malicious or compromised Hyper-V could send a spurious + * message of type CHANNELMSG_UNLOAD_RESPONSE, and trigger a call + * of the complete() below. Make sure that unload_event has been + * initialized by the time this complete() is executed. */ complete(&vmbus_connection.unload_event); } @@ -827,7 +855,7 @@ if (vmbus_proto_version < VERSION_WIN8_1) return; - init_completion(&vmbus_connection.unload_event); + reinit_completion(&vmbus_connection.unload_event); memset(&hdr, 0, sizeof(struct vmbus_channel_message_header)); hdr.msgtype = CHANNELMSG_UNLOAD; vmbus_post_msg(&hdr, sizeof(struct vmbus_channel_message_header), @@ -1118,8 +1146,7 @@ vmbus_device_unregister(channel->device_obj); put_device(dev); } - } - if (channel->primary_channel != NULL) { + } else if (channel->primary_channel != NULL) { /* * Sub-channel is being rescinded. Following is the channel * close sequence when initiated from the driveri (refer to --- linux-riscv-5.8-5.8.0.orig/drivers/hv/connection.c +++ linux-riscv-5.8-5.8.0/drivers/hv/connection.c @@ -26,6 +26,8 @@ struct vmbus_connection vmbus_connection = { .conn_state = DISCONNECTED, + .unload_event = COMPLETION_INITIALIZER( + vmbus_connection.unload_event), .next_gpadl_handle = ATOMIC_INIT(0xE1E10), .ready_for_suspend_event= COMPLETION_INITIALIZER( --- linux-riscv-5.8-5.8.0.orig/drivers/hv/hv.c +++ linux-riscv-5.8-5.8.0/drivers/hv/hv.c @@ -245,9 +245,13 @@ /* * Hyper-V does not provide a way to change the connect CPU once - * it is set; we must prevent the connect CPU from going offline. + * it is set; we must prevent the connect CPU from going offline + * while the VM is running normally. But in the panic or kexec() + * path where the vmbus is already disconnected, the CPU must be + * allowed to shut down. */ - if (cpu == VMBUS_CONNECT_CPU) + if (cpu == VMBUS_CONNECT_CPU && + vmbus_connection.conn_state == CONNECTED) return -EBUSY; /* --- linux-riscv-5.8-5.8.0.orig/drivers/hv/hv_balloon.c +++ linux-riscv-5.8-5.8.0/drivers/hv/hv_balloon.c @@ -1275,7 +1275,7 @@ /* Refuse to balloon below the floor. */ if (avail_pages < num_pages || avail_pages - num_pages < floor) { - pr_warn("Balloon request will be partially fulfilled. %s\n", + pr_info("Balloon request will be partially fulfilled. %s\n", avail_pages < num_pages ? "Not enough memory." : "Balloon floor reached."); --- linux-riscv-5.8-5.8.0.orig/drivers/hv/hv_util.c +++ linux-riscv-5.8-5.8.0/drivers/hv/hv_util.c @@ -282,26 +282,52 @@ spinlock_t lock; } host_ts; -static struct timespec64 hv_get_adj_host_time(void) +static inline u64 reftime_to_ns(u64 reftime) { - struct timespec64 ts; - u64 newtime, reftime; + return (reftime - WLTIMEDELTA) * 100; +} + +/* + * Hard coded threshold for host timesync delay: 600 seconds + */ +static const u64 HOST_TIMESYNC_DELAY_THRESH = 600 * (u64)NSEC_PER_SEC; + +static int hv_get_adj_host_time(struct timespec64 *ts) +{ + u64 newtime, reftime, timediff_adj; unsigned long flags; + int ret = 0; spin_lock_irqsave(&host_ts.lock, flags); reftime = hv_read_reference_counter(); - newtime = host_ts.host_time + (reftime - host_ts.ref_time); - ts = ns_to_timespec64((newtime - WLTIMEDELTA) * 100); + + /* + * We need to let the caller know that last update from host + * is older than the max allowable threshold. clock_gettime() + * and PTP ioctl do not have a documented error that we could + * return for this specific case. Use ESTALE to report this. + */ + timediff_adj = reftime - host_ts.ref_time; + if (timediff_adj * 100 > HOST_TIMESYNC_DELAY_THRESH) { + pr_warn_once("TIMESYNC IC: Stale time stamp, %llu nsecs old\n", + (timediff_adj * 100)); + ret = -ESTALE; + } + + newtime = host_ts.host_time + timediff_adj; + *ts = ns_to_timespec64(reftime_to_ns(newtime)); spin_unlock_irqrestore(&host_ts.lock, flags); - return ts; + return ret; } static void hv_set_host_time(struct work_struct *work) { - struct timespec64 ts = hv_get_adj_host_time(); - do_settimeofday64(&ts); + struct timespec64 ts; + + if (!hv_get_adj_host_time(&ts)) + do_settimeofday64(&ts); } /* @@ -361,10 +387,23 @@ struct ictimesync_ref_data *refdata; u8 *time_txf_buf = util_timesynch.recv_buffer; - vmbus_recvpacket(channel, time_txf_buf, - HV_HYP_PAGE_SIZE, &recvlen, &requestid); + /* + * Drain the ring buffer and use the last packet to update + * host_ts + */ + while (1) { + int ret = vmbus_recvpacket(channel, time_txf_buf, + HV_HYP_PAGE_SIZE, &recvlen, + &requestid); + if (ret) { + pr_warn_once("TimeSync IC pkt recv failed (Err: %d)\n", + ret); + break; + } + + if (!recvlen) + break; - if (recvlen > 0) { icmsghdrp = (struct icmsg_hdr *)&time_txf_buf[ sizeof(struct vmbuspipe_hdr)]; @@ -622,9 +661,7 @@ static int hv_ptp_gettime(struct ptp_clock_info *info, struct timespec64 *ts) { - *ts = hv_get_adj_host_time(); - - return 0; + return hv_get_adj_host_time(ts); } static struct ptp_clock_info ptp_hyperv_info = { --- linux-riscv-5.8-5.8.0.orig/drivers/hv/vmbus_drv.c +++ linux-riscv-5.8-5.8.0/drivers/hv/vmbus_drv.c @@ -2383,7 +2383,10 @@ if (atomic_read(&vmbus_connection.nr_chan_close_on_suspend) > 0) wait_for_completion(&vmbus_connection.ready_for_suspend_event); - WARN_ON(atomic_read(&vmbus_connection.nr_chan_fixup_on_resume) != 0); + if (atomic_read(&vmbus_connection.nr_chan_fixup_on_resume) != 0) { + pr_err("Can not suspend due to a previous failed resuming\n"); + return -EBUSY; + } mutex_lock(&vmbus_connection.channel_mutex); @@ -2459,7 +2462,9 @@ vmbus_request_offers(); - wait_for_completion(&vmbus_connection.ready_for_resume_event); + if (wait_for_completion_timeout( + &vmbus_connection.ready_for_resume_event, 10 * HZ) == 0) + pr_err("Some vmbus device is missing after suspending?\n"); /* Reset the event for the next suspend. */ reinit_completion(&vmbus_connection.ready_for_suspend_event); --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/amd_energy.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/amd_energy.c @@ -209,7 +209,7 @@ enum hwmon_sensor_types type, u32 attr, int channel) { - return 0444; + return 0440; } static int energy_accumulator(void *p) @@ -265,7 +265,7 @@ */ cpus = num_present_cpus() / num_siblings; - s_config = devm_kcalloc(dev, cpus + sockets, + s_config = devm_kcalloc(dev, cpus + sockets + 1, sizeof(u32), GFP_KERNEL); if (!s_config) return -ENOMEM; @@ -293,6 +293,7 @@ "Esocket%u", (i - cpus)); } + s_config[i] = 0; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/applesmc.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/applesmc.c @@ -32,6 +32,7 @@ #include #include #include +#include /* data port used by Apple SMC */ #define APPLESMC_DATA_PORT 0x300 @@ -42,10 +43,13 @@ #define APPLESMC_MAX_DATA_LENGTH 32 -/* wait up to 128 ms for a status change. */ -#define APPLESMC_MIN_WAIT 0x0010 -#define APPLESMC_RETRY_WAIT 0x0100 -#define APPLESMC_MAX_WAIT 0x20000 +/* Apple SMC status bits */ +#define SMC_STATUS_AWAITING_DATA BIT(0) /* SMC has data waiting to be read */ +#define SMC_STATUS_IB_CLOSED BIT(1) /* Will ignore any input */ +#define SMC_STATUS_BUSY BIT(2) /* Command in progress */ + +/* Initial wait is 8us */ +#define APPLESMC_MIN_WAIT 0x0008 #define APPLESMC_READ_CMD 0x10 #define APPLESMC_WRITE_CMD 0x11 @@ -151,65 +155,84 @@ static struct workqueue_struct *applesmc_led_wq; /* - * wait_read - Wait for a byte to appear on SMC port. Callers must - * hold applesmc_lock. + * Wait for specific status bits with a mask on the SMC. + * Used before all transactions. + * This does 10 fast loops of 8us then exponentially backs off for a + * minimum total wait of 262ms. Depending on usleep_range this could + * run out past 500ms. */ -static int wait_read(void) + +static int wait_status(u8 val, u8 mask) { - unsigned long end = jiffies + (APPLESMC_MAX_WAIT * HZ) / USEC_PER_SEC; u8 status; int us; + int i; - for (us = APPLESMC_MIN_WAIT; us < APPLESMC_MAX_WAIT; us <<= 1) { - usleep_range(us, us * 16); + us = APPLESMC_MIN_WAIT; + for (i = 0; i < 24 ; i++) { status = inb(APPLESMC_CMD_PORT); - /* read: wait for smc to settle */ - if (status & 0x01) + if ((status & mask) == val) return 0; - /* timeout: give up */ - if (time_after(jiffies, end)) - break; + usleep_range(us, us * 2); + if (i > 9) + us <<= 1; } - - pr_warn("wait_read() fail: 0x%02x\n", status); return -EIO; } -/* - * send_byte - Write to SMC port, retrying when necessary. Callers - * must hold applesmc_lock. - */ +/* send_byte - Write to SMC data port. Callers must hold applesmc_lock. */ + static int send_byte(u8 cmd, u16 port) { - u8 status; - int us; - unsigned long end = jiffies + (APPLESMC_MAX_WAIT * HZ) / USEC_PER_SEC; + int status; - outb(cmd, port); - for (us = APPLESMC_MIN_WAIT; us < APPLESMC_MAX_WAIT; us <<= 1) { - usleep_range(us, us * 16); - status = inb(APPLESMC_CMD_PORT); - /* write: wait for smc to settle */ - if (status & 0x02) - continue; - /* ready: cmd accepted, return */ - if (status & 0x04) - return 0; - /* timeout: give up */ - if (time_after(jiffies, end)) - break; - /* busy: long wait and resend */ - udelay(APPLESMC_RETRY_WAIT); - outb(cmd, port); - } + status = wait_status(0, SMC_STATUS_IB_CLOSED); + if (status) + return status; + /* + * This needs to be a separate read looking for bit 0x04 + * after bit 0x02 falls. If consolidated with the wait above + * this extra read may not happen if status returns both + * simultaneously and this would appear to be required. + */ + status = wait_status(SMC_STATUS_BUSY, SMC_STATUS_BUSY); + if (status) + return status; - pr_warn("send_byte(0x%02x, 0x%04x) fail: 0x%02x\n", cmd, port, status); - return -EIO; + outb(cmd, port); + return 0; } +/* send_command - Write a command to the SMC. Callers must hold applesmc_lock. */ + static int send_command(u8 cmd) { - return send_byte(cmd, APPLESMC_CMD_PORT); + int ret; + + ret = wait_status(0, SMC_STATUS_IB_CLOSED); + if (ret) + return ret; + outb(cmd, APPLESMC_CMD_PORT); + return 0; +} + +/* + * Based on logic from the Apple driver. This is issued before any interaction + * If busy is stuck high, issue a read command to reset the SMC state machine. + * If busy is stuck high after the command then the SMC is jammed. + */ + +static int smc_sane(void) +{ + int ret; + + ret = wait_status(0, SMC_STATUS_BUSY); + if (!ret) + return ret; + ret = send_command(APPLESMC_READ_CMD); + if (ret) + return ret; + return wait_status(0, SMC_STATUS_BUSY); } static int send_argument(const char *key) @@ -226,6 +249,11 @@ { u8 status, data = 0; int i; + int ret; + + ret = smc_sane(); + if (ret) + return ret; if (send_command(cmd) || send_argument(key)) { pr_warn("%.4s: read arg fail\n", key); @@ -239,7 +267,8 @@ } for (i = 0; i < len; i++) { - if (wait_read()) { + if (wait_status(SMC_STATUS_AWAITING_DATA | SMC_STATUS_BUSY, + SMC_STATUS_AWAITING_DATA | SMC_STATUS_BUSY)) { pr_warn("%.4s: read data[%d] fail\n", key, i); return -EIO; } @@ -250,19 +279,24 @@ for (i = 0; i < 16; i++) { udelay(APPLESMC_MIN_WAIT); status = inb(APPLESMC_CMD_PORT); - if (!(status & 0x01)) + if (!(status & SMC_STATUS_AWAITING_DATA)) break; data = inb(APPLESMC_DATA_PORT); } if (i) pr_warn("flushed %d bytes, last value is: %d\n", i, data); - return 0; + return wait_status(0, SMC_STATUS_BUSY); } static int write_smc(u8 cmd, const char *key, const u8 *buffer, u8 len) { int i; + int ret; + + ret = smc_sane(); + if (ret) + return ret; if (send_command(cmd) || send_argument(key)) { pr_warn("%s: write arg fail\n", key); @@ -281,7 +315,7 @@ } } - return 0; + return wait_status(0, SMC_STATUS_BUSY); } static int read_register_count(unsigned int *count) @@ -753,15 +787,18 @@ } ret = applesmc_read_key(LIGHT_SENSOR_LEFT_KEY, buffer, data_length); + if (ret) + goto out; /* newer macbooks report a single 10-bit bigendian value */ if (data_length == 10) { left = be16_to_cpu(*(__be16 *)(buffer + 6)) >> 2; goto out; } left = buffer[2]; + + ret = applesmc_read_key(LIGHT_SENSOR_RIGHT_KEY, buffer, data_length); if (ret) goto out; - ret = applesmc_read_key(LIGHT_SENSOR_RIGHT_KEY, buffer, data_length); right = buffer[2]; out: @@ -810,12 +847,11 @@ to_index(attr)); ret = applesmc_read_key(newkey, buffer, 2); - speed = ((buffer[0] << 8 | buffer[1]) >> 2); - if (ret) return ret; - else - return snprintf(sysfsbuf, PAGE_SIZE, "%u\n", speed); + + speed = ((buffer[0] << 8 | buffer[1]) >> 2); + return snprintf(sysfsbuf, PAGE_SIZE, "%u\n", speed); } static ssize_t applesmc_store_fan_speed(struct device *dev, @@ -851,12 +887,11 @@ u8 buffer[2]; ret = applesmc_read_key(FANS_MANUAL, buffer, 2); - manual = ((buffer[0] << 8 | buffer[1]) >> to_index(attr)) & 0x01; - if (ret) return ret; - else - return snprintf(sysfsbuf, PAGE_SIZE, "%d\n", manual); + + manual = ((buffer[0] << 8 | buffer[1]) >> to_index(attr)) & 0x01; + return snprintf(sysfsbuf, PAGE_SIZE, "%d\n", manual); } static ssize_t applesmc_store_fan_manual(struct device *dev, @@ -872,10 +907,11 @@ return -EINVAL; ret = applesmc_read_key(FANS_MANUAL, buffer, 2); - val = (buffer[0] << 8 | buffer[1]); if (ret) goto out; + val = (buffer[0] << 8 | buffer[1]); + if (input) val = val | (0x01 << to_index(attr)); else @@ -951,13 +987,12 @@ u32 count; ret = applesmc_read_key(KEY_COUNT_KEY, buffer, 4); - count = ((u32)buffer[0]<<24) + ((u32)buffer[1]<<16) + - ((u32)buffer[2]<<8) + buffer[3]; - if (ret) return ret; - else - return snprintf(sysfsbuf, PAGE_SIZE, "%d\n", count); + + count = ((u32)buffer[0]<<24) + ((u32)buffer[1]<<16) + + ((u32)buffer[2]<<8) + buffer[3]; + return snprintf(sysfsbuf, PAGE_SIZE, "%d\n", count); } static ssize_t applesmc_key_at_index_read_show(struct device *dev, --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/bt1-pvt.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/bt1-pvt.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -476,6 +477,7 @@ long *val) { struct pvt_cache *cache = &pvt->cache[type]; + unsigned long timeout; u32 data; int ret; @@ -499,7 +501,14 @@ pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_DVALID, 0); pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, PVT_CTRL_EN); - wait_for_completion(&cache->conversion); + /* + * Wait with timeout since in case if the sensor is suddenly powered + * down the request won't be completed and the caller will hang up on + * this procedure until the power is back up again. Multiply the + * timeout by the factor of two to prevent a false timeout. + */ + timeout = 2 * usecs_to_jiffies(ktime_to_us(pvt->timeout)); + ret = wait_for_completion_timeout(&cache->conversion, timeout); pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, 0); pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_DVALID, @@ -509,6 +518,9 @@ mutex_unlock(&pvt->iface_mtx); + if (!ret) + return -ETIMEDOUT; + if (type == PVT_TEMP) *val = pvt_calc_poly(&poly_N_to_temp, data); else @@ -654,44 +666,16 @@ static int pvt_read_timeout(struct pvt_hwmon *pvt, long *val) { - unsigned long rate; - ktime_t kt; - u32 data; - - rate = clk_get_rate(pvt->clks[PVT_CLOCK_REF].clk); - if (!rate) - return -ENODEV; - - /* - * Don't bother with mutex here, since we just read data from MMIO. - * We also have to scale the ticks timeout up to compensate the - * ms-ns-data translations. - */ - data = readl(pvt->regs + PVT_TTIMEOUT) + 1; + int ret; - /* - * Calculate ref-clock based delay (Ttotal) between two consecutive - * data samples of the same sensor. So we first must calculate the - * delay introduced by the internal ref-clock timer (Tref * Fclk). - * Then add the constant timeout cuased by each conversion latency - * (Tmin). The basic formulae for each conversion is following: - * Ttotal = Tref * Fclk + Tmin - * Note if alarms are enabled the sensors are polled one after - * another, so in order to have the delay being applicable for each - * sensor the requested value must be equally redistirbuted. - */ -#if defined(CONFIG_SENSORS_BT1_PVT_ALARMS) - kt = ktime_set(PVT_SENSORS_NUM * (u64)data, 0); - kt = ktime_divns(kt, rate); - kt = ktime_add_ns(kt, PVT_SENSORS_NUM * PVT_TOUT_MIN); -#else - kt = ktime_set(data, 0); - kt = ktime_divns(kt, rate); - kt = ktime_add_ns(kt, PVT_TOUT_MIN); -#endif + ret = mutex_lock_interruptible(&pvt->iface_mtx); + if (ret) + return ret; /* Return the result in msec as hwmon sysfs interface requires. */ - *val = ktime_to_ms(kt); + *val = ktime_to_ms(pvt->timeout); + + mutex_unlock(&pvt->iface_mtx); return 0; } @@ -699,7 +683,7 @@ static int pvt_write_timeout(struct pvt_hwmon *pvt, long val) { unsigned long rate; - ktime_t kt; + ktime_t kt, cache; u32 data; int ret; @@ -712,7 +696,7 @@ * between all available sensors to have the requested delay * applicable to each individual sensor. */ - kt = ms_to_ktime(val); + cache = kt = ms_to_ktime(val); #if defined(CONFIG_SENSORS_BT1_PVT_ALARMS) kt = ktime_divns(kt, PVT_SENSORS_NUM); #endif @@ -741,6 +725,7 @@ return ret; pvt_set_tout(pvt, data); + pvt->timeout = cache; mutex_unlock(&pvt->iface_mtx); @@ -982,10 +967,52 @@ return 0; } -static void pvt_init_iface(struct pvt_hwmon *pvt) +static int pvt_check_pwr(struct pvt_hwmon *pvt) { + unsigned long tout; + int ret = 0; + u32 data; + + /* + * Test out the sensor conversion functionality. If it is not done on + * time then the domain must have been unpowered and we won't be able + * to use the device later in this driver. + * Note If the power source is lost during the normal driver work the + * data read procedure will either return -ETIMEDOUT (for the + * alarm-less driver configuration) or just stop the repeated + * conversion. In the later case alas we won't be able to detect the + * problem. + */ + pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_ALL, PVT_INTR_ALL); + pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, PVT_CTRL_EN); + pvt_set_tout(pvt, 0); + readl(pvt->regs + PVT_DATA); + + tout = PVT_TOUT_MIN / NSEC_PER_USEC; + usleep_range(tout, 2 * tout); + + data = readl(pvt->regs + PVT_DATA); + if (!(data & PVT_DATA_VALID)) { + ret = -ENODEV; + dev_err(pvt->dev, "Sensor is powered down\n"); + } + + pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, 0); + + return ret; +} + +static int pvt_init_iface(struct pvt_hwmon *pvt) +{ + unsigned long rate; u32 trim, temp; + rate = clk_get_rate(pvt->clks[PVT_CLOCK_REF].clk); + if (!rate) { + dev_err(pvt->dev, "Invalid reference clock rate\n"); + return -ENODEV; + } + /* * Make sure all interrupts and controller are disabled so not to * accidentally have ISR executed before the driver data is fully @@ -1000,12 +1027,37 @@ pvt_set_mode(pvt, pvt_info[pvt->sensor].mode); pvt_set_tout(pvt, PVT_TOUT_DEF); + /* + * Preserve the current ref-clock based delay (Ttotal) between the + * sensors data samples in the driver data so not to recalculate it + * each time on the data requests and timeout reads. It consists of the + * delay introduced by the internal ref-clock timer (N / Fclk) and the + * constant timeout caused by each conversion latency (Tmin): + * Ttotal = N / Fclk + Tmin + * If alarms are enabled the sensors are polled one after another and + * in order to get the next measurement of a particular sensor the + * caller will have to wait for at most until all the others are + * polled. In that case the formulae will look a bit different: + * Ttotal = 5 * (N / Fclk + Tmin) + */ +#if defined(CONFIG_SENSORS_BT1_PVT_ALARMS) + pvt->timeout = ktime_set(PVT_SENSORS_NUM * PVT_TOUT_DEF, 0); + pvt->timeout = ktime_divns(pvt->timeout, rate); + pvt->timeout = ktime_add_ns(pvt->timeout, PVT_SENSORS_NUM * PVT_TOUT_MIN); +#else + pvt->timeout = ktime_set(PVT_TOUT_DEF, 0); + pvt->timeout = ktime_divns(pvt->timeout, rate); + pvt->timeout = ktime_add_ns(pvt->timeout, PVT_TOUT_MIN); +#endif + trim = PVT_TRIM_DEF; if (!of_property_read_u32(pvt->dev->of_node, "baikal,pvt-temp-offset-millicelsius", &temp)) trim = pvt_calc_trim(temp); pvt_set_trim(pvt, trim); + + return 0; } static int pvt_request_irq(struct pvt_hwmon *pvt) @@ -1109,7 +1161,13 @@ if (ret) return ret; - pvt_init_iface(pvt); + ret = pvt_check_pwr(pvt); + if (ret) + return ret; + + ret = pvt_init_iface(pvt); + if (ret) + return ret; ret = pvt_request_irq(pvt); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/bt1-pvt.h +++ linux-riscv-5.8-5.8.0/drivers/hwmon/bt1-pvt.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -201,6 +202,7 @@ * if alarms are disabled). * @sensor: current PVT sensor the data conversion is being performed for. * @cache: data cache descriptor. + * @timeout: conversion timeout cache. */ struct pvt_hwmon { struct device *dev; @@ -214,6 +216,7 @@ struct mutex iface_mtx; enum pvt_sensor_type sensor; struct pvt_cache cache[PVT_SENSORS_NUM]; + ktime_t timeout; }; /* --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/dell-smm-hwmon.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/dell-smm-hwmon.c @@ -1159,6 +1159,13 @@ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "XPS13 9333"), }, }, + { + .ident = "Dell XPS 15 L502X", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Dell System XPS L502X"), + }, + }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/gsc-hwmon.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/gsc-hwmon.c @@ -172,6 +172,7 @@ case mode_temperature: if (tmp > 0x8000) tmp -= 0xffff; + tmp *= 100; /* convert to millidegrees celsius */ break; case mode_voltage_raw: tmp = clamp_val(tmp, 0, BIT(GSC_HWMON_RESOLUTION)); --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/ina3221.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/ina3221.c @@ -489,7 +489,7 @@ /* For enabling routine, increase refcount and resume() at first */ if (enable) { - ret = pm_runtime_get_sync(ina->pm_dev); + ret = pm_runtime_resume_and_get(ina->pm_dev); if (ret < 0) { dev_err(dev, "Failed to get PM runtime\n"); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/nct7904.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/nct7904.c @@ -231,7 +231,7 @@ if (ret < 0) return ret; cnt = ((ret & 0xff00) >> 3) | (ret & 0x1f); - if (cnt == 0x1fff) + if (cnt == 0 || cnt == 0x1fff) rpm = 0; else rpm = 1350000 / cnt; @@ -243,7 +243,7 @@ if (ret < 0) return ret; cnt = ((ret & 0xff00) >> 3) | (ret & 0x1f); - if (cnt == 0x1fff) + if (cnt == 0 || cnt == 0x1fff) rpm = 0; else rpm = 1350000 / cnt; --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/pmbus/isl68137.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/pmbus/isl68137.c @@ -67,6 +67,7 @@ raa_dmpvr1_2rail, raa_dmpvr2_1rail, raa_dmpvr2_2rail, + raa_dmpvr2_2rail_nontc, raa_dmpvr2_3rail, raa_dmpvr2_hv, }; @@ -241,6 +242,10 @@ info->pages = 1; info->read_word_data = raa_dmpvr2_read_word_data; break; + case raa_dmpvr2_2rail_nontc: + info->func[0] &= ~PMBUS_HAVE_TEMP; + info->func[1] &= ~PMBUS_HAVE_TEMP; + fallthrough; case raa_dmpvr2_2rail: info->pages = 2; info->read_word_data = raa_dmpvr2_read_word_data; @@ -304,7 +309,7 @@ {"raa228000", raa_dmpvr2_hv}, {"raa228004", raa_dmpvr2_hv}, {"raa228006", raa_dmpvr2_hv}, - {"raa228228", raa_dmpvr2_2rail}, + {"raa228228", raa_dmpvr2_2rail_nontc}, {"raa229001", raa_dmpvr2_2rail}, {"raa229004", raa_dmpvr2_2rail}, {} --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/pmbus/max34440.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/pmbus/max34440.c @@ -31,6 +31,13 @@ #define MAX34440_STATUS_OT_FAULT BIT(5) #define MAX34440_STATUS_OT_WARN BIT(6) +/* + * The whole max344* family have IOUT_OC_WARN_LIMIT and IOUT_OC_FAULT_LIMIT + * swapped from the standard pmbus spec addresses. + */ +#define MAX34440_IOUT_OC_WARN_LIMIT 0x46 +#define MAX34440_IOUT_OC_FAULT_LIMIT 0x4A + #define MAX34451_MFR_CHANNEL_CONFIG 0xe4 #define MAX34451_MFR_CHANNEL_CONFIG_SEL_MASK 0x3f @@ -49,6 +56,14 @@ const struct max34440_data *data = to_max34440_data(info); switch (reg) { + case PMBUS_IOUT_OC_FAULT_LIMIT: + ret = pmbus_read_word_data(client, page, phase, + MAX34440_IOUT_OC_FAULT_LIMIT); + break; + case PMBUS_IOUT_OC_WARN_LIMIT: + ret = pmbus_read_word_data(client, page, phase, + MAX34440_IOUT_OC_WARN_LIMIT); + break; case PMBUS_VIRT_READ_VOUT_MIN: ret = pmbus_read_word_data(client, page, phase, MAX34440_MFR_VOUT_MIN); @@ -115,6 +130,14 @@ int ret; switch (reg) { + case PMBUS_IOUT_OC_FAULT_LIMIT: + ret = pmbus_write_word_data(client, page, MAX34440_IOUT_OC_FAULT_LIMIT, + word); + break; + case PMBUS_IOUT_OC_WARN_LIMIT: + ret = pmbus_write_word_data(client, page, MAX34440_IOUT_OC_WARN_LIMIT, + word); + break; case PMBUS_VIRT_RESET_POUT_HISTORY: ret = pmbus_write_word_data(client, page, MAX34446_MFR_POUT_PEAK, 0); @@ -388,7 +411,6 @@ .func[18] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[19] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[20] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, - .read_byte_data = max34440_read_byte_data, .read_word_data = max34440_read_word_data, .write_word_data = max34440_write_word_data, }, @@ -419,7 +441,6 @@ .func[15] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[16] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[17] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, - .read_byte_data = max34440_read_byte_data, .read_word_data = max34440_read_word_data, .write_word_data = max34440_write_word_data, }, @@ -455,7 +476,6 @@ .func[19] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[20] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, .func[21] = PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, - .read_byte_data = max34440_read_byte_data, .read_word_data = max34440_read_word_data, .write_word_data = max34440_write_word_data, }, --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/pwm-fan.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/pwm-fan.c @@ -54,16 +54,18 @@ static void sample_timer(struct timer_list *t) { struct pwm_fan_ctx *ctx = from_timer(ctx, t, rpm_timer); + unsigned int delta = ktime_ms_delta(ktime_get(), ctx->sample_start); int pulses; - u64 tmp; - pulses = atomic_read(&ctx->pulses); - atomic_sub(pulses, &ctx->pulses); - tmp = (u64)pulses * ktime_ms_delta(ktime_get(), ctx->sample_start) * 60; - do_div(tmp, ctx->pulses_per_revolution * 1000); - ctx->rpm = tmp; + if (delta) { + pulses = atomic_read(&ctx->pulses); + atomic_sub(pulses, &ctx->pulses); + ctx->rpm = (unsigned int)(pulses * 1000 * 60) / + (ctx->pulses_per_revolution * delta); + + ctx->sample_start = ktime_get(); + } - ctx->sample_start = ktime_get(); mod_timer(&ctx->rpm_timer, jiffies + HZ); } @@ -328,8 +330,18 @@ ctx->pwm_value = MAX_PWM; - /* Set duty cycle to maximum allowed and enable PWM output */ pwm_init_state(ctx->pwm, &state); + /* + * __set_pwm assumes that MAX_PWM * (period - 1) fits into an unsigned + * long. Check this here to prevent the fan running at a too low + * frequency. + */ + if (state.period > ULONG_MAX / MAX_PWM + 1) { + dev_err(dev, "Configured period too big\n"); + return -EINVAL; + } + + /* Set duty cycle to maximum allowed and enable PWM output */ state.duty_cycle = ctx->pwm->args.period - 1; state.enabled = true; --- linux-riscv-5.8-5.8.0.orig/drivers/hwmon/w83627ehf.c +++ linux-riscv-5.8-5.8.0/drivers/hwmon/w83627ehf.c @@ -1951,8 +1951,12 @@ data, &w83627ehf_chip_info, w83627ehf_groups); + if (IS_ERR(hwmon_dev)) { + err = PTR_ERR(hwmon_dev); + goto exit_release; + } - return PTR_ERR_OR_ZERO(hwmon_dev); + return 0; exit_release: release_region(res->start, IOREGION_LENGTH); --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-cti-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-cti-sysfs.c @@ -1065,6 +1065,13 @@ } eattr->var = con; con->con_attrs[attr_idx] = &eattr->attr.attr; + /* + * Initialize the dynamically allocated attribute + * to avoid LOCKDEP splat. See include/linux/sysfs.h + * for more details. + */ + sysfs_attr_init(con->con_attrs[attr_idx]); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-cti.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-cti.c @@ -86,22 +86,16 @@ CS_LOCK(drvdata->base); } -static void cti_enable_hw_smp_call(void *info) -{ - struct cti_drvdata *drvdata = info; - - cti_write_all_hw_regs(drvdata); -} - /* write regs to hardware and enable */ 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(&drvdata->spinlock); + spin_lock_irqsave(&drvdata->spinlock, flags); /* no need to do anything if enabled or unpowered*/ if (config->hw_enabled || !config->hw_powered) @@ -112,19 +106,11 @@ if (rc) goto cti_err_not_enabled; - if (drvdata->ctidev.cpu >= 0) { - rc = smp_call_function_single(drvdata->ctidev.cpu, - cti_enable_hw_smp_call, - drvdata, 1); - if (rc) - goto cti_err_not_enabled; - } else { - cti_write_all_hw_regs(drvdata); - } + cti_write_all_hw_regs(drvdata); config->hw_enabled = true; atomic_inc(&drvdata->config.enable_req_count); - spin_unlock(&drvdata->spinlock); + spin_unlock_irqrestore(&drvdata->spinlock, flags); return rc; cti_state_unchanged: @@ -132,7 +118,7 @@ /* cannot enable due to error */ cti_err_not_enabled: - spin_unlock(&drvdata->spinlock); + spin_unlock_irqrestore(&drvdata->spinlock, flags); pm_runtime_put(dev->parent); return rc; } @@ -141,9 +127,7 @@ static void cti_cpuhp_enable_hw(struct cti_drvdata *drvdata) { struct cti_config *config = &drvdata->config; - struct device *dev = &drvdata->csdev->dev; - pm_runtime_get_sync(dev->parent); spin_lock(&drvdata->spinlock); config->hw_powered = true; @@ -163,7 +147,6 @@ /* did not re-enable due to no claim / no request */ cti_hp_not_enabled: spin_unlock(&drvdata->spinlock); - pm_runtime_put(dev->parent); } /* disable hardware */ @@ -511,12 +494,15 @@ return !link_err; } -static void cti_remove_sysfs_link(struct cti_trig_con *tc) +static void cti_remove_sysfs_link(struct cti_drvdata *drvdata, + struct cti_trig_con *tc) { struct coresight_sysfs_link link_info; + link_info.orig = drvdata->csdev; link_info.orig_name = tc->con_dev_name; link_info.target = tc->con_dev; + link_info.target_name = dev_name(&drvdata->csdev->dev); coresight_remove_sysfs_link(&link_info); } @@ -606,8 +592,8 @@ ctidrv = csdev_to_cti_drvdata(csdev->ect_dev); ctidev = &ctidrv->ctidev; list_for_each_entry(tc, &ctidev->trig_cons, node) { - if (tc->con_dev == csdev->ect_dev) { - cti_remove_sysfs_link(tc); + if (tc->con_dev == csdev) { + cti_remove_sysfs_link(ctidrv, tc); tc->con_dev = NULL; break; } @@ -651,7 +637,7 @@ if (tc->con_dev) { coresight_set_assoc_ectdev_mutex(tc->con_dev, NULL); - cti_remove_sysfs_link(tc); + cti_remove_sysfs_link(drvdata, tc); tc->con_dev = NULL; } } @@ -742,7 +728,8 @@ spin_lock(&drvdata->spinlock); drvdata->config.hw_powered = false; - coresight_disclaim_device(drvdata->base); + if (drvdata->config.hw_enabled) + coresight_disclaim_device(drvdata->base); spin_unlock(&drvdata->spinlock); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-etb10.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-etb10.c @@ -176,6 +176,7 @@ unsigned long flags; struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent); struct perf_output_handle *handle = data; + struct cs_buffers *buf = etm_perf_sink_config(handle); spin_lock_irqsave(&drvdata->spinlock, flags); @@ -186,7 +187,7 @@ } /* Get a handle on the pid of the process to monitor */ - pid = task_pid_nr(handle->event->owner); + pid = buf->pid; if (drvdata->pid != -1 && drvdata->pid != pid) { ret = -EBUSY; @@ -383,6 +384,7 @@ if (!buf) return NULL; + buf->pid = task_pid_nr(event->owner); buf->snapshot = overwrite; buf->nr_pages = nr_pages; buf->data_pages = pages; --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-etm-perf.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-etm-perf.c @@ -126,10 +126,10 @@ cpumask_t *mask = &event_data->mask; struct coresight_device *sink; - if (WARN_ON(cpumask_empty(mask))) + if (!event_data->snk_config) return; - if (!event_data->snk_config) + if (WARN_ON(cpumask_empty(mask))) return; cpu = cpumask_first(mask); @@ -210,7 +210,7 @@ u32 id; int cpu = event->cpu; cpumask_t *mask; - struct coresight_device *sink; + struct coresight_device *sink = NULL; struct etm_event_data *event_data = NULL; event_data = alloc_event_data(cpu); @@ -222,8 +222,6 @@ if (event->attr.config2) { id = (u32)event->attr.config2; sink = coresight_get_sink_by_id(id); - } else { - sink = coresight_get_enabled_sink(true); } if (!sink) @@ -310,6 +308,16 @@ if (!event_data) goto fail; + /* + * Check if this ETM is allowed to trace, as decided + * at etm_setup_aux(). This could be due to an unreachable + * sink from this ETM. We can't do much in this case if + * the sink was specified or hinted to the driver. For + * now, simply don't record anything on this ETM. + */ + if (!cpumask_test_cpu(cpu, &event_data->mask)) + goto fail_end_stop; + path = etm_event_cpu_path(event_data, cpu); /* We need a sink, no need to continue without one */ sink = coresight_get_sink(path); --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c @@ -206,7 +206,7 @@ * each trace run. */ config->vinst_ctrl = BIT(0); - if (drvdata->nr_addr_cmp == true) { + if (drvdata->nr_addr_cmp > 0) { config->mode |= ETM_MODE_VIEWINST_STARTSTOP; /* SSSTATUS, bit[9] */ config->vinst_ctrl |= BIT(9); @@ -389,7 +389,7 @@ config->eventctrl1 &= ~BIT(12); /* bit[8], Instruction stall bit */ - if (config->mode & ETM_MODE_ISTALL_EN) + if ((config->mode & ETM_MODE_ISTALL_EN) && (drvdata->stallctl == true)) config->stall_ctrl |= BIT(8); else config->stall_ctrl &= ~BIT(8); --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-etm4x.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-etm4x.c @@ -48,12 +48,11 @@ MODULE_PARM_DESC(pm_save_enable, "Save/restore state on power down: 1 = never, 2 = self-hosted"); -/* The number of ETMv4 currently registered */ -static int etm4_count; static struct etmv4_drvdata *etmdrvdata[NR_CPUS]; static void etm4_set_default_config(struct etmv4_config *config); static int etm4_set_event_filters(struct etmv4_drvdata *drvdata, struct perf_event *event); +static u64 etm4_get_access_type(struct etmv4_config *config); static enum cpuhp_state hp_online; @@ -132,7 +131,8 @@ writel_relaxed(0x0, drvdata->base + TRCAUXCTLR); writel_relaxed(config->eventctrl0, drvdata->base + TRCEVENTCTL0R); writel_relaxed(config->eventctrl1, drvdata->base + TRCEVENTCTL1R); - writel_relaxed(config->stall_ctrl, drvdata->base + TRCSTALLCTLR); + if (drvdata->stallctl) + writel_relaxed(config->stall_ctrl, drvdata->base + TRCSTALLCTLR); writel_relaxed(config->ts_ctrl, drvdata->base + TRCTSCTLR); writel_relaxed(config->syncfreq, drvdata->base + TRCSYNCPR); writel_relaxed(config->ccctlr, drvdata->base + TRCCCCTLR); @@ -507,6 +507,12 @@ readl_relaxed(drvdata->base + TRCSSCSRn(i)); } + /* read back the current counter values */ + for (i = 0; i < drvdata->nr_cntr; i++) { + config->cntr_val[i] = + readl_relaxed(drvdata->base + TRCCNTVRn(i)); + } + coresight_disclaim_device_unlocked(drvdata->base); CS_LOCK(drvdata->base); @@ -775,6 +781,22 @@ CS_LOCK(drvdata->base); } +/* Set ELx trace filter access in the TRCVICTLR register */ +static void etm4_set_victlr_access(struct etmv4_config *config) +{ + u64 access_type; + + config->vinst_ctrl &= ~(ETM_EXLEVEL_S_VICTLR_MASK | ETM_EXLEVEL_NS_VICTLR_MASK); + + /* + * TRCVICTLR::EXLEVEL_NS:EXLEVELS: Set kernel / user filtering + * bits in vinst_ctrl, same bit pattern as TRCACATRn values returned by + * etm4_get_access_type() but with a relative shift in this register. + */ + access_type = etm4_get_access_type(config) << ETM_EXLEVEL_LSHIFT_TRCVICTLR; + config->vinst_ctrl |= (u32)access_type; +} + static void etm4_set_default_config(struct etmv4_config *config) { /* disable all events tracing */ @@ -792,6 +814,9 @@ /* TRCVICTLR::EVENT = 0x01, select the always on logic */ config->vinst_ctrl = BIT(0); + + /* TRCVICTLR::EXLEVEL_NS:EXLEVELS: Set kernel / user filtering */ + etm4_set_victlr_access(config); } static u64 etm4_get_ns_access_type(struct etmv4_config *config) @@ -1056,7 +1081,7 @@ void etm4_config_trace_mode(struct etmv4_config *config) { - u32 addr_acc, mode; + u32 mode; mode = config->mode; mode &= (ETM_MODE_EXCL_KERN | ETM_MODE_EXCL_USER); @@ -1068,15 +1093,7 @@ if (!(mode & ETM_MODE_EXCL_KERN) && !(mode & ETM_MODE_EXCL_USER)) return; - addr_acc = config->addr_acc[ETM_DEFAULT_ADDR_COMP]; - /* clear default config */ - addr_acc &= ~(ETM_EXLEVEL_NS_APP | ETM_EXLEVEL_NS_OS | - ETM_EXLEVEL_NS_HYP); - - addr_acc |= etm4_get_ns_access_type(config); - - config->addr_acc[ETM_DEFAULT_ADDR_COMP] = addr_acc; - config->addr_acc[ETM_DEFAULT_ADDR_COMP + 1] = addr_acc; + etm4_set_victlr_access(config); } static int etm4_online_cpu(unsigned int cpu) @@ -1157,7 +1174,8 @@ state->trcauxctlr = readl(drvdata->base + TRCAUXCTLR); state->trceventctl0r = readl(drvdata->base + TRCEVENTCTL0R); state->trceventctl1r = readl(drvdata->base + TRCEVENTCTL1R); - state->trcstallctlr = readl(drvdata->base + TRCSTALLCTLR); + if (drvdata->stallctl) + state->trcstallctlr = readl(drvdata->base + TRCSTALLCTLR); state->trctsctlr = readl(drvdata->base + TRCTSCTLR); state->trcsyncpr = readl(drvdata->base + TRCSYNCPR); state->trcccctlr = readl(drvdata->base + TRCCCCTLR); @@ -1173,7 +1191,7 @@ state->trcvdsacctlr = readl(drvdata->base + TRCVDSACCTLR); state->trcvdarcctlr = readl(drvdata->base + TRCVDARCCTLR); - for (i = 0; i < drvdata->nrseqstate; i++) + for (i = 0; i < drvdata->nrseqstate - 1; i++) state->trcseqevr[i] = readl(drvdata->base + TRCSEQEVRn(i)); state->trcseqrstevr = readl(drvdata->base + TRCSEQRSTEVR); @@ -1196,8 +1214,8 @@ } for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) { - state->trcacvr[i] = readl(drvdata->base + TRCACVRn(i)); - state->trcacatr[i] = readl(drvdata->base + TRCACATRn(i)); + state->trcacvr[i] = readq(drvdata->base + TRCACVRn(i)); + state->trcacatr[i] = readq(drvdata->base + TRCACATRn(i)); } /* @@ -1208,16 +1226,16 @@ */ for (i = 0; i < drvdata->numcidc; i++) - state->trccidcvr[i] = readl(drvdata->base + TRCCIDCVRn(i)); + state->trccidcvr[i] = readq(drvdata->base + TRCCIDCVRn(i)); for (i = 0; i < drvdata->numvmidc; i++) - state->trcvmidcvr[i] = readl(drvdata->base + TRCVMIDCVRn(i)); + state->trcvmidcvr[i] = readq(drvdata->base + TRCVMIDCVRn(i)); state->trccidcctlr0 = readl(drvdata->base + TRCCIDCCTLR0); state->trccidcctlr1 = readl(drvdata->base + TRCCIDCCTLR1); state->trcvmidcctlr0 = readl(drvdata->base + TRCVMIDCCTLR0); - state->trcvmidcctlr0 = readl(drvdata->base + TRCVMIDCCTLR1); + state->trcvmidcctlr1 = readl(drvdata->base + TRCVMIDCCTLR1); state->trcclaimset = readl(drvdata->base + TRCCLAIMCLR); @@ -1262,7 +1280,8 @@ writel_relaxed(state->trcauxctlr, drvdata->base + TRCAUXCTLR); writel_relaxed(state->trceventctl0r, drvdata->base + TRCEVENTCTL0R); writel_relaxed(state->trceventctl1r, drvdata->base + TRCEVENTCTL1R); - writel_relaxed(state->trcstallctlr, drvdata->base + TRCSTALLCTLR); + if (drvdata->stallctl) + writel_relaxed(state->trcstallctlr, drvdata->base + TRCSTALLCTLR); writel_relaxed(state->trctsctlr, drvdata->base + TRCTSCTLR); writel_relaxed(state->trcsyncpr, drvdata->base + TRCSYNCPR); writel_relaxed(state->trcccctlr, drvdata->base + TRCCCCTLR); @@ -1278,7 +1297,7 @@ writel_relaxed(state->trcvdsacctlr, drvdata->base + TRCVDSACCTLR); writel_relaxed(state->trcvdarcctlr, drvdata->base + TRCVDARCCTLR); - for (i = 0; i < drvdata->nrseqstate; i++) + for (i = 0; i < drvdata->nrseqstate - 1; i++) writel_relaxed(state->trcseqevr[i], drvdata->base + TRCSEQEVRn(i)); @@ -1309,25 +1328,25 @@ } for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) { - writel_relaxed(state->trcacvr[i], + writeq_relaxed(state->trcacvr[i], drvdata->base + TRCACVRn(i)); - writel_relaxed(state->trcacatr[i], + writeq_relaxed(state->trcacatr[i], drvdata->base + TRCACATRn(i)); } for (i = 0; i < drvdata->numcidc; i++) - writel_relaxed(state->trccidcvr[i], + writeq_relaxed(state->trccidcvr[i], drvdata->base + TRCCIDCVRn(i)); for (i = 0; i < drvdata->numvmidc; i++) - writel_relaxed(state->trcvmidcvr[i], + writeq_relaxed(state->trcvmidcvr[i], drvdata->base + TRCVMIDCVRn(i)); writel_relaxed(state->trccidcctlr0, drvdata->base + TRCCIDCCTLR0); writel_relaxed(state->trccidcctlr1, drvdata->base + TRCCIDCCTLR1); writel_relaxed(state->trcvmidcctlr0, drvdata->base + TRCVMIDCCTLR0); - writel_relaxed(state->trcvmidcctlr0, drvdata->base + TRCVMIDCCTLR1); + writel_relaxed(state->trcvmidcctlr1, drvdata->base + TRCVMIDCCTLR1); writel_relaxed(state->trcclaimset, drvdata->base + TRCCLAIMSET); @@ -1388,28 +1407,25 @@ .notifier_call = etm4_cpu_pm_notify, }; -/* Setup PM. Called with cpus locked. Deals with error conditions and counts */ -static int etm4_pm_setup_cpuslocked(void) +/* Setup PM. Deals with error conditions and counts */ +static int __init etm4_pm_setup(void) { int ret; - if (etm4_count++) - return 0; - ret = cpu_pm_register_notifier(&etm4_cpu_pm_nb); if (ret) - goto reduce_count; + return ret; - ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ARM_CORESIGHT_STARTING, - "arm/coresight4:starting", - etm4_starting_cpu, etm4_dying_cpu); + ret = cpuhp_setup_state_nocalls(CPUHP_AP_ARM_CORESIGHT_STARTING, + "arm/coresight4:starting", + etm4_starting_cpu, etm4_dying_cpu); if (ret) goto unregister_notifier; - ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ONLINE_DYN, - "arm/coresight4:online", - etm4_online_cpu, NULL); + ret = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, + "arm/coresight4:online", + etm4_online_cpu, NULL); /* HP dyn state ID returned in ret on success */ if (ret > 0) { @@ -1418,21 +1434,15 @@ } /* failed dyn state - remove others */ - cpuhp_remove_state_nocalls_cpuslocked(CPUHP_AP_ARM_CORESIGHT_STARTING); + cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_STARTING); unregister_notifier: cpu_pm_unregister_notifier(&etm4_cpu_pm_nb); - -reduce_count: - --etm4_count; return ret; } -static void etm4_pm_clear(void) +static void __init etm4_pm_clear(void) { - if (--etm4_count != 0) - return; - cpu_pm_unregister_notifier(&etm4_cpu_pm_nb); cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_STARTING); if (hp_online) { @@ -1485,22 +1495,12 @@ if (!desc.name) return -ENOMEM; - cpus_read_lock(); etmdrvdata[drvdata->cpu] = drvdata; if (smp_call_function_single(drvdata->cpu, etm4_init_arch_data, drvdata, 1)) dev_err(dev, "ETM arch init failed\n"); - ret = etm4_pm_setup_cpuslocked(); - cpus_read_unlock(); - - /* etm4_pm_setup_cpuslocked() does its own cleanup - exit on error */ - if (ret) { - etmdrvdata[drvdata->cpu] = NULL; - return ret; - } - if (etm4_arch_supported(drvdata->arch) == false) { ret = -EINVAL; goto err_arch_supported; @@ -1547,7 +1547,6 @@ err_arch_supported: etmdrvdata[drvdata->cpu] = NULL; - etm4_pm_clear(); return ret; } @@ -1585,4 +1584,23 @@ .probe = etm4_probe, .id_table = etm4_ids, }; -builtin_amba_driver(etm4x_driver); + +static int __init etm4x_init(void) +{ + int ret; + + ret = etm4_pm_setup(); + + /* etm4_pm_setup() does its own cleanup - exit on error */ + if (ret) + return ret; + + ret = amba_driver_register(&etm4x_driver); + if (ret) { + pr_err("Error registering etm4x driver\n"); + etm4_pm_clear(); + } + + return ret; +} +device_initcall(etm4x_init); --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-etm4x.h +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-etm4x.h @@ -133,7 +133,7 @@ #define ETMv4_MAX_CTXID_CMP 8 #define ETM_MAX_VMID_CMP 8 #define ETM_MAX_PE_CMP 8 -#define ETM_MAX_RES_SEL 16 +#define ETM_MAX_RES_SEL 32 #define ETM_MAX_SS_CMP 8 #define ETM_ARCH_V4 0x40 @@ -192,6 +192,9 @@ #define ETM_EXLEVEL_NS_HYP BIT(14) #define ETM_EXLEVEL_NS_NA BIT(15) +/* access level control in TRCVICTLR - same bits as TRCACATRn but shifted */ +#define ETM_EXLEVEL_LSHIFT_TRCVICTLR 8 + /* secure / non secure masks - TRCVICTLR, IDR3 */ #define ETM_EXLEVEL_S_VICTLR_MASK GENMASK(19, 16) /* NS MON (EL3) mode never implemented */ @@ -325,7 +328,7 @@ u32 trccntctlr[ETMv4_MAX_CNTR]; u32 trccntvr[ETMv4_MAX_CNTR]; - u32 trcrsctlr[ETM_MAX_RES_SEL * 2]; + u32 trcrsctlr[ETM_MAX_RES_SEL]; u32 trcssccr[ETM_MAX_SS_CMP]; u32 trcsscsr[ETM_MAX_SS_CMP]; @@ -334,7 +337,7 @@ u64 trcacvr[ETM_MAX_SINGLE_ADDR_CMP]; u64 trcacatr[ETM_MAX_SINGLE_ADDR_CMP]; u64 trccidcvr[ETMv4_MAX_CTXID_CMP]; - u32 trcvmidcvr[ETM_MAX_VMID_CMP]; + u64 trcvmidcvr[ETM_MAX_VMID_CMP]; u32 trccidcctlr0; u32 trccidcctlr1; u32 trcvmidcctlr0; --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-platform.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-platform.c @@ -712,11 +712,11 @@ return dir; if (dir == ACPI_CORESIGHT_LINK_MASTER) { - if (ptr->outport > pdata->nr_outport) - pdata->nr_outport = ptr->outport; + if (ptr->outport >= pdata->nr_outport) + pdata->nr_outport = ptr->outport + 1; ptr++; } else { - WARN_ON(pdata->nr_inport == ptr->child_port); + WARN_ON(pdata->nr_inport == ptr->child_port + 1); /* * We do not track input port connections for a device. * However we need the highest port number described, @@ -724,8 +724,8 @@ * record for an output connection. Hence, do not move * the ptr for input connections */ - if (ptr->child_port > pdata->nr_inport) - pdata->nr_inport = ptr->child_port; + if (ptr->child_port >= pdata->nr_inport) + pdata->nr_inport = ptr->child_port + 1; } } --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-priv.h +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-priv.h @@ -87,6 +87,7 @@ * struct cs_buffer - keep track of a recording session' specifics * @cur: index of the current buffer * @nr_pages: max number of pages granted to us + * @pid: PID this cs_buffer belongs to * @offset: offset within the current buffer * @data_size: how much we collected in this run * @snapshot: is this run in snapshot mode @@ -95,6 +96,7 @@ struct cs_buffers { unsigned int cur; unsigned int nr_pages; + pid_t pid; unsigned long offset; local_t data_size; bool snapshot; --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-tmc-etf.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-tmc-etf.c @@ -227,6 +227,7 @@ unsigned long flags; struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent); struct perf_output_handle *handle = data; + struct cs_buffers *buf = etm_perf_sink_config(handle); spin_lock_irqsave(&drvdata->spinlock, flags); do { @@ -243,7 +244,7 @@ } /* Get a handle on the pid of the process to monitor */ - pid = task_pid_nr(handle->event->owner); + pid = buf->pid; if (drvdata->pid != -1 && drvdata->pid != pid) { ret = -EBUSY; @@ -399,6 +400,7 @@ if (!buf) return NULL; + buf->pid = task_pid_nr(event->owner); buf->snapshot = overwrite; buf->nr_pages = nr_pages; buf->data_pages = pages; @@ -639,15 +641,14 @@ spin_lock_irqsave(&drvdata->spinlock, flags); - /* There is no point in reading a TMC in HW FIFO mode */ - mode = readl_relaxed(drvdata->base + TMC_MODE); - if (mode != TMC_MODE_CIRCULAR_BUFFER) { - spin_unlock_irqrestore(&drvdata->spinlock, flags); - return -EINVAL; - } - /* Re-enable the TMC if need be */ if (drvdata->mode == CS_MODE_SYSFS) { + /* There is no point in reading a TMC in HW FIFO mode */ + mode = readl_relaxed(drvdata->base + TMC_MODE); + if (mode != TMC_MODE_CIRCULAR_BUFFER) { + spin_unlock_irqrestore(&drvdata->spinlock, flags); + return -EINVAL; + } /* * The trace run will continue with the same allocated trace * buffer. As such zero-out the buffer so that we don't end --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -217,6 +217,8 @@ } else { page = alloc_pages_node(node, GFP_KERNEL | __GFP_ZERO, 0); + if (!page) + goto err; } paddr = dma_map_page(real_dev, page, 0, PAGE_SIZE, dir); if (dma_mapping_error(real_dev, paddr)) @@ -1533,7 +1535,7 @@ /* Insert barrier packets at the beginning, if there was an overflow */ if (lost) - tmc_etr_buf_insert_barrier_packet(etr_buf, etr_buf->offset); + tmc_etr_buf_insert_barrier_packet(etr_buf, offset); tmc_etr_sync_perf_buffer(etr_perf, offset, size); /* --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/coresight/coresight.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/coresight/coresight.c @@ -1023,7 +1023,6 @@ { struct coresight_device *csdev = to_coresight_device(dev); - cti_remove_assoc_from_csdev(csdev); fwnode_handle_put(csdev->dev.fwnode); kfree(csdev->refcnt); kfree(csdev); @@ -1357,6 +1356,7 @@ { etm_perf_del_symlink_sink(csdev); /* Remove references of that device in the topology */ + cti_remove_assoc_from_csdev(csdev); coresight_remove_conns(csdev); coresight_release_platform_data(csdev, csdev->pdata); device_unregister(&csdev->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/intel_th/pci.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/intel_th/pci.c @@ -263,6 +263,21 @@ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x1bcc), .driver_data = (kernel_ulong_t)&intel_th_2x, }, + { + /* Alder Lake */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7aa6), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { + /* Alder Lake-P */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x51a6), + .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, + }, { 0 }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/hwtracing/stm/heartbeat.c +++ linux-riscv-5.8-5.8.0/drivers/hwtracing/stm/heartbeat.c @@ -64,7 +64,7 @@ static int stm_heartbeat_init(void) { - int i, ret = -ENOMEM; + int i, ret; if (nr_devs < 0 || nr_devs > STM_HEARTBEAT_MAX) return -EINVAL; @@ -72,8 +72,10 @@ for (i = 0; i < nr_devs; i++) { stm_heartbeat[i].data.name = kasprintf(GFP_KERNEL, "heartbeat.%d", i); - if (!stm_heartbeat[i].data.name) + if (!stm_heartbeat[i].data.name) { + ret = -ENOMEM; goto fail_unregister; + } stm_heartbeat[i].data.nr_chans = 1; stm_heartbeat[i].data.link = stm_heartbeat_link; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/algos/i2c-algo-pca.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/algos/i2c-algo-pca.c @@ -41,8 +41,22 @@ pca_outw(adap, I2C_PCA_INDPTR, I2C_PCA_IPRESET); pca_outw(adap, I2C_PCA_IND, 0xA5); pca_outw(adap, I2C_PCA_IND, 0x5A); + + /* + * After a reset we need to re-apply any configuration + * (calculated in pca_init) to get the bus in a working state. + */ + pca_outw(adap, I2C_PCA_INDPTR, I2C_PCA_IMODE); + pca_outw(adap, I2C_PCA_IND, adap->bus_settings.mode); + pca_outw(adap, I2C_PCA_INDPTR, I2C_PCA_ISCLL); + pca_outw(adap, I2C_PCA_IND, adap->bus_settings.tlow); + pca_outw(adap, I2C_PCA_INDPTR, I2C_PCA_ISCLH); + pca_outw(adap, I2C_PCA_IND, adap->bus_settings.thi); + + pca_set_con(adap, I2C_PCA_CON_ENSIO); } else { adap->reset_chip(adap->data); + pca_set_con(adap, I2C_PCA_CON_ENSIO | adap->bus_settings.clock_freq); } } @@ -423,13 +437,14 @@ " Use the nominal frequency.\n", adap->name); } - pca_reset(pca_data); - clock = pca_clock(pca_data); printk(KERN_INFO "%s: Clock frequency is %dkHz\n", adap->name, freqs[clock]); - pca_set_con(pca_data, I2C_PCA_CON_ENSIO | clock); + /* Store settings as these will be needed when the PCA chip is reset */ + pca_data->bus_settings.clock_freq = clock; + + pca_reset(pca_data); } else { int clock; int mode; @@ -496,19 +511,15 @@ thi = tlow * min_thi / min_tlow; } + /* Store settings as these will be needed when the PCA chip is reset */ + pca_data->bus_settings.mode = mode; + pca_data->bus_settings.tlow = tlow; + pca_data->bus_settings.thi = thi; + pca_reset(pca_data); printk(KERN_INFO "%s: Clock frequency is %dHz\n", adap->name, clock * 100); - - pca_outw(pca_data, I2C_PCA_INDPTR, I2C_PCA_IMODE); - pca_outw(pca_data, I2C_PCA_IND, mode); - pca_outw(pca_data, I2C_PCA_INDPTR, I2C_PCA_ISCLL); - pca_outw(pca_data, I2C_PCA_IND, tlow); - pca_outw(pca_data, I2C_PCA_INDPTR, I2C_PCA_ISCLH); - pca_outw(pca_data, I2C_PCA_IND, thi); - - pca_set_con(pca_data, I2C_PCA_CON_ENSIO); } udelay(500); /* 500 us for oscillator to stabilise */ --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/Kconfig @@ -1008,6 +1008,7 @@ config I2C_SPRD tristate "Spreadtrum I2C interface" depends on I2C=y && (ARCH_SPRD || COMPILE_TEST) + depends on COMMON_CLK help If you say yes to this option, support will be included for the Spreadtrum I2C interface. @@ -1191,6 +1192,7 @@ tristate "Renesas R-Car I2C Controller" depends on ARCH_RENESAS || COMPILE_TEST select I2C_SLAVE + select RESET_CONTROLLER if ARCH_RCAR_GEN3 help If you say yes to this option, support will be included for the R-Car I2C controller. --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-aspeed.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-aspeed.c @@ -69,6 +69,7 @@ * These share bit definitions, so use the same values for the enable & * status bits. */ +#define ASPEED_I2CD_INTR_RECV_MASK 0xf000ffff #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14) #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13) #define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7) @@ -604,6 +605,7 @@ writel(irq_received & ~ASPEED_I2CD_INTR_RX_DONE, bus->base + ASPEED_I2C_INTR_STS_REG); readl(bus->base + ASPEED_I2C_INTR_STS_REG); + irq_received &= ASPEED_I2CD_INTR_RECV_MASK; irq_remaining = irq_received; #if IS_ENABLED(CONFIG_I2C_SLAVE) --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-bcm-iproc.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-bcm-iproc.c @@ -159,6 +159,11 @@ #define IE_S_ALL_INTERRUPT_SHIFT 21 #define IE_S_ALL_INTERRUPT_MASK 0x3f +/* + * It takes ~18us to reading 10bytes of data, hence to keep tasklet + * running for less time, max slave read per tasklet is set to 10 bytes. + */ +#define MAX_SLAVE_RX_PER_INT 10 enum i2c_slave_read_status { I2C_SLAVE_RX_FIFO_EMPTY = 0, @@ -205,8 +210,18 @@ /* bytes that have been read */ unsigned int rx_bytes; unsigned int thld_bytes; + + bool slave_rx_only; + bool rx_start_rcvd; + bool slave_read_complete; + u32 tx_underrun; + u32 slave_int_mask; + struct tasklet_struct slave_rx_tasklet; }; +/* tasklet to process slave rx data */ +static void slave_rx_tasklet_fn(unsigned long); + /* * Can be expanded in the future if more interrupt status bits are utilized */ @@ -215,7 +230,8 @@ #define ISR_MASK_SLAVE (BIT(IS_S_START_BUSY_SHIFT)\ | BIT(IS_S_RX_EVENT_SHIFT) | BIT(IS_S_RD_EVENT_SHIFT)\ - | BIT(IS_S_TX_UNDERRUN_SHIFT)) + | BIT(IS_S_TX_UNDERRUN_SHIFT) | BIT(IS_S_RX_FIFO_FULL_SHIFT)\ + | BIT(IS_S_RX_THLD_SHIFT)) static int bcm_iproc_i2c_reg_slave(struct i2c_client *slave); static int bcm_iproc_i2c_unreg_slave(struct i2c_client *slave); @@ -259,6 +275,7 @@ { u32 val; + iproc_i2c->tx_underrun = 0; if (need_reset) { /* put controller in reset */ val = iproc_i2c_rd_reg(iproc_i2c, CFG_OFFSET); @@ -295,8 +312,11 @@ /* Enable interrupt register to indicate a valid byte in receive fifo */ val = BIT(IE_S_RX_EVENT_SHIFT); + /* Enable interrupt register to indicate a Master read transaction */ + val |= BIT(IE_S_RD_EVENT_SHIFT); /* Enable interrupt register for the Slave BUSY command */ val |= BIT(IE_S_START_BUSY_SHIFT); + iproc_i2c->slave_int_mask = val; iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, val); } @@ -321,76 +341,176 @@ } } -static bool bcm_iproc_i2c_slave_isr(struct bcm_iproc_i2c_dev *iproc_i2c, - u32 status) +static void bcm_iproc_i2c_slave_read(struct bcm_iproc_i2c_dev *iproc_i2c) { + u8 rx_data, rx_status; + u32 rx_bytes = 0; u32 val; - u8 value, rx_status; - /* Slave RX byte receive */ - if (status & BIT(IS_S_RX_EVENT_SHIFT)) { + while (rx_bytes < MAX_SLAVE_RX_PER_INT) { val = iproc_i2c_rd_reg(iproc_i2c, S_RX_OFFSET); rx_status = (val >> S_RX_STATUS_SHIFT) & S_RX_STATUS_MASK; - if (rx_status == I2C_SLAVE_RX_START) { - /* Start of SMBUS for Master write */ - i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_WRITE_REQUESTED, &value); + rx_data = ((val >> S_RX_DATA_SHIFT) & S_RX_DATA_MASK); - val = iproc_i2c_rd_reg(iproc_i2c, S_RX_OFFSET); - value = (u8)((val >> S_RX_DATA_SHIFT) & S_RX_DATA_MASK); + if (rx_status == I2C_SLAVE_RX_START) { + /* Start of SMBUS Master write */ i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_WRITE_RECEIVED, &value); - } else if (status & BIT(IS_S_RD_EVENT_SHIFT)) { - /* Start of SMBUS for Master Read */ + I2C_SLAVE_WRITE_REQUESTED, &rx_data); + iproc_i2c->rx_start_rcvd = true; + iproc_i2c->slave_read_complete = false; + } else if (rx_status == I2C_SLAVE_RX_DATA && + iproc_i2c->rx_start_rcvd) { + /* Middle of SMBUS Master write */ i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_READ_REQUESTED, &value); - iproc_i2c_wr_reg(iproc_i2c, S_TX_OFFSET, value); + I2C_SLAVE_WRITE_RECEIVED, &rx_data); + } else if (rx_status == I2C_SLAVE_RX_END && + iproc_i2c->rx_start_rcvd) { + /* End of SMBUS Master write */ + if (iproc_i2c->slave_rx_only) + i2c_slave_event(iproc_i2c->slave, + I2C_SLAVE_WRITE_RECEIVED, + &rx_data); - val = BIT(S_CMD_START_BUSY_SHIFT); - iproc_i2c_wr_reg(iproc_i2c, S_CMD_OFFSET, val); + i2c_slave_event(iproc_i2c->slave, I2C_SLAVE_STOP, + &rx_data); + } else if (rx_status == I2C_SLAVE_RX_FIFO_EMPTY) { + iproc_i2c->rx_start_rcvd = false; + iproc_i2c->slave_read_complete = true; + break; + } - /* - * Enable interrupt for TX FIFO becomes empty and - * less than PKT_LENGTH bytes were output on the SMBUS - */ - val = iproc_i2c_rd_reg(iproc_i2c, IE_OFFSET); - val |= BIT(IE_S_TX_UNDERRUN_SHIFT); - iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, val); - } else { - /* Master write other than start */ - value = (u8)((val >> S_RX_DATA_SHIFT) & S_RX_DATA_MASK); + rx_bytes++; + } +} + +static void slave_rx_tasklet_fn(unsigned long data) +{ + struct bcm_iproc_i2c_dev *iproc_i2c = (struct bcm_iproc_i2c_dev *)data; + u32 int_clr; + + bcm_iproc_i2c_slave_read(iproc_i2c); + + /* clear pending IS_S_RX_EVENT_SHIFT interrupt */ + int_clr = BIT(IS_S_RX_EVENT_SHIFT); + + if (!iproc_i2c->slave_rx_only && iproc_i2c->slave_read_complete) { + /* + * In case of single byte master-read request, + * IS_S_TX_UNDERRUN_SHIFT event is generated before + * IS_S_START_BUSY_SHIFT event. Hence start slave data send + * from first IS_S_TX_UNDERRUN_SHIFT event. + * + * This means don't send any data from slave when + * IS_S_RD_EVENT_SHIFT event is generated else it will increment + * eeprom or other backend slave driver read pointer twice. + */ + iproc_i2c->tx_underrun = 0; + iproc_i2c->slave_int_mask |= BIT(IE_S_TX_UNDERRUN_SHIFT); + + /* clear IS_S_RD_EVENT_SHIFT interrupt */ + int_clr |= BIT(IS_S_RD_EVENT_SHIFT); + } + + /* clear slave interrupt */ + iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, int_clr); + /* enable slave interrupts */ + iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, iproc_i2c->slave_int_mask); +} + +static bool bcm_iproc_i2c_slave_isr(struct bcm_iproc_i2c_dev *iproc_i2c, + u32 status) +{ + u32 val; + u8 value; + + /* + * Slave events in case of master-write, master-write-read and, + * master-read + * + * Master-write : only IS_S_RX_EVENT_SHIFT event + * Master-write-read: both IS_S_RX_EVENT_SHIFT and IS_S_RD_EVENT_SHIFT + * events + * Master-read : both IS_S_RX_EVENT_SHIFT and IS_S_RD_EVENT_SHIFT + * events or only IS_S_RD_EVENT_SHIFT + */ + if (status & BIT(IS_S_RX_EVENT_SHIFT) || + status & BIT(IS_S_RD_EVENT_SHIFT)) { + /* disable slave interrupts */ + val = iproc_i2c_rd_reg(iproc_i2c, IE_OFFSET); + val &= ~iproc_i2c->slave_int_mask; + iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, val); + + if (status & BIT(IS_S_RD_EVENT_SHIFT)) + /* Master-write-read request */ + iproc_i2c->slave_rx_only = false; + else + /* Master-write request only */ + iproc_i2c->slave_rx_only = true; + + /* schedule tasklet to read data later */ + tasklet_schedule(&iproc_i2c->slave_rx_tasklet); + + /* clear only IS_S_RX_EVENT_SHIFT interrupt */ + iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, + BIT(IS_S_RX_EVENT_SHIFT)); + } + + if (status & BIT(IS_S_TX_UNDERRUN_SHIFT)) { + iproc_i2c->tx_underrun++; + if (iproc_i2c->tx_underrun == 1) + /* Start of SMBUS for Master Read */ i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_WRITE_RECEIVED, &value); - if (rx_status == I2C_SLAVE_RX_END) - i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_STOP, &value); - } - } else if (status & BIT(IS_S_TX_UNDERRUN_SHIFT)) { - /* Master read other than start */ - i2c_slave_event(iproc_i2c->slave, - I2C_SLAVE_READ_PROCESSED, &value); + I2C_SLAVE_READ_REQUESTED, + &value); + else + /* Master read other than start */ + i2c_slave_event(iproc_i2c->slave, + I2C_SLAVE_READ_PROCESSED, + &value); iproc_i2c_wr_reg(iproc_i2c, S_TX_OFFSET, value); + /* start transfer */ val = BIT(S_CMD_START_BUSY_SHIFT); iproc_i2c_wr_reg(iproc_i2c, S_CMD_OFFSET, val); + + /* clear interrupt */ + iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, + BIT(IS_S_TX_UNDERRUN_SHIFT)); } - /* Stop */ + /* Stop received from master in case of master read transaction */ if (status & BIT(IS_S_START_BUSY_SHIFT)) { - i2c_slave_event(iproc_i2c->slave, I2C_SLAVE_STOP, &value); /* * Enable interrupt for TX FIFO becomes empty and * less than PKT_LENGTH bytes were output on the SMBUS */ - val = iproc_i2c_rd_reg(iproc_i2c, IE_OFFSET); - val &= ~BIT(IE_S_TX_UNDERRUN_SHIFT); - iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, val); + iproc_i2c->slave_int_mask &= ~BIT(IE_S_TX_UNDERRUN_SHIFT); + iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, + iproc_i2c->slave_int_mask); + + /* End of SMBUS for Master Read */ + val = BIT(S_TX_WR_STATUS_SHIFT); + iproc_i2c_wr_reg(iproc_i2c, S_TX_OFFSET, val); + + val = BIT(S_CMD_START_BUSY_SHIFT); + iproc_i2c_wr_reg(iproc_i2c, S_CMD_OFFSET, val); + + /* flush TX FIFOs */ + val = iproc_i2c_rd_reg(iproc_i2c, S_FIFO_CTRL_OFFSET); + val |= (BIT(S_FIFO_TX_FLUSH_SHIFT)); + iproc_i2c_wr_reg(iproc_i2c, S_FIFO_CTRL_OFFSET, val); + + i2c_slave_event(iproc_i2c->slave, I2C_SLAVE_STOP, &value); + + /* clear interrupt */ + iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, + BIT(IS_S_START_BUSY_SHIFT)); } - /* clear interrupt status */ - iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, status); + /* check slave transmit status only if slave is transmitting */ + if (!iproc_i2c->slave_rx_only) + bcm_iproc_i2c_check_slave_status(iproc_i2c); - bcm_iproc_i2c_check_slave_status(iproc_i2c); return true; } @@ -505,12 +625,17 @@ static irqreturn_t bcm_iproc_i2c_isr(int irq, void *data) { struct bcm_iproc_i2c_dev *iproc_i2c = data; - u32 status = iproc_i2c_rd_reg(iproc_i2c, IS_OFFSET); + u32 slave_status; + u32 status; bool ret; - u32 sl_status = status & ISR_MASK_SLAVE; - if (sl_status) { - ret = bcm_iproc_i2c_slave_isr(iproc_i2c, sl_status); + status = iproc_i2c_rd_reg(iproc_i2c, IS_OFFSET); + /* process only slave interrupt which are enabled */ + slave_status = status & iproc_i2c_rd_reg(iproc_i2c, IE_OFFSET) & + ISR_MASK_SLAVE; + + if (slave_status) { + ret = bcm_iproc_i2c_slave_isr(iproc_i2c, slave_status); if (ret) return IRQ_HANDLED; else @@ -720,7 +845,7 @@ /* mark the last byte */ if (!process_call && (i == msg->len - 1)) - val |= 1 << M_TX_WR_STATUS_SHIFT; + val |= BIT(M_TX_WR_STATUS_SHIFT); iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val); } @@ -738,7 +863,7 @@ */ addr = i2c_8bit_addr_from_msg(msg); /* mark it the last byte out */ - val = addr | (1 << M_TX_WR_STATUS_SHIFT); + val = addr | BIT(M_TX_WR_STATUS_SHIFT); iproc_i2c_wr_reg(iproc_i2c, M_TX_OFFSET, val); } @@ -1066,6 +1191,10 @@ return -EAFNOSUPPORT; iproc_i2c->slave = slave; + + tasklet_init(&iproc_i2c->slave_rx_tasklet, slave_rx_tasklet_fn, + (unsigned long)iproc_i2c); + bcm_iproc_i2c_slave_init(iproc_i2c, false); return 0; } @@ -1078,7 +1207,7 @@ if (!iproc_i2c->slave) return -EINVAL; - iproc_i2c->slave = NULL; + disable_irq(iproc_i2c->irq); /* disable all slave interrupts */ tmp = iproc_i2c_rd_reg(iproc_i2c, IE_OFFSET); @@ -1086,11 +1215,24 @@ IE_S_ALL_INTERRUPT_SHIFT); iproc_i2c_wr_reg(iproc_i2c, IE_OFFSET, tmp); + tasklet_kill(&iproc_i2c->slave_rx_tasklet); + /* Erase the slave address programmed */ tmp = iproc_i2c_rd_reg(iproc_i2c, S_CFG_SMBUS_ADDR_OFFSET); tmp &= ~BIT(S_CFG_EN_NIC_SMB_ADDR3_SHIFT); iproc_i2c_wr_reg(iproc_i2c, S_CFG_SMBUS_ADDR_OFFSET, tmp); + /* flush TX/RX FIFOs */ + tmp = (BIT(S_FIFO_RX_FLUSH_SHIFT) | BIT(S_FIFO_TX_FLUSH_SHIFT)); + iproc_i2c_wr_reg(iproc_i2c, S_FIFO_CTRL_OFFSET, tmp); + + /* clear all pending slave interrupts */ + iproc_i2c_wr_reg(iproc_i2c, IS_OFFSET, ISR_MASK_SLAVE); + + iproc_i2c->slave = NULL; + + enable_irq(iproc_i2c->irq); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-brcmstb.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-brcmstb.c @@ -316,7 +316,7 @@ goto cmd_out; } - if ((CMD_RD || CMD_WR) && + if ((cmd == CMD_RD || cmd == CMD_WR) && bsc_readl(dev, iic_enable) & BSC_IIC_EN_NOACK_MASK) { rc = -EREMOTEIO; dev_dbg(dev->device, "controller received NOACK intr for %s\n", --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-cpm.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-cpm.c @@ -65,6 +65,9 @@ char res1[4]; /* Reserved */ ushort rpbase; /* Relocation pointer */ char res2[2]; /* Reserved */ + /* The following elements are only for CPM2 */ + char res3[4]; /* Reserved */ + uint sdmatmp; /* Internal */ }; #define I2COM_START 0x80 --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-designware-master.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-designware-master.c @@ -129,6 +129,7 @@ if ((comp_param1 & DW_IC_COMP_PARAM_1_SPEED_MODE_MASK) != DW_IC_COMP_PARAM_1_SPEED_MODE_HIGH) { dev_err(dev->dev, "High Speed not supported!\n"); + t->bus_freq_hz = I2C_MAX_FAST_MODE_FREQ; dev->master_cfg &= ~DW_IC_CON_SPEED_MASK; dev->master_cfg |= DW_IC_CON_SPEED_FAST; dev->hs_hcnt = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-designware-slave.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-designware-slave.c @@ -159,7 +159,6 @@ u32 raw_stat, stat, enabled, tmp; u8 val = 0, slave_activity; - regmap_read(dev->map, DW_IC_INTR_STAT, &stat); regmap_read(dev->map, DW_IC_ENABLE, &enabled); regmap_read(dev->map, DW_IC_RAW_INTR_STAT, &raw_stat); regmap_read(dev->map, DW_IC_STATUS, &tmp); @@ -168,32 +167,30 @@ if (!enabled || !(raw_stat & ~DW_IC_INTR_ACTIVITY) || !dev->slave) return 0; + stat = i2c_dw_read_clear_intrbits_slave(dev); dev_dbg(dev->dev, "%#x STATUS SLAVE_ACTIVITY=%#x : RAW_INTR_STAT=%#x : INTR_STAT=%#x\n", enabled, slave_activity, raw_stat, stat); - if ((stat & DW_IC_INTR_RX_FULL) && (stat & DW_IC_INTR_STOP_DET)) - i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_REQUESTED, &val); + if (stat & DW_IC_INTR_RX_FULL) { + if (dev->status != STATUS_WRITE_IN_PROGRESS) { + dev->status = STATUS_WRITE_IN_PROGRESS; + i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_REQUESTED, + &val); + } + + regmap_read(dev->map, DW_IC_DATA_CMD, &tmp); + val = tmp; + if (!i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, + &val)) + dev_vdbg(dev->dev, "Byte %X acked!", val); + } if (stat & DW_IC_INTR_RD_REQ) { if (slave_activity) { - if (stat & DW_IC_INTR_RX_FULL) { - regmap_read(dev->map, DW_IC_DATA_CMD, &tmp); - val = tmp; - - if (!i2c_slave_event(dev->slave, - I2C_SLAVE_WRITE_RECEIVED, - &val)) { - dev_vdbg(dev->dev, "Byte %X acked!", - val); - } - regmap_read(dev->map, DW_IC_CLR_RD_REQ, &tmp); - stat = i2c_dw_read_clear_intrbits_slave(dev); - } else { - regmap_read(dev->map, DW_IC_CLR_RD_REQ, &tmp); - regmap_read(dev->map, DW_IC_CLR_RX_UNDER, &tmp); - stat = i2c_dw_read_clear_intrbits_slave(dev); - } + regmap_read(dev->map, DW_IC_CLR_RD_REQ, &tmp); + + dev->status = STATUS_READ_IN_PROGRESS; if (!i2c_slave_event(dev->slave, I2C_SLAVE_READ_REQUESTED, &val)) @@ -205,21 +202,11 @@ if (!i2c_slave_event(dev->slave, I2C_SLAVE_READ_PROCESSED, &val)) regmap_read(dev->map, DW_IC_CLR_RX_DONE, &tmp); - - i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &val); - stat = i2c_dw_read_clear_intrbits_slave(dev); - return 1; } - if (stat & DW_IC_INTR_RX_FULL) { - regmap_read(dev->map, DW_IC_DATA_CMD, &tmp); - val = tmp; - if (!i2c_slave_event(dev->slave, I2C_SLAVE_WRITE_RECEIVED, - &val)) - dev_vdbg(dev->dev, "Byte %X acked!", val); - } else { + if (stat & DW_IC_INTR_STOP_DET) { + dev->status = STATUS_IDLE; i2c_slave_event(dev->slave, I2C_SLAVE_STOP, &val); - stat = i2c_dw_read_clear_intrbits_slave(dev); } return 1; @@ -230,7 +217,6 @@ struct dw_i2c_dev *dev = dev_id; int ret; - i2c_dw_read_clear_intrbits_slave(dev); ret = i2c_dw_irq_handler_slave(dev); if (ret > 0) complete(&dev->cmd_complete); --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-exynos5.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-exynos5.c @@ -606,6 +606,7 @@ u32 i2c_ctl; u32 int_en = 0; u32 i2c_auto_conf = 0; + u32 i2c_addr = 0; u32 fifo_ctl; unsigned long flags; unsigned short trig_lvl; @@ -640,7 +641,12 @@ int_en |= HSI2C_INT_TX_ALMOSTEMPTY_EN; } - writel(HSI2C_SLV_ADDR_MAS(i2c->msg->addr), i2c->regs + HSI2C_ADDR); + i2c_addr = HSI2C_SLV_ADDR_MAS(i2c->msg->addr); + + if (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) + i2c_addr |= HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr)); + + writel(i2c_addr, i2c->regs + HSI2C_ADDR); writel(fifo_ctl, i2c->regs + HSI2C_FIFO_CTL); writel(i2c_ctl, i2c->regs + HSI2C_CTL); --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-i801.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-i801.c @@ -67,6 +67,7 @@ * Comet Lake-H (PCH) 0x06a3 32 hard yes yes yes * Elkhart Lake (PCH) 0x4b23 32 hard yes yes yes * Tiger Lake-LP (PCH) 0xa0a3 32 hard yes yes yes + * Tiger Lake-H (PCH) 0x43a3 32 hard yes yes yes * Jasper Lake (SOC) 0x4da3 32 hard yes yes yes * Comet Lake-V (PCH) 0xa3a3 32 hard yes yes yes * @@ -221,6 +222,7 @@ #define PCI_DEVICE_ID_INTEL_GEMINILAKE_SMBUS 0x31d4 #define PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS 0x34a3 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS 0x3b30 +#define PCI_DEVICE_ID_INTEL_TIGERLAKE_H_SMBUS 0x43a3 #define PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS 0x4b23 #define PCI_DEVICE_ID_INTEL_JASPER_LAKE_SMBUS 0x4da3 #define PCI_DEVICE_ID_INTEL_BROXTON_SMBUS 0x5ad4 @@ -1074,6 +1076,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COMETLAKE_V_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TIGERLAKE_H_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_JASPER_LAKE_SMBUS) }, { 0, } }; @@ -1439,7 +1442,7 @@ /* Register GPIO descriptor lookup table */ lookup = devm_kzalloc(dev, - struct_size(lookup, table, mux_config->n_gpios), + struct_size(lookup, table, mux_config->n_gpios + 1), GFP_KERNEL); if (!lookup) return -ENOMEM; @@ -1703,6 +1706,16 @@ static inline void i801_acpi_remove(struct i801_priv *priv) { } #endif +static unsigned char i801_setup_hstcfg(struct i801_priv *priv) +{ + unsigned char hstcfg = priv->original_hstcfg; + + hstcfg &= ~SMBHSTCFG_I2C_EN; /* SMBus timing */ + hstcfg |= SMBHSTCFG_HST_EN; + pci_write_config_byte(priv->pci_dev, SMBHSTCFG, hstcfg); + return hstcfg; +} + static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id) { unsigned char temp; @@ -1748,6 +1761,7 @@ case PCI_DEVICE_ID_INTEL_COMETLAKE_H_SMBUS: case PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS: case PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS: + case PCI_DEVICE_ID_INTEL_TIGERLAKE_H_SMBUS: case PCI_DEVICE_ID_INTEL_JASPER_LAKE_SMBUS: priv->features |= FEATURE_BLOCK_PROC; priv->features |= FEATURE_I2C_BLOCK_READ; @@ -1822,14 +1836,10 @@ return err; } - pci_read_config_byte(priv->pci_dev, SMBHSTCFG, &temp); - priv->original_hstcfg = temp; - temp &= ~SMBHSTCFG_I2C_EN; /* SMBus timing */ - if (!(temp & SMBHSTCFG_HST_EN)) { + pci_read_config_byte(priv->pci_dev, SMBHSTCFG, &priv->original_hstcfg); + temp = i801_setup_hstcfg(priv); + if (!(priv->original_hstcfg & SMBHSTCFG_HST_EN)) dev_info(&dev->dev, "Enabling SMBus device\n"); - temp |= SMBHSTCFG_HST_EN; - } - pci_write_config_byte(priv->pci_dev, SMBHSTCFG, temp); if (temp & SMBHSTCFG_SMB_SMI_EN) { dev_dbg(&dev->dev, "SMBus using interrupt SMI#\n"); @@ -1903,6 +1913,7 @@ pci_set_drvdata(dev, priv); + dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE); pm_runtime_set_autosuspend_delay(&dev->dev, 1000); pm_runtime_use_autosuspend(&dev->dev); pm_runtime_put_autosuspend(&dev->dev); @@ -1955,6 +1966,7 @@ { struct i801_priv *priv = dev_get_drvdata(dev); + i801_setup_hstcfg(priv); i801_enable_host_notify(&priv->adapter); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-imx.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-imx.c @@ -412,6 +412,19 @@ dma->chan_using = NULL; } +static void i2c_imx_clear_irq(struct imx_i2c_struct *i2c_imx, unsigned int bits) +{ + unsigned int temp; + + /* + * i2sr_clr_opcode is the value to clear all interrupts. Here we want to + * clear only , so we write ~i2sr_clr_opcode with just + * toggled. This is required because i.MX needs W0C and Vybrid uses W1C. + */ + temp = ~i2c_imx->hwdata->i2sr_clr_opcode ^ bits; + imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR); +} + static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy, bool atomic) { unsigned long orig_jiffies = jiffies; @@ -424,8 +437,7 @@ /* check for arbitration lost */ if (temp & I2SR_IAL) { - temp &= ~I2SR_IAL; - imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR); + i2c_imx_clear_irq(i2c_imx, I2SR_IAL); return -EAGAIN; } @@ -469,7 +481,7 @@ */ readb_poll_timeout_atomic(addr, regval, regval & I2SR_IIF, 5, 1000 + 100); i2c_imx->i2csr = regval; - imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2SR); + i2c_imx_clear_irq(i2c_imx, I2SR_IIF | I2SR_IAL); } else { wait_event_timeout(i2c_imx->queue, i2c_imx->i2csr & I2SR_IIF, HZ / 10); } @@ -478,6 +490,16 @@ dev_dbg(&i2c_imx->adapter.dev, "<%s> Timeout\n", __func__); return -ETIMEDOUT; } + + /* check for arbitration lost */ + if (i2c_imx->i2csr & I2SR_IAL) { + dev_dbg(&i2c_imx->adapter.dev, "<%s> Arbitration lost\n", __func__); + i2c_imx_clear_irq(i2c_imx, I2SR_IAL); + + i2c_imx->i2csr = 0; + return -EAGAIN; + } + dev_dbg(&i2c_imx->adapter.dev, "<%s> TRX complete\n", __func__); i2c_imx->i2csr = 0; return 0; @@ -593,6 +615,8 @@ /* Stop I2C transaction */ dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__); temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR); + if (!(temp & I2CR_MSTA)) + i2c_imx->stopped = 1; temp &= ~(I2CR_MSTA | I2CR_MTX); if (i2c_imx->dma) temp &= ~I2CR_DMAEN; @@ -623,9 +647,7 @@ if (temp & I2SR_IIF) { /* save status register */ i2c_imx->i2csr = temp; - temp &= ~I2SR_IIF; - temp |= (i2c_imx->hwdata->i2sr_clr_opcode & I2SR_IIF); - imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR); + i2c_imx_clear_irq(i2c_imx, I2SR_IIF); wake_up(&i2c_imx->queue); return IRQ_HANDLED; } @@ -758,9 +780,12 @@ */ dev_dbg(dev, "<%s> clear MSTA\n", __func__); temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR); + if (!(temp & I2CR_MSTA)) + i2c_imx->stopped = 1; temp &= ~(I2CR_MSTA | I2CR_MTX); imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); - i2c_imx_bus_busy(i2c_imx, 0, false); + if (!i2c_imx->stopped) + i2c_imx_bus_busy(i2c_imx, 0, false); } else { /* * For i2c master receiver repeat restart operation like: @@ -885,9 +910,12 @@ dev_dbg(&i2c_imx->adapter.dev, "<%s> clear MSTA\n", __func__); temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR); + if (!(temp & I2CR_MSTA)) + i2c_imx->stopped = 1; temp &= ~(I2CR_MSTA | I2CR_MTX); imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); - i2c_imx_bus_busy(i2c_imx, 0, atomic); + if (!i2c_imx->stopped) + i2c_imx_bus_busy(i2c_imx, 0, atomic); } else { /* * For i2c master receiver repeat restart operation like: @@ -1171,14 +1199,6 @@ return ret; } - /* Request IRQ */ - ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, IRQF_SHARED, - pdev->name, i2c_imx); - if (ret) { - dev_err(&pdev->dev, "can't claim irq %d\n", irq); - goto clk_disable; - } - /* Init queue */ init_waitqueue_head(&i2c_imx->queue); @@ -1197,6 +1217,14 @@ if (ret < 0) goto rpm_disable; + /* Request IRQ */ + ret = request_threaded_irq(irq, i2c_imx_isr, NULL, IRQF_SHARED, + pdev->name, i2c_imx); + if (ret) { + dev_err(&pdev->dev, "can't claim irq %d\n", irq); + goto rpm_disable; + } + /* Set up clock divider */ i2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ; ret = of_property_read_u32(pdev->dev.of_node, @@ -1239,13 +1267,12 @@ clk_notifier_unregister: clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); + free_irq(irq, i2c_imx); rpm_disable: pm_runtime_put_noidle(&pdev->dev); pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); pm_runtime_dont_use_autosuspend(&pdev->dev); - -clk_disable: clk_disable_unprepare(i2c_imx->clk); return ret; } @@ -1253,7 +1280,7 @@ static int i2c_imx_remove(struct platform_device *pdev) { struct imx_i2c_struct *i2c_imx = platform_get_drvdata(pdev); - int ret; + int irq, ret; ret = pm_runtime_get_sync(&pdev->dev); if (ret < 0) @@ -1273,6 +1300,9 @@ imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2SR); 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); pm_runtime_put_noidle(&pdev->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-jz4780.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-jz4780.c @@ -526,8 +526,8 @@ i2c_sta = jz4780_i2c_readw(i2c, JZ4780_I2C_STA); data = *i2c->wbuf; data &= ~JZ4780_I2C_DC_READ; - if ((!i2c->stop_hold) && (i2c->cdata->version >= - ID_X1000)) + if ((i2c->wt_len == 1) && (!i2c->stop_hold) && + (i2c->cdata->version >= ID_X1000)) data |= X1000_I2C_DC_STOP; jz4780_i2c_writew(i2c, JZ4780_I2C_DC, data); i2c->wbuf++; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-meson.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-meson.c @@ -5,6 +5,7 @@ * Copyright (C) 2014 Beniamino Galvani */ +#include #include #include #include @@ -33,12 +34,17 @@ #define REG_CTRL_ACK_IGNORE BIT(1) #define REG_CTRL_STATUS BIT(2) #define REG_CTRL_ERROR BIT(3) -#define REG_CTRL_CLKDIV_SHIFT 12 -#define REG_CTRL_CLKDIV_MASK GENMASK(21, 12) -#define REG_CTRL_CLKDIVEXT_SHIFT 28 -#define REG_CTRL_CLKDIVEXT_MASK GENMASK(29, 28) +#define REG_CTRL_CLKDIV GENMASK(21, 12) +#define REG_CTRL_CLKDIVEXT GENMASK(29, 28) + +#define REG_SLV_ADDR GENMASK(7, 0) +#define REG_SLV_SDA_FILTER GENMASK(10, 8) +#define REG_SLV_SCL_FILTER GENMASK(13, 11) +#define REG_SLV_SCL_LOW GENMASK(27, 16) +#define REG_SLV_SCL_LOW_EN BIT(28) #define I2C_TIMEOUT_MS 500 +#define FILTER_DELAY 15 enum { TOKEN_END = 0, @@ -133,19 +139,24 @@ unsigned long clk_rate = clk_get_rate(i2c->clk); unsigned int div; - div = DIV_ROUND_UP(clk_rate, freq * i2c->data->div_factor); + div = DIV_ROUND_UP(clk_rate, freq); + div -= FILTER_DELAY; + div = DIV_ROUND_UP(div, i2c->data->div_factor); /* clock divider has 12 bits */ - if (div >= (1 << 12)) { + if (div > GENMASK(11, 0)) { dev_err(i2c->dev, "requested bus frequency too low\n"); - div = (1 << 12) - 1; + div = GENMASK(11, 0); } - meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV_MASK, - (div & GENMASK(9, 0)) << REG_CTRL_CLKDIV_SHIFT); + meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV, + FIELD_PREP(REG_CTRL_CLKDIV, div & GENMASK(9, 0))); + + meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT, + FIELD_PREP(REG_CTRL_CLKDIVEXT, div >> 10)); - meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT_MASK, - (div >> 10) << REG_CTRL_CLKDIVEXT_SHIFT); + /* Disable HIGH/LOW mode */ + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_EN, 0); dev_dbg(i2c->dev, "%s: clk %lu, freq %u, div %u\n", __func__, clk_rate, freq, div); @@ -280,7 +291,10 @@ token = (msg->flags & I2C_M_RD) ? TOKEN_SLAVE_ADDR_READ : TOKEN_SLAVE_ADDR_WRITE; - writel(msg->addr << 1, i2c->regs + REG_SLAVE_ADDR); + + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_ADDR, + FIELD_PREP(REG_SLV_ADDR, msg->addr << 1)); + meson_i2c_add_token(i2c, TOKEN_START); meson_i2c_add_token(i2c, token); } @@ -357,16 +371,12 @@ struct meson_i2c *i2c = adap->algo_data; int i, ret = 0; - clk_enable(i2c->clk); - for (i = 0; i < num; i++) { ret = meson_i2c_xfer_msg(i2c, msgs + i, i == num - 1, atomic); if (ret) break; } - clk_disable(i2c->clk); - return ret ?: i; } @@ -435,7 +445,7 @@ return ret; } - ret = clk_prepare(i2c->clk); + ret = clk_prepare_enable(i2c->clk); if (ret < 0) { dev_err(&pdev->dev, "can't prepare clock\n"); return ret; @@ -457,10 +467,14 @@ ret = i2c_add_adapter(&i2c->adap); if (ret < 0) { - clk_unprepare(i2c->clk); + clk_disable_unprepare(i2c->clk); return ret; } + /* Disable filtering */ + meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, + REG_SLV_SDA_FILTER | REG_SLV_SCL_FILTER, 0); + meson_i2c_set_clk_div(i2c, timings.bus_freq_hz); return 0; @@ -471,7 +485,7 @@ struct meson_i2c *i2c = platform_get_drvdata(pdev); i2c_del_adapter(&i2c->adap); - clk_unprepare(i2c->clk); + clk_disable_unprepare(i2c->clk); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-mt65xx.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-mt65xx.c @@ -38,6 +38,7 @@ #define I2C_IO_CONFIG_OPEN_DRAIN 0x0003 #define I2C_IO_CONFIG_PUSH_PULL 0x0000 #define I2C_SOFT_RST 0x0001 +#define I2C_HANDSHAKE_RST 0x0020 #define I2C_FIFO_ADDR_CLR 0x0001 #define I2C_DELAY_LEN 0x0002 #define I2C_TIME_CLR_VALUE 0x0000 @@ -45,13 +46,16 @@ #define I2C_WRRD_TRANAC_VALUE 0x0002 #define I2C_RD_TRANAC_VALUE 0x0001 #define I2C_SCL_MIS_COMP_VALUE 0x0000 +#define I2C_CHN_CLR_FLAG 0x0000 #define I2C_DMA_CON_TX 0x0000 #define I2C_DMA_CON_RX 0x0001 #define I2C_DMA_START_EN 0x0001 #define I2C_DMA_INT_FLAG_NONE 0x0000 #define I2C_DMA_CLR_FLAG 0x0000 +#define I2C_DMA_WARM_RST 0x0001 #define I2C_DMA_HARD_RST 0x0002 +#define I2C_DMA_HANDSHAKE_RST 0x0004 #define I2C_DMA_4G_MODE 0x0001 #define MAX_SAMPLE_CNT_DIV 8 @@ -452,7 +456,24 @@ { u16 control_reg; - mtk_i2c_writew(i2c, I2C_SOFT_RST, OFFSET_SOFTRESET); + if (i2c->dev_comp->dma_sync) { + writel(I2C_DMA_WARM_RST, i2c->pdmabase + OFFSET_RST); + udelay(10); + writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST); + udelay(10); + writel(I2C_DMA_HANDSHAKE_RST | I2C_DMA_HARD_RST, + i2c->pdmabase + OFFSET_RST); + mtk_i2c_writew(i2c, I2C_HANDSHAKE_RST | I2C_SOFT_RST, + OFFSET_SOFTRESET); + udelay(10); + writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST); + mtk_i2c_writew(i2c, I2C_CHN_CLR_FLAG, OFFSET_SOFTRESET); + } else { + writel(I2C_DMA_HARD_RST, i2c->pdmabase + OFFSET_RST); + udelay(50); + writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST); + mtk_i2c_writew(i2c, I2C_SOFT_RST, OFFSET_SOFTRESET); + } /* Set ioconfig */ if (i2c->use_push_pull) @@ -506,10 +527,6 @@ mtk_i2c_writew(i2c, control_reg, OFFSET_CONTROL); mtk_i2c_writew(i2c, I2C_DELAY_LEN, OFFSET_DELAY_LEN); - - writel(I2C_DMA_HARD_RST, i2c->pdmabase + OFFSET_RST); - udelay(50); - writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST); } static const struct i2c_spec_values *mtk_i2c_get_spec(unsigned int speed) @@ -658,8 +675,8 @@ unsigned int cnt_mul; int ret = -EINVAL; - if (target_speed > I2C_MAX_FAST_MODE_PLUS_FREQ) - target_speed = I2C_MAX_FAST_MODE_PLUS_FREQ; + if (target_speed > I2C_MAX_HIGH_SPEED_MODE_FREQ) + target_speed = I2C_MAX_HIGH_SPEED_MODE_FREQ; max_step_cnt = mtk_i2c_max_step_cnt(target_speed); base_step_cnt = max_step_cnt; @@ -736,7 +753,7 @@ for (clk_div = 1; clk_div <= max_clk_div; clk_div++) { clk_src = parent_clk / clk_div; - if (target_speed > I2C_MAX_FAST_MODE_FREQ) { + if (target_speed > I2C_MAX_FAST_MODE_PLUS_FREQ) { /* Set master code speed register */ ret = mtk_i2c_calculate_speed(i2c, clk_src, I2C_MAX_FAST_MODE_FREQ, @@ -1232,7 +1249,8 @@ mtk_i2c_clock_disable(i2c); ret = devm_request_irq(&pdev->dev, irq, mtk_i2c_irq, - IRQF_TRIGGER_NONE, I2C_DRV_NAME, i2c); + IRQF_NO_SUSPEND | IRQF_TRIGGER_NONE, + I2C_DRV_NAME, i2c); if (ret < 0) { dev_err(&pdev->dev, "Request I2C IRQ %d fail\n", irq); @@ -1259,7 +1277,16 @@ } #ifdef CONFIG_PM_SLEEP -static int mtk_i2c_resume(struct device *dev) +static int mtk_i2c_suspend_noirq(struct device *dev) +{ + struct mtk_i2c *i2c = dev_get_drvdata(dev); + + i2c_mark_adapter_suspended(&i2c->adap); + + return 0; +} + +static int mtk_i2c_resume_noirq(struct device *dev) { int ret; struct mtk_i2c *i2c = dev_get_drvdata(dev); @@ -1274,12 +1301,15 @@ mtk_i2c_clock_disable(i2c); + i2c_mark_adapter_resumed(&i2c->adap); + return 0; } #endif static const struct dev_pm_ops mtk_i2c_pm = { - SET_SYSTEM_SLEEP_PM_OPS(NULL, mtk_i2c_resume) + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_i2c_suspend_noirq, + mtk_i2c_resume_noirq) }; static struct platform_driver mtk_i2c_driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-mxs.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-mxs.c @@ -25,6 +25,7 @@ #include #include #include +#include #define DRIVER_NAME "mxs-i2c" @@ -200,7 +201,8 @@ dma_map_sg(i2c->dev, &i2c->sg_io[0], 1, DMA_TO_DEVICE); desc = dmaengine_prep_slave_sg(i2c->dmach, &i2c->sg_io[0], 1, DMA_MEM_TO_DEV, - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + DMA_PREP_INTERRUPT | + MXS_DMA_CTRL_WAIT4END); if (!desc) { dev_err(i2c->dev, "Failed to get DMA data write descriptor.\n"); @@ -228,7 +230,8 @@ dma_map_sg(i2c->dev, &i2c->sg_io[1], 1, DMA_FROM_DEVICE); desc = dmaengine_prep_slave_sg(i2c->dmach, &i2c->sg_io[1], 1, DMA_DEV_TO_MEM, - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + DMA_PREP_INTERRUPT | + MXS_DMA_CTRL_WAIT4END); if (!desc) { dev_err(i2c->dev, "Failed to get DMA data write descriptor.\n"); @@ -260,7 +263,8 @@ dma_map_sg(i2c->dev, i2c->sg_io, 2, DMA_TO_DEVICE); desc = dmaengine_prep_slave_sg(i2c->dmach, i2c->sg_io, 2, DMA_MEM_TO_DEV, - DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + DMA_PREP_INTERRUPT | + MXS_DMA_CTRL_WAIT4END); if (!desc) { dev_err(i2c->dev, "Failed to get DMA data write descriptor.\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-npcm7xx.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-npcm7xx.c @@ -2093,8 +2093,12 @@ } } - /* Adaptive TimeOut: astimated time in usec + 100% margin */ - timeout_usec = (2 * 10000 / bus->bus_freq) * (2 + nread + nwrite); + /* + * Adaptive TimeOut: estimated time in usec + 100% margin: + * 2: double the timeout for clock stretching case + * 9: bits per transaction (including the ack/nack) + */ + timeout_usec = (2 * 9 * USEC_PER_SEC / bus->bus_freq) * (2 + nread + nwrite); timeout = max(msecs_to_jiffies(35), usecs_to_jiffies(timeout_usec)); if (nwrite >= 32 * 1024 || nread >= 32 * 1024) { dev_err(bus->dev, "i2c%d buffer too big\n", bus->num); @@ -2159,6 +2163,15 @@ if (bus->cmd_err == -EAGAIN) ret = i2c_recover_bus(adap); + /* + * After any type of error, check if LAST bit is still set, + * due to a HW issue. + * It cannot be cleared without resetting the module. + */ + if (bus->cmd_err && + (NPCM_I2CRXF_CTL_LAST_PEC & ioread8(bus->reg + NPCM_I2CRXF_CTL))) + npcm_i2c_reset(bus); + #if IS_ENABLED(CONFIG_I2C_SLAVE) /* reenable slave if it was enabled */ if (bus->slave) --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-ocores.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-ocores.c @@ -83,7 +83,6 @@ #define TYPE_OCORES 0 #define TYPE_GRLIB 1 -#define TYPE_SIFIVE_REV0 2 #define OCORES_FLAG_BROKEN_IRQ BIT(1) /* Broken IRQ for FU540-C000 SoC */ @@ -476,11 +475,9 @@ }, { .compatible = "sifive,fu540-c000-i2c", - .data = (void *)TYPE_SIFIVE_REV0, }, { .compatible = "sifive,i2c0", - .data = (void *)TYPE_SIFIVE_REV0, }, {}, }; @@ -606,7 +603,6 @@ { struct ocores_i2c *i2c; struct ocores_i2c_platform_data *pdata; - const struct of_device_id *match; struct resource *res; int irq; int ret; @@ -687,16 +683,19 @@ init_waitqueue_head(&i2c->wait); irq = platform_get_irq(pdev, 0); + /* + * Since the SoC does have an interrupt, its DT has an interrupt + * property - But this should be bypassed as the IRQ logic in this + * SoC is broken. + */ + if (of_device_is_compatible(pdev->dev.of_node, + "sifive,fu540-c000-i2c")) { + i2c->flags |= OCORES_FLAG_BROKEN_IRQ; + irq = -ENXIO; + } + if (irq == -ENXIO) { ocores_algorithm.master_xfer = ocores_xfer_polling; - - /* - * Set in OCORES_FLAG_BROKEN_IRQ to enable workaround for - * FU540-C000 SoC in polling mode. - */ - match = of_match_node(ocores_i2c_match, pdev->dev.of_node); - if (match && (long)match->data == TYPE_SIFIVE_REV0) - i2c->flags |= OCORES_FLAG_BROKEN_IRQ; } else { if (irq < 0) return irq; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-octeon-core.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-octeon-core.c @@ -347,7 +347,7 @@ if (result) return result; if (recv_len && i == 0) { - if (data[i] > I2C_SMBUS_BLOCK_MAX + 1) + if (data[i] > I2C_SMBUS_BLOCK_MAX) return -EPROTO; length += data[i]; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-owl.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-owl.c @@ -176,6 +176,9 @@ fifostat = readl(i2c_dev->base + OWL_I2C_REG_FIFOSTAT); if (fifostat & OWL_I2C_FIFOSTAT_RNB) { i2c_dev->err = -ENXIO; + /* Clear NACK error bit by writing "1" */ + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_FIFOSTAT, + OWL_I2C_FIFOSTAT_RNB, true); goto stop; } @@ -183,6 +186,9 @@ stat = readl(i2c_dev->base + OWL_I2C_REG_STAT); if (stat & OWL_I2C_STAT_BEB) { i2c_dev->err = -EIO; + /* Clear BUS error bit by writing "1" */ + owl_i2c_update_reg(i2c_dev->base + OWL_I2C_REG_STAT, + OWL_I2C_STAT_BEB, true); goto stop; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-qcom-cci.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-qcom-cci.c @@ -194,9 +194,9 @@ if (unlikely(val & CCI_IRQ_STATUS_0_I2C_M1_ERROR)) { if (val & CCI_IRQ_STATUS_0_I2C_M1_Q0_NACK_ERR || val & CCI_IRQ_STATUS_0_I2C_M1_Q1_NACK_ERR) - cci->master[0].status = -ENXIO; + cci->master[1].status = -ENXIO; else - cci->master[0].status = -EIO; + cci->master[1].status = -EIO; writel(CCI_HALT_REQ_I2C_M1_Q0Q1, cci->base + CCI_HALT_REQ); ret = IRQ_HANDLED; --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-qcom-geni.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-qcom-geni.c @@ -86,6 +86,9 @@ u32 clk_freq_out; const struct geni_i2c_clk_fld *clk_fld; int suspended; + void *dma_buf; + size_t xfer_len; + dma_addr_t dma_addr; }; struct geni_i2c_err_log { @@ -349,14 +352,39 @@ dev_err(gi2c->se.dev, "Timeout resetting TX_FSM\n"); } +static void geni_i2c_rx_msg_cleanup(struct geni_i2c_dev *gi2c, + struct i2c_msg *cur) +{ + gi2c->cur_rd = 0; + if (gi2c->dma_buf) { + if (gi2c->err) + geni_i2c_rx_fsm_rst(gi2c); + geni_se_rx_dma_unprep(&gi2c->se, gi2c->dma_addr, gi2c->xfer_len); + i2c_put_dma_safe_msg_buf(gi2c->dma_buf, cur, !gi2c->err); + } +} + +static void geni_i2c_tx_msg_cleanup(struct geni_i2c_dev *gi2c, + struct i2c_msg *cur) +{ + gi2c->cur_wr = 0; + if (gi2c->dma_buf) { + if (gi2c->err) + geni_i2c_tx_fsm_rst(gi2c); + geni_se_tx_dma_unprep(&gi2c->se, gi2c->dma_addr, gi2c->xfer_len); + i2c_put_dma_safe_msg_buf(gi2c->dma_buf, cur, !gi2c->err); + } +} + static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, u32 m_param) { - dma_addr_t rx_dma; + dma_addr_t rx_dma = 0; unsigned long time_left; void *dma_buf = NULL; struct geni_se *se = &gi2c->se; size_t len = msg->len; + struct i2c_msg *cur; if (!of_machine_is_compatible("lenovo,yoga-c630")) dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); @@ -367,26 +395,24 @@ geni_se_select_mode(se, GENI_SE_FIFO); writel_relaxed(len, se->base + SE_I2C_RX_TRANS_LEN); + geni_se_setup_m_cmd(se, I2C_READ, m_param); if (dma_buf && geni_se_rx_dma_prep(se, dma_buf, len, &rx_dma)) { geni_se_select_mode(se, GENI_SE_FIFO); i2c_put_dma_safe_msg_buf(dma_buf, msg, false); dma_buf = NULL; + } else { + gi2c->xfer_len = len; + gi2c->dma_addr = rx_dma; + gi2c->dma_buf = dma_buf; } - geni_se_setup_m_cmd(se, I2C_READ, m_param); - + cur = gi2c->cur; time_left = wait_for_completion_timeout(&gi2c->done, XFER_TIMEOUT); if (!time_left) geni_i2c_abort_xfer(gi2c); - gi2c->cur_rd = 0; - if (dma_buf) { - if (gi2c->err) - geni_i2c_rx_fsm_rst(gi2c); - geni_se_rx_dma_unprep(se, rx_dma, len); - i2c_put_dma_safe_msg_buf(dma_buf, msg, !gi2c->err); - } + geni_i2c_rx_msg_cleanup(gi2c, cur); return gi2c->err; } @@ -394,11 +420,12 @@ static int geni_i2c_tx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, u32 m_param) { - dma_addr_t tx_dma; + dma_addr_t tx_dma = 0; unsigned long time_left; void *dma_buf = NULL; struct geni_se *se = &gi2c->se; size_t len = msg->len; + struct i2c_msg *cur; if (!of_machine_is_compatible("lenovo,yoga-c630")) dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); @@ -409,29 +436,27 @@ geni_se_select_mode(se, GENI_SE_FIFO); writel_relaxed(len, se->base + SE_I2C_TX_TRANS_LEN); + geni_se_setup_m_cmd(se, I2C_WRITE, m_param); if (dma_buf && geni_se_tx_dma_prep(se, dma_buf, len, &tx_dma)) { geni_se_select_mode(se, GENI_SE_FIFO); i2c_put_dma_safe_msg_buf(dma_buf, msg, false); dma_buf = NULL; + } else { + gi2c->xfer_len = len; + gi2c->dma_addr = tx_dma; + gi2c->dma_buf = dma_buf; } - geni_se_setup_m_cmd(se, I2C_WRITE, m_param); - if (!dma_buf) /* Get FIFO IRQ */ writel_relaxed(1, se->base + SE_GENI_TX_WATERMARK_REG); + cur = gi2c->cur; time_left = wait_for_completion_timeout(&gi2c->done, XFER_TIMEOUT); if (!time_left) geni_i2c_abort_xfer(gi2c); - gi2c->cur_wr = 0; - if (dma_buf) { - if (gi2c->err) - geni_i2c_tx_fsm_rst(gi2c); - geni_se_tx_dma_unprep(se, tx_dma, len); - i2c_put_dma_safe_msg_buf(dma_buf, msg, !gi2c->err); - } + geni_i2c_tx_msg_cleanup(gi2c, cur); return gi2c->err; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-qup.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-qup.c @@ -801,7 +801,8 @@ if (ret || qup->bus_err || qup->qup_err) { reinit_completion(&qup->xfer); - if (qup_i2c_change_state(qup, QUP_RUN_STATE)) { + ret = qup_i2c_change_state(qup, QUP_RUN_STATE); + if (ret) { dev_err(qup->dev, "change to run state timed out"); goto desc_err; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-rcar.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-rcar.c @@ -89,7 +89,6 @@ #define RCAR_BUS_PHASE_START (MDBS | MIE | ESG) #define RCAR_BUS_PHASE_DATA (MDBS | MIE) -#define RCAR_BUS_MASK_DATA (~(ESG | FSB) & 0xFF) #define RCAR_BUS_PHASE_STOP (MDBS | MIE | FSB) #define RCAR_IRQ_SEND (MNR | MAL | MST | MAT | MDE) @@ -117,6 +116,7 @@ }; struct rcar_i2c_priv { + u32 flags; void __iomem *io; struct i2c_adapter adap; struct i2c_msg *msg; @@ -127,7 +127,6 @@ int pos; u32 icccr; - u32 flags; u8 recovery_icmcr; /* protected by adapter lock */ enum rcar_i2c_type devtype; struct i2c_client *slave; @@ -583,13 +582,15 @@ rcar_i2c_write(priv, ICSIER, SDR | SSR | SAR); } - rcar_i2c_write(priv, ICSSR, ~SAR & 0xff); + /* Clear SSR, too, because of old STOPs to other clients than us */ + rcar_i2c_write(priv, ICSSR, ~(SAR | SSR) & 0xff); } /* master sent stop */ if (ssr_filtered & SSR) { i2c_slave_event(priv->slave, I2C_SLAVE_STOP, &value); - rcar_i2c_write(priv, ICSIER, SAR | SSR); + rcar_i2c_write(priv, ICSCR, SIE | SDBS); /* clear our NACK */ + rcar_i2c_write(priv, ICSIER, SAR); rcar_i2c_write(priv, ICSSR, ~SSR & 0xff); } @@ -617,7 +618,7 @@ /* * This driver has a lock-free design because there are IP cores (at least * R-Car Gen2) which have an inherent race condition in their hardware design. - * There, we need to clear RCAR_BUS_MASK_DATA bits as soon as possible after + * There, we need to switch to RCAR_BUS_PHASE_DATA as soon as possible after * the interrupt was generated, otherwise an unwanted repeated message gets * generated. It turned out that taking a spinlock at the beginning of the ISR * was already causing repeated messages. Thus, this driver was converted to @@ -626,13 +627,11 @@ static irqreturn_t rcar_i2c_irq(int irq, void *ptr) { struct rcar_i2c_priv *priv = ptr; - u32 msr, val; + u32 msr; /* Clear START or STOP immediately, except for REPSTART after read */ - if (likely(!(priv->flags & ID_P_REP_AFTER_RD))) { - val = rcar_i2c_read(priv, ICMCR); - rcar_i2c_write(priv, ICMCR, val & RCAR_BUS_MASK_DATA); - } + if (likely(!(priv->flags & ID_P_REP_AFTER_RD))) + rcar_i2c_write(priv, ICMCR, RCAR_BUS_PHASE_DATA); msr = rcar_i2c_read(priv, ICMSR); @@ -853,7 +852,7 @@ priv->slave = slave; rcar_i2c_write(priv, ICSAR, slave->addr); rcar_i2c_write(priv, ICSSR, 0); - rcar_i2c_write(priv, ICSIER, SAR | SSR); + rcar_i2c_write(priv, ICSIER, SAR); rcar_i2c_write(priv, ICSCR, SIE | SDBS); return 0; @@ -865,12 +864,14 @@ WARN_ON(!priv->slave); - /* disable irqs and ensure none is running before clearing ptr */ + /* ensure no irq is running before clearing ptr */ + disable_irq(priv->irq); rcar_i2c_write(priv, ICSIER, 0); - rcar_i2c_write(priv, ICSCR, 0); + rcar_i2c_write(priv, ICSSR, 0); + enable_irq(priv->irq); + rcar_i2c_write(priv, ICSCR, SDBS); rcar_i2c_write(priv, ICSAR, 0); /* Gen2: must be 0 if not using slave */ - synchronize_irq(priv->irq); priv->slave = NULL; pm_runtime_put(rcar_i2c_priv_to_dev(priv)); --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-sh_mobile.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-sh_mobile.c @@ -129,6 +129,7 @@ int sr; bool send_stop; bool stop_after_dma; + bool atomic_xfer; struct resource *res; struct dma_chan *dma_tx; @@ -330,13 +331,15 @@ ret = iic_rd(pd, ICDR); break; case OP_RX_STOP: /* enable DTE interrupt, issue stop */ - iic_wr(pd, ICIC, - ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE); + if (!pd->atomic_xfer) + iic_wr(pd, ICIC, + ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE); iic_wr(pd, ICCR, ICCR_ICE | ICCR_RACK); break; case OP_RX_STOP_DATA: /* enable DTE interrupt, read data, issue stop */ - iic_wr(pd, ICIC, - ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE); + if (!pd->atomic_xfer) + iic_wr(pd, ICIC, + ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE); ret = iic_rd(pd, ICDR); iic_wr(pd, ICCR, ICCR_ICE | ICCR_RACK); break; @@ -429,7 +432,8 @@ if (wakeup) { pd->sr |= SW_DONE; - wake_up(&pd->wait); + if (!pd->atomic_xfer) + wake_up(&pd->wait); } /* defeat write posting to avoid spurious WAIT interrupts */ @@ -581,6 +585,9 @@ pd->pos = -1; pd->sr = 0; + if (pd->atomic_xfer) + return; + pd->dma_buf = i2c_get_dma_safe_msg_buf(pd->msg, 8); if (pd->dma_buf) sh_mobile_i2c_xfer_dma(pd); @@ -637,15 +644,13 @@ return i ? 0 : -ETIMEDOUT; } -static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter, - struct i2c_msg *msgs, - int num) +static int sh_mobile_xfer(struct sh_mobile_i2c_data *pd, + struct i2c_msg *msgs, int num) { - struct sh_mobile_i2c_data *pd = i2c_get_adapdata(adapter); struct i2c_msg *msg; int err = 0; int i; - long timeout; + long time_left; /* Wake up device and enable clock */ pm_runtime_get_sync(pd->dev); @@ -662,15 +667,35 @@ if (do_start) i2c_op(pd, OP_START); - /* The interrupt handler takes care of the rest... */ - timeout = wait_event_timeout(pd->wait, - pd->sr & (ICSR_TACK | SW_DONE), - adapter->timeout); + if (pd->atomic_xfer) { + unsigned long j = jiffies + pd->adap.timeout; - /* 'stop_after_dma' tells if DMA transfer was complete */ - i2c_put_dma_safe_msg_buf(pd->dma_buf, pd->msg, pd->stop_after_dma); + time_left = time_before_eq(jiffies, j); + while (time_left && + !(pd->sr & (ICSR_TACK | SW_DONE))) { + unsigned char sr = iic_rd(pd, ICSR); + + if (sr & (ICSR_AL | ICSR_TACK | + ICSR_WAIT | ICSR_DTE)) { + sh_mobile_i2c_isr(0, pd); + udelay(150); + } else { + cpu_relax(); + } + time_left = time_before_eq(jiffies, j); + } + } else { + /* The interrupt handler takes care of the rest... */ + time_left = wait_event_timeout(pd->wait, + pd->sr & (ICSR_TACK | SW_DONE), + pd->adap.timeout); + + /* 'stop_after_dma' tells if DMA xfer was complete */ + i2c_put_dma_safe_msg_buf(pd->dma_buf, pd->msg, + pd->stop_after_dma); + } - if (!timeout) { + if (!time_left) { dev_err(pd->dev, "Transfer request timed out\n"); if (pd->dma_direction != DMA_NONE) sh_mobile_i2c_cleanup_dma(pd); @@ -696,14 +721,35 @@ return err ?: num; } +static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter, + struct i2c_msg *msgs, + int num) +{ + struct sh_mobile_i2c_data *pd = i2c_get_adapdata(adapter); + + pd->atomic_xfer = false; + return sh_mobile_xfer(pd, msgs, num); +} + +static int sh_mobile_i2c_xfer_atomic(struct i2c_adapter *adapter, + struct i2c_msg *msgs, + int num) +{ + struct sh_mobile_i2c_data *pd = i2c_get_adapdata(adapter); + + pd->atomic_xfer = true; + return sh_mobile_xfer(pd, msgs, num); +} + static u32 sh_mobile_i2c_func(struct i2c_adapter *adapter) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | I2C_FUNC_PROTOCOL_MANGLING; } static const struct i2c_algorithm sh_mobile_i2c_algorithm = { - .functionality = sh_mobile_i2c_func, - .master_xfer = sh_mobile_i2c_xfer, + .functionality = sh_mobile_i2c_func, + .master_xfer = sh_mobile_i2c_xfer, + .master_xfer_atomic = sh_mobile_i2c_xfer_atomic, }; static const struct i2c_adapter_quirks sh_mobile_i2c_quirks = { --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-sprd.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-sprd.c @@ -72,6 +72,8 @@ /* timeout (ms) for pm runtime autosuspend */ #define SPRD_I2C_PM_TIMEOUT 1000 +/* timeout (ms) for transfer message */ +#define I2C_XFER_TIMEOUT 1000 /* SPRD i2c data structure */ struct sprd_i2c { @@ -244,6 +246,7 @@ struct i2c_msg *msg, bool is_last_msg) { struct sprd_i2c *i2c_dev = i2c_adap->algo_data; + unsigned long time_left; i2c_dev->msg = msg; i2c_dev->buf = msg->buf; @@ -273,7 +276,10 @@ sprd_i2c_opt_start(i2c_dev); - wait_for_completion(&i2c_dev->complete); + time_left = wait_for_completion_timeout(&i2c_dev->complete, + msecs_to_jiffies(I2C_XFER_TIMEOUT)); + if (!time_left) + return -ETIMEDOUT; return i2c_dev->err; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-stm32f7.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-stm32f7.c @@ -55,6 +55,8 @@ #define STM32F7_I2C_CR1_RXDMAEN BIT(15) #define STM32F7_I2C_CR1_TXDMAEN BIT(14) #define STM32F7_I2C_CR1_ANFOFF BIT(12) +#define STM32F7_I2C_CR1_DNF_MASK GENMASK(11, 8) +#define STM32F7_I2C_CR1_DNF(n) (((n) & 0xf) << 8) #define STM32F7_I2C_CR1_ERRIE BIT(7) #define STM32F7_I2C_CR1_TCIE BIT(6) #define STM32F7_I2C_CR1_STOPIE BIT(5) @@ -153,7 +155,7 @@ #define STM32F7_I2C_MAX_SLAVE 0x2 #define STM32F7_I2C_DNF_DEFAULT 0 -#define STM32F7_I2C_DNF_MAX 16 +#define STM32F7_I2C_DNF_MAX 15 #define STM32F7_I2C_ANALOG_FILTER_ENABLE 1 #define STM32F7_I2C_ANALOG_FILTER_DELAY_MIN 50 /* ns */ @@ -714,6 +716,13 @@ else stm32f7_i2c_set_bits(i2c_dev->base + STM32F7_I2C_CR1, STM32F7_I2C_CR1_ANFOFF); + + /* Program the Digital Filter */ + stm32f7_i2c_clr_bits(i2c_dev->base + STM32F7_I2C_CR1, + STM32F7_I2C_CR1_DNF_MASK); + stm32f7_i2c_set_bits(i2c_dev->base + STM32F7_I2C_CR1, + STM32F7_I2C_CR1_DNF(i2c_dev->setup.dnf)); + stm32f7_i2c_set_bits(i2c_dev->base + STM32F7_I2C_CR1, STM32F7_I2C_CR1_PE); } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-tegra-bpmp.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-tegra-bpmp.c @@ -80,7 +80,7 @@ flags &= ~I2C_M_RECV_LEN; } - return (flags != 0) ? -EINVAL : 0; + return 0; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/busses/i2c-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/busses/i2c-tegra.c @@ -326,6 +326,8 @@ /* Read back register to make sure that register writes completed */ if (reg != I2C_TX_FIFO) readl_relaxed(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg)); + else if (i2c_dev->is_vi) + readl_relaxed(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, I2C_INT_STATUS)); } static u32 i2c_readl(struct tegra_i2c_dev *i2c_dev, unsigned long reg) @@ -339,6 +341,21 @@ writesl(i2c_dev->base + tegra_i2c_reg_addr(i2c_dev, reg), data, len); } +static void i2c_writesl_vi(struct tegra_i2c_dev *i2c_dev, void *data, + unsigned int reg, unsigned int len) +{ + u32 *data32 = data; + + /* + * VI I2C controller has known hardware bug where writes get stuck + * when immediate multiple writes happen to TX_FIFO register. + * Recommended software work around is to read I2C register after + * each write to TX_FIFO register to flush out the data. + */ + while (len--) + i2c_writel(i2c_dev, *data32++, reg); +} + static void i2c_readsl(struct tegra_i2c_dev *i2c_dev, void *data, unsigned long reg, int len) { @@ -595,7 +612,10 @@ words_to_transfer * BYTES_PER_FIFO_WORD; barrier(); - i2c_writesl(i2c_dev, buf, I2C_TX_FIFO, words_to_transfer); + if (i2c_dev->is_vi) + i2c_writesl_vi(i2c_dev, buf, I2C_TX_FIFO, words_to_transfer); + else + i2c_writesl(i2c_dev, buf, I2C_TX_FIFO, words_to_transfer); buf += words_to_transfer * BYTES_PER_FIFO_WORD; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/i2c-core-acpi.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/i2c-core-acpi.c @@ -264,6 +264,7 @@ void i2c_acpi_register_devices(struct i2c_adapter *adap) { acpi_status status; + acpi_handle handle; if (!has_acpi_companion(&adap->dev)) return; @@ -274,6 +275,15 @@ adap, NULL); if (ACPI_FAILURE(status)) dev_warn(&adap->dev, "failed to enumerate I2C slaves\n"); + + if (!adap->dev.parent) + return; + + handle = ACPI_HANDLE(adap->dev.parent); + if (!handle) + return; + + acpi_walk_dep_device_list(handle); } const struct acpi_device_id * @@ -729,7 +739,6 @@ return -ENOMEM; } - acpi_walk_dep_device_list(handle); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/i2c/i2c-core-base.c +++ linux-riscv-5.8-5.8.0/drivers/i2c/i2c-core-base.c @@ -254,13 +254,14 @@ static void i2c_init_recovery(struct i2c_adapter *adap) { struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; - char *err_str; + char *err_str, *err_level = KERN_ERR; if (!bri) return; if (!bri->recover_bus) { - err_str = "no recover_bus() found"; + err_str = "no suitable method provided"; + err_level = KERN_DEBUG; goto err; } @@ -290,7 +291,7 @@ return; err: - dev_err(&adap->dev, "Not using recovery: %s\n", err_str); + dev_printk(err_level, &adap->dev, "Not using recovery: %s\n", err_str); adap->bus_recovery_info = NULL; } @@ -354,7 +355,7 @@ * or ACPI ID table is supplied for the probing device. */ if (!driver->id_table && - !i2c_acpi_match_device(dev->driver->acpi_match_table, client) && + !acpi_driver_match_device(dev, dev->driver) && !i2c_of_match_device(dev->driver->of_match_table, client)) { status = -ENODEV; goto put_sync_adapter; @@ -1336,8 +1337,8 @@ /* create pre-declared device nodes */ of_i2c_register_devices(adap); - i2c_acpi_register_devices(adap); i2c_acpi_install_space_handler(adap); + i2c_acpi_register_devices(adap); if (adap->nr < __i2c_first_dynamic_bus_num) i2c_scan_static_board_info(adap); --- linux-riscv-5.8-5.8.0.orig/drivers/i3c/master.c +++ linux-riscv-5.8-5.8.0/drivers/i3c/master.c @@ -1782,6 +1782,21 @@ i3c_master_detach_free_devs(master); } +static void i3c_master_attach_boardinfo(struct i3c_dev_desc *i3cdev) +{ + struct i3c_master_controller *master = i3cdev->common.master; + struct i3c_dev_boardinfo *i3cboardinfo; + + list_for_each_entry(i3cboardinfo, &master->boardinfo.i3c, node) { + if (i3cdev->info.pid != i3cboardinfo->pid) + continue; + + i3cdev->boardinfo = i3cboardinfo; + i3cdev->info.static_addr = i3cboardinfo->static_addr; + return; + } +} + static struct i3c_dev_desc * i3c_master_search_i3c_dev_duplicate(struct i3c_dev_desc *refdev) { @@ -1837,10 +1852,10 @@ if (ret) goto err_detach_dev; + i3c_master_attach_boardinfo(newdev); + olddev = i3c_master_search_i3c_dev_duplicate(newdev); if (olddev) { - newdev->boardinfo = olddev->boardinfo; - newdev->info.static_addr = olddev->info.static_addr; newdev->dev = olddev->dev; if (newdev->dev) newdev->dev->desc = newdev; @@ -2499,7 +2514,7 @@ ret = i3c_master_bus_init(master); if (ret) - goto err_put_dev; + goto err_destroy_wq; ret = device_add(&master->dev); if (ret) @@ -2530,6 +2545,9 @@ err_cleanup_bus: i3c_master_bus_cleanup(master); +err_destroy_wq: + destroy_workqueue(master->wq); + err_put_dev: put_device(&master->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/i3c/master/i3c-master-cdns.c +++ linux-riscv-5.8-5.8.0/drivers/i3c/master/i3c-master-cdns.c @@ -1635,8 +1635,10 @@ master->ibi.slots = devm_kcalloc(&pdev->dev, master->ibi.num_slots, sizeof(*master->ibi.slots), GFP_KERNEL); - if (!master->ibi.slots) + if (!master->ibi.slots) { + ret = -ENOMEM; goto err_disable_sysclk; + } writel(IBIR_THR(1), master->regs + CMD_IBI_THR_CTRL); writel(MST_INT_IBIR_THR, master->regs + MST_IER); --- linux-riscv-5.8-5.8.0.orig/drivers/ide/falconide.c +++ linux-riscv-5.8-5.8.0/drivers/ide/falconide.c @@ -166,6 +166,7 @@ if (rc) goto err_free; + platform_set_drvdata(pdev, host); return 0; err_free: ide_host_free(host); @@ -176,7 +177,7 @@ static int falconide_remove(struct platform_device *pdev) { - struct ide_host *host = dev_get_drvdata(&pdev->dev); + struct ide_host *host = platform_get_drvdata(pdev); ide_host_remove(host); --- linux-riscv-5.8-5.8.0.orig/drivers/ide/ide-atapi.c +++ linux-riscv-5.8-5.8.0/drivers/ide/ide-atapi.c @@ -223,7 +223,6 @@ sense_rq->rq_disk = rq->rq_disk; sense_rq->cmd_flags = REQ_OP_DRV_IN; ide_req(sense_rq)->type = ATA_PRIV_SENSE; - sense_rq->rq_flags |= RQF_PREEMPT; req->cmd[0] = GPCMD_REQUEST_SENSE; req->cmd[4] = cmd_len; --- linux-riscv-5.8-5.8.0.orig/drivers/ide/ide-io.c +++ linux-riscv-5.8-5.8.0/drivers/ide/ide-io.c @@ -515,15 +515,10 @@ * above to return us whatever is in the queue. Since we call * ide_do_request() ourselves, we end up taking requests while * the queue is blocked... - * - * We let requests forced at head of queue with ide-preempt - * though. I hope that doesn't happen too much, hopefully not - * unless the subdriver triggers such a thing in its own PM - * state machine. */ if ((drive->dev_flags & IDE_DFLAG_BLOCKED) && ata_pm_request(rq) == 0 && - (rq->rq_flags & RQF_PREEMPT) == 0) { + (rq->rq_flags & RQF_PM) == 0) { /* there should be no pending command at this point */ ide_unlock_port(hwif); goto plug_device; --- linux-riscv-5.8-5.8.0.orig/drivers/ide/ide-pm.c +++ linux-riscv-5.8-5.8.0/drivers/ide/ide-pm.c @@ -77,7 +77,7 @@ } memset(&rqpm, 0, sizeof(rqpm)); - rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, BLK_MQ_REQ_PREEMPT); + rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, BLK_MQ_REQ_PM); ide_req(rq)->type = ATA_PRIV_PM_RESUME; ide_req(rq)->special = &rqpm; rqpm.pm_step = IDE_PM_START_RESUME; --- linux-riscv-5.8-5.8.0.orig/drivers/idle/intel_idle.c +++ linux-riscv-5.8-5.8.0/drivers/idle/intel_idle.c @@ -132,7 +132,6 @@ struct cpuidle_state *state = &drv->states[index]; unsigned long eax = flg2MWAIT(state->flags); unsigned long ecx = 1; /* break on interrupt flag */ - bool uninitialized_var(tick); int cpu = smp_processor_id(); /* @@ -142,24 +141,8 @@ if (state->flags & CPUIDLE_FLAG_TLB_FLUSHED) leave_mm(cpu); - if (!static_cpu_has(X86_FEATURE_ARAT) && !lapic_timer_always_reliable) { - /* - * Switch over to one-shot tick broadcast if the target C-state - * is deeper than C1. - */ - if ((eax >> MWAIT_SUBSTATE_SIZE) & MWAIT_CSTATE_MASK) { - tick = true; - tick_broadcast_enter(); - } else { - tick = false; - } - } - mwait_idle_with_hints(eax, ecx); - if (!static_cpu_has(X86_FEATURE_ARAT) && tick) - tick_broadcast_exit(); - return index; } @@ -1133,6 +1116,20 @@ return false; } +static bool __init intel_idle_state_needs_timer_stop(struct cpuidle_state *state) +{ + unsigned long eax = flg2MWAIT(state->flags); + + if (boot_cpu_has(X86_FEATURE_ARAT)) + return false; + + /* + * Switch over to one-shot tick broadcast if the target C-state + * is deeper than C1. + */ + return !!((eax >> MWAIT_SUBSTATE_SIZE) & MWAIT_CSTATE_MASK); +} + #ifdef CONFIG_ACPI_PROCESSOR_CSTATE #include @@ -1192,14 +1189,13 @@ if (!intel_idle_cst_usable()) continue; - if (!acpi_processor_claim_cst_control()) { - acpi_state_table.count = 0; - return false; - } + if (!acpi_processor_claim_cst_control()) + break; return true; } + acpi_state_table.count = 0; pr_debug("ACPI _CST not found or not usable\n"); return false; } @@ -1216,7 +1212,7 @@ struct acpi_processor_cx *cx; struct cpuidle_state *state; - if (intel_idle_max_cstate_reached(cstate)) + if (intel_idle_max_cstate_reached(cstate - 1)) break; cx = &acpi_state_table.states[cstate]; @@ -1246,6 +1242,9 @@ if (disabled_states_mask & BIT(cstate)) state->flags |= CPUIDLE_FLAG_OFF; + if (intel_idle_state_needs_timer_stop(state)) + state->flags |= CPUIDLE_FLAG_TIMER_STOP; + state->enter = intel_idle; state->enter_s2idle = intel_idle_s2idle; } @@ -1484,6 +1483,9 @@ !(cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_ALWAYS_ENABLE))) drv->states[drv->state_count].flags |= CPUIDLE_FLAG_OFF; + if (intel_idle_state_needs_timer_stop(&drv->states[drv->state_count])) + drv->states[drv->state_count].flags |= CPUIDLE_FLAG_TIMER_STOP; + drv->state_count++; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/accel/bmc150-accel-core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/accel/bmc150-accel-core.c @@ -189,6 +189,14 @@ struct mutex mutex; u8 fifo_mode, watermark; s16 buffer[8]; + /* + * Ensure there is sufficient space and correct alignment for + * the timestamp if enabled + */ + struct { + __le16 channels[3]; + s64 ts __aligned(8); + } scan; u8 bw_bits; u32 slope_dur; u32 slope_thres; @@ -922,15 +930,16 @@ * now. */ for (i = 0; i < count; i++) { - u16 sample[8]; int j, bit; j = 0; for_each_set_bit(bit, indio_dev->active_scan_mask, indio_dev->masklength) - memcpy(&sample[j++], &buffer[i * 3 + bit], 2); + memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit], + sizeof(data->scan.channels[0])); - iio_push_to_buffers_with_timestamp(indio_dev, sample, tstamp); + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, + tstamp); tstamp += sample_period; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/accel/kxcjk-1013.c +++ linux-riscv-5.8-5.8.0/drivers/iio/accel/kxcjk-1013.c @@ -126,6 +126,12 @@ KX_MAX_CHIPS /* this must be last */ }; +enum kx_acpi_type { + ACPI_GENERIC, + ACPI_SMO8500, + ACPI_KIOX010A, +}; + struct kxcjk1013_data { struct i2c_client *client; struct iio_trigger *dready_trig; @@ -143,7 +149,7 @@ bool motion_trigger_on; int64_t timestamp; enum kx_chipset chipset; - bool is_smo8500_device; + enum kx_acpi_type acpi_type; }; enum kxcjk1013_axis { @@ -270,6 +276,32 @@ {19163, 1, 0}, {38326, 0, 1} }; +#ifdef CONFIG_ACPI +enum kiox010a_fn_index { + KIOX010A_SET_LAPTOP_MODE = 1, + KIOX010A_SET_TABLET_MODE = 2, +}; + +static int kiox010a_dsm(struct device *dev, int fn_index) +{ + acpi_handle handle = ACPI_HANDLE(dev); + guid_t kiox010a_dsm_guid; + union acpi_object *obj; + + if (!handle) + return -ENODEV; + + guid_parse("1f339696-d475-4e26-8cad-2e9f8e6d7a91", &kiox010a_dsm_guid); + + obj = acpi_evaluate_dsm(handle, &kiox010a_dsm_guid, 1, fn_index, NULL); + if (!obj) + return -EIO; + + ACPI_FREE(obj); + return 0; +} +#endif + static int kxcjk1013_set_mode(struct kxcjk1013_data *data, enum kxcjk1013_mode mode) { @@ -347,6 +379,13 @@ { int ret; +#ifdef CONFIG_ACPI + if (data->acpi_type == ACPI_KIOX010A) { + /* Make sure the kbd and touchpad on 2-in-1s using 2 KXCJ91008-s work */ + kiox010a_dsm(&data->client->dev, KIOX010A_SET_LAPTOP_MODE); + } +#endif + ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_WHO_AM_I); if (ret < 0) { dev_err(&data->client->dev, "Error reading who_am_i\n"); @@ -1249,7 +1288,7 @@ static const char *kxcjk1013_match_acpi_device(struct device *dev, enum kx_chipset *chipset, - bool *is_smo8500_device) + enum kx_acpi_type *acpi_type) { const struct acpi_device_id *id; @@ -1258,7 +1297,9 @@ return NULL; if (strcmp(id->id, "SMO8500") == 0) - *is_smo8500_device = true; + *acpi_type = ACPI_SMO8500; + else if (strcmp(id->id, "KIOX010A") == 0) + *acpi_type = ACPI_KIOX010A; *chipset = (enum kx_chipset)id->driver_data; @@ -1301,7 +1342,7 @@ } else if (ACPI_HANDLE(&client->dev)) { name = kxcjk1013_match_acpi_device(&client->dev, &data->chipset, - &data->is_smo8500_device); + &data->acpi_type); } else return -ENODEV; @@ -1319,7 +1360,7 @@ indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->info = &kxcjk1013_info; - if (client->irq > 0 && !data->is_smo8500_device) { + if (client->irq > 0 && data->acpi_type != ACPI_SMO8500) { ret = devm_request_threaded_irq(&client->dev, client->irq, kxcjk1013_data_rdy_trig_poll, kxcjk1013_event_handler, --- linux-riscv-5.8-5.8.0.orig/drivers/iio/accel/kxsd9.c +++ linux-riscv-5.8-5.8.0/drivers/iio/accel/kxsd9.c @@ -209,14 +209,20 @@ const struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct kxsd9_state *st = iio_priv(indio_dev); + /* + * Ensure correct positioning and alignment of timestamp. + * No need to zero initialize as all elements written. + */ + struct { + __be16 chan[4]; + s64 ts __aligned(8); + } hw_values; int ret; - /* 4 * 16bit values AND timestamp */ - __be16 hw_values[8]; ret = regmap_bulk_read(st->map, KXSD9_REG_X, - &hw_values, - 8); + hw_values.chan, + sizeof(hw_values.chan)); if (ret) { dev_err(st->dev, "error reading data\n"); @@ -224,7 +230,7 @@ } iio_push_to_buffers_with_timestamp(indio_dev, - hw_values, + &hw_values, iio_get_time_ns(indio_dev)); iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/accel/mma7455_core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/accel/mma7455_core.c @@ -52,6 +52,14 @@ struct mma7455_data { struct regmap *regmap; + /* + * Used to reorganize data. Will ensure correct alignment of + * the timestamp if present + */ + struct { + __le16 channels[3]; + s64 ts __aligned(8); + } scan; }; static int mma7455_drdy(struct mma7455_data *mma7455) @@ -82,19 +90,19 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct mma7455_data *mma7455 = iio_priv(indio_dev); - u8 buf[16]; /* 3 x 16-bit channels + padding + ts */ int ret; ret = mma7455_drdy(mma7455); if (ret) goto done; - ret = regmap_bulk_read(mma7455->regmap, MMA7455_REG_XOUTL, buf, - sizeof(__le16) * 3); + ret = regmap_bulk_read(mma7455->regmap, MMA7455_REG_XOUTL, + mma7455->scan.channels, + sizeof(mma7455->scan.channels)); if (ret) goto done; - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &mma7455->scan, iio_get_time_ns(indio_dev)); done: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/accel/mma8452.c +++ linux-riscv-5.8-5.8.0/drivers/iio/accel/mma8452.c @@ -110,6 +110,12 @@ int sleep_val; struct regulator *vdd_reg; struct regulator *vddio_reg; + + /* Ensure correct alignment of time stamp when present */ + struct { + __be16 channels[3]; + s64 ts __aligned(8); + } buffer; }; /** @@ -1091,14 +1097,13 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct mma8452_data *data = iio_priv(indio_dev); - u8 buffer[16]; /* 3 16-bit channels + padding + ts */ int ret; - ret = mma8452_read(data, (__be16 *)buffer); + ret = mma8452_read(data, data->buffer.channels); if (ret < 0) goto done; - iio_push_to_buffers_with_timestamp(indio_dev, buffer, + iio_push_to_buffers_with_timestamp(indio_dev, &data->buffer, iio_get_time_ns(indio_dev)); done: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/Kconfig @@ -266,6 +266,8 @@ select IIO_BUFFER select IIO_BUFFER_HW_CONSUMER select IIO_BUFFER_DMAENGINE + depends on HAS_IOMEM + depends on OF help Say yes here to build support for Analog Devices Generic AXI ADC IP core. The IP core is used for interfacing with @@ -909,6 +911,7 @@ depends on ARCH_STM32 || COMPILE_TEST depends on OF depends on REGULATOR + depends on HAS_IOMEM select IIO_BUFFER select MFD_STM32_TIMERS select IIO_STM32_TIMER_TRIGGER --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ab8500-gpadc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ab8500-gpadc.c @@ -918,7 +918,7 @@ return processed; /* Return millivolt or milliamps or millicentigrades */ - *val = processed * 1000; + *val = processed; return IIO_VAL_INT; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ad7292.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ad7292.c @@ -311,8 +311,10 @@ for_each_available_child_of_node(spi->dev.of_node, child) { diff_channels = of_property_read_bool(child, "diff-channels"); - if (diff_channels) + if (diff_channels) { + of_node_put(child); break; + } } if (diff_channels) { --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ad7949.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ad7949.c @@ -91,7 +91,7 @@ int ret; int i; int bits_per_word = ad7949_adc->resolution; - int mask = GENMASK(ad7949_adc->resolution, 0); + int mask = GENMASK(ad7949_adc->resolution - 1, 0); struct spi_message msg; struct spi_transfer tx[] = { { --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ad_sigma_delta.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ad_sigma_delta.c @@ -57,7 +57,7 @@ int ad_sd_write_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, unsigned int size, unsigned int val) { - uint8_t *data = sigma_delta->data; + uint8_t *data = sigma_delta->tx_buf; struct spi_transfer t = { .tx_buf = data, .len = size + 1, @@ -99,7 +99,7 @@ static int ad_sd_read_reg_raw(struct ad_sigma_delta *sigma_delta, unsigned int reg, unsigned int size, uint8_t *val) { - uint8_t *data = sigma_delta->data; + uint8_t *data = sigma_delta->tx_buf; int ret; struct spi_transfer t[] = { { @@ -146,22 +146,22 @@ { int ret; - ret = ad_sd_read_reg_raw(sigma_delta, reg, size, sigma_delta->data); + ret = ad_sd_read_reg_raw(sigma_delta, reg, size, sigma_delta->rx_buf); if (ret < 0) goto out; switch (size) { case 4: - *val = get_unaligned_be32(sigma_delta->data); + *val = get_unaligned_be32(sigma_delta->rx_buf); break; case 3: - *val = get_unaligned_be24(&sigma_delta->data[0]); + *val = get_unaligned_be24(sigma_delta->rx_buf); break; case 2: - *val = get_unaligned_be16(sigma_delta->data); + *val = get_unaligned_be16(sigma_delta->rx_buf); break; case 1: - *val = sigma_delta->data[0]; + *val = sigma_delta->rx_buf[0]; break; default: ret = -EINVAL; @@ -399,13 +399,11 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); + uint8_t *data = sigma_delta->rx_buf; unsigned int reg_size; unsigned int data_reg; - uint8_t data[16]; int ret; - memset(data, 0x00, 16); - reg_size = indio_dev->channels[0].scan_type.realbits + indio_dev->channels[0].scan_type.shift; reg_size = DIV_ROUND_UP(reg_size, 8); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/at91-sama5d2_adc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/at91-sama5d2_adc.c @@ -883,7 +883,7 @@ AT91_SAMA5D2_MAX_CHAN_IDX + 1); } -static int at91_adc_buffer_preenable(struct iio_dev *indio_dev) +static int at91_adc_buffer_prepare(struct iio_dev *indio_dev) { int ret; u8 bit; @@ -900,7 +900,7 @@ /* we continue with the triggered buffer */ ret = at91_adc_dma_start(indio_dev); if (ret) { - dev_err(&indio_dev->dev, "buffer postenable failed\n"); + dev_err(&indio_dev->dev, "buffer prepare failed\n"); return ret; } @@ -1004,7 +1004,6 @@ } static const struct iio_buffer_setup_ops at91_buffer_setup_ops = { - .preenable = &at91_adc_buffer_preenable, .postdisable = &at91_adc_buffer_postdisable, .postenable = &at91_adc_buffer_postenable, .predisable = &at91_adc_buffer_predisable, @@ -1580,6 +1579,7 @@ static int at91_adc_set_watermark(struct iio_dev *indio_dev, unsigned int val) { struct at91_adc_state *st = iio_priv(indio_dev); + int ret; if (val > AT91_HWFIFO_MAX_SIZE) return -EINVAL; @@ -1603,7 +1603,15 @@ else if (val > 1) at91_adc_dma_init(to_platform_device(&indio_dev->dev)); - return 0; + /* + * We can start the DMA only after setting the watermark and + * having the DMA initialization completed + */ + ret = at91_adc_buffer_prepare(indio_dev); + if (ret) + at91_adc_dma_disable(to_platform_device(&indio_dev->dev)); + + return ret; } static int at91_adc_update_scan_mode(struct iio_dev *indio_dev, --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ina2xx-adc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ina2xx-adc.c @@ -146,6 +146,11 @@ int range_vbus; /* Bus voltage maximum in V */ int pga_gain_vshunt; /* Shunt voltage PGA gain */ bool allow_async_readout; + /* data buffer needs space for channel data and timestamp */ + struct { + u16 chan[4]; + u64 ts __aligned(8); + } scan; }; static const struct ina2xx_config ina2xx_config[] = { @@ -738,8 +743,6 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev) { struct ina2xx_chip_info *chip = iio_priv(indio_dev); - /* data buffer needs space for channel data and timestap */ - unsigned short data[4 + sizeof(s64)/sizeof(short)]; int bit, ret, i = 0; s64 time; @@ -758,10 +761,10 @@ if (ret < 0) return ret; - data[i++] = val; + chip->scan.chan[i++] = val; } - iio_push_to_buffers_with_timestamp(indio_dev, data, time); + iio_push_to_buffers_with_timestamp(indio_dev, &chip->scan, time); return 0; }; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ingenic-adc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ingenic-adc.c @@ -41,7 +41,7 @@ #define JZ4725B_ADC_BATTERY_HIGH_VREF_BITS 10 #define JZ4740_ADC_BATTERY_HIGH_VREF (7500 * 0.986) #define JZ4740_ADC_BATTERY_HIGH_VREF_BITS 12 -#define JZ4770_ADC_BATTERY_VREF 6600 +#define JZ4770_ADC_BATTERY_VREF 1200 #define JZ4770_ADC_BATTERY_VREF_BITS 12 struct ingenic_adc; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/max1118.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/max1118.c @@ -35,6 +35,11 @@ struct spi_device *spi; struct mutex lock; struct regulator *reg; + /* Ensure natural alignment of buffer elements */ + struct { + u8 channels[2]; + s64 ts __aligned(8); + } scan; u8 data ____cacheline_aligned; }; @@ -165,7 +170,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct max1118 *adc = iio_priv(indio_dev); - u8 data[16] = { }; /* 2x 8-bit ADC data + padding + 8 bytes timestamp */ int scan_index; int i = 0; @@ -183,10 +187,10 @@ goto out; } - data[i] = ret; + adc->scan.channels[i] = ret; i++; } - iio_push_to_buffers_with_timestamp(indio_dev, data, + iio_push_to_buffers_with_timestamp(indio_dev, &adc->scan, iio_get_time_ns(indio_dev)); out: mutex_unlock(&adc->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/mcp3422.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/mcp3422.c @@ -96,16 +96,12 @@ { int ret; - mutex_lock(&adc->lock); - ret = i2c_master_send(adc->i2c, &newconfig, 1); if (ret > 0) { adc->config = newconfig; ret = 0; } - mutex_unlock(&adc->lock); - return ret; } @@ -138,6 +134,8 @@ u8 config; u8 req_channel = channel->channel; + mutex_lock(&adc->lock); + if (req_channel != MCP3422_CHANNEL(adc->config)) { config = adc->config; config &= ~MCP3422_CHANNEL_MASK; @@ -145,12 +143,18 @@ config &= ~MCP3422_PGA_MASK; config |= MCP3422_PGA_VALUE(adc->pga[req_channel]); ret = mcp3422_update_config(adc, config); - if (ret < 0) + if (ret < 0) { + mutex_unlock(&adc->lock); return ret; + } msleep(mcp3422_read_times[MCP3422_SAMPLE_RATE(adc->config)]); } - return mcp3422_read(adc, value, &config); + ret = mcp3422_read(adc, value, &config); + + mutex_unlock(&adc->lock); + + return ret; } static int mcp3422_read_raw(struct iio_dev *iio, --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/mt6577_auxadc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/mt6577_auxadc.c @@ -9,9 +9,9 @@ #include #include #include -#include -#include +#include #include +#include #include #include #include @@ -277,6 +277,8 @@ goto err_disable_clk; } + adc_dev->dev_comp = device_get_match_data(&pdev->dev); + mutex_init(&adc_dev->lock); mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC, --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/qcom-spmi-adc5.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/qcom-spmi-adc5.c @@ -786,7 +786,7 @@ static struct platform_driver adc5_driver = { .driver = { - .name = "qcom-spmi-adc5.c", + .name = "qcom-spmi-adc5", .of_match_table = adc5_match_table, }, .probe = adc5_probe, --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/qcom-spmi-vadc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/qcom-spmi-vadc.c @@ -598,7 +598,7 @@ VADC_CHAN_NO_SCALE(P_MUX16_1_3, 1) VADC_CHAN_NO_SCALE(LR_MUX1_BAT_THERM, 0) - VADC_CHAN_NO_SCALE(LR_MUX2_BAT_ID, 0) + VADC_CHAN_VOLT(LR_MUX2_BAT_ID, 0, SCALE_DEFAULT) VADC_CHAN_NO_SCALE(LR_MUX3_XO_THERM, 0) VADC_CHAN_NO_SCALE(LR_MUX4_AMUX_THM1, 0) VADC_CHAN_NO_SCALE(LR_MUX5_AMUX_THM2, 0) --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/rcar-gyroadc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/rcar-gyroadc.c @@ -357,7 +357,7 @@ num_channels = ARRAY_SIZE(rcar_gyroadc_iio_channels_3); break; default: - return -EINVAL; + goto err_e_inval; } /* @@ -374,7 +374,7 @@ dev_err(dev, "Failed to get child reg property of ADC \"%pOFn\".\n", child); - return ret; + goto err_of_node_put; } /* Channel number is too high. */ @@ -382,7 +382,7 @@ dev_err(dev, "Only %i channels supported with %pOFn, but reg = <%i>.\n", num_channels, child, reg); - return -EINVAL; + goto err_e_inval; } } @@ -391,7 +391,7 @@ dev_err(dev, "Channel %i uses different ADC mode than the rest.\n", reg); - return -EINVAL; + goto err_e_inval; } /* Channel is valid, grab the regulator. */ @@ -401,7 +401,8 @@ if (IS_ERR(vref)) { dev_dbg(dev, "Channel %i 'vref' supply not connected.\n", reg); - return PTR_ERR(vref); + ret = PTR_ERR(vref); + goto err_of_node_put; } priv->vref[reg] = vref; @@ -425,8 +426,10 @@ * attached to the GyroADC at a time, so if we found it, * we can stop parsing here. */ - if (childmode == RCAR_GYROADC_MODE_SELECT_1_MB88101A) + if (childmode == RCAR_GYROADC_MODE_SELECT_1_MB88101A) { + of_node_put(child); break; + } } if (first) { @@ -435,6 +438,12 @@ } return 0; + +err_e_inval: + ret = -EINVAL; +err_of_node_put: + of_node_put(child); + return ret; } static void rcar_gyroadc_deinit_supplies(struct iio_dev *indio_dev) --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/rockchip_saradc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/rockchip_saradc.c @@ -372,7 +372,7 @@ ret = clk_prepare_enable(info->clk); if (ret) - return ret; + clk_disable_unprepare(info->pclk); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/stm32-adc-core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/stm32-adc-core.c @@ -41,18 +41,16 @@ * struct stm32_adc_common_regs - stm32 common registers * @csr: common status register offset * @ccr: common control register offset - * @eoc1_msk: adc1 end of conversion flag in @csr - * @eoc2_msk: adc2 end of conversion flag in @csr - * @eoc3_msk: adc3 end of conversion flag in @csr + * @eoc_msk: array of eoc (end of conversion flag) masks in csr for adc1..n + * @ovr_msk: array of ovr (overrun flag) masks in csr for adc1..n * @ier: interrupt enable register offset for each adc * @eocie_msk: end of conversion interrupt enable mask in @ier */ struct stm32_adc_common_regs { u32 csr; u32 ccr; - u32 eoc1_msk; - u32 eoc2_msk; - u32 eoc3_msk; + u32 eoc_msk[STM32_ADC_MAX_ADCS]; + u32 ovr_msk[STM32_ADC_MAX_ADCS]; u32 ier; u32 eocie_msk; }; @@ -282,21 +280,20 @@ static const struct stm32_adc_common_regs stm32f4_adc_common_regs = { .csr = STM32F4_ADC_CSR, .ccr = STM32F4_ADC_CCR, - .eoc1_msk = STM32F4_EOC1 | STM32F4_OVR1, - .eoc2_msk = STM32F4_EOC2 | STM32F4_OVR2, - .eoc3_msk = STM32F4_EOC3 | STM32F4_OVR3, + .eoc_msk = { STM32F4_EOC1, STM32F4_EOC2, STM32F4_EOC3}, + .ovr_msk = { STM32F4_OVR1, STM32F4_OVR2, STM32F4_OVR3}, .ier = STM32F4_ADC_CR1, - .eocie_msk = STM32F4_EOCIE | STM32F4_OVRIE, + .eocie_msk = STM32F4_EOCIE, }; /* STM32H7 common registers definitions */ static const struct stm32_adc_common_regs stm32h7_adc_common_regs = { .csr = STM32H7_ADC_CSR, .ccr = STM32H7_ADC_CCR, - .eoc1_msk = STM32H7_EOC_MST | STM32H7_OVR_MST, - .eoc2_msk = STM32H7_EOC_SLV | STM32H7_OVR_SLV, + .eoc_msk = { STM32H7_EOC_MST, STM32H7_EOC_SLV}, + .ovr_msk = { STM32H7_OVR_MST, STM32H7_OVR_SLV}, .ier = STM32H7_ADC_IER, - .eocie_msk = STM32H7_EOCIE | STM32H7_OVRIE, + .eocie_msk = STM32H7_EOCIE, }; static const unsigned int stm32_adc_offset[STM32_ADC_MAX_ADCS] = { @@ -318,6 +315,7 @@ { struct stm32_adc_priv *priv = irq_desc_get_handler_data(desc); struct irq_chip *chip = irq_desc_get_chip(desc); + int i; u32 status; chained_irq_enter(chip, desc); @@ -335,17 +333,12 @@ * before invoking the interrupt handler (e.g. call ISR only for * IRQ-enabled ADCs). */ - if (status & priv->cfg->regs->eoc1_msk && - stm32_adc_eoc_enabled(priv, 0)) - generic_handle_irq(irq_find_mapping(priv->domain, 0)); - - if (status & priv->cfg->regs->eoc2_msk && - stm32_adc_eoc_enabled(priv, 1)) - generic_handle_irq(irq_find_mapping(priv->domain, 1)); - - if (status & priv->cfg->regs->eoc3_msk && - stm32_adc_eoc_enabled(priv, 2)) - generic_handle_irq(irq_find_mapping(priv->domain, 2)); + for (i = 0; i < priv->cfg->num_irqs; i++) { + if ((status & priv->cfg->regs->eoc_msk[i] && + stm32_adc_eoc_enabled(priv, i)) || + (status & priv->cfg->regs->ovr_msk[i])) + generic_handle_irq(irq_find_mapping(priv->domain, i)); + } chained_irq_exit(chip, desc); }; @@ -794,6 +787,13 @@ { return stm32_adc_core_hw_start(dev); } + +static int stm32_adc_core_runtime_idle(struct device *dev) +{ + pm_runtime_mark_last_busy(dev); + + return 0; +} #endif static const struct dev_pm_ops stm32_adc_core_pm_ops = { @@ -801,7 +801,7 @@ pm_runtime_force_resume) SET_RUNTIME_PM_OPS(stm32_adc_core_runtime_suspend, stm32_adc_core_runtime_resume, - NULL) + stm32_adc_core_runtime_idle) }; static const struct stm32_adc_priv_cfg stm32f4_adc_priv_cfg = { --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/stm32-adc.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/stm32-adc.c @@ -154,6 +154,7 @@ * @start_conv: routine to start conversions * @stop_conv: routine to stop conversions * @unprepare: optional unprepare routine (disable, power-down) + * @irq_clear: routine to clear irqs * @smp_cycles: programmable sampling time (ADC clock cycles) */ struct stm32_adc_cfg { @@ -166,6 +167,7 @@ void (*start_conv)(struct stm32_adc *, bool dma); void (*stop_conv)(struct stm32_adc *); void (*unprepare)(struct stm32_adc *); + void (*irq_clear)(struct iio_dev *indio_dev, u32 msk); const unsigned int *smp_cycles; }; @@ -615,6 +617,13 @@ STM32F4_ADON | STM32F4_DMA | STM32F4_DDS); } +static void stm32f4_adc_irq_clear(struct iio_dev *indio_dev, u32 msk) +{ + struct stm32_adc *adc = iio_priv(indio_dev); + + stm32_adc_clr_bits(adc, adc->cfg->regs->isr_eoc.reg, msk); +} + static void stm32h7_adc_start_conv(struct stm32_adc *adc, bool dma) { enum stm32h7_adc_dmngt dmngt; @@ -652,6 +661,13 @@ stm32_adc_clr_bits(adc, STM32H7_ADC_CFGR, STM32H7_DMNGT_MASK); } +static void stm32h7_adc_irq_clear(struct iio_dev *indio_dev, u32 msk) +{ + struct stm32_adc *adc = iio_priv(indio_dev); + /* On STM32H7 IRQs are cleared by writing 1 into ISR register */ + stm32_adc_set_bits(adc, adc->cfg->regs->isr_eoc.reg, msk); +} + static int stm32h7_adc_exit_pwr_down(struct stm32_adc *adc) { struct iio_dev *indio_dev = iio_priv_to_dev(adc); @@ -1225,17 +1241,40 @@ } } +static void stm32_adc_irq_clear(struct iio_dev *indio_dev, u32 msk) +{ + struct stm32_adc *adc = iio_priv(indio_dev); + + adc->cfg->irq_clear(indio_dev, msk); +} + static irqreturn_t stm32_adc_threaded_isr(int irq, void *data) { struct stm32_adc *adc = data; struct iio_dev *indio_dev = iio_priv_to_dev(adc); const struct stm32_adc_regspec *regs = adc->cfg->regs; u32 status = stm32_adc_readl(adc, regs->isr_eoc.reg); + u32 mask = stm32_adc_readl(adc, regs->ier_eoc.reg); - if (status & regs->isr_ovr.mask) + /* Check ovr status right now, as ovr mask should be already disabled */ + if (status & regs->isr_ovr.mask) { + /* + * Clear ovr bit to avoid subsequent calls to IRQ handler. + * This requires to stop ADC first. OVR bit state in ISR, + * is propaged to CSR register by hardware. + */ + adc->cfg->stop_conv(indio_dev); + stm32_adc_irq_clear(indio_dev, regs->isr_ovr.mask); dev_err(&indio_dev->dev, "Overrun, stopping: restart needed\n"); + return IRQ_HANDLED; + } - return IRQ_HANDLED; + if (!(status & mask)) + dev_err_ratelimited(&indio_dev->dev, + "Unexpected IRQ: IER=0x%08x, ISR=0x%08x\n", + mask, status); + + return IRQ_NONE; } static irqreturn_t stm32_adc_isr(int irq, void *data) @@ -1244,6 +1283,10 @@ struct iio_dev *indio_dev = iio_priv_to_dev(adc); const struct stm32_adc_regspec *regs = adc->cfg->regs; u32 status = stm32_adc_readl(adc, regs->isr_eoc.reg); + u32 mask = stm32_adc_readl(adc, regs->ier_eoc.reg); + + if (!(status & mask)) + return IRQ_WAKE_THREAD; if (status & regs->isr_ovr.mask) { /* @@ -2069,6 +2112,7 @@ .start_conv = stm32f4_adc_start_conv, .stop_conv = stm32f4_adc_stop_conv, .smp_cycles = stm32f4_adc_smp_cycles, + .irq_clear = stm32f4_adc_irq_clear, }; static const struct stm32_adc_cfg stm32h7_adc_cfg = { @@ -2080,6 +2124,7 @@ .prepare = stm32h7_adc_prepare, .unprepare = stm32h7_adc_unprepare, .smp_cycles = stm32h7_adc_smp_cycles, + .irq_clear = stm32h7_adc_irq_clear, }; static const struct stm32_adc_cfg stm32mp1_adc_cfg = { @@ -2092,6 +2137,7 @@ .prepare = stm32h7_adc_prepare, .unprepare = stm32h7_adc_unprepare, .smp_cycles = stm32h7_adc_smp_cycles, + .irq_clear = stm32h7_adc_irq_clear, }; static const struct of_device_id stm32_adc_of_match[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-adc081c.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-adc081c.c @@ -33,6 +33,12 @@ /* 8, 10 or 12 */ int bits; + + /* Ensure natural alignment of buffer elements */ + struct { + u16 channel; + s64 ts __aligned(8); + } scan; }; #define REG_CONV_RES 0x00 @@ -128,14 +134,13 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct adc081c *data = iio_priv(indio_dev); - u16 buf[8]; /* 2 bytes data + 6 bytes padding + 8 bytes timestamp */ int ret; ret = i2c_smbus_read_word_swapped(data->i2c, REG_CONV_RES); if (ret < 0) goto out; - buf[0] = ret; - iio_push_to_buffers_with_timestamp(indio_dev, buf, + data->scan.channel = ret; + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); out: iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-adc0832.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-adc0832.c @@ -28,6 +28,12 @@ struct regulator *reg; struct mutex lock; u8 mux_bits; + /* + * Max size needed: 16x 1 byte ADC data + 8 bytes timestamp + * May be shorter if not all channels are enabled subject + * to the timestamp remaining 8 byte aligned. + */ + u8 data[24] __aligned(8); u8 tx_buf[2] ____cacheline_aligned; u8 rx_buf[2]; @@ -199,7 +205,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct adc0832 *adc = iio_priv(indio_dev); - u8 data[24] = { }; /* 16x 1 byte ADC data + 8 bytes timestamp */ int scan_index; int i = 0; @@ -217,10 +222,10 @@ goto out; } - data[i] = ret; + adc->data[i] = ret; i++; } - iio_push_to_buffers_with_timestamp(indio_dev, data, + iio_push_to_buffers_with_timestamp(indio_dev, adc->data, iio_get_time_ns(indio_dev)); out: mutex_unlock(&adc->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-adc084s021.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-adc084s021.c @@ -25,6 +25,11 @@ struct spi_transfer spi_trans; struct regulator *reg; struct mutex lock; + /* Buffer used to align data */ + struct { + __be16 channels[4]; + s64 ts __aligned(8); + } scan; /* * DMA (thus cache coherency maintenance) requires the * transfer buffers to live in their own cache line. @@ -140,14 +145,13 @@ struct iio_poll_func *pf = pollfunc; struct iio_dev *indio_dev = pf->indio_dev; struct adc084s021 *adc = iio_priv(indio_dev); - __be16 data[8] = {0}; /* 4 * 16-bit words of data + 8 bytes timestamp */ mutex_lock(&adc->lock); - if (adc084s021_adc_conversion(adc, &data) < 0) + if (adc084s021_adc_conversion(adc, adc->scan.channels) < 0) dev_err(&adc->spi->dev, "Failed to read data\n"); - iio_push_to_buffers_with_timestamp(indio_dev, data, + iio_push_to_buffers_with_timestamp(indio_dev, &adc->scan, iio_get_time_ns(indio_dev)); mutex_unlock(&adc->lock); iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-adc12138.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-adc12138.c @@ -47,6 +47,12 @@ struct completion complete; /* The number of cclk periods for the S/H's acquisition time */ unsigned int acquisition_time; + /* + * Maximum size needed: 16x 2 bytes ADC data + 8 bytes timestamp. + * Less may be need if not all channels are enabled, as long as + * the 8 byte alignment of the timestamp is maintained. + */ + __be16 data[20] __aligned(8); u8 tx_buf[2] ____cacheline_aligned; u8 rx_buf[2]; @@ -329,7 +335,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct adc12138 *adc = iio_priv(indio_dev); - __be16 data[20] = { }; /* 16x 2 bytes ADC data + 8 bytes timestamp */ __be16 trash; int ret; int scan_index; @@ -345,7 +350,7 @@ reinit_completion(&adc->complete); ret = adc12138_start_and_read_conv(adc, scan_chan, - i ? &data[i - 1] : &trash); + i ? &adc->data[i - 1] : &trash); if (ret) { dev_warn(&adc->spi->dev, "failed to start conversion\n"); @@ -362,7 +367,7 @@ } if (i) { - ret = adc12138_read_conv_data(adc, &data[i - 1]); + ret = adc12138_read_conv_data(adc, &adc->data[i - 1]); if (ret) { dev_warn(&adc->spi->dev, "failed to get conversion data\n"); @@ -370,7 +375,7 @@ } } - iio_push_to_buffers_with_timestamp(indio_dev, data, + iio_push_to_buffers_with_timestamp(indio_dev, adc->data, iio_get_time_ns(indio_dev)); out: mutex_unlock(&adc->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-ads1015.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-ads1015.c @@ -316,6 +316,7 @@ IIO_CHAN_SOFT_TIMESTAMP(ADS1015_TIMESTAMP), }; +#ifdef CONFIG_PM static int ads1015_set_power_state(struct ads1015_data *data, bool on) { int ret; @@ -333,6 +334,15 @@ return ret < 0 ? ret : 0; } +#else /* !CONFIG_PM */ + +static int ads1015_set_power_state(struct ads1015_data *data, bool on) +{ + return 0; +} + +#endif /* !CONFIG_PM */ + static int ads1015_get_adc_result(struct ads1015_data *data, int chan, int *val) { --- linux-riscv-5.8-5.8.0.orig/drivers/iio/adc/ti-ads124s08.c +++ linux-riscv-5.8-5.8.0/drivers/iio/adc/ti-ads124s08.c @@ -99,6 +99,14 @@ struct gpio_desc *reset_gpio; struct spi_device *spi; struct mutex lock; + /* + * Used to correctly align data. + * Ensure timestamp is naturally aligned. + * Note that the full buffer length may not be needed if not + * all channels are enabled, as long as the alignment of the + * timestamp is maintained. + */ + u32 buffer[ADS124S08_MAX_CHANNELS + sizeof(s64)/sizeof(u32)] __aligned(8); u8 data[5] ____cacheline_aligned; }; @@ -269,7 +277,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct ads124s_private *priv = iio_priv(indio_dev); - u32 buffer[ADS124S08_MAX_CHANNELS + sizeof(s64)/sizeof(u16)]; int scan_index, j = 0; int ret; @@ -284,7 +291,7 @@ if (ret) dev_err(&priv->spi->dev, "Start ADC conversions failed\n"); - buffer[j] = ads124s_read(indio_dev, scan_index); + priv->buffer[j] = ads124s_read(indio_dev, scan_index); ret = ads124s_write_cmd(indio_dev, ADS124S08_STOP_CONV); if (ret) dev_err(&priv->spi->dev, "Stop ADC conversions failed\n"); @@ -292,7 +299,7 @@ j++; } - iio_push_to_buffers_with_timestamp(indio_dev, buffer, + iio_push_to_buffers_with_timestamp(indio_dev, priv->buffer, pf->timestamp); iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/amplifiers/ad8366.c +++ linux-riscv-5.8-5.8.0/drivers/iio/amplifiers/ad8366.c @@ -262,8 +262,11 @@ case ID_ADA4961: case ID_ADL5240: case ID_HMC1119: - st->reset_gpio = devm_gpiod_get(&spi->dev, "reset", - GPIOD_OUT_HIGH); + st->reset_gpio = devm_gpiod_get_optional(&spi->dev, "reset", GPIOD_OUT_HIGH); + if (IS_ERR(st->reset_gpio)) { + ret = PTR_ERR(st->reset_gpio); + goto error_disable_reg; + } indio_dev->channels = ada4961_channels; indio_dev->num_channels = ARRAY_SIZE(ada4961_channels); break; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/chemical/ccs811.c +++ linux-riscv-5.8-5.8.0/drivers/iio/chemical/ccs811.c @@ -78,6 +78,11 @@ struct iio_trigger *drdy_trig; struct gpio_desc *wakeup_gpio; bool drdy_trig_on; + /* Ensures correct alignment of timestamp if present */ + struct { + s16 channels[2]; + s64 ts __aligned(8); + } scan; }; static const struct iio_chan_spec ccs811_channels[] = { @@ -327,17 +332,17 @@ struct iio_dev *indio_dev = pf->indio_dev; struct ccs811_data *data = iio_priv(indio_dev); struct i2c_client *client = data->client; - s16 buf[8]; /* s16 eCO2 + s16 TVOC + padding + 8 byte timestamp */ int ret; - ret = i2c_smbus_read_i2c_block_data(client, CCS811_ALG_RESULT_DATA, 4, - (u8 *)&buf); + ret = i2c_smbus_read_i2c_block_data(client, CCS811_ALG_RESULT_DATA, + sizeof(data->scan.channels), + (u8 *)data->scan.channels); if (ret != 4) { dev_err(&client->dev, "cannot read sensor data\n"); goto err; } - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); err: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c @@ -72,10 +72,13 @@ switch (type) { case MOTIONSENSE_TYPE_ACCEL: - case MOTIONSENSE_TYPE_GYRO: *min_freq = 12500; *max_freq = 100000; break; + case MOTIONSENSE_TYPE_GYRO: + *min_freq = 25000; + *max_freq = 100000; + break; case MOTIONSENSE_TYPE_MAG: *min_freq = 5000; *max_freq = 25000; @@ -252,7 +255,7 @@ struct cros_ec_sensorhub *sensor_hub = dev_get_drvdata(dev->parent); struct cros_ec_dev *ec = sensor_hub->ec; struct cros_ec_sensor_platform *sensor_platform = dev_get_platdata(dev); - u32 ver_mask; + u32 ver_mask, temp; int frequencies[ARRAY_SIZE(state->frequencies) / 2] = { 0 }; int ret, i; @@ -308,10 +311,16 @@ &frequencies[2], &state->fifo_max_event_count); } else { - frequencies[1] = state->resp->info_3.min_frequency; - frequencies[2] = state->resp->info_3.max_frequency; - state->fifo_max_event_count = - state->resp->info_3.fifo_max_event_count; + if (state->resp->info_3.max_frequency == 0) { + get_default_min_max_freq(state->resp->info.type, + &frequencies[1], + &frequencies[2], + &temp); + } else { + frequencies[1] = state->resp->info_3.min_frequency; + frequencies[2] = state->resp->info_3.max_frequency; + } + state->fifo_max_event_count = state->resp->info_3.fifo_max_event_count; } for (i = 0; i < ARRAY_SIZE(frequencies); i++) { state->frequencies[2 * i] = frequencies[i] / 1000; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/common/st_sensors/st_sensors_trigger.c +++ linux-riscv-5.8-5.8.0/drivers/iio/common/st_sensors/st_sensors_trigger.c @@ -23,35 +23,31 @@ * @sdata: Sensor data. * * returns: - * 0 - no new samples available - * 1 - new samples available - * negative - error or unknown + * false - no new samples available or read error + * true - new samples available */ -static int st_sensors_new_samples_available(struct iio_dev *indio_dev, - struct st_sensor_data *sdata) +static bool st_sensors_new_samples_available(struct iio_dev *indio_dev, + struct st_sensor_data *sdata) { int ret, status; /* How would I know if I can't check it? */ if (!sdata->sensor_settings->drdy_irq.stat_drdy.addr) - return -EINVAL; + return true; /* No scan mask, no interrupt */ if (!indio_dev->active_scan_mask) - return 0; + return false; ret = regmap_read(sdata->regmap, sdata->sensor_settings->drdy_irq.stat_drdy.addr, &status); if (ret < 0) { dev_err(sdata->dev, "error checking samples available\n"); - return ret; + return false; } - if (status & sdata->sensor_settings->drdy_irq.stat_drdy.mask) - return 1; - - return 0; + return !!(status & sdata->sensor_settings->drdy_irq.stat_drdy.mask); } /** @@ -180,9 +176,15 @@ /* Tell the interrupt handler that we're dealing with edges */ if (irq_trig == IRQF_TRIGGER_FALLING || - irq_trig == IRQF_TRIGGER_RISING) + irq_trig == IRQF_TRIGGER_RISING) { + if (!sdata->sensor_settings->drdy_irq.stat_drdy.addr) { + dev_err(&indio_dev->dev, + "edge IRQ not supported w/o stat register.\n"); + err = -EOPNOTSUPP; + goto iio_trigger_free; + } sdata->edge_irq = true; - else + } else { /* * If we're not using edges (i.e. level interrupts) we * just mask off the IRQ, handle one interrupt, then @@ -190,6 +192,7 @@ * interrupt handler top half again and start over. */ irq_trig |= IRQF_ONESHOT; + } /* * If the interrupt pin is Open Drain, by definition this --- linux-riscv-5.8-5.8.0.orig/drivers/iio/dac/ad5504.c +++ linux-riscv-5.8-5.8.0/drivers/iio/dac/ad5504.c @@ -188,9 +188,9 @@ return ret; if (pwr_down) - st->pwr_down_mask |= (1 << chan->channel); - else st->pwr_down_mask &= ~(1 << chan->channel); + else + st->pwr_down_mask |= (1 << chan->channel); ret = ad5504_spi_write(st, AD5504_ADDR_CTRL, AD5504_DAC_PWRDWN_MODE(st->pwr_down_mode) | --- linux-riscv-5.8-5.8.0.orig/drivers/iio/dac/ad5592r-base.c +++ linux-riscv-5.8-5.8.0/drivers/iio/dac/ad5592r-base.c @@ -413,7 +413,7 @@ s64 tmp = *val * (3767897513LL / 25LL); *val = div_s64_rem(tmp, 1000000000LL, val2); - ret = IIO_VAL_INT_PLUS_MICRO; + return IIO_VAL_INT_PLUS_MICRO; } else { int mult; @@ -444,7 +444,7 @@ ret = IIO_VAL_INT; break; default: - ret = -EINVAL; + return -EINVAL; } unlock: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/gyro/itg3200_buffer.c +++ linux-riscv-5.8-5.8.0/drivers/iio/gyro/itg3200_buffer.c @@ -46,13 +46,20 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct itg3200 *st = iio_priv(indio_dev); - __be16 buf[ITG3200_SCAN_ELEMENTS + sizeof(s64)/sizeof(u16)]; + /* + * Ensure correct alignment and padding including for the + * timestamp that may be inserted. + */ + struct { + __be16 buf[ITG3200_SCAN_ELEMENTS]; + s64 ts __aligned(8); + } scan; - int ret = itg3200_read_all_channels(st->i2c, buf); + int ret = itg3200_read_all_channels(st->i2c, scan.buf); if (ret < 0) goto error_ret; - iio_push_to_buffers_with_timestamp(indio_dev, buf, pf->timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, &scan, pf->timestamp); iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/gyro/mpu3050-core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/gyro/mpu3050-core.c @@ -550,6 +550,8 @@ MPU3050_FIFO_R, &fifo_values[offset], toread); + if (ret) + goto out_trigger_unlock; dev_dbg(mpu3050->dev, "%04x %04x %04x %04x %04x\n", --- linux-riscv-5.8-5.8.0.orig/drivers/iio/humidity/hid-sensor-humidity.c +++ linux-riscv-5.8-5.8.0/drivers/iio/humidity/hid-sensor-humidity.c @@ -15,7 +15,10 @@ struct hid_humidity_state { struct hid_sensor_common common_attributes; struct hid_sensor_hub_attribute_info humidity_attr; - s32 humidity_data; + struct { + s32 humidity_data; + u64 timestamp __aligned(8); + } scan; int scale_pre_decml; int scale_post_decml; int scale_precision; @@ -125,9 +128,8 @@ struct hid_humidity_state *humid_st = iio_priv(indio_dev); if (atomic_read(&humid_st->common_attributes.data_ready)) - iio_push_to_buffers_with_timestamp(indio_dev, - &humid_st->humidity_data, - iio_get_time_ns(indio_dev)); + iio_push_to_buffers_with_timestamp(indio_dev, &humid_st->scan, + iio_get_time_ns(indio_dev)); return 0; } @@ -142,7 +144,7 @@ switch (usage_id) { case HID_USAGE_SENSOR_ATMOSPHERIC_HUMIDITY: - humid_st->humidity_data = *(s32 *)raw_data; + humid_st->scan.humidity_data = *(s32 *)raw_data; return 0; default: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/adis16400.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/adis16400.c @@ -465,8 +465,7 @@ if (ret) goto err_ret; - ret = sscanf(indio_dev->name, "adis%u\n", &device_id); - if (ret != 1) { + if (sscanf(indio_dev->name, "adis%u\n", &device_id) != 1) { ret = -EINVAL; goto err_ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/bmi160/bmi160.h +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/bmi160/bmi160.h @@ -7,6 +7,13 @@ struct bmi160_data { struct regmap *regmap; struct iio_trigger *trig; + /* + * Ensure natural alignment for timestamp if present. + * Max length needed: 2 * 3 channels + 4 bytes padding + 8 byte ts. + * If fewer channels are enabled, less space may be needed, as + * long as the timestamp is still aligned to 8 bytes. + */ + __le16 buf[12] __aligned(8); }; extern const struct regmap_config bmi160_regmap_config; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/bmi160/bmi160_core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/bmi160/bmi160_core.c @@ -411,8 +411,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct bmi160_data *data = iio_priv(indio_dev); - __le16 buf[16]; - /* 3 sens x 3 axis x __le16 + 3 x __le16 pad + 4 x __le16 tstamp */ int i, ret, j = 0, base = BMI160_REG_DATA_MAGN_XOUT_L; __le16 sample; @@ -422,10 +420,10 @@ &sample, sizeof(sample)); if (ret) goto done; - buf[j++] = sample; + data->buf[j++] = sample; } - iio_push_to_buffers_with_timestamp(indio_dev, buf, pf->timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, data->buf, pf->timestamp); done: iio_trigger_notify_done(indio_dev->trig); return IRQ_HANDLED; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h @@ -122,6 +122,13 @@ u8 user_ctrl; }; +/* + * Maximum of 6 + 6 + 2 + 7 (for MPU9x50) = 21 round up to 24 and plus 8. + * May be less if fewer channels are enabled, as long as the timestamp + * remains 8 byte aligned + */ +#define INV_MPU6050_OUTPUT_DATA_SIZE 32 + /** * struct inv_mpu6050_hw - Other important hardware information. * @whoami: Self identification byte from WHO_AM_I register @@ -165,6 +172,7 @@ * @magn_raw_to_gauss: coefficient to convert mag raw value to Gauss. * @magn_orient: magnetometer sensor chip orientation if available. * @suspended_sensors: sensors mask of sensors turned off for suspend + * @data: dma safe buffer used for bulk reads. */ struct inv_mpu6050_state { struct mutex lock; @@ -190,6 +198,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; }; /*register and associated bit definition*/ @@ -334,9 +343,6 @@ #define INV_ICM20608_TEMP_OFFSET 8170 #define INV_ICM20608_TEMP_SCALE 3059976 -/* 6 + 6 + 2 + 7 (for MPU9x50) = 21 round up to 24 and plus 8 */ -#define INV_MPU6050_OUTPUT_DATA_SIZE 32 - #define INV_MPU6050_REG_INT_PIN_CFG 0x37 #define INV_MPU6050_ACTIVE_HIGH 0x00 #define INV_MPU6050_ACTIVE_LOW 0x80 --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c @@ -13,7 +13,6 @@ #include #include #include -#include #include "inv_mpu_iio.h" /** @@ -121,7 +120,6 @@ struct inv_mpu6050_state *st = iio_priv(indio_dev); size_t bytes_per_datum; int result; - u8 data[INV_MPU6050_OUTPUT_DATA_SIZE]; u16 fifo_count; s64 timestamp; int int_status; @@ -160,11 +158,11 @@ * read fifo_count register to know how many bytes are inside the FIFO * right now */ - result = regmap_bulk_read(st->map, st->reg->fifo_count_h, data, - INV_MPU6050_FIFO_COUNT_BYTE); + result = regmap_bulk_read(st->map, st->reg->fifo_count_h, + st->data, INV_MPU6050_FIFO_COUNT_BYTE); if (result) goto end_session; - fifo_count = get_unaligned_be16(&data[0]); + fifo_count = be16_to_cpup((__be16 *)&st->data[0]); /* * Handle fifo overflow by resetting fifo. @@ -182,7 +180,7 @@ inv_mpu6050_update_period(st, pf->timestamp, nb); for (i = 0; i < nb; ++i) { result = regmap_bulk_read(st->map, st->reg->fifo_r_w, - data, bytes_per_datum); + st->data, bytes_per_datum); if (result) goto flush_fifo; /* skip first samples if needed */ @@ -191,7 +189,7 @@ continue; } timestamp = inv_mpu6050_get_timestamp(st); - iio_push_to_buffers_with_timestamp(indio_dev, data, timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, st->data, timestamp); } end_session: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h @@ -383,6 +383,7 @@ * @iio_devs: Pointers to acc/gyro iio_dev instances. * @settings: Pointer to the specific sensor settings in use. * @orientation: sensor chip orientation relative to main hardware. + * @scan: Temporary buffers used to align data before iio_push_to_buffers() */ struct st_lsm6dsx_hw { struct device *dev; @@ -411,6 +412,11 @@ const struct st_lsm6dsx_settings *settings; struct iio_mount_matrix orientation; + /* Ensure natural alignment of buffer elements */ + struct { + __le16 channels[3]; + s64 ts __aligned(8); + } scan[3]; }; static __maybe_unused const struct iio_event_spec st_lsm6dsx_event = { @@ -436,8 +442,7 @@ u16 watermark); int st_lsm6dsx_update_fifo(struct st_lsm6dsx_sensor *sensor, bool enable); int st_lsm6dsx_flush_fifo(struct st_lsm6dsx_hw *hw); -int st_lsm6dsx_set_fifo_mode(struct st_lsm6dsx_hw *hw, - enum st_lsm6dsx_fifo_mode fifo_mode); +int st_lsm6dsx_resume_fifo(struct st_lsm6dsx_hw *hw); int st_lsm6dsx_read_fifo(struct st_lsm6dsx_hw *hw); int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *hw); int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sensor, u32 odr, u8 *val); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -184,8 +184,8 @@ return err; } -int st_lsm6dsx_set_fifo_mode(struct st_lsm6dsx_hw *hw, - enum st_lsm6dsx_fifo_mode fifo_mode) +static int st_lsm6dsx_set_fifo_mode(struct st_lsm6dsx_hw *hw, + enum st_lsm6dsx_fifo_mode fifo_mode) { unsigned int data; @@ -302,6 +302,18 @@ return 0; } +int st_lsm6dsx_resume_fifo(struct st_lsm6dsx_hw *hw) +{ + int err; + + /* reset hw ts counter */ + err = st_lsm6dsx_reset_hw_ts(hw); + if (err < 0) + return err; + + return st_lsm6dsx_set_fifo_mode(hw, ST_LSM6DSX_FIFO_CONT); +} + /* * Set max bulk read to ST_LSM6DSX_MAX_WORD_LEN/ST_LSM6DSX_MAX_TAGGED_WORD_LEN * in order to avoid a kmalloc for each bus access @@ -341,9 +353,6 @@ int err, sip, acc_sip, gyro_sip, ts_sip, ext_sip, read_len, offset; u16 fifo_len, pattern_len = hw->sip * ST_LSM6DSX_SAMPLE_SIZE; u16 fifo_diff_mask = hw->settings->fifo_ops.fifo_diff.mask; - u8 gyro_buff[ST_LSM6DSX_IIO_BUFF_SIZE]; - u8 acc_buff[ST_LSM6DSX_IIO_BUFF_SIZE]; - u8 ext_buff[ST_LSM6DSX_IIO_BUFF_SIZE]; bool reset_ts = false; __le16 fifo_status; s64 ts = 0; @@ -404,19 +413,22 @@ while (acc_sip > 0 || gyro_sip > 0 || ext_sip > 0) { if (gyro_sip > 0 && !(sip % gyro_sensor->decimator)) { - memcpy(gyro_buff, &hw->buff[offset], - ST_LSM6DSX_SAMPLE_SIZE); - offset += ST_LSM6DSX_SAMPLE_SIZE; + memcpy(hw->scan[ST_LSM6DSX_ID_GYRO].channels, + &hw->buff[offset], + sizeof(hw->scan[ST_LSM6DSX_ID_GYRO].channels)); + offset += sizeof(hw->scan[ST_LSM6DSX_ID_GYRO].channels); } if (acc_sip > 0 && !(sip % acc_sensor->decimator)) { - memcpy(acc_buff, &hw->buff[offset], - ST_LSM6DSX_SAMPLE_SIZE); - offset += ST_LSM6DSX_SAMPLE_SIZE; + memcpy(hw->scan[ST_LSM6DSX_ID_ACC].channels, + &hw->buff[offset], + sizeof(hw->scan[ST_LSM6DSX_ID_ACC].channels)); + offset += sizeof(hw->scan[ST_LSM6DSX_ID_ACC].channels); } if (ext_sip > 0 && !(sip % ext_sensor->decimator)) { - memcpy(ext_buff, &hw->buff[offset], - ST_LSM6DSX_SAMPLE_SIZE); - offset += ST_LSM6DSX_SAMPLE_SIZE; + memcpy(hw->scan[ST_LSM6DSX_ID_EXT0].channels, + &hw->buff[offset], + sizeof(hw->scan[ST_LSM6DSX_ID_EXT0].channels)); + offset += sizeof(hw->scan[ST_LSM6DSX_ID_EXT0].channels); } if (ts_sip-- > 0) { @@ -446,19 +458,22 @@ if (gyro_sip > 0 && !(sip % gyro_sensor->decimator)) { iio_push_to_buffers_with_timestamp( hw->iio_devs[ST_LSM6DSX_ID_GYRO], - gyro_buff, gyro_sensor->ts_ref + ts); + &hw->scan[ST_LSM6DSX_ID_GYRO], + gyro_sensor->ts_ref + ts); gyro_sip--; } if (acc_sip > 0 && !(sip % acc_sensor->decimator)) { iio_push_to_buffers_with_timestamp( hw->iio_devs[ST_LSM6DSX_ID_ACC], - acc_buff, acc_sensor->ts_ref + ts); + &hw->scan[ST_LSM6DSX_ID_ACC], + acc_sensor->ts_ref + ts); acc_sip--; } if (ext_sip > 0 && !(sip % ext_sensor->decimator)) { iio_push_to_buffers_with_timestamp( hw->iio_devs[ST_LSM6DSX_ID_EXT0], - ext_buff, ext_sensor->ts_ref + ts); + &hw->scan[ST_LSM6DSX_ID_EXT0], + ext_sensor->ts_ref + ts); ext_sip--; } sip++; @@ -543,7 +558,14 @@ { u16 pattern_len = hw->sip * ST_LSM6DSX_TAGGED_SAMPLE_SIZE; u16 fifo_len, fifo_diff_mask; - u8 iio_buff[ST_LSM6DSX_IIO_BUFF_SIZE], tag; + /* + * Alignment needed as this can ultimately be passed to a + * call to iio_push_to_buffers_with_timestamp() which + * must be passed a buffer that is aligned to 8 bytes so + * as to allow insertion of a naturally aligned timestamp. + */ + u8 iio_buff[ST_LSM6DSX_IIO_BUFF_SIZE] __aligned(8); + u8 tag; bool reset_ts = false; int i, err, read_len; __le16 fifo_status; @@ -675,12 +697,7 @@ goto out; if (fifo_mask) { - /* reset hw ts counter */ - err = st_lsm6dsx_reset_hw_ts(hw); - if (err < 0) - goto out; - - err = st_lsm6dsx_set_fifo_mode(hw, ST_LSM6DSX_FIFO_CONT); + err = st_lsm6dsx_resume_fifo(hw); if (err < 0) goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c @@ -2236,19 +2236,35 @@ static irqreturn_t st_lsm6dsx_handler_thread(int irq, void *private) { struct st_lsm6dsx_hw *hw = private; + int fifo_len = 0, len; bool event; - int count; event = st_lsm6dsx_report_motion_event(hw); if (!hw->settings->fifo_ops.read_fifo) return event ? IRQ_HANDLED : IRQ_NONE; - mutex_lock(&hw->fifo_lock); - count = hw->settings->fifo_ops.read_fifo(hw); - mutex_unlock(&hw->fifo_lock); + /* + * If we are using edge IRQs, new samples can arrive while + * processing current interrupt since there are no hw + * guarantees the irq line stays "low" long enough to properly + * detect the new interrupt. In this case the new sample will + * be missed. + * Polling FIFO status register allow us to read new + * samples even if the interrupt arrives while processing + * previous data and the timeslot where the line is "low" is + * too short to be properly detected. + */ + do { + mutex_lock(&hw->fifo_lock); + len = hw->settings->fifo_ops.read_fifo(hw); + mutex_unlock(&hw->fifo_lock); + + if (len > 0) + fifo_len += len; + } while (len > 0); - return count || event ? IRQ_HANDLED : IRQ_NONE; + return fifo_len || event ? IRQ_HANDLED : IRQ_NONE; } static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) @@ -2458,7 +2474,7 @@ } if (hw->fifo_mask) - err = st_lsm6dsx_set_fifo_mode(hw, ST_LSM6DSX_FIFO_CONT); + err = st_lsm6dsx_resume_fifo(hw); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c +++ linux-riscv-5.8-5.8.0/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c @@ -156,11 +156,13 @@ static void st_lsm6dsx_shub_wait_complete(struct st_lsm6dsx_hw *hw) { struct st_lsm6dsx_sensor *sensor; - u32 odr; + u32 odr, timeout; sensor = iio_priv(hw->iio_devs[ST_LSM6DSX_ID_ACC]); odr = (hw->enable_mask & BIT(ST_LSM6DSX_ID_ACC)) ? sensor->odr : 12500; - msleep((2000000U / odr) + 1); + /* set 10ms as minimum timeout for i2c slave configuration */ + timeout = max_t(u32, 2000000U / odr + 1, 10); + msleep(timeout); } /** @@ -313,6 +315,8 @@ err = st_lsm6dsx_shub_read_output(hw, data, len & ST_LS6DSX_READ_OP_MASK); + if (err < 0) + return err; st_lsm6dsx_shub_master_enable(sensor, false); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/industrialio-buffer.c +++ linux-riscv-5.8-5.8.0/drivers/iio/industrialio-buffer.c @@ -859,12 +859,12 @@ indio_dev->masklength, in_ind + 1); while (in_ind != out_ind) { - in_ind = find_next_bit(indio_dev->active_scan_mask, - indio_dev->masklength, - in_ind + 1); length = iio_storage_bytes_for_si(indio_dev, in_ind); /* Make sure we are aligned */ in_loc = roundup(in_loc, length) + length; + in_ind = find_next_bit(indio_dev->active_scan_mask, + indio_dev->masklength, + in_ind + 1); } length = iio_storage_bytes_for_si(indio_dev, in_ind); out_loc = roundup(out_loc, length); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/iio/light/Kconfig @@ -529,6 +529,7 @@ config VCNL4035 tristate "VCNL4035 combined ALS and proximity sensor" + select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP_I2C depends on I2C --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/hid-sensor-prox.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/hid-sensor-prox.c @@ -23,6 +23,9 @@ struct hid_sensor_common common_attributes; struct hid_sensor_hub_attribute_info prox_attr; u32 human_presence; + int scale_pre_decml; + int scale_post_decml; + int scale_precision; }; /* Channel definitions */ @@ -93,8 +96,9 @@ ret_type = IIO_VAL_INT; break; case IIO_CHAN_INFO_SCALE: - *val = prox_state->prox_attr.units; - ret_type = IIO_VAL_INT; + *val = prox_state->scale_pre_decml; + *val2 = prox_state->scale_post_decml; + ret_type = prox_state->scale_precision; break; case IIO_CHAN_INFO_OFFSET: *val = hid_sensor_convert_exponent( @@ -234,6 +238,11 @@ HID_USAGE_SENSOR_HUMAN_PRESENCE, &st->common_attributes.sensitivity); + st->scale_precision = hid_sensor_format_scale( + hsdev->usage, + &st->prox_attr, + &st->scale_pre_decml, &st->scale_post_decml); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/ltr501.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/ltr501.c @@ -1243,13 +1243,16 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct ltr501_data *data = iio_priv(indio_dev); - u16 buf[8]; + struct { + u16 channels[3]; + s64 ts __aligned(8); + } scan; __le16 als_buf[2]; u8 mask = 0; int j = 0; int ret, psdata; - memset(buf, 0, sizeof(buf)); + memset(&scan, 0, sizeof(scan)); /* figure out which data needs to be ready */ if (test_bit(0, indio_dev->active_scan_mask) || @@ -1268,9 +1271,9 @@ if (ret < 0) return ret; if (test_bit(0, indio_dev->active_scan_mask)) - buf[j++] = le16_to_cpu(als_buf[1]); + scan.channels[j++] = le16_to_cpu(als_buf[1]); if (test_bit(1, indio_dev->active_scan_mask)) - buf[j++] = le16_to_cpu(als_buf[0]); + scan.channels[j++] = le16_to_cpu(als_buf[0]); } if (mask & LTR501_STATUS_PS_RDY) { @@ -1278,10 +1281,10 @@ &psdata, 2); if (ret < 0) goto done; - buf[j++] = psdata & LTR501_PS_DATA_MASK; + scan.channels[j++] = psdata & LTR501_PS_DATA_MASK; } - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &scan, iio_get_time_ns(indio_dev)); done: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/max44000.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/max44000.c @@ -75,6 +75,11 @@ struct max44000_data { struct mutex lock; struct regmap *regmap; + /* Ensure naturally aligned timestamp */ + struct { + u16 channels[2]; + s64 ts __aligned(8); + } scan; }; /* Default scale is set to the minimum of 0.03125 or 1 / (1 << 5) lux */ @@ -488,7 +493,6 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct max44000_data *data = iio_priv(indio_dev); - u16 buf[8]; /* 2x u16 + padding + 8 bytes timestamp */ int index = 0; unsigned int regval; int ret; @@ -498,17 +502,17 @@ ret = max44000_read_alsval(data); if (ret < 0) goto out_unlock; - buf[index++] = ret; + data->scan.channels[index++] = ret; } if (test_bit(MAX44000_SCAN_INDEX_PRX, indio_dev->active_scan_mask)) { ret = regmap_read(data->regmap, MAX44000_REG_PRX_DATA, ®val); if (ret < 0) goto out_unlock; - buf[index] = regval; + data->scan.channels[index] = regval; } mutex_unlock(&data->lock); - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); iio_trigger_notify_done(indio_dev->trig); return IRQ_HANDLED; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/rpr0521.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/rpr0521.c @@ -194,6 +194,17 @@ bool pxs_need_dis; struct regmap *regmap; + + /* + * Ensure correct naturally aligned timestamp. + * Note that the read will put garbage data into + * the padding but this should not be a problem + */ + struct { + __le16 channels[3]; + u8 garbage; + s64 ts __aligned(8); + } scan; }; static IIO_CONST_ATTR(in_intensity_scale_available, RPR0521_ALS_SCALE_AVAIL); @@ -449,8 +460,6 @@ struct rpr0521_data *data = iio_priv(indio_dev); int err; - u8 buffer[16]; /* 3 16-bit channels + padding + ts */ - /* Use irq timestamp when reasonable. */ if (iio_trigger_using_own(indio_dev) && data->irq_timestamp) { pf->timestamp = data->irq_timestamp; @@ -461,11 +470,11 @@ pf->timestamp = iio_get_time_ns(indio_dev); err = regmap_bulk_read(data->regmap, RPR0521_REG_PXS_DATA, - &buffer, + data->scan.channels, (3 * 2) + 1); /* 3 * 16-bit + (discarded) int clear reg. */ if (!err) iio_push_to_buffers_with_timestamp(indio_dev, - buffer, pf->timestamp); + &data->scan, pf->timestamp); else dev_err(&data->client->dev, "Trigger consumer can't read from sensor.\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/si1145.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/si1145.c @@ -168,6 +168,7 @@ * @part_info: Part information * @trig: Pointer to iio trigger * @meas_rate: Value of MEAS_RATE register. Only set in HW in auto mode + * @buffer: Used to pack data read from sensor. */ struct si1145_data { struct i2c_client *client; @@ -179,6 +180,14 @@ bool autonomous; struct iio_trigger *trig; int meas_rate; + /* + * Ensure timestamp will be naturally aligned if present. + * Maximum buffer size (may be only partly used if not all + * channels are enabled): + * 6*2 bytes channels data + 4 bytes alignment + + * 8 bytes timestamp + */ + u8 buffer[24] __aligned(8); }; /** @@ -440,12 +449,6 @@ struct iio_poll_func *pf = private; struct iio_dev *indio_dev = pf->indio_dev; struct si1145_data *data = iio_priv(indio_dev); - /* - * Maximum buffer size: - * 6*2 bytes channels data + 4 bytes alignment + - * 8 bytes timestamp - */ - u8 buffer[24]; int i, j = 0; int ret; u8 irq_status = 0; @@ -478,7 +481,7 @@ ret = i2c_smbus_read_i2c_block_data_or_emulated( data->client, indio_dev->channels[i].address, - sizeof(u16) * run, &buffer[j]); + sizeof(u16) * run, &data->buffer[j]); if (ret < 0) goto done; j += run * sizeof(u16); @@ -493,7 +496,7 @@ goto done; } - iio_push_to_buffers_with_timestamp(indio_dev, buffer, + iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, iio_get_time_ns(indio_dev)); done: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/st_uvis25.h +++ linux-riscv-5.8-5.8.0/drivers/iio/light/st_uvis25.h @@ -27,6 +27,11 @@ struct iio_trigger *trig; bool enabled; int irq; + /* Ensure timestamp is naturally aligned */ + struct { + u8 chan; + s64 ts __aligned(8); + } scan; }; extern const struct dev_pm_ops st_uvis25_pm_ops; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/light/st_uvis25_core.c +++ linux-riscv-5.8-5.8.0/drivers/iio/light/st_uvis25_core.c @@ -234,17 +234,19 @@ static irqreturn_t st_uvis25_buffer_handler_thread(int irq, void *p) { - u8 buffer[ALIGN(sizeof(u8), sizeof(s64)) + sizeof(s64)]; struct iio_poll_func *pf = p; struct iio_dev *iio_dev = pf->indio_dev; struct st_uvis25_hw *hw = iio_priv(iio_dev); + unsigned int val; int err; - err = regmap_read(hw->regmap, ST_UVIS25_REG_OUT_ADDR, (int *)buffer); + err = regmap_read(hw->regmap, ST_UVIS25_REG_OUT_ADDR, &val); if (err < 0) goto out; - iio_push_to_buffers_with_timestamp(iio_dev, buffer, + hw->scan.chan = val; + + iio_push_to_buffers_with_timestamp(iio_dev, &hw->scan, iio_get_time_ns(iio_dev)); out: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/magnetometer/ak8975.c +++ linux-riscv-5.8-5.8.0/drivers/iio/magnetometer/ak8975.c @@ -365,6 +365,12 @@ struct iio_mount_matrix orientation; struct regulator *vdd; struct regulator *vid; + + /* Ensure natural alignment of timestamp */ + struct { + s16 channels[3]; + s64 ts __aligned(8); + } scan; }; /* Enable attached power regulator if any. */ @@ -787,7 +793,6 @@ const struct i2c_client *client = data->client; const struct ak_def *def = data->def; int ret; - s16 buff[8]; /* 3 x 16 bits axis values + 1 aligned 64 bits timestamp */ __le16 fval[3]; mutex_lock(&data->lock); @@ -810,12 +815,13 @@ mutex_unlock(&data->lock); /* Clamp to valid range. */ - buff[0] = clamp_t(s16, le16_to_cpu(fval[0]), -def->range, def->range); - buff[1] = clamp_t(s16, le16_to_cpu(fval[1]), -def->range, def->range); - buff[2] = clamp_t(s16, le16_to_cpu(fval[2]), -def->range, def->range); + data->scan.channels[0] = clamp_t(s16, le16_to_cpu(fval[0]), -def->range, def->range); + data->scan.channels[1] = clamp_t(s16, le16_to_cpu(fval[1]), -def->range, def->range); + data->scan.channels[2] = clamp_t(s16, le16_to_cpu(fval[2]), -def->range, def->range); - iio_push_to_buffers_with_timestamp(indio_dev, buff, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); + return; unlock: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/magnetometer/mag3110.c +++ linux-riscv-5.8-5.8.0/drivers/iio/magnetometer/mag3110.c @@ -56,6 +56,12 @@ int sleep_val; struct regulator *vdd_reg; struct regulator *vddio_reg; + /* Ensure natural alignment of timestamp */ + struct { + __be16 channels[3]; + u8 temperature; + s64 ts __aligned(8); + } scan; }; static int mag3110_request(struct mag3110_data *data) @@ -387,10 +393,9 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct mag3110_data *data = iio_priv(indio_dev); - u8 buffer[16]; /* 3 16-bit channels + 1 byte temp + padding + ts */ int ret; - ret = mag3110_read(data, (__be16 *) buffer); + ret = mag3110_read(data, data->scan.channels); if (ret < 0) goto done; @@ -399,10 +404,10 @@ MAG3110_DIE_TEMP); if (ret < 0) goto done; - buffer[6] = ret; + data->scan.temperature = ret; } - iio_push_to_buffers_with_timestamp(indio_dev, buffer, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); done: --- linux-riscv-5.8-5.8.0.orig/drivers/iio/pressure/mpl3115.c +++ linux-riscv-5.8-5.8.0/drivers/iio/pressure/mpl3115.c @@ -144,7 +144,14 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct mpl3115_data *data = iio_priv(indio_dev); - u8 buffer[16]; /* 32-bit channel + 16-bit channel + padding + ts */ + /* + * 32-bit channel + 16-bit channel + padding + ts + * Note that it is possible for only one of the first 2 + * channels to be enabled. If that happens, the first element + * of the buffer may be either 16 or 32-bits. As such we cannot + * use a simple structure definition to express this data layout. + */ + u8 buffer[16] __aligned(8); int ret, pos = 0; mutex_lock(&data->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/proximity/mb1232.c +++ linux-riscv-5.8-5.8.0/drivers/iio/proximity/mb1232.c @@ -40,6 +40,11 @@ */ struct completion ranging; int irqnr; + /* Ensure correct alignment of data to push to IIO buffer */ + struct { + s16 distance; + s64 ts __aligned(8); + } scan; }; static irqreturn_t mb1232_handle_irq(int irq, void *dev_id) @@ -113,17 +118,13 @@ struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct mb1232_data *data = iio_priv(indio_dev); - /* - * triggered buffer - * 16-bit channel + 48-bit padding + 64-bit timestamp - */ - s16 buffer[8] = { 0 }; - buffer[0] = mb1232_read_distance(data); - if (buffer[0] < 0) + data->scan.distance = mb1232_read_distance(data); + if (data->scan.distance < 0) goto err; - iio_push_to_buffers_with_timestamp(indio_dev, buffer, pf->timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, + pf->timestamp); err: iio_trigger_notify_done(indio_dev->trig); --- linux-riscv-5.8-5.8.0.orig/drivers/iio/temperature/hid-sensor-temperature.c +++ linux-riscv-5.8-5.8.0/drivers/iio/temperature/hid-sensor-temperature.c @@ -15,7 +15,10 @@ struct temperature_state { struct hid_sensor_common common_attributes; struct hid_sensor_hub_attribute_info temperature_attr; - s32 temperature_data; + struct { + s32 temperature_data; + u64 timestamp __aligned(8); + } scan; int scale_pre_decml; int scale_post_decml; int scale_precision; @@ -32,7 +35,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ) | BIT(IIO_CHAN_INFO_HYSTERESIS), }, - IIO_CHAN_SOFT_TIMESTAMP(3), + IIO_CHAN_SOFT_TIMESTAMP(1), }; /* Adjust channel real bits based on report descriptor */ @@ -123,9 +126,8 @@ struct temperature_state *temp_st = iio_priv(indio_dev); if (atomic_read(&temp_st->common_attributes.data_ready)) - iio_push_to_buffers_with_timestamp(indio_dev, - &temp_st->temperature_data, - iio_get_time_ns(indio_dev)); + iio_push_to_buffers_with_timestamp(indio_dev, &temp_st->scan, + iio_get_time_ns(indio_dev)); return 0; } @@ -140,7 +142,7 @@ switch (usage_id) { case HID_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE: - temp_st->temperature_data = *(s32 *)raw_data; + temp_st->scan.temperature_data = *(s32 *)raw_data; return 0; default: return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/iio/temperature/ltc2983.c +++ linux-riscv-5.8-5.8.0/drivers/iio/temperature/ltc2983.c @@ -1285,18 +1285,20 @@ ret = of_property_read_u32(child, "reg", &sensor.chan); if (ret) { dev_err(dev, "reg property must given for child nodes\n"); - return ret; + goto put_child; } /* check if we have a valid channel */ if (sensor.chan < LTC2983_MIN_CHANNELS_NR || sensor.chan > LTC2983_MAX_CHANNELS_NR) { + ret = -EINVAL; dev_err(dev, "chan:%d must be from 1 to 20\n", sensor.chan); - return -EINVAL; + goto put_child; } else if (channel_avail_mask & BIT(sensor.chan)) { + ret = -EINVAL; dev_err(dev, "chan:%d already in use\n", sensor.chan); - return -EINVAL; + goto put_child; } ret = of_property_read_u32(child, "adi,sensor-type", @@ -1304,7 +1306,7 @@ if (ret) { dev_err(dev, "adi,sensor-type property must given for child nodes\n"); - return ret; + goto put_child; } dev_dbg(dev, "Create new sensor, type %u, chann %u", @@ -1334,13 +1336,15 @@ st->sensors[chan] = ltc2983_adc_new(child, st, &sensor); } else { dev_err(dev, "Unknown sensor type %d\n", sensor.type); - return -EINVAL; + ret = -EINVAL; + goto put_child; } if (IS_ERR(st->sensors[chan])) { dev_err(dev, "Failed to create sensor %ld", PTR_ERR(st->sensors[chan])); - return PTR_ERR(st->sensors[chan]); + ret = PTR_ERR(st->sensors[chan]); + goto put_child; } /* set generic sensor parameters */ st->sensors[chan]->chan = sensor.chan; @@ -1351,6 +1355,9 @@ } return 0; +put_child: + of_node_put(child); + return ret; } static int ltc2983_setup(struct ltc2983_data *st, bool assign_iio) --- linux-riscv-5.8-5.8.0.orig/drivers/iio/trigger/iio-trig-hrtimer.c +++ linux-riscv-5.8-5.8.0/drivers/iio/trigger/iio-trig-hrtimer.c @@ -102,7 +102,7 @@ if (state) hrtimer_start(&trig_info->timer, trig_info->period, - HRTIMER_MODE_REL); + HRTIMER_MODE_REL_HARD); else hrtimer_cancel(&trig_info->timer); @@ -132,7 +132,7 @@ trig_info->swt.trigger->ops = &iio_hrtimer_trigger_ops; trig_info->swt.trigger->dev.groups = iio_hrtimer_attr_groups; - hrtimer_init(&trig_info->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + hrtimer_init(&trig_info->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); trig_info->timer.function = iio_hrtimer_trig_handler; trig_info->sampling_frequency = HRTIMER_DEFAULT_SAMPLING_FREQUENCY; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/infiniband/Kconfig @@ -80,6 +80,9 @@ This allows the user to config the default GID type that the CM uses for each device, when initiaing new connections. +config INFINIBAND_VIRT_DMA + def_bool !HIGHMEM + if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS source "drivers/infiniband/hw/mthca/Kconfig" source "drivers/infiniband/hw/qib/Kconfig" --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/addr.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/addr.c @@ -76,7 +76,9 @@ static const struct nla_policy ib_nl_addr_policy[LS_NLA_TYPE_MAX] = { [LS_NLA_TYPE_DGID] = {.type = NLA_BINARY, - .len = sizeof(struct rdma_nla_ls_gid)}, + .len = sizeof(struct rdma_nla_ls_gid), + .validation_type = NLA_VALIDATE_MIN, + .min = sizeof(struct rdma_nla_ls_gid)}, }; static inline bool ib_nl_is_good_ip_resp(const struct nlmsghdr *nlh) @@ -647,13 +649,12 @@ req->callback = NULL; spin_lock_bh(&lock); + /* + * Although the work will normally have been canceled by the workqueue, + * it can still be requeued as long as it is on the req_list. + */ + cancel_delayed_work(&req->work); if (!list_empty(&req->list)) { - /* - * Although the work will normally have been canceled by the - * workqueue, it can still be requeued as long as it is on the - * req_list. - */ - cancel_delayed_work(&req->work); list_del_init(&req->list); kfree(req); } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/cm.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/cm.c @@ -1522,6 +1522,7 @@ id.local_id); if (IS_ERR(cm_id_priv->timewait_info)) { ret = PTR_ERR(cm_id_priv->timewait_info); + cm_id_priv->timewait_info = NULL; goto out; } @@ -2109,6 +2110,7 @@ id.local_id); if (IS_ERR(cm_id_priv->timewait_info)) { ret = PTR_ERR(cm_id_priv->timewait_info); + cm_id_priv->timewait_info = NULL; goto destroy; } cm_id_priv->timewait_info->work.remote_id = cm_id_priv->id.remote_id; @@ -3652,6 +3654,7 @@ struct ib_cm_sidr_rep_param *param) { struct ib_mad_send_buf *msg; + unsigned long flags; int ret; lockdep_assert_held(&cm_id_priv->lock); @@ -3676,12 +3679,12 @@ return ret; } cm_id_priv->id.state = IB_CM_IDLE; - spin_lock_irq(&cm.lock); + spin_lock_irqsave(&cm.lock, flags); if (!RB_EMPTY_NODE(&cm_id_priv->sidr_id_node)) { rb_erase(&cm_id_priv->sidr_id_node, &cm.remote_sidr_table); RB_CLEAR_NODE(&cm_id_priv->sidr_id_node); } - spin_unlock_irq(&cm.lock); + spin_unlock_irqrestore(&cm.lock, flags); return 0; } @@ -4355,7 +4358,7 @@ unsigned long flags; int ret; int count = 0; - u8 i; + unsigned int i; cm_dev = kzalloc(struct_size(cm_dev, port, ib_device->phys_port_cnt), GFP_KERNEL); @@ -4367,7 +4370,7 @@ cm_dev->going_down = 0; set_bit(IB_MGMT_METHOD_SEND, reg_req.method_mask); - for (i = 1; i <= ib_device->phys_port_cnt; i++) { + rdma_for_each_port (ib_device, i) { if (!rdma_cap_ib_cm(ib_device, i)) continue; @@ -4453,7 +4456,7 @@ .clr_port_cap_mask = IB_PORT_CM_SUP }; unsigned long flags; - int i; + unsigned int i; write_lock_irqsave(&cm.device_lock, flags); list_del(&cm_dev->list); @@ -4463,7 +4466,7 @@ cm_dev->going_down = 1; spin_unlock_irq(&cm.lock); - for (i = 1; i <= ib_device->phys_port_cnt; i++) { + rdma_for_each_port (ib_device, i) { if (!rdma_cap_ib_cm(ib_device, i)) continue; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/cma.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/cma.c @@ -68,6 +68,9 @@ [RDMA_CM_EVENT_TIMEWAIT_EXIT] = "timewait exit", }; +static void cma_set_mgid(struct rdma_id_private *id_priv, struct sockaddr *addr, + union ib_gid *mgid); + const char *__attribute_const__ rdma_event_msg(enum rdma_cm_event_type event) { size_t index = event; @@ -346,12 +349,15 @@ struct cma_multicast { struct rdma_id_private *id_priv; union { - struct ib_sa_multicast *ib; - } multicast; + struct ib_sa_multicast *sa_mc; + struct { + struct work_struct work; + struct rdma_cm_event event; + } iboe_join; + }; struct list_head list; void *context; struct sockaddr_storage addr; - struct kref mcref; u8 join_state; }; @@ -363,18 +369,6 @@ struct rdma_cm_event event; }; -struct cma_ndev_work { - struct work_struct work; - struct rdma_id_private *id; - struct rdma_cm_event event; -}; - -struct iboe_mcast_work { - struct work_struct work; - struct rdma_id_private *id; - struct cma_multicast *mc; -}; - union cma_ip_addr { struct in6_addr ip6; struct { @@ -428,19 +422,6 @@ return ret; } -static enum rdma_cm_state cma_exch(struct rdma_id_private *id_priv, - enum rdma_cm_state exch) -{ - unsigned long flags; - enum rdma_cm_state old; - - spin_lock_irqsave(&id_priv->lock, flags); - old = id_priv->state; - id_priv->state = exch; - spin_unlock_irqrestore(&id_priv->lock, flags); - return old; -} - static inline u8 cma_get_ip_ver(const struct cma_hdr *hdr) { return hdr->ip_version >> 4; @@ -496,20 +477,16 @@ rdma_start_port(cma_dev->device)]; } -static inline void release_mc(struct kref *kref) -{ - struct cma_multicast *mc = container_of(kref, struct cma_multicast, mcref); - - kfree(mc->multicast.ib); - kfree(mc); -} - static void cma_release_dev(struct rdma_id_private *id_priv) { mutex_lock(&lock); list_del(&id_priv->list); cma_dev_put(id_priv->cma_dev); id_priv->cma_dev = NULL; + if (id_priv->id.route.addr.dev_addr.sgid_attr) { + rdma_put_gid_attr(id_priv->id.route.addr.dev_addr.sgid_attr); + id_priv->id.route.addr.dev_addr.sgid_attr = NULL; + } mutex_unlock(&lock); } @@ -1796,19 +1773,32 @@ mutex_unlock(&lock); } -static void cma_leave_roce_mc_group(struct rdma_id_private *id_priv, - struct cma_multicast *mc) +static void destroy_mc(struct rdma_id_private *id_priv, + struct cma_multicast *mc) { - struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; - struct net_device *ndev = NULL; + if (rdma_cap_ib_mcast(id_priv->id.device, id_priv->id.port_num)) + ib_sa_free_multicast(mc->sa_mc); - if (dev_addr->bound_dev_if) - ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); - if (ndev) { - cma_igmp_send(ndev, &mc->multicast.ib->rec.mgid, false); - dev_put(ndev); + if (rdma_protocol_roce(id_priv->id.device, id_priv->id.port_num)) { + struct rdma_dev_addr *dev_addr = + &id_priv->id.route.addr.dev_addr; + struct net_device *ndev = NULL; + + if (dev_addr->bound_dev_if) + ndev = dev_get_by_index(dev_addr->net, + dev_addr->bound_dev_if); + if (ndev) { + union ib_gid mgid; + + cma_set_mgid(id_priv, (struct sockaddr *)&mc->addr, + &mgid); + cma_igmp_send(ndev, &mgid, false); + dev_put(ndev); + } + + cancel_work_sync(&mc->iboe_join.work); } - kref_put(&mc->mcref, release_mc); + kfree(mc); } static void cma_leave_mc_groups(struct rdma_id_private *id_priv) @@ -1816,36 +1806,18 @@ struct cma_multicast *mc; while (!list_empty(&id_priv->mc_list)) { - mc = container_of(id_priv->mc_list.next, - struct cma_multicast, list); + mc = list_first_entry(&id_priv->mc_list, struct cma_multicast, + list); list_del(&mc->list); - if (rdma_cap_ib_mcast(id_priv->cma_dev->device, - id_priv->id.port_num)) { - ib_sa_free_multicast(mc->multicast.ib); - kfree(mc); - } else { - cma_leave_roce_mc_group(id_priv, mc); - } + destroy_mc(id_priv, mc); } } -void rdma_destroy_id(struct rdma_cm_id *id) +static void _destroy_id(struct rdma_id_private *id_priv, + enum rdma_cm_state state) { - struct rdma_id_private *id_priv; - enum rdma_cm_state state; - - id_priv = container_of(id, struct rdma_id_private, id); - trace_cm_id_destroy(id_priv); - state = cma_exch(id_priv, RDMA_CM_DESTROYING); cma_cancel_operation(id_priv, state); - /* - * Wait for any active callback to finish. New callbacks will find - * the id_priv state set to destroying and abort. - */ - mutex_lock(&id_priv->handler_mutex); - mutex_unlock(&id_priv->handler_mutex); - rdma_restrack_del(&id_priv->res); if (id_priv->cma_dev) { if (rdma_cap_ib_cm(id_priv->id.device, 1)) { @@ -1868,12 +1840,45 @@ kfree(id_priv->id.route.path_rec); - if (id_priv->id.route.addr.dev_addr.sgid_attr) - rdma_put_gid_attr(id_priv->id.route.addr.dev_addr.sgid_attr); - put_net(id_priv->id.route.addr.dev_addr.net); kfree(id_priv); } + +/* + * destroy an ID from within the handler_mutex. This ensures that no other + * handlers can start running concurrently. + */ +static void destroy_id_handler_unlock(struct rdma_id_private *id_priv) + __releases(&idprv->handler_mutex) +{ + enum rdma_cm_state state; + unsigned long flags; + + trace_cm_id_destroy(id_priv); + + /* + * Setting the state to destroyed under the handler mutex provides a + * fence against calling handler callbacks. If this is invoked due to + * the failure of a handler callback then it guarentees that no future + * handlers will be called. + */ + lockdep_assert_held(&id_priv->handler_mutex); + spin_lock_irqsave(&id_priv->lock, flags); + state = id_priv->state; + id_priv->state = RDMA_CM_DESTROYING; + spin_unlock_irqrestore(&id_priv->lock, flags); + mutex_unlock(&id_priv->handler_mutex); + _destroy_id(id_priv, state); +} + +void rdma_destroy_id(struct rdma_cm_id *id) +{ + struct rdma_id_private *id_priv = + container_of(id, struct rdma_id_private, id); + + mutex_lock(&id_priv->handler_mutex); + destroy_id_handler_unlock(id_priv); +} EXPORT_SYMBOL(rdma_destroy_id); static int cma_rep_recv(struct rdma_id_private *id_priv) @@ -1925,6 +1930,8 @@ { int ret; + lockdep_assert_held(&id_priv->handler_mutex); + trace_cm_event_handler(id_priv, event); ret = id_priv->id.event_handler(&id_priv->id, event); trace_cm_event_done(id_priv, event, ret); @@ -1936,7 +1943,7 @@ { struct rdma_id_private *id_priv = cm_id->context; struct rdma_cm_event event = {}; - int ret = 0; + int ret; mutex_lock(&id_priv->handler_mutex); if ((ib_event->event != IB_CM_TIMEWAIT_EXIT && @@ -2005,14 +2012,12 @@ if (ret) { /* Destroy the CM ID by returning a non-zero value. */ id_priv->cm_id.ib = NULL; - cma_exch(id_priv, RDMA_CM_DESTROYING); - mutex_unlock(&id_priv->handler_mutex); - rdma_destroy_id(&id_priv->id); + destroy_id_handler_unlock(id_priv); return ret; } out: mutex_unlock(&id_priv->handler_mutex); - return ret; + return 0; } static struct rdma_id_private * @@ -2174,7 +2179,7 @@ mutex_lock(&listen_id->handler_mutex); if (listen_id->state != RDMA_CM_LISTEN) { ret = -ECONNABORTED; - goto err1; + goto err_unlock; } offset = cma_user_data_offset(listen_id); @@ -2191,55 +2196,38 @@ } if (!conn_id) { ret = -ENOMEM; - goto err1; + goto err_unlock; } mutex_lock_nested(&conn_id->handler_mutex, SINGLE_DEPTH_NESTING); ret = cma_ib_acquire_dev(conn_id, listen_id, &req); - if (ret) - goto err2; + if (ret) { + destroy_id_handler_unlock(conn_id); + goto err_unlock; + } conn_id->cm_id.ib = cm_id; cm_id->context = conn_id; cm_id->cm_handler = cma_ib_handler; - /* - * Protect against the user destroying conn_id from another thread - * until we're done accessing it. - */ - cma_id_get(conn_id); ret = cma_cm_event_handler(conn_id, &event); - if (ret) - goto err3; - /* - * Acquire mutex to prevent user executing rdma_destroy_id() - * while we're accessing the cm_id. - */ - mutex_lock(&lock); + if (ret) { + /* Destroy the CM ID by returning a non-zero value. */ + conn_id->cm_id.ib = NULL; + mutex_unlock(&listen_id->handler_mutex); + destroy_id_handler_unlock(conn_id); + goto net_dev_put; + } + if (cma_comp(conn_id, RDMA_CM_CONNECT) && (conn_id->id.qp_type != IB_QPT_UD)) { trace_cm_send_mra(cm_id->context); ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0); } - mutex_unlock(&lock); mutex_unlock(&conn_id->handler_mutex); - mutex_unlock(&listen_id->handler_mutex); - cma_id_put(conn_id); - if (net_dev) - dev_put(net_dev); - return 0; -err3: - cma_id_put(conn_id); - /* Destroy the CM ID by returning a non-zero value. */ - conn_id->cm_id.ib = NULL; -err2: - cma_exch(conn_id, RDMA_CM_DESTROYING); - mutex_unlock(&conn_id->handler_mutex); -err1: +err_unlock: mutex_unlock(&listen_id->handler_mutex); - if (conn_id) - rdma_destroy_id(&conn_id->id); net_dev_put: if (net_dev) @@ -2339,9 +2327,7 @@ if (ret) { /* Destroy the CM ID by returning a non-zero value. */ id_priv->cm_id.iw = NULL; - cma_exch(id_priv, RDMA_CM_DESTROYING); - mutex_unlock(&id_priv->handler_mutex); - rdma_destroy_id(&id_priv->id); + destroy_id_handler_unlock(id_priv); return ret; } @@ -2388,16 +2374,16 @@ ret = rdma_translate_ip(laddr, &conn_id->id.route.addr.dev_addr); if (ret) { - mutex_unlock(&conn_id->handler_mutex); - rdma_destroy_id(new_cm_id); - goto out; + mutex_unlock(&listen_id->handler_mutex); + destroy_id_handler_unlock(conn_id); + return ret; } ret = cma_iw_acquire_dev(conn_id, listen_id); if (ret) { - mutex_unlock(&conn_id->handler_mutex); - rdma_destroy_id(new_cm_id); - goto out; + mutex_unlock(&listen_id->handler_mutex); + destroy_id_handler_unlock(conn_id); + return ret; } conn_id->cm_id.iw = cm_id; @@ -2407,25 +2393,16 @@ memcpy(cma_src_addr(conn_id), laddr, rdma_addr_size(laddr)); memcpy(cma_dst_addr(conn_id), raddr, rdma_addr_size(raddr)); - /* - * Protect against the user destroying conn_id from another thread - * until we're done accessing it. - */ - cma_id_get(conn_id); ret = cma_cm_event_handler(conn_id, &event); if (ret) { /* User wants to destroy the CM ID */ conn_id->cm_id.iw = NULL; - cma_exch(conn_id, RDMA_CM_DESTROYING); - mutex_unlock(&conn_id->handler_mutex); mutex_unlock(&listen_id->handler_mutex); - cma_id_put(conn_id); - rdma_destroy_id(&conn_id->id); + destroy_id_handler_unlock(conn_id); return ret; } mutex_unlock(&conn_id->handler_mutex); - cma_id_put(conn_id); out: mutex_unlock(&listen_id->handler_mutex); @@ -2482,14 +2459,19 @@ { struct rdma_id_private *id_priv = id->context; + /* Listening IDs are always destroyed on removal */ + if (event->event == RDMA_CM_EVENT_DEVICE_REMOVAL) + return -1; + id->context = id_priv->id.context; id->event_handler = id_priv->id.event_handler; trace_cm_event_handler(id_priv, event); return id_priv->id.event_handler(id, event); } -static void cma_listen_on_dev(struct rdma_id_private *id_priv, - struct cma_device *cma_dev) +static int cma_listen_on_dev(struct rdma_id_private *id_priv, + struct cma_device *cma_dev, + struct rdma_id_private **to_destroy) { struct rdma_id_private *dev_id_priv; struct rdma_cm_id *id; @@ -2498,13 +2480,14 @@ lockdep_assert_held(&lock); + *to_destroy = NULL; if (cma_family(id_priv) == AF_IB && !rdma_cap_ib_cm(cma_dev->device, 1)) - return; + return 0; id = __rdma_create_id(net, cma_listen_handler, id_priv, id_priv->id.ps, id_priv->id.qp_type, id_priv->res.kern_name); if (IS_ERR(id)) - return; + return PTR_ERR(dev_id_priv); dev_id_priv = container_of(id, struct rdma_id_private, id); @@ -2513,7 +2496,6 @@ rdma_addr_size(cma_src_addr(id_priv))); _cma_attach_to_dev(dev_id_priv, cma_dev); - list_add_tail(&dev_id_priv->listen_list, &id_priv->listen_list); cma_id_get(id_priv); dev_id_priv->internal_id = 1; dev_id_priv->afonly = id_priv->afonly; @@ -2522,19 +2504,42 @@ ret = rdma_listen(id, id_priv->backlog); if (ret) - dev_warn(&cma_dev->device->dev, - "RDMA CMA: cma_listen_on_dev, error %d\n", ret); + goto err_listen; + list_add_tail(&dev_id_priv->listen_list, &id_priv->listen_list); + return 0; +err_listen: + /* Caller must destroy this after releasing lock */ + *to_destroy = dev_id_priv; + dev_warn(&cma_dev->device->dev, "RDMA CMA: %s, error %d\n", __func__, ret); + return ret; } -static void cma_listen_on_all(struct rdma_id_private *id_priv) +static int cma_listen_on_all(struct rdma_id_private *id_priv) { + struct rdma_id_private *to_destroy; struct cma_device *cma_dev; + int ret; mutex_lock(&lock); list_add_tail(&id_priv->list, &listen_any_list); - list_for_each_entry(cma_dev, &dev_list, list) - cma_listen_on_dev(id_priv, cma_dev); + list_for_each_entry(cma_dev, &dev_list, list) { + ret = cma_listen_on_dev(id_priv, cma_dev, &to_destroy); + if (ret) { + /* Prevent racing with cma_process_remove() */ + if (to_destroy) + list_del_init(&to_destroy->list); + goto err_listen; + } + } mutex_unlock(&lock); + return 0; + +err_listen: + list_del(&id_priv->list); + mutex_unlock(&lock); + if (to_destroy) + rdma_destroy_id(&to_destroy->id); + return ret; } void rdma_set_service_type(struct rdma_cm_id *id, int tos) @@ -2653,49 +2658,54 @@ return (id_priv->query_id < 0) ? id_priv->query_id : 0; } -static void cma_work_handler(struct work_struct *_work) +static void cma_iboe_join_work_handler(struct work_struct *work) { - struct cma_work *work = container_of(_work, struct cma_work, work); - struct rdma_id_private *id_priv = work->id; - int destroy = 0; + struct cma_multicast *mc = + container_of(work, struct cma_multicast, iboe_join.work); + struct rdma_cm_event *event = &mc->iboe_join.event; + struct rdma_id_private *id_priv = mc->id_priv; + int ret; mutex_lock(&id_priv->handler_mutex); - if (!cma_comp_exch(id_priv, work->old_state, work->new_state)) - goto out; + if (READ_ONCE(id_priv->state) == RDMA_CM_DESTROYING || + READ_ONCE(id_priv->state) == RDMA_CM_DEVICE_REMOVAL) + goto out_unlock; - if (cma_cm_event_handler(id_priv, &work->event)) { - cma_exch(id_priv, RDMA_CM_DESTROYING); - destroy = 1; - } -out: + ret = cma_cm_event_handler(id_priv, event); + WARN_ON(ret); + +out_unlock: mutex_unlock(&id_priv->handler_mutex); - cma_id_put(id_priv); - if (destroy) - rdma_destroy_id(&id_priv->id); - kfree(work); + if (event->event == RDMA_CM_EVENT_MULTICAST_JOIN) + rdma_destroy_ah_attr(&event->param.ud.ah_attr); } -static void cma_ndev_work_handler(struct work_struct *_work) +static void cma_work_handler(struct work_struct *_work) { - struct cma_ndev_work *work = container_of(_work, struct cma_ndev_work, work); + struct cma_work *work = container_of(_work, struct cma_work, work); struct rdma_id_private *id_priv = work->id; - int destroy = 0; mutex_lock(&id_priv->handler_mutex); - if (id_priv->state == RDMA_CM_DESTROYING || - id_priv->state == RDMA_CM_DEVICE_REMOVAL) - goto out; + if (READ_ONCE(id_priv->state) == RDMA_CM_DESTROYING || + READ_ONCE(id_priv->state) == RDMA_CM_DEVICE_REMOVAL) + goto out_unlock; + if (work->old_state != 0 || work->new_state != 0) { + if (!cma_comp_exch(id_priv, work->old_state, work->new_state)) + goto out_unlock; + } if (cma_cm_event_handler(id_priv, &work->event)) { - cma_exch(id_priv, RDMA_CM_DESTROYING); - destroy = 1; + cma_id_put(id_priv); + destroy_id_handler_unlock(id_priv); + goto out_free; } -out: +out_unlock: mutex_unlock(&id_priv->handler_mutex); cma_id_put(id_priv); - if (destroy) - rdma_destroy_id(&id_priv->id); +out_free: + if (work->event.event == RDMA_CM_EVENT_MULTICAST_JOIN) + rdma_destroy_ah_attr(&work->event.param.ud.ah_attr); kfree(work); } @@ -3171,9 +3181,7 @@ event.event = RDMA_CM_EVENT_ADDR_RESOLVED; if (cma_cm_event_handler(id_priv, &event)) { - cma_exch(id_priv, RDMA_CM_DESTROYING); - mutex_unlock(&id_priv->handler_mutex); - rdma_destroy_id(&id_priv->id); + destroy_id_handler_unlock(id_priv); return; } out: @@ -3684,8 +3692,11 @@ ret = -ENOSYS; goto err; } - } else - cma_listen_on_all(id_priv); + } else { + ret = cma_listen_on_all(id_priv); + if (ret) + goto err; + } return 0; err: @@ -3790,7 +3801,7 @@ struct rdma_cm_event event = {}; const struct ib_cm_sidr_rep_event_param *rep = &ib_event->param.sidr_rep_rcvd; - int ret = 0; + int ret; mutex_lock(&id_priv->handler_mutex); if (id_priv->state != RDMA_CM_CONNECT) @@ -3840,14 +3851,12 @@ if (ret) { /* Destroy the CM ID by returning a non-zero value. */ id_priv->cm_id.ib = NULL; - cma_exch(id_priv, RDMA_CM_DESTROYING); - mutex_unlock(&id_priv->handler_mutex); - rdma_destroy_id(&id_priv->id); + destroy_id_handler_unlock(id_priv); return ret; } out: mutex_unlock(&id_priv->handler_mutex); - return ret; + return 0; } static int cma_resolve_ib_udp(struct rdma_id_private *id_priv, @@ -4313,70 +4322,68 @@ } EXPORT_SYMBOL(rdma_disconnect); -static int cma_ib_mc_handler(int status, struct ib_sa_multicast *multicast) +static void cma_make_mc_event(int status, struct rdma_id_private *id_priv, + struct ib_sa_multicast *multicast, + struct rdma_cm_event *event, + struct cma_multicast *mc) { - struct rdma_id_private *id_priv; - struct cma_multicast *mc = multicast->context; - struct rdma_cm_event event = {}; - int ret = 0; - - id_priv = mc->id_priv; - mutex_lock(&id_priv->handler_mutex); - if (id_priv->state != RDMA_CM_ADDR_BOUND && - id_priv->state != RDMA_CM_ADDR_RESOLVED) - goto out; + struct rdma_dev_addr *dev_addr; + enum ib_gid_type gid_type; + struct net_device *ndev; if (!status) status = cma_set_qkey(id_priv, be32_to_cpu(multicast->rec.qkey)); else pr_debug_ratelimited("RDMA CM: MULTICAST_ERROR: failed to join multicast. status %d\n", status); - mutex_lock(&id_priv->qp_mutex); - if (!status && id_priv->id.qp) { - status = ib_attach_mcast(id_priv->id.qp, &multicast->rec.mgid, - be16_to_cpu(multicast->rec.mlid)); - if (status) - pr_debug_ratelimited("RDMA CM: MULTICAST_ERROR: failed to attach QP. status %d\n", - status); + + event->status = status; + event->param.ud.private_data = mc->context; + if (status) { + event->event = RDMA_CM_EVENT_MULTICAST_ERROR; + return; } - mutex_unlock(&id_priv->qp_mutex); - event.status = status; - event.param.ud.private_data = mc->context; - if (!status) { - struct rdma_dev_addr *dev_addr = - &id_priv->id.route.addr.dev_addr; - struct net_device *ndev = - dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); - enum ib_gid_type gid_type = - id_priv->cma_dev->default_gid_type[id_priv->id.port_num - - rdma_start_port(id_priv->cma_dev->device)]; - - event.event = RDMA_CM_EVENT_MULTICAST_JOIN; - ret = ib_init_ah_from_mcmember(id_priv->id.device, - id_priv->id.port_num, - &multicast->rec, - ndev, gid_type, - &event.param.ud.ah_attr); - if (ret) - event.event = RDMA_CM_EVENT_MULTICAST_ERROR; + dev_addr = &id_priv->id.route.addr.dev_addr; + ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); + gid_type = + id_priv->cma_dev + ->default_gid_type[id_priv->id.port_num - + rdma_start_port( + id_priv->cma_dev->device)]; + + event->event = RDMA_CM_EVENT_MULTICAST_JOIN; + if (ib_init_ah_from_mcmember(id_priv->id.device, id_priv->id.port_num, + &multicast->rec, ndev, gid_type, + &event->param.ud.ah_attr)) { + event->event = RDMA_CM_EVENT_MULTICAST_ERROR; + goto out; + } - event.param.ud.qp_num = 0xFFFFFF; - event.param.ud.qkey = be32_to_cpu(multicast->rec.qkey); - if (ndev) - dev_put(ndev); - } else - event.event = RDMA_CM_EVENT_MULTICAST_ERROR; + event->param.ud.qp_num = 0xFFFFFF; + event->param.ud.qkey = be32_to_cpu(multicast->rec.qkey); - ret = cma_cm_event_handler(id_priv, &event); +out: + if (ndev) + dev_put(ndev); +} + +static int cma_ib_mc_handler(int status, struct ib_sa_multicast *multicast) +{ + struct cma_multicast *mc = multicast->context; + struct rdma_id_private *id_priv = mc->id_priv; + struct rdma_cm_event event = {}; + int ret = 0; + + mutex_lock(&id_priv->handler_mutex); + if (id_priv->state != RDMA_CM_ADDR_BOUND && + id_priv->state != RDMA_CM_ADDR_RESOLVED) + goto out; + cma_make_mc_event(status, id_priv, multicast, &event, mc); + ret = cma_cm_event_handler(id_priv, &event); rdma_destroy_ah_attr(&event.param.ud.ah_attr); - if (ret) { - cma_exch(id_priv, RDMA_CM_DESTROYING); - mutex_unlock(&id_priv->handler_mutex); - rdma_destroy_id(&id_priv->id); - return 0; - } + WARN_ON(ret); out: mutex_unlock(&id_priv->handler_mutex); @@ -4461,23 +4468,10 @@ IB_SA_MCMEMBER_REC_MTU | IB_SA_MCMEMBER_REC_HOP_LIMIT; - mc->multicast.ib = ib_sa_join_multicast(&sa_client, id_priv->id.device, - id_priv->id.port_num, &rec, - comp_mask, GFP_KERNEL, - cma_ib_mc_handler, mc); - return PTR_ERR_OR_ZERO(mc->multicast.ib); -} - -static void iboe_mcast_work_handler(struct work_struct *work) -{ - struct iboe_mcast_work *mw = container_of(work, struct iboe_mcast_work, work); - struct cma_multicast *mc = mw->mc; - struct ib_sa_multicast *m = mc->multicast.ib; - - mc->multicast.ib->context = mc; - cma_ib_mc_handler(0, m); - kref_put(&mc->mcref, release_mc); - kfree(mw); + mc->sa_mc = ib_sa_join_multicast(&sa_client, id_priv->id.device, + id_priv->id.port_num, &rec, comp_mask, + GFP_KERNEL, cma_ib_mc_handler, mc); + return PTR_ERR_OR_ZERO(mc->sa_mc); } static void cma_iboe_set_mgid(struct sockaddr *addr, union ib_gid *mgid, @@ -4512,52 +4506,41 @@ static int cma_iboe_join_multicast(struct rdma_id_private *id_priv, struct cma_multicast *mc) { - struct iboe_mcast_work *work; struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; int err = 0; struct sockaddr *addr = (struct sockaddr *)&mc->addr; struct net_device *ndev = NULL; + struct ib_sa_multicast ib; enum ib_gid_type gid_type; bool send_only; send_only = mc->join_state == BIT(SENDONLY_FULLMEMBER_JOIN); - if (cma_zero_addr((struct sockaddr *)&mc->addr)) + if (cma_zero_addr(addr)) return -EINVAL; - work = kzalloc(sizeof *work, GFP_KERNEL); - if (!work) - return -ENOMEM; - - mc->multicast.ib = kzalloc(sizeof(struct ib_sa_multicast), GFP_KERNEL); - if (!mc->multicast.ib) { - err = -ENOMEM; - goto out1; - } - gid_type = id_priv->cma_dev->default_gid_type[id_priv->id.port_num - rdma_start_port(id_priv->cma_dev->device)]; - cma_iboe_set_mgid(addr, &mc->multicast.ib->rec.mgid, gid_type); + cma_iboe_set_mgid(addr, &ib.rec.mgid, gid_type); - mc->multicast.ib->rec.pkey = cpu_to_be16(0xffff); + ib.rec.pkey = cpu_to_be16(0xffff); if (id_priv->id.ps == RDMA_PS_UDP) - mc->multicast.ib->rec.qkey = cpu_to_be32(RDMA_UDP_QKEY); + ib.rec.qkey = cpu_to_be32(RDMA_UDP_QKEY); if (dev_addr->bound_dev_if) ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); - if (!ndev) { - err = -ENODEV; - goto out2; - } - mc->multicast.ib->rec.rate = iboe_get_rate(ndev); - mc->multicast.ib->rec.hop_limit = 1; - mc->multicast.ib->rec.mtu = iboe_get_mtu(ndev->mtu); + if (!ndev) + return -ENODEV; + + ib.rec.rate = iboe_get_rate(ndev); + ib.rec.hop_limit = 1; + ib.rec.mtu = iboe_get_mtu(ndev->mtu); if (addr->sa_family == AF_INET) { if (gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) { - mc->multicast.ib->rec.hop_limit = IPV6_DEFAULT_HOPLIMIT; + ib.rec.hop_limit = IPV6_DEFAULT_HOPLIMIT; if (!send_only) { - err = cma_igmp_send(ndev, &mc->multicast.ib->rec.mgid, + err = cma_igmp_send(ndev, &ib.rec.mgid, true); } } @@ -4566,26 +4549,15 @@ err = -ENOTSUPP; } dev_put(ndev); - if (err || !mc->multicast.ib->rec.mtu) { - if (!err) - err = -EINVAL; - goto out2; - } - rdma_ip2gid((struct sockaddr *)&id_priv->id.route.addr.src_addr, - &mc->multicast.ib->rec.port_gid); - work->id = id_priv; - work->mc = mc; - INIT_WORK(&work->work, iboe_mcast_work_handler); - kref_get(&mc->mcref); - queue_work(cma_wq, &work->work); + if (err || !ib.rec.mtu) + return err ?: -EINVAL; + rdma_ip2gid((struct sockaddr *)&id_priv->id.route.addr.src_addr, + &ib.rec.port_gid); + INIT_WORK(&mc->iboe_join.work, cma_iboe_join_work_handler); + cma_make_mc_event(0, id_priv, &ib, &mc->iboe_join.event, mc); + queue_work(cma_wq, &mc->iboe_join.work); return 0; - -out2: - kfree(mc->multicast.ib); -out1: - kfree(work); - return err; } int rdma_join_multicast(struct rdma_cm_id *id, struct sockaddr *addr, @@ -4595,6 +4567,10 @@ struct cma_multicast *mc; int ret; + /* Not supported for kernel QPs */ + if (WARN_ON(id->qp)) + return -EINVAL; + if (!id->device) return -EINVAL; @@ -4603,7 +4579,7 @@ !cma_comp(id_priv, RDMA_CM_ADDR_RESOLVED)) return -EINVAL; - mc = kmalloc(sizeof *mc, GFP_KERNEL); + mc = kzalloc(sizeof(*mc), GFP_KERNEL); if (!mc) return -ENOMEM; @@ -4613,7 +4589,6 @@ mc->join_state = join_state; if (rdma_protocol_roce(id->device, id->port_num)) { - kref_init(&mc->mcref); ret = cma_iboe_join_multicast(id_priv, mc); if (ret) goto out_err; @@ -4645,25 +4620,14 @@ id_priv = container_of(id, struct rdma_id_private, id); spin_lock_irq(&id_priv->lock); list_for_each_entry(mc, &id_priv->mc_list, list) { - if (!memcmp(&mc->addr, addr, rdma_addr_size(addr))) { - list_del(&mc->list); - spin_unlock_irq(&id_priv->lock); - - if (id->qp) - ib_detach_mcast(id->qp, - &mc->multicast.ib->rec.mgid, - be16_to_cpu(mc->multicast.ib->rec.mlid)); - - BUG_ON(id_priv->cma_dev->device != id->device); - - if (rdma_cap_ib_mcast(id->device, id->port_num)) { - ib_sa_free_multicast(mc->multicast.ib); - kfree(mc); - } else if (rdma_protocol_roce(id->device, id->port_num)) { - cma_leave_roce_mc_group(id_priv, mc); - } - return; - } + if (memcmp(&mc->addr, addr, rdma_addr_size(addr)) != 0) + continue; + list_del(&mc->list); + spin_unlock_irq(&id_priv->lock); + + WARN_ON(id_priv->cma_dev->device != id->device); + destroy_mc(id_priv, mc); + return; } spin_unlock_irq(&id_priv->lock); } @@ -4672,7 +4636,7 @@ static int cma_netdev_change(struct net_device *ndev, struct rdma_id_private *id_priv) { struct rdma_dev_addr *dev_addr; - struct cma_ndev_work *work; + struct cma_work *work; dev_addr = &id_priv->id.route.addr.dev_addr; @@ -4685,7 +4649,7 @@ if (!work) return -ENOMEM; - INIT_WORK(&work->work, cma_ndev_work_handler); + INIT_WORK(&work->work, cma_work_handler); work->id = id_priv; work->event.event = RDMA_CM_EVENT_ADDR_CHANGE; cma_id_get(id_priv); @@ -4726,15 +4690,78 @@ .notifier_call = cma_netdev_callback }; +static void cma_send_device_removal_put(struct rdma_id_private *id_priv) +{ + struct rdma_cm_event event = { .event = RDMA_CM_EVENT_DEVICE_REMOVAL }; + enum rdma_cm_state state; + unsigned long flags; + + mutex_lock(&id_priv->handler_mutex); + /* Record that we want to remove the device */ + spin_lock_irqsave(&id_priv->lock, flags); + state = id_priv->state; + if (state == RDMA_CM_DESTROYING || state == RDMA_CM_DEVICE_REMOVAL) { + spin_unlock_irqrestore(&id_priv->lock, flags); + mutex_unlock(&id_priv->handler_mutex); + cma_id_put(id_priv); + return; + } + id_priv->state = RDMA_CM_DEVICE_REMOVAL; + spin_unlock_irqrestore(&id_priv->lock, flags); + + if (cma_cm_event_handler(id_priv, &event)) { + /* + * At this point the ULP promises it won't call + * rdma_destroy_id() concurrently + */ + cma_id_put(id_priv); + mutex_unlock(&id_priv->handler_mutex); + trace_cm_id_destroy(id_priv); + _destroy_id(id_priv, state); + return; + } + mutex_unlock(&id_priv->handler_mutex); + + /* + * If this races with destroy then the thread that first assigns state + * to a destroying does the cancel. + */ + cma_cancel_operation(id_priv, state); + cma_id_put(id_priv); +} + +static void cma_process_remove(struct cma_device *cma_dev) +{ + mutex_lock(&lock); + while (!list_empty(&cma_dev->id_list)) { + struct rdma_id_private *id_priv = list_first_entry( + &cma_dev->id_list, struct rdma_id_private, list); + + list_del(&id_priv->listen_list); + list_del_init(&id_priv->list); + cma_id_get(id_priv); + mutex_unlock(&lock); + + cma_send_device_removal_put(id_priv); + + mutex_lock(&lock); + } + mutex_unlock(&lock); + + cma_dev_put(cma_dev); + wait_for_completion(&cma_dev->comp); +} + static int cma_add_one(struct ib_device *device) { + struct rdma_id_private *to_destroy; struct cma_device *cma_dev; struct rdma_id_private *id_priv; unsigned int i; unsigned long supported_gids = 0; int ret; - cma_dev = kmalloc(sizeof *cma_dev, GFP_KERNEL); + cma_dev = kmalloc(sizeof(*cma_dev), GFP_KERNEL); if (!cma_dev) return -ENOMEM; @@ -4774,13 +4801,23 @@ mutex_lock(&lock); list_add_tail(&cma_dev->list, &dev_list); - list_for_each_entry(id_priv, &listen_any_list, list) - cma_listen_on_dev(id_priv, cma_dev); + list_for_each_entry(id_priv, &listen_any_list, list) { + ret = cma_listen_on_dev(id_priv, cma_dev, &to_destroy); + if (ret) + goto free_listen; + } mutex_unlock(&lock); trace_cm_add_one(device); return 0; +free_listen: + list_del(&cma_dev->list); + mutex_unlock(&lock); + + /* cma_process_remove() will delete to_destroy */ + cma_process_remove(cma_dev); + kfree(cma_dev->default_roce_tos); free_gid_type: kfree(cma_dev->default_gid_type); @@ -4789,59 +4826,6 @@ return ret; } -static int cma_remove_id_dev(struct rdma_id_private *id_priv) -{ - struct rdma_cm_event event = {}; - enum rdma_cm_state state; - int ret = 0; - - /* Record that we want to remove the device */ - state = cma_exch(id_priv, RDMA_CM_DEVICE_REMOVAL); - if (state == RDMA_CM_DESTROYING) - return 0; - - cma_cancel_operation(id_priv, state); - mutex_lock(&id_priv->handler_mutex); - - /* Check for destruction from another callback. */ - if (!cma_comp(id_priv, RDMA_CM_DEVICE_REMOVAL)) - goto out; - - event.event = RDMA_CM_EVENT_DEVICE_REMOVAL; - ret = cma_cm_event_handler(id_priv, &event); -out: - mutex_unlock(&id_priv->handler_mutex); - return ret; -} - -static void cma_process_remove(struct cma_device *cma_dev) -{ - struct rdma_id_private *id_priv; - int ret; - - mutex_lock(&lock); - while (!list_empty(&cma_dev->id_list)) { - id_priv = list_entry(cma_dev->id_list.next, - struct rdma_id_private, list); - - list_del(&id_priv->listen_list); - list_del_init(&id_priv->list); - cma_id_get(id_priv); - mutex_unlock(&lock); - - ret = id_priv->internal_id ? 1 : cma_remove_id_dev(id_priv); - cma_id_put(id_priv); - if (ret) - rdma_destroy_id(&id_priv->id); - - mutex_lock(&lock); - } - mutex_unlock(&lock); - - cma_dev_put(cma_dev); - wait_for_completion(&cma_dev->comp); -} - static void cma_remove_one(struct ib_device *device, void *client_data) { struct cma_device *cma_dev = client_data; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/counters.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/counters.c @@ -288,7 +288,7 @@ struct rdma_counter *counter; int ret; - if (!qp->res.valid) + if (!qp->res.valid || rdma_is_kernel_res(&qp->res)) return 0; if (!rdma_is_port_valid(dev, port)) @@ -483,7 +483,7 @@ goto err; } - if (counter->res.task != qp->res.task) { + if (rdma_is_kernel_res(&counter->res) != rdma_is_kernel_res(&qp->res)) { ret = -EINVAL; goto err_task; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/cq.c @@ -197,24 +197,22 @@ } /** - * __ib_alloc_cq_user - allocate a completion queue + * __ib_alloc_cq allocate a completion queue * @dev: device to allocate the CQ for * @private: driver private data, accessible from cq->cq_context * @nr_cqe: number of CQEs to allocate * @comp_vector: HCA completion vectors for this CQ * @poll_ctx: context to poll the CQ from. * @caller: module owner name. - * @udata: Valid user data or NULL for kernel object * * This is the proper interface to allocate a CQ for in-kernel users. A * CQ allocated with this interface will automatically be polled from the * specified context. The ULP must use wr->wr_cqe instead of wr->wr_id * to use this CQ abstraction. */ -struct ib_cq *__ib_alloc_cq_user(struct ib_device *dev, void *private, - int nr_cqe, int comp_vector, - enum ib_poll_context poll_ctx, - const char *caller, struct ib_udata *udata) +struct ib_cq *__ib_alloc_cq(struct ib_device *dev, void *private, int nr_cqe, + int comp_vector, enum ib_poll_context poll_ctx, + const char *caller) { struct ib_cq_init_attr cq_attr = { .cqe = nr_cqe, @@ -277,7 +275,7 @@ out_destroy_cq: rdma_dim_destroy(cq); rdma_restrack_del(&cq->res); - cq->device->ops.destroy_cq(cq, udata); + cq->device->ops.destroy_cq(cq, NULL); out_free_wc: kfree(cq->wc); out_free_cq: @@ -285,7 +283,7 @@ trace_cq_alloc_error(nr_cqe, comp_vector, poll_ctx, ret); return ERR_PTR(ret); } -EXPORT_SYMBOL(__ib_alloc_cq_user); +EXPORT_SYMBOL(__ib_alloc_cq); /** * __ib_alloc_cq_any - allocate a completion queue @@ -310,18 +308,19 @@ atomic_inc_return(&counter) % min_t(int, dev->num_comp_vectors, num_online_cpus()); - return __ib_alloc_cq_user(dev, private, nr_cqe, comp_vector, poll_ctx, - caller, NULL); + return __ib_alloc_cq(dev, private, nr_cqe, comp_vector, poll_ctx, + caller); } EXPORT_SYMBOL(__ib_alloc_cq_any); /** - * ib_free_cq_user - free a completion queue + * ib_free_cq - free a completion queue * @cq: completion queue to free. - * @udata: User data or NULL for kernel object */ -void ib_free_cq_user(struct ib_cq *cq, struct ib_udata *udata) +void ib_free_cq(struct ib_cq *cq) { + int ret; + if (WARN_ON_ONCE(atomic_read(&cq->usecnt))) return; if (WARN_ON_ONCE(cq->cqe_used)) @@ -343,12 +342,13 @@ rdma_dim_destroy(cq); trace_cq_free(cq); + ret = cq->device->ops.destroy_cq(cq, NULL); + WARN_ONCE(ret, "Destroy of kernel CQ shouldn't fail"); rdma_restrack_del(&cq->res); - cq->device->ops.destroy_cq(cq, udata); kfree(cq->wc); kfree(cq); } -EXPORT_SYMBOL(ib_free_cq_user); +EXPORT_SYMBOL(ib_free_cq); void ib_cq_pool_init(struct ib_device *dev) { @@ -379,7 +379,7 @@ { LIST_HEAD(tmp_list); unsigned int nr_cqs, i; - struct ib_cq *cq; + struct ib_cq *cq, *n; int ret; if (poll_ctx > IB_POLL_LAST_POOL_TYPE) { @@ -412,7 +412,7 @@ return 0; out_free_cqs: - list_for_each_entry(cq, &tmp_list, pool_entry) { + list_for_each_entry_safe(cq, n, &tmp_list, pool_entry) { cq->shared = false; ib_free_cq(cq); } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/device.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/device.c @@ -1282,6 +1282,8 @@ remove_client_context(device, cid); } + ib_cq_pool_destroy(device); + /* Pairs with refcount_set in enable_device */ ib_device_put(device); wait_for_completion(&device->unreg_completion); @@ -1325,6 +1327,8 @@ goto out; } + ib_cq_pool_init(device); + down_read(&clients_rwsem); xa_for_each_marked (&clients, index, client, CLIENT_REGISTERED) { ret = add_client_context(device, client); @@ -1339,6 +1343,10 @@ return ret; } +static void prevent_dealloc_device(struct ib_device *ib_dev) +{ +} + /** * ib_register_device - Register an IB device with IB core * @device: Device to register @@ -1393,11 +1401,7 @@ goto dev_cleanup; } - ib_cq_pool_init(device); ret = enable_device_and_get(device); - dev_set_uevent_suppress(&device->dev, false); - /* Mark for userspace that device is ready */ - kobject_uevent(&device->dev.kobj, KOBJ_ADD); if (ret) { void (*dealloc_fn)(struct ib_device *); @@ -1409,16 +1413,20 @@ * possibility for a parallel unregistration along with this * error flow. Since we have a refcount here we know any * parallel flow is stopped in disable_device and will see the - * NULL pointers, causing the responsibility to + * special dealloc_driver pointer, causing the responsibility to * ib_dealloc_device() to revert back to this thread. */ dealloc_fn = device->ops.dealloc_driver; - device->ops.dealloc_driver = NULL; + device->ops.dealloc_driver = prevent_dealloc_device; ib_device_put(device); __ib_unregister_device(device); device->ops.dealloc_driver = dealloc_fn; + dev_set_uevent_suppress(&device->dev, false); return ret; } + dev_set_uevent_suppress(&device->dev, false); + /* Mark for userspace that device is ready */ + kobject_uevent(&device->dev.kobj, KOBJ_ADD); ib_device_put(device); return 0; @@ -1448,7 +1456,6 @@ goto out; disable_device(ib_dev); - ib_cq_pool_destroy(ib_dev); /* Expedite removing unregistered pointers from the hash table */ free_netdevs(ib_dev); @@ -1462,7 +1469,8 @@ * Drivers using the new flow may not call ib_dealloc_device except * in error unwind prior to registration success. */ - if (ib_dev->ops.dealloc_driver) { + if (ib_dev->ops.dealloc_driver && + ib_dev->ops.dealloc_driver != prevent_dealloc_device) { WARN_ON(kref_read(&ib_dev->dev.kobj.kref) <= 1); ib_dealloc_device(ib_dev); } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/nldev.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/nldev.c @@ -738,9 +738,6 @@ xa_lock(&rt->xa); xa_for_each(&rt->xa, id, res) { qp = container_of(res, struct ib_qp, res); - if (qp->qp_type == IB_QPT_RAW_PACKET && !capable(CAP_NET_RAW)) - continue; - if (!qp->counter || (qp->counter->id != counter->id)) continue; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/rdma_core.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/rdma_core.c @@ -130,17 +130,6 @@ lockdep_assert_held(&ufile->hw_destroy_rwsem); assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE); - if (reason == RDMA_REMOVE_ABORT_HWOBJ) { - reason = RDMA_REMOVE_ABORT; - ret = uobj->uapi_object->type_class->destroy_hw(uobj, reason, - attrs); - /* - * Drivers are not permitted to ignore RDMA_REMOVE_ABORT, see - * ib_is_destroy_retryable, cleanup_retryable == false here. - */ - WARN_ON(ret); - } - if (reason == RDMA_REMOVE_ABORT) { WARN_ON(!list_empty(&uobj->list)); WARN_ON(!uobj->context); @@ -674,11 +663,22 @@ bool hw_obj_valid) { struct ib_uverbs_file *ufile = uobj->ufile; + int ret; + + if (hw_obj_valid) { + ret = uobj->uapi_object->type_class->destroy_hw( + uobj, RDMA_REMOVE_ABORT, attrs); + /* + * If the driver couldn't destroy the object then go ahead and + * commit it. Leaking objects that can't be destroyed is only + * done during FD close after the driver has a few more tries to + * destroy it. + */ + if (WARN_ON(ret)) + return rdma_alloc_commit_uobject(uobj, attrs); + } - uverbs_destroy_uobject(uobj, - hw_obj_valid ? RDMA_REMOVE_ABORT_HWOBJ : - RDMA_REMOVE_ABORT, - attrs); + uverbs_destroy_uobject(uobj, RDMA_REMOVE_ABORT, attrs); /* Matches the down_read in rdma_alloc_begin_uobject */ up_read(&ufile->hw_destroy_rwsem); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/restrack.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/restrack.c @@ -231,6 +231,7 @@ } else { ret = xa_alloc_cyclic(&rt->xa, &res->id, res, xa_limit_32b, &rt->next_id, GFP_KERNEL); + ret = (ret < 0) ? ret : 0; } if (!ret) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/ucma.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/ucma.c @@ -586,6 +586,7 @@ list_move_tail(&uevent->list, &list); } list_del(&ctx->list); + events_reported = ctx->events_reported; mutex_unlock(&ctx->file->mut); list_for_each_entry_safe(uevent, tmp, &list, list) { @@ -595,7 +596,6 @@ kfree(uevent); } - events_reported = ctx->events_reported; mutex_destroy(&ctx->mutex); kfree(ctx); return events_reported; @@ -1512,7 +1512,9 @@ return 0; err3: + mutex_lock(&ctx->mutex); rdma_leave_multicast(ctx->cm_id, (struct sockaddr *) &mc->addr); + mutex_unlock(&ctx->mutex); ucma_cleanup_mc_events(mc); err2: xa_erase(&multicast_table, mc->id); @@ -1678,7 +1680,9 @@ cur_file = ctx->file; if (cur_file == new_file) { + mutex_lock(&cur_file->mut); resp.events_reported = ctx->events_reported; + mutex_unlock(&cur_file->mut); goto response; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/umem.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/umem.c @@ -151,13 +151,24 @@ dma_addr_t mask; int i; + /* rdma_for_each_block() has a bug if the page size is smaller than the + * page size used to build the umem. For now prevent smaller page sizes + * from being returned. + */ + pgsz_bitmap &= GENMASK(BITS_PER_LONG - 1, PAGE_SHIFT); + /* At minimum, drivers must support PAGE_SIZE or smaller */ if (WARN_ON(!(pgsz_bitmap & GENMASK(PAGE_SHIFT, 0)))) return 0; va = virt; - /* max page size not to exceed MR length */ - mask = roundup_pow_of_two(umem->length); + /* The best result is the smallest page size that results in the minimum + * number of required pages. Compute the largest page size that could + * work based on VA address bits that don't change. + */ + mask = pgsz_bitmap & + GENMASK(BITS_PER_LONG - 1, + bits_per((umem->length - 1 + virt) ^ virt)); /* offset into first SGL */ pgoff = umem->address & ~PAGE_MASK; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/user_mad.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/user_mad.c @@ -379,6 +379,11 @@ mutex_lock(&file->mutex); + if (file->agents_dead) { + mutex_unlock(&file->mutex); + return -EIO; + } + while (list_empty(&file->recv_list)) { mutex_unlock(&file->mutex); @@ -392,6 +397,11 @@ mutex_lock(&file->mutex); } + if (file->agents_dead) { + mutex_unlock(&file->mutex); + return -EIO; + } + packet = list_entry(file->recv_list.next, struct ib_umad_packet, list); list_del(&packet->list); @@ -524,7 +534,7 @@ agent = __get_agent(file, packet->mad.hdr.id); if (!agent) { - ret = -EINVAL; + ret = -EIO; goto err_up; } @@ -653,10 +663,14 @@ /* we will always be able to post a MAD send */ __poll_t mask = EPOLLOUT | EPOLLWRNORM; + mutex_lock(&file->mutex); poll_wait(filp, &file->recv_wait, wait); if (!list_empty(&file->recv_list)) mask |= EPOLLIN | EPOLLRDNORM; + if (file->agents_dead) + mask = EPOLLERR; + mutex_unlock(&file->mutex); return mask; } @@ -1336,6 +1350,7 @@ list_for_each_entry(file, &port->file_list, port_list) { mutex_lock(&file->mutex); file->agents_dead = 1; + wake_up_interruptible(&file->recv_wait); mutex_unlock(&file->mutex); for (id = 0; id < IB_UMAD_MAX_AGENTS; ++id) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/uverbs_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/uverbs_cmd.c @@ -770,6 +770,7 @@ mr->uobject = uobj; atomic_inc(&pd->usecnt); mr->res.type = RDMA_RESTRACK_MR; + mr->iova = cmd.hca_va; rdma_restrack_uadd(&mr->res); uobj->object = mr; @@ -861,6 +862,9 @@ atomic_dec(&old_pd->usecnt); } + if (cmd.flags & IB_MR_REREG_TRANS) + mr->iova = cmd.hca_va; + memset(&resp, 0, sizeof(resp)); resp.lkey = mr->lkey; resp.rkey = mr->rkey; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/core/verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/core/verbs.c @@ -1687,8 +1687,10 @@ slave = rdma_lag_get_ah_roce_slave(qp->device, &attr->ah_attr, GFP_KERNEL); - if (IS_ERR(slave)) + if (IS_ERR(slave)) { + ret = PTR_ERR(slave); goto out_av; + } attr->xmit_slave = slave; } } @@ -1712,7 +1714,7 @@ if (!(rdma_protocol_ib(qp->device, attr->alt_ah_attr.port_num) && rdma_protocol_ib(qp->device, port))) { - ret = EINVAL; + ret = -EINVAL; goto out; } } @@ -1803,7 +1805,7 @@ dev_put(netdev); - if (!rc) { + if (!rc && lksettings.base.speed != (u32)SPEED_UNKNOWN) { netdev_speed = lksettings.base.speed; } else { netdev_speed = SPEED_1000; @@ -2016,16 +2018,21 @@ int ib_destroy_cq_user(struct ib_cq *cq, struct ib_udata *udata) { + int ret; + if (WARN_ON_ONCE(cq->shared)) return -EOPNOTSUPP; if (atomic_read(&cq->usecnt)) return -EBUSY; + ret = cq->device->ops.destroy_cq(cq, udata); + if (ret) + return ret; + rdma_restrack_del(&cq->res); - cq->device->ops.destroy_cq(cq, udata); kfree(cq); - return 0; + return ret; } EXPORT_SYMBOL(ib_destroy_cq_user); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/ib_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/ib_verbs.c @@ -752,12 +752,6 @@ gsi_sqp = rdev->gsi_ctx.gsi_sqp; gsi_sah = rdev->gsi_ctx.gsi_sah; - /* remove from active qp list */ - mutex_lock(&rdev->qp_lock); - list_del(&gsi_sqp->list); - mutex_unlock(&rdev->qp_lock); - atomic_dec(&rdev->qp_count); - ibdev_dbg(&rdev->ibdev, "Destroy the shadow AH\n"); bnxt_qplib_destroy_ah(&rdev->qplib_res, &gsi_sah->qplib_ah, @@ -772,6 +766,12 @@ } bnxt_qplib_free_qp_res(&rdev->qplib_res, &gsi_sqp->qplib_qp); + /* remove from active qp list */ + mutex_lock(&rdev->qp_lock); + list_del(&gsi_sqp->list); + mutex_unlock(&rdev->qp_lock); + atomic_dec(&rdev->qp_count); + kfree(rdev->gsi_ctx.sqp_tbl); kfree(gsi_sah); kfree(gsi_sqp); @@ -792,11 +792,6 @@ unsigned int flags; int rc; - mutex_lock(&rdev->qp_lock); - list_del(&qp->list); - mutex_unlock(&rdev->qp_lock); - atomic_dec(&rdev->qp_count); - bnxt_qplib_flush_cqn_wq(&qp->qplib_qp); rc = bnxt_qplib_destroy_qp(&rdev->qplib_res, &qp->qplib_qp); @@ -819,6 +814,11 @@ goto sh_fail; } + mutex_lock(&rdev->qp_lock); + list_del(&qp->list); + mutex_unlock(&rdev->qp_lock); + atomic_dec(&rdev->qp_count); + ib_umem_release(qp->rumem); ib_umem_release(qp->sumem); @@ -1995,6 +1995,7 @@ goto out; } qp_attr->qp_state = __to_ib_qp_state(qplib_qp->state); + qp_attr->cur_qp_state = __to_ib_qp_state(qplib_qp->cur_qp_state); qp_attr->en_sqd_async_notify = qplib_qp->en_sqd_async_notify ? 1 : 0; qp_attr->qp_access_flags = __to_ib_access_flags(qplib_qp->access); qp_attr->pkey_index = qplib_qp->pkey_index; @@ -2714,7 +2715,7 @@ } /* Completion Queues */ -void bnxt_re_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) +int bnxt_re_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) { struct bnxt_re_cq *cq; struct bnxt_qplib_nq *nq; @@ -2730,6 +2731,7 @@ atomic_dec(&rdev->cq_count); nq->budget--; kfree(cq->cql); + return 0; } int bnxt_re_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, @@ -3178,6 +3180,19 @@ wc->wc_flags |= IB_WC_GRH; } +static bool bnxt_re_check_if_vlan_valid(struct bnxt_re_dev *rdev, + u16 vlan_id) +{ + /* + * Check if the vlan is configured in the host. If not configured, it + * can be a transparent VLAN. So dont report the vlan id. + */ + if (!__vlan_find_dev_deep_rcu(rdev->netdev, + htons(ETH_P_8021Q), vlan_id)) + return false; + return true; +} + static bool bnxt_re_is_vlan_pkt(struct bnxt_qplib_cqe *orig_cqe, u16 *vid, u8 *sl) { @@ -3246,9 +3261,11 @@ wc->src_qp = orig_cqe->src_qp; memcpy(wc->smac, orig_cqe->smac, ETH_ALEN); if (bnxt_re_is_vlan_pkt(orig_cqe, &vlan_id, &sl)) { - wc->vlan_id = vlan_id; - wc->sl = sl; - wc->wc_flags |= IB_WC_WITH_VLAN; + if (bnxt_re_check_if_vlan_valid(rdev, vlan_id)) { + wc->vlan_id = vlan_id; + wc->sl = sl; + wc->wc_flags |= IB_WC_WITH_VLAN; + } } wc->port_num = 1; wc->vendor_err = orig_cqe->status; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/ib_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/ib_verbs.h @@ -193,7 +193,7 @@ const struct ib_recv_wr **bad_recv_wr); int bnxt_re_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void bnxt_re_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); +int bnxt_re_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); int bnxt_re_poll_cq(struct ib_cq *cq, int num_entries, struct ib_wc *wc); int bnxt_re_req_notify_cq(struct ib_cq *cq, enum ib_cq_notify_flags flags); struct ib_mr *bnxt_re_get_dma_mr(struct ib_pd *pd, int mr_access_flags); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/main.c @@ -811,7 +811,8 @@ struct ib_event event; unsigned int flags; - if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR) { + if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR && + rdma_is_kernel_res(&qp->ib_qp.res)) { flags = bnxt_re_lock_cqs(qp); bnxt_qplib_add_flush_qp(&qp->qplib_qp); bnxt_re_unlock_cqs(qp, flags); @@ -1026,8 +1027,7 @@ struct bnxt_qplib_nq *nq; nq = &rdev->nq[i]; - nq->hwq.max_elements = (qplib_ctx->cq_count + - qplib_ctx->srqc_count + 2); + nq->hwq.max_elements = BNXT_QPLIB_NQE_MAX_CNT; rc = bnxt_qplib_alloc_nq(&rdev->qplib_res, &rdev->nq[i]); if (rc) { ibdev_err(&rdev->ibdev, "Alloc Failed NQ%d rc:%#x", --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/qplib_fp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/qplib_fp.c @@ -796,6 +796,7 @@ u16 cmd_flags = 0; u32 qp_flags = 0; u8 pg_sz_lvl; + u32 tbl_indx; int rc; RCFW_CMD_PREP(req, CREATE_QP1, cmd_flags); @@ -891,8 +892,9 @@ rq->dbinfo.xid = qp->id; rq->dbinfo.db = qp->dpi->dbr; } - rcfw->qp_tbl[qp->id].qp_id = qp->id; - rcfw->qp_tbl[qp->id].qp_handle = (void *)qp; + tbl_indx = map_qp_id_to_tbl_indx(qp->id, rcfw); + rcfw->qp_tbl[tbl_indx].qp_id = qp->id; + rcfw->qp_tbl[tbl_indx].qp_handle = (void *)qp; return 0; @@ -920,10 +922,10 @@ sq = &qp->sq; hwq = &sq->hwq; + /* First psn entry */ fpsne = (u64)bnxt_qplib_get_qe(hwq, hwq->max_elements, &psn_pg); if (!IS_ALIGNED(fpsne, PAGE_SIZE)) - indx_pad = ALIGN(fpsne, PAGE_SIZE) / size; - + indx_pad = (fpsne & ~PAGE_MASK) / size; page = (u64 *)psn_pg; for (indx = 0; indx < hwq->max_elements; indx++) { pg_num = (indx + indx_pad) / (PAGE_SIZE / size); @@ -950,6 +952,7 @@ u32 qp_flags = 0; u8 pg_sz_lvl; u16 max_rsge; + u32 tbl_indx; RCFW_CMD_PREP(req, CREATE_QP, cmd_flags); @@ -1118,8 +1121,9 @@ rq->dbinfo.xid = qp->id; rq->dbinfo.db = qp->dpi->dbr; } - rcfw->qp_tbl[qp->id].qp_id = qp->id; - rcfw->qp_tbl[qp->id].qp_handle = (void *)qp; + tbl_indx = map_qp_id_to_tbl_indx(qp->id, rcfw); + rcfw->qp_tbl[tbl_indx].qp_id = qp->id; + rcfw->qp_tbl[tbl_indx].qp_handle = (void *)qp; return 0; @@ -1467,10 +1471,12 @@ struct cmdq_destroy_qp req; struct creq_destroy_qp_resp resp; u16 cmd_flags = 0; + u32 tbl_indx; int rc; - rcfw->qp_tbl[qp->id].qp_id = BNXT_QPLIB_QP_ID_INVALID; - rcfw->qp_tbl[qp->id].qp_handle = NULL; + tbl_indx = map_qp_id_to_tbl_indx(qp->id, rcfw); + rcfw->qp_tbl[tbl_indx].qp_id = BNXT_QPLIB_QP_ID_INVALID; + rcfw->qp_tbl[tbl_indx].qp_handle = NULL; RCFW_CMD_PREP(req, DESTROY_QP, cmd_flags); @@ -1478,8 +1484,8 @@ rc = bnxt_qplib_rcfw_send_message(rcfw, (void *)&req, (void *)&resp, NULL, 0); if (rc) { - rcfw->qp_tbl[qp->id].qp_id = qp->id; - rcfw->qp_tbl[qp->id].qp_handle = qp; + rcfw->qp_tbl[tbl_indx].qp_id = qp->id; + rcfw->qp_tbl[tbl_indx].qp_handle = qp; return rc; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -307,14 +307,15 @@ __le16 mcookie; u16 cookie; int rc = 0; - u32 qp_id; + u32 qp_id, tbl_indx; pdev = rcfw->pdev; switch (qp_event->event) { case CREQ_QP_EVENT_EVENT_QP_ERROR_NOTIFICATION: err_event = (struct creq_qp_error_notification *)qp_event; qp_id = le32_to_cpu(err_event->xid); - qp = rcfw->qp_tbl[qp_id].qp_handle; + tbl_indx = map_qp_id_to_tbl_indx(qp_id, rcfw); + qp = rcfw->qp_tbl[tbl_indx].qp_handle; dev_dbg(&pdev->dev, "Received QP error notification\n"); dev_dbg(&pdev->dev, "qpid 0x%x, req_err=0x%x, resp_err=0x%x\n", @@ -615,8 +616,9 @@ cmdq->bmap_size = bmap_size; - rcfw->qp_tbl_size = qp_tbl_sz; - rcfw->qp_tbl = kcalloc(qp_tbl_sz, sizeof(struct bnxt_qplib_qp_node), + /* Allocate one extra to hold the QP1 entries */ + rcfw->qp_tbl_size = qp_tbl_sz + 1; + rcfw->qp_tbl = kcalloc(rcfw->qp_tbl_size, sizeof(struct bnxt_qplib_qp_node), GFP_KERNEL); if (!rcfw->qp_tbl) goto fail; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h @@ -216,4 +216,9 @@ int bnxt_qplib_init_rcfw(struct bnxt_qplib_rcfw *rcfw, struct bnxt_qplib_ctx *ctx, int is_virtfn); void bnxt_qplib_mark_qp_error(void *qp_handle); +static inline u32 map_qp_id_to_tbl_indx(u32 qid, struct bnxt_qplib_rcfw *rcfw) +{ + /* Last index of the qp_tbl is for QP1 ie. qp_tbl_size - 1*/ + return (qid == 1) ? rcfw->qp_tbl_size - 1 : qid % rcfw->qp_tbl_size - 2; +} #endif /* __BNXT_QPLIB_RCFW_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/qplib_sp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/qplib_sp.c @@ -149,7 +149,7 @@ attr->max_inline_data = le32_to_cpu(sb->max_inline_data); attr->l2_db_size = (sb->l2_db_space_size + 1) * (0x01 << RCFW_DBR_BASE_PAGE_SHIFT); - attr->max_sgid = le32_to_cpu(sb->max_gid); + attr->max_sgid = BNXT_QPLIB_NUM_GIDS_SUPPORTED; bnxt_qplib_query_version(rcfw, attr->fw_ver); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/bnxt_re/qplib_sp.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/bnxt_re/qplib_sp.h @@ -47,6 +47,7 @@ struct bnxt_qplib_dev_attr { #define FW_VER_ARR_LEN 4 u8 fw_ver[FW_VER_ARR_LEN]; +#define BNXT_QPLIB_NUM_GIDS_SUPPORTED 256 u16 max_sgid; u16 max_mrw; u32 max_qp; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/cxgb4/cm.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/cxgb4/cm.c @@ -3610,13 +3610,14 @@ ep->com.local_addr.ss_family == AF_INET) { err = cxgb4_remove_server_filter( ep->com.dev->rdev.lldi.ports[0], ep->stid, - ep->com.dev->rdev.lldi.rxq_ids[0], 0); + ep->com.dev->rdev.lldi.rxq_ids[0], false); } else { struct sockaddr_in6 *sin6; c4iw_init_wr_wait(ep->com.wr_waitp); err = cxgb4_remove_server( ep->com.dev->rdev.lldi.ports[0], ep->stid, - ep->com.dev->rdev.lldi.rxq_ids[0], 0); + ep->com.dev->rdev.lldi.rxq_ids[0], + ep->com.local_addr.ss_family == AF_INET6); if (err) goto done; err = c4iw_wait_for_reply(&ep->com.dev->rdev, ep->com.wr_waitp, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/cxgb4/cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/cxgb4/cq.c @@ -967,7 +967,7 @@ return !err || err == -ENODATA ? npolled : err; } -void c4iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) +int c4iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) { struct c4iw_cq *chp; struct c4iw_ucontext *ucontext; @@ -985,6 +985,7 @@ ucontext ? &ucontext->uctx : &chp->cq.rdev->uctx, chp->destroy_skb, chp->wr_waitp); c4iw_put_wr_wait(chp->wr_waitp); + return 0; } int c4iw_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, @@ -1007,6 +1008,9 @@ if (attr->flags) return -EINVAL; + if (entries < 1 || entries > ibdev->attrs.max_cqe) + return -EINVAL; + if (vector >= rhp->rdev.lldi.nciq) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/cxgb4/iw_cxgb4.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/cxgb4/iw_cxgb4.h @@ -992,7 +992,7 @@ struct ib_udata *udata); struct ib_mr *c4iw_get_dma_mr(struct ib_pd *pd, int acc); int c4iw_dereg_mr(struct ib_mr *ib_mr, struct ib_udata *udata); -void c4iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata); +int c4iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata); int c4iw_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); int c4iw_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags flags); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/cxgb4/mem.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/cxgb4/mem.c @@ -399,7 +399,6 @@ mmid = stag >> 8; mhp->ibmr.rkey = mhp->ibmr.lkey = stag; mhp->ibmr.length = mhp->attr.len; - mhp->ibmr.iova = mhp->attr.va_fbo; mhp->ibmr.page_size = 1U << (mhp->attr.page_size + 12); pr_debug("mmid 0x%x mhp %p\n", mmid, mhp); return xa_insert_irq(&mhp->rhp->mrs, mmid, mhp, GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/cxgb4/qp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/cxgb4/qp.c @@ -2471,7 +2471,7 @@ init_attr->cap.max_send_wr = qhp->attr.sq_num_entries; init_attr->cap.max_recv_wr = qhp->attr.rq_num_entries; init_attr->cap.max_send_sge = qhp->attr.sq_max_sges; - init_attr->cap.max_recv_sge = qhp->attr.sq_max_sges; + init_attr->cap.max_recv_sge = qhp->attr.rq_max_sges; init_attr->cap.max_inline_data = T4_MAX_SEND_INLINE; init_attr->sq_sig_type = qhp->sq_sig_all ? IB_SIGNAL_ALL_WR : 0; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa.h @@ -139,7 +139,7 @@ struct ib_qp *efa_create_qp(struct ib_pd *ibpd, struct ib_qp_init_attr *init_attr, struct ib_udata *udata); -void efa_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); +int efa_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); int efa_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); struct ib_mr *efa_reg_mr(struct ib_pd *ibpd, u64 start, u64 length, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa_admin_cmds_defs.h @@ -606,8 +606,8 @@ /* Number of sub-CQs to be created for each CQ */ u16 sub_cqs_per_cq; - /* MBZ */ - u16 reserved; + /* Minimum number of WQEs per SQ */ + u16 min_sq_depth; /* Maximum number of SGEs (buffers) allowed for a single send WQE */ u16 max_wr_send_sges; @@ -632,6 +632,17 @@ /* Maximum number of SGEs for a single RDMA read WQE */ u16 max_wr_rdma_sges; + + /* + * Maximum number of bytes that can be written to SQ between two + * consecutive doorbells (in units of 64B). Driver must ensure that only + * complete WQEs are written to queue before issuing a doorbell. + * Examples: max_tx_batch=16 and WQE size = 64B, means up to 16 WQEs can + * be written to SQ between two consecutive doorbells. max_tx_batch=11 + * and WQE size = 128B, means up to 5 WQEs can be written to SQ between + * two consecutive doorbells. Zero means unlimited. + */ + u16 max_tx_batch; }; struct efa_admin_feature_aenq_desc { --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa_com_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa_com_cmd.c @@ -480,6 +480,8 @@ result->max_llq_size = resp.u.queue_attr.max_llq_size; result->sub_cqs_per_cq = resp.u.queue_attr.sub_cqs_per_cq; result->max_wr_rdma_sge = resp.u.queue_attr.max_wr_rdma_sges; + result->max_tx_batch = resp.u.queue_attr.max_tx_batch; + result->min_sq_depth = resp.u.queue_attr.min_sq_depth; err = efa_com_get_feature(edev, &resp, EFA_ADMIN_NETWORK_ATTR); if (err) { --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa_com_cmd.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa_com_cmd.h @@ -127,6 +127,8 @@ u16 max_sq_sge; u16 max_rq_sge; u16 max_wr_rdma_sge; + u16 max_tx_batch; + u16 min_sq_depth; u8 db_bar; }; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa_main.c @@ -12,10 +12,12 @@ #include "efa.h" -#define PCI_DEV_ID_EFA_VF 0xefa0 +#define PCI_DEV_ID_EFA0_VF 0xefa0 +#define PCI_DEV_ID_EFA1_VF 0xefa1 static const struct pci_device_id efa_pci_tbl[] = { - { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA_VF) }, + { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA0_VF) }, + { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA1_VF) }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/efa/efa_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/efa/efa_verbs.c @@ -843,7 +843,7 @@ return efa_com_destroy_cq(&dev->edev, ¶ms); } -void efa_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +int efa_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct efa_dev *dev = to_edev(ibcq->device); struct efa_cq *cq = to_ecq(ibcq); @@ -856,6 +856,7 @@ efa_destroy_cq_idx(dev, cq->cq_idx); efa_free_mapped(dev, cq->cpu_addr, cq->dma_addr, cq->size, DMA_FROM_DEVICE); + return 0; } static int cq_mmap_entries_setup(struct efa_dev *dev, struct efa_cq *cq, @@ -1502,11 +1503,39 @@ return efa_com_dealloc_uar(&dev->edev, ¶ms); } +#define EFA_CHECK_USER_COMP(_dev, _comp_mask, _attr, _mask, _attr_str) \ + (_attr_str = (!(_dev)->dev_attr._attr || ((_comp_mask) & (_mask))) ? \ + NULL : #_attr) + +static int efa_user_comp_handshake(const struct ib_ucontext *ibucontext, + const struct efa_ibv_alloc_ucontext_cmd *cmd) +{ + struct efa_dev *dev = to_edev(ibucontext->device); + char *attr_str; + + if (EFA_CHECK_USER_COMP(dev, cmd->comp_mask, max_tx_batch, + EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH, attr_str)) + goto err; + + if (EFA_CHECK_USER_COMP(dev, cmd->comp_mask, min_sq_depth, + EFA_ALLOC_UCONTEXT_CMD_COMP_MIN_SQ_WR, + attr_str)) + goto err; + + return 0; + +err: + ibdev_dbg(&dev->ibdev, "Userspace handshake failed for %s attribute\n", + attr_str); + return -EOPNOTSUPP; +} + int efa_alloc_ucontext(struct ib_ucontext *ibucontext, struct ib_udata *udata) { struct efa_ucontext *ucontext = to_eucontext(ibucontext); struct efa_dev *dev = to_edev(ibucontext->device); struct efa_ibv_alloc_ucontext_resp resp = {}; + struct efa_ibv_alloc_ucontext_cmd cmd = {}; struct efa_com_alloc_uar_result result; int err; @@ -1515,6 +1544,18 @@ * we will ack input fields in our response. */ + err = ib_copy_from_udata(&cmd, udata, + min(sizeof(cmd), udata->inlen)); + if (err) { + ibdev_dbg(&dev->ibdev, + "Cannot copy udata for alloc_ucontext\n"); + goto err_out; + } + + err = efa_user_comp_handshake(ibucontext, &cmd); + if (err) + goto err_out; + err = efa_com_alloc_uar(&dev->edev, &result); if (err) goto err_out; @@ -1526,6 +1567,8 @@ resp.sub_cqs_per_cq = dev->dev_attr.sub_cqs_per_cq; resp.inline_buf_size = dev->dev_attr.inline_buf_size; resp.max_llq_size = dev->dev_attr.max_llq_size; + resp.max_tx_batch = dev->dev_attr.max_tx_batch; + resp.min_sq_wr = dev->dev_attr.min_sq_depth; if (udata && udata->outlen) { err = ib_copy_to_udata(udata, &resp, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/affinity.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/affinity.c @@ -632,22 +632,11 @@ */ int hfi1_dev_affinity_init(struct hfi1_devdata *dd) { - int node = pcibus_to_node(dd->pcidev->bus); struct hfi1_affinity_node *entry; const struct cpumask *local_mask; int curr_cpu, possible, i, ret; bool new_entry = false; - /* - * If the BIOS does not have the NUMA node information set, select - * NUMA 0 so we get consistent performance. - */ - if (node < 0) { - dd_dev_err(dd, "Invalid PCI NUMA node. Performance may be affected\n"); - node = 0; - } - dd->node = node; - local_mask = cpumask_of_node(dd->node); if (cpumask_first(local_mask) >= nr_cpu_ids) local_mask = topology_core_cpumask(0); @@ -660,7 +649,7 @@ * create an entry in the global affinity structure and initialize it. */ if (!entry) { - entry = node_affinity_allocate(node); + entry = node_affinity_allocate(dd->node); if (!entry) { dd_dev_err(dd, "Unable to allocate global affinity node\n"); @@ -751,6 +740,7 @@ if (new_entry) node_affinity_add_tail(entry); + dd->affinity_entry = entry; mutex_unlock(&node_affinity.lock); return 0; @@ -766,10 +756,9 @@ { struct hfi1_affinity_node *entry; - if (dd->node < 0) - return; - mutex_lock(&node_affinity.lock); + if (!dd->affinity_entry) + goto unlock; entry = node_affinity_lookup(dd->node); if (!entry) goto unlock; @@ -780,8 +769,8 @@ */ _dev_comp_vect_cpu_mask_clean_up(dd, entry); unlock: + dd->affinity_entry = NULL; mutex_unlock(&node_affinity.lock); - dd->node = NUMA_NO_NODE; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/chip.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/chip.c @@ -15244,7 +15244,8 @@ & CCE_REVISION_SW_MASK); /* alloc netdev data */ - if (hfi1_netdev_alloc(dd)) + ret = hfi1_netdev_alloc(dd); + if (ret) goto bail_cleanup; ret = set_up_context_variables(dd); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/file_ops.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/file_ops.c @@ -1,4 +1,5 @@ /* + * Copyright(c) 2020 Cornelis Networks, Inc. * Copyright(c) 2015-2020 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -206,8 +207,6 @@ spin_lock_init(&fd->tid_lock); spin_lock_init(&fd->invalid_lock); fd->rec_cpu_num = -1; /* no cpu affinity by default */ - fd->mm = current->mm; - mmgrab(fd->mm); fd->dd = dd; fp->private_data = fd; return 0; @@ -711,7 +710,6 @@ deallocate_ctxt(uctxt); done: - mmdrop(fdata->mm); if (atomic_dec_and_test(&dd->user_refcount)) complete(&dd->user_comp); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/hfi.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/hfi.h @@ -1,6 +1,7 @@ #ifndef _HFI1_KERNEL_H #define _HFI1_KERNEL_H /* + * Copyright(c) 2020 Cornelis Networks, Inc. * Copyright(c) 2015-2020 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -1408,6 +1409,7 @@ spinlock_t irq_src_lock; int vnic_num_vports; struct net_device *dummy_netdev; + struct hfi1_affinity_node *affinity_entry; /* Keeps track of IPoIB RSM rule users */ atomic_t ipoib_rsm_usr_num; @@ -1451,7 +1453,6 @@ u32 invalid_tid_idx; /* protect invalid_tids array and invalid_tid_idx */ spinlock_t invalid_lock; - struct mm_struct *mm; }; extern struct xarray hfi1_dev_table; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/init.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/init.c @@ -1277,7 +1277,6 @@ dd->pport = (struct hfi1_pportdata *)(dd + 1); dd->pcidev = pdev; pci_set_drvdata(pdev, dd); - dd->node = NUMA_NO_NODE; ret = xa_alloc_irq(&hfi1_dev_table, &dd->unit, dd, xa_limit_32b, GFP_KERNEL); @@ -1287,6 +1286,15 @@ goto bail; } rvt_set_ibdev_name(&dd->verbs_dev.rdi, "%s_%d", class_name(), dd->unit); + /* + * If the BIOS does not have the NUMA node information set, select + * NUMA 0 so we get consistent performance. + */ + dd->node = pcibus_to_node(pdev->bus); + if (dd->node == NUMA_NO_NODE) { + dd_dev_err(dd, "Invalid PCI NUMA node. Performance may be affected\n"); + dd->node = 0; + } /* * Initialize all locks for the device. This needs to be as early as --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/mmu_rb.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/mmu_rb.c @@ -1,4 +1,5 @@ /* + * Copyright(c) 2020 Cornelis Networks, Inc. * Copyright(c) 2016 - 2017 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -48,23 +49,11 @@ #include #include #include +#include #include "mmu_rb.h" #include "trace.h" -struct mmu_rb_handler { - struct mmu_notifier mn; - struct rb_root_cached root; - void *ops_arg; - spinlock_t lock; /* protect the RB tree */ - struct mmu_rb_ops *ops; - struct mm_struct *mm; - struct list_head lru_list; - struct work_struct del_work; - struct list_head del_list; - struct workqueue_struct *wq; -}; - static unsigned long mmu_node_start(struct mmu_rb_node *); static unsigned long mmu_node_last(struct mmu_rb_node *); static int mmu_notifier_range_start(struct mmu_notifier *, @@ -92,37 +81,36 @@ return PAGE_ALIGN(node->addr + node->len) - 1; } -int hfi1_mmu_rb_register(void *ops_arg, struct mm_struct *mm, +int hfi1_mmu_rb_register(void *ops_arg, struct mmu_rb_ops *ops, struct workqueue_struct *wq, struct mmu_rb_handler **handler) { - struct mmu_rb_handler *handlr; + struct mmu_rb_handler *h; int ret; - handlr = kmalloc(sizeof(*handlr), GFP_KERNEL); - if (!handlr) + h = kmalloc(sizeof(*h), GFP_KERNEL); + if (!h) return -ENOMEM; - handlr->root = RB_ROOT_CACHED; - handlr->ops = ops; - handlr->ops_arg = ops_arg; - INIT_HLIST_NODE(&handlr->mn.hlist); - spin_lock_init(&handlr->lock); - handlr->mn.ops = &mn_opts; - handlr->mm = mm; - INIT_WORK(&handlr->del_work, handle_remove); - INIT_LIST_HEAD(&handlr->del_list); - INIT_LIST_HEAD(&handlr->lru_list); - handlr->wq = wq; + h->root = RB_ROOT_CACHED; + h->ops = ops; + h->ops_arg = ops_arg; + INIT_HLIST_NODE(&h->mn.hlist); + spin_lock_init(&h->lock); + h->mn.ops = &mn_opts; + INIT_WORK(&h->del_work, handle_remove); + INIT_LIST_HEAD(&h->del_list); + INIT_LIST_HEAD(&h->lru_list); + h->wq = wq; - ret = mmu_notifier_register(&handlr->mn, handlr->mm); + ret = mmu_notifier_register(&h->mn, current->mm); if (ret) { - kfree(handlr); + kfree(h); return ret; } - *handler = handlr; + *handler = h; return 0; } @@ -134,7 +122,7 @@ struct list_head del_list; /* Unregister first so we don't get any more notifications. */ - mmu_notifier_unregister(&handler->mn, handler->mm); + mmu_notifier_unregister(&handler->mn, handler->mn.mm); /* * Make sure the wq delete handler is finished running. It will not @@ -166,6 +154,10 @@ int ret = 0; trace_hfi1_mmu_rb_insert(mnode->addr, mnode->len); + + if (current->mm != handler->mn.mm) + return -EPERM; + spin_lock_irqsave(&handler->lock, flags); node = __mmu_rb_search(handler, mnode->addr, mnode->len); if (node) { @@ -180,6 +172,7 @@ __mmu_int_rb_remove(mnode, &handler->root); list_del(&mnode->list); /* remove from LRU list */ } + mnode->handler = handler; unlock: spin_unlock_irqrestore(&handler->lock, flags); return ret; @@ -217,6 +210,9 @@ unsigned long flags; bool ret = false; + if (current->mm != handler->mn.mm) + return ret; + spin_lock_irqsave(&handler->lock, flags); node = __mmu_rb_search(handler, addr, len); if (node) { @@ -239,6 +235,9 @@ unsigned long flags; bool stop = false; + if (current->mm != handler->mn.mm) + return; + INIT_LIST_HEAD(&del_list); spin_lock_irqsave(&handler->lock, flags); @@ -272,6 +271,9 @@ { unsigned long flags; + if (current->mm != handler->mn.mm) + return; + /* Validity of handler and node pointers has been checked by caller. */ trace_hfi1_mmu_rb_remove(node->addr, node->len); spin_lock_irqsave(&handler->lock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/mmu_rb.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/mmu_rb.h @@ -1,4 +1,5 @@ /* + * Copyright(c) 2020 Cornelis Networks, Inc. * Copyright(c) 2016 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -54,6 +55,7 @@ unsigned long len; unsigned long __last; struct rb_node node; + struct mmu_rb_handler *handler; struct list_head list; }; @@ -71,7 +73,19 @@ void *evict_arg, bool *stop); }; -int hfi1_mmu_rb_register(void *ops_arg, struct mm_struct *mm, +struct mmu_rb_handler { + struct mmu_notifier mn; + struct rb_root_cached root; + void *ops_arg; + spinlock_t lock; /* protect the RB tree */ + struct mmu_rb_ops *ops; + struct list_head lru_list; + struct work_struct del_work; + struct list_head del_list; + struct workqueue_struct *wq; +}; + +int hfi1_mmu_rb_register(void *ops_arg, struct mmu_rb_ops *ops, struct workqueue_struct *wq, struct mmu_rb_handler **handler); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/netdev_rx.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/netdev_rx.c @@ -173,8 +173,7 @@ return 0; } - cpumask_and(node_cpu_mask, cpu_mask, - cpumask_of_node(pcibus_to_node(dd->pcidev->bus))); + cpumask_and(node_cpu_mask, cpu_mask, cpumask_of_node(dd->node)); available_cpus = cpumask_weight(node_cpu_mask); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/tid_rdma.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/tid_rdma.c @@ -3215,6 +3215,7 @@ case IB_WR_ATOMIC_CMP_AND_SWP: case IB_WR_ATOMIC_FETCH_AND_ADD: case IB_WR_RDMA_WRITE: + case IB_WR_RDMA_WRITE_WITH_IMM: switch (prev->wr.opcode) { case IB_WR_TID_RDMA_WRITE: req = wqe_to_tid_req(prev); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/user_exp_rcv.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/user_exp_rcv.c @@ -1,4 +1,5 @@ /* + * Copyright(c) 2020 Cornelis Networks, Inc. * Copyright(c) 2015-2018 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -173,15 +174,18 @@ { struct page **pages; struct hfi1_devdata *dd = fd->uctxt->dd; + struct mm_struct *mm; if (mapped) { pci_unmap_single(dd->pcidev, node->dma_addr, node->npages * PAGE_SIZE, PCI_DMA_FROMDEVICE); pages = &node->pages[idx]; + mm = mm_from_tid_node(node); } else { pages = &tidbuf->pages[idx]; + mm = current->mm; } - hfi1_release_user_pages(fd->mm, pages, npages, mapped); + hfi1_release_user_pages(mm, pages, npages, mapped); fd->tid_n_pinned -= npages; } @@ -216,12 +220,12 @@ * pages, accept the amount pinned so far and program only that. * User space knows how to deal with partially programmed buffers. */ - if (!hfi1_can_pin_pages(dd, fd->mm, fd->tid_n_pinned, npages)) { + if (!hfi1_can_pin_pages(dd, current->mm, fd->tid_n_pinned, npages)) { kfree(pages); return -ENOMEM; } - pinned = hfi1_acquire_user_pages(fd->mm, vaddr, npages, true, pages); + pinned = hfi1_acquire_user_pages(current->mm, vaddr, npages, true, pages); if (pinned <= 0) { kfree(pages); return pinned; @@ -756,7 +760,7 @@ if (fd->use_mn) { ret = mmu_interval_notifier_insert( - &node->notifier, fd->mm, + &node->notifier, current->mm, tbuf->vaddr + (pageidx * PAGE_SIZE), npages * PAGE_SIZE, &tid_mn_ops); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/user_exp_rcv.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/user_exp_rcv.h @@ -1,6 +1,7 @@ #ifndef _HFI1_USER_EXP_RCV_H #define _HFI1_USER_EXP_RCV_H /* + * Copyright(c) 2020 - Cornelis Networks, Inc. * Copyright(c) 2015 - 2017 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -95,4 +96,9 @@ int hfi1_user_exp_rcv_invalid(struct hfi1_filedata *fd, struct hfi1_tid_info *tinfo); +static inline struct mm_struct *mm_from_tid_node(struct tid_rb_node *node) +{ + return node->notifier.mm; +} + #endif /* _HFI1_USER_EXP_RCV_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/user_sdma.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/user_sdma.c @@ -1,4 +1,5 @@ /* + * Copyright(c) 2020 - Cornelis Networks, Inc. * Copyright(c) 2015 - 2018 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -188,7 +189,6 @@ atomic_set(&pq->n_reqs, 0); init_waitqueue_head(&pq->wait); atomic_set(&pq->n_locked, 0); - pq->mm = fd->mm; iowait_init(&pq->busy, 0, NULL, NULL, defer_packet_queue, activate_packet_queue, NULL, NULL); @@ -230,7 +230,7 @@ cq->nentries = hfi1_sdma_comp_ring_size; - ret = hfi1_mmu_rb_register(pq, pq->mm, &sdma_rb_ops, dd->pport->hfi1_wq, + ret = hfi1_mmu_rb_register(pq, &sdma_rb_ops, dd->pport->hfi1_wq, &pq->handler); if (ret) { dd_dev_err(dd, "Failed to register with MMU %d", ret); @@ -980,13 +980,13 @@ npages -= node->npages; retry: - if (!hfi1_can_pin_pages(pq->dd, pq->mm, + if (!hfi1_can_pin_pages(pq->dd, current->mm, atomic_read(&pq->n_locked), npages)) { cleared = sdma_cache_evict(pq, npages); if (cleared >= npages) goto retry; } - pinned = hfi1_acquire_user_pages(pq->mm, + pinned = hfi1_acquire_user_pages(current->mm, ((unsigned long)iovec->iov.iov_base + (node->npages * PAGE_SIZE)), npages, 0, pages + node->npages); @@ -995,7 +995,7 @@ return pinned; } if (pinned != npages) { - unpin_vector_pages(pq->mm, pages, node->npages, pinned); + unpin_vector_pages(current->mm, pages, node->npages, pinned); return -EFAULT; } kfree(node->pages); @@ -1008,7 +1008,8 @@ static void unpin_sdma_pages(struct sdma_mmu_node *node) { if (node->npages) { - unpin_vector_pages(node->pq->mm, node->pages, 0, node->npages); + unpin_vector_pages(mm_from_sdma_node(node), node->pages, 0, + node->npages); atomic_sub(node->npages, &node->pq->n_locked); } } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hfi1/user_sdma.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hfi1/user_sdma.h @@ -1,6 +1,7 @@ #ifndef _HFI1_USER_SDMA_H #define _HFI1_USER_SDMA_H /* + * Copyright(c) 2020 - Cornelis Networks, Inc. * Copyright(c) 2015 - 2018 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or @@ -133,7 +134,6 @@ unsigned long unpinned; struct mmu_rb_handler *handler; atomic_t n_locked; - struct mm_struct *mm; }; struct hfi1_user_sdma_comp_q { @@ -250,4 +250,9 @@ struct iovec *iovec, unsigned long dim, unsigned long *count); +static inline struct mm_struct *mm_from_sdma_node(struct sdma_mmu_node *node) +{ + return node->rb.handler->mn.mm; +} + #endif /* _HFI1_USER_SDMA_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_cq.c @@ -258,7 +258,8 @@ INIT_LIST_HEAD(&hr_cq->rq_list); if (udata) { - ret = ib_copy_from_udata(&ucmd, udata, sizeof(ucmd)); + ret = ib_copy_from_udata(&ucmd, udata, + min(udata->inlen, sizeof(ucmd))); if (ret) { ibdev_err(ibdev, "Failed to copy CQ udata, err %d\n", ret); @@ -295,7 +296,8 @@ if (udata) { resp.cqn = hr_cq->cqn; - ret = ib_copy_to_udata(udata, &resp, sizeof(resp)); + ret = ib_copy_to_udata(udata, &resp, + min(udata->outlen, sizeof(resp))); if (ret) goto err_cqc; } @@ -311,7 +313,7 @@ return ret; } -void hns_roce_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) +int hns_roce_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) { struct hns_roce_dev *hr_dev = to_hr_dev(ib_cq->device); struct hns_roce_cq *hr_cq = to_hr_cq(ib_cq); @@ -322,6 +324,7 @@ free_cq_buf(hr_dev, hr_cq); free_cq_db(hr_dev, hr_cq, udata); free_cqc(hr_dev, hr_cq); + return 0; } void hns_roce_cq_completion(struct hns_roce_dev *hr_dev, u32 cqn) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_device.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_device.h @@ -66,8 +66,6 @@ #define HNS_ROCE_CQE_WCMD_EMPTY_BIT 0x2 #define HNS_ROCE_MIN_CQE_CNT 16 -#define HNS_ROCE_RESERVED_SGE 1 - #define HNS_ROCE_MAX_IRQ_NUM 128 #define HNS_ROCE_SGE_IN_WQE 2 @@ -631,7 +629,7 @@ struct hns_roce_db sdb; unsigned long en_flags; u32 doorbell_qpn; - u32 sq_signal_bits; + enum ib_sig_type sq_signal_bits; struct hns_roce_wq sq; struct hns_roce_mtr mtr; @@ -931,7 +929,7 @@ int (*poll_cq)(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); int (*dereg_mr)(struct hns_roce_dev *hr_dev, struct hns_roce_mr *mr, struct ib_udata *udata); - void (*destroy_cq)(struct ib_cq *ibcq, struct ib_udata *udata); + int (*destroy_cq)(struct ib_cq *ibcq, struct ib_udata *udata); int (*modify_cq)(struct ib_cq *cq, u16 cq_count, u16 cq_period); int (*init_eq)(struct hns_roce_dev *hr_dev); void (*cleanup_eq)(struct hns_roce_dev *hr_dev); @@ -1248,7 +1246,7 @@ int hns_roce_create_cq(struct ib_cq *ib_cq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void hns_roce_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata); +int hns_roce_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata); int hns_roce_db_map_user(struct hns_roce_ucontext *context, struct ib_udata *udata, unsigned long virt, struct hns_roce_db *db); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_hw_v1.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_hw_v1.c @@ -271,7 +271,6 @@ ps_opcode = HNS_ROCE_WQE_OPCODE_SEND; break; case IB_WR_LOCAL_INV: - break; case IB_WR_ATOMIC_CMP_AND_SWP: case IB_WR_ATOMIC_FETCH_AND_ADD: case IB_WR_LSO: @@ -3573,7 +3572,7 @@ return 0; } -static void hns_roce_v1_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +static int hns_roce_v1_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct hns_roce_dev *hr_dev = to_hr_dev(ibcq->device); struct hns_roce_cq *hr_cq = to_hr_cq(ibcq); @@ -3604,6 +3603,7 @@ } wait_time++; } + return 0; } static void set_eq_cons_index_v1(struct hns_roce_eq *eq, int req_not) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -150,25 +150,20 @@ V2_RC_SEND_WQE_BYTE_16_SGE_NUM_S, valid_num_sge); } -static void set_extend_sge(struct hns_roce_qp *qp, const struct ib_send_wr *wr, - unsigned int *sge_ind, unsigned int valid_num_sge) +static void set_extend_sge(struct hns_roce_qp *qp, struct ib_sge *sge, + unsigned int *sge_ind, unsigned int cnt) { struct hns_roce_v2_wqe_data_seg *dseg; - unsigned int cnt = valid_num_sge; - struct ib_sge *sge = wr->sg_list; unsigned int idx = *sge_ind; - if (qp->ibqp.qp_type == IB_QPT_RC || qp->ibqp.qp_type == IB_QPT_UC) { - cnt -= HNS_ROCE_SGE_IN_WQE; - sge += HNS_ROCE_SGE_IN_WQE; - } - while (cnt > 0) { dseg = hns_roce_get_extend_sge(qp, idx & (qp->sge.sge_cnt - 1)); - set_data_seg_v2(dseg, sge); - idx++; + if (likely(sge->length)) { + set_data_seg_v2(dseg, sge); + idx++; + cnt--; + } sge++; - cnt--; } *sge_ind = idx; @@ -231,7 +226,8 @@ } } - set_extend_sge(qp, wr, sge_ind, valid_num_sge); + set_extend_sge(qp, wr->sg_list + i, sge_ind, + valid_num_sge - HNS_ROCE_SGE_IN_WQE); } roce_set_field(rc_sq_wqe->byte_16, @@ -292,14 +288,11 @@ void *wqe, unsigned int *sge_idx, unsigned int owner_bit) { - struct hns_roce_dev *hr_dev = to_hr_dev(qp->ibqp.device); struct hns_roce_ah *ah = to_hr_ah(ud_wr(wr)->ah); struct hns_roce_v2_ud_send_wqe *ud_sq_wqe = wqe; unsigned int curr_idx = *sge_idx; int valid_num_sge; u32 msg_len = 0; - bool loopback; - u8 *smac; valid_num_sge = calc_wr_sge_num(wr, &msg_len); memset(ud_sq_wqe, 0, sizeof(*ud_sq_wqe)); @@ -317,13 +310,6 @@ roce_set_field(ud_sq_wqe->byte_48, V2_UD_SEND_WQE_BYTE_48_DMAC_5_M, V2_UD_SEND_WQE_BYTE_48_DMAC_5_S, ah->av.mac[5]); - /* MAC loopback */ - smac = (u8 *)hr_dev->dev_addr[qp->port]; - loopback = ether_addr_equal_unaligned(ah->av.mac, smac) ? 1 : 0; - - roce_set_bit(ud_sq_wqe->byte_40, - V2_UD_SEND_WQE_BYTE_40_LBI_S, loopback); - roce_set_field(ud_sq_wqe->byte_4, V2_UD_SEND_WQE_BYTE_4_OPCODE_M, V2_UD_SEND_WQE_BYTE_4_OPCODE_S, @@ -390,7 +376,7 @@ memcpy(&ud_sq_wqe->dgid[0], &ah->av.dgid[0], GID_LEN_V2); - set_extend_sge(qp, wr, &curr_idx, valid_num_sge); + set_extend_sge(qp, wr->sg_list, &curr_idx, valid_num_sge); *sge_idx = curr_idx; @@ -629,7 +615,7 @@ wqe_idx = (hr_qp->rq.head + nreq) & (hr_qp->rq.wqe_cnt - 1); - if (unlikely(wr->num_sge >= hr_qp->rq.max_gs)) { + if (unlikely(wr->num_sge > hr_qp->rq.max_gs)) { ibdev_err(ibdev, "rq:num_sge=%d >= qp->sq.max_gs=%d\n", wr->num_sge, hr_qp->rq.max_gs); ret = -EINVAL; @@ -649,7 +635,6 @@ if (wr->num_sge < hr_qp->rq.max_gs) { dseg->lkey = cpu_to_le32(HNS_ROCE_INVALID_LKEY); dseg->addr = 0; - dseg->len = cpu_to_le32(HNS_ROCE_INVALID_SGE_LENGTH); } /* rq support inline data */ @@ -783,8 +768,8 @@ } if (wr->num_sge < srq->max_gs) { - dseg[i].len = cpu_to_le32(HNS_ROCE_INVALID_SGE_LENGTH); - dseg[i].lkey = cpu_to_le32(HNS_ROCE_INVALID_LKEY); + dseg[i].len = 0; + dseg[i].lkey = cpu_to_le32(0x100); dseg[i].addr = 0; } @@ -1113,7 +1098,7 @@ u32 timeout = 0; int handle = 0; u16 desc_ret; - int ret = 0; + int ret; int ntc; spin_lock_bh(&csq->lock); @@ -1158,15 +1143,14 @@ if (hns_roce_cmq_csq_done(hr_dev)) { complete = true; handle = 0; + ret = 0; while (handle < num) { /* get the result of hardware write back */ desc_to_use = &csq->desc[ntc]; desc[handle] = *desc_to_use; dev_dbg(hr_dev->dev, "Get cmq desc:\n"); desc_ret = le16_to_cpu(desc[handle].retval); - if (desc_ret == CMD_EXEC_SUCCESS) - ret = 0; - else + if (unlikely(desc_ret != CMD_EXEC_SUCCESS)) ret = -EIO; priv->cmq.last_status = desc_ret; ntc++; @@ -1730,7 +1714,6 @@ caps->flags = HNS_ROCE_CAP_FLAG_REREG_MR | HNS_ROCE_CAP_FLAG_ROCE_V1_V2 | - HNS_ROCE_CAP_FLAG_RQ_INLINE | HNS_ROCE_CAP_FLAG_RECORD_DB | HNS_ROCE_CAP_FLAG_SQ_RECORD_DB; @@ -1771,9 +1754,9 @@ int *buf_page_size, int *bt_page_size, u32 hem_type) { u64 obj_per_chunk; - int bt_chunk_size = 1 << PAGE_SHIFT; - int buf_chunk_size = 1 << PAGE_SHIFT; - int obj_per_chunk_default = buf_chunk_size / obj_size; + u64 bt_chunk_size = PAGE_SIZE; + u64 buf_chunk_size = PAGE_SIZE; + u64 obj_per_chunk_default = buf_chunk_size / obj_size; *buf_page_size = 0; *bt_page_size = 0; @@ -2745,6 +2728,7 @@ roce_set_bit(mpt_entry->byte_8_mw_cnt_en, V2_MPT_BYTE_8_R_INV_EN_S, 1); roce_set_bit(mpt_entry->byte_8_mw_cnt_en, V2_MPT_BYTE_8_L_INV_EN_S, 1); + roce_set_bit(mpt_entry->byte_8_mw_cnt_en, V2_MPT_BYTE_8_LW_EN_S, 1); roce_set_bit(mpt_entry->byte_12_mw_pa, V2_MPT_BYTE_12_PA_S, 0); roce_set_bit(mpt_entry->byte_12_mw_pa, V2_MPT_BYTE_12_MR_MW_S, 1); @@ -3053,6 +3037,7 @@ IB_WC_RETRY_EXC_ERR }, { HNS_ROCE_CQE_V2_RNR_RETRY_EXC_ERR, IB_WC_RNR_RETRY_EXC_ERR }, { HNS_ROCE_CQE_V2_REMOTE_ABORT_ERR, IB_WC_REM_ABORT_ERR }, + { HNS_ROCE_CQE_V2_GENERAL_ERR, IB_WC_GENERAL_ERR} }; u32 cqe_status = roce_get_field(cqe->byte_4, V2_CQE_BYTE_4_STATUS_M, @@ -3075,6 +3060,14 @@ sizeof(*cqe), false); /* + * For hns ROCEE, GENERAL_ERR is an error type that is not defined in + * the standard protocol, the driver must ignore it and needn't to set + * the QP to an error state. + */ + if (cqe_status == HNS_ROCE_CQE_V2_GENERAL_ERR) + return; + + /* * Hip08 hardware cannot flush the WQEs in SQ/RQ if the QP state gets * into errored mode. Hence, as a workaround to this hardware * limitation, driver needs to assist in flushing. But the flushing @@ -3632,9 +3625,6 @@ V2_QPC_BYTE_76_SRQ_EN_S, 1); } - roce_set_field(context->byte_172_sq_psn, V2_QPC_BYTE_172_ACK_REQ_FREQ_M, - V2_QPC_BYTE_172_ACK_REQ_FREQ_S, 4); - roce_set_bit(context->byte_172_sq_psn, V2_QPC_BYTE_172_FRE_S, 1); hr_qp->access_flags = attr->qp_access_flags; @@ -3975,6 +3965,7 @@ dma_addr_t trrl_ba; dma_addr_t irrl_ba; enum ib_mtu mtu; + u8 lp_pktn_ini; u8 port_num; u64 *mtts; u8 *dmac; @@ -4082,13 +4073,21 @@ } #define MAX_LP_MSG_LEN 65536 - /* MTU*(2^LP_PKTN_INI) shouldn't be bigger than 64kb */ + /* MTU * (2 ^ LP_PKTN_INI) shouldn't be bigger than 64KB */ + lp_pktn_ini = ilog2(MAX_LP_MSG_LEN / ib_mtu_enum_to_int(mtu)); + roce_set_field(context->byte_56_dqpn_err, V2_QPC_BYTE_56_LP_PKTN_INI_M, - V2_QPC_BYTE_56_LP_PKTN_INI_S, - ilog2(MAX_LP_MSG_LEN / ib_mtu_enum_to_int(mtu))); + V2_QPC_BYTE_56_LP_PKTN_INI_S, lp_pktn_ini); roce_set_field(qpc_mask->byte_56_dqpn_err, V2_QPC_BYTE_56_LP_PKTN_INI_M, V2_QPC_BYTE_56_LP_PKTN_INI_S, 0); + /* ACK_REQ_FREQ should be larger than or equal to LP_PKTN_INI */ + roce_set_field(context->byte_172_sq_psn, V2_QPC_BYTE_172_ACK_REQ_FREQ_M, + V2_QPC_BYTE_172_ACK_REQ_FREQ_S, lp_pktn_ini); + roce_set_field(qpc_mask->byte_172_sq_psn, + V2_QPC_BYTE_172_ACK_REQ_FREQ_M, + V2_QPC_BYTE_172_ACK_REQ_FREQ_S, 0); + roce_set_bit(qpc_mask->byte_108_rx_reqepsn, V2_QPC_BYTE_108_RX_REQ_PSN_ERR_S, 0); roce_set_field(qpc_mask->byte_96_rx_reqmsn, V2_QPC_BYTE_96_RX_REQ_MSN_M, @@ -4279,11 +4278,19 @@ V2_QPC_BYTE_28_FL_S, 0); memcpy(context->dgid, grh->dgid.raw, sizeof(grh->dgid.raw)); memset(qpc_mask->dgid, 0, sizeof(grh->dgid.raw)); + + hr_qp->sl = rdma_ah_get_sl(&attr->ah_attr); + if (unlikely(hr_qp->sl > MAX_SERVICE_LEVEL)) { + ibdev_err(ibdev, + "failed to fill QPC, sl (%d) shouldn't be larger than %d.\n", + hr_qp->sl, MAX_SERVICE_LEVEL); + return -EINVAL; + } + roce_set_field(context->byte_28_at_fl, V2_QPC_BYTE_28_SL_M, - V2_QPC_BYTE_28_SL_S, rdma_ah_get_sl(&attr->ah_attr)); + V2_QPC_BYTE_28_SL_S, hr_qp->sl); roce_set_field(qpc_mask->byte_28_at_fl, V2_QPC_BYTE_28_SL_M, V2_QPC_BYTE_28_SL_S, 0); - hr_qp->sl = rdma_ah_get_sl(&attr->ah_attr); return 0; } @@ -4301,7 +4308,9 @@ [IB_QPS_RTR] = { [IB_QPS_RESET] = true, [IB_QPS_RTS] = true, [IB_QPS_ERR] = true }, - [IB_QPS_RTS] = { [IB_QPS_RESET] = true, [IB_QPS_ERR] = true }, + [IB_QPS_RTS] = { [IB_QPS_RESET] = true, + [IB_QPS_RTS] = true, + [IB_QPS_ERR] = true }, [IB_QPS_SQD] = {}, [IB_QPS_SQE] = {}, [IB_QPS_ERR] = { [IB_QPS_RESET] = true, [IB_QPS_ERR] = true } @@ -4775,9 +4784,11 @@ V2_QPC_BYTE_28_AT_M, V2_QPC_BYTE_28_AT_S); qp_attr->retry_cnt = roce_get_field(context.byte_212_lsn, - V2_QPC_BYTE_212_RETRY_CNT_M, - V2_QPC_BYTE_212_RETRY_CNT_S); - qp_attr->rnr_retry = le32_to_cpu(context.rq_rnr_timer); + V2_QPC_BYTE_212_RETRY_NUM_INIT_M, + V2_QPC_BYTE_212_RETRY_NUM_INIT_S); + qp_attr->rnr_retry = roce_get_field(context.byte_244_rnr_rxack, + V2_QPC_BYTE_244_RNR_NUM_INIT_M, + V2_QPC_BYTE_244_RNR_NUM_INIT_S); done: qp_attr->cur_qp_state = qp_attr->qp_state; @@ -4793,6 +4804,7 @@ } qp_init_attr->cap = qp_attr->cap; + qp_init_attr->sq_sig_type = hr_qp->sq_signal_bits; out: mutex_unlock(&hr_qp->mutex); @@ -5087,7 +5099,7 @@ attr->srq_limit = limit_wl; attr->max_wr = srq->wqe_cnt - 1; - attr->max_sge = srq->max_gs - HNS_ROCE_RESERVED_SGE; + attr->max_sge = srq->max_gs; out: hns_roce_free_cmd_mailbox(hr_dev, mailbox); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_hw_v2.h @@ -92,9 +92,7 @@ #define HNS_ROCE_V2_CQC_TIMER_ENTRY_SZ PAGE_SIZE #define HNS_ROCE_V2_PAGE_SIZE_SUPPORTED 0xFFFFF000 #define HNS_ROCE_V2_MAX_INNER_MTPT_NUM 2 -#define HNS_ROCE_INVALID_LKEY 0x0 -#define HNS_ROCE_INVALID_SGE_LENGTH 0x80000000 - +#define HNS_ROCE_INVALID_LKEY 0x100 #define HNS_ROCE_CMQ_TX_TIMEOUT 30000 #define HNS_ROCE_V2_UC_RC_SGE_NUM_IN_WQE 2 #define HNS_ROCE_V2_RSV_QPS 8 @@ -230,6 +228,7 @@ HNS_ROCE_CQE_V2_TRANSPORT_RETRY_EXC_ERR = 0x15, HNS_ROCE_CQE_V2_RNR_RETRY_EXC_ERR = 0x16, HNS_ROCE_CQE_V2_REMOTE_ABORT_ERR = 0x22, + HNS_ROCE_CQE_V2_GENERAL_ERR = 0x23, HNS_ROCE_V2_CQE_STATUS_MASK = 0xff, }; @@ -1656,7 +1655,7 @@ __le32 rsv_uars_rsv_qps; }; #define V2_QUERY_PF_CAPS_D_NUM_SRQS_S 0 -#define V2_QUERY_PF_CAPS_D_NUM_SRQS_M GENMASK(20, 0) +#define V2_QUERY_PF_CAPS_D_NUM_SRQS_M GENMASK(19, 0) #define V2_QUERY_PF_CAPS_D_RQWQE_HOP_NUM_S 20 #define V2_QUERY_PF_CAPS_D_RQWQE_HOP_NUM_M GENMASK(21, 20) @@ -1958,6 +1957,8 @@ #define HNS_ROCE_V2_AEQE_EVENT_QUEUE_NUM_S 0 #define HNS_ROCE_V2_AEQE_EVENT_QUEUE_NUM_M GENMASK(23, 0) +#define MAX_SERVICE_LEVEL 0x7 + struct hns_roce_wqe_atomic_seg { __le64 fetchadd_swap_data; __le64 cmp_data; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_main.c @@ -323,7 +323,8 @@ mutex_init(&context->page_mutex); } - ret = ib_copy_to_udata(udata, &resp, sizeof(resp)); + ret = ib_copy_to_udata(udata, &resp, + min(udata->outlen, sizeof(resp))); if (ret) goto error_fail_copy_to_udata; @@ -775,8 +776,7 @@ return 0; err_qp_table_free: - if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) - hns_roce_cleanup_qp_table(hr_dev); + hns_roce_cleanup_qp_table(hr_dev); err_cq_table_free: hns_roce_cleanup_cq_table(hr_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_pd.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_pd.c @@ -70,16 +70,17 @@ } if (udata) { - struct hns_roce_ib_alloc_pd_resp uresp = {.pdn = pd->pdn}; + struct hns_roce_ib_alloc_pd_resp resp = {.pdn = pd->pdn}; - if (ib_copy_to_udata(udata, &uresp, sizeof(uresp))) { + ret = ib_copy_to_udata(udata, &resp, + min(udata->outlen, sizeof(resp))); + if (ret) { hns_roce_pd_free(to_hr_dev(ib_dev), pd->pdn); - ibdev_err(ib_dev, "failed to copy to udata\n"); - return -EFAULT; + ibdev_err(ib_dev, "failed to copy to udata, ret = %d\n", ret); } } - return 0; + return ret; } void hns_roce_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_qp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_qp.c @@ -386,8 +386,7 @@ return -EINVAL; } - hr_qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_sge) + - HNS_ROCE_RESERVED_SGE); + hr_qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_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); @@ -402,7 +401,7 @@ hr_qp->rq_inl_buf.wqe_cnt = 0; cap->max_recv_wr = cnt; - cap->max_recv_sge = hr_qp->rq.max_gs - HNS_ROCE_RESERVED_SGE; + cap->max_recv_sge = hr_qp->rq.max_gs; return 0; } @@ -445,7 +444,12 @@ } hr_qp->sge.sge_shift = HNS_ROCE_SGE_SHIFT; - hr_qp->sge.sge_cnt = cnt; + + /* If the number of extended sge is not zero, they MUST use the + * space of HNS_HW_PAGE_SIZE at least. + */ + hr_qp->sge.sge_cnt = cnt ? + max(cnt, (u32)HNS_HW_PAGE_SIZE / HNS_ROCE_SGE_SIZE) : 0; return 0; } @@ -872,9 +876,12 @@ } if (udata) { - if (ib_copy_from_udata(ucmd, udata, sizeof(*ucmd))) { - ibdev_err(ibdev, "Failed to copy QP ucmd\n"); - return -EFAULT; + ret = ib_copy_from_udata(ucmd, udata, + min(udata->inlen, sizeof(*ucmd))); + if (ret) { + ibdev_err(ibdev, + "failed to copy QP ucmd, ret = %d\n", ret); + return ret; } ret = set_user_sq_size(hr_dev, &init_attr->cap, hr_qp, ucmd); @@ -1172,8 +1179,10 @@ mutex_lock(&hr_qp->mutex); - cur_state = attr_mask & IB_QP_CUR_STATE ? - attr->cur_qp_state : (enum ib_qp_state)hr_qp->state; + if (attr_mask & IB_QP_CUR_STATE && attr->cur_qp_state != hr_qp->state) + goto out; + + cur_state = hr_qp->state; new_state = attr_mask & IB_QP_STATE ? attr->qp_state : cur_state; if (ibqp->uobject && --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/hns/hns_roce_srq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/hns/hns_roce_srq.c @@ -297,10 +297,11 @@ spin_lock_init(&srq->lock); srq->wqe_cnt = roundup_pow_of_two(init_attr->attr.max_wr + 1); - srq->max_gs = init_attr->attr.max_sge + HNS_ROCE_RESERVED_SGE; + srq->max_gs = init_attr->attr.max_sge; if (udata) { - ret = ib_copy_from_udata(&ucmd, udata, sizeof(ucmd)); + ret = ib_copy_from_udata(&ucmd, udata, + min(udata->inlen, sizeof(ucmd))); if (ret) { ibdev_err(ibdev, "Failed to copy SRQ udata, err %d\n", ret); @@ -343,11 +344,10 @@ resp.srqn = srq->srqn; if (udata) { - if (ib_copy_to_udata(udata, &resp, - min(udata->outlen, sizeof(resp)))) { - ret = -EFAULT; + ret = ib_copy_to_udata(udata, &resp, + min(udata->outlen, sizeof(resp))); + if (ret) goto err_srqc_alloc; - } } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw.h @@ -409,8 +409,8 @@ } /* i40iw.c */ -void i40iw_add_ref(struct ib_qp *); -void i40iw_rem_ref(struct ib_qp *); +void i40iw_qp_add_ref(struct ib_qp *ibqp); +void i40iw_qp_rem_ref(struct ib_qp *ibqp); struct ib_qp *i40iw_get_qp(struct ib_device *, int); void i40iw_flush_wqes(struct i40iw_device *iwdev, @@ -554,9 +554,8 @@ bool wait); void i40iw_receive_ilq(struct i40iw_sc_vsi *vsi, struct i40iw_puda_buf *rbuf); void i40iw_free_sqbuf(struct i40iw_sc_vsi *vsi, void *bufp); -void i40iw_free_qp_resources(struct i40iw_device *iwdev, - struct i40iw_qp *iwqp, - u32 qp_num); +void i40iw_free_qp_resources(struct i40iw_qp *iwqp); + enum i40iw_status_code i40iw_obj_aligned_mem(struct i40iw_device *iwdev, struct i40iw_dma_mem *memptr, u32 size, u32 mask); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_cm.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_cm.c @@ -2322,7 +2322,7 @@ iwqp = cm_node->iwqp; if (iwqp) { iwqp->cm_node = NULL; - i40iw_rem_ref(&iwqp->ibqp); + i40iw_qp_rem_ref(&iwqp->ibqp); cm_node->iwqp = NULL; } else if (cm_node->qhash_set) { i40iw_get_addr_info(cm_node, &nfo); @@ -3452,7 +3452,7 @@ kfree(work); return; } - i40iw_add_ref(&iwqp->ibqp); + i40iw_qp_add_ref(&iwqp->ibqp); spin_unlock_irqrestore(&iwdev->qptable_lock, flags); work->iwqp = iwqp; @@ -3623,7 +3623,7 @@ kfree(dwork); i40iw_cm_disconn_true(iwqp); - i40iw_rem_ref(&iwqp->ibqp); + i40iw_qp_rem_ref(&iwqp->ibqp); } /** @@ -3745,7 +3745,7 @@ cm_node->lsmm_size = accept.size + conn_param->private_data_len; i40iw_cm_init_tsa_conn(iwqp, cm_node); cm_id->add_ref(cm_id); - i40iw_add_ref(&iwqp->ibqp); + i40iw_qp_add_ref(&iwqp->ibqp); attr.qp_state = IB_QPS_RTS; cm_node->qhash_set = false; @@ -3908,7 +3908,7 @@ iwqp->cm_node = cm_node; cm_node->iwqp = iwqp; iwqp->cm_id = cm_id; - i40iw_add_ref(&iwqp->ibqp); + i40iw_qp_add_ref(&iwqp->ibqp); if (cm_node->state != I40IW_CM_STATE_OFFLOADED) { cm_node->state = I40IW_CM_STATE_SYN_SENT; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_hw.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_hw.c @@ -313,7 +313,7 @@ __func__, info->qp_cq_id); continue; } - i40iw_add_ref(&iwqp->ibqp); + i40iw_qp_add_ref(&iwqp->ibqp); spin_unlock_irqrestore(&iwdev->qptable_lock, flags); qp = &iwqp->sc_qp; spin_lock_irqsave(&iwqp->lock, flags); @@ -427,7 +427,7 @@ break; } if (info->qp) - i40iw_rem_ref(&iwqp->ibqp); + i40iw_qp_rem_ref(&iwqp->ibqp); } while (1); if (aeqcnt) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_main.c @@ -54,10 +54,6 @@ #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \ __stringify(DRV_VERSION_MINOR) "." __stringify(DRV_VERSION_BUILD) -static int push_mode; -module_param(push_mode, int, 0644); -MODULE_PARM_DESC(push_mode, "Low latency mode: 0=disabled (default), 1=enabled)"); - static int debug; module_param(debug, int, 0644); MODULE_PARM_DESC(debug, "debug flags: 0=disabled (default), 0x7fffffff=all"); @@ -1582,7 +1578,6 @@ if (status) goto exit; iwdev->obj_next = iwdev->obj_mem; - iwdev->push_mode = push_mode; init_waitqueue_head(&iwdev->vchnl_waitq); init_waitqueue_head(&dev->vf_reqs); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_utils.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_utils.c @@ -480,25 +480,6 @@ } /** - * i40iw_free_qp - callback after destroy cqp completes - * @cqp_request: cqp request for destroy qp - * @num: not used - */ -static void i40iw_free_qp(struct i40iw_cqp_request *cqp_request, u32 num) -{ - struct i40iw_sc_qp *qp = (struct i40iw_sc_qp *)cqp_request->param; - struct i40iw_qp *iwqp = (struct i40iw_qp *)qp->back_qp; - struct i40iw_device *iwdev; - u32 qp_num = iwqp->ibqp.qp_num; - - iwdev = iwqp->iwdev; - - i40iw_rem_pdusecount(iwqp->iwpd, iwdev); - i40iw_free_qp_resources(iwdev, iwqp, qp_num); - i40iw_rem_devusecount(iwdev); -} - -/** * i40iw_wait_event - wait for completion * @iwdev: iwarp device * @cqp_request: cqp request to wait @@ -618,26 +599,23 @@ } /** - * i40iw_add_ref - add refcount for qp + * i40iw_qp_add_ref - add refcount for qp * @ibqp: iqarp qp */ -void i40iw_add_ref(struct ib_qp *ibqp) +void i40iw_qp_add_ref(struct ib_qp *ibqp) { struct i40iw_qp *iwqp = (struct i40iw_qp *)ibqp; - atomic_inc(&iwqp->refcount); + refcount_inc(&iwqp->refcount); } /** - * i40iw_rem_ref - rem refcount for qp and free if 0 + * i40iw_qp_rem_ref - rem refcount for qp and free if 0 * @ibqp: iqarp qp */ -void i40iw_rem_ref(struct ib_qp *ibqp) +void i40iw_qp_rem_ref(struct ib_qp *ibqp) { struct i40iw_qp *iwqp; - enum i40iw_status_code status; - struct i40iw_cqp_request *cqp_request; - struct cqp_commands_info *cqp_info; struct i40iw_device *iwdev; u32 qp_num; unsigned long flags; @@ -645,7 +623,7 @@ iwqp = to_iwqp(ibqp); iwdev = iwqp->iwdev; spin_lock_irqsave(&iwdev->qptable_lock, flags); - if (!atomic_dec_and_test(&iwqp->refcount)) { + if (!refcount_dec_and_test(&iwqp->refcount)) { spin_unlock_irqrestore(&iwdev->qptable_lock, flags); return; } @@ -653,25 +631,8 @@ qp_num = iwqp->ibqp.qp_num; iwdev->qp_table[qp_num] = NULL; spin_unlock_irqrestore(&iwdev->qptable_lock, flags); - cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); - if (!cqp_request) - return; - - cqp_request->callback_fcn = i40iw_free_qp; - cqp_request->param = (void *)&iwqp->sc_qp; - cqp_info = &cqp_request->info; - cqp_info->cqp_cmd = OP_QP_DESTROY; - cqp_info->post_sq = 1; - cqp_info->in.u.qp_destroy.qp = &iwqp->sc_qp; - cqp_info->in.u.qp_destroy.scratch = (uintptr_t)cqp_request; - cqp_info->in.u.qp_destroy.remove_hash_idx = true; - status = i40iw_handle_cqp_op(iwdev, cqp_request); - if (!status) - return; + complete(&iwqp->free_qp); - i40iw_rem_pdusecount(iwqp->iwpd, iwdev); - i40iw_free_qp_resources(iwdev, iwqp, qp_num); - i40iw_rem_devusecount(iwdev); } /** @@ -938,7 +899,7 @@ struct i40iw_sc_qp *qp = (struct i40iw_sc_qp *)&iwqp->sc_qp; i40iw_terminate_done(qp, 1); - i40iw_rem_ref(&iwqp->ibqp); + i40iw_qp_rem_ref(&iwqp->ibqp); } /** @@ -950,7 +911,7 @@ struct i40iw_qp *iwqp; iwqp = (struct i40iw_qp *)qp->back_qp; - i40iw_add_ref(&iwqp->ibqp); + i40iw_qp_add_ref(&iwqp->ibqp); timer_setup(&iwqp->terminate_timer, i40iw_terminate_timeout, 0); iwqp->terminate_timer.expires = jiffies + HZ; add_timer(&iwqp->terminate_timer); @@ -966,7 +927,7 @@ iwqp = (struct i40iw_qp *)qp->back_qp; if (del_timer(&iwqp->terminate_timer)) - i40iw_rem_ref(&iwqp->ibqp); + i40iw_qp_rem_ref(&iwqp->ibqp); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_verbs.c @@ -168,39 +168,16 @@ */ static int i40iw_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) { - struct i40iw_ucontext *ucontext; - u64 db_addr_offset, push_offset, pfn; + struct i40iw_ucontext *ucontext = to_ucontext(context); + u64 dbaddr; - ucontext = to_ucontext(context); - if (ucontext->iwdev->sc_dev.is_pf) { - db_addr_offset = I40IW_DB_ADDR_OFFSET; - push_offset = I40IW_PUSH_OFFSET; - if (vma->vm_pgoff) - vma->vm_pgoff += I40IW_PF_FIRST_PUSH_PAGE_INDEX - 1; - } else { - db_addr_offset = I40IW_VF_DB_ADDR_OFFSET; - push_offset = I40IW_VF_PUSH_OFFSET; - if (vma->vm_pgoff) - vma->vm_pgoff += I40IW_VF_FIRST_PUSH_PAGE_INDEX - 1; - } - - vma->vm_pgoff += db_addr_offset >> PAGE_SHIFT; - - if (vma->vm_pgoff == (db_addr_offset >> PAGE_SHIFT)) { - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); - } else { - if ((vma->vm_pgoff - (push_offset >> PAGE_SHIFT)) % 2) - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); - else - vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); - } + if (vma->vm_pgoff || vma->vm_end - vma->vm_start != PAGE_SIZE) + return -EINVAL; - pfn = vma->vm_pgoff + - (pci_resource_start(ucontext->iwdev->ldev->pcidev, 0) >> - PAGE_SHIFT); + dbaddr = I40IW_DB_ADDR_OFFSET + pci_resource_start(ucontext->iwdev->ldev->pcidev, 0); - return rdma_user_mmap_io(context, vma, pfn, PAGE_SIZE, - vma->vm_page_prot, NULL); + return rdma_user_mmap_io(context, vma, dbaddr >> PAGE_SHIFT, PAGE_SIZE, + pgprot_noncached(vma->vm_page_prot), NULL); } /** @@ -364,11 +341,11 @@ * @iwqp: qp ptr (user or kernel) * @qp_num: qp number assigned */ -void i40iw_free_qp_resources(struct i40iw_device *iwdev, - struct i40iw_qp *iwqp, - u32 qp_num) +void i40iw_free_qp_resources(struct i40iw_qp *iwqp) { struct i40iw_pbl *iwpbl = &iwqp->iwpbl; + struct i40iw_device *iwdev = iwqp->iwdev; + u32 qp_num = iwqp->ibqp.qp_num; i40iw_ieq_cleanup_qp(iwdev->vsi.ieq, &iwqp->sc_qp); i40iw_dealloc_push_page(iwdev, &iwqp->sc_qp); @@ -402,6 +379,10 @@ static int i40iw_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) { struct i40iw_qp *iwqp = to_iwqp(ibqp); + struct ib_qp_attr attr; + struct i40iw_device *iwdev = iwqp->iwdev; + + memset(&attr, 0, sizeof(attr)); iwqp->destroyed = 1; @@ -416,7 +397,15 @@ } } - i40iw_rem_ref(&iwqp->ibqp); + attr.qp_state = IB_QPS_ERR; + i40iw_modify_qp(&iwqp->ibqp, &attr, IB_QP_STATE, NULL); + i40iw_qp_rem_ref(&iwqp->ibqp); + wait_for_completion(&iwqp->free_qp); + i40iw_cqp_qp_destroy_cmd(&iwdev->sc_dev, &iwqp->sc_qp); + i40iw_rem_pdusecount(iwqp->iwpd, iwdev); + i40iw_free_qp_resources(iwqp); + i40iw_rem_devusecount(iwdev); + return 0; } @@ -577,6 +566,7 @@ qp->back_qp = (void *)iwqp; qp->push_idx = I40IW_INVALID_PUSH_PAGE_INDEX; + iwqp->iwdev = iwdev; iwqp->ctx_info.iwarp_info = &iwqp->iwarp_info; if (i40iw_allocate_dma_mem(dev->hw, @@ -601,7 +591,6 @@ goto error; } - iwqp->iwdev = iwdev; iwqp->iwpd = iwpd; iwqp->ibqp.qp_num = qp_num; qp = &iwqp->sc_qp; @@ -715,7 +704,7 @@ goto error; } - i40iw_add_ref(&iwqp->ibqp); + refcount_set(&iwqp->refcount, 1); spin_lock_init(&iwqp->lock); iwqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) ? 1 : 0; iwdev->qp_table[qp_num] = iwqp; @@ -737,10 +726,11 @@ } init_completion(&iwqp->sq_drained); init_completion(&iwqp->rq_drained); + init_completion(&iwqp->free_qp); return &iwqp->ibqp; error: - i40iw_free_qp_resources(iwdev, iwqp, qp_num); + i40iw_free_qp_resources(iwqp); return ERR_PTR(err_code); } @@ -1053,7 +1043,7 @@ * @ib_cq: cq pointer * @udata: user data or NULL for kernel object */ -static void i40iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) +static int i40iw_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) { struct i40iw_cq *iwcq; struct i40iw_device *iwdev; @@ -1065,6 +1055,7 @@ i40iw_cq_wq_destroy(iwdev, cq); cq_free_resources(iwdev, iwcq); i40iw_rem_devusecount(iwdev); + return 0; } /** @@ -2656,13 +2647,13 @@ .get_hw_stats = i40iw_get_hw_stats, .get_port_immutable = i40iw_port_immutable, .iw_accept = i40iw_accept, - .iw_add_ref = i40iw_add_ref, + .iw_add_ref = i40iw_qp_add_ref, .iw_connect = i40iw_connect, .iw_create_listen = i40iw_create_listen, .iw_destroy_listen = i40iw_destroy_listen, .iw_get_qp = i40iw_get_qp, .iw_reject = i40iw_reject, - .iw_rem_ref = i40iw_rem_ref, + .iw_rem_ref = i40iw_qp_rem_ref, .map_mr_sg = i40iw_map_mr_sg, .mmap = i40iw_mmap, .modify_qp = i40iw_modify_qp, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/i40iw/i40iw_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/i40iw/i40iw_verbs.h @@ -139,7 +139,7 @@ struct i40iw_qp_host_ctx_info ctx_info; struct i40iwarp_offload_info iwarp_info; void *allocated_buffer; - atomic_t refcount; + refcount_t refcount; struct iw_cm_id *cm_id; void *cm_node; struct ib_mr *lsmm_mr; @@ -174,5 +174,6 @@ struct i40iw_dma_mem ietf_mem; struct completion sq_drained; struct completion rq_drained; + struct completion free_qp; }; #endif --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/cm.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/cm.c @@ -280,6 +280,9 @@ if (!sriov->is_going_down && !id->scheduled_delete) { id->scheduled_delete = 1; schedule_delayed_work(&id->timeout, CM_CLEANUP_CACHE_TIMEOUT); + } else if (id->scheduled_delete) { + /* Adjust timeout if already scheduled */ + mod_delayed_work(system_wq, &id->timeout, CM_CLEANUP_CACHE_TIMEOUT); } spin_unlock_irqrestore(&sriov->going_down_lock, flags); spin_unlock(&sriov->id_map_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/cq.c @@ -475,7 +475,7 @@ return err; } -void mlx4_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) +int mlx4_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) { struct mlx4_ib_dev *dev = to_mdev(cq->device); struct mlx4_ib_cq *mcq = to_mcq(cq); @@ -495,6 +495,7 @@ mlx4_db_free(dev->dev, &mcq->db); } ib_umem_release(mcq->umem); + return 0; } static void dump_cqe(void *cqe) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/mad.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/mad.c @@ -1299,6 +1299,18 @@ spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); } +static void mlx4_ib_wire_comp_handler(struct ib_cq *cq, void *arg) +{ + unsigned long flags; + struct mlx4_ib_demux_pv_ctx *ctx = cq->cq_context; + struct mlx4_ib_dev *dev = to_mdev(ctx->ib_dev); + + spin_lock_irqsave(&dev->sriov.going_down_lock, flags); + if (!dev->sriov.is_going_down && ctx->state == DEMUX_PV_STATE_ACTIVE) + queue_work(ctx->wi_wq, &ctx->work); + spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); +} + static int mlx4_ib_post_pv_qp_buf(struct mlx4_ib_demux_pv_ctx *ctx, struct mlx4_ib_demux_pv_qp *tun_qp, int index) @@ -2001,7 +2013,8 @@ cq_size *= 2; cq_attr.cqe = cq_size; - ctx->cq = ib_create_cq(ctx->ib_dev, mlx4_ib_tunnel_comp_handler, + ctx->cq = ib_create_cq(ctx->ib_dev, + create_tun ? mlx4_ib_tunnel_comp_handler : mlx4_ib_wire_comp_handler, NULL, ctx, &cq_attr); if (IS_ERR(ctx->cq)) { ret = PTR_ERR(ctx->cq); @@ -2038,6 +2051,7 @@ INIT_WORK(&ctx->work, mlx4_ib_sqp_comp_worker); ctx->wq = to_mdev(ibdev)->sriov.demux[port - 1].wq; + ctx->wi_wq = to_mdev(ibdev)->sriov.demux[port - 1].wi_wq; ret = ib_req_notify_cq(ctx->cq, IB_CQ_NEXT_COMP); if (ret) { @@ -2181,7 +2195,7 @@ goto err_mcg; } - snprintf(name, sizeof name, "mlx4_ibt%d", port); + snprintf(name, sizeof(name), "mlx4_ibt%d", port); ctx->wq = alloc_ordered_workqueue(name, WQ_MEM_RECLAIM); if (!ctx->wq) { pr_err("Failed to create tunnelling WQ for port %d\n", port); @@ -2189,7 +2203,15 @@ goto err_wq; } - snprintf(name, sizeof name, "mlx4_ibud%d", port); + snprintf(name, sizeof(name), "mlx4_ibwi%d", port); + ctx->wi_wq = alloc_ordered_workqueue(name, WQ_MEM_RECLAIM); + if (!ctx->wi_wq) { + pr_err("Failed to create wire WQ for port %d\n", port); + ret = -ENOMEM; + goto err_wiwq; + } + + snprintf(name, sizeof(name), "mlx4_ibud%d", port); ctx->ud_wq = alloc_ordered_workqueue(name, WQ_MEM_RECLAIM); if (!ctx->ud_wq) { pr_err("Failed to create up/down WQ for port %d\n", port); @@ -2200,6 +2222,10 @@ return 0; err_udwq: + destroy_workqueue(ctx->wi_wq); + ctx->wi_wq = NULL; + +err_wiwq: destroy_workqueue(ctx->wq); ctx->wq = NULL; @@ -2247,12 +2273,14 @@ ctx->tun[i]->state = DEMUX_PV_STATE_DOWNING; } flush_workqueue(ctx->wq); + flush_workqueue(ctx->wi_wq); for (i = 0; i < dev->dev->caps.sqp_demux; i++) { destroy_pv_resources(dev, i, ctx->port, ctx->tun[i], 0); free_pv_object(dev, i, ctx->port); } kfree(ctx->tun); destroy_workqueue(ctx->ud_wq); + destroy_workqueue(ctx->wi_wq); destroy_workqueue(ctx->wq); } } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/main.c @@ -784,7 +784,8 @@ props->ip_gids = true; props->gid_tbl_len = mdev->dev->caps.gid_table_len[port]; props->max_msg_sz = mdev->dev->caps.max_msg_sz; - props->pkey_tbl_len = 1; + if (mdev->dev->caps.pkey_table_len[port]) + props->pkey_tbl_len = 1; props->max_mtu = IB_MTU_4096; props->max_vl_num = 2; props->state = IB_PORT_DOWN; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/mlx4_ib.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/mlx4_ib.h @@ -454,6 +454,7 @@ struct ib_pd *pd; struct work_struct work; struct workqueue_struct *wq; + struct workqueue_struct *wi_wq; struct mlx4_ib_demux_pv_qp qp[2]; }; @@ -461,6 +462,7 @@ struct ib_device *ib_dev; int port; struct workqueue_struct *wq; + struct workqueue_struct *wi_wq; struct workqueue_struct *ud_wq; spinlock_t ud_lock; atomic64_t subnet_prefix; @@ -736,7 +738,7 @@ int mlx4_ib_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata); int mlx4_ib_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void mlx4_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); +int mlx4_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); int mlx4_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); int mlx4_ib_arm_cq(struct ib_cq *cq, enum ib_cq_notify_flags flags); void __mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx4/mr.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx4/mr.c @@ -439,7 +439,6 @@ mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; mr->ibmr.length = length; - mr->ibmr.iova = virt_addr; mr->ibmr.page_size = 1U << shift; return &mr->ibmr; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/cq.c @@ -168,7 +168,7 @@ { enum rdma_link_layer ll = rdma_port_get_link_layer(qp->ibqp.device, 1); struct mlx5_ib_dev *dev = to_mdev(qp->ibqp.device); - struct mlx5_ib_srq *srq; + struct mlx5_ib_srq *srq = NULL; struct mlx5_ib_wq *wq; u16 wqe_ctr; u8 roce_packet_type; @@ -180,7 +180,8 @@ if (qp->ibqp.xrcd) { msrq = mlx5_cmd_get_srq(dev, be32_to_cpu(cqe->srqn)); - srq = to_mibsrq(msrq); + if (msrq) + srq = to_mibsrq(msrq); } else { srq = to_msrq(qp->ibqp.srq); } @@ -1023,16 +1024,21 @@ return err; } -void mlx5_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) +int mlx5_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) { struct mlx5_ib_dev *dev = to_mdev(cq->device); struct mlx5_ib_cq *mcq = to_mcq(cq); + int ret; + + ret = mlx5_core_destroy_cq(dev->mdev, &mcq->mcq); + if (ret) + return ret; - mlx5_core_destroy_cq(dev->mdev, &mcq->mcq); if (udata) destroy_cq_user(mcq, udata); else destroy_cq_kernel(dev, mcq); + return 0; } static int is_equal_rsn(struct mlx5_cqe64 *cqe64, u32 rsn) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/devx.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/devx.c @@ -1124,7 +1124,9 @@ MLX5_SET(general_obj_in_cmd_hdr, din, opcode, MLX5_CMD_OP_DESTROY_RQT); break; case MLX5_CMD_OP_CREATE_TIR: - MLX5_SET(general_obj_in_cmd_hdr, din, opcode, MLX5_CMD_OP_DESTROY_TIR); + *obj_id = MLX5_GET(create_tir_out, out, tirn); + MLX5_SET(destroy_tir_in, din, opcode, MLX5_CMD_OP_DESTROY_TIR); + MLX5_SET(destroy_tir_in, din, tirn, *obj_id); break; case MLX5_CMD_OP_CREATE_TIS: MLX5_SET(general_obj_in_cmd_hdr, din, opcode, MLX5_CMD_OP_DESTROY_TIS); @@ -2028,8 +2030,10 @@ num_alloc_xa_entries++; event_sub = kzalloc(sizeof(*event_sub), GFP_KERNEL); - if (!event_sub) + if (!event_sub) { + err = -ENOMEM; goto err; + } list_add_tail(&event_sub->event_list, &sub_list); uverbs_uobject_get(&ev_file->uobj); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/main.c @@ -867,7 +867,9 @@ /* We support 'Gappy' memory registration too */ props->device_cap_flags |= IB_DEVICE_SG_GAPS_REG; } - props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS; + /* IB_WR_REG_MR always requires changing the entity size with UMR */ + if (!MLX5_CAP_GEN(dev->mdev, umr_modify_entity_size_disabled)) + props->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS; if (MLX5_CAP_GEN(mdev, sho)) { props->device_cap_flags |= IB_DEVICE_INTEGRITY_HANDOVER; /* At this stage no support for signature handover */ @@ -6474,7 +6476,7 @@ mlx5_ib_cleanup_multiport_master(dev); WARN_ON(!xa_empty(&dev->odp_mkeys)); cleanup_srcu_struct(&dev->odp_srcu); - + mutex_destroy(&dev->cap_mask_mutex); WARN_ON(!xa_empty(&dev->sig_mrs)); WARN_ON(!bitmap_empty(dev->dm.memic_alloc_pages, MLX5_MAX_MEMIC_PAGES)); } @@ -6501,7 +6503,7 @@ err = set_has_smi_cap(dev); if (err) - return err; + goto err_mp; if (!mlx5_core_mp_enabled(mdev)) { for (i = 1; i <= dev->num_ports; i++) { @@ -6525,6 +6527,10 @@ dev->ib_dev.dev.parent = mdev->device; dev->ib_dev.lag_flags = RDMA_LAG_FLAGS_HASH_ALL_SLAVES; + err = init_srcu_struct(&dev->odp_srcu); + if (err) + goto err_mp; + mutex_init(&dev->cap_mask_mutex); INIT_LIST_HEAD(&dev->qp_list); spin_lock_init(&dev->reset_flow_resource_lock); @@ -6534,17 +6540,11 @@ spin_lock_init(&dev->dm.lock); dev->dm.dev = mdev; - - err = init_srcu_struct(&dev->odp_srcu); - if (err) - goto err_mp; - return 0; err_mp: mlx5_ib_cleanup_multiport_master(dev); - - return -ENOMEM; + return err; } static int mlx5_ib_stage_flow_db_init(struct mlx5_ib_dev *dev) @@ -6998,7 +6998,7 @@ err = mlx5_alloc_bfreg(dev->mdev, &dev->fp_bfreg, false, true); if (err) - mlx5_free_bfreg(dev->mdev, &dev->fp_bfreg); + mlx5_free_bfreg(dev->mdev, &dev->bfreg); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/mlx5_ib.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/mlx5_ib.h @@ -1180,7 +1180,7 @@ size_t buflen, size_t *bc); int mlx5_ib_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void mlx5_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); +int mlx5_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); int mlx5_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); int mlx5_ib_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags flags); int mlx5_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/mr.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/mr.c @@ -50,6 +50,29 @@ static void create_mkey_callback(int status, struct mlx5_async_work *context); +static void set_mkc_access_pd_addr_fields(void *mkc, int acc, u64 start_addr, + struct ib_pd *pd) +{ + struct mlx5_ib_dev *dev = to_mdev(pd->device); + + MLX5_SET(mkc, mkc, a, !!(acc & IB_ACCESS_REMOTE_ATOMIC)); + MLX5_SET(mkc, mkc, rw, !!(acc & IB_ACCESS_REMOTE_WRITE)); + MLX5_SET(mkc, mkc, rr, !!(acc & IB_ACCESS_REMOTE_READ)); + MLX5_SET(mkc, mkc, lw, !!(acc & IB_ACCESS_LOCAL_WRITE)); + MLX5_SET(mkc, mkc, lr, 1); + + if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write)) + MLX5_SET(mkc, mkc, relaxed_ordering_write, + !!(acc & IB_ACCESS_RELAXED_ORDERING)); + if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read)) + MLX5_SET(mkc, mkc, relaxed_ordering_read, + !!(acc & IB_ACCESS_RELAXED_ORDERING)); + + MLX5_SET(mkc, mkc, pd, to_mpd(pd)->pdn); + MLX5_SET(mkc, mkc, qpn, 0xffffff); + MLX5_SET64(mkc, mkc, start_addr, start_addr); +} + static void assign_mkey_variant(struct mlx5_ib_dev *dev, struct mlx5_core_mkey *mkey, u32 *in) @@ -152,12 +175,12 @@ mr->cache_ent = ent; mr->dev = ent->dev; + set_mkc_access_pd_addr_fields(mkc, 0, 0, ent->dev->umrc.pd); MLX5_SET(mkc, mkc, free, 1); MLX5_SET(mkc, mkc, umr_en, 1); MLX5_SET(mkc, mkc, access_mode_1_0, ent->access_mode & 0x3); MLX5_SET(mkc, mkc, access_mode_4_2, (ent->access_mode >> 2) & 0x7); - MLX5_SET(mkc, mkc, qpn, 0xffffff); MLX5_SET(mkc, mkc, translations_octword_size, ent->xlt); MLX5_SET(mkc, mkc, log_page_size, ent->page); return mr; @@ -613,6 +636,7 @@ if (mlx5_mr_cache_invalidate(mr)) { detach_mr_from_cache(mr); destroy_mkey(dev, mr); + kfree(mr); return; } @@ -774,29 +798,6 @@ return 0; } -static void set_mkc_access_pd_addr_fields(void *mkc, int acc, u64 start_addr, - struct ib_pd *pd) -{ - struct mlx5_ib_dev *dev = to_mdev(pd->device); - - MLX5_SET(mkc, mkc, a, !!(acc & IB_ACCESS_REMOTE_ATOMIC)); - MLX5_SET(mkc, mkc, rw, !!(acc & IB_ACCESS_REMOTE_WRITE)); - MLX5_SET(mkc, mkc, rr, !!(acc & IB_ACCESS_REMOTE_READ)); - MLX5_SET(mkc, mkc, lw, !!(acc & IB_ACCESS_LOCAL_WRITE)); - MLX5_SET(mkc, mkc, lr, 1); - - if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write)) - MLX5_SET(mkc, mkc, relaxed_ordering_write, - !!(acc & IB_ACCESS_RELAXED_ORDERING)); - if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read)) - MLX5_SET(mkc, mkc, relaxed_ordering_read, - !!(acc & IB_ACCESS_RELAXED_ORDERING)); - - MLX5_SET(mkc, mkc, pd, to_mpd(pd)->pdn); - MLX5_SET(mkc, mkc, qpn, 0xffffff); - MLX5_SET64(mkc, mkc, start_addr, start_addr); -} - struct ib_mr *mlx5_ib_get_dma_mr(struct ib_pd *pd, int acc) { struct mlx5_ib_dev *dev = to_mdev(pd->device); @@ -1190,29 +1191,17 @@ MLX5_SET(create_mkey_in, in, pg_access, !!(pg_cap)); mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry); + set_mkc_access_pd_addr_fields(mkc, access_flags, virt_addr, + populate ? pd : dev->umrc.pd); MLX5_SET(mkc, mkc, free, !populate); MLX5_SET(mkc, mkc, access_mode_1_0, MLX5_MKC_ACCESS_MODE_MTT); - if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write)) - MLX5_SET(mkc, mkc, relaxed_ordering_write, - !!(access_flags & IB_ACCESS_RELAXED_ORDERING)); - if (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read)) - MLX5_SET(mkc, mkc, relaxed_ordering_read, - !!(access_flags & IB_ACCESS_RELAXED_ORDERING)); - MLX5_SET(mkc, mkc, a, !!(access_flags & IB_ACCESS_REMOTE_ATOMIC)); - MLX5_SET(mkc, mkc, rw, !!(access_flags & IB_ACCESS_REMOTE_WRITE)); - MLX5_SET(mkc, mkc, rr, !!(access_flags & IB_ACCESS_REMOTE_READ)); - MLX5_SET(mkc, mkc, lw, !!(access_flags & IB_ACCESS_LOCAL_WRITE)); - MLX5_SET(mkc, mkc, lr, 1); MLX5_SET(mkc, mkc, umr_en, 1); - MLX5_SET64(mkc, mkc, start_addr, virt_addr); MLX5_SET64(mkc, mkc, len, length); - MLX5_SET(mkc, mkc, pd, to_mpd(pd)->pdn); MLX5_SET(mkc, mkc, bsf_octword_size, 0); MLX5_SET(mkc, mkc, translations_octword_size, get_octo_len(virt_addr, length, page_shift)); MLX5_SET(mkc, mkc, log_page_size, page_shift); - MLX5_SET(mkc, mkc, qpn, 0xffffff); if (populate) { MLX5_SET(create_mkey_in, in, translations_octword_actual_size, get_octo_len(virt_addr, length, page_shift)); @@ -1243,10 +1232,8 @@ } static void set_mr_fields(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr, - int npages, u64 length, int access_flags) + u64 length, int access_flags) { - mr->npages = npages; - atomic_add(npages, &dev->mdev->priv.reg_pages); mr->ibmr.lkey = mr->mmkey.key; mr->ibmr.rkey = mr->mmkey.key; mr->ibmr.length = length; @@ -1286,8 +1273,7 @@ kfree(in); - mr->umem = NULL; - set_mr_fields(dev, mr, 0, length, acc); + set_mr_fields(dev, mr, length, acc); return &mr->ibmr; @@ -1420,7 +1406,9 @@ mlx5_ib_dbg(dev, "mkey 0x%x\n", mr->mmkey.key); mr->umem = umem; - set_mr_fields(dev, mr, npages, length, access_flags); + mr->npages = npages; + atomic_add(mr->npages, &dev->mdev->priv.reg_pages); + set_mr_fields(dev, mr, length, access_flags); if (use_umr) { int update_xlt_flags = MLX5_IB_UPD_XLT_ENABLE; @@ -1525,8 +1513,6 @@ mlx5_ib_dbg(dev, "start 0x%llx, virt_addr 0x%llx, length 0x%llx, access_flags 0x%x\n", start, virt_addr, length, access_flags); - atomic_sub(mr->npages, &dev->mdev->priv.reg_pages); - if (!mr->umem) return -EINVAL; @@ -1547,12 +1533,17 @@ * used. */ flags |= IB_MR_REREG_TRANS; + atomic_sub(mr->npages, &dev->mdev->priv.reg_pages); + mr->npages = 0; ib_umem_release(mr->umem); mr->umem = NULL; + err = mr_umem_get(dev, addr, len, access_flags, &mr->umem, &npages, &page_shift, &ncont, &order); if (err) goto err; + mr->npages = ncont; + atomic_add(mr->npages, &dev->mdev->priv.reg_pages); } if (!mlx5_ib_can_use_umr(dev, true, access_flags) || @@ -1600,7 +1591,7 @@ goto err; } - set_mr_fields(dev, mr, npages, len, access_flags); + set_mr_fields(dev, mr, len, access_flags); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mlx5/qp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mlx5/qp.c @@ -2452,8 +2452,6 @@ case MLX5_IB_QPT_HW_GSI: case IB_QPT_DRIVER: case IB_QPT_GSI: - if (dev->profile == &raw_eth_profile) - goto out; case IB_QPT_RAW_PACKET: case IB_QPT_UD: case MLX5_IB_QPT_REG_UMR: @@ -2660,10 +2658,6 @@ int create_flags = attr->create_flags; bool cond; - if (qp->type == IB_QPT_UD && dev->profile == &raw_eth_profile) - if (create_flags & ~MLX5_IB_QP_CREATE_WC_TEST) - return -EINVAL; - if (qp_type == MLX5_IB_QPT_DCT) return (create_flags) ? -EINVAL : 0; @@ -4215,6 +4209,23 @@ return err; } +static bool mlx5_ib_modify_qp_allowed(struct mlx5_ib_dev *dev, + struct mlx5_ib_qp *qp, + enum ib_qp_type qp_type) +{ + if (dev->profile != &raw_eth_profile) + return true; + + if (qp_type == IB_QPT_RAW_PACKET || qp_type == MLX5_IB_QPT_REG_UMR) + return true; + + /* Internal QP used for wc testing, with NOPs in wq */ + if (qp->flags & MLX5_IB_QP_CREATE_WC_TEST) + return true; + + return false; +} + int mlx5_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) { @@ -4227,6 +4238,9 @@ int err = -EINVAL; int port; + if (!mlx5_ib_modify_qp_allowed(dev, qp, ibqp->qp_type)) + return -EOPNOTSUPP; + if (ibqp->rwq_ind_tbl) return -ENOSYS; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mthca/mthca_cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mthca/mthca_cq.c @@ -604,7 +604,7 @@ entry->byte_len = MTHCA_ATOMIC_BYTE_LEN; break; default: - entry->opcode = MTHCA_OPCODE_INVALID; + entry->opcode = 0xFF; break; } } else { @@ -803,8 +803,10 @@ } mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); - if (IS_ERR(mailbox)) + if (IS_ERR(mailbox)) { + err = PTR_ERR(mailbox); goto err_out_arm; + } cq_context = mailbox->buf; @@ -846,9 +848,9 @@ } spin_lock_irq(&dev->cq_table.lock); - if (mthca_array_set(&dev->cq_table.cq, - cq->cqn & (dev->limits.num_cqs - 1), - cq)) { + err = mthca_array_set(&dev->cq_table.cq, + cq->cqn & (dev->limits.num_cqs - 1), cq); + if (err) { spin_unlock_irq(&dev->cq_table.lock); goto err_out_free_mr; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mthca/mthca_dev.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mthca/mthca_dev.h @@ -105,7 +105,6 @@ MTHCA_OPCODE_ATOMIC_CS = 0x11, MTHCA_OPCODE_ATOMIC_FA = 0x12, MTHCA_OPCODE_BIND_MW = 0x18, - MTHCA_OPCODE_INVALID = 0xff }; enum { --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/mthca/mthca_provider.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/mthca/mthca_provider.c @@ -789,7 +789,7 @@ return ret; } -static void mthca_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) +static int mthca_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) { if (udata) { struct mthca_ucontext *context = @@ -808,6 +808,7 @@ to_mcq(cq)->set_ci_db_index); } mthca_free_cq(to_mdev(cq->device), to_mcq(cq)); + return 0; } static inline u32 convert_access(int acc) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c @@ -434,9 +434,9 @@ pr_err("%s(%d) Freeing in use pdid=0x%x.\n", __func__, dev->id, pd->id); } - kfree(uctx->cntxt_pd); uctx->cntxt_pd = NULL; _ocrdma_dealloc_pd(dev, pd); + kfree(pd); } static struct ocrdma_pd *ocrdma_get_ucontext_pd(struct ocrdma_ucontext *uctx) @@ -1056,7 +1056,7 @@ spin_unlock_irqrestore(&cq->cq_lock, flags); } -void ocrdma_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +int ocrdma_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct ocrdma_cq *cq = get_ocrdma_cq(ibcq); struct ocrdma_eq *eq = NULL; @@ -1081,6 +1081,7 @@ ocrdma_get_db_addr(dev, pdid), dev->nic_info.db_page_size); } + return 0; } static int ocrdma_add_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/ocrdma/ocrdma_verbs.h @@ -72,7 +72,7 @@ int ocrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); int ocrdma_resize_cq(struct ib_cq *, int cqe, struct ib_udata *); -void ocrdma_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); +int ocrdma_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); struct ib_qp *ocrdma_create_qp(struct ib_pd *, struct ib_qp_init_attr *attrs, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/qedr/main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/qedr/main.c @@ -601,7 +601,7 @@ qed_attr = dev->ops->rdma_query_device(dev->rdma_ctx); /* Part 2 - check capabilities */ - page_size = ~dev->attr.page_size_caps + 1; + page_size = ~qed_attr->page_size_caps + 1; if (page_size > PAGE_SIZE) { DP_ERR(dev, "Kernel PAGE_SIZE is %ld which is smaller than minimum page size (%d) required by qedr\n", --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/qedr/qedr.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/qedr/qedr.h @@ -235,6 +235,7 @@ u32 dpi_size; u16 dpi; bool db_rec; + u8 edpm_mode; }; union db_prod32 { @@ -344,10 +345,10 @@ u32 wqe_prod; u32 sge_prod; u32 wr_prod_cnt; - u32 wr_cons_cnt; + atomic_t wr_cons_cnt; u32 num_elems; - u32 *virt_prod_pair_addr; + struct rdma_srq_producers *virt_prod_pair_addr; dma_addr_t phy_prod_pair_addr; }; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/qedr/qedr_iw_cm.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/qedr/qedr_iw_cm.c @@ -727,6 +727,7 @@ listener->qed_handle); cm_id->rem_ref(cm_id); + kfree(listener); return rc; } @@ -736,7 +737,7 @@ struct qedr_dev *dev = ep->dev; struct qedr_qp *qp; struct qed_iwarp_accept_in params; - int rc = 0; + int rc; DP_DEBUG(dev, QEDR_MSG_IWARP, "Accept on qpid=%d\n", conn_param->qpn); @@ -759,8 +760,10 @@ params.ord = conn_param->ord; if (test_and_set_bit(QEDR_IWARP_CM_WAIT_FOR_CONNECT, - &qp->iwarp_cm_flags)) + &qp->iwarp_cm_flags)) { + rc = -EINVAL; goto err; /* QP already destroyed */ + } rc = dev->ops->iwarp_accept(dev->rdma_ctx, ¶ms); if (rc) { --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/qedr/verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/qedr/verbs.c @@ -275,7 +275,8 @@ DP_ERR(dev, "Problem copying data from user space\n"); return -EFAULT; } - + ctx->edpm_mode = !!(ureq.context_flags & + QEDR_ALLOC_UCTX_EDPM_MODE); ctx->db_rec = !!(ureq.context_flags & QEDR_ALLOC_UCTX_DB_REC); } @@ -316,11 +317,15 @@ uresp.dpm_flags = QEDR_DPM_TYPE_IWARP_LEGACY; else uresp.dpm_flags = QEDR_DPM_TYPE_ROCE_ENHANCED | - QEDR_DPM_TYPE_ROCE_LEGACY; + QEDR_DPM_TYPE_ROCE_LEGACY | + QEDR_DPM_TYPE_ROCE_EDPM_MODE; - uresp.dpm_flags |= QEDR_DPM_SIZES_SET; - uresp.ldpm_limit_size = QEDR_LDPM_MAX_SIZE; - uresp.edpm_trans_size = QEDR_EDPM_TRANS_SIZE; + if (ureq.context_flags & QEDR_SUPPORT_DPM_SIZES) { + uresp.dpm_flags |= QEDR_DPM_SIZES_SET; + uresp.ldpm_limit_size = QEDR_LDPM_MAX_SIZE; + uresp.edpm_trans_size = QEDR_EDPM_TRANS_SIZE; + uresp.edpm_limit_size = QEDR_EDPM_MAX_SIZE; + } uresp.wids_enabled = 1; uresp.wid_count = oparams.wid_count; @@ -993,7 +998,7 @@ /* Generate doorbell address. */ cq->db.data.icid = cq->icid; cq->db_addr = dev->db_addr + db_offset; - cq->db.data.params = DB_AGG_CMD_SET << + cq->db.data.params = DB_AGG_CMD_MAX << RDMA_PWM_VAL32_DATA_AGG_CMD_SHIFT; /* point to the very last element, passing it we will toggle */ @@ -1045,7 +1050,7 @@ #define QEDR_DESTROY_CQ_MAX_ITERATIONS (10) #define QEDR_DESTROY_CQ_ITER_DURATION (10) -void qedr_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +int qedr_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct qedr_dev *dev = get_qedr_dev(ibcq->device); struct qed_rdma_destroy_cq_out_params oparams; @@ -1060,7 +1065,7 @@ /* GSIs CQs are handled by driver, so they don't exist in the FW */ if (cq->cq_type == QEDR_CQ_TYPE_GSI) { qedr_db_recovery_del(dev, cq->db_addr, &cq->db.data); - return; + return 0; } iparams.icid = cq->icid; @@ -1108,6 +1113,7 @@ * Since the destroy CQ ramrod has also been received on the EQ we can * be certain that there's no event handler in process. */ + return 0; } static inline int get_gid_info_from_table(struct ib_qp *ibqp, @@ -1750,7 +1756,7 @@ struct qed_rdma_create_qp_out_params out_params; struct qedr_pd *pd = get_qedr_pd(ibpd); struct qedr_create_qp_uresp uresp; - struct qedr_ucontext *ctx = NULL; + struct qedr_ucontext *ctx = pd ? pd->uctx : NULL; struct qedr_create_qp_ureq ureq; int alloc_and_init = rdma_protocol_roce(&dev->ibdev, 1); int rc = -EINVAL; @@ -1788,6 +1794,9 @@ in_params.rq_pbl_ptr = qp->urq.pbl_tbl->pa; } + if (ctx) + SET_FIELD(in_params.flags, QED_ROCE_EDPM_MODE, ctx->edpm_mode); + qp->qed_qp = dev->ops->rdma_create_qp(dev->rdma_ctx, &in_params, &out_params); @@ -2104,6 +2113,28 @@ return rc; } +static int qedr_free_qp_resources(struct qedr_dev *dev, struct qedr_qp *qp, + struct ib_udata *udata) +{ + struct qedr_ucontext *ctx = + rdma_udata_to_drv_context(udata, struct qedr_ucontext, + ibucontext); + int rc; + + if (qp->qp_type != IB_QPT_GSI) { + rc = dev->ops->rdma_destroy_qp(dev->rdma_ctx, qp->qed_qp); + if (rc) + return rc; + } + + if (qp->create_type == QEDR_QP_CREATE_USER) + qedr_cleanup_user(dev, ctx, qp); + else + qedr_cleanup_kernel(dev, qp); + + return 0; +} + struct ib_qp *qedr_create_qp(struct ib_pd *ibpd, struct ib_qp_init_attr *attrs, struct ib_udata *udata) @@ -2150,19 +2181,21 @@ rc = qedr_create_kernel_qp(dev, qp, ibpd, attrs); if (rc) - goto err; + goto out_free_qp; qp->ibqp.qp_num = qp->qp_id; if (rdma_protocol_iwarp(&dev->ibdev, 1)) { rc = xa_insert(&dev->qps, qp->qp_id, qp, GFP_KERNEL); if (rc) - goto err; + goto out_free_qp_resources; } return &qp->ibqp; -err: +out_free_qp_resources: + qedr_free_qp_resources(dev, qp, udata); +out_free_qp: kfree(qp); return ERR_PTR(-EFAULT); @@ -2628,7 +2661,7 @@ qp_attr->cap.max_recv_wr = qp->rq.max_wr; qp_attr->cap.max_send_sge = qp->sq.max_sges; qp_attr->cap.max_recv_sge = qp->rq.max_sges; - qp_attr->cap.max_inline_data = ROCE_REQ_MAX_INLINE_DATA_SIZE; + qp_attr->cap.max_inline_data = dev->attr.max_inline; qp_init_attr->cap = qp_attr->cap; qp_attr->ah_attr.type = RDMA_AH_ATTR_TYPE_ROCE; @@ -2663,28 +2696,6 @@ return rc; } -static int qedr_free_qp_resources(struct qedr_dev *dev, struct qedr_qp *qp, - struct ib_udata *udata) -{ - struct qedr_ucontext *ctx = - rdma_udata_to_drv_context(udata, struct qedr_ucontext, - ibucontext); - int rc; - - if (qp->qp_type != IB_QPT_GSI) { - rc = dev->ops->rdma_destroy_qp(dev->rdma_ctx, qp->qed_qp); - if (rc) - return rc; - } - - if (qp->create_type == QEDR_QP_CREATE_USER) - qedr_cleanup_user(dev, ctx, qp); - else - qedr_cleanup_kernel(dev, qp); - - return 0; -} - int qedr_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) { struct qedr_qp *qp = get_qedr_qp(ibqp); @@ -2744,6 +2755,8 @@ if (rdma_protocol_iwarp(&dev->ibdev, 1)) qedr_iw_qp_rem_ref(&qp->ibqp); + else + kfree(qp); return 0; } @@ -3686,7 +3699,7 @@ * count and consumer count and subtract it from max * work request supported so that we get elements left. */ - used = hw_srq->wr_prod_cnt - hw_srq->wr_cons_cnt; + used = hw_srq->wr_prod_cnt - (u32)atomic_read(&hw_srq->wr_cons_cnt); return hw_srq->max_wr - used; } @@ -3701,7 +3714,6 @@ unsigned long flags; int status = 0; u32 num_sge; - u32 offset; spin_lock_irqsave(&srq->lock, flags); @@ -3714,7 +3726,8 @@ if (!qedr_srq_elem_left(hw_srq) || wr->num_sge > srq->hw_srq.max_sges) { DP_ERR(dev, "Can't post WR (%d,%d) || (%d > %d)\n", - hw_srq->wr_prod_cnt, hw_srq->wr_cons_cnt, + hw_srq->wr_prod_cnt, + atomic_read(&hw_srq->wr_cons_cnt), wr->num_sge, srq->hw_srq.max_sges); status = -ENOMEM; *bad_wr = wr; @@ -3748,22 +3761,20 @@ hw_srq->sge_prod++; } - /* Flush WQE and SGE information before + /* Update WQE and SGE information before * updating producer. */ - wmb(); + dma_wmb(); /* SRQ producer is 8 bytes. Need to update SGE producer index * in first 4 bytes and need to update WQE producer in * next 4 bytes. */ - *srq->hw_srq.virt_prod_pair_addr = hw_srq->sge_prod; - offset = offsetof(struct rdma_srq_producers, wqe_prod); - *((u8 *)srq->hw_srq.virt_prod_pair_addr + offset) = - hw_srq->wqe_prod; + srq->hw_srq.virt_prod_pair_addr->sge_prod = hw_srq->sge_prod; + /* Make sure sge producer is updated first */ + dma_wmb(); + srq->hw_srq.virt_prod_pair_addr->wqe_prod = hw_srq->wqe_prod; - /* Flush producer after updating it. */ - wmb(); wr = wr->next; } @@ -4182,7 +4193,7 @@ } else { __process_resp_one(dev, qp, cq, wc, resp, wr_id); } - srq->hw_srq.wr_cons_cnt++; + atomic_inc(&srq->hw_srq.wr_cons_cnt); return 1; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/qedr/verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/qedr/verbs.h @@ -52,7 +52,7 @@ int qedr_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); int qedr_resize_cq(struct ib_cq *, int cqe, struct ib_udata *); -void qedr_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); +int qedr_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); int qedr_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags flags); struct ib_qp *qedr_create_qp(struct ib_pd *, struct ib_qp_init_attr *attrs, struct ib_udata *); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/usnic/usnic_ib_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/usnic/usnic_ib_verbs.c @@ -214,6 +214,7 @@ } usnic_uiom_free_dev_list(dev_list); + dev_list = NULL; } /* Try to find resources on an unused vf */ @@ -239,6 +240,8 @@ qp_grp_check: if (IS_ERR_OR_NULL(qp_grp)) { usnic_err("Failed to allocate qp_grp\n"); + if (usnic_ib_share_vf) + usnic_uiom_free_dev_list(dev_list); return ERR_PTR(qp_grp ? PTR_ERR(qp_grp) : -ENOMEM); } return qp_grp; @@ -596,9 +599,9 @@ return 0; } -void usnic_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) +int usnic_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) { - return; + return 0; } struct ib_mr *usnic_ib_reg_mr(struct ib_pd *pd, u64 start, u64 length, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/usnic/usnic_ib_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/usnic/usnic_ib_verbs.h @@ -60,7 +60,7 @@ int attr_mask, struct ib_udata *udata); int usnic_ib_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void usnic_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); +int usnic_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); struct ib_mr *usnic_ib_reg_mr(struct ib_pd *pd, u64 start, u64 length, u64 virt_addr, int access_flags, struct ib_udata *udata); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h @@ -509,6 +509,20 @@ return flags & PVRDMA_MASK(PVRDMA_SEND_FLAGS_MAX); } +static inline int pvrdma_network_type_to_ib(enum pvrdma_network_type type) +{ + switch (type) { + case PVRDMA_NETWORK_ROCE_V1: + return RDMA_NETWORK_ROCE_V1; + case PVRDMA_NETWORK_IPV4: + return RDMA_NETWORK_IPV4; + case PVRDMA_NETWORK_IPV6: + return RDMA_NETWORK_IPV6; + default: + return RDMA_NETWORK_IPV6; + } +} + void pvrdma_qp_cap_to_ib(struct ib_qp_cap *dst, const struct pvrdma_qp_cap *src); void ib_qp_cap_to_pvrdma(struct pvrdma_qp_cap *dst, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c @@ -235,7 +235,7 @@ * @cq: the completion queue to destroy. * @udata: user data or null for kernel object */ -void pvrdma_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) +int pvrdma_destroy_cq(struct ib_cq *cq, struct ib_udata *udata) { struct pvrdma_cq *vcq = to_vcq(cq); union pvrdma_cmd_req req; @@ -261,6 +261,7 @@ pvrdma_free_cq(dev, vcq); atomic_dec(&dev->num_cqs); + return 0; } static inline struct pvrdma_cqe *get_cqe(struct pvrdma_cq *cq, int i) @@ -363,7 +364,7 @@ wc->dlid_path_bits = cqe->dlid_path_bits; wc->port_num = cqe->port_num; wc->vendor_err = cqe->vendor_err; - wc->network_hdr_type = cqe->network_hdr_type; + wc->network_hdr_type = pvrdma_network_type_to_ib(cqe->network_hdr_type); /* Update shared ring state */ pvrdma_idx_ring_inc(&cq->ring_state->rx.cons_head, cq->ibcq.cqe); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c @@ -266,7 +266,7 @@ } ret = ib_device_set_netdev(&dev->ib_dev, dev->netdev, 1); if (ret) - return ret; + goto err_srq_free; spin_lock_init(&dev->srq_tbl_lock); rdma_set_device_sysfs_group(&dev->ib_dev, &pvrdma_attr_group); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h @@ -411,7 +411,7 @@ int sg_nents, unsigned int *sg_offset); int pvrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void pvrdma_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); +int pvrdma_destroy_cq(struct ib_cq *cq, struct ib_udata *udata); int pvrdma_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc); int pvrdma_req_notify_cq(struct ib_cq *cq, enum ib_cq_notify_flags flags); int pvrdma_create_ah(struct ib_ah *ah, struct rdma_ah_init_attr *init_attr, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rdmavt/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rdmavt/Kconfig @@ -1,7 +1,8 @@ # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_RDMAVT tristate "RDMA verbs transport library" - depends on X86_64 && ARCH_DMA_ADDR_T_64BIT + depends on INFINIBAND_VIRT_DMA + depends on X86_64 depends on PCI select DMA_VIRT_OPS help --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rdmavt/cq.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rdmavt/cq.c @@ -315,7 +315,7 @@ * * Called by ib_destroy_cq() in the generic verbs code. */ -void rvt_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +int rvt_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct rvt_cq *cq = ibcq_to_rvtcq(ibcq); struct rvt_dev_info *rdi = cq->rdi; @@ -328,6 +328,7 @@ kref_put(&cq->ip->ref, rvt_release_mmap_info); else vfree(cq->kqueue); + return 0; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rdmavt/cq.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rdmavt/cq.h @@ -53,7 +53,7 @@ int rvt_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); -void rvt_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); +int rvt_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata); int rvt_req_notify_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags notify_flags); int rvt_resize_cq(struct ib_cq *ibcq, int cqe, struct ib_udata *udata); int rvt_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *entry); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rdmavt/vt.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rdmavt/vt.c @@ -95,9 +95,7 @@ if (!rdi) return rdi; - rdi->ports = kcalloc(nports, - sizeof(struct rvt_ibport **), - GFP_KERNEL); + rdi->ports = kcalloc(nports, sizeof(*rdi->ports), GFP_KERNEL); if (!rdi->ports) ib_dealloc_device(&rdi->ibdev); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/Kconfig @@ -2,8 +2,9 @@ config RDMA_RXE tristate "Software RDMA over Ethernet (RoCE) driver" depends on INET && PCI && INFINIBAND - depends on !64BIT || ARCH_DMA_ADDR_T_64BIT + depends on INFINIBAND_VIRT_DMA select NET_UDP_TUNNEL + select CRYPTO select CRYPTO_CRC32 select DMA_VIRT_OPS help --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe.c @@ -48,6 +48,8 @@ } +bool rxe_initialized; + /* free resources for a rxe device all objects created for this device must * have been destroyed */ @@ -147,9 +149,6 @@ rxe_init_port_param(port); - if (!port->attr.pkey_tbl_len || !port->attr.gid_tbl_len) - return -EINVAL; - port->pkey_tbl = kcalloc(port->attr.pkey_tbl_len, sizeof(*port->pkey_tbl), GFP_KERNEL); @@ -348,6 +347,7 @@ return err; rdma_link_register(&rxe_link_ops); + rxe_initialized = true; pr_info("loaded\n"); return 0; } @@ -359,6 +359,7 @@ rxe_net_exit(); rxe_cache_exit(); + rxe_initialized = false; pr_info("unloaded\n"); } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe.h @@ -67,6 +67,8 @@ #define RXE_ROCE_V2_SPORT (0xc000) +extern bool rxe_initialized; + static inline u32 rxe_crc32(struct rxe_dev *rxe, u32 crc, void *next, size_t len) { --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_mr.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_mr.c @@ -207,6 +207,7 @@ vaddr = page_address(sg_page_iter_page(&sg_iter)); if (!vaddr) { pr_warn("null vaddr\n"); + ib_umem_release(umem); err = -ENOMEM; goto err1; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_net.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_net.c @@ -47,18 +47,6 @@ static struct rxe_recv_sockets recv_sockets; -struct device *rxe_dma_device(struct rxe_dev *rxe) -{ - struct net_device *ndev; - - ndev = rxe->ndev; - - if (is_vlan_dev(ndev)) - ndev = vlan_dev_real_dev(ndev); - - return ndev->dev.parent; -} - int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid) { int err; @@ -453,6 +441,11 @@ void rxe_loopback(struct sk_buff *skb) { + if (skb->protocol == htons(ETH_P_IP)) + skb_pull(skb, sizeof(struct iphdr)); + else + skb_pull(skb, sizeof(struct ipv6hdr)); + rxe_rcv(skb); } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_recv.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_recv.c @@ -36,21 +36,26 @@ #include "rxe.h" #include "rxe_loc.h" +/* check that QP matches packet opcode type and is in a valid state */ static int check_type_state(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, struct rxe_qp *qp) { + unsigned int pkt_type; + if (unlikely(!qp->valid)) goto err1; + pkt_type = pkt->opcode & 0xe0; + switch (qp_type(qp)) { case IB_QPT_RC: - if (unlikely((pkt->opcode & IB_OPCODE_RC) != 0)) { + if (unlikely(pkt_type != IB_OPCODE_RC)) { pr_warn_ratelimited("bad qp type\n"); goto err1; } break; case IB_QPT_UC: - if (unlikely(!(pkt->opcode & IB_OPCODE_UC))) { + if (unlikely(pkt_type != IB_OPCODE_UC)) { pr_warn_ratelimited("bad qp type\n"); goto err1; } @@ -58,7 +63,7 @@ case IB_QPT_UD: case IB_QPT_SMI: case IB_QPT_GSI: - if (unlikely(!(pkt->opcode & IB_OPCODE_UD))) { + if (unlikely(pkt_type != IB_OPCODE_UD)) { pr_warn_ratelimited("bad qp type\n"); goto err1; } @@ -281,6 +286,8 @@ struct rxe_mc_elem *mce; struct rxe_qp *qp; union ib_gid dgid; + struct sk_buff *per_qp_skb; + struct rxe_pkt_info *per_qp_pkt; int err; if (skb->protocol == htons(ETH_P_IP)) @@ -298,7 +305,6 @@ list_for_each_entry(mce, &mcg->qp_list, qp_list) { qp = mce->qp; - pkt = SKB_TO_PKT(skb); /* validate qp for incoming packet */ err = check_type_state(rxe, pkt, qp); @@ -309,15 +315,27 @@ if (err) continue; - /* if *not* the last qp in the list - * increase the users of the skb then post to the next qp + /* for all but the last qp create a new clone of the + * skb and pass to the qp. If an error occurs in the + * checks for the last qp in the list we need to + * free the skb since it hasn't been passed on to + * rxe_rcv_pkt() which would free it later. */ - if (mce->qp_list.next != &mcg->qp_list) - skb_get(skb); + if (mce->qp_list.next != &mcg->qp_list) { + per_qp_skb = skb_clone(skb, GFP_ATOMIC); + } else { + per_qp_skb = skb; + /* show we have consumed the skb */ + skb = NULL; + } - pkt->qp = qp; + if (unlikely(!per_qp_skb)) + continue; + + per_qp_pkt = SKB_TO_PKT(per_qp_skb); + per_qp_pkt->qp = qp; rxe_add_ref(qp); - rxe_rcv_pkt(pkt, skb); + rxe_rcv_pkt(per_qp_pkt, per_qp_skb); } spin_unlock_bh(&mcg->mcg_lock); @@ -325,15 +343,20 @@ rxe_drop_ref(mcg); /* drop ref from rxe_pool_get_key. */ err1: + /* free skb if not consumed */ kfree_skb(skb); } static int rxe_match_dgid(struct rxe_dev *rxe, struct sk_buff *skb) { + struct rxe_pkt_info *pkt = SKB_TO_PKT(skb); const struct ib_gid_attr *gid_attr; union ib_gid dgid; union ib_gid *pdgid; + if (pkt->mask & RXE_LOOPBACK_MASK) + return 0; + if (skb->protocol == htons(ETH_P_IP)) { ipv6_addr_set_v4mapped(ip_hdr(skb)->daddr, (struct in6_addr *)&dgid); @@ -366,7 +389,7 @@ if (unlikely(skb->len < pkt->offset + RXE_BTH_BYTES)) goto drop; - if (unlikely(rxe_match_dgid(rxe, skb) < 0)) { + if (rxe_match_dgid(rxe, skb) < 0) { pr_warn_ratelimited("failed matching dgid\n"); goto drop; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_req.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_req.c @@ -664,7 +664,8 @@ } if (unlikely(qp_type(qp) == IB_QPT_RC && - qp->req.psn > (qp->comp.psn + RXE_MAX_UNACKED_PSNS))) { + psn_compare(qp->req.psn, (qp->comp.psn + + RXE_MAX_UNACKED_PSNS)) > 0)) { qp->req.wait_psn = 1; goto exit; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_sysfs.c @@ -61,6 +61,11 @@ struct net_device *ndev; struct rxe_dev *exists; + if (!rxe_initialized) { + pr_err("Module parameters are not supported, use rdma link add or rxe_cfg\n"); + return -EAGAIN; + } + len = sanitize_arg(val, intf, sizeof(intf)); if (!len) { pr_err("add: invalid interface name\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/rxe/rxe_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/rxe/rxe_verbs.c @@ -684,6 +684,7 @@ unsigned int mask; unsigned int length = 0; int i; + struct ib_send_wr *next; while (wr) { mask = wr_opcode_mask(wr->opcode, qp); @@ -700,6 +701,8 @@ break; } + next = wr->next; + length = 0; for (i = 0; i < wr->num_sge; i++) length += wr->sg_list[i].length; @@ -710,7 +713,7 @@ *bad_wr = wr; break; } - wr = wr->next; + wr = next; } rxe_run_task(&qp->req.task, 1); @@ -813,13 +816,14 @@ return rxe_add_to_pool(&rxe->cq_pool, &cq->pelem); } -static void rxe_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) +static int rxe_destroy_cq(struct ib_cq *ibcq, struct ib_udata *udata) { struct rxe_cq *cq = to_rcq(ibcq); rxe_cq_disable(cq); rxe_drop_ref(cq); + return 0; } static int rxe_resize_cq(struct ib_cq *ibcq, int cqe, struct ib_udata *udata) @@ -1080,7 +1084,7 @@ struct rxe_dev *rxe = rdma_device_to_drv_device(device, struct rxe_dev, ib_dev); - return snprintf(buf, 16, "%s\n", rxe_parent_name(rxe, 1)); + return scnprintf(buf, PAGE_SIZE, "%s\n", rxe_parent_name(rxe, 1)); } static DEVICE_ATTR_RO(parent); @@ -1171,7 +1175,6 @@ dev->node_type = RDMA_NODE_IB_CA; dev->phys_port_cnt = 1; dev->num_comp_vectors = num_possible_cpus(); - dev->dev.parent = rxe_dma_device(rxe); dev->local_dma_lkey = 0; addrconf_addr_eui48((unsigned char *)&dev->node_guid, rxe->ndev->dev_addr); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/Kconfig @@ -1,6 +1,7 @@ config RDMA_SIW tristate "Software RDMA over TCP/IP (iWARP) driver" depends on INET && INFINIBAND && LIBCRC32C + depends on INFINIBAND_VIRT_DMA select DMA_VIRT_OPS help This driver implements the iWARP RDMA transport over --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw.h @@ -654,7 +654,7 @@ { struct siw_sqe *orq_e = orq_get_tail(qp); - if (orq_e && READ_ONCE(orq_e->flags) == 0) + if (READ_ONCE(orq_e->flags) == 0) return orq_e; return NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_main.c @@ -135,7 +135,7 @@ static int siw_init_cpulist(void) { - int i, num_nodes = num_possible_nodes(); + int i, num_nodes = nr_node_ids; memset(siw_tx_thread, 0, sizeof(siw_tx_thread)); @@ -306,24 +306,8 @@ { struct siw_device *sdev = NULL; struct ib_device *base_dev; - struct device *parent = netdev->dev.parent; int rv; - if (!parent) { - /* - * The loopback device has no parent device, - * so it appears as a top-level device. To support - * loopback device connectivity, take this device - * as the parent device. Skip all other devices - * w/o parent device. - */ - if (netdev->type != ARPHRD_LOOPBACK) { - pr_warn("siw: device %s error: no parent device\n", - netdev->name); - return NULL; - } - parent = &netdev->dev; - } sdev = ib_alloc_device(siw_device, base_dev); if (!sdev) return NULL; @@ -382,7 +366,6 @@ * per physical port. */ base_dev->phys_port_cnt = 1; - base_dev->dev.parent = parent; base_dev->dev.dma_ops = &dma_virt_ops; base_dev->dev.dma_parms = &sdev->dma_parms; sdev->dma_parms = (struct device_dma_parameters) @@ -428,7 +411,7 @@ atomic_set(&sdev->num_mr, 0); atomic_set(&sdev->num_pd, 0); - sdev->numa_node = dev_to_node(parent); + sdev->numa_node = dev_to_node(&netdev->dev); spin_lock_init(&sdev->lock); return sdev; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_qp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_qp.c @@ -199,26 +199,26 @@ static int siw_qp_readq_init(struct siw_qp *qp, int irq_size, int orq_size) { - irq_size = roundup_pow_of_two(irq_size); - orq_size = roundup_pow_of_two(orq_size); - + if (irq_size) { + irq_size = roundup_pow_of_two(irq_size); + qp->irq = vzalloc(irq_size * sizeof(struct siw_sqe)); + if (!qp->irq) { + qp->attrs.irq_size = 0; + return -ENOMEM; + } + } + if (orq_size) { + orq_size = roundup_pow_of_two(orq_size); + qp->orq = vzalloc(orq_size * sizeof(struct siw_sqe)); + if (!qp->orq) { + qp->attrs.orq_size = 0; + qp->attrs.irq_size = 0; + vfree(qp->irq); + return -ENOMEM; + } + } qp->attrs.irq_size = irq_size; qp->attrs.orq_size = orq_size; - - qp->irq = vzalloc(irq_size * sizeof(struct siw_sqe)); - if (!qp->irq) { - siw_dbg_qp(qp, "irq malloc for %d failed\n", irq_size); - qp->attrs.irq_size = 0; - return -ENOMEM; - } - qp->orq = vzalloc(orq_size * sizeof(struct siw_sqe)); - if (!qp->orq) { - siw_dbg_qp(qp, "orq malloc for %d failed\n", orq_size); - qp->attrs.orq_size = 0; - qp->attrs.irq_size = 0; - vfree(qp->irq); - return -ENOMEM; - } siw_dbg_qp(qp, "ORD %d, IRD %d\n", orq_size, irq_size); return 0; } @@ -288,13 +288,14 @@ if (ctrl & MPA_V2_RDMA_WRITE_RTR) wqe->sqe.opcode = SIW_OP_WRITE; else if (ctrl & MPA_V2_RDMA_READ_RTR) { - struct siw_sqe *rreq; + struct siw_sqe *rreq = NULL; wqe->sqe.opcode = SIW_OP_READ; spin_lock(&qp->orq_lock); - rreq = orq_get_free(qp); + if (qp->attrs.orq_size) + rreq = orq_get_free(qp); if (rreq) { siw_read_to_orq(rreq, &wqe->sqe); qp->orq_put++; @@ -877,135 +878,88 @@ rreq->num_sge = 1; } -/* - * Must be called with SQ locked. - * To avoid complete SQ starvation by constant inbound READ requests, - * the active IRQ will not be served after qp->irq_burst, if the - * SQ has pending work. - */ -int siw_activate_tx(struct siw_qp *qp) +static int siw_activate_tx_from_sq(struct siw_qp *qp) { - struct siw_sqe *irqe, *sqe; + struct siw_sqe *sqe; struct siw_wqe *wqe = tx_wqe(qp); int rv = 1; - irqe = &qp->irq[qp->irq_get % qp->attrs.irq_size]; - - if (irqe->flags & SIW_WQE_VALID) { - sqe = sq_get_next(qp); - - /* - * Avoid local WQE processing starvation in case - * of constant inbound READ request stream - */ - if (sqe && ++qp->irq_burst >= SIW_IRQ_MAXBURST_SQ_ACTIVE) { - qp->irq_burst = 0; - goto skip_irq; - } - memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE); - wqe->wr_status = SIW_WR_QUEUED; - - /* start READ RESPONSE */ - wqe->sqe.opcode = SIW_OP_READ_RESPONSE; - wqe->sqe.flags = 0; - if (irqe->num_sge) { - wqe->sqe.num_sge = 1; - wqe->sqe.sge[0].length = irqe->sge[0].length; - wqe->sqe.sge[0].laddr = irqe->sge[0].laddr; - wqe->sqe.sge[0].lkey = irqe->sge[0].lkey; - } else { - wqe->sqe.num_sge = 0; - } - - /* Retain original RREQ's message sequence number for - * potential error reporting cases. - */ - wqe->sqe.sge[1].length = irqe->sge[1].length; - - wqe->sqe.rkey = irqe->rkey; - wqe->sqe.raddr = irqe->raddr; + sqe = sq_get_next(qp); + if (!sqe) + return 0; - wqe->processed = 0; - qp->irq_get++; + memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE); + wqe->wr_status = SIW_WR_QUEUED; - /* mark current IRQ entry free */ - smp_store_mb(irqe->flags, 0); + /* First copy SQE to kernel private memory */ + memcpy(&wqe->sqe, sqe, sizeof(*sqe)); + if (wqe->sqe.opcode >= SIW_NUM_OPCODES) { + rv = -EINVAL; goto out; } - sqe = sq_get_next(qp); - if (sqe) { -skip_irq: - memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE); - wqe->wr_status = SIW_WR_QUEUED; - - /* First copy SQE to kernel private memory */ - memcpy(&wqe->sqe, sqe, sizeof(*sqe)); - - if (wqe->sqe.opcode >= SIW_NUM_OPCODES) { + if (wqe->sqe.flags & SIW_WQE_INLINE) { + if (wqe->sqe.opcode != SIW_OP_SEND && + wqe->sqe.opcode != SIW_OP_WRITE) { rv = -EINVAL; goto out; } - if (wqe->sqe.flags & SIW_WQE_INLINE) { - if (wqe->sqe.opcode != SIW_OP_SEND && - wqe->sqe.opcode != SIW_OP_WRITE) { - rv = -EINVAL; - goto out; - } - if (wqe->sqe.sge[0].length > SIW_MAX_INLINE) { - rv = -EINVAL; - goto out; - } - wqe->sqe.sge[0].laddr = (uintptr_t)&wqe->sqe.sge[1]; - wqe->sqe.sge[0].lkey = 0; - wqe->sqe.num_sge = 1; - } - if (wqe->sqe.flags & SIW_WQE_READ_FENCE) { - /* A READ cannot be fenced */ - if (unlikely(wqe->sqe.opcode == SIW_OP_READ || - wqe->sqe.opcode == - SIW_OP_READ_LOCAL_INV)) { - siw_dbg_qp(qp, "cannot fence read\n"); - rv = -EINVAL; - goto out; - } - spin_lock(&qp->orq_lock); + if (wqe->sqe.sge[0].length > SIW_MAX_INLINE) { + rv = -EINVAL; + goto out; + } + wqe->sqe.sge[0].laddr = (uintptr_t)&wqe->sqe.sge[1]; + wqe->sqe.sge[0].lkey = 0; + wqe->sqe.num_sge = 1; + } + if (wqe->sqe.flags & SIW_WQE_READ_FENCE) { + /* A READ cannot be fenced */ + if (unlikely(wqe->sqe.opcode == SIW_OP_READ || + wqe->sqe.opcode == + SIW_OP_READ_LOCAL_INV)) { + siw_dbg_qp(qp, "cannot fence read\n"); + rv = -EINVAL; + goto out; + } + spin_lock(&qp->orq_lock); - if (!siw_orq_empty(qp)) { - qp->tx_ctx.orq_fence = 1; - rv = 0; - } - spin_unlock(&qp->orq_lock); + if (qp->attrs.orq_size && !siw_orq_empty(qp)) { + qp->tx_ctx.orq_fence = 1; + rv = 0; + } + spin_unlock(&qp->orq_lock); - } else if (wqe->sqe.opcode == SIW_OP_READ || - wqe->sqe.opcode == SIW_OP_READ_LOCAL_INV) { - struct siw_sqe *rreq; + } else if (wqe->sqe.opcode == SIW_OP_READ || + wqe->sqe.opcode == SIW_OP_READ_LOCAL_INV) { + struct siw_sqe *rreq; - wqe->sqe.num_sge = 1; + if (unlikely(!qp->attrs.orq_size)) { + /* We negotiated not to send READ req's */ + rv = -EINVAL; + goto out; + } + wqe->sqe.num_sge = 1; - spin_lock(&qp->orq_lock); + spin_lock(&qp->orq_lock); - rreq = orq_get_free(qp); - if (rreq) { - /* - * Make an immediate copy in ORQ to be ready - * to process loopback READ reply - */ - siw_read_to_orq(rreq, &wqe->sqe); - qp->orq_put++; - } else { - qp->tx_ctx.orq_fence = 1; - rv = 0; - } - spin_unlock(&qp->orq_lock); + rreq = orq_get_free(qp); + if (rreq) { + /* + * Make an immediate copy in ORQ to be ready + * to process loopback READ reply + */ + siw_read_to_orq(rreq, &wqe->sqe); + qp->orq_put++; + } else { + qp->tx_ctx.orq_fence = 1; + rv = 0; } - - /* Clear SQE, can be re-used by application */ - smp_store_mb(sqe->flags, 0); - qp->sq_get++; - } else { - rv = 0; + spin_unlock(&qp->orq_lock); } + + /* Clear SQE, can be re-used by application */ + smp_store_mb(sqe->flags, 0); + qp->sq_get++; out: if (unlikely(rv < 0)) { siw_dbg_qp(qp, "error %d\n", rv); @@ -1015,6 +969,65 @@ } /* + * Must be called with SQ locked. + * To avoid complete SQ starvation by constant inbound READ requests, + * the active IRQ will not be served after qp->irq_burst, if the + * SQ has pending work. + */ +int siw_activate_tx(struct siw_qp *qp) +{ + struct siw_sqe *irqe; + struct siw_wqe *wqe = tx_wqe(qp); + + if (!qp->attrs.irq_size) + return siw_activate_tx_from_sq(qp); + + irqe = &qp->irq[qp->irq_get % qp->attrs.irq_size]; + + if (!(irqe->flags & SIW_WQE_VALID)) + return siw_activate_tx_from_sq(qp); + + /* + * Avoid local WQE processing starvation in case + * of constant inbound READ request stream + */ + if (sq_get_next(qp) && ++qp->irq_burst >= SIW_IRQ_MAXBURST_SQ_ACTIVE) { + qp->irq_burst = 0; + return siw_activate_tx_from_sq(qp); + } + memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE); + wqe->wr_status = SIW_WR_QUEUED; + + /* start READ RESPONSE */ + wqe->sqe.opcode = SIW_OP_READ_RESPONSE; + wqe->sqe.flags = 0; + if (irqe->num_sge) { + wqe->sqe.num_sge = 1; + wqe->sqe.sge[0].length = irqe->sge[0].length; + wqe->sqe.sge[0].laddr = irqe->sge[0].laddr; + wqe->sqe.sge[0].lkey = irqe->sge[0].lkey; + } else { + wqe->sqe.num_sge = 0; + } + + /* Retain original RREQ's message sequence number for + * potential error reporting cases. + */ + wqe->sqe.sge[1].length = irqe->sge[1].length; + + wqe->sqe.rkey = irqe->rkey; + wqe->sqe.raddr = irqe->raddr; + + wqe->processed = 0; + qp->irq_get++; + + /* mark current IRQ entry free */ + smp_store_mb(irqe->flags, 0); + + return 1; +} + +/* * Check if current CQ state qualifies for calling CQ completion * handler. Must be called with CQ lock held. */ --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_qp_rx.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_qp_rx.c @@ -680,6 +680,10 @@ } spin_lock_irqsave(&qp->sq_lock, flags); + if (unlikely(!qp->attrs.irq_size)) { + run_sq = 0; + goto error_irq; + } if (tx_work->wr_status == SIW_WR_IDLE) { /* * immediately schedule READ response w/o @@ -712,8 +716,9 @@ /* RRESP now valid as current TX wqe or placed into IRQ */ smp_store_mb(resp->flags, SIW_WQE_VALID); } else { - pr_warn("siw: [QP %u]: irq %d exceeded %d\n", qp_id(qp), - qp->irq_put % qp->attrs.irq_size, qp->attrs.irq_size); +error_irq: + pr_warn("siw: [QP %u]: IRQ exceeded or null, size %d\n", + qp_id(qp), qp->attrs.irq_size); siw_init_terminate(qp, TERM_ERROR_LAYER_RDMAP, RDMAP_ETYPE_REMOTE_OPERATION, @@ -740,6 +745,9 @@ struct siw_sqe *orqe; struct siw_wqe *wqe = NULL; + if (unlikely(!qp->attrs.orq_size)) + return -EPROTO; + /* make sure ORQ indices are current */ smp_mb(); @@ -796,8 +804,8 @@ */ rv = siw_orqe_start_rx(qp); if (rv) { - pr_warn("siw: [QP %u]: ORQ empty at idx %d\n", - qp_id(qp), qp->orq_get % qp->attrs.orq_size); + pr_warn("siw: [QP %u]: ORQ empty, size %d\n", + qp_id(qp), qp->attrs.orq_size); goto error_term; } rv = siw_rresp_check_ntoh(srx, frx); @@ -1290,11 +1298,13 @@ wc_status); siw_wqe_put_mem(wqe, SIW_OP_READ); - if (!error) + if (!error) { rv = siw_check_tx_fence(qp); - else - /* Disable current ORQ eleement */ - WRITE_ONCE(orq_get_current(qp)->flags, 0); + } else { + /* Disable current ORQ element */ + if (qp->attrs.orq_size) + WRITE_ONCE(orq_get_current(qp)->flags, 0); + } break; case RDMAP_RDMA_READ_REQ: --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_qp_tx.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_qp_tx.c @@ -1107,8 +1107,8 @@ /* * RREQ may have already been completed by inbound RRESP! */ - if (tx_type == SIW_OP_READ || - tx_type == SIW_OP_READ_LOCAL_INV) { + if ((tx_type == SIW_OP_READ || + tx_type == SIW_OP_READ_LOCAL_INV) && qp->attrs.orq_size) { /* Cleanup pending entry in ORQ */ qp->orq_put--; qp->orq[qp->orq_put % qp->attrs.orq_size].flags = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_verbs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_verbs.c @@ -370,13 +370,23 @@ if (rv) goto err_out; + num_sqe = attrs->cap.max_send_wr; + num_rqe = attrs->cap.max_recv_wr; + /* All queue indices are derived from modulo operations * on a free running 'get' (consumer) and 'put' (producer) * unsigned counter. Having queue sizes at power of two * avoids handling counter wrap around. */ - num_sqe = roundup_pow_of_two(attrs->cap.max_send_wr); - num_rqe = roundup_pow_of_two(attrs->cap.max_recv_wr); + if (num_sqe) + num_sqe = roundup_pow_of_two(num_sqe); + else { + /* Zero sized SQ is not supported */ + rv = -EINVAL; + goto err_out; + } + if (num_rqe) + num_rqe = roundup_pow_of_two(num_rqe); if (udata) qp->sendq = vmalloc_user(num_sqe * sizeof(struct siw_sqe)); @@ -384,7 +394,6 @@ qp->sendq = vzalloc(num_sqe * sizeof(struct siw_sqe)); if (qp->sendq == NULL) { - siw_dbg(base_dev, "SQ size %d alloc failed\n", num_sqe); rv = -ENOMEM; goto err_out_xa; } @@ -418,7 +427,6 @@ qp->recvq = vzalloc(num_rqe * sizeof(struct siw_rqe)); if (qp->recvq == NULL) { - siw_dbg(base_dev, "RQ size %d alloc failed\n", num_rqe); rv = -ENOMEM; goto err_out_xa; } @@ -968,9 +976,9 @@ unsigned long flags; int rv = 0; - if (qp->srq) { + if (qp->srq || qp->attrs.rq_size == 0) { *bad_wr = wr; - return -EOPNOTSUPP; /* what else from errno.h? */ + return -EINVAL; } if (!rdma_is_kernel_res(&qp->base_qp.res)) { siw_dbg_qp(qp, "no kernel post_recv for user mapped rq\n"); @@ -1064,7 +1072,7 @@ return rv > 0 ? 0 : rv; } -void siw_destroy_cq(struct ib_cq *base_cq, struct ib_udata *udata) +int siw_destroy_cq(struct ib_cq *base_cq, struct ib_udata *udata) { struct siw_cq *cq = to_siw_cq(base_cq); struct siw_device *sdev = to_siw_dev(base_cq->device); @@ -1082,6 +1090,7 @@ atomic_dec(&sdev->num_cq); vfree(cq->queue); + return 0; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/sw/siw/siw_verbs.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/sw/siw/siw_verbs.h @@ -63,7 +63,7 @@ const struct ib_send_wr **bad_wr); int siw_post_receive(struct ib_qp *base_qp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr); -void siw_destroy_cq(struct ib_cq *base_cq, struct ib_udata *udata); +int siw_destroy_cq(struct ib_cq *base_cq, struct ib_udata *udata); int siw_poll_cq(struct ib_cq *base_cq, int num_entries, struct ib_wc *wc); int siw_req_notify_cq(struct ib_cq *base_cq, enum ib_cq_notify_flags flags); struct ib_mr *siw_reg_user_mr(struct ib_pd *base_pd, u64 start, u64 len, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/ipoib/ipoib.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/ipoib/ipoib.h @@ -515,7 +515,7 @@ int ipoib_ib_dev_open_default(struct net_device *dev); int ipoib_ib_dev_open(struct net_device *dev); -int ipoib_ib_dev_stop(struct net_device *dev); +void ipoib_ib_dev_stop(struct net_device *dev); void ipoib_ib_dev_up(struct net_device *dev); void ipoib_ib_dev_down(struct net_device *dev); int ipoib_ib_dev_stop_default(struct net_device *dev); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/ipoib/ipoib_ib.c @@ -670,13 +670,12 @@ return rc; } -static void __ipoib_reap_ah(struct net_device *dev) +static void ipoib_reap_dead_ahs(struct ipoib_dev_priv *priv) { - struct ipoib_dev_priv *priv = ipoib_priv(dev); struct ipoib_ah *ah, *tah; unsigned long flags; - netif_tx_lock_bh(dev); + netif_tx_lock_bh(priv->dev); spin_lock_irqsave(&priv->lock, flags); list_for_each_entry_safe(ah, tah, &priv->dead_ahs, list) @@ -687,37 +686,37 @@ } spin_unlock_irqrestore(&priv->lock, flags); - netif_tx_unlock_bh(dev); + netif_tx_unlock_bh(priv->dev); } void ipoib_reap_ah(struct work_struct *work) { struct ipoib_dev_priv *priv = container_of(work, struct ipoib_dev_priv, ah_reap_task.work); - struct net_device *dev = priv->dev; - __ipoib_reap_ah(dev); + ipoib_reap_dead_ahs(priv); if (!test_bit(IPOIB_STOP_REAPER, &priv->flags)) queue_delayed_work(priv->wq, &priv->ah_reap_task, round_jiffies_relative(HZ)); } -static void ipoib_flush_ah(struct net_device *dev) +static void ipoib_start_ah_reaper(struct ipoib_dev_priv *priv) { - struct ipoib_dev_priv *priv = ipoib_priv(dev); - - cancel_delayed_work(&priv->ah_reap_task); - flush_workqueue(priv->wq); - ipoib_reap_ah(&priv->ah_reap_task.work); + clear_bit(IPOIB_STOP_REAPER, &priv->flags); + queue_delayed_work(priv->wq, &priv->ah_reap_task, + round_jiffies_relative(HZ)); } -static void ipoib_stop_ah(struct net_device *dev) +static void ipoib_stop_ah_reaper(struct ipoib_dev_priv *priv) { - struct ipoib_dev_priv *priv = ipoib_priv(dev); - set_bit(IPOIB_STOP_REAPER, &priv->flags); - ipoib_flush_ah(dev); + cancel_delayed_work(&priv->ah_reap_task); + /* + * After ipoib_stop_ah_reaper() we always go through + * ipoib_reap_dead_ahs() which ensures the work is really stopped and + * does a final flush out of the dead_ah's list + */ } static int recvs_pending(struct net_device *dev) @@ -846,18 +845,6 @@ return 0; } -int ipoib_ib_dev_stop(struct net_device *dev) -{ - struct ipoib_dev_priv *priv = ipoib_priv(dev); - - priv->rn_ops->ndo_stop(dev); - - clear_bit(IPOIB_FLAG_INITIALIZED, &priv->flags); - ipoib_flush_ah(dev); - - return 0; -} - int ipoib_ib_dev_open_default(struct net_device *dev) { struct ipoib_dev_priv *priv = ipoib_priv(dev); @@ -901,10 +888,7 @@ return -1; } - clear_bit(IPOIB_STOP_REAPER, &priv->flags); - queue_delayed_work(priv->wq, &priv->ah_reap_task, - round_jiffies_relative(HZ)); - + ipoib_start_ah_reaper(priv); if (priv->rn_ops->ndo_open(dev)) { pr_warn("%s: Failed to open dev\n", dev->name); goto dev_stop; @@ -915,13 +899,20 @@ return 0; dev_stop: - set_bit(IPOIB_STOP_REAPER, &priv->flags); - cancel_delayed_work(&priv->ah_reap_task); - set_bit(IPOIB_FLAG_INITIALIZED, &priv->flags); - ipoib_ib_dev_stop(dev); + ipoib_stop_ah_reaper(priv); return -1; } +void ipoib_ib_dev_stop(struct net_device *dev) +{ + struct ipoib_dev_priv *priv = ipoib_priv(dev); + + priv->rn_ops->ndo_stop(dev); + + clear_bit(IPOIB_FLAG_INITIALIZED, &priv->flags); + ipoib_stop_ah_reaper(priv); +} + void ipoib_pkey_dev_check_presence(struct net_device *dev) { struct ipoib_dev_priv *priv = ipoib_priv(dev); @@ -1232,7 +1223,7 @@ ipoib_mcast_dev_flush(dev); if (oper_up) set_bit(IPOIB_FLAG_OPER_UP, &priv->flags); - ipoib_flush_ah(dev); + ipoib_reap_dead_ahs(priv); } if (level >= IPOIB_FLUSH_NORMAL) @@ -1307,7 +1298,7 @@ * the neighbor garbage collection is stopped and reaped. * That should all be done now, so make a final ah flush. */ - ipoib_stop_ah(dev); + ipoib_reap_dead_ahs(priv); clear_bit(IPOIB_PKEY_ASSIGNED, &priv->flags); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -1976,6 +1976,8 @@ /* no more works over the priv->wq */ if (priv->wq) { + /* See ipoib_mcast_carrier_on_task() */ + WARN_ON(test_bit(IPOIB_FLAG_OPER_UP, &priv->flags)); flush_workqueue(priv->wq); destroy_workqueue(priv->wq); priv->wq = NULL; @@ -2468,6 +2470,8 @@ /* call event handler to ensure pkey in sync */ queue_work(ipoib_workqueue, &priv->flush_heavy); + ndev->rtnl_link_ops = ipoib_get_link_ops(); + result = register_netdev(ndev); if (result) { pr_warn("%s: couldn't register ipoib port %d; error %d\n", --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/ipoib/ipoib_netlink.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/ipoib/ipoib_netlink.c @@ -144,6 +144,16 @@ return 0; } +static void ipoib_del_child_link(struct net_device *dev, struct list_head *head) +{ + struct ipoib_dev_priv *priv = ipoib_priv(dev); + + if (!priv->parent) + return; + + unregister_netdevice_queue(dev, head); +} + static size_t ipoib_get_size(const struct net_device *dev) { return nla_total_size(2) + /* IFLA_IPOIB_PKEY */ @@ -158,6 +168,7 @@ .priv_size = sizeof(struct ipoib_dev_priv), .setup = ipoib_setup_common, .newlink = ipoib_new_child_link, + .dellink = ipoib_del_child_link, .changelink = ipoib_changelink, .get_size = ipoib_get_size, .fill_info = ipoib_fill_info, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/ipoib/ipoib_vlan.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/ipoib/ipoib_vlan.c @@ -195,6 +195,8 @@ } priv = ipoib_priv(ndev); + ndev->rtnl_link_ops = ipoib_get_link_ops(); + result = __ipoib_vlan_add(ppriv, priv, pkey, IPOIB_LEGACY_CHILD); if (result && ndev->reg_state == NETREG_UNINITIALIZED) --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/isert/ib_isert.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/isert/ib_isert.c @@ -183,15 +183,15 @@ rx_desc = isert_conn->rx_descs; for (i = 0; i < ISERT_QP_MAX_RECV_DTOS; i++, rx_desc++) { - dma_addr = ib_dma_map_single(ib_dev, (void *)rx_desc, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + dma_addr = ib_dma_map_single(ib_dev, rx_desc->buf, + ISER_RX_SIZE, DMA_FROM_DEVICE); if (ib_dma_mapping_error(ib_dev, dma_addr)) goto dma_map_fail; rx_desc->dma_addr = dma_addr; rx_sg = &rx_desc->rx_sg; - rx_sg->addr = rx_desc->dma_addr; + rx_sg->addr = rx_desc->dma_addr + isert_get_hdr_offset(rx_desc); rx_sg->length = ISER_RX_PAYLOAD_SIZE; rx_sg->lkey = device->pd->local_dma_lkey; rx_desc->rx_cqe.done = isert_recv_done; @@ -203,7 +203,7 @@ rx_desc = isert_conn->rx_descs; for (j = 0; j < i; j++, rx_desc++) { ib_dma_unmap_single(ib_dev, rx_desc->dma_addr, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ISER_RX_SIZE, DMA_FROM_DEVICE); } kfree(isert_conn->rx_descs); isert_conn->rx_descs = NULL; @@ -224,7 +224,7 @@ rx_desc = isert_conn->rx_descs; for (i = 0; i < ISERT_QP_MAX_RECV_DTOS; i++, rx_desc++) { ib_dma_unmap_single(ib_dev, rx_desc->dma_addr, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ISER_RX_SIZE, DMA_FROM_DEVICE); } kfree(isert_conn->rx_descs); @@ -409,10 +409,9 @@ ISER_RX_PAYLOAD_SIZE, DMA_TO_DEVICE); kfree(isert_conn->login_rsp_buf); - ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, - ISER_RX_PAYLOAD_SIZE, - DMA_FROM_DEVICE); - kfree(isert_conn->login_req_buf); + ib_dma_unmap_single(ib_dev, isert_conn->login_desc->dma_addr, + ISER_RX_SIZE, DMA_FROM_DEVICE); + kfree(isert_conn->login_desc); } static int @@ -421,25 +420,25 @@ { int ret; - isert_conn->login_req_buf = kzalloc(sizeof(*isert_conn->login_req_buf), + isert_conn->login_desc = kzalloc(sizeof(*isert_conn->login_desc), GFP_KERNEL); - if (!isert_conn->login_req_buf) + if (!isert_conn->login_desc) return -ENOMEM; - isert_conn->login_req_dma = ib_dma_map_single(ib_dev, - isert_conn->login_req_buf, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); - ret = ib_dma_mapping_error(ib_dev, isert_conn->login_req_dma); + isert_conn->login_desc->dma_addr = ib_dma_map_single(ib_dev, + isert_conn->login_desc->buf, + ISER_RX_SIZE, DMA_FROM_DEVICE); + ret = ib_dma_mapping_error(ib_dev, isert_conn->login_desc->dma_addr); if (ret) { - isert_err("login_req_dma mapping error: %d\n", ret); - isert_conn->login_req_dma = 0; - goto out_free_login_req_buf; + isert_err("login_desc dma mapping error: %d\n", ret); + isert_conn->login_desc->dma_addr = 0; + goto out_free_login_desc; } isert_conn->login_rsp_buf = kzalloc(ISER_RX_PAYLOAD_SIZE, GFP_KERNEL); if (!isert_conn->login_rsp_buf) { ret = -ENOMEM; - goto out_unmap_login_req_buf; + goto out_unmap_login_desc; } isert_conn->login_rsp_dma = ib_dma_map_single(ib_dev, @@ -456,11 +455,11 @@ out_free_login_rsp_buf: kfree(isert_conn->login_rsp_buf); -out_unmap_login_req_buf: - ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); -out_free_login_req_buf: - kfree(isert_conn->login_req_buf); +out_unmap_login_desc: + ib_dma_unmap_single(ib_dev, isert_conn->login_desc->dma_addr, + ISER_RX_SIZE, DMA_FROM_DEVICE); +out_free_login_desc: + kfree(isert_conn->login_desc); return ret; } @@ -579,7 +578,7 @@ ib_destroy_qp(isert_conn->qp); } - if (isert_conn->login_req_buf) + if (isert_conn->login_desc) isert_free_login_buf(isert_conn); isert_device_put(device); @@ -965,17 +964,18 @@ int ret; memset(&sge, 0, sizeof(struct ib_sge)); - sge.addr = isert_conn->login_req_dma; + sge.addr = isert_conn->login_desc->dma_addr + + isert_get_hdr_offset(isert_conn->login_desc); sge.length = ISER_RX_PAYLOAD_SIZE; sge.lkey = isert_conn->device->pd->local_dma_lkey; isert_dbg("Setup sge: addr: %llx length: %d 0x%08x\n", sge.addr, sge.length, sge.lkey); - isert_conn->login_req_buf->rx_cqe.done = isert_login_recv_done; + isert_conn->login_desc->rx_cqe.done = isert_login_recv_done; memset(&rx_wr, 0, sizeof(struct ib_recv_wr)); - rx_wr.wr_cqe = &isert_conn->login_req_buf->rx_cqe; + rx_wr.wr_cqe = &isert_conn->login_desc->rx_cqe; rx_wr.sg_list = &sge; rx_wr.num_sge = 1; @@ -1052,7 +1052,7 @@ static void isert_rx_login_req(struct isert_conn *isert_conn) { - struct iser_rx_desc *rx_desc = isert_conn->login_req_buf; + struct iser_rx_desc *rx_desc = isert_conn->login_desc; int rx_buflen = isert_conn->login_req_len; struct iscsi_conn *conn = isert_conn->conn; struct iscsi_login *login = conn->conn_login; @@ -1064,7 +1064,7 @@ if (login->first_request) { struct iscsi_login_req *login_req = - (struct iscsi_login_req *)&rx_desc->iscsi_header; + (struct iscsi_login_req *)isert_get_iscsi_hdr(rx_desc); /* * Setup the initial iscsi_login values from the leading * login request PDU. @@ -1083,13 +1083,13 @@ login->tsih = be16_to_cpu(login_req->tsih); } - memcpy(&login->req[0], (void *)&rx_desc->iscsi_header, ISCSI_HDR_LEN); + memcpy(&login->req[0], isert_get_iscsi_hdr(rx_desc), ISCSI_HDR_LEN); size = min(rx_buflen, MAX_KEY_VALUE_PAIRS); isert_dbg("Using login payload size: %d, rx_buflen: %d " "MAX_KEY_VALUE_PAIRS: %d\n", size, rx_buflen, MAX_KEY_VALUE_PAIRS); - memcpy(login->req_buf, &rx_desc->data[0], size); + memcpy(login->req_buf, isert_get_data(rx_desc), size); if (login->first_request) { complete(&isert_conn->login_comp); @@ -1154,14 +1154,15 @@ if (imm_data_len != data_len) { sg_nents = max(1UL, DIV_ROUND_UP(imm_data_len, PAGE_SIZE)); sg_copy_from_buffer(cmd->se_cmd.t_data_sg, sg_nents, - &rx_desc->data[0], imm_data_len); + isert_get_data(rx_desc), imm_data_len); isert_dbg("Copy Immediate sg_nents: %u imm_data_len: %d\n", sg_nents, imm_data_len); } else { sg_init_table(&isert_cmd->sg, 1); cmd->se_cmd.t_data_sg = &isert_cmd->sg; cmd->se_cmd.t_data_nents = 1; - sg_set_buf(&isert_cmd->sg, &rx_desc->data[0], imm_data_len); + sg_set_buf(&isert_cmd->sg, isert_get_data(rx_desc), + imm_data_len); isert_dbg("Transfer Immediate imm_data_len: %d\n", imm_data_len); } @@ -1230,9 +1231,9 @@ } isert_dbg("Copying DataOut: sg_start: %p, sg_off: %u " "sg_nents: %u from %p %u\n", sg_start, sg_off, - sg_nents, &rx_desc->data[0], unsol_data_len); + sg_nents, isert_get_data(rx_desc), unsol_data_len); - sg_copy_from_buffer(sg_start, sg_nents, &rx_desc->data[0], + sg_copy_from_buffer(sg_start, sg_nents, isert_get_data(rx_desc), unsol_data_len); rc = iscsit_check_dataout_payload(cmd, hdr, false); @@ -1291,7 +1292,7 @@ } cmd->text_in_ptr = text_in; - memcpy(cmd->text_in_ptr, &rx_desc->data[0], payload_length); + memcpy(cmd->text_in_ptr, isert_get_data(rx_desc), payload_length); return iscsit_process_text_cmd(conn, cmd, hdr); } @@ -1301,7 +1302,7 @@ uint32_t read_stag, uint64_t read_va, uint32_t write_stag, uint64_t write_va) { - struct iscsi_hdr *hdr = &rx_desc->iscsi_header; + struct iscsi_hdr *hdr = isert_get_iscsi_hdr(rx_desc); struct iscsi_conn *conn = isert_conn->conn; struct iscsi_cmd *cmd; struct isert_cmd *isert_cmd; @@ -1399,8 +1400,8 @@ struct isert_conn *isert_conn = wc->qp->qp_context; struct ib_device *ib_dev = isert_conn->cm_id->device; struct iser_rx_desc *rx_desc = cqe_to_rx_desc(wc->wr_cqe); - struct iscsi_hdr *hdr = &rx_desc->iscsi_header; - struct iser_ctrl *iser_ctrl = &rx_desc->iser_header; + struct iscsi_hdr *hdr = isert_get_iscsi_hdr(rx_desc); + struct iser_ctrl *iser_ctrl = isert_get_iser_hdr(rx_desc); uint64_t read_va = 0, write_va = 0; uint32_t read_stag = 0, write_stag = 0; @@ -1414,7 +1415,7 @@ rx_desc->in_use = true; ib_dma_sync_single_for_cpu(ib_dev, rx_desc->dma_addr, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ISER_RX_SIZE, DMA_FROM_DEVICE); isert_dbg("DMA: 0x%llx, iSCSI opcode: 0x%02x, ITT: 0x%08x, flags: 0x%02x dlen: %d\n", rx_desc->dma_addr, hdr->opcode, hdr->itt, hdr->flags, @@ -1449,7 +1450,7 @@ read_stag, read_va, write_stag, write_va); ib_dma_sync_single_for_device(ib_dev, rx_desc->dma_addr, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ISER_RX_SIZE, DMA_FROM_DEVICE); } static void @@ -1463,8 +1464,8 @@ return; } - ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_req_dma, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_desc->dma_addr, + ISER_RX_SIZE, DMA_FROM_DEVICE); isert_conn->login_req_len = wc->byte_len - ISER_HEADERS_LEN; @@ -1479,8 +1480,8 @@ complete(&isert_conn->login_req_comp); mutex_unlock(&isert_conn->mutex); - ib_dma_sync_single_for_device(ib_dev, isert_conn->login_req_dma, - ISER_RX_PAYLOAD_SIZE, DMA_FROM_DEVICE); + ib_dma_sync_single_for_device(ib_dev, isert_conn->login_desc->dma_addr, + ISER_RX_SIZE, DMA_FROM_DEVICE); } static void --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/isert/ib_isert.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/isert/ib_isert.h @@ -59,9 +59,11 @@ ISERT_MAX_TX_MISC_PDUS + \ ISERT_MAX_RX_MISC_PDUS) -#define ISER_RX_PAD_SIZE (ISCSI_DEF_MAX_RECV_SEG_LEN + 4096 - \ - (ISER_RX_PAYLOAD_SIZE + sizeof(u64) + sizeof(struct ib_sge) + \ - sizeof(struct ib_cqe) + sizeof(bool))) +/* + * RX size is default of 8k plus headers, but data needs to align to + * 512 boundary, so use 1024 to have the extra space for alignment. + */ +#define ISER_RX_SIZE (ISCSI_DEF_MAX_RECV_SEG_LEN + 1024) #define ISCSI_ISER_SG_TABLESIZE 256 @@ -80,21 +82,41 @@ }; struct iser_rx_desc { - struct iser_ctrl iser_header; - struct iscsi_hdr iscsi_header; - char data[ISCSI_DEF_MAX_RECV_SEG_LEN]; + char buf[ISER_RX_SIZE]; u64 dma_addr; struct ib_sge rx_sg; struct ib_cqe rx_cqe; bool in_use; - char pad[ISER_RX_PAD_SIZE]; -} __packed; +}; static inline struct iser_rx_desc *cqe_to_rx_desc(struct ib_cqe *cqe) { return container_of(cqe, struct iser_rx_desc, rx_cqe); } +static void *isert_get_iser_hdr(struct iser_rx_desc *desc) +{ + return PTR_ALIGN(desc->buf + ISER_HEADERS_LEN, 512) - ISER_HEADERS_LEN; +} + +static size_t isert_get_hdr_offset(struct iser_rx_desc *desc) +{ + return isert_get_iser_hdr(desc) - (void *)desc->buf; +} + +static void *isert_get_iscsi_hdr(struct iser_rx_desc *desc) +{ + return isert_get_iser_hdr(desc) + sizeof(struct iser_ctrl); +} + +static void *isert_get_data(struct iser_rx_desc *desc) +{ + void *data = isert_get_iser_hdr(desc) + ISER_HEADERS_LEN; + + WARN_ON((uintptr_t)data & 511); + return data; +} + struct iser_tx_desc { struct iser_ctrl iser_header; struct iscsi_hdr iscsi_header; @@ -141,9 +163,8 @@ u32 responder_resources; u32 initiator_depth; bool pi_support; - struct iser_rx_desc *login_req_buf; + struct iser_rx_desc *login_desc; char *login_rsp_buf; - u64 login_req_dma; int login_req_len; u64 login_rsp_dma; struct iser_rx_desc *rx_descs; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c @@ -408,6 +408,7 @@ "%s", str); if (err) { pr_err("kobject_init_and_add: %d\n", err); + kobject_put(&sess->kobj); return err; } err = sysfs_create_group(&sess->kobj, &rtrs_clt_sess_attr_group); @@ -419,6 +420,7 @@ &sess->kobj, "stats"); if (err) { pr_err("kobject_init_and_add: %d\n", err); + kobject_put(&sess->stats->kobj_stats); goto remove_group; } --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-clt.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c @@ -12,6 +12,7 @@ #include #include +#include #include "rtrs-clt.h" #include "rtrs-log.h" @@ -23,6 +24,14 @@ * leads to "false positives" failed reconnect attempts */ #define RTRS_RECONNECT_BACKOFF 1000 +/* + * Wait for additional random time between 0 and 8 seconds + * before starting to reconnect to avoid clients reconnecting + * all at once in case of a major network outage + */ +#define RTRS_RECONNECT_SEED 8 + +#define FIRST_CONN 0x01 MODULE_DESCRIPTION("RDMA Transport Client"); MODULE_LICENSE("GPL"); @@ -306,7 +315,8 @@ */ delay_ms = clt->reconnect_delay_sec * 1000; queue_delayed_work(rtrs_wq, &sess->reconnect_dwork, - msecs_to_jiffies(delay_ms)); + msecs_to_jiffies(delay_ms + + prandom_u32() % RTRS_RECONNECT_SEED)); } else { /* * Error can happen just on establishing new connection, @@ -492,7 +502,7 @@ int err; struct rtrs_clt_sess *sess = to_clt_sess(con->c.sess); - WARN_ON(sess->flags != RTRS_MSG_NEW_RKEY_F); + WARN_ON((sess->flags & RTRS_MSG_NEW_RKEY_F) == 0); iu = container_of(wc->wr_cqe, struct rtrs_iu, cqe); err = rtrs_iu_post_recv(&con->c, iu); @@ -512,7 +522,7 @@ u32 buf_id; int err; - WARN_ON(sess->flags != RTRS_MSG_NEW_RKEY_F); + WARN_ON((sess->flags & RTRS_MSG_NEW_RKEY_F) == 0); iu = container_of(wc->wr_cqe, struct rtrs_iu, cqe); @@ -619,12 +629,12 @@ } else if (imm_type == RTRS_HB_MSG_IMM) { WARN_ON(con->c.cid); rtrs_send_hb_ack(&sess->s); - if (sess->flags == RTRS_MSG_NEW_RKEY_F) + if (sess->flags & RTRS_MSG_NEW_RKEY_F) return rtrs_clt_recv_done(con, wc); } else if (imm_type == RTRS_HB_ACK_IMM) { WARN_ON(con->c.cid); sess->s.hb_missed_cnt = 0; - if (sess->flags == RTRS_MSG_NEW_RKEY_F) + if (sess->flags & RTRS_MSG_NEW_RKEY_F) return rtrs_clt_recv_done(con, wc); } else { rtrs_wrn(con->c.sess, "Unknown IMM type %u\n", @@ -652,7 +662,7 @@ WARN_ON(!(wc->wc_flags & IB_WC_WITH_INVALIDATE || wc->wc_flags & IB_WC_WITH_IMM)); WARN_ON(wc->wr_cqe->done != rtrs_clt_rdma_done); - if (sess->flags == RTRS_MSG_NEW_RKEY_F) { + if (sess->flags & RTRS_MSG_NEW_RKEY_F) { if (wc->wc_flags & IB_WC_WITH_INVALIDATE) return rtrs_clt_recv_done(con, wc); @@ -662,7 +672,6 @@ case IB_WC_RDMA_WRITE: /* * post_send() RDMA write completions of IO reqs (read/write) - * and hb */ break; @@ -678,7 +687,7 @@ struct rtrs_clt_sess *sess = to_clt_sess(con->c.sess); for (i = 0; i < q_size; i++) { - if (sess->flags == RTRS_MSG_NEW_RKEY_F) { + if (sess->flags & RTRS_MSG_NEW_RKEY_F) { struct rtrs_iu *iu = &con->rsp_ius[i]; err = rtrs_iu_post_recv(&con->c, iu); @@ -1228,8 +1237,7 @@ if (req->mr) ib_dereg_mr(req->mr); kfree(req->sge); - rtrs_iu_free(req->iu, DMA_TO_DEVICE, - sess->s.dev->ib_dev, 1); + rtrs_iu_free(req->iu, sess->s.dev->ib_dev, 1); } kfree(sess->reqs); sess->reqs = NULL; @@ -1508,7 +1516,7 @@ static int create_con_cq_qp(struct rtrs_clt_con *con) { struct rtrs_clt_sess *sess = to_clt_sess(con->c.sess); - u16 wr_queue_size; + u32 max_send_wr, max_recv_wr, cq_size; int err, cq_vector; struct rtrs_msg_rkey_rsp *rsp; @@ -1528,7 +1536,8 @@ * + 2 for drain and heartbeat * in case qp gets into error state */ - wr_queue_size = SERVICE_CON_QUEUE_DEPTH * 3 + 2; + max_send_wr = SERVICE_CON_QUEUE_DEPTH * 2 + 2; + max_recv_wr = SERVICE_CON_QUEUE_DEPTH * 2 + 2; /* We must be the first here */ if (WARN_ON(sess->s.dev)) return -EINVAL; @@ -1560,25 +1569,29 @@ /* Shared between connections */ sess->s.dev_ref++; - wr_queue_size = + max_send_wr = min_t(int, sess->s.dev->ib_dev->attrs.max_qp_wr, /* QD * (REQ + RSP + FR REGS or INVS) + drain */ sess->queue_depth * 3 + 1); + max_recv_wr = + min_t(int, sess->s.dev->ib_dev->attrs.max_qp_wr, + sess->queue_depth * 3 + 1); } /* alloc iu to recv new rkey reply when server reports flags set */ - if (sess->flags == RTRS_MSG_NEW_RKEY_F || con->c.cid == 0) { - con->rsp_ius = rtrs_iu_alloc(wr_queue_size, sizeof(*rsp), + if (sess->flags & RTRS_MSG_NEW_RKEY_F || con->c.cid == 0) { + con->rsp_ius = rtrs_iu_alloc(max_recv_wr, sizeof(*rsp), GFP_KERNEL, sess->s.dev->ib_dev, DMA_FROM_DEVICE, rtrs_clt_rdma_done); if (!con->rsp_ius) return -ENOMEM; - con->queue_size = wr_queue_size; + con->queue_size = max_recv_wr; } + cq_size = max_send_wr + max_recv_wr; cq_vector = con->cpu % sess->s.dev->ib_dev->num_comp_vectors; err = rtrs_cq_qp_create(&sess->s, &con->c, sess->max_send_sge, - cq_vector, wr_queue_size, wr_queue_size, - IB_POLL_SOFTIRQ); + cq_vector, cq_size, max_send_wr, + max_recv_wr, IB_POLL_SOFTIRQ); /* * In case of error we do not bother to clean previous allocations, * since destroy_con_cq_qp() must be called. @@ -1597,8 +1610,7 @@ rtrs_cq_qp_destroy(&con->c); if (con->rsp_ius) { - rtrs_iu_free(con->rsp_ius, DMA_FROM_DEVICE, - sess->s.dev->ib_dev, con->queue_size); + rtrs_iu_free(con->rsp_ius, sess->s.dev->ib_dev, con->queue_size); con->rsp_ius = NULL; con->queue_size = 0; } @@ -1632,10 +1644,8 @@ return err; } err = rdma_resolve_route(con->c.cm_id, RTRS_CONNECT_TIMEOUT_MS); - if (err) { + if (err) rtrs_err(s, "Resolving route failed, err: %d\n", err); - destroy_con_cq_qp(con); - } return err; } @@ -1663,6 +1673,7 @@ .cid_num = cpu_to_le16(sess->s.con_num), .recon_cnt = cpu_to_le16(sess->s.recon_cnt), }; + msg.first_conn = sess->for_new_clt ? FIRST_CONN : 0; uuid_copy(&msg.sess_uuid, &sess->s.uuid); uuid_copy(&msg.paths_uuid, &clt->paths_uuid); @@ -1748,6 +1759,8 @@ scnprintf(sess->hca_name, sizeof(sess->hca_name), sess->s.dev->ib_dev->name); sess->s.src_addr = con->c.cm_id->route.addr.src_addr; + /* set for_new_clt, to allow future reconnect on any path */ + sess->for_new_clt = 1; } return 0; @@ -1829,8 +1842,8 @@ cm_err = rtrs_rdma_route_resolved(con); break; case RDMA_CM_EVENT_ESTABLISHED: - con->cm_err = rtrs_rdma_conn_established(con, ev); - if (likely(!con->cm_err)) { + cm_err = rtrs_rdma_conn_established(con, ev); + if (likely(!cm_err)) { /* * Report success and wake up. Here we abuse state_wq, * i.e. wake up without state change, but we set cm_err. @@ -2237,7 +2250,7 @@ struct rtrs_iu *iu; iu = container_of(wc->wr_cqe, struct rtrs_iu, cqe); - rtrs_iu_free(iu, DMA_TO_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); if (unlikely(wc->status != IB_WC_SUCCESS)) { rtrs_err(sess->clt, "Sess info request send failed: %s\n", @@ -2366,7 +2379,7 @@ out: rtrs_clt_update_wc_stats(con); - rtrs_iu_free(iu, DMA_FROM_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); rtrs_clt_change_state(sess, state); } @@ -2428,9 +2441,9 @@ out: if (tx_iu) - rtrs_iu_free(tx_iu, DMA_TO_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(tx_iu, sess->s.dev->ib_dev, 1); if (rx_iu) - rtrs_iu_free(rx_iu, DMA_FROM_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(rx_iu, sess->s.dev->ib_dev, 1); if (unlikely(err)) /* If we've never taken async path because of malloc problems */ rtrs_clt_change_state(sess, RTRS_CLT_CONNECTING_ERR); @@ -2503,7 +2516,9 @@ sess->stats->reconnects.fail_cnt++; delay_ms = clt->reconnect_delay_sec * 1000; queue_delayed_work(rtrs_wq, &sess->reconnect_dwork, - msecs_to_jiffies(delay_ms)); + msecs_to_jiffies(delay_ms + + prandom_u32() % + RTRS_RECONNECT_SEED)); } } @@ -2563,11 +2578,8 @@ clt->dev.class = rtrs_clt_dev_class; clt->dev.release = rtrs_clt_dev_release; err = dev_set_name(&clt->dev, "%s", sessname); - if (err) { - free_percpu(clt->pcpu_path); - kfree(clt); - return ERR_PTR(err); - } + if (err) + goto err; /* * Suppress user space notification until * sysfs files are created @@ -2575,29 +2587,31 @@ dev_set_uevent_suppress(&clt->dev, true); err = device_register(&clt->dev); if (err) { - free_percpu(clt->pcpu_path); put_device(&clt->dev); - return ERR_PTR(err); + goto err; } clt->kobj_paths = kobject_create_and_add("paths", &clt->dev.kobj); if (!clt->kobj_paths) { - free_percpu(clt->pcpu_path); - device_unregister(&clt->dev); - return NULL; + err = -ENOMEM; + goto err_dev; } err = rtrs_clt_create_sysfs_root_files(clt); if (err) { - free_percpu(clt->pcpu_path); kobject_del(clt->kobj_paths); kobject_put(clt->kobj_paths); - device_unregister(&clt->dev); - return ERR_PTR(err); + goto err_dev; } dev_set_uevent_suppress(&clt->dev, false); kobject_uevent(&clt->dev.kobj, KOBJ_ADD); return clt; +err_dev: + device_unregister(&clt->dev); +err: + free_percpu(clt->pcpu_path); + kfree(clt); + return ERR_PTR(err); } static void wait_for_inflight_permits(struct rtrs_clt *clt) @@ -2670,6 +2684,8 @@ err = PTR_ERR(sess); goto close_all_sess; } + if (!i) + sess->for_new_clt = 1; list_add_tail_rcu(&sess->s.entry, &clt->paths_list); err = init_sess(sess); @@ -2723,8 +2739,8 @@ /* Now it is safe to iterate over all paths without locks */ list_for_each_entry_safe(sess, tmp, &clt->paths_list, s.entry) { - rtrs_clt_destroy_sess_files(sess, NULL); rtrs_clt_close_conns(sess, true); + rtrs_clt_destroy_sess_files(sess, NULL); kobject_put(&sess->kobj); } free_clt(clt); @@ -2972,7 +2988,7 @@ pr_err("Failed to create rtrs-client dev class\n"); return PTR_ERR(rtrs_clt_dev_class); } - rtrs_wq = alloc_workqueue("rtrs_client_wq", WQ_MEM_RECLAIM, 0); + rtrs_wq = alloc_workqueue("rtrs_client_wq", 0, 0); if (!rtrs_wq) { class_destroy(rtrs_clt_dev_class); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-clt.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-clt.h @@ -142,6 +142,7 @@ int max_send_sge; u32 flags; struct kobject kobj; + u8 for_new_clt; struct rtrs_clt_stats *stats; /* cache hca_port and hca_name to display in sysfs */ u8 hca_port; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-pri.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-pri.h @@ -189,7 +189,9 @@ __le16 recon_cnt; uuid_t sess_uuid; uuid_t paths_uuid; - u8 reserved[12]; + u8 first_conn : 1; + u8 reserved_bits : 7; + u8 reserved[11]; }; /** @@ -288,8 +290,7 @@ struct rtrs_iu *rtrs_iu_alloc(u32 queue_size, size_t size, gfp_t t, struct ib_device *dev, enum dma_data_direction, void (*done)(struct ib_cq *cq, struct ib_wc *wc)); -void rtrs_iu_free(struct rtrs_iu *iu, enum dma_data_direction dir, - struct ib_device *dev, u32 queue_size); +void rtrs_iu_free(struct rtrs_iu *iu, struct ib_device *dev, u32 queue_size); int rtrs_iu_post_recv(struct rtrs_con *con, struct rtrs_iu *iu); int rtrs_iu_post_send(struct rtrs_con *con, struct rtrs_iu *iu, size_t size, struct ib_send_wr *head); @@ -305,8 +306,9 @@ struct ib_send_wr *head); int rtrs_cq_qp_create(struct rtrs_sess *rtrs_sess, struct rtrs_con *con, - u32 max_send_sge, int cq_vector, u16 cq_size, - u16 wr_queue_size, enum ib_poll_context poll_ctx); + u32 max_send_sge, int cq_vector, int cq_size, + u32 max_send_wr, u32 max_recv_wr, + enum ib_poll_context poll_ctx); void rtrs_cq_qp_destroy(struct rtrs_con *con); void rtrs_init_hb(struct rtrs_sess *sess, struct ib_cqe *cqe, --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c @@ -53,6 +53,8 @@ sockaddr_to_str((struct sockaddr *)&sess->s.dst_addr, str, sizeof(str)); rtrs_info(s, "disconnect for path %s requested\n", str); + /* first remove sysfs itself to avoid deadlock */ + sysfs_remove_file_self(&sess->kobj, &attr->attr); close_sess(sess); return count; @@ -152,13 +154,6 @@ .attrs = rtrs_srv_stats_attrs, }; -static void rtrs_srv_dev_release(struct device *dev) -{ - struct rtrs_srv *srv = container_of(dev, struct rtrs_srv, dev); - - kfree(srv); -} - static int rtrs_srv_create_once_sysfs_root_folders(struct rtrs_srv_sess *sess) { struct rtrs_srv *srv = sess->srv; @@ -172,7 +167,6 @@ goto unlock; } srv->dev.class = rtrs_dev_class; - srv->dev.release = rtrs_srv_dev_release; err = dev_set_name(&srv->dev, "%s", sess->s.sessname); if (err) goto unlock; @@ -182,16 +176,17 @@ * sysfs files are created */ dev_set_uevent_suppress(&srv->dev, true); - err = device_register(&srv->dev); + err = device_add(&srv->dev); if (err) { - pr_err("device_register(): %d\n", err); + pr_err("device_add(): %d\n", err); goto put; } srv->kobj_paths = kobject_create_and_add("paths", &srv->dev.kobj); if (!srv->kobj_paths) { err = -ENOMEM; pr_err("kobject_create_and_add(): %d\n", err); - device_unregister(&srv->dev); + device_del(&srv->dev); + put_device(&srv->dev); goto unlock; } dev_set_uevent_suppress(&srv->dev, false); @@ -216,7 +211,8 @@ kobject_del(srv->kobj_paths); kobject_put(srv->kobj_paths); mutex_unlock(&srv->paths_mutex); - device_unregister(&srv->dev); + device_del(&srv->dev); + put_device(&srv->dev); } else { mutex_unlock(&srv->paths_mutex); } @@ -245,6 +241,7 @@ &sess->kobj, "stats"); if (err) { rtrs_err(s, "kobject_init_and_add(): %d\n", err); + kobject_put(&sess->stats->kobj_stats); return err; } err = sysfs_create_group(&sess->stats->kobj_stats, @@ -301,8 +298,8 @@ sysfs_remove_group(&sess->kobj, &rtrs_srv_sess_attr_group); put_kobj: kobject_del(&sess->kobj); - kobject_put(&sess->kobj); destroy_root: + kobject_put(&sess->kobj); rtrs_srv_destroy_once_sysfs_root_folders(sess); return err; @@ -313,7 +310,7 @@ if (sess->kobj.state_in_sysfs) { kobject_del(&sess->stats->kobj_stats); kobject_put(&sess->stats->kobj_stats); - kobject_del(&sess->kobj); + sysfs_remove_group(&sess->kobj, &rtrs_srv_sess_attr_group); kobject_put(&sess->kobj); rtrs_srv_destroy_once_sysfs_root_folders(sess); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-srv.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-srv.c @@ -16,6 +16,7 @@ #include "rtrs-srv.h" #include "rtrs-log.h" #include +#include MODULE_DESCRIPTION("RDMA Transport Server"); MODULE_LICENSE("GPL"); @@ -31,6 +32,7 @@ static struct rtrs_rdma_dev_pd dev_pd; static mempool_t *chunk_pool; struct class *rtrs_dev_class; +static struct rtrs_srv_ib_ctx ib_ctx; static int __read_mostly max_chunk_size = DEFAULT_MAX_CHUNK_SIZE; static int __read_mostly sess_queue_depth = DEFAULT_SESS_QUEUE_DEPTH; @@ -230,7 +232,8 @@ dma_addr_t dma_addr = sess->dma_addr[id->msg_id]; struct rtrs_srv_mr *srv_mr; struct rtrs_srv *srv = sess->srv; - struct ib_send_wr inv_wr, imm_wr; + struct ib_send_wr inv_wr; + struct ib_rdma_wr imm_wr; struct ib_rdma_wr *wr = NULL; enum ib_send_flags flags; size_t sg_cnt; @@ -275,21 +278,22 @@ WARN_ON_ONCE(rkey != wr->rkey); wr->wr.opcode = IB_WR_RDMA_WRITE; + wr->wr.wr_cqe = &io_comp_cqe; wr->wr.ex.imm_data = 0; wr->wr.send_flags = 0; if (need_inval && always_invalidate) { wr->wr.next = &rwr.wr; rwr.wr.next = &inv_wr; - inv_wr.next = &imm_wr; + inv_wr.next = &imm_wr.wr; } else if (always_invalidate) { wr->wr.next = &rwr.wr; - rwr.wr.next = &imm_wr; + rwr.wr.next = &imm_wr.wr; } else if (need_inval) { wr->wr.next = &inv_wr; - inv_wr.next = &imm_wr; + inv_wr.next = &imm_wr.wr; } else { - wr->wr.next = &imm_wr; + wr->wr.next = &imm_wr.wr; } /* * From time to time we have to post signaled sends, @@ -302,16 +306,18 @@ inv_wr.sg_list = NULL; inv_wr.num_sge = 0; inv_wr.opcode = IB_WR_SEND_WITH_INV; + inv_wr.wr_cqe = &io_comp_cqe; inv_wr.send_flags = 0; inv_wr.ex.invalidate_rkey = rkey; } - imm_wr.next = NULL; + imm_wr.wr.next = NULL; if (always_invalidate) { struct rtrs_msg_rkey_rsp *msg; srv_mr = &sess->mrs[id->msg_id]; rwr.wr.opcode = IB_WR_REG_MR; + rwr.wr.wr_cqe = &local_reg_cqe; rwr.wr.num_sge = 0; rwr.mr = srv_mr->mr; rwr.wr.send_flags = 0; @@ -326,22 +332,22 @@ list.addr = srv_mr->iu->dma_addr; list.length = sizeof(*msg); list.lkey = sess->s.dev->ib_pd->local_dma_lkey; - imm_wr.sg_list = &list; - imm_wr.num_sge = 1; - imm_wr.opcode = IB_WR_SEND_WITH_IMM; + imm_wr.wr.sg_list = &list; + imm_wr.wr.num_sge = 1; + imm_wr.wr.opcode = IB_WR_SEND_WITH_IMM; ib_dma_sync_single_for_device(sess->s.dev->ib_dev, srv_mr->iu->dma_addr, srv_mr->iu->size, DMA_TO_DEVICE); } else { - imm_wr.sg_list = NULL; - imm_wr.num_sge = 0; - imm_wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM; + imm_wr.wr.sg_list = NULL; + imm_wr.wr.num_sge = 0; + imm_wr.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM; } - imm_wr.send_flags = flags; - imm_wr.ex.imm_data = cpu_to_be32(rtrs_to_io_rsp_imm(id->msg_id, + imm_wr.wr.send_flags = flags; + imm_wr.wr.ex.imm_data = cpu_to_be32(rtrs_to_io_rsp_imm(id->msg_id, 0, need_inval)); - imm_wr.wr_cqe = &io_comp_cqe; + imm_wr.wr.wr_cqe = &io_comp_cqe; ib_dma_sync_single_for_device(sess->s.dev->ib_dev, dma_addr, offset, DMA_BIDIRECTIONAL); @@ -368,7 +374,8 @@ { struct rtrs_sess *s = con->c.sess; struct rtrs_srv_sess *sess = to_srv_sess(s); - struct ib_send_wr inv_wr, imm_wr, *wr = NULL; + struct ib_send_wr inv_wr, *wr = NULL; + struct ib_rdma_wr imm_wr; struct ib_reg_wr rwr; struct rtrs_srv *srv = sess->srv; struct rtrs_srv_mr *srv_mr; @@ -387,6 +394,7 @@ if (need_inval) { if (likely(sg_cnt)) { + inv_wr.wr_cqe = &io_comp_cqe; inv_wr.sg_list = NULL; inv_wr.num_sge = 0; inv_wr.opcode = IB_WR_SEND_WITH_INV; @@ -404,15 +412,15 @@ if (need_inval && always_invalidate) { wr = &inv_wr; inv_wr.next = &rwr.wr; - rwr.wr.next = &imm_wr; + rwr.wr.next = &imm_wr.wr; } else if (always_invalidate) { wr = &rwr.wr; - rwr.wr.next = &imm_wr; + rwr.wr.next = &imm_wr.wr; } else if (need_inval) { wr = &inv_wr; - inv_wr.next = &imm_wr; + inv_wr.next = &imm_wr.wr; } else { - wr = &imm_wr; + wr = &imm_wr.wr; } /* * From time to time we have to post signalled sends, @@ -421,14 +429,15 @@ flags = (atomic_inc_return(&con->wr_cnt) % srv->queue_depth) ? 0 : IB_SEND_SIGNALED; imm = rtrs_to_io_rsp_imm(id->msg_id, errno, need_inval); - imm_wr.next = NULL; + imm_wr.wr.next = NULL; if (always_invalidate) { struct ib_sge list; struct rtrs_msg_rkey_rsp *msg; srv_mr = &sess->mrs[id->msg_id]; - rwr.wr.next = &imm_wr; + rwr.wr.next = &imm_wr.wr; rwr.wr.opcode = IB_WR_REG_MR; + rwr.wr.wr_cqe = &local_reg_cqe; rwr.wr.num_sge = 0; rwr.wr.send_flags = 0; rwr.mr = srv_mr->mr; @@ -443,21 +452,21 @@ list.addr = srv_mr->iu->dma_addr; list.length = sizeof(*msg); list.lkey = sess->s.dev->ib_pd->local_dma_lkey; - imm_wr.sg_list = &list; - imm_wr.num_sge = 1; - imm_wr.opcode = IB_WR_SEND_WITH_IMM; + imm_wr.wr.sg_list = &list; + imm_wr.wr.num_sge = 1; + imm_wr.wr.opcode = IB_WR_SEND_WITH_IMM; ib_dma_sync_single_for_device(sess->s.dev->ib_dev, srv_mr->iu->dma_addr, srv_mr->iu->size, DMA_TO_DEVICE); } else { - imm_wr.sg_list = NULL; - imm_wr.num_sge = 0; - imm_wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM; + imm_wr.wr.sg_list = NULL; + imm_wr.wr.num_sge = 0; + imm_wr.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM; } - imm_wr.send_flags = flags; - imm_wr.wr_cqe = &io_comp_cqe; + imm_wr.wr.send_flags = flags; + imm_wr.wr.wr_cqe = &io_comp_cqe; - imm_wr.ex.imm_data = cpu_to_be32(imm); + imm_wr.wr.ex.imm_data = cpu_to_be32(imm); err = ib_post_send(id->con->c.qp, wr, NULL); if (unlikely(err)) @@ -575,8 +584,7 @@ struct rtrs_srv_mr *srv_mr; srv_mr = &sess->mrs[i]; - rtrs_iu_free(srv_mr->iu, DMA_TO_DEVICE, - sess->s.dev->ib_dev, 1); + rtrs_iu_free(srv_mr->iu, sess->s.dev->ib_dev, 1); ib_dereg_mr(srv_mr->mr); ib_dma_unmap_sg(sess->s.dev->ib_dev, srv_mr->sgt.sgl, srv_mr->sgt.nents, DMA_BIDIRECTIONAL); @@ -663,7 +671,7 @@ if (!srv_mr->iu) { err = -ENOMEM; rtrs_err(ss, "rtrs_iu_alloc(), err: %d\n", err); - goto free_iu; + goto dereg_mr; } } /* Eventually dma addr for each chunk can be cached */ @@ -679,9 +687,7 @@ srv_mr = &sess->mrs[mri]; sgt = &srv_mr->sgt; mr = srv_mr->mr; -free_iu: - rtrs_iu_free(srv_mr->iu, DMA_TO_DEVICE, - sess->s.dev->ib_dev, 1); + rtrs_iu_free(srv_mr->iu, sess->s.dev->ib_dev, 1); dereg_mr: ib_dereg_mr(mr); unmap_sg: @@ -733,7 +739,7 @@ struct rtrs_iu *iu; iu = container_of(wc->wr_cqe, struct rtrs_iu, cqe); - rtrs_iu_free(iu, DMA_TO_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); if (unlikely(wc->status != IB_WC_SUCCESS)) { rtrs_err(s, "Sess info response send failed: %s\n", @@ -827,7 +833,7 @@ rwr[mri].wr.opcode = IB_WR_REG_MR; rwr[mri].wr.wr_cqe = &local_reg_cqe; rwr[mri].wr.num_sge = 0; - rwr[mri].wr.send_flags = mri ? 0 : IB_SEND_SIGNALED; + rwr[mri].wr.send_flags = 0; rwr[mri].mr = mr; rwr[mri].key = mr->rkey; rwr[mri].access = (IB_ACCESS_LOCAL_WRITE | @@ -859,7 +865,7 @@ if (unlikely(err)) { rtrs_err(s, "rtrs_iu_post_send(), err: %d\n", err); iu_free: - rtrs_iu_free(tx_iu, DMA_TO_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(tx_iu, sess->s.dev->ib_dev, 1); } rwr_free: kfree(rwr); @@ -904,7 +910,7 @@ goto close; out: - rtrs_iu_free(iu, DMA_FROM_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(iu, sess->s.dev->ib_dev, 1); return; close: close_sess(sess); @@ -927,7 +933,7 @@ err = rtrs_iu_post_recv(&con->c, rx_iu); if (unlikely(err)) { rtrs_err(s, "rtrs_iu_post_recv(), err: %d\n", err); - rtrs_iu_free(rx_iu, DMA_FROM_DEVICE, sess->s.dev->ib_dev, 1); + rtrs_iu_free(rx_iu, sess->s.dev->ib_dev, 1); return err; } @@ -1251,7 +1257,6 @@ case IB_WC_SEND: /* * post_send() RDMA write completions of IO reqs (read/write) - * and hb */ atomic_add(srv->queue_depth, &con->sq_wr_avail); @@ -1319,23 +1324,63 @@ return sess->cur_cq_vector; } -static struct rtrs_srv *__alloc_srv(struct rtrs_srv_ctx *ctx, - const uuid_t *paths_uuid) +static void rtrs_srv_dev_release(struct device *dev) +{ + struct rtrs_srv *srv = container_of(dev, struct rtrs_srv, dev); + + kfree(srv); +} + +static void free_srv(struct rtrs_srv *srv) +{ + int i; + + WARN_ON(refcount_read(&srv->refcount)); + for (i = 0; i < srv->queue_depth; i++) + mempool_free(srv->chunks[i], chunk_pool); + kfree(srv->chunks); + mutex_destroy(&srv->paths_mutex); + mutex_destroy(&srv->paths_ev_mutex); + /* last put to release the srv structure */ + put_device(&srv->dev); +} + +static struct rtrs_srv *get_or_create_srv(struct rtrs_srv_ctx *ctx, + const uuid_t *paths_uuid, + bool first_conn) { struct rtrs_srv *srv; int i; + mutex_lock(&ctx->srv_mutex); + list_for_each_entry(srv, &ctx->srv_list, ctx_list) { + if (uuid_equal(&srv->paths_uuid, paths_uuid) && + refcount_inc_not_zero(&srv->refcount)) { + mutex_unlock(&ctx->srv_mutex); + return srv; + } + } + mutex_unlock(&ctx->srv_mutex); + /* + * If this request is not the first connection request from the + * client for this session then fail and return error. + */ + if (!first_conn) + return ERR_PTR(-ENXIO); + + /* need to allocate a new srv */ srv = kzalloc(sizeof(*srv), GFP_KERNEL); if (!srv) - return NULL; + return ERR_PTR(-ENOMEM); - refcount_set(&srv->refcount, 1); INIT_LIST_HEAD(&srv->paths_list); mutex_init(&srv->paths_mutex); mutex_init(&srv->paths_ev_mutex); uuid_copy(&srv->paths_uuid, paths_uuid); srv->queue_depth = sess_queue_depth; srv->ctx = ctx; + device_initialize(&srv->dev); + srv->dev.release = rtrs_srv_dev_release; srv->chunks = kcalloc(srv->queue_depth, sizeof(*srv->chunks), GFP_KERNEL); @@ -1347,7 +1392,10 @@ if (!srv->chunks[i]) goto err_free_chunks; } + refcount_set(&srv->refcount, 1); + mutex_lock(&ctx->srv_mutex); list_add(&srv->ctx_list, &ctx->srv_list); + mutex_unlock(&ctx->srv_mutex); return srv; @@ -1358,50 +1406,7 @@ err_free_srv: kfree(srv); - - return NULL; -} - -static void free_srv(struct rtrs_srv *srv) -{ - int i; - - WARN_ON(refcount_read(&srv->refcount)); - for (i = 0; i < srv->queue_depth; i++) - mempool_free(srv->chunks[i], chunk_pool); - kfree(srv->chunks); - mutex_destroy(&srv->paths_mutex); - mutex_destroy(&srv->paths_ev_mutex); - /* last put to release the srv structure */ - put_device(&srv->dev); -} - -static inline struct rtrs_srv *__find_srv_and_get(struct rtrs_srv_ctx *ctx, - const uuid_t *paths_uuid) -{ - struct rtrs_srv *srv; - - list_for_each_entry(srv, &ctx->srv_list, ctx_list) { - if (uuid_equal(&srv->paths_uuid, paths_uuid) && - refcount_inc_not_zero(&srv->refcount)) - return srv; - } - - return NULL; -} - -static struct rtrs_srv *get_or_create_srv(struct rtrs_srv_ctx *ctx, - const uuid_t *paths_uuid) -{ - struct rtrs_srv *srv; - - mutex_lock(&ctx->srv_mutex); - srv = __find_srv_and_get(ctx, paths_uuid); - if (!srv) - srv = __alloc_srv(ctx, paths_uuid); - mutex_unlock(&ctx->srv_mutex); - - return srv; + return ERR_PTR(-ENOMEM); } static void put_srv(struct rtrs_srv *srv) @@ -1481,10 +1486,12 @@ static void free_sess(struct rtrs_srv_sess *sess) { - if (sess->kobj.state_in_sysfs) + if (sess->kobj.state_in_sysfs) { + kobject_del(&sess->kobj); kobject_put(&sess->kobj); - else + } else { kfree(sess); + } } static void rtrs_srv_close_work(struct work_struct *work) @@ -1606,7 +1613,7 @@ struct rtrs_sess *s = &sess->s; struct rtrs_srv_con *con; - u16 cq_size, wr_queue_size; + u32 cq_size, wr_queue_size; int err, cq_vector; con = kzalloc(sizeof(*con), GFP_KERNEL); @@ -1620,7 +1627,7 @@ con->c.cm_id = cm_id; con->c.sess = &sess->s; con->c.cid = cid; - atomic_set(&con->wr_cnt, 0); + atomic_set(&con->wr_cnt, 1); if (con->c.cid == 0) { /* @@ -1650,7 +1657,8 @@ /* TODO: SOFTIRQ can be faster, but be careful with softirq context */ err = rtrs_cq_qp_create(&sess->s, &con->c, 1, cq_vector, cq_size, - wr_queue_size, IB_POLL_WORKQUEUE); + wr_queue_size, wr_queue_size, + IB_POLL_WORKQUEUE); if (err) { rtrs_err(s, "rtrs_cq_qp_create(), err: %d\n", err); goto free_con; @@ -1801,9 +1809,9 @@ goto reject_w_econnreset; } recon_cnt = le16_to_cpu(msg->recon_cnt); - srv = get_or_create_srv(ctx, &msg->paths_uuid); - if (!srv) { - err = -ENOMEM; + srv = get_or_create_srv(ctx, &msg->paths_uuid, msg->first_conn); + if (IS_ERR(srv)) { + err = PTR_ERR(srv); goto reject_w_err; } mutex_lock(&srv->paths_mutex); @@ -1878,8 +1886,8 @@ return rtrs_rdma_do_reject(cm_id, -ECONNRESET); close_and_return_err: - close_sess(sess); mutex_unlock(&srv->paths_mutex); + close_sess(sess); return err; } @@ -2033,6 +2041,70 @@ kfree(ctx); } +static int rtrs_srv_add_one(struct ib_device *device) +{ + struct rtrs_srv_ctx *ctx; + int ret = 0; + + mutex_lock(&ib_ctx.ib_dev_mutex); + if (ib_ctx.ib_dev_count) + goto out; + + /* + * Since our CM IDs are NOT bound to any ib device we will create them + * only once + */ + ctx = ib_ctx.srv_ctx; + ret = rtrs_srv_rdma_init(ctx, ib_ctx.port); + if (ret) { + /* + * We errored out here. + * According to the ib code, if we encounter an error here then the + * error code is ignored, and no more calls to our ops are made. + */ + pr_err("Failed to initialize RDMA connection"); + goto err_out; + } + +out: + /* + * Keep a track on the number of ib devices added + */ + ib_ctx.ib_dev_count++; + +err_out: + mutex_unlock(&ib_ctx.ib_dev_mutex); + return ret; +} + +static void rtrs_srv_remove_one(struct ib_device *device, void *client_data) +{ + struct rtrs_srv_ctx *ctx; + + mutex_lock(&ib_ctx.ib_dev_mutex); + ib_ctx.ib_dev_count--; + + if (ib_ctx.ib_dev_count) + goto out; + + /* + * Since our CM IDs are NOT bound to any ib device we will remove them + * only once, when the last device is removed + */ + ctx = ib_ctx.srv_ctx; + rdma_destroy_id(ctx->cm_id_ip); + rdma_destroy_id(ctx->cm_id_ib); + +out: + mutex_unlock(&ib_ctx.ib_dev_mutex); +} + +static struct ib_client rtrs_srv_client = { + .name = "rtrs_server", + .add = rtrs_srv_add_one, + .remove = rtrs_srv_remove_one +}; + /** * rtrs_srv_open() - open RTRS server context * @ops: callback functions @@ -2051,7 +2123,11 @@ if (!ctx) return ERR_PTR(-ENOMEM); - err = rtrs_srv_rdma_init(ctx, port); + mutex_init(&ib_ctx.ib_dev_mutex); + ib_ctx.srv_ctx = ctx; + ib_ctx.port = port; + + err = ib_register_client(&rtrs_srv_client); if (err) { free_srv_ctx(ctx); return ERR_PTR(err); @@ -2090,8 +2166,8 @@ */ void rtrs_srv_close(struct rtrs_srv_ctx *ctx) { - rdma_destroy_id(ctx->cm_id_ip); - rdma_destroy_id(ctx->cm_id_ib); + ib_unregister_client(&rtrs_srv_client); + mutex_destroy(&ib_ctx.ib_dev_mutex); close_ctx(ctx); free_srv_ctx(ctx); } @@ -2150,7 +2226,7 @@ err = PTR_ERR(rtrs_dev_class); goto out_chunk_pool; } - rtrs_wq = alloc_workqueue("rtrs_server_wq", WQ_MEM_RECLAIM, 0); + rtrs_wq = alloc_workqueue("rtrs_server_wq", 0, 0); if (!rtrs_wq) { err = -ENOMEM; goto out_dev_class; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs-srv.h +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs-srv.h @@ -118,6 +118,13 @@ struct list_head srv_list; }; +struct rtrs_srv_ib_ctx { + struct rtrs_srv_ctx *srv_ctx; + u16 port; + struct mutex ib_dev_mutex; + int ib_dev_count; +}; + extern struct class *rtrs_dev_class; void close_sess(struct rtrs_srv_sess *sess); --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/rtrs/rtrs.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/rtrs/rtrs.c @@ -31,6 +31,7 @@ return NULL; for (i = 0; i < queue_size; i++) { iu = &ius[i]; + iu->direction = dir; iu->buf = kzalloc(size, gfp_mask); if (!iu->buf) goto err; @@ -41,17 +42,15 @@ iu->cqe.done = done; iu->size = size; - iu->direction = dir; } return ius; err: - rtrs_iu_free(ius, dir, dma_dev, i); + rtrs_iu_free(ius, dma_dev, i); return NULL; } EXPORT_SYMBOL_GPL(rtrs_iu_alloc); -void rtrs_iu_free(struct rtrs_iu *ius, enum dma_data_direction dir, - struct ib_device *ibdev, u32 queue_size) +void rtrs_iu_free(struct rtrs_iu *ius, struct ib_device *ibdev, u32 queue_size) { struct rtrs_iu *iu; int i; @@ -61,7 +60,7 @@ for (i = 0; i < queue_size; i++) { iu = &ius[i]; - ib_dma_unmap_single(ibdev, iu->dma_addr, iu->size, dir); + ib_dma_unmap_single(ibdev, iu->dma_addr, iu->size, iu->direction); kfree(iu->buf); } kfree(ius); @@ -105,6 +104,22 @@ } EXPORT_SYMBOL_GPL(rtrs_post_recv_empty); +static int rtrs_post_send(struct ib_qp *qp, struct ib_send_wr *head, + struct ib_send_wr *wr) +{ + if (head) { + struct ib_send_wr *tail = head; + + while (tail->next) + tail = tail->next; + tail->next = wr; + } else { + head = wr; + } + + return ib_post_send(qp, head, NULL); +} + int rtrs_iu_post_send(struct rtrs_con *con, struct rtrs_iu *iu, size_t size, struct ib_send_wr *head) { @@ -127,17 +142,7 @@ .send_flags = IB_SEND_SIGNALED, }; - if (head) { - struct ib_send_wr *tail = head; - - while (tail->next) - tail = tail->next; - tail->next = ≀ - } else { - head = ≀ - } - - return ib_post_send(con->qp, head, NULL); + return rtrs_post_send(con->qp, head, &wr); } EXPORT_SYMBOL_GPL(rtrs_iu_post_send); @@ -169,17 +174,7 @@ if (WARN_ON(sge[i].length == 0)) return -EINVAL; - if (head) { - struct ib_send_wr *tail = head; - - while (tail->next) - tail = tail->next; - tail->next = &wr.wr; - } else { - head = &wr.wr; - } - - return ib_post_send(con->qp, head, NULL); + return rtrs_post_send(con->qp, head, &wr.wr); } EXPORT_SYMBOL_GPL(rtrs_iu_post_rdma_write_imm); @@ -187,26 +182,16 @@ u32 imm_data, enum ib_send_flags flags, struct ib_send_wr *head) { - struct ib_send_wr wr; + struct ib_rdma_wr wr; - wr = (struct ib_send_wr) { - .wr_cqe = cqe, - .send_flags = flags, - .opcode = IB_WR_RDMA_WRITE_WITH_IMM, - .ex.imm_data = cpu_to_be32(imm_data), + wr = (struct ib_rdma_wr) { + .wr.wr_cqe = cqe, + .wr.send_flags = flags, + .wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM, + .wr.ex.imm_data = cpu_to_be32(imm_data), }; - if (head) { - struct ib_send_wr *tail = head; - - while (tail->next) - tail = tail->next; - tail->next = ≀ - } else { - head = ≀ - } - - return ib_post_send(con->qp, head, NULL); + return rtrs_post_send(con->qp, head, &wr.wr); } EXPORT_SYMBOL_GPL(rtrs_post_rdma_write_imm_empty); @@ -246,14 +231,14 @@ } static int create_qp(struct rtrs_con *con, struct ib_pd *pd, - u16 wr_queue_size, u32 max_sge) + u32 max_send_wr, u32 max_recv_wr, u32 max_sge) { struct ib_qp_init_attr init_attr = {NULL}; struct rdma_cm_id *cm_id = con->cm_id; int ret; - init_attr.cap.max_send_wr = wr_queue_size; - init_attr.cap.max_recv_wr = wr_queue_size; + init_attr.cap.max_send_wr = max_send_wr; + init_attr.cap.max_recv_wr = max_recv_wr; init_attr.cap.max_recv_sge = 1; init_attr.event_handler = qp_event_handler; init_attr.qp_context = con; @@ -275,8 +260,9 @@ } int rtrs_cq_qp_create(struct rtrs_sess *sess, struct rtrs_con *con, - u32 max_send_sge, int cq_vector, u16 cq_size, - u16 wr_queue_size, enum ib_poll_context poll_ctx) + u32 max_send_sge, int cq_vector, int cq_size, + u32 max_send_wr, u32 max_recv_wr, + enum ib_poll_context poll_ctx) { int err; @@ -284,7 +270,8 @@ if (err) return err; - err = create_qp(con, sess->dev->ib_pd, wr_queue_size, max_send_sge); + err = create_qp(con, sess->dev->ib_pd, max_send_wr, max_recv_wr, + max_send_sge); if (err) { ib_free_cq(con->cq); con->cq = NULL; @@ -323,7 +310,7 @@ imm = rtrs_to_imm(RTRS_HB_ACK_IMM, 0); err = rtrs_post_rdma_write_imm_empty(usr_con, sess->hb_cqe, imm, - IB_SEND_SIGNALED, NULL); + 0, NULL); if (err) { sess->hb_err_handler(usr_con); return; @@ -352,7 +339,7 @@ } imm = rtrs_to_imm(RTRS_HB_MSG_IMM, 0); err = rtrs_post_rdma_write_imm_empty(usr_con, sess->hb_cqe, imm, - IB_SEND_SIGNALED, NULL); + 0, NULL); if (err) { sess->hb_err_handler(usr_con); return; --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/srp/ib_srp.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/srp/ib_srp.c @@ -3624,7 +3624,7 @@ struct srp_rdma_ch *ch; struct srp_device *srp_dev = host->srp_dev; struct ib_device *ibdev = srp_dev->dev; - int ret, node_idx, node, cpu, i; + int ret, i, ch_idx; unsigned int max_sectors_per_mr, mr_per_cmd = 0; bool multich = false; uint32_t max_iu_len; @@ -3749,81 +3749,61 @@ goto out; ret = -ENOMEM; - if (target->ch_count == 0) + if (target->ch_count == 0) { target->ch_count = - max_t(unsigned int, num_online_nodes(), - min(ch_count ?: - min(4 * num_online_nodes(), - ibdev->num_comp_vectors), - num_online_cpus())); + min(ch_count ?: + max(4 * num_online_nodes(), + ibdev->num_comp_vectors), + num_online_cpus()); + } + target->ch = kcalloc(target->ch_count, sizeof(*target->ch), GFP_KERNEL); if (!target->ch) goto out; - node_idx = 0; - for_each_online_node(node) { - const int ch_start = (node_idx * target->ch_count / - num_online_nodes()); - const int ch_end = ((node_idx + 1) * target->ch_count / - num_online_nodes()); - const int cv_start = node_idx * ibdev->num_comp_vectors / - num_online_nodes(); - const int cv_end = (node_idx + 1) * ibdev->num_comp_vectors / - num_online_nodes(); - int cpu_idx = 0; - - for_each_online_cpu(cpu) { - if (cpu_to_node(cpu) != node) - continue; - if (ch_start + cpu_idx >= ch_end) - continue; - ch = &target->ch[ch_start + cpu_idx]; - ch->target = target; - ch->comp_vector = cv_start == cv_end ? cv_start : - cv_start + cpu_idx % (cv_end - cv_start); - spin_lock_init(&ch->lock); - INIT_LIST_HEAD(&ch->free_tx); - ret = srp_new_cm_id(ch); - if (ret) - goto err_disconnect; - - ret = srp_create_ch_ib(ch); - if (ret) - goto err_disconnect; - - ret = srp_alloc_req_data(ch); - if (ret) - goto err_disconnect; - - ret = srp_connect_ch(ch, max_iu_len, multich); - if (ret) { - char dst[64]; - - if (target->using_rdma_cm) - snprintf(dst, sizeof(dst), "%pIS", - &target->rdma_cm.dst); - else - snprintf(dst, sizeof(dst), "%pI6", - target->ib_cm.orig_dgid.raw); - shost_printk(KERN_ERR, target->scsi_host, - PFX "Connection %d/%d to %s failed\n", - ch_start + cpu_idx, - target->ch_count, dst); - if (node_idx == 0 && cpu_idx == 0) { - goto free_ch; - } else { - srp_free_ch_ib(target, ch); - srp_free_req_data(target, ch); - target->ch_count = ch - target->ch; - goto connected; - } + for (ch_idx = 0; ch_idx < target->ch_count; ++ch_idx) { + ch = &target->ch[ch_idx]; + ch->target = target; + ch->comp_vector = ch_idx % ibdev->num_comp_vectors; + spin_lock_init(&ch->lock); + INIT_LIST_HEAD(&ch->free_tx); + ret = srp_new_cm_id(ch); + if (ret) + goto err_disconnect; + + ret = srp_create_ch_ib(ch); + if (ret) + goto err_disconnect; + + ret = srp_alloc_req_data(ch); + if (ret) + goto err_disconnect; + + ret = srp_connect_ch(ch, max_iu_len, multich); + if (ret) { + char dst[64]; + + if (target->using_rdma_cm) + snprintf(dst, sizeof(dst), "%pIS", + &target->rdma_cm.dst); + else + snprintf(dst, sizeof(dst), "%pI6", + target->ib_cm.orig_dgid.raw); + shost_printk(KERN_ERR, target->scsi_host, + PFX "Connection %d/%d to %s failed\n", + ch_idx, + target->ch_count, dst); + if (ch_idx == 0) { + goto free_ch; + } else { + srp_free_ch_ib(target, ch); + srp_free_req_data(target, ch); + target->ch_count = ch - target->ch; + goto connected; } - - multich = true; - cpu_idx++; } - node_idx++; + multich = true; } connected: --- linux-riscv-5.8-5.8.0.orig/drivers/infiniband/ulp/srpt/ib_srpt.c +++ linux-riscv-5.8-5.8.0/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -622,10 +622,11 @@ /** * srpt_unregister_mad_agent - unregister MAD callback functions * @sdev: SRPT HCA pointer. + * #port_cnt: number of ports with registered MAD * * Note: It is safe to call this function more than once for the same device. */ -static void srpt_unregister_mad_agent(struct srpt_device *sdev) +static void srpt_unregister_mad_agent(struct srpt_device *sdev, int port_cnt) { struct ib_port_modify port_modify = { .clr_port_cap_mask = IB_PORT_DEVICE_MGMT_SUP, @@ -633,7 +634,7 @@ struct srpt_port *sport; int i; - for (i = 1; i <= sdev->device->phys_port_cnt; i++) { + for (i = 1; i <= port_cnt; i++) { sport = &sdev->port[i - 1]; WARN_ON(sport->port != i); if (sport->mad_agent) { @@ -3187,7 +3188,8 @@ if (ret) { pr_err("MAD registration failed for %s-%d.\n", dev_name(&sdev->device->dev), i); - goto err_event; + i--; + goto err_port; } } @@ -3199,7 +3201,8 @@ pr_debug("added %s.\n", dev_name(&device->dev)); return 0; -err_event: +err_port: + srpt_unregister_mad_agent(sdev, i); ib_unregister_event_handler(&sdev->event_handler); err_cm: if (sdev->cm_id) @@ -3223,7 +3226,7 @@ struct srpt_device *sdev = client_data; int i; - srpt_unregister_mad_agent(sdev); + srpt_unregister_mad_agent(sdev, sdev->device->phys_port_cnt); ib_unregister_event_handler(&sdev->event_handler); --- linux-riscv-5.8-5.8.0.orig/drivers/input/joydev.c +++ linux-riscv-5.8-5.8.0/drivers/input/joydev.c @@ -456,7 +456,7 @@ if (IS_ERR(abspam)) return PTR_ERR(abspam); - for (i = 0; i < joydev->nabs; i++) { + for (i = 0; i < len && i < joydev->nabs; i++) { if (abspam[i] > ABS_MAX) { retval = -EINVAL; goto out; @@ -480,6 +480,9 @@ int i; int retval = 0; + if (len % sizeof(*keypam)) + return -EINVAL; + len = min(len, sizeof(joydev->keypam)); /* Validate the map. */ @@ -487,7 +490,7 @@ if (IS_ERR(keypam)) return PTR_ERR(keypam); - for (i = 0; i < joydev->nkey; i++) { + for (i = 0; i < (len / 2) && i < joydev->nkey; i++) { if (keypam[i] > KEY_MAX || keypam[i] < BTN_MISC) { retval = -EINVAL; goto out; --- linux-riscv-5.8-5.8.0.orig/drivers/input/joystick/xpad.c +++ linux-riscv-5.8-5.8.0/drivers/input/joystick/xpad.c @@ -215,9 +215,17 @@ { 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE }, - { 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02a0, "PDP Xbox One Controller", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02a1, "PDP Xbox One Controller", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02a2, "PDP Wired Controller for Xbox One - Crimson Red", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x02a4, "PDP Wired Controller for Xbox One - Stealth Series", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x02a6, "PDP Wired Controller for Xbox One - Camo Series", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02a7, "PDP Xbox One Controller", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02a8, "PDP Xbox One Controller", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02ad, "PDP Wired Controller for Xbox One - Stealth Series", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02b3, "Afterglow Prismatic Wired Controller", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02b8, "Afterglow Prismatic Wired Controller", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 }, @@ -241,6 +249,7 @@ { 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 }, + { 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 }, { 0x12ab, 0x0004, "Honey Bee Xbox360 dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, { 0x12ab, 0x0301, "PDP AFTERGLOW AX.1", 0, XTYPE_XBOX360 }, { 0x12ab, 0x0303, "Mortal Kombat Klassic FightStick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, @@ -295,6 +304,10 @@ { 0x1bad, 0xfa01, "MadCatz GamePad", 0, XTYPE_XBOX360 }, { 0x1bad, 0xfd00, "Razer Onza TE", 0, XTYPE_XBOX360 }, { 0x1bad, 0xfd01, "Razer Onza", 0, XTYPE_XBOX360 }, + { 0x20d6, 0x2001, "BDA Xbox Series X Wired Controller", 0, XTYPE_XBOXONE }, + { 0x20d6, 0x2009, "PowerA Enhanced Wired Controller for Xbox Series X|S", 0, XTYPE_XBOXONE }, + { 0x20d6, 0x281f, "PowerA Wired Controller For Xbox 360", 0, XTYPE_XBOX360 }, + { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE }, { 0x24c6, 0x5000, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x5300, "PowerA MINI PROEX Controller", 0, XTYPE_XBOX360 }, { 0x24c6, 0x5303, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 }, @@ -418,6 +431,7 @@ XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori Controllers */ XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries Controllers */ XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */ + XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */ XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */ XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x146b), /* BigBen Interactive Controllers */ @@ -427,8 +441,12 @@ XPAD_XBOX360_VENDOR(0x162e), /* Joytech X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */ XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */ + XPAD_XBOX360_VENDOR(0x20d6), /* PowerA Controllers */ + XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA Controllers */ XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ + XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ + XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */ { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/applespi.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/applespi.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -400,7 +401,7 @@ unsigned int cmd_msg_cntr; /* lock to protect the above parameters and flags below */ spinlock_t cmd_msg_lock; - bool cmd_msg_queued; + ktime_t cmd_msg_queued; enum applespi_evt_type cmd_evt_type; struct led_classdev backlight_info; @@ -716,7 +717,7 @@ wake_up_all(&applespi->drain_complete); if (is_write_msg) { - applespi->cmd_msg_queued = false; + applespi->cmd_msg_queued = 0; applespi_send_cmd_msg(applespi); } @@ -758,8 +759,16 @@ return 0; /* check whether send is in progress */ - if (applespi->cmd_msg_queued) - return 0; + if (applespi->cmd_msg_queued) { + if (ktime_ms_delta(ktime_get(), applespi->cmd_msg_queued) < 1000) + return 0; + + dev_warn(&applespi->spi->dev, "Command %d timed out\n", + applespi->cmd_evt_type); + + applespi->cmd_msg_queued = 0; + applespi->write_active = false; + } /* set up packet */ memset(packet, 0, APPLESPI_PACKET_SIZE); @@ -856,7 +865,7 @@ return sts; } - applespi->cmd_msg_queued = true; + applespi->cmd_msg_queued = ktime_get_coarse(); applespi->write_active = true; return 0; @@ -1908,7 +1917,7 @@ applespi->drain = false; applespi->have_cl_led_on = false; applespi->have_bl_level = 0; - applespi->cmd_msg_queued = false; + applespi->cmd_msg_queued = 0; applespi->read_active = false; applespi->write_active = false; --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/cros_ec_keyb.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/cros_ec_keyb.c @@ -183,6 +183,7 @@ "changed: [r%d c%d]: byte %02x\n", row, col, new_state); + input_event(idev, EV_MSC, MSC_SCAN, pos); input_report_key(idev, keycodes[pos], new_state); } --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/ep93xx_keypad.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/ep93xx_keypad.c @@ -250,8 +250,8 @@ } keypad->irq = platform_get_irq(pdev, 0); - if (!keypad->irq) { - err = -ENXIO; + if (keypad->irq < 0) { + err = keypad->irq; goto failed_free; } --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/nspire-keypad.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/nspire-keypad.c @@ -93,9 +93,15 @@ return IRQ_HANDLED; } -static int nspire_keypad_chip_init(struct nspire_keypad *keypad) +static int nspire_keypad_open(struct input_dev *input) { + struct nspire_keypad *keypad = input_get_drvdata(input); unsigned long val = 0, cycles_per_us, delay_cycles, row_delay_cycles; + int error; + + error = clk_prepare_enable(keypad->clk); + if (error) + return error; cycles_per_us = (clk_get_rate(keypad->clk) / 1000000); if (cycles_per_us == 0) @@ -121,30 +127,6 @@ keypad->int_mask = 1 << 1; writel(keypad->int_mask, keypad->reg_base + KEYPAD_INTMSK); - /* Disable GPIO interrupts to prevent hanging on touchpad */ - /* Possibly used to detect touchpad events */ - writel(0, keypad->reg_base + KEYPAD_UNKNOWN_INT); - /* Acknowledge existing interrupts */ - writel(~0, keypad->reg_base + KEYPAD_UNKNOWN_INT_STS); - - return 0; -} - -static int nspire_keypad_open(struct input_dev *input) -{ - struct nspire_keypad *keypad = input_get_drvdata(input); - int error; - - error = clk_prepare_enable(keypad->clk); - if (error) - return error; - - error = nspire_keypad_chip_init(keypad); - if (error) { - clk_disable_unprepare(keypad->clk); - return error; - } - return 0; } @@ -152,6 +134,11 @@ { struct nspire_keypad *keypad = input_get_drvdata(input); + /* Disable interrupts */ + writel(0, keypad->reg_base + KEYPAD_INTMSK); + /* Acknowledge existing interrupts */ + writel(~0, keypad->reg_base + KEYPAD_INT); + clk_disable_unprepare(keypad->clk); } @@ -210,6 +197,25 @@ return -ENOMEM; } + error = clk_prepare_enable(keypad->clk); + if (error) { + dev_err(&pdev->dev, "failed to enable clock\n"); + return error; + } + + /* Disable interrupts */ + writel(0, keypad->reg_base + KEYPAD_INTMSK); + /* Acknowledge existing interrupts */ + writel(~0, keypad->reg_base + KEYPAD_INT); + + /* Disable GPIO interrupts to prevent hanging on touchpad */ + /* Possibly used to detect touchpad events */ + writel(0, keypad->reg_base + KEYPAD_UNKNOWN_INT); + /* Acknowledge existing GPIO interrupts */ + writel(~0, keypad->reg_base + KEYPAD_UNKNOWN_INT_STS); + + clk_disable_unprepare(keypad->clk); + input_set_drvdata(input, keypad); input->id.bustype = BUS_HOST; --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/omap4-keypad.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/omap4-keypad.c @@ -186,12 +186,8 @@ return 0; } -static void omap4_keypad_close(struct input_dev *input) +static void omap4_keypad_stop(struct omap4_keypad *keypad_data) { - struct omap4_keypad *keypad_data = input_get_drvdata(input); - - disable_irq(keypad_data->irq); - /* Disable interrupts and wake-up events */ kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE, OMAP4_VAL_IRQDISABLE); @@ -200,7 +196,15 @@ /* clear pending interrupts */ kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS, kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS)); +} + +static void omap4_keypad_close(struct input_dev *input) +{ + struct omap4_keypad *keypad_data; + keypad_data = input_get_drvdata(input); + disable_irq(keypad_data->irq); + omap4_keypad_stop(keypad_data); enable_irq(keypad_data->irq); pm_runtime_put_sync(input->dev.parent); @@ -223,13 +227,37 @@ return 0; } +static int omap4_keypad_check_revision(struct device *dev, + struct omap4_keypad *keypad_data) +{ + unsigned int rev; + + rev = __raw_readl(keypad_data->base + OMAP4_KBD_REVISION); + rev &= 0x03 << 30; + rev >>= 30; + switch (rev) { + case KBD_REVISION_OMAP4: + keypad_data->reg_offset = 0x00; + keypad_data->irqreg_offset = 0x00; + break; + case KBD_REVISION_OMAP5: + keypad_data->reg_offset = 0x10; + keypad_data->irqreg_offset = 0x0c; + break; + default: + dev_err(dev, "Keypad reports unsupported revision %d", rev); + return -EINVAL; + } + + return 0; +} + static int omap4_keypad_probe(struct platform_device *pdev) { struct omap4_keypad *keypad_data; struct input_dev *input_dev; struct resource *res; unsigned int max_keys; - int rev; int irq; int error; @@ -240,10 +268,8 @@ } irq = platform_get_irq(pdev, 0); - if (!irq) { - dev_err(&pdev->dev, "no keyboard irq assigned\n"); - return -EINVAL; - } + if (irq < 0) + return irq; keypad_data = kzalloc(sizeof(struct omap4_keypad), GFP_KERNEL); if (!keypad_data) { @@ -271,41 +297,33 @@ goto err_release_mem; } + pm_runtime_enable(&pdev->dev); /* * Enable clocks for the keypad module so that we can read * revision register. */ - pm_runtime_enable(&pdev->dev); error = pm_runtime_get_sync(&pdev->dev); if (error) { dev_err(&pdev->dev, "pm_runtime_get_sync() failed\n"); - goto err_unmap; - } - rev = __raw_readl(keypad_data->base + OMAP4_KBD_REVISION); - rev &= 0x03 << 30; - rev >>= 30; - switch (rev) { - case KBD_REVISION_OMAP4: - keypad_data->reg_offset = 0x00; - keypad_data->irqreg_offset = 0x00; - break; - case KBD_REVISION_OMAP5: - keypad_data->reg_offset = 0x10; - keypad_data->irqreg_offset = 0x0c; - break; - default: - dev_err(&pdev->dev, - "Keypad reports unsupported revision %d", rev); - error = -EINVAL; - goto err_pm_put_sync; + pm_runtime_put_noidle(&pdev->dev); + } else { + error = omap4_keypad_check_revision(&pdev->dev, + keypad_data); + if (!error) { + /* Ensure device does not raise interrupts */ + omap4_keypad_stop(keypad_data); + } + pm_runtime_put_sync(&pdev->dev); } + if (error) + goto err_pm_disable; /* input device allocation */ keypad_data->input = input_dev = input_allocate_device(); if (!input_dev) { error = -ENOMEM; - goto err_pm_put_sync; + goto err_pm_disable; } input_dev->name = pdev->name; @@ -351,28 +369,25 @@ goto err_free_keymap; } - device_init_wakeup(&pdev->dev, true); - pm_runtime_put_sync(&pdev->dev); - error = input_register_device(keypad_data->input); if (error < 0) { dev_err(&pdev->dev, "failed to register input device\n"); - goto err_pm_disable; + goto err_free_irq; } + device_init_wakeup(&pdev->dev, true); platform_set_drvdata(pdev, keypad_data); + return 0; -err_pm_disable: - pm_runtime_disable(&pdev->dev); +err_free_irq: free_irq(keypad_data->irq, keypad_data); err_free_keymap: kfree(keypad_data->keymap); err_free_input: input_free_device(input_dev); -err_pm_put_sync: - pm_runtime_put_sync(&pdev->dev); -err_unmap: +err_pm_disable: + pm_runtime_disable(&pdev->dev); iounmap(keypad_data->base); err_release_mem: release_mem_region(res->start, resource_size(res)); --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/sunkbd.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/sunkbd.c @@ -99,7 +99,8 @@ switch (data) { case SUNKBD_RET_RESET: - schedule_work(&sunkbd->tq); + if (sunkbd->enabled) + schedule_work(&sunkbd->tq); sunkbd->reset = -1; break; @@ -200,16 +201,12 @@ } /* - * sunkbd_reinit() sets leds and beeps to a state the computer remembers they - * were in. + * sunkbd_set_leds_beeps() sets leds and beeps to a state the computer remembers + * they were in. */ -static void sunkbd_reinit(struct work_struct *work) +static void sunkbd_set_leds_beeps(struct sunkbd *sunkbd) { - struct sunkbd *sunkbd = container_of(work, struct sunkbd, tq); - - wait_event_interruptible_timeout(sunkbd->wait, sunkbd->reset >= 0, HZ); - serio_write(sunkbd->serio, SUNKBD_CMD_SETLED); serio_write(sunkbd->serio, (!!test_bit(LED_CAPSL, sunkbd->dev->led) << 3) | @@ -222,11 +219,39 @@ SUNKBD_CMD_BELLOFF - !!test_bit(SND_BELL, sunkbd->dev->snd)); } + +/* + * sunkbd_reinit() wait for the keyboard reset to complete and restores state + * of leds and beeps. + */ + +static void sunkbd_reinit(struct work_struct *work) +{ + struct sunkbd *sunkbd = container_of(work, struct sunkbd, tq); + + /* + * It is OK that we check sunkbd->enabled without pausing serio, + * as we only want to catch true->false transition that will + * happen once and we will be woken up for it. + */ + wait_event_interruptible_timeout(sunkbd->wait, + sunkbd->reset >= 0 || !sunkbd->enabled, + HZ); + + if (sunkbd->reset >= 0 && sunkbd->enabled) + sunkbd_set_leds_beeps(sunkbd); +} + static void sunkbd_enable(struct sunkbd *sunkbd, bool enable) { serio_pause_rx(sunkbd->serio); sunkbd->enabled = enable; serio_continue_rx(sunkbd->serio); + + if (!enable) { + wake_up_interruptible(&sunkbd->wait); + cancel_work_sync(&sunkbd->tq); + } } /* --- linux-riscv-5.8-5.8.0.orig/drivers/input/keyboard/twl4030_keypad.c +++ linux-riscv-5.8-5.8.0/drivers/input/keyboard/twl4030_keypad.c @@ -50,7 +50,7 @@ bool autorepeat; unsigned int n_rows; unsigned int n_cols; - unsigned int irq; + int irq; struct device *dbg_dev; struct input_dev *input; @@ -376,10 +376,8 @@ } kp->irq = platform_get_irq(pdev, 0); - if (!kp->irq) { - dev_err(&pdev->dev, "no keyboard irq assigned\n"); - return -EINVAL; - } + if (kp->irq < 0) + return kp->irq; error = matrix_keypad_build_keymap(keymap_data, NULL, TWL4030_MAX_ROWS, --- linux-riscv-5.8-5.8.0.orig/drivers/input/misc/adxl34x.c +++ linux-riscv-5.8-5.8.0/drivers/input/misc/adxl34x.c @@ -696,7 +696,7 @@ struct input_dev *input_dev; const struct adxl34x_platform_data *pdata; int err, range, i; - unsigned char revid; + int revid; if (!irq) { dev_err(dev, "no IRQ?\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/input/misc/ati_remote2.c +++ linux-riscv-5.8-5.8.0/drivers/input/misc/ati_remote2.c @@ -68,7 +68,7 @@ { pr_debug("%s()\n", __func__); - return sprintf(buffer, "0x%04x", *(unsigned int *)kp->arg); + return sprintf(buffer, "0x%04x\n", *(unsigned int *)kp->arg); } static int ati_remote2_set_mode_mask(const char *val, @@ -84,7 +84,7 @@ { pr_debug("%s()\n", __func__); - return sprintf(buffer, "0x%02x", *(unsigned int *)kp->arg); + return sprintf(buffer, "0x%02x\n", *(unsigned int *)kp->arg); } static unsigned int channel_mask = ATI_REMOTE2_MAX_CHANNEL_MASK; --- linux-riscv-5.8-5.8.0.orig/drivers/input/misc/cm109.c +++ linux-riscv-5.8-5.8.0/drivers/input/misc/cm109.c @@ -568,12 +568,15 @@ dev->ctl_data->byte[HID_OR2] = dev->keybit; dev->ctl_data->byte[HID_OR3] = 0x00; + dev->ctl_urb_pending = 1; error = usb_submit_urb(dev->urb_ctl, GFP_KERNEL); - if (error) + if (error) { + dev->ctl_urb_pending = 0; dev_err(&dev->intf->dev, "%s: usb_submit_urb (urb_ctl) failed %d\n", __func__, error); - else + } else { dev->open = 1; + } mutex_unlock(&dev->pm_mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/cyapa_gen6.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/cyapa_gen6.c @@ -573,7 +573,7 @@ memset(&cmd, 0, sizeof(cmd)); put_unaligned_le16(PIP_OUTPUT_REPORT_ADDR, &cmd.head.addr); - put_unaligned_le16(sizeof(cmd), &cmd.head.length - 2); + put_unaligned_le16(sizeof(cmd) - 2, &cmd.head.length); cmd.head.report_id = PIP_APP_CMD_REPORT_ID; cmd.head.cmd_code = PIP_RETRIEVE_DATA_STRUCTURE; put_unaligned_le16(read_offset, &cmd.read_offset); --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/cypress_ps2.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/input/mouse/cypress_ps2.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/input/mouse/elan_i2c.h +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elan_i2c.h @@ -26,6 +26,24 @@ #define ETP_CALIBRATE_MAX_LEN 3 +#define ETP_FEATURE_REPORT_MK BIT(0) + +#define ETP_REPORT_ID 0x5D +#define ETP_TP_REPORT_ID 0x5E +#define ETP_TP_REPORT_ID2 0x5F +#define ETP_REPORT_ID2 0x60 /* High precision report */ + +#define ETP_REPORT_ID_OFFSET 2 +#define ETP_TOUCH_INFO_OFFSET 3 +#define ETP_FINGER_DATA_OFFSET 4 +#define ETP_HOVER_INFO_OFFSET 30 +#define ETP_MK_DATA_OFFSET 33 /* For high precision reports */ + +#define ETP_MAX_REPORT_LEN 39 + +#define ETP_MAX_FINGERS 5 +#define ETP_FINGER_DATA_LEN 5 + /* IAP Firmware handling */ #define ETP_PRODUCT_ID_FORMAT_STRING "%d.0" #define ETP_FW_NAME "elan_i2c_" ETP_PRODUCT_ID_FORMAT_STRING ".bin" @@ -78,7 +96,11 @@ int (*finish_fw_update)(struct i2c_client *client, struct completion *reset_done); - int (*get_report)(struct i2c_client *client, u8 *report); + int (*get_report_features)(struct i2c_client *client, u8 pattern, + unsigned int *features, + unsigned int *report_len); + int (*get_report)(struct i2c_client *client, u8 *report, + unsigned int report_len); int (*get_pressure_adjustment)(struct i2c_client *client, int *adjustment); int (*get_pattern)(struct i2c_client *client, u8 *pattern); --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/elan_i2c_core.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elan_i2c_core.c @@ -47,16 +47,6 @@ #define ETP_FINGER_WIDTH 15 #define ETP_RETRY_COUNT 3 -#define ETP_MAX_FINGERS 5 -#define ETP_FINGER_DATA_LEN 5 -#define ETP_REPORT_ID 0x5D -#define ETP_TP_REPORT_ID 0x5E -#define ETP_REPORT_ID_OFFSET 2 -#define ETP_TOUCH_INFO_OFFSET 3 -#define ETP_FINGER_DATA_OFFSET 4 -#define ETP_HOVER_INFO_OFFSET 30 -#define ETP_MAX_REPORT_LEN 34 - /* The main device structure */ struct elan_tp_data { struct i2c_client *client; @@ -85,6 +75,8 @@ u8 sm_version; u8 iap_version; u16 fw_checksum; + unsigned int report_features; + unsigned int report_len; int pressure_adjustment; u8 mode; u16 ic_type; @@ -341,6 +333,12 @@ else ic_type = data->iap_version; + error = data->ops->get_report_features(data->client, data->pattern, + &data->report_features, + &data->report_len); + if (error) + return error; + error = elan_get_fwinfo(ic_type, &data->fw_validpage_count, &data->fw_signature_address); if (error) @@ -351,16 +349,21 @@ return 0; } -static unsigned int elan_convert_resolution(u8 val) +static unsigned int elan_convert_resolution(u8 val, u8 pattern) { /* - * (value from firmware) * 10 + 790 = dpi - * + * pattern <= 0x01: + * (value from firmware) * 10 + 790 = dpi + * else + * ((value from firmware) + 3) * 100 = dpi + */ + int res = pattern <= 0x01 ? + (int)(char)val * 10 + 790 : ((int)(char)val + 3) * 100; + /* * We also have to convert dpi to dots/mm (*10/254 to avoid floating * point). */ - - return ((int)(char)val * 10 + 790) * 10 / 254; + return res * 10 / 254; } static int elan_query_device_parameters(struct elan_tp_data *data) @@ -409,8 +412,8 @@ if (error) return error; - data->x_res = elan_convert_resolution(hw_x_res); - data->y_res = elan_convert_resolution(hw_y_res); + data->x_res = elan_convert_resolution(hw_x_res, data->pattern); + data->y_res = elan_convert_resolution(hw_y_res, data->pattern); } else { data->x_res = (data->max_x + 1) / x_mm; data->y_res = (data->max_y + 1) / y_mm; @@ -886,24 +889,22 @@ * Elan isr functions ****************************************************************** */ -static void elan_report_contact(struct elan_tp_data *data, - int contact_num, bool contact_valid, - u8 *finger_data) +static void elan_report_contact(struct elan_tp_data *data, int contact_num, + bool contact_valid, bool high_precision, + u8 *packet, u8 *finger_data) { struct input_dev *input = data->input; unsigned int pos_x, pos_y; - unsigned int pressure, mk_x, mk_y; - unsigned int area_x, area_y, major, minor; - unsigned int scaled_pressure; + unsigned int pressure, scaled_pressure; if (contact_valid) { - pos_x = ((finger_data[0] & 0xf0) << 4) | - finger_data[1]; - pos_y = ((finger_data[0] & 0x0f) << 8) | - finger_data[2]; - mk_x = (finger_data[3] & 0x0f); - mk_y = (finger_data[3] >> 4); - pressure = finger_data[4]; + if (high_precision) { + pos_x = get_unaligned_be16(&finger_data[0]); + pos_y = get_unaligned_be16(&finger_data[2]); + } else { + pos_x = ((finger_data[0] & 0xf0) << 4) | finger_data[1]; + pos_y = ((finger_data[0] & 0x0f) << 8) | finger_data[2]; + } if (pos_x > data->max_x || pos_y > data->max_y) { dev_dbg(input->dev.parent, @@ -913,18 +914,8 @@ return; } - /* - * To avoid treating large finger as palm, let's reduce the - * width x and y per trace. - */ - area_x = mk_x * (data->width_x - ETP_FWIDTH_REDUCE); - area_y = mk_y * (data->width_y - ETP_FWIDTH_REDUCE); - - major = max(area_x, area_y); - minor = min(area_x, area_y); - + pressure = finger_data[4]; scaled_pressure = pressure + data->pressure_adjustment; - if (scaled_pressure > ETP_MAX_PRESSURE) scaled_pressure = ETP_MAX_PRESSURE; @@ -933,16 +924,37 @@ input_report_abs(input, ABS_MT_POSITION_X, pos_x); input_report_abs(input, ABS_MT_POSITION_Y, data->max_y - pos_y); input_report_abs(input, ABS_MT_PRESSURE, scaled_pressure); - input_report_abs(input, ABS_TOOL_WIDTH, mk_x); - input_report_abs(input, ABS_MT_TOUCH_MAJOR, major); - input_report_abs(input, ABS_MT_TOUCH_MINOR, minor); + + if (data->report_features & ETP_FEATURE_REPORT_MK) { + unsigned int mk_x, mk_y, area_x, area_y; + u8 mk_data = high_precision ? + packet[ETP_MK_DATA_OFFSET + contact_num] : + finger_data[3]; + + mk_x = mk_data & 0x0f; + mk_y = mk_data >> 4; + + /* + * To avoid treating large finger as palm, let's reduce + * the width x and y per trace. + */ + area_x = mk_x * (data->width_x - ETP_FWIDTH_REDUCE); + area_y = mk_y * (data->width_y - ETP_FWIDTH_REDUCE); + + input_report_abs(input, ABS_TOOL_WIDTH, mk_x); + input_report_abs(input, ABS_MT_TOUCH_MAJOR, + max(area_x, area_y)); + input_report_abs(input, ABS_MT_TOUCH_MINOR, + min(area_x, area_y)); + } } else { input_mt_slot(input, contact_num); input_mt_report_slot_inactive(input); } } -static void elan_report_absolute(struct elan_tp_data *data, u8 *packet) +static void elan_report_absolute(struct elan_tp_data *data, u8 *packet, + bool high_precision) { struct input_dev *input = data->input; u8 *finger_data = &packet[ETP_FINGER_DATA_OFFSET]; @@ -953,11 +965,12 @@ pm_wakeup_event(&data->client->dev, 0); - hover_event = hover_info & 0x40; - for (i = 0; i < ETP_MAX_FINGERS; i++) { - contact_valid = tp_info & (1U << (3 + i)); - elan_report_contact(data, i, contact_valid, finger_data); + hover_event = hover_info & BIT(6); + for (i = 0; i < ETP_MAX_FINGERS; i++) { + contact_valid = tp_info & BIT(3 + i); + elan_report_contact(data, i, contact_valid, high_precision, + packet, finger_data); if (contact_valid) finger_data += ETP_FINGER_DATA_LEN; } @@ -1015,15 +1028,19 @@ goto out; } - error = data->ops->get_report(data->client, report); + error = data->ops->get_report(data->client, report, data->report_len); if (error) goto out; switch (report[ETP_REPORT_ID_OFFSET]) { case ETP_REPORT_ID: - elan_report_absolute(data, report); + elan_report_absolute(data, report, false); + break; + case ETP_REPORT_ID2: + elan_report_absolute(data, report, true); break; case ETP_TP_REPORT_ID: + case ETP_TP_REPORT_ID2: elan_report_trackpoint(data, report); break; default: @@ -1112,7 +1129,9 @@ input_abs_set_res(input, ABS_X, data->x_res); input_abs_set_res(input, ABS_Y, data->y_res); input_set_abs_params(input, ABS_PRESSURE, 0, ETP_MAX_PRESSURE, 0, 0); - input_set_abs_params(input, ABS_TOOL_WIDTH, 0, ETP_FINGER_WIDTH, 0, 0); + if (data->report_features & ETP_FEATURE_REPORT_MK) + input_set_abs_params(input, ABS_TOOL_WIDTH, + 0, ETP_FINGER_WIDTH, 0, 0); input_set_abs_params(input, ABS_DISTANCE, 0, 1, 0, 0); /* And MT parameters */ @@ -1122,10 +1141,12 @@ input_abs_set_res(input, ABS_MT_POSITION_Y, data->y_res); input_set_abs_params(input, ABS_MT_PRESSURE, 0, ETP_MAX_PRESSURE, 0, 0); - input_set_abs_params(input, ABS_MT_TOUCH_MAJOR, 0, - ETP_FINGER_WIDTH * max_width, 0, 0); - input_set_abs_params(input, ABS_MT_TOUCH_MINOR, 0, - ETP_FINGER_WIDTH * min_width, 0, 0); + if (data->report_features & ETP_FEATURE_REPORT_MK) { + input_set_abs_params(input, ABS_MT_TOUCH_MAJOR, + 0, ETP_FINGER_WIDTH * max_width, 0, 0); + input_set_abs_params(input, ABS_MT_TOUCH_MINOR, + 0, ETP_FINGER_WIDTH * min_width, 0, 0); + } data->input = input; --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/elan_i2c_i2c.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elan_i2c_i2c.c @@ -55,6 +55,8 @@ #define ETP_I2C_MIN_BASELINE_CMD 0x0318 #define ETP_I2C_REPORT_LEN 34 +#define ETP_I2C_REPORT_LEN_ID2 39 +#define ETP_I2C_REPORT_MAX_LEN 39 #define ETP_I2C_DESC_LENGTH 30 #define ETP_I2C_REPORT_DESC_LENGTH 158 #define ETP_I2C_INF_LENGTH 2 @@ -386,7 +388,7 @@ return error; } - *max_x = le16_to_cpup((__le16 *)val) & 0x0fff; + *max_x = le16_to_cpup((__le16 *)val); error = elan_i2c_read_cmd(client, ETP_I2C_MAX_Y_AXIS_CMD, val); if (error) { @@ -394,7 +396,7 @@ return error; } - *max_y = le16_to_cpup((__le16 *)val) & 0x0fff; + *max_y = le16_to_cpup((__le16 *)val); return 0; } @@ -617,12 +619,12 @@ struct completion *completion) { struct device *dev = &client->dev; - int error; + int error = 0; int len; - u8 buffer[ETP_I2C_REPORT_LEN]; + u8 buffer[ETP_I2C_REPORT_MAX_LEN]; - len = i2c_master_recv(client, buffer, ETP_I2C_REPORT_LEN); - if (len != ETP_I2C_REPORT_LEN) { + len = i2c_master_recv(client, buffer, ETP_I2C_REPORT_MAX_LEN); + if (len <= 0) { error = len < 0 ? len : -EIO; dev_warn(dev, "failed to read I2C data after FW WDT reset: %d (%d)\n", error, len); @@ -656,20 +658,31 @@ return 0; } -static int elan_i2c_get_report(struct i2c_client *client, u8 *report) +static int elan_i2c_get_report_features(struct i2c_client *client, u8 pattern, + unsigned int *features, + unsigned int *report_len) +{ + *features = ETP_FEATURE_REPORT_MK; + *report_len = pattern <= 0x01 ? + ETP_I2C_REPORT_LEN : ETP_I2C_REPORT_LEN_ID2; + return 0; +} + +static int elan_i2c_get_report(struct i2c_client *client, + u8 *report, unsigned int report_len) { int len; - len = i2c_master_recv(client, report, ETP_I2C_REPORT_LEN); + len = i2c_master_recv(client, report, report_len); if (len < 0) { dev_err(&client->dev, "failed to read report data: %d\n", len); return len; } - if (len != ETP_I2C_REPORT_LEN) { + if (len != report_len) { dev_err(&client->dev, "wrong report length (%d vs %d expected)\n", - len, ETP_I2C_REPORT_LEN); + len, report_len); return -EIO; } @@ -706,5 +719,6 @@ .get_pattern = elan_i2c_get_pattern, + .get_report_features = elan_i2c_get_report_features, .get_report = elan_i2c_get_report, }; --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/elan_i2c_smbus.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elan_i2c_smbus.c @@ -45,6 +45,7 @@ #define ETP_SMBUS_CALIBRATE_QUERY 0xC5 #define ETP_SMBUS_REPORT_LEN 32 +#define ETP_SMBUS_REPORT_LEN2 7 #define ETP_SMBUS_REPORT_OFFSET 2 #define ETP_SMBUS_HELLOPACKET_LEN 5 #define ETP_SMBUS_IAP_PASSWORD 0x1234 @@ -469,7 +470,21 @@ return 0; } -static int elan_smbus_get_report(struct i2c_client *client, u8 *report) +static int elan_smbus_get_report_features(struct i2c_client *client, u8 pattern, + unsigned int *features, + unsigned int *report_len) +{ + /* + * SMBus controllers with pattern 2 lack area info, as newer + * high-precision packets use that space for coordinates. + */ + *features = pattern <= 0x01 ? ETP_FEATURE_REPORT_MK : 0; + *report_len = ETP_SMBUS_REPORT_LEN; + return 0; +} + +static int elan_smbus_get_report(struct i2c_client *client, + u8 *report, unsigned int report_len) { int len; @@ -483,10 +498,13 @@ return len; } - if (len != ETP_SMBUS_REPORT_LEN) { + if (report[ETP_REPORT_ID_OFFSET] == ETP_TP_REPORT_ID2) + report_len = ETP_SMBUS_REPORT_LEN2; + + if (len != report_len) { dev_err(&client->dev, "wrong report length (%d vs %d expected)\n", - len, ETP_SMBUS_REPORT_LEN); + len, report_len); return -EIO; } @@ -534,6 +552,7 @@ .write_fw_block = elan_smbus_write_fw_block, .finish_fw_update = elan_smbus_finish_fw_update, + .get_report_features = elan_smbus_get_report_features, .get_report = elan_smbus_get_report, .get_pattern = elan_smbus_get_pattern, }; --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/elantech.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elantech.c @@ -90,6 +90,47 @@ } /* + * Send an Elantech style special command to read 3 bytes from a register + */ +static int elantech_read_reg_params(struct psmouse *psmouse, u8 reg, u8 *param) +{ + if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || + elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, reg) || + elantech_ps2_command(psmouse, param, PSMOUSE_CMD_GETINFO)) { + psmouse_err(psmouse, + "failed to read register %#02x\n", reg); + return -EIO; + } + + return 0; +} + +/* + * Send an Elantech style special command to write a register with a parameter + */ +static int elantech_write_reg_params(struct psmouse *psmouse, u8 reg, u8 *param) +{ + if (elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, ETP_REGISTER_READWRITE) || + elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, reg) || + elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, param[0]) || + elantech_ps2_command(psmouse, NULL, ETP_PS2_CUSTOM_COMMAND) || + elantech_ps2_command(psmouse, NULL, param[1]) || + elantech_ps2_command(psmouse, NULL, PSMOUSE_CMD_SETSCALE11)) { + psmouse_err(psmouse, + "failed to write register %#02x with value %#02x%#02x\n", + reg, param[0], param[1]); + return -EIO; + } + + return 0; +} + +/* * Send an Elantech style special command to read a value from a register */ static int elantech_read_reg(struct psmouse *psmouse, unsigned char reg, @@ -1530,18 +1571,34 @@ }; /* + * Change Report id 0x5E to 0x5F. + */ +static int elantech_change_report_id(struct psmouse *psmouse) +{ + unsigned char param[2] = { 0x10, 0x03 }; + + if (elantech_write_reg_params(psmouse, 0x7, param) || + elantech_read_reg_params(psmouse, 0x7, param) || + param[0] != 0x10 || param[1] != 0x03) { + psmouse_err(psmouse, "Unable to change report ID to 0x5f.\n"); + return -EIO; + } + + return 0; +} +/* * determine hardware version and set some properties according to it. */ static int elantech_set_properties(struct elantech_device_info *info) { /* This represents the version of IC body. */ - int ver = (info->fw_version & 0x0f0000) >> 16; + info->ic_version = (info->fw_version & 0x0f0000) >> 16; /* Early version of Elan touchpads doesn't obey the rule. */ if (info->fw_version < 0x020030 || info->fw_version == 0x020600) info->hw_version = 1; else { - switch (ver) { + switch (info->ic_version) { case 2: case 4: info->hw_version = 2; @@ -1557,6 +1614,11 @@ } } + /* Get information pattern for hw_version 4 */ + info->pattern = 0x00; + if (info->ic_version == 0x0f && (info->fw_version & 0xff) <= 0x02) + info->pattern = info->fw_version & 0xff; + /* decide which send_cmd we're gonna use early */ info->send_cmd = info->hw_version >= 3 ? elantech_send_cmd : synaptics_send_cmd; @@ -1598,6 +1660,7 @@ { unsigned char param[3]; unsigned char traces; + unsigned char ic_body[3]; memset(info, 0, sizeof(*info)); @@ -1640,6 +1703,21 @@ info->samples[2]); } + if (info->pattern > 0x00 && info->ic_version == 0xf) { + if (info->send_cmd(psmouse, ETP_ICBODY_QUERY, ic_body)) { + psmouse_err(psmouse, "failed to query ic body\n"); + return -EINVAL; + } + info->ic_version = be16_to_cpup((__be16 *)ic_body); + psmouse_info(psmouse, + "Elan ic body: %#04x, current fw version: %#02x\n", + info->ic_version, ic_body[2]); + } + + info->product_id = be16_to_cpup((__be16 *)info->samples); + if (info->pattern == 0x00) + info->product_id &= 0xff; + if (info->samples[1] == 0x74 && info->hw_version == 0x03) { /* * This module has a bug which makes absolute mode @@ -1654,6 +1732,23 @@ /* The MSB indicates the presence of the trackpoint */ info->has_trackpoint = (info->capabilities[0] & 0x80) == 0x80; + if (info->has_trackpoint && info->ic_version == 0x0011 && + (info->product_id == 0x08 || info->product_id == 0x09 || + info->product_id == 0x0d || info->product_id == 0x0e)) { + /* + * This module has a bug which makes trackpoint in SMBus + * mode return invalid data unless trackpoint is switched + * from using 0x5e reports to 0x5f. If we are not able to + * make the switch, let's abort initialization so we'll be + * using standard PS/2 protocol. + */ + if (elantech_change_report_id(psmouse)) { + psmouse_info(psmouse, + "Trackpoint report is broken, forcing standard PS/2 protocol\n"); + return -ENODEV; + } + } + info->x_res = 31; info->y_res = 31; if (info->hw_version == 4) { --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/elantech.h +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/elantech.h @@ -18,6 +18,7 @@ #define ETP_CAPABILITIES_QUERY 0x02 #define ETP_SAMPLE_QUERY 0x03 #define ETP_RESOLUTION_QUERY 0x04 +#define ETP_ICBODY_QUERY 0x05 /* * Command values for register reading or writing @@ -140,7 +141,10 @@ unsigned char samples[3]; unsigned char debug; unsigned char hw_version; + unsigned char pattern; unsigned int fw_version; + unsigned int ic_version; + unsigned int product_id; unsigned int x_min; unsigned int y_min; unsigned int x_max; --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/psmouse-base.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/psmouse-base.c @@ -2042,7 +2042,7 @@ { int type = *((unsigned int *)kp->arg); - return sprintf(buffer, "%s", psmouse_protocol_by_type(type)->name); + return sprintf(buffer, "%s\n", psmouse_protocol_by_type(type)->name); } static int __init psmouse_init(void) --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/sentelic.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/sentelic.c @@ -441,7 +441,7 @@ fsp_reg_write_enable(psmouse, false); - return count; + return retval; } PSMOUSE_DEFINE_WO_ATTR(setreg, S_IWUSR, NULL, fsp_attr_set_setreg); --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/trackpoint.c +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/trackpoint.c @@ -17,10 +17,12 @@ #include "trackpoint.h" static const char * const trackpoint_variants[] = { - [TP_VARIANT_IBM] = "IBM", - [TP_VARIANT_ALPS] = "ALPS", - [TP_VARIANT_ELAN] = "Elan", - [TP_VARIANT_NXP] = "NXP", + [TP_VARIANT_IBM] = "IBM", + [TP_VARIANT_ALPS] = "ALPS", + [TP_VARIANT_ELAN] = "Elan", + [TP_VARIANT_NXP] = "NXP", + [TP_VARIANT_JYT_SYNAPTICS] = "JYT_Synaptics", + [TP_VARIANT_SYNAPTICS] = "Synaptics", }; /* @@ -280,6 +282,8 @@ case TP_VARIANT_ALPS: case TP_VARIANT_ELAN: case TP_VARIANT_NXP: + case TP_VARIANT_JYT_SYNAPTICS: + case TP_VARIANT_SYNAPTICS: if (variant_id) *variant_id = param[0]; if (firmware_id) --- linux-riscv-5.8-5.8.0.orig/drivers/input/mouse/trackpoint.h +++ linux-riscv-5.8-5.8.0/drivers/input/mouse/trackpoint.h @@ -24,10 +24,12 @@ * 0x01 was the original IBM trackpoint, others implement very limited * subset of trackpoint features. */ -#define TP_VARIANT_IBM 0x01 -#define TP_VARIANT_ALPS 0x02 -#define TP_VARIANT_ELAN 0x03 -#define TP_VARIANT_NXP 0x04 +#define TP_VARIANT_IBM 0x01 +#define TP_VARIANT_ALPS 0x02 +#define TP_VARIANT_ELAN 0x03 +#define TP_VARIANT_NXP 0x04 +#define TP_VARIANT_JYT_SYNAPTICS 0x05 +#define TP_VARIANT_SYNAPTICS 0x06 /* * Commands --- linux-riscv-5.8-5.8.0.orig/drivers/input/serio/hil_mlc.c +++ linux-riscv-5.8-5.8.0/drivers/input/serio/hil_mlc.c @@ -74,7 +74,7 @@ static LIST_HEAD(hil_mlcs); static DEFINE_RWLOCK(hil_mlcs_lock); static struct timer_list hil_mlcs_kicker; -static int hil_mlcs_probe; +static int hil_mlcs_probe, hil_mlc_stop; static void hil_mlcs_process(unsigned long unused); static DECLARE_TASKLET_DISABLED(hil_mlcs_tasklet, hil_mlcs_process, 0); @@ -702,9 +702,13 @@ if (!mlc->ostarted) { mlc->ostarted = 1; mlc->opacket = pack; - mlc->out(mlc); + rc = mlc->out(mlc); nextidx = HILSEN_DOZE; write_unlock_irqrestore(&mlc->lock, flags); + if (rc) { + hil_mlc_stop = 1; + return 1; + } break; } mlc->ostarted = 0; @@ -715,8 +719,13 @@ case HILSE_CTS: write_lock_irqsave(&mlc->lock, flags); - nextidx = mlc->cts(mlc) ? node->bad : node->good; + rc = mlc->cts(mlc); + nextidx = rc ? node->bad : node->good; write_unlock_irqrestore(&mlc->lock, flags); + if (rc) { + hil_mlc_stop = 1; + return 1; + } break; default: @@ -780,6 +789,12 @@ static void hil_mlcs_timer(struct timer_list *unused) { + if (hil_mlc_stop) { + /* could not send packet - stop immediately. */ + pr_warn(PREFIX "HIL seems stuck - Disabling HIL MLC.\n"); + return; + } + hil_mlcs_probe = 1; tasklet_schedule(&hil_mlcs_tasklet); /* Re-insert the periodic task. */ --- linux-riscv-5.8-5.8.0.orig/drivers/input/serio/hp_sdc_mlc.c +++ linux-riscv-5.8-5.8.0/drivers/input/serio/hp_sdc_mlc.c @@ -210,7 +210,7 @@ priv->tseq[2] = 1; priv->tseq[3] = 0; priv->tseq[4] = 0; - __hp_sdc_enqueue_transaction(&priv->trans); + return __hp_sdc_enqueue_transaction(&priv->trans); busy: return 1; done: @@ -219,7 +219,7 @@ return 0; } -static void hp_sdc_mlc_out(hil_mlc *mlc) +static int hp_sdc_mlc_out(hil_mlc *mlc) { struct hp_sdc_mlc_priv_s *priv; @@ -234,7 +234,7 @@ do_data: if (priv->emtestmode) { up(&mlc->osem); - return; + return 0; } /* Shouldn't be sending commands when loop may be busy */ BUG_ON(down_trylock(&mlc->csem)); @@ -296,7 +296,7 @@ BUG_ON(down_trylock(&mlc->csem)); } enqueue: - hp_sdc_enqueue_transaction(&priv->trans); + return hp_sdc_enqueue_transaction(&priv->trans); } static int __init hp_sdc_mlc_init(void) --- linux-riscv-5.8-5.8.0.orig/drivers/input/serio/i8042-x86ia64io.h +++ linux-riscv-5.8-5.8.0/drivers/input/serio/i8042-x86ia64io.h @@ -220,6 +220,12 @@ DMI_MATCH(DMI_PRODUCT_NAME, "C15B"), }, }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ByteSpeed LLC"), + DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"), + }, + }, { } }; @@ -548,6 +554,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"), }, }, + { + /* Entroware Proteus */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Entroware"), + DMI_MATCH(DMI_PRODUCT_NAME, "Proteus"), + DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), + }, + }, { } }; @@ -574,6 +588,11 @@ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ }, + }, { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_CHASSIS_TYPE, "31"), /* Convertible Notebook */ + }, }, { } }; @@ -600,6 +619,48 @@ }, }, { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A114-31"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A314-31"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A315-31"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-132"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-332"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-432"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate Spin B118-RN"), + }, + }, + { /* Advent 4211 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "DIXONSXP"), @@ -676,6 +737,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "33474HU"), }, }, + { + /* Entroware Proteus */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Entroware"), + DMI_MATCH(DMI_PRODUCT_NAME, "Proteus"), + DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), + }, + }, { } }; @@ -705,6 +774,13 @@ DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), }, }, + { + /* Acer Aspire 5 A515 */ + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "Grumpy_PK"), + DMI_MATCH(DMI_BOARD_VENDOR, "PK"), + }, + }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/input/serio/i8042.c +++ linux-riscv-5.8-5.8.0/drivers/input/serio/i8042.c @@ -122,6 +122,7 @@ MODULE_PARM_DESC(unmask_kbd_data, "Unconditional enable (may reveal sensitive data) of normally sanitize-filtered kbd data traffic debug log [pre-condition: i8042.debug=1 enabled]"); #endif +static bool i8042_present; static bool i8042_bypass_aux_irq_test; static char i8042_kbd_firmware_id[128]; static char i8042_aux_firmware_id[128]; @@ -343,6 +344,9 @@ unsigned long flags; int retval; + if (!i8042_present) + return -1; + spin_lock_irqsave(&i8042_lock, flags); retval = __i8042_command(param, command); spin_unlock_irqrestore(&i8042_lock, flags); @@ -613,7 +617,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; } @@ -632,7 +636,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; } @@ -724,7 +728,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; } @@ -939,25 +943,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 { + while (i++ < 5) { - if (i8042_command(¶m, I8042_CMD_CTL_TEST)) { - pr_err("i8042 controller selftest timeout\n"); - return -ENODEV; - } - - 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 /* @@ -969,7 +976,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 } @@ -1467,7 +1474,8 @@ if (error) goto err_free_ports; - if (aux_enable()) + error = aux_enable(); + if (error) goto err_free_irq; i8042_aux_irq_registered = true; @@ -1612,12 +1620,15 @@ err = i8042_platform_init(); if (err) - return err; + return (err == -ENODEV) ? 0 : err; err = i8042_controller_check(); if (err) goto err_platform_exit; + /* Set this before creating the dev to allow i8042_command to work right away */ + i8042_present = true; + pdev = platform_create_bundle(&i8042_driver, i8042_probe, NULL, 0, NULL, 0); if (IS_ERR(pdev)) { err = PTR_ERR(pdev); @@ -1636,6 +1647,9 @@ static void __exit i8042_exit(void) { + if (!i8042_present) + return; + platform_device_unregister(i8042_platform_device); platform_driver_unregister(&i8042_driver); i8042_platform_exit(); --- linux-riscv-5.8-5.8.0.orig/drivers/input/serio/sun4i-ps2.c +++ linux-riscv-5.8-5.8.0/drivers/input/serio/sun4i-ps2.c @@ -211,7 +211,6 @@ struct sun4i_ps2data *drvdata; struct serio *serio; struct device *dev = &pdev->dev; - unsigned int irq; int error; drvdata = kzalloc(sizeof(struct sun4i_ps2data), GFP_KERNEL); @@ -264,14 +263,12 @@ writel(0, drvdata->reg_base + PS2_REG_GCTL); /* Get IRQ for the device */ - irq = platform_get_irq(pdev, 0); - if (!irq) { - dev_err(dev, "no IRQ found\n"); - error = -ENXIO; + drvdata->irq = platform_get_irq(pdev, 0); + if (drvdata->irq < 0) { + error = drvdata->irq; goto err_disable_clk; } - drvdata->irq = irq; drvdata->serio = serio; drvdata->dev = dev; --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/Kconfig @@ -96,6 +96,7 @@ config TOUCHSCREEN_ADC tristate "Generic ADC based resistive touchscreen" depends on IIO + select IIO_BUFFER select IIO_BUFFER_CB help Say Y here if you want to use the generic ADC --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/ads7846.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/ads7846.c @@ -33,6 +33,7 @@ #include #include #include +#include /* * This code has been heavily tested on a Nokia 770, and lightly @@ -199,6 +200,26 @@ #define REF_ON (READ_12BIT_DFR(x, 1, 1)) #define REF_OFF (READ_12BIT_DFR(y, 0, 0)) +static int get_pendown_state(struct ads7846 *ts) +{ + if (ts->get_pendown_state) + return ts->get_pendown_state(); + + return !gpio_get_value(ts->gpio_pendown); +} + +static void ads7846_report_pen_up(struct ads7846 *ts) +{ + struct input_dev *input = ts->input; + + input_report_key(input, BTN_TOUCH, 0); + input_report_abs(input, ABS_PRESSURE, 0); + input_sync(input); + + ts->pendown = false; + dev_vdbg(&ts->spi->dev, "UP\n"); +} + /* Must be called with ts->lock held */ static void ads7846_stop(struct ads7846 *ts) { @@ -215,6 +236,10 @@ static void ads7846_restart(struct ads7846 *ts) { if (!ts->disabled && !ts->suspended) { + /* Check if pen was released since last stop */ + if (ts->pendown && !get_pendown_state(ts)) + ads7846_report_pen_up(ts); + /* Tell IRQ thread that it may poll the device. */ ts->stopped = false; mb(); @@ -411,7 +436,7 @@ if (status == 0) { /* BE12 value, then padding */ - status = be16_to_cpu(*((u16 *)&req->sample[1])); + status = get_unaligned_be16(&req->sample[1]); status = status >> 3; status &= 0x0fff; } @@ -606,14 +631,6 @@ /*--------------------------------------------------------------------------*/ -static int get_pendown_state(struct ads7846 *ts) -{ - if (ts->get_pendown_state) - return ts->get_pendown_state(); - - return !gpio_get_value(ts->gpio_pendown); -} - static void null_wait_for_sync(void) { } @@ -786,10 +803,11 @@ /* compute touch pressure resistance using equation #2 */ Rt = z2; Rt -= z1; - Rt *= x; Rt *= ts->x_plate_ohms; + Rt = DIV_ROUND_CLOSEST(Rt, 16); + Rt *= x; Rt /= z1; - Rt = (Rt + 2047) >> 12; + Rt = DIV_ROUND_CLOSEST(Rt, 256); } else { Rt = 0; } @@ -868,16 +886,8 @@ msecs_to_jiffies(TS_POLL_PERIOD)); } - if (ts->pendown && !ts->stopped) { - struct input_dev *input = ts->input; - - input_report_key(input, BTN_TOUCH, 0); - input_report_abs(input, ABS_PRESSURE, 0); - input_sync(input); - - ts->pendown = false; - dev_vdbg(&ts->spi->dev, "UP\n"); - } + if (ts->pendown && !ts->stopped) + ads7846_report_pen_up(ts); return IRQ_HANDLED; } --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/elants_i2c.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/elants_i2c.c @@ -90,7 +90,7 @@ /* FW read command, 0x53 0x?? 0x0, 0x01 */ #define E_ELAN_INFO_FW_VER 0x00 #define E_ELAN_INFO_BC_VER 0x10 -#define E_ELAN_INFO_REK 0xE0 +#define E_ELAN_INFO_REK 0xD0 #define E_ELAN_INFO_TEST_VER 0xE0 #define E_ELAN_INFO_FW_ID 0xF0 #define E_INFO_OSR 0xD6 --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/elo.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/elo.c @@ -341,8 +341,10 @@ switch (elo->id) { case 0: /* 10-byte protocol */ - if (elo_setup_10(elo)) + if (elo_setup_10(elo)) { + err = -EIO; goto fail3; + } break; --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/goodix.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/goodix.c @@ -157,6 +157,7 @@ { .id = "5663", .data = >1x_chip_data }, { .id = "5688", .data = >1x_chip_data }, { .id = "917S", .data = >1x_chip_data }, + { .id = "9286", .data = >1x_chip_data }, { .id = "911", .data = >911_chip_data }, { .id = "9271", .data = >911_chip_data }, @@ -193,6 +194,18 @@ }, }, { + .ident = "Teclast X98 Pro", + .matches = { + /* + * Only match BIOS date, because the manufacturers + * BIOS does not report the board name at all + * (sometimes)... + */ + DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"), + DMI_MATCH(DMI_BIOS_DATE, "10/28/2015"), + }, + }, + { .ident = "WinBook TW100", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "WinBook"), @@ -1433,6 +1446,7 @@ { .compatible = "goodix,gt927" }, { .compatible = "goodix,gt9271" }, { .compatible = "goodix,gt928" }, + { .compatible = "goodix,gt9286" }, { .compatible = "goodix,gt967" }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/ili210x.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/ili210x.c @@ -29,11 +29,13 @@ void *buf, size_t len); int (*get_touch_data)(struct i2c_client *client, u8 *data); bool (*parse_touch_data)(const u8 *data, unsigned int finger, - unsigned int *x, unsigned int *y); + unsigned int *x, unsigned int *y, + unsigned int *z); bool (*continue_polling)(const u8 *data, bool touch); unsigned int max_touches; unsigned int resolution; bool has_calibrate_reg; + bool has_pressure_reg; }; struct ili210x { @@ -82,7 +84,8 @@ static bool ili210x_touchdata_to_coords(const u8 *touchdata, unsigned int finger, - unsigned int *x, unsigned int *y) + unsigned int *x, unsigned int *y, + unsigned int *z) { if (touchdata[0] & BIT(finger)) return false; @@ -137,7 +140,8 @@ static bool ili211x_touchdata_to_coords(const u8 *touchdata, unsigned int finger, - unsigned int *x, unsigned int *y) + unsigned int *x, unsigned int *y, + unsigned int *z) { u32 data; @@ -169,7 +173,8 @@ static bool ili212x_touchdata_to_coords(const u8 *touchdata, unsigned int finger, - unsigned int *x, unsigned int *y) + unsigned int *x, unsigned int *y, + unsigned int *z) { u16 val; @@ -235,7 +240,8 @@ static bool ili251x_touchdata_to_coords(const u8 *touchdata, unsigned int finger, - unsigned int *x, unsigned int *y) + unsigned int *x, unsigned int *y, + unsigned int *z) { u16 val; @@ -245,6 +251,7 @@ *x = val & 0x3fff; *y = get_unaligned_be16(touchdata + 1 + (finger * 5) + 2); + *z = touchdata[1 + (finger * 5) + 4]; return true; } @@ -261,6 +268,7 @@ .continue_polling = ili251x_check_continue_polling, .max_touches = 10, .has_calibrate_reg = true, + .has_pressure_reg = true, }; static bool ili210x_report_events(struct ili210x *priv, u8 *touchdata) @@ -268,14 +276,16 @@ struct input_dev *input = priv->input; int i; bool contact = false, touch; - unsigned int x = 0, y = 0; + unsigned int x = 0, y = 0, z = 0; for (i = 0; i < priv->chip->max_touches; i++) { - touch = priv->chip->parse_touch_data(touchdata, i, &x, &y); + touch = priv->chip->parse_touch_data(touchdata, i, &x, &y, &z); input_mt_slot(input, i); if (input_mt_report_slot_state(input, MT_TOOL_FINGER, touch)) { touchscreen_report_pos(input, &priv->prop, x, y, true); + if (priv->chip->has_pressure_reg) + input_report_abs(input, ABS_MT_PRESSURE, z); contact = true; } } @@ -437,6 +447,8 @@ max_xy = (chip->resolution ?: SZ_64K) - 1; input_set_abs_params(input, ABS_MT_POSITION_X, 0, max_xy, 0, 0); input_set_abs_params(input, ABS_MT_POSITION_Y, 0, max_xy, 0, 0); + if (priv->chip->has_pressure_reg) + input_set_abs_params(input, ABS_MT_PRESSURE, 0, 0xa, 0, 0); touchscreen_parse_properties(input, true, &priv->prop); error = input_mt_init_slots(input, priv->chip->max_touches, --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/imx6ul_tsc.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/imx6ul_tsc.c @@ -530,20 +530,25 @@ mutex_lock(&input_dev->mutex); - if (input_dev->users) { - retval = clk_prepare_enable(tsc->adc_clk); - if (retval) - goto out; + if (!input_dev->users) + goto out; - retval = clk_prepare_enable(tsc->tsc_clk); - if (retval) { - clk_disable_unprepare(tsc->adc_clk); - goto out; - } + retval = clk_prepare_enable(tsc->adc_clk); + if (retval) + goto out; - retval = imx6ul_tsc_init(tsc); + retval = clk_prepare_enable(tsc->tsc_clk); + if (retval) { + clk_disable_unprepare(tsc->adc_clk); + goto out; } + retval = imx6ul_tsc_init(tsc); + if (retval) { + clk_disable_unprepare(tsc->tsc_clk); + clk_disable_unprepare(tsc->adc_clk); + goto out; + } out: mutex_unlock(&input_dev->mutex); return retval; --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/raydium_i2c_ts.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/raydium_i2c_ts.c @@ -410,6 +410,7 @@ enum raydium_bl_ack state) { int error; + static const u8 cmd[] = { 0xFF, 0x39 }; error = raydium_i2c_send(client, RM_CMD_BOOT_WRT, data, len); if (error) { @@ -418,7 +419,7 @@ return error; } - error = raydium_i2c_send(client, RM_CMD_BOOT_ACK, NULL, 0); + error = raydium_i2c_send(client, RM_CMD_BOOT_ACK, cmd, sizeof(cmd)); if (error) { dev_err(&client->dev, "Ack obj command failed: %d\n", error); return error; --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/s6sy761.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/s6sy761.c @@ -145,8 +145,8 @@ u8 major = event[4]; u8 minor = event[5]; u8 z = event[6] & S6SY761_MASK_Z; - u16 x = (event[1] << 3) | ((event[3] & S6SY761_MASK_X) >> 4); - u16 y = (event[2] << 3) | (event[3] & S6SY761_MASK_Y); + u16 x = (event[1] << 4) | ((event[3] & S6SY761_MASK_X) >> 4); + u16 y = (event[2] << 4) | (event[3] & S6SY761_MASK_Y); input_mt_slot(sdata->input, tid); --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/stmfts.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/stmfts.c @@ -479,7 +479,7 @@ mutex_lock(&sdata->mutex); - if (value & sdata->hover_enabled) + if (value && sdata->hover_enabled) goto out; if (sdata->running) --- linux-riscv-5.8-5.8.0.orig/drivers/input/touchscreen/sur40.c +++ linux-riscv-5.8-5.8.0/drivers/input/touchscreen/sur40.c @@ -789,6 +789,7 @@ dev_err(&interface->dev, "Unable to register video controls."); v4l2_ctrl_handler_free(&sur40->hdl); + error = sur40->hdl.error; goto err_unreg_v4l2; } --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/core.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/core.c @@ -55,12 +55,18 @@ icc_summary_show_one(s, n); hlist_for_each_entry(r, &n->req_list, req_node) { + u32 avg_bw = 0, peak_bw = 0; + if (!r->dev) continue; + if (r->enabled) { + avg_bw = r->avg_bw; + peak_bw = r->peak_bw; + } + seq_printf(s, " %-27s %12u %12u %12u\n", - dev_name(r->dev), r->tag, r->avg_bw, - r->peak_bw); + dev_name(r->dev), r->tag, avg_bw, peak_bw); } } } @@ -905,6 +911,8 @@ GFP_KERNEL); if (new) src->links = new; + else + ret = -ENOMEM; out: mutex_unlock(&icc_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/imx/imx.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/imx/imx.c @@ -99,6 +99,7 @@ if (!dn || !of_device_is_available(dn)) { dev_warn(dev, "Missing property %s, skip scaling %s\n", adj->phandle_name, node->name); + of_node_put(dn); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/qcom/bcm-voter.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/qcom/bcm-voter.c @@ -52,8 +52,20 @@ return 1; } +static u64 bcm_div(u64 num, u32 base) +{ + /* Ensure that small votes aren't lost. */ + if (num && num < base) + return 1; + + do_div(num, base); + + return num; +} + static void bcm_aggregate(struct qcom_icc_bcm *bcm) { + struct qcom_icc_node *node; size_t i, bucket; u64 agg_avg[QCOM_ICC_NUM_BUCKETS] = {0}; u64 agg_peak[QCOM_ICC_NUM_BUCKETS] = {0}; @@ -61,22 +73,21 @@ for (bucket = 0; bucket < QCOM_ICC_NUM_BUCKETS; bucket++) { for (i = 0; i < bcm->num_nodes; i++) { - temp = bcm->nodes[i]->sum_avg[bucket] * bcm->aux_data.width; - do_div(temp, bcm->nodes[i]->buswidth * bcm->nodes[i]->channels); + node = bcm->nodes[i]; + temp = bcm_div(node->sum_avg[bucket] * bcm->aux_data.width, + node->buswidth * node->channels); agg_avg[bucket] = max(agg_avg[bucket], temp); - temp = bcm->nodes[i]->max_peak[bucket] * bcm->aux_data.width; - do_div(temp, bcm->nodes[i]->buswidth); + temp = bcm_div(node->max_peak[bucket] * bcm->aux_data.width, + node->buswidth); agg_peak[bucket] = max(agg_peak[bucket], temp); } temp = agg_avg[bucket] * 1000ULL; - do_div(temp, bcm->aux_data.unit); - bcm->vote_x[bucket] = temp; + bcm->vote_x[bucket] = bcm_div(temp, bcm->aux_data.unit); temp = agg_peak[bucket] * 1000ULL; - do_div(temp, bcm->aux_data.unit); - bcm->vote_y[bucket] = temp; + bcm->vote_y[bucket] = bcm_div(temp, bcm->aux_data.unit); } if (bcm->keepalive && bcm->vote_x[QCOM_ICC_BUCKET_AMC] == 0 && --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/qcom/msm8916.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/qcom/msm8916.c @@ -182,7 +182,7 @@ DEFINE_QNODE(mas_pcnoc_sdcc_2, MSM8916_MASTER_SDCC_2, 8, -1, -1, MSM8916_PNOC_INT_1); DEFINE_QNODE(mas_qdss_bam, MSM8916_MASTER_QDSS_BAM, 8, -1, -1, MSM8916_SNOC_QDSS_INT); DEFINE_QNODE(mas_qdss_etr, MSM8916_MASTER_QDSS_ETR, 8, -1, -1, MSM8916_SNOC_QDSS_INT); -DEFINE_QNODE(mas_snoc_cfg, MSM8916_MASTER_SNOC_CFG, 4, 20, -1, MSM8916_SNOC_QDSS_INT); +DEFINE_QNODE(mas_snoc_cfg, MSM8916_MASTER_SNOC_CFG, 4, -1, -1, MSM8916_SNOC_QDSS_INT); DEFINE_QNODE(mas_spdm, MSM8916_MASTER_SPDM, 4, -1, -1, MSM8916_PNOC_MAS_0); DEFINE_QNODE(mas_tcu0, MSM8916_MASTER_TCU0, 8, -1, -1, MSM8916_SLAVE_EBI_CH0, MSM8916_BIMC_SNOC_MAS, MSM8916_SLAVE_AMPSS_L2); DEFINE_QNODE(mas_tcu1, MSM8916_MASTER_TCU1, 8, -1, -1, MSM8916_SLAVE_EBI_CH0, MSM8916_BIMC_SNOC_MAS, MSM8916_SLAVE_AMPSS_L2); @@ -208,14 +208,14 @@ DEFINE_QNODE(pcnoc_snoc_slv, MSM8916_PNOC_SNOC_SLV, 8, -1, 45, MSM8916_SNOC_INT_0, MSM8916_SNOC_INT_BIMC, MSM8916_SNOC_INT_1); DEFINE_QNODE(qdss_int, MSM8916_SNOC_QDSS_INT, 8, -1, -1, MSM8916_SNOC_INT_0, MSM8916_SNOC_INT_BIMC); DEFINE_QNODE(slv_apps_l2, MSM8916_SLAVE_AMPSS_L2, 8, -1, -1, 0); -DEFINE_QNODE(slv_apss, MSM8916_SLAVE_APSS, 4, -1, 20, 0); +DEFINE_QNODE(slv_apss, MSM8916_SLAVE_APSS, 4, -1, -1, 0); DEFINE_QNODE(slv_audio, MSM8916_SLAVE_LPASS, 4, -1, -1, 0); DEFINE_QNODE(slv_bimc_cfg, MSM8916_SLAVE_BIMC_CFG, 4, -1, -1, 0); DEFINE_QNODE(slv_blsp_1, MSM8916_SLAVE_BLSP_1, 4, -1, -1, 0); DEFINE_QNODE(slv_boot_rom, MSM8916_SLAVE_BOOT_ROM, 4, -1, -1, 0); DEFINE_QNODE(slv_camera_cfg, MSM8916_SLAVE_CAMERA_CFG, 4, -1, -1, 0); -DEFINE_QNODE(slv_cats_0, MSM8916_SLAVE_CATS_128, 16, -1, 106, 0); -DEFINE_QNODE(slv_cats_1, MSM8916_SLAVE_OCMEM_64, 8, -1, 107, 0); +DEFINE_QNODE(slv_cats_0, MSM8916_SLAVE_CATS_128, 16, -1, -1, 0); +DEFINE_QNODE(slv_cats_1, MSM8916_SLAVE_OCMEM_64, 8, -1, -1, 0); DEFINE_QNODE(slv_clk_ctl, MSM8916_SLAVE_CLK_CTL, 4, -1, -1, 0); DEFINE_QNODE(slv_crypto_0_cfg, MSM8916_SLAVE_CRYPTO_0_CFG, 4, -1, -1, 0); DEFINE_QNODE(slv_dehr_cfg, MSM8916_SLAVE_DEHR_CFG, 4, -1, -1, 0); @@ -239,7 +239,7 @@ DEFINE_QNODE(slv_security, MSM8916_SLAVE_SECURITY, 4, -1, -1, 0); DEFINE_QNODE(slv_snoc_cfg, MSM8916_SLAVE_SNOC_CFG, 4, -1, -1, 0); DEFINE_QNODE(slv_spdm, MSM8916_SLAVE_SPDM, 4, -1, -1, 0); -DEFINE_QNODE(slv_srvc_snoc, MSM8916_SLAVE_SRVC_SNOC, 8, -1, 29, 0); +DEFINE_QNODE(slv_srvc_snoc, MSM8916_SLAVE_SRVC_SNOC, 8, -1, -1, 0); DEFINE_QNODE(slv_tcsr, MSM8916_SLAVE_TCSR, 4, -1, -1, 0); DEFINE_QNODE(slv_tlmm, MSM8916_SLAVE_TLMM, 4, -1, -1, 0); DEFINE_QNODE(slv_usb_hs, MSM8916_SLAVE_USB_HS, 4, -1, -1, 0); @@ -249,7 +249,7 @@ DEFINE_QNODE(snoc_bimc_1_mas, MSM8916_SNOC_BIMC_1_MAS, 16, -1, -1, MSM8916_SNOC_BIMC_1_SLV); DEFINE_QNODE(snoc_bimc_1_slv, MSM8916_SNOC_BIMC_1_SLV, 8, -1, -1, MSM8916_SLAVE_EBI_CH0); DEFINE_QNODE(snoc_int_0, MSM8916_SNOC_INT_0, 8, 99, 130, MSM8916_SLAVE_QDSS_STM, MSM8916_SLAVE_IMEM, MSM8916_SNOC_PNOC_MAS); -DEFINE_QNODE(snoc_int_1, MSM8916_SNOC_INT_1, 8, 100, 131, MSM8916_SLAVE_APSS, MSM8916_SLAVE_CATS_128, MSM8916_SLAVE_OCMEM_64); +DEFINE_QNODE(snoc_int_1, MSM8916_SNOC_INT_1, 8, -1, -1, MSM8916_SLAVE_APSS, MSM8916_SLAVE_CATS_128, MSM8916_SLAVE_OCMEM_64); DEFINE_QNODE(snoc_int_bimc, MSM8916_SNOC_INT_BIMC, 8, 101, 132, MSM8916_SNOC_BIMC_0_MAS); DEFINE_QNODE(snoc_pcnoc_mas, MSM8916_SNOC_PNOC_MAS, 8, -1, -1, MSM8916_SNOC_PNOC_SLV); DEFINE_QNODE(snoc_pcnoc_slv, MSM8916_SNOC_PNOC_SLV, 8, -1, -1, MSM8916_PNOC_INT_0); --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/qcom/qcs404.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/qcom/qcs404.c @@ -157,8 +157,8 @@ } DEFINE_QNODE(mas_apps_proc, QCS404_MASTER_AMPSS_M0, 8, 0, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); -DEFINE_QNODE(mas_oxili, QCS404_MASTER_GRAPHICS_3D, 8, 6, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); -DEFINE_QNODE(mas_mdp, QCS404_MASTER_MDP_PORT0, 8, 8, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); +DEFINE_QNODE(mas_oxili, QCS404_MASTER_GRAPHICS_3D, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); +DEFINE_QNODE(mas_mdp, QCS404_MASTER_MDP_PORT0, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); DEFINE_QNODE(mas_snoc_bimc_1, QCS404_SNOC_BIMC_1_MAS, 8, 76, -1, QCS404_SLAVE_EBI_CH0); DEFINE_QNODE(mas_tcu_0, QCS404_MASTER_TCU_0, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); DEFINE_QNODE(mas_spdm, QCS404_MASTER_SPDM, 4, -1, -1, QCS404_PNOC_INT_3); --- linux-riscv-5.8-5.8.0.orig/drivers/interconnect/qcom/sdm845.c +++ linux-riscv-5.8-5.8.0/drivers/interconnect/qcom/sdm845.c @@ -151,7 +151,7 @@ DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf); DEFINE_QBCM(bcm_sh1, "SH1", false, &qns_apps_io); -DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1); +DEFINE_QBCM(bcm_mm1, "MM1", true, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1); DEFINE_QBCM(bcm_sh2, "SH2", false, &qns_memnoc_snoc); DEFINE_QBCM(bcm_mm2, "MM2", false, &qns2_mem_noc); DEFINE_QBCM(bcm_sh3, "SH3", false, &acm_tcu); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/iommu/Kconfig @@ -143,7 +143,7 @@ select IOMMU_API select IOMMU_IOVA select IOMMU_DMA - depends on X86_64 && PCI && ACPI + depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE help With this option you can enable support for AMD IOMMU hardware in your system. An IOMMU is a hardware component which provides --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/amd/amd_iommu.h +++ linux-riscv-5.8-5.8.0/drivers/iommu/amd/amd_iommu.h @@ -75,12 +75,9 @@ (pdev->device == PCI_DEVICE_ID_RD890_IOMMU); } -static inline bool iommu_feature(struct amd_iommu *iommu, u64 f) +static inline bool iommu_feature(struct amd_iommu *iommu, u64 mask) { - if (!(iommu->cap & (1 << IOMMU_CAP_EFR))) - return false; - - return !!(iommu->features & f); + return !!(iommu->features & mask); } static inline u64 iommu_virt_to_phys(void *vaddr) --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/amd/amd_iommu_types.h +++ linux-riscv-5.8-5.8.0/drivers/iommu/amd/amd_iommu_types.h @@ -254,7 +254,7 @@ #define DTE_IRQ_REMAP_INTCTL_MASK (0x3ULL << 60) #define DTE_IRQ_TABLE_LEN_MASK (0xfULL << 1) #define DTE_IRQ_REMAP_INTCTL (2ULL << 60) -#define DTE_IRQ_TABLE_LEN (8ULL << 1) +#define DTE_IRQ_TABLE_LEN (9ULL << 1) #define DTE_IRQ_REMAP_ENABLE 1ULL #define PAGE_MODE_NONE 0x00 @@ -376,6 +376,10 @@ #define IOMMU_CAP_NPCACHE 26 #define IOMMU_CAP_EFR 27 +/* IOMMU IVINFO */ +#define IOMMU_IVINFO_OFFSET 36 +#define IOMMU_IVINFO_EFRSUP BIT(0) + /* IOMMU Feature Reporting Field (for IVHD type 10h */ #define IOMMU_FEAT_GASUP_SHIFT 6 @@ -406,7 +410,11 @@ /* Only true if all IOMMUs support device IOTLBs */ extern bool amd_iommu_iotlb_sup; -#define MAX_IRQS_PER_TABLE 256 +/* + * AMD IOMMU hardware only support 512 IRTEs despite + * the architectural limitation of 2048 entries. + */ +#define MAX_IRQS_PER_TABLE 512 #define IRQ_TABLE_ALIGNMENT 128 struct irq_remap_table { --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/amd/init.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/amd/init.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -253,9 +254,13 @@ static int amd_iommu_enable_interrupts(void); static int __init iommu_go_to_state(enum iommu_init_state state); static void init_device_table_dma(void); +static int iommu_pc_get_set_reg(struct amd_iommu *iommu, u8 bank, u8 cntr, + u8 fxn, u64 *value, bool is_write); static bool amd_iommu_pre_enabled = true; +static u32 amd_iommu_ivinfo __initdata; + bool translation_pre_enabled(struct amd_iommu *iommu) { return (iommu->flags & AMD_IOMMU_FLAG_TRANS_PRE_ENABLED); @@ -295,6 +300,18 @@ return amd_iommus_present; } +/* + * For IVHD type 0x11/0x40, EFR is also available via IVHD. + * Default to IVHD EFR since it is available sooner + * (i.e. before PCI init). + */ +static void __init early_iommu_features_init(struct amd_iommu *iommu, + struct ivhd_header *h) +{ + if (amd_iommu_ivinfo & IOMMU_IVINFO_EFRSUP) + iommu->features = h->efr_reg; +} + /* Access to l1 and l2 indexed register spaces */ static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) @@ -1111,25 +1128,6 @@ } /* - * Reads the device exclusion range from ACPI and initializes the IOMMU with - * it - */ -static void __init set_device_exclusion_range(u16 devid, struct ivmd_header *m) -{ - if (!(m->flags & IVMD_FLAG_EXCL_RANGE)) - return; - - /* - * Treat per-device exclusion ranges as r/w unity-mapped regions - * since some buggy BIOSes might lead to the overwritten exclusion - * range (exclusion_start and exclusion_length members). This - * happens when there are multiple exclusion ranges (IVMD entries) - * defined in ACPI table. - */ - m->flags = (IVMD_FLAG_IW | IVMD_FLAG_IR | IVMD_FLAG_UNITY_MAP); -} - -/* * Takes a pointer to an AMD IOMMU entry in the ACPI table and * initializes the hardware and our data structures with it. */ @@ -1518,7 +1516,14 @@ iommu->mmio_phys_end = MMIO_REG_END_OFFSET; else iommu->mmio_phys_end = MMIO_CNTR_CONF_OFFSET; - if (((h->efr_attr & (0x1 << IOMMU_FEAT_GASUP_SHIFT)) == 0)) + + /* + * Note: GA (128-bit IRTE) mode requires cmpxchg16b supports. + * GAM also requires GA mode. Therefore, we need to + * check cmpxchg16b support before enabling it. + */ + if (!boot_cpu_has(X86_FEATURE_CX16) || + ((h->efr_attr & (0x1 << IOMMU_FEAT_GASUP_SHIFT)) == 0)) amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY; break; case 0x11: @@ -1527,8 +1532,18 @@ iommu->mmio_phys_end = MMIO_REG_END_OFFSET; else iommu->mmio_phys_end = MMIO_CNTR_CONF_OFFSET; - if (((h->efr_reg & (0x1 << IOMMU_EFR_GASUP_SHIFT)) == 0)) + + /* + * Note: GA (128-bit IRTE) mode requires cmpxchg16b supports. + * XT, GAM also requires GA mode. Therefore, we need to + * check cmpxchg16b support before enabling them. + */ + if (!boot_cpu_has(X86_FEATURE_CX16) || + ((h->efr_reg & (0x1 << IOMMU_EFR_GASUP_SHIFT)) == 0)) { amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY; + break; + } + /* * Note: Since iommu_update_intcapxt() leverages * the IOMMU MMIO access to MSI capability block registers @@ -1538,6 +1553,9 @@ if ((h->efr_reg & BIT(IOMMU_EFR_XTSUP_SHIFT)) && (h->efr_reg & BIT(IOMMU_EFR_MSICAPMMIOSUP_SHIFT))) amd_iommu_xt_mode = IRQ_REMAP_X2APIC_MODE; + + early_iommu_features_init(iommu, h); + break; default: return -EINVAL; @@ -1651,13 +1669,11 @@ return 0; } -static int iommu_pc_get_set_reg(struct amd_iommu *iommu, u8 bank, u8 cntr, - u8 fxn, u64 *value, bool is_write); - -static void init_iommu_perf_ctr(struct amd_iommu *iommu) +static void __init init_iommu_perf_ctr(struct amd_iommu *iommu) { + int retry; struct pci_dev *pdev = iommu->dev; - u64 val = 0xabcd, val2 = 0, save_reg = 0; + u64 val = 0xabcd, val2 = 0, save_reg, save_src; if (!iommu_feature(iommu, FEATURE_PC)) return; @@ -1665,17 +1681,39 @@ amd_iommu_pc_present = true; /* save the value to restore, if writable */ - if (iommu_pc_get_set_reg(iommu, 0, 0, 0, &save_reg, false)) + if (iommu_pc_get_set_reg(iommu, 0, 0, 0, &save_reg, false) || + iommu_pc_get_set_reg(iommu, 0, 0, 8, &save_src, false)) goto pc_false; - /* Check if the performance counters can be written to */ - if ((iommu_pc_get_set_reg(iommu, 0, 0, 0, &val, true)) || - (iommu_pc_get_set_reg(iommu, 0, 0, 0, &val2, false)) || - (val != val2)) + /* + * Disable power gating by programing the performance counter + * source to 20 (i.e. counts the reads and writes from/to IOMMU + * Reserved Register [MMIO Offset 1FF8h] that are ignored.), + * which never get incremented during this init phase. + * (Note: The event is also deprecated.) + */ + val = 20; + if (iommu_pc_get_set_reg(iommu, 0, 0, 8, &val, true)) goto pc_false; + /* Check if the performance counters can be written to */ + val = 0xabcd; + for (retry = 5; retry; retry--) { + if (iommu_pc_get_set_reg(iommu, 0, 0, 0, &val, true) || + iommu_pc_get_set_reg(iommu, 0, 0, 0, &val2, false) || + val2) + break; + + /* Wait about 20 msec for power gating to disable and retry. */ + msleep(20); + } + /* restore */ - if (iommu_pc_get_set_reg(iommu, 0, 0, 0, &save_reg, true)) + if (iommu_pc_get_set_reg(iommu, 0, 0, 0, &save_reg, true) || + iommu_pc_get_set_reg(iommu, 0, 0, 8, &save_src, true)) + goto pc_false; + + if (val != val2) goto pc_false; pci_info(pdev, "IOMMU performance counters supported\n"); @@ -1726,6 +1764,35 @@ NULL, }; +/* + * Note: IVHD 0x11 and 0x40 also contains exact copy + * of the IOMMU Extended Feature Register [MMIO Offset 0030h]. + * Default to EFR in IVHD since it is available sooner (i.e. before PCI init). + */ +static void __init late_iommu_features_init(struct amd_iommu *iommu) +{ + u64 features; + + if (!(iommu->cap & (1 << IOMMU_CAP_EFR))) + return; + + /* read extended feature bits */ + features = readq(iommu->mmio_base + MMIO_EXT_FEATURES); + + if (!iommu->features) { + iommu->features = features; + return; + } + + /* + * Sanity check and warn if EFR values from + * IVHD and MMIO conflict. + */ + if (features != iommu->features) + pr_warn(FW_WARN "EFR mismatch. Use IVHD EFR (%#llx : %#llx\n).", + features, iommu->features); +} + static int __init iommu_init_pci(struct amd_iommu *iommu) { int cap_ptr = iommu->cap_ptr; @@ -1745,8 +1812,7 @@ if (!(iommu->cap & (1 << IOMMU_CAP_IOTLB))) amd_iommu_iotlb_sup = false; - /* read extended feature bits */ - iommu->features = readq(iommu->mmio_base + MMIO_EXT_FEATURES); + late_iommu_features_init(iommu); if (iommu_feature(iommu, FEATURE_GT)) { int glxval; @@ -2063,30 +2129,6 @@ } } -/* called when we find an exclusion range definition in ACPI */ -static int __init init_exclusion_range(struct ivmd_header *m) -{ - int i; - - switch (m->type) { - case ACPI_IVMD_TYPE: - set_device_exclusion_range(m->devid, m); - break; - case ACPI_IVMD_TYPE_ALL: - for (i = 0; i <= amd_iommu_last_bdf; ++i) - set_device_exclusion_range(i, m); - break; - case ACPI_IVMD_TYPE_RANGE: - for (i = m->devid; i <= m->aux; ++i) - set_device_exclusion_range(i, m); - break; - default: - break; - } - - return 0; -} - /* called for unity map ACPI definition */ static int __init init_unity_map_range(struct ivmd_header *m) { @@ -2097,9 +2139,6 @@ if (e == NULL) return -ENOMEM; - if (m->flags & IVMD_FLAG_EXCL_RANGE) - init_exclusion_range(m); - switch (m->type) { default: kfree(e); @@ -2123,6 +2162,16 @@ e->address_end = e->address_start + PAGE_ALIGN(m->range_length); e->prot = m->flags >> 1; + /* + * Treat per-device exclusion ranges as r/w unity-mapped regions + * since some buggy BIOSes might lead to the overwritten exclusion + * range (exclusion_start and exclusion_length members). This + * happens when there are multiple exclusion ranges (IVMD entries) + * defined in ACPI table. + */ + if (m->flags & IVMD_FLAG_EXCL_RANGE) + e->prot = (IVMD_FLAG_IW | IVMD_FLAG_IR) >> 1; + DUMP_printk("%s devid_start: %02x:%02x.%x devid_end: %02x:%02x.%x" " range_start: %016llx range_end: %016llx flags: %x\n", s, PCI_BUS_NUM(e->devid_start), PCI_SLOT(e->devid_start), @@ -2490,6 +2539,11 @@ free_unity_maps(); } +static void __init ivinfo_init(void *ivrs) +{ + amd_iommu_ivinfo = *((u32 *)(ivrs + IOMMU_IVINFO_OFFSET)); +} + /* * This is the hardware init function for AMD IOMMU in the system. * This function is called either from amd_iommu_init or from the interrupt @@ -2544,6 +2598,8 @@ if (ret) goto out; + ivinfo_init(ivrs_base); + amd_iommu_target_ivhd_type = get_highest_supported_ivhd_type(ivrs_base); DUMP_printk("Using IVHD type %#x\n", amd_iommu_target_ivhd_type); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/amd/iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/amd/iommu.c @@ -1412,6 +1412,10 @@ bool ret = true; u64 *pte, root; + pte = (void *)get_zeroed_page(gfp); + if (!pte) + return false; + spin_lock_irqsave(&domain->lock, flags); amd_iommu_domain_get_pgtable(domain, &pgtable); @@ -1423,10 +1427,6 @@ if (WARN_ON_ONCE(pgtable.mode == PAGE_MODE_6_LEVEL)) goto out; - pte = (void *)get_zeroed_page(gfp); - if (!pte) - goto out; - *pte = PM_LEVEL_PDE(pgtable.mode, iommu_virt_to_phys(pgtable.root)); pgtable.root = pte; @@ -1441,10 +1441,12 @@ root = amd_iommu_domain_encode_pgtable(pte, pgtable.mode); atomic64_set(&domain->pt_root, root); + pte = NULL; ret = true; out: spin_unlock_irqrestore(&domain->lock, flags); + free_page((unsigned long)pte); return ret; } @@ -2650,7 +2652,12 @@ if (!dev_data) return 0; - if (dev_data->iommu_v2) + /* + * Do not identity map IOMMUv2 capable devices when memory encryption is + * active, because some of those devices (AMD GPUs) don't have the + * encryption bit in their DMA-mask and require remapping. + */ + if (!mem_encrypt_active() && dev_data->iommu_v2) return IOMMU_DOMAIN_IDENTITY; return 0; @@ -3283,6 +3290,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte, struct amd_ir_data *data) { + bool ret; struct irq_remap_table *table; struct amd_iommu *iommu; unsigned long flags; @@ -3300,10 +3308,18 @@ entry = (struct irte_ga *)table->table; entry = &entry[index]; - entry->lo.fields_remap.valid = 0; - entry->hi.val = irte->hi.val; - entry->lo.val = irte->lo.val; - entry->lo.fields_remap.valid = 1; + + ret = cmpxchg_double(&entry->lo.val, &entry->hi.val, + entry->lo.val, entry->hi.val, + irte->lo.val, irte->hi.val); + /* + * We use cmpxchg16 to atomically update the 128-bit IRTE, + * and it cannot be updated by the hardware or other processors + * behind us, so the return value of cmpxchg16 should be the + * same as the old value. + */ + WARN_ON(!ret); + if (data) data->ref = entry; @@ -3817,14 +3833,18 @@ { struct amd_ir_data *ir_data = (struct amd_ir_data *)data; struct irte_ga *entry = (struct irte_ga *) ir_data->entry; + u64 valid; if (!AMD_IOMMU_GUEST_IR_VAPIC(amd_iommu_guest_ir) || !entry || entry->lo.fields_vapic.guest_mode) return 0; + valid = entry->lo.fields_vapic.valid; + entry->lo.val = 0; entry->hi.val = 0; + entry->lo.fields_vapic.valid = valid; entry->lo.fields_vapic.guest_mode = 1; entry->lo.fields_vapic.ga_log_intr = 1; entry->hi.fields.ga_root_ptr = ir_data->ga_root_ptr; @@ -3841,14 +3861,18 @@ struct amd_ir_data *ir_data = (struct amd_ir_data *)data; struct irte_ga *entry = (struct irte_ga *) ir_data->entry; struct irq_cfg *cfg = ir_data->cfg; + u64 valid; if (!AMD_IOMMU_GUEST_IR_VAPIC(amd_iommu_guest_ir) || !entry || !entry->lo.fields_vapic.guest_mode) return 0; + valid = entry->lo.fields_remap.valid; + entry->lo.val = 0; entry->hi.val = 0; + entry->lo.fields_remap.valid = valid; entry->lo.fields_remap.dm = apic->irq_dest_mode; entry->lo.fields_remap.int_type = apic->irq_delivery_mode; entry->hi.fields.vector = cfg->vector; --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/amd/iommu_v2.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/amd/iommu_v2.c @@ -737,6 +737,13 @@ might_sleep(); + /* + * When memory encryption is active the device is likely not in a + * direct-mapped domain. Forbid using IOMMUv2 functionality for now. + */ + if (mem_encrypt_active()) + return -ENODEV; + if (!amd_iommu_v2_supported()) return -ENODEV; --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/arm-smmu-qcom.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/arm-smmu-qcom.c @@ -69,6 +69,10 @@ { struct qcom_smmu *qsmmu; + /* Check to make sure qcom_scm has finished probing */ + if (!qcom_scm_is_available()) + return ERR_PTR(-EPROBE_DEFER); + qsmmu = devm_kzalloc(smmu->dev, sizeof(*qsmmu), GFP_KERNEL); if (!qsmmu) return ERR_PTR(-ENOMEM); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/arm-smmu-v3.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/arm-smmu-v3.c @@ -2878,7 +2878,7 @@ { struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain); - arm_smmu_tlb_inv_range(gather->start, gather->end - gather->start, + arm_smmu_tlb_inv_range(gather->start, gather->end - gather->start + 1, gather->pgsize, true, smmu_domain); } --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/dma-iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/dma-iommu.c @@ -1035,8 +1035,8 @@ if (IS_ENABLED(CONFIG_DMA_DIRECT_REMAP) && !gfpflags_allow_blocking(gfp) && !coherent) - cpu_addr = dma_alloc_from_pool(dev, PAGE_ALIGN(size), &page, - gfp); + page = dma_alloc_from_pool(dev, PAGE_ALIGN(size), &cpu_addr, + gfp, NULL); else cpu_addr = iommu_dma_alloc_pages(dev, size, &page, gfp, attrs); if (!cpu_addr) --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/exynos-iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/exynos-iommu.c @@ -1295,13 +1295,17 @@ return -ENODEV; data = platform_get_drvdata(sysmmu); - if (!data) + if (!data) { + put_device(&sysmmu->dev); return -ENODEV; + } if (!owner) { owner = kzalloc(sizeof(*owner), GFP_KERNEL); - if (!owner) + if (!owner) { + put_device(&sysmmu->dev); return -ENOMEM; + } INIT_LIST_HEAD(&owner->controllers); mutex_init(&owner->rpm_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/intel/dmar.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/intel/dmar.c @@ -964,7 +964,8 @@ warn_invalid_dmar(phys_addr, " returns all ones"); goto unmap; } - iommu->vccap = dmar_readq(iommu->reg + DMAR_VCCAP_REG); + if (ecap_vcs(iommu->ecap)) + iommu->vccap = dmar_readq(iommu->reg + DMAR_VCCAP_REG); /* the registers might be more than one page */ map_size = max_t(int, ecap_max_iotlb_offset(iommu->ecap), @@ -1024,8 +1025,8 @@ { struct intel_iommu *iommu; u32 ver, sts; - int agaw = 0; - int msagaw = 0; + int agaw = -1; + int msagaw = -1; int err; if (!drhd->reg_base_addr) { @@ -1050,17 +1051,28 @@ } err = -EINVAL; - agaw = iommu_calculate_agaw(iommu); - if (agaw < 0) { - pr_err("Cannot get a valid agaw for iommu (seq_id = %d)\n", - iommu->seq_id); - goto err_unmap; - } - msagaw = iommu_calculate_max_sagaw(iommu); - if (msagaw < 0) { - pr_err("Cannot get a valid max agaw for iommu (seq_id = %d)\n", - iommu->seq_id); - goto err_unmap; + if (cap_sagaw(iommu->cap) == 0) { + pr_info("%s: No supported address widths. Not attempting DMA translation.\n", + iommu->name); + drhd->ignored = 1; + } + + if (!drhd->ignored) { + agaw = iommu_calculate_agaw(iommu); + if (agaw < 0) { + pr_err("Cannot get a valid agaw for iommu (seq_id = %d)\n", + iommu->seq_id); + drhd->ignored = 1; + } + } + if (!drhd->ignored) { + msagaw = iommu_calculate_max_sagaw(iommu); + if (msagaw < 0) { + pr_err("Cannot get a valid max agaw for iommu (seq_id = %d)\n", + iommu->seq_id); + drhd->ignored = 1; + agaw = -1; + } } iommu->agaw = agaw; iommu->msagaw = msagaw; @@ -1087,7 +1099,12 @@ raw_spin_lock_init(&iommu->register_lock); - if (intel_iommu_enabled) { + /* + * This is only for hotplug; at boot time intel_iommu_enabled won't + * be set yet. When intel_iommu_init() runs, it registers the units + * present at boot time, then sets intel_iommu_enabled. + */ + if (intel_iommu_enabled && !drhd->ignored) { err = iommu_device_sysfs_add(&iommu->iommu, NULL, intel_iommu_groups, "%s", iommu->name); @@ -1102,6 +1119,7 @@ } drhd->iommu = iommu; + iommu->drhd = drhd; return 0; @@ -1116,7 +1134,7 @@ static void free_iommu(struct intel_iommu *iommu) { - if (intel_iommu_enabled) { + if (intel_iommu_enabled && iommu->iommu.ops) { iommu_device_unregister(&iommu->iommu); iommu_device_sysfs_remove(&iommu->iommu); } @@ -1421,8 +1439,8 @@ int mask = ilog2(__roundup_pow_of_two(npages)); unsigned long align = (1ULL << (VTD_PAGE_SHIFT + mask)); - if (WARN_ON_ONCE(!ALIGN(addr, align))) - addr &= ~(align - 1); + if (WARN_ON_ONCE(!IS_ALIGNED(addr, align))) + addr = ALIGN_DOWN(addr, align); desc.qw0 = QI_EIOTLB_PASID(pasid) | QI_EIOTLB_DID(did) | @@ -1458,9 +1476,26 @@ * Max Invs Pending (MIP) is set to 0 for now until we have DIT in * ECAP. */ - desc.qw1 |= addr & ~mask; - if (size_order) + if (!IS_ALIGNED(addr, VTD_PAGE_SIZE << size_order)) + pr_warn_ratelimited("Invalidate non-aligned address %llx, order %d\n", + addr, size_order); + + /* Take page address */ + desc.qw1 = QI_DEV_EIOTLB_ADDR(addr); + + if (size_order) { + /* + * Existing 0s in address below size_order may be the least + * significant bit, we must set them to 1s to avoid having + * smaller size than desired. + */ + desc.qw1 |= GENMASK_ULL(size_order + VTD_PAGE_SHIFT - 1, + VTD_PAGE_SHIFT); + /* Clear size_order bit to indicate size */ + desc.qw1 &= ~mask; + /* Set the S bit to indicate flushing more than 1 page */ desc.qw1 |= QI_DEV_EIOTLB_SIZE; + } qi_submit_sync(iommu, &desc, 1, 0); } --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/intel/intel-pasid.h +++ linux-riscv-5.8-5.8.0/drivers/iommu/intel/intel-pasid.h @@ -30,8 +30,8 @@ #define VCMD_VRSP_IP 0x1 #define VCMD_VRSP_SC(e) (((e) >> 1) & 0x3) #define VCMD_VRSP_SC_SUCCESS 0 -#define VCMD_VRSP_SC_NO_PASID_AVAIL 1 -#define VCMD_VRSP_SC_INVALID_PASID 1 +#define VCMD_VRSP_SC_NO_PASID_AVAIL 2 +#define VCMD_VRSP_SC_INVALID_PASID 2 #define VCMD_VRSP_RESULT_PASID(e) (((e) >> 8) & 0xfffff) #define VCMD_CMD_OPERAND(e) ((e) << 8) /* --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/intel/iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/intel/iommu.c @@ -67,8 +67,8 @@ #define MAX_AGAW_WIDTH 64 #define MAX_AGAW_PFN_WIDTH (MAX_AGAW_WIDTH - VTD_PAGE_SHIFT) -#define __DOMAIN_MAX_PFN(gaw) ((((uint64_t)1) << (gaw-VTD_PAGE_SHIFT)) - 1) -#define __DOMAIN_MAX_ADDR(gaw) ((((uint64_t)1) << gaw) - 1) +#define __DOMAIN_MAX_PFN(gaw) ((((uint64_t)1) << ((gaw) - VTD_PAGE_SHIFT)) - 1) +#define __DOMAIN_MAX_ADDR(gaw) ((((uint64_t)1) << (gaw)) - 1) /* We limit DOMAIN_MAX_PFN to fit in an unsigned long, and DOMAIN_MAX_ADDR to match. That way, we can use 'unsigned long' for PFNs with impunity. */ @@ -123,29 +123,29 @@ return (level - 1) * LEVEL_STRIDE; } -static inline int pfn_level_offset(unsigned long pfn, int level) +static inline int pfn_level_offset(u64 pfn, int level) { return (pfn >> level_to_offset_bits(level)) & LEVEL_MASK; } -static inline unsigned long level_mask(int level) +static inline u64 level_mask(int level) { - return -1UL << level_to_offset_bits(level); + return -1ULL << level_to_offset_bits(level); } -static inline unsigned long level_size(int level) +static inline u64 level_size(int level) { - return 1UL << level_to_offset_bits(level); + return 1ULL << level_to_offset_bits(level); } -static inline unsigned long align_to_level(unsigned long pfn, int level) +static inline u64 align_to_level(u64 pfn, int level) { return (pfn + level_size(level) - 1) & level_mask(level); } static inline unsigned long lvl_to_nr_pages(unsigned int lvl) { - return 1 << min_t(int, (lvl - 1) * LEVEL_STRIDE, MAX_AGAW_PFN_WIDTH); + return 1UL << min_t(int, (lvl - 1) * LEVEL_STRIDE, MAX_AGAW_PFN_WIDTH); } /* VT-d pages must always be _smaller_ than MM pages. Otherwise things @@ -179,7 +179,7 @@ * (used when kernel is launched w/ TXT) */ static int force_on = 0; -int intel_iommu_tboot_noforce; +static int intel_iommu_tboot_noforce; static int no_platform_optin; #define ROOT_ENTRY_NR (VTD_PAGE_SIZE/sizeof(struct root_entry)) @@ -356,6 +356,7 @@ static int intel_iommu_superpage = 1; static int iommu_identity_mapping; static int intel_no_bounce; +static int iommu_skip_te_disable; #define IDENTMAP_GFX 2 #define IDENTMAP_AZALIA 4 @@ -705,6 +706,18 @@ domain_update_iommu_coherency(domain); domain->iommu_snooping = domain_update_iommu_snooping(NULL); domain->iommu_superpage = domain_update_iommu_superpage(domain, NULL); + + /* + * First-level translation restricts the input-address to a + * canonical address (i.e., address bits 63:N have the same + * value as address bit [N-1], where N is 48-bits with 4-level + * paging and 57-bits with 5-level paging). Hence, skip bit + * [N-1]. + */ + if (domain_use_first_level(domain)) + domain->domain.geometry.aperture_end = __DOMAIN_MAX_ADDR(domain->gaw - 1); + else + domain->domain.geometry.aperture_end = __DOMAIN_MAX_ADDR(domain->gaw); } struct context_entry *iommu_context_addr(struct intel_iommu *iommu, u8 bus, @@ -1629,6 +1642,10 @@ u32 sts; unsigned long flag; + if (iommu_skip_te_disable && iommu->drhd->gfx_dedicated && + (cap_read_drain(iommu->cap) || cap_write_drain(iommu->cap))) + return; + raw_spin_lock_irqsave(&iommu->register_lock, flag); iommu->gcmd &= ~DMA_GCMD_TE; writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG); @@ -1746,7 +1763,7 @@ if (ecap_prs(iommu->ecap)) intel_svm_finish_prq(iommu); } - if (ecap_vcs(iommu->ecap) && vccap_pasid(iommu->vccap)) + if (vccap_pasid(iommu->vccap)) ioasid_unregister_allocator(&iommu->pasid_allocator); #endif @@ -2438,6 +2455,9 @@ { struct device_domain_info *info; + if (unlikely(!dev || !dev->iommu)) + return NULL; + if (unlikely(attach_deferred(dev) || iommu_dummy(dev))) return NULL; @@ -2560,7 +2580,7 @@ } if (info->ats_supported && ecap_prs(iommu->ecap) && - pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_PRI)) + pci_pri_supported(pdev)) info->pri_supported = 1; } } @@ -2612,7 +2632,7 @@ } /* Setup the PASID entry for requests without PASID: */ - spin_lock(&iommu->lock); + spin_lock_irqsave(&iommu->lock, flags); if (hw_pass_through && domain_type_is_si(domain)) ret = intel_pasid_setup_pass_through(iommu, domain, dev, PASID_RID2PASID); @@ -2622,7 +2642,7 @@ else ret = intel_pasid_setup_second_level(iommu, domain, dev, PASID_RID2PASID); - spin_unlock(&iommu->lock); + spin_unlock_irqrestore(&iommu->lock, flags); if (ret) { dev_err(dev, "Setup RID2PASID failed\n"); dmar_remove_one_dev_info(dev); @@ -3122,7 +3142,7 @@ * is active. All vIOMMU allocators will eventually be calling the same * host allocator. */ - if (!ecap_vcs(iommu->ecap) || !vccap_pasid(iommu->vccap)) + if (!vccap_pasid(iommu->vccap)) return; pr_info("Register custom PASID allocator\n"); @@ -3248,6 +3268,11 @@ if (!ecap_pass_through(iommu->ecap)) hw_pass_through = 0; + + if (!intel_iommu_strict && cap_caching_mode(iommu->cap)) { + pr_warn("Disable batched IOTLB flush due to virtualization"); + intel_iommu_strict = 1; + } intel_svm_check(iommu); } @@ -4039,6 +4064,7 @@ /* This IOMMU has *only* gfx devices. Either bypass it or set the gfx_mapped flag, as appropriate */ + drhd->gfx_dedicated = 1; if (!dmar_map_gfx) { drhd->ignored = 1; for_each_active_dev_scope(drhd->devices, @@ -4823,7 +4849,8 @@ * Intel IOMMU is required for a TXT/tboot launch or platform * opt in, so enforce that. */ - force_on = tboot_force_iommu() || platform_optin_force_iommu(); + force_on = (!intel_iommu_tboot_noforce && tboot_force_iommu()) || + platform_optin_force_iommu(); if (iommu_init_mempool()) { if (force_on) @@ -5330,6 +5357,7 @@ aux_domain_remove_dev(to_dmar_domain(domain), dev); } +#ifdef CONFIG_INTEL_IOMMU_SVM /* * 2D array for converting and sanitizing IOMMU generic TLB granularity to * VT-d granularity. Invalidation is typically included in the unmap operation @@ -5376,7 +5404,6 @@ return order_base_2(nr_pages); } -#ifdef CONFIG_INTEL_IOMMU_SVM static int intel_iommu_sva_invalidate(struct iommu_domain *domain, struct device *dev, struct iommu_cache_invalidate_info *inv_info) @@ -5446,13 +5473,12 @@ switch (BIT(cache_type)) { case IOMMU_CACHE_INV_TYPE_IOTLB: + /* HW will ignore LSB bits based on address mask */ if (inv_info->granularity == IOMMU_INV_GRANU_ADDR && size && (inv_info->addr_info.addr & ((BIT(VTD_PAGE_SHIFT + size)) - 1))) { - pr_err_ratelimited("Address out of range, 0x%llx, size order %llu\n", + pr_err_ratelimited("User address not aligned, 0x%llx, size order %llu\n", inv_info->addr_info.addr, size); - ret = -ERANGE; - goto out_unlock; } /* @@ -6182,6 +6208,27 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt); +static void quirk_igfx_skip_te_disable(struct pci_dev *dev) +{ + unsigned short ver; + + if (!IS_GFX_DEVICE(dev)) + return; + + ver = (dev->device >> 8) & 0xff; + if (ver != 0x45 && ver != 0x46 && ver != 0x4c && + ver != 0x4e && ver != 0x8a && ver != 0x98 && + ver != 0x9a) + return; + + if (risky_device(dev)) + return; + + pci_info(dev, "Skip IOMMU disabling for graphics\n"); + iommu_skip_te_disable = 1; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_igfx_skip_te_disable); + /* On Tylersburg chipsets, some BIOSes have been known to enable the ISOCH DMAR unit for the Azalia sound device, but not give it any TLB entries, which causes it to deadlock. Check for that. We do --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/intel/irq_remapping.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/intel/irq_remapping.c @@ -507,12 +507,18 @@ /* Enable interrupt-remapping */ iommu->gcmd |= DMA_GCMD_IRE; - iommu->gcmd &= ~DMA_GCMD_CFI; /* Block compatibility-format MSIs */ writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG); - IOMMU_WAIT_OP(iommu, DMAR_GSTS_REG, readl, (sts & DMA_GSTS_IRES), sts); + /* Block compatibility-format MSIs */ + if (sts & DMA_GSTS_CFIS) { + iommu->gcmd &= ~DMA_GCMD_CFI; + writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG); + IOMMU_WAIT_OP(iommu, DMAR_GSTS_REG, + readl, !(sts & DMA_GSTS_CFIS), sts); + } + /* * With CFI clear in the Global Command register, we should be * protected from dangerous (i.e. compatibility) interrupts @@ -628,13 +634,21 @@ static void intel_teardown_irq_remapping(struct intel_iommu *iommu) { + struct fwnode_handle *fn; + if (iommu && iommu->ir_table) { if (iommu->ir_msi_domain) { + fn = iommu->ir_msi_domain->fwnode; + irq_domain_remove(iommu->ir_msi_domain); + irq_domain_free_fwnode(fn); iommu->ir_msi_domain = NULL; } if (iommu->ir_domain) { + fn = iommu->ir_domain->fwnode; + irq_domain_remove(iommu->ir_domain); + irq_domain_free_fwnode(fn); iommu->ir_domain = NULL; } free_pages((unsigned long)iommu->ir_table->base, @@ -1386,6 +1400,8 @@ irq_data = irq_domain_get_irq_data(domain, virq + i); irq_cfg = irqd_cfg(irq_data); if (!irq_data || !irq_cfg) { + if (!i) + kfree(data); ret = -EINVAL; goto out_free_data; } --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/intel/svm.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/intel/svm.c @@ -117,8 +117,10 @@ iommu->flags |= VTD_FLAG_SVM_CAPABLE; } -static void intel_flush_svm_range_dev (struct intel_svm *svm, struct intel_svm_dev *sdev, - unsigned long address, unsigned long pages, int ih) +static void __flush_svm_range_dev(struct intel_svm *svm, + struct intel_svm_dev *sdev, + unsigned long address, + unsigned long pages, int ih) { struct qi_desc desc; @@ -141,7 +143,7 @@ } desc.qw2 = 0; desc.qw3 = 0; - qi_submit_sync(svm->iommu, &desc, 1, 0); + qi_submit_sync(sdev->iommu, &desc, 1, 0); if (sdev->dev_iotlb) { desc.qw0 = QI_DEV_EIOTLB_PASID(svm->pasid) | @@ -165,7 +167,23 @@ } desc.qw2 = 0; desc.qw3 = 0; - qi_submit_sync(svm->iommu, &desc, 1, 0); + qi_submit_sync(sdev->iommu, &desc, 1, 0); + } +} + +static void intel_flush_svm_range_dev(struct intel_svm *svm, + struct intel_svm_dev *sdev, + unsigned long address, + unsigned long pages, int ih) +{ + unsigned long shift = ilog2(__roundup_pow_of_two(pages)); + unsigned long align = (1ULL << (VTD_PAGE_SHIFT + shift)); + unsigned long start = ALIGN_DOWN(address, align); + unsigned long end = ALIGN(address + (pages << VTD_PAGE_SHIFT), align); + + while (start < end) { + __flush_svm_range_dev(svm, sdev, start, align >> VTD_PAGE_SHIFT, ih); + start += align; } } @@ -210,7 +228,7 @@ */ rcu_read_lock(); list_for_each_entry_rcu(sdev, &svm->devs, list) - intel_pasid_tear_down_entry(svm->iommu, sdev->dev, + intel_pasid_tear_down_entry(sdev->iommu, sdev->dev, svm->pasid, true); rcu_read_unlock(); @@ -235,6 +253,7 @@ struct dmar_domain *dmar_domain; struct intel_svm_dev *sdev; struct intel_svm *svm; + unsigned long iflags; int ret = 0; if (WARN_ON(!iommu) || !data) @@ -277,20 +296,16 @@ goto out; } + /* + * Do not allow multiple bindings of the same device-PASID since + * there is only one SL page tables per PASID. We may revisit + * once sharing PGD across domains are supported. + */ for_each_svm_dev(sdev, svm, dev) { - /* - * For devices with aux domains, we should allow - * multiple bind calls with the same PASID and pdev. - */ - if (iommu_dev_feature_enabled(dev, - IOMMU_DEV_FEAT_AUX)) { - sdev->users++; - } else { - dev_warn_ratelimited(dev, - "Already bound with PASID %u\n", - svm->pasid); - ret = -EBUSY; - } + dev_warn_ratelimited(dev, + "Already bound with PASID %u\n", + svm->pasid); + ret = -EBUSY; goto out; } } else { @@ -321,6 +336,7 @@ goto out; } sdev->dev = dev; + sdev->iommu = iommu; /* Only count users if device has aux domains */ if (iommu_dev_feature_enabled(dev, IOMMU_DEV_FEAT_AUX)) @@ -339,12 +355,12 @@ * each bind of a new device even with an existing PASID, we need to * call the nested mode setup function here. */ - spin_lock(&iommu->lock); + spin_lock_irqsave(&iommu->lock, iflags); ret = intel_pasid_setup_nested(iommu, dev, (pgd_t *)(uintptr_t)data->gpgd, data->hpasid, &data->vtd, dmar_domain, data->addr_width); - spin_unlock(&iommu->lock); + spin_unlock_irqrestore(&iommu->lock, iflags); if (ret) { dev_err_ratelimited(dev, "Failed to set up PASID %llu in nested mode, Err %d\n", data->hpasid, ret); @@ -434,6 +450,7 @@ struct device_domain_info *info; struct intel_svm_dev *sdev; struct intel_svm *svm = NULL; + unsigned long iflags; int pasid_max; int ret; @@ -494,6 +511,7 @@ goto out; } sdev->dev = dev; + sdev->iommu = iommu; ret = intel_iommu_enable_pasid(iommu, dev); if (ret) { @@ -523,7 +541,6 @@ kfree(sdev); goto out; } - svm->iommu = iommu; if (pasid_max > intel_pasid_max_id) pasid_max = intel_pasid_max_id; @@ -553,14 +570,14 @@ } } - spin_lock(&iommu->lock); + spin_lock_irqsave(&iommu->lock, iflags); ret = intel_pasid_setup_first_level(iommu, dev, mm ? mm->pgd : init_mm.pgd, svm->pasid, FLPT_DEFAULT_DID, (mm ? 0 : PASID_FLAG_SUPERVISOR_MODE) | (cpu_feature_enabled(X86_FEATURE_LA57) ? PASID_FLAG_FL5LP : 0)); - spin_unlock(&iommu->lock); + spin_unlock_irqrestore(&iommu->lock, iflags); if (ret) { if (mm) mmu_notifier_unregister(&svm->notifier, mm); @@ -576,14 +593,14 @@ * Binding a new device with existing PASID, need to setup * the PASID entry. */ - spin_lock(&iommu->lock); + spin_lock_irqsave(&iommu->lock, iflags); ret = intel_pasid_setup_first_level(iommu, dev, mm ? mm->pgd : init_mm.pgd, svm->pasid, FLPT_DEFAULT_DID, (mm ? 0 : PASID_FLAG_SUPERVISOR_MODE) | (cpu_feature_enabled(X86_FEATURE_LA57) ? PASID_FLAG_FL5LP : 0)); - spin_unlock(&iommu->lock); + spin_unlock_irqrestore(&iommu->lock, iflags); if (ret) { kfree(sdev); goto out; @@ -917,7 +934,7 @@ resp.qw0 = QI_PGRP_PASID(req->pasid) | QI_PGRP_DID(req->rid) | QI_PGRP_PASID_P(req->pasid_present) | - QI_PGRP_PDP(req->pasid_present) | + QI_PGRP_PDP(req->priv_data_present) | QI_PGRP_RESP_CODE(result) | QI_PGRP_RESP_TYPE; resp.qw1 = QI_PGRP_IDX(req->prg_index) | @@ -939,8 +956,17 @@ * Clear the page request overflow bit and wake up all threads that * are waiting for the completion of this handling. */ - if (readl(iommu->reg + DMAR_PRS_REG) & DMA_PRS_PRO) - writel(DMA_PRS_PRO, iommu->reg + DMAR_PRS_REG); + if (readl(iommu->reg + DMAR_PRS_REG) & DMA_PRS_PRO) { + pr_info_ratelimited("IOMMU: %s: PRQ overflow detected\n", + iommu->name); + head = dmar_readq(iommu->reg + DMAR_PQH_REG) & PRQ_RING_MASK; + tail = dmar_readq(iommu->reg + DMAR_PQT_REG) & PRQ_RING_MASK; + if (head == tail) { + writel(DMA_PRS_PRO, iommu->reg + DMAR_PRS_REG); + pr_info_ratelimited("IOMMU: %s: PRQ overflow cleared", + iommu->name); + } + } if (!completion_done(&iommu->prq_complete)) complete(&iommu->prq_complete); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/io-pgtable-arm.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/io-pgtable-arm.c @@ -443,7 +443,13 @@ << ARM_LPAE_PTE_ATTRINDX_SHIFT); } - if (prot & IOMMU_CACHE) + /* + * Also Mali has its own notions of shareability wherein its Inner + * domain covers the cores within the GPU, and its Outer domain is + * "outside the GPU" (i.e. either the Inner or System domain in CPU + * terms, depending on coherency). + */ + if (prot & IOMMU_CACHE && data->iop.fmt != ARM_MALI_LPAE) pte |= ARM_LPAE_PTE_SH_IS; else pte |= ARM_LPAE_PTE_SH_OS; @@ -1052,6 +1058,9 @@ cfg->arm_mali_lpae_cfg.transtab = virt_to_phys(data->pgd) | ARM_MALI_LPAE_TTBR_READ_INNER | ARM_MALI_LPAE_TTBR_ADRMODE_TABLE; + if (cfg->coherent_walk) + cfg->arm_mali_lpae_cfg.transtab |= ARM_MALI_LPAE_TTBR_SHARE_OUTER; + return &data->iop; out_free_data: --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/iommu.c @@ -264,16 +264,18 @@ */ iommu_alloc_default_domain(group, dev); - if (group->default_domain) + if (group->default_domain) { ret = __iommu_attach_device(group->default_domain, dev); + if (ret) { + iommu_group_put(group); + goto err_release; + } + } iommu_create_device_direct_mappings(group, dev); iommu_group_put(group); - if (ret) - goto err_release; - if (ops->probe_finalize) ops->probe_finalize(dev); @@ -2216,9 +2218,6 @@ size -= pgsize; } - if (ops->iotlb_sync_map) - ops->iotlb_sync_map(domain); - /* unroll mapping in case something went wrong */ if (ret) iommu_unmap(domain, orig_iova, orig_size - size); @@ -2228,18 +2227,31 @@ return ret; } +static int _iommu_map(struct iommu_domain *domain, unsigned long iova, + phys_addr_t paddr, size_t size, int prot, gfp_t gfp) +{ + const struct iommu_ops *ops = domain->ops; + int ret; + + ret = __iommu_map(domain, iova, paddr, size, prot, gfp); + if (ret == 0 && ops->iotlb_sync_map) + ops->iotlb_sync_map(domain); + + return ret; +} + int iommu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t size, int prot) { might_sleep(); - return __iommu_map(domain, iova, paddr, size, prot, GFP_KERNEL); + return _iommu_map(domain, iova, paddr, size, prot, GFP_KERNEL); } EXPORT_SYMBOL_GPL(iommu_map); int iommu_map_atomic(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t size, int prot) { - return __iommu_map(domain, iova, paddr, size, prot, GFP_ATOMIC); + return _iommu_map(domain, iova, paddr, size, prot, GFP_ATOMIC); } EXPORT_SYMBOL_GPL(iommu_map_atomic); @@ -2323,6 +2335,7 @@ struct scatterlist *sg, unsigned int nents, int prot, gfp_t gfp) { + const struct iommu_ops *ops = domain->ops; size_t len = 0, mapped = 0; phys_addr_t start; unsigned int i = 0; @@ -2353,6 +2366,8 @@ sg = sg_next(sg); } + if (ops->iotlb_sync_map) + ops->iotlb_sync_map(domain); return mapped; out_err: --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/iova.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/iova.c @@ -811,7 +811,9 @@ for (i = 0 ; i < mag->size; ++i) { struct iova *iova = private_find_iova(iovad, mag->pfns[i]); - BUG_ON(!iova); + if (WARN_ON(!iova)) + continue; + private_free_iova(iovad, iova); } --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/mtk_iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/mtk_iommu.c @@ -418,7 +418,7 @@ struct iommu_iotlb_gather *gather) { struct mtk_iommu_data *data = mtk_iommu_get_m4u_data(); - size_t length = gather->end - gather->start; + size_t length = gather->end - gather->start + 1; if (gather->start == ULONG_MAX) return; --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/omap-iommu-debug.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/omap-iommu-debug.c @@ -98,8 +98,11 @@ mutex_lock(&iommu_debug_lock); bytes = omap_iommu_dump_ctx(obj, p, count); + if (bytes < 0) + goto err; bytes = simple_read_from_buffer(userbuf, count, ppos, buf, bytes); +err: mutex_unlock(&iommu_debug_lock); kfree(buf); --- linux-riscv-5.8-5.8.0.orig/drivers/iommu/qcom_iommu.c +++ linux-riscv-5.8-5.8.0/drivers/iommu/qcom_iommu.c @@ -578,8 +578,10 @@ * index into qcom_iommu->ctxs: */ if (WARN_ON(asid < 1) || - WARN_ON(asid > qcom_iommu->num_ctxs)) + WARN_ON(asid > qcom_iommu->num_ctxs)) { + put_device(&iommu_pdev->dev); return -EINVAL; + } if (!dev_iommu_priv_get(dev)) { dev_iommu_priv_set(dev, qcom_iommu); @@ -588,8 +590,10 @@ * multiple different iommu devices. Multiple context * banks are ok, but multiple devices are not: */ - if (WARN_ON(qcom_iommu != dev_iommu_priv_get(dev))) + if (WARN_ON(qcom_iommu != dev_iommu_priv_get(dev))) { + put_device(&iommu_pdev->dev); return -EINVAL; + } } return iommu_fwspec_add_ids(dev, &asid, 1); --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/irqchip/Kconfig @@ -458,7 +458,8 @@ Support for the i.MX IRQSTEER interrupt multiplexer/remapper. config IMX_INTMUX - def_bool y if ARCH_MXC || COMPILE_TEST + bool "i.MX INTMUX support" if COMPILE_TEST + default y if ARCH_MXC select IRQ_DOMAIN help Support for the i.MX INTMUX interrupt multiplexer. --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-alpine-msi.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-alpine-msi.c @@ -165,8 +165,7 @@ return 0; err_sgi: - while (--i >= 0) - irq_domain_free_irqs_parent(domain, virq, i); + irq_domain_free_irqs_parent(domain, virq, i - 1); alpine_msix_free_sgi(priv, sgi, nr_irqs); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-bcm7038-l1.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-bcm7038-l1.c @@ -327,7 +327,11 @@ u32 val; /* Wakeup interrupt should only come from the boot cpu */ +#ifdef CONFIG_SMP boot_cpu = cpu_logical_map(0); +#else + boot_cpu = 0; +#endif list_for_each_entry(intc, &bcm7038_l1_intcs_list, list) { for (word = 0; word < intc->n_words; word++) { @@ -347,7 +351,11 @@ struct bcm7038_l1_chip *intc; int boot_cpu, word; +#ifdef CONFIG_SMP boot_cpu = cpu_logical_map(0); +#else + boot_cpu = 0; +#endif list_for_each_entry(intc, &bcm7038_l1_intcs_list, list) { for (word = 0; word < intc->n_words; word++) { --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-gic-v3-its.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-gic-v3-its.c @@ -42,7 +42,6 @@ #define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0) #define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1) #define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2) -#define ITS_FLAGS_SAVE_SUSPEND_STATE (1ULL << 3) #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0) #define RDIST_FLAGS_RD_TABLES_PREALLOCATED (1 << 1) @@ -2814,7 +2813,7 @@ if (val & GICR_VPROPBASER_4_1_VALID) goto out; - gic_data_rdist()->vpe_table_mask = kzalloc(sizeof(cpumask_t), GFP_KERNEL); + gic_data_rdist()->vpe_table_mask = kzalloc(sizeof(cpumask_t), GFP_ATOMIC); if (!gic_data_rdist()->vpe_table_mask) return -ENOMEM; @@ -2881,7 +2880,7 @@ pr_debug("np = %d, npg = %lld, psz = %d, epp = %d, esz = %d\n", np, npg, psz, epp, esz); - page = alloc_pages(GFP_KERNEL | __GFP_ZERO, get_order(np * PAGE_SIZE)); + page = alloc_pages(GFP_ATOMIC | __GFP_ZERO, get_order(np * PAGE_SIZE)); if (!page) return -ENOMEM; @@ -3523,6 +3522,7 @@ msi_alloc_info_t *info = args; struct its_device *its_dev = info->scratchpad[0].ptr; struct its_node *its = its_dev->its; + struct irq_data *irqd; irq_hw_number_t hwirq; int err; int i; @@ -3542,7 +3542,9 @@ irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, &its_irq_chip, its_dev); - irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq + i))); + irqd = irq_get_irq_data(virq + i); + irqd_set_single_target(irqd); + irqd_set_affinity_on_activate(irqd); pr_debug("ID:%d pID:%d vID:%d\n", (int)(hwirq + i - its_dev->event_map.lpi_base), (int)(hwirq + i), virq + i); @@ -4087,18 +4089,22 @@ static void its_vpe_4_1_invall(struct its_vpe *vpe) { void __iomem *rdbase; + unsigned long flags; u64 val; + int cpu; val = GICR_INVALLR_V; val |= FIELD_PREP(GICR_INVALLR_VPEID, vpe->vpe_id); /* Target the redistributor this vPE is currently known on */ - raw_spin_lock(&gic_data_rdist_cpu(vpe->col_idx)->rd_lock); - rdbase = per_cpu_ptr(gic_rdists->rdist, vpe->col_idx)->rd_base; + cpu = vpe_to_cpuid_lock(vpe, &flags); + raw_spin_lock(&gic_data_rdist_cpu(cpu)->rd_lock); + rdbase = per_cpu_ptr(gic_rdists->rdist, cpu)->rd_base; gic_write_lpir(val, rdbase + GICR_INVALLR); wait_for_syncr(rdbase); - raw_spin_unlock(&gic_data_rdist_cpu(vpe->col_idx)->rd_lock); + raw_spin_unlock(&gic_data_rdist_cpu(cpu)->rd_lock); + vpe_to_cpuid_unlock(vpe, flags); } static int its_vpe_4_1_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) @@ -4728,9 +4734,6 @@ list_for_each_entry(its, &its_nodes, entry) { void __iomem *base; - if (!(its->flags & ITS_FLAGS_SAVE_SUSPEND_STATE)) - continue; - base = its->base; its->ctlr_save = readl_relaxed(base + GITS_CTLR); err = its_force_quiescent(base); @@ -4749,9 +4752,6 @@ list_for_each_entry_continue_reverse(its, &its_nodes, entry) { void __iomem *base; - if (!(its->flags & ITS_FLAGS_SAVE_SUSPEND_STATE)) - continue; - base = its->base; writel_relaxed(its->ctlr_save, base + GITS_CTLR); } @@ -4771,9 +4771,6 @@ void __iomem *base; int i; - if (!(its->flags & ITS_FLAGS_SAVE_SUSPEND_STATE)) - continue; - base = its->base; /* @@ -4781,7 +4778,10 @@ * don't restore it since writing to CBASER or BASER * registers is undefined according to the GIC v3 ITS * Specification. + * + * Firmware resuming with the ITS enabled is terminally broken. */ + WARN_ON(readl_relaxed(base + GITS_CTLR) & GITS_CTLR_ENABLE); ret = its_force_quiescent(base); if (ret) { pr_err("ITS@%pa: failed to quiesce on resume: %d\n", @@ -5061,9 +5061,6 @@ ctlr |= GITS_CTLR_ImDe; writel_relaxed(ctlr, its->base + GITS_CTLR); - if (GITS_TYPER_HCC(typer)) - its->flags |= ITS_FLAGS_SAVE_SUSPEND_STATE; - err = its_init_domain(handle, its); if (err) goto out_free_tables; --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-ingenic-tcu.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-ingenic-tcu.c @@ -179,5 +179,6 @@ } IRQCHIP_DECLARE(jz4740_tcu_irq, "ingenic,jz4740-tcu", ingenic_tcu_irq_init); IRQCHIP_DECLARE(jz4725b_tcu_irq, "ingenic,jz4725b-tcu", ingenic_tcu_irq_init); +IRQCHIP_DECLARE(jz4760_tcu_irq, "ingenic,jz4760-tcu", ingenic_tcu_irq_init); IRQCHIP_DECLARE(jz4770_tcu_irq, "ingenic,jz4770-tcu", ingenic_tcu_irq_init); IRQCHIP_DECLARE(x1000_tcu_irq, "ingenic,x1000-tcu", ingenic_tcu_irq_init); --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-ingenic.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-ingenic.c @@ -125,7 +125,7 @@ irq_reg_writel(gc, IRQ_MSK(32), JZ_REG_INTC_SET_MASK); } - if (request_irq(parent_irq, intc_cascade, 0, + if (request_irq(parent_irq, intc_cascade, IRQF_NO_SUSPEND, "SoC intc cascade interrupt", NULL)) pr_err("Failed to register SoC intc cascade interrupt\n"); return 0; @@ -155,6 +155,7 @@ { return ingenic_intc_of_init(node, 2); } +IRQCHIP_DECLARE(jz4760_intc, "ingenic,jz4760-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4770_intc, "ingenic,jz4770-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4775_intc, "ingenic,jz4775-intc", intc_2chip_of_init); IRQCHIP_DECLARE(jz4780_intc, "ingenic,jz4780-intc", intc_2chip_of_init); --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-loongson-htvec.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-loongson-htvec.c @@ -109,11 +109,14 @@ static int htvec_domain_alloc(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs, void *arg) { + int ret; unsigned long hwirq; unsigned int type, i; struct htvec *priv = domain->host_data; - irq_domain_translate_onecell(domain, arg, &hwirq, &type); + ret = irq_domain_translate_onecell(domain, arg, &hwirq, &type); + if (ret) + return ret; for (i = 0; i < nr_irqs; i++) { irq_domain_set_info(domain, virq + i, hwirq + i, &htvec_irq_chip, @@ -149,7 +152,7 @@ /* Clear IRQ cause registers, mask all interrupts */ for (idx = 0; idx < VEC_REG_COUNT; idx++) { writel_relaxed(0x0, priv->base + HTVEC_EN_OFF + 4 * idx); - writel_relaxed(0xFFFFFFFF, priv->base); + writel_relaxed(0xFFFFFFFF, priv->base + 4 * idx); } } @@ -170,7 +173,7 @@ goto free_priv; } - /* Interrupt may come from any of the 4 interrupt line */ + /* Interrupt may come from any of the 8 interrupt lines */ for (i = 0; i < HTVEC_MAX_PARENT_IRQ; i++) { parent_irq[i] = irq_of_parse_and_map(node, i); if (parent_irq[i] <= 0) @@ -192,7 +195,7 @@ if (!priv->htvec_domain) { pr_err("Failed to create IRQ domain\n"); err = -ENOMEM; - goto iounmap_base; + goto irq_dispose; } htvec_reset(priv); @@ -203,6 +206,9 @@ return 0; +irq_dispose: + for (; i > 0; i--) + irq_dispose_mapping(parent_irq[i - 1]); iounmap_base: iounmap(priv->base); free_priv: --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-loongson-liointc.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-loongson-liointc.c @@ -60,7 +60,7 @@ if (!pending) { /* Always blame LPC IRQ if we have that bug */ if (handler->priv->has_lpc_irq_errata && - (handler->parent_int_map & ~gc->mask_cache & + (handler->parent_int_map & gc->mask_cache & BIT(LIOINTC_ERRATA_IRQ))) pending = BIT(LIOINTC_ERRATA_IRQ); else @@ -114,6 +114,7 @@ liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, false); break; default: + irq_gc_unlock_irqrestore(gc, flags); return -EINVAL; } irq_gc_unlock_irqrestore(gc, flags); @@ -131,11 +132,11 @@ irq_gc_lock_irqsave(gc, flags); /* Disable all at first */ writel(0xffffffff, gc->reg_base + LIOINTC_REG_INTC_DISABLE); - /* Revert map cache */ + /* Restore map cache */ for (i = 0; i < LIOINTC_CHIP_IRQ; i++) writeb(priv->map_cache[i], gc->reg_base + i); - /* Revert mask cache */ - writel(~gc->mask_cache, gc->reg_base + LIOINTC_REG_INTC_ENABLE); + /* Restore mask cache */ + writel(gc->mask_cache, gc->reg_base + LIOINTC_REG_INTC_ENABLE); irq_gc_unlock_irqrestore(gc, flags); } @@ -243,7 +244,7 @@ ct->chip.irq_mask_ack = irq_gc_mask_disable_reg; ct->chip.irq_set_type = liointc_set_type; - gc->mask_cache = 0xffffffff; + gc->mask_cache = 0; priv->gc = gc; for (i = 0; i < LIOINTC_NUM_PARENT; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-loongson-pch-msi.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-loongson-pch-msi.c @@ -230,7 +230,7 @@ goto err_priv; } - priv->msi_map = bitmap_alloc(priv->num_irqs, GFP_KERNEL); + priv->msi_map = bitmap_zalloc(priv->num_irqs, GFP_KERNEL); if (!priv->msi_map) { ret = -ENOMEM; goto err_priv; --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-loongson-pch-pic.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-loongson-pch-pic.c @@ -64,15 +64,6 @@ raw_spin_unlock(&priv->pic_lock); } -static void pch_pic_eoi_irq(struct irq_data *d) -{ - u32 idx = PIC_REG_IDX(d->hwirq); - struct pch_pic *priv = irq_data_get_irq_chip_data(d); - - writel(BIT(PIC_REG_BIT(d->hwirq)), - priv->base + PCH_PIC_CLR + idx * 4); -} - static void pch_pic_mask_irq(struct irq_data *d) { struct pch_pic *priv = irq_data_get_irq_chip_data(d); @@ -85,6 +76,9 @@ { struct pch_pic *priv = irq_data_get_irq_chip_data(d); + writel(BIT(PIC_REG_BIT(d->hwirq)), + priv->base + PCH_PIC_CLR + PIC_REG_IDX(d->hwirq) * 4); + irq_chip_unmask_parent(d); pch_pic_bitclr(priv, PCH_PIC_MASK, d->hwirq); } @@ -124,7 +118,6 @@ .irq_mask = pch_pic_mask_irq, .irq_unmask = pch_pic_unmask_irq, .irq_ack = irq_chip_ack_parent, - .irq_eoi = pch_pic_eoi_irq, .irq_set_affinity = irq_chip_set_affinity_parent, .irq_set_type = pch_pic_set_type, }; @@ -135,22 +128,25 @@ int err; unsigned int type; unsigned long hwirq; - struct irq_fwspec fwspec; + struct irq_fwspec *fwspec = arg; + struct irq_fwspec parent_fwspec; struct pch_pic *priv = domain->host_data; - irq_domain_translate_twocell(domain, arg, &hwirq, &type); + err = irq_domain_translate_twocell(domain, fwspec, &hwirq, &type); + if (err) + return err; - fwspec.fwnode = domain->parent->fwnode; - fwspec.param_count = 1; - fwspec.param[0] = hwirq + priv->ht_vec_base; + parent_fwspec.fwnode = domain->parent->fwnode; + parent_fwspec.param_count = 1; + parent_fwspec.param[0] = hwirq + priv->ht_vec_base; - err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); + err = irq_domain_alloc_irqs_parent(domain, virq, 1, &parent_fwspec); if (err) return err; irq_domain_set_info(domain, virq, hwirq, &pch_pic_irq_chip, priv, - handle_fasteoi_ack_irq, NULL, NULL); + handle_level_irq, NULL, NULL); irq_set_probe(virq); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-mips-cpu.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-mips-cpu.c @@ -197,6 +197,13 @@ if (ret) return ret; + ret = irq_domain_set_hwirq_and_chip(domain->parent, virq + i, hwirq, + &mips_mt_cpu_irq_controller, + NULL); + + if (ret) + return ret; + ret = irq_set_irq_type(virq + i, IRQ_TYPE_LEVEL_HIGH); if (ret) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-mtk-sysirq.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-mtk-sysirq.c @@ -15,7 +15,7 @@ #include struct mtk_sysirq_chip_data { - spinlock_t lock; + raw_spinlock_t lock; u32 nr_intpol_bases; void __iomem **intpol_bases; u32 *intpol_words; @@ -37,7 +37,7 @@ reg_index = chip_data->which_word[hwirq]; offset = hwirq & 0x1f; - spin_lock_irqsave(&chip_data->lock, flags); + raw_spin_lock_irqsave(&chip_data->lock, flags); value = readl_relaxed(base + reg_index * 4); if (type == IRQ_TYPE_LEVEL_LOW || type == IRQ_TYPE_EDGE_FALLING) { if (type == IRQ_TYPE_LEVEL_LOW) @@ -53,7 +53,7 @@ data = data->parent_data; ret = data->chip->irq_set_type(data, type); - spin_unlock_irqrestore(&chip_data->lock, flags); + raw_spin_unlock_irqrestore(&chip_data->lock, flags); return ret; } @@ -212,7 +212,7 @@ ret = -ENOMEM; goto out_free_which_word; } - spin_lock_init(&chip_data->lock); + raw_spin_lock_init(&chip_data->lock); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-sifive-plic.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-sifive-plic.c @@ -99,7 +99,7 @@ struct irq_data *d, int enable) { int cpu; - struct plic_priv *priv = irq_get_chip_data(d->irq); + struct plic_priv *priv = irq_data_get_irq_chip_data(d); writel(enable, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); for_each_cpu(cpu, mask) { @@ -115,7 +115,7 @@ { struct cpumask amask; unsigned int cpu; - struct plic_priv *priv = irq_get_chip_data(d->irq); + struct plic_priv *priv = irq_data_get_irq_chip_data(d); cpumask_and(&amask, &priv->lmask, cpu_online_mask); cpu = cpumask_any_and(irq_data_get_affinity_mask(d), @@ -127,7 +127,7 @@ static void plic_irq_mask(struct irq_data *d) { - struct plic_priv *priv = irq_get_chip_data(d->irq); + struct plic_priv *priv = irq_data_get_irq_chip_data(d); plic_irq_toggle(&priv->lmask, d, 0); } @@ -138,7 +138,7 @@ { unsigned int cpu; struct cpumask amask; - struct plic_priv *priv = irq_get_chip_data(d->irq); + struct plic_priv *priv = irq_data_get_irq_chip_data(d); cpumask_and(&amask, &priv->lmask, mask_val); @@ -151,7 +151,7 @@ return -EINVAL; plic_irq_toggle(&priv->lmask, d, 0); - plic_irq_toggle(cpumask_of(cpu), d, 1); + plic_irq_toggle(cpumask_of(cpu), d, !irqd_irq_masked(d)); irq_data_update_effective_affinity(d, cpumask_of(cpu)); --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-sni-exiu.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-sni-exiu.c @@ -136,7 +136,7 @@ if (fwspec->param_count != 2) return -EINVAL; *hwirq = fwspec->param[0]; - *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; + *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK; } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-stm32-exti.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-stm32-exti.c @@ -431,6 +431,16 @@ irq_gc_unlock(gc); } +/* directly set the target bit without reading first. */ +static inline void stm32_exti_write_bit(struct irq_data *d, u32 reg) +{ + struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); + void __iomem *base = chip_data->host_data->base; + u32 val = BIT(d->hwirq % IRQS_PER_BANK); + + writel_relaxed(val, base + reg); +} + static inline u32 stm32_exti_set_bit(struct irq_data *d, u32 reg) { struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); @@ -464,9 +474,9 @@ raw_spin_lock(&chip_data->rlock); - stm32_exti_set_bit(d, stm32_bank->rpr_ofst); + stm32_exti_write_bit(d, stm32_bank->rpr_ofst); if (stm32_bank->fpr_ofst != UNDEF_REG) - stm32_exti_set_bit(d, stm32_bank->fpr_ofst); + stm32_exti_write_bit(d, stm32_bank->fpr_ofst); raw_spin_unlock(&chip_data->rlock); --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/irq-ti-sci-inta.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/irq-ti-sci-inta.c @@ -572,7 +572,7 @@ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); inta->base = devm_ioremap_resource(dev, res); if (IS_ERR(inta->base)) - return -ENODEV; + return PTR_ERR(inta->base); domain = irq_domain_add_linear(dev_of_node(dev), ti_sci_get_num_resources(inta->vint), --- linux-riscv-5.8-5.8.0.orig/drivers/irqchip/qcom-pdc.c +++ linux-riscv-5.8-5.8.0/drivers/irqchip/qcom-pdc.c @@ -159,6 +159,8 @@ { int pin_out = d->hwirq; enum pdc_irq_config_bits pdc_type; + enum pdc_irq_config_bits old_pdc_type; + int ret; if (pin_out == GPIO_NO_WAKE_IRQ) return 0; @@ -187,9 +189,26 @@ return -EINVAL; } + old_pdc_type = pdc_reg_read(IRQ_i_CFG, pin_out); pdc_reg_write(IRQ_i_CFG, pin_out, pdc_type); - return irq_chip_set_type_parent(d, type); + ret = irq_chip_set_type_parent(d, type); + if (ret) + return ret; + + /* + * When we change types the PDC can give a phantom interrupt. + * Clear it. Specifically the phantom shows up when reconfiguring + * polarity of interrupt without changing the state of the signal + * but let's be consistent and clear it always. + * + * Doing this works because we have IRQCHIP_SET_TYPE_MASKED so the + * interrupt will be cleared before the rest of the system sees it. + */ + if (old_pdc_type != pdc_type) + irq_chip_set_parent_state(d, IRQCHIP_STATE_PENDING, false); + + return 0; } static struct irq_chip qcom_pdc_gic_chip = { --- linux-riscv-5.8-5.8.0.orig/drivers/isdn/hardware/mISDN/mISDNipac.c +++ linux-riscv-5.8-5.8.0/drivers/isdn/hardware/mISDN/mISDNipac.c @@ -694,7 +694,7 @@ { if (isac->type & IPAC_TYPE_ISACX) WriteISAC(isac, ISACX_MASK, 0xff); - else + else if (isac->type != 0) WriteISAC(isac, ISAC_MASK, 0xff); if (isac->dch.timer.function != NULL) { del_timer(&isac->dch.timer); --- linux-riscv-5.8-5.8.0.orig/drivers/isdn/mISDN/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/isdn/mISDN/Kconfig @@ -13,6 +13,7 @@ config MISDN_DSP tristate "Digital Audio Processing of transparent data" depends on MISDN + select BITREVERSE help Enable support for digital audio processing capability. --- linux-riscv-5.8-5.8.0.orig/drivers/leds/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/leds/Kconfig @@ -378,7 +378,6 @@ tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501" depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 || LEDS_LP8501 select FW_LOADER - select FW_LOADER_USER_HELPER help This option supports common operations for LP5521/5523/55231/5562/8501 devices. --- linux-riscv-5.8-5.8.0.orig/drivers/leds/led-class.c +++ linux-riscv-5.8-5.8.0/drivers/leds/led-class.c @@ -173,6 +173,7 @@ { led_cdev->flags |= LED_SUSPENDED; led_set_brightness_nopm(led_cdev, 0); + flush_work(&led_cdev->set_brightness_work); } EXPORT_SYMBOL_GPL(led_classdev_suspend); --- linux-riscv-5.8-5.8.0.orig/drivers/leds/led-triggers.c +++ linux-riscv-5.8-5.8.0/drivers/leds/led-triggers.c @@ -364,14 +364,15 @@ enum led_brightness brightness) { struct led_classdev *led_cdev; + unsigned long flags; if (!trig) return; - read_lock(&trig->leddev_list_lock); + read_lock_irqsave(&trig->leddev_list_lock, flags); list_for_each_entry(led_cdev, &trig->led_cdevs, trig_list) led_set_brightness(led_cdev, brightness); - read_unlock(&trig->leddev_list_lock); + read_unlock_irqrestore(&trig->leddev_list_lock, flags); } EXPORT_SYMBOL_GPL(led_trigger_event); @@ -382,11 +383,12 @@ int invert) { struct led_classdev *led_cdev; + unsigned long flags; if (!trig) return; - read_lock(&trig->leddev_list_lock); + read_lock_irqsave(&trig->leddev_list_lock, flags); list_for_each_entry(led_cdev, &trig->led_cdevs, trig_list) { if (oneshot) led_blink_set_oneshot(led_cdev, delay_on, delay_off, @@ -394,7 +396,7 @@ else led_blink_set(led_cdev, delay_on, delay_off); } - read_unlock(&trig->leddev_list_lock); + read_unlock_irqrestore(&trig->leddev_list_lock, flags); } void led_trigger_blink(struct led_trigger *trig, --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-88pm860x.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-88pm860x.c @@ -203,21 +203,33 @@ data->cdev.brightness_set_blocking = pm860x_led_set; mutex_init(&data->lock); - ret = devm_led_classdev_register(chip->dev, &data->cdev); + ret = led_classdev_register(chip->dev, &data->cdev); if (ret < 0) { dev_err(&pdev->dev, "Failed to register LED: %d\n", ret); return ret; } pm860x_led_set(&data->cdev, 0); + + platform_set_drvdata(pdev, data); + return 0; } +static int pm860x_led_remove(struct platform_device *pdev) +{ + struct pm860x_led *data = platform_get_drvdata(pdev); + + led_classdev_unregister(&data->cdev); + + return 0; +} static struct platform_driver pm860x_led_driver = { .driver = { .name = "88pm860x-led", }, .probe = pm860x_led_probe, + .remove = pm860x_led_remove, }; module_platform_driver(pm860x_led_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-bcm6328.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-bcm6328.c @@ -332,7 +332,7 @@ led->cdev.brightness_set = bcm6328_led_set; led->cdev.blink_set = bcm6328_blink_set; - rc = led_classdev_register(dev, &led->cdev); + rc = devm_led_classdev_register(dev, &led->cdev); if (rc < 0) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-bcm6358.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-bcm6358.c @@ -137,7 +137,7 @@ led->cdev.brightness_set = bcm6358_led_set; - rc = led_classdev_register(dev, &led->cdev); + rc = devm_led_classdev_register(dev, &led->cdev); if (rc < 0) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-da903x.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-da903x.c @@ -110,12 +110,23 @@ led->flags = pdata->flags; led->master = pdev->dev.parent; - ret = devm_led_classdev_register(led->master, &led->cdev); + ret = led_classdev_register(led->master, &led->cdev); if (ret) { dev_err(&pdev->dev, "failed to register LED %d\n", id); return ret; } + platform_set_drvdata(pdev, led); + + return 0; +} + +static int da903x_led_remove(struct platform_device *pdev) +{ + struct da903x_led *led = platform_get_drvdata(pdev); + + led_classdev_unregister(&led->cdev); + return 0; } @@ -124,6 +135,7 @@ .name = "da903x-led", }, .probe = da903x_led_probe, + .remove = da903x_led_remove, }; module_platform_driver(da903x_led_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-lm3533.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-lm3533.c @@ -694,7 +694,7 @@ platform_set_drvdata(pdev, led); - ret = devm_led_classdev_register(pdev->dev.parent, &led->cdev); + ret = led_classdev_register(pdev->dev.parent, &led->cdev); if (ret) { dev_err(&pdev->dev, "failed to register LED %d\n", pdev->id); return ret; @@ -704,13 +704,18 @@ ret = lm3533_led_setup(led, pdata); if (ret) - return ret; + goto err_deregister; ret = lm3533_ctrlbank_enable(&led->cb); if (ret) - return ret; + goto err_deregister; return 0; + +err_deregister: + led_classdev_unregister(&led->cdev); + + return ret; } static int lm3533_led_remove(struct platform_device *pdev) @@ -720,6 +725,7 @@ dev_dbg(&pdev->dev, "%s\n", __func__); lm3533_ctrlbank_disable(&led->cb); + led_classdev_unregister(&led->cdev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-lm355x.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-lm355x.c @@ -164,18 +164,19 @@ /* input and output pins configuration */ switch (chip->type) { case CHIP_LM3554: - reg_val = pdata->pin_tx2 | pdata->ntc_pin; + reg_val = (u32)pdata->pin_tx2 | (u32)pdata->ntc_pin; ret = regmap_update_bits(chip->regmap, 0xE0, 0x28, reg_val); if (ret < 0) goto out; - reg_val = pdata->pass_mode; + reg_val = (u32)pdata->pass_mode; ret = regmap_update_bits(chip->regmap, 0xA0, 0x04, reg_val); if (ret < 0) goto out; break; case CHIP_LM3556: - reg_val = pdata->pin_tx2 | pdata->ntc_pin | pdata->pass_mode; + reg_val = (u32)pdata->pin_tx2 | (u32)pdata->ntc_pin | + (u32)pdata->pass_mode; ret = regmap_update_bits(chip->regmap, 0x0A, 0xC4, reg_val); if (ret < 0) goto out; --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-lm36274.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-lm36274.c @@ -133,7 +133,7 @@ lm36274_data->pdev = pdev; lm36274_data->dev = lmu->dev; lm36274_data->regmap = lmu->regmap; - dev_set_drvdata(&pdev->dev, lm36274_data); + platform_set_drvdata(pdev, lm36274_data); ret = lm36274_parse_dt(lm36274_data); if (ret) { @@ -147,8 +147,16 @@ return ret; } - return devm_led_classdev_register(lm36274_data->dev, - &lm36274_data->led_dev); + return led_classdev_register(lm36274_data->dev, &lm36274_data->led_dev); +} + +static int lm36274_remove(struct platform_device *pdev) +{ + struct lm36274 *lm36274_data = platform_get_drvdata(pdev); + + led_classdev_unregister(&lm36274_data->led_dev); + + return 0; } static const struct of_device_id of_lm36274_leds_match[] = { @@ -159,6 +167,7 @@ static struct platform_driver lm36274_driver = { .probe = lm36274_probe, + .remove = lm36274_remove, .driver = { .name = "lm36274-leds", }, --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-lm3697.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-lm3697.c @@ -78,6 +78,7 @@ struct mutex lock; int bank_cfg; + int num_banks; struct lm3697_led leds[]; }; @@ -180,7 +181,7 @@ if (ret) dev_err(&priv->client->dev, "Cannot write OUTPUT config\n"); - for (i = 0; i < LM3697_MAX_CONTROL_BANKS; i++) { + for (i = 0; i < priv->num_banks; i++) { led = &priv->leds[i]; ret = ti_lmu_common_set_ramp(&led->lmu_data); if (ret) @@ -307,8 +308,8 @@ int ret; count = device_get_child_node_count(&client->dev); - if (!count) { - dev_err(&client->dev, "LEDs are not defined in device tree!"); + if (!count || count > LM3697_MAX_CONTROL_BANKS) { + dev_err(&client->dev, "Strange device tree!"); return -ENODEV; } @@ -322,6 +323,7 @@ led->client = client; led->dev = &client->dev; + led->num_banks = count; led->regmap = devm_regmap_init_i2c(client, &lm3697_regmap_config); if (IS_ERR(led->regmap)) { ret = PTR_ERR(led->regmap); --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-netxbig.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-netxbig.c @@ -448,31 +448,39 @@ gpio_ext = devm_kzalloc(dev, sizeof(*gpio_ext), GFP_KERNEL); if (!gpio_ext) { of_node_put(gpio_ext_np); - return -ENOMEM; + ret = -ENOMEM; + goto put_device; } ret = netxbig_gpio_ext_get(dev, gpio_ext_dev, gpio_ext); of_node_put(gpio_ext_np); if (ret) - return ret; + goto put_device; pdata->gpio_ext = gpio_ext; /* Timers (optional) */ ret = of_property_count_u32_elems(np, "timers"); if (ret > 0) { - if (ret % 3) - return -EINVAL; + if (ret % 3) { + ret = -EINVAL; + goto put_device; + } + num_timers = ret / 3; timers = devm_kcalloc(dev, num_timers, sizeof(*timers), GFP_KERNEL); - if (!timers) - return -ENOMEM; + if (!timers) { + ret = -ENOMEM; + goto put_device; + } for (i = 0; i < num_timers; i++) { u32 tmp; of_property_read_u32_index(np, "timers", 3 * i, &timers[i].mode); - if (timers[i].mode >= NETXBIG_LED_MODE_NUM) - return -EINVAL; + if (timers[i].mode >= NETXBIG_LED_MODE_NUM) { + ret = -EINVAL; + goto put_device; + } of_property_read_u32_index(np, "timers", 3 * i + 1, &tmp); timers[i].delay_on = tmp; @@ -488,12 +496,15 @@ num_leds = of_get_child_count(np); if (!num_leds) { dev_err(dev, "No LED subnodes found in DT\n"); - return -ENODEV; + ret = -ENODEV; + goto put_device; } leds = devm_kcalloc(dev, num_leds, sizeof(*leds), GFP_KERNEL); - if (!leds) - return -ENOMEM; + if (!leds) { + ret = -ENOMEM; + goto put_device; + } led = leds; for_each_child_of_node(np, child) { @@ -574,6 +585,8 @@ err_node_put: of_node_put(child); +put_device: + put_device(gpio_ext_dev); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/leds/leds-wm831x-status.c +++ linux-riscv-5.8-5.8.0/drivers/leds/leds-wm831x-status.c @@ -269,12 +269,23 @@ drvdata->cdev.blink_set = wm831x_status_blink_set; drvdata->cdev.groups = wm831x_status_groups; - ret = devm_led_classdev_register(wm831x->dev, &drvdata->cdev); + ret = led_classdev_register(wm831x->dev, &drvdata->cdev); if (ret < 0) { dev_err(&pdev->dev, "Failed to register LED: %d\n", ret); return ret; } + platform_set_drvdata(pdev, drvdata); + + return 0; +} + +static int wm831x_status_remove(struct platform_device *pdev) +{ + struct wm831x_status *drvdata = platform_get_drvdata(pdev); + + led_classdev_unregister(&drvdata->cdev); + return 0; } @@ -283,6 +294,7 @@ .name = "wm831x-status", }, .probe = wm831x_status_probe, + .remove = wm831x_status_remove, }; module_platform_driver(wm831x_status_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/lightnvm/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/lightnvm/Kconfig @@ -19,6 +19,7 @@ config NVM_PBLK tristate "Physical Block Device Open-Channel SSD target" + select CRC32 help Allows an open-channel SSD to be exposed as a block device to the host. The target assumes the device exposes raw flash and must be --- linux-riscv-5.8-5.8.0.orig/drivers/lightnvm/core.c +++ linux-riscv-5.8-5.8.0/drivers/lightnvm/core.c @@ -848,11 +848,10 @@ rqd.ppa_addr = generic_to_dev_addr(dev, ppa); ret = nvm_submit_io_sync_raw(dev, &rqd); + __free_page(page); if (ret) return ret; - __free_page(page); - return rqd.error; } @@ -1315,8 +1314,9 @@ strlcpy(info->bmname, "gennvm", sizeof(info->bmname)); i++; - if (i > 31) { - pr_err("max 31 devices can be reported.\n"); + if (i >= ARRAY_SIZE(devices->info)) { + pr_err("max %zd devices can be reported.\n", + ARRAY_SIZE(devices->info)); break; } } --- linux-riscv-5.8-5.8.0.orig/drivers/macintosh/via-macii.c +++ linux-riscv-5.8-5.8.0/drivers/macintosh/via-macii.c @@ -270,15 +270,12 @@ unsigned long flags; int err = 0; + local_irq_save(flags); + /* bit 1 == device 1, and so on. */ autopoll_devs = devs & 0xFFFE; - if (!autopoll_devs) - return 0; - - local_irq_save(flags); - - if (current_req == NULL) { + if (autopoll_devs && !current_req) { /* Send a Talk Reg 0. The controller will repeatedly transmit * this as long as it is idle. */ --- linux-riscv-5.8-5.8.0.orig/drivers/mailbox/mailbox.c +++ linux-riscv-5.8-5.8.0/drivers/mailbox/mailbox.c @@ -82,9 +82,12 @@ exit: spin_unlock_irqrestore(&chan->lock, flags); - if (!err && (chan->txdone_method & TXDONE_BY_POLL)) - /* kick start the timer immediately to avoid delays */ - hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); + /* kick start the timer immediately to avoid delays */ + if (!err && (chan->txdone_method & TXDONE_BY_POLL)) { + /* but only if not already active */ + if (!hrtimer_active(&chan->mbox->poll_hrt)) + hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); + } } static void tx_tick(struct mbox_chan *chan, int r) @@ -122,11 +125,10 @@ struct mbox_chan *chan = &mbox->chans[i]; if (chan->active_req && chan->cl) { + resched = true; txdone = chan->mbox->ops->last_tx_done(chan); if (txdone) tx_tick(chan, 0); - else - resched = true; } } --- linux-riscv-5.8-5.8.0.orig/drivers/mailbox/mtk-cmdq-mailbox.c +++ linux-riscv-5.8-5.8.0/drivers/mailbox/mtk-cmdq-mailbox.c @@ -69,7 +69,7 @@ struct cmdq { struct mbox_controller mbox; void __iomem *base; - u32 irq; + int irq; u32 thread_nr; u32 irq_mask; struct cmdq_thread *thread; @@ -466,10 +466,8 @@ } cmdq->irq = platform_get_irq(pdev, 0); - if (!cmdq->irq) { - dev_err(dev, "failed to get irq\n"); - return -EINVAL; - } + if (cmdq->irq < 0) + return cmdq->irq; cmdq->thread_nr = (u32)(unsigned long)of_device_get_match_data(dev); cmdq->irq_mask = GENMASK(cmdq->thread_nr - 1, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/mailbox/sprd-mailbox.c +++ linux-riscv-5.8-5.8.0/drivers/mailbox/sprd-mailbox.c @@ -35,7 +35,7 @@ #define SPRD_MBOX_IRQ_CLR BIT(0) /* Bit and mask definiation for outbox's SPRD_MBOX_FIFO_STS register */ -#define SPRD_OUTBOX_FIFO_FULL BIT(0) +#define SPRD_OUTBOX_FIFO_FULL BIT(2) #define SPRD_OUTBOX_FIFO_WR_SHIFT 16 #define SPRD_OUTBOX_FIFO_RD_SHIFT 24 #define SPRD_OUTBOX_FIFO_POS_MASK GENMASK(7, 0) --- linux-riscv-5.8-5.8.0.orig/drivers/md/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/md/Kconfig @@ -585,6 +585,7 @@ select BLK_DEV_INTEGRITY select DM_BUFIO select CRYPTO + select CRYPTO_SKCIPHER select ASYNC_XOR help This device-mapper target emulates a block device that has @@ -602,6 +603,7 @@ tristate "Drive-managed zoned block device target support" depends on BLK_DEV_DM depends on BLK_DEV_ZONED + select CRC32 help This device-mapper target takes a host-managed or host-aware zoned block device and exposes most of its capacity as a regular block --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/bcache.h +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/bcache.h @@ -264,7 +264,7 @@ #define BCACHE_DEV_UNLINK_DONE 2 #define BCACHE_DEV_WB_RUNNING 3 #define BCACHE_DEV_RATE_DW_RUNNING 4 - unsigned int nr_stripes; + int nr_stripes; unsigned int stripe_size; atomic_t *stripe_sectors_dirty; unsigned long *full_dirty_stripes; @@ -373,6 +373,7 @@ unsigned int partial_stripes_expensive:1; unsigned int writeback_metadata:1; unsigned int writeback_running:1; + unsigned int writeback_consider_fragment:1; unsigned char writeback_percent; unsigned int writeback_delay; @@ -385,6 +386,9 @@ unsigned int writeback_rate_update_seconds; unsigned int writeback_rate_i_term_inverse; unsigned int writeback_rate_p_term_inverse; + unsigned int writeback_rate_fp_term_low; + unsigned int writeback_rate_fp_term_mid; + unsigned int writeback_rate_fp_term_high; unsigned int writeback_rate_minimum; enum stop_on_failure stop_when_cache_set_failed; @@ -989,6 +993,7 @@ extern struct workqueue_struct *bcache_wq; extern struct workqueue_struct *bch_journal_wq; +extern struct workqueue_struct *bch_flush_wq; extern struct mutex bch_register_lock; extern struct list_head bch_cache_sets; @@ -1030,5 +1035,7 @@ void bch_debug_init(void); void bch_request_exit(void); int bch_request_init(void); +void bch_btree_exit(void); +int bch_btree_init(void); #endif /* _BCACHE_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/bset.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/bset.c @@ -322,7 +322,7 @@ b->page_order = page_order; - t->data = (void *) __get_free_pages(gfp, b->page_order); + t->data = (void *) __get_free_pages(__GFP_COMP|gfp, b->page_order); if (!t->data) goto err; --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/btree.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/btree.c @@ -99,6 +99,8 @@ #define PTR_HASH(c, k) \ (((k)->ptr[0] >> c->bucket_bits) | PTR_GEN(k, 0)) +static struct workqueue_struct *btree_io_wq; + #define insert_lock(s, b) ((b)->level <= (s)->lock) @@ -308,7 +310,7 @@ btree_complete_write(b, w); if (btree_node_dirty(b)) - schedule_delayed_work(&b->work, 30 * HZ); + queue_delayed_work(btree_io_wq, &b->work, 30 * HZ); closure_return_with_destructor(cl, btree_node_write_unlock); } @@ -481,7 +483,7 @@ BUG_ON(!i->keys); if (!btree_node_dirty(b)) - schedule_delayed_work(&b->work, 30 * HZ); + queue_delayed_work(btree_io_wq, &b->work, 30 * HZ); set_btree_node_dirty(b); @@ -785,7 +787,7 @@ mutex_init(&c->verify_lock); c->verify_ondisk = (void *) - __get_free_pages(GFP_KERNEL, ilog2(bucket_pages(c))); + __get_free_pages(GFP_KERNEL|__GFP_COMP, ilog2(bucket_pages(c))); c->verify_data = mca_bucket_alloc(c, &ZERO_KEY, GFP_KERNEL); @@ -2764,3 +2766,18 @@ spin_lock_init(&buf->lock); array_allocator_init(&buf->freelist); } + +void bch_btree_exit(void) +{ + if (btree_io_wq) + destroy_workqueue(btree_io_wq); +} + +int __init bch_btree_init(void) +{ + btree_io_wq = alloc_workqueue("bch_btree_io", WQ_MEM_RECLAIM, 0); + if (!btree_io_wq) + return -ENOMEM; + + return 0; +} --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/journal.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/journal.c @@ -955,8 +955,8 @@ journal_try_write(c); } else if (!w->dirty) { w->dirty = true; - schedule_delayed_work(&c->journal.work, - msecs_to_jiffies(c->journal_delay_ms)); + queue_delayed_work(bch_flush_wq, &c->journal.work, + msecs_to_jiffies(c->journal_delay_ms)); spin_unlock(&c->journal.lock); } else { spin_unlock(&c->journal.lock); @@ -999,8 +999,8 @@ j->w[1].c = c; if (!(init_fifo(&j->pin, JOURNAL_PIN, GFP_KERNEL)) || - !(j->w[0].data = (void *) __get_free_pages(GFP_KERNEL, JSET_BITS)) || - !(j->w[1].data = (void *) __get_free_pages(GFP_KERNEL, JSET_BITS))) + !(j->w[0].data = (void *) __get_free_pages(GFP_KERNEL|__GFP_COMP, JSET_BITS)) || + !(j->w[1].data = (void *) __get_free_pages(GFP_KERNEL|__GFP_COMP, JSET_BITS))) return -ENOMEM; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/request.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/request.c @@ -668,7 +668,9 @@ static void bio_complete(struct search *s) { if (s->orig_bio) { - bio_end_io_acct(s->orig_bio, s->start_time); + /* Count on bcache device */ + disk_end_io_acct(s->d->disk, bio_op(s->orig_bio), s->start_time); + trace_bcache_request_end(s->d, s->orig_bio); s->orig_bio->bi_status = s->iop.status; bio_endio(s->orig_bio); @@ -728,8 +730,8 @@ s->recoverable = 1; s->write = op_is_write(bio_op(bio)); s->read_dirty_data = 0; - s->start_time = bio_start_io_acct(bio); - + /* Count on the bcache device */ + s->start_time = disk_start_io_acct(d->disk, bio_sectors(bio), bio_op(bio)); s->iop.c = d->c; s->iop.bio = NULL; s->iop.inode = d->id; @@ -1080,7 +1082,8 @@ bio->bi_end_io = ddip->bi_end_io; bio->bi_private = ddip->bi_private; - bio_end_io_acct(bio, ddip->start_time); + /* Count on the bcache device */ + disk_end_io_acct(ddip->d->disk, bio_op(bio), ddip->start_time); if (bio->bi_status) { struct cached_dev *dc = container_of(ddip->d, @@ -1105,7 +1108,8 @@ */ ddip = kzalloc(sizeof(struct detached_dev_io_private), GFP_NOIO); ddip->d = d; - ddip->start_time = bio_start_io_acct(bio); + /* Count on the bcache device */ + ddip->start_time = disk_start_io_acct(d->disk, bio_sectors(bio), bio_op(bio)); ddip->bi_end_io = bio->bi_end_io; ddip->bi_private = bio->bi_private; bio->bi_end_io = detached_dev_end_io; --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/super.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/super.c @@ -48,6 +48,7 @@ static DEFINE_IDA(bcache_device_idx); static wait_queue_head_t unregister_wait; struct workqueue_struct *bcache_wq; +struct workqueue_struct *bch_flush_wq; struct workqueue_struct *bch_journal_wq; @@ -826,19 +827,19 @@ struct request_queue *q; const size_t max_stripes = min_t(size_t, INT_MAX, SIZE_MAX / sizeof(atomic_t)); - size_t n; + uint64_t n; int idx; if (!d->stripe_size) d->stripe_size = 1 << 31; - d->nr_stripes = DIV_ROUND_UP_ULL(sectors, d->stripe_size); - - if (!d->nr_stripes || d->nr_stripes > max_stripes) { - pr_err("nr_stripes too large or invalid: %u (start sector beyond end of disk?)\n", - (unsigned int)d->nr_stripes); + n = DIV_ROUND_UP_ULL(sectors, d->stripe_size); + if (!n || n > max_stripes) { + pr_err("nr_stripes too large or invalid: %llu (start sector beyond end of disk?)\n", + n); return -ENOMEM; } + d->nr_stripes = n; n = d->nr_stripes * sizeof(atomic_t); d->stripe_sectors_dirty = kvzalloc(n, GFP_KERNEL); @@ -1776,7 +1777,7 @@ } #define alloc_bucket_pages(gfp, c) \ - ((void *) __get_free_pages(__GFP_ZERO|gfp, ilog2(bucket_pages(c)))) + ((void *) __get_free_pages(__GFP_ZERO|__GFP_COMP|gfp, ilog2(bucket_pages(c)))) struct cache_set *bch_cache_set_alloc(struct cache_sb *sb) { @@ -2100,7 +2101,14 @@ sysfs_create_link(&c->kobj, &ca->kobj, buf)) goto err; - if (ca->sb.seq > c->sb.seq) { + /* + * A special case is both ca->sb.seq and c->sb.seq are 0, + * such condition happens on a new created cache device whose + * super block is never flushed yet. In this case c->sb.version + * and other members should be updated too, otherwise we will + * have a mistaken super block version in cache set. + */ + if (ca->sb.seq > c->sb.seq || c->sb.seq == 0) { c->sb.version = ca->sb.version; memcpy(c->sb.set_uuid, ca->sb.set_uuid, 16); c->sb.flags = ca->sb.flags; @@ -2744,6 +2752,9 @@ destroy_workqueue(bcache_wq); if (bch_journal_wq) destroy_workqueue(bch_journal_wq); + if (bch_flush_wq) + destroy_workqueue(bch_flush_wq); + bch_btree_exit(); if (bcache_major) unregister_blkdev(bcache_major, "bcache"); @@ -2802,10 +2813,26 @@ return bcache_major; } + if (bch_btree_init()) + goto err; + bcache_wq = alloc_workqueue("bcache", WQ_MEM_RECLAIM, 0); if (!bcache_wq) goto err; + /* + * Let's not make this `WQ_MEM_RECLAIM` for the following reasons: + * + * 1. It used `system_wq` before which also does no memory reclaim. + * 2. With `WQ_MEM_RECLAIM` desktop stalls, increased boot times, and + * reduced throughput can be observed. + * + * We still want to user our own queue to not congest the `system_wq`. + */ + bch_flush_wq = alloc_workqueue("bch_flush", 0, 0); + if (!bch_flush_wq) + goto err; + bch_journal_wq = alloc_workqueue("bch_journal", WQ_MEM_RECLAIM, 0); if (!bch_journal_wq) goto err; --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/sysfs.c @@ -113,10 +113,14 @@ rw_attribute(writeback_percent); rw_attribute(writeback_delay); rw_attribute(writeback_rate); +rw_attribute(writeback_consider_fragment); rw_attribute(writeback_rate_update_seconds); rw_attribute(writeback_rate_i_term_inverse); rw_attribute(writeback_rate_p_term_inverse); +rw_attribute(writeback_rate_fp_term_low); +rw_attribute(writeback_rate_fp_term_mid); +rw_attribute(writeback_rate_fp_term_high); rw_attribute(writeback_rate_minimum); read_attribute(writeback_rate_debug); @@ -191,6 +195,7 @@ var_printf(bypass_torture_test, "%i"); var_printf(writeback_metadata, "%i"); var_printf(writeback_running, "%i"); + var_printf(writeback_consider_fragment, "%i"); var_print(writeback_delay); var_print(writeback_percent); sysfs_hprint(writeback_rate, @@ -201,6 +206,9 @@ var_print(writeback_rate_update_seconds); var_print(writeback_rate_i_term_inverse); var_print(writeback_rate_p_term_inverse); + var_print(writeback_rate_fp_term_low); + var_print(writeback_rate_fp_term_mid); + var_print(writeback_rate_fp_term_high); var_print(writeback_rate_minimum); if (attr == &sysfs_writeback_rate_debug) { @@ -299,6 +307,7 @@ sysfs_strtoul_bool(bypass_torture_test, dc->bypass_torture_test); sysfs_strtoul_bool(writeback_metadata, dc->writeback_metadata); sysfs_strtoul_bool(writeback_running, dc->writeback_running); + sysfs_strtoul_bool(writeback_consider_fragment, dc->writeback_consider_fragment); sysfs_strtoul_clamp(writeback_delay, dc->writeback_delay, 0, UINT_MAX); sysfs_strtoul_clamp(writeback_percent, dc->writeback_percent, @@ -327,6 +336,16 @@ sysfs_strtoul_clamp(writeback_rate_p_term_inverse, dc->writeback_rate_p_term_inverse, 1, UINT_MAX); + sysfs_strtoul_clamp(writeback_rate_fp_term_low, + dc->writeback_rate_fp_term_low, + 1, dc->writeback_rate_fp_term_mid - 1); + sysfs_strtoul_clamp(writeback_rate_fp_term_mid, + dc->writeback_rate_fp_term_mid, + dc->writeback_rate_fp_term_low + 1, + dc->writeback_rate_fp_term_high - 1); + sysfs_strtoul_clamp(writeback_rate_fp_term_high, + dc->writeback_rate_fp_term_high, + dc->writeback_rate_fp_term_mid + 1, UINT_MAX); sysfs_strtoul_clamp(writeback_rate_minimum, dc->writeback_rate_minimum, 1, UINT_MAX); @@ -495,9 +514,13 @@ &sysfs_writeback_delay, &sysfs_writeback_percent, &sysfs_writeback_rate, + &sysfs_writeback_consider_fragment, &sysfs_writeback_rate_update_seconds, &sysfs_writeback_rate_i_term_inverse, &sysfs_writeback_rate_p_term_inverse, + &sysfs_writeback_rate_fp_term_low, + &sysfs_writeback_rate_fp_term_mid, + &sysfs_writeback_rate_fp_term_high, &sysfs_writeback_rate_minimum, &sysfs_writeback_rate_debug, &sysfs_io_errors, --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/writeback.c +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/writeback.c @@ -88,6 +88,44 @@ int64_t integral_scaled; uint32_t new_rate; + /* + * We need to consider the number of dirty buckets as well + * when calculating the proportional_scaled, Otherwise we might + * have an unreasonable small writeback rate at a highly fragmented situation + * when very few dirty sectors consumed a lot dirty buckets, the + * worst case is when dirty buckets reached cutoff_writeback_sync and + * dirty data is still not even reached to writeback percent, so the rate + * still will be at the minimum value, which will cause the write + * stuck at a non-writeback mode. + */ + struct cache_set *c = dc->disk.c; + + int64_t dirty_buckets = c->nbuckets - c->avail_nbuckets; + + if (dc->writeback_consider_fragment && + c->gc_stats.in_use > BCH_WRITEBACK_FRAGMENT_THRESHOLD_LOW && dirty > 0) { + int64_t fragment = + div_s64((dirty_buckets * c->sb.bucket_size), dirty); + int64_t fp_term; + int64_t fps; + + if (c->gc_stats.in_use <= BCH_WRITEBACK_FRAGMENT_THRESHOLD_MID) { + fp_term = dc->writeback_rate_fp_term_low * + (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_LOW); + } else if (c->gc_stats.in_use <= BCH_WRITEBACK_FRAGMENT_THRESHOLD_HIGH) { + fp_term = dc->writeback_rate_fp_term_mid * + (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_MID); + } else { + fp_term = dc->writeback_rate_fp_term_high * + (c->gc_stats.in_use - BCH_WRITEBACK_FRAGMENT_THRESHOLD_HIGH); + } + fps = div_s64(dirty, dirty_buckets) * fp_term; + if (fragment > 3 && fps > proportional_scaled) { + /* Only overrite the p when fragment > 3 */ + proportional_scaled = fps; + } + } + if ((error < 0 && dc->writeback_rate_integral > 0) || (error > 0 && time_before64(local_clock(), dc->writeback_rate.next + NSEC_PER_MSEC))) { @@ -523,15 +561,19 @@ uint64_t offset, int nr_sectors) { struct bcache_device *d = c->devices[inode]; - unsigned int stripe_offset, stripe, sectors_dirty; + unsigned int stripe_offset, sectors_dirty; + int stripe; if (!d) return; + stripe = offset_to_stripe(d, offset); + if (stripe < 0) + return; + if (UUID_FLASH_ONLY(&c->uuids[inode])) atomic_long_add(nr_sectors, &c->flash_dev_dirty_sectors); - stripe = offset_to_stripe(d, offset); stripe_offset = offset & (d->stripe_size - 1); while (nr_sectors) { @@ -571,12 +613,12 @@ static void refill_full_stripes(struct cached_dev *dc) { struct keybuf *buf = &dc->writeback_keys; - unsigned int start_stripe, stripe, next_stripe; + unsigned int start_stripe, next_stripe; + int stripe; bool wrapped = false; stripe = offset_to_stripe(&dc->disk, KEY_OFFSET(&buf->last_scanned)); - - if (stripe >= dc->disk.nr_stripes) + if (stripe < 0) stripe = 0; start_stripe = stripe; @@ -968,6 +1010,7 @@ dc->writeback_metadata = true; dc->writeback_running = false; + dc->writeback_consider_fragment = true; dc->writeback_percent = 10; dc->writeback_delay = 30; atomic_long_set(&dc->writeback_rate.rate, 1024); @@ -975,6 +1018,9 @@ dc->writeback_rate_update_seconds = WRITEBACK_RATE_UPDATE_SECS_DEFAULT; dc->writeback_rate_p_term_inverse = 40; + dc->writeback_rate_fp_term_low = 1; + dc->writeback_rate_fp_term_mid = 10; + dc->writeback_rate_fp_term_high = 1000; dc->writeback_rate_i_term_inverse = 10000; WARN_ON(test_and_clear_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)); --- linux-riscv-5.8-5.8.0.orig/drivers/md/bcache/writeback.h +++ linux-riscv-5.8-5.8.0/drivers/md/bcache/writeback.h @@ -16,6 +16,10 @@ #define BCH_AUTO_GC_DIRTY_THRESHOLD 50 +#define BCH_WRITEBACK_FRAGMENT_THRESHOLD_LOW 50 +#define BCH_WRITEBACK_FRAGMENT_THRESHOLD_MID 57 +#define BCH_WRITEBACK_FRAGMENT_THRESHOLD_HIGH 64 + #define BCH_DIRTY_INIT_THRD_MAX 64 /* * 14 (16384ths) is chosen here as something that each backing device @@ -52,10 +56,22 @@ return ret; } -static inline unsigned int offset_to_stripe(struct bcache_device *d, +static inline int offset_to_stripe(struct bcache_device *d, uint64_t offset) { do_div(offset, d->stripe_size); + + /* d->nr_stripes is in range [1, INT_MAX] */ + if (unlikely(offset >= d->nr_stripes)) { + pr_err("Invalid stripe %llu (>= nr_stripes %d).\n", + offset, d->nr_stripes); + return -EINVAL; + } + + /* + * Here offset is definitly smaller than INT_MAX, + * return it as int will never overflow. + */ return offset; } @@ -63,7 +79,10 @@ uint64_t offset, unsigned int nr_sectors) { - unsigned int stripe = offset_to_stripe(&dc->disk, offset); + int stripe = offset_to_stripe(&dc->disk, offset); + + if (stripe < 0) + return false; while (1) { if (atomic_read(dc->disk.stripe_sectors_dirty + stripe)) --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-bufio.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-bufio.c @@ -1523,6 +1523,10 @@ sector_t dm_bufio_get_device_size(struct dm_bufio_client *c) { sector_t s = i_size_read(c->bdev->bd_inode) >> SECTOR_SHIFT; + if (s >= c->start) + s -= c->start; + else + s = 0; if (likely(c->sectors_per_block_bits >= 0)) s >>= c->sectors_per_block_bits; else @@ -1531,6 +1535,12 @@ } EXPORT_SYMBOL_GPL(dm_bufio_get_device_size); +struct dm_io_client *dm_bufio_get_dm_io_client(struct dm_bufio_client *c) +{ + return c->dm_io; +} +EXPORT_SYMBOL_GPL(dm_bufio_get_dm_io_client); + sector_t dm_bufio_get_block_number(struct dm_buffer *b) { return b->block; --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-cache-metadata.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-cache-metadata.c @@ -537,12 +537,16 @@ CACHE_MAX_CONCURRENT_LOCKS); if (IS_ERR(cmd->bm)) { DMERR("could not create block manager"); - return PTR_ERR(cmd->bm); + r = PTR_ERR(cmd->bm); + cmd->bm = NULL; + return r; } r = __open_or_format_metadata(cmd, may_format_device); - if (r) + if (r) { dm_block_manager_destroy(cmd->bm); + cmd->bm = NULL; + } return r; } --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-core.h +++ linux-riscv-5.8-5.8.0/drivers/md/dm-core.h @@ -106,6 +106,10 @@ struct block_device *bdev; + int swap_bios; + struct semaphore swap_bios_semaphore; + struct mutex swap_bios_lock; + struct dm_stats stats; /* for blk-mq request-based DM support */ --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-crypt.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-crypt.c @@ -736,7 +736,7 @@ u8 buf[MAX_CIPHER_BLOCKSIZE] __aligned(__alignof__(__le64)); struct skcipher_request *req; struct scatterlist src, dst; - struct crypto_wait wait; + DECLARE_CRYPTO_WAIT(wait); int err; req = skcipher_request_alloc(any_tfm(cc), GFP_NOIO); @@ -933,7 +933,7 @@ u8 *es, *ks, *data, *data2, *data_offset; struct skcipher_request *req; struct scatterlist *sg, *sg2, src, dst; - struct crypto_wait wait; + DECLARE_CRYPTO_WAIT(wait); int i, r; req = skcipher_request_alloc(elephant->tfm, GFP_NOIO); @@ -1448,13 +1448,16 @@ static void kcryptd_async_done(struct crypto_async_request *async_req, int error); -static void crypt_alloc_req_skcipher(struct crypt_config *cc, +static int crypt_alloc_req_skcipher(struct crypt_config *cc, struct convert_context *ctx) { unsigned key_index = ctx->cc_sector & (cc->tfms_count - 1); - if (!ctx->r.req) - ctx->r.req = mempool_alloc(&cc->req_pool, GFP_NOIO); + if (!ctx->r.req) { + ctx->r.req = mempool_alloc(&cc->req_pool, in_interrupt() ? GFP_ATOMIC : GFP_NOIO); + if (!ctx->r.req) + return -ENOMEM; + } skcipher_request_set_tfm(ctx->r.req, cc->cipher_tfm.tfms[key_index]); @@ -1465,13 +1468,18 @@ skcipher_request_set_callback(ctx->r.req, CRYPTO_TFM_REQ_MAY_BACKLOG, kcryptd_async_done, dmreq_of_req(cc, ctx->r.req)); + + return 0; } -static void crypt_alloc_req_aead(struct crypt_config *cc, +static int crypt_alloc_req_aead(struct crypt_config *cc, struct convert_context *ctx) { - if (!ctx->r.req_aead) - ctx->r.req_aead = mempool_alloc(&cc->req_pool, GFP_NOIO); + if (!ctx->r.req_aead) { + ctx->r.req_aead = mempool_alloc(&cc->req_pool, in_interrupt() ? GFP_ATOMIC : GFP_NOIO); + if (!ctx->r.req_aead) + return -ENOMEM; + } aead_request_set_tfm(ctx->r.req_aead, cc->cipher_tfm.tfms_aead[0]); @@ -1482,15 +1490,17 @@ aead_request_set_callback(ctx->r.req_aead, CRYPTO_TFM_REQ_MAY_BACKLOG, kcryptd_async_done, dmreq_of_req(cc, ctx->r.req_aead)); + + return 0; } -static void crypt_alloc_req(struct crypt_config *cc, +static int crypt_alloc_req(struct crypt_config *cc, struct convert_context *ctx) { if (crypt_integrity_aead(cc)) - crypt_alloc_req_aead(cc, ctx); + return crypt_alloc_req_aead(cc, ctx); else - crypt_alloc_req_skcipher(cc, ctx); + return crypt_alloc_req_skcipher(cc, ctx); } static void crypt_free_req_skcipher(struct crypt_config *cc, @@ -1533,7 +1543,12 @@ while (ctx->iter_in.bi_size && ctx->iter_out.bi_size) { - crypt_alloc_req(cc, ctx); + r = crypt_alloc_req(cc, ctx); + if (r) { + complete(&ctx->restart); + return BLK_STS_DEV_RESOURCE; + } + atomic_inc(&ctx->cc_pending); if (crypt_integrity_aead(cc)) @@ -3092,6 +3107,7 @@ wake_up_process(cc->write_thread); ti->num_flush_bios = 1; + ti->limit_swap_bios = true; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-ebs-target.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-ebs-target.c @@ -363,7 +363,7 @@ bio_set_dev(bio, ec->dev->bdev); bio->bi_iter.bi_sector = ec->start + dm_target_offset(ti, bio->bi_iter.bi_sector); - if (unlikely(bio->bi_opf & REQ_OP_FLUSH)) + if (unlikely(bio_op(bio) == REQ_OP_FLUSH)) return DM_MAPIO_REMAPPED; /* * Only queue for bufio processing in case of partial or overlapping buffers --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-era-target.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-era-target.c @@ -47,6 +47,7 @@ static void writeset_free(struct writeset *ws) { vfree(ws->bits); + ws->bits = NULL; } static int setup_on_disk_bitset(struct dm_disk_bitset *info, @@ -71,8 +72,6 @@ */ static int writeset_alloc(struct writeset *ws, dm_block_t nr_blocks) { - ws->md.nr_bits = nr_blocks; - ws->md.root = INVALID_WRITESET_ROOT; ws->bits = vzalloc(bitset_size(nr_blocks)); if (!ws->bits) { DMERR("%s: couldn't allocate in memory bitset", __func__); @@ -85,12 +84,14 @@ /* * Wipes the in-core bitset, and creates a new on disk bitset. */ -static int writeset_init(struct dm_disk_bitset *info, struct writeset *ws) +static int writeset_init(struct dm_disk_bitset *info, struct writeset *ws, + dm_block_t nr_blocks) { int r; - memset(ws->bits, 0, bitset_size(ws->md.nr_bits)); + memset(ws->bits, 0, bitset_size(nr_blocks)); + ws->md.nr_bits = nr_blocks; r = setup_on_disk_bitset(info, ws->md.nr_bits, &ws->md.root); if (r) { DMERR("%s: setup_on_disk_bitset failed", __func__); @@ -134,7 +135,7 @@ { int r; - if (!test_and_set_bit(block, ws->bits)) { + if (!test_bit(block, ws->bits)) { r = dm_bitset_set_bit(info, ws->md.root, block, &ws->md.root); if (r) { /* FIXME: fail mode */ @@ -388,7 +389,7 @@ static int ws_eq(void *context, const void *value1, const void *value2) { - return !memcmp(value1, value2, sizeof(struct writeset_metadata)); + return !memcmp(value1, value2, sizeof(struct writeset_disk)); } /*----------------------------------------------------------------*/ @@ -564,6 +565,15 @@ } disk = dm_block_data(sblock); + + /* Verify the data block size hasn't changed */ + if (le32_to_cpu(disk->data_block_size) != md->block_size) { + DMERR("changing the data block size (from %u to %llu) is not supported", + le32_to_cpu(disk->data_block_size), md->block_size); + r = -EINVAL; + goto bad; + } + r = dm_tm_open_with_sm(md->bm, SUPERBLOCK_LOCATION, disk->metadata_space_map_root, sizeof(disk->metadata_space_map_root), @@ -575,10 +585,10 @@ setup_infos(md); - md->block_size = le32_to_cpu(disk->data_block_size); md->nr_blocks = le32_to_cpu(disk->nr_blocks); md->current_era = le32_to_cpu(disk->current_era); + ws_unpack(&disk->current_writeset, &md->current_writeset->md); md->writeset_tree_root = le64_to_cpu(disk->writeset_tree_root); md->era_array_root = le64_to_cpu(disk->era_array_root); md->metadata_snap = le64_to_cpu(disk->metadata_snap); @@ -746,6 +756,12 @@ ws_unpack(&disk, &d->writeset); d->value = cpu_to_le32(key); + /* + * We initialise another bitset info to avoid any caching side effects + * with the previous one. + */ + dm_disk_bitset_init(md->tm, &d->info); + d->nr_bits = min(d->writeset.nr_bits, md->nr_blocks); d->current_bit = 0; d->step = metadata_digest_transcribe_writeset; @@ -759,12 +775,6 @@ return 0; memset(d, 0, sizeof(*d)); - - /* - * We initialise another bitset info to avoid any caching side - * effects with the previous one. - */ - dm_disk_bitset_init(md->tm, &d->info); d->step = metadata_digest_lookup_writeset; return 0; @@ -802,6 +812,8 @@ static void metadata_close(struct era_metadata *md) { + writeset_free(&md->writesets[0]); + writeset_free(&md->writesets[1]); destroy_persistent_data_objects(md); kfree(md); } @@ -839,6 +851,7 @@ r = writeset_alloc(&md->writesets[1], *new_size); if (r) { DMERR("%s: writeset_alloc failed for writeset 1", __func__); + writeset_free(&md->writesets[0]); return r; } @@ -849,6 +862,8 @@ &value, &md->era_array_root); if (r) { DMERR("%s: dm_array_resize failed", __func__); + writeset_free(&md->writesets[0]); + writeset_free(&md->writesets[1]); return r; } @@ -870,7 +885,6 @@ } ws_pack(&md->current_writeset->md, &value); - md->current_writeset->md.root = INVALID_WRITESET_ROOT; keys[0] = md->current_era; __dm_bless_for_disk(&value); @@ -882,6 +896,7 @@ return r; } + md->current_writeset->md.root = INVALID_WRITESET_ROOT; md->archived_writesets = true; return 0; @@ -898,7 +913,7 @@ int r; struct writeset *new_writeset = next_writeset(md); - r = writeset_init(&md->bitset_info, new_writeset); + r = writeset_init(&md->bitset_info, new_writeset, md->nr_blocks); if (r) { DMERR("%s: writeset_init failed", __func__); return r; @@ -951,7 +966,7 @@ int r; struct dm_block *sblock; - if (md->current_writeset->md.root != SUPERBLOCK_LOCATION) { + if (md->current_writeset->md.root != INVALID_WRITESET_ROOT) { r = dm_bitset_flush(&md->bitset_info, md->current_writeset->md.root, &md->current_writeset->md.root); if (r) { @@ -1226,8 +1241,10 @@ int r; struct bio_list deferred_bios, marked_bios; struct bio *bio; + struct blk_plug plug; bool commit_needed = false; bool failed = false; + struct writeset *ws = era->md->current_writeset; bio_list_init(&deferred_bios); bio_list_init(&marked_bios); @@ -1237,9 +1254,11 @@ bio_list_init(&era->deferred_bios); spin_unlock(&era->deferred_lock); + if (bio_list_empty(&deferred_bios)) + return; + while ((bio = bio_list_pop(&deferred_bios))) { - r = writeset_test_and_set(&era->md->bitset_info, - era->md->current_writeset, + r = writeset_test_and_set(&era->md->bitset_info, ws, get_block(era, bio)); if (r < 0) { /* @@ -1247,7 +1266,6 @@ * FIXME: finish. */ failed = true; - } else if (r == 0) commit_needed = true; @@ -1263,9 +1281,19 @@ if (failed) while ((bio = bio_list_pop(&marked_bios))) bio_io_error(bio); - else - while ((bio = bio_list_pop(&marked_bios))) + else { + blk_start_plug(&plug); + while ((bio = bio_list_pop(&marked_bios))) { + /* + * Only update the in-core writeset if the on-disk one + * was updated too. + */ + if (commit_needed) + set_bit(get_block(era, bio), ws->bits); generic_make_request(bio); + } + blk_finish_plug(&plug); + } } static void process_rpc_calls(struct era *era) @@ -1486,15 +1514,6 @@ } era->md = md; - era->nr_blocks = calc_nr_blocks(era); - - r = metadata_resize(era->md, &era->nr_blocks); - if (r) { - ti->error = "couldn't resize metadata"; - era_destroy(era); - return -ENOMEM; - } - era->wq = alloc_ordered_workqueue("dm-" DM_MSG_PREFIX, WQ_MEM_RECLAIM); if (!era->wq) { ti->error = "could not create workqueue for metadata object"; @@ -1571,16 +1590,24 @@ dm_block_t new_size = calc_nr_blocks(era); if (era->nr_blocks != new_size) { - r = in_worker1(era, metadata_resize, &new_size); - if (r) + r = metadata_resize(era->md, &new_size); + if (r) { + DMERR("%s: metadata_resize failed", __func__); + return r; + } + + r = metadata_commit(era->md); + if (r) { + DMERR("%s: metadata_commit failed", __func__); return r; + } era->nr_blocks = new_size; } start_worker(era); - r = in_worker0(era, metadata_new_era); + r = in_worker0(era, metadata_era_rollover); if (r) { DMERR("%s: metadata_era_rollover failed", __func__); return r; --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-integrity.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-integrity.c @@ -257,8 +257,9 @@ bool journal_uptodate; bool just_formatted; bool recalculate_flag; - bool fix_padding; bool discard; + bool fix_padding; + bool legacy_recalculate; struct alg_spec internal_hash_alg; struct alg_spec journal_crypt_alg; @@ -386,6 +387,14 @@ return READ_ONCE(ic->failed); } +static bool dm_integrity_disable_recalculate(struct dm_integrity_c *ic) +{ + if ((ic->internal_hash_alg.key || ic->journal_mac_alg.key) && + !ic->legacy_recalculate) + return true; + return false; +} + static commit_id_t dm_integrity_commit_id(struct dm_integrity_c *ic, unsigned i, unsigned j, unsigned char seq) { @@ -1379,12 +1388,52 @@ #undef MAY_BE_HASH } -static void dm_integrity_flush_buffers(struct dm_integrity_c *ic) +struct flush_request { + struct dm_io_request io_req; + struct dm_io_region io_reg; + struct dm_integrity_c *ic; + struct completion comp; +}; + +static void flush_notify(unsigned long error, void *fr_) +{ + struct flush_request *fr = fr_; + if (unlikely(error != 0)) + dm_integrity_io_error(fr->ic, "flusing disk cache", -EIO); + complete(&fr->comp); +} + +static void dm_integrity_flush_buffers(struct dm_integrity_c *ic, bool flush_data) { int r; + + struct flush_request fr; + + if (!ic->meta_dev) + flush_data = false; + if (flush_data) { + fr.io_req.bi_op = REQ_OP_WRITE, + fr.io_req.bi_op_flags = REQ_PREFLUSH | REQ_SYNC, + fr.io_req.mem.type = DM_IO_KMEM, + fr.io_req.mem.ptr.addr = NULL, + fr.io_req.notify.fn = flush_notify, + fr.io_req.notify.context = &fr; + fr.io_req.client = dm_bufio_get_dm_io_client(ic->bufio), + fr.io_reg.bdev = ic->dev->bdev, + fr.io_reg.sector = 0, + fr.io_reg.count = 0, + fr.ic = ic; + init_completion(&fr.comp); + r = dm_io(&fr.io_req, 1, &fr.io_reg, NULL); + BUG_ON(r); + } + r = dm_bufio_write_dirty_buffers(ic->bufio); if (unlikely(r)) dm_integrity_io_error(ic, "writing tags", r); + + if (flush_data) + wait_for_completion(&fr.comp); } static void sleep_on_endio_wait(struct dm_integrity_c *ic) @@ -2110,7 +2159,7 @@ if (unlikely(dio->op == REQ_OP_DISCARD) && likely(ic->mode != 'D')) { integrity_metadata(&dio->work); - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, false); dio->in_flight = (atomic_t)ATOMIC_INIT(1); dio->completion = NULL; @@ -2195,7 +2244,7 @@ flushes = bio_list_get(&ic->flush_bio_list); if (unlikely(ic->mode != 'J')) { spin_unlock_irq(&ic->endio_wait.lock); - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, true); goto release_flush_bios; } @@ -2409,7 +2458,7 @@ complete_journal_op(&comp); wait_for_completion_io(&comp.comp); - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, true); } static void integrity_writer(struct work_struct *w) @@ -2451,7 +2500,7 @@ { int r; - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, false); if (dm_integrity_failed(ic)) return; @@ -2487,6 +2536,7 @@ range.logical_sector = le64_to_cpu(ic->sb->recalc_sector); if (unlikely(range.logical_sector >= ic->provided_data_sectors)) { if (ic->mode == 'B') { + block_bitmap_op(ic, ic->recalc_bitmap, 0, ic->provided_data_sectors, BITMAP_OP_CLEAR); DEBUG_print("queue_delayed_work: bitmap_flush_work\n"); queue_delayed_work(ic->commit_wq, &ic->bitmap_flush_work, 0); } @@ -2564,6 +2614,17 @@ goto err; } + if (ic->mode == 'B') { + sector_t start, end; + start = (range.logical_sector >> + (ic->sb->log2_sectors_per_block + ic->log2_blocks_per_bitmap_bit)) << + (ic->sb->log2_sectors_per_block + ic->log2_blocks_per_bitmap_bit); + end = ((range.logical_sector + range.n_sectors) >> + (ic->sb->log2_sectors_per_block + ic->log2_blocks_per_bitmap_bit)) << + (ic->sb->log2_sectors_per_block + ic->log2_blocks_per_bitmap_bit); + block_bitmap_op(ic, ic->recalc_bitmap, start, end - start, BITMAP_OP_CLEAR); + } + advance_and_next: cond_resched(); @@ -2642,7 +2703,7 @@ unsigned long limit; struct bio *bio; - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, false); range.logical_sector = 0; range.n_sectors = ic->provided_data_sectors; @@ -2651,9 +2712,7 @@ add_new_range_and_wait(ic, &range); spin_unlock_irq(&ic->endio_wait.lock); - dm_integrity_flush_buffers(ic); - if (ic->meta_dev) - blkdev_issue_flush(ic->dev->bdev, GFP_NOIO); + dm_integrity_flush_buffers(ic, true); limit = ic->provided_data_sectors; if (ic->sb->flags & cpu_to_le32(SB_FLAG_RECALCULATING)) { @@ -2922,11 +2981,11 @@ if (ic->meta_dev) queue_work(ic->writer_wq, &ic->writer_work); drain_workqueue(ic->writer_wq); - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, true); } if (ic->mode == 'B') { - dm_integrity_flush_buffers(ic); + dm_integrity_flush_buffers(ic, true); #if 1 /* set to 0 to test bitmap replay code */ init_journal(ic, 0, ic->journal_sections, 0); @@ -3090,6 +3149,7 @@ arg_count += !!ic->journal_crypt_alg.alg_string; arg_count += !!ic->journal_mac_alg.alg_string; arg_count += (ic->sb->flags & cpu_to_le32(SB_FLAG_FIXED_PADDING)) != 0; + arg_count += ic->legacy_recalculate; DMEMIT("%s %llu %u %c %u", ic->dev->name, ic->start, ic->tag_size, ic->mode, arg_count); if (ic->meta_dev) @@ -3113,6 +3173,8 @@ } if ((ic->sb->flags & cpu_to_le32(SB_FLAG_FIXED_PADDING)) != 0) DMEMIT(" fix_padding"); + if (ic->legacy_recalculate) + DMEMIT(" legacy_recalculate"); #define EMIT_ALG(a, n) \ do { \ @@ -3742,7 +3804,7 @@ unsigned extra_args; struct dm_arg_set as; static const struct dm_arg _args[] = { - {0, 9, "Invalid number of feature args"}, + {0, 16, "Invalid number of feature args"}, }; unsigned journal_sectors, interleave_sectors, buffer_sectors, journal_watermark, sync_msec; bool should_write_sb; @@ -3890,6 +3952,8 @@ ic->discard = true; } else if (!strcmp(opt_string, "fix_padding")) { ic->fix_padding = true; + } else if (!strcmp(opt_string, "legacy_recalculate")) { + ic->legacy_recalculate = true; } else { r = -EINVAL; ti->error = "Invalid argument"; @@ -4185,6 +4249,20 @@ r = -ENOMEM; goto bad; } + } else { + if (ic->sb->flags & cpu_to_le32(SB_FLAG_RECALCULATING)) { + ti->error = "Recalculate can only be specified with internal_hash"; + r = -EINVAL; + goto bad; + } + } + + if (ic->sb->flags & cpu_to_le32(SB_FLAG_RECALCULATING) && + le64_to_cpu(ic->sb->recalc_sector) < ic->provided_data_sectors && + dm_integrity_disable_recalculate(ic)) { + ti->error = "Recalculating with HMAC is disabled for security reasons - if you really need it, use the argument \"legacy_recalculate\""; + r = -EOPNOTSUPP; + goto bad; } ic->bufio = dm_bufio_client_create(ic->meta_dev ? ic->meta_dev->bdev : ic->dev->bdev, --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-ioctl.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-ioctl.c @@ -529,7 +529,7 @@ * Grab our output buffer. */ nl = orig_nl = get_result_buffer(param, param_size, &len); - if (len < needed) { + if (len < needed || len < sizeof(nl->dev)) { param->flags |= DM_BUFFER_FULL_FLAG; goto out; } @@ -1600,6 +1600,7 @@ if (!argc) { DMWARN("Empty message received."); + r = -EINVAL; goto out_argv; } --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-mpath.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-mpath.c @@ -1247,17 +1247,25 @@ static void flush_multipath_work(struct multipath *m) { if (m->hw_handler_name) { - set_bit(MPATHF_PG_INIT_DISABLED, &m->flags); - smp_mb__after_atomic(); + unsigned long flags; + + if (!atomic_read(&m->pg_init_in_progress)) + goto skip; + + spin_lock_irqsave(&m->lock, flags); + if (atomic_read(&m->pg_init_in_progress) && + !test_and_set_bit(MPATHF_PG_INIT_DISABLED, &m->flags)) { + spin_unlock_irqrestore(&m->lock, flags); - if (atomic_read(&m->pg_init_in_progress)) flush_workqueue(kmpath_handlerd); - multipath_wait_for_pg_init_completion(m); + multipath_wait_for_pg_init_completion(m); - clear_bit(MPATHF_PG_INIT_DISABLED, &m->flags); - smp_mb__after_atomic(); + spin_lock_irqsave(&m->lock, flags); + clear_bit(MPATHF_PG_INIT_DISABLED, &m->flags); + } + spin_unlock_irqrestore(&m->lock, flags); } - +skip: if (m->queue_mode == DM_TYPE_BIO_BASED) flush_work(&m->process_queued_bios); flush_work(&m->trigger_event); --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-raid.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-raid.c @@ -3742,15 +3742,6 @@ blk_limits_io_min(limits, chunk_size_bytes); blk_limits_io_opt(limits, chunk_size_bytes * mddev_data_stripes(rs)); - - /* - * RAID1 and RAID10 personalities require bio splitting, - * RAID0/4/5/6 don't and process large discard bios properly. - */ - if (rs_is_raid1(rs) || rs_is_raid10(rs)) { - limits->discard_granularity = chunk_size_bytes; - limits->max_discard_sectors = rs->md.chunk_sectors; - } } static void raid_postsuspend(struct dm_target *ti) --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-rq.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-rq.c @@ -70,9 +70,6 @@ void dm_stop_queue(struct request_queue *q) { - if (blk_mq_queue_stopped(q)) - return; - blk_mq_quiesce_queue(q); } --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-snap.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-snap.c @@ -141,6 +141,11 @@ * for them to be committed. */ struct bio_list bios_queued_during_merge; + + /* + * Flush data after merge. + */ + struct bio flush_bio; }; /* @@ -1121,6 +1126,17 @@ static void error_bios(struct bio *bio); +static int flush_data(struct dm_snapshot *s) +{ + struct bio *flush_bio = &s->flush_bio; + + bio_reset(flush_bio); + bio_set_dev(flush_bio, s->origin->bdev); + flush_bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH; + + return submit_bio_wait(flush_bio); +} + static void merge_callback(int read_err, unsigned long write_err, void *context) { struct dm_snapshot *s = context; @@ -1134,6 +1150,11 @@ goto shut; } + if (flush_data(s) < 0) { + DMERR("Flush after merge failed: shutting down merge"); + goto shut; + } + if (s->store->type->commit_merge(s->store, s->num_merging_chunks) < 0) { DMERR("Write error in exception store: shutting down merge"); @@ -1318,6 +1339,7 @@ s->first_merging_chunk = 0; s->num_merging_chunks = 0; bio_list_init(&s->bios_queued_during_merge); + bio_init(&s->flush_bio, NULL, 0); /* Allocate hash table for COW data */ if (init_hash_tables(s)) { @@ -1504,6 +1526,8 @@ dm_exception_store_destroy(s->store); + bio_uninit(&s->flush_bio); + dm_put_device(ti, s->cow); dm_put_device(ti, s->origin); --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-table.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-table.c @@ -411,14 +411,23 @@ { int r; dev_t dev; + unsigned int major, minor; + char dummy; struct dm_dev_internal *dd; struct dm_table *t = ti->table; BUG_ON(!t); - dev = dm_get_dev_t(path); - if (!dev) - return -ENODEV; + if (sscanf(path, "%u:%u%c", &major, &minor, &dummy) == 2) { + /* Extract the major/minor numbers */ + dev = MKDEV(major, minor); + if (MAJOR(dev) != major || MINOR(dev) != minor) + return -EOVERFLOW; + } else { + dev = dm_get_dev_t(path); + if (!dev) + return -ENODEV; + } dd = find_device(&t->devices, dev); if (!dd) { @@ -862,20 +871,24 @@ EXPORT_SYMBOL_GPL(dm_table_set_type); /* validate the dax capability of the target device span */ -int device_supports_dax(struct dm_target *ti, struct dm_dev *dev, +int device_not_dax_capable(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { - int blocksize = *(int *) data; + int blocksize = *(int *) data, id; + bool rc; + + id = dax_read_lock(); + rc = !dax_supported(dev->dax_dev, dev->bdev, blocksize, start, len); + dax_read_unlock(id); - return generic_fsdax_supported(dev->dax_dev, dev->bdev, blocksize, - start, len); + return rc; } /* Check devices support synchronous DAX */ -static int device_dax_synchronous(struct dm_target *ti, struct dm_dev *dev, - sector_t start, sector_t len, void *data) +static int device_not_dax_synchronous_capable(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) { - return dev->dax_dev && dax_synchronous(dev->dax_dev); + return !dev->dax_dev || !dax_synchronous(dev->dax_dev); } bool dm_table_supports_dax(struct dm_table *t, @@ -892,7 +905,7 @@ return false; if (!ti->type->iterate_devices || - !ti->type->iterate_devices(ti, iterate_fn, blocksize)) + ti->type->iterate_devices(ti, iterate_fn, blocksize)) return false; } @@ -966,7 +979,7 @@ verify_bio_based: /* We must use this table as bio-based */ t->type = DM_TYPE_BIO_BASED; - if (dm_table_supports_dax(t, device_supports_dax, &page_size) || + if (dm_table_supports_dax(t, device_not_dax_capable, &page_size) || (list_empty(devices) && live_md_type == DM_TYPE_DAX_BIO_BASED)) { t->type = DM_TYPE_DAX_BIO_BASED; } else { @@ -1299,12 +1312,6 @@ void dm_table_event(struct dm_table *t) { - /* - * You can no longer call dm_table_event() from interrupt - * context, use a bottom half instead. - */ - BUG_ON(in_interrupt()); - mutex_lock(&_event_lock); if (t->event_fn) t->event_fn(t->event_context); @@ -1352,6 +1359,46 @@ return &t->targets[(KEYS_PER_NODE * n) + k]; } +/* + * type->iterate_devices() should be called when the sanity check needs to + * iterate and check all underlying data devices. iterate_devices() will + * iterate all underlying data devices until it encounters a non-zero return + * code, returned by whether the input iterate_devices_callout_fn, or + * iterate_devices() itself internally. + * + * For some target type (e.g. dm-stripe), one call of iterate_devices() may + * iterate multiple underlying devices internally, in which case a non-zero + * return code returned by iterate_devices_callout_fn will stop the iteration + * in advance. + * + * Cases requiring _any_ underlying device supporting some kind of attribute, + * should use the iteration structure like dm_table_any_dev_attr(), or call + * it directly. @func should handle semantics of positive examples, e.g. + * capable of something. + * + * Cases requiring _all_ underlying devices supporting some kind of attribute, + * should use the iteration structure like dm_table_supports_nowait() or + * dm_table_supports_discards(). Or introduce dm_table_all_devs_attr() that + * uses an @anti_func that handle semantics of counter examples, e.g. not + * capable of something. So: return !dm_table_any_dev_attr(t, anti_func, data); + */ +static bool dm_table_any_dev_attr(struct dm_table *t, + iterate_devices_callout_fn func, void *data) +{ + struct dm_target *ti; + unsigned int i; + + for (i = 0; i < dm_table_get_num_targets(t); i++) { + ti = dm_table_get_target(t, i); + + if (ti->type->iterate_devices && + ti->type->iterate_devices(ti, func, data)) + return true; + } + + return false; +} + static int count_device(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { @@ -1388,15 +1435,22 @@ return true; } -static int device_is_zoned_model(struct dm_target *ti, struct dm_dev *dev, - sector_t start, sector_t len, void *data) +static int device_not_zoned_model(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) { struct request_queue *q = bdev_get_queue(dev->bdev); enum blk_zoned_model *zoned_model = data; - return q && blk_queue_zoned_model(q) == *zoned_model; + return !q || blk_queue_zoned_model(q) != *zoned_model; } +/* + * Check the device zoned model based on the target feature flag. If the target + * has the DM_TARGET_ZONED_HM feature flag set, host-managed zoned devices are + * also accepted but all devices must have the same zoned model. If the target + * has the DM_TARGET_MIXED_ZONED_MODEL feature set, the devices can have any + * zoned model with all zoned devices having the same zone size. + */ static bool dm_table_supports_zoned_model(struct dm_table *t, enum blk_zoned_model zoned_model) { @@ -1406,44 +1460,37 @@ for (i = 0; i < dm_table_get_num_targets(t); i++) { ti = dm_table_get_target(t, i); - if (zoned_model == BLK_ZONED_HM && - !dm_target_supports_zoned_hm(ti->type)) - return false; - - if (!ti->type->iterate_devices || - !ti->type->iterate_devices(ti, device_is_zoned_model, &zoned_model)) - return false; + if (dm_target_supports_zoned_hm(ti->type)) { + if (!ti->type->iterate_devices || + ti->type->iterate_devices(ti, device_not_zoned_model, + &zoned_model)) + return false; + } else if (!dm_target_supports_mixed_zoned_model(ti->type)) { + if (zoned_model == BLK_ZONED_HM) + return false; + } } return true; } -static int device_matches_zone_sectors(struct dm_target *ti, struct dm_dev *dev, - sector_t start, sector_t len, void *data) +static int device_not_matches_zone_sectors(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) { struct request_queue *q = bdev_get_queue(dev->bdev); unsigned int *zone_sectors = data; - return q && blk_queue_zone_sectors(q) == *zone_sectors; -} - -static bool dm_table_matches_zone_sectors(struct dm_table *t, - unsigned int zone_sectors) -{ - struct dm_target *ti; - unsigned i; - - for (i = 0; i < dm_table_get_num_targets(t); i++) { - ti = dm_table_get_target(t, i); - - if (!ti->type->iterate_devices || - !ti->type->iterate_devices(ti, device_matches_zone_sectors, &zone_sectors)) - return false; - } + if (!blk_queue_is_zoned(q)) + return 0; - return true; + return !q || blk_queue_zone_sectors(q) != *zone_sectors; } +/* + * Check consistency of zoned model and zone sectors across all targets. For + * zone sectors, if the destination device is a zoned block device, it shall + * have the specified zone_sectors. + */ static int validate_hardware_zoned_model(struct dm_table *table, enum blk_zoned_model zoned_model, unsigned int zone_sectors) @@ -1461,8 +1508,8 @@ if (!zone_sectors || !is_power_of_2(zone_sectors)) return -EINVAL; - if (!dm_table_matches_zone_sectors(table, zone_sectors)) { - DMERR("%s: zone sectors is not consistent across all devices", + if (dm_table_any_dev_attr(table, device_not_matches_zone_sectors, &zone_sectors)) { + DMERR("%s: zone sectors is not consistent across all zoned devices", dm_device_name(table->md)); return -EINVAL; } @@ -1651,29 +1698,12 @@ return false; } -static int dm_table_supports_dax_write_cache(struct dm_table *t) -{ - struct dm_target *ti; - unsigned i; - - for (i = 0; i < dm_table_get_num_targets(t); i++) { - ti = dm_table_get_target(t, i); - - if (ti->type->iterate_devices && - ti->type->iterate_devices(ti, - device_dax_write_cache_enabled, NULL)) - return true; - } - - return false; -} - -static int device_is_nonrot(struct dm_target *ti, struct dm_dev *dev, - sector_t start, sector_t len, void *data) +static int device_is_rotational(struct dm_target *ti, struct dm_dev *dev, + sector_t start, sector_t len, void *data) { struct request_queue *q = bdev_get_queue(dev->bdev); - return q && blk_queue_nonrot(q); + return q && !blk_queue_nonrot(q); } static int device_is_not_random(struct dm_target *ti, struct dm_dev *dev, @@ -1684,35 +1714,18 @@ return q && !blk_queue_add_random(q); } -static bool dm_table_all_devices_attribute(struct dm_table *t, - iterate_devices_callout_fn func) -{ - struct dm_target *ti; - unsigned i; - - for (i = 0; i < dm_table_get_num_targets(t); i++) { - ti = dm_table_get_target(t, i); - - if (!ti->type->iterate_devices || - !ti->type->iterate_devices(ti, func, NULL)) - return false; - } - - return true; -} - -static int device_no_partial_completion(struct dm_target *ti, struct dm_dev *dev, +static int device_is_partial_completion(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data) { char b[BDEVNAME_SIZE]; /* For now, NVMe devices are the only devices of this class */ - return (strncmp(bdevname(dev->bdev, b), "nvme", 4) == 0); + return (strncmp(bdevname(dev->bdev, b), "nvme", 4) != 0); } static bool dm_table_does_not_support_partial_completion(struct dm_table *t) { - return dm_table_all_devices_attribute(t, device_no_partial_completion); + return !dm_table_any_dev_attr(t, device_is_partial_completion, NULL); } static int device_not_write_same_capable(struct dm_target *ti, struct dm_dev *dev, @@ -1839,27 +1852,6 @@ return q && bdi_cap_stable_pages_required(q->backing_dev_info); } -/* - * If any underlying device requires stable pages, a table must require - * them as well. Only targets that support iterate_devices are considered: - * don't want error, zero, etc to require stable pages. - */ -static bool dm_table_requires_stable_pages(struct dm_table *t) -{ - struct dm_target *ti; - unsigned i; - - for (i = 0; i < dm_table_get_num_targets(t); i++) { - ti = dm_table_get_target(t, i); - - if (ti->type->iterate_devices && - ti->type->iterate_devices(ti, device_requires_stable_pages, NULL)) - return true; - } - - return false; -} - void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q, struct queue_limits *limits) { @@ -1892,22 +1884,22 @@ } blk_queue_write_cache(q, wc, fua); - if (dm_table_supports_dax(t, device_supports_dax, &page_size)) { + if (dm_table_supports_dax(t, device_not_dax_capable, &page_size)) { blk_queue_flag_set(QUEUE_FLAG_DAX, q); - if (dm_table_supports_dax(t, device_dax_synchronous, NULL)) + if (dm_table_supports_dax(t, device_not_dax_synchronous_capable, NULL)) set_dax_synchronous(t->md->dax_dev); } else blk_queue_flag_clear(QUEUE_FLAG_DAX, q); - if (dm_table_supports_dax_write_cache(t)) + if (dm_table_any_dev_attr(t, device_dax_write_cache_enabled, NULL)) dax_write_cache(t->md->dax_dev, true); /* Ensure that all underlying devices are non-rotational. */ - if (dm_table_all_devices_attribute(t, device_is_nonrot)) - blk_queue_flag_set(QUEUE_FLAG_NONROT, q); - else + if (dm_table_any_dev_attr(t, device_is_rotational, NULL)) blk_queue_flag_clear(QUEUE_FLAG_NONROT, q); + else + blk_queue_flag_set(QUEUE_FLAG_NONROT, q); if (!dm_table_supports_write_same(t)) q->limits.max_write_same_sectors = 0; @@ -1919,8 +1911,11 @@ /* * Some devices don't use blk_integrity but still want stable pages * because they do their own checksumming. + * If any underlying device requires stable pages, a table must require + * them as well. Only targets that support iterate_devices are considered: + * don't want error, zero, etc to require stable pages. */ - if (dm_table_requires_stable_pages(t)) + if (dm_table_any_dev_attr(t, device_requires_stable_pages, NULL)) q->backing_dev_info->capabilities |= BDI_CAP_STABLE_WRITES; else q->backing_dev_info->capabilities &= ~BDI_CAP_STABLE_WRITES; @@ -1931,7 +1926,8 @@ * Clear QUEUE_FLAG_ADD_RANDOM if any underlying device does not * have it set. */ - if (blk_queue_add_random(q) && dm_table_all_devices_attribute(t, device_is_not_random)) + if (blk_queue_add_random(q) && + dm_table_any_dev_attr(t, device_is_not_random, NULL)) blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, q); /* --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-thin-metadata.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-thin-metadata.c @@ -739,12 +739,16 @@ THIN_MAX_CONCURRENT_LOCKS); if (IS_ERR(pmd->bm)) { DMERR("could not create block manager"); - return PTR_ERR(pmd->bm); + r = PTR_ERR(pmd->bm); + pmd->bm = NULL; + return r; } r = __open_or_format_metadata(pmd, format_device); - if (r) + if (r) { dm_block_manager_destroy(pmd->bm); + pmd->bm = NULL; + } return r; } @@ -954,7 +958,7 @@ } pmd_write_lock_in_core(pmd); - if (!dm_bm_is_read_only(pmd->bm) && !pmd->fail_io) { + if (!pmd->fail_io && !dm_bm_is_read_only(pmd->bm)) { r = __commit_transaction(pmd); if (r < 0) DMWARN("%s: __commit_transaction() failed, error = %d", --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-verity-fec.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-verity-fec.c @@ -61,19 +61,18 @@ static u8 *fec_read_parity(struct dm_verity *v, u64 rsb, int index, unsigned *offset, struct dm_buffer **buf) { - u64 position, block; + u64 position, block, rem; u8 *res; position = (index + rsb) * v->fec->roots; - block = position >> v->data_dev_block_bits; - *offset = (unsigned)(position - (block << v->data_dev_block_bits)); + block = div64_u64_rem(position, v->fec->io_size, &rem); + *offset = (unsigned)rem; - res = dm_bufio_read(v->fec->bufio, v->fec->start + block, buf); + res = dm_bufio_read(v->fec->bufio, block, buf); if (IS_ERR(res)) { DMERR("%s: FEC %llu: parity read failed (block %llu): %ld", v->data_dev->name, (unsigned long long)rsb, - (unsigned long long)(v->fec->start + block), - PTR_ERR(res)); + (unsigned long long)block, PTR_ERR(res)); *buf = NULL; } @@ -155,7 +154,7 @@ /* read the next block when we run out of parity bytes */ offset += v->fec->roots; - if (offset >= 1 << v->data_dev_block_bits) { + if (offset >= v->fec->io_size) { dm_bufio_release(buf); par = fec_read_parity(v, rsb, block_offset, &offset, &buf); @@ -674,7 +673,7 @@ { struct dm_verity_fec *f = v->fec; struct dm_target *ti = v->ti; - u64 hash_blocks; + u64 hash_blocks, fec_blocks; int ret; if (!verity_fec_is_enabled(v)) { @@ -743,16 +742,23 @@ return -E2BIG; } + if ((f->roots << SECTOR_SHIFT) & ((1 << v->data_dev_block_bits) - 1)) + f->io_size = 1 << v->data_dev_block_bits; + else + f->io_size = v->fec->roots << SECTOR_SHIFT; + f->bufio = dm_bufio_client_create(f->dev->bdev, - 1 << v->data_dev_block_bits, + f->io_size, 1, 0, NULL, NULL); if (IS_ERR(f->bufio)) { ti->error = "Cannot initialize FEC bufio client"; return PTR_ERR(f->bufio); } - if (dm_bufio_get_device_size(f->bufio) < - ((f->start + f->rounds * f->roots) >> v->data_dev_block_bits)) { + dm_bufio_set_sector_offset(f->bufio, f->start << (v->data_dev_block_bits - SECTOR_SHIFT)); + + fec_blocks = div64_u64(f->rounds * f->roots, v->fec->roots << SECTOR_SHIFT); + if (dm_bufio_get_device_size(f->bufio) < fec_blocks) { ti->error = "FEC device is too small"; return -E2BIG; } --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-verity-fec.h +++ linux-riscv-5.8-5.8.0/drivers/md/dm-verity-fec.h @@ -36,6 +36,7 @@ struct dm_dev *dev; /* parity data device */ struct dm_bufio_client *data_bufio; /* for data dev access */ struct dm_bufio_client *bufio; /* for parity data access */ + size_t io_size; /* IO size for roots */ sector_t start; /* parity data start in blocks */ sector_t blocks; /* number of blocks covered */ sector_t rounds; /* number of interleaving rounds */ --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-verity-target.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-verity-target.c @@ -33,7 +33,7 @@ #define DM_VERITY_OPT_IGN_ZEROES "ignore_zero_blocks" #define DM_VERITY_OPT_AT_MOST_ONCE "check_at_most_once" -#define DM_VERITY_OPTS_MAX (2 + DM_VERITY_OPTS_FEC + \ +#define DM_VERITY_OPTS_MAX (3 + DM_VERITY_OPTS_FEC + \ DM_VERITY_ROOT_HASH_VERIFICATION_OPTS) static unsigned dm_verity_prefetch_cluster = DM_VERITY_DEFAULT_PREFETCH_SIZE; @@ -534,6 +534,15 @@ } /* + * Skip verity work in response to I/O error when system is shutting down. + */ +static inline bool verity_is_system_shutting_down(void) +{ + return system_state == SYSTEM_HALT || system_state == SYSTEM_POWER_OFF + || system_state == SYSTEM_RESTART; +} + +/* * End one "io" structure with a given error. */ static void verity_finish_io(struct dm_verity_io *io, blk_status_t status) @@ -560,7 +569,8 @@ { struct dm_verity_io *io = bio->bi_private; - if (bio->bi_status && !verity_fec_is_enabled(io->v)) { + if (bio->bi_status && + (!verity_fec_is_enabled(io->v) || verity_is_system_shutting_down())) { verity_finish_io(io, bio->bi_status); return; } --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-writecache.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-writecache.c @@ -49,7 +49,7 @@ #define pmem_assign(dest, src) ((dest) = (src)) #endif -#if defined(__HAVE_ARCH_MEMCPY_MCSAFE) && defined(DM_WRITECACHE_HAS_PMEM) +#if IS_ENABLED(CONFIG_ARCH_HAS_COPY_MC) && defined(DM_WRITECACHE_HAS_PMEM) #define DM_WRITECACHE_HANDLE_HARDWARE_ERRORS #endif @@ -148,6 +148,7 @@ size_t metadata_sectors; size_t n_blocks; uint64_t seq_count; + sector_t data_device_sectors; void *block_start; struct wc_entry *entries; unsigned block_size; @@ -159,14 +160,22 @@ bool overwrote_committed:1; bool memory_vmapped:1; + bool start_sector_set:1; bool high_wm_percent_set:1; bool low_wm_percent_set:1; bool max_writeback_jobs_set:1; bool autocommit_blocks_set:1; bool autocommit_time_set:1; + bool max_age_set:1; bool writeback_fua_set:1; bool flush_on_suspend:1; bool cleaner:1; + bool cleaner_set:1; + + unsigned high_wm_percent_value; + unsigned low_wm_percent_value; + unsigned autocommit_time_value; + unsigned max_age_value; unsigned writeback_all; struct workqueue_struct *writeback_wq; @@ -231,6 +240,7 @@ pfn_t pfn; int id; struct page **pages; + sector_t offset; wc->memory_vmapped = false; @@ -245,9 +255,16 @@ goto err1; } + offset = get_start_sect(wc->ssd_dev->bdev); + if (offset & (PAGE_SIZE / 512 - 1)) { + r = -EINVAL; + goto err1; + } + offset >>= PAGE_SHIFT - 9; + id = dax_read_lock(); - da = dax_direct_access(wc->ssd_dev->dax_dev, 0, p, &wc->memory_map, &pfn); + da = dax_direct_access(wc->ssd_dev->dax_dev, offset, p, &wc->memory_map, &pfn); if (da < 0) { wc->memory_map = NULL; r = da; @@ -269,7 +286,7 @@ i = 0; do { long daa; - daa = dax_direct_access(wc->ssd_dev->dax_dev, i, p - i, + daa = dax_direct_access(wc->ssd_dev->dax_dev, offset + i, p - i, NULL, &pfn); if (daa <= 0) { r = daa ? daa : -EINVAL; @@ -311,7 +328,7 @@ #else static int persistent_memory_claim(struct dm_writecache *wc) { - BUG(); + return -EOPNOTSUPP; } #endif @@ -515,7 +532,7 @@ region.bdev = wc->ssd_dev->bdev; region.sector = 0; - region.count = PAGE_SIZE; + region.count = PAGE_SIZE >> SECTOR_SHIFT; if (unlikely(region.sector + region.count > wc->metadata_sectors)) region.count = wc->metadata_sectors - region.sector; @@ -961,6 +978,8 @@ wc_lock(wc); + wc->data_device_sectors = i_size_read(wc->dev->bdev->bd_inode) >> SECTOR_SHIFT; + if (WC_MODE_PMEM(wc)) { persistent_memory_invalidate_cache(wc->memory_map, wc->memory_map_size); } else { @@ -984,7 +1003,8 @@ } wc->freelist_size = 0; - r = memcpy_mcsafe(&sb_seq_count, &sb(wc)->seq_count, sizeof(uint64_t)); + r = copy_mc_to_kernel(&sb_seq_count, &sb(wc)->seq_count, + sizeof(uint64_t)); if (r) { writecache_error(wc, r, "hardware memory error when reading superblock: %d", r); sb_seq_count = cpu_to_le64(0); @@ -1000,7 +1020,8 @@ e->seq_count = -1; continue; } - r = memcpy_mcsafe(&wme, memory_entry(wc, e), sizeof(struct wc_memory_entry)); + r = copy_mc_to_kernel(&wme, memory_entry(wc, e), + sizeof(struct wc_memory_entry)); if (r) { writecache_error(wc, r, "hardware memory error when reading metadata entry %lu: %d", (unsigned long)b, r); @@ -1198,7 +1219,7 @@ if (rw == READ) { int r; - r = memcpy_mcsafe(buf, data, size); + r = copy_mc_to_kernel(buf, data, size); flush_dcache_page(bio_page(bio)); if (unlikely(r)) { writecache_error(wc, r, "hardware memory error when reading data: %d", r); @@ -1628,6 +1649,10 @@ void *address = memory_data(wc, e); persistent_memory_flush_cache(address, block_size); + + if (unlikely(bio_end_sector(&wb->bio) >= wc->data_device_sectors)) + return true; + return bio_add_page(&wb->bio, persistent_memory_page(address), block_size, persistent_memory_page_offset(address)) != 0; } @@ -1699,6 +1724,9 @@ if (writecache_has_error(wc)) { bio->bi_status = BLK_STS_IOERR; bio_endio(bio); + } else if (unlikely(!bio_sectors(bio))) { + bio->bi_status = BLK_STS_OK; + bio_endio(bio); } else { submit_bio(bio); } @@ -1742,6 +1770,14 @@ e = f; } + if (unlikely(to.sector + to.count > wc->data_device_sectors)) { + if (to.sector >= wc->data_device_sectors) { + writecache_copy_endio(0, 0, c); + continue; + } + from.count = to.count = wc->data_device_sectors - to.sector; + } + dm_kcopyd_copy(wc->dm_kcopyd, &from, 1, &to, 0, writecache_copy_endio, c); __writeback_throttle(wc, wbl); @@ -2031,7 +2067,7 @@ struct wc_memory_superblock s; static struct dm_arg _args[] = { - {0, 10, "Invalid number of feature args"}, + {0, 16, "Invalid number of feature args"}, }; as.argc = argc; @@ -2195,6 +2231,7 @@ if (sscanf(string, "%llu%c", &start_sector, &dummy) != 1) goto invalid_optional; wc->start_sector = start_sector; + wc->start_sector_set = true; if (wc->start_sector != start_sector || wc->start_sector >= wc->memory_map_size >> SECTOR_SHIFT) goto invalid_optional; @@ -2204,6 +2241,7 @@ goto invalid_optional; if (high_wm_percent < 0 || high_wm_percent > 100) goto invalid_optional; + wc->high_wm_percent_value = high_wm_percent; wc->high_wm_percent_set = true; } else if (!strcasecmp(string, "low_watermark") && opt_params >= 1) { string = dm_shift_arg(&as), opt_params--; @@ -2211,6 +2249,7 @@ goto invalid_optional; if (low_wm_percent < 0 || low_wm_percent > 100) goto invalid_optional; + wc->low_wm_percent_value = low_wm_percent; wc->low_wm_percent_set = true; } else if (!strcasecmp(string, "writeback_jobs") && opt_params >= 1) { string = dm_shift_arg(&as), opt_params--; @@ -2230,6 +2269,7 @@ if (autocommit_msecs > 3600000) goto invalid_optional; wc->autocommit_jiffies = msecs_to_jiffies(autocommit_msecs); + wc->autocommit_time_value = autocommit_msecs; wc->autocommit_time_set = true; } else if (!strcasecmp(string, "max_age") && opt_params >= 1) { unsigned max_age_msecs; @@ -2239,7 +2279,10 @@ if (max_age_msecs > 86400000) goto invalid_optional; wc->max_age = msecs_to_jiffies(max_age_msecs); + wc->max_age_set = true; + wc->max_age_value = max_age_msecs; } else if (!strcasecmp(string, "cleaner")) { + wc->cleaner_set = true; wc->cleaner = true; } else if (!strcasecmp(string, "fua")) { if (WC_MODE_PMEM(wc)) { @@ -2341,7 +2384,7 @@ } } - r = memcpy_mcsafe(&s, sb(wc), sizeof(struct wc_memory_superblock)); + r = copy_mc_to_kernel(&s, sb(wc), sizeof(struct wc_memory_superblock)); if (r) { ti->error = "Hardware memory error when reading superblock"; goto bad; @@ -2352,7 +2395,8 @@ ti->error = "Unable to initialize device"; goto bad; } - r = memcpy_mcsafe(&s, sb(wc), sizeof(struct wc_memory_superblock)); + r = copy_mc_to_kernel(&s, sb(wc), + sizeof(struct wc_memory_superblock)); if (r) { ti->error = "Hardware memory error when reading superblock"; goto bad; @@ -2444,7 +2488,6 @@ struct dm_writecache *wc = ti->private; unsigned extra_args; unsigned sz = 0; - uint64_t x; switch (type) { case STATUSTYPE_INFO: @@ -2456,11 +2499,11 @@ DMEMIT("%c %s %s %u ", WC_MODE_PMEM(wc) ? 'p' : 's', wc->dev->name, wc->ssd_dev->name, wc->block_size); extra_args = 0; - if (wc->start_sector) + if (wc->start_sector_set) extra_args += 2; - if (wc->high_wm_percent_set && !wc->cleaner) + if (wc->high_wm_percent_set) extra_args += 2; - if (wc->low_wm_percent_set && !wc->cleaner) + if (wc->low_wm_percent_set) extra_args += 2; if (wc->max_writeback_jobs_set) extra_args += 2; @@ -2468,35 +2511,29 @@ extra_args += 2; if (wc->autocommit_time_set) extra_args += 2; - if (wc->cleaner) + if (wc->max_age_set) + extra_args += 2; + if (wc->cleaner_set) extra_args++; if (wc->writeback_fua_set) extra_args++; DMEMIT("%u", extra_args); - if (wc->start_sector) + if (wc->start_sector_set) DMEMIT(" start_sector %llu", (unsigned long long)wc->start_sector); - if (wc->high_wm_percent_set && !wc->cleaner) { - x = (uint64_t)wc->freelist_high_watermark * 100; - x += wc->n_blocks / 2; - do_div(x, (size_t)wc->n_blocks); - DMEMIT(" high_watermark %u", 100 - (unsigned)x); - } - if (wc->low_wm_percent_set && !wc->cleaner) { - x = (uint64_t)wc->freelist_low_watermark * 100; - x += wc->n_blocks / 2; - do_div(x, (size_t)wc->n_blocks); - DMEMIT(" low_watermark %u", 100 - (unsigned)x); - } + if (wc->high_wm_percent_set) + DMEMIT(" high_watermark %u", wc->high_wm_percent_value); + if (wc->low_wm_percent_set) + DMEMIT(" low_watermark %u", wc->low_wm_percent_value); if (wc->max_writeback_jobs_set) DMEMIT(" writeback_jobs %u", wc->max_writeback_jobs); if (wc->autocommit_blocks_set) DMEMIT(" autocommit_blocks %u", wc->autocommit_blocks); if (wc->autocommit_time_set) - DMEMIT(" autocommit_time %u", jiffies_to_msecs(wc->autocommit_jiffies)); - if (wc->max_age != MAX_AGE_UNSPECIFIED) - DMEMIT(" max_age %u", jiffies_to_msecs(wc->max_age)); - if (wc->cleaner) + DMEMIT(" autocommit_time %u", wc->autocommit_time_value); + if (wc->max_age_set) + DMEMIT(" max_age %u", wc->max_age_value); + if (wc->cleaner_set) DMEMIT(" cleaner"); if (wc->writeback_fua_set) DMEMIT(" %sfua", wc->writeback_fua ? "" : "no"); @@ -2506,7 +2543,7 @@ static struct target_type writecache_target = { .name = "writecache", - .version = {1, 3, 0}, + .version = {1, 4, 0}, .module = THIS_MODULE, .ctr = writecache_ctr, .dtr = writecache_dtr, --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm-zoned-target.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm-zoned-target.c @@ -1143,7 +1143,7 @@ static struct target_type dmz_type = { .name = "zoned", .version = {2, 0, 0}, - .features = DM_TARGET_SINGLETON | DM_TARGET_ZONED_HM, + .features = DM_TARGET_SINGLETON | DM_TARGET_MIXED_ZONED_MODEL, .module = THIS_MODULE, .ctr = dmz_ctr, .dtr = dmz_dtr, --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm.c +++ linux-riscv-5.8-5.8.0/drivers/md/dm.c @@ -148,6 +148,16 @@ #define DM_NUMA_NODE NUMA_NO_NODE static int dm_numa_node = DM_NUMA_NODE; +#define DEFAULT_SWAP_BIOS (8 * 1048576 / PAGE_SIZE) +static int swap_bios = DEFAULT_SWAP_BIOS; +static int get_swap_bios(void) +{ + int latch = READ_ONCE(swap_bios); + if (unlikely(latch <= 0)) + latch = DEFAULT_SWAP_BIOS; + return latch; +} + /* * For mempools pre-allocation at the table loading time. */ @@ -491,8 +501,10 @@ return -EAGAIN; map = dm_get_live_table(md, &srcu_idx); - if (!map) - return -EIO; + if (!map) { + ret = -EIO; + goto out; + } do { struct dm_target *tgt; @@ -504,7 +516,8 @@ } args.tgt = tgt; - ret = tgt->type->report_zones(tgt, &args, nr_zones); + ret = tgt->type->report_zones(tgt, &args, + nr_zones - args.zone_idx); if (ret < 0) goto out; } while (args.zone_idx < nr_zones && @@ -521,7 +534,6 @@ static int dm_prepare_ioctl(struct mapped_device *md, int *srcu_idx, struct block_device **bdev) - __acquires(md->io_barrier) { struct dm_target *tgt; struct dm_table *map; @@ -555,7 +567,6 @@ } static void dm_unprepare_ioctl(struct mapped_device *md, int srcu_idx) - __releases(md->io_barrier) { dm_put_live_table(md, srcu_idx); } @@ -576,7 +587,7 @@ * subset of the parent bdev; require extra privileges. */ if (!capable(CAP_SYS_RAWIO)) { - DMWARN_LIMIT( + DMDEBUG_LIMIT( "%s: sending ioctl %x to DM device without required privilege.", current->comm, cmd); r = -ENOIOCTLCMD; @@ -982,6 +993,11 @@ limits->max_write_zeroes_sectors = 0; } +static bool swap_bios_limit(struct dm_target *ti, struct bio *bio) +{ + return unlikely((bio->bi_opf & REQ_SWAP) != 0) && unlikely(ti->limit_swap_bios); +} + static void clone_endio(struct bio *bio) { blk_status_t error = bio->bi_status; @@ -1032,6 +1048,11 @@ } } + if (unlikely(swap_bios_limit(tio->ti, bio))) { + struct mapped_device *md = io->md; + up(&md->swap_bios_semaphore); + } + free_tio(tio); dec_pending(io, error); } @@ -1135,15 +1156,16 @@ { struct mapped_device *md = dax_get_private(dax_dev); struct dm_table *map; + bool ret = false; int srcu_idx; - bool ret; map = dm_get_live_table(md, &srcu_idx); if (!map) - return false; + goto out; - ret = dm_table_supports_dax(map, device_supports_dax, &blocksize); + ret = dm_table_supports_dax(map, device_not_dax_capable, &blocksize); +out: dm_put_live_table(md, srcu_idx); return ret; @@ -1215,11 +1237,9 @@ * ->zero_page_range() is mandatory dax operation. If we are * here, something is wrong. */ - dm_put_live_table(md, srcu_idx); goto out; } ret = ti->type->dax_zero_page_range(ti, pgoff, nr_pages); - out: dm_put_live_table(md, srcu_idx); @@ -1267,6 +1287,22 @@ } EXPORT_SYMBOL_GPL(dm_accept_partial_bio); +static noinline void __set_swap_bios_limit(struct mapped_device *md, int latch) +{ + mutex_lock(&md->swap_bios_lock); + while (latch < md->swap_bios) { + cond_resched(); + down(&md->swap_bios_semaphore); + md->swap_bios--; + } + while (latch > md->swap_bios) { + cond_resched(); + up(&md->swap_bios_semaphore); + md->swap_bios++; + } + mutex_unlock(&md->swap_bios_lock); +} + static blk_qc_t __map_bio(struct dm_target_io *tio) { int r; @@ -1287,6 +1323,14 @@ atomic_inc(&io->io_count); sector = clone->bi_iter.bi_sector; + if (unlikely(swap_bios_limit(ti, clone))) { + struct mapped_device *md = io->md; + int latch = get_swap_bios(); + if (unlikely(latch != md->swap_bios)) + __set_swap_bios_limit(md, latch); + down(&md->swap_bios_semaphore); + } + r = ti->type->map(ti, clone); switch (r) { case DM_MAPIO_SUBMITTED: @@ -1301,10 +1345,18 @@ ret = generic_make_request(clone); break; case DM_MAPIO_KILL: + if (unlikely(swap_bios_limit(ti, clone))) { + struct mapped_device *md = io->md; + up(&md->swap_bios_semaphore); + } free_tio(tio); dec_pending(io, BLK_STS_IOERR); break; case DM_MAPIO_REQUEUE: + if (unlikely(swap_bios_limit(ti, clone))) { + struct mapped_device *md = io->md; + up(&md->swap_bios_semaphore); + } free_tio(tio); dec_pending(io, BLK_STS_DM_REQUEUE); break; @@ -1726,23 +1778,6 @@ return ret; } -static void dm_queue_split(struct mapped_device *md, struct dm_target *ti, struct bio **bio) -{ - unsigned len, sector_count; - - sector_count = bio_sectors(*bio); - len = min_t(sector_t, max_io_len((*bio)->bi_iter.bi_sector, ti), sector_count); - - if (sector_count > len) { - struct bio *split = bio_split(*bio, len, GFP_NOIO, &md->queue->bio_split); - - bio_chain(split, *bio); - trace_block_split(md->queue, split, (*bio)->bi_iter.bi_sector); - generic_make_request(*bio); - *bio = split; - } -} - static blk_qc_t dm_process_bio(struct mapped_device *md, struct dm_table *map, struct bio *bio) { @@ -1770,14 +1805,12 @@ if (current->bio_list) { if (is_abnormal_io(bio)) blk_queue_split(md->queue, &bio); - else - dm_queue_split(md, ti, &bio); + /* regular IO is split by __split_and_process_bio */ } if (dm_get_md_type(md) == DM_TYPE_NVME_BIO_BASED) return __process_bio(md, map, bio, ti); - else - return __split_and_process_bio(md, map, bio); + return __split_and_process_bio(md, map, bio); } static blk_qc_t dm_make_request(struct request_queue *q, struct bio *bio) @@ -1931,6 +1964,7 @@ mutex_destroy(&md->suspend_lock); mutex_destroy(&md->type_lock); mutex_destroy(&md->table_devices_lock); + mutex_destroy(&md->swap_bios_lock); dm_mq_cleanup_mapped_device(md); } @@ -1999,6 +2033,10 @@ init_waitqueue_head(&md->eventq); init_completion(&md->kobj_holder.completion); + md->swap_bios = get_swap_bios(); + sema_init(&md->swap_bios_semaphore, md->swap_bios); + mutex_init(&md->swap_bios_lock); + md->disk->major = _major; md->disk->first_minor = minor; md->disk->fops = &dm_blk_dops; @@ -3318,6 +3356,9 @@ module_param(dm_numa_node, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(dm_numa_node, "NUMA node for DM device memory allocations"); +module_param(swap_bios, int, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(swap_bios, "Maximum allowed inflight swap IOs"); + MODULE_DESCRIPTION(DM_NAME " driver"); MODULE_AUTHOR("Joe Thornber "); MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/md/dm.h +++ linux-riscv-5.8-5.8.0/drivers/md/dm.h @@ -74,7 +74,7 @@ struct dm_md_mempools *dm_table_get_md_mempools(struct dm_table *t); bool dm_table_supports_dax(struct dm_table *t, iterate_devices_callout_fn fn, int *blocksize); -int device_supports_dax(struct dm_target *ti, struct dm_dev *dev, +int device_not_dax_capable(struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data); void dm_lock_md_type(struct mapped_device *md); --- linux-riscv-5.8-5.8.0.orig/drivers/md/md-bitmap.c +++ linux-riscv-5.8-5.8.0/drivers/md/md-bitmap.c @@ -1367,7 +1367,7 @@ if (bitmap->bp[page].hijacked || bitmap->bp[page].map == NULL) csize = ((sector_t)1) << (bitmap->chunkshift + - PAGE_COUNTER_SHIFT - 1); + PAGE_COUNTER_SHIFT); else csize = ((sector_t)1) << bitmap->chunkshift; *blocks = csize - (offset & (csize - 1)); @@ -1949,6 +1949,7 @@ } EXPORT_SYMBOL_GPL(md_bitmap_load); +/* caller need to free returned bitmap with md_bitmap_free() */ struct bitmap *get_bitmap_from_slot(struct mddev *mddev, int slot) { int rv = 0; @@ -2012,6 +2013,7 @@ md_bitmap_unplug(mddev->bitmap); *low = lo; *high = hi; + md_bitmap_free(bitmap); return rv; } @@ -2615,4 +2617,3 @@ .name = "bitmap", .attrs = md_bitmap_attrs, }; - --- linux-riscv-5.8-5.8.0.orig/drivers/md/md-cluster.c +++ linux-riscv-5.8-5.8.0/drivers/md/md-cluster.c @@ -664,9 +664,27 @@ * Takes the lock on the TOKEN lock resource so no other * node can communicate while the operation is underway. */ -static int lock_token(struct md_cluster_info *cinfo, bool mddev_locked) +static int lock_token(struct md_cluster_info *cinfo) { - int error, set_bit = 0; + int error; + + error = dlm_lock_sync(cinfo->token_lockres, DLM_LOCK_EX); + if (error) { + pr_err("md-cluster(%s:%d): failed to get EX on TOKEN (%d)\n", + __func__, __LINE__, error); + } else { + /* Lock the receive sequence */ + mutex_lock(&cinfo->recv_mutex); + } + return error; +} + +/* lock_comm() + * Sets the MD_CLUSTER_SEND_LOCK bit to lock the send channel. + */ +static int lock_comm(struct md_cluster_info *cinfo, bool mddev_locked) +{ + int rv, set_bit = 0; struct mddev *mddev = cinfo->mddev; /* @@ -677,34 +695,19 @@ */ if (mddev_locked && !test_bit(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, &cinfo->state)) { - error = test_and_set_bit_lock(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, + rv = test_and_set_bit_lock(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, &cinfo->state); - WARN_ON_ONCE(error); + WARN_ON_ONCE(rv); md_wakeup_thread(mddev->thread); set_bit = 1; } - error = dlm_lock_sync(cinfo->token_lockres, DLM_LOCK_EX); - if (set_bit) - clear_bit_unlock(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, &cinfo->state); - if (error) - pr_err("md-cluster(%s:%d): failed to get EX on TOKEN (%d)\n", - __func__, __LINE__, error); - - /* Lock the receive sequence */ - mutex_lock(&cinfo->recv_mutex); - return error; -} - -/* lock_comm() - * Sets the MD_CLUSTER_SEND_LOCK bit to lock the send channel. - */ -static int lock_comm(struct md_cluster_info *cinfo, bool mddev_locked) -{ wait_event(cinfo->wait, !test_and_set_bit(MD_CLUSTER_SEND_LOCK, &cinfo->state)); - - return lock_token(cinfo, mddev_locked); + rv = lock_token(cinfo); + if (set_bit) + clear_bit_unlock(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, &cinfo->state); + return rv; } static void unlock_comm(struct md_cluster_info *cinfo) @@ -784,9 +787,11 @@ { int ret; - lock_comm(cinfo, mddev_locked); - ret = __sendmsg(cinfo, cmsg); - unlock_comm(cinfo); + ret = lock_comm(cinfo, mddev_locked); + if (!ret) { + ret = __sendmsg(cinfo, cmsg); + unlock_comm(cinfo); + } return ret; } @@ -1061,7 +1066,7 @@ return 0; } - ret = lock_token(cinfo, 1); + ret = lock_token(cinfo); clear_bit_unlock(MD_CLUSTER_HOLDING_MUTEX_FOR_RECVD, &cinfo->state); return ret; } @@ -1139,6 +1144,7 @@ bitmap = get_bitmap_from_slot(mddev, i); if (IS_ERR(bitmap)) { pr_err("can't get bitmap from slot %d\n", i); + bitmap = NULL; goto out; } counts = &bitmap->counts; @@ -1165,6 +1171,7 @@ * can't resize bitmap */ goto out; + md_bitmap_free(bitmap); } return 0; @@ -1253,7 +1260,10 @@ int raid_slot = -1; md_update_sb(mddev, 1); - lock_comm(cinfo, 1); + if (lock_comm(cinfo, 1)) { + pr_err("%s: lock_comm failed\n", __func__); + return; + } memset(&cmsg, 0, sizeof(cmsg)); cmsg.type = cpu_to_le32(METADATA_UPDATED); @@ -1405,7 +1415,8 @@ cmsg.type = cpu_to_le32(NEWDISK); memcpy(cmsg.uuid, uuid, 16); cmsg.raid_slot = cpu_to_le32(rdev->desc_nr); - lock_comm(cinfo, 1); + if (lock_comm(cinfo, 1)) + return -EAGAIN; ret = __sendmsg(cinfo, &cmsg); if (ret) { unlock_comm(cinfo); @@ -1518,6 +1529,7 @@ } } kfree(cinfo->other_bitmap_lockres); + cinfo->other_bitmap_lockres = NULL; } } --- linux-riscv-5.8-5.8.0.orig/drivers/md/md.c +++ linux-riscv-5.8-5.8.0/drivers/md/md.c @@ -463,24 +463,46 @@ } EXPORT_SYMBOL(md_handle_request); +struct md_io { + struct mddev *mddev; + bio_end_io_t *orig_bi_end_io; + void *orig_bi_private; + unsigned long start_time; +}; + +static void md_end_io(struct bio *bio) +{ + struct md_io *md_io = bio->bi_private; + struct mddev *mddev = md_io->mddev; + + disk_end_io_acct(mddev->gendisk, bio_op(bio), md_io->start_time); + + bio->bi_end_io = md_io->orig_bi_end_io; + bio->bi_private = md_io->orig_bi_private; + + mempool_free(md_io, &mddev->md_io_pool); + + if (bio->bi_end_io) + bio->bi_end_io(bio); +} + static blk_qc_t md_make_request(struct request_queue *q, struct bio *bio) { const int rw = bio_data_dir(bio); - const int sgrp = op_stat_group(bio_op(bio)); struct mddev *mddev = bio->bi_disk->private_data; - unsigned int sectors; - if (unlikely(test_bit(MD_BROKEN, &mddev->flags)) && (rw == WRITE)) { + if (mddev == NULL || mddev->pers == NULL) { bio_io_error(bio); return BLK_QC_T_NONE; } - blk_queue_split(q, &bio); - - if (mddev == NULL || mddev->pers == NULL) { + if (unlikely(test_bit(MD_BROKEN, &mddev->flags)) && (rw == WRITE)) { bio_io_error(bio); return BLK_QC_T_NONE; } + + blk_queue_split(q, &bio); + if (mddev->ro == 1 && unlikely(rw == WRITE)) { if (bio_sectors(bio) != 0) bio->bi_status = BLK_STS_IOERR; @@ -488,21 +510,27 @@ return BLK_QC_T_NONE; } - /* - * save the sectors now since our bio can - * go away inside make_request - */ - sectors = bio_sectors(bio); + if (bio->bi_end_io != md_end_io) { + struct md_io *md_io; + + md_io = mempool_alloc(&mddev->md_io_pool, GFP_NOIO); + md_io->mddev = mddev; + md_io->orig_bi_end_io = bio->bi_end_io; + md_io->orig_bi_private = bio->bi_private; + + bio->bi_end_io = md_end_io; + bio->bi_private = md_io; + + md_io->start_time = disk_start_io_acct(mddev->gendisk, + bio_sectors(bio), + bio_op(bio)); + } + /* bio could be mergeable after passing to underlayer */ bio->bi_opf &= ~REQ_NOMERGE; md_handle_request(mddev, bio); - part_stat_lock(); - part_stat_inc(&mddev->gendisk->part0, ios[sgrp]); - part_stat_add(&mddev->gendisk->part0, sectors[sgrp], sectors); - part_stat_unlock(); - return BLK_QC_T_NONE; } @@ -635,8 +663,10 @@ * could wait for this and below md_handle_request could wait for those * bios because of suspend check */ + spin_lock_irq(&mddev->lock); mddev->last_flush = mddev->start_flush; mddev->flush_bio = NULL; + spin_unlock_irq(&mddev->lock); wake_up(&mddev->sb_wait); if (bio->bi_iter.bi_size == 0) { @@ -5545,6 +5575,7 @@ bioset_exit(&mddev->bio_set); bioset_exit(&mddev->sync_set); + mempool_exit(&mddev->md_io_pool); kfree(mddev); } @@ -5640,6 +5671,11 @@ */ mddev->hold_active = UNTIL_STOP; + error = mempool_init_kmalloc_pool(&mddev->md_io_pool, BIO_POOL_SIZE, + sizeof(struct md_io)); + if (error) + goto abort; + error = -ENOMEM; mddev->queue = blk_alloc_queue(md_make_request, NUMA_NO_NODE); if (!mddev->queue) @@ -6884,8 +6920,10 @@ goto busy; kick_rdev: - if (mddev_is_clustered(mddev)) - md_cluster_ops->remove_disk(mddev, rdev); + if (mddev_is_clustered(mddev)) { + if (md_cluster_ops->remove_disk(mddev, rdev)) + goto busy; + } md_kick_rdev_from_array(rdev); set_bit(MD_SB_CHANGE_DEVS, &mddev->sb_flags); @@ -7215,6 +7253,7 @@ return -EINVAL; if (mddev->sync_thread || test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) || + test_bit(MD_RESYNCING_REMOTE, &mddev->recovery) || mddev->reshape_position != MaxSector) return -EBUSY; @@ -7533,8 +7572,11 @@ err = -EBUSY; goto out; } - WARN_ON_ONCE(test_bit(MD_CLOSING, &mddev->flags)); - set_bit(MD_CLOSING, &mddev->flags); + if (test_and_set_bit(MD_CLOSING, &mddev->flags)) { + mutex_unlock(&mddev->open_mutex); + err = -EBUSY; + goto out; + } did_set_md_closing = true; mutex_unlock(&mddev->open_mutex); sync_blockdev(bdev); @@ -8524,6 +8566,26 @@ EXPORT_SYMBOL(md_write_end); +/* This is used by raid0 and raid10 */ +void md_submit_discard_bio(struct mddev *mddev, struct md_rdev *rdev, + struct bio *bio, sector_t start, sector_t size) +{ + struct bio *discard_bio = NULL; + + if (__blkdev_issue_discard(rdev->bdev, start, size, GFP_NOIO, 0, + &discard_bio) || !discard_bio) + return; + + bio_chain(discard_bio, bio); + bio_clone_blkg_association(discard_bio, bio); + if (mddev->gendisk) + trace_block_bio_remap(bdev_get_queue(rdev->bdev), + discard_bio, disk_devt(mddev->gendisk), + bio->bi_iter.bi_sector); + generic_make_request(discard_bio); +} +EXPORT_SYMBOL_GPL(md_submit_discard_bio); + /* md_allow_write(mddev) * Calling this ensures that the array is marked 'active' so that writes * may proceed without blocking. It is important to call this before @@ -9488,7 +9550,7 @@ goto err_misc_wq; md_rdev_misc_wq = alloc_workqueue("md_rdev_misc", 0, 0); - if (!md_misc_wq) + if (!md_rdev_misc_wq) goto err_rdev_misc_wq; if ((ret = register_blkdev(MD_MAJOR, "md")) < 0) @@ -9586,8 +9648,11 @@ } } - if (mddev->raid_disks != le32_to_cpu(sb->raid_disks)) - update_raid_disks(mddev, le32_to_cpu(sb->raid_disks)); + if (mddev->raid_disks != le32_to_cpu(sb->raid_disks)) { + ret = update_raid_disks(mddev, le32_to_cpu(sb->raid_disks)); + if (ret) + pr_warn("md: updating array disks failed. %d\n", ret); + } /* * Since mddev->delta_disks has already updated in update_raid_disks, --- linux-riscv-5.8-5.8.0.orig/drivers/md/md.h +++ linux-riscv-5.8-5.8.0/drivers/md/md.h @@ -481,6 +481,7 @@ struct bio_set sync_set; /* for sync operations like * metadata and bitmap writes */ + mempool_t md_io_pool; /* Generic flush handling. * The last to finish preflush schedules a worker to submit @@ -709,6 +710,8 @@ extern void md_done_sync(struct mddev *mddev, int blocks, int ok); extern void md_error(struct mddev *mddev, struct md_rdev *rdev); extern void md_finish_reshape(struct mddev *mddev); +void md_submit_discard_bio(struct mddev *mddev, struct md_rdev *rdev, + struct bio *bio, sector_t start, sector_t size); extern int mddev_congested(struct mddev *mddev, int bits); extern bool __must_check md_flush_request(struct mddev *mddev, struct bio *bio); --- linux-riscv-5.8-5.8.0.orig/drivers/md/persistent-data/dm-block-manager.c +++ linux-riscv-5.8-5.8.0/drivers/md/persistent-data/dm-block-manager.c @@ -493,7 +493,7 @@ void *p; int r; - if (bm->read_only) + if (dm_bm_is_read_only(bm)) return -EPERM; p = dm_bufio_read(bm->bufio, b, (struct dm_buffer **) result); @@ -562,7 +562,7 @@ struct buffer_aux *aux; void *p; - if (bm->read_only) + if (dm_bm_is_read_only(bm)) return -EPERM; p = dm_bufio_new(bm->bufio, b, (struct dm_buffer **) result); @@ -602,7 +602,7 @@ int dm_bm_flush(struct dm_block_manager *bm) { - if (bm->read_only) + if (dm_bm_is_read_only(bm)) return -EPERM; return dm_bufio_write_dirty_buffers(bm->bufio); @@ -616,19 +616,21 @@ bool dm_bm_is_read_only(struct dm_block_manager *bm) { - return bm->read_only; + return (bm ? bm->read_only : true); } EXPORT_SYMBOL_GPL(dm_bm_is_read_only); void dm_bm_set_read_only(struct dm_block_manager *bm) { - bm->read_only = true; + if (bm) + bm->read_only = true; } EXPORT_SYMBOL_GPL(dm_bm_set_read_only); void dm_bm_set_read_write(struct dm_block_manager *bm) { - bm->read_only = false; + if (bm) + bm->read_only = false; } EXPORT_SYMBOL_GPL(dm_bm_set_read_write); --- linux-riscv-5.8-5.8.0.orig/drivers/md/raid0.c +++ linux-riscv-5.8-5.8.0/drivers/md/raid0.c @@ -152,11 +152,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", + conf->layout = RAID0_ALT_MULTIZONE_LAYOUT; + pr_warn("md/raid0:%s: !!! DEFAULTING TO ALTERNATE LAYOUT !!!\n", mdname(mddev)); - pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n"); - err = -ENOTSUPP; - goto abort; + 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"); } /* * now since we have the hard sector sizes, we can make sure @@ -525,7 +526,6 @@ for (disk = 0; disk < zone->nb_dev; disk++) { sector_t dev_start, dev_end; - struct bio *discard_bio = NULL; struct md_rdev *rdev; if (disk < start_disk_index) @@ -548,18 +548,9 @@ rdev = conf->devlist[(zone - conf->strip_zone) * conf->strip_zone[0].nb_dev + disk]; - if (__blkdev_issue_discard(rdev->bdev, + md_submit_discard_bio(mddev, rdev, bio, dev_start + zone->dev_start + rdev->data_offset, - dev_end - dev_start, GFP_NOIO, 0, &discard_bio) || - !discard_bio) - continue; - bio_chain(discard_bio, bio); - bio_clone_blkg_association(discard_bio, bio); - if (mddev->gendisk) - trace_block_bio_remap(bdev_get_queue(rdev->bdev), - discard_bio, disk_devt(mddev->gendisk), - bio->bi_iter.bi_sector); - generic_make_request(discard_bio); + dev_end - dev_start); } bio_endio(bio); } --- linux-riscv-5.8-5.8.0.orig/drivers/md/raid10.c +++ linux-riscv-5.8-5.8.0/drivers/md/raid10.c @@ -91,7 +91,7 @@ static void * r10bio_pool_alloc(gfp_t gfp_flags, void *data) { struct r10conf *conf = data; - int size = offsetof(struct r10bio, devs[conf->copies]); + int size = offsetof(struct r10bio, devs[conf->geo.raid_disks]); /* allocate a r10bio with room for raid_disks entries in the * bios array */ @@ -238,7 +238,7 @@ { int i; - for (i = 0; i < conf->copies; i++) { + for (i = 0; i < conf->geo.raid_disks; i++) { struct bio **bio = & r10_bio->devs[i].bio; if (!BIO_SPECIAL(*bio)) bio_put(*bio); @@ -327,7 +327,7 @@ int slot; int repl = 0; - for (slot = 0; slot < conf->copies; slot++) { + for (slot = 0; slot < conf->geo.raid_disks; slot++) { if (r10_bio->devs[slot].bio == bio) break; if (r10_bio->devs[slot].repl_bio == bio) { @@ -336,7 +336,6 @@ } } - BUG_ON(slot == conf->copies); update_head_pos(slot, r10_bio); if (slotp) @@ -1145,7 +1144,7 @@ struct md_rdev *err_rdev = NULL; gfp_t gfp = GFP_NOIO; - if (r10_bio->devs[slot].rdev) { + if (slot >= 0 && r10_bio->devs[slot].rdev) { /* * This is an error retry, but we cannot * safely dereference the rdev in the r10_bio, @@ -1293,12 +1292,77 @@ } } +static void wait_blocked_dev(struct mddev *mddev, struct r10bio *r10_bio) +{ + int i; + struct r10conf *conf = mddev->private; + struct md_rdev *blocked_rdev; + +retry_wait: + blocked_rdev = NULL; + rcu_read_lock(); + for (i = 0; i < conf->copies; i++) { + struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); + struct md_rdev *rrdev = rcu_dereference( + conf->mirrors[i].replacement); + if (rdev == rrdev) + rrdev = NULL; + if (rdev && unlikely(test_bit(Blocked, &rdev->flags))) { + atomic_inc(&rdev->nr_pending); + blocked_rdev = rdev; + break; + } + if (rrdev && unlikely(test_bit(Blocked, &rrdev->flags))) { + atomic_inc(&rrdev->nr_pending); + blocked_rdev = rrdev; + break; + } + + if (rdev && test_bit(WriteErrorSeen, &rdev->flags)) { + sector_t first_bad; + sector_t dev_sector = r10_bio->devs[i].addr; + int bad_sectors; + int is_bad; + + /* + * Discard request doesn't care the write result + * so it doesn't need to wait blocked disk here. + */ + if (!r10_bio->sectors) + continue; + + is_bad = is_badblock(rdev, dev_sector, r10_bio->sectors, + &first_bad, &bad_sectors); + if (is_bad < 0) { + /* + * Mustn't write here until the bad block + * is acknowledged + */ + atomic_inc(&rdev->nr_pending); + set_bit(BlockedBadBlocks, &rdev->flags); + blocked_rdev = rdev; + break; + } + } + } + rcu_read_unlock(); + + if (unlikely(blocked_rdev)) { + /* Have to wait for this device to get unblocked, then retry */ + allow_barrier(conf); + raid10_log(conf->mddev, "%s wait rdev %d blocked", + __func__, blocked_rdev->raid_disk); + md_wait_for_blocked_rdev(blocked_rdev, mddev); + wait_barrier(conf); + goto retry_wait; + } +} + static void raid10_write_request(struct mddev *mddev, struct bio *bio, struct r10bio *r10_bio) { struct r10conf *conf = mddev->private; int i; - struct md_rdev *blocked_rdev; sector_t sectors; int max_sectors; @@ -1356,8 +1420,9 @@ r10_bio->read_slot = -1; /* make sure repl_bio gets freed */ raid10_find_phys(conf, r10_bio); -retry_write: - blocked_rdev = NULL; + + wait_blocked_dev(mddev, r10_bio); + rcu_read_lock(); max_sectors = r10_bio->sectors; @@ -1368,16 +1433,6 @@ conf->mirrors[d].replacement); if (rdev == rrdev) rrdev = NULL; - if (rdev && unlikely(test_bit(Blocked, &rdev->flags))) { - atomic_inc(&rdev->nr_pending); - blocked_rdev = rdev; - break; - } - if (rrdev && unlikely(test_bit(Blocked, &rrdev->flags))) { - atomic_inc(&rrdev->nr_pending); - blocked_rdev = rrdev; - break; - } if (rdev && (test_bit(Faulty, &rdev->flags))) rdev = NULL; if (rrdev && (test_bit(Faulty, &rrdev->flags))) @@ -1398,15 +1453,6 @@ is_bad = is_badblock(rdev, dev_sector, max_sectors, &first_bad, &bad_sectors); - if (is_bad < 0) { - /* Mustn't write here until the bad block - * is acknowledged - */ - atomic_inc(&rdev->nr_pending); - set_bit(BlockedBadBlocks, &rdev->flags); - blocked_rdev = rdev; - break; - } if (is_bad && first_bad <= dev_sector) { /* Cannot write here at all */ bad_sectors -= (dev_sector - first_bad); @@ -1442,35 +1488,6 @@ } rcu_read_unlock(); - if (unlikely(blocked_rdev)) { - /* Have to wait for this device to get unblocked, then retry */ - int j; - int d; - - for (j = 0; j < i; j++) { - if (r10_bio->devs[j].bio) { - d = r10_bio->devs[j].devnum; - rdev_dec_pending(conf->mirrors[d].rdev, mddev); - } - if (r10_bio->devs[j].repl_bio) { - struct md_rdev *rdev; - d = r10_bio->devs[j].devnum; - rdev = conf->mirrors[d].replacement; - if (!rdev) { - /* Race with remove_disk */ - smp_mb(); - rdev = conf->mirrors[d].rdev; - } - rdev_dec_pending(rdev, mddev); - } - } - allow_barrier(conf); - raid10_log(conf->mddev, "wait rdev %d blocked", blocked_rdev->raid_disk); - md_wait_for_blocked_rdev(blocked_rdev, mddev); - wait_barrier(conf); - goto retry_write; - } - if (max_sectors < r10_bio->sectors) r10_bio->sectors = max_sectors; @@ -1510,7 +1527,9 @@ r10_bio->mddev = mddev; r10_bio->sector = bio->bi_iter.bi_sector; r10_bio->state = 0; - memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * conf->copies); + r10_bio->read_slot = -1; + memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * + conf->geo.raid_disks); if (bio_data_dir(bio) == READ) raid10_read_request(mddev, bio, r10_bio); @@ -1518,6 +1537,304 @@ raid10_write_request(mddev, bio, r10_bio); } +static void raid_end_discard_bio(struct r10bio *r10bio) +{ + struct r10conf *conf = r10bio->mddev->private; + struct r10bio *first_r10bio; + + while (atomic_dec_and_test(&r10bio->remaining)) { + + allow_barrier(conf); + + if (!test_bit(R10BIO_Discard, &r10bio->state)) { + first_r10bio = (struct r10bio *)r10bio->master_bio; + free_r10bio(r10bio); + r10bio = first_r10bio; + } else { + md_write_end(r10bio->mddev); + bio_endio(r10bio->master_bio); + free_r10bio(r10bio); + break; + } + } +} + +static void raid10_end_discard_request(struct bio *bio) +{ + struct r10bio *r10_bio = bio->bi_private; + struct r10conf *conf = r10_bio->mddev->private; + struct md_rdev *rdev = NULL; + int dev; + int slot, repl; + + /* + * We don't care the return value of discard bio + */ + if (!test_bit(R10BIO_Uptodate, &r10_bio->state)) + set_bit(R10BIO_Uptodate, &r10_bio->state); + + dev = find_bio_disk(conf, r10_bio, bio, &slot, &repl); + if (repl) + rdev = conf->mirrors[dev].replacement; + if (!rdev) { + /* + * raid10_remove_disk uses smp_mb to make sure rdev is set to + * replacement before setting replacement to NULL. It can read + * rdev first without barrier protect even replacment is NULL + */ + smp_rmb(); + rdev = conf->mirrors[dev].rdev; + } + + raid_end_discard_bio(r10_bio); + rdev_dec_pending(rdev, conf->mddev); +} + +/* + * There are some limitations to handle discard bio + * 1st, the discard size is bigger than stripe_size*2. + * 2st, if the discard bio spans reshape progress, we use the old way to + * handle discard bio + */ +static int raid10_handle_discard(struct mddev *mddev, struct bio *bio) +{ + struct r10conf *conf = mddev->private; + struct geom *geo = &conf->geo; + int far_copies = geo->far_copies; + bool first_copy = true; + struct r10bio *r10_bio, *first_r10bio; + struct bio *split; + int disk; + sector_t chunk; + unsigned int stripe_size; + unsigned int stripe_data_disks; + sector_t split_size; + sector_t bio_start, bio_end; + sector_t first_stripe_index, last_stripe_index; + sector_t start_disk_offset; + unsigned int start_disk_index; + sector_t end_disk_offset; + unsigned int end_disk_index; + unsigned int remainder; + + if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) + return -EAGAIN; + + wait_barrier(conf); + + /* + * Check reshape again to avoid reshape happens after checking + * MD_RECOVERY_RESHAPE and before wait_barrier + */ + if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) + goto out; + + if (geo->near_copies) + stripe_data_disks = geo->raid_disks / geo->near_copies + + geo->raid_disks % geo->near_copies; + else + stripe_data_disks = geo->raid_disks; + + stripe_size = stripe_data_disks << geo->chunk_shift; + + bio_start = bio->bi_iter.bi_sector; + bio_end = bio_end_sector(bio); + + /* + * Maybe one discard bio is smaller than strip size or across one + * stripe and discard region is larger than one stripe size. For far + * offset layout, if the discard region is not aligned with stripe + * size, there is hole when we submit discard bio to member disk. + * For simplicity, we only handle discard bio which discard region + * is bigger than stripe_size * 2 + */ + if (bio_sectors(bio) < stripe_size*2) + goto out; + + /* + * Keep bio aligned with strip size. + */ + div_u64_rem(bio_start, stripe_size, &remainder); + if (remainder) { + split_size = stripe_size - remainder; + split = bio_split(bio, split_size, GFP_NOIO, &conf->bio_split); + bio_chain(split, bio); + allow_barrier(conf); + /* Resend the fist split part */ + generic_make_request(split); + wait_barrier(conf); + } + div_u64_rem(bio_end, stripe_size, &remainder); + if (remainder) { + split_size = bio_sectors(bio) - remainder; + split = bio_split(bio, split_size, GFP_NOIO, &conf->bio_split); + bio_chain(split, bio); + allow_barrier(conf); + /* Resend the second split part */ + generic_make_request(bio); + bio = split; + wait_barrier(conf); + } + + bio_start = bio->bi_iter.bi_sector; + bio_end = bio_end_sector(bio); + + /* + * Raid10 uses chunk as the unit to store data. It's similar like raid0. + * One stripe contains the chunks from all member disk (one chunk from + * one disk at the same HBA address). For layout detail, see 'man md 4' + */ + chunk = bio_start >> geo->chunk_shift; + chunk *= geo->near_copies; + first_stripe_index = chunk; + start_disk_index = sector_div(first_stripe_index, geo->raid_disks); + if (geo->far_offset) + first_stripe_index *= geo->far_copies; + start_disk_offset = (bio_start & geo->chunk_mask) + + (first_stripe_index << geo->chunk_shift); + + chunk = bio_end >> geo->chunk_shift; + chunk *= geo->near_copies; + last_stripe_index = chunk; + end_disk_index = sector_div(last_stripe_index, geo->raid_disks); + if (geo->far_offset) + last_stripe_index *= geo->far_copies; + end_disk_offset = (bio_end & geo->chunk_mask) + + (last_stripe_index << geo->chunk_shift); + +retry_discard: + r10_bio = mempool_alloc(&conf->r10bio_pool, GFP_NOIO); + r10_bio->mddev = mddev; + r10_bio->state = 0; + r10_bio->sectors = 0; + memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * geo->raid_disks); + wait_blocked_dev(mddev, r10_bio); + + /* + * For far layout it needs more than one r10bio to cover all regions. + * Inspired by raid10_sync_request, we can use the first r10bio->master_bio + * to record the discard bio. Other r10bio->master_bio record the first + * r10bio. The first r10bio only release after all other r10bios finish. + * The discard bio returns only first r10bio finishes + */ + if (first_copy) { + r10_bio->master_bio = bio; + set_bit(R10BIO_Discard, &r10_bio->state); + first_copy = false; + first_r10bio = r10_bio; + } else + r10_bio->master_bio = (struct bio *)first_r10bio; + + rcu_read_lock(); + for (disk = 0; disk < geo->raid_disks; disk++) { + struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev); + struct md_rdev *rrdev = rcu_dereference( + conf->mirrors[disk].replacement); + + r10_bio->devs[disk].bio = NULL; + r10_bio->devs[disk].repl_bio = NULL; + + if (rdev && (test_bit(Faulty, &rdev->flags))) + rdev = NULL; + if (rrdev && (test_bit(Faulty, &rrdev->flags))) + rrdev = NULL; + if (!rdev && !rrdev) + continue; + + if (rdev) { + r10_bio->devs[disk].bio = bio; + atomic_inc(&rdev->nr_pending); + } + if (rrdev) { + r10_bio->devs[disk].repl_bio = bio; + atomic_inc(&rrdev->nr_pending); + } + } + rcu_read_unlock(); + + atomic_set(&r10_bio->remaining, 1); + for (disk = 0; disk < geo->raid_disks; disk++) { + sector_t dev_start, dev_end; + struct bio *mbio, *rbio = NULL; + struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev); + struct md_rdev *rrdev = rcu_dereference( + conf->mirrors[disk].replacement); + + /* + * Now start to calculate the start and end address for each disk. + * The space between dev_start and dev_end is the discard region. + * + * For dev_start, it needs to consider three conditions: + * 1st, the disk is before start_disk, you can imagine the disk in + * the next stripe. So the dev_start is the start address of next + * stripe. + * 2st, the disk is after start_disk, it means the disk is at the + * same stripe of first disk + * 3st, the first disk itself, we can use start_disk_offset directly + */ + if (disk < start_disk_index) + dev_start = (first_stripe_index + 1) * mddev->chunk_sectors; + else if (disk > start_disk_index) + dev_start = first_stripe_index * mddev->chunk_sectors; + else + dev_start = start_disk_offset; + + if (disk < end_disk_index) + dev_end = (last_stripe_index + 1) * mddev->chunk_sectors; + else if (disk > end_disk_index) + dev_end = last_stripe_index * mddev->chunk_sectors; + else + dev_end = end_disk_offset; + + /* + * It only handles discard bio which size is >= stripe size, so + * dev_end > dev_start all the time + */ + if (r10_bio->devs[disk].bio) { + mbio = bio_clone_fast(bio, GFP_NOIO, &mddev->bio_set); + mbio->bi_end_io = raid10_end_discard_request; + mbio->bi_private = r10_bio; + r10_bio->devs[disk].bio = mbio; + r10_bio->devs[disk].devnum = disk; + atomic_inc(&r10_bio->remaining); + md_submit_discard_bio(mddev, rdev, mbio, + dev_start + choose_data_offset(r10_bio, rdev), + dev_end - dev_start); + bio_endio(mbio); + } + if (r10_bio->devs[disk].repl_bio) { + rbio = bio_clone_fast(bio, GFP_NOIO, &mddev->bio_set); + rbio->bi_end_io = raid10_end_discard_request; + rbio->bi_private = r10_bio; + r10_bio->devs[disk].repl_bio = rbio; + r10_bio->devs[disk].devnum = disk; + atomic_inc(&r10_bio->remaining); + md_submit_discard_bio(mddev, rrdev, rbio, + dev_start + choose_data_offset(r10_bio, rrdev), + dev_end - dev_start); + bio_endio(rbio); + } + } + + if (!geo->far_offset && --far_copies) { + first_stripe_index += geo->stride >> geo->chunk_shift; + start_disk_offset += geo->stride; + last_stripe_index += geo->stride >> geo->chunk_shift; + end_disk_offset += geo->stride; + atomic_inc(&first_r10bio->remaining); + raid_end_discard_bio(r10_bio); + wait_barrier(conf); + goto retry_discard; + } + + raid_end_discard_bio(r10_bio); + + return 0; +out: + allow_barrier(conf); + return -EAGAIN; +} + static bool raid10_make_request(struct mddev *mddev, struct bio *bio) { struct r10conf *conf = mddev->private; @@ -1532,6 +1849,10 @@ if (!md_write_start(mddev, bio)) return false; + if (unlikely(bio_op(bio) == REQ_OP_DISCARD)) + if (!raid10_handle_discard(mddev, bio)) + return true; + /* * If this request crosses a chunk boundary, we need to split * it. @@ -3762,7 +4083,7 @@ chunk_size = mddev->chunk_sectors << 9; if (mddev->queue) { blk_queue_max_discard_sectors(mddev->queue, - mddev->chunk_sectors); + UINT_MAX); blk_queue_max_write_same_sectors(mddev->queue, 0); blk_queue_max_write_zeroes_sectors(mddev->queue, 0); blk_queue_io_min(mddev->queue, chunk_size); --- linux-riscv-5.8-5.8.0.orig/drivers/md/raid10.h +++ linux-riscv-5.8-5.8.0/drivers/md/raid10.h @@ -179,5 +179,6 @@ R10BIO_Previous, /* failfast devices did receive failfast requests. */ R10BIO_FailFast, + R10BIO_Discard, }; #endif --- linux-riscv-5.8-5.8.0.orig/drivers/md/raid5.c +++ linux-riscv-5.8-5.8.0/drivers/md/raid5.c @@ -2410,8 +2410,6 @@ } else err = -ENOMEM; - mutex_unlock(&conf->cache_size_mutex); - conf->slab_cache = sc; conf->active_name = 1-conf->active_name; @@ -2434,6 +2432,8 @@ if (!err) conf->pool_size = newsize; + mutex_unlock(&conf->cache_size_mutex); + return err; } @@ -3607,6 +3607,7 @@ * is missing/faulty, then we need to read everything we can. */ if (sh->raid_conf->level != 6 && + sh->raid_conf->rmw_level != PARITY_DISABLE_RMW && sh->sector < sh->raid_conf->mddev->recovery_cp) /* reconstruct-write isn't being forced */ return 0; @@ -4842,7 +4843,7 @@ * or to load a block that is being partially written. */ if (s.to_read || s.non_overwrite - || (conf->level == 6 && s.to_write && s.failed) + || (s.to_write && s.failed) || (s.syncing && (s.uptodate + s.compute < disks)) || s.replacing || s.expanding) --- linux-riscv-5.8-5.8.0.orig/drivers/media/cec/core/cec-adap.c +++ linux-riscv-5.8-5.8.0/drivers/media/cec/core/cec-adap.c @@ -1199,7 +1199,7 @@ /* Cancel the pending timeout work */ if (!cancel_delayed_work(&data->work)) { mutex_unlock(&adap->lock); - flush_scheduled_work(); + cancel_delayed_work_sync(&data->work); mutex_lock(&adap->lock); } /* --- linux-riscv-5.8-5.8.0.orig/drivers/media/cec/core/cec-api.c +++ linux-riscv-5.8-5.8.0/drivers/media/cec/core/cec-api.c @@ -147,7 +147,13 @@ struct cec_log_addrs log_addrs; mutex_lock(&adap->lock); - log_addrs = adap->log_addrs; + /* + * We use memcpy here instead of assignment since there is a + * hole at the end of struct cec_log_addrs that an assignment + * might ignore. So when we do copy_to_user() we could leak + * one byte of memory. + */ + memcpy(&log_addrs, &adap->log_addrs, sizeof(log_addrs)); if (!adap->is_configured) memset(log_addrs.log_addr, CEC_LOG_ADDR_INVALID, sizeof(log_addrs.log_addr)); --- linux-riscv-5.8-5.8.0.orig/drivers/media/cec/platform/Makefile +++ linux-riscv-5.8-5.8.0/drivers/media/cec/platform/Makefile @@ -10,5 +10,6 @@ obj-$(CONFIG_CEC_SAMSUNG_S5P) += s5p/ obj-$(CONFIG_CEC_SECO) += seco/ obj-$(CONFIG_CEC_STI) += sti/ +obj-$(CONFIG_CEC_STM32) += stm32/ obj-$(CONFIG_CEC_TEGRA) += tegra/ --- linux-riscv-5.8-5.8.0.orig/drivers/media/cec/platform/cros-ec/cros-ec-cec.c +++ linux-riscv-5.8-5.8.0/drivers/media/cec/platform/cros-ec/cros-ec-cec.c @@ -277,11 +277,7 @@ platform_set_drvdata(pdev, cros_ec_cec); cros_ec_cec->cros_ec = cros_ec; - ret = device_init_wakeup(&pdev->dev, 1); - if (ret) { - dev_err(&pdev->dev, "failed to initialize wakeup\n"); - return ret; - } + device_init_wakeup(&pdev->dev, 1); cros_ec_cec->adap = cec_allocate_adapter(&cros_ec_cec_ops, cros_ec_cec, DRV_NAME, --- linux-riscv-5.8-5.8.0.orig/drivers/media/cec/usb/pulse8/pulse8-cec.c +++ linux-riscv-5.8-5.8.0/drivers/media/cec/usb/pulse8/pulse8-cec.c @@ -88,13 +88,15 @@ MSGCODE_SET_PHYSICAL_ADDRESS, /* 0x20 */ MSGCODE_GET_DEVICE_TYPE, MSGCODE_SET_DEVICE_TYPE, - MSGCODE_GET_HDMI_VERSION, + MSGCODE_GET_HDMI_VERSION, /* Removed in FW >= 10 */ MSGCODE_SET_HDMI_VERSION, MSGCODE_GET_OSD_NAME, MSGCODE_SET_OSD_NAME, MSGCODE_WRITE_EEPROM, MSGCODE_GET_ADAPTER_TYPE, /* 0x28 */ MSGCODE_SET_ACTIVE_SOURCE, + MSGCODE_GET_AUTO_POWER_ON, /* New for FW >= 10 */ + MSGCODE_SET_AUTO_POWER_ON, MSGCODE_FRAME_EOM = 0x80, MSGCODE_FRAME_ACK = 0x40, @@ -143,6 +145,8 @@ "WRITE_EEPROM", "GET_ADAPTER_TYPE", "SET_ACTIVE_SOURCE", + "GET_AUTO_POWER_ON", + "SET_AUTO_POWER_ON", }; static const char *pulse8_msgname(u8 cmd) @@ -579,12 +583,14 @@ if (err) goto unlock; - cmd[0] = MSGCODE_SET_HDMI_VERSION; - cmd[1] = adap->log_addrs.cec_version; - err = pulse8_send_and_wait(pulse8, cmd, 2, - MSGCODE_COMMAND_ACCEPTED, 0); - if (err) - goto unlock; + if (pulse8->vers < 10) { + cmd[0] = MSGCODE_SET_HDMI_VERSION; + cmd[1] = adap->log_addrs.cec_version; + err = pulse8_send_and_wait(pulse8, cmd, 2, + MSGCODE_COMMAND_ACCEPTED, 0); + if (err) + goto unlock; + } if (adap->log_addrs.osd_name[0]) { size_t osd_len = strlen(adap->log_addrs.osd_name); @@ -650,7 +656,6 @@ struct pulse8 *pulse8 = serio_get_drvdata(serio); cec_unregister_adapter(pulse8->adap); - pulse8->serio = NULL; serio_set_drvdata(serio, NULL); serio_close(serio); } @@ -692,6 +697,14 @@ dev_dbg(pulse8->dev, "Autonomous mode: %s", data[0] ? "on" : "off"); + if (pulse8->vers >= 10) { + cmd[0] = MSGCODE_GET_AUTO_POWER_ON; + err = pulse8_send_and_wait(pulse8, cmd, 1, cmd[0], 1); + if (!err) + dev_dbg(pulse8->dev, "Auto Power On: %s", + data[0] ? "on" : "off"); + } + cmd[0] = MSGCODE_GET_DEVICE_TYPE; err = pulse8_send_and_wait(pulse8, cmd, 1, cmd[0], 1); if (err) @@ -753,12 +766,15 @@ dev_dbg(pulse8->dev, "Physical address: %x.%x.%x.%x\n", cec_phys_addr_exp(*pa)); - cmd[0] = MSGCODE_GET_HDMI_VERSION; - err = pulse8_send_and_wait(pulse8, cmd, 1, cmd[0], 1); - if (err) - return err; - log_addrs->cec_version = data[0]; - dev_dbg(pulse8->dev, "CEC version: %d\n", log_addrs->cec_version); + log_addrs->cec_version = CEC_OP_CEC_VERSION_1_4; + if (pulse8->vers < 10) { + cmd[0] = MSGCODE_GET_HDMI_VERSION; + err = pulse8_send_and_wait(pulse8, cmd, 1, cmd[0], 1); + if (err) + return err; + log_addrs->cec_version = data[0]; + dev_dbg(pulse8->dev, "CEC version: %d\n", log_addrs->cec_version); + } cmd[0] = MSGCODE_GET_OSD_NAME; err = pulse8_send_and_wait(pulse8, cmd, 1, cmd[0], 0); @@ -830,8 +846,10 @@ pulse8->adap = cec_allocate_adapter(&pulse8_cec_adap_ops, pulse8, dev_name(&serio->dev), caps, 1); err = PTR_ERR_OR_ZERO(pulse8->adap); - if (err < 0) - goto free_device; + if (err < 0) { + kfree(pulse8); + return err; + } pulse8->dev = &serio->dev; serio_set_drvdata(serio, pulse8); @@ -874,8 +892,6 @@ serio_close(serio); delete_adap: cec_delete_adapter(pulse8->adap); -free_device: - kfree(pulse8); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/common/siano/smsdvb-main.c +++ linux-riscv-5.8-5.8.0/drivers/media/common/siano/smsdvb-main.c @@ -1169,12 +1169,15 @@ rc = dvb_create_media_graph(&client->adapter, true); if (rc < 0) { pr_err("dvb_create_media_graph failed %d\n", rc); - goto client_error; + goto media_graph_error; } pr_info("DVB interface registered.\n"); return 0; +media_graph_error: + smsdvb_debugfs_release(client); + client_error: dvb_unregister_frontend(&client->frontend); --- linux-riscv-5.8-5.8.0.orig/drivers/media/firewire/firedtv-fw.c +++ linux-riscv-5.8-5.8.0/drivers/media/firewire/firedtv-fw.c @@ -272,6 +272,10 @@ name_len = fw_csr_string(unit->directory, CSR_MODEL, name, sizeof(name)); + if (name_len < 0) { + err = name_len; + goto fail_free; + } for (i = ARRAY_SIZE(model_names); --i; ) if (strlen(model_names[i]) <= name_len && strncmp(name, model_names[i], name_len) == 0) --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/Kconfig @@ -728,7 +728,7 @@ config VIDEO_IMX214 tristate "Sony IMX214 sensor support" depends on GPIOLIB && I2C && VIDEO_V4L2 - depends on V4L2_FWNODE + select V4L2_FWNODE select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/imx214.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/imx214.c @@ -786,7 +786,7 @@ if (ret < 0) goto err_rpm_put; } else { - ret = imx214_start_streaming(imx214); + ret = imx214_stop_streaming(imx214); if (ret < 0) goto err_rpm_put; pm_runtime_put(imx214->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/imx219.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/imx219.c @@ -473,8 +473,8 @@ .width = 3280, .height = 2464, .crop = { - .left = 0, - .top = 0, + .left = IMX219_PIXEL_ARRAY_LEFT, + .top = IMX219_PIXEL_ARRAY_TOP, .width = 3280, .height = 2464 }, @@ -489,8 +489,8 @@ .width = 1920, .height = 1080, .crop = { - .left = 680, - .top = 692, + .left = 688, + .top = 700, .width = 1920, .height = 1080 }, @@ -505,8 +505,8 @@ .width = 1640, .height = 1232, .crop = { - .left = 0, - .top = 0, + .left = IMX219_PIXEL_ARRAY_LEFT, + .top = IMX219_PIXEL_ARRAY_TOP, .width = 3280, .height = 2464 }, @@ -521,8 +521,8 @@ .width = 640, .height = 480, .crop = { - .left = 1000, - .top = 752, + .left = 1008, + .top = 760, .width = 1280, .height = 960 }, @@ -1008,6 +1008,7 @@ return 0; case V4L2_SEL_TGT_CROP_DEFAULT: + case V4L2_SEL_TGT_CROP_BOUNDS: sel->r.top = IMX219_PIXEL_ARRAY_TOP; sel->r.left = IMX219_PIXEL_ARRAY_LEFT; sel->r.width = IMX219_PIXEL_ARRAY_WIDTH; --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/imx274.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/imx274.c @@ -1235,6 +1235,8 @@ ret = imx274_set_frame_interval(imx274, fi->interval); if (!ret) { + fi->interval = imx274->frame_interval; + /* * exposure time range is decided by frame interval * need to update it after frame interval changes @@ -1730,9 +1732,9 @@ __func__, frame_interval.numerator, frame_interval.denominator); - if (frame_interval.numerator == 0) { - err = -EINVAL; - goto fail; + if (frame_interval.numerator == 0 || frame_interval.denominator == 0) { + frame_interval.denominator = IMX274_DEF_FRAME_RATE; + frame_interval.numerator = 1; } req_frame_rate = (u32)(frame_interval.denominator --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/imx290.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/imx290.c @@ -628,7 +628,7 @@ } usleep_range(1, 2); - gpiod_set_value_cansleep(imx290->rst_gpio, 1); + gpiod_set_value_cansleep(imx290->rst_gpio, 0); usleep_range(30000, 31000); return 0; @@ -641,7 +641,7 @@ struct imx290 *imx290 = to_imx290(sd); clk_disable_unprepare(imx290->xclk); - gpiod_set_value_cansleep(imx290->rst_gpio, 0); + gpiod_set_value_cansleep(imx290->rst_gpio, 1); regulator_bulk_disable(IMX290_NUM_SUPPLIES, imx290->supplies); return 0; @@ -760,7 +760,8 @@ goto free_err; } - imx290->rst_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_ASIS); + imx290->rst_gpio = devm_gpiod_get_optional(dev, "reset", + GPIOD_OUT_HIGH); if (IS_ERR(imx290->rst_gpio)) { dev_err(dev, "Cannot get reset gpio\n"); ret = PTR_ERR(imx290->rst_gpio); --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/m5mols/m5mols_core.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/m5mols/m5mols_core.c @@ -764,7 +764,8 @@ ret = regulator_bulk_enable(ARRAY_SIZE(supplies), supplies); if (ret) { - info->set_power(&client->dev, 0); + if (info->set_power) + info->set_power(&client->dev, 0); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/max2175.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/max2175.c @@ -503,7 +503,7 @@ } } -static bool max2175_set_csm_mode(struct max2175 *ctx, +static int max2175_set_csm_mode(struct max2175 *ctx, enum max2175_csm_mode new_mode) { int ret = max2175_poll_csm_ready(ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/ov5640.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/ov5640.c @@ -34,6 +34,8 @@ #define OV5640_REG_SYS_RESET02 0x3002 #define OV5640_REG_SYS_CLOCK_ENABLE02 0x3006 #define OV5640_REG_SYS_CTRL0 0x3008 +#define OV5640_REG_SYS_CTRL0_SW_PWDN 0x42 +#define OV5640_REG_SYS_CTRL0_SW_PWUP 0x02 #define OV5640_REG_CHIP_ID 0x300a #define OV5640_REG_IO_MIPI_CTRL00 0x300e #define OV5640_REG_PAD_OUTPUT_ENABLE01 0x3017 @@ -274,8 +276,7 @@ /* YUV422 UYVY VGA@30fps */ static const struct reg_value ov5640_init_setting_30fps_VGA[] = { {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0}, - {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0}, - {0x3630, 0x36, 0, 0}, + {0x3103, 0x03, 0, 0}, {0x3630, 0x36, 0, 0}, {0x3631, 0x0e, 0, 0}, {0x3632, 0xe2, 0, 0}, {0x3633, 0x12, 0, 0}, {0x3621, 0xe0, 0, 0}, {0x3704, 0xa0, 0, 0}, {0x3703, 0x5a, 0, 0}, {0x3715, 0x78, 0, 0}, {0x3717, 0x01, 0, 0}, {0x370b, 0x60, 0, 0}, @@ -751,7 +752,7 @@ * +->| PLL Root Div | - reg 0x3037, bit 4 * +-+------------+ * | +---------+ - * +->| Bit Div | - reg 0x3035, bits 0-3 + * +->| Bit Div | - reg 0x3034, bits 0-3 * +-+-------+ * | +-------------+ * +->| SCLK Div | - reg 0x3108, bits 0-1 @@ -1120,6 +1121,12 @@ val = regs->val; mask = regs->mask; + /* remain in power down mode for DVP */ + if (regs->reg_addr == OV5640_REG_SYS_CTRL0 && + val == OV5640_REG_SYS_CTRL0_SW_PWUP && + sensor->ep.bus_type != V4L2_MBUS_CSI2_DPHY) + continue; + if (mask) ret = ov5640_mod_reg(sensor, reg_addr, mask, val); else @@ -1275,31 +1282,9 @@ if (ret) return ret; - /* - * enable VSYNC/HREF/PCLK DVP control lines - * & D[9:6] DVP data lines - * - * PAD OUTPUT ENABLE 01 - * - 6: VSYNC output enable - * - 5: HREF output enable - * - 4: PCLK output enable - * - [3:0]: D[9:6] output enable - */ - ret = ov5640_write_reg(sensor, - OV5640_REG_PAD_OUTPUT_ENABLE01, - on ? 0x7f : 0); - if (ret) - return ret; - - /* - * enable D[5:0] DVP data lines - * - * PAD OUTPUT ENABLE 02 - * - [7:2]: D[5:0] output enable - */ - return ov5640_write_reg(sensor, - OV5640_REG_PAD_OUTPUT_ENABLE02, - on ? 0xfc : 0); + return ov5640_write_reg(sensor, OV5640_REG_SYS_CTRL0, on ? + OV5640_REG_SYS_CTRL0_SW_PWUP : + OV5640_REG_SYS_CTRL0_SW_PWDN); } static int ov5640_set_stream_mipi(struct ov5640_dev *sensor, bool on) @@ -2001,6 +1986,95 @@ clk_disable_unprepare(sensor->xclk); } +static int ov5640_set_power_mipi(struct ov5640_dev *sensor, bool on) +{ + int ret; + + if (!on) { + /* Reset MIPI bus settings to their default values. */ + ov5640_write_reg(sensor, OV5640_REG_IO_MIPI_CTRL00, 0x58); + ov5640_write_reg(sensor, OV5640_REG_MIPI_CTRL00, 0x04); + ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT00, 0x00); + return 0; + } + + /* + * Power up MIPI HS Tx and LS Rx; 2 data lanes mode + * + * 0x300e = 0x40 + * [7:5] = 010 : 2 data lanes mode (see FIXME note in + * "ov5640_set_stream_mipi()") + * [4] = 0 : Power up MIPI HS Tx + * [3] = 0 : Power up MIPI LS Rx + * [2] = 0 : MIPI interface disabled + */ + ret = ov5640_write_reg(sensor, OV5640_REG_IO_MIPI_CTRL00, 0x40); + if (ret) + return ret; + + /* + * Gate clock and set LP11 in 'no packets mode' (idle) + * + * 0x4800 = 0x24 + * [5] = 1 : Gate clock when 'no packets' + * [2] = 1 : MIPI bus in LP11 when 'no packets' + */ + ret = ov5640_write_reg(sensor, OV5640_REG_MIPI_CTRL00, 0x24); + if (ret) + return ret; + + /* + * Set data lanes and clock in LP11 when 'sleeping' + * + * 0x3019 = 0x70 + * [6] = 1 : MIPI data lane 2 in LP11 when 'sleeping' + * [5] = 1 : MIPI data lane 1 in LP11 when 'sleeping' + * [4] = 1 : MIPI clock lane in LP11 when 'sleeping' + */ + ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT00, 0x70); + if (ret) + return ret; + + /* Give lanes some time to coax into LP11 state. */ + usleep_range(500, 1000); + + return 0; +} + +static int ov5640_set_power_dvp(struct ov5640_dev *sensor, bool on) +{ + int ret; + + if (!on) { + /* Reset settings to their default values. */ + ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE01, 0x00); + ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE02, 0x00); + return 0; + } + + /* + * enable VSYNC/HREF/PCLK DVP control lines + * & D[9:6] DVP data lines + * + * PAD OUTPUT ENABLE 01 + * - 6: VSYNC output enable + * - 5: HREF output enable + * - 4: PCLK output enable + * - [3:0]: D[9:6] output enable + */ + ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE01, 0x7f); + if (ret) + return ret; + + /* + * enable D[5:0] DVP data lines + * + * PAD OUTPUT ENABLE 02 + * - [7:2]: D[5:0] output enable + */ + return ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE02, 0xfc); +} + static int ov5640_set_power(struct ov5640_dev *sensor, bool on) { int ret = 0; @@ -2013,67 +2087,17 @@ ret = ov5640_restore_mode(sensor); if (ret) goto power_off; + } - /* We're done here for DVP bus, while CSI-2 needs setup. */ - if (sensor->ep.bus_type != V4L2_MBUS_CSI2_DPHY) - return 0; - - /* - * Power up MIPI HS Tx and LS Rx; 2 data lanes mode - * - * 0x300e = 0x40 - * [7:5] = 010 : 2 data lanes mode (see FIXME note in - * "ov5640_set_stream_mipi()") - * [4] = 0 : Power up MIPI HS Tx - * [3] = 0 : Power up MIPI LS Rx - * [2] = 0 : MIPI interface disabled - */ - ret = ov5640_write_reg(sensor, - OV5640_REG_IO_MIPI_CTRL00, 0x40); - if (ret) - goto power_off; - - /* - * Gate clock and set LP11 in 'no packets mode' (idle) - * - * 0x4800 = 0x24 - * [5] = 1 : Gate clock when 'no packets' - * [2] = 1 : MIPI bus in LP11 when 'no packets' - */ - ret = ov5640_write_reg(sensor, - OV5640_REG_MIPI_CTRL00, 0x24); - if (ret) - goto power_off; - - /* - * Set data lanes and clock in LP11 when 'sleeping' - * - * 0x3019 = 0x70 - * [6] = 1 : MIPI data lane 2 in LP11 when 'sleeping' - * [5] = 1 : MIPI data lane 1 in LP11 when 'sleeping' - * [4] = 1 : MIPI clock lane in LP11 when 'sleeping' - */ - ret = ov5640_write_reg(sensor, - OV5640_REG_PAD_OUTPUT00, 0x70); - if (ret) - goto power_off; - - /* Give lanes some time to coax into LP11 state. */ - usleep_range(500, 1000); - - } else { - if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY) { - /* Reset MIPI bus settings to their default values. */ - ov5640_write_reg(sensor, - OV5640_REG_IO_MIPI_CTRL00, 0x58); - ov5640_write_reg(sensor, - OV5640_REG_MIPI_CTRL00, 0x04); - ov5640_write_reg(sensor, - OV5640_REG_PAD_OUTPUT00, 0x00); - } + if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY) + ret = ov5640_set_power_mipi(sensor, on); + else + ret = ov5640_set_power_dvp(sensor, on); + if (ret) + goto power_off; + if (!on) ov5640_set_power_off(sensor); - } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/ov5670.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/ov5670.c @@ -2084,7 +2084,8 @@ /* By default, V4L2_CID_PIXEL_RATE is read only */ ov5670->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &ov5670_ctrl_ops, - V4L2_CID_PIXEL_RATE, 0, + V4L2_CID_PIXEL_RATE, + link_freq_configs[0].pixel_rate, link_freq_configs[0].pixel_rate, 1, link_freq_configs[0].pixel_rate); --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/tc358743.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/tc358743.c @@ -919,8 +919,8 @@ .adap_monitor_all_enable = tc358743_cec_adap_monitor_all_enable, }; -static void tc358743_cec_isr(struct v4l2_subdev *sd, u16 intstatus, - bool *handled) +static void tc358743_cec_handler(struct v4l2_subdev *sd, u16 intstatus, + bool *handled) { struct tc358743_state *state = to_state(sd); unsigned int cec_rxint, cec_txint; @@ -953,7 +953,8 @@ cec_transmit_attempt_done(state->cec_adap, CEC_TX_STATUS_ERROR); } - *handled = true; + if (handled) + *handled = true; } if ((intstatus & MASK_CEC_RINT) && (cec_rxint & MASK_CECRIEND)) { @@ -968,7 +969,8 @@ msg.msg[i] = v & 0xff; } cec_received_msg(state->cec_adap, &msg); - *handled = true; + if (handled) + *handled = true; } i2c_wr16(sd, INTSTATUS, intstatus & (MASK_CEC_RINT | MASK_CEC_TINT)); @@ -1432,7 +1434,7 @@ #ifdef CONFIG_VIDEO_TC358743_CEC if (intstatus & (MASK_CEC_RINT | MASK_CEC_TINT)) { - tc358743_cec_isr(sd, intstatus, handled); + tc358743_cec_handler(sd, intstatus, handled); i2c_wr16(sd, INTSTATUS, intstatus & (MASK_CEC_RINT | MASK_CEC_TINT)); intstatus &= ~(MASK_CEC_RINT | MASK_CEC_TINT); @@ -1461,7 +1463,7 @@ static irqreturn_t tc358743_irq_handler(int irq, void *dev_id) { struct tc358743_state *state = dev_id; - bool handled; + bool handled = false; tc358743_isr(&state->sd, 0, &handled); --- linux-riscv-5.8-5.8.0.orig/drivers/media/i2c/tvp5150.c +++ linux-riscv-5.8-5.8.0/drivers/media/i2c/tvp5150.c @@ -1664,8 +1664,10 @@ return 0; err: - for (i = 0; i < decoder->connectors_num; i++) + for (i = 0; i < decoder->connectors_num; i++) { media_device_unregister_entity(&decoder->connectors[i].ent); + media_entity_cleanup(&decoder->connectors[i].ent); + } return ret; #endif @@ -2079,6 +2081,7 @@ ep_np = of_graph_get_endpoint_by_regs(np, TVP5150_PAD_VID_OUT, 0); if (!ep_np) { + ret = -EINVAL; dev_err(dev, "Error no output endpoint available\n"); goto err_free; } @@ -2248,8 +2251,10 @@ for (i = 0; i < decoder->connectors_num; i++) v4l2_fwnode_connector_free(&decoder->connectors[i].base); - for (i = 0; i < decoder->connectors_num; i++) + for (i = 0; i < decoder->connectors_num; i++) { media_device_unregister_entity(&decoder->connectors[i].ent); + media_entity_cleanup(&decoder->connectors[i].ent); + } v4l2_async_unregister_subdev(sd); v4l2_ctrl_handler_free(&decoder->hdl); pm_runtime_disable(&c->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/media/mc/mc-request.c +++ linux-riscv-5.8-5.8.0/drivers/media/mc/mc-request.c @@ -296,9 +296,18 @@ if (WARN_ON(!mdev->ops->req_alloc ^ !mdev->ops->req_free)) return -ENOMEM; + if (mdev->ops->req_alloc) + req = mdev->ops->req_alloc(mdev); + else + req = kzalloc(sizeof(*req), GFP_KERNEL); + if (!req) + return -ENOMEM; + fd = get_unused_fd_flags(O_CLOEXEC); - if (fd < 0) - return fd; + if (fd < 0) { + ret = fd; + goto err_free_req; + } filp = anon_inode_getfile("request", &request_fops, NULL, O_CLOEXEC); if (IS_ERR(filp)) { @@ -306,15 +315,6 @@ goto err_put_fd; } - if (mdev->ops->req_alloc) - req = mdev->ops->req_alloc(mdev); - else - req = kzalloc(sizeof(*req), GFP_KERNEL); - if (!req) { - ret = -ENOMEM; - goto err_fput; - } - filp->private_data = req; req->mdev = mdev; req->state = MEDIA_REQUEST_STATE_IDLE; @@ -336,12 +336,15 @@ return 0; -err_fput: - fput(filp); - err_put_fd: put_unused_fd(fd); +err_free_req: + if (mdev->ops->req_free) + mdev->ops->req_free(req); + else + kfree(req); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/bt8xx/bttv-driver.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/bt8xx/bttv-driver.c @@ -4013,11 +4013,13 @@ btv->id = dev->device; if (pci_enable_device(dev)) { pr_warn("%d: Can't enable device\n", btv->c.nr); - return -EIO; + result = -EIO; + goto free_mem; } if (pci_set_dma_mask(dev, DMA_BIT_MASK(32))) { pr_warn("%d: No suitable DMA available\n", btv->c.nr); - return -EIO; + result = -EIO; + goto free_mem; } if (!request_mem_region(pci_resource_start(dev,0), pci_resource_len(dev,0), @@ -4025,7 +4027,8 @@ pr_warn("%d: can't request iomem (0x%llx)\n", btv->c.nr, (unsigned long long)pci_resource_start(dev, 0)); - return -EBUSY; + result = -EBUSY; + goto free_mem; } pci_set_master(dev); pci_set_command(dev); @@ -4211,6 +4214,10 @@ release_mem_region(pci_resource_start(btv->c.pci,0), pci_resource_len(btv->c.pci,0)); pci_disable_device(btv->c.pci); + +free_mem: + bttvs[btv->c.nr] = NULL; + kfree(btv); return result; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/cx23885/cx23885-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/cx23885/cx23885-core.c @@ -2074,6 +2074,10 @@ * 0x1451 is PCI ID for the IOMMU found on Ryzen */ { PCI_VENDOR_ID_AMD, 0x1451 }, + /* According to sudo lspci -nn, + * 0x1423 is the PCI ID for the IOMMU found on Kaveri + */ + { PCI_VENDOR_ID_AMD, 0x1423 }, }; static bool cx23885_does_need_dma_reset(void) --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/cx25821/cx25821-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/cx25821/cx25821-core.c @@ -976,8 +976,10 @@ __le32 *cpu; dma_addr_t dma = 0; - if (NULL != risc->cpu && risc->size < size) + if (risc->cpu && risc->size < size) { pci_free_consistent(pci, risc->size, risc->cpu, risc->dma); + risc->cpu = NULL; + } if (NULL == risc->cpu) { cpu = pci_zalloc_consistent(pci, size, &dma); if (NULL == cpu) --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/intel/ipu3/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/media/pci/intel/ipu3/Kconfig @@ -2,7 +2,8 @@ config VIDEO_IPU3_CIO2 tristate "Intel ipu3-cio2 driver" depends on VIDEO_V4L2 && PCI - depends on (X86 && ACPI) || COMPILE_TEST + depends on ACPI || COMPILE_TEST + depends on X86 select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/intel/ipu3/ipu3-cio2.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/intel/ipu3/ipu3-cio2.c @@ -799,6 +799,7 @@ atomic_dec(&q->bufs_queued); vb2_buffer_done(&q->bufs[i]->vbb.vb2_buf, state); + q->bufs[i] = NULL; } } } @@ -1243,29 +1244,15 @@ struct v4l2_subdev_format *fmt) { struct cio2_queue *q = container_of(sd, struct cio2_queue, subdev); - struct v4l2_subdev_format format; - int ret; - - if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { - fmt->format = *v4l2_subdev_get_try_format(sd, cfg, fmt->pad); - return 0; - } - if (fmt->pad == CIO2_PAD_SINK) { - format.which = V4L2_SUBDEV_FORMAT_ACTIVE; - ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, - &format); + mutex_lock(&q->subdev_lock); - if (ret) - return ret; - /* update colorspace etc */ - q->subdev_fmt.colorspace = format.format.colorspace; - q->subdev_fmt.ycbcr_enc = format.format.ycbcr_enc; - q->subdev_fmt.quantization = format.format.quantization; - q->subdev_fmt.xfer_func = format.format.xfer_func; - } + if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) + fmt->format = *v4l2_subdev_get_try_format(sd, cfg, fmt->pad); + else + fmt->format = q->subdev_fmt; - fmt->format = q->subdev_fmt; + mutex_unlock(&q->subdev_lock); return 0; } @@ -1282,6 +1269,9 @@ struct v4l2_subdev_format *fmt) { struct cio2_queue *q = container_of(sd, struct cio2_queue, subdev); + struct v4l2_mbus_framefmt *mbus; + u32 mbus_code = fmt->format.code; + unsigned int i; /* * Only allow setting sink pad format; @@ -1290,16 +1280,29 @@ if (fmt->pad == CIO2_PAD_SOURCE) return cio2_subdev_get_fmt(sd, cfg, fmt); - if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { - *v4l2_subdev_get_try_format(sd, cfg, fmt->pad) = fmt->format; - } else { - /* It's the sink, allow changing frame size */ - q->subdev_fmt.width = fmt->format.width; - q->subdev_fmt.height = fmt->format.height; - q->subdev_fmt.code = fmt->format.code; - fmt->format = q->subdev_fmt; + if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) + mbus = v4l2_subdev_get_try_format(sd, cfg, fmt->pad); + else + mbus = &q->subdev_fmt; + + fmt->format.code = formats[0].mbus_code; + + for (i = 0; i < ARRAY_SIZE(formats); i++) { + if (formats[i].mbus_code == mbus_code) { + fmt->format.code = mbus_code; + break; + } } + fmt->format.width = min_t(u32, fmt->format.width, CIO2_IMAGE_MAX_WIDTH); + fmt->format.height = min_t(u32, fmt->format.height, + CIO2_IMAGE_MAX_LENGTH); + fmt->format.field = V4L2_FIELD_NONE; + + mutex_lock(&q->subdev_lock); + *mbus = fmt->format; + mutex_unlock(&q->subdev_lock); + return 0; } @@ -1558,6 +1561,7 @@ /* Initialize miscellaneous variables */ mutex_init(&q->lock); + mutex_init(&q->subdev_lock); /* Initialize formats to default values */ fmt = &q->subdev_fmt; @@ -1676,6 +1680,7 @@ fail_subdev_media_entity: cio2_fbpt_exit(q, &cio2->pci_dev->dev); fail_fbpt: + mutex_destroy(&q->subdev_lock); mutex_destroy(&q->lock); return r; @@ -1689,6 +1694,7 @@ v4l2_device_unregister_subdev(&q->subdev); media_entity_cleanup(&q->subdev.entity); cio2_fbpt_exit(q, &cio2->pci_dev->dev); + mutex_destroy(&q->subdev_lock); mutex_destroy(&q->lock); } --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/intel/ipu3/ipu3-cio2.h +++ linux-riscv-5.8-5.8.0/drivers/media/pci/intel/ipu3/ipu3-cio2.h @@ -332,6 +332,7 @@ /* Subdev, /dev/v4l-subdevX */ struct v4l2_subdev subdev; + struct mutex subdev_lock; /* Serialise acces to subdev_fmt field */ struct media_pad subdev_pads[CIO2_PADS]; struct v4l2_mbus_framefmt subdev_fmt; atomic_t frame_sequence; --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/netup_unidvb/netup_unidvb_spi.c @@ -175,7 +175,7 @@ struct spi_master *master; struct netup_spi *nspi; - master = spi_alloc_master(&ndev->pci_dev->dev, + master = devm_spi_alloc_master(&ndev->pci_dev->dev, sizeof(struct netup_spi)); if (!master) { dev_err(&ndev->pci_dev->dev, @@ -208,6 +208,7 @@ ndev->pci_slot, ndev->pci_func); if (!spi_new_device(master, &netup_spi_board)) { + spi_unregister_master(master); ndev->spi = NULL; dev_err(&ndev->pci_dev->dev, "%s(): unable to create SPI device\n", __func__); @@ -226,13 +227,13 @@ if (!spi) return; + spi_unregister_master(spi->master); spin_lock_irqsave(&spi->lock, flags); reg = readw(&spi->regs->control_stat); writew(reg | NETUP_SPI_CTRL_IRQ, &spi->regs->control_stat); reg = readw(&spi->regs->control_stat); writew(reg & ~NETUP_SPI_CTRL_IMASK, &spi->regs->control_stat); spin_unlock_irqrestore(&spi->lock, flags); - spi_unregister_master(spi->master); ndev->spi = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/saa7134/saa7134-empress.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/saa7134/saa7134-empress.c @@ -282,8 +282,11 @@ q->lock = &dev->lock; q->dev = &dev->pci->dev; err = vb2_queue_init(q); - if (err) + if (err) { + video_device_release(dev->empress_dev); + dev->empress_dev = NULL; return err; + } dev->empress_dev->queue = q; dev->empress_dev->device_caps = V4L2_CAP_READWRITE | V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE; --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/saa7134/saa7134-tvaudio.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/saa7134/saa7134-tvaudio.c @@ -683,7 +683,8 @@ { int err; - audio_dbg(2, "dsp write reg 0x%x = 0x%06x\n", reg << 2, value); + audio_dbg(2, "dsp write reg 0x%x = 0x%06x\n", + (reg << 2) & 0xffffffff, value); err = saa_dsp_wait_bit(dev,SAA7135_DSP_RWSTATE_WRR); if (err < 0) return err; --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/saa7146/mxb.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/saa7146/mxb.c @@ -641,16 +641,17 @@ struct mxb *mxb = (struct mxb *)dev->ext_priv; DEB_D("VIDIOC_S_AUDIO %d\n", a->index); - if (mxb_inputs[mxb->cur_input].audioset & (1 << a->index)) { - if (mxb->cur_audinput != a->index) { - mxb->cur_audinput = a->index; - tea6420_route(mxb, a->index); - if (mxb->cur_audinput == 0) - mxb_update_audmode(mxb); - } - return 0; + if (a->index >= 32 || + !(mxb_inputs[mxb->cur_input].audioset & (1 << a->index))) + return -EINVAL; + + if (mxb->cur_audinput != a->index) { + mxb->cur_audinput = a->index; + tea6420_route(mxb, a->index); + if (mxb->cur_audinput == 0) + mxb_update_audmode(mxb); } - return -EINVAL; + return 0; } #ifdef CONFIG_VIDEO_ADV_DEBUG --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/smipcie/smipcie-ir.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/smipcie/smipcie-ir.c @@ -60,39 +60,45 @@ { struct smi_dev *dev = ir->dev; struct rc_dev *rc_dev = ir->rc_dev; - u32 dwIRControl, dwIRData; - u8 index, ucIRCount, readLoop; + u32 control, data; + u8 index, ir_count, read_loop; - dwIRControl = smi_read(IR_Init_Reg); + control = smi_read(IR_Init_Reg); - if (dwIRControl & rbIRVld) { - ucIRCount = (u8) smi_read(IR_Data_Cnt); + dev_dbg(&rc_dev->dev, "ircontrol: 0x%08x\n", control); - readLoop = ucIRCount/4; - if (ucIRCount % 4) - readLoop += 1; - for (index = 0; index < readLoop; index++) { - dwIRData = smi_read(IR_DATA_BUFFER_BASE + (index * 4)); - - ir->irData[index*4 + 0] = (u8)(dwIRData); - ir->irData[index*4 + 1] = (u8)(dwIRData >> 8); - ir->irData[index*4 + 2] = (u8)(dwIRData >> 16); - ir->irData[index*4 + 3] = (u8)(dwIRData >> 24); + if (control & rbIRVld) { + ir_count = (u8)smi_read(IR_Data_Cnt); + + dev_dbg(&rc_dev->dev, "ircount %d\n", ir_count); + + read_loop = ir_count / 4; + if (ir_count % 4) + read_loop += 1; + for (index = 0; index < read_loop; index++) { + data = smi_read(IR_DATA_BUFFER_BASE + (index * 4)); + dev_dbg(&rc_dev->dev, "IRData 0x%08x\n", data); + + ir->irData[index * 4 + 0] = (u8)(data); + ir->irData[index * 4 + 1] = (u8)(data >> 8); + ir->irData[index * 4 + 2] = (u8)(data >> 16); + ir->irData[index * 4 + 3] = (u8)(data >> 24); } - smi_raw_process(rc_dev, ir->irData, ucIRCount); - smi_set(IR_Init_Reg, rbIRVld); + smi_raw_process(rc_dev, ir->irData, ir_count); } - if (dwIRControl & rbIRhighidle) { + if (control & rbIRhighidle) { struct ir_raw_event rawir = {}; + dev_dbg(&rc_dev->dev, "high idle\n"); + rawir.pulse = 0; rawir.duration = US_TO_NS(SMI_SAMPLE_PERIOD * SMI_SAMPLE_IDLEMIN); ir_raw_event_store_with_filter(rc_dev, &rawir); - smi_set(IR_Init_Reg, rbIRhighidle); } + smi_set(IR_Init_Reg, rbIRVld); ir_raw_event_handle(rc_dev); } @@ -151,7 +157,7 @@ rc_dev->dev.parent = &dev->pci_dev->dev; rc_dev->map_name = dev->info->rc_map; - rc_dev->timeout = MS_TO_NS(100); + rc_dev->timeout = US_TO_NS(SMI_SAMPLE_PERIOD * SMI_SAMPLE_IDLEMIN); rc_dev->rx_resolution = US_TO_NS(SMI_SAMPLE_PERIOD); ir->rc_dev = rc_dev; @@ -174,7 +180,7 @@ struct smi_rc *ir = &dev->ir; struct rc_dev *rc_dev = ir->rc_dev; - smi_ir_stop(ir); rc_unregister_device(rc_dev); + smi_ir_stop(ir); ir->rc_dev = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/solo6x10/solo6x10-g723.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/solo6x10/solo6x10-g723.c @@ -385,7 +385,7 @@ ret = snd_ctl_add(card, snd_ctl_new1(&kctl, solo_dev)); if (ret < 0) - return ret; + goto snd_error; ret = solo_snd_pcm_init(solo_dev); if (ret < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/ttpci/av7110.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/ttpci/av7110.c @@ -406,14 +406,15 @@ case DATA_CI_GET: { u8 *data = av7110->debi_virt; + u8 data_0 = data[0]; - if ((data[0] < 2) && data[2] == 0xff) { + if (data_0 < 2 && data[2] == 0xff) { int flags = 0; if (data[5] > 0) flags |= CA_CI_MODULE_PRESENT; if (data[5] > 5) flags |= CA_CI_MODULE_READY; - av7110->ci_slot[data[0]].flags = flags; + av7110->ci_slot[data_0].flags = flags; } else ci_get_data(&av7110->ci_rbuffer, av7110->debi_virt, --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/ttpci/budget-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/ttpci/budget-core.c @@ -369,20 +369,25 @@ ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &budget->hw_frontend); if (ret < 0) - return ret; + goto err_release_dmx; budget->mem_frontend.source = DMX_MEMORY_FE; ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &budget->mem_frontend); if (ret < 0) - return ret; + goto err_release_dmx; ret = dvbdemux->dmx.connect_frontend(&dvbdemux->dmx, &budget->hw_frontend); if (ret < 0) - return ret; + goto err_release_dmx; dvb_net_init(&budget->dvb_adapter, &budget->dvb_net, &dvbdemux->dmx); return 0; + +err_release_dmx: + dvb_dmxdev_release(&budget->dmxdev); + dvb_dmx_release(&budget->demux); + return ret; } static void budget_unregister(struct budget *budget) --- linux-riscv-5.8-5.8.0.orig/drivers/media/pci/tw5864/tw5864-video.c +++ linux-riscv-5.8-5.8.0/drivers/media/pci/tw5864/tw5864-video.c @@ -767,6 +767,9 @@ fintv->type = V4L2_FRMIVAL_TYPE_STEPWISE; ret = tw5864_frameinterval_get(input, &frameinterval); + if (ret) + return ret; + fintv->stepwise.step = frameinterval; fintv->stepwise.min = frameinterval; fintv->stepwise.max = frameinterval; @@ -785,6 +788,9 @@ cp->capability = V4L2_CAP_TIMEPERFRAME; ret = tw5864_frameinterval_get(input, &cp->timeperframe); + if (ret) + return ret; + cp->timeperframe.numerator *= input->frame_interval; cp->capturemode = 0; cp->readbuffers = 2; --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/aspeed-video.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/aspeed-video.c @@ -1551,12 +1551,12 @@ V4L2_JPEG_CHROMA_SUBSAMPLING_420, mask, V4L2_JPEG_CHROMA_SUBSAMPLING_444); - if (video->ctrl_handler.error) { + rc = video->ctrl_handler.error; + if (rc) { v4l2_ctrl_handler_free(&video->ctrl_handler); v4l2_device_unregister(v4l2_dev); - dev_err(video->dev, "Failed to init controls: %d\n", - video->ctrl_handler.error); + dev_err(video->dev, "Failed to init controls: %d\n", rc); return rc; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/coda/coda-jpeg.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/coda/coda-jpeg.c @@ -327,8 +327,11 @@ "only 8-bit quantization tables supported\n"); continue; } - if (!ctx->params.jpeg_qmat_tab[i]) + if (!ctx->params.jpeg_qmat_tab[i]) { ctx->params.jpeg_qmat_tab[i] = kmalloc(64, GFP_KERNEL); + if (!ctx->params.jpeg_qmat_tab[i]) + return -ENOMEM; + } memcpy(ctx->params.jpeg_qmat_tab[i], quantization_tables[i].start, 64); } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/davinci/vpif_capture.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/davinci/vpif_capture.c @@ -1482,8 +1482,6 @@ /* Unregister video device */ video_unregister_device(&ch->video_dev); } - kfree(vpif_obj.sd); - v4l2_device_unregister(&vpif_obj.v4l2_dev); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/davinci/vpss.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/davinci/vpss.c @@ -505,19 +505,31 @@ static int __init vpss_init(void) { + int ret; + if (!request_mem_region(VPSS_CLK_CTRL, 4, "vpss_clock_control")) return -EBUSY; oper_cfg.vpss_regs_base2 = ioremap(VPSS_CLK_CTRL, 4); if (unlikely(!oper_cfg.vpss_regs_base2)) { - release_mem_region(VPSS_CLK_CTRL, 4); - return -ENOMEM; + ret = -ENOMEM; + goto err_ioremap; } writel(VPSS_CLK_CTRL_VENCCLKEN | - VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2); + VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2); + + ret = platform_driver_register(&vpss_driver); + if (ret) + goto err_pd_register; + + return 0; - return platform_driver_register(&vpss_driver); +err_pd_register: + iounmap(oper_cfg.vpss_regs_base2); +err_ioremap: + release_mem_region(VPSS_CLK_CTRL, 4); + return ret; } subsys_initcall(vpss_init); module_exit(vpss_exit); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/exynos4-is/fimc-isp.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/exynos4-is/fimc-isp.c @@ -305,8 +305,10 @@ if (on) { ret = pm_runtime_get_sync(&is->pdev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put(&is->pdev->dev); return ret; + } set_bit(IS_ST_PWR_ON, &is->state); ret = fimc_is_start_firmware(is); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/exynos4-is/fimc-lite.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/exynos4-is/fimc-lite.c @@ -470,7 +470,7 @@ set_bit(ST_FLITE_IN_USE, &fimc->state); ret = pm_runtime_get_sync(&fimc->pdev->dev); if (ret < 0) - goto unlock; + goto err_pm; ret = v4l2_fh_open(file); if (ret < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/exynos4-is/media-dev.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/exynos4-is/media-dev.c @@ -484,8 +484,10 @@ return -ENXIO; ret = pm_runtime_get_sync(fmd->pmf); - if (ret < 0) + if (ret < 0) { + pm_runtime_put(fmd->pmf); return ret; + } fmd->num_sensors = 0; @@ -1268,6 +1270,7 @@ if (IS_ERR(pctl->state_default)) return PTR_ERR(pctl->state_default); + /* PINCTRL_STATE_IDLE is optional */ pctl->state_idle = pinctrl_lookup_state(pctl->pinctrl, PINCTRL_STATE_IDLE); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/exynos4-is/mipi-csis.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/exynos4-is/mipi-csis.c @@ -510,8 +510,10 @@ if (enable) { s5pcsis_clear_counters(state); ret = pm_runtime_get_sync(&state->pdev->dev); - if (ret && ret != 1) + if (ret && ret != 1) { + pm_runtime_put_noidle(&state->pdev->dev); return ret; + } } mutex_lock(&state->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/marvell-ccic/mcam-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/marvell-ccic/mcam-core.c @@ -1940,6 +1940,7 @@ out: v4l2_async_notifier_unregister(&cam->notifier); v4l2_device_unregister(&cam->v4l2_dev); + v4l2_async_notifier_cleanup(&cam->notifier); return ret; } EXPORT_SYMBOL_GPL(mccic_register); @@ -1961,6 +1962,7 @@ v4l2_ctrl_handler_free(&cam->ctrl_handler); v4l2_async_notifier_unregister(&cam->notifier); v4l2_device_unregister(&cam->v4l2_dev); + v4l2_async_notifier_cleanup(&cam->notifier); } EXPORT_SYMBOL_GPL(mccic_shutdown); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -571,6 +571,13 @@ if (!q_data) return -EINVAL; + if (*num_planes) { + for (i = 0; i < *num_planes; i++) + if (sizes[i] < q_data->sizeimage[i]) + return -EINVAL; + return 0; + } + *num_planes = q_data->fmt->colplanes; for (i = 0; i < q_data->fmt->colplanes; i++) { sizes[i] = q_data->sizeimage[i]; @@ -1074,6 +1081,11 @@ return PTR_ERR_OR_ZERO(jpeg->clk_jdec_smi); } +static inline void mtk_jpeg_clk_release(struct mtk_jpeg_dev *jpeg) +{ + put_device(jpeg->larb); +} + static int mtk_jpeg_probe(struct platform_device *pdev) { struct mtk_jpeg_dev *jpeg; @@ -1177,6 +1189,7 @@ v4l2_device_unregister(&jpeg->v4l2_dev); err_dev_register: + mtk_jpeg_clk_release(jpeg); err_clk_init: @@ -1194,6 +1207,7 @@ video_device_release(jpeg->dec_vdev); v4l2_m2m_release(jpeg->m2m_dev); v4l2_device_unregister(&jpeg->v4l2_dev); + mtk_jpeg_clk_release(jpeg); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c @@ -96,6 +96,7 @@ { struct device_node *larb_node; struct platform_device *larb_pdev; + int ret; int i; if (comp_id < 0 || comp_id >= MTK_MDP_COMP_ID_MAX) { @@ -113,8 +114,8 @@ if (IS_ERR(comp->clk[i])) { if (PTR_ERR(comp->clk[i]) != -EPROBE_DEFER) dev_err(dev, "Failed to get clock\n"); - - return PTR_ERR(comp->clk[i]); + ret = PTR_ERR(comp->clk[i]); + goto put_dev; } /* Only RDMA needs two clocks */ @@ -133,20 +134,27 @@ if (!larb_node) { dev_err(dev, "Missing mediadek,larb phandle in %pOF node\n", node); - return -EINVAL; + ret = -EINVAL; + goto put_dev; } larb_pdev = of_find_device_by_node(larb_node); if (!larb_pdev) { dev_warn(dev, "Waiting for larb device %pOF\n", larb_node); of_node_put(larb_node); - return -EPROBE_DEFER; + ret = -EPROBE_DEFER; + goto put_dev; } of_node_put(larb_node); comp->larb_dev = &larb_pdev->dev; return 0; + +put_dev: + of_node_put(comp->dev_node); + + return ret; } void mtk_mdp_comp_deinit(struct device *dev, struct mtk_mdp_comp *comp) --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c @@ -48,11 +48,14 @@ dec_clk->clk_info = devm_kcalloc(&pdev->dev, dec_clk->clk_num, sizeof(*clk_info), GFP_KERNEL); - if (!dec_clk->clk_info) - return -ENOMEM; + if (!dec_clk->clk_info) { + ret = -ENOMEM; + goto put_device; + } } else { mtk_v4l2_err("Failed to get vdec clock count"); - return -EINVAL; + ret = -EINVAL; + goto put_device; } for (i = 0; i < dec_clk->clk_num; i++) { @@ -61,25 +64,29 @@ "clock-names", i, &clk_info->clk_name); if (ret) { mtk_v4l2_err("Failed to get clock name id = %d", i); - return ret; + goto put_device; } clk_info->vcodec_clk = devm_clk_get(&pdev->dev, clk_info->clk_name); if (IS_ERR(clk_info->vcodec_clk)) { mtk_v4l2_err("devm_clk_get (%d)%s fail", i, clk_info->clk_name); - return PTR_ERR(clk_info->vcodec_clk); + ret = PTR_ERR(clk_info->vcodec_clk); + goto put_device; } } pm_runtime_enable(&pdev->dev); - + return 0; +put_device: + put_device(pm->larbvdec); return ret; } void mtk_vcodec_release_dec_pm(struct mtk_vcodec_dev *dev) { pm_runtime_disable(dev->pm.dev); + put_device(dev->pm.larbvdec); } void mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c @@ -49,14 +49,16 @@ node = of_parse_phandle(dev->of_node, "mediatek,larb", 1); if (!node) { mtk_v4l2_err("no mediatek,larb found"); - return -ENODEV; + ret = -ENODEV; + goto put_larbvenc; } pdev = of_find_device_by_node(node); of_node_put(node); if (!pdev) { mtk_v4l2_err("no mediatek,larb device found"); - return -ENODEV; + ret = -ENODEV; + goto put_larbvenc; } pm->larbvenclt = &pdev->dev; @@ -69,11 +71,14 @@ enc_clk->clk_info = devm_kcalloc(&pdev->dev, enc_clk->clk_num, sizeof(*clk_info), GFP_KERNEL); - if (!enc_clk->clk_info) - return -ENOMEM; + if (!enc_clk->clk_info) { + ret = -ENOMEM; + goto put_larbvenclt; + } } else { mtk_v4l2_err("Failed to get venc clock count"); - return -EINVAL; + ret = -EINVAL; + goto put_larbvenclt; } for (i = 0; i < enc_clk->clk_num; i++) { @@ -82,17 +87,24 @@ "clock-names", i, &clk_info->clk_name); if (ret) { mtk_v4l2_err("venc failed to get clk name %d", i); - return ret; + goto put_larbvenclt; } clk_info->vcodec_clk = devm_clk_get(&pdev->dev, clk_info->clk_name); if (IS_ERR(clk_info->vcodec_clk)) { mtk_v4l2_err("venc devm_clk_get (%d)%s fail", i, clk_info->clk_name); - return PTR_ERR(clk_info->vcodec_clk); + ret = PTR_ERR(clk_info->vcodec_clk); + goto put_larbvenclt; } } + return 0; + +put_larbvenclt: + put_device(pm->larbvenclt); +put_larbvenc: + put_device(pm->larbvenc); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c @@ -891,7 +891,8 @@ memset(inst->seg_id_buf.va, 0, inst->seg_id_buf.size); if (vsi->show_frame & BIT(2)) { - if (vpu_dec_start(&inst->vpu, NULL, 0)) { + ret = vpu_dec_start(&inst->vpu, NULL, 0); + if (ret) { mtk_vcodec_err(inst, "vpu trig decoder failed"); goto DECODE_ERROR; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/mx2_emmaprp.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/mx2_emmaprp.c @@ -852,8 +852,11 @@ platform_set_drvdata(pdev, pcdev); irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; + if (irq < 0) { + ret = irq; + goto rel_vdev; + } + ret = devm_request_irq(&pdev->dev, irq, emmaprp_irq, 0, dev_name(&pdev->dev), pcdev); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/omap3isp/isp.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/omap3isp/isp.c @@ -2328,8 +2328,10 @@ mem = platform_get_resource(pdev, IORESOURCE_MEM, i); isp->mmio_base[map_idx] = devm_ioremap_resource(isp->dev, mem); - if (IS_ERR(isp->mmio_base[map_idx])) - return PTR_ERR(isp->mmio_base[map_idx]); + if (IS_ERR(isp->mmio_base[map_idx])) { + ret = PTR_ERR(isp->mmio_base[map_idx]); + goto error; + } } ret = isp_get_clocks(isp); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/omap3isp/isppreview.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/omap3isp/isppreview.c @@ -2287,7 +2287,7 @@ me->ops = &preview_media_ops; ret = media_entity_pads_init(me, PREV_PADS_NUM, pads); if (ret < 0) - return ret; + goto error_handler_free; preview_init_formats(sd, NULL); @@ -2320,6 +2320,8 @@ omap3isp_video_cleanup(&prev->video_in); error_video_in: media_entity_cleanup(&prev->subdev.entity); +error_handler_free: + v4l2_ctrl_handler_free(&prev->ctrls); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/pxa_camera.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/pxa_camera.c @@ -1447,6 +1447,9 @@ struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vb->vb2_queue); struct pxa_buffer *buf = vb2_to_pxa_buffer(vb); int ret = 0; +#ifdef DEBUG + int i; +#endif switch (pcdev->channels) { case 1: --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/camss/camss-csiphy.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/camss/camss-csiphy.c @@ -176,8 +176,10 @@ int ret; ret = pm_runtime_get_sync(dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_sync(dev); return ret; + } ret = csiphy_set_clock_rates(csiphy); if (ret < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/camss/camss-video.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/camss/camss-video.c @@ -901,6 +901,7 @@ video->nformats = ARRAY_SIZE(formats_rdi_8x96); } } else { + ret = -EINVAL; goto error_video_register; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/camss/camss.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/camss/camss.c @@ -504,7 +504,6 @@ return num_subdevs; err_cleanup: - v4l2_async_notifier_cleanup(&camss->notifier); of_node_put(node); return ret; } @@ -835,29 +834,38 @@ camss->csid_num = 4; camss->vfe_num = 2; } else { - return -EINVAL; + ret = -EINVAL; + goto err_free; } camss->csiphy = devm_kcalloc(dev, camss->csiphy_num, sizeof(*camss->csiphy), GFP_KERNEL); - if (!camss->csiphy) - return -ENOMEM; + if (!camss->csiphy) { + ret = -ENOMEM; + goto err_free; + } camss->csid = devm_kcalloc(dev, camss->csid_num, sizeof(*camss->csid), GFP_KERNEL); - if (!camss->csid) - return -ENOMEM; + if (!camss->csid) { + ret = -ENOMEM; + goto err_free; + } camss->vfe = devm_kcalloc(dev, camss->vfe_num, sizeof(*camss->vfe), GFP_KERNEL); - if (!camss->vfe) - return -ENOMEM; + if (!camss->vfe) { + ret = -ENOMEM; + goto err_free; + } v4l2_async_notifier_init(&camss->notifier); num_subdevs = camss_of_parse_ports(camss); - if (num_subdevs < 0) - return num_subdevs; + if (num_subdevs < 0) { + ret = num_subdevs; + goto err_cleanup; + } ret = camss_init_subdevices(camss); if (ret < 0) @@ -936,6 +944,8 @@ v4l2_device_unregister(&camss->v4l2_dev); err_cleanup: v4l2_async_notifier_cleanup(&camss->notifier); +err_free: + kfree(camss); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/venus/core.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/venus/core.c @@ -224,13 +224,15 @@ ret = dma_set_mask_and_coherent(dev, core->res->dma_mask); if (ret) - return ret; + goto err_core_put; if (!dev->dma_parms) { dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL); - if (!dev->dma_parms) - return -ENOMEM; + if (!dev->dma_parms) { + ret = -ENOMEM; + goto err_core_put; + } } dma_set_max_seg_size(dev, DMA_BIT_MASK(32)); @@ -242,11 +244,11 @@ IRQF_TRIGGER_HIGH | IRQF_ONESHOT, "venus", core); if (ret) - return ret; + goto err_core_put; ret = hfi_create(core, &venus_core_ops); if (ret) - return ret; + goto err_core_put; pm_runtime_enable(dev); @@ -287,8 +289,10 @@ goto err_core_deinit; ret = pm_runtime_put_sync(dev); - if (ret) + if (ret) { + pm_runtime_get_noresume(dev); goto err_dev_unregister; + } return 0; @@ -299,9 +303,13 @@ err_venus_shutdown: venus_shutdown(core); err_runtime_disable: + pm_runtime_put_noidle(dev); pm_runtime_set_suspended(dev); pm_runtime_disable(dev); hfi_destroy(core); +err_core_put: + if (core->pm_ops->core_put) + core->pm_ops->core_put(dev); return ret; } @@ -351,12 +359,26 @@ if (ret) return ret; + if (pm_ops->core_power) { + ret = pm_ops->core_power(dev, POWER_OFF); + if (ret) + return ret; + } + ret = icc_set_bw(core->cpucfg_path, 0, 0); if (ret) - return ret; + goto err_cpucfg_path; - if (pm_ops->core_power) - ret = pm_ops->core_power(dev, POWER_OFF); + ret = icc_set_bw(core->video_path, 0, 0); + if (ret) + goto err_video_path; + + return ret; + +err_video_path: + icc_set_bw(core->cpucfg_path, kbps_to_icc(1000), 0); +err_cpucfg_path: + pm_ops->core_power(dev, POWER_ON); return ret; } @@ -367,16 +389,20 @@ const struct venus_pm_ops *pm_ops = core->pm_ops; int ret; + ret = icc_set_bw(core->video_path, kbps_to_icc(20000), 0); + if (ret) + return ret; + + ret = icc_set_bw(core->cpucfg_path, kbps_to_icc(1000), 0); + if (ret) + return ret; + if (pm_ops->core_power) { ret = pm_ops->core_power(dev, POWER_ON); if (ret) return ret; } - ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000)); - if (ret) - return ret; - return hfi_core_resume(core, false); } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/venus/pm_helpers.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/venus/pm_helpers.c @@ -212,6 +212,16 @@ } mutex_unlock(&core->lock); + /* + * keep minimum bandwidth vote for "video-mem" path, + * so that clks can be disabled during vdec_session_release(). + * Actual bandwidth drop will be done during device supend + * so that device can power down without any warnings. + */ + + if (!total_avg && !total_peak) + total_avg = kbps_to_icc(1000); + dev_dbg(core->dev, "total: avg_bw: %u, peak_bw: %u\n", total_avg, total_peak); @@ -496,6 +506,10 @@ list_for_each_entry(inst_pos, &core->instances, list) { if (inst_pos == inst) continue; + + if (inst_pos->state != INST_START) + continue; + vpp_freq = inst_pos->clk_data.codec_freq_data->vpp_freq; coreid = inst_pos->clk_data.core_id; --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/qcom/venus/vdec.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/qcom/venus/vdec.c @@ -1088,8 +1088,6 @@ break; } - INIT_LIST_HEAD(&inst->registeredbufs); - return ret; } @@ -1189,6 +1187,14 @@ static void vdec_buf_cleanup(struct vb2_buffer *vb) { struct venus_inst *inst = vb2_get_drv_priv(vb->vb2_queue); + struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); + struct venus_buffer *buf = to_venus_buffer(vbuf); + + mutex_lock(&inst->lock); + if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) + if (!list_empty(&inst->registeredbufs)) + list_del_init(&buf->reg_list); + mutex_unlock(&inst->lock); inst->buf_count--; if (!inst->buf_count) --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rcar-fcp.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rcar-fcp.c @@ -103,8 +103,10 @@ return 0; ret = pm_runtime_get_sync(fcp->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(fcp->dev); return ret; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rcar-vin/rcar-csi2.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rcar-vin/rcar-csi2.c @@ -361,7 +361,6 @@ struct media_pad pads[NR_OF_RCAR_CSI2_PAD]; struct v4l2_async_notifier notifier; - struct v4l2_async_subdev asd; struct v4l2_subdev *remote; struct v4l2_mbus_framefmt mf; @@ -810,6 +809,8 @@ static int rcsi2_parse_dt(struct rcar_csi2 *priv) { + struct v4l2_async_subdev *asd; + struct fwnode_handle *fwnode; struct device_node *ep; struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 }; int ret; @@ -833,24 +834,19 @@ return ret; } - priv->asd.match.fwnode = - fwnode_graph_get_remote_endpoint(of_fwnode_handle(ep)); - priv->asd.match_type = V4L2_ASYNC_MATCH_FWNODE; - + fwnode = fwnode_graph_get_remote_endpoint(of_fwnode_handle(ep)); of_node_put(ep); - v4l2_async_notifier_init(&priv->notifier); - - ret = v4l2_async_notifier_add_subdev(&priv->notifier, &priv->asd); - if (ret) { - fwnode_handle_put(priv->asd.match.fwnode); - return ret; - } + dev_dbg(priv->dev, "Found '%pOF'\n", to_of_node(fwnode)); + v4l2_async_notifier_init(&priv->notifier); priv->notifier.ops = &rcar_csi2_notify_ops; - dev_dbg(priv->dev, "Found '%pOF'\n", - to_of_node(priv->asd.match.fwnode)); + asd = v4l2_async_notifier_add_fwnode_subdev(&priv->notifier, fwnode, + sizeof(*asd)); + fwnode_handle_put(fwnode); + if (IS_ERR(asd)) + return PTR_ERR(asd); ret = v4l2_async_subdev_notifier_register(&priv->subdev, &priv->notifier); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rcar-vin/rcar-dma.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rcar-vin/rcar-dma.c @@ -1392,8 +1392,10 @@ int ret; ret = pm_runtime_get_sync(vin->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(vin->dev); return ret; + } /* Make register writes take effect immediately. */ vnmc = rvin_read(vin, VNMC_REG); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rcar_drif.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rcar_drif.c @@ -185,7 +185,6 @@ /* OF graph endpoint's V4L2 async data */ struct rcar_drif_graph_ep { struct v4l2_subdev *subdev; /* Async matched subdev */ - struct v4l2_async_subdev asd; /* Async sub-device descriptor */ }; /* DMA buffer */ @@ -1109,12 +1108,6 @@ struct rcar_drif_sdr *sdr = container_of(notifier, struct rcar_drif_sdr, notifier); - if (sdr->ep.asd.match.fwnode != - of_fwnode_handle(subdev->dev->of_node)) { - rdrif_err(sdr, "subdev %s cannot bind\n", subdev->name); - return -EINVAL; - } - v4l2_set_subdev_hostdata(subdev, sdr); sdr->ep.subdev = subdev; rdrif_dbg(sdr, "bound asd %s\n", subdev->name); @@ -1218,7 +1211,7 @@ { struct v4l2_async_notifier *notifier = &sdr->notifier; struct fwnode_handle *fwnode, *ep; - int ret; + struct v4l2_async_subdev *asd; v4l2_async_notifier_init(notifier); @@ -1227,26 +1220,21 @@ if (!ep) return 0; + /* Get the endpoint properties */ + rcar_drif_get_ep_properties(sdr, ep); + fwnode = fwnode_graph_get_remote_port_parent(ep); + fwnode_handle_put(ep); if (!fwnode) { dev_warn(sdr->dev, "bad remote port parent\n"); - fwnode_handle_put(ep); return -EINVAL; } - sdr->ep.asd.match.fwnode = fwnode; - sdr->ep.asd.match_type = V4L2_ASYNC_MATCH_FWNODE; - ret = v4l2_async_notifier_add_subdev(notifier, &sdr->ep.asd); - if (ret) { - fwnode_handle_put(fwnode); - return ret; - } - - /* Get the endpoint properties */ - rcar_drif_get_ep_properties(sdr, ep); - + asd = v4l2_async_notifier_add_fwnode_subdev(notifier, fwnode, + sizeof(*asd)); fwnode_handle_put(fwnode); - fwnode_handle_put(ep); + if (IS_ERR(asd)) + return PTR_ERR(asd); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rockchip/rga/rga-buf.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rockchip/rga/rga-buf.c @@ -81,6 +81,7 @@ ret = pm_runtime_get_sync(rga->dev); if (ret < 0) { + pm_runtime_put_noidle(rga->dev); rga_buf_return_buffers(q, VB2_BUF_STATE_QUEUED); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rockchip/rga/rga-hw.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rockchip/rga/rga-hw.c @@ -200,22 +200,25 @@ dst_info.data.format = ctx->out.fmt->hw_format; dst_info.data.swap = ctx->out.fmt->color_swap; - if (ctx->in.fmt->hw_format >= RGA_COLOR_FMT_YUV422SP) { - if (ctx->out.fmt->hw_format < RGA_COLOR_FMT_YUV422SP) { - switch (ctx->in.colorspace) { - case V4L2_COLORSPACE_REC709: - src_info.data.csc_mode = - RGA_SRC_CSC_MODE_BT709_R0; - break; - default: - src_info.data.csc_mode = - RGA_SRC_CSC_MODE_BT601_R0; - break; - } + /* + * CSC mode must only be set when the colorspace families differ between + * input and output. It must remain unset (zeroed) if both are the same. + */ + + if (RGA_COLOR_FMT_IS_YUV(ctx->in.fmt->hw_format) && + RGA_COLOR_FMT_IS_RGB(ctx->out.fmt->hw_format)) { + switch (ctx->in.colorspace) { + case V4L2_COLORSPACE_REC709: + src_info.data.csc_mode = RGA_SRC_CSC_MODE_BT709_R0; + break; + default: + src_info.data.csc_mode = RGA_SRC_CSC_MODE_BT601_R0; + break; } } - if (ctx->out.fmt->hw_format >= RGA_COLOR_FMT_YUV422SP) { + if (RGA_COLOR_FMT_IS_RGB(ctx->in.fmt->hw_format) && + RGA_COLOR_FMT_IS_YUV(ctx->out.fmt->hw_format)) { switch (ctx->out.colorspace) { case V4L2_COLORSPACE_REC709: dst_info.data.csc_mode = RGA_SRC_CSC_MODE_BT709_R0; --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/rockchip/rga/rga-hw.h +++ linux-riscv-5.8-5.8.0/drivers/media/platform/rockchip/rga/rga-hw.h @@ -95,6 +95,11 @@ #define RGA_COLOR_FMT_CP_8BPP 15 #define RGA_COLOR_FMT_MASK 15 +#define RGA_COLOR_FMT_IS_YUV(fmt) \ + (((fmt) >= RGA_COLOR_FMT_YUV422SP) && ((fmt) < RGA_COLOR_FMT_CP_1BPP)) +#define RGA_COLOR_FMT_IS_RGB(fmt) \ + ((fmt) < RGA_COLOR_FMT_YUV422SP) + #define RGA_COLOR_NONE_SWAP 0 #define RGA_COLOR_RB_SWAP 1 #define RGA_COLOR_ALPHA_SWAP 2 --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/s3c-camif/camif-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/s3c-camif/camif-core.c @@ -464,7 +464,7 @@ ret = camif_media_dev_init(camif); if (ret < 0) - goto err_alloc; + goto err_pm; ret = camif_register_sensor(camif); if (ret < 0) @@ -498,10 +498,9 @@ media_device_unregister(&camif->media_dev); media_device_cleanup(&camif->media_dev); camif_unregister_media_entities(camif); -err_alloc: +err_pm: pm_runtime_put(dev); pm_runtime_disable(dev); -err_pm: camif_clk_put(camif); err_clk: s3c_camif_unregister_subdev(camif); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/s5p-g2d/g2d.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/s5p-g2d/g2d.c @@ -695,21 +695,13 @@ vfd->lock = &dev->mutex; vfd->v4l2_dev = &dev->v4l2_dev; vfd->device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING; - ret = video_register_device(vfd, VFL_TYPE_VIDEO, 0); - if (ret) { - v4l2_err(&dev->v4l2_dev, "Failed to register video device\n"); - goto rel_vdev; - } - video_set_drvdata(vfd, dev); - dev->vfd = vfd; - v4l2_info(&dev->v4l2_dev, "device registered as /dev/video%d\n", - vfd->num); + platform_set_drvdata(pdev, dev); dev->m2m_dev = v4l2_m2m_init(&g2d_m2m_ops); if (IS_ERR(dev->m2m_dev)) { v4l2_err(&dev->v4l2_dev, "Failed to init mem2mem device\n"); ret = PTR_ERR(dev->m2m_dev); - goto unreg_video_dev; + goto rel_vdev; } def_frame.stride = (def_frame.width * def_frame.fmt->depth) >> 3; @@ -717,14 +709,24 @@ of_id = of_match_node(exynos_g2d_match, pdev->dev.of_node); if (!of_id) { ret = -ENODEV; - goto unreg_video_dev; + goto free_m2m; } dev->variant = (struct g2d_variant *)of_id->data; + ret = video_register_device(vfd, VFL_TYPE_VIDEO, 0); + if (ret) { + v4l2_err(&dev->v4l2_dev, "Failed to register video device\n"); + goto free_m2m; + } + video_set_drvdata(vfd, dev); + dev->vfd = vfd; + v4l2_info(&dev->v4l2_dev, "device registered as /dev/video%d\n", + vfd->num); + return 0; -unreg_video_dev: - video_unregister_device(dev->vfd); +free_m2m: + v4l2_m2m_release(dev->m2m_dev); rel_vdev: video_device_release(vfd); unreg_v4l2_dev: --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c @@ -79,8 +79,10 @@ int i, ret = 0; ret = pm_runtime_get_sync(pm->device); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(pm->device); return ret; + } /* clock control */ for (i = 0; i < pm->num_clocks; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/sti/bdisp/bdisp-v4l2.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/sti/bdisp/bdisp-v4l2.c @@ -1371,7 +1371,7 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { dev_err(dev, "failed to set PM\n"); - goto err_dbg; + goto err_pm; } /* Filters */ @@ -1399,7 +1399,6 @@ bdisp_hw_free_filters(bdisp->dev); err_pm: pm_runtime_put(dev); -err_dbg: bdisp_debugfs_remove(bdisp); err_v4l2: v4l2_device_unregister(&bdisp->v4l2_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/sti/delta/delta-v4l2.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/sti/delta/delta-v4l2.c @@ -954,8 +954,10 @@ /* enable the hardware */ if (!dec->pm) { ret = delta_get_sync(ctx); - if (ret) + if (ret) { + delta_put_autosuspend(ctx); goto err; + } } /* decode this access unit */ --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/sti/hva/hva-hw.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/sti/hva/hva-hw.c @@ -272,6 +272,7 @@ if (pm_runtime_get_sync(dev) < 0) { dev_err(dev, "%s failed to get pm_runtime\n", HVA_PREFIX); + pm_runtime_put_noidle(dev); mutex_unlock(&hva->protect_mutex); return -EFAULT; } @@ -388,7 +389,7 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { dev_err(dev, "%s failed to set PM\n", HVA_PREFIX); - goto err_clk; + goto err_pm; } /* check IP hardware version */ @@ -553,6 +554,7 @@ if (pm_runtime_get_sync(dev) < 0) { seq_puts(s, "Cannot wake up IP\n"); + pm_runtime_put_noidle(dev); mutex_unlock(&hva->protect_mutex); return; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/stm32/stm32-dcmi.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/stm32/stm32-dcmi.c @@ -733,7 +733,7 @@ if (ret < 0) { dev_err(dcmi->dev, "%s: Failed to start streaming, cannot get sync (%d)\n", __func__, ret); - goto err_release_buffers; + goto err_pm_put; } ret = media_pipeline_start(&dcmi->vdev->entity, &dcmi->pipeline); @@ -837,8 +837,6 @@ err_pm_put: pm_runtime_put(dcmi->dev); - -err_release_buffers: spin_lock_irq(&dcmi->irqlock); /* * Return all buffers to vb2 in QUEUED state. --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/ti-vpe/vpe.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/ti-vpe/vpe.c @@ -2475,6 +2475,8 @@ r = pm_runtime_get_sync(&pdev->dev); WARN_ON(r < 0); + if (r) + pm_runtime_put_noidle(&pdev->dev); return r < 0 ? r : 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/vsp1/vsp1_dl.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/vsp1/vsp1_dl.c @@ -431,6 +431,8 @@ if (!pool) return NULL; + pool->vsp1 = vsp1; + spin_lock_init(&pool->lock); INIT_LIST_HEAD(&pool->free); --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/vsp1/vsp1_drm.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/vsp1/vsp1_drm.c @@ -245,7 +245,7 @@ brx = &vsp1->bru->entity; else if (pipe->brx && !drm_pipe->force_brx_release) brx = pipe->brx; - else if (!vsp1->bru->entity.pipe) + else if (vsp1_feature(vsp1, VSP1_HAS_BRU) && !vsp1->bru->entity.pipe) brx = &vsp1->bru->entity; else brx = &vsp1->brs->entity; @@ -462,9 +462,9 @@ * make sure it is present in the pipeline's list of entities if it * wasn't already. */ - if (!use_uif) { + if (drm_pipe->uif && !use_uif) { drm_pipe->uif->pipe = NULL; - } else if (!drm_pipe->uif->pipe) { + } else if (drm_pipe->uif && !drm_pipe->uif->pipe) { drm_pipe->uif->pipe = pipe; list_add_tail(&drm_pipe->uif->list_pipe, &pipe->entities); } --- linux-riscv-5.8-5.8.0.orig/drivers/media/platform/vsp1/vsp1_drv.c +++ linux-riscv-5.8-5.8.0/drivers/media/platform/vsp1/vsp1_drv.c @@ -562,7 +562,12 @@ int ret; ret = pm_runtime_get_sync(vsp1->dev); - return ret < 0 ? ret : 0; + if (ret < 0) { + pm_runtime_put_noidle(vsp1->dev); + return ret; + } + + return 0; } /* @@ -845,12 +850,12 @@ /* Configure device parameters based on the version register. */ pm_runtime_enable(&pdev->dev); - ret = pm_runtime_get_sync(&pdev->dev); + ret = vsp1_device_get(vsp1); if (ret < 0) goto done; vsp1->version = vsp1_read(vsp1, VI6_IP_VERSION); - pm_runtime_put_sync(&pdev->dev); + vsp1_device_put(vsp1); for (i = 0; i < ARRAY_SIZE(vsp1_device_infos); ++i) { if ((vsp1->version & VI6_IP_VERSION_MODEL_MASK) == @@ -877,8 +882,10 @@ } done: - if (ret) + if (ret) { pm_runtime_disable(&pdev->dev); + rcar_fcp_put(vsp1->fcp); + } return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/Makefile +++ linux-riscv-5.8-5.8.0/drivers/media/rc/Makefile @@ -5,6 +5,7 @@ obj-$(CONFIG_RC_CORE) += rc-core.o rc-core-y := rc-main.o rc-ir-raw.o rc-core-$(CONFIG_LIRC) += lirc_dev.o +rc-core-$(CONFIG_MEDIA_CEC_RC) += keymaps/rc-cec.o rc-core-$(CONFIG_BPF_LIRC_MODE2) += bpf-lirc.o obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/ati_remote.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/ati_remote.c @@ -835,6 +835,10 @@ err("%s: endpoint_in message size==0? \n", __func__); return -ENODEV; } + if (!usb_endpoint_is_int_out(endpoint_out)) { + err("%s: Unexpected endpoint_out\n", __func__); + return -ENODEV; + } ati_remote = kzalloc(sizeof (struct ati_remote), GFP_KERNEL); rc_dev = rc_allocate_device(RC_DRIVER_SCANCODE); --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/gpio-ir-tx.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/gpio-ir-tx.c @@ -19,8 +19,6 @@ struct gpio_desc *gpio; unsigned int carrier; unsigned int duty_cycle; - /* we need a spinlock to hold the cpu while transmitting */ - spinlock_t lock; }; static const struct of_device_id gpio_ir_tx_of_match[] = { @@ -53,12 +51,11 @@ static void gpio_ir_tx_unmodulated(struct gpio_ir *gpio_ir, uint *txbuf, uint count) { - unsigned long flags; ktime_t edge; s32 delta; int i; - spin_lock_irqsave(&gpio_ir->lock, flags); + local_irq_disable(); edge = ktime_get(); @@ -72,14 +69,11 @@ } gpiod_set_value(gpio_ir->gpio, 0); - - spin_unlock_irqrestore(&gpio_ir->lock, flags); } static void gpio_ir_tx_modulated(struct gpio_ir *gpio_ir, uint *txbuf, uint count) { - unsigned long flags; ktime_t edge; /* * delta should never exceed 0.5 seconds (IR_MAX_DURATION) and on @@ -95,7 +89,7 @@ space = DIV_ROUND_CLOSEST((100 - gpio_ir->duty_cycle) * (NSEC_PER_SEC / 100), gpio_ir->carrier); - spin_lock_irqsave(&gpio_ir->lock, flags); + local_irq_disable(); edge = ktime_get(); @@ -128,19 +122,20 @@ edge = last; } } - - spin_unlock_irqrestore(&gpio_ir->lock, flags); } static int gpio_ir_tx(struct rc_dev *dev, unsigned int *txbuf, unsigned int count) { struct gpio_ir *gpio_ir = dev->priv; + unsigned long flags; + local_irq_save(flags); if (gpio_ir->carrier) gpio_ir_tx_modulated(gpio_ir, txbuf, count); else gpio_ir_tx_unmodulated(gpio_ir, txbuf, count); + local_irq_restore(flags); return count; } @@ -176,7 +171,6 @@ gpio_ir->carrier = 38000; gpio_ir->duty_cycle = 50; - spin_lock_init(&gpio_ir->lock); rc = devm_rc_register_device(&pdev->dev, rcdev); if (rc < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/keymaps/Makefile +++ linux-riscv-5.8-5.8.0/drivers/media/rc/keymaps/Makefile @@ -21,7 +21,6 @@ rc-behold.o \ rc-behold-columbus.o \ rc-budget-ci-old.o \ - rc-cec.o \ rc-cinergy-1400.o \ rc-cinergy.o \ rc-d680-dmb.o \ --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/keymaps/rc-cec.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/keymaps/rc-cec.c @@ -1,6 +1,16 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* Keytable for the CEC remote control * + * This keymap is unusual in that it can't be built as a module, + * instead it is registered directly in rc-main.c if CONFIG_MEDIA_CEC_RC + * is set. This is because it can be called from drm_dp_cec_set_edid() via + * cec_register_adapter() in an asynchronous context, and it is not + * allowed to use request_module() to load rc-cec.ko in that case. + * + * Since this keymap is only used if CONFIG_MEDIA_CEC_RC is set, we + * just compile this keymap into the rc-core module and never as a + * separate module. + * * Copyright (c) 2015 by Kamil Debski */ @@ -152,7 +162,7 @@ /* 0x77-0xff: Reserved */ }; -static struct rc_map_list cec_map = { +struct rc_map_list cec_map = { .map = { .scan = cec, .size = ARRAY_SIZE(cec), @@ -160,19 +170,3 @@ .name = RC_MAP_CEC, } }; - -static int __init init_rc_map_cec(void) -{ - return rc_map_register(&cec_map); -} - -static void __exit exit_rc_map_cec(void) -{ - rc_map_unregister(&cec_map); -} - -module_init(init_rc_map_cec); -module_exit(exit_rc_map_cec); - -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Kamil Debski"); --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/mceusb.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/mceusb.c @@ -701,11 +701,18 @@ data[0], data[1]); break; case MCE_RSP_EQIRCFS: + if (!data[0] && !data[1]) { + dev_dbg(dev, "%s: no carrier", inout); + break; + } + // prescaler should make sense + if (data[0] > 8) + break; period = DIV_ROUND_CLOSEST((1U << data[0] * 2) * (data[1] + 1), 10); if (!period) break; - carrier = (1000 * 1000) / period; + carrier = USEC_PER_SEC / period; dev_dbg(dev, "%s carrier of %u Hz (period %uus)", inout, carrier, period); break; @@ -1169,7 +1176,7 @@ switch (subcmd) { /* the one and only 5-byte return value command */ case MCE_RSP_GETPORTSTATUS: - if (buf_in[5] == 0) + if (buf_in[5] == 0 && *hi < 8) ir->txports_cabled |= 1 << *hi; break; --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/rc-main.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/rc-main.c @@ -1292,6 +1292,10 @@ } mutex_lock(&dev->lock); + if (!dev->registered) { + mutex_unlock(&dev->lock); + return -ENODEV; + } old_protocols = *current_protocols; new_protocols = old_protocols; @@ -1430,6 +1434,10 @@ return -EINVAL; mutex_lock(&dev->lock); + if (!dev->registered) { + mutex_unlock(&dev->lock); + return -ENODEV; + } new_filter = *filter; if (fattr->mask) @@ -1544,6 +1552,10 @@ int i; mutex_lock(&dev->lock); + if (!dev->registered) { + mutex_unlock(&dev->lock); + return -ENODEV; + } allowed = dev->allowed_wakeup_protocols; @@ -1601,25 +1613,25 @@ kfree(dev); } -#define ADD_HOTPLUG_VAR(fmt, val...) \ - do { \ - int err = add_uevent_var(env, fmt, val); \ - if (err) \ - return err; \ - } while (0) - static int rc_dev_uevent(struct device *device, struct kobj_uevent_env *env) { struct rc_dev *dev = to_rc_dev(device); + int ret = 0; - if (dev->rc_map.name) - ADD_HOTPLUG_VAR("NAME=%s", dev->rc_map.name); - if (dev->driver_name) - ADD_HOTPLUG_VAR("DRV_NAME=%s", dev->driver_name); - if (dev->device_name) - ADD_HOTPLUG_VAR("DEV_NAME=%s", dev->device_name); + mutex_lock(&dev->lock); - return 0; + if (!dev->registered) + ret = -ENODEV; + if (ret == 0 && dev->rc_map.name) + ret = add_uevent_var(env, "NAME=%s", dev->rc_map.name); + if (ret == 0 && dev->driver_name) + ret = add_uevent_var(env, "DRV_NAME=%s", dev->driver_name); + if (ret == 0 && dev->device_name) + ret = add_uevent_var(env, "DEV_NAME=%s", dev->device_name); + + mutex_unlock(&dev->lock); + + return ret; } /* @@ -1916,6 +1928,8 @@ goto out_raw; } + dev->registered = true; + rc = device_add(&dev->dev); if (rc) goto out_rx_free; @@ -1925,8 +1939,6 @@ dev->device_name ?: "Unspecified device", path ?: "N/A"); kfree(path); - dev->registered = true; - /* * once the the input device is registered in rc_setup_rx_device, * userspace can open the input device and rc_open() will be called @@ -2011,14 +2023,14 @@ del_timer_sync(&dev->timer_keyup); del_timer_sync(&dev->timer_repeat); - rc_free_rx_device(dev); - mutex_lock(&dev->lock); if (dev->users && dev->close) dev->close(dev); dev->registered = false; mutex_unlock(&dev->lock); + rc_free_rx_device(dev); + /* * lirc device should be freed with dev->registered = false, so * that userspace polling will get notified. @@ -2057,6 +2069,9 @@ led_trigger_register_simple("rc-feedback", &led_feedback); rc_map_register(&empty_map); +#ifdef CONFIG_MEDIA_CEC_RC + rc_map_register(&cec_map); +#endif return 0; } @@ -2066,6 +2081,9 @@ lirc_dev_exit(); class_unregister(&rc_class); led_trigger_unregister_simple(led_feedback); +#ifdef CONFIG_MEDIA_CEC_RC + rc_map_unregister(&cec_map); +#endif rc_map_unregister(&empty_map); } --- linux-riscv-5.8-5.8.0.orig/drivers/media/rc/sunxi-cir.c +++ linux-riscv-5.8-5.8.0/drivers/media/rc/sunxi-cir.c @@ -137,6 +137,8 @@ } else if (status & REG_RXSTA_RPE) { ir_raw_event_set_idle(ir->rc, true); ir_raw_event_handle(ir->rc); + } else { + ir_raw_event_handle(ir->rc); } spin_unlock(&ir->ir_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/media/test-drivers/vicodec/vicodec-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/test-drivers/vicodec/vicodec-core.c @@ -1994,6 +1994,7 @@ } ctrl = v4l2_ctrl_request_hdl_ctrl_find(hdl, vicodec_ctrl_stateless_state.id); + v4l2_ctrl_request_hdl_put(hdl); if (!ctrl) { v4l2_info(&ctx->dev->v4l2_dev, "Missing required codec control\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/media/test-drivers/vivid/vivid-meta-out.c +++ linux-riscv-5.8-5.8.0/drivers/media/test-drivers/vivid/vivid-meta-out.c @@ -164,10 +164,11 @@ { struct vivid_meta_out_buf *meta = vb2_plane_vaddr(&buf->vb.vb2_buf, 0); - tpg_s_brightness(&dev->tpg, meta->brightness); - tpg_s_contrast(&dev->tpg, meta->contrast); - tpg_s_saturation(&dev->tpg, meta->saturation); - tpg_s_hue(&dev->tpg, meta->hue); + v4l2_ctrl_s_ctrl(dev->brightness, meta->brightness); + v4l2_ctrl_s_ctrl(dev->contrast, meta->contrast); + v4l2_ctrl_s_ctrl(dev->saturation, meta->saturation); + v4l2_ctrl_s_ctrl(dev->hue, meta->hue); + dprintk(dev, 2, " %s brightness %u contrast %u saturation %u hue %d\n", __func__, meta->brightness, meta->contrast, meta->saturation, meta->hue); --- linux-riscv-5.8-5.8.0.orig/drivers/media/tuners/qm1d1c0042.c +++ linux-riscv-5.8-5.8.0/drivers/media/tuners/qm1d1c0042.c @@ -343,8 +343,10 @@ if (val == reg_initval[reg_index][0x00]) break; } - if (reg_index >= QM1D1C0042_NUM_REG_ROWS) + if (reg_index >= QM1D1C0042_NUM_REG_ROWS) { + ret = -EINVAL; goto failed; + } memcpy(state->regs, reg_initval[reg_index], QM1D1C0042_NUM_REGS); usleep_range(2000, 3000); --- linux-riscv-5.8-5.8.0.orig/drivers/media/tuners/tuner-simple.c +++ linux-riscv-5.8-5.8.0/drivers/media/tuners/tuner-simple.c @@ -500,7 +500,7 @@ case TUNER_TENA_9533_DI: case TUNER_YMEC_TVF_5533MF: tuner_dbg("This tuner doesn't have FM. Most cards have a TEA5767 for FM\n"); - return 0; + return -EINVAL; case TUNER_PHILIPS_FM1216ME_MK3: case TUNER_PHILIPS_FM1236_MK3: case TUNER_PHILIPS_FMD1216ME_MK3: @@ -702,7 +702,8 @@ TUNER_RATIO_SELECT_50; /* 50 kHz step */ /* Bandswitch byte */ - simple_radio_bandswitch(fe, &buffer[0]); + if (simple_radio_bandswitch(fe, &buffer[0])) + return 0; /* Convert from 1/16 kHz V4L steps to 1/20 MHz (=50 kHz) PLL steps freq * (1 Mhz / 16000 V4L steps) * (20 PLL steps / 1 MHz) = --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/dvb-usb-v2/lmedm04.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/dvb-usb-v2/lmedm04.c @@ -391,7 +391,7 @@ ep = usb_pipe_endpoint(d->udev, lme_int->lme_urb->pipe); if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK) - lme_int->lme_urb->pipe = usb_rcvbulkpipe(d->udev, 0xa), + lme_int->lme_urb->pipe = usb_rcvbulkpipe(d->udev, 0xa); usb_submit_urb(lme_int->lme_urb, GFP_ATOMIC); info("INT Interrupt Service Started"); --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/dvb-usb/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/media/usb/dvb-usb/Kconfig @@ -151,6 +151,7 @@ config DVB_USB_CXUSB_ANALOG bool "Analog support for the Conexant USB2.0 hybrid reference design" depends on DVB_USB_CXUSB && VIDEO_V4L2 + depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_USB_CXUSB select VIDEO_CX25840 select VIDEOBUF2_VMALLOC help --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/dvb-usb/gp8psk.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/dvb-usb/gp8psk.c @@ -182,7 +182,7 @@ static int gp8psk_power_ctrl(struct dvb_usb_device *d, int onoff) { - u8 status, buf; + u8 status = 0, buf; int gp_product_id = le16_to_cpu(d->udev->descriptor.idProduct); if (onoff) { --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/em28xx/em28xx-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/em28xx/em28xx-core.c @@ -956,14 +956,10 @@ usb_bufs->buf[i] = kzalloc(sb_size, GFP_KERNEL); if (!usb_bufs->buf[i]) { - em28xx_uninit_usb_xfer(dev, mode); - for (i--; i >= 0; i--) kfree(usb_bufs->buf[i]); - kfree(usb_bufs->buf); - usb_bufs->buf = NULL; - + em28xx_uninit_usb_xfer(dev, mode); return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/go7007/go7007-usb.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/go7007/go7007-usb.c @@ -1132,6 +1132,10 @@ go->hpi_ops = &go7007_usb_onboard_hpi_ops; go->hpi_context = usb; + ep = usb->usbdev->ep_in[4]; + if (!ep) + return -ENODEV; + /* Allocate the URB and buffer for receiving incoming interrupts */ usb->intr_urb = usb_alloc_urb(0, GFP_KERNEL); if (usb->intr_urb == NULL) @@ -1141,7 +1145,6 @@ if (usb->intr_urb->transfer_buffer == NULL) goto allocfail; - ep = usb->usbdev->ep_in[4]; if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK) usb_fill_bulk_urb(usb->intr_urb, usb->usbdev, usb_rcvbulkpipe(usb->usbdev, 4), @@ -1263,9 +1266,13 @@ /* Allocate the URBs and buffers for receiving the video stream */ if (board->flags & GO7007_USB_EZUSB) { + if (!usb->usbdev->ep_in[6]) + goto allocfail; v_urb_len = 1024; video_pipe = usb_rcvbulkpipe(usb->usbdev, 6); } else { + if (!usb->usbdev->ep_in[1]) + goto allocfail; v_urb_len = 512; video_pipe = usb_rcvbulkpipe(usb->usbdev, 1); } @@ -1285,6 +1292,8 @@ /* Allocate the URBs and buffers for receiving the audio stream */ if ((board->flags & GO7007_USB_EZUSB) && (board->main_info.flags & GO7007_BOARD_HAS_AUDIO)) { + if (!usb->usbdev->ep_in[8]) + goto allocfail; for (i = 0; i < 8; ++i) { usb->audio_urbs[i] = usb_alloc_urb(0, GFP_KERNEL); if (usb->audio_urbs[i] == NULL) --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/gspca/gspca.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/gspca/gspca.c @@ -1575,6 +1575,7 @@ input_unregister_device(gspca_dev->input_dev); #endif v4l2_ctrl_handler_free(gspca_dev->vdev.ctrl_handler); + v4l2_device_unregister(&gspca_dev->v4l2_dev); kfree(gspca_dev->usb_buf); kfree(gspca_dev); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/msi2500/msi2500.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/msi2500/msi2500.c @@ -1230,7 +1230,7 @@ } dev->master = master; - master->bus_num = 0; + master->bus_num = -1; master->num_chipselect = 1; master->transfer_one_message = msi2500_transfer_one_message; spi_master_set_devdata(master, dev); --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/pwc/pwc-if.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/pwc/pwc-if.c @@ -155,16 +155,17 @@ /***************************************************************************/ /* Private functions */ -static void *pwc_alloc_urb_buffer(struct device *dev, +static void *pwc_alloc_urb_buffer(struct usb_device *dev, size_t size, dma_addr_t *dma_handle) { + struct device *dmadev = dev->bus->sysdev; void *buffer = kmalloc(size, GFP_KERNEL); if (!buffer) return NULL; - *dma_handle = dma_map_single(dev, buffer, size, DMA_FROM_DEVICE); - if (dma_mapping_error(dev, *dma_handle)) { + *dma_handle = dma_map_single(dmadev, buffer, size, DMA_FROM_DEVICE); + if (dma_mapping_error(dmadev, *dma_handle)) { kfree(buffer); return NULL; } @@ -172,12 +173,14 @@ return buffer; } -static void pwc_free_urb_buffer(struct device *dev, +static void pwc_free_urb_buffer(struct usb_device *dev, size_t size, void *buffer, dma_addr_t dma_handle) { - dma_unmap_single(dev, dma_handle, size, DMA_FROM_DEVICE); + struct device *dmadev = dev->bus->sysdev; + + dma_unmap_single(dmadev, dma_handle, size, DMA_FROM_DEVICE); kfree(buffer); } @@ -282,6 +285,7 @@ static void pwc_isoc_handler(struct urb *urb) { struct pwc_device *pdev = (struct pwc_device *)urb->context; + struct device *dmadev = urb->dev->bus->sysdev; int i, fst, flen; unsigned char *iso_buf = NULL; @@ -328,7 +332,7 @@ /* Reset ISOC error counter. We did get here, after all. */ pdev->visoc_errors = 0; - dma_sync_single_for_cpu(&urb->dev->dev, + dma_sync_single_for_cpu(dmadev, urb->transfer_dma, urb->transfer_buffer_length, DMA_FROM_DEVICE); @@ -379,7 +383,7 @@ pdev->vlast_packet_size = flen; } - dma_sync_single_for_device(&urb->dev->dev, + dma_sync_single_for_device(dmadev, urb->transfer_dma, urb->transfer_buffer_length, DMA_FROM_DEVICE); @@ -461,7 +465,7 @@ urb->pipe = usb_rcvisocpipe(udev, pdev->vendpoint); urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP; urb->transfer_buffer_length = ISO_BUFFER_SIZE; - urb->transfer_buffer = pwc_alloc_urb_buffer(&udev->dev, + urb->transfer_buffer = pwc_alloc_urb_buffer(udev, urb->transfer_buffer_length, &urb->transfer_dma); if (urb->transfer_buffer == NULL) { @@ -524,7 +528,7 @@ if (urb) { PWC_DEBUG_MEMORY("Freeing URB\n"); if (urb->transfer_buffer) - pwc_free_urb_buffer(&urb->dev->dev, + pwc_free_urb_buffer(urb->dev, urb->transfer_buffer_length, urb->transfer_buffer, urb->transfer_dma); --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/tm6000/tm6000-dvb.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/tm6000/tm6000-dvb.c @@ -141,6 +141,10 @@ if (ret < 0) { printk(KERN_ERR "tm6000: error %i in %s during pipe reset\n", ret, __func__); + + kfree(dvb->bulk_urb->transfer_buffer); + usb_free_urb(dvb->bulk_urb); + dvb->bulk_urb = NULL; return ret; } else printk(KERN_ERR "tm6000: pipe reset\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/tm6000/tm6000-video.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/tm6000/tm6000-video.c @@ -461,11 +461,12 @@ if (dev->urb_buffer) return 0; - dev->urb_buffer = kmalloc_array(num_bufs, sizeof(void *), GFP_KERNEL); + dev->urb_buffer = kmalloc_array(num_bufs, sizeof(*dev->urb_buffer), + GFP_KERNEL); if (!dev->urb_buffer) return -ENOMEM; - dev->urb_dma = kmalloc_array(num_bufs, sizeof(dma_addr_t *), + dev->urb_dma = kmalloc_array(num_bufs, sizeof(*dev->urb_dma), GFP_KERNEL); if (!dev->urb_dma) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/usbtv/usbtv-audio.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/usbtv/usbtv-audio.c @@ -371,7 +371,7 @@ cancel_work_sync(&usbtv->snd_trigger); if (usbtv->snd && usbtv->udev) { - snd_card_free(usbtv->snd); + snd_card_free_when_closed(usbtv->snd); usbtv->snd = NULL; } } --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/usbtv/usbtv-core.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/usbtv/usbtv-core.c @@ -113,7 +113,8 @@ usbtv_audio_fail: /* we must not free at this point */ - usb_get_dev(usbtv->udev); + v4l2_device_get(&usbtv->v4l2_dev); + /* this will undo the v4l2_device_get() */ usbtv_video_free(usbtv); usbtv_video_fail: --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/uvc/uvc_ctrl.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/uvc/uvc_ctrl.c @@ -773,12 +773,16 @@ offset &= 7; mask = ((1LL << bits) - 1) << offset; - for (; bits > 0; data++) { + while (1) { u8 byte = *data & mask; value |= offset > 0 ? (byte >> offset) : (byte << (-offset)); bits -= 8 - (offset > 0 ? offset : 0); + if (bits <= 0) + break; + offset -= 8; mask = (1 << bits) - 1; + data++; } /* Sign-extend the value if needed. */ @@ -1844,30 +1848,35 @@ { struct uvc_entity *entity; struct uvc_control *ctrl; - unsigned int i, found = 0; + unsigned int i; + bool found; u32 reqflags; u16 size; u8 *data = NULL; int ret; /* Find the extension unit. */ + found = false; list_for_each_entry(entity, &chain->entities, chain) { if (UVC_ENTITY_TYPE(entity) == UVC_VC_EXTENSION_UNIT && - entity->id == xqry->unit) + entity->id == xqry->unit) { + found = true; break; + } } - if (entity->id != xqry->unit) { + if (!found) { uvc_trace(UVC_TRACE_CONTROL, "Extension unit %u not found.\n", xqry->unit); return -ENOENT; } /* Find the control and perform delayed initialization if needed. */ + found = false; for (i = 0; i < entity->ncontrols; ++i) { ctrl = &entity->controls[i]; if (ctrl->index == xqry->selector - 1) { - found = 1; + found = true; break; } } @@ -2024,13 +2033,6 @@ goto done; } - /* - * Retrieve control flags from the device. Ignore errors and work with - * default flag values from the uvc_ctrl array when the device doesn't - * properly implement GET_INFO on standard controls. - */ - uvc_ctrl_get_flags(dev, ctrl, &ctrl->info); - ctrl->initialized = 1; uvc_trace(UVC_TRACE_CONTROL, "Added control %pUl/%u to device %s " @@ -2253,6 +2255,13 @@ if (uvc_entity_match_guid(ctrl->entity, info->entity) && ctrl->index == info->index) { uvc_ctrl_add_info(dev, ctrl, info); + /* + * Retrieve control flags from the device. Ignore errors + * and work with default flag values from the uvc_ctrl + * array when the device doesn't properly implement + * GET_INFO on standard controls. + */ + uvc_ctrl_get_flags(dev, ctrl, &ctrl->info); break; } } --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/uvc/uvc_driver.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/uvc/uvc_driver.c @@ -214,6 +214,11 @@ .guid = UVC_GUID_FORMAT_CNF4, .fcc = V4L2_PIX_FMT_CNF4, }, + { + .name = "HEVC", + .guid = UVC_GUID_FORMAT_HEVC, + .fcc = V4L2_PIX_FMT_HEVC, + }, }; /* ------------------------------------------------------------------------ @@ -967,7 +972,10 @@ unsigned int i; extra_size = roundup(extra_size, sizeof(*entity->pads)); - num_inputs = (type & UVC_TERM_OUTPUT) ? num_pads : num_pads - 1; + if (num_pads) + num_inputs = type & UVC_TERM_OUTPUT ? num_pads : num_pads - 1; + else + num_inputs = 0; size = sizeof(*entity) + extra_size + sizeof(*entity->pads) * num_pads + num_inputs; entity = kzalloc(size, GFP_KERNEL); @@ -983,7 +991,7 @@ for (i = 0; i < num_inputs; ++i) entity->pads[i].flags = MEDIA_PAD_FL_SINK; - if (!UVC_ENTITY_IS_OTERM(entity)) + if (!UVC_ENTITY_IS_OTERM(entity) && num_pads) entity->pads[num_pads-1].flags = MEDIA_PAD_FL_SOURCE; entity->bNrInPins = num_inputs; --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/uvc/uvc_entity.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/uvc/uvc_entity.c @@ -73,10 +73,45 @@ int ret; if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) { + u32 function; + v4l2_subdev_init(&entity->subdev, &uvc_subdev_ops); strscpy(entity->subdev.name, entity->name, sizeof(entity->subdev.name)); + switch (UVC_ENTITY_TYPE(entity)) { + case UVC_VC_SELECTOR_UNIT: + function = MEDIA_ENT_F_VID_MUX; + break; + case UVC_VC_PROCESSING_UNIT: + case UVC_VC_EXTENSION_UNIT: + /* For lack of a better option. */ + function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER; + break; + case UVC_COMPOSITE_CONNECTOR: + case UVC_COMPONENT_CONNECTOR: + function = MEDIA_ENT_F_CONN_COMPOSITE; + break; + case UVC_SVIDEO_CONNECTOR: + function = MEDIA_ENT_F_CONN_SVIDEO; + break; + case UVC_ITT_CAMERA: + function = MEDIA_ENT_F_CAM_SENSOR; + break; + case UVC_TT_VENDOR_SPECIFIC: + case UVC_ITT_VENDOR_SPECIFIC: + case UVC_ITT_MEDIA_TRANSPORT_INPUT: + case UVC_OTT_VENDOR_SPECIFIC: + case UVC_OTT_DISPLAY: + case UVC_OTT_MEDIA_TRANSPORT_OUTPUT: + case UVC_EXTERNAL_VENDOR_SPECIFIC: + default: + function = MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN; + break; + } + + entity->subdev.entity.function = function; + ret = media_entity_pads_init(&entity->subdev.entity, entity->num_pads, entity->pads); --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/uvc/uvc_v4l2.c +++ linux-riscv-5.8-5.8.0/drivers/media/usb/uvc/uvc_v4l2.c @@ -247,11 +247,41 @@ if (ret < 0) goto done; + /* After the probe, update fmt with the values returned from + * negotiation with the device. Some devices return invalid bFormatIndex + * and bFrameIndex values, in which case we can only assume they have + * accepted the requested format as-is. + */ + for (i = 0; i < stream->nformats; ++i) { + if (probe->bFormatIndex == stream->format[i].index) { + format = &stream->format[i]; + break; + } + } + + if (i == stream->nformats) + uvc_trace(UVC_TRACE_FORMAT, + "Unknown bFormatIndex %u, using default\n", + probe->bFormatIndex); + + for (i = 0; i < format->nframes; ++i) { + if (probe->bFrameIndex == format->frame[i].bFrameIndex) { + frame = &format->frame[i]; + break; + } + } + + if (i == format->nframes) + uvc_trace(UVC_TRACE_FORMAT, + "Unknown bFrameIndex %u, using default\n", + probe->bFrameIndex); + fmt->fmt.pix.width = frame->wWidth; fmt->fmt.pix.height = frame->wHeight; fmt->fmt.pix.field = V4L2_FIELD_NONE; fmt->fmt.pix.bytesperline = uvc_v4l2_get_bytesperline(format, frame); fmt->fmt.pix.sizeimage = probe->dwMaxVideoFrameSize; + fmt->fmt.pix.pixelformat = format->fcc; fmt->fmt.pix.colorspace = format->colorspace; if (uvc_format != NULL) --- linux-riscv-5.8-5.8.0.orig/drivers/media/usb/uvc/uvcvideo.h +++ linux-riscv-5.8-5.8.0/drivers/media/usb/uvc/uvcvideo.h @@ -165,6 +165,10 @@ {0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, \ 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} +#define UVC_GUID_FORMAT_HEVC \ + { 'H', 'E', 'V', 'C', 0x00, 0x00, 0x10, 0x00, \ + 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} + /* ------------------------------------------------------------------------ * Driver specific constants. --- linux-riscv-5.8-5.8.0.orig/drivers/media/v4l2-core/v4l2-ctrls.c +++ linux-riscv-5.8-5.8.0/drivers/media/v4l2-core/v4l2-ctrls.c @@ -1929,7 +1929,8 @@ case V4L2_CTRL_TYPE_INTEGER_MENU: if (ptr.p_s32[idx] < ctrl->minimum || ptr.p_s32[idx] > ctrl->maximum) return -ERANGE; - if (ctrl->menu_skip_mask & (1ULL << ptr.p_s32[idx])) + if (ptr.p_s32[idx] < BITS_PER_LONG_LONG && + (ctrl->menu_skip_mask & BIT_ULL(ptr.p_s32[idx]))) return -EINVAL; if (ctrl->type == V4L2_CTRL_TYPE_MENU && ctrl->qmenu[ptr.p_s32[idx]][0] == '\0') --- linux-riscv-5.8-5.8.0.orig/drivers/media/v4l2-core/v4l2-fwnode.c +++ linux-riscv-5.8-5.8.0/drivers/media/v4l2-core/v4l2-fwnode.c @@ -93,7 +93,7 @@ const struct v4l2_fwnode_bus_conv *conv = get_v4l2_fwnode_bus_conv_by_fwnode_bus(type); - return conv ? conv->mbus_type : V4L2_MBUS_UNKNOWN; + return conv ? conv->mbus_type : V4L2_MBUS_INVALID; } static const char * @@ -436,6 +436,10 @@ v4l2_fwnode_mbus_type_to_string(vep->bus_type), vep->bus_type); mbus_type = v4l2_fwnode_bus_type_to_mbus(bus_type); + if (mbus_type == V4L2_MBUS_INVALID) { + pr_debug("unsupported bus type %u\n", bus_type); + return -EINVAL; + } if (vep->bus_type != V4L2_MBUS_UNKNOWN) { if (mbus_type != V4L2_MBUS_UNKNOWN && --- linux-riscv-5.8-5.8.0.orig/drivers/media/v4l2-core/v4l2-ioctl.c +++ linux-riscv-5.8-5.8.0/drivers/media/v4l2-core/v4l2-ioctl.c @@ -3186,14 +3186,16 @@ #ifdef CONFIG_COMPAT_32BIT_TIME case VIDIOC_DQEVENT_TIME32: { struct v4l2_event *ev = parg; - struct v4l2_event_time32 ev32 = { - .type = ev->type, - .pending = ev->pending, - .sequence = ev->sequence, - .timestamp.tv_sec = ev->timestamp.tv_sec, - .timestamp.tv_nsec = ev->timestamp.tv_nsec, - .id = ev->id, - }; + struct v4l2_event_time32 ev32; + + memset(&ev32, 0, sizeof(ev32)); + + ev32.type = ev->type; + ev32.pending = ev->pending; + ev32.sequence = ev->sequence; + ev32.timestamp.tv_sec = ev->timestamp.tv_sec; + ev32.timestamp.tv_nsec = ev->timestamp.tv_nsec; + ev32.id = ev->id; memcpy(&ev32.u, &ev->u, sizeof(ev->u)); memcpy(&ev32.reserved, &ev->reserved, sizeof(ev->reserved)); @@ -3207,21 +3209,23 @@ case VIDIOC_DQBUF_TIME32: case VIDIOC_PREPARE_BUF_TIME32: { struct v4l2_buffer *vb = parg; - struct v4l2_buffer_time32 vb32 = { - .index = vb->index, - .type = vb->type, - .bytesused = vb->bytesused, - .flags = vb->flags, - .field = vb->field, - .timestamp.tv_sec = vb->timestamp.tv_sec, - .timestamp.tv_usec = vb->timestamp.tv_usec, - .timecode = vb->timecode, - .sequence = vb->sequence, - .memory = vb->memory, - .m.userptr = vb->m.userptr, - .length = vb->length, - .request_fd = vb->request_fd, - }; + struct v4l2_buffer_time32 vb32; + + memset(&vb32, 0, sizeof(vb32)); + + vb32.index = vb->index; + vb32.type = vb->type; + vb32.bytesused = vb->bytesused; + vb32.flags = vb->flags; + vb32.field = vb->field; + vb32.timestamp.tv_sec = vb->timestamp.tv_sec; + vb32.timestamp.tv_usec = vb->timestamp.tv_usec; + vb32.timecode = vb->timecode; + vb32.sequence = vb->sequence; + vb32.memory = vb->memory; + vb32.m.userptr = vb->m.userptr; + vb32.length = vb->length; + vb32.request_fd = vb->request_fd; if (copy_to_user(arg, &vb32, sizeof(vb32))) return -EFAULT; @@ -3243,7 +3247,7 @@ v4l2_kioctl func) { char sbuf[128]; - void *mbuf = NULL; + void *mbuf = NULL, *array_buf = NULL; void *parg = (void *)arg; long err = -EINVAL; bool has_array_args; @@ -3278,20 +3282,14 @@ has_array_args = err; if (has_array_args) { - /* - * When adding new types of array args, make sure that the - * parent argument to ioctl (which contains the pointer to the - * array) fits into sbuf (so that mbuf will still remain - * unused up to here). - */ - mbuf = kvmalloc(array_size, GFP_KERNEL); + array_buf = kvmalloc(array_size, GFP_KERNEL); err = -ENOMEM; - if (NULL == mbuf) + if (array_buf == NULL) goto out_array_args; err = -EFAULT; - if (copy_from_user(mbuf, user_ptr, array_size)) + if (copy_from_user(array_buf, user_ptr, array_size)) goto out_array_args; - *kernel_ptr = mbuf; + *kernel_ptr = array_buf; } /* Handles IOCTL */ @@ -3310,7 +3308,7 @@ if (has_array_args) { *kernel_ptr = (void __force *)user_ptr; - if (copy_to_user(user_ptr, mbuf, array_size)) + if (copy_to_user(user_ptr, array_buf, array_size)) err = -EFAULT; goto out_array_args; } @@ -3325,6 +3323,7 @@ if (video_put_user((void __user *)arg, parg, orig_cmd)) err = -EFAULT; out: + kvfree(array_buf); kvfree(mbuf); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/memory/brcmstb_dpfe.c +++ linux-riscv-5.8-5.8.0/drivers/memory/brcmstb_dpfe.c @@ -648,8 +648,10 @@ return (ret == -ENOENT) ? -EPROBE_DEFER : ret; ret = __verify_firmware(&init, fw); - if (ret) - return -EFAULT; + if (ret) { + ret = -EFAULT; + goto release_fw; + } __disable_dcpu(priv); @@ -668,18 +670,20 @@ ret = __write_firmware(priv->dmem, dmem, dmem_size, is_big_endian); if (ret) - return ret; + goto release_fw; ret = __write_firmware(priv->imem, imem, imem_size, is_big_endian); if (ret) - return ret; + goto release_fw; ret = __verify_fw_checksum(&init, priv, header, init.chksum); if (ret) - return ret; + goto release_fw; __enable_dcpu(priv); - return 0; +release_fw: + release_firmware(fw); + return ret; } static ssize_t generic_show(unsigned int command, u32 response[], --- linux-riscv-5.8-5.8.0.orig/drivers/memory/emif.c +++ linux-riscv-5.8-5.8.0/drivers/memory/emif.c @@ -163,35 +163,12 @@ static int __init_or_module emif_debugfs_init(struct emif_data *emif) { - struct dentry *dentry; - int ret; - - dentry = debugfs_create_dir(dev_name(emif->dev), NULL); - if (!dentry) { - ret = -ENOMEM; - goto err0; - } - emif->debugfs_root = dentry; - - dentry = debugfs_create_file("regcache_dump", S_IRUGO, - emif->debugfs_root, emif, &emif_regdump_fops); - if (!dentry) { - ret = -ENOMEM; - goto err1; - } - - dentry = debugfs_create_file("mr4", S_IRUGO, - emif->debugfs_root, emif, &emif_mr4_fops); - if (!dentry) { - ret = -ENOMEM; - goto err1; - } - + emif->debugfs_root = debugfs_create_dir(dev_name(emif->dev), NULL); + debugfs_create_file("regcache_dump", S_IRUGO, emif->debugfs_root, emif, + &emif_regdump_fops); + debugfs_create_file("mr4", S_IRUGO, emif->debugfs_root, emif, + &emif_mr4_fops); return 0; -err1: - debugfs_remove_recursive(emif->debugfs_root); -err0: - return ret; } static void __exit emif_debugfs_exit(struct emif_data *emif) --- linux-riscv-5.8-5.8.0.orig/drivers/memory/fsl-corenet-cf.c +++ linux-riscv-5.8-5.8.0/drivers/memory/fsl-corenet-cf.c @@ -211,10 +211,8 @@ dev_set_drvdata(&pdev->dev, ccf); irq = platform_get_irq(pdev, 0); - if (!irq) { - dev_err(&pdev->dev, "%s: no irq\n", __func__); - return -ENXIO; - } + if (irq < 0) + return irq; ret = devm_request_irq(&pdev->dev, irq, ccf_irq, 0, pdev->name, ccf); if (ret) { --- linux-riscv-5.8-5.8.0.orig/drivers/memory/jz4780-nemc.c +++ linux-riscv-5.8-5.8.0/drivers/memory/jz4780-nemc.c @@ -288,6 +288,8 @@ nemc->dev = dev; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return -EINVAL; nemc->base = devm_ioremap_resource(dev, res); if (IS_ERR(nemc->base)) { dev_err(dev, "failed to get I/O memory\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/memory/mtk-smi.c +++ linux-riscv-5.8-5.8.0/drivers/memory/mtk-smi.c @@ -127,7 +127,7 @@ int mtk_smi_larb_get(struct device *larbdev) { - int ret = pm_runtime_get_sync(larbdev); + int ret = pm_runtime_resume_and_get(larbdev); return (ret < 0) ? ret : 0; } @@ -336,7 +336,7 @@ int ret; /* Power on smi-common. */ - ret = pm_runtime_get_sync(larb->smi_common_dev); + ret = pm_runtime_resume_and_get(larb->smi_common_dev); if (ret < 0) { dev_err(dev, "Failed to pm get for smi-common(%d).\n", ret); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/memory/omap-gpmc.c +++ linux-riscv-5.8-5.8.0/drivers/memory/omap-gpmc.c @@ -949,7 +949,7 @@ int ret; u32 old_base, size; - if (cs > gpmc_cs_num) { + if (cs >= gpmc_cs_num) { pr_err("%s: requested chip-select is disabled\n", __func__); return -ENODEV; } @@ -984,7 +984,7 @@ struct resource *res = &gpmc->mem; int r = -1; - if (cs > gpmc_cs_num) { + if (cs >= gpmc_cs_num) { pr_err("%s: requested chip-select is disabled\n", __func__); return -ENODEV; } @@ -2274,6 +2274,10 @@ } } #else +void gpmc_read_settings_dt(struct device_node *np, struct gpmc_settings *p) +{ + memset(p, 0, sizeof(*p)); +} static int gpmc_probe_dt(struct platform_device *pdev) { return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/memory/samsung/exynos5422-dmc.c +++ linux-riscv-5.8-5.8.0/drivers/memory/samsung/exynos5422-dmc.c @@ -270,12 +270,14 @@ * This function switches between these banks according to the * currently used clock source. */ -static void exynos5_switch_timing_regs(struct exynos5_dmc *dmc, bool set) +static int exynos5_switch_timing_regs(struct exynos5_dmc *dmc, bool set) { unsigned int reg; int ret; ret = regmap_read(dmc->clk_regmap, CDREX_LPDDR3PHY_CON3, ®); + if (ret) + return ret; if (set) reg |= EXYNOS5_TIMING_SET_SWI; @@ -283,6 +285,8 @@ reg &= ~EXYNOS5_TIMING_SET_SWI; regmap_write(dmc->clk_regmap, CDREX_LPDDR3PHY_CON3, reg); + + return 0; } /** @@ -516,7 +520,7 @@ /* * Delays are long enough, so use them for the new coming clock. */ - exynos5_switch_timing_regs(dmc, USE_MX_MSPLL_TIMINGS); + ret = exynos5_switch_timing_regs(dmc, USE_MX_MSPLL_TIMINGS); return ret; } @@ -577,7 +581,9 @@ clk_set_rate(dmc->fout_bpll, target_rate); - exynos5_switch_timing_regs(dmc, USE_BPLL_TIMINGS); + ret = exynos5_switch_timing_regs(dmc, USE_BPLL_TIMINGS); + if (ret) + goto disable_clocks; ret = clk_set_parent(dmc->mout_mclk_cdrex, dmc->mout_bpll); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/memory/tegra/tegra124.c +++ linux-riscv-5.8-5.8.0/drivers/memory/tegra/tegra124.c @@ -957,7 +957,6 @@ static const unsigned int tegra124_group_drm[] = { TEGRA_SWGROUP_DC, TEGRA_SWGROUP_DCB, - TEGRA_SWGROUP_GPU, TEGRA_SWGROUP_VIC, }; --- linux-riscv-5.8-5.8.0.orig/drivers/memory/tegra/tegra186-emc.c +++ linux-riscv-5.8-5.8.0/drivers/memory/tegra/tegra186-emc.c @@ -185,7 +185,7 @@ if (IS_ERR(emc->clk)) { err = PTR_ERR(emc->clk); dev_err(&pdev->dev, "failed to get EMC clock: %d\n", err); - return err; + goto put_bpmp; } platform_set_drvdata(pdev, emc); @@ -201,7 +201,7 @@ err = tegra_bpmp_transfer(emc->bpmp, &msg); if (err < 0) { dev_err(&pdev->dev, "failed to EMC DVFS pairs: %d\n", err); - return err; + goto put_bpmp; } emc->debugfs.min_rate = ULONG_MAX; @@ -211,8 +211,10 @@ emc->dvfs = devm_kmalloc_array(&pdev->dev, emc->num_dvfs, sizeof(*emc->dvfs), GFP_KERNEL); - if (!emc->dvfs) - return -ENOMEM; + if (!emc->dvfs) { + err = -ENOMEM; + goto put_bpmp; + } dev_dbg(&pdev->dev, "%u DVFS pairs:\n", emc->num_dvfs); @@ -237,7 +239,7 @@ "failed to set rate range [%lu-%lu] for %pC\n", emc->debugfs.min_rate, emc->debugfs.max_rate, emc->clk); - return err; + goto put_bpmp; } emc->debugfs.root = debugfs_create_dir("emc", NULL); @@ -254,6 +256,10 @@ emc, &tegra186_emc_debug_max_rate_fops); return 0; + +put_bpmp: + tegra_bpmp_put(emc->bpmp); + return err; } static int tegra186_emc_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/memory/ti-aemif.c +++ linux-riscv-5.8-5.8.0/drivers/memory/ti-aemif.c @@ -378,8 +378,10 @@ */ for_each_available_child_of_node(np, child_np) { ret = of_aemif_parse_abus_config(pdev, child_np); - if (ret < 0) + if (ret < 0) { + of_node_put(child_np); goto error; + } } } else if (pdata && pdata->num_abus_data > 0) { for (i = 0; i < pdata->num_abus_data; i++, aemif->num_cs++) { @@ -405,8 +407,10 @@ for_each_available_child_of_node(np, child_np) { ret = of_platform_populate(child_np, NULL, dev_lookup, dev); - if (ret < 0) + if (ret < 0) { + of_node_put(child_np); goto error; + } } } else if (pdata) { for (i = 0; i < pdata->num_sub_devices; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/memstick/core/memstick.c +++ linux-riscv-5.8-5.8.0/drivers/memstick/core/memstick.c @@ -441,6 +441,9 @@ } else if (host->card->stop) host->card->stop(host->card); + if (host->removing) + goto out_power_off; + card = memstick_alloc_card(host); if (!card) { @@ -465,7 +468,6 @@ host->card = card; if (device_register(&card->dev)) { put_device(&card->dev); - kfree(host->card); host->card = NULL; } } else @@ -545,6 +547,7 @@ */ void memstick_remove_host(struct memstick_host *host) { + host->removing = 1; flush_workqueue(workqueue); mutex_lock(&host->lock); if (host->card) --- linux-riscv-5.8-5.8.0.orig/drivers/memstick/host/r592.c +++ linux-riscv-5.8-5.8.0/drivers/memstick/host/r592.c @@ -759,8 +759,10 @@ goto error3; dev->mmio = pci_ioremap_bar(pdev, 0); - if (!dev->mmio) + if (!dev->mmio) { + error = -ENOMEM; goto error4; + } dev->irq = pdev->irq; spin_lock_init(&dev->irq_lock); @@ -786,12 +788,14 @@ &dev->dummy_dma_page_physical_address, GFP_KERNEL); r592_stop_dma(dev , 0); - if (request_irq(dev->irq, &r592_irq, IRQF_SHARED, - DRV_NAME, dev)) + error = request_irq(dev->irq, &r592_irq, IRQF_SHARED, + DRV_NAME, dev); + if (error) goto error6; r592_update_card_detect(dev); - if (memstick_add_host(host)) + error = memstick_add_host(host); + if (error) goto error7; message("driver successfully loaded"); --- linux-riscv-5.8-5.8.0.orig/drivers/message/fusion/mptscsih.c +++ linux-riscv-5.8-5.8.0/drivers/message/fusion/mptscsih.c @@ -1176,8 +1176,10 @@ MPT_SCSI_HOST *hd; int sz1; - if((hd = shost_priv(host)) == NULL) - return; + if (host == NULL) + hd = NULL; + else + hd = shost_priv(host); mptscsih_shutdown(pdev); @@ -1193,14 +1195,15 @@ "Free'd ScsiLookup (%d) memory\n", ioc->name, sz1)); - kfree(hd->info_kbuf); + if (hd) + kfree(hd->info_kbuf); /* NULL the Scsi_Host pointer */ ioc->sh = NULL; - scsi_host_put(host); - + if (host) + scsi_host_put(host); mpt_detach(pdev); } --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/arizona-core.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/arizona-core.c @@ -1426,6 +1426,15 @@ arizona_irq_exit(arizona); err_pm: pm_runtime_disable(arizona->dev); + + switch (arizona->pdata.clk32k_src) { + case ARIZONA_32KZ_MCLK1: + case ARIZONA_32KZ_MCLK2: + arizona_clk32k_disable(arizona); + break; + default: + break; + } err_reset: arizona_enable_reset(arizona); regulator_disable(arizona->dcvdd); @@ -1448,6 +1457,15 @@ regulator_disable(arizona->dcvdd); regulator_put(arizona->dcvdd); + switch (arizona->pdata.clk32k_src) { + case ARIZONA_32KZ_MCLK1: + case ARIZONA_32KZ_MCLK2: + arizona_clk32k_disable(arizona); + break; + default: + break; + } + mfd_remove_devices(arizona->dev); arizona_free_irq(arizona, ARIZONA_IRQ_UNDERCLOCKED, arizona); arizona_free_irq(arizona, ARIZONA_IRQ_OVERCLOCKED, arizona); --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/bd9571mwv.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/bd9571mwv.c @@ -185,9 +185,9 @@ return ret; } - ret = mfd_add_devices(bd->dev, PLATFORM_DEVID_AUTO, bd9571mwv_cells, - ARRAY_SIZE(bd9571mwv_cells), NULL, 0, - regmap_irq_get_domain(bd->irq_data)); + ret = devm_mfd_add_devices(bd->dev, PLATFORM_DEVID_AUTO, + bd9571mwv_cells, ARRAY_SIZE(bd9571mwv_cells), + NULL, 0, regmap_irq_get_domain(bd->irq_data)); if (ret) { regmap_del_irq_chip(bd->irq, bd->irq_data); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/dln2.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/dln2.c @@ -287,7 +287,11 @@ len = urb->actual_length - sizeof(struct dln2_header); if (handle == DLN2_HANDLE_EVENT) { + unsigned long flags; + + spin_lock_irqsave(&dln2->event_cb_lock, flags); dln2_run_event_callbacks(dln2, id, echo, data, len); + spin_unlock_irqrestore(&dln2->event_cb_lock, flags); } else { /* URB will be re-submitted in _dln2_transfer (free_rx_slot) */ if (dln2_transfer_complete(dln2, urb, handle, echo)) --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/gateworks-gsc.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/gateworks-gsc.c @@ -234,7 +234,7 @@ ret = devm_regmap_add_irq_chip(dev, gsc->regmap, client->irq, IRQF_ONESHOT | IRQF_SHARED | - IRQF_TRIGGER_FALLING, 0, + IRQF_TRIGGER_LOW, 0, &gsc_irq_chip, &irq_data); if (ret) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/htc-i2cpld.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/htc-i2cpld.c @@ -346,6 +346,7 @@ if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_READ_BYTE_DATA)) { dev_warn(dev, "i2c adapter %d non-functional\n", pdata->i2c_adapter_id); + i2c_put_adapter(adapter); return -EINVAL; } @@ -360,6 +361,7 @@ /* I2C device registration failed, contineu with the next */ dev_warn(dev, "Unable to add I2C device for 0x%x\n", plat_chip_data->addr); + i2c_put_adapter(adapter); return PTR_ERR(client); } --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/intel-lpss-pci.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/intel-lpss-pci.c @@ -201,6 +201,9 @@ { PCI_VDEVICE(INTEL, 0x1ac4), (kernel_ulong_t)&bxt_info }, { PCI_VDEVICE(INTEL, 0x1ac6), (kernel_ulong_t)&bxt_info }, { PCI_VDEVICE(INTEL, 0x1aee), (kernel_ulong_t)&bxt_uart_info }, + /* EBG */ + { PCI_VDEVICE(INTEL, 0x1bad), (kernel_ulong_t)&bxt_uart_info }, + { PCI_VDEVICE(INTEL, 0x1bae), (kernel_ulong_t)&bxt_uart_info }, /* GLK */ { PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&glk_i2c_info }, { PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&glk_i2c_info }, @@ -230,6 +233,22 @@ { PCI_VDEVICE(INTEL, 0x34ea), (kernel_ulong_t)&bxt_i2c_info }, { PCI_VDEVICE(INTEL, 0x34eb), (kernel_ulong_t)&bxt_i2c_info }, { PCI_VDEVICE(INTEL, 0x34fb), (kernel_ulong_t)&spt_info }, + /* TGL-H */ + { PCI_VDEVICE(INTEL, 0x43a7), (kernel_ulong_t)&bxt_uart_info }, + { PCI_VDEVICE(INTEL, 0x43a8), (kernel_ulong_t)&bxt_uart_info }, + { PCI_VDEVICE(INTEL, 0x43a9), (kernel_ulong_t)&bxt_uart_info }, + { PCI_VDEVICE(INTEL, 0x43aa), (kernel_ulong_t)&bxt_info }, + { PCI_VDEVICE(INTEL, 0x43ab), (kernel_ulong_t)&bxt_info }, + { PCI_VDEVICE(INTEL, 0x43ad), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43ae), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43d8), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43da), (kernel_ulong_t)&bxt_uart_info }, + { PCI_VDEVICE(INTEL, 0x43e8), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43e9), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43ea), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43eb), (kernel_ulong_t)&bxt_i2c_info }, + { PCI_VDEVICE(INTEL, 0x43fb), (kernel_ulong_t)&bxt_info }, + { PCI_VDEVICE(INTEL, 0x43fd), (kernel_ulong_t)&bxt_info }, /* EHL */ { PCI_VDEVICE(INTEL, 0x4b28), (kernel_ulong_t)&bxt_uart_info }, { PCI_VDEVICE(INTEL, 0x4b29), (kernel_ulong_t)&bxt_uart_info }, --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/ioc3.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/ioc3.c @@ -616,7 +616,10 @@ /* Remove all already added MFD devices */ mfd_remove_devices(&ipd->pdev->dev); if (ipd->domain) { + struct fwnode_handle *fn = ipd->domain->fwnode; + irq_domain_remove(ipd->domain); + irq_domain_free_fwnode(fn); free_irq(ipd->domain_irq, (void *)ipd); } pci_iounmap(pdev, regs); @@ -643,7 +646,10 @@ /* Release resources */ mfd_remove_devices(&ipd->pdev->dev); if (ipd->domain) { + struct fwnode_handle *fn = ipd->domain->fwnode; + irq_domain_remove(ipd->domain); + irq_domain_free_fwnode(fn); free_irq(ipd->domain_irq, (void *)ipd); } pci_iounmap(pdev, ipd->regs); --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/sm501.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/sm501.c @@ -1415,8 +1415,14 @@ goto err_claim; } - return sm501_init_dev(sm); + ret = sm501_init_dev(sm); + if (ret) + goto err_unmap; + return 0; + + err_unmap: + iounmap(sm->regs); err_claim: release_mem_region(sm->io_res->start, 0x100); err_res: --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/sprd-sc27xx-spi.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/sprd-sc27xx-spi.c @@ -256,7 +256,7 @@ } ret = devm_regmap_add_irq_chip(&spi->dev, ddata->regmap, ddata->irq, - IRQF_ONESHOT | IRQF_NO_SUSPEND, 0, + IRQF_ONESHOT, 0, &ddata->irq_chip, &ddata->irq_data); if (ret) { dev_err(&spi->dev, "Failed to add PMIC irq chip %d\n", ret); @@ -272,9 +272,34 @@ return ret; } + device_init_wakeup(&spi->dev, true); return 0; } +#ifdef CONFIG_PM_SLEEP +static int sprd_pmic_suspend(struct device *dev) +{ + struct sprd_pmic *ddata = dev_get_drvdata(dev); + + if (device_may_wakeup(dev)) + enable_irq_wake(ddata->irq); + + return 0; +} + +static int sprd_pmic_resume(struct device *dev) +{ + struct sprd_pmic *ddata = dev_get_drvdata(dev); + + if (device_may_wakeup(dev)) + disable_irq_wake(ddata->irq); + + return 0; +} +#endif + +static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume); + static const struct of_device_id sprd_pmic_match[] = { { .compatible = "sprd,sc2731", .data = &sc2731_data }, {}, @@ -285,6 +310,7 @@ .driver = { .name = "sc27xx-pmic", .of_match_table = sprd_pmic_match, + .pm = &sprd_pmic_pm_ops, }, .probe = sprd_pmic_probe, }; --- linux-riscv-5.8-5.8.0.orig/drivers/mfd/wm831x-auxadc.c +++ linux-riscv-5.8-5.8.0/drivers/mfd/wm831x-auxadc.c @@ -93,11 +93,10 @@ wait_for_completion_timeout(&req->done, msecs_to_jiffies(500)); mutex_lock(&wm831x->auxadc_lock); - - list_del(&req->list); ret = req->val; out: + list_del(&req->list); mutex_unlock(&wm831x->auxadc_lock); kfree(req); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/cardreader/rts5227.c +++ linux-riscv-5.8-5.8.0/drivers/misc/cardreader/rts5227.c @@ -338,6 +338,11 @@ { rts5227_extra_init_hw(pcr); + /* Power down OCP for power consumption */ + if (!pcr->card_exist) + rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, + OC_POWER_DOWN); + rtsx_pci_write_register(pcr, FUNC_FORCE_CTL, FUNC_FORCE_UPME_XMT_DBG, FUNC_FORCE_UPME_XMT_DBG); rtsx_pci_write_register(pcr, PCLK_CTL, 0x04, 0x04); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/cardreader/rtsx_pcr.c +++ linux-riscv-5.8-5.8.0/drivers/misc/cardreader/rtsx_pcr.c @@ -1172,10 +1172,6 @@ rtsx_pci_write_register(pcr, REG_OCPGLITCH, SD_OCP_GLITCH_MASK, pcr->hw_param.ocp_glitch); rtsx_pci_enable_ocp(pcr); - } else { - /* OC power down */ - rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, - OC_POWER_DOWN); } } } @@ -1536,12 +1532,14 @@ ret = mfd_add_devices(&pcidev->dev, pcr->id, rtsx_pcr_cells, ARRAY_SIZE(rtsx_pcr_cells), NULL, 0, NULL); if (ret < 0) - goto disable_irq; + goto free_slots; schedule_delayed_work(&pcr->idle_work, msecs_to_jiffies(200)); return 0; +free_slots: + kfree(pcr->slots); disable_irq: free_irq(pcr->irq, (void *)pcr); disable_msi: --- linux-riscv-5.8-5.8.0.orig/drivers/misc/cxl/pci.c +++ linux-riscv-5.8-5.8.0/drivers/misc/cxl/pci.c @@ -393,8 +393,8 @@ *capp_unit_id = get_capp_unit_id(np, *phb_index); of_node_put(np); if (!*capp_unit_id) { - pr_err("cxl: invalid capp unit id (phb_index: %d)\n", - *phb_index); + pr_err("cxl: No capp unit found for PHB[%lld,%d]. Make sure the adapter is on a capi-compatible slot\n", + *chipid, *phb_index); return -ENODEV; } --- linux-riscv-5.8-5.8.0.orig/drivers/misc/cxl/sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/misc/cxl/sysfs.c @@ -624,7 +624,7 @@ rc = kobject_init_and_add(&cr->kobj, &afu_config_record_type, &afu->dev.kobj, "cr%i", cr->cr); if (rc) - goto err; + goto err1; rc = sysfs_create_bin_file(&cr->kobj, &cr->config_attr); if (rc) --- linux-riscv-5.8-5.8.0.orig/drivers/misc/eeprom/at24.c +++ linux-riscv-5.8-5.8.0/drivers/misc/eeprom/at24.c @@ -692,10 +692,6 @@ nvmem_config.word_size = 1; nvmem_config.size = byte_len; - at24->nvmem = devm_nvmem_register(dev, &nvmem_config); - if (IS_ERR(at24->nvmem)) - return PTR_ERR(at24->nvmem); - i2c_set_clientdata(client, at24); err = regulator_enable(at24->vcc_reg); @@ -708,6 +704,13 @@ pm_runtime_set_active(dev); pm_runtime_enable(dev); + at24->nvmem = devm_nvmem_register(dev, &nvmem_config); + if (IS_ERR(at24->nvmem)) { + pm_runtime_disable(dev); + regulator_disable(at24->vcc_reg); + return PTR_ERR(at24->nvmem); + } + /* * Perform a one-byte test read to verify that the * chip is functional. --- linux-riscv-5.8-5.8.0.orig/drivers/misc/eeprom/at25.c +++ linux-riscv-5.8-5.8.0/drivers/misc/eeprom/at25.c @@ -358,7 +358,7 @@ at25->nvmem_config.reg_read = at25_ee_read; at25->nvmem_config.reg_write = at25_ee_write; at25->nvmem_config.priv = at25; - at25->nvmem_config.stride = 4; + at25->nvmem_config.stride = 1; at25->nvmem_config.word_size = 1; at25->nvmem_config.size = chip.byte_len; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/eeprom/eeprom_93xx46.c +++ linux-riscv-5.8-5.8.0/drivers/misc/eeprom/eeprom_93xx46.c @@ -35,6 +35,10 @@ EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH, }; +static const struct eeprom_93xx46_devtype_data microchip_93lc46b_data = { + .quirks = EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE, +}; + struct eeprom_93xx46_dev { struct spi_device *spi; struct eeprom_93xx46_platform_data *pdata; @@ -55,6 +59,11 @@ return edev->pdata->quirks & EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH; } +static inline bool has_quirk_extra_read_cycle(struct eeprom_93xx46_dev *edev) +{ + return edev->pdata->quirks & EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE; +} + static int eeprom_93xx46_read(void *priv, unsigned int off, void *val, size_t count) { @@ -96,6 +105,11 @@ dev_dbg(&edev->spi->dev, "read cmd 0x%x, %d Hz\n", cmd_addr, edev->spi->max_speed_hz); + if (has_quirk_extra_read_cycle(edev)) { + cmd_addr <<= 1; + bits += 1; + } + spi_message_init(&m); t[0].tx_buf = (char *)&cmd_addr; @@ -363,6 +377,7 @@ static const struct of_device_id eeprom_93xx46_of_table[] = { { .compatible = "eeprom-93xx46", }, { .compatible = "atmel,at93c46d", .data = &atmel_at93c46d_data, }, + { .compatible = "microchip,93lc46b", .data = µchip_93lc46b_data, }, {} }; MODULE_DEVICE_TABLE(of, eeprom_93xx46_of_table); @@ -511,3 +526,4 @@ MODULE_DESCRIPTION("Driver for 93xx46 EEPROMs"); MODULE_AUTHOR("Anatolij Gustschin "); MODULE_ALIAS("spi:93xx46"); +MODULE_ALIAS("spi:eeprom-93xx46"); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/fastrpc.c +++ linux-riscv-5.8-5.8.0/drivers/misc/fastrpc.c @@ -515,12 +515,13 @@ { struct fastrpc_dma_buf_attachment *a = attachment->priv; struct sg_table *table; + int ret; table = &a->sgt; - if (!dma_map_sg(attachment->dev, table->sgl, table->nents, dir)) - return ERR_PTR(-ENOMEM); - + ret = dma_map_sgtable(attachment->dev, table, dir, 0); + if (ret) + table = ERR_PTR(ret); return table; } @@ -528,7 +529,7 @@ struct sg_table *table, enum dma_data_direction dir) { - dma_unmap_sg(attach->dev, table->sgl, table->nents, dir); + dma_unmap_sgtable(attach->dev, table, dir, 0); } static void fastrpc_release(struct dma_buf *dmabuf) @@ -942,6 +943,11 @@ if (!fl->cctx->rpdev) return -EPIPE; + if (handle == FASTRPC_INIT_HANDLE && !kernel) { + dev_warn_ratelimited(fl->sctx->dev, "user app trying to send a kernel RPC message (%d)\n", handle); + return -EPERM; + } + ctx = fastrpc_context_alloc(fl, kernel, sc, args); if (IS_ERR(ctx)) return PTR_ERR(ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/debugfs.c @@ -19,7 +19,7 @@ static struct dentry *hl_debug_root; static int hl_debugfs_i2c_read(struct hl_device *hdev, u8 i2c_bus, u8 i2c_addr, - u8 i2c_reg, u32 *val) + u8 i2c_reg, long *val) { struct armcp_packet pkt; int rc; @@ -36,7 +36,7 @@ pkt.i2c_reg = i2c_reg; rc = hdev->asic_funcs->send_cpu_message(hdev, (u32 *) &pkt, sizeof(pkt), - 0, (long *) val); + 0, val); if (rc) dev_err(hdev->dev, "Failed to read from I2C, error %d\n", rc); @@ -827,7 +827,7 @@ struct hl_dbg_device_entry *entry = file_inode(f)->i_private; struct hl_device *hdev = entry->hdev; char tmp_buf[32]; - u32 val; + long val; ssize_t rc; if (*ppos) @@ -842,7 +842,7 @@ return rc; } - sprintf(tmp_buf, "0x%02x\n", val); + sprintf(tmp_buf, "0x%02lx\n", val); rc = simple_read_from_buffer(buf, count, ppos, tmp_buf, strlen(tmp_buf)); @@ -982,7 +982,7 @@ return 0; sprintf(tmp_buf, "0x%llx\n", hdev->clock_gating_mask); - rc = simple_read_from_buffer(buf, strlen(tmp_buf) + 1, ppos, tmp_buf, + rc = simple_read_from_buffer(buf, count, ppos, tmp_buf, strlen(tmp_buf) + 1); return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/device.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/device.c @@ -106,6 +106,8 @@ list_del(&hpriv->dev_node); mutex_unlock(&hdev->fpriv_list_lock); + put_pid(hpriv->taskpid); + kfree(hpriv); return 0; @@ -227,16 +229,16 @@ static void device_cdev_sysfs_del(struct hl_device *hdev) { - /* device_release() won't be called so must free devices explicitly */ - if (!hdev->cdev_sysfs_created) { - kfree(hdev->dev_ctrl); - kfree(hdev->dev); - return; - } + if (!hdev->cdev_sysfs_created) + goto put_devices; hl_sysfs_fini(hdev); cdev_device_del(&hdev->cdev_ctrl, hdev->dev_ctrl); cdev_device_del(&hdev->cdev, hdev->dev); + +put_devices: + put_device(hdev->dev); + put_device(hdev->dev_ctrl); } /* @@ -980,6 +982,7 @@ GFP_KERNEL); if (!hdev->kernel_ctx) { rc = -ENOMEM; + hl_mmu_fini(hdev); goto out_err; } @@ -991,6 +994,7 @@ "failed to init kernel ctx in hard reset\n"); kfree(hdev->kernel_ctx); hdev->kernel_ctx = NULL; + hl_mmu_fini(hdev); goto out_err; } } @@ -1027,7 +1031,7 @@ goto out_err; } - hl_set_max_power(hdev, hdev->max_power); + hl_set_max_power(hdev); } else { rc = hdev->asic_funcs->soft_reset_late_init(hdev); if (rc) { @@ -1268,6 +1272,11 @@ goto out_disabled; } + /* Need to call this again because the max power might change, + * depending on card type for certain ASICs + */ + hl_set_max_power(hdev); + /* * hl_hwmon_init() must be called after device_late_init(), because only * there we get the information from the device about which @@ -1307,9 +1316,9 @@ early_fini: device_early_fini(hdev); free_dev_ctrl: - kfree(hdev->dev_ctrl); + put_device(hdev->dev_ctrl); free_dev: - kfree(hdev->dev); + put_device(hdev->dev); out_disabled: hdev->disabled = true; if (add_cdev_sysfs_on_err) --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/firmware_if.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/firmware_if.c @@ -13,6 +13,7 @@ #include #include +#define FW_FILE_MAX_SIZE 0x1400000 /* maximum size of 20MB */ /** * hl_fw_load_fw_to_device() - Load F/W code to device's memory. * @hdev: pointer to hl_device structure. @@ -45,6 +46,14 @@ dev_dbg(hdev->dev, "%s firmware size == %zu\n", fw_name, fw_size); + if (fw_size > FW_FILE_MAX_SIZE) { + dev_err(hdev->dev, + "FW file size %zu exceeds maximum of %u bytes\n", + fw_size, FW_FILE_MAX_SIZE); + rc = -EINVAL; + goto out; + } + fw_data = (const u64 *) fw->data; memcpy_toio(dst, fw_data, fw_size); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/gaudi/gaudi.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/gaudi/gaudi.c @@ -154,6 +154,29 @@ [PACKET_LOAD_AND_EXE] = sizeof(struct packet_load_and_exe) }; +static inline bool validate_packet_id(enum packet_id id) +{ + switch (id) { + case PACKET_WREG_32: + case PACKET_WREG_BULK: + case PACKET_MSG_LONG: + case PACKET_MSG_SHORT: + case PACKET_CP_DMA: + case PACKET_REPEAT: + case PACKET_MSG_PROT: + case PACKET_FENCE: + case PACKET_LIN_DMA: + case PACKET_NOP: + case PACKET_STOP: + case PACKET_ARB_POINT: + case PACKET_WAIT: + case PACKET_LOAD_AND_EXE: + return true; + default: + return false; + } +} + static const char * const gaudi_tpc_interrupts_cause[GAUDI_NUM_OF_TPC_INTR_CAUSE] = { "tpc_address_exceed_slm", @@ -424,7 +447,7 @@ prop->num_of_events = GAUDI_EVENT_SIZE; prop->tpc_enabled_mask = TPC_ENABLED_MASK; - prop->max_power_default = MAX_POWER_DEFAULT; + prop->max_power_default = MAX_POWER_DEFAULT_PCI; prop->cb_pool_cb_cnt = GAUDI_CB_POOL_CB_CNT; prop->cb_pool_cb_size = GAUDI_CB_POOL_CB_SIZE; @@ -652,11 +675,17 @@ size_t fw_size; void *cpu_addr; dma_addr_t dma_handle; - int rc; + int rc, count = 5; +again: rc = request_firmware(&fw, GAUDI_TPC_FW_FILE, hdev->dev); + if (rc == -EINTR && count-- > 0) { + msleep(50); + goto again; + } + if (rc) { - dev_err(hdev->dev, "Firmware file %s is not found!\n", + dev_err(hdev->dev, "Failed to load firmware file %s\n", GAUDI_TPC_FW_FILE); goto out; } @@ -2541,6 +2570,7 @@ { struct gaudi_device *gaudi = hdev->asic_specific; u32 qman_offset; + bool enable; int i; /* In case we are during debug session, don't enable the clock gate @@ -2550,46 +2580,43 @@ return; for (i = GAUDI_PCI_DMA_1, qman_offset = 0 ; i < GAUDI_HBM_DMA_1 ; i++) { - if (!(hdev->clock_gating_mask & - (BIT_ULL(gaudi_dma_assignment[i])))) - continue; + enable = !!(hdev->clock_gating_mask & + (BIT_ULL(gaudi_dma_assignment[i]))); qman_offset = gaudi_dma_assignment[i] * DMA_QMAN_OFFSET; - WREG32(mmDMA0_QM_CGM_CFG1 + qman_offset, QMAN_CGM1_PWR_GATE_EN); + WREG32(mmDMA0_QM_CGM_CFG1 + qman_offset, + enable ? QMAN_CGM1_PWR_GATE_EN : 0); WREG32(mmDMA0_QM_CGM_CFG + qman_offset, - QMAN_UPPER_CP_CGM_PWR_GATE_EN); + enable ? QMAN_UPPER_CP_CGM_PWR_GATE_EN : 0); } for (i = GAUDI_HBM_DMA_1 ; i < GAUDI_DMA_MAX ; i++) { - if (!(hdev->clock_gating_mask & - (BIT_ULL(gaudi_dma_assignment[i])))) - continue; + enable = !!(hdev->clock_gating_mask & + (BIT_ULL(gaudi_dma_assignment[i]))); qman_offset = gaudi_dma_assignment[i] * DMA_QMAN_OFFSET; - WREG32(mmDMA0_QM_CGM_CFG1 + qman_offset, QMAN_CGM1_PWR_GATE_EN); + WREG32(mmDMA0_QM_CGM_CFG1 + qman_offset, + enable ? QMAN_CGM1_PWR_GATE_EN : 0); WREG32(mmDMA0_QM_CGM_CFG + qman_offset, - QMAN_COMMON_CP_CGM_PWR_GATE_EN); + enable ? QMAN_COMMON_CP_CGM_PWR_GATE_EN : 0); } - if (hdev->clock_gating_mask & (BIT_ULL(GAUDI_ENGINE_ID_MME_0))) { - WREG32(mmMME0_QM_CGM_CFG1, QMAN_CGM1_PWR_GATE_EN); - WREG32(mmMME0_QM_CGM_CFG, QMAN_COMMON_CP_CGM_PWR_GATE_EN); - } + enable = !!(hdev->clock_gating_mask & (BIT_ULL(GAUDI_ENGINE_ID_MME_0))); + WREG32(mmMME0_QM_CGM_CFG1, enable ? QMAN_CGM1_PWR_GATE_EN : 0); + WREG32(mmMME0_QM_CGM_CFG, enable ? QMAN_COMMON_CP_CGM_PWR_GATE_EN : 0); - if (hdev->clock_gating_mask & (BIT_ULL(GAUDI_ENGINE_ID_MME_2))) { - WREG32(mmMME2_QM_CGM_CFG1, QMAN_CGM1_PWR_GATE_EN); - WREG32(mmMME2_QM_CGM_CFG, QMAN_COMMON_CP_CGM_PWR_GATE_EN); - } + enable = !!(hdev->clock_gating_mask & (BIT_ULL(GAUDI_ENGINE_ID_MME_2))); + WREG32(mmMME2_QM_CGM_CFG1, enable ? QMAN_CGM1_PWR_GATE_EN : 0); + WREG32(mmMME2_QM_CGM_CFG, enable ? QMAN_COMMON_CP_CGM_PWR_GATE_EN : 0); for (i = 0, qman_offset = 0 ; i < TPC_NUMBER_OF_ENGINES ; i++) { - if (!(hdev->clock_gating_mask & - (BIT_ULL(GAUDI_ENGINE_ID_TPC_0 + i)))) - continue; + enable = !!(hdev->clock_gating_mask & + (BIT_ULL(GAUDI_ENGINE_ID_TPC_0 + i))); WREG32(mmTPC0_QM_CGM_CFG1 + qman_offset, - QMAN_CGM1_PWR_GATE_EN); + enable ? QMAN_CGM1_PWR_GATE_EN : 0); WREG32(mmTPC0_QM_CGM_CFG + qman_offset, - QMAN_COMMON_CP_CGM_PWR_GATE_EN); + enable ? QMAN_COMMON_CP_CGM_PWR_GATE_EN : 0); qman_offset += TPC_QMAN_OFFSET; } @@ -3859,6 +3886,12 @@ PACKET_HEADER_PACKET_ID_MASK) >> PACKET_HEADER_PACKET_ID_SHIFT); + if (!validate_packet_id(pkt_id)) { + dev_err(hdev->dev, "Invalid packet id %u\n", pkt_id); + rc = -EINVAL; + break; + } + pkt_size = gaudi_packet_sizes[pkt_id]; cb_parsed_length += pkt_size; if (cb_parsed_length > parser->user_cb_size) { @@ -4082,6 +4115,12 @@ PACKET_HEADER_PACKET_ID_MASK) >> PACKET_HEADER_PACKET_ID_SHIFT); + if (!validate_packet_id(pkt_id)) { + dev_err(hdev->dev, "Invalid packet id %u\n", pkt_id); + rc = -EINVAL; + break; + } + pkt_size = gaudi_packet_sizes[pkt_id]; cb_parsed_length += pkt_size; if (cb_parsed_length > parser->user_cb_size) { @@ -6208,6 +6247,15 @@ strncpy(prop->armcp_info.card_name, GAUDI_DEFAULT_CARD_NAME, CARD_NAME_MAX_LEN); + hdev->card_type = le32_to_cpu(hdev->asic_prop.armcp_info.card_type); + + if (hdev->card_type == armcp_card_type_pci) + prop->max_power_default = MAX_POWER_DEFAULT_PCI; + else if (hdev->card_type == armcp_card_type_pmc) + prop->max_power_default = MAX_POWER_DEFAULT_PMC; + + hdev->max_power = prop->max_power_default; + return 0; } @@ -6243,7 +6291,7 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << + *mask |= ((u64) !is_eng_idle) << (GAUDI_ENGINE_ID_DMA_0 + dma_id); if (s) seq_printf(s, fmt, dma_id, @@ -6266,7 +6314,8 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << (GAUDI_ENGINE_ID_TPC_0 + i); + *mask |= ((u64) !is_eng_idle) << + (GAUDI_ENGINE_ID_TPC_0 + i); if (s) seq_printf(s, fmt, i, is_eng_idle ? "Y" : "N", @@ -6294,7 +6343,8 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << (GAUDI_ENGINE_ID_MME_0 + i); + *mask |= ((u64) !is_eng_idle) << + (GAUDI_ENGINE_ID_MME_0 + i); if (s) { if (!is_slave) seq_printf(s, fmt, i, --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/gaudi/gaudiP.h +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/gaudi/gaudiP.h @@ -41,7 +41,8 @@ #define GAUDI_MAX_CLK_FREQ 2200000000ull /* 2200 MHz */ -#define MAX_POWER_DEFAULT 200000 /* 200W */ +#define MAX_POWER_DEFAULT_PCI 200000 /* 200W */ +#define MAX_POWER_DEFAULT_PMC 350000 /* 350W */ #define GAUDI_CPU_TIMEOUT_USEC 15000000 /* 15s */ --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/gaudi/gaudi_coresight.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/gaudi/gaudi_coresight.c @@ -523,7 +523,7 @@ } static bool gaudi_etr_validate_address(struct hl_device *hdev, u64 addr, - u32 size, bool *is_host) + u64 size, bool *is_host) { struct asic_fixed_properties *prop = &hdev->asic_prop; struct gaudi_device *gaudi = hdev->asic_specific; @@ -535,6 +535,12 @@ return false; } + if (addr > (addr + size)) { + dev_err(hdev->dev, + "ETR buffer size %llu overflow\n", size); + return false; + } + /* PMMU and HPMMU addresses are equal, check only one of them */ if ((gaudi->hw_cap_initialized & HW_CAP_MMU) && hl_mem_area_inside_range(addr, size, --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/gaudi/gaudi_security.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/gaudi/gaudi_security.c @@ -832,8 +832,7 @@ PROT_BITS_OFFS; word_offset = ((mmMME0_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmMME0_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmMME0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmMME0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmMME0_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmMME0_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmMME0_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -1312,8 +1311,7 @@ PROT_BITS_OFFS; word_offset = ((mmMME2_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmMME2_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmMME2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmMME2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmMME2_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmMME2_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmMME2_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -1791,8 +1789,7 @@ word_offset = ((mmDMA0_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA0_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA0_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA0_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA0_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -2187,8 +2184,7 @@ word_offset = ((mmDMA1_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA1_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA1_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA1_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA1_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA1_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA1_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -2583,8 +2579,7 @@ word_offset = ((mmDMA2_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA2_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA2_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA2_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA2_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -2979,8 +2974,7 @@ word_offset = ((mmDMA3_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA3_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA3_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA3_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA3_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA3_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA3_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -3375,8 +3369,7 @@ word_offset = ((mmDMA4_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA4_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA4_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA4_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA4_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA4_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA4_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -3771,8 +3764,7 @@ word_offset = ((mmDMA5_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA5_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA5_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA5_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA5_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA5_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA5_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -4167,8 +4159,8 @@ word_offset = ((mmDMA6_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA6_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA6_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + + mask = 1 << ((mmDMA6_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA6_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA6_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA6_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -4563,8 +4555,7 @@ word_offset = ((mmDMA7_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmDMA7_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmDMA7_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmDMA7_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmDMA7_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmDMA7_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmDMA7_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -5492,8 +5483,7 @@ word_offset = ((mmTPC0_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC0_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC0_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC0_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC0_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC0_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -5948,8 +5938,7 @@ word_offset = ((mmTPC1_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC1_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC1_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC1_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC1_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC1_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC1_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -6403,8 +6392,7 @@ PROT_BITS_OFFS; word_offset = ((mmTPC2_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC2_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC2_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC2_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC2_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC2_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -6858,8 +6846,7 @@ PROT_BITS_OFFS; word_offset = ((mmTPC3_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC3_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC3_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC3_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC3_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC3_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC3_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -7313,8 +7300,7 @@ PROT_BITS_OFFS; word_offset = ((mmTPC4_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC4_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC4_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC4_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC4_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC4_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC4_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -7768,8 +7754,7 @@ PROT_BITS_OFFS; word_offset = ((mmTPC5_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC5_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC5_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC5_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC5_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC5_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC5_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -8224,8 +8209,7 @@ word_offset = ((mmTPC6_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC6_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC6_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC6_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC6_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC6_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC6_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); @@ -8682,8 +8666,7 @@ PROT_BITS_OFFS; word_offset = ((mmTPC7_QM_ARB_MST_CHOISE_PUSH_OFST_23 & PROT_BITS_OFFS) >> 7) << 2; - mask = 1 << ((mmTPC7_QM_ARB_MST_QUIET_PER & 0x7F) >> 2); - mask |= 1 << ((mmTPC7_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); + mask = 1 << ((mmTPC7_QM_ARB_SLV_CHOISE_WDT & 0x7F) >> 2); mask |= 1 << ((mmTPC7_QM_ARB_MSG_MAX_INFLIGHT & 0x7F) >> 2); mask |= 1 << ((mmTPC7_QM_ARB_MSG_AWUSER_31_11 & 0x7F) >> 2); mask |= 1 << ((mmTPC7_QM_ARB_MSG_AWUSER_SEC_PROP & 0x7F) >> 2); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/goya/goya.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/goya/goya.c @@ -139,6 +139,25 @@ [PACKET_STOP] = sizeof(struct packet_stop) }; +static inline bool validate_packet_id(enum packet_id id) +{ + switch (id) { + case PACKET_WREG_32: + case PACKET_WREG_BULK: + case PACKET_MSG_LONG: + case PACKET_MSG_SHORT: + case PACKET_CP_DMA: + case PACKET_MSG_PROT: + case PACKET_FENCE: + case PACKET_LIN_DMA: + case PACKET_NOP: + case PACKET_STOP: + return true; + default: + return false; + } +} + static u64 goya_mmu_regs[GOYA_MMU_REGS_NUM] = { mmDMA_QM_0_GLBL_NON_SECURE_PROPS, mmDMA_QM_1_GLBL_NON_SECURE_PROPS, @@ -3381,6 +3400,12 @@ PACKET_HEADER_PACKET_ID_MASK) >> PACKET_HEADER_PACKET_ID_SHIFT); + if (!validate_packet_id(pkt_id)) { + dev_err(hdev->dev, "Invalid packet id %u\n", pkt_id); + rc = -EINVAL; + break; + } + pkt_size = goya_packet_sizes[pkt_id]; cb_parsed_length += pkt_size; if (cb_parsed_length > parser->user_cb_size) { @@ -3616,6 +3641,12 @@ PACKET_HEADER_PACKET_ID_MASK) >> PACKET_HEADER_PACKET_ID_SHIFT); + if (!validate_packet_id(pkt_id)) { + dev_err(hdev->dev, "Invalid packet id %u\n", pkt_id); + rc = -EINVAL; + break; + } + pkt_size = goya_packet_sizes[pkt_id]; cb_parsed_length += pkt_size; if (cb_parsed_length > parser->user_cb_size) { @@ -5067,7 +5098,8 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << (GOYA_ENGINE_ID_DMA_0 + i); + *mask |= ((u64) !is_eng_idle) << + (GOYA_ENGINE_ID_DMA_0 + i); if (s) seq_printf(s, dma_fmt, i, is_eng_idle ? "Y" : "N", qm_glbl_sts0, dma_core_sts0); @@ -5090,7 +5122,8 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << (GOYA_ENGINE_ID_TPC_0 + i); + *mask |= ((u64) !is_eng_idle) << + (GOYA_ENGINE_ID_TPC_0 + i); if (s) seq_printf(s, fmt, i, is_eng_idle ? "Y" : "N", qm_glbl_sts0, cmdq_glbl_sts0, tpc_cfg_sts); @@ -5110,7 +5143,7 @@ is_idle &= is_eng_idle; if (mask) - *mask |= !is_eng_idle << GOYA_ENGINE_ID_MME_0; + *mask |= ((u64) !is_eng_idle) << GOYA_ENGINE_ID_MME_0; if (s) { seq_printf(s, fmt, 0, is_eng_idle ? "Y" : "N", qm_glbl_sts0, cmdq_glbl_sts0, mme_arch_sts); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/goya/goya_coresight.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/goya/goya_coresight.c @@ -358,11 +358,17 @@ } static int goya_etr_validate_address(struct hl_device *hdev, u64 addr, - u32 size) + u64 size) { struct asic_fixed_properties *prop = &hdev->asic_prop; u64 range_start, range_end; + if (addr > (addr + size)) { + dev_err(hdev->dev, + "ETR buffer size %llu overflow\n", size); + return false; + } + if (hdev->mmu_enable) { range_start = prop->dmmu.start_addr; range_end = prop->dmmu.end_addr; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/habanalabs.h +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/habanalabs.h @@ -1408,6 +1408,8 @@ * details. * @in_reset: is device in reset flow. * @curr_pll_profile: current PLL profile. + * @card_type: Various ASICs have several card types. This indicates the card + * type of the current device. * @cs_active_cnt: number of active command submissions on this device (active * means already in H/W queues) * @major: habanalabs kernel driver major. @@ -1503,6 +1505,7 @@ u64 clock_gating_mask; atomic_t in_reset; enum hl_pll_frequency curr_pll_profile; + enum armcp_card_types card_type; int cs_active_cnt; u32 major; u32 high_pll; @@ -1587,7 +1590,7 @@ * * Return: true if the area is inside the valid range, false otherwise. */ -static inline bool hl_mem_area_inside_range(u64 address, u32 size, +static inline bool hl_mem_area_inside_range(u64 address, u64 size, u64 range_start_address, u64 range_end_address) { u64 end_address = address + size; @@ -1792,7 +1795,7 @@ void hl_set_pwm_info(struct hl_device *hdev, int sensor_index, u32 attr, long value); u64 hl_get_max_power(struct hl_device *hdev); -void hl_set_max_power(struct hl_device *hdev, u64 value); +void hl_set_max_power(struct hl_device *hdev); int hl_set_voltage(struct hl_device *hdev, int sensor_index, u32 attr, long value); int hl_set_current(struct hl_device *hdev, --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/habanalabs_drv.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/habanalabs_drv.c @@ -456,6 +456,7 @@ .id_table = ids, .probe = hl_pci_probe, .remove = hl_pci_remove, + .shutdown = hl_pci_remove, .driver.pm = &hl_pm_ops, }; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/include/gaudi/gaudi_masks.h +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/include/gaudi/gaudi_masks.h @@ -378,15 +378,15 @@ ((((y) & RAZWI_INITIATOR_Y_MASK) << RAZWI_INITIATOR_Y_SHIFT) | \ (((x) & RAZWI_INITIATOR_X_MASK) << RAZWI_INITIATOR_X_SHIFT)) -#define RAZWI_INITIATOR_ID_X_Y_TPC0_NIC0 RAZWI_INITIATOR_ID_X_Y(1, 0) -#define RAZWI_INITIATOR_ID_X_Y_TPC1 RAZWI_INITIATOR_ID_X_Y(2, 0) -#define RAZWI_INITIATOR_ID_X_Y_MME0_0 RAZWI_INITIATOR_ID_X_Y(3, 0) -#define RAZWI_INITIATOR_ID_X_Y_MME0_1 RAZWI_INITIATOR_ID_X_Y(4, 0) -#define RAZWI_INITIATOR_ID_X_Y_MME1_0 RAZWI_INITIATOR_ID_X_Y(5, 0) -#define RAZWI_INITIATOR_ID_X_Y_MME1_1 RAZWI_INITIATOR_ID_X_Y(6, 0) -#define RAZWI_INITIATOR_ID_X_Y_TPC2 RAZWI_INITIATOR_ID_X_Y(7, 0) +#define RAZWI_INITIATOR_ID_X_Y_TPC0_NIC0 RAZWI_INITIATOR_ID_X_Y(1, 1) +#define RAZWI_INITIATOR_ID_X_Y_TPC1 RAZWI_INITIATOR_ID_X_Y(2, 1) +#define RAZWI_INITIATOR_ID_X_Y_MME0_0 RAZWI_INITIATOR_ID_X_Y(3, 1) +#define RAZWI_INITIATOR_ID_X_Y_MME0_1 RAZWI_INITIATOR_ID_X_Y(4, 1) +#define RAZWI_INITIATOR_ID_X_Y_MME1_0 RAZWI_INITIATOR_ID_X_Y(5, 1) +#define RAZWI_INITIATOR_ID_X_Y_MME1_1 RAZWI_INITIATOR_ID_X_Y(6, 1) +#define RAZWI_INITIATOR_ID_X_Y_TPC2 RAZWI_INITIATOR_ID_X_Y(7, 1) #define RAZWI_INITIATOR_ID_X_Y_TPC3_PCI_CPU_PSOC \ - RAZWI_INITIATOR_ID_X_Y(8, 0) + RAZWI_INITIATOR_ID_X_Y(8, 1) #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_S_0 RAZWI_INITIATOR_ID_X_Y(0, 1) #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_S_0 RAZWI_INITIATOR_ID_X_Y(9, 1) #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_S_1 RAZWI_INITIATOR_ID_X_Y(0, 2) @@ -395,14 +395,14 @@ #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_N_0 RAZWI_INITIATOR_ID_X_Y(9, 3) #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_W_N_1 RAZWI_INITIATOR_ID_X_Y(0, 4) #define RAZWI_INITIATOR_ID_X_Y_DMA_IF_E_N_1 RAZWI_INITIATOR_ID_X_Y(9, 4) -#define RAZWI_INITIATOR_ID_X_Y_TPC4_NIC1_NIC2 RAZWI_INITIATOR_ID_X_Y(1, 5) -#define RAZWI_INITIATOR_ID_X_Y_TPC5 RAZWI_INITIATOR_ID_X_Y(2, 5) -#define RAZWI_INITIATOR_ID_X_Y_MME2_0 RAZWI_INITIATOR_ID_X_Y(3, 5) -#define RAZWI_INITIATOR_ID_X_Y_MME2_1 RAZWI_INITIATOR_ID_X_Y(4, 5) -#define RAZWI_INITIATOR_ID_X_Y_MME3_0 RAZWI_INITIATOR_ID_X_Y(5, 5) -#define RAZWI_INITIATOR_ID_X_Y_MME3_1 RAZWI_INITIATOR_ID_X_Y(6, 5) -#define RAZWI_INITIATOR_ID_X_Y_TPC6 RAZWI_INITIATOR_ID_X_Y(7, 5) -#define RAZWI_INITIATOR_ID_X_Y_TPC7_NIC4_NIC5 RAZWI_INITIATOR_ID_X_Y(8, 5) +#define RAZWI_INITIATOR_ID_X_Y_TPC4_NIC1_NIC2 RAZWI_INITIATOR_ID_X_Y(1, 6) +#define RAZWI_INITIATOR_ID_X_Y_TPC5 RAZWI_INITIATOR_ID_X_Y(2, 6) +#define RAZWI_INITIATOR_ID_X_Y_MME2_0 RAZWI_INITIATOR_ID_X_Y(3, 6) +#define RAZWI_INITIATOR_ID_X_Y_MME2_1 RAZWI_INITIATOR_ID_X_Y(4, 6) +#define RAZWI_INITIATOR_ID_X_Y_MME3_0 RAZWI_INITIATOR_ID_X_Y(5, 6) +#define RAZWI_INITIATOR_ID_X_Y_MME3_1 RAZWI_INITIATOR_ID_X_Y(6, 6) +#define RAZWI_INITIATOR_ID_X_Y_TPC6 RAZWI_INITIATOR_ID_X_Y(7, 6) +#define RAZWI_INITIATOR_ID_X_Y_TPC7_NIC4_NIC5 RAZWI_INITIATOR_ID_X_Y(8, 6) #define PSOC_ETR_AXICTL_PROTCTRLBIT1_SHIFT 1 @@ -452,7 +452,6 @@ #define QM_ARB_ERR_MSG_EN_MASK (\ QM_ARB_ERR_MSG_EN_CHOISE_OVF_MASK |\ - QM_ARB_ERR_MSG_EN_CHOISE_WDT_MASK |\ QM_ARB_ERR_MSG_EN_AXI_LBW_ERR_MASK) #endif /* GAUDI_MASKS_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/memory.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/memory.c @@ -66,6 +66,11 @@ num_pgs = (args->alloc.mem_size + (page_size - 1)) >> page_shift; total_size = num_pgs << page_shift; + if (!total_size) { + dev_err(hdev->dev, "Cannot allocate 0 bytes\n"); + return -EINVAL; + } + contiguous = args->flags & HL_MEM_CONTIGUOUS; if (contiguous) { @@ -93,7 +98,7 @@ phys_pg_pack->contiguous = contiguous; phys_pg_pack->pages = kvmalloc_array(num_pgs, sizeof(u64), GFP_KERNEL); - if (!phys_pg_pack->pages) { + if (ZERO_OR_NULL_PTR(phys_pg_pack->pages)) { rc = -ENOMEM; goto pages_arr_err; } @@ -683,7 +688,7 @@ phys_pg_pack->pages = kvmalloc_array(total_npages, sizeof(u64), GFP_KERNEL); - if (!phys_pg_pack->pages) { + if (ZERO_OR_NULL_PTR(phys_pg_pack->pages)) { rc = -ENOMEM; goto page_pack_arr_mem_err; } --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/mmu.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/mmu.c @@ -450,7 +450,7 @@ hdev->mmu_shadow_hop0 = kvmalloc_array(prop->max_asid, prop->mmu_hop_table_size, GFP_KERNEL | __GFP_ZERO); - if (!hdev->mmu_shadow_hop0) { + if (ZERO_OR_NULL_PTR(hdev->mmu_shadow_hop0)) { rc = -ENOMEM; goto err_pool_add; } --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/pci.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/pci.c @@ -378,15 +378,17 @@ rc = hdev->asic_funcs->init_iatu(hdev); if (rc) { dev_err(hdev->dev, "Failed to initialize iATU\n"); - goto disable_device; + goto unmap_pci_bars; } rc = hl_pci_set_dma_mask(hdev); if (rc) - goto disable_device; + goto unmap_pci_bars; return 0; +unmap_pci_bars: + hl_pci_bars_unmap(hdev); disable_device: pci_clear_master(pdev); pci_disable_device(pdev); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/habanalabs/sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/misc/habanalabs/sysfs.c @@ -81,7 +81,7 @@ return result; } -void hl_set_max_power(struct hl_device *hdev, u64 value) +void hl_set_max_power(struct hl_device *hdev) { struct armcp_packet pkt; int rc; @@ -90,7 +90,7 @@ pkt.ctl = cpu_to_le32(ARMCP_PACKET_MAX_POWER_SET << ARMCP_PKT_CTL_OPCODE_SHIFT); - pkt.value = cpu_to_le64(value); + pkt.value = cpu_to_le64(hdev->max_power); rc = hdev->asic_funcs->send_cpu_message(hdev, (u32 *) &pkt, sizeof(pkt), 0, NULL); @@ -316,7 +316,7 @@ } hdev->max_power = value; - hl_set_max_power(hdev, value); + hl_set_max_power(hdev); out: return count; @@ -419,6 +419,7 @@ hdev->pm_mng_profile = PM_AUTO; else hdev->pm_mng_profile = PM_MANUAL; + hdev->max_power = hdev->asic_prop.max_power_default; hdev->asic_funcs->add_device_attr(hdev, &hl_dev_clks_attr_group); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/Makefile +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/Makefile @@ -16,7 +16,7 @@ OBJCOPYFLAGS := OBJCOPYFLAGS_rodata_objcopy.o := \ - --rename-section .text=.rodata,alloc,readonly,load + --rename-section .noinstr.text=.rodata,alloc,readonly,load targets += rodata.o rodata_objcopy.o $(obj)/rodata_objcopy.o: $(obj)/rodata.o FORCE $(call if_changed,objcopy) --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/bugs.c +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/bugs.c @@ -13,7 +13,7 @@ #include #include -#ifdef CONFIG_X86_32 +#if IS_ENABLED(CONFIG_X86_32) && !IS_ENABLED(CONFIG_UML) #include #endif @@ -118,9 +118,8 @@ /* Use default char array length that triggers stack protection. */ char data[8] __aligned(sizeof(void *)); - __lkdtm_CORRUPT_STACK(&data); - - pr_info("Corrupted stack containing char array ...\n"); + pr_info("Corrupting stack containing char array ...\n"); + __lkdtm_CORRUPT_STACK((void *)&data); } /* Same as above but will only get a canary with -fstack-protector-strong */ @@ -131,9 +130,8 @@ unsigned long *ptr; } data __aligned(sizeof(void *)); - __lkdtm_CORRUPT_STACK(&data); - - pr_info("Corrupted stack containing union ...\n"); + pr_info("Corrupting stack containing union ...\n"); + __lkdtm_CORRUPT_STACK((void *)&data); } void lkdtm_UNALIGNED_LOAD_STORE_WRITE(void) @@ -248,6 +246,7 @@ kfree(not_checked); kfree(checked); + pr_err("FAIL: survived array bounds overflow!\n"); } void lkdtm_CORRUPT_LIST_ADD(void) @@ -419,7 +418,7 @@ void lkdtm_DOUBLE_FAULT(void) { -#ifdef CONFIG_X86_32 +#if IS_ENABLED(CONFIG_X86_32) && !IS_ENABLED(CONFIG_UML) /* * Trigger #DF by setting the stack limit to zero. This clobbers * a GDT TLS slot, which is okay because the current task will die @@ -454,38 +453,42 @@ #endif } -#ifdef CONFIG_ARM64_PTR_AUTH +#ifdef CONFIG_ARM64 static noinline void change_pac_parameters(void) { - /* Reset the keys of current task */ - ptrauth_thread_init_kernel(current); - ptrauth_thread_switch_kernel(current); + if (IS_ENABLED(CONFIG_ARM64_PTR_AUTH)) { + /* Reset the keys of current task */ + ptrauth_thread_init_kernel(current); + ptrauth_thread_switch_kernel(current); + } } +#endif -#define CORRUPT_PAC_ITERATE 10 noinline void lkdtm_CORRUPT_PAC(void) { +#ifdef CONFIG_ARM64 +#define CORRUPT_PAC_ITERATE 10 int i; + if (!IS_ENABLED(CONFIG_ARM64_PTR_AUTH)) + pr_err("FAIL: kernel not built with CONFIG_ARM64_PTR_AUTH\n"); + if (!system_supports_address_auth()) { - pr_err("FAIL: arm64 pointer authentication feature not present\n"); + pr_err("FAIL: CPU lacks pointer authentication feature\n"); return; } - pr_info("Change the PAC parameters to force function return failure\n"); + pr_info("changing PAC parameters to force function return failure...\n"); /* - * Pac is a hash value computed from input keys, return address and + * PAC is a hash value computed from input keys, return address and * stack pointer. As pac has fewer bits so there is a chance of * collision, so iterate few times to reduce the collision probability. */ for (i = 0; i < CORRUPT_PAC_ITERATE; i++) change_pac_parameters(); - pr_err("FAIL: %s test failed. Kernel may be unstable from here\n", __func__); -} -#else /* !CONFIG_ARM64_PTR_AUTH */ -noinline void lkdtm_CORRUPT_PAC(void) -{ - pr_err("FAIL: arm64 pointer authentication config disabled\n"); -} + pr_err("FAIL: survived PAC changes! Kernel may be unstable from here\n"); +#else + pr_err("XFAIL: this test is arm64-only\n"); #endif +} --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/heap.c +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/heap.c @@ -58,11 +58,12 @@ int *base, *val, saw; size_t len = 1024; /* - * The slub allocator uses the first word to store the free - * pointer in some configurations. Use the middle of the - * allocation to avoid running into the freelist + * The slub allocator will use the either the first word or + * the middle of the allocation to store the free pointer, + * depending on configurations. Store in the second word to + * avoid running into the freelist. */ - size_t offset = (len / sizeof(*base)) / 2; + size_t offset = sizeof(*base); base = kmalloc(len, GFP_KERNEL); if (!base) { --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/lkdtm.h +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/lkdtm.h @@ -31,9 +31,7 @@ void lkdtm_STACK_GUARD_PAGE_LEADING(void); void lkdtm_STACK_GUARD_PAGE_TRAILING(void); void lkdtm_UNSET_SMEP(void); -#ifdef CONFIG_X86_32 void lkdtm_DOUBLE_FAULT(void); -#endif void lkdtm_CORRUPT_PAC(void); /* lkdtm_heap.c */ --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/perms.c +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/perms.c @@ -57,6 +57,7 @@ } pr_info("attempting bad execution at %px\n", func); func(); + pr_err("FAIL: func returned\n"); } static void execute_user_location(void *dst) @@ -75,20 +76,22 @@ return; pr_info("attempting bad execution at %px\n", func); func(); + pr_err("FAIL: func returned\n"); } void lkdtm_WRITE_RO(void) { - /* Explicitly cast away "const" for the test. */ - unsigned long *ptr = (unsigned long *)&rodata; + /* Explicitly cast away "const" for the test and make volatile. */ + volatile unsigned long *ptr = (unsigned long *)&rodata; pr_info("attempting bad rodata write at %px\n", ptr); *ptr ^= 0xabcd1234; + pr_err("FAIL: survived bad write\n"); } void lkdtm_WRITE_RO_AFTER_INIT(void) { - unsigned long *ptr = &ro_after_init; + volatile unsigned long *ptr = &ro_after_init; /* * Verify we were written to during init. Since an Oops @@ -102,19 +105,21 @@ pr_info("attempting bad ro_after_init write at %px\n", ptr); *ptr ^= 0xabcd1234; + pr_err("FAIL: survived bad write\n"); } void lkdtm_WRITE_KERN(void) { size_t size; - unsigned char *ptr; + volatile unsigned char *ptr; size = (unsigned long)do_overwritten - (unsigned long)do_nothing; ptr = (unsigned char *)do_overwritten; pr_info("attempting bad %zu byte write at %px\n", size, ptr); - memcpy(ptr, (unsigned char *)do_nothing, size); + memcpy((void *)ptr, (unsigned char *)do_nothing, size); flush_icache_range((unsigned long)ptr, (unsigned long)(ptr + size)); + pr_err("FAIL: survived bad write\n"); do_overwritten(); } @@ -193,9 +198,11 @@ pr_info("attempting bad read at %px\n", ptr); tmp = *ptr; tmp += 0xc0dec0de; + pr_err("FAIL: survived bad read\n"); pr_info("attempting bad write at %px\n", ptr); *ptr = tmp; + pr_err("FAIL: survived bad write\n"); vm_munmap(user_addr, PAGE_SIZE); } @@ -203,19 +210,20 @@ void lkdtm_ACCESS_NULL(void) { unsigned long tmp; - unsigned long *ptr = (unsigned long *)NULL; + volatile unsigned long *ptr = (unsigned long *)NULL; pr_info("attempting bad read at %px\n", ptr); tmp = *ptr; tmp += 0xc0dec0de; + pr_err("FAIL: survived bad read\n"); pr_info("attempting bad write at %px\n", ptr); *ptr = tmp; + pr_err("FAIL: survived bad write\n"); } void __init lkdtm_perms_init(void) { /* Make sure we can write to __ro_after_init values during __init */ ro_after_init |= 0xAA; - } --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/rodata.c +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/rodata.c @@ -5,7 +5,7 @@ */ #include "lkdtm.h" -void notrace lkdtm_rodata_do_nothing(void) +void noinstr lkdtm_rodata_do_nothing(void) { /* Does nothing. We just want an architecture agnostic "return". */ } --- linux-riscv-5.8-5.8.0.orig/drivers/misc/lkdtm/usercopy.c +++ linux-riscv-5.8-5.8.0/drivers/misc/lkdtm/usercopy.c @@ -304,19 +304,22 @@ return; } - pr_info("attempting good copy_to_user from kernel rodata\n"); + pr_info("attempting good copy_to_user from kernel rodata: %px\n", + test_text); if (copy_to_user((void __user *)user_addr, test_text, unconst + sizeof(test_text))) { pr_warn("copy_to_user failed unexpectedly?!\n"); goto free_user; } - pr_info("attempting bad copy_to_user from kernel text\n"); + pr_info("attempting bad copy_to_user from kernel text: %px\n", + vm_mmap); if (copy_to_user((void __user *)user_addr, vm_mmap, unconst + PAGE_SIZE)) { pr_warn("copy_to_user failed, but lacked Oops\n"); goto free_user; } + pr_err("FAIL: survived bad copy_to_user()\n"); free_user: vm_munmap(user_addr, PAGE_SIZE); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mei/client.h +++ linux-riscv-5.8-5.8.0/drivers/misc/mei/client.h @@ -164,11 +164,11 @@ * * @cl: host client * - * Return: mtu + * Return: mtu or 0 if client is not connected */ static inline size_t mei_cl_mtu(const struct mei_cl *cl) { - return cl->me_cl->props.max_msg_length; + return cl->me_cl ? cl->me_cl->props.max_msg_length : 0; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mei/hbm.c +++ linux-riscv-5.8-5.8.0/drivers/misc/mei/hbm.c @@ -1300,7 +1300,7 @@ return -EPROTO; } - dev->dev_state = MEI_DEV_POWER_DOWN; + mei_set_devstate(dev, MEI_DEV_POWER_DOWN); dev_info(dev->dev, "hbm: stop response: resetting.\n"); /* force the reset */ return -EPROTO; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mei/hw-me-regs.h +++ linux-riscv-5.8-5.8.0/drivers/misc/mei/hw-me-regs.h @@ -99,6 +99,12 @@ #define MEI_DEV_ID_MCC 0x4B70 /* Mule Creek Canyon (EHL) */ #define MEI_DEV_ID_MCC_4 0x4B75 /* Mule Creek Canyon 4 (EHL) */ +#define MEI_DEV_ID_EBG 0x1BE0 /* Emmitsburg WS */ + +#define MEI_DEV_ID_ADP_S 0x7AE8 /* Alder Lake Point S */ +#define MEI_DEV_ID_ADP_LP 0x7A60 /* Alder Lake Point LP */ +#define MEI_DEV_ID_ADP_P 0x51E0 /* Alder Lake Point P */ + /* * MEI HW Section */ --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mei/pci-me.c +++ linux-riscv-5.8-5.8.0/drivers/misc/mei/pci-me.c @@ -23,6 +23,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)}, @@ -105,6 +108,12 @@ {MEI_PCI_DEVICE(MEI_DEV_ID_CDF, MEI_ME_PCH8_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_EBG, MEI_ME_PCH15_SPS_CFG)}, + + {MEI_PCI_DEVICE(MEI_DEV_ID_ADP_S, MEI_ME_PCH15_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_ADP_LP, MEI_ME_PCH15_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_ADP_P, MEI_ME_PCH15_CFG)}, + /* required last entry */ {0, } }; @@ -206,7 +215,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-riscv-5.8-5.8.0.orig/drivers/misc/mic/scif/scif_rma.c +++ linux-riscv-5.8-5.8.0/drivers/misc/mic/scif/scif_rma.c @@ -1384,6 +1384,8 @@ (prot & SCIF_PROT_WRITE) ? FOLL_WRITE : 0, pinned_pages->pages); if (nr_pages != pinned_pages->nr_pages) { + if (pinned_pages->nr_pages < 0) + pinned_pages->nr_pages = 0; if (try_upgrade) { if (ulimit) __scif_dec_pinned_vm_lock(mm, nr_pages); @@ -1400,7 +1402,6 @@ if (pinned_pages->nr_pages < nr_pages) { err = -EFAULT; - pinned_pages->nr_pages = nr_pages; goto dec_pinned; } @@ -1413,7 +1414,6 @@ __scif_dec_pinned_vm_lock(mm, nr_pages); /* Something went wrong! Rollback */ error_unmap: - pinned_pages->nr_pages = nr_pages; scif_destroy_pinned_pages(pinned_pages); *pages = NULL; dev_dbg(scif_info.mdev.this_device, --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mic/vop/vop_main.c +++ linux-riscv-5.8-5.8.0/drivers/misc/mic/vop/vop_main.c @@ -320,7 +320,7 @@ /* First assign the vring's allocated in host memory */ vqconfig = _vop_vq_config(vdev->desc) + index; memcpy_fromio(&config, vqconfig, sizeof(config)); - _vr_size = vring_size(le16_to_cpu(config.num), MIC_VIRTIO_RING_ALIGN); + _vr_size = round_up(vring_size(le16_to_cpu(config.num), MIC_VIRTIO_RING_ALIGN), 4); vr_size = PAGE_ALIGN(_vr_size + sizeof(struct _mic_vring_info)); va = vpdev->hw_ops->remap(vpdev, le64_to_cpu(config.address), vr_size); if (!va) --- linux-riscv-5.8-5.8.0.orig/drivers/misc/mic/vop/vop_vringh.c +++ linux-riscv-5.8-5.8.0/drivers/misc/mic/vop/vop_vringh.c @@ -296,7 +296,7 @@ num = le16_to_cpu(vqconfig[i].num); mutex_init(&vvr->vr_mutex); - vr_size = PAGE_ALIGN(vring_size(num, MIC_VIRTIO_RING_ALIGN) + + vr_size = PAGE_ALIGN(round_up(vring_size(num, MIC_VIRTIO_RING_ALIGN), 4) + sizeof(struct _mic_vring_info)); vr->va = (void *) __get_free_pages(GFP_KERNEL | __GFP_ZERO, @@ -308,7 +308,7 @@ goto err; } vr->len = vr_size; - vr->info = vr->va + vring_size(num, MIC_VIRTIO_RING_ALIGN); + vr->info = vr->va + round_up(vring_size(num, MIC_VIRTIO_RING_ALIGN), 4); vr->info->magic = cpu_to_le32(MIC_MAGIC + vdev->virtio_id + i); vr_addr = dma_map_single(&vpdev->dev, vr->va, vr_size, DMA_BIDIRECTIONAL); @@ -602,6 +602,7 @@ size_t partlen; bool dma = VOP_USE_DMA && vi->dma_ch; int err = 0; + size_t offset = 0; if (dma) { dma_alignment = 1 << vi->dma_ch->device->copy_align; @@ -655,13 +656,20 @@ * We are copying to IO below and should ideally use something * like copy_from_user_toio(..) if it existed. */ - if (copy_from_user((void __force *)dbuf, ubuf, len)) { - err = -EFAULT; - dev_err(vop_dev(vdev), "%s %d err %d\n", - __func__, __LINE__, err); - goto err; + while (len) { + partlen = min_t(size_t, len, VOP_INT_DMA_BUF_SIZE); + + if (copy_from_user(vvr->buf, ubuf + offset, partlen)) { + err = -EFAULT; + dev_err(vop_dev(vdev), "%s %d err %d\n", + __func__, __LINE__, err); + goto err; + } + memcpy_toio(dbuf + offset, vvr->buf, partlen); + offset += partlen; + vdev->out_bytes += partlen; + len -= partlen; } - vdev->out_bytes += len; err = 0; err: vpdev->hw_ops->unmap(vpdev, dbuf); --- linux-riscv-5.8-5.8.0.orig/drivers/misc/ocxl/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/misc/ocxl/Kconfig @@ -9,9 +9,8 @@ config OCXL tristate "OpenCAPI coherent accelerator support" - depends on PPC_POWERNV && PCI && EEH + depends on PPC_POWERNV && PCI && EEH && HOTPLUG_PCI_POWERNV select OCXL_BASE - select HOTPLUG_PCI_POWERNV default m help Select this option to enable the ocxl driver for Open --- linux-riscv-5.8-5.8.0.orig/drivers/misc/pci_endpoint_test.c +++ linux-riscv-5.8-5.8.0/drivers/misc/pci_endpoint_test.c @@ -806,8 +806,10 @@ pci_set_master(pdev); - if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type)) + if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type)) { + err = -EINVAL; goto err_disable_irq; + } for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) { if (pci_resource_flags(pdev, bar) & IORESOURCE_MEM) { @@ -844,8 +846,10 @@ goto err_ida_remove; } - if (!pci_endpoint_test_request_irq(test)) + if (!pci_endpoint_test_request_irq(test)) { + err = -EINVAL; goto err_kfree_test_name; + } misc_device = &test->miscdev; misc_device->minor = MISC_DYNAMIC_MINOR; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/pvpanic.c +++ linux-riscv-5.8-5.8.0/drivers/misc/pvpanic.c @@ -172,6 +172,7 @@ { .compatible = "qemu,pvpanic-mmio", }, {} }; +MODULE_DEVICE_TABLE(of, pvpanic_mmio_match); static struct platform_driver pvpanic_mmio_driver = { .driver = { --- linux-riscv-5.8-5.8.0.orig/drivers/misc/vmw_vmci/vmci_context.c +++ linux-riscv-5.8-5.8.0/drivers/misc/vmw_vmci/vmci_context.c @@ -743,7 +743,7 @@ return VMCI_ERROR_MORE_DATA; } - dbells = kmalloc(data_size, GFP_ATOMIC); + dbells = kzalloc(data_size, GFP_ATOMIC); if (!dbells) return VMCI_ERROR_NO_MEM; --- linux-riscv-5.8-5.8.0.orig/drivers/misc/vmw_vmci/vmci_queue_pair.c +++ linux-riscv-5.8-5.8.0/drivers/misc/vmw_vmci/vmci_queue_pair.c @@ -537,6 +537,9 @@ queue_page_size = num_pages * sizeof(*queue->kernel_if->u.h.page); + if (queue_size + queue_page_size > KMALLOC_MAX_SIZE) + return NULL; + queue = kzalloc(queue_size + queue_page_size, GFP_KERNEL); if (queue) { queue->q_header = NULL; @@ -630,7 +633,7 @@ for (i = 0; i < num_pages; i++) { if (dirty) - set_page_dirty(pages[i]); + set_page_dirty_lock(pages[i]); put_page(pages[i]); pages[i] = NULL; @@ -657,8 +660,9 @@ if (retval < (int)produce_q->kernel_if->num_pages) { pr_debug("get_user_pages_fast(produce) failed (retval=%d)", retval); - qp_release_pages(produce_q->kernel_if->u.h.header_page, - retval, false); + if (retval > 0) + qp_release_pages(produce_q->kernel_if->u.h.header_page, + retval, false); err = VMCI_ERROR_NO_MEM; goto out; } @@ -670,8 +674,9 @@ if (retval < (int)consume_q->kernel_if->num_pages) { pr_debug("get_user_pages_fast(consume) failed (retval=%d)", retval); - qp_release_pages(consume_q->kernel_if->u.h.header_page, - retval, false); + if (retval > 0) + qp_release_pages(consume_q->kernel_if->u.h.header_page, + retval, false); qp_release_pages(produce_q->kernel_if->u.h.header_page, produce_q->kernel_if->num_pages, false); err = VMCI_ERROR_NO_MEM; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/block.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/block.c @@ -583,7 +583,7 @@ memcpy(&(idata->ic.response), cmd.resp, sizeof(cmd.resp)); - if (idata->rpmb || (cmd.flags & MMC_RSP_R1B)) { + if (idata->rpmb || (cmd.flags & MMC_RSP_R1B) == MMC_RSP_R1B) { /* * Ensure RPMB/R1B command has completed by polling CMD13 * "Send Status". --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/bus.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/bus.c @@ -387,11 +387,6 @@ mmc_remove_card_debugfs(card); #endif - if (host->cqe_enabled) { - host->cqe_ops->cqe_disable(host); - host->cqe_enabled = false; - } - if (mmc_card_present(card)) { if (mmc_host_is_spi(card->host)) { pr_info("%s: SPI card removed\n", @@ -404,6 +399,10 @@ of_node_put(card->dev.of_node); } + if (host->cqe_enabled) { + host->cqe_ops->cqe_disable(host); + host->cqe_enabled = false; + } + put_device(&card->dev); } - --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/mmc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/mmc.c @@ -423,10 +423,6 @@ /* EXT_CSD value is in units of 10ms, but we store in ms */ card->ext_csd.part_time = 10 * ext_csd[EXT_CSD_PART_SWITCH_TIME]; - /* Some eMMC set the value too low so set a minimum */ - if (card->ext_csd.part_time && - card->ext_csd.part_time < MMC_MIN_PART_SWITCH_TIME) - card->ext_csd.part_time = MMC_MIN_PART_SWITCH_TIME; /* Sleep / awake timeout in 100ns units */ if (sa_shift > 0 && sa_shift <= 0x17) @@ -616,6 +612,17 @@ card->ext_csd.data_sector_size = 512; } + /* + * GENERIC_CMD6_TIME is to be used "unless a specific timeout is defined + * when accessing a specific field", so use it here if there is no + * PARTITION_SWITCH_TIME. + */ + if (!card->ext_csd.part_time) + card->ext_csd.part_time = card->ext_csd.generic_cmd6_time; + /* Some eMMC set the value too low so set a minimum */ + if (card->ext_csd.part_time < MMC_MIN_PART_SWITCH_TIME) + card->ext_csd.part_time = MMC_MIN_PART_SWITCH_TIME; + /* eMMC v5 or later */ if (card->ext_csd.rev >= 7) { memcpy(card->ext_csd.fwrev, &ext_csd[EXT_CSD_FIRMWARE_VERSION], --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/queue.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/queue.c @@ -190,7 +190,7 @@ q->limits.discard_granularity = card->pref_erase << 9; /* granularity must not be greater than max. discard */ if (card->pref_erase > max_discard) - q->limits.discard_granularity = 0; + q->limits.discard_granularity = SECTOR_SIZE; if (mmc_can_secure_erase_trim(card)) blk_queue_flag_set(QUEUE_FLAG_SECERASE, q); } @@ -384,8 +384,10 @@ "merging was advertised but not possible"); blk_queue_max_segments(mq->queue, mmc_get_max_segments(host)); - if (mmc_card_mmc(card)) + if (mmc_card_mmc(card) && card->ext_csd.data_sector_size) { block_size = card->ext_csd.data_sector_size; + WARN_ON(block_size != 512 && block_size != 4096); + } blk_queue_logical_block_size(mq->queue, block_size); /* --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/sdio_cis.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/sdio_cis.c @@ -20,12 +20,17 @@ #include "sdio_cis.h" #include "sdio_ops.h" +#define SDIO_READ_CIS_TIMEOUT_MS (10 * 1000) /* 10s */ + static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func, const unsigned char *buf, unsigned size) { unsigned i, nr_strings; char **buffer, *string; + if (size < 2) + return 0; + /* Find all null-terminated (including zero length) strings in the TPLLV1_INFO field. Trailing garbage is ignored. */ buf += 2; @@ -263,6 +268,8 @@ do { unsigned char tpl_code, tpl_link; + unsigned long timeout = jiffies + + msecs_to_jiffies(SDIO_READ_CIS_TIMEOUT_MS); ret = mmc_io_rw_direct(card, 0, 0, ptr++, 0, &tpl_code); if (ret) @@ -315,6 +322,8 @@ prev = &this->next; if (ret == -ENOENT) { + if (time_after(jiffies, timeout)) + break; /* warn about unknown tuples */ pr_warn_ratelimited("%s: queuing unknown" " CIS tuple 0x%02x (%u bytes)\n", --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/core/sdio_ops.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/core/sdio_ops.c @@ -121,6 +121,7 @@ struct sg_table sgtable; unsigned int nents, left_size, i; unsigned int seg_size = card->host->max_seg_size; + int err; WARN_ON(blksz == 0); @@ -170,28 +171,32 @@ mmc_set_data_timeout(&data, card); - mmc_wait_for_req(card->host, &mrq); + mmc_pre_req(card->host, &mrq); - if (nents > 1) - sg_free_table(&sgtable); + mmc_wait_for_req(card->host, &mrq); if (cmd.error) - return cmd.error; - if (data.error) - return data.error; - - if (mmc_host_is_spi(card->host)) { + err = cmd.error; + else if (data.error) + err = data.error; + else if (mmc_host_is_spi(card->host)) /* host driver already reported errors */ - } else { - if (cmd.resp[0] & R5_ERROR) - return -EIO; - if (cmd.resp[0] & R5_FUNCTION_NUMBER) - return -EINVAL; - if (cmd.resp[0] & R5_OUT_OF_RANGE) - return -ERANGE; - } + err = 0; + else if (cmd.resp[0] & R5_ERROR) + err = -EIO; + else if (cmd.resp[0] & R5_FUNCTION_NUMBER) + err = -EINVAL; + else if (cmd.resp[0] & R5_OUT_OF_RANGE) + err = -ERANGE; + else + err = 0; + + mmc_post_req(card->host, &mrq, err); + + if (nents > 1) + sg_free_table(&sgtable); - return 0; + return err; } int sdio_reset(struct mmc_host *host) --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/mmci.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/mmci.c @@ -1239,7 +1239,11 @@ if (!cmd->busy_timeout) cmd->busy_timeout = 10 * MSEC_PER_SEC; - clks = (unsigned long long)cmd->busy_timeout * host->cclk; + if (cmd->busy_timeout > host->mmc->max_busy_timeout) + clks = (unsigned long long)host->mmc->max_busy_timeout * host->cclk; + else + clks = (unsigned long long)cmd->busy_timeout * host->cclk; + do_div(clks, MSEC_PER_SEC); writel_relaxed(clks, host->base + MMCIDATATIMER); } @@ -2089,6 +2093,10 @@ mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY; } + /* Variants with mandatory busy timeout in HW needs R1B responses. */ + if (variant->busy_timeout) + mmc->caps |= MMC_CAP_NEED_RSP_BUSY; + /* Prepare a CMD12 - needed to clear the DPSM on some variants. */ host->stop_abort.opcode = MMC_STOP_TRANSMISSION; host->stop_abort.arg = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/mtk-sd.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/mtk-sd.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -414,6 +415,7 @@ struct pinctrl_state *pins_uhs; struct delayed_work req_timeout; int irq; /* host interrupt */ + struct reset_control *reset; struct clk *src_clk; /* msdc source clock */ struct clk *h_clk; /* msdc h_clk */ @@ -438,7 +440,7 @@ static const struct mtk_mmc_compatible mt8135_compat = { .clk_div_bits = 8, - .recheck_sdio_irq = false, + .recheck_sdio_irq = true, .hs400_tune = false, .pad_tune_reg = MSDC_PAD_TUNE, .async_fifo = false, @@ -477,7 +479,7 @@ static const struct mtk_mmc_compatible mt2701_compat = { .clk_div_bits = 12, - .recheck_sdio_irq = false, + .recheck_sdio_irq = true, .hs400_tune = false, .pad_tune_reg = MSDC_PAD_TUNE0, .async_fifo = true, @@ -503,7 +505,7 @@ static const struct mtk_mmc_compatible mt7622_compat = { .clk_div_bits = 12, - .recheck_sdio_irq = false, + .recheck_sdio_irq = true, .hs400_tune = false, .pad_tune_reg = MSDC_PAD_TUNE0, .async_fifo = true, @@ -516,7 +518,7 @@ static const struct mtk_mmc_compatible mt8516_compat = { .clk_div_bits = 12, - .recheck_sdio_irq = false, + .recheck_sdio_irq = true, .hs400_tune = false, .pad_tune_reg = MSDC_PAD_TUNE0, .async_fifo = true, @@ -527,7 +529,7 @@ static const struct mtk_mmc_compatible mt7620_compat = { .clk_div_bits = 8, - .recheck_sdio_irq = false, + .recheck_sdio_irq = true, .hs400_tune = false, .pad_tune_reg = MSDC_PAD_TUNE, .async_fifo = false, @@ -1055,13 +1057,13 @@ static void msdc_request_done(struct msdc_host *host, struct mmc_request *mrq) { unsigned long flags; - bool ret; - ret = cancel_delayed_work(&host->req_timeout); - if (!ret) { - /* delay work already running */ - return; - } + /* + * No need check the return value of cancel_delayed_work, as only ONE + * path will go here! + */ + cancel_delayed_work(&host->req_timeout); + spin_lock_irqsave(&host->lock, flags); host->mrq = NULL; spin_unlock_irqrestore(&host->lock, flags); @@ -1083,7 +1085,7 @@ bool done = false; bool sbc_error; unsigned long flags; - u32 *rsp = cmd->resp; + u32 *rsp; if (mrq->sbc && cmd == mrq->cmd && (events & (MSDC_INT_ACMDRDY | MSDC_INT_ACMDCRCERR @@ -1104,6 +1106,7 @@ if (done) return true; + rsp = cmd->resp; sdr_clr_bits(host->base + MSDC_INTEN, cmd_ints_mask); @@ -1291,7 +1294,7 @@ static bool msdc_data_xfer_done(struct msdc_host *host, u32 events, struct mmc_request *mrq, struct mmc_data *data) { - struct mmc_command *stop = data->stop; + struct mmc_command *stop; unsigned long flags; bool done; unsigned int check_data = events & @@ -1307,6 +1310,7 @@ if (done) return true; + stop = data->stop; if (check_data || (stop && stop->error)) { dev_dbg(host->dev, "DMA status: 0x%8X\n", @@ -1516,6 +1520,12 @@ u32 val; u32 tune_reg = host->dev_comp->pad_tune_reg; + if (host->reset) { + reset_control_assert(host->reset); + usleep_range(10, 50); + reset_control_deassert(host->reset); + } + /* Configure to MMC/SD mode, clock free running */ sdr_set_bits(host->base + MSDC_CFG, MSDC_CFG_MODE | MSDC_CFG_CKPDN); @@ -2273,6 +2283,11 @@ if (IS_ERR(host->src_clk_cg)) host->src_clk_cg = NULL; + host->reset = devm_reset_control_get_optional_exclusive(&pdev->dev, + "hrst"); + if (IS_ERR(host->reset)) + return PTR_ERR(host->reset); + host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { ret = -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/mxs-mmc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/mxs-mmc.c @@ -643,7 +643,7 @@ ret = mmc_of_parse(mmc); if (ret) - goto out_clk_disable; + goto out_free_dma; mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/owl-mmc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/owl-mmc.c @@ -641,7 +641,7 @@ owl_host->irq = platform_get_irq(pdev, 0); if (owl_host->irq < 0) { ret = -EINVAL; - goto err_free_host; + goto err_release_channel; } ret = devm_request_irq(&pdev->dev, owl_host->irq, owl_irq_handler, @@ -649,19 +649,21 @@ if (ret) { dev_err(&pdev->dev, "Failed to request irq %d\n", owl_host->irq); - goto err_free_host; + goto err_release_channel; } ret = mmc_add_host(mmc); if (ret) { dev_err(&pdev->dev, "Failed to add host\n"); - goto err_free_host; + goto err_release_channel; } dev_dbg(&pdev->dev, "Owl MMC Controller Initialized\n"); return 0; +err_release_channel: + dma_release_channel(owl_host->dma); err_free_host: mmc_free_host(mmc); @@ -675,6 +677,7 @@ mmc_remove_host(mmc); disable_irq(owl_host->irq); + dma_release_channel(owl_host->dma); mmc_free_host(mmc); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/pxamci.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/pxamci.c @@ -731,6 +731,7 @@ host->power = devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW); if (IS_ERR(host->power)) { + ret = PTR_ERR(host->power); dev_err(dev, "Failed requesting gpio_power\n"); goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/renesas_sdhi_core.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/renesas_sdhi_core.c @@ -997,6 +997,7 @@ tmio_mmc_host_remove(host); renesas_sdhi_clk_disable(host); + tmio_mmc_host_free(host); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/renesas_sdhi_internal_dmac.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/renesas_sdhi_internal_dmac.c @@ -186,8 +186,8 @@ mmc_get_dma_dir(data))) goto force_pio; - /* This DMAC cannot handle if buffer is not 8-bytes alignment */ - if (!IS_ALIGNED(sg_dma_address(sg), 8)) + /* This DMAC cannot handle if buffer is not 128-bytes alignment */ + if (!IS_ALIGNED(sg_dma_address(sg), 128)) goto force_pio_with_unmap; if (data->flags & MMC_DATA_READ) { @@ -229,15 +229,12 @@ DTRAN_CTRL_DM_START); } -static void renesas_sdhi_internal_dmac_complete_tasklet_fn(unsigned long arg) +static bool renesas_sdhi_internal_dmac_complete(struct tmio_mmc_host *host) { - struct tmio_mmc_host *host = (struct tmio_mmc_host *)arg; enum dma_data_direction dir; - spin_lock_irq(&host->lock); - if (!host->data) - goto out; + return false; if (host->data->flags & MMC_DATA_READ) dir = DMA_FROM_DEVICE; @@ -250,6 +247,17 @@ if (dir == DMA_FROM_DEVICE) clear_bit(SDHI_INTERNAL_DMAC_RX_IN_USE, &global_flags); + return true; +} + +static void renesas_sdhi_internal_dmac_complete_tasklet_fn(unsigned long arg) +{ + struct tmio_mmc_host *host = (struct tmio_mmc_host *)arg; + + spin_lock_irq(&host->lock); + if (!renesas_sdhi_internal_dmac_complete(host)) + goto out; + tmio_mmc_do_data_irq(host); out: spin_unlock_irq(&host->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-acpi.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-acpi.c @@ -535,6 +535,11 @@ .caps = MMC_CAP_NONREMOVABLE, }; +struct amd_sdhci_host { + bool tuned_clock; + bool dll_enabled; +}; + /* AMD sdhci reset dll register. */ #define SDHCI_AMD_RESET_DLL_REGISTER 0x908 @@ -545,39 +550,96 @@ return MMC_SET_DRIVER_TYPE_A; } -static void sdhci_acpi_amd_hs400_dll(struct sdhci_host *host) +static void sdhci_acpi_amd_hs400_dll(struct sdhci_host *host, bool enable) { + struct sdhci_acpi_host *acpi_host = sdhci_priv(host); + struct amd_sdhci_host *amd_host = sdhci_acpi_priv(acpi_host); + /* AMD Platform requires dll setting */ sdhci_writel(host, 0x40003210, SDHCI_AMD_RESET_DLL_REGISTER); usleep_range(10, 20); - sdhci_writel(host, 0x40033210, SDHCI_AMD_RESET_DLL_REGISTER); + if (enable) + sdhci_writel(host, 0x40033210, SDHCI_AMD_RESET_DLL_REGISTER); + + amd_host->dll_enabled = enable; } /* - * For AMD Platform it is required to disable the tuning - * bit first controller to bring to HS Mode from HS200 - * mode, later enable to tune to HS400 mode. + * The initialization sequence for HS400 is: + * HS->HS200->Perform Tuning->HS->HS400 + * + * The re-tuning sequence is: + * HS400->DDR52->HS->HS200->Perform Tuning->HS->HS400 + * + * The AMD eMMC Controller can only use the tuned clock while in HS200 and HS400 + * mode. If we switch to a different mode, we need to disable the tuned clock. + * If we have previously performed tuning and switch back to HS200 or + * HS400, we can re-enable the tuned clock. + * */ static void amd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) { struct sdhci_host *host = mmc_priv(mmc); + struct sdhci_acpi_host *acpi_host = sdhci_priv(host); + struct amd_sdhci_host *amd_host = sdhci_acpi_priv(acpi_host); unsigned int old_timing = host->timing; + u16 val; sdhci_set_ios(mmc, ios); - if (old_timing == MMC_TIMING_MMC_HS200 && - ios->timing == MMC_TIMING_MMC_HS) - sdhci_writew(host, 0x9, SDHCI_HOST_CONTROL2); - if (old_timing != MMC_TIMING_MMC_HS400 && - ios->timing == MMC_TIMING_MMC_HS400) { - sdhci_writew(host, 0x80, SDHCI_HOST_CONTROL2); - sdhci_acpi_amd_hs400_dll(host); + + if (old_timing != host->timing && amd_host->tuned_clock) { + if (host->timing == MMC_TIMING_MMC_HS400 || + host->timing == MMC_TIMING_MMC_HS200) { + val = sdhci_readw(host, SDHCI_HOST_CONTROL2); + val |= SDHCI_CTRL_TUNED_CLK; + sdhci_writew(host, val, SDHCI_HOST_CONTROL2); + } else { + val = sdhci_readw(host, SDHCI_HOST_CONTROL2); + val &= ~SDHCI_CTRL_TUNED_CLK; + sdhci_writew(host, val, SDHCI_HOST_CONTROL2); + } + + /* DLL is only required for HS400 */ + if (host->timing == MMC_TIMING_MMC_HS400 && + !amd_host->dll_enabled) + sdhci_acpi_amd_hs400_dll(host, true); + } +} + +static int amd_sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) +{ + int err; + struct sdhci_host *host = mmc_priv(mmc); + struct sdhci_acpi_host *acpi_host = sdhci_priv(host); + struct amd_sdhci_host *amd_host = sdhci_acpi_priv(acpi_host); + + amd_host->tuned_clock = false; + + err = sdhci_execute_tuning(mmc, opcode); + + if (!err && !host->tuning_err) + amd_host->tuned_clock = true; + + return err; +} + +static void amd_sdhci_reset(struct sdhci_host *host, u8 mask) +{ + struct sdhci_acpi_host *acpi_host = sdhci_priv(host); + struct amd_sdhci_host *amd_host = sdhci_acpi_priv(acpi_host); + + if (mask & SDHCI_RESET_ALL) { + amd_host->tuned_clock = false; + sdhci_acpi_amd_hs400_dll(host, false); } + + sdhci_reset(host, mask); } static const struct sdhci_ops sdhci_acpi_ops_amd = { .set_clock = sdhci_set_clock, .set_bus_width = sdhci_set_bus_width, - .reset = sdhci_reset, + .reset = amd_sdhci_reset, .set_uhs_signaling = sdhci_set_uhs_signaling, }; @@ -599,8 +661,46 @@ (host->mmc->caps & MMC_CAP_1_8V_DDR)) host->mmc->caps2 = MMC_CAP2_HS400_1_8V; + /* + * There are two types of presets out in the wild: + * 1) Default/broken presets. + * These presets have two sets of problems: + * a) The clock divisor for SDR12, SDR25, and SDR50 is too small. + * This results in clock frequencies that are 2x higher than + * acceptable. i.e., SDR12 = 25 MHz, SDR25 = 50 MHz, SDR50 = + * 100 MHz.x + * b) The HS200 and HS400 driver strengths don't match. + * By default, the SDR104 preset register has a driver strength of + * A, but the (internal) HS400 preset register has a driver + * strength of B. As part of initializing HS400, HS200 tuning + * needs to be performed. Having different driver strengths + * between tuning and operation is wrong. It results in different + * rise/fall times that lead to incorrect sampling. + * 2) Firmware with properly initialized presets. + * These presets have proper clock divisors. i.e., SDR12 => 12MHz, + * SDR25 => 25 MHz, SDR50 => 50 MHz. Additionally the HS200 and + * HS400 preset driver strengths match. + * + * Enabling presets for HS400 doesn't work for the following reasons: + * 1) sdhci_set_ios has a hard coded list of timings that are used + * to determine if presets should be enabled. + * 2) sdhci_get_preset_value is using a non-standard register to + * read out HS400 presets. The AMD controller doesn't support this + * non-standard register. In fact, it doesn't expose the HS400 + * preset register anywhere in the SDHCI memory map. This results + * in reading a garbage value and using the wrong presets. + * + * Since HS400 and HS200 presets must be identical, we could + * instead use the the SDR104 preset register. + * + * If the above issues are resolved we could remove this quirk for + * firmware that that has valid presets (i.e., SDR12 <= 12 MHz). + */ + host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN; + host->mmc_host_ops.select_drive_strength = amd_select_drive_strength; host->mmc_host_ops.set_ios = amd_set_ios; + host->mmc_host_ops.execute_tuning = amd_sdhci_execute_tuning; return 0; } @@ -612,6 +712,7 @@ SDHCI_QUIRK_32BIT_ADMA_SIZE, .quirks2 = SDHCI_QUIRK2_BROKEN_64_BIT_DMA, .probe_slot = sdhci_acpi_emmc_amd_probe_slot, + .priv_size = sizeof(struct amd_sdhci_host), }; struct sdhci_acpi_uid_slot { --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-brcmstb.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-brcmstb.c @@ -316,11 +316,7 @@ static void sdhci_brcmstb_shutdown(struct platform_device *pdev) { - int ret; - - ret = sdhci_pltfm_unregister(pdev); - if (ret) - dev_err(&pdev->dev, "failed to shutdown\n"); + sdhci_pltfm_suspend(&pdev->dev); } MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-cadence.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-cadence.c @@ -202,57 +202,6 @@ return FIELD_GET(SDHCI_CDNS_HRS06_MODE, tmp); } -static void sdhci_cdns_set_uhs_signaling(struct sdhci_host *host, - unsigned int timing) -{ - struct sdhci_cdns_priv *priv = sdhci_cdns_priv(host); - u32 mode; - - switch (timing) { - case MMC_TIMING_MMC_HS: - mode = SDHCI_CDNS_HRS06_MODE_MMC_SDR; - break; - case MMC_TIMING_MMC_DDR52: - mode = SDHCI_CDNS_HRS06_MODE_MMC_DDR; - break; - case MMC_TIMING_MMC_HS200: - mode = SDHCI_CDNS_HRS06_MODE_MMC_HS200; - break; - case MMC_TIMING_MMC_HS400: - if (priv->enhanced_strobe) - mode = SDHCI_CDNS_HRS06_MODE_MMC_HS400ES; - else - mode = SDHCI_CDNS_HRS06_MODE_MMC_HS400; - break; - default: - mode = SDHCI_CDNS_HRS06_MODE_SD; - break; - } - - sdhci_cdns_set_emmc_mode(priv, mode); - - /* For SD, fall back to the default handler */ - if (mode == SDHCI_CDNS_HRS06_MODE_SD) - sdhci_set_uhs_signaling(host, timing); -} - -static const struct sdhci_ops sdhci_cdns_ops = { - .set_clock = sdhci_set_clock, - .get_timeout_clock = sdhci_cdns_get_timeout_clock, - .set_bus_width = sdhci_set_bus_width, - .reset = sdhci_reset, - .set_uhs_signaling = sdhci_cdns_set_uhs_signaling, -}; - -static const struct sdhci_pltfm_data sdhci_cdns_uniphier_pltfm_data = { - .ops = &sdhci_cdns_ops, - .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, -}; - -static const struct sdhci_pltfm_data sdhci_cdns_pltfm_data = { - .ops = &sdhci_cdns_ops, -}; - static int sdhci_cdns_set_tune_val(struct sdhci_host *host, unsigned int val) { struct sdhci_cdns_priv *priv = sdhci_cdns_priv(host); @@ -286,23 +235,24 @@ return 0; } -static int sdhci_cdns_execute_tuning(struct mmc_host *mmc, u32 opcode) +/* + * In SD mode, software must not use the hardware tuning and instead perform + * an almost identical procedure to eMMC. + */ +static int sdhci_cdns_execute_tuning(struct sdhci_host *host, u32 opcode) { - struct sdhci_host *host = mmc_priv(mmc); int cur_streak = 0; int max_streak = 0; int end_of_streak = 0; int i; /* - * This handler only implements the eMMC tuning that is specific to - * this controller. Fall back to the standard method for SD timing. + * Do not execute tuning for UHS_SDR50 or UHS_DDR50. + * The delay is set by probe, based on the DT properties. */ - if (host->timing != MMC_TIMING_MMC_HS200) - return sdhci_execute_tuning(mmc, opcode); - - if (WARN_ON(opcode != MMC_SEND_TUNING_BLOCK_HS200)) - return -EINVAL; + if (host->timing != MMC_TIMING_MMC_HS200 && + host->timing != MMC_TIMING_UHS_SDR104) + return 0; for (i = 0; i < SDHCI_CDNS_MAX_TUNING_LOOP; i++) { if (sdhci_cdns_set_tune_val(host, i) || @@ -325,6 +275,58 @@ return sdhci_cdns_set_tune_val(host, end_of_streak - max_streak / 2); } +static void sdhci_cdns_set_uhs_signaling(struct sdhci_host *host, + unsigned int timing) +{ + struct sdhci_cdns_priv *priv = sdhci_cdns_priv(host); + u32 mode; + + switch (timing) { + case MMC_TIMING_MMC_HS: + mode = SDHCI_CDNS_HRS06_MODE_MMC_SDR; + break; + case MMC_TIMING_MMC_DDR52: + mode = SDHCI_CDNS_HRS06_MODE_MMC_DDR; + break; + case MMC_TIMING_MMC_HS200: + mode = SDHCI_CDNS_HRS06_MODE_MMC_HS200; + break; + case MMC_TIMING_MMC_HS400: + if (priv->enhanced_strobe) + mode = SDHCI_CDNS_HRS06_MODE_MMC_HS400ES; + else + mode = SDHCI_CDNS_HRS06_MODE_MMC_HS400; + break; + default: + mode = SDHCI_CDNS_HRS06_MODE_SD; + break; + } + + sdhci_cdns_set_emmc_mode(priv, mode); + + /* For SD, fall back to the default handler */ + if (mode == SDHCI_CDNS_HRS06_MODE_SD) + sdhci_set_uhs_signaling(host, timing); +} + +static const struct sdhci_ops sdhci_cdns_ops = { + .set_clock = sdhci_set_clock, + .get_timeout_clock = sdhci_cdns_get_timeout_clock, + .set_bus_width = sdhci_set_bus_width, + .reset = sdhci_reset, + .platform_execute_tuning = sdhci_cdns_execute_tuning, + .set_uhs_signaling = sdhci_cdns_set_uhs_signaling, +}; + +static const struct sdhci_pltfm_data sdhci_cdns_uniphier_pltfm_data = { + .ops = &sdhci_cdns_ops, + .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, +}; + +static const struct sdhci_pltfm_data sdhci_cdns_pltfm_data = { + .ops = &sdhci_cdns_ops, +}; + static void sdhci_cdns_hs400_enhanced_strobe(struct mmc_host *mmc, struct mmc_ios *ios) { @@ -385,7 +387,6 @@ priv->hrs_addr = host->ioaddr; priv->enhanced_strobe = false; host->ioaddr += SDHCI_CDNS_SRS_BASE; - host->mmc_host_ops.execute_tuning = sdhci_cdns_execute_tuning; host->mmc_host_ops.hs400_enhanced_strobe = sdhci_cdns_hs400_enhanced_strobe; sdhci_enable_v4_mode(host); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-esdhc-imx.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-esdhc-imx.c @@ -1705,9 +1705,10 @@ struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); - int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); + int dead; pm_runtime_get_sync(&pdev->dev); + dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); pm_runtime_disable(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-esdhc.h +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-esdhc.h @@ -5,6 +5,7 @@ * Copyright (c) 2007 Freescale Semiconductor, Inc. * Copyright (c) 2009 MontaVista Software, Inc. * Copyright (c) 2010 Pengutronix e.K. + * Copyright 2020 NXP * Author: Wolfram Sang */ @@ -88,6 +89,7 @@ /* DLL Config 0 Register */ #define ESDHC_DLLCFG0 0x160 #define ESDHC_DLL_ENABLE 0x80000000 +#define ESDHC_DLL_RESET 0x40000000 #define ESDHC_DLL_FREQ_SEL 0x08000000 /* DLL Config 1 Register */ --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-iproc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-iproc.c @@ -294,9 +294,27 @@ }; MODULE_DEVICE_TABLE(of, sdhci_iproc_of_match); +/* + * This is a duplicate of bcm2835_(pltfrm_)data without caps quirks + * which are provided by the ACPI table. + */ +static const struct sdhci_pltfm_data sdhci_bcm_arasan_data = { + .quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION | + SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | + SDHCI_QUIRK_NO_HISPD_BIT, + .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, + .ops = &sdhci_iproc_32only_ops, +}; + +static const struct sdhci_iproc_data bcm_arasan_data = { + .pdata = &sdhci_bcm_arasan_data, +}; + static const struct acpi_device_id sdhci_iproc_acpi_ids[] = { { .id = "BRCM5871", .driver_data = (kernel_ulong_t)&iproc_cygnus_data }, { .id = "BRCM5872", .driver_data = (kernel_ulong_t)&iproc_data }, + { .id = "BCM2847", .driver_data = (kernel_ulong_t)&bcm_arasan_data }, + { .id = "BRCME88C", .driver_data = (kernel_ulong_t)&bcm2711_data }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(acpi, sdhci_iproc_acpi_ids); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-msm.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-msm.c @@ -1158,7 +1158,7 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode) { struct sdhci_host *host = mmc_priv(mmc); - int tuning_seq_cnt = 3; + int tuning_seq_cnt = 10; u8 phase, tuned_phases[16], tuned_phase_cnt = 0; int rc; struct mmc_ios ios = host->mmc->ios; @@ -1214,6 +1214,22 @@ } while (++phase < ARRAY_SIZE(tuned_phases)); if (tuned_phase_cnt) { + if (tuned_phase_cnt == ARRAY_SIZE(tuned_phases)) { + /* + * All phases valid is _almost_ as bad as no phases + * valid. Probably all phases are not really reliable + * but we didn't detect where the unreliable place is. + * That means we'll essentially be guessing and hoping + * we get a good phase. Better to try a few times. + */ + dev_dbg(mmc_dev(mmc), "%s: All phases valid; try again\n", + mmc_hostname(mmc)); + if (--tuning_seq_cnt) { + tuned_phase_cnt = 0; + goto retry; + } + } + rc = msm_find_most_appropriate_phase(host, tuned_phases, tuned_phase_cnt); if (rc < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-of-arasan.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-of-arasan.c @@ -30,7 +30,10 @@ #define SDHCI_ARASAN_VENDOR_REGISTER 0x78 #define SDHCI_ARASAN_ITAPDLY_REGISTER 0xF0F8 +#define SDHCI_ARASAN_ITAPDLY_SEL_MASK 0xFF + #define SDHCI_ARASAN_OTAPDLY_REGISTER 0xF0FC +#define SDHCI_ARASAN_OTAPDLY_SEL_MASK 0x3F #define SDHCI_ARASAN_CQE_BASE_ADDR 0x200 #define VENDOR_ENHANCED_STROBE BIT(0) @@ -600,14 +603,8 @@ u8 tap_delay, tap_max = 0; int ret; - /* - * This is applicable for SDHCI_SPEC_300 and above - * ZynqMP does not set phase for <=25MHz clock. - * If degrees is zero, no need to do anything. - */ - if (host->version < SDHCI_SPEC_300 || - host->timing == MMC_TIMING_LEGACY || - host->timing == MMC_TIMING_UHS_SDR12 || !degrees) + /* This is applicable for SDHCI_SPEC_300 and above */ + if (host->version < SDHCI_SPEC_300) return 0; switch (host->timing) { @@ -638,6 +635,9 @@ if (ret) pr_err("Error setting Output Tap Delay\n"); + /* Release DLL Reset */ + zynqmp_pm_sd_dll_reset(node_id, PM_DLL_RESET_RELEASE); + return ret; } @@ -668,16 +668,13 @@ u8 tap_delay, tap_max = 0; int ret; - /* - * This is applicable for SDHCI_SPEC_300 and above - * ZynqMP does not set phase for <=25MHz clock. - * If degrees is zero, no need to do anything. - */ - if (host->version < SDHCI_SPEC_300 || - host->timing == MMC_TIMING_LEGACY || - host->timing == MMC_TIMING_UHS_SDR12 || !degrees) + /* This is applicable for SDHCI_SPEC_300 and above */ + if (host->version < SDHCI_SPEC_300) return 0; + /* Assert DLL Reset */ + zynqmp_pm_sd_dll_reset(node_id, PM_DLL_RESET_ASSERT); + switch (host->timing) { case MMC_TIMING_MMC_HS: case MMC_TIMING_SD_HS: @@ -733,14 +730,8 @@ struct sdhci_host *host = sdhci_arasan->host; u8 tap_delay, tap_max = 0; - /* - * This is applicable for SDHCI_SPEC_300 and above - * Versal does not set phase for <=25MHz clock. - * If degrees is zero, no need to do anything. - */ - if (host->version < SDHCI_SPEC_300 || - host->timing == MMC_TIMING_LEGACY || - host->timing == MMC_TIMING_UHS_SDR12 || !degrees) + /* This is applicable for SDHCI_SPEC_300 and above */ + if (host->version < SDHCI_SPEC_300) return 0; switch (host->timing) { @@ -773,6 +764,7 @@ regval = sdhci_readl(host, SDHCI_ARASAN_OTAPDLY_REGISTER); regval |= SDHCI_OTAPDLY_ENABLE; sdhci_writel(host, regval, SDHCI_ARASAN_OTAPDLY_REGISTER); + regval &= ~SDHCI_ARASAN_OTAPDLY_SEL_MASK; regval |= tap_delay; sdhci_writel(host, regval, SDHCI_ARASAN_OTAPDLY_REGISTER); } @@ -804,14 +796,8 @@ struct sdhci_host *host = sdhci_arasan->host; u8 tap_delay, tap_max = 0; - /* - * This is applicable for SDHCI_SPEC_300 and above - * Versal does not set phase for <=25MHz clock. - * If degrees is zero, no need to do anything. - */ - if (host->version < SDHCI_SPEC_300 || - host->timing == MMC_TIMING_LEGACY || - host->timing == MMC_TIMING_UHS_SDR12 || !degrees) + /* This is applicable for SDHCI_SPEC_300 and above */ + if (host->version < SDHCI_SPEC_300) return 0; switch (host->timing) { @@ -846,6 +832,7 @@ sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER); regval |= SDHCI_ITAPDLY_ENABLE; sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER); + regval &= ~SDHCI_ARASAN_ITAPDLY_SEL_MASK; regval |= tap_delay; sdhci_writel(host, regval, SDHCI_ARASAN_ITAPDLY_REGISTER); regval &= ~SDHCI_ITAPDLY_CHGWIN; @@ -1025,7 +1012,6 @@ static void arasan_dt_parse_clk_phases(struct device *dev, struct sdhci_arasan_clk_data *clk_data) { - int *iclk_phase, *oclk_phase; u32 mio_bank = 0; int i; @@ -1037,28 +1023,32 @@ clk_data->set_clk_delays = sdhci_arasan_set_clk_delays; if (of_device_is_compatible(dev->of_node, "xlnx,zynqmp-8.9a")) { - iclk_phase = (int [MMC_TIMING_MMC_HS400 + 1]) ZYNQMP_ICLK_PHASE; - oclk_phase = (int [MMC_TIMING_MMC_HS400 + 1]) ZYNQMP_OCLK_PHASE; + u32 zynqmp_iclk_phase[MMC_TIMING_MMC_HS400 + 1] = + ZYNQMP_ICLK_PHASE; + u32 zynqmp_oclk_phase[MMC_TIMING_MMC_HS400 + 1] = + ZYNQMP_OCLK_PHASE; of_property_read_u32(dev->of_node, "xlnx,mio-bank", &mio_bank); if (mio_bank == 2) { - oclk_phase[MMC_TIMING_UHS_SDR104] = 90; - oclk_phase[MMC_TIMING_MMC_HS200] = 90; + zynqmp_oclk_phase[MMC_TIMING_UHS_SDR104] = 90; + zynqmp_oclk_phase[MMC_TIMING_MMC_HS200] = 90; } for (i = 0; i <= MMC_TIMING_MMC_HS400; i++) { - clk_data->clk_phase_in[i] = iclk_phase[i]; - clk_data->clk_phase_out[i] = oclk_phase[i]; + clk_data->clk_phase_in[i] = zynqmp_iclk_phase[i]; + clk_data->clk_phase_out[i] = zynqmp_oclk_phase[i]; } } if (of_device_is_compatible(dev->of_node, "xlnx,versal-8.9a")) { - iclk_phase = (int [MMC_TIMING_MMC_HS400 + 1]) VERSAL_ICLK_PHASE; - oclk_phase = (int [MMC_TIMING_MMC_HS400 + 1]) VERSAL_OCLK_PHASE; + u32 versal_iclk_phase[MMC_TIMING_MMC_HS400 + 1] = + VERSAL_ICLK_PHASE; + u32 versal_oclk_phase[MMC_TIMING_MMC_HS400 + 1] = + VERSAL_OCLK_PHASE; for (i = 0; i <= MMC_TIMING_MMC_HS400; i++) { - clk_data->clk_phase_in[i] = iclk_phase[i]; - clk_data->clk_phase_out[i] = oclk_phase[i]; + clk_data->clk_phase_in[i] = versal_iclk_phase[i]; + clk_data->clk_phase_out[i] = versal_oclk_phase[i]; } } @@ -1196,16 +1186,19 @@ static struct sdhci_arasan_of_data intel_keembay_emmc_data = { .soc_ctl_map = &intel_keembay_soc_ctl_map, .pdata = &sdhci_keembay_emmc_pdata, + .clk_ops = &arasan_clk_ops, }; static struct sdhci_arasan_of_data intel_keembay_sd_data = { .soc_ctl_map = &intel_keembay_soc_ctl_map, .pdata = &sdhci_keembay_sd_pdata, + .clk_ops = &arasan_clk_ops, }; static struct sdhci_arasan_of_data intel_keembay_sdio_data = { .soc_ctl_map = &intel_keembay_soc_ctl_map, .pdata = &sdhci_keembay_sdio_pdata, + .clk_ops = &arasan_clk_ops, }; static const struct of_device_id sdhci_arasan_of_match[] = { @@ -1299,6 +1292,8 @@ clk_data->sdcardclk_hw.init = &sdcardclk_init; clk_data->sdcardclk = devm_clk_register(dev, &clk_data->sdcardclk_hw); + if (IS_ERR(clk_data->sdcardclk)) + return PTR_ERR(clk_data->sdcardclk); clk_data->sdcardclk_hw.init = NULL; ret = of_clk_add_provider(np, of_clk_src_simple_get, @@ -1349,6 +1344,8 @@ clk_data->sampleclk_hw.init = &sampleclk_init; clk_data->sampleclk = devm_clk_register(dev, &clk_data->sampleclk_hw); + if (IS_ERR(clk_data->sampleclk)) + return PTR_ERR(clk_data->sampleclk); clk_data->sampleclk_hw.init = NULL; ret = of_clk_add_provider(np, of_clk_src_simple_get, --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-of-dwcmshc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-of-dwcmshc.c @@ -16,6 +16,8 @@ #include "sdhci-pltfm.h" +#define SDHCI_DWCMSHC_ARG2_STUFF GENMASK(31, 16) + /* DWCMSHC specific Mode Select value */ #define DWCMSHC_CTRL_HS400 0x7 @@ -49,6 +51,29 @@ sdhci_adma_write_desc(host, desc, addr, len, cmd); } +static void dwcmshc_check_auto_cmd23(struct mmc_host *mmc, + struct mmc_request *mrq) +{ + struct sdhci_host *host = mmc_priv(mmc); + + /* + * No matter V4 is enabled or not, ARGUMENT2 register is 32-bit + * block count register which doesn't support stuff bits of + * CMD23 argument on dwcmsch host controller. + */ + if (mrq->sbc && (mrq->sbc->arg & SDHCI_DWCMSHC_ARG2_STUFF)) + host->flags &= ~SDHCI_AUTO_CMD23; + else + host->flags |= SDHCI_AUTO_CMD23; +} + +static void dwcmshc_request(struct mmc_host *mmc, struct mmc_request *mrq) +{ + dwcmshc_check_auto_cmd23(mmc, mrq); + + sdhci_request(mmc, mrq); +} + static void dwcmshc_set_uhs_signaling(struct sdhci_host *host, unsigned int timing) { @@ -87,6 +112,7 @@ static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = { .ops = &sdhci_dwcmshc_ops, .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN, + .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, }; static int dwcmshc_probe(struct platform_device *pdev) @@ -133,6 +159,8 @@ sdhci_get_of_property(pdev); + host->mmc_host_ops.request = dwcmshc_request; + err = sdhci_add_host(host); if (err) goto err_clk; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-of-esdhc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-of-esdhc.c @@ -4,6 +4,7 @@ * * Copyright (c) 2007, 2010, 2012 Freescale Semiconductor, Inc. * Copyright (c) 2009 MontaVista Software, Inc. + * Copyright 2020 NXP * * Authors: Xiaobo Xie * Anton Vorontsov @@ -19,6 +20,7 @@ #include #include #include +#include #include #include #include "sdhci-pltfm.h" @@ -81,6 +83,7 @@ bool quirk_tuning_erratum_type2; bool quirk_ignore_data_inhibit; bool quirk_delay_before_data_reset; + bool quirk_trans_complete_erratum; bool in_sw_tuning; unsigned int peripheral_clock; const struct esdhc_clk_fixup *clk_fixup; @@ -742,6 +745,21 @@ if (host->mmc->actual_clock == MMC_HS200_MAX_DTR) temp |= ESDHC_DLL_FREQ_SEL; sdhci_writel(host, temp, ESDHC_DLLCFG0); + + temp |= ESDHC_DLL_RESET; + sdhci_writel(host, temp, ESDHC_DLLCFG0); + udelay(1); + temp &= ~ESDHC_DLL_RESET; + sdhci_writel(host, temp, ESDHC_DLLCFG0); + + /* Wait max 20 ms */ + if (read_poll_timeout(sdhci_readl, temp, + temp & ESDHC_DLL_STS_SLV_LOCK, + 10, 20000, false, + host, ESDHC_DLLSTAT0)) + pr_err("%s: timeout for delay chain lock.\n", + mmc_hostname(host->mmc)); + temp = sdhci_readl(host, ESDHC_TBCTL); sdhci_writel(host, temp | ESDHC_HS400_WNDW_ADJUST, ESDHC_TBCTL); @@ -1051,6 +1069,17 @@ esdhc_tuning_block_enable(host, true); + /* + * The eSDHC controller takes the data timeout value into account + * during tuning. If the SD card is too slow sending the response, the + * timer will expire and a "Buffer Read Ready" interrupt without data + * is triggered. This leads to tuning errors. + * + * Just set the timeout to the maximum value because the core will + * already take care of it in sdhci_send_tuning(). + */ + sdhci_writeb(host, 0xe, SDHCI_TIMEOUT_CONTROL); + hs400_tuning = host->flags & SDHCI_HS400_TUNING; do { @@ -1177,10 +1206,11 @@ static u32 esdhc_irq(struct sdhci_host *host, u32 intmask) { + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct sdhci_esdhc *esdhc = sdhci_pltfm_priv(pltfm_host); u32 command; - if (of_find_compatible_node(NULL, NULL, - "fsl,p2020-esdhc")) { + if (esdhc->quirk_trans_complete_erratum) { command = SDHCI_GET_CMD(sdhci_readw(host, SDHCI_COMMAND)); if (command == MMC_WRITE_MULTIPLE_BLOCK && @@ -1294,6 +1324,8 @@ static struct soc_device_attribute soc_unreliable_pulse_detection[] = { { .family = "QorIQ LX2160A", .revision = "1.0", }, + { .family = "QorIQ LX2160A", .revision = "2.0", }, + { .family = "QorIQ LS1028A", .revision = "1.0", }, { }, }; @@ -1334,8 +1366,10 @@ esdhc->clk_fixup = match->data; np = pdev->dev.of_node; - if (of_device_is_compatible(np, "fsl,p2020-esdhc")) + if (of_device_is_compatible(np, "fsl,p2020-esdhc")) { esdhc->quirk_delay_before_data_reset = true; + esdhc->quirk_trans_complete_erratum = true; + } clk = of_clk_get(np, 0); if (!IS_ERR(clk)) { --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-pci-core.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-pci-core.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -232,6 +234,14 @@ sdhci_dumpregs(mmc_priv(mmc)); } +static void sdhci_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); +} + /*****************************************************************************\ * * * Hardware specific quirk handling * @@ -508,6 +518,8 @@ bool rpm_retune_ok; u32 glk_rx_ctrl1; u32 glk_tun_val; + u32 active_ltr; + u32 idle_ltr; }; static const guid_t intel_dsm_guid = @@ -653,6 +665,15 @@ } } +static void sdhci_intel_set_uhs_signaling(struct sdhci_host *host, + unsigned int timing) +{ + /* Set UHS timing to SDR25 for High Speed mode */ + if (timing == MMC_TIMING_MMC_HS || timing == MMC_TIMING_SD_HS) + timing = MMC_TIMING_UHS_SDR25; + sdhci_set_uhs_signaling(host, timing); +} + #define INTEL_HS400_ES_REG 0x78 #define INTEL_HS400_ES_BIT BIT(0) @@ -709,7 +730,7 @@ .enable_dma = sdhci_pci_enable_dma, .set_bus_width = sdhci_set_bus_width, .reset = sdhci_reset, - .set_uhs_signaling = sdhci_set_uhs_signaling, + .set_uhs_signaling = sdhci_intel_set_uhs_signaling, .hw_reset = sdhci_pci_hw_reset, }; @@ -718,8 +739,8 @@ .set_power = sdhci_intel_set_power, .enable_dma = sdhci_pci_enable_dma, .set_bus_width = sdhci_set_bus_width, - .reset = sdhci_reset, - .set_uhs_signaling = sdhci_set_uhs_signaling, + .reset = sdhci_cqhci_reset, + .set_uhs_signaling = sdhci_intel_set_uhs_signaling, .hw_reset = sdhci_pci_hw_reset, .irq = sdhci_cqhci_irq, }; @@ -752,6 +773,108 @@ return 0; } +#define INTEL_ACTIVELTR 0x804 +#define INTEL_IDLELTR 0x808 + +#define INTEL_LTR_REQ BIT(15) +#define INTEL_LTR_SCALE_MASK GENMASK(11, 10) +#define INTEL_LTR_SCALE_1US (2 << 10) +#define INTEL_LTR_SCALE_32US (3 << 10) +#define INTEL_LTR_VALUE_MASK GENMASK(9, 0) + +static void intel_cache_ltr(struct sdhci_pci_slot *slot) +{ + struct intel_host *intel_host = sdhci_pci_priv(slot); + struct sdhci_host *host = slot->host; + + intel_host->active_ltr = readl(host->ioaddr + INTEL_ACTIVELTR); + intel_host->idle_ltr = readl(host->ioaddr + INTEL_IDLELTR); +} + +static void intel_ltr_set(struct device *dev, s32 val) +{ + struct sdhci_pci_chip *chip = dev_get_drvdata(dev); + struct sdhci_pci_slot *slot = chip->slots[0]; + struct intel_host *intel_host = sdhci_pci_priv(slot); + struct sdhci_host *host = slot->host; + u32 ltr; + + pm_runtime_get_sync(dev); + + /* + * Program latency tolerance (LTR) accordingly what has been asked + * by the PM QoS layer or disable it in case we were passed + * negative value or PM_QOS_LATENCY_ANY. + */ + ltr = readl(host->ioaddr + INTEL_ACTIVELTR); + + if (val == PM_QOS_LATENCY_ANY || val < 0) { + ltr &= ~INTEL_LTR_REQ; + } else { + ltr |= INTEL_LTR_REQ; + ltr &= ~INTEL_LTR_SCALE_MASK; + ltr &= ~INTEL_LTR_VALUE_MASK; + + if (val > INTEL_LTR_VALUE_MASK) { + val >>= 5; + if (val > INTEL_LTR_VALUE_MASK) + val = INTEL_LTR_VALUE_MASK; + ltr |= INTEL_LTR_SCALE_32US | val; + } else { + ltr |= INTEL_LTR_SCALE_1US | val; + } + } + + if (ltr == intel_host->active_ltr) + goto out; + + writel(ltr, host->ioaddr + INTEL_ACTIVELTR); + writel(ltr, host->ioaddr + INTEL_IDLELTR); + + /* Cache the values into lpss structure */ + intel_cache_ltr(slot); +out: + pm_runtime_put_autosuspend(dev); +} + +static bool intel_use_ltr(struct sdhci_pci_chip *chip) +{ + switch (chip->pdev->device) { + case PCI_DEVICE_ID_INTEL_BYT_EMMC: + case PCI_DEVICE_ID_INTEL_BYT_EMMC2: + case PCI_DEVICE_ID_INTEL_BYT_SDIO: + case PCI_DEVICE_ID_INTEL_BYT_SD: + case PCI_DEVICE_ID_INTEL_BSW_EMMC: + case PCI_DEVICE_ID_INTEL_BSW_SDIO: + case PCI_DEVICE_ID_INTEL_BSW_SD: + return false; + default: + return true; + } +} + +static void intel_ltr_expose(struct sdhci_pci_chip *chip) +{ + struct device *dev = &chip->pdev->dev; + + if (!intel_use_ltr(chip)) + return; + + dev->power.set_latency_tolerance = intel_ltr_set; + dev_pm_qos_expose_latency_tolerance(dev); +} + +static void intel_ltr_hide(struct sdhci_pci_chip *chip) +{ + struct device *dev = &chip->pdev->dev; + + if (!intel_use_ltr(chip)) + return; + + dev_pm_qos_hide_latency_tolerance(dev); + dev->power.set_latency_tolerance = NULL; +} + static void byt_probe_slot(struct sdhci_pci_slot *slot) { struct mmc_host_ops *ops = &slot->host->mmc_host_ops; @@ -766,6 +889,43 @@ ops->start_signal_voltage_switch = intel_start_signal_voltage_switch; device_property_read_u32(dev, "max-frequency", &mmc->f_max); + + if (!mmc->slotno) { + slot->chip->slots[mmc->slotno] = slot; + intel_ltr_expose(slot->chip); + } +} + +static void byt_add_debugfs(struct sdhci_pci_slot *slot) +{ + struct intel_host *intel_host = sdhci_pci_priv(slot); + struct mmc_host *mmc = slot->host->mmc; + struct dentry *dir = mmc->debugfs_root; + + if (!intel_use_ltr(slot->chip)) + return; + + debugfs_create_x32("active_ltr", 0444, dir, &intel_host->active_ltr); + debugfs_create_x32("idle_ltr", 0444, dir, &intel_host->idle_ltr); + + intel_cache_ltr(slot); +} + +static int byt_add_host(struct sdhci_pci_slot *slot) +{ + int ret = sdhci_add_host(slot->host); + + if (!ret) + byt_add_debugfs(slot); + return ret; +} + +static void byt_remove_slot(struct sdhci_pci_slot *slot, int dead) +{ + struct mmc_host *mmc = slot->host->mmc; + + if (!mmc->slotno) + intel_ltr_hide(slot->chip); } static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot) @@ -786,7 +946,8 @@ static bool glk_broken_cqhci(struct sdhci_pci_slot *slot) { return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC && - dmi_match(DMI_BIOS_VENDOR, "LENOVO"); + (dmi_match(DMI_BIOS_VENDOR, "LENOVO") || + dmi_match(DMI_SYS_VENDOR, "IRBIS")); } static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot) @@ -846,6 +1007,8 @@ if (ret) goto cleanup; + byt_add_debugfs(slot); + return 0; cleanup: @@ -1023,6 +1186,8 @@ #endif .allow_runtime_pm = true, .probe_slot = byt_emmc_probe_slot, + .add_host = byt_add_host, + .remove_slot = byt_remove_slot, .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC | SDHCI_QUIRK_NO_LED, .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | @@ -1036,6 +1201,7 @@ .allow_runtime_pm = true, .probe_slot = glk_emmc_probe_slot, .add_host = glk_emmc_add_host, + .remove_slot = byt_remove_slot, #ifdef CONFIG_PM_SLEEP .suspend = sdhci_cqhci_suspend, .resume = sdhci_cqhci_resume, @@ -1066,6 +1232,8 @@ SDHCI_QUIRK2_PRESET_VALUE_BROKEN, .allow_runtime_pm = true, .probe_slot = ni_byt_sdio_probe_slot, + .add_host = byt_add_host, + .remove_slot = byt_remove_slot, .ops = &sdhci_intel_byt_ops, .priv_size = sizeof(struct intel_host), }; @@ -1083,6 +1251,8 @@ SDHCI_QUIRK2_PRESET_VALUE_BROKEN, .allow_runtime_pm = true, .probe_slot = byt_sdio_probe_slot, + .add_host = byt_add_host, + .remove_slot = byt_remove_slot, .ops = &sdhci_intel_byt_ops, .priv_size = sizeof(struct intel_host), }; @@ -1102,6 +1272,8 @@ .allow_runtime_pm = true, .own_cd_for_runtime_pm = true, .probe_slot = byt_sd_probe_slot, + .add_host = byt_add_host, + .remove_slot = byt_remove_slot, .ops = &sdhci_intel_byt_ops, .priv_size = sizeof(struct intel_host), }; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-pci-o2micro.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-pci-o2micro.c @@ -561,6 +561,12 @@ slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd; } + if (chip->pdev->device == PCI_DEVICE_ID_O2_SEABIRD1) { + slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd; + host->mmc->caps2 |= MMC_CAP2_NO_SDIO; + host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN; + } + host->mmc_host_ops.execute_tuning = sdhci_o2_execute_tuning; if (chip->pdev->device != PCI_DEVICE_ID_O2_FUJIN2) --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-pltfm.h +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-pltfm.h @@ -111,8 +111,13 @@ return host->private; } +extern const struct dev_pm_ops sdhci_pltfm_pmops; +#ifdef CONFIG_PM_SLEEP int sdhci_pltfm_suspend(struct device *dev); int sdhci_pltfm_resume(struct device *dev); -extern const struct dev_pm_ops sdhci_pltfm_pmops; +#else +static inline int sdhci_pltfm_suspend(struct device *dev) { return 0; } +static inline int sdhci_pltfm_resume(struct device *dev) { return 0; } +#endif #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-sprd.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-sprd.c @@ -708,14 +708,14 @@ { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_sprd_host *sprd_host = TO_SPRD_HOST(host); - struct mmc_host *mmc = host->mmc; - mmc_remove_host(mmc); + sdhci_remove_host(host, 0); + clk_disable_unprepare(sprd_host->clk_sdio); clk_disable_unprepare(sprd_host->clk_enable); clk_disable_unprepare(sprd_host->clk_2x_enable); - mmc_free_host(mmc); + sdhci_pltfm_free(pdev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-tegra.c @@ -101,6 +101,12 @@ #define NVQUIRK_DIS_CARD_CLK_CONFIG_TAP BIT(8) #define NVQUIRK_CQHCI_DCMD_R1B_CMD_TIMING BIT(9) +/* + * NVQUIRK_HAS_TMCLK is for SoC's having separate timeout clock for Tegra + * SDMMC hardware data timeout. + */ +#define NVQUIRK_HAS_TMCLK BIT(10) + /* SDMMC CQE Base Address for Tegra Host Ver 4.1 and Higher */ #define SDHCI_TEGRA_CQE_BASE_ADDR 0xF000 @@ -131,6 +137,7 @@ struct sdhci_tegra { const struct sdhci_tegra_soc_data *soc_data; struct gpio_desc *power_gpio; + struct clk *tmclk; bool ddr_signaling; bool pad_calib_required; bool pad_control_available; @@ -1256,7 +1263,7 @@ * busy wait mode. */ val = sdhci_readl(host, SDHCI_TEGRA_VENDOR_MISC_CTRL); - if (cmd && cmd->busy_timeout >= 11 * HZ) + if (cmd && cmd->busy_timeout >= 11 * MSEC_PER_SEC) val |= SDHCI_MISC_CTRL_ERASE_TIMEOUT_LIMIT; else val &= ~SDHCI_MISC_CTRL_ERASE_TIMEOUT_LIMIT; @@ -1409,7 +1416,6 @@ static const struct sdhci_pltfm_data sdhci_tegra210_pdata = { .quirks = SDHCI_QUIRK_BROKEN_TIMEOUT_VAL | - SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | SDHCI_QUIRK_SINGLE_POWER_WRITE | SDHCI_QUIRK_NO_HISPD_BIT | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC | @@ -1425,7 +1431,8 @@ NVQUIRK_HAS_PADCALIB | NVQUIRK_DIS_CARD_CLK_CONFIG_TAP | NVQUIRK_ENABLE_SDR50 | - NVQUIRK_ENABLE_SDR104, + NVQUIRK_ENABLE_SDR104 | + NVQUIRK_HAS_TMCLK, .min_tap_delay = 106, .max_tap_delay = 185, }; @@ -1447,7 +1454,6 @@ static const struct sdhci_pltfm_data sdhci_tegra186_pdata = { .quirks = SDHCI_QUIRK_BROKEN_TIMEOUT_VAL | - SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | SDHCI_QUIRK_SINGLE_POWER_WRITE | SDHCI_QUIRK_NO_HISPD_BIT | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC | @@ -1464,6 +1470,7 @@ NVQUIRK_DIS_CARD_CLK_CONFIG_TAP | NVQUIRK_ENABLE_SDR50 | NVQUIRK_ENABLE_SDR104 | + NVQUIRK_HAS_TMCLK | NVQUIRK_CQHCI_DCMD_R1B_CMD_TIMING, .min_tap_delay = 84, .max_tap_delay = 136, @@ -1476,7 +1483,8 @@ NVQUIRK_HAS_PADCALIB | NVQUIRK_DIS_CARD_CLK_CONFIG_TAP | NVQUIRK_ENABLE_SDR50 | - NVQUIRK_ENABLE_SDR104, + NVQUIRK_ENABLE_SDR104 | + NVQUIRK_HAS_TMCLK, .min_tap_delay = 96, .max_tap_delay = 139, }; @@ -1604,6 +1612,43 @@ goto err_power_req; } + /* + * Tegra210 has a separate SDMMC_LEGACY_TM clock used for host + * timeout clock and SW can choose TMCLK or SDCLK for hardware + * data timeout through the bit USE_TMCLK_FOR_DATA_TIMEOUT of + * the register SDHCI_TEGRA_VENDOR_SYS_SW_CTRL. + * + * USE_TMCLK_FOR_DATA_TIMEOUT bit default is set to 1 and SDMMC uses + * 12Mhz TMCLK which is advertised in host capability register. + * With TMCLK of 12Mhz provides maximum data timeout period that can + * be achieved is 11s better than using SDCLK for data timeout. + * + * So, TMCLK is set to 12Mhz and kept enabled all the time on SoC's + * supporting separate TMCLK. + */ + + if (soc_data->nvquirks & NVQUIRK_HAS_TMCLK) { + clk = devm_clk_get(&pdev->dev, "tmclk"); + if (IS_ERR(clk)) { + rc = PTR_ERR(clk); + if (rc == -EPROBE_DEFER) + goto err_power_req; + + dev_warn(&pdev->dev, "failed to get tmclk: %d\n", rc); + clk = NULL; + } + + clk_set_rate(clk, 12000000); + rc = clk_prepare_enable(clk); + if (rc) { + dev_err(&pdev->dev, + "failed to enable tmclk: %d\n", rc); + goto err_power_req; + } + + tegra_host->tmclk = clk; + } + clk = devm_clk_get(mmc_dev(host->mmc), NULL); if (IS_ERR(clk)) { rc = PTR_ERR(clk); @@ -1647,6 +1692,7 @@ err_rst_get: clk_disable_unprepare(pltfm_host->clk); err_clk_get: + clk_disable_unprepare(tegra_host->tmclk); err_power_req: err_parse_dt: sdhci_pltfm_free(pdev); @@ -1664,6 +1710,7 @@ reset_control_assert(tegra_host->rst); usleep_range(2000, 4000); clk_disable_unprepare(pltfm_host->clk); + clk_disable_unprepare(tegra_host->tmclk); sdhci_pltfm_free(pdev); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci-xenon.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci-xenon.c @@ -167,7 +167,12 @@ /* Disable tuning request and auto-retuning again */ xenon_retune_setup(host); - xenon_set_acg(host, true); + /* + * The ACG should be turned off at the early init time, in order + * to solve a possible issues with the 1.8V regulator stabilization. + * The feature is enabled in later stage. + */ + xenon_set_acg(host, false); xenon_set_sdclk_off_idle(host, sdhc_id, false); --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/sdhci.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/sdhci.c @@ -1384,9 +1384,11 @@ /* * In case of Version 4.10 or later, use of 'Auto CMD Auto * Select' is recommended rather than use of 'Auto CMD12 - * Enable' or 'Auto CMD23 Enable'. + * Enable' or 'Auto CMD23 Enable'. We require Version 4 Mode + * here because some controllers (e.g sdhci-of-dwmshc) expect it. */ - if (host->version >= SDHCI_SPEC_410 && (use_cmd12 || use_cmd23)) { + if (host->version >= SDHCI_SPEC_410 && host->v4_mode && + (use_cmd12 || use_cmd23)) { *mode |= SDHCI_TRNS_AUTO_SEL; ctrl2 = sdhci_readw(host, SDHCI_HOST_CONTROL2); @@ -3992,10 +3994,10 @@ if (host->v4_mode) sdhci_do_enable_v4_mode(host); - of_property_read_u64(mmc_dev(host->mmc)->of_node, - "sdhci-caps-mask", &dt_caps_mask); - of_property_read_u64(mmc_dev(host->mmc)->of_node, - "sdhci-caps", &dt_caps); + device_property_read_u64_array(mmc_dev(host->mmc), + "sdhci-caps-mask", &dt_caps_mask, 1); + device_property_read_u64_array(mmc_dev(host->mmc), + "sdhci-caps", &dt_caps, 1); v = ver ? *ver : sdhci_readw(host, SDHCI_HOST_VERSION); host->version = (v & SDHCI_SPEC_VER_MASK) >> SDHCI_SPEC_VER_SHIFT; --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/usdhi6rol0.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/usdhi6rol0.c @@ -1858,10 +1858,12 @@ ret = mmc_add_host(mmc); if (ret < 0) - goto e_clk_off; + goto e_release_dma; return 0; +e_release_dma: + usdhi6_dma_release(host); e_clk_off: clk_disable_unprepare(host->clk); e_free_mmc: --- linux-riscv-5.8-5.8.0.orig/drivers/mmc/host/via-sdmmc.c +++ linux-riscv-5.8-5.8.0/drivers/mmc/host/via-sdmmc.c @@ -1259,11 +1259,14 @@ static int via_sd_suspend(struct pci_dev *pcidev, pm_message_t state) { struct via_crdr_mmc_host *host; + unsigned long flags; host = pci_get_drvdata(pcidev); + spin_lock_irqsave(&host->lock, flags); via_save_pcictrlreg(host); via_save_sdcreg(host); + spin_unlock_irqrestore(&host->lock, flags); pci_save_state(pcidev); pci_enable_wake(pcidev, pci_choose_state(pcidev, state), 0); --- linux-riscv-5.8-5.8.0.orig/drivers/most/core.c +++ linux-riscv-5.8-5.8.0/drivers/most/core.c @@ -1283,10 +1283,8 @@ struct most_channel *c; if (!iface || !iface->enqueue || !iface->configure || - !iface->poison_channel || (iface->num_channels > MAX_CHANNELS)) { - dev_err(iface->dev, "Bad interface or channel overflow\n"); + !iface->poison_channel || (iface->num_channels > MAX_CHANNELS)) return -EINVAL; - } id = ida_simple_get(&mdev_id, 0, 0, GFP_KERNEL); if (id < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/hyperbus/hbmc-am654.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/hyperbus/hbmc-am654.c @@ -70,7 +70,8 @@ platform_set_drvdata(pdev, priv); - ret = of_address_to_resource(np, 0, &res); + priv->hbdev.np = of_get_next_child(np, NULL); + ret = of_address_to_resource(priv->hbdev.np, 0, &res); if (ret) return ret; @@ -103,7 +104,6 @@ priv->ctlr.dev = dev; priv->ctlr.ops = &am654_hbmc_ops; priv->hbdev.ctlr = &priv->ctlr; - priv->hbdev.np = of_get_next_child(dev->of_node, NULL); ret = hyperbus_register_device(&priv->hbdev); if (ret) { dev_err(dev, "failed to register controller\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/lpddr/lpddr2_nvm.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/lpddr/lpddr2_nvm.c @@ -393,6 +393,17 @@ return lpddr2_nvm_do_block_op(mtd, start_add, len, LPDDR2_NVM_LOCK); } +static const struct mtd_info lpddr2_nvm_mtd_info = { + .type = MTD_RAM, + .writesize = 1, + .flags = (MTD_CAP_NVRAM | MTD_POWERUP_LOCK), + ._read = lpddr2_nvm_read, + ._write = lpddr2_nvm_write, + ._erase = lpddr2_nvm_erase, + ._unlock = lpddr2_nvm_unlock, + ._lock = lpddr2_nvm_lock, +}; + /* * lpddr2_nvm driver probe method */ @@ -433,6 +444,7 @@ .pfow_base = OW_BASE_ADDRESS, .fldrv_priv = pcm_data, }; + if (IS_ERR(map->virt)) return PTR_ERR(map->virt); @@ -444,22 +456,13 @@ return PTR_ERR(pcm_data->ctl_regs); /* Populate mtd_info data structure */ - *mtd = (struct mtd_info) { - .dev = { .parent = &pdev->dev }, - .name = pdev->dev.init_name, - .type = MTD_RAM, - .priv = map, - .size = resource_size(add_range), - .erasesize = ERASE_BLOCKSIZE * pcm_data->bus_width, - .writesize = 1, - .writebufsize = WRITE_BUFFSIZE * pcm_data->bus_width, - .flags = (MTD_CAP_NVRAM | MTD_POWERUP_LOCK), - ._read = lpddr2_nvm_read, - ._write = lpddr2_nvm_write, - ._erase = lpddr2_nvm_erase, - ._unlock = lpddr2_nvm_unlock, - ._lock = lpddr2_nvm_lock, - }; + *mtd = lpddr2_nvm_mtd_info; + mtd->dev.parent = &pdev->dev; + mtd->name = pdev->dev.init_name; + mtd->priv = map; + mtd->size = resource_size(add_range); + mtd->erasesize = ERASE_BLOCKSIZE * pcm_data->bus_width; + mtd->writebufsize = WRITE_BUFFSIZE * pcm_data->bus_width; /* Verify the presence of the device looking for PFOW string */ if (!lpddr2_nvm_pfow_present(map)) { --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/mtdchar.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/mtdchar.c @@ -355,9 +355,6 @@ uint32_t retlen; int ret = 0; - if (!(file->f_mode & FMODE_WRITE)) - return -EPERM; - if (length > 4096) return -EINVAL; @@ -643,6 +640,48 @@ pr_debug("MTD_ioctl\n"); + /* + * Check the file mode to require "dangerous" commands to have write + * permissions. + */ + switch (cmd) { + /* "safe" commands */ + case MEMGETREGIONCOUNT: + case MEMGETREGIONINFO: + case MEMGETINFO: + case MEMREADOOB: + case MEMREADOOB64: + case MEMLOCK: + case MEMUNLOCK: + case MEMISLOCKED: + case MEMGETOOBSEL: + case MEMGETBADBLOCK: + case MEMSETBADBLOCK: + case OTPSELECT: + case OTPGETREGIONCOUNT: + case OTPGETREGIONINFO: + case OTPLOCK: + case ECCGETLAYOUT: + case ECCGETSTATS: + case MTDFILEMODE: + case BLKPG: + case BLKRRPART: + break; + + /* "dangerous" commands */ + case MEMERASE: + case MEMERASE64: + case MEMWRITEOOB: + case MEMWRITEOOB64: + case MEMWRITE: + if (!(file->f_mode & FMODE_WRITE)) + return -EPERM; + break; + + default: + return -ENOTTY; + } + switch (cmd) { case MEMGETREGIONCOUNT: if (copy_to_user(argp, &(mtd->numeraseregions), sizeof(int))) @@ -690,9 +729,6 @@ { struct erase_info *erase; - if(!(file->f_mode & FMODE_WRITE)) - return -EPERM; - erase=kzalloc(sizeof(struct erase_info),GFP_KERNEL); if (!erase) ret = -ENOMEM; @@ -985,9 +1021,6 @@ ret = 0; break; } - - default: - ret = -ENOTTY; } return ret; @@ -1031,6 +1064,11 @@ struct mtd_oob_buf32 buf; struct mtd_oob_buf32 __user *buf_user = argp; + if (!(file->f_mode & FMODE_WRITE)) { + ret = -EPERM; + break; + } + if (copy_from_user(&buf, argp, sizeof(buf))) ret = -EFAULT; else --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/mtdcore.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/mtdcore.c @@ -1013,6 +1013,8 @@ } } + master->usecount++; + while (mtd->parent) { mtd->usecount++; mtd = mtd->parent; @@ -1079,6 +1081,8 @@ mtd = mtd->parent; } + master->usecount--; + if (master->_put_device) master->_put_device(master); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/mtdoops.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/mtdoops.c @@ -279,12 +279,13 @@ kmsg_dump_get_buffer(dumper, true, cxt->oops_buf + MTDOOPS_HEADER_SIZE, record_size - MTDOOPS_HEADER_SIZE, NULL); - /* Panics must be written immediately */ - if (reason != KMSG_DUMP_OOPS) + if (reason != KMSG_DUMP_OOPS) { + /* Panics must be written immediately */ mtdoops_write(cxt, 1); - - /* For other cases, schedule work to write it "nicely" */ - schedule_work(&cxt->work_write); + } else { + /* For other cases, schedule work to write it "nicely" */ + schedule_work(&cxt->work_write); + } } static void mtdoops_notify_add(struct mtd_info *mtd) --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/ams-delta.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/ams-delta.c @@ -400,12 +400,14 @@ return 0; } +#ifdef CONFIG_OF static const struct of_device_id gpio_nand_of_id_table[] = { { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, gpio_nand_of_id_table); +#endif static const struct platform_device_id gpio_nand_plat_id_table[] = { { --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -1918,6 +1918,22 @@ edu_writel(ctrl, EDU_STOP, 0); /* force stop */ edu_readl(ctrl, EDU_STOP); + if (!ret && edu_cmd == EDU_CMD_READ) { + u64 err_addr = 0; + + /* + * check for ECC errors here, subpage ECC errors are + * retained in ECC error address register + */ + err_addr = brcmnand_get_uncorrecc_addr(ctrl); + if (!err_addr) { + err_addr = brcmnand_get_correcc_addr(ctrl); + if (err_addr) + ret = -EUCLEAN; + } else + ret = -EBADMSG; + } + return ret; } @@ -2124,6 +2140,7 @@ u64 err_addr = 0; int err; bool retry = true; + bool edu_err = false; dev_dbg(ctrl->dev, "read %llx -> %p\n", (unsigned long long)addr, buf); @@ -2141,6 +2158,10 @@ else return -EIO; } + + if (has_edu(ctrl) && err_addr) + edu_err = true; + } else { if (oob) memset(oob, 0x99, mtd->oobsize); @@ -2188,6 +2209,11 @@ if (mtd_is_bitflip(err)) { unsigned int corrected = brcmnand_count_corrected(ctrl); + /* in case of EDU correctable error we read again using PIO */ + if (edu_err) + err = brcmnand_read_by_pio(mtd, chip, addr, trans, buf, + oob, &err_addr); + dev_dbg(ctrl->dev, "corrected error at 0x%llx\n", (unsigned long long)err_addr); mtd->ecc_stats.corrected += corrected; @@ -3023,8 +3049,9 @@ if (ret < 0) goto err; - /* set edu transfer function to call */ - ctrl->dma_trans = brcmnand_edu_trans; + if (has_edu(ctrl)) + /* set edu transfer function to call */ + ctrl->dma_trans = brcmnand_edu_trans; } /* Disable automatic device ID config, direct addressing */ --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/fsl_upm.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/fsl_upm.c @@ -62,7 +62,6 @@ static void fun_wait_rnb(struct fsl_upm_nand *fun) { if (fun->rnb_gpio[fun->mchip_number] >= 0) { - struct mtd_info *mtd = nand_to_mtd(&fun->chip); int cnt = 1000000; while (--cnt && !fun_chip_ready(&fun->chip)) --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c @@ -149,8 +149,10 @@ int ret; ret = pm_runtime_get_sync(this->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(this->dev); return ret; + } ret = gpmi_reset_block(r->gpmi_regs, false); if (ret) @@ -1612,7 +1614,7 @@ /* Extract interleaved payload data and ECC bits */ for (step = 0; step < nfc_geo->ecc_chunk_count; step++) { if (buf) - nand_extract_bits(buf, step * eccsize, tmp_buf, + nand_extract_bits(buf, step * eccsize * 8, tmp_buf, src_bit_off, eccsize * 8); src_bit_off += eccsize * 8; @@ -2253,7 +2255,7 @@ void *buf_read = NULL; const void *buf_write = NULL; bool direct = false; - struct completion *completion; + struct completion *dma_completion, *bch_completion; unsigned long to; if (check_only) @@ -2264,8 +2266,10 @@ this->transfers[i].direction = DMA_NONE; ret = pm_runtime_get_sync(this->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(this->dev); return ret; + } /* * This driver currently supports only one NAND chip. Plus, dies share @@ -2348,22 +2352,24 @@ this->resources.bch_regs + HW_BCH_FLASH0LAYOUT1); } + desc->callback = dma_irq_callback; + desc->callback_param = this; + dma_completion = &this->dma_done; + bch_completion = NULL; + + init_completion(dma_completion); + if (this->bch && buf_read) { writel(BM_BCH_CTRL_COMPLETE_IRQ_EN, this->resources.bch_regs + HW_BCH_CTRL_SET); - completion = &this->bch_done; - } else { - desc->callback = dma_irq_callback; - desc->callback_param = this; - completion = &this->dma_done; + bch_completion = &this->bch_done; + init_completion(bch_completion); } - init_completion(completion); - dmaengine_submit(desc); dma_async_issue_pending(get_dma_chan(this)); - to = wait_for_completion_timeout(completion, msecs_to_jiffies(1000)); + to = wait_for_completion_timeout(dma_completion, msecs_to_jiffies(1000)); if (!to) { dev_err(this->dev, "DMA timeout, last DMA\n"); gpmi_dump_info(this); @@ -2371,6 +2377,16 @@ goto unmap; } + if (this->bch && buf_read) { + to = wait_for_completion_timeout(bch_completion, msecs_to_jiffies(1000)); + if (!to) { + dev_err(this->dev, "BCH timeout, last DMA\n"); + gpmi_dump_info(this); + ret = -ETIMEDOUT; + goto unmap; + } + } + writel(BM_BCH_CTRL_COMPLETE_IRQ_EN, this->resources.bch_regs + HW_BCH_CTRL_CLR); gpmi_clear_bch(this); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/meson_nand.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/meson_nand.c @@ -510,7 +510,7 @@ } static void meson_nfc_dma_buffer_release(struct nand_chip *nand, - int infolen, int datalen, + int datalen, int infolen, enum dma_data_direction dir) { struct meson_nfc *nfc = nand_get_controller_data(nand); @@ -1044,9 +1044,12 @@ ret = clk_set_rate(nfc->device_clk, 24000000); if (ret) - goto err_phase_rx; + goto err_disable_rx; return 0; + +err_disable_rx: + clk_disable_unprepare(nfc->phase_rx); err_phase_rx: clk_disable_unprepare(nfc->phase_tx); err_phase_tx: --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/qcom_nandc.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/qcom_nandc.c @@ -459,11 +459,13 @@ * among different NAND controllers. * @ecc_modes - ecc mode for NAND * @is_bam - whether NAND controller is using BAM + * @is_qpic - whether NAND CTRL is part of qpic IP * @dev_cmd_reg_start - NAND_DEV_CMD_* registers starting offset */ struct qcom_nandc_props { u32 ecc_modes; bool is_bam; + bool is_qpic; u32 dev_cmd_reg_start; }; @@ -1568,6 +1570,8 @@ struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); int i; + nandc_read_buffer_sync(nandc, true); + for (i = 0; i < cw_cnt; i++) { u32 flash = le32_to_cpu(nandc->reg_read_buf[i]); @@ -2774,7 +2778,8 @@ u32 nand_ctrl; /* kill onenand */ - nandc_write(nandc, SFLASHC_BURST_CFG, 0); + if (!nandc->props->is_qpic) + nandc_write(nandc, SFLASHC_BURST_CFG, 0); nandc_write(nandc, dev_cmd_reg_addr(nandc, NAND_DEV_CMD_VLD), NAND_DEV_CMD_VLD_VAL); @@ -3035,12 +3040,14 @@ static const struct qcom_nandc_props ipq4019_nandc_props = { .ecc_modes = (ECC_BCH_4BIT | ECC_BCH_8BIT), .is_bam = true, + .is_qpic = true, .dev_cmd_reg_start = 0x0, }; static const struct qcom_nandc_props ipq8074_nandc_props = { .ecc_modes = (ECC_BCH_4BIT | ECC_BCH_8BIT), .is_bam = true, + .is_qpic = true, .dev_cmd_reg_start = 0x7000, }; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/stm32_fmc2_nand.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/stm32_fmc2_nand.c @@ -1791,7 +1791,7 @@ return ret; } - if (cs > FMC2_MAX_CE) { + if (cs >= FMC2_MAX_CE) { dev_err(nfc->dev, "invalid reg value: %d\n", cs); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/raw/vf610_nfc.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/raw/vf610_nfc.c @@ -852,8 +852,10 @@ } of_id = of_match_device(vf610_nfc_dt_ids, &pdev->dev); - if (!of_id) - return -ENODEV; + if (!of_id) { + err = -ENODEV; + goto err_disable_clk; + } nfc->variant = (enum vf610_nfc_variant)of_id->data; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/nand/spi/gigadevice.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/nand/spi/gigadevice.c @@ -21,7 +21,7 @@ #define GD5FXGQ4UXFXXG_STATUS_ECC_UNCOR_ERROR (7 << 4) static SPINAND_OP_VARIANTS(read_cache_variants, - SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), + SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0), @@ -29,7 +29,7 @@ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0)); static SPINAND_OP_VARIANTS(read_cache_variants_f, - SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), + SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0), SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0), @@ -202,7 +202,7 @@ SPINAND_INFO_OP_VARIANTS(&read_cache_variants, &write_cache_variants, &update_cache_variants), - 0, + SPINAND_HAS_QE_BIT, SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, gd5fxgq4xa_ecc_get_status)), SPINAND_INFO("GD5F2GQ4xA", @@ -212,7 +212,7 @@ SPINAND_INFO_OP_VARIANTS(&read_cache_variants, &write_cache_variants, &update_cache_variants), - 0, + SPINAND_HAS_QE_BIT, SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, gd5fxgq4xa_ecc_get_status)), SPINAND_INFO("GD5F4GQ4xA", @@ -222,7 +222,7 @@ SPINAND_INFO_OP_VARIANTS(&read_cache_variants, &write_cache_variants, &update_cache_variants), - 0, + SPINAND_HAS_QE_BIT, SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, gd5fxgq4xa_ecc_get_status)), SPINAND_INFO("GD5F1GQ4UExxG", @@ -232,7 +232,7 @@ SPINAND_INFO_OP_VARIANTS(&read_cache_variants, &write_cache_variants, &update_cache_variants), - 0, + SPINAND_HAS_QE_BIT, SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, gd5fxgq4uexxg_ecc_get_status)), SPINAND_INFO("GD5F1GQ4UFxxG", @@ -242,7 +242,7 @@ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_f, &write_cache_variants, &update_cache_variants), - 0, + SPINAND_HAS_QE_BIT, SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, gd5fxgq4ufxxg_ecc_get_status)), }; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/parsers/afs.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/parsers/afs.c @@ -370,10 +370,8 @@ return i; out_free_parts: - while (i >= 0) { + while (--i >= 0) kfree(parts[i].name); - i--; - } kfree(parts); *pparts = NULL; return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/parsers/cmdlinepart.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/parsers/cmdlinepart.c @@ -226,7 +226,7 @@ struct cmdline_mtd_partition *this_mtd; struct mtd_partition *parts; int mtd_id_len, num_parts; - char *p, *mtd_id, *semicol; + char *p, *mtd_id, *semicol, *open_parenth; /* * Replace the first ';' by a NULL char so strrchr can work @@ -236,6 +236,14 @@ if (semicol) *semicol = '\0'; + /* + * make sure that part-names with ":" will not be handled as + * part of the mtd-id with an ":" + */ + open_parenth = strchr(s, '('); + if (open_parenth) + *open_parenth = '\0'; + mtd_id = s; /* @@ -245,6 +253,10 @@ */ p = strrchr(s, ':'); + /* Restore the '(' now. */ + if (open_parenth) + *open_parenth = '('; + /* Restore the ';' now. */ if (semicol) *semicol = ';'; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/parsers/parser_imagetag.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/parsers/parser_imagetag.c @@ -83,6 +83,7 @@ pr_err("invalid rootfs address: %*ph\n", (int)sizeof(buf->flash_image_start), buf->flash_image_start); + ret = -EINVAL; goto out; } @@ -92,6 +93,7 @@ pr_err("invalid kernel address: %*ph\n", (int)sizeof(buf->kernel_address), buf->kernel_address); + ret = -EINVAL; goto out; } @@ -100,6 +102,7 @@ pr_err("invalid kernel length: %*ph\n", (int)sizeof(buf->kernel_length), buf->kernel_length); + ret = -EINVAL; goto out; } @@ -108,6 +111,7 @@ pr_err("invalid total length: %*ph\n", (int)sizeof(buf->total_length), buf->total_length); + ret = -EINVAL; goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/atmel.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/atmel.c @@ -8,39 +8,78 @@ #include "core.h" -static const struct flash_info atmel_parts[] = { - /* Atmel -- some are (confusingly) marketed as "DataFlash" */ - { "at25fs010", INFO(0x1f6601, 0, 32 * 1024, 4, SECT_4K) }, - { "at25fs040", INFO(0x1f6604, 0, 64 * 1024, 8, SECT_4K) }, +/* + * The Atmel AT25FS010/AT25FS040 parts have some weird configuration for the + * block protection bits. We don't support them. But legacy behavior in linux + * is to unlock the whole flash array on startup. Therefore, we have to support + * exactly this operation. + */ +static int atmel_at25fs_lock(struct spi_nor *nor, loff_t ofs, uint64_t len) +{ + return -EOPNOTSUPP; +} - { "at25df041a", INFO(0x1f4401, 0, 64 * 1024, 8, SECT_4K) }, - { "at25df321", INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K) }, - { "at25df321a", INFO(0x1f4701, 0, 64 * 1024, 64, SECT_4K) }, - { "at25df641", INFO(0x1f4800, 0, 64 * 1024, 128, SECT_4K) }, +static int atmel_at25fs_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len) +{ + int ret; - { "at25sl321", INFO(0x1f4216, 0, 64 * 1024, 64, - SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + /* We only support unlocking the whole flash array */ + if (ofs || len != nor->params->size) + return -EINVAL; + + /* Write 0x00 to the status register to disable write protection */ + ret = spi_nor_write_sr_and_check(nor, 0); + if (ret) + dev_dbg(nor->dev, "unable to clear BP bits, WP# asserted?\n"); - { "at26f004", INFO(0x1f0400, 0, 64 * 1024, 8, SECT_4K) }, - { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16, SECT_4K) }, - { "at26df161a", INFO(0x1f4601, 0, 64 * 1024, 32, SECT_4K) }, - { "at26df321", INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K) }, + return ret; +} - { "at45db081d", INFO(0x1f2500, 0, 64 * 1024, 16, SECT_4K) }, +static int atmel_at25fs_is_locked(struct spi_nor *nor, loff_t ofs, uint64_t len) +{ + return -EOPNOTSUPP; +} + +static const struct spi_nor_locking_ops atmel_at25fs_locking_ops = { + .lock = atmel_at25fs_lock, + .unlock = atmel_at25fs_unlock, + .is_locked = atmel_at25fs_is_locked, }; -static void atmel_default_init(struct spi_nor *nor) +static void atmel_at25fs_default_init(struct spi_nor *nor) { - nor->flags |= SNOR_F_HAS_LOCK; + nor->params->locking_ops = &atmel_at25fs_locking_ops; } -static const struct spi_nor_fixups atmel_fixups = { - .default_init = atmel_default_init, +static const struct spi_nor_fixups atmel_at25fs_fixups = { + .default_init = atmel_at25fs_default_init, +}; + +static const struct flash_info atmel_parts[] = { + /* Atmel -- some are (confusingly) marketed as "DataFlash" */ + { "at25fs010", INFO(0x1f6601, 0, 32 * 1024, 4, SECT_4K | SPI_NOR_HAS_LOCK) + .fixups = &atmel_at25fs_fixups }, + { "at25fs040", INFO(0x1f6604, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_HAS_LOCK) + .fixups = &atmel_at25fs_fixups }, + + { "at25df041a", INFO(0x1f4401, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_HAS_LOCK) }, + { "at25df321", INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK) }, + { "at25df321a", INFO(0x1f4701, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK) }, + { "at25df641", INFO(0x1f4800, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_HAS_LOCK) }, + + { "at25sl321", INFO(0x1f4216, 0, 64 * 1024, 64, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + + { "at26f004", INFO(0x1f0400, 0, 64 * 1024, 8, SECT_4K) }, + { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_HAS_LOCK) }, + { "at26df161a", INFO(0x1f4601, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_HAS_LOCK) }, + { "at26df321", INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK) }, + + { "at45db081d", INFO(0x1f2500, 0, 64 * 1024, 16, SECT_4K) }, }; const struct spi_nor_manufacturer spi_nor_atmel = { .name = "atmel", .parts = atmel_parts, .nparts = ARRAY_SIZE(atmel_parts), - .fixups = &atmel_fixups, }; --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/controllers/cadence-quadspi.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/controllers/cadence-quadspi.c @@ -475,7 +475,7 @@ /* Setup dummy clock cycles */ dummy_clk = nor->read_dummy; if (dummy_clk > CQSPI_DUMMY_CLKS_MAX) - dummy_clk = CQSPI_DUMMY_CLKS_MAX; + return -EOPNOTSUPP; if (dummy_clk / 8) { reg |= (1 << CQSPI_REG_RD_INSTR_MODE_EN_LSB); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/controllers/hisi-sfc.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/controllers/hisi-sfc.c @@ -399,8 +399,10 @@ for_each_available_child_of_node(dev->of_node, np) { ret = hisi_spi_nor_register(np, host); - if (ret) + if (ret) { + of_node_put(np); goto fail; + } if (host->num_chip == HIFMC_MAX_CHIP_NUM) { dev_warn(dev, "Flash device number exceeds the maximum chipselect number\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/controllers/intel-spi-pci.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/controllers/intel-spi-pci.c @@ -69,6 +69,7 @@ { PCI_VDEVICE(INTEL, 0x18e0), (unsigned long)&bxt_info }, { PCI_VDEVICE(INTEL, 0x19e0), (unsigned long)&bxt_info }, { PCI_VDEVICE(INTEL, 0x34a4), (unsigned long)&bxt_info }, + { PCI_VDEVICE(INTEL, 0x43a4), (unsigned long)&cnl_info }, { PCI_VDEVICE(INTEL, 0x4b24), (unsigned long)&bxt_info }, { PCI_VDEVICE(INTEL, 0x4da4), (unsigned long)&bxt_info }, { PCI_VDEVICE(INTEL, 0xa0a4), (unsigned long)&bxt_info }, --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/controllers/intel-spi.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/controllers/intel-spi.c @@ -612,6 +612,15 @@ return 0; } + /* + * We hope that HW sequencer will do the right thing automatically and + * with the SW sequencer we cannot use preopcode anyway, so just ignore + * the Write Disable operation and pretend it was completed + * successfully. + */ + if (opcode == SPINOR_OP_WRDI) + return 0; + writel(0, ispi->base + FADDR); /* Write the value beforehand */ --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/core.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/core.c @@ -906,7 +906,7 @@ * * Return: 0 on success, -errno otherwise. */ -static int spi_nor_write_sr_and_check(struct spi_nor *nor, u8 sr1) +int spi_nor_write_sr_and_check(struct spi_nor *nor, u8 sr1) { if (nor->flags & SNOR_F_HAS_16BIT_SR) return spi_nor_write_16bit_sr_and_check(nor, sr1); @@ -1212,14 +1212,15 @@ erase = &map->erase_type[i]; + /* Alignment is not mandatory for overlaid regions */ + if (region->offset & SNOR_OVERLAID_REGION && + region->size <= len) + return erase; + /* Don't erase more than what the user has asked for. */ if (erase->size > len) continue; - /* Alignment is not mandatory for overlaid regions */ - if (region->offset & SNOR_OVERLAID_REGION) - return erase; - spi_nor_div_by_erase_size(erase, addr, &rem); if (rem) continue; @@ -1363,6 +1364,7 @@ goto destroy_erase_cmd_list; if (prev_erase != erase || + erase->size != cmd->size || region->offset & SNOR_OVERLAID_REGION) { cmd = spi_nor_init_erase_cmd(region, erase); if (IS_ERR(cmd)) { @@ -2701,11 +2703,10 @@ memcpy(&sfdp_params, nor->params, sizeof(sfdp_params)); - if (spi_nor_parse_sfdp(nor, &sfdp_params)) { + if (spi_nor_parse_sfdp(nor, nor->params)) { + memcpy(nor->params, &sfdp_params, sizeof(*nor->params)); nor->addr_width = 0; nor->flags &= ~SNOR_F_4B_OPCODES; - } else { - memcpy(nor->params, &sfdp_params, sizeof(*nor->params)); } } @@ -2916,20 +2917,27 @@ } /** - * spi_nor_unlock_all() - Unlocks the entire flash memory array. + * spi_nor_try_unlock_all() - Tries to unlock the entire flash memory array. * @nor: pointer to a 'struct spi_nor'. * * Some SPI NOR flashes are write protected by default after a power-on reset * cycle, in order to avoid inadvertent writes during power-up. Backward * compatibility imposes to unlock the entire flash memory array at power-up * by default. + * + * Unprotecting the entire flash array will fail for boards which are hardware + * write-protected. Thus any errors are ignored. */ -static int spi_nor_unlock_all(struct spi_nor *nor) +static void spi_nor_try_unlock_all(struct spi_nor *nor) { - if (nor->flags & SNOR_F_HAS_LOCK) - return spi_nor_unlock(&nor->mtd, 0, nor->params->size); + int ret; - return 0; + if (!(nor->flags & SNOR_F_HAS_LOCK)) + return; + + ret = spi_nor_unlock(&nor->mtd, 0, nor->params->size); + if (ret) + dev_dbg(nor->dev, "Failed to unlock the entire flash memory array\n"); } static int spi_nor_init(struct spi_nor *nor) @@ -2942,11 +2950,7 @@ return err; } - err = spi_nor_unlock_all(nor); - if (err) { - dev_dbg(nor->dev, "Failed to unlock the entire flash memory array\n"); - return err; - } + spi_nor_try_unlock_all(nor); if (nor->addr_width == 4 && !(nor->flags & SNOR_F_4B_OPCODES)) { /* @@ -3009,13 +3013,15 @@ /* already configured from SFDP */ } else if (nor->info->addr_width) { nor->addr_width = nor->info->addr_width; - } else if (nor->mtd.size > 0x1000000) { - /* enable 4-byte addressing if the device exceeds 16MiB */ - nor->addr_width = 4; } else { nor->addr_width = 3; } + if (nor->addr_width == 3 && nor->mtd.size > 0x1000000) { + /* enable 4-byte addressing if the device exceeds 16MiB */ + nor->addr_width = 4; + } + if (nor->addr_width > SPI_NOR_MAX_ADDR_WIDTH) { dev_dbg(nor->dev, "address width is too large: %u\n", nor->addr_width); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/core.h +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/core.h @@ -409,6 +409,7 @@ int spi_nor_sr1_bit6_quad_enable(struct spi_nor *nor); int spi_nor_sr2_bit1_quad_enable(struct spi_nor *nor); int spi_nor_sr2_bit7_quad_enable(struct spi_nor *nor); +int spi_nor_write_sr_and_check(struct spi_nor *nor, u8 sr1); int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr); ssize_t spi_nor_read_data(struct spi_nor *nor, loff_t from, size_t len, --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/sfdp.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/sfdp.c @@ -759,7 +759,7 @@ int i; for (i = 0; i < SNOR_ERASE_TYPE_MAX; i++) { - if (!(erase_type & BIT(i))) + if (!(erase[i].size && erase_type & BIT(erase[i].idx))) continue; if (region->size & erase[i].size_mask) { spi_nor_region_mark_overlay(region); @@ -829,6 +829,7 @@ offset = (region[i].offset & ~SNOR_ERASE_FLAGS_MASK) + region[i].size; } + spi_nor_region_mark_end(®ion[i - 1]); save_uniform_erase_type = map->uniform_erase_type; map->uniform_erase_type = spi_nor_sort_erase_mask(map, @@ -852,8 +853,6 @@ if (!(regions_erase_type & BIT(erase[i].idx))) spi_nor_set_erase_type(&erase[i], 0, 0xFF); - spi_nor_region_mark_end(®ion[i - 1]); - return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/spi-nor/sst.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/spi-nor/sst.c @@ -18,7 +18,8 @@ SECT_4K | SST_WRITE) }, { "sst25vf032b", INFO(0xbf254a, 0, 64 * 1024, 64, SECT_4K | SST_WRITE) }, - { "sst25vf064c", INFO(0xbf254b, 0, 64 * 1024, 128, SECT_4K) }, + { "sst25vf064c", INFO(0xbf254b, 0, 64 * 1024, 128, + SECT_4K | SPI_NOR_4BIT_BP) }, { "sst25wf512", INFO(0xbf2501, 0, 64 * 1024, 1, SECT_4K | SST_WRITE) }, { "sst25wf010", INFO(0xbf2502, 0, 64 * 1024, 2, --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/ubi/fastmap-wl.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/ubi/fastmap-wl.c @@ -381,6 +381,11 @@ ubi->fm_anchor = NULL; } + if (ubi->fm_next_anchor) { + return_unused_peb(ubi, ubi->fm_next_anchor); + ubi->fm_next_anchor = NULL; + } + if (ubi->fm) { for (i = 0; i < ubi->fm->used_blocks; i++) kfree(ubi->fm->e[i]); --- linux-riscv-5.8-5.8.0.orig/drivers/mtd/ubi/wl.c +++ linux-riscv-5.8-5.8.0/drivers/mtd/ubi/wl.c @@ -1086,7 +1086,8 @@ if (!err) { spin_lock(&ubi->wl_lock); - if (!ubi->fm_next_anchor && e->pnum < UBI_FM_MAX_START) { + if (!ubi->fm_disabled && !ubi->fm_next_anchor && + e->pnum < UBI_FM_MAX_START) { /* Abort anchor production, if needed it will be * enabled again in the wear leveling started below. */ @@ -1638,6 +1639,19 @@ !ubi->thread_enabled || ubi_dbg_is_bgt_disabled(ubi)) { set_current_state(TASK_INTERRUPTIBLE); spin_unlock(&ubi->wl_lock); + + /* + * Check kthread_should_stop() after we set the task + * state to guarantee that we either see the stop bit + * and exit or the task state is reset to runnable such + * that it's not scheduled out indefinitely and detects + * the stop bit at kthread_should_stop(). + */ + if (kthread_should_stop()) { + set_current_state(TASK_RUNNING); + break; + } + schedule(); continue; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/Kconfig @@ -87,12 +87,12 @@ select CRYPTO_CURVE25519_X86 if X86 && 64BIT select ARM_CRYPTO if ARM select ARM64_CRYPTO if ARM64 - select CRYPTO_CHACHA20_NEON if (ARM || ARM64) && KERNEL_MODE_NEON + select CRYPTO_CHACHA20_NEON if ARM || (ARM64 && KERNEL_MODE_NEON) select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON select CRYPTO_POLY1305_ARM if ARM select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 - select CRYPTO_POLY1305_MIPS if CPU_MIPS32 || (CPU_MIPS64 && 64BIT) + select CRYPTO_POLY1305_MIPS if MIPS help WireGuard is a secure, fast, and easy to use replacement for IPSec that uses modern cryptography and clever networking tricks. It's --- linux-riscv-5.8-5.8.0.orig/drivers/net/bareudp.c +++ linux-riscv-5.8-5.8.0/drivers/net/bareudp.c @@ -385,7 +385,7 @@ goto free_dst; min_headroom = LL_RESERVED_SPACE(dst->dev) + dst->header_len + - BAREUDP_BASE_HLEN + info->options_len + sizeof(struct iphdr); + BAREUDP_BASE_HLEN + info->options_len + sizeof(struct ipv6hdr); err = skb_cow_head(skb, min_headroom); if (unlikely(err)) @@ -539,6 +539,7 @@ SET_NETDEV_DEVTYPE(dev, &bareudp_type); dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM; dev->features |= NETIF_F_RXCSUM; + dev->features |= NETIF_F_LLTX; dev->features |= NETIF_F_GSO_SOFTWARE; dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_RXCSUM; dev->hw_features |= NETIF_F_GSO_SOFTWARE; @@ -648,11 +649,20 @@ return 0; } +static void bareudp_dellink(struct net_device *dev, struct list_head *head) +{ + struct bareudp_dev *bareudp = netdev_priv(dev); + + list_del(&bareudp->next); + unregister_netdevice_queue(dev, head); +} + static int bareudp_newlink(struct net *net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) { struct bareudp_conf conf; + LIST_HEAD(list_kill); int err; err = bareudp2info(data, &conf, extack); @@ -665,17 +675,14 @@ err = bareudp_link_config(dev, tb); if (err) - return err; + goto err_unconfig; return 0; -} - -static void bareudp_dellink(struct net_device *dev, struct list_head *head) -{ - struct bareudp_dev *bareudp = netdev_priv(dev); - list_del(&bareudp->next); - unregister_netdevice_queue(dev, head); +err_unconfig: + bareudp_dellink(dev, &list_kill); + unregister_netdevice_many(&list_kill); + return err; } static size_t bareudp_get_size(const struct net_device *dev) --- linux-riscv-5.8-5.8.0.orig/drivers/net/bonding/bond_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/bonding/bond_main.c @@ -1195,6 +1195,7 @@ bond_dev->type = slave_dev->type; bond_dev->hard_header_len = slave_dev->hard_header_len; + bond_dev->needed_headroom = slave_dev->needed_headroom; bond_dev->addr_len = slave_dev->addr_len; memcpy(bond_dev->broadcast, slave_dev->broadcast, @@ -1339,7 +1340,39 @@ slave->dev->flags &= ~IFF_SLAVE; } -static struct slave *bond_alloc_slave(struct bonding *bond) +static void slave_kobj_release(struct kobject *kobj) +{ + struct slave *slave = to_slave(kobj); + struct bonding *bond = bond_get_bond_by_slave(slave); + + cancel_delayed_work_sync(&slave->notify_work); + if (BOND_MODE(bond) == BOND_MODE_8023AD) + kfree(SLAVE_AD_INFO(slave)); + + kfree(slave); +} + +static struct kobj_type slave_ktype = { + .release = slave_kobj_release, +#ifdef CONFIG_SYSFS + .sysfs_ops = &slave_sysfs_ops, +#endif +}; + +static int bond_kobj_init(struct slave *slave) +{ + int err; + + err = kobject_init_and_add(&slave->kobj, &slave_ktype, + &(slave->dev->dev.kobj), "bonding_slave"); + if (err) + kobject_put(&slave->kobj); + + return err; +} + +static struct slave *bond_alloc_slave(struct bonding *bond, + struct net_device *slave_dev) { struct slave *slave = NULL; @@ -1347,11 +1380,17 @@ if (!slave) return NULL; + slave->bond = bond; + slave->dev = slave_dev; + + if (bond_kobj_init(slave)) + return NULL; + if (BOND_MODE(bond) == BOND_MODE_8023AD) { SLAVE_AD_INFO(slave) = kzalloc(sizeof(struct ad_slave_info), GFP_KERNEL); if (!SLAVE_AD_INFO(slave)) { - kfree(slave); + kobject_put(&slave->kobj); return NULL; } } @@ -1360,17 +1399,6 @@ return slave; } -static void bond_free_slave(struct slave *slave) -{ - struct bonding *bond = bond_get_bond_by_slave(slave); - - cancel_delayed_work_sync(&slave->notify_work); - if (BOND_MODE(bond) == BOND_MODE_8023AD) - kfree(SLAVE_AD_INFO(slave)); - - kfree(slave); -} - static void bond_fill_ifbond(struct bonding *bond, struct ifbond *info) { info->bond_mode = BOND_MODE(bond); @@ -1554,14 +1582,12 @@ goto err_undo_flags; } - new_slave = bond_alloc_slave(bond); + new_slave = bond_alloc_slave(bond, slave_dev); if (!new_slave) { res = -ENOMEM; goto err_undo_flags; } - new_slave->bond = bond; - new_slave->dev = slave_dev; /* Set the new_slave's queue_id to be zero. Queue ID mapping * is set via sysfs or module option if desired. */ @@ -1883,7 +1909,7 @@ dev_set_mtu(slave_dev, new_slave->original_mtu); err_free: - bond_free_slave(new_slave); + kobject_put(&new_slave->kobj); err_undo_flags: /* Enslave of first slave has failed and we need to fix master's mac */ @@ -2063,7 +2089,7 @@ if (!netif_is_bond_master(slave_dev)) slave_dev->priv_flags &= ~IFF_BONDING; - bond_free_slave(slave); + kobject_put(&slave->kobj); return 0; } @@ -2084,7 +2110,8 @@ int ret; ret = __bond_release_one(bond_dev, slave_dev, false, true); - if (ret == 0 && !bond_has_slaves(bond)) { + if (ret == 0 && !bond_has_slaves(bond) && + bond_dev->reg_state != NETREG_UNREGISTERING) { bond_dev->priv_flags |= IFF_DISABLE_NETPOLL; netdev_info(bond_dev, "Destroying bond\n"); bond_remove_proc_entry(bond); @@ -2824,6 +2851,9 @@ if (bond_time_in_interval(bond, last_rx, 1)) { bond_propose_link_state(slave, BOND_LINK_UP); commit++; + } else if (slave->link == BOND_LINK_BACK) { + bond_propose_link_state(slave, BOND_LINK_FAIL); + commit++; } continue; } @@ -2932,6 +2962,19 @@ continue; + case BOND_LINK_FAIL: + bond_set_slave_link_state(slave, BOND_LINK_FAIL, + BOND_SLAVE_NOTIFY_NOW); + bond_set_slave_inactive_flags(slave, + BOND_SLAVE_NOTIFY_NOW); + + /* A slave has just been enslaved and has become + * the current active slave. + */ + if (rtnl_dereference(bond->curr_active_slave)) + RCU_INIT_POINTER(bond->current_arp_slave, NULL); + continue; + default: slave_err(bond->dev, slave->dev, "impossible: link_new_state %d on slave\n", @@ -2982,8 +3025,6 @@ return should_notify_rtnl; } - bond_set_slave_inactive_flags(curr_arp_slave, BOND_SLAVE_NOTIFY_LATER); - bond_for_each_slave_rcu(bond, slave, iter) { if (!found && !before && bond_slave_is_up(slave)) before = slave; @@ -4431,13 +4472,23 @@ return ret; } +static u32 bond_mode_bcast_speed(struct slave *slave, u32 speed) +{ + if (speed == 0 || speed == SPEED_UNKNOWN) + speed = slave->speed; + else + speed = min(speed, slave->speed); + + return speed; +} + static int bond_ethtool_get_link_ksettings(struct net_device *bond_dev, struct ethtool_link_ksettings *cmd) { struct bonding *bond = netdev_priv(bond_dev); - unsigned long speed = 0; struct list_head *iter; struct slave *slave; + u32 speed = 0; cmd->base.duplex = DUPLEX_UNKNOWN; cmd->base.port = PORT_OTHER; @@ -4449,8 +4500,13 @@ */ bond_for_each_slave(bond, slave, iter) { if (bond_slave_can_tx(slave)) { - if (slave->speed != SPEED_UNKNOWN) - speed += slave->speed; + if (slave->speed != SPEED_UNKNOWN) { + if (BOND_MODE(bond) == BOND_MODE_BROADCAST) + speed = bond_mode_bcast_speed(slave, + speed); + else + speed += slave->speed; + } if (cmd->base.duplex == DUPLEX_UNKNOWN && slave->duplex != DUPLEX_UNKNOWN) cmd->base.duplex = slave->duplex; --- linux-riscv-5.8-5.8.0.orig/drivers/net/bonding/bond_sysfs_slave.c +++ linux-riscv-5.8-5.8.0/drivers/net/bonding/bond_sysfs_slave.c @@ -121,7 +121,6 @@ }; #define to_slave_attr(_at) container_of(_at, struct slave_attribute, attr) -#define to_slave(obj) container_of(obj, struct slave, kobj) static ssize_t slave_show(struct kobject *kobj, struct attribute *attr, char *buf) @@ -132,28 +131,15 @@ return slave_attr->show(slave, buf); } -static const struct sysfs_ops slave_sysfs_ops = { +const struct sysfs_ops slave_sysfs_ops = { .show = slave_show, }; -static struct kobj_type slave_ktype = { -#ifdef CONFIG_SYSFS - .sysfs_ops = &slave_sysfs_ops, -#endif -}; - int bond_sysfs_slave_add(struct slave *slave) { const struct slave_attribute **a; int err; - err = kobject_init_and_add(&slave->kobj, &slave_ktype, - &(slave->dev->dev.kobj), "bonding_slave"); - if (err) { - kobject_put(&slave->kobj); - return err; - } - for (a = slave_attrs; *a; ++a) { err = sysfs_create_file(&slave->kobj, &((*a)->attr)); if (err) { @@ -171,6 +157,4 @@ for (a = slave_attrs; *a; ++a) sysfs_remove_file(&slave->kobj, &((*a)->attr)); - - kobject_put(&slave->kobj); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/can/Kconfig @@ -123,6 +123,7 @@ config CAN_KVASER_PCIEFD depends on PCI tristate "Kvaser PCIe FD cards" + select CRC32 help This is a driver for the Kvaser PCI Express CAN FD family. --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/Makefile +++ linux-riscv-5.8-5.8.0/drivers/net/can/Makefile @@ -7,12 +7,7 @@ obj-$(CONFIG_CAN_VXCAN) += vxcan.o obj-$(CONFIG_CAN_SLCAN) += slcan.o -obj-$(CONFIG_CAN_DEV) += can-dev.o -can-dev-y += dev.o -can-dev-y += rx-offload.o - -can-dev-$(CONFIG_CAN_LEDS) += led.o - +obj-y += dev/ obj-y += rcar/ obj-y += spi/ obj-y += usb/ --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/c_can/c_can.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/c_can/c_can.c @@ -212,18 +212,6 @@ .brp_inc = 1, }; -static inline void c_can_pm_runtime_enable(const struct c_can_priv *priv) -{ - if (priv->device) - pm_runtime_enable(priv->device); -} - -static inline void c_can_pm_runtime_disable(const struct c_can_priv *priv) -{ - if (priv->device) - pm_runtime_disable(priv->device); -} - static inline void c_can_pm_runtime_get_sync(const struct c_can_priv *priv) { if (priv->device) @@ -1304,12 +1292,22 @@ time_after(time_out, jiffies)) cpu_relax(); - if (time_after(jiffies, time_out)) - return -ETIMEDOUT; + if (time_after(jiffies, time_out)) { + ret = -ETIMEDOUT; + goto err_out; + } ret = c_can_start(dev); - if (!ret) - c_can_irq_control(priv, true); + if (ret) + goto err_out; + + c_can_irq_control(priv, true); + + return 0; + +err_out: + c_can_reset_ram(priv, false); + c_can_pm_runtime_put_sync(priv); return ret; } @@ -1334,7 +1332,6 @@ int register_c_can_dev(struct net_device *dev) { - struct c_can_priv *priv = netdev_priv(dev); int err; /* Deactivate pins to prevent DRA7 DCAN IP from being @@ -1344,28 +1341,19 @@ */ pinctrl_pm_select_sleep_state(dev->dev.parent); - c_can_pm_runtime_enable(priv); - dev->flags |= IFF_ECHO; /* we support local echo */ dev->netdev_ops = &c_can_netdev_ops; err = register_candev(dev); - if (err) - c_can_pm_runtime_disable(priv); - else + if (!err) devm_can_led_init(dev); - return err; } EXPORT_SYMBOL_GPL(register_c_can_dev); void unregister_c_can_dev(struct net_device *dev) { - struct c_can_priv *priv = netdev_priv(dev); - unregister_candev(dev); - - c_can_pm_runtime_disable(priv); } EXPORT_SYMBOL_GPL(unregister_c_can_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/c_can/c_can_pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/c_can/c_can_pci.c @@ -239,12 +239,13 @@ { struct net_device *dev = pci_get_drvdata(pdev); struct c_can_priv *priv = netdev_priv(dev); + void __iomem *addr = priv->base; unregister_c_can_dev(dev); free_c_can_dev(dev); - pci_iounmap(pdev, priv->base); + pci_iounmap(pdev, addr); pci_disable_msi(pdev); pci_clear_master(pdev); pci_release_regions(pdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/c_can/c_can_platform.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/c_can/c_can_platform.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -386,6 +387,7 @@ platform_set_drvdata(pdev, dev); SET_NETDEV_DEV(dev, &pdev->dev); + pm_runtime_enable(priv->device); ret = register_c_can_dev(dev); if (ret) { dev_err(&pdev->dev, "registering %s failed (err=%d)\n", @@ -398,6 +400,7 @@ return 0; exit_free_device: + pm_runtime_disable(priv->device); free_c_can_dev(dev); exit: dev_err(&pdev->dev, "probe failed\n"); @@ -408,9 +411,10 @@ static int c_can_plat_remove(struct platform_device *pdev) { struct net_device *dev = platform_get_drvdata(pdev); + struct c_can_priv *priv = netdev_priv(dev); unregister_c_can_dev(dev); - + pm_runtime_disable(priv->device); free_c_can_dev(dev); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/dev/Makefile +++ linux-riscv-5.8-5.8.0/drivers/net/can/dev/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0 + +obj-$(CONFIG_CAN_DEV) += can-dev.o +can-dev-y += dev.o +can-dev-y += rx-offload.o + +can-dev-$(CONFIG_CAN_LEDS) += led.o --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/dev/dev.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/dev/dev.c @@ -0,0 +1,1311 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* Copyright (C) 2005 Marc Kleine-Budde, Pengutronix + * Copyright (C) 2006 Andrey Volkov, Varma Electronics + * Copyright (C) 2008-2009 Wolfgang Grandegger + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define MOD_DESC "CAN device driver interface" + +MODULE_DESCRIPTION(MOD_DESC); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Wolfgang Grandegger "); + +/* CAN DLC to real data length conversion helpers */ + +static const u8 dlc2len[] = {0, 1, 2, 3, 4, 5, 6, 7, + 8, 12, 16, 20, 24, 32, 48, 64}; + +/* get data length from can_dlc with sanitized can_dlc */ +u8 can_dlc2len(u8 can_dlc) +{ + return dlc2len[can_dlc & 0x0F]; +} +EXPORT_SYMBOL_GPL(can_dlc2len); + +static const u8 len2dlc[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, /* 0 - 8 */ + 9, 9, 9, 9, /* 9 - 12 */ + 10, 10, 10, 10, /* 13 - 16 */ + 11, 11, 11, 11, /* 17 - 20 */ + 12, 12, 12, 12, /* 21 - 24 */ + 13, 13, 13, 13, 13, 13, 13, 13, /* 25 - 32 */ + 14, 14, 14, 14, 14, 14, 14, 14, /* 33 - 40 */ + 14, 14, 14, 14, 14, 14, 14, 14, /* 41 - 48 */ + 15, 15, 15, 15, 15, 15, 15, 15, /* 49 - 56 */ + 15, 15, 15, 15, 15, 15, 15, 15}; /* 57 - 64 */ + +/* map the sanitized data length to an appropriate data length code */ +u8 can_len2dlc(u8 len) +{ + if (unlikely(len > 64)) + return 0xF; + + return len2dlc[len]; +} +EXPORT_SYMBOL_GPL(can_len2dlc); + +#ifdef CONFIG_CAN_CALC_BITTIMING +#define CAN_CALC_MAX_ERROR 50 /* in one-tenth of a percent */ +#define CAN_CALC_SYNC_SEG 1 + +/* Bit-timing calculation derived from: + * + * Code based on LinCAN sources and H8S2638 project + * Copyright 2004-2006 Pavel Pisa - DCE FELK CVUT cz + * Copyright 2005 Stanislav Marek + * email: pisa@cmp.felk.cvut.cz + * + * Calculates proper bit-timing parameters for a specified bit-rate + * and sample-point, which can then be used to set the bit-timing + * registers of the CAN controller. You can find more information + * in the header file linux/can/netlink.h. + */ +static int +can_update_sample_point(const struct can_bittiming_const *btc, + unsigned int sample_point_nominal, unsigned int tseg, + unsigned int *tseg1_ptr, unsigned int *tseg2_ptr, + unsigned int *sample_point_error_ptr) +{ + unsigned int sample_point_error, best_sample_point_error = UINT_MAX; + unsigned int sample_point, best_sample_point = 0; + unsigned int tseg1, tseg2; + int i; + + for (i = 0; i <= 1; i++) { + tseg2 = tseg + CAN_CALC_SYNC_SEG - + (sample_point_nominal * (tseg + CAN_CALC_SYNC_SEG)) / + 1000 - i; + tseg2 = clamp(tseg2, btc->tseg2_min, btc->tseg2_max); + tseg1 = tseg - tseg2; + if (tseg1 > btc->tseg1_max) { + tseg1 = btc->tseg1_max; + tseg2 = tseg - tseg1; + } + + sample_point = 1000 * (tseg + CAN_CALC_SYNC_SEG - tseg2) / + (tseg + CAN_CALC_SYNC_SEG); + sample_point_error = abs(sample_point_nominal - sample_point); + + if (sample_point <= sample_point_nominal && + sample_point_error < best_sample_point_error) { + best_sample_point = sample_point; + best_sample_point_error = sample_point_error; + *tseg1_ptr = tseg1; + *tseg2_ptr = tseg2; + } + } + + if (sample_point_error_ptr) + *sample_point_error_ptr = best_sample_point_error; + + return best_sample_point; +} + +static int can_calc_bittiming(struct net_device *dev, struct can_bittiming *bt, + const struct can_bittiming_const *btc) +{ + struct can_priv *priv = netdev_priv(dev); + unsigned int bitrate; /* current bitrate */ + unsigned int bitrate_error; /* difference between current and nominal value */ + unsigned int best_bitrate_error = UINT_MAX; + unsigned int sample_point_error; /* difference between current and nominal value */ + unsigned int best_sample_point_error = UINT_MAX; + unsigned int sample_point_nominal; /* nominal sample point */ + unsigned int best_tseg = 0; /* current best value for tseg */ + unsigned int best_brp = 0; /* current best value for brp */ + unsigned int brp, tsegall, tseg, tseg1 = 0, tseg2 = 0; + u64 v64; + + /* Use CiA recommended sample points */ + if (bt->sample_point) { + sample_point_nominal = bt->sample_point; + } else { + if (bt->bitrate > 800000) + sample_point_nominal = 750; + else if (bt->bitrate > 500000) + sample_point_nominal = 800; + else + sample_point_nominal = 875; + } + + /* tseg even = round down, odd = round up */ + for (tseg = (btc->tseg1_max + btc->tseg2_max) * 2 + 1; + tseg >= (btc->tseg1_min + btc->tseg2_min) * 2; tseg--) { + tsegall = CAN_CALC_SYNC_SEG + tseg / 2; + + /* Compute all possible tseg choices (tseg=tseg1+tseg2) */ + brp = priv->clock.freq / (tsegall * bt->bitrate) + tseg % 2; + + /* choose brp step which is possible in system */ + brp = (brp / btc->brp_inc) * btc->brp_inc; + if (brp < btc->brp_min || brp > btc->brp_max) + continue; + + bitrate = priv->clock.freq / (brp * tsegall); + bitrate_error = abs(bt->bitrate - bitrate); + + /* tseg brp biterror */ + if (bitrate_error > best_bitrate_error) + continue; + + /* reset sample point error if we have a better bitrate */ + if (bitrate_error < best_bitrate_error) + best_sample_point_error = UINT_MAX; + + can_update_sample_point(btc, sample_point_nominal, tseg / 2, + &tseg1, &tseg2, &sample_point_error); + if (sample_point_error > best_sample_point_error) + continue; + + best_sample_point_error = sample_point_error; + best_bitrate_error = bitrate_error; + best_tseg = tseg / 2; + best_brp = brp; + + if (bitrate_error == 0 && sample_point_error == 0) + break; + } + + if (best_bitrate_error) { + /* Error in one-tenth of a percent */ + v64 = (u64)best_bitrate_error * 1000; + do_div(v64, bt->bitrate); + bitrate_error = (u32)v64; + if (bitrate_error > CAN_CALC_MAX_ERROR) { + netdev_err(dev, + "bitrate error %d.%d%% too high\n", + bitrate_error / 10, bitrate_error % 10); + return -EDOM; + } + netdev_warn(dev, "bitrate error %d.%d%%\n", + bitrate_error / 10, bitrate_error % 10); + } + + /* real sample point */ + bt->sample_point = can_update_sample_point(btc, sample_point_nominal, + best_tseg, &tseg1, &tseg2, + NULL); + + v64 = (u64)best_brp * 1000 * 1000 * 1000; + do_div(v64, priv->clock.freq); + bt->tq = (u32)v64; + bt->prop_seg = tseg1 / 2; + bt->phase_seg1 = tseg1 - bt->prop_seg; + bt->phase_seg2 = tseg2; + + /* check for sjw user settings */ + if (!bt->sjw || !btc->sjw_max) { + bt->sjw = 1; + } else { + /* bt->sjw is at least 1 -> sanitize upper bound to sjw_max */ + if (bt->sjw > btc->sjw_max) + bt->sjw = btc->sjw_max; + /* bt->sjw must not be higher than tseg2 */ + if (tseg2 < bt->sjw) + bt->sjw = tseg2; + } + + bt->brp = best_brp; + + /* real bitrate */ + bt->bitrate = priv->clock.freq / + (bt->brp * (CAN_CALC_SYNC_SEG + tseg1 + tseg2)); + + return 0; +} +#else /* !CONFIG_CAN_CALC_BITTIMING */ +static int can_calc_bittiming(struct net_device *dev, struct can_bittiming *bt, + const struct can_bittiming_const *btc) +{ + netdev_err(dev, "bit-timing calculation not available\n"); + return -EINVAL; +} +#endif /* CONFIG_CAN_CALC_BITTIMING */ + +/* Checks the validity of the specified bit-timing parameters prop_seg, + * phase_seg1, phase_seg2 and sjw and tries to determine the bitrate + * prescaler value brp. You can find more information in the header + * file linux/can/netlink.h. + */ +static int can_fixup_bittiming(struct net_device *dev, struct can_bittiming *bt, + const struct can_bittiming_const *btc) +{ + struct can_priv *priv = netdev_priv(dev); + int tseg1, alltseg; + u64 brp64; + + tseg1 = bt->prop_seg + bt->phase_seg1; + if (!bt->sjw) + bt->sjw = 1; + if (bt->sjw > btc->sjw_max || + tseg1 < btc->tseg1_min || tseg1 > btc->tseg1_max || + bt->phase_seg2 < btc->tseg2_min || bt->phase_seg2 > btc->tseg2_max) + return -ERANGE; + + brp64 = (u64)priv->clock.freq * (u64)bt->tq; + if (btc->brp_inc > 1) + do_div(brp64, btc->brp_inc); + brp64 += 500000000UL - 1; + do_div(brp64, 1000000000UL); /* the practicable BRP */ + if (btc->brp_inc > 1) + brp64 *= btc->brp_inc; + bt->brp = (u32)brp64; + + if (bt->brp < btc->brp_min || bt->brp > btc->brp_max) + return -EINVAL; + + alltseg = bt->prop_seg + bt->phase_seg1 + bt->phase_seg2 + 1; + bt->bitrate = priv->clock.freq / (bt->brp * alltseg); + bt->sample_point = ((tseg1 + 1) * 1000) / alltseg; + + return 0; +} + +/* Checks the validity of predefined bitrate settings */ +static int +can_validate_bitrate(struct net_device *dev, struct can_bittiming *bt, + const u32 *bitrate_const, + const unsigned int bitrate_const_cnt) +{ + struct can_priv *priv = netdev_priv(dev); + unsigned int i; + + for (i = 0; i < bitrate_const_cnt; i++) { + if (bt->bitrate == bitrate_const[i]) + break; + } + + if (i >= priv->bitrate_const_cnt) + return -EINVAL; + + return 0; +} + +static int can_get_bittiming(struct net_device *dev, struct can_bittiming *bt, + const struct can_bittiming_const *btc, + const u32 *bitrate_const, + const unsigned int bitrate_const_cnt) +{ + int err; + + /* Depending on the given can_bittiming parameter structure the CAN + * timing parameters are calculated based on the provided bitrate OR + * alternatively the CAN timing parameters (tq, prop_seg, etc.) are + * provided directly which are then checked and fixed up. + */ + if (!bt->tq && bt->bitrate && btc) + err = can_calc_bittiming(dev, bt, btc); + else if (bt->tq && !bt->bitrate && btc) + err = can_fixup_bittiming(dev, bt, btc); + else if (!bt->tq && bt->bitrate && bitrate_const) + err = can_validate_bitrate(dev, bt, bitrate_const, + bitrate_const_cnt); + else + err = -EINVAL; + + return err; +} + +static void can_update_state_error_stats(struct net_device *dev, + enum can_state new_state) +{ + struct can_priv *priv = netdev_priv(dev); + + if (new_state <= priv->state) + return; + + switch (new_state) { + case CAN_STATE_ERROR_WARNING: + priv->can_stats.error_warning++; + break; + case CAN_STATE_ERROR_PASSIVE: + priv->can_stats.error_passive++; + break; + case CAN_STATE_BUS_OFF: + priv->can_stats.bus_off++; + break; + default: + break; + } +} + +static int can_tx_state_to_frame(struct net_device *dev, enum can_state state) +{ + switch (state) { + case CAN_STATE_ERROR_ACTIVE: + return CAN_ERR_CRTL_ACTIVE; + case CAN_STATE_ERROR_WARNING: + return CAN_ERR_CRTL_TX_WARNING; + case CAN_STATE_ERROR_PASSIVE: + return CAN_ERR_CRTL_TX_PASSIVE; + default: + return 0; + } +} + +static int can_rx_state_to_frame(struct net_device *dev, enum can_state state) +{ + switch (state) { + case CAN_STATE_ERROR_ACTIVE: + return CAN_ERR_CRTL_ACTIVE; + case CAN_STATE_ERROR_WARNING: + return CAN_ERR_CRTL_RX_WARNING; + case CAN_STATE_ERROR_PASSIVE: + return CAN_ERR_CRTL_RX_PASSIVE; + default: + return 0; + } +} + +void can_change_state(struct net_device *dev, struct can_frame *cf, + enum can_state tx_state, enum can_state rx_state) +{ + struct can_priv *priv = netdev_priv(dev); + enum can_state new_state = max(tx_state, rx_state); + + if (unlikely(new_state == priv->state)) { + netdev_warn(dev, "%s: oops, state did not change", __func__); + return; + } + + netdev_dbg(dev, "New error state: %d\n", new_state); + + can_update_state_error_stats(dev, new_state); + priv->state = new_state; + + if (!cf) + return; + + if (unlikely(new_state == CAN_STATE_BUS_OFF)) { + cf->can_id |= CAN_ERR_BUSOFF; + return; + } + + cf->can_id |= CAN_ERR_CRTL; + cf->data[1] |= tx_state >= rx_state ? + can_tx_state_to_frame(dev, tx_state) : 0; + cf->data[1] |= tx_state <= rx_state ? + can_rx_state_to_frame(dev, rx_state) : 0; +} +EXPORT_SYMBOL_GPL(can_change_state); + +/* Local echo of CAN messages + * + * CAN network devices *should* support a local echo functionality + * (see Documentation/networking/can.rst). To test the handling of CAN + * interfaces that do not support the local echo both driver types are + * implemented. In the case that the driver does not support the echo + * the IFF_ECHO remains clear in dev->flags. This causes the PF_CAN core + * to perform the echo as a fallback solution. + */ +static void can_flush_echo_skb(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + struct net_device_stats *stats = &dev->stats; + int i; + + for (i = 0; i < priv->echo_skb_max; i++) { + if (priv->echo_skb[i]) { + kfree_skb(priv->echo_skb[i]); + priv->echo_skb[i] = NULL; + stats->tx_dropped++; + stats->tx_aborted_errors++; + } + } +} + +/* Put the skb on the stack to be looped backed locally lateron + * + * The function is typically called in the start_xmit function + * of the device driver. The driver must protect access to + * priv->echo_skb, if necessary. + */ +void can_put_echo_skb(struct sk_buff *skb, struct net_device *dev, + unsigned int idx) +{ + struct can_priv *priv = netdev_priv(dev); + + BUG_ON(idx >= priv->echo_skb_max); + + /* check flag whether this packet has to be looped back */ + if (!(dev->flags & IFF_ECHO) || skb->pkt_type != PACKET_LOOPBACK || + (skb->protocol != htons(ETH_P_CAN) && + skb->protocol != htons(ETH_P_CANFD))) { + kfree_skb(skb); + return; + } + + if (!priv->echo_skb[idx]) { + skb = can_create_echo_skb(skb); + if (!skb) + return; + + /* make settings for echo to reduce code in irq context */ + skb->pkt_type = PACKET_BROADCAST; + skb->ip_summed = CHECKSUM_UNNECESSARY; + skb->dev = dev; + + /* save this skb for tx interrupt echo handling */ + priv->echo_skb[idx] = skb; + } else { + /* locking problem with netif_stop_queue() ?? */ + netdev_err(dev, "%s: BUG! echo_skb is occupied!\n", __func__); + kfree_skb(skb); + } +} +EXPORT_SYMBOL_GPL(can_put_echo_skb); + +struct sk_buff * +__can_get_echo_skb(struct net_device *dev, unsigned int idx, u8 *len_ptr) +{ + struct can_priv *priv = netdev_priv(dev); + + if (idx >= priv->echo_skb_max) { + netdev_err(dev, "%s: BUG! Trying to access can_priv::echo_skb out of bounds (%u/max %u)\n", + __func__, idx, priv->echo_skb_max); + return NULL; + } + + if (priv->echo_skb[idx]) { + /* Using "struct canfd_frame::len" for the frame + * length is supported on both CAN and CANFD frames. + */ + struct sk_buff *skb = priv->echo_skb[idx]; + struct canfd_frame *cf = (struct canfd_frame *)skb->data; + + /* get the real payload length for netdev statistics */ + if (cf->can_id & CAN_RTR_FLAG) + *len_ptr = 0; + else + *len_ptr = cf->len; + + priv->echo_skb[idx] = NULL; + + return skb; + } + + return NULL; +} + +/* Get the skb from the stack and loop it back locally + * + * The function is typically called when the TX done interrupt + * is handled in the device driver. The driver must protect + * access to priv->echo_skb, if necessary. + */ +unsigned int can_get_echo_skb(struct net_device *dev, unsigned int idx) +{ + struct sk_buff *skb; + u8 len; + + skb = __can_get_echo_skb(dev, idx, &len); + if (!skb) + return 0; + + skb_get(skb); + if (netif_rx(skb) == NET_RX_SUCCESS) + dev_consume_skb_any(skb); + else + dev_kfree_skb_any(skb); + + return len; +} +EXPORT_SYMBOL_GPL(can_get_echo_skb); + +/* Remove the skb from the stack and free it. + * + * The function is typically called when TX failed. + */ +void can_free_echo_skb(struct net_device *dev, unsigned int idx) +{ + struct can_priv *priv = netdev_priv(dev); + + BUG_ON(idx >= priv->echo_skb_max); + + if (priv->echo_skb[idx]) { + dev_kfree_skb_any(priv->echo_skb[idx]); + priv->echo_skb[idx] = NULL; + } +} +EXPORT_SYMBOL_GPL(can_free_echo_skb); + +/* CAN device restart for bus-off recovery */ +static void can_restart(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + struct net_device_stats *stats = &dev->stats; + struct sk_buff *skb; + struct can_frame *cf; + int err; + + BUG_ON(netif_carrier_ok(dev)); + + /* No synchronization needed because the device is bus-off and + * no messages can come in or go out. + */ + can_flush_echo_skb(dev); + + /* send restart message upstream */ + skb = alloc_can_err_skb(dev, &cf); + if (!skb) + goto restart; + + cf->can_id |= CAN_ERR_RESTARTED; + + stats->rx_packets++; + stats->rx_bytes += cf->can_dlc; + + netif_rx_ni(skb); + +restart: + netdev_dbg(dev, "restarted\n"); + priv->can_stats.restarts++; + + /* Now restart the device */ + err = priv->do_set_mode(dev, CAN_MODE_START); + + netif_carrier_on(dev); + if (err) + netdev_err(dev, "Error %d during restart", err); +} + +static void can_restart_work(struct work_struct *work) +{ + struct delayed_work *dwork = to_delayed_work(work); + struct can_priv *priv = container_of(dwork, struct can_priv, + restart_work); + + can_restart(priv->dev); +} + +int can_restart_now(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + /* A manual restart is only permitted if automatic restart is + * disabled and the device is in the bus-off state + */ + if (priv->restart_ms) + return -EINVAL; + if (priv->state != CAN_STATE_BUS_OFF) + return -EBUSY; + + cancel_delayed_work_sync(&priv->restart_work); + can_restart(dev); + + return 0; +} + +/* CAN bus-off + * + * This functions should be called when the device goes bus-off to + * tell the netif layer that no more packets can be sent or received. + * If enabled, a timer is started to trigger bus-off recovery. + */ +void can_bus_off(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + netdev_info(dev, "bus-off\n"); + + netif_carrier_off(dev); + + if (priv->restart_ms) + schedule_delayed_work(&priv->restart_work, + msecs_to_jiffies(priv->restart_ms)); +} +EXPORT_SYMBOL_GPL(can_bus_off); + +static void can_setup(struct net_device *dev) +{ + dev->type = ARPHRD_CAN; + dev->mtu = CAN_MTU; + dev->hard_header_len = 0; + dev->addr_len = 0; + dev->tx_queue_len = 10; + + /* New-style flags. */ + dev->flags = IFF_NOARP; + dev->features = NETIF_F_HW_CSUM; +} + +struct sk_buff *alloc_can_skb(struct net_device *dev, struct can_frame **cf) +{ + struct sk_buff *skb; + + skb = netdev_alloc_skb(dev, sizeof(struct can_skb_priv) + + sizeof(struct can_frame)); + if (unlikely(!skb)) + return NULL; + + skb->protocol = htons(ETH_P_CAN); + skb->pkt_type = PACKET_BROADCAST; + skb->ip_summed = CHECKSUM_UNNECESSARY; + + skb_reset_mac_header(skb); + skb_reset_network_header(skb); + skb_reset_transport_header(skb); + + can_skb_reserve(skb); + can_skb_prv(skb)->ifindex = dev->ifindex; + can_skb_prv(skb)->skbcnt = 0; + + *cf = skb_put_zero(skb, sizeof(struct can_frame)); + + return skb; +} +EXPORT_SYMBOL_GPL(alloc_can_skb); + +struct sk_buff *alloc_canfd_skb(struct net_device *dev, + struct canfd_frame **cfd) +{ + struct sk_buff *skb; + + skb = netdev_alloc_skb(dev, sizeof(struct can_skb_priv) + + sizeof(struct canfd_frame)); + if (unlikely(!skb)) + return NULL; + + skb->protocol = htons(ETH_P_CANFD); + skb->pkt_type = PACKET_BROADCAST; + skb->ip_summed = CHECKSUM_UNNECESSARY; + + skb_reset_mac_header(skb); + skb_reset_network_header(skb); + skb_reset_transport_header(skb); + + can_skb_reserve(skb); + can_skb_prv(skb)->ifindex = dev->ifindex; + can_skb_prv(skb)->skbcnt = 0; + + *cfd = skb_put_zero(skb, sizeof(struct canfd_frame)); + + return skb; +} +EXPORT_SYMBOL_GPL(alloc_canfd_skb); + +struct sk_buff *alloc_can_err_skb(struct net_device *dev, struct can_frame **cf) +{ + struct sk_buff *skb; + + skb = alloc_can_skb(dev, cf); + if (unlikely(!skb)) + return NULL; + + (*cf)->can_id = CAN_ERR_FLAG; + (*cf)->can_dlc = CAN_ERR_DLC; + + return skb; +} +EXPORT_SYMBOL_GPL(alloc_can_err_skb); + +/* Allocate and setup space for the CAN network device */ +struct net_device *alloc_candev_mqs(int sizeof_priv, unsigned int echo_skb_max, + unsigned int txqs, unsigned int rxqs) +{ + struct can_ml_priv *can_ml; + struct net_device *dev; + struct can_priv *priv; + int size; + + /* We put the driver's priv, the CAN mid layer priv and the + * echo skb into the netdevice's priv. The memory layout for + * the netdev_priv is like this: + * + * +-------------------------+ + * | driver's priv | + * +-------------------------+ + * | struct can_ml_priv | + * +-------------------------+ + * | array of struct sk_buff | + * +-------------------------+ + */ + + size = ALIGN(sizeof_priv, NETDEV_ALIGN) + sizeof(struct can_ml_priv); + + if (echo_skb_max) + size = ALIGN(size, sizeof(struct sk_buff *)) + + echo_skb_max * sizeof(struct sk_buff *); + + dev = alloc_netdev_mqs(size, "can%d", NET_NAME_UNKNOWN, can_setup, + txqs, rxqs); + if (!dev) + return NULL; + + priv = netdev_priv(dev); + priv->dev = dev; + + can_ml = (void *)priv + ALIGN(sizeof_priv, NETDEV_ALIGN); + can_set_ml_priv(dev, can_ml); + + if (echo_skb_max) { + priv->echo_skb_max = echo_skb_max; + priv->echo_skb = (void *)priv + + (size - echo_skb_max * sizeof(struct sk_buff *)); + } + + priv->state = CAN_STATE_STOPPED; + + INIT_DELAYED_WORK(&priv->restart_work, can_restart_work); + + return dev; +} +EXPORT_SYMBOL_GPL(alloc_candev_mqs); + +/* Free space of the CAN network device */ +void free_candev(struct net_device *dev) +{ + free_netdev(dev); +} +EXPORT_SYMBOL_GPL(free_candev); + +/* changing MTU and control mode for CAN/CANFD devices */ +int can_change_mtu(struct net_device *dev, int new_mtu) +{ + struct can_priv *priv = netdev_priv(dev); + + /* Do not allow changing the MTU while running */ + if (dev->flags & IFF_UP) + return -EBUSY; + + /* allow change of MTU according to the CANFD ability of the device */ + switch (new_mtu) { + case CAN_MTU: + /* 'CANFD-only' controllers can not switch to CAN_MTU */ + if (priv->ctrlmode_static & CAN_CTRLMODE_FD) + return -EINVAL; + + priv->ctrlmode &= ~CAN_CTRLMODE_FD; + break; + + case CANFD_MTU: + /* check for potential CANFD ability */ + if (!(priv->ctrlmode_supported & CAN_CTRLMODE_FD) && + !(priv->ctrlmode_static & CAN_CTRLMODE_FD)) + return -EINVAL; + + priv->ctrlmode |= CAN_CTRLMODE_FD; + break; + + default: + return -EINVAL; + } + + dev->mtu = new_mtu; + return 0; +} +EXPORT_SYMBOL_GPL(can_change_mtu); + +/* Common open function when the device gets opened. + * + * This function should be called in the open function of the device + * driver. + */ +int open_candev(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + if (!priv->bittiming.bitrate) { + netdev_err(dev, "bit-timing not yet defined\n"); + return -EINVAL; + } + + /* For CAN FD the data bitrate has to be >= the arbitration bitrate */ + if ((priv->ctrlmode & CAN_CTRLMODE_FD) && + (!priv->data_bittiming.bitrate || + priv->data_bittiming.bitrate < priv->bittiming.bitrate)) { + netdev_err(dev, "incorrect/missing data bit-timing\n"); + return -EINVAL; + } + + /* Switch carrier on if device was stopped while in bus-off state */ + if (!netif_carrier_ok(dev)) + netif_carrier_on(dev); + + return 0; +} +EXPORT_SYMBOL_GPL(open_candev); + +#ifdef CONFIG_OF +/* Common function that can be used to understand the limitation of + * a transceiver when it provides no means to determine these limitations + * at runtime. + */ +void of_can_transceiver(struct net_device *dev) +{ + struct device_node *dn; + struct can_priv *priv = netdev_priv(dev); + struct device_node *np = dev->dev.parent->of_node; + int ret; + + dn = of_get_child_by_name(np, "can-transceiver"); + if (!dn) + return; + + ret = of_property_read_u32(dn, "max-bitrate", &priv->bitrate_max); + of_node_put(dn); + if ((ret && ret != -EINVAL) || (!ret && !priv->bitrate_max)) + netdev_warn(dev, "Invalid value for transceiver max bitrate. Ignoring bitrate limit.\n"); +} +EXPORT_SYMBOL_GPL(of_can_transceiver); +#endif + +/* Common close function for cleanup before the device gets closed. + * + * This function should be called in the close function of the device + * driver. + */ +void close_candev(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + cancel_delayed_work_sync(&priv->restart_work); + can_flush_echo_skb(dev); +} +EXPORT_SYMBOL_GPL(close_candev); + +/* CAN netlink interface */ +static const struct nla_policy can_policy[IFLA_CAN_MAX + 1] = { + [IFLA_CAN_STATE] = { .type = NLA_U32 }, + [IFLA_CAN_CTRLMODE] = { .len = sizeof(struct can_ctrlmode) }, + [IFLA_CAN_RESTART_MS] = { .type = NLA_U32 }, + [IFLA_CAN_RESTART] = { .type = NLA_U32 }, + [IFLA_CAN_BITTIMING] = { .len = sizeof(struct can_bittiming) }, + [IFLA_CAN_BITTIMING_CONST] + = { .len = sizeof(struct can_bittiming_const) }, + [IFLA_CAN_CLOCK] = { .len = sizeof(struct can_clock) }, + [IFLA_CAN_BERR_COUNTER] = { .len = sizeof(struct can_berr_counter) }, + [IFLA_CAN_DATA_BITTIMING] + = { .len = sizeof(struct can_bittiming) }, + [IFLA_CAN_DATA_BITTIMING_CONST] + = { .len = sizeof(struct can_bittiming_const) }, + [IFLA_CAN_TERMINATION] = { .type = NLA_U16 }, +}; + +static int can_validate(struct nlattr *tb[], struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + bool is_can_fd = false; + + /* Make sure that valid CAN FD configurations always consist of + * - nominal/arbitration bittiming + * - data bittiming + * - control mode with CAN_CTRLMODE_FD set + */ + + if (!data) + return 0; + + if (data[IFLA_CAN_CTRLMODE]) { + struct can_ctrlmode *cm = nla_data(data[IFLA_CAN_CTRLMODE]); + + is_can_fd = cm->flags & cm->mask & CAN_CTRLMODE_FD; + } + + if (is_can_fd) { + if (!data[IFLA_CAN_BITTIMING] || !data[IFLA_CAN_DATA_BITTIMING]) + return -EOPNOTSUPP; + } + + if (data[IFLA_CAN_DATA_BITTIMING]) { + if (!is_can_fd || !data[IFLA_CAN_BITTIMING]) + return -EOPNOTSUPP; + } + + return 0; +} + +static int can_changelink(struct net_device *dev, struct nlattr *tb[], + struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + struct can_priv *priv = netdev_priv(dev); + int err; + + /* We need synchronization with dev->stop() */ + ASSERT_RTNL(); + + if (data[IFLA_CAN_BITTIMING]) { + struct can_bittiming bt; + + /* Do not allow changing bittiming while running */ + if (dev->flags & IFF_UP) + return -EBUSY; + + /* Calculate bittiming parameters based on + * bittiming_const if set, otherwise pass bitrate + * directly via do_set_bitrate(). Bail out if neither + * is given. + */ + if (!priv->bittiming_const && !priv->do_set_bittiming) + return -EOPNOTSUPP; + + memcpy(&bt, nla_data(data[IFLA_CAN_BITTIMING]), sizeof(bt)); + err = can_get_bittiming(dev, &bt, + priv->bittiming_const, + priv->bitrate_const, + priv->bitrate_const_cnt); + if (err) + return err; + + if (priv->bitrate_max && bt.bitrate > priv->bitrate_max) { + netdev_err(dev, "arbitration bitrate surpasses transceiver capabilities of %d bps\n", + priv->bitrate_max); + return -EINVAL; + } + + memcpy(&priv->bittiming, &bt, sizeof(bt)); + + if (priv->do_set_bittiming) { + /* Finally, set the bit-timing registers */ + err = priv->do_set_bittiming(dev); + if (err) + return err; + } + } + + if (data[IFLA_CAN_CTRLMODE]) { + struct can_ctrlmode *cm; + u32 ctrlstatic; + u32 maskedflags; + + /* Do not allow changing controller mode while running */ + if (dev->flags & IFF_UP) + return -EBUSY; + cm = nla_data(data[IFLA_CAN_CTRLMODE]); + ctrlstatic = priv->ctrlmode_static; + maskedflags = cm->flags & cm->mask; + + /* check whether provided bits are allowed to be passed */ + if (cm->mask & ~(priv->ctrlmode_supported | ctrlstatic)) + return -EOPNOTSUPP; + + /* do not check for static fd-non-iso if 'fd' is disabled */ + if (!(maskedflags & CAN_CTRLMODE_FD)) + ctrlstatic &= ~CAN_CTRLMODE_FD_NON_ISO; + + /* make sure static options are provided by configuration */ + if ((maskedflags & ctrlstatic) != ctrlstatic) + return -EOPNOTSUPP; + + /* clear bits to be modified and copy the flag values */ + priv->ctrlmode &= ~cm->mask; + priv->ctrlmode |= maskedflags; + + /* CAN_CTRLMODE_FD can only be set when driver supports FD */ + if (priv->ctrlmode & CAN_CTRLMODE_FD) + dev->mtu = CANFD_MTU; + else + dev->mtu = CAN_MTU; + } + + if (data[IFLA_CAN_RESTART_MS]) { + /* Do not allow changing restart delay while running */ + if (dev->flags & IFF_UP) + return -EBUSY; + priv->restart_ms = nla_get_u32(data[IFLA_CAN_RESTART_MS]); + } + + if (data[IFLA_CAN_RESTART]) { + /* Do not allow a restart while not running */ + if (!(dev->flags & IFF_UP)) + return -EINVAL; + err = can_restart_now(dev); + if (err) + return err; + } + + if (data[IFLA_CAN_DATA_BITTIMING]) { + struct can_bittiming dbt; + + /* Do not allow changing bittiming while running */ + if (dev->flags & IFF_UP) + return -EBUSY; + + /* Calculate bittiming parameters based on + * data_bittiming_const if set, otherwise pass bitrate + * directly via do_set_bitrate(). Bail out if neither + * is given. + */ + if (!priv->data_bittiming_const && !priv->do_set_data_bittiming) + return -EOPNOTSUPP; + + memcpy(&dbt, nla_data(data[IFLA_CAN_DATA_BITTIMING]), + sizeof(dbt)); + err = can_get_bittiming(dev, &dbt, + priv->data_bittiming_const, + priv->data_bitrate_const, + priv->data_bitrate_const_cnt); + if (err) + return err; + + if (priv->bitrate_max && dbt.bitrate > priv->bitrate_max) { + netdev_err(dev, "canfd data bitrate surpasses transceiver capabilities of %d bps\n", + priv->bitrate_max); + return -EINVAL; + } + + memcpy(&priv->data_bittiming, &dbt, sizeof(dbt)); + + if (priv->do_set_data_bittiming) { + /* Finally, set the bit-timing registers */ + err = priv->do_set_data_bittiming(dev); + if (err) + return err; + } + } + + if (data[IFLA_CAN_TERMINATION]) { + const u16 termval = nla_get_u16(data[IFLA_CAN_TERMINATION]); + const unsigned int num_term = priv->termination_const_cnt; + unsigned int i; + + if (!priv->do_set_termination) + return -EOPNOTSUPP; + + /* check whether given value is supported by the interface */ + for (i = 0; i < num_term; i++) { + if (termval == priv->termination_const[i]) + break; + } + if (i >= num_term) + return -EINVAL; + + /* Finally, set the termination value */ + err = priv->do_set_termination(dev, termval); + if (err) + return err; + + priv->termination = termval; + } + + return 0; +} + +static size_t can_get_size(const struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + size_t size = 0; + + if (priv->bittiming.bitrate) /* IFLA_CAN_BITTIMING */ + size += nla_total_size(sizeof(struct can_bittiming)); + if (priv->bittiming_const) /* IFLA_CAN_BITTIMING_CONST */ + size += nla_total_size(sizeof(struct can_bittiming_const)); + size += nla_total_size(sizeof(struct can_clock)); /* IFLA_CAN_CLOCK */ + size += nla_total_size(sizeof(u32)); /* IFLA_CAN_STATE */ + size += nla_total_size(sizeof(struct can_ctrlmode)); /* IFLA_CAN_CTRLMODE */ + size += nla_total_size(sizeof(u32)); /* IFLA_CAN_RESTART_MS */ + if (priv->do_get_berr_counter) /* IFLA_CAN_BERR_COUNTER */ + size += nla_total_size(sizeof(struct can_berr_counter)); + if (priv->data_bittiming.bitrate) /* IFLA_CAN_DATA_BITTIMING */ + size += nla_total_size(sizeof(struct can_bittiming)); + if (priv->data_bittiming_const) /* IFLA_CAN_DATA_BITTIMING_CONST */ + size += nla_total_size(sizeof(struct can_bittiming_const)); + if (priv->termination_const) { + size += nla_total_size(sizeof(priv->termination)); /* IFLA_CAN_TERMINATION */ + size += nla_total_size(sizeof(*priv->termination_const) * /* IFLA_CAN_TERMINATION_CONST */ + priv->termination_const_cnt); + } + if (priv->bitrate_const) /* IFLA_CAN_BITRATE_CONST */ + size += nla_total_size(sizeof(*priv->bitrate_const) * + priv->bitrate_const_cnt); + if (priv->data_bitrate_const) /* IFLA_CAN_DATA_BITRATE_CONST */ + size += nla_total_size(sizeof(*priv->data_bitrate_const) * + priv->data_bitrate_const_cnt); + size += sizeof(priv->bitrate_max); /* IFLA_CAN_BITRATE_MAX */ + + return size; +} + +static int can_fill_info(struct sk_buff *skb, const struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + struct can_ctrlmode cm = {.flags = priv->ctrlmode}; + struct can_berr_counter bec = { }; + enum can_state state = priv->state; + + if (priv->do_get_state) + priv->do_get_state(dev, &state); + + if ((priv->bittiming.bitrate && + nla_put(skb, IFLA_CAN_BITTIMING, + sizeof(priv->bittiming), &priv->bittiming)) || + + (priv->bittiming_const && + nla_put(skb, IFLA_CAN_BITTIMING_CONST, + sizeof(*priv->bittiming_const), priv->bittiming_const)) || + + nla_put(skb, IFLA_CAN_CLOCK, sizeof(priv->clock), &priv->clock) || + nla_put_u32(skb, IFLA_CAN_STATE, state) || + nla_put(skb, IFLA_CAN_CTRLMODE, sizeof(cm), &cm) || + nla_put_u32(skb, IFLA_CAN_RESTART_MS, priv->restart_ms) || + + (priv->do_get_berr_counter && + !priv->do_get_berr_counter(dev, &bec) && + nla_put(skb, IFLA_CAN_BERR_COUNTER, sizeof(bec), &bec)) || + + (priv->data_bittiming.bitrate && + nla_put(skb, IFLA_CAN_DATA_BITTIMING, + sizeof(priv->data_bittiming), &priv->data_bittiming)) || + + (priv->data_bittiming_const && + nla_put(skb, IFLA_CAN_DATA_BITTIMING_CONST, + sizeof(*priv->data_bittiming_const), + priv->data_bittiming_const)) || + + (priv->termination_const && + (nla_put_u16(skb, IFLA_CAN_TERMINATION, priv->termination) || + nla_put(skb, IFLA_CAN_TERMINATION_CONST, + sizeof(*priv->termination_const) * + priv->termination_const_cnt, + priv->termination_const))) || + + (priv->bitrate_const && + nla_put(skb, IFLA_CAN_BITRATE_CONST, + sizeof(*priv->bitrate_const) * + priv->bitrate_const_cnt, + priv->bitrate_const)) || + + (priv->data_bitrate_const && + nla_put(skb, IFLA_CAN_DATA_BITRATE_CONST, + sizeof(*priv->data_bitrate_const) * + priv->data_bitrate_const_cnt, + priv->data_bitrate_const)) || + + (nla_put(skb, IFLA_CAN_BITRATE_MAX, + sizeof(priv->bitrate_max), + &priv->bitrate_max)) + ) + + return -EMSGSIZE; + + return 0; +} + +static size_t can_get_xstats_size(const struct net_device *dev) +{ + return sizeof(struct can_device_stats); +} + +static int can_fill_xstats(struct sk_buff *skb, const struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + if (nla_put(skb, IFLA_INFO_XSTATS, + sizeof(priv->can_stats), &priv->can_stats)) + goto nla_put_failure; + return 0; + +nla_put_failure: + return -EMSGSIZE; +} + +static int can_newlink(struct net *src_net, struct net_device *dev, + struct nlattr *tb[], struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + return -EOPNOTSUPP; +} + +static void can_dellink(struct net_device *dev, struct list_head *head) +{ +} + +static struct rtnl_link_ops can_link_ops __read_mostly = { + .kind = "can", + .netns_refund = true, + .maxtype = IFLA_CAN_MAX, + .policy = can_policy, + .setup = can_setup, + .validate = can_validate, + .newlink = can_newlink, + .changelink = can_changelink, + .dellink = can_dellink, + .get_size = can_get_size, + .fill_info = can_fill_info, + .get_xstats_size = can_get_xstats_size, + .fill_xstats = can_fill_xstats, +}; + +/* Register the CAN network device */ +int register_candev(struct net_device *dev) +{ + struct can_priv *priv = netdev_priv(dev); + + /* Ensure termination_const, termination_const_cnt and + * do_set_termination consistency. All must be either set or + * unset. + */ + if ((!priv->termination_const != !priv->termination_const_cnt) || + (!priv->termination_const != !priv->do_set_termination)) + return -EINVAL; + + if (!priv->bitrate_const != !priv->bitrate_const_cnt) + return -EINVAL; + + if (!priv->data_bitrate_const != !priv->data_bitrate_const_cnt) + return -EINVAL; + + dev->rtnl_link_ops = &can_link_ops; + netif_carrier_off(dev); + + return register_netdev(dev); +} +EXPORT_SYMBOL_GPL(register_candev); + +/* Unregister the CAN network device */ +void unregister_candev(struct net_device *dev) +{ + unregister_netdev(dev); +} +EXPORT_SYMBOL_GPL(unregister_candev); + +/* Test if a network device is a candev based device + * and return the can_priv* if so. + */ +struct can_priv *safe_candev_priv(struct net_device *dev) +{ + if (dev->type != ARPHRD_CAN || dev->rtnl_link_ops != &can_link_ops) + return NULL; + + return netdev_priv(dev); +} +EXPORT_SYMBOL_GPL(safe_candev_priv); + +static __init int can_dev_init(void) +{ + int err; + + can_led_notifier_init(); + + err = rtnl_link_register(&can_link_ops); + if (!err) + pr_info(MOD_DESC "\n"); + + return err; +} +module_init(can_dev_init); + +static __exit void can_dev_exit(void) +{ + rtnl_link_unregister(&can_link_ops); + + can_led_notifier_exit(); +} +module_exit(can_dev_exit); + +MODULE_ALIAS_RTNL_LINK("can"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/dev/rx-offload.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/dev/rx-offload.c @@ -0,0 +1,365 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* Copyright (c) 2014 Protonic Holland, + * David Jander + * Copyright (C) 2014-2017 Pengutronix, + * Marc Kleine-Budde + */ + +#include +#include + +struct can_rx_offload_cb { + u32 timestamp; +}; + +static inline struct can_rx_offload_cb * +can_rx_offload_get_cb(struct sk_buff *skb) +{ + BUILD_BUG_ON(sizeof(struct can_rx_offload_cb) > sizeof(skb->cb)); + + return (struct can_rx_offload_cb *)skb->cb; +} + +static inline bool +can_rx_offload_le(struct can_rx_offload *offload, + unsigned int a, unsigned int b) +{ + if (offload->inc) + return a <= b; + else + return a >= b; +} + +static inline unsigned int +can_rx_offload_inc(struct can_rx_offload *offload, unsigned int *val) +{ + if (offload->inc) + return (*val)++; + else + return (*val)--; +} + +static int can_rx_offload_napi_poll(struct napi_struct *napi, int quota) +{ + struct can_rx_offload *offload = container_of(napi, + struct can_rx_offload, + napi); + struct net_device *dev = offload->dev; + struct net_device_stats *stats = &dev->stats; + struct sk_buff *skb; + int work_done = 0; + + while ((work_done < quota) && + (skb = skb_dequeue(&offload->skb_queue))) { + struct can_frame *cf = (struct can_frame *)skb->data; + + work_done++; + stats->rx_packets++; + stats->rx_bytes += cf->can_dlc; + netif_receive_skb(skb); + } + + if (work_done < quota) { + napi_complete_done(napi, work_done); + + /* Check if there was another interrupt */ + if (!skb_queue_empty(&offload->skb_queue)) + napi_reschedule(&offload->napi); + } + + can_led_event(offload->dev, CAN_LED_EVENT_RX); + + return work_done; +} + +static inline void +__skb_queue_add_sort(struct sk_buff_head *head, struct sk_buff *new, + int (*compare)(struct sk_buff *a, struct sk_buff *b)) +{ + struct sk_buff *pos, *insert = NULL; + + skb_queue_reverse_walk(head, pos) { + const struct can_rx_offload_cb *cb_pos, *cb_new; + + cb_pos = can_rx_offload_get_cb(pos); + cb_new = can_rx_offload_get_cb(new); + + netdev_dbg(new->dev, + "%s: pos=0x%08x, new=0x%08x, diff=%10d, queue_len=%d\n", + __func__, + cb_pos->timestamp, cb_new->timestamp, + cb_new->timestamp - cb_pos->timestamp, + skb_queue_len(head)); + + if (compare(pos, new) < 0) + continue; + insert = pos; + break; + } + if (!insert) + __skb_queue_head(head, new); + else + __skb_queue_after(head, insert, new); +} + +static int can_rx_offload_compare(struct sk_buff *a, struct sk_buff *b) +{ + const struct can_rx_offload_cb *cb_a, *cb_b; + + cb_a = can_rx_offload_get_cb(a); + cb_b = can_rx_offload_get_cb(b); + + /* Subtract two u32 and return result as int, to keep + * difference steady around the u32 overflow. + */ + return cb_b->timestamp - cb_a->timestamp; +} + +/** + * can_rx_offload_offload_one() - Read one CAN frame from HW + * @offload: pointer to rx_offload context + * @n: number of mailbox to read + * + * The task of this function is to read a CAN frame from mailbox @n + * from the device and return the mailbox's content as a struct + * sk_buff. + * + * If the struct can_rx_offload::skb_queue exceeds the maximal queue + * length (struct can_rx_offload::skb_queue_len_max) or no skb can be + * allocated, the mailbox contents is discarded by reading it into an + * overflow buffer. This way the mailbox is marked as free by the + * driver. + * + * Return: A pointer to skb containing the CAN frame on success. + * + * NULL if the mailbox @n is empty. + * + * ERR_PTR() in case of an error + */ +static struct sk_buff * +can_rx_offload_offload_one(struct can_rx_offload *offload, unsigned int n) +{ + struct sk_buff *skb; + struct can_rx_offload_cb *cb; + bool drop = false; + u32 timestamp; + + /* If queue is full drop frame */ + if (unlikely(skb_queue_len(&offload->skb_queue) > + offload->skb_queue_len_max)) + drop = true; + + skb = offload->mailbox_read(offload, n, ×tamp, drop); + /* Mailbox was empty. */ + if (unlikely(!skb)) + return NULL; + + /* There was a problem reading the mailbox, propagate + * error value. + */ + if (unlikely(IS_ERR(skb))) { + offload->dev->stats.rx_dropped++; + offload->dev->stats.rx_fifo_errors++; + + return skb; + } + + /* Mailbox was read. */ + cb = can_rx_offload_get_cb(skb); + cb->timestamp = timestamp; + + return skb; +} + +int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload, + u64 pending) +{ + struct sk_buff_head skb_queue; + unsigned int i; + + __skb_queue_head_init(&skb_queue); + + for (i = offload->mb_first; + can_rx_offload_le(offload, i, offload->mb_last); + can_rx_offload_inc(offload, &i)) { + struct sk_buff *skb; + + if (!(pending & BIT_ULL(i))) + continue; + + skb = can_rx_offload_offload_one(offload, i); + if (IS_ERR_OR_NULL(skb)) + continue; + + __skb_queue_add_sort(&skb_queue, skb, can_rx_offload_compare); + } + + if (!skb_queue_empty(&skb_queue)) { + unsigned long flags; + u32 queue_len; + + spin_lock_irqsave(&offload->skb_queue.lock, flags); + skb_queue_splice_tail(&skb_queue, &offload->skb_queue); + spin_unlock_irqrestore(&offload->skb_queue.lock, flags); + + queue_len = skb_queue_len(&offload->skb_queue); + if (queue_len > offload->skb_queue_len_max / 8) + netdev_dbg(offload->dev, "%s: queue_len=%d\n", + __func__, queue_len); + + can_rx_offload_schedule(offload); + } + + return skb_queue_len(&skb_queue); +} +EXPORT_SYMBOL_GPL(can_rx_offload_irq_offload_timestamp); + +int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload) +{ + struct sk_buff *skb; + int received = 0; + + while (1) { + skb = can_rx_offload_offload_one(offload, 0); + if (IS_ERR(skb)) + continue; + if (!skb) + break; + + skb_queue_tail(&offload->skb_queue, skb); + received++; + } + + if (received) + can_rx_offload_schedule(offload); + + return received; +} +EXPORT_SYMBOL_GPL(can_rx_offload_irq_offload_fifo); + +int can_rx_offload_queue_sorted(struct can_rx_offload *offload, + struct sk_buff *skb, u32 timestamp) +{ + struct can_rx_offload_cb *cb; + unsigned long flags; + + if (skb_queue_len(&offload->skb_queue) > + offload->skb_queue_len_max) { + dev_kfree_skb_any(skb); + return -ENOBUFS; + } + + cb = can_rx_offload_get_cb(skb); + cb->timestamp = timestamp; + + spin_lock_irqsave(&offload->skb_queue.lock, flags); + __skb_queue_add_sort(&offload->skb_queue, skb, can_rx_offload_compare); + spin_unlock_irqrestore(&offload->skb_queue.lock, flags); + + can_rx_offload_schedule(offload); + + return 0; +} +EXPORT_SYMBOL_GPL(can_rx_offload_queue_sorted); + +unsigned int can_rx_offload_get_echo_skb(struct can_rx_offload *offload, + unsigned int idx, u32 timestamp) +{ + struct net_device *dev = offload->dev; + struct net_device_stats *stats = &dev->stats; + struct sk_buff *skb; + u8 len; + int err; + + skb = __can_get_echo_skb(dev, idx, &len); + if (!skb) + return 0; + + err = can_rx_offload_queue_sorted(offload, skb, timestamp); + if (err) { + stats->rx_errors++; + stats->tx_fifo_errors++; + } + + return len; +} +EXPORT_SYMBOL_GPL(can_rx_offload_get_echo_skb); + +int can_rx_offload_queue_tail(struct can_rx_offload *offload, + struct sk_buff *skb) +{ + if (skb_queue_len(&offload->skb_queue) > + offload->skb_queue_len_max) { + dev_kfree_skb_any(skb); + return -ENOBUFS; + } + + skb_queue_tail(&offload->skb_queue, skb); + can_rx_offload_schedule(offload); + + return 0; +} +EXPORT_SYMBOL_GPL(can_rx_offload_queue_tail); + +static int can_rx_offload_init_queue(struct net_device *dev, + struct can_rx_offload *offload, + unsigned int weight) +{ + offload->dev = dev; + + /* Limit queue len to 4x the weight (rounted to next power of two) */ + offload->skb_queue_len_max = 2 << fls(weight); + offload->skb_queue_len_max *= 4; + skb_queue_head_init(&offload->skb_queue); + + netif_napi_add(dev, &offload->napi, can_rx_offload_napi_poll, weight); + + dev_dbg(dev->dev.parent, "%s: skb_queue_len_max=%d\n", + __func__, offload->skb_queue_len_max); + + return 0; +} + +int can_rx_offload_add_timestamp(struct net_device *dev, + struct can_rx_offload *offload) +{ + unsigned int weight; + + if (offload->mb_first > BITS_PER_LONG_LONG || + offload->mb_last > BITS_PER_LONG_LONG || !offload->mailbox_read) + return -EINVAL; + + if (offload->mb_first < offload->mb_last) { + offload->inc = true; + weight = offload->mb_last - offload->mb_first; + } else { + offload->inc = false; + weight = offload->mb_first - offload->mb_last; + } + + return can_rx_offload_init_queue(dev, offload, weight); +} +EXPORT_SYMBOL_GPL(can_rx_offload_add_timestamp); + +int can_rx_offload_add_fifo(struct net_device *dev, + struct can_rx_offload *offload, unsigned int weight) +{ + if (!offload->mailbox_read) + return -EINVAL; + + return can_rx_offload_init_queue(dev, offload, weight); +} +EXPORT_SYMBOL_GPL(can_rx_offload_add_fifo); + +void can_rx_offload_enable(struct can_rx_offload *offload) +{ + napi_enable(&offload->napi); +} +EXPORT_SYMBOL_GPL(can_rx_offload_enable); + +void can_rx_offload_del(struct can_rx_offload *offload) +{ + netif_napi_del(&offload->napi); + skb_queue_purge(&offload->skb_queue); +} +EXPORT_SYMBOL_GPL(can_rx_offload_del); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/flexcan.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/flexcan.c @@ -321,8 +321,7 @@ static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = { .quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | - FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE | - FLEXCAN_QUIRK_USE_OFF_TIMESTAMP, + FLEXCAN_QUIRK_BROKEN_PERR_STATE | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP, }; static const struct can_bittiming_const flexcan_bittiming_const = { @@ -545,11 +544,17 @@ static int flexcan_chip_freeze(struct flexcan_priv *priv) { struct flexcan_regs __iomem *regs = priv->regs; - unsigned int timeout = 1000 * 1000 * 10 / priv->can.bittiming.bitrate; + unsigned int timeout; + u32 bitrate = priv->can.bittiming.bitrate; u32 reg; + if (bitrate) + timeout = 1000 * 1000 * 10 / bitrate; + else + timeout = FLEXCAN_TIMEOUT_US / 10; + reg = priv->read(®s->mcr); - reg |= FLEXCAN_MCR_HALT; + reg |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT; priv->write(reg, ®s->mcr); while (timeout-- && !(priv->read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK)) @@ -615,8 +620,10 @@ int err; err = pm_runtime_get_sync(priv->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_noidle(priv->dev); return err; + } err = __flexcan_get_berr_counter(dev, bec); @@ -1083,10 +1090,13 @@ flexcan_set_bittiming(dev); + /* set freeze, halt */ + err = flexcan_chip_freeze(priv); + if (err) + goto out_chip_disable; + /* MCR * - * enable freeze - * halt now * only supervisor access * enable warning int * enable individual RX masking @@ -1095,9 +1105,8 @@ */ reg_mcr = priv->read(®s->mcr); reg_mcr &= ~FLEXCAN_MCR_MAXMB(0xff); - reg_mcr |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT | FLEXCAN_MCR_SUPV | - FLEXCAN_MCR_WRN_EN | FLEXCAN_MCR_IRMQ | FLEXCAN_MCR_IDAM_C | - FLEXCAN_MCR_MAXMB(priv->tx_mb_idx); + reg_mcr |= FLEXCAN_MCR_SUPV | FLEXCAN_MCR_WRN_EN | FLEXCAN_MCR_IRMQ | + FLEXCAN_MCR_IDAM_C | FLEXCAN_MCR_MAXMB(priv->tx_mb_idx); /* MCR * @@ -1228,14 +1237,10 @@ priv->write(reg_mecr, ®s->mecr); } - err = flexcan_transceiver_enable(priv); - if (err) - goto out_chip_disable; - /* synchronize with the can bus */ err = flexcan_chip_unfreeze(priv); if (err) - goto out_transceiver_disable; + goto out_chip_disable; priv->can.state = CAN_STATE_ERROR_ACTIVE; @@ -1253,25 +1258,28 @@ return 0; - out_transceiver_disable: - flexcan_transceiver_disable(priv); out_chip_disable: flexcan_chip_disable(priv); return err; } -/* flexcan_chip_stop +/* __flexcan_chip_stop * - * this functions is entered with clocks enabled + * this function is entered with clocks enabled */ -static void flexcan_chip_stop(struct net_device *dev) +static int __flexcan_chip_stop(struct net_device *dev, bool disable_on_error) { struct flexcan_priv *priv = netdev_priv(dev); struct flexcan_regs __iomem *regs = priv->regs; + int err; /* freeze + disable module */ - flexcan_chip_freeze(priv); - flexcan_chip_disable(priv); + err = flexcan_chip_freeze(priv); + if (err && !disable_on_error) + return err; + err = flexcan_chip_disable(priv); + if (err && !disable_on_error) + goto out_chip_unfreeze; /* Disable all interrupts */ priv->write(0, ®s->imask2); @@ -1279,8 +1287,24 @@ priv->write(priv->reg_ctrl_default & ~FLEXCAN_CTRL_ERR_ALL, ®s->ctrl); - flexcan_transceiver_disable(priv); priv->can.state = CAN_STATE_STOPPED; + + return 0; + + out_chip_unfreeze: + flexcan_chip_unfreeze(priv); + + return err; +} + +static inline int flexcan_chip_stop_disable_on_error(struct net_device *dev) +{ + return __flexcan_chip_stop(dev, true); +} + +static inline int flexcan_chip_stop(struct net_device *dev) +{ + return __flexcan_chip_stop(dev, false); } static int flexcan_open(struct net_device *dev) @@ -1289,17 +1313,23 @@ int err; err = pm_runtime_get_sync(priv->dev); - if (err < 0) + if (err < 0) { + pm_runtime_put_noidle(priv->dev); return err; + } err = open_candev(dev); if (err) goto out_runtime_put; - err = request_irq(dev->irq, flexcan_irq, IRQF_SHARED, dev->name, dev); + err = flexcan_transceiver_enable(priv); if (err) goto out_close; + err = request_irq(dev->irq, flexcan_irq, IRQF_SHARED, dev->name, dev); + if (err) + goto out_transceiver_disable; + priv->mb_size = sizeof(struct flexcan_mb) + CAN_MAX_DLEN; priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) + (sizeof(priv->regs->mb[1]) / priv->mb_size); @@ -1348,6 +1378,8 @@ can_rx_offload_del(&priv->offload); out_free_irq: free_irq(dev->irq, dev); + out_transceiver_disable: + flexcan_transceiver_disable(priv); out_close: close_candev(dev); out_runtime_put: @@ -1362,10 +1394,11 @@ netif_stop_queue(dev); can_rx_offload_disable(&priv->offload); - flexcan_chip_stop(dev); + flexcan_chip_stop_disable_on_error(dev); can_rx_offload_del(&priv->offload); free_irq(dev->irq, dev); + flexcan_transceiver_disable(priv); close_candev(dev); pm_runtime_put(priv->dev); @@ -1428,10 +1461,14 @@ if (err) goto out_chip_disable; - /* set freeze, halt and activate FIFO, restrict register access */ + /* set freeze, halt */ + err = flexcan_chip_freeze(priv); + if (err) + goto out_chip_disable; + + /* activate FIFO, restrict register access */ reg = priv->read(®s->mcr); - reg |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT | - FLEXCAN_MCR_FEN | FLEXCAN_MCR_SUPV; + reg |= FLEXCAN_MCR_FEN | FLEXCAN_MCR_SUPV; priv->write(reg, ®s->mcr); /* Currently we only support newer versions of this core @@ -1674,6 +1711,8 @@ { struct net_device *dev = platform_get_drvdata(pdev); + device_set_wakeup_enable(&pdev->dev, false); + device_set_wakeup_capable(&pdev->dev, false); unregister_flexcandev(dev); pm_runtime_disable(&pdev->dev); free_candev(dev); @@ -1700,8 +1739,6 @@ err = flexcan_chip_disable(priv); if (err) return err; - - err = pm_runtime_force_suspend(device); } netif_stop_queue(dev); netif_device_detach(dev); @@ -1727,10 +1764,6 @@ if (err) return err; } else { - err = pm_runtime_force_resume(device); - if (err) - return err; - err = flexcan_chip_enable(priv); } } @@ -1761,8 +1794,16 @@ struct net_device *dev = dev_get_drvdata(device); struct flexcan_priv *priv = netdev_priv(dev); - if (netif_running(dev) && device_may_wakeup(device)) - flexcan_enable_wakeup_irq(priv, true); + if (netif_running(dev)) { + int err; + + if (device_may_wakeup(device)) + flexcan_enable_wakeup_irq(priv, true); + + err = pm_runtime_force_suspend(device); + if (err) + return err; + } return 0; } @@ -1772,8 +1813,16 @@ struct net_device *dev = dev_get_drvdata(device); struct flexcan_priv *priv = netdev_priv(dev); - if (netif_running(dev) && device_may_wakeup(device)) - flexcan_enable_wakeup_irq(priv, false); + if (netif_running(dev)) { + int err; + + err = pm_runtime_force_resume(device); + if (err) + return err; + + if (device_may_wakeup(device)) + flexcan_enable_wakeup_irq(priv, false); + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/kvaser_pciefd.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/kvaser_pciefd.c @@ -57,6 +57,7 @@ #define KVASER_PCIEFD_KCAN_STAT_REG 0x418 #define KVASER_PCIEFD_KCAN_MODE_REG 0x41c #define KVASER_PCIEFD_KCAN_BTRN_REG 0x420 +#define KVASER_PCIEFD_KCAN_BUS_LOAD_REG 0x424 #define KVASER_PCIEFD_KCAN_BTRD_REG 0x428 #define KVASER_PCIEFD_KCAN_PWM_REG 0x430 /* Loopback control register */ @@ -287,12 +288,12 @@ static const struct can_bittiming_const kvaser_pciefd_bittiming_const = { .name = KVASER_PCIEFD_DRV_NAME, .tseg1_min = 1, - .tseg1_max = 255, + .tseg1_max = 512, .tseg2_min = 1, .tseg2_max = 32, .sjw_max = 16, .brp_min = 1, - .brp_max = 4096, + .brp_max = 8192, .brp_inc = 1, }; @@ -692,8 +693,10 @@ return err; err = kvaser_pciefd_bus_on(can); - if (err) + if (err) { + close_candev(netdev); return err; + } return 0; } @@ -947,6 +950,9 @@ timer_setup(&can->bec_poll_timer, kvaser_pciefd_bec_poll_timer, 0); + /* Disable Bus load reporting */ + iowrite32(0, can->reg_base + KVASER_PCIEFD_KCAN_BUS_LOAD_REG); + tx_npackets = ioread32(can->reg_base + KVASER_PCIEFD_KCAN_TX_NPACKETS_REG); if (((tx_npackets >> KVASER_PCIEFD_KCAN_TX_NPACKETS_MAX_SHIFT) & --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/m_can/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/can/m_can/Kconfig @@ -16,7 +16,8 @@ config CAN_M_CAN_TCAN4X5X depends on CAN_M_CAN - depends on REGMAP_SPI + depends on SPI + select REGMAP_SPI tristate "TCAN4X5X M_CAN device" help Say Y here if you want support for Texas Instruments TCAN4x5x --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/m_can/m_can.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/m_can/m_can.c @@ -380,10 +380,6 @@ cccr &= ~CCCR_CSR; if (enable) { - /* Clear the Clock stop request if it was set */ - if (cccr & CCCR_CSR) - cccr &= ~CCCR_CSR; - /* enable m_can configuration */ m_can_write(cdev, M_CAN_CCCR, cccr | CCCR_INIT); udelay(5); @@ -506,9 +502,6 @@ } while ((rxfs & RXFS_FFL_MASK) && (quota > 0)) { - if (rxfs & RXFS_RFL) - netdev_warn(dev, "Rx FIFO 0 Message Lost\n"); - m_can_read_fifo(dev, rxfs); quota--; @@ -665,7 +658,7 @@ unsigned int ecr; switch (new_state) { - case CAN_STATE_ERROR_ACTIVE: + case CAN_STATE_ERROR_WARNING: /* error warning state */ cdev->can.can_stats.error_warning++; cdev->can.state = CAN_STATE_ERROR_WARNING; @@ -694,7 +687,7 @@ __m_can_get_berr_counter(dev, &bec); switch (new_state) { - case CAN_STATE_ERROR_ACTIVE: + case CAN_STATE_ERROR_WARNING: /* error warning state */ cf->can_id |= CAN_ERR_CRTL; cf->data[1] = (bec.txerr > bec.rxerr) ? @@ -889,7 +882,7 @@ { struct m_can_classdev *cdev = netdev_priv(dev); - m_can_rx_handler(dev, 1); + m_can_rx_handler(dev, M_CAN_NAPI_WEIGHT); m_can_enable_all_interrupts(cdev); @@ -956,6 +949,8 @@ struct net_device_stats *stats = &dev->stats; u32 ir; + if (pm_runtime_suspended(cdev->dev)) + return IRQ_NONE; ir = m_can_read(cdev, M_CAN_IR); if (!ir) return IRQ_NONE; @@ -1031,7 +1026,7 @@ .name = KBUILD_MODNAME, .tseg1_min = 2, /* Time segment 1 = prop_seg + phase_seg1 */ .tseg1_max = 256, - .tseg2_min = 1, /* Time segment 2 = phase_seg2 */ + .tseg2_min = 2, /* Time segment 2 = phase_seg2 */ .tseg2_max = 128, .sjw_max = 128, .brp_min = 1, @@ -1383,6 +1378,8 @@ &m_can_data_bittiming_const_31X; break; case 32: + case 33: + /* Support both MCAN version v3.2.x and v3.3.0 */ m_can_dev->can.bittiming_const = m_can_dev->bit_timing ? m_can_dev->bit_timing : &m_can_bittiming_const_31X; @@ -1414,6 +1411,9 @@ /* disable all interrupts */ m_can_disable_all_interrupts(cdev); + /* Set init mode to disengage from the network */ + m_can_config_endisable(cdev, true); + /* set the state as STOPPED */ cdev->can.state = CAN_STATE_STOPPED; } @@ -1648,7 +1648,7 @@ INIT_WORK(&cdev->tx_work, m_can_tx_work_queue); err = request_threaded_irq(dev->irq, NULL, m_can_isr, - IRQF_ONESHOT | IRQF_TRIGGER_FALLING, + IRQF_ONESHOT, dev->name, dev); } else { err = request_irq(dev->irq, m_can_isr, IRQF_SHARED, dev->name, @@ -1812,6 +1812,12 @@ } EXPORT_SYMBOL_GPL(m_can_class_allocate_dev); +void m_can_class_free_dev(struct net_device *net) +{ + free_candev(net); +} +EXPORT_SYMBOL_GPL(m_can_class_free_dev); + int m_can_class_register(struct m_can_classdev *m_can_dev) { int ret; @@ -1850,7 +1856,6 @@ if (ret) { if (m_can_dev->pm_clock_support) pm_runtime_disable(m_can_dev->dev); - free_candev(m_can_dev->net); } return ret; @@ -1906,10 +1911,6 @@ void m_can_class_unregister(struct m_can_classdev *m_can_dev) { unregister_candev(m_can_dev->net); - - m_can_clk_stop(m_can_dev); - - free_candev(m_can_dev->net); } EXPORT_SYMBOL_GPL(m_can_class_unregister); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/m_can/m_can.h +++ linux-riscv-5.8-5.8.0/drivers/net/can/m_can/m_can.h @@ -99,6 +99,7 @@ }; struct m_can_classdev *m_can_class_allocate_dev(struct device *dev); +void m_can_class_free_dev(struct net_device *net); int m_can_class_register(struct m_can_classdev *cdev); void m_can_class_unregister(struct m_can_classdev *cdev); int m_can_class_get_clocks(struct m_can_classdev *cdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/m_can/m_can_platform.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/m_can/m_can_platform.c @@ -67,32 +67,36 @@ return -ENOMEM; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + if (!priv) { + ret = -ENOMEM; + goto probe_fail; + } mcan_class->device_data = priv; - m_can_class_get_clocks(mcan_class); + ret = m_can_class_get_clocks(mcan_class); + if (ret) + goto probe_fail; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "m_can"); addr = devm_ioremap_resource(&pdev->dev, res); irq = platform_get_irq_byname(pdev, "int0"); if (IS_ERR(addr) || irq < 0) { ret = -EINVAL; - goto failed_ret; + goto probe_fail; } /* message ram could be shared */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "message_ram"); if (!res) { ret = -ENODEV; - goto failed_ret; + goto probe_fail; } mram_addr = devm_ioremap(&pdev->dev, res->start, resource_size(res)); if (!mram_addr) { ret = -ENOMEM; - goto failed_ret; + goto probe_fail; } priv->base = addr; @@ -111,9 +115,10 @@ m_can_init_ram(mcan_class); - ret = m_can_class_register(mcan_class); + return m_can_class_register(mcan_class); -failed_ret: +probe_fail: + m_can_class_free_dev(mcan_class->net); return ret; } @@ -134,6 +139,8 @@ m_can_class_unregister(mcan_class); + m_can_class_free_dev(mcan_class->net); + platform_set_drvdata(pdev, NULL); return 0; @@ -144,8 +151,6 @@ struct net_device *ndev = dev_get_drvdata(dev); struct m_can_classdev *mcan_class = netdev_priv(ndev); - m_can_class_suspend(dev); - clk_disable_unprepare(mcan_class->cclk); clk_disable_unprepare(mcan_class->hclk); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/m_can/tcan4x5x.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/m_can/tcan4x5x.c @@ -88,7 +88,7 @@ #define TCAN4X5X_MRAM_START 0x8000 #define TCAN4X5X_MCAN_OFFSET 0x1000 -#define TCAN4X5X_MAX_REGISTER 0x8fff +#define TCAN4X5X_MAX_REGISTER 0x8ffc #define TCAN4X5X_CLEAR_ALL_INT 0xffffffff #define TCAN4X5X_SET_ALL_INT 0xffffffff @@ -129,30 +129,6 @@ int reg_offset; }; -static struct can_bittiming_const tcan4x5x_bittiming_const = { - .name = DEVICE_NAME, - .tseg1_min = 2, - .tseg1_max = 31, - .tseg2_min = 2, - .tseg2_max = 16, - .sjw_max = 16, - .brp_min = 1, - .brp_max = 32, - .brp_inc = 1, -}; - -static struct can_bittiming_const tcan4x5x_data_bittiming_const = { - .name = DEVICE_NAME, - .tseg1_min = 1, - .tseg1_max = 32, - .tseg2_min = 1, - .tseg2_max = 16, - .sjw_max = 16, - .brp_min = 1, - .brp_max = 32, - .brp_inc = 1, -}; - static void tcan4x5x_check_wake(struct tcan4x5x_priv *priv) { int wake_state = 0; @@ -352,14 +328,14 @@ if (ret) return ret; + /* Zero out the MCAN buffers */ + m_can_init_ram(cdev); + ret = regmap_update_bits(tcan4x5x->regmap, TCAN4X5X_CONFIG, TCAN4X5X_MODE_SEL_MASK, TCAN4X5X_MODE_NORMAL); if (ret) return ret; - /* Zero out the MCAN buffers */ - m_can_init_ram(cdev); - return ret; } @@ -440,14 +416,18 @@ return -ENOMEM; priv = devm_kzalloc(&spi->dev, sizeof(*priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + if (!priv) { + ret = -ENOMEM; + goto out_m_can_class_free_dev; + } priv->power = devm_regulator_get_optional(&spi->dev, "vsup"); - if (PTR_ERR(priv->power) == -EPROBE_DEFER) - return -EPROBE_DEFER; - else + if (PTR_ERR(priv->power) == -EPROBE_DEFER) { + ret = -EPROBE_DEFER; + goto out_m_can_class_free_dev; + } else { priv->power = NULL; + } mcan_class->device_data = priv; @@ -460,8 +440,10 @@ } /* Sanity check */ - if (freq < 20000000 || freq > TCAN4X5X_EXT_CLK_DEF) - return -ERANGE; + if (freq < 20000000 || freq > TCAN4X5X_EXT_CLK_DEF) { + ret = -ERANGE; + goto out_m_can_class_free_dev; + } priv->reg_offset = TCAN4X5X_MCAN_OFFSET; priv->mram_start = TCAN4X5X_MRAM_START; @@ -473,8 +455,6 @@ mcan_class->dev = &spi->dev; mcan_class->ops = &tcan4x5x_ops; mcan_class->is_peripheral = true; - mcan_class->bit_timing = &tcan4x5x_bittiming_const; - mcan_class->data_timing = &tcan4x5x_data_bittiming_const; mcan_class->net->irq = spi->irq; spi_set_drvdata(spi, priv); @@ -483,14 +463,18 @@ spi->bits_per_word = 32; ret = spi_setup(spi); if (ret) - goto out_clk; + goto out_m_can_class_free_dev; priv->regmap = devm_regmap_init(&spi->dev, &tcan4x5x_bus, &spi->dev, &tcan4x5x_regmap); + if (IS_ERR(priv->regmap)) { + ret = PTR_ERR(priv->regmap); + goto out_m_can_class_free_dev; + } ret = tcan4x5x_power_enable(priv->power, 1); if (ret) - goto out_clk; + goto out_m_can_class_free_dev; ret = tcan4x5x_parse_config(mcan_class); if (ret) @@ -509,13 +493,10 @@ out_power: tcan4x5x_power_enable(priv->power, 0); -out_clk: - if (!IS_ERR(mcan_class->cclk)) { - clk_disable_unprepare(mcan_class->cclk); - clk_disable_unprepare(mcan_class->hclk); - } - + out_m_can_class_free_dev: + m_can_class_free_dev(mcan_class->net); dev_err(&spi->dev, "Probe failed, err=%d\n", ret); + return ret; } @@ -523,9 +504,11 @@ { struct tcan4x5x_priv *priv = spi_get_drvdata(spi); + m_can_class_unregister(priv->mcan_dev); + tcan4x5x_power_enable(priv->power, 0); - m_can_class_unregister(priv->mcan_dev); + m_can_class_free_dev(priv->mcan_dev->net); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/peak_canfd/peak_canfd.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/peak_canfd/peak_canfd.c @@ -262,8 +262,7 @@ cf_len = get_can_dlc(pucan_msg_get_dlc(msg)); /* if this frame is an echo, */ - if ((rx_msg_flags & PUCAN_MSG_LOOPED_BACK) && - !(rx_msg_flags & PUCAN_MSG_SELF_RECEIVE)) { + if (rx_msg_flags & PUCAN_MSG_LOOPED_BACK) { unsigned long flags; spin_lock_irqsave(&priv->echo_lock, flags); @@ -277,7 +276,13 @@ netif_wake_queue(priv->ndev); spin_unlock_irqrestore(&priv->echo_lock, flags); - return 0; + + /* if this frame is only an echo, stop here. Otherwise, + * continue to push this application self-received frame into + * its own rx queue. + */ + if (!(rx_msg_flags & PUCAN_MSG_SELF_RECEIVE)) + return 0; } /* otherwise, it should be pushed into rx fifo */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/sja1000/sja1000.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/sja1000/sja1000.c @@ -474,7 +474,6 @@ netdev_dbg(dev, "arbitration lost interrupt\n"); alc = priv->read_reg(priv, SJA1000_ALC); priv->can.can_stats.arbitration_lost++; - stats->tx_errors++; cf->can_id |= CAN_ERR_LOSTARB; cf->data[0] = alc & 0x1f; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/slcan.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/slcan.c @@ -516,6 +516,7 @@ int i; char name[IFNAMSIZ]; struct net_device *dev = NULL; + struct can_ml_priv *can_ml; struct slcan *sl; int size; @@ -538,7 +539,8 @@ dev->base_addr = i; sl = netdev_priv(dev); - dev->ml_priv = (void *)sl + ALIGN(sizeof(*sl), NETDEV_ALIGN); + can_ml = (void *)sl + ALIGN(sizeof(*sl), NETDEV_ALIGN); + can_set_ml_priv(dev, can_ml); /* Initialize channel control data */ sl->magic = SLCAN_MAGIC; --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/softing/softing_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/softing/softing_main.c @@ -382,8 +382,13 @@ /* check or determine and set bittime */ ret = open_candev(ndev); - if (!ret) - ret = softing_startstop(ndev, 1); + if (ret) + return ret; + + ret = softing_startstop(ndev, 1); + if (ret < 0) + close_candev(ndev); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/sun4i_can.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/sun4i_can.c @@ -604,7 +604,6 @@ netdev_dbg(dev, "arbitration lost interrupt\n"); alc = readl(priv->base + SUN4I_REG_STA_ADDR); priv->can.can_stats.arbitration_lost++; - stats->tx_errors++; if (likely(skb)) { cf->can_id |= CAN_ERR_LOSTARB; cf->data[0] = (alc >> 8) & 0x1f; --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/ti_hecc.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/ti_hecc.c @@ -887,7 +887,8 @@ priv->base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(priv->base)) { dev_err(&pdev->dev, "hecc ioremap failed\n"); - return PTR_ERR(priv->base); + err = PTR_ERR(priv->base); + goto probe_exit_candev; } /* handle hecc-ram memory */ @@ -900,7 +901,8 @@ priv->hecc_ram = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(priv->hecc_ram)) { dev_err(&pdev->dev, "hecc-ram ioremap failed\n"); - return PTR_ERR(priv->hecc_ram); + err = PTR_ERR(priv->hecc_ram); + goto probe_exit_candev; } /* handle mbx memory */ @@ -913,13 +915,14 @@ priv->mbx = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(priv->mbx)) { dev_err(&pdev->dev, "mbx ioremap failed\n"); - return PTR_ERR(priv->mbx); + err = PTR_ERR(priv->mbx); + goto probe_exit_candev; } irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); if (!irq) { dev_err(&pdev->dev, "No irq resource\n"); - goto probe_exit; + goto probe_exit_candev; } priv->ndev = ndev; @@ -950,7 +953,7 @@ err = clk_prepare_enable(priv->clk); if (err) { dev_err(&pdev->dev, "clk_prepare_enable() failed\n"); - goto probe_exit_clk; + goto probe_exit_release_clk; } priv->offload.mailbox_read = ti_hecc_mailbox_read; @@ -959,7 +962,7 @@ err = can_rx_offload_add_timestamp(ndev, &priv->offload); if (err) { dev_err(&pdev->dev, "can_rx_offload_add_timestamp() failed\n"); - goto probe_exit_clk; + goto probe_exit_disable_clk; } err = register_candev(ndev); @@ -977,11 +980,13 @@ probe_exit_offload: can_rx_offload_del(&priv->offload); -probe_exit_clk: +probe_exit_disable_clk: + clk_disable_unprepare(priv->clk); +probe_exit_release_clk: clk_put(priv->clk); probe_exit_candev: free_candev(ndev); -probe_exit: + return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/usb/gs_usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/usb/gs_usb.c @@ -63,21 +63,27 @@ }; /* data types passed between host and device */ + +/* The firmware on the original USB2CAN by Geschwister Schneider + * Technologie Entwicklungs- und Vertriebs UG exchanges all data + * between the host and the device in host byte order. This is done + * with the struct gs_host_config::byte_order member, which is sent + * first to indicate the desired byte order. + * + * The widely used open source firmware candleLight doesn't support + * this feature and exchanges the data in little endian byte order. + */ struct gs_host_config { - u32 byte_order; + __le32 byte_order; } __packed; -/* All data exchanged between host and device is exchanged in host byte order, - * thanks to the struct gs_host_config byte_order member, which is sent first - * to indicate the desired byte order. - */ struct gs_device_config { u8 reserved1; u8 reserved2; u8 reserved3; u8 icount; - u32 sw_version; - u32 hw_version; + __le32 sw_version; + __le32 hw_version; } __packed; #define GS_CAN_MODE_NORMAL 0 @@ -87,26 +93,26 @@ #define GS_CAN_MODE_ONE_SHOT BIT(3) struct gs_device_mode { - u32 mode; - u32 flags; + __le32 mode; + __le32 flags; } __packed; struct gs_device_state { - u32 state; - u32 rxerr; - u32 txerr; + __le32 state; + __le32 rxerr; + __le32 txerr; } __packed; struct gs_device_bittiming { - u32 prop_seg; - u32 phase_seg1; - u32 phase_seg2; - u32 sjw; - u32 brp; + __le32 prop_seg; + __le32 phase_seg1; + __le32 phase_seg2; + __le32 sjw; + __le32 brp; } __packed; struct gs_identify_mode { - u32 mode; + __le32 mode; } __packed; #define GS_CAN_FEATURE_LISTEN_ONLY BIT(0) @@ -117,23 +123,23 @@ #define GS_CAN_FEATURE_IDENTIFY BIT(5) struct gs_device_bt_const { - u32 feature; - u32 fclk_can; - u32 tseg1_min; - u32 tseg1_max; - u32 tseg2_min; - u32 tseg2_max; - u32 sjw_max; - u32 brp_min; - u32 brp_max; - u32 brp_inc; + __le32 feature; + __le32 fclk_can; + __le32 tseg1_min; + __le32 tseg1_max; + __le32 tseg2_min; + __le32 tseg2_max; + __le32 sjw_max; + __le32 brp_min; + __le32 brp_max; + __le32 brp_inc; } __packed; #define GS_CAN_FLAG_OVERFLOW 1 struct gs_host_frame { u32 echo_id; - u32 can_id; + __le32 can_id; u8 can_dlc; u8 channel; @@ -329,13 +335,13 @@ if (!skb) return; - cf->can_id = hf->can_id; + cf->can_id = le32_to_cpu(hf->can_id); cf->can_dlc = get_can_dlc(hf->can_dlc); memcpy(cf->data, hf->data, 8); /* ERROR frames tell us information about the controller */ - if (hf->can_id & CAN_ERR_FLAG) + if (le32_to_cpu(hf->can_id) & CAN_ERR_FLAG) gs_update_state(dev, cf); netdev->stats.rx_packets++; @@ -418,11 +424,11 @@ if (!dbt) return -ENOMEM; - dbt->prop_seg = bt->prop_seg; - dbt->phase_seg1 = bt->phase_seg1; - dbt->phase_seg2 = bt->phase_seg2; - dbt->sjw = bt->sjw; - dbt->brp = bt->brp; + dbt->prop_seg = cpu_to_le32(bt->prop_seg); + dbt->phase_seg1 = cpu_to_le32(bt->phase_seg1); + dbt->phase_seg2 = cpu_to_le32(bt->phase_seg2); + dbt->sjw = cpu_to_le32(bt->sjw); + dbt->brp = cpu_to_le32(bt->brp); /* request bit timings */ rc = usb_control_msg(interface_to_usbdev(intf), @@ -503,7 +509,7 @@ cf = (struct can_frame *)skb->data; - hf->can_id = cf->can_id; + hf->can_id = cpu_to_le32(cf->can_id); hf->can_dlc = cf->can_dlc; memcpy(hf->data, cf->data, cf->can_dlc); @@ -573,6 +579,7 @@ int rc, i; struct gs_device_mode *dm; u32 ctrlmode; + u32 flags = 0; rc = open_candev(netdev); if (rc) @@ -640,24 +647,24 @@ /* flags */ ctrlmode = dev->can.ctrlmode; - dm->flags = 0; if (ctrlmode & CAN_CTRLMODE_LOOPBACK) - dm->flags |= GS_CAN_MODE_LOOP_BACK; + flags |= GS_CAN_MODE_LOOP_BACK; else if (ctrlmode & CAN_CTRLMODE_LISTENONLY) - dm->flags |= GS_CAN_MODE_LISTEN_ONLY; + flags |= GS_CAN_MODE_LISTEN_ONLY; /* Controller is not allowed to retry TX * this mode is unavailable on atmels uc3c hardware */ if (ctrlmode & CAN_CTRLMODE_ONE_SHOT) - dm->flags |= GS_CAN_MODE_ONE_SHOT; + flags |= GS_CAN_MODE_ONE_SHOT; if (ctrlmode & CAN_CTRLMODE_3_SAMPLES) - dm->flags |= GS_CAN_MODE_TRIPLE_SAMPLE; + flags |= GS_CAN_MODE_TRIPLE_SAMPLE; /* finally start device */ - dm->mode = GS_CAN_MODE_START; + dm->mode = cpu_to_le32(GS_CAN_MODE_START); + dm->flags = cpu_to_le32(flags); rc = usb_control_msg(interface_to_usbdev(dev->iface), usb_sndctrlpipe(interface_to_usbdev(dev->iface), 0), GS_USB_BREQ_MODE, @@ -737,9 +744,9 @@ return -ENOMEM; if (do_identify) - imode->mode = GS_CAN_IDENTIFY_ON; + imode->mode = cpu_to_le32(GS_CAN_IDENTIFY_ON); else - imode->mode = GS_CAN_IDENTIFY_OFF; + imode->mode = cpu_to_le32(GS_CAN_IDENTIFY_OFF); rc = usb_control_msg(interface_to_usbdev(dev->iface), usb_sndctrlpipe(interface_to_usbdev(dev->iface), @@ -790,6 +797,7 @@ struct net_device *netdev; int rc; struct gs_device_bt_const *bt_const; + u32 feature; bt_const = kmalloc(sizeof(*bt_const), GFP_KERNEL); if (!bt_const) @@ -830,14 +838,14 @@ /* dev settup */ strcpy(dev->bt_const.name, "gs_usb"); - dev->bt_const.tseg1_min = bt_const->tseg1_min; - dev->bt_const.tseg1_max = bt_const->tseg1_max; - dev->bt_const.tseg2_min = bt_const->tseg2_min; - dev->bt_const.tseg2_max = bt_const->tseg2_max; - dev->bt_const.sjw_max = bt_const->sjw_max; - dev->bt_const.brp_min = bt_const->brp_min; - dev->bt_const.brp_max = bt_const->brp_max; - dev->bt_const.brp_inc = bt_const->brp_inc; + dev->bt_const.tseg1_min = le32_to_cpu(bt_const->tseg1_min); + dev->bt_const.tseg1_max = le32_to_cpu(bt_const->tseg1_max); + dev->bt_const.tseg2_min = le32_to_cpu(bt_const->tseg2_min); + dev->bt_const.tseg2_max = le32_to_cpu(bt_const->tseg2_max); + dev->bt_const.sjw_max = le32_to_cpu(bt_const->sjw_max); + dev->bt_const.brp_min = le32_to_cpu(bt_const->brp_min); + dev->bt_const.brp_max = le32_to_cpu(bt_const->brp_max); + dev->bt_const.brp_inc = le32_to_cpu(bt_const->brp_inc); dev->udev = interface_to_usbdev(intf); dev->iface = intf; @@ -854,28 +862,29 @@ /* can settup */ dev->can.state = CAN_STATE_STOPPED; - dev->can.clock.freq = bt_const->fclk_can; + dev->can.clock.freq = le32_to_cpu(bt_const->fclk_can); dev->can.bittiming_const = &dev->bt_const; dev->can.do_set_bittiming = gs_usb_set_bittiming; dev->can.ctrlmode_supported = 0; - if (bt_const->feature & GS_CAN_FEATURE_LISTEN_ONLY) + feature = le32_to_cpu(bt_const->feature); + if (feature & GS_CAN_FEATURE_LISTEN_ONLY) dev->can.ctrlmode_supported |= CAN_CTRLMODE_LISTENONLY; - if (bt_const->feature & GS_CAN_FEATURE_LOOP_BACK) + if (feature & GS_CAN_FEATURE_LOOP_BACK) dev->can.ctrlmode_supported |= CAN_CTRLMODE_LOOPBACK; - if (bt_const->feature & GS_CAN_FEATURE_TRIPLE_SAMPLE) + if (feature & GS_CAN_FEATURE_TRIPLE_SAMPLE) dev->can.ctrlmode_supported |= CAN_CTRLMODE_3_SAMPLES; - if (bt_const->feature & GS_CAN_FEATURE_ONE_SHOT) + if (feature & GS_CAN_FEATURE_ONE_SHOT) dev->can.ctrlmode_supported |= CAN_CTRLMODE_ONE_SHOT; SET_NETDEV_DEV(netdev, &intf->dev); - if (dconf->sw_version > 1) - if (bt_const->feature & GS_CAN_FEATURE_IDENTIFY) + if (le32_to_cpu(dconf->sw_version) > 1) + if (feature & GS_CAN_FEATURE_IDENTIFY) netdev->ethtool_ops = &gs_usb_ethtool_ops; kfree(bt_const); @@ -910,7 +919,7 @@ if (!hconf) return -ENOMEM; - hconf->byte_order = 0x0000beef; + hconf->byte_order = cpu_to_le32(0x0000beef); /* send host config */ rc = usb_control_msg(interface_to_usbdev(intf), --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c @@ -367,7 +367,7 @@ .tseg2_max = 32, .sjw_max = 16, .brp_min = 1, - .brp_max = 4096, + .brp_max = 8192, .brp_inc = 1, }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/usb/mcba_usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/usb/mcba_usb.c @@ -326,8 +326,6 @@ if (!ctx) return NETDEV_TX_BUSY; - can_put_echo_skb(skb, priv->netdev, ctx->ndx); - if (cf->can_id & CAN_EFF_FLAG) { /* SIDH | SIDL | EIDH | EIDL * 28 - 21 | 20 19 18 x x x 17 16 | 15 - 8 | 7 - 0 @@ -357,6 +355,8 @@ if (cf->can_id & CAN_RTR_FLAG) usb_msg.dlc |= MCBA_DLC_RTR_MASK; + can_put_echo_skb(skb, priv->netdev, ctx->ndx); + err = mcba_usb_xmit(priv, (struct mcba_usb_msg *)&usb_msg, ctx); if (err) goto xmit_failed; --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/usb/peak_usb/pcan_usb_core.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/usb/peak_usb/pcan_usb_core.c @@ -130,14 +130,55 @@ /* protect from getting time before setting now */ if (ktime_to_ns(time_ref->tv_host)) { u64 delta_us; + s64 delta_ts = 0; - delta_us = ts - time_ref->ts_dev_2; - if (ts < time_ref->ts_dev_2) - delta_us &= (1 << time_ref->adapter->ts_used_bits) - 1; + /* General case: dev_ts_1 < dev_ts_2 < ts, with: + * + * - dev_ts_1 = previous sync timestamp + * - dev_ts_2 = last sync timestamp + * - ts = event timestamp + * - ts_period = known sync period (theoretical) + * ~ dev_ts2 - dev_ts1 + * *but*: + * + * - time counters wrap (see adapter->ts_used_bits) + * - sometimes, dev_ts_1 < ts < dev_ts2 + * + * "normal" case (sync time counters increase): + * must take into account case when ts wraps (tsw) + * + * < ts_period > < > + * | | | + * ---+--------+----+-------0-+--+--> + * ts_dev_1 | ts_dev_2 | + * ts tsw + */ + if (time_ref->ts_dev_1 < time_ref->ts_dev_2) { + /* case when event time (tsw) wraps */ + if (ts < time_ref->ts_dev_1) + delta_ts = BIT_ULL(time_ref->adapter->ts_used_bits); + + /* Otherwise, sync time counter (ts_dev_2) has wrapped: + * handle case when event time (tsn) hasn't. + * + * < ts_period > < > + * | | | + * ---+--------+--0-+---------+--+--> + * ts_dev_1 | ts_dev_2 | + * tsn ts + */ + } else if (time_ref->ts_dev_1 < ts) { + delta_ts = -BIT_ULL(time_ref->adapter->ts_used_bits); + } + + /* add delay between last sync and event timestamps */ + delta_ts += (signed int)(ts - time_ref->ts_dev_2); - delta_us += time_ref->ts_total; + /* add time from beginning to last sync */ + delta_ts += time_ref->ts_total; - delta_us *= time_ref->adapter->us_per_ts_scale; + /* convert ticks number into microseconds */ + delta_us = delta_ts * time_ref->adapter->us_per_ts_scale; delta_us >>= time_ref->adapter->us_per_ts_shift; *time = ktime_add_us(time_ref->tv_host_0, delta_us); @@ -815,7 +856,7 @@ if (dev->adapter->dev_set_bus) { err = dev->adapter->dev_set_bus(dev, 0); if (err) - goto lbl_unregister_candev; + goto adap_dev_free; } /* get device number early */ @@ -827,6 +868,10 @@ return 0; +adap_dev_free: + if (dev->adapter->dev_free) + dev->adapter->dev_free(dev); + lbl_unregister_candev: unregister_candev(netdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/usb/peak_usb/pcan_usb_fd.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/usb/peak_usb/pcan_usb_fd.c @@ -468,12 +468,18 @@ struct pucan_msg *rx_msg) { struct pucan_rx_msg *rm = (struct pucan_rx_msg *)rx_msg; - struct peak_usb_device *dev = usb_if->dev[pucan_msg_get_channel(rm)]; - struct net_device *netdev = dev->netdev; + struct peak_usb_device *dev; + struct net_device *netdev; struct canfd_frame *cfd; struct sk_buff *skb; const u16 rx_msg_flags = le16_to_cpu(rm->flags); + if (pucan_msg_get_channel(rm) >= ARRAY_SIZE(usb_if->dev)) + return -ENOMEM; + + dev = usb_if->dev[pucan_msg_get_channel(rm)]; + netdev = dev->netdev; + if (rx_msg_flags & PUCAN_MSG_EXT_DATA_LEN) { /* CANFD frame case */ skb = alloc_canfd_skb(netdev, &cfd); @@ -506,11 +512,11 @@ else memcpy(cfd->data, rm->d, cfd->len); - peak_usb_netif_rx(skb, &usb_if->time_ref, le32_to_cpu(rm->ts_low)); - netdev->stats.rx_packets++; netdev->stats.rx_bytes += cfd->len; + peak_usb_netif_rx(skb, &usb_if->time_ref, le32_to_cpu(rm->ts_low)); + return 0; } @@ -519,15 +525,21 @@ struct pucan_msg *rx_msg) { struct pucan_status_msg *sm = (struct pucan_status_msg *)rx_msg; - struct peak_usb_device *dev = usb_if->dev[pucan_stmsg_get_channel(sm)]; - struct pcan_usb_fd_device *pdev = - container_of(dev, struct pcan_usb_fd_device, dev); + struct pcan_usb_fd_device *pdev; enum can_state new_state = CAN_STATE_ERROR_ACTIVE; enum can_state rx_state, tx_state; - struct net_device *netdev = dev->netdev; + struct peak_usb_device *dev; + struct net_device *netdev; struct can_frame *cf; struct sk_buff *skb; + if (pucan_stmsg_get_channel(sm) >= ARRAY_SIZE(usb_if->dev)) + return -ENOMEM; + + dev = usb_if->dev[pucan_stmsg_get_channel(sm)]; + pdev = container_of(dev, struct pcan_usb_fd_device, dev); + netdev = dev->netdev; + /* nothing should be sent while in BUS_OFF state */ if (dev->can.state == CAN_STATE_BUS_OFF) return 0; @@ -566,11 +578,11 @@ if (!skb) return -ENOMEM; - peak_usb_netif_rx(skb, &usb_if->time_ref, le32_to_cpu(sm->ts_low)); - netdev->stats.rx_packets++; netdev->stats.rx_bytes += cf->can_dlc; + peak_usb_netif_rx(skb, &usb_if->time_ref, le32_to_cpu(sm->ts_low)); + return 0; } @@ -579,9 +591,14 @@ struct pucan_msg *rx_msg) { struct pucan_error_msg *er = (struct pucan_error_msg *)rx_msg; - struct peak_usb_device *dev = usb_if->dev[pucan_ermsg_get_channel(er)]; - struct pcan_usb_fd_device *pdev = - container_of(dev, struct pcan_usb_fd_device, dev); + struct pcan_usb_fd_device *pdev; + struct peak_usb_device *dev; + + if (pucan_ermsg_get_channel(er) >= ARRAY_SIZE(usb_if->dev)) + return -EINVAL; + + dev = usb_if->dev[pucan_ermsg_get_channel(er)]; + pdev = container_of(dev, struct pcan_usb_fd_device, dev); /* keep a trace of tx and rx error counters for later use */ pdev->bec.txerr = er->tx_err_cnt; @@ -595,11 +612,17 @@ struct pucan_msg *rx_msg) { struct pcan_ufd_ovr_msg *ov = (struct pcan_ufd_ovr_msg *)rx_msg; - struct peak_usb_device *dev = usb_if->dev[pufd_omsg_get_channel(ov)]; - struct net_device *netdev = dev->netdev; + struct peak_usb_device *dev; + struct net_device *netdev; struct can_frame *cf; struct sk_buff *skb; + if (pufd_omsg_get_channel(ov) >= ARRAY_SIZE(usb_if->dev)) + return -EINVAL; + + dev = usb_if->dev[pufd_omsg_get_channel(ov)]; + netdev = dev->netdev; + /* allocate an skb to store the error frame */ skb = alloc_can_err_skb(netdev, &cf); if (!skb) @@ -716,6 +739,9 @@ u16 tx_msg_size, tx_msg_flags; u8 can_dlc; + if (cfd->len > CANFD_MAX_DLEN) + return -EINVAL; + tx_msg_size = ALIGN(sizeof(struct pucan_tx_msg) + cfd->len, 4); tx_msg->size = cpu_to_le16(tx_msg_size); tx_msg->type = cpu_to_le16(PUCAN_MSG_CAN_TX); --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/vcan.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/vcan.c @@ -153,7 +153,7 @@ dev->addr_len = 0; dev->tx_queue_len = 0; dev->flags = IFF_NOARP; - dev->ml_priv = netdev_priv(dev); + can_set_ml_priv(dev, netdev_priv(dev)); /* set flags according to driver capabilities */ if (echo) --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/vxcan.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/vxcan.c @@ -39,6 +39,7 @@ struct net_device *peer; struct canfd_frame *cfd = (struct canfd_frame *)skb->data; struct net_device_stats *peerstats, *srcstats = &dev->stats; + u8 len; if (can_dropped_invalid_skb(dev, skb)) return NETDEV_TX_OK; @@ -61,12 +62,13 @@ skb->dev = peer; skb->ip_summed = CHECKSUM_UNNECESSARY; + len = cfd->len; if (netif_rx_ni(skb) == NET_RX_SUCCESS) { srcstats->tx_packets++; - srcstats->tx_bytes += cfd->len; + srcstats->tx_bytes += len; peerstats = &peer->stats; peerstats->rx_packets++; - peerstats->rx_bytes += cfd->len; + peerstats->rx_bytes += len; } out_unlock: @@ -139,6 +141,8 @@ static void vxcan_setup(struct net_device *dev) { + struct can_ml_priv *can_ml; + dev->type = ARPHRD_CAN; dev->mtu = CANFD_MTU; dev->hard_header_len = 0; @@ -147,7 +151,9 @@ dev->flags = (IFF_NOARP|IFF_ECHO); dev->netdev_ops = &vxcan_netdev_ops; dev->needs_free_netdev = true; - dev->ml_priv = netdev_priv(dev) + ALIGN(sizeof(struct vxcan_priv), NETDEV_ALIGN); + + can_ml = netdev_priv(dev) + ALIGN(sizeof(struct vxcan_priv), NETDEV_ALIGN); + can_set_ml_priv(dev, can_ml); } /* forward declaration for rtnl_create_link() */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/can/xilinx_can.c +++ linux-riscv-5.8-5.8.0/drivers/net/can/xilinx_can.c @@ -1391,7 +1391,7 @@ if (ret < 0) { netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n", __func__, ret); - return ret; + goto err; } ret = request_irq(ndev->irq, xcan_interrupt, priv->irq_flags, @@ -1475,6 +1475,7 @@ if (ret < 0) { netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n", __func__, ret); + pm_runtime_put(priv->dev); return ret; } @@ -1789,7 +1790,7 @@ if (ret < 0) { netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n", __func__, ret); - goto err_pmdisable; + goto err_disableclks; } if (priv->read_reg(priv, XCAN_SR_OFFSET) != XCAN_SR_CONFIG_MASK) { @@ -1824,7 +1825,6 @@ err_disableclks: pm_runtime_put(priv->dev); -err_pmdisable: pm_runtime_disable(&pdev->dev); err_free: free_candev(ndev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/b53/b53_common.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/b53/b53_common.c @@ -512,6 +512,19 @@ } EXPORT_SYMBOL(b53_imp_vlan_setup); +static void b53_port_set_learning(struct b53_device *dev, int port, + bool learning) +{ + u16 reg; + + b53_read16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, ®); + if (learning) + reg &= ~BIT(port); + else + reg |= BIT(port); + b53_write16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, reg); +} + int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy) { struct b53_device *dev = ds->priv; @@ -525,6 +538,7 @@ cpu_port = dsa_to_port(ds, port)->cpu_dp->index; b53_br_egress_floods(ds, port, true, true); + b53_port_set_learning(dev, port, false); if (dev->ops->irq_enable) ret = dev->ops->irq_enable(dev, port); @@ -658,6 +672,7 @@ b53_brcm_hdr_setup(dev->ds, port); b53_br_egress_floods(dev->ds, port, true, true); + b53_port_set_learning(dev, port, false); } static void b53_enable_mib(struct b53_device *dev) @@ -1004,13 +1019,6 @@ b53_disable_port(ds, port); } - /* Let DSA handle the case were multiple bridges span the same switch - * device and different VLAN awareness settings are requested, which - * would be breaking filtering semantics for any of the other bridge - * devices. (not hardware supported) - */ - ds->vlan_filtering_is_global = true; - return ret; } @@ -1362,7 +1370,7 @@ !(vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED)) return -EINVAL; - if (vlan->vid_end > dev->num_vlans) + if (vlan->vid_end >= dev->num_vlans) return -ERANGE; b53_enable_vlan(dev, true, ds->vlan_filtering); @@ -1555,6 +1563,8 @@ return ret; switch (ret) { + case -ETIMEDOUT: + return ret; case -ENOSPC: dev_dbg(dev->dev, "{%pM,%.4d} no space left in ARL\n", addr, vid); @@ -1795,6 +1805,8 @@ b53_write16(dev, B53_PVLAN_PAGE, B53_PVLAN_PORT_MASK(port), pvlan); dev->ports[port].vlan_ctl_mask = pvlan; + b53_port_set_learning(dev, port, true); + return 0; } EXPORT_SYMBOL(b53_br_join); @@ -1842,6 +1854,7 @@ vl->untag |= BIT(port) | BIT(cpu_port); b53_set_vlan_entry(dev, pvid, vl); } + b53_port_set_learning(dev, port, false); } EXPORT_SYMBOL(b53_br_leave); @@ -2561,6 +2574,13 @@ dev->priv = priv; dev->ops = ops; ds->ops = &b53_switch_ops; + /* Let DSA handle the case were multiple bridges span the same switch + * device and different VLAN awareness settings are requested, which + * would be breaking filtering semantics for any of the other bridge + * devices. (not hardware supported) + */ + ds->vlan_filtering_is_global = true; + mutex_init(&dev->reg_mutex); mutex_init(&dev->stats_mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/b53/b53_regs.h +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/b53/b53_regs.h @@ -115,6 +115,7 @@ #define B53_UC_FLOOD_MASK 0x32 #define B53_MC_FLOOD_MASK 0x34 #define B53_IPMC_FLOOD_MASK 0x36 +#define B53_DIS_LEARNING 0x3c /* * Override Ports 0-7 State on devices with xMII interfaces (8 bit) --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/bcm_sf2.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/bcm_sf2.c @@ -172,23 +172,10 @@ reg &= ~P_TXQ_PSM_VDD(port); core_writel(priv, reg, CORE_MEM_PSM_VDD_CTRL); - /* Enable learning */ - reg = core_readl(priv, CORE_DIS_LEARN); - reg &= ~BIT(port); - core_writel(priv, reg, CORE_DIS_LEARN); - /* Enable Broadcom tags for that port if requested */ - if (priv->brcm_tag_mask & BIT(port)) { + if (priv->brcm_tag_mask & BIT(port)) b53_brcm_hdr_setup(ds, port); - /* Disable learning on ASP port */ - if (port == 7) { - reg = core_readl(priv, CORE_DIS_LEARN); - reg |= BIT(port); - core_writel(priv, reg, CORE_DIS_LEARN); - } - } - /* Configure Traffic Class to QoS mapping, allow each priority to map * to a different queue number */ @@ -442,15 +429,19 @@ /* Find our integrated MDIO bus node */ dn = of_find_compatible_node(NULL, NULL, "brcm,unimac-mdio"); priv->master_mii_bus = of_mdio_find_bus(dn); - if (!priv->master_mii_bus) + if (!priv->master_mii_bus) { + of_node_put(dn); return -EPROBE_DEFER; + } get_device(&priv->master_mii_bus->dev); priv->master_mii_dn = dn; priv->slave_mii_bus = devm_mdiobus_alloc(ds->dev); - if (!priv->slave_mii_bus) + if (!priv->slave_mii_bus) { + of_node_put(dn); return -ENOMEM; + } priv->slave_mii_bus->priv = priv; priv->slave_mii_bus->name = "sf2 slave mii"; @@ -501,8 +492,10 @@ * in bits 15:8 and the patch level in bits 7:0 which is exactly what * the REG_PHY_REVISION register layout is. */ - - return priv->hw_params.gphy_rev; + if (priv->int_phy_mask & BIT(port)) + return priv->hw_params.gphy_rev; + else + return 0; } static void bcm_sf2_sw_validate(struct dsa_switch *ds, int port, --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/lantiq_gswip.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/lantiq_gswip.c @@ -26,6 +26,7 @@ */ #include +#include #include #include #include @@ -91,11 +92,13 @@ GSWIP_MDIO_PHY_FDUP_MASK) /* GSWIP MII Registers */ -#define GSWIP_MII_CFG0 0x00 -#define GSWIP_MII_CFG1 0x02 -#define GSWIP_MII_CFG5 0x04 +#define GSWIP_MII_CFGp(p) (0x2 * (p)) +#define GSWIP_MII_CFG_RESET BIT(15) #define GSWIP_MII_CFG_EN BIT(14) +#define GSWIP_MII_CFG_ISOLATE BIT(13) #define GSWIP_MII_CFG_LDCLKDIS BIT(12) +#define GSWIP_MII_CFG_RGMII_IBS BIT(8) +#define GSWIP_MII_CFG_RMII_CLK BIT(7) #define GSWIP_MII_CFG_MODE_MIIP 0x0 #define GSWIP_MII_CFG_MODE_MIIM 0x1 #define GSWIP_MII_CFG_MODE_RMIIP 0x2 @@ -191,6 +194,23 @@ #define GSWIP_PCE_DEFPVID(p) (0x486 + ((p) * 0xA)) #define GSWIP_MAC_FLEN 0x8C5 +#define GSWIP_MAC_CTRL_0p(p) (0x903 + ((p) * 0xC)) +#define GSWIP_MAC_CTRL_0_PADEN BIT(8) +#define GSWIP_MAC_CTRL_0_FCS_EN BIT(7) +#define GSWIP_MAC_CTRL_0_FCON_MASK 0x0070 +#define GSWIP_MAC_CTRL_0_FCON_AUTO 0x0000 +#define GSWIP_MAC_CTRL_0_FCON_RX 0x0010 +#define GSWIP_MAC_CTRL_0_FCON_TX 0x0020 +#define GSWIP_MAC_CTRL_0_FCON_RXTX 0x0030 +#define GSWIP_MAC_CTRL_0_FCON_NONE 0x0040 +#define GSWIP_MAC_CTRL_0_FDUP_MASK 0x000C +#define GSWIP_MAC_CTRL_0_FDUP_AUTO 0x0000 +#define GSWIP_MAC_CTRL_0_FDUP_EN 0x0004 +#define GSWIP_MAC_CTRL_0_FDUP_DIS 0x000C +#define GSWIP_MAC_CTRL_0_GMII_MASK 0x0003 +#define GSWIP_MAC_CTRL_0_GMII_AUTO 0x0000 +#define GSWIP_MAC_CTRL_0_GMII_MII 0x0001 +#define GSWIP_MAC_CTRL_0_GMII_RGMII 0x0002 #define GSWIP_MAC_CTRL_2p(p) (0x905 + ((p) * 0xC)) #define GSWIP_MAC_CTRL_2_MLEN BIT(3) /* Maximum Untagged Frame Lnegth */ @@ -391,17 +411,9 @@ static void gswip_mii_mask_cfg(struct gswip_priv *priv, u32 clear, u32 set, int port) { - switch (port) { - case 0: - gswip_mii_mask(priv, clear, set, GSWIP_MII_CFG0); - break; - case 1: - gswip_mii_mask(priv, clear, set, GSWIP_MII_CFG1); - break; - case 5: - gswip_mii_mask(priv, clear, set, GSWIP_MII_CFG5); - break; - } + /* There's no MII_CFG register for the CPU port */ + if (!dsa_is_cpu_port(priv->ds, port)) + gswip_mii_mask(priv, clear, set, GSWIP_MII_CFGp(port)); } static void gswip_mii_mask_pcdu(struct gswip_priv *priv, u32 clear, u32 set, @@ -662,16 +674,13 @@ GSWIP_SDMA_PCTRLp(port)); if (!dsa_is_cpu_port(ds, port)) { - u32 macconf = GSWIP_MDIO_PHY_LINK_AUTO | - GSWIP_MDIO_PHY_SPEED_AUTO | - GSWIP_MDIO_PHY_FDUP_AUTO | - GSWIP_MDIO_PHY_FCONTX_AUTO | - GSWIP_MDIO_PHY_FCONRX_AUTO | - (phydev->mdio.addr & GSWIP_MDIO_PHY_ADDR_MASK); - - gswip_mdio_w(priv, macconf, GSWIP_MDIO_PHYp(port)); - /* Activate MDIO auto polling */ - gswip_mdio_mask(priv, 0, BIT(port), GSWIP_MDIO_MDC_CFG0); + u32 mdio_phy = 0; + + if (phydev) + mdio_phy = phydev->mdio.addr & GSWIP_MDIO_PHY_ADDR_MASK; + + gswip_mdio_mask(priv, GSWIP_MDIO_PHY_ADDR_MASK, mdio_phy, + GSWIP_MDIO_PHYp(port)); } return 0; @@ -684,14 +693,6 @@ if (!dsa_is_user_port(ds, port)) return; - if (!dsa_is_cpu_port(ds, port)) { - gswip_mdio_mask(priv, GSWIP_MDIO_PHY_LINK_DOWN, - GSWIP_MDIO_PHY_LINK_MASK, - GSWIP_MDIO_PHYp(port)); - /* Deactivate MDIO auto polling */ - gswip_mdio_mask(priv, BIT(port), 0, GSWIP_MDIO_MDC_CFG0); - } - gswip_switch_mask(priv, GSWIP_FDMA_PCTRL_EN, 0, GSWIP_FDMA_PCTRLp(port)); gswip_switch_mask(priv, GSWIP_SDMA_PCTRL_EN, 0, @@ -799,15 +800,32 @@ gswip_switch_w(priv, BIT(cpu_port), GSWIP_PCE_PMAP2); gswip_switch_w(priv, BIT(cpu_port), GSWIP_PCE_PMAP3); - /* disable PHY auto polling */ + /* Deactivate MDIO PHY auto polling. Some PHYs as the AR8030 have an + * interoperability problem with this auto polling mechanism because + * their status registers think that the link is in a different state + * than it actually is. For the AR8030 it has the BMSR_ESTATEN bit set + * as well as ESTATUS_1000_TFULL and ESTATUS_1000_XFULL. This makes the + * auto polling state machine consider the link being negotiated with + * 1Gbit/s. Since the PHY itself is a Fast Ethernet RMII PHY this leads + * to the switch port being completely dead (RX and TX are both not + * working). + * Also with various other PHY / port combinations (PHY11G GPHY, PHY22F + * GPHY, external RGMII PEF7071/7072) any traffic would stop. Sometimes + * it would work fine for a few minutes to hours and then stop, on + * other device it would no traffic could be sent or received at all. + * Testing shows that when PHY auto polling is disabled these problems + * go away. + */ gswip_mdio_w(priv, 0x0, GSWIP_MDIO_MDC_CFG0); + /* Configure the MDIO Clock 2.5 MHz */ gswip_mdio_mask(priv, 0xff, 0x09, GSWIP_MDIO_MDC_CFG1); - /* Disable the xMII link */ - gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_EN, 0, 0); - gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_EN, 0, 1); - gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_EN, 0, 5); + /* Disable the xMII interface and clear it's isolation bit */ + for (i = 0; i < priv->hw_info->max_ports; i++) + gswip_mii_mask_cfg(priv, + GSWIP_MII_CFG_EN | GSWIP_MII_CFG_ISOLATE, + 0, i); /* enable special tag insertion on cpu port */ gswip_switch_mask(priv, 0, GSWIP_FDMA_PCTRL_STEN, @@ -1430,11 +1448,12 @@ phylink_set(mask, Pause); phylink_set(mask, Asym_Pause); - /* With the exclusion of MII and Reverse MII, we support Gigabit, - * including Half duplex + /* With the exclusion of MII, Reverse MII and Reduced MII, we + * support Gigabit, including Half duplex */ if (state->interface != PHY_INTERFACE_MODE_MII && - state->interface != PHY_INTERFACE_MODE_REVMII) { + state->interface != PHY_INTERFACE_MODE_REVMII && + state->interface != PHY_INTERFACE_MODE_RMII) { phylink_set(mask, 1000baseT_Full); phylink_set(mask, 1000baseT_Half); } @@ -1457,6 +1476,112 @@ return; } +static void gswip_port_set_link(struct gswip_priv *priv, int port, bool link) +{ + u32 mdio_phy; + + if (link) + mdio_phy = GSWIP_MDIO_PHY_LINK_UP; + else + mdio_phy = GSWIP_MDIO_PHY_LINK_DOWN; + + gswip_mdio_mask(priv, GSWIP_MDIO_PHY_LINK_MASK, mdio_phy, + GSWIP_MDIO_PHYp(port)); +} + +static void gswip_port_set_speed(struct gswip_priv *priv, int port, int speed, + phy_interface_t interface) +{ + u32 mdio_phy = 0, mii_cfg = 0, mac_ctrl_0 = 0; + + switch (speed) { + case SPEED_10: + mdio_phy = GSWIP_MDIO_PHY_SPEED_M10; + + if (interface == PHY_INTERFACE_MODE_RMII) + mii_cfg = GSWIP_MII_CFG_RATE_M50; + else + mii_cfg = GSWIP_MII_CFG_RATE_M2P5; + + mac_ctrl_0 = GSWIP_MAC_CTRL_0_GMII_MII; + break; + + case SPEED_100: + mdio_phy = GSWIP_MDIO_PHY_SPEED_M100; + + if (interface == PHY_INTERFACE_MODE_RMII) + mii_cfg = GSWIP_MII_CFG_RATE_M50; + else + mii_cfg = GSWIP_MII_CFG_RATE_M25; + + mac_ctrl_0 = GSWIP_MAC_CTRL_0_GMII_MII; + break; + + case SPEED_1000: + mdio_phy = GSWIP_MDIO_PHY_SPEED_G1; + + mii_cfg = GSWIP_MII_CFG_RATE_M125; + + mac_ctrl_0 = GSWIP_MAC_CTRL_0_GMII_RGMII; + break; + } + + gswip_mdio_mask(priv, GSWIP_MDIO_PHY_SPEED_MASK, mdio_phy, + GSWIP_MDIO_PHYp(port)); + gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_RATE_MASK, mii_cfg, port); + gswip_switch_mask(priv, GSWIP_MAC_CTRL_0_GMII_MASK, mac_ctrl_0, + GSWIP_MAC_CTRL_0p(port)); +} + +static void gswip_port_set_duplex(struct gswip_priv *priv, int port, int duplex) +{ + u32 mac_ctrl_0, mdio_phy; + + if (duplex == DUPLEX_FULL) { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FDUP_EN; + mdio_phy = GSWIP_MDIO_PHY_FDUP_EN; + } else { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FDUP_DIS; + mdio_phy = GSWIP_MDIO_PHY_FDUP_DIS; + } + + gswip_switch_mask(priv, GSWIP_MAC_CTRL_0_FDUP_MASK, mac_ctrl_0, + GSWIP_MAC_CTRL_0p(port)); + gswip_mdio_mask(priv, GSWIP_MDIO_PHY_FDUP_MASK, mdio_phy, + GSWIP_MDIO_PHYp(port)); +} + +static void gswip_port_set_pause(struct gswip_priv *priv, int port, + bool tx_pause, bool rx_pause) +{ + u32 mac_ctrl_0, mdio_phy; + + if (tx_pause && rx_pause) { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FCON_RXTX; + mdio_phy = GSWIP_MDIO_PHY_FCONTX_EN | + GSWIP_MDIO_PHY_FCONRX_EN; + } else if (tx_pause) { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FCON_TX; + mdio_phy = GSWIP_MDIO_PHY_FCONTX_EN | + GSWIP_MDIO_PHY_FCONRX_DIS; + } else if (rx_pause) { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FCON_RX; + mdio_phy = GSWIP_MDIO_PHY_FCONTX_DIS | + GSWIP_MDIO_PHY_FCONRX_EN; + } else { + mac_ctrl_0 = GSWIP_MAC_CTRL_0_FCON_NONE; + mdio_phy = GSWIP_MDIO_PHY_FCONTX_DIS | + GSWIP_MDIO_PHY_FCONRX_DIS; + } + + gswip_switch_mask(priv, GSWIP_MAC_CTRL_0_FCON_MASK, + mac_ctrl_0, GSWIP_MAC_CTRL_0p(port)); + gswip_mdio_mask(priv, + GSWIP_MDIO_PHY_FCONTX_MASK | + GSWIP_MDIO_PHY_FCONRX_MASK, + mdio_phy, GSWIP_MDIO_PHYp(port)); +} + static void gswip_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode, const struct phylink_link_state *state) @@ -1476,6 +1601,9 @@ break; case PHY_INTERFACE_MODE_RMII: miicfg |= GSWIP_MII_CFG_MODE_RMIIM; + + /* Configure the RMII clock as output: */ + miicfg |= GSWIP_MII_CFG_RMII_CLK; break; case PHY_INTERFACE_MODE_RGMII: case PHY_INTERFACE_MODE_RGMII_ID: @@ -1488,7 +1616,11 @@ "Unsupported interface: %d\n", state->interface); return; } - gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_MODE_MASK, miicfg, port); + + gswip_mii_mask_cfg(priv, + GSWIP_MII_CFG_MODE_MASK | GSWIP_MII_CFG_RMII_CLK | + GSWIP_MII_CFG_RGMII_IBS | GSWIP_MII_CFG_LDCLKDIS, + miicfg, port); switch (state->interface) { case PHY_INTERFACE_MODE_RGMII_ID: @@ -1513,6 +1645,9 @@ struct gswip_priv *priv = ds->priv; gswip_mii_mask_cfg(priv, GSWIP_MII_CFG_EN, 0, port); + + if (!dsa_is_cpu_port(ds, port)) + gswip_port_set_link(priv, port, false); } static void gswip_phylink_mac_link_up(struct dsa_switch *ds, int port, @@ -1524,9 +1659,14 @@ { struct gswip_priv *priv = ds->priv; - /* Enable the xMII interface only for the external PHY */ - if (interface != PHY_INTERFACE_MODE_INTERNAL) - gswip_mii_mask_cfg(priv, 0, GSWIP_MII_CFG_EN, port); + if (!dsa_is_cpu_port(ds, port)) { + gswip_port_set_link(priv, port, true); + gswip_port_set_speed(priv, port, speed, interface); + gswip_port_set_duplex(priv, port, duplex); + gswip_port_set_pause(priv, port, tx_pause, rx_pause); + } + + gswip_mii_mask_cfg(priv, 0, GSWIP_MII_CFG_EN, port); } static void gswip_get_strings(struct dsa_switch *ds, int port, u32 stringset, @@ -1821,6 +1961,16 @@ i++; } + /* The standalone PHY11G requires 300ms to be fully + * initialized and ready for any MDIO communication after being + * taken out of reset. For the SoC-internal GPHY variant there + * is no (known) documentation for the minimum time after a + * reset. Use the same value as for the standalone variant as + * some users have reported internal PHYs not being detected + * without any delay. + */ + msleep(300); + return 0; remove_gphy: --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/microchip/ksz8795.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/microchip/ksz8795.c @@ -1269,7 +1269,7 @@ } /* set the real number of ports */ - dev->ds->num_ports = dev->port_cnt; + dev->ds->num_ports = dev->port_cnt + 1; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/microchip/ksz_common.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/microchip/ksz_common.c @@ -103,14 +103,8 @@ INIT_DELAYED_WORK(&dev->mib_read, ksz_mib_read_work); - /* Read MIB counters every 30 seconds to avoid overflow. */ - dev->mib_read_interval = msecs_to_jiffies(30000); - for (i = 0; i < dev->mib_port_cnt; i++) dev->dev_ops->port_init_cnt(dev, i); - - /* Start the timer 2 seconds later. */ - schedule_delayed_work(&dev->mib_read, msecs_to_jiffies(2000)); } EXPORT_SYMBOL_GPL(ksz_init_mib_timer); @@ -144,7 +138,9 @@ /* Read all MIB counters when the link is going down. */ if (!phydev->link) { p->read = true; - schedule_delayed_work(&dev->mib_read, 0); + /* timer started */ + if (dev->mib_read_interval) + schedule_delayed_work(&dev->mib_read, 0); } mutex_lock(&dev->dev_mutex); if (!phydev->link) @@ -460,6 +456,12 @@ return ret; } + /* Read MIB counters every 30 seconds to avoid overflow. */ + dev->mib_read_interval = msecs_to_jiffies(30000); + + /* Start the MIB timer. */ + schedule_delayed_work(&dev->mib_read, 0); + return 0; } EXPORT_SYMBOL(ksz_switch_register); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/mt7530.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/mt7530.c @@ -1501,7 +1501,7 @@ phylink_set(mask, 100baseT_Full); if (state->interface != PHY_INTERFACE_MODE_MII) { - phylink_set(mask, 1000baseT_Half); + /* This switch only supports 1G full-duplex. */ phylink_set(mask, 1000baseT_Full); if (port == 5) phylink_set(mask, 1000baseX_Full); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/mv88e6xxx/chip.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/mv88e6xxx/chip.c @@ -1671,7 +1671,11 @@ if (!entry.portvec) entry.state = 0; } else { - entry.portvec |= BIT(port); + if (state == MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC) + entry.portvec = BIT(port); + else + entry.portvec |= BIT(port); + entry.state = state; } @@ -2299,6 +2303,8 @@ usleep_range(10000, 20000); gpiod_set_value_cansleep(gpiod, 0); usleep_range(10000, 20000); + + mv88e6xxx_g1_wait_eeprom_done(chip); } } @@ -3187,10 +3193,17 @@ return err; } +/* prod_id for switch families which do not have a PHY model number */ +static const u16 family_prod_id_table[] = { + [MV88E6XXX_FAMILY_6341] = MV88E6XXX_PORT_SWITCH_ID_PROD_6341, + [MV88E6XXX_FAMILY_6390] = MV88E6XXX_PORT_SWITCH_ID_PROD_6390, +}; + static int mv88e6xxx_mdio_read(struct mii_bus *bus, int phy, int reg) { struct mv88e6xxx_mdio_bus *mdio_bus = bus->priv; struct mv88e6xxx_chip *chip = mdio_bus->chip; + u16 prod_id; u16 val; int err; @@ -3201,23 +3214,12 @@ err = chip->info->ops->phy_read(chip, bus, phy, reg, &val); mv88e6xxx_reg_unlock(chip); - if (reg == MII_PHYSID2) { - /* Some internal PHYs don't have a model number. */ - if (chip->info->family != MV88E6XXX_FAMILY_6165) - /* Then there is the 6165 family. It gets is - * PHYs correct. But it can also have two - * SERDES interfaces in the PHY address - * space. And these don't have a model - * number. But they are not PHYs, so we don't - * want to give them something a PHY driver - * will recognise. - * - * Use the mv88e6390 family model number - * instead, for anything which really could be - * a PHY, - */ - if (!(val & 0x3f0)) - val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6390 >> 4; + /* Some internal PHYs don't have a model number. */ + if (reg == MII_PHYSID2 && !(val & 0x3f0) && + chip->info->family < ARRAY_SIZE(family_prod_id_table)) { + prod_id = family_prod_id_table[chip->info->family]; + if (prod_id) + val |= prod_id >> 4; } return err ? err : val; @@ -3485,7 +3487,6 @@ .port_set_frame_mode = mv88e6351_port_set_frame_mode, .port_set_egress_floods = mv88e6352_port_set_egress_floods, .port_set_ether_type = mv88e6351_port_set_ether_type, - .port_set_jumbo_size = mv88e6165_port_set_jumbo_size, .port_egress_rate_limiting = mv88e6095_port_egress_rate_limiting, .port_pause_limit = mv88e6097_port_pause_limit, .port_disable_learn_limit = mv88e6xxx_port_disable_learn_limit, --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/mv88e6xxx/global1.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/mv88e6xxx/global1.c @@ -75,6 +75,37 @@ return mv88e6xxx_g1_wait_bit(chip, MV88E6XXX_G1_STS, bit, 1); } +void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip) +{ + const unsigned long timeout = jiffies + 1 * HZ; + u16 val; + int err; + + /* Wait up to 1 second for the switch to finish reading the + * EEPROM. + */ + while (time_before(jiffies, timeout)) { + err = mv88e6xxx_g1_read(chip, MV88E6XXX_G1_STS, &val); + if (err) { + dev_err(chip->dev, "Error reading status"); + return; + } + + /* If the switch is still resetting, it may not + * respond on the bus, and so MDIO read returns + * 0xffff. Differentiate between that, and waiting for + * the EEPROM to be done by bit 0 being set. + */ + if (val != 0xffff && + val & BIT(MV88E6XXX_G1_STS_IRQ_EEPROM_DONE)) + return; + + usleep_range(1000, 2000); + } + + dev_err(chip->dev, "Timeout waiting for EEPROM done"); +} + /* Offset 0x01: Switch MAC Address Register Bytes 0 & 1 * Offset 0x02: Switch MAC Address Register Bytes 2 & 3 * Offset 0x03: Switch MAC Address Register Bytes 4 & 5 --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/mv88e6xxx/global1.h +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/mv88e6xxx/global1.h @@ -278,6 +278,7 @@ int mv88e6185_g1_reset(struct mv88e6xxx_chip *chip); int mv88e6352_g1_reset(struct mv88e6xxx_chip *chip); int mv88e6250_g1_reset(struct mv88e6xxx_chip *chip); +void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip); int mv88e6185_g1_ppu_enable(struct mv88e6xxx_chip *chip); int mv88e6185_g1_ppu_disable(struct mv88e6xxx_chip *chip); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/mv88e6xxx/global1_vtu.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/mv88e6xxx/global1_vtu.c @@ -125,11 +125,9 @@ * Offset 0x08: VTU/STU Data Register 2 * Offset 0x09: VTU/STU Data Register 3 */ - -static int mv88e6185_g1_vtu_data_read(struct mv88e6xxx_chip *chip, - struct mv88e6xxx_vtu_entry *entry) +static int mv88e6185_g1_vtu_stu_data_read(struct mv88e6xxx_chip *chip, + u16 *regs) { - u16 regs[3]; int i; /* Read all 3 VTU/STU Data registers */ @@ -142,12 +140,45 @@ return err; } - /* Extract MemberTag and PortState data */ + return 0; +} + +static int mv88e6185_g1_vtu_data_read(struct mv88e6xxx_chip *chip, + struct mv88e6xxx_vtu_entry *entry) +{ + u16 regs[3]; + int err; + int i; + + err = mv88e6185_g1_vtu_stu_data_read(chip, regs); + if (err) + return err; + + /* Extract MemberTag data */ for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { unsigned int member_offset = (i % 4) * 4; - unsigned int state_offset = member_offset + 2; entry->member[i] = (regs[i / 4] >> member_offset) & 0x3; + } + + return 0; +} + +static int mv88e6185_g1_stu_data_read(struct mv88e6xxx_chip *chip, + struct mv88e6xxx_vtu_entry *entry) +{ + u16 regs[3]; + int err; + int i; + + err = mv88e6185_g1_vtu_stu_data_read(chip, regs); + if (err) + return err; + + /* Extract PortState data */ + for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { + unsigned int state_offset = (i % 4) * 4 + 2; + entry->state[i] = (regs[i / 4] >> state_offset) & 0x3; } @@ -320,6 +351,10 @@ if (err) return err; + err = mv88e6185_g1_stu_data_read(chip, entry); + if (err) + return err; + /* VTU DBNum[3:0] are located in VTU Operation 3:0 * VTU DBNum[5:4] are located in VTU Operation 9:8 */ @@ -349,6 +384,10 @@ if (err) return err; + err = mv88e6185_g1_stu_data_read(chip, entry); + if (err) + return err; + /* VTU DBNum[3:0] are located in VTU Operation 3:0 * VTU DBNum[7:4] are located in VTU Operation 11:8 */ @@ -374,16 +413,20 @@ return err; if (entry->valid) { - /* Fetch (and mask) VLAN PortState data from the STU */ - err = mv88e6xxx_g1_vtu_stu_get(chip, entry); + err = mv88e6185_g1_vtu_data_read(chip, entry); if (err) return err; - err = mv88e6185_g1_vtu_data_read(chip, entry); + err = mv88e6xxx_g1_vtu_fid_read(chip, entry); if (err) return err; - err = mv88e6xxx_g1_vtu_fid_read(chip, entry); + /* Fetch VLAN PortState data from the STU */ + err = mv88e6xxx_g1_vtu_stu_get(chip, entry); + if (err) + return err; + + err = mv88e6185_g1_stu_data_read(chip, entry); if (err) return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/ocelot/felix.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/ocelot/felix.c @@ -613,12 +613,11 @@ struct ocelot *ocelot = ds->priv; struct felix *felix = ocelot_to_felix(ocelot); - if (felix->info->mdio_bus_free) - felix->info->mdio_bus_free(ocelot); - ocelot_deinit_timestamp(ocelot); - /* stop workqueue thread */ ocelot_deinit(ocelot); + + if (felix->info->mdio_bus_free) + felix->info->mdio_bus_free(ocelot); } static int felix_hwtstamp_get(struct dsa_switch *ds, int port, --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/ocelot/felix_vsc9959.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/ocelot/felix_vsc9959.c @@ -607,17 +607,17 @@ [VCAP_IS2_HK_DIP_EQ_SIP] = {118, 1}, /* IP4_TCP_UDP (TYPE=100) */ [VCAP_IS2_HK_TCP] = {119, 1}, - [VCAP_IS2_HK_L4_SPORT] = {120, 16}, - [VCAP_IS2_HK_L4_DPORT] = {136, 16}, + [VCAP_IS2_HK_L4_DPORT] = {120, 16}, + [VCAP_IS2_HK_L4_SPORT] = {136, 16}, [VCAP_IS2_HK_L4_RNG] = {152, 8}, [VCAP_IS2_HK_L4_SPORT_EQ_DPORT] = {160, 1}, [VCAP_IS2_HK_L4_SEQUENCE_EQ0] = {161, 1}, - [VCAP_IS2_HK_L4_URG] = {162, 1}, - [VCAP_IS2_HK_L4_ACK] = {163, 1}, - [VCAP_IS2_HK_L4_PSH] = {164, 1}, - [VCAP_IS2_HK_L4_RST] = {165, 1}, - [VCAP_IS2_HK_L4_SYN] = {166, 1}, - [VCAP_IS2_HK_L4_FIN] = {167, 1}, + [VCAP_IS2_HK_L4_FIN] = {162, 1}, + [VCAP_IS2_HK_L4_SYN] = {163, 1}, + [VCAP_IS2_HK_L4_RST] = {164, 1}, + [VCAP_IS2_HK_L4_PSH] = {165, 1}, + [VCAP_IS2_HK_L4_ACK] = {166, 1}, + [VCAP_IS2_HK_L4_URG] = {167, 1}, [VCAP_IS2_HK_L4_1588_DOM] = {168, 8}, [VCAP_IS2_HK_L4_1588_VER] = {176, 4}, /* IP4_OTHER (TYPE=101) */ @@ -1105,8 +1105,21 @@ } } +/* Watermark encode + * Bit 8: Unit; 0:1, 1:16 + * Bit 7-0: Value to be multiplied with unit + */ +static u16 vsc9959_wm_enc(u16 value) +{ + if (value >= BIT(8)) + return BIT(8) | (value / 16); + + return value; +} + static const struct ocelot_ops vsc9959_ops = { .reset = vsc9959_reset, + .wm_enc = vsc9959_wm_enc, }; static int vsc9959_mdio_bus_alloc(struct ocelot *ocelot) @@ -1215,8 +1228,28 @@ static void vsc9959_sched_speed_set(struct ocelot *ocelot, int port, u32 speed) { + u8 tas_speed; + + switch (speed) { + case SPEED_10: + tas_speed = OCELOT_SPEED_10; + break; + case SPEED_100: + tas_speed = OCELOT_SPEED_100; + break; + case SPEED_1000: + tas_speed = OCELOT_SPEED_1000; + break; + case SPEED_2500: + tas_speed = OCELOT_SPEED_2500; + break; + default: + tas_speed = OCELOT_SPEED_1000; + break; + } + ocelot_rmw_rix(ocelot, - QSYS_TAG_CONFIG_LINK_SPEED(speed), + QSYS_TAG_CONFIG_LINK_SPEED(tas_speed), QSYS_TAG_CONFIG_LINK_SPEED_M, QSYS_TAG_CONFIG, port); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/qca/ar9331.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/qca/ar9331.c @@ -160,6 +160,8 @@ struct dsa_switch ds; struct dsa_switch_ops ops; struct irq_domain *irqdomain; + u32 irq_mask; + struct mutex lock_irq; struct mii_bus *mbus; /* mdio master */ struct mii_bus *sbus; /* mdio slave */ struct regmap *regmap; @@ -518,32 +520,44 @@ static void ar9331_sw_mask_irq(struct irq_data *d) { struct ar9331_sw_priv *priv = irq_data_get_irq_chip_data(d); - struct regmap *regmap = priv->regmap; - int ret; - ret = regmap_update_bits(regmap, AR9331_SW_REG_GINT_MASK, - AR9331_SW_GINT_PHY_INT, 0); - if (ret) - dev_err(priv->dev, "could not mask IRQ\n"); + priv->irq_mask = 0; } static void ar9331_sw_unmask_irq(struct irq_data *d) { struct ar9331_sw_priv *priv = irq_data_get_irq_chip_data(d); + + priv->irq_mask = AR9331_SW_GINT_PHY_INT; +} + +static void ar9331_sw_irq_bus_lock(struct irq_data *d) +{ + struct ar9331_sw_priv *priv = irq_data_get_irq_chip_data(d); + + mutex_lock(&priv->lock_irq); +} + +static void ar9331_sw_irq_bus_sync_unlock(struct irq_data *d) +{ + struct ar9331_sw_priv *priv = irq_data_get_irq_chip_data(d); struct regmap *regmap = priv->regmap; int ret; ret = regmap_update_bits(regmap, AR9331_SW_REG_GINT_MASK, - AR9331_SW_GINT_PHY_INT, - AR9331_SW_GINT_PHY_INT); + AR9331_SW_GINT_PHY_INT, priv->irq_mask); if (ret) - dev_err(priv->dev, "could not unmask IRQ\n"); + dev_err(priv->dev, "failed to change IRQ mask\n"); + + mutex_unlock(&priv->lock_irq); } static struct irq_chip ar9331_sw_irq_chip = { .name = AR9331_SW_NAME, .irq_mask = ar9331_sw_mask_irq, .irq_unmask = ar9331_sw_unmask_irq, + .irq_bus_lock = ar9331_sw_irq_bus_lock, + .irq_bus_sync_unlock = ar9331_sw_irq_bus_sync_unlock, }; static int ar9331_sw_irq_map(struct irq_domain *domain, unsigned int irq, @@ -582,6 +596,7 @@ return irq ? irq : -EINVAL; } + mutex_init(&priv->lock_irq); ret = devm_request_threaded_irq(dev, irq, NULL, ar9331_sw_irq, IRQF_ONESHOT, AR9331_SW_NAME, priv); if (ret) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/realtek-smi-core.h +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/realtek-smi-core.h @@ -25,6 +25,9 @@ const char *name; }; +/** + * struct rtl8366_vlan_mc - Virtual LAN member configuration + */ struct rtl8366_vlan_mc { u16 vid; u16 untag; @@ -119,7 +122,6 @@ int rtl8366_mc_is_used(struct realtek_smi *smi, int mc_index, int *used); int rtl8366_set_vlan(struct realtek_smi *smi, int vid, u32 member, u32 untag, u32 fid); -int rtl8366_get_pvid(struct realtek_smi *smi, int port, int *val); int rtl8366_set_pvid(struct realtek_smi *smi, unsigned int port, unsigned int vid); int rtl8366_enable_vlan4k(struct realtek_smi *smi, bool enable); --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/rtl8366.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/rtl8366.c @@ -36,113 +36,66 @@ } EXPORT_SYMBOL_GPL(rtl8366_mc_is_used); -int rtl8366_set_vlan(struct realtek_smi *smi, int vid, u32 member, - u32 untag, u32 fid) +/** + * rtl8366_obtain_mc() - retrieve or allocate a VLAN member configuration + * @smi: the Realtek SMI device instance + * @vid: the VLAN ID to look up or allocate + * @vlanmc: the pointer will be assigned to a pointer to a valid member config + * if successful + * @return: index of a new member config or negative error number + */ +static int rtl8366_obtain_mc(struct realtek_smi *smi, int vid, + struct rtl8366_vlan_mc *vlanmc) { struct rtl8366_vlan_4k vlan4k; int ret; int i; - /* Update the 4K table */ - ret = smi->ops->get_vlan_4k(smi, vid, &vlan4k); - if (ret) - return ret; - - vlan4k.member = member; - vlan4k.untag = untag; - vlan4k.fid = fid; - ret = smi->ops->set_vlan_4k(smi, &vlan4k); - if (ret) - return ret; - - /* Try to find an existing MC entry for this VID */ + /* Try to find an existing member config entry for this VID */ for (i = 0; i < smi->num_vlan_mc; i++) { - struct rtl8366_vlan_mc vlanmc; - - ret = smi->ops->get_vlan_mc(smi, i, &vlanmc); - if (ret) + ret = smi->ops->get_vlan_mc(smi, i, vlanmc); + if (ret) { + dev_err(smi->dev, "error searching for VLAN MC %d for VID %d\n", + i, vid); return ret; - - if (vid == vlanmc.vid) { - /* update the MC entry */ - vlanmc.member = member; - vlanmc.untag = untag; - vlanmc.fid = fid; - - ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); - break; } - } - - return ret; -} -EXPORT_SYMBOL_GPL(rtl8366_set_vlan); -int rtl8366_get_pvid(struct realtek_smi *smi, int port, int *val) -{ - struct rtl8366_vlan_mc vlanmc; - int ret; - int index; - - ret = smi->ops->get_mc_index(smi, port, &index); - if (ret) - return ret; - - ret = smi->ops->get_vlan_mc(smi, index, &vlanmc); - if (ret) - return ret; - - *val = vlanmc.vid; - return 0; -} -EXPORT_SYMBOL_GPL(rtl8366_get_pvid); - -int rtl8366_set_pvid(struct realtek_smi *smi, unsigned int port, - unsigned int vid) -{ - struct rtl8366_vlan_mc vlanmc; - struct rtl8366_vlan_4k vlan4k; - int ret; - int i; - - /* Try to find an existing MC entry for this VID */ - for (i = 0; i < smi->num_vlan_mc; i++) { - ret = smi->ops->get_vlan_mc(smi, i, &vlanmc); - if (ret) - return ret; - - if (vid == vlanmc.vid) { - ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); - if (ret) - return ret; - - ret = smi->ops->set_mc_index(smi, port, i); - return ret; - } + if (vid == vlanmc->vid) + return i; } /* We have no MC entry for this VID, try to find an empty one */ for (i = 0; i < smi->num_vlan_mc; i++) { - ret = smi->ops->get_vlan_mc(smi, i, &vlanmc); - if (ret) + ret = smi->ops->get_vlan_mc(smi, i, vlanmc); + if (ret) { + dev_err(smi->dev, "error searching for VLAN MC %d for VID %d\n", + i, vid); return ret; + } - if (vlanmc.vid == 0 && vlanmc.member == 0) { + if (vlanmc->vid == 0 && vlanmc->member == 0) { /* Update the entry from the 4K table */ ret = smi->ops->get_vlan_4k(smi, vid, &vlan4k); - if (ret) + if (ret) { + dev_err(smi->dev, "error looking for 4K VLAN MC %d for VID %d\n", + i, vid); return ret; + } - vlanmc.vid = vid; - vlanmc.member = vlan4k.member; - vlanmc.untag = vlan4k.untag; - vlanmc.fid = vlan4k.fid; - ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); - if (ret) + vlanmc->vid = vid; + vlanmc->member = vlan4k.member; + vlanmc->untag = vlan4k.untag; + vlanmc->fid = vlan4k.fid; + ret = smi->ops->set_vlan_mc(smi, i, vlanmc); + if (ret) { + dev_err(smi->dev, "unable to set/update VLAN MC %d for VID %d\n", + i, vid); return ret; + } - ret = smi->ops->set_mc_index(smi, port, i); - return ret; + dev_dbg(smi->dev, "created new MC at index %d for VID %d\n", + i, vid); + return i; } } @@ -160,24 +113,110 @@ if (ret) return ret; - vlanmc.vid = vid; - vlanmc.member = vlan4k.member; - vlanmc.untag = vlan4k.untag; - vlanmc.fid = vlan4k.fid; - ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); - if (ret) + vlanmc->vid = vid; + vlanmc->member = vlan4k.member; + vlanmc->untag = vlan4k.untag; + vlanmc->fid = vlan4k.fid; + ret = smi->ops->set_vlan_mc(smi, i, vlanmc); + if (ret) { + dev_err(smi->dev, "unable to set/update VLAN MC %d for VID %d\n", + i, vid); return ret; - - ret = smi->ops->set_mc_index(smi, port, i); - return ret; + } + dev_dbg(smi->dev, "recycled MC at index %i for VID %d\n", + i, vid); + return i; } } - dev_err(smi->dev, - "all VLAN member configurations are in use\n"); - + dev_err(smi->dev, "all VLAN member configurations are in use\n"); return -ENOSPC; } + +int rtl8366_set_vlan(struct realtek_smi *smi, int vid, u32 member, + u32 untag, u32 fid) +{ + struct rtl8366_vlan_mc vlanmc; + struct rtl8366_vlan_4k vlan4k; + int mc; + int ret; + + if (!smi->ops->is_vlan_valid(smi, vid)) + return -EINVAL; + + dev_dbg(smi->dev, + "setting VLAN%d 4k members: 0x%02x, untagged: 0x%02x\n", + vid, member, untag); + + /* Update the 4K table */ + ret = smi->ops->get_vlan_4k(smi, vid, &vlan4k); + if (ret) + return ret; + + vlan4k.member |= member; + vlan4k.untag |= untag; + vlan4k.fid = fid; + ret = smi->ops->set_vlan_4k(smi, &vlan4k); + if (ret) + return ret; + + dev_dbg(smi->dev, + "resulting VLAN%d 4k members: 0x%02x, untagged: 0x%02x\n", + vid, vlan4k.member, vlan4k.untag); + + /* Find or allocate a member config for this VID */ + ret = rtl8366_obtain_mc(smi, vid, &vlanmc); + if (ret < 0) + return ret; + mc = ret; + + /* Update the MC entry */ + vlanmc.member |= member; + vlanmc.untag |= untag; + vlanmc.fid = fid; + + /* Commit updates to the MC entry */ + ret = smi->ops->set_vlan_mc(smi, mc, &vlanmc); + if (ret) + dev_err(smi->dev, "failed to commit changes to VLAN MC index %d for VID %d\n", + mc, vid); + else + dev_dbg(smi->dev, + "resulting VLAN%d MC members: 0x%02x, untagged: 0x%02x\n", + vid, vlanmc.member, vlanmc.untag); + + return ret; +} +EXPORT_SYMBOL_GPL(rtl8366_set_vlan); + +int rtl8366_set_pvid(struct realtek_smi *smi, unsigned int port, + unsigned int vid) +{ + struct rtl8366_vlan_mc vlanmc; + int mc; + int ret; + + if (!smi->ops->is_vlan_valid(smi, vid)) + return -EINVAL; + + /* Find or allocate a member config for this VID */ + ret = rtl8366_obtain_mc(smi, vid, &vlanmc); + if (ret < 0) + return ret; + mc = ret; + + ret = smi->ops->set_mc_index(smi, port, mc); + if (ret) { + dev_err(smi->dev, "set PVID: failed to set MC index %d for port %d\n", + mc, port); + return ret; + } + + dev_dbg(smi->dev, "set PVID: the PVID for port %d set to %d using existing MC index %d\n", + port, vid, mc); + + return 0; +} EXPORT_SYMBOL_GPL(rtl8366_set_pvid); int rtl8366_enable_vlan4k(struct realtek_smi *smi, bool enable) @@ -376,7 +415,8 @@ if (!smi->ops->is_vlan_valid(smi, vid)) return; - dev_info(smi->dev, "add VLAN on port %d, %s, %s\n", + dev_info(smi->dev, "add VLAN %d on port %d, %s, %s\n", + vlan->vid_begin, port, untagged ? "untagged" : "tagged", pvid ? " PVID" : "no PVID"); @@ -384,36 +424,31 @@ if (dsa_is_dsa_port(ds, port) || dsa_is_cpu_port(ds, port)) dev_err(smi->dev, "port is DSA or CPU port\n"); - for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { - int pvid_val = 0; - - dev_info(smi->dev, "add VLAN %04x\n", vid); + for (vid = vlan->vid_begin; vid <= vlan->vid_end; vid++) { member |= BIT(port); if (untagged) untag |= BIT(port); - /* To ensure that we have a valid MC entry for this VLAN, - * initialize the port VLAN ID here. - */ - ret = rtl8366_get_pvid(smi, port, &pvid_val); - if (ret < 0) { - dev_err(smi->dev, "could not lookup PVID for port %d\n", - port); - return; - } - if (pvid_val == 0) { - ret = rtl8366_set_pvid(smi, port, vid); - if (ret < 0) - return; - } - } + ret = rtl8366_set_vlan(smi, vid, member, untag, 0); + if (ret) + dev_err(smi->dev, + "failed to set up VLAN %04x", + vid); - ret = rtl8366_set_vlan(smi, port, member, untag, 0); - if (ret) - dev_err(smi->dev, - "failed to set up VLAN %04x", - vid); + if (!pvid) + continue; + + ret = rtl8366_set_pvid(smi, port, vid); + if (ret) + dev_err(smi->dev, + "failed to set PVID on port %d to VLAN %04x", + port, vid); + + if (!ret) + dev_dbg(smi->dev, "VLAN add: added VLAN %d with PVID on port %d\n", + vid, port); + } } EXPORT_SYMBOL_GPL(rtl8366_vlan_add); @@ -439,13 +474,19 @@ return ret; if (vid == vlanmc.vid) { - /* clear VLAN member configurations */ - vlanmc.vid = 0; - vlanmc.priority = 0; - vlanmc.member = 0; - vlanmc.untag = 0; - vlanmc.fid = 0; - + /* Remove this port from the VLAN */ + vlanmc.member &= ~BIT(port); + vlanmc.untag &= ~BIT(port); + /* + * If no ports are members of this VLAN + * anymore then clear the whole member + * config so it can be reused. + */ + if (!vlanmc.member && vlanmc.untag) { + vlanmc.vid = 0; + vlanmc.priority = 0; + vlanmc.fid = 0; + } ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); if (ret) { dev_err(smi->dev, --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/rtl8366rb.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/rtl8366rb.c @@ -1270,7 +1270,7 @@ if (smi->vlan4k_enabled) max = RTL8366RB_NUM_VIDS - 1; - if (vlan == 0 || vlan >= max) + if (vlan == 0 || vlan > max) return false; return true; --- linux-riscv-5.8-5.8.0.orig/drivers/net/dsa/sja1105/sja1105_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/dsa/sja1105/sja1105_main.c @@ -1834,7 +1834,7 @@ speed = SPEED_1000; else if (bmcr & BMCR_SPEED100) speed = SPEED_100; - else if (bmcr & BMCR_SPEED10) + else speed = SPEED_10; sja1105_sgmii_pcs_force_speed(priv, speed); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/allwinner/sun4i-emac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/allwinner/sun4i-emac.c @@ -830,13 +830,13 @@ db->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(db->clk)) { ret = PTR_ERR(db->clk); - goto out_iounmap; + goto out_dispose_mapping; } ret = clk_prepare_enable(db->clk); if (ret) { dev_err(&pdev->dev, "Error couldn't enable clock (%d)\n", ret); - goto out_iounmap; + goto out_dispose_mapping; } ret = sunxi_sram_claim(&pdev->dev); @@ -895,6 +895,8 @@ sunxi_sram_release(&pdev->dev); out_clk_disable_unprepare: clk_disable_unprepare(db->clk); +out_dispose_mapping: + irq_dispose_mapping(ndev->irq); out_iounmap: iounmap(db->membase); out: @@ -913,6 +915,7 @@ unregister_netdev(ndev); sunxi_sram_release(&pdev->dev); clk_disable_unprepare(db->clk); + irq_dispose_mapping(ndev->irq); iounmap(db->membase); free_netdev(ndev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_admin_defs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_admin_defs.h @@ -1,37 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 - 2016 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef _ENA_ADMIN_H_ #define _ENA_ADMIN_H_ +#define ENA_ADMIN_RSS_KEY_PARTS 10 enum ena_admin_aq_opcode { ENA_ADMIN_CREATE_SQ = 1, @@ -55,6 +29,7 @@ ENA_ADMIN_RESOURCE_BUSY = 7, }; +/* subcommands for the set/get feature admin commands */ enum ena_admin_aq_feature_id { ENA_ADMIN_DEVICE_ATTRIBUTES = 1, ENA_ADMIN_MAX_QUEUES_NUM = 2, @@ -63,7 +38,7 @@ ENA_ADMIN_MAX_QUEUES_EXT = 7, ENA_ADMIN_RSS_HASH_FUNCTION = 10, ENA_ADMIN_STATELESS_OFFLOAD_CONFIG = 11, - ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG = 12, + ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG = 12, ENA_ADMIN_MTU = 14, ENA_ADMIN_RSS_HASH_INPUT = 18, ENA_ADMIN_INTERRUPT_MODERATION = 20, @@ -117,6 +92,8 @@ enum ena_admin_get_stats_type { ENA_ADMIN_GET_STATS_TYPE_BASIC = 0, ENA_ADMIN_GET_STATS_TYPE_EXTENDED = 1, + /* extra HW stats for specific network interface */ + ENA_ADMIN_GET_STATS_TYPE_ENI = 2, }; enum ena_admin_get_stats_scope { @@ -193,7 +170,7 @@ u16 extended_status; /* indicates to the driver which AQ entry has been consumed by the - * device and could be reused + * device and could be reused */ u16 sq_head_indx; }; @@ -238,8 +215,8 @@ */ u8 sq_caps_3; - /* associated completion queue id. This CQ must be created prior to - * SQ creation + /* associated completion queue id. This CQ must be created prior to SQ + * creation */ u16 cq_idx; @@ -378,7 +355,7 @@ u16 queue_idx; /* device id, value 0xFFFF means mine. only privileged device can get - * stats of other device + * stats of other device */ u16 device_id; }; @@ -410,10 +387,43 @@ u32 tx_drops_high; }; +/* ENI Statistics Command. */ +struct ena_admin_eni_stats { + /* The number of packets shaped due to inbound aggregate BW + * allowance being exceeded + */ + u64 bw_in_allowance_exceeded; + + /* The number of packets shaped due to outbound aggregate BW + * allowance being exceeded + */ + u64 bw_out_allowance_exceeded; + + /* The number of packets shaped due to PPS allowance being exceeded */ + u64 pps_allowance_exceeded; + + /* The number of packets shaped due to connection tracking + * allowance being exceeded and leading to failure in establishment + * of new connections + */ + u64 conntrack_allowance_exceeded; + + /* The number of packets shaped due to linklocal packet rate + * allowance being exceeded + */ + u64 linklocal_allowance_exceeded; +}; + struct ena_admin_acq_get_stats_resp { struct ena_admin_acq_common_desc acq_common_desc; - struct ena_admin_basic_stats basic_stats; + union { + u64 raw[7]; + + struct ena_admin_basic_stats basic_stats; + + struct ena_admin_eni_stats eni_stats; + } u; }; struct ena_admin_get_set_feature_common_desc { @@ -440,7 +450,9 @@ u32 device_version; - /* bitmap of ena_admin_aq_feature_id */ + /* bitmap of ena_admin_aq_feature_id, which represents supported + * subcommands for the set/get feature admin commands. + */ u32 supported_features; u32 reserved3; @@ -491,37 +503,65 @@ ENA_ADMIN_MULTIPLE_DESCS_PER_ENTRY = 2, }; +enum ena_admin_accel_mode_feat { + ENA_ADMIN_DISABLE_META_CACHING = 0, + ENA_ADMIN_LIMIT_TX_BURST = 1, +}; + +struct ena_admin_accel_mode_get { + /* bit field of enum ena_admin_accel_mode_feat */ + u16 supported_flags; + + /* maximum burst size between two doorbells. The size is in bytes */ + u16 max_tx_burst_size; +}; + +struct ena_admin_accel_mode_set { + /* bit field of enum ena_admin_accel_mode_feat */ + u16 enabled_flags; + + u16 reserved; +}; + +struct ena_admin_accel_mode_req { + union { + u32 raw[2]; + + struct ena_admin_accel_mode_get get; + + struct ena_admin_accel_mode_set set; + } u; +}; + struct ena_admin_feature_llq_desc { u32 max_llq_num; u32 max_llq_depth; - /* specify the header locations the device supports. bitfield of - * enum ena_admin_llq_header_location. + /* specify the header locations the device supports. bitfield of enum + * ena_admin_llq_header_location. */ u16 header_location_ctrl_supported; /* the header location the driver selected to use. */ u16 header_location_ctrl_enabled; - /* if inline header is specified - this is the size of descriptor - * list entry. If header in a separate ring is specified - this is - * the size of header ring entry. bitfield of enum - * ena_admin_llq_ring_entry_size. specify the entry sizes the device - * supports + /* if inline header is specified - this is the size of descriptor list + * entry. If header in a separate ring is specified - this is the size + * of header ring entry. bitfield of enum ena_admin_llq_ring_entry_size. + * specify the entry sizes the device supports */ u16 entry_size_ctrl_supported; /* the entry size the driver selected to use. */ u16 entry_size_ctrl_enabled; - /* valid only if inline header is specified. First entry associated - * with the packet includes descriptors and header. Rest of the - * entries occupied by descriptors. This parameter defines the max - * number of descriptors precedding the header in the first entry. - * The field is bitfield of enum - * ena_admin_llq_num_descs_before_header and specify the values the - * device supports + /* valid only if inline header is specified. First entry associated with + * the packet includes descriptors and header. Rest of the entries + * occupied by descriptors. This parameter defines the max number of + * descriptors precedding the header in the first entry. The field is + * bitfield of enum ena_admin_llq_num_descs_before_header and specify + * the values the device supports */ u16 desc_num_before_header_supported; @@ -529,17 +569,20 @@ u16 desc_num_before_header_enabled; /* valid only if inline was chosen. bitfield of enum - * ena_admin_llq_stride_ctrl + * ena_admin_llq_stride_ctrl */ u16 descriptors_stride_ctrl_supported; /* the stride control the driver selected to use */ u16 descriptors_stride_ctrl_enabled; - /* Maximum size in bytes taken by llq entries in a single tx burst. - * Set to 0 when there is no such limit. + /* reserved */ + u32 reserved1; + + /* accelerated low latency queues requirement. driver needs to + * support those requirements in order to use accelerated llq */ - u32 max_tx_burst_size; + struct ena_admin_accel_mode_req accel_mode; }; struct ena_admin_queue_ext_feature_fields { @@ -561,8 +604,8 @@ u32 max_tx_header_size; - /* Maximum Descriptors number, including meta descriptor, allowed for - * a single Tx packet + /* Maximum Descriptors number, including meta descriptor, allowed for a + * single Tx packet */ u16 max_per_packet_tx_descs; @@ -585,8 +628,8 @@ u32 max_header_size; - /* Maximum Descriptors number, including meta descriptor, allowed for - * a single Tx packet + /* Maximum Descriptors number, including meta descriptor, allowed for a + * single Tx packet */ u16 max_packet_tx_descs; @@ -674,11 +717,11 @@ }; struct ena_admin_feature_rss_flow_hash_control { - u32 keys_num; + u32 key_parts; u32 reserved; - u32 key[10]; + u32 key[ENA_ADMIN_RSS_KEY_PARTS]; }; struct ena_admin_feature_rss_flow_hash_function { @@ -816,7 +859,9 @@ /* 0 : reserved * 1 : rx_offset * 2 : interrupt_moderation - * 31:3 : reserved + * 3 : rx_buf_mirroring + * 4 : rss_configurable_function_key + * 31:5 : reserved */ u32 driver_supported_features; }; @@ -972,7 +1017,7 @@ struct ena_admin_aenq_common_desc { u16 group; - u16 syndrom; + u16 syndrome; /* 0 : phase * 7:1 : reserved - MBZ @@ -996,7 +1041,7 @@ ENA_ADMIN_AENQ_GROUPS_NUM = 5, }; -enum ena_admin_aenq_notification_syndrom { +enum ena_admin_aenq_notification_syndrome { ENA_ADMIN_SUSPEND = 0, ENA_ADMIN_RESUME = 1, ENA_ADMIN_UPDATE_HINTS = 2, @@ -1129,6 +1174,10 @@ #define ENA_ADMIN_HOST_INFO_RX_OFFSET_MASK BIT(1) #define ENA_ADMIN_HOST_INFO_INTERRUPT_MODERATION_SHIFT 2 #define ENA_ADMIN_HOST_INFO_INTERRUPT_MODERATION_MASK BIT(2) +#define ENA_ADMIN_HOST_INFO_RX_BUF_MIRRORING_SHIFT 3 +#define ENA_ADMIN_HOST_INFO_RX_BUF_MIRRORING_MASK BIT(3) +#define ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_SHIFT 4 +#define ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_MASK BIT(4) /* aenq_common_desc */ #define ENA_ADMIN_AENQ_COMMON_DESC_PHASE_MASK BIT(0) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_com.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_com.c @@ -1,33 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #include "ena_com.h" @@ -98,7 +71,7 @@ dma_addr_t addr) { if ((addr & GENMASK_ULL(ena_dev->dma_addr_bits - 1, 0)) != addr) { - pr_err("dma address has more bits that the device supports\n"); + pr_err("DMA address has more bits that the device supports\n"); return -EINVAL; } @@ -108,16 +81,16 @@ return 0; } -static int ena_com_admin_init_sq(struct ena_com_admin_queue *queue) +static int ena_com_admin_init_sq(struct ena_com_admin_queue *admin_queue) { - struct ena_com_admin_sq *sq = &queue->sq; - u16 size = ADMIN_SQ_SIZE(queue->q_depth); + struct ena_com_admin_sq *sq = &admin_queue->sq; + u16 size = ADMIN_SQ_SIZE(admin_queue->q_depth); - sq->entries = dma_alloc_coherent(queue->q_dmadev, size, &sq->dma_addr, - GFP_KERNEL); + sq->entries = dma_alloc_coherent(admin_queue->q_dmadev, size, + &sq->dma_addr, GFP_KERNEL); if (!sq->entries) { - pr_err("memory allocation failed\n"); + pr_err("Memory allocation failed\n"); return -ENOMEM; } @@ -130,16 +103,16 @@ return 0; } -static int ena_com_admin_init_cq(struct ena_com_admin_queue *queue) +static int ena_com_admin_init_cq(struct ena_com_admin_queue *admin_queue) { - struct ena_com_admin_cq *cq = &queue->cq; - u16 size = ADMIN_CQ_SIZE(queue->q_depth); + struct ena_com_admin_cq *cq = &admin_queue->cq; + u16 size = ADMIN_CQ_SIZE(admin_queue->q_depth); - cq->entries = dma_alloc_coherent(queue->q_dmadev, size, &cq->dma_addr, - GFP_KERNEL); + cq->entries = dma_alloc_coherent(admin_queue->q_dmadev, size, + &cq->dma_addr, GFP_KERNEL); if (!cq->entries) { - pr_err("memory allocation failed\n"); + pr_err("Memory allocation failed\n"); return -ENOMEM; } @@ -149,20 +122,20 @@ return 0; } -static int ena_com_admin_init_aenq(struct ena_com_dev *dev, +static int ena_com_admin_init_aenq(struct ena_com_dev *ena_dev, struct ena_aenq_handlers *aenq_handlers) { - struct ena_com_aenq *aenq = &dev->aenq; + struct ena_com_aenq *aenq = &ena_dev->aenq; u32 addr_low, addr_high, aenq_caps; u16 size; - dev->aenq.q_depth = ENA_ASYNC_QUEUE_DEPTH; + ena_dev->aenq.q_depth = ENA_ASYNC_QUEUE_DEPTH; size = ADMIN_AENQ_SIZE(ENA_ASYNC_QUEUE_DEPTH); - aenq->entries = dma_alloc_coherent(dev->dmadev, size, &aenq->dma_addr, - GFP_KERNEL); + aenq->entries = dma_alloc_coherent(ena_dev->dmadev, size, + &aenq->dma_addr, GFP_KERNEL); if (!aenq->entries) { - pr_err("memory allocation failed\n"); + pr_err("Memory allocation failed\n"); return -ENOMEM; } @@ -172,18 +145,18 @@ addr_low = ENA_DMA_ADDR_TO_UINT32_LOW(aenq->dma_addr); addr_high = ENA_DMA_ADDR_TO_UINT32_HIGH(aenq->dma_addr); - writel(addr_low, dev->reg_bar + ENA_REGS_AENQ_BASE_LO_OFF); - writel(addr_high, dev->reg_bar + ENA_REGS_AENQ_BASE_HI_OFF); + writel(addr_low, ena_dev->reg_bar + ENA_REGS_AENQ_BASE_LO_OFF); + writel(addr_high, ena_dev->reg_bar + ENA_REGS_AENQ_BASE_HI_OFF); aenq_caps = 0; - aenq_caps |= dev->aenq.q_depth & ENA_REGS_AENQ_CAPS_AENQ_DEPTH_MASK; + aenq_caps |= ena_dev->aenq.q_depth & ENA_REGS_AENQ_CAPS_AENQ_DEPTH_MASK; aenq_caps |= (sizeof(struct ena_admin_aenq_entry) << ENA_REGS_AENQ_CAPS_AENQ_ENTRY_SIZE_SHIFT) & ENA_REGS_AENQ_CAPS_AENQ_ENTRY_SIZE_MASK; - writel(aenq_caps, dev->reg_bar + ENA_REGS_AENQ_CAPS_OFF); + writel(aenq_caps, ena_dev->reg_bar + ENA_REGS_AENQ_CAPS_OFF); if (unlikely(!aenq_handlers)) { - pr_err("aenq handlers pointer is NULL\n"); + pr_err("AENQ handlers pointer is NULL\n"); return -EINVAL; } @@ -199,31 +172,31 @@ atomic_dec(&queue->outstanding_cmds); } -static struct ena_comp_ctx *get_comp_ctxt(struct ena_com_admin_queue *queue, +static struct ena_comp_ctx *get_comp_ctxt(struct ena_com_admin_queue *admin_queue, u16 command_id, bool capture) { - if (unlikely(command_id >= queue->q_depth)) { - pr_err("command id is larger than the queue size. cmd_id: %u queue size %d\n", - command_id, queue->q_depth); + if (unlikely(command_id >= admin_queue->q_depth)) { + pr_err("Command id is larger than the queue size. cmd_id: %u queue size %d\n", + command_id, admin_queue->q_depth); return NULL; } - if (unlikely(!queue->comp_ctx)) { + if (unlikely(!admin_queue->comp_ctx)) { pr_err("Completion context is NULL\n"); return NULL; } - if (unlikely(queue->comp_ctx[command_id].occupied && capture)) { + if (unlikely(admin_queue->comp_ctx[command_id].occupied && capture)) { pr_err("Completion context is occupied\n"); return NULL; } if (capture) { - atomic_inc(&queue->outstanding_cmds); - queue->comp_ctx[command_id].occupied = true; + atomic_inc(&admin_queue->outstanding_cmds); + admin_queue->comp_ctx[command_id].occupied = true; } - return &queue->comp_ctx[command_id]; + return &admin_queue->comp_ctx[command_id]; } static struct ena_comp_ctx *__ena_com_submit_admin_cmd(struct ena_com_admin_queue *admin_queue, @@ -244,7 +217,7 @@ /* In case of queue FULL */ cnt = (u16)atomic_read(&admin_queue->outstanding_cmds); if (cnt >= admin_queue->q_depth) { - pr_debug("admin queue is full.\n"); + pr_debug("Admin queue is full.\n"); admin_queue->stats.out_of_space++; return ERR_PTR(-ENOSPC); } @@ -284,20 +257,21 @@ return comp_ctx; } -static int ena_com_init_comp_ctxt(struct ena_com_admin_queue *queue) +static int ena_com_init_comp_ctxt(struct ena_com_admin_queue *admin_queue) { - size_t size = queue->q_depth * sizeof(struct ena_comp_ctx); + size_t size = admin_queue->q_depth * sizeof(struct ena_comp_ctx); struct ena_comp_ctx *comp_ctx; u16 i; - queue->comp_ctx = devm_kzalloc(queue->q_dmadev, size, GFP_KERNEL); - if (unlikely(!queue->comp_ctx)) { - pr_err("memory allocation failed\n"); + admin_queue->comp_ctx = + devm_kzalloc(admin_queue->q_dmadev, size, GFP_KERNEL); + if (unlikely(!admin_queue->comp_ctx)) { + pr_err("Memory allocation failed\n"); return -ENOMEM; } - for (i = 0; i < queue->q_depth; i++) { - comp_ctx = get_comp_ctxt(queue, i, false); + for (i = 0; i < admin_queue->q_depth; i++) { + comp_ctx = get_comp_ctxt(admin_queue, i, false); if (comp_ctx) init_completion(&comp_ctx->wait_event); } @@ -363,7 +337,7 @@ } if (!io_sq->desc_addr.virt_addr) { - pr_err("memory allocation failed\n"); + pr_err("Memory allocation failed\n"); return -ENOMEM; } } @@ -389,7 +363,7 @@ devm_kzalloc(ena_dev->dmadev, size, GFP_KERNEL); if (!io_sq->bounce_buf_ctrl.base_buffer) { - pr_err("bounce buffer memory allocation failed\n"); + pr_err("Bounce buffer memory allocation failed\n"); return -ENOMEM; } @@ -403,6 +377,8 @@ 0x0, io_sq->llq_info.desc_list_entry_size); io_sq->llq_buf_ctrl.descs_left_in_line = io_sq->llq_info.descs_num_before_header; + io_sq->disable_meta_caching = + io_sq->llq_info.disable_meta_caching; if (io_sq->llq_info.max_entries_in_tx_burst > 0) io_sq->entries_in_tx_burst_left = @@ -447,7 +423,7 @@ } if (!io_cq->cdesc_addr.virt_addr) { - pr_err("memory allocation failed\n"); + pr_err("Memory allocation failed\n"); return -ENOMEM; } @@ -523,7 +499,7 @@ static int ena_com_comp_status_to_errno(u8 comp_status) { if (unlikely(comp_status != 0)) - pr_err("admin command failed[%u]\n", comp_status); + pr_err("Admin command failed[%u]\n", comp_status); switch (comp_status) { case ENA_ADMIN_SUCCESS: @@ -537,6 +513,8 @@ case ENA_ADMIN_ILLEGAL_PARAMETER: case ENA_ADMIN_UNKNOWN_ERROR: return -EINVAL; + case ENA_ADMIN_RESOURCE_BUSY: + return -EAGAIN; } return -EINVAL; @@ -601,7 +579,7 @@ return ret; } -/** +/* * Set the LLQ configurations of the firmware * * The driver provides only the enabled feature values to the device, @@ -626,6 +604,10 @@ cmd.u.llq.desc_num_before_header_enabled = llq_info->descs_num_before_header; cmd.u.llq.descriptors_stride_ctrl_enabled = llq_info->desc_stride_ctrl; + cmd.u.llq.accel_mode.u.set.enabled_flags = + BIT(ENA_ADMIN_DISABLE_META_CACHING) | + BIT(ENA_ADMIN_LIMIT_TX_BURST); + ret = ena_com_execute_admin_command(admin_queue, (struct ena_admin_aq_entry *)&cmd, sizeof(cmd), @@ -643,6 +625,7 @@ struct ena_llq_configurations *llq_default_cfg) { struct ena_com_llq_info *llq_info = &ena_dev->llq_info; + struct ena_admin_accel_mode_get llq_accel_mode_get; u16 supported_feat; int rc; @@ -710,7 +693,7 @@ /* The desc list entry size should be whole multiply of 8 * This requirement comes from __iowrite64_copy() */ - pr_err("illegal entry size %d\n", llq_info->desc_list_entry_size); + pr_err("Illegal entry size %d\n", llq_info->desc_list_entry_size); return -EINVAL; } @@ -742,9 +725,17 @@ llq_default_cfg->llq_num_decs_before_header, supported_feat, llq_info->descs_num_before_header); } + /* Check for accelerated queue supported */ + llq_accel_mode_get = llq_features->accel_mode.u.get; - llq_info->max_entries_in_tx_burst = - (u16)(llq_features->max_tx_burst_size / llq_default_cfg->llq_ring_entry_size_value); + llq_info->disable_meta_caching = + !!(llq_accel_mode_get.supported_flags & + BIT(ENA_ADMIN_DISABLE_META_CACHING)); + + if (llq_accel_mode_get.supported_flags & BIT(ENA_ADMIN_LIMIT_TX_BURST)) + llq_info->max_entries_in_tx_burst = + llq_accel_mode_get.max_tx_burst_size / + llq_default_cfg->llq_ring_entry_size_value; rc = ena_com_set_llq(ena_dev); if (rc) @@ -843,7 +834,7 @@ } if (unlikely(i == timeout)) { - pr_err("reading reg failed for timeout. expected: req id[%hu] offset[%hu] actual: req id[%hu] offset[%hu]\n", + pr_err("Reading reg failed for timeout. expected: req id[%hu] offset[%hu] actual: req id[%hu] offset[%hu]\n", mmio_read->seq_num, offset, read_resp->req_id, read_resp->reg_off); ret = ENA_MMIO_READ_TIMEOUT; @@ -910,7 +901,7 @@ sizeof(destroy_resp)); if (unlikely(ret && (ret != -ENODEV))) - pr_err("failed to destroy io sq error: %d\n", ret); + pr_err("Failed to destroy io sq error: %d\n", ret); return ret; } @@ -1019,7 +1010,7 @@ &get_cmd.control_buffer.address, control_buf_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -1066,11 +1057,10 @@ (ena_dev->rss).hash_key; netdev_rss_key_fill(&hash_key->key, sizeof(hash_key->key)); - /* The key is stored in the device in u32 array - * as well as the API requires the key to be passed in this - * format. Thus the size of our array should be divided by 4 + /* The key buffer is stored in the device in an array of + * uint32 elements. */ - hash_key->keys_num = sizeof(hash_key->key) / sizeof(u32); + hash_key->key_parts = ENA_ADMIN_RSS_KEY_PARTS; } static int ena_com_hash_key_allocate(struct ena_com_dev *ena_dev) @@ -1134,13 +1124,13 @@ int ret; ret = ena_com_get_feature(ena_dev, &get_resp, - ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG, 0); + ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG, 0); if (unlikely(ret)) return ret; if ((get_resp.u.ind_table.min_size > log_size) || (get_resp.u.ind_table.max_size < log_size)) { - pr_err("indirect table size doesn't fit. requested size: %d while min is:%d and max %d\n", + pr_err("Indirect table size doesn't fit. requested size: %d while min is:%d and max %d\n", 1 << log_size, 1 << get_resp.u.ind_table.min_size, 1 << get_resp.u.ind_table.max_size); return -EINVAL; @@ -1233,7 +1223,7 @@ &create_cmd.sq_ba, io_sq->desc_addr.phys_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } } @@ -1262,7 +1252,7 @@ cmd_completion.llq_descriptors_offset); } - pr_debug("created sq[%u], depth[%u]\n", io_sq->idx, io_sq->q_depth); + pr_debug("Created sq[%u], depth[%u]\n", io_sq->idx, io_sq->q_depth); return ret; } @@ -1375,7 +1365,7 @@ &create_cmd.cq_ba, io_cq->cdesc_addr.phys_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -1404,7 +1394,7 @@ (u32 __iomem *)((uintptr_t)ena_dev->reg_bar + cmd_completion.numa_node_register_offset); - pr_debug("created cq[%u], depth[%u]\n", io_cq->idx, io_cq->q_depth); + pr_debug("Created cq[%u], depth[%u]\n", io_cq->idx, io_cq->q_depth); return ret; } @@ -1597,12 +1587,12 @@ return -ETIME; } - pr_info("ena device version: %d.%d\n", + pr_info("ENA device version: %d.%d\n", (ver & ENA_REGS_VERSION_MAJOR_VERSION_MASK) >> ENA_REGS_VERSION_MAJOR_VERSION_SHIFT, ver & ENA_REGS_VERSION_MINOR_VERSION_MASK); - pr_info("ena controller version: %d.%d.%d implementation version %d\n", + pr_info("ENA controller version: %d.%d.%d implementation version %d\n", (ctrl_ver & ENA_REGS_CONTROLLER_VERSION_MAJOR_VERSION_MASK) >> ENA_REGS_CONTROLLER_VERSION_MAJOR_VERSION_SHIFT, (ctrl_ver & ENA_REGS_CONTROLLER_VERSION_MINOR_VERSION_MASK) >> @@ -1625,6 +1615,19 @@ return 0; } +static void +ena_com_free_ena_admin_queue_comp_ctx(struct ena_com_dev *ena_dev, + struct ena_com_admin_queue *admin_queue) + +{ + if (!admin_queue->comp_ctx) + return; + + devm_kfree(ena_dev->dmadev, admin_queue->comp_ctx); + + admin_queue->comp_ctx = NULL; +} + void ena_com_admin_destroy(struct ena_com_dev *ena_dev) { struct ena_com_admin_queue *admin_queue = &ena_dev->admin_queue; @@ -1633,9 +1636,8 @@ struct ena_com_aenq *aenq = &ena_dev->aenq; u16 size; - if (admin_queue->comp_ctx) - devm_kfree(ena_dev->dmadev, admin_queue->comp_ctx); - admin_queue->comp_ctx = NULL; + ena_com_free_ena_admin_queue_comp_ctx(ena_dev, admin_queue); + size = ADMIN_SQ_SIZE(admin_queue->q_depth); if (sq->entries) dma_free_coherent(ena_dev->dmadev, size, sq->entries, @@ -1913,6 +1915,7 @@ memcpy(&get_feat_ctx->dev_attr, &get_resp.u.dev_attr, sizeof(get_resp.u.dev_attr)); + ena_dev->supported_features = get_resp.u.dev_attr.supported_features; if (ena_dev->supported_features & BIT(ENA_ADMIN_MAX_QUEUES_EXT)) { @@ -1991,10 +1994,10 @@ /* ena_handle_specific_aenq_event: * return the handler that is relevant to the specific event group */ -static ena_aenq_handler ena_com_get_specific_aenq_cb(struct ena_com_dev *dev, +static ena_aenq_handler ena_com_get_specific_aenq_cb(struct ena_com_dev *ena_dev, u16 group) { - struct ena_aenq_handlers *aenq_handlers = dev->aenq.aenq_handlers; + struct ena_aenq_handlers *aenq_handlers = ena_dev->aenq.aenq_handlers; if ((group < ENA_MAX_HANDLERS) && aenq_handlers->handlers[group]) return aenq_handlers->handlers[group]; @@ -2006,11 +2009,11 @@ * handles the aenq incoming events. * pop events from the queue and apply the specific handler */ -void ena_com_aenq_intr_handler(struct ena_com_dev *dev, void *data) +void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data) { struct ena_admin_aenq_entry *aenq_e; struct ena_admin_aenq_common_desc *aenq_common; - struct ena_com_aenq *aenq = &dev->aenq; + struct ena_com_aenq *aenq = &ena_dev->aenq; u64 timestamp; ena_aenq_handler handler_cb; u16 masked_head, processed = 0; @@ -2030,12 +2033,13 @@ dma_rmb(); timestamp = (u64)aenq_common->timestamp_low | - ((u64)aenq_common->timestamp_high << 32); - pr_debug("AENQ! Group[%x] Syndrom[%x] timestamp: [%llus]\n", - aenq_common->group, aenq_common->syndrom, timestamp); + ((u64)aenq_common->timestamp_high << 32); + + pr_debug("AENQ! Group[%x] Syndrome[%x] timestamp: [%llus]\n", + aenq_common->group, aenq_common->syndrome, timestamp); /* Handle specific event*/ - handler_cb = ena_com_get_specific_aenq_cb(dev, + handler_cb = ena_com_get_specific_aenq_cb(ena_dev, aenq_common->group); handler_cb(data, aenq_e); /* call the actual event handler*/ @@ -2060,7 +2064,8 @@ /* write the aenq doorbell after all AENQ descriptors were read */ mb(); - writel_relaxed((u32)aenq->head, dev->reg_bar + ENA_REGS_AENQ_HEAD_DB_OFF); + writel_relaxed((u32)aenq->head, + ena_dev->reg_bar + ENA_REGS_AENQ_HEAD_DB_OFF); } int ena_com_dev_reset(struct ena_com_dev *ena_dev, @@ -2152,6 +2157,21 @@ return ret; } +int ena_com_get_eni_stats(struct ena_com_dev *ena_dev, + struct ena_admin_eni_stats *stats) +{ + struct ena_com_stats_ctx ctx; + int ret; + + memset(&ctx, 0x0, sizeof(ctx)); + ret = ena_get_dev_stats(ena_dev, &ctx, ENA_ADMIN_GET_STATS_TYPE_ENI); + if (likely(ret == 0)) + memcpy(stats, &ctx.get_resp.u.eni_stats, + sizeof(ctx.get_resp.u.eni_stats)); + + return ret; +} + int ena_com_get_dev_basic_stats(struct ena_com_dev *ena_dev, struct ena_admin_basic_stats *stats) { @@ -2161,8 +2181,8 @@ memset(&ctx, 0x0, sizeof(ctx)); ret = ena_get_dev_stats(ena_dev, &ctx, ENA_ADMIN_GET_STATS_TYPE_BASIC); if (likely(ret == 0)) - memcpy(stats, &ctx.get_resp.basic_stats, - sizeof(ctx.get_resp.basic_stats)); + memcpy(stats, &ctx.get_resp.u.basic_stats, + sizeof(ctx.get_resp.u.basic_stats)); return ret; } @@ -2258,7 +2278,7 @@ &cmd.control_buffer.address, rss->hash_key_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -2316,7 +2336,7 @@ } memcpy(hash_key->key, key, key_len); rss->hash_init_val = init_val; - hash_key->keys_num = key_len >> 2; + hash_key->key_parts = key_len / sizeof(hash_key->key[0]); } break; case ENA_ADMIN_CRC32: @@ -2371,7 +2391,8 @@ ena_dev->rss.hash_key; if (key) - memcpy(key, hash_key->key, (size_t)(hash_key->keys_num) << 2); + memcpy(key, hash_key->key, + (size_t)(hash_key->key_parts) * sizeof(hash_key->key[0])); return 0; } @@ -2427,7 +2448,7 @@ &cmd.control_buffer.address, rss->hash_ctrl_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } cmd.control_buffer.length = sizeof(*hash_ctrl); @@ -2488,7 +2509,7 @@ available_fields = hash_ctrl->selected_fields[i].fields & hash_ctrl->supported_fields[i].fields; if (available_fields != hash_ctrl->selected_fields[i].fields) { - pr_err("hash control doesn't support all the desire configuration. proto %x supported %x selected %x\n", + pr_err("Hash control doesn't support all the desire configuration. proto %x supported %x selected %x\n", i, hash_ctrl->supported_fields[i].fields, hash_ctrl->selected_fields[i].fields); return -EOPNOTSUPP; @@ -2526,7 +2547,7 @@ /* Make sure all the fields are supported */ supported_fields = hash_ctrl->supported_fields[proto].fields; if ((hash_fields & supported_fields) != hash_fields) { - pr_err("proto %d doesn't support the required fields %x. supports only: %x\n", + pr_err("Proto %d doesn't support the required fields %x. supports only: %x\n", proto, hash_fields, supported_fields); } @@ -2566,9 +2587,9 @@ int ret; if (!ena_com_check_supported_feature_id( - ena_dev, ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG)) { + ena_dev, ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG)) { pr_debug("Feature %d isn't supported\n", - ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG); + ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG); return -EOPNOTSUPP; } @@ -2583,7 +2604,7 @@ cmd.aq_common_descriptor.opcode = ENA_ADMIN_SET_FEATURE; cmd.aq_common_descriptor.flags = ENA_ADMIN_AQ_COMMON_DESC_CTRL_DATA_INDIRECT_MASK; - cmd.feat_common.feature_id = ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG; + cmd.feat_common.feature_id = ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG; cmd.u.ind_table.size = rss->tbl_log_size; cmd.u.ind_table.inline_index = 0xFFFFFFFF; @@ -2591,7 +2612,7 @@ &cmd.control_buffer.address, rss->rss_ind_tbl_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -2621,7 +2642,7 @@ sizeof(struct ena_admin_rss_ind_table_entry); rc = ena_com_get_feature_ex(ena_dev, &get_resp, - ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG, + ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG, rss->rss_ind_tbl_dma_addr, tbl_size, 0); if (unlikely(rc)) @@ -2704,8 +2725,7 @@ host_attr->debug_area_virt_addr = dma_alloc_coherent(ena_dev->dmadev, debug_area_size, - &host_attr->debug_area_dma_addr, - GFP_KERNEL); + &host_attr->debug_area_dma_addr, GFP_KERNEL); if (unlikely(!host_attr->debug_area_virt_addr)) { host_attr->debug_area_size = 0; return -ENOMEM; @@ -2762,7 +2782,7 @@ &cmd.u.host_attr.debug_ba, host_attr->debug_area_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -2770,7 +2790,7 @@ &cmd.u.host_attr.os_info_ba, host_attr->host_info_dma_addr); if (unlikely(ret)) { - pr_err("memory address set failed\n"); + pr_err("Memory address set failed\n"); return ret; } @@ -2889,7 +2909,7 @@ (llq_info->descs_num_before_header * sizeof(struct ena_eth_io_tx_desc)); if (unlikely(ena_dev->tx_max_header_size == 0)) { - pr_err("the size of the LLQ entry is smaller than needed\n"); + pr_err("The size of the LLQ entry is smaller than needed\n"); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_com.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_com.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef ENA_COM @@ -73,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 @@ -127,6 +100,7 @@ u16 descs_num_before_header; u16 descs_per_entry; u16 max_entries_in_tx_burst; + bool disable_meta_caching; }; struct ena_com_io_cq { @@ -189,6 +163,8 @@ enum queue_direction direction; enum ena_admin_placement_policy_type mem_queue_type; + bool disable_meta_caching; + u32 msix_vector; struct ena_com_tx_meta cached_tx_meta; struct ena_com_llq_info llq_info; @@ -230,11 +206,11 @@ }; struct ena_com_stats_admin { - u32 aborted_cmd; - u32 submitted_cmd; - u32 completed_cmd; - u32 out_of_space; - u32 no_completion; + u64 aborted_cmd; + u64 submitted_cmd; + u64 completed_cmd; + u64 out_of_space; + u64 no_completion; }; struct ena_com_admin_queue { @@ -533,7 +509,7 @@ * This method goes over the async event notification queue and calls the proper * aenq handler. */ -void ena_com_aenq_intr_handler(struct ena_com_dev *dev, void *data); +void ena_com_aenq_intr_handler(struct ena_com_dev *ena_dev, void *data); /* ena_com_abort_admin_commands - Abort all the outstanding admin commands. * @ena_dev: ENA communication layer struct @@ -613,6 +589,15 @@ int ena_com_get_dev_basic_stats(struct ena_com_dev *ena_dev, struct ena_admin_basic_stats *stats); +/* ena_com_get_eni_stats - Get extended network interface statistics + * @ena_dev: ENA communication layer struct + * @stats: stats return value + * + * @return: 0 on Success and negative value otherwise. + */ +int ena_com_get_eni_stats(struct ena_com_dev *ena_dev, + struct ena_admin_eni_stats *stats); + /* ena_com_set_dev_mtu - Configure the device mtu. * @ena_dev: ENA communication layer struct * @mtu: mtu value --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_common_defs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_common_defs.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 - 2016 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef _ENA_COMMON_H_ #define _ENA_COMMON_H_ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_eth_com.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_eth_com.c @@ -1,33 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #include "ena_eth_com.h" @@ -45,8 +18,9 @@ cdesc = (struct ena_eth_io_rx_cdesc_base *)(io_cq->cdesc_addr.virt_addr + (head_masked * io_cq->cdesc_entry_size_in_bytes)); - desc_phase = (READ_ONCE(cdesc->status) & ENA_ETH_IO_RX_CDESC_BASE_PHASE_MASK) >> - ENA_ETH_IO_RX_CDESC_BASE_PHASE_SHIFT; + desc_phase = (READ_ONCE(cdesc->status) & + ENA_ETH_IO_RX_CDESC_BASE_PHASE_MASK) >> + ENA_ETH_IO_RX_CDESC_BASE_PHASE_SHIFT; if (desc_phase != expected_phase) return NULL; @@ -89,7 +63,7 @@ } io_sq->entries_in_tx_burst_left--; - pr_debug("decreasing entries_in_tx_burst_left of queue %d to %d\n", + pr_debug("Decreasing entries_in_tx_burst_left of queue %d to %d\n", io_sq->qid, io_sq->entries_in_tx_burst_left); } @@ -128,12 +102,12 @@ if (unlikely((header_offset + header_len) > llq_info->desc_list_entry_size)) { - pr_err("trying to write header larger than llq entry can accommodate\n"); + pr_err("Trying to write header larger than llq entry can accommodate\n"); return -EFAULT; } if (unlikely(!bounce_buffer)) { - pr_err("bounce buffer is NULL\n"); + pr_err("Bounce buffer is NULL\n"); return -EFAULT; } @@ -151,7 +125,7 @@ bounce_buffer = pkt_ctrl->curr_bounce_buf; if (unlikely(!bounce_buffer)) { - pr_err("bounce buffer is NULL\n"); + pr_err("Bounce buffer is NULL\n"); return NULL; } @@ -262,8 +236,9 @@ ena_com_cq_inc_head(io_cq); count++; - last = (READ_ONCE(cdesc->status) & ENA_ETH_IO_RX_CDESC_BASE_LAST_MASK) >> - ENA_ETH_IO_RX_CDESC_BASE_LAST_SHIFT; + last = (READ_ONCE(cdesc->status) & + ENA_ETH_IO_RX_CDESC_BASE_LAST_MASK) >> + ENA_ETH_IO_RX_CDESC_BASE_LAST_SHIFT; } while (!last); if (last) { @@ -275,7 +250,7 @@ io_cq->cur_rx_pkt_cdesc_count = 0; io_cq->cur_rx_pkt_cdesc_start_idx = head_masked; - pr_debug("ena q_id: %d packets were completed. first desc idx %u descs# %d\n", + pr_debug("ENA q_id: %d packets were completed. first desc idx %u descs# %d\n", io_cq->qid, *first_cdesc_idx, count); } else { io_cq->cur_rx_pkt_cdesc_count += count; @@ -285,13 +260,15 @@ return count; } -static int ena_com_create_and_store_tx_meta_desc(struct ena_com_io_sq *io_sq, - struct ena_com_tx_ctx *ena_tx_ctx) +static int ena_com_create_meta(struct ena_com_io_sq *io_sq, + struct ena_com_tx_meta *ena_meta) { struct ena_eth_io_tx_meta_desc *meta_desc = NULL; - struct ena_com_tx_meta *ena_meta = &ena_tx_ctx->ena_meta; meta_desc = get_sq_desc(io_sq); + if (unlikely(!meta_desc)) + return -EFAULT; + memset(meta_desc, 0x0, sizeof(struct ena_eth_io_tx_meta_desc)); meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_META_DESC_MASK; @@ -299,7 +276,7 @@ meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_EXT_VALID_MASK; /* bits 0-9 of the mss */ - meta_desc->word2 |= (ena_meta->mss << + meta_desc->word2 |= ((u32)ena_meta->mss << ENA_ETH_IO_TX_META_DESC_MSS_LO_SHIFT) & ENA_ETH_IO_TX_META_DESC_MSS_LO_MASK; /* bits 10-13 of the mss */ @@ -309,33 +286,57 @@ /* Extended meta desc */ meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_ETH_META_TYPE_MASK; - meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_META_STORE_MASK; - meta_desc->len_ctrl |= (io_sq->phase << + meta_desc->len_ctrl |= ((u32)io_sq->phase << ENA_ETH_IO_TX_META_DESC_PHASE_SHIFT) & ENA_ETH_IO_TX_META_DESC_PHASE_MASK; meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_FIRST_MASK; + meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_META_STORE_MASK; + meta_desc->word2 |= ena_meta->l3_hdr_len & ENA_ETH_IO_TX_META_DESC_L3_HDR_LEN_MASK; meta_desc->word2 |= (ena_meta->l3_hdr_offset << ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_SHIFT) & ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_MASK; - meta_desc->word2 |= (ena_meta->l4_hdr_len << + meta_desc->word2 |= ((u32)ena_meta->l4_hdr_len << ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_SHIFT) & ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_MASK; - meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_META_STORE_MASK; + return ena_com_sq_update_tail(io_sq); +} + +static int ena_com_create_and_store_tx_meta_desc(struct ena_com_io_sq *io_sq, + struct ena_com_tx_ctx *ena_tx_ctx, + bool *have_meta) +{ + struct ena_com_tx_meta *ena_meta = &ena_tx_ctx->ena_meta; + + /* When disable meta caching is set, don't bother to save the meta and + * compare it to the stored version, just create the meta + */ + if (io_sq->disable_meta_caching) { + if (unlikely(!ena_tx_ctx->meta_valid)) + return -EINVAL; - /* Cached the meta desc */ - memcpy(&io_sq->cached_tx_meta, ena_meta, - sizeof(struct ena_com_tx_meta)); + *have_meta = true; + return ena_com_create_meta(io_sq, ena_meta); + } - return ena_com_sq_update_tail(io_sq); + if (ena_com_meta_desc_changed(io_sq, ena_tx_ctx)) { + *have_meta = true; + /* Cache the meta desc */ + memcpy(&io_sq->cached_tx_meta, ena_meta, + sizeof(struct ena_com_tx_meta)); + return ena_com_create_meta(io_sq, ena_meta); + } + + *have_meta = false; + return 0; } static void ena_com_rx_set_flags(struct ena_com_rx_ctx *ena_rx_ctx, - struct ena_eth_io_rx_cdesc_base *cdesc) + struct ena_eth_io_rx_cdesc_base *cdesc) { ena_rx_ctx->l3_proto = cdesc->status & ENA_ETH_IO_RX_CDESC_BASE_L3_PROTO_IDX_MASK; @@ -356,7 +357,7 @@ (cdesc->status & ENA_ETH_IO_RX_CDESC_BASE_IPV4_FRAG_MASK) >> ENA_ETH_IO_RX_CDESC_BASE_IPV4_FRAG_SHIFT; - pr_debug("ena_rx_ctx->l3_proto %d ena_rx_ctx->l4_proto %d\nena_rx_ctx->l3_csum_err %d ena_rx_ctx->l4_csum_err %d\nhash frag %d frag: %d cdesc_status: %x\n", + pr_debug("l3_proto %d l4_proto %d l3_csum_err %d l4_csum_err %d hash %d frag %d cdesc_status %x\n", ena_rx_ctx->l3_proto, ena_rx_ctx->l4_proto, ena_rx_ctx->l3_csum_err, ena_rx_ctx->l4_csum_err, ena_rx_ctx->hash, ena_rx_ctx->frag, cdesc->status); @@ -389,7 +390,7 @@ } if (unlikely(header_len > io_sq->tx_max_header_size)) { - pr_err("header size is too large %d max header: %d\n", + pr_err("Header size is too large %d max header: %d\n", header_len, io_sq->tx_max_header_size); return -EINVAL; } @@ -402,12 +403,10 @@ if (unlikely(rc)) return rc; - have_meta = ena_tx_ctx->meta_valid && ena_com_meta_desc_changed(io_sq, - ena_tx_ctx); - if (have_meta) { - rc = ena_com_create_and_store_tx_meta_desc(io_sq, ena_tx_ctx); - if (unlikely(rc)) - return rc; + rc = ena_com_create_and_store_tx_meta_desc(io_sq, ena_tx_ctx, &have_meta); + if (unlikely(rc)) { + pr_err("Failed to create and store tx meta desc\n"); + return rc; } /* If the caller doesn't want to send packets */ @@ -426,16 +425,16 @@ if (!have_meta) desc->len_ctrl |= ENA_ETH_IO_TX_DESC_FIRST_MASK; - desc->buff_addr_hi_hdr_sz |= (header_len << + desc->buff_addr_hi_hdr_sz |= ((u32)header_len << ENA_ETH_IO_TX_DESC_HEADER_LENGTH_SHIFT) & ENA_ETH_IO_TX_DESC_HEADER_LENGTH_MASK; - desc->len_ctrl |= (io_sq->phase << ENA_ETH_IO_TX_DESC_PHASE_SHIFT) & + desc->len_ctrl |= ((u32)io_sq->phase << ENA_ETH_IO_TX_DESC_PHASE_SHIFT) & ENA_ETH_IO_TX_DESC_PHASE_MASK; desc->len_ctrl |= ENA_ETH_IO_TX_DESC_COMP_REQ_MASK; /* Bits 0-9 */ - desc->meta_ctrl |= (ena_tx_ctx->req_id << + desc->meta_ctrl |= ((u32)ena_tx_ctx->req_id << ENA_ETH_IO_TX_DESC_REQ_ID_LO_SHIFT) & ENA_ETH_IO_TX_DESC_REQ_ID_LO_MASK; @@ -481,7 +480,7 @@ memset(desc, 0x0, sizeof(struct ena_eth_io_tx_desc)); - desc->len_ctrl |= (io_sq->phase << + desc->len_ctrl |= ((u32)io_sq->phase << ENA_ETH_IO_TX_DESC_PHASE_SHIFT) & ENA_ETH_IO_TX_DESC_PHASE_MASK; } @@ -517,6 +516,7 @@ { struct ena_com_rx_buf_info *ena_buf = &ena_rx_ctx->ena_bufs[0]; struct ena_eth_io_rx_cdesc_base *cdesc = NULL; + u16 q_depth = io_cq->q_depth; u16 cdesc_idx = 0; u16 nb_hw_desc; u16 i = 0; @@ -529,7 +529,7 @@ return 0; } - pr_debug("fetch rx packet: queue %d completed desc: %d\n", io_cq->qid, + pr_debug("Fetch rx packet: queue %d completed desc: %d\n", io_cq->qid, nb_hw_desc); if (unlikely(nb_hw_desc > ena_rx_ctx->max_bufs)) { @@ -544,6 +544,8 @@ do { ena_buf[i].len = cdesc->length; ena_buf[i].req_id = cdesc->req_id; + if (unlikely(ena_buf[i].req_id >= q_depth)) + return -EIO; if (++i >= nb_hw_desc) break; @@ -585,9 +587,9 @@ desc->length = ena_buf->len; desc->ctrl = ENA_ETH_IO_RX_DESC_FIRST_MASK | - ENA_ETH_IO_RX_DESC_LAST_MASK | - (io_sq->phase & ENA_ETH_IO_RX_DESC_PHASE_MASK) | - ENA_ETH_IO_RX_DESC_COMP_REQ_MASK; + ENA_ETH_IO_RX_DESC_LAST_MASK | + (io_sq->phase & ENA_ETH_IO_RX_DESC_PHASE_MASK) | + ENA_ETH_IO_RX_DESC_COMP_REQ_MASK; desc->req_id = req_id; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_eth_com.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_eth_com.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef ENA_ETH_COM_H_ @@ -157,7 +130,8 @@ llq_info = &io_sq->llq_info; num_descs = ena_tx_ctx->num_bufs; - if (unlikely(ena_com_meta_desc_changed(io_sq, ena_tx_ctx))) + if (llq_info->disable_meta_caching || + unlikely(ena_com_meta_desc_changed(io_sq, ena_tx_ctx))) ++num_descs; if (num_descs > llq_info->descs_num_before_header) { @@ -166,7 +140,7 @@ llq_info->descs_per_entry); } - pr_debug("queue: %d num_descs: %d num_entries_needed: %d\n", io_sq->qid, + pr_debug("Queue: %d num_descs: %d num_entries_needed: %d\n", io_sq->qid, num_descs, num_entries_needed); return num_entries_needed > io_sq->entries_in_tx_burst_left; @@ -177,13 +151,13 @@ u16 max_entries_in_tx_burst = io_sq->llq_info.max_entries_in_tx_burst; u16 tail = io_sq->tail; - pr_debug("write submission queue doorbell for queue: %d tail: %d\n", + pr_debug("Write submission queue doorbell for queue: %d tail: %d\n", io_sq->qid, tail); writel(tail, io_sq->db_addr); if (is_llq_max_tx_burst_exists(io_sq)) { - pr_debug("reset available entries in tx burst for queue %d to %d\n", + pr_debug("Reset available entries in tx burst for queue %d to %d\n", io_sq->qid, max_entries_in_tx_burst); io_sq->entries_in_tx_burst_left = max_entries_in_tx_burst; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 - 2016 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef _ENA_ETH_IO_H_ #define _ENA_ETH_IO_H_ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_ethtool.c @@ -1,33 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #include @@ -41,12 +14,17 @@ #define ENA_STAT_ENA_COM_ENTRY(stat) { \ .name = #stat, \ - .stat_offset = offsetof(struct ena_com_stats_admin, stat) \ + .stat_offset = offsetof(struct ena_com_stats_admin, stat) / sizeof(u64) \ } #define ENA_STAT_ENTRY(stat, stat_type) { \ .name = #stat, \ - .stat_offset = offsetof(struct ena_stats_##stat_type, stat) \ + .stat_offset = offsetof(struct ena_stats_##stat_type, stat) / sizeof(u64) \ +} + +#define ENA_STAT_HW_ENTRY(stat, stat_type) { \ + .name = #stat, \ + .stat_offset = offsetof(struct ena_admin_##stat_type, stat) / sizeof(u64) \ } #define ENA_STAT_RX_ENTRY(stat) \ @@ -58,6 +36,9 @@ #define ENA_STAT_GLOBAL_ENTRY(stat) \ ENA_STAT_ENTRY(stat, dev) +#define ENA_STAT_ENI_ENTRY(stat) \ + ENA_STAT_HW_ENTRY(stat, eni_stats) + static const struct ena_stats ena_stats_global_strings[] = { ENA_STAT_GLOBAL_ENTRY(tx_timeout), ENA_STAT_GLOBAL_ENTRY(suspend), @@ -68,6 +49,14 @@ ENA_STAT_GLOBAL_ENTRY(admin_q_pause), }; +static const struct ena_stats ena_stats_eni_strings[] = { + ENA_STAT_ENI_ENTRY(bw_in_allowance_exceeded), + ENA_STAT_ENI_ENTRY(bw_out_allowance_exceeded), + ENA_STAT_ENI_ENTRY(pps_allowance_exceeded), + ENA_STAT_ENI_ENTRY(conntrack_allowance_exceeded), + ENA_STAT_ENI_ENTRY(linklocal_allowance_exceeded), +}; + static const struct ena_stats ena_stats_tx_strings[] = { ENA_STAT_TX_ENTRY(cnt), ENA_STAT_TX_ENTRY(bytes), @@ -100,6 +89,11 @@ ENA_STAT_RX_ENTRY(bad_req_id), ENA_STAT_RX_ENTRY(empty_rx_ring), ENA_STAT_RX_ENTRY(csum_unchecked), + ENA_STAT_RX_ENTRY(xdp_aborted), + ENA_STAT_RX_ENTRY(xdp_drop), + ENA_STAT_RX_ENTRY(xdp_pass), + ENA_STAT_RX_ENTRY(xdp_tx), + ENA_STAT_RX_ENTRY(xdp_invalid), }; static const struct ena_stats ena_stats_ena_com_strings[] = { @@ -110,10 +104,12 @@ ENA_STAT_ENA_COM_ENTRY(no_completion), }; -#define ENA_STATS_ARRAY_GLOBAL ARRAY_SIZE(ena_stats_global_strings) -#define ENA_STATS_ARRAY_TX ARRAY_SIZE(ena_stats_tx_strings) -#define ENA_STATS_ARRAY_RX ARRAY_SIZE(ena_stats_rx_strings) -#define ENA_STATS_ARRAY_ENA_COM ARRAY_SIZE(ena_stats_ena_com_strings) +#define ENA_STATS_ARRAY_GLOBAL ARRAY_SIZE(ena_stats_global_strings) +#define ENA_STATS_ARRAY_TX ARRAY_SIZE(ena_stats_tx_strings) +#define ENA_STATS_ARRAY_RX ARRAY_SIZE(ena_stats_rx_strings) +#define ENA_STATS_ARRAY_ENA_COM ARRAY_SIZE(ena_stats_ena_com_strings) +#define ENA_STATS_ARRAY_ENI(adapter) \ + (ARRAY_SIZE(ena_stats_eni_strings) * (adapter)->eni_stats_supported) static void ena_safe_update_stat(u64 *src, u64 *dst, struct u64_stats_sync *syncp) @@ -134,29 +130,30 @@ u64 *ptr; int i, j; - for (i = 0; i < adapter->num_io_queues; i++) { + for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) { /* Tx stats */ ring = &adapter->tx_ring[i]; for (j = 0; j < ENA_STATS_ARRAY_TX; j++) { ena_stats = &ena_stats_tx_strings[j]; - ptr = (u64 *)((uintptr_t)&ring->tx_stats + - (uintptr_t)ena_stats->stat_offset); + ptr = (u64 *)&ring->tx_stats + ena_stats->stat_offset; ena_safe_update_stat(ptr, (*data)++, &ring->syncp); } + /* XDP TX queues don't have a RX queue counterpart */ + if (!ENA_IS_XDP_INDEX(adapter, i)) { + /* Rx stats */ + ring = &adapter->rx_ring[i]; - /* Rx stats */ - ring = &adapter->rx_ring[i]; - - for (j = 0; j < ENA_STATS_ARRAY_RX; j++) { - ena_stats = &ena_stats_rx_strings[j]; + for (j = 0; j < ENA_STATS_ARRAY_RX; j++) { + ena_stats = &ena_stats_rx_strings[j]; - ptr = (u64 *)((uintptr_t)&ring->rx_stats + - (uintptr_t)ena_stats->stat_offset); + ptr = (u64 *)&ring->rx_stats + + ena_stats->stat_offset; - ena_safe_update_stat(ptr, (*data)++, &ring->syncp); + ena_safe_update_stat(ptr, (*data)++, &ring->syncp); + } } } } @@ -164,24 +161,23 @@ static void ena_dev_admin_queue_stats(struct ena_adapter *adapter, u64 **data) { const struct ena_stats *ena_stats; - u32 *ptr; + u64 *ptr; int i; for (i = 0; i < ENA_STATS_ARRAY_ENA_COM; i++) { ena_stats = &ena_stats_ena_com_strings[i]; - ptr = (u32 *)((uintptr_t)&adapter->ena_dev->admin_queue.stats + - (uintptr_t)ena_stats->stat_offset); + ptr = (u64 *)&adapter->ena_dev->admin_queue.stats + + ena_stats->stat_offset; *(*data)++ = *ptr; } } -static void ena_get_ethtool_stats(struct net_device *netdev, - struct ethtool_stats *stats, - u64 *data) +static void ena_get_stats(struct ena_adapter *adapter, + u64 *data, + bool eni_stats_needed) { - struct ena_adapter *adapter = netdev_priv(netdev); const struct ena_stats *ena_stats; u64 *ptr; int i; @@ -189,16 +185,48 @@ for (i = 0; i < ENA_STATS_ARRAY_GLOBAL; i++) { ena_stats = &ena_stats_global_strings[i]; - ptr = (u64 *)((uintptr_t)&adapter->dev_stats + - (uintptr_t)ena_stats->stat_offset); + ptr = (u64 *)&adapter->dev_stats + ena_stats->stat_offset; ena_safe_update_stat(ptr, data++, &adapter->syncp); } + if (eni_stats_needed) { + ena_update_hw_stats(adapter); + for (i = 0; i < ENA_STATS_ARRAY_ENI(adapter); i++) { + ena_stats = &ena_stats_eni_strings[i]; + + ptr = (u64 *)&adapter->eni_stats + + ena_stats->stat_offset; + + ena_safe_update_stat(ptr, data++, &adapter->syncp); + } + } + ena_queue_stats(adapter, &data); ena_dev_admin_queue_stats(adapter, &data); } +static void ena_get_ethtool_stats(struct net_device *netdev, + struct ethtool_stats *stats, + u64 *data) +{ + struct ena_adapter *adapter = netdev_priv(netdev); + + ena_get_stats(adapter, data, adapter->eni_stats_supported); +} + +static int ena_get_sw_stats_count(struct ena_adapter *adapter) +{ + return adapter->num_io_queues * (ENA_STATS_ARRAY_TX + ENA_STATS_ARRAY_RX) + + adapter->xdp_num_queues * ENA_STATS_ARRAY_TX + + ENA_STATS_ARRAY_GLOBAL + ENA_STATS_ARRAY_ENA_COM; +} + +static int ena_get_hw_stats_count(struct ena_adapter *adapter) +{ + return ENA_STATS_ARRAY_ENI(adapter); +} + int ena_get_sset_count(struct net_device *netdev, int sset) { struct ena_adapter *adapter = netdev_priv(netdev); @@ -206,31 +234,38 @@ if (sset != ETH_SS_STATS) return -EOPNOTSUPP; - return adapter->num_io_queues * (ENA_STATS_ARRAY_TX + ENA_STATS_ARRAY_RX) - + ENA_STATS_ARRAY_GLOBAL + ENA_STATS_ARRAY_ENA_COM; + return ena_get_sw_stats_count(adapter) + ena_get_hw_stats_count(adapter); } static void ena_queue_strings(struct ena_adapter *adapter, u8 **data) { const struct ena_stats *ena_stats; + bool is_xdp; int i, j; - for (i = 0; i < adapter->num_io_queues; i++) { + for (i = 0; i < adapter->num_io_queues + adapter->xdp_num_queues; i++) { + is_xdp = ENA_IS_XDP_INDEX(adapter, i); /* Tx stats */ for (j = 0; j < ENA_STATS_ARRAY_TX; j++) { ena_stats = &ena_stats_tx_strings[j]; snprintf(*data, ETH_GSTRING_LEN, - "queue_%u_tx_%s", i, ena_stats->name); + "queue_%u_%s_%s", i, + is_xdp ? "xdp_tx" : "tx", ena_stats->name); (*data) += ETH_GSTRING_LEN; } - /* Rx stats */ - for (j = 0; j < ENA_STATS_ARRAY_RX; j++) { - ena_stats = &ena_stats_rx_strings[j]; - snprintf(*data, ETH_GSTRING_LEN, - "queue_%u_rx_%s", i, ena_stats->name); - (*data) += ETH_GSTRING_LEN; + if (!is_xdp) { + /* RX stats, in XDP there isn't a RX queue + * counterpart + */ + for (j = 0; j < ENA_STATS_ARRAY_RX; j++) { + ena_stats = &ena_stats_rx_strings[j]; + + snprintf(*data, ETH_GSTRING_LEN, + "queue_%u_rx_%s", i, ena_stats->name); + (*data) += ETH_GSTRING_LEN; + } } } } @@ -249,25 +284,43 @@ } } -static void ena_get_strings(struct net_device *netdev, u32 sset, u8 *data) +static void ena_get_strings(struct ena_adapter *adapter, + u8 *data, + bool eni_stats_needed) { - struct ena_adapter *adapter = netdev_priv(netdev); const struct ena_stats *ena_stats; int i; - if (sset != ETH_SS_STATS) - return; - for (i = 0; i < ENA_STATS_ARRAY_GLOBAL; i++) { ena_stats = &ena_stats_global_strings[i]; memcpy(data, ena_stats->name, ETH_GSTRING_LEN); data += ETH_GSTRING_LEN; } + if (eni_stats_needed) { + for (i = 0; i < ENA_STATS_ARRAY_ENI(adapter); i++) { + ena_stats = &ena_stats_eni_strings[i]; + memcpy(data, ena_stats->name, ETH_GSTRING_LEN); + data += ETH_GSTRING_LEN; + } + } + ena_queue_strings(adapter, &data); ena_com_dev_strings(&data); } +static void ena_get_ethtool_strings(struct net_device *netdev, + u32 sset, + u8 *data) +{ + struct ena_adapter *adapter = netdev_priv(netdev); + + if (sset != ETH_SS_STATS) + return; + + ena_get_strings(adapter, data, adapter->eni_stats_supported); +} + static int ena_get_link_ksettings(struct net_device *netdev, struct ethtool_link_ksettings *link_ksettings) { @@ -847,7 +900,7 @@ .get_ringparam = ena_get_ringparam, .set_ringparam = ena_set_ringparam, .get_sset_count = ena_get_sset_count, - .get_strings = ena_get_strings, + .get_strings = ena_get_ethtool_strings, .get_ethtool_stats = ena_get_ethtool_stats, .get_rxnfc = ena_get_rxnfc, .set_rxnfc = ena_set_rxnfc, @@ -875,7 +928,7 @@ int strings_num; int i, rc; - strings_num = ena_get_sset_count(netdev, ETH_SS_STATS); + strings_num = ena_get_sw_stats_count(adapter); if (strings_num <= 0) { netif_err(adapter, drv, netdev, "Can't get stats num\n"); return; @@ -886,7 +939,7 @@ GFP_ATOMIC); if (!strings_buf) { netif_err(adapter, drv, netdev, - "failed to alloc strings_buf\n"); + "Failed to allocate strings_buf\n"); return; } @@ -895,13 +948,13 @@ GFP_ATOMIC); if (!data_buf) { netif_err(adapter, drv, netdev, - "failed to allocate data buf\n"); + "Failed to allocate data buf\n"); devm_kfree(&adapter->pdev->dev, strings_buf); return; } - ena_get_strings(netdev, ETH_SS_STATS, strings_buf); - ena_get_ethtool_stats(netdev, NULL, data_buf); + ena_get_strings(adapter, strings_buf, false); + ena_get_stats(adapter, data_buf, false); /* If there is a buffer, dump stats, otherwise print them to dmesg */ if (buf) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -1,33 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt @@ -139,7 +112,7 @@ ret = ena_com_set_dev_mtu(adapter->ena_dev, new_mtu); if (!ret) { - netif_dbg(adapter, drv, dev, "set MTU to %d\n", new_mtu); + netif_dbg(adapter, drv, dev, "Set MTU to %d\n", new_mtu); update_rx_ring_mtu(adapter, new_mtu); dev->mtu = new_mtu; } else { @@ -178,7 +151,7 @@ */ if (unlikely(rc)) { netif_err(adapter, tx_queued, dev, - "failed to prepare tx bufs\n"); + "Failed to prepare tx bufs\n"); u64_stats_update_begin(&ring->syncp); ring->tx_stats.prepare_ctx_err++; u64_stats_update_end(&ring->syncp); @@ -292,7 +265,7 @@ u64_stats_update_begin(&xdp_ring->syncp); xdp_ring->tx_stats.dma_mapping_err++; u64_stats_update_end(&xdp_ring->syncp); - netdev_warn(adapter->netdev, "failed to map xdp buff\n"); + netif_warn(adapter, tx_queued, adapter->netdev, "Failed to map xdp buff\n"); xdp_return_frame_rx_napi(tx_info->xdpf); tx_info->xdpf = NULL; @@ -307,7 +280,7 @@ struct ena_rx_buffer *rx_info) { struct ena_adapter *adapter = netdev_priv(dev); - struct ena_com_tx_ctx ena_tx_ctx = {0}; + struct ena_com_tx_ctx ena_tx_ctx = {}; struct ena_tx_buffer *tx_info; struct ena_ring *xdp_ring; u16 next_to_use, req_id; @@ -365,6 +338,7 @@ { struct bpf_prog *xdp_prog; u32 verdict = XDP_PASS; + u64 *xdp_stat; rcu_read_lock(); xdp_prog = READ_ONCE(rx_ring->xdp_bpf_prog); @@ -374,17 +348,31 @@ verdict = bpf_prog_run_xdp(xdp_prog, xdp); - if (verdict == XDP_TX) + if (verdict == XDP_TX) { ena_xdp_xmit_buff(rx_ring->netdev, xdp, rx_ring->qid + rx_ring->adapter->num_io_queues, rx_info); - else if (unlikely(verdict == XDP_ABORTED)) + + xdp_stat = &rx_ring->rx_stats.xdp_tx; + } else if (unlikely(verdict == XDP_ABORTED)) { trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); - else if (unlikely(verdict > XDP_TX)) + xdp_stat = &rx_ring->rx_stats.xdp_aborted; + } else if (unlikely(verdict == XDP_DROP)) { + xdp_stat = &rx_ring->rx_stats.xdp_drop; + } else if (unlikely(verdict == XDP_PASS)) { + xdp_stat = &rx_ring->rx_stats.xdp_pass; + } else { bpf_warn_invalid_xdp_action(verdict); + xdp_stat = &rx_ring->rx_stats.xdp_invalid; + } + + u64_stats_update_begin(&rx_ring->syncp); + (*xdp_stat)++; + u64_stats_update_end(&rx_ring->syncp); out: rcu_read_unlock(); + return verdict; } @@ -549,7 +537,7 @@ if (!old_bpf_prog) netif_info(adapter, drv, adapter->netdev, - "xdp program set, changing the max_mtu from %d to %d", + "XDP program is set, changing the max_mtu from %d to %d", prev_mtu, netdev->max_mtu); } else if (rc == ENA_XDP_CURRENT_MTU_TOO_LARGE) { @@ -655,6 +643,7 @@ txr->sgl_size = adapter->max_tx_sgl_size; txr->smoothed_interval = ena_com_get_nonadaptive_moderation_interval_tx(ena_dev); + txr->disable_meta_caching = adapter->disable_meta_caching; /* Don't init RX queues for xdp queues */ if (!ENA_IS_XDP_INDEX(adapter, i)) { @@ -806,24 +795,6 @@ adapter->num_io_queues); } -static int validate_rx_req_id(struct ena_ring *rx_ring, u16 req_id) -{ - if (likely(req_id < rx_ring->ring_size)) - return 0; - - netif_err(rx_ring->adapter, rx_err, rx_ring->netdev, - "Invalid rx req_id: %hu\n", req_id); - - u64_stats_update_begin(&rx_ring->syncp); - rx_ring->rx_stats.bad_req_id++; - u64_stats_update_end(&rx_ring->syncp); - - /* Trigger device reset */ - rx_ring->adapter->reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID; - set_bit(ENA_FLAG_TRIGGER_RESET, &rx_ring->adapter->flags); - return -EFAULT; -} - /* ena_setup_rx_resources - allocate I/O Rx resources (Descriptors) * @adapter: network interface device structure * @qid: queue index @@ -943,10 +914,14 @@ static int ena_alloc_rx_page(struct ena_ring *rx_ring, struct ena_rx_buffer *rx_info, gfp_t gfp) { + int headroom = rx_ring->rx_headroom; struct ena_com_buf *ena_buf; struct page *page; dma_addr_t dma; + /* restore page offset value in case it has been changed by device */ + rx_info->page_offset = headroom; + /* if previous allocated page is not used */ if (unlikely(rx_info->page)) return 0; @@ -959,8 +934,11 @@ return -ENOMEM; } + /* To enable NIC-side port-mirroring, AKA SPAN port, + * we make the buffer readable from the nic as well + */ dma = dma_map_page(rx_ring->dev, page, 0, ENA_PAGE_SIZE, - DMA_FROM_DEVICE); + DMA_BIDIRECTIONAL); if (unlikely(dma_mapping_error(rx_ring->dev, dma))) { u64_stats_update_begin(&rx_ring->syncp); rx_ring->rx_stats.dma_mapping_err++; @@ -970,13 +948,12 @@ return -EIO; } netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev, - "alloc page %p, rx_info %p\n", page, rx_info); + "Allocate page %p, rx_info %p\n", page, rx_info); rx_info->page = page; - rx_info->page_offset = 0; ena_buf = &rx_info->ena_buf; - ena_buf->paddr = dma + rx_ring->rx_headroom; - ena_buf->len = ENA_PAGE_SIZE - rx_ring->rx_headroom; + ena_buf->paddr = dma + headroom; + ena_buf->len = ENA_PAGE_SIZE - headroom; return 0; } @@ -993,10 +970,9 @@ return; } - dma_unmap_page(rx_ring->dev, - ena_buf->paddr - rx_ring->rx_headroom, + dma_unmap_page(rx_ring->dev, ena_buf->paddr - rx_ring->rx_headroom, ENA_PAGE_SIZE, - DMA_FROM_DEVICE); + DMA_BIDIRECTIONAL); __free_page(page); rx_info->page = NULL; @@ -1021,7 +997,7 @@ GFP_ATOMIC | __GFP_COMP); if (unlikely(rc < 0)) { netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev, - "failed to alloc buffer for rx queue %d\n", + "Failed to allocate buffer for rx queue %d\n", rx_ring->qid); break; } @@ -1030,7 +1006,7 @@ req_id); if (unlikely(rc)) { netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev, - "failed to add buffer for rx queue %d\n", + "Failed to add buffer for rx queue %d\n", rx_ring->qid); break; } @@ -1042,9 +1018,9 @@ u64_stats_update_begin(&rx_ring->syncp); rx_ring->rx_stats.refil_partial++; u64_stats_update_end(&rx_ring->syncp); - netdev_warn(rx_ring->netdev, - "refilled rx qid %d with only %d buffers (from %d)\n", - rx_ring->qid, i, num); + netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev, + "Refilled rx qid %d with only %d buffers (from %d)\n", + rx_ring->qid, i, num); } /* ena_com_write_sq_doorbell issues a wmb() */ @@ -1085,7 +1061,7 @@ if (unlikely(rc != bufs_num)) netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev, - "refilling Queue %d failed. allocated %d buffers from: %d\n", + "Refilling Queue %d failed. allocated %d buffers from: %d\n", i, rc, bufs_num); } } @@ -1143,14 +1119,14 @@ continue; if (print_once) { - netdev_notice(tx_ring->netdev, - "free uncompleted tx skb qid %d idx 0x%x\n", - tx_ring->qid, i); + netif_notice(tx_ring->adapter, ifdown, tx_ring->netdev, + "Free uncompleted tx skb qid %d idx 0x%x\n", + tx_ring->qid, i); print_once = false; } else { - netdev_dbg(tx_ring->netdev, - "free uncompleted tx skb qid %d idx 0x%x\n", - tx_ring->qid, i); + netif_dbg(tx_ring->adapter, ifdown, tx_ring->netdev, + "Free uncompleted tx skb qid %d idx 0x%x\n", + tx_ring->qid, i); } ena_unmap_tx_buff(tx_ring, tx_info); @@ -1371,15 +1347,10 @@ struct ena_rx_buffer *rx_info; u16 len, req_id, buf = 0; void *va; - int rc; len = ena_bufs[buf].len; req_id = ena_bufs[buf].req_id; - rc = validate_rx_req_id(rx_ring, req_id); - if (unlikely(rc < 0)) - return NULL; - rx_info = &rx_ring->rx_buffer_info[req_id]; if (unlikely(!rx_info->page)) { @@ -1394,7 +1365,8 @@ /* save virt address of first buffer */ va = page_address(rx_info->page) + rx_info->page_offset; - prefetch(va + NET_IP_ALIGN); + + prefetch(va); if (len <= rx_ring->rx_copybreak) { skb = ena_alloc_skb(rx_ring, false); @@ -1402,7 +1374,7 @@ return NULL; netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev, - "rx allocated small packet. len %d. data_len %d\n", + "RX allocated small packet. len %d. data_len %d\n", skb->len, skb->data_len); /* sync this buffer for CPU use */ @@ -1431,15 +1403,13 @@ do { dma_unmap_page(rx_ring->dev, dma_unmap_addr(&rx_info->ena_buf, paddr), - ENA_PAGE_SIZE, DMA_FROM_DEVICE); + ENA_PAGE_SIZE, DMA_BIDIRECTIONAL); skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_info->page, rx_info->page_offset, len, ENA_PAGE_SIZE); - /* The offset is non zero only for the first buffer */ - rx_info->page_offset = 0; netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev, - "rx skb updated. len %d. data_len %d\n", + "RX skb updated. len %d. data_len %d\n", skb->len, skb->data_len); rx_info->page = NULL; @@ -1455,10 +1425,6 @@ len = ena_bufs[buf].len; req_id = ena_bufs[buf].req_id; - rc = validate_rx_req_id(rx_ring, req_id); - if (unlikely(rc < 0)) - return NULL; - rx_info = &rx_ring->rx_buffer_info[req_id]; } while (1); @@ -1559,8 +1525,7 @@ int ret; rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id]; - xdp->data = page_address(rx_info->page) + - rx_info->page_offset + rx_ring->rx_headroom; + xdp->data = page_address(rx_info->page) + rx_info->page_offset; xdp_set_data_meta_invalid(xdp); xdp->data_hard_start = page_address(rx_info->page); xdp->data_end = xdp->data + rx_ring->ena_bufs[0].len; @@ -1627,8 +1592,9 @@ if (unlikely(ena_rx_ctx.descs == 0)) break; + /* First descriptor might have an offset set by the device */ rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id]; - rx_info->page_offset = ena_rx_ctx.pkt_offset; + rx_info->page_offset += ena_rx_ctx.pkt_offset; netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev, "rx_poll: q %d got packet from ena. descs #: %d l3 proto %d l4 proto %d hash: %x\n", @@ -1646,6 +1612,11 @@ &next_to_clean); if (unlikely(!skb)) { + /* The page might not actually be freed here since the + * page reference count is incremented in + * ena_xdp_xmit_buff(), and it will be decreased only + * when send completion was received from the device + */ if (xdp_verdict == XDP_TX) ena_free_rx_page(rx_ring, &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id]); @@ -1707,12 +1678,18 @@ error: adapter = netdev_priv(rx_ring->netdev); - u64_stats_update_begin(&rx_ring->syncp); - rx_ring->rx_stats.bad_desc_num++; - u64_stats_update_end(&rx_ring->syncp); + if (rc == -ENOSPC) { + u64_stats_update_begin(&rx_ring->syncp); + rx_ring->rx_stats.bad_desc_num++; + u64_stats_update_end(&rx_ring->syncp); + adapter->reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + } else { + u64_stats_update_begin(&rx_ring->syncp); + rx_ring->rx_stats.bad_req_id++; + u64_stats_update_end(&rx_ring->syncp); + adapter->reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID; + } - /* Too many desc from the device. Trigger reset */ - adapter->reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; set_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags); return 0; @@ -1773,6 +1750,7 @@ u64_stats_update_begin(&tx_ring->syncp); tx_ring->tx_stats.unmask_interrupt++; u64_stats_update_end(&tx_ring->syncp); + /* It is a shared MSI-X. * Tx and Rx CQ have pointer to it. * So we use one of them to reach the intr reg @@ -1913,7 +1891,10 @@ /* Update numa and unmask the interrupt only when schedule * from the interrupt context (vs from sk_busy_loop) */ - if (napi_complete_done(napi, rx_work_done)) { + if (napi_complete_done(napi, rx_work_done) && + READ_ONCE(ena_napi->interrupts_masked)) { + smp_rmb(); /* make sure interrupts_masked is read */ + WRITE_ONCE(ena_napi->interrupts_masked, false); /* We apply adaptive moderation on Rx path only. * Tx uses static interrupt moderation. */ @@ -1961,6 +1942,9 @@ ena_napi->first_interrupt = true; + WRITE_ONCE(ena_napi->interrupts_masked, true); + smp_wmb(); /* write interrupts_masked before calling napi */ + napi_schedule_irqoff(&ena_napi->napi); return IRQ_HANDLED; @@ -1984,7 +1968,7 @@ /* Reserved the max msix vectors we might need */ msix_vecs = ENA_MAX_MSIX_VEC(adapter->max_num_io_queues); netif_dbg(adapter, probe, adapter->netdev, - "trying to enable MSI-X, vectors %d\n", msix_vecs); + "Trying to enable MSI-X, vectors %d\n", msix_vecs); irq_cnt = pci_alloc_irq_vectors(adapter->pdev, ENA_MIN_MSIX_VEC, msix_vecs, PCI_IRQ_MSIX); @@ -1997,7 +1981,7 @@ if (irq_cnt != msix_vecs) { netif_notice(adapter, probe, adapter->netdev, - "enable only %d MSI-X (out of %d), reduce the number of queues\n", + "Enable only %d MSI-X (out of %d), reduce the number of queues\n", irq_cnt, msix_vecs); adapter->num_io_queues = irq_cnt - ENA_ADMIN_MSIX_VEC; } @@ -2067,12 +2051,12 @@ irq->data); if (rc) { netif_err(adapter, probe, adapter->netdev, - "failed to request admin irq\n"); + "Failed to request admin irq\n"); return rc; } netif_dbg(adapter, probe, adapter->netdev, - "set affinity hint of mgmnt irq.to 0x%lx (irq vector: %d)\n", + "Set affinity hint of mgmnt irq.to 0x%lx (irq vector: %d)\n", irq->affinity_hint_mask.bits[0], irq->vector); irq_set_affinity_hint(irq->vector, &irq->affinity_hint_mask); @@ -2105,7 +2089,7 @@ } netif_dbg(adapter, ifup, adapter->netdev, - "set affinity hint of irq. index %d to 0x%lx (irq vector: %d)\n", + "Set affinity hint of irq. index %d to 0x%lx (irq vector: %d)\n", i, irq->affinity_hint_mask.bits[0], irq->vector); irq_set_affinity_hint(irq->vector, &irq->affinity_hint_mask); @@ -2177,27 +2161,23 @@ int i; for (i = first_index; i < first_index + count; i++) { - /* Check if napi was initialized before */ - if (!ENA_IS_XDP_INDEX(adapter, i) || - adapter->ena_napi[i].xdp_ring) - netif_napi_del(&adapter->ena_napi[i].napi); - else - WARN_ON(ENA_IS_XDP_INDEX(adapter, i) && - adapter->ena_napi[i].xdp_ring); + netif_napi_del(&adapter->ena_napi[i].napi); + + WARN_ON(!ENA_IS_XDP_INDEX(adapter, i) && + adapter->ena_napi[i].xdp_ring); } } static void ena_init_napi_in_range(struct ena_adapter *adapter, int first_index, int count) { - struct ena_napi *napi = {0}; int i; for (i = first_index; i < first_index + count; i++) { - napi = &adapter->ena_napi[i]; + struct ena_napi *napi = &adapter->ena_napi[i]; netif_napi_add(adapter->netdev, - &adapter->ena_napi[i].napi, + &napi->napi, ENA_IS_XDP_INDEX(adapter, i) ? ena_xdp_io_poll : ena_io_poll, ENA_NAPI_BUDGET); @@ -2549,7 +2529,7 @@ { int io_queue_count, rc, i; - netdev_dbg(adapter->netdev, "%s\n", __func__); + netif_dbg(adapter, ifup, adapter->netdev, "%s\n", __func__); io_queue_count = adapter->num_io_queues + adapter->xdp_num_queues; ena_setup_io_intr(adapter); @@ -2633,7 +2613,8 @@ rc = ena_com_dev_reset(adapter->ena_dev, adapter->reset_reason); if (rc) - dev_err(&adapter->pdev->dev, "Device reset failed\n"); + netif_err(adapter, ifdown, adapter->netdev, + "Device reset failed\n"); /* stop submitting admin commands on a device that was reset */ ena_com_set_admin_running_state(adapter->ena_dev, false); } @@ -2776,7 +2757,9 @@ return dev_was_up ? ena_open(adapter->netdev) : 0; } -static void ena_tx_csum(struct ena_com_tx_ctx *ena_tx_ctx, struct sk_buff *skb) +static void ena_tx_csum(struct ena_com_tx_ctx *ena_tx_ctx, + struct sk_buff *skb, + bool disable_meta_caching) { u32 mss = skb_shinfo(skb)->gso_size; struct ena_com_tx_meta *ena_meta = &ena_tx_ctx->ena_meta; @@ -2820,7 +2803,9 @@ ena_meta->l3_hdr_len = skb_network_header_len(skb); ena_meta->l3_hdr_offset = skb_network_offset(skb); ena_tx_ctx->meta_valid = 1; - + } else if (disable_meta_caching) { + memset(ena_meta, 0, sizeof(*ena_meta)); + ena_tx_ctx->meta_valid = 1; } else { ena_tx_ctx->meta_valid = 0; } @@ -2951,7 +2936,7 @@ u64_stats_update_begin(&tx_ring->syncp); tx_ring->tx_stats.dma_mapping_err++; u64_stats_update_end(&tx_ring->syncp); - netdev_warn(adapter->netdev, "failed to map skb\n"); + netif_warn(adapter, tx_queued, adapter->netdev, "Failed to map skb\n"); tx_info->skb = NULL; @@ -3004,7 +2989,7 @@ ena_tx_ctx.header_len = header_len; /* set flags and meta data */ - ena_tx_csum(&ena_tx_ctx, skb); + ena_tx_csum(&ena_tx_ctx, skb, tx_ring->disable_meta_caching); rc = ena_xmit_common(dev, tx_ring, @@ -3089,13 +3074,14 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev, struct pci_dev *pdev) { + struct device *dev = &pdev->dev; struct ena_admin_host_info *host_info; int rc; /* Allocate only the host info */ rc = ena_com_allocate_host_info(ena_dev); if (rc) { - pr_err("Cannot allocate host info\n"); + dev_err(dev, "Cannot allocate host info\n"); return; } @@ -3118,14 +3104,16 @@ host_info->driver_supported_features = ENA_ADMIN_HOST_INFO_RX_OFFSET_MASK | - ENA_ADMIN_HOST_INFO_INTERRUPT_MODERATION_MASK; + ENA_ADMIN_HOST_INFO_INTERRUPT_MODERATION_MASK | + ENA_ADMIN_HOST_INFO_RX_BUF_MIRRORING_MASK | + ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_MASK; rc = ena_com_set_host_attributes(ena_dev); if (rc) { if (rc == -EOPNOTSUPP) - pr_warn("Cannot set host attributes\n"); + dev_warn(dev, "Cannot set host attributes\n"); else - pr_err("Cannot set host attributes\n"); + dev_err(dev, "Cannot set host attributes\n"); goto err; } @@ -3153,7 +3141,8 @@ rc = ena_com_allocate_debug_area(adapter->ena_dev, debug_area_size); if (rc) { - pr_err("Cannot allocate debug area\n"); + netif_err(adapter, drv, adapter->netdev, + "Cannot allocate debug area\n"); return; } @@ -3173,6 +3162,19 @@ ena_com_delete_debug_area(adapter->ena_dev); } +int ena_update_hw_stats(struct ena_adapter *adapter) +{ + int rc = 0; + + rc = ena_com_get_eni_stats(adapter->ena_dev, &adapter->eni_stats); + if (rc) { + dev_info_once(&adapter->pdev->dev, "Failed to get ENI stats\n"); + return rc; + } + + return 0; +} + static void ena_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) { @@ -3271,10 +3273,71 @@ return 0; } +static void set_default_llq_configurations(struct ena_llq_configurations *llq_config) +{ + llq_config->llq_header_location = ENA_ADMIN_INLINE_HEADER; + llq_config->llq_stride_ctrl = ENA_ADMIN_MULTIPLE_DESCS_PER_ENTRY; + llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; + llq_config->llq_ring_entry_size = ENA_ADMIN_LIST_ENTRY_SIZE_128B; + llq_config->llq_ring_entry_size_value = 128; +} + +static int ena_set_queues_placement_policy(struct pci_dev *pdev, + struct ena_com_dev *ena_dev, + struct ena_admin_feature_llq_desc *llq, + struct ena_llq_configurations *llq_default_configurations) +{ + int rc; + u32 llq_feature_mask; + + llq_feature_mask = 1 << ENA_ADMIN_LLQ; + if (!(ena_dev->supported_features & llq_feature_mask)) { + dev_err(&pdev->dev, + "LLQ is not supported Fallback to host mode policy.\n"); + ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; + return 0; + } + + rc = ena_com_config_dev_mode(ena_dev, llq, llq_default_configurations); + if (unlikely(rc)) { + dev_err(&pdev->dev, + "Failed to configure the device mode. Fallback to host mode policy.\n"); + ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; + } + + return 0; +} + +static int ena_map_llq_mem_bar(struct pci_dev *pdev, struct ena_com_dev *ena_dev, + int bars) +{ + bool has_mem_bar = !!(bars & BIT(ENA_MEM_BAR)); + + if (!has_mem_bar) { + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) { + dev_err(&pdev->dev, + "ENA device does not expose LLQ bar. Fallback to host mode policy.\n"); + ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; + } + + return 0; + } + + ena_dev->mem_bar = devm_ioremap_wc(&pdev->dev, + pci_resource_start(pdev, ENA_MEM_BAR), + pci_resource_len(pdev, ENA_MEM_BAR)); + + if (!ena_dev->mem_bar) + return -EFAULT; + + return 0; +} + static int ena_device_init(struct ena_com_dev *ena_dev, struct pci_dev *pdev, struct ena_com_dev_get_features_ctx *get_feat_ctx, bool *wd_state) { + struct ena_llq_configurations llq_config; struct device *dev = &pdev->dev; bool readless_supported; u32 aenq_groups; @@ -3283,7 +3346,7 @@ rc = ena_com_mmio_reg_read_request_init(ena_dev); if (rc) { - dev_err(dev, "failed to init mmio read less\n"); + dev_err(dev, "Failed to init mmio read less\n"); return rc; } @@ -3301,7 +3364,7 @@ rc = ena_com_validate_version(ena_dev); if (rc) { - dev_err(dev, "device version is too low\n"); + dev_err(dev, "Device version is too low\n"); goto err_mmio_read_less; } @@ -3312,16 +3375,9 @@ goto err_mmio_read_less; } - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(dma_width)); - if (rc) { - dev_err(dev, "pci_set_dma_mask failed 0x%x\n", rc); - goto err_mmio_read_less; - } - - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(dma_width)); + rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(dma_width)); if (rc) { - dev_err(dev, "err_pci_set_consistent_dma_mask failed 0x%x\n", - rc); + dev_err(dev, "dma_set_mask_and_coherent failed %d\n", rc); goto err_mmio_read_less; } @@ -3365,6 +3421,15 @@ *wd_state = !!(aenq_groups & BIT(ENA_ADMIN_KEEP_ALIVE)); + set_default_llq_configurations(&llq_config); + + rc = ena_set_queues_placement_policy(pdev, ena_dev, &get_feat_ctx->llq, + &llq_config); + if (rc) { + dev_err(dev, "ENA device init failed\n"); + goto err_admin_init; + } + return 0; err_admin_init: @@ -3497,9 +3562,10 @@ netif_carrier_on(adapter->netdev); mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ)); - dev_err(&pdev->dev, "Device reset completed successfully\n"); adapter->last_keep_alive_jiffies = jiffies; + dev_err(&pdev->dev, "Device reset completed successfully\n"); + return rc; err_disable_msix: ena_free_mgmnt_irq(adapter); @@ -3523,16 +3589,14 @@ { struct ena_adapter *adapter = container_of(work, struct ena_adapter, reset_task); - struct pci_dev *pdev = adapter->pdev; - if (unlikely(!test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) { - dev_err(&pdev->dev, - "device reset schedule while reset bit is off\n"); - return; - } rtnl_lock(); - ena_destroy_device(adapter, false); - ena_restore_device(adapter); + + if (likely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) { + ena_destroy_device(adapter, false); + ena_restore_device(adapter); + } + rtnl_unlock(); } @@ -3614,7 +3678,7 @@ } u64_stats_update_begin(&tx_ring->syncp); - tx_ring->tx_stats.missed_tx = missed_tx; + tx_ring->tx_stats.missed_tx += missed_tx; u64_stats_update_end(&tx_ring->syncp); return rc; @@ -3703,7 +3767,7 @@ u64_stats_update_end(&rx_ring->syncp); netif_err(adapter, drv, adapter->netdev, - "trigger refill for ring %d\n", i); + "Trigger refill for ring %d\n", i); napi_schedule(rx_ring->napi); rx_ring->empty_rx_queue = 0; @@ -3871,54 +3935,6 @@ return max_num_io_queues; } -static int ena_set_queues_placement_policy(struct pci_dev *pdev, - struct ena_com_dev *ena_dev, - struct ena_admin_feature_llq_desc *llq, - struct ena_llq_configurations *llq_default_configurations) -{ - bool has_mem_bar; - int rc; - u32 llq_feature_mask; - - llq_feature_mask = 1 << ENA_ADMIN_LLQ; - if (!(ena_dev->supported_features & llq_feature_mask)) { - dev_err(&pdev->dev, - "LLQ is not supported Fallback to host mode policy.\n"); - ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; - return 0; - } - - has_mem_bar = pci_select_bars(pdev, IORESOURCE_MEM) & BIT(ENA_MEM_BAR); - - rc = ena_com_config_dev_mode(ena_dev, llq, llq_default_configurations); - if (unlikely(rc)) { - dev_err(&pdev->dev, - "Failed to configure the device mode. Fallback to host mode policy.\n"); - ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; - return 0; - } - - /* Nothing to config, exit */ - if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) - return 0; - - if (!has_mem_bar) { - dev_err(&pdev->dev, - "ENA device does not expose LLQ bar. Fallback to host mode policy.\n"); - ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; - return 0; - } - - ena_dev->mem_bar = devm_ioremap_wc(&pdev->dev, - pci_resource_start(pdev, ENA_MEM_BAR), - pci_resource_len(pdev, ENA_MEM_BAR)); - - if (!ena_dev->mem_bar) - return -EFAULT; - - return 0; -} - static void ena_set_dev_offloads(struct ena_com_dev_get_features_ctx *feat, struct net_device *netdev) { @@ -4034,14 +4050,6 @@ pci_release_selected_regions(pdev, release_bars); } -static void set_default_llq_configurations(struct ena_llq_configurations *llq_config) -{ - llq_config->llq_header_location = ENA_ADMIN_INLINE_HEADER; - llq_config->llq_ring_entry_size = ENA_ADMIN_LIST_ENTRY_SIZE_128B; - llq_config->llq_stride_ctrl = ENA_ADMIN_MULTIPLE_DESCS_PER_ENTRY; - llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; - llq_config->llq_ring_entry_size_value = 128; -} static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx) { @@ -4121,15 +4129,13 @@ */ static int ena_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - struct ena_calc_queue_size_ctx calc_queue_ctx = { 0 }; + struct ena_calc_queue_size_ctx calc_queue_ctx = {}; struct ena_com_dev_get_features_ctx get_feat_ctx; - struct ena_llq_configurations llq_config; struct ena_com_dev *ena_dev = NULL; struct ena_adapter *adapter; struct net_device *netdev; static int adapters_found; u32 max_num_io_queues; - char *queue_type_str; bool wd_state; int bars, rc; @@ -4141,6 +4147,12 @@ return rc; } + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(ENA_MAX_PHYS_ADDR_SIZE_BITS)); + if (rc) { + dev_err(&pdev->dev, "dma_set_mask_and_coherent failed %d\n", rc); + goto err_disable_device; + } + pci_set_master(pdev); ena_dev = vzalloc(sizeof(*ena_dev)); @@ -4161,7 +4173,7 @@ pci_resource_start(pdev, ENA_REG_BAR), pci_resource_len(pdev, ENA_REG_BAR)); if (!ena_dev->reg_bar) { - dev_err(&pdev->dev, "failed to remap regs bar\n"); + dev_err(&pdev->dev, "Failed to remap regs bar\n"); rc = -EFAULT; goto err_free_region; } @@ -4172,19 +4184,16 @@ rc = ena_device_init(ena_dev, pdev, &get_feat_ctx, &wd_state); if (rc) { - dev_err(&pdev->dev, "ena device init failed\n"); + dev_err(&pdev->dev, "ENA device init failed\n"); if (rc == -ETIME) rc = -EPROBE_DEFER; goto err_free_region; } - set_default_llq_configurations(&llq_config); - - rc = ena_set_queues_placement_policy(pdev, ena_dev, &get_feat_ctx.llq, - &llq_config); + rc = ena_map_llq_mem_bar(pdev, ena_dev, bars); if (rc) { - dev_err(&pdev->dev, "ena device init failed\n"); - goto err_device_destroy; + dev_err(&pdev->dev, "ENA llq bar mapping failed\n"); + goto err_free_ena_dev; } calc_queue_ctx.ena_dev = ena_dev; @@ -4241,6 +4250,11 @@ adapter->xdp_num_queues = 0; adapter->rx_copybreak = ENA_DEFAULT_RX_COPYBREAK; + if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) + adapter->disable_meta_caching = + !!(get_feat_ctx.llq.accel_mode.u.get.supported_flags & + BIT(ENA_ADMIN_DISABLE_META_CACHING)); + adapter->wd_state = wd_state; snprintf(adapter->name, ENA_NAME_MAX_LEN, "ena_%d", adapters_found); @@ -4278,6 +4292,11 @@ ena_config_debug_area(adapter); + if (!ena_update_hw_stats(adapter)) + adapter->eni_stats_supported = true; + else + adapter->eni_stats_supported = false; + memcpy(adapter->netdev->perm_addr, adapter->mac_addr, netdev->addr_len); netif_carrier_off(netdev); @@ -4300,15 +4319,10 @@ timer_setup(&adapter->timer_service, ena_timer_service, 0); mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ)); - if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) - queue_type_str = "Regular"; - else - queue_type_str = "Low Latency"; - dev_info(&pdev->dev, - "%s found at mem %lx, mac addr %pM, Placement policy: %s\n", + "%s found at mem %lx, mac addr %pM\n", DEVICE_NAME, (long)pci_resource_start(pdev, 0), - netdev->dev_addr, queue_type_str); + netdev->dev_addr); set_bit(ENA_FLAG_DEVICE_RUNNING, &adapter->flags); @@ -4366,8 +4380,11 @@ netdev->rx_cpu_rmap = NULL; } #endif /* CONFIG_RFS_ACCEL */ - del_timer_sync(&adapter->timer_service); + /* Make sure timer and reset routine won't be called after + * freeing device resources. + */ + del_timer_sync(&adapter->timer_service); cancel_work_sync(&adapter->reset_task); rtnl_lock(); /* lock released inside the below if-else block */ @@ -4420,13 +4437,12 @@ __ena_shutoff(pdev, true); } -#ifdef CONFIG_PM /* ena_suspend - PM suspend callback - * @pdev: PCI device information struct - * @state:power state + * @dev_d: Device information struct */ -static int ena_suspend(struct pci_dev *pdev, pm_message_t state) +static int __maybe_unused ena_suspend(struct device *dev_d) { + struct pci_dev *pdev = to_pci_dev(dev_d); struct ena_adapter *adapter = pci_get_drvdata(pdev); u64_stats_update_begin(&adapter->syncp); @@ -4436,7 +4452,7 @@ rtnl_lock(); if (unlikely(test_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags))) { dev_err(&pdev->dev, - "ignoring device reset request as the device is being suspended\n"); + "Ignoring device reset request as the device is being suspended\n"); clear_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags); } ena_destroy_device(adapter, true); @@ -4445,12 +4461,11 @@ } /* ena_resume - PM resume callback - * @pdev: PCI device information struct - * + * @dev_d: Device information struct */ -static int ena_resume(struct pci_dev *pdev) +static int __maybe_unused ena_resume(struct device *dev_d) { - struct ena_adapter *adapter = pci_get_drvdata(pdev); + struct ena_adapter *adapter = dev_get_drvdata(dev_d); int rc; u64_stats_update_begin(&adapter->syncp); @@ -4462,7 +4477,8 @@ rtnl_unlock(); return rc; } -#endif + +static SIMPLE_DEV_PM_OPS(ena_pm_ops, ena_suspend, ena_resume); static struct pci_driver ena_pci_driver = { .name = DRV_MODULE_NAME, @@ -4470,10 +4486,7 @@ .probe = ena_probe, .remove = ena_remove, .shutdown = ena_shutdown, -#ifdef CONFIG_PM - .suspend = ena_suspend, - .resume = ena_resume, -#endif + .driver.pm = &ena_pm_ops, .sriov_configure = pci_sriov_configure_simple, }; @@ -4514,7 +4527,7 @@ ENA_ADMIN_AENQ_LINK_CHANGE_DESC_LINK_STATUS_MASK; if (status) { - netdev_dbg(adapter->netdev, "%s\n", __func__); + netif_dbg(adapter, ifup, adapter->netdev, "%s\n", __func__); set_bit(ENA_FLAG_LINK_UP, &adapter->flags); if (!test_bit(ENA_FLAG_ONGOING_RESET, &adapter->flags)) netif_carrier_on(adapter->netdev); @@ -4539,6 +4552,9 @@ tx_drops = ((u64)desc->tx_drops_high << 32) | desc->tx_drops_low; u64_stats_update_begin(&adapter->syncp); + /* These stats are accumulated by the device, so the counters indicate + * all drops since last reset. + */ adapter->dev_stats.rx_drops = rx_drops; adapter->dev_stats.tx_drops = tx_drops; u64_stats_update_end(&adapter->syncp); @@ -4555,7 +4571,7 @@ aenq_e->aenq_common_desc.group, ENA_ADMIN_NOTIFICATION); - switch (aenq_e->aenq_common_desc.syndrom) { + switch (aenq_e->aenq_common_desc.syndrome) { case ENA_ADMIN_UPDATE_HINTS: hints = (struct ena_admin_ena_hw_hints *) (&aenq_e->inline_data_w4); @@ -4564,7 +4580,7 @@ default: netif_err(adapter, drv, adapter->netdev, "Invalid aenq notification link state %d\n", - aenq_e->aenq_common_desc.syndrom); + aenq_e->aenq_common_desc.syndrome); } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_netdev.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_netdev.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef ENA_H @@ -167,6 +140,7 @@ struct ena_ring *rx_ring; struct ena_ring *xdp_ring; bool first_interrupt; + bool interrupts_masked; u32 qid; struct dim dim; }; @@ -260,6 +234,11 @@ u64 bad_req_id; u64 empty_rx_ring; u64 csum_unchecked; + u64 xdp_aborted; + u64 xdp_drop; + u64 xdp_pass; + u64 xdp_tx; + u64 xdp_invalid; }; struct ena_ring { @@ -297,6 +276,7 @@ u8 tx_max_header_size; bool first_interrupt; + bool disable_meta_caching; u16 no_interrupt_event_cnt; /* cpu for TPH */ @@ -398,10 +378,13 @@ bool wd_state; bool dev_up_before_reset; + bool disable_meta_caching; unsigned long last_keep_alive_jiffies; struct u64_stats_sync syncp; struct ena_stats_dev dev_stats; + struct ena_admin_eni_stats eni_stats; + bool eni_stats_supported; /* last queue index that was checked for uncompleted tx packets */ u32 last_monitored_tx_qid; @@ -419,6 +402,8 @@ void ena_dump_stats_to_buf(struct ena_adapter *adapter, u8 *buf); +int ena_update_hw_stats(struct ena_adapter *adapter); + int ena_update_queue_sizes(struct ena_adapter *adapter, u32 new_tx_size, u32 new_rx_size); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_pci_id_tbl.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_pci_id_tbl.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef ENA_PCI_ID_TBL_H_ @@ -53,10 +26,15 @@ #define PCI_DEV_ID_ENA_LLQ_VF 0xec21 #endif +#ifndef PCI_DEV_ID_ENA_RESRV0 +#define PCI_DEV_ID_ENA_RESRV0 0x0051 +#endif + #define ENA_PCI_ID_TABLE_ENTRY(devid) \ {PCI_DEVICE(PCI_VENDOR_ID_AMAZON, devid)}, static const struct pci_device_id ena_pci_tbl[] = { + ENA_PCI_ID_TABLE_ENTRY(PCI_DEV_ID_ENA_RESRV0) ENA_PCI_ID_TABLE_ENTRY(PCI_DEV_ID_ENA_PF) ENA_PCI_ID_TABLE_ENTRY(PCI_DEV_ID_ENA_LLQ_PF) ENA_PCI_ID_TABLE_ENTRY(PCI_DEV_ID_ENA_VF) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amazon/ena/ena_regs_defs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amazon/ena/ena_regs_defs.h @@ -1,33 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright 2015 - 2016 Amazon.com, Inc. or its affiliates. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * BSD license below: - * - * 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef _ENA_REGS_H_ #define _ENA_REGS_H_ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/pcnet32.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/pcnet32.c @@ -1543,8 +1543,7 @@ } pci_set_master(pdev); - ioaddr = pci_resource_start(pdev, 0); - if (!ioaddr) { + if (!pci_resource_len(pdev, 0)) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("card has no PCI IO resources, aborting\n"); err = -ENODEV; @@ -1557,6 +1556,8 @@ pr_err("architecture does not support 32bit PCI busmaster DMA\n"); goto err_disable_dev; } + + ioaddr = pci_resource_start(pdev, 0); if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) { if (pcnet32_debug & NETIF_MSG_PROBE) pr_err("io address range already allocated\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-common.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/xgbe/xgbe-common.h @@ -1279,10 +1279,18 @@ #define MDIO_PMA_10GBR_FECCTRL 0x00ab #endif +#ifndef MDIO_PMA_RX_CTRL1 +#define MDIO_PMA_RX_CTRL1 0x8051 +#endif + #ifndef MDIO_PCS_DIG_CTRL #define MDIO_PCS_DIG_CTRL 0x8000 #endif +#ifndef MDIO_PCS_DIGITAL_STAT +#define MDIO_PCS_DIGITAL_STAT 0x8010 +#endif + #ifndef MDIO_AN_XNP #define MDIO_AN_XNP 0x0016 #endif @@ -1358,6 +1366,8 @@ #define XGBE_KR_TRAINING_ENABLE BIT(1) #define XGBE_PCS_CL37_BP BIT(12) +#define XGBE_PCS_PSEQ_STATE_MASK 0x1c +#define XGBE_PCS_PSEQ_STATE_POWER_GOOD 0x10 #define XGBE_AN_CL37_INT_CMPLT BIT(0) #define XGBE_AN_CL37_INT_MASK 0x01 @@ -1375,6 +1385,10 @@ #define XGBE_PMA_CDR_TRACK_EN_OFF 0x00 #define XGBE_PMA_CDR_TRACK_EN_ON 0x01 +#define XGBE_PMA_RX_RST_0_MASK BIT(4) +#define XGBE_PMA_RX_RST_0_RESET_ON 0x10 +#define XGBE_PMA_RX_RST_0_RESET_OFF 0x00 + /* Bit setting and getting macros * The get macro will extract the current bit field value from within * the variable --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/xgbe/xgbe-drv.c @@ -1443,6 +1443,7 @@ return; netif_tx_stop_all_queues(netdev); + netif_carrier_off(pdata->netdev); xgbe_stop_timers(pdata); flush_workqueue(pdata->dev_workqueue); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c @@ -1345,7 +1345,7 @@ &an_restart); if (an_restart) { xgbe_phy_config_aneg(pdata); - return; + goto adjust_link; } if (pdata->phy.link) { @@ -1396,7 +1396,6 @@ pdata->phy_if.phy_impl.stop(pdata); pdata->phy.link = 0; - netif_carrier_off(pdata->netdev); xgbe_phy_adjust_link(pdata); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c @@ -921,6 +921,9 @@ if ((phy_id & 0xfffffff0) != 0x03625d10) return false; + /* Reset PHY - wait for self-clearing reset bit to clear */ + genphy_soft_reset(phy_data->phydev); + /* Disable RGMII mode */ phy_write(phy_data->phydev, 0x18, 0x7007); reg = phy_read(phy_data->phydev, 0x18); @@ -1948,6 +1951,27 @@ xgbe_phy_put_comm_ownership(pdata); } +static void xgbe_phy_rx_reset(struct xgbe_prv_data *pdata) +{ + int reg; + + reg = XMDIO_READ_BITS(pdata, MDIO_MMD_PCS, MDIO_PCS_DIGITAL_STAT, + XGBE_PCS_PSEQ_STATE_MASK); + if (reg == XGBE_PCS_PSEQ_STATE_POWER_GOOD) { + /* Mailbox command timed out, reset of RX block is required. + * This can be done by asseting the reset bit and wait for + * its compeletion. + */ + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_CTRL1, + XGBE_PMA_RX_RST_0_MASK, XGBE_PMA_RX_RST_0_RESET_ON); + ndelay(20); + XMDIO_WRITE_BITS(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_RX_CTRL1, + XGBE_PMA_RX_RST_0_MASK, XGBE_PMA_RX_RST_0_RESET_OFF); + usleep_range(40, 50); + netif_err(pdata, link, pdata->netdev, "firmware mailbox reset performed\n"); + } +} + static void xgbe_phy_perform_ratechange(struct xgbe_prv_data *pdata, unsigned int cmd, unsigned int sub_cmd) { @@ -1955,9 +1979,11 @@ unsigned int wait; /* Log if a previous command did not complete */ - if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) + if (XP_IOREAD_BITS(pdata, XP_DRIVER_INT_RO, STATUS)) { netif_dbg(pdata, link, pdata->netdev, "firmware mailbox not ready for command\n"); + xgbe_phy_rx_reset(pdata); + } /* Construct the command */ XP_SET_BITS(s0, XP_DRIVER_SCRATCH_0, COMMAND, cmd); @@ -1979,6 +2005,9 @@ netif_dbg(pdata, link, pdata->netdev, "firmware mailbox command did not complete\n"); + + /* Reset on error */ + xgbe_phy_rx_reset(pdata); } static void xgbe_phy_rrc(struct xgbe_prv_data *pdata) @@ -2575,6 +2604,14 @@ if (reg & MDIO_STAT1_LSTATUS) return 1; + if (pdata->phy.autoneg == AUTONEG_ENABLE && + phy_data->port_mode == XGBE_PORT_MODE_BACKPLANE) { + if (!test_bit(XGBE_LINK_INIT, &pdata->dev_state)) { + netif_carrier_off(pdata->netdev); + *an_restart = 1; + } + } + /* No link, attempt a receiver reset cycle */ if (phy_data->rrc_count++ > XGBE_RRC_FREQUENCY) { phy_data->rrc_count = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/amd/xgbe/xgbe.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -180,9 +180,9 @@ #define XGBE_DMA_SYS_AWCR 0x30303030 /* DMA cache settings - PCI device */ -#define XGBE_DMA_PCI_ARCR 0x00000003 -#define XGBE_DMA_PCI_AWCR 0x13131313 -#define XGBE_DMA_PCI_AWARCR 0x00000313 +#define XGBE_DMA_PCI_ARCR 0x000f0f0f +#define XGBE_DMA_PCI_AWCR 0x0f0f0f0f +#define XGBE_DMA_PCI_AWARCR 0x00000f0f /* DMA channel interrupt modes */ #define XGBE_IRQ_MODE_EDGE 0 --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c @@ -123,21 +123,21 @@ "MACSec OutUnctrlHitDropRedir", }; -static const char *aq_macsec_txsc_stat_names[] = { +static const char * const aq_macsec_txsc_stat_names[] = { "MACSecTXSC%d ProtectedPkts", "MACSecTXSC%d EncryptedPkts", "MACSecTXSC%d ProtectedOctets", "MACSecTXSC%d EncryptedOctets", }; -static const char *aq_macsec_txsa_stat_names[] = { +static const char * const aq_macsec_txsa_stat_names[] = { "MACSecTXSC%dSA%d HitDropRedirect", "MACSecTXSC%dSA%d Protected2Pkts", "MACSecTXSC%dSA%d ProtectedPkts", "MACSecTXSC%dSA%d EncryptedPkts", }; -static const char *aq_macsec_rxsa_stat_names[] = { +static const char * const aq_macsec_rxsa_stat_names[] = { "MACSecRXSC%dSA%d UntaggedHitPkts", "MACSecRXSC%dSA%d CtrlHitDrpRedir", "MACSecRXSC%dSA%d NotUsingSa", --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/aq_main.c @@ -70,8 +70,10 @@ goto err_exit; err = aq_nic_start(aq_nic); - if (err < 0) + if (err < 0) { + aq_nic_stop(aq_nic); goto err_exit; + } err_exit: if (err < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c @@ -782,7 +782,7 @@ int err = 0; if (count > (HW_ATL_A0_MAC_MAX - HW_ATL_A0_MAC_MIN)) { - err = EBADRQC; + err = -EBADRQC; goto err_exit; } for (self->aq_nic_cfg->mc_list_count = 0U; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c @@ -1536,7 +1536,7 @@ return aq_hw_err_from_flags(self); } -/** +/* * @brief Set VLAN filter table * @details Configure VLAN filter table to accept (and assign the queue) traffic * for the particular vlan ids. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-only -/* - * aQuantia Corporation Network Driver - * Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved +/* Atlantic Network Driver + * + * Copyright (C) 2014-2019 aQuantia Corporation + * Copyright (C) 2019-2020 Marvell International Ltd. */ /* File hw_atl_llh.c: Definitions of bitfield and register access functions for @@ -1724,6 +1725,16 @@ return hw_atl_reg_glb_cpu_sem_get(self, HW_ATL_FW_SM_MDIO); } +u32 hw_atl_sem_reset1_get(struct aq_hw_s *self) +{ + return hw_atl_reg_glb_cpu_sem_get(self, HW_ATL_FW_SM_RESET1); +} + +u32 hw_atl_sem_reset2_get(struct aq_hw_s *self) +{ + return hw_atl_reg_glb_cpu_sem_get(self, HW_ATL_FW_SM_RESET2); +} + u32 hw_atl_scrpad_get(struct aq_hw_s *aq_hw, u32 scratch_scp) { return aq_hw_read_reg(aq_hw, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h @@ -1,7 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* - * aQuantia Corporation Network Driver - * Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved +/* Atlantic Network Driver + * + * Copyright (C) 2014-2019 aQuantia Corporation + * Copyright (C) 2019-2020 Marvell International Ltd. */ /* File hw_atl_llh.h: Declarations of bitfield and register access functions for @@ -838,6 +839,9 @@ /* get global microprocessor mdio semaphore */ u32 hw_atl_sem_mdio_get(struct aq_hw_s *self); +u32 hw_atl_sem_reset1_get(struct aq_hw_s *self); +u32 hw_atl_sem_reset2_get(struct aq_hw_s *self); + /* get global microprocessor scratch pad register */ u32 hw_atl_scrpad_get(struct aq_hw_s *aq_hw, u32 scratch_scp); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh_internal.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_llh_internal.h @@ -1,7 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* - * aQuantia Corporation Network Driver - * Copyright (C) 2014-2019 aQuantia Corporation. All rights reserved +/* Atlantic Network Driver + * + * Copyright (C) 2014-2019 aQuantia Corporation + * Copyright (C) 2019-2020 Marvell International Ltd. */ /* File hw_atl_llh_internal.h: Preprocessor definitions @@ -2837,7 +2838,11 @@ /* Default value of bitfield MDIO Address [F:0] */ #define HW_ATL_MDIO_ADDRESS_DEFAULT 0x0 +#define HW_ATL_MIF_RESET_TIMEOUT_ADR 0x00000348 + #define HW_ATL_FW_SM_MDIO 0x0U #define HW_ATL_FW_SM_RAM 0x2U +#define HW_ATL_FW_SM_RESET1 0x3U +#define HW_ATL_FW_SM_RESET2 0x4U #endif /* HW_ATL_LLH_INTERNAL_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -46,6 +46,7 @@ #define HW_ATL_FW_VER_1X 0x01050006U #define HW_ATL_FW_VER_2X 0x02000000U #define HW_ATL_FW_VER_3X 0x03000000U +#define HW_ATL_FW_VER_4X 0x04000000U #define FORCE_FLASHLESS 0 @@ -72,14 +73,13 @@ self->fw_ver_actual = hw_atl_utils_get_fw_version(self); - if (hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, - self->fw_ver_actual) == 0) { + if (hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, self->fw_ver_actual)) { *fw_ops = &aq_fw_1x_ops; - } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_2X, - self->fw_ver_actual) == 0) { + } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_2X, self->fw_ver_actual)) { *fw_ops = &aq_fw_2x_ops; - } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_3X, - self->fw_ver_actual) == 0) { + } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_3X, self->fw_ver_actual)) { + *fw_ops = &aq_fw_2x_ops; + } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_4X, self->fw_ver_actual)) { *fw_ops = &aq_fw_2x_ops; } else { aq_pr_err("Bad FW version detected: %x\n", @@ -239,6 +239,7 @@ int hw_atl_utils_soft_reset(struct aq_hw_s *self) { + int ver = hw_atl_utils_get_fw_version(self); u32 boot_exit_code = 0; u32 val; int k; @@ -259,14 +260,12 @@ self->rbl_enabled = (boot_exit_code != 0); - /* FW 1.x may bootup in an invalid POWER state (WOL feature). - * We should work around this by forcing its state back to DEINIT - */ - if (!hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, - aq_hw_read_reg(self, - HW_ATL_MPI_FW_VERSION))) { + if (hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, ver)) { int err = 0; + /* FW 1.x may bootup in an invalid POWER state (WOL feature). + * We should work around this by forcing its state back to DEINIT + */ hw_atl_utils_mpi_set_state(self, MPI_DEINIT); err = readx_poll_timeout_atomic(hw_atl_utils_mpi_get_state, self, val, @@ -275,6 +274,27 @@ 10, 10000U); if (err) return err; + } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_4X, ver)) { + u64 sem_timeout = aq_hw_read_reg(self, HW_ATL_MIF_RESET_TIMEOUT_ADR); + + /* Acquire 2 semaphores before issuing reset for FW 4.x */ + if (sem_timeout > 3000) + sem_timeout = 3000; + sem_timeout = sem_timeout * 1000; + + if (sem_timeout != 0) { + int err; + + err = readx_poll_timeout_atomic(hw_atl_sem_reset1_get, self, val, + val == 1U, 1U, sem_timeout); + if (err) + aq_pr_err("reset sema1 timeout"); + + err = readx_poll_timeout_atomic(hw_atl_sem_reset2_get, self, val, + val == 1U, 1U, sem_timeout); + if (err) + aq_pr_err("reset sema2 timeout"); + } } if (self->rbl_enabled) @@ -434,20 +454,20 @@ p, cnt, MCP_AREA_SETTINGS); } -int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual) +bool hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual) { const u32 dw_major_mask = 0xff000000U; const u32 dw_minor_mask = 0x00ffffffU; - int err = 0; + bool ver_match; - err = (dw_major_mask & (ver_expected ^ ver_actual)) ? -EOPNOTSUPP : 0; - if (err < 0) + ver_match = (dw_major_mask & (ver_expected ^ ver_actual)) ? false : true; + if (!ver_match) goto err_exit; - err = ((dw_minor_mask & ver_expected) > (dw_minor_mask & ver_actual)) ? - -EOPNOTSUPP : 0; + ver_match = ((dw_minor_mask & ver_expected) > (dw_minor_mask & ver_actual)) ? + false : true; err_exit: - return err; + return ver_match; } static int hw_atl_utils_init_ucp(struct aq_hw_s *self, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h @@ -635,7 +635,7 @@ int hw_atl_utils_fw_rpc_wait(struct aq_hw_s *self, struct hw_atl_utils_fw_rpc **rpc); -int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual); +bool hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual); extern const struct aq_fw_ops aq_fw_1x_ops; extern const struct aq_fw_ops aq_fw_2x_ops; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils.c @@ -36,8 +36,7 @@ self->fw_ver_actual = hw_atl2_utils_get_fw_version(self); - if (hw_atl_utils_ver_match(HW_ATL2_FW_VER_1X, - self->fw_ver_actual) == 0) { + if (hw_atl_utils_ver_match(HW_ATL2_FW_VER_1X, self->fw_ver_actual)) { *fw_ops = &aq_a2_fw_ops; } else { aq_pr_err("Bad FW version detected: %x, but continue\n", --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/arc/emac_mdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/arc/emac_mdio.c @@ -153,6 +153,7 @@ if (IS_ERR(data->reset_gpio)) { error = PTR_ERR(data->reset_gpio); dev_err(priv->dev, "Failed to request gpio: %d\n", error); + mdiobus_free(bus); return error; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/atheros/ag71xx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/atheros/ag71xx.c @@ -223,8 +223,6 @@ #define AG71XX_REG_RX_SM 0x01b0 #define AG71XX_REG_TX_SM 0x01b4 -#define ETH_SWITCH_HEADER_LEN 2 - #define AG71XX_DEFAULT_MSG_ENABLE \ (NETIF_MSG_DRV \ | NETIF_MSG_PROBE \ @@ -787,7 +785,7 @@ static unsigned int ag71xx_max_frame_len(unsigned int mtu) { - return ETH_SWITCH_HEADER_LEN + ETH_HLEN + VLAN_HLEN + mtu + ETH_FCS_LEN; + return ETH_HLEN + VLAN_HLEN + mtu + ETH_FCS_LEN; } static void ag71xx_hw_set_macaddr(struct ag71xx *ag, unsigned char *mac) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/atheros/alx/ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/atheros/alx/ethtool.c @@ -46,6 +46,8 @@ #include "reg.h" #include "hw.h" +extern const bool enable_wol; + /* The order of these strings must match the order of the fields in * struct alx_hw_stats * See hw.h @@ -310,11 +312,50 @@ } } +static void alx_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) +{ + struct alx_priv *alx = netdev_priv(netdev); + struct alx_hw *hw = &alx->hw; + + if (!enable_wol) + return; + + wol->supported = WAKE_MAGIC | WAKE_PHY; + wol->wolopts = 0; + + if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) + wol->wolopts |= WAKE_MAGIC; + if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) + wol->wolopts |= WAKE_PHY; +} + +static int alx_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) +{ + struct alx_priv *alx = netdev_priv(netdev); + struct alx_hw *hw = &alx->hw; + + if (!enable_wol || (wol->wolopts & ~(WAKE_MAGIC | WAKE_PHY))) + return -EOPNOTSUPP; + + hw->sleep_ctrl = 0; + + if (wol->wolopts & WAKE_MAGIC) + hw->sleep_ctrl |= ALX_SLEEP_WOL_MAGIC; + if (wol->wolopts & WAKE_PHY) + hw->sleep_ctrl |= ALX_SLEEP_WOL_PHY; + + device_set_wakeup_enable(&alx->hw.pdev->dev, hw->sleep_ctrl); + + return 0; +} + const struct ethtool_ops alx_ethtool_ops = { .get_pauseparam = alx_get_pauseparam, .set_pauseparam = alx_set_pauseparam, .get_msglevel = alx_get_msglevel, .set_msglevel = alx_set_msglevel, + .get_wol = alx_get_wol, + .set_wol = alx_set_wol, .get_link = ethtool_op_get_link, .get_strings = alx_get_strings, .get_sset_count = alx_get_sset_count, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/atheros/alx/hw.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/atheros/alx/hw.c @@ -332,6 +332,16 @@ alx_write_mem32(hw, ALX_STAD1, val); } +static void alx_enable_osc(struct alx_hw *hw) +{ + u32 val; + + /* rising edge */ + val = alx_read_mem32(hw, ALX_MISC); + alx_write_mem32(hw, ALX_MISC, val & ~ALX_MISC_INTNLOSC_OPEN); + alx_write_mem32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); +} + static void alx_reset_osc(struct alx_hw *hw, u8 rev) { u32 val, val2; @@ -774,7 +784,6 @@ return err; } - void alx_post_phy_link(struct alx_hw *hw) { u16 phy_val, len, agc; @@ -848,6 +857,65 @@ } } +/* NOTE: + * 1. phy link must be established before calling this function + * 2. wol option (pattern,magic,link,etc.) is configed before call it. + */ +int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex) +{ + u32 master, mac, phy, val; + int err = 0; + + master = alx_read_mem32(hw, ALX_MASTER); + master &= ~ALX_MASTER_PCLKSEL_SRDS; + mac = hw->rx_ctrl; + /* 10/100 half */ + ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_10_100); + mac &= ~(ALX_MAC_CTRL_FULLD | ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); + + phy = alx_read_mem32(hw, ALX_PHY_CTRL); + phy &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_CLS); + phy |= ALX_PHY_CTRL_RST_ANALOG | ALX_PHY_CTRL_HIB_PULSE | + ALX_PHY_CTRL_HIB_EN; + + /* without any activity */ + if (!(hw->sleep_ctrl & ALX_SLEEP_ACTIVE)) { + err = alx_write_phy_reg(hw, ALX_MII_IER, 0); + if (err) + return err; + phy |= ALX_PHY_CTRL_IDDQ | ALX_PHY_CTRL_POWER_DOWN; + } else { + if (hw->sleep_ctrl & (ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_CIFS)) + mac |= ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_BRD_EN; + if (hw->sleep_ctrl & ALX_SLEEP_CIFS) + mac |= ALX_MAC_CTRL_TX_EN; + if (duplex == DUPLEX_FULL) + mac |= ALX_MAC_CTRL_FULLD; + if (speed == SPEED_1000) + ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, + ALX_MAC_CTRL_SPEED_1000); + phy |= ALX_PHY_CTRL_DSPRST_OUT; + err = alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, + ALX_MIIEXT_S3DIG10, + ALX_MIIEXT_S3DIG10_SL); + if (err) + return err; + } + + alx_enable_osc(hw); + hw->rx_ctrl = mac; + alx_write_mem32(hw, ALX_MASTER, master); + alx_write_mem32(hw, ALX_MAC_CTRL, mac); + alx_write_mem32(hw, ALX_PHY_CTRL, phy); + + /* set val of PDLL D3PLLOFF */ + val = alx_read_mem32(hw, ALX_PDLL_TRNS1); + val |= ALX_PDLL_TRNS1_D3PLLOFF_EN; + alx_write_mem32(hw, ALX_PDLL_TRNS1, val); + + return 0; +} + bool alx_phy_configured(struct alx_hw *hw) { u32 cfg, hw_cfg; @@ -920,6 +988,26 @@ return alx_read_phy_reg(hw, ALX_MII_ISR, &isr); } +int alx_config_wol(struct alx_hw *hw) +{ + u32 wol = 0; + int err = 0; + + /* turn on magic packet event */ + if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) + wol |= ALX_WOL0_MAGIC_EN | ALX_WOL0_PME_MAGIC_EN; + + /* turn on link up event */ + if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) { + wol |= ALX_WOL0_LINK_EN | ALX_WOL0_PME_LINK; + /* only link up can wake up */ + err = alx_write_phy_reg(hw, ALX_MII_IER, ALX_IER_LINK_UP); + } + alx_write_mem32(hw, ALX_WOL0, wol); + + return err; +} + void alx_disable_rss(struct alx_hw *hw) { u32 ctrl = alx_read_mem32(hw, ALX_RXQ0); @@ -1044,6 +1132,70 @@ alx_post_write(hw); } +int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex) +{ + int i, err; + u16 lpa; + + err = alx_read_phy_link(hw); + if (err) + return err; + + if (hw->link_speed == SPEED_UNKNOWN) { + *speed = SPEED_UNKNOWN; + *duplex = DUPLEX_UNKNOWN; + return 0; + } + + err = alx_read_phy_reg(hw, MII_LPA, &lpa); + if (err) + return err; + + if (!(lpa & LPA_LPACK)) { + *speed = hw->link_speed; + return 0; + } + + if (lpa & LPA_10FULL) { + *speed = SPEED_10; + *duplex = DUPLEX_FULL; + } else if (lpa & LPA_10HALF) { + *speed = SPEED_10; + *duplex = DUPLEX_HALF; + } else if (lpa & LPA_100FULL) { + *speed = SPEED_100; + *duplex = DUPLEX_FULL; + } else { + *speed = SPEED_100; + *duplex = DUPLEX_HALF; + } + + if (*speed == hw->link_speed && *duplex == hw->duplex) + return 0; + err = alx_write_phy_reg(hw, ALX_MII_IER, 0); + if (err) + return err; + err = alx_setup_speed_duplex(hw, alx_speed_to_ethadv(*speed, *duplex) | + ADVERTISED_Autoneg, ALX_FC_ANEG | + ALX_FC_RX | ALX_FC_TX); + if (err) + return err; + + /* wait for linkup */ + for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { + msleep(100); + + err = alx_read_phy_link(hw); + if (err < 0) + return err; + if (hw->link_speed != SPEED_UNKNOWN) + break; + } + if (i == ALX_MAX_SETUP_LNK_CYCLE) + return -ETIMEDOUT; + + return 0; +} bool alx_get_phy_info(struct alx_hw *hw) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/atheros/alx/hw.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/atheros/alx/hw.h @@ -487,6 +487,8 @@ u8 flowctrl; u32 adv_cfg; + u32 sleep_ctrl; + spinlock_t mdio_lock; struct mdio_if_info mdio; u16 phy_id[2]; @@ -549,12 +551,14 @@ void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en); int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl); void alx_post_phy_link(struct alx_hw *hw); +int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex); int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data); int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data); int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata); int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data); int alx_read_phy_link(struct alx_hw *hw); int alx_clear_phy_intr(struct alx_hw *hw); +int alx_config_wol(struct alx_hw *hw); void alx_cfg_mac_flowcontrol(struct alx_hw *hw, u8 fc); void alx_start_mac(struct alx_hw *hw); int alx_reset_mac(struct alx_hw *hw); @@ -563,6 +567,7 @@ void alx_configure_basic(struct alx_hw *hw); void alx_mask_msix(struct alx_hw *hw, int index, bool mask); void alx_disable_rss(struct alx_hw *hw); +int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex); bool alx_get_phy_info(struct alx_hw *hw); void alx_update_hw_stats(struct alx_hw *hw); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/atheros/alx/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/atheros/alx/main.c @@ -51,6 +51,11 @@ static const char alx_drv_name[] = "alx"; +/* disable WoL by default */ +bool enable_wol; +module_param(enable_wol, bool, 0644); +MODULE_PARM_DESC(enable_wol, "Enable Wake on Lan feature"); + static void alx_free_txbuf(struct alx_tx_queue *txq, int entry) { struct alx_buffer *txb = &txq->bufs[entry]; @@ -1069,6 +1074,7 @@ alx->dev->max_mtu = ALX_MAX_FRAME_LEN(ALX_MAX_FRAME_SIZE); alx->tx_ringsz = 256; alx->rx_ringsz = 512; + hw->sleep_ctrl = ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_WOL_PHY; hw->imt = 200; alx->int_mask = ALX_ISR_MISC; hw->dma_chnl = hw->max_dma_chnl; @@ -1347,6 +1353,66 @@ return 0; } +static int __alx_shutdown(struct pci_dev *pdev, bool *wol_en) +{ + struct alx_priv *alx = pci_get_drvdata(pdev); + struct net_device *netdev = alx->dev; + struct alx_hw *hw = &alx->hw; + int err, speed; + u8 duplex; + + netif_device_detach(netdev); + + if (netif_running(netdev)) + __alx_stop(alx); + +#ifdef CONFIG_PM_SLEEP + err = pci_save_state(pdev); + if (err) + return err; +#endif + + err = alx_select_powersaving_speed(hw, &speed, &duplex); + if (err) + return err; + err = alx_clear_phy_intr(hw); + if (err) + return err; + err = alx_pre_suspend(hw, speed, duplex); + if (err) + return err; + err = alx_config_wol(hw); + if (err) + return err; + + *wol_en = false; + if (hw->sleep_ctrl & ALX_SLEEP_ACTIVE) { + netif_info(alx, wol, netdev, + "wol: ctrl=%X, speed=%X\n", + hw->sleep_ctrl, speed); + device_set_wakeup_enable(&pdev->dev, true); + *wol_en = true; + } + + pci_disable_device(pdev); + + return 0; +} + +static void alx_shutdown(struct pci_dev *pdev) +{ + int err; + bool wol_en; + + err = __alx_shutdown(pdev, &wol_en); + if (!err) { + pci_wake_from_d3(pdev, wol_en); + pci_set_power_state(pdev, PCI_D3hot); + } else { + dev_err(&pdev->dev, "shutdown fail %d\n", err); + } +} + static void alx_link_check(struct work_struct *work) { struct alx_priv *alx; @@ -1837,6 +1903,8 @@ goto out_unmap; } + device_set_wakeup_enable(&pdev->dev, hw->sleep_ctrl); + netdev_info(netdev, "Qualcomm Atheros AR816x/AR817x Ethernet [%pM]\n", netdev->dev_addr); @@ -1875,41 +1943,95 @@ #ifdef CONFIG_PM_SLEEP static int alx_suspend(struct device *dev) { - struct alx_priv *alx = dev_get_drvdata(dev); + struct pci_dev *pdev = to_pci_dev(dev); + int err; + bool wol_en; + + err = __alx_shutdown(pdev, &wol_en); + if (err) { + dev_err(&pdev->dev, "shutdown fail in suspend %d\n", err); + return err; + } + + if (wol_en) { + pci_prepare_to_sleep(pdev); + } else { + pci_wake_from_d3(pdev, false); + pci_set_power_state(pdev, PCI_D3hot); + } - if (!netif_running(alx->dev)) - return 0; - netif_device_detach(alx->dev); - __alx_stop(alx); return 0; } static int alx_resume(struct device *dev) { - struct alx_priv *alx = dev_get_drvdata(dev); + struct pci_dev *pdev = to_pci_dev(dev); + struct alx_priv *alx = pci_get_drvdata(pdev); + struct net_device *netdev = alx->dev; struct alx_hw *hw = &alx->hw; int err; + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + pci_save_state(pdev); + + pci_enable_wake(pdev, PCI_D3hot, 0); + pci_enable_wake(pdev, PCI_D3cold, 0); + + hw->link_speed = SPEED_UNKNOWN; + alx->int_mask = ALX_ISR_MISC; + + alx_reset_pcie(hw); alx_reset_phy(hw); - if (!netif_running(alx->dev)) - return 0; - netif_device_attach(alx->dev); + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + pci_save_state(pdev); - rtnl_lock(); - err = __alx_open(alx, true); - rtnl_unlock(); + pci_enable_wake(pdev, PCI_D3hot, 0); + pci_enable_wake(pdev, PCI_D3cold, 0); + + hw->link_speed = SPEED_UNKNOWN; + alx->int_mask = ALX_ISR_MISC; + + alx_reset_pcie(hw); + alx_reset_phy(hw); + + err = alx_reset_mac(hw); + if (err) { + netif_err(alx, hw, alx->dev, + "resume:reset_mac fail %d\n", err); + return -EIO; + } + + err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); + if (err) { + netif_err(alx, hw, alx->dev, + "resume:setup_speed_duplex fail %d\n", err); + return -EIO; + } + + if (netif_running(netdev)) { + rtnl_lock(); + err = __alx_open(alx, true); + rtnl_unlock(); + if (err) + return err; + } + + netif_device_attach(netdev); return err; } +#endif +#ifdef CONFIG_PM_SLEEP static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); #define ALX_PM_OPS (&alx_pm_ops) #else #define ALX_PM_OPS NULL #endif - static pci_ers_result_t alx_pci_error_detected(struct pci_dev *pdev, pci_channel_state_t state) { @@ -1952,6 +2074,8 @@ } pci_set_master(pdev); + pci_enable_wake(pdev, PCI_D3hot, 0); + pci_enable_wake(pdev, PCI_D3cold, 0); alx_reset_pcie(hw); if (!alx_reset_mac(hw)) @@ -2006,6 +2130,7 @@ .id_table = alx_pci_tbl, .probe = alx_probe, .remove = alx_remove, + .shutdown = alx_shutdown, .err_handler = &alx_err_handlers, .driver.pm = ALX_PM_OPS, }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/Kconfig @@ -88,6 +88,7 @@ config CNIC tristate "QLogic CNIC support" depends on PCI && (IPV6 || IPV6=n) + depends on MMU select BNX2 select UIO help --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/b44.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/b44.c @@ -2383,7 +2383,8 @@ goto err_out_free_dev; } - if (dma_set_mask_and_coherent(sdev->dma_dev, DMA_BIT_MASK(30))) { + err = dma_set_mask_and_coherent(sdev->dma_dev, DMA_BIT_MASK(30)); + if (err) { dev_err(sdev->dev, "Required 30BIT DMA mask unsupported by the system\n"); goto err_out_powerdown; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/bcmsysport.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/bcmsysport.c @@ -2462,8 +2462,10 @@ priv->tx_rings = devm_kcalloc(&pdev->dev, txq, sizeof(struct bcm_sysport_tx_ring), GFP_KERNEL); - if (!priv->tx_rings) - return -ENOMEM; + if (!priv->tx_rings) { + ret = -ENOMEM; + goto err_free_netdev; + } priv->is_lite = params->is_lite; priv->num_rx_desc_words = params->num_rx_desc_words; @@ -2526,6 +2528,7 @@ NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM; dev->hw_features |= dev->features; dev->vlan_features |= dev->features; + dev->max_mtu = UMAC_MAX_MTU_SIZE; /* Request the WOL interrupt and advertise suspend if available */ priv->wol_irq_disabled = 1; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -1141,6 +1141,9 @@ static void bnxt_queue_fw_reset_work(struct bnxt *bp, unsigned long delay) { + if (!(test_bit(BNXT_STATE_IN_FW_RESET, &bp->state))) + return; + if (BNXT_PF(bp)) queue_delayed_work(bnxt_pf_wq, &bp->fw_reset_task, delay); else @@ -1155,14 +1158,6 @@ schedule_work(&bp->sp_task); } -static void bnxt_cancel_sp_work(struct bnxt *bp) -{ - if (BNXT_PF(bp)) - flush_workqueue(bnxt_pf_wq); - else - cancel_work_sync(&bp->sp_task); -} - static void bnxt_sched_reset(struct bnxt *bp, struct bnxt_rx_ring_info *rxr) { if (!rxr->bnapi->in_reset) { @@ -4193,7 +4188,8 @@ u32 bar_offset = BNXT_GRCPF_REG_CHIMP_COMM; u16 dst = BNXT_HWRM_CHNL_CHIMP; - if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state)) + if (BNXT_NO_FW_ACCESS(bp) && + le16_to_cpu(req->req_type) != HWRM_FUNC_RESET) return -EBUSY; if (msg_len > BNXT_HWRM_MAX_REQ_LEN) { @@ -5525,7 +5521,7 @@ struct hwrm_ring_free_output *resp = bp->hwrm_cmd_resp_addr; u16 error_code; - if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state)) + if (BNXT_NO_FW_ACCESS(bp)) return 0; bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_FREE, cmpl_ring_id, -1); @@ -6499,8 +6495,10 @@ ctx->tqm_fp_rings_count = resp->tqm_fp_rings_count; if (!ctx->tqm_fp_rings_count) ctx->tqm_fp_rings_count = bp->max_q; + else if (ctx->tqm_fp_rings_count > BNXT_MAX_TQM_FP_RINGS) + ctx->tqm_fp_rings_count = BNXT_MAX_TQM_FP_RINGS; - tqm_rings = ctx->tqm_fp_rings_count + 1; + tqm_rings = ctx->tqm_fp_rings_count + BNXT_MAX_TQM_SP_RINGS; ctx_pg = kcalloc(tqm_rings, sizeof(*ctx_pg), GFP_KERNEL); if (!ctx_pg) { kfree(ctx); @@ -6634,7 +6632,8 @@ pg_attr = &req.tqm_sp_pg_size_tqm_sp_lvl, pg_dir = &req.tqm_sp_page_dir, ena = FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_SP; - i < 9; i++, num_entries++, pg_attr++, pg_dir++, ena <<= 1) { + i < BNXT_MAX_TQM_RINGS; + i++, num_entries++, pg_attr++, pg_dir++, ena <<= 1) { if (!(enables & ena)) continue; @@ -7497,7 +7496,7 @@ if (set_tpa) tpa_flags = bp->flags & BNXT_FLAG_TPA; - else if (test_bit(BNXT_STATE_FW_FATAL_COND, &bp->state)) + else if (BNXT_NO_FW_ACCESS(bp)) return 0; for (i = 0; i < bp->nr_vnics; i++) { rc = bnxt_hwrm_vnic_set_tpa(bp, i, tpa_flags); @@ -7973,10 +7972,18 @@ bp->irq_tbl[0].handler = bnxt_inta; } +static int bnxt_init_int_mode(struct bnxt *bp); + static int bnxt_setup_int_mode(struct bnxt *bp) { int rc; + if (!bp->irq_tbl) { + rc = bnxt_init_int_mode(bp); + if (rc || !bp->irq_tbl) + return rc ?: -ENODEV; + } + if (bp->flags & BNXT_FLAG_USING_MSIX) bnxt_setup_msix(bp); else @@ -8161,7 +8168,7 @@ static int bnxt_init_int_mode(struct bnxt *bp) { - int rc = 0; + int rc = -ENODEV; if (bp->flags & BNXT_FLAG_MSIX_CAP) rc = bnxt_init_msix(bp); @@ -8395,9 +8402,10 @@ txr->dev_state = BNXT_DEV_STATE_CLOSING; } } + /* Drop carrier first to prevent TX timeout */ + netif_carrier_off(bp->dev); /* Stop all TX queues */ netif_tx_disable(bp->dev); - netif_carrier_off(bp->dev); } void bnxt_tx_enable(struct bnxt *bp) @@ -8423,6 +8431,11 @@ u16 fec; netif_carrier_on(bp->dev); + speed = bnxt_fw_to_ethtool_speed(bp->link_info.link_speed); + if (speed == SPEED_UNKNOWN) { + netdev_info(bp->dev, "NIC Link is Up, speed unknown\n"); + return; + } if (bp->link_info.duplex == BNXT_LINK_DUPLEX_FULL) duplex = "full"; else @@ -8435,7 +8448,6 @@ flow_ctrl = "ON - receive"; else flow_ctrl = "none"; - speed = bnxt_fw_to_ethtool_speed(bp->link_info.link_speed); netdev_info(bp->dev, "NIC Link is Up, %u Mbps %s duplex, Flow control: %s\n", speed, duplex, flow_ctrl); if (bp->flags & BNXT_FLAG_EEE_CAP) @@ -8800,7 +8812,8 @@ { struct hwrm_func_drv_if_change_output *resp = bp->hwrm_cmd_resp_addr; struct hwrm_func_drv_if_change_input req = {0}; - bool resc_reinit = false, fw_reset = false; + bool fw_reset = !bp->irq_tbl; + bool resc_reinit = false; u32 flags = 0; int rc; @@ -8828,6 +8841,7 @@ if (test_bit(BNXT_STATE_IN_FW_RESET, &bp->state) && !fw_reset) { netdev_err(bp->dev, "RESET_DONE not set during FW reset.\n"); + set_bit(BNXT_STATE_ABORT_ERR, &bp->state); return -ENODEV; } if (resc_reinit || fw_reset) { @@ -8987,16 +9001,17 @@ struct hwrm_temp_monitor_query_input req = {0}; struct hwrm_temp_monitor_query_output *resp; struct bnxt *bp = dev_get_drvdata(dev); - u32 temp = 0; + u32 len = 0; + int rc; resp = bp->hwrm_cmd_resp_addr; bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TEMP_MONITOR_QUERY, -1, -1); mutex_lock(&bp->hwrm_cmd_lock); - if (!_hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT)) - temp = resp->temp * 1000; /* display millidegree */ + rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (!rc) + len = sprintf(buf, "%u\n", resp->temp * 1000); /* display millidegree */ mutex_unlock(&bp->hwrm_cmd_lock); - - return sprintf(buf, "%u\n", temp); + return rc ?: len; } static SENSOR_DEVICE_ATTR(temp1_input, 0444, bnxt_show_temp, NULL, 0); @@ -9016,7 +9031,16 @@ static void bnxt_hwmon_open(struct bnxt *bp) { + struct hwrm_temp_monitor_query_input req = {0}; struct pci_dev *pdev = bp->pdev; + int rc; + + bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TEMP_MONITOR_QUERY, -1, -1); + rc = hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (rc == -EACCES || rc == -EOPNOTSUPP) { + bnxt_hwmon_close(bp); + return; + } if (bp->hwmon_dev) return; @@ -9178,15 +9202,15 @@ } } - bnxt_enable_napi(bp); - bnxt_debug_dev_init(bp); - rc = bnxt_init_nic(bp, irq_re_init); if (rc) { netdev_err(bp->dev, "bnxt_init_nic err: %x\n", rc); - goto open_err; + goto open_err_irq; } + bnxt_enable_napi(bp); + bnxt_debug_dev_init(bp); + if (link_re_init) { mutex_lock(&bp->link_lock); rc = bnxt_update_phy_setting(bp); @@ -9217,10 +9241,6 @@ bnxt_vf_reps_open(bp); return 0; -open_err: - bnxt_debug_dev_exit(bp); - bnxt_disable_napi(bp); - open_err_irq: bnxt_del_napi(bp); @@ -9236,7 +9256,10 @@ { int rc = 0; - rc = __bnxt_open_nic(bp, irq_re_init, link_re_init); + if (test_bit(BNXT_STATE_ABORT_ERR, &bp->state)) + rc = -EIO; + if (!rc) + rc = __bnxt_open_nic(bp, irq_re_init, link_re_init); if (rc) { netdev_err(bp->dev, "nic open fail (rc: %x)\n", rc); dev_close(bp->dev); @@ -10932,7 +10955,8 @@ if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) != 0 && dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) != 0) { dev_err(&pdev->dev, "System does not support DMA, aborting\n"); - goto init_err_disable; + rc = -EIO; + goto init_err_release; } pci_set_master(pdev); @@ -11494,15 +11518,19 @@ if (BNXT_PF(bp)) bnxt_sriov_disable(bp); - bnxt_dl_fw_reporters_destroy(bp, true); if (BNXT_PF(bp)) devlink_port_type_clear(&bp->dl_port); pci_disable_pcie_error_reporting(pdev); unregister_netdev(dev); + clear_bit(BNXT_STATE_IN_FW_RESET, &bp->state); + /* Flush any pending tasks */ + cancel_work_sync(&bp->sp_task); + cancel_delayed_work_sync(&bp->fw_reset_task); + bp->sp_event = 0; + + bnxt_dl_fw_reporters_destroy(bp, true); bnxt_dl_unregister(bp); bnxt_shutdown_tc(bp); - bnxt_cancel_sp_work(bp); - bp->sp_event = 0; bnxt_clear_int_mode(bp); bnxt_hwrm_func_drv_unrgtr(bp); @@ -11801,7 +11829,7 @@ static void bnxt_vpd_read_info(struct bnxt *bp) { struct pci_dev *pdev = bp->pdev; - int i, len, pos, ro_size; + int i, len, pos, ro_size, size; ssize_t vpd_size; u8 *vpd_data; @@ -11836,7 +11864,8 @@ if (len + pos > vpd_size) goto read_sn; - strlcpy(bp->board_partno, &vpd_data[pos], min(len, BNXT_VPD_FLD_LEN)); + size = min(len, BNXT_VPD_FLD_LEN - 1); + memcpy(bp->board_partno, &vpd_data[pos], size); read_sn: pos = pci_vpd_find_info_keyword(vpd_data, i, ro_size, @@ -11849,7 +11878,8 @@ if (len + pos > vpd_size) goto exit; - strlcpy(bp->board_serialno, &vpd_data[pos], min(len, BNXT_VPD_FLD_LEN)); + size = min(len, BNXT_VPD_FLD_LEN - 1); + memcpy(bp->board_serialno, &vpd_data[pos], size); exit: kfree(vpd_data); } @@ -12044,6 +12074,7 @@ create_singlethread_workqueue("bnxt_pf_wq"); if (!bnxt_pf_wq) { dev_err(&pdev->dev, "Unable to create workqueue.\n"); + rc = -ENOMEM; goto init_err_pci_clean; } } @@ -12065,6 +12096,7 @@ (long)pci_resource_start(pdev, 0), dev->dev_addr); pcie_print_link_status(pdev); + pci_save_state(pdev); return 0; init_err_cleanup: @@ -12222,6 +12254,9 @@ return PCI_ERS_RESULT_DISCONNECT; } + if (state == pci_channel_io_frozen) + set_bit(BNXT_STATE_PCI_CHANNEL_IO_FROZEN, &bp->state); + if (netif_running(netdev)) bnxt_close(netdev); @@ -12246,10 +12281,10 @@ */ static pci_ers_result_t bnxt_io_slot_reset(struct pci_dev *pdev) { + 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; - pci_ers_result_t result = PCI_ERS_RESULT_DISCONNECT; + int err = 0, off; netdev_info(bp->dev, "PCI Slot Reset\n"); @@ -12260,24 +12295,26 @@ "Cannot re-enable PCI device after reset.\n"); } else { pci_set_master(pdev); + /* Upon fatal error, our device internal logic that latches to + * BAR value is getting reset and will restore only upon + * rewritting the BARs. + * + * As pci_restore_state() does not re-write the BARs if the + * value is same as saved value earlier, driver needs to + * write the BARs to 0 to force restore, in case of fatal error. + */ + if (test_and_clear_bit(BNXT_STATE_PCI_CHANNEL_IO_FROZEN, + &bp->state)) { + for (off = PCI_BASE_ADDRESS_0; + off <= PCI_BASE_ADDRESS_5; off += 4) + pci_write_config_dword(bp->pdev, off, 0); + } + pci_restore_state(pdev); + pci_save_state(pdev); err = bnxt_hwrm_func_reset(bp); - if (!err) { - err = bnxt_hwrm_func_qcaps(bp); - if (!err && netif_running(netdev)) - err = bnxt_open(netdev); - } - bnxt_ulp_start(bp, err); - if (!err) { - bnxt_reenable_sriov(bp); + if (!err) result = PCI_ERS_RESULT_RECOVERED; - } - } - - if (result != PCI_ERS_RESULT_RECOVERED) { - if (netif_running(netdev)) - dev_close(netdev); - pci_disable_device(pdev); } rtnl_unlock(); @@ -12295,10 +12332,21 @@ static void bnxt_io_resume(struct pci_dev *pdev) { struct net_device *netdev = pci_get_drvdata(pdev); + struct bnxt *bp = netdev_priv(netdev); + int err; + netdev_info(bp->dev, "PCI Slot Resume\n"); rtnl_lock(); - netif_device_attach(netdev); + err = bnxt_hwrm_func_qcaps(bp); + if (!err && netif_running(netdev)) + err = bnxt_open(netdev); + + bnxt_ulp_start(bp, err); + if (!err) { + bnxt_reenable_sriov(bp); + netif_device_attach(netdev); + } rtnl_unlock(); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1341,6 +1341,11 @@ struct bnxt_ctx_pg_info **ctx_pg_tbl; }; +#define BNXT_MAX_TQM_SP_RINGS 1 +#define BNXT_MAX_TQM_FP_RINGS 8 +#define BNXT_MAX_TQM_RINGS \ + (BNXT_MAX_TQM_SP_RINGS + BNXT_MAX_TQM_FP_RINGS) + struct bnxt_ctx_mem_info { u32 qp_max_entries; u16 qp_min_qp1_entries; @@ -1379,7 +1384,7 @@ struct bnxt_ctx_pg_info stat_mem; struct bnxt_ctx_pg_info mrav_mem; struct bnxt_ctx_pg_info tim_mem; - struct bnxt_ctx_pg_info *tqm_mem[9]; + struct bnxt_ctx_pg_info *tqm_mem[BNXT_MAX_TQM_RINGS]; }; struct bnxt_fw_health { @@ -1672,6 +1677,11 @@ #define BNXT_STATE_ABORT_ERR 5 #define BNXT_STATE_FW_FATAL_COND 6 #define BNXT_STATE_DRV_REGISTERED 7 +#define BNXT_STATE_PCI_CHANNEL_IO_FROZEN 8 + +#define BNXT_NO_FW_ACCESS(bp) \ + (test_bit(BNXT_STATE_FW_FATAL_COND, &(bp)->state) || \ + pci_channel_offline((bp)->pdev)) struct bnxt_irq *irq_tbl; int total_irqs; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -494,20 +494,13 @@ static int bnxt_get_num_ring_stats(struct bnxt *bp) { int rx, tx, cmn; - bool sh = false; - - if (bp->flags & BNXT_FLAG_SHARED_RINGS) - sh = true; rx = NUM_RING_RX_HW_STATS + NUM_RING_RX_SW_STATS + bnxt_get_num_tpa_ring_stats(bp); tx = NUM_RING_TX_HW_STATS; cmn = NUM_RING_CMN_SW_STATS; - if (sh) - return (rx + tx + cmn) * bp->cp_nr_rings; - else - return rx * bp->rx_nr_rings + tx * bp->tx_nr_rings + - cmn * bp->cp_nr_rings; + return rx * bp->rx_nr_rings + tx * bp->tx_nr_rings + + cmn * bp->cp_nr_rings; } static int bnxt_get_num_stats(struct bnxt *bp) @@ -847,7 +840,7 @@ int max_tx_sch_inputs; /* Get the most up-to-date max_tx_sch_inputs. */ - if (BNXT_NEW_RM(bp)) + if (netif_running(dev) && BNXT_NEW_RM(bp)) bnxt_hwrm_func_resc_qcaps(bp, false); max_tx_sch_inputs = hw_resc->max_tx_sch_inputs; @@ -1742,9 +1735,12 @@ if (!BNXT_PHY_CFG_ABLE(bp)) return -EOPNOTSUPP; + mutex_lock(&bp->link_lock); if (epause->autoneg) { - if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) - return -EINVAL; + if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) { + rc = -EINVAL; + goto pause_exit; + } link_info->autoneg |= BNXT_AUTONEG_FLOW_CTRL; if (bp->hwrm_spec_code >= 0x10201) @@ -1765,11 +1761,11 @@ if (epause->tx_pause) link_info->req_flow_ctrl |= BNXT_LINK_PAUSE_TX; - if (netif_running(dev)) { - mutex_lock(&bp->link_lock); + if (netif_running(dev)) rc = bnxt_hwrm_set_pause(bp); - mutex_unlock(&bp->link_lock); - } + +pause_exit: + mutex_unlock(&bp->link_lock); return rc; } @@ -2270,6 +2266,9 @@ if (rc != 0) return rc; + if (!dir_entries || !entry_length) + return -EIO; + /* Insert 2 bytes of directory info (count and size of entries) */ if (len < 2) return -EINVAL; @@ -2503,8 +2502,7 @@ struct bnxt *bp = netdev_priv(dev); struct ethtool_eee *eee = &bp->eee; struct bnxt_link_info *link_info = &bp->link_info; - u32 advertising = - _bnxt_fw_to_ethtool_adv_spds(link_info->advertising, 0); + u32 advertising; int rc = 0; if (!BNXT_PHY_CFG_ABLE(bp)) @@ -2513,19 +2511,23 @@ if (!(bp->flags & BNXT_FLAG_EEE_CAP)) return -EOPNOTSUPP; + mutex_lock(&bp->link_lock); + advertising = _bnxt_fw_to_ethtool_adv_spds(link_info->advertising, 0); if (!edata->eee_enabled) goto eee_ok; if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) { netdev_warn(dev, "EEE requires autoneg\n"); - return -EINVAL; + rc = -EINVAL; + goto eee_exit; } if (edata->tx_lpi_enabled) { if (bp->lpi_tmr_hi && (edata->tx_lpi_timer > bp->lpi_tmr_hi || edata->tx_lpi_timer < bp->lpi_tmr_lo)) { netdev_warn(dev, "Valid LPI timer range is %d and %d microsecs\n", bp->lpi_tmr_lo, bp->lpi_tmr_hi); - return -EINVAL; + rc = -EINVAL; + goto eee_exit; } else if (!bp->lpi_tmr_hi) { edata->tx_lpi_timer = eee->tx_lpi_timer; } @@ -2535,7 +2537,8 @@ } else if (edata->advertised & ~advertising) { netdev_warn(dev, "EEE advertised %x must be a subset of autoneg advertised speeds %x\n", edata->advertised, advertising); - return -EINVAL; + rc = -EINVAL; + goto eee_exit; } eee->advertised = edata->advertised; @@ -2547,6 +2550,8 @@ if (netif_running(dev)) rc = bnxt_hwrm_set_link_setting(bp, false, true); +eee_exit: + mutex_unlock(&bp->link_lock); return rc; } @@ -2681,7 +2686,7 @@ /* Read A2 portion of the EEPROM */ if (length) { start -= ETH_MODULE_SFF_8436_LEN; - rc = bnxt_read_sfp_module_eeprom_info(bp, I2C_DEV_ADDR_A2, 1, + rc = bnxt_read_sfp_module_eeprom_info(bp, I2C_DEV_ADDR_A2, 0, start, length, data); } return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c @@ -222,8 +222,12 @@ int bnxt_get_ulp_stat_ctxs(struct bnxt *bp) { - if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) - return BNXT_MIN_ROCE_STAT_CTXS; + if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { + struct bnxt_en_dev *edev = bp->edev; + + if (edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested) + return BNXT_MIN_ROCE_STAT_CTXS; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -1364,7 +1364,7 @@ case ETHER_FLOW: eth_mask = &cmd->fs.m_u.ether_spec; /* don't allow mask which isn't valid */ - if (VALIDATE_MASK(eth_mask->h_source) || + if (VALIDATE_MASK(eth_mask->h_dest) || VALIDATE_MASK(eth_mask->h_source) || VALIDATE_MASK(eth_mask->h_proto)) { netdev_err(dev, "rxnfc: Unsupported mask\n"); @@ -4052,8 +4052,10 @@ clk_disable_unprepare(priv->clk); err = register_netdev(dev); - if (err) + if (err) { + bcmgenet_mii_exit(dev); goto err; + } return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/broadcom/tg3.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/broadcom/tg3.c @@ -7221,8 +7221,8 @@ static inline void tg3_reset_task_cancel(struct tg3 *tp) { - cancel_work_sync(&tp->reset_task); - tg3_flag_clear(tp, RESET_TASK_PENDING); + if (test_and_clear_bit(TG3_FLAG_RESET_TASK_PENDING, tp->tg3_flags)) + cancel_work_sync(&tp->reset_task); tg3_flag_clear(tp, TX_RECOVERY_PENDING); } @@ -11209,18 +11209,27 @@ tg3_halt(tp, RESET_KIND_SHUTDOWN, 0); err = tg3_init_hw(tp, true); - if (err) + if (err) { + tg3_full_unlock(tp); + tp->irq_sync = 0; + tg3_napi_enable(tp); + /* Clear this flag so that tg3_reset_task_cancel() will not + * call cancel_work_sync() and wait forever. + */ + tg3_flag_clear(tp, RESET_TASK_PENDING); + dev_close(tp->dev); goto out; + } tg3_netif_start(tp); -out: tg3_full_unlock(tp); if (!err) tg3_phy_start(tp); tg3_flag_clear(tp, RESET_TASK_PENDING); +out: rtnl_unlock(); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cadence/macb_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cadence/macb_main.c @@ -578,7 +578,7 @@ if (bp->caps & MACB_CAPS_MACB_IS_EMAC) { if (state->interface == PHY_INTERFACE_MODE_RMII) ctrl |= MACB_BIT(RM9200_RMII); - } else { + } else if (macb_is_gem(bp)) { ctrl &= ~(GEM_BIT(SGMIIEN) | GEM_BIT(PCSSEL)); if (state->interface == PHY_INTERFACE_MODE_SGMII) @@ -639,13 +639,15 @@ ctrl |= MACB_BIT(FD); if (!(bp->caps & MACB_CAPS_MACB_IS_EMAC)) { - ctrl &= ~(GEM_BIT(GBE) | MACB_BIT(PAE)); + ctrl &= ~MACB_BIT(PAE); + if (macb_is_gem(bp)) { + ctrl &= ~GEM_BIT(GBE); - if (speed == SPEED_1000) - ctrl |= GEM_BIT(GBE); + if (speed == SPEED_1000) + ctrl |= GEM_BIT(GBE); + } - /* We do not support MLO_PAUSE_RX yet */ - if (tx_pause) + if (rx_pause) ctrl |= MACB_BIT(PAE); macb_set_tx_clk(bp->tx_clk, speed, ndev); @@ -1870,7 +1872,8 @@ static int macb_pad_and_fcs(struct sk_buff **skb, struct net_device *ndev) { - bool cloned = skb_cloned(*skb) || skb_header_cloned(*skb); + 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); @@ -3053,6 +3056,9 @@ bool cmp_b = false; bool cmp_c = false; + if (!macb_is_gem(bp)) + return; + tp4sp_v = &(fs->h_u.tcp_ip4_spec); tp4sp_m = &(fs->m_u.tcp_ip4_spec); @@ -3419,6 +3425,7 @@ { struct net_device *netdev = bp->dev; netdev_features_t features = netdev->features; + struct ethtool_rx_fs_item *item; /* TX checksum offload */ macb_set_txcsum_feature(bp, features); @@ -3427,6 +3434,9 @@ macb_set_rxcsum_feature(bp, features); /* RX Flow Filters */ + list_for_each_entry(item, &bp->rx_fs_list.list, list) + gem_prog_cmp_regs(bp, &item->fs); + macb_set_rxflow_feature(bp, features); } @@ -3717,6 +3727,7 @@ reg = gem_readl(bp, DCFG8); bp->max_tuples = min((GEM_BFEXT(SCR2CMP, reg) / 3), GEM_BFEXT(T2SCR, reg)); + INIT_LIST_HEAD(&bp->rx_fs_list.list); if (bp->max_tuples > 0) { /* also needs one ethtype match to check IPv4 */ if (GEM_BFEXT(SCR2ETH, reg) > 0) { @@ -3727,7 +3738,6 @@ /* Filtering is supported in hw but don't enable it in kernel now */ dev->hw_features |= NETIF_F_NTUPLE; /* init Rx flow definitions */ - INIT_LIST_HEAD(&bp->rx_fs_list.list); bp->rx_fs_list.count = 0; spin_lock_init(&bp->rx_fs_lock); } else --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c @@ -1167,7 +1167,7 @@ oct->pf_num = ((fdl_bit >> CN23XX_PCIE_SRIOV_FDL_BIT_POS) & CN23XX_PCIE_SRIOV_FDL_MASK); } else { - ret = EINVAL; + ret = -EINVAL; /* Under some virtual environments, extended PCI regs are * inaccessible, in which case the above read will have failed. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cavium/liquidio/cn66xx_regs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cavium/liquidio/cn66xx_regs.h @@ -412,7 +412,7 @@ | CN6XXX_INTR_M0UNWI_ERR \ | CN6XXX_INTR_M1UPB0_ERR \ | CN6XXX_INTR_M1UPWI_ERR \ - | CN6XXX_INTR_M1UPB0_ERR \ + | CN6XXX_INTR_M1UNB0_ERR \ | CN6XXX_INTR_M1UNWI_ERR \ | CN6XXX_INTR_INSTR_DB_OF_ERR \ | CN6XXX_INTR_SLIST_DB_OF_ERR \ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c @@ -1219,7 +1219,7 @@ */ if (netdev->phydev) { netif_carrier_off(netdev); - phy_start_aneg(netdev->phydev); + phy_start(netdev->phydev); } netif_wake_queue(netdev); @@ -1247,8 +1247,10 @@ napi_disable(&p->napi); netif_stop_queue(netdev); - if (netdev->phydev) + if (netdev->phydev) { + phy_stop(netdev->phydev); phy_disconnect(netdev->phydev); + } netif_carrier_off(netdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -2042,11 +2042,11 @@ /* Save message data locally to prevent them from * being overwritten by next ndo_set_rx_mode call(). */ - spin_lock(&nic->rx_mode_wq_lock); + spin_lock_bh(&nic->rx_mode_wq_lock); mode = vf_work->mode; mc = vf_work->mc; vf_work->mc = NULL; - spin_unlock(&nic->rx_mode_wq_lock); + spin_unlock_bh(&nic->rx_mode_wq_lock); __nicvf_set_rx_mode_task(mode, mc, nic); } @@ -2180,6 +2180,9 @@ nic->max_queues *= 2; nic->ptp_clock = ptp_clock; + /* Initialize mutex that serializes usage of VF's mailbox */ + mutex_init(&nic->rx_mode_mtx); + /* MAP VF's configuration registers */ nic->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0); if (!nic->reg_base) { @@ -2256,7 +2259,6 @@ INIT_WORK(&nic->rx_mode_work.work, nicvf_set_rx_mode_task); spin_lock_init(&nic->rx_mode_wq_lock); - mutex_init(&nic->rx_mode_mtx); err = register_netdev(netdev); if (err) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb3/sge.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb3/sge.c @@ -3176,6 +3176,7 @@ GFP_KERNEL | __GFP_COMP); if (!avail) { CH_ALERT(adapter, "free list queue 0 initialization failed\n"); + ret = -ENOMEM; goto err; } if (avail < q->fl[0].size) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c @@ -1388,11 +1388,25 @@ struct cudbg_buffer temp_buff = { 0 }; struct sge_qbase_reg_field *sge_qbase; struct ireg_buf *ch_sge_dbg; + u8 padap_running = 0; int i, rc; + u32 size; - rc = cudbg_get_buff(pdbg_init, dbg_buff, - sizeof(*ch_sge_dbg) * 2 + sizeof(*sge_qbase), - &temp_buff); + /* Accessing SGE_QBASE_MAP[0-3] and SGE_QBASE_INDEX regs can + * lead to SGE missing doorbells under heavy traffic. So, only + * collect them when adapter is idle. + */ + for_each_port(padap, i) { + padap_running = netif_running(padap->port[i]); + if (padap_running) + break; + } + + size = sizeof(*ch_sge_dbg) * 2; + if (!padap_running) + size += sizeof(*sge_qbase); + + rc = cudbg_get_buff(pdbg_init, dbg_buff, size, &temp_buff); if (rc) return rc; @@ -1414,7 +1428,8 @@ ch_sge_dbg++; } - if (CHELSIO_CHIP_VERSION(padap->params.chip) > CHELSIO_T5) { + if (CHELSIO_CHIP_VERSION(padap->params.chip) > CHELSIO_T5 && + !padap_running) { sge_qbase = (struct sge_qbase_reg_field *)ch_sge_dbg; /* 1 addr reg SGE_QBASE_INDEX and 4 data reg * SGE_QBASE_MAP[0-3] --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c @@ -145,13 +145,13 @@ int err; /* do a set-tcb for smac-sel and CWR bit.. */ - err = set_tcb_tflag(adap, f, f->tid, TF_CCTRL_CWR_S, 1, 1); - if (err) - goto smac_err; - err = set_tcb_field(adap, f, f->tid, TCB_SMAC_SEL_W, TCB_SMAC_SEL_V(TCB_SMAC_SEL_M), TCB_SMAC_SEL_V(f->smt->idx), 1); + if (err) + goto smac_err; + + err = set_tcb_tflag(adap, f, f->tid, TF_CCTRL_CWR_S, 1, 1); if (!err) return 0; @@ -865,6 +865,7 @@ FW_FILTER_WR_DIRSTEERHASH_V(f->fs.dirsteerhash) | FW_FILTER_WR_LPBK_V(f->fs.action == FILTER_SWITCH) | FW_FILTER_WR_DMAC_V(f->fs.newdmac) | + FW_FILTER_WR_SMAC_V(f->fs.newsmac) | FW_FILTER_WR_INSVLAN_V(f->fs.newvlan == VLAN_INSERT || f->fs.newvlan == VLAN_REWRITE) | FW_FILTER_WR_RMVLAN_V(f->fs.newvlan == VLAN_REMOVE || @@ -882,7 +883,8 @@ FW_FILTER_WR_OVLAN_VLD_V(f->fs.val.ovlan_vld) | FW_FILTER_WR_IVLAN_VLDM_V(f->fs.mask.ivlan_vld) | FW_FILTER_WR_OVLAN_VLDM_V(f->fs.mask.ovlan_vld)); - fwr->smac_sel = 0; + if (f->fs.newsmac) + fwr->smac_sel = f->smt->idx; fwr->rx_chan_rx_rpl_iq = htons(FW_FILTER_WR_RX_CHAN_V(0) | FW_FILTER_WR_RX_RPL_IQ_V(adapter->sge.fw_evtq.abs_id)); @@ -1321,11 +1323,8 @@ TX_QUEUE_V(f->fs.nat_mode) | T5_OPT_2_VALID_F | RX_CHANNEL_V(cxgb4_port_e2cchan(f->dev)) | - CONG_CNTRL_V((f->fs.action == FILTER_DROP) | - (f->fs.dirsteer << 1)) | PACE_V((f->fs.maskhash) | - ((f->fs.dirsteerhash) << 1)) | - CCTRL_ECN_V(f->fs.action == FILTER_SWITCH)); + ((f->fs.dirsteerhash) << 1))); } static void mk_act_open_req(struct filter_entry *f, struct sk_buff *skb, @@ -1361,11 +1360,8 @@ TX_QUEUE_V(f->fs.nat_mode) | T5_OPT_2_VALID_F | RX_CHANNEL_V(cxgb4_port_e2cchan(f->dev)) | - CONG_CNTRL_V((f->fs.action == FILTER_DROP) | - (f->fs.dirsteer << 1)) | PACE_V((f->fs.maskhash) | - ((f->fs.dirsteerhash) << 1)) | - CCTRL_ECN_V(f->fs.action == FILTER_SWITCH)); + ((f->fs.dirsteerhash) << 1))); } static int cxgb4_set_hash_filter(struct net_device *dev, @@ -1906,13 +1902,16 @@ static int configure_filter_tcb(struct adapter *adap, unsigned int tid, struct filter_entry *f) { - if (f->fs.hitcnts) + if (f->fs.hitcnts) { set_tcb_field(adap, f, tid, TCB_TIMESTAMP_W, - TCB_TIMESTAMP_V(TCB_TIMESTAMP_M) | + TCB_TIMESTAMP_V(TCB_TIMESTAMP_M), + TCB_TIMESTAMP_V(0ULL), + 1); + set_tcb_field(adap, f, tid, TCB_RTT_TS_RECENT_AGE_W, TCB_RTT_TS_RECENT_AGE_V(TCB_RTT_TS_RECENT_AGE_M), - TCB_TIMESTAMP_V(0ULL) | TCB_RTT_TS_RECENT_AGE_V(0ULL), 1); + } if (f->fs.newdmac) set_tcb_tflag(adap, f, tid, TF_CCTRL_ECE_S, 1, @@ -2034,6 +2033,20 @@ } return; } + switch (f->fs.action) { + case FILTER_PASS: + if (f->fs.dirsteer) + set_tcb_tflag(adap, f, tid, + TF_DIRECT_STEER_S, 1, 1); + break; + case FILTER_DROP: + set_tcb_tflag(adap, f, tid, TF_DROP_S, 1, 1); + break; + case FILTER_SWITCH: + set_tcb_tflag(adap, f, tid, TF_LPBK_S, 1, 1); + break; + } + break; default: @@ -2101,22 +2114,11 @@ if (ctx) ctx->result = 0; } else if (ret == FW_FILTER_WR_FLT_ADDED) { - int err = 0; - - if (f->fs.newsmac) - err = configure_filter_smac(adap, f); - - if (!err) { - f->pending = 0; /* async setup completed */ - f->valid = 1; - if (ctx) { - ctx->result = 0; - ctx->tid = idx; - } - } else { - clear_filter(adap, f); - if (ctx) - ctx->result = err; + f->pending = 0; /* async setup completed */ + f->valid = 1; + if (ctx) { + ctx->result = 0; + ctx->tid = idx; } } else { /* Something went wrong. Issue a warning about the --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c @@ -229,7 +229,7 @@ { struct mps_entries_ref *mps_entry, *tmp; - if (!list_empty(&adap->mps_ref)) + if (list_empty(&adap->mps_ref)) return; spin_lock(&adap->mps_ref_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c @@ -60,6 +60,89 @@ PEDIT_FIELDS(IP6_, DST_127_96, 4, nat_lip, 12), }; +static const struct cxgb4_natmode_config cxgb4_natmode_config_array[] = { + /* Default supported NAT modes */ + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_NONE, + .natmode = NAT_MODE_NONE, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP, + .natmode = NAT_MODE_DIP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_DPORT, + .natmode = NAT_MODE_DIP_DP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_DPORT | + CXGB4_ACTION_NATMODE_SIP, + .natmode = NAT_MODE_DIP_DP_SIP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_DPORT | + CXGB4_ACTION_NATMODE_SPORT, + .natmode = NAT_MODE_DIP_DP_SP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_SIP | CXGB4_ACTION_NATMODE_SPORT, + .natmode = NAT_MODE_SIP_SP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_SIP | + CXGB4_ACTION_NATMODE_SPORT, + .natmode = NAT_MODE_DIP_SIP_SP, + }, + { + .chip = CHELSIO_T5, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_SIP | + CXGB4_ACTION_NATMODE_DPORT | + CXGB4_ACTION_NATMODE_SPORT, + .natmode = NAT_MODE_ALL, + }, + /* T6+ can ignore L4 ports when they're disabled. */ + { + .chip = CHELSIO_T6, + .flags = CXGB4_ACTION_NATMODE_SIP, + .natmode = NAT_MODE_SIP_SP, + }, + { + .chip = CHELSIO_T6, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_SPORT, + .natmode = NAT_MODE_DIP_DP_SP, + }, + { + .chip = CHELSIO_T6, + .flags = CXGB4_ACTION_NATMODE_DIP | CXGB4_ACTION_NATMODE_SIP, + .natmode = NAT_MODE_ALL, + }, +}; + +static void cxgb4_action_natmode_tweak(struct ch_filter_specification *fs, + u8 natmode_flags) +{ + u8 i = 0; + + /* Translate the enabled NAT 4-tuple fields to one of the + * hardware supported NAT mode configurations. This ensures + * that we pick a valid combination, where the disabled fields + * do not get overwritten to 0. + */ + for (i = 0; i < ARRAY_SIZE(cxgb4_natmode_config_array); i++) { + if (cxgb4_natmode_config_array[i].flags == natmode_flags) { + fs->nat_mode = cxgb4_natmode_config_array[i].natmode; + return; + } + } +} + static struct ch_tc_flower_entry *allocate_flower_entry(void) { struct ch_tc_flower_entry *new = kzalloc(sizeof(*new), GFP_KERNEL); @@ -287,7 +370,8 @@ } static void process_pedit_field(struct ch_filter_specification *fs, u32 val, - u32 mask, u32 offset, u8 htype) + u32 mask, u32 offset, u8 htype, + u8 *natmode_flags) { switch (htype) { case FLOW_ACT_MANGLE_HDR_TYPE_ETH: @@ -312,67 +396,102 @@ switch (offset) { case PEDIT_IP4_SRC: offload_pedit(fs, val, mask, IP4_SRC); + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; break; case PEDIT_IP4_DST: offload_pedit(fs, val, mask, IP4_DST); + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; } - fs->nat_mode = NAT_MODE_ALL; break; case FLOW_ACT_MANGLE_HDR_TYPE_IP6: switch (offset) { case PEDIT_IP6_SRC_31_0: offload_pedit(fs, val, mask, IP6_SRC_31_0); + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; break; case PEDIT_IP6_SRC_63_32: offload_pedit(fs, val, mask, IP6_SRC_63_32); + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; break; case PEDIT_IP6_SRC_95_64: offload_pedit(fs, val, mask, IP6_SRC_95_64); + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; break; case PEDIT_IP6_SRC_127_96: offload_pedit(fs, val, mask, IP6_SRC_127_96); + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; break; case PEDIT_IP6_DST_31_0: offload_pedit(fs, val, mask, IP6_DST_31_0); + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; break; case PEDIT_IP6_DST_63_32: offload_pedit(fs, val, mask, IP6_DST_63_32); + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; break; case PEDIT_IP6_DST_95_64: offload_pedit(fs, val, mask, IP6_DST_95_64); + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; break; case PEDIT_IP6_DST_127_96: offload_pedit(fs, val, mask, IP6_DST_127_96); + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; } - fs->nat_mode = NAT_MODE_ALL; break; case FLOW_ACT_MANGLE_HDR_TYPE_TCP: switch (offset) { case PEDIT_TCP_SPORT_DPORT: - if (~mask & PEDIT_TCP_UDP_SPORT_MASK) + if (~mask & PEDIT_TCP_UDP_SPORT_MASK) { fs->nat_fport = val; - else + *natmode_flags |= CXGB4_ACTION_NATMODE_SPORT; + } else { fs->nat_lport = val >> 16; + *natmode_flags |= CXGB4_ACTION_NATMODE_DPORT; + } } - fs->nat_mode = NAT_MODE_ALL; break; case FLOW_ACT_MANGLE_HDR_TYPE_UDP: switch (offset) { case PEDIT_UDP_SPORT_DPORT: - if (~mask & PEDIT_TCP_UDP_SPORT_MASK) + if (~mask & PEDIT_TCP_UDP_SPORT_MASK) { fs->nat_fport = val; - else + *natmode_flags |= CXGB4_ACTION_NATMODE_SPORT; + } else { fs->nat_lport = val >> 16; + *natmode_flags |= CXGB4_ACTION_NATMODE_DPORT; + } } - fs->nat_mode = NAT_MODE_ALL; + break; } } +static int cxgb4_action_natmode_validate(struct adapter *adap, u8 natmode_flags, + struct netlink_ext_ack *extack) +{ + u8 i = 0; + + /* Extract the NAT mode to enable based on what 4-tuple fields + * are enabled to be overwritten. This ensures that the + * disabled fields don't get overwritten to 0. + */ + for (i = 0; i < ARRAY_SIZE(cxgb4_natmode_config_array); i++) { + const struct cxgb4_natmode_config *c; + + c = &cxgb4_natmode_config_array[i]; + if (CHELSIO_CHIP_VERSION(adap->params.chip) >= c->chip && + natmode_flags == c->flags) + return 0; + } + NL_SET_ERR_MSG_MOD(extack, "Unsupported NAT mode 4-tuple combination"); + return -EOPNOTSUPP; +} + void cxgb4_process_flow_actions(struct net_device *in, struct flow_action *actions, struct ch_filter_specification *fs) { struct flow_action_entry *act; + u8 natmode_flags = 0; int i; flow_action_for_each(i, act, actions) { @@ -423,13 +542,17 @@ val = act->mangle.val; offset = act->mangle.offset; - process_pedit_field(fs, val, mask, offset, htype); + process_pedit_field(fs, val, mask, offset, htype, + &natmode_flags); } break; default: break; } } + if (natmode_flags) + cxgb4_action_natmode_tweak(fs, natmode_flags); + } static bool valid_l4_mask(u32 mask) @@ -446,7 +569,8 @@ } static bool valid_pedit_action(struct net_device *dev, - const struct flow_action_entry *act) + const struct flow_action_entry *act, + u8 *natmode_flags) { u32 mask, offset; u8 htype; @@ -471,7 +595,10 @@ case FLOW_ACT_MANGLE_HDR_TYPE_IP4: switch (offset) { case PEDIT_IP4_SRC: + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; + break; case PEDIT_IP4_DST: + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; break; default: netdev_err(dev, "%s: Unsupported pedit field\n", @@ -485,10 +612,13 @@ case PEDIT_IP6_SRC_63_32: case PEDIT_IP6_SRC_95_64: case PEDIT_IP6_SRC_127_96: + *natmode_flags |= CXGB4_ACTION_NATMODE_SIP; + break; case PEDIT_IP6_DST_31_0: case PEDIT_IP6_DST_63_32: case PEDIT_IP6_DST_95_64: case PEDIT_IP6_DST_127_96: + *natmode_flags |= CXGB4_ACTION_NATMODE_DIP; break; default: netdev_err(dev, "%s: Unsupported pedit field\n", @@ -504,6 +634,10 @@ __func__); return false; } + if (~mask & PEDIT_TCP_UDP_SPORT_MASK) + *natmode_flags |= CXGB4_ACTION_NATMODE_SPORT; + else + *natmode_flags |= CXGB4_ACTION_NATMODE_DPORT; break; default: netdev_err(dev, "%s: Unsupported pedit field\n", @@ -519,6 +653,10 @@ __func__); return false; } + if (~mask & PEDIT_TCP_UDP_SPORT_MASK) + *natmode_flags |= CXGB4_ACTION_NATMODE_SPORT; + else + *natmode_flags |= CXGB4_ACTION_NATMODE_DPORT; break; default: netdev_err(dev, "%s: Unsupported pedit field\n", @@ -537,10 +675,12 @@ struct flow_action *actions, struct netlink_ext_ack *extack) { + struct adapter *adap = netdev2adap(dev); struct flow_action_entry *act; bool act_redir = false; bool act_pedit = false; bool act_vlan = false; + u8 natmode_flags = 0; int i; if (!flow_action_basic_hw_stats_check(actions, extack)) @@ -553,7 +693,6 @@ /* Do nothing */ break; case FLOW_ACTION_REDIRECT: { - struct adapter *adap = netdev2adap(dev); struct net_device *n_dev, *target_dev; unsigned int i; bool found = false; @@ -603,7 +742,8 @@ } break; case FLOW_ACTION_MANGLE: { - bool pedit_valid = valid_pedit_action(dev, act); + bool pedit_valid = valid_pedit_action(dev, act, + &natmode_flags); if (!pedit_valid) return -EOPNOTSUPP; @@ -622,6 +762,15 @@ return -EINVAL; } + if (act_pedit) { + int ret; + + ret = cxgb4_action_natmode_validate(adap, natmode_flags, + extack); + if (ret) + return ret; + } + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h @@ -108,6 +108,21 @@ #define PEDIT_TCP_SPORT_DPORT 0x0 #define PEDIT_UDP_SPORT_DPORT 0x0 +enum cxgb4_action_natmode_flags { + CXGB4_ACTION_NATMODE_NONE = 0, + CXGB4_ACTION_NATMODE_DIP = (1 << 0), + CXGB4_ACTION_NATMODE_SIP = (1 << 1), + CXGB4_ACTION_NATMODE_DPORT = (1 << 2), + CXGB4_ACTION_NATMODE_SPORT = (1 << 3), +}; + +/* TC PEDIT action to NATMODE translation entry */ +struct cxgb4_natmode_config { + enum chip_type chip; + u8 flags; + u8 natmode; +}; + void cxgb4_process_flow_actions(struct net_device *in, struct flow_action *actions, struct ch_filter_specification *fs); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c @@ -62,6 +62,7 @@ int cxgb4_thermal_init(struct adapter *adap) { struct ch_thermal *ch_thermal = &adap->ch_thermal; + char ch_tz_name[THERMAL_NAME_LENGTH]; int num_trip = CXGB4_NUM_TRIPS; u32 param, val; int ret; @@ -82,7 +83,8 @@ ch_thermal->trip_type = THERMAL_TRIP_CRITICAL; } - ch_thermal->tzdev = thermal_zone_device_register("cxgb4", num_trip, + snprintf(ch_tz_name, sizeof(ch_tz_name), "cxgb4_%s", adap->name); + ch_thermal->tzdev = thermal_zone_device_register(ch_tz_name, num_trip, 0, adap, &cxgb4_thermal_ops, NULL, 0, 0); @@ -97,7 +99,9 @@ int cxgb4_thermal_remove(struct adapter *adap) { - if (adap->ch_thermal.tzdev) + if (adap->ch_thermal.tzdev) { thermal_zone_device_unregister(adap->ch_thermal.tzdev); + adap->ch_thermal.tzdev = NULL; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h @@ -44,6 +44,9 @@ #define MAX_ULD_QSETS 16 +/* ulp_mem_io + ulptx_idata + payload + padding */ +#define MAX_IMM_ULPTX_WR_LEN (32 + 8 + 256 + 8) + /* CPL message priority levels */ enum { CPL_PRIORITY_DATA = 0, /* data messages */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/sge.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/sge.c @@ -2655,17 +2655,22 @@ * @skb: the packet * * Returns true if a packet can be sent as an offload WR with immediate - * data. We currently use the same limit as for Ethernet packets. + * data. + * FW_OFLD_TX_DATA_WR limits the payload to 255 bytes due to 8-bit field. + * However, FW_ULPTX_WR commands have a 256 byte immediate only + * payload limit. */ static inline int is_ofld_imm(const struct sk_buff *skb) { struct work_request_hdr *req = (struct work_request_hdr *)skb->data; unsigned long opcode = FW_WR_OP_G(ntohl(req->wr_hi)); - if (opcode == FW_CRYPTO_LOOKASIDE_WR) + if (unlikely(opcode == FW_ULPTX_WR)) + return skb->len <= MAX_IMM_ULPTX_WR_LEN; + else if (opcode == FW_CRYPTO_LOOKASIDE_WR) return skb->len <= SGE_MAX_WR_LEN; else - return skb->len <= MAX_IMM_TX_PKT_LEN; + return skb->len <= MAX_IMM_OFLD_TX_DATA_WR_LEN; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c @@ -2090,7 +2090,8 @@ 0x1190, 0x1194, 0x11a0, 0x11a4, 0x11b0, 0x11b4, - 0x11fc, 0x1274, + 0x11fc, 0x123c, + 0x1254, 0x1274, 0x1280, 0x133c, 0x1800, 0x18fc, 0x3000, 0x302c, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h @@ -219,6 +219,7 @@ CH_PCI_ID_TABLE_FENTRY(0x6089), /* Custom T62100-KR */ CH_PCI_ID_TABLE_FENTRY(0x608a), /* Custom T62100-CR */ CH_PCI_ID_TABLE_FENTRY(0x608b), /* Custom T6225-CR */ + CH_PCI_ID_TABLE_FENTRY(0x6092), /* Custom T62100-CR-LOM */ CH_PCI_DEVICE_ID_TABLE_DEFINE_END; #endif /* __T4_PCI_ID_TBL_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h @@ -40,6 +40,13 @@ #define TCB_L2T_IX_M 0xfffULL #define TCB_L2T_IX_V(x) ((x) << TCB_L2T_IX_S) +#define TCB_T_FLAGS_W 1 +#define TCB_T_FLAGS_S 0 +#define TCB_T_FLAGS_M 0xffffffffffffffffULL +#define TCB_T_FLAGS_V(x) ((__u64)(x) << TCB_T_FLAGS_S) + +#define TCB_FIELD_COOKIE_TFLAG 1 + #define TCB_SMAC_SEL_W 0 #define TCB_SMAC_SEL_S 24 #define TCB_SMAC_SEL_M 0xffULL @@ -50,6 +57,10 @@ #define TCB_T_FLAGS_M 0xffffffffffffffffULL #define TCB_T_FLAGS_V(x) ((__u64)(x) << TCB_T_FLAGS_S) +#define TF_DROP_S 22 +#define TF_DIRECT_STEER_S 23 +#define TF_LPBK_S 59 + #define TF_CCTRL_ECE_S 60 #define TF_CCTRL_CWR_S 61 #define TF_CCTRL_RFR_S 62 --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cisco/enic/enic.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cisco/enic/enic.h @@ -169,6 +169,7 @@ u16 num_vfs; #endif spinlock_t enic_api_lock; + bool enic_api_busy; struct enic_port_profile *pp; /* work queue cache line section */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cisco/enic/enic_api.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cisco/enic/enic_api.c @@ -34,6 +34,12 @@ struct vnic_dev *vdev = enic->vdev; spin_lock(&enic->enic_api_lock); + while (enic->enic_api_busy) { + spin_unlock(&enic->enic_api_lock); + cpu_relax(); + spin_lock(&enic->enic_api_lock); + } + spin_lock_bh(&enic->devcmd_lock); vnic_dev_cmd_proxy_by_index_start(vdev, vf); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cisco/enic/enic_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cisco/enic/enic_main.c @@ -2140,8 +2140,6 @@ int done; int err; - BUG_ON(in_interrupt()); - err = start(vdev, arg); if (err) return err; @@ -2329,6 +2327,13 @@ rss_hash_bits, rss_base_cpu, rss_enable); } +static void enic_set_api_busy(struct enic *enic, bool busy) +{ + spin_lock(&enic->enic_api_lock); + enic->enic_api_busy = busy; + spin_unlock(&enic->enic_api_lock); +} + static void enic_reset(struct work_struct *work) { struct enic *enic = container_of(work, struct enic, reset); @@ -2338,7 +2343,9 @@ rtnl_lock(); - spin_lock(&enic->enic_api_lock); + /* Stop any activity from infiniband */ + enic_set_api_busy(enic, true); + enic_stop(enic->netdev); enic_dev_soft_reset(enic); enic_reset_addr_lists(enic); @@ -2346,7 +2353,10 @@ enic_set_rss_nic_cfg(enic); enic_dev_set_ig_vlan_rewrite_mode(enic); enic_open(enic->netdev); - spin_unlock(&enic->enic_api_lock); + + /* Allow infiniband to fiddle with the device again */ + enic_set_api_busy(enic, false); + call_netdevice_notifiers(NETDEV_REBOOT, enic->netdev); rtnl_unlock(); @@ -2358,7 +2368,9 @@ rtnl_lock(); - spin_lock(&enic->enic_api_lock); + /* Stop any activity from infiniband */ + enic_set_api_busy(enic, true); + enic_dev_hang_notify(enic); enic_stop(enic->netdev); enic_dev_hang_reset(enic); @@ -2367,7 +2379,10 @@ enic_set_rss_nic_cfg(enic); enic_dev_set_ig_vlan_rewrite_mode(enic); enic_open(enic->netdev); - spin_unlock(&enic->enic_api_lock); + + /* Allow infiniband to fiddle with the device again */ + enic_set_api_busy(enic, false); + call_netdevice_notifiers(NETDEV_REBOOT, enic->netdev); rtnl_unlock(); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/cortina/gemini.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/cortina/gemini.c @@ -2389,7 +2389,7 @@ dev_info(dev, "probe %s ID %d\n", dev_name(dev), id); - netdev = alloc_etherdev_mq(sizeof(*port), TX_QUEUE_NUM); + netdev = devm_alloc_etherdev_mqs(dev, sizeof(*port), TX_QUEUE_NUM, TX_QUEUE_NUM); if (!netdev) { dev_err(dev, "Can't allocate ethernet device #%d\n", id); return -ENOMEM; @@ -2446,8 +2446,8 @@ port->reset = devm_reset_control_get_exclusive(dev, NULL); if (IS_ERR(port->reset)) { dev_err(dev, "no reset\n"); - clk_disable_unprepare(port->pclk); - return PTR_ERR(port->reset); + ret = PTR_ERR(port->reset); + goto unprepare; } reset_control_reset(port->reset); usleep_range(100, 500); @@ -2502,26 +2502,25 @@ IRQF_SHARED, port_names[port->id], port); - if (ret) { - clk_disable_unprepare(port->pclk); - return ret; - } + if (ret) + goto unprepare; ret = register_netdev(netdev); - if (!ret) { + if (ret) + goto unprepare; + + netdev_info(netdev, + "irq %d, DMA @ 0x%pap, GMAC @ 0x%pap\n", + port->irq, &dmares->start, + &gmacres->start); + ret = gmac_setup_phy(netdev); + if (ret) netdev_info(netdev, - "irq %d, DMA @ 0x%pap, GMAC @ 0x%pap\n", - port->irq, &dmares->start, - &gmacres->start); - ret = gmac_setup_phy(netdev); - if (ret) - netdev_info(netdev, - "PHY init failed, deferring to ifup time\n"); - return 0; - } + "PHY init failed, deferring to ifup time\n"); + return 0; - port->netdev = NULL; - free_netdev(netdev); +unprepare: + clk_disable_unprepare(port->pclk); return ret; } @@ -2530,7 +2529,6 @@ struct gemini_ethernet_port *port = platform_get_drvdata(pdev); gemini_port_remove(port); - free_netdev(port->netdev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/davicom/dm9000.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/davicom/dm9000.c @@ -133,6 +133,8 @@ u32 wake_state; int ip_summed; + + struct regulator *power_supply; }; /* debug code */ @@ -1452,7 +1454,7 @@ if (ret) { dev_err(dev, "failed to request reset gpio %d: %d\n", reset_gpios, ret); - return -ENODEV; + goto out_regulator_disable; } /* According to manual PWRST# Low Period Min 1ms */ @@ -1464,14 +1466,18 @@ if (!pdata) { pdata = dm9000_parse_dt(&pdev->dev); - if (IS_ERR(pdata)) - return PTR_ERR(pdata); + if (IS_ERR(pdata)) { + ret = PTR_ERR(pdata); + goto out_regulator_disable; + } } /* Init network device */ ndev = alloc_etherdev(sizeof(struct board_info)); - if (!ndev) - return -ENOMEM; + if (!ndev) { + ret = -ENOMEM; + goto out_regulator_disable; + } SET_NETDEV_DEV(ndev, &pdev->dev); @@ -1482,6 +1488,8 @@ db->dev = &pdev->dev; db->ndev = ndev; + if (!IS_ERR(power)) + db->power_supply = power; spin_lock_init(&db->lock); mutex_init(&db->addr_lock); @@ -1504,7 +1512,7 @@ goto out; } - db->irq_wake = platform_get_irq(pdev, 1); + db->irq_wake = platform_get_irq_optional(pdev, 1); if (db->irq_wake >= 0) { dev_dbg(db->dev, "wakeup irq %d\n", db->irq_wake); @@ -1706,6 +1714,10 @@ dm9000_release_board(pdev, db); free_netdev(ndev); +out_regulator_disable: + if (!IS_ERR(power)) + regulator_disable(power); + return ret; } @@ -1763,10 +1775,13 @@ dm9000_drv_remove(struct platform_device *pdev) { struct net_device *ndev = platform_get_drvdata(pdev); + struct board_info *dm = to_dm9000_board(ndev); unregister_netdev(ndev); - dm9000_release_board(pdev, netdev_priv(ndev)); + dm9000_release_board(pdev, dm); free_netdev(ndev); /* free device structure */ + if (dm->power_supply) + regulator_disable(dm->power_supply); dev_dbg(&pdev->dev, "released and freed device\n"); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/dec/tulip/de2104x.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/dec/tulip/de2104x.c @@ -85,7 +85,7 @@ #define DSL CONFIG_DE2104X_DSL #endif -#define DE_RX_RING_SIZE 64 +#define DE_RX_RING_SIZE 128 #define DE_TX_RING_SIZE 64 #define DE_RING_BYTES \ ((sizeof(struct de_desc) * DE_RX_RING_SIZE) + \ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ethoc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ethoc.c @@ -1207,7 +1207,7 @@ ret = mdiobus_register(priv->mdio); if (ret) { dev_err(&netdev->dev, "failed to register MDIO bus\n"); - goto free2; + goto free3; } ret = ethoc_mdio_probe(netdev); @@ -1239,6 +1239,7 @@ netif_napi_del(&priv->napi); error: mdiobus_unregister(priv->mdio); +free3: mdiobus_free(priv->mdio); free2: clk_disable_unprepare(priv->clk); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/faraday/ftgmac100.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/faraday/ftgmac100.c @@ -1308,6 +1308,7 @@ */ if (unlikely(priv->need_mac_restart)) { ftgmac100_start_hw(priv); + priv->need_mac_restart = false; /* Re-enable "bad" interrupts */ iowrite32(FTGMAC100_INT_BAD, @@ -1817,6 +1818,11 @@ priv->rxdes0_edorr_mask = BIT(30); priv->txdes0_edotr_mask = BIT(30); priv->is_aspeed = true; + /* Disable ast2600 problematic HW arbitration */ + if (of_device_is_compatible(np, "aspeed,ast2600-mac")) { + iowrite32(FTGMAC100_TM_DEFAULT, + priv->base + FTGMAC100_OFFSET_TM); + } } else { priv->rxdes0_edorr_mask = BIT(15); priv->txdes0_edotr_mask = BIT(15); @@ -1902,6 +1908,8 @@ clk_disable_unprepare(priv->rclk); clk_disable_unprepare(priv->clk); err_ncsi_dev: + if (priv->ndev) + ncsi_unregister_dev(priv->ndev); ftgmac100_destroy_mdio(netdev); err_setup_mdio: iounmap(priv->base); @@ -1921,6 +1929,8 @@ netdev = platform_get_drvdata(pdev); priv = netdev_priv(netdev); + if (priv->ndev) + ncsi_unregister_dev(priv->ndev); unregister_netdev(netdev); clk_disable_unprepare(priv->rclk); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/faraday/ftgmac100.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/faraday/ftgmac100.h @@ -170,6 +170,14 @@ #define FTGMAC100_MACCR_SW_RST (1 << 31) /* + * test mode control register + */ +#define FTGMAC100_TM_RQ_TX_VALID_DIS (1 << 28) +#define FTGMAC100_TM_RQ_RR_IDLE_PREV (1 << 27) +#define FTGMAC100_TM_DEFAULT \ + (FTGMAC100_TM_RQ_TX_VALID_DIS | FTGMAC100_TM_RQ_RR_IDLE_PREV) + +/* * PHY control register */ #define FTGMAC100_PHYCR_MDC_CYCTHR_MASK 0x3f --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -174,12 +174,17 @@ #define DPAA_PARSE_RESULTS_SIZE sizeof(struct fman_prs_result) #define DPAA_TIME_STAMP_SIZE 8 #define DPAA_HASH_RESULTS_SIZE 8 +#define DPAA_HWA_SIZE (DPAA_PARSE_RESULTS_SIZE + DPAA_TIME_STAMP_SIZE \ + + DPAA_HASH_RESULTS_SIZE) +#define DPAA_RX_PRIV_DATA_DEFAULT_SIZE (DPAA_TX_PRIV_DATA_SIZE + \ + dpaa_rx_extra_headroom) #ifdef CONFIG_DPAA_ERRATUM_A050385 -#define DPAA_RX_PRIV_DATA_SIZE (DPAA_A050385_ALIGN - (DPAA_PARSE_RESULTS_SIZE\ - + DPAA_TIME_STAMP_SIZE + DPAA_HASH_RESULTS_SIZE)) +#define DPAA_RX_PRIV_DATA_A050385_SIZE (DPAA_A050385_ALIGN - DPAA_HWA_SIZE) +#define DPAA_RX_PRIV_DATA_SIZE (fman_has_errata_a050385() ? \ + DPAA_RX_PRIV_DATA_A050385_SIZE : \ + DPAA_RX_PRIV_DATA_DEFAULT_SIZE) #else -#define DPAA_RX_PRIV_DATA_SIZE (u16)(DPAA_TX_PRIV_DATA_SIZE + \ - dpaa_rx_extra_headroom) +#define DPAA_RX_PRIV_DATA_SIZE DPAA_RX_PRIV_DATA_DEFAULT_SIZE #endif #define DPAA_ETH_PCD_RXQ_NUM 128 @@ -2115,6 +2120,15 @@ skb_copy_header(new_skb, skb); new_skb->dev = skb->dev; + /* Copy relevant timestamp info from the old skb to the new */ + if (priv->tx_tstamp) { + skb_shinfo(new_skb)->tx_flags = skb_shinfo(skb)->tx_flags; + skb_shinfo(new_skb)->hwtstamps = skb_shinfo(skb)->hwtstamps; + skb_shinfo(new_skb)->tskey = skb_shinfo(skb)->tskey; + if (skb->sk) + skb_set_owner_w(new_skb, skb->sk); + } + /* We move the headroom when we align it so we have to reset the * network and transport header offsets relative to the new data * pointer. The checksum offload relies on these offsets. @@ -2122,7 +2136,6 @@ skb_set_network_header(new_skb, skb_network_offset(skb)); skb_set_transport_header(new_skb, skb_transport_offset(skb)); - /* TODO: does timestamping need the result in the old skb? */ dev_kfree_skb(skb); *s = new_skb; @@ -2840,7 +2853,8 @@ return err; } -static inline u16 dpaa_get_headroom(struct dpaa_buffer_layout *bl) +static u16 dpaa_get_headroom(struct dpaa_buffer_layout *bl, + enum port_type port) { u16 headroom; @@ -2854,10 +2868,12 @@ * * Also make sure the headroom is a multiple of data_align bytes */ - headroom = (u16)(bl->priv_data_size + DPAA_PARSE_RESULTS_SIZE + - DPAA_TIME_STAMP_SIZE + DPAA_HASH_RESULTS_SIZE); + headroom = (u16)(bl[port].priv_data_size + DPAA_HWA_SIZE); - return ALIGN(headroom, DPAA_FD_DATA_ALIGNMENT); + if (port == RX) + return ALIGN(headroom, DPAA_FD_RX_DATA_ALIGNMENT); + else + return ALIGN(headroom, DPAA_FD_DATA_ALIGNMENT); } static int dpaa_eth_probe(struct platform_device *pdev) @@ -3025,8 +3041,8 @@ goto free_dpaa_fqs; } - priv->tx_headroom = dpaa_get_headroom(&priv->buf_layout[TX]); - priv->rx_headroom = dpaa_get_headroom(&priv->buf_layout[RX]); + priv->tx_headroom = dpaa_get_headroom(priv->buf_layout, TX); + priv->rx_headroom = dpaa_get_headroom(priv->buf_layout, RX); /* All real interfaces need their ports initialized */ err = dpaa_eth_init_ports(mac_dev, dpaa_bp, &port_fqs, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/dpaa2/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/dpaa2/Kconfig @@ -3,6 +3,7 @@ tristate "Freescale DPAA2 Ethernet" depends on FSL_MC_BUS && FSL_MC_DPIO select PHYLINK + select FSL_XGMAC_MDIO help This is the DPAA2 Ethernet driver supporting Freescale SoCs with DPAA2 (DataPath Acceleration Architecture v2). --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -1109,7 +1109,7 @@ buf_array, count); if (ret < 0) { if (ret == -EBUSY && - retries++ >= DPAA2_ETH_SWP_BUSY_RETRIES) + retries++ < DPAA2_ETH_SWP_BUSY_RETRIES) continue; netdev_err(priv->net_dev, "dpaa2_io_service_acquire() failed\n"); return; @@ -2207,7 +2207,7 @@ free: fsl_mc_object_free(dpcon); - return NULL; + return ERR_PTR(err); } static void free_dpcon(struct dpaa2_eth_priv *priv, @@ -2231,8 +2231,8 @@ return NULL; channel->dpcon = setup_dpcon(priv); - if (IS_ERR_OR_NULL(channel->dpcon)) { - err = PTR_ERR_OR_ZERO(channel->dpcon); + if (IS_ERR(channel->dpcon)) { + err = PTR_ERR(channel->dpcon); goto err_setup; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/Kconfig @@ -14,6 +14,7 @@ config FSL_ENETC_VF tristate "ENETC VF driver" depends on PCI && PCI_MSI + select FSL_ENETC_MDIO select PHYLIB help This driver supports NXP ENETC gigabit ethernet controller PCIe --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc.c @@ -34,7 +34,10 @@ return NETDEV_TX_BUSY; } + enetc_lock_mdio(); count = enetc_map_tx_buffs(tx_ring, skb, priv->active_offloads); + enetc_unlock_mdio(); + if (unlikely(!count)) goto drop_packet_err; @@ -240,7 +243,7 @@ skb_tx_timestamp(skb); /* let H/W know BD ring has been updated */ - enetc_wr_reg(tx_ring->tpir, i); /* includes wmb() */ + enetc_wr_reg_hot(tx_ring->tpir, i); /* includes wmb() */ return count; @@ -263,11 +266,15 @@ struct enetc_int_vector *v = data; int i; + enetc_lock_mdio(); + /* disable interrupts */ - enetc_wr_reg(v->rbier, 0); + enetc_wr_reg_hot(v->rbier, 0); for_each_set_bit(i, &v->tx_rings_map, ENETC_MAX_NUM_TXQS) - enetc_wr_reg(v->tbier_base + ENETC_BDR_OFF(i), 0); + enetc_wr_reg_hot(v->tbier_base + ENETC_BDR_OFF(i), 0); + + enetc_unlock_mdio(); napi_schedule_irqoff(&v->napi); @@ -286,6 +293,8 @@ int work_done; int i; + enetc_lock_mdio(); + for (i = 0; i < v->count_tx_rings; i++) if (!enetc_clean_tx_ring(&v->tx_ring[i], budget)) complete = false; @@ -294,24 +303,28 @@ if (work_done == budget) complete = false; - if (!complete) + if (!complete) { + enetc_unlock_mdio(); return budget; + } napi_complete_done(napi, work_done); /* enable interrupts */ - enetc_wr_reg(v->rbier, ENETC_RBIER_RXTIE); + enetc_wr_reg_hot(v->rbier, ENETC_RBIER_RXTIE); for_each_set_bit(i, &v->tx_rings_map, ENETC_MAX_NUM_TXQS) - enetc_wr_reg(v->tbier_base + ENETC_BDR_OFF(i), - ENETC_TBIER_TXTIE); + enetc_wr_reg_hot(v->tbier_base + ENETC_BDR_OFF(i), + ENETC_TBIER_TXTIE); + + enetc_unlock_mdio(); return work_done; } static int enetc_bd_ready_count(struct enetc_bdr *tx_ring, int ci) { - int pi = enetc_rd_reg(tx_ring->tcir) & ENETC_TBCIR_IDX_MASK; + int pi = enetc_rd_reg_hot(tx_ring->tcir) & ENETC_TBCIR_IDX_MASK; return pi >= ci ? pi - ci : tx_ring->bd_count - ci + pi; } @@ -321,8 +334,8 @@ { u32 lo, hi, tstamp_lo; - lo = enetc_rd(hw, ENETC_SICTR0); - hi = enetc_rd(hw, ENETC_SICTR1); + lo = enetc_rd_hot(hw, ENETC_SICTR0); + hi = enetc_rd_hot(hw, ENETC_SICTR1); tstamp_lo = le32_to_cpu(txbd->wb.tstamp); if (lo <= tstamp_lo) hi -= 1; @@ -336,6 +349,12 @@ if (skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS) { memset(&shhwtstamps, 0, sizeof(shhwtstamps)); shhwtstamps.hwtstamp = ns_to_ktime(tstamp); + /* Ensure skb_mstamp_ns, which might have been populated with + * the txtime, is not mistaken for a software timestamp, + * because this will prevent the dispatch of our hardware + * timestamp to the socket. + */ + skb->tstamp = ktime_set(0, 0); skb_tstamp_tx(skb, &shhwtstamps); } } @@ -351,6 +370,7 @@ i = tx_ring->next_to_clean; tx_swbd = &tx_ring->tx_swbd[i]; + bds_to_clean = enetc_bd_ready_count(tx_ring, i); do_tstamp = false; @@ -398,8 +418,8 @@ if (is_eof) { tx_frm_cnt++; /* re-arm interrupt source */ - enetc_wr_reg(tx_ring->idr, BIT(tx_ring->index) | - BIT(16 + tx_ring->index)); + enetc_wr_reg_hot(tx_ring->idr, BIT(tx_ring->index) | + BIT(16 + tx_ring->index)); } if (unlikely(!bds_to_clean)) @@ -480,8 +500,6 @@ if (likely(j)) { rx_ring->next_to_alloc = i; /* keep track from page reuse */ rx_ring->next_to_use = i; - /* update ENETC's consumer index */ - enetc_wr_reg(rx_ring->rcir, i); } return j; @@ -499,8 +517,8 @@ u64 tstamp; if (le16_to_cpu(rxbd->r.flags) & ENETC_RXBD_FLAG_TSTMP) { - lo = enetc_rd(hw, ENETC_SICTR0); - hi = enetc_rd(hw, ENETC_SICTR1); + lo = enetc_rd_reg_hot(hw->reg + ENETC_SICTR0); + hi = enetc_rd_reg_hot(hw->reg + ENETC_SICTR1); rxbd = enetc_rxbd_ext(rxbd); tstamp_lo = le32_to_cpu(rxbd->ext.tstamp); if (lo <= tstamp_lo) @@ -516,9 +534,8 @@ static void enetc_get_offloads(struct enetc_bdr *rx_ring, union enetc_rx_bd *rxbd, struct sk_buff *skb) { -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK struct enetc_ndev_priv *priv = netdev_priv(rx_ring->ndev); -#endif + /* TODO: hashing */ if (rx_ring->ndev->features & NETIF_F_RXCSUM) { u16 inet_csum = le16_to_cpu(rxbd->r.inet_csum); @@ -527,12 +544,31 @@ skb->ip_summed = CHECKSUM_COMPLETE; } - /* copy VLAN to skb, if one is extracted, for now we assume it's a - * standard TPID, but HW also supports custom values - */ - if (le16_to_cpu(rxbd->r.flags) & ENETC_RXBD_FLAG_VLAN) - __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), - le16_to_cpu(rxbd->r.vlan_opt)); + if (le16_to_cpu(rxbd->r.flags) & ENETC_RXBD_FLAG_VLAN) { + __be16 tpid = 0; + + switch (le16_to_cpu(rxbd->r.flags) & ENETC_RXBD_FLAG_TPID) { + case 0: + tpid = htons(ETH_P_8021Q); + break; + case 1: + tpid = htons(ETH_P_8021AD); + break; + case 2: + tpid = htons(enetc_port_rd(&priv->si->hw, + ENETC_PCVLANR1)); + break; + case 3: + tpid = htons(enetc_port_rd(&priv->si->hw, + ENETC_PCVLANR2)); + break; + default: + break; + } + + __vlan_hwaccel_put_tag(skb, tpid, le16_to_cpu(rxbd->r.vlan_opt)); + } + #ifdef CONFIG_FSL_ENETC_PTP_CLOCK if (priv->active_offloads & ENETC_F_RX_TSTAMP) enetc_get_rx_tstamp(rx_ring->ndev, rxbd, skb); @@ -652,6 +688,8 @@ if (cleaned_cnt >= ENETC_RXBD_BUNDLE) { int count = enetc_refill_rx_ring(rx_ring, cleaned_cnt); + /* update ENETC's consumer index */ + enetc_wr_reg_hot(rx_ring->rcir, rx_ring->next_to_use); cleaned_cnt -= count; } @@ -660,7 +698,7 @@ if (!bd_status) break; - enetc_wr_reg(rx_ring->idr, BIT(rx_ring->index)); + enetc_wr_reg_hot(rx_ring->idr, BIT(rx_ring->index)); dma_rmb(); /* for reading other rxbd fields */ size = le16_to_cpu(rxbd->r.buf_len); skb = enetc_map_rx_buff_to_skb(rx_ring, i, size); @@ -1036,13 +1074,12 @@ return 0; } -static int enetc_configure_si(struct enetc_ndev_priv *priv) +int enetc_configure_si(struct enetc_ndev_priv *priv) { struct enetc_si *si = priv->si; struct enetc_hw *hw = &si->hw; int err; - enetc_setup_cbdr(hw, &si->cbd_ring); /* set SI cache attributes */ enetc_wr(hw, ENETC_SICAR0, ENETC_SICAR_RD_COHERENT | ENETC_SICAR_WR_COHERENT); @@ -1088,6 +1125,8 @@ if (err) return err; + enetc_setup_cbdr(&si->hw, &si->cbd_ring); + priv->cls_rules = kcalloc(si->num_fs_entries, sizeof(*priv->cls_rules), GFP_KERNEL); if (!priv->cls_rules) { @@ -1095,14 +1134,8 @@ goto err_alloc_cls; } - err = enetc_configure_si(priv); - if (err) - goto err_config_si; - return 0; -err_config_si: - kfree(priv->cls_rules); err_alloc_cls: enetc_clear_cbdr(&si->hw); enetc_free_cbdr(priv->dev, &si->cbd_ring); @@ -1188,6 +1221,8 @@ rx_ring->idr = hw->reg + ENETC_SIRXIDR; enetc_refill_rx_ring(rx_ring, enetc_bd_unused(rx_ring)); + /* update ENETC's consumer index */ + enetc_rxbdr_wr(hw, idx, ENETC_RBCIR, rx_ring->next_to_use); /* enable ring */ enetc_rxbdr_wr(hw, idx, ENETC_RBMR, rbmr); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc.h @@ -270,6 +270,7 @@ void enetc_init_si_rings_params(struct enetc_ndev_priv *priv); int enetc_alloc_si_resources(struct enetc_ndev_priv *priv); void enetc_free_si_resources(struct enetc_ndev_priv *priv); +int enetc_configure_si(struct enetc_ndev_priv *priv); int enetc_open(struct net_device *ndev); int enetc_close(struct net_device *ndev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c @@ -141,8 +141,8 @@ { ENETC_PM0_R255, "MAC rx 128-255 byte packets" }, { ENETC_PM0_R511, "MAC rx 256-511 byte packets" }, { ENETC_PM0_R1023, "MAC rx 512-1023 byte packets" }, - { ENETC_PM0_R1518, "MAC rx 1024-1518 byte packets" }, - { ENETC_PM0_R1519X, "MAC rx 1519 to max-octet packets" }, + { ENETC_PM0_R1522, "MAC rx 1024-1522 byte packets" }, + { ENETC_PM0_R1523X, "MAC rx 1523 to max-octet packets" }, { ENETC_PM0_ROVR, "MAC rx oversized packets" }, { ENETC_PM0_RJBR, "MAC rx jabber packets" }, { ENETC_PM0_RFRG, "MAC rx fragment packets" }, @@ -161,9 +161,13 @@ { ENETC_PM0_TBCA, "MAC tx broadcast frames" }, { ENETC_PM0_TPKT, "MAC tx packets" }, { ENETC_PM0_TUND, "MAC tx undersized packets" }, + { ENETC_PM0_T64, "MAC tx 64 byte packets" }, { ENETC_PM0_T127, "MAC tx 65-127 byte packets" }, + { ENETC_PM0_T255, "MAC tx 128-255 byte packets" }, + { ENETC_PM0_T511, "MAC tx 256-511 byte packets" }, { ENETC_PM0_T1023, "MAC tx 512-1023 byte packets" }, - { ENETC_PM0_T1518, "MAC tx 1024-1518 byte packets" }, + { ENETC_PM0_T1522, "MAC tx 1024-1522 byte packets" }, + { ENETC_PM0_T1523X, "MAC tx 1523 to max-octet packets" }, { ENETC_PM0_TCNP, "MAC tx control packets" }, { ENETC_PM0_TDFR, "MAC tx deferred packets" }, { ENETC_PM0_TMCOL, "MAC tx multiple collisions" }, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_hw.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_hw.h @@ -166,6 +166,8 @@ #define ENETC_PSIPMAR0(n) (0x0100 + (n) * 0x8) /* n = SI index */ #define ENETC_PSIPMAR1(n) (0x0104 + (n) * 0x8) #define ENETC_PVCLCTR 0x0208 +#define ENETC_PCVLANR1 0x0210 +#define ENETC_PCVLANR2 0x0214 #define ENETC_VLAN_TYPE_C BIT(0) #define ENETC_VLAN_TYPE_S BIT(1) #define ENETC_PVCLCTR_OVTPIDL(bmp) ((bmp) & 0xff) /* VLAN_TYPE */ @@ -190,6 +192,8 @@ #define ENETC_CBS_BW_MASK GENMASK(6, 0) #define ENETC_PTCCBSR1(n) (0x1114 + (n) * 8) /* n = 0 to 7*/ #define ENETC_RSSHASH_KEY_SIZE 40 +#define ENETC_PRSSCAPR 0x1404 +#define ENETC_PRSSCAPR_GET_NUM_RSS(val) (BIT((val) & 0xf) * 32) #define ENETC_PRSSK(n) (0x1410 + (n) * 4) /* n = [0..9] */ #define ENETC_PSIVLANFMR 0x1700 #define ENETC_PSIVLANFMR_VS BIT(0) @@ -224,6 +228,8 @@ #define ENETC_PM0_MAXFRM 0x8014 #define ENETC_SET_TX_MTU(val) ((val) << 16) #define ENETC_SET_MAXFRM(val) ((val) & 0xffff) +#define ENETC_PM0_RX_FIFO 0x801c +#define ENETC_PM0_RX_FIFO_VAL 1 #define ENETC_PM0_IF_MODE 0x8300 #define ENETC_PMO_IFM_RG BIT(2) #define ENETC_PM0_IFM_RLP (BIT(5) | BIT(11)) @@ -258,8 +264,8 @@ #define ENETC_PM0_R255 0x8180 #define ENETC_PM0_R511 0x8188 #define ENETC_PM0_R1023 0x8190 -#define ENETC_PM0_R1518 0x8198 -#define ENETC_PM0_R1519X 0x81A0 +#define ENETC_PM0_R1522 0x8198 +#define ENETC_PM0_R1523X 0x81A0 #define ENETC_PM0_ROVR 0x81A8 #define ENETC_PM0_RJBR 0x81B0 #define ENETC_PM0_RFRG 0x81B8 @@ -278,9 +284,13 @@ #define ENETC_PM0_TBCA 0x8250 #define ENETC_PM0_TPKT 0x8260 #define ENETC_PM0_TUND 0x8268 +#define ENETC_PM0_T64 0x8270 #define ENETC_PM0_T127 0x8278 +#define ENETC_PM0_T255 0x8280 +#define ENETC_PM0_T511 0x8288 #define ENETC_PM0_T1023 0x8290 -#define ENETC_PM0_T1518 0x8298 +#define ENETC_PM0_T1522 0x8298 +#define ENETC_PM0_T1523X 0x82A0 #define ENETC_PM0_TCNP 0x82C0 #define ENETC_PM0_TDFR 0x82D0 #define ENETC_PM0_TMCOL 0x82D8 @@ -315,14 +325,100 @@ void __iomem *global; }; -/* general register accessors */ -#define enetc_rd_reg(reg) ioread32((reg)) -#define enetc_wr_reg(reg, val) iowrite32((val), (reg)) +/* ENETC register accessors */ + +/* MDIO issue workaround (on LS1028A) - + * Due to a hardware issue, an access to MDIO registers + * that is concurrent with other ENETC register accesses + * may lead to the MDIO access being dropped or corrupted. + * To protect the MDIO accesses a readers-writers locking + * scheme is used, where the MDIO register accesses are + * protected by write locks to insure exclusivity, while + * the remaining ENETC registers are accessed under read + * locks since they only compete with MDIO accesses. + */ +extern rwlock_t enetc_mdio_lock; + +/* use this locking primitive only on the fast datapath to + * group together multiple non-MDIO register accesses to + * minimize the overhead of the lock + */ +static inline void enetc_lock_mdio(void) +{ + read_lock(&enetc_mdio_lock); +} + +static inline void enetc_unlock_mdio(void) +{ + read_unlock(&enetc_mdio_lock); +} + +/* use these accessors only on the fast datapath under + * the enetc_lock_mdio() locking primitive to minimize + * the overhead of the lock + */ +static inline u32 enetc_rd_reg_hot(void __iomem *reg) +{ + lockdep_assert_held(&enetc_mdio_lock); + + return ioread32(reg); +} + +static inline void enetc_wr_reg_hot(void __iomem *reg, u32 val) +{ + lockdep_assert_held(&enetc_mdio_lock); + + iowrite32(val, reg); +} + +/* internal helpers for the MDIO w/a */ +static inline u32 _enetc_rd_reg_wa(void __iomem *reg) +{ + u32 val; + + enetc_lock_mdio(); + val = ioread32(reg); + enetc_unlock_mdio(); + + return val; +} + +static inline void _enetc_wr_reg_wa(void __iomem *reg, u32 val) +{ + enetc_lock_mdio(); + iowrite32(val, reg); + enetc_unlock_mdio(); +} + +static inline u32 _enetc_rd_mdio_reg_wa(void __iomem *reg) +{ + unsigned long flags; + u32 val; + + write_lock_irqsave(&enetc_mdio_lock, flags); + val = ioread32(reg); + write_unlock_irqrestore(&enetc_mdio_lock, flags); + + return val; +} + +static inline void _enetc_wr_mdio_reg_wa(void __iomem *reg, u32 val) +{ + unsigned long flags; + + write_lock_irqsave(&enetc_mdio_lock, flags); + iowrite32(val, reg); + write_unlock_irqrestore(&enetc_mdio_lock, flags); +} + #ifdef ioread64 -#define enetc_rd_reg64(reg) ioread64((reg)) +static inline u64 _enetc_rd_reg64(void __iomem *reg) +{ + return ioread64(reg); +} #else /* using this to read out stats on 32b systems */ -static inline u64 enetc_rd_reg64(void __iomem *reg) +static inline u64 _enetc_rd_reg64(void __iomem *reg) { u32 low, high, tmp; @@ -336,12 +432,31 @@ } #endif +static inline u64 _enetc_rd_reg64_wa(void __iomem *reg) +{ + u64 val; + + enetc_lock_mdio(); + val = _enetc_rd_reg64(reg); + enetc_unlock_mdio(); + + return val; +} + +/* general register accessors */ +#define enetc_rd_reg(reg) _enetc_rd_reg_wa((reg)) +#define enetc_wr_reg(reg, val) _enetc_wr_reg_wa((reg), (val)) #define enetc_rd(hw, off) enetc_rd_reg((hw)->reg + (off)) #define enetc_wr(hw, off, val) enetc_wr_reg((hw)->reg + (off), val) -#define enetc_rd64(hw, off) enetc_rd_reg64((hw)->reg + (off)) +#define enetc_rd_hot(hw, off) enetc_rd_reg_hot((hw)->reg + (off)) +#define enetc_wr_hot(hw, off, val) enetc_wr_reg_hot((hw)->reg + (off), val) +#define enetc_rd64(hw, off) _enetc_rd_reg64_wa((hw)->reg + (off)) /* port register accessors - PF only */ #define enetc_port_rd(hw, off) enetc_rd_reg((hw)->port + (off)) #define enetc_port_wr(hw, off, val) enetc_wr_reg((hw)->port + (off), val) +#define enetc_port_rd_mdio(hw, off) _enetc_rd_mdio_reg_wa((hw)->port + (off)) +#define enetc_port_wr_mdio(hw, off, val) _enetc_wr_mdio_reg_wa(\ + (hw)->port + (off), val) /* global register accessors - PF only */ #define enetc_global_rd(hw, off) enetc_rd_reg((hw)->global + (off)) #define enetc_global_wr(hw, off, val) enetc_wr_reg((hw)->global + (off), val) @@ -455,6 +570,7 @@ #define ENETC_RXBD_LSTATUS(flags) ((flags) << 16) #define ENETC_RXBD_FLAG_VLAN BIT(9) #define ENETC_RXBD_FLAG_TSTMP BIT(10) +#define ENETC_RXBD_FLAG_TPID GENMASK(1, 0) #define ENETC_MAC_ADDR_FILT_CNT 8 /* # of supported entries per port */ #define EMETC_MAC_ADDR_FILT_RES 3 /* # of reserved entries at the beginning */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_mdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_mdio.c @@ -16,13 +16,13 @@ static inline u32 _enetc_mdio_rd(struct enetc_mdio_priv *mdio_priv, int off) { - return enetc_port_rd(mdio_priv->hw, mdio_priv->mdio_base + off); + return enetc_port_rd_mdio(mdio_priv->hw, mdio_priv->mdio_base + off); } static inline void _enetc_mdio_wr(struct enetc_mdio_priv *mdio_priv, int off, u32 val) { - enetc_port_wr(mdio_priv->hw, mdio_priv->mdio_base + off, val); + enetc_port_wr_mdio(mdio_priv->hw, mdio_priv->mdio_base + off, val); } #define enetc_mdio_rd(mdio_priv, off) \ @@ -174,3 +174,7 @@ return hw; } EXPORT_SYMBOL_GPL(enetc_hw_alloc); + +/* Lock for MDIO access errata on LS1028A */ +DEFINE_RWLOCK(enetc_mdio_lock); +EXPORT_SYMBOL_GPL(enetc_mdio_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -189,7 +189,6 @@ { struct enetc_ndev_priv *priv = netdev_priv(ndev); struct enetc_pf *pf = enetc_si_priv(priv->si); - char vlan_promisc_simap = pf->vlan_promisc_simap; struct enetc_hw *hw = &priv->si->hw; bool uprom = false, mprom = false; struct enetc_mac_filter *filter; @@ -202,16 +201,12 @@ psipmr = ENETC_PSIPMR_SET_UP(0) | ENETC_PSIPMR_SET_MP(0); uprom = true; mprom = true; - /* Enable VLAN promiscuous mode for SI0 (PF) */ - vlan_promisc_simap |= BIT(0); } else if (ndev->flags & IFF_ALLMULTI) { /* enable multi cast promisc mode for SI0 (PF) */ psipmr = ENETC_PSIPMR_SET_MP(0); mprom = true; } - enetc_set_vlan_promisc(&pf->si->hw, vlan_promisc_simap); - /* first 2 filter entries belong to PF */ if (!uprom) { /* Update unicast filters */ @@ -501,6 +496,12 @@ enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_RGAUTO); if (enetc_global_rd(hw, ENETC_G_EPFBLPR(1)) == ENETC_G_EPFBLPR1_XGMII) enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII); + + /* On LS1028A, the MAC RX FIFO defaults to 2, which is too high + * and may lead to RX lock-up under traffic. Set it to 1 instead, + * as recommended by the hardware team. + */ + enetc_port_wr(hw, ENETC_PM0_RX_FIFO, ENETC_PM0_RX_FIFO_VAL); } static void enetc_configure_port_pmac(struct enetc_hw *hw) @@ -833,6 +834,51 @@ of_node_put(priv->phy_node); } +/* Initialize the entire shared memory for the flow steering entries + * of this port (PF + VFs) + */ +static int enetc_init_port_rfs_memory(struct enetc_si *si) +{ + struct enetc_cmd_rfse rfse = {0}; + struct enetc_hw *hw = &si->hw; + int num_rfs, i, err = 0; + u32 val; + + val = enetc_port_rd(hw, ENETC_PRFSCAPR); + num_rfs = ENETC_PRFSCAPR_GET_NUM_RFS(val); + + for (i = 0; i < num_rfs; i++) { + err = enetc_set_fs_entry(si, &rfse, i); + if (err) + break; + } + + return err; +} + +static int enetc_init_port_rss_memory(struct enetc_si *si) +{ + struct enetc_hw *hw = &si->hw; + int num_rss, err; + int *rss_table; + u32 val; + + val = enetc_port_rd(hw, ENETC_PRSSCAPR); + num_rss = ENETC_PRSSCAPR_GET_NUM_RSS(val); + if (!num_rss) + return 0; + + rss_table = kcalloc(num_rss, sizeof(*rss_table), GFP_KERNEL); + if (!rss_table) + return -ENOMEM; + + err = enetc_set_rss_table(si, rss_table, num_rss); + + kfree(rss_table); + + return err; +} + static int enetc_pf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -887,6 +933,24 @@ goto err_alloc_si_res; } + err = enetc_init_port_rfs_memory(si); + if (err) { + dev_err(&pdev->dev, "Failed to initialize RFS memory\n"); + goto err_init_port_rfs; + } + + err = enetc_init_port_rss_memory(si); + if (err) { + dev_err(&pdev->dev, "Failed to initialize RSS memory\n"); + goto err_init_port_rss; + } + + err = enetc_configure_si(priv); + if (err) { + dev_err(&pdev->dev, "Failed to configure SI\n"); + goto err_config_si; + } + err = enetc_alloc_msix(priv); if (err) { dev_err(&pdev->dev, "MSIX alloc failed\n"); @@ -909,6 +973,9 @@ enetc_mdio_remove(pf); enetc_of_put_phy(priv); enetc_free_msix(priv); +err_config_si: +err_init_port_rss: +err_init_port_rfs: err_alloc_msix: enetc_free_si_resources(priv); err_alloc_si_res: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_qos.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c @@ -95,18 +95,8 @@ gcl_config->atc = 0xff; gcl_config->acl_len = cpu_to_le16(gcl_len); - if (!admin_conf->base_time) { - gcl_data->btl = - cpu_to_le32(enetc_rd(&priv->si->hw, ENETC_SICTR0)); - gcl_data->bth = - cpu_to_le32(enetc_rd(&priv->si->hw, ENETC_SICTR1)); - } else { - gcl_data->btl = - cpu_to_le32(lower_32_bits(admin_conf->base_time)); - gcl_data->bth = - cpu_to_le32(upper_32_bits(admin_conf->base_time)); - } - + gcl_data->btl = cpu_to_le32(lower_32_bits(admin_conf->base_time)); + gcl_data->bth = cpu_to_le32(upper_32_bits(admin_conf->base_time)); gcl_data->ct = cpu_to_le32(admin_conf->cycle_time); gcl_data->cte = cpu_to_le32(admin_conf->cycle_time_extension); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/enetc/enetc_vf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/enetc/enetc_vf.c @@ -182,6 +182,12 @@ goto err_alloc_si_res; } + err = enetc_configure_si(priv); + if (err) { + dev_err(&pdev->dev, "Failed to configure SI\n"); + goto err_config_si; + } + err = enetc_alloc_msix(priv); if (err) { dev_err(&pdev->dev, "MSIX alloc failed\n"); @@ -198,6 +204,7 @@ err_reg_netdev: enetc_free_msix(priv); +err_config_si: err_alloc_msix: enetc_free_si_resources(priv); err_alloc_si_res: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fec.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fec.h @@ -456,6 +456,12 @@ */ #define FEC_QUIRK_HAS_FRREG (1 << 16) +/* Some FEC hardware blocks need the MMFR cleared at setup time to avoid + * the generation of an MII event. This must be avoided in the older + * FEC blocks where it will stop MII events being generated. + */ +#define FEC_QUIRK_CLEAR_SETUP_MII (1 << 17) + struct bufdesc_prop { int qid; /* Address of Rx and Tx buffers */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fec_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fec_main.c @@ -100,14 +100,14 @@ static const struct fec_devinfo fec_imx28_info = { .quirks = FEC_QUIRK_ENET_MAC | FEC_QUIRK_SWAP_FRAME | FEC_QUIRK_SINGLE_MDIO | FEC_QUIRK_HAS_RACC | - FEC_QUIRK_HAS_FRREG, + FEC_QUIRK_HAS_FRREG | FEC_QUIRK_CLEAR_SETUP_MII, }; static const struct fec_devinfo fec_imx6q_info = { .quirks = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT | FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM | FEC_QUIRK_HAS_VLAN | FEC_QUIRK_ERR006358 | - FEC_QUIRK_HAS_RACC, + FEC_QUIRK_HAS_RACC | FEC_QUIRK_CLEAR_SETUP_MII, }; static const struct fec_devinfo fec_mvf600_info = { @@ -119,7 +119,8 @@ FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM | FEC_QUIRK_HAS_VLAN | FEC_QUIRK_HAS_AVB | FEC_QUIRK_ERR007885 | FEC_QUIRK_BUG_CAPTURE | - FEC_QUIRK_HAS_RACC | FEC_QUIRK_HAS_COALESCE, + FEC_QUIRK_HAS_RACC | FEC_QUIRK_HAS_COALESCE | + FEC_QUIRK_CLEAR_SETUP_MII, }; static const struct fec_devinfo fec_imx6ul_info = { @@ -127,7 +128,7 @@ FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM | FEC_QUIRK_HAS_VLAN | FEC_QUIRK_ERR007885 | FEC_QUIRK_BUG_CAPTURE | FEC_QUIRK_HAS_RACC | - FEC_QUIRK_HAS_COALESCE, + FEC_QUIRK_HAS_COALESCE | FEC_QUIRK_CLEAR_SETUP_MII, }; static struct platform_device_id fec_devtype[] = { @@ -1808,7 +1809,7 @@ int ret = 0, frame_start, frame_addr, frame_op; bool is_c45 = !!(regnum & MII_ADDR_C45); - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) return ret; @@ -1867,11 +1868,9 @@ int ret, frame_start, frame_addr; bool is_c45 = !!(regnum & MII_ADDR_C45); - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) return ret; - else - ret = 0; if (is_c45) { frame_start = FEC_MMFR_ST_C45; @@ -1913,6 +1912,27 @@ return ret; } +static void fec_enet_phy_reset_after_clk_enable(struct net_device *ndev) +{ + struct fec_enet_private *fep = netdev_priv(ndev); + struct phy_device *phy_dev = ndev->phydev; + + if (phy_dev) { + phy_reset_after_clk_enable(phy_dev); + } else if (fep->phy_node) { + /* + * If the PHY still is not bound to the MAC, but there is + * OF PHY node and a matching PHY device instance already, + * use the OF PHY node to obtain the PHY device instance, + * and then use that PHY device instance when triggering + * the PHY reset. + */ + phy_dev = of_phy_find_device(fep->phy_node); + phy_reset_after_clk_enable(phy_dev); + put_device(&phy_dev->mdio.dev); + } +} + static int fec_enet_clk_enable(struct net_device *ndev, bool enable) { struct fec_enet_private *fep = netdev_priv(ndev); @@ -1939,7 +1959,7 @@ if (ret) goto failed_clk_ref; - phy_reset_after_clk_enable(ndev->phydev); + fec_enet_phy_reset_after_clk_enable(ndev); } else { clk_disable_unprepare(fep->clk_enet_out); if (fep->clk_ptp) { @@ -2115,15 +2135,17 @@ if (suppress_preamble) fep->phy_speed |= BIT(7); - /* Clear MMFR to avoid to generate MII event by writing MSCR. - * MII event generation condition: - * - writing MSCR: - * - mmfr[31:0]_not_zero & mscr[7:0]_is_zero & - * mscr_reg_data_in[7:0] != 0 - * - writing MMFR: - * - mscr[7:0]_not_zero - */ - writel(0, fep->hwp + FEC_MII_DATA); + if (fep->quirks & FEC_QUIRK_CLEAR_SETUP_MII) { + /* Clear MMFR to avoid to generate MII event by writing MSCR. + * MII event generation condition: + * - writing MSCR: + * - mmfr[31:0]_not_zero & mscr[7:0]_is_zero & + * mscr_reg_data_in[7:0] != 0 + * - writing MMFR: + * - mscr[7:0]_not_zero + */ + writel(0, fep->hwp + FEC_MII_DATA); + } writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED); @@ -2145,9 +2167,9 @@ fep->mii_bus->parent = &pdev->dev; err = of_mdiobus_register(fep->mii_bus, node); - of_node_put(node); if (err) goto err_out_free_mdiobus; + of_node_put(node); mii_cnt++; @@ -2160,6 +2182,7 @@ err_out_free_mdiobus: mdiobus_free(fep->mii_bus); err_out: + of_node_put(node); return err; } @@ -2253,7 +2276,7 @@ u32 i, off; int ret; - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) return; @@ -2954,7 +2977,7 @@ int ret; bool reset_again; - ret = pm_runtime_get_sync(&fep->pdev->dev); + ret = pm_runtime_resume_and_get(&fep->pdev->dev); if (ret < 0) return ret; @@ -2985,16 +3008,16 @@ /* Init MAC prior to mii bus probe */ fec_restart(ndev); - /* Probe and connect to PHY when open the interface */ - ret = fec_enet_mii_probe(ndev); - if (ret) - goto err_enet_mii_probe; - /* Call phy_reset_after_clk_enable() again if it failed during * phy_reset_after_clk_enable() before because the PHY wasn't probed. */ if (reset_again) - phy_reset_after_clk_enable(ndev->phydev); + fec_enet_phy_reset_after_clk_enable(ndev); + + /* Probe and connect to PHY when open the interface */ + ret = fec_enet_mii_probe(ndev); + if (ret) + goto err_enet_mii_probe; if (fep->quirks & FEC_QUIRK_ERR006687) imx6q_cpuidle_fec_irqs_used(); @@ -3714,11 +3737,11 @@ failed_irq: failed_init: fec_ptp_stop(pdev); - if (fep->reg_phy) - regulator_disable(fep->reg_phy); failed_reset: pm_runtime_put_noidle(&pdev->dev); pm_runtime_disable(&pdev->dev); + if (fep->reg_phy) + regulator_disable(fep->reg_phy); failed_regulator: clk_disable_unprepare(fep->clk_ahb); failed_clk_ahb: @@ -3746,7 +3769,7 @@ struct device_node *np = pdev->dev.of_node; int ret; - ret = pm_runtime_get_sync(&pdev->dev); + ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fec_ptp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fec_ptp.c @@ -382,9 +382,16 @@ u64 ns; unsigned long flags; + mutex_lock(&adapter->ptp_clk_mutex); + /* Check the ptp clock */ + if (!adapter->ptp_clk_on) { + mutex_unlock(&adapter->ptp_clk_mutex); + return -EINVAL; + } spin_lock_irqsave(&adapter->tmreg_lock, flags); ns = timecounter_read(&adapter->tc); spin_unlock_irqrestore(&adapter->tmreg_lock, flags); + mutex_unlock(&adapter->ptp_clk_mutex); *ts = ns_to_timespec64(ns); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman.c @@ -1398,8 +1398,7 @@ { struct fman_fpm_regs __iomem *fpm_rg = fman->fpm_regs; u16 fm_clk_freq = fman->state->fm_clk_freq; - u32 tmp, intgr, ts_freq; - u64 frac; + u32 tmp, intgr, ts_freq, frac; ts_freq = (u32)(1 << fman->state->count1_micro_bit); /* configure timestamp so that bit 8 will count 1 microsecond --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman_dtsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman_dtsec.c @@ -1200,7 +1200,7 @@ list_for_each(pos, &dtsec->multicast_addr_hash->lsts[bucket]) { hash_entry = ETH_HASH_ENTRY_OBJ(pos); - if (hash_entry->addr == addr) { + if (hash_entry && hash_entry->addr == addr) { list_del_init(&hash_entry->node); kfree(hash_entry); break; @@ -1213,7 +1213,7 @@ list_for_each(pos, &dtsec->unicast_addr_hash->lsts[bucket]) { hash_entry = ETH_HASH_ENTRY_OBJ(pos); - if (hash_entry->addr == addr) { + if (hash_entry && hash_entry->addr == addr) { list_del_init(&hash_entry->node); kfree(hash_entry); break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman_mac.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman_mac.h @@ -252,7 +252,7 @@ struct eth_hash_t *hash; /* Allocate address hash table */ - hash = kmalloc_array(size, sizeof(struct eth_hash_t *), GFP_KERNEL); + hash = kmalloc(sizeof(*hash), GFP_KERNEL); if (!hash) return NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman_memac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman_memac.c @@ -852,7 +852,6 @@ tmp = ioread32be(®s->command_config); tmp &= ~CMD_CFG_PFC_MODE; - priority = 0; iowrite32be(tmp, ®s->command_config); @@ -982,7 +981,7 @@ list_for_each(pos, &memac->multicast_addr_hash->lsts[hash]) { hash_entry = ETH_HASH_ENTRY_OBJ(pos); - if (hash_entry->addr == addr) { + if (hash_entry && hash_entry->addr == addr) { list_del_init(&hash_entry->node); kfree(hash_entry); break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman_port.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman_port.c @@ -1767,6 +1767,7 @@ struct fman_port *port; struct fman *fman; struct device_node *fm_node, *port_node; + struct platform_device *fm_pdev; struct resource res; struct resource *dev_res; u32 val; @@ -1791,8 +1792,14 @@ goto return_err; } - fman = dev_get_drvdata(&of_find_device_by_node(fm_node)->dev); + fm_pdev = of_find_device_by_node(fm_node); of_node_put(fm_node); + if (!fm_pdev) { + err = -EINVAL; + goto return_err; + } + + fman = dev_get_drvdata(&fm_pdev->dev); if (!fman) { err = -EINVAL; goto return_err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fman/fman_tgec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fman/fman_tgec.c @@ -626,7 +626,7 @@ list_for_each(pos, &tgec->multicast_addr_hash->lsts[hash]) { hash_entry = ETH_HASH_ENTRY_OBJ(pos); - if (hash_entry->addr == addr) { + if (hash_entry && hash_entry->addr == addr) { list_del_init(&hash_entry->node); kfree(hash_entry); break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c @@ -223,3 +223,4 @@ }; module_platform_driver(fs_enet_bb_mdio_driver); +MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/fs_enet/mii-fec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/fs_enet/mii-fec.c @@ -224,3 +224,4 @@ }; module_platform_driver(fs_enet_fec_mdio_driver); +MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/gianfar.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/gianfar.c @@ -364,7 +364,11 @@ static int gfar_set_mac_addr(struct net_device *dev, void *p) { - eth_mac_addr(dev, p); + int ret; + + ret = eth_mac_addr(dev, p); + if (ret) + return ret; gfar_set_mac_for_addr(dev, 0, dev->dev_addr); @@ -750,8 +754,10 @@ continue; err = gfar_parse_group(child, priv, model); - if (err) + if (err) { + of_node_put(child); goto err_grp_init; + } } } else { /* SQ_SG_MODE */ err = gfar_parse_group(np, priv, model); @@ -1827,20 +1833,12 @@ fcb_len = GMAC_FCB_LEN + GMAC_TXPAL_LEN; /* make space for additional header when fcb is needed */ - if (fcb_len && unlikely(skb_headroom(skb) < fcb_len)) { - struct sk_buff *skb_new; - - skb_new = skb_realloc_headroom(skb, fcb_len); - if (!skb_new) { + if (fcb_len) { + if (unlikely(skb_cow_head(skb, fcb_len))) { dev->stats.tx_errors++; dev_kfree_skb_any(skb); return NETDEV_TX_OK; } - - if (skb->sk) - skb_set_owner_w(skb_new, skb->sk); - dev_consume_skb_any(skb); - skb = skb_new; } /* total number of fragments in the SKB */ @@ -2397,6 +2395,10 @@ if (lstatus & BD_LFLAG(RXBD_LAST)) size -= skb->len; + WARN(size < 0, "gianfar: rx fragment size underflow"); + if (size < 0) + return false; + skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, rxb->page_offset + RXBUF_ALIGNMENT, size, GFAR_RXB_TRUESIZE); @@ -2559,6 +2561,17 @@ if (lstatus & BD_LFLAG(RXBD_EMPTY)) break; + /* lost RXBD_LAST descriptor due to overrun */ + if (skb && + (lstatus & BD_LFLAG(RXBD_FIRST))) { + /* discard faulty buffer */ + dev_kfree_skb(skb); + skb = NULL; + rx_queue->stats.rx_dropped++; + + /* can continue normally */ + } + /* order rx buffer descriptor reads */ rmb(); @@ -3378,7 +3391,7 @@ if (dev->features & NETIF_F_IP_CSUM || priv->device_flags & FSL_GIANFAR_DEV_HAS_TIMER) - dev->needed_headroom = GMAC_FCB_LEN; + dev->needed_headroom = GMAC_FCB_LEN + GMAC_TXPAL_LEN; /* Initializing some of the rx/tx queue level parameters */ for (i = 0; i < priv->num_tx_queues; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/ucc_geth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/ucc_geth.c @@ -3889,6 +3889,7 @@ INIT_WORK(&ugeth->timeout_work, ucc_geth_timeout_work); netif_napi_add(dev, &ugeth->napi, ucc_geth_poll, 64); dev->mtu = 1500; + dev->max_mtu = 1518; ugeth->msg_enable = netif_msg_init(debug.msg_enable, UGETH_MSG_DEFAULT); ugeth->phy_interface = phy_interface; @@ -3934,12 +3935,12 @@ struct device_node *np = ofdev->dev.of_node; unregister_netdev(dev); - free_netdev(dev); ucc_geth_memclean(ugeth); if (of_phy_is_fixed_link(np)) of_phy_deregister_fixed_link(np); of_node_put(ugeth->ug_info->tbi_node); of_node_put(ugeth->ug_info->phy_node); + free_netdev(dev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/freescale/ucc_geth.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/freescale/ucc_geth.h @@ -575,7 +575,14 @@ u32 vtagtable[0x8]; /* 8 4-byte VLAN tags */ u32 tqptr; /* a base pointer to the Tx Queues Memory Region */ - u8 res2[0x80 - 0x74]; + u8 res2[0x78 - 0x74]; + u64 snums_en; + u32 l2l3baseptr; /* top byte consists of a few other bit fields */ + + u16 mtu[8]; + u8 res3[0xa8 - 0x94]; + u32 wrrtablebase; /* top byte is reserved */ + u8 res4[0xc0 - 0xac]; } __packed; /* structure representing Extended Filtering Global Parameters in PRAM */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns/hns_enet.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns/hns_enet.c @@ -1663,8 +1663,10 @@ for (j = 0; j < fetch_num; j++) { /* alloc one skb and init */ skb = hns_assemble_skb(ndev); - if (!skb) + if (!skb) { + ret = -ENOMEM; goto out; + } rd = &tx_ring_data(priv, skb->queue_mapping); hns_nic_net_xmit_hw(ndev, skb, rd); @@ -2282,8 +2284,10 @@ priv->enet_ver = AE_VERSION_1; else if (acpi_dev_found(hns_enet_acpi_match[1].id)) priv->enet_ver = AE_VERSION_2; - else - return -ENXIO; + else { + ret = -ENXIO; + goto out_read_prop_fail; + } /* try to find port-idx-in-ae first */ ret = acpi_node_get_property_reference(dev->fwnode, @@ -2299,7 +2303,8 @@ priv->fwnode = args.fwnode; } else { dev_err(dev, "cannot read cfg data from OF or acpi\n"); - return -ENXIO; + ret = -ENXIO; + goto out_read_prop_fail; } ret = device_property_read_u32(dev, "port-idx-in-ae", &port_id); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c @@ -415,6 +415,10 @@ /* for mutl buffer*/ new_skb = skb_copy(skb, GFP_ATOMIC); dev_kfree_skb_any(skb); + if (!new_skb) { + netdev_err(ndev, "skb alloc failed\n"); + return; + } skb = new_skb; check_ok = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h @@ -168,7 +168,7 @@ #define hclge_mbx_ring_ptr_move_crq(crq) \ (crq->next_to_use = (crq->next_to_use + 1) % crq->desc_num) #define hclge_mbx_tail_ptr_move_arq(arq) \ - (arq.tail = (arq.tail + 1) % HCLGE_MBX_MAX_ARQ_MSG_SIZE) + (arq.tail = (arq.tail + 1) % HCLGE_MBX_MAX_ARQ_MSG_NUM) #define hclge_mbx_head_ptr_move_arq(arq) \ - (arq.head = (arq.head + 1) % HCLGE_MBX_MAX_ARQ_MSG_SIZE) + (arq.head = (arq.head + 1) % HCLGE_MBX_MAX_ARQ_MSG_NUM) #endif --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "hnae3.h" #include "hns3_enet.h" @@ -780,7 +781,7 @@ * and it is udp packet, which has a dest port as the IANA assigned. * the hardware is expected to do the checksum offload, but the * hardware will not do the checksum offload when udp dest port is - * 4789. + * 4789 or 6081. */ static bool hns3_tunnel_csum_bug(struct sk_buff *skb) { @@ -789,7 +790,8 @@ l4.hdr = skb_transport_header(skb); if (!(!skb->encapsulation && - l4.udp->dest == htons(IANA_VXLAN_UDP_PORT))) + (l4.udp->dest == htons(IANA_VXLAN_UDP_PORT) || + l4.udp->dest == htons(GENEVE_UDP_PORT)))) return false; skb_checksum_help(skb); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h @@ -1011,16 +1011,16 @@ #define HCLGE_FD_AD_DROP_B 0 #define HCLGE_FD_AD_DIRECT_QID_B 1 #define HCLGE_FD_AD_QID_S 2 -#define HCLGE_FD_AD_QID_M GENMASK(12, 2) +#define HCLGE_FD_AD_QID_M GENMASK(11, 2) #define HCLGE_FD_AD_USE_COUNTER_B 12 #define HCLGE_FD_AD_COUNTER_NUM_S 13 #define HCLGE_FD_AD_COUNTER_NUM_M GENMASK(20, 13) #define HCLGE_FD_AD_NXT_STEP_B 20 #define HCLGE_FD_AD_NXT_KEY_S 21 -#define HCLGE_FD_AD_NXT_KEY_M GENMASK(26, 21) +#define HCLGE_FD_AD_NXT_KEY_M GENMASK(25, 21) #define HCLGE_FD_AD_WR_RULE_ID_B 0 #define HCLGE_FD_AD_RULE_ID_S 1 -#define HCLGE_FD_AD_RULE_ID_M GENMASK(13, 1) +#define HCLGE_FD_AD_RULE_ID_M GENMASK(12, 1) struct hclge_fd_ad_config_cmd { u8 stage; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h @@ -35,8 +35,6 @@ #define HCLGE_DBG_DFX_SSU_2_OFFSET 12 -#pragma pack(1) - struct hclge_qos_pri_map_cmd { u8 pri0_tc : 4, pri1_tc : 4; @@ -85,8 +83,6 @@ struct hclge_dbg_reg_common_msg reg_msg; }; -#pragma pack() - static struct hclge_dbg_dfx_message hclge_dbg_bios_common_reg[] = { {false, "Reserved"}, {true, "BP_CPU_STATE"}, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -751,7 +751,8 @@ handle->flags |= HNAE3_SUPPORT_SERDES_SERIAL_LOOPBACK; handle->flags |= HNAE3_SUPPORT_SERDES_PARALLEL_LOOPBACK; - if (hdev->hw.mac.phydev) { + if (hdev->hw.mac.phydev && hdev->hw.mac.phydev->drv && + hdev->hw.mac.phydev->drv->set_loopback) { count += 1; handle->flags |= HNAE3_SUPPORT_PHY_LOOPBACK; } @@ -5002,9 +5003,9 @@ case BIT(INNER_SRC_MAC): for (i = 0; i < ETH_ALEN; i++) { calc_x(key_x[ETH_ALEN - 1 - i], rule->tuples.src_mac[i], - rule->tuples.src_mac[i]); + rule->tuples_mask.src_mac[i]); calc_y(key_y[ETH_ALEN - 1 - i], rule->tuples.src_mac[i], - rule->tuples.src_mac[i]); + rule->tuples_mask.src_mac[i]); } return true; @@ -6070,8 +6071,7 @@ fs->h_ext.vlan_tci = cpu_to_be16(rule->tuples.vlan_tag1); fs->m_ext.vlan_tci = rule->unused_tuple & BIT(INNER_VLAN_TAG_FST) ? - cpu_to_be16(VLAN_VID_MASK) : - cpu_to_be16(rule->tuples_mask.vlan_tag1); + 0 : cpu_to_be16(rule->tuples_mask.vlan_tag1); } if (fs->flow_type & FLOW_MAC_EXT) { @@ -9291,12 +9291,19 @@ void hclge_reset_vf_queue(struct hclge_vport *vport, u16 queue_id) { + struct hnae3_handle *handle = &vport->nic; struct hclge_dev *hdev = vport->back; int reset_try_times = 0; int reset_status; u16 queue_gid; int ret; + if (queue_id >= handle->kinfo.num_tqps) { + dev_warn(&hdev->pdev->dev, "Invalid vf queue id(%u)\n", + queue_id); + return; + } + queue_gid = hclge_covert_handle_qid_global(&vport->nic, queue_id); ret = hclge_send_reset_tqp_cmd(hdev, queue_gid, true); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c @@ -158,21 +158,31 @@ struct hclge_vport *vport) { struct hnae3_ring_chain_node *cur_chain, *new_chain; + struct hclge_dev *hdev = vport->back; int ring_num; - int i = 0; + int i; ring_num = req->msg.ring_num; if (ring_num > HCLGE_MBX_MAX_RING_CHAIN_PARAM_NUM) return -ENOMEM; + for (i = 0; i < ring_num; i++) { + if (req->msg.param[i].tqp_index >= vport->nic.kinfo.rss_size) { + dev_err(&hdev->pdev->dev, "tqp index(%u) is out of range(0-%u)\n", + req->msg.param[i].tqp_index, + vport->nic.kinfo.rss_size - 1); + return -EINVAL; + } + } + hnae3_set_bit(ring_chain->flag, HNAE3_RING_TYPE_B, - req->msg.param[i].ring_type); + req->msg.param[0].ring_type); ring_chain->tqp_index = hclge_get_queue_id(vport->nic.kinfo.tqp - [req->msg.param[i].tqp_index]); + [req->msg.param[0].tqp_index]); hnae3_set_field(ring_chain->int_gl_idx, HNAE3_RING_GL_IDX_M, - HNAE3_RING_GL_IDX_S, req->msg.param[i].int_gl_index); + HNAE3_RING_GL_IDX_S, req->msg.param[0].int_gl_index); cur_chain = ring_chain; @@ -581,6 +591,17 @@ index = mbx_req->msg.data[0]; + /* Check the query index of rss_hash_key from VF, make sure no + * more than the size of rss_hash_key. + */ + if (((index + 1) * HCLGE_RSS_MBX_RESP_LEN) > + sizeof(vport[0].rss_hash_key)) { + dev_warn(&hdev->pdev->dev, + "failed to get the rss hash key, the index(%u) invalid !\n", + index); + return; + } + memcpy(resp_msg->data, &hdev->vport[0].rss_hash_key[index * HCLGE_RSS_MBX_RESP_LEN], HCLGE_RSS_MBX_RESP_LEN); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -2508,14 +2508,14 @@ { struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle); + clear_bit(HCLGEVF_STATE_DOWN, &hdev->state); + hclgevf_reset_tqp_stats(handle); hclgevf_request_link_info(hdev); hclgevf_update_link_mode(hdev); - clear_bit(HCLGEVF_STATE_DOWN, &hdev->state); - return 0; } @@ -3146,8 +3146,8 @@ hclgevf_uninit_msi(hdev); } - hclgevf_pci_uninit(hdev); hclgevf_cmd_uninit(hdev); + hclgevf_pci_uninit(hdev); hclgevf_uninit_mac_list(hdev); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/Kconfig @@ -6,6 +6,7 @@ config HINIC tristate "Huawei Intelligent PCIE Network Interface Card" depends on (PCI_MSI && (X86 || ARM64)) + select NET_DEVLINK help This driver supports HiNIC PCIE Ethernet cards. To compile this driver as part of the kernel, choose Y here. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c @@ -112,6 +112,26 @@ return HINIC_API_CMD_STATUS_GET(val, CONS_IDX); } +static void dump_api_chain_reg(struct hinic_api_cmd_chain *chain) +{ + u32 addr, val; + + addr = HINIC_CSR_API_CMD_STATUS_ADDR(chain->chain_type); + val = hinic_hwif_read_reg(chain->hwif, addr); + + dev_err(&chain->hwif->pdev->dev, "Chain type: 0x%x, cpld error: 0x%x, check error: 0x%x, current fsm: 0x%x\n", + chain->chain_type, HINIC_API_CMD_STATUS_GET(val, CPLD_ERR), + HINIC_API_CMD_STATUS_GET(val, CHKSUM_ERR), + HINIC_API_CMD_STATUS_GET(val, FSM)); + + dev_err(&chain->hwif->pdev->dev, "Chain hw current ci: 0x%x\n", + HINIC_API_CMD_STATUS_GET(val, CONS_IDX)); + + addr = HINIC_CSR_API_CMD_CHAIN_PI_ADDR(chain->chain_type); + val = hinic_hwif_read_reg(chain->hwif, addr); + dev_err(&chain->hwif->pdev->dev, "Chain hw current pi: 0x%x\n", val); +} + /** * chain_busy - check if the chain is still processing last requests * @chain: chain to check @@ -131,8 +151,10 @@ /* check for a space for a new command */ if (chain->cons_idx == MASKED_IDX(chain, prod_idx + 1)) { - dev_err(&pdev->dev, "API CMD chain %d is busy\n", - chain->chain_type); + dev_err(&pdev->dev, "API CMD chain %d is busy, cons_idx: %d, prod_idx: %d\n", + chain->chain_type, chain->cons_idx, + chain->prod_idx); + dump_api_chain_reg(chain); return -EBUSY; } break; @@ -332,6 +354,7 @@ err = wait_for_status_poll(chain); if (err) { dev_err(&pdev->dev, "API CMD Poll status timeout\n"); + dump_api_chain_reg(chain); break; } break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h @@ -103,10 +103,14 @@ HINIC_API_CMD_STATUS_HEADER_##member##_MASK) #define HINIC_API_CMD_STATUS_CONS_IDX_SHIFT 0 +#define HINIC_API_CMD_STATUS_FSM_SHIFT 24 #define HINIC_API_CMD_STATUS_CHKSUM_ERR_SHIFT 28 +#define HINIC_API_CMD_STATUS_CPLD_ERR_SHIFT 30 #define HINIC_API_CMD_STATUS_CONS_IDX_MASK 0xFFFFFF +#define HINIC_API_CMD_STATUS_FSM_MASK 0xFU #define HINIC_API_CMD_STATUS_CHKSUM_ERR_MASK 0x3 +#define HINIC_API_CMD_STATUS_CPLD_ERR_MASK 0x1U #define HINIC_API_CMD_STATUS_GET(val, member) \ (((val) >> HINIC_API_CMD_STATUS_##member##_SHIFT) & \ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c @@ -401,6 +401,7 @@ spin_unlock_bh(&cmdq->cmdq_lock); + hinic_dump_ceq_info(cmdq->hwdev); return -ETIMEDOUT; } @@ -807,6 +808,7 @@ cmdq_type = HINIC_CMDQ_SYNC; for (; cmdq_type < HINIC_MAX_CMDQ_TYPES; cmdq_type++) { + cmdqs->cmdq[cmdq_type].hwdev = hwdev; err = init_cmdq(&cmdqs->cmdq[cmdq_type], &cmdqs->saved_wqs[cmdq_type], cmdq_type, db_area[cmdq_type]); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h @@ -130,6 +130,8 @@ }; struct hinic_cmdq { + struct hinic_hwdev *hwdev; + struct hinic_wq *wq; enum hinic_cmdq_type cmdq_type; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c @@ -253,9 +253,9 @@ &fw_ctxt, sizeof(fw_ctxt), &fw_ctxt, &out_size); if (err || (out_size != sizeof(fw_ctxt)) || fw_ctxt.status) { - dev_err(&pdev->dev, "Failed to init FW ctxt, ret = %d\n", - fw_ctxt.status); - return -EFAULT; + dev_err(&pdev->dev, "Failed to init FW ctxt, err: %d, status: 0x%x, out size: 0x%x\n", + err, fw_ctxt.status, out_size); + return -EIO; } return 0; @@ -420,9 +420,9 @@ &cmd_base_qpn, sizeof(cmd_base_qpn), &cmd_base_qpn, &out_size); if (err || (out_size != sizeof(cmd_base_qpn)) || cmd_base_qpn.status) { - dev_err(&pdev->dev, "Failed to get base qpn, status = %d\n", - cmd_base_qpn.status); - return -EFAULT; + dev_err(&pdev->dev, "Failed to get base qpn, err: %d, status: 0x%x, out size: 0x%x\n", + err, cmd_base_qpn.status, out_size); + return -EIO; } *base_qpn = cmd_base_qpn.qpn; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c @@ -953,3 +953,42 @@ for (q_id = 0; q_id < ceqs->num_ceqs; q_id++) remove_eq(&ceqs->ceq[q_id]); } + +void hinic_dump_ceq_info(struct hinic_hwdev *hwdev) +{ + struct hinic_eq *eq = NULL; + u32 addr, ci, pi; + int q_id; + + for (q_id = 0; q_id < hwdev->func_to_io.ceqs.num_ceqs; q_id++) { + eq = &hwdev->func_to_io.ceqs.ceq[q_id]; + addr = EQ_CONS_IDX_REG_ADDR(eq); + ci = hinic_hwif_read_reg(hwdev->hwif, addr); + addr = EQ_PROD_IDX_REG_ADDR(eq); + pi = hinic_hwif_read_reg(hwdev->hwif, addr); + dev_err(&hwdev->hwif->pdev->dev, "Ceq id: %d, ci: 0x%08x, sw_ci: 0x%08x, pi: 0x%x, tasklet_state: 0x%lx, wrap: %d, ceqe: 0x%x\n", + q_id, ci, eq->cons_idx, pi, + eq->ceq_tasklet.state, + eq->wrapped, be32_to_cpu(*(__be32 *)(GET_CURR_CEQ_ELEM(eq)))); + } +} + +void hinic_dump_aeq_info(struct hinic_hwdev *hwdev) +{ + struct hinic_aeq_elem *aeqe_pos = NULL; + struct hinic_eq *eq = NULL; + u32 addr, ci, pi; + int q_id; + + for (q_id = 0; q_id < hwdev->aeqs.num_aeqs; q_id++) { + eq = &hwdev->aeqs.aeq[q_id]; + addr = EQ_CONS_IDX_REG_ADDR(eq); + ci = hinic_hwif_read_reg(hwdev->hwif, addr); + addr = EQ_PROD_IDX_REG_ADDR(eq); + pi = hinic_hwif_read_reg(hwdev->hwif, addr); + aeqe_pos = GET_CURR_AEQ_ELEM(eq); + dev_err(&hwdev->hwif->pdev->dev, "Aeq id: %d, ci: 0x%08x, pi: 0x%x, work_state: 0x%x, wrap: %d, desc: 0x%x\n", + q_id, ci, pi, work_busy(&eq->aeq_work.work), + eq->wrapped, be32_to_cpu(aeqe_pos->desc)); + } +} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h @@ -162,7 +162,7 @@ struct hinic_aeq_elem { u8 data[HINIC_AEQE_DATA_SIZE]; - u32 desc; + __be32 desc; }; struct hinic_eq_work { @@ -254,4 +254,8 @@ void hinic_ceqs_free(struct hinic_ceqs *ceqs); +void hinic_dump_ceq_info(struct hinic_hwdev *hwdev); + +void hinic_dump_aeq_info(struct hinic_hwdev *hwdev); + #endif --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_if.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_if.c @@ -21,6 +21,8 @@ #define WAIT_HWIF_READY_TIMEOUT 10000 +#define HINIC_SELFTEST_RESULT 0x883C + /** * hinic_msix_attr_set - set message attribute for msix entry * @hwif: the HW interface of a pci function device @@ -369,6 +371,26 @@ return HINIC_FA0_GET(attr0, PF_IDX); } +static void __print_selftest_reg(struct hinic_hwif *hwif) +{ + u32 addr, attr0, attr1; + + addr = HINIC_CSR_FUNC_ATTR1_ADDR; + attr1 = hinic_hwif_read_reg(hwif, addr); + + if (attr1 == HINIC_PCIE_LINK_DOWN) { + dev_err(&hwif->pdev->dev, "PCIE is link down\n"); + return; + } + + addr = HINIC_CSR_FUNC_ATTR0_ADDR; + attr0 = hinic_hwif_read_reg(hwif, addr); + if (HINIC_FA0_GET(attr0, FUNC_TYPE) != HINIC_VF && + !HINIC_FA0_GET(attr0, PCI_INTF_IDX)) + dev_err(&hwif->pdev->dev, "Selftest reg: 0x%08x\n", + hinic_hwif_read_reg(hwif, HINIC_SELFTEST_RESULT)); +} + /** * hinic_init_hwif - initialize the hw interface * @hwif: the HW interface of a pci function device @@ -398,6 +420,7 @@ err = wait_hwif_ready(hwif); if (err) { dev_err(&pdev->dev, "HW interface is not ready\n"); + __print_selftest_reg(hwif); goto err_hwif_ready; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_if.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_if.h @@ -12,6 +12,8 @@ #include #include +#define HINIC_PCIE_LINK_DOWN 0xFFFFFFFF + #define HINIC_DMA_ATTR_ST_SHIFT 0 #define HINIC_DMA_ATTR_AT_SHIFT 8 #define HINIC_DMA_ATTR_PH_SHIFT 10 @@ -249,13 +251,17 @@ static inline u32 hinic_hwif_read_reg(struct hinic_hwif *hwif, u32 reg) { - return be32_to_cpu(readl(hwif->cfg_regs_bar + reg)); + u32 out = readl(hwif->cfg_regs_bar + reg); + + return be32_to_cpu(*(__be32 *)&out); } static inline void hinic_hwif_write_reg(struct hinic_hwif *hwif, u32 reg, u32 val) { - writel(cpu_to_be32(val), hwif->cfg_regs_bar + reg); + __be32 in = cpu_to_be32(val); + + writel(*(u32 *)&in, hwif->cfg_regs_bar + reg); } int hinic_msix_attr_set(struct hinic_hwif *hwif, u16 msix_index, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c @@ -650,6 +650,7 @@ if (!wait_for_completion_timeout(done, jif)) { dev_err(&hwdev->hwif->pdev->dev, "Send mailbox segment timeout\n"); dump_mox_reg(hwdev); + hinic_dump_aeq_info(hwdev); return -ETIMEDOUT; } @@ -897,6 +898,7 @@ set_mbox_to_func_event(func_to_func, EVENT_TIMEOUT); dev_err(&func_to_func->hwif->pdev->dev, "Send mbox msg timeout, msg_id: %d\n", msg_info.msg_id); + hinic_dump_aeq_info(func_to_func->hwdev); err = -ETIMEDOUT; goto err_send_mbox; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c @@ -45,6 +45,8 @@ #define MGMT_MSG_TIMEOUT 5000 +#define SET_FUNC_PORT_MBOX_TIMEOUT 30000 + #define SET_FUNC_PORT_MGMT_TIMEOUT 25000 #define mgmt_to_pfhwdev(pf_mgmt) \ @@ -274,6 +276,7 @@ if (!wait_for_completion_timeout(recv_done, timeo)) { dev_err(&pdev->dev, "MGMT timeout, MSG id = %d\n", msg_id); + hinic_dump_aeq_info(pf_to_mgmt->hwdev); err = -ETIMEDOUT; goto unlock_sync_msg; } @@ -358,16 +361,20 @@ return -EINVAL; } - if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE) - timeout = SET_FUNC_PORT_MGMT_TIMEOUT; + if (HINIC_IS_VF(hwif)) { + if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE) + timeout = SET_FUNC_PORT_MBOX_TIMEOUT; - if (HINIC_IS_VF(hwif)) return hinic_mbox_to_pf(pf_to_mgmt->hwdev, mod, cmd, buf_in, - in_size, buf_out, out_size, 0); - else + in_size, buf_out, out_size, timeout); + } else { + if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE) + timeout = SET_FUNC_PORT_MGMT_TIMEOUT; + return msg_to_mgmt_sync(pf_to_mgmt, mod, cmd, buf_in, in_size, buf_out, out_size, MGMT_DIRECT_SEND, MSG_NOT_RESP, timeout); + } } static void recv_mgmt_msg_work_handler(struct work_struct *work) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_main.c @@ -168,6 +168,24 @@ return err; } +static void enable_txqs_napi(struct hinic_dev *nic_dev) +{ + int num_txqs = hinic_hwdev_num_qps(nic_dev->hwdev); + int i; + + for (i = 0; i < num_txqs; i++) + napi_enable(&nic_dev->txqs[i].napi); +} + +static void disable_txqs_napi(struct hinic_dev *nic_dev) +{ + int num_txqs = hinic_hwdev_num_qps(nic_dev->hwdev); + int i; + + for (i = 0; i < num_txqs; i++) + napi_disable(&nic_dev->txqs[i].napi); +} + /** * free_txqs - Free the Logical Tx Queues of specific NIC device * @nic_dev: the specific NIC device @@ -394,6 +412,8 @@ goto err_create_txqs; } + enable_txqs_napi(nic_dev); + err = create_rxqs(nic_dev); if (err) { netif_err(nic_dev, drv, netdev, @@ -475,6 +495,7 @@ } err_create_rxqs: + disable_txqs_napi(nic_dev); free_txqs(nic_dev); err_create_txqs: @@ -488,6 +509,9 @@ struct hinic_dev *nic_dev = netdev_priv(netdev); unsigned int flags; + /* Disable txq napi firstly to aviod rewaking txq in free_tx_poll */ + disable_txqs_napi(nic_dev); + down(&nic_dev->mgmt_lock); flags = nic_dev->flags; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_port.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_port.c @@ -58,11 +58,11 @@ sizeof(port_mac_cmd), &port_mac_cmd, &out_size); if (err || out_size != sizeof(port_mac_cmd) || - (port_mac_cmd.status && - port_mac_cmd.status != HINIC_PF_SET_VF_ALREADY && - port_mac_cmd.status != HINIC_MGMT_STATUS_EXIST)) { - dev_err(&pdev->dev, "Failed to change MAC, ret = %d\n", - port_mac_cmd.status); + (port_mac_cmd.status && + (port_mac_cmd.status != HINIC_PF_SET_VF_ALREADY || !HINIC_IS_VF(hwif)) && + port_mac_cmd.status != HINIC_MGMT_STATUS_EXIST)) { + dev_err(&pdev->dev, "Failed to change MAC, err: %d, status: 0x%x, out size: 0x%x\n", + err, port_mac_cmd.status, out_size); return -EFAULT; } @@ -129,8 +129,8 @@ &port_mac_cmd, sizeof(port_mac_cmd), &port_mac_cmd, &out_size); if (err || (out_size != sizeof(port_mac_cmd)) || port_mac_cmd.status) { - dev_err(&pdev->dev, "Failed to get mac, ret = %d\n", - port_mac_cmd.status); + dev_err(&pdev->dev, "Failed to get mac, err: %d, status: 0x%x, out size: 0x%x\n", + err, port_mac_cmd.status, out_size); return -EFAULT; } @@ -172,9 +172,9 @@ err = hinic_port_msg_cmd(hwdev, HINIC_PORT_CMD_CHANGE_MTU, &port_mtu_cmd, sizeof(port_mtu_cmd), &port_mtu_cmd, &out_size); - if (err || (out_size != sizeof(port_mtu_cmd)) || port_mtu_cmd.status) { - dev_err(&pdev->dev, "Failed to set mtu, ret = %d\n", - port_mtu_cmd.status); + if (err || out_size != sizeof(port_mtu_cmd) || port_mtu_cmd.status) { + dev_err(&pdev->dev, "Failed to set mtu, err: %d, status: 0x%x, out size: 0x%x\n", + err, port_mtu_cmd.status, out_size); return -EFAULT; } @@ -264,8 +264,8 @@ &link_cmd, sizeof(link_cmd), &link_cmd, &out_size); if (err || (out_size != sizeof(link_cmd)) || link_cmd.status) { - dev_err(&pdev->dev, "Failed to get link state, ret = %d\n", - link_cmd.status); + dev_err(&pdev->dev, "Failed to get link state, err: %d, status: 0x%x, out size: 0x%x\n", + err, link_cmd.status, out_size); return -EINVAL; } @@ -298,8 +298,8 @@ &port_state, sizeof(port_state), &port_state, &out_size); if (err || (out_size != sizeof(port_state)) || port_state.status) { - dev_err(&pdev->dev, "Failed to set port state, ret = %d\n", - port_state.status); + dev_err(&pdev->dev, "Failed to set port state, err: %d, status: 0x%x, out size: 0x%x\n", + err, port_state.status, out_size); return -EFAULT; } @@ -330,8 +330,8 @@ &func_state, sizeof(func_state), &func_state, &out_size); if (err || (out_size != sizeof(func_state)) || func_state.status) { - dev_err(&pdev->dev, "Failed to set port func state, ret = %d\n", - func_state.status); + dev_err(&pdev->dev, "Failed to set port func state, err: %d, status: 0x%x, out size: 0x%x\n", + err, func_state.status, out_size); return -EFAULT; } @@ -361,9 +361,9 @@ port_cap, &out_size); if (err || (out_size != sizeof(*port_cap)) || port_cap->status) { dev_err(&pdev->dev, - "Failed to get port capabilities, ret = %d\n", - port_cap->status); - return -EINVAL; + "Failed to get port capabilities, err: %d, status: 0x%x, out size: 0x%x\n", + err, port_cap->status, out_size); + return -EIO; } return 0; @@ -393,9 +393,9 @@ &tso_cfg, &out_size); if (err || out_size != sizeof(tso_cfg) || tso_cfg.status) { dev_err(&pdev->dev, - "Failed to set port tso, ret = %d\n", - tso_cfg.status); - return -EINVAL; + "Failed to set port tso, err: %d, status: 0x%x, out size: 0x%x\n", + err, tso_cfg.status, out_size); + return -EIO; } return 0; @@ -423,9 +423,9 @@ &rx_csum_cfg, &out_size); if (err || !out_size || rx_csum_cfg.status) { dev_err(&pdev->dev, - "Failed to set rx csum offload, ret = %d\n", - rx_csum_cfg.status); - return -EINVAL; + "Failed to set rx csum offload, err: %d, status: 0x%x, out size: 0x%x\n", + err, rx_csum_cfg.status, out_size); + return -EIO; } return 0; @@ -480,9 +480,9 @@ &rq_num, &out_size); if (err || !out_size || rq_num.status) { dev_err(&pdev->dev, - "Failed to rxq number, ret = %d\n", - rq_num.status); - return -EINVAL; + "Failed to set rxq number, err: %d, status: 0x%x, out size: 0x%x\n", + err, rq_num.status, out_size); + return -EIO; } return 0; @@ -508,9 +508,9 @@ &lro_cfg, &out_size); if (err || !out_size || lro_cfg.status) { dev_err(&pdev->dev, - "Failed to set lro offload, ret = %d\n", - lro_cfg.status); - return -EINVAL; + "Failed to set lro offload, err: %d, status: 0x%x, out size: 0x%x\n", + err, lro_cfg.status, out_size); + return -EIO; } return 0; @@ -542,10 +542,10 @@ if (err || !out_size || lro_timer.status) { dev_err(&pdev->dev, - "Failed to set lro timer, ret = %d\n", - lro_timer.status); + "Failed to set lro timer, err: %d, status: 0x%x, out size: 0x%x\n", + err, lro_timer.status, out_size); - return -EINVAL; + return -EIO; } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_sriov.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_sriov.c @@ -38,11 +38,10 @@ err = hinic_port_msg_cmd(hwdev, HINIC_PORT_CMD_SET_MAC, &mac_info, sizeof(mac_info), &mac_info, &out_size); if (err || out_size != sizeof(mac_info) || - (mac_info.status && mac_info.status != HINIC_PF_SET_VF_ALREADY && - mac_info.status != HINIC_MGMT_STATUS_EXIST)) { - dev_err(&hwdev->func_to_io.hwif->pdev->dev, "Failed to change MAC, ret = %d\n", - mac_info.status); - return -EFAULT; + (mac_info.status && mac_info.status != HINIC_MGMT_STATUS_EXIST)) { + dev_err(&hwdev->func_to_io.hwif->pdev->dev, "Failed to set MAC, err: %d, status: 0x%x, out size: 0x%x\n", + err, mac_info.status, out_size); + return -EIO; } return 0; @@ -452,8 +451,7 @@ static int hinic_check_mac_info(u8 status, u16 vlan_id) { - if ((status && status != HINIC_MGMT_STATUS_EXIST && - status != HINIC_PF_SET_VF_ALREADY) || + if ((status && status != HINIC_MGMT_STATUS_EXIST) || (vlan_id & CHECK_IPSU_15BIT && status == HINIC_MGMT_STATUS_EXIST)) return -EINVAL; @@ -495,12 +493,6 @@ return -EINVAL; } - if (mac_info.status == HINIC_PF_SET_VF_ALREADY) { - dev_warn(&hwdev->hwif->pdev->dev, - "PF has already set VF MAC. Ignore update operation\n"); - return HINIC_PF_SET_VF_ALREADY; - } - if (mac_info.status == HINIC_MGMT_STATUS_EXIST) dev_warn(&hwdev->hwif->pdev->dev, "MAC is repeated. Ignore update operation\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/huawei/hinic/hinic_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/huawei/hinic/hinic_tx.c @@ -684,18 +684,6 @@ return budget; } -static void tx_napi_add(struct hinic_txq *txq, int weight) -{ - netif_napi_add(txq->netdev, &txq->napi, free_tx_poll, weight); - napi_enable(&txq->napi); -} - -static void tx_napi_del(struct hinic_txq *txq) -{ - napi_disable(&txq->napi); - netif_napi_del(&txq->napi); -} - static irqreturn_t tx_irq(int irq, void *data) { struct hinic_txq *txq = data; @@ -724,7 +712,7 @@ struct hinic_sq *sq = txq->sq; int err; - tx_napi_add(txq, nic_dev->tx_weight); + netif_napi_add(txq->netdev, &txq->napi, free_tx_poll, nic_dev->tx_weight); hinic_hwdev_msix_set(nic_dev->hwdev, sq->msix_entry, TX_IRQ_NO_PENDING, TX_IRQ_NO_COALESC, @@ -734,7 +722,7 @@ err = request_irq(sq->irq, tx_irq, 0, txq->irq_name, txq); if (err) { dev_err(&pdev->dev, "Failed to request Tx irq\n"); - tx_napi_del(txq); + netif_napi_del(&txq->napi); return err; } @@ -746,7 +734,7 @@ struct hinic_sq *sq = txq->sq; free_irq(sq->irq, txq); - tx_napi_del(txq); + netif_napi_del(&txq->napi); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ibm/ibmveth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ibm/ibmveth.c @@ -1031,12 +1031,6 @@ ret = -EOPNOTSUPP; } - if (!ether_addr_equal(ether_header->h_source, netdev->dev_addr)) { - netdev_dbg(netdev, "source packet MAC address does not match veth device's, dropping packet.\n"); - netdev->stats.tx_dropped++; - ret = -EOPNOTSUPP; - } - return ret; } @@ -1349,6 +1343,7 @@ int offset = ibmveth_rxq_frame_offset(adapter); int csum_good = ibmveth_rxq_csum_good(adapter); int lrg_pkt = ibmveth_rxq_large_packet(adapter); + __sum16 iph_check = 0; skb = ibmveth_rxq_get_buffer(adapter); @@ -1385,16 +1380,26 @@ skb_put(skb, length); skb->protocol = eth_type_trans(skb, netdev); - if (csum_good) { - skb->ip_summed = CHECKSUM_UNNECESSARY; - ibmveth_rx_csum_helper(skb, adapter); + /* PHYP without PLSO support places a -1 in the ip + * checksum for large send frames. + */ + if (skb->protocol == cpu_to_be16(ETH_P_IP)) { + struct iphdr *iph = (struct iphdr *)skb->data; + + iph_check = iph->check; } - if (length > netdev->mtu + ETH_HLEN) { + if ((length > netdev->mtu + ETH_HLEN) || + lrg_pkt || iph_check == 0xffff) { ibmveth_rx_mss_helper(skb, mss, lrg_pkt); adapter->rx_large_packets++; } + if (csum_good) { + skb->ip_summed = CHECKSUM_UNNECESSARY; + ibmveth_rx_csum_helper(skb, adapter); + } + napi_gro_receive(napi, skb); /* send it up */ netdev->stats.rx_packets++; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ibm/ibmvnic.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ibm/ibmvnic.c @@ -250,8 +250,13 @@ if (!ltb->buff) return; + /* VIOS automatically unmaps the long term buffer at remote + * end for the following resets: + * FAILOVER, MOBILITY, TIMEOUT. + */ if (adapter->reset_reason != VNIC_RESET_FAILOVER && - adapter->reset_reason != VNIC_RESET_MOBILITY) + adapter->reset_reason != VNIC_RESET_MOBILITY && + adapter->reset_reason != VNIC_RESET_TIMEOUT) send_request_unmap(adapter, ltb->map_id); dma_free_coherent(dev, ltb->size, ltb->buff, ltb->addr); } @@ -412,6 +417,8 @@ if (adapter->rx_pool[i].active) replenish_rx_pool(adapter, &adapter->rx_pool[i]); } + + netdev_dbg(adapter->netdev, "Replenished %d pools\n", i); } static void release_stats_buffers(struct ibmvnic_adapter *adapter) @@ -479,6 +486,9 @@ int i, j, rc; u64 *size_array; + if (!adapter->rx_pool) + return -1; + size_array = (u64 *)((u8 *)(adapter->login_rsp_buf) + be32_to_cpu(adapter->login_rsp_buf->off_rxadd_buff_size)); @@ -649,6 +659,9 @@ int tx_scrqs; int i, rc; + if (!adapter->tx_pool) + return -1; + tx_scrqs = be32_to_cpu(adapter->login_rsp_buf->num_txsubm_subcrqs); for (i = 0; i < tx_scrqs; i++) { rc = reset_one_tx_pool(adapter, &adapter->tso_pool[i]); @@ -840,7 +853,7 @@ static int ibmvnic_login(struct net_device *netdev) { struct ibmvnic_adapter *adapter = netdev_priv(netdev); - unsigned long timeout = msecs_to_jiffies(30000); + unsigned long timeout = msecs_to_jiffies(20000); int retry_count = 0; int retries = 10; bool retry; @@ -856,10 +869,8 @@ adapter->init_done_rc = 0; reinit_completion(&adapter->init_done); rc = send_login(adapter); - if (rc) { - netdev_warn(netdev, "Unable to login\n"); + if (rc) return rc; - } if (!wait_for_completion_timeout(&adapter->init_done, timeout)) { @@ -917,6 +928,7 @@ __ibmvnic_set_mac(netdev, adapter->mac_addr); + netdev_dbg(netdev, "[S:%d] Login succeeded\n", adapter->state); return 0; } @@ -940,13 +952,14 @@ release_rx_pools(adapter); release_napi(adapter); + release_login_buffer(adapter); release_login_rsp_buffer(adapter); } static int set_link_state(struct ibmvnic_adapter *adapter, u8 link_state) { struct net_device *netdev = adapter->netdev; - unsigned long timeout = msecs_to_jiffies(30000); + unsigned long timeout = msecs_to_jiffies(20000); union ibmvnic_crq crq; bool resend; int rc; @@ -1158,19 +1171,13 @@ rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_UP); if (rc) { - for (i = 0; i < adapter->req_rx_queues; i++) - napi_disable(&adapter->napi[i]); + ibmvnic_napi_disable(adapter); release_resources(adapter); return rc; } netif_tx_start_all_queues(netdev); - if (prev_state == VNIC_CLOSED) { - for (i = 0; i < adapter->req_rx_queues; i++) - napi_schedule(&adapter->napi[i]); - } - adapter->state = VNIC_OPEN; return rc; } @@ -1191,18 +1198,27 @@ if (adapter->state != VNIC_CLOSED) { rc = ibmvnic_login(netdev); if (rc) - return rc; + goto out; rc = init_resources(adapter); if (rc) { netdev_err(netdev, "failed to initialize resources\n"); release_resources(adapter); - return rc; + goto out; } } rc = __ibmvnic_open(netdev); +out: + /* + * If open fails due to a pending failover, set device state and + * return. Device operation will be handled by reset routine. + */ + if (rc && adapter->failover_pending) { + adapter->state = VNIC_OPEN; + rc = 0; + } return rc; } @@ -1327,10 +1343,8 @@ adapter->state = VNIC_CLOSING; rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_DN); - if (rc) - return rc; adapter->state = VNIC_CLOSED; - return 0; + return rc; } static int ibmvnic_close(struct net_device *netdev) @@ -1338,6 +1352,10 @@ struct ibmvnic_adapter *adapter = netdev_priv(netdev); int rc; + netdev_dbg(netdev, "[S:%d FOP:%d FRR:%d] Closing\n", + adapter->state, adapter->failover_pending, + adapter->force_reset_recovery); + /* If device failover is pending, just set device state and return. * Device operation will be handled by reset routine. */ @@ -1593,6 +1611,9 @@ skb_copy_from_linear_data(skb, dst, skb->len); } + /* post changes to long_term_buff *dst before VIOS accessing it */ + dma_wmb(); + tx_pool->consumer_index = (tx_pool->consumer_index + 1) % tx_pool->num_buffers; @@ -1822,6 +1843,9 @@ int rc; rc = 0; + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + ether_addr_copy(adapter->mac_addr, addr->sa_data); if (adapter->state != VNIC_PROBED) rc = __ibmvnic_set_mac(netdev, addr->sa_data); @@ -1919,12 +1943,21 @@ u64 old_num_rx_queues, old_num_tx_queues; u64 old_num_rx_slots, old_num_tx_slots; struct net_device *netdev = adapter->netdev; - int i, rc; + int rc; - netdev_dbg(adapter->netdev, "Re-setting driver (%d)\n", - rwi->reset_reason); + netdev_dbg(adapter->netdev, + "[S:%d FOP:%d] Reset reason %d, reset_state %d\n", + adapter->state, adapter->failover_pending, + rwi->reset_reason, reset_state); rtnl_lock(); + /* + * Now that we have the rtnl lock, clear any pending failover. + * This will ensure ibmvnic_open() has either completed or will + * block until failover is complete. + */ + if (rwi->reset_reason == VNIC_RESET_FAILOVER) + adapter->failover_pending = false; netif_carrier_off(netdev); adapter->reset_reason = rwi->reset_reason; @@ -2011,7 +2044,10 @@ adapter->req_rx_add_entries_per_subcrq != old_num_rx_slots || adapter->req_tx_entries_per_subcrq != - old_num_tx_slots) { + old_num_tx_slots || + !adapter->rx_pool || + !adapter->tso_pool || + !adapter->tx_pool) { release_rx_pools(adapter); release_tx_pools(adapter); release_napi(adapter); @@ -2023,12 +2059,18 @@ } else { rc = reset_tx_pools(adapter); - if (rc) + if (rc) { + netdev_dbg(adapter->netdev, "reset tx pools failed (%d)\n", + rc); goto out; + } rc = reset_rx_pools(adapter); - if (rc) + if (rc) { + netdev_dbg(adapter->netdev, "reset rx pools failed (%d)\n", + rc); goto out; + } } ibmvnic_disable_irqs(adapter); } @@ -2048,18 +2090,19 @@ /* refresh device's multicast list */ ibmvnic_set_multi(netdev); - /* kick napi */ - for (i = 0; i < adapter->req_rx_queues; i++) - napi_schedule(&adapter->napi[i]); - - if (adapter->reset_reason != VNIC_RESET_FAILOVER) + if (adapter->reset_reason == VNIC_RESET_FAILOVER || + adapter->reset_reason == VNIC_RESET_MOBILITY) { call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, netdev); + call_netdevice_notifiers(NETDEV_RESEND_IGMP, netdev); + } rc = 0; out: rtnl_unlock(); + netdev_dbg(adapter->netdev, "[S:%d FOP:%d] Reset done, rc %d\n", + adapter->state, adapter->failover_pending, rc); return rc; } @@ -2123,6 +2166,11 @@ if (rc) return IBMVNIC_OPEN_FAILED; + call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, netdev); + call_netdevice_notifiers(NETDEV_RESEND_IGMP, netdev); + + netdev_dbg(adapter->netdev, "[S:%d FOP:%d] Hard reset done, rc %d\n", + adapter->state, adapter->failover_pending, rc); return 0; } @@ -2145,17 +2193,6 @@ return rwi; } -static void free_all_rwi(struct ibmvnic_adapter *adapter) -{ - struct ibmvnic_rwi *rwi; - - rwi = get_next_rwi(adapter); - while (rwi) { - kfree(rwi); - rwi = get_next_rwi(adapter); - } -} - static void __ibmvnic_reset(struct work_struct *work) { struct ibmvnic_rwi *rwi; @@ -2187,7 +2224,6 @@ if (!saved_state) { reset_state = adapter->state; - adapter->state = VNIC_RESETTING; saved_state = true; } spin_unlock_irqrestore(&adapter->state_lock, flags); @@ -2196,6 +2232,13 @@ /* CHANGE_PARAM requestor holds rtnl_lock */ rc = do_change_param_reset(adapter, rwi, reset_state); } else if (adapter->force_reset_recovery) { + /* + * Since we are doing a hard reset now, clear the + * failover_pending flag so we don't ignore any + * future MOBILITY or other resets. + */ + adapter->failover_pending = false; + /* Transport event occurred during previous reset */ if (adapter->wait_for_reset) { /* Previous was CHANGE_PARAM; caller locked */ @@ -2207,8 +2250,15 @@ rc = do_hard_reset(adapter, rwi, reset_state); rtnl_unlock(); } - } else if (!(rwi->reset_reason == VNIC_RESET_FATAL && - adapter->from_passive_init)) { + if (rc) { + /* give backing device time to settle down */ + netdev_dbg(adapter->netdev, + "[S:%d] Hard reset failed, waiting 60 secs\n", + adapter->state); + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(60 * HZ); + } + } else { rc = do_reset(adapter, rwi, reset_state); } kfree(rwi); @@ -2218,9 +2268,9 @@ else adapter->state = reset_state; rc = 0; - } else if (rc && rc != IBMVNIC_INIT_FAILED && - !adapter->force_reset_recovery) - break; + } + if (rc) + netdev_dbg(adapter->netdev, "Reset failed, rc=%d\n", rc); rwi = get_next_rwi(adapter); @@ -2234,12 +2284,12 @@ complete(&adapter->reset_done); } - if (rc) { - netdev_dbg(adapter->netdev, "Reset failed\n"); - free_all_rwi(adapter); - } - clear_bit_unlock(0, &adapter->resetting); + + netdev_dbg(adapter->netdev, + "[S:%d FRR:%d WFR:%d] Done processing resets\n", + adapter->state, adapter->force_reset_recovery, + adapter->wait_for_reset); } static void __ibmvnic_delayed_reset(struct work_struct *work) @@ -2260,9 +2310,17 @@ unsigned long flags; int ret; + spin_lock_irqsave(&adapter->rwi_lock, flags); + + /* + * If failover is pending don't schedule any other reset. + * Instead let the failover complete. If there is already a + * a failover reset scheduled, we will detect and drop the + * duplicate reset when walking the ->rwi_list below. + */ if (adapter->state == VNIC_REMOVING || adapter->state == VNIC_REMOVED || - adapter->failover_pending) { + (adapter->failover_pending && reason != VNIC_RESET_FAILOVER)) { ret = EBUSY; netdev_dbg(netdev, "Adapter removing or pending failover, skipping reset\n"); goto err; @@ -2274,13 +2332,11 @@ goto err; } - spin_lock_irqsave(&adapter->rwi_lock, flags); - list_for_each(entry, &adapter->rwi_list) { tmp = list_entry(entry, struct ibmvnic_rwi, list); if (tmp->reset_reason == reason) { - netdev_dbg(netdev, "Skipping matching reset\n"); - spin_unlock_irqrestore(&adapter->rwi_lock, flags); + netdev_dbg(netdev, "Skipping matching reset, reason=%d\n", + reason); ret = EBUSY; goto err; } @@ -2288,8 +2344,6 @@ rwi = kzalloc(sizeof(*rwi), GFP_ATOMIC); if (!rwi) { - spin_unlock_irqrestore(&adapter->rwi_lock, flags); - ibmvnic_close(netdev); ret = ENOMEM; goto err; } @@ -2302,12 +2356,17 @@ } rwi->reset_reason = reason; list_add_tail(&rwi->list, &adapter->rwi_list); - spin_unlock_irqrestore(&adapter->rwi_lock, flags); netdev_dbg(adapter->netdev, "Scheduling reset (reason %d)\n", reason); schedule_work(&adapter->ibmvnic_reset); - return 0; + ret = 0; err: + /* ibmvnic_close() below can block, so drop the lock first */ + spin_unlock_irqrestore(&adapter->rwi_lock, flags); + + if (ret == ENOMEM) + ibmvnic_close(netdev); + return -ret; } @@ -2315,6 +2374,12 @@ { struct ibmvnic_adapter *adapter = netdev_priv(dev); + if (test_bit(0, &adapter->resetting)) { + netdev_err(adapter->netdev, + "Adapter is resetting, skip timeout reset\n"); + return; + } + ibmvnic_reset(adapter, VNIC_RESET_TIMEOUT); } @@ -2356,6 +2421,12 @@ if (!pending_scrq(adapter, adapter->rx_scrq[scrq_num])) break; + /* The queue entry at the current index is peeked at above + * to determine that there is a valid descriptor awaiting + * processing. We want to be sure that the current slot + * holds a valid descriptor before reading its contents. + */ + dma_rmb(); next = ibmvnic_next_scrq(adapter, adapter->rx_scrq[scrq_num]); rx_buff = (struct ibmvnic_rx_buff *)be64_to_cpu(next-> @@ -2380,6 +2451,8 @@ offset = be16_to_cpu(next->rx_comp.off_frame_data); flags = next->rx_comp.flags; skb = rx_buff->skb; + /* load long_term_buff before copying to skb */ + dma_rmb(); skb_copy_to_linear_data(skb, rx_buff->data + offset, length); @@ -2814,15 +2887,24 @@ { int rc; + if (!scrq) { + netdev_dbg(adapter->netdev, "Invalid scrq reset.\n"); + return -EINVAL; + } + if (scrq->irq) { free_irq(scrq->irq, scrq); irq_dispose_mapping(scrq->irq); scrq->irq = 0; } - - memset(scrq->msgs, 0, 4 * PAGE_SIZE); - atomic_set(&scrq->used, 0); - scrq->cur = 0; + if (scrq->msgs) { + memset(scrq->msgs, 0, 4 * PAGE_SIZE); + atomic_set(&scrq->used, 0); + scrq->cur = 0; + } else { + netdev_dbg(adapter->netdev, "Invalid scrq reset\n"); + return -EINVAL; + } rc = h_reg_sub_crq(adapter->vdev->unit_address, scrq->msg_token, 4 * PAGE_SIZE, &scrq->crq_num, &scrq->hw_irq); @@ -2833,6 +2915,9 @@ { int i, rc; + if (!adapter->tx_scrq || !adapter->rx_scrq) + return -EINVAL; + for (i = 0; i < adapter->req_tx_queues; i++) { netdev_dbg(adapter->netdev, "Re-setting tx_scrq[%d]\n", i); rc = reset_one_sub_crq_queue(adapter, adapter->tx_scrq[i]); @@ -3051,13 +3136,18 @@ unsigned int pool = scrq->pool_index; int num_entries = 0; + /* The queue entry at the current index is peeked at above + * to determine that there is a valid descriptor awaiting + * processing. We want to be sure that the current slot + * holds a valid descriptor before reading its contents. + */ + dma_rmb(); + next = ibmvnic_next_scrq(adapter, scrq); for (i = 0; i < next->tx_comp.num_comps; i++) { - if (next->tx_comp.rcs[i]) { + if (next->tx_comp.rcs[i]) dev_err(dev, "tx error %x\n", next->tx_comp.rcs[i]); - continue; - } index = be32_to_cpu(next->tx_comp.correlators[i]); if (index & IBMVNIC_TSO_POOL_MASK) { tx_pool = &adapter->tso_pool[pool]; @@ -3451,6 +3541,11 @@ } spin_unlock_irqrestore(&scrq->lock, flags); + /* Ensure that the entire buffer descriptor has been + * loaded before reading its contents + */ + dma_rmb(); + return entry; } @@ -3656,15 +3751,16 @@ struct ibmvnic_login_rsp_buffer *login_rsp_buffer; struct ibmvnic_login_buffer *login_buffer; struct device *dev = &adapter->vdev->dev; + struct vnic_login_client_data *vlcd; dma_addr_t rsp_buffer_token; dma_addr_t buffer_token; size_t rsp_buffer_size; union ibmvnic_crq crq; + int client_data_len; size_t buffer_size; __be64 *tx_list_p; __be64 *rx_list_p; - int client_data_len; - struct vnic_login_client_data *vlcd; + int rc; int i; if (!adapter->tx_scrq || !adapter->rx_scrq) { @@ -3673,7 +3769,9 @@ return -1; } + release_login_buffer(adapter); release_login_rsp_buffer(adapter); + client_data_len = vnic_client_data_len(adapter); buffer_size = @@ -3768,16 +3866,25 @@ crq.login.cmd = LOGIN; crq.login.ioba = cpu_to_be32(buffer_token); crq.login.len = cpu_to_be32(buffer_size); - ibmvnic_send_crq(adapter, &crq); + + adapter->login_pending = true; + rc = ibmvnic_send_crq(adapter, &crq); + if (rc) { + adapter->login_pending = false; + netdev_err(adapter->netdev, "Failed to send login, rc=%d\n", rc); + goto buf_rsp_map_failed; + } return 0; buf_rsp_map_failed: kfree(login_rsp_buffer); + adapter->login_rsp_buf = NULL; buf_rsp_alloc_failed: dma_unmap_single(dev, buffer_token, buffer_size, DMA_TO_DEVICE); buf_map_failed: kfree(login_buffer); + adapter->login_buf = NULL; buf_alloc_failed: return -1; } @@ -4179,8 +4286,13 @@ dev_err(dev, "Error %ld in CHANGE_MAC_ADDR_RSP\n", rc); goto out; } + /* crq->change_mac_addr.mac_addr is the requested one + * crq->change_mac_addr_rsp.mac_addr is the returned valid one. + */ ether_addr_copy(netdev->dev_addr, &crq->change_mac_addr_rsp.mac_addr[0]); + ether_addr_copy(adapter->mac_addr, + &crq->change_mac_addr_rsp.mac_addr[0]); out: complete(&adapter->fw_done); return rc; @@ -4294,6 +4406,15 @@ struct ibmvnic_login_buffer *login = adapter->login_buf; int i; + /* CHECK: Test/set of login_pending does not need to be atomic + * because only ibmvnic_tasklet tests/clears this. + */ + if (!adapter->login_pending) { + netdev_warn(netdev, "Ignoring unexpected login response\n"); + return 0; + } + adapter->login_pending = false; + dma_unmap_single(dev, adapter->login_buf_token, adapter->login_buf_sz, DMA_TO_DEVICE); dma_unmap_single(dev, adapter->login_rsp_buf_token, @@ -4323,7 +4444,7 @@ adapter->req_rx_add_queues != be32_to_cpu(login_rsp->num_rxadd_subcrqs))) { dev_err(dev, "FATAL: Inconsistent login and login rsp\n"); - ibmvnic_remove(adapter->vdev); + ibmvnic_reset(adapter, VNIC_RESET_FATAL); return -EIO; } release_login_buffer(adapter); @@ -4590,7 +4711,7 @@ case IBMVNIC_1GBPS: adapter->speed = SPEED_1000; break; - case IBMVNIC_10GBP: + case IBMVNIC_10GBPS: adapter->speed = SPEED_10000; break; case IBMVNIC_25GBPS: @@ -4605,6 +4726,9 @@ case IBMVNIC_100GBPS: adapter->speed = SPEED_100000; break; + case IBMVNIC_200GBPS: + adapter->speed = SPEED_200000; + break; default: if (netif_carrier_ok(netdev)) netdev_warn(netdev, "Unknown speed 0x%08x\n", rspeed); @@ -4638,12 +4762,31 @@ case IBMVNIC_CRQ_INIT: dev_info(dev, "Partner initialized\n"); adapter->from_passive_init = true; - adapter->failover_pending = false; + /* Discard any stale login responses from prev reset. + * CHECK: should we clear even on INIT_COMPLETE? + */ + adapter->login_pending = false; + if (!completion_done(&adapter->init_done)) { complete(&adapter->init_done); adapter->init_done_rc = -EIO; } - ibmvnic_reset(adapter, VNIC_RESET_FAILOVER); + rc = ibmvnic_reset(adapter, VNIC_RESET_FAILOVER); + if (rc && rc != -EBUSY) { + /* We were unable to schedule the failover + * reset either because the adapter was still + * probing (eg: during kexec) or we could not + * allocate memory. Clear the failover_pending + * flag since no one else will. We ignore + * EBUSY because it means either FAILOVER reset + * is already scheduled or the adapter is + * being removed. + */ + netdev_err(netdev, + "Error %ld scheduling failover reset\n", + rc); + adapter->failover_pending = false; + } break; case IBMVNIC_CRQ_INIT_COMPLETE: dev_info(dev, "Partner initialization complete\n"); @@ -4809,6 +4952,12 @@ while (!done) { /* Pull all the valid messages off the CRQ */ while ((crq = ibmvnic_next_crq(adapter)) != NULL) { + /* This barrier makes sure ibmvnic_next_crq()'s + * crq->generic.first & IBMVNIC_CRQ_CMD_RSP is loaded + * before ibmvnic_handle_crq()'s + * switch(gen_crq->first) and switch(gen_crq->cmd). + */ + dma_rmb(); ibmvnic_handle_crq(crq, adapter); crq->generic.first = 0; } @@ -4855,6 +5004,9 @@ } while (rc == H_BUSY || H_IS_LONG_BUSY(rc)); /* Clean out the queue */ + if (!crq->msgs) + return -EINVAL; + memset(crq->msgs, 0, PAGE_SIZE); crq->cur = 0; crq->active = false; @@ -4974,7 +5126,7 @@ static int ibmvnic_reset_init(struct ibmvnic_adapter *adapter) { struct device *dev = &adapter->vdev->dev; - unsigned long timeout = msecs_to_jiffies(30000); + unsigned long timeout = msecs_to_jiffies(20000); u64 old_num_rx_queues, old_num_tx_queues; int rc; @@ -5103,6 +5255,7 @@ dev_set_drvdata(&dev->dev, netdev); adapter->vdev = dev; adapter->netdev = netdev; + adapter->login_pending = false; ether_addr_copy(adapter->mac_addr, mac_addr_p); ether_addr_copy(netdev->dev_addr, adapter->mac_addr); @@ -5194,12 +5347,18 @@ unsigned long flags; spin_lock_irqsave(&adapter->state_lock, flags); - if (adapter->state == VNIC_RESETTING) { - spin_unlock_irqrestore(&adapter->state_lock, flags); - return -EBUSY; - } + /* If ibmvnic_reset() is scheduling a reset, wait for it to + * finish. Then, set the state to REMOVING to prevent it from + * scheduling any more work and to have reset functions ignore + * any resets that have already been scheduled. Drop the lock + * after setting state, so __ibmvnic_reset() which is called + * from the flush_work() below, can make progress. + */ + spin_lock(&adapter->rwi_lock); adapter->state = VNIC_REMOVING; + spin_unlock(&adapter->rwi_lock); + spin_unlock_irqrestore(&adapter->state_lock, flags); flush_work(&adapter->ibmvnic_reset); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ibm/ibmvnic.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ibm/ibmvnic.h @@ -373,7 +373,7 @@ #define IBMVNIC_10MBPS 0x40000000 #define IBMVNIC_100MBPS 0x20000000 #define IBMVNIC_1GBPS 0x10000000 -#define IBMVNIC_10GBP 0x08000000 +#define IBMVNIC_10GBPS 0x08000000 #define IBMVNIC_40GBPS 0x04000000 #define IBMVNIC_100GBPS 0x02000000 #define IBMVNIC_25GBPS 0x01000000 @@ -941,8 +941,7 @@ VNIC_CLOSING, VNIC_CLOSED, VNIC_REMOVING, - VNIC_REMOVED, - VNIC_RESETTING}; + VNIC_REMOVED}; enum ibmvnic_reset_reason {VNIC_RESET_FAILOVER = 1, VNIC_RESET_MOBILITY, @@ -1079,12 +1078,14 @@ struct tasklet_struct tasklet; enum vnic_state state; enum ibmvnic_reset_reason reset_reason; + /* when taking both state and rwi locks, take state lock first */ spinlock_t rwi_lock; struct list_head rwi_list; struct work_struct ibmvnic_reset; struct delayed_work ibmvnic_delayed_reset; unsigned long resetting; bool napi_enabled, from_passive_init; + bool login_pending; bool failover_pending; bool force_reset_recovery; @@ -1092,6 +1093,8 @@ struct ibmvnic_tunables desired; struct ibmvnic_tunables fallback; - /* Used for serializatin of state field */ + /* Used for serialization of state field. When taking both state + * and rwi locks, take state lock first. + */ spinlock_t state_lock; }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/82571.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/82571.c @@ -899,6 +899,8 @@ } else { data &= ~IGP02E1000_PM_D0_LPLU; ret_val = e1e_wphy(hw, IGP02E1000_PHY_POWER_MGMT, data); + if (ret_val) + return ret_val; /* LPLU and SmartSpeed are mutually exclusive. LPLU is used * during Dx states where the power conservation is most * important. During driver activity we should enable --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/e1000.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/e1000.h @@ -436,6 +436,7 @@ #define FLAG2_DFLT_CRC_STRIPPING BIT(12) #define FLAG2_CHECK_RX_HWTSTAMP BIT(13) #define FLAG2_CHECK_SYSTIM_OVERFLOW BIT(14) +#define FLAG2_ENABLE_S0IX_FLOWS BIT(15) #define E1000_RX_DESC_PS(R, i) \ (&(((union e1000_rx_desc_packet_split *)((R).desc))[i])) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/ethtool.c @@ -23,6 +23,13 @@ int stat_offset; }; +static const char e1000e_priv_flags_strings[][ETH_GSTRING_LEN] = { +#define E1000E_PRIV_FLAGS_S0IX_ENABLED BIT(0) + "s0ix-enabled", +}; + +#define E1000E_PRIV_FLAGS_STR_LEN ARRAY_SIZE(e1000e_priv_flags_strings) + #define E1000_STAT(str, m) { \ .stat_string = str, \ .type = E1000_STATS, \ @@ -1777,6 +1784,8 @@ return E1000_TEST_LEN; case ETH_SS_STATS: return E1000_STATS_LEN; + case ETH_SS_PRIV_FLAGS: + return E1000E_PRIV_FLAGS_STR_LEN; default: return -EOPNOTSUPP; } @@ -2098,6 +2107,10 @@ p += ETH_GSTRING_LEN; } break; + case ETH_SS_PRIV_FLAGS: + memcpy(data, e1000e_priv_flags_strings, + E1000E_PRIV_FLAGS_STR_LEN * ETH_GSTRING_LEN); + break; } } @@ -2306,6 +2319,37 @@ return 0; } +static u32 e1000e_get_priv_flags(struct net_device *netdev) +{ + struct e1000_adapter *adapter = netdev_priv(netdev); + u32 priv_flags = 0; + + if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS) + priv_flags |= E1000E_PRIV_FLAGS_S0IX_ENABLED; + + return priv_flags; +} + +static int e1000e_set_priv_flags(struct net_device *netdev, u32 priv_flags) +{ + struct e1000_adapter *adapter = netdev_priv(netdev); + unsigned int flags2 = adapter->flags2; + + flags2 &= ~FLAG2_ENABLE_S0IX_FLOWS; + if (priv_flags & E1000E_PRIV_FLAGS_S0IX_ENABLED) { + struct e1000_hw *hw = &adapter->hw; + + if (hw->mac.type < e1000_pch_cnp) + return -EINVAL; + flags2 |= FLAG2_ENABLE_S0IX_FLOWS; + } + + if (flags2 != adapter->flags2) + adapter->flags2 = flags2; + + return 0; +} + static const struct ethtool_ops e1000_ethtool_ops = { .supported_coalesce_params = ETHTOOL_COALESCE_RX_USECS, .get_drvinfo = e1000_get_drvinfo, @@ -2337,6 +2381,8 @@ .set_eee = e1000e_set_eee, .get_link_ksettings = e1000_get_link_ksettings, .set_link_ksettings = e1000_set_link_ksettings, + .get_priv_flags = e1000e_get_priv_flags, + .set_priv_flags = e1000e_set_priv_flags, }; void e1000e_set_ethtool_ops(struct net_device *netdev) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/hw.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/hw.h @@ -680,6 +680,7 @@ bool kmrn_lock_loss_workaround_enabled; struct e1000_shadow_ram shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS]; bool nvm_k1_enabled; + bool disable_k1_off; bool eee_disable; u16 eee_lp_ability; enum e1000_ulp_state ulp_state; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/ich8lan.c @@ -1237,6 +1237,9 @@ return 0; if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) { + struct e1000_adapter *adapter = hw->adapter; + bool firmware_bug = false; + if (force) { /* Request ME un-configure ULP mode in the PHY */ mac_reg = er32(H2ME); @@ -1245,16 +1248,24 @@ ew32(H2ME, mac_reg); } - /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */ + /* Poll up to 2.5 seconds for ME to clear ULP_CFG_DONE. + * If this takes more than 1 second, show a warning indicating a + * firmware bug + */ while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) { - if (i++ == 30) { + if (i++ == 250) { ret_val = -E1000_ERR_PHY; goto out; } + if (i > 100 && !firmware_bug) + firmware_bug = true; usleep_range(10000, 11000); } - e_dbg("ULP_CONFIG_DONE cleared after %dmsec\n", i * 10); + if (firmware_bug) + e_warn("ULP_CONFIG_DONE took %dmsec. This is a firmware bug\n", i * 10); + else + e_dbg("ULP_CONFIG_DONE cleared after %dmsec\n", i * 10); if (force) { mac_reg = er32(H2ME); @@ -1546,6 +1557,9 @@ fextnvm6 &= ~E1000_FEXTNVM6_K1_OFF_ENABLE; } + if (hw->dev_spec.ich8lan.disable_k1_off == true) + fextnvm6 &= ~E1000_FEXTNVM6_K1_OFF_ENABLE; + ew32(FEXTNVM6, fextnvm6); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/netdev.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/e1000e/netdev.c @@ -107,45 +107,6 @@ {0, NULL} }; -struct e1000e_me_supported { - u16 device_id; /* supported device ID */ -}; - -static const struct e1000e_me_supported me_supported[] = { - {E1000_DEV_ID_PCH_LPT_I217_LM}, - {E1000_DEV_ID_PCH_LPTLP_I218_LM}, - {E1000_DEV_ID_PCH_I218_LM2}, - {E1000_DEV_ID_PCH_I218_LM3}, - {E1000_DEV_ID_PCH_SPT_I219_LM}, - {E1000_DEV_ID_PCH_SPT_I219_LM2}, - {E1000_DEV_ID_PCH_LBG_I219_LM3}, - {E1000_DEV_ID_PCH_SPT_I219_LM4}, - {E1000_DEV_ID_PCH_SPT_I219_LM5}, - {E1000_DEV_ID_PCH_CNP_I219_LM6}, - {E1000_DEV_ID_PCH_CNP_I219_LM7}, - {E1000_DEV_ID_PCH_ICP_I219_LM8}, - {E1000_DEV_ID_PCH_ICP_I219_LM9}, - {E1000_DEV_ID_PCH_CMP_I219_LM10}, - {E1000_DEV_ID_PCH_CMP_I219_LM11}, - {E1000_DEV_ID_PCH_CMP_I219_LM12}, - {E1000_DEV_ID_PCH_TGP_I219_LM13}, - {E1000_DEV_ID_PCH_TGP_I219_LM14}, - {E1000_DEV_ID_PCH_TGP_I219_LM15}, - {0} -}; - -static bool e1000e_check_me(u16 device_id) -{ - struct e1000e_me_supported *id; - - for (id = (struct e1000e_me_supported *)me_supported; - id->device_id; id++) - if (device_id == id->device_id) - return true; - - return false; -} - /** * __ew32_prepare - prepare to write to MAC CSR register on certain parts * @hw: pointer to the HW structure @@ -5994,15 +5955,19 @@ struct e1000_adapter *adapter; adapter = container_of(work, struct e1000_adapter, reset_task); + rtnl_lock(); /* don't run the task if already down */ - if (test_bit(__E1000_DOWN, &adapter->state)) + if (test_bit(__E1000_DOWN, &adapter->state)) { + rtnl_unlock(); return; + } if (!(adapter->flags & FLAG_RESTART_NOW)) { e1000e_dump(adapter); e_err("Reset adapter unexpectedly\n"); } e1000e_reinit_locked(adapter); + rtnl_unlock(); } /** @@ -6456,13 +6421,13 @@ /* Ungate PGCB clock */ mac_data = er32(FEXTNVM9); - mac_data |= BIT(28); + mac_data &= ~BIT(28); ew32(FEXTNVM9, mac_data); /* Enable K1 off to enable mPHY Power Gating */ mac_data = er32(FEXTNVM6); mac_data |= BIT(31); - ew32(FEXTNVM12, mac_data); + ew32(FEXTNVM6, mac_data); /* Enable mPHY power gating for any link and speed */ mac_data = er32(FEXTNVM8); @@ -6506,11 +6471,11 @@ /* Disable K1 off */ mac_data = er32(FEXTNVM6); mac_data &= ~BIT(31); - ew32(FEXTNVM12, mac_data); + ew32(FEXTNVM6, mac_data); /* Disable Ungate PGCB clock */ mac_data = er32(FEXTNVM9); - mac_data &= ~BIT(28); + mac_data |= BIT(28); ew32(FEXTNVM9, mac_data); /* Cancel not waking from dynamic @@ -6943,7 +6908,6 @@ struct net_device *netdev = pci_get_drvdata(to_pci_dev(dev)); struct e1000_adapter *adapter = netdev_priv(netdev); struct pci_dev *pdev = to_pci_dev(dev); - struct e1000_hw *hw = &adapter->hw; int rc; e1000e_flush_lpic(pdev); @@ -6951,13 +6915,13 @@ e1000e_pm_freeze(dev); rc = __e1000_shutdown(pdev, false); - if (rc) + if (rc) { e1000e_pm_thaw(dev); - - /* Introduce S0ix implementation */ - if (hw->mac.type >= e1000_pch_cnp && - !e1000e_check_me(hw->adapter->pdev->device)) - e1000e_s0ix_entry_flow(adapter); + } else { + /* Introduce S0ix implementation */ + if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS) + e1000e_s0ix_entry_flow(adapter); + } return rc; } @@ -6967,12 +6931,10 @@ struct net_device *netdev = pci_get_drvdata(to_pci_dev(dev)); struct e1000_adapter *adapter = netdev_priv(netdev); struct pci_dev *pdev = to_pci_dev(dev); - struct e1000_hw *hw = &adapter->hw; int rc; /* Introduce S0ix implementation */ - if (hw->mac.type >= e1000_pch_cnp && - !e1000e_check_me(hw->adapter->pdev->device)) + if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS) e1000e_s0ix_exit_flow(adapter); rc = __e1000_resume(pdev); @@ -7636,6 +7598,9 @@ if (!(adapter->flags & FLAG_HAS_AMT)) e1000e_get_hw_control(adapter); + if (hw->mac.type >= e1000_pch_cnp) + adapter->flags2 |= FLAG2_ENABLE_S0IX_FLOWS; + strlcpy(netdev->name, "eth%d", sizeof(netdev->name)); err = register_netdev(netdev); if (err) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/e1000e/phy.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e.h @@ -129,6 +129,7 @@ __I40E_RESET_INTR_RECEIVED, __I40E_REINIT_REQUESTED, __I40E_PF_RESET_REQUESTED, + __I40E_PF_RESET_AND_REBUILD_REQUESTED, __I40E_CORE_RESET_REQUESTED, __I40E_GLOBAL_RESET_REQUESTED, __I40E_EMP_RESET_INTR_RECEIVED, @@ -150,11 +151,15 @@ __I40E_CLIENT_RESET, __I40E_VIRTCHNL_OP_PENDING, __I40E_RECOVERY_MODE, + __I40E_VF_RESETS_DISABLED, /* disable resets during i40e_remove */ + __I40E_VFS_RELEASING, /* This must be last as it determines the size of the BITMAP */ __I40E_STATE_SIZE__, }; #define I40E_PF_RESET_FLAG BIT_ULL(__I40E_PF_RESET_REQUESTED) +#define I40E_PF_RESET_AND_REBUILD_FLAG \ + BIT_ULL(__I40E_PF_RESET_AND_REBUILD_REQUESTED) /* VSI state flags */ enum i40e_vsi_state_t { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h @@ -1211,7 +1211,7 @@ #define I40E_AQC_SET_VSI_PROMISC_BROADCAST 0x04 #define I40E_AQC_SET_VSI_DEFAULT 0x08 #define I40E_AQC_SET_VSI_PROMISC_VLAN 0x10 -#define I40E_AQC_SET_VSI_PROMISC_TX 0x8000 +#define I40E_AQC_SET_VSI_PROMISC_RX_ONLY 0x8000 __le16 seid; #define I40E_AQC_VSI_PROM_CMD_SEID_MASK 0x3FF __le16 vlan_tag; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_common.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_common.c @@ -1970,6 +1970,21 @@ } /** + * i40e_is_aq_api_ver_ge + * @aq: pointer to AdminQ info containing HW API version to compare + * @maj: API major value + * @min: API minor value + * + * Assert whether current HW API version is greater/equal than provided. + **/ +static bool i40e_is_aq_api_ver_ge(struct i40e_adminq_info *aq, u16 maj, + u16 min) +{ + return (aq->api_maj_ver > maj || + (aq->api_maj_ver == maj && aq->api_min_ver >= min)); +} + +/** * i40e_aq_add_vsi * @hw: pointer to the hw struct * @vsi_ctx: pointer to a vsi context struct @@ -2094,18 +2109,16 @@ if (set) { flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST; - if (rx_only_promisc && - (((hw->aq.api_maj_ver == 1) && (hw->aq.api_min_ver >= 5)) || - (hw->aq.api_maj_ver > 1))) - flags |= I40E_AQC_SET_VSI_PROMISC_TX; + if (rx_only_promisc && i40e_is_aq_api_ver_ge(&hw->aq, 1, 5)) + flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY; } cmd->promiscuous_flags = cpu_to_le16(flags); cmd->valid_flags = cpu_to_le16(I40E_AQC_SET_VSI_PROMISC_UNICAST); - if (((hw->aq.api_maj_ver >= 1) && (hw->aq.api_min_ver >= 5)) || - (hw->aq.api_maj_ver > 1)) - cmd->valid_flags |= cpu_to_le16(I40E_AQC_SET_VSI_PROMISC_TX); + if (i40e_is_aq_api_ver_ge(&hw->aq, 1, 5)) + cmd->valid_flags |= + cpu_to_le16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY); cmd->seid = cpu_to_le16(seid); status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); @@ -2202,11 +2215,17 @@ i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); - if (enable) + if (enable) { flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST; + if (i40e_is_aq_api_ver_ge(&hw->aq, 1, 5)) + flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY; + } cmd->promiscuous_flags = cpu_to_le16(flags); cmd->valid_flags = cpu_to_le16(I40E_AQC_SET_VSI_PROMISC_UNICAST); + if (i40e_is_aq_api_ver_ge(&hw->aq, 1, 5)) + cmd->valid_flags |= + cpu_to_le16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY); cmd->seid = cpu_to_le16(seid); cmd->vlan_tag = cpu_to_le16(vid | I40E_AQC_SET_VSI_VLAN_VALID); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c @@ -232,6 +232,8 @@ I40E_STAT(struct i40e_vsi, _name, _stat) #define I40E_VEB_STAT(_name, _stat) \ I40E_STAT(struct i40e_veb, _name, _stat) +#define I40E_VEB_TC_STAT(_name, _stat) \ + I40E_STAT(struct i40e_cp_veb_tc_stats, _name, _stat) #define I40E_PFC_STAT(_name, _stat) \ I40E_STAT(struct i40e_pfc_stats, _name, _stat) #define I40E_QUEUE_STAT(_name, _stat) \ @@ -266,11 +268,18 @@ I40E_VEB_STAT("veb.rx_unknown_protocol", stats.rx_unknown_protocol), }; +struct i40e_cp_veb_tc_stats { + u64 tc_rx_packets; + u64 tc_rx_bytes; + u64 tc_tx_packets; + u64 tc_tx_bytes; +}; + static const struct i40e_stats i40e_gstrings_veb_tc_stats[] = { - I40E_VEB_STAT("veb.tc_%u_tx_packets", tc_stats.tc_tx_packets), - I40E_VEB_STAT("veb.tc_%u_tx_bytes", tc_stats.tc_tx_bytes), - I40E_VEB_STAT("veb.tc_%u_rx_packets", tc_stats.tc_rx_packets), - I40E_VEB_STAT("veb.tc_%u_rx_bytes", tc_stats.tc_rx_bytes), + I40E_VEB_TC_STAT("veb.tc_%u_tx_packets", tc_tx_packets), + I40E_VEB_TC_STAT("veb.tc_%u_tx_bytes", tc_tx_bytes), + I40E_VEB_TC_STAT("veb.tc_%u_rx_packets", tc_rx_packets), + I40E_VEB_TC_STAT("veb.tc_%u_rx_bytes", tc_rx_bytes), }; static const struct i40e_stats i40e_gstrings_misc_stats[] = { @@ -1098,6 +1107,7 @@ /* Set flow control settings */ ethtool_link_ksettings_add_link_mode(ks, supported, Pause); + ethtool_link_ksettings_add_link_mode(ks, supported, Asym_Pause); switch (hw->fc.requested_mode) { case I40E_FC_FULL: @@ -2216,6 +2226,29 @@ } /** + * i40e_get_veb_tc_stats - copy VEB TC statistics to formatted structure + * @tc: the TC statistics in VEB structure (veb->tc_stats) + * @i: the index of traffic class in (veb->tc_stats) structure to copy + * + * Copy VEB TC statistics from structure of arrays (veb->tc_stats) to + * one dimensional structure i40e_cp_veb_tc_stats. + * Produce formatted i40e_cp_veb_tc_stats structure of the VEB TC + * statistics for the given TC. + **/ +static struct i40e_cp_veb_tc_stats +i40e_get_veb_tc_stats(struct i40e_veb_tc_stats *tc, unsigned int i) +{ + struct i40e_cp_veb_tc_stats veb_tc = { + .tc_rx_packets = tc->tc_rx_packets[i], + .tc_rx_bytes = tc->tc_rx_bytes[i], + .tc_tx_packets = tc->tc_tx_packets[i], + .tc_tx_bytes = tc->tc_tx_bytes[i], + }; + + return veb_tc; +} + +/** * i40e_get_pfc_stats - copy HW PFC statistics to formatted structure * @pf: the PF device structure * @i: the priority value to copy @@ -2299,8 +2332,16 @@ i40e_gstrings_veb_stats); for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) - i40e_add_ethtool_stats(&data, veb_stats ? veb : NULL, - i40e_gstrings_veb_tc_stats); + if (veb_stats) { + struct i40e_cp_veb_tc_stats veb_tc = + i40e_get_veb_tc_stats(&veb->tc_stats, i); + + i40e_add_ethtool_stats(&data, &veb_tc, + i40e_gstrings_veb_tc_stats); + } else { + i40e_add_ethtool_stats(&data, NULL, + i40e_gstrings_veb_tc_stats); + } i40e_add_ethtool_stats(&data, pf, i40e_gstrings_stats); @@ -4877,7 +4918,7 @@ enum i40e_admin_queue_err adq_err; struct i40e_vsi *vsi = np->vsi; struct i40e_pf *pf = vsi->back; - bool is_reset_needed; + u32 reset_needed = 0; i40e_status status; u32 i, j; @@ -4922,9 +4963,11 @@ flags_complete: changed_flags = orig_flags ^ new_flags; - is_reset_needed = !!(changed_flags & (I40E_FLAG_VEB_STATS_ENABLED | - I40E_FLAG_LEGACY_RX | I40E_FLAG_SOURCE_PRUNING_DISABLED | - I40E_FLAG_DISABLE_FW_LLDP)); + if (changed_flags & I40E_FLAG_DISABLE_FW_LLDP) + reset_needed = I40E_PF_RESET_AND_REBUILD_FLAG; + if (changed_flags & (I40E_FLAG_VEB_STATS_ENABLED | + I40E_FLAG_LEGACY_RX | I40E_FLAG_SOURCE_PRUNING_DISABLED)) + reset_needed = BIT(__I40E_PF_RESET_REQUESTED); /* Before we finalize any flag changes, we need to perform some * checks to ensure that the changes are supported and safe. @@ -5041,7 +5084,7 @@ case I40E_AQ_RC_EEXIST: dev_warn(&pf->pdev->dev, "FW LLDP agent is already running\n"); - is_reset_needed = false; + reset_needed = 0; break; case I40E_AQ_RC_EPERM: dev_warn(&pf->pdev->dev, @@ -5070,8 +5113,8 @@ /* Issue reset to cause things to take effect, as additional bits * are added we will need to create a mask of bits requiring reset */ - if (is_reset_needed) - i40e_do_reset(pf, BIT(__I40E_PF_RESET_REQUESTED), true); + if (reset_needed) + i40e_do_reset(pf, reset_needed, true); return 0; } @@ -5226,7 +5269,7 @@ status = i40e_aq_get_phy_register(hw, I40E_AQ_PHY_REG_ACCESS_EXTERNAL_MODULE, - true, addr, offset, &value, NULL); + addr, true, offset, &value, NULL); if (status) return -EIO; data[i] = value; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -44,6 +44,8 @@ static void i40e_determine_queue_usage(struct i40e_pf *pf); static int i40e_setup_pf_filter_control(struct i40e_pf *pf); static void i40e_prep_for_reset(struct i40e_pf *pf, bool lock_acquired); +static void i40e_reset_and_rebuild(struct i40e_pf *pf, bool reinit, + bool lock_acquired); static int i40e_reset(struct i40e_pf *pf); static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired); static int i40e_setup_misc_vector_for_recovery_mode(struct i40e_pf *pf); @@ -2545,8 +2547,7 @@ i40e_stat_str(hw, aq_ret), i40e_aq_str(hw, hw->aq.asq_last_status)); } else { - dev_info(&pf->pdev->dev, "%s is %s allmulti mode.\n", - vsi->netdev->name, + dev_info(&pf->pdev->dev, "%s allmulti mode.\n", cur_multipromisc ? "entering" : "leaving"); } } @@ -2601,7 +2602,7 @@ return; if (!test_and_clear_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state)) return; - if (test_and_set_bit(__I40E_VF_DISABLE, pf->state)) { + if (test_bit(__I40E_VF_DISABLE, pf->state)) { set_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state); return; } @@ -2619,7 +2620,6 @@ } } } - clear_bit(__I40E_VF_DISABLE, pf->state); } /** @@ -3996,8 +3996,16 @@ } if (icr0 & I40E_PFINT_ICR0_VFLR_MASK) { - ena_mask &= ~I40E_PFINT_ICR0_ENA_VFLR_MASK; - set_bit(__I40E_VFLR_EVENT_PENDING, pf->state); + /* disable any further VFLR event notifications */ + if (test_bit(__I40E_VF_RESETS_DISABLED, pf->state)) { + u32 reg = rd32(hw, I40E_PFINT_ICR0_ENA); + + reg &= ~I40E_PFINT_ICR0_VFLR_MASK; + wr32(hw, I40E_PFINT_ICR0_ENA, reg); + } else { + ena_mask &= ~I40E_PFINT_ICR0_ENA_VFLR_MASK; + set_bit(__I40E_VFLR_EVENT_PENDING, pf->state); + } } if (icr0 & I40E_PFINT_ICR0_GRST_MASK) { @@ -5898,7 +5906,7 @@ ch->enabled_tc = !i40e_is_channel_macvlan(ch) && enabled_tc; ch->seid = ctxt.seid; ch->vsi_number = ctxt.vsi_number; - ch->stat_counter_idx = cpu_to_le16(ctxt.info.stat_counter_idx); + ch->stat_counter_idx = le16_to_cpu(ctxt.info.stat_counter_idx); /* copy just the sections touched not the entire info * since not all sections are valid as returned by @@ -7543,8 +7551,8 @@ i40e_set_cld_element(struct i40e_cloud_filter *filter, struct i40e_aqc_cloud_filters_element_data *cld) { - int i, j; u32 ipa; + int i; memset(cld, 0, sizeof(*cld)); ether_addr_copy(cld->outer_mac, filter->dst_mac); @@ -7555,14 +7563,14 @@ if (filter->n_proto == ETH_P_IPV6) { #define IPV6_MAX_INDEX (ARRAY_SIZE(filter->dst_ipv6) - 1) - for (i = 0, j = 0; i < ARRAY_SIZE(filter->dst_ipv6); - i++, j += 2) { + for (i = 0; i < ARRAY_SIZE(filter->dst_ipv6); i++) { ipa = be32_to_cpu(filter->dst_ipv6[IPV6_MAX_INDEX - i]); - ipa = cpu_to_le32(ipa); - memcpy(&cld->ipaddr.raw_v6.data[j], &ipa, sizeof(ipa)); + + *(__le32 *)&cld->ipaddr.raw_v6.data[i * 2] = cpu_to_le32(ipa); } } else { ipa = be32_to_cpu(filter->dst_ipv4); + memcpy(&cld->ipaddr.v4.data, &ipa, sizeof(ipa)); } @@ -7610,6 +7618,8 @@ if (filter->flags >= ARRAY_SIZE(flag_table)) return I40E_ERR_CONFIG; + memset(&cld_filter, 0, sizeof(cld_filter)); + /* copy element needed to add cloud filter from filter */ i40e_set_cld_element(filter, &cld_filter); @@ -7673,10 +7683,13 @@ return -EOPNOTSUPP; /* adding filter using src_port/src_ip is not supported at this stage */ - if (filter->src_port || filter->src_ipv4 || + if (filter->src_port || + (filter->src_ipv4 && filter->n_proto != ETH_P_IPV6) || !ipv6_addr_any(&filter->ip.v6.src_ip6)) return -EOPNOTSUPP; + memset(&cld_filter, 0, sizeof(cld_filter)); + /* copy element needed to add cloud filter from filter */ i40e_set_cld_element(filter, &cld_filter.element); @@ -7700,7 +7713,7 @@ cpu_to_le16(I40E_AQC_ADD_CLOUD_FILTER_MAC_VLAN_PORT); } - } else if (filter->dst_ipv4 || + } else if ((filter->dst_ipv4 && filter->n_proto != ETH_P_IPV6) || !ipv6_addr_any(&filter->ip.v6.dst_ip6)) { cld_filter.element.flags = cpu_to_le16(I40E_AQC_ADD_CLOUD_FILTER_IP_PORT); @@ -8479,6 +8492,13 @@ dev_dbg(&pf->pdev->dev, "PFR requested\n"); i40e_handle_reset_warning(pf, lock_acquired); + } else if (reset_flags & I40E_PF_RESET_AND_REBUILD_FLAG) { + /* Request a PF Reset + * + * Resets PF and reinitializes PFs VSI. + */ + i40e_prep_for_reset(pf, lock_acquired); + i40e_reset_and_rebuild(pf, true, lock_acquired); dev_info(&pf->pdev->dev, pf->flags & I40E_FLAG_DISABLE_FW_LLDP ? "FW LLDP is disabled\n" : @@ -9945,7 +9965,6 @@ int old_recovery_mode_bit = test_bit(__I40E_RECOVERY_MODE, pf->state); struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; struct i40e_hw *hw = &pf->hw; - u8 set_fc_aq_fail = 0; i40e_status ret; u32 val; int v; @@ -10071,13 +10090,6 @@ i40e_stat_str(&pf->hw, ret), i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); - /* make sure our flow control settings are restored */ - ret = i40e_set_fc(&pf->hw, &set_fc_aq_fail, true); - if (ret) - dev_dbg(&pf->pdev->dev, "setting flow control: ret = %s last_status = %s\n", - i40e_stat_str(&pf->hw, ret), - i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); - /* Rebuild the VSIs and VEBs that existed before reset. * They are still in our local switch element arrays, so only * need to rebuild the switch model in the HW. @@ -11760,6 +11772,8 @@ struct i40e_aqc_configure_partition_bw_data bw_data; i40e_status status; + memset(&bw_data, 0, sizeof(bw_data)); + /* Set the valid bit for this PF */ bw_data.pf_valid_bits = cpu_to_le16(BIT(pf->hw.pf_id)); bw_data.max_bw[pf->hw.pf_id] = pf->max_bw & I40E_ALT_BW_VALUE_MASK; @@ -11866,6 +11880,7 @@ { int err = 0; int size; + u16 pow; /* Set default capability flags */ pf->flags = I40E_FLAG_RX_CSUM_ENABLED | @@ -11884,6 +11899,11 @@ pf->rss_table_size = pf->hw.func_caps.rss_table_size; pf->rss_size_max = min_t(int, pf->rss_size_max, pf->hw.func_caps.num_tx_qp); + + /* find the next higher power-of-2 of num cpus */ + pow = roundup_pow_of_two(num_online_cpus()); + pf->rss_size_max = min_t(int, pf->rss_size_max, pow); + if (pf->hw.func_caps.rss) { pf->flags |= I40E_FLAG_RSS_ENABLED; pf->alloc_rss_size = min_t(int, pf->rss_size_max, @@ -14696,12 +14716,16 @@ * in order to register the netdev */ v_idx = i40e_vsi_mem_alloc(pf, I40E_VSI_MAIN); - if (v_idx < 0) + if (v_idx < 0) { + err = v_idx; goto err_switch_setup; + } pf->lan_vsi = v_idx; vsi = pf->vsi[v_idx]; - if (!vsi) + if (!vsi) { + err = -EFAULT; goto err_switch_setup; + } vsi->alloc_queue_pairs = 1; err = i40e_config_netdev(vsi); if (err) @@ -14760,7 +14784,6 @@ int err; u32 val; u32 i; - u8 set_fc_aq_fail; err = pci_enable_device_mem(pdev); if (err) @@ -15082,24 +15105,6 @@ } INIT_LIST_HEAD(&pf->vsi[pf->lan_vsi]->ch_list); - /* Make sure flow control is set according to current settings */ - err = i40e_set_fc(hw, &set_fc_aq_fail, true); - if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_GET) - dev_dbg(&pf->pdev->dev, - "Set fc with err %s aq_err %s on get_phy_cap\n", - i40e_stat_str(hw, err), - i40e_aq_str(hw, hw->aq.asq_last_status)); - if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_SET) - dev_dbg(&pf->pdev->dev, - "Set fc with err %s aq_err %s on set_phy_config\n", - i40e_stat_str(hw, err), - i40e_aq_str(hw, hw->aq.asq_last_status)); - if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_UPDATE) - dev_dbg(&pf->pdev->dev, - "Set fc with err %s aq_err %s on get_link_info\n", - i40e_stat_str(hw, err), - i40e_aq_str(hw, hw->aq.asq_last_status)); - /* if FDIR VSI was set up, start it now */ for (i = 0; i < pf->num_alloc_vsi; i++) { if (pf->vsi[i] && pf->vsi[i]->type == I40E_VSI_FDIR) { @@ -15156,6 +15161,8 @@ if (err) { dev_info(&pdev->dev, "setup of misc vector failed: %d\n", err); + i40e_cloud_filter_exit(pf); + i40e_fdir_teardown(pf); goto err_vsis; } } @@ -15352,6 +15359,14 @@ i40e_write_rx_ctl(hw, I40E_PFQF_HENA(0), 0); i40e_write_rx_ctl(hw, I40E_PFQF_HENA(1), 0); + while (test_bit(__I40E_RESET_RECOVERY_PENDING, pf->state)) + usleep_range(1000, 2000); + + if (pf->flags & I40E_FLAG_SRIOV_ENABLED) { + set_bit(__I40E_VF_RESETS_DISABLED, pf->state); + i40e_free_vfs(pf); + pf->flags &= ~I40E_FLAG_SRIOV_ENABLED; + } /* no more scheduling of any task */ set_bit(__I40E_SUSPENDED, pf->state); set_bit(__I40E_DOWN, pf->state); @@ -15378,11 +15393,6 @@ */ i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], false); - if (pf->flags & I40E_FLAG_SRIOV_ENABLED) { - i40e_free_vfs(pf); - pf->flags &= ~I40E_FLAG_SRIOV_ENABLED; - } - i40e_fdir_teardown(pf); /* If there is a switch structure or any orphans, remove them. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -1783,7 +1783,7 @@ skb_record_rx_queue(skb, rx_ring->queue_index); if (qword & BIT(I40E_RX_DESC_STATUS_L2TAG1P_SHIFT)) { - u16 vlan_tag = rx_desc->wb.qword0.lo_dword.l2tag1; + __le16 vlan_tag = rx_desc->wb.qword0.lo_dword.l2tag1; __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), le16_to_cpu(vlan_tag)); @@ -1851,6 +1851,7 @@ * the adapter for another receive * * @rx_buffer: buffer containing the page + * @rx_buffer_pgcnt: buffer page refcount pre xdp_do_redirect() call * * If page is reusable, rx_buffer->page_offset is adjusted to point to * an unused region in the page. @@ -1873,7 +1874,8 @@ * * In either case, if the page is reusable its refcount is increased. **/ -static bool i40e_can_reuse_rx_page(struct i40e_rx_buffer *rx_buffer) +static bool i40e_can_reuse_rx_page(struct i40e_rx_buffer *rx_buffer, + int rx_buffer_pgcnt) { unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; struct page *page = rx_buffer->page; @@ -1884,7 +1886,7 @@ #if (PAGE_SIZE < 8192) /* if we are only owner of page we can reuse it */ - if (unlikely((page_count(page) - pagecnt_bias) > 1)) + if (unlikely((rx_buffer_pgcnt - pagecnt_bias) > 1)) return false; #else #define I40E_LAST_OFFSET \ @@ -1943,17 +1945,25 @@ * i40e_get_rx_buffer - Fetch Rx buffer and synchronize data for use * @rx_ring: rx descriptor ring to transact packets on * @size: size of buffer to add to skb + * @rx_buffer_pgcnt: buffer page refcount * * This function will pull an Rx buffer from the ring and synchronize it * for use by the CPU. */ static struct i40e_rx_buffer *i40e_get_rx_buffer(struct i40e_ring *rx_ring, - const unsigned int size) + const unsigned int size, + int *rx_buffer_pgcnt) { struct i40e_rx_buffer *rx_buffer; rx_buffer = i40e_rx_bi(rx_ring, rx_ring->next_to_clean); - prefetchw(rx_buffer->page); + *rx_buffer_pgcnt = +#if (PAGE_SIZE < 8192) + page_count(rx_buffer->page); +#else + 0; +#endif + prefetch_page_address(rx_buffer->page); /* we are reusing so sync this buffer for CPU use */ dma_sync_single_range_for_cpu(rx_ring->dev, @@ -2107,14 +2117,16 @@ * i40e_put_rx_buffer - Clean up used buffer and either recycle or free * @rx_ring: rx descriptor ring to transact packets on * @rx_buffer: rx buffer to pull data from + * @rx_buffer_pgcnt: rx buffer page refcount pre xdp_do_redirect() call * * This function will clean up the contents of the rx_buffer. It will * either recycle the buffer or unmap it and free the associated resources. */ static void i40e_put_rx_buffer(struct i40e_ring *rx_ring, - struct i40e_rx_buffer *rx_buffer) + struct i40e_rx_buffer *rx_buffer, + int rx_buffer_pgcnt) { - if (i40e_can_reuse_rx_page(rx_buffer)) { + if (i40e_can_reuse_rx_page(rx_buffer, rx_buffer_pgcnt)) { /* hand second half of page back to the ring */ i40e_reuse_rx_page(rx_ring, rx_buffer); } else { @@ -2180,8 +2192,7 @@ * @rx_ring: Rx ring being processed * @xdp: XDP buffer containing the frame **/ -static struct sk_buff *i40e_run_xdp(struct i40e_ring *rx_ring, - struct xdp_buff *xdp) +static int i40e_run_xdp(struct i40e_ring *rx_ring, struct xdp_buff *xdp) { int err, result = I40E_XDP_PASS; struct i40e_ring *xdp_ring; @@ -2220,7 +2231,7 @@ } xdp_out: rcu_read_unlock(); - return ERR_PTR(-result); + return result; } /** @@ -2319,6 +2330,7 @@ unsigned int xdp_xmit = 0; bool failure = false; struct xdp_buff xdp; + int xdp_res = 0; #if (PAGE_SIZE < 8192) xdp.frame_sz = i40e_rx_frame_truesize(rx_ring, 0); @@ -2328,6 +2340,7 @@ while (likely(total_rx_packets < (unsigned int)budget)) { struct i40e_rx_buffer *rx_buffer; union i40e_rx_desc *rx_desc; + int rx_buffer_pgcnt; unsigned int size; u64 qword; @@ -2370,7 +2383,7 @@ break; i40e_trace(clean_rx_irq, rx_ring, rx_desc, skb); - rx_buffer = i40e_get_rx_buffer(rx_ring, size); + rx_buffer = i40e_get_rx_buffer(rx_ring, size, &rx_buffer_pgcnt); /* retrieve a buffer from the ring */ if (!skb) { @@ -2384,12 +2397,10 @@ /* At larger PAGE_SIZE, frame_sz depend on len size */ xdp.frame_sz = i40e_rx_frame_truesize(rx_ring, size); #endif - skb = i40e_run_xdp(rx_ring, &xdp); + xdp_res = i40e_run_xdp(rx_ring, &xdp); } - if (IS_ERR(skb)) { - unsigned int xdp_res = -PTR_ERR(skb); - + if (xdp_res) { if (xdp_res & (I40E_XDP_TX | I40E_XDP_REDIR)) { xdp_xmit |= xdp_res; i40e_rx_buffer_flip(rx_ring, rx_buffer, size); @@ -2413,7 +2424,7 @@ break; } - i40e_put_rx_buffer(rx_ring, rx_buffer); + i40e_put_rx_buffer(rx_ring, rx_buffer, rx_buffer_pgcnt); cleaned_count++; if (i40e_is_non_eop(rx_ring, rx_desc, skb)) @@ -3075,13 +3086,16 @@ l4_proto = ip.v4->protocol; } else if (*tx_flags & I40E_TX_FLAGS_IPV6) { + int ret; + tunnel |= I40E_TX_CTX_EXT_IP_IPV6; exthdr = ip.hdr + sizeof(*ip.v6); l4_proto = ip.v6->nexthdr; - if (l4.hdr != exthdr) - ipv6_skip_exthdr(skb, exthdr - skb->data, - &l4_proto, &frag_off); + ret = ipv6_skip_exthdr(skb, exthdr - skb->data, + &l4_proto, &frag_off); + if (ret < 0) + return -1; } /* define outer transport */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c @@ -55,12 +55,7 @@ pfe.event = VIRTCHNL_EVENT_LINK_CHANGE; pfe.severity = PF_EVENT_SEVERITY_INFO; - - /* Always report link is down if the VF queues aren't enabled */ - if (!vf->queues_enabled) { - pfe.event_data.link_event.link_status = false; - pfe.event_data.link_event.link_speed = 0; - } else if (vf->link_forced) { + if (vf->link_forced) { pfe.event_data.link_event.link_status = vf->link_up; pfe.event_data.link_event.link_speed = (vf->link_up ? VIRTCHNL_LINK_SPEED_40GB : 0); @@ -70,7 +65,6 @@ pfe.event_data.link_event.link_speed = i40e_virtchnl_link_speed(ls->link_speed); } - i40e_aq_send_msg_to_vf(hw, abs_vf_id, VIRTCHNL_OP_EVENT, 0, (u8 *)&pfe, sizeof(pfe), NULL); } @@ -143,6 +137,7 @@ **/ static inline void i40e_vc_disable_vf(struct i40e_vf *vf) { + struct i40e_pf *pf = vf->pf; int i; i40e_vc_notify_vf_reset(vf); @@ -153,6 +148,11 @@ * ensure a reset. */ for (i = 0; i < 20; i++) { + /* If PF is in VFs releasing state reset VF is impossible, + * so leave it. + */ + if (test_bit(__I40E_VFS_RELEASING, pf->state)) + return; if (i40e_reset_vf(vf, false)) return; usleep_range(10000, 20000); @@ -1126,6 +1126,7 @@ struct i40e_pf *pf = vf->pf; struct i40e_hw *hw = &pf->hw; struct i40e_mac_filter *f; + struct hlist_node *h; i40e_status aq_ret = 0; struct i40e_vsi *vsi; int bkt; @@ -1165,7 +1166,8 @@ } return aq_ret; } else if (i40e_getnum_vf_vsi_vlan_filters(vsi)) { - hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { + spin_lock_bh(&vsi->mac_filter_hash_lock); + hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { if (f->vlan < 0 || f->vlan > I40E_MAX_VLANID) continue; aq_ret = i40e_aq_set_vsi_mc_promisc_on_vlan(hw, @@ -1198,6 +1200,7 @@ i40e_aq_str(&pf->hw, aq_err)); } } + spin_unlock_bh(&vsi->mac_filter_hash_lock); return aq_ret; } aq_ret = i40e_aq_set_vsi_multicast_promiscuous(hw, vsi->seid, allmulti, @@ -1334,7 +1337,8 @@ * @vf: pointer to the VF structure * @flr: VFLR was issued or not * - * Returns true if the VF is reset, false otherwise. + * Returns true if the VF is in reset, resets successfully, or resets + * are disabled and false otherwise. **/ bool i40e_reset_vf(struct i40e_vf *vf, bool flr) { @@ -1344,11 +1348,14 @@ u32 reg; int i; + 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)) - return false; + return true; i40e_trigger_vf_reset(vf, flr); @@ -1507,11 +1514,22 @@ if (!pf->vf) return; + + set_bit(__I40E_VFS_RELEASING, pf->state); while (test_and_set_bit(__I40E_VF_DISABLE, pf->state)) usleep_range(1000, 2000); i40e_notify_client_of_vf_enable(pf, 0); + /* Disable IOV before freeing resources. This lets any VF drivers + * running in the host get themselves cleaned up before we yank + * the carpet out from underneath their feet. + */ + if (!pci_vfs_assigned(pf->pdev)) + pci_disable_sriov(pf->pdev); + else + dev_warn(&pf->pdev->dev, "VFs are assigned - not disabling SR-IOV\n"); + /* Amortize wait time by stopping all VFs at the same time */ for (i = 0; i < pf->num_alloc_vfs; i++) { if (test_bit(I40E_VF_STATE_INIT, &pf->vf[i].vf_states)) @@ -1527,15 +1545,6 @@ i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[i].lan_vsi_idx]); } - /* Disable IOV before freeing resources. This lets any VF drivers - * running in the host get themselves cleaned up before we yank - * the carpet out from underneath their feet. - */ - if (!pci_vfs_assigned(pf->pdev)) - pci_disable_sriov(pf->pdev); - else - dev_warn(&pf->pdev->dev, "VFs are assigned - not disabling SR-IOV\n"); - /* free up VF resources */ tmp = pf->num_alloc_vfs; pf->num_alloc_vfs = 0; @@ -1564,6 +1573,7 @@ } } clear_bit(__I40E_VF_DISABLE, pf->state); + clear_bit(__I40E_VFS_RELEASING, pf->state); } #ifdef CONFIG_PCI_IOV @@ -1699,7 +1709,7 @@ if (num_vfs) { if (!(pf->flags & I40E_FLAG_VEB_MODE_ENABLED)) { pf->flags |= I40E_FLAG_VEB_MODE_ENABLED; - i40e_do_reset_safe(pf, I40E_PF_RESET_FLAG); + i40e_do_reset_safe(pf, I40E_PF_RESET_AND_REBUILD_FLAG); } ret = i40e_pci_sriov_enable(pdev, num_vfs); goto sriov_configure_out; @@ -1708,7 +1718,7 @@ if (!pci_vfs_assigned(pf->pdev)) { i40e_free_vfs(pf); pf->flags &= ~I40E_FLAG_VEB_MODE_ENABLED; - i40e_do_reset_safe(pf, I40E_PF_RESET_FLAG); + i40e_do_reset_safe(pf, I40E_PF_RESET_AND_REBUILD_FLAG); } else { dev_warn(&pdev->dev, "Unable to free VFs because some are assigned to VMs.\n"); ret = -EINVAL; @@ -2388,8 +2398,6 @@ } } - vf->queues_enabled = true; - error_param: /* send the response to the VF */ return i40e_vc_send_resp_to_vf(vf, VIRTCHNL_OP_ENABLE_QUEUES, @@ -2411,9 +2419,6 @@ struct i40e_pf *pf = vf->pf; i40e_status aq_ret = 0; - /* Immediately mark queues as disabled */ - vf->queues_enabled = false; - if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states)) { aq_ret = I40E_ERR_PARAM; goto error_param; @@ -2662,6 +2667,10 @@ spin_unlock_bh(&vsi->mac_filter_hash_lock); goto error_param; } + if (is_valid_ether_addr(al->list[i].addr) && + is_zero_ether_addr(vf->default_lan_addr.addr)) + ether_addr_copy(vf->default_lan_addr.addr, + al->list[i].addr); } } spin_unlock_bh(&vsi->mac_filter_hash_lock); @@ -2689,6 +2698,7 @@ { struct virtchnl_ether_addr_list *al = (struct virtchnl_ether_addr_list *)msg; + bool was_unimac_deleted = false; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; i40e_status ret = 0; @@ -2708,6 +2718,8 @@ ret = I40E_ERR_INVALID_MAC_ADDR; goto error_param; } + if (ether_addr_equal(al->list[i].addr, vf->default_lan_addr.addr)) + was_unimac_deleted = true; } vsi = pf->vsi[vf->lan_vsi_idx]; @@ -2728,10 +2740,25 @@ dev_err(&pf->pdev->dev, "Unable to program VF %d MAC filters, error %d\n", vf->vf_id, ret); + if (vf->trusted && was_unimac_deleted) { + struct i40e_mac_filter *f; + struct hlist_node *h; + u8 *macaddr = NULL; + int bkt; + + /* set last unicast mac address as default */ + spin_lock_bh(&vsi->mac_filter_hash_lock); + hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { + if (is_valid_ether_addr(f->macaddr)) + macaddr = f->macaddr; + } + if (macaddr) + ether_addr_copy(vf->default_lan_addr.addr, macaddr); + spin_unlock_bh(&vsi->mac_filter_hash_lock); + } error_param: /* send the response to the VF */ - return i40e_vc_send_resp_to_vf(vf, VIRTCHNL_OP_DEL_ETH_ADDR, - ret); + return i40e_vc_send_resp_to_vf(vf, VIRTCHNL_OP_DEL_ETH_ADDR, ret); } /** @@ -3969,20 +3996,16 @@ goto error_param; vf = &pf->vf[vf_id]; - vsi = pf->vsi[vf->lan_vsi_idx]; /* When the VF is resetting wait until it is done. * It can take up to 200 milliseconds, * but wait for up to 300 milliseconds to be safe. - * If the VF is indeed in reset, the vsi pointer has - * to show on the newly loaded vsi under pf->vsi[id]. + * Acquire the VSI pointer only after the VF has been + * properly initialized. */ for (i = 0; i < 15; i++) { - if (test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { - if (i > 0) - vsi = pf->vsi[vf->lan_vsi_idx]; + if (test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) break; - } msleep(20); } if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { @@ -3991,6 +4014,7 @@ ret = -EAGAIN; goto error_param; } + vsi = pf->vsi[vf->lan_vsi_idx]; if (is_multicast_ether_addr(mac)) { dev_err(&pf->pdev->dev, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h @@ -99,7 +99,6 @@ unsigned int tx_rate; /* Tx bandwidth limit in Mbps */ bool link_forced; bool link_up; /* only valid if VF link is forced */ - bool queues_enabled; /* true if the VF queues are enabled */ bool spoofchk; u16 num_vlan; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/i40e/i40e_xsk.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/i40e/i40e_xsk.c @@ -215,8 +215,11 @@ } while (count); no_buffers: - if (rx_ring->next_to_use != ntu) + if (rx_ring->next_to_use != ntu) { + /* clear the status bits for the next_to_use descriptor */ + rx_desc->wb.qword1.status_error_len = 0; i40e_release_rx_desc(rx_ring, ntu); + } return ok; } @@ -336,12 +339,12 @@ * SBP is *not* set in PRT_SBPVSI (default not set). */ skb = i40e_construct_skb_zc(rx_ring, *bi); - *bi = NULL; if (!skb) { rx_ring->rx_stats.alloc_buff_failed++; break; } + *bi = NULL; cleaned_count++; i40e_inc_ntc(rx_ring); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/iavf/iavf_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -1786,7 +1786,8 @@ goto err_alloc; } - if (iavf_process_config(adapter)) + err = iavf_process_config(adapter); + if (err) goto err_alloc; adapter->current_op = VIRTCHNL_OP_UNKNOWN; @@ -1844,11 +1845,9 @@ netif_tx_stop_all_queues(netdev); if (CLIENT_ALLOWED(adapter)) { err = iavf_lan_add_device(adapter); - if (err) { - rtnl_unlock(); + if (err) dev_info(&pdev->dev, "Failed to add VF to client API service list: %d\n", err); - } } dev_info(&pdev->dev, "MAC address: %pM\n", adapter->hw.mac.addr); if (netdev->features & NETIF_F_GRO) @@ -1863,8 +1862,10 @@ adapter->rss_key = kzalloc(adapter->rss_key_size, GFP_KERNEL); adapter->rss_lut = kzalloc(adapter->rss_lut_size, GFP_KERNEL); - if (!adapter->rss_key || !adapter->rss_lut) + if (!adapter->rss_key || !adapter->rss_lut) { + err = -ENOMEM; goto err_mem; + } if (RSS_AQ(adapter)) adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_RSS; else @@ -1946,7 +1947,10 @@ iavf_send_api_ver(adapter); } } else { - if (!iavf_process_aq_command(adapter) && + /* An error will be returned if no commands were + * processed; use this opportunity to update stats + */ + if (iavf_process_aq_command(adapter) && adapter->state == __IAVF_RUNNING) iavf_request_stats(adapter); } @@ -3772,7 +3776,6 @@ return err; } -#ifdef CONFIG_PM /** * iavf_suspend - Power management suspend routine * @pdev: PCI device information struct @@ -3780,11 +3783,10 @@ * * Called when the system (VM) is entering sleep/suspend. **/ -static int iavf_suspend(struct pci_dev *pdev, pm_message_t state) +static int __maybe_unused iavf_suspend(struct device *dev_d) { - struct net_device *netdev = pci_get_drvdata(pdev); + struct net_device *netdev = dev_get_drvdata(dev_d); struct iavf_adapter *adapter = netdev_priv(netdev); - int retval = 0; netif_device_detach(netdev); @@ -3802,12 +3804,6 @@ clear_bit(__IAVF_IN_CRITICAL_TASK, &adapter->crit_section); - retval = pci_save_state(pdev); - if (retval) - return retval; - - pci_disable_device(pdev); - return 0; } @@ -3817,24 +3813,13 @@ * * Called when the system (VM) is resumed from sleep/suspend. **/ -static int iavf_resume(struct pci_dev *pdev) +static int __maybe_unused iavf_resume(struct device *dev_d) { - struct iavf_adapter *adapter = pci_get_drvdata(pdev); - struct net_device *netdev = adapter->netdev; + struct pci_dev *pdev = to_pci_dev(dev_d); + struct net_device *netdev = pci_get_drvdata(pdev); + struct iavf_adapter *adapter = netdev_priv(netdev); u32 err; - pci_set_power_state(pdev, PCI_D0); - pci_restore_state(pdev); - /* pci_restore_state clears dev->state_saved so call - * pci_save_state to restore it. - */ - pci_save_state(pdev); - - err = pci_enable_device_mem(pdev); - if (err) { - dev_err(&pdev->dev, "Cannot enable PCI device from suspend.\n"); - return err; - } pci_set_master(pdev); rtnl_lock(); @@ -3858,7 +3843,6 @@ return err; } -#endif /* CONFIG_PM */ /** * iavf_remove - Device Removal Routine * @pdev: PCI device information struct @@ -3960,16 +3944,15 @@ pci_disable_device(pdev); } +static SIMPLE_DEV_PM_OPS(iavf_pm_ops, iavf_suspend, iavf_resume); + static struct pci_driver iavf_driver = { - .name = iavf_driver_name, - .id_table = iavf_pci_tbl, - .probe = iavf_probe, - .remove = iavf_remove, -#ifdef CONFIG_PM - .suspend = iavf_suspend, - .resume = iavf_resume, -#endif - .shutdown = iavf_shutdown, + .name = iavf_driver_name, + .id_table = iavf_pci_tbl, + .probe = iavf_probe, + .remove = iavf_remove, + .driver.pm = &iavf_pm_ops, + .shutdown = iavf_shutdown, }; /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice.h @@ -68,7 +68,9 @@ #define ICE_INT_NAME_STR_LEN (IFNAMSIZ + 16) #define ICE_AQ_LEN 64 #define ICE_MBXSQ_LEN 64 -#define ICE_MIN_MSIX 2 +#define ICE_MIN_LAN_TXRX_MSIX 1 +#define ICE_MIN_LAN_OICR_MSIX 1 +#define ICE_MIN_MSIX (ICE_MIN_LAN_TXRX_MSIX + ICE_MIN_LAN_OICR_MSIX) #define ICE_FDIR_MSIX 1 #define ICE_NO_VSI 0xffff #define ICE_VSI_MAP_CONTIG 0 @@ -192,7 +194,6 @@ __ICE_NEEDS_RESTART, __ICE_PREPARED_FOR_RESET, /* set by driver when prepared */ __ICE_RESET_OICR_RECV, /* set by driver after rcv reset OICR */ - __ICE_DCBNL_DEVRESET, /* set by dcbnl devreset */ __ICE_PFR_REQ, /* set by driver and peers */ __ICE_CORER_REQ, /* set by driver and peers */ __ICE_GLOBR_REQ, /* set by driver and peers */ @@ -427,9 +428,7 @@ struct ice_hw_port_stats stats_prev; struct ice_hw hw; u8 stat_prev_loaded:1; /* has previous stats been loaded */ -#ifdef CONFIG_DCB u16 dcbx_cap; -#endif /* CONFIG_DCB */ u32 tx_timeout_count; unsigned long tx_timeout_last_recovery; u32 tx_timeout_recovery_level; @@ -583,6 +582,7 @@ void ice_fdir_replay_fltrs(struct ice_pf *pf); int ice_fdir_create_dflt_rules(struct ice_pf *pf); int ice_open(struct net_device *netdev); +int ice_open_internal(struct net_device *netdev); int ice_stop(struct net_device *netdev); void ice_service_task_schedule(struct ice_pf *pf); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_controlq.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_controlq.h @@ -31,8 +31,8 @@ ICE_CTL_Q_MAILBOX, }; -/* Control Queue timeout settings - max delay 250ms */ -#define ICE_CTL_Q_SQ_CMD_TIMEOUT 2500 /* Count 2500 times */ +/* Control Queue timeout settings - max delay 1s */ +#define ICE_CTL_Q_SQ_CMD_TIMEOUT 10000 /* Count 10000 times */ #define ICE_CTL_Q_SQ_CMD_USEC 100 /* Check every 100usec */ #define ICE_CTL_Q_ADMIN_INIT_TIMEOUT 10 /* Count 10 times */ #define ICE_CTL_Q_ADMIN_INIT_MSEC 100 /* Check every 100msec */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_dcb.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_dcb.c @@ -771,22 +771,27 @@ /** * ice_cee_to_dcb_cfg * @cee_cfg: pointer to CEE configuration struct - * @dcbcfg: DCB configuration struct + * @pi: port information structure * * Convert CEE configuration from firmware to DCB configuration */ static void ice_cee_to_dcb_cfg(struct ice_aqc_get_cee_dcb_cfg_resp *cee_cfg, - struct ice_dcbx_cfg *dcbcfg) + struct ice_port_info *pi) { u32 status, tlv_status = le32_to_cpu(cee_cfg->tlv_status); - u32 ice_aqc_cee_status_mask, ice_aqc_cee_status_shift; - u16 app_prio = le16_to_cpu(cee_cfg->oper_app_prio); + u32 ice_aqc_cee_status_mask, ice_aqc_cee_status_shift, j; u8 i, err, sync, oper, app_index, ice_app_sel_type; + u16 app_prio = le16_to_cpu(cee_cfg->oper_app_prio); u16 ice_aqc_cee_app_mask, ice_aqc_cee_app_shift; + struct ice_dcbx_cfg *cmp_dcbcfg, *dcbcfg; u16 ice_app_prot_id_type; - /* CEE PG data to ETS config */ + dcbcfg = &pi->qos_cfg.local_dcbx_cfg; + dcbcfg->dcbx_mode = ICE_DCBX_MODE_CEE; + dcbcfg->tlv_status = tlv_status; + + /* CEE PG data */ dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc; /* Note that the FW creates the oper_prio_tc nibbles reversed @@ -813,10 +818,16 @@ } } - /* CEE PFC data to ETS config */ + /* CEE PFC data */ dcbcfg->pfc.pfcena = cee_cfg->oper_pfc_en; dcbcfg->pfc.pfccap = ICE_MAX_TRAFFIC_CLASS; + /* CEE APP TLV data */ + if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING) + cmp_dcbcfg = &pi->qos_cfg.desired_dcbx_cfg; + else + cmp_dcbcfg = &pi->qos_cfg.remote_dcbx_cfg; + app_index = 0; for (i = 0; i < 3; i++) { if (i == 0) { @@ -835,6 +846,18 @@ ice_aqc_cee_app_shift = ICE_AQC_CEE_APP_ISCSI_S; ice_app_sel_type = ICE_APP_SEL_TCPIP; ice_app_prot_id_type = ICE_APP_PROT_ID_ISCSI; + + for (j = 0; j < cmp_dcbcfg->numapps; j++) { + u16 prot_id = cmp_dcbcfg->app[j].prot_id; + u8 sel = cmp_dcbcfg->app[j].selector; + + if (sel == ICE_APP_SEL_TCPIP && + (prot_id == ICE_APP_PROT_ID_ISCSI || + prot_id == ICE_APP_PROT_ID_ISCSI_860)) { + ice_app_prot_id_type = prot_id; + break; + } + } } else { /* FIP APP */ ice_aqc_cee_status_mask = ICE_AQC_CEE_FIP_STATUS_M; @@ -883,9 +906,9 @@ return ICE_ERR_PARAM; if (dcbx_mode == ICE_DCBX_MODE_IEEE) - dcbx_cfg = &pi->local_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.local_dcbx_cfg; else if (dcbx_mode == ICE_DCBX_MODE_CEE) - dcbx_cfg = &pi->desired_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.desired_dcbx_cfg; /* Get Local DCB Config in case of ICE_DCBX_MODE_IEEE * or get CEE DCB Desired Config in case of ICE_DCBX_MODE_CEE @@ -896,7 +919,7 @@ goto out; /* Get Remote DCB Config */ - dcbx_cfg = &pi->remote_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.remote_dcbx_cfg; ret = ice_aq_get_dcb_cfg(pi->hw, ICE_AQ_LLDP_MIB_REMOTE, ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID, dcbx_cfg); /* Don't treat ENOENT as an error for Remote MIBs */ @@ -925,14 +948,11 @@ ret = ice_aq_get_cee_dcb_cfg(pi->hw, &cee_cfg, NULL); if (!ret) { /* CEE mode */ - dcbx_cfg = &pi->local_dcbx_cfg; - dcbx_cfg->dcbx_mode = ICE_DCBX_MODE_CEE; - dcbx_cfg->tlv_status = le32_to_cpu(cee_cfg.tlv_status); - ice_cee_to_dcb_cfg(&cee_cfg, dcbx_cfg); ret = ice_get_ieee_or_cee_dcb_cfg(pi, ICE_DCBX_MODE_CEE); + ice_cee_to_dcb_cfg(&cee_cfg, pi); } else if (pi->hw->adminq.sq_last_status == ICE_AQ_RC_ENOENT) { /* CEE mode not enabled try querying IEEE data */ - dcbx_cfg = &pi->local_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.local_dcbx_cfg; dcbx_cfg->dcbx_mode = ICE_DCBX_MODE_IEEE; ret = ice_get_ieee_or_cee_dcb_cfg(pi, ICE_DCBX_MODE_IEEE); } @@ -949,26 +969,26 @@ */ enum ice_status ice_init_dcb(struct ice_hw *hw, bool enable_mib_change) { - struct ice_port_info *pi = hw->port_info; + struct ice_qos_cfg *qos_cfg = &hw->port_info->qos_cfg; enum ice_status ret = 0; if (!hw->func_caps.common_cap.dcb) return ICE_ERR_NOT_SUPPORTED; - pi->is_sw_lldp = true; + qos_cfg->is_sw_lldp = true; /* Get DCBX status */ - pi->dcbx_status = ice_get_dcbx_status(hw); + qos_cfg->dcbx_status = ice_get_dcbx_status(hw); - if (pi->dcbx_status == ICE_DCBX_STATUS_DONE || - pi->dcbx_status == ICE_DCBX_STATUS_IN_PROGRESS || - pi->dcbx_status == ICE_DCBX_STATUS_NOT_STARTED) { + if (qos_cfg->dcbx_status == ICE_DCBX_STATUS_DONE || + qos_cfg->dcbx_status == ICE_DCBX_STATUS_IN_PROGRESS || + qos_cfg->dcbx_status == ICE_DCBX_STATUS_NOT_STARTED) { /* Get current DCBX configuration */ - ret = ice_get_dcb_cfg(pi); + ret = ice_get_dcb_cfg(hw->port_info); if (ret) return ret; - pi->is_sw_lldp = false; - } else if (pi->dcbx_status == ICE_DCBX_STATUS_DIS) { + qos_cfg->is_sw_lldp = false; + } else if (qos_cfg->dcbx_status == ICE_DCBX_STATUS_DIS) { return ICE_ERR_NOT_READY; } @@ -976,7 +996,7 @@ if (enable_mib_change) { ret = ice_aq_cfg_lldp_mib_change(hw, true, NULL); if (ret) - pi->is_sw_lldp = true; + qos_cfg->is_sw_lldp = true; } return ret; @@ -991,21 +1011,21 @@ */ enum ice_status ice_cfg_lldp_mib_change(struct ice_hw *hw, bool ena_mib) { - struct ice_port_info *pi = hw->port_info; + struct ice_qos_cfg *qos_cfg = &hw->port_info->qos_cfg; enum ice_status ret; if (!hw->func_caps.common_cap.dcb) return ICE_ERR_NOT_SUPPORTED; /* Get DCBX status */ - pi->dcbx_status = ice_get_dcbx_status(hw); + qos_cfg->dcbx_status = ice_get_dcbx_status(hw); - if (pi->dcbx_status == ICE_DCBX_STATUS_DIS) + if (qos_cfg->dcbx_status == ICE_DCBX_STATUS_DIS) return ICE_ERR_NOT_READY; ret = ice_aq_cfg_lldp_mib_change(hw, ena_mib, NULL); if (!ret) - pi->is_sw_lldp = !ena_mib; + qos_cfg->is_sw_lldp = !ena_mib; return ret; } @@ -1303,7 +1323,7 @@ hw = pi->hw; /* update the HW local config */ - dcbcfg = &pi->local_dcbx_cfg; + dcbcfg = &pi->qos_cfg.local_dcbx_cfg; /* Allocate the LLDPDU */ lldpmib = devm_kzalloc(ice_hw_to_dev(hw), ICE_LLDPDU_SIZE, GFP_KERNEL); if (!lldpmib) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_dcb_lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_dcb_lib.c @@ -28,7 +28,7 @@ if (netdev_set_num_tc(netdev, vsi->tc_cfg.numtc)) return; - dcbcfg = &pf->hw.port_info->local_dcbx_cfg; + dcbcfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; ice_for_each_traffic_class(i) if (vsi->tc_cfg.ena_tc & BIT(i)) @@ -134,7 +134,7 @@ else mode = DCB_CAP_DCBX_LLD_MANAGED; - if (port_info->local_dcbx_cfg.dcbx_mode & ICE_DCBX_MODE_CEE) + if (port_info->qos_cfg.local_dcbx_cfg.dcbx_mode & ICE_DCBX_MODE_CEE) return mode | DCB_CAP_DCBX_VER_CEE; else return mode | DCB_CAP_DCBX_VER_IEEE; @@ -277,10 +277,10 @@ int ret = ICE_DCB_NO_HW_CHG; struct ice_vsi *pf_vsi; - curr_cfg = &pf->hw.port_info->local_dcbx_cfg; + curr_cfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; /* FW does not care if change happened */ - if (!pf->hw.port_info->is_sw_lldp) + if (!pf->hw.port_info->qos_cfg.is_sw_lldp) ret = ICE_DCB_HW_CHG_RST; /* Enable DCB tagging only when more than one TC */ @@ -327,7 +327,7 @@ /* Only send new config to HW if we are in SW LLDP mode. Otherwise, * the new config came from the HW in the first place. */ - if (pf->hw.port_info->is_sw_lldp) { + if (pf->hw.port_info->qos_cfg.is_sw_lldp) { ret = ice_set_dcb_cfg(pf->hw.port_info); if (ret) { dev_err(dev, "Set DCB Config failed\n"); @@ -360,7 +360,7 @@ */ static void ice_cfg_etsrec_defaults(struct ice_port_info *pi) { - struct ice_dcbx_cfg *dcbcfg = &pi->local_dcbx_cfg; + struct ice_dcbx_cfg *dcbcfg = &pi->qos_cfg.local_dcbx_cfg; u8 i; /* Ensure ETS recommended DCB configuration is not already set */ @@ -450,7 +450,7 @@ mutex_lock(&pf->tc_mutex); - if (!pf->hw.port_info->is_sw_lldp) + if (!pf->hw.port_info->qos_cfg.is_sw_lldp) ice_cfg_etsrec_defaults(pf->hw.port_info); ret = ice_set_dcb_cfg(pf->hw.port_info); @@ -459,9 +459,9 @@ goto dcb_error; } - if (!pf->hw.port_info->is_sw_lldp) { + if (!pf->hw.port_info->qos_cfg.is_sw_lldp) { ret = ice_cfg_lldp_mib_change(&pf->hw, true); - if (ret && !pf->hw.port_info->is_sw_lldp) { + if (ret && !pf->hw.port_info->qos_cfg.is_sw_lldp) { dev_err(dev, "Failed to register for MIB changes\n"); goto dcb_error; } @@ -514,11 +514,12 @@ int ret = 0; pi = pf->hw.port_info; - newcfg = kmemdup(&pi->local_dcbx_cfg, sizeof(*newcfg), GFP_KERNEL); + newcfg = kmemdup(&pi->qos_cfg.local_dcbx_cfg, sizeof(*newcfg), + GFP_KERNEL); if (!newcfg) return -ENOMEM; - memset(&pi->local_dcbx_cfg, 0, sizeof(*newcfg)); + memset(&pi->qos_cfg.local_dcbx_cfg, 0, sizeof(*newcfg)); dev_info(ice_pf_to_dev(pf), "Configuring initial DCB values\n"); if (ice_pf_dcb_cfg(pf, newcfg, locked)) @@ -549,7 +550,7 @@ if (!dcbcfg) return -ENOMEM; - memset(&pi->local_dcbx_cfg, 0, sizeof(*dcbcfg)); + memset(&pi->qos_cfg.local_dcbx_cfg, 0, sizeof(*dcbcfg)); dcbcfg->etscfg.willing = ets_willing ? 1 : 0; dcbcfg->etscfg.maxtcs = hw->func_caps.common_cap.maxtc; @@ -612,7 +613,7 @@ */ static int ice_dcb_noncontig_cfg(struct ice_pf *pf) { - struct ice_dcbx_cfg *dcbcfg = &pf->hw.port_info->local_dcbx_cfg; + struct ice_dcbx_cfg *dcbcfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; struct device *dev = ice_pf_to_dev(pf); int ret; @@ -642,7 +643,7 @@ */ void ice_pf_dcb_recfg(struct ice_pf *pf) { - struct ice_dcbx_cfg *dcbcfg = &pf->hw.port_info->local_dcbx_cfg; + struct ice_dcbx_cfg *dcbcfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; u8 tc_map = 0; int v, ret; @@ -695,7 +696,7 @@ port_info = hw->port_info; err = ice_init_dcb(hw, false); - if (err && !port_info->is_sw_lldp) { + if (err && !port_info->qos_cfg.is_sw_lldp) { dev_err(dev, "Error initializing DCB %d\n", err); goto dcb_init_err; } @@ -862,7 +863,7 @@ /* Update the remote cached instance and return */ ret = ice_aq_get_dcb_cfg(pi->hw, ICE_AQ_LLDP_MIB_REMOTE, ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID, - &pi->remote_dcbx_cfg); + &pi->qos_cfg.remote_dcbx_cfg); if (ret) { dev_err(dev, "Failed to get remote DCB config\n"); return; @@ -872,10 +873,11 @@ mutex_lock(&pf->tc_mutex); /* store the old configuration */ - tmp_dcbx_cfg = pf->hw.port_info->local_dcbx_cfg; + tmp_dcbx_cfg = pf->hw.port_info->qos_cfg.local_dcbx_cfg; /* Reset the old DCBX configuration data */ - memset(&pi->local_dcbx_cfg, 0, sizeof(pi->local_dcbx_cfg)); + memset(&pi->qos_cfg.local_dcbx_cfg, 0, + sizeof(pi->qos_cfg.local_dcbx_cfg)); /* Get updated DCBX data from firmware */ ret = ice_get_dcb_cfg(pf->hw.port_info); @@ -885,7 +887,8 @@ } /* No change detected in DCBX configs */ - if (!memcmp(&tmp_dcbx_cfg, &pi->local_dcbx_cfg, sizeof(tmp_dcbx_cfg))) { + if (!memcmp(&tmp_dcbx_cfg, &pi->qos_cfg.local_dcbx_cfg, + sizeof(tmp_dcbx_cfg))) { dev_dbg(dev, "No change detected in DCBX configuration.\n"); goto out; } @@ -893,13 +896,13 @@ pf->dcbx_cap = ice_dcb_get_mode(pi, false); need_reconfig = ice_dcb_need_recfg(pf, &tmp_dcbx_cfg, - &pi->local_dcbx_cfg); - ice_dcbnl_flush_apps(pf, &tmp_dcbx_cfg, &pi->local_dcbx_cfg); + &pi->qos_cfg.local_dcbx_cfg); + ice_dcbnl_flush_apps(pf, &tmp_dcbx_cfg, &pi->qos_cfg.local_dcbx_cfg); if (!need_reconfig) goto out; /* Enable DCB tagging only when more than one TC */ - if (ice_dcb_get_num_tc(&pi->local_dcbx_cfg) > 1) { + if (ice_dcb_get_num_tc(&pi->qos_cfg.local_dcbx_cfg) > 1) { dev_dbg(dev, "DCB tagging enabled (num TC > 1)\n"); set_bit(ICE_FLAG_DCB_ENA, pf->flags); } else { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_dcb_nl.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_dcb_nl.c @@ -18,12 +18,10 @@ while (ice_is_reset_in_progress(pf->state)) usleep_range(1000, 2000); - set_bit(__ICE_DCBNL_DEVRESET, pf->state); dev_close(netdev); netdev_state_change(netdev); dev_open(netdev, NULL); netdev_state_change(netdev); - clear_bit(__ICE_DCBNL_DEVRESET, pf->state); } /** @@ -34,12 +32,10 @@ static int ice_dcbnl_getets(struct net_device *netdev, struct ieee_ets *ets) { struct ice_dcbx_cfg *dcbxcfg; - struct ice_port_info *pi; struct ice_pf *pf; pf = ice_netdev_to_pf(netdev); - pi = pf->hw.port_info; - dcbxcfg = &pi->local_dcbx_cfg; + dcbxcfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; ets->willing = dcbxcfg->etscfg.willing; ets->ets_cap = dcbxcfg->etscfg.maxtcs; @@ -74,7 +70,7 @@ !(pf->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) return -EINVAL; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; mutex_lock(&pf->tc_mutex); @@ -136,7 +132,7 @@ if (!test_bit(ICE_FLAG_DCB_CAPABLE, pf->flags)) return -EINVAL; - *num = IEEE_8021QAZ_MAX_TCS; + *num = pf->hw.func_caps.common_cap.maxtc; return 0; } @@ -159,6 +155,11 @@ static u8 ice_dcbnl_setdcbx(struct net_device *netdev, u8 mode) { struct ice_pf *pf = ice_netdev_to_pf(netdev); + struct ice_qos_cfg *qos_cfg; + + /* if FW LLDP agent is running, DCBNL not allowed to change mode */ + if (test_bit(ICE_FLAG_FW_LLDP_AGENT, pf->flags)) + return ICE_DCB_NO_HW_CHG; /* No support for LLD_MANAGED modes or CEE+IEEE */ if ((mode & DCB_CAP_DCBX_LLD_MANAGED) || @@ -171,10 +172,11 @@ return ICE_DCB_NO_HW_CHG; pf->dcbx_cap = mode; + qos_cfg = &pf->hw.port_info->qos_cfg; if (mode & DCB_CAP_DCBX_VER_CEE) - pf->hw.port_info->local_dcbx_cfg.dcbx_mode = ICE_DCBX_MODE_CEE; + qos_cfg->local_dcbx_cfg.dcbx_mode = ICE_DCBX_MODE_CEE; else - pf->hw.port_info->local_dcbx_cfg.dcbx_mode = ICE_DCBX_MODE_IEEE; + qos_cfg->local_dcbx_cfg.dcbx_mode = ICE_DCBX_MODE_IEEE; dev_info(ice_pf_to_dev(pf), "DCBx mode = 0x%x\n", mode); return ICE_DCB_HW_CHG_RST; @@ -225,7 +227,7 @@ struct ice_dcbx_cfg *dcbxcfg; int i; - dcbxcfg = &pi->local_dcbx_cfg; + dcbxcfg = &pi->qos_cfg.local_dcbx_cfg; pfc->pfc_cap = dcbxcfg->pfc.pfccap; pfc->pfc_en = dcbxcfg->pfc.pfcena; pfc->mbc = dcbxcfg->pfc.mbc; @@ -256,7 +258,7 @@ mutex_lock(&pf->tc_mutex); - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; if (pfc->pfc_cap) new_cfg->pfc.pfccap = pfc->pfc_cap; @@ -293,9 +295,9 @@ if (prio >= ICE_MAX_USER_PRIORITY) return; - *setting = (pi->local_dcbx_cfg.pfc.pfcena >> prio) & 0x1; + *setting = (pi->qos_cfg.local_dcbx_cfg.pfc.pfcena >> prio) & 0x1; dev_dbg(ice_pf_to_dev(pf), "Get PFC Config up=%d, setting=%d, pfcenable=0x%x\n", - prio, *setting, pi->local_dcbx_cfg.pfc.pfcena); + prio, *setting, pi->qos_cfg.local_dcbx_cfg.pfc.pfcena); } /** @@ -316,7 +318,7 @@ if (prio >= ICE_MAX_USER_PRIORITY) return; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; new_cfg->pfc.pfccap = pf->hw.func_caps.common_cap.maxtc; if (set) @@ -338,7 +340,7 @@ struct ice_port_info *pi = pf->hw.port_info; /* Return enabled if any UP enabled for PFC */ - if (pi->local_dcbx_cfg.pfc.pfcena) + if (pi->qos_cfg.local_dcbx_cfg.pfc.pfcena) return 1; return 0; @@ -378,8 +380,8 @@ if (state) { set_bit(ICE_FLAG_DCB_ENA, pf->flags); - memcpy(&pf->hw.port_info->desired_dcbx_cfg, - &pf->hw.port_info->local_dcbx_cfg, + memcpy(&pf->hw.port_info->qos_cfg.desired_dcbx_cfg, + &pf->hw.port_info->qos_cfg.local_dcbx_cfg, sizeof(struct ice_dcbx_cfg)); } else { clear_bit(ICE_FLAG_DCB_ENA, pf->flags); @@ -413,7 +415,7 @@ if (prio >= ICE_MAX_USER_PRIORITY) return; - *pgid = pi->local_dcbx_cfg.etscfg.prio_table[prio]; + *pgid = pi->qos_cfg.local_dcbx_cfg.etscfg.prio_table[prio]; dev_dbg(ice_pf_to_dev(pf), "Get PG config prio=%d tc=%d\n", prio, *pgid); } @@ -444,7 +446,7 @@ if (tc >= ICE_MAX_TRAFFIC_CLASS) return; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; /* prio_type, bwg_id and bw_pct per UP are not supported */ @@ -474,7 +476,7 @@ if (pgid >= ICE_MAX_TRAFFIC_CLASS) return; - *bw_pct = pi->local_dcbx_cfg.etscfg.tcbwtable[pgid]; + *bw_pct = pi->qos_cfg.local_dcbx_cfg.etscfg.tcbwtable[pgid]; dev_dbg(ice_pf_to_dev(pf), "Get PG BW config tc=%d bw_pct=%d\n", pgid, *bw_pct); } @@ -498,7 +500,7 @@ if (pgid >= ICE_MAX_TRAFFIC_CLASS) return; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; new_cfg->etscfg.tcbwtable[pgid] = bw_pct; } @@ -528,7 +530,7 @@ if (prio >= ICE_MAX_USER_PRIORITY) return; - *pgid = pi->local_dcbx_cfg.etscfg.prio_table[prio]; + *pgid = pi->qos_cfg.local_dcbx_cfg.etscfg.prio_table[prio]; } /** @@ -699,9 +701,9 @@ mutex_lock(&pf->tc_mutex); - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; - old_cfg = &pf->hw.port_info->local_dcbx_cfg; + old_cfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; if (old_cfg->numapps == ICE_DCBX_MAX_APPS) { ret = -EINVAL; @@ -751,7 +753,7 @@ return -EINVAL; mutex_lock(&pf->tc_mutex); - old_cfg = &pf->hw.port_info->local_dcbx_cfg; + old_cfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; if (old_cfg->numapps <= 1) goto delapp_out; @@ -760,7 +762,7 @@ if (ret) goto delapp_out; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; for (i = 1; i < new_cfg->numapps; i++) { if (app->selector == new_cfg->app[i].selector && @@ -813,7 +815,7 @@ !(pf->dcbx_cap & DCB_CAP_DCBX_VER_CEE)) return ICE_DCB_NO_HW_CHG; - new_cfg = &pf->hw.port_info->desired_dcbx_cfg; + new_cfg = &pf->hw.port_info->qos_cfg.desired_dcbx_cfg; mutex_lock(&pf->tc_mutex); @@ -884,7 +886,7 @@ if (!test_bit(ICE_FLAG_DCB_ENA, pf->flags)) return; - dcbxcfg = &pi->local_dcbx_cfg; + dcbxcfg = &pi->qos_cfg.local_dcbx_cfg; for (i = 0; i < dcbxcfg->numapps; i++) { u8 prio, tc_map; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_ethtool.c @@ -8,6 +8,7 @@ #include "ice_fltr.h" #include "ice_lib.h" #include "ice_dcb_lib.h" +#include struct ice_stats { char stat_string[ETH_GSTRING_LEN]; @@ -1256,6 +1257,9 @@ status = ice_init_pf_dcb(pf, true); if (status) dev_warn(dev, "Fail to init DCB\n"); + + pf->dcbx_cap &= ~DCB_CAP_DCBX_LLD_MANAGED; + pf->dcbx_cap |= DCB_CAP_DCBX_HOST; } else { enum ice_status status; bool dcbx_agent_status; @@ -1298,6 +1302,9 @@ if (status) dev_dbg(dev, "Fail to enable MIB change events\n"); + pf->dcbx_cap &= ~DCB_CAP_DCBX_HOST; + pf->dcbx_cap |= DCB_CAP_DCBX_LLD_MANAGED; + ice_nway_reset(netdev); } } @@ -2862,7 +2869,7 @@ pause->rx_pause = 0; pause->tx_pause = 0; - dcbx_cfg = &pi->local_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.local_dcbx_cfg; pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); if (!pcaps) @@ -2914,7 +2921,7 @@ pi = vsi->port_info; hw_link_info = &pi->phy.link_info; - dcbx_cfg = &pi->local_dcbx_cfg; + dcbx_cfg = &pi->qos_cfg.local_dcbx_cfg; link_up = hw_link_info->link_info & ICE_AQ_LINK_UP; /* Changing the port's flow control is not supported if this isn't the @@ -3141,8 +3148,8 @@ */ static int ice_get_max_txq(struct ice_pf *pf) { - return min_t(int, num_online_cpus(), - pf->hw.func_caps.common_cap.num_txq); + return min3(pf->num_lan_msix, (u16)num_online_cpus(), + (u16)pf->hw.func_caps.common_cap.num_txq); } /** @@ -3151,8 +3158,8 @@ */ static int ice_get_max_rxq(struct ice_pf *pf) { - return min_t(int, num_online_cpus(), - pf->hw.func_caps.common_cap.num_rxq); + return min3(pf->num_lan_msix, (u16)num_online_cpus(), + (u16)pf->hw.func_caps.common_cap.num_rxq); } /** @@ -3205,6 +3212,18 @@ } /** + * ice_get_valid_rss_size - return valid number of RSS queues + * @hw: pointer to the HW structure + * @new_size: requested RSS queues + */ +static int ice_get_valid_rss_size(struct ice_hw *hw, int new_size) +{ + struct ice_hw_common_caps *caps = &hw->func_caps.common_cap; + + return min_t(int, new_size, BIT(caps->rss_table_entry_width)); +} + +/** * ice_vsi_set_dflt_rss_lut - set default RSS LUT with requested RSS size * @vsi: VSI to reconfigure RSS LUT on * @req_rss_size: requested range of queue numbers for hashing @@ -3231,14 +3250,10 @@ return -ENOMEM; /* set RSS LUT parameters */ - if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { + if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) vsi->rss_size = 1; - } else { - struct ice_hw_common_caps *caps = &hw->func_caps.common_cap; - - vsi->rss_size = min_t(int, req_rss_size, - BIT(caps->rss_table_entry_width)); - } + else + vsi->rss_size = ice_get_valid_rss_size(hw, req_rss_size); /* create/set RSS LUT */ ice_fill_rss_lut(lut, vsi->rss_table_size, vsi->rss_size); @@ -3317,9 +3332,12 @@ ice_vsi_recfg_qs(vsi, new_rx, new_tx); - if (new_rx && !netif_is_rxfh_configured(dev)) + if (!netif_is_rxfh_configured(dev)) return ice_vsi_set_dflt_rss_lut(vsi, new_rx); + /* Update rss_size due to change in Rx queues */ + vsi->rss_size = ice_get_valid_rss_size(&pf->hw, new_rx); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c @@ -1577,7 +1577,13 @@ sizeof(struct in6_addr)); input->ip.v6.l4_header = fsp->h_u.usr_ip6_spec.l4_4_bytes; input->ip.v6.tc = fsp->h_u.usr_ip6_spec.tclass; - input->ip.v6.proto = fsp->h_u.usr_ip6_spec.l4_proto; + + /* if no protocol requested, use IPPROTO_NONE */ + if (!fsp->m_u.usr_ip6_spec.l4_proto) + input->ip.v6.proto = IPPROTO_NONE; + else + input->ip.v6.proto = fsp->h_u.usr_ip6_spec.l4_proto; + memcpy(input->mask.v6.dst_ip, fsp->m_u.usr_ip6_spec.ip6dst, sizeof(struct in6_addr)); memcpy(input->mask.v6.src_ip, fsp->m_u.usr_ip6_spec.ip6src, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_flex_pipe.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_flex_pipe.c @@ -2922,6 +2922,8 @@ ICE_FLOW_ENTRY_HNDL(e)); list_del(&p->l_entry); + + mutex_destroy(&p->entries_lock); devm_kfree(ice_hw_to_dev(hw), p); } mutex_unlock(&hw->fl_profs_locks[blk_idx]); @@ -3039,7 +3041,7 @@ memset(prof_redir->t, 0, prof_redir->count * sizeof(*prof_redir->t)); - memset(es->t, 0, es->count * sizeof(*es->t)); + memset(es->t, 0, es->count * sizeof(*es->t) * es->fvw); memset(es->ref_count, 0, es->count * sizeof(*es->ref_count)); memset(es->written, 0, es->count * sizeof(*es->written)); } @@ -3150,10 +3152,12 @@ es->ref_count = devm_kcalloc(ice_hw_to_dev(hw), es->count, sizeof(*es->ref_count), GFP_KERNEL); + if (!es->ref_count) + goto err; es->written = devm_kcalloc(ice_hw_to_dev(hw), es->count, sizeof(*es->written), GFP_KERNEL); - if (!es->ref_count) + if (!es->written) goto err; } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_lib.c @@ -154,8 +154,9 @@ switch (vsi->type) { case ICE_VSI_PF: - vsi->alloc_txq = min_t(int, ice_get_avail_txq_count(pf), - num_online_cpus()); + vsi->alloc_txq = min3(pf->num_lan_msix, + ice_get_avail_txq_count(pf), + (u16)num_online_cpus()); if (vsi->req_txq) { vsi->alloc_txq = vsi->req_txq; vsi->num_txq = vsi->req_txq; @@ -167,8 +168,9 @@ if (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) { vsi->alloc_rxq = 1; } else { - vsi->alloc_rxq = min_t(int, ice_get_avail_rxq_count(pf), - num_online_cpus()); + vsi->alloc_rxq = min3(pf->num_lan_msix, + ice_get_avail_rxq_count(pf), + (u16)num_online_cpus()); if (vsi->req_rxq) { vsi->alloc_rxq = vsi->req_rxq; vsi->num_rxq = vsi->req_rxq; @@ -177,7 +179,9 @@ pf->num_lan_rx = vsi->alloc_rxq; - vsi->num_q_vectors = max_t(int, vsi->alloc_rxq, vsi->alloc_txq); + vsi->num_q_vectors = min_t(int, pf->num_lan_msix, + max_t(int, vsi->alloc_rxq, + vsi->alloc_txq)); break; case ICE_VSI_VF: vf = &pf->vf[vsi->vf_id]; @@ -240,7 +244,7 @@ * ice_vsi_delete - delete a VSI from the switch * @vsi: pointer to VSI being removed */ -void ice_vsi_delete(struct ice_vsi *vsi) +static void ice_vsi_delete(struct ice_vsi *vsi) { struct ice_pf *pf = vsi->back; struct ice_vsi_ctx *ctxt; @@ -307,7 +311,7 @@ * * Returns 0 on success, negative on failure */ -int ice_vsi_clear(struct ice_vsi *vsi) +static int ice_vsi_clear(struct ice_vsi *vsi) { struct ice_pf *pf = NULL; struct device *dev; @@ -557,7 +561,7 @@ * ice_vsi_put_qs - Release queues from VSI to PF * @vsi: the VSI that is going to release queues */ -void ice_vsi_put_qs(struct ice_vsi *vsi) +static void ice_vsi_put_qs(struct ice_vsi *vsi) { struct ice_pf *pf = vsi->back; int i; @@ -1190,6 +1194,18 @@ { int i; + /* Avoid stale references by clearing map from vector to ring */ + if (vsi->q_vectors) { + ice_for_each_q_vector(vsi, i) { + struct ice_q_vector *q_vector = vsi->q_vectors[i]; + + if (q_vector) { + q_vector->tx.ring = NULL; + q_vector->rx.ring = NULL; + } + } + } + if (vsi->tx_rings) { for (i = 0; i < vsi->alloc_txq; i++) { if (vsi->tx_rings[i]) { @@ -2024,7 +2040,7 @@ static void ice_vsi_set_tc_cfg(struct ice_vsi *vsi) { - struct ice_dcbx_cfg *cfg = &vsi->port_info->local_dcbx_cfg; + struct ice_dcbx_cfg *cfg = &vsi->port_info->qos_cfg.local_dcbx_cfg; vsi->tc_cfg.ena_tc = ice_dcb_get_ena_tc(cfg); vsi->tc_cfg.numtc = ice_dcb_get_num_tc(cfg); @@ -2254,7 +2270,7 @@ if (status) { dev_err(dev, "VSI %d failed lan queue config, error %s\n", vsi->vsi_num, ice_stat_str(status)); - goto unroll_vector_base; + goto unroll_clear_rings; } /* Add switch rule to drop all Tx Flow Control Frames, of look up @@ -2435,7 +2451,7 @@ if (!locked) rtnl_lock(); - err = ice_open(vsi->netdev); + err = ice_open_internal(vsi->netdev); if (!locked) rtnl_unlock(); @@ -2464,7 +2480,7 @@ if (!locked) rtnl_lock(); - ice_stop(vsi->netdev); + ice_vsi_close(vsi); if (!locked) rtnl_unlock(); @@ -2888,7 +2904,6 @@ bool ice_is_reset_in_progress(unsigned long *state) { return test_bit(__ICE_RESET_OICR_RECV, state) || - test_bit(__ICE_DCBNL_DEVRESET, state) || test_bit(__ICE_PFR_REQ, state) || test_bit(__ICE_CORER_REQ, state) || test_bit(__ICE_GLOBR_REQ, state); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_lib.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_lib.h @@ -43,10 +43,6 @@ void ice_cfg_sw_lldp(struct ice_vsi *vsi, bool tx, bool create); -void ice_vsi_delete(struct ice_vsi *vsi); - -int ice_vsi_clear(struct ice_vsi *vsi); - #ifdef CONFIG_DCB int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc); #endif /* CONFIG_DCB */ @@ -77,8 +73,6 @@ void ice_write_qrxflxp_cntxt(struct ice_hw *hw, u16 pf_q, u32 rxdid, u32 prio); -void ice_vsi_put_qs(struct ice_vsi *vsi); - void ice_vsi_dis_irq(struct ice_vsi *vsi); void ice_vsi_free_irq(struct ice_vsi *vsi); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_main.c @@ -2605,10 +2605,8 @@ return -EBUSY; vsi = ice_pf_vsi_setup(pf, pf->hw.port_info); - if (!vsi) { - status = -ENOMEM; - goto unroll_vsi_setup; - } + if (!vsi) + return -ENOMEM; status = ice_cfg_netdev(vsi); if (status) { @@ -2655,12 +2653,7 @@ } unroll_vsi_setup: - if (vsi) { - ice_vsi_free_q_vectors(vsi); - ice_vsi_delete(vsi); - ice_vsi_put_qs(vsi); - ice_vsi_clear(vsi); - } + ice_vsi_release(vsi); return status; } @@ -2863,18 +2856,14 @@ if (v_actual < v_budget) { dev_warn(dev, "not enough OS MSI-X vectors. requested = %d, obtained = %d\n", v_budget, v_actual); -/* 2 vectors each for LAN and RDMA (traffic + OICR), one for flow director */ -#define ICE_MIN_LAN_VECS 2 -#define ICE_MIN_RDMA_VECS 2 -#define ICE_MIN_VECS (ICE_MIN_LAN_VECS + ICE_MIN_RDMA_VECS + 1) - if (v_actual < ICE_MIN_LAN_VECS) { + if (v_actual < ICE_MIN_MSIX) { /* error if we can't get minimum vectors */ pci_disable_msix(pf->pdev); err = -ERANGE; goto msix_err; } else { - pf->num_lan_msix = ICE_MIN_LAN_VECS; + pf->num_lan_msix = ICE_MIN_LAN_TXRX_MSIX; } } @@ -3845,9 +3834,15 @@ goto err_update_filters; } - /* Add filter for new MAC. If filter exists, just return success */ + /* Add filter for new MAC. If filter exists, return success */ status = ice_fltr_add_mac(vsi, mac, ICE_FWD_TO_VSI); if (status == ICE_ERR_ALREADY_EXISTS) { + /* Although this MAC filter is already present in hardware it's + * possible in some cases (e.g. bonding) that dev_addr was + * modified outside of the driver and needs to be restored back + * to this value. + */ + memcpy(netdev->dev_addr, mac, netdev->addr_len); netdev_dbg(netdev, "filter for MAC %pM already exists\n", mac); return 0; } @@ -5640,6 +5635,28 @@ int ice_open(struct net_device *netdev) { struct ice_netdev_priv *np = netdev_priv(netdev); + struct ice_pf *pf = np->vsi->back; + + if (ice_is_reset_in_progress(pf->state)) { + netdev_err(netdev, "can't open net device while reset is in progress"); + return -EBUSY; + } + + return ice_open_internal(netdev); +} + +/** + * ice_open_internal - Called when a network interface becomes active + * @netdev: network interface device structure + * + * Internal ice_open implementation. Should not be used directly except for ice_open and reset + * handling routine + * + * Returns 0 on success, negative value on failure + */ +int ice_open_internal(struct net_device *netdev) +{ + struct ice_netdev_priv *np = netdev_priv(netdev); struct ice_vsi *vsi = np->vsi; struct ice_pf *pf = vsi->back; struct ice_port_info *pi; @@ -5708,6 +5725,12 @@ { struct ice_netdev_priv *np = netdev_priv(netdev); struct ice_vsi *vsi = np->vsi; + struct ice_pf *pf = vsi->back; + + if (ice_is_reset_in_progress(pf->state)) { + netdev_err(netdev, "can't stop net device while reset is in progress"); + return -EBUSY; + } ice_vsi_close(vsi); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_switch.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_switch.c @@ -1242,6 +1242,9 @@ ice_create_vsi_list_map(hw, &vsi_handle_arr[0], 2, vsi_list_id); + if (!m_entry->vsi_list_info) + return ICE_ERR_NO_MEMORY; + /* If this entry was large action then the large action needs * to be updated to point to FWD to VSI list */ @@ -2226,6 +2229,7 @@ return ((fm_entry->fltr_info.fltr_act == ICE_FWD_TO_VSI && fm_entry->fltr_info.vsi_handle == vsi_handle) || (fm_entry->fltr_info.fltr_act == ICE_FWD_TO_VSI_LIST && + fm_entry->vsi_list_info && (test_bit(vsi_handle, fm_entry->vsi_list_info->vsi_map)))); } @@ -2298,14 +2302,12 @@ return ICE_ERR_PARAM; list_for_each_entry(fm_entry, lkup_list_head, list_entry) { - struct ice_fltr_info *fi; - - fi = &fm_entry->fltr_info; - if (!fi || !ice_vsi_uses_fltr(fm_entry, vsi_handle)) + if (!ice_vsi_uses_fltr(fm_entry, vsi_handle)) continue; status = ice_add_entry_to_vsi_fltr_list(hw, vsi_handle, - vsi_list_head, fi); + vsi_list_head, + &fm_entry->fltr_info); if (status) return status; } @@ -2628,7 +2630,7 @@ &remove_list_head); mutex_unlock(rule_lock); if (status) - return; + goto free_fltr_list; switch (lkup) { case ICE_SW_LKUP_MAC: @@ -2651,6 +2653,7 @@ break; } +free_fltr_list: list_for_each_entry_safe(fm_entry, tmp, &remove_list_head, list_entry) { list_del(&fm_entry->list_entry); devm_kfree(ice_hw_to_dev(hw), fm_entry); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_txrx.c @@ -1919,12 +1919,15 @@ ICE_TX_CTX_EIPT_IPV4_NO_CSUM; l4_proto = ip.v4->protocol; } else if (first->tx_flags & ICE_TX_FLAGS_IPV6) { + int ret; + tunnel |= ICE_TX_CTX_EIPT_IPV6; exthdr = ip.hdr + sizeof(*ip.v6); l4_proto = ip.v6->nexthdr; - if (l4.hdr != exthdr) - ipv6_skip_exthdr(skb, exthdr - skb->data, - &l4_proto, &frag_off); + ret = ipv6_skip_exthdr(skb, exthdr - skb->data, + &l4_proto, &frag_off); + if (ret < 0) + return -1; } /* define outer transport */ @@ -2394,7 +2397,7 @@ /* allow CONTROL frames egress from main VSI if FW LLDP disabled */ if (unlikely(skb->priority == TC_PRIO_CONTROL && vsi->type == ICE_VSI_PF && - vsi->port_info->is_sw_lldp)) + vsi->port_info->qos_cfg.is_sw_lldp)) offload.cd_qw1 |= (u64)(ICE_TX_DESC_DTYPE_CTX | ICE_TX_CTX_DESC_SWTCH_UPLINK << ICE_TXD_CTX_QW1_CMD_S); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_type.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_type.h @@ -440,6 +440,7 @@ #define ICE_TLV_STATUS_ERR 0x4 #define ICE_APP_PROT_ID_FCOE 0x8906 #define ICE_APP_PROT_ID_ISCSI 0x0cbc +#define ICE_APP_PROT_ID_ISCSI_860 0x035c #define ICE_APP_PROT_ID_FIP 0x8914 #define ICE_APP_SEL_ETHTYPE 0x1 #define ICE_APP_SEL_TCPIP 0x2 @@ -460,6 +461,14 @@ #define ICE_DCBX_APPS_NON_WILLING 0x1 }; +struct ice_qos_cfg { + struct ice_dcbx_cfg local_dcbx_cfg; /* Oper/Local Cfg */ + struct ice_dcbx_cfg desired_dcbx_cfg; /* CEE Desired Cfg */ + struct ice_dcbx_cfg remote_dcbx_cfg; /* Peer Cfg */ + u8 dcbx_status : 3; /* see ICE_DCBX_STATUS_DIS */ + u8 is_sw_lldp : 1; +}; + struct ice_port_info { struct ice_sched_node *root; /* Root Node per Port */ struct ice_hw *hw; /* back pointer to HW instance */ @@ -483,13 +492,7 @@ sib_head[ICE_MAX_TRAFFIC_CLASS][ICE_AQC_TOPO_MAX_LEVEL_NUM]; /* List contain profile ID(s) and other params per layer */ struct list_head rl_prof_list[ICE_AQC_TOPO_MAX_LEVEL_NUM]; - struct ice_dcbx_cfg local_dcbx_cfg; /* Oper/Local Cfg */ - /* DCBX info */ - struct ice_dcbx_cfg remote_dcbx_cfg; /* Peer Cfg */ - struct ice_dcbx_cfg desired_dcbx_cfg; /* CEE Desired Cfg */ - /* LLDP/DCBX Status */ - u8 dcbx_status:3; /* see ICE_DCBX_STATUS_DIS */ - u8 is_sw_lldp:1; + struct ice_qos_cfg qos_cfg; u8 is_vf:1; }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c @@ -1902,6 +1902,29 @@ } /** + * ice_vc_get_max_frame_size - get max frame size allowed for VF + * @vf: VF used to determine max frame size + * + * 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 ice_vc_get_max_frame_size(struct ice_vf *vf) +{ + struct ice_vsi *vsi = vf->pf->vsi[vf->lan_vsi_idx]; + struct ice_port_info *pi = vsi->port_info; + u16 max_frame_size; + + max_frame_size = pi->phy.link_info.max_frame_size; + + if (vf->port_vlan_info) + max_frame_size -= VLAN_HLEN; + + return max_frame_size; +} + +/** * ice_vc_get_vf_res_msg * @vf: pointer to the VF info * @msg: pointer to the msg buffer @@ -1983,6 +2006,7 @@ vfres->max_vectors = pf->num_msix_per_vf; vfres->rss_key_size = ICE_VSIQF_HKEY_ARRAY_SIZE; vfres->rss_lut_size = ICE_VSIQF_HLUT_ARRAY_SIZE; + vfres->max_mtu = ice_vc_get_max_frame_size(vf); vfres->vsi_res[0].vsi_id = vf->lan_vsi_num; vfres->vsi_res[0].vsi_type = VIRTCHNL_VSI_SRIOV; @@ -2975,6 +2999,8 @@ /* copy Rx queue info from VF into VSI */ if (qpi->rxq.ring_len > 0) { + u16 max_frame_size = ice_vc_get_max_frame_size(vf); + num_rxq++; vsi->rx_rings[i]->dma = qpi->rxq.dma_ring_addr; vsi->rx_rings[i]->count = qpi->rxq.ring_len; @@ -2987,7 +3013,7 @@ } vsi->rx_buf_len = qpi->rxq.databuffer_size; vsi->rx_rings[i]->rx_buf_len = vsi->rx_buf_len; - if (qpi->rxq.max_pkt_size >= (16 * 1024) || + if (qpi->rxq.max_pkt_size > max_frame_size || qpi->rxq.max_pkt_size < 64) { v_ret = VIRTCHNL_STATUS_ERR_PARAM; goto error_param; @@ -2995,6 +3021,11 @@ } vsi->max_frame = qpi->rxq.max_pkt_size; + /* add space for the port VLAN since the VF driver is not + * expected to account for it in the MTU calculation + */ + if (vf->port_vlan_info) + vsi->max_frame += VLAN_HLEN; } /* VF can request to configure less than allocated queues --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ice/ice_xsk.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ice/ice_xsk.c @@ -445,8 +445,11 @@ } } while (--count); - if (rx_ring->next_to_use != ntu) + if (rx_ring->next_to_use != ntu) { + /* clear the status bits for the next_to_use descriptor */ + rx_desc->wb.status_error0 = 0; ice_release_rx_desc(rx_ring, ntu); + } return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igb/igb_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igb/igb_main.c @@ -4328,8 +4328,7 @@ else mrqc |= E1000_MRQC_ENABLE_VMDQ; } else { - if (hw->mac.type != e1000_i211) - mrqc |= E1000_MRQC_ENABLE_RSS_MQ; + mrqc |= E1000_MRQC_ENABLE_RSS_MQ; } igb_vmm_control(adapter); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc.h @@ -298,18 +298,14 @@ #define IGC_RX_HDR_LEN IGC_RXBUFFER_256 /* Transmit and receive latency (for PTP timestamps) */ -/* FIXME: These values were estimated using the ones that i225 has as - * basis, they seem to provide good numbers with ptp4l/phc2sys, but we - * need to confirm them. - */ -#define IGC_I225_TX_LATENCY_10 9542 -#define IGC_I225_TX_LATENCY_100 1024 -#define IGC_I225_TX_LATENCY_1000 178 -#define IGC_I225_TX_LATENCY_2500 64 -#define IGC_I225_RX_LATENCY_10 20662 -#define IGC_I225_RX_LATENCY_100 2213 -#define IGC_I225_RX_LATENCY_1000 448 -#define IGC_I225_RX_LATENCY_2500 160 +#define IGC_I225_TX_LATENCY_10 240 +#define IGC_I225_TX_LATENCY_100 58 +#define IGC_I225_TX_LATENCY_1000 80 +#define IGC_I225_TX_LATENCY_2500 1325 +#define IGC_I225_RX_LATENCY_10 6450 +#define IGC_I225_RX_LATENCY_100 185 +#define IGC_I225_RX_LATENCY_1000 300 +#define IGC_I225_RX_LATENCY_2500 1485 /* RX and TX descriptor control thresholds. * PTHRESH - MAC will consider prefetch if it has fewer than this number of @@ -547,7 +543,7 @@ void igc_ptp_suspend(struct igc_adapter *adapter); void igc_ptp_stop(struct igc_adapter *adapter); void igc_ptp_rx_rgtstamp(struct igc_q_vector *q_vector, struct sk_buff *skb); -void igc_ptp_rx_pktstamp(struct igc_q_vector *q_vector, void *va, +void igc_ptp_rx_pktstamp(struct igc_q_vector *q_vector, __le32 *va, struct sk_buff *skb); int igc_ptp_set_ts_config(struct net_device *netdev, struct ifreq *ifr); int igc_ptp_get_ts_config(struct net_device *netdev, struct ifreq *ifr); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1588,12 +1588,18 @@ cmd->base.phy_address = hw->phy.addr; /* advertising link modes */ - ethtool_link_ksettings_add_link_mode(cmd, advertising, 10baseT_Half); - ethtool_link_ksettings_add_link_mode(cmd, advertising, 10baseT_Full); - ethtool_link_ksettings_add_link_mode(cmd, advertising, 100baseT_Half); - ethtool_link_ksettings_add_link_mode(cmd, advertising, 100baseT_Full); - ethtool_link_ksettings_add_link_mode(cmd, advertising, 1000baseT_Full); - ethtool_link_ksettings_add_link_mode(cmd, advertising, 2500baseT_Full); + if (hw->phy.autoneg_advertised & ADVERTISE_10_HALF) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 10baseT_Half); + if (hw->phy.autoneg_advertised & ADVERTISE_10_FULL) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 10baseT_Full); + if (hw->phy.autoneg_advertised & ADVERTISE_100_HALF) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 100baseT_Half); + if (hw->phy.autoneg_advertised & ADVERTISE_100_FULL) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 100baseT_Full); + if (hw->phy.autoneg_advertised & ADVERTISE_1000_FULL) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 1000baseT_Full); + if (hw->phy.autoneg_advertised & ADVERTISE_2500_FULL) + ethtool_link_ksettings_add_link_mode(cmd, advertising, 2500baseT_Full); /* set autoneg settings */ if (hw->mac.autoneg == 1) { @@ -1602,6 +1608,9 @@ Autoneg); } + /* Set pause flow control settings */ + ethtool_link_ksettings_add_link_mode(cmd, supported, Pause); + switch (hw->fc.requested_mode) { case igc_fc_full: ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause); @@ -1616,12 +1625,11 @@ Asym_Pause); break; default: - ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause); - ethtool_link_ksettings_add_link_mode(cmd, advertising, - Asym_Pause); + break; } - status = rd32(IGC_STATUS); + status = pm_runtime_suspended(&adapter->pdev->dev) ? + 0 : rd32(IGC_STATUS); if (status & IGC_STATUS_LU) { if (status & IGC_STATUS_SPEED_1000) { @@ -1705,6 +1713,12 @@ ethtool_convert_link_mode_to_legacy_u32(&advertising, cmd->link_modes.advertising); + /* Converting to legacy u32 drops ETHTOOL_LINK_MODE_2500baseT_Full_BIT. + * We have to check this and convert it to ADVERTISE_2500_FULL + * (aka ETHTOOL_LINK_MODE_2500baseX_Full_BIT) explicitly. + */ + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, 2500baseT_Full)) + advertising |= ADVERTISE_2500_FULL; if (cmd->base.autoneg == AUTONEG_ENABLE) { hw->mac.autoneg = 1; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc_i225.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc_i225.c @@ -219,9 +219,9 @@ u16 *data) { struct igc_nvm_info *nvm = &hw->nvm; + s32 ret_val = -IGC_ERR_NVM; u32 attempts = 100000; u32 i, k, eewr = 0; - s32 ret_val = 0; /* A check for invalid values: offset too large, too many words, * too many words for the offset, and not enough words. @@ -229,7 +229,6 @@ if (offset >= nvm->word_size || (words > (nvm->word_size - offset)) || words == 0) { hw_dbg("nvm parameter(s) out of bounds\n"); - ret_val = -IGC_ERR_NVM; goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc_mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc_mac.c @@ -642,7 +642,7 @@ } out: - return 0; + return ret_val; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc_main.c @@ -3870,10 +3870,19 @@ adapter = container_of(work, struct igc_adapter, reset_task); + rtnl_lock(); + /* If we're already down or resetting, just bail */ + if (test_bit(__IGC_DOWN, &adapter->state) || + test_bit(__IGC_RESETTING, &adapter->state)) { + rtnl_unlock(); + return; + } + igc_rings_dump(adapter); igc_regs_dump(adapter); netdev_err(adapter->netdev, "Reset adapter\n"); igc_reinit_locked(adapter); + rtnl_unlock(); } /** @@ -3915,21 +3924,23 @@ } /** - * igc_get_stats - Get System Network Statistics + * igc_get_stats64 - Get System Network Statistics * @netdev: network interface device structure + * @stats: rtnl_link_stats64 pointer * * Returns the address of the device statistics structure. * The statistics are updated here and also from the timer callback. */ -static struct net_device_stats *igc_get_stats(struct net_device *netdev) +static void igc_get_stats64(struct net_device *netdev, + struct rtnl_link_stats64 *stats) { struct igc_adapter *adapter = netdev_priv(netdev); + spin_lock(&adapter->stats64_lock); if (!test_bit(__IGC_RESETTING, &adapter->state)) igc_update_stats(adapter); - - /* only return the current stats */ - return &netdev->stats; + memcpy(stats, &adapter->stats64, sizeof(*stats)); + spin_unlock(&adapter->stats64_lock); } static netdev_features_t igc_fix_features(struct net_device *netdev, @@ -4849,7 +4860,7 @@ .ndo_set_rx_mode = igc_set_rx_mode, .ndo_set_mac_address = igc_set_mac, .ndo_change_mtu = igc_change_mtu, - .ndo_get_stats = igc_get_stats, + .ndo_get_stats64 = igc_get_stats64, .ndo_fix_features = igc_fix_features, .ndo_set_features = igc_set_features, .ndo_features_check = igc_features_check, @@ -5158,6 +5169,8 @@ device_set_wakeup_enable(&adapter->pdev->dev, adapter->flags & IGC_FLAG_WOL_SUPPORTED); + igc_ptp_init(adapter); + /* reset the hardware with the new settings */ igc_reset(adapter); @@ -5174,9 +5187,6 @@ /* carrier off reporting is important to ethtool even BEFORE open */ netif_carrier_off(netdev); - /* do hw tstamp init after resetting */ - igc_ptp_init(adapter); - /* Check if Media Autosense is enabled */ adapter->ei = *ei; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/igc/igc_ptp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/igc/igc_ptp.c @@ -160,46 +160,54 @@ } /** - * igc_ptp_rx_pktstamp - retrieve Rx per packet timestamp + * igc_ptp_rx_pktstamp - Retrieve timestamp from Rx packet buffer * @q_vector: Pointer to interrupt specific structure * @va: Pointer to address containing Rx buffer * @skb: Buffer containing timestamp and packet * - * This function is meant to retrieve the first timestamp from the - * first buffer of an incoming frame. The value is stored in little - * endian format starting on byte 0. There's a second timestamp - * starting on byte 8. - **/ -void igc_ptp_rx_pktstamp(struct igc_q_vector *q_vector, void *va, + * This function retrieves the timestamp saved in the beginning of packet + * buffer. While two timestamps are available, one in timer0 reference and the + * other in timer1 reference, this function considers only the timestamp in + * timer0 reference. + */ +void igc_ptp_rx_pktstamp(struct igc_q_vector *q_vector, __le32 *va, struct sk_buff *skb) { struct igc_adapter *adapter = q_vector->adapter; - __le64 *regval = (__le64 *)va; - int adjust = 0; + u64 regval; + int adjust; - /* The timestamp is recorded in little endian format. - * DWORD: | 0 | 1 | 2 | 3 - * Field: | Timer0 Low | Timer0 High | Timer1 Low | Timer1 High + /* Timestamps are saved in little endian at the beginning of the packet + * buffer following the layout: + * + * DWORD: | 0 | 1 | 2 | 3 | + * Field: | Timer1 SYSTIML | Timer1 SYSTIMH | Timer0 SYSTIML | Timer0 SYSTIMH | + * + * SYSTIML holds the nanoseconds part while SYSTIMH holds the seconds + * part of the timestamp. */ - igc_ptp_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), - le64_to_cpu(regval[0])); + regval = le32_to_cpu(va[2]); + regval |= (u64)le32_to_cpu(va[3]) << 32; + igc_ptp_systim_to_hwtstamp(adapter, skb_hwtstamps(skb), regval); - /* adjust timestamp for the RX latency based on link speed */ - if (adapter->hw.mac.type == igc_i225) { - switch (adapter->link_speed) { - case SPEED_10: - adjust = IGC_I225_RX_LATENCY_10; - break; - case SPEED_100: - adjust = IGC_I225_RX_LATENCY_100; - break; - case SPEED_1000: - adjust = IGC_I225_RX_LATENCY_1000; - break; - case SPEED_2500: - adjust = IGC_I225_RX_LATENCY_2500; - break; - } + /* Adjust timestamp for the RX latency based on link speed */ + switch (adapter->link_speed) { + case SPEED_10: + adjust = IGC_I225_RX_LATENCY_10; + break; + case SPEED_100: + adjust = IGC_I225_RX_LATENCY_100; + break; + case SPEED_1000: + adjust = IGC_I225_RX_LATENCY_1000; + break; + case SPEED_2500: + adjust = IGC_I225_RX_LATENCY_2500; + break; + default: + adjust = 0; + netdev_warn_once(adapter->netdev, "Imprecise timestamp\n"); + break; } skb_hwtstamps(skb)->hwtstamp = ktime_sub_ns(skb_hwtstamps(skb)->hwtstamp, adjust); @@ -471,12 +479,31 @@ struct sk_buff *skb = adapter->ptp_tx_skb; struct skb_shared_hwtstamps shhwtstamps; struct igc_hw *hw = &adapter->hw; + int adjust = 0; u64 regval; regval = rd32(IGC_TXSTMPL); regval |= (u64)rd32(IGC_TXSTMPH) << 32; igc_ptp_systim_to_hwtstamp(adapter, &shhwtstamps, regval); + switch (adapter->link_speed) { + case SPEED_10: + adjust = IGC_I225_TX_LATENCY_10; + break; + case SPEED_100: + adjust = IGC_I225_TX_LATENCY_100; + break; + case SPEED_1000: + adjust = IGC_I225_TX_LATENCY_1000; + break; + case SPEED_2500: + adjust = IGC_I225_TX_LATENCY_2500; + break; + } + + shhwtstamps.hwtstamp = + ktime_add_ns(shhwtstamps.hwtstamp, adjust); + /* Clear the lock early before calling skb_tstamp_tx so that * applications are not woken up before the lock bit is clear. We use * a copy of the skb pointer to ensure other threads can't change it @@ -608,8 +635,6 @@ adapter->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE; adapter->tstamp_config.tx_type = HWTSTAMP_TX_OFF; - igc_ptp_reset(adapter); - adapter->ptp_clock = ptp_clock_register(&adapter->ptp_caps, &adapter->pdev->dev); if (IS_ERR(adapter->ptp_clock)) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c @@ -192,7 +192,7 @@ } /* alloc the udl from per cpu ddp pool */ - ddp->udl = dma_pool_alloc(ddp_pool->pool, GFP_KERNEL, &ddp->udp); + ddp->udl = dma_pool_alloc(ddp_pool->pool, GFP_ATOMIC, &ddp->udp); if (!ddp->udl) { e_err(drv, "failed allocated ddp context\n"); goto out_noddp_unmap; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c @@ -575,6 +575,11 @@ return -EINVAL; } + if (xs->props.mode != XFRM_MODE_TRANSPORT) { + netdev_err(dev, "Unsupported mode for ipsec offload\n"); + return -EINVAL; + } + if (ixgbe_ipsec_check_mgmt_ip(xs)) { netdev_err(dev, "IPsec IP addr clash with mgmt filters\n"); return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -1947,7 +1947,8 @@ return (page_to_nid(page) != numa_mem_id()) || page_is_pfmemalloc(page); } -static bool ixgbe_can_reuse_rx_page(struct ixgbe_rx_buffer *rx_buffer) +static bool ixgbe_can_reuse_rx_page(struct ixgbe_rx_buffer *rx_buffer, + int rx_buffer_pgcnt) { unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; struct page *page = rx_buffer->page; @@ -1958,7 +1959,7 @@ #if (PAGE_SIZE < 8192) /* if we are only owner of page we can reuse it */ - if (unlikely((page_ref_count(page) - pagecnt_bias) > 1)) + if (unlikely((rx_buffer_pgcnt - pagecnt_bias) > 1)) return false; #else /* The last offset is a bit aggressive in that we assume the @@ -2023,11 +2024,18 @@ static struct ixgbe_rx_buffer *ixgbe_get_rx_buffer(struct ixgbe_ring *rx_ring, union ixgbe_adv_rx_desc *rx_desc, struct sk_buff **skb, - const unsigned int size) + const unsigned int size, + int *rx_buffer_pgcnt) { struct ixgbe_rx_buffer *rx_buffer; rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; + *rx_buffer_pgcnt = +#if (PAGE_SIZE < 8192) + page_count(rx_buffer->page); +#else + 0; +#endif prefetchw(rx_buffer->page); *skb = rx_buffer->skb; @@ -2057,9 +2065,10 @@ static void ixgbe_put_rx_buffer(struct ixgbe_ring *rx_ring, struct ixgbe_rx_buffer *rx_buffer, - struct sk_buff *skb) + struct sk_buff *skb, + int rx_buffer_pgcnt) { - if (ixgbe_can_reuse_rx_page(rx_buffer)) { + if (ixgbe_can_reuse_rx_page(rx_buffer, rx_buffer_pgcnt)) { /* hand second half of page back to the ring */ ixgbe_reuse_rx_page(rx_ring, rx_buffer); } else { @@ -2310,6 +2319,7 @@ union ixgbe_adv_rx_desc *rx_desc; struct ixgbe_rx_buffer *rx_buffer; struct sk_buff *skb; + int rx_buffer_pgcnt; unsigned int size; /* return some buffers to hardware, one at a time is too slow */ @@ -2329,7 +2339,7 @@ */ dma_rmb(); - rx_buffer = ixgbe_get_rx_buffer(rx_ring, rx_desc, &skb, size); + rx_buffer = ixgbe_get_rx_buffer(rx_ring, rx_desc, &skb, size, &rx_buffer_pgcnt); /* retrieve a buffer from the ring */ if (!skb) { @@ -2374,7 +2384,7 @@ break; } - ixgbe_put_rx_buffer(rx_ring, rx_buffer, skb); + ixgbe_put_rx_buffer(rx_ring, rx_buffer, skb, rx_buffer_pgcnt); cleaned_count++; /* place incomplete frames back on ring for completion */ @@ -9582,8 +9592,10 @@ ixgbe_atr_compute_perfect_hash_82599(&input->filter, mask); err = ixgbe_fdir_write_perfect_filter_82599(hw, &input->filter, input->sw_idx, queue); - if (!err) - ixgbe_update_ethtool_fdir_entry(adapter, input, input->sw_idx); + if (err) + goto err_out_w_lock; + + ixgbe_update_ethtool_fdir_entry(adapter, input, input->sw_idx); spin_unlock(&adapter->fdir_perfect_lock); if ((uhtid != 0x800) && (adapter->jump_tables[uhtid])) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/intel/ixgbevf/ipsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/intel/ixgbevf/ipsec.c @@ -272,6 +272,11 @@ return -EINVAL; } + if (xs->props.mode != XFRM_MODE_TRANSPORT) { + netdev_err(dev, "Unsupported mode for ipsec offload\n"); + return -EINVAL; + } + if (xs->xso.flags & XFRM_OFFLOAD_INBOUND) { struct rx_sa rsa; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/korina.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/korina.c @@ -219,7 +219,7 @@ dev_kfree_skb_any(skb); spin_unlock_irqrestore(&lp->lock, flags); - return NETDEV_TX_BUSY; + return NETDEV_TX_OK; } } @@ -1113,7 +1113,7 @@ return rc; probe_err_register: - kfree(lp->td_ring); + kfree((struct dma_desc *)KSEG0ADDR(lp->td_ring)); probe_err_td_ring: iounmap(lp->tx_dma_regs); probe_err_dma_tx: @@ -1133,6 +1133,7 @@ iounmap(lp->eth_regs); iounmap(lp->rx_dma_regs); iounmap(lp->tx_dma_regs); + kfree((struct dma_desc *)KSEG0ADDR(lp->td_ring)); unregister_netdev(bif->dev); free_netdev(bif->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/lantiq_xrx200.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/lantiq_xrx200.c @@ -230,8 +230,8 @@ } if (rx < budget) { - napi_complete(&ch->napi); - ltq_dma_enable_irq(&ch->dma); + if (napi_complete_done(&ch->napi, rx)) + ltq_dma_enable_irq(&ch->dma); } return rx; @@ -245,6 +245,7 @@ int pkts = 0; int bytes = 0; + netif_tx_lock(net_dev); while (pkts < budget) { struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->tx_free]; @@ -268,9 +269,13 @@ net_dev->stats.tx_bytes += bytes; netdev_completed_queue(ch->priv->net_dev, pkts, bytes); + netif_tx_unlock(net_dev); + if (netif_queue_stopped(net_dev)) + netif_wake_queue(net_dev); + if (pkts < budget) { - napi_complete(&ch->napi); - ltq_dma_enable_irq(&ch->dma); + if (napi_complete_done(&ch->napi, pkts)) + ltq_dma_enable_irq(&ch->dma); } return pkts; @@ -342,10 +347,12 @@ { struct xrx200_chan *ch = ptr; - ltq_dma_disable_irq(&ch->dma); - ltq_dma_ack_irq(&ch->dma); + if (napi_schedule_prep(&ch->napi)) { + __napi_schedule(&ch->napi); + ltq_dma_disable_irq(&ch->dma); + } - napi_schedule(&ch->napi); + ltq_dma_ack_irq(&ch->dma); return IRQ_HANDLED; } @@ -499,7 +506,7 @@ /* setup NAPI */ netif_napi_add(net_dev, &priv->chan_rx.napi, xrx200_poll_rx, 32); - netif_napi_add(net_dev, &priv->chan_tx.napi, xrx200_tx_housekeeping, 32); + netif_tx_napi_add(net_dev, &priv->chan_tx.napi, xrx200_tx_housekeeping, 32); platform_set_drvdata(pdev, priv); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/mvneta.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/mvneta.c @@ -3372,27 +3372,20 @@ txq->last_desc = txq->size - 1; txq->buf = kmalloc_array(txq->size, sizeof(*txq->buf), GFP_KERNEL); - if (!txq->buf) { - dma_free_coherent(pp->dev->dev.parent, - txq->size * MVNETA_DESC_ALIGNED_SIZE, - txq->descs, txq->descs_phys); + if (!txq->buf) return -ENOMEM; - } /* Allocate DMA buffers for TSO MAC/IP/TCP headers */ txq->tso_hdrs = dma_alloc_coherent(pp->dev->dev.parent, txq->size * TSO_HEADER_SIZE, &txq->tso_hdrs_phys, GFP_KERNEL); - if (!txq->tso_hdrs) { - kfree(txq->buf); - dma_free_coherent(pp->dev->dev.parent, - txq->size * MVNETA_DESC_ALIGNED_SIZE, - txq->descs, txq->descs_phys); + if (!txq->tso_hdrs) return -ENOMEM; - } /* Setup XPS mapping */ - if (txq_number > 1) + if (pp->neta_armada3700) + cpu = 0; + else if (txq_number > 1) cpu = txq->id % num_present_cpus(); else cpu = pp->rxq_def % num_present_cpus(); @@ -4159,6 +4152,11 @@ node_online); struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); + /* Armada 3700's per-cpu interrupt for mvneta is broken, all interrupts + * are routed to CPU 0, so we don't need all the cpu-hotplug support + */ + if (pp->neta_armada3700) + return 0; spin_lock(&pp->lock); /* @@ -4381,7 +4379,7 @@ struct bpf_prog *old_prog; if (prog && dev->mtu > MVNETA_MAX_RX_BUF_SIZE) { - NL_SET_ERR_MSG_MOD(extack, "Jumbo frames not supported on XDP"); + NL_SET_ERR_MSG_MOD(extack, "MTU too large for XDP"); return -EOPNOTSUPP; } @@ -5209,7 +5207,7 @@ err = mvneta_port_power_up(pp, pp->phy_interface); if (err < 0) { dev_err(&pdev->dev, "can't power up port\n"); - return err; + goto err_netdev; } /* Armada3700 network controller does not support per-cpu --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -1076,7 +1076,7 @@ u32 val; /* If the thread isn't used, don't do anything */ - if (smp_processor_id() > port->priv->nthreads) + if (smp_processor_id() >= port->priv->nthreads) return; val = MVPP2_CAUSE_MISC_SUM_MASK | @@ -1132,7 +1132,7 @@ regmap_read(priv->sysctrl_base, GENCONF_CTRL0, &val); if (port->gop_id == 2) - val |= GENCONF_CTRL0_PORT0_RGMII | GENCONF_CTRL0_PORT1_RGMII; + val |= GENCONF_CTRL0_PORT0_RGMII; else if (port->gop_id == 3) val |= GENCONF_CTRL0_PORT1_RGMII_MII; regmap_write(priv->sysctrl_base, GENCONF_CTRL0, val); @@ -2081,7 +2081,7 @@ int queue; /* If the thread isn't used, don't do anything */ - if (smp_processor_id() > port->priv->nthreads) + if (smp_processor_id() >= port->priv->nthreads) return; for (queue = 0; queue < port->ntxqs; queue++) { @@ -2164,17 +2164,18 @@ static void mvpp2_tx_pkts_coal_set(struct mvpp2_port *port, struct mvpp2_tx_queue *txq) { - unsigned int thread = mvpp2_cpu_to_thread(port->priv, get_cpu()); + unsigned int thread; u32 val; if (txq->done_pkts_coal > MVPP2_TXQ_THRESH_MASK) txq->done_pkts_coal = MVPP2_TXQ_THRESH_MASK; val = (txq->done_pkts_coal << MVPP2_TXQ_THRESH_OFFSET); - mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id); - mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_THRESH_REG, val); - - put_cpu(); + /* PKT-coalescing registers are per-queue + per-thread */ + for (thread = 0; thread < MVPP2_MAX_THREADS; thread++) { + mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_NUM_REG, txq->id); + mvpp2_thread_write(port->priv, thread, MVPP2_TXQ_THRESH_REG, val); + } } static u32 mvpp2_usec_to_cycles(u32 usec, unsigned long clk_hz) @@ -2981,6 +2982,7 @@ err = mvpp2_rx_refill(port, bm_pool, pool); if (err) { netdev_err(port->dev, "failed to refill BM pools\n"); + dev_kfree_skb_any(skb); goto err_drop_frame; } @@ -3706,6 +3708,7 @@ if (!valid) { netdev_err(port->dev, "invalid configuration: no dt or link IRQ"); + err = -ENOENT; goto err_free_irq; } @@ -4555,7 +4558,7 @@ struct mvpp2 *priv = port->priv; struct mvpp2_txq_pcpu *txq_pcpu; unsigned int thread; - int queue, err; + int queue, err, val; /* Checks for hardware constraints */ if (port->first_rxq + port->nrxqs > @@ -4569,6 +4572,18 @@ mvpp2_egress_disable(port); mvpp2_port_disable(port); + if (mvpp2_is_xlg(port->phy_interface)) { + val = readl(port->base + MVPP22_XLG_CTRL0_REG); + val &= ~MVPP22_XLG_CTRL0_FORCE_LINK_PASS; + val |= MVPP22_XLG_CTRL0_FORCE_LINK_DOWN; + writel(val, port->base + MVPP22_XLG_CTRL0_REG); + } else { + val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); + val &= ~MVPP2_GMAC_FORCE_LINK_PASS; + val |= MVPP2_GMAC_FORCE_LINK_DOWN; + writel(val, port->base + MVPP2_GMAC_AUTONEG_CONFIG); + } + port->tx_time_coal = MVPP2_TXDONE_COAL_USEC; port->txqs = devm_kcalloc(dev, port->ntxqs, sizeof(*port->txqs), @@ -4756,12 +4771,16 @@ eth_hw_addr_random(dev); } +static struct mvpp2_port *mvpp2_phylink_to_port(struct phylink_config *config) +{ + return container_of(config, struct mvpp2_port, phylink_config); +} + static void mvpp2_phylink_validate(struct phylink_config *config, unsigned long *supported, struct phylink_link_state *state) { - struct mvpp2_port *port = container_of(config, struct mvpp2_port, - phylink_config); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; /* Invalid combinations */ @@ -4784,8 +4803,6 @@ phylink_set(mask, Autoneg); phylink_set_port_modes(mask); - phylink_set(mask, Pause); - phylink_set(mask, Asym_Pause); switch (state->interface) { case PHY_INTERFACE_MODE_10GBASER: @@ -4902,8 +4919,7 @@ static void mvpp2_phylink_mac_pcs_get_state(struct phylink_config *config, struct phylink_link_state *state) { - struct mvpp2_port *port = container_of(config, struct mvpp2_port, - phylink_config); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); if (port->priv->hw_version == MVPP22 && port->gop_id == 0) { u32 mode = readl(port->base + MVPP22_XLG_CTRL3_REG); @@ -4920,8 +4936,7 @@ static void mvpp2_mac_an_restart(struct phylink_config *config) { - struct mvpp2_port *port = container_of(config, struct mvpp2_port, - phylink_config); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); u32 val = readl(port->base + MVPP2_GMAC_AUTONEG_CONFIG); writel(val | MVPP2_GMAC_IN_BAND_RESTART_AN, @@ -5094,13 +5109,12 @@ static void mvpp2_mac_config(struct phylink_config *config, unsigned int mode, const struct phylink_link_state *state) { - struct net_device *dev = to_net_dev(config->dev); - struct mvpp2_port *port = netdev_priv(dev); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); bool change_interface = port->phy_interface != state->interface; /* Check for invalid configuration */ if (mvpp2_is_xlg(state->interface) && port->gop_id != 0) { - netdev_err(dev, "Invalid mode on %s\n", dev->name); + netdev_err(port->dev, "Invalid mode on %s\n", port->dev->name); return; } @@ -5140,8 +5154,7 @@ int speed, int duplex, bool tx_pause, bool rx_pause) { - struct net_device *dev = to_net_dev(config->dev); - struct mvpp2_port *port = netdev_priv(dev); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); u32 val; if (mvpp2_is_xlg(interface)) { @@ -5188,14 +5201,13 @@ mvpp2_egress_enable(port); mvpp2_ingress_enable(port); - netif_tx_wake_all_queues(dev); + netif_tx_wake_all_queues(port->dev); } static void mvpp2_mac_link_down(struct phylink_config *config, unsigned int mode, phy_interface_t interface) { - struct net_device *dev = to_net_dev(config->dev); - struct mvpp2_port *port = netdev_priv(dev); + struct mvpp2_port *port = mvpp2_phylink_to_port(config); u32 val; if (!phylink_autoneg_inband(mode)) { @@ -5212,7 +5224,7 @@ } } - netif_tx_stop_all_queues(dev); + netif_tx_stop_all_queues(port->dev); mvpp2_egress_disable(port); mvpp2_ingress_disable(port); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c @@ -29,16 +29,16 @@ /* Clear entry invalidation bit */ pe->tcam[MVPP2_PRS_TCAM_INV_WORD] &= ~MVPP2_PRS_TCAM_INV_MASK; - /* Write tcam index - indirect access */ - mvpp2_write(priv, MVPP2_PRS_TCAM_IDX_REG, pe->index); - for (i = 0; i < MVPP2_PRS_TCAM_WORDS; i++) - mvpp2_write(priv, MVPP2_PRS_TCAM_DATA_REG(i), pe->tcam[i]); - /* Write sram index - indirect access */ mvpp2_write(priv, MVPP2_PRS_SRAM_IDX_REG, pe->index); for (i = 0; i < MVPP2_PRS_SRAM_WORDS; i++) mvpp2_write(priv, MVPP2_PRS_SRAM_DATA_REG(i), pe->sram[i]); + /* Write tcam index - indirect access */ + mvpp2_write(priv, MVPP2_PRS_TCAM_IDX_REG, pe->index); + for (i = 0; i < MVPP2_PRS_TCAM_WORDS; i++) + mvpp2_write(priv, MVPP2_PRS_TCAM_DATA_REG(i), pe->tcam[i]); + return 0; } @@ -405,6 +405,38 @@ return -EINVAL; } +/* Drop flow control pause frames */ +static void mvpp2_prs_drop_fc(struct mvpp2 *priv) +{ + unsigned char da[ETH_ALEN] = { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x01 }; + struct mvpp2_prs_entry pe; + unsigned int len; + + memset(&pe, 0, sizeof(pe)); + + /* For all ports - drop flow control frames */ + pe.index = MVPP2_PE_FC_DROP; + mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_MAC); + + /* Set match on DA */ + len = ETH_ALEN; + while (len--) + mvpp2_prs_tcam_data_byte_set(&pe, len, da[len], 0xff); + + mvpp2_prs_sram_ri_update(&pe, MVPP2_PRS_RI_DROP_MASK, + MVPP2_PRS_RI_DROP_MASK); + + mvpp2_prs_sram_bits_set(&pe, MVPP2_PRS_SRAM_LU_GEN_BIT, 1); + mvpp2_prs_sram_next_lu_set(&pe, MVPP2_PRS_LU_FLOWS); + + /* Mask all ports */ + mvpp2_prs_tcam_port_map_set(&pe, MVPP2_PRS_PORT_MASK); + + /* Update shadow table and hw entry */ + mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_MAC); + mvpp2_prs_hw_write(priv, &pe); +} + /* Enable/disable dropping all mac da's */ static void mvpp2_prs_mac_drop_all_set(struct mvpp2 *priv, int port, bool add) { @@ -1162,6 +1194,7 @@ mvpp2_prs_hw_write(priv, &pe); /* Create dummy entries for drop all and promiscuous modes */ + mvpp2_prs_drop_fc(priv); mvpp2_prs_mac_drop_all_set(priv, 0, false); mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_UNI_CAST, false); mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_MULTI_CAST, false); @@ -1647,8 +1680,9 @@ mvpp2_prs_sram_next_lu_set(&pe, MVPP2_PRS_LU_IP6); mvpp2_prs_sram_ri_update(&pe, MVPP2_PRS_RI_L3_IP6, MVPP2_PRS_RI_L3_PROTO_MASK); - /* Skip eth_type + 4 bytes of IPv6 header */ - mvpp2_prs_sram_shift_set(&pe, MVPP2_ETH_TYPE_LEN + 4, + /* Jump to DIP of IPV6 header */ + mvpp2_prs_sram_shift_set(&pe, MVPP2_ETH_TYPE_LEN + 8 + + MVPP2_MAX_L3_ADDR_SIZE, MVPP2_PRS_SRAM_OP_SEL_SHIFT_ADD); /* Set L3 offset */ mvpp2_prs_sram_offset_set(&pe, MVPP2_PRS_SRAM_UDF_TYPE_L3, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.h @@ -129,7 +129,7 @@ #define MVPP2_PE_VID_EDSA_FLTR_DEFAULT (MVPP2_PRS_TCAM_SRAM_SIZE - 7) #define MVPP2_PE_VLAN_DBL (MVPP2_PRS_TCAM_SRAM_SIZE - 6) #define MVPP2_PE_VLAN_NONE (MVPP2_PRS_TCAM_SRAM_SIZE - 5) -/* reserved */ +#define MVPP2_PE_FC_DROP (MVPP2_PRS_TCAM_SRAM_SIZE - 4) #define MVPP2_PE_MAC_MC_PROMISCUOUS (MVPP2_PRS_TCAM_SRAM_SIZE - 3) #define MVPP2_PE_MAC_UC_PROMISCUOUS (MVPP2_PRS_TCAM_SRAM_SIZE - 2) #define MVPP2_PE_MAC_NON_PROMISCUOUS (MVPP2_PRS_TCAM_SRAM_SIZE - 1) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/cgx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c @@ -833,8 +833,10 @@ if (!lmac) return -ENOMEM; lmac->name = kcalloc(1, sizeof("cgx_fwi_xxx_yyy"), GFP_KERNEL); - if (!lmac->name) - return -ENOMEM; + if (!lmac->name) { + err = -ENOMEM; + goto err_lmac_free; + } sprintf(lmac->name, "cgx_fwi_%d_%d", cgx->cgx_id, i); lmac->lmac_id = i; lmac->cgx = cgx; @@ -845,7 +847,7 @@ CGX_LMAC_FWI + i * 9), cgx_fwi_event_handler, 0, lmac->name, lmac); if (err) - return err; + goto err_irq; /* Enable interrupt */ cgx_write(cgx, lmac->lmac_id, CGXX_CMRX_INT_ENA_W1S, @@ -857,6 +859,12 @@ } return cgx_lmac_verify_fwi_version(cgx); + +err_irq: + kfree(lmac->name); +err_lmac_free: + kfree(lmac); + return err; } static int cgx_lmac_exit(struct cgx *cgx) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/common.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/common.h @@ -43,7 +43,7 @@ void *base; dma_addr_t iova; int alloc_sz; - u8 entry_sz; + u16 entry_sz; u8 align; u32 qsize; }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/mbox.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/mbox.c @@ -17,7 +17,7 @@ static const u16 msgs_offset = ALIGN(sizeof(struct mbox_hdr), MBOX_MSG_ALIGN); -void otx2_mbox_reset(struct otx2_mbox *mbox, int devid) +void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid) { void *hw_mbase = mbox->hwbase + (devid * MBOX_SIZE); struct otx2_mbox_dev *mdev = &mbox->dev[devid]; @@ -26,13 +26,21 @@ tx_hdr = hw_mbase + mbox->tx_start; rx_hdr = hw_mbase + mbox->rx_start; - spin_lock(&mdev->mbox_lock); mdev->msg_size = 0; mdev->rsp_size = 0; tx_hdr->num_msgs = 0; tx_hdr->msg_size = 0; rx_hdr->num_msgs = 0; rx_hdr->msg_size = 0; +} +EXPORT_SYMBOL(__otx2_mbox_reset); + +void otx2_mbox_reset(struct otx2_mbox *mbox, int devid) +{ + struct otx2_mbox_dev *mdev = &mbox->dev[devid]; + + spin_lock(&mdev->mbox_lock); + __otx2_mbox_reset(mbox, devid); spin_unlock(&mdev->mbox_lock); } EXPORT_SYMBOL(otx2_mbox_reset); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/mbox.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/mbox.h @@ -93,6 +93,7 @@ }; void otx2_mbox_reset(struct otx2_mbox *mbox, int devid); +void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid); void otx2_mbox_destroy(struct otx2_mbox *mbox); int otx2_mbox_init(struct otx2_mbox *mbox, void __force *hwbase, struct pci_dev *pdev, void __force *reg_base, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/npc.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/npc.h @@ -77,6 +77,8 @@ NPC_LT_LD_ICMP, NPC_LT_LD_SCTP, NPC_LT_LD_ICMP6, + NPC_LT_LD_CUSTOM0, + NPC_LT_LD_CUSTOM1, NPC_LT_LD_IGMP = 8, NPC_LT_LD_ESP, NPC_LT_LD_AH, @@ -85,8 +87,6 @@ NPC_LT_LD_NSH, NPC_LT_LD_TU_MPLS_IN_NSH, NPC_LT_LD_TU_MPLS_IN_IP, - NPC_LT_LD_CUSTOM0 = 0xE, - NPC_LT_LD_CUSTOM1 = 0xF, }; enum npc_kpu_le_ltype { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.c @@ -2143,8 +2143,10 @@ INTR_MASK(rvu->hw->total_pfs) & ~1ULL); for (irq = 0; irq < rvu->num_vec; irq++) { - if (rvu->irq_allocated[irq]) + if (rvu->irq_allocated[irq]) { free_irq(pci_irq_vector(rvu->pdev, irq), rvu); + rvu->irq_allocated[irq] = false; + } } pci_free_irq_vectors(rvu->pdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.h @@ -463,6 +463,7 @@ int rvu_get_nixlf_count(struct rvu *rvu); void rvu_nix_lf_teardown(struct rvu *rvu, u16 pcifunc, int blkaddr, int npalf); int nix_get_nixlf(struct rvu *rvu, u16 pcifunc, int *nixlf, int *nix_blkaddr); +int nix_update_bcast_mce_list(struct rvu *rvu, u16 pcifunc, bool add); /* NPC APIs */ int rvu_npc_init(struct rvu *rvu); @@ -477,7 +478,7 @@ void rvu_npc_enable_promisc_entry(struct rvu *rvu, u16 pcifunc, int nixlf); void rvu_npc_install_bcast_match_entry(struct rvu *rvu, u16 pcifunc, int nixlf, u64 chan); -void rvu_npc_disable_bcast_entry(struct rvu *rvu, u16 pcifunc); +void rvu_npc_enable_bcast_entry(struct rvu *rvu, u16 pcifunc, bool enable); int rvu_npc_update_rxvlan(struct rvu *rvu, u16 pcifunc, int nixlf); void rvu_npc_disable_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf); void rvu_npc_disable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c @@ -452,6 +452,9 @@ int pf = rvu_get_pf(req->hdr.pcifunc); u8 cgx_id, lmac_id; + if (!is_cgx_config_permitted(rvu, req->hdr.pcifunc)) + return -EPERM; + rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); cgx_lmac_addr_set(cgx_id, lmac_id, req->mac_addr); @@ -468,6 +471,9 @@ int rc = 0, i; u64 cfg; + if (!is_cgx_config_permitted(rvu, req->hdr.pcifunc)) + return -EPERM; + rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); rsp->hdr.rc = rc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c @@ -144,12 +144,14 @@ char __user *buffer, size_t count, loff_t *ppos) { - int index, off = 0, flag = 0, go_back = 0, off_prev; + int index, off = 0, flag = 0, go_back = 0, len = 0; struct rvu *rvu = filp->private_data; int lf, pf, vf, pcifunc; struct rvu_block block; int bytes_not_copied; + int lf_str_size = 12; int buf_size = 2048; + char *lfs; char *buf; /* don't allow partial reads */ @@ -159,12 +161,20 @@ buf = kzalloc(buf_size, GFP_KERNEL); if (!buf) return -ENOSPC; - off += scnprintf(&buf[off], buf_size - 1 - off, "\npcifunc\t\t"); + + lfs = kzalloc(lf_str_size, GFP_KERNEL); + if (!lfs) { + kfree(buf); + return -ENOMEM; + } + off += scnprintf(&buf[off], buf_size - 1 - off, "%-*s", lf_str_size, + "pcifunc"); for (index = 0; index < BLK_COUNT; index++) - if (strlen(rvu->hw->block[index].name)) - off += scnprintf(&buf[off], buf_size - 1 - off, - "%*s\t", (index - 1) * 2, - rvu->hw->block[index].name); + if (strlen(rvu->hw->block[index].name)) { + off += scnprintf(&buf[off], buf_size - 1 - off, + "%-*s", lf_str_size, + rvu->hw->block[index].name); + } off += scnprintf(&buf[off], buf_size - 1 - off, "\n"); for (pf = 0; pf < rvu->hw->total_pfs; pf++) { for (vf = 0; vf <= rvu->hw->total_vfs; vf++) { @@ -173,14 +183,15 @@ continue; if (vf) { + sprintf(lfs, "PF%d:VF%d", pf, vf - 1); go_back = scnprintf(&buf[off], buf_size - 1 - off, - "PF%d:VF%d\t\t", pf, - vf - 1); + "%-*s", lf_str_size, lfs); } else { + sprintf(lfs, "PF%d", pf); go_back = scnprintf(&buf[off], buf_size - 1 - off, - "PF%d\t\t", pf); + "%-*s", lf_str_size, lfs); } off += go_back; @@ -188,20 +199,22 @@ block = rvu->hw->block[index]; if (!strlen(block.name)) continue; - off_prev = off; + len = 0; + lfs[len] = '\0'; for (lf = 0; lf < block.lf.max; lf++) { if (block.fn_map[lf] != pcifunc) continue; flag = 1; - off += scnprintf(&buf[off], buf_size - 1 - - off, "%3d,", lf); + len += sprintf(&lfs[len], "%d,", lf); } - if (flag && off_prev != off) - off--; - else - go_back++; + + if (flag) + len--; + lfs[len] = '\0'; off += scnprintf(&buf[off], buf_size - 1 - off, - "\t"); + "%-*s", lf_str_size, lfs); + if (!strlen(lfs)) + go_back += lf_str_size; } if (!flag) off -= go_back; @@ -213,6 +226,7 @@ } bytes_not_copied = copy_to_user(buffer, buf, off); + kfree(lfs); kfree(buf); if (bytes_not_copied) @@ -332,7 +346,7 @@ u16 pcifunc; int ret, lf; - cmd_buf = memdup_user(buffer, count); + cmd_buf = memdup_user(buffer, count + 1); if (IS_ERR(cmd_buf)) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c @@ -17,7 +17,6 @@ #include "npc.h" #include "cgx.h" -static int nix_update_bcast_mce_list(struct rvu *rvu, u16 pcifunc, bool add); static int rvu_nix_get_bpid(struct rvu *rvu, struct nix_bp_cfg_req *req, int type, int chan_id); @@ -2020,7 +2019,7 @@ return 0; } -static int nix_update_bcast_mce_list(struct rvu *rvu, u16 pcifunc, bool add) +int nix_update_bcast_mce_list(struct rvu *rvu, u16 pcifunc, bool add) { int err = 0, idx, next_idx, last_idx; struct nix_mce_list *mce_list; @@ -2065,7 +2064,7 @@ /* Disable MCAM entry in NPC */ if (!mce_list->count) { - rvu_npc_disable_bcast_entry(rvu, pcifunc); + rvu_npc_enable_bcast_entry(rvu, pcifunc, false); goto end; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c @@ -530,7 +530,7 @@ NIX_INTF_RX, &entry, true); } -void rvu_npc_disable_bcast_entry(struct rvu *rvu, u16 pcifunc) +void rvu_npc_enable_bcast_entry(struct rvu *rvu, u16 pcifunc, bool enable) { struct npc_mcam *mcam = &rvu->hw->mcam; int blkaddr, index; @@ -543,7 +543,7 @@ pcifunc = pcifunc & ~RVU_PFVF_FUNC_MASK; index = npc_get_nixlf_mcam_index(mcam, pcifunc, 0, NIXLF_BCAST_ENTRY); - npc_enable_mcam_entry(rvu, mcam, blkaddr, index, false); + npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable); } void rvu_npc_update_flowkey_alg_idx(struct rvu *rvu, u16 pcifunc, int nixlf, @@ -622,23 +622,35 @@ nixlf, NIXLF_UCAST_ENTRY); npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable); - /* For PF, ena/dis promisc and bcast MCAM match entries */ - if (pcifunc & RVU_PFVF_FUNC_MASK) + /* For PF, ena/dis promisc and bcast MCAM match entries. + * For VFs add/delete from bcast list when RX multicast + * feature is present. + */ + if (pcifunc & RVU_PFVF_FUNC_MASK && !rvu->hw->cap.nix_rx_multicast) return; /* For bcast, enable/disable only if it's action is not * packet replication, incase if action is replication - * then this PF's nixlf is removed from bcast replication + * then this PF/VF's nixlf is removed from bcast replication * list. */ - index = npc_get_nixlf_mcam_index(mcam, pcifunc, + index = npc_get_nixlf_mcam_index(mcam, pcifunc & ~RVU_PFVF_FUNC_MASK, nixlf, NIXLF_BCAST_ENTRY); bank = npc_get_bank(mcam, index); *(u64 *)&action = rvu_read64(rvu, blkaddr, NPC_AF_MCAMEX_BANKX_ACTION(index & (mcam->banksize - 1), bank)); - if (action.op != NIX_RX_ACTIONOP_MCAST) + + /* VFs will not have BCAST entry */ + if (action.op != NIX_RX_ACTIONOP_MCAST && + !(pcifunc & RVU_PFVF_FUNC_MASK)) { npc_enable_mcam_entry(rvu, mcam, blkaddr, index, enable); + } else { + nix_update_bcast_mce_list(rvu, pcifunc, enable); + /* Enable PF's BCAST entry for packet replication */ + rvu_npc_enable_bcast_entry(rvu, pcifunc, enable); + } + if (enable) rvu_npc_enable_promisc_entry(rvu, pcifunc, nixlf); else @@ -2054,10 +2066,10 @@ index = find_next_bit(mcam->bmap, mcam->bmap_entries, entry); if (index >= mcam->bmap_entries) break; + entry = index + 1; if (mcam->entry2cntr_map[index] != req->cntr) continue; - entry = index + 1; npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr, index, req->cntr); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c @@ -384,10 +384,11 @@ dma_addr_t iova; u8 *buf; - buf = napi_alloc_frag(pool->rbsize); + buf = napi_alloc_frag(pool->rbsize + OTX2_ALIGN); if (unlikely(!buf)) return -ENOMEM; + buf = PTR_ALIGN(buf, OTX2_ALIGN); iova = dma_map_single_attrs(pfvf->dev, buf, pool->rbsize, DMA_FROM_DEVICE, DMA_ATTR_SKIP_CPU_SYNC); if (unlikely(dma_mapping_error(pfvf->dev, iova))) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -370,8 +370,8 @@ dst_mbox = &pf->mbox; dst_size = dst_mbox->mbox.tx_size - ALIGN(sizeof(*mbox_hdr), MBOX_MSG_ALIGN); - /* Check if msgs fit into destination area */ - if (mbox_hdr->msg_size > dst_size) + /* Check if msgs fit into destination area and has valid size */ + if (mbox_hdr->msg_size > dst_size || !mbox_hdr->msg_size) return -EINVAL; dst_mdev = &dst_mbox->mbox.dev[0]; @@ -526,10 +526,10 @@ end: offset = mbox->rx_start + msg->next_msgoff; + if (mdev->msgs_acked == (vf_mbox->up_num_msgs - 1)) + __otx2_mbox_reset(mbox, 0); mdev->msgs_acked++; } - - otx2_mbox_reset(mbox, vf_idx); } static irqreturn_t otx2_pfvf_mbox_intr_handler(int irq, void *pf_irq) @@ -803,10 +803,11 @@ msg = (struct mbox_msghdr *)(mdev->mbase + offset); otx2_process_pfaf_mbox_msg(pf, msg); offset = mbox->rx_start + msg->next_msgoff; + if (mdev->msgs_acked == (af_mbox->num_msgs - 1)) + __otx2_mbox_reset(mbox, 0); mdev->msgs_acked++; } - otx2_mbox_reset(mbox, 0); } static void otx2_handle_link_event(struct otx2_nic *pf) @@ -1560,10 +1561,13 @@ err = otx2_rxtx_enable(pf, true); if (err) - goto err_free_cints; + goto err_tx_stop_queues; return 0; +err_tx_stop_queues: + netif_tx_stop_all_queues(netdev); + netif_carrier_off(netdev); err_free_cints: otx2_free_cints(pf, qidx); vec = pci_irq_vector(pf->pdev, @@ -1588,6 +1592,7 @@ struct otx2_nic *pf = netdev_priv(netdev); struct otx2_cq_poll *cq_poll = NULL; struct otx2_qset *qset = &pf->qset; + struct otx2_rss_info *rss; int qidx, vec, wrk; netif_carrier_off(netdev); @@ -1600,6 +1605,10 @@ /* First stop packet Rx/Tx */ otx2_rxtx_enable(pf, false); + /* Clear RSS enable flag */ + rss = &pf->hw.rss_info; + rss->enable = false; + /* Cleanup Queue IRQ */ vec = pci_irq_vector(pf->pdev, pf->hw.nix_msixoff + NIX_LF_QINT_VEC_START); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c @@ -524,6 +524,7 @@ sqe_hdr->ol3type = NIX_SENDL3TYPE_IP4_CKSUM; } else if (skb->protocol == htons(ETH_P_IPV6)) { proto = ipv6_hdr(skb)->nexthdr; + sqe_hdr->ol3type = NIX_SENDL3TYPE_IP6; } if (proto == IPPROTO_TCP) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c @@ -99,10 +99,10 @@ msg = (struct mbox_msghdr *)(mdev->mbase + offset); otx2vf_process_vfaf_mbox_msg(af_mbox->pfvf, msg); offset = mbox->rx_start + msg->next_msgoff; + if (mdev->msgs_acked == (af_mbox->num_msgs - 1)) + __otx2_mbox_reset(mbox, 0); mdev->msgs_acked++; } - - otx2_mbox_reset(mbox, 0); } static int otx2vf_process_mbox_msg_up(struct otx2_nic *vf, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/marvell/pxa168_eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/marvell/pxa168_eth.c @@ -1547,8 +1547,8 @@ mdiobus_unregister(pep->smi_bus); mdiobus_free(pep->smi_bus); - unregister_netdev(dev); cancel_work_sync(&pep->tx_timeout_task); + unregister_netdev(dev); free_netdev(dev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mediatek/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mediatek/Kconfig @@ -17,6 +17,7 @@ config NET_MEDIATEK_STAR_EMAC tristate "MediaTek STAR Ethernet MAC support" select PHYLIB + select REGMAP_MMIO help This driver supports the ethernet MAC IP first used on MediaTek MT85** SoCs. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mediatek/mtk_star_emac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mediatek/mtk_star_emac.c @@ -966,6 +966,7 @@ mtk_star_adjust_link, 0, priv->phy_intf); if (!priv->phydev) { netdev_err(ndev, "failed to connect to PHY\n"); + ret = -ENODEV; goto err_free_irq; } @@ -1053,7 +1054,7 @@ err_drop_packet: dev_kfree_skb(skb); ndev->stats.tx_dropped++; - return NETDEV_TX_BUSY; + return NETDEV_TX_OK; } /* Returns the number of bytes sent or a negative number on the first @@ -1224,8 +1225,6 @@ goto push_new_skb; } - desc_data.dma_addr = new_dma_addr; - /* We can't fail anymore at this point: it's safe to unmap the skb. */ mtk_star_dma_unmap_rx(priv, &desc_data); @@ -1235,6 +1234,9 @@ desc_data.skb->dev = ndev; netif_receive_skb(desc_data.skb); + /* update dma_addr for new skb */ + desc_data.dma_addr = new_dma_addr; + push_new_skb: desc_data.len = skb_tailroom(new_skb); desc_data.skb = new_skb; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c @@ -47,7 +47,7 @@ #define EN_ETHTOOL_SHORT_MASK cpu_to_be16(0xffff) #define EN_ETHTOOL_WORD_MASK cpu_to_be32(0xffffffff) -static int mlx4_en_moderation_update(struct mlx4_en_priv *priv) +int mlx4_en_moderation_update(struct mlx4_en_priv *priv) { int i, t; int err = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/en_netdev.c @@ -1378,8 +1378,10 @@ tx_ring->cons, tx_ring->prod); priv->port_stats.tx_timeout++; - en_dbg(DRV, priv, "Scheduling watchdog\n"); - queue_work(mdev->workqueue, &priv->watchdog_task); + if (!test_and_set_bit(MLX4_EN_STATE_FLAG_RESTARTING, &priv->state)) { + en_dbg(DRV, priv, "Scheduling port restart\n"); + queue_work(mdev->workqueue, &priv->restart_task); + } } @@ -1733,6 +1735,7 @@ mlx4_en_deactivate_cq(priv, cq); goto tx_err; } + clear_bit(MLX4_EN_TX_RING_STATE_RECOVERING, &tx_ring->state); if (t != TX_XDP) { tx_ring->tx_queue = netdev_get_tx_queue(dev, i); tx_ring->recycle_ring = NULL; @@ -1829,6 +1832,7 @@ local_bh_enable(); } + clear_bit(MLX4_EN_STATE_FLAG_RESTARTING, &priv->state); netif_tx_start_all_queues(dev); netif_device_attach(dev); @@ -1999,7 +2003,7 @@ static void mlx4_en_restart(struct work_struct *work) { struct mlx4_en_priv *priv = container_of(work, struct mlx4_en_priv, - watchdog_task); + restart_task); struct mlx4_en_dev *mdev = priv->mdev; struct net_device *dev = priv->dev; @@ -2377,7 +2381,7 @@ if (netif_running(dev)) { mutex_lock(&mdev->state_lock); if (!mdev->device_up) { - /* NIC is probably restarting - let watchdog task reset + /* NIC is probably restarting - let restart task reset * the port */ en_dbg(DRV, priv, "Change MTU called with card down!?\n"); } else { @@ -2386,7 +2390,9 @@ if (err) { en_err(priv, "Failed restarting port:%d\n", priv->port); - queue_work(mdev->workqueue, &priv->watchdog_task); + if (!test_and_set_bit(MLX4_EN_STATE_FLAG_RESTARTING, + &priv->state)) + queue_work(mdev->workqueue, &priv->restart_task); } } mutex_unlock(&mdev->state_lock); @@ -2849,7 +2855,8 @@ if (err) { en_err(priv, "Failed starting port %d for XDP change\n", priv->port); - queue_work(mdev->workqueue, &priv->watchdog_task); + if (!test_and_set_bit(MLX4_EN_STATE_FLAG_RESTARTING, &priv->state)) + queue_work(mdev->workqueue, &priv->restart_task); } } @@ -3246,7 +3253,7 @@ priv->counter_index = MLX4_SINK_COUNTER_INDEX(mdev->dev); spin_lock_init(&priv->stats_lock); INIT_WORK(&priv->rx_mode_task, mlx4_en_do_set_rx_mode); - INIT_WORK(&priv->watchdog_task, mlx4_en_restart); + INIT_WORK(&priv->restart_task, mlx4_en_restart); INIT_WORK(&priv->linkstate_task, mlx4_en_linkstate); INIT_DELAYED_WORK(&priv->stats_task, mlx4_en_do_get_stats); INIT_DELAYED_WORK(&priv->service_task, mlx4_en_service_task); @@ -3633,6 +3640,8 @@ en_err(priv, "Failed starting port\n"); } + if (!err) + err = mlx4_en_moderation_update(priv); out: mutex_unlock(&mdev->state_lock); kfree(tmp); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -943,6 +943,9 @@ bool clean_complete = true; int done; + if (!budget) + return 0; + if (priv->tx_ring_num[TX_XDP]) { xdp_tx_cq = priv->tx_cq[TX_XDP][cq->ring]; if (xdp_tx_cq->xdp_busy) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/en_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/en_tx.c @@ -350,7 +350,7 @@ .dma = tx_info->map0_dma, }; - if (!mlx4_en_rx_recycle(ring->recycle_ring, &frame)) { + if (!napi_mode || !mlx4_en_rx_recycle(ring->recycle_ring, &frame)) { dma_unmap_page(priv->ddev, tx_info->map0_dma, PAGE_SIZE, priv->dma_dir); put_page(tx_info->page); @@ -392,6 +392,35 @@ return cnt; } +static void mlx4_en_handle_err_cqe(struct mlx4_en_priv *priv, struct mlx4_err_cqe *err_cqe, + u16 cqe_index, struct mlx4_en_tx_ring *ring) +{ + struct mlx4_en_dev *mdev = priv->mdev; + struct mlx4_en_tx_info *tx_info; + struct mlx4_en_tx_desc *tx_desc; + u16 wqe_index; + int desc_size; + + en_err(priv, "CQE error - cqn 0x%x, ci 0x%x, vendor syndrome: 0x%x syndrome: 0x%x\n", + ring->sp_cqn, cqe_index, err_cqe->vendor_err_syndrome, err_cqe->syndrome); + print_hex_dump(KERN_WARNING, "", DUMP_PREFIX_OFFSET, 16, 1, err_cqe, sizeof(*err_cqe), + false); + + wqe_index = be16_to_cpu(err_cqe->wqe_index) & ring->size_mask; + tx_info = &ring->tx_info[wqe_index]; + desc_size = tx_info->nr_txbb << LOG_TXBB_SIZE; + en_err(priv, "Related WQE - qpn 0x%x, wqe index 0x%x, wqe size 0x%x\n", ring->qpn, + wqe_index, desc_size); + tx_desc = ring->buf + (wqe_index << LOG_TXBB_SIZE); + print_hex_dump(KERN_WARNING, "", DUMP_PREFIX_OFFSET, 16, 1, tx_desc, desc_size, false); + + if (test_and_set_bit(MLX4_EN_STATE_FLAG_RESTARTING, &priv->state)) + return; + + en_err(priv, "Scheduling port restart\n"); + queue_work(mdev->workqueue, &priv->restart_task); +} + int mlx4_en_process_tx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int napi_budget) { @@ -438,13 +467,10 @@ dma_rmb(); if (unlikely((cqe->owner_sr_opcode & MLX4_CQE_OPCODE_MASK) == - MLX4_CQE_OPCODE_ERROR)) { - struct mlx4_err_cqe *cqe_err = (struct mlx4_err_cqe *)cqe; - - en_err(priv, "CQE error - vendor syndrome: 0x%x syndrome: 0x%x\n", - cqe_err->vendor_err_syndrome, - cqe_err->syndrome); - } + MLX4_CQE_OPCODE_ERROR)) + if (!test_and_set_bit(MLX4_EN_TX_RING_STATE_RECOVERING, &ring->state)) + mlx4_en_handle_err_cqe(priv, (struct mlx4_err_cqe *)cqe, index, + ring); /* Skip over last polled CQE */ new_index = be16_to_cpu(cqe->wqe_index) & size_mask; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/fw.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/fw.c @@ -1864,8 +1864,8 @@ #define INIT_HCA_LOG_RD_OFFSET (INIT_HCA_QPC_OFFSET + 0x77) #define INIT_HCA_MCAST_OFFSET 0x0c0 #define INIT_HCA_MC_BASE_OFFSET (INIT_HCA_MCAST_OFFSET + 0x00) -#define INIT_HCA_LOG_MC_ENTRY_SZ_OFFSET (INIT_HCA_MCAST_OFFSET + 0x12) -#define INIT_HCA_LOG_MC_HASH_SZ_OFFSET (INIT_HCA_MCAST_OFFSET + 0x16) +#define INIT_HCA_LOG_MC_ENTRY_SZ_OFFSET (INIT_HCA_MCAST_OFFSET + 0x13) +#define INIT_HCA_LOG_MC_HASH_SZ_OFFSET (INIT_HCA_MCAST_OFFSET + 0x17) #define INIT_HCA_UC_STEERING_OFFSET (INIT_HCA_MCAST_OFFSET + 0x18) #define INIT_HCA_LOG_MC_TABLE_SZ_OFFSET (INIT_HCA_MCAST_OFFSET + 0x1b) #define INIT_HCA_DEVICE_MANAGED_FLOW_STEERING_EN 0x6 @@ -1873,7 +1873,7 @@ #define INIT_HCA_DRIVER_VERSION_SZ 0x40 #define INIT_HCA_FS_PARAM_OFFSET 0x1d0 #define INIT_HCA_FS_BASE_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x00) -#define INIT_HCA_FS_LOG_ENTRY_SZ_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x12) +#define INIT_HCA_FS_LOG_ENTRY_SZ_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x13) #define INIT_HCA_FS_A0_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x18) #define INIT_HCA_FS_LOG_TABLE_SZ_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x1b) #define INIT_HCA_FS_ETH_BITS_OFFSET (INIT_HCA_FS_PARAM_OFFSET + 0x21) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/fw.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/fw.h @@ -182,8 +182,8 @@ u64 cmpt_base; u64 mtt_base; u64 global_caps; - u16 log_mc_entry_sz; - u16 log_mc_hash_sz; + u8 log_mc_entry_sz; + u8 log_mc_hash_sz; u16 hca_core_clock; /* Internal Clock Frequency (in MHz) */ u8 log_num_qps; u8 log_num_srqs; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h @@ -271,6 +271,10 @@ } buf[MLX4_EN_CACHE_SIZE]; }; +enum { + MLX4_EN_TX_RING_STATE_RECOVERING, +}; + struct mlx4_en_priv; struct mlx4_en_tx_ring { @@ -317,6 +321,7 @@ * Only queue_stopped might be used if BQL is not properly working. */ unsigned long queue_stopped; + unsigned long state; struct mlx4_hwq_resources sp_wqres; struct mlx4_qp sp_qp; struct mlx4_qp_context sp_context; @@ -530,6 +535,10 @@ struct mutex mutex; /* for mutual access to stats bitmap */ }; +enum { + MLX4_EN_STATE_FLAG_RESTARTING, +}; + struct mlx4_en_priv { struct mlx4_en_dev *mdev; struct mlx4_en_port_profile *prof; @@ -595,7 +604,7 @@ struct mlx4_en_cq *rx_cq[MAX_RX_RINGS]; struct mlx4_qp drop_qp; struct work_struct rx_mode_task; - struct work_struct watchdog_task; + struct work_struct restart_task; struct work_struct linkstate_task; struct delayed_work stats_task; struct delayed_work service_task; @@ -643,6 +652,7 @@ u32 pflags; u8 rss_key[MLX4_EN_RSS_KEY_SIZE]; u8 rss_hash_fn; + unsigned long state; }; enum mlx4_en_wol { @@ -787,6 +797,7 @@ #define DEV_FEATURE_CHANGED(dev, new_features, feature) \ ((dev->features & feature) ^ (new_features & feature)) +int mlx4_en_moderation_update(struct mlx4_en_priv *priv); int mlx4_en_reset_config(struct net_device *dev, struct hwtstamp_config ts_config, netdev_features_t new_features); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/mr.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/mr.c @@ -114,7 +114,7 @@ goto err_out; for (i = 0; i <= buddy->max_order; ++i) { - s = BITS_TO_LONGS(1 << (buddy->max_order - i)); + s = BITS_TO_LONGS(1UL << (buddy->max_order - i)); buddy->bits[i] = kvmalloc_array(s, sizeof(long), GFP_KERNEL | __GFP_ZERO); if (!buddy->bits[i]) goto err_out_free; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c @@ -4986,6 +4986,7 @@ if (!fs_rule->mirr_mbox) { mlx4_err(dev, "rule mirroring mailbox is null\n"); + mlx4_free_cmd_mailbox(dev, mailbox); return -EINVAL; } memcpy(mailbox->buf, fs_rule->mirr_mbox, fs_rule->mirr_mbox_size); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/Kconfig @@ -173,6 +173,7 @@ config MLX5_EN_TLS bool "TLS cryptography-offload accelaration" depends on MLX5_CORE_EN + depends on XPS depends on MLX5_FPGA_TLS || MLX5_TLS default y help --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/Makefile +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/Makefile @@ -74,7 +74,8 @@ en_accel/ipsec_stats.o mlx5_core-$(CONFIG_MLX5_EN_TLS) += en_accel/tls.o en_accel/tls_rxtx.o en_accel/tls_stats.o \ - en_accel/ktls.o en_accel/ktls_tx.o + en_accel/fs_tcp.o en_accel/ktls.o en_accel/ktls_txrx.o \ + en_accel/ktls_tx.o en_accel/ktls_rx.o mlx5_core-$(CONFIG_MLX5_SW_STEERING) += steering/dr_domain.o steering/dr_table.o \ steering/dr_matcher.o steering/dr_rule.o \ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/accel/tls.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/accel/tls.h @@ -43,9 +43,20 @@ u32 *p_key_id); void mlx5_ktls_destroy_key(struct mlx5_core_dev *mdev, u32 key_id); +static inline bool mlx5_accel_is_ktls_tx(struct mlx5_core_dev *mdev) +{ + return MLX5_CAP_GEN(mdev, tls_tx); +} + +static inline bool mlx5_accel_is_ktls_rx(struct mlx5_core_dev *mdev) +{ + return MLX5_CAP_GEN(mdev, tls_rx); +} + static inline bool mlx5_accel_is_ktls_device(struct mlx5_core_dev *mdev) { - if (!MLX5_CAP_GEN(mdev, tls_tx)) + if (!mlx5_accel_is_ktls_tx(mdev) && + !mlx5_accel_is_ktls_rx(mdev)) return false; if (!MLX5_CAP_GEN(mdev, log_max_dek)) @@ -67,6 +78,12 @@ return false; } #else +static inline bool mlx5_accel_is_ktls_tx(struct mlx5_core_dev *mdev) +{ return false; } + +static inline bool mlx5_accel_is_ktls_rx(struct mlx5_core_dev *mdev) +{ return false; } + static inline int mlx5_ktls_create_key(struct mlx5_core_dev *mdev, struct tls_crypto_info *crypto_info, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -69,12 +69,10 @@ MLX5_CMD_DELIVERY_STAT_CMD_DESCR_ERR = 0x10, }; -static struct mlx5_cmd_work_ent *alloc_cmd(struct mlx5_cmd *cmd, - struct mlx5_cmd_msg *in, - struct mlx5_cmd_msg *out, - void *uout, int uout_size, - mlx5_cmd_cbk_t cbk, - void *context, int page_queue) +static struct mlx5_cmd_work_ent * +cmd_alloc_ent(struct mlx5_cmd *cmd, struct mlx5_cmd_msg *in, + struct mlx5_cmd_msg *out, void *uout, int uout_size, + mlx5_cmd_cbk_t cbk, void *context, int page_queue) { gfp_t alloc_flags = cbk ? GFP_ATOMIC : GFP_KERNEL; struct mlx5_cmd_work_ent *ent; @@ -83,6 +81,7 @@ if (!ent) return ERR_PTR(-ENOMEM); + ent->idx = -EINVAL; ent->in = in; ent->out = out; ent->uout = uout; @@ -91,10 +90,16 @@ ent->context = context; ent->cmd = cmd; ent->page_queue = page_queue; + refcount_set(&ent->refcnt, 1); return ent; } +static void cmd_free_ent(struct mlx5_cmd_work_ent *ent) +{ + kfree(ent); +} + static u8 alloc_token(struct mlx5_cmd *cmd) { u8 token; @@ -109,7 +114,7 @@ return token; } -static int alloc_ent(struct mlx5_cmd *cmd) +static int cmd_alloc_index(struct mlx5_cmd *cmd) { unsigned long flags; int ret; @@ -123,7 +128,7 @@ return ret < cmd->max_reg_cmds ? ret : -ENOMEM; } -static void free_ent(struct mlx5_cmd *cmd, int idx) +static void cmd_free_index(struct mlx5_cmd *cmd, int idx) { unsigned long flags; @@ -132,6 +137,22 @@ spin_unlock_irqrestore(&cmd->alloc_lock, flags); } +static void cmd_ent_get(struct mlx5_cmd_work_ent *ent) +{ + refcount_inc(&ent->refcnt); +} + +static void cmd_ent_put(struct mlx5_cmd_work_ent *ent) +{ + if (!refcount_dec_and_test(&ent->refcnt)) + return; + + if (ent->idx >= 0) + cmd_free_index(ent->cmd, ent->idx); + + cmd_free_ent(ent); +} + static struct mlx5_cmd_layout *get_inst(struct mlx5_cmd *cmd, int idx) { return cmd->cmd_buf + (idx << cmd->log_stride); @@ -219,11 +240,6 @@ ent->ret = -ETIMEDOUT; } -static void free_cmd(struct mlx5_cmd_work_ent *ent) -{ - kfree(ent); -} - static int verify_signature(struct mlx5_cmd_work_ent *ent) { struct mlx5_cmd_mailbox *next = ent->out->next; @@ -837,11 +853,22 @@ struct mlx5_core_dev *dev = container_of(ent->cmd, struct mlx5_core_dev, cmd); + mlx5_cmd_eq_recover(dev); + + /* Maybe got handled by eq recover ? */ + if (!test_bit(MLX5_CMD_ENT_STATE_PENDING_COMP, &ent->state)) { + mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) Async, recovered after timeout\n", ent->idx, + mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); + goto out; /* phew, already handled */ + } + ent->ret = -ETIMEDOUT; - mlx5_core_warn(dev, "%s(0x%x) timeout. Will cause a leak of a command resource\n", - mlx5_command_str(msg_to_opcode(ent->in)), - msg_to_opcode(ent->in)); + mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) Async, timeout. Will cause a leak of a command resource\n", + ent->idx, mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); mlx5_cmd_comp_handler(dev, 1UL << ent->idx, true); + +out: + cmd_ent_put(ent); /* for the cmd_ent_get() took on schedule delayed work */ } static void free_msg(struct mlx5_core_dev *dev, struct mlx5_cmd_msg *msg); @@ -856,6 +883,25 @@ return cmd->allowed_opcode == opcode; } +static int cmd_alloc_index_retry(struct mlx5_cmd *cmd) +{ + unsigned long alloc_end = jiffies + msecs_to_jiffies(1000); + int idx; + +retry: + idx = cmd_alloc_index(cmd); + if (idx < 0 && time_before(jiffies, alloc_end)) { + /* Index allocation can fail on heavy load of commands. This is a temporary + * situation as the current command already holds the semaphore, meaning that + * another command completion is being handled and it is expected to release + * the entry index soon. + */ + cpu_relax(); + goto retry; + } + return idx; +} + static void cmd_work_handler(struct work_struct *work) { struct mlx5_cmd_work_ent *ent = container_of(work, struct mlx5_cmd_work_ent, work); @@ -873,14 +919,14 @@ sem = ent->page_queue ? &cmd->pages_sem : &cmd->sem; down(sem); if (!ent->page_queue) { - alloc_ret = alloc_ent(cmd); + alloc_ret = cmd_alloc_index_retry(cmd); if (alloc_ret < 0) { mlx5_core_err_rl(dev, "failed to allocate command entry\n"); if (ent->callback) { ent->callback(-EAGAIN, ent->context); mlx5_free_cmd_msg(dev, ent->out); free_msg(dev, ent->in); - free_cmd(ent); + cmd_ent_put(ent); } else { ent->ret = -EAGAIN; complete(&ent->done); @@ -916,8 +962,8 @@ ent->ts1 = ktime_get_ns(); cmd_mode = cmd->mode; - if (ent->callback) - schedule_delayed_work(&ent->cb_timeout_work, cb_timeout); + if (ent->callback && schedule_delayed_work(&ent->cb_timeout_work, cb_timeout)) + cmd_ent_get(ent); set_bit(MLX5_CMD_ENT_STATE_PENDING_COMP, &ent->state); /* Skip sending command to fw if internal error */ @@ -933,13 +979,10 @@ MLX5_SET(mbox_out, ent->out, syndrome, drv_synd); mlx5_cmd_comp_handler(dev, 1UL << ent->idx, true); - /* no doorbell, no need to keep the entry */ - free_ent(cmd, ent->idx); - if (ent->callback) - free_cmd(ent); 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(); @@ -983,6 +1026,35 @@ } } +enum { + MLX5_CMD_TIMEOUT_RECOVER_MSEC = 5 * 1000, +}; + +static void wait_func_handle_exec_timeout(struct mlx5_core_dev *dev, + struct mlx5_cmd_work_ent *ent) +{ + unsigned long timeout = msecs_to_jiffies(MLX5_CMD_TIMEOUT_RECOVER_MSEC); + + mlx5_cmd_eq_recover(dev); + + /* Re-wait on the ent->done after executing the recovery flow. If the + * recovery flow (or any other recovery flow running simultaneously) + * has recovered an EQE, it should cause the entry to be completed by + * the command interface. + */ + if (wait_for_completion_timeout(&ent->done, timeout)) { + mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) recovered after timeout\n", ent->idx, + mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); + return; + } + + mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) No done completion\n", ent->idx, + mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); + + ent->ret = -ETIMEDOUT; + mlx5_cmd_comp_handler(dev, 1UL << ent->idx, true); +} + static int wait_func(struct mlx5_core_dev *dev, struct mlx5_cmd_work_ent *ent) { unsigned long timeout = msecs_to_jiffies(MLX5_CMD_TIMEOUT_MSEC); @@ -994,12 +1066,10 @@ ent->ret = -ECANCELED; goto out_err; } - if (cmd->mode == CMD_MODE_POLLING || ent->polling) { + if (cmd->mode == CMD_MODE_POLLING || ent->polling) wait_for_completion(&ent->done); - } else if (!wait_for_completion_timeout(&ent->done, timeout)) { - ent->ret = -ETIMEDOUT; - mlx5_cmd_comp_handler(dev, 1UL << ent->idx, true); - } + else if (!wait_for_completion_timeout(&ent->done, timeout)) + wait_func_handle_exec_timeout(dev, ent); out_err: err = ent->ret; @@ -1039,11 +1109,16 @@ if (callback && page_queue) return -EINVAL; - ent = alloc_cmd(cmd, in, out, uout, uout_size, callback, context, - page_queue); + ent = cmd_alloc_ent(cmd, in, out, uout, uout_size, + callback, context, page_queue); if (IS_ERR(ent)) return PTR_ERR(ent); + /* put for this ent is when consumed, depending on the use case + * 1) (!callback) blocking flow: by caller after wait_func completes + * 2) (callback) flow: by mlx5_cmd_comp_handler() when ent is handled + */ + ent->token = token; ent->polling = force_polling; @@ -1062,12 +1137,10 @@ } if (callback) - goto out; + goto out; /* mlx5_cmd_comp_handler() will put(ent) */ err = wait_func(dev, ent); - if (err == -ETIMEDOUT) - goto out; - if (err == -ECANCELED) + if (err == -ETIMEDOUT || err == -ECANCELED) goto out_free; ds = ent->ts2 - ent->ts1; @@ -1085,7 +1158,7 @@ *status = ent->status; out_free: - free_cmd(ent); + cmd_ent_put(ent); out: return err; } @@ -1516,14 +1589,19 @@ if (!forced) { mlx5_core_err(dev, "Command completion arrived after timeout (entry idx = %d).\n", ent->idx); - free_ent(cmd, ent->idx); - free_cmd(ent); + cmd_ent_put(ent); } continue; } - if (ent->callback) - cancel_delayed_work(&ent->cb_timeout_work); + if (ent->callback && cancel_delayed_work(&ent->cb_timeout_work)) + 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) + cmd_ent_put(ent); + if (ent->page_queue) sem = &cmd->pages_sem; else @@ -1545,10 +1623,6 @@ ent->ret, deliv_status_to_str(ent->status), ent->status); } - /* only real completion will free the entry slot */ - if (!forced) - free_ent(cmd, ent->idx); - if (ent->callback) { ds = ent->ts2 - ent->ts1; if (ent->op < MLX5_CMD_OP_MAX) { @@ -1576,10 +1650,13 @@ free_msg(dev, ent->in); err = err ? err : ent->status; - if (!forced) - free_cmd(ent); + /* final consumer is done, release ent */ + cmd_ent_put(ent); callback(err, context); } else { + /* release wait_func() so mlx5_cmd_invoke() + * can make the final ent_put() + */ complete(&ent->done); } up(sem); @@ -1589,8 +1666,11 @@ void mlx5_cmd_trigger_completions(struct mlx5_core_dev *dev) { + struct mlx5_cmd *cmd = &dev->cmd; + unsigned long bitmask; unsigned long flags; u64 vector; + int i; /* wait for pending handlers to complete */ mlx5_eq_synchronize_cmd_irq(dev); @@ -1599,11 +1679,20 @@ if (!vector) goto no_trig; + bitmask = vector; + /* we must increment the allocated entries refcount before triggering the completions + * to guarantee pending commands will not get freed in the meanwhile. + * For that reason, it also has to be done inside the alloc_lock. + */ + for_each_set_bit(i, &bitmask, (1 << cmd->log_sz)) + cmd_ent_get(cmd->ent_arr[i]); vector |= MLX5_TRIGGERED_CMD_COMP; spin_unlock_irqrestore(&dev->cmd.alloc_lock, flags); mlx5_core_dbg(dev, "vector 0x%llx\n", vector); mlx5_cmd_comp_handler(dev, vector, true); + for_each_set_bit(i, &bitmask, (1 << cmd->log_sz)) + cmd_ent_put(cmd->ent_arr[i]); return; no_trig: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/devlink.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/devlink.c @@ -92,6 +92,12 @@ struct netlink_ext_ack *extack) { struct mlx5_core_dev *dev = devlink_priv(devlink); + + if (mlx5_lag_is_active(dev)) { + NL_SET_ERR_MSG_MOD(extack, "reload is unsupported in Lag mode\n"); + return -EOPNOTSUPP; + } + mlx5_unload_one(dev, false); return 0; @@ -205,6 +211,10 @@ NL_SET_ERR_MSG_MOD(extack, "Device doesn't support RoCE"); return -EOPNOTSUPP; } + if (mlx5_core_is_mp_slave(dev) || mlx5_lag_is_active(dev)) { + NL_SET_ERR_MSG_MOD(extack, "Multi port slave/Lag device can't configure RoCE"); + return -EOPNOTSUPP; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -89,9 +89,15 @@ MLX5_MPWRQ_LOG_WQE_SZ - PAGE_SHIFT : 0) #define MLX5_MPWRQ_PAGES_PER_WQE BIT(MLX5_MPWRQ_WQE_PAGE_ORDER) -#define MLX5_MTT_OCTW(npages) (ALIGN(npages, 8) / 2) -#define MLX5E_REQUIRED_WQE_MTTS (ALIGN(MLX5_MPWRQ_PAGES_PER_WQE, 8)) -#define MLX5E_LOG_ALIGNED_MPWQE_PPW (ilog2(MLX5E_REQUIRED_WQE_MTTS)) +#define MLX5_ALIGN_MTTS(mtts) (ALIGN(mtts, 8)) +#define MLX5_ALIGNED_MTTS_OCTW(mtts) ((mtts) / 2) +#define MLX5_MTT_OCTW(mtts) (MLX5_ALIGNED_MTTS_OCTW(MLX5_ALIGN_MTTS(mtts))) +/* Add another page to MLX5E_REQUIRED_WQE_MTTS as a buffer between + * WQEs, This page will absorb write overflow by the hardware, when + * receiving packets larger than MTU. These oversize packets are + * dropped by the driver at a later stage. + */ +#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 */ @@ -191,13 +197,8 @@ struct mlx5e_tx_wqe { struct mlx5_wqe_ctrl_seg ctrl; - union { - struct { - struct mlx5_wqe_eth_seg eth; - struct mlx5_wqe_data_seg data[0]; - }; - u8 tls_progress_params_ctx[0]; - }; + struct mlx5_wqe_eth_seg eth; + struct mlx5_wqe_data_seg data[0]; }; struct mlx5e_rx_wqe_ll { @@ -213,10 +214,7 @@ struct mlx5_wqe_ctrl_seg ctrl; struct mlx5_wqe_umr_ctrl_seg uctrl; struct mlx5_mkey_seg mkc; - union { - struct mlx5_mtt inline_mtts[0]; - u8 tls_static_params_ctx[0]; - }; + struct mlx5_mtt inline_mtts[0]; }; extern const char mlx5e_self_tests[][ETH_GSTRING_LEN]; @@ -271,6 +269,7 @@ MLX5E_RQ_STATE_AM, MLX5E_RQ_STATE_NO_CSUM_COMPLETE, MLX5E_RQ_STATE_CSUM_FULL, /* cqe_csum_full hw bit is set */ + MLX5E_RQ_STATE_FPGA_TLS, /* FPGA TLS enabled */ }; struct mlx5e_cq { @@ -604,7 +603,7 @@ struct dim dim; /* Dynamic Interrupt Moderation */ /* XDP */ - struct bpf_prog *xdp_prog; + struct bpf_prog __rcu *xdp_prog; struct mlx5e_xdpsq *xdpsq; DECLARE_BITMAP(flags, 8); struct page_pool *page_pool; @@ -621,6 +620,7 @@ u32 rqn; struct mlx5_core_dev *mdev; struct mlx5_core_mkey umr_mkey; + struct mlx5e_dma_info wqe_overflow; /* XDP read-mostly */ struct xdp_rxq_info xdp_rxq; @@ -651,9 +651,11 @@ /* AF_XDP zero-copy */ struct mlx5e_rq xskrq; struct mlx5e_xdpsq xsksq; - struct mlx5e_icosq xskicosq; - /* xskicosq can be accessed from any CPU - the spinlock protects it. */ - spinlock_t xskicosq_lock; + + /* Async ICOSQ */ + struct mlx5e_icosq async_icosq; + /* async_icosq can be accessed from any CPU - the spinlock protects it. */ + spinlock_t async_icosq_lock; /* data path - accessed per napi poll */ struct irq_desc *irq_desc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h @@ -105,11 +105,16 @@ bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev); +struct mlx5e_ttc_rule { + struct mlx5_flow_handle *rule; + struct mlx5_flow_destination default_dest; +}; + /* L3/L4 traffic type classifier */ struct mlx5e_ttc_table { - struct mlx5e_flow_table ft; - struct mlx5_flow_handle *rules[MLX5E_NUM_TT]; - struct mlx5_flow_handle *tunnel_rules[MLX5E_NUM_TUNNEL_TT]; + struct mlx5e_flow_table ft; + struct mlx5e_ttc_rule rules[MLX5E_NUM_TT]; + struct mlx5_flow_handle *tunnel_rules[MLX5E_NUM_TUNNEL_TT]; }; /* NIC prio FTS */ @@ -118,6 +123,9 @@ MLX5E_L2_FT_LEVEL, MLX5E_TTC_FT_LEVEL, MLX5E_INNER_TTC_FT_LEVEL, +#ifdef CONFIG_MLX5_EN_TLS + MLX5E_ACCEL_FS_TCP_FT_LEVEL, +#endif #ifdef CONFIG_MLX5_EN_ARFS MLX5E_ARFS_FT_LEVEL #endif @@ -211,6 +219,10 @@ static inline int mlx5e_arfs_disable(struct mlx5e_priv *priv) { return -EOPNOTSUPP; } #endif +#ifdef CONFIG_MLX5_EN_TLS +struct mlx5e_accel_fs_tcp; +#endif + struct mlx5e_flow_steering { struct mlx5_flow_namespace *ns; #ifdef CONFIG_MLX5_EN_RXNFC @@ -224,6 +236,9 @@ #ifdef CONFIG_MLX5_EN_ARFS struct mlx5e_arfs_tables arfs; #endif +#ifdef CONFIG_MLX5_EN_TLS + struct mlx5e_accel_fs_tcp *accel_tcp; +#endif }; struct ttc_params { @@ -248,6 +263,11 @@ struct mlx5e_ttc_table *ttc); void mlx5e_destroy_flow_table(struct mlx5e_flow_table *ft); +int mlx5e_ttc_fwd_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type, + struct mlx5_flow_destination *new_dest); +struct mlx5_flow_destination +mlx5e_ttc_get_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type); +int mlx5e_ttc_fwd_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type); void mlx5e_enable_cvlan_filter(struct mlx5e_priv *priv); void mlx5e_disable_cvlan_filter(struct mlx5e_priv *priv); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/health.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/health.c @@ -212,8 +212,8 @@ { u32 data_size; + int err = 0; u32 offset; - int err; for (offset = 0; offset < value_len; offset += data_size) { data_size = value_len - offset; @@ -245,7 +245,7 @@ err = devlink_fmsg_binary_pair_nest_start(fmsg, "data"); if (err) - return err; + goto free_page; cmd = mlx5_rsc_dump_cmd_create(mdev, key); if (IS_ERR(cmd)) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/params.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/params.h @@ -11,33 +11,33 @@ u16 chunk_size; }; +struct mlx5e_cq_param { + u32 cqc[MLX5_ST_SZ_DW(cqc)]; + struct mlx5_wq_param wq; + u16 eq_ix; + u8 cq_period_mode; +}; + struct mlx5e_rq_param { + struct mlx5e_cq_param cqp; u32 rqc[MLX5_ST_SZ_DW(rqc)]; struct mlx5_wq_param wq; struct mlx5e_rq_frags_info frags_info; }; struct mlx5e_sq_param { + struct mlx5e_cq_param cqp; u32 sqc[MLX5_ST_SZ_DW(sqc)]; struct mlx5_wq_param wq; bool is_mpw; }; -struct mlx5e_cq_param { - u32 cqc[MLX5_ST_SZ_DW(cqc)]; - struct mlx5_wq_param wq; - u16 eq_ix; - u8 cq_period_mode; -}; - struct mlx5e_channel_param { struct mlx5e_rq_param rq; - struct mlx5e_sq_param sq; + struct mlx5e_sq_param txq_sq; struct mlx5e_sq_param xdp_sq; struct mlx5e_sq_param icosq; - struct mlx5e_cq_param rx_cq; - struct mlx5e_cq_param tx_cq; - struct mlx5e_cq_param icosq_cq; + struct mlx5e_sq_param async_icosq; }; static inline bool mlx5e_qid_get_ch_if_in_group(struct mlx5e_params *params, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/port.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/port.c @@ -384,21 +384,6 @@ *_policy = MLX5_GET(pplm_reg, _buf, fec_override_admin_##link); \ } while (0) -#define MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(buf, policy, write, link) \ - do { \ - unsigned long policy_long; \ - u16 *__policy = &(policy); \ - bool _write = (write); \ - \ - policy_long = *__policy; \ - if (_write && *__policy) \ - *__policy = find_first_bit(&policy_long, \ - sizeof(policy_long) * BITS_PER_BYTE);\ - MLX5E_FEC_OVERRIDE_ADMIN_POLICY(buf, *__policy, _write, link); \ - if (!_write && *__policy) \ - *__policy = 1 << *__policy; \ - } while (0) - /* get/set FEC admin field for a given speed */ static int mlx5e_fec_admin_field(u32 *pplm, u16 *fec_policy, bool write, enum mlx5e_fec_supported_link_mode link_mode) @@ -420,16 +405,16 @@ MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_50G_1X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 50g_1x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 50g_1x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_100G_2X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 100g_2x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g_2x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_200G_4X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 200g_4x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 200g_4x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_400G_8X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 400g_8x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 400g_8x); break; default: return -EINVAL; @@ -487,11 +472,8 @@ int err; int i; - if (!MLX5_CAP_GEN(dev, pcam_reg)) - return -EOPNOTSUPP; - - if (!MLX5_CAP_PCAM_REG(dev, pplm)) - return -EOPNOTSUPP; + if (!MLX5_CAP_GEN(dev, pcam_reg) || !MLX5_CAP_PCAM_REG(dev, pplm)) + return false; MLX5_SET(pplm_reg, in, local_port, 1); err = mlx5_core_access_reg(dev, in, sz, out, sz, MLX5_REG_PPLM, 0, 0); @@ -569,6 +551,9 @@ if (fec_policy >= (1 << MLX5E_FEC_LLRS_272_257_1) && !fec_50g_per_lane) return -EOPNOTSUPP; + if (fec_policy && !mlx5e_fec_in_caps(dev, fec_policy)) + return -EOPNOTSUPP; + MLX5_SET(pplm_reg, in, local_port, 1); err = mlx5_core_access_reg(dev, in, sz, out, sz, MLX5_REG_PPLM, 0, 0); if (err) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c @@ -187,7 +187,7 @@ struct mlx5e_priv *priv; /* A given netdev is not a representor or not a slave of LAG configuration */ - if (!mlx5e_eswitch_rep(netdev) || !bond_slave_get_rtnl(netdev)) + if (!mlx5e_eswitch_rep(netdev) || !netif_is_lag_port(netdev)) return false; priv = netdev_priv(netdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c @@ -109,11 +109,25 @@ rtnl_unlock(); } +struct neigh_update_work { + struct work_struct work; + struct neighbour *n; + struct mlx5e_neigh_hash_entry *nhe; +}; + +static void mlx5e_release_neigh_update_work(struct neigh_update_work *update_work) +{ + neigh_release(update_work->n); + mlx5e_rep_neigh_entry_release(update_work->nhe); + kfree(update_work); +} + static void mlx5e_rep_neigh_update(struct work_struct *work) { - struct mlx5e_neigh_hash_entry *nhe = - container_of(work, struct mlx5e_neigh_hash_entry, neigh_update_work); - struct neighbour *n = nhe->n; + struct neigh_update_work *update_work = container_of(work, struct neigh_update_work, + work); + struct mlx5e_neigh_hash_entry *nhe = update_work->nhe; + struct neighbour *n = update_work->n; struct mlx5e_encap_entry *e; unsigned char ha[ETH_ALEN]; struct mlx5e_priv *priv; @@ -145,30 +159,42 @@ mlx5e_rep_update_flows(priv, e, neigh_connected, ha); mlx5e_encap_put(priv, e); } - mlx5e_rep_neigh_entry_release(nhe); rtnl_unlock(); - neigh_release(n); + mlx5e_release_neigh_update_work(update_work); } -static void mlx5e_rep_queue_neigh_update_work(struct mlx5e_priv *priv, - struct mlx5e_neigh_hash_entry *nhe, - struct neighbour *n) +static struct neigh_update_work *mlx5e_alloc_neigh_update_work(struct mlx5e_priv *priv, + struct neighbour *n) { - /* Take a reference to ensure the neighbour and mlx5 encap - * entry won't be destructed until we drop the reference in - * delayed work. - */ - neigh_hold(n); + struct neigh_update_work *update_work; + struct mlx5e_neigh_hash_entry *nhe; + struct mlx5e_neigh m_neigh = {}; - /* This assignment is valid as long as the the neigh reference - * is taken - */ - nhe->n = n; + update_work = kzalloc(sizeof(*update_work), GFP_ATOMIC); + if (WARN_ON(!update_work)) + return NULL; + + m_neigh.dev = n->dev; + m_neigh.family = n->ops->family; + memcpy(&m_neigh.dst_ip, n->primary_key, n->tbl->key_len); - if (!queue_work(priv->wq, &nhe->neigh_update_work)) { - mlx5e_rep_neigh_entry_release(nhe); - neigh_release(n); + /* Obtain reference to nhe as last step in order not to release it in + * atomic context. + */ + rcu_read_lock(); + nhe = mlx5e_rep_neigh_entry_lookup(priv, &m_neigh); + rcu_read_unlock(); + if (!nhe) { + kfree(update_work); + return NULL; } + + INIT_WORK(&update_work->work, mlx5e_rep_neigh_update); + neigh_hold(n); + update_work->n = n; + update_work->nhe = nhe; + + return update_work; } static int mlx5e_rep_netevent_event(struct notifier_block *nb, @@ -180,7 +206,7 @@ struct net_device *netdev = rpriv->netdev; struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5e_neigh_hash_entry *nhe = NULL; - struct mlx5e_neigh m_neigh = {}; + struct neigh_update_work *update_work; struct neigh_parms *p; struct neighbour *n; bool found = false; @@ -195,17 +221,11 @@ #endif return NOTIFY_DONE; - m_neigh.dev = n->dev; - m_neigh.family = n->ops->family; - memcpy(&m_neigh.dst_ip, n->primary_key, n->tbl->key_len); - - rcu_read_lock(); - nhe = mlx5e_rep_neigh_entry_lookup(priv, &m_neigh); - rcu_read_unlock(); - if (!nhe) + update_work = mlx5e_alloc_neigh_update_work(priv, n); + if (!update_work) return NOTIFY_DONE; - mlx5e_rep_queue_neigh_update_work(priv, nhe, n); + queue_work(priv->wq, &update_work->work); break; case NETEVENT_DELAY_PROBE_TIME_UPDATE: @@ -351,7 +371,6 @@ (*nhe)->priv = priv; memcpy(&(*nhe)->m_neigh, &e->m_neigh, sizeof(e->m_neigh)); - INIT_WORK(&(*nhe)->neigh_update_work, mlx5e_rep_neigh_update); spin_lock_init(&(*nhe)->encap_list_lock); INIT_LIST_HEAD(&(*nhe)->encap_list); refcount_set(&(*nhe)->refcnt, 1); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c @@ -107,12 +107,16 @@ mlx5e_tc_encap_flows_del(priv, e, &flow_list); if (neigh_connected && !(e->flags & MLX5_ENCAP_ENTRY_VALID)) { + struct net_device *route_dev; + ether_addr_copy(e->h_dest, ha); ether_addr_copy(eth->h_dest, ha); /* Update the encap source mac, in case that we delete * the flows when encap source mac changed. */ - ether_addr_copy(eth->h_source, e->route_dev->dev_addr); + route_dev = __dev_get_by_index(dev_net(priv->netdev), e->route_dev_ifindex); + if (route_dev) + ether_addr_copy(eth->h_source, route_dev->dev_addr); mlx5e_tc_encap_flows_add(priv, e, &flow_list); } @@ -623,6 +627,11 @@ if (!reg_c0) return true; + /* If reg_c0 is not equal to the default flow tag then skb->mark + * is not supported and must be reset back to 0. + */ + skb->mark = 0; + priv = netdev_priv(skb->dev); esw = priv->mdev->priv.eswitch; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c @@ -77,13 +77,13 @@ return 0; } -static int mlx5e_route_lookup_ipv4(struct mlx5e_priv *priv, - struct net_device *mirred_dev, - struct net_device **out_dev, - struct net_device **route_dev, - struct flowi4 *fl4, - struct neighbour **out_n, - u8 *out_ttl) +static int mlx5e_route_lookup_ipv4_get(struct mlx5e_priv *priv, + struct net_device *mirred_dev, + struct net_device **out_dev, + struct net_device **route_dev, + struct flowi4 *fl4, + struct neighbour **out_n, + u8 *out_ttl) { struct neighbour *n; struct rtable *rt; @@ -117,18 +117,28 @@ ip_rt_put(rt); return ret; } + dev_hold(*route_dev); if (!(*out_ttl)) *out_ttl = ip4_dst_hoplimit(&rt->dst); n = dst_neigh_lookup(&rt->dst, &fl4->daddr); ip_rt_put(rt); - if (!n) + if (!n) { + dev_put(*route_dev); return -ENOMEM; + } *out_n = n; return 0; } +static void mlx5e_route_lookup_ipv4_put(struct net_device *route_dev, + struct neighbour *n) +{ + neigh_release(n); + dev_put(route_dev); +} + static const char *mlx5e_netdev_kind(struct net_device *dev) { if (dev->rtnl_link_ops) @@ -193,8 +203,8 @@ fl4.saddr = tun_key->u.ipv4.src; ttl = tun_key->ttl; - err = mlx5e_route_lookup_ipv4(priv, mirred_dev, &out_dev, &route_dev, - &fl4, &n, &ttl); + err = mlx5e_route_lookup_ipv4_get(priv, mirred_dev, &out_dev, &route_dev, + &fl4, &n, &ttl); if (err) return err; @@ -223,7 +233,7 @@ e->m_neigh.family = n->ops->family; memcpy(&e->m_neigh.dst_ip, n->primary_key, n->tbl->key_len); e->out_dev = out_dev; - e->route_dev = route_dev; + e->route_dev_ifindex = route_dev->ifindex; /* It's important to add the neigh to the hash table before checking * the neigh validity state. So if we'll get a notification, in case the @@ -278,7 +288,7 @@ e->flags |= MLX5_ENCAP_ENTRY_VALID; mlx5e_rep_queue_neigh_stats_work(netdev_priv(out_dev)); - neigh_release(n); + mlx5e_route_lookup_ipv4_put(route_dev, n); return err; destroy_neigh_entry: @@ -286,18 +296,18 @@ free_encap: kfree(encap_header); release_neigh: - neigh_release(n); + mlx5e_route_lookup_ipv4_put(route_dev, n); return err; } #if IS_ENABLED(CONFIG_INET) && IS_ENABLED(CONFIG_IPV6) -static int mlx5e_route_lookup_ipv6(struct mlx5e_priv *priv, - struct net_device *mirred_dev, - struct net_device **out_dev, - struct net_device **route_dev, - struct flowi6 *fl6, - struct neighbour **out_n, - u8 *out_ttl) +static int mlx5e_route_lookup_ipv6_get(struct mlx5e_priv *priv, + struct net_device *mirred_dev, + struct net_device **out_dev, + struct net_device **route_dev, + struct flowi6 *fl6, + struct neighbour **out_n, + u8 *out_ttl) { struct dst_entry *dst; struct neighbour *n; @@ -318,15 +328,25 @@ return ret; } + dev_hold(*route_dev); n = dst_neigh_lookup(dst, &fl6->daddr); dst_release(dst); - if (!n) + if (!n) { + dev_put(*route_dev); return -ENOMEM; + } *out_n = n; return 0; } +static void mlx5e_route_lookup_ipv6_put(struct net_device *route_dev, + struct neighbour *n) +{ + neigh_release(n); + dev_put(route_dev); +} + int mlx5e_tc_tun_create_header_ipv6(struct mlx5e_priv *priv, struct net_device *mirred_dev, struct mlx5e_encap_entry *e) @@ -348,8 +368,8 @@ fl6.daddr = tun_key->u.ipv6.dst; fl6.saddr = tun_key->u.ipv6.src; - err = mlx5e_route_lookup_ipv6(priv, mirred_dev, &out_dev, &route_dev, - &fl6, &n, &ttl); + err = mlx5e_route_lookup_ipv6_get(priv, mirred_dev, &out_dev, &route_dev, + &fl6, &n, &ttl); if (err) return err; @@ -378,7 +398,7 @@ e->m_neigh.family = n->ops->family; memcpy(&e->m_neigh.dst_ip, n->primary_key, n->tbl->key_len); e->out_dev = out_dev; - e->route_dev = route_dev; + e->route_dev_ifindex = route_dev->ifindex; /* It's importent to add the neigh to the hash table before checking * the neigh validity state. So if we'll get a notification, in case the @@ -433,7 +453,7 @@ e->flags |= MLX5_ENCAP_ENTRY_VALID; mlx5e_rep_queue_neigh_stats_work(netdev_priv(out_dev)); - neigh_release(n); + mlx5e_route_lookup_ipv6_put(route_dev, n); return err; destroy_neigh_entry: @@ -441,7 +461,7 @@ free_encap: kfree(encap_header); release_neigh: - neigh_release(n); + mlx5e_route_lookup_ipv6_put(route_dev, n); return err; } #endif --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c @@ -227,6 +227,10 @@ option_key = (struct geneve_opt *)&enc_opts.key->data[0]; option_mask = (struct geneve_opt *)&enc_opts.mask->data[0]; + if (option_mask->opt_class == 0 && option_mask->type == 0 && + !memchr_inv(option_mask->opt_data, 0, option_mask->length * 4)) + return 0; + if (option_key->length > max_tlv_option_data_len) { NL_SET_ERR_MSG_MOD(extack, "Matching on GENEVE options: unsupported option len"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h @@ -11,8 +11,18 @@ enum mlx5e_icosq_wqe_type { MLX5E_ICOSQ_WQE_NOP, MLX5E_ICOSQ_WQE_UMR_RX, +#ifdef CONFIG_MLX5_EN_TLS + MLX5E_ICOSQ_WQE_UMR_TLS, + MLX5E_ICOSQ_WQE_SET_PSV_TLS, + MLX5E_ICOSQ_WQE_GET_PSV_TLS, +#endif }; +static inline bool mlx5e_skb_is_multicast(struct sk_buff *skb) +{ + return skb->pkt_type == PACKET_MULTICAST || skb->pkt_type == PACKET_BROADCAST; +} + static inline bool mlx5e_wqc_has_room_for(struct mlx5_wq_cyc *wq, u16 cc, u16 pc, u16 n) { @@ -114,9 +124,19 @@ struct { struct mlx5e_rq *rq; } umr; +#ifdef CONFIG_MLX5_EN_TLS + struct { + struct mlx5e_ktls_offload_context_rx *priv_rx; + } tls_set_params; + struct { + struct mlx5e_ktls_rx_resync_buf *buf; + } tls_get_params; +#endif }; }; +void mlx5e_free_icosq_descs(struct mlx5e_icosq *sq); + static inline u16 mlx5e_icosq_get_next_pi(struct mlx5e_icosq *sq, u16 size) { struct mlx5_wq_cyc *wq = &sq->wq; @@ -182,7 +202,7 @@ static inline bool mlx5e_transport_inline_tx_wqe(struct mlx5_wqe_ctrl_seg *cseg) { - return cseg && !!cseg->tisn; + return cseg && !!cseg->tis_tir_num; } static inline u8 @@ -279,6 +299,15 @@ u8 tun_l4_proto; }; +static inline void mlx5e_eseg_swp_offsets_add_vlan(struct mlx5_wqe_eth_seg *eseg) +{ + /* SWP offsets are in 2-bytes words */ + eseg->swp_outer_l3_offset += VLAN_HLEN / 2; + eseg->swp_outer_l4_offset += VLAN_HLEN / 2; + eseg->swp_inner_l3_offset += VLAN_HLEN / 2; + eseg->swp_inner_l4_offset += VLAN_HLEN / 2; +} + static inline void mlx5e_set_eseg_swp(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, struct mlx5e_swp_spec *swp_spec) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c @@ -121,7 +121,7 @@ bool mlx5e_xdp_handle(struct mlx5e_rq *rq, struct mlx5e_dma_info *di, u32 *len, struct xdp_buff *xdp) { - struct bpf_prog *prog = READ_ONCE(rq->xdp_prog); + struct bpf_prog *prog = rcu_dereference(rq->xdp_prog); u32 act; int err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h @@ -85,7 +85,7 @@ clear_bit(MLX5E_STATE_XDP_TX_ENABLED, &priv->state); /* Let other device's napi(s) and XSK wakeups see our new state. */ - synchronize_rcu(); + synchronize_net(); } static inline bool mlx5e_xdp_tx_is_enabled(struct mlx5e_priv *priv) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c @@ -31,7 +31,6 @@ { struct xdp_buff *xdp = wi->umr.dma_info[page_idx].xsk; u32 cqe_bcnt32 = cqe_bcnt; - bool consumed; /* Check packet size. Note LRO doesn't use linear SKB */ if (unlikely(cqe_bcnt > rq->hw_mtu)) { @@ -51,10 +50,6 @@ xsk_buff_dma_sync_for_cpu(xdp); prefetch(xdp->data); - rcu_read_lock(); - consumed = mlx5e_xdp_handle(rq, NULL, &cqe_bcnt32, xdp); - rcu_read_unlock(); - /* Possible flows: * - XDP_REDIRECT to XSKMAP: * The page is owned by the userspace from now. @@ -70,7 +65,7 @@ * allocated first from the Reuse Ring, so it has enough space. */ - if (likely(consumed)) { + if (likely(mlx5e_xdp_handle(rq, NULL, &cqe_bcnt32, xdp))) { if (likely(__test_and_clear_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags))) __set_bit(page_idx, wi->xdp_xmit_bitmap); /* non-atomic */ return NULL; /* page/packet was consumed by XDP */ @@ -88,7 +83,6 @@ u32 cqe_bcnt) { struct xdp_buff *xdp = wi->di->xsk; - bool consumed; /* wi->offset is not used in this function, because xdp->data and the * DMA address point directly to the necessary place. Furthermore, the @@ -107,11 +101,7 @@ return NULL; } - rcu_read_lock(); - consumed = mlx5e_xdp_handle(rq, NULL, &cqe_bcnt, xdp); - rcu_read_unlock(); - - if (likely(consumed)) + if (likely(mlx5e_xdp_handle(rq, NULL, &cqe_bcnt, xdp))) return NULL; /* page/packet was consumed by XDP */ /* XDP_PASS: copy the data from the UMEM to a new SKB. The frame reuse --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c @@ -34,31 +34,13 @@ } } -static void mlx5e_build_xskicosq_param(struct mlx5e_priv *priv, - u8 log_wq_size, - struct mlx5e_sq_param *param) -{ - void *sqc = param->sqc; - void *wq = MLX5_ADDR_OF(sqc, sqc, wq); - - mlx5e_build_sq_param_common(priv, param); - - MLX5_SET(wq, wq, log_wq_sz, log_wq_size); -} - static void mlx5e_build_xsk_cparam(struct mlx5e_priv *priv, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_channel_param *cparam) { - const u8 xskicosq_size = MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE; - mlx5e_build_rq_param(priv, params, xsk, &cparam->rq); mlx5e_build_xdpsq_param(priv, params, &cparam->xdp_sq); - mlx5e_build_xskicosq_param(priv, xskicosq_size, &cparam->icosq); - mlx5e_build_rx_cq_param(priv, params, xsk, &cparam->rx_cq); - mlx5e_build_tx_cq_param(priv, params, &cparam->tx_cq); - mlx5e_build_ico_cq_param(priv, xskicosq_size, &cparam->icosq_cq); } int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, @@ -66,7 +48,6 @@ struct mlx5e_channel *c) { struct mlx5e_channel_param *cparam; - struct dim_cq_moder icocq_moder = {}; int err; if (!mlx5e_validate_xsk_param(params, xsk, priv->mdev)) @@ -78,7 +59,7 @@ mlx5e_build_xsk_cparam(priv, params, xsk, cparam); - err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam->rx_cq, &c->xskrq.cq); + err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam->rq.cqp, &c->xskrq.cq); if (unlikely(err)) goto err_free_cparam; @@ -86,7 +67,7 @@ if (unlikely(err)) goto err_close_rx_cq; - err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam->tx_cq, &c->xsksq.cq); + err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam->xdp_sq.cqp, &c->xsksq.cq); if (unlikely(err)) goto err_close_rq; @@ -100,31 +81,12 @@ if (unlikely(err)) goto err_close_tx_cq; - err = mlx5e_open_cq(c, icocq_moder, &cparam->icosq_cq, &c->xskicosq.cq); - if (unlikely(err)) - goto err_close_sq; - - /* Create a dedicated SQ for posting NOPs whenever we need an IRQ to be - * triggered and NAPI to be called on the correct CPU. - */ - err = mlx5e_open_icosq(c, params, &cparam->icosq, &c->xskicosq); - if (unlikely(err)) - goto err_close_icocq; - kvfree(cparam); - spin_lock_init(&c->xskicosq_lock); - set_bit(MLX5E_CHANNEL_STATE_XSK, c->state); return 0; -err_close_icocq: - mlx5e_close_cq(&c->xskicosq.cq); - -err_close_sq: - mlx5e_close_xdpsq(&c->xsksq); - err_close_tx_cq: mlx5e_close_cq(&c->xsksq.cq); @@ -143,37 +105,31 @@ void mlx5e_close_xsk(struct mlx5e_channel *c) { clear_bit(MLX5E_CHANNEL_STATE_XSK, c->state); - napi_synchronize(&c->napi); - synchronize_rcu(); /* Sync with the XSK wakeup. */ + synchronize_net(); /* Sync with the XSK wakeup and with NAPI. */ mlx5e_close_rq(&c->xskrq); mlx5e_close_cq(&c->xskrq.cq); - mlx5e_close_icosq(&c->xskicosq); - mlx5e_close_cq(&c->xskicosq.cq); mlx5e_close_xdpsq(&c->xsksq); mlx5e_close_cq(&c->xsksq.cq); memset(&c->xskrq, 0, sizeof(c->xskrq)); memset(&c->xsksq, 0, sizeof(c->xsksq)); - memset(&c->xskicosq, 0, sizeof(c->xskicosq)); } void mlx5e_activate_xsk(struct mlx5e_channel *c) { - mlx5e_activate_icosq(&c->xskicosq); set_bit(MLX5E_RQ_STATE_ENABLED, &c->xskrq.state); /* TX queue is created active. */ - spin_lock(&c->xskicosq_lock); - mlx5e_trigger_irq(&c->xskicosq); - spin_unlock(&c->xskicosq_lock); + spin_lock_bh(&c->async_icosq_lock); + mlx5e_trigger_irq(&c->async_icosq); + spin_unlock_bh(&c->async_icosq_lock); } void mlx5e_deactivate_xsk(struct mlx5e_channel *c) { mlx5e_deactivate_rq(&c->xskrq); /* TX queue is disabled on close. */ - mlx5e_deactivate_icosq(&c->xskicosq); } static int mlx5e_redirect_xsk_rqt(struct mlx5e_priv *priv, u16 ix, u32 rqn) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c @@ -26,19 +26,19 @@ return -ENXIO; if (!napi_if_scheduled_mark_missed(&c->napi)) { - /* To avoid WQE overrun, don't post a NOP if XSKICOSQ is not + /* To avoid WQE overrun, don't post a NOP if async_icosq is not * active and not polled by NAPI. Return 0, because the upcoming * activate will trigger the IRQ for us. */ - if (unlikely(!test_bit(MLX5E_SQ_STATE_ENABLED, &c->xskicosq.state))) + if (unlikely(!test_bit(MLX5E_SQ_STATE_ENABLED, &c->async_icosq.state))) return 0; - if (test_and_set_bit(MLX5E_SQ_STATE_PENDING_XSK_TX, &c->xskicosq.state)) + if (test_and_set_bit(MLX5E_SQ_STATE_PENDING_XSK_TX, &c->async_icosq.state)) return 0; - spin_lock(&c->xskicosq_lock); - mlx5e_trigger_irq(&c->xskicosq); - spin_unlock(&c->xskicosq_lock); + spin_lock_bh(&c->async_icosq_lock); + mlx5e_trigger_irq(&c->async_icosq); + spin_unlock_bh(&c->async_icosq_lock); } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h @@ -37,6 +37,7 @@ #include #include #include "en_accel/ipsec_rxtx.h" +#include "en_accel/tls.h" #include "en_accel/tls_rxtx.h" #include "en.h" #include "en/txrx.h" @@ -50,7 +51,7 @@ } static inline void -mlx5e_tx_tunnel_accel(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg) +mlx5e_tx_tunnel_accel(struct sk_buff *skb, struct mlx5_wqe_eth_seg *eseg, u16 ihs) { struct mlx5e_swp_spec swp_spec = {}; unsigned int offset = 0; @@ -84,6 +85,8 @@ } mlx5e_set_eseg_swp(skb, eseg, &swp_spec); + if (skb_vlan_tag_present(skb) && ihs) + mlx5e_eseg_swp_offsets_add_vlan(eseg); } #else @@ -147,4 +150,13 @@ return true; } +static inline int mlx5e_accel_init_rx(struct mlx5e_priv *priv) +{ + return mlx5e_ktls_init_rx(priv); +} + +static inline void mlx5e_accel_cleanup_rx(struct mlx5e_priv *priv) +{ + mlx5e_ktls_cleanup_rx(priv); +} #endif /* __MLX5E_EN_ACCEL_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c @@ -0,0 +1,402 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB +/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ + +#include +#include "en_accel/fs_tcp.h" +#include "fs_core.h" + +enum accel_fs_tcp_type { + ACCEL_FS_IPV4_TCP, + ACCEL_FS_IPV6_TCP, + ACCEL_FS_TCP_NUM_TYPES, +}; + +struct mlx5e_accel_fs_tcp { + struct mlx5e_flow_table tables[ACCEL_FS_TCP_NUM_TYPES]; + struct mlx5_flow_handle *default_rules[ACCEL_FS_TCP_NUM_TYPES]; +}; + +static enum mlx5e_traffic_types fs_accel2tt(enum accel_fs_tcp_type i) +{ + switch (i) { + case ACCEL_FS_IPV4_TCP: + return MLX5E_TT_IPV4_TCP; + default: /* ACCEL_FS_IPV6_TCP */ + return MLX5E_TT_IPV6_TCP; + } +} + +static void accel_fs_tcp_set_ipv4_flow(struct mlx5_flow_spec *spec, struct sock *sk) +{ + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, outer_headers.ip_protocol); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_protocol, IPPROTO_TCP); + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, outer_headers.ip_version); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_version, 4); + memcpy(MLX5_ADDR_OF(fte_match_param, spec->match_value, + outer_headers.src_ipv4_src_ipv6.ipv4_layout.ipv4), + &inet_sk(sk)->inet_daddr, 4); + memcpy(MLX5_ADDR_OF(fte_match_param, spec->match_value, + outer_headers.dst_ipv4_dst_ipv6.ipv4_layout.ipv4), + &inet_sk(sk)->inet_rcv_saddr, 4); + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, + outer_headers.src_ipv4_src_ipv6.ipv4_layout.ipv4); + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, + outer_headers.dst_ipv4_dst_ipv6.ipv4_layout.ipv4); +} + +#if IS_ENABLED(CONFIG_IPV6) +static void accel_fs_tcp_set_ipv6_flow(struct mlx5_flow_spec *spec, struct sock *sk) +{ + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, outer_headers.ip_protocol); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_protocol, IPPROTO_TCP); + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, outer_headers.ip_version); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_version, 6); + memcpy(MLX5_ADDR_OF(fte_match_param, spec->match_value, + outer_headers.src_ipv4_src_ipv6.ipv6_layout.ipv6), + &sk->sk_v6_daddr, 16); + memcpy(MLX5_ADDR_OF(fte_match_param, spec->match_value, + outer_headers.dst_ipv4_dst_ipv6.ipv6_layout.ipv6), + &inet6_sk(sk)->saddr, 16); + memset(MLX5_ADDR_OF(fte_match_param, spec->match_criteria, + outer_headers.src_ipv4_src_ipv6.ipv6_layout.ipv6), + 0xff, 16); + memset(MLX5_ADDR_OF(fte_match_param, spec->match_criteria, + outer_headers.dst_ipv4_dst_ipv6.ipv6_layout.ipv6), + 0xff, 16); +} +#endif + +void mlx5e_accel_fs_del_sk(struct mlx5_flow_handle *rule) +{ + mlx5_del_flow_rules(rule); +} + +struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_priv *priv, + struct sock *sk, u32 tirn, + uint32_t flow_tag) +{ + struct mlx5_flow_destination dest = {}; + struct mlx5e_flow_table *ft = NULL; + struct mlx5e_accel_fs_tcp *fs_tcp; + MLX5_DECLARE_FLOW_ACT(flow_act); + struct mlx5_flow_handle *flow; + struct mlx5_flow_spec *spec; + + spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + if (!spec) + return ERR_PTR(-ENOMEM); + + fs_tcp = priv->fs.accel_tcp; + + spec->match_criteria_enable = MLX5_MATCH_OUTER_HEADERS; + + switch (sk->sk_family) { + case AF_INET: + accel_fs_tcp_set_ipv4_flow(spec, sk); + ft = &fs_tcp->tables[ACCEL_FS_IPV4_TCP]; + mlx5e_dbg(HW, priv, "%s flow is %pI4:%d -> %pI4:%d\n", __func__, + &inet_sk(sk)->inet_rcv_saddr, + inet_sk(sk)->inet_sport, + &inet_sk(sk)->inet_daddr, + inet_sk(sk)->inet_dport); + break; +#if IS_ENABLED(CONFIG_IPV6) + case AF_INET6: + if (!sk->sk_ipv6only && + ipv6_addr_type(&sk->sk_v6_daddr) == IPV6_ADDR_MAPPED) { + accel_fs_tcp_set_ipv4_flow(spec, sk); + ft = &fs_tcp->tables[ACCEL_FS_IPV4_TCP]; + } else { + accel_fs_tcp_set_ipv6_flow(spec, sk); + ft = &fs_tcp->tables[ACCEL_FS_IPV6_TCP]; + } + break; +#endif + default: + break; + } + + if (!ft) { + flow = ERR_PTR(-EINVAL); + goto out; + } + + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, + outer_headers.tcp_dport); + MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, + outer_headers.tcp_sport); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.tcp_dport, + ntohs(inet_sk(sk)->inet_sport)); + MLX5_SET(fte_match_param, spec->match_value, outer_headers.tcp_sport, + ntohs(inet_sk(sk)->inet_dport)); + + dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; + dest.tir_num = tirn; + if (flow_tag != MLX5_FS_DEFAULT_FLOW_TAG) { + spec->flow_context.flow_tag = flow_tag; + spec->flow_context.flags = FLOW_CONTEXT_HAS_TAG; + } + + flow = mlx5_add_flow_rules(ft->t, spec, &flow_act, &dest, 1); + + if (IS_ERR(flow)) + netdev_err(priv->netdev, "mlx5_add_flow_rules() failed, flow is %ld\n", + PTR_ERR(flow)); + +out: + kvfree(spec); + return flow; +} + +static int accel_fs_tcp_add_default_rule(struct mlx5e_priv *priv, + enum accel_fs_tcp_type type) +{ + struct mlx5e_flow_table *accel_fs_t; + struct mlx5_flow_destination dest; + struct mlx5e_accel_fs_tcp *fs_tcp; + MLX5_DECLARE_FLOW_ACT(flow_act); + struct mlx5_flow_handle *rule; + int err = 0; + + fs_tcp = priv->fs.accel_tcp; + accel_fs_t = &fs_tcp->tables[type]; + + dest = mlx5e_ttc_get_default_dest(priv, fs_accel2tt(type)); + rule = mlx5_add_flow_rules(accel_fs_t->t, NULL, &flow_act, &dest, 1); + if (IS_ERR(rule)) { + err = PTR_ERR(rule); + netdev_err(priv->netdev, + "%s: add default rule failed, accel_fs type=%d, err %d\n", + __func__, type, err); + return err; + } + + fs_tcp->default_rules[type] = rule; + return 0; +} + +#define MLX5E_ACCEL_FS_TCP_NUM_GROUPS (2) +#define MLX5E_ACCEL_FS_TCP_GROUP1_SIZE (BIT(16) - 1) +#define MLX5E_ACCEL_FS_TCP_GROUP2_SIZE (BIT(0)) +#define MLX5E_ACCEL_FS_TCP_TABLE_SIZE (MLX5E_ACCEL_FS_TCP_GROUP1_SIZE +\ + MLX5E_ACCEL_FS_TCP_GROUP2_SIZE) +static int accel_fs_tcp_create_groups(struct mlx5e_flow_table *ft, + enum accel_fs_tcp_type type) +{ + int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in); + void *outer_headers_c; + int ix = 0; + u32 *in; + int err; + u8 *mc; + + ft->g = kcalloc(MLX5E_ACCEL_FS_TCP_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + in = kvzalloc(inlen, GFP_KERNEL); + if (!in || !ft->g) { + kvfree(ft->g); + kvfree(in); + return -ENOMEM; + } + + mc = MLX5_ADDR_OF(create_flow_group_in, in, match_criteria); + outer_headers_c = MLX5_ADDR_OF(fte_match_param, mc, outer_headers); + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, ip_protocol); + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, ip_version); + + switch (type) { + case ACCEL_FS_IPV4_TCP: + case ACCEL_FS_IPV6_TCP: + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, tcp_dport); + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, tcp_sport); + break; + default: + err = -EINVAL; + goto out; + } + + switch (type) { + case ACCEL_FS_IPV4_TCP: + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, + src_ipv4_src_ipv6.ipv4_layout.ipv4); + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, outer_headers_c, + dst_ipv4_dst_ipv6.ipv4_layout.ipv4); + break; + case ACCEL_FS_IPV6_TCP: + memset(MLX5_ADDR_OF(fte_match_set_lyr_2_4, outer_headers_c, + src_ipv4_src_ipv6.ipv6_layout.ipv6), + 0xff, 16); + memset(MLX5_ADDR_OF(fte_match_set_lyr_2_4, outer_headers_c, + dst_ipv4_dst_ipv6.ipv6_layout.ipv6), + 0xff, 16); + break; + default: + err = -EINVAL; + goto out; + } + + MLX5_SET_CFG(in, match_criteria_enable, MLX5_MATCH_OUTER_HEADERS); + MLX5_SET_CFG(in, start_flow_index, ix); + ix += MLX5E_ACCEL_FS_TCP_GROUP1_SIZE; + MLX5_SET_CFG(in, end_flow_index, ix - 1); + ft->g[ft->num_groups] = mlx5_create_flow_group(ft->t, in); + if (IS_ERR(ft->g[ft->num_groups])) + goto err; + ft->num_groups++; + + /* Default Flow Group */ + memset(in, 0, inlen); + MLX5_SET_CFG(in, start_flow_index, ix); + ix += MLX5E_ACCEL_FS_TCP_GROUP2_SIZE; + MLX5_SET_CFG(in, end_flow_index, ix - 1); + ft->g[ft->num_groups] = mlx5_create_flow_group(ft->t, in); + if (IS_ERR(ft->g[ft->num_groups])) + goto err; + ft->num_groups++; + + kvfree(in); + return 0; + +err: + err = PTR_ERR(ft->g[ft->num_groups]); + ft->g[ft->num_groups] = NULL; +out: + kvfree(in); + + return err; +} + +static int accel_fs_tcp_create_table(struct mlx5e_priv *priv, enum accel_fs_tcp_type type) +{ + struct mlx5e_flow_table *ft = &priv->fs.accel_tcp->tables[type]; + struct mlx5_flow_table_attr ft_attr = {}; + int err; + + ft->num_groups = 0; + + ft_attr.max_fte = MLX5E_ACCEL_FS_TCP_TABLE_SIZE; + ft_attr.level = MLX5E_ACCEL_FS_TCP_FT_LEVEL; + ft_attr.prio = MLX5E_NIC_PRIO; + + ft->t = mlx5_create_flow_table(priv->fs.ns, &ft_attr); + if (IS_ERR(ft->t)) { + err = PTR_ERR(ft->t); + ft->t = NULL; + return err; + } + + netdev_dbg(priv->netdev, "Created fs accel table id %u level %u\n", + ft->t->id, ft->t->level); + + err = accel_fs_tcp_create_groups(ft, type); + if (err) + goto err; + + err = accel_fs_tcp_add_default_rule(priv, type); + if (err) + goto err; + + return 0; +err: + mlx5e_destroy_flow_table(ft); + return err; +} + +static int accel_fs_tcp_disable(struct mlx5e_priv *priv) +{ + int err, i; + + for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) { + /* Modify ttc rules destination to point back to the indir TIRs */ + err = mlx5e_ttc_fwd_default_dest(priv, fs_accel2tt(i)); + if (err) { + netdev_err(priv->netdev, + "%s: modify ttc[%d] default destination failed, err(%d)\n", + __func__, fs_accel2tt(i), err); + return err; + } + } + + return 0; +} + +static int accel_fs_tcp_enable(struct mlx5e_priv *priv) +{ + struct mlx5_flow_destination dest = {}; + int err, i; + + dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; + for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) { + dest.ft = priv->fs.accel_tcp->tables[i].t; + + /* Modify ttc rules destination to point on the accel_fs FTs */ + err = mlx5e_ttc_fwd_dest(priv, fs_accel2tt(i), &dest); + if (err) { + netdev_err(priv->netdev, + "%s: modify ttc[%d] destination to accel failed, err(%d)\n", + __func__, fs_accel2tt(i), err); + return err; + } + } + return 0; +} + +static void accel_fs_tcp_destroy_table(struct mlx5e_priv *priv, int i) +{ + struct mlx5e_accel_fs_tcp *fs_tcp; + + fs_tcp = priv->fs.accel_tcp; + if (IS_ERR_OR_NULL(fs_tcp->tables[i].t)) + return; + + mlx5_del_flow_rules(fs_tcp->default_rules[i]); + mlx5e_destroy_flow_table(&fs_tcp->tables[i]); + fs_tcp->tables[i].t = NULL; +} + +void mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv) +{ + int i; + + if (!priv->fs.accel_tcp) + return; + + accel_fs_tcp_disable(priv); + + for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) + accel_fs_tcp_destroy_table(priv, i); + + kfree(priv->fs.accel_tcp); + priv->fs.accel_tcp = NULL; +} + +int mlx5e_accel_fs_tcp_create(struct mlx5e_priv *priv) +{ + int i, err; + + if (!MLX5_CAP_FLOWTABLE_NIC_RX(priv->mdev, ft_field_support.outer_ip_version)) + return -EOPNOTSUPP; + + priv->fs.accel_tcp = kzalloc(sizeof(*priv->fs.accel_tcp), GFP_KERNEL); + if (!priv->fs.accel_tcp) + return -ENOMEM; + + for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) { + err = accel_fs_tcp_create_table(priv, i); + if (err) + goto err_destroy_tables; + } + + err = accel_fs_tcp_enable(priv); + if (err) + goto err_destroy_tables; + + return 0; + +err_destroy_tables: + while (--i >= 0) + accel_fs_tcp_destroy_table(priv, i); + + kfree(priv->fs.accel_tcp); + priv->fs.accel_tcp = NULL; + return err; +} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ + +#ifndef __MLX5E_ACCEL_FS_TCP_H__ +#define __MLX5E_ACCEL_FS_TCP_H__ + +#include "en.h" + +#ifdef CONFIG_MLX5_EN_TLS +int mlx5e_accel_fs_tcp_create(struct mlx5e_priv *priv); +void mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv); +struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_priv *priv, + struct sock *sk, u32 tirn, + uint32_t flow_tag); +void mlx5e_accel_fs_del_sk(struct mlx5_flow_handle *rule); +#else +static inline int mlx5e_accel_fs_tcp_create(struct mlx5e_priv *priv) { return 0; } +static inline void mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv) {} +static inline struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_priv *priv, + struct sock *sk, u32 tirn, + uint32_t flow_tag) +{ return ERR_PTR(-EOPNOTSUPP); } +static inline void mlx5e_accel_fs_del_sk(struct mlx5_flow_handle *rule) {} +#endif + +#endif /* __MLX5E_ACCEL_FS_TCP_H__ */ + --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_stats.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_stats.c @@ -76,7 +76,7 @@ static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(ipsec_sw) { - return NUM_IPSEC_SW_COUNTERS; + return priv->ipsec ? NUM_IPSEC_SW_COUNTERS : 0; } static inline MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(ipsec_sw) {} @@ -105,7 +105,7 @@ static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(ipsec_hw) { - return (mlx5_fpga_ipsec_device_caps(priv->mdev)) ? NUM_IPSEC_HW_COUNTERS : 0; + return (priv->ipsec && mlx5_fpga_ipsec_device_caps(priv->mdev)) ? NUM_IPSEC_HW_COUNTERS : 0; } static MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(ipsec_hw) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c @@ -3,31 +3,8 @@ #include "en.h" #include "en_accel/ktls.h" - -u16 mlx5e_ktls_get_stop_room(struct mlx5e_txqsq *sq) -{ - u16 num_dumps, stop_room = 0; - - num_dumps = mlx5e_ktls_dumps_num_wqes(sq, MAX_SKB_FRAGS, TLS_MAX_PAYLOAD_SIZE); - - stop_room += mlx5e_stop_room_for_wqe(MLX5E_KTLS_STATIC_WQEBBS); - stop_room += mlx5e_stop_room_for_wqe(MLX5E_KTLS_PROGRESS_WQEBBS); - stop_room += num_dumps * mlx5e_stop_room_for_wqe(MLX5E_KTLS_DUMP_WQEBBS); - - return stop_room; -} - -static int mlx5e_ktls_create_tis(struct mlx5_core_dev *mdev, u32 *tisn) -{ - u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {}; - void *tisc; - - tisc = MLX5_ADDR_OF(create_tis_in, in, ctx); - - MLX5_SET(tisc, tisc, tls_en, 1); - - return mlx5e_create_tis(mdev, in, tisn); -} +#include "en_accel/ktls_utils.h" +#include "en_accel/fs_tcp.h" static int mlx5e_ktls_add(struct net_device *netdev, struct sock *sk, enum tls_offload_ctx_dir direction, @@ -35,42 +12,17 @@ u32 start_offload_tcp_sn) { struct mlx5e_priv *priv = netdev_priv(netdev); - struct mlx5e_ktls_offload_context_tx *tx_priv; - struct tls_context *tls_ctx = tls_get_ctx(sk); struct mlx5_core_dev *mdev = priv->mdev; int err; - if (WARN_ON(direction != TLS_OFFLOAD_CTX_DIR_TX)) - return -EINVAL; - if (WARN_ON(!mlx5e_ktls_type_check(mdev, crypto_info))) return -EOPNOTSUPP; - tx_priv = kvzalloc(sizeof(*tx_priv), GFP_KERNEL); - if (!tx_priv) - return -ENOMEM; - - tx_priv->expected_seq = start_offload_tcp_sn; - tx_priv->crypto_info = *(struct tls12_crypto_info_aes_gcm_128 *)crypto_info; - mlx5e_set_ktls_tx_priv_ctx(tls_ctx, tx_priv); - - /* tc and underlay_qpn values are not in use for tls tis */ - err = mlx5e_ktls_create_tis(mdev, &tx_priv->tisn); - if (err) - goto create_tis_fail; - - err = mlx5_ktls_create_key(mdev, crypto_info, &tx_priv->key_id); - if (err) - goto encryption_key_create_fail; - - mlx5e_ktls_tx_offload_set_pending(tx_priv); - - return 0; + if (direction == TLS_OFFLOAD_CTX_DIR_TX) + err = mlx5e_ktls_add_tx(netdev, sk, crypto_info, start_offload_tcp_sn); + else + err = mlx5e_ktls_add_rx(netdev, sk, crypto_info, start_offload_tcp_sn); -encryption_key_create_fail: - mlx5e_destroy_tis(priv->mdev, tx_priv->tisn); -create_tis_fail: - kvfree(tx_priv); return err; } @@ -78,29 +30,72 @@ struct tls_context *tls_ctx, enum tls_offload_ctx_dir direction) { - struct mlx5e_priv *priv = netdev_priv(netdev); - struct mlx5e_ktls_offload_context_tx *tx_priv = - mlx5e_get_ktls_tx_priv_ctx(tls_ctx); + if (direction == TLS_OFFLOAD_CTX_DIR_TX) + mlx5e_ktls_del_tx(netdev, tls_ctx); + else + mlx5e_ktls_del_rx(netdev, tls_ctx); +} - mlx5e_destroy_tis(priv->mdev, tx_priv->tisn); - mlx5_ktls_destroy_key(priv->mdev, tx_priv->key_id); - kvfree(tx_priv); +static int mlx5e_ktls_resync(struct net_device *netdev, + struct sock *sk, u32 seq, u8 *rcd_sn, + enum tls_offload_ctx_dir direction) +{ + if (unlikely(direction != TLS_OFFLOAD_CTX_DIR_RX)) + return -EOPNOTSUPP; + + mlx5e_ktls_rx_resync(netdev, sk, seq, rcd_sn); + return 0; } static const struct tlsdev_ops mlx5e_ktls_ops = { .tls_dev_add = mlx5e_ktls_add, .tls_dev_del = mlx5e_ktls_del, + .tls_dev_resync = mlx5e_ktls_resync, }; void mlx5e_ktls_build_netdev(struct mlx5e_priv *priv) { struct net_device *netdev = priv->netdev; + struct mlx5_core_dev *mdev = priv->mdev; - if (!mlx5_accel_is_ktls_device(priv->mdev)) - return; + if (mlx5_accel_is_ktls_tx(mdev)) { + netdev->hw_features |= NETIF_F_HW_TLS_TX; + netdev->features |= NETIF_F_HW_TLS_TX; + } - netdev->hw_features |= NETIF_F_HW_TLS_TX; - netdev->features |= NETIF_F_HW_TLS_TX; + if (mlx5_accel_is_ktls_rx(mdev)) + netdev->hw_features |= NETIF_F_HW_TLS_RX; netdev->tlsdev_ops = &mlx5e_ktls_ops; } + +int mlx5e_ktls_set_feature_rx(struct net_device *netdev, bool enable) +{ + struct mlx5e_priv *priv = netdev_priv(netdev); + int err = 0; + + mutex_lock(&priv->state_lock); + if (enable) + err = mlx5e_accel_fs_tcp_create(priv); + else + mlx5e_accel_fs_tcp_destroy(priv); + mutex_unlock(&priv->state_lock); + + return err; +} + +int mlx5e_ktls_init_rx(struct mlx5e_priv *priv) +{ + int err = 0; + + if (priv->netdev->features & NETIF_F_HW_TLS_RX) + err = mlx5e_accel_fs_tcp_create(priv); + + return err; +} + +void mlx5e_ktls_cleanup_rx(struct mlx5e_priv *priv) +{ + if (priv->netdev->features & NETIF_F_HW_TLS_RX) + mlx5e_accel_fs_tcp_destroy(priv); +} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.h @@ -7,122 +7,32 @@ #include "en.h" #ifdef CONFIG_MLX5_EN_TLS -#include -#include "accel/tls.h" -#include "en_accel/tls_rxtx.h" - -#define MLX5E_KTLS_STATIC_UMR_WQE_SZ \ - (offsetof(struct mlx5e_umr_wqe, tls_static_params_ctx) + \ - MLX5_ST_SZ_BYTES(tls_static_params)) -#define MLX5E_KTLS_STATIC_WQEBBS \ - (DIV_ROUND_UP(MLX5E_KTLS_STATIC_UMR_WQE_SZ, MLX5_SEND_WQE_BB)) - -#define MLX5E_KTLS_PROGRESS_WQE_SZ \ - (offsetof(struct mlx5e_tx_wqe, tls_progress_params_ctx) + \ - MLX5_ST_SZ_BYTES(tls_progress_params)) -#define MLX5E_KTLS_PROGRESS_WQEBBS \ - (DIV_ROUND_UP(MLX5E_KTLS_PROGRESS_WQE_SZ, MLX5_SEND_WQE_BB)) - -struct mlx5e_dump_wqe { - struct mlx5_wqe_ctrl_seg ctrl; - struct mlx5_wqe_data_seg data; -}; - -#define MLX5E_TLS_FETCH_UMR_WQE(sq, pi) \ - ((struct mlx5e_umr_wqe *)mlx5e_fetch_wqe(&(sq)->wq, pi, MLX5E_KTLS_STATIC_UMR_WQE_SZ)) -#define MLX5E_TLS_FETCH_PROGRESS_WQE(sq, pi) \ - ((struct mlx5e_tx_wqe *)mlx5e_fetch_wqe(&(sq)->wq, pi, MLX5E_KTLS_PROGRESS_WQE_SZ)) -#define MLX5E_TLS_FETCH_DUMP_WQE(sq, pi) \ - ((struct mlx5e_dump_wqe *)mlx5e_fetch_wqe(&(sq)->wq, pi, \ - sizeof(struct mlx5e_dump_wqe))) - -#define MLX5E_KTLS_DUMP_WQEBBS \ - (DIV_ROUND_UP(sizeof(struct mlx5e_dump_wqe), MLX5_SEND_WQE_BB)) - -enum { - MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD = 0, - MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_OFFLOAD = 1, - MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_AUTHENTICATION = 2, -}; - -enum { - MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_START = 0, - MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_TRACKING = 1, - MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_SEARCHING = 2, -}; - -struct mlx5e_ktls_offload_context_tx { - struct tls_offload_context_tx *tx_ctx; - struct tls12_crypto_info_aes_gcm_128 crypto_info; - u32 expected_seq; - u32 tisn; - u32 key_id; - bool ctx_post_pending; -}; - -struct mlx5e_ktls_offload_context_tx_shadow { - struct tls_offload_context_tx tx_ctx; - struct mlx5e_ktls_offload_context_tx *priv_tx; -}; - -static inline void -mlx5e_set_ktls_tx_priv_ctx(struct tls_context *tls_ctx, - struct mlx5e_ktls_offload_context_tx *priv_tx) -{ - struct tls_offload_context_tx *tx_ctx = tls_offload_ctx_tx(tls_ctx); - struct mlx5e_ktls_offload_context_tx_shadow *shadow; - - BUILD_BUG_ON(sizeof(*shadow) > TLS_OFFLOAD_CONTEXT_SIZE_TX); - shadow = (struct mlx5e_ktls_offload_context_tx_shadow *)tx_ctx; +void mlx5e_ktls_build_netdev(struct mlx5e_priv *priv); +int mlx5e_ktls_init_rx(struct mlx5e_priv *priv); +void mlx5e_ktls_cleanup_rx(struct mlx5e_priv *priv); +int mlx5e_ktls_set_feature_rx(struct net_device *netdev, bool enable); +#else - shadow->priv_tx = priv_tx; - priv_tx->tx_ctx = tx_ctx; +static inline void mlx5e_ktls_build_netdev(struct mlx5e_priv *priv) +{ } -static inline struct mlx5e_ktls_offload_context_tx * -mlx5e_get_ktls_tx_priv_ctx(struct tls_context *tls_ctx) +static inline int mlx5e_ktls_init_rx(struct mlx5e_priv *priv) { - struct tls_offload_context_tx *tx_ctx = tls_offload_ctx_tx(tls_ctx); - struct mlx5e_ktls_offload_context_tx_shadow *shadow; - - BUILD_BUG_ON(sizeof(*shadow) > TLS_OFFLOAD_CONTEXT_SIZE_TX); - - shadow = (struct mlx5e_ktls_offload_context_tx_shadow *)tx_ctx; - - return shadow->priv_tx; + return 0; } -void mlx5e_ktls_build_netdev(struct mlx5e_priv *priv); -void mlx5e_ktls_tx_offload_set_pending(struct mlx5e_ktls_offload_context_tx *priv_tx); - -bool mlx5e_ktls_handle_tx_skb(struct tls_context *tls_ctx, struct mlx5e_txqsq *sq, - struct sk_buff *skb, int datalen, - struct mlx5e_accel_tx_tls_state *state); -void mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq, - struct mlx5e_tx_wqe_info *wi, - u32 *dma_fifo_cc); -u16 mlx5e_ktls_get_stop_room(struct mlx5e_txqsq *sq); - -static inline u8 -mlx5e_ktls_dumps_num_wqes(struct mlx5e_txqsq *sq, unsigned int nfrags, - unsigned int sync_len) +static inline void mlx5e_ktls_cleanup_rx(struct mlx5e_priv *priv) { - /* Given the MTU and sync_len, calculates an upper bound for the - * number of DUMP WQEs needed for the TX resync of a record. - */ - return nfrags + DIV_ROUND_UP(sync_len, sq->hw_mtu); } -#else -static inline void mlx5e_ktls_build_netdev(struct mlx5e_priv *priv) +static inline int mlx5e_ktls_set_feature_rx(struct net_device *netdev, bool enable) { + netdev_warn(netdev, "kTLS is not supported\n"); + return -EOPNOTSUPP; } -static inline void -mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq, - struct mlx5e_tx_wqe_info *wi, - u32 *dma_fifo_cc) {} #endif #endif /* __MLX5E_TLS_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c @@ -0,0 +1,680 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB +// Copyright (c) 2019 Mellanox Technologies. + +#include +#include "en_accel/en_accel.h" +#include "en_accel/tls.h" +#include "en_accel/ktls_txrx.h" +#include "en_accel/ktls_utils.h" +#include "en_accel/fs_tcp.h" + +struct accel_rule { + struct work_struct work; + struct mlx5e_priv *priv; + struct mlx5_flow_handle *rule; +}; + +#define PROGRESS_PARAMS_WRITE_UNIT 64 +#define PROGRESS_PARAMS_PADDED_SIZE \ + (ALIGN(sizeof(struct mlx5_wqe_tls_progress_params_seg), \ + PROGRESS_PARAMS_WRITE_UNIT)) + +struct mlx5e_ktls_rx_resync_buf { + union { + struct mlx5_wqe_tls_progress_params_seg progress; + u8 pad[PROGRESS_PARAMS_PADDED_SIZE]; + } ____cacheline_aligned_in_smp; + dma_addr_t dma_addr; + struct mlx5e_ktls_offload_context_rx *priv_rx; +}; + +enum { + MLX5E_PRIV_RX_FLAG_DELETING, + MLX5E_NUM_PRIV_RX_FLAGS, +}; + +struct mlx5e_ktls_rx_resync_ctx { + struct tls_offload_resync_async core; + struct work_struct work; + struct mlx5e_priv *priv; + refcount_t refcnt; + __be64 sw_rcd_sn_be; + u32 seq; +}; + +struct mlx5e_ktls_offload_context_rx { + struct tls12_crypto_info_aes_gcm_128 crypto_info; + struct accel_rule rule; + struct sock *sk; + struct mlx5e_rq_stats *stats; + struct completion add_ctx; + u32 tirn; + u32 key_id; + u32 rxq; + DECLARE_BITMAP(flags, MLX5E_NUM_PRIV_RX_FLAGS); + + /* resync */ + struct mlx5e_ktls_rx_resync_ctx resync; +}; + +static bool mlx5e_ktls_priv_rx_put(struct mlx5e_ktls_offload_context_rx *priv_rx) +{ + if (!refcount_dec_and_test(&priv_rx->resync.refcnt)) + return false; + + kfree(priv_rx); + return true; +} + +static void mlx5e_ktls_priv_rx_get(struct mlx5e_ktls_offload_context_rx *priv_rx) +{ + refcount_inc(&priv_rx->resync.refcnt); +} + +static int mlx5e_ktls_create_tir(struct mlx5_core_dev *mdev, u32 *tirn, u32 rqtn) +{ + int err, inlen; + void *tirc; + u32 *in; + + inlen = MLX5_ST_SZ_BYTES(create_tir_in); + in = kvzalloc(inlen, GFP_KERNEL); + if (!in) + return -ENOMEM; + + tirc = MLX5_ADDR_OF(create_tir_in, in, ctx); + + MLX5_SET(tirc, tirc, transport_domain, mdev->mlx5e_res.td.tdn); + MLX5_SET(tirc, tirc, disp_type, MLX5_TIRC_DISP_TYPE_INDIRECT); + MLX5_SET(tirc, tirc, rx_hash_fn, MLX5_RX_HASH_FN_INVERTED_XOR8); + MLX5_SET(tirc, tirc, indirect_table, rqtn); + MLX5_SET(tirc, tirc, tls_en, 1); + MLX5_SET(tirc, tirc, self_lb_block, + MLX5_TIRC_SELF_LB_BLOCK_BLOCK_UNICAST | + MLX5_TIRC_SELF_LB_BLOCK_BLOCK_MULTICAST); + + err = mlx5_core_create_tir(mdev, in, tirn); + + kvfree(in); + return err; +} + +static void accel_rule_handle_work(struct work_struct *work) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct accel_rule *accel_rule; + struct mlx5_flow_handle *rule; + + accel_rule = container_of(work, struct accel_rule, work); + priv_rx = container_of(accel_rule, struct mlx5e_ktls_offload_context_rx, rule); + if (unlikely(test_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags))) + goto out; + + rule = mlx5e_accel_fs_add_sk(accel_rule->priv, priv_rx->sk, + priv_rx->tirn, MLX5_FS_DEFAULT_FLOW_TAG); + if (!IS_ERR_OR_NULL(rule)) + accel_rule->rule = rule; +out: + complete(&priv_rx->add_ctx); +} + +static void accel_rule_init(struct accel_rule *rule, struct mlx5e_priv *priv, + struct sock *sk) +{ + INIT_WORK(&rule->work, accel_rule_handle_work); + rule->priv = priv; +} + +static void icosq_fill_wi(struct mlx5e_icosq *sq, u16 pi, + struct mlx5e_icosq_wqe_info *wi) +{ + sq->db.wqe_info[pi] = *wi; +} + +static struct mlx5_wqe_ctrl_seg * +post_static_params(struct mlx5e_icosq *sq, + struct mlx5e_ktls_offload_context_rx *priv_rx) +{ + struct mlx5e_set_tls_static_params_wqe *wqe; + struct mlx5e_icosq_wqe_info wi; + u16 pi, num_wqebbs, room; + + num_wqebbs = MLX5E_TLS_SET_STATIC_PARAMS_WQEBBS; + room = mlx5e_stop_room_for_wqe(num_wqebbs); + if (unlikely(!mlx5e_wqc_has_room_for(&sq->wq, sq->cc, sq->pc, room))) + return ERR_PTR(-ENOSPC); + + pi = mlx5e_icosq_get_next_pi(sq, num_wqebbs); + wqe = MLX5E_TLS_FETCH_SET_STATIC_PARAMS_WQE(sq, pi); + mlx5e_ktls_build_static_params(wqe, sq->pc, sq->sqn, &priv_rx->crypto_info, + priv_rx->tirn, priv_rx->key_id, + priv_rx->resync.seq, false, + TLS_OFFLOAD_CTX_DIR_RX); + wi = (struct mlx5e_icosq_wqe_info) { + .wqe_type = MLX5E_ICOSQ_WQE_UMR_TLS, + .num_wqebbs = num_wqebbs, + .tls_set_params.priv_rx = priv_rx, + }; + icosq_fill_wi(sq, pi, &wi); + sq->pc += num_wqebbs; + + return &wqe->ctrl; +} + +static struct mlx5_wqe_ctrl_seg * +post_progress_params(struct mlx5e_icosq *sq, + struct mlx5e_ktls_offload_context_rx *priv_rx, + u32 next_record_tcp_sn) +{ + struct mlx5e_set_tls_progress_params_wqe *wqe; + struct mlx5e_icosq_wqe_info wi; + u16 pi, num_wqebbs, room; + + num_wqebbs = MLX5E_TLS_SET_PROGRESS_PARAMS_WQEBBS; + room = mlx5e_stop_room_for_wqe(num_wqebbs); + if (unlikely(!mlx5e_wqc_has_room_for(&sq->wq, sq->cc, sq->pc, room))) + return ERR_PTR(-ENOSPC); + + pi = mlx5e_icosq_get_next_pi(sq, num_wqebbs); + wqe = MLX5E_TLS_FETCH_SET_PROGRESS_PARAMS_WQE(sq, pi); + mlx5e_ktls_build_progress_params(wqe, sq->pc, sq->sqn, priv_rx->tirn, false, + next_record_tcp_sn, + TLS_OFFLOAD_CTX_DIR_RX); + wi = (struct mlx5e_icosq_wqe_info) { + .wqe_type = MLX5E_ICOSQ_WQE_SET_PSV_TLS, + .num_wqebbs = num_wqebbs, + .tls_set_params.priv_rx = priv_rx, + }; + + icosq_fill_wi(sq, pi, &wi); + sq->pc += num_wqebbs; + + return &wqe->ctrl; +} + +static int post_rx_param_wqes(struct mlx5e_channel *c, + struct mlx5e_ktls_offload_context_rx *priv_rx, + u32 next_record_tcp_sn) +{ + struct mlx5_wqe_ctrl_seg *cseg; + struct mlx5e_icosq *sq; + int err; + + err = 0; + sq = &c->async_icosq; + spin_lock_bh(&c->async_icosq_lock); + + cseg = post_static_params(sq, priv_rx); + if (IS_ERR(cseg)) + goto err_out; + cseg = post_progress_params(sq, priv_rx, next_record_tcp_sn); + if (IS_ERR(cseg)) + goto err_out; + + mlx5e_notify_hw(&sq->wq, sq->pc, sq->uar_map, cseg); +unlock: + spin_unlock_bh(&c->async_icosq_lock); + + return err; + +err_out: + priv_rx->stats->tls_resync_req_skip++; + err = PTR_ERR(cseg); + complete(&priv_rx->add_ctx); + goto unlock; +} + +static void +mlx5e_set_ktls_rx_priv_ctx(struct tls_context *tls_ctx, + struct mlx5e_ktls_offload_context_rx *priv_rx) +{ + struct mlx5e_ktls_offload_context_rx **ctx = + __tls_driver_ctx(tls_ctx, TLS_OFFLOAD_CTX_DIR_RX); + + BUILD_BUG_ON(sizeof(struct mlx5e_ktls_offload_context_rx *) > + TLS_OFFLOAD_CONTEXT_SIZE_RX); + + *ctx = priv_rx; +} + +static struct mlx5e_ktls_offload_context_rx * +mlx5e_get_ktls_rx_priv_ctx(struct tls_context *tls_ctx) +{ + struct mlx5e_ktls_offload_context_rx **ctx = + __tls_driver_ctx(tls_ctx, TLS_OFFLOAD_CTX_DIR_RX); + + return *ctx; +} + +/* Re-sync */ +/* Runs in work context */ +static int +resync_post_get_progress_params(struct mlx5e_icosq *sq, + struct mlx5e_ktls_offload_context_rx *priv_rx) +{ + struct mlx5e_get_tls_progress_params_wqe *wqe; + struct mlx5e_ktls_rx_resync_buf *buf; + struct mlx5e_icosq_wqe_info wi; + struct mlx5_wqe_ctrl_seg *cseg; + struct mlx5_seg_get_psv *psv; + struct device *pdev; + int err; + u16 pi; + + buf = kzalloc(sizeof(*buf), GFP_KERNEL); + if (unlikely(!buf)) { + err = -ENOMEM; + goto err_out; + } + + pdev = sq->channel->priv->mdev->device; + buf->dma_addr = dma_map_single(pdev, &buf->progress, + PROGRESS_PARAMS_PADDED_SIZE, DMA_FROM_DEVICE); + if (unlikely(dma_mapping_error(pdev, buf->dma_addr))) { + err = -ENOMEM; + goto err_free; + } + + buf->priv_rx = priv_rx; + + BUILD_BUG_ON(MLX5E_KTLS_GET_PROGRESS_WQEBBS != 1); + + spin_lock_bh(&sq->channel->async_icosq_lock); + + if (unlikely(!mlx5e_wqc_has_room_for(&sq->wq, sq->cc, sq->pc, 1))) { + spin_unlock_bh(&sq->channel->async_icosq_lock); + err = -ENOSPC; + goto err_dma_unmap; + } + + pi = mlx5e_icosq_get_next_pi(sq, 1); + wqe = MLX5E_TLS_FETCH_GET_PROGRESS_PARAMS_WQE(sq, pi); + +#define GET_PSV_DS_CNT (DIV_ROUND_UP(sizeof(*wqe), MLX5_SEND_WQE_DS)) + + cseg = &wqe->ctrl; + cseg->opmod_idx_opcode = + cpu_to_be32((sq->pc << 8) | MLX5_OPCODE_GET_PSV | + (MLX5_OPC_MOD_TLS_TIR_PROGRESS_PARAMS << 24)); + cseg->qpn_ds = + cpu_to_be32((sq->sqn << MLX5_WQE_CTRL_QPN_SHIFT) | GET_PSV_DS_CNT); + + psv = &wqe->psv; + psv->num_psv = 1 << 4; + psv->l_key = sq->channel->mkey_be; + psv->psv_index[0] = cpu_to_be32(priv_rx->tirn); + psv->va = cpu_to_be64(buf->dma_addr); + + wi = (struct mlx5e_icosq_wqe_info) { + .wqe_type = MLX5E_ICOSQ_WQE_GET_PSV_TLS, + .num_wqebbs = 1, + .tls_get_params.buf = buf, + }; + icosq_fill_wi(sq, pi, &wi); + sq->pc++; + mlx5e_notify_hw(&sq->wq, sq->pc, sq->uar_map, cseg); + spin_unlock_bh(&sq->channel->async_icosq_lock); + + return 0; + +err_dma_unmap: + dma_unmap_single(pdev, buf->dma_addr, PROGRESS_PARAMS_PADDED_SIZE, DMA_FROM_DEVICE); +err_free: + kfree(buf); +err_out: + priv_rx->stats->tls_resync_req_skip++; + return err; +} + +/* Function is called with elevated refcount. + * It decreases it only if no WQE is posted. + */ +static void resync_handle_work(struct work_struct *work) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + struct mlx5e_channel *c; + struct mlx5e_icosq *sq; + + resync = container_of(work, struct mlx5e_ktls_rx_resync_ctx, work); + priv_rx = container_of(resync, struct mlx5e_ktls_offload_context_rx, resync); + + if (unlikely(test_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags))) { + mlx5e_ktls_priv_rx_put(priv_rx); + return; + } + + c = resync->priv->channels.c[priv_rx->rxq]; + sq = &c->async_icosq; + + if (resync_post_get_progress_params(sq, priv_rx)) + mlx5e_ktls_priv_rx_put(priv_rx); +} + +static void resync_init(struct mlx5e_ktls_rx_resync_ctx *resync, + struct mlx5e_priv *priv) +{ + INIT_WORK(&resync->work, resync_handle_work); + resync->priv = priv; + refcount_set(&resync->refcnt, 1); +} + +/* Function can be called with the refcount being either elevated or not. + * It does not affect the refcount. + */ +static int resync_handle_seq_match(struct mlx5e_ktls_offload_context_rx *priv_rx, + struct mlx5e_channel *c) +{ + struct tls12_crypto_info_aes_gcm_128 *info = &priv_rx->crypto_info; + struct mlx5_wqe_ctrl_seg *cseg; + struct mlx5e_icosq *sq; + int err; + + memcpy(info->rec_seq, &priv_rx->resync.sw_rcd_sn_be, sizeof(info->rec_seq)); + err = 0; + + sq = &c->async_icosq; + spin_lock_bh(&c->async_icosq_lock); + + cseg = post_static_params(sq, priv_rx); + if (IS_ERR(cseg)) { + priv_rx->stats->tls_resync_res_skip++; + err = PTR_ERR(cseg); + goto unlock; + } + /* Do not increment priv_rx refcnt, CQE handling is empty */ + mlx5e_notify_hw(&sq->wq, sq->pc, sq->uar_map, cseg); + priv_rx->stats->tls_resync_res_ok++; +unlock: + spin_unlock_bh(&c->async_icosq_lock); + + return err; +} + +/* Function can be called with the refcount being either elevated or not. + * It decreases the refcount and may free the kTLS priv context. + * Refcount is not elevated only if tls_dev_del has been called, but GET_PSV was + * already in flight. + */ +void mlx5e_ktls_handle_get_psv_completion(struct mlx5e_icosq_wqe_info *wi, + struct mlx5e_icosq *sq) +{ + struct mlx5e_ktls_rx_resync_buf *buf = wi->tls_get_params.buf; + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + u8 tracker_state, auth_state, *ctx; + struct device *dev; + u32 hw_seq; + + priv_rx = buf->priv_rx; + resync = &priv_rx->resync; + dev = resync->priv->mdev->device; + if (unlikely(test_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags))) + goto out; + + dma_sync_single_for_cpu(dev, buf->dma_addr, PROGRESS_PARAMS_PADDED_SIZE, + DMA_FROM_DEVICE); + + ctx = buf->progress.ctx; + tracker_state = MLX5_GET(tls_progress_params, ctx, record_tracker_state); + auth_state = MLX5_GET(tls_progress_params, ctx, auth_state); + if (tracker_state != MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_TRACKING || + auth_state != MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD) { + priv_rx->stats->tls_resync_req_skip++; + goto out; + } + + hw_seq = MLX5_GET(tls_progress_params, ctx, hw_resync_tcp_sn); + tls_offload_rx_resync_async_request_end(priv_rx->sk, cpu_to_be32(hw_seq)); + priv_rx->stats->tls_resync_req_end++; +out: + mlx5e_ktls_priv_rx_put(priv_rx); + dma_unmap_single(dev, buf->dma_addr, PROGRESS_PARAMS_PADDED_SIZE, DMA_FROM_DEVICE); + kfree(buf); +} + +/* Runs in NAPI. + * Function elevates the refcount, unless no work is queued. + */ +static bool resync_queue_get_psv(struct sock *sk) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + + priv_rx = mlx5e_get_ktls_rx_priv_ctx(tls_get_ctx(sk)); + if (unlikely(!priv_rx)) + return false; + + if (unlikely(test_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags))) + return false; + + resync = &priv_rx->resync; + mlx5e_ktls_priv_rx_get(priv_rx); + if (unlikely(!queue_work(resync->priv->tls->rx_wq, &resync->work))) + mlx5e_ktls_priv_rx_put(priv_rx); + + return true; +} + +/* Runs in NAPI */ +static void resync_update_sn(struct mlx5e_rq *rq, struct sk_buff *skb) +{ + struct ethhdr *eth = (struct ethhdr *)(skb->data); + struct net_device *netdev = rq->netdev; + struct sock *sk = NULL; + unsigned int datalen; + struct iphdr *iph; + struct tcphdr *th; + __be32 seq; + int depth = 0; + + __vlan_get_protocol(skb, eth->h_proto, &depth); + iph = (struct iphdr *)(skb->data + depth); + + if (iph->version == 4) { + depth += sizeof(struct iphdr); + th = (void *)iph + sizeof(struct iphdr); + + sk = inet_lookup_established(dev_net(netdev), &tcp_hashinfo, + iph->saddr, th->source, iph->daddr, + th->dest, netdev->ifindex); +#if IS_ENABLED(CONFIG_IPV6) + } else { + struct ipv6hdr *ipv6h = (struct ipv6hdr *)iph; + + depth += sizeof(struct ipv6hdr); + th = (void *)ipv6h + sizeof(struct ipv6hdr); + + sk = __inet6_lookup_established(dev_net(netdev), &tcp_hashinfo, + &ipv6h->saddr, th->source, + &ipv6h->daddr, ntohs(th->dest), + netdev->ifindex, 0); +#endif + } + + depth += sizeof(struct tcphdr); + + if (unlikely(!sk)) + return; + + if (unlikely(sk->sk_state == TCP_TIME_WAIT)) + goto unref; + + if (unlikely(!resync_queue_get_psv(sk))) + goto unref; + + seq = th->seq; + datalen = skb->len - depth; + tls_offload_rx_resync_async_request_start(sk, seq, datalen); + rq->stats->tls_resync_req_start++; + +unref: + sock_gen_put(sk); +} + +void mlx5e_ktls_rx_resync(struct net_device *netdev, struct sock *sk, + u32 seq, u8 *rcd_sn) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + struct mlx5e_priv *priv; + struct mlx5e_channel *c; + + priv_rx = mlx5e_get_ktls_rx_priv_ctx(tls_get_ctx(sk)); + if (unlikely(!priv_rx)) + return; + + resync = &priv_rx->resync; + resync->sw_rcd_sn_be = *(__be64 *)rcd_sn; + resync->seq = seq; + + priv = netdev_priv(netdev); + c = priv->channels.c[priv_rx->rxq]; + + resync_handle_seq_match(priv_rx, c); +} + +/* End of resync section */ + +void mlx5e_ktls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb, + struct mlx5_cqe64 *cqe, u32 *cqe_bcnt) +{ + struct mlx5e_rq_stats *stats = rq->stats; + + switch (get_cqe_tls_offload(cqe)) { + case CQE_TLS_OFFLOAD_DECRYPTED: + skb->decrypted = 1; + stats->tls_decrypted_packets++; + stats->tls_decrypted_bytes += *cqe_bcnt; + break; + case CQE_TLS_OFFLOAD_RESYNC: + stats->tls_resync_req_pkt++; + resync_update_sn(rq, skb); + break; + default: /* CQE_TLS_OFFLOAD_ERROR: */ + stats->tls_err++; + break; + } +} + +void mlx5e_ktls_handle_ctx_completion(struct mlx5e_icosq_wqe_info *wi) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx = wi->tls_set_params.priv_rx; + struct accel_rule *rule = &priv_rx->rule; + + if (unlikely(test_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags))) { + complete(&priv_rx->add_ctx); + return; + } + queue_work(rule->priv->tls->rx_wq, &rule->work); +} + +static int mlx5e_ktls_sk_get_rxq(struct sock *sk) +{ + int rxq = sk_rx_queue_get(sk); + + if (unlikely(rxq == -1)) + rxq = 0; + + return rxq; +} + +int mlx5e_ktls_add_rx(struct net_device *netdev, struct sock *sk, + struct tls_crypto_info *crypto_info, + u32 start_offload_tcp_sn) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + struct tls_context *tls_ctx; + struct mlx5_core_dev *mdev; + struct mlx5e_priv *priv; + int rxq, err; + u32 rqtn; + + tls_ctx = tls_get_ctx(sk); + priv = netdev_priv(netdev); + mdev = priv->mdev; + priv_rx = kzalloc(sizeof(*priv_rx), GFP_KERNEL); + if (unlikely(!priv_rx)) + return -ENOMEM; + + err = mlx5_ktls_create_key(mdev, crypto_info, &priv_rx->key_id); + if (err) + goto err_create_key; + + priv_rx->crypto_info = + *(struct tls12_crypto_info_aes_gcm_128 *)crypto_info; + + rxq = mlx5e_ktls_sk_get_rxq(sk); + priv_rx->rxq = rxq; + priv_rx->sk = sk; + + priv_rx->stats = &priv->channel_stats[rxq].rq; + mlx5e_set_ktls_rx_priv_ctx(tls_ctx, priv_rx); + + rqtn = priv->direct_tir[rxq].rqt.rqtn; + + err = mlx5e_ktls_create_tir(mdev, &priv_rx->tirn, rqtn); + if (err) + goto err_create_tir; + + init_completion(&priv_rx->add_ctx); + + accel_rule_init(&priv_rx->rule, priv, sk); + resync = &priv_rx->resync; + resync_init(resync, priv); + tls_offload_ctx_rx(tls_ctx)->resync_async = &resync->core; + tls_offload_rx_resync_set_type(sk, TLS_OFFLOAD_SYNC_TYPE_DRIVER_REQ_ASYNC); + + err = post_rx_param_wqes(priv->channels.c[rxq], priv_rx, start_offload_tcp_sn); + if (err) + goto err_post_wqes; + + priv_rx->stats->tls_ctx++; + + return 0; + +err_post_wqes: + mlx5_core_destroy_tir(mdev, priv_rx->tirn); +err_create_tir: + mlx5_ktls_destroy_key(mdev, priv_rx->key_id); +err_create_key: + kfree(priv_rx); + return err; +} + +void mlx5e_ktls_del_rx(struct net_device *netdev, struct tls_context *tls_ctx) +{ + struct mlx5e_ktls_offload_context_rx *priv_rx; + struct mlx5e_ktls_rx_resync_ctx *resync; + struct mlx5_core_dev *mdev; + struct mlx5e_priv *priv; + + priv = netdev_priv(netdev); + mdev = priv->mdev; + + priv_rx = mlx5e_get_ktls_rx_priv_ctx(tls_ctx); + set_bit(MLX5E_PRIV_RX_FLAG_DELETING, priv_rx->flags); + mlx5e_set_ktls_rx_priv_ctx(tls_ctx, NULL); + synchronize_net(); /* Sync with NAPI */ + if (!cancel_work_sync(&priv_rx->rule.work)) + /* completion is needed, as the priv_rx in the add flow + * is maintained on the wqe info (wi), not on the socket. + */ + wait_for_completion(&priv_rx->add_ctx); + resync = &priv_rx->resync; + if (cancel_work_sync(&resync->work)) + mlx5e_ktls_priv_rx_put(priv_rx); + + priv_rx->stats->tls_del++; + if (priv_rx->rule.rule) + mlx5e_accel_fs_del_sk(priv_rx->rule.rule); + + mlx5_core_destroy_tir(mdev, priv_rx->tirn); + mlx5_ktls_destroy_key(mdev, priv_rx->key_id); + /* priv_rx should normally be freed here, but if there is an outstanding + * GET_PSV, deallocation will be delayed until the CQE for GET_PSV is + * processed. + */ + mlx5e_ktls_priv_rx_put(priv_rx); +} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c @@ -1,105 +1,139 @@ // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB // Copyright (c) 2019 Mellanox Technologies. -#include -#include "en.h" -#include "en/txrx.h" -#include "en_accel/ktls.h" +#include "en_accel/ktls_txrx.h" +#include "en_accel/ktls_utils.h" -enum { - MLX5E_STATIC_PARAMS_CONTEXT_TLS_1_2 = 0x2, +struct mlx5e_dump_wqe { + struct mlx5_wqe_ctrl_seg ctrl; + struct mlx5_wqe_data_seg data; }; -enum { - MLX5E_ENCRYPTION_STANDARD_TLS = 0x1, -}; +#define MLX5E_KTLS_DUMP_WQEBBS \ + (DIV_ROUND_UP(sizeof(struct mlx5e_dump_wqe), MLX5_SEND_WQE_BB)) -#define EXTRACT_INFO_FIELDS do { \ - salt = info->salt; \ - rec_seq = info->rec_seq; \ - salt_sz = sizeof(info->salt); \ - rec_seq_sz = sizeof(info->rec_seq); \ -} while (0) +static u8 +mlx5e_ktls_dumps_num_wqes(struct mlx5e_txqsq *sq, unsigned int nfrags, + unsigned int sync_len) +{ + /* Given the MTU and sync_len, calculates an upper bound for the + * number of DUMP WQEs needed for the TX resync of a record. + */ + return nfrags + DIV_ROUND_UP(sync_len, sq->hw_mtu); +} -static void -fill_static_params_ctx(void *ctx, struct mlx5e_ktls_offload_context_tx *priv_tx) +u16 mlx5e_ktls_get_stop_room(struct mlx5e_txqsq *sq) { - struct tls12_crypto_info_aes_gcm_128 *info = &priv_tx->crypto_info; - char *initial_rn, *gcm_iv; - u16 salt_sz, rec_seq_sz; - char *salt, *rec_seq; - u8 tls_version; - - EXTRACT_INFO_FIELDS; - - gcm_iv = MLX5_ADDR_OF(tls_static_params, ctx, gcm_iv); - initial_rn = MLX5_ADDR_OF(tls_static_params, ctx, initial_record_number); - - memcpy(gcm_iv, salt, salt_sz); - memcpy(initial_rn, rec_seq, rec_seq_sz); - - tls_version = MLX5E_STATIC_PARAMS_CONTEXT_TLS_1_2; - - MLX5_SET(tls_static_params, ctx, tls_version, tls_version); - MLX5_SET(tls_static_params, ctx, const_1, 1); - MLX5_SET(tls_static_params, ctx, const_2, 2); - MLX5_SET(tls_static_params, ctx, encryption_standard, - MLX5E_ENCRYPTION_STANDARD_TLS); - MLX5_SET(tls_static_params, ctx, dek_index, priv_tx->key_id); + u16 num_dumps, stop_room = 0; + + num_dumps = mlx5e_ktls_dumps_num_wqes(sq, MAX_SKB_FRAGS, TLS_MAX_PAYLOAD_SIZE); + + stop_room += mlx5e_stop_room_for_wqe(MLX5E_TLS_SET_STATIC_PARAMS_WQEBBS); + stop_room += mlx5e_stop_room_for_wqe(MLX5E_TLS_SET_PROGRESS_PARAMS_WQEBBS); + stop_room += num_dumps * mlx5e_stop_room_for_wqe(MLX5E_KTLS_DUMP_WQEBBS); + + return stop_room; } -static void -build_static_params(struct mlx5e_umr_wqe *wqe, u16 pc, u32 sqn, - struct mlx5e_ktls_offload_context_tx *priv_tx, - bool fence) -{ - struct mlx5_wqe_ctrl_seg *cseg = &wqe->ctrl; - struct mlx5_wqe_umr_ctrl_seg *ucseg = &wqe->uctrl; - -#define STATIC_PARAMS_DS_CNT \ - DIV_ROUND_UP(MLX5E_KTLS_STATIC_UMR_WQE_SZ, MLX5_SEND_WQE_DS) - - cseg->opmod_idx_opcode = cpu_to_be32((pc << 8) | MLX5_OPCODE_UMR | - (MLX5_OPC_MOD_TLS_TIS_STATIC_PARAMS << 24)); - cseg->qpn_ds = cpu_to_be32((sqn << MLX5_WQE_CTRL_QPN_SHIFT) | - STATIC_PARAMS_DS_CNT); - cseg->fm_ce_se = fence ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0; - cseg->tisn = cpu_to_be32(priv_tx->tisn << 8); +static int mlx5e_ktls_create_tis(struct mlx5_core_dev *mdev, u32 *tisn) +{ + u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {}; + void *tisc; + + tisc = MLX5_ADDR_OF(create_tis_in, in, ctx); - ucseg->flags = MLX5_UMR_INLINE; - ucseg->bsf_octowords = cpu_to_be16(MLX5_ST_SZ_BYTES(tls_static_params) / 16); + MLX5_SET(tisc, tisc, tls_en, 1); - fill_static_params_ctx(wqe->tls_static_params_ctx, priv_tx); + return mlx5e_create_tis(mdev, in, tisn); } +struct mlx5e_ktls_offload_context_tx { + struct tls_offload_context_tx *tx_ctx; + struct tls12_crypto_info_aes_gcm_128 crypto_info; + u32 expected_seq; + u32 tisn; + u32 key_id; + bool ctx_post_pending; +}; + static void -fill_progress_params_ctx(void *ctx, struct mlx5e_ktls_offload_context_tx *priv_tx) +mlx5e_set_ktls_tx_priv_ctx(struct tls_context *tls_ctx, + struct mlx5e_ktls_offload_context_tx *priv_tx) { - MLX5_SET(tls_progress_params, ctx, tisn, priv_tx->tisn); - MLX5_SET(tls_progress_params, ctx, record_tracker_state, - MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_START); - MLX5_SET(tls_progress_params, ctx, auth_state, - MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD); + struct mlx5e_ktls_offload_context_tx **ctx = + __tls_driver_ctx(tls_ctx, TLS_OFFLOAD_CTX_DIR_TX); + + BUILD_BUG_ON(sizeof(struct mlx5e_ktls_offload_context_tx *) > + TLS_OFFLOAD_CONTEXT_SIZE_TX); + + *ctx = priv_tx; } -static void -build_progress_params(struct mlx5e_tx_wqe *wqe, u16 pc, u32 sqn, - struct mlx5e_ktls_offload_context_tx *priv_tx, - bool fence) +static struct mlx5e_ktls_offload_context_tx * +mlx5e_get_ktls_tx_priv_ctx(struct tls_context *tls_ctx) +{ + struct mlx5e_ktls_offload_context_tx **ctx = + __tls_driver_ctx(tls_ctx, TLS_OFFLOAD_CTX_DIR_TX); + + return *ctx; +} + +int mlx5e_ktls_add_tx(struct net_device *netdev, struct sock *sk, + struct tls_crypto_info *crypto_info, u32 start_offload_tcp_sn) { - struct mlx5_wqe_ctrl_seg *cseg = &wqe->ctrl; + struct mlx5e_ktls_offload_context_tx *priv_tx; + struct tls_context *tls_ctx; + struct mlx5_core_dev *mdev; + struct mlx5e_priv *priv; + int err; + + tls_ctx = tls_get_ctx(sk); + priv = netdev_priv(netdev); + mdev = priv->mdev; + + priv_tx = kzalloc(sizeof(*priv_tx), GFP_KERNEL); + if (!priv_tx) + return -ENOMEM; -#define PROGRESS_PARAMS_DS_CNT \ - DIV_ROUND_UP(MLX5E_KTLS_PROGRESS_WQE_SZ, MLX5_SEND_WQE_DS) + err = mlx5_ktls_create_key(mdev, crypto_info, &priv_tx->key_id); + if (err) + goto err_create_key; + + priv_tx->expected_seq = start_offload_tcp_sn; + priv_tx->crypto_info = + *(struct tls12_crypto_info_aes_gcm_128 *)crypto_info; + priv_tx->tx_ctx = tls_offload_ctx_tx(tls_ctx); + + mlx5e_set_ktls_tx_priv_ctx(tls_ctx, priv_tx); + + err = mlx5e_ktls_create_tis(mdev, &priv_tx->tisn); + if (err) + goto err_create_tis; + + priv_tx->ctx_post_pending = true; - cseg->opmod_idx_opcode = - cpu_to_be32((pc << 8) | MLX5_OPCODE_SET_PSV | - (MLX5_OPC_MOD_TLS_TIS_PROGRESS_PARAMS << 24)); - cseg->qpn_ds = cpu_to_be32((sqn << MLX5_WQE_CTRL_QPN_SHIFT) | - PROGRESS_PARAMS_DS_CNT); - cseg->fm_ce_se = fence ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0; + return 0; - fill_progress_params_ctx(wqe->tls_progress_params_ctx, priv_tx); +err_create_tis: + mlx5_ktls_destroy_key(mdev, priv_tx->key_id); +err_create_key: + kfree(priv_tx); + return err; +} + +void mlx5e_ktls_del_tx(struct net_device *netdev, struct tls_context *tls_ctx) +{ + struct mlx5e_ktls_offload_context_tx *priv_tx; + struct mlx5_core_dev *mdev; + struct mlx5e_priv *priv; + + priv_tx = mlx5e_get_ktls_tx_priv_ctx(tls_ctx); + priv = netdev_priv(netdev); + mdev = priv->mdev; + + mlx5e_destroy_tis(mdev, priv_tx->tisn); + mlx5_ktls_destroy_key(mdev, priv_tx->key_id); + kfree(priv_tx); } static void tx_fill_wi(struct mlx5e_txqsq *sq, @@ -115,11 +149,6 @@ }; } -void mlx5e_ktls_tx_offload_set_pending(struct mlx5e_ktls_offload_context_tx *priv_tx) -{ - priv_tx->ctx_post_pending = true; -} - static bool mlx5e_ktls_tx_offload_test_and_clear_pending(struct mlx5e_ktls_offload_context_tx *priv_tx) { @@ -135,12 +164,15 @@ struct mlx5e_ktls_offload_context_tx *priv_tx, bool fence) { - u16 pi, num_wqebbs = MLX5E_KTLS_STATIC_WQEBBS; - struct mlx5e_umr_wqe *umr_wqe; + struct mlx5e_set_tls_static_params_wqe *wqe; + u16 pi, num_wqebbs; + num_wqebbs = MLX5E_TLS_SET_STATIC_PARAMS_WQEBBS; pi = mlx5e_txqsq_get_next_pi(sq, num_wqebbs); - umr_wqe = MLX5E_TLS_FETCH_UMR_WQE(sq, pi); - build_static_params(umr_wqe, sq->pc, sq->sqn, priv_tx, fence); + wqe = MLX5E_TLS_FETCH_SET_STATIC_PARAMS_WQE(sq, pi); + mlx5e_ktls_build_static_params(wqe, sq->pc, sq->sqn, &priv_tx->crypto_info, + priv_tx->tisn, priv_tx->key_id, 0, fence, + TLS_OFFLOAD_CTX_DIR_TX); tx_fill_wi(sq, pi, num_wqebbs, 0, NULL); sq->pc += num_wqebbs; } @@ -150,12 +182,14 @@ struct mlx5e_ktls_offload_context_tx *priv_tx, bool fence) { - u16 pi, num_wqebbs = MLX5E_KTLS_PROGRESS_WQEBBS; - struct mlx5e_tx_wqe *wqe; + struct mlx5e_set_tls_progress_params_wqe *wqe; + u16 pi, num_wqebbs; + num_wqebbs = MLX5E_TLS_SET_PROGRESS_PARAMS_WQEBBS; pi = mlx5e_txqsq_get_next_pi(sq, num_wqebbs); - wqe = MLX5E_TLS_FETCH_PROGRESS_WQE(sq, pi); - build_progress_params(wqe, sq->pc, sq->sqn, priv_tx, fence); + wqe = MLX5E_TLS_FETCH_SET_PROGRESS_PARAMS_WQE(sq, pi); + mlx5e_ktls_build_progress_params(wqe, sq->pc, sq->sqn, priv_tx->tisn, fence, 0, + TLS_OFFLOAD_CTX_DIR_TX); tx_fill_wi(sq, pi, num_wqebbs, 0, NULL); sq->pc += num_wqebbs; } @@ -284,7 +318,7 @@ cseg->opmod_idx_opcode = cpu_to_be32((sq->pc << 8) | MLX5_OPCODE_DUMP); cseg->qpn_ds = cpu_to_be32((sq->sqn << 8) | ds_cnt); - cseg->tisn = cpu_to_be32(tisn << 8); + cseg->tis_tir_num = cpu_to_be32(tisn << 8); cseg->fm_ce_se = first ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0; fsz = skb_frag_size(frag); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.c @@ -0,0 +1,119 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB +/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ + +#include "en_accel/ktls_txrx.h" +#include "en_accel/ktls_utils.h" + +enum { + MLX5E_STATIC_PARAMS_CONTEXT_TLS_1_2 = 0x2, +}; + +enum { + MLX5E_ENCRYPTION_STANDARD_TLS = 0x1, +}; + +#define EXTRACT_INFO_FIELDS do { \ + salt = info->salt; \ + rec_seq = info->rec_seq; \ + salt_sz = sizeof(info->salt); \ + rec_seq_sz = sizeof(info->rec_seq); \ +} while (0) + +static void +fill_static_params(struct mlx5_wqe_tls_static_params_seg *params, + struct tls12_crypto_info_aes_gcm_128 *info, + u32 key_id, u32 resync_tcp_sn) +{ + char *initial_rn, *gcm_iv; + u16 salt_sz, rec_seq_sz; + char *salt, *rec_seq; + u8 tls_version; + u8 *ctx; + + ctx = params->ctx; + + EXTRACT_INFO_FIELDS; + + gcm_iv = MLX5_ADDR_OF(tls_static_params, ctx, gcm_iv); + initial_rn = MLX5_ADDR_OF(tls_static_params, ctx, initial_record_number); + + memcpy(gcm_iv, salt, salt_sz); + memcpy(initial_rn, rec_seq, rec_seq_sz); + + tls_version = MLX5E_STATIC_PARAMS_CONTEXT_TLS_1_2; + + MLX5_SET(tls_static_params, ctx, tls_version, tls_version); + MLX5_SET(tls_static_params, ctx, const_1, 1); + MLX5_SET(tls_static_params, ctx, const_2, 2); + MLX5_SET(tls_static_params, ctx, encryption_standard, + MLX5E_ENCRYPTION_STANDARD_TLS); + MLX5_SET(tls_static_params, ctx, resync_tcp_sn, resync_tcp_sn); + MLX5_SET(tls_static_params, ctx, dek_index, key_id); +} + +void +mlx5e_ktls_build_static_params(struct mlx5e_set_tls_static_params_wqe *wqe, + u16 pc, u32 sqn, + struct tls12_crypto_info_aes_gcm_128 *info, + u32 tis_tir_num, u32 key_id, u32 resync_tcp_sn, + bool fence, enum tls_offload_ctx_dir direction) +{ + struct mlx5_wqe_umr_ctrl_seg *ucseg = &wqe->uctrl; + struct mlx5_wqe_ctrl_seg *cseg = &wqe->ctrl; + u8 opmod = direction == TLS_OFFLOAD_CTX_DIR_TX ? + MLX5_OPC_MOD_TLS_TIS_STATIC_PARAMS : + MLX5_OPC_MOD_TLS_TIR_STATIC_PARAMS; + +#define STATIC_PARAMS_DS_CNT DIV_ROUND_UP(sizeof(*wqe), MLX5_SEND_WQE_DS) + + cseg->opmod_idx_opcode = cpu_to_be32((pc << 8) | MLX5_OPCODE_UMR | (opmod << 24)); + cseg->qpn_ds = cpu_to_be32((sqn << MLX5_WQE_CTRL_QPN_SHIFT) | + STATIC_PARAMS_DS_CNT); + cseg->fm_ce_se = fence ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0; + cseg->tis_tir_num = cpu_to_be32(tis_tir_num << 8); + + ucseg->flags = MLX5_UMR_INLINE; + ucseg->bsf_octowords = cpu_to_be16(MLX5_ST_SZ_BYTES(tls_static_params) / 16); + + fill_static_params(&wqe->params, info, key_id, resync_tcp_sn); +} + +static void +fill_progress_params(struct mlx5_wqe_tls_progress_params_seg *params, u32 tis_tir_num, + u32 next_record_tcp_sn) +{ + u8 *ctx = params->ctx; + + params->tis_tir_num = cpu_to_be32(tis_tir_num); + + MLX5_SET(tls_progress_params, ctx, next_record_tcp_sn, + next_record_tcp_sn); + MLX5_SET(tls_progress_params, ctx, record_tracker_state, + MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_START); + MLX5_SET(tls_progress_params, ctx, auth_state, + MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD); +} + +void +mlx5e_ktls_build_progress_params(struct mlx5e_set_tls_progress_params_wqe *wqe, + u16 pc, u32 sqn, + u32 tis_tir_num, bool fence, + u32 next_record_tcp_sn, + enum tls_offload_ctx_dir direction) +{ + struct mlx5_wqe_ctrl_seg *cseg = &wqe->ctrl; + u8 opmod = direction == TLS_OFFLOAD_CTX_DIR_TX ? + MLX5_OPC_MOD_TLS_TIS_PROGRESS_PARAMS : + MLX5_OPC_MOD_TLS_TIR_PROGRESS_PARAMS; + +#define PROGRESS_PARAMS_DS_CNT DIV_ROUND_UP(sizeof(*wqe), MLX5_SEND_WQE_DS) + + cseg->opmod_idx_opcode = + cpu_to_be32((pc << 8) | MLX5_OPCODE_SET_PSV | (opmod << 24)); + cseg->qpn_ds = cpu_to_be32((sqn << MLX5_WQE_CTRL_QPN_SHIFT) | + PROGRESS_PARAMS_DS_CNT); + cseg->fm_ce_se = fence ? MLX5_FENCE_MODE_INITIATOR_SMALL : 0; + + fill_progress_params(&wqe->params, tis_tir_num, next_record_tcp_sn); +} + --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ + +#ifndef __MLX5E_KTLS_TXRX_H__ +#define __MLX5E_KTLS_TXRX_H__ + +#ifdef CONFIG_MLX5_EN_TLS + +#include +#include "en.h" +#include "en/txrx.h" + +struct mlx5e_accel_tx_tls_state { + u32 tls_tisn; +}; + +u16 mlx5e_ktls_get_stop_room(struct mlx5e_txqsq *sq); + +bool mlx5e_ktls_handle_tx_skb(struct tls_context *tls_ctx, struct mlx5e_txqsq *sq, + struct sk_buff *skb, int datalen, + struct mlx5e_accel_tx_tls_state *state); +void mlx5e_ktls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb, + struct mlx5_cqe64 *cqe, u32 *cqe_bcnt); + +void mlx5e_ktls_handle_ctx_completion(struct mlx5e_icosq_wqe_info *wi); +void mlx5e_ktls_handle_get_psv_completion(struct mlx5e_icosq_wqe_info *wi, + struct mlx5e_icosq *sq); + +void mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq, + struct mlx5e_tx_wqe_info *wi, + u32 *dma_fifo_cc); +#else +static inline void +mlx5e_ktls_tx_handle_resync_dump_comp(struct mlx5e_txqsq *sq, + struct mlx5e_tx_wqe_info *wi, + u32 *dma_fifo_cc) +{ +} + +#endif /* CONFIG_MLX5_EN_TLS */ + +#endif /* __MLX5E_TLS_TXRX_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_utils.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_utils.h @@ -0,0 +1,86 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ + +#ifndef __MLX5E_KTLS_UTILS_H__ +#define __MLX5E_KTLS_UTILS_H__ + +#include +#include "en.h" +#include "accel/tls.h" + +enum { + MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_NO_OFFLOAD = 0, + MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_OFFLOAD = 1, + MLX5E_TLS_PROGRESS_PARAMS_AUTH_STATE_AUTHENTICATION = 2, +}; + +enum { + MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_START = 0, + MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_TRACKING = 1, + MLX5E_TLS_PROGRESS_PARAMS_RECORD_TRACKER_STATE_SEARCHING = 2, +}; + +int mlx5e_ktls_add_tx(struct net_device *netdev, struct sock *sk, + struct tls_crypto_info *crypto_info, u32 start_offload_tcp_sn); +void mlx5e_ktls_del_tx(struct net_device *netdev, struct tls_context *tls_ctx); +int mlx5e_ktls_add_rx(struct net_device *netdev, struct sock *sk, + struct tls_crypto_info *crypto_info, u32 start_offload_tcp_sn); +void mlx5e_ktls_del_rx(struct net_device *netdev, struct tls_context *tls_ctx); +void mlx5e_ktls_rx_resync(struct net_device *netdev, struct sock *sk, u32 seq, u8 *rcd_sn); + +struct mlx5e_set_tls_static_params_wqe { + struct mlx5_wqe_ctrl_seg ctrl; + struct mlx5_wqe_umr_ctrl_seg uctrl; + struct mlx5_mkey_seg mkc; + struct mlx5_wqe_tls_static_params_seg params; +}; + +struct mlx5e_set_tls_progress_params_wqe { + struct mlx5_wqe_ctrl_seg ctrl; + struct mlx5_wqe_tls_progress_params_seg params; +}; + +struct mlx5e_get_tls_progress_params_wqe { + struct mlx5_wqe_ctrl_seg ctrl; + struct mlx5_seg_get_psv psv; +}; + +#define MLX5E_TLS_SET_STATIC_PARAMS_WQEBBS \ + (DIV_ROUND_UP(sizeof(struct mlx5e_set_tls_static_params_wqe), MLX5_SEND_WQE_BB)) + +#define MLX5E_TLS_SET_PROGRESS_PARAMS_WQEBBS \ + (DIV_ROUND_UP(sizeof(struct mlx5e_set_tls_progress_params_wqe), MLX5_SEND_WQE_BB)) + +#define MLX5E_KTLS_GET_PROGRESS_WQEBBS \ + (DIV_ROUND_UP(sizeof(struct mlx5e_get_tls_progress_params_wqe), MLX5_SEND_WQE_BB)) + +#define MLX5E_TLS_FETCH_SET_STATIC_PARAMS_WQE(sq, pi) \ + ((struct mlx5e_set_tls_static_params_wqe *)\ + mlx5e_fetch_wqe(&(sq)->wq, pi, sizeof(struct mlx5e_set_tls_static_params_wqe))) + +#define MLX5E_TLS_FETCH_SET_PROGRESS_PARAMS_WQE(sq, pi) \ + ((struct mlx5e_set_tls_progress_params_wqe *)\ + mlx5e_fetch_wqe(&(sq)->wq, pi, sizeof(struct mlx5e_set_tls_progress_params_wqe))) + +#define MLX5E_TLS_FETCH_GET_PROGRESS_PARAMS_WQE(sq, pi) \ + ((struct mlx5e_get_tls_progress_params_wqe *)\ + mlx5e_fetch_wqe(&(sq)->wq, pi, sizeof(struct mlx5e_get_tls_progress_params_wqe))) + +#define MLX5E_TLS_FETCH_DUMP_WQE(sq, pi) \ + ((struct mlx5e_dump_wqe *)\ + mlx5e_fetch_wqe(&(sq)->wq, pi, sizeof(struct mlx5e_dump_wqe))) + +void +mlx5e_ktls_build_static_params(struct mlx5e_set_tls_static_params_wqe *wqe, + u16 pc, u32 sqn, + struct tls12_crypto_info_aes_gcm_128 *info, + u32 tis_tir_num, u32 key_id, u32 resync_tcp_sn, + bool fence, enum tls_offload_ctx_dir direction); +void +mlx5e_ktls_build_progress_params(struct mlx5e_set_tls_progress_params_wqe *wqe, + u16 pc, u32 sqn, + u32 tis_tir_num, bool fence, + u32 next_record_tcp_sn, + enum tls_offload_ctx_dir direction); + +#endif /* __MLX5E_TLS_UTILS_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c @@ -197,6 +197,7 @@ return; } + /* FPGA */ if (!mlx5_accel_is_tls_device(priv->mdev)) return; @@ -221,11 +222,21 @@ int mlx5e_tls_init(struct mlx5e_priv *priv) { - struct mlx5e_tls *tls = kzalloc(sizeof(*tls), GFP_KERNEL); + struct mlx5e_tls *tls; + if (!mlx5_accel_is_tls_device(priv->mdev)) + return 0; + + tls = kzalloc(sizeof(*tls), GFP_KERNEL); if (!tls) return -ENOMEM; + tls->rx_wq = create_singlethread_workqueue("mlx5e_tls_rx"); + if (!tls->rx_wq) { + kfree(tls); + return -ENOMEM; + } + priv->tls = tls; return 0; } @@ -237,20 +248,7 @@ if (!tls) return; + destroy_workqueue(tls->rx_wq); kfree(tls); priv->tls = NULL; } - -u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq) -{ - struct mlx5_core_dev *mdev = sq->channel->mdev; - - if (!mlx5_accel_is_tls_device(mdev)) - return 0; - - if (MLX5_CAP_GEN(mdev, tls_tx)) - return mlx5e_ktls_get_stop_room(sq); - - /* Resync SKB. */ - return mlx5e_stop_room_for_wqe(MLX5_SEND_WQE_MAX_WQEBBS); -} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.h @@ -53,6 +53,7 @@ struct mlx5e_tls { struct mlx5e_tls_sw_stats sw_stats; + struct workqueue_struct *rx_wq; }; struct mlx5e_tls_offload_context_tx { @@ -86,6 +87,11 @@ base); } +static inline bool mlx5e_is_tls_on(struct mlx5e_priv *priv) +{ + return priv->tls; +} + void mlx5e_tls_build_netdev(struct mlx5e_priv *priv); int mlx5e_tls_init(struct mlx5e_priv *priv); void mlx5e_tls_cleanup(struct mlx5e_priv *priv); @@ -94,8 +100,6 @@ int mlx5e_tls_get_strings(struct mlx5e_priv *priv, uint8_t *data); int mlx5e_tls_get_stats(struct mlx5e_priv *priv, u64 *data); -u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq); - #else static inline void mlx5e_tls_build_netdev(struct mlx5e_priv *priv) @@ -104,17 +108,13 @@ mlx5e_ktls_build_netdev(priv); } +static inline bool mlx5e_is_tls_on(struct mlx5e_priv *priv) { return false; } static inline int mlx5e_tls_init(struct mlx5e_priv *priv) { return 0; } static inline void mlx5e_tls_cleanup(struct mlx5e_priv *priv) { } static inline int mlx5e_tls_get_count(struct mlx5e_priv *priv) { return 0; } static inline int mlx5e_tls_get_strings(struct mlx5e_priv *priv, uint8_t *data) { return 0; } static inline int mlx5e_tls_get_stats(struct mlx5e_priv *priv, u64 *data) { return 0; } -static inline u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq) -{ - return 0; -} - #endif #endif /* __MLX5E_TLS_H__ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c @@ -278,9 +278,10 @@ if (WARN_ON_ONCE(tls_ctx->netdev != netdev)) goto err_out; - if (MLX5_CAP_GEN(sq->channel->mdev, tls_tx)) + if (mlx5_accel_is_ktls_tx(sq->channel->mdev)) return mlx5e_ktls_handle_tx_skb(tls_ctx, sq, skb, datalen, state); + /* FPGA */ skb_seq = ntohl(tcp_hdr(skb)->seq); context = mlx5e_get_tls_tx_context(tls_ctx); expected_seq = context->expected_seq; @@ -305,7 +306,7 @@ void mlx5e_tls_handle_tx_wqe(struct mlx5e_txqsq *sq, struct mlx5_wqe_ctrl_seg *cseg, struct mlx5e_accel_tx_tls_state *state) { - cseg->tisn = cpu_to_be32(state->tls_tisn << 8); + cseg->tis_tir_num = cpu_to_be32(state->tls_tisn << 8); } static int tls_update_resync_sn(struct net_device *netdev, @@ -354,15 +355,13 @@ return 0; } -void mlx5e_tls_handle_rx_skb(struct net_device *netdev, struct sk_buff *skb, - u32 *cqe_bcnt) +/* FPGA tls rx handler */ +void mlx5e_tls_handle_rx_skb_metadata(struct mlx5e_rq *rq, struct sk_buff *skb, + u32 *cqe_bcnt) { struct mlx5e_tls_metadata *mdata; struct mlx5e_priv *priv; - if (!is_metadata_hdr_valid(skb)) - return; - /* Use the metadata */ mdata = (struct mlx5e_tls_metadata *)(skb->data + ETH_HLEN); switch (mdata->content.recv.syndrome) { @@ -370,13 +369,13 @@ skb->decrypted = 1; break; case SYNDROM_RESYNC_REQUEST: - tls_update_resync_sn(netdev, skb, mdata); - priv = netdev_priv(netdev); + tls_update_resync_sn(rq->netdev, skb, mdata); + priv = netdev_priv(rq->netdev); atomic64_inc(&priv->tls->sw_stats.rx_tls_resync_request); break; case SYNDROM_AUTH_FAILED: /* Authentication failure will be observed and verified by kTLS */ - priv = netdev_priv(netdev); + priv = netdev_priv(rq->netdev); atomic64_inc(&priv->tls->sw_stats.rx_tls_auth_fail); break; default: @@ -387,3 +386,18 @@ remove_metadata_hdr(skb); *cqe_bcnt -= MLX5E_METADATA_ETHER_LEN; } + +u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq) +{ + struct mlx5_core_dev *mdev = sq->channel->mdev; + + if (!mlx5_accel_is_tls_device(mdev)) + return 0; + + if (mlx5_accel_is_ktls_device(mdev)) + return mlx5e_ktls_get_stop_room(sq); + + /* FPGA */ + /* Resync SKB. */ + return mlx5e_stop_room_for_wqe(MLX5_SEND_WQE_MAX_WQEBBS); +} --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.h @@ -34,23 +34,47 @@ #ifndef __MLX5E_TLS_RXTX_H__ #define __MLX5E_TLS_RXTX_H__ +#include "accel/accel.h" +#include "en_accel/ktls_txrx.h" + #ifdef CONFIG_MLX5_EN_TLS #include #include "en.h" #include "en/txrx.h" -struct mlx5e_accel_tx_tls_state { - u32 tls_tisn; -}; +u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq); bool mlx5e_tls_handle_tx_skb(struct net_device *netdev, struct mlx5e_txqsq *sq, struct sk_buff *skb, struct mlx5e_accel_tx_tls_state *state); void mlx5e_tls_handle_tx_wqe(struct mlx5e_txqsq *sq, struct mlx5_wqe_ctrl_seg *cseg, struct mlx5e_accel_tx_tls_state *state); -void mlx5e_tls_handle_rx_skb(struct net_device *netdev, struct sk_buff *skb, - u32 *cqe_bcnt); +void mlx5e_tls_handle_rx_skb_metadata(struct mlx5e_rq *rq, struct sk_buff *skb, + u32 *cqe_bcnt); + +static inline void +mlx5e_tls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb, + struct mlx5_cqe64 *cqe, u32 *cqe_bcnt) +{ + if (unlikely(get_cqe_tls_offload(cqe))) /* cqe bit indicates a TLS device */ + return mlx5e_ktls_handle_rx_skb(rq, skb, cqe, cqe_bcnt); + + if (unlikely(test_bit(MLX5E_RQ_STATE_FPGA_TLS, &rq->state) && is_metadata_hdr_valid(skb))) + return mlx5e_tls_handle_rx_skb_metadata(rq, skb, cqe_bcnt); +} + +#else + +static inline bool +mlx5e_accel_is_tls(struct mlx5_cqe64 *cqe, struct sk_buff *skb) { return false; } +static inline void +mlx5e_tls_handle_rx_skb(struct mlx5e_rq *rq, struct sk_buff *skb, + struct mlx5_cqe64 *cqe, u32 *cqe_bcnt) {} +static inline u16 mlx5e_tls_get_stop_room(struct mlx5e_txqsq *sq) +{ + return 0; +} #endif /* CONFIG_MLX5_EN_TLS */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_stats.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_stats.c @@ -35,7 +35,6 @@ #include #include "en.h" -#include "accel/tls.h" #include "fpga/sdk.h" #include "en_accel/tls.h" @@ -51,9 +50,14 @@ #define NUM_TLS_SW_COUNTERS ARRAY_SIZE(mlx5e_tls_sw_stats_desc) +static bool is_tls_atomic_stats(struct mlx5e_priv *priv) +{ + return priv->tls && !mlx5_accel_is_ktls_device(priv->mdev); +} + int mlx5e_tls_get_count(struct mlx5e_priv *priv) { - if (!priv->tls) + if (!is_tls_atomic_stats(priv)) return 0; return NUM_TLS_SW_COUNTERS; @@ -63,7 +67,7 @@ { unsigned int i, idx = 0; - if (!priv->tls) + if (!is_tls_atomic_stats(priv)) return 0; for (i = 0; i < NUM_TLS_SW_COUNTERS; i++) @@ -77,7 +81,7 @@ { int i, idx = 0; - if (!priv->tls) + if (!is_tls_atomic_stats(priv)) return 0; for (i = 0; i < NUM_TLS_SW_COUNTERS; i++) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c @@ -90,23 +90,15 @@ static int arfs_disable(struct mlx5e_priv *priv) { - struct mlx5_flow_destination dest = {}; - struct mlx5e_tir *tir = priv->indir_tir; - int err = 0; - int tt; - int i; + int err, i; - dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; for (i = 0; i < ARFS_NUM_TYPES; i++) { - dest.tir_num = tir[i].tirn; - tt = arfs_get_tt(i); - /* Modify ttc rules destination to bypass the aRFS tables*/ - err = mlx5_modify_rule_destination(priv->fs.ttc.rules[tt], - &dest, NULL); + /* Modify ttc rules destination back to their default */ + err = mlx5e_ttc_fwd_default_dest(priv, arfs_get_tt(i)); if (err) { netdev_err(priv->netdev, - "%s: modify ttc destination failed\n", - __func__); + "%s: modify ttc[%d] default destination failed, err(%d)\n", + __func__, arfs_get_tt(i), err); return err; } } @@ -125,21 +117,17 @@ int mlx5e_arfs_enable(struct mlx5e_priv *priv) { struct mlx5_flow_destination dest = {}; - int err = 0; - int tt; - int i; + int err, i; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; for (i = 0; i < ARFS_NUM_TYPES; i++) { dest.ft = priv->fs.arfs.arfs_tables[i].ft.t; - tt = arfs_get_tt(i); /* Modify ttc rules destination to point on the aRFS FTs */ - err = mlx5_modify_rule_destination(priv->fs.ttc.rules[tt], - &dest, NULL); + err = mlx5e_ttc_fwd_dest(priv, arfs_get_tt(i), &dest); if (err) { netdev_err(priv->netdev, - "%s: modify ttc destination failed err=%d\n", - __func__, err); + "%s: modify ttc[%d] dest to arfs, failed err(%d)\n", + __func__, arfs_get_tt(i), err); arfs_disable(priv); return err; } @@ -186,8 +174,10 @@ return -EINVAL; } + /* FIXME: Must use mlx5e_ttc_get_default_dest(), + * but can't since TTC default is not setup yet ! + */ dest.tir_num = tir[tt].tirn; - arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, NULL, &flow_act, &dest, 1); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c @@ -1151,6 +1151,7 @@ { struct mlx5e_channels new_channels = {}; bool reset_channels = true; + bool opened; int err = 0; mutex_lock(&priv->state_lock); @@ -1159,22 +1160,24 @@ mlx5e_params_calc_trust_tx_min_inline_mode(priv->mdev, &new_channels.params, trust_state); - if (!test_bit(MLX5E_STATE_OPENED, &priv->state)) { - priv->channels.params = new_channels.params; + opened = test_bit(MLX5E_STATE_OPENED, &priv->state); + if (!opened) reset_channels = false; - } /* Skip if tx_min_inline is the same */ if (new_channels.params.tx_min_inline_mode == priv->channels.params.tx_min_inline_mode) reset_channels = false; - if (reset_channels) + if (reset_channels) { err = mlx5e_safe_switch_channels(priv, &new_channels, mlx5e_update_trust_state_hw, &trust_state); - else + } else { err = mlx5e_update_trust_state_hw(priv, &trust_state); + if (!err && !opened) + priv->channels.params = new_channels.params; + } mutex_unlock(&priv->state_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c @@ -427,12 +427,18 @@ goto out; } - new_channels.params = priv->channels.params; + new_channels.params = *cur_params; new_channels.params.num_channels = count; if (!test_bit(MLX5E_STATE_OPENED, &priv->state)) { + struct mlx5e_params old_params; + + old_params = *cur_params; *cur_params = new_channels.params; err = mlx5e_num_channels_changed(priv); + if (err) + *cur_params = old_params; + goto out; } @@ -499,7 +505,7 @@ #define MLX5E_MAX_COAL_FRAMES MLX5_MAX_CQ_COUNT static void -mlx5e_set_priv_channels_coalesce(struct mlx5e_priv *priv, struct ethtool_coalesce *coal) +mlx5e_set_priv_channels_tx_coalesce(struct mlx5e_priv *priv, struct ethtool_coalesce *coal) { struct mlx5_core_dev *mdev = priv->mdev; int tc; @@ -514,6 +520,17 @@ coal->tx_coalesce_usecs, coal->tx_max_coalesced_frames); } + } +} + +static void +mlx5e_set_priv_channels_rx_coalesce(struct mlx5e_priv *priv, struct ethtool_coalesce *coal) +{ + struct mlx5_core_dev *mdev = priv->mdev; + int i; + + for (i = 0; i < priv->channels.num; ++i) { + struct mlx5e_channel *c = priv->channels.c[i]; mlx5_core_modify_cq_moderation(mdev, &c->rq.cq.mcq, coal->rx_coalesce_usecs, @@ -560,21 +577,9 @@ tx_moder->pkts = coal->tx_max_coalesced_frames; new_channels.params.tx_dim_enabled = !!coal->use_adaptive_tx_coalesce; - if (!test_bit(MLX5E_STATE_OPENED, &priv->state)) { - priv->channels.params = new_channels.params; - goto out; - } - /* we are opened */ - reset_rx = !!coal->use_adaptive_rx_coalesce != priv->channels.params.rx_dim_enabled; reset_tx = !!coal->use_adaptive_tx_coalesce != priv->channels.params.tx_dim_enabled; - if (!reset_rx && !reset_tx) { - mlx5e_set_priv_channels_coalesce(priv, coal); - priv->channels.params = new_channels.params; - goto out; - } - if (reset_rx) { u8 mode = MLX5E_GET_PFLAG(&new_channels.params, MLX5E_PFLAG_RX_CQE_BASED_MODER); @@ -588,6 +593,20 @@ mlx5e_reset_tx_moderation(&new_channels.params, mode); } + if (!test_bit(MLX5E_STATE_OPENED, &priv->state)) { + priv->channels.params = new_channels.params; + goto out; + } + + if (!reset_rx && !reset_tx) { + if (!coal->use_adaptive_rx_coalesce) + mlx5e_set_priv_channels_rx_coalesce(priv, coal); + if (!coal->use_adaptive_tx_coalesce) + mlx5e_set_priv_channels_tx_coalesce(priv, coal); + priv->channels.params = new_channels.params; + goto out; + } + err = mlx5e_safe_switch_channels(priv, &new_channels, NULL, NULL); out: @@ -708,11 +727,11 @@ return 0; } -static void ptys2ethtool_supported_advertised_port(struct ethtool_link_ksettings *link_ksettings, - u32 eth_proto_cap, - u8 connector_type, bool ext) +static void ptys2ethtool_supported_advertised_port(struct mlx5_core_dev *mdev, + struct ethtool_link_ksettings *link_ksettings, + u32 eth_proto_cap, u8 connector_type) { - if ((!connector_type && !ext) || connector_type >= MLX5E_CONNECTOR_TYPE_NUMBER) { + if (!MLX5_CAP_PCAM_FEATURE(mdev, ptys_connector_type)) { if (eth_proto_cap & (MLX5E_PROT_MASK(MLX5E_10GBASE_CR) | MLX5E_PROT_MASK(MLX5E_10GBASE_SR) | MLX5E_PROT_MASK(MLX5E_40GBASE_CR4) @@ -848,9 +867,9 @@ [MLX5E_PORT_OTHER] = PORT_OTHER, }; -static u8 get_connector_port(u32 eth_proto, u8 connector_type, bool ext) +static u8 get_connector_port(struct mlx5_core_dev *mdev, u32 eth_proto, u8 connector_type) { - if ((connector_type || ext) && connector_type < MLX5E_CONNECTOR_TYPE_NUMBER) + if (MLX5_CAP_PCAM_FEATURE(mdev, ptys_connector_type)) return ptys2connector_type[connector_type]; if (eth_proto & @@ -951,11 +970,11 @@ data_rate_oper, link_ksettings); eth_proto_oper = eth_proto_oper ? eth_proto_oper : eth_proto_cap; - - link_ksettings->base.port = get_connector_port(eth_proto_oper, - connector_type, ext); - ptys2ethtool_supported_advertised_port(link_ksettings, eth_proto_admin, - connector_type, ext); + connector_type = connector_type < MLX5E_CONNECTOR_TYPE_NUMBER ? + connector_type : MLX5E_PORT_UNKNOWN; + link_ksettings->base.port = get_connector_port(mdev, eth_proto_oper, connector_type); + ptys2ethtool_supported_advertised_port(mdev, link_ksettings, eth_proto_admin, + connector_type); get_lp_advertising(mdev, eth_proto_lp, link_ksettings); if (an_status == MLX5_AN_COMPLETE) @@ -990,6 +1009,22 @@ return mlx5e_ethtool_get_link_ksettings(priv, link_ksettings); } +static int mlx5e_speed_validate(struct net_device *netdev, bool ext, + const unsigned long link_modes, u8 autoneg) +{ + /* Extended link-mode has no speed limitations. */ + if (ext) + return 0; + + if ((link_modes & MLX5E_PROT_MASK(MLX5E_56GBASE_R4)) && + autoneg != AUTONEG_ENABLE) { + netdev_err(netdev, "%s: 56G link speed requires autoneg enabled\n", + __func__); + return -EINVAL; + } + return 0; +} + static u32 mlx5e_ethtool2ptys_adver_link(const unsigned long *link_modes) { u32 i, ptys_modes = 0; @@ -1082,13 +1117,9 @@ link_modes = autoneg == AUTONEG_ENABLE ? ethtool2ptys_adver_func(adver) : mlx5e_port_speed2linkmodes(mdev, speed, !ext); - if ((link_modes & MLX5E_PROT_MASK(MLX5E_56GBASE_R4)) && - autoneg != AUTONEG_ENABLE) { - netdev_err(priv->netdev, "%s: 56G link speed requires autoneg enabled\n", - __func__); - err = -EINVAL; + err = mlx5e_speed_validate(priv->netdev, ext, link_modes, autoneg); + if (err) goto out; - } link_modes = link_modes & eproto.cap; if (!link_modes) { @@ -1816,6 +1847,7 @@ { struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5_core_dev *mdev = priv->mdev; + int err; if (!MLX5_CAP_GEN(mdev, cqe_compression)) return -EOPNOTSUPP; @@ -1825,7 +1857,10 @@ return -EINVAL; } - mlx5e_modify_rx_cqe_compression_locked(priv, enable); + err = mlx5e_modify_rx_cqe_compression_locked(priv, enable); + if (err) + return err; + priv->channels.params.rx_cqe_compress_def = enable; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -217,6 +217,9 @@ break; } + if (WARN_ONCE(*rule_p, "VLAN rule already exists type %d", rule_type)) + return 0; + *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); if (IS_ERR(*rule_p)) { @@ -397,8 +400,7 @@ for_each_set_bit(i, priv->fs.vlan.active_svlans, VLAN_N_VID) mlx5e_add_vlan_rule(priv, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, i); - if (priv->fs.vlan.cvlan_filter_disabled && - !(priv->netdev->flags & IFF_PROMISC)) + if (priv->fs.vlan.cvlan_filter_disabled) mlx5e_add_any_vid_rules(priv); } @@ -415,8 +417,12 @@ for_each_set_bit(i, priv->fs.vlan.active_svlans, VLAN_N_VID) mlx5e_del_vlan_rule(priv, MLX5E_VLAN_RULE_TYPE_MATCH_STAG_VID, i); - if (priv->fs.vlan.cvlan_filter_disabled && - !(priv->netdev->flags & IFF_PROMISC)) + WARN_ON_ONCE(!(test_bit(MLX5E_STATE_DESTROYING, &priv->state))); + + /* must be called after DESTROY bit is set and + * set_rx_mode is called and flushed + */ + if (priv->fs.vlan.cvlan_filter_disabled) mlx5e_del_any_vid_rules(priv); } @@ -672,9 +678,9 @@ int i; for (i = 0; i < MLX5E_NUM_TT; i++) { - if (!IS_ERR_OR_NULL(ttc->rules[i])) { - mlx5_del_flow_rules(ttc->rules[i]); - ttc->rules[i] = NULL; + if (!IS_ERR_OR_NULL(ttc->rules[i].rule)) { + mlx5_del_flow_rules(ttc->rules[i].rule); + ttc->rules[i].rule = NULL; } } @@ -857,7 +863,8 @@ struct mlx5e_ttc_table *ttc) { struct mlx5_flow_destination dest = {}; - struct mlx5_flow_handle **rules; + struct mlx5_flow_handle **trules; + struct mlx5e_ttc_rule *rules; struct mlx5_flow_table *ft; int tt; int err; @@ -867,39 +874,47 @@ dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; for (tt = 0; tt < MLX5E_NUM_TT; tt++) { + struct mlx5e_ttc_rule *rule = &rules[tt]; + if (tt == MLX5E_TT_ANY) dest.tir_num = params->any_tt_tirn; else dest.tir_num = params->indir_tirn[tt]; - rules[tt] = mlx5e_generate_ttc_rule(priv, ft, &dest, - ttc_rules[tt].etype, - ttc_rules[tt].proto); - if (IS_ERR(rules[tt])) + + rule->rule = mlx5e_generate_ttc_rule(priv, ft, &dest, + ttc_rules[tt].etype, + ttc_rules[tt].proto); + if (IS_ERR(rule->rule)) { + err = PTR_ERR(rule->rule); + rule->rule = NULL; goto del_rules; + } + rule->default_dest = dest; } if (!params->inner_ttc || !mlx5e_tunnel_inner_ft_supported(priv->mdev)) return 0; - rules = ttc->tunnel_rules; + trules = ttc->tunnel_rules; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; dest.ft = params->inner_ttc->ft.t; for (tt = 0; tt < MLX5E_NUM_TUNNEL_TT; tt++) { if (!mlx5e_tunnel_proto_supported(priv->mdev, ttc_tunnel_rules[tt].proto)) continue; - rules[tt] = mlx5e_generate_ttc_rule(priv, ft, &dest, - ttc_tunnel_rules[tt].etype, - ttc_tunnel_rules[tt].proto); - if (IS_ERR(rules[tt])) + trules[tt] = mlx5e_generate_ttc_rule(priv, ft, &dest, + ttc_tunnel_rules[tt].etype, + ttc_tunnel_rules[tt].proto); + if (IS_ERR(trules[tt])) { + err = PTR_ERR(trules[tt]); + trules[tt] = NULL; goto del_rules; + } } return 0; del_rules: - err = PTR_ERR(rules[tt]); - rules[tt] = NULL; mlx5e_cleanup_ttc_rules(ttc); return err; } @@ -921,6 +936,7 @@ in = kvzalloc(inlen, GFP_KERNEL); if (!in) { kfree(ft->g); + ft->g = NULL; return -ENOMEM; } @@ -1015,33 +1031,38 @@ struct mlx5e_ttc_table *ttc) { struct mlx5_flow_destination dest = {}; - struct mlx5_flow_handle **rules; + struct mlx5e_ttc_rule *rules; struct mlx5_flow_table *ft; int err; int tt; ft = ttc->ft.t; rules = ttc->rules; - dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; + for (tt = 0; tt < MLX5E_NUM_TT; tt++) { + struct mlx5e_ttc_rule *rule = &rules[tt]; + if (tt == MLX5E_TT_ANY) dest.tir_num = params->any_tt_tirn; else dest.tir_num = params->indir_tirn[tt]; - rules[tt] = mlx5e_generate_inner_ttc_rule(priv, ft, &dest, - ttc_rules[tt].etype, - ttc_rules[tt].proto); - if (IS_ERR(rules[tt])) + rule->rule = mlx5e_generate_inner_ttc_rule(priv, ft, &dest, + ttc_rules[tt].etype, + ttc_rules[tt].proto); + if (IS_ERR(rule->rule)) { + err = PTR_ERR(rule->rule); + rule->rule = NULL; goto del_rules; + } + rule->default_dest = dest; } return 0; del_rules: - err = PTR_ERR(rules[tt]); - rules[tt] = NULL; + mlx5e_cleanup_ttc_rules(ttc); return err; } @@ -1061,6 +1082,7 @@ in = kvzalloc(inlen, GFP_KERNEL); if (!in) { kfree(ft->g); + ft->g = NULL; return -ENOMEM; } @@ -1210,6 +1232,30 @@ return err; } +int mlx5e_ttc_fwd_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type, + struct mlx5_flow_destination *new_dest) +{ + return mlx5_modify_rule_destination(priv->fs.ttc.rules[type].rule, new_dest, NULL); +} + +struct mlx5_flow_destination +mlx5e_ttc_get_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type) +{ + struct mlx5_flow_destination *dest = &priv->fs.ttc.rules[type].default_dest; + + WARN_ONCE(dest->type != MLX5_FLOW_DESTINATION_TYPE_TIR, + "TTC[%d] default dest is not setup yet", type); + + return *dest; +} + +int mlx5e_ttc_fwd_default_dest(struct mlx5e_priv *priv, enum mlx5e_traffic_types type) +{ + struct mlx5_flow_destination dest = mlx5e_ttc_get_default_dest(priv, type); + + return mlx5e_ttc_fwd_dest(priv, type, &dest); +} + static void mlx5e_del_l2_flow_rule(struct mlx5e_priv *priv, struct mlx5e_l2_rule *ai) { @@ -1340,6 +1386,7 @@ ft->g[ft->num_groups] = NULL; mlx5e_destroy_groups(ft); kvfree(in); + kfree(ft->g); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -258,12 +258,17 @@ static int mlx5e_create_umr_mkey(struct mlx5_core_dev *mdev, u64 npages, u8 page_shift, - struct mlx5_core_mkey *umr_mkey) + struct mlx5_core_mkey *umr_mkey, + dma_addr_t filler_addr) { - int inlen = MLX5_ST_SZ_BYTES(create_mkey_in); + struct mlx5_mtt *mtt; + int inlen; void *mkc; u32 *in; int err; + int i; + + inlen = MLX5_ST_SZ_BYTES(create_mkey_in) + sizeof(*mtt) * npages; in = kvzalloc(inlen, GFP_KERNEL); if (!in) @@ -283,6 +288,18 @@ MLX5_SET(mkc, mkc, translations_octword_size, MLX5_MTT_OCTW(npages)); MLX5_SET(mkc, mkc, log_page_size, page_shift); + MLX5_SET(create_mkey_in, in, translations_octword_actual_size, + MLX5_MTT_OCTW(npages)); + + /* Initialize the mkey with all MTTs pointing to a default + * page (filler_addr). When the channels are activated, UMR + * WQEs will redirect the RX WQEs to the actual memory from + * the RQ's pool, while the gaps (wqe_overflow) remain mapped + * to the default page. + */ + mtt = MLX5_ADDR_OF(create_mkey_in, in, klm_pas_mtt); + for (i = 0 ; i < npages ; i++) + mtt[i].ptag = cpu_to_be64(filler_addr); err = mlx5_core_create_mkey(mdev, umr_mkey, in, inlen); @@ -294,12 +311,13 @@ { u64 num_mtts = MLX5E_REQUIRED_MTTS(mlx5_wq_ll_get_size(&rq->mpwqe.wq)); - return mlx5e_create_umr_mkey(mdev, num_mtts, PAGE_SHIFT, &rq->umr_mkey); + return mlx5e_create_umr_mkey(mdev, num_mtts, PAGE_SHIFT, &rq->umr_mkey, + rq->wqe_overflow.addr); } -static inline u64 mlx5e_get_mpwqe_offset(struct mlx5e_rq *rq, u16 wqe_ix) +static u64 mlx5e_get_mpwqe_offset(u16 wqe_ix) { - return (wqe_ix << MLX5E_LOG_ALIGNED_MPWQE_PPW) << PAGE_SHIFT; + return MLX5E_REQUIRED_MTTS(wqe_ix) << PAGE_SHIFT; } static void mlx5e_init_frags_partition(struct mlx5e_rq *rq) @@ -362,6 +380,28 @@ mlx5e_reporter_rq_cqe_err(rq); } +static int mlx5e_alloc_mpwqe_rq_drop_page(struct mlx5e_rq *rq) +{ + rq->wqe_overflow.page = alloc_page(GFP_KERNEL); + if (!rq->wqe_overflow.page) + return -ENOMEM; + + rq->wqe_overflow.addr = dma_map_page(rq->pdev, rq->wqe_overflow.page, 0, + PAGE_SIZE, rq->buff.map_dir); + if (dma_mapping_error(rq->pdev, rq->wqe_overflow.addr)) { + __free_page(rq->wqe_overflow.page); + return -ENOMEM; + } + return 0; +} + +static void mlx5e_free_mpwqe_rq_drop_page(struct mlx5e_rq *rq) +{ + dma_unmap_page(rq->pdev, rq->wqe_overflow.addr, PAGE_SIZE, + rq->buff.map_dir); + __free_page(rq->wqe_overflow.page); +} + static int mlx5e_alloc_rq(struct mlx5e_channel *c, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, @@ -401,7 +441,7 @@ if (params->xdp_prog) bpf_prog_inc(params->xdp_prog); - rq->xdp_prog = params->xdp_prog; + RCU_INIT_POINTER(rq->xdp_prog, params->xdp_prog); rq_xdp_ix = rq->ix; if (xsk) @@ -410,7 +450,7 @@ if (err < 0) goto err_rq_wq_destroy; - rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE; + rq->buff.map_dir = params->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE; rq->buff.headroom = mlx5e_get_rq_headroom(mdev, params, xsk); pool_size = 1 << params->log_rq_mtu_frames; @@ -421,6 +461,10 @@ if (err) goto err_rq_wq_destroy; + err = mlx5e_alloc_mpwqe_rq_drop_page(rq); + if (err) + goto err_rq_wq_destroy; + rq->mpwqe.wq.db = &rq->mpwqe.wq.db[MLX5_RCV_DBR]; wq_sz = mlx5_wq_ll_get_size(&rq->mpwqe.wq); @@ -459,7 +503,7 @@ err = mlx5e_create_rq_umr_mkey(mdev, rq); if (err) - goto err_rq_wq_destroy; + goto err_rq_drop_page; rq->mkey_be = cpu_to_be32(rq->umr_mkey.key); err = mlx5e_rq_alloc_mpwqe_info(rq, c); @@ -551,7 +595,7 @@ mlx5_wq_ll_get_wqe(&rq->mpwqe.wq, i); u32 byte_count = rq->mpwqe.num_strides << rq->mpwqe.log_stride_sz; - u64 dma_offset = mlx5e_get_mpwqe_offset(rq, i); + u64 dma_offset = mlx5e_get_mpwqe_offset(i); wqe->data[0].addr = cpu_to_be64(dma_offset + rq->buff.headroom); wqe->data[0].byte_count = cpu_to_be32(byte_count); @@ -598,6 +642,8 @@ case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ: kvfree(rq->mpwqe.info); mlx5_core_destroy_mkey(mdev, &rq->umr_mkey); +err_rq_drop_page: + mlx5e_free_mpwqe_rq_drop_page(rq); break; default: /* MLX5_WQ_TYPE_CYCLIC */ kvfree(rq->wqe.frags); @@ -605,8 +651,8 @@ } err_rq_wq_destroy: - if (rq->xdp_prog) - bpf_prog_put(rq->xdp_prog); + if (params->xdp_prog) + bpf_prog_put(params->xdp_prog); xdp_rxq_info_unreg(&rq->xdp_rxq); page_pool_destroy(rq->page_pool); mlx5_wq_destroy(&rq->wq_ctrl); @@ -616,15 +662,22 @@ static void mlx5e_free_rq(struct mlx5e_rq *rq) { + struct mlx5e_channel *c = rq->channel; + struct bpf_prog *old_prog = NULL; int i; - if (rq->xdp_prog) - bpf_prog_put(rq->xdp_prog); + /* drop_rq has neither channel nor xdp_prog. */ + if (c) + old_prog = rcu_dereference_protected(rq->xdp_prog, + lockdep_is_held(&c->priv->state_lock)); + if (old_prog) + bpf_prog_put(old_prog); switch (rq->wq_type) { case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ: kvfree(rq->mpwqe.info); mlx5_core_destroy_mkey(rq->mdev, &rq->umr_mkey); + mlx5e_free_mpwqe_rq_drop_page(rq); break; default: /* MLX5_WQ_TYPE_CYCLIC */ kvfree(rq->wqe.frags); @@ -873,6 +926,9 @@ if (err) goto err_destroy_rq; + if (mlx5e_is_tls_on(c->priv) && !mlx5_accel_is_ktls_device(c->mdev)) + __set_bit(MLX5E_RQ_STATE_FPGA_TLS, &c->rq.state); /* must be FPGA */ + if (MLX5_CAP_ETH(c->mdev, cqe_checksum_full)) __set_bit(MLX5E_RQ_STATE_CSUM_FULL, &c->rq.state); @@ -905,7 +961,7 @@ void mlx5e_deactivate_rq(struct mlx5e_rq *rq) { clear_bit(MLX5E_RQ_STATE_ENABLED, &rq->state); - napi_synchronize(&rq->channel->napi); /* prevent mlx5e_post_rx_wqes */ + synchronize_net(); /* Sync with NAPI to prevent mlx5e_post_rx_wqes. */ } void mlx5e_close_rq(struct mlx5e_rq *rq) @@ -1350,12 +1406,10 @@ static void mlx5e_deactivate_txqsq(struct mlx5e_txqsq *sq) { - struct mlx5e_channel *c = sq->channel; struct mlx5_wq_cyc *wq = &sq->wq; clear_bit(MLX5E_SQ_STATE_ENABLED, &sq->state); - /* prevent netif_tx_wake_queue */ - napi_synchronize(&c->napi); + synchronize_net(); /* Sync with NAPI to prevent netif_tx_wake_queue. */ mlx5e_tx_disable_queue(sq->txq); @@ -1430,10 +1484,8 @@ void mlx5e_deactivate_icosq(struct mlx5e_icosq *icosq) { - struct mlx5e_channel *c = icosq->channel; - clear_bit(MLX5E_SQ_STATE_ENABLED, &icosq->state); - napi_synchronize(&c->napi); + synchronize_net(); /* Sync with NAPI. */ } void mlx5e_close_icosq(struct mlx5e_icosq *sq) @@ -1441,6 +1493,7 @@ struct mlx5e_channel *c = sq->channel; mlx5e_destroy_sq(c->mdev, sq->sqn); + mlx5e_free_icosq_descs(sq); mlx5e_free_icosq(sq); } @@ -1511,7 +1564,7 @@ struct mlx5e_channel *c = sq->channel; clear_bit(MLX5E_SQ_STATE_ENABLED, &sq->state); - napi_synchronize(&c->napi); + synchronize_net(); /* Sync with NAPI. */ mlx5e_destroy_sq(c->mdev, sq->sqn); mlx5e_free_xdpsq_descs(sq); @@ -1675,7 +1728,7 @@ for (tc = 0; tc < c->num_tc; tc++) { err = mlx5e_open_cq(c, params->tx_cq_moderation, - &cparam->tx_cq, &c->sq[tc].cq); + &cparam->txq_sq.cqp, &c->sq[tc].cq); if (err) goto err_close_tx_cqs; } @@ -1707,7 +1760,7 @@ int txq_ix = c->ix + tc * params->num_channels; err = mlx5e_open_txqsq(c, c->priv->tisn[c->lag_port][tc], txq_ix, - params, &cparam->sq, &c->sq[tc], tc); + params, &cparam->txq_sq, &c->sq[tc], tc); if (err) goto err_close_sqs; } @@ -1817,34 +1870,43 @@ struct dim_cq_moder icocq_moder = {0, 0}; int err; - err = mlx5e_open_cq(c, icocq_moder, &cparam->icosq_cq, &c->icosq.cq); + err = mlx5e_open_cq(c, icocq_moder, &cparam->icosq.cqp, &c->async_icosq.cq); if (err) return err; + err = mlx5e_open_cq(c, icocq_moder, &cparam->async_icosq.cqp, &c->icosq.cq); + if (err) + goto err_close_async_icosq_cq; + err = mlx5e_open_tx_cqs(c, params, cparam); if (err) goto err_close_icosq_cq; - err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam->tx_cq, &c->xdpsq.cq); + err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam->xdp_sq.cqp, &c->xdpsq.cq); if (err) goto err_close_tx_cqs; - err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam->rx_cq, &c->rq.cq); + err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam->rq.cqp, &c->rq.cq); if (err) goto err_close_xdp_tx_cqs; - /* XDP SQ CQ params are same as normal TXQ sq CQ params */ err = c->xdp ? mlx5e_open_cq(c, params->tx_cq_moderation, - &cparam->tx_cq, &c->rq_xdpsq.cq) : 0; + &cparam->xdp_sq.cqp, &c->rq_xdpsq.cq) : 0; if (err) goto err_close_rx_cq; napi_enable(&c->napi); - err = mlx5e_open_icosq(c, params, &cparam->icosq, &c->icosq); + spin_lock_init(&c->async_icosq_lock); + + err = mlx5e_open_icosq(c, params, &cparam->async_icosq, &c->async_icosq); if (err) goto err_disable_napi; + err = mlx5e_open_icosq(c, params, &cparam->icosq, &c->icosq); + if (err) + goto err_close_async_icosq; + err = mlx5e_open_sqs(c, params, cparam); if (err) goto err_close_icosq; @@ -1879,6 +1941,9 @@ err_close_icosq: mlx5e_close_icosq(&c->icosq); +err_close_async_icosq: + mlx5e_close_icosq(&c->async_icosq); + err_disable_napi: napi_disable(&c->napi); @@ -1897,6 +1962,9 @@ err_close_icosq_cq: mlx5e_close_cq(&c->icosq.cq); +err_close_async_icosq_cq: + mlx5e_close_cq(&c->async_icosq.cq); + return err; } @@ -1908,6 +1976,7 @@ mlx5e_close_xdpsq(&c->rq_xdpsq); mlx5e_close_sqs(c); mlx5e_close_icosq(&c->icosq); + mlx5e_close_icosq(&c->async_icosq); napi_disable(&c->napi); if (c->xdp) mlx5e_close_cq(&c->rq_xdpsq.cq); @@ -1915,6 +1984,7 @@ mlx5e_close_cq(&c->xdpsq.cq); mlx5e_close_tx_cqs(c); mlx5e_close_cq(&c->icosq.cq); + mlx5e_close_cq(&c->async_icosq.cq); } static u8 mlx5e_enumerate_lag_port(struct mlx5_core_dev *mdev, int ix) @@ -1995,6 +2065,7 @@ for (tc = 0; tc < c->num_tc; tc++) mlx5e_activate_txqsq(&c->sq[tc]); mlx5e_activate_icosq(&c->icosq); + mlx5e_activate_icosq(&c->async_icosq); mlx5e_activate_rq(&c->rq); if (test_bit(MLX5E_CHANNEL_STATE_XSK, c->state)) @@ -2009,6 +2080,7 @@ mlx5e_deactivate_xsk(c); mlx5e_deactivate_rq(&c->rq); + mlx5e_deactivate_icosq(&c->async_icosq); mlx5e_deactivate_icosq(&c->icosq); for (tc = 0; tc < c->num_tc; tc++) mlx5e_deactivate_txqsq(&c->sq[tc]); @@ -2138,6 +2210,7 @@ MLX5_SET(rqc, rqc, scatter_fcs, params->scatter_fcs_en); param->wq.buf_numa_node = dev_to_node(mdev->device); + mlx5e_build_rx_cq_param(priv, params, xsk, ¶m->cqp); } static void mlx5e_build_drop_rq_param(struct mlx5e_priv *priv, @@ -2180,6 +2253,7 @@ mlx5e_build_sq_param_common(priv, param); MLX5_SET(wq, wq, log_wq_sz, params->log_sq_size); MLX5_SET(sqc, sqc, allow_swp, allow_swp); + mlx5e_build_tx_cq_param(priv, params, ¶m->cqp); } static void mlx5e_build_common_cq_param(struct mlx5e_priv *priv, @@ -2256,6 +2330,7 @@ MLX5_SET(wq, wq, log_wq_sz, log_wq_size); MLX5_SET(sqc, sqc, reg_umr, MLX5_CAP_ETH(priv->mdev, reg_umr_sq)); + mlx5e_build_ico_cq_param(priv, log_wq_size, ¶m->cqp); } void mlx5e_build_xdpsq_param(struct mlx5e_priv *priv, @@ -2268,6 +2343,7 @@ mlx5e_build_sq_param_common(priv, param); MLX5_SET(wq, wq, log_wq_sz, params->log_sq_size); param->is_mpw = MLX5E_GET_PFLAG(params, MLX5E_PFLAG_XDP_TX_MPWQE); + mlx5e_build_tx_cq_param(priv, params, ¶m->cqp); } static u8 mlx5e_build_icosq_log_wq_sz(struct mlx5e_params *params, @@ -2275,29 +2351,37 @@ { switch (params->rq_wq_type) { case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ: - return order_base_2(MLX5E_UMR_WQEBBS) + - mlx5e_get_rq_log_wq_sz(rqp->rqc); + return max_t(u8, MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE, + order_base_2(MLX5E_UMR_WQEBBS) + + mlx5e_get_rq_log_wq_sz(rqp->rqc)); default: /* MLX5_WQ_TYPE_CYCLIC */ return MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE; } } +static u8 mlx5e_build_async_icosq_log_wq_sz(struct net_device *netdev) +{ + if (netdev->hw_features & NETIF_F_HW_TLS_RX) + return MLX5E_PARAMS_DEFAULT_LOG_SQ_SIZE; + + return MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE; +} + static void mlx5e_build_channel_param(struct mlx5e_priv *priv, struct mlx5e_params *params, struct mlx5e_channel_param *cparam) { - u8 icosq_log_wq_sz; + u8 icosq_log_wq_sz, async_icosq_log_wq_sz; mlx5e_build_rq_param(priv, params, NULL, &cparam->rq); icosq_log_wq_sz = mlx5e_build_icosq_log_wq_sz(params, &cparam->rq); + async_icosq_log_wq_sz = mlx5e_build_async_icosq_log_wq_sz(priv->netdev); - mlx5e_build_sq_param(priv, params, &cparam->sq); + mlx5e_build_sq_param(priv, params, &cparam->txq_sq); mlx5e_build_xdpsq_param(priv, params, &cparam->xdp_sq); mlx5e_build_icosq_param(priv, icosq_log_wq_sz, &cparam->icosq); - mlx5e_build_rx_cq_param(priv, params, NULL, &cparam->rx_cq); - mlx5e_build_tx_cq_param(priv, params, &cparam->tx_cq); - mlx5e_build_ico_cq_param(priv, icosq_log_wq_sz, &cparam->icosq_cq); + mlx5e_build_icosq_param(priv, async_icosq_log_wq_sz, &cparam->async_icosq); } int mlx5e_open_channels(struct mlx5e_priv *priv, @@ -3077,7 +3161,8 @@ mlx5_set_port_admin_status(mdev, state); - if (!MLX5_ESWITCH_MANAGER(mdev) || mlx5_eswitch_mode(esw) == MLX5_ESWITCH_OFFLOADS) + if (!MLX5_ESWITCH_MANAGER(mdev) || mlx5_eswitch_mode(esw) == MLX5_ESWITCH_OFFLOADS || + !MLX5_CAP_GEN(mdev, uplink_follow)) return; if (state == MLX5_PORT_UP) @@ -3522,18 +3607,23 @@ new_channels.params.num_tc = tc ? tc : 1; if (!test_bit(MLX5E_STATE_OPENED, &priv->state)) { + struct mlx5e_params old_params; + + old_params = priv->channels.params; priv->channels.params = new_channels.params; + err = mlx5e_num_channels_changed(priv); + if (err) + priv->channels.params = old_params; + goto out; } err = mlx5e_safe_switch_channels(priv, &new_channels, mlx5e_num_channels_changed_ctx, NULL); - if (err) - goto out; - priv->max_opened_tc = max_t(u8, priv->max_opened_tc, - new_channels.params.num_tc); out: + priv->max_opened_tc = max_t(u8, priv->max_opened_tc, + priv->channels.params.num_tc); mutex_unlock(&priv->state_lock); return err; } @@ -3574,6 +3664,7 @@ s->rx_packets += rq_stats->packets + xskrq_stats->packets; s->rx_bytes += rq_stats->bytes + xskrq_stats->bytes; + s->multicast += rq_stats->mcast_packets + xskrq_stats->mcast_packets; for (j = 0; j < priv->max_opened_tc; j++) { struct mlx5e_sq_stats *sq_stats = &channel_stats->sq[j]; @@ -3589,7 +3680,6 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) { struct mlx5e_priv *priv = netdev_priv(dev); - struct mlx5e_vport_stats *vstats = &priv->stats.vport; struct mlx5e_pport_stats *pstats = &priv->stats.pport; /* In switchdev mode, monitor counters doesn't monitor @@ -3603,10 +3693,17 @@ } if (mlx5e_is_uplink_rep(priv)) { + struct mlx5e_vport_stats *vstats = &priv->stats.vport; + stats->rx_packets = PPORT_802_3_GET(pstats, a_frames_received_ok); stats->rx_bytes = PPORT_802_3_GET(pstats, a_octets_received_ok); stats->tx_packets = PPORT_802_3_GET(pstats, a_frames_transmitted_ok); stats->tx_bytes = PPORT_802_3_GET(pstats, a_octets_transmitted_ok); + + /* vport multicast also counts packets that are dropped due to steering + * or rx out of buffer + */ + stats->multicast = VPORT_COUNTER_GET(vstats, received_eth_multicast.packets); } else { mlx5e_fold_sw_stats64(priv, stats); } @@ -3624,12 +3721,6 @@ stats->rx_errors = stats->rx_length_errors + stats->rx_crc_errors + stats->rx_frame_errors; stats->tx_errors = stats->tx_aborted_errors + stats->tx_carrier_errors; - - /* vport multicast also counts packets that are dropped due to steering - * or rx out of buffer - */ - stats->multicast = - VPORT_COUNTER_GET(vstats, received_eth_multicast.packets); } static void mlx5e_set_rx_mode(struct net_device *dev) @@ -3671,7 +3762,7 @@ struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5_core_dev *mdev = priv->mdev; struct mlx5e_channels new_channels = {}; - struct mlx5e_params *old_params; + struct mlx5e_params *cur_params; int err = 0; bool reset; @@ -3684,8 +3775,8 @@ goto out; } - old_params = &priv->channels.params; - if (enable && !MLX5E_GET_PFLAG(old_params, MLX5E_PFLAG_RX_STRIDING_RQ)) { + cur_params = &priv->channels.params; + if (enable && !MLX5E_GET_PFLAG(cur_params, MLX5E_PFLAG_RX_STRIDING_RQ)) { netdev_warn(netdev, "can't set LRO with legacy RQ\n"); err = -EINVAL; goto out; @@ -3693,18 +3784,23 @@ reset = test_bit(MLX5E_STATE_OPENED, &priv->state); - new_channels.params = *old_params; + new_channels.params = *cur_params; new_channels.params.lro_en = enable; - if (old_params->rq_wq_type != MLX5_WQ_TYPE_CYCLIC) { - if (mlx5e_rx_mpwqe_is_linear_skb(mdev, old_params, NULL) == + if (cur_params->rq_wq_type != MLX5_WQ_TYPE_CYCLIC) { + if (mlx5e_rx_mpwqe_is_linear_skb(mdev, cur_params, NULL) == mlx5e_rx_mpwqe_is_linear_skb(mdev, &new_channels.params, NULL)) reset = false; } if (!reset) { - *old_params = new_channels.params; + struct mlx5e_params old_params; + + old_params = *cur_params; + *cur_params = new_channels.params; err = mlx5e_modify_tirs_lro(priv); + if (err) + *cur_params = old_params; goto out; } @@ -3847,6 +3943,7 @@ #ifdef CONFIG_MLX5_EN_ARFS err |= MLX5E_HANDLE_FEATURE(NETIF_F_NTUPLE, set_feature_arfs); #endif + err |= MLX5E_HANDLE_FEATURE(NETIF_F_HW_TLS_RX, mlx5e_ktls_set_feature_rx); if (err) { netdev->features = oper_features; @@ -3976,9 +4073,16 @@ } if (!reset) { + unsigned int old_mtu = params->sw_mtu; + params->sw_mtu = new_mtu; - if (preactivate) - preactivate(priv, NULL); + if (preactivate) { + err = preactivate(priv, NULL); + if (err) { + params->sw_mtu = old_mtu; + goto out; + } + } netdev->mtu = params->sw_mtu; goto out; } @@ -4274,6 +4378,21 @@ mlx5e_vxlan_queue_work(priv, be16_to_cpu(ti->port), 0); } +static bool mlx5e_gre_tunnel_inner_proto_offload_supported(struct mlx5_core_dev *mdev, + struct sk_buff *skb) +{ + switch (skb->inner_protocol) { + case htons(ETH_P_IP): + case htons(ETH_P_IPV6): + case htons(ETH_P_TEB): + return true; + case htons(ETH_P_MPLS_UC): + case htons(ETH_P_MPLS_MC): + return MLX5_CAP_ETH(mdev, tunnel_stateless_mpls_over_gre); + } + return false; +} + static netdev_features_t mlx5e_tunnel_features_check(struct mlx5e_priv *priv, struct sk_buff *skb, netdev_features_t features) @@ -4296,7 +4415,9 @@ switch (proto) { case IPPROTO_GRE: - return features; + if (mlx5e_gre_tunnel_inner_proto_offload_supported(priv->mdev, skb)) + return features; + break; case IPPROTO_IPIP: case IPPROTO_IPV6: if (mlx5e_tunnel_proto_supported(priv->mdev, IPPROTO_IPIP)) @@ -4423,6 +4544,16 @@ return 0; } +static void mlx5e_rq_replace_xdp_prog(struct mlx5e_rq *rq, struct bpf_prog *prog) +{ + struct bpf_prog *old_prog; + + old_prog = rcu_replace_pointer(rq->xdp_prog, prog, + lockdep_is_held(&rq->channel->priv->state_lock)); + if (old_prog) + bpf_prog_put(old_prog); +} + static int mlx5e_xdp_set(struct net_device *netdev, struct bpf_prog *prog) { struct mlx5e_priv *priv = netdev_priv(netdev); @@ -4481,29 +4612,12 @@ */ for (i = 0; i < priv->channels.num; i++) { struct mlx5e_channel *c = priv->channels.c[i]; - bool xsk_open = test_bit(MLX5E_CHANNEL_STATE_XSK, c->state); - clear_bit(MLX5E_RQ_STATE_ENABLED, &c->rq.state); - if (xsk_open) - clear_bit(MLX5E_RQ_STATE_ENABLED, &c->xskrq.state); - napi_synchronize(&c->napi); - /* prevent mlx5e_poll_rx_cq from accessing rq->xdp_prog */ - - old_prog = xchg(&c->rq.xdp_prog, prog); - if (old_prog) - bpf_prog_put(old_prog); - - if (xsk_open) { - old_prog = xchg(&c->xskrq.xdp_prog, prog); - if (old_prog) - bpf_prog_put(old_prog); + mlx5e_rq_replace_xdp_prog(&c->rq, prog); + if (test_bit(MLX5E_CHANNEL_STATE_XSK, c->state)) { + bpf_prog_inc(prog); + mlx5e_rq_replace_xdp_prog(&c->xskrq, prog); } - - set_bit(MLX5E_RQ_STATE_ENABLED, &c->rq.state); - if (xsk_open) - set_bit(MLX5E_RQ_STATE_ENABLED, &c->xskrq.state); - /* napi_schedule in case we have missed anything */ - napi_schedule(&c->napi); } unlock: @@ -4996,7 +5110,7 @@ FT_CAP(modify_root) && FT_CAP(identified_miss_table_mode) && FT_CAP(flow_table_modify)) { -#ifdef CONFIG_MLX5_ESWITCH +#if IS_ENABLED(CONFIG_MLX5_CLS_ACT) netdev->hw_features |= NETIF_F_HW_TC; #endif #ifdef CONFIG_MLX5_EN_ARFS @@ -5137,12 +5251,18 @@ if (err) goto err_destroy_flow_steering; + err = mlx5e_accel_init_rx(priv); + if (err) + goto err_tc_nic_cleanup; + #ifdef CONFIG_MLX5_EN_ARFS priv->netdev->rx_cpu_rmap = mlx5_eq_table_get_rmap(priv->mdev); #endif return 0; +err_tc_nic_cleanup: + mlx5e_tc_nic_cleanup(priv); err_destroy_flow_steering: mlx5e_destroy_flow_steering(priv); err_destroy_xsk_tirs: @@ -5166,6 +5286,7 @@ static void mlx5e_cleanup_nic_rx(struct mlx5e_priv *priv) { + mlx5e_accel_cleanup_rx(priv); mlx5e_tc_nic_cleanup(priv); mlx5e_destroy_flow_steering(priv); mlx5e_destroy_direct_tirs(priv, priv->xsk_tir); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -717,7 +717,9 @@ netdev->features |= NETIF_F_NETNS_LOCAL; +#if IS_ENABLED(CONFIG_MLX5_CLS_ACT) netdev->hw_features |= NETIF_F_HW_TC; +#endif netdev->hw_features |= NETIF_F_SG; netdev->hw_features |= NETIF_F_IP_CSUM; netdev->hw_features |= NETIF_F_IPV6_CSUM; @@ -1081,8 +1083,9 @@ mlx5e_rep_tc_enable(priv); - mlx5_modify_vport_admin_state(mdev, MLX5_VPORT_STATE_OP_MOD_UPLINK, - 0, 0, MLX5_VPORT_ADMIN_STATE_AUTO); + if (MLX5_CAP_GEN(mdev, uplink_follow)) + mlx5_modify_vport_admin_state(mdev, MLX5_VPORT_STATE_OP_MOD_UPLINK, + 0, 0, MLX5_VPORT_ADMIN_STATE_AUTO); mlx5_lag_add(mdev, netdev); priv->events_nb.notifier_call = uplink_rep_async_event; mlx5_notifier_register(mdev, &priv->events_nb); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h @@ -133,12 +133,6 @@ /* encap list sharing the same neigh */ struct list_head encap_list; - /* valid only when the neigh reference is taken during - * neigh_update_work workqueue callback. - */ - struct neighbour *n; - struct work_struct neigh_update_work; - /* neigh hash entry can be deleted only when the refcount is zero. * refcount is needed to avoid neigh hash entry removal by TC, while * it's used by the neigh notification call. @@ -191,7 +185,7 @@ unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ struct net_device *out_dev; - struct net_device *route_dev; + int route_dev_ifindex; struct mlx5e_tc_tunnel *tunnel; int reformat_type; u8 flags; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -50,6 +50,7 @@ #include "en/xdp.h" #include "en/xsk/rx.h" #include "en/health.h" +#include "en/txrx.h" static inline bool mlx5e_rx_hw_stamp(struct hwtstamp_config *config) { @@ -480,7 +481,6 @@ struct mlx5e_icosq *sq = &rq->channel->icosq; struct mlx5_wq_cyc *wq = &sq->wq; struct mlx5e_umr_wqe *umr_wqe; - u16 xlt_offset = ix << (MLX5E_LOG_ALIGNED_MPWQE_PPW - 1); u16 pi; int err; int i; @@ -511,7 +511,8 @@ umr_wqe->ctrl.opmod_idx_opcode = cpu_to_be32((sq->pc << MLX5_WQE_CTRL_WQE_INDEX_SHIFT) | MLX5_OPCODE_UMR); - umr_wqe->uctrl.xlt_offset = cpu_to_be16(xlt_offset); + umr_wqe->uctrl.xlt_offset = + cpu_to_be16(MLX5_ALIGNED_MTTS_OCTW(MLX5E_REQUIRED_MTTS(ix))); sq->db.wqe_info[pi] = (struct mlx5e_icosq_wqe_info) { .wqe_type = MLX5E_ICOSQ_WQE_UMR_RX, @@ -578,6 +579,33 @@ return !!err; } +void mlx5e_free_icosq_descs(struct mlx5e_icosq *sq) +{ + u16 sqcc; + + sqcc = sq->cc; + + while (sqcc != sq->pc) { + struct mlx5e_icosq_wqe_info *wi; + u16 ci; + + ci = mlx5_wq_cyc_ctr2ix(&sq->wq, sqcc); + wi = &sq->db.wqe_info[ci]; + sqcc += wi->num_wqebbs; +#ifdef CONFIG_MLX5_EN_TLS + switch (wi->wqe_type) { + case MLX5E_ICOSQ_WQE_SET_PSV_TLS: + mlx5e_ktls_handle_ctx_completion(wi); + break; + case MLX5E_ICOSQ_WQE_GET_PSV_TLS: + mlx5e_ktls_handle_get_psv_completion(wi, sq); + break; + } +#endif + } + sq->cc = sqcc; +} + int mlx5e_poll_ico_cq(struct mlx5e_cq *cq) { struct mlx5e_icosq *sq = container_of(cq, struct mlx5e_icosq, cq); @@ -633,6 +661,16 @@ break; case MLX5E_ICOSQ_WQE_NOP: break; +#ifdef CONFIG_MLX5_EN_TLS + case MLX5E_ICOSQ_WQE_UMR_TLS: + break; + case MLX5E_ICOSQ_WQE_SET_PSV_TLS: + mlx5e_ktls_handle_ctx_completion(wi); + break; + case MLX5E_ICOSQ_WQE_GET_PSV_TLS: + mlx5e_ktls_handle_get_psv_completion(wi, sq); + break; +#endif default: netdev_WARN_ONCE(cq->channel->netdev, "Bad WQE type in ICOSQ WQE info: 0x%x\n", @@ -982,9 +1020,7 @@ skb->mac_len = ETH_HLEN; -#ifdef CONFIG_MLX5_EN_TLS - mlx5e_tls_handle_rx_skb(netdev, skb, &cqe_bcnt); -#endif + mlx5e_tls_handle_rx_skb(rq, skb, cqe, &cqe_bcnt); if (lro_num_seg > 1) { mlx5e_lro_update_hdr(skb, cqe, cqe_bcnt); @@ -1020,6 +1056,9 @@ mlx5e_enable_ecn(rq, skb); skb->protocol = eth_type_trans(skb, netdev); + + if (unlikely(mlx5e_skb_is_multicast(skb))) + stats->mcast_packets++; } static inline void mlx5e_complete_rx_cqe(struct mlx5e_rq *rq, @@ -1072,7 +1111,6 @@ struct xdp_buff xdp; struct sk_buff *skb; void *va, *data; - bool consumed; u32 frag_size; va = page_address(di->page) + wi->offset; @@ -1084,11 +1122,8 @@ prefetchw(va); /* xdp_frame data area */ prefetch(data); - rcu_read_lock(); mlx5e_fill_xdp_buff(rq, va, rx_headroom, cqe_bcnt, &xdp); - consumed = mlx5e_xdp_handle(rq, di, &cqe_bcnt, &xdp); - rcu_read_unlock(); - if (consumed) + if (mlx5e_xdp_handle(rq, di, &cqe_bcnt, &xdp)) return NULL; /* page/packet was consumed by XDP */ rx_headroom = xdp.data - xdp.data_hard_start; @@ -1238,8 +1273,10 @@ if (rep->vlan && skb_vlan_tag_present(skb)) skb_vlan_pop(skb); - if (!mlx5e_rep_tc_update_skb(cqe, skb, &tc_priv)) + if (!mlx5e_rep_tc_update_skb(cqe, skb, &tc_priv)) { + dev_kfree_skb_any(skb); goto free_wqe; + } napi_gro_receive(rq->cq.napi, skb); @@ -1294,8 +1331,10 @@ mlx5e_complete_rx_cqe(rq, cqe, cqe_bcnt, skb); - if (!mlx5e_rep_tc_update_skb(cqe, skb, &tc_priv)) + if (!mlx5e_rep_tc_update_skb(cqe, skb, &tc_priv)) { + dev_kfree_skb_any(skb); goto mpwrq_cqe_out; + } napi_gro_receive(rq->cq.napi, skb); @@ -1369,7 +1408,6 @@ struct sk_buff *skb; void *va, *data; u32 frag_size; - bool consumed; /* Check packet size. Note LRO doesn't use linear SKB */ if (unlikely(cqe_bcnt > rq->hw_mtu)) { @@ -1386,11 +1424,8 @@ prefetchw(va); /* xdp_frame data area */ prefetch(data); - rcu_read_lock(); mlx5e_fill_xdp_buff(rq, va, rx_headroom, cqe_bcnt32, &xdp); - consumed = mlx5e_xdp_handle(rq, di, &cqe_bcnt32, &xdp); - rcu_read_unlock(); - if (consumed) { + if (mlx5e_xdp_handle(rq, di, &cqe_bcnt32, &xdp)) { if (__test_and_clear_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags)) __set_bit(page_idx, wi->xdp_xmit_bitmap); /* non-atomic */ return NULL; /* page/packet was consumed by XDP */ @@ -1501,7 +1536,7 @@ } while ((++work_done < budget) && (cqe = mlx5_cqwq_get_cqe(cqwq))); out: - if (rq->xdp_prog) + if (rcu_access_pointer(rq->xdp_prog)) mlx5e_xdp_rx_poll_complete(rq); mlx5_cqwq_update_db_record(cqwq); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -163,6 +163,19 @@ { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_congst_umr) }, { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_arfs_err) }, { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_recover) }, +#ifdef CONFIG_MLX5_EN_TLS + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_decrypted_packets) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_decrypted_bytes) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_ctx) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_del) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_req_pkt) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_req_start) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_req_end) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_req_skip) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_res_ok) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_resync_res_skip) }, + { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, rx_tls_err) }, +#endif { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, ch_events) }, { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, ch_poll) }, { MLX5E_DECLARE_STAT(struct mlx5e_sw_stats, ch_arm) }, @@ -275,6 +288,19 @@ s->rx_congst_umr += rq_stats->congst_umr; s->rx_arfs_err += rq_stats->arfs_err; s->rx_recover += rq_stats->recover; +#ifdef CONFIG_MLX5_EN_TLS + s->rx_tls_decrypted_packets += rq_stats->tls_decrypted_packets; + s->rx_tls_decrypted_bytes += rq_stats->tls_decrypted_bytes; + s->rx_tls_ctx += rq_stats->tls_ctx; + s->rx_tls_del += rq_stats->tls_del; + s->rx_tls_resync_req_pkt += rq_stats->tls_resync_req_pkt; + s->rx_tls_resync_req_start += rq_stats->tls_resync_req_start; + s->rx_tls_resync_req_end += rq_stats->tls_resync_req_end; + s->rx_tls_resync_req_skip += rq_stats->tls_resync_req_skip; + s->rx_tls_resync_res_ok += rq_stats->tls_resync_res_ok; + s->rx_tls_resync_res_skip += rq_stats->tls_resync_res_skip; + s->rx_tls_err += rq_stats->tls_err; +#endif s->ch_events += ch_stats->events; s->ch_poll += ch_stats->poll; s->ch_arm += ch_stats->arm; @@ -1475,6 +1501,19 @@ { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, congst_umr) }, { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, arfs_err) }, { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, recover) }, +#ifdef CONFIG_MLX5_EN_TLS + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_decrypted_packets) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_decrypted_bytes) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_ctx) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_del) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_req_pkt) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_req_start) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_req_end) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_req_skip) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_res_ok) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_resync_res_skip) }, + { MLX5E_DECLARE_RX_STAT(struct mlx5e_rq_stats, tls_err) }, +#endif }; static const struct counter_desc sq_stats_desc[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_stats.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_stats.h @@ -119,6 +119,7 @@ u64 tx_nop; u64 rx_lro_packets; u64 rx_lro_bytes; + u64 rx_mcast_packets; u64 rx_ecn_mark; u64 rx_removed_vlan_packets; u64 rx_csum_unnecessary; @@ -186,6 +187,18 @@ u64 tx_tls_skip_no_sync_data; u64 tx_tls_drop_no_sync_data; u64 tx_tls_drop_bypass_req; + + u64 rx_tls_decrypted_packets; + u64 rx_tls_decrypted_bytes; + u64 rx_tls_ctx; + u64 rx_tls_del; + u64 rx_tls_resync_req_pkt; + u64 rx_tls_resync_req_start; + u64 rx_tls_resync_req_end; + u64 rx_tls_resync_req_skip; + u64 rx_tls_resync_res_ok; + u64 rx_tls_resync_res_skip; + u64 rx_tls_err; #endif u64 rx_xsk_packets; @@ -286,6 +299,7 @@ u64 csum_none; u64 lro_packets; u64 lro_bytes; + u64 mcast_packets; u64 ecn_mark; u64 removed_vlan_packets; u64 xdp_drop; @@ -305,6 +319,19 @@ u64 congst_umr; u64 arfs_err; u64 recover; +#ifdef CONFIG_MLX5_EN_TLS + u64 tls_decrypted_packets; + u64 tls_decrypted_bytes; + u64 tls_ctx; + u64 tls_del; + u64 tls_resync_req_pkt; + u64 tls_resync_req_start; + u64 tls_resync_req_end; + u64 tls_resync_req_skip; + u64 tls_resync_res_ok; + u64 tls_resync_res_skip; + u64 tls_err; +#endif }; struct mlx5e_sq_stats { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -66,6 +66,7 @@ #include "lib/devcom.h" #include "lib/geneve.h" #include "diag/en_tc_tracepoint.h" +#include #define MLX5_MH_ACT_SZ MLX5_UN_SZ_BYTES(set_add_copy_action_in_auto) @@ -1149,6 +1150,9 @@ struct mlx5e_tc_mod_hdr_acts *mod_hdr_acts; struct mlx5_flow_handle *rule; + if (attr->flags & MLX5_ESW_ATTR_FLAG_SLOW_PATH) + return mlx5_eswitch_add_offloaded_rule(esw, spec, attr); + if (flow_flag_test(flow, CT)) { mod_hdr_acts = &attr->parse_attr->mod_hdr_acts; @@ -1178,6 +1182,9 @@ { flow_flag_clear(flow, OFFLOADED); + if (attr->flags & MLX5_ESW_ATTR_FLAG_SLOW_PATH) + goto offload_rule_0; + if (flow_flag_test(flow, CT)) { mlx5_tc_ct_delete_flow(flow->priv, flow, attr); return; @@ -1186,6 +1193,7 @@ if (attr->split_count) mlx5_eswitch_del_fwd_rule(esw, flow->rule[1], attr); +offload_rule_0: mlx5_eswitch_del_offloaded_rule(esw, flow->rule[0], attr); } @@ -1399,11 +1407,8 @@ mlx5e_put_flow_tunnel_id(flow); - if (flow_flag_test(flow, NOT_READY)) { + if (flow_flag_test(flow, NOT_READY)) remove_unready_flow(flow); - kvfree(attr->parse_attr); - return; - } if (mlx5e_is_offloaded_flow(flow)) { if (flow_flag_test(flow, SLOW)) @@ -2151,6 +2156,9 @@ return 0; flow_rule_match_meta(rule, &match); + if (!match.mask->ingress_ifindex) + return 0; + if (match.mask->ingress_ifindex != 0xFFFFFFFF) { NL_SET_ERR_MSG_MOD(extack, "Unsupported ingress ifindex mask"); return -EOPNOTSUPP; @@ -2234,8 +2242,8 @@ BIT(FLOW_DISSECTOR_KEY_ENC_OPTS) | BIT(FLOW_DISSECTOR_KEY_MPLS))) { NL_SET_ERR_MSG_MOD(extack, "Unsupported key"); - netdev_warn(priv->netdev, "Unsupported key used: 0x%x\n", - dissector->used_keys); + netdev_dbg(priv->netdev, "Unsupported key used: 0x%x\n", + dissector->used_keys); return -EOPNOTSUPP; } @@ -2552,6 +2560,16 @@ *match_level = MLX5_MATCH_L4; } + /* Currenlty supported only for MPLS over UDP */ + if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS) && + !netif_is_bareudp(filter_dev)) { + NL_SET_ERR_MSG_MOD(extack, + "Matching on MPLS is supported only for MPLS over UDP"); + netdev_err(priv->netdev, + "Matching on MPLS is supported only for MPLS over UDP\n"); + return -EOPNOTSUPP; + } + return 0; } @@ -2734,6 +2752,22 @@ OFFLOAD(UDP_DPORT, 16, U16_MAX, udp.dest, 0, udp_dport), }; +static unsigned long mask_to_le(unsigned long mask, int size) +{ + __be32 mask_be32; + __be16 mask_be16; + + if (size == 32) { + mask_be32 = (__force __be32)(mask); + mask = (__force unsigned long)cpu_to_le32(be32_to_cpu(mask_be32)); + } else if (size == 16) { + mask_be32 = (__force __be32)(mask); + mask_be16 = *(__be16 *)&mask_be32; + mask = (__force unsigned long)cpu_to_le16(be16_to_cpu(mask_be16)); + } + + return mask; +} static int offload_pedit_fields(struct mlx5e_priv *priv, int namespace, struct pedit_headers_action *hdrs, @@ -2747,9 +2781,7 @@ u32 *s_masks_p, *a_masks_p, s_mask, a_mask; struct mlx5e_tc_mod_hdr_acts *mod_acts; struct mlx5_fields *f; - unsigned long mask; - __be32 mask_be32; - __be16 mask_be16; + unsigned long mask, field_mask; int err; u8 cmd; @@ -2815,14 +2847,7 @@ if (skip) continue; - if (f->field_bsize == 32) { - mask_be32 = (__force __be32)(mask); - mask = (__force unsigned long)cpu_to_le32(be32_to_cpu(mask_be32)); - } else if (f->field_bsize == 16) { - mask_be32 = (__force __be32)(mask); - mask_be16 = *(__be16 *)&mask_be32; - mask = (__force unsigned long)cpu_to_le16(be16_to_cpu(mask_be16)); - } + mask = mask_to_le(mask, f->field_bsize); first = find_first_bit(&mask, f->field_bsize); next_z = find_next_zero_bit(&mask, f->field_bsize, first); @@ -2853,9 +2878,10 @@ if (cmd == MLX5_ACTION_TYPE_SET) { int start; + field_mask = mask_to_le(f->field_mask, f->field_bsize); + /* if field is bit sized it can start not from first bit */ - start = find_first_bit((unsigned long *)&f->field_mask, - f->field_bsize); + start = find_first_bit(&field_mask, f->field_bsize); MLX5_SET(set_action_in, action, offset, first - start); /* length is num of bits to be written, zero means length of 32 */ @@ -4501,6 +4527,7 @@ return flow; err_free: + dealloc_mod_hdr_actions(&parse_attr->mod_hdr_acts); mlx5e_flow_put(priv, flow); out: return ERR_PTR(err); @@ -4635,6 +4662,7 @@ return 0; err_free: + dealloc_mod_hdr_actions(&parse_attr->mod_hdr_acts); mlx5e_flow_put(priv, flow); kvfree(parse_attr); out: @@ -4841,13 +4869,13 @@ return err; } -static int apply_police_params(struct mlx5e_priv *priv, u32 rate, +static int apply_police_params(struct mlx5e_priv *priv, u64 rate, struct netlink_ext_ack *extack) { struct mlx5e_rep_priv *rpriv = priv->ppriv; struct mlx5_eswitch *esw; + u32 rate_mbps = 0; u16 vport_num; - u32 rate_mbps; int err; vport_num = rpriv->rep->vport; @@ -4864,7 +4892,11 @@ * Moreover, if rate is non zero we choose to configure to a minimum of * 1 mbit/sec. */ - rate_mbps = rate ? max_t(u32, (rate * 8 + 500000) / 1000000, 1) : 0; + if (rate) { + rate = (rate * BITS_PER_BYTE) + 500000; + rate_mbps = max_t(u32, do_div(rate, 1000000), 1); + } + err = mlx5_esw_modify_vport_rate(esw, vport_num, rate_mbps); if (err) NL_SET_ERR_MSG_MOD(extack, "failed applying action to hardware"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c @@ -38,7 +38,6 @@ #include "en/txrx.h" #include "ipoib/ipoib.h" #include "en_accel/en_accel.h" -#include "en_accel/ktls.h" #include "lib/clock.h" static void mlx5e_dma_unmap_wqe_err(struct mlx5e_txqsq *sq, u8 num_dma) @@ -341,8 +340,8 @@ dseg = wqe->data; #if IS_ENABLED(CONFIG_GENEVE) - if (skb->encapsulation) - mlx5e_tx_tunnel_accel(skb, eseg); + if (skb->encapsulation && skb->ip_summed == CHECKSUM_PARTIAL) + mlx5e_tx_tunnel_accel(skb, eseg, ihs); #endif mlx5e_txwqe_build_eseg_csum(sq, skb, eseg); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c @@ -121,13 +121,17 @@ struct mlx5e_xdpsq *xsksq = &c->xsksq; struct mlx5e_rq *xskrq = &c->xskrq; struct mlx5e_rq *rq = &c->rq; - bool xsk_open = test_bit(MLX5E_CHANNEL_STATE_XSK, c->state); bool aff_change = false; bool busy_xsk = false; bool busy = false; int work_done = 0; + bool xsk_open; int i; + rcu_read_lock(); + + xsk_open = test_bit(MLX5E_CHANNEL_STATE_XSK, c->state); + ch_stats->poll++; for (i = 0; i < c->num_tc; i++) @@ -149,17 +153,17 @@ } mlx5e_poll_ico_cq(&c->icosq.cq); + if (mlx5e_poll_ico_cq(&c->async_icosq.cq)) + /* Don't clear the flag if nothing was polled to prevent + * queueing more WQEs and overflowing the async ICOSQ. + */ + clear_bit(MLX5E_SQ_STATE_PENDING_XSK_TX, &c->async_icosq.state); busy |= INDIRECT_CALL_2(rq->post_wqes, mlx5e_post_rx_mpwqes, mlx5e_post_rx_wqes, rq); if (xsk_open) { - if (mlx5e_poll_ico_cq(&c->xskicosq.cq)) - /* Don't clear the flag if nothing was polled to prevent - * queueing more WQEs and overflowing XSKICOSQ. - */ - clear_bit(MLX5E_SQ_STATE_PENDING_XSK_TX, &c->xskicosq.state); busy |= mlx5e_poll_xdpsq_cq(&xsksq->cq); busy_xsk |= mlx5e_napi_xsk_post(xsksq, xskrq); } @@ -167,8 +171,10 @@ busy |= busy_xsk; if (busy) { - if (likely(mlx5e_channel_no_affinity_change(c))) - return budget; + if (likely(mlx5e_channel_no_affinity_change(c))) { + work_done = budget; + goto out; + } ch_stats->aff_change++; aff_change = true; if (budget && work_done == budget) @@ -176,7 +182,7 @@ } if (unlikely(!napi_complete_done(napi, work_done))) - return work_done; + goto out; ch_stats->arm++; @@ -189,11 +195,11 @@ mlx5e_cq_arm(&rq->cq); mlx5e_cq_arm(&c->icosq.cq); + mlx5e_cq_arm(&c->async_icosq.cq); mlx5e_cq_arm(&c->xdpsq.cq); if (xsk_open) { mlx5e_handle_rx_dim(xskrq); - mlx5e_cq_arm(&c->xskicosq.cq); mlx5e_cq_arm(&xsksq->cq); mlx5e_cq_arm(&xskrq->cq); } @@ -203,6 +209,9 @@ ch_stats->force_irq++; } +out: + rcu_read_unlock(); + return work_done; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eq.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/eq.c @@ -189,6 +189,29 @@ return count_eqe; } +static void mlx5_eq_async_int_lock(struct mlx5_eq_async *eq, unsigned long *flags) + __acquires(&eq->lock) +{ + if (in_irq()) + spin_lock(&eq->lock); + else + spin_lock_irqsave(&eq->lock, *flags); +} + +static void mlx5_eq_async_int_unlock(struct mlx5_eq_async *eq, unsigned long *flags) + __releases(&eq->lock) +{ + if (in_irq()) + spin_unlock(&eq->lock); + else + spin_unlock_irqrestore(&eq->lock, *flags); +} + +enum async_eq_nb_action { + ASYNC_EQ_IRQ_HANDLER = 0, + ASYNC_EQ_RECOVER = 1, +}; + static int mlx5_eq_async_int(struct notifier_block *nb, unsigned long action, void *data) { @@ -198,11 +221,14 @@ struct mlx5_eq_table *eqt; struct mlx5_core_dev *dev; struct mlx5_eqe *eqe; + unsigned long flags; int num_eqes = 0; dev = eq->dev; eqt = dev->priv.eq_table; + mlx5_eq_async_int_lock(eq_async, &flags); + eqe = next_eqe_sw(eq); if (!eqe) goto out; @@ -223,8 +249,19 @@ out: eq_update_ci(eq, 1); + mlx5_eq_async_int_unlock(eq_async, &flags); - return 0; + return unlikely(action == ASYNC_EQ_RECOVER) ? num_eqes : 0; +} + +void mlx5_cmd_eq_recover(struct mlx5_core_dev *dev) +{ + struct mlx5_eq_async *eq = &dev->priv.eq_table->cmd_eq; + int eqes; + + eqes = mlx5_eq_async_int(&eq->irq_nb, ASYNC_EQ_RECOVER, NULL); + if (eqes) + mlx5_core_warn(dev, "Recovered %d EQEs on cmd_eq\n", eqes); } static void init_eq_buf(struct mlx5_eq *eq) @@ -569,6 +606,7 @@ int err; eq->irq_nb.notifier_call = mlx5_eq_async_int; + spin_lock_init(&eq->lock); err = create_async_eq(dev, &eq->core, param); if (err) { @@ -656,8 +694,10 @@ cleanup_async_eq(dev, &table->pages_eq, "pages"); cleanup_async_eq(dev, &table->async_eq, "async"); + mlx5_cmd_allowed_opcode(dev, MLX5_CMD_OP_DESTROY_EQ); mlx5_cmd_use_polling(dev); cleanup_async_eq(dev, &table->cmd_eq, "cmd"); + mlx5_cmd_allowed_opcode(dev, CMD_ALLOWED_OPCODE_ALL); mlx5_eq_notifier_unregister(dev, &table->cq_err_nb); } @@ -887,13 +927,24 @@ mutex_unlock(&table->lock); } +#ifdef CONFIG_INFINIBAND_ON_DEMAND_PAGING +#define MLX5_MAX_ASYNC_EQS 4 +#else +#define MLX5_MAX_ASYNC_EQS 3 +#endif + int mlx5_eq_table_create(struct mlx5_core_dev *dev) { struct mlx5_eq_table *eq_table = dev->priv.eq_table; + int num_eqs = MLX5_CAP_GEN(dev, max_num_eqs) ? + MLX5_CAP_GEN(dev, max_num_eqs) : + 1 << MLX5_CAP_GEN(dev, log_max_eq); int err; eq_table->num_comp_eqs = - mlx5_irq_get_num_comp(eq_table->irq_table); + min_t(int, + mlx5_irq_get_num_comp(eq_table->irq_table), + num_eqs - MLX5_MAX_ASYNC_EQS); err = create_async_eqs(dev); if (err) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_lgcy.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_lgcy.c @@ -95,22 +95,21 @@ return 0; } - if (!IS_ERR_OR_NULL(vport->egress.acl)) - return 0; + if (!vport->egress.acl) { + vport->egress.acl = esw_acl_table_create(esw, vport->vport, + MLX5_FLOW_NAMESPACE_ESW_EGRESS, + table_size); + if (IS_ERR(vport->egress.acl)) { + err = PTR_ERR(vport->egress.acl); + vport->egress.acl = NULL; + goto out; + } - vport->egress.acl = esw_acl_table_create(esw, vport->vport, - MLX5_FLOW_NAMESPACE_ESW_EGRESS, - table_size); - if (IS_ERR_OR_NULL(vport->egress.acl)) { - err = PTR_ERR(vport->egress.acl); - vport->egress.acl = NULL; - goto out; + err = esw_acl_egress_lgcy_groups_create(esw, vport); + if (err) + goto out; } - err = esw_acl_egress_lgcy_groups_create(esw, vport); - if (err) - goto out; - esw_debug(esw->dev, "vport[%d] configure egress rules, vlan(%d) qos(%d)\n", vport->vport, vport->info.vlan, vport->info.qos); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_ofld.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_ofld.c @@ -165,7 +165,7 @@ table_size++; vport->egress.acl = esw_acl_table_create(esw, vport->vport, MLX5_FLOW_NAMESPACE_ESW_EGRESS, table_size); - if (IS_ERR_OR_NULL(vport->egress.acl)) { + if (IS_ERR(vport->egress.acl)) { err = PTR_ERR(vport->egress.acl); vport->egress.acl = NULL; return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c @@ -180,7 +180,7 @@ vport->ingress.acl = esw_acl_table_create(esw, vport->vport, MLX5_FLOW_NAMESPACE_ESW_INGRESS, table_size); - if (IS_ERR_OR_NULL(vport->ingress.acl)) { + if (IS_ERR(vport->ingress.acl)) { err = PTR_ERR(vport->ingress.acl); vport->ingress.acl = NULL; return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c @@ -258,7 +258,7 @@ vport->ingress.acl = esw_acl_table_create(esw, vport->vport, MLX5_FLOW_NAMESPACE_ESW_INGRESS, num_ftes); - if (IS_ERR_OR_NULL(vport->ingress.acl)) { + if (IS_ERR(vport->ingress.acl)) { err = PTR_ERR(vport->ingress.acl); vport->ingress.acl = NULL; return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1118,6 +1118,10 @@ struct mlx5_vport *vport; vport = mlx5_eswitch_get_vport(esw, vport_num); + + if (!vport->qos.enabled) + return -EOPNOTSUPP; + MLX5_SET(scheduling_context, ctx, max_average_bw, rate_mbps); return mlx5_modify_scheduling_element_cmd(esw->dev, @@ -1384,6 +1388,7 @@ int i; mlx5_esw_for_each_vf_vport(esw, i, vport, esw->esw_funcs.num_vfs) { + memset(&vport->qos, 0, sizeof(vport->qos)); memset(&vport->info, 0, sizeof(vport->info)); vport->info.link_state = MLX5_VPORT_ADMIN_STATE_AUTO; } @@ -2100,12 +2105,15 @@ max_guarantee = evport->info.min_rate; } - return max_t(u32, max_guarantee / fw_max_bw_share, 1); + if (max_guarantee) + return max_t(u32, max_guarantee / fw_max_bw_share, 1); + return 0; } -static int normalize_vports_min_rate(struct mlx5_eswitch *esw, u32 divider) +static int normalize_vports_min_rate(struct mlx5_eswitch *esw) { u32 fw_max_bw_share = MLX5_CAP_QOS(esw->dev, max_tsar_bw_share); + u32 divider = calculate_vports_min_rate_divider(esw); struct mlx5_vport *evport; u32 vport_max_rate; u32 vport_min_rate; @@ -2118,9 +2126,9 @@ continue; vport_min_rate = evport->info.min_rate; vport_max_rate = evport->info.max_rate; - bw_share = MLX5_MIN_BW_SHARE; + bw_share = 0; - if (vport_min_rate) + if (divider) bw_share = MLX5_RATE_TO_BW_SHARE(vport_min_rate, divider, fw_max_bw_share); @@ -2145,7 +2153,6 @@ struct mlx5_vport *evport = mlx5_eswitch_get_vport(esw, vport); u32 fw_max_bw_share; u32 previous_min_rate; - u32 divider; bool min_rate_supported; bool max_rate_supported; int err = 0; @@ -2170,8 +2177,7 @@ previous_min_rate = evport->info.min_rate; evport->info.min_rate = min_rate; - divider = calculate_vports_min_rate_divider(esw); - err = normalize_vports_min_rate(esw, divider); + err = normalize_vports_min_rate(esw); if (err) { evport->info.min_rate = previous_min_rate; goto unlock; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1219,35 +1219,37 @@ } esw->fdb_table.offloads.send_to_vport_grp = g; - /* create peer esw miss group */ - memset(flow_group_in, 0, inlen); - - esw_set_flow_group_source_port(esw, flow_group_in); - - if (!mlx5_eswitch_vport_match_metadata_enabled(esw)) { - match_criteria = MLX5_ADDR_OF(create_flow_group_in, - flow_group_in, - match_criteria); - - MLX5_SET_TO_ONES(fte_match_param, match_criteria, - misc_parameters.source_eswitch_owner_vhca_id); - - MLX5_SET(create_flow_group_in, flow_group_in, - source_eswitch_owner_vhca_id_valid, 1); - } - - MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, ix); - MLX5_SET(create_flow_group_in, flow_group_in, end_flow_index, - ix + esw->total_vports - 1); - ix += esw->total_vports; - - g = mlx5_create_flow_group(fdb, flow_group_in); - if (IS_ERR(g)) { - err = PTR_ERR(g); - esw_warn(dev, "Failed to create peer miss flow group err(%d)\n", err); - goto peer_miss_err; + if (MLX5_CAP_ESW(esw->dev, merged_eswitch)) { + /* create peer esw miss group */ + memset(flow_group_in, 0, inlen); + + esw_set_flow_group_source_port(esw, flow_group_in); + + if (!mlx5_eswitch_vport_match_metadata_enabled(esw)) { + match_criteria = MLX5_ADDR_OF(create_flow_group_in, + flow_group_in, + match_criteria); + + MLX5_SET_TO_ONES(fte_match_param, match_criteria, + misc_parameters.source_eswitch_owner_vhca_id); + + MLX5_SET(create_flow_group_in, flow_group_in, + source_eswitch_owner_vhca_id_valid, 1); + } + + MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, ix); + MLX5_SET(create_flow_group_in, flow_group_in, end_flow_index, + ix + esw->total_vports - 1); + ix += esw->total_vports; + + g = mlx5_create_flow_group(fdb, flow_group_in); + if (IS_ERR(g)) { + err = PTR_ERR(g); + esw_warn(dev, "Failed to create peer miss flow group err(%d)\n", err); + goto peer_miss_err; + } + esw->fdb_table.offloads.peer_miss_grp = g; } - esw->fdb_table.offloads.peer_miss_grp = g; /* create miss group */ memset(flow_group_in, 0, inlen); @@ -1282,7 +1284,8 @@ miss_rule_err: mlx5_destroy_flow_group(esw->fdb_table.offloads.miss_grp); miss_err: - mlx5_destroy_flow_group(esw->fdb_table.offloads.peer_miss_grp); + if (MLX5_CAP_ESW(esw->dev, merged_eswitch)) + mlx5_destroy_flow_group(esw->fdb_table.offloads.peer_miss_grp); peer_miss_err: mlx5_destroy_flow_group(esw->fdb_table.offloads.send_to_vport_grp); send_vport_err: @@ -1306,7 +1309,8 @@ mlx5_del_flow_rules(esw->fdb_table.offloads.miss_rule_multi); mlx5_del_flow_rules(esw->fdb_table.offloads.miss_rule_uni); mlx5_destroy_flow_group(esw->fdb_table.offloads.send_to_vport_grp); - mlx5_destroy_flow_group(esw->fdb_table.offloads.peer_miss_grp); + if (MLX5_CAP_ESW(esw->dev, merged_eswitch)) + mlx5_destroy_flow_group(esw->fdb_table.offloads.peer_miss_grp); mlx5_destroy_flow_group(esw->fdb_table.offloads.miss_grp); mlx5_esw_chains_destroy(esw); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -106,8 +106,8 @@ #define ETHTOOL_PRIO_NUM_LEVELS 1 #define ETHTOOL_NUM_PRIOS 11 #define ETHTOOL_MIN_LEVEL (KERNEL_MIN_LEVEL + ETHTOOL_NUM_PRIOS) -/* Vlan, mac, ttc, inner ttc, aRFS */ -#define KERNEL_NIC_PRIO_NUM_LEVELS 5 +/* Vlan, mac, ttc, inner ttc, {aRFS/accel} */ +#define KERNEL_NIC_PRIO_NUM_LEVELS 6 #define KERNEL_NIC_NUM_PRIOS 1 /* One more level for tc */ #define KERNEL_MIN_LEVEL (KERNEL_NIC_PRIO_NUM_LEVELS + 1) @@ -520,6 +520,13 @@ goto out; } + if (rule->dest_attr.type == MLX5_FLOW_DESTINATION_TYPE_PORT && + --fte->dests_size) { + fte->modify_mask |= BIT(MLX5_SET_FTE_MODIFY_ENABLE_MASK_ACTION); + fte->action.action &= ~MLX5_FLOW_CONTEXT_ACTION_ALLOW; + goto out; + } + if ((fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) && --fte->dests_size) { fte->modify_mask |= @@ -655,7 +662,7 @@ fte->action = *flow_act; fte->flow_context = spec->flow_context; - tree_init_node(&fte->node, NULL, del_sw_fte); + tree_init_node(&fte->node, del_hw_fte, del_sw_fte); return fte; } @@ -847,18 +854,15 @@ { struct mlx5_flow_root_namespace *root = find_root(&prio->node); struct mlx5_flow_table *iter; - int i = 0; int err; fs_for_each_ft(iter, prio) { - i++; err = root->cmds->modify_flow_table(root, iter, ft); if (err) { - mlx5_core_warn(dev, "Failed to modify flow table %d\n", - iter->id); + mlx5_core_err(dev, + "Failed to modify flow table id %d, type %d, err %d\n", + iter->id, iter->type, err); /* The driver is out of sync with the FW */ - if (i > 1) - WARN_ON(true); return err; } } @@ -1123,6 +1127,7 @@ destroy_ft: root->cmds->destroy_flow_table(root, ft); free_ft: + rhltable_destroy(&ft->fgs_hash); kfree(ft); unlock_root: mutex_unlock(&root->chain_lock); @@ -1743,6 +1748,7 @@ if (!fte_tmp) continue; rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte_tmp); + /* No error check needed here, because insert_fte() is not called */ up_write_ref_node(&fte_tmp->node, false); tree_put_node(&fte_tmp->node, false); kmem_cache_free(steering->ftes_cache, fte); @@ -1795,7 +1801,8 @@ up_write_ref_node(&g->node, false); rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); up_write_ref_node(&fte->node, false); - tree_put_node(&fte->node, false); + if (IS_ERR(rule)) + tree_put_node(&fte->node, false); return rule; } rule = ERR_PTR(-ENOENT); @@ -1894,7 +1901,8 @@ up_write_ref_node(&g->node, false); rule = add_rule_fg(g, spec, flow_act, dest, dest_num, fte); up_write_ref_node(&fte->node, false); - tree_put_node(&fte->node, false); + if (IS_ERR(rule)) + tree_put_node(&fte->node, false); tree_put_node(&g->node, false); return rule; @@ -1999,12 +2007,15 @@ down_write_ref_node(&fte->node, false); for (i = handle->num_rules - 1; i >= 0; i--) tree_remove_node(&handle->rule[i]->node, true); - if (fte->modify_mask && fte->dests_size) { - modify_fte(fte); + if (fte->dests_size) { + if (fte->modify_mask) + modify_fte(fte); up_write_ref_node(&fte->node, false); - } else { + } else if (list_empty(&fte->node.children)) { del_hw_fte(&fte->node); - up_write(&fte->node.lock); + /* Avoid double call to del_hw_fte */ + fte->node.del_hw_func = NULL; + up_write_ref_node(&fte->node, false); tree_put_node(&fte->node, false); } kfree(handle); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/fw.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/fw.c @@ -35,6 +35,7 @@ #include #include "mlx5_core.h" #include "../../mlxfw/mlxfw.h" +#include "accel/tls.h" enum { MCQS_IDENTIFIER_BOOT_IMG = 0x1, @@ -236,7 +237,7 @@ return err; } - if (MLX5_CAP_GEN(dev, tls_tx)) { + if (mlx5_accel_is_ktls_tx(dev) || mlx5_accel_is_ktls_rx(dev)) { err = mlx5_core_get_caps(dev, MLX5_CAP_TLS); if (err) return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -550,8 +550,9 @@ switch (clock->ptp_info.pin_config[pin].func) { case PTP_PF_EXTTS: ptp_event.index = pin; - ptp_event.timestamp = timecounter_cyc2time(&clock->tc, - be64_to_cpu(eqe->data.pps.time_stamp)); + ptp_event.timestamp = + mlx5_timecounter_cyc2time(clock, + be64_to_cpu(eqe->data.pps.time_stamp)); if (clock->pps_info.enabled) { ptp_event.type = PTP_CLOCK_PPSUSR; ptp_event.pps_times.ts_real = --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h @@ -37,6 +37,7 @@ struct mlx5_eq_async { struct mlx5_eq core; struct notifier_block irq_nb; + spinlock_t lock; /* To avoid irq EQ handle races with resiliency flows */ }; struct mlx5_eq_comp { @@ -81,6 +82,7 @@ struct cpumask *mlx5_eq_comp_cpumask(struct mlx5_core_dev *dev, int ix); u32 mlx5_eq_poll_irq_disabled(struct mlx5_eq_comp *eq); +void mlx5_cmd_eq_recover(struct mlx5_core_dev *dev); void mlx5_eq_synchronize_async_irq(struct mlx5_core_dev *dev); void mlx5_eq_synchronize_cmd_irq(struct mlx5_core_dev *dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -50,6 +50,7 @@ #ifdef CONFIG_RFS_ACCEL #include #endif +#include #include #include "mlx5_core.h" #include "lib/eq.h" @@ -232,7 +233,10 @@ strncat(string, ",", remaining_size); remaining_size = max_t(int, 0, driver_ver_sz - strlen(string)); - strncat(string, DRIVER_VERSION, remaining_size); + + snprintf(string + strlen(string), remaining_size, "%u.%u.%u", + (u8)((LINUX_VERSION_CODE >> 16) & 0xff), (u8)((LINUX_VERSION_CODE >> 8) & 0xff), + (u16)(LINUX_VERSION_CODE & 0xffff)); /*Send the command*/ MLX5_SET(set_driver_version_in, in, opcode, @@ -1362,7 +1366,8 @@ dev_err(&pdev->dev, "mlx5_crdump_enable failed with error code %d\n", err); pci_save_state(pdev); - devlink_reload_enable(devlink); + if (!mlx5_core_is_mp_slave(dev)) + devlink_reload_enable(devlink); return 0; err_load_one: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c @@ -375,6 +375,24 @@ npages, ec_function, func_id); } +static u32 fwp_fill_manage_pages_out(struct fw_page *fwp, u32 *out, u32 index, + u32 npages) +{ + u32 pages_set = 0; + unsigned int n; + + for_each_clear_bit(n, &fwp->bitmask, MLX5_NUM_4K_IN_PAGE) { + MLX5_ARRAY_SET64(manage_pages_out, out, pas, index + pages_set, + fwp->addr + (n * MLX5_ADAPTER_PAGE_SIZE)); + pages_set++; + + if (!--npages) + break; + } + + return pages_set; +} + static int reclaim_pages_cmd(struct mlx5_core_dev *dev, u32 *in, int in_size, u32 *out, int out_size) { @@ -398,8 +416,7 @@ if (fwp->func_id != func_id) continue; - MLX5_ARRAY_SET64(manage_pages_out, out, pas, i, fwp->addr); - i++; + i += fwp_fill_manage_pages_out(fwp, out, i, npages - i); } MLX5_SET(manage_pages_out, out, output_num_entries, i); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c @@ -115,7 +115,7 @@ return 0; err_request_irq: - for (; i >= 0; i--) { + while (i--) { struct mlx5_irq *irq = mlx5_irq_get(dev, i); int irqn = pci_irq_vector(dev->pdev, i); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/rdma.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/rdma.c @@ -116,7 +116,7 @@ static void mlx5_rdma_del_roce_addr(struct mlx5_core_dev *dev) { mlx5_core_roce_gid_set(dev, 0, 0, 0, - NULL, NULL, false, 0, 0); + NULL, NULL, false, 0, 1); } static void mlx5_rdma_make_default_gid(struct mlx5_core_dev *dev, union ib_gid *gid) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c @@ -92,6 +92,7 @@ caps->eswitch_manager = MLX5_CAP_GEN(mdev, eswitch_manager); caps->gvmi = MLX5_CAP_GEN(mdev, vhca_id); caps->flex_protocols = MLX5_CAP_GEN(mdev, flex_parser_protocols); + caps->sw_format_ver = MLX5_CAP_GEN(mdev, steering_format_version); if (mlx5dr_matcher_supp_flex_parser_icmp_v4(caps)) { caps->flex_parser_id_icmp_dw0 = MLX5_CAP_GEN(mdev, flex_parser_id_icmp_dw0); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c @@ -223,6 +223,11 @@ if (ret) return ret; + if (dmn->info.caps.sw_format_ver != MLX5_STEERING_FORMAT_CONNECTX_5) { + mlx5dr_err(dmn, "SW steering is not supported on this device\n"); + return -EOPNOTSUPP; + } + ret = dr_domain_query_fdb_caps(mdev, dmn); if (ret) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h @@ -621,6 +621,7 @@ u8 max_ft_level; u16 roce_min_src_udp; u8 num_esw_ports; + u8 sw_format_ver; bool eswitch_manager; bool rx_sw_owner; bool tx_sw_owner; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c @@ -279,29 +279,9 @@ /* The order of the actions are must to be keep, only the following * order is supported by SW steering: - * TX: push vlan -> modify header -> encap + * TX: modify header -> push vlan -> encap * RX: decap -> pop vlan -> modify header */ - if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH) { - tmp_action = create_action_push_vlan(domain, &fte->action.vlan[0]); - if (!tmp_action) { - err = -ENOMEM; - goto free_actions; - } - fs_dr_actions[fs_dr_num_actions++] = tmp_action; - actions[num_actions++] = tmp_action; - } - - if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH_2) { - tmp_action = create_action_push_vlan(domain, &fte->action.vlan[1]); - if (!tmp_action) { - err = -ENOMEM; - goto free_actions; - } - fs_dr_actions[fs_dr_num_actions++] = tmp_action; - actions[num_actions++] = tmp_action; - } - if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_DECAP) { enum mlx5dr_action_reformat_type decap_type = DR_ACTION_REFORMAT_TYP_TNL_L2_TO_L2; @@ -354,6 +334,26 @@ actions[num_actions++] = fte->action.modify_hdr->action.dr_action; + if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH) { + tmp_action = create_action_push_vlan(domain, &fte->action.vlan[0]); + if (!tmp_action) { + err = -ENOMEM; + goto free_actions; + } + fs_dr_actions[fs_dr_num_actions++] = tmp_action; + actions[num_actions++] = tmp_action; + } + + if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH_2) { + tmp_action = create_action_push_vlan(domain, &fte->action.vlan[1]); + if (!tmp_action) { + err = -ENOMEM; + goto free_actions; + } + fs_dr_actions[fs_dr_num_actions++] = tmp_action; + actions[num_actions++] = tmp_action; + } + if (delay_encap_set) actions[num_actions++] = fte->action.pkt_reformat->action.dr_action; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/core.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -558,7 +558,8 @@ if (trans->core->fw_flash_in_progress) timeout = msecs_to_jiffies(MLXSW_EMAD_TIMEOUT_DURING_FW_FLASH_MS); - queue_delayed_work(trans->core->emad_wq, &trans->timeout_dw, timeout); + queue_delayed_work(trans->core->emad_wq, &trans->timeout_dw, + timeout << trans->retries); } static int mlxsw_emad_transmit(struct mlxsw_core *mlxsw_core, @@ -607,6 +608,9 @@ err = mlxsw_emad_transmit(trans->core, trans); if (err == 0) return; + + if (!atomic_dec_and_test(&trans->active)) + return; } else { err = -EIO; } @@ -1483,6 +1487,8 @@ if (!reload) devlink_resources_unregister(devlink, NULL); mlxsw_core->bus->fini(mlxsw_core->bus_priv); + if (!reload) + devlink_free(devlink); return; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c @@ -19,7 +19,7 @@ #define MLXSW_THERMAL_ASIC_TEMP_NORM 75000 /* 75C */ #define MLXSW_THERMAL_ASIC_TEMP_HIGH 85000 /* 85C */ #define MLXSW_THERMAL_ASIC_TEMP_HOT 105000 /* 105C */ -#define MLXSW_THERMAL_ASIC_TEMP_CRIT 110000 /* 110C */ +#define MLXSW_THERMAL_ASIC_TEMP_CRIT 140000 /* 140C */ #define MLXSW_THERMAL_HYSTERESIS_TEMP 5000 /* 5C */ #define MLXSW_THERMAL_MODULE_TEMP_SHIFT (MLXSW_THERMAL_HYSTERESIS_TEMP * 2) #define MLXSW_THERMAL_ZONE_MAX_NAME 16 @@ -178,6 +178,12 @@ if (err) return err; + if (crit_temp > emerg_temp) { + dev_warn(dev, "%s : Critical threshold %d is above emergency threshold %d\n", + tz->tzdev->type, crit_temp, emerg_temp); + return 0; + } + /* According to the system thermal requirements, the thermal zones are * defined with four trip points. The critical and emergency * temperature thresholds, provided by QSFP module are set as "active" @@ -192,11 +198,8 @@ tz->trips[MLXSW_THERMAL_TEMP_TRIP_NORM].temp = crit_temp; tz->trips[MLXSW_THERMAL_TEMP_TRIP_HIGH].temp = crit_temp; tz->trips[MLXSW_THERMAL_TEMP_TRIP_HOT].temp = emerg_temp; - if (emerg_temp > crit_temp) - tz->trips[MLXSW_THERMAL_TEMP_TRIP_CRIT].temp = emerg_temp + + tz->trips[MLXSW_THERMAL_TEMP_TRIP_CRIT].temp = emerg_temp + MLXSW_THERMAL_MODULE_TEMP_SHIFT; - else - tz->trips[MLXSW_THERMAL_TEMP_TRIP_CRIT].temp = emerg_temp; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -20,6 +20,7 @@ #include #include #include +#include #include "port.h" #include "core.h" @@ -302,6 +303,20 @@ u32 *p_eth_proto_oper); }; +static inline u8 mlxsw_sp_tunnel_ecn_decap(u8 outer_ecn, u8 inner_ecn, + bool *trap_en) +{ + bool set_ce = false; + + *trap_en = !!__INET_ECN_decapsulate(outer_ecn, inner_ecn, &set_ce); + if (set_ce) + return INET_ECN_CE; + else if (outer_ecn == INET_ECN_ECT_1 && inner_ecn == INET_ECN_ECT_0) + return INET_ECN_ECT_1; + else + return inner_ecn; +} + static inline struct net_device * mlxsw_sp_bridge_vxlan_dev_find(struct net_device *br_dev) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c @@ -292,13 +292,14 @@ int err; group->tcam = tcam; - mutex_init(&group->lock); INIT_LIST_HEAD(&group->region_list); err = mlxsw_sp_acl_tcam_group_id_get(tcam, &group->id); if (err) return err; + mutex_init(&group->lock); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.c @@ -371,12 +371,11 @@ u8 inner_ecn, u8 outer_ecn) { char tidem_pl[MLXSW_REG_TIDEM_LEN]; - bool trap_en, set_ce = false; u8 new_inner_ecn; + bool trap_en; - trap_en = __INET_ECN_decapsulate(outer_ecn, inner_ecn, &set_ce); - new_inner_ecn = set_ce ? INET_ECN_CE : inner_ecn; - + new_inner_ecn = mlxsw_sp_tunnel_ecn_decap(outer_ecn, inner_ecn, + &trap_en); mlxsw_reg_tidem_pack(tidem_pl, outer_ecn, inner_ecn, new_inner_ecn, trap_en, trap_en ? MLXSW_TRAP_ID_DECAP_ECN0 : 0); return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(tidem), tidem_pl); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c @@ -909,12 +909,11 @@ u8 inner_ecn, u8 outer_ecn) { char tndem_pl[MLXSW_REG_TNDEM_LEN]; - bool trap_en, set_ce = false; u8 new_inner_ecn; + bool trap_en; - trap_en = !!__INET_ECN_decapsulate(outer_ecn, inner_ecn, &set_ce); - new_inner_ecn = set_ce ? INET_ECN_CE : inner_ecn; - + new_inner_ecn = mlxsw_sp_tunnel_ecn_decap(outer_ecn, inner_ecn, + &trap_en); mlxsw_reg_tndem_pack(tndem_pl, outer_ecn, inner_ecn, new_inner_ecn, trap_en, trap_en ? MLXSW_TRAP_ID_DECAP_ECN0 : 0); return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(tndem), tndem_pl); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/microchip/lan743x_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/microchip/lan743x_ethtool.c @@ -780,7 +780,9 @@ wol->supported = 0; wol->wolopts = 0; - phy_ethtool_get_wol(netdev->phydev, wol); + + if (netdev->phydev) + phy_ethtool_get_wol(netdev->phydev, wol); wol->supported |= WAKE_BCAST | WAKE_UCAST | WAKE_MCAST | WAKE_MAGIC | WAKE_PHY | WAKE_ARP; @@ -809,9 +811,8 @@ device_set_wakeup_enable(&adapter->pdev->dev, (bool)wol->wolopts); - phy_ethtool_set_wol(netdev->phydev, wol); - - return 0; + return netdev->phydev ? phy_ethtool_set_wol(netdev->phydev, wol) + : -ENETDOWN; } #endif /* CONFIG_PM */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/microchip/lan743x_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/microchip/lan743x_main.c @@ -148,7 +148,8 @@ int_sts = lan743x_csr_read(adapter, INT_STS); if (int_sts & INT_BIT_SW_GP_) { - lan743x_csr_write(adapter, INT_STS, INT_BIT_SW_GP_); + /* disable the interrupt to prevent repeated re-triggering */ + lan743x_csr_write(adapter, INT_EN_CLR, INT_BIT_SW_GP_); intr->software_isr_flag = 1; } } @@ -675,14 +676,12 @@ static int lan743x_dp_write(struct lan743x_adapter *adapter, u32 select, u32 addr, u32 length, u32 *buf) { - int ret = -EIO; u32 dp_sel; int i; - mutex_lock(&adapter->dp_lock); if (lan743x_csr_wait_for_bit(adapter, DP_SEL, DP_SEL_DPRDY_, 1, 40, 100, 100)) - goto unlock; + return -EIO; dp_sel = lan743x_csr_read(adapter, DP_SEL); dp_sel &= ~DP_SEL_MASK_; dp_sel |= select; @@ -694,13 +693,10 @@ lan743x_csr_write(adapter, DP_CMD, DP_CMD_WRITE_); if (lan743x_csr_wait_for_bit(adapter, DP_SEL, DP_SEL_DPRDY_, 1, 40, 100, 100)) - goto unlock; + return -EIO; } - ret = 0; -unlock: - mutex_unlock(&adapter->dp_lock); - return ret; + return 0; } static u32 lan743x_mac_mii_access(u16 id, u16 index, int read) @@ -1017,16 +1013,16 @@ static int lan743x_phy_open(struct lan743x_adapter *adapter) { struct lan743x_phy *phy = &adapter->phy; + struct phy_device *phydev = NULL; struct device_node *phynode; - struct phy_device *phydev; struct net_device *netdev; int ret = -EIO; netdev = adapter->netdev; phynode = of_node_get(adapter->pdev->dev.of_node); - adapter->phy_mode = PHY_INTERFACE_MODE_GMII; if (phynode) { + /* try devicetree phy, or fixed link */ of_get_phy_mode(phynode, &adapter->phy_mode); if (of_phy_is_fixed_link(phynode)) { @@ -1042,13 +1038,15 @@ lan743x_phy_link_status_change, 0, adapter->phy_mode); of_node_put(phynode); - if (!phydev) - goto return_error; - } else { + } + + if (!phydev) { + /* try internal phy */ phydev = phy_find_first(adapter->mdiobus); if (!phydev) goto return_error; + adapter->phy_mode = PHY_INTERFACE_MODE_GMII; ret = phy_connect_direct(netdev, phydev, lan743x_phy_link_status_change, adapter->phy_mode); @@ -1308,13 +1306,13 @@ goto clear_active; if (!(buffer_info->flags & TX_BUFFER_INFO_FLAG_TIMESTAMP_REQUESTED)) { - dev_kfree_skb(buffer_info->skb); + dev_kfree_skb_any(buffer_info->skb); goto clear_skb; } if (cleanup) { lan743x_ptp_unrequest_tx_timestamp(tx->adapter); - dev_kfree_skb(buffer_info->skb); + dev_kfree_skb_any(buffer_info->skb); } else { ignore_sync = (buffer_info->flags & TX_BUFFER_INFO_FLAG_IGNORE_SYNC) != 0; @@ -1624,7 +1622,7 @@ if (required_number_of_descriptors > lan743x_tx_get_avail_desc(tx)) { if (required_number_of_descriptors > (tx->ring_size - 1)) { - dev_kfree_skb(skb); + dev_kfree_skb_irq(skb); } else { /* save to overflow buffer */ tx->overflow_skb = skb; @@ -1657,7 +1655,7 @@ start_frame_length, do_timestamp, skb->ip_summed == CHECKSUM_PARTIAL)) { - dev_kfree_skb(skb); + dev_kfree_skb_irq(skb); goto unlock; } @@ -1676,7 +1674,7 @@ * frame assembler clean up was performed inside * lan743x_tx_frame_add_fragment */ - dev_kfree_skb(skb); + dev_kfree_skb_irq(skb); goto unlock; } } @@ -1964,6 +1962,14 @@ length, GFP_ATOMIC | GFP_DMA); } +static void lan743x_rx_update_tail(struct lan743x_rx *rx, int index) +{ + /* update the tail once per 8 descriptors */ + if ((index & 7) == 7) + lan743x_csr_write(rx->adapter, RX_TAIL(rx->channel_number), + index); +} + static int lan743x_rx_init_ring_element(struct lan743x_rx *rx, int index, struct sk_buff *skb) { @@ -1994,6 +2000,7 @@ descriptor->data0 = (RX_DESC_DATA0_OWN_ | (length & RX_DESC_DATA0_BUF_LENGTH_MASK_)); skb_reserve(buffer_info->skb, RX_HEAD_PADDING); + lan743x_rx_update_tail(rx, index); return 0; } @@ -2012,6 +2019,7 @@ descriptor->data0 = (RX_DESC_DATA0_OWN_ | ((buffer_info->buffer_length) & RX_DESC_DATA0_BUF_LENGTH_MASK_)); + lan743x_rx_update_tail(rx, index); } static void lan743x_rx_release_ring_element(struct lan743x_rx *rx, int index) @@ -2223,6 +2231,7 @@ { struct lan743x_rx *rx = container_of(napi, struct lan743x_rx, napi); struct lan743x_adapter *adapter = rx->adapter; + int result = RX_PROCESS_RESULT_NOTHING_TO_DO; u32 rx_tail_flags = 0; int count; @@ -2231,27 +2240,19 @@ lan743x_csr_write(adapter, DMAC_INT_STS, DMAC_INT_BIT_RXFRM_(rx->channel_number)); } - count = 0; - while (count < weight) { - int rx_process_result = lan743x_rx_process_packet(rx); - - if (rx_process_result == RX_PROCESS_RESULT_PACKET_RECEIVED) { - count++; - } else if (rx_process_result == - RX_PROCESS_RESULT_NOTHING_TO_DO) { + for (count = 0; count < weight; count++) { + result = lan743x_rx_process_packet(rx); + if (result == RX_PROCESS_RESULT_NOTHING_TO_DO) break; - } else if (rx_process_result == - RX_PROCESS_RESULT_PACKET_DROPPED) { - continue; - } } rx->frame_count += count; - if (count == weight) - goto done; + if (count == weight || result == RX_PROCESS_RESULT_PACKET_RECEIVED) + return weight; if (!napi_complete_done(napi, count)) - goto done; + return count; + /* re-arm interrupts, must write to rx tail on some chip variants */ if (rx->vector_flags & LAN743X_VECTOR_FLAG_VECTOR_ENABLE_AUTO_SET) rx_tail_flags |= RX_TAIL_SET_TOP_INT_VEC_EN_; if (rx->vector_flags & LAN743X_VECTOR_FLAG_SOURCE_ENABLE_AUTO_SET) { @@ -2261,10 +2262,10 @@ INT_BIT_DMA_RX_(rx->channel_number)); } - /* update RX_TAIL */ - lan743x_csr_write(adapter, RX_TAIL(rx->channel_number), - rx_tail_flags | rx->last_tail); -done: + if (rx_tail_flags) + lan743x_csr_write(adapter, RX_TAIL(rx->channel_number), + rx_tail_flags | rx->last_tail); + return count; } @@ -2409,7 +2410,7 @@ netif_napi_add(adapter->netdev, &rx->napi, lan743x_rx_napi_poll, - rx->ring_size - 1); + NAPI_POLL_WEIGHT); lan743x_csr_write(adapter, DMAC_CMD, DMAC_CMD_RX_SWR_(rx->channel_number)); @@ -2735,7 +2736,6 @@ adapter->intr.irq = adapter->pdev->irq; lan743x_csr_write(adapter, INT_EN_CLR, 0xFFFFFFFF); - mutex_init(&adapter->dp_lock); ret = lan743x_gpio_init(adapter); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/microchip/lan743x_main.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/microchip/lan743x_main.h @@ -712,9 +712,6 @@ struct lan743x_csr csr; struct lan743x_intr intr; - /* lock, used to prevent concurrent access to data port */ - struct mutex dp_lock; - struct lan743x_gpio gpio; struct lan743x_ptp ptp; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mscc/Makefile +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mscc/Makefile @@ -2,4 +2,4 @@ obj-$(CONFIG_MSCC_OCELOT_SWITCH) += mscc_ocelot_common.o mscc_ocelot_common-y := ocelot.o ocelot_io.o mscc_ocelot_common-y += ocelot_regs.o ocelot_tc.o ocelot_police.o ocelot_ace.o ocelot_flower.o ocelot_ptp.o -obj-$(CONFIG_MSCC_OCELOT_SWITCH_OCELOT) += ocelot_board.o +obj-$(CONFIG_MSCC_OCELOT_SWITCH_OCELOT) += ocelot_vsc7514.o --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mscc/ocelot.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mscc/ocelot.c @@ -396,18 +396,6 @@ } } -/* Watermark encode - * Bit 8: Unit; 0:1, 1:16 - * Bit 7-0: Value to be multiplied with unit - */ -static u16 ocelot_wm_enc(u16 value) -{ - if (value >= BIT(8)) - return BIT(8) | (value / 16); - - return value; -} - void ocelot_adjust_link(struct ocelot *ocelot, int port, struct phy_device *phydev) { @@ -1605,14 +1593,14 @@ addr[0] = 0; if (!new) { - addr[2] = mc->ports << 0; - addr[1] = mc->ports << 8; + addr[1] = mc->ports >> 8; + addr[2] = mc->ports & 0xff; ocelot_mact_forget(ocelot, addr, vid); } mc->ports |= BIT(port); - addr[2] = mc->ports << 0; - addr[1] = mc->ports << 8; + addr[1] = mc->ports >> 8; + addr[2] = mc->ports & 0xff; return ocelot_mact_learn(ocelot, 0, addr, vid, ENTRYTYPE_MACv4); } @@ -1636,9 +1624,9 @@ return -ENOENT; memcpy(addr, mc->addr, ETH_ALEN); - addr[2] = mc->ports << 0; - addr[1] = mc->ports << 8; addr[0] = 0; + addr[1] = mc->ports >> 8; + addr[2] = mc->ports & 0xff; ocelot_mact_forget(ocelot, addr, vid); mc->ports &= ~BIT(port); @@ -1648,8 +1636,8 @@ return 0; } - addr[2] = mc->ports << 0; - addr[1] = mc->ports << 8; + addr[1] = mc->ports >> 8; + addr[2] = mc->ports & 0xff; return ocelot_mact_learn(ocelot, 0, addr, vid, ENTRYTYPE_MACv4); } @@ -1907,10 +1895,8 @@ struct net_device *dev = netdev_notifier_info_to_dev(ptr); int ret = 0; - if (!ocelot_netdevice_dev_check(dev)) - return 0; - if (event == NETDEV_PRECHANGEUPPER && + ocelot_netdevice_dev_check(dev) && netif_is_lag_master(info->upper_dev)) { struct netdev_lag_upper_info *lag_upper_info = info->upper_info; struct netlink_ext_ack *extack; @@ -2012,7 +1998,8 @@ { struct ocelot_port *ocelot_port = ocelot->ports[port]; int maxlen = sdu + ETH_HLEN + ETH_FCS_LEN; - int atop_wm; + int pause_start, pause_stop; + int atop, atop_tot; if (port == ocelot->npi) { maxlen += OCELOT_TAG_LEN; @@ -2025,20 +2012,20 @@ ocelot_port_writel(ocelot_port, maxlen, DEV_MAC_MAXLEN_CFG); - /* Set Pause WM hysteresis - * 152 = 6 * maxlen / OCELOT_BUFFER_CELL_SZ - * 101 = 4 * maxlen / OCELOT_BUFFER_CELL_SZ - */ - ocelot_write_rix(ocelot, SYS_PAUSE_CFG_PAUSE_ENA | - SYS_PAUSE_CFG_PAUSE_STOP(101) | - SYS_PAUSE_CFG_PAUSE_START(152), SYS_PAUSE_CFG, port); + /* Set Pause watermark hysteresis */ + pause_start = 6 * maxlen / OCELOT_BUFFER_CELL_SZ; + pause_stop = 4 * maxlen / OCELOT_BUFFER_CELL_SZ; + ocelot_rmw_rix(ocelot, SYS_PAUSE_CFG_PAUSE_START(pause_start), + SYS_PAUSE_CFG_PAUSE_START_M, SYS_PAUSE_CFG, port); + ocelot_rmw_rix(ocelot, SYS_PAUSE_CFG_PAUSE_STOP(pause_stop), + SYS_PAUSE_CFG_PAUSE_STOP_M, SYS_PAUSE_CFG, port); - /* Tail dropping watermark */ - atop_wm = (ocelot->shared_queue_sz - 9 * maxlen) / + /* Tail dropping watermarks */ + atop_tot = (ocelot->shared_queue_sz - 9 * maxlen) / OCELOT_BUFFER_CELL_SZ; - ocelot_write_rix(ocelot, ocelot_wm_enc(9 * maxlen), - SYS_ATOP, port); - ocelot_write(ocelot, ocelot_wm_enc(atop_wm), SYS_ATOP_TOT_CFG); + atop = (9 * maxlen) / OCELOT_BUFFER_CELL_SZ; + ocelot_write_rix(ocelot, ocelot->ops->wm_enc(atop), SYS_ATOP, port); + ocelot_write(ocelot, ocelot->ops->wm_enc(atop_tot), SYS_ATOP_TOT_CFG); } EXPORT_SYMBOL(ocelot_port_set_maxlen); @@ -2094,6 +2081,10 @@ ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_HIGH_CFG); ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_LOW_CFG); + /* Enable transmission of pause frames */ + ocelot_rmw_rix(ocelot, SYS_PAUSE_CFG_PAUSE_ENA, SYS_PAUSE_CFG_PAUSE_ENA, + SYS_PAUSE_CFG, port); + /* Drop frames with multicast source address */ ocelot_rmw_gix(ocelot, ANA_PORT_DROP_CFG_DROP_MC_SMAC_ENA, ANA_PORT_DROP_CFG_DROP_MC_SMAC_ENA, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/mscc/ocelot_vsc7514.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/mscc/ocelot_vsc7514.c @@ -0,0 +1,639 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Microsemi Ocelot Switch driver + * + * Copyright (c) 2017 Microsemi Corporation + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "ocelot.h" + +#define IFH_EXTRACT_BITFIELD64(x, o, w) (((x) >> (o)) & GENMASK_ULL((w) - 1, 0)) +#define VSC7514_VCAP_IS2_CNT 64 +#define VSC7514_VCAP_IS2_ENTRY_WIDTH 376 +#define VSC7514_VCAP_IS2_ACTION_WIDTH 99 +#define VSC7514_VCAP_PORT_CNT 11 + +static int ocelot_parse_ifh(u32 *_ifh, struct frame_info *info) +{ + u8 llen, wlen; + u64 ifh[2]; + + ifh[0] = be64_to_cpu(((__force __be64 *)_ifh)[0]); + ifh[1] = be64_to_cpu(((__force __be64 *)_ifh)[1]); + + wlen = IFH_EXTRACT_BITFIELD64(ifh[0], 7, 8); + llen = IFH_EXTRACT_BITFIELD64(ifh[0], 15, 6); + + info->len = OCELOT_BUFFER_CELL_SZ * wlen + llen - 80; + + info->timestamp = IFH_EXTRACT_BITFIELD64(ifh[0], 21, 32); + + info->port = IFH_EXTRACT_BITFIELD64(ifh[1], 43, 4); + + info->tag_type = IFH_EXTRACT_BITFIELD64(ifh[1], 16, 1); + info->vid = IFH_EXTRACT_BITFIELD64(ifh[1], 0, 12); + + return 0; +} + +static int ocelot_rx_frame_word(struct ocelot *ocelot, u8 grp, bool ifh, + u32 *rval) +{ + u32 val; + u32 bytes_valid; + + val = ocelot_read_rix(ocelot, QS_XTR_RD, grp); + if (val == XTR_NOT_READY) { + if (ifh) + return -EIO; + + do { + val = ocelot_read_rix(ocelot, QS_XTR_RD, grp); + } while (val == XTR_NOT_READY); + } + + switch (val) { + case XTR_ABORT: + return -EIO; + case XTR_EOF_0: + case XTR_EOF_1: + case XTR_EOF_2: + case XTR_EOF_3: + case XTR_PRUNED: + bytes_valid = XTR_VALID_BYTES(val); + val = ocelot_read_rix(ocelot, QS_XTR_RD, grp); + if (val == XTR_ESCAPE) + *rval = ocelot_read_rix(ocelot, QS_XTR_RD, grp); + else + *rval = val; + + return bytes_valid; + case XTR_ESCAPE: + *rval = ocelot_read_rix(ocelot, QS_XTR_RD, grp); + + return 4; + default: + *rval = val; + + return 4; + } +} + +static irqreturn_t ocelot_xtr_irq_handler(int irq, void *arg) +{ + struct ocelot *ocelot = arg; + int i = 0, grp = 0; + int err = 0; + + if (!(ocelot_read(ocelot, QS_XTR_DATA_PRESENT) & BIT(grp))) + return IRQ_NONE; + + do { + struct skb_shared_hwtstamps *shhwtstamps; + struct ocelot_port_private *priv; + struct ocelot_port *ocelot_port; + u64 tod_in_ns, full_ts_in_ns; + struct frame_info info = {}; + struct net_device *dev; + u32 ifh[4], val, *buf; + struct timespec64 ts; + int sz, len, buf_len; + struct sk_buff *skb; + + for (i = 0; i < OCELOT_TAG_LEN / 4; i++) { + err = ocelot_rx_frame_word(ocelot, grp, true, &ifh[i]); + if (err != 4) + break; + } + + if (err != 4) + break; + + /* At this point the IFH was read correctly, so it is safe to + * presume that there is no error. The err needs to be reset + * otherwise a frame could come in CPU queue between the while + * condition and the check for error later on. And in that case + * the new frame is just removed and not processed. + */ + err = 0; + + ocelot_parse_ifh(ifh, &info); + + ocelot_port = ocelot->ports[info.port]; + priv = container_of(ocelot_port, struct ocelot_port_private, + port); + dev = priv->dev; + + skb = netdev_alloc_skb(dev, info.len); + + if (unlikely(!skb)) { + netdev_err(dev, "Unable to allocate sk_buff\n"); + err = -ENOMEM; + break; + } + buf_len = info.len - ETH_FCS_LEN; + buf = (u32 *)skb_put(skb, buf_len); + + len = 0; + do { + sz = ocelot_rx_frame_word(ocelot, grp, false, &val); + *buf++ = val; + len += sz; + } while (len < buf_len); + + /* Read the FCS */ + sz = ocelot_rx_frame_word(ocelot, grp, false, &val); + /* Update the statistics if part of the FCS was read before */ + len -= ETH_FCS_LEN - sz; + + if (unlikely(dev->features & NETIF_F_RXFCS)) { + buf = (u32 *)skb_put(skb, ETH_FCS_LEN); + *buf = val; + } + + if (sz < 0) { + err = sz; + break; + } + + if (ocelot->ptp) { + ocelot_ptp_gettime64(&ocelot->ptp_info, &ts); + + tod_in_ns = ktime_set(ts.tv_sec, ts.tv_nsec); + if ((tod_in_ns & 0xffffffff) < info.timestamp) + full_ts_in_ns = (((tod_in_ns >> 32) - 1) << 32) | + info.timestamp; + else + full_ts_in_ns = (tod_in_ns & GENMASK_ULL(63, 32)) | + info.timestamp; + + shhwtstamps = skb_hwtstamps(skb); + memset(shhwtstamps, 0, sizeof(struct skb_shared_hwtstamps)); + shhwtstamps->hwtstamp = full_ts_in_ns; + } + + /* Everything we see on an interface that is in the HW bridge + * has already been forwarded. + */ + if (ocelot->bridge_mask & BIT(info.port)) + skb->offload_fwd_mark = 1; + + skb->protocol = eth_type_trans(skb, dev); + if (!skb_defer_rx_timestamp(skb)) + netif_rx(skb); + dev->stats.rx_bytes += len; + dev->stats.rx_packets++; + } while (ocelot_read(ocelot, QS_XTR_DATA_PRESENT) & BIT(grp)); + + if (err) + while (ocelot_read(ocelot, QS_XTR_DATA_PRESENT) & BIT(grp)) + ocelot_read_rix(ocelot, QS_XTR_RD, grp); + + return IRQ_HANDLED; +} + +static irqreturn_t ocelot_ptp_rdy_irq_handler(int irq, void *arg) +{ + struct ocelot *ocelot = arg; + + ocelot_get_txtstamp(ocelot); + + return IRQ_HANDLED; +} + +static const struct of_device_id mscc_ocelot_match[] = { + { .compatible = "mscc,vsc7514-switch" }, + { } +}; +MODULE_DEVICE_TABLE(of, mscc_ocelot_match); + +static int ocelot_reset(struct ocelot *ocelot) +{ + int retries = 100; + u32 val; + + regmap_field_write(ocelot->regfields[SYS_RESET_CFG_MEM_INIT], 1); + regmap_field_write(ocelot->regfields[SYS_RESET_CFG_MEM_ENA], 1); + + do { + msleep(1); + regmap_field_read(ocelot->regfields[SYS_RESET_CFG_MEM_INIT], + &val); + } while (val && --retries); + + if (!retries) + return -ETIMEDOUT; + + regmap_field_write(ocelot->regfields[SYS_RESET_CFG_MEM_ENA], 1); + regmap_field_write(ocelot->regfields[SYS_RESET_CFG_CORE_ENA], 1); + + return 0; +} + +/* Watermark encode + * Bit 8: Unit; 0:1, 1:16 + * Bit 7-0: Value to be multiplied with unit + */ +static u16 ocelot_wm_enc(u16 value) +{ + if (value >= BIT(8)) + return BIT(8) | (value / 16); + + return value; +} + +static const struct ocelot_ops ocelot_ops = { + .reset = ocelot_reset, + .wm_enc = ocelot_wm_enc, +}; + +static const struct vcap_field vsc7514_vcap_is2_keys[] = { + /* Common: 46 bits */ + [VCAP_IS2_TYPE] = { 0, 4}, + [VCAP_IS2_HK_FIRST] = { 4, 1}, + [VCAP_IS2_HK_PAG] = { 5, 8}, + [VCAP_IS2_HK_IGR_PORT_MASK] = { 13, 12}, + [VCAP_IS2_HK_RSV2] = { 25, 1}, + [VCAP_IS2_HK_HOST_MATCH] = { 26, 1}, + [VCAP_IS2_HK_L2_MC] = { 27, 1}, + [VCAP_IS2_HK_L2_BC] = { 28, 1}, + [VCAP_IS2_HK_VLAN_TAGGED] = { 29, 1}, + [VCAP_IS2_HK_VID] = { 30, 12}, + [VCAP_IS2_HK_DEI] = { 42, 1}, + [VCAP_IS2_HK_PCP] = { 43, 3}, + /* MAC_ETYPE / MAC_LLC / MAC_SNAP / OAM common */ + [VCAP_IS2_HK_L2_DMAC] = { 46, 48}, + [VCAP_IS2_HK_L2_SMAC] = { 94, 48}, + /* MAC_ETYPE (TYPE=000) */ + [VCAP_IS2_HK_MAC_ETYPE_ETYPE] = {142, 16}, + [VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD0] = {158, 16}, + [VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD1] = {174, 8}, + [VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD2] = {182, 3}, + /* MAC_LLC (TYPE=001) */ + [VCAP_IS2_HK_MAC_LLC_L2_LLC] = {142, 40}, + /* MAC_SNAP (TYPE=010) */ + [VCAP_IS2_HK_MAC_SNAP_L2_SNAP] = {142, 40}, + /* MAC_ARP (TYPE=011) */ + [VCAP_IS2_HK_MAC_ARP_SMAC] = { 46, 48}, + [VCAP_IS2_HK_MAC_ARP_ADDR_SPACE_OK] = { 94, 1}, + [VCAP_IS2_HK_MAC_ARP_PROTO_SPACE_OK] = { 95, 1}, + [VCAP_IS2_HK_MAC_ARP_LEN_OK] = { 96, 1}, + [VCAP_IS2_HK_MAC_ARP_TARGET_MATCH] = { 97, 1}, + [VCAP_IS2_HK_MAC_ARP_SENDER_MATCH] = { 98, 1}, + [VCAP_IS2_HK_MAC_ARP_OPCODE_UNKNOWN] = { 99, 1}, + [VCAP_IS2_HK_MAC_ARP_OPCODE] = {100, 2}, + [VCAP_IS2_HK_MAC_ARP_L3_IP4_DIP] = {102, 32}, + [VCAP_IS2_HK_MAC_ARP_L3_IP4_SIP] = {134, 32}, + [VCAP_IS2_HK_MAC_ARP_DIP_EQ_SIP] = {166, 1}, + /* IP4_TCP_UDP / IP4_OTHER common */ + [VCAP_IS2_HK_IP4] = { 46, 1}, + [VCAP_IS2_HK_L3_FRAGMENT] = { 47, 1}, + [VCAP_IS2_HK_L3_FRAG_OFS_GT0] = { 48, 1}, + [VCAP_IS2_HK_L3_OPTIONS] = { 49, 1}, + [VCAP_IS2_HK_IP4_L3_TTL_GT0] = { 50, 1}, + [VCAP_IS2_HK_L3_TOS] = { 51, 8}, + [VCAP_IS2_HK_L3_IP4_DIP] = { 59, 32}, + [VCAP_IS2_HK_L3_IP4_SIP] = { 91, 32}, + [VCAP_IS2_HK_DIP_EQ_SIP] = {123, 1}, + /* IP4_TCP_UDP (TYPE=100) */ + [VCAP_IS2_HK_TCP] = {124, 1}, + [VCAP_IS2_HK_L4_SPORT] = {125, 16}, + [VCAP_IS2_HK_L4_DPORT] = {141, 16}, + [VCAP_IS2_HK_L4_RNG] = {157, 8}, + [VCAP_IS2_HK_L4_SPORT_EQ_DPORT] = {165, 1}, + [VCAP_IS2_HK_L4_SEQUENCE_EQ0] = {166, 1}, + [VCAP_IS2_HK_L4_URG] = {167, 1}, + [VCAP_IS2_HK_L4_ACK] = {168, 1}, + [VCAP_IS2_HK_L4_PSH] = {169, 1}, + [VCAP_IS2_HK_L4_RST] = {170, 1}, + [VCAP_IS2_HK_L4_SYN] = {171, 1}, + [VCAP_IS2_HK_L4_FIN] = {172, 1}, + [VCAP_IS2_HK_L4_1588_DOM] = {173, 8}, + [VCAP_IS2_HK_L4_1588_VER] = {181, 4}, + /* IP4_OTHER (TYPE=101) */ + [VCAP_IS2_HK_IP4_L3_PROTO] = {124, 8}, + [VCAP_IS2_HK_L3_PAYLOAD] = {132, 56}, + /* IP6_STD (TYPE=110) */ + [VCAP_IS2_HK_IP6_L3_TTL_GT0] = { 46, 1}, + [VCAP_IS2_HK_L3_IP6_SIP] = { 47, 128}, + [VCAP_IS2_HK_IP6_L3_PROTO] = {175, 8}, + /* OAM (TYPE=111) */ + [VCAP_IS2_HK_OAM_MEL_FLAGS] = {142, 7}, + [VCAP_IS2_HK_OAM_VER] = {149, 5}, + [VCAP_IS2_HK_OAM_OPCODE] = {154, 8}, + [VCAP_IS2_HK_OAM_FLAGS] = {162, 8}, + [VCAP_IS2_HK_OAM_MEPID] = {170, 16}, + [VCAP_IS2_HK_OAM_CCM_CNTS_EQ0] = {186, 1}, + [VCAP_IS2_HK_OAM_IS_Y1731] = {187, 1}, +}; + +static const struct vcap_field vsc7514_vcap_is2_actions[] = { + [VCAP_IS2_ACT_HIT_ME_ONCE] = { 0, 1}, + [VCAP_IS2_ACT_CPU_COPY_ENA] = { 1, 1}, + [VCAP_IS2_ACT_CPU_QU_NUM] = { 2, 3}, + [VCAP_IS2_ACT_MASK_MODE] = { 5, 2}, + [VCAP_IS2_ACT_MIRROR_ENA] = { 7, 1}, + [VCAP_IS2_ACT_LRN_DIS] = { 8, 1}, + [VCAP_IS2_ACT_POLICE_ENA] = { 9, 1}, + [VCAP_IS2_ACT_POLICE_IDX] = { 10, 9}, + [VCAP_IS2_ACT_POLICE_VCAP_ONLY] = { 19, 1}, + [VCAP_IS2_ACT_PORT_MASK] = { 20, 11}, + [VCAP_IS2_ACT_REW_OP] = { 31, 9}, + [VCAP_IS2_ACT_SMAC_REPLACE_ENA] = { 40, 1}, + [VCAP_IS2_ACT_RSV] = { 41, 2}, + [VCAP_IS2_ACT_ACL_ID] = { 43, 6}, + [VCAP_IS2_ACT_HIT_CNT] = { 49, 32}, +}; + +static const struct vcap_props vsc7514_vcap_props[] = { + [VCAP_IS2] = { + .tg_width = 2, + .sw_count = 4, + .entry_count = VSC7514_VCAP_IS2_CNT, + .entry_width = VSC7514_VCAP_IS2_ENTRY_WIDTH, + .action_count = VSC7514_VCAP_IS2_CNT + + VSC7514_VCAP_PORT_CNT + 2, + .action_width = 99, + .action_type_width = 1, + .action_table = { + [IS2_ACTION_TYPE_NORMAL] = { + .width = 49, + .count = 2 + }, + [IS2_ACTION_TYPE_SMAC_SIP] = { + .width = 6, + .count = 4 + }, + }, + .counter_words = 4, + .counter_width = 32, + }, +}; + +static struct ptp_clock_info ocelot_ptp_clock_info = { + .owner = THIS_MODULE, + .name = "ocelot ptp", + .max_adj = 0x7fffffff, + .n_alarm = 0, + .n_ext_ts = 0, + .n_per_out = OCELOT_PTP_PINS_NUM, + .n_pins = OCELOT_PTP_PINS_NUM, + .pps = 0, + .gettime64 = ocelot_ptp_gettime64, + .settime64 = ocelot_ptp_settime64, + .adjtime = ocelot_ptp_adjtime, + .adjfine = ocelot_ptp_adjfine, + .verify = ocelot_ptp_verify, + .enable = ocelot_ptp_enable, +}; + +static int mscc_ocelot_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct device_node *ports, *portnp; + int err, irq_xtr, irq_ptp_rdy; + struct ocelot *ocelot; + struct regmap *hsio; + unsigned int i; + + struct { + enum ocelot_target id; + char *name; + u8 optional:1; + } io_target[] = { + { SYS, "sys" }, + { REW, "rew" }, + { QSYS, "qsys" }, + { ANA, "ana" }, + { QS, "qs" }, + { S2, "s2" }, + { PTP, "ptp", 1 }, + }; + + if (!np && !pdev->dev.platform_data) + return -ENODEV; + + ocelot = devm_kzalloc(&pdev->dev, sizeof(*ocelot), GFP_KERNEL); + if (!ocelot) + return -ENOMEM; + + platform_set_drvdata(pdev, ocelot); + ocelot->dev = &pdev->dev; + + for (i = 0; i < ARRAY_SIZE(io_target); i++) { + struct regmap *target; + struct resource *res; + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, + io_target[i].name); + + target = ocelot_regmap_init(ocelot, res); + if (IS_ERR(target)) { + if (io_target[i].optional) { + ocelot->targets[io_target[i].id] = NULL; + continue; + } + return PTR_ERR(target); + } + + ocelot->targets[io_target[i].id] = target; + } + + hsio = syscon_regmap_lookup_by_compatible("mscc,ocelot-hsio"); + if (IS_ERR(hsio)) { + dev_err(&pdev->dev, "missing hsio syscon\n"); + return PTR_ERR(hsio); + } + + ocelot->targets[HSIO] = hsio; + + err = ocelot_chip_init(ocelot, &ocelot_ops); + if (err) + return err; + + irq_xtr = platform_get_irq_byname(pdev, "xtr"); + if (irq_xtr < 0) + return -ENODEV; + + err = devm_request_threaded_irq(&pdev->dev, irq_xtr, NULL, + ocelot_xtr_irq_handler, IRQF_ONESHOT, + "frame extraction", ocelot); + if (err) + return err; + + irq_ptp_rdy = platform_get_irq_byname(pdev, "ptp_rdy"); + if (irq_ptp_rdy > 0 && ocelot->targets[PTP]) { + err = devm_request_threaded_irq(&pdev->dev, irq_ptp_rdy, NULL, + ocelot_ptp_rdy_irq_handler, + IRQF_ONESHOT, "ptp ready", + ocelot); + if (err) + return err; + + /* Both the PTP interrupt and the PTP bank are available */ + ocelot->ptp = 1; + } + + ports = of_get_child_by_name(np, "ethernet-ports"); + if (!ports) { + dev_err(&pdev->dev, "no ethernet-ports child node found\n"); + return -ENODEV; + } + + ocelot->num_phys_ports = of_get_child_count(ports); + + ocelot->ports = devm_kcalloc(&pdev->dev, ocelot->num_phys_ports, + sizeof(struct ocelot_port *), GFP_KERNEL); + + ocelot->vcap_is2_keys = vsc7514_vcap_is2_keys; + ocelot->vcap_is2_actions = vsc7514_vcap_is2_actions; + ocelot->vcap = vsc7514_vcap_props; + + ocelot_init(ocelot); + if (ocelot->ptp) { + err = ocelot_init_timestamp(ocelot, &ocelot_ptp_clock_info); + if (err) { + dev_err(ocelot->dev, + "Timestamp initialization failed\n"); + ocelot->ptp = 0; + } + } + + /* No NPI port */ + ocelot_configure_cpu(ocelot, -1, OCELOT_TAG_PREFIX_NONE, + OCELOT_TAG_PREFIX_NONE); + + for_each_available_child_of_node(ports, portnp) { + struct ocelot_port_private *priv; + struct ocelot_port *ocelot_port; + struct device_node *phy_node; + phy_interface_t phy_mode; + struct phy_device *phy; + struct resource *res; + struct phy *serdes; + void __iomem *regs; + char res_name[8]; + u32 port; + + if (of_property_read_u32(portnp, "reg", &port)) + continue; + + snprintf(res_name, sizeof(res_name), "port%d", port); + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, + res_name); + regs = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(regs)) + continue; + + phy_node = of_parse_phandle(portnp, "phy-handle", 0); + if (!phy_node) + continue; + + phy = of_phy_find_device(phy_node); + of_node_put(phy_node); + if (!phy) + continue; + + err = ocelot_probe_port(ocelot, port, regs, phy); + if (err) { + of_node_put(portnp); + goto out_put_ports; + } + + ocelot_port = ocelot->ports[port]; + priv = container_of(ocelot_port, struct ocelot_port_private, + port); + + of_get_phy_mode(portnp, &phy_mode); + + ocelot_port->phy_mode = phy_mode; + + switch (ocelot_port->phy_mode) { + case PHY_INTERFACE_MODE_NA: + continue; + case PHY_INTERFACE_MODE_SGMII: + break; + case PHY_INTERFACE_MODE_QSGMII: + /* Ensure clock signals and speed is set on all + * QSGMII links + */ + ocelot_port_writel(ocelot_port, + DEV_CLOCK_CFG_LINK_SPEED + (OCELOT_SPEED_1000), + DEV_CLOCK_CFG); + break; + default: + dev_err(ocelot->dev, + "invalid phy mode for port%d, (Q)SGMII only\n", + port); + of_node_put(portnp); + err = -EINVAL; + goto out_put_ports; + } + + serdes = devm_of_phy_get(ocelot->dev, portnp, NULL); + if (IS_ERR(serdes)) { + err = PTR_ERR(serdes); + if (err == -EPROBE_DEFER) + dev_dbg(ocelot->dev, "deferring probe\n"); + else + dev_err(ocelot->dev, + "missing SerDes phys for port%d\n", + port); + + of_node_put(portnp); + goto out_put_ports; + } + + priv->serdes = serdes; + } + + register_netdevice_notifier(&ocelot_netdevice_nb); + register_switchdev_notifier(&ocelot_switchdev_nb); + register_switchdev_blocking_notifier(&ocelot_switchdev_blocking_nb); + + dev_info(&pdev->dev, "Ocelot switch probed\n"); + +out_put_ports: + of_node_put(ports); + return err; +} + +static int mscc_ocelot_remove(struct platform_device *pdev) +{ + struct ocelot *ocelot = platform_get_drvdata(pdev); + + ocelot_deinit_timestamp(ocelot); + ocelot_deinit(ocelot); + unregister_switchdev_blocking_notifier(&ocelot_switchdev_blocking_nb); + unregister_switchdev_notifier(&ocelot_switchdev_nb); + unregister_netdevice_notifier(&ocelot_netdevice_nb); + + return 0; +} + +static struct platform_driver mscc_ocelot_driver = { + .probe = mscc_ocelot_probe, + .remove = mscc_ocelot_remove, + .driver = { + .name = "ocelot-switch", + .of_match_table = mscc_ocelot_match, + }, +}; + +module_platform_driver(mscc_ocelot_driver); + +MODULE_DESCRIPTION("Microsemi Ocelot switch driver"); +MODULE_AUTHOR("Alexandre Belloni "); +MODULE_LICENSE("Dual MIT/GPL"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -2897,7 +2897,7 @@ dev_kfree_skb_any(curr); if (segs != NULL) { curr = segs; - segs = segs->next; + segs = next; curr->next = NULL; dev_kfree_skb_any(segs); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/natsemi/macsonic.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/natsemi/macsonic.c @@ -506,10 +506,14 @@ err = register_netdev(dev); if (err) - goto out; + goto undo_probe; return 0; +undo_probe: + dma_free_coherent(lp->device, + SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), + lp->descriptors, lp->descriptors_laddr); out: free_netdev(dev); @@ -584,12 +588,16 @@ err = register_netdev(ndev); if (err) - goto out; + goto undo_probe; nubus_set_drvdata(board, ndev); return 0; +undo_probe: + dma_free_coherent(lp->device, + SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), + lp->descriptors, lp->descriptors_laddr); out: free_netdev(ndev); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/natsemi/xtsonic.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/natsemi/xtsonic.c @@ -229,11 +229,14 @@ sonic_msg_init(dev); if ((err = register_netdev(dev))) - goto out1; + goto undo_probe1; return 0; -out1: +undo_probe1: + dma_free_coherent(lp->device, + SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), + lp->descriptors, lp->descriptors_laddr); release_region(dev->base_addr, SONIC_MEM_SIZE); out: free_netdev(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/neterion/vxge/vxge-main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/neterion/vxge/vxge-main.c @@ -4197,6 +4197,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; @@ -4239,9 +4242,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 @@ -4846,3 +4849,5 @@ } module_init(vxge_starter); module_exit(vxge_closer); +MODULE_FIRMWARE(VXGE_PXE_FIRMWARE); +MODULE_FIRMWARE(VXGE_FIRMWARE); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/bpf/cmsg.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/bpf/cmsg.c @@ -454,6 +454,7 @@ dev_consume_skb_any(skb); else dev_kfree_skb_any(skb); + return; } nfp_ccm_rx(&bpf->ccm, skb); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/flower/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/flower/main.c @@ -860,9 +860,6 @@ skb_queue_purge(&app_priv->cmsg_skbs_low); flush_work(&app_priv->cmsg_work); - flow_indr_dev_unregister(nfp_flower_indr_setup_tc_cb, app, - nfp_flower_setup_indr_tc_release); - if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM) nfp_flower_qos_cleanup(app); @@ -951,6 +948,9 @@ static void nfp_flower_stop(struct nfp_app *app) { nfp_tunnel_config_stop(app); + + flow_indr_dev_unregister(nfp_flower_indr_setup_tc_cb, app, + nfp_flower_setup_indr_tc_release); } static int --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/flower/main.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/flower/main.h @@ -186,6 +186,7 @@ * @qos_rate_limiters: Current active qos rate limiters * @qos_stats_lock: Lock on qos stats updates * @pre_tun_rule_cnt: Number of pre-tunnel rules offloaded + * @merge_table: Hash table to store merged flows */ struct nfp_flower_priv { struct nfp_app *app; @@ -219,6 +220,7 @@ unsigned int qos_rate_limiters; spinlock_t qos_stats_lock; /* Protect the qos stats */ int pre_tun_rule_cnt; + struct rhashtable merge_table; }; /** @@ -346,6 +348,12 @@ }; extern const struct rhashtable_params nfp_flower_table_params; +extern const struct rhashtable_params merge_table_params; + +struct nfp_merge_info { + u64 parent_ctx; + struct rhash_head ht_node; +}; struct nfp_fl_stats_frame { __be32 stats_con_id; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/flower/metadata.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/flower/metadata.c @@ -327,8 +327,14 @@ goto err_free_ctx_entry; } + /* Do net allocate a mask-id for pre_tun_rules. These flows are used to + * configure the pre_tun table and are never actually send to the + * firmware as an add-flow message. This causes the mask-id allocation + * on the firmware to get out of sync if allocated here. + */ new_mask_id = 0; - if (!nfp_check_mask_add(app, nfp_flow->mask_data, + if (!nfp_flow->pre_tun_rule.dev && + !nfp_check_mask_add(app, nfp_flow->mask_data, nfp_flow->meta.mask_len, &nfp_flow->meta.flags, &new_mask_id)) { NL_SET_ERR_MSG_MOD(extack, "invalid entry: cannot allocate a new mask id"); @@ -359,7 +365,8 @@ goto err_remove_mask; } - if (!nfp_check_mask_remove(app, nfp_flow->mask_data, + if (!nfp_flow->pre_tun_rule.dev && + !nfp_check_mask_remove(app, nfp_flow->mask_data, nfp_flow->meta.mask_len, NULL, &new_mask_id)) { NL_SET_ERR_MSG_MOD(extack, "invalid entry: cannot release mask id"); @@ -374,8 +381,10 @@ return 0; err_remove_mask: - nfp_check_mask_remove(app, nfp_flow->mask_data, nfp_flow->meta.mask_len, - NULL, &new_mask_id); + if (!nfp_flow->pre_tun_rule.dev) + nfp_check_mask_remove(app, nfp_flow->mask_data, + nfp_flow->meta.mask_len, + NULL, &new_mask_id); err_remove_rhash: WARN_ON_ONCE(rhashtable_remove_fast(&priv->stats_ctx_table, &ctx_entry->ht_node, @@ -406,9 +415,10 @@ __nfp_modify_flow_metadata(priv, nfp_flow); - nfp_check_mask_remove(app, nfp_flow->mask_data, - nfp_flow->meta.mask_len, &nfp_flow->meta.flags, - &new_mask_id); + if (!nfp_flow->pre_tun_rule.dev) + nfp_check_mask_remove(app, nfp_flow->mask_data, + nfp_flow->meta.mask_len, &nfp_flow->meta.flags, + &new_mask_id); /* Update flow payload with mask ids. */ nfp_flow->unmasked_data[NFP_FL_MASK_ID_LOCATION] = new_mask_id; @@ -480,6 +490,12 @@ .automatic_shrinking = true, }; +const struct rhashtable_params merge_table_params = { + .key_offset = offsetof(struct nfp_merge_info, parent_ctx), + .head_offset = offsetof(struct nfp_merge_info, ht_node), + .key_len = sizeof(u64), +}; + int nfp_flower_metadata_init(struct nfp_app *app, u64 host_ctx_count, unsigned int host_num_mems) { @@ -496,6 +512,10 @@ if (err) goto err_free_flow_table; + err = rhashtable_init(&priv->merge_table, &merge_table_params); + if (err) + goto err_free_stats_ctx_table; + get_random_bytes(&priv->mask_id_seed, sizeof(priv->mask_id_seed)); /* Init ring buffer and unallocated mask_ids. */ @@ -503,7 +523,7 @@ kmalloc_array(NFP_FLOWER_MASK_ENTRY_RS, NFP_FLOWER_MASK_ELEMENT_RS, GFP_KERNEL); if (!priv->mask_ids.mask_id_free_list.buf) - goto err_free_stats_ctx_table; + goto err_free_merge_table; priv->mask_ids.init_unallocated = NFP_FLOWER_MASK_ENTRY_RS - 1; @@ -540,6 +560,8 @@ kfree(priv->mask_ids.last_used); err_free_mask_id: kfree(priv->mask_ids.mask_id_free_list.buf); +err_free_merge_table: + rhashtable_destroy(&priv->merge_table); err_free_stats_ctx_table: rhashtable_destroy(&priv->stats_ctx_table); err_free_flow_table: @@ -558,6 +580,8 @@ nfp_check_rhashtable_empty, NULL); rhashtable_free_and_destroy(&priv->stats_ctx_table, nfp_check_rhashtable_empty, NULL); + rhashtable_free_and_destroy(&priv->merge_table, + nfp_check_rhashtable_empty, NULL); kvfree(priv->stats); kfree(priv->mask_ids.mask_id_free_list.buf); kfree(priv->mask_ids.last_used); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/flower/offload.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/flower/offload.c @@ -983,6 +983,8 @@ struct netlink_ext_ack *extack = NULL; struct nfp_fl_payload *merge_flow; struct nfp_fl_key_ls merge_key_ls; + struct nfp_merge_info *merge_info; + u64 parent_ctx = 0; int err; ASSERT_RTNL(); @@ -993,6 +995,15 @@ nfp_flower_is_merge_flow(sub_flow2)) return -EINVAL; + /* check if the two flows are already merged */ + parent_ctx = (u64)(be32_to_cpu(sub_flow1->meta.host_ctx_id)) << 32; + parent_ctx |= (u64)(be32_to_cpu(sub_flow2->meta.host_ctx_id)); + if (rhashtable_lookup_fast(&priv->merge_table, + &parent_ctx, merge_table_params)) { + nfp_flower_cmsg_warn(app, "The two flows are already merged.\n"); + return 0; + } + err = nfp_flower_can_merge(sub_flow1, sub_flow2); if (err) return err; @@ -1034,16 +1045,33 @@ if (err) goto err_release_metadata; + merge_info = kmalloc(sizeof(*merge_info), GFP_KERNEL); + if (!merge_info) { + err = -ENOMEM; + goto err_remove_rhash; + } + merge_info->parent_ctx = parent_ctx; + err = rhashtable_insert_fast(&priv->merge_table, &merge_info->ht_node, + merge_table_params); + if (err) + goto err_destroy_merge_info; + err = nfp_flower_xmit_flow(app, merge_flow, NFP_FLOWER_CMSG_TYPE_FLOW_MOD); if (err) - goto err_remove_rhash; + goto err_remove_merge_info; merge_flow->in_hw = true; sub_flow1->in_hw = false; return 0; +err_remove_merge_info: + WARN_ON_ONCE(rhashtable_remove_fast(&priv->merge_table, + &merge_info->ht_node, + merge_table_params)); +err_destroy_merge_info: + kfree(merge_info); err_remove_rhash: WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, &merge_flow->fl_node, @@ -1280,7 +1308,9 @@ { struct nfp_flower_priv *priv = app->priv; struct nfp_fl_payload_link *link, *temp; + struct nfp_merge_info *merge_info; struct nfp_fl_payload *origin; + u64 parent_ctx = 0; bool mod = false; int err; @@ -1317,8 +1347,22 @@ err_free_links: /* Clean any links connected with the merged flow. */ list_for_each_entry_safe(link, temp, &merge_flow->linked_flows, - merge_flow.list) + merge_flow.list) { + u32 ctx_id = be32_to_cpu(link->sub_flow.flow->meta.host_ctx_id); + + parent_ctx = (parent_ctx << 32) | (u64)(ctx_id); nfp_flower_unlink_flow(link); + } + + merge_info = rhashtable_lookup_fast(&priv->merge_table, + &parent_ctx, + merge_table_params); + if (merge_info) { + WARN_ON_ONCE(rhashtable_remove_fast(&priv->merge_table, + &merge_info->ht_node, + merge_table_params)); + kfree(merge_info); + } kfree(merge_flow->action_data); kfree(merge_flow->mask_data); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c @@ -16,8 +16,9 @@ #define NFP_FL_MAX_ROUTES 32 #define NFP_TUN_PRE_TUN_RULE_LIMIT 32 -#define NFP_TUN_PRE_TUN_RULE_DEL 0x1 -#define NFP_TUN_PRE_TUN_IDX_BIT 0x8 +#define NFP_TUN_PRE_TUN_RULE_DEL BIT(0) +#define NFP_TUN_PRE_TUN_IDX_BIT BIT(3) +#define NFP_TUN_PRE_TUN_IPV6_BIT BIT(7) /** * struct nfp_tun_pre_run_rule - rule matched before decap @@ -61,6 +62,7 @@ * @flags: options part of the request * @tun_info.ipv6: dest IPv6 address of active route * @tun_info.egress_port: port the encapsulated packet egressed + * @tun_info.extra: reserved for future use * @tun_info: tunnels that have sent traffic in reported period */ struct nfp_tun_active_tuns_v6 { @@ -70,6 +72,7 @@ struct route_ip_info_v6 { struct in6_addr ipv6; __be32 egress_port; + __be32 extra[2]; } tun_info[]; }; @@ -1266,6 +1269,7 @@ { struct nfp_flower_priv *app_priv = app->priv; struct nfp_tun_offloaded_mac *mac_entry; + struct nfp_flower_meta_tci *key_meta; struct nfp_tun_pre_tun_rule payload; struct net_device *internal_dev; int err; @@ -1288,6 +1292,15 @@ if (!mac_entry) return -ENOENT; + /* Set/clear IPV6 bit. cpu_to_be16() swap will lead to MSB being + * set/clear for port_idx. + */ + key_meta = (struct nfp_flower_meta_tci *)flow->unmasked_data; + if (key_meta->nfp_flow_key_layer & NFP_FLOWER_LAYER_IPV6) + mac_entry->index |= NFP_TUN_PRE_TUN_IPV6_BIT; + else + mac_entry->index &= ~NFP_TUN_PRE_TUN_IPV6_BIT; + payload.port_idx = cpu_to_be16(mac_entry->index); /* Copy mac id and vlan to flow - dev may not exist at delete time. */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c @@ -829,8 +829,8 @@ struct nfp_eth_table_port *eth_port; struct nfp_port *port; - param->active_fec = ETHTOOL_FEC_NONE_BIT; - param->fec = ETHTOOL_FEC_NONE_BIT; + param->active_fec = ETHTOOL_FEC_NONE; + param->fec = ETHTOOL_FEC_NONE; port = nfp_port_from_netdev(netdev); eth_port = nfp_port_get_eth_port(port); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pasemi/pasemi_mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pasemi/pasemi_mac.c @@ -1078,16 +1078,20 @@ mac->tx = pasemi_mac_setup_tx_resources(dev); - if (!mac->tx) + if (!mac->tx) { + ret = -ENOMEM; goto out_tx_ring; + } /* We might already have allocated rings in case mtu was changed * before interface was brought up. */ if (dev->mtu > 1500 && !mac->num_cs) { pasemi_mac_setup_csrings(mac); - if (!mac->num_cs) + if (!mac->num_cs) { + ret = -ENOMEM; goto out_tx_ring; + } } /* Zero out rmon counters */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c @@ -247,12 +247,11 @@ goto err_out_pci_disable_device; } - pci_set_master(pdev); pcie_print_link_status(pdev); err = ionic_map_bars(ionic); if (err) - goto err_out_pci_clear_master; + goto err_out_pci_disable_device; /* Configure the device */ err = ionic_setup(ionic); @@ -260,6 +259,7 @@ dev_err(dev, "Cannot setup device: %d, aborting\n", err); goto err_out_unmap_bars; } + pci_set_master(pdev); err = ionic_identify(ionic); if (err) { @@ -350,6 +350,7 @@ ionic_reset(ionic); err_out_teardown: ionic_dev_teardown(ionic); + pci_clear_master(pdev); /* Don't fail the probe for these errors, keep * the hw interface around for inspection */ @@ -358,8 +359,6 @@ err_out_unmap_bars: ionic_unmap_bars(ionic); pci_release_regions(pdev); -err_out_pci_clear_master: - pci_clear_master(pdev); err_out_pci_disable_device: pci_disable_device(pdev); err_out_debugfs_del_dev: @@ -389,9 +388,9 @@ ionic_port_reset(ionic); ionic_reset(ionic); ionic_dev_teardown(ionic); + pci_clear_master(pdev); ionic_unmap_bars(ionic); pci_release_regions(pdev); - pci_clear_master(pdev); pci_disable_device(pdev); ionic_debugfs_del_dev(ionic); mutex_destroy(&ionic->dev_cmd_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c @@ -126,6 +126,11 @@ ethtool_link_ksettings_zero_link_mode(ks, supported); + if (!idev->port_info) { + netdev_err(netdev, "port_info not initialized\n"); + return -EOPNOTSUPP; + } + /* The port_info data is found in a DMA space that the NIC keeps * up-to-date, so there's no need to request the data from the * NIC, we already have it in our memory space. --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -103,6 +103,12 @@ link_up = link_status == IONIC_PORT_OPER_STATUS_UP; if (link_up) { + if (lif->netdev->flags & IFF_UP && netif_running(lif->netdev)) { + mutex_lock(&lif->queue_lock); + ionic_start_queues(lif); + mutex_unlock(&lif->queue_lock); + } + if (!netif_carrier_ok(netdev)) { u32 link_speed; @@ -112,12 +118,6 @@ link_speed / 1000); netif_carrier_on(netdev); } - - if (lif->netdev->flags & IFF_UP && netif_running(lif->netdev)) { - mutex_lock(&lif->queue_lock); - ionic_start_queues(lif); - mutex_unlock(&lif->queue_lock); - } } else { if (netif_carrier_ok(netdev)) { netdev_info(netdev, "Link down\n"); @@ -723,7 +723,7 @@ eid = le64_to_cpu(comp->event.eid); /* Have we run out of new completions to process? */ - if (eid <= lif->last_eid) + if ((s64)(eid - lif->last_eid) <= 0) return false; lif->last_eid = eid; @@ -1495,7 +1495,6 @@ if (lif->rxqcqs) { for (i = 0; i < lif->nxqs; i++) { ionic_lif_qcq_deinit(lif, lif->rxqcqs[i].qcq); - ionic_rx_flush(&lif->rxqcqs[i].qcq->cq); ionic_rx_empty(&lif->rxqcqs[i].qcq->q); } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pensando/ionic/ionic_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pensando/ionic/ionic_txrx.c @@ -266,18 +266,6 @@ return work_done; } -void ionic_rx_flush(struct ionic_cq *cq) -{ - struct ionic_dev *idev = &cq->lif->ionic->idev; - u32 work_done; - - work_done = ionic_rx_walk_cq(cq, cq->num_descs); - - if (work_done) - ionic_intr_credits(idev->intr_ctrl, cq->bound_intr->index, - work_done, IONIC_INTR_CRED_RESET_COALESCE); -} - static struct page *ionic_rx_page_alloc(struct ionic_queue *q, dma_addr_t *dma_addr) { @@ -349,7 +337,7 @@ unsigned int i, j; unsigned int len; - len = netdev->mtu + ETH_HLEN; + len = netdev->mtu + ETH_HLEN + VLAN_HLEN; nfrags = round_up(len, PAGE_SIZE) / PAGE_SIZE; for (i = ionic_q_space_avail(q); i; i--) { @@ -1001,15 +989,17 @@ { int sg_elems = q->lif->qtype_info[IONIC_QTYPE_TXQ].max_sg_elems; struct ionic_tx_stats *stats = q_to_tx_stats(q); + int ndescs; int err; - /* If TSO, need roundup(skb->len/mss) descs */ + /* Each desc is mss long max, so a descriptor for each gso_seg */ if (skb_is_gso(skb)) - return (skb->len / skb_shinfo(skb)->gso_size) + 1; + ndescs = skb_shinfo(skb)->gso_segs; + else + ndescs = 1; - /* If non-TSO, just need 1 desc and nr_frags sg elems */ if (skb_shinfo(skb)->nr_frags <= sg_elems) - return 1; + return ndescs; /* Too many frags, so linearize */ err = skb_linearize(skb); @@ -1018,8 +1008,7 @@ stats->linearize++; - /* Need 1 desc and zero sg elems */ - return 1; + return ndescs; } static int ionic_maybe_stop_tx(struct ionic_queue *q, int ndescs) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/pensando/ionic/ionic_txrx.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/pensando/ionic/ionic_txrx.h @@ -4,7 +4,6 @@ #ifndef _IONIC_TXRX_H_ #define _IONIC_TXRX_H_ -void ionic_rx_flush(struct ionic_cq *cq); void ionic_tx_flush(struct ionic_cq *cq); void ionic_rx_fill(struct ionic_queue *q); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/Kconfig @@ -78,6 +78,7 @@ depends on PCI select ZLIB_INFLATE select CRC8 + select CRC32 select NET_DEVLINK help This enables the support for ... --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c @@ -564,11 +564,6 @@ .ndo_set_features = netxen_set_features, }; -static inline bool netxen_function_zero(struct pci_dev *pdev) -{ - return (PCI_FUNC(pdev->devfn) == 0) ? true : false; -} - static inline void netxen_set_interrupt_mode(struct netxen_adapter *adapter, u32 mode) { @@ -664,7 +659,7 @@ netxen_initialize_interrupt_registers(adapter); netxen_set_msix_bit(pdev, 0); - if (netxen_function_zero(pdev)) { + if (adapter->portnum == 0) { if (!netxen_setup_msi_interrupts(adapter, num_msix)) netxen_set_interrupt_mode(adapter, NETXEN_MSI_MODE); else --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_cxt.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_cxt.c @@ -1673,9 +1673,9 @@ ilog2(rounded_conn_num)); STORE_RT_REG_AGG(p_hwfn, SRC_REG_FIRSTFREE_RT_OFFSET, - p_hwfn->p_cxt_mngr->first_free); + p_hwfn->p_cxt_mngr->src_t2.first_free); STORE_RT_REG_AGG(p_hwfn, SRC_REG_LASTFREE_RT_OFFSET, - p_hwfn->p_cxt_mngr->last_free); + p_hwfn->p_cxt_mngr->src_t2.last_free); } /* Timers PF */ @@ -2355,6 +2355,11 @@ elem_size = SRQ_CXT_SIZE; p_blk = &p_cli->pf_blks[SRQ_BLK]; break; + case QED_ELEM_XRC_SRQ: + p_cli = &p_hwfn->p_cxt_mngr->clients[ILT_CLI_TSDM]; + elem_size = XRC_SRQ_CXT_SIZE; + p_blk = &p_cli->pf_blks[SRQ_BLK]; + break; case QED_ELEM_TASK: p_cli = &p_hwfn->p_cxt_mngr->clients[ILT_CLI_CDUT]; elem_size = TYPE1_TASK_CXT_SIZE(p_hwfn); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_cxt.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_cxt.h @@ -352,9 +352,6 @@ /* SRC T2 */ struct qed_src_t2 src_t2; - u32 t2_num_pages; - u64 first_free; - u64 last_free; /* total number of SRQ's for this hwfn */ u32 srq_count; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4191,7 +4191,8 @@ cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | BIT(QED_MF_LLH_PROTO_CLSS) | BIT(QED_MF_LL2_NON_UNICAST) | - BIT(QED_MF_INTER_PF_SWITCH); + BIT(QED_MF_INTER_PF_SWITCH) | + BIT(QED_MF_DISABLE_ARFS); break; case NVM_CFG1_GLOB_MF_MODE_DEFAULT: cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | @@ -4204,6 +4205,14 @@ DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", cdev->mf_bits); + + /* In CMT the PF is unknown when the GFS block processes the + * packet. Therefore cannot use searcher as it has a per PF + * database, and thus ARFS must be disabled. + * + */ + if (QED_IS_CMT(cdev)) + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); } DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_iwarp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_iwarp.c @@ -2746,14 +2746,18 @@ iwarp_info->partial_fpdus = kcalloc((u16)p_hwfn->p_rdma_info->num_qps, sizeof(*iwarp_info->partial_fpdus), GFP_KERNEL); - if (!iwarp_info->partial_fpdus) + if (!iwarp_info->partial_fpdus) { + rc = -ENOMEM; goto err; + } iwarp_info->max_num_partial_fpdus = (u16)p_hwfn->p_rdma_info->num_qps; iwarp_info->mpa_intermediate_buf = kzalloc(buff_size, GFP_KERNEL); - if (!iwarp_info->mpa_intermediate_buf) + if (!iwarp_info->mpa_intermediate_buf) { + rc = -ENOMEM; goto err; + } /* The mpa_bufs array serves for pending RX packets received on the * mpa ll2 that don't have place on the tx ring and require later @@ -2763,8 +2767,10 @@ iwarp_info->mpa_bufs = kcalloc(data.input.rx_num_desc, sizeof(*iwarp_info->mpa_bufs), GFP_KERNEL); - if (!iwarp_info->mpa_bufs) + if (!iwarp_info->mpa_bufs) { + rc = -ENOMEM; goto err; + } INIT_LIST_HEAD(&iwarp_info->mpa_buf_pending_list); INIT_LIST_HEAD(&iwarp_info->mpa_buf_list); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -2001,6 +2001,9 @@ struct qed_ptt *p_ptt, struct qed_arfs_config_params *p_cfg_params) { + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) + return; + if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, p_cfg_params->tcp, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -289,6 +289,8 @@ dev_info->fw_eng = FW_ENGINEERING_VERSION; dev_info->b_inter_pf_switch = test_bit(QED_MF_INTER_PF_SWITCH, &cdev->mf_bits); + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) + dev_info->b_arfs_capable = true; dev_info->tx_switching = true; if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_rdma.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_rdma.c @@ -404,6 +404,7 @@ qed_rdma_bmap_free(p_hwfn, &p_hwfn->p_rdma_info->srq_map, 1); qed_rdma_bmap_free(p_hwfn, &p_hwfn->p_rdma_info->real_cid_map, 1); qed_rdma_bmap_free(p_hwfn, &p_hwfn->p_rdma_info->xrc_srq_map, 1); + qed_rdma_bmap_free(p_hwfn, &p_hwfn->p_rdma_info->xrcd_map, 1); kfree(p_rdma_info->port); kfree(p_rdma_info->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -97,6 +97,7 @@ p_ramrod->personality = PERSONALITY_ETH; break; case QED_PCI_ETH_ROCE: + case QED_PCI_ETH_IWARP: p_ramrod->personality = PERSONALITY_RDMA_AND_ETH; break; default: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -336,6 +336,9 @@ { int i; + if (!edev->dev_info.common.b_arfs_capable) + return -EINVAL; + edev->arfs = vzalloc(sizeof(*edev->arfs)); if (!edev->arfs) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qede/qede_fp.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qede/qede_fp.c @@ -1738,6 +1738,11 @@ ntohs(udp_hdr(skb)->dest) != gnv_port)) return features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK); + } else if (l4_proto == IPPROTO_IPIP) { + /* IPIP tunnels are unknown to the device or at least unsupported natively, + * offloads for them can't be done trivially, so disable them for such skb. + */ + return features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK); } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qede/qede_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -827,7 +827,7 @@ NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) + if (edev->dev_info.common.b_arfs_capable) hw_features |= NETIF_F_NTUPLE; if (edev->dev_info.common.vxlan_enable || @@ -2278,7 +2278,7 @@ qede_vlan_mark_nonconfigured(edev); edev->ops->fastpath_stop(edev->cdev); - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { + if (edev->dev_info.common.b_arfs_capable) { qede_poll_for_freeing_arfs_filters(edev); qede_free_arfs(edev); } @@ -2345,10 +2345,9 @@ if (rc) goto err2; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { - rc = qede_alloc_arfs(edev); - if (rc) - DP_NOTICE(edev, "aRFS memory allocation failed\n"); + if (qede_alloc_arfs(edev)) { + edev->ndev->features &= ~NETIF_F_NTUPLE; + edev->dev_info.common.b_arfs_capable = false; } qede_napi_add_enable(edev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c @@ -2251,7 +2251,8 @@ /* Boot either flash image or firmware image from host file system */ if (qlcnic_load_fw_file == 1) { - if (qlcnic_83xx_load_fw_image_from_host(adapter)) + err = qlcnic_83xx_load_fw_image_from_host(adapter); + if (err) return err; } else { QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c @@ -2509,6 +2509,7 @@ qlcnic_sriov_vf_register_map(ahw); break; default: + err = -EINVAL; goto err_out_free_hw_res; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c @@ -1426,6 +1426,7 @@ if (fw_dump->tmpl_hdr == NULL || current_version > prev_version) { vfree(fw_dump->tmpl_hdr); + fw_dump->tmpl_hdr = NULL; if (qlcnic_83xx_md_check_extended_dump_capability(adapter)) extended = !qlcnic_83xx_extend_md_capab(adapter); @@ -1444,6 +1445,8 @@ struct qlcnic_83xx_dump_template_hdr *hdr; hdr = fw_dump->tmpl_hdr; + if (!hdr) + return; hdr->drv_cap_mask = 0x1f; fw_dump->cap_mask = 0x1f; dev_info(&pdev->dev, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qualcomm/emac/emac.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qualcomm/emac/emac.c @@ -474,13 +474,24 @@ ret = clk_prepare_enable(adpt->clk[EMAC_CLK_CFG_AHB]); if (ret) - return ret; + goto disable_clk_axi; ret = clk_set_rate(adpt->clk[EMAC_CLK_HIGH_SPEED], 19200000); if (ret) - return ret; + goto disable_clk_cfg_ahb; - return clk_prepare_enable(adpt->clk[EMAC_CLK_HIGH_SPEED]); + ret = clk_prepare_enable(adpt->clk[EMAC_CLK_HIGH_SPEED]); + if (ret) + goto disable_clk_cfg_ahb; + + return 0; + +disable_clk_cfg_ahb: + clk_disable_unprepare(adpt->clk[EMAC_CLK_CFG_AHB]); +disable_clk_axi: + clk_disable_unprepare(adpt->clk[EMAC_CLK_AXI]); + + return ret; } /* Enable clocks; needs emac_clks_phase1_init to be called before */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c @@ -188,6 +188,11 @@ dev = skb->dev; port = rmnet_get_port_rcu(dev); + if (unlikely(!port)) { + atomic_long_inc(&skb->dev->rx_nohandler); + kfree_skb(skb); + goto done; + } switch (port->rmnet_mode) { case RMNET_EPMODE_VND: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/realtek/r8169_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/realtek/r8169_main.c @@ -1031,7 +1031,7 @@ { /* based on RTL8168FP_OOBMAC_BASE in vendor driver */ if (tp->mac_version == RTL_GIGA_MAC_VER_52 && type == ERIAR_OOB) - *cmd |= 0x7f0 << 18; + *cmd |= 0xf70 << 18; } DECLARE_RTL_COND(rtl_eriar_cond) @@ -2113,11 +2113,18 @@ void r8169_apply_firmware(struct rtl8169_private *tp) { + int val; + /* TODO: release firmware if rtl_fw_write_firmware signals failure. */ if (tp->rtl_fw) { rtl_fw_write_firmware(tp, tp->rtl_fw); /* At least one firmware doesn't reset tp->ocp_base. */ tp->ocp_base = OCP_STD_PHY_BASE; + + /* PHY soft reset may still be in progress */ + phy_read_poll_timeout(tp->phydev, MII_BMCR, val, + !(val & BMCR_RESET), + 50000, 600000, true); } } @@ -2272,7 +2279,9 @@ } switch (tp->mac_version) { - case RTL_GIGA_MAC_VER_25 ... RTL_GIGA_MAC_VER_33: + case RTL_GIGA_MAC_VER_25 ... RTL_GIGA_MAC_VER_26: + case RTL_GIGA_MAC_VER_29 ... RTL_GIGA_MAC_VER_30: + case RTL_GIGA_MAC_VER_32 ... RTL_GIGA_MAC_VER_33: case RTL_GIGA_MAC_VER_37: case RTL_GIGA_MAC_VER_39: case RTL_GIGA_MAC_VER_43: @@ -2302,7 +2311,9 @@ static void rtl_pll_power_up(struct rtl8169_private *tp) { switch (tp->mac_version) { - case RTL_GIGA_MAC_VER_25 ... RTL_GIGA_MAC_VER_33: + case RTL_GIGA_MAC_VER_25 ... RTL_GIGA_MAC_VER_26: + case RTL_GIGA_MAC_VER_29 ... RTL_GIGA_MAC_VER_30: + case RTL_GIGA_MAC_VER_32 ... RTL_GIGA_MAC_VER_33: case RTL_GIGA_MAC_VER_37: case RTL_GIGA_MAC_VER_39: case RTL_GIGA_MAC_VER_43: @@ -2386,14 +2397,14 @@ static void r8168e_hw_jumbo_enable(struct rtl8169_private *tp) { - RTL_W8(tp, MaxTxPacketSize, 0x3f); + RTL_W8(tp, MaxTxPacketSize, 0x24); RTL_W8(tp, Config3, RTL_R8(tp, Config3) | Jumbo_En0); RTL_W8(tp, Config4, RTL_R8(tp, Config4) | 0x01); } static void r8168e_hw_jumbo_disable(struct rtl8169_private *tp) { - RTL_W8(tp, MaxTxPacketSize, 0x0c); + RTL_W8(tp, MaxTxPacketSize, 0x3f); RTL_W8(tp, Config3, RTL_R8(tp, Config3) & ~Jumbo_En0); RTL_W8(tp, Config4, RTL_R8(tp, Config4) & ~0x01); } @@ -2411,13 +2422,14 @@ static void rtl_jumbo_config(struct rtl8169_private *tp) { bool jumbo = tp->dev->mtu > ETH_DATA_LEN; + int readrq = 4096; rtl_unlock_config_regs(tp); switch (tp->mac_version) { case RTL_GIGA_MAC_VER_12: case RTL_GIGA_MAC_VER_17: if (jumbo) { - pcie_set_readrq(tp->pci_dev, 512); + readrq = 512; r8168b_1_hw_jumbo_enable(tp); } else { r8168b_1_hw_jumbo_disable(tp); @@ -2425,7 +2437,7 @@ break; case RTL_GIGA_MAC_VER_18 ... RTL_GIGA_MAC_VER_26: if (jumbo) { - pcie_set_readrq(tp->pci_dev, 512); + readrq = 512; r8168c_hw_jumbo_enable(tp); } else { r8168c_hw_jumbo_disable(tp); @@ -2450,8 +2462,15 @@ } rtl_lock_config_regs(tp); - if (!jumbo && pci_is_pcie(tp->pci_dev) && tp->supports_gmii) - pcie_set_readrq(tp->pci_dev, 4096); + if (pci_is_pcie(tp->pci_dev) && tp->supports_gmii) + pcie_set_readrq(tp->pci_dev, readrq); + + /* Chip doesn't support pause in jumbo mode */ + linkmode_mod_bit(ETHTOOL_LINK_MODE_Pause_BIT, + tp->phydev->advertising, !jumbo); + linkmode_mod_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, + tp->phydev->advertising, !jumbo); + phy_start_aneg(tp->phydev); } DECLARE_RTL_COND(rtl_chipcmd_cond) @@ -2951,7 +2970,7 @@ { 0x08, 0x0001, 0x0002 }, { 0x09, 0x0000, 0x0080 }, { 0x19, 0x0000, 0x0224 }, - { 0x00, 0x0000, 0x0004 }, + { 0x00, 0x0000, 0x0008 }, { 0x0c, 0x3df0, 0x0200 }, }; @@ -2968,7 +2987,7 @@ { 0x06, 0x00c0, 0x0020 }, { 0x0f, 0xffff, 0x5200 }, { 0x19, 0x0000, 0x0224 }, - { 0x00, 0x0000, 0x0004 }, + { 0x00, 0x0000, 0x0008 }, { 0x0c, 0x3df0, 0x0200 }, }; @@ -4051,9 +4070,71 @@ return -EIO; } -static bool rtl_test_hw_pad_bug(struct rtl8169_private *tp, struct sk_buff *skb) +static bool rtl_skb_is_udp(struct sk_buff *skb) { - return skb->len < ETH_ZLEN && tp->mac_version == RTL_GIGA_MAC_VER_34; + int no = skb_network_offset(skb); + struct ipv6hdr *i6h, _i6h; + struct iphdr *ih, _ih; + + switch (vlan_get_protocol(skb)) { + case htons(ETH_P_IP): + ih = skb_header_pointer(skb, no, sizeof(_ih), &_ih); + return ih && ih->protocol == IPPROTO_UDP; + case htons(ETH_P_IPV6): + i6h = skb_header_pointer(skb, no, sizeof(_i6h), &_i6h); + return i6h && i6h->nexthdr == IPPROTO_UDP; + default: + return false; + } +} + +#define RTL_MIN_PATCH_LEN 47 + +/* see rtl8125_get_patch_pad_len() in r8125 vendor driver */ +static unsigned int rtl8125_quirk_udp_padto(struct rtl8169_private *tp, + struct sk_buff *skb) +{ + unsigned int padto = 0, len = skb->len; + + if (rtl_is_8125(tp) && len < 128 + RTL_MIN_PATCH_LEN && + rtl_skb_is_udp(skb) && skb_transport_header_was_set(skb)) { + unsigned int trans_data_len = skb_tail_pointer(skb) - + skb_transport_header(skb); + + if (trans_data_len >= offsetof(struct udphdr, len) && + trans_data_len < RTL_MIN_PATCH_LEN) { + u16 dest = ntohs(udp_hdr(skb)->dest); + + /* dest is a standard PTP port */ + if (dest == 319 || dest == 320) + padto = len + RTL_MIN_PATCH_LEN - trans_data_len; + } + + if (trans_data_len < sizeof(struct udphdr)) + padto = max_t(unsigned int, padto, + len + sizeof(struct udphdr) - trans_data_len); + } + + return padto; +} + +static unsigned int rtl_quirk_packet_padto(struct rtl8169_private *tp, + struct sk_buff *skb) +{ + unsigned int padto; + + padto = rtl8125_quirk_udp_padto(tp, skb); + + switch (tp->mac_version) { + case RTL_GIGA_MAC_VER_34: + case RTL_GIGA_MAC_VER_60: + case RTL_GIGA_MAC_VER_61: + padto = max_t(unsigned int, padto, ETH_ZLEN); + default: + break; + } + + return padto; } static void rtl8169_tso_csum_v1(struct sk_buff *skb, u32 *opts) @@ -4125,8 +4206,10 @@ opts[1] |= transport_offset << TCPHO_SHIFT; } else { - if (unlikely(rtl_test_hw_pad_bug(tp, skb))) - return !eth_skb_pad(skb); + unsigned int padto = rtl_quirk_packet_padto(tp, skb); + + /* skb_padto would free the skb on error */ + return !__skb_put_padto(skb, padto, false); } return true; @@ -4305,18 +4388,12 @@ rtl_chip_supports_csum_v2(tp)) features &= ~NETIF_F_ALL_TSO; } else if (skb->ip_summed == CHECKSUM_PARTIAL) { - if (skb->len < ETH_ZLEN) { - switch (tp->mac_version) { - case RTL_GIGA_MAC_VER_11: - case RTL_GIGA_MAC_VER_12: - case RTL_GIGA_MAC_VER_17: - case RTL_GIGA_MAC_VER_34: - features &= ~NETIF_F_CSUM_MASK; - break; - default: - break; - } - } + /* work around hw bug on some chip versions */ + if (skb->len < ETH_ZLEN) + features &= ~NETIF_F_CSUM_MASK; + + if (rtl_quirk_packet_padto(tp, skb)) + features &= ~NETIF_F_CSUM_MASK; if (transport_offset > TCPHO_MAX && rtl_chip_supports_csum_v2(tp)) @@ -4552,7 +4629,7 @@ } rtl_irq_disable(tp); - napi_schedule_irqoff(&tp->napi); + napi_schedule(&tp->napi); out: rtl_ack_events(tp, status); @@ -4626,8 +4703,6 @@ if (!tp->supports_gmii) phy_set_max_speed(phydev, SPEED_100); - phy_support_asym_pause(phydev); - phy_attached_info(phydev); return 0; @@ -4666,9 +4741,9 @@ cancel_work_sync(&tp->wk.work); - phy_disconnect(tp->phydev); + free_irq(pci_irq_vector(pdev, 0), tp); - pci_free_irq(pdev, 0, tp); + phy_disconnect(tp->phydev); dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray, tp->RxPhyAddr); @@ -4719,8 +4794,8 @@ rtl_request_firmware(tp); - retval = pci_request_irq(pdev, 0, rtl8169_interrupt, NULL, tp, - dev->name); + retval = request_irq(pci_irq_vector(pdev, 0), rtl8169_interrupt, + IRQF_SHARED, dev->name, tp); if (retval < 0) goto err_release_fw_2; @@ -4752,7 +4827,7 @@ return retval; err_free_irq: - pci_free_irq(pdev, 0, tp); + free_irq(pci_irq_vector(pdev, 0), tp); err_release_fw_2: rtl_release_firmware(tp); rtl8169_rx_clear(tp); @@ -4864,6 +4939,10 @@ if (netif_running(tp->dev)) __rtl8169_resume(tp); + /* Reportedly at least Asus X453MA truncates packets otherwise */ + if (tp->mac_version == RTL_GIGA_MAC_VER_37) + rtl_init_rxcfg(tp); + return 0; } @@ -5281,8 +5360,7 @@ /* Disable ASPM completely as that cause random device stop working * problems as well as full system hangs for some PCIe devices users. */ - rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | - PCIE_LINK_STATE_L1); + rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1_1); tp->aspm_manageable = !rc; /* enable device (incl. PCI PM wakeup and hotplug setup) */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/renesas/ravb_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/renesas/ravb_main.c @@ -1747,12 +1747,16 @@ config.flags = 0; config.tx_type = priv->tstamp_tx_ctrl ? HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF; - if (priv->tstamp_rx_ctrl & RAVB_RXTSTAMP_TYPE_V2_L2_EVENT) + switch (priv->tstamp_rx_ctrl & RAVB_RXTSTAMP_TYPE) { + case RAVB_RXTSTAMP_TYPE_V2_L2_EVENT: config.rx_filter = HWTSTAMP_FILTER_PTP_V2_L2_EVENT; - else if (priv->tstamp_rx_ctrl & RAVB_RXTSTAMP_TYPE_ALL) + break; + case RAVB_RXTSTAMP_TYPE_ALL: config.rx_filter = HWTSTAMP_FILTER_ALL; - else + break; + default: config.rx_filter = HWTSTAMP_FILTER_NONE; + } return copy_to_user(req->ifr_data, &config, sizeof(config)) ? -EFAULT : 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/renesas/sh_eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/renesas/sh_eth.c @@ -550,6 +550,8 @@ EESR_TDE, .fdr_value = 0x0000070f, + .trscer_err_mask = DESC_I_RINT8 | DESC_I_RINT5, + .no_psr = 1, .apr = 1, .mpr = 1, @@ -770,6 +772,8 @@ .fdr_value = 0x0000070f, + .trscer_err_mask = DESC_I_RINT8 | DESC_I_RINT5, + .apr = 1, .mpr = 1, .tpauser = 1, @@ -1079,6 +1083,9 @@ EESIPR_CEEFIP | EESIPR_CELFIP | EESIPR_RRFIP | EESIPR_RTLFIP | EESIPR_RTSFIP | EESIPR_PREIP | EESIPR_CERFIP, + + .trscer_err_mask = DESC_I_RINT8, + .tsu = 1, .dual_port = 1, }; @@ -2596,10 +2603,10 @@ /* Free all the skbuffs in the Rx queue and the DMA buffer. */ sh_eth_ring_free(ndev); - pm_runtime_put_sync(&mdp->pdev->dev); - mdp->is_opened = 0; + pm_runtime_put(&mdp->pdev->dev); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/sgi/ioc3-eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/sgi/ioc3-eth.c @@ -951,7 +951,7 @@ dma_free_coherent(ip->dma_dev, RX_RING_SIZE, ip->rxr, ip->rxr_dma); if (ip->tx_ring) - dma_free_coherent(ip->dma_dev, TX_RING_SIZE, ip->tx_ring, + dma_free_coherent(ip->dma_dev, TX_RING_SIZE + SZ_16K - 1, ip->tx_ring, ip->txr_dma); out_free: free_netdev(dev); @@ -964,7 +964,7 @@ struct ioc3_private *ip = netdev_priv(dev); dma_free_coherent(ip->dma_dev, RX_RING_SIZE, ip->rxr, ip->rxr_dma); - dma_free_coherent(ip->dma_dev, TX_RING_SIZE, ip->tx_ring, ip->txr_dma); + dma_free_coherent(ip->dma_dev, TX_RING_SIZE + SZ_16K - 1, ip->tx_ring, ip->txr_dma); unregister_netdev(dev); del_timer_sync(&ip->ioc3_timer); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/socionext/netsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/socionext/netsec.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -1707,14 +1708,17 @@ goto err1; /* set phy power down */ - data = netsec_phy_read(priv->mii_bus, priv->phy_addr, MII_BMCR) | - BMCR_PDOWN; - netsec_phy_write(priv->mii_bus, priv->phy_addr, MII_BMCR, data); + data = netsec_phy_read(priv->mii_bus, priv->phy_addr, MII_BMCR); + netsec_phy_write(priv->mii_bus, priv->phy_addr, MII_BMCR, + data | BMCR_PDOWN); ret = netsec_reset_hardware(priv, true); if (ret) goto err2; + /* Restore phy power state */ + netsec_phy_write(priv->mii_bus, priv->phy_addr, MII_BMCR, data); + spin_lock_init(&priv->desc_ring[NETSEC_RING_TX].lock); spin_lock_init(&priv->desc_ring[NETSEC_RING_RX].lock); @@ -1836,6 +1840,14 @@ static int netsec_of_probe(struct platform_device *pdev, struct netsec_priv *priv, u32 *phy_addr) { + int err; + + err = of_get_phy_mode(pdev->dev.of_node, &priv->phy_interface); + if (err) { + dev_err(&pdev->dev, "missing required property 'phy-mode'\n"); + return err; + } + priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); if (!priv->phy_np) { dev_err(&pdev->dev, "missing required property 'phy-handle'\n"); @@ -1862,6 +1874,14 @@ if (!IS_ENABLED(CONFIG_ACPI)) return -ENODEV; + /* ACPI systems are assumed to configure the PHY in firmware, so + * there is really no need to discover the PHY mode from the DSDT. + * Since firmware is known to exist in the field that configures the + * PHY correctly but passes the wrong mode string in the phy-mode + * device property, we have no choice but to ignore it. + */ + priv->phy_interface = PHY_INTERFACE_MODE_NA; + ret = device_property_read_u32(&pdev->dev, "phy-channel", phy_addr); if (ret) { dev_err(&pdev->dev, @@ -1998,13 +2018,6 @@ priv->msg_enable = NETIF_MSG_TX_ERR | NETIF_MSG_HW | NETIF_MSG_DRV | NETIF_MSG_LINK | NETIF_MSG_PROBE; - priv->phy_interface = device_get_phy_mode(&pdev->dev); - if ((int)priv->phy_interface < 0) { - dev_err(&pdev->dev, "missing required property 'phy-mode'\n"); - ret = -ENODEV; - goto free_ndev; - } - priv->ioaddr = devm_ioremap(&pdev->dev, mmio_res->start, resource_size(mmio_res)); if (!priv->ioaddr) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c @@ -247,13 +247,7 @@ goto err_parse_dt; } - ret = dma_set_mask_and_coherent(&pdev->dev, - DMA_BIT_MASK(dwmac->ops->addr_width)); - if (ret) { - dev_err(&pdev->dev, "DMA mask set failed\n"); - goto err_dma_mask; - } - + plat_dat->addr64 = dwmac->ops->addr_width; plat_dat->init = imx_dwmac_init; plat_dat->exit = imx_dwmac_exit; plat_dat->fix_mac_speed = imx_dwmac_fix_speed; @@ -273,7 +267,6 @@ err_dwmac_init: err_drv_probe: imx_dwmac_exit(pdev, plat_dat->bsp_priv); -err_dma_mask: err_parse_dt: err_match_data: stmmac_remove_config_dt(pdev, plat_dat); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c @@ -232,9 +232,11 @@ static int intel_mgbe_common_data(struct pci_dev *pdev, struct plat_stmmacenet_data *plat) { + char clk_name[20]; int ret; int i; + plat->phy_addr = -1; plat->clk_csr = 5; plat->has_gmac = 0; plat->has_gmac4 = 1; @@ -297,8 +299,10 @@ plat->ptp_max_adj = plat->clk_ptp_rate; /* Set system clock */ + sprintf(clk_name, "%s-%s", "stmmac", pci_name(pdev)); + plat->stmmac_clk = clk_register_fixed_rate(&pdev->dev, - "stmmac-clk", NULL, 0, + clk_name, NULL, 0, plat->clk_ptp_rate); if (IS_ERR(plat->stmmac_clk)) { @@ -338,7 +342,6 @@ struct plat_stmmacenet_data *plat) { plat->bus_id = 1; - plat->phy_addr = 0; plat->phy_interface = PHY_INTERFACE_MODE_SGMII; plat->serdes_powerup = intel_serdes_powerup; @@ -355,7 +358,6 @@ struct plat_stmmacenet_data *plat) { plat->bus_id = 1; - plat->phy_addr = 0; plat->phy_interface = PHY_INTERFACE_MODE_RGMII; return ehl_common_data(pdev, plat); @@ -369,7 +371,7 @@ struct plat_stmmacenet_data *plat) { plat->bus_id = 2; - plat->phy_addr = 1; + plat->addr64 = 32; return ehl_common_data(pdev, plat); } @@ -401,7 +403,7 @@ struct plat_stmmacenet_data *plat) { plat->bus_id = 3; - plat->phy_addr = 1; + plat->addr64 = 32; return ehl_common_data(pdev, plat); } @@ -443,7 +445,6 @@ struct plat_stmmacenet_data *plat) { plat->bus_id = 1; - plat->phy_addr = 0; plat->phy_interface = PHY_INTERFACE_MODE_SGMII; plat->serdes_powerup = intel_serdes_powerup; plat->serdes_powerdown = intel_serdes_powerdown; @@ -653,7 +654,6 @@ pci_free_irq_vectors(pdev); - clk_disable_unprepare(priv->plat->stmmac_clk); clk_unregister_fixed_rate(priv->plat->stmmac_clk); pcim_iounmap_regions(pdev, BIT(0)); @@ -712,6 +712,8 @@ #define PCI_DEVICE_ID_INTEL_EHL_PSE1_RGMII1G_ID 0x4bb0 #define PCI_DEVICE_ID_INTEL_EHL_PSE1_SGMII1G_ID 0x4bb1 #define PCI_DEVICE_ID_INTEL_EHL_PSE1_SGMII2G5_ID 0x4bb2 +#define PCI_DEVICE_ID_INTEL_TGLH_SGMII1G_0_ID 0x43ac +#define PCI_DEVICE_ID_INTEL_TGLH_SGMII1G_1_ID 0x43a2 #define PCI_DEVICE_ID_INTEL_TGL_SGMII1G_ID 0xa0ac static const struct pci_device_id intel_eth_pci_id_table[] = { @@ -726,6 +728,8 @@ { PCI_DEVICE_DATA(INTEL, EHL_PSE1_SGMII1G_ID, &ehl_pse1_sgmii1g_info) }, { PCI_DEVICE_DATA(INTEL, EHL_PSE1_SGMII2G5_ID, &ehl_pse1_sgmii1g_info) }, { PCI_DEVICE_DATA(INTEL, TGL_SGMII1G_ID, &tgl_sgmii1g_info) }, + { PCI_DEVICE_DATA(INTEL, TGLH_SGMII1G_0_ID, &tgl_sgmii1g_info) }, + { PCI_DEVICE_DATA(INTEL, TGLH_SGMII1G_1_ID, &tgl_sgmii1g_info) }, {} }; MODULE_DEVICE_TABLE(pci, intel_eth_pci_id_table); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c @@ -351,6 +351,7 @@ plat_dat->has_gmac = true; plat_dat->bsp_priv = gmac; plat_dat->fix_mac_speed = ipq806x_gmac_fix_mac_speed; + plat_dat->multicast_filter_bins = 0; err = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); if (err) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c @@ -30,7 +30,6 @@ #define PRG_ETH0_EXT_RMII_MODE 4 /* mux to choose between fclk_div2 (bit unset) and mpll2 (bit set) */ -#define PRG_ETH0_CLK_M250_SEL_SHIFT 4 #define PRG_ETH0_CLK_M250_SEL_MASK GENMASK(4, 4) /* TX clock delay in ns = "8ns / 4 * tx_dly_val" (where 8ns are exactly one @@ -170,8 +169,9 @@ } clk_configs->m250_mux.reg = dwmac->regs + PRG_ETH0; - clk_configs->m250_mux.shift = PRG_ETH0_CLK_M250_SEL_SHIFT; - clk_configs->m250_mux.mask = PRG_ETH0_CLK_M250_SEL_MASK; + clk_configs->m250_mux.shift = __ffs(PRG_ETH0_CLK_M250_SEL_MASK); + clk_configs->m250_mux.mask = PRG_ETH0_CLK_M250_SEL_MASK >> + clk_configs->m250_mux.shift; clk = meson8b_dwmac_register_clk(dwmac, "m250_sel", mux_parent_names, MUX_CLK_NUM_PARENTS, &clk_mux_ops, &clk_configs->m250_mux.hw); @@ -316,7 +316,7 @@ return -EINVAL; }; - if (rx_dly_config & PRG_ETH0_ADJ_ENABLE) { + if (delay_config & PRG_ETH0_ADJ_ENABLE) { if (!dwmac->timing_adj_clk) { dev_err(dwmac->dev, "The timing-adjustment clock is mandatory for the RX delay re-timing\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -64,6 +64,7 @@ * @variant: reference to the current board variant * @regmap: regmap for using the syscon * @internal_phy_powered: Does the internal PHY is enabled + * @use_internal_phy: Is the internal PHY selected for use * @mux_handle: Internal pointer used by mdio-mux lib */ struct sunxi_priv_data { @@ -74,6 +75,7 @@ const struct emac_variant *variant; struct regmap_field *regmap_field; bool internal_phy_powered; + bool use_internal_phy; void *mux_handle; }; @@ -539,8 +541,11 @@ .dma_interrupt = sun8i_dwmac_dma_interrupt, }; +static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv); + static int sun8i_dwmac_init(struct platform_device *pdev, void *priv) { + struct net_device *ndev = platform_get_drvdata(pdev); struct sunxi_priv_data *gmac = priv; int ret; @@ -554,13 +559,25 @@ ret = clk_prepare_enable(gmac->tx_clk); if (ret) { - if (gmac->regulator) - regulator_disable(gmac->regulator); dev_err(&pdev->dev, "Could not enable AHB clock\n"); - return ret; + goto err_disable_regulator; + } + + if (gmac->use_internal_phy) { + ret = sun8i_dwmac_power_internal_phy(netdev_priv(ndev)); + if (ret) + goto err_disable_clk; } return 0; + +err_disable_clk: + clk_disable_unprepare(gmac->tx_clk); +err_disable_regulator: + if (gmac->regulator) + regulator_disable(gmac->regulator); + + return ret; } static void sun8i_dwmac_core_init(struct mac_device_info *hw, @@ -831,7 +848,6 @@ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; u32 reg, val; int ret = 0; - bool need_power_ephy = false; if (current_child ^ desired_child) { regmap_field_read(gmac->regmap_field, ®); @@ -839,13 +855,12 @@ case DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID: dev_info(priv->device, "Switch mux to internal PHY"); val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SELECT; - - need_power_ephy = true; + gmac->use_internal_phy = true; break; case DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID: dev_info(priv->device, "Switch mux to external PHY"); val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SHUTDOWN; - need_power_ephy = false; + gmac->use_internal_phy = false; break; default: dev_err(priv->device, "Invalid child ID %x\n", @@ -853,7 +868,7 @@ return -EINVAL; } regmap_field_write(gmac->regmap_field, val); - if (need_power_ephy) { + if (gmac->use_internal_phy) { ret = sun8i_dwmac_power_internal_phy(priv); if (ret) return ret; @@ -883,22 +898,23 @@ return ret; } -static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) +static int sun8i_dwmac_set_syscon(struct device *dev, + struct plat_stmmacenet_data *plat) { - struct sunxi_priv_data *gmac = priv->plat->bsp_priv; - struct device_node *node = priv->device->of_node; + struct sunxi_priv_data *gmac = plat->bsp_priv; + struct device_node *node = dev->of_node; int ret; u32 reg, val; ret = regmap_field_read(gmac->regmap_field, &val); if (ret) { - dev_err(priv->device, "Fail to read from regmap field.\n"); + dev_err(dev, "Fail to read from regmap field.\n"); return ret; } reg = gmac->variant->default_syscon_value; if (reg != val) - dev_warn(priv->device, + dev_warn(dev, "Current syscon value is not the default %x (expect %x)\n", val, reg); @@ -911,9 +927,9 @@ /* Force EPHY xtal frequency to 24MHz. */ reg |= H3_EPHY_CLK_SEL; - ret = of_mdio_parse_addr(priv->device, priv->plat->phy_node); + ret = of_mdio_parse_addr(dev, plat->phy_node); if (ret < 0) { - dev_err(priv->device, "Could not parse MDIO addr\n"); + dev_err(dev, "Could not parse MDIO addr\n"); return ret; } /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY @@ -929,17 +945,17 @@ if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) { if (val % 100) { - dev_err(priv->device, "tx-delay must be a multiple of 100\n"); + dev_err(dev, "tx-delay must be a multiple of 100\n"); return -EINVAL; } val /= 100; - dev_dbg(priv->device, "set tx-delay to %x\n", val); + dev_dbg(dev, "set tx-delay to %x\n", val); if (val <= gmac->variant->tx_delay_max) { reg &= ~(gmac->variant->tx_delay_max << SYSCON_ETXDC_SHIFT); reg |= (val << SYSCON_ETXDC_SHIFT); } else { - dev_err(priv->device, "Invalid TX clock delay: %d\n", + dev_err(dev, "Invalid TX clock delay: %d\n", val); return -EINVAL; } @@ -947,17 +963,17 @@ if (!of_property_read_u32(node, "allwinner,rx-delay-ps", &val)) { if (val % 100) { - dev_err(priv->device, "rx-delay must be a multiple of 100\n"); + dev_err(dev, "rx-delay must be a multiple of 100\n"); return -EINVAL; } val /= 100; - dev_dbg(priv->device, "set rx-delay to %x\n", val); + dev_dbg(dev, "set rx-delay to %x\n", val); if (val <= gmac->variant->rx_delay_max) { reg &= ~(gmac->variant->rx_delay_max << SYSCON_ERXDC_SHIFT); reg |= (val << SYSCON_ERXDC_SHIFT); } else { - dev_err(priv->device, "Invalid RX clock delay: %d\n", + dev_err(dev, "Invalid RX clock delay: %d\n", val); return -EINVAL; } @@ -968,7 +984,7 @@ if (gmac->variant->support_rmii) reg &= ~SYSCON_RMII_EN; - switch (priv->plat->interface) { + switch (plat->interface) { case PHY_INTERFACE_MODE_MII: /* default */ break; @@ -982,8 +998,8 @@ reg |= SYSCON_RMII_EN | SYSCON_ETCS_EXT_GMII; break; default: - dev_err(priv->device, "Unsupported interface mode: %s", - phy_modes(priv->plat->interface)); + dev_err(dev, "Unsupported interface mode: %s", + phy_modes(plat->interface)); return -EINVAL; } @@ -1004,17 +1020,10 @@ struct sunxi_priv_data *gmac = priv; if (gmac->variant->soc_has_internal_phy) { - /* sun8i_dwmac_exit could be called with mdiomux uninit */ - if (gmac->mux_handle) - mdio_mux_uninit(gmac->mux_handle); if (gmac->internal_phy_powered) sun8i_dwmac_unpower_internal_phy(gmac); } - sun8i_dwmac_unset_syscon(gmac); - - reset_control_put(gmac->rst_ephy); - clk_disable_unprepare(gmac->tx_clk); if (gmac->regulator) @@ -1049,16 +1058,11 @@ { struct mac_device_info *mac; struct stmmac_priv *priv = ppriv; - int ret; mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL); if (!mac) return NULL; - ret = sun8i_dwmac_set_syscon(priv); - if (ret) - return NULL; - mac->pcsr = priv->ioaddr; mac->mac = &sun8i_dwmac_ops; mac->dma = &sun8i_dwmac_dma_ops; @@ -1134,10 +1138,6 @@ if (ret) return ret; - plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac); - if (IS_ERR(plat_dat)) - return PTR_ERR(plat_dat); - gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL); if (!gmac) return -ENOMEM; @@ -1201,11 +1201,15 @@ ret = of_get_phy_mode(dev->of_node, &interface); if (ret) return -EINVAL; - plat_dat->interface = interface; + + plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac); + if (IS_ERR(plat_dat)) + return PTR_ERR(plat_dat); /* platform data specifying hardware features and callbacks. * hardware features were copied from Allwinner drivers. */ + plat_dat->interface = interface; plat_dat->rx_coe = STMMAC_RX_COE_TYPE2; plat_dat->tx_coe = 1; plat_dat->has_sun8i = true; @@ -1213,10 +1217,16 @@ plat_dat->init = sun8i_dwmac_init; plat_dat->exit = sun8i_dwmac_exit; plat_dat->setup = sun8i_dwmac_setup; + plat_dat->tx_fifo_size = 4096; + plat_dat->rx_fifo_size = 16384; + + ret = sun8i_dwmac_set_syscon(&pdev->dev, plat_dat); + if (ret) + goto dwmac_deconfig; ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv); if (ret) - return ret; + goto dwmac_syscon; ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); if (ret) @@ -1230,7 +1240,7 @@ if (gmac->variant->soc_has_internal_phy) { ret = get_ephy_nodes(priv); if (ret) - goto dwmac_exit; + goto dwmac_remove; ret = sun8i_dwmac_register_mdio_mux(priv); if (ret) { dev_err(&pdev->dev, "Failed to register mux\n"); @@ -1239,15 +1249,42 @@ } else { ret = sun8i_dwmac_reset(priv); if (ret) - goto dwmac_exit; + goto dwmac_remove; } return ret; dwmac_mux: - sun8i_dwmac_unset_syscon(gmac); + reset_control_put(gmac->rst_ephy); + clk_put(gmac->ephy_clk); +dwmac_remove: + stmmac_dvr_remove(&pdev->dev); dwmac_exit: + sun8i_dwmac_exit(pdev, gmac); +dwmac_syscon: + sun8i_dwmac_unset_syscon(gmac); +dwmac_deconfig: + stmmac_remove_config_dt(pdev, plat_dat); + + return ret; +} + +static int sun8i_dwmac_remove(struct platform_device *pdev) +{ + struct net_device *ndev = platform_get_drvdata(pdev); + struct stmmac_priv *priv = netdev_priv(ndev); + struct sunxi_priv_data *gmac = priv->plat->bsp_priv; + + if (gmac->variant->soc_has_internal_phy) { + mdio_mux_uninit(gmac->mux_handle); + sun8i_dwmac_unpower_internal_phy(gmac); + reset_control_put(gmac->rst_ephy); + clk_put(gmac->ephy_clk); + } + stmmac_pltfr_remove(pdev); -return ret; + sun8i_dwmac_unset_syscon(gmac); + + return 0; } static const struct of_device_id sun8i_dwmac_match[] = { @@ -1269,7 +1306,7 @@ static struct platform_driver sun8i_dwmac_driver = { .probe = sun8i_dwmac_probe, - .remove = stmmac_pltfr_remove, + .remove = sun8i_dwmac_remove, .driver = { .name = "dwmac-sun8i", .pm = &stmmac_pltfr_pm_ops, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c @@ -164,6 +164,9 @@ value = GMAC_FRAME_FILTER_PR | GMAC_FRAME_FILTER_PCF; } else if (dev->flags & IFF_ALLMULTI) { value = GMAC_FRAME_FILTER_PM; /* pass all multi */ + } else if (!netdev_mc_empty(dev) && (mcbitslog2 == 0)) { + /* Fall back to all multicast if we've no filter */ + value = GMAC_FRAME_FILTER_PM; } else if (!netdev_mc_empty(dev)) { struct netdev_hw_addr *ha; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c @@ -1160,7 +1160,6 @@ .pcs_get_adv_lp = dwmac4_get_adv_lp, .debug = dwmac4_debug, .set_filter = dwmac4_set_filter, - .flex_pps_config = dwmac5_flex_pps_config, .set_mac_loopback = dwmac4_set_mac_loopback, .update_vlan_hash = dwmac4_update_vlan_hash, .sarc_configure = dwmac4_sarc_configure, @@ -1202,6 +1201,7 @@ .pcs_get_adv_lp = dwmac4_get_adv_lp, .debug = dwmac4_debug, .set_filter = dwmac4_set_filter, + .flex_pps_config = dwmac5_flex_pps_config, .set_mac_loopback = dwmac4_set_mac_loopback, .update_vlan_hash = dwmac4_update_vlan_hash, .sarc_configure = dwmac4_sarc_configure, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c @@ -500,10 +500,15 @@ return 0; } -static void dwmac4_set_sec_addr(struct dma_desc *p, dma_addr_t addr) +static void dwmac4_set_sec_addr(struct dma_desc *p, dma_addr_t addr, bool buf2_valid) { p->des2 = cpu_to_le32(lower_32_bits(addr)); - p->des3 = cpu_to_le32(upper_32_bits(addr) | RDES3_BUFFER2_VALID_ADDR); + p->des3 = cpu_to_le32(upper_32_bits(addr)); + + if (buf2_valid) + p->des3 |= cpu_to_le32(RDES3_BUFFER2_VALID_ADDR); + else + p->des3 &= cpu_to_le32(~RDES3_BUFFER2_VALID_ADDR); } static void dwmac4_set_tbs(struct dma_edesc *p, u32 sec, u32 nsec) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c @@ -124,6 +124,23 @@ ioaddr + DMA_CHAN_INTR_ENA(chan)); } +static void dwmac410_dma_init_channel(void __iomem *ioaddr, + struct stmmac_dma_cfg *dma_cfg, u32 chan) +{ + u32 value; + + /* common channel control register config */ + value = readl(ioaddr + DMA_CHAN_CONTROL(chan)); + if (dma_cfg->pblx8) + value = value | DMA_BUS_MODE_PBL; + + writel(value, ioaddr + DMA_CHAN_CONTROL(chan)); + + /* Mask interrupts by writing to CSR7 */ + writel(DMA_CHAN_INTR_DEFAULT_MASK_4_10, + ioaddr + DMA_CHAN_INTR_ENA(chan)); +} + static void dwmac4_dma_init(void __iomem *ioaddr, struct stmmac_dma_cfg *dma_cfg, int atds) { @@ -523,7 +540,7 @@ const struct stmmac_dma_ops dwmac410_dma_ops = { .reset = dwmac4_dma_reset, .init = dwmac4_dma_init, - .init_chan = dwmac4_dma_init_channel, + .init_chan = dwmac410_dma_init_channel, .init_rx_chan = dwmac4_dma_init_rx_chan, .init_tx_chan = dwmac4_dma_init_tx_chan, .axi = dwmac4_dma_axi, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c @@ -22,7 +22,7 @@ return readl_poll_timeout(ioaddr + DMA_BUS_MODE, value, !(value & DMA_BUS_MODE_SFT_RESET), - 10000, 100000); + 10000, 1000000); } void dwmac4_set_rx_tail_ptr(void __iomem *ioaddr, u32 tail_ptr, u32 chan) @@ -53,10 +53,6 @@ value &= ~DMA_CONTROL_ST; writel(value, ioaddr + DMA_CHAN_TX_CONTROL(chan)); - - value = readl(ioaddr + GMAC_CONFIG); - value &= ~GMAC_CONFIG_TE; - writel(value, ioaddr + GMAC_CONFIG); } void dwmac4_dma_start_rx(void __iomem *ioaddr, u32 chan) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac5.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac5.c @@ -572,68 +572,24 @@ int dwmac5_est_configure(void __iomem *ioaddr, struct stmmac_est *cfg, unsigned int ptp_rate) { - u32 speed, total_offset, offset, ctrl, ctr_low; - u32 extcfg = readl(ioaddr + GMAC_EXT_CONFIG); - u32 mac_cfg = readl(ioaddr + GMAC_CONFIG); int i, ret = 0x0; - u64 total_ctr; - - if (extcfg & GMAC_CONFIG_EIPG_EN) { - offset = (extcfg & GMAC_CONFIG_EIPG) >> GMAC_CONFIG_EIPG_SHIFT; - offset = 104 + (offset * 8); - } else { - offset = (mac_cfg & GMAC_CONFIG_IPG) >> GMAC_CONFIG_IPG_SHIFT; - offset = 96 - (offset * 8); - } - - speed = mac_cfg & (GMAC_CONFIG_PS | GMAC_CONFIG_FES); - speed = speed >> GMAC_CONFIG_FES_SHIFT; - - switch (speed) { - case 0x0: - offset = offset * 1000; /* 1G */ - break; - case 0x1: - offset = offset * 400; /* 2.5G */ - break; - case 0x2: - offset = offset * 100000; /* 10M */ - break; - case 0x3: - offset = offset * 10000; /* 100M */ - break; - default: - return -EINVAL; - } - - offset = offset / 1000; + u32 ctrl; ret |= dwmac5_est_write(ioaddr, BTR_LOW, cfg->btr[0], false); ret |= dwmac5_est_write(ioaddr, BTR_HIGH, cfg->btr[1], false); ret |= dwmac5_est_write(ioaddr, TER, cfg->ter, false); ret |= dwmac5_est_write(ioaddr, LLR, cfg->gcl_size, false); + ret |= dwmac5_est_write(ioaddr, CTR_LOW, cfg->ctr[0], false); + ret |= dwmac5_est_write(ioaddr, CTR_HIGH, cfg->ctr[1], false); if (ret) return ret; - total_offset = 0; for (i = 0; i < cfg->gcl_size; i++) { - ret = dwmac5_est_write(ioaddr, i, cfg->gcl[i] + offset, true); + ret = dwmac5_est_write(ioaddr, i, cfg->gcl[i], true); if (ret) return ret; - - total_offset += offset; } - total_ctr = cfg->ctr[0] + cfg->ctr[1] * 1000000000ULL; - total_ctr += total_offset; - - ctr_low = do_div(total_ctr, 1000000000); - - ret |= dwmac5_est_write(ioaddr, CTR_LOW, ctr_low, false); - ret |= dwmac5_est_write(ioaddr, CTR_HIGH, total_ctr, false); - if (ret) - return ret; - ctrl = readl(ioaddr + MTL_EST_CONTROL); ctrl &= ~PTOV; ctrl |= ((1000000000 / ptp_rate) * 6) << PTOV_SHIFT; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c @@ -23,7 +23,7 @@ return readl_poll_timeout(ioaddr + DMA_BUS_MODE, value, !(value & DMA_BUS_MODE_SFT_RESET), - 10000, 100000); + 10000, 200000); } /* CSR1 enables the transmit DMA to check for new descriptor */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c @@ -293,7 +293,7 @@ return 0; } -static void dwxgmac2_set_sec_addr(struct dma_desc *p, dma_addr_t addr) +static void dwxgmac2_set_sec_addr(struct dma_desc *p, dma_addr_t addr, bool is_valid) { p->des2 = cpu_to_le32(lower_32_bits(addr)); p->des3 = cpu_to_le32(upper_32_bits(addr)); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/hwif.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/hwif.h @@ -91,7 +91,7 @@ int (*get_rx_hash)(struct dma_desc *p, u32 *hash, enum pkt_hash_types *type); int (*get_rx_header_len)(struct dma_desc *p, unsigned int *len); - void (*set_sec_addr)(struct dma_desc *p, dma_addr_t addr); + void (*set_sec_addr)(struct dma_desc *p, dma_addr_t addr, bool buf2_valid); void (*set_sarc)(struct dma_desc *p, u32 sarc_type); void (*set_vlan_tag)(struct dma_desc *p, u16 tag, u16 inner_tag, u32 inner_type); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac.h +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/stmmac.h @@ -203,6 +203,8 @@ int eee_enabled; int eee_active; int tx_lpi_timer; + int tx_lpi_enabled; + int eee_tw_timer; unsigned int mode; unsigned int chain_mode; int extend_desc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -652,6 +652,7 @@ edata->eee_enabled = priv->eee_enabled; edata->eee_active = priv->eee_active; edata->tx_lpi_timer = priv->tx_lpi_timer; + edata->tx_lpi_enabled = priv->tx_lpi_enabled; return phylink_ethtool_get_eee(priv->phylink, edata); } @@ -662,24 +663,26 @@ struct stmmac_priv *priv = netdev_priv(dev); int ret; - if (!edata->eee_enabled) { + if (!priv->dma_cap.eee) + return -EOPNOTSUPP; + + if (priv->tx_lpi_enabled != edata->tx_lpi_enabled) + netdev_warn(priv->dev, + "Setting EEE tx-lpi is not supported\n"); + + if (!edata->eee_enabled) stmmac_disable_eee_mode(priv); - } else { - /* We are asking for enabling the EEE but it is safe - * to verify all by invoking the eee_init function. - * In case of failure it will return an error. - */ - edata->eee_enabled = stmmac_eee_init(priv); - if (!edata->eee_enabled) - return -EOPNOTSUPP; - } ret = phylink_ethtool_set_eee(priv->phylink, edata); if (ret) return ret; - priv->eee_enabled = edata->eee_enabled; - priv->tx_lpi_timer = edata->tx_lpi_timer; + if (edata->eee_enabled && + priv->tx_lpi_timer != edata->tx_lpi_timer) { + priv->tx_lpi_timer = edata->tx_lpi_timer; + stmmac_eee_init(priv); + } + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -94,7 +94,7 @@ static int eee_timer = STMMAC_DEFAULT_LPI_TIMER; module_param(eee_timer, int, 0644); MODULE_PARM_DESC(eee_timer, "LPI tx expiration time in msec"); -#define STMMAC_LPI_T(x) (jiffies + msecs_to_jiffies(x)) +#define STMMAC_LPI_T(x) (jiffies + usecs_to_jiffies(x)) /* By default the driver will use the ring mode to manage tx and rx descriptors, * but allow user to force to use the chain instead of the ring @@ -176,32 +176,6 @@ } } -/** - * stmmac_stop_all_queues - Stop all queues - * @priv: driver private structure - */ -static void stmmac_stop_all_queues(struct stmmac_priv *priv) -{ - u32 tx_queues_cnt = priv->plat->tx_queues_to_use; - u32 queue; - - for (queue = 0; queue < tx_queues_cnt; queue++) - netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, queue)); -} - -/** - * stmmac_start_all_queues - Start all queues - * @priv: driver private structure - */ -static void stmmac_start_all_queues(struct stmmac_priv *priv) -{ - u32 tx_queues_cnt = priv->plat->tx_queues_to_use; - u32 queue; - - for (queue = 0; queue < tx_queues_cnt; queue++) - netif_tx_start_queue(netdev_get_tx_queue(priv->dev, queue)); -} - static void stmmac_service_event_schedule(struct stmmac_priv *priv) { if (!test_bit(STMMAC_DOWN, &priv->state) && @@ -370,7 +344,7 @@ struct stmmac_priv *priv = from_timer(priv, t, eee_ctrl_timer); stmmac_enable_eee_mode(priv); - mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(eee_timer)); + mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(priv->tx_lpi_timer)); } /** @@ -383,7 +357,7 @@ */ bool stmmac_eee_init(struct stmmac_priv *priv) { - int tx_lpi_timer = priv->tx_lpi_timer; + int eee_tw_timer = priv->eee_tw_timer; /* Using PCS we cannot dial with the phy registers at this stage * so we do not support extra feature like EEE. @@ -403,7 +377,7 @@ if (priv->eee_enabled) { netdev_dbg(priv->dev, "disable EEE\n"); del_timer_sync(&priv->eee_ctrl_timer); - stmmac_set_eee_timer(priv, priv->hw, 0, tx_lpi_timer); + stmmac_set_eee_timer(priv, priv->hw, 0, eee_tw_timer); } mutex_unlock(&priv->lock); return false; @@ -411,11 +385,12 @@ if (priv->eee_active && !priv->eee_enabled) { timer_setup(&priv->eee_ctrl_timer, stmmac_eee_ctrl_timer, 0); - mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(eee_timer)); stmmac_set_eee_timer(priv, priv->hw, STMMAC_DEFAULT_LIT_LS, - tx_lpi_timer); + eee_tw_timer); } + mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(priv->tx_lpi_timer)); + mutex_unlock(&priv->lock); netdev_dbg(priv->dev, "Energy-Efficient Ethernet initialized\n"); return true; @@ -930,6 +905,7 @@ stmmac_mac_set(priv, priv->ioaddr, false); priv->eee_active = false; + priv->tx_lpi_enabled = false; stmmac_eee_init(priv); stmmac_set_eee_pls(priv, priv->hw, false); } @@ -1027,6 +1003,7 @@ if (phy && priv->dma_cap.eee) { priv->eee_active = phy_init_eee(phy, 1) >= 0; priv->eee_enabled = stmmac_eee_init(priv); + priv->tx_lpi_enabled = priv->eee_enabled; stmmac_set_eee_pls(priv, priv->hw, true); } } @@ -1298,9 +1275,10 @@ return -ENOMEM; buf->sec_addr = page_pool_get_dma_addr(buf->sec_page); - stmmac_set_desc_sec_addr(priv, p, buf->sec_addr); + stmmac_set_desc_sec_addr(priv, p, buf->sec_addr, true); } else { buf->sec_page = NULL; + stmmac_set_desc_sec_addr(priv, p, buf->sec_addr, false); } buf->addr = page_pool_get_dma_addr(buf->page); @@ -1549,6 +1527,19 @@ } /** + * stmmac_free_tx_skbufs - free TX skb buffers + * @priv: private structure + */ +static void stmmac_free_tx_skbufs(struct stmmac_priv *priv) +{ + u32 tx_queue_cnt = priv->plat->tx_queues_to_use; + u32 queue; + + for (queue = 0; queue < tx_queue_cnt; queue++) + dma_free_tx_skbufs(priv, queue); +} + +/** * free_dma_rx_desc_resources - free RX dma desc resources * @priv: private structure */ @@ -2057,7 +2048,7 @@ if ((priv->eee_enabled) && (!priv->tx_path_in_lpi_mode)) { stmmac_enable_eee_mode(priv); - mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(eee_timer)); + mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(priv->tx_lpi_timer)); } /* We still have pending packets, let's call for a new scheduling */ @@ -2156,7 +2147,7 @@ spin_lock_irqsave(&ch->lock, flags); stmmac_disable_dma_irq(priv, priv->ioaddr, chan, 1, 0); spin_unlock_irqrestore(&ch->lock, flags); - __napi_schedule_irqoff(&ch->rx_napi); + __napi_schedule(&ch->rx_napi); } } @@ -2165,7 +2156,7 @@ spin_lock_irqsave(&ch->lock, flags); stmmac_disable_dma_irq(priv, priv->ioaddr, chan, 0, 1); spin_unlock_irqrestore(&ch->lock, flags); - __napi_schedule_irqoff(&ch->tx_napi); + __napi_schedule(&ch->tx_napi); } } @@ -2690,7 +2681,11 @@ netdev_warn(priv->dev, "PTP init failed\n"); } - priv->tx_lpi_timer = STMMAC_DEFAULT_TWT_LS; + priv->eee_tw_timer = STMMAC_DEFAULT_TWT_LS; + + /* Convert the timer from msec to usec */ + if (!priv->tx_lpi_timer) + priv->tx_lpi_timer = eee_timer * 1000; if (priv->use_riwt) { if (!priv->rx_riwt) @@ -2729,6 +2724,10 @@ stmmac_enable_tbs(priv, priv->ioaddr, enable, chan); } + /* Configure real RX and TX queues */ + netif_set_real_num_rx_queues(dev, priv->plat->rx_queues_to_use); + netif_set_real_num_tx_queues(dev, priv->plat->tx_queues_to_use); + /* Start the ball rolling... */ stmmac_start_all_dma(priv); @@ -2855,7 +2854,7 @@ } stmmac_enable_all_queues(priv); - stmmac_start_all_queues(priv); + netif_tx_start_all_queues(priv->dev); return 0; @@ -2889,15 +2888,10 @@ struct stmmac_priv *priv = netdev_priv(dev); u32 chan; - if (priv->eee_enabled) - del_timer_sync(&priv->eee_ctrl_timer); - /* Stop and disconnect the PHY */ phylink_stop(priv->phylink); phylink_disconnect_phy(priv->phylink); - stmmac_stop_all_queues(priv); - stmmac_disable_all_queues(priv); for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) @@ -2910,6 +2904,11 @@ if (priv->lpi_irq > 0) free_irq(priv->lpi_irq, dev); + if (priv->eee_enabled) { + priv->tx_path_in_lpi_mode = false; + del_timer_sync(&priv->eee_ctrl_timer); + } + /* Stop TX/RX DMA and clear the descriptors */ stmmac_stop_all_dma(priv); @@ -3595,7 +3594,10 @@ DMA_FROM_DEVICE); stmmac_set_desc_addr(priv, p, buf->addr); - stmmac_set_desc_sec_addr(priv, p, buf->sec_addr); + if (priv->sph) + stmmac_set_desc_sec_addr(priv, p, buf->sec_addr, true); + else + stmmac_set_desc_sec_addr(priv, p, buf->sec_addr, false); stmmac_refill_desc3(priv, rx_q, p); rx_q->rx_count_frames++; @@ -3971,6 +3973,7 @@ { struct stmmac_priv *priv = netdev_priv(dev); int txfifosz = priv->plat->tx_fifo_size; + const int mtu = new_mtu; if (txfifosz == 0) txfifosz = priv->dma_cap.tx_fifo_size; @@ -3988,7 +3991,7 @@ if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB)) return -EINVAL; - dev->mtu = new_mtu; + dev->mtu = mtu; netdev_update_features(dev); @@ -4812,10 +4815,6 @@ stmmac_check_ether_addr(priv); - /* Configure real RX and TX queues */ - netif_set_real_num_rx_queues(ndev, priv->plat->rx_queues_to_use); - netif_set_real_num_tx_queues(ndev, priv->plat->tx_queues_to_use); - ndev->netdev_ops = &stmmac_netdev_ops; ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | @@ -4840,6 +4839,14 @@ dev_info(priv->device, "SPH feature enabled\n"); } + /* The current IP register MAC_HW_Feature1[ADDR64] only define + * 32/40/64 bit width, but some SOC support others like i.MX8MP + * support 34 bits but it map to 40 bits width in MAC_HW_Feature1[ADDR64]. + * So overwrite dma_cap.addr64 according to HW real design. + */ + if (priv->plat->addr64) + priv->dma_cap.addr64 = priv->plat->addr64; + if (priv->dma_cap.addr64) { ret = dma_set_mask_and_coherent(device, DMA_BIT_MASK(priv->dma_cap.addr64)); @@ -5025,13 +5032,16 @@ netdev_info(priv->dev, "%s: removing driver", __func__); stmmac_stop_all_dma(priv); + stmmac_mac_set(priv, priv->ioaddr, false); + netif_carrier_off(ndev); + unregister_netdev(ndev); + /* Serdes power down needs to happen after VLAN filter + * is deleted that is triggered by unregister_netdev(). + */ if (priv->plat->serdes_powerdown) priv->plat->serdes_powerdown(ndev, priv->plat->bsp_priv); - stmmac_mac_set(priv, priv->ioaddr, false); - netif_carrier_off(ndev); - unregister_netdev(ndev); #ifdef CONFIG_DEBUG_FS stmmac_exit_fs(ndev); #endif @@ -5071,13 +5081,17 @@ mutex_lock(&priv->lock); netif_device_detach(ndev); - stmmac_stop_all_queues(priv); stmmac_disable_all_queues(priv); for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) del_timer_sync(&priv->tx_queue[chan].txtimer); + if (priv->eee_enabled) { + priv->tx_path_in_lpi_mode = false; + del_timer_sync(&priv->eee_ctrl_timer); + } + /* Stop TX/RX DMA */ stmmac_stop_all_dma(priv); @@ -5133,6 +5147,8 @@ tx_q->cur_tx = 0; tx_q->dirty_tx = 0; tx_q->mss = 0; + + netdev_tx_reset_queue(netdev_get_tx_queue(priv->dev, queue)); } } @@ -5182,10 +5198,18 @@ return ret; } + if (!device_may_wakeup(priv->device)) { + rtnl_lock(); + phylink_start(priv->phylink); + rtnl_unlock(); + } + + rtnl_lock(); mutex_lock(&priv->lock); stmmac_reset_queues_param(priv); + stmmac_free_tx_skbufs(priv); stmmac_clear_descriptors(priv); stmmac_hw_setup(ndev, false); @@ -5196,15 +5220,8 @@ stmmac_enable_all_queues(priv); - stmmac_start_all_queues(priv); - mutex_unlock(&priv->lock); - - if (!device_may_wakeup(priv->device)) { - rtnl_lock(); - phylink_start(priv->phylink); - rtnl_unlock(); - } + rtnl_unlock(); phylink_mac_change(priv->phylink, true); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c @@ -322,6 +322,32 @@ if (!priv->dma_cap.av) return -EOPNOTSUPP; + /* Port Transmit Rate and Speed Divider */ + switch (priv->speed) { + case SPEED_10000: + ptr = 32; + speed_div = 10000000; + break; + case SPEED_5000: + ptr = 32; + speed_div = 5000000; + break; + case SPEED_2500: + ptr = 8; + speed_div = 2500000; + break; + case SPEED_1000: + ptr = 8; + speed_div = 1000000; + break; + case SPEED_100: + ptr = 4; + speed_div = 100000; + break; + default: + return -EOPNOTSUPP; + } + mode_to_use = priv->plat->tx_queues_cfg[queue].mode_to_use; if (mode_to_use == MTL_QUEUE_DCB && qopt->enable) { ret = stmmac_dma_qmode(priv, priv->ioaddr, queue, MTL_QUEUE_AVB); @@ -330,12 +356,13 @@ priv->plat->tx_queues_cfg[queue].mode_to_use = MTL_QUEUE_AVB; } else if (!qopt->enable) { - return stmmac_dma_qmode(priv, priv->ioaddr, queue, MTL_QUEUE_DCB); - } + ret = stmmac_dma_qmode(priv, priv->ioaddr, queue, + MTL_QUEUE_DCB); + if (ret) + return ret; - /* Port Transmit Rate and Speed Divider */ - ptr = (priv->speed == SPEED_100) ? 4 : 8; - speed_div = (priv->speed == SPEED_100) ? 100000 : 1000000; + priv->plat->tx_queues_cfg[queue].mode_to_use = MTL_QUEUE_DCB; + } /* Final adjustments for HW */ value = div_s64(qopt->idleslope * 1024ll * ptr, speed_div); @@ -605,7 +632,8 @@ { u32 size, wid = priv->dma_cap.estwid, dep = priv->dma_cap.estdep; struct plat_stmmacenet_data *plat = priv->plat; - struct timespec64 time; + struct timespec64 time, current_time; + ktime_t current_time_ns; bool fpe = false; int i, ret = 0; u64 ctr; @@ -700,7 +728,22 @@ } /* Adjust for real system time */ - time = ktime_to_timespec64(qopt->base_time); + priv->ptp_clock_ops.gettime64(&priv->ptp_clock_ops, ¤t_time); + current_time_ns = timespec64_to_ktime(current_time); + if (ktime_after(qopt->base_time, current_time_ns)) { + time = ktime_to_timespec64(qopt->base_time); + } else { + ktime_t base_time; + s64 n; + + n = div64_s64(ktime_sub_ns(current_time_ns, qopt->base_time), + qopt->cycle_time); + base_time = ktime_add_ns(qopt->base_time, + (n + 1) * qopt->cycle_time); + + time = ktime_to_timespec64(base_time); + } + priv->plat->est->btr[0] = (u32)time.tv_nsec; priv->plat->est->btr[1] = (u32)time.tv_sec; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/sun/niu.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/sun/niu.c @@ -3931,8 +3931,6 @@ mp->rx_mcasts += RXMAC_MC_FRM_CNT_COUNT; if (val & XRXMAC_STATUS_RXBCAST_CNT_EXP) mp->rx_bcasts += RXMAC_BC_FRM_CNT_COUNT; - if (val & XRXMAC_STATUS_RXBCAST_CNT_EXP) - mp->rx_bcasts += RXMAC_BC_FRM_CNT_COUNT; if (val & XRXMAC_STATUS_RXHIST1_CNT_EXP) mp->rx_hist_cnt1 += RXMAC_HIST_CNT1_COUNT; if (val & XRXMAC_STATUS_RXHIST2_CNT_EXP) --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/tehuti/tehuti.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/tehuti/tehuti.c @@ -2040,6 +2040,7 @@ /*bdx_hw_reset(priv); */ if (bdx_read_mac(priv)) { pr_err("load MAC address failed\n"); + err = -EFAULT; goto err_out_iomap; } SET_NETDEV_DEV(ndev, &pdev->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/am65-cpsw-nuss.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/am65-cpsw-nuss.c @@ -172,6 +172,8 @@ if (phy->speed == 10 && phy_interface_is_rgmii(phy)) /* Can be used with in band mode only */ mac_control |= CPSW_SL_CTL_EXT_EN; + if (phy->speed == 100 && phy->interface == PHY_INTERFACE_MODE_RMII) + mac_control |= CPSW_SL_CTL_IFCTL_A; if (phy->duplex) mac_control |= CPSW_SL_CTL_FULLDUPLEX; @@ -223,6 +225,9 @@ u32 port_mask, unreg_mcast = 0; int ret; + if (!netif_running(ndev) || !vid) + return 0; + ret = pm_runtime_get_sync(common->dev); if (ret < 0) { pm_runtime_put_noidle(common->dev); @@ -246,6 +251,9 @@ struct am65_cpsw_common *common = am65_ndev_to_common(ndev); int ret; + if (!netif_running(ndev) || !vid) + return 0; + ret = pm_runtime_get_sync(common->dev); if (ret < 0) { pm_runtime_put_noidle(common->dev); @@ -571,6 +579,16 @@ return 0; } +static int cpsw_restore_vlans(struct net_device *vdev, int vid, void *arg) +{ + struct am65_cpsw_port *port = arg; + + if (!vdev) + return 0; + + return am65_cpsw_nuss_ndo_slave_add_vid(port->ndev, 0, vid); +} + static int am65_cpsw_nuss_ndo_slave_open(struct net_device *ndev) { struct am65_cpsw_common *common = am65_ndev_to_common(ndev); @@ -644,6 +662,9 @@ } } + /* restore vlan configurations */ + vlan_for_each(ndev, cpsw_restore_vlans, port); + phy_attached_info(port->slave.phy); phy_start(port->slave.phy); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/am65-cpts.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/am65-cpts.c @@ -1016,8 +1016,7 @@ if (IS_ERR_OR_NULL(cpts->ptp_clock)) { dev_err(dev, "Failed to register ptp clk %ld\n", PTR_ERR(cpts->ptp_clock)); - if (!cpts->ptp_clock) - ret = -ENODEV; + ret = cpts->ptp_clock ? PTR_ERR(cpts->ptp_clock) : -ENODEV; goto refclk_disable; } cpts->phc_index = ptp_clock_index(cpts->ptp_clock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/cpsw.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/cpsw.c @@ -838,9 +838,12 @@ if (ret < 0) goto err_cleanup; - if (cpts_register(cpsw->cpts)) - dev_err(priv->dev, "error registering cpts device\n"); - + if (cpsw->cpts) { + if (cpts_register(cpsw->cpts)) + dev_err(priv->dev, "error registering cpts device\n"); + else + writel(0x10, &cpsw->wr_regs->misc_en); + } } cpsw_restore(priv); @@ -1116,7 +1119,7 @@ HOST_PORT_NUM, ALE_VLAN, vid); ret |= cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast, 0, ALE_VLAN, vid); - ret |= cpsw_ale_flush_multicast(cpsw->ale, 0, vid); + ret |= cpsw_ale_flush_multicast(cpsw->ale, ALE_PORT_HOST, vid); err: pm_runtime_put(cpsw->dev); return ret; @@ -1637,6 +1640,7 @@ CPSW_MAX_QUEUES, CPSW_MAX_QUEUES); if (!ndev) { dev_err(dev, "error allocating net_device\n"); + ret = -ENOMEM; goto clean_cpts; } @@ -1722,7 +1726,6 @@ /* Enable misc CPTS evnt_pend IRQ */ cpts_set_irqpoll(cpsw->cpts, false); - writel(0x10, &cpsw->wr_regs->misc_en); skip_cpts: cpsw_notice(priv, probe, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/cpsw_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/cpsw_ethtool.c @@ -727,7 +727,6 @@ (1 << HWTSTAMP_TX_ON); info->rx_filters = (1 << HWTSTAMP_FILTER_NONE) | - (1 << HWTSTAMP_FILTER_PTP_V1_L4_EVENT) | (1 << HWTSTAMP_FILTER_PTP_V2_EVENT); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/cpsw_new.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/cpsw_new.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -872,8 +873,12 @@ if (ret < 0) goto err_cleanup; - if (cpts_register(cpsw->cpts)) - dev_err(priv->dev, "error registering cpts device\n"); + if (cpsw->cpts) { + if (cpts_register(cpsw->cpts)) + dev_err(priv->dev, "error registering cpts device\n"); + else + writel(0x10, &cpsw->wr_regs->misc_en); + } napi_enable(&cpsw->napi_rx); napi_enable(&cpsw->napi_tx); @@ -1032,19 +1037,34 @@ return ret; } + /* reset the return code as pm_runtime_get_sync() can return + * non zero values as well. + */ + ret = 0; for (i = 0; i < cpsw->data.slaves; i++) { if (cpsw->slaves[i].ndev && - vid == cpsw->slaves[i].port_vlan) + vid == cpsw->slaves[i].port_vlan) { + ret = -EINVAL; goto err; + } } dev_dbg(priv->dev, "removing vlanid %d from vlan filter\n", vid); - cpsw_ale_del_vlan(cpsw->ale, vid, 0); - cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr, - HOST_PORT_NUM, ALE_VLAN, vid); - cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast, - 0, ALE_VLAN, vid); - cpsw_ale_flush_multicast(cpsw->ale, 0, vid); + ret = cpsw_ale_del_vlan(cpsw->ale, vid, 0); + if (ret) + dev_err(priv->dev, "cpsw_ale_del_vlan() failed: ret %d\n", ret); + ret = cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr, + HOST_PORT_NUM, ALE_VLAN, vid); + if (ret) + dev_err(priv->dev, "cpsw_ale_del_ucast() failed: ret %d\n", + ret); + ret = cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast, + 0, ALE_VLAN, vid); + if (ret) + dev_err(priv->dev, "cpsw_ale_del_mcast failed. ret %d\n", + ret); + cpsw_ale_flush_multicast(cpsw->ale, ALE_PORT_HOST, vid); + ret = 0; err: pm_runtime_put(cpsw->dev); return ret; @@ -1993,7 +2013,6 @@ /* Enable misc CPTS evnt_pend IRQ */ cpts_set_irqpoll(cpsw->cpts, false); - writel(0x10, &cpsw->wr_regs->misc_en); skip_cpts: ret = cpsw_register_notifiers(cpsw); @@ -2055,9 +2074,61 @@ return 0; } +static int __maybe_unused cpsw_suspend(struct device *dev) +{ + struct cpsw_common *cpsw = dev_get_drvdata(dev); + int i; + + rtnl_lock(); + + for (i = 0; i < cpsw->data.slaves; i++) { + struct net_device *ndev = cpsw->slaves[i].ndev; + + if (!(ndev && netif_running(ndev))) + continue; + + cpsw_ndo_stop(ndev); + } + + rtnl_unlock(); + + /* Select sleep pin state */ + pinctrl_pm_select_sleep_state(dev); + + return 0; +} + +static int __maybe_unused cpsw_resume(struct device *dev) +{ + struct cpsw_common *cpsw = dev_get_drvdata(dev); + int i; + + /* Select default pin state */ + pinctrl_pm_select_default_state(dev); + + /* shut up ASSERT_RTNL() warning in netif_set_real_num_tx/rx_queues */ + rtnl_lock(); + + for (i = 0; i < cpsw->data.slaves; i++) { + struct net_device *ndev = cpsw->slaves[i].ndev; + + if (!(ndev && netif_running(ndev))) + continue; + + cpsw_ndo_open(ndev); + } + + rtnl_unlock(); + + return 0; +} + +static SIMPLE_DEV_PM_OPS(cpsw_pm_ops, cpsw_suspend, cpsw_resume); + static struct platform_driver cpsw_driver = { .driver = { .name = "cpsw-switch", + .pm = &cpsw_pm_ops, .of_match_table = cpsw_of_mtable, }, .probe = cpsw_probe, --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/cpsw_priv.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/cpsw_priv.c @@ -639,13 +639,10 @@ break; case HWTSTAMP_FILTER_ALL: case HWTSTAMP_FILTER_NTP_ALL: - return -ERANGE; case HWTSTAMP_FILTER_PTP_V1_L4_EVENT: case HWTSTAMP_FILTER_PTP_V1_L4_SYNC: case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ: - priv->rx_ts_enabled = HWTSTAMP_FILTER_PTP_V1_L4_EVENT; - cfg.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT; - break; + return -ERANGE; case HWTSTAMP_FILTER_PTP_V2_L4_EVENT: case HWTSTAMP_FILTER_PTP_V2_L4_SYNC: case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ: --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/ti/cpts.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/ti/cpts.c @@ -613,6 +613,7 @@ ptp_clock_unregister(cpts->clock); cpts->clock = NULL; + cpts->phc_index = -1; cpts_write32(cpts, 0, int_enable); cpts_write32(cpts, 0, control); @@ -798,6 +799,7 @@ cpts->cc.read = cpts_systim_read; cpts->cc.mask = CLOCKSOURCE_MASK(32); cpts->info = cpts_info; + cpts->phc_index = -1; if (n_ext_ts) cpts->info.n_ext_ts = n_ext_ts; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/toshiba/spider_net.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/toshiba/spider_net.c @@ -283,8 +283,8 @@ descr = descr->next; } while (descr != chain->ring); - dma_free_coherent(&card->pdev->dev, chain->num_desc, - chain->hwring, chain->dma_addr); + dma_free_coherent(&card->pdev->dev, chain->num_desc * sizeof(struct spider_net_hw_descr), + chain->hwring, chain->dma_addr); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/xilinx/ll_temac_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/xilinx/ll_temac_main.c @@ -106,7 +106,7 @@ */ #define HARD_ACS_RDY_POLL_NS (20 * NSEC_PER_MSEC) -/** +/* * temac_indirect_busywait - Wait for current indirect register access * to complete. */ @@ -121,7 +121,7 @@ return 0; } -/** +/* * temac_indirect_in32 - Indirect register read access. This function * must be called without lp->indirect_lock being held. */ @@ -136,7 +136,7 @@ return val; } -/** +/* * temac_indirect_in32_locked - Indirect register read access. This * function must be called with lp->indirect_lock being held. Use * this together with spin_lock_irqsave/spin_lock_irqrestore to avoid @@ -164,7 +164,7 @@ return temac_ior(lp, XTE_LSW0_OFFSET); } -/** +/* * temac_indirect_out32 - Indirect register write access. This function * must be called without lp->indirect_lock being held. */ @@ -177,7 +177,7 @@ spin_unlock_irqrestore(lp->indirect_lock, flags); } -/** +/* * temac_indirect_out32_locked - Indirect register write access. This * function must be called with lp->indirect_lock being held. Use * this together with spin_lock_irqsave/spin_lock_irqrestore to avoid @@ -202,7 +202,7 @@ WARN_ON(temac_indirect_busywait(lp)); } -/** +/* * temac_dma_in32_* - Memory mapped DMA read, these function expects a * register input that is based on DCR word addresses which are then * converted to memory mapped byte addresses. To be assigned to @@ -218,7 +218,7 @@ return ioread32(lp->sdma_regs + (reg << 2)); } -/** +/* * temac_dma_out32_* - Memory mapped DMA read, these function expects * a register input that is based on DCR word addresses which are then * converted to memory mapped byte addresses. To be assigned to @@ -240,7 +240,7 @@ */ #ifdef CONFIG_PPC_DCR -/** +/* * temac_dma_dcr_in32 - DCR based DMA read */ static u32 temac_dma_dcr_in(struct temac_local *lp, int reg) @@ -248,7 +248,7 @@ return dcr_read(lp->sdma_dcrs, reg); } -/** +/* * temac_dma_dcr_out32 - DCR based DMA write */ static void temac_dma_dcr_out(struct temac_local *lp, int reg, u32 value) @@ -256,7 +256,7 @@ dcr_write(lp->sdma_dcrs, reg, value); } -/** +/* * temac_dcr_setup - If the DMA is DCR based, then setup the address and * I/O functions */ @@ -293,7 +293,7 @@ #endif -/** +/* * temac_dma_bd_release - Release buffer descriptor rings */ static void temac_dma_bd_release(struct net_device *ndev) @@ -323,7 +323,7 @@ lp->tx_bd_v, lp->tx_bd_p); } -/** +/* * temac_dma_bd_init - Setup buffer descriptor rings */ static int temac_dma_bd_init(struct net_device *ndev) @@ -593,7 +593,7 @@ {} }; -/** +/* * temac_setoptions */ static u32 temac_setoptions(struct net_device *ndev, u32 options) @@ -1351,7 +1351,6 @@ struct device_node *temac_np = dev_of_node(&pdev->dev), *dma_np; struct temac_local *lp; struct net_device *ndev; - struct resource *res; const void *addr; __be32 *p; bool little_endian; @@ -1407,10 +1406,8 @@ } /* map device registers */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - lp->regs = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!lp->regs) { + lp->regs = devm_platform_ioremap_resource_byname(pdev, 0); + if (IS_ERR(lp->regs)) { dev_err(&pdev->dev, "could not map TEMAC registers\n"); return -ENOMEM; } @@ -1502,13 +1499,11 @@ of_node_put(dma_np); } else if (pdata) { /* 2nd memory resource specifies DMA registers */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); - lp->sdma_regs = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!lp->sdma_regs) { + lp->sdma_regs = devm_platform_ioremap_resource(pdev, 1); + if (IS_ERR(lp->sdma_regs)) { dev_err(&pdev->dev, "could not map DMA registers\n"); - return -ENOMEM; + return PTR_ERR(lp->sdma_regs); } if (pdata->dma_little_endian) { lp->dma_in = temac_dma_in32_le; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1805,6 +1805,18 @@ lp->options = XAE_OPTION_DEFAULTS; lp->rx_bd_num = RX_BD_NUM_DEFAULT; lp->tx_bd_num = TX_BD_NUM_DEFAULT; + + lp->clk = devm_clk_get_optional(&pdev->dev, NULL); + if (IS_ERR(lp->clk)) { + ret = PTR_ERR(lp->clk); + goto free_netdev; + } + ret = clk_prepare_enable(lp->clk); + if (ret) { + dev_err(&pdev->dev, "Unable to enable clock: %d\n", ret); + goto free_netdev; + } + /* Map device registers */ ethres = platform_get_resource(pdev, IORESOURCE_MEM, 0); lp->regs = devm_ioremap_resource(&pdev->dev, ethres); @@ -1980,20 +1992,6 @@ lp->phy_node = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); if (lp->phy_node) { - lp->clk = devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(lp->clk)) { - dev_warn(&pdev->dev, "Failed to get clock: %ld\n", - PTR_ERR(lp->clk)); - lp->clk = NULL; - } else { - ret = clk_prepare_enable(lp->clk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable clock: %d\n", - ret); - goto free_netdev; - } - } - ret = axienet_mdio_setup(lp); if (ret) dev_warn(&pdev->dev, --- linux-riscv-5.8-5.8.0.orig/drivers/net/geneve.c +++ linux-riscv-5.8-5.8.0/drivers/net/geneve.c @@ -221,8 +221,7 @@ if (ip_tunnel_collect_metadata() || gs->collect_md) { __be16 flags; - flags = TUNNEL_KEY | TUNNEL_GENEVE_OPT | - (gnvh->oam ? TUNNEL_OAM : 0) | + flags = TUNNEL_KEY | (gnvh->oam ? TUNNEL_OAM : 0) | (gnvh->critical ? TUNNEL_CRIT_OPT : 0); tun_dst = udp_tun_rx_dst(skb, geneve_get_sk_family(gs), flags, @@ -773,7 +772,8 @@ struct net_device *dev, struct geneve_sock *gs4, struct flowi4 *fl4, - const struct ip_tunnel_info *info) + const struct ip_tunnel_info *info, + __be16 dport, __be16 sport) { bool use_cache = ip_tunnel_dst_cache_usable(skb, info); struct geneve_dev *geneve = netdev_priv(dev); @@ -789,6 +789,8 @@ fl4->flowi4_proto = IPPROTO_UDP; fl4->daddr = info->key.u.ipv4.dst; fl4->saddr = info->key.u.ipv4.src; + fl4->fl4_dport = dport; + fl4->fl4_sport = sport; tos = info->key.tos; if ((tos == 1) && !geneve->collect_md) { @@ -823,7 +825,8 @@ struct net_device *dev, struct geneve_sock *gs6, struct flowi6 *fl6, - const struct ip_tunnel_info *info) + const struct ip_tunnel_info *info, + __be16 dport, __be16 sport) { bool use_cache = ip_tunnel_dst_cache_usable(skb, info); struct geneve_dev *geneve = netdev_priv(dev); @@ -839,6 +842,9 @@ fl6->flowi6_proto = IPPROTO_UDP; fl6->daddr = info->key.u.ipv6.dst; fl6->saddr = info->key.u.ipv6.src; + fl6->fl6_dport = dport; + fl6->fl6_sport = sport; + prio = info->key.tos; if ((prio == 1) && !geneve->collect_md) { prio = ip_tunnel_get_dsfield(ip_hdr(skb), skb); @@ -885,14 +891,18 @@ __be16 sport; int err; - rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info); + if (!pskb_inet_may_pull(skb)) + return -EINVAL; + + sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); + rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info, + geneve->info.key.tp_dst, sport); if (IS_ERR(rt)) return PTR_ERR(rt); skb_tunnel_check_pmtu(skb, &rt->dst, GENEVE_IPV4_HLEN + info->options_len); - sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); if (geneve->collect_md) { tos = ip_tunnel_ecn_encap(key->tos, ip_hdr(skb), skb); ttl = key->ttl; @@ -947,13 +957,17 @@ __be16 sport; int err; - dst = geneve_get_v6_dst(skb, dev, gs6, &fl6, info); + if (!pskb_inet_may_pull(skb)) + return -EINVAL; + + sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); + dst = geneve_get_v6_dst(skb, dev, gs6, &fl6, info, + geneve->info.key.tp_dst, sport); if (IS_ERR(dst)) return PTR_ERR(dst); skb_tunnel_check_pmtu(skb, dst, GENEVE_IPV6_HLEN + info->options_len); - sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); if (geneve->collect_md) { prio = ip_tunnel_ecn_encap(key->tos, ip_hdr(skb), skb); ttl = key->ttl; @@ -1034,13 +1048,18 @@ { struct ip_tunnel_info *info = skb_tunnel_info(skb); struct geneve_dev *geneve = netdev_priv(dev); + __be16 sport; if (ip_tunnel_info_af(info) == AF_INET) { struct rtable *rt; struct flowi4 fl4; + struct geneve_sock *gs4 = rcu_dereference(geneve->sock4); + sport = udp_flow_src_port(geneve->net, skb, + 1, USHRT_MAX, true); - rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info); + rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info, + geneve->info.key.tp_dst, sport); if (IS_ERR(rt)) return PTR_ERR(rt); @@ -1050,9 +1069,13 @@ } else if (ip_tunnel_info_af(info) == AF_INET6) { struct dst_entry *dst; struct flowi6 fl6; + struct geneve_sock *gs6 = rcu_dereference(geneve->sock6); + sport = udp_flow_src_port(geneve->net, skb, + 1, USHRT_MAX, true); - dst = geneve_get_v6_dst(skb, dev, gs6, &fl6, info); + dst = geneve_get_v6_dst(skb, dev, gs6, &fl6, info, + geneve->info.key.tp_dst, sport); if (IS_ERR(dst)) return PTR_ERR(dst); @@ -1063,8 +1086,7 @@ return -EINVAL; } - info->key.tp_src = udp_flow_src_port(geneve->net, skb, - 1, USHRT_MAX, true); + info->key.tp_src = sport; info->key.tp_dst = geneve->info.key.tp_dst; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/gtp.c +++ linux-riscv-5.8-5.8.0/drivers/net/gtp.c @@ -663,10 +663,6 @@ gtp = netdev_priv(dev); - err = gtp_encap_enable(gtp, data); - if (err < 0) - return err; - if (!data[IFLA_GTP_PDP_HASHSIZE]) { hashsize = 1024; } else { @@ -677,12 +673,16 @@ err = gtp_hashtable_new(gtp, hashsize); if (err < 0) - goto out_encap; + return err; + + err = gtp_encap_enable(gtp, data); + if (err < 0) + goto out_hashtable; err = register_netdevice(dev); if (err < 0) { netdev_dbg(dev, "failed to register new netdev %d\n", err); - goto out_hashtable; + goto out_encap; } gn = net_generic(dev_net(dev), gtp_net_id); @@ -693,11 +693,11 @@ return 0; +out_encap: + gtp_encap_disable(gtp); out_hashtable: kfree(gtp->addr_hash); kfree(gtp->tid_hash); -out_encap: - gtp_encap_disable(gtp); return err; } @@ -1179,6 +1179,7 @@ goto nlmsg_failure; if (nla_put_u32(skb, GTPA_VERSION, pctx->gtp_version) || + nla_put_u32(skb, GTPA_LINK, pctx->dev->ifindex) || nla_put_be32(skb, GTPA_PEER_ADDRESS, pctx->peer_addr_ip4.s_addr) || nla_put_be32(skb, GTPA_MS_ADDRESS, pctx->ms_addr_ip4.s_addr)) goto nla_put_failure; --- linux-riscv-5.8-5.8.0.orig/drivers/net/hyperv/hyperv_net.h +++ linux-riscv-5.8-5.8.0/drivers/net/hyperv/hyperv_net.h @@ -973,6 +973,9 @@ /* Serial number of the VF to team with */ u32 vf_serial; + /* Is the current data path through the VF NIC? */ + bool data_path_is_vf; + /* Used to temporarily save the config info across hibernation */ struct netvsc_device_info *saved_netvsc_dev_info; }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/hyperv/netvsc.c +++ linux-riscv-5.8-5.8.0/drivers/net/hyperv/netvsc.c @@ -1175,8 +1175,11 @@ ret = rndis_filter_receive(ndev, net_device, nvchan, data, buflen); - if (unlikely(ret != NVSP_STAT_SUCCESS)) + if (unlikely(ret != NVSP_STAT_SUCCESS)) { + /* Drop incomplete packet */ + nvchan->rsc.cnt = 0; status = NVSP_STAT_FAIL; + } } enq_receive_complete(ndev, net_device, q_idx, --- linux-riscv-5.8-5.8.0.orig/drivers/net/hyperv/netvsc_drv.c +++ linux-riscv-5.8-5.8.0/drivers/net/hyperv/netvsc_drv.c @@ -367,7 +367,7 @@ } rcu_read_unlock(); - while (unlikely(txq >= ndev->real_num_tx_queues)) + while (txq >= ndev->real_num_tx_queues) txq -= ndev->real_num_tx_queues; return txq; @@ -502,7 +502,7 @@ int rc; skb->dev = vf_netdev; - skb->queue_mapping = qdisc_skb_cb(skb)->slave_dev_queue_mapping; + skb_record_rx_queue(skb, qdisc_skb_cb(skb)->slave_dev_queue_mapping); rc = dev_queue_xmit(skb); if (likely(rc == NET_XMIT_SUCCESS || rc == NET_XMIT_CN)) { @@ -532,12 +532,13 @@ u32 hash; struct hv_page_buffer pb[MAX_PAGE_BUFFER_COUNT]; - /* if VF is present and up then redirect packets - * already called with rcu_read_lock_bh + /* If VF is present and up then redirect packets to it. + * Skip the VF if it is marked down or has no carrier. + * If netpoll is in uses, then VF can not be used either. */ vf_netdev = rcu_dereference_bh(net_device_ctx->vf_netdev); if (vf_netdev && netif_running(vf_netdev) && - !netpoll_tx_running(net)) + netif_carrier_ok(vf_netdev) && !netpoll_tx_running(net)) return netvsc_vf_xmit(net, vf_netdev, skb); /* We will atmost need two pages to describe the rndis @@ -2322,7 +2323,16 @@ return NOTIFY_OK; } -/* VF up/down change detected, schedule to change data path */ +/* Change the data path when VF UP/DOWN/CHANGE are detected. + * + * Typically a UP or DOWN event is followed by a CHANGE event, so + * net_device_ctx->data_path_is_vf is used to cache the current data path + * to avoid the duplicate call of netvsc_switch_datapath() and the duplicate + * message. + * + * During hibernation, if a VF NIC driver (e.g. mlx5) preserves the network + * interface, there is only the CHANGE event and no UP or DOWN event. + */ static int netvsc_vf_changed(struct net_device *vf_netdev) { struct net_device_context *net_device_ctx; @@ -2339,6 +2349,10 @@ if (!netvsc_dev) return NOTIFY_DONE; + if (net_device_ctx->data_path_is_vf == vf_is_up) + return NOTIFY_OK; + net_device_ctx->data_path_is_vf = vf_is_up; + netvsc_switch_datapath(ndev, vf_is_up); netdev_info(ndev, "Data path switched %s VF: %s\n", vf_is_up ? "to" : "from", vf_netdev->name); @@ -2543,8 +2557,8 @@ static int netvsc_suspend(struct hv_device *dev) { struct net_device_context *ndev_ctx; - struct net_device *vf_netdev, *net; struct netvsc_device *nvdev; + struct net_device *net; int ret; net = hv_get_drvdata(dev); @@ -2560,10 +2574,6 @@ goto out; } - vf_netdev = rtnl_dereference(ndev_ctx->vf_netdev); - if (vf_netdev) - netvsc_unregister_vf(vf_netdev); - /* Save the current config info */ ndev_ctx->saved_netvsc_dev_info = netvsc_devinfo_get(nvdev); @@ -2584,6 +2594,12 @@ rtnl_lock(); net_device_ctx = netdev_priv(net); + + /* Reset the data path to the netvsc NIC before re-opening the vmbus + * channel. Later netvsc_netdev_event() will switch the data path to + * the VF upon the UP or CHANGE event. + */ + net_device_ctx->data_path_is_vf = false; device_info = net_device_ctx->saved_netvsc_dev_info; ret = netvsc_attach(net, device_info); @@ -2651,6 +2667,7 @@ return netvsc_unregister_vf(event_dev); case NETDEV_UP: case NETDEV_DOWN: + case NETDEV_CHANGE: return netvsc_vf_changed(event_dev); default: return NOTIFY_DONE; --- linux-riscv-5.8-5.8.0.orig/drivers/net/hyperv/rndis_filter.c +++ linux-riscv-5.8-5.8.0/drivers/net/hyperv/rndis_filter.c @@ -458,8 +458,6 @@ return ret; drop: - /* Drop incomplete packet */ - nvchan->rsc.cnt = 0; return NVSP_STAT_FAIL; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ieee802154/adf7242.c +++ linux-riscv-5.8-5.8.0/drivers/net/ieee802154/adf7242.c @@ -882,7 +882,9 @@ int ret; u8 lqi, len_u8, *data; - adf7242_read_reg(lp, 0, &len_u8); + ret = adf7242_read_reg(lp, 0, &len_u8); + if (ret) + return ret; len = len_u8; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ieee802154/atusb.c +++ linux-riscv-5.8-5.8.0/drivers/net/ieee802154/atusb.c @@ -365,6 +365,7 @@ return -ENOMEM; } usb_anchor_urb(urb, &atusb->idle_urbs); + usb_free_urb(urb); n--; } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ieee802154/ca8210.c +++ linux-riscv-5.8-5.8.0/drivers/net/ieee802154/ca8210.c @@ -2925,6 +2925,7 @@ ); if (!priv->irq_workqueue) { dev_crit(&priv->spi->dev, "alloc of irq_workqueue failed!\n"); + destroy_workqueue(priv->mlme_workqueue); return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/gsi.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/gsi.c @@ -1249,7 +1249,7 @@ /* Hardware requires a 2^n ring size, with alignment equal to size */ ring->virt = dma_alloc_coherent(dev, size, &addr, GFP_KERNEL); if (ring->virt && addr % size) { - dma_free_coherent(dev, size, ring->virt, ring->addr); + dma_free_coherent(dev, size, ring->virt, addr); dev_err(dev, "unable to alloc 0x%zx-aligned ring buffer\n", size); return -EINVAL; /* Not a good error value, but distinct */ @@ -1566,6 +1566,7 @@ if (!channel->gsi) continue; /* Ignore uninitialized channels */ + ret = -EINVAL; dev_err(gsi->dev, "channel %u not supported by hardware\n", channel_id - 1); channel_id = gsi->channel_count; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/gsi_reg.h +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/gsi_reg.h @@ -48,16 +48,6 @@ #define GSI_INTER_EE_N_SRC_EV_CH_IRQ_OFFSET(ee) \ (0x0000c01c + 0x1000 * (ee)) -#define GSI_INTER_EE_SRC_CH_IRQ_CLR_OFFSET \ - GSI_INTER_EE_N_SRC_CH_IRQ_CLR_OFFSET(GSI_EE_AP) -#define GSI_INTER_EE_N_SRC_CH_IRQ_CLR_OFFSET(ee) \ - (0x0000c028 + 0x1000 * (ee)) - -#define GSI_INTER_EE_SRC_EV_CH_IRQ_CLR_OFFSET \ - GSI_INTER_EE_N_SRC_EV_CH_IRQ_CLR_OFFSET(GSI_EE_AP) -#define GSI_INTER_EE_N_SRC_EV_CH_IRQ_CLR_OFFSET(ee) \ - (0x0000c02c + 0x1000 * (ee)) - #define GSI_CH_C_CNTXT_0_OFFSET(ch) \ GSI_EE_N_CH_C_CNTXT_0_OFFSET((ch), GSI_EE_AP) #define GSI_EE_N_CH_C_CNTXT_0_OFFSET(ch, ee) \ --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/gsi_trans.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/gsi_trans.c @@ -157,6 +157,9 @@ /* The allocator will give us a power-of-2 number of pages. But we * can't guarantee that, so request it. That way we won't waste any * memory that would be available beyond the required space. + * + * Note that gsi_trans_pool_exit_dma() assumes the total allocated + * size is exactly (count * size). */ total_size = get_order(total_size) << PAGE_SHIFT; @@ -176,7 +179,9 @@ void gsi_trans_pool_exit_dma(struct device *dev, struct gsi_trans_pool *pool) { - dma_free_coherent(dev, pool->size, pool->base, pool->addr); + size_t total_size = pool->count * pool->size; + + dma_free_coherent(dev, total_size, pool->base, pool->addr); memset(pool, 0, sizeof(*pool)); } @@ -363,22 +368,31 @@ return trans; } -/* Free a previously-allocated transaction (used only in case of error) */ +/* Free a previously-allocated transaction */ void gsi_trans_free(struct gsi_trans *trans) { + refcount_t *refcount = &trans->refcount; struct gsi_trans_info *trans_info; + bool last; - if (!refcount_dec_and_test(&trans->refcount)) + /* We must hold the lock to release the last reference */ + if (refcount_dec_not_one(refcount)) return; trans_info = &trans->gsi->channel[trans->channel_id].trans_info; spin_lock_bh(&trans_info->spinlock); - list_del(&trans->links); + /* Reference might have been added before we got the lock */ + last = refcount_dec_and_test(refcount); + if (last) + list_del(&trans->links); spin_unlock_bh(&trans_info->spinlock); + if (!last) + return; + ipa_gsi_trans_release(trans); /* Releasing the reserved TREs implicitly frees the sgl[] and @@ -398,15 +412,24 @@ /* assert(which < trans->tre_count); */ - /* Set the page information for the buffer. We also need to fill in - * the DMA address and length for the buffer (something dma_map_sg() - * normally does). + /* Commands are quite different from data transfer requests. + * Their payloads come from a pool whose memory is allocated + * using dma_alloc_coherent(). We therefore do *not* map them + * for DMA (unlike what we do for pages and skbs). + * + * When a transaction completes, the SGL is normally unmapped. + * A command transaction has direction DMA_NONE, which tells + * gsi_trans_complete() to skip the unmapping step. + * + * The only things we use directly in a command scatter/gather + * entry are the DMA address and length. We still need the SG + * table flags to be maintained though, so assign a NULL page + * pointer for that purpose. */ sg = &trans->sgl[which]; - - sg_set_buf(sg, buf, size); + sg_assign_page(sg, NULL); sg_dma_address(sg) = addr; - sg_dma_len(sg) = sg->length; + sg_dma_len(sg) = size; info = &trans->info[which]; info->opcode = opcode; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/ipa_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/ipa_cmd.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. - * Copyright (C) 2019-2020 Linaro Ltd. + * Copyright (C) 2019-2021 Linaro Ltd. */ #include @@ -175,21 +175,23 @@ : field_max(IP_FLTRT_FLAGS_NHASH_ADDR_FMASK); if (mem->offset > offset_max || ipa->mem_offset > offset_max - mem->offset) { - dev_err(dev, "IPv%c %s%s table region offset too large " - "(0x%04x + 0x%04x > 0x%04x)\n", - ipv6 ? '6' : '4', hashed ? "hashed " : "", - route ? "route" : "filter", - ipa->mem_offset, mem->offset, offset_max); + dev_err(dev, "IPv%c %s%s table region offset too large\n", + ipv6 ? '6' : '4', hashed ? "hashed " : "", + route ? "route" : "filter"); + dev_err(dev, " (0x%04x + 0x%04x > 0x%04x)\n", + ipa->mem_offset, mem->offset, offset_max); + return false; } if (mem->offset > ipa->mem_size || mem->size > ipa->mem_size - mem->offset) { - dev_err(dev, "IPv%c %s%s table region out of range " - "(0x%04x + 0x%04x > 0x%04x)\n", - ipv6 ? '6' : '4', hashed ? "hashed " : "", - route ? "route" : "filter", - mem->offset, mem->size, ipa->mem_size); + dev_err(dev, "IPv%c %s%s table region out of range\n", + ipv6 ? '6' : '4', hashed ? "hashed " : "", + route ? "route" : "filter"); + dev_err(dev, " (0x%04x + 0x%04x > 0x%04x)\n", + mem->offset, mem->size, ipa->mem_size); + return false; } @@ -205,22 +207,36 @@ u32 size_max; u32 size; + /* In ipa_cmd_hdr_init_local_add() we record the offset and size + * of the header table memory area. Make sure the offset and size + * fit in the fields that need to hold them, and that the entire + * range is within the overall IPA memory range. + */ offset_max = field_max(HDR_INIT_LOCAL_FLAGS_HDR_ADDR_FMASK); if (mem->offset > offset_max || ipa->mem_offset > offset_max - mem->offset) { - dev_err(dev, "header table region offset too large " - "(0x%04x + 0x%04x > 0x%04x)\n", - ipa->mem_offset + mem->offset, offset_max); + dev_err(dev, "header table region offset too large\n"); + dev_err(dev, " (0x%04x + 0x%04x > 0x%04x)\n", + ipa->mem_offset, mem->offset, offset_max); + return false; } size_max = field_max(HDR_INIT_LOCAL_FLAGS_TABLE_SIZE_FMASK); size = ipa->mem[IPA_MEM_MODEM_HEADER].size; size += ipa->mem[IPA_MEM_AP_HEADER].size; - if (mem->offset > ipa->mem_size || size > ipa->mem_size - mem->offset) { - dev_err(dev, "header table region out of range " - "(0x%04x + 0x%04x > 0x%04x)\n", - mem->offset, size, ipa->mem_size); + + if (size > size_max) { + dev_err(dev, "header table region size too large\n"); + dev_err(dev, " (0x%04x > 0x%08x)\n", size, size_max); + + return false; + } + if (size > ipa->mem_size || mem->offset > ipa->mem_size - size) { + dev_err(dev, "header table region out of range\n"); + dev_err(dev, " (0x%04x + 0x%04x > 0x%04x)\n", + mem->offset, size, ipa->mem_size); + return false; } @@ -244,11 +260,15 @@ if (ipa->version != IPA_VERSION_3_5_1) bit_count += hweight32(REGISTER_WRITE_FLAGS_OFFSET_HIGH_FMASK); BUILD_BUG_ON(bit_count > 32); - offset_max = ~0 >> (32 - bit_count); + offset_max = ~0U >> (32 - bit_count); + /* Make sure the offset can be represented by the field(s) + * that holds it. Also make sure the offset is not outside + * the overall IPA memory range. + */ if (offset > offset_max || ipa->mem_offset > offset_max - offset) { dev_err(dev, "%s offset too large 0x%04x + 0x%04x > 0x%04x)\n", - ipa->mem_offset + offset, offset_max); + name, ipa->mem_offset, offset, offset_max); return false; } @@ -261,12 +281,24 @@ const char *name; u32 offset; - offset = ipa_reg_filt_rout_hash_flush_offset(ipa->version); - name = "filter/route hash flush"; - if (!ipa_cmd_register_write_offset_valid(ipa, name, offset)) - return false; + /* If hashed tables are supported, ensure the hash flush register + * offset will fit in a register write IPA immediate command. + */ + if (ipa->version != IPA_VERSION_4_2) { + offset = ipa_reg_filt_rout_hash_flush_offset(ipa->version); + name = "filter/route hash flush"; + if (!ipa_cmd_register_write_offset_valid(ipa, name, offset)) + return false; + } - offset = IPA_REG_ENDP_STATUS_N_OFFSET(IPA_ENDPOINT_COUNT); + /* Each endpoint can have a status endpoint associated with it, + * and this is recorded in an endpoint register. If the modem + * crashes, we reset the status endpoint for all modem endpoints + * using a register write IPA immediate command. Make sure the + * worst case (highest endpoint number) offset of that endpoint + * fits in the register write command field(s) that must hold it. + */ + offset = IPA_REG_ENDP_STATUS_N_OFFSET(IPA_ENDPOINT_COUNT - 1); name = "maximal endpoint status"; if (!ipa_cmd_register_write_offset_valid(ipa, name, offset)) return false; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/ipa_endpoint.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/ipa_endpoint.c @@ -1447,6 +1447,9 @@ void ipa_endpoint_suspend(struct ipa *ipa) { + if (!ipa->setup_complete) + return; + if (ipa->modem_netdev) ipa_modem_suspend(ipa->modem_netdev); @@ -1458,6 +1461,9 @@ void ipa_endpoint_resume(struct ipa *ipa) { + if (!ipa->setup_complete) + return; + ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]); ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]); --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/ipa_modem.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/ipa_modem.c @@ -216,6 +216,7 @@ ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]->netdev = netdev; ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX]->netdev = netdev; + SET_NETDEV_DEV(netdev, &ipa->pdev->dev); priv = netdev_priv(netdev); priv->ipa = ipa; --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/ipa_qmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/ipa_qmi.c @@ -249,6 +249,7 @@ .decoded_size = IPA_QMI_DRIVER_INIT_COMPLETE_REQ_SZ, .fn = ipa_server_driver_init_complete, }, + { }, }; /* Handle an INIT_DRIVER response message from the modem. */ @@ -269,6 +270,7 @@ .decoded_size = IPA_QMI_INIT_DRIVER_RSP_SZ, .fn = ipa_client_init_driver, }, + { }, }; /* Return a pointer to an init modem driver request structure, which contains --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipa/ipa_table.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipa/ipa_table.c @@ -521,7 +521,7 @@ val = ioread32(endpoint->ipa->reg_virt + offset); /* Zero all filter-related fields, preserving the rest */ - u32_replace_bits(val, 0, IPA_REG_ENDP_FILTER_HASH_MSK_ALL); + u32p_replace_bits(&val, 0, IPA_REG_ENDP_FILTER_HASH_MSK_ALL); iowrite32(val, endpoint->ipa->reg_virt + offset); } @@ -572,7 +572,7 @@ val = ioread32(ipa->reg_virt + offset); /* Zero all route-related fields, preserving the rest */ - u32_replace_bits(val, 0, IPA_REG_ENDP_ROUTER_HASH_MSK_ALL); + u32p_replace_bits(&val, 0, IPA_REG_ENDP_ROUTER_HASH_MSK_ALL); iowrite32(val, ipa->reg_virt + offset); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/ipvlan/ipvlan_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/ipvlan/ipvlan_main.c @@ -106,12 +106,21 @@ kfree(port); } +#define IPVLAN_ALWAYS_ON_OFLOADS \ + (NETIF_F_SG | NETIF_F_HW_CSUM | \ + NETIF_F_GSO_ROBUST | NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ENCAP_ALL) + +#define IPVLAN_ALWAYS_ON \ + (IPVLAN_ALWAYS_ON_OFLOADS | NETIF_F_LLTX | NETIF_F_VLAN_CHALLENGED) + #define IPVLAN_FEATURES \ - (NETIF_F_SG | NETIF_F_CSUM_MASK | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \ + (NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \ NETIF_F_GSO | NETIF_F_ALL_TSO | NETIF_F_GSO_ROBUST | \ NETIF_F_GRO | NETIF_F_RXCSUM | \ NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_VLAN_STAG_FILTER) + /* NETIF_F_GSO_ENCAP_ALL NETIF_F_GSO_SOFTWARE Newly added */ + #define IPVLAN_STATE_MASK \ ((1<<__LINK_STATE_NOCARRIER) | (1<<__LINK_STATE_DORMANT)) @@ -125,7 +134,9 @@ dev->state = (dev->state & ~IPVLAN_STATE_MASK) | (phy_dev->state & IPVLAN_STATE_MASK); dev->features = phy_dev->features & IPVLAN_FEATURES; - dev->features |= NETIF_F_LLTX | NETIF_F_VLAN_CHALLENGED; + dev->features |= IPVLAN_ALWAYS_ON; + dev->vlan_features = phy_dev->vlan_features & IPVLAN_FEATURES; + dev->vlan_features |= IPVLAN_ALWAYS_ON_OFLOADS; dev->hw_enc_features |= dev->features; dev->gso_max_size = phy_dev->gso_max_size; dev->gso_max_segs = phy_dev->gso_max_segs; @@ -227,7 +238,14 @@ { struct ipvl_dev *ipvlan = netdev_priv(dev); - return features & (ipvlan->sfeatures | ~IPVLAN_FEATURES); + features |= NETIF_F_ALL_FOR_ALL; + features &= (ipvlan->sfeatures | ~IPVLAN_FEATURES); + features = netdev_increment_features(ipvlan->phy_dev->features, + features, features); + features |= IPVLAN_ALWAYS_ON; + features &= (IPVLAN_FEATURES | IPVLAN_ALWAYS_ON); + + return features; } static void ipvlan_change_rx_flags(struct net_device *dev, int change) @@ -734,10 +752,9 @@ case NETDEV_FEAT_CHANGE: list_for_each_entry(ipvlan, &port->ipvlans, pnode) { - ipvlan->dev->features = dev->features & IPVLAN_FEATURES; ipvlan->dev->gso_max_size = dev->gso_max_size; ipvlan->dev->gso_max_segs = dev->gso_max_segs; - netdev_features_change(ipvlan->dev); + netdev_update_features(ipvlan->dev); } break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/macsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/macsec.c @@ -1077,6 +1077,7 @@ struct macsec_rx_sa *rx_sa; struct macsec_rxh_data *rxd; struct macsec_dev *macsec; + unsigned int len; sci_t sci; u32 hdr_pn; bool cbit; @@ -1232,9 +1233,10 @@ macsec_rxsc_put(rx_sc); skb_orphan(skb); + len = skb->len; ret = gro_cells_receive(&macsec->gro_cells, skb); if (ret == NET_RX_SUCCESS) - count_rx(dev, skb->len); + count_rx(dev, len); else macsec->secy.netdev->stats.rx_dropped++; --- linux-riscv-5.8-5.8.0.orig/drivers/net/macvlan.c +++ linux-riscv-5.8-5.8.0/drivers/net/macvlan.c @@ -1269,6 +1269,9 @@ static int macvlan_validate(struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) { + struct nlattr *nla, *head; + int rem, len; + if (tb[IFLA_ADDRESS]) { if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN) return -EINVAL; @@ -1316,6 +1319,20 @@ return -EADDRNOTAVAIL; } + if (data[IFLA_MACVLAN_MACADDR_DATA]) { + head = nla_data(data[IFLA_MACVLAN_MACADDR_DATA]); + len = nla_len(data[IFLA_MACVLAN_MACADDR_DATA]); + + nla_for_each_attr(nla, head, len, rem) { + if (nla_type(nla) != IFLA_MACVLAN_MACADDR || + nla_len(nla) != ETH_ALEN) + return -EINVAL; + + if (!is_valid_ether_addr(nla_data(nla))) + return -EADDRNOTAVAIL; + } + } + if (data[IFLA_MACVLAN_MACADDR_COUNT]) return -EINVAL; @@ -1372,10 +1389,6 @@ len = nla_len(data[IFLA_MACVLAN_MACADDR_DATA]); nla_for_each_attr(nla, head, len, rem) { - if (nla_type(nla) != IFLA_MACVLAN_MACADDR || - nla_len(nla) != ETH_ALEN) - continue; - addr = nla_data(nla); ret = macvlan_hash_add_source(vlan, addr); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/net/netdevsim/dev.c +++ linux-riscv-5.8-5.8.0/drivers/net/netdevsim/dev.c @@ -94,6 +94,7 @@ .open = simple_open, .write = nsim_dev_take_snapshot_write, .llseek = generic_file_llseek, + .owner = THIS_MODULE, }; static ssize_t nsim_dev_trap_fa_cookie_read(struct file *file, @@ -186,6 +187,7 @@ .read = nsim_dev_trap_fa_cookie_read, .write = nsim_dev_trap_fa_cookie_write, .llseek = generic_file_llseek, + .owner = THIS_MODULE, }; static int nsim_dev_debugfs_init(struct nsim_dev *nsim_dev) @@ -985,23 +987,25 @@ mutex_init(&nsim_dev->port_list_lock); nsim_dev->fw_update_status = true; - nsim_dev->fib_data = nsim_fib_create(devlink, extack); - if (IS_ERR(nsim_dev->fib_data)) - return PTR_ERR(nsim_dev->fib_data); - nsim_devlink_param_load_driverinit_values(devlink); err = nsim_dev_dummy_region_init(nsim_dev, devlink); if (err) - goto err_fib_destroy; + return err; err = nsim_dev_traps_init(devlink); if (err) goto err_dummy_region_exit; + nsim_dev->fib_data = nsim_fib_create(devlink, extack); + if (IS_ERR(nsim_dev->fib_data)) { + err = PTR_ERR(nsim_dev->fib_data); + goto err_traps_exit; + } + err = nsim_dev_health_init(nsim_dev, devlink); if (err) - goto err_traps_exit; + goto err_fib_destroy; err = nsim_dev_port_add_all(nsim_dev, nsim_bus_dev->port_count); if (err) @@ -1016,12 +1020,12 @@ err_health_exit: nsim_dev_health_exit(nsim_dev); +err_fib_destroy: + nsim_fib_destroy(devlink, nsim_dev->fib_data); err_traps_exit: nsim_dev_traps_exit(devlink); err_dummy_region_exit: nsim_dev_dummy_region_exit(nsim_dev); -err_fib_destroy: - nsim_fib_destroy(devlink, nsim_dev->fib_data); return err; } @@ -1052,15 +1056,9 @@ if (err) goto err_devlink_free; - nsim_dev->fib_data = nsim_fib_create(devlink, NULL); - if (IS_ERR(nsim_dev->fib_data)) { - err = PTR_ERR(nsim_dev->fib_data); - goto err_resources_unregister; - } - err = devlink_register(devlink, &nsim_bus_dev->dev); if (err) - goto err_fib_destroy; + goto err_resources_unregister; err = devlink_params_register(devlink, nsim_devlink_params, ARRAY_SIZE(nsim_devlink_params)); @@ -1080,9 +1078,15 @@ if (err) goto err_traps_exit; + nsim_dev->fib_data = nsim_fib_create(devlink, NULL); + if (IS_ERR(nsim_dev->fib_data)) { + err = PTR_ERR(nsim_dev->fib_data); + goto err_debugfs_exit; + } + err = nsim_dev_health_init(nsim_dev, devlink); if (err) - goto err_debugfs_exit; + goto err_fib_destroy; err = nsim_bpf_dev_init(nsim_dev); if (err) @@ -1100,6 +1104,8 @@ nsim_bpf_dev_exit(nsim_dev); err_health_exit: nsim_dev_health_exit(nsim_dev); +err_fib_destroy: + nsim_fib_destroy(devlink, nsim_dev->fib_data); err_debugfs_exit: nsim_dev_debugfs_exit(nsim_dev); err_traps_exit: @@ -1111,8 +1117,6 @@ ARRAY_SIZE(nsim_devlink_params)); err_dl_unregister: devlink_unregister(devlink); -err_fib_destroy: - nsim_fib_destroy(devlink, nsim_dev->fib_data); err_resources_unregister: devlink_resources_unregister(devlink, NULL); err_devlink_free: @@ -1129,10 +1133,10 @@ debugfs_remove(nsim_dev->take_snapshot); nsim_dev_port_del_all(nsim_dev); nsim_dev_health_exit(nsim_dev); + nsim_fib_destroy(devlink, nsim_dev->fib_data); nsim_dev_traps_exit(devlink); nsim_dev_dummy_region_exit(nsim_dev); mutex_destroy(&nsim_dev->port_list_lock); - nsim_fib_destroy(devlink, nsim_dev->fib_data); } void nsim_dev_remove(struct nsim_bus_dev *nsim_bus_dev) --- linux-riscv-5.8-5.8.0.orig/drivers/net/netdevsim/health.c +++ linux-riscv-5.8-5.8.0/drivers/net/netdevsim/health.c @@ -261,6 +261,7 @@ .open = simple_open, .write = nsim_dev_health_break_write, .llseek = generic_file_llseek, + .owner = THIS_MODULE, }; int nsim_dev_health_init(struct nsim_dev *nsim_dev, struct devlink *devlink) --- linux-riscv-5.8-5.8.0.orig/drivers/net/netdevsim/netdev.c +++ linux-riscv-5.8-5.8.0/drivers/net/netdevsim/netdev.c @@ -293,6 +293,7 @@ dev_net_set(dev, nsim_dev_net(nsim_dev)); ns = netdev_priv(dev); ns->netdev = dev; + u64_stats_init(&ns->syncp); ns->nsim_dev = nsim_dev; ns->nsim_dev_port = nsim_dev_port; ns->nsim_bus_dev = nsim_dev->nsim_bus_dev; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/phy/Kconfig @@ -217,6 +217,7 @@ depends on 64BIT depends on PCI select MDIO_CAVIUM + select MDIO_DEVRES help This driver supports the MDIO interfaces found on Cavium ThunderX SoCs when the MDIO bus device appears as a PCI --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/bcm-phy-lib.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/bcm-phy-lib.c @@ -328,7 +328,7 @@ int bcm_phy_set_eee(struct phy_device *phydev, bool enable) { - int val; + int val, mask = 0; /* Enable EEE at PHY level */ val = phy_read_mmd(phydev, MDIO_MMD_AN, BRCM_CL45VEN_EEE_CONTROL); @@ -347,10 +347,17 @@ if (val < 0) return val; + if (linkmode_test_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT, + phydev->supported)) + mask |= MDIO_EEE_1000T; + if (linkmode_test_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, + phydev->supported)) + mask |= MDIO_EEE_100TX; + if (enable) - val |= (MDIO_EEE_100TX | MDIO_EEE_1000T); + val |= mask; else - val &= ~(MDIO_EEE_100TX | MDIO_EEE_1000T); + val &= ~mask; phy_write_mmd(phydev, MDIO_MMD_AN, BCM_CL45VEN_EEE_ADV, (u32)val); --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/broadcom.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/broadcom.c @@ -26,7 +26,46 @@ MODULE_AUTHOR("Maciej W. Rozycki"); MODULE_LICENSE("GPL"); -static int bcm54xx_config_clock_delay(struct phy_device *phydev); +static int bcm54xx_config_clock_delay(struct phy_device *phydev) +{ + int rc, val; + + /* handling PHY's internal RX clock delay */ + val = bcm54xx_auxctl_read(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC); + val |= MII_BCM54XX_AUXCTL_MISC_WREN; + if (phydev->interface == PHY_INTERFACE_MODE_RGMII || + phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { + /* Disable RGMII RXC-RXD skew */ + val &= ~MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN; + } + if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || + phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { + /* Enable RGMII RXC-RXD skew */ + val |= MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN; + } + rc = bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC, + val); + if (rc < 0) + return rc; + + /* handling PHY's internal TX clock delay */ + val = bcm_phy_read_shadow(phydev, BCM54810_SHD_CLK_CTL); + if (phydev->interface == PHY_INTERFACE_MODE_RGMII || + phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { + /* Disable internal TX clock delay */ + val &= ~BCM54810_SHD_CLK_CTL_GTXCLK_EN; + } + if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || + phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { + /* Enable internal TX clock delay */ + val |= BCM54810_SHD_CLK_CTL_GTXCLK_EN; + } + rc = bcm_phy_write_shadow(phydev, BCM54810_SHD_CLK_CTL, val); + if (rc < 0) + return rc; + + return 0; +} static int bcm54210e_config_init(struct phy_device *phydev) { @@ -64,45 +103,62 @@ return 0; } -static int bcm54xx_config_clock_delay(struct phy_device *phydev) +static int bcm54616s_config_init(struct phy_device *phydev) { int rc, val; - /* handling PHY's internal RX clock delay */ + if (phydev->interface != PHY_INTERFACE_MODE_SGMII && + phydev->interface != PHY_INTERFACE_MODE_1000BASEX) + return 0; + + /* Ensure proper interface mode is selected. */ + /* Disable RGMII mode */ val = bcm54xx_auxctl_read(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC); + if (val < 0) + return val; + val &= ~MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_EN; val |= MII_BCM54XX_AUXCTL_MISC_WREN; - if (phydev->interface == PHY_INTERFACE_MODE_RGMII || - phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { - /* Disable RGMII RXC-RXD skew */ - val &= ~MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN; - } - if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || - phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { - /* Enable RGMII RXC-RXD skew */ - val |= MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN; - } rc = bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC, val); if (rc < 0) return rc; - /* handling PHY's internal TX clock delay */ - val = bcm_phy_read_shadow(phydev, BCM54810_SHD_CLK_CTL); - if (phydev->interface == PHY_INTERFACE_MODE_RGMII || - phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { - /* Disable internal TX clock delay */ - val &= ~BCM54810_SHD_CLK_CTL_GTXCLK_EN; - } - if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || - phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { - /* Enable internal TX clock delay */ - val |= BCM54810_SHD_CLK_CTL_GTXCLK_EN; - } - rc = bcm_phy_write_shadow(phydev, BCM54810_SHD_CLK_CTL, val); + /* Select 1000BASE-X register set (primary SerDes) */ + val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_MODE); + if (val < 0) + return val; + val |= BCM54XX_SHD_MODE_1000BX; + rc = bcm_phy_write_shadow(phydev, BCM54XX_SHD_MODE, val); if (rc < 0) return rc; - return 0; + /* Power down SerDes interface */ + rc = phy_set_bits(phydev, MII_BMCR, BMCR_PDOWN); + if (rc < 0) + return rc; + + /* Select proper interface mode */ + val &= ~BCM54XX_SHD_INTF_SEL_MASK; + val |= phydev->interface == PHY_INTERFACE_MODE_SGMII ? + BCM54XX_SHD_INTF_SEL_SGMII : + BCM54XX_SHD_INTF_SEL_GBIC; + rc = bcm_phy_write_shadow(phydev, BCM54XX_SHD_MODE, val); + if (rc < 0) + return rc; + + /* Power up SerDes interface */ + rc = phy_clear_bits(phydev, MII_BMCR, BMCR_PDOWN); + if (rc < 0) + return rc; + + /* Select copper register set */ + val &= ~BCM54XX_SHD_MODE_1000BX; + rc = bcm_phy_write_shadow(phydev, BCM54XX_SHD_MODE, val); + if (rc < 0) + return rc; + + /* Power up copper interface */ + return phy_clear_bits(phydev, MII_BMCR, BMCR_PDOWN); } /* Needs SMDSP clock enabled via bcm54xx_phydsp_config() */ @@ -283,15 +339,21 @@ bcm54xx_adjust_rxrefclk(phydev); - if (BRCM_PHY_MODEL(phydev) == PHY_ID_BCM54210E) { + switch (BRCM_PHY_MODEL(phydev)) { + case PHY_ID_BCM50610: + case PHY_ID_BCM50610M: + err = bcm54xx_config_clock_delay(phydev); + break; + case PHY_ID_BCM54210E: err = bcm54210e_config_init(phydev); - if (err) - return err; - } else if (BRCM_PHY_MODEL(phydev) == PHY_ID_BCM54612E) { + break; + case PHY_ID_BCM54612E: err = bcm54612e_config_init(phydev); - if (err) - return err; - } else if (BRCM_PHY_MODEL(phydev) == PHY_ID_BCM54810) { + break; + case PHY_ID_BCM54616S: + err = bcm54616s_config_init(phydev); + break; + case PHY_ID_BCM54810: /* For BCM54810, we need to disable BroadR-Reach function */ val = bcm_phy_read_exp(phydev, BCM54810_EXP_BROADREACH_LRE_MISC_CTL); @@ -299,9 +361,10 @@ err = bcm_phy_write_exp(phydev, BCM54810_EXP_BROADREACH_LRE_MISC_CTL, val); - if (err < 0) - return err; + break; } + if (err) + return err; bcm54xx_phydsp_config(phydev); @@ -332,6 +395,11 @@ if (ret < 0) return ret; + /* Upon exiting power down, the PHY remains in an internal reset state + * for 40us + */ + fsleep(40); + return bcm54xx_config_init(phydev); } @@ -475,7 +543,7 @@ static int bcm54616s_probe(struct phy_device *phydev) { - int val, intf_sel; + int val; val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_MODE); if (val < 0) @@ -487,8 +555,7 @@ * RGMII-1000Base-X is properly supported, but RGMII-100Base-FX * support is still missing as of now. */ - intf_sel = (val & BCM54XX_SHD_INTF_SEL_MASK) >> 1; - if (intf_sel == 1) { + if ((val & BCM54XX_SHD_INTF_SEL_MASK) == BCM54XX_SHD_INTF_SEL_RGMII) { val = bcm_phy_read_shadow(phydev, BCM54616S_SHD_100FX_CTRL); if (val < 0) return val; @@ -500,6 +567,8 @@ */ if (!(val & BCM54616S_100FX_MODE)) phydev->dev_flags |= PHY_BCM_FLAGS_MODE_1000BX; + + phydev->port = PORT_FIBRE; } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/dp83867.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/dp83867.c @@ -215,9 +215,9 @@ if (wol->wolopts & WAKE_MAGICSECURE) { phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RXFSOP1, (wol->sopass[1] << 8) | wol->sopass[0]); - phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RXFSOP1, + phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RXFSOP2, (wol->sopass[3] << 8) | wol->sopass[2]); - phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RXFSOP1, + phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_RXFSOP3, (wol->sopass[5] << 8) | wol->sopass[4]); val_rxcfg |= DP83867_WOL_SEC_EN; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/dp83869.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/dp83869.c @@ -416,6 +416,10 @@ if (ret) return ret; + if (dp83869->mode == DP83869_RGMII_100_BASE || + dp83869->mode == DP83869_RGMII_1000_BASE) + phydev->port = PORT_FIBRE; + return dp83869_config_init(phydev); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/lxt.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/lxt.c @@ -218,6 +218,7 @@ phy_write(phydev, MII_BMCR, val); /* Remember that the port is in fiber mode. */ phydev->priv = lxt973_probe; + phydev->port = PORT_FIBRE; } else { phydev->priv = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/marvell.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/marvell.c @@ -1449,6 +1449,7 @@ phydev->asym_pause = 0; phydev->speed = SPEED_UNKNOWN; phydev->duplex = DUPLEX_UNKNOWN; + phydev->port = fiber ? PORT_FIBRE : PORT_TP; if (phydev->autoneg == AUTONEG_ENABLE) err = marvell_read_status_page_an(phydev, fiber, status); @@ -2918,9 +2919,35 @@ .get_stats = marvell_get_stats, }, { - .phy_id = MARVELL_PHY_ID_88E6390, + .phy_id = MARVELL_PHY_ID_88E6341_FAMILY, .phy_id_mask = MARVELL_PHY_ID_MASK, - .name = "Marvell 88E6390", + .name = "Marvell 88E6341 Family", + /* PHY_GBIT_FEATURES */ + .flags = PHY_POLL_CABLE_TEST, + .probe = m88e1510_probe, + .config_init = marvell_config_init, + .config_aneg = m88e6390_config_aneg, + .read_status = marvell_read_status, + .ack_interrupt = marvell_ack_interrupt, + .config_intr = marvell_config_intr, + .did_interrupt = m88e1121_did_interrupt, + .resume = genphy_resume, + .suspend = genphy_suspend, + .read_page = marvell_read_page, + .write_page = marvell_write_page, + .get_sset_count = marvell_get_sset_count, + .get_strings = marvell_get_strings, + .get_stats = marvell_get_stats, + .get_tunable = m88e1540_get_tunable, + .set_tunable = m88e1540_set_tunable, + .cable_test_start = marvell_vct7_cable_test_start, + .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start, + .cable_test_get_status = marvell_vct7_cable_test_get_status, + }, + { + .phy_id = MARVELL_PHY_ID_88E6390_FAMILY, + .phy_id_mask = MARVELL_PHY_ID_MASK, + .name = "Marvell 88E6390 Family", /* PHY_GBIT_FEATURES */ .flags = PHY_POLL_CABLE_TEST, .probe = m88e6390_probe, @@ -2962,7 +2989,8 @@ { MARVELL_PHY_ID_88E1540, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1545, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E3016, MARVELL_PHY_ID_MASK }, - { MARVELL_PHY_ID_88E6390, MARVELL_PHY_ID_MASK }, + { MARVELL_PHY_ID_88E6341_FAMILY, MARVELL_PHY_ID_MASK }, + { MARVELL_PHY_ID_88E6390_FAMILY, MARVELL_PHY_ID_MASK }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/marvell10g.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/marvell10g.c @@ -205,13 +205,6 @@ MV_V2_TEMP_CTRL_MASK, val); } -static void mv3310_hwmon_disable(void *data) -{ - struct phy_device *phydev = data; - - mv3310_hwmon_config(phydev, false); -} - static int mv3310_hwmon_probe(struct phy_device *phydev) { struct device *dev = &phydev->mdio.dev; @@ -235,10 +228,6 @@ if (ret) return ret; - ret = devm_add_action_or_reset(dev, mv3310_hwmon_disable, phydev); - if (ret) - return ret; - priv->hwmon_dev = devm_hwmon_device_register_with_info(dev, priv->hwmon_name, phydev, &mv3310_hwmon_chip_info, NULL); @@ -423,6 +412,11 @@ return phy_sfp_probe(phydev, &mv3310_sfp_ops); } +static void mv3310_remove(struct phy_device *phydev) +{ + mv3310_hwmon_config(phydev, false); +} + static int mv3310_suspend(struct phy_device *phydev) { return mv3310_power_down(phydev); @@ -615,6 +609,7 @@ phydev->link = 1; phydev->speed = SPEED_10000; phydev->duplex = DUPLEX_FULL; + phydev->port = PORT_FIBRE; return 0; } @@ -674,6 +669,7 @@ phydev->duplex = cssr1 & MV_PCS_CSSR1_DUPLEX_FULL ? DUPLEX_FULL : DUPLEX_HALF; + phydev->port = PORT_TP; phydev->mdix = cssr1 & MV_PCS_CSSR1_MDIX ? ETH_TP_MDI_X : ETH_TP_MDI; @@ -762,6 +758,7 @@ .read_status = mv3310_read_status, .get_tunable = mv3310_get_tunable, .set_tunable = mv3310_set_tunable, + .remove = mv3310_remove, }, { .phy_id = MARVELL_PHY_ID_88E2110, @@ -776,6 +773,7 @@ .read_status = mv3310_read_status, .get_tunable = mv3310_get_tunable, .set_tunable = mv3310_set_tunable, + .remove = mv3310_remove, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/micrel.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/micrel.c @@ -308,14 +308,19 @@ return kszphy_config_reset(phydev); } +static int ksz8041_fiber_mode(struct phy_device *phydev) +{ + struct device_node *of_node = phydev->mdio.dev.of_node; + + return of_property_read_bool(of_node, "micrel,fiber-mode"); +} + static int ksz8041_config_init(struct phy_device *phydev) { __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; - struct device_node *of_node = phydev->mdio.dev.of_node; - /* Limit supported and advertised modes in fiber mode */ - if (of_property_read_bool(of_node, "micrel,fiber-mode")) { + if (ksz8041_fiber_mode(phydev)) { phydev->dev_flags |= MICREL_PHY_FXEN; linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, mask); linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Half_BIT, mask); @@ -1143,6 +1148,9 @@ } } + if (ksz8041_fiber_mode(phydev)) + phydev->port = PORT_FIBRE; + /* Support legacy board-file configuration */ if (phydev->dev_flags & MICREL_PHY_50MHZ_CLK) { priv->rmii_ref_clk_sel = true; @@ -1263,6 +1271,7 @@ .probe = kszphy_probe, .config_init = ksz8081_config_init, .ack_interrupt = kszphy_ack_interrupt, + .soft_reset = genphy_soft_reset, .config_intr = kszphy_config_intr, .get_sset_count = kszphy_get_sset_count, .get_strings = kszphy_get_strings, --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/mscc/mscc.h +++ linux-riscv-5.8-5.8.0/drivers/net/phy/mscc/mscc.h @@ -102,6 +102,7 @@ #define PHY_MCB_S6G_READ BIT(30) #define PHY_S6G_PLL5G_CFG0 0x06 +#define PHY_S6G_PLL5G_CFG2 0x08 #define PHY_S6G_LCPLL_CFG 0x11 #define PHY_S6G_PLL_CFG 0x2b #define PHY_S6G_COMMON_CFG 0x2c @@ -121,6 +122,9 @@ #define PHY_S6G_PLL_FSM_CTRL_DATA_POS 8 #define PHY_S6G_PLL_FSM_ENA_POS 7 +#define PHY_S6G_CFG2_FSM_DIS 1 +#define PHY_S6G_CFG2_FSM_CLK_BP 23 + #define MSCC_EXT_PAGE_ACCESS 31 #define MSCC_PHY_PAGE_STANDARD 0x0000 /* Standard registers */ #define MSCC_PHY_PAGE_EXTENDED 0x0001 /* Extended registers */ @@ -381,6 +385,10 @@ }; #endif /* CONFIG_OF_MDIO */ +enum csr_target { + MACRO_CTRL = 0x07, +}; + #if IS_ENABLED(CONFIG_MACSEC) int vsc8584_macsec_init(struct phy_device *phydev); void vsc8584_handle_macsec_interrupt(struct phy_device *phydev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/mscc/mscc_macsec.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/mscc/mscc_macsec.c @@ -977,7 +977,6 @@ switch (phydev->phy_id & phydev->drv->phy_id_mask) { case PHY_ID_VSC856X: - case PHY_ID_VSC8575: case PHY_ID_VSC8582: case PHY_ID_VSC8584: INIT_LIST_HEAD(&vsc8531->macsec_flows); --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/mscc/mscc_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/mscc/mscc_main.c @@ -710,6 +710,113 @@ return __phy_package_read(phydev, regnum); } +static u32 vsc85xx_csr_read(struct phy_device *phydev, + enum csr_target target, u32 reg) +{ + unsigned long deadline; + u32 val, val_l, val_h; + + phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_CSR_CNTL); + + /* CSR registers are grouped under different Target IDs. + * 6-bit Target_ID is split between MSCC_EXT_PAGE_CSR_CNTL_20 and + * MSCC_EXT_PAGE_CSR_CNTL_19 registers. + * Target_ID[5:2] maps to bits[3:0] of MSCC_EXT_PAGE_CSR_CNTL_20 + * and Target_ID[1:0] maps to bits[13:12] of MSCC_EXT_PAGE_CSR_CNTL_19. + */ + + /* Setup the Target ID */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_20, + MSCC_PHY_CSR_CNTL_20_TARGET(target >> 2)); + + if ((target >> 2 == 0x1) || (target >> 2 == 0x3)) + /* non-MACsec access */ + target &= 0x3; + else + target = 0; + + /* Trigger CSR Action - Read into the CSR's */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_19, + MSCC_PHY_CSR_CNTL_19_CMD | MSCC_PHY_CSR_CNTL_19_READ | + MSCC_PHY_CSR_CNTL_19_REG_ADDR(reg) | + MSCC_PHY_CSR_CNTL_19_TARGET(target)); + + /* Wait for register access*/ + deadline = jiffies + msecs_to_jiffies(PROC_CMD_NCOMPLETED_TIMEOUT_MS); + do { + usleep_range(500, 1000); + val = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_19); + } while (time_before(jiffies, deadline) && + !(val & MSCC_PHY_CSR_CNTL_19_CMD)); + + if (!(val & MSCC_PHY_CSR_CNTL_19_CMD)) + return 0xffffffff; + + /* Read the Least Significant Word (LSW) (17) */ + val_l = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_17); + + /* Read the Most Significant Word (MSW) (18) */ + val_h = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_18); + + phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, + MSCC_PHY_PAGE_STANDARD); + + return (val_h << 16) | val_l; +} + +static int vsc85xx_csr_write(struct phy_device *phydev, + enum csr_target target, u32 reg, u32 val) +{ + unsigned long deadline; + + phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_CSR_CNTL); + + /* CSR registers are grouped under different Target IDs. + * 6-bit Target_ID is split between MSCC_EXT_PAGE_CSR_CNTL_20 and + * MSCC_EXT_PAGE_CSR_CNTL_19 registers. + * Target_ID[5:2] maps to bits[3:0] of MSCC_EXT_PAGE_CSR_CNTL_20 + * and Target_ID[1:0] maps to bits[13:12] of MSCC_EXT_PAGE_CSR_CNTL_19. + */ + + /* Setup the Target ID */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_20, + MSCC_PHY_CSR_CNTL_20_TARGET(target >> 2)); + + /* Write the Least Significant Word (LSW) (17) */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_17, (u16)val); + + /* Write the Most Significant Word (MSW) (18) */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_18, (u16)(val >> 16)); + + if ((target >> 2 == 0x1) || (target >> 2 == 0x3)) + /* non-MACsec access */ + target &= 0x3; + else + target = 0; + + /* Trigger CSR Action - Write into the CSR's */ + phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_19, + MSCC_PHY_CSR_CNTL_19_CMD | + MSCC_PHY_CSR_CNTL_19_REG_ADDR(reg) | + MSCC_PHY_CSR_CNTL_19_TARGET(target)); + + /* Wait for register access */ + deadline = jiffies + msecs_to_jiffies(PROC_CMD_NCOMPLETED_TIMEOUT_MS); + do { + usleep_range(500, 1000); + val = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_19); + } while (time_before(jiffies, deadline) && + !(val & MSCC_PHY_CSR_CNTL_19_CMD)); + + if (!(val & MSCC_PHY_CSR_CNTL_19_CMD)) + return -ETIMEDOUT; + + phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, + MSCC_PHY_PAGE_STANDARD); + + return 0; +} + /* bus->mdio_lock should be locked when using this function */ static void vsc8584_csr_write(struct phy_device *phydev, u16 addr, u32 val) { @@ -1131,6 +1238,92 @@ return ret; } +/* Access LCPLL Cfg_2 */ +static void vsc8584_pll5g_cfg2_wr(struct phy_device *phydev, + bool disable_fsm) +{ + u32 rd_dat; + + rd_dat = vsc85xx_csr_read(phydev, MACRO_CTRL, PHY_S6G_PLL5G_CFG2); + rd_dat &= ~BIT(PHY_S6G_CFG2_FSM_DIS); + rd_dat |= (disable_fsm << PHY_S6G_CFG2_FSM_DIS); + vsc85xx_csr_write(phydev, MACRO_CTRL, PHY_S6G_PLL5G_CFG2, rd_dat); +} + +/* trigger a read to the spcified MCB */ +static int vsc8584_mcb_rd_trig(struct phy_device *phydev, + u32 mcb_reg_addr, u8 mcb_slave_num) +{ + u32 rd_dat = 0; + + /* read MCB */ + vsc85xx_csr_write(phydev, MACRO_CTRL, mcb_reg_addr, + (0x40000000 | (1L << mcb_slave_num))); + + return read_poll_timeout(vsc85xx_csr_read, rd_dat, + !(rd_dat & 0x40000000), + 4000, 200000, 0, + phydev, MACRO_CTRL, mcb_reg_addr); +} + +/* trigger a write to the spcified MCB */ +static int vsc8584_mcb_wr_trig(struct phy_device *phydev, + u32 mcb_reg_addr, + u8 mcb_slave_num) +{ + u32 rd_dat = 0; + + /* write back MCB */ + vsc85xx_csr_write(phydev, MACRO_CTRL, mcb_reg_addr, + (0x80000000 | (1L << mcb_slave_num))); + + return read_poll_timeout(vsc85xx_csr_read, rd_dat, + !(rd_dat & 0x80000000), + 4000, 200000, 0, + phydev, MACRO_CTRL, mcb_reg_addr); +} + +/* Sequence to Reset LCPLL for the VIPER and ELISE PHY */ +static int vsc8584_pll5g_reset(struct phy_device *phydev) +{ + bool dis_fsm; + int ret = 0; + + ret = vsc8584_mcb_rd_trig(phydev, 0x11, 0); + if (ret < 0) + goto done; + dis_fsm = 1; + + /* Reset LCPLL */ + vsc8584_pll5g_cfg2_wr(phydev, dis_fsm); + + /* write back LCPLL MCB */ + ret = vsc8584_mcb_wr_trig(phydev, 0x11, 0); + if (ret < 0) + goto done; + + /* 10 mSec sleep while LCPLL is hold in reset */ + usleep_range(10000, 20000); + + /* read LCPLL MCB into CSRs */ + ret = vsc8584_mcb_rd_trig(phydev, 0x11, 0); + if (ret < 0) + goto done; + dis_fsm = 0; + + /* Release the Reset of LCPLL */ + vsc8584_pll5g_cfg2_wr(phydev, dis_fsm); + + /* write back LCPLL MCB */ + ret = vsc8584_mcb_wr_trig(phydev, 0x11, 0); + if (ret < 0) + goto done; + + usleep_range(110000, 200000); +done: + return ret; +} + /* bus->mdio_lock should be locked when using this function */ static int vsc8584_config_pre_init(struct phy_device *phydev) { @@ -1379,6 +1572,11 @@ if (ret) goto err; + ret = phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, + MSCC_PHY_PAGE_STANDARD); + if (ret) + goto err; + if (!phy_interface_is_rgmii(phydev)) { val = PROC_CMD_MCB_ACCESS_MAC_CONF | PROC_CMD_RST_CONF_PORT | PROC_CMD_READ_MOD_WRITE_PORT; @@ -1546,8 +1744,16 @@ {0x16b2, 0x00007000}, {0x16b4, 0x00000814}, }; + struct device *dev = &phydev->mdio.dev; unsigned int i; u16 reg; + int ret; + + ret = vsc8584_pll5g_reset(phydev); + if (ret < 0) { + dev_err(dev, "failed LCPLL reset, ret: %d\n", ret); + return ret; + } phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_STANDARD); @@ -1582,101 +1788,6 @@ return 0; } -static u32 vsc85xx_csr_ctrl_phy_read(struct phy_device *phydev, - u32 target, u32 reg) -{ - unsigned long deadline; - u32 val, val_l, val_h; - - phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_CSR_CNTL); - - /* CSR registers are grouped under different Target IDs. - * 6-bit Target_ID is split between MSCC_EXT_PAGE_CSR_CNTL_20 and - * MSCC_EXT_PAGE_CSR_CNTL_19 registers. - * Target_ID[5:2] maps to bits[3:0] of MSCC_EXT_PAGE_CSR_CNTL_20 - * and Target_ID[1:0] maps to bits[13:12] of MSCC_EXT_PAGE_CSR_CNTL_19. - */ - - /* Setup the Target ID */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_20, - MSCC_PHY_CSR_CNTL_20_TARGET(target >> 2)); - - /* Trigger CSR Action - Read into the CSR's */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_19, - MSCC_PHY_CSR_CNTL_19_CMD | MSCC_PHY_CSR_CNTL_19_READ | - MSCC_PHY_CSR_CNTL_19_REG_ADDR(reg) | - MSCC_PHY_CSR_CNTL_19_TARGET(target & 0x3)); - - /* Wait for register access*/ - deadline = jiffies + msecs_to_jiffies(PROC_CMD_NCOMPLETED_TIMEOUT_MS); - do { - usleep_range(500, 1000); - val = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_19); - } while (time_before(jiffies, deadline) && - !(val & MSCC_PHY_CSR_CNTL_19_CMD)); - - if (!(val & MSCC_PHY_CSR_CNTL_19_CMD)) - return 0xffffffff; - - /* Read the Least Significant Word (LSW) (17) */ - val_l = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_17); - - /* Read the Most Significant Word (MSW) (18) */ - val_h = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_18); - - phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, - MSCC_PHY_PAGE_STANDARD); - - return (val_h << 16) | val_l; -} - -static int vsc85xx_csr_ctrl_phy_write(struct phy_device *phydev, - u32 target, u32 reg, u32 val) -{ - unsigned long deadline; - - phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, MSCC_PHY_PAGE_CSR_CNTL); - - /* CSR registers are grouped under different Target IDs. - * 6-bit Target_ID is split between MSCC_EXT_PAGE_CSR_CNTL_20 and - * MSCC_EXT_PAGE_CSR_CNTL_19 registers. - * Target_ID[5:2] maps to bits[3:0] of MSCC_EXT_PAGE_CSR_CNTL_20 - * and Target_ID[1:0] maps to bits[13:12] of MSCC_EXT_PAGE_CSR_CNTL_19. - */ - - /* Setup the Target ID */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_20, - MSCC_PHY_CSR_CNTL_20_TARGET(target >> 2)); - - /* Write the Least Significant Word (LSW) (17) */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_17, (u16)val); - - /* Write the Most Significant Word (MSW) (18) */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_18, (u16)(val >> 16)); - - /* Trigger CSR Action - Write into the CSR's */ - phy_base_write(phydev, MSCC_EXT_PAGE_CSR_CNTL_19, - MSCC_PHY_CSR_CNTL_19_CMD | - MSCC_PHY_CSR_CNTL_19_REG_ADDR(reg) | - MSCC_PHY_CSR_CNTL_19_TARGET(target & 0x3)); - - /* Wait for register access */ - deadline = jiffies + msecs_to_jiffies(PROC_CMD_NCOMPLETED_TIMEOUT_MS); - do { - usleep_range(500, 1000); - val = phy_base_read(phydev, MSCC_EXT_PAGE_CSR_CNTL_19); - } while (time_before(jiffies, deadline) && - !(val & MSCC_PHY_CSR_CNTL_19_CMD)); - - if (!(val & MSCC_PHY_CSR_CNTL_19_CMD)) - return -ETIMEDOUT; - - phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, - MSCC_PHY_PAGE_STANDARD); - - return 0; -} - static int __phy_write_mcb_s6g(struct phy_device *phydev, u32 reg, u8 mcb, u32 op) { @@ -1684,15 +1795,15 @@ u32 val; int ret; - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, reg, - op | (1 << mcb)); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, reg, + op | (1 << mcb)); if (ret) return -EINVAL; deadline = jiffies + msecs_to_jiffies(PROC_CMD_NCOMPLETED_TIMEOUT_MS); do { usleep_range(500, 1000); - val = vsc85xx_csr_ctrl_phy_read(phydev, PHY_MCB_TARGET, reg); + val = vsc85xx_csr_read(phydev, PHY_MCB_TARGET, reg); if (val == 0xffffffff) return -EIO; @@ -1751,7 +1862,11 @@ val &= ~MAC_CFG_MASK; val |= MAC_CFG_QSGMII; ret = phy_base_write(phydev, MSCC_PHY_MAC_CFG_FASTLINK, val); + if (ret) + goto err; + ret = phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS, + MSCC_PHY_PAGE_STANDARD); if (ret) goto err; @@ -1767,41 +1882,41 @@ /* lcpll mcb */ phy_update_mcb_s6g(phydev, PHY_S6G_LCPLL_CFG, 0); /* pll5gcfg0 */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_PLL5G_CFG0, 0x7036f145); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_PLL5G_CFG0, 0x7036f145); if (ret) goto err; phy_commit_mcb_s6g(phydev, PHY_S6G_LCPLL_CFG, 0); /* pllcfg */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_PLL_CFG, - (3 << PHY_S6G_PLL_ENA_OFFS_POS) | - (120 << PHY_S6G_PLL_FSM_CTRL_DATA_POS) - | (0 << PHY_S6G_PLL_FSM_ENA_POS)); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_PLL_CFG, + (3 << PHY_S6G_PLL_ENA_OFFS_POS) | + (120 << PHY_S6G_PLL_FSM_CTRL_DATA_POS) + | (0 << PHY_S6G_PLL_FSM_ENA_POS)); if (ret) goto err; /* commoncfg */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_COMMON_CFG, - (0 << PHY_S6G_SYS_RST_POS) | - (0 << PHY_S6G_ENA_LANE_POS) | - (0 << PHY_S6G_ENA_LOOP_POS) | - (0 << PHY_S6G_QRATE_POS) | - (3 << PHY_S6G_IF_MODE_POS)); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_COMMON_CFG, + (0 << PHY_S6G_SYS_RST_POS) | + (0 << PHY_S6G_ENA_LANE_POS) | + (0 << PHY_S6G_ENA_LOOP_POS) | + (0 << PHY_S6G_QRATE_POS) | + (3 << PHY_S6G_IF_MODE_POS)); if (ret) goto err; /* misccfg */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_MISC_CFG, 1); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_MISC_CFG, 1); if (ret) goto err; /* gpcfg */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_GPC_CFG, 768); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_GPC_CFG, 768); if (ret) goto err; @@ -1812,8 +1927,8 @@ usleep_range(500, 1000); phy_update_mcb_s6g(phydev, PHY_MCB_S6G_CFG, 0); /* read 6G MCB into CSRs */ - reg = vsc85xx_csr_ctrl_phy_read(phydev, PHY_MCB_TARGET, - PHY_S6G_PLL_STATUS); + reg = vsc85xx_csr_read(phydev, PHY_MCB_TARGET, + PHY_S6G_PLL_STATUS); if (reg == 0xffffffff) { mutex_unlock(&phydev->mdio.bus->mdio_lock); return -EIO; @@ -1827,8 +1942,8 @@ } /* misccfg */ - ret = vsc85xx_csr_ctrl_phy_write(phydev, PHY_MCB_TARGET, - PHY_S6G_MISC_CFG, 0); + ret = vsc85xx_csr_write(phydev, PHY_MCB_TARGET, + PHY_S6G_MISC_CFG, 0); if (ret) goto err; @@ -1839,8 +1954,8 @@ usleep_range(500, 1000); phy_update_mcb_s6g(phydev, PHY_MCB_S6G_CFG, 0); /* read 6G MCB into CSRs */ - reg = vsc85xx_csr_ctrl_phy_read(phydev, PHY_MCB_TARGET, - PHY_S6G_IB_STATUS0); + reg = vsc85xx_csr_read(phydev, PHY_MCB_TARGET, + PHY_S6G_IB_STATUS0); if (reg == 0xffffffff) { mutex_unlock(&phydev->mdio.bus->mdio_lock); return -EIO; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/phy.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/phy.c @@ -293,14 +293,16 @@ phydev->autoneg = autoneg; - phydev->speed = speed; + if (autoneg == AUTONEG_DISABLE) { + phydev->speed = speed; + phydev->duplex = duplex; + } linkmode_copy(phydev->advertising, advertising); linkmode_mod_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->advertising, autoneg == AUTONEG_ENABLE); - phydev->duplex = duplex; phydev->master_slave_set = cmd->base.master_slave_cfg; phydev->mdix_ctrl = cmd->base.eth_tp_mdix_ctrl; @@ -325,7 +327,7 @@ if (phydev->interface == PHY_INTERFACE_MODE_MOCA) cmd->base.port = PORT_BNC; else - cmd->base.port = PORT_MII; + cmd->base.port = phydev->port; cmd->base.transceiver = phy_is_internal(phydev) ? XCVR_INTERNAL : XCVR_EXTERNAL; cmd->base.phy_address = phydev->mdio.addr; @@ -948,7 +950,7 @@ { struct net_device *dev = phydev->attached_dev; - if (!phy_is_started(phydev)) { + if (!phy_is_started(phydev) && phydev->state != PHY_DOWN) { WARN(1, "called from state %s\n", phy_state_to_str(phydev->state)); return; --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/phy_device.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/phy_device.c @@ -607,6 +607,7 @@ dev->pause = 0; dev->asym_pause = 0; dev->link = 0; + dev->port = PORT_TP; dev->interface = PHY_INTERFACE_MODE_GMII; dev->autoneg = AUTONEG_ENABLE; @@ -616,7 +617,9 @@ if (c45_ids) dev->c45_ids = *c45_ids; dev->irq = bus->irq[addr]; + dev_set_name(&mdiodev->dev, PHY_ID_FMT, bus->id, addr); + device_initialize(&mdiodev->dev); dev->state = PHY_DOWN; @@ -650,10 +653,8 @@ ret = phy_request_driver_module(dev, phy_id); } - if (!ret) { - device_initialize(&mdiodev->dev); - } else { - kfree(dev); + if (ret) { + put_device(&mdiodev->dev); dev = ERR_PTR(ret); } @@ -1092,10 +1093,6 @@ if (ret < 0) return ret; - ret = phy_disable_interrupts(phydev); - if (ret) - return ret; - if (phydev->drv->config_init) ret = phydev->drv->config_init(phydev); @@ -1358,6 +1355,14 @@ phydev->state = PHY_READY; + /* Port is set to PORT_TP by default and the actual PHY driver will set + * it to different value depending on the PHY configuration. If we have + * the generic PHY driver we can't figure it out, thus set the old + * legacy PORT_MII value. + */ + if (using_genphy) + phydev->port = PORT_MII; + /* Initial carrier state is off as the phy is about to be * (re)initialized. */ @@ -1372,6 +1377,10 @@ if (err) goto error; + err = phy_disable_interrupts(phydev); + if (err) + return err; + phy_resume(phydev); phy_led_triggers_register(phydev); @@ -1631,7 +1640,8 @@ phy_led_triggers_unregister(phydev); - module_put(phydev->mdio.dev.driver->owner); + if (phydev->mdio.dev.driver) + module_put(phydev->mdio.dev.driver->owner); /* If the device had no specific driver before (i.e. - it * was using the generic driver), we unbind the device --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/realtek.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/realtek.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ -/* - * drivers/net/phy/realtek.c +/* drivers/net/phy/realtek.c * * Driver for Realtek PHYs * @@ -32,9 +31,9 @@ #define RTL8211F_TX_DELAY BIT(8) #define RTL8211F_RX_DELAY BIT(3) -#define RTL8211E_TX_DELAY BIT(1) -#define RTL8211E_RX_DELAY BIT(2) -#define RTL8211E_MODE_MII_GMII BIT(3) +#define RTL8211E_CTRL_DELAY BIT(13) +#define RTL8211E_TX_DELAY BIT(12) +#define RTL8211E_RX_DELAY BIT(11) #define RTL8201F_ISR 0x1e #define RTL8201F_IER 0x13 @@ -246,16 +245,16 @@ /* enable TX/RX delay for rgmii-* modes, and disable them for rgmii. */ switch (phydev->interface) { case PHY_INTERFACE_MODE_RGMII: - val = 0; + val = RTL8211E_CTRL_DELAY | 0; break; case PHY_INTERFACE_MODE_RGMII_ID: - val = RTL8211E_TX_DELAY | RTL8211E_RX_DELAY; + val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY; break; case PHY_INTERFACE_MODE_RGMII_RXID: - val = RTL8211E_RX_DELAY; + val = RTL8211E_CTRL_DELAY | RTL8211E_RX_DELAY; break; case PHY_INTERFACE_MODE_RGMII_TXID: - val = RTL8211E_TX_DELAY; + val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY; break; default: /* the rest of the modes imply leaving delays as is. */ return 0; @@ -263,11 +262,12 @@ /* According to a sample driver there is a 0x1c config register on the * 0xa4 extension page (0x7) layout. It can be used to disable/enable - * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins. It can - * also be used to customize the whole configuration register: - * 8:6 = PHY Address, 5:4 = Auto-Negotiation, 3 = Interface Mode Select, - * 2 = RX Delay, 1 = TX Delay, 0 = SELRGV (see original PHY datasheet - * for details). + * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins. + * The configuration register definition: + * 14 = reserved + * 13 = Force Tx RX Delay controlled by bit12 bit11, + * 12 = RX Delay, 11 = TX Delay + * 10:0 = Test && debug settings reserved by realtek */ oldpage = phy_select_page(phydev, 0x7); if (oldpage < 0) @@ -277,7 +277,8 @@ if (ret) goto err_restore_page; - ret = __phy_modify(phydev, 0x1c, RTL8211E_TX_DELAY | RTL8211E_RX_DELAY, + ret = __phy_modify(phydev, 0x1c, RTL8211E_CTRL_DELAY + | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY, val); err_restore_page: @@ -541,6 +542,8 @@ { PHY_ID_MATCH_EXACT(0x00008201), .name = "RTL8201CP Ethernet", + .read_page = rtl821x_read_page, + .write_page = rtl821x_write_page, }, { PHY_ID_MATCH_EXACT(0x001cc816), .name = "RTL8201F Fast Ethernet", --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/sfp-bus.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/sfp-bus.c @@ -44,6 +44,17 @@ phylink_set(modes, 2500baseX_Full); } +static void sfp_quirk_ubnt_uf_instant(const struct sfp_eeprom_id *id, + unsigned long *modes) +{ + /* Ubiquiti U-Fiber Instant module claims that support all transceiver + * types including 10G Ethernet which is not truth. So clear all claimed + * modes and set only one mode which module supports: 1000baseX_Full. + */ + phylink_zero(modes); + phylink_set(modes, 1000baseX_Full); +} + static const struct sfp_quirk sfp_quirks[] = { { // Alcatel Lucent G-010S-P can operate at 2500base-X, but @@ -63,6 +74,10 @@ .vendor = "HUAWEI", .part = "MA5671A", .modes = sfp_quirk_2500basex, + }, { + .vendor = "UBNT", + .part = "UF-INSTANT", + .modes = sfp_quirk_ubnt_uf_instant, }, }; @@ -334,14 +349,13 @@ } /* If we haven't discovered any modes that this module supports, try - * the encoding and bitrate to determine supported modes. Some BiDi - * modules (eg, 1310nm/1550nm) are not 1000BASE-BX compliant due to - * the differing wavelengths, so do not set any transceiver bits. + * the bitrate to determine supported modes. Some BiDi modules (eg, + * 1310nm/1550nm) are not 1000BASE-BX compliant due to the differing + * wavelengths, so do not set any transceiver bits. */ if (bitmap_empty(modes, __ETHTOOL_LINK_MODE_MASK_NBITS)) { - /* If the encoding and bit rate allows 1000baseX */ - if (id->base.encoding == SFF8024_ENCODING_8B10B && br_nom && - br_min <= 1300 && br_max >= 1200) + /* If the bit rate allows 1000baseX */ + if (br_nom && br_min <= 1300 && br_max >= 1200) phylink_set(modes, 1000baseX_Full); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/phy/sfp.c +++ linux-riscv-5.8-5.8.0/drivers/net/phy/sfp.c @@ -219,6 +219,7 @@ struct sfp_bus *sfp_bus; struct phy_device *mod_phy; const struct sff_data *type; + size_t i2c_block_size; u32 max_power_mW; unsigned int (*get_state)(struct sfp *); @@ -272,8 +273,21 @@ static bool sfp_module_supported(const struct sfp_eeprom_id *id) { - return id->base.phys_id == SFF8024_ID_SFP && - id->base.phys_ext_id == SFP_PHYS_EXT_ID_SFP; + if (id->base.phys_id == SFF8024_ID_SFP && + id->base.phys_ext_id == SFP_PHYS_EXT_ID_SFP) + return true; + + /* SFP GPON module Ubiquiti U-Fiber Instant has in its EEPROM stored + * phys id SFF instead of SFP. Therefore mark this module explicitly + * as supported based on vendor name and pn match. + */ + if (id->base.phys_id == SFF8024_ID_SFF_8472 && + id->base.phys_ext_id == SFP_PHYS_EXT_ID_SFP && + !memcmp(id->base.vendor_name, "UBNT ", 16) && + !memcmp(id->base.vendor_pn, "UF-INSTANT ", 16)) + return true; + + return false; } static const struct sff_data sfp_data = { @@ -336,6 +350,7 @@ { struct i2c_msg msgs[2]; u8 bus_addr = a2 ? 0x51 : 0x50; + size_t block_size = sfp->i2c_block_size; size_t this_len; int ret; @@ -350,8 +365,8 @@ while (len) { this_len = len; - if (this_len > 16) - this_len = 16; + if (this_len > block_size) + this_len = block_size; msgs[1].len = this_len; @@ -1272,6 +1287,20 @@ struct sfp *sfp = container_of(work, struct sfp, hwmon_probe.work); int err, i; + /* hwmon interface needs to access 16bit registers in atomic way to + * guarantee coherency of the diagnostic monitoring data. If it is not + * possible to guarantee coherency because EEPROM is broken in such way + * that does not support atomic 16bit read operation then we have to + * skip registration of hwmon device. + */ + if (sfp->i2c_block_size < 2) { + dev_info(sfp->dev, + "skipping hwmon device registration due to broken EEPROM\n"); + dev_info(sfp->dev, + "diagnostic EEPROM area cannot be read atomically to guarantee data coherency\n"); + return; + } + err = sfp_read(sfp, true, 0, &sfp->diag, sizeof(sfp->diag)); if (err < 0) { if (sfp->hwmon_tries--) { @@ -1472,15 +1501,19 @@ static void sfp_sm_link_check_los(struct sfp *sfp) { - unsigned int los = sfp->state & SFP_F_LOS; + const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED); + const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL); + __be16 los_options = sfp->id.ext.options & (los_inverted | los_normal); + bool los = false; /* If neither SFP_OPTIONS_LOS_INVERTED nor SFP_OPTIONS_LOS_NORMAL - * are set, we assume that no LOS signal is available. + * are set, we assume that no LOS signal is available. If both are + * set, we assume LOS is not implemented (and is meaningless.) */ - if (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED)) - los ^= SFP_F_LOS; - else if (!(sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL))) - los = 0; + if (los_options == los_inverted) + los = !(sfp->state & SFP_F_LOS); + else if (los_options == los_normal) + los = !!(sfp->state & SFP_F_LOS); if (los) sfp_sm_next(sfp, SFP_S_WAIT_LOS, 0); @@ -1490,18 +1523,22 @@ static bool sfp_los_event_active(struct sfp *sfp, unsigned int event) { - return (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED) && - event == SFP_E_LOS_LOW) || - (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL) && - event == SFP_E_LOS_HIGH); + const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED); + const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL); + __be16 los_options = sfp->id.ext.options & (los_inverted | los_normal); + + return (los_options == los_inverted && event == SFP_E_LOS_LOW) || + (los_options == los_normal && event == SFP_E_LOS_HIGH); } static bool sfp_los_event_inactive(struct sfp *sfp, unsigned int event) { - return (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED) && - event == SFP_E_LOS_HIGH) || - (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL) && - event == SFP_E_LOS_LOW); + const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED); + const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL); + __be16 los_options = sfp->id.ext.options & (los_inverted | los_normal); + + return (los_options == los_inverted && event == SFP_E_LOS_HIGH) || + (los_options == los_normal && event == SFP_E_LOS_LOW); } static void sfp_sm_fault(struct sfp *sfp, unsigned int next_state, bool warn) @@ -1632,6 +1669,32 @@ return 0; } +/* GPON modules based on Realtek RTL8672 and RTL9601C chips (e.g. V-SOL + * V2801F, CarlitoxxPro CPGOS03-0490, Ubiquiti U-Fiber Instant, ...) do + * not support multibyte reads from the EEPROM. Each multi-byte read + * operation returns just one byte of EEPROM followed by zeros. There is + * no way to identify which modules are using Realtek RTL8672 and RTL9601C + * chips. Moreover every OEM of V-SOL V2801F module puts its own vendor + * name and vendor id into EEPROM, so there is even no way to detect if + * module is V-SOL V2801F. Therefore check for those zeros in the read + * data and then based on check switch to reading EEPROM to one byte + * at a time. + */ +static bool sfp_id_needs_byte_io(struct sfp *sfp, void *buf, size_t len) +{ + size_t i, block_size = sfp->i2c_block_size; + + /* Already using byte IO */ + if (block_size == 1) + return false; + + for (i = 1; i < len; i += block_size) { + if (memchr_inv(buf + i, '\0', min(block_size - 1, len - i))) + return false; + } + return true; +} + static int sfp_sm_mod_probe(struct sfp *sfp, bool report) { /* SFP module inserted - read I2C data */ @@ -1640,18 +1703,51 @@ u8 check; int ret; - ret = sfp_read(sfp, false, 0, &id, sizeof(id)); + /* Some SFP modules and also some Linux I2C drivers do not like reads + * longer than 16 bytes, so read the EEPROM in chunks of 16 bytes at + * a time. + */ + sfp->i2c_block_size = 16; + + ret = sfp_read(sfp, false, 0, &id.base, sizeof(id.base)); if (ret < 0) { if (report) dev_err(sfp->dev, "failed to read EEPROM: %d\n", ret); return -EAGAIN; } - if (ret != sizeof(id)) { + if (ret != sizeof(id.base)) { dev_err(sfp->dev, "EEPROM short read: %d\n", ret); return -EAGAIN; } + /* Some SFP modules (e.g. Nokia 3FE46541AA) lock up if read from + * address 0x51 is just one byte at a time. Also SFF-8472 requires + * that EEPROM supports atomic 16bit read operation for diagnostic + * fields, so do not switch to one byte reading at a time unless it + * is really required and we have no other option. + */ + if (sfp_id_needs_byte_io(sfp, &id.base, sizeof(id.base))) { + dev_info(sfp->dev, + "Detected broken RTL8672/RTL9601C emulated EEPROM\n"); + dev_info(sfp->dev, + "Switching to reading EEPROM to one byte at a time\n"); + sfp->i2c_block_size = 1; + + ret = sfp_read(sfp, false, 0, &id.base, sizeof(id.base)); + if (ret < 0) { + if (report) + dev_err(sfp->dev, "failed to read EEPROM: %d\n", + ret); + return -EAGAIN; + } + + if (ret != sizeof(id.base)) { + dev_err(sfp->dev, "EEPROM short read: %d\n", ret); + return -EAGAIN; + } + } + /* Cotsworks do not seem to update the checksums when they * do the final programming with the final module part number, * serial number and date code. @@ -1675,6 +1771,18 @@ } } + ret = sfp_read(sfp, false, SFP_CC_BASE + 1, &id.ext, sizeof(id.ext)); + if (ret < 0) { + if (report) + dev_err(sfp->dev, "failed to read EEPROM: %d\n", ret); + return -EAGAIN; + } + + if (ret != sizeof(id.ext)) { + dev_err(sfp->dev, "EEPROM short read: %d\n", ret); + return -EAGAIN; + } + check = sfp_check(&id.ext, sizeof(id.ext) - 1); if (check != id.ext.cc_ext) { if (cotsworks) { @@ -2344,7 +2452,8 @@ continue; sfp->gpio_irq[i] = gpiod_to_irq(sfp->gpio[i]); - if (!sfp->gpio_irq[i]) { + if (sfp->gpio_irq[i] < 0) { + sfp->gpio_irq[i] = 0; sfp->need_poll = true; continue; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/tap.c +++ linux-riscv-5.8-5.8.0/drivers/net/tap.c @@ -1093,10 +1093,9 @@ return -ENOLINK; } ret = 0; - u = tap->dev->type; + dev_get_mac_address(&sa, dev_net(tap->dev), tap->dev->name); if (copy_to_user(&ifr->ifr_name, tap->dev->name, IFNAMSIZ) || - copy_to_user(&ifr->ifr_hwaddr.sa_data, tap->dev->dev_addr, ETH_ALEN) || - put_user(u, &ifr->ifr_hwaddr.sa_family)) + copy_to_user(&ifr->ifr_hwaddr, &sa, sizeof(sa))) ret = -EFAULT; tap_put_tap_dev(tap); rtnl_unlock(); @@ -1111,7 +1110,7 @@ rtnl_unlock(); return -ENOLINK; } - ret = dev_set_mac_address(tap->dev, &sa, NULL); + ret = dev_set_mac_address_user(tap->dev, &sa, NULL); tap_put_tap_dev(tap); rtnl_unlock(); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/net/team/team.c +++ linux-riscv-5.8-5.8.0/drivers/net/team/team.c @@ -287,7 +287,7 @@ for (i--; i >= 0; i--) __team_option_inst_del_option(team, dst_opts[i]); - i = option_count - 1; + i = option_count; alloc_rollback: for (i--; i >= 0; i--) kfree(dst_opts[i]); @@ -991,7 +991,8 @@ unsigned int dst_release_flag = IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM; - list_for_each_entry(port, &team->port_list, list) { + rcu_read_lock(); + list_for_each_entry_rcu(port, &team->port_list, list) { vlan_features = netdev_increment_features(vlan_features, port->dev->vlan_features, TEAM_VLAN_FEATURES); @@ -1005,6 +1006,7 @@ if (port->dev->hard_header_len > max_hard_header_len) max_hard_header_len = port->dev->hard_header_len; } + rcu_read_unlock(); team->dev->vlan_features = vlan_features; team->dev->hw_enc_features = enc_features | NETIF_F_GSO_ENCAP_ALL | @@ -1020,9 +1022,7 @@ static void team_compute_features(struct team *team) { - mutex_lock(&team->lock); __team_compute_features(team); - mutex_unlock(&team->lock); netdev_change_features(team->dev); } @@ -2112,6 +2112,7 @@ dev->header_ops = port_dev->header_ops; dev->type = port_dev->type; dev->hard_header_len = port_dev->hard_header_len; + dev->needed_headroom = port_dev->needed_headroom; dev->addr_len = port_dev->addr_len; dev->mtu = port_dev->mtu; memcpy(dev->broadcast, port_dev->broadcast, port_dev->addr_len); --- linux-riscv-5.8-5.8.0.orig/drivers/net/tun.c +++ linux-riscv-5.8-5.8.0/drivers/net/tun.c @@ -69,6 +69,14 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -1434,7 +1442,7 @@ int i; if (it->nr_segs > MAX_SKB_FRAGS + 1) - return ERR_PTR(-ENOMEM); + return ERR_PTR(-EMSGSIZE); local_bh_disable(); skb = napi_get_frags(&tfile->napi); @@ -1994,12 +2002,15 @@ struct tun_file *tfile = file->private_data; struct tun_struct *tun = tun_get(tfile); ssize_t result; + int noblock = 0; if (!tun) return -EBADFD; - result = tun_get_user(tun, tfile, NULL, from, - file->f_flags & O_NONBLOCK, false); + if ((file->f_flags & O_NONBLOCK) || (iocb->ki_flags & IOCB_NOWAIT)) + noblock = 1; + + result = tun_get_user(tun, tfile, NULL, from, noblock, false); tun_put(tun); return result; @@ -2218,10 +2229,15 @@ struct tun_file *tfile = file->private_data; struct tun_struct *tun = tun_get(tfile); ssize_t len = iov_iter_count(to), ret; + int noblock = 0; if (!tun) return -EBADFD; - ret = tun_do_read(tun, tfile, to, file->f_flags & O_NONBLOCK, NULL); + + if ((file->f_flags & O_NONBLOCK) || (iocb->ki_flags & IOCB_NOWAIT)) + noblock = 1; + + ret = tun_do_read(tun, tfile, to, noblock, NULL); ret = min_t(ssize_t, ret, len); if (ret > 0) iocb->ki_pos = ret; @@ -3003,6 +3019,45 @@ return __tun_set_ebpf(tun, prog_p, prog); } +/* Return correct value for tun->dev->addr_len based on tun->dev->type. */ +static unsigned char tun_get_addr_len(unsigned short type) +{ + switch (type) { + case ARPHRD_IP6GRE: + case ARPHRD_TUNNEL6: + return sizeof(struct in6_addr); + case ARPHRD_IPGRE: + case ARPHRD_TUNNEL: + case ARPHRD_SIT: + return 4; + case ARPHRD_ETHER: + return ETH_ALEN; + case ARPHRD_IEEE802154: + case ARPHRD_IEEE802154_MONITOR: + return IEEE802154_EXTENDED_ADDR_LEN; + case ARPHRD_PHONET_PIPE: + case ARPHRD_PPP: + case ARPHRD_NONE: + return 0; + case ARPHRD_6LOWPAN: + return EUI64_ADDR_LEN; + case ARPHRD_FDDI: + return FDDI_K_ALEN; + case ARPHRD_HIPPI: + return HIPPI_ALEN; + case ARPHRD_IEEE802: + return FC_ALEN; + case ARPHRD_ROSE: + return ROSE_ADDR_LEN; + case ARPHRD_NETROM: + return AX25_ADDR_LEN; + case ARPHRD_LOCALTLK: + return LTALK_ALEN; + default: + return 0; + } +} + static long __tun_chr_ioctl(struct file *file, unsigned int cmd, unsigned long arg, int ifreq_len) { @@ -3158,6 +3213,7 @@ ret = -EBUSY; } else { tun->dev->type = (int) arg; + tun->dev->addr_len = tun_get_addr_len(tun->dev->type); netif_info(tun, drv, tun->dev, "linktype set to %d\n", tun->dev->type); ret = 0; @@ -3182,15 +3238,14 @@ case SIOCGIFHWADDR: /* Get hw address */ - memcpy(ifr.ifr_hwaddr.sa_data, tun->dev->dev_addr, ETH_ALEN); - ifr.ifr_hwaddr.sa_family = tun->dev->type; + dev_get_mac_address(&ifr.ifr_hwaddr, net, tun->dev->name); if (copy_to_user(argp, &ifr, ifreq_len)) ret = -EFAULT; break; case SIOCSIFHWADDR: /* Set hw address */ - ret = dev_set_mac_address(tun->dev, &ifr.ifr_hwaddr, NULL); + ret = dev_set_mac_address_user(tun->dev, &ifr.ifr_hwaddr, NULL); break; case TUNGETSNDBUF: --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/asix_common.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/asix_common.c @@ -296,7 +296,7 @@ netdev_dbg(dev->net, "asix_get_phy_addr()\n"); - if (ret < 0) { + if (ret < 2) { netdev_err(dev->net, "Error reading PHYID register: %02x\n", ret); goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/ax88179_178a.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/ax88179_178a.c @@ -296,12 +296,12 @@ int ret; if (2 == size) { - u16 buf; + u16 buf = 0; ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0); le16_to_cpus(&buf); *((u16 *)data) = buf; } else if (4 == size) { - u32 buf; + u32 buf = 0; ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0); le32_to_cpus(&buf); *((u32 *)data) = buf; @@ -1296,6 +1296,8 @@ { u8 mac[ETH_ALEN]; + memset(mac, 0, sizeof(mac)); + /* Maybe the boot loader passed the MAC address via device tree */ if (!eth_platform_get_mac_address(&dev->udev->dev, mac)) { netif_dbg(dev, ifup, dev->net, @@ -1823,6 +1825,7 @@ .status = ax88179_status, .link_reset = ax88179_link_reset, .reset = ax88179_reset, + .stop = ax88179_stop, .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/cdc-phonet.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/cdc-phonet.c @@ -387,6 +387,8 @@ err = register_netdev(dev); if (err) { + /* Set disconnected flag so that disconnect() returns early. */ + pnd->disconnected = 1; usb_driver_release_interface(&usbpn_driver, data_intf); goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/cdc_ether.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/cdc_ether.c @@ -794,6 +794,13 @@ .driver_info = 0, }, +/* Lenovo Powered USB-C Travel Hub (4X90S92381, based on Realtek RTL8153) */ +{ + USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x721e, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, + /* ThinkPad USB-C Dock Gen 2 (based on Realtek RTL8153) */ { USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0xa387, USB_CLASS_COMM, --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/cdc_ncm.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/cdc_ncm.c @@ -1198,7 +1198,10 @@ * accordingly. Otherwise, we should check here. */ if (ctx->drvflags & CDC_NCM_FLAG_NDP_TO_END) - delayed_ndp_size = ALIGN(ctx->max_ndp_size, ctx->tx_ndp_modulus); + delayed_ndp_size = ctx->max_ndp_size + + max_t(u32, + ctx->tx_ndp_modulus, + ctx->tx_modulus + ctx->tx_remainder) - 1; else delayed_ndp_size = 0; @@ -1409,7 +1412,8 @@ if (!(dev->driver_info->flags & FLAG_SEND_ZLP) && skb_out->len > ctx->min_tx_pkt) { padding_count = ctx->tx_curr_size - skb_out->len; - skb_put_zero(skb_out, padding_count); + if (!WARN_ON(padding_count > ctx->tx_curr_size)) + skb_put_zero(skb_out, padding_count); } else if (skb_out->len < ctx->tx_curr_size && (skb_out->len % dev->maxpacket) == 0) { skb_put_u8(skb_out, 0); /* force short packet */ @@ -1862,9 +1866,6 @@ * USB_CDC_NOTIFY_NETWORK_CONNECTION notification shall be * sent by device after USB_CDC_NOTIFY_SPEED_CHANGE. */ - netif_info(dev, link, dev->net, - "network connection: %sconnected\n", - !!event->wValue ? "" : "dis"); usbnet_link_change(dev, !!event->wValue, 0); break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/dm9601.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/dm9601.c @@ -625,6 +625,10 @@ USB_DEVICE(0x0a46, 0x1269), /* DM9621A USB to Fast Ethernet Adapter */ .driver_info = (unsigned long)&dm9601_info, }, + { + USB_DEVICE(0x0586, 0x3427), /* ZyXEL Keenetic Plus DSL xDSL modem */ + .driver_info = (unsigned long)&dm9601_info, + }, {}, // END }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/hso.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/hso.c @@ -611,7 +611,7 @@ return serial; } -static int get_free_serial_index(void) +static int obtain_minor(struct hso_serial *serial) { int index; unsigned long flags; @@ -619,8 +619,10 @@ spin_lock_irqsave(&serial_table_lock, flags); for (index = 0; index < HSO_SERIAL_TTY_MINORS; index++) { if (serial_table[index] == NULL) { + serial_table[index] = serial->parent; + serial->minor = index; spin_unlock_irqrestore(&serial_table_lock, flags); - return index; + return 0; } } spin_unlock_irqrestore(&serial_table_lock, flags); @@ -629,15 +631,12 @@ return -1; } -static void set_serial_by_index(unsigned index, struct hso_serial *serial) +static void release_minor(struct hso_serial *serial) { unsigned long flags; spin_lock_irqsave(&serial_table_lock, flags); - if (serial) - serial_table[index] = serial->parent; - else - serial_table[index] = NULL; + serial_table[serial->minor] = NULL; spin_unlock_irqrestore(&serial_table_lock, flags); } @@ -2231,6 +2230,7 @@ static void hso_serial_tty_unregister(struct hso_serial *serial) { tty_unregister_device(tty_drv, serial->minor); + release_minor(serial); } static void hso_serial_common_free(struct hso_serial *serial) @@ -2254,24 +2254,22 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs, int rx_size, int tx_size) { - int minor; int i; tty_port_init(&serial->port); - minor = get_free_serial_index(); - if (minor < 0) + if (obtain_minor(serial)) goto exit2; /* register our minor number */ serial->parent->dev = tty_port_register_device_attr(&serial->port, - tty_drv, minor, &serial->parent->interface->dev, + tty_drv, serial->minor, &serial->parent->interface->dev, serial->parent, hso_serial_dev_groups); - if (IS_ERR(serial->parent->dev)) + if (IS_ERR(serial->parent->dev)) { + release_minor(serial); goto exit2; + } - /* fill in specific data for later use */ - serial->minor = minor; serial->magic = HSO_SERIAL_MAGIC; spin_lock_init(&serial->serial_lock); serial->num_rx_urbs = num_urbs; @@ -2669,9 +2667,6 @@ serial->write_data = hso_std_serial_write_data; - /* and record this serial */ - set_serial_by_index(serial->minor, serial); - /* setup the proc dirs and files if needed */ hso_log_port(hso_dev); @@ -2728,9 +2723,6 @@ serial->shared_int->ref_count++; mutex_unlock(&serial->shared_int->shared_int_lock); - /* and record this serial */ - set_serial_by_index(serial->minor, serial); - /* setup the proc dirs and files if needed */ hso_log_port(hso_dev); @@ -3114,8 +3106,7 @@ cancel_work_sync(&serial_table[i]->async_put_intf); cancel_work_sync(&serial_table[i]->async_get_intf); hso_serial_tty_unregister(serial); - kref_put(&serial_table[i]->ref, hso_serial_ref_free); - set_serial_by_index(i, NULL); + kref_put(&serial->parent->ref, hso_serial_ref_free); } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/ipheth.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/ipheth.c @@ -59,7 +59,7 @@ #define IPHETH_USBINTF_SUBCLASS 253 #define IPHETH_USBINTF_PROTO 1 -#define IPHETH_BUF_SIZE 1516 +#define IPHETH_BUF_SIZE 1514 #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ #define IPHETH_TX_TIMEOUT (5 * HZ) --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/qmi_wwan.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/qmi_wwan.c @@ -441,13 +441,6 @@ goto err; } - /* we don't want to modify a running netdev */ - if (netif_running(dev->net)) { - netdev_err(dev->net, "Cannot change a running device\n"); - ret = -EBUSY; - goto err; - } - ret = qmimux_register_device(dev->net, mux_id); if (!ret) { info->flags |= QMI_WWAN_FLAG_MUX; @@ -477,13 +470,6 @@ if (!rtnl_trylock()) return restart_syscall(); - /* we don't want to modify a running netdev */ - if (netif_running(dev->net)) { - netdev_err(dev->net, "Cannot change a running device\n"); - ret = -EBUSY; - goto err; - } - del_dev = qmimux_find_dev(dev, mux_id); if (!del_dev) { netdev_err(dev->net, "mux_id not present\n"); @@ -1058,6 +1044,7 @@ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ /* 3. Combined interface devices matching on interface number */ @@ -1092,7 +1079,7 @@ {QMI_FIXED_INTF(0x05c6, 0x9011, 4)}, {QMI_FIXED_INTF(0x05c6, 0x9021, 1)}, {QMI_FIXED_INTF(0x05c6, 0x9022, 2)}, - {QMI_FIXED_INTF(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */ + {QMI_QUIRK_SET_DTR(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */ {QMI_FIXED_INTF(0x05c6, 0x9026, 3)}, {QMI_FIXED_INTF(0x05c6, 0x902e, 5)}, {QMI_FIXED_INTF(0x05c6, 0x9031, 5)}, @@ -1279,6 +1266,7 @@ {QMI_FIXED_INTF(0x19d2, 0x1255, 4)}, {QMI_FIXED_INTF(0x19d2, 0x1256, 4)}, {QMI_FIXED_INTF(0x19d2, 0x1270, 5)}, /* ZTE MF667 */ + {QMI_FIXED_INTF(0x19d2, 0x1275, 3)}, /* ZTE P685M */ {QMI_FIXED_INTF(0x19d2, 0x1401, 2)}, {QMI_FIXED_INTF(0x19d2, 0x1402, 2)}, /* ZTE MF60 */ {QMI_FIXED_INTF(0x19d2, 0x1424, 2)}, @@ -1331,6 +1319,7 @@ {QMI_FIXED_INTF(0x1bc7, 0x1101, 3)}, /* Telit ME910 dual modem */ {QMI_FIXED_INTF(0x1bc7, 0x1200, 5)}, /* Telit LE920 */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1201, 2)}, /* Telit LE920, LE920A4 */ + {QMI_QUIRK_SET_DTR(0x1bc7, 0x1230, 2)}, /* Telit LE910Cx */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1260, 2)}, /* Telit LE910Cx */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1261, 2)}, /* Telit LE910Cx */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1900, 1)}, /* Telit LN940 series */ @@ -1345,12 +1334,14 @@ {QMI_FIXED_INTF(0x0b3c, 0xc00a, 6)}, /* Olivetti Olicard 160 */ {QMI_FIXED_INTF(0x0b3c, 0xc00b, 4)}, /* Olivetti Olicard 500 */ {QMI_FIXED_INTF(0x1e2d, 0x0060, 4)}, /* Cinterion PLxx */ + {QMI_QUIRK_SET_DTR(0x1e2d, 0x006f, 8)}, /* Cinterion PLS83/PLS63 */ {QMI_FIXED_INTF(0x1e2d, 0x0053, 4)}, /* Cinterion PHxx,PXxx */ {QMI_FIXED_INTF(0x1e2d, 0x0063, 10)}, /* Cinterion ALASxx (1 RmNet) */ {QMI_FIXED_INTF(0x1e2d, 0x0082, 4)}, /* Cinterion PHxx,PXxx (2 RmNet) */ {QMI_FIXED_INTF(0x1e2d, 0x0082, 5)}, /* Cinterion PHxx,PXxx (2 RmNet) */ {QMI_FIXED_INTF(0x1e2d, 0x0083, 4)}, /* Cinterion PHxx,PXxx (1 RmNet + USB Audio)*/ {QMI_QUIRK_SET_DTR(0x1e2d, 0x00b0, 4)}, /* Cinterion CLS8 */ + {QMI_FIXED_INTF(0x1e2d, 0x00b7, 0)}, /* Cinterion MV31 RmNet */ {QMI_FIXED_INTF(0x413c, 0x81a2, 8)}, /* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */ {QMI_FIXED_INTF(0x413c, 0x81a3, 8)}, /* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */ {QMI_FIXED_INTF(0x413c, 0x81a4, 8)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */ @@ -1375,6 +1366,7 @@ {QMI_QUIRK_SET_DTR(0x2cb7, 0x0104, 4)}, /* Fibocom NL678 series */ {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) */ /* 4. Gobi 1000 devices */ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/r8152.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/r8152.c @@ -1504,7 +1504,7 @@ sa->sa_family = dev->type; - ret = eth_platform_get_mac_address(&dev->dev, sa->sa_data); + ret = eth_platform_get_mac_address(&tp->udev->dev, sa->sa_data); if (ret < 0) { if (tp->version == RTL_VER_01) { ret = pla_ocp_read(tp, PLA_IDR, 8, sa->sa_data); @@ -3033,29 +3033,6 @@ device_set_wakeup_enable(&tp->udev->dev, false); } -static void r8153_mac_clk_spd(struct r8152 *tp, bool enable) -{ - /* MAC clock speed down */ - if (enable) { - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, - ALDPS_SPDWN_RATIO); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2, - EEE_SPDWN_RATIO); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, - PKT_AVAIL_SPDWN_EN | SUSPEND_SPDWN_EN | - U1U2_SPDWN_EN | L1_SPDWN_EN); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4, - PWRSAVE_SPDWN_EN | RXDV_SPDWN_EN | TX10MIDLE_EN | - TP100_SPDWN_EN | TP500_SPDWN_EN | EEE_SPDWN_EN | - TP1000_SPDWN_EN); - } else { - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, 0); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2, 0); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, 0); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4, 0); - } -} - static void r8153_u1u2en(struct r8152 *tp, bool enable) { u8 u1u2[8]; @@ -3355,11 +3332,9 @@ if (enable) { r8153_u1u2en(tp, false); r8153_u2p3en(tp, false); - r8153_mac_clk_spd(tp, true); rtl_runtime_suspend_enable(tp, true); } else { rtl_runtime_suspend_enable(tp, false); - r8153_mac_clk_spd(tp, false); switch (tp->version) { case RTL_VER_03: @@ -4695,7 +4670,6 @@ { u32 ocp_data; - r8153_mac_clk_spd(tp, false); rxdy_gated_en(tp, true); r8153_teredo_off(tp); @@ -4746,8 +4720,6 @@ { u32 ocp_data; - r8153_mac_clk_spd(tp, true); - ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL); ocp_data &= ~NOW_IS_OOB; ocp_write_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, ocp_data); @@ -5473,10 +5445,15 @@ ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001); + /* MAC clock speed down */ + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, 0); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2, 0); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, 0); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL4, 0); + r8153_power_cut_en(tp, false); rtl_runtime_suspend_enable(tp, false); r8153_u1u2en(tp, true); - r8153_mac_clk_spd(tp, false); usb_enable_lpm(tp->udev); ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_CONFIG6); @@ -6542,7 +6519,10 @@ ops->in_nway = rtl8153_in_nway; ops->hw_phy_cfg = r8153_hw_phy_cfg; ops->autosuspend_en = rtl8153_runtime_enable; - tp->rx_buf_sz = 32 * 1024; + if (tp->udev->speed < USB_SPEED_SUPER) + tp->rx_buf_sz = 16 * 1024; + else + tp->rx_buf_sz = 32 * 1024; tp->eee_en = true; tp->eee_adv = MDIO_EEE_1000T | MDIO_EEE_100TX; break; @@ -6893,6 +6873,7 @@ {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7205)}, {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x720c)}, {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7214)}, + {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x721e)}, {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0xa387)}, {REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)}, {REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)}, --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/rndis_host.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/rndis_host.c @@ -201,7 +201,7 @@ dev_dbg(&info->control->dev, "rndis response error, code %d\n", retval); } - msleep(20); + msleep(40); } dev_dbg(&info->control->dev, "rndis response timeout\n"); return -ETIMEDOUT; @@ -387,7 +387,7 @@ reply_len = sizeof *phym; retval = rndis_query(dev, intf, u.buf, RNDIS_OID_GEN_PHYSICAL_MEDIUM, - 0, (void **) &phym, &reply_len); + reply_len, (void **)&phym, &reply_len); if (retval != 0 || !phym) { /* OID is optional so don't fail here. */ phym_unspec = cpu_to_le32(RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED); --- linux-riscv-5.8-5.8.0.orig/drivers/net/usb/rtl8150.c +++ linux-riscv-5.8-5.8.0/drivers/net/usb/rtl8150.c @@ -274,12 +274,20 @@ return 1; } -static inline void set_ethernet_addr(rtl8150_t * dev) +static void set_ethernet_addr(rtl8150_t *dev) { - u8 node_id[6]; + u8 node_id[ETH_ALEN]; + int ret; - get_registers(dev, IDR, sizeof(node_id), node_id); - memcpy(dev->netdev->dev_addr, node_id, sizeof(node_id)); + ret = get_registers(dev, IDR, sizeof(node_id), node_id); + + if (ret == sizeof(node_id)) { + ether_addr_copy(dev->netdev->dev_addr, node_id); + } else { + eth_hw_addr_random(dev->netdev); + netdev_notice(dev->netdev, "Assigned a random MAC address: %pM\n", + dev->netdev->dev_addr); + } } static int rtl8150_set_mac_address(struct net_device *netdev, void *p) --- linux-riscv-5.8-5.8.0.orig/drivers/net/veth.c +++ linux-riscv-5.8-5.8.0/drivers/net/veth.c @@ -301,8 +301,7 @@ if (rxq < rcv->real_num_rx_queues) { rq = &rcv_priv->rq[rxq]; rcv_xdp = rcu_access_pointer(rq->xdp_prog); - if (rcv_xdp) - skb_record_rx_queue(skb, rxq); + skb_record_rx_queue(skb, rxq); } skb_tx_timestamp(skb); --- linux-riscv-5.8-5.8.0.orig/drivers/net/virtio_net.c +++ linux-riscv-5.8-5.8.0/drivers/net/virtio_net.c @@ -63,6 +63,11 @@ VIRTIO_NET_F_GUEST_CSUM }; +#define GUEST_OFFLOAD_LRO_MASK ((1ULL << VIRTIO_NET_F_GUEST_TSO4) | \ + (1ULL << VIRTIO_NET_F_GUEST_TSO6) | \ + (1ULL << VIRTIO_NET_F_GUEST_ECN) | \ + (1ULL << VIRTIO_NET_F_GUEST_UFO)) + struct virtnet_stat_desc { char desc[ETH_GSTRING_LEN]; size_t offset; @@ -2088,14 +2093,16 @@ get_online_cpus(); err = _virtnet_set_queues(vi, queue_pairs); - if (!err) { - netif_set_real_num_tx_queues(dev, queue_pairs); - netif_set_real_num_rx_queues(dev, queue_pairs); - - virtnet_set_affinity(vi); + if (err) { + put_online_cpus(); + goto err; } + virtnet_set_affinity(vi); put_online_cpus(); + netif_set_real_num_tx_queues(dev, queue_pairs); + netif_set_real_num_rx_queues(dev, queue_pairs); + err: return err; } @@ -2547,7 +2554,8 @@ if (features & NETIF_F_LRO) offloads = vi->guest_offloads_capable; else - offloads = 0; + offloads = vi->guest_offloads_capable & + ~GUEST_OFFLOAD_LRO_MASK; err = virtnet_set_guest_offloads(vi, offloads); if (err) @@ -3083,6 +3091,7 @@ dev_err(&vdev->dev, "device MTU appears to have changed it is now %d < %d", mtu, dev->min_mtu); + err = -EINVAL; goto free; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/vmxnet3/vmxnet3_drv.c +++ linux-riscv-5.8-5.8.0/drivers/net/vmxnet3/vmxnet3_drv.c @@ -886,7 +886,8 @@ switch (protocol) { case IPPROTO_TCP: - ctx->l4_hdr_size = tcp_hdrlen(skb); + ctx->l4_hdr_size = skb->encapsulation ? inner_tcp_hdrlen(skb) : + tcp_hdrlen(skb); break; case IPPROTO_UDP: ctx->l4_hdr_size = sizeof(struct udphdr); @@ -1031,7 +1032,6 @@ /* Use temporary descriptor to avoid touching bits multiple times */ union Vmxnet3_GenericDesc tempTxDesc; #endif - struct udphdr *udph; count = txd_estimate(skb); @@ -1134,8 +1134,7 @@ gdesc->txd.om = VMXNET3_OM_ENCAP; gdesc->txd.msscof = ctx.mss; - udph = udp_hdr(skb); - if (udph->check) + if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL_CSUM) gdesc->txd.oco = 1; } else { gdesc->txd.hlen = ctx.l4_offset + ctx.l4_hdr_size; @@ -3370,6 +3369,7 @@ .ndo_change_mtu = vmxnet3_change_mtu, .ndo_fix_features = vmxnet3_fix_features, .ndo_set_features = vmxnet3_set_features, + .ndo_features_check = vmxnet3_features_check, .ndo_get_stats64 = vmxnet3_get_stats64, .ndo_tx_timeout = vmxnet3_tx_timeout, .ndo_set_rx_mode = vmxnet3_set_mc, --- linux-riscv-5.8-5.8.0.orig/drivers/net/vmxnet3/vmxnet3_ethtool.c +++ linux-riscv-5.8-5.8.0/drivers/net/vmxnet3/vmxnet3_ethtool.c @@ -267,6 +267,34 @@ return features; } +netdev_features_t vmxnet3_features_check(struct sk_buff *skb, + struct net_device *netdev, + netdev_features_t features) +{ + struct vmxnet3_adapter *adapter = netdev_priv(netdev); + + /* Validate if the tunneled packet is being offloaded by the device */ + if (VMXNET3_VERSION_GE_4(adapter) && + skb->encapsulation && skb->ip_summed == CHECKSUM_PARTIAL) { + u8 l4_proto = 0; + + switch (vlan_get_protocol(skb)) { + case htons(ETH_P_IP): + l4_proto = ip_hdr(skb)->protocol; + break; + case htons(ETH_P_IPV6): + l4_proto = ipv6_hdr(skb)->nexthdr; + break; + default: + return features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK); + } + + if (l4_proto != IPPROTO_UDP) + return features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK); + } + return features; +} + static void vmxnet3_enable_encap_offloads(struct net_device *netdev) { struct vmxnet3_adapter *adapter = netdev_priv(netdev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/vmxnet3/vmxnet3_int.h +++ linux-riscv-5.8-5.8.0/drivers/net/vmxnet3/vmxnet3_int.h @@ -470,6 +470,10 @@ netdev_features_t vmxnet3_fix_features(struct net_device *netdev, netdev_features_t features); +netdev_features_t +vmxnet3_features_check(struct sk_buff *skb, + struct net_device *netdev, netdev_features_t features); + int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features); --- linux-riscv-5.8-5.8.0.orig/drivers/net/vrf.c +++ linux-riscv-5.8-5.8.0/drivers/net/vrf.c @@ -332,8 +332,7 @@ return ret; } -static int vrf_finish_direct(struct net *net, struct sock *sk, - struct sk_buff *skb) +static void vrf_finish_direct(struct sk_buff *skb) { struct net_device *vrf_dev = skb->dev; @@ -352,7 +351,8 @@ skb_pull(skb, ETH_HLEN); } - return 1; + /* reset skb device */ + nf_reset_ct(skb); } #if IS_ENABLED(CONFIG_IPV6) @@ -431,15 +431,41 @@ return skb; } +static int vrf_output6_direct_finish(struct net *net, struct sock *sk, + struct sk_buff *skb) +{ + vrf_finish_direct(skb); + + return vrf_ip6_local_out(net, sk, skb); +} + static int vrf_output6_direct(struct net *net, struct sock *sk, struct sk_buff *skb) { + int err = 1; + skb->protocol = htons(ETH_P_IPV6); - return NF_HOOK_COND(NFPROTO_IPV6, NF_INET_POST_ROUTING, - net, sk, skb, NULL, skb->dev, - vrf_finish_direct, - !(IPCB(skb)->flags & IPSKB_REROUTED)); + if (!(IPCB(skb)->flags & IPSKB_REROUTED)) + err = nf_hook(NFPROTO_IPV6, NF_INET_POST_ROUTING, net, sk, skb, + NULL, skb->dev, vrf_output6_direct_finish); + + if (likely(err == 1)) + vrf_finish_direct(skb); + + return err; +} + +static int vrf_ip6_out_direct_finish(struct net *net, struct sock *sk, + struct sk_buff *skb) +{ + int err; + + err = vrf_output6_direct(net, sk, skb); + if (likely(err == 1)) + err = vrf_ip6_local_out(net, sk, skb); + + return err; } static struct sk_buff *vrf_ip6_out_direct(struct net_device *vrf_dev, @@ -452,18 +478,15 @@ skb->dev = vrf_dev; err = nf_hook(NFPROTO_IPV6, NF_INET_LOCAL_OUT, net, sk, - skb, NULL, vrf_dev, vrf_output6_direct); + skb, NULL, vrf_dev, vrf_ip6_out_direct_finish); if (likely(err == 1)) err = vrf_output6_direct(net, sk, skb); - /* reset skb device */ if (likely(err == 1)) - nf_reset_ct(skb); - else - skb = NULL; + return skb; - return skb; + return NULL; } static struct sk_buff *vrf_ip6_out(struct net_device *vrf_dev, @@ -643,15 +666,41 @@ return skb; } +static int vrf_output_direct_finish(struct net *net, struct sock *sk, + struct sk_buff *skb) +{ + vrf_finish_direct(skb); + + return vrf_ip_local_out(net, sk, skb); +} + static int vrf_output_direct(struct net *net, struct sock *sk, struct sk_buff *skb) { + int err = 1; + skb->protocol = htons(ETH_P_IP); - return NF_HOOK_COND(NFPROTO_IPV4, NF_INET_POST_ROUTING, - net, sk, skb, NULL, skb->dev, - vrf_finish_direct, - !(IPCB(skb)->flags & IPSKB_REROUTED)); + if (!(IPCB(skb)->flags & IPSKB_REROUTED)) + err = nf_hook(NFPROTO_IPV4, NF_INET_POST_ROUTING, net, sk, skb, + NULL, skb->dev, vrf_output_direct_finish); + + if (likely(err == 1)) + vrf_finish_direct(skb); + + return err; +} + +static int vrf_ip_out_direct_finish(struct net *net, struct sock *sk, + struct sk_buff *skb) +{ + int err; + + err = vrf_output_direct(net, sk, skb); + if (likely(err == 1)) + err = vrf_ip_local_out(net, sk, skb); + + return err; } static struct sk_buff *vrf_ip_out_direct(struct net_device *vrf_dev, @@ -664,18 +713,15 @@ skb->dev = vrf_dev; err = nf_hook(NFPROTO_IPV4, NF_INET_LOCAL_OUT, net, sk, - skb, NULL, vrf_dev, vrf_output_direct); + skb, NULL, vrf_dev, vrf_ip_out_direct_finish); if (likely(err == 1)) err = vrf_output_direct(net, sk, skb); - /* reset skb device */ if (likely(err == 1)) - nf_reset_ct(skb); - else - skb = NULL; + return skb; - return skb; + return NULL; } static struct sk_buff *vrf_ip_out(struct net_device *vrf_dev, @@ -993,11 +1039,17 @@ int orig_iif = skb->skb_iif; bool need_strict = rt6_need_strict(&ipv6_hdr(skb)->daddr); bool is_ndisc = ipv6_ndisc_frame(skb); + bool is_ll_src; /* loopback, multicast & non-ND link-local traffic; do not push through - * packet taps again. Reset pkt_type for upper layers to process skb + * packet taps again. Reset pkt_type for upper layers to process skb. + * for packets with lladdr src, however, skip so that the dst can be + * determine at input using original ifindex in the case that daddr + * needs strict */ - if (skb->pkt_type == PACKET_LOOPBACK || (need_strict && !is_ndisc)) { + is_ll_src = ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL; + if (skb->pkt_type == PACKET_LOOPBACK || + (need_strict && !is_ndisc && !is_ll_src)) { skb->dev = vrf_dev; skb->skb_iif = vrf_dev->ifindex; IP6CB(skb)->flags |= IP6SKB_L3SLAVE; --- linux-riscv-5.8-5.8.0.orig/drivers/net/vxlan.c +++ linux-riscv-5.8-5.8.0/drivers/net/vxlan.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -95,6 +96,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 inline bool vxlan_addr_equal(const union vxlan_addr *a, const union vxlan_addr *b) @@ -2697,6 +2859,13 @@ 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, @@ -2722,7 +2891,7 @@ ndst = &rt->dst; skb_tunnel_check_pmtu(skb, ndst, VXLAN_HEADROOM); - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); + tos = ip_tunnel_ecn_encap(tos, old_iph, skb); ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), vni, md, flags, udp_sum); @@ -2762,7 +2931,7 @@ skb_tunnel_check_pmtu(skb, ndst, VXLAN6_HEADROOM); - tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); + tos = ip_tunnel_ecn_encap(tos, old_iph, skb); ttl = ttl ? : ip6_dst_hoplimit(ndst); skb_scrub_packet(skb, xnet); err = vxlan_build_skb(skb, ndst, sizeof(struct ipv6hdr), @@ -2793,6 +2962,7 @@ dev->stats.tx_carrier_errors++; dst_release(ndst); dev->stats.tx_errors++; +tx_free: kfree_skb(skb); } @@ -2879,6 +3049,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; @@ -3275,6 +3459,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) @@ -3767,6 +3953,9 @@ dev->gso_max_segs = lowerdev->gso_max_segs; needed_headroom = lowerdev->hard_header_len; + needed_headroom += lowerdev->needed_headroom; + + dev->needed_tailroom = lowerdev->needed_tailroom; max_mtu = lowerdev->mtu - (use_ipv6 ? VXLAN6_HEADROOM : VXLAN_HEADROOM); @@ -3846,8 +4035,10 @@ if (dst->remote_ifindex) { remote_dev = __dev_get_by_index(net, dst->remote_ifindex); - if (!remote_dev) + if (!remote_dev) { + err = -ENODEV; goto errout; + } err = netdev_upper_dev_link(remote_dev, dev, extack); if (err) @@ -3966,6 +4157,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"); @@ -4300,6 +4497,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; } @@ -4346,6 +4544,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)) || @@ -4678,12 +4896,27 @@ return register_nexthop_notifier(net, &vxlan_nexthop_notifier_block); } +#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); struct vxlan_dev *vxlan, *next; struct net_device *dev, *aux; - unsigned int h; for_each_netdev_safe(net, dev, aux) if (dev->rtnl_link_ops == &vxlan_link_ops) @@ -4697,14 +4930,13 @@ unregister_netdevice_queue(vxlan->dev, head); } - for (h = 0; h < PORT_HASH_SIZE; ++h) - WARN_ON_ONCE(!hlist_empty(&vn->sock_list[h])); } static void __net_exit vxlan_exit_batch_net(struct list_head *net_list) { struct net *net; LIST_HEAD(list); + unsigned int h; rtnl_lock(); list_for_each_entry(net, net_list, exit_list) @@ -4714,6 +4946,13 @@ unregister_netdevice_many(&list); rtnl_unlock(); + + list_for_each_entry(net, net_list, exit_list) { + struct vxlan_net *vn = net_generic(net, vxlan_net_id); + + for (h = 0; h < PORT_HASH_SIZE; ++h) + WARN_ON_ONCE(!hlist_empty(&vn->sock_list[h])); + } } static struct pernet_operations vxlan_net_ops = { @@ -4745,7 +4984,20 @@ if (rc) goto out4; +#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: @@ -4759,6 +5011,9 @@ static void __exit vxlan_cleanup_module(void) { +#ifdef CONFIG_SYSCTL + unregister_net_sysctl_table(vxlan_fan_header); +#endif /* CONFIG_SYSCTL */ rtnl_link_unregister(&vxlan_link_ops); unregister_switchdev_notifier(&vxlan_switchdev_notifier_block); unregister_netdevice_notifier(&vxlan_notifier_block); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/wan/Kconfig @@ -282,6 +282,7 @@ tristate "Slic Maxim ds26522 card support" depends on SPI depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST + select BITREVERSE help This module initializes and configures the slic maxim card in T1 or E1 mode. --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/cosa.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/cosa.c @@ -889,6 +889,7 @@ chan->tx_status = 1; spin_unlock_irqrestore(&cosa->lock, flags); up(&chan->wsem); + kfree(kbuf); return -ERESTARTSYS; } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/fsl_ucc_hdlc.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/fsl_ucc_hdlc.c @@ -204,14 +204,18 @@ priv->rx_skbuff = kcalloc(priv->rx_ring_size, sizeof(*priv->rx_skbuff), GFP_KERNEL); - if (!priv->rx_skbuff) + if (!priv->rx_skbuff) { + ret = -ENOMEM; goto free_ucc_pram; + } priv->tx_skbuff = kcalloc(priv->tx_ring_size, sizeof(*priv->tx_skbuff), GFP_KERNEL); - if (!priv->tx_skbuff) + if (!priv->tx_skbuff) { + ret = -ENOMEM; goto free_rx_skbuff; + } priv->skb_curtx = 0; priv->skb_dirtytx = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc.c @@ -46,7 +46,15 @@ static int hdlc_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *p, struct net_device *orig_dev) { - struct hdlc_device *hdlc = dev_to_hdlc(dev); + struct hdlc_device *hdlc; + + /* First make sure "dev" is an HDLC device */ + if (!(dev->priv_flags & IFF_WAN_HDLC)) { + kfree_skb(skb); + return NET_RX_SUCCESS; + } + + hdlc = dev_to_hdlc(dev); if (!net_eq(dev_net(dev), &init_net)) { kfree_skb(skb); @@ -229,7 +237,8 @@ dev->min_mtu = 68; dev->max_mtu = HDLC_MAX_MTU; dev->type = ARPHRD_RAWHDLC; - dev->hard_header_len = 16; + dev->hard_header_len = 0; + dev->needed_headroom = 0; dev->addr_len = 0; dev->header_ops = &hdlc_null_ops; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc_cisco.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc_cisco.c @@ -118,6 +118,7 @@ skb_put(skb, sizeof(struct cisco_packet)); skb->priority = TC_PRIO_CONTROL; skb->dev = dev; + skb->protocol = htons(ETH_P_HDLC); skb_reset_network_header(skb); dev_queue_xmit(skb); @@ -370,6 +371,7 @@ memcpy(&state(hdlc)->settings, &new_settings, size); spin_lock_init(&state(hdlc)->lock); dev->header_ops = &cisco_header_ops; + dev->hard_header_len = sizeof(struct hdlc_header); dev->type = ARPHRD_CISCO; call_netdevice_notifiers(NETDEV_POST_TYPE_CHANGE, dev); netif_dormant_on(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc_fr.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc_fr.c @@ -273,63 +273,69 @@ static int fr_hard_header(struct sk_buff **skb_p, u16 dlci) { - u16 head_len; struct sk_buff *skb = *skb_p; - switch (skb->protocol) { - case cpu_to_be16(NLPID_CCITT_ANSI_LMI): - head_len = 4; - skb_push(skb, head_len); - skb->data[3] = NLPID_CCITT_ANSI_LMI; - break; - - case cpu_to_be16(NLPID_CISCO_LMI): - head_len = 4; - skb_push(skb, head_len); - skb->data[3] = NLPID_CISCO_LMI; - break; - - case cpu_to_be16(ETH_P_IP): - head_len = 4; - skb_push(skb, head_len); - skb->data[3] = NLPID_IP; - break; - - case cpu_to_be16(ETH_P_IPV6): - head_len = 4; - skb_push(skb, head_len); - skb->data[3] = NLPID_IPV6; - break; - - case cpu_to_be16(ETH_P_802_3): - head_len = 10; - if (skb_headroom(skb) < head_len) { - struct sk_buff *skb2 = skb_realloc_headroom(skb, - head_len); + if (!skb->dev) { /* Control packets */ + switch (dlci) { + case LMI_CCITT_ANSI_DLCI: + skb_push(skb, 4); + skb->data[3] = NLPID_CCITT_ANSI_LMI; + break; + + case LMI_CISCO_DLCI: + skb_push(skb, 4); + skb->data[3] = NLPID_CISCO_LMI; + break; + + default: + return -EINVAL; + } + + } else if (skb->dev->type == ARPHRD_DLCI) { + switch (skb->protocol) { + case htons(ETH_P_IP): + skb_push(skb, 4); + skb->data[3] = NLPID_IP; + break; + + case htons(ETH_P_IPV6): + skb_push(skb, 4); + skb->data[3] = NLPID_IPV6; + break; + + default: + skb_push(skb, 10); + skb->data[3] = FR_PAD; + skb->data[4] = NLPID_SNAP; + /* OUI 00-00-00 indicates an Ethertype follows */ + skb->data[5] = 0x00; + skb->data[6] = 0x00; + skb->data[7] = 0x00; + /* This should be an Ethertype: */ + *(__be16 *)(skb->data + 8) = skb->protocol; + } + + } else if (skb->dev->type == ARPHRD_ETHER) { + if (skb_headroom(skb) < 10) { + struct sk_buff *skb2 = skb_realloc_headroom(skb, 10); if (!skb2) return -ENOBUFS; dev_kfree_skb(skb); skb = *skb_p = skb2; } - skb_push(skb, head_len); + skb_push(skb, 10); skb->data[3] = FR_PAD; skb->data[4] = NLPID_SNAP; - skb->data[5] = FR_PAD; + /* OUI 00-80-C2 stands for the 802.1 organization */ + skb->data[5] = 0x00; skb->data[6] = 0x80; skb->data[7] = 0xC2; + /* PID 00-07 stands for Ethernet frames without FCS */ skb->data[8] = 0x00; - skb->data[9] = 0x07; /* bridged Ethernet frame w/out FCS */ - break; + skb->data[9] = 0x07; - default: - head_len = 10; - skb_push(skb, head_len); - skb->data[3] = FR_PAD; - skb->data[4] = NLPID_SNAP; - skb->data[5] = FR_PAD; - skb->data[6] = FR_PAD; - skb->data[7] = FR_PAD; - *(__be16*)(skb->data + 8) = skb->protocol; + } else { + return -EINVAL; } dlci_to_q922(skb->data, dlci); @@ -425,14 +431,16 @@ skb_put(skb, pad); memset(skb->data + len, 0, pad); } - skb->protocol = cpu_to_be16(ETH_P_802_3); } + skb->dev = dev; if (!fr_hard_header(&skb, pvc->dlci)) { dev->stats.tx_bytes += skb->len; dev->stats.tx_packets++; if (pvc->state.fecn) /* TX Congestion counter */ dev->stats.tx_compressed++; skb->dev = pvc->frad; + skb->protocol = htons(ETH_P_HDLC); + skb_reset_network_header(skb); dev_queue_xmit(skb); return NETDEV_TX_OK; } @@ -492,10 +500,8 @@ memset(skb->data, 0, len); skb_reserve(skb, 4); if (lmi == LMI_CISCO) { - skb->protocol = cpu_to_be16(NLPID_CISCO_LMI); fr_hard_header(&skb, LMI_CISCO_DLCI); } else { - skb->protocol = cpu_to_be16(NLPID_CCITT_ANSI_LMI); fr_hard_header(&skb, LMI_CCITT_ANSI_DLCI); } data = skb_tail_pointer(skb); @@ -555,6 +561,7 @@ skb_put(skb, i); skb->priority = TC_PRIO_CONTROL; skb->dev = dev; + skb->protocol = htons(ETH_P_HDLC); skb_reset_network_header(skb); dev_queue_xmit(skb); @@ -1041,7 +1048,7 @@ { dev->type = ARPHRD_DLCI; dev->flags = IFF_POINTOPOINT; - dev->hard_header_len = 10; + dev->hard_header_len = 0; dev->addr_len = 2; netif_keep_dst(dev); } @@ -1093,6 +1100,7 @@ dev->mtu = HDLC_MAX_MTU; dev->min_mtu = 68; dev->max_mtu = HDLC_MAX_MTU; + dev->needed_headroom = 10; dev->priv_flags |= IFF_NO_QUEUE; dev->ml_priv = pvc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc_ppp.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc_ppp.c @@ -251,6 +251,7 @@ skb->priority = TC_PRIO_CONTROL; skb->dev = dev; + skb->protocol = htons(ETH_P_HDLC); skb_reset_network_header(skb); skb_queue_tail(&tx_queue, skb); } @@ -383,11 +384,8 @@ } for (opt = data; len; len -= opt[1], opt += opt[1]) { - if (len < 2 || len < opt[1]) { - dev->stats.rx_errors++; - kfree(out); - return; /* bad packet, drop silently */ - } + if (len < 2 || opt[1] < 2 || len < opt[1]) + goto err_out; if (pid == PID_LCP) switch (opt[0]) { @@ -395,6 +393,8 @@ continue; /* MRU always OK and > 1500 bytes? */ case LCP_OPTION_ACCM: /* async control character map */ + if (opt[1] < sizeof(valid_accm)) + goto err_out; if (!memcmp(opt, valid_accm, sizeof(valid_accm))) continue; @@ -406,6 +406,8 @@ } break; case LCP_OPTION_MAGIC: + if (len < 6) + goto err_out; if (opt[1] != 6 || (!opt[2] && !opt[3] && !opt[4] && !opt[5])) break; /* reject invalid magic number */ @@ -424,6 +426,11 @@ ppp_cp_event(dev, pid, RCR_GOOD, CP_CONF_ACK, id, req_len, data); kfree(out); + return; + +err_out: + dev->stats.rx_errors++; + kfree(out); } static int ppp_rx(struct sk_buff *skb) @@ -562,6 +569,13 @@ unsigned long flags; spin_lock_irqsave(&ppp->lock, flags); + /* mod_timer could be called after we entered this function but + * before we got the lock. + */ + if (timer_pending(&proto->timer)) { + spin_unlock_irqrestore(&ppp->lock, flags); + return; + } switch (proto->state) { case STOPPING: case REQ_SENT: --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc_raw_eth.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc_raw_eth.c @@ -99,6 +99,7 @@ old_qlen = dev->tx_queue_len; ether_setup(dev); dev->tx_queue_len = old_qlen; + dev->priv_flags &= ~IFF_TX_SKB_SHARING; eth_hw_addr_random(dev); call_netdevice_notifiers(NETDEV_POST_TYPE_CHANGE, dev); netif_dormant_off(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/hdlc_x25.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/hdlc_x25.c @@ -23,6 +23,8 @@ struct x25_state { x25_hdlc_proto settings; + bool up; + spinlock_t up_lock; /* Protects "up" */ }; static int x25_ioctl(struct net_device *dev, struct ifreq *ifr); @@ -105,16 +107,32 @@ static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev) { + hdlc_device *hdlc = dev_to_hdlc(dev); + struct x25_state *x25st = state(hdlc); int result; + /* There should be a pseudo header of 1 byte added by upper layers. + * Check to make sure it is there before reading it. + */ + if (skb->len < 1) { + kfree_skb(skb); + return NETDEV_TX_OK; + } + + spin_lock_bh(&x25st->up_lock); + if (!x25st->up) { + spin_unlock_bh(&x25st->up_lock); + kfree_skb(skb); + return NETDEV_TX_OK; + } - /* X.25 to LAPB */ switch (skb->data[0]) { case X25_IFACE_DATA: /* Data to be transmitted */ skb_pull(skb, 1); skb_reset_network_header(skb); if ((result = lapb_data_request(dev, skb)) != LAPB_OK) dev_kfree_skb(skb); + spin_unlock_bh(&x25st->up_lock); return NETDEV_TX_OK; case X25_IFACE_CONNECT: @@ -143,6 +161,7 @@ break; } + spin_unlock_bh(&x25st->up_lock); dev_kfree_skb(skb); return NETDEV_TX_OK; } @@ -160,16 +179,17 @@ .data_transmit = x25_data_transmit, }; hdlc_device *hdlc = dev_to_hdlc(dev); + struct x25_state *x25st = state(hdlc); struct lapb_parms_struct params; int result; result = lapb_register(dev, &cb); if (result != LAPB_OK) - return result; + return -ENOMEM; result = lapb_getparms(dev, ¶ms); if (result != LAPB_OK) - return result; + return -EINVAL; if (state(hdlc)->settings.dce) params.mode = params.mode | LAPB_DCE; @@ -184,7 +204,11 @@ result = lapb_setparms(dev, ¶ms); if (result != LAPB_OK) - return result; + return -EINVAL; + + spin_lock_bh(&x25st->up_lock); + x25st->up = true; + spin_unlock_bh(&x25st->up_lock); return 0; } @@ -193,6 +217,13 @@ static void x25_close(struct net_device *dev) { + hdlc_device *hdlc = dev_to_hdlc(dev); + struct x25_state *x25st = state(hdlc); + + spin_lock_bh(&x25st->up_lock); + x25st->up = false; + spin_unlock_bh(&x25st->up_lock); + lapb_unregister(dev); } @@ -201,15 +232,28 @@ static int x25_rx(struct sk_buff *skb) { struct net_device *dev = skb->dev; + hdlc_device *hdlc = dev_to_hdlc(dev); + struct x25_state *x25st = state(hdlc); if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) { dev->stats.rx_dropped++; return NET_RX_DROP; } - if (lapb_data_received(dev, skb) == LAPB_OK) + spin_lock_bh(&x25st->up_lock); + if (!x25st->up) { + spin_unlock_bh(&x25st->up_lock); + kfree_skb(skb); + dev->stats.rx_dropped++; + return NET_RX_DROP; + } + + if (lapb_data_received(dev, skb) == LAPB_OK) { + spin_unlock_bh(&x25st->up_lock); return NET_RX_SUCCESS; + } + spin_unlock_bh(&x25st->up_lock); dev->stats.rx_errors++; dev_kfree_skb_any(skb); return NET_RX_DROP; @@ -294,6 +338,17 @@ return result; memcpy(&state(hdlc)->settings, &new_settings, size); + state(hdlc)->up = false; + spin_lock_init(&state(hdlc)->up_lock); + + /* There's no header_ops so hard_header_len should be 0. */ + dev->hard_header_len = 0; + /* When transmitting data: + * first we'll remove a pseudo header of 1 byte, + * then we'll prepend an LAPB header of at most 3 bytes. + */ + dev->needed_headroom = 3 - 1; + dev->type = ARPHRD_X25; call_netdevice_notifiers(NETDEV_POST_TYPE_CHANGE, dev); netif_dormant_off(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/lapbether.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/lapbether.c @@ -157,6 +157,12 @@ if (!netif_running(dev)) goto drop; + /* There should be a pseudo header of 1 byte added by upper layers. + * Check to make sure it is there before reading it. + */ + if (skb->len < 1) + goto drop; + switch (skb->data[0]) { case X25_IFACE_DATA: break; @@ -192,8 +198,6 @@ struct net_device *dev; int size = skb->len; - skb->protocol = htons(ETH_P_X25); - ptr = skb_push(skb, 2); *ptr++ = size % 256; @@ -204,6 +208,10 @@ skb->dev = dev = lapbeth->ethdev; + skb->protocol = htons(ETH_P_DEC); + + skb_reset_network_header(skb); + dev_hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0); dev_queue_xmit(skb); @@ -275,7 +283,6 @@ return -ENODEV; } - netif_start_queue(dev); return 0; } @@ -283,8 +290,6 @@ { int err; - netif_stop_queue(dev); - if ((err = lapb_unregister(dev)) != LAPB_OK) pr_err("lapb_unregister error: %d\n", err); @@ -305,6 +310,7 @@ dev->netdev_ops = &lapbeth_netdev_ops; dev->needs_free_netdev = true; dev->type = ARPHRD_X25; + dev->hard_header_len = 0; dev->mtu = 1000; dev->addr_len = 0; } @@ -331,7 +337,9 @@ * then this driver prepends a length field of 2 bytes, * then the underlying Ethernet device prepends its own header. */ - ndev->hard_header_len = -1 + 3 + 2 + dev->hard_header_len; + ndev->needed_headroom = -1 + 3 + 2 + dev->hard_header_len + + dev->needed_headroom; + ndev->needed_tailroom = dev->needed_tailroom; lapbeth = netdev_priv(ndev); lapbeth->axdev = ndev; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wan/lmc/lmc_main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wan/lmc/lmc_main.c @@ -912,6 +912,8 @@ break; default: printk(KERN_WARNING "%s: LMC UNKNOWN CARD!\n", dev->name); + unregister_hdlc_device(dev); + return -EIO; break; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/device.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/device.c @@ -138,7 +138,7 @@ else if (skb->protocol == htons(ETH_P_IPV6)) net_dbg_ratelimited("%s: No peer has allowed IPs matching %pI6\n", dev->name, &ipv6_hdr(skb)->daddr); - goto err; + goto err_icmp; } family = READ_ONCE(peer->endpoint.addr.sa_family); @@ -201,12 +201,13 @@ err_peer: wg_peer_put(peer); -err: - ++dev->stats.tx_errors; +err_icmp: if (skb->protocol == htons(ETH_P_IP)) icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, 0); else if (skb->protocol == htons(ETH_P_IPV6)) icmpv6_ndo_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_ADDR_UNREACH, 0); +err: + ++dev->stats.tx_errors; kfree_skb(skb); return ret; } @@ -234,8 +235,8 @@ destroy_workqueue(wg->handshake_receive_wq); destroy_workqueue(wg->handshake_send_wq); destroy_workqueue(wg->packet_crypt_wq); - wg_packet_queue_free(&wg->decrypt_queue, true); - wg_packet_queue_free(&wg->encrypt_queue, true); + wg_packet_queue_free(&wg->decrypt_queue); + wg_packet_queue_free(&wg->encrypt_queue); rcu_barrier(); /* Wait for all the peers to be actually freed. */ wg_ratelimiter_uninit(); memzero_explicit(&wg->static_identity, sizeof(wg->static_identity)); @@ -337,12 +338,12 @@ goto err_destroy_handshake_send; ret = wg_packet_queue_init(&wg->encrypt_queue, wg_packet_encrypt_worker, - true, MAX_QUEUED_PACKETS); + MAX_QUEUED_PACKETS); if (ret < 0) goto err_destroy_packet_crypt; ret = wg_packet_queue_init(&wg->decrypt_queue, wg_packet_decrypt_worker, - true, MAX_QUEUED_PACKETS); + MAX_QUEUED_PACKETS); if (ret < 0) goto err_free_encrypt_queue; @@ -367,9 +368,9 @@ err_uninit_ratelimiter: wg_ratelimiter_uninit(); err_free_decrypt_queue: - wg_packet_queue_free(&wg->decrypt_queue, true); + wg_packet_queue_free(&wg->decrypt_queue); err_free_encrypt_queue: - wg_packet_queue_free(&wg->encrypt_queue, true); + wg_packet_queue_free(&wg->encrypt_queue); err_destroy_packet_crypt: destroy_workqueue(wg->packet_crypt_wq); err_destroy_handshake_send: --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/device.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/device.h @@ -27,13 +27,14 @@ struct crypt_queue { struct ptr_ring ring; - union { - struct { - struct multicore_worker __percpu *worker; - int last_cpu; - }; - struct work_struct work; - }; + struct multicore_worker __percpu *worker; + int last_cpu; +}; + +struct prev_queue { + struct sk_buff *head, *tail, *peeked; + struct { struct sk_buff *next, *prev; } empty; // Match first 2 members of struct sk_buff. + atomic_t count; }; struct wg_device { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/noise.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/noise.c @@ -87,15 +87,12 @@ void wg_noise_handshake_clear(struct noise_handshake *handshake) { + down_write(&handshake->lock); wg_index_hashtable_remove( handshake->entry.peer->device->index_hashtable, &handshake->entry); - down_write(&handshake->lock); handshake_zero(handshake); up_write(&handshake->lock); - wg_index_hashtable_remove( - handshake->entry.peer->device->index_hashtable, - &handshake->entry); } static struct noise_keypair *keypair_create(struct wg_peer *peer) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/peer.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/peer.c @@ -32,27 +32,22 @@ peer = kzalloc(sizeof(*peer), GFP_KERNEL); if (unlikely(!peer)) return ERR_PTR(ret); - peer->device = wg; + if (dst_cache_init(&peer->endpoint_cache, GFP_KERNEL)) + goto err; + peer->device = wg; wg_noise_handshake_init(&peer->handshake, &wg->static_identity, public_key, preshared_key, peer); - if (dst_cache_init(&peer->endpoint_cache, GFP_KERNEL)) - goto err_1; - if (wg_packet_queue_init(&peer->tx_queue, wg_packet_tx_worker, false, - MAX_QUEUED_PACKETS)) - goto err_2; - if (wg_packet_queue_init(&peer->rx_queue, NULL, false, - MAX_QUEUED_PACKETS)) - goto err_3; - peer->internal_id = atomic64_inc_return(&peer_counter); peer->serial_work_cpu = nr_cpumask_bits; wg_cookie_init(&peer->latest_cookie); wg_timers_init(peer); wg_cookie_checker_precompute_peer_keys(peer); spin_lock_init(&peer->keypairs.keypair_update_lock); - INIT_WORK(&peer->transmit_handshake_work, - wg_packet_handshake_send_worker); + INIT_WORK(&peer->transmit_handshake_work, wg_packet_handshake_send_worker); + INIT_WORK(&peer->transmit_packet_work, wg_packet_tx_worker); + wg_prev_queue_init(&peer->tx_queue); + wg_prev_queue_init(&peer->rx_queue); rwlock_init(&peer->endpoint_lock); kref_init(&peer->refcount); skb_queue_head_init(&peer->staged_packet_queue); @@ -68,11 +63,7 @@ pr_debug("%s: Peer %llu created\n", wg->dev->name, peer->internal_id); return peer; -err_3: - wg_packet_queue_free(&peer->tx_queue, false); -err_2: - dst_cache_destroy(&peer->endpoint_cache); -err_1: +err: kfree(peer); return ERR_PTR(ret); } @@ -197,8 +188,7 @@ struct wg_peer *peer = container_of(rcu, struct wg_peer, rcu); dst_cache_destroy(&peer->endpoint_cache); - wg_packet_queue_free(&peer->rx_queue, false); - wg_packet_queue_free(&peer->tx_queue, false); + WARN_ON(wg_prev_queue_peek(&peer->tx_queue) || wg_prev_queue_peek(&peer->rx_queue)); /* The final zeroing takes care of clearing any remaining handshake key * material and other potentially sensitive information. --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/peer.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/peer.h @@ -36,7 +36,7 @@ struct wg_peer { struct wg_device *device; - struct crypt_queue tx_queue, rx_queue; + struct prev_queue tx_queue, rx_queue; struct sk_buff_head staged_packet_queue; int serial_work_cpu; struct noise_keypairs keypairs; @@ -45,7 +45,7 @@ rwlock_t endpoint_lock; struct noise_handshake handshake; atomic64_t last_sent_handshake; - struct work_struct transmit_handshake_work, clear_peer_work; + struct work_struct transmit_handshake_work, clear_peer_work, transmit_packet_work; struct cookie latest_cookie; struct hlist_node pubkey_hash; u64 rx_bytes, tx_bytes; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/peerlookup.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/peerlookup.c @@ -167,9 +167,13 @@ struct index_hashtable_entry *old, struct index_hashtable_entry *new) { - if (unlikely(hlist_unhashed(&old->index_hash))) - return false; + bool ret; + spin_lock_bh(&table->lock); + ret = !hlist_unhashed(&old->index_hash); + if (unlikely(!ret)) + goto out; + new->index = old->index; hlist_replace_rcu(&old->index_hash, &new->index_hash); @@ -180,8 +184,9 @@ * simply gets dropped, which isn't terrible. */ INIT_HLIST_NODE(&old->index_hash); +out: spin_unlock_bh(&table->lock); - return true; + return ret; } void wg_index_hashtable_remove(struct index_hashtable *table, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/queueing.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/queueing.c @@ -9,8 +9,7 @@ wg_packet_percpu_multicore_worker_alloc(work_func_t function, void *ptr) { int cpu; - struct multicore_worker __percpu *worker = - alloc_percpu(struct multicore_worker); + struct multicore_worker __percpu *worker = alloc_percpu(struct multicore_worker); if (!worker) return NULL; @@ -23,7 +22,7 @@ } int wg_packet_queue_init(struct crypt_queue *queue, work_func_t function, - bool multicore, unsigned int len) + unsigned int len) { int ret; @@ -31,25 +30,78 @@ ret = ptr_ring_init(&queue->ring, len, GFP_KERNEL); if (ret) return ret; - if (function) { - if (multicore) { - queue->worker = wg_packet_percpu_multicore_worker_alloc( - function, queue); - if (!queue->worker) { - ptr_ring_cleanup(&queue->ring, NULL); - return -ENOMEM; - } - } else { - INIT_WORK(&queue->work, function); - } + queue->worker = wg_packet_percpu_multicore_worker_alloc(function, queue); + if (!queue->worker) { + ptr_ring_cleanup(&queue->ring, NULL); + return -ENOMEM; } return 0; } -void wg_packet_queue_free(struct crypt_queue *queue, bool multicore) +void wg_packet_queue_free(struct crypt_queue *queue) { - if (multicore) - free_percpu(queue->worker); + free_percpu(queue->worker); WARN_ON(!__ptr_ring_empty(&queue->ring)); ptr_ring_cleanup(&queue->ring, NULL); } + +#define NEXT(skb) ((skb)->prev) +#define STUB(queue) ((struct sk_buff *)&queue->empty) + +void wg_prev_queue_init(struct prev_queue *queue) +{ + NEXT(STUB(queue)) = NULL; + queue->head = queue->tail = STUB(queue); + queue->peeked = NULL; + atomic_set(&queue->count, 0); + BUILD_BUG_ON( + offsetof(struct sk_buff, next) != offsetof(struct prev_queue, empty.next) - + offsetof(struct prev_queue, empty) || + offsetof(struct sk_buff, prev) != offsetof(struct prev_queue, empty.prev) - + offsetof(struct prev_queue, empty)); +} + +static void __wg_prev_queue_enqueue(struct prev_queue *queue, struct sk_buff *skb) +{ + WRITE_ONCE(NEXT(skb), NULL); + WRITE_ONCE(NEXT(xchg_release(&queue->head, skb)), skb); +} + +bool wg_prev_queue_enqueue(struct prev_queue *queue, struct sk_buff *skb) +{ + if (!atomic_add_unless(&queue->count, 1, MAX_QUEUED_PACKETS)) + return false; + __wg_prev_queue_enqueue(queue, skb); + return true; +} + +struct sk_buff *wg_prev_queue_dequeue(struct prev_queue *queue) +{ + struct sk_buff *tail = queue->tail, *next = smp_load_acquire(&NEXT(tail)); + + if (tail == STUB(queue)) { + if (!next) + return NULL; + queue->tail = next; + tail = next; + next = smp_load_acquire(&NEXT(next)); + } + if (next) { + queue->tail = next; + atomic_dec(&queue->count); + return tail; + } + if (tail != READ_ONCE(queue->head)) + return NULL; + __wg_prev_queue_enqueue(queue, STUB(queue)); + next = smp_load_acquire(&NEXT(tail)); + if (next) { + queue->tail = next; + atomic_dec(&queue->count); + return tail; + } + return NULL; +} + +#undef NEXT +#undef STUB --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/queueing.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/queueing.h @@ -17,12 +17,13 @@ struct wg_peer; struct multicore_worker; struct crypt_queue; +struct prev_queue; struct sk_buff; /* queueing.c APIs: */ int wg_packet_queue_init(struct crypt_queue *queue, work_func_t function, - bool multicore, unsigned int len); -void wg_packet_queue_free(struct crypt_queue *queue, bool multicore); + unsigned int len); +void wg_packet_queue_free(struct crypt_queue *queue); struct multicore_worker __percpu * wg_packet_percpu_multicore_worker_alloc(work_func_t function, void *ptr); @@ -135,8 +136,31 @@ return cpu; } +void wg_prev_queue_init(struct prev_queue *queue); + +/* Multi producer */ +bool wg_prev_queue_enqueue(struct prev_queue *queue, struct sk_buff *skb); + +/* Single consumer */ +struct sk_buff *wg_prev_queue_dequeue(struct prev_queue *queue); + +/* Single consumer */ +static inline struct sk_buff *wg_prev_queue_peek(struct prev_queue *queue) +{ + if (queue->peeked) + return queue->peeked; + queue->peeked = wg_prev_queue_dequeue(queue); + return queue->peeked; +} + +/* Single consumer */ +static inline void wg_prev_queue_drop_peeked(struct prev_queue *queue) +{ + queue->peeked = NULL; +} + static inline int wg_queue_enqueue_per_device_and_peer( - struct crypt_queue *device_queue, struct crypt_queue *peer_queue, + struct crypt_queue *device_queue, struct prev_queue *peer_queue, struct sk_buff *skb, struct workqueue_struct *wq, int *next_cpu) { int cpu; @@ -145,8 +169,9 @@ /* We first queue this up for the peer ingestion, but the consumer * will wait for the state to change to CRYPTED or DEAD before. */ - if (unlikely(ptr_ring_produce_bh(&peer_queue->ring, skb))) + if (unlikely(!wg_prev_queue_enqueue(peer_queue, skb))) return -ENOSPC; + /* Then we queue it up in the device queue, which consumes the * packet as soon as it can. */ @@ -157,9 +182,7 @@ return 0; } -static inline void wg_queue_enqueue_per_peer(struct crypt_queue *queue, - struct sk_buff *skb, - enum packet_state state) +static inline void wg_queue_enqueue_per_peer_tx(struct sk_buff *skb, enum packet_state state) { /* We take a reference, because as soon as we call atomic_set, the * peer can be freed from below us. @@ -167,14 +190,12 @@ struct wg_peer *peer = wg_peer_get(PACKET_PEER(skb)); atomic_set_release(&PACKET_CB(skb)->state, state); - queue_work_on(wg_cpumask_choose_online(&peer->serial_work_cpu, - peer->internal_id), - peer->device->packet_crypt_wq, &queue->work); + queue_work_on(wg_cpumask_choose_online(&peer->serial_work_cpu, peer->internal_id), + peer->device->packet_crypt_wq, &peer->transmit_packet_work); wg_peer_put(peer); } -static inline void wg_queue_enqueue_per_peer_napi(struct sk_buff *skb, - enum packet_state state) +static inline void wg_queue_enqueue_per_peer_rx(struct sk_buff *skb, enum packet_state state) { /* We take a reference, because as soon as we call atomic_set, the * peer can be freed from below us. --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/receive.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/receive.c @@ -444,7 +444,6 @@ int wg_packet_rx_poll(struct napi_struct *napi, int budget) { struct wg_peer *peer = container_of(napi, struct wg_peer, napi); - struct crypt_queue *queue = &peer->rx_queue; struct noise_keypair *keypair; struct endpoint endpoint; enum packet_state state; @@ -455,11 +454,10 @@ if (unlikely(budget <= 0)) return 0; - while ((skb = __ptr_ring_peek(&queue->ring)) != NULL && + while ((skb = wg_prev_queue_peek(&peer->rx_queue)) != NULL && (state = atomic_read_acquire(&PACKET_CB(skb)->state)) != PACKET_STATE_UNCRYPTED) { - __ptr_ring_discard_one(&queue->ring); - peer = PACKET_PEER(skb); + wg_prev_queue_drop_peeked(&peer->rx_queue); keypair = PACKET_CB(skb)->keypair; free = true; @@ -508,7 +506,7 @@ enum packet_state state = likely(decrypt_packet(skb, PACKET_CB(skb)->keypair)) ? PACKET_STATE_CRYPTED : PACKET_STATE_DEAD; - wg_queue_enqueue_per_peer_napi(skb, state); + wg_queue_enqueue_per_peer_rx(skb, state); if (need_resched()) cond_resched(); } @@ -531,12 +529,10 @@ if (unlikely(READ_ONCE(peer->is_dead))) goto err; - ret = wg_queue_enqueue_per_device_and_peer(&wg->decrypt_queue, - &peer->rx_queue, skb, - wg->packet_crypt_wq, - &wg->decrypt_queue.last_cpu); + ret = wg_queue_enqueue_per_device_and_peer(&wg->decrypt_queue, &peer->rx_queue, skb, + wg->packet_crypt_wq, &wg->decrypt_queue.last_cpu); if (unlikely(ret == -EPIPE)) - wg_queue_enqueue_per_peer_napi(skb, PACKET_STATE_DEAD); + wg_queue_enqueue_per_peer_rx(skb, PACKET_STATE_DEAD); if (likely(!ret || ret == -EPIPE)) { rcu_read_unlock_bh(); return; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireguard/send.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireguard/send.c @@ -239,8 +239,7 @@ wg_packet_send_staged_packets(peer); } -static void wg_packet_create_data_done(struct sk_buff *first, - struct wg_peer *peer) +static void wg_packet_create_data_done(struct wg_peer *peer, struct sk_buff *first) { struct sk_buff *skb, *next; bool is_keepalive, data_sent = false; @@ -262,22 +261,19 @@ void wg_packet_tx_worker(struct work_struct *work) { - struct crypt_queue *queue = container_of(work, struct crypt_queue, - work); + struct wg_peer *peer = container_of(work, struct wg_peer, transmit_packet_work); struct noise_keypair *keypair; enum packet_state state; struct sk_buff *first; - struct wg_peer *peer; - while ((first = __ptr_ring_peek(&queue->ring)) != NULL && + while ((first = wg_prev_queue_peek(&peer->tx_queue)) != NULL && (state = atomic_read_acquire(&PACKET_CB(first)->state)) != PACKET_STATE_UNCRYPTED) { - __ptr_ring_discard_one(&queue->ring); - peer = PACKET_PEER(first); + wg_prev_queue_drop_peeked(&peer->tx_queue); keypair = PACKET_CB(first)->keypair; if (likely(state == PACKET_STATE_CRYPTED)) - wg_packet_create_data_done(first, peer); + wg_packet_create_data_done(peer, first); else kfree_skb_list(first); @@ -306,16 +302,14 @@ break; } } - wg_queue_enqueue_per_peer(&PACKET_PEER(first)->tx_queue, first, - state); + wg_queue_enqueue_per_peer_tx(first, state); if (need_resched()) cond_resched(); } } -static void wg_packet_create_data(struct sk_buff *first) +static void wg_packet_create_data(struct wg_peer *peer, struct sk_buff *first) { - struct wg_peer *peer = PACKET_PEER(first); struct wg_device *wg = peer->device; int ret = -EINVAL; @@ -323,13 +317,10 @@ if (unlikely(READ_ONCE(peer->is_dead))) goto err; - ret = wg_queue_enqueue_per_device_and_peer(&wg->encrypt_queue, - &peer->tx_queue, first, - wg->packet_crypt_wq, - &wg->encrypt_queue.last_cpu); + ret = wg_queue_enqueue_per_device_and_peer(&wg->encrypt_queue, &peer->tx_queue, first, + wg->packet_crypt_wq, &wg->encrypt_queue.last_cpu); if (unlikely(ret == -EPIPE)) - wg_queue_enqueue_per_peer(&peer->tx_queue, first, - PACKET_STATE_DEAD); + wg_queue_enqueue_per_peer_tx(first, PACKET_STATE_DEAD); err: rcu_read_unlock_bh(); if (likely(!ret || ret == -EPIPE)) @@ -393,7 +384,7 @@ packets.prev->next = NULL; wg_peer_get(keypair->entry.peer); PACKET_CB(packets.next)->keypair = keypair; - wg_packet_create_data(packets.next); + wg_packet_create_data(peer, packets.next); return; out_invalid: --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/ce.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/ce.c @@ -1555,7 +1555,7 @@ ret = ath10k_ce_alloc_shadow_base(ar, src_ring, nentries); if (ret) { dma_free_coherent(ar->dev, - (nentries * sizeof(struct ce_desc_64) + + (nentries * sizeof(struct ce_desc) + CE_DESC_RING_ALIGN), src_ring->base_addr_owner_space_unaligned, base_addr); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/htt.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/htt.h @@ -845,6 +845,7 @@ #define ATH10K_HTT_TXRX_PEER_SECURITY_MAX 2 #define ATH10K_TXRX_NUM_EXT_TIDS 19 +#define ATH10K_TXRX_NON_QOS_TID 16 enum htt_security_flags { #define HTT_SECURITY_TYPE_MASK 0x7F --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/htt_rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -142,6 +142,14 @@ BUILD_BUG_ON(HTT_RX_RING_FILL_LEVEL >= HTT_RX_RING_SIZE / 2); idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr); + + if (idx < 0 || idx >= htt->rx_ring.size) { + ath10k_err(htt->ar, "rx ring index is not valid, firmware malfunctioning?\n"); + idx &= htt->rx_ring.size_mask; + ret = -ENOMEM; + goto fail; + } + while (num > 0) { skb = dev_alloc_skb(HTT_RX_BUF_SIZE + HTT_RX_DESC_ALIGN); if (!skb) { @@ -941,6 +949,7 @@ u8 preamble = 0; u8 group_id; u32 info1, info2, info3; + u32 stbc, nsts_su; info1 = __le32_to_cpu(rxd->ppdu_start.info1); info2 = __le32_to_cpu(rxd->ppdu_start.info2); @@ -985,11 +994,16 @@ */ bw = info2 & 3; sgi = info3 & 1; + stbc = (info2 >> 3) & 1; group_id = (info2 >> 4) & 0x3F; if (GROUP_ID_IS_SU_MIMO(group_id)) { mcs = (info3 >> 4) & 0x0F; - nss = ((info2 >> 10) & 0x07) + 1; + nsts_su = ((info2 >> 10) & 0x07); + if (stbc) + nss = (nsts_su >> 2) + 1; + else + nss = (nsts_su + 1); } else { /* Hardware doesn't decode VHT-SIG-B into Rx descriptor * so it's impossible to decode MCS. Also since @@ -1732,16 +1746,97 @@ msdu->ip_summed = ath10k_htt_rx_get_csum_state(msdu); } +static u64 ath10k_htt_rx_h_get_pn(struct ath10k *ar, struct sk_buff *skb, + u16 offset, + enum htt_rx_mpdu_encrypt_type enctype) +{ + struct ieee80211_hdr *hdr; + u64 pn = 0; + u8 *ehdr; + + hdr = (struct ieee80211_hdr *)(skb->data + offset); + ehdr = skb->data + offset + ieee80211_hdrlen(hdr->frame_control); + + if (enctype == HTT_RX_MPDU_ENCRYPT_AES_CCM_WPA2) { + pn = ehdr[0]; + pn |= (u64)ehdr[1] << 8; + pn |= (u64)ehdr[4] << 16; + pn |= (u64)ehdr[5] << 24; + pn |= (u64)ehdr[6] << 32; + pn |= (u64)ehdr[7] << 40; + } + return pn; +} + +static bool ath10k_htt_rx_h_frag_multicast_check(struct ath10k *ar, + struct sk_buff *skb, + u16 offset) +{ + struct ieee80211_hdr *hdr; + + hdr = (struct ieee80211_hdr *)(skb->data + offset); + return !is_multicast_ether_addr(hdr->addr1); +} + +static bool ath10k_htt_rx_h_frag_pn_check(struct ath10k *ar, + struct sk_buff *skb, + u16 peer_id, + u16 offset, + enum htt_rx_mpdu_encrypt_type enctype) +{ + struct ath10k_peer *peer; + union htt_rx_pn_t *last_pn, new_pn = {0}; + struct ieee80211_hdr *hdr; + bool more_frags; + u8 tid, frag_number; + u32 seq; + + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer) { + ath10k_dbg(ar, ATH10K_DBG_HTT, "invalid peer for frag pn check\n"); + return false; + } + + hdr = (struct ieee80211_hdr *)(skb->data + offset); + if (ieee80211_is_data_qos(hdr->frame_control)) + tid = ieee80211_get_tid(hdr); + else + tid = ATH10K_TXRX_NON_QOS_TID; + + last_pn = &peer->frag_tids_last_pn[tid]; + new_pn.pn48 = ath10k_htt_rx_h_get_pn(ar, skb, offset, enctype); + more_frags = ieee80211_has_morefrags(hdr->frame_control); + frag_number = le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG; + seq = (__le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4; + + if (frag_number == 0) { + last_pn->pn48 = new_pn.pn48; + peer->frag_tids_seq[tid] = seq; + } else { + if (seq != peer->frag_tids_seq[tid]) + return false; + + if (new_pn.pn48 != last_pn->pn48 + 1) + return false; + + last_pn->pn48 = new_pn.pn48; + } + + return true; +} + static void ath10k_htt_rx_h_mpdu(struct ath10k *ar, struct sk_buff_head *amsdu, struct ieee80211_rx_status *status, bool fill_crypt_header, u8 *rx_hdr, - enum ath10k_pkt_rx_err *err) + enum ath10k_pkt_rx_err *err, + u16 peer_id, + bool frag) { struct sk_buff *first; struct sk_buff *last; - struct sk_buff *msdu; + struct sk_buff *msdu, *temp; struct htt_rx_desc *rxd; struct ieee80211_hdr *hdr; enum htt_rx_mpdu_encrypt_type enctype; @@ -1754,6 +1849,7 @@ bool is_decrypted; bool is_mgmt; u32 attention; + bool frag_pn_check = true, multicast_check = true; if (skb_queue_empty(amsdu)) return; @@ -1852,7 +1948,37 @@ } skb_queue_walk(amsdu, msdu) { + if (frag && !fill_crypt_header && is_decrypted && + enctype == HTT_RX_MPDU_ENCRYPT_AES_CCM_WPA2) + frag_pn_check = ath10k_htt_rx_h_frag_pn_check(ar, + msdu, + peer_id, + 0, + enctype); + + if (frag) + multicast_check = ath10k_htt_rx_h_frag_multicast_check(ar, + msdu, + 0); + + if (!frag_pn_check || !multicast_check) { + /* Discard the fragment with invalid PN or multicast DA + */ + temp = msdu->prev; + __skb_unlink(msdu, amsdu); + dev_kfree_skb_any(msdu); + msdu = temp; + frag_pn_check = true; + multicast_check = true; + continue; + } + ath10k_htt_rx_h_csum_offload(msdu); + + if (frag && !fill_crypt_header && + enctype == HTT_RX_MPDU_ENCRYPT_TKIP_WPA) + status->flag &= ~RX_FLAG_MMIC_STRIPPED; + ath10k_htt_rx_h_undecap(ar, msdu, status, first_hdr, enctype, is_decrypted); @@ -1870,6 +1996,11 @@ hdr = (void *)msdu->data; hdr->frame_control &= ~__cpu_to_le16(IEEE80211_FCTL_PROTECTED); + + if (frag && !fill_crypt_header && + enctype == HTT_RX_MPDU_ENCRYPT_TKIP_WPA) + status->flag &= ~RX_FLAG_IV_STRIPPED & + ~RX_FLAG_MMIC_STRIPPED; } } @@ -2057,7 +2188,8 @@ ath10k_htt_rx_h_unchain(ar, &amsdu, &drop_cnt, &unchain_cnt); ath10k_htt_rx_h_filter(ar, &amsdu, rx_status, &drop_cnt_filter); - ath10k_htt_rx_h_mpdu(ar, &amsdu, rx_status, true, first_hdr, &err); + ath10k_htt_rx_h_mpdu(ar, &amsdu, rx_status, true, first_hdr, &err, 0, + false); msdus_to_queue = skb_queue_len(&amsdu); ath10k_htt_rx_h_enqueue(ar, &amsdu, rx_status); @@ -2190,6 +2322,11 @@ fw_desc = &rx->fw_desc; rx_desc_len = fw_desc->len; + if (fw_desc->u.bits.discard) { + ath10k_dbg(ar, ATH10K_DBG_HTT, "htt discard mpdu\n"); + goto err; + } + /* I have not yet seen any case where num_mpdu_ranges > 1. * qcacld does not seem handle that case either, so we introduce the * same limitiation here as well. @@ -2495,6 +2632,13 @@ rx_desc = (struct htt_hl_rx_desc *)(skb->data + tot_hdr_len); rx_desc_info = __le32_to_cpu(rx_desc->info); + hdr = (struct ieee80211_hdr *)((u8 *)rx_desc + rx_hl->fw_desc.len); + + if (is_multicast_ether_addr(hdr->addr1)) { + /* Discard the fragment with multicast DA */ + goto err; + } + if (!MS(rx_desc_info, HTT_RX_DESC_HL_INFO_ENCRYPTED)) { spin_unlock_bh(&ar->data_lock); return ath10k_htt_rx_proc_rx_ind_hl(htt, &resp->rx_ind_hl, skb, @@ -2502,8 +2646,6 @@ HTT_RX_NON_TKIP_MIC); } - hdr = (struct ieee80211_hdr *)((u8 *)rx_desc + rx_hl->fw_desc.len); - if (ieee80211_has_retry(hdr->frame_control)) goto err; @@ -3013,7 +3155,7 @@ ath10k_htt_rx_h_ppdu(ar, &amsdu, status, vdev_id); ath10k_htt_rx_h_filter(ar, &amsdu, status, NULL); ath10k_htt_rx_h_mpdu(ar, &amsdu, status, false, NULL, - NULL); + NULL, peer_id, frag); ath10k_htt_rx_h_enqueue(ar, &amsdu, status); break; case -EAGAIN: @@ -3575,12 +3717,14 @@ } if (ar->htt.disable_tx_comp) { - arsta->tx_retries += peer_stats->retry_pkts; arsta->tx_failed += peer_stats->failed_pkts; - ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d tx failed %d\n", - arsta->tx_retries, arsta->tx_failed); + ath10k_dbg(ar, ATH10K_DBG_HTT, "tx failed %d\n", + arsta->tx_failed); } + arsta->tx_retries += peer_stats->retry_pkts; + ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d", arsta->tx_retries); + if (ath10k_debug_is_extd_tx_stats_enabled(ar)) ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats, rate_idx); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/htt_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/htt_tx.c @@ -1591,7 +1591,9 @@ err_unmap_msdu: dma_unmap_single(dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE); err_free_msdu_id: + spin_lock_bh(&htt->tx_lock); ath10k_htt_tx_free_msdu_id(htt, msdu_id); + spin_unlock_bh(&htt->tx_lock); err: return res; } @@ -1798,7 +1800,9 @@ err_unmap_msdu: dma_unmap_single(dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE); err_free_msdu_id: + spin_lock_bh(&htt->tx_lock); ath10k_htt_tx_free_msdu_id(htt, msdu_id); + spin_unlock_bh(&htt->tx_lock); err: return res; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/mac.c @@ -3680,23 +3680,16 @@ static int ath10k_mac_tx_wmi_mgmt(struct ath10k *ar, struct sk_buff *skb) { struct sk_buff_head *q = &ar->wmi_mgmt_tx_queue; - int ret = 0; - - spin_lock_bh(&ar->data_lock); - if (skb_queue_len(q) == ATH10K_MAX_NUM_MGMT_PENDING) { + if (skb_queue_len_lockless(q) >= ATH10K_MAX_NUM_MGMT_PENDING) { ath10k_warn(ar, "wmi mgmt tx queue is full\n"); - ret = -ENOSPC; - goto unlock; + return -ENOSPC; } - __skb_queue_tail(q, skb); + skb_queue_tail(q, skb); ieee80211_queue_work(ar->hw, &ar->wmi_mgmt_tx_work); -unlock: - spin_unlock_bh(&ar->data_lock); - - return ret; + return 0; } static enum ath10k_mac_tx_path @@ -7283,7 +7276,7 @@ struct ieee80211_channel *channel) { int ret; - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; lockdep_assert_held(&ar->conf_mutex); @@ -8528,7 +8521,9 @@ if (!ath10k_peer_stats_enabled(ar)) return; + mutex_lock(&ar->conf_mutex); ath10k_debug_fw_stats_request(ar); + mutex_unlock(&ar->conf_mutex); sinfo->rx_duration = arsta->rx_duration; sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_DURATION); @@ -8547,12 +8542,13 @@ sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BITRATE); if (ar->htt.disable_tx_comp) { - sinfo->tx_retries = arsta->tx_retries; - sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES); sinfo->tx_failed = arsta->tx_failed; sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED); } + sinfo->tx_retries = arsta->tx_retries; + sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES); + ath10k_mac_sta_get_peer_stats_info(ar, sta, sinfo); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/rx_desc.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/rx_desc.h @@ -1282,7 +1282,19 @@ #define FW_RX_DESC_UDP (1 << 6) struct fw_rx_desc_hl { - u8 info0; + union { + struct { + u8 discard:1, + forward:1, + any_err:1, + dup_err:1, + reserved:1, + inspect:1, + extension:2; + } bits; + u8 info0; + } u; + u8 version; u8 len; u8 flags; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/sdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/sdio.c @@ -557,6 +557,10 @@ le16_to_cpu(htc_hdr->len), ATH10K_HTC_MBOX_MAX_PAYLOAD_LENGTH); ret = -ENOMEM; + + queue_work(ar->workqueue, &ar->restart_work); + ath10k_warn(ar, "exceeds length, start recovery\n"); + goto err; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/snoc.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/snoc.c @@ -1042,12 +1042,13 @@ ret = ath10k_snoc_init_pipes(ar); if (ret) { ath10k_err(ar, "failed to initialize CE: %d\n", ret); - goto err_wlan_enable; + goto err_free_rri; } return 0; -err_wlan_enable: +err_free_rri: + ath10k_ce_free_rri(ar); ath10k_snoc_wlan_disable(ar); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/usb.c @@ -997,6 +997,8 @@ ar_usb = ath10k_usb_priv(ar); ret = ath10k_usb_create(ar, interface); + if (ret) + goto err; ar_usb->ar = ar; ar->dev_id = product_id; @@ -1009,7 +1011,7 @@ ret = ath10k_core_register(ar, &bus_params); if (ret) { ath10k_warn(ar, "failed to register driver core: %d\n", ret); - goto err; + goto err_usb_destroy; } /* TODO: remove this once USB support is fully implemented */ @@ -1017,6 +1019,9 @@ return 0; +err_usb_destroy: + ath10k_usb_destroy(ar); + err: ath10k_core_destroy(ar); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -240,8 +240,10 @@ __le32_to_cpu(stat->last_tx_rate_code), __le32_to_cpu(stat->last_tx_bitrate_kbps)); + rcu_read_lock(); sta = ieee80211_find_sta_by_ifaddr(ar->hw, stat->peer_macaddr.addr, NULL); if (!sta) { + rcu_read_unlock(); ath10k_warn(ar, "not found station for peer stats\n"); return -EINVAL; } @@ -251,6 +253,7 @@ arsta->rx_bitrate_kbps = __le32_to_cpu(stat->last_rx_bitrate_kbps); arsta->tx_rate_code = __le32_to_cpu(stat->last_tx_rate_code); arsta->tx_bitrate_kbps = __le32_to_cpu(stat->last_tx_bitrate_kbps); + rcu_read_unlock(); return 0; } @@ -573,13 +576,13 @@ case WMI_TDLS_TEARDOWN_REASON_TX: case WMI_TDLS_TEARDOWN_REASON_RSSI: case WMI_TDLS_TEARDOWN_REASON_PTR_TIMEOUT: + rcu_read_lock(); station = ieee80211_find_sta_by_ifaddr(ar->hw, ev->peer_macaddr.addr, NULL); if (!station) { ath10k_warn(ar, "did not find station from tdls peer event"); - kfree(tb); - return; + goto exit; } arvif = ath10k_get_arvif(ar, __le32_to_cpu(ev->vdev_id)); ieee80211_tdls_oper_request( @@ -590,6 +593,9 @@ ); break; } + +exit: + rcu_read_unlock(); kfree(tb); } @@ -1401,13 +1407,15 @@ switch (tag) { case WMI_TLV_TAG_STRUCT_SERVICE_AVAILABLE_EVENT: + arg->service_map_ext_valid = true; arg->service_map_ext_len = *(__le32 *)ptr; arg->service_map_ext = ptr + sizeof(__le32); return 0; default: break; } - return -EPROTO; + + return 0; } static int ath10k_wmi_tlv_op_pull_svc_avail(struct ath10k *ar, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/wmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/wmi.c @@ -5750,8 +5750,13 @@ ret); } - ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, - __le32_to_cpu(arg.service_map_ext_len)); + /* + * Initialization of "arg.service_map_ext_valid" to ZERO is necessary + * for the below logic to work. + */ + if (arg.service_map_ext_valid) + ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, + __le32_to_cpu(arg.service_map_ext_len)); } static int ath10k_wmi_event_temperature(struct ath10k *ar, struct sk_buff *skb) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath10k/wmi.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath10k/wmi.h @@ -6906,6 +6906,7 @@ }; struct wmi_svc_avail_ev_arg { + bool service_map_ext_valid; __le32 service_map_ext_len; const __le32 *service_map_ext; }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/ahb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/ahb.c @@ -981,12 +981,16 @@ static int ath11k_ahb_remove(struct platform_device *pdev) { struct ath11k_base *ab = platform_get_drvdata(pdev); + unsigned long left; reinit_completion(&ab->driver_recovery); - if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags)) - wait_for_completion_timeout(&ab->driver_recovery, - ATH11K_AHB_RECOVERY_TIMEOUT); + if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags)) { + left = wait_for_completion_timeout(&ab->driver_recovery, + ATH11K_AHB_RECOVERY_TIMEOUT); + if (!left) + ath11k_warn(ab, "failed to receive recovery response completion\n"); + } set_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags); cancel_work_sync(&ab->restart_work); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/core.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/core.c @@ -653,6 +653,7 @@ complete(&ar->scan.started); complete(&ar->scan.completed); complete(&ar->peer_assoc_done); + complete(&ar->peer_delete_done); complete(&ar->install_key_done); complete(&ar->vdev_setup_done); complete(&ar->bss_survey_done); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/core.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/core.h @@ -487,6 +487,7 @@ u8 lmac_id; struct completion peer_assoc_done; + struct completion peer_delete_done; int install_key_status; struct completion install_key_done; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/dp_rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/dp_rx.c @@ -760,6 +760,24 @@ __skb_queue_purge(&rx_tid->rx_frags); } +void ath11k_peer_frags_flush(struct ath11k *ar, struct ath11k_peer *peer) +{ + struct dp_rx_tid *rx_tid; + int i; + + lockdep_assert_held(&ar->ab->base_lock); + + for (i = 0; i <= IEEE80211_NUM_TIDS; i++) { + rx_tid = &peer->rx_tid[i]; + + spin_unlock_bh(&ar->ab->base_lock); + del_timer_sync(&rx_tid->frag_timer); + spin_lock_bh(&ar->ab->base_lock); + + ath11k_dp_rx_frags_cleanup(rx_tid, true); + } +} + void ath11k_peer_rx_tid_cleanup(struct ath11k *ar, struct ath11k_peer *peer) { struct dp_rx_tid *rx_tid; @@ -1423,7 +1441,7 @@ } spin_unlock_bh(&ar->data_lock); - ppdu_info = kzalloc(sizeof(*ppdu_info), GFP_KERNEL); + ppdu_info = kzalloc(sizeof(*ppdu_info), GFP_ATOMIC); if (!ppdu_info) return NULL; @@ -2162,6 +2180,7 @@ struct ieee80211_rx_status *rx_status) { u8 channel_num; + struct ieee80211_channel *channel; rx_status->freq = 0; rx_status->rate_idx = 0; @@ -2179,9 +2198,12 @@ rx_status->band = NL80211_BAND_5GHZ; } else { spin_lock_bh(&ar->data_lock); - rx_status->band = ar->rx_channel->band; - channel_num = - ieee80211_frequency_to_channel(ar->rx_channel->center_freq); + channel = ar->rx_channel; + if (channel) { + rx_status->band = channel->band; + channel_num = + ieee80211_frequency_to_channel(channel->center_freq); + } spin_unlock_bh(&ar->data_lock); ath11k_dbg_dump(ar->ab, ATH11K_DBG_DATA, NULL, "rx_desc: ", rx_desc, sizeof(struct hal_rx_desc)); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/dp_rx.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/dp_rx.h @@ -49,6 +49,7 @@ const u8 *peer_addr, enum set_key_cmd key_cmd, struct ieee80211_key_conf *key); +void ath11k_peer_frags_flush(struct ath11k *ar, struct ath11k_peer *peer); void ath11k_peer_rx_tid_cleanup(struct ath11k *ar, struct ath11k_peer *peer); void ath11k_peer_rx_tid_delete(struct ath11k *ar, struct ath11k_peer *peer, u8 tid); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/dp_tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/dp_tx.c @@ -509,6 +509,8 @@ u32 msdu_id; u8 mac_id; + spin_lock_bh(&status_ring->lock); + ath11k_hal_srng_access_begin(ab, status_ring); while ((ATH11K_TX_COMPL_NEXT(tx_ring->tx_status_head) != @@ -528,6 +530,8 @@ ath11k_hal_srng_access_end(ab, status_ring); + spin_unlock_bh(&status_ring->lock); + while (ATH11K_TX_COMPL_NEXT(tx_ring->tx_status_tail) != tx_ring->tx_status_head) { struct hal_wbm_release_ring *tx_status; u32 desc_id; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/mac.c @@ -2390,6 +2390,12 @@ */ spin_lock_bh(&ab->base_lock); peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr); + + /* flush the fragments cache during key (re)install to + * ensure all frags in the new frag list belong to the same key. + */ + if (peer && cmd == SET_KEY) + ath11k_peer_frags_flush(ar, peer); spin_unlock_bh(&ab->base_lock); if (!peer) { @@ -3912,7 +3918,8 @@ if (enable) { tlv_filter = ath11k_mac_mon_status_filter_default; - tlv_filter.rx_filter = ath11k_debug_rx_filter(ar); + if (ath11k_debug_rx_filter(ar)) + tlv_filter.rx_filter = ath11k_debug_rx_filter(ar); } ring_id = ar->dp.rx_mon_status_refill_ring.refill_buf_ring.ring_id; @@ -4370,8 +4377,22 @@ err_peer_del: if (arvif->vdev_type == WMI_VDEV_TYPE_AP) { + reinit_completion(&ar->peer_delete_done); + + ret = ath11k_wmi_send_peer_delete_cmd(ar, vif->addr, + arvif->vdev_id); + if (ret) { + ath11k_warn(ar->ab, "failed to delete peer vdev_id %d addr %pM\n", + arvif->vdev_id, vif->addr); + return ret; + } + + ret = ath11k_wait_for_peer_delete_done(ar, arvif->vdev_id, + vif->addr); + if (ret) + return ret; + ar->num_peers--; - ath11k_wmi_send_peer_delete_cmd(ar, vif->addr, arvif->vdev_id); } err_vdev_del: @@ -5824,7 +5845,7 @@ ret = ath11k_mac_setup_channels_rates(ar, cap->supported_bands); if (ret) - goto err_free; + goto err; ath11k_mac_setup_ht_vht_cap(ar, cap, &ht_cap); ath11k_mac_setup_he_cap(ar, cap); @@ -5938,7 +5959,9 @@ err_free: kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels); kfree(ar->mac.sbands[NL80211_BAND_5GHZ].channels); + kfree(ar->mac.sbands[NL80211_BAND_6GHZ].channels); +err: SET_IEEE80211_DEV(ar->hw, NULL); return ret; } @@ -6032,6 +6055,7 @@ mutex_init(&ar->conf_mutex); init_completion(&ar->vdev_setup_done); init_completion(&ar->peer_assoc_done); + init_completion(&ar->peer_delete_done); init_completion(&ar->install_key_done); init_completion(&ar->bss_survey_done); init_completion(&ar->scan.started); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/peer.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/peer.c @@ -177,12 +177,36 @@ return ath11k_wait_for_peer_common(ar->ab, vdev_id, addr, false); } +int ath11k_wait_for_peer_delete_done(struct ath11k *ar, u32 vdev_id, + const u8 *addr) +{ + int ret; + unsigned long time_left; + + ret = ath11k_wait_for_peer_deleted(ar, vdev_id, addr); + if (ret) { + ath11k_warn(ar->ab, "failed wait for peer deleted"); + return ret; + } + + time_left = wait_for_completion_timeout(&ar->peer_delete_done, + 3 * HZ); + if (time_left == 0) { + ath11k_warn(ar->ab, "Timeout in receiving peer delete response\n"); + return -ETIMEDOUT; + } + + return 0; +} + int ath11k_peer_delete(struct ath11k *ar, u32 vdev_id, u8 *addr) { int ret; lockdep_assert_held(&ar->conf_mutex); + reinit_completion(&ar->peer_delete_done); + ret = ath11k_wmi_send_peer_delete_cmd(ar, addr, vdev_id); if (ret) { ath11k_warn(ar->ab, @@ -191,7 +215,7 @@ return ret; } - ret = ath11k_wait_for_peer_deleted(ar, vdev_id, addr); + ret = ath11k_wait_for_peer_delete_done(ar, vdev_id, addr); if (ret) return ret; @@ -250,8 +274,22 @@ spin_unlock_bh(&ar->ab->base_lock); ath11k_warn(ar->ab, "failed to find peer %pM on vdev %i after creation\n", param->peer_addr, param->vdev_id); - ath11k_wmi_send_peer_delete_cmd(ar, param->peer_addr, - param->vdev_id); + + reinit_completion(&ar->peer_delete_done); + + ret = ath11k_wmi_send_peer_delete_cmd(ar, param->peer_addr, + param->vdev_id); + if (ret) { + ath11k_warn(ar->ab, "failed to delete peer vdev_id %d addr %pM\n", + param->vdev_id, param->peer_addr); + return ret; + } + + ret = ath11k_wait_for_peer_delete_done(ar, param->vdev_id, + param->peer_addr); + if (ret) + return ret; + return -ENOENT; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/peer.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/peer.h @@ -41,5 +41,7 @@ int ath11k_peer_delete(struct ath11k *ar, u32 vdev_id, u8 *addr); int ath11k_peer_create(struct ath11k *ar, struct ath11k_vif *arvif, struct ieee80211_sta *sta, struct peer_create_params *param); +int ath11k_wait_for_peer_delete_done(struct ath11k *ar, u32 vdev_id, + const u8 *addr); #endif /* _PEER_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/qmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/qmi.c @@ -1560,15 +1560,17 @@ struct qmi_wlanfw_ind_register_resp_msg_v01 *resp; struct qmi_handle *handle = &ab->qmi.handle; struct qmi_txn txn; - int ret = 0; + int ret; req = kzalloc(sizeof(*req), GFP_KERNEL); if (!req) return -ENOMEM; resp = kzalloc(sizeof(*resp), GFP_KERNEL); - if (!resp) + if (!resp) { + ret = -ENOMEM; goto resp_out; + } req->client_id_valid = 1; req->client_id = QMI_WLANFW_CLIENT_ID; @@ -2419,6 +2421,7 @@ ATH11K_QMI_WLFW_SERVICE_INS_ID_V01); if (ret < 0) { ath11k_warn(ab, "failed to add qmi lookup\n"); + destroy_workqueue(ab->qmi.event_wq); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/reg.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/reg.c @@ -80,6 +80,7 @@ */ init_country_param.flags = ALPHA_IS_SET; memcpy(&init_country_param.cc_info.alpha2, request->alpha2, 2); + init_country_param.cc_info.alpha2[2] = 0; ret = ath11k_wmi_send_init_country_cmd(ar, init_country_param); if (ret) @@ -202,7 +203,7 @@ ab = ar->ab; pdev_id = ar->pdev_idx; - spin_lock(&ab->base_lock); + spin_lock_bh(&ab->base_lock); if (init) { /* Apply the regd received during init through @@ -223,7 +224,7 @@ if (!regd) { ret = -EINVAL; - spin_unlock(&ab->base_lock); + spin_unlock_bh(&ab->base_lock); goto err; } @@ -234,7 +235,7 @@ if (regd_copy) ath11k_copy_regd(regd, regd_copy); - spin_unlock(&ab->base_lock); + spin_unlock_bh(&ab->base_lock); if (!regd_copy) { ret = -ENOMEM; @@ -580,7 +581,6 @@ if (!tmp_regd) goto ret; - tmp_regd->n_reg_rules = num_rules; memcpy(tmp_regd->alpha2, reg_info->alpha2, REG_ALPHA2_LEN + 1); memcpy(alpha2, reg_info->alpha2, REG_ALPHA2_LEN + 1); alpha2[2] = '\0'; @@ -593,7 +593,7 @@ /* Update reg_rules[] below. Firmware is expected to * send these rules in order(2G rules first and then 5G) */ - for (; i < tmp_regd->n_reg_rules; i++) { + for (; i < num_rules; i++) { if (reg_info->num_2g_reg_rules && (i < reg_info->num_2g_reg_rules)) { reg_rule = reg_info->reg_rules_2g_ptr + i; @@ -648,6 +648,8 @@ flags); } + tmp_regd->n_reg_rules = i; + if (intersect) { default_regd = ab->default_regd[reg_info->phy_id]; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath11k/wmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath11k/wmi.c @@ -5051,15 +5051,26 @@ static void ath11k_peer_delete_resp_event(struct ath11k_base *ab, struct sk_buff *skb) { struct wmi_peer_delete_resp_event peer_del_resp; + struct ath11k *ar; if (ath11k_pull_peer_del_resp_ev(ab, skb, &peer_del_resp) != 0) { ath11k_warn(ab, "failed to extract peer delete resp"); return; } - /* TODO: Do we need to validate whether ath11k_peer_find() return NULL - * Why this is needed when there is HTT event for peer delete - */ + rcu_read_lock(); + ar = ath11k_mac_get_ar_by_vdev_id(ab, peer_del_resp.vdev_id); + if (!ar) { + ath11k_warn(ab, "invalid vdev id in peer delete resp ev %d", + peer_del_resp.vdev_id); + rcu_read_unlock(); + return; + } + + complete(&ar->peer_delete_done); + rcu_read_unlock(); + ath11k_dbg(ab, ATH11K_DBG_WMI, "peer delete resp for vdev id %d addr %pM\n", + peer_del_resp.vdev_id, peer_del_resp.peer_macaddr.addr); } static inline const char *ath11k_wmi_vdev_resp_print(u32 vdev_resp_status) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath6kl/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath6kl/main.c @@ -430,6 +430,9 @@ ath6kl_dbg(ATH6KL_DBG_TRC, "new station %pM aid=%d\n", mac_addr, aid); + if (aid < 1 || aid > AP_MAX_NUM_STA) + return; + if (assoc_req_len > sizeof(struct ieee80211_hdr_3addr)) { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *) assoc_info; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath6kl/wmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath6kl/wmi.c @@ -2645,6 +2645,11 @@ return -EINVAL; } + if (tsid >= 16) { + ath6kl_err("invalid tsid: %d\n", tsid); + return -EINVAL; + } + skb = ath6kl_wmi_get_new_buf(sizeof(*cmd)); if (!skb) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/ath9k.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/ath9k.h @@ -177,7 +177,8 @@ s8 txq; u8 keyix; u8 rtscts_rate; - u8 retries : 7; + u8 retries : 6; + u8 dyn_smps : 1; u8 baw_tracked : 1; u8 tx_power; enum ath9k_key_type keytype:2; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/debug.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/debug.c @@ -1223,8 +1223,11 @@ ah->nf_override = val; - if (ah->curchan) + if (ah->curchan) { + ath9k_ps_wakeup(sc); ath9k_hw_loadnf(ah, ah->curchan); + ath9k_ps_restore(sc); + } return count; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/hif_usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/hif_usb.c @@ -449,10 +449,19 @@ spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); /* The pending URBs have to be canceled. */ + spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); list_for_each_entry_safe(tx_buf, tx_buf_tmp, &hif_dev->tx.tx_pending, 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); usb_kill_anchored_urbs(&hif_dev->mgmt_submitted); } @@ -762,27 +771,37 @@ struct tx_buf *tx_buf = NULL, *tx_buf_tmp = NULL; unsigned long flags; + 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); spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); hif_dev->tx.flags |= HIF_USB_TX_FLUSH; spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); + spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); list_for_each_entry_safe(tx_buf, tx_buf_tmp, &hif_dev->tx.tx_pending, 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); usb_kill_anchored_urbs(&hif_dev->mgmt_submitted); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -974,7 +974,7 @@ struct ath_htc_rx_status *rxstatus; struct ath_rx_status rx_stats; bool decrypt_error = false; - __be16 rs_datalen; + u16 rs_datalen; bool is_phyerr; if (skb->len < HTC_RX_FRAME_HEADER_SIZE) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/htc_hst.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -339,6 +339,8 @@ if (skb) { htc_hdr = (struct htc_frame_hdr *) skb->data; + if (htc_hdr->endpoint_id >= ARRAY_SIZE(htc_handle->endpoint)) + goto ret; endpoint = &htc_handle->endpoint[htc_hdr->endpoint_id]; skb_pull(skb, sizeof(struct htc_frame_hdr)); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/ath9k/xmit.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/ath9k/xmit.c @@ -1271,6 +1271,11 @@ is_40, is_sgi, is_sp); if (rix < 8 && (tx_info->flags & IEEE80211_TX_CTL_STBC)) info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC; + if (rix >= 8 && fi->dyn_smps) { + info->rates[i].RateFlags |= + ATH9K_RATESERIES_RTS_CTS; + info->flags |= ATH9K_TXDESC_CTSENA; + } info->txpower[i] = ath_get_rate_txpower(sc, bf, rix, is_40, false); @@ -2114,6 +2119,7 @@ fi->keyix = an->ps_key; else fi->keyix = ATH9K_TXKEYIX_INVALID; + fi->dyn_smps = sta && sta->smps_mode == IEEE80211_SMPS_DYNAMIC; fi->keytype = keytype; fi->framelen = framelen; fi->tx_power = txpower; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/wcn36xx/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/wcn36xx/main.c @@ -163,7 +163,7 @@ .ampdu_density = IEEE80211_HT_MPDU_DENSITY_16, .mcs = { .rx_mask = { 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, - .rx_highest = cpu_to_le16(72), + .rx_highest = cpu_to_le16(150), .tx_params = IEEE80211_HT_MCS_TX_DEFINED, } } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ath/wil6210/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ath/wil6210/Kconfig @@ -2,6 +2,7 @@ config WIL6210 tristate "Wilocity 60g WiFi card wil6210 support" select WANT_DEV_COREDUMP + select CRC32 depends on CFG80211 depends on PCI default n --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/b43/phy_n.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/b43/phy_n.c @@ -5308,7 +5308,7 @@ for (i = 0; i < 4; i++) { if (dev->phy.rev >= 3) - table[i] = coef[i]; + coef[i] = table[i]; else coef[i] = 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -84,6 +84,8 @@ #define BRCMF_ND_INFO_TIMEOUT msecs_to_jiffies(2000) +#define BRCMF_PS_MAX_TIMEOUT_MS 2000 + #define BRCMF_ASSOC_PARAMS_FIXED_SIZE \ (sizeof(struct brcmf_assoc_params_le) - sizeof(u16)) @@ -2133,7 +2135,8 @@ BRCMF_WSEC_MAX_PSK_LEN); else if (profile->use_fwsup == BRCMF_PROFILE_FWSUP_SAE) { /* clean up user-space RSNE */ - if (brcmf_fil_iovar_data_set(ifp, "wpaie", NULL, 0)) { + err = brcmf_fil_iovar_data_set(ifp, "wpaie", NULL, 0); + if (err) { bphy_err(drvr, "failed to clean up user-space RSNE\n"); goto done; } @@ -2941,6 +2944,12 @@ else bphy_err(drvr, "error (%d)\n", err); } + + err = brcmf_fil_iovar_int_set(ifp, "pm2_sleep_ret", + min_t(u32, timeout, BRCMF_PS_MAX_TIMEOUT_MS)); + if (err) + bphy_err(drvr, "Unable to set pm timeout, (%d)\n", err); + done: brcmf_dbg(TRACE, "Exit\n"); return err; @@ -5566,7 +5575,8 @@ return false; } -static bool brcmf_is_linkdown(const struct brcmf_event_msg *e) +static bool brcmf_is_linkdown(struct brcmf_cfg80211_vif *vif, + const struct brcmf_event_msg *e) { u32 event = e->event_code; u16 flags = e->flags; @@ -5575,6 +5585,8 @@ (event == BRCMF_E_DISASSOC_IND) || ((event == BRCMF_E_LINK) && (!(flags & BRCMF_EVENT_MSG_LINK)))) { brcmf_dbg(CONN, "Processing link down\n"); + clear_bit(BRCMF_VIF_STATUS_EAP_SUCCESS, &vif->sme_state); + clear_bit(BRCMF_VIF_STATUS_ASSOC_SUCCESS, &vif->sme_state); return true; } return false; @@ -6022,7 +6034,7 @@ } else brcmf_bss_connect_done(cfg, ndev, e, true); brcmf_net_setcarrier(ifp, true); - } else if (brcmf_is_linkdown(e)) { + } else if (brcmf_is_linkdown(ifp->vif, e)) { brcmf_dbg(CONN, "Linkdown\n"); if (!brcmf_is_ibssmode(ifp->vif)) { brcmf_bss_connect_done(cfg, ndev, e, false); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c @@ -483,7 +483,7 @@ ret = brcmf_proto_hdrpull(drvr, true, skb, ifp); if (ret || !(*ifp) || !(*ifp)->ndev) { - if (ret != -ENODATA && *ifp) + if (ret != -ENODATA && *ifp && (*ifp)->ndev) (*ifp)->ndev->stats.rx_errors++; brcmu_pkt_buf_free_skb(skb); return -ENODATA; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c @@ -40,6 +40,18 @@ BRCM_CC_43340_CHIP_ID, 2, "pov-tab-p1006w-data" }; +static const struct brcmf_dmi_data predia_basic_data = { + BRCM_CC_43341_CHIP_ID, 2, "predia-basic" +}; + +/* Note the Voyo winpad A15 tablet uses the same Ampak AP6330 module, with the + * exact same nvram file as the Prowise-PT301 tablet. Since the nvram for the + * Prowise-PT301 is already in linux-firmware we just point to that here. + */ +static const struct brcmf_dmi_data voyo_winpad_a15_data = { + BRCM_CC_4330_CHIP_ID, 4, "Prowise-PT301" +}; + static const struct dmi_system_id dmi_platform_data[] = { { /* ACEPC T8 Cherry Trail Z8350 mini PC */ @@ -111,6 +123,26 @@ }, .driver_data = (void *)&pov_tab_p1006w_data, }, + { + /* Predia Basic tablet (+ with keyboard dock) */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"), + /* Mx.WT107.KUBNGEA02 with the version-nr dropped */ + DMI_MATCH(DMI_BIOS_VERSION, "Mx.WT107.KUBNGEA"), + }, + .driver_data = (void *)&predia_basic_data, + }, + { + /* Voyo winpad A15 tablet */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), + /* Above strings are too generic, also match on BIOS date */ + DMI_MATCH(DMI_BIOS_DATE, "11/20/2014"), + }, + .driver_data = (void *)&voyo_winpad_a15_data, + }, {} }; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c @@ -304,10 +304,12 @@ { struct brcmf_fweh_info *fweh = &drvr->fweh; - /* cancel the worker */ - cancel_work_sync(&fweh->event_work); - WARN_ON(!list_empty(&fweh->event_q)); - memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler)); + /* cancel the worker if initialized */ + if (fweh->event_work.func) { + cancel_work_sync(&fweh->event_work); + WARN_ON(!list_empty(&fweh->event_q)); + memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler)); + } } /** --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h @@ -19,7 +19,7 @@ #define BRCMF_ARP_OL_PEER_AUTO_REPLY 0x00000008 #define BRCMF_BSS_INFO_VERSION 109 /* curr ver of brcmf_bss_info_le struct */ -#define BRCMF_BSS_RSSI_ON_CHANNEL 0x0002 +#define BRCMF_BSS_RSSI_ON_CHANNEL 0x0004 #define BRCMF_STA_BRCM 0x00000001 /* Running a Broadcom driver */ #define BRCMF_STA_WME 0x00000002 /* WMM association */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c @@ -621,6 +621,7 @@ static void brcmf_fws_psq_flush(struct brcmf_fws_info *fws, struct pktq *q, int ifidx) { + struct brcmf_fws_hanger_item *hi; bool (*matchfn)(struct sk_buff *, void *) = NULL; struct sk_buff *skb; int prec; @@ -632,6 +633,9 @@ skb = brcmu_pktq_pdeq_match(q, prec, matchfn, &ifidx); while (skb) { hslot = brcmf_skb_htod_tag_get_field(skb, HSLOT); + hi = &fws->hanger.items[hslot]; + WARN_ON(skb != hi->pkt); + hi->state = BRCMF_FWS_HANGER_ITEM_STATE_FREE; brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb, true); brcmu_pkt_buf_free_skb(skb); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c @@ -1619,6 +1619,8 @@ BRCMF_TX_IOCTL_MAX_MSG_SIZE, msgbuf->ioctbuf, msgbuf->ioctbuf_handle); + if (msgbuf->txflow_wq) + destroy_workqueue(msgbuf->txflow_wq); kfree(msgbuf); } return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -1936,16 +1936,18 @@ fwreq = brcmf_pcie_prepare_fw_request(devinfo); if (!fwreq) { ret = -ENOMEM; - goto fail_bus; + goto fail_brcmf; } ret = brcmf_fw_get_firmwares(bus->dev, fwreq, brcmf_pcie_setup); if (ret < 0) { kfree(fwreq); - goto fail_bus; + goto fail_brcmf; } return 0; +fail_brcmf: + brcmf_free(&devinfo->pdev->dev); fail_bus: kfree(bus->msgbuf); kfree(bus); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -3699,7 +3699,11 @@ if (bus->idlecount > bus->idletime) { brcmf_dbg(SDIO, "idle\n"); sdio_claim_host(bus->sdiodev->func1); - brcmf_sdio_wd_timer(bus, false); +#ifdef DEBUG + if (!BRCMF_FWCON_ON() || + bus->console_interval == 0) +#endif + brcmf_sdio_wd_timer(bus, false); bus->idlecount = 0; brcmf_sdio_bus_sleep(bus, true, false); sdio_release_host(bus->sdiodev->func1); @@ -4223,6 +4227,7 @@ brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL, CY_43012_MESBUSYCTRL, &err); break; + case SDIO_DEVICE_ID_BROADCOM_4329: case SDIO_DEVICE_ID_BROADCOM_4339: brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes for 4339\n", CY_4339_F2_WATERMARK); @@ -4487,6 +4492,7 @@ brcmf_sdiod_intr_unregister(bus->sdiodev); brcmf_detach(bus->sdiodev->dev); + brcmf_free(bus->sdiodev->dev); cancel_work_sync(&bus->datawork); if (bus->brcmf_wq) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c @@ -5065,8 +5065,10 @@ pi->pi_fptr.radioloftget = wlc_lcnphy_get_radio_loft; pi->pi_fptr.detach = wlc_phy_detach_lcnphy; - if (!wlc_phy_txpwr_srom_read_lcnphy(pi)) + if (!wlc_phy_txpwr_srom_read_lcnphy(pi)) { + kfree(pi->u.pi_lcnphy); return false; + } if (LCNREV_IS(pi->pubpi.phy_rev, 1)) { if (pi_lcn->lcnphy_tempsense_option == 3) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlegacy/common.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlegacy/common.c @@ -4286,8 +4286,8 @@ * power savings, even without L1. */ if (il->cfg->set_l0s) { - pcie_capability_read_word(il->pci_dev, PCI_EXP_LNKCTL, &lctl); - if (lctl & PCI_EXP_LNKCTL_ASPM_L1) { + ret = pcie_capability_read_word(il->pci_dev, PCI_EXP_LNKCTL, &lctl); + if (!ret && (lctl & PCI_EXP_LNKCTL_ASPM_L1)) { /* L1-ASPM enabled; disable(!) L0S */ il_set_bit(il, CSR_GIO_REG, CSR_GIO_REG_VAL_L0S_ENABLED); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/cfg/22000.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/cfg/22000.c @@ -338,6 +338,7 @@ const char iwl_ax200_name[] = "Intel(R) Wi-Fi 6 AX200 160MHz"; const char iwl_ax201_name[] = "Intel(R) Wi-Fi 6 AX201 160MHz"; const char iwl_ax101_name[] = "Intel(R) Wi-Fi 6 AX101"; +const char iwl_ax203_name[] = "Intel(R) Wi-Fi 6 AX203"; const char iwl_ax200_killer_1650w_name[] = "Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)"; @@ -357,6 +358,18 @@ .num_rbds = IWL_NUM_RBDS_22000_HE, }; +const struct iwl_cfg iwl_qu_b0_hr_b0 = { + .fw_name_pre = IWL_QU_B_HR_B_FW_PRE, + IWL_DEVICE_22500, + /* + * This device doesn't support receiving BlockAck with a large bitmap + * so we need to restrict the size of transmitted aggregation to the + * HT size; mac80211 would otherwise pick the HE max (256) by default. + */ + .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT, + .num_rbds = IWL_NUM_RBDS_22000_HE, +}; + const struct iwl_cfg iwl_ax201_cfg_qu_hr = { .name = "Intel(R) Wi-Fi 6 AX201 160MHz", .fw_name_pre = IWL_QU_B_HR_B_FW_PRE, @@ -383,6 +396,18 @@ .num_rbds = IWL_NUM_RBDS_22000_HE, }; +const struct iwl_cfg iwl_qu_c0_hr_b0 = { + .fw_name_pre = IWL_QU_C_HR_B_FW_PRE, + IWL_DEVICE_22500, + /* + * This device doesn't support receiving BlockAck with a large bitmap + * so we need to restrict the size of transmitted aggregation to the + * HT size; mac80211 would otherwise pick the HE max (256) by default. + */ + .max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT, + .num_rbds = IWL_NUM_RBDS_22000_HE, +}; + const struct iwl_cfg iwl_ax201_cfg_qu_c0_hr_b0 = { .name = "Intel(R) Wi-Fi 6 AX201 160MHz", .fw_name_pre = IWL_QU_C_HR_B_FW_PRE, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/fw/api/sta.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/fw/api/sta.h @@ -5,10 +5,9 @@ * * GPL LICENSE SUMMARY * - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2012-2014, 2018 - 2020 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -28,10 +27,9 @@ * * BSD LICENSE * - * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2012-2014, 2018 - 2020 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -128,7 +126,9 @@ STA_FLG_MAX_AGG_SIZE_256K = (5 << STA_FLG_MAX_AGG_SIZE_SHIFT), STA_FLG_MAX_AGG_SIZE_512K = (6 << STA_FLG_MAX_AGG_SIZE_SHIFT), STA_FLG_MAX_AGG_SIZE_1024K = (7 << STA_FLG_MAX_AGG_SIZE_SHIFT), - STA_FLG_MAX_AGG_SIZE_MSK = (7 << STA_FLG_MAX_AGG_SIZE_SHIFT), + STA_FLG_MAX_AGG_SIZE_2M = (8 << STA_FLG_MAX_AGG_SIZE_SHIFT), + STA_FLG_MAX_AGG_SIZE_4M = (9 << STA_FLG_MAX_AGG_SIZE_SHIFT), + STA_FLG_MAX_AGG_SIZE_MSK = (0xf << STA_FLG_MAX_AGG_SIZE_SHIFT), STA_FLG_AGG_MPDU_DENS_SHIFT = 23, STA_FLG_AGG_MPDU_DENS_2US = (4 << STA_FLG_AGG_MPDU_DENS_SHIFT), --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/fw/api/time-event.h @@ -8,7 +8,7 @@ * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2018 - 2020 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -31,7 +31,7 @@ * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2019 Intel Corporation + * Copyright(c) 2018 - 2020 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -421,12 +421,14 @@ * able to run the GO Negotiation. Will not be fragmented and not * repetitive. Valid only on the P2P Device MAC. Only the duration will * be taken into account. + * @SESSION_PROTECT_CONF_MAX_ID: not used */ enum iwl_mvm_session_prot_conf_id { SESSION_PROTECT_CONF_ASSOC, SESSION_PROTECT_CONF_GO_CLIENT_ASSOC, SESSION_PROTECT_CONF_P2P_DEVICE_DISCOV, SESSION_PROTECT_CONF_P2P_GO_NEGOTIATION, + SESSION_PROTECT_CONF_MAX_ID, }; /* SESSION_PROTECTION_CONF_ID_E_VER_1 */ /** @@ -459,7 +461,7 @@ * @mac_id: the mac id for which the session protection started / ended * @status: 1 means success, 0 means failure * @start: 1 means the session protection started, 0 means it ended - * @conf_id: the configuration id of the session that started / eneded + * @conf_id: see &enum iwl_mvm_session_prot_conf_id * * Note that any session protection will always get two notifications: start * and end even the firmware could not schedule it. --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/iwl-config.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/iwl-config.h @@ -488,14 +488,14 @@ #define IWL_CFG_RF_ID_HR 0x7 #define IWL_CFG_RF_ID_HR1 0x4 -#define IWL_CFG_NO_160 0x0 -#define IWL_CFG_160 0x1 +#define IWL_CFG_NO_160 0x1 +#define IWL_CFG_160 0x0 #define IWL_CFG_CORES_BT 0x0 #define IWL_CFG_CORES_BT_GNSS 0x5 #define IWL_SUBDEVICE_RF_ID(subdevice) ((u16)((subdevice) & 0x00F0) >> 4) -#define IWL_SUBDEVICE_NO_160(subdevice) ((u16)((subdevice) & 0x0100) >> 9) +#define IWL_SUBDEVICE_NO_160(subdevice) ((u16)((subdevice) & 0x0200) >> 9) #define IWL_SUBDEVICE_CORES(subdevice) ((u16)((subdevice) & 0x1C00) >> 10) struct iwl_dev_info { @@ -539,6 +539,7 @@ extern const char iwl9560_killer_1550i_name[]; extern const char iwl9560_killer_1550s_name[]; extern const char iwl_ax200_name[]; +extern const char iwl_ax203_name[]; extern const char iwl_ax201_name[]; extern const char iwl_ax101_name[]; extern const char iwl_ax200_killer_1650w_name[]; @@ -618,6 +619,8 @@ extern const struct iwl_cfg iwl_qu_b0_hr1_b0; extern const struct iwl_cfg iwl_qu_c0_hr1_b0; extern const struct iwl_cfg iwl_quz_a0_hr1_b0; +extern const struct iwl_cfg iwl_qu_b0_hr_b0; +extern const struct iwl_cfg iwl_qu_c0_hr_b0; extern const struct iwl_cfg iwl_ax200_cfg_cc; extern const struct iwl_cfg iwl_ax201_cfg_qu_hr; extern const struct iwl_cfg iwl_ax201_cfg_qu_hr; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/iwl-csr.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/iwl-csr.h @@ -147,6 +147,16 @@ #define CSR_MAC_SHADOW_REG_CTL2 (CSR_BASE + 0x0AC) #define CSR_MAC_SHADOW_REG_CTL2_RX_WAKE 0xFFFF +/* LTR control (since IWL_DEVICE_FAMILY_22000) */ +#define CSR_LTR_LONG_VAL_AD (CSR_BASE + 0x0D4) +#define CSR_LTR_LONG_VAL_AD_NO_SNOOP_REQ 0x80000000 +#define CSR_LTR_LONG_VAL_AD_NO_SNOOP_SCALE 0x1c000000 +#define CSR_LTR_LONG_VAL_AD_NO_SNOOP_VAL 0x03ff0000 +#define CSR_LTR_LONG_VAL_AD_SNOOP_REQ 0x00008000 +#define CSR_LTR_LONG_VAL_AD_SNOOP_SCALE 0x00001c00 +#define CSR_LTR_LONG_VAL_AD_SNOOP_VAL 0x000003ff +#define CSR_LTR_LONG_VAL_AD_SCALE_USEC 2 + /* GIO Chicken Bits (PCI Express bus link power management) */ #define CSR_GIO_CHICKEN_BITS (CSR_BASE+0x100) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -797,7 +797,7 @@ struct iwl_fw_ini_trigger_tlv *old_trig = (void *)old->data; __le32 *new_data = new_trig->data, *old_data = old_trig->data; u32 new_dwords_num = iwl_tlv_array_len(new, new_trig, data); - u32 old_dwords_num = iwl_tlv_array_len(new, new_trig, data); + u32 old_dwords_num = iwl_tlv_array_len(old, old_trig, data); int i, j; for (i = 0; i < new_dwords_num; i++) { @@ -947,9 +947,8 @@ struct iwl_rx_packet *pkt = tp_data->fw_pkt; struct iwl_cmd_header *wanted_hdr = (void *)&trig_data; - if (pkt && ((wanted_hdr->cmd == 0 && wanted_hdr->group_id == 0) || - (pkt->hdr.cmd == wanted_hdr->cmd && - pkt->hdr.group_id == wanted_hdr->group_id))) { + if (pkt && (pkt->hdr.cmd == wanted_hdr->cmd && + pkt->hdr.group_id == wanted_hdr->group_id)) { struct iwl_rx_packet *fw_pkt = kmemdup(pkt, sizeof(*pkt) + iwl_rx_packet_payload_len(pkt), @@ -1012,6 +1011,9 @@ enum iwl_fw_ini_buffer_location *ini_dest = &fwrt->trans->dbg.ini_dest; int ret, i; + if (*ini_dest != IWL_FW_INI_LOCATION_INVALID) + return; + IWL_DEBUG_FW(fwrt, "WRT: Generating active triggers list, domain 0x%x\n", fwrt->trans->dbg.domains_bitmap); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/iwl-prph.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/iwl-prph.h @@ -355,6 +355,12 @@ #define RADIO_RSP_ADDR_POS (6) #define RADIO_RSP_RD_CMD (3) +/* LTR control (Qu only) */ +#define HPM_MAC_LTR_CSR 0xa0348c +#define HPM_MAC_LRT_ENABLE_ALL 0xf +/* also uses CSR_LTR_* for values */ +#define HPM_UMAC_LTR 0xa03480 + /* FW monitor */ #define MON_BUFF_SAMPLE_CTL (0xa03c00) #define MON_BUFF_BASE_ADDR (0xa03c1c) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/iwl-trans.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/iwl-trans.h @@ -316,6 +316,7 @@ #define IWL_MGMT_TID 15 #define IWL_FRAME_LIMIT 64 #define IWL_MAX_RX_HW_QUEUES 16 +#define IWL_9000_MAX_RX_HW_QUEUES 6 /** * enum iwl_wowlan_status - WoWLAN image/device status --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c @@ -514,7 +514,10 @@ const size_t bufsz = sizeof(buf); int pos = 0; + mutex_lock(&mvm->mutex); iwl_mvm_get_sync_time(mvm, &curr_gp2, &curr_os); + mutex_unlock(&mvm->mutex); + do_div(curr_os, NSEC_PER_USEC); diff = curr_os - curr_gp2; pos += scnprintf(buf + pos, bufsz - pos, "diff=%lld\n", diff); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -132,7 +132,14 @@ .dataflags[0] = IWL_HCMD_DFL_NOCOPY, }; - /* Do not configure default queue, it is configured via context info */ + /* + * The default queue is configured via context info, so if we + * have a single queue, there's nothing to do here. + */ + if (mvm->trans->num_rx_queues == 1) + return 0; + + /* skip the default queue */ num_queues = mvm->trans->num_rx_queues - 1; size = struct_size(cmd, data, num_queues); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -3049,7 +3049,7 @@ /* this would be a mac80211 bug ... but don't crash */ if (WARN_ON_ONCE(!mvmvif->phy_ctxt)) - return -EINVAL; + return test_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, &mvm->status) ? 0 : -EINVAL; /* * If we are in a STA removal flow and in DQA mode: @@ -3096,6 +3096,9 @@ goto out_unlock; } + if (vif->type == NL80211_IFTYPE_STATION) + vif->bss_conf.he_support = sta->he_cap.has_he; + if (sta->tdls && (vif->p2p || iwl_mvm_tdls_sta_count(mvm, NULL) == @@ -3685,9 +3688,12 @@ tail->apply_time_max_delay = cpu_to_le32(delay); IWL_DEBUG_TE(mvm, - "ROC: Requesting to remain on channel %u for %ums (requested = %ums, max_delay = %ums, dtim_interval = %ums)\n", - channel->hw_value, req_dur, duration, delay, - dtim_interval); + "ROC: Requesting to remain on channel %u for %ums\n", + channel->hw_value, req_dur); + IWL_DEBUG_TE(mvm, + "\t(requested = %ums, max_delay = %ums, dtim_interval = %ums)\n", + duration, delay, dtim_interval); + /* Set the node address */ memcpy(tail->node_addr, vif->addr, ETH_ALEN); @@ -4198,6 +4204,9 @@ iwl_mvm_binding_remove_vif(mvm, vif); out: + if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_CHANNEL_SWITCH_CMD) && + switching_chanctx) + return; mvmvif->phy_ctxt = NULL; iwl_mvm_power_update_mac(mvm); } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -311,6 +311,12 @@ iwl_mvm_mu_mimo_grp_notif, RX_HANDLER_SYNC), RX_HANDLER_GRP(DATA_PATH_GROUP, STA_PM_NOTIF, iwl_mvm_sta_pm_notif, RX_HANDLER_SYNC), + RX_HANDLER_GRP(MAC_CONF_GROUP, PROBE_RESPONSE_DATA_NOTIF, + iwl_mvm_probe_resp_data_notif, + RX_HANDLER_ASYNC_LOCKED), + RX_HANDLER_GRP(MAC_CONF_GROUP, CHANNEL_SWITCH_NOA_NOTIF, + iwl_mvm_channel_switch_noa_notif, + RX_HANDLER_SYNC), }; #undef RX_HANDLER #undef RX_HANDLER_GRP @@ -834,6 +840,10 @@ if (!mvm->scan_cmd) goto out_free; + /* invalidate ids to prevent accidental removal of sta_id 0 */ + mvm->aux_sta.sta_id = IWL_MVM_INVALID_STA; + mvm->snif_sta.sta_id = IWL_MVM_INVALID_STA; + /* Set EBS as successful as long as not stated otherwise by the FW. */ mvm->last_ebs_successful = true; @@ -1234,6 +1244,7 @@ reprobe = container_of(wk, struct iwl_mvm_reprobe, work); if (device_reprobe(reprobe->dev)) dev_err(reprobe->dev, "reprobe failed!\n"); + put_device(reprobe->dev); kfree(reprobe); module_put(THIS_MODULE); } @@ -1284,7 +1295,7 @@ module_put(THIS_MODULE); return; } - reprobe->dev = mvm->trans->dev; + reprobe->dev = get_device(mvm->trans->dev); INIT_WORK(&reprobe->work, iwl_mvm_reprobe_wk); schedule_work(&reprobe->work); } else if (test_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/sta.c @@ -196,6 +196,7 @@ mpdu_dens = sta->ht_cap.ampdu_density; } + if (sta->vht_cap.vht_supported) { agg_size = sta->vht_cap.cap & IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; @@ -205,6 +206,23 @@ agg_size = sta->ht_cap.ampdu_factor; } + /* D6.0 10.12.2 A-MPDU length limit rules + * A STA indicates the maximum length of the A-MPDU preEOF padding + * that it can receive in an HE PPDU in the Maximum A-MPDU Length + * Exponent field in its HT Capabilities, VHT Capabilities, + * and HE 6 GHz Band Capabilities elements (if present) and the + * Maximum AMPDU Length Exponent Extension field in its HE + * Capabilities element + */ + if (sta->he_cap.has_he) + agg_size += u8_get_bits(sta->he_cap.he_cap_elem.mac_cap_info[3], + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK); + + /* Limit to max A-MPDU supported by FW */ + if (agg_size > (STA_FLG_MAX_AGG_SIZE_4M >> STA_FLG_MAX_AGG_SIZE_SHIFT)) + agg_size = (STA_FLG_MAX_AGG_SIZE_4M >> + STA_FLG_MAX_AGG_SIZE_SHIFT); + add_sta_cmd.station_flags |= cpu_to_le32(agg_size << STA_FLG_MAX_AGG_SIZE_SHIFT); add_sta_cmd.station_flags |= @@ -2083,6 +2101,9 @@ lockdep_assert_held(&mvm->mutex); + if (WARN_ON_ONCE(mvm->snif_sta.sta_id == IWL_MVM_INVALID_STA)) + return -EINVAL; + iwl_mvm_disable_txq(mvm, NULL, mvm->snif_queue, IWL_MAX_TID_COUNT, 0); ret = iwl_mvm_rm_sta_common(mvm, mvm->snif_sta.sta_id); if (ret) @@ -2097,6 +2118,9 @@ lockdep_assert_held(&mvm->mutex); + if (WARN_ON_ONCE(mvm->aux_sta.sta_id == IWL_MVM_INVALID_STA)) + return -EINVAL; + iwl_mvm_disable_txq(mvm, NULL, mvm->aux_queue, IWL_MAX_TID_COUNT, 0); ret = iwl_mvm_rm_sta_common(mvm, mvm->aux_sta.sta_id); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c @@ -638,11 +638,32 @@ } } +static void iwl_mvm_cancel_session_protection(struct iwl_mvm *mvm, + struct iwl_mvm_vif *mvmvif) +{ + struct iwl_mvm_session_prot_cmd cmd = { + .id_and_color = + cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, + mvmvif->color)), + .action = cpu_to_le32(FW_CTXT_ACTION_REMOVE), + .conf_id = cpu_to_le32(mvmvif->time_event_data.id), + }; + int ret; + + ret = iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(SESSION_PROTECTION_CMD, + MAC_CONF_GROUP, 0), + 0, sizeof(cmd), &cmd); + if (ret) + IWL_ERR(mvm, + "Couldn't send the SESSION_PROTECTION_CMD: %d\n", ret); +} + static bool __iwl_mvm_remove_time_event(struct iwl_mvm *mvm, struct iwl_mvm_time_event_data *te_data, u32 *uid) { u32 id; + struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(te_data->vif); /* * It is possible that by the time we got to this point the time @@ -660,14 +681,29 @@ iwl_mvm_te_clear_data(mvm, te_data); spin_unlock_bh(&mvm->time_event_lock); - /* - * It is possible that by the time we try to remove it, the time event - * has already ended and removed. In such a case there is no need to - * send a removal command. + /* When session protection is supported, the te_data->id field + * is reused to save session protection's configuration. */ - if (id == TE_MAX) { - IWL_DEBUG_TE(mvm, "TE 0x%x has already ended\n", *uid); + if (fw_has_capa(&mvm->fw->ucode_capa, + IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD)) { + if (mvmvif && id < SESSION_PROTECT_CONF_MAX_ID) { + /* Session protection is still ongoing. Cancel it */ + iwl_mvm_cancel_session_protection(mvm, mvmvif); + if (te_data->vif->type == NL80211_IFTYPE_P2P_DEVICE) { + set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status); + iwl_mvm_roc_finished(mvm); + } + } return false; + } else { + /* It is possible that by the time we try to remove it, the + * time event has already ended and removed. In such a case + * there is no need to send a removal command. + */ + if (id == TE_MAX) { + IWL_DEBUG_TE(mvm, "TE 0x%x has already ended\n", *uid); + return false; + } } return true; @@ -768,6 +804,7 @@ struct iwl_rx_packet *pkt = rxb_addr(rxb); struct iwl_mvm_session_prot_notif *notif = (void *)pkt->data; struct ieee80211_vif *vif; + struct iwl_mvm_vif *mvmvif; rcu_read_lock(); vif = iwl_mvm_rcu_dereference_vif_id(mvm, le32_to_cpu(notif->mac_id), @@ -776,9 +813,10 @@ if (!vif) goto out_unlock; + mvmvif = iwl_mvm_vif_from_mac80211(vif); + /* The vif is not a P2P_DEVICE, maintain its time_event_data */ if (vif->type != NL80211_IFTYPE_P2P_DEVICE) { - struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); struct iwl_mvm_time_event_data *te_data = &mvmvif->time_event_data; @@ -813,10 +851,14 @@ if (!le32_to_cpu(notif->status) || !le32_to_cpu(notif->start)) { /* End TE, notify mac80211 */ + mvmvif->time_event_data.id = SESSION_PROTECT_CONF_MAX_ID; ieee80211_remain_on_channel_expired(mvm->hw); set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status); iwl_mvm_roc_finished(mvm); } else if (le32_to_cpu(notif->start)) { + if (WARN_ON(mvmvif->time_event_data.id != + le32_to_cpu(notif->conf_id))) + goto out_unlock; set_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status); ieee80211_ready_on_channel(mvm->hw); /* Start TE */ } @@ -842,20 +884,24 @@ lockdep_assert_held(&mvm->mutex); + /* The time_event_data.id field is reused to save session + * protection's configuration. + */ switch (type) { case IEEE80211_ROC_TYPE_NORMAL: - cmd.conf_id = - cpu_to_le32(SESSION_PROTECT_CONF_P2P_DEVICE_DISCOV); + mvmvif->time_event_data.id = + SESSION_PROTECT_CONF_P2P_DEVICE_DISCOV; break; case IEEE80211_ROC_TYPE_MGMT_TX: - cmd.conf_id = - cpu_to_le32(SESSION_PROTECT_CONF_P2P_GO_NEGOTIATION); + mvmvif->time_event_data.id = + SESSION_PROTECT_CONF_P2P_GO_NEGOTIATION; break; default: WARN_ONCE(1, "Got an invalid ROC type\n"); return -EINVAL; } + cmd.conf_id = cpu_to_le32(mvmvif->time_event_data.id); return iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(SESSION_PROTECTION_CMD, MAC_CONF_GROUP, 0), 0, sizeof(cmd), &cmd); @@ -957,25 +1003,6 @@ __iwl_mvm_remove_time_event(mvm, te_data, &uid); } -static void iwl_mvm_cancel_session_protection(struct iwl_mvm *mvm, - struct iwl_mvm_vif *mvmvif) -{ - struct iwl_mvm_session_prot_cmd cmd = { - .id_and_color = - cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, - mvmvif->color)), - .action = cpu_to_le32(FW_CTXT_ACTION_REMOVE), - }; - int ret; - - ret = iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(SESSION_PROTECTION_CMD, - MAC_CONF_GROUP, 0), - 0, sizeof(cmd), &cmd); - if (ret) - IWL_ERR(mvm, - "Couldn't send the SESSION_PROTECTION_CMD: %d\n", ret); -} - void iwl_mvm_stop_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif) { struct iwl_mvm_vif *mvmvif; @@ -985,10 +1012,13 @@ IWL_UCODE_TLV_CAPA_SESSION_PROT_CMD)) { mvmvif = iwl_mvm_vif_from_mac80211(vif); - iwl_mvm_cancel_session_protection(mvm, mvmvif); - - if (vif->type == NL80211_IFTYPE_P2P_DEVICE) + if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { + iwl_mvm_cancel_session_protection(mvm, mvmvif); set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status); + } else { + iwl_mvm_remove_aux_roc_te(mvm, mvmvif, + &mvmvif->time_event_data); + } iwl_mvm_roc_finished(mvm); @@ -1101,10 +1131,15 @@ cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, mvmvif->color)), .action = cpu_to_le32(FW_CTXT_ACTION_ADD), - .conf_id = cpu_to_le32(SESSION_PROTECT_CONF_ASSOC), .duration_tu = cpu_to_le32(MSEC_TO_TU(duration)), }; + /* The time_event_data.id field is reused to save session + * protection's configuration. + */ + mvmvif->time_event_data.id = SESSION_PROTECT_CONF_ASSOC; + cmd.conf_id = cpu_to_le32(mvmvif->time_event_data.id); + lockdep_assert_held(&mvm->mutex); spin_lock_bh(&mvm->time_event_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -837,6 +837,7 @@ next = skb_gso_segment(skb, netdev_flags); skb_shinfo(skb)->gso_size = mss; + skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6; if (WARN_ON_ONCE(IS_ERR(next))) return -EINVAL; else if (next) @@ -859,6 +860,8 @@ if (tcp_payload_len > mss) { skb_shinfo(tmp)->gso_size = mss; + skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 : + SKB_GSO_TCPV6; } else { if (qos) { u8 *qc; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c @@ -5,7 +5,7 @@ * * GPL LICENSE SUMMARY * - * Copyright(c) 2018 - 2020 Intel Corporation + * Copyright(c) 2018 - 2021 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -236,8 +236,10 @@ /* Allocate IML */ iml_img = dma_alloc_coherent(trans->dev, trans->iml_len, &trans_pcie->iml_dma_addr, GFP_KERNEL); - if (!iml_img) - return -ENOMEM; + if (!iml_img) { + ret = -ENOMEM; + goto err_free_ctxt_info; + } memcpy(iml_img, trans->iml, trans->iml_len); @@ -252,13 +254,14 @@ iwl_set_bit(trans, CSR_CTXT_INFO_BOOT_CTRL, CSR_AUTO_FUNC_BOOT_ENA); - if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210) - iwl_write_umac_prph(trans, UREG_CPU_INIT_RUN, 1); - else - iwl_set_bit(trans, CSR_GP_CNTRL, CSR_AUTO_FUNC_INIT); return 0; +err_free_ctxt_info: + dma_free_coherent(trans->dev, sizeof(*trans_pcie->ctxt_info_gen3), + trans_pcie->ctxt_info_gen3, + trans_pcie->ctxt_info_dma_addr); + trans_pcie->ctxt_info_gen3 = NULL; err_free_prph_info: dma_free_coherent(trans->dev, sizeof(*prph_info), --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c @@ -6,7 +6,7 @@ * GPL LICENSE SUMMARY * * Copyright(c) 2017 Intel Deutschland GmbH - * Copyright(c) 2018 - 2020 Intel Corporation + * Copyright(c) 2018 - 2021 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -285,7 +285,6 @@ /* kick FW self load */ iwl_write64(trans, CSR_CTXT_INFO_BA, trans_pcie->ctxt_info_dma_addr); - iwl_write_prph(trans, UREG_CPU_INIT_RUN, 1); /* Context info will be released upon alive or failure to get one */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -256,6 +256,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)}, @@ -536,6 +537,7 @@ {IWL_PCI_DEVICE(0x2725, 0x0090, iwlax211_2ax_cfg_so_gf_a0)}, {IWL_PCI_DEVICE(0x2725, 0x0020, iwlax210_2ax_cfg_ty_gf_a0)}, + {IWL_PCI_DEVICE(0x2725, 0x0024, iwlax210_2ax_cfg_ty_gf_a0)}, {IWL_PCI_DEVICE(0x2725, 0x0310, iwlax210_2ax_cfg_ty_gf_a0)}, {IWL_PCI_DEVICE(0x2725, 0x0510, iwlax210_2ax_cfg_ty_gf_a0)}, {IWL_PCI_DEVICE(0x2725, 0x0A10, iwlax210_2ax_cfg_ty_gf_a0)}, @@ -658,6 +660,7 @@ IWL_DEV_INFO(0x4DF0, 0x1652, killer1650i_2ax_cfg_qu_b0_hr_b0, NULL), IWL_DEV_INFO(0x4DF0, 0x2074, iwl_ax201_cfg_qu_hr, NULL), IWL_DEV_INFO(0x4DF0, 0x4070, iwl_ax201_cfg_qu_hr, NULL), + IWL_DEV_INFO(0x4DF0, 0x6074, iwl_ax201_cfg_qu_hr, NULL), _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_MAC_TYPE_PU, IWL_CFG_ANY, @@ -940,6 +943,11 @@ IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_ANY, iwl_qu_b0_hr1_b0, iwl_ax101_name), + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, + IWL_CFG_MAC_TYPE_QU, SILICON_C_STEP, + IWL_CFG_RF_TYPE_HR2, IWL_CFG_ANY, + IWL_CFG_ANY, IWL_CFG_ANY, + iwl_qu_b0_hr_b0, iwl_ax203_name), /* Qu C step */ _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, @@ -947,6 +955,11 @@ IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_ANY, iwl_qu_c0_hr1_b0, iwl_ax101_name), + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, + IWL_CFG_MAC_TYPE_QU, SILICON_C_STEP, + IWL_CFG_RF_TYPE_HR2, IWL_CFG_ANY, + IWL_CFG_ANY, IWL_CFG_ANY, + iwl_qu_c0_hr_b0, iwl_ax203_name), /* QuZ */ _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c @@ -281,6 +281,34 @@ mutex_unlock(&trans_pcie->mutex); } +static void iwl_pcie_set_ltr(struct iwl_trans *trans) +{ + u32 ltr_val = CSR_LTR_LONG_VAL_AD_NO_SNOOP_REQ | + u32_encode_bits(CSR_LTR_LONG_VAL_AD_SCALE_USEC, + CSR_LTR_LONG_VAL_AD_NO_SNOOP_SCALE) | + u32_encode_bits(250, + CSR_LTR_LONG_VAL_AD_NO_SNOOP_VAL) | + CSR_LTR_LONG_VAL_AD_SNOOP_REQ | + u32_encode_bits(CSR_LTR_LONG_VAL_AD_SCALE_USEC, + CSR_LTR_LONG_VAL_AD_SNOOP_SCALE) | + u32_encode_bits(250, CSR_LTR_LONG_VAL_AD_SNOOP_VAL); + + /* + * To workaround hardware latency issues during the boot process, + * initialize the LTR to ~250 usec (see ltr_val above). + * The firmware initializes this again later (to a smaller value). + */ + if ((trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_AX210 || + trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_22000) && + !trans->trans_cfg->integrated) { + iwl_write32(trans, CSR_LTR_LONG_VAL_AD, ltr_val); + } else if (trans->trans_cfg->integrated && + trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_22000) { + iwl_write_prph(trans, HPM_MAC_LTR_CSR, HPM_MAC_LRT_ENABLE_ALL); + iwl_write_prph(trans, HPM_UMAC_LTR, ltr_val); + } +} + int iwl_trans_pcie_gen2_start_fw(struct iwl_trans *trans, const struct fw_img *fw, bool run_in_rfkill) { @@ -347,6 +375,13 @@ if (ret) goto out; + iwl_pcie_set_ltr(trans); + + if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210) + iwl_write_umac_prph(trans, UREG_CPU_INIT_RUN, 1); + else + iwl_write_prph(trans, UREG_CPU_INIT_RUN, 1); + /* re-check RF-Kill state since we may have missed the interrupt */ hw_rfkill = iwl_pcie_check_hw_rf_kill(trans); if (hw_rfkill && !run_in_rfkill) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/trans.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/trans.c @@ -1607,11 +1607,15 @@ struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); int max_irqs, num_irqs, i, ret; u16 pci_cmd; + u32 max_rx_queues = IWL_MAX_RX_HW_QUEUES; if (!cfg_trans->mq_rx_supported) goto enable_msi; - max_irqs = min_t(u32, num_online_cpus() + 2, IWL_MAX_RX_HW_QUEUES); + if (cfg_trans->device_family <= IWL_DEVICE_FAMILY_9000) + max_rx_queues = IWL_9000_MAX_RX_HW_QUEUES; + + max_irqs = min_t(u32, num_online_cpus() + 2, max_rx_queues); for (i = 0; i < max_irqs; i++) trans_pcie->msix_entries[i].entry = i; @@ -2025,7 +2029,7 @@ int ret; struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); - spin_lock_irqsave(&trans_pcie->reg_lock, *flags); + spin_lock_bh(&trans_pcie->reg_lock); if (trans_pcie->cmd_hold_nic_awake) goto out; @@ -2110,7 +2114,7 @@ } err: - spin_unlock_irqrestore(&trans_pcie->reg_lock, *flags); + spin_unlock_bh(&trans_pcie->reg_lock); return false; } @@ -2148,25 +2152,45 @@ * scheduled on different CPUs (after we drop reg_lock). */ out: - spin_unlock_irqrestore(&trans_pcie->reg_lock, *flags); + spin_unlock_bh(&trans_pcie->reg_lock); } static int iwl_trans_pcie_read_mem(struct iwl_trans *trans, u32 addr, void *buf, int dwords) { unsigned long flags; - int offs, ret = 0; + int offs = 0; u32 *vals = buf; - if (iwl_trans_grab_nic_access(trans, &flags)) { - iwl_write32(trans, HBUS_TARG_MEM_RADDR, addr); - for (offs = 0; offs < dwords; offs++) - vals[offs] = iwl_read32(trans, HBUS_TARG_MEM_RDAT); - iwl_trans_release_nic_access(trans, &flags); - } else { - ret = -EBUSY; + while (offs < dwords) { + /* limit the time we spin here under lock to 1/2s */ + unsigned long end = jiffies + HZ / 2; + bool resched = false; + + if (iwl_trans_grab_nic_access(trans, &flags)) { + iwl_write32(trans, HBUS_TARG_MEM_RADDR, + addr + 4 * offs); + + while (offs < dwords) { + vals[offs] = iwl_read32(trans, + HBUS_TARG_MEM_RDAT); + offs++; + + if (time_after(jiffies, end)) { + resched = true; + break; + } + } + iwl_trans_release_nic_access(trans, &flags); + + if (resched) + cond_resched(); + } else { + return -EBUSY; + } } - return ret; + + return 0; } static int iwl_trans_pcie_write_mem(struct iwl_trans *trans, u32 addr, @@ -2412,11 +2436,10 @@ u32 mask, u32 value) { struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); - unsigned long flags; - spin_lock_irqsave(&trans_pcie->reg_lock, flags); + spin_lock_bh(&trans_pcie->reg_lock); __iwl_trans_pcie_set_bits_mask(trans, reg, mask, value); - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); + spin_unlock_bh(&trans_pcie->reg_lock); } static const char *get_csr_string(int cmd) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c @@ -822,7 +822,6 @@ struct iwl_txq *txq = trans->txqs.txq[trans->txqs.cmd.q_id]; struct iwl_device_cmd *out_cmd; struct iwl_cmd_meta *out_meta; - unsigned long flags; void *dup_buf = NULL; dma_addr_t phys_addr; int i, cmd_pos, idx; @@ -832,6 +831,7 @@ const u8 *cmddata[IWL_MAX_CMD_TBS_PER_TFD]; u16 cmdlen[IWL_MAX_CMD_TBS_PER_TFD]; struct iwl_tfh_tfd *tfd; + unsigned long flags; copy_size = sizeof(struct iwl_cmd_header_wide); cmd_size = sizeof(struct iwl_cmd_header_wide); @@ -900,14 +900,14 @@ goto free_dup_buf; } - spin_lock_bh(&txq->lock); + spin_lock_irqsave(&txq->lock, flags); idx = iwl_pcie_get_cmd_index(txq, txq->write_ptr); tfd = iwl_pcie_get_tfd(trans, txq, txq->write_ptr); memset(tfd, 0, sizeof(*tfd)); if (iwl_queue_space(trans, txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) { - spin_unlock_bh(&txq->lock); + spin_unlock_irqrestore(&txq->lock, flags); IWL_ERR(trans, "No space in command queue\n"); iwl_op_mode_cmd_queue_full(trans->op_mode); @@ -1035,14 +1035,14 @@ if (txq->read_ptr == txq->write_ptr && txq->wd_timeout) mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout); - spin_lock_irqsave(&trans_pcie->reg_lock, flags); + spin_lock(&trans_pcie->reg_lock); /* Increment and update queue's write index */ txq->write_ptr = iwl_queue_inc_wrap(trans, txq->write_ptr); iwl_pcie_gen2_txq_inc_wr_ptr(trans, txq); - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); + spin_unlock(&trans_pcie->reg_lock); out: - spin_unlock_bh(&txq->lock); + spin_unlock_irqrestore(&txq->lock, flags); free_dup_buf: if (idx < 0) kfree(dup_buf); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intel/iwlwifi/pcie/tx.c @@ -660,6 +660,11 @@ struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_txq *txq = trans->txqs.txq[txq_id]; + if (!txq) { + IWL_ERR(trans, "Trying to free a queue that wasn't allocated?\n"); + return; + } + spin_lock_bh(&txq->lock); while (txq->write_ptr != txq->read_ptr) { IWL_DEBUG_TX_REPLY(trans, "Q %d Free %d\n", @@ -677,12 +682,10 @@ txq->read_ptr = iwl_queue_inc_wrap(trans, txq->read_ptr); if (txq->read_ptr == txq->write_ptr) { - unsigned long flags; - - spin_lock_irqsave(&trans_pcie->reg_lock, flags); + spin_lock(&trans_pcie->reg_lock); if (txq_id == trans->txqs.cmd.q_id) iwl_pcie_clear_cmd_in_flight(trans); - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); + spin_unlock(&trans_pcie->reg_lock); } } @@ -1289,7 +1292,6 @@ { struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_txq *txq = trans->txqs.txq[txq_id]; - unsigned long flags; int nfreed = 0; u16 r; @@ -1320,9 +1322,10 @@ } if (txq->read_ptr == txq->write_ptr) { - spin_lock_irqsave(&trans_pcie->reg_lock, flags); + /* BHs are also disabled due to txq->lock */ + spin_lock(&trans_pcie->reg_lock); iwl_pcie_clear_cmd_in_flight(trans); - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); + spin_unlock(&trans_pcie->reg_lock); } iwl_pcie_txq_progress(txq); @@ -1531,7 +1534,6 @@ struct iwl_txq *txq = trans->txqs.txq[trans->txqs.cmd.q_id]; struct iwl_device_cmd *out_cmd; struct iwl_cmd_meta *out_meta; - unsigned long flags; void *dup_buf = NULL; dma_addr_t phys_addr; int idx; @@ -1542,6 +1544,7 @@ u32 cmd_pos; const u8 *cmddata[IWL_MAX_CMD_TBS_PER_TFD]; u16 cmdlen[IWL_MAX_CMD_TBS_PER_TFD]; + unsigned long flags; if (WARN(!trans->wide_cmd_header && group_id > IWL_ALWAYS_LONG_GROUP, @@ -1625,10 +1628,10 @@ goto free_dup_buf; } - spin_lock_bh(&txq->lock); + spin_lock_irqsave(&txq->lock, flags); if (iwl_queue_space(trans, txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) { - spin_unlock_bh(&txq->lock); + spin_unlock_irqrestore(&txq->lock, flags); IWL_ERR(trans, "No space in command queue\n"); iwl_op_mode_cmd_queue_full(trans->op_mode); @@ -1774,22 +1777,21 @@ if (txq->read_ptr == txq->write_ptr && txq->wd_timeout) mod_timer(&txq->stuck_timer, jiffies + txq->wd_timeout); - spin_lock_irqsave(&trans_pcie->reg_lock, flags); + spin_lock(&trans_pcie->reg_lock); ret = iwl_pcie_set_cmd_in_flight(trans, cmd); if (ret < 0) { idx = ret; - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); - goto out; + goto unlock_reg; } /* Increment and update queue's write index */ txq->write_ptr = iwl_queue_inc_wrap(trans, txq->write_ptr); iwl_pcie_txq_inc_wr_ptr(trans, txq); - spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); - + unlock_reg: + spin_unlock(&trans_pcie->reg_lock); out: - spin_unlock_bh(&txq->lock); + spin_unlock_irqrestore(&txq->lock, flags); free_dup_buf: if (idx < 0) kfree(dup_buf); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intersil/orinoco/orinoco_usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intersil/orinoco/orinoco_usb.c @@ -1223,13 +1223,6 @@ if (skb->len < ETH_HLEN) goto drop; - ctx = ezusb_alloc_ctx(upriv, EZUSB_RID_TX, 0); - if (!ctx) - goto busy; - - memset(ctx->buf, 0, BULK_BUF_SIZE); - buf = ctx->buf->data; - tx_control = 0; err = orinoco_process_xmit_skb(skb, dev, priv, &tx_control, @@ -1237,6 +1230,13 @@ if (err) goto drop; + ctx = ezusb_alloc_ctx(upriv, EZUSB_RID_TX, 0); + if (!ctx) + goto drop; + + memset(ctx->buf, 0, BULK_BUF_SIZE); + buf = ctx->buf->data; + { __le16 *tx_cntl = (__le16 *)buf; *tx_cntl = cpu_to_le16(tx_control); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/intersil/p54/p54pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/intersil/p54/p54pci.c @@ -329,10 +329,12 @@ struct p54p_desc *desc; dma_addr_t mapping; u32 idx, i; + __le32 device_addr; spin_lock_irqsave(&priv->lock, flags); idx = le32_to_cpu(ring_control->host_idx[1]); i = idx % ARRAY_SIZE(ring_control->tx_data); + device_addr = ((struct p54_hdr *)skb->data)->req_id; mapping = pci_map_single(priv->pdev, skb->data, skb->len, PCI_DMA_TODEVICE); @@ -346,7 +348,7 @@ desc = &ring_control->tx_data[i]; desc->host_addr = cpu_to_le32(mapping); - desc->device_addr = ((struct p54_hdr *)skb->data)->req_id; + desc->device_addr = device_addr; desc->len = cpu_to_le16(skb->len); desc->flags = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/fw.h +++ linux-riscv-5.8-5.8.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 @@ -954,7 +956,7 @@ struct mwifiex_aes_param { u8 pn[WPA_PN_SIZE]; __le16 key_len; - u8 key[WLAN_KEY_LEN_CCMP]; + u8 key[WLAN_KEY_LEN_CCMP_256]; } __packed; struct mwifiex_wapi_param { @@ -1196,6 +1198,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; @@ -1319,6 +1331,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, @@ -2373,6 +2390,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-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/join.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/join.c @@ -877,6 +877,8 @@ memset(adhoc_start->ssid, 0, IEEE80211_MAX_SSID_LEN); + if (req_ssid->ssid_len > IEEE80211_MAX_SSID_LEN) + req_ssid->ssid_len = IEEE80211_MAX_SSID_LEN; memcpy(adhoc_start->ssid, req_ssid->ssid, req_ssid->ssid_len); mwifiex_dbg(adapter, INFO, "info: ADHOC_S_CMD: SSID = %s\n", --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/main.c @@ -728,8 +728,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; } @@ -760,6 +762,7 @@ cfg80211_sched_scan_stopped(priv->wdev.wiphy, 0); } + mwifiex_set_led(priv->adapter, MWIFIEX_LED_OFF); return 0; } @@ -1469,6 +1472,8 @@ priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); mwifiex_deauthenticate(priv, NULL); + mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN); + mwifiex_uninit_sw(adapter); adapter->is_up = false; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/main.h +++ linux-riscv-5.8-5.8.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 @@ -700,6 +704,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; }; @@ -1495,6 +1500,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-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/pcie.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -229,6 +229,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", @@ -267,6 +269,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; } @@ -377,6 +387,8 @@ clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, &card->work_flags); clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, &card->work_flags); mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__); + + card->pci_reset_ongoing = true; } /* @@ -405,6 +417,8 @@ dev_err(&pdev->dev, "reinit failed: %d\n", ret); else mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__); + + card->pci_reset_ongoing = false; } static const struct pci_error_handlers mwifiex_pcie_err_handler = { @@ -2995,7 +3009,19 @@ int ret; u32 fw_status; - cancel_work_sync(&card->work); + /* Perform the cancel_work_sync() only when we're not resetting + * the card. It's because that function never returns if we're + * in reset path. If we're here when resetting the card, it means + * that we failed to reset the card (reset failure path). + */ + if (!card->pci_reset_ongoing) { + mwifiex_dbg(adapter, MSG, "performing cancel_work_sync()...\n"); + cancel_work_sync(&card->work); + mwifiex_dbg(adapter, MSG, "cancel_work_sync() done\n"); + } else { + mwifiex_dbg(adapter, MSG, + "skipped cancel_work_sync() because we're in card reset failure path\n"); + } ret = mwifiex_read_reg(adapter, reg->fw_status, &fw_status); if (fw_status == FIRMWARE_READY_PCIE) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/pcie.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/pcie.h @@ -391,6 +391,8 @@ struct mwifiex_msix_context share_irq_ctx; struct work_struct work; unsigned long work_flags; + + bool pci_reset_ongoing; }; static inline int --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/scan.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/scan.c @@ -1889,7 +1889,7 @@ chan, CFG80211_BSS_FTYPE_UNKNOWN, bssid, timestamp, cap_info_bitmap, beacon_period, - ie_buf, ie_len, rssi, GFP_KERNEL); + ie_buf, ie_len, rssi, GFP_ATOMIC); if (bss) { bss_priv = (struct mwifiex_bss_priv *)bss->priv; bss_priv->band = band; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/sdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/sdio.c @@ -1976,6 +1976,8 @@ kfree(card->mpa_rx.buf); card->mpa_tx.buf_size = 0; card->mpa_rx.buf_size = 0; + card->mpa_tx.buf = NULL; + card->mpa_rx.buf = NULL; } return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/sdio.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/sdio.h @@ -36,9 +36,9 @@ #define SD8897_DEFAULT_FW_NAME "mrvl/sd8897_uapsta.bin" #define SD8887_DEFAULT_FW_NAME "mrvl/sd8887_uapsta.bin" #define SD8801_DEFAULT_FW_NAME "mrvl/sd8801_uapsta.bin" -#define SD8977_DEFAULT_FW_NAME "mrvl/sd8977_uapsta.bin" +#define SD8977_DEFAULT_FW_NAME "mrvl/sdsd8977_combo_v2.bin" #define SD8987_DEFAULT_FW_NAME "mrvl/sd8987_uapsta.bin" -#define SD8997_DEFAULT_FW_NAME "mrvl/sd8997_uapsta.bin" +#define SD8997_DEFAULT_FW_NAME "mrvl/sdsd8997_combo_v4.bin" #define BLOCK_MODE 1 #define BYTE_MODE 0 --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/sta_cmd.c @@ -424,6 +424,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. * @@ -1992,6 +2017,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-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c @@ -580,6 +580,11 @@ { struct host_cmd_ds_802_11_key_material *key = &resp->params.key_material; + int len; + + len = le16_to_cpu(key->key_param_set.key_len); + if (len > sizeof(key->key_param_set.key)) + return -EINVAL; if (le16_to_cpu(key->action) == HostCmd_ACT_GEN_SET) { if ((le16_to_cpu(key->key_param_set.key_info) & KEY_MCAST)) { @@ -593,9 +598,8 @@ memset(priv->aes_key.key_param_set.key, 0, sizeof(key->key_param_set.key)); - priv->aes_key.key_param_set.key_len = key->key_param_set.key_len; - memcpy(priv->aes_key.key_param_set.key, key->key_param_set.key, - le16_to_cpu(priv->aes_key.key_param_set.key_len)); + priv->aes_key.key_param_set.key_len = cpu_to_le16(len); + memcpy(priv->aes_key.key_param_set.key, key->key_param_set.key, len); return 0; } @@ -610,9 +614,14 @@ struct host_cmd_ds_command *resp) { struct host_cmd_ds_802_11_key_material_v2 *key_v2; - __le16 len; + int len; key_v2 = &resp->params.key_material_v2; + + len = le16_to_cpu(key_v2->key_param_set.key_params.aes.key_len); + if (len > sizeof(key_v2->key_param_set.key_params.aes.key)) + return -EINVAL; + if (le16_to_cpu(key_v2->action) == HostCmd_ACT_GEN_SET) { if ((le16_to_cpu(key_v2->key_param_set.key_info) & KEY_MCAST)) { mwifiex_dbg(priv->adapter, INFO, "info: key: GTK is set\n"); @@ -626,12 +635,11 @@ return 0; memset(priv->aes_key_v2.key_param_set.key_params.aes.key, 0, - WLAN_KEY_LEN_CCMP); + sizeof(key_v2->key_param_set.key_params.aes.key)); priv->aes_key_v2.key_param_set.key_params.aes.key_len = - key_v2->key_param_set.key_params.aes.key_len; - len = priv->aes_key_v2.key_param_set.key_params.aes.key_len; + cpu_to_le16(len); memcpy(priv->aes_key_v2.key_param_set.key_params.aes.key, - key_v2->key_param_set.key_params.aes.key, le16_to_cpu(len)); + key_v2->key_param_set.key_params.aes.key, len); return 0; } @@ -1400,6 +1408,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-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/net/wireless/marvell/mwifiex/usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/marvell/mwifiex/usb.c @@ -1353,7 +1353,8 @@ skb_dequeue(&port->tx_aggr.aggr_list))) mwifiex_write_data_complete(adapter, skb_tmp, 0, -1); - del_timer_sync(&port->tx_aggr.timer_cnxt.hold_timer); + if (port->tx_aggr.timer_cnxt.hold_timer.function) + del_timer_sync(&port->tx_aggr.timer_cnxt.hold_timer); port->tx_aggr.timer_cnxt.is_hold_timer_set = false; port->tx_aggr.timer_cnxt.hold_tmo_msecs = 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/dma.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/dma.c @@ -306,7 +306,6 @@ }; struct ieee80211_hw *hw; int len, n = 0, ret = -ENOMEM; - struct mt76_queue_entry e; struct mt76_txwi_cache *t; struct sk_buff *iter; dma_addr_t addr; @@ -348,6 +347,11 @@ } tx_info.nbuf = n; + if (q->queued + (tx_info.nbuf + 1) / 2 >= q->ndesc - 1) { + ret = -ENOMEM; + goto unmap; + } + dma_sync_single_for_cpu(dev->dev, t->dma_addr, dev->drv->txwi_size, DMA_TO_DEVICE); ret = dev->drv->tx_prepare_skb(dev, txwi, qid, wcid, sta, &tx_info); @@ -356,11 +360,6 @@ if (ret < 0) goto unmap; - if (q->queued + (tx_info.nbuf + 1) / 2 >= q->ndesc - 1) { - ret = -ENOMEM; - goto unmap; - } - return mt76_dma_add_buf(dev, q, tx_info.buf, tx_info.nbuf, tx_info.info, tx_info.skb, t); @@ -370,9 +369,7 @@ tx_info.buf[n].len, DMA_TO_DEVICE); free: - e.skb = tx_info.skb; - e.txwi = t; - dev->drv->tx_complete_skb(dev, qid, &e); + dev_kfree_skb(tx_info.skb); mt76_put_txwi(dev, t); return ret; } @@ -464,22 +461,27 @@ mt76_add_fragment(struct mt76_dev *dev, struct mt76_queue *q, void *data, int len, bool more) { - struct page *page = virt_to_head_page(data); - int offset = data - page_address(page); struct sk_buff *skb = q->rx_head; struct skb_shared_info *shinfo = skb_shinfo(skb); + int nr_frags = shinfo->nr_frags; - if (shinfo->nr_frags < ARRAY_SIZE(shinfo->frags)) { - offset += q->buf_offset; - skb_add_rx_frag(skb, shinfo->nr_frags, page, offset, len, - q->buf_size); + if (nr_frags < ARRAY_SIZE(shinfo->frags)) { + struct page *page = virt_to_head_page(data); + int offset = data - page_address(page) + q->buf_offset; + + skb_add_rx_frag(skb, nr_frags, page, offset, len, q->buf_size); + } else { + skb_free_frag(data); } if (more) return; q->rx_head = NULL; - dev->drv->rx_skb(dev, q - dev->q_rx, skb); + if (nr_frags < ARRAY_SIZE(shinfo->frags)) + dev->drv->rx_skb(dev, q - dev->q_rx, skb); + else + dev_kfree_skb(skb); } static int --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mac80211.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mac80211.c @@ -299,6 +299,7 @@ ieee80211_hw_set(hw, SUPPORT_FAST_XMIT); ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS); ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU); + ieee80211_hw_set(hw, SUPPORTS_REORDERING_BUFFER); ieee80211_hw_set(hw, TX_AMSDU); ieee80211_hw_set(hw, TX_FRAG_LIST); ieee80211_hw_set(hw, MFP_CAPABLE); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7603/pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7603/pci.c @@ -55,7 +55,8 @@ return 0; error: - ieee80211_free_hw(mt76_hw(dev)); + mt76_free_device(&dev->mt76); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c @@ -980,15 +980,17 @@ if (cmd == SET_KEY) { if (cipher == MT_CIPHER_TKIP) { /* Rx/Tx MIC keys are swapped */ + memcpy(data, key, 16); memcpy(data + 16, key + 24, 8); memcpy(data + 24, key + 16, 8); + } else { + if (cipher != MT_CIPHER_BIP_CMAC_128 && wcid->cipher) + memmove(data + 16, data, 16); + if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher) + memcpy(data, key, keylen); + else if (cipher == MT_CIPHER_BIP_CMAC_128) + memcpy(data + 16, key, 16); } - if (cipher != MT_CIPHER_BIP_CMAC_128 && wcid->cipher) - memmove(data + 16, data, 16); - if (cipher != MT_CIPHER_BIP_CMAC_128 || !wcid->cipher) - memcpy(data, key, keylen); - else if (cipher == MT_CIPHER_BIP_CMAC_128) - memcpy(data + 16, key, 16); } else { if (wcid->cipher & ~BIT(cipher)) { if (cipher != MT_CIPHER_BIP_CMAC_128) @@ -1824,6 +1826,23 @@ } EXPORT_SYMBOL_GPL(mt7615_dma_reset); +void mt7615_tx_token_put(struct mt7615_dev *dev) +{ + struct mt76_txwi_cache *txwi; + int id; + + spin_lock_bh(&dev->token_lock); + idr_for_each_entry(&dev->token, txwi, id) { + mt7615_txp_skb_unmap(&dev->mt76, txwi); + if (txwi->skb) + dev_kfree_skb_any(txwi->skb); + mt76_put_txwi(&dev->mt76, txwi); + } + spin_unlock_bh(&dev->token_lock); + idr_destroy(&dev->token); +} +EXPORT_SYMBOL_GPL(mt7615_tx_token_put); + void mt7615_mac_reset_work(struct work_struct *work) { struct mt7615_phy *phy2; @@ -1867,6 +1886,9 @@ mt76_wr(dev, MT_MCU_INT_EVENT, MT_MCU_INT_EVENT_PDMA_STOPPED); + mt7615_tx_token_put(dev); + idr_init(&dev->token); + if (mt7615_wait_reset_state(dev, MT_MCU_CMD_RESET_DONE)) { mt7615_dma_reset(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c @@ -180,8 +180,10 @@ struct mt7615_mcu_rxd *rxd = (struct mt7615_mcu_rxd *)skb->data; int ret = 0; - if (seq != rxd->seq) - return -EAGAIN; + if (seq != rxd->seq) { + ret = -EAGAIN; + goto out; + } switch (cmd) { case MCU_CMD_PATCH_SEM_CONTROL: @@ -208,6 +210,7 @@ default: break; } +out: dev_kfree_skb(skb); return ret; @@ -1206,8 +1209,12 @@ skb = enable ? wskb : sskb; err = __mt76_mcu_skb_send_msg(&dev->mt76, skb, cmd, true); - if (err < 0) + if (err < 0) { + skb = enable ? sskb : wskb; + dev_kfree_skb(skb); + return err; + } cmd = enable ? MCU_EXT_CMD_STA_REC_UPDATE : MCU_EXT_CMD_WTBL_UPDATE; skb = enable ? sskb : wskb; @@ -2007,7 +2014,8 @@ sizeof(dev->mt76.hw->wiphy->fw_version), "%.10s-%.15s", hdr->fw_ver, hdr->build_date); - if (!strncmp(hdr->fw_ver, "2.0", sizeof(hdr->fw_ver))) { + if (!is_mt7615(&dev->mt76) && + !strncmp(hdr->fw_ver, "2.0", sizeof(hdr->fw_ver))) { dev->fw_ver = MT7615_FIRMWARE_V2; dev->mcu_ops = &sta_update_ops; } else { @@ -2574,11 +2582,11 @@ int mt7615_mcu_set_fcc5_lpn(struct mt7615_dev *dev, int val) { struct { - u16 tag; - u16 min_lpn; + __le16 tag; + __le16 min_lpn; } req = { - .tag = 0x1, - .min_lpn = val, + .tag = cpu_to_le16(0x1), + .min_lpn = cpu_to_le16(val), }; return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, @@ -2589,14 +2597,27 @@ const struct mt7615_dfs_pulse *pulse) { struct { - u16 tag; - struct mt7615_dfs_pulse pulse; + __le16 tag; + __le32 max_width; /* us */ + __le32 max_pwr; /* dbm */ + __le32 min_pwr; /* dbm */ + __le32 min_stgr_pri; /* us */ + __le32 max_stgr_pri; /* us */ + __le32 min_cr_pri; /* us */ + __le32 max_cr_pri; /* us */ } req = { - .tag = 0x3, + .tag = cpu_to_le16(0x3), +#define __req_field(field) .field = cpu_to_le32(pulse->field) + __req_field(max_width), + __req_field(max_pwr), + __req_field(min_pwr), + __req_field(min_stgr_pri), + __req_field(max_stgr_pri), + __req_field(min_cr_pri), + __req_field(max_cr_pri), +#undef __req_field }; - memcpy(&req.pulse, pulse, sizeof(*pulse)); - return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, &req, sizeof(req), true); } @@ -2605,16 +2626,45 @@ const struct mt7615_dfs_pattern *pattern) { struct { - u16 tag; - u16 radar_type; - struct mt7615_dfs_pattern pattern; + __le16 tag; + __le16 radar_type; + u8 enb; + u8 stgr; + u8 min_crpn; + u8 max_crpn; + u8 min_crpr; + u8 min_pw; + u8 max_pw; + __le32 min_pri; + __le32 max_pri; + u8 min_crbn; + u8 max_crbn; + u8 min_stgpn; + u8 max_stgpn; + u8 min_stgpr; } req = { - .tag = 0x2, - .radar_type = index, + .tag = cpu_to_le16(0x2), + .radar_type = cpu_to_le16(index), +#define __req_field_u8(field) .field = pattern->field +#define __req_field_u32(field) .field = cpu_to_le32(pattern->field) + __req_field_u8(enb), + __req_field_u8(stgr), + __req_field_u8(min_crpn), + __req_field_u8(max_crpn), + __req_field_u8(min_crpr), + __req_field_u8(min_pw), + __req_field_u8(max_pw), + __req_field_u32(min_pri), + __req_field_u32(max_pri), + __req_field_u8(min_crbn), + __req_field_u8(max_crbn), + __req_field_u8(min_stgpn), + __req_field_u8(max_stgpn), + __req_field_u8(min_stgpr), +#undef __req_field_u8 +#undef __req_field_u32 }; - memcpy(&req.pattern, pattern, sizeof(*pattern)); - return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, &req, sizeof(req), true); } @@ -2625,9 +2675,9 @@ u8 pulse_num; u8 rsv[3]; struct { - u32 start_time; - u16 width; - s16 power; + __le32 start_time; + __le16 width; + __le16 power; } pattern[32]; } req = { .pulse_num = dev->radar_pattern.n_pulses, @@ -2640,10 +2690,11 @@ /* TODO: add some noise here */ for (i = 0; i < dev->radar_pattern.n_pulses; i++) { - req.pattern[i].width = dev->radar_pattern.width; - req.pattern[i].power = dev->radar_pattern.power; - req.pattern[i].start_time = start_time + - i * dev->radar_pattern.period; + u32 ts = start_time + i * dev->radar_pattern.period; + + req.pattern[i].width = cpu_to_le16(dev->radar_pattern.width); + req.pattern[i].power = cpu_to_le16(dev->radar_pattern.power); + req.pattern[i].start_time = cpu_to_le32(ts); } return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_PATTERN, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mmio.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/mmio.c @@ -196,7 +196,8 @@ return 0; error: - ieee80211_free_hw(mt76_hw(dev)); + mt76_free_device(&dev->mt76); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h @@ -547,7 +547,7 @@ void mt7615_tx_complete_skb(struct mt76_dev *mdev, enum mt76_txq_id qid, struct mt76_queue_entry *e); - +void mt7615_tx_token_put(struct mt7615_dev *dev); void mt7615_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q, struct sk_buff *skb); void mt7615_sta_ps(struct mt76_dev *mdev, struct ieee80211_sta *sta, bool ps); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c @@ -146,9 +146,7 @@ void mt7615_unregister_device(struct mt7615_dev *dev) { - struct mt76_txwi_cache *txwi; bool mcu_running; - int id; mcu_running = mt7615_wait_for_mcu_init(dev); @@ -158,15 +156,7 @@ mt7615_mcu_exit(dev); mt7615_dma_cleanup(dev); - spin_lock_bh(&dev->token_lock); - idr_for_each_entry(&dev->token, txwi, id) { - mt7615_txp_skb_unmap(&dev->mt76, txwi); - if (txwi->skb) - dev_kfree_skb_any(txwi->skb); - mt76_put_txwi(&dev->mt76, txwi); - } - spin_unlock_bh(&dev->token_lock); - idr_destroy(&dev->token); + mt7615_tx_token_put(dev); tasklet_disable(&dev->irq_tasklet); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/usb.c @@ -166,12 +166,16 @@ lockdep_assert_held(&dev->mt76.mutex); - if (!sta) - return -EINVAL; + if (!sta) { + err = -EINVAL; + goto out; + } cipher = mt7615_mac_get_cipher(key->cipher); - if (cipher == MT_CIPHER_NONE) - return -EOPNOTSUPP; + if (cipher == MT_CIPHER_NONE) { + err = -EOPNOTSUPP; + goto out; + } wcid = &wd->sta->wcid; @@ -179,19 +183,22 @@ err = mt7615_mac_wtbl_update_key(dev, wcid, key->key, key->keylen, cipher, key->cmd); if (err < 0) - return err; + goto out; err = mt7615_mac_wtbl_update_pk(dev, wcid, cipher, key->keyidx, key->cmd); if (err < 0) - return err; + goto out; if (key->cmd == SET_KEY) wcid->cipher |= BIT(cipher); else wcid->cipher &= ~BIT(cipher); - return 0; +out: + kfree(key->key); + + return err; } void mt7663u_wtbl_work(struct work_struct *work) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c @@ -34,7 +34,6 @@ ret = mt76u_bulk_msg(&dev->mt76, skb->data, skb->len, NULL, 1000, ep); - dev_kfree_skb(skb); if (ret < 0) goto out; @@ -43,6 +42,7 @@ out: mutex_unlock(&mdev->mcu.mutex); + dev_kfree_skb(skb); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt76x0/pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt76x0/pci.c @@ -192,7 +192,8 @@ return 0; error: - ieee80211_free_hw(mt76_hw(dev)); + mt76_free_device(&dev->mt76); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c @@ -88,7 +88,8 @@ return 0; error: - ieee80211_free_hw(mt76_hw(dev)); + mt76_free_device(&dev->mt76); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c @@ -227,6 +227,7 @@ .read = seq_read, .llseek = seq_lseek, .release = single_release, + .owner = THIS_MODULE, }; static int mt7915_read_temperature(struct seq_file *s, void *data) @@ -384,6 +385,7 @@ return 0; } +#ifdef CONFIG_MAC80211_DEBUGFS /** per-station debugfs **/ /* usage: */ @@ -453,6 +455,7 @@ .read = seq_read, .llseek = seq_lseek, .release = single_release, + .owner = THIS_MODULE, }; void mt7915_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -461,3 +464,4 @@ debugfs_create_file("fixed_rate", 0600, dir, sta, &fops_fixed_rate); debugfs_create_file("stats", 0400, dir, sta, &fops_sta_stats); } +#endif --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/init.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7915/init.c @@ -691,8 +691,12 @@ spin_lock_bh(&dev->token_lock); idr_for_each_entry(&dev->token, txwi, id) { mt7915_txp_skb_unmap(&dev->mt76, txwi); - if (txwi->skb) - dev_kfree_skb_any(txwi->skb); + if (txwi->skb) { + struct ieee80211_hw *hw; + + hw = mt76_tx_status_get_hw(&dev->mt76, txwi->skb); + ieee80211_free_txskb(hw, txwi->skb); + } mt76_put_txwi(&dev->mt76, txwi); } spin_unlock_bh(&dev->token_lock); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mac.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7915/mac.c @@ -844,7 +844,7 @@ if (sta || !(info->flags & IEEE80211_TX_CTL_NO_ACK)) mt7915_tx_status(sta, hw, info, NULL); - dev_kfree_skb(skb); + ieee80211_free_txskb(hw, skb); } void mt7915_txp_skb_unmap(struct mt76_dev *dev, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c @@ -505,15 +505,22 @@ mt7915_mcu_tx_rate_report(struct mt7915_dev *dev, struct sk_buff *skb) { struct mt7915_mcu_ra_info *ra = (struct mt7915_mcu_ra_info *)skb->data; - u16 wcidx = le16_to_cpu(ra->wlan_idx); - struct mt76_wcid *wcid = rcu_dereference(dev->mt76.wcid[wcidx]); - struct mt7915_sta *msta = container_of(wcid, struct mt7915_sta, wcid); - struct mt7915_sta_stats *stats = &msta->stats; - struct mt76_phy *mphy = &dev->mphy; struct rate_info rate = {}, prob_rate = {}; + u16 probe = le16_to_cpu(ra->prob_up_rate); u16 attempts = le16_to_cpu(ra->attempts); u16 curr = le16_to_cpu(ra->curr_rate); - u16 probe = le16_to_cpu(ra->prob_up_rate); + u16 wcidx = le16_to_cpu(ra->wlan_idx); + struct mt76_phy *mphy = &dev->mphy; + struct mt7915_sta_stats *stats; + struct mt7915_sta *msta; + struct mt76_wcid *wcid; + + if (wcidx >= MT76_N_WCIDS) + return; + + wcid = rcu_dereference(dev->mt76.wcid[wcidx]); + msta = container_of(wcid, struct mt7915_sta, wcid); + stats = &msta->stats; if (msta->wcid.ext_phy && dev->mt76.phy2) mphy = dev->mt76.phy2; @@ -2260,14 +2267,6 @@ struct bss_info_bcn *bcn; int len = MT7915_BEACON_UPDATE_SIZE + MAX_BEACON_SIZE; - rskb = mt7915_mcu_alloc_sta_req(dev, mvif, NULL, len); - if (IS_ERR(rskb)) - return PTR_ERR(rskb); - - tlv = mt7915_mcu_add_tlv(rskb, BSS_INFO_OFFLOAD, sizeof(*bcn)); - bcn = (struct bss_info_bcn *)tlv; - bcn->enable = en; - skb = ieee80211_beacon_get_template(hw, vif, &offs); if (!skb) return -EINVAL; @@ -2278,6 +2277,16 @@ return -EINVAL; } + rskb = mt7915_mcu_alloc_sta_req(dev, mvif, NULL, len); + if (IS_ERR(rskb)) { + dev_kfree_skb(skb); + return PTR_ERR(rskb); + } + + tlv = mt7915_mcu_add_tlv(rskb, BSS_INFO_OFFLOAD, sizeof(*bcn)); + bcn = (struct bss_info_bcn *)tlv; + bcn->enable = en; + if (mvif->band_idx) { info = IEEE80211_SKB_CB(skb); info->hw_queue |= MT_TX_HW_QUEUE_EXT_PHY; @@ -2665,7 +2674,7 @@ struct { u8 ver; u8 pad; - u16 len; + __le16 len; u8 level; u8 rsv[3]; __le32 module_idx; @@ -2899,12 +2908,12 @@ int mt7915_mcu_set_fcc5_lpn(struct mt7915_dev *dev, int val) { struct { - u32 tag; - u16 min_lpn; + __le32 tag; + __le16 min_lpn; u8 rsv[2]; } __packed req = { - .tag = 0x1, - .min_lpn = val, + .tag = cpu_to_le32(0x1), + .min_lpn = cpu_to_le16(val), }; return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, @@ -2915,13 +2924,28 @@ const struct mt7915_dfs_pulse *pulse) { struct { - u32 tag; - struct mt7915_dfs_pulse pulse; + __le32 tag; + + __le32 max_width; /* us */ + __le32 max_pwr; /* dbm */ + __le32 min_pwr; /* dbm */ + __le32 min_stgr_pri; /* us */ + __le32 max_stgr_pri; /* us */ + __le32 min_cr_pri; /* us */ + __le32 max_cr_pri; /* us */ } __packed req = { - .tag = 0x3, - }; + .tag = cpu_to_le32(0x3), - memcpy(&req.pulse, pulse, sizeof(*pulse)); +#define __req_field(field) .field = cpu_to_le32(pulse->field) + __req_field(max_width), + __req_field(max_pwr), + __req_field(min_pwr), + __req_field(min_stgr_pri), + __req_field(max_stgr_pri), + __req_field(min_cr_pri), + __req_field(max_cr_pri), +#undef __req_field + }; return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, &req, sizeof(req), true); @@ -2931,15 +2955,49 @@ const struct mt7915_dfs_pattern *pattern) { struct { - u32 tag; - u16 radar_type; - struct mt7915_dfs_pattern pattern; + __le32 tag; + __le16 radar_type; + + u8 enb; + u8 stgr; + u8 min_crpn; + u8 max_crpn; + u8 min_crpr; + u8 min_pw; + u32 min_pri; + u32 max_pri; + u8 max_pw; + u8 min_crbn; + u8 max_crbn; + u8 min_stgpn; + u8 max_stgpn; + u8 min_stgpr; + u8 rsv[2]; + u32 min_stgpr_diff; } __packed req = { - .tag = 0x2, - .radar_type = index, - }; + .tag = cpu_to_le32(0x2), + .radar_type = cpu_to_le16(index), - memcpy(&req.pattern, pattern, sizeof(*pattern)); +#define __req_field_u8(field) .field = pattern->field +#define __req_field_u32(field) .field = cpu_to_le32(pattern->field) + __req_field_u8(enb), + __req_field_u8(stgr), + __req_field_u8(min_crpn), + __req_field_u8(max_crpn), + __req_field_u8(min_crpr), + __req_field_u8(min_pw), + __req_field_u32(min_pri), + __req_field_u32(max_pri), + __req_field_u8(max_pw), + __req_field_u8(min_crbn), + __req_field_u8(max_crbn), + __req_field_u8(min_stgpn), + __req_field_u8(max_stgpn), + __req_field_u8(min_stgpr), + __req_field_u32(min_stgpr_diff), +#undef __req_field_u8 +#undef __req_field_u32 + }; return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_TH, &req, sizeof(req), true); @@ -3169,12 +3227,12 @@ u8 drop_tx_idx; u8 sta_idx; /* 256 sta */ u8 rsv[2]; - u32 val; + __le32 val; } __packed req = { .action = MT_SPR_ENABLE, .arg_num = 1, .band_idx = mvif->band_idx, - .val = enable, + .val = cpu_to_le32(enable), }; return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_SPR, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt76/mt7915/pci.c @@ -142,7 +142,7 @@ dev = container_of(mdev, struct mt7915_dev, mt76); ret = mt7915_alloc_device(pdev, dev); if (ret) - return ret; + goto error; mt76_mmio_init(&dev->mt76, pcim_iomap_table(pdev)[0]); mdev->rev = (mt7915_l1_rr(dev, MT_HW_CHIPID) << 16) | @@ -163,7 +163,8 @@ return 0; error: - ieee80211_free_hw(mt76_hw(dev)); + mt76_free_device(&dev->mt76); + return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/mediatek/mt7601u/dma.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/mediatek/mt7601u/dma.c @@ -152,8 +152,7 @@ if (new_p) { /* we have one extra ref from the allocator */ - __free_pages(e->p, MT_RX_ORDER); - + put_page(e->p); e->p = new_p; } } @@ -310,7 +309,6 @@ } e = &q->e[q->end]; - e->skb = skb; usb_fill_bulk_urb(e->urb, usb_dev, snd_pipe, skb->data, skb->len, mt7601u_complete_tx, q); ret = usb_submit_urb(e->urb, GFP_ATOMIC); @@ -328,6 +326,7 @@ q->end = (q->end + 1) % q->entries; q->used++; + e->skb = skb; if (q->used >= q->entries) ieee80211_stop_queue(dev->hw, skb_get_queue_mapping(skb)); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/quantenna/qtnfmac/commands.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/quantenna/qtnfmac/commands.c @@ -869,6 +869,7 @@ default: pr_warn("VIF%u.%u: unsupported iftype %d\n", vif->mac->macid, vif->vifid, vif->wdev.iftype); + dev_kfree_skb(cmd_skb); ret = -EINVAL; goto out; } @@ -1924,6 +1925,7 @@ break; default: pr_err("unsupported iftype %d\n", vif->wdev.iftype); + dev_kfree_skb(cmd_skb); ret = -EINVAL; goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/quantenna/qtnfmac/core.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/quantenna/qtnfmac/core.c @@ -446,8 +446,11 @@ } wiphy = qtnf_wiphy_allocate(bus, pdev); - if (!wiphy) + if (!wiphy) { + if (pdev) + platform_device_unregister(pdev); return ERR_PTR(-ENOMEM); + } mac = wiphy_priv(wiphy); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c @@ -299,19 +299,19 @@ sysctl_bar = qtnf_map_bar(pdev, QTN_SYSCTL_BAR); if (IS_ERR(sysctl_bar)) { pr_err("failed to map BAR%u\n", QTN_SYSCTL_BAR); - return ret; + return PTR_ERR(sysctl_bar); } dmareg_bar = qtnf_map_bar(pdev, QTN_DMA_BAR); if (IS_ERR(dmareg_bar)) { pr_err("failed to map BAR%u\n", QTN_DMA_BAR); - return ret; + return PTR_ERR(dmareg_bar); } epmem_bar = qtnf_map_bar(pdev, QTN_SHMEM_BAR); if (IS_ERR(epmem_bar)) { pr_err("failed to map BAR%u\n", QTN_SHMEM_BAR); - return ret; + return PTR_ERR(epmem_bar); } chipid = qtnf_chip_id_get(sysctl_bar); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c @@ -5795,7 +5795,6 @@ ret = usb_submit_urb(urb, GFP_KERNEL); if (ret) { usb_unanchor_urb(urb); - usb_free_urb(urb); goto error; } @@ -5804,6 +5803,7 @@ rtl8xxxu_write32(priv, REG_USB_HIMR, val32); error: + usb_free_urb(urb); return ret; } @@ -6318,6 +6318,7 @@ struct rtl8xxxu_priv *priv = hw->priv; struct rtl8xxxu_rx_urb *rx_urb; struct rtl8xxxu_tx_urb *tx_urb; + struct sk_buff *skb; unsigned long flags; int ret, i; @@ -6368,6 +6369,13 @@ rx_urb->hw = hw; ret = rtl8xxxu_submit_rx_urb(priv, rx_urb); + if (ret) { + if (ret != -ENOMEM) { + skb = (struct sk_buff *)rx_urb->urb.context; + dev_kfree_skb(skb); + } + rtl8xxxu_queue_rx_urb(priv, rx_urb); + } } schedule_delayed_work(&priv->ra_watchdog, 2 * HZ); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtlwifi/core.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtlwifi/core.c @@ -78,7 +78,6 @@ RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD, "Firmware callback routine entered!\n"); - complete(&rtlpriv->firmware_loading_complete); if (!firmware) { if (rtlpriv->cfg->alt_fw_name) { err = request_firmware(&firmware, @@ -91,13 +90,13 @@ } pr_err("Selected firmware is not available\n"); rtlpriv->max_fw_size = 0; - return; + goto exit; } found_alt: if (firmware->size > rtlpriv->max_fw_size) { pr_err("Firmware is too big!\n"); release_firmware(firmware); - return; + goto exit; } if (!is_wow) { memcpy(rtlpriv->rtlhal.pfirmware, firmware->data, @@ -109,6 +108,9 @@ rtlpriv->rtlhal.wowlan_fwsize = firmware->size; } release_firmware(firmware); + +exit: + complete(&rtlpriv->firmware_loading_complete); } void rtl_fw_cb(const struct firmware *firmware, void *context) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtlwifi/usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtlwifi/usb.c @@ -718,8 +718,11 @@ usb_anchor_urb(urb, &rtlusb->rx_submitted); err = usb_submit_urb(urb, GFP_KERNEL); - if (err) + if (err) { + usb_unanchor_urb(urb); + usb_free_urb(urb); goto err_out; + } usb_free_urb(urb); } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/coex.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/coex.c @@ -1934,7 +1934,8 @@ if (coex_stat->wl_under_ips) return; - if (coex->freeze && !coex_stat->bt_setup_link) + if (coex->freeze && coex_dm->reason == COEX_RSN_BTINFO && + !coex_stat->bt_setup_link) return; coex_stat->cnt_wl[COEX_CNT_WL_COEXRUN]++; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/debug.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/debug.c @@ -147,6 +147,8 @@ { int tmp_len; + memset(tmp, 0, size); + if (count < num) return -EFAULT; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/fw.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/fw.c @@ -456,7 +456,7 @@ SET_RA_INFO_INIT_RA_LVL(h2c_pkt, si->init_ra_lv); SET_RA_INFO_SGI_EN(h2c_pkt, si->sgi_enable); SET_RA_INFO_BW_MODE(h2c_pkt, si->bw_mode); - SET_RA_INFO_LDPC(h2c_pkt, si->ldpc_en); + SET_RA_INFO_LDPC(h2c_pkt, !!si->ldpc_en); SET_RA_INFO_NO_UPDATE(h2c_pkt, no_update); SET_RA_INFO_VHT_EN(h2c_pkt, si->vht_enable); SET_RA_INFO_DIS_PT(h2c_pkt, disable_pt); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/main.c @@ -722,8 +722,6 @@ stbc_en = VHT_STBC_EN; if (sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC) ldpc_en = VHT_LDPC_EN; - if (sta->vht_cap.cap & IEEE80211_VHT_CAP_SHORT_GI_80) - is_support_sgi = true; } else if (sta->ht_cap.ht_supported) { ra_mask |= (sta->ht_cap.mcs.rx_mask[1] << 20) | (sta->ht_cap.mcs.rx_mask[0] << 12); @@ -731,9 +729,6 @@ stbc_en = HT_STBC_EN; if (sta->ht_cap.cap & IEEE80211_HT_CAP_LDPC_CODING) ldpc_en = HT_LDPC_EN; - if (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20 || - sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) - is_support_sgi = true; } if (efuse->hw_cap.nss == 1) @@ -775,12 +770,18 @@ switch (sta->bandwidth) { case IEEE80211_STA_RX_BW_80: bw_mode = RTW_CHANNEL_WIDTH_80; + is_support_sgi = sta->vht_cap.vht_supported && + (sta->vht_cap.cap & IEEE80211_VHT_CAP_SHORT_GI_80); break; case IEEE80211_STA_RX_BW_40: bw_mode = RTW_CHANNEL_WIDTH_40; + is_support_sgi = sta->ht_cap.ht_supported && + (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40); break; default: bw_mode = RTW_CHANNEL_WIDTH_20; + is_support_sgi = sta->ht_cap.ht_supported && + (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20); break; } @@ -1464,6 +1465,9 @@ ret = rtw_load_firmware(rtwdev, RTW_WOWLAN_FW); if (ret) { rtw_warn(rtwdev, "no wow firmware loaded\n"); + wait_for_completion(&rtwdev->fw.completion); + if (rtwdev->fw.firmware) + release_firmware(rtwdev->fw.firmware); return ret; } } @@ -1478,6 +1482,8 @@ struct rtw_rsvd_page *rsvd_pkt, *tmp; unsigned long flags; + rtw_wait_firmware_completion(rtwdev); + if (fw->firmware) release_firmware(fw->firmware); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/pci.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/pci.c @@ -14,8 +14,11 @@ #include "debug.h" static bool rtw_disable_msi; +static bool rtw_pci_disable_aspm; module_param_named(disable_msi, rtw_disable_msi, bool, 0644); +module_param_named(disable_aspm, rtw_pci_disable_aspm, bool, 0644); MODULE_PARM_DESC(disable_msi, "Set Y to disable MSI interrupt support"); +MODULE_PARM_DESC(disable_aspm, "Set Y to disable PCI ASPM support"); static u32 rtw_pci_tx_queue_idx_addr[] = { [RTW_TX_QUEUE_BK] = RTK_PCI_TXBD_IDX_BKQ, @@ -1200,6 +1203,9 @@ u8 value; int ret; + if (rtw_pci_disable_aspm) + return; + ret = rtw_dbi_read8(rtwdev, RTK_PCIE_LINK_CFG, &value); if (ret) { rtw_err(rtwdev, "failed to read CLKREQ_L1, ret=%d", ret); @@ -1219,6 +1225,9 @@ u8 value; int ret; + if (rtw_pci_disable_aspm) + return; + ret = rtw_dbi_read8(rtwdev, RTK_PCIE_LINK_CFG, &value); if (ret) { rtw_err(rtwdev, "failed to read ASPM, ret=%d", ret); @@ -1590,6 +1599,8 @@ if (chip->ops->shutdown) chip->ops->shutdown(rtwdev); + + pci_set_power_state(pdev, PCI_D3hot); } EXPORT_SYMBOL(rtw_pci_shutdown); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/pci.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/pci.h @@ -9,8 +9,8 @@ #define RTK_BEQ_TX_DESC_NUM 256 #define RTK_MAX_RX_DESC_NUM 512 -/* 8K + rx desc size */ -#define RTK_PCI_RX_BUF_SIZE (8192 + 24) +/* 11K + rx desc size */ +#define RTK_PCI_RX_BUF_SIZE (11454 + 24) #define RTK_PCI_CTRL 0x300 #define BIT_RST_TRXDMA_INTF BIT(20) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/phy.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/phy.c @@ -147,12 +147,13 @@ { struct rtw_chip_info *chip = rtwdev->chip; struct rtw_hal *hal = &rtwdev->hal; - const struct rtw_hw_reg *dig_cck = &chip->dig_cck[0]; u32 addr, mask; u8 path; - if (dig_cck) + if (chip->dig_cck) { + const struct rtw_hw_reg *dig_cck = &chip->dig_cck[0]; rtw_write32_mask(rtwdev, dig_cck->addr, dig_cck->mask, igi >> 1); + } for (path = 0; path < hal->rf_path_num; path++) { addr = chip->dig[path].addr; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/rtw8723d.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/rtw8723d.c @@ -60,8 +60,8 @@ #define WLAN_MAX_AGG_NR 0x0A #define WLAN_AMPDU_MAX_TIME 0x1C #define WLAN_ANT_SEL 0x82 -#define WLAN_LTR_IDLE_LAT 0x883C883C -#define WLAN_LTR_ACT_LAT 0x880B880B +#define WLAN_LTR_IDLE_LAT 0x90039003 +#define WLAN_LTR_ACT_LAT 0x883c883c #define WLAN_LTR_CTRL1 0xCB004010 #define WLAN_LTR_CTRL2 0x01233425 --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/rtw8822ce.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/rtw8822ce.c @@ -11,6 +11,10 @@ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0xC822), .driver_data = (kernel_ulong_t)&rtw8822c_hw_spec }, + { + PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0xC82F), + .driver_data = (kernel_ulong_t)&rtw8822c_hw_spec + }, {} }; MODULE_DEVICE_TABLE(pci, rtw_8822ce_id_table); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/realtek/rtw88/tx.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/realtek/rtw88/tx.c @@ -156,7 +156,7 @@ if (skb_queue_len(&tx_report->queue) == 0) return; - WARN(1, "purge skb(s) not reported by firmware\n"); + rtw_dbg(rtwdev, RTW_DBG_TX, "purge skb(s) not reported by firmware\n"); spin_lock_irqsave(&tx_report->q_lock, flags); skb_queue_purge(&tx_report->queue); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/rsi/rsi_91x_hal.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/rsi/rsi_91x_hal.c @@ -248,7 +248,8 @@ rsi_set_len_qno(&data_desc->len_qno, (skb->len - FRAME_DESC_SZ), RSI_WIFI_MGMT_Q); - if ((skb->len - header_size) == EAPOL4_PACKET_LEN) { + if (((skb->len - header_size) == EAPOL4_PACKET_LEN) || + ((skb->len - header_size) == EAPOL4_PACKET_LEN - 2)) { data_desc->misc_flags |= RSI_DESC_REQUIRE_CFM_TO_HOST; xtend_desc->confirm_frame_type = EAPOL4_CONFIRM; --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/rsi/rsi_91x_sdio.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/rsi/rsi_91x_sdio.c @@ -153,9 +153,7 @@ if (adapter->priv->fsm_state == FSM_FW_NOT_LOADED) return; - dev->sdio_irq_task = current; - rsi_interrupt_handler(adapter); - dev->sdio_irq_task = NULL; + rsi_set_event(&dev->rx_thread.event); } /** @@ -1059,8 +1057,6 @@ rsi_dbg(ERR_ZONE, "%s: Unable to init rx thrd\n", __func__); goto fail_kill_thread; } - skb_queue_head_init(&sdev->rx_q.head); - sdev->rx_q.num_rx_pkts = 0; sdio_claim_host(pfunction); if (sdio_claim_irq(pfunction, rsi_handle_interrupt)) { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/rsi/rsi_91x_sdio_ops.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/rsi/rsi_91x_sdio_ops.c @@ -60,39 +60,20 @@ return status; } +static void rsi_rx_handler(struct rsi_hw *adapter); + void rsi_sdio_rx_thread(struct rsi_common *common) { struct rsi_hw *adapter = common->priv; struct rsi_91x_sdiodev *sdev = adapter->rsi_dev; - struct sk_buff *skb; - int status; do { rsi_wait_event(&sdev->rx_thread.event, EVENT_WAIT_FOREVER); rsi_reset_event(&sdev->rx_thread.event); + rsi_rx_handler(adapter); + } while (!atomic_read(&sdev->rx_thread.thread_done)); - while (true) { - if (atomic_read(&sdev->rx_thread.thread_done)) - goto out; - - skb = skb_dequeue(&sdev->rx_q.head); - if (!skb) - break; - if (sdev->rx_q.num_rx_pkts > 0) - sdev->rx_q.num_rx_pkts--; - status = rsi_read_pkt(common, skb->data, skb->len); - if (status) { - rsi_dbg(ERR_ZONE, "Failed to read the packet\n"); - dev_kfree_skb(skb); - break; - } - dev_kfree_skb(skb); - } - } while (1); - -out: rsi_dbg(INFO_ZONE, "%s: Terminated SDIO RX thread\n", __func__); - skb_queue_purge(&sdev->rx_q.head); atomic_inc(&sdev->rx_thread.thread_done); complete_and_exit(&sdev->rx_thread.completion, 0); } @@ -113,10 +94,6 @@ u32 rcv_pkt_len = 0; int status = 0; u8 value = 0; - struct sk_buff *skb; - - if (dev->rx_q.num_rx_pkts >= RSI_MAX_RX_PKTS) - return 0; num_blks = ((adapter->interrupt_status & 1) | ((adapter->interrupt_status >> RECV_NUM_BLOCKS) << 1)); @@ -144,22 +121,19 @@ rcv_pkt_len = (num_blks * 256); - skb = dev_alloc_skb(rcv_pkt_len); - if (!skb) - return -ENOMEM; - - status = rsi_sdio_host_intf_read_pkt(adapter, skb->data, rcv_pkt_len); + status = rsi_sdio_host_intf_read_pkt(adapter, dev->pktbuffer, + rcv_pkt_len); if (status) { rsi_dbg(ERR_ZONE, "%s: Failed to read packet from card\n", __func__); - dev_kfree_skb(skb); return status; } - skb_put(skb, rcv_pkt_len); - skb_queue_tail(&dev->rx_q.head, skb); - dev->rx_q.num_rx_pkts++; - rsi_set_event(&dev->rx_thread.event); + status = rsi_read_pkt(common, dev->pktbuffer, rcv_pkt_len); + if (status) { + rsi_dbg(ERR_ZONE, "Failed to read the packet\n"); + return status; + } return 0; } @@ -251,12 +225,12 @@ } /** - * rsi_interrupt_handler() - This function read and process SDIO interrupts. + * rsi_rx_handler() - Read and process SDIO interrupts. * @adapter: Pointer to the adapter structure. * * Return: None. */ -void rsi_interrupt_handler(struct rsi_hw *adapter) +static void rsi_rx_handler(struct rsi_hw *adapter) { struct rsi_common *common = adapter->priv; struct rsi_91x_sdiodev *dev = --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/rsi/rsi_91x_usb.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/rsi/rsi_91x_usb.c @@ -741,24 +741,24 @@ if (ret < 0) goto fail; } else { - if ((rsi_usb_master_reg_write(adapter, - NWP_WWD_INTERRUPT_TIMER, - NWP_WWD_INT_TIMER_CLKS, - RSI_9116_REG_SIZE)) < 0) { + ret = rsi_usb_master_reg_write(adapter, + NWP_WWD_INTERRUPT_TIMER, + NWP_WWD_INT_TIMER_CLKS, + RSI_9116_REG_SIZE); + if (ret < 0) goto fail; - } - if ((rsi_usb_master_reg_write(adapter, - NWP_WWD_SYSTEM_RESET_TIMER, - NWP_WWD_SYS_RESET_TIMER_CLKS, - RSI_9116_REG_SIZE)) < 0) { + ret = rsi_usb_master_reg_write(adapter, + NWP_WWD_SYSTEM_RESET_TIMER, + NWP_WWD_SYS_RESET_TIMER_CLKS, + RSI_9116_REG_SIZE); + if (ret < 0) goto fail; - } - if ((rsi_usb_master_reg_write(adapter, - NWP_WWD_MODE_AND_RSTART, - NWP_WWD_TIMER_DISABLE, - RSI_9116_REG_SIZE)) < 0) { + ret = rsi_usb_master_reg_write(adapter, + NWP_WWD_MODE_AND_RSTART, + NWP_WWD_TIMER_DISABLE, + RSI_9116_REG_SIZE); + if (ret < 0) goto fail; - } } rsi_dbg(INFO_ZONE, "Reset card done\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/rsi/rsi_sdio.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/rsi/rsi_sdio.h @@ -111,11 +111,6 @@ u32 buf_available_counter; }; -struct rsi_sdio_rx_q { - u8 num_rx_pkts; - struct sk_buff_head head; -}; - struct rsi_91x_sdiodev { struct sdio_func *pfunction; struct task_struct *sdio_irq_task; @@ -128,11 +123,10 @@ u16 tx_blk_size; u8 write_fail; bool buff_status_updated; - struct rsi_sdio_rx_q rx_q; struct rsi_thread rx_thread; + u8 pktbuffer[8192] __aligned(4); }; -void rsi_interrupt_handler(struct rsi_hw *adapter); int rsi_init_sdio_slave_regs(struct rsi_hw *adapter); int rsi_sdio_read_register(struct rsi_hw *adapter, u32 addr, u8 *data); int rsi_sdio_host_intf_read_pkt(struct rsi_hw *adapter, u8 *pkt, u32 length); --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/st/cw1200/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/st/cw1200/main.c @@ -381,6 +381,7 @@ CW1200_LINK_ID_MAX, cw1200_skb_dtor, priv)) { + destroy_workqueue(priv->workqueue); ieee80211_free_hw(hw); return NULL; } @@ -392,6 +393,7 @@ for (; i > 0; i--) cw1200_queue_deinit(&priv->tx_queue[i - 1]); cw1200_queue_stats_deinit(&priv->tx_queue_stats); + destroy_workqueue(priv->workqueue); ieee80211_free_hw(hw); return NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ti/wl1251/event.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ti/wl1251/event.c @@ -70,7 +70,7 @@ break; } - return 0; + return ret; } static void wl1251_event_mbox_dump(struct event_mailbox *mbox) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ti/wl12xx/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ti/wl12xx/main.c @@ -635,7 +635,6 @@ wl->quirks |= WLCORE_QUIRK_LEGACY_NVS | WLCORE_QUIRK_DUAL_PROBE_TMPL | WLCORE_QUIRK_TKIP_HEADER_SPACE | - WLCORE_QUIRK_START_STA_FAILS | WLCORE_QUIRK_AP_ZERO_SESSION_ID; wl->sr_fw_name = WL127X_FW_NAME_SINGLE; wl->mr_fw_name = WL127X_FW_NAME_MULTI; @@ -659,7 +658,6 @@ wl->quirks |= WLCORE_QUIRK_LEGACY_NVS | WLCORE_QUIRK_DUAL_PROBE_TMPL | WLCORE_QUIRK_TKIP_HEADER_SPACE | - WLCORE_QUIRK_START_STA_FAILS | WLCORE_QUIRK_AP_ZERO_SESSION_ID; wl->plt_fw_name = WL127X_PLT_FW_NAME; wl->sr_fw_name = WL127X_FW_NAME_SINGLE; @@ -688,7 +686,6 @@ wl->quirks |= WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN | WLCORE_QUIRK_DUAL_PROBE_TMPL | WLCORE_QUIRK_TKIP_HEADER_SPACE | - WLCORE_QUIRK_START_STA_FAILS | WLCORE_QUIRK_AP_ZERO_SESSION_ID; wlcore_set_min_fw_ver(wl, WL128X_CHIP_VER, --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ti/wlcore/cmd.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ti/wlcore/cmd.h @@ -458,7 +458,6 @@ KEY_TKIP = 2, KEY_AES = 3, KEY_GEM = 4, - KEY_IGTK = 5, }; struct wl1271_cmd_set_keys { --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ti/wlcore/main.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ti/wlcore/main.c @@ -2864,21 +2864,8 @@ if (is_ibss) ret = wl12xx_cmd_role_start_ibss(wl, wlvif); - else { - if (wl->quirks & WLCORE_QUIRK_START_STA_FAILS) { - /* - * TODO: this is an ugly workaround for wl12xx fw - * bug - we are not able to tx/rx after the first - * start_sta, so make dummy start+stop calls, - * and then call start_sta again. - * this should be fixed in the fw. - */ - wl12xx_cmd_role_start_sta(wl, wlvif); - wl12xx_cmd_role_stop_sta(wl, wlvif); - } - + else ret = wl12xx_cmd_role_start_sta(wl, wlvif); - } return ret; } @@ -3550,9 +3537,6 @@ case WL1271_CIPHER_SUITE_GEM: key_type = KEY_GEM; break; - case WLAN_CIPHER_SUITE_AES_CMAC: - key_type = KEY_IGTK; - break; default: wl1271_error("Unknown key algo 0x%x", key_conf->cipher); @@ -6222,7 +6206,6 @@ WLAN_CIPHER_SUITE_TKIP, WLAN_CIPHER_SUITE_CCMP, WL1271_CIPHER_SUITE_GEM, - WLAN_CIPHER_SUITE_AES_CMAC, }; /* The tx descriptor buffer */ --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/ti/wlcore/wlcore.h +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/ti/wlcore/wlcore.h @@ -547,9 +547,6 @@ /* Each RX/TX transaction requires an end-of-transaction transfer */ #define WLCORE_QUIRK_END_OF_TRANSACTION BIT(0) -/* the first start_role(sta) sometimes doesn't work on wl12xx */ -#define WLCORE_QUIRK_START_STA_FAILS BIT(1) - /* wl127x and SPI don't support SDIO block size alignment */ #define WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN BIT(2) --- linux-riscv-5.8-5.8.0.orig/drivers/net/wireless/virt_wifi.c +++ linux-riscv-5.8-5.8.0/drivers/net/wireless/virt_wifi.c @@ -12,6 +12,7 @@ #include #include #include +#include #include static struct wiphy *common_wiphy; @@ -168,11 +169,11 @@ scan_result.work); struct wiphy *wiphy = priv_to_wiphy(priv); struct cfg80211_scan_info scan_info = { .aborted = false }; + u64 tsf = div_u64(ktime_get_boottime_ns(), 1000); informed_bss = cfg80211_inform_bss(wiphy, &channel_5ghz, CFG80211_BSS_FTYPE_PRESP, - fake_router_bssid, - ktime_get_boottime_ns(), + fake_router_bssid, tsf, WLAN_CAPABILITY_ESS, 0, (void *)&ssid, sizeof(ssid), DBM_TO_MBM(-50), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/net/xen-netback/common.h +++ linux-riscv-5.8-5.8.0/drivers/net/xen-netback/common.h @@ -140,6 +140,20 @@ char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */ struct xenvif *vif; /* Parent VIF */ + /* + * TX/RX common EOI handling. + * When feature-split-event-channels = 0, interrupt handler sets + * NETBK_COMMON_EOI, otherwise NETBK_RX_EOI and NETBK_TX_EOI are set + * by the RX and TX interrupt handlers. + * RX and TX handler threads will issue an EOI when either + * NETBK_COMMON_EOI or their specific bits (NETBK_RX_EOI or + * NETBK_TX_EOI) are set and they will reset those bits. + */ + atomic_t eoi_pending; +#define NETBK_RX_EOI 0x01 +#define NETBK_TX_EOI 0x02 +#define NETBK_COMMON_EOI 0x04 + /* Use NAPI for guest TX */ struct napi_struct napi; /* When feature-split-event-channels = 0, tx_irq = rx_irq. */ @@ -375,6 +389,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); --- linux-riscv-5.8-5.8.0.orig/drivers/net/xen-netback/interface.c +++ linux-riscv-5.8-5.8.0/drivers/net/xen-netback/interface.c @@ -77,12 +77,28 @@ !vif->disabled; } +static bool xenvif_handle_tx_interrupt(struct xenvif_queue *queue) +{ + bool rc; + + rc = RING_HAS_UNCONSUMED_REQUESTS(&queue->tx); + if (rc) + napi_schedule(&queue->napi); + return rc; +} + static irqreturn_t xenvif_tx_interrupt(int irq, void *dev_id) { struct xenvif_queue *queue = dev_id; + int old; - if (RING_HAS_UNCONSUMED_REQUESTS(&queue->tx)) - napi_schedule(&queue->napi); + old = atomic_fetch_or(NETBK_TX_EOI, &queue->eoi_pending); + WARN(old & NETBK_TX_EOI, "Interrupt while EOI pending\n"); + + if (!xenvif_handle_tx_interrupt(queue)) { + atomic_andnot(NETBK_TX_EOI, &queue->eoi_pending); + xen_irq_lateeoi(irq, XEN_EOI_FLAG_SPURIOUS); + } return IRQ_HANDLED; } @@ -116,19 +132,48 @@ return work_done; } +static bool xenvif_handle_rx_interrupt(struct xenvif_queue *queue) +{ + bool rc; + + rc = xenvif_have_rx_work(queue, false); + if (rc) + xenvif_kick_thread(queue); + return rc; +} + static irqreturn_t xenvif_rx_interrupt(int irq, void *dev_id) { struct xenvif_queue *queue = dev_id; + int old; - xenvif_kick_thread(queue); + old = atomic_fetch_or(NETBK_RX_EOI, &queue->eoi_pending); + WARN(old & NETBK_RX_EOI, "Interrupt while EOI pending\n"); + + if (!xenvif_handle_rx_interrupt(queue)) { + atomic_andnot(NETBK_RX_EOI, &queue->eoi_pending); + xen_irq_lateeoi(irq, XEN_EOI_FLAG_SPURIOUS); + } return IRQ_HANDLED; } irqreturn_t xenvif_interrupt(int irq, void *dev_id) { - xenvif_tx_interrupt(irq, dev_id); - xenvif_rx_interrupt(irq, dev_id); + struct xenvif_queue *queue = dev_id; + int old; + bool has_rx, has_tx; + + old = atomic_fetch_or(NETBK_COMMON_EOI, &queue->eoi_pending); + WARN(old, "Interrupt while EOI pending\n"); + + has_tx = xenvif_handle_tx_interrupt(queue); + has_rx = xenvif_handle_rx_interrupt(queue); + + if (!has_rx && !has_tx) { + atomic_andnot(NETBK_COMMON_EOI, &queue->eoi_pending); + xen_irq_lateeoi(irq, XEN_EOI_FLAG_SPURIOUS); + } return IRQ_HANDLED; } @@ -603,7 +648,7 @@ if (req_prod - rsp_prod > RING_SIZE(&vif->ctrl)) goto err_unmap; - err = bind_interdomain_evtchn_to_irq(vif->domid, evtchn); + err = bind_interdomain_evtchn_to_irq_lateeoi(vif->domid, evtchn); if (err < 0) goto err_unmap; @@ -707,7 +752,7 @@ if (tx_evtchn == rx_evtchn) { /* feature-split-event-channels == 0 */ - err = bind_interdomain_evtchn_to_irqhandler( + err = bind_interdomain_evtchn_to_irqhandler_lateeoi( queue->vif->domid, tx_evtchn, xenvif_interrupt, 0, queue->name, queue); if (err < 0) @@ -718,7 +763,7 @@ /* feature-split-event-channels == 1 */ snprintf(queue->tx_irq_name, sizeof(queue->tx_irq_name), "%s-tx", queue->name); - err = bind_interdomain_evtchn_to_irqhandler( + err = bind_interdomain_evtchn_to_irqhandler_lateeoi( queue->vif->domid, tx_evtchn, xenvif_tx_interrupt, 0, queue->tx_irq_name, queue); if (err < 0) @@ -728,7 +773,7 @@ snprintf(queue->rx_irq_name, sizeof(queue->rx_irq_name), "%s-rx", queue->name); - err = bind_interdomain_evtchn_to_irqhandler( + err = bind_interdomain_evtchn_to_irqhandler_lateeoi( queue->vif->domid, rx_evtchn, xenvif_rx_interrupt, 0, queue->rx_irq_name, queue); if (err < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/net/xen-netback/netback.c +++ linux-riscv-5.8-5.8.0/drivers/net/xen-netback/netback.c @@ -162,6 +162,10 @@ if (more_to_do) napi_schedule(&queue->napi); + else if (atomic_fetch_andnot(NETBK_TX_EOI | NETBK_COMMON_EOI, + &queue->eoi_pending) & + (NETBK_TX_EOI | NETBK_COMMON_EOI)) + xen_irq_lateeoi(queue->tx_irq, 0); } static void tx_add_credit(struct xenvif_queue *queue) @@ -1336,7 +1340,15 @@ NULL, queue->pages_to_map, nr_mops); - BUG_ON(ret); + if (ret) { + unsigned int i; + + netdev_err(queue->vif->dev, "Map fail: nr %u ret %d\n", + nr_mops, ret); + for (i = 0; i < nr_mops; ++i) + WARN_ON_ONCE(queue->tx_map_ops[i].status == + GNTST_okay); + } } work_done = xenvif_tx_submit(queue); @@ -1636,9 +1648,14 @@ irqreturn_t xenvif_ctrl_irq_fn(int irq, void *data) { struct xenvif *vif = data; + unsigned int eoi_flag = XEN_EOI_FLAG_SPURIOUS; - while (xenvif_ctrl_work_todo(vif)) + while (xenvif_ctrl_work_todo(vif)) { xenvif_ctrl_action(vif); + eoi_flag = 0; + } + + xen_irq_lateeoi(irq, eoi_flag); return IRQ_HANDLED; } --- linux-riscv-5.8-5.8.0.orig/drivers/net/xen-netback/rx.c +++ linux-riscv-5.8-5.8.0/drivers/net/xen-netback/rx.c @@ -38,10 +38,15 @@ RING_IDX prod, cons; struct sk_buff *skb; int needed; + unsigned long flags; + + spin_lock_irqsave(&queue->rx_queue.lock, flags); skb = skb_peek(&queue->rx_queue); - if (!skb) + if (!skb) { + spin_unlock_irqrestore(&queue->rx_queue.lock, flags); return false; + } needed = DIV_ROUND_UP(skb->len, XEN_PAGE_SIZE); if (skb_is_gso(skb)) @@ -49,6 +54,8 @@ if (skb->sw_hash) needed++; + spin_unlock_irqrestore(&queue->rx_queue.lock, flags); + do { prod = queue->rx.sring->req_prod; cons = queue->rx.req_cons; @@ -490,13 +497,13 @@ return queue->stalled && prod - cons >= 1; } -static bool xenvif_have_rx_work(struct xenvif_queue *queue) +bool xenvif_have_rx_work(struct xenvif_queue *queue, bool test_kthread) { return xenvif_rx_ring_slots_available(queue) || (queue->vif->stall_timeout && (xenvif_rx_queue_stalled(queue) || xenvif_rx_queue_ready(queue))) || - kthread_should_stop() || + (test_kthread && kthread_should_stop()) || queue->vif->disabled; } @@ -527,15 +534,20 @@ { DEFINE_WAIT(wait); - if (xenvif_have_rx_work(queue)) + if (xenvif_have_rx_work(queue, true)) return; for (;;) { long ret; prepare_to_wait(&queue->wq, &wait, TASK_INTERRUPTIBLE); - if (xenvif_have_rx_work(queue)) + if (xenvif_have_rx_work(queue, true)) break; + if (atomic_fetch_andnot(NETBK_RX_EOI | NETBK_COMMON_EOI, + &queue->eoi_pending) & + (NETBK_RX_EOI | NETBK_COMMON_EOI)) + xen_irq_lateeoi(queue->rx_irq, 0); + ret = schedule_timeout(xenvif_rx_queue_timeout(queue)); if (!ret) break; --- linux-riscv-5.8-5.8.0.orig/drivers/net/xen-netback/xenbus.c +++ linux-riscv-5.8-5.8.0/drivers/net/xen-netback/xenbus.c @@ -534,12 +534,14 @@ return -ENOMEM; snprintf(node, maxlen, "%s/rate", dev->nodename); vif->credit_watch.node = node; + vif->credit_watch.will_handle = NULL; vif->credit_watch.callback = xen_net_rate_changed; err = register_xenbus_watch(&vif->credit_watch); if (err) { pr_err("Failed to set watcher %s\n", vif->credit_watch.node); kfree(node); vif->credit_watch.node = NULL; + vif->credit_watch.will_handle = NULL; vif->credit_watch.callback = NULL; } return err; @@ -586,6 +588,7 @@ snprintf(node, maxlen, "%s/request-multicast-control", dev->otherend); vif->mcast_ctrl_watch.node = node; + vif->mcast_ctrl_watch.will_handle = NULL; vif->mcast_ctrl_watch.callback = xen_mcast_ctrl_changed; err = register_xenbus_watch(&vif->mcast_ctrl_watch); if (err) { @@ -593,6 +596,7 @@ vif->mcast_ctrl_watch.node); kfree(node); vif->mcast_ctrl_watch.node = NULL; + vif->mcast_ctrl_watch.will_handle = NULL; vif->mcast_ctrl_watch.callback = NULL; } return err; @@ -797,11 +801,15 @@ xenvif_carrier_on(be->vif); unregister_hotplug_status_watch(be); - err = xenbus_watch_pathfmt(dev, &be->hotplug_status_watch, - hotplug_status_changed, - "%s/%s", dev->nodename, "hotplug-status"); - if (!err) + if (xenbus_exists(XBT_NIL, dev->nodename, "hotplug-status")) { + err = xenbus_watch_pathfmt(dev, &be->hotplug_status_watch, + NULL, hotplug_status_changed, + "%s/%s", dev->nodename, + "hotplug-status"); + if (err) + goto err; be->have_hotplug_status_watch = 1; + } netif_tx_wake_all_queues(be->vif->dev); --- linux-riscv-5.8-5.8.0.orig/drivers/nfc/s3fwrn5/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/nfc/s3fwrn5/Kconfig @@ -2,6 +2,7 @@ config NFC_S3FWRN5 tristate select CRYPTO + select CRYPTO_HASH help Core driver for Samsung S3FWRN5 NFC chip. Contains core utilities of chip. It's intended to be used by PHYs to avoid duplicating lots --- linux-riscv-5.8-5.8.0.orig/drivers/nfc/s3fwrn5/firmware.c +++ linux-riscv-5.8-5.8.0/drivers/nfc/s3fwrn5/firmware.c @@ -293,8 +293,10 @@ if (ret < 0) return ret; - if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) + if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) { + release_firmware(fw->fw); return -EINVAL; + } memcpy(fw->date, fw->fw->data + 0x00, 12); fw->date[12] = '\0'; --- linux-riscv-5.8-5.8.0.orig/drivers/nfc/s3fwrn5/i2c.c +++ linux-riscv-5.8-5.8.0/drivers/nfc/s3fwrn5/i2c.c @@ -26,8 +26,8 @@ struct i2c_client *i2c_dev; struct nci_dev *ndev; - unsigned int gpio_en; - unsigned int gpio_fw_wake; + int gpio_en; + int gpio_fw_wake; struct mutex mutex; --- linux-riscv-5.8-5.8.0.orig/drivers/nfc/st95hf/core.c +++ linux-riscv-5.8-5.8.0/drivers/nfc/st95hf/core.c @@ -966,7 +966,7 @@ rc = down_killable(&stcontext->exchange_lock); if (rc) { WARN(1, "Semaphore is not found up in st95hf_in_send_cmd\n"); - return rc; + goto free_skb_resp; } rc = st95hf_spi_send(&stcontext->spicontext, skb->data, --- linux-riscv-5.8-5.8.0.orig/drivers/ntb/hw/amd/ntb_hw_amd.c +++ linux-riscv-5.8-5.8.0/drivers/ntb/hw/amd/ntb_hw_amd.c @@ -1203,6 +1203,7 @@ err_dma_mask: pci_clear_master(pdev); + pci_release_regions(pdev); err_pci_regions: pci_disable_device(pdev); err_pci_enable: --- linux-riscv-5.8-5.8.0.orig/drivers/ntb/hw/intel/ntb_hw_gen1.c +++ linux-riscv-5.8-5.8.0/drivers/ntb/hw/intel/ntb_hw_gen1.c @@ -1893,7 +1893,7 @@ goto err_init_dev; } else { rc = -EINVAL; - goto err_ndev; + goto err_init_pci; } ndev_reset_unsafe_flags(ndev); --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/btt.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/btt.c @@ -1490,10 +1490,8 @@ { struct btt *btt = bdev->bd_disk->private_data; int rc; - unsigned int len; - len = hpage_nr_pages(page) * PAGE_SIZE; - rc = btt_do_bvec(btt, NULL, page, len, 0, op, sector); + rc = btt_do_bvec(btt, NULL, page, thp_size(page), 0, op, sector); if (rc == 0) page_endio(page, op_is_write(op), 0); --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/bus.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/bus.c @@ -1037,9 +1037,25 @@ dimm_name = "bus"; } + /* Validate command family support against bus declared support */ if (cmd == ND_CMD_CALL) { + unsigned long *mask; + if (copy_from_user(&pkg, p, sizeof(pkg))) return -EFAULT; + + if (nvdimm) { + if (pkg.nd_family > NVDIMM_FAMILY_MAX) + return -EINVAL; + mask = &nd_desc->dimm_family_mask; + } else { + if (pkg.nd_family > NVDIMM_BUS_FAMILY_MAX) + return -EINVAL; + mask = &nd_desc->bus_family_mask; + } + + if (!test_bit(pkg.nd_family, mask)) + return -EINVAL; } if (!desc || --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/claim.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/claim.c @@ -268,7 +268,7 @@ if (rw == READ) { if (unlikely(is_bad_pmem(&nsio->bb, sector, sz_align))) return -EIO; - if (memcpy_mcsafe(buf, nsio->addr + offset, size) != 0) + if (copy_mc_to_kernel(buf, nsio->addr + offset, size) != 0) return -EIO; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/dimm_devs.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/dimm_devs.c @@ -335,16 +335,16 @@ } static DEVICE_ATTR_RO(state); -static ssize_t available_slots_show(struct device *dev, - struct device_attribute *attr, char *buf) +static ssize_t __available_slots_show(struct nvdimm_drvdata *ndd, char *buf) { - struct nvdimm_drvdata *ndd = dev_get_drvdata(dev); + struct device *dev; ssize_t rc; u32 nfree; if (!ndd) return -ENXIO; + dev = ndd->dev; nvdimm_bus_lock(dev); nfree = nd_label_nfree(ndd); if (nfree - 1 > nfree) { @@ -356,6 +356,18 @@ nvdimm_bus_unlock(dev); return rc; } + +static ssize_t available_slots_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + ssize_t rc; + + nd_device_lock(dev); + rc = __available_slots_show(dev_get_drvdata(dev), buf); + nd_device_unlock(dev); + + return rc; +} static DEVICE_ATTR_RO(available_slots); __weak ssize_t security_show(struct device *dev, --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/label.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/label.c @@ -980,6 +980,15 @@ } } + /* release slots associated with any invalidated UUIDs */ + mutex_lock(&nd_mapping->lock); + list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) + if (test_and_clear_bit(ND_LABEL_REAP, &label_ent->flags)) { + reap_victim(nd_mapping, label_ent); + list_move(&label_ent->list, &list); + } + mutex_unlock(&nd_mapping->lock); + /* * Find the resource associated with the first label in the set * per the v1.2 namespace specification. @@ -999,8 +1008,10 @@ if (is_old_resource(res, old_res_list, old_num_resources)) continue; /* carry-over */ slot = nd_label_alloc_slot(ndd); - if (slot == UINT_MAX) + if (slot == UINT_MAX) { + rc = -ENXIO; goto abort; + } dev_dbg(ndd->dev, "allocated: %d\n", slot); nd_label = to_label(ndd, slot); --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/namespace_devs.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/namespace_devs.c @@ -1635,11 +1635,11 @@ return a->mode; } - if (a == &dev_attr_nstype.attr || a == &dev_attr_size.attr - || a == &dev_attr_holder.attr - || a == &dev_attr_holder_class.attr - || a == &dev_attr_force_raw.attr - || a == &dev_attr_mode.attr) + /* base is_namespace_io() attributes */ + if (a == &dev_attr_nstype.attr || a == &dev_attr_size.attr || + a == &dev_attr_holder.attr || a == &dev_attr_holder_class.attr || + a == &dev_attr_force_raw.attr || a == &dev_attr_mode.attr || + a == &dev_attr_resource.attr) return a->mode; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/pmem.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/pmem.c @@ -125,7 +125,7 @@ while (len) { mem = kmap_atomic(page); chunk = min_t(unsigned int, len, PAGE_SIZE - off); - rem = memcpy_mcsafe(mem + off, pmem_addr, chunk); + rem = copy_mc_to_kernel(mem + off, pmem_addr, chunk); kunmap_atomic(mem); if (rem) return BLK_STS_IOERR; @@ -238,11 +238,9 @@ blk_status_t rc; if (op_is_write(op)) - rc = pmem_do_write(pmem, page, 0, sector, - hpage_nr_pages(page) * PAGE_SIZE); + rc = pmem_do_write(pmem, page, 0, sector, thp_size(page)); else - rc = pmem_do_read(pmem, page, 0, sector, - hpage_nr_pages(page) * PAGE_SIZE); + rc = pmem_do_read(pmem, page, 0, sector, thp_size(page)); /* * The ->rw_page interface is subtle and tricky. The core * retries on any error, so we can only invoke page_endio() in @@ -305,7 +303,7 @@ /* * Use the 'no check' versions of copy_from_iter_flushcache() and - * copy_to_iter_mcsafe() to bypass HARDENED_USERCOPY overhead. Bounds + * copy_mc_to_iter() to bypass HARDENED_USERCOPY overhead. Bounds * checking, both file offset and device offset, is handled by * dax_iomap_actor() */ @@ -318,7 +316,7 @@ static size_t pmem_copy_to_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, size_t bytes, struct iov_iter *i) { - return _copy_to_iter_mcsafe(addr, bytes, i); + return _copy_mc_to_iter(addr, bytes, i); } static const struct dax_operations pmem_dax_ops = { --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/region_devs.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/region_devs.c @@ -1239,6 +1239,11 @@ || !IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API)) return -ENXIO; + /* Test if an explicit flush function is defined */ + if (test_bit(ND_REGION_ASYNC, &nd_region->flags) && nd_region->flush) + return 1; + + /* Test if any flush hints for the region are available */ for (i = 0; i < nd_region->ndr_mappings; i++) { struct nd_mapping *nd_mapping = &nd_region->mapping[i]; struct nvdimm *nvdimm = nd_mapping->nvdimm; @@ -1249,8 +1254,8 @@ } /* - * The platform defines dimm devices without hints, assume - * platform persistence mechanism like ADR + * The platform defines dimm devices without hints nor explicit flush, + * assume platform persistence mechanism like ADR */ return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/nvdimm/security.c +++ linux-riscv-5.8-5.8.0/drivers/nvdimm/security.c @@ -450,14 +450,19 @@ else dev_dbg(&nvdimm->dev, "overwrite completed\n"); - if (nvdimm->sec.overwrite_state) - sysfs_notify_dirent(nvdimm->sec.overwrite_state); + /* + * Mark the overwrite work done and update dimm security flags, + * then send a sysfs event notification to wake up userspace + * poll threads to picked up the changed state. + */ nvdimm->sec.overwrite_tmo = 0; clear_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags); clear_bit(NDD_WORK_PENDING, &nvdimm->flags); - put_device(&nvdimm->dev); nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER); - nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER); + nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER); + if (nvdimm->sec.overwrite_state) + sysfs_notify_dirent(nvdimm->sec.overwrite_state); + put_device(&nvdimm->dev); } void nvdimm_security_overwrite_query(struct work_struct *work) --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/Kconfig @@ -73,6 +73,7 @@ depends on INET depends on BLK_DEV_NVME select NVME_FABRICS + select CRYPTO select CRYPTO_CRC32C help This provides support for the NVMe over Fabrics protocol using --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/core.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/core.c @@ -304,11 +304,32 @@ return true; nvme_req(req)->status = NVME_SC_HOST_ABORTED_CMD; + nvme_req(req)->flags |= NVME_REQ_CANCELLED; blk_mq_force_complete_rq(req); return true; } EXPORT_SYMBOL_GPL(nvme_cancel_request); +void nvme_cancel_tagset(struct nvme_ctrl *ctrl) +{ + if (ctrl->tagset) { + blk_mq_tagset_busy_iter(ctrl->tagset, + nvme_cancel_request, ctrl); + blk_mq_tagset_wait_completed_request(ctrl->tagset); + } +} +EXPORT_SYMBOL_GPL(nvme_cancel_tagset); + +void nvme_cancel_admin_tagset(struct nvme_ctrl *ctrl) +{ + if (ctrl->admin_tagset) { + blk_mq_tagset_busy_iter(ctrl->admin_tagset, + nvme_cancel_request, ctrl); + blk_mq_tagset_wait_completed_request(ctrl->admin_tagset); + } +} +EXPORT_SYMBOL_GPL(nvme_cancel_admin_tagset); + bool nvme_change_ctrl_state(struct nvme_ctrl *ctrl, enum nvme_ctrl_state new_state) { @@ -362,6 +383,16 @@ break; } break; + case NVME_CTRL_DELETING_NOIO: + switch (old_state) { + case NVME_CTRL_DELETING: + case NVME_CTRL_DEAD: + changed = true; + /* FALLTHRU */ + default: + break; + } + break; case NVME_CTRL_DEAD: switch (old_state) { case NVME_CTRL_DELETING: @@ -399,6 +430,7 @@ case NVME_CTRL_CONNECTING: return false; case NVME_CTRL_DELETING: + case NVME_CTRL_DELETING_NOIO: case NVME_CTRL_DEAD: return true; default: @@ -1293,8 +1325,21 @@ } length = (io.nblocks + 1) << ns->lba_shift; - meta_len = (io.nblocks + 1) * ns->ms; - metadata = nvme_to_user_ptr(io.metadata); + + if ((io.control & NVME_RW_PRINFO_PRACT) && + ns->ms == sizeof(struct t10_pi_tuple)) { + /* + * Protection information is stripped/inserted by the + * controller. + */ + if (nvme_to_user_ptr(io.metadata)) + return -EINVAL; + meta_len = 0; + metadata = NULL; + } else { + meta_len = (io.nblocks + 1) * ns->ms; + metadata = nvme_to_user_ptr(io.metadata); + } if (ns->features & NVME_NS_EXT_LBAS) { length += meta_len; @@ -1754,30 +1799,18 @@ blk_queue_max_write_zeroes_sectors(queue, UINT_MAX); } -static void nvme_config_write_zeroes(struct gendisk *disk, struct nvme_ns *ns) +/* + * Even though NVMe spec explicitly states that MDTS is not applicable to the + * write-zeroes, we are cautious and limit the size to the controllers + * max_hw_sectors value, which is based on the MDTS field and possibly other + * limiting factors. + */ +static void nvme_config_write_zeroes(struct request_queue *q, + struct nvme_ctrl *ctrl) { - u64 max_blocks; - - if (!(ns->ctrl->oncs & NVME_CTRL_ONCS_WRITE_ZEROES) || - (ns->ctrl->quirks & NVME_QUIRK_DISABLE_WRITE_ZEROES)) - return; - /* - * Even though NVMe spec explicitly states that MDTS is not - * applicable to the write-zeroes:- "The restriction does not apply to - * commands that do not transfer data between the host and the - * controller (e.g., Write Uncorrectable ro Write Zeroes command).". - * In order to be more cautious use controller's max_hw_sectors value - * to configure the maximum sectors for the write-zeroes which is - * configured based on the controller's MDTS field in the - * nvme_init_identify() if available. - */ - if (ns->ctrl->max_hw_sectors == UINT_MAX) - max_blocks = (u64)USHRT_MAX + 1; - else - max_blocks = ns->ctrl->max_hw_sectors + 1; - - blk_queue_max_write_zeroes_sectors(disk->queue, - nvme_lba_to_sect(ns, max_blocks)); + if ((ctrl->oncs & NVME_CTRL_ONCS_WRITE_ZEROES) && + !(ctrl->quirks & NVME_QUIRK_DISABLE_WRITE_ZEROES)) + blk_queue_max_write_zeroes_sectors(q, ctrl->max_hw_sectors); } static int nvme_report_ns_ids(struct nvme_ctrl *ctrl, unsigned int nsid, @@ -1833,6 +1866,50 @@ return 0; } +static int nvme_configure_metadata(struct nvme_ns *ns, struct nvme_id_ns *id) +{ + struct nvme_ctrl *ctrl = ns->ctrl; + + /* + * The PI implementation requires the metadata size to be equal to the + * t10 pi tuple size. + */ + ns->ms = le16_to_cpu(id->lbaf[id->flbas & NVME_NS_FLBAS_LBA_MASK].ms); + if (ns->ms == sizeof(struct t10_pi_tuple)) + ns->pi_type = id->dps & NVME_NS_DPS_PI_MASK; + else + ns->pi_type = 0; + + ns->features &= ~(NVME_NS_METADATA_SUPPORTED | NVME_NS_EXT_LBAS); + if (!ns->ms || !(ctrl->ops->flags & NVME_F_METADATA_SUPPORTED)) + return 0; + if (ctrl->ops->flags & NVME_F_FABRICS) { + /* + * The NVMe over Fabrics specification only supports metadata as + * part of the extended data LBA. We rely on HCA/HBA support to + * remap the separate metadata buffer from the block layer. + */ + if (WARN_ON_ONCE(!(id->flbas & NVME_NS_FLBAS_META_EXT))) + return -EINVAL; + if (ctrl->max_integrity_segments) + ns->features |= + (NVME_NS_METADATA_SUPPORTED | NVME_NS_EXT_LBAS); + } else { + /* + * For PCIe controllers, we can't easily remap the separate + * metadata buffer from the block layer and thus require a + * separate metadata buffer for block layer metadata/PI support. + * We allow extended LBAs for the passthrough interface, though. + */ + if (id->flbas & NVME_NS_FLBAS_META_EXT) + ns->features |= NVME_NS_EXT_LBAS; + else + ns->features |= NVME_NS_METADATA_SUPPORTED; + } + + return 0; +} + static void nvme_update_disk_info(struct gendisk *disk, struct nvme_ns *ns, struct nvme_id_ns *id) { @@ -1844,7 +1921,7 @@ /* unsupported block size, set capacity to 0 later */ bs = (1 << 9); } - blk_mq_freeze_queue(disk->queue); + blk_integrity_unregister(disk); atomic_bs = phys_bs = bs; @@ -1903,14 +1980,10 @@ set_capacity_revalidate_and_notify(disk, capacity, false); nvme_config_discard(disk, ns); - nvme_config_write_zeroes(disk, ns); + nvme_config_write_zeroes(disk->queue, ns->ctrl); if (id->nsattr & NVME_NS_ATTR_RO) set_disk_ro(disk, true); - else - set_disk_ro(disk, false); - - blk_mq_unfreeze_queue(disk->queue); } static int __nvme_revalidate_disk(struct gendisk *disk, struct nvme_id_ns *id) @@ -1918,7 +1991,9 @@ struct nvme_ns *ns = disk->private_data; struct nvme_ctrl *ctrl = ns->ctrl; u32 iob; + int ret; + blk_mq_freeze_queue(ns->disk->queue); /* * If identify namespace failed, use default 512 byte block size so * block layer can use before failing read/write for 0 capacity. @@ -1933,48 +2008,28 @@ else iob = nvme_lba_to_sect(ns, le16_to_cpu(id->noiob)); - ns->features = 0; - ns->ms = le16_to_cpu(id->lbaf[id->flbas & NVME_NS_FLBAS_LBA_MASK].ms); - /* the PI implementation requires metadata equal t10 pi tuple size */ - if (ns->ms == sizeof(struct t10_pi_tuple)) - ns->pi_type = id->dps & NVME_NS_DPS_PI_MASK; - else - ns->pi_type = 0; - - if (ns->ms) { - /* - * For PCIe only the separate metadata pointer is supported, - * as the block layer supplies metadata in a separate bio_vec - * chain. For Fabrics, only metadata as part of extended data - * LBA is supported on the wire per the Fabrics specification, - * but the HBA/HCA will do the remapping from the separate - * metadata buffers for us. - */ - if (id->flbas & NVME_NS_FLBAS_META_EXT) { - ns->features |= NVME_NS_EXT_LBAS; - if ((ctrl->ops->flags & NVME_F_FABRICS) && - (ctrl->ops->flags & NVME_F_METADATA_SUPPORTED) && - ctrl->max_integrity_segments) - ns->features |= NVME_NS_METADATA_SUPPORTED; - } else { - if (WARN_ON_ONCE(ctrl->ops->flags & NVME_F_FABRICS)) - return -EINVAL; - if (ctrl->ops->flags & NVME_F_METADATA_SUPPORTED) - ns->features |= NVME_NS_METADATA_SUPPORTED; - } - } - + ret = nvme_configure_metadata(ns, id); + if (ret) + goto out_unfreeze; if (iob) blk_queue_chunk_sectors(ns->queue, rounddown_pow_of_two(iob)); nvme_update_disk_info(disk, ns, id); + blk_mq_unfreeze_queue(ns->disk->queue); + #ifdef CONFIG_NVME_MULTIPATH if (ns->head->disk) { + blk_mq_freeze_queue(ns->head->disk->queue); nvme_update_disk_info(ns->head->disk, ns, id); blk_queue_stack_limits(ns->head->disk->queue, ns->queue); nvme_mpath_update_disk_size(ns->head->disk); + blk_mq_unfreeze_queue(ns->head->disk->queue); } #endif return 0; + +out_unfreeze: + blk_mq_unfreeze_queue(ns->disk->queue); + return ret; } static int nvme_revalidate_disk(struct gendisk *disk) @@ -2704,6 +2759,11 @@ NULL, }; +static inline bool nvme_discovery_ctrl(struct nvme_ctrl *ctrl) +{ + return ctrl->opts && ctrl->opts->discovery_nqn; +} + static bool nvme_validate_cntlid(struct nvme_subsystem *subsys, struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) { @@ -2723,7 +2783,7 @@ } if ((id->cmic & NVME_CTRL_CMIC_MULTI_CTRL) || - (ctrl->opts && ctrl->opts->discovery_nqn)) + nvme_discovery_ctrl(ctrl)) continue; dev_err(ctrl->device, @@ -2884,7 +2944,7 @@ if (!(ctrl->ops->flags & NVME_F_FABRICS)) ctrl->cntlid = le16_to_cpu(id->cntlid); - if (!ctrl->identified) { + if (!ctrl->identified && !nvme_discovery_ctrl(ctrl)) { int i; ret = nvme_init_subsystem(ctrl, id); @@ -2984,7 +3044,7 @@ goto out_free; } - if (!ctrl->opts->discovery_nqn && !ctrl->kas) { + if (!nvme_discovery_ctrl(ctrl) && !ctrl->kas) { dev_err(ctrl->device, "keep-alive support is mandatory for fabrics\n"); ret = -EINVAL; @@ -3049,10 +3109,26 @@ return -EWOULDBLOCK; } + nvme_get_ctrl(ctrl); + if (!try_module_get(ctrl->ops->module)) { + nvme_put_ctrl(ctrl); + return -EINVAL; + } + file->private_data = ctrl; return 0; } +static int nvme_dev_release(struct inode *inode, struct file *file) +{ + struct nvme_ctrl *ctrl = + container_of(inode->i_cdev, struct nvme_ctrl, cdev); + + module_put(ctrl->ops->module); + nvme_put_ctrl(ctrl); + return 0; +} + static int nvme_dev_user_cmd(struct nvme_ctrl *ctrl, void __user *argp) { struct nvme_ns *ns; @@ -3115,6 +3191,7 @@ static const struct file_operations nvme_dev_fops = { .owner = THIS_MODULE, .open = nvme_dev_open, + .release = nvme_dev_release, .unlocked_ioctl = nvme_dev_ioctl, .compat_ioctl = compat_ptr_ioctl, }; @@ -3313,10 +3390,6 @@ { struct nvme_ctrl *ctrl = dev_get_drvdata(dev); - /* Can't delete non-created controllers */ - if (!ctrl->created) - return -EBUSY; - if (device_remove_file_self(dev, attr)) nvme_delete_ctrl_sync(ctrl); return count; @@ -3344,6 +3417,7 @@ [NVME_CTRL_RESETTING] = "resetting", [NVME_CTRL_CONNECTING] = "connecting", [NVME_CTRL_DELETING] = "deleting", + [NVME_CTRL_DELETING_NOIO]= "deleting (no IO)", [NVME_CTRL_DEAD] = "dead", }; @@ -3911,6 +3985,9 @@ if (ctrl->state == NVME_CTRL_DEAD) nvme_kill_queues(ctrl); + /* this is a no-op when called from the controller reset handler */ + nvme_change_ctrl_state(ctrl, NVME_CTRL_DELETING_NOIO); + down_write(&ctrl->namespaces_rwsem); list_splice_init(&ctrl->namespaces, &ns_list); up_write(&ctrl->namespaces_rwsem); @@ -4114,7 +4191,6 @@ nvme_queue_scan(ctrl); nvme_start_queues(ctrl); } - ctrl->created = true; } EXPORT_SYMBOL_GPL(nvme_start_ctrl); @@ -4133,7 +4209,7 @@ container_of(dev, struct nvme_ctrl, ctrl_device); struct nvme_subsystem *subsys = ctrl->subsys; - if (subsys && ctrl->instance != subsys->instance) + if (!subsys || ctrl->instance != subsys->instance) ida_simple_remove(&nvme_instance_ida, ctrl->instance); kfree(ctrl->effects); @@ -4272,7 +4348,7 @@ } EXPORT_SYMBOL_GPL(nvme_unfreeze); -void nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout) +int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout) { struct nvme_ns *ns; @@ -4283,6 +4359,7 @@ break; } up_read(&ctrl->namespaces_rwsem); + return timeout; } EXPORT_SYMBOL_GPL(nvme_wait_freeze_timeout); @@ -4330,8 +4407,7 @@ } EXPORT_SYMBOL_GPL(nvme_start_queues); - -void nvme_sync_queues(struct nvme_ctrl *ctrl) +void nvme_sync_io_queues(struct nvme_ctrl *ctrl) { struct nvme_ns *ns; @@ -4339,7 +4415,12 @@ list_for_each_entry(ns, &ctrl->namespaces, list) blk_sync_queue(ns->queue); up_read(&ctrl->namespaces_rwsem); +} +EXPORT_SYMBOL_GPL(nvme_sync_io_queues); +void nvme_sync_queues(struct nvme_ctrl *ctrl) +{ + nvme_sync_io_queues(ctrl); if (ctrl->admin_q) blk_sync_queue(ctrl->admin_q); } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/fabrics.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/fabrics.c @@ -547,7 +547,7 @@ blk_status_t nvmf_fail_nonready_command(struct nvme_ctrl *ctrl, struct request *rq) { - if (ctrl->state != NVME_CTRL_DELETING && + if (ctrl->state != NVME_CTRL_DELETING_NOIO && ctrl->state != NVME_CTRL_DEAD && !blk_noretry_request(rq) && !(rq->cmd_flags & REQ_NVME_MPATH)) return BLK_STS_RESOURCE; @@ -565,10 +565,14 @@ struct nvme_request *req = nvme_req(rq); /* - * If we are in some state of setup or teardown only allow - * internally generated commands. + * currently we have a problem sending passthru commands + * on the admin_q if the controller is not LIVE because we can't + * make sure that they are going out after the admin connect, + * controller enable and/or other commands in the initialization + * sequence. until the controller will be LIVE, fail with + * BLK_STS_RESOURCE so that they will be rescheduled. */ - if (!blk_rq_is_passthrough(rq) || (req->flags & NVME_REQ_USERCMD)) + if (rq->q == ctrl->admin_q && (req->flags & NVME_REQ_USERCMD)) return false; /* @@ -576,9 +580,8 @@ * which is require to set the queue live in the appropinquate states. */ switch (ctrl->state) { - case NVME_CTRL_NEW: case NVME_CTRL_CONNECTING: - if (nvme_is_fabrics(req->cmd) && + if (blk_rq_is_passthrough(rq) && nvme_is_fabrics(req->cmd) && req->cmd->fabrics.fctype == nvme_fabrics_type_connect) return true; break; --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/fabrics.h +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/fabrics.h @@ -182,7 +182,8 @@ static inline bool nvmf_check_ready(struct nvme_ctrl *ctrl, struct request *rq, bool queue_live) { - if (likely(ctrl->state == NVME_CTRL_LIVE)) + if (likely(ctrl->state == NVME_CTRL_LIVE || + ctrl->state == NVME_CTRL_DELETING)) return true; return __nvmf_check_ready(ctrl, rq, queue_live); } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/fc.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/fc.c @@ -825,6 +825,7 @@ break; case NVME_CTRL_DELETING: + case NVME_CTRL_DELETING_NOIO: default: /* no action to take - let it delete */ break; @@ -1938,7 +1939,7 @@ sizeof(op->rsp_iu), DMA_FROM_DEVICE); if (opstate == FCPOP_STATE_ABORTED) - status = cpu_to_le16(NVME_SC_HOST_PATH_ERROR << 1); + status = cpu_to_le16(NVME_SC_HOST_ABORTED_CMD << 1); else if (freq->status) { status = cpu_to_le16(NVME_SC_HOST_PATH_ERROR << 1); dev_info(ctrl->ctrl.device, @@ -2075,7 +2076,7 @@ if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.cmddma)) { dev_err(ctrl->dev, "FCP Op failed - cmdiu dma mapping failed.\n"); - ret = EFAULT; + ret = -EFAULT; goto out_on_error; } @@ -2085,7 +2086,7 @@ if (fc_dma_mapping_error(ctrl->lport->dev, op->fcp_req.rspdma)) { dev_err(ctrl->dev, "FCP Op failed - rspiu dma mapping failed.\n"); - ret = EFAULT; + ret = -EFAULT; } atomic_set(&op->state, FCPOP_STATE_IDLE); @@ -2157,6 +2158,7 @@ struct nvme_fc_fcp_op *aen_op; int i; + cancel_work_sync(&ctrl->ctrl.async_event_work); aen_op = ctrl->aen_ops; for (i = 0; i < NVME_NR_AEN_COMMANDS; i++, aen_op++) { __nvme_fc_exit_request(ctrl, aen_op); @@ -2748,6 +2750,7 @@ struct nvme_fc_ctrl *ctrl = to_fc_ctrl(nctrl); struct nvme_fc_fcp_op *op = blk_mq_rq_to_pdu(req); + op->nreq.flags |= NVME_REQ_CANCELLED; __nvme_fc_abort_op(ctrl, op); return true; } @@ -3666,12 +3669,14 @@ spin_lock_irqsave(&nvme_fc_lock, flags); list_for_each_entry(lport, &nvme_fc_lport_list, port_list) { if (lport->localport.node_name != laddr.nn || - lport->localport.port_name != laddr.pn) + lport->localport.port_name != laddr.pn || + lport->localport.port_state != FC_OBJSTATE_ONLINE) continue; list_for_each_entry(rport, &lport->endp_list, endp_list) { if (rport->remoteport.node_name != raddr.nn || - rport->remoteport.port_name != raddr.pn) + rport->remoteport.port_name != raddr.pn || + rport->remoteport.port_state != FC_OBJSTATE_ONLINE) continue; /* if fail to get reference fall through. Will error */ --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/multipath.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/multipath.c @@ -167,9 +167,18 @@ static bool nvme_path_is_disabled(struct nvme_ns *ns) { - return ns->ctrl->state != NVME_CTRL_LIVE || - test_bit(NVME_NS_ANA_PENDING, &ns->flags) || - test_bit(NVME_NS_REMOVING, &ns->flags); + /* + * We don't treat NVME_CTRL_DELETING as a disabled path as I/O should + * still be able to complete assuming that the controller is connected. + * Otherwise it will fail immediately and return to the requeue list. + */ + if (ns->ctrl->state != NVME_CTRL_LIVE && + ns->ctrl->state != NVME_CTRL_DELETING) + return true; + if (test_bit(NVME_NS_ANA_PENDING, &ns->flags) || + test_bit(NVME_NS_REMOVING, &ns->flags)) + return true; + return false; } static struct nvme_ns *__nvme_find_path(struct nvme_ns_head *head, int node) @@ -233,7 +242,7 @@ } for (ns = nvme_next_ns(head, old); - ns != old; + ns && ns != old; ns = nvme_next_ns(head, ns)) { if (nvme_path_is_disabled(ns)) continue; @@ -246,6 +255,17 @@ fallback = ns; } + /* + * The loop above skips the current path for round-robin semantics. + * Fall back to the current path if either: + * - no other optimized path found and current is optimized, + * - no other usable path found and current is usable. + */ + if (!nvme_path_is_disabled(old) && + (old->ana_state == NVME_ANA_OPTIMIZED || + (!fallback && old->ana_state == NVME_ANA_NONOPTIMIZED))) + return old; + if (!fallback) return NULL; found = fallback; @@ -266,10 +286,13 @@ struct nvme_ns *ns; ns = srcu_dereference(head->current_path[node], &head->srcu); - if (READ_ONCE(head->subsys->iopolicy) == NVME_IOPOLICY_RR && ns) - ns = nvme_round_robin_path(head, node, ns); - if (unlikely(!ns || !nvme_path_is_optimized(ns))) - ns = __nvme_find_path(head, node); + if (unlikely(!ns)) + return __nvme_find_path(head, node); + + if (READ_ONCE(head->subsys->iopolicy) == NVME_IOPOLICY_RR) + return nvme_round_robin_path(head, node, ns); + if (unlikely(!nvme_path_is_optimized(ns))) + return __nvme_find_path(head, node); return ns; } @@ -316,7 +339,7 @@ trace_block_bio_remap(bio->bi_disk->queue, bio, disk_devt(ns->head->disk), bio->bi_iter.bi_sector); - ret = direct_make_request(bio); + ret = generic_make_request(bio); } else if (nvme_available_path(head)) { dev_warn_ratelimited(dev, "no usable path - requeuing I/O\n"); @@ -565,6 +588,9 @@ { struct nvme_ctrl *ctrl = container_of(work, struct nvme_ctrl, ana_work); + if (ctrl->state != NVME_CTRL_LIVE) + return; + nvme_read_ana_log(ctrl); } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/nvme.h +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/nvme.h @@ -186,6 +186,7 @@ NVME_CTRL_RESETTING, NVME_CTRL_CONNECTING, NVME_CTRL_DELETING, + NVME_CTRL_DELETING_NOIO, NVME_CTRL_DEAD, }; @@ -270,7 +271,6 @@ struct nvme_command ka_cmd; struct work_struct fw_act_work; unsigned long events; - bool created; #ifdef CONFIG_NVME_MULTIPATH /* asymmetric namespace access: */ @@ -510,6 +510,8 @@ void nvme_complete_rq(struct request *req); bool nvme_cancel_request(struct request *req, void *data, bool reserved); +void nvme_cancel_tagset(struct nvme_ctrl *ctrl); +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); @@ -535,9 +537,10 @@ void nvme_start_queues(struct nvme_ctrl *ctrl); void nvme_kill_queues(struct nvme_ctrl *ctrl); void nvme_sync_queues(struct nvme_ctrl *ctrl); +void nvme_sync_io_queues(struct nvme_ctrl *ctrl); void nvme_unfreeze(struct nvme_ctrl *ctrl); void nvme_wait_freeze(struct nvme_ctrl *ctrl); -void nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout); +int nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout); void nvme_start_freeze(struct nvme_ctrl *ctrl); #define NVME_QID_ANY -1 --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/pci.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/pci.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -192,6 +193,7 @@ u16 q_depth; u16 cq_vector; u16 sq_tail; + u16 last_sq_tail; u16 cq_head; u16 qid; u8 cq_phase; @@ -285,9 +287,21 @@ nvmeq->dbbuf_cq_ei = &dev->dbbuf_eis[cq_idx(qid, dev->db_stride)]; } +static void nvme_dbbuf_free(struct nvme_queue *nvmeq) +{ + if (!nvmeq->qid) + return; + + nvmeq->dbbuf_sq_db = NULL; + nvmeq->dbbuf_cq_db = NULL; + nvmeq->dbbuf_sq_ei = NULL; + nvmeq->dbbuf_cq_ei = NULL; +} + static void nvme_dbbuf_set(struct nvme_dev *dev) { struct nvme_command c; + unsigned int i; if (!dev->dbbuf_dbs) return; @@ -301,6 +315,9 @@ dev_warn(dev->ctrl.device, "unable to set dbbuf\n"); /* Free memory and continue on */ nvme_dbbuf_dma_free(dev); + + for (i = 1; i <= dev->online_queues; i++) + nvme_dbbuf_free(&dev->queues[i]); } } @@ -453,11 +470,24 @@ return 0; } -static inline void nvme_write_sq_db(struct nvme_queue *nvmeq) +/* + * Write sq tail if we are asked to, or if the next command would wrap. + */ +static inline void nvme_write_sq_db(struct nvme_queue *nvmeq, bool write_sq) { + if (!write_sq) { + u16 next_tail = nvmeq->sq_tail + 1; + + if (next_tail == nvmeq->q_depth) + next_tail = 0; + if (next_tail != nvmeq->last_sq_tail) + return; + } + if (nvme_dbbuf_update_and_check_event(nvmeq->sq_tail, nvmeq->dbbuf_sq_db, nvmeq->dbbuf_sq_ei)) writel(nvmeq->sq_tail, nvmeq->q_db); + nvmeq->last_sq_tail = nvmeq->sq_tail; } /** @@ -474,8 +504,7 @@ cmd, sizeof(*cmd)); if (++nvmeq->sq_tail == nvmeq->q_depth) nvmeq->sq_tail = 0; - if (write_sq) - nvme_write_sq_db(nvmeq); + nvme_write_sq_db(nvmeq, write_sq); spin_unlock(&nvmeq->sq_lock); } @@ -484,7 +513,8 @@ struct nvme_queue *nvmeq = hctx->driver_data; spin_lock(&nvmeq->sq_lock); - nvme_write_sq_db(nvmeq); + if (nvmeq->sq_tail != nvmeq->last_sq_tail) + nvme_write_sq_db(nvmeq, true); spin_unlock(&nvmeq->sq_lock); } @@ -514,50 +544,71 @@ return true; } -static void nvme_unmap_data(struct nvme_dev *dev, struct request *req) +static void nvme_free_prps(struct nvme_dev *dev, struct request *req) { - struct nvme_iod *iod = blk_mq_rq_to_pdu(req); const int last_prp = dev->ctrl.page_size / sizeof(__le64) - 1; - dma_addr_t dma_addr = iod->first_dma, next_dma_addr; + struct nvme_iod *iod = blk_mq_rq_to_pdu(req); + dma_addr_t dma_addr = iod->first_dma; int i; - if (iod->dma_len) { - dma_unmap_page(dev->dev, dma_addr, iod->dma_len, - rq_dma_dir(req)); - return; + for (i = 0; i < iod->npages; i++) { + __le64 *prp_list = nvme_pci_iod_list(req)[i]; + dma_addr_t next_dma_addr = le64_to_cpu(prp_list[last_prp]); + + dma_pool_free(dev->prp_page_pool, prp_list, dma_addr); + dma_addr = next_dma_addr; } - WARN_ON_ONCE(!iod->nents); +} - if (is_pci_p2pdma_page(sg_page(iod->sg))) - pci_p2pdma_unmap_sg(dev->dev, iod->sg, iod->nents, - rq_dma_dir(req)); - else - dma_unmap_sg(dev->dev, iod->sg, iod->nents, rq_dma_dir(req)); +static void nvme_free_sgls(struct nvme_dev *dev, struct request *req) +{ + const int last_sg = SGES_PER_PAGE - 1; + struct nvme_iod *iod = blk_mq_rq_to_pdu(req); + dma_addr_t dma_addr = iod->first_dma; + int i; + for (i = 0; i < iod->npages; i++) { + struct nvme_sgl_desc *sg_list = nvme_pci_iod_list(req)[i]; + dma_addr_t next_dma_addr = le64_to_cpu((sg_list[last_sg]).addr); - if (iod->npages == 0) - dma_pool_free(dev->prp_small_pool, nvme_pci_iod_list(req)[0], - dma_addr); + dma_pool_free(dev->prp_page_pool, sg_list, dma_addr); + dma_addr = next_dma_addr; + } - for (i = 0; i < iod->npages; i++) { - void *addr = nvme_pci_iod_list(req)[i]; +} - if (iod->use_sgl) { - struct nvme_sgl_desc *sg_list = addr; +static void nvme_unmap_sg(struct nvme_dev *dev, struct request *req) +{ + struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - next_dma_addr = - le64_to_cpu((sg_list[SGES_PER_PAGE - 1]).addr); - } else { - __le64 *prp_list = addr; + if (is_pci_p2pdma_page(sg_page(iod->sg))) + pci_p2pdma_unmap_sg(dev->dev, iod->sg, iod->nents, + rq_dma_dir(req)); + else + dma_unmap_sg(dev->dev, iod->sg, iod->nents, rq_dma_dir(req)); +} - next_dma_addr = le64_to_cpu(prp_list[last_prp]); - } +static void nvme_unmap_data(struct nvme_dev *dev, struct request *req) +{ + struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - dma_pool_free(dev->prp_page_pool, addr, dma_addr); - dma_addr = next_dma_addr; + if (iod->dma_len) { + dma_unmap_page(dev->dev, iod->first_dma, iod->dma_len, + rq_dma_dir(req)); + return; } + WARN_ON_ONCE(!iod->nents); + + nvme_unmap_sg(dev, req); + if (iod->npages == 0) + dma_pool_free(dev->prp_small_pool, nvme_pci_iod_list(req)[0], + iod->first_dma); + else if (iod->use_sgl) + nvme_free_sgls(dev, req); + else + nvme_free_prps(dev, req); mempool_free(iod->sg, dev->iod_mempool); } @@ -634,7 +685,7 @@ __le64 *old_prp_list = prp_list; prp_list = dma_pool_alloc(pool, GFP_ATOMIC, &prp_dma); if (!prp_list) - return BLK_STS_RESOURCE; + goto free_prps; list[iod->npages++] = prp_list; prp_list[0] = old_prp_list[i - 1]; old_prp_list[i - 1] = cpu_to_le64(prp_dma); @@ -654,14 +705,14 @@ dma_addr = sg_dma_address(sg); dma_len = sg_dma_len(sg); } - done: cmnd->dptr.prp1 = cpu_to_le64(sg_dma_address(iod->sg)); cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma); - return BLK_STS_OK; - - bad_sgl: +free_prps: + nvme_free_prps(dev, req); + return BLK_STS_RESOURCE; +bad_sgl: WARN(DO_ONCE(nvme_print_sgl, iod->sg, iod->nents), "Invalid SGL for payload:%d nents:%d\n", blk_rq_payload_bytes(req), iod->nents); @@ -733,7 +784,7 @@ sg_list = dma_pool_alloc(pool, GFP_ATOMIC, &sgl_dma); if (!sg_list) - return BLK_STS_RESOURCE; + goto free_sgls; i = 0; nvme_pci_iod_list(req)[iod->npages++] = sg_list; @@ -746,6 +797,9 @@ } while (--entries > 0); return BLK_STS_OK; +free_sgls: + nvme_free_sgls(dev, req); + return BLK_STS_RESOURCE; } static blk_status_t nvme_setup_prp_simple(struct nvme_dev *dev, @@ -814,7 +868,7 @@ sg_init_table(iod->sg, blk_rq_nr_phys_segments(req)); iod->nents = blk_rq_map_sg(req->q, req, iod->sg); if (!iod->nents) - goto out; + goto out_free_sg; if (is_pci_p2pdma_page(sg_page(iod->sg))) nr_mapped = pci_p2pdma_map_sg_attrs(dev->dev, iod->sg, @@ -823,16 +877,21 @@ nr_mapped = dma_map_sg_attrs(dev->dev, iod->sg, iod->nents, rq_dma_dir(req), DMA_ATTR_NO_WARN); if (!nr_mapped) - goto out; + goto out_free_sg; iod->use_sgl = nvme_pci_use_sgls(dev, req); if (iod->use_sgl) ret = nvme_pci_setup_sgls(dev, req, &cmnd->rw, nr_mapped); else ret = nvme_pci_setup_prps(dev, req, &cmnd->rw); -out: if (ret != BLK_STS_OK) - nvme_unmap_data(dev, req); + goto out_unmap_sg; + return BLK_STS_OK; + +out_unmap_sg: + nvme_unmap_sg(dev, req); +out_free_sg: + mempool_free(iod->sg, dev->iod_mempool); return ret; } @@ -940,28 +999,29 @@ static inline void nvme_handle_cqe(struct nvme_queue *nvmeq, u16 idx) { struct nvme_completion *cqe = &nvmeq->cqes[idx]; + __u16 command_id = READ_ONCE(cqe->command_id); struct request *req; - if (unlikely(cqe->command_id >= nvmeq->q_depth)) { - dev_warn(nvmeq->dev->ctrl.device, - "invalid id %d completed on queue %d\n", - cqe->command_id, le16_to_cpu(cqe->sq_id)); - return; - } - /* * AEN requests are special as they don't time out and can * survive any kind of queue freeze and often don't respond to * aborts. We don't even bother to allocate a struct request * for them but rather special case them here. */ - if (unlikely(nvme_is_aen_req(nvmeq->qid, cqe->command_id))) { + if (unlikely(nvme_is_aen_req(nvmeq->qid, command_id))) { nvme_complete_async_event(&nvmeq->dev->ctrl, cqe->status, &cqe->result); return; } - req = blk_mq_tag_to_rq(nvme_queue_tagset(nvmeq), cqe->command_id); + req = blk_mq_tag_to_rq(nvme_queue_tagset(nvmeq), command_id); + if (unlikely(!req)) { + dev_warn(nvmeq->dev->ctrl.device, + "invalid id %d completed on queue %d\n", + command_id, le16_to_cpu(cqe->sq_id)); + return; + } + trace_nvme_sq(req, cqe->sq_head, nvmeq->sq_tail); nvme_end_request(req, cqe->status, cqe->result); } @@ -1250,8 +1310,8 @@ dev_warn_ratelimited(dev->ctrl.device, "I/O %d QID %d timeout, disable controller\n", req->tag, nvmeq->qid); - nvme_dev_disable(dev, true); nvme_req(req)->flags |= NVME_REQ_CANCELLED; + nvme_dev_disable(dev, true); return BLK_EH_DONE; case NVME_CTRL_RESETTING: return BLK_EH_RESET_TIMER; @@ -1268,10 +1328,10 @@ dev_warn(dev->ctrl.device, "I/O %d QID %d timeout, reset controller\n", req->tag, nvmeq->qid); + nvme_req(req)->flags |= NVME_REQ_CANCELLED; nvme_dev_disable(dev, false); nvme_reset_ctrl(&dev->ctrl); - nvme_req(req)->flags |= NVME_REQ_CANCELLED; return BLK_EH_DONE; } @@ -1496,6 +1556,7 @@ struct nvme_dev *dev = nvmeq->dev; nvmeq->sq_tail = 0; + nvmeq->last_sq_tail = 0; nvmeq->cq_head = 0; nvmeq->cq_phase = 1; nvmeq->q_db = &dev->dbs[qid * 2 * dev->db_stride]; @@ -1765,6 +1826,9 @@ if (dev->cmb_size) return; + if (NVME_CAP_CMBS(dev->ctrl.cap)) + writel(NVME_CMBMSC_CRE, dev->bar + NVME_REG_CMBMSC); + dev->cmbsz = readl(dev->bar + NVME_REG_CMBSZ); if (!dev->cmbsz) return; @@ -1779,6 +1843,16 @@ return; /* + * Tell the controller about the host side address mapping the CMB, + * and enable CMB decoding for the NVMe 1.4+ scheme: + */ + if (NVME_CAP_CMBS(dev->ctrl.cap)) { + hi_lo_writeq(NVME_CMBMSC_CRE | NVME_CMBMSC_CMSE | + (pci_bus_address(pdev, bar) + offset), + dev->bar + NVME_REG_CMBMSC); + } + + /* * Controllers may support a CMB size larger than their BAR, * for example, due to being behind a bridge. Reduce the CMB to * the reported size of the BAR @@ -3093,7 +3167,8 @@ { PCI_VDEVICE(INTEL, 0xf1a5), /* Intel 600P/P3100 */ .driver_data = NVME_QUIRK_NO_DEEPEST_PS | NVME_QUIRK_MEDIUM_PRIO_SQ | - NVME_QUIRK_NO_TEMP_THRESH_CHANGE }, + NVME_QUIRK_NO_TEMP_THRESH_CHANGE | + NVME_QUIRK_DISABLE_WRITE_ZEROES, }, { PCI_VDEVICE(INTEL, 0xf1a6), /* Intel 760p/Pro 7600p */ .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, }, { PCI_VDEVICE(INTEL, 0x5845), /* Qemu emulated controller */ @@ -3102,7 +3177,8 @@ { PCI_DEVICE(0x126f, 0x2263), /* Silicon Motion unidentified */ .driver_data = NVME_QUIRK_NO_NS_DESC_LIST, }, { PCI_DEVICE(0x1bb1, 0x0100), /* Seagate Nytro Flash Storage */ - .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, + .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY | + NVME_QUIRK_NO_NS_DESC_LIST, }, { PCI_DEVICE(0x1c58, 0x0003), /* HGST adapter */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x1c58, 0x0023), /* WDC SN200 adapter */ @@ -3112,7 +3188,14 @@ { PCI_DEVICE(0x144d, 0xa821), /* Samsung PM1725 */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x144d, 0xa822), /* Samsung PM1725a */ - .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, + .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY | + NVME_QUIRK_DISABLE_WRITE_ZEROES| + NVME_QUIRK_IGNORE_DEV_SUBNQN, }, + { PCI_DEVICE(0x1987, 0x5016), /* Phison E16 */ + .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, }, + { PCI_DEVICE(0x1b4b, 0x1092), /* Lexar 256 GB SSD */ + .driver_data = NVME_QUIRK_NO_NS_DESC_LIST | + NVME_QUIRK_IGNORE_DEV_SUBNQN, }, { PCI_DEVICE(0x1d1d, 0x1f1f), /* LighNVM qemu device */ .driver_data = NVME_QUIRK_LIGHTNVM, }, { PCI_DEVICE(0x1d1d, 0x2807), /* CNEX WL */ @@ -3127,6 +3210,10 @@ { PCI_DEVICE(0x1c5c, 0x1504), /* SK Hynix PC400 */ .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) }, + { PCI_DEVICE(0x2646, 0x2262), /* KINGSTON SKC2000 NVMe SSD */ + .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, + { PCI_DEVICE(0x2646, 0x2263), /* KINGSTON A2000 NVMe SSD */ + .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001), .driver_data = NVME_QUIRK_SINGLE_VECTOR }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) }, --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/rdma.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/rdma.c @@ -96,6 +96,7 @@ int cm_error; struct completion cm_done; bool pi_support; + struct mutex queue_lock; }; struct nvme_rdma_ctrl { @@ -553,6 +554,7 @@ int ret; queue = &ctrl->queues[idx]; + mutex_init(&queue->queue_lock); queue->ctrl = ctrl; if (idx && ctrl->ctrl.max_integrity_segments) queue->pi_support = true; @@ -572,7 +574,8 @@ if (IS_ERR(queue->cm_id)) { dev_info(ctrl->ctrl.device, "failed to create CM ID: %ld\n", PTR_ERR(queue->cm_id)); - return PTR_ERR(queue->cm_id); + ret = PTR_ERR(queue->cm_id); + goto out_destroy_mutex; } if (ctrl->ctrl.opts->mask & NVMF_OPT_HOST_TRADDR) @@ -602,6 +605,8 @@ out_destroy_cm_id: rdma_destroy_id(queue->cm_id); nvme_rdma_destroy_queue_ib(queue); +out_destroy_mutex: + mutex_destroy(&queue->queue_lock); return ret; } @@ -613,9 +618,10 @@ static void nvme_rdma_stop_queue(struct nvme_rdma_queue *queue) { - if (!test_and_clear_bit(NVME_RDMA_Q_LIVE, &queue->flags)) - return; - __nvme_rdma_stop_queue(queue); + mutex_lock(&queue->queue_lock); + if (test_and_clear_bit(NVME_RDMA_Q_LIVE, &queue->flags)) + __nvme_rdma_stop_queue(queue); + mutex_unlock(&queue->queue_lock); } static void nvme_rdma_free_queue(struct nvme_rdma_queue *queue) @@ -625,6 +631,7 @@ nvme_rdma_destroy_queue_ib(queue); rdma_destroy_id(queue->cm_id); + mutex_destroy(&queue->queue_lock); } static void nvme_rdma_free_io_queues(struct nvme_rdma_ctrl *ctrl) @@ -703,8 +710,11 @@ return ret; ctrl->ctrl.queue_count = nr_io_queues + 1; - if (ctrl->ctrl.queue_count < 2) - return 0; + if (ctrl->ctrl.queue_count < 2) { + dev_err(ctrl->ctrl.device, + "unable to set any I/O queues\n"); + return -ENOMEM; + } dev_info(ctrl->ctrl.device, "creating %d I/O queues.\n", nr_io_queues); @@ -808,6 +818,7 @@ blk_mq_free_tag_set(ctrl->ctrl.admin_tagset); } if (ctrl->async_event_sqe.data) { + cancel_work_sync(&ctrl->ctrl.async_event_work); nvme_rdma_free_qe(ctrl->device->dev, &ctrl->async_event_sqe, sizeof(struct nvme_command), DMA_TO_DEVICE); ctrl->async_event_sqe.data = NULL; @@ -826,7 +837,7 @@ return error; ctrl->device = ctrl->queues[0].device; - ctrl->ctrl.numa_node = dev_to_node(ctrl->device->dev->dma_device); + ctrl->ctrl.numa_node = ibdev_to_node(ctrl->device->dev); /* T10-PI support */ if (ctrl->device->dev->attrs.device_cap_flags & @@ -885,12 +896,16 @@ error = nvme_init_identify(&ctrl->ctrl); if (error) - goto out_stop_queue; + goto out_quiesce_queue; return 0; +out_quiesce_queue: + blk_mq_quiesce_queue(ctrl->ctrl.admin_q); + blk_sync_queue(ctrl->ctrl.admin_q); out_stop_queue: nvme_rdma_stop_queue(&ctrl->queues[0]); + nvme_cancel_admin_tagset(&ctrl->ctrl); out_cleanup_queue: if (new) blk_cleanup_queue(ctrl->ctrl.admin_q); @@ -941,18 +956,36 @@ ret = PTR_ERR(ctrl->ctrl.connect_q); goto out_free_tag_set; } - } else { - blk_mq_update_nr_hw_queues(&ctrl->tag_set, - ctrl->ctrl.queue_count - 1); } ret = nvme_rdma_start_io_queues(ctrl); if (ret) goto out_cleanup_connect_q; + if (!new) { + nvme_start_queues(&ctrl->ctrl); + if (!nvme_wait_freeze_timeout(&ctrl->ctrl, NVME_IO_TIMEOUT)) { + /* + * If we timed out waiting for freeze we are likely to + * be stuck. Fail the controller initialization just + * to be safe. + */ + ret = -ENODEV; + goto out_wait_freeze_timed_out; + } + blk_mq_update_nr_hw_queues(ctrl->ctrl.tagset, + ctrl->ctrl.queue_count - 1); + nvme_unfreeze(&ctrl->ctrl); + } + return 0; +out_wait_freeze_timed_out: + nvme_stop_queues(&ctrl->ctrl); + nvme_sync_io_queues(&ctrl->ctrl); + nvme_rdma_stop_io_queues(ctrl); out_cleanup_connect_q: + nvme_cancel_tagset(&ctrl->ctrl); if (new) blk_cleanup_queue(ctrl->ctrl.connect_q); out_free_tag_set: @@ -967,6 +1000,7 @@ bool remove) { blk_mq_quiesce_queue(ctrl->ctrl.admin_q); + blk_sync_queue(ctrl->ctrl.admin_q); nvme_rdma_stop_queue(&ctrl->queues[0]); if (ctrl->ctrl.admin_tagset) { blk_mq_tagset_busy_iter(ctrl->ctrl.admin_tagset, @@ -982,7 +1016,9 @@ bool remove) { if (ctrl->ctrl.queue_count > 1) { + nvme_start_freeze(&ctrl->ctrl); nvme_stop_queues(&ctrl->ctrl); + nvme_sync_io_queues(&ctrl->ctrl); nvme_rdma_stop_io_queues(ctrl); if (ctrl->ctrl.tagset) { blk_mq_tagset_busy_iter(ctrl->ctrl.tagset, @@ -1076,11 +1112,12 @@ changed = nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_LIVE); if (!changed) { /* - * state change failure is ok if we're in DELETING state, + * state change failure is ok if we started ctrl delete, * unless we're during creation of a new controller to * avoid races with teardown flow. */ - WARN_ON_ONCE(ctrl->ctrl.state != NVME_CTRL_DELETING); + WARN_ON_ONCE(ctrl->ctrl.state != NVME_CTRL_DELETING && + ctrl->ctrl.state != NVME_CTRL_DELETING_NOIO); WARN_ON_ONCE(new); ret = -EINVAL; goto destroy_io; @@ -1090,10 +1127,18 @@ return 0; destroy_io: - if (ctrl->ctrl.queue_count > 1) + if (ctrl->ctrl.queue_count > 1) { + nvme_stop_queues(&ctrl->ctrl); + nvme_sync_io_queues(&ctrl->ctrl); + nvme_rdma_stop_io_queues(ctrl); + nvme_cancel_tagset(&ctrl->ctrl); nvme_rdma_destroy_io_queues(ctrl, new); + } destroy_admin: + blk_mq_quiesce_queue(ctrl->ctrl.admin_q); + blk_sync_queue(ctrl->ctrl.admin_q); nvme_rdma_stop_queue(&ctrl->queues[0]); + nvme_cancel_admin_tagset(&ctrl->ctrl); nvme_rdma_destroy_admin_queue(ctrl, new); return ret; } @@ -1133,8 +1178,9 @@ blk_mq_unquiesce_queue(ctrl->ctrl.admin_q); if (!nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_CONNECTING)) { - /* state change failure is ok if we're in DELETING state */ - WARN_ON_ONCE(ctrl->ctrl.state != NVME_CTRL_DELETING); + /* state change failure is ok if we started ctrl delete */ + WARN_ON_ONCE(ctrl->ctrl.state != NVME_CTRL_DELETING && + ctrl->ctrl.state != NVME_CTRL_DELETING_NOIO); return; } @@ -1146,6 +1192,7 @@ if (!nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_RESETTING)) return; + dev_warn(ctrl->ctrl.device, "starting error recovery\n"); queue_work(nvme_reset_wq, &ctrl->err_work); } @@ -1715,6 +1762,14 @@ return; } + /* sanity checking for received data length */ + if (unlikely(wc->byte_len < len)) { + dev_err(queue->ctrl->ctrl.device, + "Unexpected nvme completion length(%d)\n", wc->byte_len); + nvme_rdma_error_recovery(queue->ctrl); + return; + } + ib_dma_sync_single_for_cpu(ibdev, qe->dma, len, DMA_FROM_DEVICE); /* * AEN requests are special as they don't time out and can @@ -1874,7 +1929,6 @@ complete(&queue->cm_done); return 0; case RDMA_CM_EVENT_REJECTED: - nvme_rdma_destroy_queue_ib(queue); cm_error = nvme_rdma_conn_rejected(queue, ev); break; case RDMA_CM_EVENT_ROUTE_ERROR: @@ -1912,6 +1966,18 @@ return 0; } +static void nvme_rdma_complete_timed_out(struct request *rq) +{ + struct nvme_rdma_request *req = blk_mq_rq_to_pdu(rq); + struct nvme_rdma_queue *queue = req->queue; + + nvme_rdma_stop_queue(queue); + if (blk_mq_request_started(rq) && !blk_mq_request_completed(rq)) { + nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; + blk_mq_complete_request(rq); + } +} + static enum blk_eh_timer_return nvme_rdma_timeout(struct request *rq, bool reserved) { @@ -1922,29 +1988,29 @@ dev_warn(ctrl->ctrl.device, "I/O %d QID %d timeout\n", rq->tag, nvme_rdma_queue_idx(queue)); - /* - * Restart the timer if a controller reset is already scheduled. Any - * timed out commands would be handled before entering the connecting - * state. - */ - if (ctrl->ctrl.state == NVME_CTRL_RESETTING) - return BLK_EH_RESET_TIMER; - if (ctrl->ctrl.state != NVME_CTRL_LIVE) { /* - * Teardown immediately if controller times out while starting - * or we are already started error recovery. all outstanding - * requests are completed on shutdown, so we return BLK_EH_DONE. + * If we are resetting, connecting or deleting we should + * complete immediately because we may block controller + * teardown or setup sequence + * - ctrl disable/shutdown fabrics requests + * - connect requests + * - initialization admin requests + * - I/O requests that entered after unquiescing and + * the controller stopped responding + * + * All other requests should be cancelled by the error + * recovery work, so it's fine that we fail it here. */ - flush_work(&ctrl->err_work); - nvme_rdma_teardown_io_queues(ctrl, false); - nvme_rdma_teardown_admin_queue(ctrl, false); + nvme_rdma_complete_timed_out(rq); return BLK_EH_DONE; } - dev_warn(ctrl->ctrl.device, "starting error recovery\n"); + /* + * LIVE state should trigger the normal error recovery which will + * handle completing this request. + */ nvme_rdma_error_recovery(ctrl); - return BLK_EH_RESET_TIMER; } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/host/tcp.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/host/tcp.c @@ -76,6 +76,7 @@ int io_cpu; spinlock_t lock; + struct mutex queue_lock; struct mutex send_mutex; struct list_head send_list; @@ -199,7 +200,7 @@ static inline size_t nvme_tcp_req_cur_length(struct nvme_tcp_request *req) { - return min_t(size_t, req->iter.bvec->bv_len - req->iter.iov_offset, + return min_t(size_t, iov_iter_single_seg_count(&req->iter), req->pdu_len - req->pdu_sent); } @@ -260,6 +261,16 @@ } } +static inline void nvme_tcp_send_all(struct nvme_tcp_queue *queue) +{ + int ret; + + /* drain the send queue as much as we can... */ + do { + ret = nvme_tcp_try_send(queue); + } while (ret > 0); +} + static inline void nvme_tcp_queue_request(struct nvme_tcp_request *req, bool sync) { @@ -276,9 +287,9 @@ * directly, otherwise queue io_work. Also, only do that if we * are on the same cpu, so we don't introduce contention. */ - if (queue->io_cpu == smp_processor_id() && + if (queue->io_cpu == raw_smp_processor_id() && sync && empty && mutex_trylock(&queue->send_mutex)) { - nvme_tcp_try_send(queue); + nvme_tcp_send_all(queue); mutex_unlock(&queue->send_mutex); } else { queue_work_on(queue->io_cpu, nvme_tcp_wq, &queue->io_work); @@ -447,6 +458,7 @@ if (!nvme_change_ctrl_state(ctrl, NVME_CTRL_RESETTING)) return; + dev_warn(ctrl->device, "starting error recovery\n"); queue_work(nvme_reset_wq, &to_tcp_ctrl(ctrl)->err_work); } @@ -538,6 +550,13 @@ req->pdu_len = le32_to_cpu(pdu->r2t_length); req->pdu_sent = 0; + if (unlikely(!req->pdu_len)) { + dev_err(queue->ctrl->ctrl.device, + "req %d r2t len is %u, probably a bug...\n", + rq->tag, req->pdu_len); + return -EPROTO; + } + if (unlikely(req->data_sent + req->pdu_len > req->data_len)) { dev_err(queue->ctrl->ctrl.device, "req %d r2t len %u exceeded data len %u (%zu sent)\n", @@ -887,12 +906,11 @@ else flags |= MSG_MORE | MSG_SENDPAGE_NOTLAST; - /* can't zcopy slab pages */ - if (unlikely(PageSlab(page))) { - ret = sock_no_sendpage(queue->sock, page, offset, len, + if (sendpage_ok(page)) { + ret = kernel_sendpage(queue->sock, page, offset, len, flags); } else { - ret = kernel_sendpage(queue->sock, page, offset, len, + ret = sock_no_sendpage(queue->sock, page, offset, len, flags); } if (ret <= 0) @@ -1180,6 +1198,7 @@ sock_release(queue->sock); kfree(queue->pdu); + mutex_destroy(&queue->queue_lock); } static int nvme_tcp_init_connection(struct nvme_tcp_queue *queue) @@ -1341,6 +1360,7 @@ struct nvme_tcp_queue *queue = &ctrl->queues[qid]; int ret, rcv_pdu_size; + mutex_init(&queue->queue_lock); queue->ctrl = ctrl; INIT_LIST_HEAD(&queue->send_list); spin_lock_init(&queue->lock); @@ -1359,7 +1379,7 @@ if (ret) { dev_err(nctrl->device, "failed to create socket: %d\n", ret); - return ret; + goto err_destroy_mutex; } /* Single syn retry */ @@ -1468,6 +1488,8 @@ err_sock: sock_release(queue->sock); queue->sock = NULL; +err_destroy_mutex: + mutex_destroy(&queue->queue_lock); return ret; } @@ -1495,10 +1517,10 @@ struct nvme_tcp_ctrl *ctrl = to_tcp_ctrl(nctrl); struct nvme_tcp_queue *queue = &ctrl->queues[qid]; - if (!test_and_clear_bit(NVME_TCP_Q_LIVE, &queue->flags)) - return; - - __nvme_tcp_stop_queue(queue); + mutex_lock(&queue->queue_lock); + if (test_and_clear_bit(NVME_TCP_Q_LIVE, &queue->flags)) + __nvme_tcp_stop_queue(queue); + mutex_unlock(&queue->queue_lock); } static int nvme_tcp_start_queue(struct nvme_ctrl *nctrl, int idx) @@ -1566,6 +1588,7 @@ static void nvme_tcp_free_admin_queue(struct nvme_ctrl *ctrl) { if (to_tcp_ctrl(ctrl)->async_req.pdu) { + cancel_work_sync(&ctrl->async_event_work); nvme_tcp_free_async_req(to_tcp_ctrl(ctrl)); to_tcp_ctrl(ctrl)->async_req.pdu = NULL; } @@ -1703,8 +1726,11 @@ return ret; ctrl->queue_count = nr_io_queues + 1; - if (ctrl->queue_count < 2) - return 0; + if (ctrl->queue_count < 2) { + dev_err(ctrl->device, + "unable to set any I/O queues\n"); + return -ENOMEM; + } dev_info(ctrl->device, "creating %d I/O queues.\n", nr_io_queues); @@ -1744,18 +1770,36 @@ ret = PTR_ERR(ctrl->connect_q); goto out_free_tag_set; } - } else { - blk_mq_update_nr_hw_queues(ctrl->tagset, - ctrl->queue_count - 1); } ret = nvme_tcp_start_io_queues(ctrl); if (ret) goto out_cleanup_connect_q; + if (!new) { + nvme_start_queues(ctrl); + if (!nvme_wait_freeze_timeout(ctrl, NVME_IO_TIMEOUT)) { + /* + * If we timed out waiting for freeze we are likely to + * be stuck. Fail the controller initialization just + * to be safe. + */ + ret = -ENODEV; + goto out_wait_freeze_timed_out; + } + blk_mq_update_nr_hw_queues(ctrl->tagset, + ctrl->queue_count - 1); + nvme_unfreeze(ctrl); + } + return 0; +out_wait_freeze_timed_out: + nvme_stop_queues(ctrl); + nvme_sync_io_queues(ctrl); + nvme_tcp_stop_io_queues(ctrl); out_cleanup_connect_q: + nvme_cancel_tagset(ctrl); if (new) blk_cleanup_queue(ctrl->connect_q); out_free_tag_set: @@ -1817,12 +1861,16 @@ error = nvme_init_identify(ctrl); if (error) - goto out_stop_queue; + goto out_quiesce_queue; return 0; +out_quiesce_queue: + blk_mq_quiesce_queue(ctrl->admin_q); + blk_sync_queue(ctrl->admin_q); out_stop_queue: nvme_tcp_stop_queue(ctrl, 0); + nvme_cancel_admin_tagset(ctrl); out_cleanup_queue: if (new) blk_cleanup_queue(ctrl->admin_q); @@ -1841,6 +1889,7 @@ bool remove) { blk_mq_quiesce_queue(ctrl->admin_q); + blk_sync_queue(ctrl->admin_q); nvme_tcp_stop_queue(ctrl, 0); if (ctrl->admin_tagset) { blk_mq_tagset_busy_iter(ctrl->admin_tagset, @@ -1857,7 +1906,10 @@ { if (ctrl->queue_count <= 1) return; + blk_mq_quiesce_queue(ctrl->admin_q); + nvme_start_freeze(ctrl); nvme_stop_queues(ctrl); + nvme_sync_io_queues(ctrl); nvme_tcp_stop_io_queues(ctrl); if (ctrl->tagset) { blk_mq_tagset_busy_iter(ctrl->tagset, @@ -1923,11 +1975,12 @@ if (!nvme_change_ctrl_state(ctrl, NVME_CTRL_LIVE)) { /* - * state change failure is ok if we're in DELETING state, + * state change failure is ok if we started ctrl delete, * unless we're during creation of a new controller to * avoid races with teardown flow. */ - WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING); + WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING && + ctrl->state != NVME_CTRL_DELETING_NOIO); WARN_ON_ONCE(new); ret = -EINVAL; goto destroy_io; @@ -1937,10 +1990,18 @@ return 0; destroy_io: - if (ctrl->queue_count > 1) + if (ctrl->queue_count > 1) { + nvme_stop_queues(ctrl); + nvme_sync_io_queues(ctrl); + nvme_tcp_stop_io_queues(ctrl); + nvme_cancel_tagset(ctrl); nvme_tcp_destroy_io_queues(ctrl, new); + } destroy_admin: + blk_mq_quiesce_queue(ctrl->admin_q); + blk_sync_queue(ctrl->admin_q); nvme_tcp_stop_queue(ctrl, 0); + nvme_cancel_admin_tagset(ctrl); nvme_tcp_destroy_admin_queue(ctrl, new); return ret; } @@ -1983,8 +2044,9 @@ blk_mq_unquiesce_queue(ctrl->admin_q); if (!nvme_change_ctrl_state(ctrl, NVME_CTRL_CONNECTING)) { - /* state change failure is ok if we're in DELETING state */ - WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING); + /* state change failure is ok if we started ctrl delete */ + WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING && + ctrl->state != NVME_CTRL_DELETING_NOIO); return; } @@ -2019,8 +2081,9 @@ nvme_tcp_teardown_ctrl(ctrl, false); if (!nvme_change_ctrl_state(ctrl, NVME_CTRL_CONNECTING)) { - /* state change failure is ok if we're in DELETING state */ - WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING); + /* state change failure is ok if we started ctrl delete */ + WARN_ON_ONCE(ctrl->state != NVME_CTRL_DELETING && + ctrl->state != NVME_CTRL_DELETING_NOIO); return; } @@ -2110,40 +2173,52 @@ nvme_tcp_queue_request(&ctrl->async_req, true); } +static void nvme_tcp_complete_timed_out(struct request *rq) +{ + struct nvme_tcp_request *req = blk_mq_rq_to_pdu(rq); + struct nvme_ctrl *ctrl = &req->queue->ctrl->ctrl; + + nvme_tcp_stop_queue(ctrl, nvme_tcp_queue_id(req->queue)); + if (blk_mq_request_started(rq) && !blk_mq_request_completed(rq)) { + nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; + blk_mq_complete_request(rq); + } +} + static enum blk_eh_timer_return nvme_tcp_timeout(struct request *rq, bool reserved) { struct nvme_tcp_request *req = blk_mq_rq_to_pdu(rq); - struct nvme_tcp_ctrl *ctrl = req->queue->ctrl; + struct nvme_ctrl *ctrl = &req->queue->ctrl->ctrl; struct nvme_tcp_cmd_pdu *pdu = req->pdu; - /* - * Restart the timer if a controller reset is already scheduled. Any - * timed out commands would be handled before entering the connecting - * state. - */ - if (ctrl->ctrl.state == NVME_CTRL_RESETTING) - return BLK_EH_RESET_TIMER; - - dev_warn(ctrl->ctrl.device, + dev_warn(ctrl->device, "queue %d: timeout request %#x type %d\n", nvme_tcp_queue_id(req->queue), rq->tag, pdu->hdr.type); - if (ctrl->ctrl.state != NVME_CTRL_LIVE) { + if (ctrl->state != NVME_CTRL_LIVE) { /* - * Teardown immediately if controller times out while starting - * or we are already started error recovery. all outstanding - * requests are completed on shutdown, so we return BLK_EH_DONE. + * If we are resetting, connecting or deleting we should + * complete immediately because we may block controller + * teardown or setup sequence + * - ctrl disable/shutdown fabrics requests + * - connect requests + * - initialization admin requests + * - I/O requests that entered after unquiescing and + * the controller stopped responding + * + * All other requests should be cancelled by the error + * recovery work, so it's fine that we fail it here. */ - flush_work(&ctrl->err_work); - nvme_tcp_teardown_io_queues(&ctrl->ctrl, false); - nvme_tcp_teardown_admin_queue(&ctrl->ctrl, false); + nvme_tcp_complete_timed_out(rq); return BLK_EH_DONE; } - dev_warn(ctrl->ctrl.device, "starting error recovery\n"); - nvme_tcp_error_recovery(&ctrl->ctrl); - + /* + * LIVE state should trigger the normal error recovery which will + * handle completing this request. + */ + nvme_tcp_error_recovery(ctrl); return BLK_EH_RESET_TIMER; } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/admin-cmd.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/admin-cmd.c @@ -473,7 +473,6 @@ static void nvmet_execute_identify_ns(struct nvmet_req *req) { struct nvmet_ctrl *ctrl = req->sq->ctrl; - struct nvmet_ns *ns; struct nvme_id_ns *id; u16 status = 0; @@ -490,18 +489,21 @@ } /* return an all zeroed buffer if we can't find an active namespace */ - ns = nvmet_find_namespace(ctrl, req->cmd->identify.nsid); - if (!ns) + req->ns = nvmet_find_namespace(ctrl, req->cmd->identify.nsid); + if (!req->ns) { + status = 0; goto done; + } - nvmet_ns_revalidate(ns); + nvmet_ns_revalidate(req->ns); /* * nuse = ncap = nsze isn't always true, but we have no way to find * that out from the underlying device. */ - id->ncap = id->nsze = cpu_to_le64(ns->size >> ns->blksize_shift); - switch (req->port->ana_state[ns->anagrpid]) { + id->ncap = id->nsze = + cpu_to_le64(req->ns->size >> req->ns->blksize_shift); + switch (req->port->ana_state[req->ns->anagrpid]) { case NVME_ANA_INACCESSIBLE: case NVME_ANA_PERSISTENT_LOSS: break; @@ -510,8 +512,8 @@ break; } - if (ns->bdev) - nvmet_bdev_set_limits(ns->bdev, id); + if (req->ns->bdev) + nvmet_bdev_set_limits(req->ns->bdev, id); /* * We just provide a single LBA format that matches what the @@ -525,27 +527,28 @@ * controllers, but also with any other user of the block device. */ id->nmic = (1 << 0); - id->anagrpid = cpu_to_le32(ns->anagrpid); + id->anagrpid = cpu_to_le32(req->ns->anagrpid); - memcpy(&id->nguid, &ns->nguid, sizeof(id->nguid)); + memcpy(&id->nguid, &req->ns->nguid, sizeof(id->nguid)); - id->lbaf[0].ds = ns->blksize_shift; + id->lbaf[0].ds = req->ns->blksize_shift; - if (ctrl->pi_support && nvmet_ns_has_pi(ns)) { + if (ctrl->pi_support && nvmet_ns_has_pi(req->ns)) { id->dpc = NVME_NS_DPC_PI_FIRST | NVME_NS_DPC_PI_LAST | NVME_NS_DPC_PI_TYPE1 | NVME_NS_DPC_PI_TYPE2 | NVME_NS_DPC_PI_TYPE3; id->mc = NVME_MC_EXTENDED_LBA; - id->dps = ns->pi_type; + id->dps = req->ns->pi_type; id->flbas = NVME_NS_FLBAS_META_EXT; - id->lbaf[0].ms = cpu_to_le16(ns->metadata_size); + id->lbaf[0].ms = cpu_to_le16(req->ns->metadata_size); } - if (ns->readonly) + if (req->ns->readonly) id->nsattr |= (1 << 0); - nvmet_put_namespace(ns); done: - status = nvmet_copy_to_sgl(req, 0, id, sizeof(*id)); + if (!status) + status = nvmet_copy_to_sgl(req, 0, id, sizeof(*id)); + kfree(id); out: nvmet_req_complete(req, status); --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/configfs.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/configfs.c @@ -1035,6 +1035,7 @@ up_write(&nvmet_config_sem); kfree_rcu(new_model, rcuhead); + kfree(new_model_number); return count; } --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/core.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/core.c @@ -396,6 +396,9 @@ static void nvmet_start_keep_alive_timer(struct nvmet_ctrl *ctrl) { + if (unlikely(ctrl->kato == 0)) + return; + pr_debug("ctrl %d start keep-alive timer for %d secs\n", ctrl->cntlid, ctrl->kato); @@ -405,6 +408,9 @@ static void nvmet_stop_keep_alive_timer(struct nvmet_ctrl *ctrl) { + if (unlikely(ctrl->kato == 0)) + return; + pr_debug("ctrl %d stop keep-alive\n", ctrl->cntlid); cancel_delayed_work_sync(&ctrl->ka_work); @@ -917,8 +923,6 @@ req->error_loc = NVMET_NO_ERROR_LOC; req->error_slba = 0; - trace_nvmet_req_init(req, req->cmd); - /* no support for fused commands yet */ if (unlikely(flags & (NVME_CMD_FUSE_FIRST | NVME_CMD_FUSE_SECOND))) { req->error_loc = offsetof(struct nvme_common_command, flags); @@ -948,6 +952,8 @@ if (status) goto fail; + trace_nvmet_req_init(req, req->cmd); + if (unlikely(!percpu_ref_tryget_live(&sq->ref))) { status = NVME_SC_INVALID_FIELD | NVME_SC_DNR; goto fail; @@ -1119,9 +1125,20 @@ { lockdep_assert_held(&ctrl->lock); - if (nvmet_cc_iosqes(ctrl->cc) != NVME_NVM_IOSQES || - nvmet_cc_iocqes(ctrl->cc) != NVME_NVM_IOCQES || - nvmet_cc_mps(ctrl->cc) != 0 || + /* + * Only I/O controllers should verify iosqes,iocqes. + * Strictly speaking, the spec says a discovery controller + * should verify iosqes,iocqes are zeroed, however that + * would break backwards compatibility, so don't enforce it. + */ + if (ctrl->subsys->type != NVME_NQN_DISC && + (nvmet_cc_iosqes(ctrl->cc) != NVME_NVM_IOSQES || + nvmet_cc_iocqes(ctrl->cc) != NVME_NVM_IOCQES)) { + ctrl->csts = NVME_CSTS_CFS; + return; + } + + if (nvmet_cc_mps(ctrl->cc) != 0 || nvmet_cc_ams(ctrl->cc) != 0 || nvmet_cc_css(ctrl->cc) != 0) { ctrl->csts = NVME_CSTS_CFS; @@ -1136,7 +1153,8 @@ * in case a host died before it enabled the controller. Hence, simply * reset the keep alive timer when the controller is enabled. */ - mod_delayed_work(system_wq, &ctrl->ka_work, ctrl->kato * HZ); + if (ctrl->kato) + mod_delayed_work(system_wq, &ctrl->ka_work, ctrl->kato * HZ); } static void nvmet_clear_ctrl(struct nvmet_ctrl *ctrl) --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/fc.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/fc.c @@ -2362,9 +2362,9 @@ return; if (fcpreq->fcp_error || fcpreq->transferred_length != fcpreq->transfer_length) { - spin_lock(&fod->flock); + spin_lock_irqsave(&fod->flock, flags); fod->abort = true; - spin_unlock(&fod->flock); + spin_unlock_irqrestore(&fod->flock, flags); nvmet_req_complete(&fod->req, NVME_SC_INTERNAL); return; --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/loop.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/loop.c @@ -583,6 +583,9 @@ if (ret) goto out_put_ctrl; + changed = nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_CONNECTING); + WARN_ON_ONCE(!changed); + ret = -ENOMEM; ctrl->ctrl.sqsize = opts->queue_size - 1; --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/rdma.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/rdma.c @@ -801,9 +801,8 @@ nvmet_req_uninit(&rsp->req); nvmet_rdma_release_rsp(rsp); if (wc->status != IB_WC_WR_FLUSH_ERR) { - pr_info("RDMA WRITE for CQE 0x%p failed with status %s (%d).\n", - wc->wr_cqe, ib_wc_status_msg(wc->status), - wc->status); + pr_info("RDMA WRITE for CQE failed with status %s (%d).\n", + ib_wc_status_msg(wc->status), wc->status); nvmet_rdma_error_comp(queue); } return; @@ -1219,6 +1218,14 @@ } ndev->inline_data_size = nport->inline_data_size; ndev->inline_page_count = inline_page_count; + + if (nport->pi_enable && !(cm_id->device->attrs.device_cap_flags & + IB_DEVICE_INTEGRITY_HANDOVER)) { + pr_warn("T10-PI is not supported by device %s. Disabling it\n", + cm_id->device->name); + nport->pi_enable = false; + } + ndev->device = cm_id->device; kref_init(&ndev->ref); @@ -1640,6 +1647,16 @@ spin_lock_irqsave(&queue->state_lock, flags); switch (queue->state) { case NVMET_RDMA_Q_CONNECTING: + while (!list_empty(&queue->rsp_wait_list)) { + struct nvmet_rdma_rsp *rsp; + + rsp = list_first_entry(&queue->rsp_wait_list, + struct nvmet_rdma_rsp, + wait_list); + list_del(&rsp->wait_list); + nvmet_rdma_put_rsp(rsp); + } + fallthrough; case NVMET_RDMA_Q_LIVE: queue->state = NVMET_RDMA_Q_DISCONNECTING; disconnect = true; @@ -1844,14 +1861,6 @@ goto out_destroy_id; } - if (port->nport->pi_enable && - !(cm_id->device->attrs.device_cap_flags & - IB_DEVICE_INTEGRITY_HANDOVER)) { - pr_err("T10-PI is not supported for %pISpcs\n", addr); - ret = -EINVAL; - goto out_destroy_id; - } - port->cm_id = cm_id; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/tcp.c +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/tcp.c @@ -160,6 +160,11 @@ static inline u16 nvmet_tcp_cmd_tag(struct nvmet_tcp_queue *queue, struct nvmet_tcp_cmd *cmd) { + if (unlikely(!queue->nr_cmds)) { + /* We didn't allocate cmds yet, send 0xffff */ + return USHRT_MAX; + } + return cmd - queue->cmds; } @@ -297,7 +302,7 @@ length = cmd->pdu_len; cmd->nr_mapped = DIV_ROUND_UP(length, PAGE_SIZE); offset = cmd->rbytes_done; - cmd->sg_idx = DIV_ROUND_UP(offset, PAGE_SIZE); + cmd->sg_idx = offset / PAGE_SIZE; sg_offset = offset % PAGE_SIZE; sg = &cmd->req.sg[cmd->sg_idx]; @@ -310,6 +315,7 @@ length -= iov_len; sg = sg_next(sg); iov++; + sg_offset = 0; } iov_iter_kvec(&cmd->recv_msg.msg_iter, READ, cmd->iov, @@ -370,7 +376,7 @@ return NVME_SC_INTERNAL; } -static void nvmet_tcp_ddgst(struct ahash_request *hash, +static void nvmet_tcp_send_ddgst(struct ahash_request *hash, struct nvmet_tcp_cmd *cmd) { ahash_request_set_crypt(hash, cmd->req.sg, @@ -378,6 +384,23 @@ crypto_ahash_digest(hash); } +static void nvmet_tcp_recv_ddgst(struct ahash_request *hash, + struct nvmet_tcp_cmd *cmd) +{ + struct scatterlist sg; + struct kvec *iov; + int i; + + crypto_ahash_init(hash); + for (i = 0, iov = cmd->iov; i < cmd->nr_mapped; i++, iov++) { + sg_init_one(&sg, iov->iov_base, iov->iov_len); + ahash_request_set_crypt(hash, &sg, NULL, iov->iov_len); + crypto_ahash_update(hash); + } + ahash_request_set_crypt(hash, NULL, (void *)&cmd->exp_ddgst, 0); + crypto_ahash_final(hash); +} + static void nvmet_setup_c2h_data_pdu(struct nvmet_tcp_cmd *cmd) { struct nvme_tcp_data_pdu *pdu = cmd->data_pdu; @@ -402,7 +425,7 @@ if (queue->data_digest) { pdu->hdr.flags |= NVME_TCP_F_DDGST; - nvmet_tcp_ddgst(queue->snd_hash, cmd); + nvmet_tcp_send_ddgst(queue->snd_hash, cmd); } if (cmd->queue->hdr_digest) { @@ -872,7 +895,10 @@ struct nvme_tcp_data_pdu *data = &queue->pdu.data; struct nvmet_tcp_cmd *cmd; - cmd = &queue->cmds[data->ttag]; + if (likely(queue->nr_cmds)) + cmd = &queue->cmds[data->ttag]; + 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", @@ -1054,7 +1080,7 @@ { struct nvmet_tcp_queue *queue = cmd->queue; - nvmet_tcp_ddgst(queue->rcv_hash, cmd); + nvmet_tcp_recv_ddgst(queue->rcv_hash, cmd); queue->offset = 0; queue->left = NVME_TCP_DIGEST_LENGTH; queue->rcv_state = NVMET_TCP_RECV_DDGST; @@ -1076,13 +1102,13 @@ } nvmet_tcp_unmap_pdu_iovec(cmd); + if (queue->data_digest) { + nvmet_tcp_prep_recv_ddgst(cmd); + return 0; + } if (!(cmd->flags & NVMET_TCP_F_INIT_FAILED) && cmd->rbytes_done == cmd->req.transfer_len) { - if (queue->data_digest) { - nvmet_tcp_prep_recv_ddgst(cmd); - return 0; - } cmd->req.execute(&cmd->req); } @@ -1462,17 +1488,27 @@ if (inet->rcv_tos > 0) ip_sock_set_tos(sock->sk, inet->rcv_tos); + ret = 0; write_lock_bh(&sock->sk->sk_callback_lock); - sock->sk->sk_user_data = queue; - queue->data_ready = sock->sk->sk_data_ready; - sock->sk->sk_data_ready = nvmet_tcp_data_ready; - queue->state_change = sock->sk->sk_state_change; - sock->sk->sk_state_change = nvmet_tcp_state_change; - queue->write_space = sock->sk->sk_write_space; - sock->sk->sk_write_space = nvmet_tcp_write_space; + if (sock->sk->sk_state != TCP_ESTABLISHED) { + /* + * If the socket is already closing, don't even start + * consuming it + */ + ret = -ENOTCONN; + } else { + sock->sk->sk_user_data = queue; + queue->data_ready = sock->sk->sk_data_ready; + sock->sk->sk_data_ready = nvmet_tcp_data_ready; + queue->state_change = sock->sk->sk_state_change; + sock->sk->sk_state_change = nvmet_tcp_state_change; + queue->write_space = sock->sk->sk_write_space; + sock->sk->sk_write_space = nvmet_tcp_write_space; + queue_work_on(queue->cpu, nvmet_tcp_wq, &queue->io_work); + } write_unlock_bh(&sock->sk->sk_callback_lock); - return 0; + return ret; } static int nvmet_tcp_alloc_queue(struct nvmet_tcp_port *port, @@ -1523,8 +1559,6 @@ if (ret) goto out_destroy_sq; - queue_work_on(queue->cpu, nvmet_tcp_wq, &queue->io_work); - return 0; out_destroy_sq: mutex_lock(&nvmet_tcp_queue_mutex); --- linux-riscv-5.8-5.8.0.orig/drivers/nvme/target/trace.h +++ linux-riscv-5.8-5.8.0/drivers/nvme/target/trace.h @@ -46,19 +46,12 @@ return req->sq->ctrl; } -static inline void __assign_disk_name(char *name, struct nvmet_req *req, - bool init) +static inline void __assign_req_name(char *name, struct nvmet_req *req) { - struct nvmet_ctrl *ctrl = nvmet_req_to_ctrl(req); - struct nvmet_ns *ns; - - if ((init && req->sq->qid) || (!init && req->cq->qid)) { - ns = nvmet_find_namespace(ctrl, req->cmd->rw.nsid); - strncpy(name, ns->device_path, DISK_NAME_LEN); - return; - } - - memset(name, 0, DISK_NAME_LEN); + if (req->ns) + strncpy(name, req->ns->device_path, DISK_NAME_LEN); + else + memset(name, 0, DISK_NAME_LEN); } #endif @@ -81,7 +74,7 @@ TP_fast_assign( __entry->cmd = cmd; __entry->ctrl = nvmet_req_to_ctrl(req); - __assign_disk_name(__entry->disk, req, true); + __assign_req_name(__entry->disk, req); __entry->qid = req->sq->qid; __entry->cid = cmd->common.command_id; __entry->opcode = cmd->common.opcode; @@ -121,7 +114,7 @@ __entry->cid = req->cqe->command_id; __entry->result = le64_to_cpu(req->cqe->result.u64); __entry->status = le16_to_cpu(req->cqe->status) >> 1; - __assign_disk_name(__entry->disk, req, false); + __assign_req_name(__entry->disk, req); ), TP_printk("nvmet%s: %sqid=%d, cmdid=%u, res=%#llx, status=%#x", __print_ctrl_name(__entry->ctrl), --- linux-riscv-5.8-5.8.0.orig/drivers/nvmem/core.c +++ linux-riscv-5.8-5.8.0/drivers/nvmem/core.c @@ -355,16 +355,14 @@ blocking_notifier_call_chain(&nvmem_notifier, NVMEM_CELL_ADD, cell); } -static int nvmem_cell_info_to_nvmem_cell(struct nvmem_device *nvmem, - const struct nvmem_cell_info *info, - struct nvmem_cell *cell) +static int nvmem_cell_info_to_nvmem_cell_nodup(struct nvmem_device *nvmem, + const struct nvmem_cell_info *info, + struct nvmem_cell *cell) { cell->nvmem = nvmem; cell->offset = info->offset; cell->bytes = info->bytes; - cell->name = kstrdup_const(info->name, GFP_KERNEL); - if (!cell->name) - return -ENOMEM; + cell->name = info->name; cell->bit_offset = info->bit_offset; cell->nbits = info->nbits; @@ -376,13 +374,30 @@ if (!IS_ALIGNED(cell->offset, nvmem->stride)) { dev_err(&nvmem->dev, "cell %s unaligned to nvmem stride %d\n", - cell->name, nvmem->stride); + cell->name ?: "", nvmem->stride); return -EINVAL; } return 0; } +static int nvmem_cell_info_to_nvmem_cell(struct nvmem_device *nvmem, + const struct nvmem_cell_info *info, + struct nvmem_cell *cell) +{ + int err; + + err = nvmem_cell_info_to_nvmem_cell_nodup(nvmem, info, cell); + if (err) + return err; + + cell->name = kstrdup_const(info->name, GFP_KERNEL); + if (!cell->name) + return -ENOMEM; + + return 0; +} + /** * nvmem_add_cells() - Add cell information to an nvmem device * @@ -524,7 +539,9 @@ for_each_child_of_node(parent, child) { addr = of_get_property(child, "reg", &len); - if (!addr || (len < 2 * sizeof(u32))) { + if (!addr) + continue; + if (len < 2 * sizeof(u32)) { dev_err(dev, "nvmem: invalid reg on %pOF\n", child); return -EINVAL; } @@ -555,6 +572,7 @@ cell->name, nvmem->stride); /* Cells already added will be freed later. */ kfree_const(cell->name); + of_node_put(cell->np); kfree(cell); return -EINVAL; } @@ -823,6 +841,7 @@ { struct device_node *nvmem_np; + struct nvmem_device *nvmem; int index = 0; if (id) @@ -832,7 +851,9 @@ if (!nvmem_np) return ERR_PTR(-ENOENT); - return __nvmem_device_get(nvmem_np, device_match_of_node); + nvmem = __nvmem_device_get(nvmem_np, device_match_of_node); + of_node_put(nvmem_np); + return nvmem; } EXPORT_SYMBOL_GPL(of_nvmem_device_get); #endif @@ -1433,7 +1454,7 @@ if (!nvmem) return -EINVAL; - rc = nvmem_cell_info_to_nvmem_cell(nvmem, info, &cell); + rc = nvmem_cell_info_to_nvmem_cell_nodup(nvmem, info, &cell); if (rc) return rc; @@ -1463,7 +1484,7 @@ if (!nvmem) return -EINVAL; - rc = nvmem_cell_info_to_nvmem_cell(nvmem, info, &cell); + rc = nvmem_cell_info_to_nvmem_cell_nodup(nvmem, info, &cell); if (rc) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/nvmem/qcom-spmi-sdam.c +++ linux-riscv-5.8-5.8.0/drivers/nvmem/qcom-spmi-sdam.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2017, 2020-2021, The Linux Foundation. All rights reserved. */ #include @@ -18,7 +18,6 @@ #define SDAM_PBS_TRIG_CLR 0xE6 struct sdam_chip { - struct platform_device *pdev; struct regmap *regmap; struct nvmem_config sdam_config; unsigned int base; @@ -65,7 +64,7 @@ size_t bytes) { struct sdam_chip *sdam = priv; - struct device *dev = &sdam->pdev->dev; + struct device *dev = sdam->sdam_config.dev; int rc; if (!sdam_is_valid(sdam, offset, bytes)) { @@ -86,7 +85,7 @@ size_t bytes) { struct sdam_chip *sdam = priv; - struct device *dev = &sdam->pdev->dev; + struct device *dev = sdam->sdam_config.dev; int rc; if (!sdam_is_valid(sdam, offset, bytes)) { --- linux-riscv-5.8-5.8.0.orig/drivers/nvmem/sprd-efuse.c +++ linux-riscv-5.8-5.8.0/drivers/nvmem/sprd-efuse.c @@ -378,8 +378,8 @@ return -ENOMEM; efuse->base = devm_platform_ioremap_resource(pdev, 0); - if (!efuse->base) - return -ENOMEM; + if (IS_ERR(efuse->base)) + return PTR_ERR(efuse->base); ret = of_hwspin_lock_get_id(np, 0); if (ret < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/of/address.c +++ linux-riscv-5.8-5.8.0/drivers/of/address.c @@ -980,6 +980,11 @@ /* Don't error out as we'd break some existing DTs */ continue; } + 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; + } dma_offset = range.cpu_addr - range.bus_addr; /* Take lower and upper limits */ @@ -1010,6 +1015,48 @@ } /** + * of_dma_get_max_cpu_address - Gets highest CPU address suitable for DMA + * @np: The node to start searching from or NULL to start from the root + * + * Gets the highest CPU physical address that is addressable by all DMA masters + * in the sub-tree pointed by np, or the whole tree if NULL is passed. If no + * DMA constrained device is found, it returns PHYS_ADDR_MAX. + */ +phys_addr_t __init of_dma_get_max_cpu_address(struct device_node *np) +{ + phys_addr_t max_cpu_addr = PHYS_ADDR_MAX; + struct of_range_parser parser; + phys_addr_t subtree_max_addr; + struct device_node *child; + struct of_range range; + const __be32 *ranges; + u64 cpu_end = 0; + int len; + + if (!np) + np = of_root; + + ranges = of_get_property(np, "dma-ranges", &len); + if (ranges && len) { + of_dma_range_parser_init(&parser, np); + for_each_of_range(&parser, &range) + if (range.cpu_addr + range.size > cpu_end) + cpu_end = range.cpu_addr + range.size - 1; + + if (max_cpu_addr > cpu_end) + max_cpu_addr = cpu_end; + } + + for_each_available_child_of_node(np, child) { + subtree_max_addr = of_dma_get_max_cpu_address(child); + if (max_cpu_addr > subtree_max_addr) + max_cpu_addr = subtree_max_addr; + } + + return max_cpu_addr; +} + +/** * of_dma_is_coherent - Check if device is coherent * @np: device node * @@ -1019,11 +1066,13 @@ */ bool of_dma_is_coherent(struct device_node *np) { - struct device_node *node = of_node_get(np); + struct device_node *node; if (IS_ENABLED(CONFIG_OF_DMA_DEFAULT_COHERENT)) return true; + node = of_node_get(np); + while (node) { if (of_property_read_bool(node, "dma-coherent")) { of_node_put(node); --- linux-riscv-5.8-5.8.0.orig/drivers/of/device.c +++ linux-riscv-5.8-5.8.0/drivers/of/device.c @@ -150,11 +150,9 @@ */ end = dma_addr + size - 1; mask = DMA_BIT_MASK(ilog2(end) + 1); + dev->bus_dma_limit = mask; dev->coherent_dma_mask &= mask; *dev->dma_mask &= mask; - /* ...but only set bus limit if we found valid dma-ranges earlier */ - if (!ret) - dev->bus_dma_limit = end; coherent = of_dma_is_coherent(np); dev_dbg(dev, "device is%sdma coherent\n", --- linux-riscv-5.8-5.8.0.orig/drivers/of/fdt.c +++ linux-riscv-5.8-5.8.0/drivers/of/fdt.c @@ -1149,8 +1149,16 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, bool nomap) { - if (nomap) - return memblock_remove(base, size); + if (nomap) { + /* + * If the memory is already reserved (by another region), we + * should not allow it to be marked nomap. + */ + if (memblock_is_region_reserved(base, size)) + return -EBUSY; + + return memblock_mark_nomap(base, size); + } return memblock_reserve(base, size); } --- linux-riscv-5.8-5.8.0.orig/drivers/of/of_reserved_mem.c +++ linux-riscv-5.8-5.8.0/drivers/of/of_reserved_mem.c @@ -200,6 +200,16 @@ if (ra->base > rb->base) return 1; + /* + * Put the dynamic allocations (address == 0, size == 0) before static + * allocations at address 0x0 so that overlap detection works + * correctly. + */ + if (ra->size < rb->size) + return -1; + if (ra->size > rb->size) + return 1; + return 0; } @@ -217,8 +227,7 @@ this = &reserved_mem[i]; next = &reserved_mem[i + 1]; - if (!(this->base && next->base)) - continue; + if (this->base + this->size > next->base) { phys_addr_t this_end, next_end; --- linux-riscv-5.8-5.8.0.orig/drivers/of/property.c +++ linux-riscv-5.8-5.8.0/drivers/of/property.c @@ -1221,7 +1221,16 @@ DEFINE_SIMPLE_PROP(extcon, "extcon", NULL) DEFINE_SUFFIX_PROP(regulators, "-supply", NULL) DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells") -DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells") + +static struct device_node *parse_gpios(struct device_node *np, + const char *prop_name, int index) +{ + if (!strcmp_suffix(prop_name, ",nr-gpios")) + return NULL; + + return parse_suffix_prop_cells(np, prop_name, index, "-gpios", + "#gpio-cells"); +} static struct device_node *parse_iommu_maps(struct device_node *np, const char *prop_name, int index) --- linux-riscv-5.8-5.8.0.orig/drivers/of/unittest.c +++ linux-riscv-5.8-5.8.0/drivers/of/unittest.c @@ -868,6 +868,26 @@ #endif } +static void __init of_unittest_dma_get_max_cpu_address(void) +{ + struct device_node *np; + phys_addr_t cpu_addr; + + if (!IS_ENABLED(CONFIG_OF_ADDRESS)) + return; + + np = of_find_node_by_path("/testcase-data/address-tests"); + if (!np) { + pr_err("missing testcase data\n"); + return; + } + + cpu_addr = of_dma_get_max_cpu_address(np); + unittest(cpu_addr == 0x4fffffff, + "of_dma_get_max_cpu_address: wrong CPU addr %pad (expecting %x)\n", + &cpu_addr, 0x4fffffff); +} + static void __init of_unittest_dma_ranges_one(const char *path, u64 expect_dma_addr, u64 expect_paddr, u64 expect_size) { @@ -3252,6 +3272,7 @@ of_unittest_changeset(); of_unittest_parse_interrupts(); of_unittest_parse_interrupts_extended(); + of_unittest_dma_get_max_cpu_address(); of_unittest_parse_dma_ranges(); of_unittest_pci_dma_ranges(); of_unittest_match_node(); --- linux-riscv-5.8-5.8.0.orig/drivers/opp/core.c +++ linux-riscv-5.8-5.8.0/drivers/opp/core.c @@ -862,8 +862,10 @@ * have OPP table for the device, while others don't and * opp_set_rate() just needs to behave like clk_set_rate(). */ - if (!_get_opp_count(opp_table)) - return 0; + if (!_get_opp_count(opp_table)) { + ret = 0; + goto put_opp_table; + } if (!opp_table->required_opp_tables && !opp_table->regulators && !opp_table->paths) { @@ -874,7 +876,7 @@ ret = _set_opp_bw(opp_table, NULL, dev, true); if (ret) - return ret; + goto put_opp_table; if (opp_table->regulator_enabled) { regulator_disable(opp_table->regulators[0]); @@ -901,10 +903,13 @@ /* Return early if nothing to do */ if (old_freq == freq) { - dev_dbg(dev, "%s: old/new frequencies (%lu Hz) are same, nothing to do\n", - __func__, freq); - ret = 0; - goto put_opp_table; + if (!opp_table->required_opp_tables && !opp_table->regulators && + !opp_table->paths) { + dev_dbg(dev, "%s: old/new frequencies (%lu Hz) are same, nothing to do\n", + __func__, freq); + ret = 0; + goto put_opp_table; + } } /* @@ -1124,6 +1129,10 @@ struct opp_device *opp_dev, *temp; int i; + /* Drop the lock as soon as we can */ + list_del(&opp_table->node); + mutex_unlock(&opp_table_lock); + _of_clear_opp_table(opp_table); /* Release clk */ @@ -1151,10 +1160,7 @@ mutex_destroy(&opp_table->genpd_virt_dev_lock); mutex_destroy(&opp_table->lock); - list_del(&opp_table->node); kfree(opp_table); - - mutex_unlock(&opp_table_lock); } void dev_pm_opp_put_opp_table(struct opp_table *opp_table) @@ -1260,13 +1266,19 @@ } EXPORT_SYMBOL_GPL(dev_pm_opp_remove); -void _opp_remove_all_static(struct opp_table *opp_table) +bool _opp_remove_all_static(struct opp_table *opp_table) { struct dev_pm_opp *opp, *tmp; + bool ret = true; mutex_lock(&opp_table->lock); - if (!opp_table->parsed_static_opps || --opp_table->parsed_static_opps) + if (!opp_table->parsed_static_opps) { + ret = false; + goto unlock; + } + + if (--opp_table->parsed_static_opps) goto unlock; list_for_each_entry_safe(opp, tmp, &opp_table->opp_list, node) { @@ -1276,6 +1288,8 @@ unlock: mutex_unlock(&opp_table->lock); + + return ret; } /** @@ -1905,6 +1919,9 @@ { int index; + if (!opp_table->genpd_virt_devs) + return; + for (index = 0; index < opp_table->required_opp_count; index++) { if (!opp_table->genpd_virt_devs[index]) continue; @@ -1951,6 +1968,9 @@ if (!opp_table) return ERR_PTR(-ENOMEM); + if (opp_table->genpd_virt_devs) + return opp_table; + /* * If the genpd's OPP table isn't already initialized, parsing of the * required-opps fail for dev. We should retry this after genpd's OPP @@ -2377,13 +2397,15 @@ return; } - _opp_remove_all_static(opp_table); + /* + * Drop the extra reference only if the OPP table was successfully added + * with dev_pm_opp_of_add_table() earlier. + **/ + if (_opp_remove_all_static(opp_table)) + dev_pm_opp_put_opp_table(opp_table); /* Drop reference taken by _find_opp_table() */ dev_pm_opp_put_opp_table(opp_table); - - /* Drop reference taken while the OPP table was added */ - dev_pm_opp_put_opp_table(opp_table); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/opp/of.c +++ linux-riscv-5.8-5.8.0/drivers/opp/of.c @@ -732,7 +732,6 @@ struct device *dev, struct device_node *np) { struct dev_pm_opp *new_opp; - u64 rate = 0; u32 val; int ret; bool rate_not_available = false; @@ -749,7 +748,8 @@ /* Check if the OPP supports hardware's hierarchy of versions or not */ if (!_opp_is_supported(dev, opp_table, np)) { - dev_dbg(dev, "OPP not supported by hardware: %llu\n", rate); + dev_dbg(dev, "OPP not supported by hardware: %lu\n", + new_opp->rate); goto free_opp; } --- linux-riscv-5.8-5.8.0.orig/drivers/opp/opp.h +++ linux-riscv-5.8-5.8.0/drivers/opp/opp.h @@ -212,7 +212,7 @@ /* Routines internal to opp core */ void dev_pm_opp_get(struct dev_pm_opp *opp); -void _opp_remove_all_static(struct opp_table *opp_table); +bool _opp_remove_all_static(struct opp_table *opp_table); void _get_opp_table_kref(struct opp_table *opp_table); int _get_opp_count(struct opp_table *opp_table); struct opp_table *_find_opp_table(struct device *dev); --- linux-riscv-5.8-5.8.0.orig/drivers/parisc/sba_iommu.c +++ linux-riscv-5.8-5.8.0/drivers/parisc/sba_iommu.c @@ -1270,7 +1270,7 @@ ** (one that doesn't overlap memory or LMMIO space) in the ** IBASE and IMASK registers. */ - ioc->ibase = READ_REG(ioc->ioc_hpa + IOC_IBASE); + ioc->ibase = READ_REG(ioc->ioc_hpa + IOC_IBASE) & ~0x1fffffULL; iova_space_size = ~(READ_REG(ioc->ioc_hpa + IOC_IMASK) & 0xFFFFFFFFUL) + 1; if ((ioc->ibase < 0xfed00000UL) && ((ioc->ibase + iova_space_size) > 0xfee00000UL)) { --- linux-riscv-5.8-5.8.0.orig/drivers/pci/access.c +++ linux-riscv-5.8-5.8.0/drivers/pci/access.c @@ -204,17 +204,13 @@ static DECLARE_WAIT_QUEUE_HEAD(pci_cfg_wait); static noinline void pci_wait_cfg(struct pci_dev *dev) + __must_hold(&pci_lock) { - DECLARE_WAITQUEUE(wait, current); - - __add_wait_queue(&pci_cfg_wait, &wait); do { - set_current_state(TASK_UNINTERRUPTIBLE); raw_spin_unlock_irq(&pci_lock); - schedule(); + wait_event(pci_cfg_wait, !dev->block_cfg_access); raw_spin_lock_irq(&pci_lock); } while (dev->block_cfg_access); - __remove_wait_queue(&pci_cfg_wait, &wait); } /* Returns 0 on success, negative values indicate error. */ --- linux-riscv-5.8-5.8.0.orig/drivers/pci/ats.c +++ linux-riscv-5.8-5.8.0/drivers/pci/ats.c @@ -325,6 +325,21 @@ return pdev->pasid_required; } + +/** + * pci_pri_supported - Check if PRI is supported. + * @pdev: PCI device structure + * + * Returns true if PRI capability is present, false otherwise. + */ +bool pci_pri_supported(struct pci_dev *pdev) +{ + /* VFs share the PF PRI */ + if (pci_physfn(pdev)->pri_cap) + return true; + return false; +} +EXPORT_SYMBOL_GPL(pci_pri_supported); #endif /* CONFIG_PCI_PRI */ #ifdef CONFIG_PCI_PASID --- linux-riscv-5.8-5.8.0.orig/drivers/pci/bus.c +++ linux-riscv-5.8-5.8.0/drivers/pci/bus.c @@ -322,12 +322,8 @@ dev->match_driver = true; retval = device_attach(&dev->dev); - if (retval < 0 && retval != -EPROBE_DEFER) { + if (retval < 0 && retval != -EPROBE_DEFER) pci_warn(dev, "device attach failed (%d)\n", retval); - pci_proc_detach_device(dev); - pci_remove_sysfs_dev_files(dev); - return; - } pci_dev_assign_added(dev, true); } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/Kconfig @@ -286,6 +286,14 @@ Say Y here if you want to enable PCI controller support on Loongson systems. +config PCIE_MICROSEMI + bool "Microsemi AXI PCIe host bridge support" + depends on PCI_MSI && OF + help + Say 'Y' here if you want kernel to support the Microsemi AXI PCIe + Host Bridge driver. + + source "drivers/pci/controller/dwc/Kconfig" source "drivers/pci/controller/mobiveil/Kconfig" source "drivers/pci/controller/cadence/Kconfig" --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/Makefile +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o +obj-$(CONFIG_PCIE_MICROSEMI) += pcie-microsemi.o obj-$(CONFIG_VMD) += vmd.o obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/cadence/pcie-cadence-ep.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/cadence/pcie-cadence-ep.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include "pcie-cadence.h" @@ -440,8 +439,7 @@ epc = devm_pci_epc_create(dev, &cdns_pcie_epc_ops); if (IS_ERR(epc)) { dev_err(dev, "failed to create epc device\n"); - ret = PTR_ERR(epc); - goto err_init; + return PTR_ERR(epc); } epc_set_drvdata(epc, ep); @@ -453,7 +451,7 @@ resource_size(pcie->mem_res), PAGE_SIZE); if (ret < 0) { dev_err(dev, "failed to initialize the memory space\n"); - goto err_init; + return ret; } ep->irq_cpu_addr = pci_epc_mem_alloc_addr(epc, &ep->irq_phys_addr, @@ -472,8 +470,5 @@ free_epc_mem: pci_epc_mem_exit(epc); - err_init: - pm_runtime_put_sync(dev); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/cadence/pcie-cadence-host.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/cadence/pcie-cadence-host.c @@ -7,7 +7,6 @@ #include #include #include -#include #include "pcie-cadence.h" @@ -70,6 +69,7 @@ { struct cdns_pcie *pcie = &rc->pcie; u32 value, ctrl; + u32 id; /* * Set the root complex BAR configuration register: @@ -89,8 +89,12 @@ cdns_pcie_writel(pcie, CDNS_PCIE_LM_RC_BAR_CFG, value); /* Set root port configuration space */ - if (rc->vendor_id != 0xffff) - cdns_pcie_rp_writew(pcie, PCI_VENDOR_ID, rc->vendor_id); + if (rc->vendor_id != 0xffff) { + id = CDNS_PCIE_LM_ID_VENDOR(rc->vendor_id) | + CDNS_PCIE_LM_ID_SUBSYS(rc->vendor_id); + cdns_pcie_writel(pcie, CDNS_PCIE_LM_ID, id); + } + if (rc->device_id != 0xffff) cdns_pcie_rp_writew(pcie, PCI_DEVICE_ID, rc->device_id); @@ -250,7 +254,7 @@ ret = cdns_pcie_host_init(dev, &resources, rc); if (ret) - goto err_init; + return ret; list_splice_init(&resources, &bridge->windows); bridge->dev.parent = dev; @@ -268,8 +272,5 @@ err_host_probe: pci_free_resource_list(&resources); - err_init: - pm_runtime_put_sync(dev); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/dwc/pcie-designware-ep.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -505,7 +505,8 @@ u32 reg; int i; - hdr_type = dw_pcie_readb_dbi(pci, PCI_HEADER_TYPE); + hdr_type = dw_pcie_readb_dbi(pci, PCI_HEADER_TYPE) & + PCI_HEADER_TYPE_MASK; if (hdr_type != PCI_HEADER_TYPE_NORMAL) { dev_err(pci->dev, "PCIe controller is not set to EP mode (hdr_type:0x%x)!\n", --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/dwc/pcie-qcom.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/dwc/pcie-qcom.c @@ -45,7 +45,13 @@ #define PCIE_CAP_CPL_TIMEOUT_DISABLE 0x10 #define PCIE20_PARF_PHY_CTRL 0x40 +#define PHY_CTRL_PHY_TX0_TERM_OFFSET_MASK GENMASK(20, 16) +#define PHY_CTRL_PHY_TX0_TERM_OFFSET(x) ((x) << 16) + #define PCIE20_PARF_PHY_REFCLK 0x4C +#define PHY_REFCLK_SSP_EN BIT(16) +#define PHY_REFCLK_USE_PAD BIT(12) + #define PCIE20_PARF_DBI_BASE_ADDR 0x168 #define PCIE20_PARF_SLV_ADDR_SPACE_SIZE 0x16C #define PCIE20_PARF_MHI_CLOCK_RESET_CTRL 0x174 @@ -77,6 +83,18 @@ #define DBI_RO_WR_EN 1 #define PERST_DELAY_US 1000 +/* PARF registers */ +#define PCIE20_PARF_PCS_DEEMPH 0x34 +#define PCS_DEEMPH_TX_DEEMPH_GEN1(x) ((x) << 16) +#define PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(x) ((x) << 8) +#define PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(x) ((x) << 0) + +#define PCIE20_PARF_PCS_SWING 0x38 +#define PCS_SWING_TX_SWING_FULL(x) ((x) << 8) +#define PCS_SWING_TX_SWING_LOW(x) ((x) << 0) + +#define PCIE20_PARF_CONFIG_BITS 0x50 +#define PHY_RX0_EQ(x) ((x) << 24) #define PCIE20_v3_PARF_SLV_ADDR_SPACE_SIZE 0x358 #define SLV_ADDR_SPACE_SZ 0x10000000 @@ -88,11 +106,14 @@ struct clk *iface_clk; struct clk *core_clk; struct clk *phy_clk; + struct clk *aux_clk; + struct clk *ref_clk; struct reset_control *pci_reset; struct reset_control *axi_reset; struct reset_control *ahb_reset; struct reset_control *por_reset; struct reset_control *phy_reset; + struct reset_control *ext_reset; struct regulator_bulk_data supplies[QCOM_PCIE_2_1_0_MAX_SUPPLY]; }; @@ -246,6 +267,14 @@ if (IS_ERR(res->phy_clk)) return PTR_ERR(res->phy_clk); + res->aux_clk = devm_clk_get_optional(dev, "aux"); + if (IS_ERR(res->aux_clk)) + return PTR_ERR(res->aux_clk); + + res->ref_clk = devm_clk_get_optional(dev, "ref"); + if (IS_ERR(res->ref_clk)) + return PTR_ERR(res->ref_clk); + res->pci_reset = devm_reset_control_get_exclusive(dev, "pci"); if (IS_ERR(res->pci_reset)) return PTR_ERR(res->pci_reset); @@ -262,6 +291,10 @@ if (IS_ERR(res->por_reset)) return PTR_ERR(res->por_reset); + res->ext_reset = devm_reset_control_get_optional_exclusive(dev, "ext"); + if (IS_ERR(res->ext_reset)) + return PTR_ERR(res->ext_reset); + res->phy_reset = devm_reset_control_get_exclusive(dev, "phy"); return PTR_ERR_OR_ZERO(res->phy_reset); } @@ -270,14 +303,20 @@ { struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; + clk_disable_unprepare(res->phy_clk); reset_control_assert(res->pci_reset); reset_control_assert(res->axi_reset); reset_control_assert(res->ahb_reset); reset_control_assert(res->por_reset); - reset_control_assert(res->pci_reset); + reset_control_assert(res->ext_reset); + reset_control_assert(res->phy_reset); clk_disable_unprepare(res->iface_clk); clk_disable_unprepare(res->core_clk); - clk_disable_unprepare(res->phy_clk); + clk_disable_unprepare(res->aux_clk); + clk_disable_unprepare(res->ref_clk); + + writel(1, pcie->parf + PCIE20_PARF_PHY_CTRL); + regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); } @@ -286,9 +325,20 @@ struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0; struct dw_pcie *pci = pcie->pci; struct device *dev = pci->dev; + struct device_node *node = dev->of_node; u32 val; int ret; + /* reset the PCIe interface as uboot can leave it undefined state */ + reset_control_assert(res->pci_reset); + reset_control_assert(res->axi_reset); + reset_control_assert(res->ahb_reset); + reset_control_assert(res->por_reset); + 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"); @@ -307,32 +357,66 @@ goto err_assert_ahb; } - ret = clk_prepare_enable(res->phy_clk); - if (ret) { - dev_err(dev, "cannot prepare/enable phy clock\n"); - goto err_clk_phy; - } - ret = clk_prepare_enable(res->core_clk); if (ret) { dev_err(dev, "cannot prepare/enable core clock\n"); goto err_clk_core; } + ret = clk_prepare_enable(res->aux_clk); + if (ret) { + dev_err(dev, "cannot prepare/enable aux clock\n"); + goto err_clk_aux; + } + + ret = clk_prepare_enable(res->ref_clk); + if (ret) { + dev_err(dev, "cannot prepare/enable ref clock\n"); + goto err_clk_ref; + } + ret = reset_control_deassert(res->ahb_reset); if (ret) { dev_err(dev, "cannot deassert ahb reset\n"); goto err_deassert_ahb; } + ret = reset_control_deassert(res->ext_reset); + if (ret) { + dev_err(dev, "cannot deassert ext reset\n"); + goto err_deassert_ahb; + } + /* enable PCIe clocks and resets */ val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL); val &= ~BIT(0); writel(val, pcie->parf + PCIE20_PARF_PHY_CTRL); + if (of_device_is_compatible(node, "qcom,pcie-ipq8064")) { + writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) | + PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) | + PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34), + pcie->parf + PCIE20_PARF_PCS_DEEMPH); + writel(PCS_SWING_TX_SWING_FULL(120) | + PCS_SWING_TX_SWING_LOW(120), + pcie->parf + PCIE20_PARF_PCS_SWING); + writel(PHY_RX0_EQ(4), pcie->parf + PCIE20_PARF_CONFIG_BITS); + } + + if (of_device_is_compatible(node, "qcom,pcie-ipq8064")) { + /* set TX termination offset */ + val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL); + val &= ~PHY_CTRL_PHY_TX0_TERM_OFFSET_MASK; + val |= PHY_CTRL_PHY_TX0_TERM_OFFSET(7); + writel(val, pcie->parf + PCIE20_PARF_PHY_CTRL); + } + /* enable external reference clock */ val = readl(pcie->parf + PCIE20_PARF_PHY_REFCLK); - val |= BIT(16); + /* USE_PAD is required only for ipq806x */ + if (!of_device_is_compatible(node, "qcom,pcie-apq8064")) + val &= ~PHY_REFCLK_USE_PAD; + val |= PHY_REFCLK_SSP_EN; writel(val, pcie->parf + PCIE20_PARF_PHY_REFCLK); ret = reset_control_deassert(res->phy_reset); @@ -359,6 +443,12 @@ return ret; } + ret = clk_prepare_enable(res->phy_clk); + if (ret) { + dev_err(dev, "cannot prepare/enable phy clock\n"); + goto err_deassert_ahb; + } + /* wait for clock acquisition */ usleep_range(1000, 1500); @@ -372,10 +462,12 @@ return 0; err_deassert_ahb: + clk_disable_unprepare(res->ref_clk); +err_clk_ref: + clk_disable_unprepare(res->aux_clk); +err_clk_aux: clk_disable_unprepare(res->core_clk); err_clk_core: - clk_disable_unprepare(res->phy_clk); -err_clk_phy: clk_disable_unprepare(res->iface_clk); err_assert_ahb: regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pci-aardvark.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pci-aardvark.c @@ -9,7 +9,7 @@ */ #include -#include +#include #include #include #include @@ -608,7 +608,7 @@ * Initialize the configuration space of the PCI-to-PCI bridge * associated with the given PCIe interface. */ -static void advk_sw_pci_bridge_init(struct advk_pcie *pcie) +static int advk_sw_pci_bridge_init(struct advk_pcie *pcie) { struct pci_bridge_emul *bridge = &pcie->bridge; @@ -634,8 +634,7 @@ bridge->data = pcie; bridge->ops = &advk_pci_bridge_emul_ops; - pci_bridge_emul_init(bridge, 0); - + return pci_bridge_emul_init(bridge, 0); } static bool advk_pcie_valid_device(struct advk_pcie *pcie, struct pci_bus *bus, @@ -1069,7 +1068,9 @@ } ret = phy_power_on(pcie->phy); - if (ret) { + if (ret == -EOPNOTSUPP) { + dev_warn(&pcie->pdev->dev, "PHY unsupported by firmware\n"); + } else if (ret) { phy_exit(pcie->phy); return ret; } @@ -1169,7 +1170,11 @@ advk_pcie_setup_hw(pcie); - advk_sw_pci_bridge_init(pcie); + ret = advk_sw_pci_bridge_init(pcie); + if (ret) { + dev_err(dev, "Failed to register emulated root PCI bridge\n"); + return ret; + } ret = advk_pcie_init_irq_domain(pcie); if (ret) { --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pci-hyperv.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pci-hyperv.c @@ -1275,11 +1275,25 @@ exit_unlock: spin_unlock_irqrestore(&hbus->retarget_msi_interrupt_lock, flags); - if (res) { + /* + * During hibernation, when a CPU is offlined, the kernel tries + * to move the interrupt to the remaining CPUs that haven't + * been offlined yet. In this case, the below hv_do_hypercall() + * always fails since the vmbus channel has been closed: + * refer to cpu_disable_common() -> fixup_irqs() -> + * irq_migrate_all_off_this_cpu() -> migrate_one_irq(). + * + * Suppress the error message for hibernation because the failure + * during hibernation does not matter (at this time all the devices + * have been frozen). Note: the correct affinity info is still updated + * into the irqdata data structure in migrate_one_irq() -> + * irq_do_set_affinity() -> hv_set_affinity(), so later when the VM + * resumes, hv_pci_restore_msi_state() is able to correctly restore + * the interrupt with the correct affinity. + */ + if (res && hbus->state != hv_pcibus_removing) dev_err(&hbus->hdev->device, "%s() failed: %#llx", __func__, res); - return; - } pci_msi_unmask_irq(data); } @@ -3368,6 +3382,34 @@ return 0; } +static int hv_pci_restore_msi_msg(struct pci_dev *pdev, void *arg) +{ + struct msi_desc *entry; + struct irq_data *irq_data; + + for_each_pci_msi_entry(entry, pdev) { + irq_data = irq_get_irq_data(entry->irq); + if (WARN_ON_ONCE(!irq_data)) + return -EINVAL; + + hv_compose_msi_msg(irq_data, &entry->msg); + } + + return 0; +} + +/* + * Upon resume, pci_restore_msi_state() -> ... -> __pci_write_msi_msg() + * directly writes the MSI/MSI-X registers via MMIO, but since Hyper-V + * doesn't trap and emulate the MMIO accesses, here hv_compose_msi_msg() + * must be used to ask Hyper-V to re-create the IOMMU Interrupt Remapping + * Table entries. + */ +static void hv_pci_restore_msi_state(struct hv_pcibus_device *hbus) +{ + pci_walk_bus(hbus->pci_bus, hv_pci_restore_msi_msg, NULL); +} + static int hv_pci_resume(struct hv_device *hdev) { struct hv_pcibus_device *hbus = hv_get_drvdata(hdev); @@ -3401,6 +3443,8 @@ prepopulate_bars(hbus); + hv_pci_restore_msi_state(hbus); + hbus->state = hv_pcibus_installed; return 0; out: --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pci-loongson.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pci-loongson.c @@ -37,11 +37,11 @@ { dev->class = PCI_CLASS_BRIDGE_PCI << 8; } -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LOONGSON, +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_0, bridge_class_quirk); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LOONGSON, +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_1, bridge_class_quirk); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LOONGSON, +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, bridge_class_quirk); static void system_bus_quirk(struct pci_dev *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pci-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pci-tegra.c @@ -181,13 +181,6 @@ #define AFI_PEXBIAS_CTRL_0 0x168 -#define RP_PRIV_XP_DL 0x00000494 -#define RP_PRIV_XP_DL_GEN2_UPD_FC_TSHOLD (0x1ff << 1) - -#define RP_RX_HDR_LIMIT 0x00000e00 -#define RP_RX_HDR_LIMIT_PW_MASK (0xff << 8) -#define RP_RX_HDR_LIMIT_PW (0x0e << 8) - #define RP_ECTL_2_R1 0x00000e84 #define RP_ECTL_2_R1_RX_CTLE_1C_MASK 0xffff @@ -323,7 +316,6 @@ bool program_uphy; bool update_clamp_threshold; bool program_deskew_time; - bool raw_violation_fixup; bool update_fc_timer; bool has_cache_bars; struct { @@ -659,23 +651,6 @@ writel(value, port->base + RP_VEND_CTL0); } - /* Fixup for read after write violation. */ - if (soc->raw_violation_fixup) { - value = readl(port->base + RP_RX_HDR_LIMIT); - value &= ~RP_RX_HDR_LIMIT_PW_MASK; - value |= RP_RX_HDR_LIMIT_PW; - writel(value, port->base + RP_RX_HDR_LIMIT); - - value = readl(port->base + RP_PRIV_XP_DL); - value |= RP_PRIV_XP_DL_GEN2_UPD_FC_TSHOLD; - writel(value, port->base + RP_PRIV_XP_DL); - - value = readl(port->base + RP_VEND_XP); - value &= ~RP_VEND_XP_UPDATE_FC_THRESHOLD_MASK; - value |= soc->update_fc_threshold; - writel(value, port->base + RP_VEND_XP); - } - if (soc->update_fc_timer) { value = readl(port->base + RP_VEND_XP); value &= ~RP_VEND_XP_UPDATE_FC_THRESHOLD_MASK; @@ -2416,7 +2391,6 @@ .program_uphy = true, .update_clamp_threshold = false, .program_deskew_time = false, - .raw_violation_fixup = false, .update_fc_timer = false, .has_cache_bars = true, .ectl.enable = false, @@ -2446,7 +2420,6 @@ .program_uphy = true, .update_clamp_threshold = false, .program_deskew_time = false, - .raw_violation_fixup = false, .update_fc_timer = false, .has_cache_bars = false, .ectl.enable = false, @@ -2459,8 +2432,6 @@ .pads_pll_ctl = PADS_PLL_CTL_TEGRA30, .tx_ref_sel = PADS_PLL_CTL_TXCLKREF_BUF_EN, .pads_refclk_cfg0 = 0x44ac44ac, - /* FC threshold is bit[25:18] */ - .update_fc_threshold = 0x03fc0000, .has_pex_clkreq_en = true, .has_pex_bias_ctrl = true, .has_intr_prsnt_sense = true, @@ -2470,7 +2441,6 @@ .program_uphy = true, .update_clamp_threshold = true, .program_deskew_time = false, - .raw_violation_fixup = true, .update_fc_timer = false, .has_cache_bars = false, .ectl.enable = false, @@ -2494,7 +2464,6 @@ .program_uphy = true, .update_clamp_threshold = true, .program_deskew_time = true, - .raw_violation_fixup = false, .update_fc_timer = true, .has_cache_bars = false, .ectl = { @@ -2536,7 +2505,6 @@ .program_uphy = false, .update_clamp_threshold = false, .program_deskew_time = false, - .raw_violation_fixup = false, .update_fc_timer = false, .has_cache_bars = false, .ectl.enable = false, --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pci-xgene-msi.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pci-xgene-msi.c @@ -384,13 +384,9 @@ if (!msi_group->gic_irq) continue; - irq_set_chained_handler(msi_group->gic_irq, - xgene_msi_isr); - err = irq_set_handler_data(msi_group->gic_irq, msi_group); - if (err) { - pr_err("failed to register GIC IRQ handler\n"); - return -EINVAL; - } + irq_set_chained_handler_and_data(msi_group->gic_irq, + xgene_msi_isr, msi_group); + /* * Statically allocate MSI GIC IRQs to each CPU core. * With 8-core X-Gene v1, 2 MSI GIC IRQs are allocated --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-brcmstb.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-brcmstb.c @@ -716,6 +716,7 @@ usleep_range(100, 200); /* Set SCB_MAX_BURST_SIZE, CFG_READ_UR_MODE, SCB_ACCESS_EN */ + tmp = readl(base + PCIE_MISC_MISC_CTRL); u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK); u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK); u32p_replace_bits(&tmp, PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128, --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-iproc-msi.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-iproc-msi.c @@ -209,15 +209,20 @@ struct iproc_msi *msi = irq_data_get_irq_chip_data(data); int target_cpu = cpumask_first(mask); int curr_cpu; + int ret; curr_cpu = hwirq_to_cpu(msi, data->hwirq); if (curr_cpu == target_cpu) - return IRQ_SET_MASK_OK_DONE; + ret = IRQ_SET_MASK_OK_DONE; + else { + /* steer MSI to the target CPU */ + data->hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq) + target_cpu; + ret = IRQ_SET_MASK_OK; + } - /* steer MSI to the target CPU */ - data->hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq) + target_cpu; + irq_data_update_effective_affinity(data, cpumask_of(target_cpu)); - return IRQ_SET_MASK_OK; + return ret; } static void iproc_msi_irq_compose_msi_msg(struct irq_data *data, --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-iproc.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-iproc.c @@ -192,8 +192,15 @@ .imap_window_offset = 0x4, }, { - /* IARR1/IMAP1 (currently unused) */ - .type = IPROC_PCIE_IB_MAP_INVALID, + /* IARR1/IMAP1 */ + .type = IPROC_PCIE_IB_MAP_MEM, + .size_unit = SZ_1M, + .region_sizes = { 8 }, + .nr_sizes = 1, + .nr_windows = 8, + .imap_addr_offset = 0x4, + .imap_window_offset = 0x8, + }, { /* IARR2/IMAP2 */ @@ -307,7 +314,7 @@ }; /* iProc PCIe PAXB BCMA registers */ -static const u16 iproc_pcie_reg_paxb_bcma[] = { +static const u16 iproc_pcie_reg_paxb_bcma[IPROC_PCIE_MAX_NUM_REG] = { [IPROC_PCIE_CLK_CTRL] = 0x000, [IPROC_PCIE_CFG_IND_ADDR] = 0x120, [IPROC_PCIE_CFG_IND_DATA] = 0x124, @@ -318,7 +325,7 @@ }; /* iProc PCIe PAXB registers */ -static const u16 iproc_pcie_reg_paxb[] = { +static const u16 iproc_pcie_reg_paxb[IPROC_PCIE_MAX_NUM_REG] = { [IPROC_PCIE_CLK_CTRL] = 0x000, [IPROC_PCIE_CFG_IND_ADDR] = 0x120, [IPROC_PCIE_CFG_IND_DATA] = 0x124, @@ -334,7 +341,7 @@ }; /* iProc PCIe PAXB v2 registers */ -static const u16 iproc_pcie_reg_paxb_v2[] = { +static const u16 iproc_pcie_reg_paxb_v2[IPROC_PCIE_MAX_NUM_REG] = { [IPROC_PCIE_CLK_CTRL] = 0x000, [IPROC_PCIE_CFG_IND_ADDR] = 0x120, [IPROC_PCIE_CFG_IND_DATA] = 0x124, @@ -351,6 +358,8 @@ [IPROC_PCIE_OMAP3] = 0xdf8, [IPROC_PCIE_IARR0] = 0xd00, [IPROC_PCIE_IMAP0] = 0xc00, + [IPROC_PCIE_IARR1] = 0xd08, + [IPROC_PCIE_IMAP1] = 0xd70, [IPROC_PCIE_IARR2] = 0xd10, [IPROC_PCIE_IMAP2] = 0xcc0, [IPROC_PCIE_IARR3] = 0xe00, @@ -363,7 +372,7 @@ }; /* iProc PCIe PAXC v1 registers */ -static const u16 iproc_pcie_reg_paxc[] = { +static const u16 iproc_pcie_reg_paxc[IPROC_PCIE_MAX_NUM_REG] = { [IPROC_PCIE_CLK_CTRL] = 0x000, [IPROC_PCIE_CFG_IND_ADDR] = 0x1f0, [IPROC_PCIE_CFG_IND_DATA] = 0x1f4, @@ -372,7 +381,7 @@ }; /* iProc PCIe PAXC v2 registers */ -static const u16 iproc_pcie_reg_paxc_v2[] = { +static const u16 iproc_pcie_reg_paxc_v2[IPROC_PCIE_MAX_NUM_REG] = { [IPROC_PCIE_MSI_GIC_MODE] = 0x050, [IPROC_PCIE_MSI_BASE_ADDR] = 0x074, [IPROC_PCIE_MSI_WINDOW_SIZE] = 0x078, --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-mediatek.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-mediatek.c @@ -1049,14 +1049,14 @@ err = of_pci_get_devfn(child); if (err < 0) { dev_err(dev, "failed to parse devfn: %d\n", err); - return err; + goto error_put_node; } slot = PCI_SLOT(err); err = mtk_pcie_parse_port(pcie, child, slot); if (err) - return err; + goto error_put_node; } err = mtk_pcie_subsys_powerup(pcie); @@ -1072,6 +1072,9 @@ mtk_pcie_subsys_powerdown(pcie); return 0; +error_put_node: + of_node_put(child); + return err; } static int mtk_pcie_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-microsemi.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-microsemi.c @@ -0,0 +1,753 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * PCIe host controller driver for Microsemi AXI PCIe Bridge + * + * Copyright (c) 2018 - 2019 Microsemi Corporation. + * + * Based on: + * pcie-rcar.c + * pcie-xilinx.c + * pcie-altera.c + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../pci.h" + +/* ECAM definitions */ +#define ECAM_BUS_NUM_SHIFT 20 +#define ECAM_DEV_NUM_SHIFT 12 + +/* Number of MSI IRQs */ +#define MICROSEMI_NUM_MSI_IRQS 32 +#define MICROSEMI_NUM_MSI_IRQS_CODED 5 + +/* PCIe Bridge Phy and Controller Phy offsets */ +#define MICROSEMI_PCIE0_BRIDGE_ADDR 0x00004000u +#define MICROSEMI_PCIE0_CTRL_ADDR 0x00006000u + +#define MICROSEMI_PCIE1_BRIDGE_ADDR 0x00008000u +#define MICROSEMI_PCIE1_CTRL_ADDR 0x0000a000u + +/* PCIe Controller Phy Regs */ +#define MICROSEMI_SEC_ERROR_INT 0x28 +#define SEC_ERROR_INT_TX_RAM_SEC_ERR_INT GENMASK(3, 0) +#define SEC_ERROR_INT_RX_RAM_SEC_ERR_INT GENMASK(7, 4) +#define SEC_ERROR_INT_PCIE2AXI_RAM_SEC_ERR_INT GENMASK(11, 8) +#define SEC_ERROR_INT_AXI2PCIE_RAM_SEC_ERR_INT GENMASK(15, 12) +#define MICROSEMI_SEC_ERROR_INT_MASK 0x2c +#define MICROSEMI_DED_ERROR_INT 0x30 +#define DED_ERROR_INT_TX_RAM_DED_ERR_INT GENMASK(3, 0) +#define DED_ERROR_INT_RX_RAM_DED_ERR_INT GENMASK(7, 4) +#define DED_ERROR_INT_PCIE2AXI_RAM_DED_ERR_INT GENMASK(11, 8) +#define DED_ERROR_INT_AXI2PCIE_RAM_DED_ERR_INT GENMASK(15, 12) +#define MICROSEMI_DED_ERROR_INT_MASK 0x34 +#define MICROSEMI_ECC_CONTROL 0x38 +#define ECC_CONTROL_AXI2PCIE_RAM_ECC_BYPASS BIT(27) +#define ECC_CONTROL_PCIE2AXI_RAM_ECC_BYPASS BIT(26) +#define ECC_CONTROL_RX_RAM_ECC_BYPASS BIT(25) +#define ECC_CONTROL_TX_RAM_ECC_BYPASS BIT(24) +#define MICROSEMI_LTSSM_STATE 0x5c +#define MICROSEMI_LTSSM_L0_STATE 0x10 +#define MICROSEMI_PCIE_EVENT_INT 0x14c +#define PCIE_EVENT_INT_L2_EXIT_INT BIT(0) +#define PCIE_EVENT_INT_HOTRST_EXIT_INT BIT(1) +#define PCIE_EVENT_INT_DLUP_EXIT_INT BIT(2) +#define PCIE_EVENT_INT_L2_EXIT_INT_MASK BIT(16) +#define PCIE_EVENT_INT_HOTRST_EXIT_INT_MASK BIT(17) +#define PCIE_EVENT_INT_DLUP_EXIT_INT_MASK BIT(18) + +/* PCIe Bridge Phy Regs */ +#define MICROSEMI_PCIE_PCI_IDS_DW1 0x9c +#define MICROSEMI_IMASK_LOCAL 0x180 +#define MICROSEMI_PCIE_LOCAL_INT_ENABLE 0x0f000000u +#define MICROSEMI_PCI_INTS 0x0f000000u +#define MICROSEMI_PM_MSI_INT_SHIFT 24 +#define MICROSEMI_PCIE_ENABLE_MSI 0x10000000u +#define MICROSEMI_MSI_INT 0x10000000u +#define MICROSEMI_MSI_INT_SHIFT 28 +#define MICROSEMI_ISTATUS_LOCAL 0x184 +#define MICROSEMI_IMASK_HOST 0x188 +#define MICROSEMI_ISTATUS_HOST 0x18c +#define MICROSEMI_ISTATUS_MSI 0x194 + +/* PCIe AXI slave table init defines */ +#define MICROSEMI_ATR0_AXI4_SLV0_SRCADDR_PARAM 0x800u +#define ATR_SIZE_SHIFT 1 +#define ATR_IMPL_ENABLE 1 +#define MICROSEMI_ATR0_AXI4_SLV0_SRC_ADDR 0x804u +#define MICROSEMI_ATR0_AXI4_SLV0_TRSL_ADDR_LSB 0x808u +#define MICROSEMI_ATR0_AXI4_SLV0_TRSL_ADDR_UDW 0x80cu +#define MICROSEMI_ATR0_AXI4_SLV0_TRSL_PARAM 0x810u +#define MICROSEMI_PCIE_TX_RX_INTERFACE 0x00000000u +#define MICROSEMI_PCIE_CONFIG_INTERFACE 0x00000001u + +#define MICROSEMI_ATR0_AXI4_SLV_SIZE 32 + +/* PCIe Master table init defines */ +#define MICROSEMI_ATR0_PCIE_WIN0_SRCADDR_31_12 0x600u +#define MICROSEMI_ATR0_PCIE_WIN0_SIZE 0x1f +#define MICROSEMI_ATR0_PCIE_WIN0_SIZE_SHIFT 1 +#define MICROSEMI_ATR0_PCIE_WIN0_SRCADDR_63_32 0x604u + +#define MICROSEMI_MSI_MSG_ADDR 0x190u + +/* PCIe Config space MSI capability structure */ +#define MSI_CAP_CTRL_OFFSET 0xe0u +#define MSI_ENABLE (0x01u << 16) +#define MSI_ENABLE_MULTI (MICROSEMI_NUM_MSI_IRQS_CODED << 20) +#define MSI_MSG_ADDR_OFFSET 0xe4u +#define MSI_MSG_UPPER_ADDR_OFFSET 0xe8u +#define MSI_MSG_DATA_OFFSET 0xf0u + +/** + * struct microsemi_pcie_port - PCIe port information + * @pcie_base_addr: IO Mapped Register Base + * @axi_base_addr: AMBA Mapped Register Base + * @irq: Interrupt number + * @root_busno: Root Bus number + * @dev: Device pointer + * @msi_domain: MSI IRQ domain pointer + * @leg_domain: Legacy IRQ domain pointer + * @resources: Bus Resources + */ +struct microsemi_pcie_port { + struct platform_device *pdev; + void __iomem *pcie_base_addr; + void __iomem *axi_base_addr; + void __iomem *bridge_base_addr; + void __iomem *ctrl_base_addr; + int bridge; + u32 irq; + u8 root_busno; + struct device *dev; + struct irq_domain *msi_domain; + struct irq_domain *leg_domain; + struct list_head resources; + struct mutex lock; /* protect bitmap variable */ + DECLARE_BITMAP(msi_irq_in_use, MICROSEMI_NUM_MSI_IRQS); +}; + +static inline u32 pcie_read(struct microsemi_pcie_port *port, u32 reg) +{ + return readl(port->pcie_base_addr + reg); +} + +static inline void pcie_write(struct microsemi_pcie_port *port, + u32 val, u32 reg) +{ + writel(val, port->pcie_base_addr + reg); +} + +static void microsemi_pcie_enable(struct microsemi_pcie_port *port) +{ + u32 enb; + + enb = readl(port->bridge_base_addr + MICROSEMI_LTSSM_STATE); + enb |= MICROSEMI_LTSSM_L0_STATE; + writel(enb, port->bridge_base_addr + MICROSEMI_LTSSM_STATE); +} + +/** + * microsemi_pcie_valid_device - Check if a valid device is present on bus + * @bus: PCI Bus structure + * @devfn: device/function + * + * Return: 'true' on success and 'false' if invalid device is found + */ +static bool microsemi_pcie_valid_device(struct pci_bus *bus, unsigned int devfn) +{ + struct microsemi_pcie_port *port = bus->sysdata; + + /* Only one device down on each root port */ + if (bus->number == port->root_busno && devfn > 0) + return false; + + return true; +} + +/** + * microsemi_pcie_map_bus - Get configuration base + * @bus: PCI Bus structure + * @devfn: Device/function + * @where: Offset from base + * + * Return: Base address of the configuration space needed to be + * accessed. + */ +static void __iomem *microsemi_pcie_map_bus(struct pci_bus *bus, + unsigned int devfn, int where) +{ + struct microsemi_pcie_port *port = bus->sysdata; + int relbus; + + if (!microsemi_pcie_valid_device(bus, devfn)) + return NULL; + + relbus = (bus->number << ECAM_BUS_NUM_SHIFT) | + (devfn << ECAM_DEV_NUM_SHIFT); + + return port->pcie_base_addr + relbus + where; +} + +/* PCIe operations */ +static struct pci_ops microsemi_pcie_ops = { + .map_bus = microsemi_pcie_map_bus, + .read = pci_generic_config_read, + .write = pci_generic_config_write, +}; + +/* MSI functions */ + +/** + * microsemi_pcie_destroy_msi - Free MSI number + * @irq: IRQ to be freed + */ +static void microsemi_pcie_destroy_msi(unsigned int irq) +{ + struct microsemi_pcie_port *port = + msi_desc_to_pci_sysdata(irq_get_msi_desc(irq)); + irq_hw_number_t hwirq = irqd_to_hwirq(irq_get_irq_data(irq)); + + if (!port) + return; + + if (!test_bit(hwirq, port->msi_irq_in_use)) + dev_err(port->dev, "trying to free unused MSI%d\n", irq); + else + clear_bit(hwirq, port->msi_irq_in_use); +} + +/** + * microsemi_pcie_assign_msi - Allocate MSI number + * + * Return: A valid IRQ on success and error value on failure. + */ +static int microsemi_pcie_assign_msi(struct microsemi_pcie_port *port) +{ + int pos; + + mutex_lock(&port->lock); + pos = find_first_zero_bit(port->msi_irq_in_use, MICROSEMI_NUM_MSI_IRQS); + if (pos < MICROSEMI_NUM_MSI_IRQS) { + set_bit(pos, port->msi_irq_in_use); + } else { + mutex_unlock(&port->lock); + return -ENOSPC; + } + + mutex_unlock(&port->lock); + return pos; +} + +/** + * microsemi_msi_teardown_irq - Destroy the MSI + * @chip: MSI Chip descriptor + * @irq: MSI IRQ to destroy + */ +static void microsemi_msi_teardown_irq(struct msi_controller *chip, + unsigned int irq) +{ + microsemi_pcie_destroy_msi(irq); + irq_dispose_mapping(irq); +} + +/** + * microsemi_pcie_msi_setup_irq - Setup MSI request + * @chip: MSI chip pointer + * @pdev: PCIe device pointer + * @desc: MSI descriptor pointer + * + * Return: '0' on success and error value on failure + */ +static int microsemi_pcie_msi_setup_irq(struct msi_controller *chip, + struct pci_dev *pdev, + struct msi_desc *desc) +{ + struct microsemi_pcie_port *port = pdev->bus->sysdata; + unsigned int irq; + int hwirq; + struct msi_msg msg; + + hwirq = microsemi_pcie_assign_msi(port); + if (hwirq < 0) + return hwirq; + + irq = irq_create_mapping(port->msi_domain, hwirq); + if (!irq) + return -EINVAL; + + irq_set_msi_desc(irq, desc); + + msg.address_hi = upper_32_bits(MICROSEMI_MSI_MSG_ADDR); + msg.address_lo = lower_32_bits(MICROSEMI_MSI_MSG_ADDR); + msg.data = hwirq; + + pci_write_msi_msg(irq, &msg); + + return 0; +} + +/* MSI Chip Descriptor */ +static struct msi_controller microsemi_pcie_msi_chip = { + .setup_irq = microsemi_pcie_msi_setup_irq, + .teardown_irq = microsemi_msi_teardown_irq, +}; + +/* HW Interrupt Chip Descriptor */ +static struct irq_chip microsemi_msi_irq_chip = { + .name = "Microsemi PCIe MSI", + .irq_enable = pci_msi_unmask_irq, + .irq_disable = pci_msi_mask_irq, + .irq_mask = pci_msi_mask_irq, + .irq_unmask = pci_msi_unmask_irq, +}; + +/** + * microsemi_pcie_msi_map - Set the handler for the MSI and mark IRQ as valid + * @domain: IRQ domain + * @irq: Virtual IRQ number + * @hwirq: HW interrupt number + * + * Return: Always returns 0. + */ +static int microsemi_pcie_msi_map(struct irq_domain *domain, unsigned int irq, + irq_hw_number_t hwirq) +{ + irq_set_chip_and_handler(irq, µsemi_msi_irq_chip, + handle_simple_irq); + irq_set_chip_data(irq, domain->host_data); + + return 0; +} + +/* IRQ Domain operations */ +static const struct irq_domain_ops msi_domain_ops = { + .map = microsemi_pcie_msi_map, +}; + +/** + * microsemi_pcie_enable_msi - Enable MSI support + * @port: PCIe port information + */ +static void microsemi_pcie_enable_msi(struct microsemi_pcie_port *port) +{ + u32 cap_ctrl; + + cap_ctrl = pcie_read(port, MSI_CAP_CTRL_OFFSET); + + pcie_write(port, cap_ctrl | MSI_ENABLE_MULTI | + MSI_ENABLE, MSI_CAP_CTRL_OFFSET); + pcie_write(port, MICROSEMI_MSI_MSG_ADDR, MSI_MSG_ADDR_OFFSET); +} + +/* INTx Functions */ + +/** + * microsemi_pcie_intx_map - Set the handler for the INTx and mark IRQ as valid + * @domain: IRQ domain + * @irq: Virtual IRQ number + * @hwirq: HW interrupt number + * + * Return: Always returns 0. + */ +static int microsemi_pcie_intx_map(struct irq_domain *domain, unsigned int irq, + irq_hw_number_t hwirq) +{ + irq_set_chip_and_handler(irq, &dummy_irq_chip, handle_simple_irq); + irq_set_chip_data(irq, domain->host_data); + + return 0; +} + +/* INTx IRQ Domain operations */ +static const struct irq_domain_ops intx_domain_ops = { + .map = microsemi_pcie_intx_map, + .xlate = pci_irqd_intx_xlate, +}; + +/* PCIe HW Functions */ + +/** + * microsemi_pcie_intr_handler - Interrupt Service Handler + * @irq: IRQ number + * @data: PCIe port information + * + * Return: IRQ_HANDLED on success and IRQ_NONE on failure + */ +static irqreturn_t microsemi_pcie_intr_handler(int irq, void *data) +{ + struct microsemi_pcie_port *port = (struct microsemi_pcie_port *)data; + struct device *dev = port->dev; + unsigned long status; + unsigned long msi; + u32 bit; + u32 virq; + + status = readl(port->bridge_base_addr + MICROSEMI_ISTATUS_LOCAL); + + /* Might be sharing interrupt line. Check if interrupt is for us */ + if (!status) + return IRQ_NONE; + + status = (status & MICROSEMI_PCI_INTS) >> MICROSEMI_PM_MSI_INT_SHIFT; + for_each_set_bit(bit, &status, PCI_NUM_INTX) { + /* clear that interrupt bit */ + writel(1 << (bit + MICROSEMI_PM_MSI_INT_SHIFT), + port->bridge_base_addr + MICROSEMI_ISTATUS_LOCAL); + virq = irq_find_mapping(port->leg_domain, bit); + + if (virq) + generic_handle_irq(virq); + else + dev_err(dev, "unexpected IRQ, INT%d\n", bit); + } + + status = readl(port->bridge_base_addr + MICROSEMI_ISTATUS_LOCAL); + if (status & MICROSEMI_MSI_INT) { + /* Clear the ISTATUS MSI bit */ + writel((1 << MICROSEMI_MSI_INT_SHIFT), + port->bridge_base_addr + MICROSEMI_ISTATUS_LOCAL); + msi = readl(port->bridge_base_addr + MICROSEMI_ISTATUS_MSI); + for_each_set_bit(bit, &msi, MICROSEMI_NUM_MSI_IRQS) { + /* clear that MSI interrupt bit */ + writel((1 << bit), + port->bridge_base_addr + MICROSEMI_ISTATUS_MSI); + virq = irq_find_mapping(port->msi_domain, bit); + if (virq) + generic_handle_irq(virq); + else + dev_err(dev, "unexpected IRQ, INT%d\n", bit); + } + } + + return IRQ_HANDLED; +} + +/** + * microsemi_pcie_init_irq_domain - Initialize IRQ domain + * @port: PCIe port information + * + * Return: '0' on success and error value on failure + */ +static int microsemi_pcie_init_irq_domain(struct microsemi_pcie_port *port) +{ + struct device *dev = port->dev; + struct device_node *node = dev->of_node; + struct device_node *pcie_intc_node; + + /* Setup INTx */ + pcie_intc_node = of_get_next_child(node, NULL); + if (!pcie_intc_node) { + dev_err(dev, "no PCIe INTx node found\n"); + return -ENODEV; + } + + port->leg_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + &intx_domain_ops, + port); + if (!port->leg_domain) { + dev_err(dev, "failed to get a INTx IRQ domain\n"); + return -ENODEV; + } + + /* Setup MSI */ + if (IS_ENABLED(CONFIG_PCI_MSI)) { + port->msi_domain = + irq_domain_add_linear(node, + MICROSEMI_NUM_MSI_IRQS, + &msi_domain_ops, + µsemi_pcie_msi_chip); + if (!port->msi_domain) { + dev_err(dev, "failed to get an MSI IRQ domain\n"); + return -ENODEV; + } + microsemi_pcie_enable_msi(port); + } + + /* Enable interrupts */ + writel(MICROSEMI_PCIE_ENABLE_MSI | MICROSEMI_PCIE_LOCAL_INT_ENABLE, + port->bridge_base_addr + MICROSEMI_IMASK_LOCAL); + + return 0; +} + +/** + * microsemi_pcie_init_port - Parse Device tree, Initialize hardware + * @port: PCIe port information + * + * Return: '0' on success and error value on failure + */ +static int microsemi_pcie_init_port(struct microsemi_pcie_port *port) +{ + struct device *dev = port->dev; + struct device_node *node = dev->of_node; + struct of_pci_range_parser parser; + struct of_pci_range range; + struct resource regs; + struct resource regs1; + resource_size_t size; + u32 atr_sz; + const char *type; + int err; + u32 val; + int index = 1; + + type = of_get_property(node, "device_type", NULL); + if (!type || strcmp(type, "pci")) { + dev_err(dev, "invalid \"device_type\" %s\n", type); + return -EINVAL; + } + + /* Only supporting bridge 1 */ + port->bridge = 1; + + mutex_init(&port->lock); + + err = of_address_to_resource(node, 0, ®s); + if (err) { + dev_err(dev, "missing \"reg\" property\n"); + return err; + } + + port->pcie_base_addr = devm_pci_remap_cfg_resource(dev, ®s); + if (IS_ERR(port->pcie_base_addr)) + return PTR_ERR(port->pcie_base_addr); + + err = of_address_to_resource(node, 1, ®s1); + if (err) { + dev_err(dev, "missing \"reg\" property\n"); + return err; + } + + port->axi_base_addr = devm_ioremap_resource(dev, ®s1); + if (IS_ERR(port->axi_base_addr)) + return PTR_ERR(port->axi_base_addr); + + if (port->bridge == 0) { + port->bridge_base_addr = port->axi_base_addr + + MICROSEMI_PCIE0_BRIDGE_ADDR; + port->ctrl_base_addr = port->axi_base_addr + + MICROSEMI_PCIE0_CTRL_ADDR; + } else { + port->bridge_base_addr = port->axi_base_addr + + MICROSEMI_PCIE1_BRIDGE_ADDR; + port->ctrl_base_addr = port->axi_base_addr + + MICROSEMI_PCIE1_CTRL_ADDR; + } + + port->irq = irq_of_parse_and_map(node, 0); + + err = devm_request_irq(dev, port->irq, microsemi_pcie_intr_handler, + IRQF_SHARED | IRQF_NO_THREAD, + "microsemi-pcie", port); + if (err) { + dev_err(dev, "unable to request IRQ%d\n", port->irq); + return err; + } + + microsemi_pcie_enable(port); + + /* Clear and Disable interrupts */ + val = ECC_CONTROL_AXI2PCIE_RAM_ECC_BYPASS + | ECC_CONTROL_PCIE2AXI_RAM_ECC_BYPASS + | ECC_CONTROL_RX_RAM_ECC_BYPASS + | ECC_CONTROL_TX_RAM_ECC_BYPASS; + writel(val, port->ctrl_base_addr + MICROSEMI_ECC_CONTROL); + + val = PCIE_EVENT_INT_L2_EXIT_INT + | PCIE_EVENT_INT_HOTRST_EXIT_INT + | PCIE_EVENT_INT_DLUP_EXIT_INT + | PCIE_EVENT_INT_L2_EXIT_INT_MASK + | PCIE_EVENT_INT_HOTRST_EXIT_INT_MASK + | PCIE_EVENT_INT_DLUP_EXIT_INT_MASK; + writel(val, port->ctrl_base_addr + MICROSEMI_PCIE_EVENT_INT); + + val = SEC_ERROR_INT_TX_RAM_SEC_ERR_INT + | SEC_ERROR_INT_RX_RAM_SEC_ERR_INT + | SEC_ERROR_INT_PCIE2AXI_RAM_SEC_ERR_INT + | SEC_ERROR_INT_AXI2PCIE_RAM_SEC_ERR_INT; + writel(val, port->ctrl_base_addr + MICROSEMI_SEC_ERROR_INT); + writel(val, port->ctrl_base_addr + MICROSEMI_SEC_ERROR_INT_MASK); + + val = DED_ERROR_INT_TX_RAM_DED_ERR_INT + | DED_ERROR_INT_RX_RAM_DED_ERR_INT + | DED_ERROR_INT_PCIE2AXI_RAM_DED_ERR_INT + | DED_ERROR_INT_AXI2PCIE_RAM_DED_ERR_INT; + writel(val, port->ctrl_base_addr + MICROSEMI_DED_ERROR_INT); + writel(val, port->ctrl_base_addr + MICROSEMI_DED_ERROR_INT_MASK); + + writel(0x00000000, port->bridge_base_addr + MICROSEMI_IMASK_LOCAL); + writel(GENMASK(31, 0), + port->bridge_base_addr + MICROSEMI_ISTATUS_LOCAL); + writel(0x00000000, port->bridge_base_addr + MICROSEMI_IMASK_HOST); + writel(GENMASK(31, 0), port->bridge_base_addr + MICROSEMI_ISTATUS_HOST); + + /* Configure Address Translation Table 0 for PCIe config space */ + writel(MICROSEMI_PCIE_CONFIG_INTERFACE, + port->bridge_base_addr + MICROSEMI_ATR0_AXI4_SLV0_TRSL_PARAM); + + size = resource_size(®s); + + atr_sz = find_first_bit((const unsigned long *)&size, 64) - 1; + + writel(lower_32_bits(regs.start) + | atr_sz << ATR_SIZE_SHIFT | ATR_IMPL_ENABLE, + port->bridge_base_addr + + MICROSEMI_ATR0_AXI4_SLV0_SRCADDR_PARAM); + + writel(lower_32_bits(regs.start), + port->bridge_base_addr + MICROSEMI_ATR0_AXI4_SLV0_TRSL_ADDR_LSB); + + if (of_pci_range_parser_init(&parser, node)) { + dev_err(dev, "missing \"ranges\" property\n"); + return -EINVAL; + } + + for_each_of_pci_range(&parser, &range) { + switch (range.flags & IORESOURCE_TYPE_BITS) { + case IORESOURCE_MEM: + size = range.size; + atr_sz = + find_first_bit((const unsigned long *)&size, 64) + - 1; + + /* Configure Address Translation Table index for PCIe + * mem space + */ + writel(MICROSEMI_PCIE_TX_RX_INTERFACE, + port->bridge_base_addr + + (index * MICROSEMI_ATR0_AXI4_SLV_SIZE) + + MICROSEMI_ATR0_AXI4_SLV0_TRSL_PARAM); + + writel(lower_32_bits(range.cpu_addr) + | (atr_sz << ATR_SIZE_SHIFT) + | ATR_IMPL_ENABLE, + port->bridge_base_addr + + (index * MICROSEMI_ATR0_AXI4_SLV_SIZE) + + MICROSEMI_ATR0_AXI4_SLV0_SRCADDR_PARAM); + + writel(lower_32_bits(range.pci_addr), + port->bridge_base_addr + + (index * MICROSEMI_ATR0_AXI4_SLV_SIZE) + + MICROSEMI_ATR0_AXI4_SLV0_TRSL_ADDR_LSB); + + break; + } + index++; + } + + writel(readl(port->bridge_base_addr + + MICROSEMI_ATR0_PCIE_WIN0_SRCADDR_31_12) + | (MICROSEMI_ATR0_PCIE_WIN0_SIZE + << MICROSEMI_ATR0_PCIE_WIN0_SIZE_SHIFT), + port->bridge_base_addr + + MICROSEMI_ATR0_PCIE_WIN0_SRCADDR_31_12); + + writel(0x0, + port->bridge_base_addr + MICROSEMI_ATR0_PCIE_WIN0_SRCADDR_63_32); + + writel((readl(port->bridge_base_addr + MICROSEMI_PCIE_PCI_IDS_DW1) + & 0xffff) + | (PCI_CLASS_BRIDGE_PCI << 16), + port->bridge_base_addr + MICROSEMI_PCIE_PCI_IDS_DW1); + + return 0; +} + +/** + * microsemi_pcie_probe - Probe function + * @pdev: Platform device pointer + * + * Return: '0' on success and error value on failure + */ +static int microsemi_pcie_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct microsemi_pcie_port *port; + struct pci_bus *bus, *child; + struct pci_host_bridge *bridge; + int err; + + if (!dev->of_node) + return -ENODEV; + + bridge = devm_pci_alloc_host_bridge(dev, sizeof(*port)); + if (!bridge) + return -ENODEV; + + port = pci_host_bridge_priv(bridge); + + port->dev = dev; + port->pdev = pdev; + + err = microsemi_pcie_init_port(port); + if (err) { + dev_err(dev, "PCIe port initialization failed\n"); + return err; + } + + err = microsemi_pcie_init_irq_domain(port); + if (err) { + dev_err(dev, "failed creating IRQ domain\n"); + return err; + } + + err = pci_parse_request_of_pci_ranges(dev, &bridge->windows, + &bridge->dma_ranges, NULL); + if (err) { + dev_err(dev, "getting bridge resources failed\n"); + return err; + } + + bridge->dev.parent = dev; + bridge->sysdata = port; + bridge->busnr = 0; + bridge->ops = µsemi_pcie_ops; + bridge->map_irq = of_irq_parse_and_map_pci; + bridge->swizzle_irq = pci_common_swizzle; + +#ifdef CONFIG_PCI_MSI + microsemi_pcie_msi_chip.dev = dev; + bridge->msi = µsemi_pcie_msi_chip; +#endif + err = pci_scan_root_bus_bridge(bridge); + if (err < 0) + return err; + + bus = bridge->bus; + + pci_assign_unassigned_bus_resources(bus); + list_for_each_entry(child, &bus->children, node) + pcie_bus_configure_settings(child); + pci_bus_add_devices(bus); + + return 0; +} + +static const struct of_device_id microsemi_pcie_of_match[] = { + { .compatible = "microsemi,ms-pf-axi-pcie-host", }, + {} +}; + +static struct platform_driver microsemi_pcie_driver = { + .driver = { + .name = "microsemi-pcie", + .of_match_table = microsemi_pcie_of_match, + .suppress_bind_attrs = true, + }, + .probe = microsemi_pcie_probe, +}; +builtin_platform_driver(microsemi_pcie_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/pcie-rcar-host.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/pcie-rcar-host.c @@ -803,7 +803,7 @@ } /* setup MSI data target */ - msi->pages = __get_free_pages(GFP_KERNEL, 0); + msi->pages = __get_free_pages(GFP_KERNEL | GFP_DMA32, 0); rcar_pcie_hw_enable_msi(host); return 0; @@ -986,7 +986,7 @@ err = pm_runtime_get_sync(pcie->dev); if (err < 0) { dev_err(pcie->dev, "pm_runtime_get_sync failed\n"); - goto err_pm_disable; + goto err_pm_put; } err = rcar_pcie_get_resources(host); @@ -1057,8 +1057,6 @@ err_pm_put: pm_runtime_put(dev); - -err_pm_disable: pm_runtime_disable(dev); pci_free_resource_list(&host->resources); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/controller/vmd.c +++ linux-riscv-5.8-5.8.0/drivers/pci/controller/vmd.c @@ -47,6 +47,12 @@ * bus numbering */ VMD_FEAT_HAS_BUS_RESTRICTIONS = (1 << 1), + + /* + * Device may use MSI-X vector 0 for software triggering and will not + * be used for MSI remapping + */ + VMD_FEAT_OFFSET_FIRST_VECTOR = (1 << 3), }; /* @@ -98,6 +104,7 @@ struct irq_domain *irq_domain; struct pci_bus *bus; u8 busn_start; + u8 first_vec; }; static inline struct vmd_dev *vmd_from_bus(struct pci_bus *bus) @@ -193,11 +200,11 @@ */ static struct vmd_irq_list *vmd_next_irq(struct vmd_dev *vmd, struct msi_desc *desc) { - int i, best = 1; unsigned long flags; + int i, best; - if (vmd->msix_count == 1) - return &vmd->irqs[0]; + if (vmd->msix_count == 1 + vmd->first_vec) + return &vmd->irqs[vmd->first_vec]; /* * White list for fast-interrupt handlers. All others will share the @@ -207,11 +214,12 @@ case PCI_CLASS_STORAGE_EXPRESS: break; default: - return &vmd->irqs[0]; + return &vmd->irqs[vmd->first_vec]; } raw_spin_lock_irqsave(&list_lock, flags); - for (i = 1; i < vmd->msix_count; i++) + best = vmd->first_vec + 1; + for (i = best; i < vmd->msix_count; i++) if (vmd->irqs[i].count < vmd->irqs[best].count) best = i; vmd->irqs[best].count++; @@ -560,6 +568,7 @@ if (!vmd->bus) { pci_free_resource_list(&resources); irq_domain_remove(vmd->irq_domain); + irq_domain_free_fwnode(fn); return -ENODEV; } @@ -600,6 +609,7 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id) { + unsigned long features = (unsigned long) id->driver_data; struct vmd_dev *vmd; int i, err; @@ -624,12 +634,15 @@ dma_set_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32))) return -ENODEV; + if (features & VMD_FEAT_OFFSET_FIRST_VECTOR) + vmd->first_vec = 1; + vmd->msix_count = pci_msix_vec_count(dev); if (vmd->msix_count < 0) return -ENODEV; - vmd->msix_count = pci_alloc_irq_vectors(dev, 1, vmd->msix_count, - PCI_IRQ_MSIX); + vmd->msix_count = pci_alloc_irq_vectors(dev, vmd->first_vec + 1, + vmd->msix_count, PCI_IRQ_MSIX); if (vmd->msix_count < 0) return vmd->msix_count; @@ -653,7 +666,7 @@ spin_lock_init(&vmd->cfg_lock); pci_set_drvdata(dev, vmd); - err = vmd_enable_domain(vmd, (unsigned long) id->driver_data); + err = vmd_enable_domain(vmd, features); if (err) return err; @@ -673,6 +686,7 @@ static void vmd_remove(struct pci_dev *dev) { struct vmd_dev *vmd = pci_get_drvdata(dev); + struct fwnode_handle *fn = vmd->irq_domain->fwnode; sysfs_remove_link(&vmd->dev->dev.kobj, "domain"); pci_stop_root_bus(vmd->bus); @@ -680,6 +694,7 @@ vmd_cleanup_srcu(vmd); vmd_detach_resources(vmd); irq_domain_remove(vmd->irq_domain); + irq_domain_free_fwnode(fn); } #ifdef CONFIG_PM_SLEEP @@ -722,11 +737,14 @@ .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW | VMD_FEAT_HAS_BUS_RESTRICTIONS,}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x467f), - .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS,}, + .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS | + VMD_FEAT_OFFSET_FIRST_VECTOR,}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4c3d), - .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS,}, + .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS | + VMD_FEAT_OFFSET_FIRST_VECTOR,}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VMD_9A0B), - .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS,}, + .driver_data = VMD_FEAT_HAS_BUS_RESTRICTIONS | + VMD_FEAT_OFFSET_FIRST_VECTOR,}, {0,} }; MODULE_DEVICE_TABLE(pci, vmd_ids); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/ecam.c +++ linux-riscv-5.8-5.8.0/drivers/pci/ecam.c @@ -168,4 +168,14 @@ .write = pci_generic_config_write32, } }; + +/* ECAM ops for 32-bit read only (non-compliant) */ +const struct pci_ecam_ops pci_32b_read_ops = { + .bus_shift = 20, + .pci_ops = { + .map_bus = pci_ecam_map_bus, + .read = pci_generic_config_read32, + .write = pci_generic_config_write, + } +}; #endif --- linux-riscv-5.8-5.8.0.orig/drivers/pci/hotplug/acpiphp_glue.c +++ linux-riscv-5.8-5.8.0/drivers/pci/hotplug/acpiphp_glue.c @@ -122,13 +122,21 @@ struct acpiphp_context *context; acpi_lock_hp_context(); + context = acpiphp_get_context(adev); - if (!context || context->func.parent->is_going_away) { - acpi_unlock_hp_context(); - return NULL; + if (!context) + goto unlock; + + if (context->func.parent->is_going_away) { + acpiphp_put_context(context); + context = NULL; + goto unlock; } + get_bridge(context->func.parent); acpiphp_put_context(context); + +unlock: acpi_unlock_hp_context(); return context; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/hotplug/rpadlpar_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/pci/hotplug/rpadlpar_sysfs.c @@ -34,12 +34,11 @@ if (nbytes >= MAX_DRC_NAME_LEN) return 0; - memcpy(drc_name, buf, nbytes); + strscpy(drc_name, buf, nbytes + 1); end = strchr(drc_name, '\n'); - if (!end) - end = &drc_name[nbytes]; - *end = '\0'; + if (end) + *end = '\0'; rc = dlpar_add_slot(drc_name); if (rc) @@ -65,12 +64,11 @@ if (nbytes >= MAX_DRC_NAME_LEN) return 0; - memcpy(drc_name, buf, nbytes); + strscpy(drc_name, buf, nbytes + 1); end = strchr(drc_name, '\n'); - if (!end) - end = &drc_name[nbytes]; - *end = '\0'; + if (end) + *end = '\0'; rc = dlpar_remove_slot(drc_name); if (rc) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/hotplug/s390_pci_hpc.c +++ linux-riscv-5.8-5.8.0/drivers/pci/hotplug/s390_pci_hpc.c @@ -83,20 +83,19 @@ struct zpci_dev *zdev = container_of(hotplug_slot, struct zpci_dev, hotplug_slot); struct pci_dev *pdev; - struct zpci_bus *zbus = zdev->zbus; int rc; if (!zpci_fn_configured(zdev->state)) return -EIO; - pdev = pci_get_slot(zbus->bus, zdev->devfn); - if (pdev) { - if (pci_num_vf(pdev)) - return -EBUSY; - - pci_stop_and_remove_bus_device_locked(pdev); + pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn); + if (pdev && pci_num_vf(pdev)) { pci_dev_put(pdev); + return -EBUSY; } + pci_dev_put(pdev); + + zpci_remove_device(zdev, false); rc = zpci_disable_device(zdev); if (rc) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/iov.c +++ linux-riscv-5.8-5.8.0/drivers/pci/iov.c @@ -180,6 +180,7 @@ virtfn->device = iov->vf_device; virtfn->is_virtfn = 1; virtfn->physfn = pci_dev_get(dev); + virtfn->no_command_memory = 1; if (id == 0) pci_read_vf_config_common(virtfn); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pci-acpi.c +++ linux-riscv-5.8-5.8.0/drivers/pci/pci-acpi.c @@ -944,6 +944,16 @@ if (!dev->is_hotplug_bridge) return false; + /* Assume D3 support if the bridge is power-manageable by ACPI. */ + adev = ACPI_COMPANION(&dev->dev); + if (!adev && !pci_dev_is_added(dev)) { + adev = acpi_pci_find_companion(&dev->dev); + ACPI_COMPANION_SET(&dev->dev, adev); + } + + if (adev && acpi_device_power_manageable(adev)) + return true; + /* * Look for a special _DSD property for the root port and if it * is set we know the hierarchy behind it supports D3 just fine. @@ -1050,7 +1060,7 @@ { while (bus->parent) { if (acpi_pm_device_can_wakeup(&bus->self->dev)) - return acpi_pm_set_bridge_wakeup(&bus->self->dev, enable); + return acpi_pm_set_device_wakeup(&bus->self->dev, enable); bus = bus->parent; } @@ -1058,7 +1068,7 @@ /* We have reached the root bus. */ if (bus->bridge) { if (acpi_pm_device_can_wakeup(bus->bridge)) - return acpi_pm_set_bridge_wakeup(bus->bridge, enable); + return acpi_pm_set_device_wakeup(bus->bridge, enable); } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pci-bridge-emul.c +++ linux-riscv-5.8-5.8.0/drivers/pci/pci-bridge-emul.c @@ -21,8 +21,9 @@ #include "pci-bridge-emul.h" #define PCI_BRIDGE_CONF_END PCI_STD_HEADER_SIZEOF +#define PCI_CAP_PCIE_SIZEOF (PCI_EXP_SLTSTA2 + 2) #define PCI_CAP_PCIE_START PCI_BRIDGE_CONF_END -#define PCI_CAP_PCIE_END (PCI_CAP_PCIE_START + PCI_EXP_SLTSTA2 + 2) +#define PCI_CAP_PCIE_END (PCI_CAP_PCIE_START + PCI_CAP_PCIE_SIZEOF) /** * struct pci_bridge_reg_behavior - register bits behaviors @@ -46,7 +47,8 @@ u32 w1c; }; -static const struct pci_bridge_reg_behavior pci_regs_behavior[] = { +static const +struct pci_bridge_reg_behavior pci_regs_behavior[PCI_STD_HEADER_SIZEOF / 4] = { [PCI_VENDOR_ID / 4] = { .ro = ~0 }, [PCI_COMMAND / 4] = { .rw = (PCI_COMMAND_IO | PCI_COMMAND_MEMORY | @@ -164,7 +166,8 @@ }, }; -static const struct pci_bridge_reg_behavior pcie_cap_regs_behavior[] = { +static const +struct pci_bridge_reg_behavior pcie_cap_regs_behavior[PCI_CAP_PCIE_SIZEOF / 4] = { [PCI_CAP_LIST_ID / 4] = { /* * Capability ID, Next Capability Pointer and @@ -260,6 +263,8 @@ int pci_bridge_emul_init(struct pci_bridge_emul *bridge, unsigned int flags) { + BUILD_BUG_ON(sizeof(bridge->conf) != PCI_BRIDGE_CONF_END); + bridge->conf.class_revision |= cpu_to_le32(PCI_CLASS_BRIDGE_PCI << 16); bridge->conf.header_type = PCI_HEADER_TYPE_BRIDGE; bridge->conf.cache_line_size = 0x10; --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pci.c +++ linux-riscv-5.8-5.8.0/drivers/pci/pci.c @@ -3539,7 +3539,14 @@ return 0; pci_read_config_dword(pdev, pos + PCI_REBAR_CAP, &cap); - return (cap & PCI_REBAR_CAP_SIZES) >> 4; + cap &= PCI_REBAR_CAP_SIZES; + + /* Sapphire RX 5600 XT Pulse has an invalid cap dword for BAR 0 */ + if (pdev->vendor == PCI_VENDOR_ID_ATI && pdev->device == 0x731f && + bar == 0 && cap == 0x7000) + cap = 0x3f000; + + return cap >> 4; } /** @@ -3965,6 +3972,10 @@ ret = logic_pio_register_range(range); if (ret) kfree(range); + + /* Ignore duplicates due to deferred probing */ + if (ret == -EEXIST) + ret = 0; #endif return ret; @@ -6165,19 +6176,21 @@ while (*p) { count = 0; if (sscanf(p, "%d%n", &align_order, &count) == 1 && - p[count] == '@') { + p[count] == '@') { p += count + 1; + if (align_order > 63) { + pr_err("PCI: Invalid requested alignment (order %d)\n", + align_order); + align_order = PAGE_SHIFT; + } } else { - align_order = -1; + align_order = PAGE_SHIFT; } ret = pci_dev_str_match(dev, p, &p); if (ret == 1) { *resize = true; - if (align_order == -1) - align = PAGE_SIZE; - else - align = 1 << align_order; + align = 1ULL << align_order; break; } else if (ret < 0) { pr_err("PCI: Can't parse resource_alignment parameter: %s\n", --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pcie/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/pci/pcie/Kconfig @@ -133,14 +133,6 @@ This is only useful if you have devices that support PTM, but it is safe to enable even if you don't. -config PCIE_BW - bool "PCI Express Bandwidth Change Notification" - depends on PCIEPORTBUS - help - This enables PCI Express Bandwidth Change Notification. If - you know link width or rate changes occur only to correct - unreliable links, you may answer Y. - config PCIE_EDR bool "PCI Express Error Disconnect Recover support" depends on PCIE_DPC && ACPI --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pcie/Makefile +++ linux-riscv-5.8-5.8.0/drivers/pci/pcie/Makefile @@ -12,5 +12,4 @@ obj-$(CONFIG_PCIE_PME) += pme.o obj-$(CONFIG_PCIE_DPC) += dpc.o obj-$(CONFIG_PCIE_PTM) += ptm.o -obj-$(CONFIG_PCIE_BW) += bw_notification.o obj-$(CONFIG_PCIE_EDR) += edr.o --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pcie/aspm.c +++ linux-riscv-5.8-5.8.0/drivers/pci/pcie/aspm.c @@ -624,7 +624,8 @@ aspm_calc_l1ss_info(link, &upreg, &dwreg); /* 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; @@ -1182,6 +1183,7 @@ cnt += sprintf(buffer + cnt, "[%s] ", policy_str[i]); else cnt += sprintf(buffer + cnt, "%s ", policy_str[i]); + cnt += sprintf(buffer + cnt, "\n"); return cnt; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pcie/portdrv.h +++ linux-riscv-5.8-5.8.0/drivers/pci/pcie/portdrv.h @@ -53,12 +53,6 @@ static inline int pcie_dpc_init(void) { return 0; } #endif -#ifdef CONFIG_PCIE_BW -int pcie_bandwidth_notification_init(void); -#else -static inline int pcie_bandwidth_notification_init(void) { return 0; } -#endif - /* Port Type */ #define PCIE_ANY_PORT (~0) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/pcie/portdrv_pci.c +++ linux-riscv-5.8-5.8.0/drivers/pci/pcie/portdrv_pci.c @@ -248,7 +248,6 @@ pcie_pme_init(); pcie_dpc_init(); pcie_hp_init(); - pcie_bandwidth_notification_init(); } static int __init pcie_portdrv_init(void) --- linux-riscv-5.8-5.8.0.orig/drivers/pci/quirks.c +++ linux-riscv-5.8-5.8.0/drivers/pci/quirks.c @@ -205,6 +205,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. Mark this * device with a broken_parity_status to allow PCI scanning code to "skip" @@ -4055,6 +4070,9 @@ /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c46 */ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x91a0, quirk_dma_func1_alias); +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c135 */ +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9215, + quirk_dma_func1_alias); /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c127 */ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9220, quirk_dma_func1_alias); @@ -4422,6 +4440,8 @@ if (ACPI_FAILURE(status)) return -ENODEV; + acpi_put_table(header); + /* Filter out flags not applicable to multifunction */ acs_flags &= (PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_EC | PCI_ACS_DT); @@ -4647,6 +4667,7 @@ return false; switch (dev->device) { + case 0x06ac ... 0x06c3: /* Comet Lake */ case 0xa110 ... 0xa11f: case 0xa167 ... 0xa16a: /* Sunrise Point */ case 0xa290 ... 0xa29f: case 0xa2e7 ... 0xa2ee: /* Union Point */ case 0x9d10 ... 0x9d1b: /* 7th & 8th Gen Mobile */ @@ -5177,6 +5198,27 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_no_flr); +static void quirk_intel_th_rtit_bar(struct pci_dev *dev) +{ + struct resource *r = &dev->resource[4]; + + /* + * Hello, Denverton! + * Denverton reports 2k of RTIT_BAR (resource 4), which can't be + * right given the 16 threads. When Intel TH gets enabled, the + * actual resource overlaps the XHCI MMIO space and causes it + * to die. + * We're not really using RTIT_BAR at all at the moment, so it's + * a safe choice to disable this resource. + */ + if (r->end == r->start + 0x7ff) { + r->flags = 0; + r->start = 0; + r->end = 0; + } +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x19e1, quirk_intel_th_rtit_bar); + static void quirk_no_ext_tags(struct pci_dev *pdev) { struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus); @@ -5205,7 +5247,8 @@ */ static void quirk_amd_harvest_no_ats(struct pci_dev *pdev) { - if (pdev->device == 0x7340 && pdev->revision != 0xc5) + if ((pdev->device == 0x7312 && pdev->revision != 0x00) || + (pdev->device == 0x7340 && pdev->revision != 0xc5)) return; pci_info(pdev, "disabling ATS\n"); @@ -5216,6 +5259,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_amd_harvest_no_ats); /* AMD Iceland dGPU */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_amd_harvest_no_ats); +/* AMD Navi10 dGPU */ +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7312, quirk_amd_harvest_no_ats); /* AMD Navi14 dGPU */ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats); #endif /* CONFIG_PCI_ATS */ @@ -5609,17 +5654,26 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x2142, pci_fixup_no_d0_pme); /* - * Device [12d8:0x400e] and [12d8:0x400f] + * Device 12d8:0x400e [OHCI] and 12d8:0x400f [EHCI] + * * These devices advertise PME# support in all power states but don't * reliably assert it. + * + * These devices also advertise MSI, but documentation (PI7C9X440SL.pdf) + * says "The MSI Function is not implemented on this device" in chapters + * 7.3.27, 7.3.29-7.3.31. */ -static void pci_fixup_no_pme(struct pci_dev *dev) +static void pci_fixup_no_msi_no_pme(struct pci_dev *dev) { +#ifdef CONFIG_PCI_MSI + pci_info(dev, "MSI is not implemented on this device, disabling it\n"); + dev->no_msi = 1; +#endif pci_info(dev, "PME# is unreliable, disabling it\n"); dev->pme_support = 0; } -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400e, pci_fixup_no_pme); -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400f, pci_fixup_no_pme); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400e, pci_fixup_no_msi_no_pme); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_PERICOM, 0x400f, pci_fixup_no_msi_no_pme); static void apex_pci_fixup_class(struct pci_dev *pdev) { @@ -5627,3 +5681,57 @@ } DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); + +/* + * Device [8086:9a09], [8086:a0b0] and [8086:a0bc] + * 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 const struct pci_device_id vmd_bridge_tbl[] = { + { PCI_VDEVICE(INTEL, 0x9a09) }, + { PCI_VDEVICE(INTEL, 0xa0b0) }, + { PCI_VDEVICE(INTEL, 0xa0bc) }, + { } +}; + +static void pci_fixup_enable_aspm(struct pci_dev *pdev) +{ + if (!pci_match_id(vmd_bridge_tbl, pdev)) + return; + + pdev->dev_flags |= PCI_DEV_FLAGS_ENABLE_ASPM; +} +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_match_id(vmd_bridge_tbl, 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); +} +DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, + PCI_CLASS_STORAGE_EXPRESS, 0, pci_fixup_enable_vmd_nvme_ltr); --- linux-riscv-5.8-5.8.0.orig/drivers/pci/setup-res.c +++ linux-riscv-5.8-5.8.0/drivers/pci/setup-res.c @@ -409,10 +409,16 @@ int pci_resize_resource(struct pci_dev *dev, int resno, int size) { struct resource *res = dev->resource + resno; + struct pci_host_bridge *host; int old, ret; u32 sizes; u16 cmd; + /* Check if we must preserve the firmware's resource assignment */ + host = pci_find_host_bridge(dev->bus); + if (host->preserve_config) + return -ENOTSUPP; + /* Make sure the resource isn't assigned before resizing it. */ if (!(res->flags & IORESOURCE_UNSET)) return -EBUSY; --- linux-riscv-5.8-5.8.0.orig/drivers/pci/slot.c +++ linux-riscv-5.8-5.8.0/drivers/pci/slot.c @@ -268,16 +268,19 @@ slot_name = make_slot_name(name); if (!slot_name) { err = -ENOMEM; + kfree(slot); goto err; } + INIT_LIST_HEAD(&slot->list); + list_add(&slot->list, &parent->slots); + err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, "%s", slot_name); - if (err) + if (err) { + kobject_put(&slot->kobj); goto err; - - INIT_LIST_HEAD(&slot->list); - list_add(&slot->list, &parent->slots); + } down_read(&pci_bus_sem); list_for_each_entry(dev, &parent->devices, bus_list) @@ -293,7 +296,6 @@ mutex_unlock(&pci_slot_mutex); return slot; err: - kfree(slot); slot = ERR_PTR(err); goto out; } --- linux-riscv-5.8-5.8.0.orig/drivers/pci/syscall.c +++ linux-riscv-5.8-5.8.0/drivers/pci/syscall.c @@ -20,7 +20,7 @@ u16 word; u32 dword; long err; - long cfg_ret; + int cfg_ret; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -46,7 +46,7 @@ } err = -EIO; - if (cfg_ret != PCIBIOS_SUCCESSFUL) + if (cfg_ret) goto error; switch (len) { @@ -105,7 +105,7 @@ if (err) break; err = pci_user_write_config_byte(dev, off, byte); - if (err != PCIBIOS_SUCCESSFUL) + if (err) err = -EIO; break; @@ -114,7 +114,7 @@ if (err) break; err = pci_user_write_config_word(dev, off, word); - if (err != PCIBIOS_SUCCESSFUL) + if (err) err = -EIO; break; @@ -123,7 +123,7 @@ if (err) break; err = pci_user_write_config_dword(dev, off, dword); - if (err != PCIBIOS_SUCCESSFUL) + if (err) err = -EIO; break; --- linux-riscv-5.8-5.8.0.orig/drivers/perf/thunderx2_pmu.c +++ linux-riscv-5.8-5.8.0/drivers/perf/thunderx2_pmu.c @@ -805,14 +805,17 @@ list_for_each_entry(rentry, &list, node) { if (resource_type(rentry->res) == IORESOURCE_MEM) { res = *rentry->res; + rentry = NULL; break; } } + acpi_dev_free_resource_list(&list); - if (!rentry->res) + if (rentry) { + dev_err(dev, "PMU type %d: Fail to find resource\n", type); return NULL; + } - acpi_dev_free_resource_list(&list); base = devm_ioremap_resource(dev, &res); if (IS_ERR(base)) { dev_err(dev, "PMU type %d: Fail to map resource\n", type); --- linux-riscv-5.8-5.8.0.orig/drivers/perf/xgene_pmu.c +++ linux-riscv-5.8-5.8.0/drivers/perf/xgene_pmu.c @@ -1453,17 +1453,6 @@ } #if defined(CONFIG_ACPI) -static int acpi_pmu_dev_add_resource(struct acpi_resource *ares, void *data) -{ - struct resource *res = data; - - if (ares->type == ACPI_RESOURCE_TYPE_FIXED_MEMORY32) - acpi_dev_resource_memory(ares, res); - - /* Always tell the ACPI core to skip this resource */ - return 1; -} - static struct xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu, struct acpi_device *adev, u32 type) @@ -1475,6 +1464,7 @@ struct hw_pmu_info *inf; void __iomem *dev_csr; struct resource res; + struct resource_entry *rentry; int enable_bit; int rc; @@ -1483,11 +1473,23 @@ return NULL; INIT_LIST_HEAD(&resource_list); - rc = acpi_dev_get_resources(adev, &resource_list, - acpi_pmu_dev_add_resource, &res); + rc = acpi_dev_get_resources(adev, &resource_list, NULL, NULL); + if (rc <= 0) { + dev_err(dev, "PMU type %d: No resources found\n", type); + return NULL; + } + + list_for_each_entry(rentry, &resource_list, node) { + if (resource_type(rentry->res) == IORESOURCE_MEM) { + res = *rentry->res; + rentry = NULL; + break; + } + } acpi_dev_free_resource_list(&resource_list); - if (rc < 0) { - dev_err(dev, "PMU type %d: No resource address found\n", type); + + if (rentry) { + dev_err(dev, "PMU type %d: No memory resource found\n", type); return NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c +++ linux-riscv-5.8-5.8.0/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c @@ -270,11 +270,6 @@ reg |= params->mode << USB_PHY_UTMI_CTL_1_PHY_MODE_SHIFT; brcm_usb_writel(reg, usb_phy + USB_PHY_UTMI_CTL_1); - /* Fix the incorrect default */ - reg = brcm_usb_readl(ctrl + USB_CTRL_SETUP); - reg &= ~USB_CTRL_SETUP_tca_drv_sel_MASK; - brcm_usb_writel(reg, ctrl + USB_CTRL_SETUP); - usb_init_common(params); /* --- linux-riscv-5.8-5.8.0.orig/drivers/phy/cadence/phy-cadence-salvo.c +++ linux-riscv-5.8-5.8.0/drivers/phy/cadence/phy-cadence-salvo.c @@ -88,7 +88,7 @@ #define TB_ADDR_TX_RCVDETSC_CTRL 0x4124 /* TB_ADDR_TX_RCVDETSC_CTRL */ -#define RXDET_IN_P3_32KHZ BIT(1) +#define RXDET_IN_P3_32KHZ BIT(0) struct cdns_reg_pairs { u16 val; --- linux-riscv-5.8-5.8.0.orig/drivers/phy/lantiq/phy-lantiq-rcu-usb2.c +++ linux-riscv-5.8-5.8.0/drivers/phy/lantiq/phy-lantiq-rcu-usb2.c @@ -124,8 +124,16 @@ reset_control_deassert(priv->phy_reset); ret = clk_prepare_enable(priv->phy_gate_clk); - if (ret) + if (ret) { dev_err(dev, "failed to enable PHY gate\n"); + return ret; + } + + /* + * at least the xrx200 usb2 phy requires some extra time to be + * operational after enabling the clock + */ + usleep_range(100, 200); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/phy/marvell/phy-armada38x-comphy.c +++ linux-riscv-5.8-5.8.0/drivers/phy/marvell/phy-armada38x-comphy.c @@ -41,6 +41,7 @@ struct a38x_comphy { void __iomem *base; + void __iomem *conf; struct device *dev; struct a38x_comphy_lane lane[MAX_A38X_COMPHY]; }; @@ -54,6 +55,21 @@ { 0, 0, 3 }, }; +static void a38x_set_conf(struct a38x_comphy_lane *lane, bool enable) +{ + struct a38x_comphy *priv = lane->priv; + u32 conf; + + if (priv->conf) { + conf = readl_relaxed(priv->conf); + if (enable) + conf |= BIT(lane->port); + else + conf &= ~BIT(lane->port); + writel(conf, priv->conf); + } +} + static void a38x_comphy_set_reg(struct a38x_comphy_lane *lane, unsigned int offset, u32 mask, u32 value) { @@ -97,6 +113,7 @@ { struct a38x_comphy_lane *lane = phy_get_drvdata(phy); unsigned int gen; + int ret; if (mode != PHY_MODE_ETHERNET) return -EINVAL; @@ -115,13 +132,20 @@ return -EINVAL; } + a38x_set_conf(lane, false); + a38x_comphy_set_speed(lane, gen, gen); - return a38x_comphy_poll(lane, COMPHY_STAT1, - COMPHY_STAT1_PLL_RDY_TX | - COMPHY_STAT1_PLL_RDY_RX, - COMPHY_STAT1_PLL_RDY_TX | - COMPHY_STAT1_PLL_RDY_RX); + ret = a38x_comphy_poll(lane, COMPHY_STAT1, + COMPHY_STAT1_PLL_RDY_TX | + COMPHY_STAT1_PLL_RDY_RX, + COMPHY_STAT1_PLL_RDY_TX | + COMPHY_STAT1_PLL_RDY_RX); + + if (ret == 0) + a38x_set_conf(lane, true); + + return ret; } static const struct phy_ops a38x_comphy_ops = { @@ -174,14 +198,21 @@ if (!priv) return -ENOMEM; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - base = devm_ioremap_resource(&pdev->dev, res); + base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(base)) return PTR_ERR(base); priv->dev = &pdev->dev; priv->base = base; + /* Optional */ + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "conf"); + if (res) { + priv->conf = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(priv->conf)) + return PTR_ERR(priv->conf); + } + for_each_available_child_of_node(pdev->dev.of_node, child) { struct phy *phy; int ret; --- linux-riscv-5.8-5.8.0.orig/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ linux-riscv-5.8-5.8.0/drivers/phy/marvell/phy-mvebu-a3700-comphy.c @@ -26,7 +26,6 @@ #define COMPHY_SIP_POWER_ON 0x82000001 #define COMPHY_SIP_POWER_OFF 0x82000002 #define COMPHY_SIP_PLL_LOCK 0x82000003 -#define COMPHY_FW_NOT_SUPPORTED (-1) #define COMPHY_FW_MODE_SATA 0x1 #define COMPHY_FW_MODE_SGMII 0x2 @@ -112,10 +111,19 @@ unsigned long mode) { struct arm_smccc_res res; + s32 ret; arm_smccc_smc(function, lane, mode, 0, 0, 0, 0, 0, &res); + ret = res.a0; - return res.a0; + switch (ret) { + case SMCCC_RET_SUCCESS: + return 0; + case SMCCC_RET_NOT_SUPPORTED: + return -EOPNOTSUPP; + default: + return -EINVAL; + } } static int mvebu_a3700_comphy_get_fw_mode(int lane, int port, @@ -220,7 +228,7 @@ } ret = mvebu_a3700_comphy_smc(COMPHY_SIP_POWER_ON, lane->id, fw_param); - if (ret == COMPHY_FW_NOT_SUPPORTED) + if (ret == -EOPNOTSUPP) dev_err(lane->dev, "unsupported SMC call, try updating your firmware\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/phy/marvell/phy-mvebu-cp110-comphy.c +++ linux-riscv-5.8-5.8.0/drivers/phy/marvell/phy-mvebu-cp110-comphy.c @@ -123,7 +123,6 @@ #define COMPHY_SIP_POWER_ON 0x82000001 #define COMPHY_SIP_POWER_OFF 0x82000002 -#define COMPHY_FW_NOT_SUPPORTED (-1) /* * A lane is described by the following bitfields: @@ -273,10 +272,19 @@ unsigned long lane, unsigned long mode) { struct arm_smccc_res res; + s32 ret; arm_smccc_smc(function, phys, lane, mode, 0, 0, 0, 0, &res); + ret = res.a0; - return res.a0; + switch (ret) { + case SMCCC_RET_SUCCESS: + return 0; + case SMCCC_RET_NOT_SUPPORTED: + return -EOPNOTSUPP; + default: + return -EINVAL; + } } static int mvebu_comphy_get_mode(bool fw_mode, int lane, int port, @@ -819,7 +827,7 @@ if (!ret) return ret; - if (ret == COMPHY_FW_NOT_SUPPORTED) + if (ret == -EOPNOTSUPP) dev_err(priv->dev, "unsupported SMC call, try updating your firmware\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/phy/motorola/phy-cpcap-usb.c +++ linux-riscv-5.8-5.8.0/drivers/phy/motorola/phy-cpcap-usb.c @@ -661,35 +661,42 @@ generic_phy = devm_phy_create(ddata->dev, NULL, &ops); if (IS_ERR(generic_phy)) { error = PTR_ERR(generic_phy); - return PTR_ERR(generic_phy); + goto out_reg_disable; } phy_set_drvdata(generic_phy, ddata); phy_provider = devm_of_phy_provider_register(ddata->dev, of_phy_simple_xlate); - if (IS_ERR(phy_provider)) - return PTR_ERR(phy_provider); + if (IS_ERR(phy_provider)) { + error = PTR_ERR(phy_provider); + goto out_reg_disable; + } error = cpcap_usb_init_optional_pins(ddata); if (error) - return error; + goto out_reg_disable; cpcap_usb_init_optional_gpios(ddata); error = cpcap_usb_init_iio(ddata); if (error) - return error; + goto out_reg_disable; error = cpcap_usb_init_interrupts(pdev, ddata); if (error) - return error; + goto out_reg_disable; usb_add_phy_dev(&ddata->phy); atomic_set(&ddata->active, 1); schedule_delayed_work(&ddata->detect_work, msecs_to_jiffies(1)); return 0; + +out_reg_disable: + regulator_disable(ddata->vusb); + + return error; } static int cpcap_usb_phy_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/phy/qualcomm/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/phy/qualcomm/Kconfig @@ -111,7 +111,7 @@ config PHY_QCOM_USB_HS_28NM tristate "Qualcomm 28nm High-Speed PHY" - depends on ARCH_QCOM || COMPILE_TEST + depends on OF && (ARCH_QCOM || COMPILE_TEST) depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in select GENERIC_PHY help @@ -122,7 +122,7 @@ config PHY_QCOM_USB_SS tristate "Qualcomm USB Super-Speed PHY driver" - depends on ARCH_QCOM || COMPILE_TEST + depends on OF && (ARCH_QCOM || COMPILE_TEST) depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in select GENERIC_PHY help --- linux-riscv-5.8-5.8.0.orig/drivers/phy/qualcomm/phy-qcom-qmp.c +++ linux-riscv-5.8-5.8.0/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -504,8 +504,8 @@ QMP_PHY_INIT_CFG(QSERDES_COM_BG_TRIM, 0xf), QMP_PHY_INIT_CFG(QSERDES_COM_LOCK_CMP_EN, 0x1), QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_MAP, 0x0), - QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER1, 0x1f), - QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER2, 0x3f), + QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER1, 0xff), + QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER2, 0x1f), QMP_PHY_INIT_CFG(QSERDES_COM_CMN_CONFIG, 0x6), QMP_PHY_INIT_CFG(QSERDES_COM_PLL_IVCO, 0xf), QMP_PHY_INIT_CFG(QSERDES_COM_HSCLK_SEL, 0x0), @@ -531,7 +531,6 @@ QMP_PHY_INIT_CFG(QSERDES_COM_INTEGLOOP_GAIN1_MODE0, 0x0), QMP_PHY_INIT_CFG(QSERDES_COM_INTEGLOOP_GAIN0_MODE0, 0x80), QMP_PHY_INIT_CFG(QSERDES_COM_BIAS_EN_CTRL_BY_PSM, 0x1), - QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_CTRL, 0xa), QMP_PHY_INIT_CFG(QSERDES_COM_SSC_EN_CENTER, 0x1), QMP_PHY_INIT_CFG(QSERDES_COM_SSC_PER1, 0x31), QMP_PHY_INIT_CFG(QSERDES_COM_SSC_PER2, 0x1), @@ -540,7 +539,6 @@ QMP_PHY_INIT_CFG(QSERDES_COM_SSC_STEP_SIZE1, 0x2f), QMP_PHY_INIT_CFG(QSERDES_COM_SSC_STEP_SIZE2, 0x19), QMP_PHY_INIT_CFG(QSERDES_COM_CLK_EP_DIV, 0x19), - QMP_PHY_INIT_CFG(QSERDES_RX_SIGDET_CNTRL, 0x7), }; static const struct qmp_phy_init_tbl ipq8074_pcie_tx_tbl[] = { @@ -548,6 +546,8 @@ QMP_PHY_INIT_CFG(QSERDES_TX_LANE_MODE, 0x6), QMP_PHY_INIT_CFG(QSERDES_TX_RES_CODE_LANE_OFFSET, 0x2), QMP_PHY_INIT_CFG(QSERDES_TX_RCV_DETECT_LVL_2, 0x12), + QMP_PHY_INIT_CFG(QSERDES_TX_EMP_POST1_LVL, 0x36), + QMP_PHY_INIT_CFG(QSERDES_TX_SLEW_CNTL, 0x0a), }; static const struct qmp_phy_init_tbl ipq8074_pcie_rx_tbl[] = { @@ -558,7 +558,6 @@ QMP_PHY_INIT_CFG(QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4, 0xdb), QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_SATURATION_AND_ENABLE, 0x4b), QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_GAIN, 0x4), - QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_GAIN_HALF, 0x4), }; static const struct qmp_phy_init_tbl ipq8074_pcie_pcs_tbl[] = { @@ -1673,6 +1672,9 @@ .pwrdn_ctrl = SW_PWRDN, }; +static const char * const ipq8074_pciephy_clk_l[] = { + "aux", "cfg_ahb", +}; /* list of resets */ static const char * const ipq8074_pciephy_reset_l[] = { "phy", "common", @@ -1690,8 +1692,8 @@ .rx_tbl_num = ARRAY_SIZE(ipq8074_pcie_rx_tbl), .pcs_tbl = ipq8074_pcie_pcs_tbl, .pcs_tbl_num = ARRAY_SIZE(ipq8074_pcie_pcs_tbl), - .clk_list = NULL, - .num_clks = 0, + .clk_list = ipq8074_pciephy_clk_l, + .num_clks = ARRAY_SIZE(ipq8074_pciephy_clk_l), .reset_list = ipq8074_pciephy_reset_l, .num_resets = ARRAY_SIZE(ipq8074_pciephy_reset_l), .vreg_list = NULL, --- linux-riscv-5.8-5.8.0.orig/drivers/phy/qualcomm/phy-qcom-qmp.h +++ linux-riscv-5.8-5.8.0/drivers/phy/qualcomm/phy-qcom-qmp.h @@ -77,6 +77,8 @@ #define QSERDES_COM_CORECLK_DIV_MODE1 0x1bc /* Only for QMP V2 PHY - TX registers */ +#define QSERDES_TX_EMP_POST1_LVL 0x018 +#define QSERDES_TX_SLEW_CNTL 0x040 #define QSERDES_TX_RES_CODE_LANE_OFFSET 0x054 #define QSERDES_TX_DEBUG_BUS_SEL 0x064 #define QSERDES_TX_HIGHZ_TRANSCEIVEREN_BIAS_DRVR_EN 0x068 --- linux-riscv-5.8-5.8.0.orig/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ linux-riscv-5.8-5.8.0/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -111,6 +111,7 @@ struct work_struct work; struct mutex lock; /* protects rphys[...].powered */ enum usb_dr_mode dr_mode; + int irq; bool extcon_host; bool is_otg_channel; bool uses_otg_pins; @@ -389,12 +390,38 @@ rcar_gen3_device_recognition(ch); } +static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch) +{ + struct rcar_gen3_chan *ch = _ch; + void __iomem *usb2_base = ch->base; + u32 status = readl(usb2_base + USB2_OBINTSTA); + irqreturn_t ret = IRQ_NONE; + + if (status & USB2_OBINT_BITS) { + dev_vdbg(ch->dev, "%s: %08x\n", __func__, status); + writel(USB2_OBINT_BITS, usb2_base + USB2_OBINTSTA); + rcar_gen3_device_recognition(ch); + ret = IRQ_HANDLED; + } + + return ret; +} + static int rcar_gen3_phy_usb2_init(struct phy *p) { struct rcar_gen3_phy *rphy = phy_get_drvdata(p); struct rcar_gen3_chan *channel = rphy->ch; void __iomem *usb2_base = channel->base; u32 val; + int ret; + + if (!rcar_gen3_is_any_rphy_initialized(channel) && channel->irq >= 0) { + INIT_WORK(&channel->work, rcar_gen3_phy_usb2_work); + ret = request_irq(channel->irq, rcar_gen3_phy_usb2_irq, + IRQF_SHARED, dev_name(channel->dev), channel); + if (ret < 0) + dev_err(channel->dev, "No irq handler (%d)\n", channel->irq); + } /* Initialize USB2 part */ val = readl(usb2_base + USB2_INT_ENABLE); @@ -433,6 +460,9 @@ val &= ~USB2_INT_ENABLE_UCOM_INTEN; writel(val, usb2_base + USB2_INT_ENABLE); + if (channel->irq >= 0 && !rcar_gen3_is_any_rphy_initialized(channel)) + free_irq(channel->irq, channel); + return 0; } @@ -503,23 +533,6 @@ .owner = THIS_MODULE, }; -static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch) -{ - struct rcar_gen3_chan *ch = _ch; - void __iomem *usb2_base = ch->base; - u32 status = readl(usb2_base + USB2_OBINTSTA); - irqreturn_t ret = IRQ_NONE; - - if (status & USB2_OBINT_BITS) { - dev_vdbg(ch->dev, "%s: %08x\n", __func__, status); - writel(USB2_OBINT_BITS, usb2_base + USB2_OBINTSTA); - rcar_gen3_device_recognition(ch); - ret = IRQ_HANDLED; - } - - return ret; -} - static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = { { .compatible = "renesas,usb2-phy-r8a77470", @@ -598,7 +611,7 @@ struct phy_provider *provider; struct resource *res; const struct phy_ops *phy_usb2_ops; - int irq, ret = 0, i; + int ret = 0, i; if (!dev->of_node) { dev_err(dev, "This driver needs device tree\n"); @@ -614,16 +627,8 @@ if (IS_ERR(channel->base)) return PTR_ERR(channel->base); - /* call request_irq for OTG */ - irq = platform_get_irq_optional(pdev, 0); - if (irq >= 0) { - INIT_WORK(&channel->work, rcar_gen3_phy_usb2_work); - irq = devm_request_irq(dev, irq, rcar_gen3_phy_usb2_irq, - IRQF_SHARED, dev_name(dev), channel); - if (irq < 0) - dev_err(dev, "No irq handler (%d)\n", irq); - } - + /* get irq number here and request_irq for OTG in phy_init */ + channel->irq = platform_get_irq_optional(pdev, 0); channel->dr_mode = rcar_gen3_get_dr_mode(dev->of_node); if (channel->dr_mode != USB_DR_MODE_UNKNOWN) { int ret; @@ -649,8 +654,10 @@ */ pm_runtime_enable(dev); phy_usb2_ops = of_device_get_match_data(dev); - if (!phy_usb2_ops) - return -EINVAL; + if (!phy_usb2_ops) { + ret = -EINVAL; + goto error; + } mutex_init(&channel->lock); for (i = 0; i < NUM_OF_PHYS; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/phy/rockchip/phy-rockchip-emmc.c +++ linux-riscv-5.8-5.8.0/drivers/phy/rockchip/phy-rockchip-emmc.c @@ -240,15 +240,17 @@ * - SDHCI driver to get the PHY * - SDHCI driver to init the PHY * - * The clock is optional, so upon any error we just set to NULL. + * The clock is optional, using clk_get_optional() to get the clock + * and do error processing if the return value != NULL * * NOTE: we don't do anything special for EPROBE_DEFER here. Given the * above expected use case, EPROBE_DEFER isn't sensible to expect, so * it's just like any other error. */ - rk_phy->emmcclk = clk_get(&phy->dev, "emmcclk"); + rk_phy->emmcclk = clk_get_optional(&phy->dev, "emmcclk"); if (IS_ERR(rk_phy->emmcclk)) { - dev_dbg(&phy->dev, "Error getting emmcclk: %d\n", ret); + ret = PTR_ERR(rk_phy->emmcclk); + dev_err(&phy->dev, "Error getting emmcclk: %d\n", ret); rk_phy->emmcclk = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/phy/samsung/phy-exynos5-usbdrd.c +++ linux-riscv-5.8-5.8.0/drivers/phy/samsung/phy-exynos5-usbdrd.c @@ -714,7 +714,9 @@ struct phy_usb_instance *inst = phy_get_drvdata(phy); struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst); - return exynos5420_usbdrd_phy_calibrate(phy_drd); + if (inst->phy_cfg->id == EXYNOS5_DRDPHY_UTMI) + return exynos5420_usbdrd_phy_calibrate(phy_drd); + return 0; } static const struct phy_ops exynos5_usbdrd_phy_ops = { --- linux-riscv-5.8-5.8.0.orig/drivers/phy/tegra/xusb.c +++ linux-riscv-5.8-5.8.0/drivers/phy/tegra/xusb.c @@ -688,7 +688,7 @@ * reference to retrieve usb-phy details. */ port->usb_phy.dev = &lane->pad->lanes[port->index]->dev; - port->usb_phy.dev->driver = port->padctl->dev->driver; + port->usb_phy.dev->driver = port->dev.driver; port->usb_phy.otg->usb_phy = &port->usb_phy; port->usb_phy.otg->set_peripheral = tegra_xusb_set_peripheral; port->usb_phy.otg->set_host = tegra_xusb_set_host; @@ -1242,6 +1242,7 @@ reset: reset_control_assert(padctl->rst); remove: + platform_set_drvdata(pdev, NULL); soc->ops->remove(padctl); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/phy/ti/phy-am654-serdes.c +++ linux-riscv-5.8-5.8.0/drivers/phy/ti/phy-am654-serdes.c @@ -725,8 +725,10 @@ pm_runtime_enable(dev); phy = devm_phy_create(dev, NULL, &ops); - if (IS_ERR(phy)) - return PTR_ERR(phy); + if (IS_ERR(phy)) { + ret = PTR_ERR(phy); + goto clk_err; + } phy_set_drvdata(phy, am654_phy); phy_provider = devm_of_phy_provider_register(dev, serdes_am654_xlate); --- linux-riscv-5.8-5.8.0.orig/drivers/phy/ti/phy-omap-usb2.c +++ linux-riscv-5.8-5.8.0/drivers/phy/ti/phy-omap-usb2.c @@ -22,10 +22,15 @@ #include #include #include +#include #define USB2PHY_ANA_CONFIG1 0x4c #define USB2PHY_DISCON_BYP_LATCH BIT(31) +#define USB2PHY_CHRG_DET 0x14 +#define USB2PHY_CHRG_DET_USE_CHG_DET_REG BIT(29) +#define USB2PHY_CHRG_DET_DIS_CHG_DET BIT(28) + /* SoC Specific USB2_OTG register definitions */ #define AM654_USB2_OTG_PD BIT(8) #define AM654_USB2_VBUS_DET_EN BIT(5) @@ -43,6 +48,7 @@ #define OMAP_USB2_HAS_START_SRP BIT(0) #define OMAP_USB2_HAS_SET_VBUS BIT(1) #define OMAP_USB2_CALIBRATE_FALSE_DISCONNECT BIT(2) +#define OMAP_USB2_DISABLE_CHRG_DET BIT(3) struct omap_usb { struct usb_phy phy; @@ -236,6 +242,13 @@ omap_usb_writel(phy->phy_base, USB2PHY_ANA_CONFIG1, val); } + if (phy->flags & OMAP_USB2_DISABLE_CHRG_DET) { + val = omap_usb_readl(phy->phy_base, USB2PHY_CHRG_DET); + val |= USB2PHY_CHRG_DET_USE_CHG_DET_REG | + USB2PHY_CHRG_DET_DIS_CHG_DET; + omap_usb_writel(phy->phy_base, USB2PHY_CHRG_DET, val); + } + return 0; } @@ -329,6 +342,26 @@ }; MODULE_DEVICE_TABLE(of, omap_usb2_id_table); +static void omap_usb2_init_errata(struct omap_usb *phy) +{ + static const struct soc_device_attribute am65x_sr10_soc_devices[] = { + { .family = "AM65X", .revision = "SR1.0" }, + { /* sentinel */ } + }; + + /* + * Errata i2075: USB2PHY: USB2PHY Charger Detect is Enabled by + * Default Without VBUS Presence. + * + * AM654x SR1.0 has a silicon bug due to which D+ is pulled high after + * POR, which could cause enumeration failure with some USB hubs. + * Disabling the USB2_PHY Charger Detect function will put D+ + * into the normal state. + */ + if (soc_device_match(am65x_sr10_soc_devices)) + phy->flags |= OMAP_USB2_DISABLE_CHRG_DET; +} + static int omap_usb2_probe(struct platform_device *pdev) { struct omap_usb *phy; @@ -366,14 +399,14 @@ phy->mask = phy_data->mask; phy->power_on = phy_data->power_on; phy->power_off = phy_data->power_off; + phy->flags = phy_data->flags; - if (phy_data->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) { - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - phy->phy_base = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(phy->phy_base)) - return PTR_ERR(phy->phy_base); - phy->flags |= OMAP_USB2_CALIBRATE_FALSE_DISCONNECT; - } + omap_usb2_init_errata(phy); + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + phy->phy_base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(phy->phy_base)) + return PTR_ERR(phy->phy_base); phy->syscon_phy_power = syscon_regmap_lookup_by_phandle(node, "syscon-phy-power"); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c @@ -345,7 +345,7 @@ #define D22 40 SIG_EXPR_LIST_DECL_SESG(D22, SD1CLK, SD1, SIG_DESC_SET(SCU414, 8)); -SIG_EXPR_LIST_DECL_SEMG(D22, PWM8, PWM8G0, PWM8, SIG_DESC_SET(SCU414, 8)); +SIG_EXPR_LIST_DECL_SEMG(D22, PWM8, PWM8G0, PWM8, SIG_DESC_SET(SCU4B4, 8)); PIN_DECL_2(D22, GPIOF0, SD1CLK, PWM8); GROUP_DECL(PWM8G0, D22); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/aspeed/pinctrl-aspeed.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/aspeed/pinctrl-aspeed.c @@ -277,13 +277,76 @@ static bool aspeed_expr_is_gpio(const struct aspeed_sig_expr *expr) { /* - * The signal type is GPIO if the signal name has "GPIO" as a prefix. - * strncmp (rather than strcmp) is used to implement the prefix - * requirement. + * We need to differentiate between GPIO and non-GPIO signals to + * implement the gpio_request_enable() interface. For better or worse + * the ASPEED pinctrl driver uses the expression names to determine + * whether an expression will mux a pin for GPIO. * - * expr->signal might look like "GPIOT3" in the GPIO case. + * Generally we have the following - A GPIO such as B1 has: + * + * - expr->signal set to "GPIOB1" + * - expr->function set to "GPIOB1" + * + * Using this fact we can determine whether the provided expression is + * a GPIO expression by testing the signal name for the string prefix + * "GPIO". + * + * However, some GPIOs are input-only, and the ASPEED datasheets name + * them differently. An input-only GPIO such as T0 has: + * + * - expr->signal set to "GPIT0" + * - expr->function set to "GPIT0" + * + * It's tempting to generalise the prefix test from "GPIO" to "GPI" to + * account for both GPIOs and GPIs, but in doing so we run aground on + * another feature: + * + * Some pins in the ASPEED BMC SoCs have a "pass-through" GPIO + * function where the input state of one pin is replicated as the + * output state of another (as if they were shorted together - a mux + * configuration that is typically enabled by hardware strapping). + * This feature allows the BMC to pass e.g. power button state through + * to the host while the BMC is yet to boot, but take control of the + * button state once the BMC has booted by muxing each pin as a + * separate, pin-specific GPIO. + * + * Conceptually this pass-through mode is a form of GPIO and is named + * as such in the datasheets, e.g. "GPID0". This naming similarity + * trips us up with the simple GPI-prefixed-signal-name scheme + * discussed above, as the pass-through configuration is not what we + * want when muxing a pin as GPIO for the GPIO subsystem. + * + * On e.g. the AST2400, a pass-through function "GPID0" is grouped on + * balls A18 and D16, where we have: + * + * For ball A18: + * - expr->signal set to "GPID0IN" + * - expr->function set to "GPID0" + * + * For ball D16: + * - expr->signal set to "GPID0OUT" + * - expr->function set to "GPID0" + * + * By contrast, the pin-specific GPIO expressions for the same pins are + * as follows: + * + * For ball A18: + * - expr->signal looks like "GPIOD0" + * - expr->function looks like "GPIOD0" + * + * For ball D16: + * - expr->signal looks like "GPIOD1" + * - expr->function looks like "GPIOD1" + * + * Testing both the signal _and_ function names gives us the means + * differentiate the pass-through GPIO pinmux configuration from the + * pin-specific configuration that the GPIO subsystem is after: An + * expression is a pin-specific (non-pass-through) GPIO configuration + * if the signal prefix is "GPI" and the signal name matches the + * function name. */ - return strncmp(expr->signal, "GPIO", 4) == 0; + return !strncmp(expr->signal, "GPI", 3) && + !strcmp(expr->signal, expr->function); } static bool aspeed_gpio_in_exprs(const struct aspeed_sig_expr **exprs) @@ -515,7 +578,7 @@ val = pmap->val << __ffs(pconf->mask); rc = regmap_update_bits(pdata->scu, pconf->reg, - pmap->mask, val); + pconf->mask, val); if (rc < 0) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/aspeed/pinmux-aspeed.h +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/aspeed/pinmux-aspeed.h @@ -452,10 +452,11 @@ * evaluation of the descriptors. * * @signal: The signal name for the priority level on the pin. If the signal - * type is GPIO, then the signal name must begin with the string - * "GPIO", e.g. GPIOA0, GPIOT4 etc. + * type is GPIO, then the signal name must begin with the + * prefix "GPI", e.g. GPIOA0, GPIT0 etc. * @function: The name of the function the signal participates in for the - * associated expression + * associated expression. For pin-specific GPIO, the function + * name must match the signal name. * @ndescs: The number of signal descriptors in the expression * @descs: Pointer to an array of signal descriptors that comprise the * function expression --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/bcm/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/bcm/Kconfig @@ -23,6 +23,7 @@ select PINMUX select PINCONF select GENERIC_PINCONF + select GPIOLIB select GPIOLIB_IRQCHIP default ARCH_BCM2835 || ARCH_BRCMSTB help --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/devicetree.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/devicetree.c @@ -129,9 +129,8 @@ if (!np_pctldev || of_node_is_root(np_pctldev)) { of_node_put(np_pctldev); ret = driver_deferred_probe_check_state(p->dev); - /* keep deferring if modules are enabled unless we've timed out */ - if (IS_ENABLED(CONFIG_MODULES) && !allow_default && - (ret == -ENODEV)) + /* keep deferring if modules are enabled */ + if (IS_ENABLED(CONFIG_MODULES) && !allow_default && ret < 0) ret = -EPROBE_DEFER; return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-baytrail.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-baytrail.c @@ -1049,7 +1049,6 @@ break; case PIN_CONFIG_INPUT_DEBOUNCE: debounce = readl(db_reg); - debounce &= ~BYT_DEBOUNCE_PULSE_MASK; if (arg) conf |= BYT_DEBOUNCE_EN; @@ -1058,24 +1057,31 @@ switch (arg) { case 375: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_375US; break; case 750: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_750US; break; case 1500: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_1500US; break; case 3000: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_3MS; break; case 6000: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_6MS; break; case 12000: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_12MS; break; case 24000: + debounce &= ~BYT_DEBOUNCE_PULSE_MASK; debounce |= BYT_DEBOUNCE_PULSE_24MS; break; default: --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-intel.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-intel.c @@ -62,10 +62,10 @@ #define PADCFG1_TERM_UP BIT(13) #define PADCFG1_TERM_SHIFT 10 #define PADCFG1_TERM_MASK GENMASK(12, 10) -#define PADCFG1_TERM_20K 4 -#define PADCFG1_TERM_2K 3 -#define PADCFG1_TERM_5K 2 -#define PADCFG1_TERM_1K 1 +#define PADCFG1_TERM_20K BIT(2) +#define PADCFG1_TERM_5K BIT(1) +#define PADCFG1_TERM_1K BIT(0) +#define PADCFG1_TERM_833 (BIT(1) | BIT(0)) #define PADCFG2 0x008 #define PADCFG2_DEBEN BIT(0) @@ -540,12 +540,12 @@ return -EINVAL; switch (term) { + case PADCFG1_TERM_833: + arg = 833; + break; case PADCFG1_TERM_1K: arg = 1000; break; - case PADCFG1_TERM_2K: - arg = 2000; - break; case PADCFG1_TERM_5K: arg = 5000; break; @@ -561,6 +561,11 @@ return -EINVAL; switch (term) { + case PADCFG1_TERM_833: + if (!(community->features & PINCTRL_FEATURE_1K_PD)) + return -EINVAL; + arg = 833; + break; case PADCFG1_TERM_1K: if (!(community->features & PINCTRL_FEATURE_1K_PD)) return -EINVAL; @@ -629,6 +634,10 @@ value |= PADCFG1_TERM_UP; + /* Set default strength value in case none is given */ + if (arg == 1) + arg = 5000; + switch (arg) { case 20000: value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT; @@ -636,12 +645,12 @@ case 5000: value |= PADCFG1_TERM_5K << PADCFG1_TERM_SHIFT; break; - case 2000: - value |= PADCFG1_TERM_2K << PADCFG1_TERM_SHIFT; - break; case 1000: value |= PADCFG1_TERM_1K << PADCFG1_TERM_SHIFT; break; + case 833: + value |= PADCFG1_TERM_833 << PADCFG1_TERM_SHIFT; + break; default: ret = -EINVAL; } @@ -651,6 +660,10 @@ case PIN_CONFIG_BIAS_PULL_DOWN: value &= ~(PADCFG1_TERM_UP | PADCFG1_TERM_MASK); + /* Set default strength value in case none is given */ + if (arg == 1) + arg = 5000; + switch (arg) { case 20000: value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT; @@ -665,6 +678,13 @@ } value |= PADCFG1_TERM_1K << PADCFG1_TERM_SHIFT; break; + case 833: + if (!(community->features & PINCTRL_FEATURE_1K_PD)) { + ret = -EINVAL; + break; + } + value |= PADCFG1_TERM_833 << PADCFG1_TERM_SHIFT; + break; default: ret = -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-jasperlake.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-jasperlake.c @@ -16,7 +16,7 @@ #define JSL_PAD_OWN 0x020 #define JSL_PADCFGLOCK 0x080 -#define JSL_HOSTSW_OWN 0x0b0 +#define JSL_HOSTSW_OWN 0x0c0 #define JSL_GPI_IS 0x100 #define JSL_GPI_IE 0x120 --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-lewisburg.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-lewisburg.c @@ -299,9 +299,9 @@ static const struct intel_community lbg_communities[] = { LBG_COMMUNITY(0, 0, 71), LBG_COMMUNITY(1, 72, 132), - LBG_COMMUNITY(3, 133, 144), - LBG_COMMUNITY(4, 145, 180), - LBG_COMMUNITY(5, 181, 246), + LBG_COMMUNITY(3, 133, 143), + LBG_COMMUNITY(4, 144, 178), + LBG_COMMUNITY(5, 179, 246), }; static const struct intel_pinctrl_soc_data lbg_soc_data = { --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-merrifield.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-merrifield.c @@ -741,6 +741,10 @@ mask |= BUFCFG_Px_EN_MASK | BUFCFG_PUPD_VAL_MASK; bits |= BUFCFG_PU_EN; + /* Set default strength value in case none is given */ + if (arg == 1) + arg = 20000; + switch (arg) { case 50000: bits |= BUFCFG_PUPD_VAL_50K << BUFCFG_PUPD_VAL_SHIFT; @@ -761,6 +765,10 @@ mask |= BUFCFG_Px_EN_MASK | BUFCFG_PUPD_VAL_MASK; bits |= BUFCFG_PD_EN; + /* Set default strength value in case none is given */ + if (arg == 1) + arg = 20000; + switch (arg) { case 50000: bits |= BUFCFG_PUPD_VAL_50K << BUFCFG_PUPD_VAL_SHIFT; --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/intel/pinctrl-tigerlake.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/intel/pinctrl-tigerlake.c @@ -380,8 +380,366 @@ .ncommunities = ARRAY_SIZE(tgllp_communities), }; +/* Tiger Lake-H */ +static const struct pinctrl_pin_desc tglh_pins[] = { + /* GPP_A */ + PINCTRL_PIN(0, "SPI0_IO_2"), + PINCTRL_PIN(1, "SPI0_IO_3"), + PINCTRL_PIN(2, "SPI0_MOSI_IO_0"), + PINCTRL_PIN(3, "SPI0_MISO_IO_1"), + PINCTRL_PIN(4, "SPI0_TPM_CSB"), + PINCTRL_PIN(5, "SPI0_FLASH_0_CSB"), + PINCTRL_PIN(6, "SPI0_FLASH_1_CSB"), + PINCTRL_PIN(7, "SPI0_CLK"), + PINCTRL_PIN(8, "ESPI_IO_0"), + PINCTRL_PIN(9, "ESPI_IO_1"), + PINCTRL_PIN(10, "ESPI_IO_2"), + PINCTRL_PIN(11, "ESPI_IO_3"), + PINCTRL_PIN(12, "ESPI_CS0B"), + PINCTRL_PIN(13, "ESPI_CLK"), + PINCTRL_PIN(14, "ESPI_RESETB"), + PINCTRL_PIN(15, "ESPI_CS1B"), + PINCTRL_PIN(16, "ESPI_CS2B"), + PINCTRL_PIN(17, "ESPI_CS3B"), + PINCTRL_PIN(18, "ESPI_ALERT0B"), + PINCTRL_PIN(19, "ESPI_ALERT1B"), + PINCTRL_PIN(20, "ESPI_ALERT2B"), + PINCTRL_PIN(21, "ESPI_ALERT3B"), + PINCTRL_PIN(22, "GPPC_A_14"), + PINCTRL_PIN(23, "SPI0_CLK_LOOPBK"), + PINCTRL_PIN(24, "ESPI_CLK_LOOPBK"), + /* GPP_R */ + PINCTRL_PIN(25, "HDA_BCLK"), + PINCTRL_PIN(26, "HDA_SYNC"), + PINCTRL_PIN(27, "HDA_SDO"), + PINCTRL_PIN(28, "HDA_SDI_0"), + PINCTRL_PIN(29, "HDA_RSTB"), + PINCTRL_PIN(30, "HDA_SDI_1"), + PINCTRL_PIN(31, "GPP_R_6"), + PINCTRL_PIN(32, "GPP_R_7"), + PINCTRL_PIN(33, "GPP_R_8"), + PINCTRL_PIN(34, "PCIE_LNK_DOWN"), + PINCTRL_PIN(35, "ISH_UART0_RTSB"), + PINCTRL_PIN(36, "SX_EXIT_HOLDOFFB"), + PINCTRL_PIN(37, "CLKOUT_48"), + PINCTRL_PIN(38, "ISH_GP_7"), + PINCTRL_PIN(39, "ISH_GP_0"), + PINCTRL_PIN(40, "ISH_GP_1"), + PINCTRL_PIN(41, "ISH_GP_2"), + PINCTRL_PIN(42, "ISH_GP_3"), + PINCTRL_PIN(43, "ISH_GP_4"), + PINCTRL_PIN(44, "ISH_GP_5"), + /* GPP_B */ + PINCTRL_PIN(45, "GSPI0_CS1B"), + PINCTRL_PIN(46, "GSPI1_CS1B"), + PINCTRL_PIN(47, "VRALERTB"), + PINCTRL_PIN(48, "CPU_GP_2"), + PINCTRL_PIN(49, "CPU_GP_3"), + PINCTRL_PIN(50, "SRCCLKREQB_0"), + PINCTRL_PIN(51, "SRCCLKREQB_1"), + PINCTRL_PIN(52, "SRCCLKREQB_2"), + PINCTRL_PIN(53, "SRCCLKREQB_3"), + PINCTRL_PIN(54, "SRCCLKREQB_4"), + PINCTRL_PIN(55, "SRCCLKREQB_5"), + PINCTRL_PIN(56, "I2S_MCLK"), + PINCTRL_PIN(57, "SLP_S0B"), + PINCTRL_PIN(58, "PLTRSTB"), + PINCTRL_PIN(59, "SPKR"), + PINCTRL_PIN(60, "GSPI0_CS0B"), + PINCTRL_PIN(61, "GSPI0_CLK"), + PINCTRL_PIN(62, "GSPI0_MISO"), + PINCTRL_PIN(63, "GSPI0_MOSI"), + PINCTRL_PIN(64, "GSPI1_CS0B"), + PINCTRL_PIN(65, "GSPI1_CLK"), + PINCTRL_PIN(66, "GSPI1_MISO"), + PINCTRL_PIN(67, "GSPI1_MOSI"), + PINCTRL_PIN(68, "SML1ALERTB"), + PINCTRL_PIN(69, "GSPI0_CLK_LOOPBK"), + PINCTRL_PIN(70, "GSPI1_CLK_LOOPBK"), + /* vGPIO_0 */ + PINCTRL_PIN(71, "ESPI_USB_OCB_0"), + PINCTRL_PIN(72, "ESPI_USB_OCB_1"), + PINCTRL_PIN(73, "ESPI_USB_OCB_2"), + PINCTRL_PIN(74, "ESPI_USB_OCB_3"), + PINCTRL_PIN(75, "USB_CPU_OCB_0"), + PINCTRL_PIN(76, "USB_CPU_OCB_1"), + PINCTRL_PIN(77, "USB_CPU_OCB_2"), + PINCTRL_PIN(78, "USB_CPU_OCB_3"), + /* GPP_D */ + PINCTRL_PIN(79, "SPI1_CSB"), + PINCTRL_PIN(80, "SPI1_CLK"), + PINCTRL_PIN(81, "SPI1_MISO_IO_1"), + PINCTRL_PIN(82, "SPI1_MOSI_IO_0"), + PINCTRL_PIN(83, "SML1CLK"), + PINCTRL_PIN(84, "I2S2_SFRM"), + PINCTRL_PIN(85, "I2S2_TXD"), + PINCTRL_PIN(86, "I2S2_RXD"), + PINCTRL_PIN(87, "I2S2_SCLK"), + PINCTRL_PIN(88, "SML0CLK"), + PINCTRL_PIN(89, "SML0DATA"), + PINCTRL_PIN(90, "GPP_D_11"), + PINCTRL_PIN(91, "ISH_UART0_CTSB"), + PINCTRL_PIN(92, "SPI1_IO_2"), + PINCTRL_PIN(93, "SPI1_IO_3"), + PINCTRL_PIN(94, "SML1DATA"), + PINCTRL_PIN(95, "GSPI3_CS0B"), + PINCTRL_PIN(96, "GSPI3_CLK"), + PINCTRL_PIN(97, "GSPI3_MISO"), + PINCTRL_PIN(98, "GSPI3_MOSI"), + PINCTRL_PIN(99, "UART3_RXD"), + PINCTRL_PIN(100, "UART3_TXD"), + PINCTRL_PIN(101, "UART3_RTSB"), + PINCTRL_PIN(102, "UART3_CTSB"), + PINCTRL_PIN(103, "SPI1_CLK_LOOPBK"), + PINCTRL_PIN(104, "GSPI3_CLK_LOOPBK"), + /* GPP_C */ + PINCTRL_PIN(105, "SMBCLK"), + PINCTRL_PIN(106, "SMBDATA"), + PINCTRL_PIN(107, "SMBALERTB"), + PINCTRL_PIN(108, "ISH_UART0_RXD"), + PINCTRL_PIN(109, "ISH_UART0_TXD"), + PINCTRL_PIN(110, "SML0ALERTB"), + PINCTRL_PIN(111, "ISH_I2C2_SDA"), + PINCTRL_PIN(112, "ISH_I2C2_SCL"), + PINCTRL_PIN(113, "UART0_RXD"), + PINCTRL_PIN(114, "UART0_TXD"), + PINCTRL_PIN(115, "UART0_RTSB"), + PINCTRL_PIN(116, "UART0_CTSB"), + PINCTRL_PIN(117, "UART1_RXD"), + PINCTRL_PIN(118, "UART1_TXD"), + PINCTRL_PIN(119, "UART1_RTSB"), + PINCTRL_PIN(120, "UART1_CTSB"), + PINCTRL_PIN(121, "I2C0_SDA"), + PINCTRL_PIN(122, "I2C0_SCL"), + PINCTRL_PIN(123, "I2C1_SDA"), + PINCTRL_PIN(124, "I2C1_SCL"), + PINCTRL_PIN(125, "UART2_RXD"), + PINCTRL_PIN(126, "UART2_TXD"), + PINCTRL_PIN(127, "UART2_RTSB"), + PINCTRL_PIN(128, "UART2_CTSB"), + /* GPP_S */ + PINCTRL_PIN(129, "SNDW1_CLK"), + PINCTRL_PIN(130, "SNDW1_DATA"), + PINCTRL_PIN(131, "SNDW2_CLK"), + PINCTRL_PIN(132, "SNDW2_DATA"), + PINCTRL_PIN(133, "SNDW3_CLK"), + PINCTRL_PIN(134, "SNDW3_DATA"), + PINCTRL_PIN(135, "SNDW4_CLK"), + PINCTRL_PIN(136, "SNDW4_DATA"), + /* GPP_G */ + PINCTRL_PIN(137, "DDPA_CTRLCLK"), + PINCTRL_PIN(138, "DDPA_CTRLDATA"), + PINCTRL_PIN(139, "DNX_FORCE_RELOAD"), + PINCTRL_PIN(140, "GMII_MDC_0"), + PINCTRL_PIN(141, "GMII_MDIO_0"), + PINCTRL_PIN(142, "SLP_DRAMB"), + PINCTRL_PIN(143, "GPPC_G_6"), + PINCTRL_PIN(144, "GPPC_G_7"), + PINCTRL_PIN(145, "ISH_SPI_CSB"), + PINCTRL_PIN(146, "ISH_SPI_CLK"), + PINCTRL_PIN(147, "ISH_SPI_MISO"), + PINCTRL_PIN(148, "ISH_SPI_MOSI"), + PINCTRL_PIN(149, "DDP1_CTRLCLK"), + PINCTRL_PIN(150, "DDP1_CTRLDATA"), + PINCTRL_PIN(151, "DDP2_CTRLCLK"), + PINCTRL_PIN(152, "DDP2_CTRLDATA"), + PINCTRL_PIN(153, "GSPI2_CLK_LOOPBK"), + /* vGPIO */ + PINCTRL_PIN(154, "CNV_BTEN"), + PINCTRL_PIN(155, "CNV_BT_HOST_WAKEB"), + PINCTRL_PIN(156, "CNV_BT_IF_SELECT"), + PINCTRL_PIN(157, "vCNV_BT_UART_TXD"), + PINCTRL_PIN(158, "vCNV_BT_UART_RXD"), + PINCTRL_PIN(159, "vCNV_BT_UART_CTS_B"), + PINCTRL_PIN(160, "vCNV_BT_UART_RTS_B"), + PINCTRL_PIN(161, "vCNV_MFUART1_TXD"), + PINCTRL_PIN(162, "vCNV_MFUART1_RXD"), + PINCTRL_PIN(163, "vCNV_MFUART1_CTS_B"), + PINCTRL_PIN(164, "vCNV_MFUART1_RTS_B"), + PINCTRL_PIN(165, "vUART0_TXD"), + PINCTRL_PIN(166, "vUART0_RXD"), + PINCTRL_PIN(167, "vUART0_CTS_B"), + PINCTRL_PIN(168, "vUART0_RTS_B"), + PINCTRL_PIN(169, "vISH_UART0_TXD"), + PINCTRL_PIN(170, "vISH_UART0_RXD"), + PINCTRL_PIN(171, "vISH_UART0_CTS_B"), + PINCTRL_PIN(172, "vISH_UART0_RTS_B"), + PINCTRL_PIN(173, "vCNV_BT_I2S_BCLK"), + PINCTRL_PIN(174, "vCNV_BT_I2S_WS_SYNC"), + PINCTRL_PIN(175, "vCNV_BT_I2S_SDO"), + PINCTRL_PIN(176, "vCNV_BT_I2S_SDI"), + PINCTRL_PIN(177, "vI2S2_SCLK"), + PINCTRL_PIN(178, "vI2S2_SFRM"), + PINCTRL_PIN(179, "vI2S2_TXD"), + PINCTRL_PIN(180, "vI2S2_RXD"), + /* GPP_E */ + PINCTRL_PIN(181, "SATAXPCIE_0"), + PINCTRL_PIN(182, "SATAXPCIE_1"), + PINCTRL_PIN(183, "SATAXPCIE_2"), + PINCTRL_PIN(184, "CPU_GP_0"), + PINCTRL_PIN(185, "SATA_DEVSLP_0"), + PINCTRL_PIN(186, "SATA_DEVSLP_1"), + PINCTRL_PIN(187, "SATA_DEVSLP_2"), + PINCTRL_PIN(188, "CPU_GP_1"), + PINCTRL_PIN(189, "SATA_LEDB"), + PINCTRL_PIN(190, "USB2_OCB_0"), + PINCTRL_PIN(191, "USB2_OCB_1"), + PINCTRL_PIN(192, "USB2_OCB_2"), + PINCTRL_PIN(193, "USB2_OCB_3"), + /* GPP_F */ + PINCTRL_PIN(194, "SATAXPCIE_3"), + PINCTRL_PIN(195, "SATAXPCIE_4"), + PINCTRL_PIN(196, "SATAXPCIE_5"), + PINCTRL_PIN(197, "SATAXPCIE_6"), + PINCTRL_PIN(198, "SATAXPCIE_7"), + PINCTRL_PIN(199, "SATA_DEVSLP_3"), + PINCTRL_PIN(200, "SATA_DEVSLP_4"), + PINCTRL_PIN(201, "SATA_DEVSLP_5"), + PINCTRL_PIN(202, "SATA_DEVSLP_6"), + PINCTRL_PIN(203, "SATA_DEVSLP_7"), + PINCTRL_PIN(204, "SATA_SCLOCK"), + PINCTRL_PIN(205, "SATA_SLOAD"), + PINCTRL_PIN(206, "SATA_SDATAOUT1"), + PINCTRL_PIN(207, "SATA_SDATAOUT0"), + PINCTRL_PIN(208, "PS_ONB"), + PINCTRL_PIN(209, "M2_SKT2_CFG_0"), + PINCTRL_PIN(210, "M2_SKT2_CFG_1"), + PINCTRL_PIN(211, "M2_SKT2_CFG_2"), + PINCTRL_PIN(212, "M2_SKT2_CFG_3"), + PINCTRL_PIN(213, "L_VDDEN"), + PINCTRL_PIN(214, "L_BKLTEN"), + PINCTRL_PIN(215, "L_BKLTCTL"), + PINCTRL_PIN(216, "VNN_CTRL"), + PINCTRL_PIN(217, "GPP_F_23"), + /* GPP_H */ + PINCTRL_PIN(218, "SRCCLKREQB_6"), + PINCTRL_PIN(219, "SRCCLKREQB_7"), + PINCTRL_PIN(220, "SRCCLKREQB_8"), + PINCTRL_PIN(221, "SRCCLKREQB_9"), + PINCTRL_PIN(222, "SRCCLKREQB_10"), + PINCTRL_PIN(223, "SRCCLKREQB_11"), + PINCTRL_PIN(224, "SRCCLKREQB_12"), + PINCTRL_PIN(225, "SRCCLKREQB_13"), + PINCTRL_PIN(226, "SRCCLKREQB_14"), + PINCTRL_PIN(227, "SRCCLKREQB_15"), + PINCTRL_PIN(228, "SML2CLK"), + PINCTRL_PIN(229, "SML2DATA"), + PINCTRL_PIN(230, "SML2ALERTB"), + PINCTRL_PIN(231, "SML3CLK"), + PINCTRL_PIN(232, "SML3DATA"), + PINCTRL_PIN(233, "SML3ALERTB"), + PINCTRL_PIN(234, "SML4CLK"), + PINCTRL_PIN(235, "SML4DATA"), + PINCTRL_PIN(236, "SML4ALERTB"), + PINCTRL_PIN(237, "ISH_I2C0_SDA"), + PINCTRL_PIN(238, "ISH_I2C0_SCL"), + PINCTRL_PIN(239, "ISH_I2C1_SDA"), + PINCTRL_PIN(240, "ISH_I2C1_SCL"), + PINCTRL_PIN(241, "TIME_SYNC_0"), + /* GPP_J */ + PINCTRL_PIN(242, "CNV_PA_BLANKING"), + PINCTRL_PIN(243, "CPU_C10_GATEB"), + PINCTRL_PIN(244, "CNV_BRI_DT"), + PINCTRL_PIN(245, "CNV_BRI_RSP"), + PINCTRL_PIN(246, "CNV_RGI_DT"), + PINCTRL_PIN(247, "CNV_RGI_RSP"), + PINCTRL_PIN(248, "CNV_MFUART2_RXD"), + PINCTRL_PIN(249, "CNV_MFUART2_TXD"), + PINCTRL_PIN(250, "GPP_J_8"), + PINCTRL_PIN(251, "GPP_J_9"), + /* GPP_K */ + PINCTRL_PIN(252, "GSXDOUT"), + PINCTRL_PIN(253, "GSXSLOAD"), + PINCTRL_PIN(254, "GSXDIN"), + PINCTRL_PIN(255, "GSXSRESETB"), + PINCTRL_PIN(256, "GSXCLK"), + PINCTRL_PIN(257, "ADR_COMPLETE"), + PINCTRL_PIN(258, "DDSP_HPD_A"), + PINCTRL_PIN(259, "DDSP_HPD_B"), + PINCTRL_PIN(260, "CORE_VID_0"), + PINCTRL_PIN(261, "CORE_VID_1"), + PINCTRL_PIN(262, "DDSP_HPD_C"), + PINCTRL_PIN(263, "GPP_K_11"), + PINCTRL_PIN(264, "SYS_PWROK"), + PINCTRL_PIN(265, "SYS_RESETB"), + PINCTRL_PIN(266, "MLK_RSTB"), + /* GPP_I */ + PINCTRL_PIN(267, "PMCALERTB"), + PINCTRL_PIN(268, "DDSP_HPD_1"), + PINCTRL_PIN(269, "DDSP_HPD_2"), + PINCTRL_PIN(270, "DDSP_HPD_3"), + PINCTRL_PIN(271, "DDSP_HPD_4"), + PINCTRL_PIN(272, "DDPB_CTRLCLK"), + PINCTRL_PIN(273, "DDPB_CTRLDATA"), + PINCTRL_PIN(274, "DDPC_CTRLCLK"), + PINCTRL_PIN(275, "DDPC_CTRLDATA"), + PINCTRL_PIN(276, "FUSA_DIAGTEST_EN"), + PINCTRL_PIN(277, "FUSA_DIAGTEST_MODE"), + PINCTRL_PIN(278, "USB2_OCB_4"), + PINCTRL_PIN(279, "USB2_OCB_5"), + PINCTRL_PIN(280, "USB2_OCB_6"), + PINCTRL_PIN(281, "USB2_OCB_7"), + /* JTAG */ + PINCTRL_PIN(282, "JTAG_TDO"), + PINCTRL_PIN(283, "JTAGX"), + PINCTRL_PIN(284, "PRDYB"), + PINCTRL_PIN(285, "PREQB"), + PINCTRL_PIN(286, "JTAG_TDI"), + PINCTRL_PIN(287, "JTAG_TMS"), + PINCTRL_PIN(288, "JTAG_TCK"), + PINCTRL_PIN(289, "DBG_PMODE"), + PINCTRL_PIN(290, "CPU_TRSTB"), +}; + +static const struct intel_padgroup tglh_community0_gpps[] = { + TGL_GPP(0, 0, 24, 0), /* GPP_A */ + TGL_GPP(1, 25, 44, 128), /* GPP_R */ + TGL_GPP(2, 45, 70, 32), /* GPP_B */ + TGL_GPP(3, 71, 78, INTEL_GPIO_BASE_NOMAP), /* vGPIO_0 */ +}; + +static const struct intel_padgroup tglh_community1_gpps[] = { + TGL_GPP(0, 79, 104, 96), /* GPP_D */ + TGL_GPP(1, 105, 128, 64), /* GPP_C */ + TGL_GPP(2, 129, 136, 160), /* GPP_S */ + TGL_GPP(3, 137, 153, 192), /* GPP_G */ + TGL_GPP(4, 154, 180, 224), /* vGPIO */ +}; + +static const struct intel_padgroup tglh_community3_gpps[] = { + TGL_GPP(0, 181, 193, 256), /* GPP_E */ + TGL_GPP(1, 194, 217, 288), /* GPP_F */ +}; + +static const struct intel_padgroup tglh_community4_gpps[] = { + TGL_GPP(0, 218, 241, 320), /* GPP_H */ + TGL_GPP(1, 242, 251, 384), /* GPP_J */ + TGL_GPP(2, 252, 266, 352), /* GPP_K */ +}; + +static const struct intel_padgroup tglh_community5_gpps[] = { + TGL_GPP(0, 267, 281, 416), /* GPP_I */ + TGL_GPP(1, 282, 290, INTEL_GPIO_BASE_NOMAP), /* JTAG */ +}; + +static const struct intel_community tglh_communities[] = { + TGL_COMMUNITY(0, 0, 78, tglh_community0_gpps), + TGL_COMMUNITY(1, 79, 180, tglh_community1_gpps), + TGL_COMMUNITY(2, 181, 217, tglh_community3_gpps), + TGL_COMMUNITY(3, 218, 266, tglh_community4_gpps), + TGL_COMMUNITY(4, 267, 290, tglh_community5_gpps), +}; + +static const struct intel_pinctrl_soc_data tglh_soc_data = { + .pins = tglh_pins, + .npins = ARRAY_SIZE(tglh_pins), + .communities = tglh_communities, + .ncommunities = ARRAY_SIZE(tglh_communities), +}; + static const struct acpi_device_id tgl_pinctrl_acpi_match[] = { { "INT34C5", (kernel_ulong_t)&tgllp_soc_data }, + { "INT34C6", (kernel_ulong_t)&tglh_soc_data }, { } }; MODULE_DEVICE_TABLE(acpi, tgl_pinctrl_acpi_match); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c @@ -243,6 +243,33 @@ return EINT_NA; } +/* + * Virtual GPIO only used inside SOC and not being exported to outside SOC. + * Some modules use virtual GPIO as eint (e.g. pmif or usb). + * In MTK platform, external interrupt (EINT) and GPIO is 1-1 mapping + * and we can set GPIO as eint. + * But some modules use specific eint which doesn't have real GPIO pin. + * So we use virtual GPIO to map it. + */ + +bool mtk_is_virt_gpio(struct mtk_pinctrl *hw, unsigned int gpio_n) +{ + const struct mtk_pin_desc *desc; + bool virt_gpio = false; + + desc = (const struct mtk_pin_desc *)&hw->soc->pins[gpio_n]; + + /* if the GPIO is not supported for eint mode */ + if (desc->eint.eint_m == NO_EINT_SUPPORT) + return virt_gpio; + + if (desc->funcs && !desc->funcs[desc->eint.eint_m].name) + virt_gpio = true; + + return virt_gpio; +} +EXPORT_SYMBOL_GPL(mtk_is_virt_gpio); + static int mtk_xt_get_gpio_n(void *data, unsigned long eint_n, unsigned int *gpio_n, struct gpio_chip **gpio_chip) @@ -295,6 +322,9 @@ if (err) return err; + if (mtk_is_virt_gpio(hw, gpio_n)) + return 0; + desc = (const struct mtk_pin_desc *)&hw->soc->pins[gpio_n]; err = mtk_hw_set_value(hw, desc, PINCTRL_PIN_REG_MODE, @@ -891,6 +921,10 @@ err = hw->soc->bias_set(hw, desc, pullup); if (err) return err; + } else if (hw->soc->bias_set_combo) { + err = hw->soc->bias_set_combo(hw, desc, pullup, arg); + if (err) + return err; } else { return -ENOTSUPP; } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h @@ -315,4 +315,5 @@ int mtk_pinconf_adv_drive_get(struct mtk_pinctrl *hw, const struct mtk_pin_desc *desc, u32 *val); +bool mtk_is_virt_gpio(struct mtk_pinctrl *hw, unsigned int gpio_n); #endif /* __PINCTRL_MTK_COMMON_V2_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/mediatek/pinctrl-paris.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/mediatek/pinctrl-paris.c @@ -769,6 +769,13 @@ if (gpio >= hw->soc->npins) return -EINVAL; + /* + * "Virtual" GPIOs are always and only used for interrupts + * Since they are only used for interrupts, they are always inputs + */ + if (mtk_is_virt_gpio(hw, gpio)) + return 1; + desc = (const struct mtk_pin_desc *)&hw->soc->pins[gpio]; err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_DIR, &value); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/mvebu/pinctrl-armada-xp.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/mvebu/pinctrl-armada-xp.c @@ -414,7 +414,7 @@ MPP_VAR_FUNCTION(0x1, "i2c0", "sck", V_98DX3236_PLUS)), MPP_MODE(15, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_98DX3236_PLUS), - MPP_VAR_FUNCTION(0x4, "i2c0", "sda", V_98DX3236_PLUS)), + MPP_VAR_FUNCTION(0x1, "i2c0", "sda", V_98DX3236_PLUS)), MPP_MODE(16, MPP_VAR_FUNCTION(0x0, "gpo", NULL, V_98DX3236_PLUS), MPP_VAR_FUNCTION(0x4, "dev", "oe", V_98DX3236_PLUS)), --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-amd.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-amd.c @@ -156,7 +156,7 @@ pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF); pin_reg &= ~BIT(DB_TMR_LARGE_OFF); } else if (debounce < 250000) { - time = debounce / 15600; + time = debounce / 15625; pin_reg |= time & DB_TMR_OUT_MASK; pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF); pin_reg |= BIT(DB_TMR_LARGE_OFF); @@ -166,14 +166,14 @@ pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF); pin_reg |= BIT(DB_TMR_LARGE_OFF); } else { - pin_reg &= ~DB_CNTRl_MASK; + pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF); ret = -EINVAL; } } else { pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF); pin_reg &= ~BIT(DB_TMR_LARGE_OFF); pin_reg &= ~DB_TMR_OUT_MASK; - pin_reg &= ~DB_CNTRl_MASK; + pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF); } writel(pin_reg, gpio_dev->base + offset * 4); raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); @@ -438,7 +438,6 @@ pin_reg &= ~BIT(LEVEL_TRIG_OFF); pin_reg &= ~(ACTIVE_LEVEL_MASK << ACTIVE_LEVEL_OFF); pin_reg |= ACTIVE_HIGH << ACTIVE_LEVEL_OFF; - pin_reg |= DB_TYPE_REMOVE_GLITCH << DB_CNTRL_OFF; irq_set_handler_locked(d, handle_edge_irq); break; @@ -446,7 +445,6 @@ pin_reg &= ~BIT(LEVEL_TRIG_OFF); pin_reg &= ~(ACTIVE_LEVEL_MASK << ACTIVE_LEVEL_OFF); pin_reg |= ACTIVE_LOW << ACTIVE_LEVEL_OFF; - pin_reg |= DB_TYPE_REMOVE_GLITCH << DB_CNTRL_OFF; irq_set_handler_locked(d, handle_edge_irq); break; @@ -454,7 +452,6 @@ pin_reg &= ~BIT(LEVEL_TRIG_OFF); pin_reg &= ~(ACTIVE_LEVEL_MASK << ACTIVE_LEVEL_OFF); pin_reg |= BOTH_EADGE << ACTIVE_LEVEL_OFF; - pin_reg |= DB_TYPE_REMOVE_GLITCH << DB_CNTRL_OFF; irq_set_handler_locked(d, handle_edge_irq); break; @@ -462,8 +459,6 @@ pin_reg |= LEVEL_TRIGGER << LEVEL_TRIG_OFF; pin_reg &= ~(ACTIVE_LEVEL_MASK << ACTIVE_LEVEL_OFF); pin_reg |= ACTIVE_HIGH << ACTIVE_LEVEL_OFF; - pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF); - pin_reg |= DB_TYPE_PRESERVE_LOW_GLITCH << DB_CNTRL_OFF; irq_set_handler_locked(d, handle_level_irq); break; @@ -471,8 +466,6 @@ pin_reg |= LEVEL_TRIGGER << LEVEL_TRIG_OFF; pin_reg &= ~(ACTIVE_LEVEL_MASK << ACTIVE_LEVEL_OFF); pin_reg |= ACTIVE_LOW << ACTIVE_LEVEL_OFF; - pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF); - pin_reg |= DB_TYPE_PRESERVE_HIGH_GLITCH << DB_CNTRL_OFF; irq_set_handler_locked(d, handle_level_irq); break; --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-falcon.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-falcon.c @@ -431,24 +431,28 @@ /* load and remap the pad resources of the different banks */ for_each_compatible_node(np, NULL, "lantiq,pad-falcon") { - struct platform_device *ppdev = of_find_device_by_node(np); const __be32 *bank = of_get_property(np, "lantiq,bank", NULL); struct resource res; + struct platform_device *ppdev; u32 avail; int pins; if (!of_device_is_available(np)) continue; - if (!ppdev) { - dev_err(&pdev->dev, "failed to find pad pdev\n"); - continue; - } if (!bank || *bank >= PORTS) continue; if (of_address_to_resource(np, 0, &res)) continue; + + ppdev = of_find_device_by_node(np); + if (!ppdev) { + dev_err(&pdev->dev, "failed to find pad pdev\n"); + continue; + } + falcon_info.clk[*bank] = clk_get(&ppdev->dev, NULL); + put_device(&ppdev->dev); if (IS_ERR(falcon_info.clk[*bank])) { dev_err(&ppdev->dev, "failed to get clock\n"); of_node_put(np); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-ingenic.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-ingenic.c @@ -1704,7 +1704,7 @@ static void ingenic_gpio_set_value(struct ingenic_gpio_chip *jzgc, u8 offset, int value) { - if (jzgc->jzpc->info->version >= ID_JZ4760) + if (jzgc->jzpc->info->version >= ID_JZ4770) ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_PAT0, offset, !!value); else ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_DATA, offset, !!value); @@ -1734,7 +1734,7 @@ break; } - if (jzgc->jzpc->info->version >= ID_JZ4760) { + if (jzgc->jzpc->info->version >= ID_JZ4770) { reg1 = JZ4760_GPIO_PAT1; reg2 = JZ4760_GPIO_PAT0; } else { @@ -1774,7 +1774,7 @@ struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc); int irq = irqd->hwirq; - if (jzgc->jzpc->info->version >= ID_JZ4760) + if (jzgc->jzpc->info->version >= ID_JZ4770) ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_INT, irq, true); else ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_SELECT, irq, true); @@ -1790,7 +1790,7 @@ ingenic_gpio_irq_mask(irqd); - if (jzgc->jzpc->info->version >= ID_JZ4760) + if (jzgc->jzpc->info->version >= ID_JZ4770) ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_INT, irq, false); else ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_SELECT, irq, false); @@ -1810,12 +1810,12 @@ */ high = ingenic_gpio_get_value(jzgc, irq); if (high) - irq_set_type(jzgc, irq, IRQ_TYPE_EDGE_FALLING); + irq_set_type(jzgc, irq, IRQ_TYPE_LEVEL_LOW); else - irq_set_type(jzgc, irq, IRQ_TYPE_EDGE_RISING); + irq_set_type(jzgc, irq, IRQ_TYPE_LEVEL_HIGH); } - if (jzgc->jzpc->info->version >= ID_JZ4760) + if (jzgc->jzpc->info->version >= ID_JZ4770) ingenic_gpio_set_bit(jzgc, JZ4760_GPIO_FLAG, irq, false); else ingenic_gpio_set_bit(jzgc, JZ4740_GPIO_DATA, irq, true); @@ -1848,7 +1848,7 @@ */ bool high = ingenic_gpio_get_value(jzgc, irqd->hwirq); - type = high ? IRQ_TYPE_EDGE_FALLING : IRQ_TYPE_EDGE_RISING; + type = high ? IRQ_TYPE_LEVEL_LOW : IRQ_TYPE_LEVEL_HIGH; } irq_set_type(jzgc, irqd->hwirq, type); @@ -1872,7 +1872,7 @@ chained_irq_enter(irq_chip, desc); - if (jzgc->jzpc->info->version >= ID_JZ4760) + if (jzgc->jzpc->info->version >= ID_JZ4770) flag = ingenic_gpio_read_reg(jzgc, JZ4760_GPIO_FLAG); else flag = ingenic_gpio_read_reg(jzgc, JZ4740_GPIO_FLAG); @@ -1954,8 +1954,9 @@ struct ingenic_pinctrl *jzpc = jzgc->jzpc; unsigned int pin = gc->base + offset; - if (jzpc->info->version >= ID_JZ4760) { - if (ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_PAT1)) + if (jzpc->info->version >= ID_JZ4770) { + if (ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_INT) || + ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_PAT1)) return GPIO_LINE_DIRECTION_IN; return GPIO_LINE_DIRECTION_OUT; } @@ -2011,7 +2012,7 @@ ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, func & 0x2); ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT0, func & 0x1); ingenic_shadow_config_pin_load(jzpc, pin); - } else if (jzpc->info->version >= ID_JZ4760) { + } else if (jzpc->info->version >= ID_JZ4770) { ingenic_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); ingenic_config_pin(jzpc, pin, GPIO_MSK, false); ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, func & 0x2); @@ -2019,7 +2020,7 @@ } else { ingenic_config_pin(jzpc, pin, JZ4740_GPIO_FUNC, true); ingenic_config_pin(jzpc, pin, JZ4740_GPIO_TRIG, func & 0x2); - ingenic_config_pin(jzpc, pin, JZ4740_GPIO_SELECT, func > 0); + ingenic_config_pin(jzpc, pin, JZ4740_GPIO_SELECT, func & 0x1); } return 0; @@ -2069,7 +2070,7 @@ ingenic_shadow_config_pin(jzpc, pin, GPIO_MSK, true); ingenic_shadow_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, input); ingenic_shadow_config_pin_load(jzpc, pin); - } else if (jzpc->info->version >= ID_JZ4760) { + } else if (jzpc->info->version >= ID_JZ4770) { ingenic_config_pin(jzpc, pin, JZ4760_GPIO_INT, false); ingenic_config_pin(jzpc, pin, GPIO_MSK, true); ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT1, input); @@ -2099,7 +2100,7 @@ unsigned int offt = pin / PINS_PER_GPIO_CHIP; bool pull; - if (jzpc->info->version >= ID_JZ4760) + if (jzpc->info->version >= ID_JZ4770) pull = !ingenic_get_pin_config(jzpc, pin, JZ4760_GPIO_PEN); else pull = !ingenic_get_pin_config(jzpc, pin, JZ4740_GPIO_PULL_DIS); @@ -2149,7 +2150,7 @@ REG_SET(X1830_GPIO_PEH), bias << idxh); } - } else if (jzpc->info->version >= ID_JZ4760) { + } else if (jzpc->info->version >= ID_JZ4770) { ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PEN, !bias); } else { ingenic_config_pin(jzpc, pin, JZ4740_GPIO_PULL_DIS, !bias); @@ -2159,7 +2160,7 @@ static void ingenic_set_output_level(struct ingenic_pinctrl *jzpc, unsigned int pin, bool high) { - if (jzpc->info->version >= ID_JZ4760) + if (jzpc->info->version >= ID_JZ4770) ingenic_config_pin(jzpc, pin, JZ4760_GPIO_PAT0, high); else ingenic_config_pin(jzpc, pin, JZ4740_GPIO_DATA, high); --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-mcp23s08.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-mcp23s08.c @@ -87,7 +87,7 @@ }; EXPORT_SYMBOL_GPL(mcp23x08_regmap); -static const struct reg_default mcp23x16_defaults[] = { +static const struct reg_default mcp23x17_defaults[] = { {.reg = MCP_IODIR << 1, .def = 0xffff}, {.reg = MCP_IPOL << 1, .def = 0x0000}, {.reg = MCP_GPINTEN << 1, .def = 0x0000}, @@ -98,23 +98,23 @@ {.reg = MCP_OLAT << 1, .def = 0x0000}, }; -static const struct regmap_range mcp23x16_volatile_range = { +static const struct regmap_range mcp23x17_volatile_range = { .range_min = MCP_INTF << 1, .range_max = MCP_GPIO << 1, }; -static const struct regmap_access_table mcp23x16_volatile_table = { - .yes_ranges = &mcp23x16_volatile_range, +static const struct regmap_access_table mcp23x17_volatile_table = { + .yes_ranges = &mcp23x17_volatile_range, .n_yes_ranges = 1, }; -static const struct regmap_range mcp23x16_precious_range = { - .range_min = MCP_GPIO << 1, +static const struct regmap_range mcp23x17_precious_range = { + .range_min = MCP_INTCAP << 1, .range_max = MCP_GPIO << 1, }; -static const struct regmap_access_table mcp23x16_precious_table = { - .yes_ranges = &mcp23x16_precious_range, +static const struct regmap_access_table mcp23x17_precious_table = { + .yes_ranges = &mcp23x17_precious_range, .n_yes_ranges = 1, }; @@ -124,10 +124,10 @@ .reg_stride = 2, .max_register = MCP_OLAT << 1, - .volatile_table = &mcp23x16_volatile_table, - .precious_table = &mcp23x16_precious_table, - .reg_defaults = mcp23x16_defaults, - .num_reg_defaults = ARRAY_SIZE(mcp23x16_defaults), + .volatile_table = &mcp23x17_volatile_table, + .precious_table = &mcp23x17_precious_table, + .reg_defaults = mcp23x17_defaults, + .num_reg_defaults = ARRAY_SIZE(mcp23x17_defaults), .cache_type = REGCACHE_FLAT, .val_format_endian = REGMAP_ENDIAN_LITTLE, }; --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-mcp23s08_spi.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-mcp23s08_spi.c @@ -119,13 +119,15 @@ return -EINVAL; } - copy = devm_kmemdup(dev, &config, sizeof(config), GFP_KERNEL); + copy = devm_kmemdup(dev, config, sizeof(*config), GFP_KERNEL); if (!copy) return -ENOMEM; copy->name = name; mcp->regmap = devm_regmap_init(dev, &mcp23sxx_spi_regmap, mcp, copy); + if (IS_ERR(mcp->regmap)) + dev_err(dev, "regmap init failed for %s\n", mcp->chip.label); return PTR_ERR_OR_ZERO(mcp->regmap); } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-rockchip.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-rockchip.c @@ -3153,7 +3153,9 @@ if (!bank->domain) return -ENXIO; + clk_enable(bank->clk); virq = irq_create_mapping(bank->domain, offset); + clk_disable(bank->clk); return (virq) ? : -ENXIO; } @@ -3727,12 +3729,15 @@ static int __maybe_unused rockchip_pinctrl_resume(struct device *dev) { struct rockchip_pinctrl *info = dev_get_drvdata(dev); - int ret = regmap_write(info->regmap_base, RK3288_GRF_GPIO6C_IOMUX, - rk3288_grf_gpio6c_iomux | - GPIO6C6_SEL_WRITE_ENABLE); + int ret; - if (ret) - return ret; + if (info->ctrl->type == RK3288) { + ret = regmap_write(info->regmap_base, RK3288_GRF_GPIO6C_IOMUX, + rk3288_grf_gpio6c_iomux | + GPIO6C6_SEL_WRITE_ENABLE); + if (ret) + return ret; + } return pinctrl_force_default(info->pctl_dev); } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/pinctrl-single.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/pinctrl-single.c @@ -916,7 +916,7 @@ /* If pinconf isn't supported, don't parse properties in below. */ if (!PCS_HAS_PINCONF) - return 0; + return -ENOTSUPP; /* cacluate how much properties are supported in current node */ for (i = 0; i < ARRAY_SIZE(prop2); i++) { @@ -928,7 +928,7 @@ nconfs++; } if (!nconfs) - return 0; + return -ENOTSUPP; func->conf = devm_kcalloc(pcs->dev, nconfs, sizeof(struct pcs_conf_vals), @@ -1056,9 +1056,12 @@ if (PCS_HAS_PINCONF && function) { res = pcs_parse_pinconf(pcs, np, function, map); - if (res) + if (res == 0) + *num_maps = 2; + else if (res == -ENOTSUPP) + *num_maps = 1; + else goto free_pingroups; - *num_maps = 2; } else { *num_maps = 1; } --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/qcom/pinctrl-msm.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/qcom/pinctrl-msm.c @@ -48,6 +48,7 @@ * @dual_edge_irqs: Bitmap of irqs that need sw emulated dual edge * detection. * @skip_wake_irqs: Skip IRQs that are handled by wakeup interrupt controller + * @disabled_for_mux: These IRQs were disabled because we muxed away. * @soc; Reference to soc_data of platform specific data. * @regs: Base addresses for the TLMM tiles. */ @@ -68,6 +69,7 @@ DECLARE_BITMAP(dual_edge_irqs, MAX_NR_GPIO); DECLARE_BITMAP(enabled_irqs, MAX_NR_GPIO); DECLARE_BITMAP(skip_wake_irqs, MAX_NR_GPIO); + DECLARE_BITMAP(disabled_for_mux, MAX_NR_GPIO); const struct msm_pinctrl_soc_data *soc; void __iomem *regs[MAX_NR_TILES]; @@ -92,6 +94,14 @@ MSM_ACCESSOR(intr_status) MSM_ACCESSOR(intr_target) +static void msm_ack_intr_status(struct msm_pinctrl *pctrl, + const struct msm_pingroup *g) +{ + u32 val = g->intr_ack_high ? BIT(g->intr_status_bit) : 0; + + msm_writel_intr_status(val, pctrl, g); +} + static int msm_get_groups_count(struct pinctrl_dev *pctldev) { struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); @@ -167,6 +177,10 @@ unsigned group) { struct msm_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); + struct gpio_chip *gc = &pctrl->chip; + unsigned int irq = irq_find_mapping(gc->irq.domain, group); + struct irq_data *d = irq_get_irq_data(irq); + unsigned int gpio_func = pctrl->soc->gpio_func; const struct msm_pingroup *g; unsigned long flags; u32 val, mask; @@ -183,6 +197,20 @@ if (WARN_ON(i == g->nfuncs)) return -EINVAL; + /* + * If an GPIO interrupt is setup on this pin then we need special + * handling. Specifically interrupt detection logic will still see + * the pin twiddle even when we're muxed away. + * + * When we see a pin with an interrupt setup on it then we'll disable + * (mask) interrupts on it when we mux away until we mux back. Note + * that disable_irq() refcounts and interrupts are disabled as long as + * at least one disable_irq() has been called. + */ + if (d && i != gpio_func && + !test_and_set_bit(d->hwirq, pctrl->disabled_for_mux)) + disable_irq(irq); + raw_spin_lock_irqsave(&pctrl->lock, flags); val = msm_readl_ctl(pctrl, g); @@ -192,6 +220,20 @@ raw_spin_unlock_irqrestore(&pctrl->lock, flags); + if (d && i == gpio_func && + test_and_clear_bit(d->hwirq, pctrl->disabled_for_mux)) { + /* + * Clear interrupts detected while not GPIO since we only + * masked things. + */ + if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs)) + irq_chip_set_parent_state(d, IRQCHIP_STATE_PENDING, false); + else + msm_ack_intr_status(pctrl, g); + + enable_irq(irq); + } + return 0; } @@ -206,8 +248,7 @@ if (!g->nfuncs) return 0; - /* For now assume function 0 is GPIO because it always is */ - return msm_pinmux_set_mux(pctldev, g->funcs[0], offset); + return msm_pinmux_set_mux(pctldev, g->funcs[pctrl->soc->gpio_func], offset); } static const struct pinmux_ops msm_pinmux_ops = { @@ -757,7 +798,7 @@ raw_spin_unlock_irqrestore(&pctrl->lock, flags); } -static void msm_gpio_irq_clear_unmask(struct irq_data *d, bool status_clear) +static void msm_gpio_irq_unmask(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); @@ -775,17 +816,6 @@ raw_spin_lock_irqsave(&pctrl->lock, flags); - if (status_clear) { - /* - * clear the interrupt status bit before unmask to avoid - * any erroneous interrupts that would have got latched - * when the interrupt is not in use. - */ - val = msm_readl_intr_status(pctrl, g); - val &= ~BIT(g->intr_status_bit); - msm_writel_intr_status(val, pctrl, g); - } - val = msm_readl_intr_cfg(pctrl, g); val |= BIT(g->intr_raw_status_bit); val |= BIT(g->intr_enable_bit); @@ -798,21 +828,14 @@ static void msm_gpio_irq_enable(struct irq_data *d) { - /* - * Clear the interrupt that may be pending before we enable - * the line. - * This is especially a problem with the GPIOs routed to the - * PDC. These GPIOs are direct-connect interrupts to the GIC. - * Disabling the interrupt line at the PDC does not prevent - * the interrupt from being latched at the GIC. The state at - * GIC needs to be cleared before enabling. - */ - if (d->parent_data) { - irq_chip_set_parent_state(d, IRQCHIP_STATE_PENDING, 0); + struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + struct msm_pinctrl *pctrl = gpiochip_get_data(gc); + + if (d->parent_data) irq_chip_enable_parent(d); - } - msm_gpio_irq_clear_unmask(d, true); + if (!test_bit(d->hwirq, pctrl->skip_wake_irqs)) + msm_gpio_irq_unmask(d); } static void msm_gpio_irq_disable(struct irq_data *d) @@ -827,11 +850,6 @@ msm_gpio_irq_mask(d); } -static void msm_gpio_irq_unmask(struct irq_data *d) -{ - msm_gpio_irq_clear_unmask(d, false); -} - /** * msm_gpio_update_dual_edge_parent() - Prime next edge for IRQs handled by parent. * @d: The irq dta. @@ -884,7 +902,6 @@ struct msm_pinctrl *pctrl = gpiochip_get_data(gc); const struct msm_pingroup *g; unsigned long flags; - u32 val; if (test_bit(d->hwirq, pctrl->skip_wake_irqs)) { if (test_bit(d->hwirq, pctrl->dual_edge_irqs)) @@ -896,12 +913,7 @@ raw_spin_lock_irqsave(&pctrl->lock, flags); - val = msm_readl_intr_status(pctrl, g); - if (g->intr_ack_high) - val |= BIT(g->intr_status_bit); - else - val &= ~BIT(g->intr_status_bit); - msm_writel_intr_status(val, pctrl, g); + msm_ack_intr_status(pctrl, g); if (test_bit(d->hwirq, pctrl->dual_edge_irqs)) msm_gpio_update_dual_edge_pos(pctrl, g, d); @@ -926,6 +938,7 @@ struct msm_pinctrl *pctrl = gpiochip_get_data(gc); const struct msm_pingroup *g; unsigned long flags; + bool was_enabled; u32 val; if (msm_gpio_needs_dual_edge_parent_workaround(d, type)) { @@ -987,6 +1000,7 @@ * could cause the INTR_STATUS to be set for EDGE interrupts. */ val = msm_readl_intr_cfg(pctrl, g); + was_enabled = val & BIT(g->intr_raw_status_bit); val |= BIT(g->intr_raw_status_bit); if (g->intr_detection_width == 2) { val &= ~(3 << g->intr_detection_bit); @@ -1036,6 +1050,14 @@ } msm_writel_intr_cfg(val, pctrl, g); + /* + * The first time we set RAW_STATUS_EN it could trigger an interrupt. + * Clear the interrupt. This is safe because we have + * IRQCHIP_SET_TYPE_MASKED. + */ + if (!was_enabled) + msm_ack_intr_status(pctrl, g); + if (test_bit(d->hwirq, pctrl->dual_edge_irqs)) msm_gpio_update_dual_edge_pos(pctrl, g, d); @@ -1060,12 +1082,10 @@ * when TLMM is powered on. To allow that, enable the GPIO * summary line to be wakeup capable at GIC. */ - if (d->parent_data) - irq_chip_set_wake_parent(d, on); - - irq_set_irq_wake(pctrl->irq, on); + if (d->parent_data && test_bit(d->hwirq, pctrl->skip_wake_irqs)) + return irq_chip_set_wake_parent(d, on); - return 0; + return irq_set_irq_wake(pctrl->irq, on); } static int msm_gpio_irq_reqres(struct irq_data *d) @@ -1089,6 +1109,14 @@ ret = -EINVAL; goto out; } + + /* + * The disable / clear-enable workaround we do in msm_pinmux_set_mux() + * only works if disable is not lazy since we only clear any bogus + * interrupt in hardware. Explicitly mark the interrupt as UNLAZY. + */ + irq_set_status_flags(d->irq, IRQ_DISABLE_UNLAZY); + return 0; out: module_put(gc->owner); @@ -1226,6 +1254,8 @@ pctrl->irq_chip.irq_release_resources = msm_gpio_irq_relres; pctrl->irq_chip.irq_set_affinity = msm_gpio_irq_set_affinity; pctrl->irq_chip.irq_set_vcpu_affinity = msm_gpio_irq_set_vcpu_affinity; + pctrl->irq_chip.flags = IRQCHIP_MASK_ON_SUSPEND | + IRQCHIP_SET_TYPE_MASKED; np = of_parse_phandle(pctrl->dev->of_node, "wakeup-parent", 0); if (np) { --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/qcom/pinctrl-msm.h +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/qcom/pinctrl-msm.h @@ -116,6 +116,7 @@ * @wakeirq_dual_edge_errata: If true then GPIOs using the wakeirq_map need * to be aware that their parent can't handle dual * edge interrupts. + * @gpio_func: Which function number is GPIO (usually 0). */ struct msm_pinctrl_soc_data { const struct pinctrl_pin_desc *pins; @@ -132,6 +133,7 @@ const struct msm_gpio_wakeirq_map *wakeirq_map; unsigned int nwakeirq_map; bool wakeirq_dual_edge_errata; + unsigned int gpio_func; }; extern const struct dev_pm_ops msm_pinctrl_dev_pm_ops; --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/qcom/pinctrl-sm8250.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/qcom/pinctrl-sm8250.c @@ -1308,11 +1308,27 @@ [178] = PINGROUP(178, WEST, _, _, _, _, _, _, _, _, _), [179] = PINGROUP(179, WEST, _, _, _, _, _, _, _, _, _), [180] = UFS_RESET(ufs_reset, 0xb8000), - [181] = SDC_PINGROUP(sdc2_clk, 0x7000, 14, 6), + [181] = SDC_PINGROUP(sdc2_clk, 0xb7000, 14, 6), [182] = SDC_PINGROUP(sdc2_cmd, 0xb7000, 11, 3), [183] = SDC_PINGROUP(sdc2_data, 0xb7000, 9, 0), }; +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 }, + { 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 }, + { 84, 98 }, { 86, 99 }, { 87, 100 }, { 88, 101 }, { 89, 102 }, + { 92, 103 }, { 93, 104 }, { 100, 53 }, { 103, 47 }, { 104, 48 }, + { 108, 49 }, { 109, 94 }, { 110, 95 }, { 111, 96 }, { 112, 55 }, + { 113, 56 }, { 118, 50 }, { 121, 51 }, { 122, 57 }, { 123, 58 }, + { 124, 45 }, { 126, 59 }, { 128, 76 }, { 129, 86 }, { 132, 93 }, + { 133, 65 }, { 134, 66 }, { 136, 62 }, { 137, 63 }, { 138, 64 }, + { 142, 60 }, { 143, 61 } +}; + static const struct msm_pinctrl_soc_data sm8250_pinctrl = { .pins = sm8250_pins, .npins = ARRAY_SIZE(sm8250_pins), @@ -1323,6 +1339,8 @@ .ngpios = 181, .tiles = sm8250_tiles, .ntiles = ARRAY_SIZE(sm8250_tiles), + .wakeirq_map = sm8250_pdc_map, + .nwakeirq_map = ARRAY_SIZE(sm8250_pdc_map), }; static int sm8250_pinctrl_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/pinctrl/sunxi/pinctrl-sunxi.c +++ linux-riscv-5.8-5.8.0/drivers/pinctrl/sunxi/pinctrl-sunxi.c @@ -1142,20 +1142,22 @@ if (bank == pctl->desc->irq_banks) return; + chained_irq_enter(chip, desc); + reg = sunxi_irq_status_reg_from_bank(pctl->desc, bank); val = readl(pctl->membase + reg); if (val) { int irqoffset; - chained_irq_enter(chip, desc); for_each_set_bit(irqoffset, &val, IRQ_PER_BANK) { int pin_irq = irq_find_mapping(pctl->domain, bank * IRQ_PER_BANK + irqoffset); generic_handle_irq(pin_irq); } - chained_irq_exit(chip, desc); } + + chained_irq_exit(chip, desc); } static int sunxi_pinctrl_add_function(struct sunxi_pinctrl *pctl, --- linux-riscv-5.8-5.8.0.orig/drivers/platform/chrome/cros_ec_ishtp.c +++ linux-riscv-5.8-5.8.0/drivers/platform/chrome/cros_ec_ishtp.c @@ -681,8 +681,10 @@ /* Register croc_ec_dev mfd */ rv = cros_ec_dev_init(client_data); - if (rv) + if (rv) { + down_write(&init_lock); goto end_cros_ec_dev_init_error; + } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/chrome/cros_ec_lightbar.c +++ linux-riscv-5.8-5.8.0/drivers/platform/chrome/cros_ec_lightbar.c @@ -116,6 +116,8 @@ param = (struct ec_params_lightbar *)msg->data; param->cmd = LIGHTBAR_CMD_VERSION; + msg->outsize = sizeof(param->cmd); + msg->result = sizeof(resp->version); ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); if (ret < 0) { ret = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/chrome/cros_ec_sensorhub_ring.c +++ linux-riscv-5.8-5.8.0/drivers/platform/chrome/cros_ec_sensorhub_ring.c @@ -419,9 +419,7 @@ * Disable filtering since we might add more jitter * if b is in a random point in time. */ - new_timestamp = fifo_timestamp - - fifo_info->timestamp * 1000 + - in->timestamp * 1000; + new_timestamp = c - b * 1000 + a * 1000; /* * The timestamp can be stale if we had to use the fifo * info timestamp. --- linux-riscv-5.8-5.8.0.orig/drivers/platform/chrome/cros_ec_spi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/chrome/cros_ec_spi.c @@ -743,7 +743,6 @@ int err; spi->bits_per_word = 8; - spi->mode = SPI_MODE_0; spi->rt = true; err = spi_setup(spi); if (err < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/platform/olpc/olpc-ec.c +++ linux-riscv-5.8-5.8.0/drivers/platform/olpc/olpc-ec.c @@ -426,11 +426,8 @@ /* get the EC revision */ err = olpc_ec_cmd(EC_FIRMWARE_REV, NULL, 0, &ec->version, 1); - if (err) { - ec_priv = NULL; - kfree(ec); - return err; - } + if (err) + goto error; config.dev = pdev->dev.parent; config.driver_data = ec; @@ -439,11 +436,17 @@ &config); if (IS_ERR(ec->dcon_rdev)) { dev_err(&pdev->dev, "failed to register DCON regulator\n"); - return PTR_ERR(ec->dcon_rdev); + err = PTR_ERR(ec->dcon_rdev); + goto error; } ec->dbgfs_dir = olpc_ec_setup_debugfs(); + return 0; + +error: + ec_priv = NULL; + kfree(ec); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/Kconfig @@ -462,6 +462,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 @@ -469,6 +483,7 @@ depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP + select NEW_LEDS select LEDS_CLASS help This is a driver for laptops built by Fujitsu: @@ -1091,6 +1106,7 @@ depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP + select NEW_LEDS select LEDS_CLASS help This driver adds support for hotkeys as well as control of keyboard --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/Makefile +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/Makefile @@ -42,6 +42,7 @@ obj-$(CONFIG_DELL_LAPTOP) += dell-laptop.o obj-$(CONFIG_DELL_RBTN) += dell-rbtn.o obj-$(CONFIG_DELL_RBU) += dell_rbu.o +obj-$(CONFIG_DELL_UART_BACKLIGHT) += dell-uart-backlight.o obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o obj-$(CONFIG_DELL_WMI) += dell-wmi.o obj-$(CONFIG_DELL_WMI_DESCRIPTOR) += dell-wmi-descriptor.o --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/acer-wmi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/acer-wmi.c @@ -30,6 +30,7 @@ #include #include +ACPI_MODULE_NAME(KBUILD_MODNAME); MODULE_AUTHOR("Carlos Corbacho"); MODULE_DESCRIPTION("Acer Laptop WMI Extras Driver"); MODULE_LICENSE("GPL"); @@ -80,7 +81,7 @@ enum acer_wmi_event_ids { WMID_HOTKEY_EVENT = 0x1, - WMID_ACCEL_EVENT = 0x5, + WMID_ACCEL_OR_KBD_DOCK_EVENT = 0x5, }; static const struct key_entry acer_wmi_keymap[] __initconst = { @@ -111,6 +112,7 @@ {KE_KEY, 0x64, {KEY_SWITCHVIDEOMODE} }, /* Display Switch */ {KE_IGNORE, 0x81, {KEY_SLEEP} }, {KE_KEY, 0x82, {KEY_TOUCHPAD_TOGGLE} }, /* Touch Pad Toggle */ + {KE_IGNORE, 0x84, {KEY_KBDILLUMTOGGLE} }, /* Automatic Keyboard background light toggle */ {KE_KEY, KEY_TOUCHPAD_ON, {KEY_TOUCHPAD_ON} }, {KE_KEY, KEY_TOUCHPAD_OFF, {KEY_TOUCHPAD_OFF} }, {KE_IGNORE, 0x83, {KEY_TOUCHPAD_TOGGLE} }, @@ -127,7 +129,9 @@ u8 function; u8 key_num; u16 device_state; - u32 reserved; + u16 reserved1; + u8 kbd_dock_state; + u8 reserved2; } __attribute__((packed)); /* @@ -205,14 +209,13 @@ /* * Interface capability flags */ -#define ACER_CAP_MAILLED (1<<0) -#define ACER_CAP_WIRELESS (1<<1) -#define ACER_CAP_BLUETOOTH (1<<2) -#define ACER_CAP_BRIGHTNESS (1<<3) -#define ACER_CAP_THREEG (1<<4) -#define ACER_CAP_ACCEL (1<<5) -#define ACER_CAP_RFBTN (1<<6) -#define ACER_CAP_ANY (0xFFFFFFFF) +#define ACER_CAP_MAILLED BIT(0) +#define ACER_CAP_WIRELESS BIT(1) +#define ACER_CAP_BLUETOOTH BIT(2) +#define ACER_CAP_BRIGHTNESS BIT(3) +#define ACER_CAP_THREEG BIT(4) +#define ACER_CAP_SET_FUNCTION_MODE BIT(5) +#define ACER_CAP_KBD_DOCK BIT(6) /* * Interface type flags @@ -235,6 +238,7 @@ static int brightness = -1; static int threeg = -1; static int force_series; +static int force_caps = -1; static bool ec_raw_mode; static bool has_type_aa; static u16 commun_func_bitmap; @@ -244,11 +248,13 @@ module_param(brightness, int, 0444); module_param(threeg, int, 0444); module_param(force_series, int, 0444); +module_param(force_caps, int, 0444); module_param(ec_raw_mode, bool, 0444); MODULE_PARM_DESC(mailled, "Set initial state of Mail LED"); MODULE_PARM_DESC(brightness, "Set initial LCD backlight brightness"); MODULE_PARM_DESC(threeg, "Set initial state of 3G hardware"); MODULE_PARM_DESC(force_series, "Force a different laptop series"); +MODULE_PARM_DESC(force_caps, "Force the capability bitmask to this value"); MODULE_PARM_DESC(ec_raw_mode, "Enable EC raw mode"); struct acer_data { @@ -318,6 +324,15 @@ return 1; } +static int __init set_force_caps(const struct dmi_system_id *dmi) +{ + if (force_caps == -1) { + force_caps = (uintptr_t)dmi->driver_data; + pr_info("Found %s, set force_caps to 0x%x\n", dmi->ident, force_caps); + } + return 1; +} + static struct quirk_entry quirk_unknown = { }; @@ -496,6 +511,33 @@ }, .driver_data = &quirk_acer_travelmate_2490, }, + { + .callback = set_force_caps, + .ident = "Acer Aspire Switch 10E SW3-016", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW3-016"), + }, + .driver_data = (void *)ACER_CAP_KBD_DOCK, + }, + { + .callback = set_force_caps, + .ident = "Acer Aspire Switch 10 SW5-012", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW5-012"), + }, + .driver_data = (void *)ACER_CAP_KBD_DOCK, + }, + { + .callback = set_force_caps, + .ident = "Acer One 10 (S1003)", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"), + }, + .driver_data = (void *)ACER_CAP_KBD_DOCK, + }, {} }; @@ -1252,10 +1294,8 @@ interface->capability |= ACER_CAP_THREEG; if (type_aa->commun_func_bitmap & ACER_WMID3_GDS_BLUETOOTH) interface->capability |= ACER_CAP_BLUETOOTH; - if (type_aa->commun_func_bitmap & ACER_WMID3_GDS_RFBTN) { - interface->capability |= ACER_CAP_RFBTN; + if (type_aa->commun_func_bitmap & ACER_WMID3_GDS_RFBTN) commun_func_bitmap &= ~ACER_WMID3_GDS_RFBTN; - } commun_fn_key_number = type_aa->commun_fn_key_number; } @@ -1519,7 +1559,7 @@ struct acpi_buffer output; union acpi_object out_obj[5]; - if (!has_cap(ACER_CAP_ACCEL)) + if (!acer_wmi_accel_dev) return -1; output.length = sizeof(out_obj); @@ -1543,6 +1583,71 @@ } /* + * Switch series keyboard dock status + */ +static int acer_kbd_dock_state_to_sw_tablet_mode(u8 kbd_dock_state) +{ + switch (kbd_dock_state) { + case 0x01: /* Docked, traditional clamshell laptop mode */ + return 0; + case 0x04: /* Stand-alone tablet */ + case 0x40: /* Docked, tent mode, keyboard not usable */ + return 1; + default: + pr_warn("Unknown kbd_dock_state 0x%02x\n", kbd_dock_state); + } + + return 0; +} + +static void acer_kbd_dock_get_initial_state(void) +{ + u8 *output, input[8] = { 0x05, 0x00, }; + struct acpi_buffer input_buf = { sizeof(input), input }; + struct acpi_buffer output_buf = { ACPI_ALLOCATE_BUFFER, NULL }; + union acpi_object *obj; + acpi_status status; + int sw_tablet_mode; + + status = wmi_evaluate_method(WMID_GUID3, 0, 0x2, &input_buf, &output_buf); + if (ACPI_FAILURE(status)) { + ACPI_EXCEPTION((AE_INFO, status, "Error getting keyboard-dock initial status")); + return; + } + + obj = output_buf.pointer; + if (!obj || obj->type != ACPI_TYPE_BUFFER || obj->buffer.length != 8) { + pr_err("Unexpected output format getting keyboard-dock initial status\n"); + goto out_free_obj; + } + + output = obj->buffer.pointer; + if (output[0] != 0x00 || (output[3] != 0x05 && output[3] != 0x45)) { + pr_err("Unexpected output [0]=0x%02x [3]=0x%02x getting keyboard-dock initial status\n", + output[0], output[3]); + goto out_free_obj; + } + + sw_tablet_mode = acer_kbd_dock_state_to_sw_tablet_mode(output[4]); + input_report_switch(acer_wmi_input_dev, SW_TABLET_MODE, sw_tablet_mode); + +out_free_obj: + kfree(obj); +} + +static void acer_kbd_dock_event(const struct event_return_value *event) +{ + int sw_tablet_mode; + + if (!has_cap(ACER_CAP_KBD_DOCK)) + return; + + sw_tablet_mode = acer_kbd_dock_state_to_sw_tablet_mode(event->kbd_dock_state); + input_report_switch(acer_wmi_input_dev, SW_TABLET_MODE, sw_tablet_mode); + input_sync(acer_wmi_input_dev); +} + +/* * Rfkill devices */ static void acer_rfkill_update(struct work_struct *ignored); @@ -1769,8 +1874,9 @@ sparse_keymap_report_event(acer_wmi_input_dev, scancode, 1, true); } break; - case WMID_ACCEL_EVENT: + case WMID_ACCEL_OR_KBD_DOCK_EVENT: acer_gsensor_event(); + acer_kbd_dock_event(&return_value); break; default: pr_warn("Unknown function number - %d - %d\n", @@ -1893,8 +1999,6 @@ gsensor_handle = acpi_device_handle(adev); acpi_dev_put(adev); - interface->capability |= ACER_CAP_ACCEL; - acer_wmi_accel_dev = input_allocate_device(); if (!acer_wmi_accel_dev) return -ENOMEM; @@ -1920,11 +2024,6 @@ return err; } -static void acer_wmi_accel_destroy(void) -{ - input_unregister_device(acer_wmi_accel_dev); -} - static int __init acer_wmi_input_setup(void) { acpi_status status; @@ -1942,6 +2041,9 @@ if (err) goto err_free_dev; + if (has_cap(ACER_CAP_KBD_DOCK)) + input_set_capability(acer_wmi_input_dev, EV_SW, SW_TABLET_MODE); + status = wmi_install_notify_handler(ACERWMID_EVENT_GUID, acer_wmi_notify, NULL); if (ACPI_FAILURE(status)) { @@ -1949,6 +2051,9 @@ goto err_free_dev; } + if (has_cap(ACER_CAP_KBD_DOCK)) + acer_kbd_dock_get_initial_state(); + err = input_register_device(acer_wmi_input_dev); if (err) goto err_uninstall_notifier; @@ -2079,7 +2184,7 @@ if (has_cap(ACER_CAP_BRIGHTNESS)) set_u32(data->brightness, ACER_CAP_BRIGHTNESS); - if (has_cap(ACER_CAP_ACCEL)) + if (acer_wmi_accel_dev) acer_gsensor_init(); return 0; @@ -2180,7 +2285,7 @@ } /* WMID always provides brightness methods */ interface->capability |= ACER_CAP_BRIGHTNESS; - } else if (!wmi_has_guid(WMID_GUID2) && interface && !has_type_aa) { + } else if (!wmi_has_guid(WMID_GUID2) && interface && !has_type_aa && force_caps == -1) { pr_err("No WMID device detection method found\n"); return -ENODEV; } @@ -2210,7 +2315,14 @@ if (acpi_video_get_backlight_type() != acpi_backlight_vendor) interface->capability &= ~ACER_CAP_BRIGHTNESS; - if (wmi_has_guid(WMID_GUID3)) { + if (wmi_has_guid(WMID_GUID3)) + interface->capability |= ACER_CAP_SET_FUNCTION_MODE; + + if (force_caps != -1) + interface->capability = force_caps; + + if (wmi_has_guid(WMID_GUID3) && + (interface->capability & ACER_CAP_SET_FUNCTION_MODE)) { if (ACPI_FAILURE(acer_wmi_enable_rf_button())) pr_warn("Cannot enable RF Button Driver\n"); @@ -2269,8 +2381,8 @@ error_platform_register: if (wmi_has_guid(ACERWMID_EVENT_GUID)) acer_wmi_input_destroy(); - if (has_cap(ACER_CAP_ACCEL)) - acer_wmi_accel_destroy(); + if (acer_wmi_accel_dev) + input_unregister_device(acer_wmi_accel_dev); return err; } @@ -2280,8 +2392,8 @@ if (wmi_has_guid(ACERWMID_EVENT_GUID)) acer_wmi_input_destroy(); - if (has_cap(ACER_CAP_ACCEL)) - acer_wmi_accel_destroy(); + if (acer_wmi_accel_dev) + input_unregister_device(acer_wmi_accel_dev); remove_debugfs(); platform_device_unregister(acer_platform_device); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/asus-nb-wmi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/asus-nb-wmi.c @@ -110,6 +110,20 @@ .wmi_force_als_set = true, }; +static struct quirk_entry quirk_asus_ga401i = { + .wmi_backlight_power = true, + .wmi_backlight_set_devstate = true, +}; + +static struct quirk_entry quirk_asus_ga502i = { + .wmi_backlight_power = true, + .wmi_backlight_set_devstate = true, +}; + +static struct quirk_entry quirk_asus_use_kbd_dock_devid = { + .use_kbd_dock_devid = true, +}; + static int dmi_matched(const struct dmi_system_id *dmi) { pr_info("Identified laptop model '%s'\n", dmi->ident); @@ -411,6 +425,106 @@ }, .driver_data = &quirk_asus_forceals, }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA401IH", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401IH"), + }, + .driver_data = &quirk_asus_ga401i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA401II", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401II"), + }, + .driver_data = &quirk_asus_ga401i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA401IU", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401IU"), + }, + .driver_data = &quirk_asus_ga401i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA401IV", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401IV"), + }, + .driver_data = &quirk_asus_ga401i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA401IVC", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401IVC"), + }, + .driver_data = &quirk_asus_ga401i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA502II", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA502II"), + }, + .driver_data = &quirk_asus_ga502i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA502IU", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA502IU"), + }, + .driver_data = &quirk_asus_ga502i, + }, + { + .callback = dmi_matched, + .ident = "ASUSTeK COMPUTER INC. GA502IV", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA502IV"), + }, + .driver_data = &quirk_asus_ga502i, + }, + { + .callback = dmi_matched, + .ident = "Asus Transformer T100TA / T100HA / T100CHI", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + /* Match *T100* */ + DMI_MATCH(DMI_PRODUCT_NAME, "T100"), + }, + .driver_data = &quirk_asus_use_kbd_dock_devid, + }, + { + .callback = dmi_matched, + .ident = "Asus Transformer T101HA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "T101HA"), + }, + .driver_data = &quirk_asus_use_kbd_dock_devid, + }, + { + .callback = dmi_matched, + .ident = "Asus Transformer T200TA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "T200TA"), + }, + .driver_data = &quirk_asus_use_kbd_dock_devid, + }, {}, }; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/asus-wmi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/asus-wmi.c @@ -365,12 +365,14 @@ if (err) goto err_free_dev; - 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); + if (asus->driver->quirks->use_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); + } } err = input_register_device(asus->inputdev); @@ -2114,7 +2116,7 @@ return; } - if (code == NOTIFY_KBD_DOCK_CHANGE) { + if (asus->driver->quirks->use_kbd_dock_devid && code == NOTIFY_KBD_DOCK_CHANGE) { result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK); if (result >= 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/asus-wmi.h +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/asus-wmi.h @@ -33,6 +33,7 @@ bool wmi_backlight_native; bool wmi_backlight_set_devstate; bool wmi_force_als_set; + bool use_kbd_dock_devid; int wapf; /* * For machines with AMD graphic chips, it will send out WMI event --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/dell-smbios-base.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/dell-smbios-base.c @@ -594,6 +594,7 @@ if (wmi && smm) { pr_err("No SMBIOS backends available (wmi: %d, smm: %d)\n", wmi, smm); + ret = -ENODEV; goto fail_create_group; } --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/dell-uart-backlight.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/dell-uart-backlight.c @@ -0,0 +1,530 @@ +/* + * 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); +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 Scalar Status: Tool uses this command to check if scalar IC controls brightness. + * Command: 0x6A 0x1F 0x8F (Length:3 Type: 0x0A, Cmd:0x1F Checksum:0x76) + * Return data: 0x04 0x1F Data checksum + * (Data = 0: scalar cannot adjust brightness, Data = 1: scalar can adjust brightness) + */ + [DELL_UART_GET_SCALAR] = { + .cmd = {0x6A,0x1F,0x76}, + .ret = {0x04,0x1F,0x00,0x00}, + .tx_len = 3, + .rx_len = 4, + }, + /* + * 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, + }, +}; + +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_get_scalar_status(struct dell_uart_backlight *dell_pdata) +{ + struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_GET_SCALAR]; + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len; + int status = 0, retry = 50; + + 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); + do { + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + if (rx_len == 0) + msleep(100); + } while (rx_len == 0 && --retry); + + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + + if (rx_len == 4) + status = (unsigned int)bl_cmd->ret[2]; + + return status; +} + +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 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"); + kzfree(dell_pdata); + return -ENODEV; + } + } + else if (!dell_uart_get_scalar_status(dell_pdata)) { + pr_debug("Scalar is not in charge of brightness adjustment.\n"); + kzfree(dell_pdata); + return -ENODEV; + } + } + dell_uart_show_firmware_ver(dell_pdata); + + 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)) { + kzfree(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); + kzfree(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-riscv-5.8-5.8.0.orig/drivers/platform/x86/dell-uart-backlight.h +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/dell-uart-backlight.h @@ -0,0 +1,36 @@ +/* + * 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_SCALAR, + DELL_UART_GET_BRIGHTNESS, + DELL_UART_SET_BRIGHTNESS, + DELL_UART_SET_BACKLIGHT_POWER, +}; + +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-riscv-5.8-5.8.0.orig/drivers/platform/x86/hp-wmi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/hp-wmi.c @@ -32,6 +32,10 @@ MODULE_ALIAS("wmi:95F24279-4D7B-4334-9387-ACCDC67EF61C"); MODULE_ALIAS("wmi:5FB7F034-2C63-45e9-BE91-3D44E2C707E4"); +static int enable_tablet_mode_sw = -1; +module_param(enable_tablet_mode_sw, int, 0444); +MODULE_PARM_DESC(enable_tablet_mode_sw, "Enable SW_TABLET_MODE reporting (-1=auto, 0=no, 1=yes)"); + #define HPWMI_EVENT_GUID "95F24279-4D7B-4334-9387-ACCDC67EF61C" #define HPWMI_BIOS_GUID "5FB7F034-2C63-45e9-BE91-3D44E2C707E4" @@ -246,7 +250,8 @@ ret = bios_return->return_code; if (ret) { - if (ret != HPWMI_RET_UNKNOWN_CMDTYPE) + if (ret != HPWMI_RET_UNKNOWN_COMMAND && + ret != HPWMI_RET_UNKNOWN_CMDTYPE) pr_warn("query 0x%x returned error 0x%x\n", query, ret); goto out_free; } @@ -652,10 +657,12 @@ } /* Tablet mode */ - val = hp_wmi_hw_state(HPWMI_TABLET_MASK); - if (!(val < 0)) { - __set_bit(SW_TABLET_MODE, hp_wmi_input_dev->swbit); - input_report_switch(hp_wmi_input_dev, SW_TABLET_MODE, val); + if (enable_tablet_mode_sw > 0) { + val = hp_wmi_hw_state(HPWMI_TABLET_MASK); + if (val >= 0) { + __set_bit(SW_TABLET_MODE, hp_wmi_input_dev->swbit); + input_report_switch(hp_wmi_input_dev, SW_TABLET_MODE, val); + } } err = sparse_keymap_setup(hp_wmi_input_dev, hp_wmi_keymap, NULL); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/i2c-multi-instantiate.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/i2c-multi-instantiate.c @@ -166,13 +166,29 @@ {} }; -static const struct i2c_inst_data int3515_data[] = { - { "tps6598x", IRQ_RESOURCE_APIC, 0 }, - { "tps6598x", IRQ_RESOURCE_APIC, 1 }, - { "tps6598x", IRQ_RESOURCE_APIC, 2 }, - { "tps6598x", IRQ_RESOURCE_APIC, 3 }, - {} -}; +/* + * Device with _HID INT3515 (TI PD controllers) has some unresolved interrupt + * issues. The most common problem seen is interrupt flood. + * + * There are at least two known causes. Firstly, on some boards, the + * I2CSerialBus resource index does not match the Interrupt resource, i.e. they + * are not one-to-one mapped like in the array below. Secondly, on some boards + * the IRQ line from the PD controller is not actually connected at all. But the + * interrupt flood is also seen on some boards where those are not a problem, so + * there are some other problems as well. + * + * Because of the issues with the interrupt, the device is disabled for now. If + * you wish to debug the issues, uncomment the below, and add an entry for the + * INT3515 device to the i2c_multi_instance_ids table. + * + * static const struct i2c_inst_data int3515_data[] = { + * { "tps6598x", IRQ_RESOURCE_APIC, 0 }, + * { "tps6598x", IRQ_RESOURCE_APIC, 1 }, + * { "tps6598x", IRQ_RESOURCE_APIC, 2 }, + * { "tps6598x", IRQ_RESOURCE_APIC, 3 }, + * { } + * }; + */ /* * Note new device-ids must also be added to i2c_multi_instantiate_ids in @@ -181,7 +197,6 @@ static const struct acpi_device_id i2c_multi_inst_acpi_ids[] = { { "BSG1160", (unsigned long)bsg1160_data }, { "BSG2150", (unsigned long)bsg2150_data }, - { "INT3515", (unsigned long)int3515_data }, { } }; MODULE_DEVICE_TABLE(acpi, i2c_multi_inst_acpi_ids); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/ideapad-laptop.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/ideapad-laptop.c @@ -92,6 +92,7 @@ struct dentry *debug; unsigned long cfg; bool has_hw_rfkill_switch; + bool has_touchpad_switch; const char *fnesc_guid; }; @@ -535,7 +536,9 @@ } else if (attr == &dev_attr_fn_lock.attr) { supported = acpi_has_method(priv->adev->handle, "HALS") && acpi_has_method(priv->adev->handle, "SALS"); - } else + } else if (attr == &dev_attr_touchpad.attr) + supported = priv->has_touchpad_switch; + else supported = true; return supported ? attr->mode : 0; @@ -867,6 +870,9 @@ { unsigned long value; + if (!priv->has_touchpad_switch) + return; + /* Without reading from EC touchpad LED doesn't switch state */ if (!read_ec_data(priv->adev->handle, VPCCMD_R_TOUCHPAD, &value)) { /* Some IdeaPads don't really turn off touchpad - they only @@ -989,6 +995,9 @@ priv->platform_device = pdev; priv->has_hw_rfkill_switch = dmi_check_system(hw_rfkill_list); + /* Most ideapads with ELAN0634 touchpad don't use EC touchpad switch */ + priv->has_touchpad_switch = !acpi_dev_present("ELAN0634", NULL, -1); + ret = ideapad_sysfs_init(priv); if (ret) return ret; @@ -1006,6 +1015,10 @@ if (!priv->has_hw_rfkill_switch) write_ec_cmd(priv->adev->handle, VPCCMD_W_RF, 1); + /* The same for Touchpad */ + if (!priv->has_touchpad_switch) + write_ec_cmd(priv->adev->handle, VPCCMD_W_TOUCHPAD, 1); + for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) if (test_bit(ideapad_rfk_data[i].cfgbit, &priv->cfg)) ideapad_register_rfkill(priv, i); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/intel-hid.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/intel-hid.c @@ -21,6 +21,7 @@ static const struct acpi_device_id intel_hid_ids[] = { {"INT33D5", 0}, {"INTC1051", 0}, + {"INTC1054", 0}, {"", 0}, }; MODULE_DEVICE_TABLE(acpi, intel_hid_ids); @@ -86,6 +87,13 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP Spectre x2 Detachable"), }, }, + { + .ident = "Lenovo ThinkPad X1 Tablet Gen 2", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"), + }, + }, { } }; @@ -571,7 +579,7 @@ return AE_OK; if (acpi_match_device_ids(dev, ids) == 0) - if (acpi_create_platform_device(dev, NULL)) + if (!IS_ERR_OR_NULL(acpi_create_platform_device(dev, NULL))) dev_info(&dev->dev, "intel-hid: created platform device\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/intel-vbtn.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/intel-vbtn.c @@ -15,9 +15,13 @@ #include #include +/* Returned when NOT in tablet mode on some HP Stream x360 11 models */ +#define VGBS_TABLET_MODE_FLAG_ALT 0x10 /* When NOT in tablet mode, VGBS returns with the flag 0x40 */ -#define TABLET_MODE_FLAG 0x40 -#define DOCK_MODE_FLAG 0x80 +#define VGBS_TABLET_MODE_FLAG 0x40 +#define VGBS_DOCK_MODE_FLAG 0x80 + +#define VGBS_TABLET_MODE_FLAGS (VGBS_TABLET_MODE_FLAG | VGBS_TABLET_MODE_FLAG_ALT) MODULE_LICENSE("GPL"); MODULE_AUTHOR("AceLan Kao"); @@ -43,8 +47,16 @@ }; static const struct key_entry intel_vbtn_switchmap[] = { - { KE_SW, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */ - { KE_SW, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */ + /* + * SW_DOCK should only be reported for docking stations, but DSDTs using the + * intel-vbtn code, always seem to use this for 2-in-1s / convertibles and set + * SW_DOCK=1 when in laptop-mode (in tandem with setting SW_TABLET_MODE=0). + * This causes userspace to think the laptop is docked to a port-replicator + * and to disable suspend-on-lid-close, which is undesirable. + * Map the dock events to KEY_IGNORE to avoid this broken SW_DOCK reporting. + */ + { KE_IGNORE, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */ + { KE_IGNORE, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */ { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */ { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */ }; @@ -72,9 +84,9 @@ if (ACPI_FAILURE(status)) return; - m = !(vgbs & TABLET_MODE_FLAG); + m = !(vgbs & VGBS_TABLET_MODE_FLAGS); input_report_switch(priv->input_dev, SW_TABLET_MODE, m); - m = (vgbs & DOCK_MODE_FLAG) ? 1 : 0; + m = (vgbs & VGBS_DOCK_MODE_FLAG) ? 1 : 0; input_report_switch(priv->input_dev, SW_DOCK, m); } @@ -167,20 +179,66 @@ return ACPI_SUCCESS(status); } +/* + * There are several laptops (non 2-in-1) models out there which support VGBS, + * but simply always return 0, which we translate to SW_TABLET_MODE=1. This in + * turn causes userspace (libinput) to suppress events from the builtin + * keyboard and touchpad, making the laptop essentially unusable. + * + * Since the problem of wrongly reporting SW_TABLET_MODE=1 in combination + * with libinput, leads to a non-usable system. Where as OTOH many people will + * not even notice when SW_TABLET_MODE is not being reported, a DMI based allow + * list is used here. This list mainly matches on the chassis-type of 2-in-1s. + * + * There are also some 2-in-1s which use the intel-vbtn ACPI interface to report + * SW_TABLET_MODE with a chassis-type of 8 ("Portable") or 10 ("Notebook"), + * these are matched on a per model basis, since many normal laptops with a + * possible broken VGBS ACPI-method also use these chassis-types. + */ +static const struct dmi_system_id dmi_switches_allow_list[] = { + { + .matches = { + DMI_EXACT_MATCH(DMI_CHASSIS_TYPE, "31" /* Convertible */), + }, + }, + { + .matches = { + DMI_EXACT_MATCH(DMI_CHASSIS_TYPE, "32" /* Detachable */), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Venue 11 Pro 7130"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion 13 x360 PC"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Switch SA5-271"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 7352"), + }, + }, + {} /* Array terminator */ +}; + static bool intel_vbtn_has_switches(acpi_handle handle) { - const char *chassis_type = dmi_get_system_info(DMI_CHASSIS_TYPE); unsigned long long vgbs; acpi_status status; - /* - * Some normal laptops have a VGBS method despite being non-convertible - * and their VGBS method always returns 0, causing detect_tablet_mode() - * to report SW_TABLET_MODE=1 to userspace, which causes issues. - * These laptops have a DMI chassis_type of 9 ("Laptop"), do not report - * switches on any devices with a DMI chassis_type of 9. - */ - if (chassis_type && strcmp(chassis_type, "9") == 0) + if (!dmi_check_system(dmi_switches_allow_list)) return false; status = acpi_evaluate_integer(handle, "VGBS", NULL, &vgbs); @@ -299,7 +357,7 @@ return AE_OK; if (acpi_match_device_ids(dev, ids) == 0) - if (acpi_create_platform_device(dev, NULL)) + if (!IS_ERR_OR_NULL(acpi_create_platform_device(dev, NULL))) dev_info(&dev->dev, "intel-vbtn: created platform device\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/intel_ips.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/platform/x86/intel_pmc_core.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/intel_pmc_core.c @@ -154,6 +154,7 @@ .ltr_show_sts = spt_ltr_show_map, .msr_sts = msr_map, .slp_s0_offset = SPT_PMC_SLP_S0_RES_COUNTER_OFFSET, + .slp_s0_res_counter_step = SPT_PMC_SLP_S0_RES_COUNTER_STEP, .ltr_ignore_offset = SPT_PMC_LTR_IGNORE_OFFSET, .regmap_length = SPT_PMC_MMIO_REG_LEN, .ppfear0_offset = SPT_PMC_XRAM_PPFEAR0A, @@ -380,6 +381,7 @@ static const struct pmc_reg_map cnp_reg_map = { .pfear_sts = ext_cnp_pfear_map, .slp_s0_offset = CNP_PMC_SLP_S0_RES_COUNTER_OFFSET, + .slp_s0_res_counter_step = SPT_PMC_SLP_S0_RES_COUNTER_STEP, .slps0_dbg_maps = cnp_slps0_dbg_maps, .ltr_show_sts = cnp_ltr_show_map, .msr_sts = msr_map, @@ -396,6 +398,7 @@ static const struct pmc_reg_map icl_reg_map = { .pfear_sts = ext_icl_pfear_map, .slp_s0_offset = CNP_PMC_SLP_S0_RES_COUNTER_OFFSET, + .slp_s0_res_counter_step = ICL_PMC_SLP_S0_RES_COUNTER_STEP, .slps0_dbg_maps = cnp_slps0_dbg_maps, .ltr_show_sts = cnp_ltr_show_map, .msr_sts = msr_map, @@ -409,13 +412,13 @@ .ltr_ignore_max = ICL_NUM_IP_IGN_ALLOWED, }; -static const struct pmc_bit_map tgl_lpm0_map[] = { +static const struct pmc_bit_map tgl_clocksource_status_map[] = { {"USB2PLL_OFF_STS", BIT(18)}, {"PCIe/USB3.1_Gen2PLL_OFF_STS", BIT(19)}, {"PCIe_Gen3PLL_OFF_STS", BIT(20)}, {"OPIOPLL_OFF_STS", BIT(21)}, {"OCPLL_OFF_STS", BIT(22)}, - {"AudioPLL_OFF_STS", BIT(23)}, + {"MainPLL_OFF_STS", BIT(23)}, {"MIPIPLL_OFF_STS", BIT(24)}, {"Fast_XTAL_Osc_OFF_STS", BIT(25)}, {"AC_Ring_Osc_OFF_STS", BIT(26)}, @@ -425,35 +428,35 @@ {} }; -static const struct pmc_bit_map tgl_lpm1_map[] = { - {"SPI_PG_STS", BIT(2)}, - {"xHCI_PG_STS", BIT(3)}, - {"PCIe_Ctrller_A_PG_STS", BIT(4)}, - {"PCIe_Ctrller_B_PG_STS", BIT(5)}, - {"PCIe_Ctrller_C_PG_STS", BIT(6)}, - {"GBE_PG_STS", BIT(7)}, - {"SATA_PG_STS", BIT(8)}, - {"HDA0_PG_STS", BIT(9)}, - {"HDA1_PG_STS", BIT(10)}, - {"HDA2_PG_STS", BIT(11)}, - {"HDA3_PG_STS", BIT(12)}, - {"PCIe_Ctrller_D_PG_STS", BIT(13)}, - {"ISIO_PG_STS", BIT(14)}, - {"SMB_PG_STS", BIT(16)}, - {"ISH_PG_STS", BIT(17)}, - {"ITH_PG_STS", BIT(19)}, - {"SDX_PG_STS", BIT(20)}, - {"xDCI_PG_STS", BIT(25)}, - {"DCI_PG_STS", BIT(26)}, - {"CSME0_PG_STS", BIT(27)}, - {"CSME_KVM_PG_STS", BIT(28)}, - {"CSME1_PG_STS", BIT(29)}, - {"CSME_CLINK_PG_STS", BIT(30)}, - {"CSME2_PG_STS", BIT(31)}, +static const struct pmc_bit_map tgl_power_gating_status_map[] = { + {"CSME_PG_STS", BIT(0)}, + {"SATA_PG_STS", BIT(1)}, + {"xHCI_PG_STS", BIT(2)}, + {"UFSX2_PG_STS", BIT(3)}, + {"OTG_PG_STS", BIT(5)}, + {"SPA_PG_STS", BIT(6)}, + {"SPB_PG_STS", BIT(7)}, + {"SPC_PG_STS", BIT(8)}, + {"SPD_PG_STS", BIT(9)}, + {"SPE_PG_STS", BIT(10)}, + {"SPF_PG_STS", BIT(11)}, + {"LSX_PG_STS", BIT(13)}, + {"P2SB_PG_STS", BIT(14)}, + {"PSF_PG_STS", BIT(15)}, + {"SBR_PG_STS", BIT(16)}, + {"OPIDMI_PG_STS", BIT(17)}, + {"THC0_PG_STS", BIT(18)}, + {"THC1_PG_STS", BIT(19)}, + {"GBETSN_PG_STS", BIT(20)}, + {"GBE_PG_STS", BIT(21)}, + {"LPSS_PG_STS", BIT(22)}, + {"MMP_UFSX2_PG_STS", BIT(23)}, + {"MMP_UFSX2B_PG_STS", BIT(24)}, + {"FIA_PG_STS", BIT(25)}, {} }; -static const struct pmc_bit_map tgl_lpm2_map[] = { +static const struct pmc_bit_map tgl_d3_status_map[] = { {"ADSP_D3_STS", BIT(0)}, {"SATA_D3_STS", BIT(1)}, {"xHCI0_D3_STS", BIT(2)}, @@ -468,7 +471,7 @@ {} }; -static const struct pmc_bit_map tgl_lpm3_map[] = { +static const struct pmc_bit_map tgl_vnn_req_status_map[] = { {"GPIO_COM0_VNN_REQ_STS", BIT(1)}, {"GPIO_COM1_VNN_REQ_STS", BIT(2)}, {"GPIO_COM2_VNN_REQ_STS", BIT(3)}, @@ -493,7 +496,7 @@ {} }; -static const struct pmc_bit_map tgl_lpm4_map[] = { +static const struct pmc_bit_map tgl_vnn_misc_status_map[] = { {"CPU_C10_REQ_STS_0", BIT(0)}, {"PCIe_LPM_En_REQ_STS_3", BIT(3)}, {"ITH_REQ_STS_5", BIT(5)}, @@ -509,7 +512,7 @@ {} }; -static const struct pmc_bit_map tgl_lpm5_map[] = { +static const struct pmc_bit_map tgl_signal_status_map[] = { {"LSX_Wake0_En_STS", BIT(0)}, {"LSX_Wake0_Pol_STS", BIT(1)}, {"LSX_Wake1_En_STS", BIT(2)}, @@ -546,18 +549,19 @@ }; static const struct pmc_bit_map *tgl_lpm_maps[] = { - tgl_lpm0_map, - tgl_lpm1_map, - tgl_lpm2_map, - tgl_lpm3_map, - tgl_lpm4_map, - tgl_lpm5_map, + tgl_clocksource_status_map, + tgl_power_gating_status_map, + tgl_d3_status_map, + tgl_vnn_req_status_map, + tgl_vnn_misc_status_map, + tgl_signal_status_map, NULL }; static const struct pmc_reg_map tgl_reg_map = { .pfear_sts = ext_tgl_pfear_map, .slp_s0_offset = CNP_PMC_SLP_S0_RES_COUNTER_OFFSET, + .slp_s0_res_counter_step = TGL_PMC_SLP_S0_RES_COUNTER_STEP, .ltr_show_sts = cnp_ltr_show_map, .msr_sts = msr_map, .ltr_ignore_offset = CNP_PMC_LTR_IGNORE_OFFSET, @@ -586,9 +590,9 @@ writel(val, pmcdev->regbase + reg_offset); } -static inline u64 pmc_core_adjust_slp_s0_step(u32 value) +static inline u64 pmc_core_adjust_slp_s0_step(struct pmc_dev *pmcdev, u32 value) { - return (u64)value * SPT_PMC_SLP_S0_RES_COUNTER_STEP; + return (u64)value * pmcdev->map->slp_s0_res_counter_step; } static int pmc_core_dev_state_get(void *data, u64 *val) @@ -598,7 +602,7 @@ u32 value; value = pmc_core_reg_read(pmcdev, map->slp_s0_offset); - *val = pmc_core_adjust_slp_s0_step(value); + *val = pmc_core_adjust_slp_s0_step(pmcdev, value); return 0; } @@ -795,7 +799,7 @@ msleep(10); val_high = pmc_core_reg_read(pmcdev, SPT_PMC_MFPMC_OFFSET); - for (index = 0; map[index].name && index < 8; index++) { + for (index = 0; index < 8 && map[index].name; index++) { seq_printf(s, "%-32s\tState: %s\n", map[index].name, map[index].bit_mask & val_low ? "Not power gated" : @@ -851,34 +855,45 @@ } DEFINE_SHOW_ATTRIBUTE(pmc_core_pll); -static ssize_t pmc_core_ltr_ignore_write(struct file *file, - const char __user *userbuf, - size_t count, loff_t *ppos) +static int pmc_core_send_ltr_ignore(u32 value) { struct pmc_dev *pmcdev = &pmc; const struct pmc_reg_map *map = pmcdev->map; - u32 val, buf_size, fd; - int err; - - buf_size = count < 64 ? count : 64; - - err = kstrtou32_from_user(userbuf, buf_size, 10, &val); - if (err) - return err; + u32 reg; + int err = 0; mutex_lock(&pmcdev->lock); - if (val > map->ltr_ignore_max) { + if (value > map->ltr_ignore_max) { err = -EINVAL; goto out_unlock; } - fd = pmc_core_reg_read(pmcdev, map->ltr_ignore_offset); - fd |= (1U << val); - pmc_core_reg_write(pmcdev, map->ltr_ignore_offset, fd); + reg = pmc_core_reg_read(pmcdev, map->ltr_ignore_offset); + reg |= BIT(value); + pmc_core_reg_write(pmcdev, map->ltr_ignore_offset, reg); out_unlock: mutex_unlock(&pmcdev->lock); + + return err; +} + +static ssize_t pmc_core_ltr_ignore_write(struct file *file, + const char __user *userbuf, + size_t count, loff_t *ppos) +{ + u32 buf_size, value; + int err; + + buf_size = min_t(u32, count, 64); + + err = kstrtou32_from_user(userbuf, buf_size, 10, &value); + if (err) + return err; + + err = pmc_core_send_ltr_ignore(value); + return err == 0 ? count : err; } @@ -1231,6 +1246,15 @@ pmcdev->pmc_xram_read_bit = pmc_core_check_read_lock_bit(); dmi_check_system(pmc_core_dmi_table); + /* + * On TGL, due to a hardware limitation, the GBE LTR blocks PC10 when + * a cable is attached. Tell the PMC to ignore it. + */ + if (pmcdev->map == &tgl_reg_map) { + dev_dbg(&pdev->dev, "ignoring GBE LTR\n"); + pmc_core_send_ltr_ignore(3); + } + pmc_core_dbgfs_register(pmcdev); device_initialized = true; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/intel_pmc_core.h +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/intel_pmc_core.h @@ -30,7 +30,7 @@ #define SPT_PMC_MPHY_CORE_STS_1 0x1142 #define SPT_PMC_MPHY_COM_STS_0 0x1155 #define SPT_PMC_MMIO_REG_LEN 0x1000 -#define SPT_PMC_SLP_S0_RES_COUNTER_STEP 0x64 +#define SPT_PMC_SLP_S0_RES_COUNTER_STEP 0x68 #define PMC_BASE_ADDR_MASK ~(SPT_PMC_MMIO_REG_LEN - 1) #define MTPMC_MASK 0xffff0000 #define PPFEAR_MAX_NUM_ENTRIES 12 @@ -185,8 +185,10 @@ #define ICL_PPFEAR_NUM_ENTRIES 9 #define ICL_NUM_IP_IGN_ALLOWED 20 #define ICL_PMC_LTR_WIGIG 0x1BFC +#define ICL_PMC_SLP_S0_RES_COUNTER_STEP 0x64 #define TGL_NUM_IP_IGN_ALLOWED 22 +#define TGL_PMC_SLP_S0_RES_COUNTER_STEP 0x7A /* * Tigerlake Power Management Controller register offsets @@ -245,6 +247,7 @@ const struct pmc_bit_map *msr_sts; const struct pmc_bit_map **lpm_sts; const u32 slp_s0_offset; + const int slp_s0_res_counter_step; const u32 ltr_ignore_offset; const int regmap_length; const u32 ppfear0_offset; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/mlx-platform.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/mlx-platform.c @@ -310,24 +310,6 @@ }; /* Platform hotplug devices */ -static struct i2c_board_info mlxplat_mlxcpld_psu[] = { - { - I2C_BOARD_INFO("24c02", 0x51), - }, - { - I2C_BOARD_INFO("24c02", 0x50), - }, -}; - -static struct i2c_board_info mlxplat_mlxcpld_ng_psu[] = { - { - I2C_BOARD_INFO("24c32", 0x51), - }, - { - I2C_BOARD_INFO("24c32", 0x50), - }, -}; - static struct i2c_board_info mlxplat_mlxcpld_pwr[] = { { I2C_BOARD_INFO("dps460", 0x59), @@ -374,15 +356,13 @@ .label = "psu1", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(0), - .hpdev.brdinfo = &mlxplat_mlxcpld_psu[0], - .hpdev.nr = MLXPLAT_CPLD_PSU_DEFAULT_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, { .label = "psu2", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(1), - .hpdev.brdinfo = &mlxplat_mlxcpld_psu[1], - .hpdev.nr = MLXPLAT_CPLD_PSU_DEFAULT_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, }; @@ -449,7 +429,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_PSU_MASK_DEF, .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = MLXPLAT_CPLD_PSU_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_psu), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_psu_items_data), .inversed = 1, .health = false, }, @@ -458,7 +438,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_PWR_MASK_DEF, .reg = MLXPLAT_CPLD_LPC_REG_PWR_OFFSET, .mask = MLXPLAT_CPLD_PWR_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_pwr_items_data), .inversed = 0, .health = false, }, @@ -467,7 +447,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_FAN_MASK_DEF, .reg = MLXPLAT_CPLD_LPC_REG_FAN_OFFSET, .mask = MLXPLAT_CPLD_FAN_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_fan), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_fan_items_data), .inversed = 1, .health = false, }, @@ -488,7 +468,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_MASK_CARRIER, .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = MLXPLAT_CPLD_PSU_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_psu), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_psu_items_data), .inversed = 1, .health = false, }, @@ -497,7 +477,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_MASK_CARRIER, .reg = MLXPLAT_CPLD_LPC_REG_PWR_OFFSET, .mask = MLXPLAT_CPLD_PWR_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_pwr_items_data), .inversed = 0, .health = false, }, @@ -506,7 +486,7 @@ .aggr_mask = MLXPLAT_CPLD_AGGR_MASK_CARRIER, .reg = MLXPLAT_CPLD_LPC_REG_FAN_OFFSET, .mask = MLXPLAT_CPLD_FAN_MASK, - .count = ARRAY_SIZE(mlxplat_mlxcpld_fan), + .count = ARRAY_SIZE(mlxplat_mlxcpld_default_fan_items_data), .inversed = 1, .health = false, }, @@ -594,15 +574,13 @@ .label = "psu1", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(0), - .hpdev.brdinfo = &mlxplat_mlxcpld_psu[0], - .hpdev.nr = MLXPLAT_CPLD_PSU_MSNXXXX_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, { .label = "psu2", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(1), - .hpdev.brdinfo = &mlxplat_mlxcpld_psu[1], - .hpdev.nr = MLXPLAT_CPLD_PSU_MSNXXXX_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, }; @@ -752,15 +730,13 @@ .label = "psu1", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(0), - .hpdev.brdinfo = &mlxplat_mlxcpld_ng_psu[0], - .hpdev.nr = MLXPLAT_CPLD_PSU_MSNXXXX_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, { .label = "psu2", .reg = MLXPLAT_CPLD_LPC_REG_PSU_OFFSET, .mask = BIT(1), - .hpdev.brdinfo = &mlxplat_mlxcpld_ng_psu[1], - .hpdev.nr = MLXPLAT_CPLD_PSU_MSNXXXX_NR, + .hpdev.nr = MLXPLAT_CPLD_NR_NONE, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/thinkpad_acpi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/thinkpad_acpi.c @@ -2569,7 +2569,7 @@ */ static int hotkey_kthread(void *data) { - struct tp_nvram_state s[2]; + struct tp_nvram_state s[2] = { 0 }; u32 poll_mask, event_mask; unsigned int si, so; unsigned long t; @@ -3214,7 +3214,14 @@ in_tablet_mode = hotkey_gmms_get_tablet_mode(res, &has_tablet_mode); - if (has_tablet_mode) + /* + * The Yoga 11e series has 2 accelerometers described by a + * BOSC0200 ACPI node. This setup relies on a Windows service + * which calls special ACPI methods on this node to report + * the laptop/tent/tablet mode to the EC. The bmc150 iio driver + * does not support this, so skip the hotkey on these models. + */ + if (has_tablet_mode && !acpi_dev_present("BOSC0200", "1", -1)) tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_GMMS; type = "GMMS"; } else if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) { @@ -4064,13 +4071,19 @@ case TP_HKEY_EV_KEY_NUMLOCK: case TP_HKEY_EV_KEY_FN: - case TP_HKEY_EV_KEY_FN_ESC: /* key press events, we just ignore them as long as the EC * is still reporting them in the normal keyboard stream */ *send_acpi_ev = false; *ignore_acpi_ev = true; return true; + case TP_HKEY_EV_KEY_FN_ESC: + /* Get the media key status to foce the status LED to update */ + acpi_evalf(hkey_handle, NULL, "GMKS", "v"); + *send_acpi_ev = false; + *ignore_acpi_ev = true; + return true; + case TP_HKEY_EV_TABLET_CHANGED: tpacpi_input_send_tabletsw(); hotkey_tablet_mode_notify_change(); @@ -4220,6 +4233,7 @@ pr_err("error while attempting to reset the event firmware interface\n"); tpacpi_send_radiosw_update(); + tpacpi_input_send_tabletsw(); hotkey_tablet_mode_notify_change(); hotkey_wakeup_reason_notify_change(); hotkey_wakeup_hotunplug_complete_notify_change(); @@ -6236,6 +6250,7 @@ enum { /* TPACPI_THERMAL_TPEC_* */ TP_EC_THERMAL_TMP0 = 0x78, /* ACPI EC regs TMP 0..7 */ TP_EC_THERMAL_TMP8 = 0xC0, /* ACPI EC regs TMP 8..15 */ + TP_EC_FUNCREV = 0xEF, /* ACPI EC Functional revision */ TP_EC_THERMAL_TMP_NA = -128, /* ACPI EC sensor not available */ TPACPI_THERMAL_SENSOR_NA = -128000, /* Sensor not available */ @@ -6434,7 +6449,7 @@ static int __init thermal_init(struct ibm_init_struct *iibm) { - u8 t, ta1, ta2; + u8 t, ta1, ta2, ver = 0; int i; int acpi_tmp7; int res; @@ -6449,7 +6464,14 @@ * 0x78-0x7F, 0xC0-0xC7. Registers return 0x00 for * non-implemented, thermal sensors return 0x80 when * not available + * The above rule is unfortunately flawed. This has been seen with + * 0xC2 (power supply ID) causing thermal control problems. + * The EC version can be determined by offset 0xEF and at least for + * version 3 the Lenovo firmware team confirmed that registers 0xC0-0xC7 + * are not thermal registers. */ + if (!acpi_ec_read(TP_EC_FUNCREV, &ver)) + pr_warn("Thinkpad ACPI EC unable to access EC version\n"); ta1 = ta2 = 0; for (i = 0; i < 8; i++) { @@ -6459,11 +6481,13 @@ ta1 = 0; break; } - if (acpi_ec_read(TP_EC_THERMAL_TMP8 + i, &t)) { - ta2 |= t; - } else { - ta1 = 0; - break; + if (ver < 3) { + if (acpi_ec_read(TP_EC_THERMAL_TMP8 + i, &t)) { + ta2 |= t; + } else { + ta1 = 0; + break; + } } } if (ta1 == 0) { @@ -6476,9 +6500,12 @@ thermal_read_mode = TPACPI_THERMAL_NONE; } } else { - thermal_read_mode = - (ta2 != 0) ? - TPACPI_THERMAL_TPEC_16 : TPACPI_THERMAL_TPEC_8; + if (ver >= 3) + thermal_read_mode = TPACPI_THERMAL_TPEC_8; + else + thermal_read_mode = + (ta2 != 0) ? + TPACPI_THERMAL_TPEC_16 : TPACPI_THERMAL_TPEC_8; } } else if (acpi_tmp7) { if (tpacpi_is_ibm() && @@ -6829,8 +6856,10 @@ list_for_each_entry(child, &device->children, node) { acpi_status status = acpi_evaluate_object(child->handle, "_BCL", NULL, &buffer); - if (ACPI_FAILURE(status)) + if (ACPI_FAILURE(status)) { + buffer.length = ACPI_ALLOCATE_BUFFER; continue; + } obj = (union acpi_object *)buffer.pointer; if (!obj || (obj->type != ACPI_TYPE_PACKAGE)) { @@ -6963,10 +6992,13 @@ pr_warn("Cannot enable backlight brightness support, ACPI is already handling it. Refer to the acpi_backlight kernel parameter.\n"); return 1; } - } else if (tp_features.bright_acpimode && brightness_enable > 1) { - pr_notice("Standard ACPI backlight interface not available, thinkpad_acpi native brightness control enabled\n"); + } else if (!tp_features.bright_acpimode) { + pr_notice("ACPI backlight interface not available\n"); + return 1; } + pr_notice("ACPI native brightness control enabled\n"); + /* * Check for module parameter bogosity, note that we * init brightness_mode to TPACPI_BRGHT_MODE_MAX in order to be @@ -8761,8 +8793,11 @@ TPACPI_Q_LNV3('N', '1', 'T', TPACPI_FAN_2CTL), /* P71 */ TPACPI_Q_LNV3('N', '1', 'U', TPACPI_FAN_2CTL), /* P51 */ TPACPI_Q_LNV3('N', '2', 'C', TPACPI_FAN_2CTL), /* P52 / P72 */ + TPACPI_Q_LNV3('N', '2', 'N', TPACPI_FAN_2CTL), /* P53 / P73 */ TPACPI_Q_LNV3('N', '2', 'E', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (1st gen) */ TPACPI_Q_LNV3('N', '2', 'O', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (2nd gen) */ + TPACPI_Q_LNV3('N', '2', 'V', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (3nd gen) */ + TPACPI_Q_LNV3('N', '3', '0', TPACPI_FAN_2CTL), /* P15 (1st gen) / P15v (1st gen) */ }; static int __init fan_init(struct ibm_init_struct *iibm) @@ -9679,6 +9714,7 @@ TPACPI_Q_LNV3('R', '0', 'B', true), /* Thinkpad 11e gen 3 */ TPACPI_Q_LNV3('R', '0', 'C', true), /* Thinkpad 13 */ TPACPI_Q_LNV3('R', '0', 'J', true), /* Thinkpad 13 gen 2 */ + TPACPI_Q_LNV3('R', '0', 'K', true), /* Thinkpad 11e gen 4 celeron BIOS */ }; static int __init tpacpi_battery_init(struct ibm_init_struct *ibm) --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/toshiba_acpi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/toshiba_acpi.c @@ -1478,7 +1478,7 @@ struct toshiba_acpi_dev *dev = PDE_DATA(file_inode(file)); char *buffer; char *cmd; - int lcd_out, crt_out, tv_out; + int lcd_out = -1, crt_out = -1, tv_out = -1; int remain = count; int value; int ret; @@ -1510,7 +1510,6 @@ kfree(cmd); - lcd_out = crt_out = tv_out = -1; ret = get_video_status(dev, &video_out); if (!ret) { unsigned int new_video_out = video_out; --- linux-riscv-5.8-5.8.0.orig/drivers/platform/x86/touchscreen_dmi.c +++ linux-riscv-5.8-5.8.0/drivers/platform/x86/touchscreen_dmi.c @@ -263,6 +263,16 @@ .properties = digma_citi_e200_props, }; +static const struct property_entry estar_beauty_hd_props[] = { + PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), + { } +}; + +static const struct ts_dmi_data estar_beauty_hd_data = { + .acpi_name = "GDIX1001:00", + .properties = estar_beauty_hd_props, +}; + static const struct property_entry gp_electronic_t701_props[] = { PROPERTY_ENTRY_U32("touchscreen-size-x", 960), PROPERTY_ENTRY_U32("touchscreen-size-y", 640), @@ -295,6 +305,21 @@ .properties = irbis_tw90_props, }; +static const struct property_entry irbis_tw118_props[] = { + PROPERTY_ENTRY_U32("touchscreen-min-x", 20), + PROPERTY_ENTRY_U32("touchscreen-min-y", 30), + PROPERTY_ENTRY_U32("touchscreen-size-x", 1960), + PROPERTY_ENTRY_U32("touchscreen-size-y", 1510), + PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-irbis-tw118.fw"), + PROPERTY_ENTRY_U32("silead,max-fingers", 10), + { } +}; + +static const struct ts_dmi_data irbis_tw118_data = { + .acpi_name = "MSSL1680:00", + .properties = irbis_tw118_props, +}; + static const struct property_entry itworks_tw891_props[] = { PROPERTY_ENTRY_U32("touchscreen-min-x", 1), PROPERTY_ENTRY_U32("touchscreen-min-y", 5), @@ -606,6 +631,23 @@ .properties = pov_mobii_wintab_p1006w_v10_props, }; +static const struct property_entry predia_basic_props[] = { + PROPERTY_ENTRY_U32("touchscreen-min-x", 3), + PROPERTY_ENTRY_U32("touchscreen-min-y", 10), + PROPERTY_ENTRY_U32("touchscreen-size-x", 1728), + PROPERTY_ENTRY_U32("touchscreen-size-y", 1144), + PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), + PROPERTY_ENTRY_STRING("firmware-name", "gsl3680-predia-basic.fw"), + PROPERTY_ENTRY_U32("silead,max-fingers", 10), + PROPERTY_ENTRY_BOOL("silead,home-button"), + { } +}; + +static const struct ts_dmi_data predia_basic_data = { + .acpi_name = "MSSL1680:00", + .properties = predia_basic_props, +}; + static const struct property_entry schneider_sct101ctm_props[] = { PROPERTY_ENTRY_U32("touchscreen-size-x", 1715), PROPERTY_ENTRY_U32("touchscreen-size-y", 1140), @@ -894,6 +936,14 @@ }, }, { + /* Estar Beauty HD (MID 7316R) */ + .driver_data = (void *)&estar_beauty_hd_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Estar"), + DMI_MATCH(DMI_PRODUCT_NAME, "eSTAR BEAUTY HD Intel Quad core"), + }, + }, + { /* GP-electronic T701 */ .driver_data = (void *)&gp_electronic_t701_data, .matches = { @@ -920,6 +970,14 @@ }, }, { + /* Irbis TW118 */ + .driver_data = (void *)&irbis_tw118_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "IRBIS"), + DMI_MATCH(DMI_PRODUCT_NAME, "TW118"), + }, + }, + { /* I.T.Works TW891 */ .driver_data = (void *)&itworks_tw891_data, .matches = { @@ -1085,6 +1143,16 @@ }, }, { + /* Predia Basic tablet) */ + .driver_data = (void *)&predia_basic_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"), + /* Above matches are too generic, add bios-version match */ + DMI_MATCH(DMI_BIOS_VERSION, "Mx.WT107.KUBNGEA"), + }, + }, + { /* Point of View mobii wintab p800w (v2.1) */ .driver_data = (void *)&pov_mobii_wintab_p800w_v21_data, .matches = { --- linux-riscv-5.8-5.8.0.orig/drivers/pnp/isapnp/core.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/power/reset/at91-sama5d2_shdwc.c +++ linux-riscv-5.8-5.8.0/drivers/power/reset/at91-sama5d2_shdwc.c @@ -37,7 +37,7 @@ #define AT91_SHDW_MR 0x04 /* Shut Down Mode Register */ #define AT91_SHDW_WKUPDBC_SHIFT 24 -#define AT91_SHDW_WKUPDBC_MASK GENMASK(31, 16) +#define AT91_SHDW_WKUPDBC_MASK GENMASK(26, 24) #define AT91_SHDW_WKUPDBC(x) (((x) << AT91_SHDW_WKUPDBC_SHIFT) \ & AT91_SHDW_WKUPDBC_MASK) --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/88pm860x_battery.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/88pm860x_battery.c @@ -433,7 +433,7 @@ int ret; int data; int bat_remove; - int soc; + int soc = 0; /* measure enable on GPADC1 */ data = MEAS1_GP1; @@ -496,7 +496,9 @@ } mutex_unlock(&info->lock); - calc_soc(info, OCV_MODE_ACTIVE, &soc); + ret = calc_soc(info, OCV_MODE_ACTIVE, &soc); + if (ret < 0) + goto out; data = pm860x_reg_read(info->i2c, PM8607_POWER_UP_LOG); bat_remove = data & BAT_WU_LOG; --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/power/supply/Kconfig @@ -229,6 +229,7 @@ config CHARGER_SBS tristate "SBS Compliant charger" depends on I2C + select REGMAP_I2C help Say Y to include support for SBS compliant battery chargers. --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/axp20x_usb_power.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/axp20x_usb_power.c @@ -593,6 +593,7 @@ power->axp20x_id = axp_data->axp20x_id; power->regmap = axp20x->regmap; power->num_irqs = axp_data->num_irq_names; + INIT_DELAYED_WORK(&power->vbus_detect, axp20x_usb_power_poll_vbus); if (power->axp20x_id == AXP202_ID) { /* Enable vbus valid checking */ @@ -645,7 +646,6 @@ } } - INIT_DELAYED_WORK(&power->vbus_detect, axp20x_usb_power_poll_vbus); if (axp20x_usb_vbus_needs_polling(power)) queue_delayed_work(system_wq, &power->vbus_detect, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/axp288_charger.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/axp288_charger.c @@ -548,14 +548,15 @@ /* * The HP Pavilion x2 10 series comes in a number of variants: - * Bay Trail SoC + AXP288 PMIC, DMI_BOARD_NAME: "815D" - * Cherry Trail SoC + AXP288 PMIC, DMI_BOARD_NAME: "813E" - * Cherry Trail SoC + TI PMIC, DMI_BOARD_NAME: "827C" or "82F4" + * Bay Trail SoC + AXP288 PMIC, Micro-USB, DMI_BOARD_NAME: "8021" + * Bay Trail SoC + AXP288 PMIC, Type-C, DMI_BOARD_NAME: "815D" + * Cherry Trail SoC + AXP288 PMIC, Type-C, DMI_BOARD_NAME: "813E" + * Cherry Trail SoC + TI PMIC, Type-C, DMI_BOARD_NAME: "827C" or "82F4" * - * The variants with the AXP288 PMIC are all kinds of special: + * The variants with the AXP288 + Type-C connector are all kinds of special: * - * 1. All variants use a Type-C connector which the AXP288 does not support, so - * when using a Type-C charger it is not recognized. Unlike most AXP288 devices, + * 1. They use a Type-C connector which the AXP288 does not support, so when + * using a Type-C charger it is not recognized. Unlike most AXP288 devices, * this model actually has mostly working ACPI AC / Battery code, the ACPI code * "solves" this by simply setting the input_current_limit to 3A. * There are still some issues with the ACPI code, so we use this native driver, @@ -578,12 +579,17 @@ */ static const struct dmi_system_id axp288_hp_x2_dmi_ids[] = { { - /* - * Bay Trail model has "Hewlett-Packard" as sys_vendor, Cherry - * Trail model has "HP", so we only match on product_name. - */ .matches = { - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"), + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "815D"), + }, + }, + { + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "HP"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "813E"), }, }, {} /* Terminating entry */ --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/bq24190_charger.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/bq24190_charger.c @@ -448,8 +448,10 @@ return -EINVAL; ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } ret = bq24190_read_mask(bdi, info->reg, info->mask, info->shift, &v); if (ret) @@ -1075,8 +1077,10 @@ dev_dbg(bdi->dev, "prop: %d\n", psp); ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } switch (psp) { case POWER_SUPPLY_PROP_CHARGE_TYPE: @@ -1147,8 +1151,10 @@ dev_dbg(bdi->dev, "prop: %d\n", psp); ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } switch (psp) { case POWER_SUPPLY_PROP_ONLINE: @@ -1408,8 +1414,10 @@ dev_dbg(bdi->dev, "prop: %d\n", psp); ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } switch (psp) { case POWER_SUPPLY_PROP_STATUS: @@ -1454,8 +1462,10 @@ dev_dbg(bdi->dev, "prop: %d\n", psp); ret = pm_runtime_get_sync(bdi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(bdi->dev); return ret; + } switch (psp) { case POWER_SUPPLY_PROP_ONLINE: --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/bq25890_charger.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/bq25890_charger.c @@ -295,7 +295,7 @@ /* TODO: BQ25896 has max ICHG 3008 mA */ [TBL_ICHG] = { .rt = {0, 5056000, 64000} }, /* uA */ [TBL_ITERM] = { .rt = {64000, 1024000, 64000} }, /* uA */ - [TBL_IILIM] = { .rt = {50000, 3200000, 50000} }, /* uA */ + [TBL_IILIM] = { .rt = {100000, 3250000, 50000} }, /* uA */ [TBL_VREG] = { .rt = {3840000, 4608000, 16000} }, /* uV */ [TBL_BOOSTV] = { .rt = {4550000, 5510000, 64000} }, /* uV */ [TBL_SYSVMIN] = { .rt = {3000000, 3700000, 100000} }, /* uV */ --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/bq27xxx_battery.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/bq27xxx_battery.c @@ -1678,8 +1678,6 @@ status = POWER_SUPPLY_STATUS_FULL; else if (di->cache.flags & BQ27000_FLAG_CHGS) status = POWER_SUPPLY_STATUS_CHARGING; - else if (power_supply_am_i_supplied(di->bat) > 0) - status = POWER_SUPPLY_STATUS_NOT_CHARGING; else status = POWER_SUPPLY_STATUS_DISCHARGING; } else { @@ -1691,6 +1689,10 @@ status = POWER_SUPPLY_STATUS_CHARGING; } + if ((status == POWER_SUPPLY_STATUS_DISCHARGING) && + (power_supply_am_i_supplied(di->bat) > 0)) + status = POWER_SUPPLY_STATUS_NOT_CHARGING; + val->intval = status; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/cpcap-battery.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/cpcap-battery.c @@ -561,17 +561,21 @@ POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE, &prop); if (error) - return error; + goto out_put; /* Allow charger const voltage lower than battery const voltage */ if (const_charge_voltage > prop.intval) - return 0; + goto out_put; val.intval = const_charge_voltage; - return power_supply_set_property(charger, + error = power_supply_set_property(charger, POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE, &val); +out_put: + power_supply_put(charger); + + return error; } static int cpcap_battery_set_property(struct power_supply *psy, @@ -666,7 +670,7 @@ error = devm_request_threaded_irq(ddata->dev, irq, NULL, cpcap_battery_irq_thread, - IRQF_SHARED, + IRQF_SHARED | IRQF_ONESHOT, name, ddata); if (error) { dev_err(ddata->dev, "could not get irq %s: %i\n", --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/cpcap-charger.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/cpcap-charger.c @@ -301,6 +301,8 @@ &prop); if (!error) voltage = prop.intval; + + power_supply_put(battery); } return voltage; @@ -708,7 +710,7 @@ error = devm_request_threaded_irq(ddata->dev, irq, NULL, cpcap_charger_irq_thread, - IRQF_SHARED, + IRQF_SHARED | IRQF_ONESHOT, name, ddata); if (error) { dev_err(ddata->dev, "could not get irq %s: %i\n", --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/max17042_battery.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/max17042_battery.c @@ -85,9 +85,10 @@ POWER_SUPPLY_PROP_TEMP_MAX, POWER_SUPPLY_PROP_HEALTH, POWER_SUPPLY_PROP_SCOPE, + POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW, + // these two have to be at the end on the list POWER_SUPPLY_PROP_CURRENT_NOW, POWER_SUPPLY_PROP_CURRENT_AVG, - POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW, }; static int max17042_get_temperature(struct max17042_chip *chip, int *temp) --- linux-riscv-5.8-5.8.0.orig/drivers/power/supply/test_power.c +++ linux-riscv-5.8-5.8.0/drivers/power/supply/test_power.c @@ -353,6 +353,7 @@ static int param_get_ac_online(char *buffer, const struct kernel_param *kp) { strcpy(buffer, map_get_key(map_ac_online, ac_online, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } @@ -366,6 +367,7 @@ static int param_get_usb_online(char *buffer, const struct kernel_param *kp) { strcpy(buffer, map_get_key(map_ac_online, usb_online, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } @@ -380,6 +382,7 @@ static int param_get_battery_status(char *buffer, const struct kernel_param *kp) { strcpy(buffer, map_get_key(map_status, battery_status, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } @@ -394,6 +397,7 @@ static int param_get_battery_health(char *buffer, const struct kernel_param *kp) { strcpy(buffer, map_get_key(map_health, battery_health, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } @@ -409,6 +413,7 @@ const struct kernel_param *kp) { strcpy(buffer, map_get_key(map_present, battery_present, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } @@ -426,6 +431,7 @@ { strcpy(buffer, map_get_key(map_technology, battery_technology, "unknown")); + strcat(buffer, "\n"); return strlen(buffer); } --- linux-riscv-5.8-5.8.0.orig/drivers/powercap/intel_rapl_common.c +++ linux-riscv-5.8-5.8.0/drivers/powercap/intel_rapl_common.c @@ -1423,7 +1423,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-riscv-5.8-5.8.0.orig/drivers/powercap/powercap_sys.c +++ linux-riscv-5.8-5.8.0/drivers/powercap/powercap_sys.c @@ -224,46 +224,46 @@ for (i = 0; i < MAX_CONSTRAINTS_PER_ZONE; ++i) { ret = create_constraint_attribute(i, "power_limit_uw", - S_IWUSR | S_IRUGO, + S_IWUSR | S_IRUSR, &constraint_attrs[i].power_limit_attr, show_constraint_power_limit_uw, store_constraint_power_limit_uw); if (ret) goto err_alloc; ret = create_constraint_attribute(i, "time_window_us", - S_IWUSR | S_IRUGO, + S_IWUSR | S_IRUSR, &constraint_attrs[i].time_window_attr, show_constraint_time_window_us, store_constraint_time_window_us); if (ret) goto err_alloc; - ret = create_constraint_attribute(i, "name", S_IRUGO, + ret = create_constraint_attribute(i, "name", S_IRUSR, &constraint_attrs[i].name_attr, show_constraint_name, NULL); if (ret) goto err_alloc; - ret = create_constraint_attribute(i, "max_power_uw", S_IRUGO, + ret = create_constraint_attribute(i, "max_power_uw", S_IRUSR, &constraint_attrs[i].max_power_attr, show_constraint_max_power_uw, NULL); if (ret) goto err_alloc; - ret = create_constraint_attribute(i, "min_power_uw", S_IRUGO, + ret = create_constraint_attribute(i, "min_power_uw", S_IRUSR, &constraint_attrs[i].min_power_attr, show_constraint_min_power_uw, NULL); if (ret) goto err_alloc; ret = create_constraint_attribute(i, "max_time_window_us", - S_IRUGO, + S_IRUSR, &constraint_attrs[i].max_time_window_attr, show_constraint_max_time_window_us, NULL); if (ret) goto err_alloc; ret = create_constraint_attribute(i, "min_time_window_us", - S_IRUGO, + S_IRUSR, &constraint_attrs[i].min_time_window_attr, show_constraint_min_time_window_us, NULL); @@ -362,23 +362,29 @@ int count = 0; power_zone->zone_dev_attrs[count++] = &dev_attr_name.attr; - if (power_zone->ops->get_max_energy_range_uj) + if (power_zone->ops->get_max_energy_range_uj) { + dev_attr_max_energy_range_uj.attr.mode = S_IRUSR; power_zone->zone_dev_attrs[count++] = &dev_attr_max_energy_range_uj.attr; + } if (power_zone->ops->get_energy_uj) { if (power_zone->ops->reset_energy_uj) - dev_attr_energy_uj.attr.mode = S_IWUSR | S_IRUGO; + dev_attr_energy_uj.attr.mode = S_IWUSR | S_IRUSR; else - dev_attr_energy_uj.attr.mode = S_IRUGO; + dev_attr_energy_uj.attr.mode = S_IRUSR; power_zone->zone_dev_attrs[count++] = &dev_attr_energy_uj.attr; } - if (power_zone->ops->get_power_uw) + if (power_zone->ops->get_power_uw) { + dev_attr_power_uw.attr.mode = S_IRUSR; power_zone->zone_dev_attrs[count++] = &dev_attr_power_uw.attr; - if (power_zone->ops->get_max_power_range_uw) + } + if (power_zone->ops->get_max_power_range_uw) { + dev_attr_max_power_range_uw.attr.mode = S_IRUSR; power_zone->zone_dev_attrs[count++] = &dev_attr_max_power_range_uw.attr; + } power_zone->zone_dev_attrs[count] = NULL; power_zone->zone_attr_count = count; } --- linux-riscv-5.8-5.8.0.orig/drivers/ps3/ps3stor_lib.c +++ linux-riscv-5.8-5.8.0/drivers/ps3/ps3stor_lib.c @@ -189,7 +189,7 @@ dev->bounce_lpar = ps3_mm_phys_to_lpar(__pa(dev->bounce_buf)); dev->bounce_dma = dma_map_single(&dev->sbd.core, dev->bounce_buf, dev->bounce_size, DMA_BIDIRECTIONAL); - if (!dev->bounce_dma) { + if (dma_mapping_error(&dev->sbd.core, dev->bounce_dma)) { dev_err(&dev->sbd.core, "%s:%u: map DMA region failed\n", __func__, __LINE__); error = -ENODEV; --- linux-riscv-5.8-5.8.0.orig/drivers/ptp/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/ptp/Kconfig @@ -64,6 +64,7 @@ depends on NETWORK_PHY_TIMESTAMPING depends on PHYLIB depends on PTP_1588_CLOCK + select CRC32 help Supports the DP83640 PHYTER with IEEE 1588 features. @@ -78,6 +79,7 @@ config PTP_1588_CLOCK_INES tristate "ZHAW InES PTP time stamping IP core" depends on NETWORK_PHY_TIMESTAMPING + depends on HAS_IOMEM depends on PHYLIB depends on PTP_1588_CLOCK help --- linux-riscv-5.8-5.8.0.orig/drivers/ptp/ptp_clock.c +++ linux-riscv-5.8-5.8.0/drivers/ptp/ptp_clock.c @@ -179,6 +179,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); mutex_destroy(&ptp->tsevq_mux); mutex_destroy(&ptp->pincfg_mux); @@ -307,11 +310,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-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-bcm-iproc.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-bcm-iproc.c @@ -85,8 +85,6 @@ u64 tmp, multi, rate; u32 value, prescale; - rate = clk_get_rate(ip->clk); - value = readl(ip->base + IPROC_PWM_CTRL_OFFSET); if (value & BIT(IPROC_PWM_CTRL_EN_SHIFT(pwm->hwpwm))) @@ -99,6 +97,13 @@ else state->polarity = PWM_POLARITY_INVERSED; + rate = clk_get_rate(ip->clk); + if (rate == 0) { + state->period = 0; + state->duty_cycle = 0; + return; + } + value = readl(ip->base + IPROC_PWM_PRESCALE_OFFSET); prescale = value >> IPROC_PWM_PRESCALE_SHIFT(pwm->hwpwm); prescale &= IPROC_PWM_PRESCALE_MAX; --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-img.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-img.c @@ -277,6 +277,8 @@ return PTR_ERR(pwm->pwm_clk); } + platform_set_drvdata(pdev, pwm); + pm_runtime_set_autosuspend_delay(&pdev->dev, IMG_PWM_PM_TIMEOUT); pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_enable(&pdev->dev); @@ -313,7 +315,6 @@ goto err_suspend; } - platform_set_drvdata(pdev, pwm); return 0; err_suspend: --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-imx27.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-imx27.c @@ -235,8 +235,9 @@ period_cycles /= prescale; c = clkrate * state->duty_cycle; - do_div(c, NSEC_PER_SEC * prescale); + do_div(c, NSEC_PER_SEC); duty_cycles = c; + duty_cycles /= prescale; /* * according to imx pwm RM, the real period value should be PERIOD --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-lp3943.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-lp3943.c @@ -275,6 +275,7 @@ lp3943_pwm->chip.dev = &pdev->dev; lp3943_pwm->chip.ops = &lp3943_pwm_ops; lp3943_pwm->chip.npwm = LP3943_NUM_PWMS; + lp3943_pwm->chip.base = -1; platform_set_drvdata(pdev, lp3943_pwm); --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-lpss.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-lpss.c @@ -93,10 +93,12 @@ * The equation is: * base_unit = round(base_unit_range * freq / c) */ - base_unit_range = BIT(lpwm->info->base_unit_bits) - 1; + base_unit_range = BIT(lpwm->info->base_unit_bits); freq *= base_unit_range; base_unit = DIV_ROUND_CLOSEST_ULL(freq, c); + /* base_unit must not be 0 and we also want to avoid overflowing it */ + base_unit = clamp_val(base_unit, 1, base_unit_range - 1); on_time_div = 255ULL * duty_ns; do_div(on_time_div, period_ns); @@ -104,8 +106,7 @@ orig_ctrl = ctrl = pwm_lpss_read(pwm); ctrl &= ~PWM_ON_TIME_DIV_MASK; - ctrl &= ~(base_unit_range << PWM_BASE_UNIT_SHIFT); - base_unit &= base_unit_range; + ctrl &= ~((base_unit_range - 1) << PWM_BASE_UNIT_SHIFT); ctrl |= (u32) base_unit << PWM_BASE_UNIT_SHIFT; ctrl |= on_time_div; --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-rockchip.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-rockchip.c @@ -288,6 +288,8 @@ const struct of_device_id *id; struct rockchip_pwm_chip *pc; struct resource *r; + u32 enable_conf, ctrl; + bool enabled; int ret, count; id = of_match_device(rockchip_pwm_dt_ids, &pdev->dev); @@ -335,9 +337,9 @@ return ret; } - ret = clk_prepare(pc->pclk); + ret = clk_prepare_enable(pc->pclk); if (ret) { - dev_err(&pdev->dev, "Can't prepare APB clk: %d\n", ret); + dev_err(&pdev->dev, "Can't prepare enable APB clk: %d\n", ret); goto err_clk; } @@ -354,21 +356,26 @@ pc->chip.of_pwm_n_cells = 3; } + enable_conf = pc->data->enable_conf; + ctrl = readl_relaxed(pc->base + pc->data->regs.ctrl); + enabled = (ctrl & enable_conf) == enable_conf; + ret = pwmchip_add(&pc->chip); if (ret < 0) { - clk_unprepare(pc->clk); dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret); goto err_pclk; } /* Keep the PWM clk enabled if the PWM appears to be up and running. */ - if (!pwm_is_enabled(pc->chip.pwms)) + if (!enabled) clk_disable(pc->clk); + clk_disable(pc->pclk); + return 0; err_pclk: - clk_unprepare(pc->pclk); + clk_disable_unprepare(pc->pclk); err_clk: clk_disable_unprepare(pc->clk); --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-sun4i.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-sun4i.c @@ -294,12 +294,8 @@ ctrl |= BIT_CH(PWM_CLK_GATING, pwm->hwpwm); - if (state->enabled) { + if (state->enabled) ctrl |= BIT_CH(PWM_EN, pwm->hwpwm); - } else { - ctrl &= ~BIT_CH(PWM_EN, pwm->hwpwm); - ctrl &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm); - } sun4i_pwm_writel(sun4i_pwm, ctrl, PWM_CTRL_REG); --- linux-riscv-5.8-5.8.0.orig/drivers/pwm/pwm-zx.c +++ linux-riscv-5.8-5.8.0/drivers/pwm/pwm-zx.c @@ -238,6 +238,7 @@ ret = pwmchip_add(&zpc->chip); if (ret < 0) { dev_err(&pdev->dev, "failed to add PWM chip: %d\n", ret); + clk_disable_unprepare(zpc->pclk); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/rapidio/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/rapidio/Kconfig @@ -37,7 +37,7 @@ config RAPIDIO_DMA_ENGINE bool "DMA Engine support for RapidIO" depends on RAPIDIO - select DMADEVICES + depends on DMADEVICES select DMA_ENGINE help Say Y here if you want to use DMA Engine frameork for RapidIO data --- linux-riscv-5.8-5.8.0.orig/drivers/rapidio/devices/rio_mport_cdev.c +++ linux-riscv-5.8-5.8.0/drivers/rapidio/devices/rio_mport_cdev.c @@ -871,15 +871,16 @@ rmcd_error("pin_user_pages_fast err=%ld", pinned); nr_pages = 0; - } else + } else { rmcd_error("pinned %ld out of %ld pages", pinned, nr_pages); + /* + * Set nr_pages up to mean "how many pages to unpin, in + * the error handler: + */ + nr_pages = pinned; + } ret = -EFAULT; - /* - * Set nr_pages up to mean "how many pages to unpin, in - * the error handler: - */ - nr_pages = pinned; goto err_pg; } @@ -1679,6 +1680,7 @@ struct rio_dev *rdev; struct rio_switch *rswitch = NULL; struct rio_mport *mport; + struct device *dev; size_t size; u32 rval; u32 swpinfo = 0; @@ -1693,8 +1695,10 @@ rmcd_debug(RDEV, "name:%s ct:0x%x did:0x%x hc:0x%x", dev_info.name, dev_info.comptag, dev_info.destid, dev_info.hopcount); - if (bus_find_device_by_name(&rio_bus_type, NULL, dev_info.name)) { + dev = bus_find_device_by_name(&rio_bus_type, NULL, dev_info.name); + if (dev) { rmcd_debug(RDEV, "device %s already exists", dev_info.name); + put_device(dev); return -EEXIST; } --- linux-riscv-5.8-5.8.0.orig/drivers/ras/cec.c +++ linux-riscv-5.8-5.8.0/drivers/ras/cec.c @@ -309,11 +309,20 @@ return ret; } +/** + * cec_add_elem - Add an element to the CEC array. + * @pfn: page frame number to insert + * + * Return values: + * - <0: on error + * - 0: on success + * - >0: when the inserted pfn was offlined + */ static int cec_add_elem(u64 pfn) { struct ce_array *ca = &ce_arr; + int count, err, ret = 0; unsigned int to = 0; - int count, ret = 0; /* * We can be called very early on the identify_cpu() path where we are @@ -330,8 +339,8 @@ if (ca->n == MAX_ELEMS) WARN_ON(!del_lru_elem_unlocked(ca)); - ret = find_elem(ca, pfn, &to); - if (ret < 0) { + err = find_elem(ca, pfn, &to); + if (err < 0) { /* * Shift range [to-end] to make room for one more element. */ @@ -553,20 +562,20 @@ .priority = MCE_PRIO_CEC, }; -static void __init cec_init(void) +static int __init cec_init(void) { if (ce_arr.disabled) - return; + return -ENODEV; ce_arr.array = (void *)get_zeroed_page(GFP_KERNEL); if (!ce_arr.array) { pr_err("Error allocating CE array page!\n"); - return; + return -ENOMEM; } if (create_debugfs_nodes()) { free_page((unsigned long)ce_arr.array); - return; + return -ENOMEM; } INIT_DELAYED_WORK(&cec_work, cec_work_fn); @@ -575,6 +584,7 @@ mce_register_decode_chain(&cec_nb); pr_info("Correctable Errors collector initialized.\n"); + return 0; } late_initcall(cec_init); --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/axp20x-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/axp20x-regulator.c @@ -42,8 +42,9 @@ #define AXP20X_DCDC2_V_OUT_MASK GENMASK(5, 0) #define AXP20X_DCDC3_V_OUT_MASK GENMASK(7, 0) -#define AXP20X_LDO24_V_OUT_MASK GENMASK(7, 4) +#define AXP20X_LDO2_V_OUT_MASK GENMASK(7, 4) #define AXP20X_LDO3_V_OUT_MASK GENMASK(6, 0) +#define AXP20X_LDO4_V_OUT_MASK GENMASK(3, 0) #define AXP20X_LDO5_V_OUT_MASK GENMASK(7, 4) #define AXP20X_PWR_OUT_EXTEN_MASK BIT_MASK(0) @@ -542,14 +543,14 @@ AXP20X_PWR_OUT_CTRL, AXP20X_PWR_OUT_DCDC3_MASK), AXP_DESC_FIXED(AXP20X, LDO1, "ldo1", "acin", 1300), AXP_DESC(AXP20X, LDO2, "ldo2", "ldo24in", 1800, 3300, 100, - AXP20X_LDO24_V_OUT, AXP20X_LDO24_V_OUT_MASK, + AXP20X_LDO24_V_OUT, AXP20X_LDO2_V_OUT_MASK, AXP20X_PWR_OUT_CTRL, AXP20X_PWR_OUT_LDO2_MASK), AXP_DESC(AXP20X, LDO3, "ldo3", "ldo3in", 700, 3500, 25, AXP20X_LDO3_V_OUT, AXP20X_LDO3_V_OUT_MASK, AXP20X_PWR_OUT_CTRL, AXP20X_PWR_OUT_LDO3_MASK), AXP_DESC_RANGES(AXP20X, LDO4, "ldo4", "ldo24in", axp20x_ldo4_ranges, AXP20X_LDO4_V_OUT_NUM_VOLTAGES, - AXP20X_LDO24_V_OUT, AXP20X_LDO24_V_OUT_MASK, + AXP20X_LDO24_V_OUT, AXP20X_LDO4_V_OUT_MASK, AXP20X_PWR_OUT_CTRL, AXP20X_PWR_OUT_LDO4_MASK), AXP_DESC_IO(AXP20X, LDO5, "ldo5", "ldo5in", 1800, 3300, 100, AXP20X_LDO5_V_OUT, AXP20X_LDO5_V_OUT_MASK, @@ -593,7 +594,7 @@ AXP22X_DLDO1_V_OUT, AXP22X_DLDO1_V_OUT_MASK, AXP22X_PWR_OUT_CTRL2, AXP22X_PWR_OUT_DLDO1_MASK), AXP_DESC(AXP22X, DLDO2, "dldo2", "dldoin", 700, 3300, 100, - AXP22X_DLDO2_V_OUT, AXP22X_PWR_OUT_DLDO2_MASK, + AXP22X_DLDO2_V_OUT, AXP22X_DLDO2_V_OUT_MASK, AXP22X_PWR_OUT_CTRL2, AXP22X_PWR_OUT_DLDO2_MASK), AXP_DESC(AXP22X, DLDO3, "dldo3", "dldoin", 700, 3300, 100, AXP22X_DLDO3_V_OUT, AXP22X_DLDO3_V_OUT_MASK, @@ -1069,7 +1070,7 @@ static int axp20x_regulator_parse_dt(struct platform_device *pdev) { struct device_node *np, *regulators; - int ret; + int ret = 0; u32 dcdcfreq = 0; np = of_node_get(pdev->dev.parent->of_node); @@ -1084,13 +1085,12 @@ ret = axp20x_set_dcdc_freq(pdev, dcdcfreq); if (ret < 0) { dev_err(&pdev->dev, "Error setting dcdc frequency: %d\n", ret); - return ret; } - of_node_put(regulators); } - return 0; + of_node_put(np); + return ret; } static int axp20x_set_dcdc_workmode(struct regulator_dev *rdev, int id, u32 workmode) --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/bd718x7-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/bd718x7-regulator.c @@ -15,6 +15,36 @@ #include #include +/* Typical regulator startup times as per data sheet in uS */ +#define BD71847_BUCK1_STARTUP_TIME 144 +#define BD71847_BUCK2_STARTUP_TIME 162 +#define BD71847_BUCK3_STARTUP_TIME 162 +#define BD71847_BUCK4_STARTUP_TIME 240 +#define BD71847_BUCK5_STARTUP_TIME 270 +#define BD71847_BUCK6_STARTUP_TIME 200 +#define BD71847_LDO1_STARTUP_TIME 440 +#define BD71847_LDO2_STARTUP_TIME 370 +#define BD71847_LDO3_STARTUP_TIME 310 +#define BD71847_LDO4_STARTUP_TIME 400 +#define BD71847_LDO5_STARTUP_TIME 530 +#define BD71847_LDO6_STARTUP_TIME 400 + +#define BD71837_BUCK1_STARTUP_TIME 160 +#define BD71837_BUCK2_STARTUP_TIME 180 +#define BD71837_BUCK3_STARTUP_TIME 180 +#define BD71837_BUCK4_STARTUP_TIME 180 +#define BD71837_BUCK5_STARTUP_TIME 160 +#define BD71837_BUCK6_STARTUP_TIME 240 +#define BD71837_BUCK7_STARTUP_TIME 220 +#define BD71837_BUCK8_STARTUP_TIME 200 +#define BD71837_LDO1_STARTUP_TIME 440 +#define BD71837_LDO2_STARTUP_TIME 370 +#define BD71837_LDO3_STARTUP_TIME 310 +#define BD71837_LDO4_STARTUP_TIME 400 +#define BD71837_LDO5_STARTUP_TIME 310 +#define BD71837_LDO6_STARTUP_TIME 400 +#define BD71837_LDO7_STARTUP_TIME 530 + /* * BUCK1/2/3/4 * BUCK1RAMPRATE[1:0] BUCK1 DVS ramp rate setting @@ -560,6 +590,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD718XX_REG_BUCK1_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK1_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -594,6 +625,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD718XX_REG_BUCK2_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK2_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -629,6 +661,7 @@ .linear_range_selectors = bd71847_buck3_volt_range_sel, .enable_reg = BD718XX_REG_1ST_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK3_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -656,6 +689,7 @@ .vsel_range_mask = BD71847_BUCK4_RANGE_MASK, .linear_range_selectors = bd71847_buck4_volt_range_sel, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK4_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -678,6 +712,7 @@ .vsel_mask = BD718XX_3RD_NODVS_BUCK_MASK, .enable_reg = BD718XX_REG_3RD_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK5_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -702,6 +737,7 @@ .vsel_mask = BD718XX_4TH_NODVS_BUCK_MASK, .enable_reg = BD718XX_REG_4TH_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71847_BUCK6_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -728,6 +764,7 @@ .linear_range_selectors = bd718xx_ldo1_volt_range_sel, .enable_reg = BD718XX_REG_LDO1_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO1_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -750,6 +787,7 @@ .n_voltages = ARRAY_SIZE(ldo_2_volts), .enable_reg = BD718XX_REG_LDO2_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO2_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -773,6 +811,7 @@ .vsel_mask = BD718XX_LDO3_MASK, .enable_reg = BD718XX_REG_LDO3_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO3_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -796,6 +835,7 @@ .vsel_mask = BD718XX_LDO4_MASK, .enable_reg = BD718XX_REG_LDO4_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO4_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -822,6 +862,7 @@ .linear_range_selectors = bd71847_ldo5_volt_range_sel, .enable_reg = BD718XX_REG_LDO5_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO5_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -847,6 +888,7 @@ .vsel_mask = BD718XX_LDO6_MASK, .enable_reg = BD718XX_REG_LDO6_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71847_LDO6_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -873,6 +915,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD718XX_REG_BUCK1_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK1_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -907,6 +950,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD718XX_REG_BUCK2_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK2_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -938,6 +982,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD71837_REG_BUCK3_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK3_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -967,6 +1012,7 @@ .vsel_mask = DVS_BUCK_RUN_MASK, .enable_reg = BD71837_REG_BUCK4_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK4_STARTUP_TIME, .owner = THIS_MODULE, .of_parse_cb = buck_set_hw_dvs_levels, }, @@ -1000,6 +1046,7 @@ .linear_range_selectors = bd71837_buck5_volt_range_sel, .enable_reg = BD718XX_REG_1ST_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK5_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1024,6 +1071,7 @@ .vsel_mask = BD71837_BUCK6_MASK, .enable_reg = BD718XX_REG_2ND_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK6_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1046,6 +1094,7 @@ .vsel_mask = BD718XX_3RD_NODVS_BUCK_MASK, .enable_reg = BD718XX_REG_3RD_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK7_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1070,6 +1119,7 @@ .vsel_mask = BD718XX_4TH_NODVS_BUCK_MASK, .enable_reg = BD718XX_REG_4TH_NODVS_BUCK_CTRL, .enable_mask = BD718XX_BUCK_EN, + .enable_time = BD71837_BUCK8_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1096,6 +1146,7 @@ .linear_range_selectors = bd718xx_ldo1_volt_range_sel, .enable_reg = BD718XX_REG_LDO1_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO1_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1118,6 +1169,7 @@ .n_voltages = ARRAY_SIZE(ldo_2_volts), .enable_reg = BD718XX_REG_LDO2_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO2_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1141,6 +1193,7 @@ .vsel_mask = BD718XX_LDO3_MASK, .enable_reg = BD718XX_REG_LDO3_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO3_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1164,6 +1217,7 @@ .vsel_mask = BD718XX_LDO4_MASK, .enable_reg = BD718XX_REG_LDO4_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO4_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1189,6 +1243,7 @@ .vsel_mask = BD71837_LDO5_MASK, .enable_reg = BD718XX_REG_LDO5_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO5_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1216,6 +1271,7 @@ .vsel_mask = BD718XX_LDO6_MASK, .enable_reg = BD718XX_REG_LDO6_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO6_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { @@ -1241,6 +1297,7 @@ .vsel_mask = BD71837_LDO7_MASK, .enable_reg = BD71837_REG_LDO7_VOLT, .enable_mask = BD718XX_LDO_EN, + .enable_time = BD71837_LDO7_STARTUP_TIME, .owner = THIS_MODULE, }, .init = { --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/bd9571mwv-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/bd9571mwv-regulator.c @@ -124,7 +124,7 @@ static const struct regulator_desc regulators[] = { BD9571MWV_REG("VD09", "vd09", VD09, avs_ops, 0, 0x7f, - 0x80, 600000, 10000, 0x3c), + 0x6f, 600000, 10000, 0x3c), BD9571MWV_REG("VD18", "vd18", VD18, vid_ops, BD9571MWV_VD18_VID, 0xf, 16, 1625000, 25000, 0), BD9571MWV_REG("VD25", "vd25", VD25, vid_ops, BD9571MWV_VD25_VID, 0xf, @@ -133,7 +133,7 @@ 11, 2800000, 100000, 0), BD9571MWV_REG("DVFS", "dvfs", DVFS, reg_ops, BD9571MWV_DVFS_MONIVDAC, 0x7f, - 0x80, 600000, 10000, 0x3c), + 0x6f, 600000, 10000, 0x3c), }; #ifdef CONFIG_PM_SLEEP --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/core.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/core.c @@ -235,8 +235,8 @@ static void regulator_unlock_recursive(struct regulator_dev *rdev, unsigned int n_coupled) { - struct regulator_dev *c_rdev; - int i; + struct regulator_dev *c_rdev, *supply_rdev; + int i, supply_n_coupled; for (i = n_coupled; i > 0; i--) { c_rdev = rdev->coupling_desc.coupled_rdevs[i - 1]; @@ -244,10 +244,13 @@ if (!c_rdev) continue; - if (c_rdev->supply && !regulator_supply_is_couple(c_rdev)) - regulator_unlock_recursive( - c_rdev->supply->rdev, - c_rdev->coupling_desc.n_coupled); + if (c_rdev->supply && !regulator_supply_is_couple(c_rdev)) { + supply_rdev = c_rdev->supply->rdev; + supply_n_coupled = supply_rdev->coupling_desc.n_coupled; + + regulator_unlock_recursive(supply_rdev, + supply_n_coupled); + } regulator_unlock(c_rdev); } @@ -1276,7 +1279,6 @@ /** * set_machine_constraints - sets regulator constraints * @rdev: regulator source - * @constraints: constraints to apply * * Allows platform initialisation code to define and constrain * regulator circuits e.g. valid voltage/current ranges, etc. NOTE: @@ -1284,21 +1286,11 @@ * regulator operations to proceed i.e. set_voltage, set_current_limit, * set_mode. */ -static int set_machine_constraints(struct regulator_dev *rdev, - const struct regulation_constraints *constraints) +static int set_machine_constraints(struct regulator_dev *rdev) { int ret = 0; const struct regulator_ops *ops = rdev->desc->ops; - if (constraints) - rdev->constraints = kmemdup(constraints, sizeof(*constraints), - GFP_KERNEL); - else - rdev->constraints = kzalloc(sizeof(*constraints), - GFP_KERNEL); - if (!rdev->constraints) - return -ENOMEM; - ret = machine_constraints_voltage(rdev, rdev->constraints); if (ret != 0) return ret; @@ -1460,7 +1452,7 @@ const char *consumer_dev_name, const char *supply) { - struct regulator_map *node; + struct regulator_map *node, *new_node; int has_dev; if (supply == NULL) @@ -1471,6 +1463,22 @@ else has_dev = 0; + new_node = kzalloc(sizeof(struct regulator_map), GFP_KERNEL); + if (new_node == NULL) + return -ENOMEM; + + new_node->regulator = rdev; + new_node->supply = supply; + + if (has_dev) { + new_node->dev_name = kstrdup(consumer_dev_name, GFP_KERNEL); + if (new_node->dev_name == NULL) { + kfree(new_node); + return -ENOMEM; + } + } + + mutex_lock(®ulator_list_mutex); list_for_each_entry(node, ®ulator_map_list, list) { if (node->dev_name && consumer_dev_name) { if (strcmp(node->dev_name, consumer_dev_name) != 0) @@ -1488,26 +1496,19 @@ node->regulator->desc->name, supply, dev_name(&rdev->dev), rdev_get_name(rdev)); - return -EBUSY; + goto fail; } - node = kzalloc(sizeof(struct regulator_map), GFP_KERNEL); - if (node == NULL) - return -ENOMEM; - - node->regulator = rdev; - node->supply = supply; - - if (has_dev) { - node->dev_name = kstrdup(consumer_dev_name, GFP_KERNEL); - if (node->dev_name == NULL) { - kfree(node); - return -ENOMEM; - } - } + list_add(&new_node->list, ®ulator_map_list); + mutex_unlock(®ulator_list_mutex); - list_add(&node->list, ®ulator_map_list); return 0; + +fail: + mutex_unlock(®ulator_list_mutex); + kfree(new_node->dev_name); + kfree(new_node); + return -EBUSY; } static void unset_regulator_supplies(struct regulator_dev *rdev) @@ -1579,45 +1580,54 @@ const char *supply_name) { struct regulator *regulator; - char buf[REG_STR_SIZE]; - int err, size; + int err = 0; + + if (dev) { + char buf[REG_STR_SIZE]; + int size; + + size = snprintf(buf, REG_STR_SIZE, "%s-%s", + dev->kobj.name, supply_name); + if (size >= REG_STR_SIZE) + return NULL; + + supply_name = kstrdup(buf, GFP_KERNEL); + if (supply_name == NULL) + return NULL; + } else { + supply_name = kstrdup_const(supply_name, GFP_KERNEL); + if (supply_name == NULL) + return NULL; + } regulator = kzalloc(sizeof(*regulator), GFP_KERNEL); - if (regulator == NULL) + if (regulator == NULL) { + kfree(supply_name); return NULL; + } - regulator_lock(rdev); regulator->rdev = rdev; + regulator->supply_name = supply_name; + + regulator_lock(rdev); list_add(®ulator->list, &rdev->consumer_list); + regulator_unlock(rdev); if (dev) { regulator->dev = dev; /* Add a link to the device sysfs entry */ - size = snprintf(buf, REG_STR_SIZE, "%s-%s", - dev->kobj.name, supply_name); - if (size >= REG_STR_SIZE) - goto overflow_err; - - regulator->supply_name = kstrdup(buf, GFP_KERNEL); - if (regulator->supply_name == NULL) - goto overflow_err; - err = sysfs_create_link_nowarn(&rdev->dev.kobj, &dev->kobj, - buf); + supply_name); if (err) { rdev_dbg(rdev, "could not add device link %s err %d\n", dev->kobj.name, err); /* non-fatal */ } - } else { - regulator->supply_name = kstrdup_const(supply_name, GFP_KERNEL); - if (regulator->supply_name == NULL) - goto overflow_err; } - regulator->debugfs = debugfs_create_dir(regulator->supply_name, - rdev->debugfs); + if (err != -EEXIST) + regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs); if (!regulator->debugfs) { rdev_dbg(rdev, "Failed to create debugfs directory\n"); } else { @@ -1641,13 +1651,7 @@ _regulator_is_enabled(rdev)) regulator->always_on = true; - regulator_unlock(rdev); return regulator; -overflow_err: - list_del(®ulator->list); - kfree(regulator); - regulator_unlock(rdev); - return NULL; } static int _regulator_get_enable_time(struct regulator_dev *rdev) @@ -1772,13 +1776,13 @@ { struct regulator_dev *r; struct device *dev = rdev->dev.parent; - int ret; + int ret = 0; /* No supply to resolve? */ if (!rdev->supply_name) return 0; - /* Supply already resolved? */ + /* Supply already resolved? (fast-path without locking contention) */ if (rdev->supply) return 0; @@ -1788,7 +1792,7 @@ /* Did the lookup explicitly defer for us? */ if (ret == -EPROBE_DEFER) - return ret; + goto out; if (have_full_constraints()) { r = dummy_regulator_rdev; @@ -1796,8 +1800,20 @@ } else { dev_err(dev, "Failed to resolve %s-supply for %s\n", rdev->supply_name, rdev->desc->name); - return -EPROBE_DEFER; + ret = -EPROBE_DEFER; + goto out; + } + } + + if (r == rdev) { + dev_err(dev, "Supply for %s (%s) resolved to itself\n", + rdev->desc->name, rdev->supply_name); + if (!have_full_constraints()) { + ret = -EINVAL; + goto out; } + r = dummy_regulator_rdev; + get_device(&r->dev); } /* @@ -1809,7 +1825,8 @@ if (r->dev.parent && r->dev.parent != rdev->dev.parent) { if (!device_is_bound(r->dev.parent)) { put_device(&r->dev); - return -EPROBE_DEFER; + ret = -EPROBE_DEFER; + goto out; } } @@ -1817,15 +1834,32 @@ ret = regulator_resolve_supply(r); if (ret < 0) { put_device(&r->dev); - return ret; + goto out; + } + + /* + * Recheck rdev->supply with rdev->mutex lock held to avoid a race + * between rdev->supply null check and setting rdev->supply in + * set_supply() from concurrent tasks. + */ + regulator_lock(rdev); + + /* Supply just resolved by a concurrent task? */ + if (rdev->supply) { + regulator_unlock(rdev); + put_device(&r->dev); + goto out; } ret = set_supply(rdev, r); if (ret < 0) { + regulator_unlock(rdev); put_device(&r->dev); - return ret; + goto out; } + regulator_unlock(rdev); + /* * In set_machine_constraints() we may have turned this regulator on * but we couldn't propagate to the supply if it hadn't been resolved @@ -1836,11 +1870,12 @@ if (ret < 0) { _regulator_put(rdev->supply); rdev->supply = NULL; - return ret; + goto out; } } - return 0; +out: + return ret; } /* Internal regulator request function */ @@ -2222,10 +2257,13 @@ static int regulator_ena_gpio_request(struct regulator_dev *rdev, const struct regulator_config *config) { - struct regulator_enable_gpio *pin; + struct regulator_enable_gpio *pin, *new_pin; struct gpio_desc *gpiod; gpiod = config->ena_gpiod; + new_pin = kzalloc(sizeof(*new_pin), GFP_KERNEL); + + mutex_lock(®ulator_list_mutex); list_for_each_entry(pin, ®ulator_ena_gpio_list, list) { if (pin->gpiod == gpiod) { @@ -2234,9 +2272,13 @@ } } - pin = kzalloc(sizeof(struct regulator_enable_gpio), GFP_KERNEL); - if (pin == NULL) + if (new_pin == NULL) { + mutex_unlock(®ulator_list_mutex); return -ENOMEM; + } + + pin = new_pin; + new_pin = NULL; pin->gpiod = gpiod; list_add(&pin->list, ®ulator_ena_gpio_list); @@ -2244,6 +2286,10 @@ update_ena_gpio_to_rdev: pin->request_count++; rdev->ena_pin = pin; + + mutex_unlock(®ulator_list_mutex); + kfree(new_pin); + return 0; } @@ -4033,6 +4079,8 @@ ret = rdev->desc->fixed_uV; } else if (rdev->supply) { ret = regulator_get_voltage_rdev(rdev->supply->rdev); + } else if (rdev->supply_name) { + return -EPROBE_DEFER; } else { return -EINVAL; } @@ -4880,13 +4928,9 @@ return; } - regulator_lock(c_rdev); - c_desc->coupled_rdevs[i] = c_rdev; c_desc->n_resolved++; - regulator_unlock(c_rdev); - regulator_resolve_coupling(c_rdev); } } @@ -4971,7 +5015,10 @@ if (!of_check_coupling_data(rdev)) return -EPERM; + mutex_lock(®ulator_list_mutex); rdev->coupling_desc.coupler = regulator_find_coupler(rdev); + mutex_unlock(®ulator_list_mutex); + if (IS_ERR(rdev->coupling_desc.coupler)) { err = PTR_ERR(rdev->coupling_desc.coupler); rdev_err(rdev, "failed to get coupler: %d\n", err); @@ -5016,14 +5063,12 @@ regulator_register(const struct regulator_desc *regulator_desc, const struct regulator_config *cfg) { - const struct regulation_constraints *constraints = NULL; const struct regulator_init_data *init_data; struct regulator_config *config = NULL; static atomic_t regulator_no = ATOMIC_INIT(-1); struct regulator_dev *rdev; bool dangling_cfg_gpiod = false; bool dangling_of_gpiod = false; - bool reg_device_fail = false; struct device *dev; int ret, i; @@ -5073,6 +5118,7 @@ ret = -ENOMEM; goto rinse; } + device_initialize(&rdev->dev); /* * Duplicate the config so the driver could override it after @@ -5080,9 +5126,8 @@ */ config = kmemdup(cfg, sizeof(*cfg), GFP_KERNEL); if (config == NULL) { - kfree(rdev); ret = -ENOMEM; - goto rinse; + goto clean; } init_data = regulator_of_get_init_data(dev, regulator_desc, config, @@ -5094,10 +5139,8 @@ * from a gpio extender or something else. */ if (PTR_ERR(init_data) == -EPROBE_DEFER) { - kfree(config); - kfree(rdev); ret = -EPROBE_DEFER; - goto rinse; + goto clean; } /* @@ -5138,9 +5181,7 @@ } if (config->ena_gpiod) { - mutex_lock(®ulator_list_mutex); ret = regulator_ena_gpio_request(rdev, config); - mutex_unlock(®ulator_list_mutex); if (ret != 0) { rdev_err(rdev, "Failed to request enable GPIO: %d\n", ret); @@ -5156,49 +5197,59 @@ rdev->dev.parent = dev; dev_set_name(&rdev->dev, "regulator.%lu", (unsigned long) atomic_inc_return(®ulator_no)); + dev_set_drvdata(&rdev->dev, rdev); /* set regulator constraints */ if (init_data) - constraints = &init_data->constraints; + rdev->constraints = kmemdup(&init_data->constraints, + sizeof(*rdev->constraints), + GFP_KERNEL); + else + rdev->constraints = kzalloc(sizeof(*rdev->constraints), + GFP_KERNEL); + if (!rdev->constraints) { + ret = -ENOMEM; + goto wash; + } if (init_data && init_data->supply_regulator) rdev->supply_name = init_data->supply_regulator; else if (regulator_desc->supply_name) rdev->supply_name = regulator_desc->supply_name; - /* - * Attempt to resolve the regulator supply, if specified, - * but don't return an error if we fail because we will try - * to resolve it again later as more regulators are added. - */ - if (regulator_resolve_supply(rdev)) - rdev_dbg(rdev, "unable to resolve supply\n"); - - ret = set_machine_constraints(rdev, constraints); + ret = set_machine_constraints(rdev); + if (ret == -EPROBE_DEFER) { + /* Regulator might be in bypass mode and so needs its supply + * to set the constraints */ + /* FIXME: this currently triggers a chicken-and-egg problem + * when creating -SUPPLY symlink in sysfs to a regulator + * that is just being created */ + ret = regulator_resolve_supply(rdev); + if (!ret) + ret = set_machine_constraints(rdev); + else + rdev_dbg(rdev, "unable to resolve supply early: %pe\n", + ERR_PTR(ret)); + } if (ret < 0) goto wash; - mutex_lock(®ulator_list_mutex); ret = regulator_init_coupling(rdev); - mutex_unlock(®ulator_list_mutex); if (ret < 0) goto wash; /* add consumers devices */ if (init_data) { - mutex_lock(®ulator_list_mutex); for (i = 0; i < init_data->num_consumer_supplies; i++) { ret = set_consumer_device_supply(rdev, init_data->consumer_supplies[i].dev_name, init_data->consumer_supplies[i].supply); if (ret < 0) { - mutex_unlock(®ulator_list_mutex); dev_err(dev, "Failed to set supply %s\n", init_data->consumer_supplies[i].supply); goto unset_supplies; } } - mutex_unlock(®ulator_list_mutex); } if (!rdev->desc->ops->get_voltage && @@ -5206,12 +5257,9 @@ !rdev->desc->fixed_uV) rdev->is_switch = true; - dev_set_drvdata(&rdev->dev, rdev); - ret = device_register(&rdev->dev); - if (ret != 0) { - reg_device_fail = true; + ret = device_add(&rdev->dev); + if (ret != 0) goto unset_supplies; - } rdev_init_debugfs(rdev); @@ -5233,18 +5281,14 @@ mutex_unlock(®ulator_list_mutex); wash: kfree(rdev->coupling_desc.coupled_rdevs); - kfree(rdev->constraints); mutex_lock(®ulator_list_mutex); regulator_ena_gpio_free(rdev); mutex_unlock(®ulator_list_mutex); clean: if (dangling_of_gpiod) gpiod_put(config->ena_gpiod); - if (reg_device_fail) - put_device(&rdev->dev); - else - kfree(rdev); kfree(config); + put_device(&rdev->dev); rinse: if (dangling_cfg_gpiod) gpiod_put(cfg->ena_gpiod); --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/pfuze100-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/pfuze100-regulator.c @@ -833,11 +833,14 @@ * the switched regulator till yet. */ if (pfuze_chip->flags & PFUZE_FLAG_DISABLE_SW) { - if (pfuze_chip->regulator_descs[i].sw_reg) { - desc->ops = &pfuze100_sw_disable_regulator_ops; - desc->enable_val = 0x8; - desc->disable_val = 0x0; - desc->enable_time = 500; + if (pfuze_chip->chip_id == PFUZE100 || + pfuze_chip->chip_id == PFUZE200) { + if (pfuze_chip->regulator_descs[i].sw_reg) { + desc->ops = &pfuze100_sw_disable_regulator_ops; + desc->enable_val = 0x8; + desc->disable_val = 0x0; + desc->enable_time = 500; + } } } --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/pwm-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/pwm-regulator.c @@ -279,7 +279,7 @@ return ret; } - drvdata->state = -EINVAL; + drvdata->state = -ENOTRECOVERABLE; drvdata->duty_cycle_table = duty_cycle_table; drvdata->desc.ops = &pwm_regulator_voltage_table_ops; drvdata->desc.n_voltages = length / sizeof(*duty_cycle_table); --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/qcom-rpmh-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/qcom-rpmh-regulator.c @@ -726,7 +726,16 @@ static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = { .regulator_type = VRM, .ops = &rpmh_regulator_vrm_ops, - .voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 1600), + .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000), + .n_voltages = 236, + .pmic_mode_map = pmic_mode_map_pmic5_smps, + .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, +}; + +static const struct rpmh_vreg_hw_data pmic5_hfsmps515_1 = { + .regulator_type = VRM, + .ops = &rpmh_regulator_vrm_ops, + .voltage_range = REGULATOR_LINEAR_RANGE(900000, 0, 4, 16000), .n_voltages = 5, .pmic_mode_map = pmic_mode_map_pmic5_smps, .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, @@ -874,6 +883,19 @@ RPMH_VREG("ldo4", "ldo%s4", &pmic5_nldo, "vdd-l4"), RPMH_VREG("ldo5", "ldo%s5", &pmic5_pldo, "vdd-l5-l6"), RPMH_VREG("ldo6", "ldo%s6", &pmic5_pldo, "vdd-l5-l6"), + RPMH_VREG("ldo7", "ldo%s7", &pmic5_pldo_lv, "vdd-l7"), + {}, +}; + +static const struct rpmh_vreg_init_data pm8009_1_vreg_data[] = { + RPMH_VREG("smps1", "smp%s1", &pmic5_hfsmps510, "vdd-s1"), + RPMH_VREG("smps2", "smp%s2", &pmic5_hfsmps515_1, "vdd-s2"), + RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo, "vdd-l1"), + RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo, "vdd-l2"), + RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo, "vdd-l3"), + RPMH_VREG("ldo4", "ldo%s4", &pmic5_nldo, "vdd-l4"), + RPMH_VREG("ldo5", "ldo%s5", &pmic5_pldo, "vdd-l5-l6"), + RPMH_VREG("ldo6", "ldo%s6", &pmic5_pldo, "vdd-l5-l6"), RPMH_VREG("ldo7", "ldo%s6", &pmic5_pldo_lv, "vdd-l7"), {}, }; @@ -977,6 +999,10 @@ .data = pm8009_vreg_data, }, { + .compatible = "qcom,pm8009-1-rpmh-regulators", + .data = pm8009_1_vreg_data, + }, + { .compatible = "qcom,pm8150-rpmh-regulators", .data = pm8150_vreg_data, }, --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/rohm-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/rohm-regulator.c @@ -52,9 +52,12 @@ char *prop; unsigned int reg, mask, omask, oreg = desc->enable_reg; - for (i = 0; i < ROHM_DVS_LEVEL_MAX && !ret; i++) { - if (dvs->level_map & (1 << i)) { - switch (i + 1) { + for (i = 0; i < ROHM_DVS_LEVEL_VALID_AMOUNT && !ret; i++) { + int bit; + + bit = BIT(i); + if (dvs->level_map & bit) { + switch (bit) { case ROHM_DVS_LEVEL_RUN: prop = "rohm,dvs-run-voltage"; reg = dvs->run_reg; --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/s5m8767.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/s5m8767.c @@ -544,14 +544,18 @@ rdata = devm_kcalloc(&pdev->dev, pdata->num_regulators, sizeof(*rdata), GFP_KERNEL); - if (!rdata) + if (!rdata) { + of_node_put(regulators_np); return -ENOMEM; + } rmode = devm_kcalloc(&pdev->dev, pdata->num_regulators, sizeof(*rmode), GFP_KERNEL); - if (!rmode) + if (!rmode) { + of_node_put(regulators_np); return -ENOMEM; + } pdata->regulators = rdata; pdata->opmode = rmode; @@ -573,10 +577,13 @@ "s5m8767,pmic-ext-control", GPIOD_OUT_HIGH | GPIOD_FLAGS_BIT_NONEXCLUSIVE, "s5m8767"); - if (PTR_ERR(rdata->ext_control_gpiod) == -ENOENT) + if (PTR_ERR(rdata->ext_control_gpiod) == -ENOENT) { rdata->ext_control_gpiod = NULL; - else if (IS_ERR(rdata->ext_control_gpiod)) + } else if (IS_ERR(rdata->ext_control_gpiod)) { + of_node_put(reg_np); + of_node_put(regulators_np); return PTR_ERR(rdata->ext_control_gpiod); + } rdata->id = i; rdata->initdata = of_get_regulator_init_data( --- linux-riscv-5.8-5.8.0.orig/drivers/regulator/ti-abb-regulator.c +++ linux-riscv-5.8-5.8.0/drivers/regulator/ti-abb-regulator.c @@ -342,8 +342,17 @@ return ret; } - /* If data is exactly the same, then just update index, no change */ info = &abb->info[sel]; + /* + * When Linux kernel is starting up, we are'nt sure of the + * Bias configuration that bootloader has configured. + * So, we get to know the actual setting the first time + * we are asked to transition. + */ + if (abb->current_info_idx == -EINVAL) + goto just_set_abb; + + /* If data is exactly the same, then just update index, no change */ oinfo = &abb->info[abb->current_info_idx]; if (!memcmp(info, oinfo, sizeof(*info))) { dev_dbg(dev, "%s: Same data new idx=%d, old idx=%d\n", __func__, @@ -351,6 +360,7 @@ goto out; } +just_set_abb: ret = ti_abb_set_opp(rdev, abb, info); out: --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/mtk_scp_ipi.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/mtk_scp_ipi.c @@ -30,10 +30,8 @@ scp_ipi_handler_t handler, void *priv) { - if (!scp) { - dev_err(scp->dev, "scp device is not ready\n"); + if (!scp) return -EPROBE_DEFER; - } if (WARN_ON(id >= SCP_IPI_MAX) || WARN_ON(handler == NULL)) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/qcom_q6v5.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/qcom_q6v5.c @@ -153,6 +153,8 @@ { int ret; + q6v5->running = false; + qcom_smem_state_update_bits(q6v5->state, BIT(q6v5->stop_bit), BIT(q6v5->stop_bit)); --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/qcom_q6v5_adsp.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/qcom_q6v5_adsp.c @@ -184,8 +184,10 @@ dev_pm_genpd_set_performance_state(adsp->dev, INT_MAX); ret = pm_runtime_get_sync(adsp->dev); - if (ret) + if (ret) { + pm_runtime_put_noidle(adsp->dev); goto disable_xo_clk; + } ret = clk_bulk_prepare_enable(adsp->num_clks, adsp->clks); if (ret) { @@ -353,15 +355,12 @@ struct platform_device *pdev) { struct device_node *syscon; - struct resource *res; int ret; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - adsp->qdsp6ss_base = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!adsp->qdsp6ss_base) { + adsp->qdsp6ss_base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(adsp->qdsp6ss_base)) { dev_err(adsp->dev, "failed to map QDSP6SS registers\n"); - return -ENOMEM; + return PTR_ERR(adsp->qdsp6ss_base); } syscon = of_parse_phandle(pdev->dev.of_node, "qcom,halt-regs", 0); --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/qcom_q6v5_mss.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/qcom_q6v5_mss.c @@ -347,8 +347,11 @@ for (i = 0; i < pd_count; i++) { dev_pm_genpd_set_performance_state(pds[i], INT_MAX); ret = pm_runtime_get_sync(pds[i]); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(pds[i]); + dev_pm_genpd_set_performance_state(pds[i], 0); goto unroll_pd_votes; + } } return 0; @@ -407,6 +410,12 @@ { struct q6v5 *qproc = rproc->priv; + /* MBA is restricted to a maximum size of 1M */ + if (fw->size > qproc->mba_size || fw->size > SZ_1M) { + dev_err(qproc->dev, "MBA firmware load failed\n"); + return -EINVAL; + } + memcpy(qproc->mba_region, fw->data, fw->size); return 0; @@ -1138,15 +1147,14 @@ } else if (phdr->p_filesz) { /* Replace "xxx.xxx" with "xxx.bxx" */ sprintf(fw_name + fw_name_len - 3, "b%02d", i); - ret = request_firmware(&seg_fw, fw_name, qproc->dev); + ret = request_firmware_into_buf(&seg_fw, fw_name, qproc->dev, + ptr, phdr->p_filesz); if (ret) { dev_err(qproc->dev, "failed to load %s\n", fw_name); iounmap(ptr); goto release_firmware; } - memcpy(ptr, seg_fw->data, seg_fw->size); - release_firmware(seg_fw); } --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/qcom_q6v5_pas.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/qcom_q6v5_pas.c @@ -88,8 +88,11 @@ for (i = 0; i < pd_count; i++) { dev_pm_genpd_set_performance_state(pds[i], INT_MAX); ret = pm_runtime_get_sync(pds[i]); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(pds[i]); + dev_pm_genpd_set_performance_state(pds[i], 0); goto unroll_pd_votes; + } } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/remoteproc/qcom_sysmon.c +++ linux-riscv-5.8-5.8.0/drivers/remoteproc/qcom_sysmon.c @@ -22,6 +22,9 @@ struct rproc_subdev subdev; struct rproc *rproc; + int state; + struct mutex state_lock; + struct list_head node; const char *name; @@ -448,7 +451,10 @@ .ssr_event = SSCTL_SSR_EVENT_BEFORE_POWERUP }; + mutex_lock(&sysmon->state_lock); + sysmon->state = SSCTL_SSR_EVENT_BEFORE_POWERUP; blocking_notifier_call_chain(&sysmon_notifiers, 0, (void *)&event); + mutex_unlock(&sysmon->state_lock); return 0; } @@ -472,20 +478,25 @@ .ssr_event = SSCTL_SSR_EVENT_AFTER_POWERUP }; + mutex_lock(&sysmon->state_lock); + sysmon->state = SSCTL_SSR_EVENT_AFTER_POWERUP; blocking_notifier_call_chain(&sysmon_notifiers, 0, (void *)&event); + mutex_unlock(&sysmon->state_lock); mutex_lock(&sysmon_lock); list_for_each_entry(target, &sysmon_list, node) { - if (target == sysmon || - target->rproc->state != RPROC_RUNNING) + if (target == sysmon) continue; + mutex_lock(&target->state_lock); event.subsys_name = target->name; + event.ssr_event = target->state; if (sysmon->ssctl_version == 2) ssctl_send_event(sysmon, &event); else if (sysmon->ept) sysmon_send_event(sysmon, &event); + mutex_unlock(&target->state_lock); } mutex_unlock(&sysmon_lock); @@ -500,7 +511,10 @@ .ssr_event = SSCTL_SSR_EVENT_BEFORE_SHUTDOWN }; + mutex_lock(&sysmon->state_lock); + sysmon->state = SSCTL_SSR_EVENT_BEFORE_SHUTDOWN; blocking_notifier_call_chain(&sysmon_notifiers, 0, (void *)&event); + mutex_unlock(&sysmon->state_lock); /* Don't request graceful shutdown if we've crashed */ if (crashed) @@ -521,7 +535,10 @@ .ssr_event = SSCTL_SSR_EVENT_AFTER_SHUTDOWN }; + mutex_lock(&sysmon->state_lock); + sysmon->state = SSCTL_SSR_EVENT_AFTER_SHUTDOWN; blocking_notifier_call_chain(&sysmon_notifiers, 0, (void *)&event); + mutex_unlock(&sysmon->state_lock); } /** @@ -534,11 +551,10 @@ void *data) { struct qcom_sysmon *sysmon = container_of(nb, struct qcom_sysmon, nb); - struct rproc *rproc = sysmon->rproc; struct sysmon_event *sysmon_event = data; /* Skip non-running rprocs and the originating instance */ - if (rproc->state != RPROC_RUNNING || + if (sysmon->state != SSCTL_SSR_EVENT_AFTER_POWERUP || !strcmp(sysmon_event->subsys_name, sysmon->name)) { dev_dbg(sysmon->dev, "not notifying %s\n", sysmon->name); return NOTIFY_DONE; @@ -591,6 +607,7 @@ init_completion(&sysmon->ind_comp); init_completion(&sysmon->shutdown_comp); mutex_init(&sysmon->lock); + mutex_init(&sysmon->state_lock); sysmon->shutdown_irq = of_irq_get_byname(sysmon->dev->of_node, "shutdown-ack"); --- linux-riscv-5.8-5.8.0.orig/drivers/reset/reset-intel-gw.c +++ linux-riscv-5.8-5.8.0/drivers/reset/reset-intel-gw.c @@ -15,9 +15,9 @@ #define RCU_RST_STAT 0x0024 #define RCU_RST_REQ 0x0048 -#define REG_OFFSET GENMASK(31, 16) -#define BIT_OFFSET GENMASK(15, 8) -#define STAT_BIT_OFFSET GENMASK(7, 0) +#define REG_OFFSET_MASK GENMASK(31, 16) +#define BIT_OFFSET_MASK GENMASK(15, 8) +#define STAT_BIT_OFFSET_MASK GENMASK(7, 0) #define to_reset_data(x) container_of(x, struct intel_reset_data, rcdev) @@ -51,11 +51,11 @@ unsigned long id, u32 *rst_req, u32 *req_bit, u32 *stat_bit) { - *rst_req = FIELD_GET(REG_OFFSET, id); - *req_bit = FIELD_GET(BIT_OFFSET, id); + *rst_req = FIELD_GET(REG_OFFSET_MASK, id); + *req_bit = FIELD_GET(BIT_OFFSET_MASK, id); if (data->soc_data->legacy) - *stat_bit = FIELD_GET(STAT_BIT_OFFSET, id); + *stat_bit = FIELD_GET(STAT_BIT_OFFSET_MASK, id); else *stat_bit = *req_bit; @@ -141,14 +141,14 @@ if (spec->args[1] > 31) return -EINVAL; - id = FIELD_PREP(REG_OFFSET, spec->args[0]); - id |= FIELD_PREP(BIT_OFFSET, spec->args[1]); + id = FIELD_PREP(REG_OFFSET_MASK, spec->args[0]); + id |= FIELD_PREP(BIT_OFFSET_MASK, spec->args[1]); if (data->soc_data->legacy) { if (spec->args[2] > 31) return -EINVAL; - id |= FIELD_PREP(STAT_BIT_OFFSET, spec->args[2]); + id |= FIELD_PREP(STAT_BIT_OFFSET_MASK, spec->args[2]); } return id; @@ -210,11 +210,11 @@ if (ret) return ret; - data->reboot_id = FIELD_PREP(REG_OFFSET, rb_id[0]); - data->reboot_id |= FIELD_PREP(BIT_OFFSET, rb_id[1]); + data->reboot_id = FIELD_PREP(REG_OFFSET_MASK, rb_id[0]); + data->reboot_id |= FIELD_PREP(BIT_OFFSET_MASK, rb_id[1]); if (data->soc_data->legacy) - data->reboot_id |= FIELD_PREP(STAT_BIT_OFFSET, rb_id[2]); + data->reboot_id |= FIELD_PREP(STAT_BIT_OFFSET_MASK, rb_id[2]); data->restart_nb.notifier_call = intel_reset_restart_handler; data->restart_nb.priority = 128; --- linux-riscv-5.8-5.8.0.orig/drivers/rpmsg/mtk_rpmsg.c +++ linux-riscv-5.8-5.8.0/drivers/rpmsg/mtk_rpmsg.c @@ -200,7 +200,6 @@ struct rpmsg_device *rpdev; struct mtk_rpmsg_device *mdev; struct platform_device *pdev = mtk_subdev->pdev; - int ret; mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); if (!mdev) @@ -219,13 +218,7 @@ rpdev->dev.parent = &pdev->dev; rpdev->dev.release = mtk_rpmsg_release_device; - ret = rpmsg_register_device(rpdev); - if (ret) { - kfree(mdev); - return ret; - } - - return 0; + return rpmsg_register_device(rpdev); } static void mtk_register_device_work_function(struct work_struct *register_work) --- linux-riscv-5.8-5.8.0.orig/drivers/rpmsg/qcom_glink_native.c +++ linux-riscv-5.8-5.8.0/drivers/rpmsg/qcom_glink_native.c @@ -970,7 +970,7 @@ return -EINVAL; } - complete(&channel->open_ack); + complete_all(&channel->open_ack); return 0; } @@ -1178,7 +1178,7 @@ __be32 *val = defaults; int size; - if (glink->intentless) + if (glink->intentless || !completion_done(&channel->open_ack)) return 0; prop = of_find_property(np, "qcom,intents", NULL); @@ -1413,7 +1413,7 @@ channel->rcid = ret; spin_unlock_irqrestore(&glink->idr_lock, flags); - complete(&channel->open_req); + complete_all(&channel->open_req); if (create_device) { rpdev = kzalloc(sizeof(*rpdev), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/rpmsg/qcom_smd.c +++ linux-riscv-5.8-5.8.0/drivers/rpmsg/qcom_smd.c @@ -1338,7 +1338,7 @@ ret = of_property_read_u32(node, key, &edge->edge_id); if (ret) { dev_err(dev, "edge missing %s property\n", key); - return -EINVAL; + goto put_node; } edge->remote_pid = QCOM_SMEM_HOST_ANY; @@ -1349,32 +1349,37 @@ edge->mbox_client.knows_txdone = true; edge->mbox_chan = mbox_request_channel(&edge->mbox_client, 0); if (IS_ERR(edge->mbox_chan)) { - if (PTR_ERR(edge->mbox_chan) != -ENODEV) - return PTR_ERR(edge->mbox_chan); + if (PTR_ERR(edge->mbox_chan) != -ENODEV) { + ret = PTR_ERR(edge->mbox_chan); + goto put_node; + } edge->mbox_chan = NULL; syscon_np = of_parse_phandle(node, "qcom,ipc", 0); if (!syscon_np) { dev_err(dev, "no qcom,ipc node\n"); - return -ENODEV; + ret = -ENODEV; + goto put_node; } edge->ipc_regmap = syscon_node_to_regmap(syscon_np); - if (IS_ERR(edge->ipc_regmap)) - return PTR_ERR(edge->ipc_regmap); + if (IS_ERR(edge->ipc_regmap)) { + ret = PTR_ERR(edge->ipc_regmap); + goto put_node; + } key = "qcom,ipc"; ret = of_property_read_u32_index(node, key, 1, &edge->ipc_offset); if (ret < 0) { dev_err(dev, "no offset in %s\n", key); - return -EINVAL; + goto put_node; } ret = of_property_read_u32_index(node, key, 2, &edge->ipc_bit); if (ret < 0) { dev_err(dev, "no bit in %s\n", key); - return -EINVAL; + goto put_node; } } @@ -1385,7 +1390,8 @@ irq = irq_of_parse_and_map(node, 0); if (irq < 0) { dev_err(dev, "required smd interrupt missing\n"); - return -EINVAL; + ret = irq; + goto put_node; } ret = devm_request_irq(dev, irq, @@ -1393,12 +1399,18 @@ node->name, edge); if (ret) { dev_err(dev, "failed to request smd irq\n"); - return ret; + goto put_node; } edge->irq = irq; return 0; + +put_node: + of_node_put(node); + edge->of_node = NULL; + + return ret; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/rtc/Kconfig @@ -681,6 +681,7 @@ tristate "Samsung S2M/S5M series" depends on MFD_SEC_CORE || COMPILE_TEST select REGMAP_IRQ + select REGMAP_I2C help If you say yes here you will get support for the RTC of Samsung S2MPS14 and S5M PMIC series. @@ -1285,7 +1286,7 @@ config RTC_DRV_ZYNQMP tristate "Xilinx Zynq Ultrascale+ MPSoC RTC" - depends on OF + depends on OF && HAS_IOMEM help If you say yes here you get support for the RTC controller found on Xilinx Zynq Ultrascale+ MPSoC. --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-cpcap.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-cpcap.c @@ -261,7 +261,7 @@ return PTR_ERR(rtc->rtc_dev); rtc->rtc_dev->ops = &cpcap_rtc_ops; - rtc->rtc_dev->range_max = (1 << 14) * SECS_PER_DAY - 1; + rtc->rtc_dev->range_max = (timeu64_t) (DAY_MASK + 1) * SECS_PER_DAY - 1; err = cpcap_get_vendor(dev, rtc->regmap, &rtc->vendor); if (err) --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-ds1307.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-ds1307.c @@ -352,6 +352,10 @@ regmap_update_bits(ds1307->regmap, DS1340_REG_FLAG, DS1340_BIT_OSF, 0); break; + case ds_1388: + regmap_update_bits(ds1307->regmap, DS1388_REG_FLAG, + DS1388_BIT_OSF, 0); + break; case mcp794xx: /* * these bits were cleared when preparing the date/time --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-ep93xx.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-ep93xx.c @@ -33,7 +33,7 @@ static int ep93xx_rtc_get_swcomp(struct device *dev, unsigned short *preload, unsigned short *delete) { - struct ep93xx_rtc *ep93xx_rtc = dev_get_platdata(dev); + struct ep93xx_rtc *ep93xx_rtc = dev_get_drvdata(dev); unsigned long comp; comp = readl(ep93xx_rtc->mmio_base + EP93XX_RTC_SWCOMP); @@ -51,7 +51,7 @@ static int ep93xx_rtc_read_time(struct device *dev, struct rtc_time *tm) { - struct ep93xx_rtc *ep93xx_rtc = dev_get_platdata(dev); + struct ep93xx_rtc *ep93xx_rtc = dev_get_drvdata(dev); unsigned long time; time = readl(ep93xx_rtc->mmio_base + EP93XX_RTC_DATA); @@ -62,7 +62,7 @@ static int ep93xx_rtc_set_time(struct device *dev, struct rtc_time *tm) { - struct ep93xx_rtc *ep93xx_rtc = dev_get_platdata(dev); + struct ep93xx_rtc *ep93xx_rtc = dev_get_drvdata(dev); unsigned long secs = rtc_tm_to_time64(tm); writel(secs + 1, ep93xx_rtc->mmio_base + EP93XX_RTC_LOAD); --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-goldfish.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-goldfish.c @@ -73,6 +73,7 @@ rtc_alarm64 = rtc_tm_to_time64(&alrm->time) * NSEC_PER_SEC; writel((rtc_alarm64 >> 32), base + TIMER_ALARM_HIGH); writel(rtc_alarm64, base + TIMER_ALARM_LOW); + writel(1, base + TIMER_IRQ_ENABLED); } else { /* * if this function was called with enabled=0 --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-pcf2127.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-pcf2127.c @@ -232,10 +232,8 @@ if (ret) return ret; - ret = regmap_bulk_read(pcf2127->regmap, PCF2127_REG_RAM_RD_CMD, - val, bytes); - - return ret ?: bytes; + return regmap_bulk_read(pcf2127->regmap, PCF2127_REG_RAM_RD_CMD, + val, bytes); } static int pcf2127_nvmem_write(void *priv, unsigned int offset, @@ -250,10 +248,8 @@ if (ret) return ret; - ret = regmap_bulk_write(pcf2127->regmap, PCF2127_REG_RAM_WRT_CMD, - val, bytes); - - return ret ?: bytes; + return regmap_bulk_write(pcf2127->regmap, PCF2127_REG_RAM_WRT_CMD, + val, bytes); } /* watchdog driver */ @@ -324,6 +320,37 @@ .set_timeout = pcf2127_wdt_set_timeout, }; +static int pcf2127_watchdog_init(struct device *dev, struct pcf2127 *pcf2127) +{ + u32 wdd_timeout; + int ret; + + if (!IS_ENABLED(CONFIG_WATCHDOG) || + !device_property_read_bool(dev, "reset-source")) + return 0; + + pcf2127->wdd.parent = dev; + pcf2127->wdd.info = &pcf2127_wdt_info; + pcf2127->wdd.ops = &pcf2127_watchdog_ops; + pcf2127->wdd.min_timeout = PCF2127_WD_VAL_MIN; + pcf2127->wdd.max_timeout = PCF2127_WD_VAL_MAX; + pcf2127->wdd.timeout = PCF2127_WD_VAL_DEFAULT; + pcf2127->wdd.min_hw_heartbeat_ms = 500; + pcf2127->wdd.status = WATCHDOG_NOWAYOUT_INIT_STATUS; + + watchdog_set_drvdata(&pcf2127->wdd, pcf2127); + + /* Test if watchdog timer is started by bootloader */ + ret = regmap_read(pcf2127->regmap, PCF2127_REG_WD_VAL, &wdd_timeout); + if (ret) + return ret; + + if (wdd_timeout) + set_bit(WDOG_HW_RUNNING, &pcf2127->wdd.status); + + return devm_watchdog_register_device(dev, &pcf2127->wdd); +} + /* sysfs interface */ static ssize_t timestamp0_store(struct device *dev, @@ -419,7 +446,6 @@ const char *name, bool has_nvmem) { struct pcf2127 *pcf2127; - u32 wdd_timeout; int ret = 0; dev_dbg(dev, "%s\n", __func__); @@ -441,17 +467,6 @@ pcf2127->rtc->range_max = RTC_TIMESTAMP_END_2099; pcf2127->rtc->set_start_time = true; /* Sets actual start to 1970 */ - pcf2127->wdd.parent = dev; - pcf2127->wdd.info = &pcf2127_wdt_info; - pcf2127->wdd.ops = &pcf2127_watchdog_ops; - pcf2127->wdd.min_timeout = PCF2127_WD_VAL_MIN; - pcf2127->wdd.max_timeout = PCF2127_WD_VAL_MAX; - pcf2127->wdd.timeout = PCF2127_WD_VAL_DEFAULT; - pcf2127->wdd.min_hw_heartbeat_ms = 500; - pcf2127->wdd.status = WATCHDOG_NOWAYOUT_INIT_STATUS; - - watchdog_set_drvdata(&pcf2127->wdd, pcf2127); - if (has_nvmem) { struct nvmem_config nvmem_cfg = { .priv = pcf2127, @@ -481,19 +496,7 @@ return ret; } - /* Test if watchdog timer is started by bootloader */ - ret = regmap_read(pcf2127->regmap, PCF2127_REG_WD_VAL, &wdd_timeout); - if (ret) - return ret; - - if (wdd_timeout) - set_bit(WDOG_HW_RUNNING, &pcf2127->wdd.status); - -#ifdef CONFIG_WATCHDOG - ret = devm_watchdog_register_device(dev, &pcf2127->wdd); - if (ret) - return ret; -#endif /* CONFIG_WATCHDOG */ + pcf2127_watchdog_init(dev, pcf2127); /* * Disable battery low/switch-over timestamp and interrupts. --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-pl031.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-pl031.c @@ -275,6 +275,7 @@ struct pl031_local *ldata = dev_get_drvdata(dev); writel(rtc_tm_to_time64(&alarm->time), ldata->base + RTC_MR); + pl031_alarm_irq_enable(dev, alarm->enabled); return 0; } @@ -360,8 +361,10 @@ device_init_wakeup(&adev->dev, true); ldata->rtc = devm_rtc_allocate_device(&adev->dev); - if (IS_ERR(ldata->rtc)) - return PTR_ERR(ldata->rtc); + if (IS_ERR(ldata->rtc)) { + ret = PTR_ERR(ldata->rtc); + goto out; + } ldata->rtc->ops = ops; ldata->rtc->range_min = vendor->range_min; --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-rx8010.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-rx8010.c @@ -407,16 +407,26 @@ } } -static struct rtc_class_ops rx8010_rtc_ops = { +static const struct rtc_class_ops rx8010_rtc_ops_default = { .read_time = rx8010_get_time, .set_time = rx8010_set_time, .ioctl = rx8010_ioctl, }; +static const struct rtc_class_ops rx8010_rtc_ops_alarm = { + .read_time = rx8010_get_time, + .set_time = rx8010_set_time, + .ioctl = rx8010_ioctl, + .read_alarm = rx8010_read_alarm, + .set_alarm = rx8010_set_alarm, + .alarm_irq_enable = rx8010_alarm_irq_enable, +}; + static int rx8010_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct i2c_adapter *adapter = client->adapter; + const struct rtc_class_ops *rtc_ops; struct rx8010_data *rx8010; int err = 0; @@ -447,16 +457,16 @@ if (err) { dev_err(&client->dev, "unable to request IRQ\n"); - client->irq = 0; - } else { - rx8010_rtc_ops.read_alarm = rx8010_read_alarm; - rx8010_rtc_ops.set_alarm = rx8010_set_alarm; - rx8010_rtc_ops.alarm_irq_enable = rx8010_alarm_irq_enable; + return err; } + + rtc_ops = &rx8010_rtc_ops_alarm; + } else { + rtc_ops = &rx8010_rtc_ops_default; } rx8010->rtc = devm_rtc_device_register(&client->dev, client->name, - &rx8010_rtc_ops, THIS_MODULE); + rtc_ops, THIS_MODULE); if (IS_ERR(rx8010->rtc)) { dev_err(&client->dev, "unable to register the class device\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/rtc/rtc-sun6i.c +++ linux-riscv-5.8-5.8.0/drivers/rtc/rtc-sun6i.c @@ -272,7 +272,7 @@ 300000000); if (IS_ERR(rtc->int_osc)) { pr_crit("Couldn't register the internal oscillator\n"); - return; + goto err; } parents[0] = clk_hw_get_name(rtc->int_osc); @@ -290,7 +290,7 @@ rtc->losc = clk_register(NULL, &rtc->hw); if (IS_ERR(rtc->losc)) { pr_crit("Couldn't register the LOSC clock\n"); - return; + goto err_register; } of_property_read_string_index(node, "clock-output-names", 1, @@ -301,7 +301,7 @@ &rtc->lock); if (IS_ERR(rtc->ext_losc)) { pr_crit("Couldn't register the LOSC external gate\n"); - return; + goto err_register; } clk_data->num = 2; @@ -314,6 +314,8 @@ of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data); return; +err_register: + clk_hw_unregister_fixed_rate(rtc->int_osc); err: kfree(clk_data); } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/block/dasd.c +++ linux-riscv-5.8-5.8.0/drivers/s390/block/dasd.c @@ -2980,6 +2980,12 @@ if (!block) return -EINVAL; + /* + * If the request is an ERP request there is nothing to requeue. + * This will be done with the remaining original request. + */ + if (cqr->refers) + return 0; spin_lock_irq(&cqr->dq->lock); req = (struct request *) cqr->callback_data; blk_mq_requeue_request(req, false); @@ -3081,7 +3087,8 @@ basedev = block->base; spin_lock_irq(&dq->lock); - if (basedev->state < DASD_STATE_READY) { + if (basedev->state < DASD_STATE_READY || + test_bit(DASD_FLAG_OFFLINE, &basedev->flags)) { DBF_DEV_EVENT(DBF_ERR, basedev, "device not ready for request %p", req); rc = BLK_STS_IOERR; @@ -3516,8 +3523,6 @@ struct dasd_device *device; struct dasd_block *block; - cdev->handler = NULL; - device = dasd_device_from_cdev(cdev); if (IS_ERR(device)) { dasd_remove_sysfs_files(cdev); @@ -3536,6 +3541,7 @@ * no quite down yet. */ dasd_set_target_state(device, DASD_STATE_NEW); + cdev->handler = NULL; /* dasd_delete_device destroys the device reference. */ block = device->block; dasd_delete_device(device); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/block/dasd_alias.c +++ linux-riscv-5.8-5.8.0/drivers/s390/block/dasd_alias.c @@ -256,7 +256,6 @@ return; device->discipline->get_uid(device, &uid); spin_lock_irqsave(&lcu->lock, flags); - list_del_init(&device->alias_list); /* make sure that the workers don't use this device */ if (device == lcu->suc_data.device) { spin_unlock_irqrestore(&lcu->lock, flags); @@ -283,6 +282,7 @@ spin_lock_irqsave(&aliastree.lock, flags); spin_lock(&lcu->lock); + list_del_init(&device->alias_list); if (list_empty(&lcu->grouplist) && list_empty(&lcu->active_devices) && list_empty(&lcu->inactive_devices)) { @@ -462,11 +462,19 @@ spin_unlock_irqrestore(&lcu->lock, flags); rc = dasd_sleep_on(cqr); - if (rc && !suborder_not_supported(cqr)) { + if (!rc) + goto out; + + if (suborder_not_supported(cqr)) { + /* suborder not supported or device unusable for IO */ + rc = -EOPNOTSUPP; + } else { + /* IO failed but should be retried */ spin_lock_irqsave(&lcu->lock, flags); lcu->flags |= NEED_UAC_UPDATE; spin_unlock_irqrestore(&lcu->lock, flags); } +out: dasd_sfree_request(cqr, cqr->memdev); return rc; } @@ -503,6 +511,14 @@ return rc; spin_lock_irqsave(&lcu->lock, flags); + /* + * there is another update needed skip the remaining handling + * the data might already be outdated + * but especially do not add the device to an LCU with pending + * update + */ + if (lcu->flags & NEED_UAC_UPDATE) + goto out; lcu->pav = NO_PAV; for (i = 0; i < MAX_DEVICES_PER_LCU; ++i) { switch (lcu->uac->unit[i].ua_type) { @@ -521,6 +537,7 @@ alias_list) { _add_device_to_lcu(lcu, device, refdev); } +out: spin_unlock_irqrestore(&lcu->lock, flags); return 0; } @@ -625,6 +642,7 @@ } if (lcu->flags & UPDATE_PENDING) { list_move(&device->alias_list, &lcu->active_devices); + private->pavgroup = NULL; _schedule_lcu_update(lcu, device); } spin_unlock_irqrestore(&lcu->lock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/block/dasd_diag.c +++ linux-riscv-5.8-5.8.0/drivers/s390/block/dasd_diag.c @@ -319,7 +319,7 @@ struct dasd_diag_characteristics *rdc_data; struct vtoc_cms_label *label; struct dasd_block *block; - struct dasd_diag_bio bio; + struct dasd_diag_bio *bio; unsigned int sb, bsize; blocknum_t end_block; int rc; @@ -395,29 +395,36 @@ rc = -ENOMEM; goto out; } + bio = kzalloc(sizeof(*bio), GFP_KERNEL); + if (bio == NULL) { + DBF_DEV_EVENT(DBF_WARNING, device, "%s", + "No memory to allocate initialization bio"); + rc = -ENOMEM; + goto out_label; + } rc = 0; end_block = 0; /* try all sizes - needed for ECKD devices */ for (bsize = 512; bsize <= PAGE_SIZE; bsize <<= 1) { mdsk_init_io(device, bsize, 0, &end_block); - memset(&bio, 0, sizeof (struct dasd_diag_bio)); - bio.type = MDSK_READ_REQ; - bio.block_number = private->pt_block + 1; - bio.buffer = label; + memset(bio, 0, sizeof(*bio)); + bio->type = MDSK_READ_REQ; + bio->block_number = private->pt_block + 1; + bio->buffer = label; memset(&private->iob, 0, sizeof (struct dasd_diag_rw_io)); private->iob.dev_nr = rdc_data->dev_nr; private->iob.key = 0; private->iob.flags = 0; /* do synchronous io */ private->iob.block_count = 1; private->iob.interrupt_params = 0; - private->iob.bio_list = &bio; + private->iob.bio_list = bio; private->iob.flaga = DASD_DIAG_FLAGA_DEFAULT; rc = dia250(&private->iob, RW_BIO); if (rc == 3) { pr_warn("%s: A 64-bit DIAG call failed\n", dev_name(&device->cdev->dev)); rc = -EOPNOTSUPP; - goto out_label; + goto out_bio; } mdsk_term_io(device); if (rc == 0) @@ -427,7 +434,7 @@ pr_warn("%s: Accessing the DASD failed because of an incorrect format (rc=%d)\n", dev_name(&device->cdev->dev), rc); rc = -EIO; - goto out_label; + goto out_bio; } /* check for label block */ if (memcmp(label->label_id, DASD_DIAG_CMS1, @@ -457,6 +464,8 @@ (rc == 4) ? ", read-only device" : ""); rc = 0; } +out_bio: + kfree(bio); out_label: free_page((long) label); out: --- linux-riscv-5.8-5.8.0.orig/drivers/s390/block/dasd_fba.c +++ linux-riscv-5.8-5.8.0/drivers/s390/block/dasd_fba.c @@ -40,6 +40,7 @@ MODULE_LICENSE("GPL"); static struct dasd_discipline dasd_fba_discipline; +static void *dasd_fba_zero_page; struct dasd_fba_private { struct dasd_fba_characteristics rdc_data; @@ -270,7 +271,7 @@ ccw->cmd_code = DASD_FBA_CCW_WRITE; ccw->flags |= CCW_FLAG_SLI; ccw->count = count; - ccw->cda = (__u32) (addr_t) page_to_phys(ZERO_PAGE(0)); + ccw->cda = (__u32) (addr_t) dasd_fba_zero_page; } /* @@ -830,6 +831,11 @@ int ret; ASCEBC(dasd_fba_discipline.ebcname, 4); + + dasd_fba_zero_page = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); + if (!dasd_fba_zero_page) + return -ENOMEM; + ret = ccw_driver_register(&dasd_fba_driver); if (!ret) wait_for_device_probe(); @@ -841,6 +847,7 @@ dasd_fba_cleanup(void) { ccw_driver_unregister(&dasd_fba_driver); + free_page((unsigned long)dasd_fba_zero_page); } module_init(dasd_fba_init); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/cio/css.c +++ linux-riscv-5.8-5.8.0/drivers/s390/cio/css.c @@ -677,6 +677,11 @@ rc = css_evaluate_known_subchannel(sch, 1); if (rc == -EAGAIN) css_schedule_eval(sch->schid); + /* + * The loop might take long time for platforms with lots of + * known devices. Allow scheduling here. + */ + cond_resched(); } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/cio/device.c +++ linux-riscv-5.8-5.8.0/drivers/s390/cio/device.c @@ -1664,10 +1664,10 @@ struct io_subchannel_private *io_priv = to_io_private(sch); set_io_private(sch, NULL); - put_device(&sch->dev); - put_device(&cdev->dev); dma_free_coherent(&sch->dev, sizeof(*io_priv->dma_area), io_priv->dma_area, io_priv->dma_area_dma); + put_device(&sch->dev); + put_device(&cdev->dev); kfree(io_priv); } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/cio/vfio_ccw_ops.c +++ linux-riscv-5.8-5.8.0/drivers/s390/cio/vfio_ccw_ops.c @@ -539,7 +539,7 @@ if (ret) return ret; - return copy_to_user((void __user *)arg, &info, minsz); + return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0; } case VFIO_DEVICE_GET_REGION_INFO: { @@ -557,7 +557,7 @@ if (ret) return ret; - return copy_to_user((void __user *)arg, &info, minsz); + return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0; } case VFIO_DEVICE_GET_IRQ_INFO: { @@ -578,7 +578,7 @@ if (info.count == -1) return -EINVAL; - return copy_to_user((void __user *)arg, &info, minsz); + return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0; } case VFIO_DEVICE_SET_IRQS: { --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/pkey_api.c +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/pkey_api.c @@ -34,9 +34,6 @@ #define KEYBLOBBUFSIZE 8192 /* key buffer size used for internal processing */ #define MAXAPQNSINLIST 64 /* max 64 apqns within a apqn list */ -/* mask of available pckmo subfunctions, fetched once at module init */ -static cpacf_mask_t pckmo_functions; - /* * debug feature data and functions */ @@ -90,6 +87,9 @@ const struct pkey_clrkey *clrkey, struct pkey_protkey *protkey) { + /* mask of available pckmo subfunctions */ + static cpacf_mask_t pckmo_functions; + long fc; int keysize; u8 paramblock[64]; @@ -113,11 +113,13 @@ return -EINVAL; } - /* - * Check if the needed pckmo subfunction is available. - * These subfunctions can be enabled/disabled by customers - * in the LPAR profile or may even change on the fly. - */ + /* Did we already check for PCKMO ? */ + if (!pckmo_functions.bytes[0]) { + /* no, so check now */ + if (!cpacf_query(CPACF_PCKMO, &pckmo_functions)) + return -ENODEV; + } + /* check for the pckmo subfunction we need now */ if (!cpacf_test_func(&pckmo_functions, fc)) { DEBUG_ERR("%s pckmo functions not available\n", __func__); return -ENODEV; @@ -1838,7 +1840,7 @@ */ static int __init pkey_init(void) { - cpacf_mask_t kmc_functions; + cpacf_mask_t func_mask; /* * The pckmo instruction should be available - even if we don't @@ -1846,15 +1848,15 @@ * is also the minimum level for the kmc instructions which * are able to work with protected keys. */ - if (!cpacf_query(CPACF_PCKMO, &pckmo_functions)) + if (!cpacf_query(CPACF_PCKMO, &func_mask)) return -ENODEV; /* check for kmc instructions available */ - if (!cpacf_query(CPACF_KMC, &kmc_functions)) + if (!cpacf_query(CPACF_KMC, &func_mask)) return -ENODEV; - if (!cpacf_test_func(&kmc_functions, CPACF_KMC_PAES_128) || - !cpacf_test_func(&kmc_functions, CPACF_KMC_PAES_192) || - !cpacf_test_func(&kmc_functions, CPACF_KMC_PAES_256)) + if (!cpacf_test_func(&func_mask, CPACF_KMC_PAES_128) || + !cpacf_test_func(&func_mask, CPACF_KMC_PAES_192) || + !cpacf_test_func(&func_mask, CPACF_KMC_PAES_256)) return -ENODEV; pkey_debug_init(); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/vfio_ap_drv.c +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/vfio_ap_drv.c @@ -71,15 +71,11 @@ static void vfio_ap_queue_dev_remove(struct ap_device *apdev) { struct vfio_ap_queue *q; - int apid, apqi; mutex_lock(&matrix_dev->lock); q = dev_get_drvdata(&apdev->device); + vfio_ap_mdev_reset_queue(q, 1); dev_set_drvdata(&apdev->device, NULL); - apid = AP_QID_CARD(q->apqn); - apqi = AP_QID_QUEUE(q->apqn); - vfio_ap_mdev_reset_queue(apid, apqi, 1); - vfio_ap_irq_disable(q); kfree(q); mutex_unlock(&matrix_dev->lock); } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/vfio_ap_ops.c +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/vfio_ap_ops.c @@ -25,6 +25,7 @@ #define VFIO_AP_MDEV_NAME_HWVIRT "VFIO AP Passthrough Device" static int vfio_ap_mdev_reset_queues(struct mdev_device *mdev); +static struct vfio_ap_queue *vfio_ap_find_queue(int apqn); static int match_apqn(struct device *dev, const void *data) { @@ -49,20 +50,15 @@ int apqn) { struct vfio_ap_queue *q; - struct device *dev; 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; - dev = driver_find_device(&matrix_dev->vfio_ap_drv->driver, NULL, - &apqn, match_apqn); - if (!dev) - return NULL; - q = dev_get_drvdata(dev); - q->matrix_mdev = matrix_mdev; - put_device(dev); + q = vfio_ap_find_queue(apqn); + if (q) + q->matrix_mdev = matrix_mdev; return q; } @@ -119,13 +115,18 @@ */ static void vfio_ap_free_aqic_resources(struct vfio_ap_queue *q) { - if (q->saved_isc != VFIO_AP_ISC_INVALID && q->matrix_mdev) + if (!q) + return; + if (q->saved_isc != VFIO_AP_ISC_INVALID && + !WARN_ON(!(q->matrix_mdev && q->matrix_mdev->kvm))) { kvm_s390_gisc_unregister(q->matrix_mdev->kvm, q->saved_isc); - if (q->saved_pfn && q->matrix_mdev) + q->saved_isc = VFIO_AP_ISC_INVALID; + } + if (q->saved_pfn && !WARN_ON(!q->matrix_mdev)) { vfio_unpin_pages(mdev_dev(q->matrix_mdev->mdev), &q->saved_pfn, 1); - q->saved_pfn = 0; - q->saved_isc = VFIO_AP_ISC_INVALID; + q->saved_pfn = 0; + } } /** @@ -144,7 +145,7 @@ * Returns if ap_aqic function failed with invalid, deconfigured or * checkstopped AP. */ -struct ap_queue_status vfio_ap_irq_disable(struct vfio_ap_queue *q) +static struct ap_queue_status vfio_ap_irq_disable(struct vfio_ap_queue *q) { struct ap_qirq_ctrl aqic_gisa = {}; struct ap_queue_status status; @@ -1114,48 +1115,70 @@ return NOTIFY_OK; } -static void vfio_ap_irq_disable_apqn(int apqn) +static struct vfio_ap_queue *vfio_ap_find_queue(int apqn) { struct device *dev; - struct vfio_ap_queue *q; + 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); - vfio_ap_irq_disable(q); put_device(dev); } + + return q; } -int vfio_ap_mdev_reset_queue(unsigned int apid, unsigned int apqi, +int vfio_ap_mdev_reset_queue(struct vfio_ap_queue *q, unsigned int retry) { struct ap_queue_status status; + int ret; int retry2 = 2; - int apqn = AP_MKQID(apid, apqi); - do { - status = ap_zapq(apqn); - switch (status.response_code) { - case AP_RESPONSE_NORMAL: - while (!status.queue_empty && retry2--) { - msleep(20); - status = ap_tapq(apqn, NULL); - } - WARN_ON_ONCE(retry2 <= 0); - return 0; - case AP_RESPONSE_RESET_IN_PROGRESS: - case AP_RESPONSE_BUSY: + if (!q) + return 0; + +retry_zapq: + status = ap_zapq(q->apqn); + switch (status.response_code) { + case AP_RESPONSE_NORMAL: + ret = 0; + break; + case AP_RESPONSE_RESET_IN_PROGRESS: + if (retry--) { msleep(20); - break; - default: - /* things are really broken, give up */ - return -EIO; + goto retry_zapq; } - } while (retry--); + ret = -EBUSY; + break; + case AP_RESPONSE_Q_NOT_AVAIL: + case AP_RESPONSE_DECONFIGURED: + case AP_RESPONSE_CHECKSTOPPED: + WARN_ON_ONCE(status.irq_enabled); + ret = -EBUSY; + goto free_resources; + default: + /* things are really broken, give up */ + WARN(true, "PQAP/ZAPQ completed with invalid rc (%x)\n", + status.response_code); + return -EIO; + } + + /* wait for the reset to take effect */ + while (retry2--) { + if (status.queue_empty && !status.irq_enabled) + break; + msleep(20); + status = ap_tapq(q->apqn, NULL); + } + WARN_ON_ONCE(retry2 <= 0); - return -EBUSY; +free_resources: + vfio_ap_free_aqic_resources(q); + + return ret; } static int vfio_ap_mdev_reset_queues(struct mdev_device *mdev) @@ -1163,13 +1186,15 @@ int ret; int rc = 0; unsigned long apid, apqi; + struct vfio_ap_queue *q; struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev); 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) { - ret = vfio_ap_mdev_reset_queue(apid, apqi, 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 @@ -1177,7 +1202,6 @@ */ if (ret) rc = ret; - vfio_ap_irq_disable_apqn(AP_MKQID(apid, apqi)); } } @@ -1255,7 +1279,7 @@ info.num_regions = 0; info.num_irqs = 0; - return copy_to_user((void __user *)arg, &info, minsz); + return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0; } static ssize_t vfio_ap_mdev_ioctl(struct mdev_device *mdev, --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/vfio_ap_private.h +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/vfio_ap_private.h @@ -88,11 +88,6 @@ struct mdev_device *mdev; }; -extern int vfio_ap_mdev_register(void); -extern void vfio_ap_mdev_unregister(void); -int vfio_ap_mdev_reset_queue(unsigned int apid, unsigned int apqi, - unsigned int retry); - struct vfio_ap_queue { struct ap_matrix_mdev *matrix_mdev; unsigned long saved_pfn; @@ -100,5 +95,10 @@ #define VFIO_AP_ISC_INVALID 0xff unsigned char saved_isc; }; -struct ap_queue_status vfio_ap_irq_disable(struct vfio_ap_queue *q); + +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); + #endif /* _VFIO_AP_PRIVATE_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/zcrypt_api.c +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/zcrypt_api.c @@ -1429,7 +1429,8 @@ if (!reqcnt) return -ENOMEM; zcrypt_perdev_reqcnt(reqcnt, AP_DEVICES); - if (copy_to_user((int __user *) arg, reqcnt, sizeof(reqcnt))) + if (copy_to_user((int __user *) arg, reqcnt, + sizeof(u32) * AP_DEVICES)) rc = -EFAULT; kfree(reqcnt); return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/s390/crypto/zcrypt_ccamisc.c +++ linux-riscv-5.8-5.8.0/drivers/s390/crypto/zcrypt_ccamisc.c @@ -1685,9 +1685,9 @@ *nr_apqns = 0; /* fetch status of all crypto cards */ - device_status = kmalloc_array(MAX_ZDEV_ENTRIES_EXT, - sizeof(struct zcrypt_device_status_ext), - GFP_KERNEL); + device_status = kvmalloc_array(MAX_ZDEV_ENTRIES_EXT, + sizeof(struct zcrypt_device_status_ext), + GFP_KERNEL); if (!device_status) return -ENOMEM; zcrypt_device_status_mask_ext(device_status); @@ -1755,7 +1755,7 @@ verify = 0; } - kfree(device_status); + kvfree(device_status); return rc; } EXPORT_SYMBOL(cca_findcard2); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/net/qeth_core.h +++ linux-riscv-5.8-5.8.0/drivers/s390/net/qeth_core.h @@ -397,12 +397,13 @@ QETH_QDIO_BUF_EMPTY, /* Filled by driver; owned by hardware in order to be sent. */ QETH_QDIO_BUF_PRIMED, - /* Identified to be pending in TPQ. */ + /* Discovered by the TX completion code: */ QETH_QDIO_BUF_PENDING, - /* Found in completion queue. */ - QETH_QDIO_BUF_IN_CQ, - /* Handled via transfer pending / completion queue. */ - QETH_QDIO_BUF_HANDLED_DELAYED, + /* Finished by the TX completion code: */ + QETH_QDIO_BUF_NEED_QAOB, + /* Received QAOB notification on CQ: */ + QETH_QDIO_BUF_QAOB_OK, + QETH_QDIO_BUF_QAOB_ERROR, }; struct qeth_qdio_out_buffer { @@ -415,7 +416,7 @@ int is_header[QDIO_MAX_ELEMENTS_PER_BUFFER]; struct qeth_qdio_out_q *q; - struct qeth_qdio_out_buffer *next_pending; + struct list_head list_entry; }; struct qeth_card; @@ -485,6 +486,7 @@ struct qdio_buffer *qdio_bufs[QDIO_MAX_BUFFERS_PER_Q]; struct qeth_qdio_out_buffer *bufs[QDIO_MAX_BUFFERS_PER_Q]; struct qdio_outbuf_state *bufstates; /* convenience pointer */ + struct list_head pending_bufs; struct qeth_out_q_stats stats; u8 next_buf_to_fill; u8 max_elements; @@ -680,6 +682,11 @@ int inter_packet_jumbo; }; +enum qeth_pnso_mode { + QETH_PNSO_NONE, + QETH_PNSO_BRIDGEPORT, +}; + #define QETH_BROADCAST_WITH_ECHO 0x01 #define QETH_BROADCAST_WITHOUT_ECHO 0x02 struct qeth_card_info { @@ -696,6 +703,7 @@ /* no bitfield, we take a pointer on these two: */ u8 has_lp2lp_cso_v6; u8 has_lp2lp_cso_v4; + enum qeth_pnso_mode pnso_mode; enum qeth_card_types type; enum qeth_link_types link_type; int broadcast_capable; @@ -765,6 +773,7 @@ u8 buf_element; int e_offset; int qdio_err; + u8 bufs_refill; }; struct carrier_info { @@ -835,7 +844,6 @@ struct napi_struct napi; struct qeth_rx rx; struct delayed_work buffer_reclaim_work; - int reclaim_index; struct work_struct close_dev_work; }; --- linux-riscv-5.8-5.8.0.orig/drivers/s390/net/qeth_core_main.c +++ linux-riscv-5.8-5.8.0/drivers/s390/net/qeth_core_main.c @@ -32,6 +32,7 @@ #include #include +#include #include #include @@ -72,9 +73,6 @@ static void qeth_notify_skbs(struct qeth_qdio_out_q *queue, struct qeth_qdio_out_buffer *buf, enum iucv_tx_notify notification); -static void qeth_tx_complete_buf(struct qeth_qdio_out_buffer *buf, bool error, - int budget); -static int qeth_init_qdio_out_buf(struct qeth_qdio_out_q *, int); static void qeth_close_dev_handler(struct work_struct *work) { @@ -204,12 +202,17 @@ void qeth_clear_working_pool_list(struct qeth_card *card) { struct qeth_buffer_pool_entry *pool_entry, *tmp; + struct qeth_qdio_q *queue = card->qdio.in_q; + unsigned int i; QETH_CARD_TEXT(card, 5, "clwrklst"); list_for_each_entry_safe(pool_entry, tmp, &card->qdio.in_buf_pool.entry_list, list){ list_del(&pool_entry->list); } + + for (i = 0; i < ARRAY_SIZE(queue->bufs); i++) + queue->bufs[i].pool_entry = NULL; } EXPORT_SYMBOL_GPL(qeth_clear_working_pool_list); @@ -462,54 +465,14 @@ return n; } -static void qeth_cleanup_handled_pending(struct qeth_qdio_out_q *q, int bidx, - int forced_cleanup) -{ - if (q->card->options.cq != QETH_CQ_ENABLED) - return; - - if (q->bufs[bidx]->next_pending != NULL) { - struct qeth_qdio_out_buffer *head = q->bufs[bidx]; - struct qeth_qdio_out_buffer *c = q->bufs[bidx]->next_pending; - - while (c) { - if (forced_cleanup || - atomic_read(&c->state) == - QETH_QDIO_BUF_HANDLED_DELAYED) { - struct qeth_qdio_out_buffer *f = c; - QETH_CARD_TEXT(f->q->card, 5, "fp"); - QETH_CARD_TEXT_(f->q->card, 5, "%lx", (long) f); - /* release here to avoid interleaving between - outbound tasklet and inbound tasklet - regarding notifications and lifecycle */ - qeth_tx_complete_buf(c, forced_cleanup, 0); - - c = f->next_pending; - WARN_ON_ONCE(head->next_pending != f); - head->next_pending = c; - kmem_cache_free(qeth_qdio_outbuf_cache, f); - } else { - head = c; - c = c->next_pending; - } - - } - } - if (forced_cleanup && (atomic_read(&(q->bufs[bidx]->state)) == - QETH_QDIO_BUF_HANDLED_DELAYED)) { - /* for recovery situations */ - qeth_init_qdio_out_buf(q, bidx); - QETH_CARD_TEXT(q->card, 2, "clprecov"); - } -} - - static void qeth_qdio_handle_aob(struct qeth_card *card, unsigned long phys_aob_addr) { + enum qeth_qdio_out_buffer_state new_state = QETH_QDIO_BUF_QAOB_OK; struct qaob *aob; struct qeth_qdio_out_buffer *buffer; enum iucv_tx_notify notification; + struct qeth_qdio_out_q *queue; unsigned int i; aob = (struct qaob *) phys_to_virt(phys_aob_addr); @@ -518,34 +481,46 @@ buffer = (struct qeth_qdio_out_buffer *) aob->user1; QETH_CARD_TEXT_(card, 5, "%lx", aob->user1); - if (atomic_cmpxchg(&buffer->state, QETH_QDIO_BUF_PRIMED, - QETH_QDIO_BUF_IN_CQ) == QETH_QDIO_BUF_PRIMED) { - notification = TX_NOTIFY_OK; - } else { - WARN_ON_ONCE(atomic_read(&buffer->state) != - QETH_QDIO_BUF_PENDING); - atomic_set(&buffer->state, QETH_QDIO_BUF_IN_CQ); - notification = TX_NOTIFY_DELAYED_OK; + if (aob->aorc) { + QETH_CARD_TEXT_(card, 2, "aorc%02X", aob->aorc); + new_state = QETH_QDIO_BUF_QAOB_ERROR; } - if (aob->aorc != 0) { - QETH_CARD_TEXT_(card, 2, "aorc%02X", aob->aorc); + switch (atomic_xchg(&buffer->state, new_state)) { + case QETH_QDIO_BUF_PRIMED: + /* Faster than TX completion code, let it handle the async + * completion for us. + */ + break; + case QETH_QDIO_BUF_PENDING: + /* TX completion code is active and will handle the async + * completion for us. + */ + break; + case QETH_QDIO_BUF_NEED_QAOB: + /* TX completion code is already finished. */ notification = qeth_compute_cq_notification(aob->aorc, 1); - } - qeth_notify_skbs(buffer->q, buffer, notification); + qeth_notify_skbs(buffer->q, buffer, notification); - /* Free dangling allocations. The attached skbs are handled by - * qeth_cleanup_handled_pending(). - */ - for (i = 0; - i < aob->sb_count && i < QETH_MAX_BUFFER_ELEMENTS(card); - i++) { - void *data = phys_to_virt(aob->sba[i]); + /* Free dangling allocations. The attached skbs are handled by + * qeth_tx_complete_pending_bufs(). + */ + for (i = 0; + i < aob->sb_count && i < QETH_MAX_BUFFER_ELEMENTS(card); + i++) { + void *data = phys_to_virt(aob->sba[i]); + + if (data && buffer->is_header[i]) + kmem_cache_free(qeth_core_header_cache, data); + } - if (data && buffer->is_header[i]) - kmem_cache_free(qeth_core_header_cache, data); + queue = buffer->q; + atomic_set(&buffer->state, QETH_QDIO_BUF_EMPTY); + napi_schedule(&queue->napi); + break; + default: + WARN_ON_ONCE(1); } - atomic_set(&buffer->state, QETH_QDIO_BUF_HANDLED_DELAYED); qdio_release_aob(aob); } @@ -1403,7 +1378,7 @@ skb_queue_walk(&buf->skb_list, skb) { QETH_CARD_TEXT_(q->card, 5, "skbn%d", notification); QETH_CARD_TEXT_(q->card, 5, "%lx", (long) skb); - if (skb->protocol == htons(ETH_P_AF_IUCV) && skb->sk) + if (skb->sk && skb->sk->sk_family == PF_IUCV) iucv_sk(skb->sk)->sk_txnotify(skb, notification); } } @@ -1414,12 +1389,6 @@ struct qeth_qdio_out_q *queue = buf->q; struct sk_buff *skb; - /* release may never happen from within CQ tasklet scope */ - WARN_ON_ONCE(atomic_read(&buf->state) == QETH_QDIO_BUF_IN_CQ); - - if (atomic_read(&buf->state) == QETH_QDIO_BUF_PENDING) - qeth_notify_skbs(queue, buf, TX_NOTIFY_GENERALERROR); - /* Empty buffer? */ if (buf->next_element_to_fill == 0) return; @@ -1481,14 +1450,38 @@ atomic_set(&buf->state, QETH_QDIO_BUF_EMPTY); } +static void qeth_tx_complete_pending_bufs(struct qeth_card *card, + struct qeth_qdio_out_q *queue, + bool drain) +{ + struct qeth_qdio_out_buffer *buf, *tmp; + + list_for_each_entry_safe(buf, tmp, &queue->pending_bufs, list_entry) { + if (drain || atomic_read(&buf->state) == QETH_QDIO_BUF_EMPTY) { + QETH_CARD_TEXT(card, 5, "fp"); + QETH_CARD_TEXT_(card, 5, "%lx", (long) buf); + + if (drain) + qeth_notify_skbs(queue, buf, + TX_NOTIFY_GENERALERROR); + qeth_tx_complete_buf(buf, drain, 0); + + list_del(&buf->list_entry); + kmem_cache_free(qeth_qdio_outbuf_cache, buf); + } + } +} + static void qeth_drain_output_queue(struct qeth_qdio_out_q *q, bool free) { int j; + qeth_tx_complete_pending_bufs(q->card, q, true); + for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j) { if (!q->bufs[j]) continue; - qeth_cleanup_handled_pending(q, j, 1); + qeth_clear_output_buffer(q, q->bufs[j], true, 0); if (free) { kmem_cache_free(qeth_qdio_outbuf_cache, q->bufs[j]); @@ -2614,7 +2607,6 @@ skb_queue_head_init(&newbuf->skb_list); lockdep_set_class(&newbuf->skb_list.lock, &qdio_out_skb_queue_key); newbuf->q = q; - newbuf->next_pending = q->bufs[bidx]; atomic_set(&newbuf->state, QETH_QDIO_BUF_EMPTY); q->bufs[bidx] = newbuf; return 0; @@ -2633,15 +2625,28 @@ static struct qeth_qdio_out_q *qeth_alloc_output_queue(void) { struct qeth_qdio_out_q *q = kzalloc(sizeof(*q), GFP_KERNEL); + unsigned int i; if (!q) return NULL; - if (qdio_alloc_buffers(q->qdio_bufs, QDIO_MAX_BUFFERS_PER_Q)) { - kfree(q); - return NULL; + if (qdio_alloc_buffers(q->qdio_bufs, QDIO_MAX_BUFFERS_PER_Q)) + goto err_qdio_bufs; + + for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; i++) { + if (qeth_init_qdio_out_buf(q, i)) + goto err_out_bufs; } + return q; + +err_out_bufs: + while (i > 0) + kmem_cache_free(qeth_qdio_outbuf_cache, q->bufs[--i]); + qdio_free_buffers(q->qdio_bufs, QDIO_MAX_BUFFERS_PER_Q); +err_qdio_bufs: + kfree(q); + return NULL; } static void qeth_tx_completion_timer(struct timer_list *timer) @@ -2654,7 +2659,7 @@ static int qeth_alloc_qdio_queues(struct qeth_card *card) { - int i, j; + unsigned int i; QETH_CARD_TEXT(card, 2, "allcqdbf"); @@ -2683,16 +2688,10 @@ card->qdio.out_qs[i] = queue; queue->card = card; queue->queue_no = i; + INIT_LIST_HEAD(&queue->pending_bufs); timer_setup(&queue->timer, qeth_tx_completion_timer, 0); queue->coalesce_usecs = QETH_TX_COALESCE_USECS; queue->max_coalesced_frames = QETH_TX_MAX_COALESCED_FRAMES; - - /* give outbound qeth_qdio_buffers their qdio_buffers */ - for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j) { - WARN_ON(queue->bufs[j]); - if (qeth_init_qdio_out_buf(queue, j)) - goto out_freeoutqbufs; - } } /* completion */ @@ -2701,13 +2700,6 @@ return 0; -out_freeoutqbufs: - while (j > 0) { - --j; - kmem_cache_free(qeth_qdio_outbuf_cache, - card->qdio.out_qs[i]->bufs[j]); - card->qdio.out_qs[i]->bufs[j] = NULL; - } out_freeoutq: while (i > 0) { qeth_free_output_queue(card->qdio.out_qs[--i]); @@ -2951,7 +2943,7 @@ static int qeth_init_input_buffer(struct qeth_card *card, struct qeth_qdio_buffer *buf) { - struct qeth_buffer_pool_entry *pool_entry; + struct qeth_buffer_pool_entry *pool_entry = buf->pool_entry; int i; if ((card->options.cq == QETH_CQ_ENABLED) && (!buf->rx_skb)) { @@ -2962,9 +2954,13 @@ return -ENOMEM; } - pool_entry = qeth_find_free_buffer_pool_entry(card); - if (!pool_entry) - return -ENOBUFS; + if (!pool_entry) { + pool_entry = qeth_find_free_buffer_pool_entry(card); + if (!pool_entry) + return -ENOBUFS; + + buf->pool_entry = pool_entry; + } /* * since the buffer is accessed only from the input_tasklet @@ -2972,8 +2968,6 @@ * the QETH_IN_BUF_REQUEUE_THRESHOLD we should never run out off * buffers */ - - buf->pool_entry = pool_entry; for (i = 0; i < QETH_MAX_BUFFER_ELEMENTS(card); ++i) { buf->buffer->element[i].length = PAGE_SIZE; buf->buffer->element[i].addr = @@ -3468,20 +3462,15 @@ return 0; } -static void qeth_queue_input_buffer(struct qeth_card *card, int index) +static unsigned int qeth_rx_refill_queue(struct qeth_card *card, + unsigned int count) { struct qeth_qdio_q *queue = card->qdio.in_q; struct list_head *lh; - int count; int i; int rc; int newcount = 0; - count = (index < queue->next_buf_to_init)? - card->qdio.in_buf_pool.buf_count - - (queue->next_buf_to_init - index) : - card->qdio.in_buf_pool.buf_count - - (queue->next_buf_to_init + QDIO_MAX_BUFFERS_PER_Q - index); /* only requeue at a certain threshold to avoid SIGAs */ if (count >= QETH_IN_BUF_REQUEUE_THRESHOLD(card)) { for (i = queue->next_buf_to_init; @@ -3509,12 +3498,11 @@ i++; if (i == card->qdio.in_buf_pool.buf_count) { QETH_CARD_TEXT(card, 2, "qsarbw"); - card->reclaim_index = index; schedule_delayed_work( &card->buffer_reclaim_work, QETH_RECLAIM_WORK_TIME); } - return; + return 0; } /* @@ -3531,7 +3519,10 @@ } queue->next_buf_to_init = QDIO_BUFNR(queue->next_buf_to_init + count); + return count; } + + return 0; } static void qeth_buffer_reclaim_work(struct work_struct *work) @@ -3539,8 +3530,10 @@ struct qeth_card *card = container_of(work, struct qeth_card, buffer_reclaim_work.work); - QETH_CARD_TEXT_(card, 2, "brw:%x", card->reclaim_index); - qeth_queue_input_buffer(card, card->reclaim_index); + local_bh_disable(); + napi_schedule(&card->napi); + /* kick-start the NAPI softirq: */ + local_bh_enable(); } static void qeth_handle_send_error(struct qeth_card *card, @@ -5767,6 +5760,7 @@ static unsigned int qeth_rx_poll(struct qeth_card *card, int budget) { + struct qeth_rx *ctx = &card->rx; unsigned int work_done = 0; while (budget > 0) { @@ -5802,8 +5796,11 @@ if (done) { QETH_CARD_STAT_INC(card, rx_bufs); qeth_put_buffer_pool_entry(card, buffer->pool_entry); - qeth_queue_input_buffer(card, card->rx.b_index); + buffer->pool_entry = NULL; card->rx.b_count--; + ctx->bufs_refill++; + ctx->bufs_refill -= qeth_rx_refill_queue(card, + ctx->bufs_refill); /* Step forward to next buffer: */ card->rx.b_index = QDIO_BUFNR(card->rx.b_index + 1); @@ -5843,9 +5840,16 @@ if (card->options.cq == QETH_CQ_ENABLED) qeth_cq_poll(card); - /* Exhausted the RX budget. Keep IRQ disabled, we get called again. */ - if (budget && work_done >= budget) - return work_done; + if (budget) { + struct qeth_rx *ctx = &card->rx; + + /* Process any substantial refill backlog: */ + ctx->bufs_refill -= qeth_rx_refill_queue(card, ctx->bufs_refill); + + /* Exhausted the RX budget. Keep IRQ disabled, we get called again. */ + if (work_done >= budget) + return work_done; + } if (napi_complete_done(napi, work_done) && qdio_start_irq(CARD_DDEV(card))) @@ -5866,26 +5870,65 @@ QDIO_OUTBUF_STATE_FLAG_PENDING)) { WARN_ON_ONCE(card->options.cq != QETH_CQ_ENABLED); - if (atomic_cmpxchg(&buffer->state, QETH_QDIO_BUF_PRIMED, - QETH_QDIO_BUF_PENDING) == - QETH_QDIO_BUF_PRIMED) - qeth_notify_skbs(queue, buffer, TX_NOTIFY_PENDING); - QETH_CARD_TEXT_(card, 5, "pel%u", bidx); - /* prepare the queue slot for re-use: */ - qeth_scrub_qdio_buffer(buffer->buffer, queue->max_elements); - if (qeth_init_qdio_out_buf(queue, bidx)) { - QETH_CARD_TEXT(card, 2, "outofbuf"); - qeth_schedule_recovery(card); - } + switch (atomic_cmpxchg(&buffer->state, + QETH_QDIO_BUF_PRIMED, + QETH_QDIO_BUF_PENDING)) { + case QETH_QDIO_BUF_PRIMED: + /* We have initial ownership, no QAOB (yet): */ + qeth_notify_skbs(queue, buffer, TX_NOTIFY_PENDING); - return; - } + /* Handle race with qeth_qdio_handle_aob(): */ + switch (atomic_xchg(&buffer->state, + QETH_QDIO_BUF_NEED_QAOB)) { + case QETH_QDIO_BUF_PENDING: + /* No concurrent QAOB notification. */ + + /* Prepare the queue slot for immediate re-use: */ + qeth_scrub_qdio_buffer(buffer->buffer, queue->max_elements); + if (qeth_init_qdio_out_buf(queue, bidx)) { + QETH_CARD_TEXT(card, 2, "outofbuf"); + qeth_schedule_recovery(card); + } - if (card->options.cq == QETH_CQ_ENABLED) + list_add(&buffer->list_entry, + &queue->pending_bufs); + /* Skip clearing the buffer: */ + return; + case QETH_QDIO_BUF_QAOB_OK: + qeth_notify_skbs(queue, buffer, + TX_NOTIFY_DELAYED_OK); + error = false; + break; + case QETH_QDIO_BUF_QAOB_ERROR: + qeth_notify_skbs(queue, buffer, + TX_NOTIFY_DELAYED_GENERALERROR); + error = true; + break; + default: + WARN_ON_ONCE(1); + } + + break; + case QETH_QDIO_BUF_QAOB_OK: + /* qeth_qdio_handle_aob() already received a QAOB: */ + qeth_notify_skbs(queue, buffer, TX_NOTIFY_OK); + error = false; + break; + case QETH_QDIO_BUF_QAOB_ERROR: + /* qeth_qdio_handle_aob() already received a QAOB: */ + qeth_notify_skbs(queue, buffer, TX_NOTIFY_GENERALERROR); + error = true; + break; + default: + WARN_ON_ONCE(1); + } + } else if (card->options.cq == QETH_CQ_ENABLED) { qeth_notify_skbs(queue, buffer, qeth_compute_cq_notification(sflags, 0)); + } + qeth_clear_output_buffer(queue, buffer, error, budget); } @@ -5906,6 +5949,8 @@ unsigned int bytes = 0; int completed; + qeth_tx_complete_pending_bufs(card, queue, false); + if (qeth_out_queue_is_empty(queue)) { napi_complete(napi); return 0; @@ -5938,7 +5983,6 @@ qeth_handle_send_error(card, buffer, error); qeth_iqd_tx_complete(queue, bidx, error, budget); - qeth_cleanup_handled_pending(queue, bidx, false); } netdev_tx_completed_queue(txq, packets, bytes); @@ -6986,9 +7030,7 @@ card->data.state = CH_STATE_UP; netif_tx_start_all_queues(dev); - napi_enable(&card->napi); local_bh_disable(); - napi_schedule(&card->napi); if (IS_IQD(card)) { struct qeth_qdio_out_q *queue; unsigned int i; @@ -7000,8 +7042,12 @@ napi_schedule(&queue->napi); } } + + napi_enable(&card->napi); + napi_schedule(&card->napi); /* kick-start the NAPI softirq: */ local_bh_enable(); + return 0; } EXPORT_SYMBOL_GPL(qeth_open); @@ -7011,6 +7057,11 @@ struct qeth_card *card = dev->ml_priv; QETH_CARD_TEXT(card, 4, "qethstop"); + + napi_disable(&card->napi); + cancel_delayed_work_sync(&card->buffer_reclaim_work); + qdio_stop_irq(CARD_DDEV(card)); + if (IS_IQD(card)) { struct qeth_qdio_out_q *queue; unsigned int i; @@ -7031,9 +7082,6 @@ netif_tx_disable(dev); } - napi_disable(&card->napi); - qdio_stop_irq(CARD_DDEV(card)); - return 0; } EXPORT_SYMBOL_GPL(qeth_stop); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/net/qeth_l2_main.c +++ linux-riscv-5.8-5.8.0/drivers/s390/net/qeth_l2_main.c @@ -273,6 +273,17 @@ return qeth_l2_send_setdelvlan(card, vid, IPA_CMD_DELVLAN); } +static void qeth_l2_set_pnso_mode(struct qeth_card *card, + enum qeth_pnso_mode mode) +{ + spin_lock_irq(get_ccwdev_lock(CARD_RDEV(card))); + WRITE_ONCE(card->info.pnso_mode, mode); + spin_unlock_irq(get_ccwdev_lock(CARD_RDEV(card))); + + if (mode == QETH_PNSO_NONE) + drain_workqueue(card->event_wq); +} + static void qeth_l2_stop_card(struct qeth_card *card) { QETH_CARD_TEXT(card, 2, "stopcard"); @@ -285,13 +296,12 @@ if (card->state == CARD_STATE_SOFTSETUP) { qeth_clear_ipacmd_list(card); qeth_drain_output_queues(card); - cancel_delayed_work_sync(&card->buffer_reclaim_work); card->state = CARD_STATE_DOWN; } qeth_qdio_clear_card(card, 0); qeth_clear_working_pool_list(card); - flush_workqueue(card->event_wq); + qeth_l2_set_pnso_mode(card, QETH_PNSO_NONE); qeth_flush_local_addrs(card); card->info.promisc_mode = 0; } @@ -1111,12 +1121,6 @@ NULL }; - /* Role should not change by itself, but if it did, */ - /* information from the hardware is authoritative. */ - mutex_lock(&data->card->sbp_lock); - data->card->options.sbp.role = entry->role; - mutex_unlock(&data->card->sbp_lock); - snprintf(env_locrem, sizeof(env_locrem), "BRIDGEPORT=statechange"); snprintf(env_role, sizeof(env_role), "ROLE=%s", (entry->role == QETH_SBP_ROLE_NONE) ? "none" : @@ -1142,6 +1146,10 @@ int extrasize; QETH_CARD_TEXT(card, 2, "brstchng"); + if (qports->num_entries == 0) { + QETH_CARD_TEXT(card, 2, "BPempty"); + return; + } if (qports->entry_length != sizeof(struct qeth_sbp_port_entry)) { QETH_CARD_TEXT_(card, 2, "BPsz%04x", qports->entry_length); return; @@ -1161,19 +1169,34 @@ } struct qeth_addr_change_data { - struct work_struct worker; + struct delayed_work dwork; struct qeth_card *card; struct qeth_ipacmd_addr_change ac_event; }; static void qeth_addr_change_event_worker(struct work_struct *work) { - struct qeth_addr_change_data *data = - container_of(work, struct qeth_addr_change_data, worker); + struct delayed_work *dwork = to_delayed_work(work); + struct qeth_addr_change_data *data; + struct qeth_card *card; int i; + data = container_of(dwork, struct qeth_addr_change_data, dwork); + card = data->card; + QETH_CARD_TEXT(data->card, 4, "adrchgew"); + + if (READ_ONCE(card->info.pnso_mode) == QETH_PNSO_NONE) + goto free; + if (data->ac_event.lost_event_mask) { + /* Potential re-config in progress, try again later: */ + if (!mutex_trylock(&card->sbp_lock)) { + queue_delayed_work(card->event_wq, dwork, + msecs_to_jiffies(100)); + return; + } + dev_info(&data->card->gdev->dev, "Address change notification stopped on %s (%s)\n", data->card->dev->name, @@ -1182,8 +1205,9 @@ : (data->ac_event.lost_event_mask == 0x02) ? "Bridge port state change" : "Unknown reason"); - mutex_lock(&data->card->sbp_lock); + data->card->options.sbp.hostnotification = 0; + card->info.pnso_mode = QETH_PNSO_NONE; mutex_unlock(&data->card->sbp_lock); qeth_bridge_emit_host_event(data->card, anev_abort, 0, NULL, NULL); @@ -1197,6 +1221,8 @@ &entry->token, &entry->addr_lnid); } + +free: kfree(data); } @@ -1208,6 +1234,9 @@ struct qeth_addr_change_data *data; int extrasize; + if (card->info.pnso_mode == QETH_PNSO_NONE) + return; + QETH_CARD_TEXT(card, 4, "adrchgev"); if (cmd->hdr.return_code != 0x0000) { if (cmd->hdr.return_code == 0x0010) { @@ -1227,11 +1256,11 @@ QETH_CARD_TEXT(card, 2, "ACNalloc"); return; } - INIT_WORK(&data->worker, qeth_addr_change_event_worker); + INIT_DELAYED_WORK(&data->dwork, qeth_addr_change_event_worker); data->card = card; memcpy(&data->ac_event, hostevs, sizeof(struct qeth_ipacmd_addr_change) + extrasize); - queue_work(card->event_wq, &data->worker); + queue_delayed_work(card->event_wq, &data->dwork, 0); } /* SETBRIDGEPORT support; sending commands */ @@ -1552,9 +1581,14 @@ if (enable) { qeth_bridge_emit_host_event(card, anev_reset, 0, NULL, NULL); + qeth_l2_set_pnso_mode(card, QETH_PNSO_BRIDGEPORT); rc = qeth_l2_pnso(card, 1, qeth_bridgeport_an_set_cb, card); - } else + if (rc) + qeth_l2_set_pnso_mode(card, QETH_PNSO_NONE); + } else { rc = qeth_l2_pnso(card, 0, NULL, NULL); + qeth_l2_set_pnso_mode(card, QETH_PNSO_NONE); + } return rc; } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/net/qeth_l2_sys.c +++ linux-riscv-5.8-5.8.0/drivers/s390/net/qeth_l2_sys.c @@ -157,6 +157,7 @@ rc = -EBUSY; else if (qeth_card_hw_is_reachable(card)) { rc = qeth_bridgeport_an_set(card, enable); + /* sbp_lock ensures ordering vs notifications-stopped events */ if (!rc) card->options.sbp.hostnotification = enable; } else --- linux-riscv-5.8-5.8.0.orig/drivers/s390/net/qeth_l3_main.c +++ linux-riscv-5.8-5.8.0/drivers/s390/net/qeth_l3_main.c @@ -1169,7 +1169,6 @@ qeth_l3_clear_ip_htable(card, 1); qeth_clear_ipacmd_list(card); qeth_drain_output_queues(card); - cancel_delayed_work_sync(&card->buffer_reclaim_work); card->state = CARD_STATE_DOWN; } @@ -1853,7 +1852,7 @@ struct net_device *dev, netdev_features_t features) { - if (qeth_get_ip_version(skb) != 4) + if (vlan_get_protocol(skb) != htons(ETH_P_IP)) features &= ~NETIF_F_HW_VLAN_CTAG_TX; return qeth_features_check(skb, dev, features); } --- linux-riscv-5.8-5.8.0.orig/drivers/s390/scsi/zfcp_fsf.c +++ linux-riscv-5.8-5.8.0/drivers/s390/scsi/zfcp_fsf.c @@ -434,7 +434,7 @@ return; } - del_timer(&req->timer); + del_timer_sync(&req->timer); zfcp_fsf_protstatus_eval(req); zfcp_fsf_fsfstatus_eval(req); req->handler(req); @@ -867,7 +867,7 @@ req->qdio_req.qdio_outb_usage = atomic_read(&qdio->req_q_free); req->issued = get_tod_clock(); if (zfcp_qdio_send(qdio, &req->qdio_req)) { - del_timer(&req->timer); + del_timer_sync(&req->timer); /* lookup request again, list might have changed */ zfcp_reqlist_find_rm(adapter->req_list, req_id); zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1"); --- linux-riscv-5.8-5.8.0.orig/drivers/s390/virtio/virtio_ccw.c +++ linux-riscv-5.8-5.8.0/drivers/s390/virtio/virtio_ccw.c @@ -117,7 +117,7 @@ }; /* the highest virtio-ccw revision we support */ -#define VIRTIO_CCW_REV_MAX 1 +#define VIRTIO_CCW_REV_MAX 2 struct virtio_ccw_vq_info { struct virtqueue *vq; @@ -952,7 +952,7 @@ u8 old_status = vcdev->dma_area->status; struct ccw1 *ccw; - if (vcdev->revision < 1) + if (vcdev->revision < 2) return vcdev->dma_area->status; ccw = ccw_device_dma_zalloc(vcdev->cdev, sizeof(*ccw)); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/aacraid/commctrl.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/aacraid/commctrl.c @@ -25,6 +25,7 @@ #include #include #include +#include #include /* ssleep prototype */ #include #include @@ -226,6 +227,12 @@ return status; } +struct compat_fib_ioctl { + u32 fibctx; + s32 wait; + compat_uptr_t fib; +}; + /** * next_getadapter_fib - get the next fib * @dev: adapter to use @@ -244,8 +251,19 @@ struct list_head * entry; unsigned long flags; - if(copy_from_user((void *)&f, arg, sizeof(struct fib_ioctl))) - return -EFAULT; + if (in_compat_syscall()) { + struct compat_fib_ioctl cf; + + if (copy_from_user(&cf, arg, sizeof(struct compat_fib_ioctl))) + return -EFAULT; + + f.fibctx = cf.fibctx; + f.wait = cf.wait; + f.fib = compat_ptr(cf.fib); + } else { + if (copy_from_user(&f, arg, sizeof(struct fib_ioctl))) + return -EFAULT; + } /* * Verify that the HANDLE passed in was a valid AdapterFibContext * --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/aacraid/linit.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/aacraid/linit.c @@ -1182,63 +1182,6 @@ return aac_do_ioctl(aac, cmd, (void __user *)arg); } -#ifdef CONFIG_COMPAT -static long aac_compat_do_ioctl(struct aac_dev *dev, unsigned cmd, unsigned long arg) -{ - long ret; - switch (cmd) { - case FSACTL_MINIPORT_REV_CHECK: - case FSACTL_SENDFIB: - case FSACTL_OPEN_GET_ADAPTER_FIB: - case FSACTL_CLOSE_GET_ADAPTER_FIB: - case FSACTL_SEND_RAW_SRB: - case FSACTL_GET_PCI_INFO: - case FSACTL_QUERY_DISK: - case FSACTL_DELETE_DISK: - case FSACTL_FORCE_DELETE_DISK: - case FSACTL_GET_CONTAINERS: - case FSACTL_SEND_LARGE_FIB: - ret = aac_do_ioctl(dev, cmd, (void __user *)arg); - break; - - case FSACTL_GET_NEXT_ADAPTER_FIB: { - struct fib_ioctl __user *f; - - f = compat_alloc_user_space(sizeof(*f)); - ret = 0; - if (clear_user(f, sizeof(*f))) - ret = -EFAULT; - if (copy_in_user(f, (void __user *)arg, sizeof(struct fib_ioctl) - sizeof(u32))) - ret = -EFAULT; - if (!ret) - ret = aac_do_ioctl(dev, cmd, f); - break; - } - - default: - ret = -ENOIOCTLCMD; - break; - } - return ret; -} - -static int aac_compat_ioctl(struct scsi_device *sdev, unsigned int cmd, - void __user *arg) -{ - struct aac_dev *dev = (struct aac_dev *)sdev->host->hostdata; - if (!capable(CAP_SYS_RAWIO)) - return -EPERM; - return aac_compat_do_ioctl(dev, cmd, (unsigned long)arg); -} - -static long aac_compat_cfg_ioctl(struct file *file, unsigned cmd, unsigned long arg) -{ - if (!capable(CAP_SYS_RAWIO)) - return -EPERM; - return aac_compat_do_ioctl(file->private_data, cmd, arg); -} -#endif - static ssize_t aac_show_model(struct device *device, struct device_attribute *attr, char *buf) { @@ -1523,7 +1466,7 @@ .owner = THIS_MODULE, .unlocked_ioctl = aac_cfg_ioctl, #ifdef CONFIG_COMPAT - .compat_ioctl = aac_compat_cfg_ioctl, + .compat_ioctl = aac_cfg_ioctl, #endif .open = aac_cfg_open, .llseek = noop_llseek, @@ -1536,7 +1479,7 @@ .info = aac_info, .ioctl = aac_ioctl, #ifdef CONFIG_COMPAT - .compat_ioctl = aac_compat_ioctl, + .compat_ioctl = aac_ioctl, #endif .queuecommand = aac_queuecommand, .bios_param = aac_biosparm, --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/arm/cumana_2.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/arm/cumana_2.c @@ -450,7 +450,7 @@ if (info->info.scsi.dma != NO_DMA) free_dma(info->info.scsi.dma); - free_irq(ec->irq, host); + free_irq(ec->irq, info); out_release: fas216_release(host); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/arm/eesox.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/arm/eesox.c @@ -571,7 +571,7 @@ if (info->info.scsi.dma != NO_DMA) free_dma(info->info.scsi.dma); - free_irq(ec->irq, host); + free_irq(ec->irq, info); out_remove: fas216_remove(host); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/arm/powertec.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/arm/powertec.c @@ -378,7 +378,7 @@ if (info->info.scsi.dma != NO_DMA) free_dma(info->info.scsi.dma); - free_irq(ec->irq, host); + free_irq(ec->irq, info); out_release: fas216_release(host); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/bfa/bfad.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/bfa/bfad.c @@ -749,6 +749,7 @@ if (bfad->pci_bar0_kva == NULL) { printk(KERN_ERR "Fail to map bar0\n"); + rc = -ENODEV; goto out_release_region; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/bnx2fc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/scsi/bnx2fc/Kconfig @@ -5,6 +5,7 @@ depends on (IPV6 || IPV6=n) depends on LIBFC depends on LIBFCOE + depends on MMU select NETDEVICES select ETHERNET select NET_VENDOR_BROADCOM --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/bnx2i/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/scsi/bnx2i/Kconfig @@ -4,6 +4,7 @@ depends on NET depends on PCI depends on (IPV6 || IPV6=n) + depends on MMU select SCSI_ISCSI_ATTRS select NETDEVICES select ETHERNET --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/csiostor/csio_hw.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/csiostor/csio_hw.c @@ -2384,7 +2384,7 @@ FW_HDR_FW_VER_MICRO_G(c), FW_HDR_FW_VER_BUILD_G(c), FW_HDR_FW_VER_MAJOR_G(k), FW_HDR_FW_VER_MINOR_G(k), FW_HDR_FW_VER_MICRO_G(k), FW_HDR_FW_VER_BUILD_G(k)); - ret = EINVAL; + ret = -EINVAL; goto bye; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/cxgbi/cxgb4i/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/scsi/cxgbi/cxgb4i/Kconfig @@ -4,6 +4,7 @@ depends on PCI && INET && (IPV6 || IPV6=n) depends on THERMAL || !THERMAL depends on ETHERNET + depends on TLS || TLS=n select NET_VENDOR_CHELSIO select CHELSIO_T4 select CHELSIO_LIB --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/device_handler/scsi_dh_alua.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/device_handler/scsi_dh_alua.c @@ -658,8 +658,8 @@ rcu_read_lock(); list_for_each_entry_rcu(h, &tmp_pg->dh_list, node) { - /* h->sdev should always be valid */ - BUG_ON(!h->sdev); + if (!h->sdev) + continue; h->sdev->access_state = desc[0]; } rcu_read_unlock(); @@ -705,7 +705,8 @@ pg->expiry = 0; rcu_read_lock(); list_for_each_entry_rcu(h, &pg->dh_list, node) { - BUG_ON(!h->sdev); + if (!h->sdev) + continue; h->sdev->access_state = (pg->state & SCSI_ACCESS_STATE_MASK); if (pg->pref) @@ -1147,7 +1148,6 @@ spin_lock(&h->pg_lock); pg = rcu_dereference_protected(h->pg, lockdep_is_held(&h->pg_lock)); rcu_assign_pointer(h->pg, NULL); - h->sdev = NULL; spin_unlock(&h->pg_lock); if (pg) { spin_lock_irq(&pg->lock); @@ -1156,6 +1156,7 @@ kref_put(&pg->kref, release_port_group); } sdev->handler_data = NULL; + synchronize_rcu(); kfree(h); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/fcoe/fcoe_ctlr.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/fcoe/fcoe_ctlr.c @@ -255,9 +255,9 @@ WARN_ON(!fcf_dev); new->fcf_dev = NULL; fcoe_fcf_device_delete(fcf_dev); - kfree(new); mutex_unlock(&cdev->lock); } + kfree(new); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/fnic/fnic_main.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/fnic/fnic_main.c @@ -741,6 +741,7 @@ for (i = 0; i < FNIC_IO_LOCKS; i++) spin_lock_init(&fnic->io_req_lock[i]); + err = -ENOMEM; fnic->io_req_pool = mempool_create_slab_pool(2, fnic_io_req_cache); if (!fnic->io_req_pool) goto err_out_free_resources; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/fnic/vnic_dev.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/fnic/vnic_dev.c @@ -444,7 +444,8 @@ fetch_index = ioread32(&vdev->devcmd2->wq.ctrl->fetch_index); if (fetch_index == 0xFFFFFFFF) { /* check for hardware gone */ pr_err("error in devcmd2 init"); - return -ENODEV; + err = -ENODEV; + goto err_free_wq; } /* @@ -460,7 +461,7 @@ err = vnic_dev_alloc_desc_ring(vdev, &vdev->devcmd2->results_ring, DEVCMD2_RING_SIZE, DEVCMD2_DESC_SIZE); if (err) - goto err_free_wq; + goto err_disable_wq; vdev->devcmd2->result = (struct devcmd2_result *) vdev->devcmd2->results_ring.descs; @@ -481,8 +482,9 @@ err_free_desc_ring: vnic_dev_free_desc_ring(vdev, &vdev->devcmd2->results_ring); -err_free_wq: +err_disable_wq: vnic_wq_disable(&vdev->devcmd2->wq); +err_free_wq: vnic_wq_free(&vdev->devcmd2->wq); err_free_devcmd2: kfree(vdev->devcmd2); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/hpsa.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/hpsa.c @@ -8835,7 +8835,7 @@ /* hook into SCSI subsystem */ rc = hpsa_scsi_add_host(h); if (rc) - goto clean7; /* perf, sg, cmd, irq, shost, pci, lu, aer/h */ + goto clean8; /* lastlogicals, perf, sg, cmd, irq, shost, pci, lu, aer/h */ /* Monitor the controller for firmware lockups */ h->heartbeat_sample_interval = HEARTBEAT_SAMPLE_INTERVAL; @@ -8850,6 +8850,8 @@ HPSA_EVENT_MONITOR_INTERVAL); return 0; +clean8: /* lastlogicals, perf, sg, cmd, irq, shost, pci, lu, aer/h */ + kfree(h->lastlogicals); clean7: /* perf, sg, cmd, irq, shost, pci, lu, aer/h */ hpsa_free_performant_mode(h); h->access.set_intr_mask(h, HPSA_INTR_OFF); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ibmvscsi/ibmvfc.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ibmvscsi/ibmvfc.c @@ -2917,8 +2917,10 @@ unsigned long flags = 0; spin_lock_irqsave(shost->host_lock, flags); - if (sdev->type == TYPE_DISK) + if (sdev->type == TYPE_DISK) { sdev->allow_restart = 1; + blk_queue_rq_timeout(sdev->request_queue, 120 * HZ); + } spin_unlock_irqrestore(shost->host_lock, flags); return 0; } @@ -4928,6 +4930,7 @@ if (IS_ERR(vhost->work_thread)) { dev_err(dev, "Couldn't create kernel thread: %ld\n", PTR_ERR(vhost->work_thread)); + rc = PTR_ERR(vhost->work_thread); goto free_host_mem; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ibmvscsi/ibmvscsi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -807,13 +807,29 @@ } /** + * ibmvscsi_set_request_limit - Set the adapter request_limit in response to + * an adapter failure, reset, or SRP Login. Done under host lock to prevent + * race with SCSI command submission. + * @hostdata: adapter to adjust + * @limit: new request limit + */ +static void ibmvscsi_set_request_limit(struct ibmvscsi_host_data *hostdata, int limit) +{ + unsigned long flags; + + spin_lock_irqsave(hostdata->host->host_lock, flags); + atomic_set(&hostdata->request_limit, limit); + spin_unlock_irqrestore(hostdata->host->host_lock, flags); +} + +/** * ibmvscsi_reset_host - Reset the connection to the server * @hostdata: struct ibmvscsi_host_data to reset */ static void ibmvscsi_reset_host(struct ibmvscsi_host_data *hostdata) { scsi_block_requests(hostdata->host); - atomic_set(&hostdata->request_limit, 0); + ibmvscsi_set_request_limit(hostdata, 0); purge_requests(hostdata, DID_ERROR); hostdata->action = IBMVSCSI_HOST_ACTION_RESET; @@ -1146,13 +1162,13 @@ dev_info(hostdata->dev, "SRP_LOGIN_REJ reason %u\n", evt_struct->xfer_iu->srp.login_rej.reason); /* Login failed. */ - atomic_set(&hostdata->request_limit, -1); + ibmvscsi_set_request_limit(hostdata, -1); return; default: dev_err(hostdata->dev, "Invalid login response typecode 0x%02x!\n", evt_struct->xfer_iu->srp.login_rsp.opcode); /* Login failed. */ - atomic_set(&hostdata->request_limit, -1); + ibmvscsi_set_request_limit(hostdata, -1); return; } @@ -1163,7 +1179,7 @@ * This value is set rather than added to request_limit because * request_limit could have been set to -1 by this client. */ - atomic_set(&hostdata->request_limit, + ibmvscsi_set_request_limit(hostdata, be32_to_cpu(evt_struct->xfer_iu->srp.login_rsp.req_lim_delta)); /* If we had any pending I/Os, kick them */ @@ -1195,13 +1211,13 @@ login->req_buf_fmt = cpu_to_be16(SRP_BUF_FORMAT_DIRECT | SRP_BUF_FORMAT_INDIRECT); - spin_lock_irqsave(hostdata->host->host_lock, flags); /* Start out with a request limit of 0, since this is negotiated in * the login request we are just sending and login requests always * get sent by the driver regardless of request_limit. */ - atomic_set(&hostdata->request_limit, 0); + ibmvscsi_set_request_limit(hostdata, 0); + spin_lock_irqsave(hostdata->host->host_lock, flags); rc = ibmvscsi_send_srp_event(evt_struct, hostdata, login_timeout * 2); spin_unlock_irqrestore(hostdata->host->host_lock, flags); dev_info(hostdata->dev, "sent SRP login\n"); @@ -1781,7 +1797,7 @@ return; case VIOSRP_CRQ_XPORT_EVENT: /* Hypervisor telling us the connection is closed */ scsi_block_requests(hostdata->host); - atomic_set(&hostdata->request_limit, 0); + ibmvscsi_set_request_limit(hostdata, 0); if (crq->format == 0x06) { /* We need to re-setup the interpartition connection */ dev_info(hostdata->dev, "Re-enabling adapter!\n"); @@ -2137,12 +2153,12 @@ } hostdata->action = IBMVSCSI_HOST_ACTION_NONE; + spin_unlock_irqrestore(hostdata->host->host_lock, flags); if (rc) { - atomic_set(&hostdata->request_limit, -1); + ibmvscsi_set_request_limit(hostdata, -1); dev_err(hostdata->dev, "error after %s\n", action); } - spin_unlock_irqrestore(hostdata->host->host_lock, flags); scsi_unblock_requests(hostdata->host); } @@ -2226,7 +2242,7 @@ init_waitqueue_head(&hostdata->work_wait_q); hostdata->host = host; hostdata->dev = dev; - atomic_set(&hostdata->request_limit, -1); + ibmvscsi_set_request_limit(hostdata, -1); hostdata->host->max_sectors = IBMVSCSI_MAX_SECTORS_DEFAULT; if (map_persist_bufs(hostdata)) { --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/iscsi_tcp.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/iscsi_tcp.c @@ -736,6 +736,7 @@ struct iscsi_tcp_conn *tcp_conn = conn->dd_data; struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; struct sockaddr_in6 addr; + struct socket *sock; int rc; switch(param) { @@ -747,13 +748,17 @@ spin_unlock_bh(&conn->session->frwd_lock); return -ENOTCONN; } + sock = tcp_sw_conn->sock; + sock_hold(sock->sk); + spin_unlock_bh(&conn->session->frwd_lock); + if (param == ISCSI_PARAM_LOCAL_PORT) - rc = kernel_getsockname(tcp_sw_conn->sock, + rc = kernel_getsockname(sock, (struct sockaddr *)&addr); else - rc = kernel_getpeername(tcp_sw_conn->sock, + rc = kernel_getpeername(sock, (struct sockaddr *)&addr); - spin_unlock_bh(&conn->session->frwd_lock); + sock_put(sock->sk); if (rc < 0) return rc; @@ -775,6 +780,7 @@ struct iscsi_tcp_conn *tcp_conn; struct iscsi_sw_tcp_conn *tcp_sw_conn; struct sockaddr_in6 addr; + struct socket *sock; int rc; switch (param) { @@ -789,16 +795,18 @@ return -ENOTCONN; } tcp_conn = conn->dd_data; - tcp_sw_conn = tcp_conn->dd_data; - if (!tcp_sw_conn->sock) { + sock = tcp_sw_conn->sock; + if (!sock) { spin_unlock_bh(&session->frwd_lock); return -ENOTCONN; } + sock_hold(sock->sk); + spin_unlock_bh(&session->frwd_lock); - rc = kernel_getsockname(tcp_sw_conn->sock, + rc = kernel_getsockname(sock, (struct sockaddr *)&addr); - spin_unlock_bh(&session->frwd_lock); + sock_put(sock->sk); if (rc < 0) return rc; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libfc/fc_disc.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libfc/fc_disc.c @@ -581,8 +581,12 @@ if (PTR_ERR(fp) == -FC_EX_CLOSED) goto out; - if (IS_ERR(fp)) - goto redisc; + if (IS_ERR(fp)) { + mutex_lock(&disc->disc_mutex); + fc_disc_restart(disc); + mutex_unlock(&disc->disc_mutex); + goto out; + } cp = fc_frame_payload_get(fp, sizeof(*cp)); if (!cp) @@ -609,7 +613,7 @@ new_rdata->disc_id = disc->disc_id; fc_rport_login(new_rdata); } - goto out; + goto free_fp; } rdata->disc_id = disc->disc_id; mutex_unlock(&rdata->rp_mutex); @@ -626,10 +630,10 @@ fc_disc_restart(disc); mutex_unlock(&disc->disc_mutex); } +free_fp: + fc_frame_free(fp); out: kref_put(&rdata->kref, fc_rport_destroy); - if (!IS_ERR(fp)) - fc_frame_free(fp); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libfc/fc_exch.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libfc/fc_exch.c @@ -1619,8 +1619,13 @@ rc = fc_exch_done_locked(ep); WARN_ON(fc_seq_exch(sp) != ep); spin_unlock_bh(&ep->ex_lock); - if (!rc) + if (!rc) { fc_exch_delete(ep); + } else { + FC_EXCH_DBG(ep, "ep is completed already," + "hence skip calling the resp\n"); + goto skip_resp; + } } /* @@ -1639,6 +1644,7 @@ if (!fc_invoke_resp(ep, sp, fp)) fc_frame_free(fp); +skip_resp: fc_exch_release(ep); return; rel: @@ -1895,10 +1901,16 @@ fc_exch_hold(ep); - if (!rc) + if (!rc) { fc_exch_delete(ep); + } else { + FC_EXCH_DBG(ep, "ep is completed already," + "hence skip calling the resp\n"); + goto skip_resp; + } fc_invoke_resp(ep, sp, ERR_PTR(-FC_EX_CLOSED)); +skip_resp: fc_seq_set_resp(sp, NULL, ep->arg); fc_exch_release(ep); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libiscsi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libiscsi.c @@ -533,8 +533,8 @@ if (conn->task == task) conn->task = NULL; - if (conn->ping_task == task) - conn->ping_task = NULL; + if (READ_ONCE(conn->ping_task) == task) + WRITE_ONCE(conn->ping_task, NULL); /* release get from queueing */ __iscsi_put_task(task); @@ -738,6 +738,9 @@ task->conn->session->age); } + if (unlikely(READ_ONCE(conn->ping_task) == INVALID_SCSI_TASK)) + WRITE_ONCE(conn->ping_task, task); + if (!ihost->workq) { if (iscsi_prep_mgmt_task(conn, task)) goto free_task; @@ -941,8 +944,11 @@ struct iscsi_nopout hdr; struct iscsi_task *task; - if (!rhdr && conn->ping_task) - return -EINVAL; + if (!rhdr) { + if (READ_ONCE(conn->ping_task)) + return -EINVAL; + WRITE_ONCE(conn->ping_task, INVALID_SCSI_TASK); + } memset(&hdr, 0, sizeof(struct iscsi_nopout)); hdr.opcode = ISCSI_OP_NOOP_OUT | ISCSI_OP_IMMEDIATE; @@ -957,11 +963,12 @@ task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)&hdr, NULL, 0); if (!task) { + if (!rhdr) + WRITE_ONCE(conn->ping_task, NULL); iscsi_conn_printk(KERN_ERR, conn, "Could not send nopout\n"); return -EIO; } else if (!rhdr) { /* only track our nops */ - conn->ping_task = task; conn->last_ping = jiffies; } @@ -984,7 +991,7 @@ struct iscsi_conn *conn = task->conn; int rc = 0; - if (conn->ping_task != task) { + if (READ_ONCE(conn->ping_task) != task) { /* * If this is not in response to one of our * nops then it must be from userspace. @@ -1525,14 +1532,9 @@ } rc = iscsi_prep_scsi_cmd_pdu(conn->task); if (rc) { - if (rc == -ENOMEM || rc == -EACCES) { - spin_lock_bh(&conn->taskqueuelock); - list_add_tail(&conn->task->running, - &conn->cmdqueue); - conn->task = NULL; - spin_unlock_bh(&conn->taskqueuelock); - goto done; - } else + if (rc == -ENOMEM || rc == -EACCES) + fail_scsi_task(conn->task, DID_IMM_RETRY); + else fail_scsi_task(conn->task, DID_ABORT); spin_lock_bh(&conn->taskqueuelock); continue; @@ -1923,7 +1925,7 @@ */ static int iscsi_has_ping_timed_out(struct iscsi_conn *conn) { - if (conn->ping_task && + if (READ_ONCE(conn->ping_task) && time_before_eq(conn->last_recv + (conn->recv_timeout * HZ) + (conn->ping_timeout * HZ), jiffies)) return 1; @@ -2058,7 +2060,7 @@ * Checking the transport already or nop from a cmd timeout still * running */ - if (conn->ping_task) { + if (READ_ONCE(conn->ping_task)) { task->have_checked_conn = true; rc = BLK_EH_RESET_TIMER; goto done; @@ -3331,125 +3333,125 @@ switch(param) { case ISCSI_PARAM_FAST_ABORT: - len = sprintf(buf, "%d\n", session->fast_abort); + len = sysfs_emit(buf, "%d\n", session->fast_abort); break; case ISCSI_PARAM_ABORT_TMO: - len = sprintf(buf, "%d\n", session->abort_timeout); + len = sysfs_emit(buf, "%d\n", session->abort_timeout); break; case ISCSI_PARAM_LU_RESET_TMO: - len = sprintf(buf, "%d\n", session->lu_reset_timeout); + len = sysfs_emit(buf, "%d\n", session->lu_reset_timeout); break; case ISCSI_PARAM_TGT_RESET_TMO: - len = sprintf(buf, "%d\n", session->tgt_reset_timeout); + len = sysfs_emit(buf, "%d\n", session->tgt_reset_timeout); break; case ISCSI_PARAM_INITIAL_R2T_EN: - len = sprintf(buf, "%d\n", session->initial_r2t_en); + len = sysfs_emit(buf, "%d\n", session->initial_r2t_en); break; case ISCSI_PARAM_MAX_R2T: - len = sprintf(buf, "%hu\n", session->max_r2t); + len = sysfs_emit(buf, "%hu\n", session->max_r2t); break; case ISCSI_PARAM_IMM_DATA_EN: - len = sprintf(buf, "%d\n", session->imm_data_en); + len = sysfs_emit(buf, "%d\n", session->imm_data_en); break; case ISCSI_PARAM_FIRST_BURST: - len = sprintf(buf, "%u\n", session->first_burst); + len = sysfs_emit(buf, "%u\n", session->first_burst); break; case ISCSI_PARAM_MAX_BURST: - len = sprintf(buf, "%u\n", session->max_burst); + len = sysfs_emit(buf, "%u\n", session->max_burst); break; case ISCSI_PARAM_PDU_INORDER_EN: - len = sprintf(buf, "%d\n", session->pdu_inorder_en); + len = sysfs_emit(buf, "%d\n", session->pdu_inorder_en); break; case ISCSI_PARAM_DATASEQ_INORDER_EN: - len = sprintf(buf, "%d\n", session->dataseq_inorder_en); + len = sysfs_emit(buf, "%d\n", session->dataseq_inorder_en); break; case ISCSI_PARAM_DEF_TASKMGMT_TMO: - len = sprintf(buf, "%d\n", session->def_taskmgmt_tmo); + len = sysfs_emit(buf, "%d\n", session->def_taskmgmt_tmo); break; case ISCSI_PARAM_ERL: - len = sprintf(buf, "%d\n", session->erl); + len = sysfs_emit(buf, "%d\n", session->erl); break; case ISCSI_PARAM_TARGET_NAME: - len = sprintf(buf, "%s\n", session->targetname); + len = sysfs_emit(buf, "%s\n", session->targetname); break; case ISCSI_PARAM_TARGET_ALIAS: - len = sprintf(buf, "%s\n", session->targetalias); + len = sysfs_emit(buf, "%s\n", session->targetalias); break; case ISCSI_PARAM_TPGT: - len = sprintf(buf, "%d\n", session->tpgt); + len = sysfs_emit(buf, "%d\n", session->tpgt); break; case ISCSI_PARAM_USERNAME: - len = sprintf(buf, "%s\n", session->username); + len = sysfs_emit(buf, "%s\n", session->username); break; case ISCSI_PARAM_USERNAME_IN: - len = sprintf(buf, "%s\n", session->username_in); + len = sysfs_emit(buf, "%s\n", session->username_in); break; case ISCSI_PARAM_PASSWORD: - len = sprintf(buf, "%s\n", session->password); + len = sysfs_emit(buf, "%s\n", session->password); break; case ISCSI_PARAM_PASSWORD_IN: - len = sprintf(buf, "%s\n", session->password_in); + len = sysfs_emit(buf, "%s\n", session->password_in); break; case ISCSI_PARAM_IFACE_NAME: - len = sprintf(buf, "%s\n", session->ifacename); + len = sysfs_emit(buf, "%s\n", session->ifacename); break; case ISCSI_PARAM_INITIATOR_NAME: - len = sprintf(buf, "%s\n", session->initiatorname); + len = sysfs_emit(buf, "%s\n", session->initiatorname); break; case ISCSI_PARAM_BOOT_ROOT: - len = sprintf(buf, "%s\n", session->boot_root); + len = sysfs_emit(buf, "%s\n", session->boot_root); break; case ISCSI_PARAM_BOOT_NIC: - len = sprintf(buf, "%s\n", session->boot_nic); + len = sysfs_emit(buf, "%s\n", session->boot_nic); break; case ISCSI_PARAM_BOOT_TARGET: - len = sprintf(buf, "%s\n", session->boot_target); + len = sysfs_emit(buf, "%s\n", session->boot_target); break; case ISCSI_PARAM_AUTO_SND_TGT_DISABLE: - len = sprintf(buf, "%u\n", session->auto_snd_tgt_disable); + len = sysfs_emit(buf, "%u\n", session->auto_snd_tgt_disable); break; case ISCSI_PARAM_DISCOVERY_SESS: - len = sprintf(buf, "%u\n", session->discovery_sess); + len = sysfs_emit(buf, "%u\n", session->discovery_sess); break; case ISCSI_PARAM_PORTAL_TYPE: - len = sprintf(buf, "%s\n", session->portal_type); + len = sysfs_emit(buf, "%s\n", session->portal_type); break; case ISCSI_PARAM_CHAP_AUTH_EN: - len = sprintf(buf, "%u\n", session->chap_auth_en); + len = sysfs_emit(buf, "%u\n", session->chap_auth_en); break; case ISCSI_PARAM_DISCOVERY_LOGOUT_EN: - len = sprintf(buf, "%u\n", session->discovery_logout_en); + len = sysfs_emit(buf, "%u\n", session->discovery_logout_en); break; case ISCSI_PARAM_BIDI_CHAP_EN: - len = sprintf(buf, "%u\n", session->bidi_chap_en); + len = sysfs_emit(buf, "%u\n", session->bidi_chap_en); break; case ISCSI_PARAM_DISCOVERY_AUTH_OPTIONAL: - len = sprintf(buf, "%u\n", session->discovery_auth_optional); + len = sysfs_emit(buf, "%u\n", session->discovery_auth_optional); break; case ISCSI_PARAM_DEF_TIME2WAIT: - len = sprintf(buf, "%d\n", session->time2wait); + len = sysfs_emit(buf, "%d\n", session->time2wait); break; case ISCSI_PARAM_DEF_TIME2RETAIN: - len = sprintf(buf, "%d\n", session->time2retain); + len = sysfs_emit(buf, "%d\n", session->time2retain); break; case ISCSI_PARAM_TSID: - len = sprintf(buf, "%u\n", session->tsid); + len = sysfs_emit(buf, "%u\n", session->tsid); break; case ISCSI_PARAM_ISID: - len = sprintf(buf, "%02x%02x%02x%02x%02x%02x\n", + len = sysfs_emit(buf, "%02x%02x%02x%02x%02x%02x\n", session->isid[0], session->isid[1], session->isid[2], session->isid[3], session->isid[4], session->isid[5]); break; case ISCSI_PARAM_DISCOVERY_PARENT_IDX: - len = sprintf(buf, "%u\n", session->discovery_parent_idx); + len = sysfs_emit(buf, "%u\n", session->discovery_parent_idx); break; case ISCSI_PARAM_DISCOVERY_PARENT_TYPE: if (session->discovery_parent_type) - len = sprintf(buf, "%s\n", + len = sysfs_emit(buf, "%s\n", session->discovery_parent_type); else - len = sprintf(buf, "\n"); + len = sysfs_emit(buf, "\n"); break; default: return -ENOSYS; @@ -3481,16 +3483,16 @@ case ISCSI_PARAM_CONN_ADDRESS: case ISCSI_HOST_PARAM_IPADDRESS: if (sin) - len = sprintf(buf, "%pI4\n", &sin->sin_addr.s_addr); + len = sysfs_emit(buf, "%pI4\n", &sin->sin_addr.s_addr); else - len = sprintf(buf, "%pI6\n", &sin6->sin6_addr); + len = sysfs_emit(buf, "%pI6\n", &sin6->sin6_addr); break; case ISCSI_PARAM_CONN_PORT: case ISCSI_PARAM_LOCAL_PORT: if (sin) - len = sprintf(buf, "%hu\n", be16_to_cpu(sin->sin_port)); + len = sysfs_emit(buf, "%hu\n", be16_to_cpu(sin->sin_port)); else - len = sprintf(buf, "%hu\n", + len = sysfs_emit(buf, "%hu\n", be16_to_cpu(sin6->sin6_port)); break; default: @@ -3509,88 +3511,88 @@ switch(param) { case ISCSI_PARAM_PING_TMO: - len = sprintf(buf, "%u\n", conn->ping_timeout); + len = sysfs_emit(buf, "%u\n", conn->ping_timeout); break; case ISCSI_PARAM_RECV_TMO: - len = sprintf(buf, "%u\n", conn->recv_timeout); + len = sysfs_emit(buf, "%u\n", conn->recv_timeout); break; case ISCSI_PARAM_MAX_RECV_DLENGTH: - len = sprintf(buf, "%u\n", conn->max_recv_dlength); + len = sysfs_emit(buf, "%u\n", conn->max_recv_dlength); break; case ISCSI_PARAM_MAX_XMIT_DLENGTH: - len = sprintf(buf, "%u\n", conn->max_xmit_dlength); + len = sysfs_emit(buf, "%u\n", conn->max_xmit_dlength); break; case ISCSI_PARAM_HDRDGST_EN: - len = sprintf(buf, "%d\n", conn->hdrdgst_en); + len = sysfs_emit(buf, "%d\n", conn->hdrdgst_en); break; case ISCSI_PARAM_DATADGST_EN: - len = sprintf(buf, "%d\n", conn->datadgst_en); + len = sysfs_emit(buf, "%d\n", conn->datadgst_en); break; case ISCSI_PARAM_IFMARKER_EN: - len = sprintf(buf, "%d\n", conn->ifmarker_en); + len = sysfs_emit(buf, "%d\n", conn->ifmarker_en); break; case ISCSI_PARAM_OFMARKER_EN: - len = sprintf(buf, "%d\n", conn->ofmarker_en); + len = sysfs_emit(buf, "%d\n", conn->ofmarker_en); break; case ISCSI_PARAM_EXP_STATSN: - len = sprintf(buf, "%u\n", conn->exp_statsn); + len = sysfs_emit(buf, "%u\n", conn->exp_statsn); break; case ISCSI_PARAM_PERSISTENT_PORT: - len = sprintf(buf, "%d\n", conn->persistent_port); + len = sysfs_emit(buf, "%d\n", conn->persistent_port); break; case ISCSI_PARAM_PERSISTENT_ADDRESS: - len = sprintf(buf, "%s\n", conn->persistent_address); + len = sysfs_emit(buf, "%s\n", conn->persistent_address); break; case ISCSI_PARAM_STATSN: - len = sprintf(buf, "%u\n", conn->statsn); + len = sysfs_emit(buf, "%u\n", conn->statsn); break; case ISCSI_PARAM_MAX_SEGMENT_SIZE: - len = sprintf(buf, "%u\n", conn->max_segment_size); + len = sysfs_emit(buf, "%u\n", conn->max_segment_size); break; case ISCSI_PARAM_KEEPALIVE_TMO: - len = sprintf(buf, "%u\n", conn->keepalive_tmo); + len = sysfs_emit(buf, "%u\n", conn->keepalive_tmo); break; case ISCSI_PARAM_LOCAL_PORT: - len = sprintf(buf, "%u\n", conn->local_port); + len = sysfs_emit(buf, "%u\n", conn->local_port); break; case ISCSI_PARAM_TCP_TIMESTAMP_STAT: - len = sprintf(buf, "%u\n", conn->tcp_timestamp_stat); + len = sysfs_emit(buf, "%u\n", conn->tcp_timestamp_stat); break; case ISCSI_PARAM_TCP_NAGLE_DISABLE: - len = sprintf(buf, "%u\n", conn->tcp_nagle_disable); + len = sysfs_emit(buf, "%u\n", conn->tcp_nagle_disable); break; case ISCSI_PARAM_TCP_WSF_DISABLE: - len = sprintf(buf, "%u\n", conn->tcp_wsf_disable); + len = sysfs_emit(buf, "%u\n", conn->tcp_wsf_disable); break; case ISCSI_PARAM_TCP_TIMER_SCALE: - len = sprintf(buf, "%u\n", conn->tcp_timer_scale); + len = sysfs_emit(buf, "%u\n", conn->tcp_timer_scale); break; case ISCSI_PARAM_TCP_TIMESTAMP_EN: - len = sprintf(buf, "%u\n", conn->tcp_timestamp_en); + len = sysfs_emit(buf, "%u\n", conn->tcp_timestamp_en); break; case ISCSI_PARAM_IP_FRAGMENT_DISABLE: - len = sprintf(buf, "%u\n", conn->fragment_disable); + len = sysfs_emit(buf, "%u\n", conn->fragment_disable); break; case ISCSI_PARAM_IPV4_TOS: - len = sprintf(buf, "%u\n", conn->ipv4_tos); + len = sysfs_emit(buf, "%u\n", conn->ipv4_tos); break; case ISCSI_PARAM_IPV6_TC: - len = sprintf(buf, "%u\n", conn->ipv6_traffic_class); + len = sysfs_emit(buf, "%u\n", conn->ipv6_traffic_class); break; case ISCSI_PARAM_IPV6_FLOW_LABEL: - len = sprintf(buf, "%u\n", conn->ipv6_flow_label); + len = sysfs_emit(buf, "%u\n", conn->ipv6_flow_label); break; case ISCSI_PARAM_IS_FW_ASSIGNED_IPV6: - len = sprintf(buf, "%u\n", conn->is_fw_assigned_ipv6); + len = sysfs_emit(buf, "%u\n", conn->is_fw_assigned_ipv6); break; case ISCSI_PARAM_TCP_XMIT_WSF: - len = sprintf(buf, "%u\n", conn->tcp_xmit_wsf); + len = sysfs_emit(buf, "%u\n", conn->tcp_xmit_wsf); break; case ISCSI_PARAM_TCP_RECV_WSF: - len = sprintf(buf, "%u\n", conn->tcp_recv_wsf); + len = sysfs_emit(buf, "%u\n", conn->tcp_recv_wsf); break; case ISCSI_PARAM_LOCAL_IPADDR: - len = sprintf(buf, "%s\n", conn->local_ipaddr); + len = sysfs_emit(buf, "%s\n", conn->local_ipaddr); break; default: return -ENOSYS; @@ -3608,13 +3610,13 @@ switch (param) { case ISCSI_HOST_PARAM_NETDEV_NAME: - len = sprintf(buf, "%s\n", ihost->netdev); + len = sysfs_emit(buf, "%s\n", ihost->netdev); break; case ISCSI_HOST_PARAM_HWADDRESS: - len = sprintf(buf, "%s\n", ihost->hwaddress); + len = sysfs_emit(buf, "%s\n", ihost->hwaddress); break; case ISCSI_HOST_PARAM_INITIATOR_NAME: - len = sprintf(buf, "%s\n", ihost->initiatorname); + len = sysfs_emit(buf, "%s\n", ihost->initiatorname); break; default: return -ENOSYS; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libsas/sas_ata.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libsas/sas_ata.c @@ -201,15 +201,17 @@ memcpy(task->ata_task.atapi_packet, qc->cdb, qc->dev->cdb_len); task->total_xfer_len = qc->nbytes; task->num_scatter = qc->n_elem; + task->data_dir = qc->dma_dir; + } else if (qc->tf.protocol == ATA_PROT_NODATA) { + task->data_dir = DMA_NONE; } else { for_each_sg(qc->sg, sg, qc->n_elem, si) xfer += sg_dma_len(sg); task->total_xfer_len = xfer; task->num_scatter = si; + task->data_dir = qc->dma_dir; } - - task->data_dir = qc->dma_dir; task->scatter = qc->sg; task->ata_task.retry_count = 1; task->task_state_flags = SAS_TASK_STATE_PENDING; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libsas/sas_discover.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libsas/sas_discover.c @@ -182,10 +182,11 @@ pr_warn("driver on host %s cannot handle device %016llx, error:%d\n", dev_name(sas_ha->dev), SAS_ADDR(dev->sas_addr), res); + return res; } set_bit(SAS_DEV_FOUND, &dev->state); kref_get(&dev->kref); - return res; + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/libsas/sas_scsi_host.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/libsas/sas_scsi_host.c @@ -466,6 +466,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-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_debugfs.c @@ -2426,7 +2426,7 @@ memset(dstbuf, 0, 33); size = (nbytes < 32) ? nbytes : 32; if (copy_from_user(dstbuf, buf, size)) - return 0; + return -EFAULT; if (dent == phba->debug_InjErrLBA) { if ((dstbuf[0] == 'o') && (dstbuf[1] == 'f') && @@ -2435,7 +2435,7 @@ } if ((tmp == 0) && (kstrtoull(dstbuf, 0, &tmp))) - return 0; + return -EINVAL; if (dent == phba->debug_writeGuard) phba->lpfc_injerr_wgrd_cnt = (uint32_t)tmp; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_els.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_els.c @@ -3512,6 +3512,9 @@ FC_TLV_DESC_LENGTH_FROM_SZ(prdf->reg_d1)); prdf->reg_d1.reg_desc.count = cpu_to_be32(ELS_RDF_REG_TAG_CNT); prdf->reg_d1.desc_tags[0] = cpu_to_be32(ELS_DTAG_LNK_INTEGRITY); + prdf->reg_d1.desc_tags[1] = cpu_to_be32(ELS_DTAG_DELIVERY); + prdf->reg_d1.desc_tags[2] = cpu_to_be32(ELS_DTAG_PEER_CONGEST); + prdf->reg_d1.desc_tags[3] = cpu_to_be32(ELS_DTAG_CONGESTION); lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_ELS_CMD, "Issue RDF: did:x%x", @@ -4644,7 +4647,9 @@ out: if (ndlp && NLP_CHK_NODE_ACT(ndlp) && shost) { spin_lock_irq(shost->host_lock); - ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI); + if (mbox) + ndlp->nlp_flag &= ~NLP_ACC_REGLOGIN; + ndlp->nlp_flag &= ~NLP_RM_DFLT_RPI; spin_unlock_irq(shost->host_lock); /* If the node is not being used by another discovery thread, --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_hbadisc.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_hbadisc.c @@ -71,6 +71,7 @@ static void lpfc_disc_flush_list(struct lpfc_vport *vport); static void lpfc_unregister_fcfi_cmpl(struct lpfc_hba *, LPFC_MBOXQ_t *); static int lpfc_fcf_inuse(struct lpfc_hba *); +static void lpfc_mbx_cmpl_read_sparam(struct lpfc_hba *, LPFC_MBOXQ_t *); void lpfc_terminate_rport_io(struct fc_rport *rport) @@ -1138,11 +1139,13 @@ return; } - void lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) { struct lpfc_vport *vport = pmb->vport; + LPFC_MBOXQ_t *sparam_mb; + struct lpfc_dmabuf *sparam_mp; + int rc; if (pmb->u.mb.mbxStatus) goto out; @@ -1167,12 +1170,42 @@ } /* Start discovery by sending a FLOGI. port_state is identically - * LPFC_FLOGI while waiting for FLOGI cmpl. Check if sending - * the FLOGI is being deferred till after MBX_READ_SPARAM completes. + * LPFC_FLOGI while waiting for FLOGI cmpl. */ if (vport->port_state != LPFC_FLOGI) { - if (!(phba->hba_flag & HBA_DEFER_FLOGI)) + /* Issue MBX_READ_SPARAM to update CSPs before FLOGI if + * bb-credit recovery is in place. + */ + if (phba->bbcredit_support && phba->cfg_enable_bbcr && + !(phba->link_flag & LS_LOOPBACK_MODE)) { + sparam_mb = mempool_alloc(phba->mbox_mem_pool, + GFP_KERNEL); + if (!sparam_mb) + goto sparam_out; + + rc = lpfc_read_sparam(phba, sparam_mb, 0); + if (rc) { + mempool_free(sparam_mb, phba->mbox_mem_pool); + goto sparam_out; + } + sparam_mb->vport = vport; + sparam_mb->mbox_cmpl = lpfc_mbx_cmpl_read_sparam; + rc = lpfc_sli_issue_mbox(phba, sparam_mb, MBX_NOWAIT); + if (rc == MBX_NOT_FINISHED) { + sparam_mp = (struct lpfc_dmabuf *) + sparam_mb->ctx_buf; + lpfc_mbuf_free(phba, sparam_mp->virt, + sparam_mp->phys); + kfree(sparam_mp); + sparam_mb->ctx_buf = NULL; + mempool_free(sparam_mb, phba->mbox_mem_pool); + goto sparam_out; + } + + phba->hba_flag |= HBA_DEFER_FLOGI; + } else { lpfc_initial_flogi(vport); + } } else { if (vport->fc_flag & FC_PT2PT) lpfc_disc_start(vport); @@ -1184,6 +1217,7 @@ "0306 CONFIG_LINK mbxStatus error x%x " "HBA state x%x\n", pmb->u.mb.mbxStatus, vport->port_state); +sparam_out: mempool_free(pmb, phba->mbox_mem_pool); lpfc_linkdown(phba); @@ -3239,21 +3273,6 @@ lpfc_linkup(phba); sparam_mbox = NULL; - if (!(phba->hba_flag & HBA_FCOE_MODE)) { - cfglink_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); - if (!cfglink_mbox) - goto out; - vport->port_state = LPFC_LOCAL_CFG_LINK; - lpfc_config_link(phba, cfglink_mbox); - cfglink_mbox->vport = vport; - cfglink_mbox->mbox_cmpl = lpfc_mbx_cmpl_local_config_link; - rc = lpfc_sli_issue_mbox(phba, cfglink_mbox, MBX_NOWAIT); - if (rc == MBX_NOT_FINISHED) { - mempool_free(cfglink_mbox, phba->mbox_mem_pool); - goto out; - } - } - sparam_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); if (!sparam_mbox) goto out; @@ -3274,7 +3293,20 @@ goto out; } - if (phba->hba_flag & HBA_FCOE_MODE) { + if (!(phba->hba_flag & HBA_FCOE_MODE)) { + cfglink_mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); + if (!cfglink_mbox) + goto out; + vport->port_state = LPFC_LOCAL_CFG_LINK; + lpfc_config_link(phba, cfglink_mbox); + cfglink_mbox->vport = vport; + cfglink_mbox->mbox_cmpl = lpfc_mbx_cmpl_local_config_link; + rc = lpfc_sli_issue_mbox(phba, cfglink_mbox, MBX_NOWAIT); + if (rc == MBX_NOT_FINISHED) { + mempool_free(cfglink_mbox, phba->mbox_mem_pool); + goto out; + } + } else { vport->port_state = LPFC_VPORT_UNKNOWN; /* * Add the driver's default FCF record at FCF index 0 now. This @@ -3331,10 +3363,6 @@ } /* Reset FCF roundrobin bmask for new discovery */ lpfc_sli4_clear_fcf_rr_bmask(phba); - } else { - if (phba->bbcredit_support && phba->cfg_enable_bbcr && - !(phba->link_flag & LS_LOOPBACK_MODE)) - phba->hba_flag |= HBA_DEFER_FLOGI; } /* Prepare for LINK up registrations */ --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_hw4.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_hw4.h @@ -4797,7 +4797,7 @@ uint32_t fc_hdr_wd5; /* word 15 */ }; -#define ELS_RDF_REG_TAG_CNT 1 +#define ELS_RDF_REG_TAG_CNT 4 struct lpfc_els_rdf_reg_desc { struct fc_df_desc_fpin_reg reg_desc; /* descriptor header */ __be32 desc_tags[ELS_RDF_REG_TAG_CNT]; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_init.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_init.c @@ -11257,7 +11257,6 @@ { cpumask_clear(&eqhdl->aff_mask); irq_clear_status_flags(eqhdl->irq, IRQ_NO_BALANCING); - irq_set_affinity_hint(eqhdl->irq, &eqhdl->aff_mask); } /** --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_mem.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_mem.c @@ -586,8 +586,6 @@ * Description: Allocates a DMA-mapped receive buffer from the lpfc_hrb_pool PCI * pool along a non-DMA-mapped container for it. * - * Notes: Not interrupt-safe. Must be called with no locks held. - * * Returns: * pointer to HBQ on success * NULL on failure @@ -597,7 +595,7 @@ { struct rqb_dmabuf *dma_buf; - dma_buf = kzalloc(sizeof(struct rqb_dmabuf), GFP_KERNEL); + dma_buf = kzalloc(sizeof(*dma_buf), GFP_KERNEL); if (!dma_buf) return NULL; @@ -720,7 +718,6 @@ drqe.address_hi = putPaddrHigh(rqb_entry->dbuf.phys); rc = lpfc_sli4_rq_put(rqb_entry->hrq, rqb_entry->drq, &hrqe, &drqe); if (rc < 0) { - (rqbp->rqb_free_buffer)(phba, rqb_entry); lpfc_printf_log(phba, KERN_ERR, LOG_INIT, "6409 Cannot post to HRQ %d: %x %x %x " "DRQ %x %x\n", @@ -730,6 +727,7 @@ rqb_entry->hrq->entry_count, rqb_entry->drq->host_index, rqb_entry->drq->hba_index); + (rqbp->rqb_free_buffer)(phba, rqb_entry); } else { list_add_tail(&rqb_entry->hbuf.list, &rqbp->rqb_buffer_list); rqbp->buffer_count++; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_nvme.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_nvme.c @@ -713,6 +713,9 @@ return -ENODEV; } + if (!vport->phba->sli4_hba.nvmels_wq) + return -ENOMEM; + /* * there are two dma buf in the request, actually there is one and * the second one is just the start address + cmd size. --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_nvmet.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_nvmet.c @@ -2112,7 +2112,7 @@ } tgtp->tport_unreg_cmp = &tport_unreg_cmp; nvmet_fc_unregister_targetport(phba->targetport); - if (!wait_for_completion_timeout(tgtp->tport_unreg_cmp, + if (!wait_for_completion_timeout(&tport_unreg_cmp, msecs_to_jiffies(LPFC_NVMET_WAIT_TMO))) lpfc_printf_log(phba, KERN_ERR, LOG_NVME, "6179 Unreg targetport x%px timeout " --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_sli.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_sli.c @@ -7254,12 +7254,16 @@ struct rqb_dmabuf *rqb_buffer; LIST_HEAD(rqb_buf_list); - spin_lock_irqsave(&phba->hbalock, flags); rqbp = hrq->rqbp; for (i = 0; i < count; i++) { + spin_lock_irqsave(&phba->hbalock, flags); /* IF RQ is already full, don't bother */ - if (rqbp->buffer_count + i >= rqbp->entry_count - 1) + if (rqbp->buffer_count + i >= rqbp->entry_count - 1) { + spin_unlock_irqrestore(&phba->hbalock, flags); break; + } + spin_unlock_irqrestore(&phba->hbalock, flags); + rqb_buffer = rqbp->rqb_alloc_buffer(phba); if (!rqb_buffer) break; @@ -7268,6 +7272,8 @@ rqb_buffer->idx = idx; list_add_tail(&rqb_buffer->hbuf.list, &rqb_buf_list); } + + spin_lock_irqsave(&phba->hbalock, flags); while (!list_empty(&rqb_buf_list)) { list_remove_head(&rqb_buf_list, rqb_buffer, struct rqb_dmabuf, hbuf.list); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/lpfc/lpfc_vport.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/lpfc/lpfc_vport.c @@ -642,27 +642,16 @@ vport->port_state < LPFC_VPORT_READY) return -EAGAIN; } + /* - * This is a bit of a mess. We want to ensure the shost doesn't get - * torn down until we're done with the embedded lpfc_vport structure. - * - * Beyond holding a reference for this function, we also need a - * reference for outstanding I/O requests we schedule during delete - * processing. But once we scsi_remove_host() we can no longer obtain - * a reference through scsi_host_get(). - * - * So we take two references here. We release one reference at the - * bottom of the function -- after delinking the vport. And we - * release the other at the completion of the unreg_vpi that get's - * initiated after we've disposed of all other resources associated - * with the port. + * Take early refcount for outstanding I/O requests we schedule during + * delete processing for unreg_vpi. Always keep this before + * scsi_remove_host() as we can no longer obtain a reference through + * scsi_host_get() after scsi_host_remove as shost is set to SHOST_DEL. */ if (!scsi_host_get(shost)) return VPORT_INVAL; - if (!scsi_host_get(shost)) { - scsi_host_put(shost); - return VPORT_INVAL; - } + lpfc_free_sysfs_attr(vport); lpfc_debugfs_terminate(vport); @@ -809,8 +798,9 @@ if (!(vport->vpi_state & LPFC_VPI_REGISTERED) || lpfc_mbx_unreg_vpi(vport)) scsi_host_put(shost); - } else + } else { scsi_host_put(shost); + } lpfc_free_vpi(phba, vport->vpi); vport->work_port_events = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/megaraid/megaraid_sas_base.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/megaraid/megaraid_sas_base.c @@ -5602,9 +5602,13 @@ &instance->irq_context[i])) { dev_err(&instance->pdev->dev, "Failed to register IRQ for vector %d.\n", i); - for (j = 0; j < i; j++) + for (j = 0; j < i; j++) { + if (j < instance->low_latency_index_start) + irq_set_affinity_hint( + pci_irq_vector(pdev, j), NULL); free_irq(pci_irq_vector(pdev, j), &instance->irq_context[j]); + } /* Retry irq register for IO_APIC*/ instance->msix_vectors = 0; instance->msix_load_balance = false; @@ -5642,6 +5646,9 @@ if (instance->msix_vectors) for (i = 0; i < instance->msix_vectors; i++) { + if (i < instance->low_latency_index_start) + irq_set_affinity_hint( + pci_irq_vector(instance->pdev, i), NULL); free_irq(pci_irq_vector(instance->pdev, i), &instance->irq_context[i]); } @@ -8072,7 +8079,7 @@ int error = 0, i; void *sense = NULL; dma_addr_t sense_handle; - unsigned long *sense_ptr; + void *sense_ptr; u32 opcode = 0; int ret = DCMD_SUCCESS; @@ -8195,6 +8202,13 @@ } if (ioc->sense_len) { + /* make sure the pointer is part of the frame */ + if (ioc->sense_off > + (sizeof(union megasas_frame) - sizeof(__le64))) { + error = -EINVAL; + goto out; + } + sense = dma_alloc_coherent(&instance->pdev->dev, ioc->sense_len, &sense_handle, GFP_KERNEL); if (!sense) { @@ -8202,12 +8216,9 @@ goto out; } - sense_ptr = - (unsigned long *) ((unsigned long)cmd->frame + ioc->sense_off); - if (instance->consistent_mask_64bit) - *sense_ptr = cpu_to_le64(sense_handle); - else - *sense_ptr = cpu_to_le32(sense_handle); + /* always store 64 bits regardless of addressing */ + sense_ptr = (void *)cmd->frame + ioc->sense_off; + put_unaligned_le64(sense_handle, sense_ptr); } /* --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -3690,7 +3690,7 @@ instance = irq_ctx->instance; if (irq_ctx->irq_line_enable) { - disable_irq(irq_ctx->os_irq); + disable_irq_nosync(irq_ctx->os_irq); irq_ctx->irq_line_enable = false; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mesh.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mesh.c @@ -1045,6 +1045,8 @@ while ((in_8(&mr->bus_status1) & BS1_RST) != 0) udelay(1); printk("done\n"); + if (ms->dma_started) + halt_dma(ms); handle_reset(ms); /* request_q is empty, no point in mesh_start() */ return; @@ -1357,7 +1359,8 @@ ms->conn_tgt, ms->data_ptr, scsi_bufflen(cmd), ms->tgts[ms->conn_tgt].data_goes_out); } - scsi_dma_unmap(cmd); + if (cmd) + scsi_dma_unmap(cmd); ms->dma_started = 0; } @@ -1712,6 +1715,9 @@ spin_lock_irqsave(ms->host->host_lock, flags); + if (ms->dma_started) + halt_dma(ms); + /* Reset the controller & dbdma channel */ out_le32(&md->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* stop dma */ out_8(&mr->exception, 0xff); /* clear all exception bits */ --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mpt3sas/mpt3sas_base.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -1732,7 +1732,7 @@ reply_q = container_of(irqpoll, struct adapter_reply_queue, irqpoll); if (reply_q->irq_line_enable) { - disable_irq(reply_q->os_irq); + disable_irq_nosync(reply_q->os_irq); reply_q->irq_line_enable = false; } num_entries = _base_process_reply_queue(reply_q); @@ -1741,6 +1741,13 @@ reply_q->irq_poll_scheduled = false; reply_q->irq_line_enable = true; enable_irq(reply_q->os_irq); + /* + * Go for one more round of processing the + * reply descriptor post queue incase if HBA + * Firmware has posted some reply descriptors + * while reenabling the IRQ. + */ + _base_process_reply_queue(reply_q); } return num_entries; @@ -1808,18 +1815,22 @@ /* TMs are on msix_index == 0 */ if (reply_q->msix_index == 0) continue; + synchronize_irq(pci_irq_vector(ioc->pdev, reply_q->msix_index)); if (reply_q->irq_poll_scheduled) { /* Calling irq_poll_disable will wait for any pending * callbacks to have completed. */ irq_poll_disable(&reply_q->irqpoll); irq_poll_enable(&reply_q->irqpoll); - reply_q->irq_poll_scheduled = false; - reply_q->irq_line_enable = true; - enable_irq(reply_q->os_irq); - continue; + /* check how the scheduled poll has ended, + * clean up only if necessary + */ + if (reply_q->irq_poll_scheduled) { + reply_q->irq_poll_scheduled = false; + reply_q->irq_line_enable = true; + enable_irq(reply_q->os_irq); + } } - synchronize_irq(pci_irq_vector(ioc->pdev, reply_q->msix_index)); } } @@ -6428,7 +6439,7 @@ r = _base_handshake_req_reply_wait(ioc, sizeof(Mpi2IOCInitRequest_t), (u32 *)&mpi_request, - sizeof(Mpi2IOCInitReply_t), (u16 *)&mpi_reply, 10); + sizeof(Mpi2IOCInitReply_t), (u16 *)&mpi_reply, 30); if (r != 0) { ioc_err(ioc, "%s: handshake failed (r=%d)\n", __func__, r); @@ -7324,14 +7335,18 @@ ioc->pend_os_device_add_sz++; ioc->pend_os_device_add = kzalloc(ioc->pend_os_device_add_sz, GFP_KERNEL); - if (!ioc->pend_os_device_add) + if (!ioc->pend_os_device_add) { + r = -ENOMEM; goto out_free_resources; + } ioc->device_remove_in_progress_sz = ioc->pend_os_device_add_sz; ioc->device_remove_in_progress = kzalloc(ioc->device_remove_in_progress_sz, GFP_KERNEL); - if (!ioc->device_remove_in_progress) + if (!ioc->device_remove_in_progress) { + r = -ENOMEM; goto out_free_resources; + } ioc->fwfault_debug = mpt3sas_fwfault_debug; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mpt3sas/mpt3sas_base.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/mpt3sas/mpt3sas_base.h @@ -76,9 +76,9 @@ #define MPT3SAS_DRIVER_NAME "mpt3sas" #define MPT3SAS_AUTHOR "Avago Technologies " #define MPT3SAS_DESCRIPTION "LSI MPT Fusion SAS 3.0 Device Driver" -#define MPT3SAS_DRIVER_VERSION "34.100.00.00" -#define MPT3SAS_MAJOR_VERSION 34 -#define MPT3SAS_MINOR_VERSION 100 +#define MPT3SAS_DRIVER_VERSION "35.101.00.00" +#define MPT3SAS_MAJOR_VERSION 35 +#define MPT3SAS_MINOR_VERSION 101 #define MPT3SAS_BUILD_VERSION 0 #define MPT3SAS_RELEASE_VERSION 00 @@ -420,6 +420,7 @@ * @flags: MPT_TARGET_FLAGS_XXX flags * @deleted: target flaged for deletion * @tm_busy: target is busy with TM request. + * @port: hba port entry containing target's port number info * @sas_dev: The sas_device associated with this target * @pcie_dev: The pcie device associated with this target */ @@ -432,6 +433,7 @@ u32 flags; u8 deleted; u8 tm_busy; + struct hba_port *port; struct _sas_device *sas_dev; struct _pcie_device *pcie_dev; }; @@ -534,6 +536,9 @@ * addition routine. * @chassis_slot: chassis slot * @is_chassis_slot_valid: chassis slot valid or not + * @port: hba port entry containing device's port number info + * @rphy: device's sas_rphy address used to identify this device structure in + * target_alloc callback function */ struct _sas_device { struct list_head list; @@ -560,6 +565,8 @@ u8 is_chassis_slot_valid; u8 connector_name[5]; struct kref refcount; + struct hba_port *port; + struct sas_rphy *rphy; }; static inline void sas_device_get(struct _sas_device *s) @@ -730,6 +737,7 @@ * @remote_identify: attached device identification * @rphy: sas transport rphy object * @port: sas transport wide/narrow port object + * @hba_port: hba port entry containing port's port number info * @phy_list: _sas_phy list objects belonging to this port */ struct _sas_port { @@ -738,6 +746,7 @@ struct sas_identify remote_identify; struct sas_rphy *rphy; struct sas_port *port; + struct hba_port *hba_port; struct list_head phy_list; }; @@ -751,6 +760,7 @@ * @handle: device handle for this phy * @attached_handle: device handle for attached device * @phy_belongs_to_port: port has been created for this phy + * @port: hba port entry containing port number info */ struct _sas_phy { struct list_head port_siblings; @@ -761,6 +771,8 @@ u16 handle; u16 attached_handle; u8 phy_belongs_to_port; + u8 hba_vphy; + struct hba_port *port; }; /** @@ -776,6 +788,8 @@ * @responding: used in _scsih_expander_device_mark_responding * @phy: a list of phys that make up this sas_host/expander * @sas_port_list: list of ports attached to this sas_host/expander + * @port: hba port entry containing node's port number info + * @rphy: sas_rphy object of this expander */ struct _sas_node { struct list_head list; @@ -787,11 +801,12 @@ u16 enclosure_handle; u64 enclosure_logical_id; u8 responding; + struct hba_port *port; struct _sas_phy *phy; struct list_head sas_port_list; + struct sas_rphy *rphy; }; - /** * struct _enclosure_node - enclosure information * @list: list of enclosures @@ -1009,6 +1024,46 @@ dma_addr_t reply_post_free_dma; }; +/** + * struct virtual_phy - vSES phy structure + * sas_address: SAS Address of vSES device + * phy_mask: vSES device's phy number + * flags: flags used to manage this structure + */ +struct virtual_phy { + struct list_head list; + u64 sas_address; + u32 phy_mask; + u8 flags; +}; + +#define MPT_VPHY_FLAG_DIRTY_PHY 0x01 + +/** + * struct hba_port - Saves each HBA's Wide/Narrow port info + * @sas_address: sas address of this wide/narrow port's attached device + * @phy_mask: HBA PHY's belonging to this port + * @port_id: port number + * @flags: hba port flags + * @vphys_mask : mask of vSES devices Phy number + * @vphys_list : list containing vSES device structures + */ +struct hba_port { + struct list_head list; + u64 sas_address; + u32 phy_mask; + u8 port_id; + u8 flags; + u32 vphys_mask; + struct list_head vphys_list; +}; + +/* hba port flags */ +#define HBA_PORT_FLAG_DIRTY_PORT 0x01 +#define HBA_PORT_FLAG_NEW_PORT 0x02 + +#define MULTIPATH_DISABLED_PORT_ID 0xFF + typedef void (*MPT3SAS_FLUSH_RUNNING_CMDS)(struct MPT3SAS_ADAPTER *ioc); /** * struct MPT3SAS_ADAPTER - per adapter struct @@ -1189,6 +1244,8 @@ * which ensures the syncrhonization between cli/sysfs_show path. * @atomic_desc_capable: Atomic Request Descriptor support. * @GET_MSIX_INDEX: Get the msix index of high iops queues. + * @multipath_on_hba: flag to determine multipath on hba is enabled or not + * @port_table_list: list containing HBA's wide/narrow port's info */ struct MPT3SAS_ADAPTER { struct list_head list; @@ -1479,6 +1536,9 @@ PUT_SMID_IO_FP_HIP put_smid_hi_priority; PUT_SMID_DEFAULT put_smid_default; GET_MSIX_INDEX get_msix_index_for_smlio; + + u8 multipath_on_hba; + struct list_head port_table_list; }; struct mpt3sas_debugfs_buffer { @@ -1612,20 +1672,27 @@ void mpt3sas_scsih_set_tm_flag(struct MPT3SAS_ADAPTER *ioc, u16 handle); void mpt3sas_scsih_clear_tm_flag(struct MPT3SAS_ADAPTER *ioc, u16 handle); -void mpt3sas_expander_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address); +void mpt3sas_expander_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address, + struct hba_port *port); void mpt3sas_device_remove_by_sas_address(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address); + u64 sas_address, struct hba_port *port); u8 mpt3sas_check_for_pending_internal_cmds(struct MPT3SAS_ADAPTER *ioc, u16 smid); +struct hba_port * +mpt3sas_get_port_by_id(struct MPT3SAS_ADAPTER *ioc, u8 port, + u8 bypass_dirty_port_flag); struct _sas_node *mpt3sas_scsih_expander_find_by_handle( struct MPT3SAS_ADAPTER *ioc, u16 handle); struct _sas_node *mpt3sas_scsih_expander_find_by_sas_address( - struct MPT3SAS_ADAPTER *ioc, u64 sas_address); + struct MPT3SAS_ADAPTER *ioc, u64 sas_address, + struct hba_port *port); struct _sas_device *mpt3sas_get_sdev_by_addr( - struct MPT3SAS_ADAPTER *ioc, u64 sas_address); + struct MPT3SAS_ADAPTER *ioc, u64 sas_address, + struct hba_port *port); struct _sas_device *__mpt3sas_get_sdev_by_addr( - struct MPT3SAS_ADAPTER *ioc, u64 sas_address); + struct MPT3SAS_ADAPTER *ioc, u64 sas_address, + struct hba_port *port); struct _sas_device *mpt3sas_get_sdev_by_handle(struct MPT3SAS_ADAPTER *ioc, u16 handle); struct _pcie_device *mpt3sas_get_pdev_by_handle(struct MPT3SAS_ADAPTER *ioc, @@ -1635,6 +1702,11 @@ struct _raid_device * mpt3sas_raid_device_find_by_handle(struct MPT3SAS_ADAPTER *ioc, u16 handle); void mpt3sas_scsih_change_queue_depth(struct scsi_device *sdev, int qdepth); +struct _sas_device * +__mpt3sas_get_sdev_by_rphy(struct MPT3SAS_ADAPTER *ioc, struct sas_rphy *rphy); +struct virtual_phy * +mpt3sas_get_vphy_by_phy(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *port, u32 phy); /* config shared API */ u8 mpt3sas_config_done(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index, @@ -1752,18 +1824,26 @@ u8 mpt3sas_transport_done(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index, u32 reply); struct _sas_port *mpt3sas_transport_port_add(struct MPT3SAS_ADAPTER *ioc, - u16 handle, u64 sas_address); + u16 handle, u64 sas_address, struct hba_port *port); void mpt3sas_transport_port_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address, - u64 sas_address_parent); + u64 sas_address_parent, struct hba_port *port); int mpt3sas_transport_add_host_phy(struct MPT3SAS_ADAPTER *ioc, struct _sas_phy *mpt3sas_phy, Mpi2SasPhyPage0_t phy_pg0, struct device *parent_dev); int mpt3sas_transport_add_expander_phy(struct MPT3SAS_ADAPTER *ioc, struct _sas_phy *mpt3sas_phy, Mpi2ExpanderPage1_t expander_pg1, struct device *parent_dev); void mpt3sas_transport_update_links(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address, u16 handle, u8 phy_number, u8 link_rate); + u64 sas_address, u16 handle, u8 phy_number, u8 link_rate, + struct hba_port *port); extern struct sas_function_template mpt3sas_transport_functions; extern struct scsi_transport_template *mpt3sas_transport_template; +void +mpt3sas_transport_del_phy_from_an_existing_port(struct MPT3SAS_ADAPTER *ioc, + struct _sas_node *sas_node, struct _sas_phy *mpt3sas_phy); +void +mpt3sas_transport_add_phy_to_an_existing_port(struct MPT3SAS_ADAPTER *ioc, + struct _sas_node *sas_node, struct _sas_phy *mpt3sas_phy, + u64 sas_address, struct hba_port *port); /* trigger data externs */ void mpt3sas_send_trigger_data_event(struct MPT3SAS_ADAPTER *ioc, struct SL_WH_TRIGGERS_EVENT_DATA_T *event_data); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mpt3sas/mpt3sas_ctl.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mpt3sas/mpt3sas_ctl.c @@ -664,7 +664,7 @@ Mpi26NVMeEncapsulatedRequest_t *nvme_encap_request = NULL; struct _pcie_device *pcie_device = NULL; u16 smid; - u8 timeout; + unsigned long timeout; u8 issue_reset; u32 sz, sz_arg; void *psge; @@ -902,8 +902,10 @@ (Mpi2SmpPassthroughRequest_t *)mpi_request; u8 *data; - /* ioc determines which port to use */ - smp_request->PhysicalPort = 0xFF; + if (!ioc->multipath_on_hba) { + /* ioc determines which port to use */ + smp_request->PhysicalPort = 0xFF; + } if (smp_request->PassthroughFlags & MPI2_SMP_PT_REQ_PT_FLAGS_IMMEDIATE) data = (u8 *)&smp_request->SGL; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -159,6 +159,15 @@ MODULE_PARM_DESC(enable_sdev_max_qd, "Enable sdev max qd as can_queue, def=disabled(0)"); +static int multipath_on_hba = -1; +module_param(multipath_on_hba, int, 0); +MODULE_PARM_DESC(multipath_on_hba, + "Multipath support to add same target device\n\t\t" + "as many times as it is visible to HBA from various paths\n\t\t" + "(by default:\n\t\t" + "\t SAS 2.0 & SAS 3.0 HBA - This will be disabled,\n\t\t" + "\t SAS 3.5 HBA - This will be enabled)"); + /* raid transport support */ static struct raid_template *mpt3sas_raid_template; static struct raid_template *mpt2sas_raid_template; @@ -357,6 +366,87 @@ } /** + * mpt3sas_get_port_by_id - get hba port entry corresponding to provided + * port number from port list + * @ioc: per adapter object + * @port_id: port number + * @bypass_dirty_port_flag: when set look the matching hba port entry even + * if hba port entry is marked as dirty. + * + * Search for hba port entry corresponding to provided port number, + * if available return port object otherwise return NULL. + */ +struct hba_port * +mpt3sas_get_port_by_id(struct MPT3SAS_ADAPTER *ioc, + u8 port_id, u8 bypass_dirty_port_flag) +{ + struct hba_port *port, *port_next; + + /* + * When multipath_on_hba is disabled then + * search the hba_port entry using default + * port id i.e. 255 + */ + if (!ioc->multipath_on_hba) + port_id = MULTIPATH_DISABLED_PORT_ID; + + list_for_each_entry_safe(port, port_next, + &ioc->port_table_list, list) { + if (port->port_id != port_id) + continue; + if (bypass_dirty_port_flag) + return port; + if (port->flags & HBA_PORT_FLAG_DIRTY_PORT) + continue; + return port; + } + + /* + * Allocate hba_port object for default port id (i.e. 255) + * when multipath_on_hba is disabled for the HBA. + * And add this object to port_table_list. + */ + if (!ioc->multipath_on_hba) { + port = kzalloc(sizeof(struct hba_port), GFP_KERNEL); + if (!port) + return NULL; + + port->port_id = port_id; + ioc_info(ioc, + "hba_port entry: %p, port: %d is added to hba_port list\n", + port, port->port_id); + list_add_tail(&port->list, + &ioc->port_table_list); + return port; + } + return NULL; +} + +/** + * mpt3sas_get_vphy_by_phy - get virtual_phy object corresponding to phy number + * @ioc: per adapter object + * @port: hba_port object + * @phy: phy number + * + * Return virtual_phy object corresponding to phy number. + */ +struct virtual_phy * +mpt3sas_get_vphy_by_phy(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *port, u32 phy) +{ + struct virtual_phy *vphy, *vphy_next; + + if (!port->vphys_mask) + return NULL; + + list_for_each_entry_safe(vphy, vphy_next, &port->vphys_list, list) { + if (vphy->phy_mask & (1 << phy)) + return vphy; + } + return NULL; +} + +/** * _scsih_is_boot_device - search for matching boot device. * @sas_address: sas address * @device_name: device name specified in INDENTIFY fram @@ -614,48 +704,105 @@ return ret; } + +/** + * __mpt3sas_get_sdev_by_rphy - sas device search + * @ioc: per adapter object + * @rphy: sas_rphy pointer + * + * Context: This function will acquire ioc->sas_device_lock and will release + * before returning the sas_device object. + * + * This searches for sas_device from rphy object + * then return sas_device object. + */ struct _sas_device * -__mpt3sas_get_sdev_by_addr(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address) +__mpt3sas_get_sdev_by_rphy(struct MPT3SAS_ADAPTER *ioc, + struct sas_rphy *rphy) { struct _sas_device *sas_device; assert_spin_locked(&ioc->sas_device_lock); - list_for_each_entry(sas_device, &ioc->sas_device_list, list) - if (sas_device->sas_address == sas_address) - goto found_device; + list_for_each_entry(sas_device, &ioc->sas_device_list, list) { + if (sas_device->rphy != rphy) + continue; + sas_device_get(sas_device); + return sas_device; + } - list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) - if (sas_device->sas_address == sas_address) - goto found_device; + sas_device = NULL; + list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) { + if (sas_device->rphy != rphy) + continue; + sas_device_get(sas_device); + return sas_device; + } return NULL; +} -found_device: - sas_device_get(sas_device); - return sas_device; +/** + * mpt3sas_get_sdev_by_addr - get _sas_device object corresponding to provided + * sas address from sas_device_list list + * @ioc: per adapter object + * @port: port number + * + * Search for _sas_device object corresponding to provided sas address, + * if available return _sas_device object address otherwise return NULL. + */ +struct _sas_device * +__mpt3sas_get_sdev_by_addr(struct MPT3SAS_ADAPTER *ioc, + u64 sas_address, struct hba_port *port) +{ + struct _sas_device *sas_device; + + if (!port) + return NULL; + + assert_spin_locked(&ioc->sas_device_lock); + + list_for_each_entry(sas_device, &ioc->sas_device_list, list) { + if (sas_device->sas_address != sas_address) + continue; + if (sas_device->port != port) + continue; + sas_device_get(sas_device); + return sas_device; + } + + list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) { + if (sas_device->sas_address != sas_address) + continue; + if (sas_device->port != port) + continue; + sas_device_get(sas_device); + return sas_device; + } + + return NULL; } /** * mpt3sas_get_sdev_by_addr - sas device search * @ioc: per adapter object * @sas_address: sas address + * @port: hba port entry * Context: Calling function should acquire ioc->sas_device_lock * - * This searches for sas_device based on sas_address, then return sas_device - * object. + * This searches for sas_device based on sas_address & port number, + * then return sas_device object. */ struct _sas_device * mpt3sas_get_sdev_by_addr(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address) + u64 sas_address, struct hba_port *port) { struct _sas_device *sas_device; unsigned long flags; spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_device = __mpt3sas_get_sdev_by_addr(ioc, - sas_address); + sas_address, port); spin_unlock_irqrestore(&ioc->sas_device_lock, flags); return sas_device; @@ -824,13 +971,17 @@ } /** - * mpt3sas_device_remove_by_sas_address - removing device object by sas address + * mpt3sas_device_remove_by_sas_address - removing device object by + * sas address & port number * @ioc: per adapter object * @sas_address: device sas_address + * @port: hba port entry + * + * Return nothing. */ void mpt3sas_device_remove_by_sas_address(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address) + u64 sas_address, struct hba_port *port) { struct _sas_device *sas_device; unsigned long flags; @@ -839,7 +990,7 @@ return; spin_lock_irqsave(&ioc->sas_device_lock, flags); - sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address); + sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address, port); if (sas_device) { list_del_init(&sas_device->list); sas_device_put(sas_device); @@ -884,7 +1035,7 @@ } if (!mpt3sas_transport_port_add(ioc, sas_device->handle, - sas_device->sas_address_parent)) { + sas_device->sas_address_parent, sas_device->port)) { _scsih_sas_device_remove(ioc, sas_device); } else if (!sas_device->starget) { /* @@ -895,7 +1046,8 @@ if (!ioc->is_driver_loading) { mpt3sas_transport_port_remove(ioc, sas_device->sas_address, - sas_device->sas_address_parent); + sas_device->sas_address_parent, + sas_device->port); _scsih_sas_device_remove(ioc, sas_device); } } else @@ -1432,21 +1584,26 @@ * mpt3sas_scsih_expander_find_by_sas_address - expander device search * @ioc: per adapter object * @sas_address: sas address + * @port: hba port entry * Context: Calling function should acquire ioc->sas_node_lock. * - * This searches for expander device based on sas_address, then returns the - * sas_node object. + * This searches for expander device based on sas_address & port number, + * then returns the sas_node object. */ struct _sas_node * mpt3sas_scsih_expander_find_by_sas_address(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address) + u64 sas_address, struct hba_port *port) { - struct _sas_node *sas_expander, *r; + struct _sas_node *sas_expander, *r = NULL; + + if (!port) + return r; - r = NULL; list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { if (sas_expander->sas_address != sas_address) continue; + if (sas_expander->port != port) + continue; r = sas_expander; goto out; } @@ -1684,6 +1841,7 @@ if (pcie_device) { sas_target_priv_data->handle = pcie_device->handle; sas_target_priv_data->sas_address = pcie_device->wwid; + sas_target_priv_data->port = NULL; sas_target_priv_data->pcie_dev = pcie_device; pcie_device->starget = starget; pcie_device->id = starget->id; @@ -1701,12 +1859,12 @@ /* sas/sata devices */ spin_lock_irqsave(&ioc->sas_device_lock, flags); rphy = dev_to_rphy(starget->dev.parent); - sas_device = __mpt3sas_get_sdev_by_addr(ioc, - rphy->identify.sas_address); + sas_device = __mpt3sas_get_sdev_by_rphy(ioc, rphy); if (sas_device) { sas_target_priv_data->handle = sas_device->handle; sas_target_priv_data->sas_address = sas_device->sas_address; + sas_target_priv_data->port = sas_device->port; sas_target_priv_data->sas_dev = sas_device; sas_device->starget = starget; sas_device->id = starget->id; @@ -1862,7 +2020,8 @@ } else if (!(sas_target_priv_data->flags & MPT_TARGET_FLAGS_VOLUME)) { spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_device = __mpt3sas_get_sdev_by_addr(ioc, - sas_target_priv_data->sas_address); + sas_target_priv_data->sas_address, + sas_target_priv_data->port); if (sas_device && (sas_device->starget == NULL)) { sdev_printk(KERN_INFO, sdev, "%s : sas_device->starget set to starget @ %d\n", @@ -2467,7 +2626,8 @@ spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_device = __mpt3sas_get_sdev_by_addr(ioc, - sas_device_priv_data->sas_target->sas_address); + sas_device_priv_data->sas_target->sas_address, + sas_device_priv_data->sas_target->port); if (!sas_device) { spin_unlock_irqrestore(&ioc->sas_device_lock, flags); dfailprintk(ioc, @@ -3443,11 +3603,13 @@ * _scsih_ublock_io_device - prepare device to be deleted * @ioc: per adapter object * @sas_address: sas address + * @port: hba port entry * * unblock then put device in offline state */ static void -_scsih_ublock_io_device(struct MPT3SAS_ADAPTER *ioc, u64 sas_address) +_scsih_ublock_io_device(struct MPT3SAS_ADAPTER *ioc, + u64 sas_address, struct hba_port *port) { struct MPT3SAS_DEVICE *sas_device_priv_data; struct scsi_device *sdev; @@ -3459,6 +3621,8 @@ if (sas_device_priv_data->sas_target->sas_address != sas_address) continue; + if (sas_device_priv_data->sas_target->port != port) + continue; if (sas_device_priv_data->block) _scsih_internal_device_unblock(sdev, sas_device_priv_data); @@ -3559,7 +3723,8 @@ SAS_END_DEVICE) { spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_device = __mpt3sas_get_sdev_by_addr(ioc, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); if (sas_device) { set_bit(sas_device->handle, ioc->blocking_handles); @@ -3578,7 +3743,8 @@ SAS_FANOUT_EXPANDER_DEVICE) { expander_sibling = mpt3sas_scsih_expander_find_by_sas_address( - ioc, mpt3sas_port->remote_identify.sas_address); + ioc, mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); _scsih_block_io_to_children_attached_to_ex(ioc, expander_sibling); } @@ -3667,6 +3833,7 @@ struct _tr_list *delayed_tr; u32 ioc_state; u8 tr_method = 0; + struct hba_port *port = NULL; if (ioc->pci_error_recovery) { dewtprintk(ioc, @@ -3695,6 +3862,7 @@ sas_target_priv_data = sas_device->starget->hostdata; sas_target_priv_data->deleted = 1; sas_address = sas_device->sas_address; + port = sas_device->port; } spin_unlock_irqrestore(&ioc->sas_device_lock, flags); if (!sas_device) { @@ -3742,7 +3910,7 @@ pcie_device->enclosure_level, pcie_device->connector_name)); } - _scsih_ublock_io_device(ioc, sas_address); + _scsih_ublock_io_device(ioc, sas_address, port); sas_target_priv_data->handle = MPT3SAS_INVALID_DEVICE_HANDLE; } @@ -5516,6 +5684,616 @@ } /** + * _scsih_update_vphys_after_reset - update the Port's + * vphys_list after reset + * @ioc: per adapter object + * + * Returns nothing. + */ +static void +_scsih_update_vphys_after_reset(struct MPT3SAS_ADAPTER *ioc) +{ + u16 sz, ioc_status; + int i; + Mpi2ConfigReply_t mpi_reply; + Mpi2SasIOUnitPage0_t *sas_iounit_pg0 = NULL; + u16 attached_handle; + u64 attached_sas_addr; + u8 found = 0, port_id; + Mpi2SasPhyPage0_t phy_pg0; + struct hba_port *port, *port_next, *mport; + struct virtual_phy *vphy, *vphy_next; + struct _sas_device *sas_device; + + /* + * Mark all the vphys objects as dirty. + */ + list_for_each_entry_safe(port, port_next, + &ioc->port_table_list, list) { + if (!port->vphys_mask) + continue; + list_for_each_entry_safe(vphy, vphy_next, + &port->vphys_list, list) { + vphy->flags |= MPT_VPHY_FLAG_DIRTY_PHY; + } + } + + /* + * Read SASIOUnitPage0 to get each HBA Phy's data. + */ + sz = offsetof(Mpi2SasIOUnitPage0_t, PhyData) + + (ioc->sas_hba.num_phys * sizeof(Mpi2SasIOUnit0PhyData_t)); + sas_iounit_pg0 = kzalloc(sz, GFP_KERNEL); + if (!sas_iounit_pg0) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + return; + } + if ((mpt3sas_config_get_sas_iounit_pg0(ioc, &mpi_reply, + sas_iounit_pg0, sz)) != 0) + goto out; + ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & MPI2_IOCSTATUS_MASK; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) + goto out; + /* + * Loop over each HBA Phy. + */ + for (i = 0; i < ioc->sas_hba.num_phys; i++) { + /* + * Check whether Phy's Negotiation Link Rate is > 1.5G or not. + */ + if ((sas_iounit_pg0->PhyData[i].NegotiatedLinkRate >> 4) < + MPI2_SAS_NEG_LINK_RATE_1_5) + continue; + /* + * Check whether Phy is connected to SEP device or not, + * if it is SEP device then read the Phy's SASPHYPage0 data to + * determine whether Phy is a virtual Phy or not. if it is + * virtual phy then it is conformed that the attached remote + * device is a HBA's vSES device. + */ + if (!(le32_to_cpu( + sas_iounit_pg0->PhyData[i].ControllerPhyDeviceInfo) & + MPI2_SAS_DEVICE_INFO_SEP)) + continue; + + if ((mpt3sas_config_get_phy_pg0(ioc, &mpi_reply, &phy_pg0, + i))) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + continue; + } + + if (!(le32_to_cpu(phy_pg0.PhyInfo) & + MPI2_SAS_PHYINFO_VIRTUAL_PHY)) + continue; + /* + * Get the vSES device's SAS Address. + */ + attached_handle = le16_to_cpu( + sas_iounit_pg0->PhyData[i].AttachedDevHandle); + if (_scsih_get_sas_address(ioc, attached_handle, + &attached_sas_addr) != 0) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + continue; + } + + found = 0; + port = port_next = NULL; + /* + * Loop over each virtual_phy object from + * each port's vphys_list. + */ + list_for_each_entry_safe(port, + port_next, &ioc->port_table_list, list) { + if (!port->vphys_mask) + continue; + list_for_each_entry_safe(vphy, vphy_next, + &port->vphys_list, list) { + /* + * Continue with next virtual_phy object + * if the object is not marked as dirty. + */ + if (!(vphy->flags & MPT_VPHY_FLAG_DIRTY_PHY)) + continue; + + /* + * Continue with next virtual_phy object + * if the object's SAS Address is not equals + * to current Phy's vSES device SAS Address. + */ + if (vphy->sas_address != attached_sas_addr) + continue; + /* + * Enable current Phy number bit in object's + * phy_mask field. + */ + if (!(vphy->phy_mask & (1 << i))) + vphy->phy_mask = (1 << i); + /* + * Get hba_port object from hba_port table + * corresponding to current phy's Port ID. + * if there is no hba_port object corresponding + * to Phy's Port ID then create a new hba_port + * object & add to hba_port table. + */ + port_id = sas_iounit_pg0->PhyData[i].Port; + mport = mpt3sas_get_port_by_id(ioc, port_id, 1); + if (!mport) { + mport = kzalloc( + sizeof(struct hba_port), GFP_KERNEL); + if (!mport) + break; + mport->port_id = port_id; + ioc_info(ioc, + "%s: hba_port entry: %p, port: %d is added to hba_port list\n", + __func__, mport, mport->port_id); + list_add_tail(&mport->list, + &ioc->port_table_list); + } + /* + * If mport & port pointers are not pointing to + * same hba_port object then it means that vSES + * device's Port ID got changed after reset and + * hence move current virtual_phy object from + * port's vphys_list to mport's vphys_list. + */ + if (port != mport) { + if (!mport->vphys_mask) + INIT_LIST_HEAD( + &mport->vphys_list); + mport->vphys_mask |= (1 << i); + port->vphys_mask &= ~(1 << i); + list_move(&vphy->list, + &mport->vphys_list); + sas_device = mpt3sas_get_sdev_by_addr( + ioc, attached_sas_addr, port); + if (sas_device) + sas_device->port = mport; + } + /* + * Earlier while updating the hba_port table, + * it is determined that there is no other + * direct attached device with mport's Port ID, + * Hence mport was marked as dirty. Only vSES + * device has this Port ID, so unmark the mport + * as dirt. + */ + if (mport->flags & HBA_PORT_FLAG_DIRTY_PORT) { + mport->sas_address = 0; + mport->phy_mask = 0; + mport->flags &= + ~HBA_PORT_FLAG_DIRTY_PORT; + } + /* + * Unmark current virtual_phy object as dirty. + */ + vphy->flags &= ~MPT_VPHY_FLAG_DIRTY_PHY; + found = 1; + break; + } + if (found) + break; + } + } +out: + kfree(sas_iounit_pg0); +} + +/** + * _scsih_get_port_table_after_reset - Construct temporary port table + * @ioc: per adapter object + * @port_table: address where port table needs to be constructed + * + * return number of HBA port entries available after reset. + */ +static int +_scsih_get_port_table_after_reset(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *port_table) +{ + u16 sz, ioc_status; + int i, j; + Mpi2ConfigReply_t mpi_reply; + Mpi2SasIOUnitPage0_t *sas_iounit_pg0 = NULL; + u16 attached_handle; + u64 attached_sas_addr; + u8 found = 0, port_count = 0, port_id; + + sz = offsetof(Mpi2SasIOUnitPage0_t, PhyData) + (ioc->sas_hba.num_phys + * sizeof(Mpi2SasIOUnit0PhyData_t)); + sas_iounit_pg0 = kzalloc(sz, GFP_KERNEL); + if (!sas_iounit_pg0) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + return port_count; + } + + if ((mpt3sas_config_get_sas_iounit_pg0(ioc, &mpi_reply, + sas_iounit_pg0, sz)) != 0) + goto out; + ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & MPI2_IOCSTATUS_MASK; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) + goto out; + for (i = 0; i < ioc->sas_hba.num_phys; i++) { + found = 0; + if ((sas_iounit_pg0->PhyData[i].NegotiatedLinkRate >> 4) < + MPI2_SAS_NEG_LINK_RATE_1_5) + continue; + attached_handle = + le16_to_cpu(sas_iounit_pg0->PhyData[i].AttachedDevHandle); + if (_scsih_get_sas_address( + ioc, attached_handle, &attached_sas_addr) != 0) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + continue; + } + + for (j = 0; j < port_count; j++) { + port_id = sas_iounit_pg0->PhyData[i].Port; + if (port_table[j].port_id == port_id && + port_table[j].sas_address == attached_sas_addr) { + port_table[j].phy_mask |= (1 << i); + found = 1; + break; + } + } + + if (found) + continue; + + port_id = sas_iounit_pg0->PhyData[i].Port; + port_table[port_count].port_id = port_id; + port_table[port_count].phy_mask = (1 << i); + port_table[port_count].sas_address = attached_sas_addr; + port_count++; + } +out: + kfree(sas_iounit_pg0); + return port_count; +} + +enum hba_port_matched_codes { + NOT_MATCHED = 0, + MATCHED_WITH_ADDR_AND_PHYMASK, + MATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT, + MATCHED_WITH_ADDR_AND_SUBPHYMASK, + MATCHED_WITH_ADDR, +}; + +/** + * _scsih_look_and_get_matched_port_entry - Get matched hba port entry + * from HBA port table + * @ioc: per adapter object + * @port_entry - hba port entry from temporary port table which needs to be + * searched for matched entry in the HBA port table + * @matched_port_entry - save matched hba port entry here + * @count - count of matched entries + * + * return type of matched entry found. + */ +static enum hba_port_matched_codes +_scsih_look_and_get_matched_port_entry(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *port_entry, + struct hba_port **matched_port_entry, int *count) +{ + struct hba_port *port_table_entry, *matched_port = NULL; + enum hba_port_matched_codes matched_code = NOT_MATCHED; + int lcount = 0; + *matched_port_entry = NULL; + + list_for_each_entry(port_table_entry, &ioc->port_table_list, list) { + if (!(port_table_entry->flags & HBA_PORT_FLAG_DIRTY_PORT)) + continue; + + if ((port_table_entry->sas_address == port_entry->sas_address) + && (port_table_entry->phy_mask == port_entry->phy_mask)) { + matched_code = MATCHED_WITH_ADDR_AND_PHYMASK; + matched_port = port_table_entry; + break; + } + + if ((port_table_entry->sas_address == port_entry->sas_address) + && (port_table_entry->phy_mask & port_entry->phy_mask) + && (port_table_entry->port_id == port_entry->port_id)) { + matched_code = MATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT; + matched_port = port_table_entry; + continue; + } + + if ((port_table_entry->sas_address == port_entry->sas_address) + && (port_table_entry->phy_mask & port_entry->phy_mask)) { + if (matched_code == + MATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT) + continue; + matched_code = MATCHED_WITH_ADDR_AND_SUBPHYMASK; + matched_port = port_table_entry; + continue; + } + + if (port_table_entry->sas_address == port_entry->sas_address) { + if (matched_code == + MATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT) + continue; + if (matched_code == MATCHED_WITH_ADDR_AND_SUBPHYMASK) + continue; + matched_code = MATCHED_WITH_ADDR; + matched_port = port_table_entry; + lcount++; + } + } + + *matched_port_entry = matched_port; + if (matched_code == MATCHED_WITH_ADDR) + *count = lcount; + return matched_code; +} + +/** + * _scsih_del_phy_part_of_anther_port - remove phy if it + * is a part of anther port + *@ioc: per adapter object + *@port_table: port table after reset + *@index: hba port entry index + *@port_count: number of ports available after host reset + *@offset: HBA phy bit offset + * + */ +static void +_scsih_del_phy_part_of_anther_port(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *port_table, + int index, u8 port_count, int offset) +{ + struct _sas_node *sas_node = &ioc->sas_hba; + u32 i, found = 0; + + for (i = 0; i < port_count; i++) { + if (i == index) + continue; + + if (port_table[i].phy_mask & (1 << offset)) { + mpt3sas_transport_del_phy_from_an_existing_port( + ioc, sas_node, &sas_node->phy[offset]); + found = 1; + break; + } + } + if (!found) + port_table[index].phy_mask |= (1 << offset); +} + +/** + * _scsih_add_or_del_phys_from_existing_port - add/remove phy to/from + * right port + *@ioc: per adapter object + *@hba_port_entry: hba port table entry + *@port_table: temporary port table + *@index: hba port entry index + *@port_count: number of ports available after host reset + * + */ +static void +_scsih_add_or_del_phys_from_existing_port(struct MPT3SAS_ADAPTER *ioc, + struct hba_port *hba_port_entry, struct hba_port *port_table, + int index, int port_count) +{ + u32 phy_mask, offset = 0; + struct _sas_node *sas_node = &ioc->sas_hba; + + phy_mask = hba_port_entry->phy_mask ^ port_table[index].phy_mask; + + for (offset = 0; offset < ioc->sas_hba.num_phys; offset++) { + if (phy_mask & (1 << offset)) { + if (!(port_table[index].phy_mask & (1 << offset))) { + _scsih_del_phy_part_of_anther_port( + ioc, port_table, index, port_count, + offset); + continue; + } + if (sas_node->phy[offset].phy_belongs_to_port) + mpt3sas_transport_del_phy_from_an_existing_port( + ioc, sas_node, &sas_node->phy[offset]); + mpt3sas_transport_add_phy_to_an_existing_port( + ioc, sas_node, &sas_node->phy[offset], + hba_port_entry->sas_address, + hba_port_entry); + } + } +} + +/** + * _scsih_del_dirty_vphy - delete virtual_phy objects marked as dirty. + * @ioc: per adapter object + * + * Returns nothing. + */ +static void +_scsih_del_dirty_vphy(struct MPT3SAS_ADAPTER *ioc) +{ + struct hba_port *port, *port_next; + struct virtual_phy *vphy, *vphy_next; + + list_for_each_entry_safe(port, port_next, + &ioc->port_table_list, list) { + if (!port->vphys_mask) + continue; + list_for_each_entry_safe(vphy, vphy_next, + &port->vphys_list, list) { + if (vphy->flags & MPT_VPHY_FLAG_DIRTY_PHY) { + drsprintk(ioc, ioc_info(ioc, + "Deleting vphy %p entry from port id: %d\t, Phy_mask 0x%08x\n", + vphy, port->port_id, + vphy->phy_mask)); + port->vphys_mask &= ~vphy->phy_mask; + list_del(&vphy->list); + kfree(vphy); + } + } + if (!port->vphys_mask && !port->sas_address) + port->flags |= HBA_PORT_FLAG_DIRTY_PORT; + } +} + +/** + * _scsih_del_dirty_port_entries - delete dirty port entries from port list + * after host reset + *@ioc: per adapter object + * + */ +static void +_scsih_del_dirty_port_entries(struct MPT3SAS_ADAPTER *ioc) +{ + struct hba_port *port, *port_next; + + list_for_each_entry_safe(port, port_next, + &ioc->port_table_list, list) { + if (!(port->flags & HBA_PORT_FLAG_DIRTY_PORT) || + port->flags & HBA_PORT_FLAG_NEW_PORT) + continue; + + drsprintk(ioc, ioc_info(ioc, + "Deleting port table entry %p having Port: %d\t Phy_mask 0x%08x\n", + port, port->port_id, port->phy_mask)); + list_del(&port->list); + kfree(port); + } +} + +/** + * _scsih_sas_port_refresh - Update HBA port table after host reset + * @ioc: per adapter object + */ +static void +_scsih_sas_port_refresh(struct MPT3SAS_ADAPTER *ioc) +{ + u32 port_count = 0; + struct hba_port *port_table; + struct hba_port *port_table_entry; + struct hba_port *port_entry = NULL; + int i, j, count = 0, lcount = 0; + int ret; + u64 sas_addr; + + drsprintk(ioc, ioc_info(ioc, + "updating ports for sas_host(0x%016llx)\n", + (unsigned long long)ioc->sas_hba.sas_address)); + + port_table = kcalloc(ioc->sas_hba.num_phys, + sizeof(struct hba_port), GFP_KERNEL); + if (!port_table) + return; + + port_count = _scsih_get_port_table_after_reset(ioc, port_table); + if (!port_count) + return; + + drsprintk(ioc, ioc_info(ioc, "New Port table\n")); + for (j = 0; j < port_count; j++) + drsprintk(ioc, ioc_info(ioc, + "Port: %d\t Phy_mask 0x%08x\t sas_addr(0x%016llx)\n", + port_table[j].port_id, + port_table[j].phy_mask, port_table[j].sas_address)); + + list_for_each_entry(port_table_entry, &ioc->port_table_list, list) + port_table_entry->flags |= HBA_PORT_FLAG_DIRTY_PORT; + + drsprintk(ioc, ioc_info(ioc, "Old Port table\n")); + port_table_entry = NULL; + list_for_each_entry(port_table_entry, &ioc->port_table_list, list) { + drsprintk(ioc, ioc_info(ioc, + "Port: %d\t Phy_mask 0x%08x\t sas_addr(0x%016llx)\n", + port_table_entry->port_id, + port_table_entry->phy_mask, + port_table_entry->sas_address)); + } + + for (j = 0; j < port_count; j++) { + ret = _scsih_look_and_get_matched_port_entry(ioc, + &port_table[j], &port_entry, &count); + if (!port_entry) { + drsprintk(ioc, ioc_info(ioc, + "No Matched entry for sas_addr(0x%16llx), Port:%d\n", + port_table[j].sas_address, + port_table[j].port_id)); + continue; + } + + switch (ret) { + case MATCHED_WITH_ADDR_SUBPHYMASK_AND_PORT: + case MATCHED_WITH_ADDR_AND_SUBPHYMASK: + _scsih_add_or_del_phys_from_existing_port(ioc, + port_entry, port_table, j, port_count); + break; + case MATCHED_WITH_ADDR: + sas_addr = port_table[j].sas_address; + for (i = 0; i < port_count; i++) { + if (port_table[i].sas_address == sas_addr) + lcount++; + } + + if (count > 1 || lcount > 1) + port_entry = NULL; + else + _scsih_add_or_del_phys_from_existing_port(ioc, + port_entry, port_table, j, port_count); + } + + if (!port_entry) + continue; + + if (port_entry->port_id != port_table[j].port_id) + port_entry->port_id = port_table[j].port_id; + port_entry->flags &= ~HBA_PORT_FLAG_DIRTY_PORT; + port_entry->phy_mask = port_table[j].phy_mask; + } + + port_table_entry = NULL; +} + +/** + * _scsih_alloc_vphy - allocate virtual_phy object + * @ioc: per adapter object + * @port_id: Port ID number + * @phy_num: HBA Phy number + * + * Returns allocated virtual_phy object. + */ +static struct virtual_phy * +_scsih_alloc_vphy(struct MPT3SAS_ADAPTER *ioc, u8 port_id, u8 phy_num) +{ + struct virtual_phy *vphy; + struct hba_port *port; + + port = mpt3sas_get_port_by_id(ioc, port_id, 0); + if (!port) + return NULL; + + vphy = mpt3sas_get_vphy_by_phy(ioc, port, phy_num); + if (!vphy) { + vphy = kzalloc(sizeof(struct virtual_phy), GFP_KERNEL); + if (!vphy) + return NULL; + + if (!port->vphys_mask) + INIT_LIST_HEAD(&port->vphys_list); + + /* + * Enable bit corresponding to HBA phy number on its + * parent hba_port object's vphys_mask field. + */ + port->vphys_mask |= (1 << phy_num); + vphy->phy_mask |= (1 << phy_num); + + list_add_tail(&vphy->list, &port->vphys_list); + + ioc_info(ioc, + "vphy entry: %p, port id: %d, phy:%d is added to port's vphys_list\n", + vphy, port->port_id, phy_num); + } + return vphy; +} + +/** * _scsih_sas_host_refresh - refreshing sas host object contents * @ioc: per adapter object * Context: user @@ -5533,7 +6311,9 @@ Mpi2ConfigReply_t mpi_reply; Mpi2SasIOUnitPage0_t *sas_iounit_pg0 = NULL; u16 attached_handle; - u8 link_rate; + u8 link_rate, port_id; + struct hba_port *port; + Mpi2SasPhyPage0_t phy_pg0; dtmprintk(ioc, ioc_info(ioc, "updating handles for sas_host(0x%016llx)\n", @@ -5557,15 +6337,57 @@ for (i = 0; i < ioc->sas_hba.num_phys ; i++) { link_rate = sas_iounit_pg0->PhyData[i].NegotiatedLinkRate >> 4; if (i == 0) - ioc->sas_hba.handle = le16_to_cpu(sas_iounit_pg0-> - PhyData[0].ControllerDevHandle); + ioc->sas_hba.handle = le16_to_cpu( + sas_iounit_pg0->PhyData[0].ControllerDevHandle); + port_id = sas_iounit_pg0->PhyData[i].Port; + if (!(mpt3sas_get_port_by_id(ioc, port_id, 0))) { + port = kzalloc(sizeof(struct hba_port), GFP_KERNEL); + if (!port) + goto out; + + port->port_id = port_id; + ioc_info(ioc, + "hba_port entry: %p, port: %d is added to hba_port list\n", + port, port->port_id); + if (ioc->shost_recovery) + port->flags = HBA_PORT_FLAG_NEW_PORT; + list_add_tail(&port->list, &ioc->port_table_list); + } + /* + * Check whether current Phy belongs to HBA vSES device or not. + */ + if (le32_to_cpu(sas_iounit_pg0->PhyData[i].ControllerPhyDeviceInfo) & + MPI2_SAS_DEVICE_INFO_SEP && + (link_rate >= MPI2_SAS_NEG_LINK_RATE_1_5)) { + if ((mpt3sas_config_get_phy_pg0(ioc, &mpi_reply, + &phy_pg0, i))) { + ioc_err(ioc, + "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + goto out; + } + if (!(le32_to_cpu(phy_pg0.PhyInfo) & + MPI2_SAS_PHYINFO_VIRTUAL_PHY)) + continue; + /* + * Allocate a virtual_phy object for vSES device, if + * this vSES device is hot added. + */ + if (!_scsih_alloc_vphy(ioc, port_id, i)) + goto out; + ioc->sas_hba.phy[i].hba_vphy = 1; + } + ioc->sas_hba.phy[i].handle = ioc->sas_hba.handle; attached_handle = le16_to_cpu(sas_iounit_pg0->PhyData[i]. AttachedDevHandle); if (attached_handle && link_rate < MPI2_SAS_NEG_LINK_RATE_1_5) link_rate = MPI2_SAS_NEG_LINK_RATE_1_5; + ioc->sas_hba.phy[i].port = + mpt3sas_get_port_by_id(ioc, port_id, 0); mpt3sas_transport_update_links(ioc, ioc->sas_hba.sas_address, - attached_handle, i, link_rate); + attached_handle, i, link_rate, + ioc->sas_hba.phy[i].port); } out: kfree(sas_iounit_pg0); @@ -5590,7 +6412,8 @@ u16 ioc_status; u16 sz; u8 device_missing_delay; - u8 num_phys; + u8 num_phys, port_id; + struct hba_port *port; mpt3sas_config_get_number_hba_phys(ioc, &num_phys); if (!num_phys) { @@ -5683,8 +6506,40 @@ if (i == 0) ioc->sas_hba.handle = le16_to_cpu(sas_iounit_pg0-> PhyData[0].ControllerDevHandle); + + port_id = sas_iounit_pg0->PhyData[i].Port; + if (!(mpt3sas_get_port_by_id(ioc, port_id, 0))) { + port = kzalloc(sizeof(struct hba_port), GFP_KERNEL); + if (!port) + goto out; + + port->port_id = port_id; + ioc_info(ioc, + "hba_port entry: %p, port: %d is added to hba_port list\n", + port, port->port_id); + list_add_tail(&port->list, + &ioc->port_table_list); + } + + /* + * Check whether current Phy belongs to HBA vSES device or not. + */ + if ((le32_to_cpu(phy_pg0.PhyInfo) & + MPI2_SAS_PHYINFO_VIRTUAL_PHY) && + (phy_pg0.NegotiatedLinkRate >> 4) >= + MPI2_SAS_NEG_LINK_RATE_1_5) { + /* + * Allocate a virtual_phy object for vSES device. + */ + if (!_scsih_alloc_vphy(ioc, port_id, i)) + goto out; + ioc->sas_hba.phy[i].hba_vphy = 1; + } + ioc->sas_hba.phy[i].handle = ioc->sas_hba.handle; ioc->sas_hba.phy[i].phy_id = i; + ioc->sas_hba.phy[i].port = + mpt3sas_get_port_by_id(ioc, port_id, 0); mpt3sas_transport_add_host_phy(ioc, &ioc->sas_hba.phy[i], phy_pg0, ioc->sas_hba.parent_dev); } @@ -5738,6 +6593,7 @@ int i; unsigned long flags; struct _sas_port *mpt3sas_port = NULL; + u8 port_id; int rc = 0; @@ -5770,10 +6626,13 @@ __FILE__, __LINE__, __func__); return -1; } + + port_id = expander_pg0.PhysicalPort; if (sas_address_parent != ioc->sas_hba.sas_address) { spin_lock_irqsave(&ioc->sas_node_lock, flags); sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, - sas_address_parent); + sas_address_parent, + mpt3sas_get_port_by_id(ioc, port_id, 0)); spin_unlock_irqrestore(&ioc->sas_node_lock, flags); if (!sas_expander) { rc = _scsih_expander_add(ioc, parent_handle); @@ -5785,7 +6644,7 @@ spin_lock_irqsave(&ioc->sas_node_lock, flags); sas_address = le64_to_cpu(expander_pg0.SASAddress); sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, - sas_address); + sas_address, mpt3sas_get_port_by_id(ioc, port_id, 0)); spin_unlock_irqrestore(&ioc->sas_node_lock, flags); if (sas_expander) @@ -5803,6 +6662,13 @@ sas_expander->num_phys = expander_pg0.NumPhys; sas_expander->sas_address_parent = sas_address_parent; sas_expander->sas_address = sas_address; + sas_expander->port = mpt3sas_get_port_by_id(ioc, port_id, 0); + if (!sas_expander->port) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + rc = -1; + goto out_fail; + } ioc_info(ioc, "expander_add: handle(0x%04x), parent(0x%04x), sas_addr(0x%016llx), phys(%d)\n", handle, parent_handle, @@ -5821,7 +6687,7 @@ INIT_LIST_HEAD(&sas_expander->sas_port_list); mpt3sas_port = mpt3sas_transport_port_add(ioc, handle, - sas_address_parent); + sas_address_parent, sas_expander->port); if (!mpt3sas_port) { ioc_err(ioc, "failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); @@ -5829,6 +6695,7 @@ goto out_fail; } sas_expander->parent_dev = &mpt3sas_port->rphy->dev; + sas_expander->rphy = mpt3sas_port->rphy; for (i = 0 ; i < sas_expander->num_phys ; i++) { if ((mpt3sas_config_get_expander_pg1(ioc, &mpi_reply, @@ -5840,6 +6707,8 @@ } sas_expander->phy[i].handle = handle; sas_expander->phy[i].phy_id = i; + sas_expander->phy[i].port = + mpt3sas_get_port_by_id(ioc, port_id, 0); if ((mpt3sas_transport_add_expander_phy(ioc, &sas_expander->phy[i], expander_pg1, @@ -5867,7 +6736,7 @@ if (mpt3sas_port) mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, - sas_address_parent); + sas_address_parent, sas_expander->port); kfree(sas_expander); return rc; } @@ -5878,7 +6747,8 @@ * @sas_address: expander sas_address */ void -mpt3sas_expander_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address) +mpt3sas_expander_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address, + struct hba_port *port) { struct _sas_node *sas_expander; unsigned long flags; @@ -5886,9 +6756,12 @@ if (ioc->shost_recovery) return; + if (!port) + return; + spin_lock_irqsave(&ioc->sas_node_lock, flags); sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, - sas_address); + sas_address, port); spin_unlock_irqrestore(&ioc->sas_node_lock, flags); if (sas_expander) _scsih_expander_node_remove(ioc, sas_expander); @@ -6011,7 +6884,7 @@ { Mpi2ConfigReply_t mpi_reply; Mpi2SasDevicePage0_t sas_device_pg0; - struct _sas_device *sas_device; + struct _sas_device *sas_device = NULL; struct _enclosure_node *enclosure_dev = NULL; u32 ioc_status; unsigned long flags; @@ -6019,6 +6892,7 @@ struct scsi_target *starget; struct MPT3SAS_TARGET *sas_target_priv_data; u32 device_info; + struct hba_port *port; if ((mpt3sas_config_get_sas_device_pg0(ioc, &mpi_reply, &sas_device_pg0, MPI2_SAS_DEVICE_PGAD_FORM_HANDLE, handle))) @@ -6041,8 +6915,11 @@ spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_address = le64_to_cpu(sas_device_pg0.SASAddress); + port = mpt3sas_get_port_by_id(ioc, sas_device_pg0.PhysicalPort, 0); + if (!port) + goto out_unlock; sas_device = __mpt3sas_get_sdev_by_addr(ioc, - sas_address); + sas_address, port); if (!sas_device) goto out_unlock; @@ -6098,7 +6975,7 @@ goto out_unlock; spin_unlock_irqrestore(&ioc->sas_device_lock, flags); - _scsih_ublock_io_device(ioc, sas_address); + _scsih_ublock_io_device(ioc, sas_address, port); if (sas_device) sas_device_put(sas_device); @@ -6132,6 +7009,7 @@ u32 ioc_status; u64 sas_address; u32 device_info; + u8 port_id; if ((mpt3sas_config_get_sas_device_pg0(ioc, &mpi_reply, &sas_device_pg0, MPI2_SAS_DEVICE_PGAD_FORM_HANDLE, handle))) { @@ -6168,8 +7046,9 @@ sas_device_pg0.AccessStatus)) return -1; + port_id = sas_device_pg0.PhysicalPort; sas_device = mpt3sas_get_sdev_by_addr(ioc, - sas_address); + sas_address, mpt3sas_get_port_by_id(ioc, port_id, 0)); if (sas_device) { clear_bit(handle, ioc->pend_os_device_add); sas_device_put(sas_device); @@ -6210,6 +7089,12 @@ sas_device->phy = sas_device_pg0.PhyNum; sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & MPI25_SAS_DEVICE0_FLAGS_FAST_PATH_CAPABLE) ? 1 : 0; + sas_device->port = mpt3sas_get_port_by_id(ioc, port_id, 0); + if (!sas_device->port) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + goto out; + } if (le16_to_cpu(sas_device_pg0.Flags) & MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID) { @@ -6243,6 +7128,7 @@ else _scsih_sas_device_add(ioc, sas_device); +out: sas_device_put(sas_device); return 0; } @@ -6275,7 +7161,8 @@ if (sas_device->starget && sas_device->starget->hostdata) { sas_target_priv_data = sas_device->starget->hostdata; sas_target_priv_data->deleted = 1; - _scsih_ublock_io_device(ioc, sas_device->sas_address); + _scsih_ublock_io_device(ioc, sas_device->sas_address, + sas_device->port); sas_target_priv_data->handle = MPT3SAS_INVALID_DEVICE_HANDLE; } @@ -6283,7 +7170,8 @@ if (!ioc->hide_drives) mpt3sas_transport_port_remove(ioc, sas_device->sas_address, - sas_device->sas_address_parent); + sas_device->sas_address_parent, + sas_device->port); ioc_info(ioc, "removing handle(0x%04x), sas_addr(0x%016llx)\n", sas_device->handle, (u64)sas_device->sas_address); @@ -6394,6 +7282,7 @@ u64 sas_address; unsigned long flags; u8 link_rate, prev_link_rate; + struct hba_port *port; Mpi2EventDataSasTopologyChangeList_t *event_data = (Mpi2EventDataSasTopologyChangeList_t *) fw_event->event_data; @@ -6415,6 +7304,7 @@ } parent_handle = le16_to_cpu(event_data->ExpanderDevHandle); + port = mpt3sas_get_port_by_id(ioc, event_data->PhysicalPort, 0); /* handle expander add */ if (event_data->ExpStatus == MPI2_EVENT_SAS_TOPO_ES_ADDED) @@ -6427,6 +7317,7 @@ if (sas_expander) { sas_address = sas_expander->sas_address; max_phys = sas_expander->num_phys; + port = sas_expander->port; } else if (parent_handle < ioc->sas_hba.num_phys) { sas_address = ioc->sas_hba.sas_address; max_phys = ioc->sas_hba.num_phys; @@ -6469,7 +7360,7 @@ break; mpt3sas_transport_update_links(ioc, sas_address, - handle, phy_number, link_rate); + handle, phy_number, link_rate, port); if (link_rate < MPI2_SAS_NEG_LINK_RATE_1_5) break; @@ -6488,7 +7379,7 @@ break; mpt3sas_transport_update_links(ioc, sas_address, - handle, phy_number, link_rate); + handle, phy_number, link_rate, port); _scsih_add_device(ioc, handle, phy_number, 0); @@ -6503,7 +7394,7 @@ /* handle expander removal */ if (event_data->ExpStatus == MPI2_EVENT_SAS_TOPO_ES_NOT_RESPONDING && sas_expander) - mpt3sas_expander_remove(ioc, sas_address); + mpt3sas_expander_remove(ioc, sas_address, port); return 0; } @@ -6604,7 +7495,8 @@ spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_address = le64_to_cpu(event_data->SASAddress); sas_device = __mpt3sas_get_sdev_by_addr(ioc, - sas_address); + sas_address, + mpt3sas_get_port_by_id(ioc, event_data->PhysicalPort, 0)); if (!sas_device || !sas_device->starget) goto out; @@ -6753,7 +7645,7 @@ if (pcie_device->starget && pcie_device->starget->hostdata) { sas_target_priv_data = pcie_device->starget->hostdata; sas_target_priv_data->deleted = 1; - _scsih_ublock_io_device(ioc, pcie_device->wwid); + _scsih_ublock_io_device(ioc, pcie_device->wwid, NULL); sas_target_priv_data->handle = MPT3SAS_INVALID_DEVICE_HANDLE; } @@ -6875,7 +7767,7 @@ spin_unlock_irqrestore(&ioc->pcie_device_lock, flags); pcie_device_put(pcie_device); - _scsih_ublock_io_device(ioc, wwid); + _scsih_ublock_io_device(ioc, wwid, NULL); return; } @@ -8044,7 +8936,9 @@ parent_handle = le16_to_cpu(sas_device_pg0.ParentDevHandle); if (!_scsih_get_sas_address(ioc, parent_handle, &sas_address)) mpt3sas_transport_update_links(ioc, sas_address, handle, - sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5); + sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5, + mpt3sas_get_port_by_id(ioc, + sas_device_pg0.PhysicalPort, 0)); _scsih_ir_fastpath(ioc, handle, element->PhysDiskNum); _scsih_add_device(ioc, handle, 0, 1); @@ -8350,7 +9244,9 @@ parent_handle = le16_to_cpu(sas_device_pg0.ParentDevHandle); if (!_scsih_get_sas_address(ioc, parent_handle, &sas_address)) mpt3sas_transport_update_links(ioc, sas_address, handle, - sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5); + sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5, + mpt3sas_get_port_by_id(ioc, + sas_device_pg0.PhysicalPort, 0)); _scsih_add_device(ioc, handle, 0, 1); @@ -8475,6 +9371,8 @@ struct _sas_device *sas_device = NULL; struct _enclosure_node *enclosure_dev = NULL; unsigned long flags; + struct hba_port *port = mpt3sas_get_port_by_id( + ioc, sas_device_pg0->PhysicalPort, 0); if (sas_device_pg0->EnclosureHandle) { enclosure_dev = @@ -8486,69 +9384,71 @@ } spin_lock_irqsave(&ioc->sas_device_lock, flags); list_for_each_entry(sas_device, &ioc->sas_device_list, list) { - if ((sas_device->sas_address == le64_to_cpu( - sas_device_pg0->SASAddress)) && (sas_device->slot == - le16_to_cpu(sas_device_pg0->Slot))) { - sas_device->responding = 1; - starget = sas_device->starget; - if (starget && starget->hostdata) { - sas_target_priv_data = starget->hostdata; - sas_target_priv_data->tm_busy = 0; - sas_target_priv_data->deleted = 0; - } else - sas_target_priv_data = NULL; - if (starget) { - starget_printk(KERN_INFO, starget, - "handle(0x%04x), sas_addr(0x%016llx)\n", - le16_to_cpu(sas_device_pg0->DevHandle), - (unsigned long long) - sas_device->sas_address); + if (sas_device->sas_address != le64_to_cpu( + sas_device_pg0->SASAddress)) + continue; + if (sas_device->slot != le16_to_cpu(sas_device_pg0->Slot)) + continue; + if (sas_device->port != port) + continue; + sas_device->responding = 1; + starget = sas_device->starget; + if (starget && starget->hostdata) { + sas_target_priv_data = starget->hostdata; + sas_target_priv_data->tm_busy = 0; + sas_target_priv_data->deleted = 0; + } else + sas_target_priv_data = NULL; + if (starget) { + starget_printk(KERN_INFO, starget, + "handle(0x%04x), sas_addr(0x%016llx)\n", + le16_to_cpu(sas_device_pg0->DevHandle), + (unsigned long long) + sas_device->sas_address); - if (sas_device->enclosure_handle != 0) - starget_printk(KERN_INFO, starget, - "enclosure logical id(0x%016llx)," - " slot(%d)\n", - (unsigned long long) - sas_device->enclosure_logical_id, - sas_device->slot); - } - if (le16_to_cpu(sas_device_pg0->Flags) & - MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID) { - sas_device->enclosure_level = - sas_device_pg0->EnclosureLevel; - memcpy(&sas_device->connector_name[0], - &sas_device_pg0->ConnectorName[0], 4); - } else { - sas_device->enclosure_level = 0; - sas_device->connector_name[0] = '\0'; - } + if (sas_device->enclosure_handle != 0) + starget_printk(KERN_INFO, starget, + "enclosure logical id(0x%016llx), slot(%d)\n", + (unsigned long long) + sas_device->enclosure_logical_id, + sas_device->slot); + } + if (le16_to_cpu(sas_device_pg0->Flags) & + MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID) { + sas_device->enclosure_level = + sas_device_pg0->EnclosureLevel; + memcpy(&sas_device->connector_name[0], + &sas_device_pg0->ConnectorName[0], 4); + } else { + sas_device->enclosure_level = 0; + sas_device->connector_name[0] = '\0'; + } - sas_device->enclosure_handle = - le16_to_cpu(sas_device_pg0->EnclosureHandle); - sas_device->is_chassis_slot_valid = 0; - if (enclosure_dev) { - sas_device->enclosure_logical_id = le64_to_cpu( - enclosure_dev->pg0.EnclosureLogicalID); - if (le16_to_cpu(enclosure_dev->pg0.Flags) & - MPI2_SAS_ENCLS0_FLAGS_CHASSIS_SLOT_VALID) { - sas_device->is_chassis_slot_valid = 1; - sas_device->chassis_slot = - enclosure_dev->pg0.ChassisSlot; - } + sas_device->enclosure_handle = + le16_to_cpu(sas_device_pg0->EnclosureHandle); + sas_device->is_chassis_slot_valid = 0; + if (enclosure_dev) { + sas_device->enclosure_logical_id = le64_to_cpu( + enclosure_dev->pg0.EnclosureLogicalID); + if (le16_to_cpu(enclosure_dev->pg0.Flags) & + MPI2_SAS_ENCLS0_FLAGS_CHASSIS_SLOT_VALID) { + sas_device->is_chassis_slot_valid = 1; + sas_device->chassis_slot = + enclosure_dev->pg0.ChassisSlot; } + } - if (sas_device->handle == le16_to_cpu( - sas_device_pg0->DevHandle)) - goto out; - pr_info("\thandle changed from(0x%04x)!!!\n", - sas_device->handle); - sas_device->handle = le16_to_cpu( - sas_device_pg0->DevHandle); - if (sas_target_priv_data) - sas_target_priv_data->handle = - le16_to_cpu(sas_device_pg0->DevHandle); + if (sas_device->handle == le16_to_cpu( + sas_device_pg0->DevHandle)) goto out; - } + pr_info("\thandle changed from(0x%04x)!!!\n", + sas_device->handle); + sas_device->handle = le16_to_cpu( + sas_device_pg0->DevHandle); + if (sas_target_priv_data) + sas_target_priv_data->handle = + le16_to_cpu(sas_device_pg0->DevHandle); + goto out; } out: spin_unlock_irqrestore(&ioc->sas_device_lock, flags); @@ -8899,6 +9799,8 @@ u16 handle = le16_to_cpu(expander_pg0->DevHandle); u16 enclosure_handle = le16_to_cpu(expander_pg0->EnclosureHandle); u64 sas_address = le64_to_cpu(expander_pg0->SASAddress); + struct hba_port *port = mpt3sas_get_port_by_id( + ioc, expander_pg0->PhysicalPort, 0); if (enclosure_handle) enclosure_dev = @@ -8909,6 +9811,8 @@ list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { if (sas_expander->sas_address != sas_address) continue; + if (sas_expander->port != port) + continue; sas_expander->responding = 1; if (enclosure_dev) { @@ -8948,6 +9852,7 @@ u16 ioc_status; u64 sas_address; u16 handle; + u8 port; ioc_info(ioc, "search for expanders: start\n"); @@ -8965,9 +9870,12 @@ handle = le16_to_cpu(expander_pg0.DevHandle); sas_address = le64_to_cpu(expander_pg0.SASAddress); - pr_info("\texpander present: handle(0x%04x), sas_addr(0x%016llx)\n", - handle, - (unsigned long long)sas_address); + port = expander_pg0.PhysicalPort; + pr_info( + "\texpander present: handle(0x%04x), sas_addr(0x%016llx), port:%d\n", + handle, (unsigned long long)sas_address, + (ioc->multipath_on_hba ? + port : MULTIPATH_DISABLED_PORT_ID)); _scsih_mark_responding_expander(ioc, &expander_pg0); } @@ -9089,7 +9997,8 @@ mpt3sas_transport_update_links(ioc, sas_expander->sas_address, le16_to_cpu(expander_pg1.AttachedDevHandle), i, - expander_pg1.NegotiatedLinkRate >> 4); + expander_pg1.NegotiatedLinkRate >> 4, + sas_expander->port); } } @@ -9108,7 +10017,7 @@ Mpi2RaidPhysDiskPage0_t pd_pg0; Mpi2EventIrConfigElement_t element; Mpi2ConfigReply_t mpi_reply; - u8 phys_disk_num; + u8 phys_disk_num, port_id; u16 ioc_status; u16 handle, parent_handle; u64 sas_address; @@ -9138,8 +10047,10 @@ } handle = le16_to_cpu(expander_pg0.DevHandle); spin_lock_irqsave(&ioc->sas_node_lock, flags); + port_id = expander_pg0.PhysicalPort; expander_device = mpt3sas_scsih_expander_find_by_sas_address( - ioc, le64_to_cpu(expander_pg0.SASAddress)); + ioc, le64_to_cpu(expander_pg0.SASAddress), + mpt3sas_get_port_by_id(ioc, port_id, 0)); spin_unlock_irqrestore(&ioc->sas_node_lock, flags); if (expander_device) _scsih_refresh_expander_links(ioc, expander_device, @@ -9198,9 +10109,11 @@ ioc_info(ioc, "\tBEFORE adding phys disk: handle (0x%04x), sas_addr(0x%016llx)\n", handle, (u64)le64_to_cpu(sas_device_pg0.SASAddress)); + port_id = sas_device_pg0.PhysicalPort; mpt3sas_transport_update_links(ioc, sas_address, handle, sas_device_pg0.PhyNum, - MPI2_SAS_NEG_LINK_RATE_1_5); + MPI2_SAS_NEG_LINK_RATE_1_5, + mpt3sas_get_port_by_id(ioc, port_id, 0)); set_bit(handle, ioc->pd_handles); retry_count = 0; /* This will retry adding the end device. @@ -9286,8 +10199,10 @@ if (!(_scsih_is_end_device( le32_to_cpu(sas_device_pg0.DeviceInfo)))) continue; + port_id = sas_device_pg0.PhysicalPort; sas_device = mpt3sas_get_sdev_by_addr(ioc, - le64_to_cpu(sas_device_pg0.SASAddress)); + le64_to_cpu(sas_device_pg0.SASAddress), + mpt3sas_get_port_by_id(ioc, port_id, 0)); if (sas_device) { sas_device_put(sas_device); continue; @@ -9298,7 +10213,8 @@ handle, (u64)le64_to_cpu(sas_device_pg0.SASAddress)); mpt3sas_transport_update_links(ioc, sas_address, handle, - sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5); + sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5, + mpt3sas_get_port_by_id(ioc, port_id, 0)); retry_count = 0; /* This will retry adding the end device. * _scsih_add_device() will decide on retries and @@ -9402,6 +10318,10 @@ dtmprintk(ioc, ioc_info(ioc, "%s: MPT3_IOC_DONE_RESET\n", __func__)); if ((!ioc->is_driver_loading) && !(disable_discovery > 0 && !ioc->sas_hba.num_phys)) { + if (ioc->multipath_on_hba) { + _scsih_sas_port_refresh(ioc); + _scsih_update_vphys_after_reset(ioc); + } _scsih_prep_device_scan(ioc); _scsih_create_enclosure_list_after_reset(ioc); _scsih_search_responding_sas_devices(ioc); @@ -9447,6 +10367,8 @@ ssleep(1); } _scsih_remove_unresponding_devices(ioc); + _scsih_del_dirty_vphy(ioc); + _scsih_del_dirty_port_entries(ioc); _scsih_scan_for_devices_after_reset(ioc); _scsih_set_nvme_max_shutdown_latency(ioc); break; @@ -9727,21 +10649,25 @@ if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) mpt3sas_device_remove_by_sas_address(ioc, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); else if (mpt3sas_port->remote_identify.device_type == SAS_EDGE_EXPANDER_DEVICE || mpt3sas_port->remote_identify.device_type == SAS_FANOUT_EXPANDER_DEVICE) mpt3sas_expander_remove(ioc, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); } mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, - sas_expander->sas_address_parent); + sas_expander->sas_address_parent, sas_expander->port); - ioc_info(ioc, "expander_remove: handle(0x%04x), sas_addr(0x%016llx)\n", - sas_expander->handle, (unsigned long long) - sas_expander->sas_address); + ioc_info(ioc, + "expander_remove: handle(0x%04x), sas_addr(0x%016llx), port:%d\n", + sas_expander->handle, (unsigned long long) + sas_expander->sas_address, + sas_expander->port->port_id); spin_lock_irqsave(&ioc->sas_node_lock, flags); list_del(&sas_expander->list); @@ -9905,6 +10831,7 @@ struct workqueue_struct *wq; unsigned long flags; Mpi2ConfigReply_t mpi_reply; + struct hba_port *port, *port_next; ioc->remove_host = 1; @@ -9955,13 +10882,21 @@ if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) mpt3sas_device_remove_by_sas_address(ioc, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); else if (mpt3sas_port->remote_identify.device_type == SAS_EDGE_EXPANDER_DEVICE || mpt3sas_port->remote_identify.device_type == SAS_FANOUT_EXPANDER_DEVICE) mpt3sas_expander_remove(ioc, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); + } + + list_for_each_entry_safe(port, port_next, + &ioc->port_table_list, list) { + list_del(&port->list); + kfree(port); } /* free phys attached to the sas_host */ @@ -10040,6 +10975,7 @@ unsigned long flags; int rc; int tid; + struct hba_port *port; /* no Bios, return immediately */ if (!ioc->bios_pg3.BiosVersion) @@ -10081,19 +11017,24 @@ handle = sas_device->handle; sas_address_parent = sas_device->sas_address_parent; sas_address = sas_device->sas_address; + port = sas_device->port; list_move_tail(&sas_device->list, &ioc->sas_device_list); spin_unlock_irqrestore(&ioc->sas_device_lock, flags); if (ioc->hide_drives) return; + + if (!port) + return; + if (!mpt3sas_transport_port_add(ioc, handle, - sas_address_parent)) { + sas_address_parent, port)) { _scsih_sas_device_remove(ioc, sas_device); } else if (!sas_device->starget) { if (!ioc->is_driver_loading) { mpt3sas_transport_port_remove(ioc, sas_address, - sas_address_parent); + sas_address_parent, port); _scsih_sas_device_remove(ioc, sas_device); } } @@ -10181,7 +11122,7 @@ while ((sas_device = get_next_sas_device(ioc))) { if (!mpt3sas_transport_port_add(ioc, sas_device->handle, - sas_device->sas_address_parent)) { + sas_device->sas_address_parent, sas_device->port)) { _scsih_sas_device_remove(ioc, sas_device); sas_device_put(sas_device); continue; @@ -10195,7 +11136,8 @@ if (!ioc->is_driver_loading) { mpt3sas_transport_port_remove(ioc, sas_device->sas_address, - sas_device->sas_address_parent); + sas_device->sas_address_parent, + sas_device->port); _scsih_sas_device_remove(ioc, sas_device); sas_device_put(sas_device); continue; @@ -10625,6 +11567,12 @@ ioc->mfg_pg10_hide_flag = MFG_PAGE10_EXPOSE_ALL_DISKS; break; } + + if (multipath_on_hba == -1 || multipath_on_hba == 0) + ioc->multipath_on_hba = 0; + else + ioc->multipath_on_hba = 1; + break; case MPI25_VERSION: case MPI26_VERSION: @@ -10672,6 +11620,23 @@ ioc->combined_reply_index_count = MPT3_SUP_REPLY_POST_HOST_INDEX_REG_COUNT_G3; } + + switch (ioc->is_gen35_ioc) { + case 0: + if (multipath_on_hba == -1 || multipath_on_hba == 0) + ioc->multipath_on_hba = 0; + else + ioc->multipath_on_hba = 1; + break; + case 1: + if (multipath_on_hba == -1 || multipath_on_hba > 0) + ioc->multipath_on_hba = 1; + else + ioc->multipath_on_hba = 0; + default: + break; + } + break; default: return -ENODEV; @@ -10732,6 +11697,7 @@ INIT_LIST_HEAD(&ioc->delayed_event_ack_list); INIT_LIST_HEAD(&ioc->delayed_tr_volume_list); INIT_LIST_HEAD(&ioc->reply_queue_list); + INIT_LIST_HEAD(&ioc->port_table_list); sprintf(ioc->name, "%s_cm%d", ioc->driver_name, ioc->id); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mpt3sas/mpt3sas_transport.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mpt3sas/mpt3sas_transport.c @@ -61,9 +61,28 @@ #include "mpt3sas_base.h" /** + * _transport_get_port_id_by_sas_phy - get zone's port id that Phy belong to + * @phy - sas_phy object + * + * Return Port number + */ +static inline u8 +_transport_get_port_id_by_sas_phy(struct sas_phy *phy) +{ + u8 port_id = 0xFF; + struct hba_port *port = phy->hostdata; + + if (port) + port_id = port->port_id; + + return port_id; +} + +/** * _transport_sas_node_find_by_sas_address - sas node search * @ioc: per adapter object * @sas_address: sas address of expander or sas host + * @port: hba port entry * Context: Calling function should acquire ioc->sas_node_lock. * * Search for either hba phys or expander device based on handle, then returns @@ -71,13 +90,56 @@ */ static struct _sas_node * _transport_sas_node_find_by_sas_address(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address) + u64 sas_address, struct hba_port *port) { if (ioc->sas_hba.sas_address == sas_address) return &ioc->sas_hba; else return mpt3sas_scsih_expander_find_by_sas_address(ioc, - sas_address); + sas_address, port); +} + +/** + * _transport_get_port_id_by_rphy - Get Port number from rphy object + * @ioc: per adapter object + * @rphy: sas_rphy object + * + * Returns Port number. + */ +static u8 +_transport_get_port_id_by_rphy(struct MPT3SAS_ADAPTER *ioc, + struct sas_rphy *rphy) +{ + struct _sas_node *sas_expander; + struct _sas_device *sas_device; + unsigned long flags; + u8 port_id = 0xFF; + + if (!rphy) + return port_id; + + if (rphy->identify.device_type == SAS_EDGE_EXPANDER_DEVICE || + rphy->identify.device_type == SAS_FANOUT_EXPANDER_DEVICE) { + spin_lock_irqsave(&ioc->sas_node_lock, flags); + list_for_each_entry(sas_expander, + &ioc->sas_expander_list, list) { + if (sas_expander->rphy == rphy) { + port_id = sas_expander->port->port_id; + break; + } + } + spin_unlock_irqrestore(&ioc->sas_node_lock, flags); + } else if (rphy->identify.device_type == SAS_END_DEVICE) { + spin_lock_irqsave(&ioc->sas_device_lock, flags); + sas_device = __mpt3sas_get_sdev_by_rphy(ioc, rphy); + if (sas_device) { + port_id = sas_device->port->port_id; + sas_device_put(sas_device); + } + spin_unlock_irqrestore(&ioc->sas_device_lock, flags); + } + + return port_id; } /** @@ -288,7 +350,7 @@ */ static int _transport_expander_report_manufacture(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address, struct sas_expander_device *edev) + u64 sas_address, struct sas_expander_device *edev, u8 port_id) { Mpi2SmpPassthroughRequest_t *mpi_request; Mpi2SmpPassthroughReply_t *mpi_reply; @@ -355,7 +417,7 @@ memset(mpi_request, 0, sizeof(Mpi2SmpPassthroughRequest_t)); mpi_request->Function = MPI2_FUNCTION_SMP_PASSTHROUGH; - mpi_request->PhysicalPort = 0xFF; + mpi_request->PhysicalPort = port_id; mpi_request->SASAddress = cpu_to_le64(sas_address); mpi_request->RequestDataLength = cpu_to_le16(data_out_sz); psge = &mpi_request->SGL; @@ -439,6 +501,7 @@ struct _sas_port *mpt3sas_port) { u64 sas_address = mpt3sas_port->remote_identify.sas_address; + struct hba_port *port = mpt3sas_port->hba_port; enum sas_device_type device_type = mpt3sas_port->remote_identify.device_type; @@ -448,10 +511,11 @@ ioc->logging_level |= MPT_DEBUG_TRANSPORT; if (device_type == SAS_END_DEVICE) - mpt3sas_device_remove_by_sas_address(ioc, sas_address); + mpt3sas_device_remove_by_sas_address(ioc, + sas_address, port); else if (device_type == SAS_EDGE_EXPANDER_DEVICE || device_type == SAS_FANOUT_EXPANDER_DEVICE) - mpt3sas_expander_remove(ioc, sas_address); + mpt3sas_expander_remove(ioc, sas_address, port); ioc->logging_level &= ~MPT_DEBUG_TRANSPORT; } @@ -500,16 +564,17 @@ } /** - * _transport_add_phy_to_an_existing_port - adding new phy to existing port + * mpt3sas_transport_add_phy_to_an_existing_port - adding new phy to existing port * @ioc: per adapter object * @sas_node: sas node object (either expander or sas host) * @mpt3sas_phy: mpt3sas per phy object * @sas_address: sas address of device/expander were phy needs to be added to + * @port: hba port entry */ -static void -_transport_add_phy_to_an_existing_port(struct MPT3SAS_ADAPTER *ioc, +void +mpt3sas_transport_add_phy_to_an_existing_port(struct MPT3SAS_ADAPTER *ioc, struct _sas_node *sas_node, struct _sas_phy *mpt3sas_phy, - u64 sas_address) + u64 sas_address, struct hba_port *port) { struct _sas_port *mpt3sas_port; struct _sas_phy *phy_srch; @@ -517,11 +582,16 @@ if (mpt3sas_phy->phy_belongs_to_port == 1) return; + if (!port) + return; + list_for_each_entry(mpt3sas_port, &sas_node->sas_port_list, port_list) { if (mpt3sas_port->remote_identify.sas_address != sas_address) continue; + if (mpt3sas_port->hba_port != port) + continue; list_for_each_entry(phy_srch, &mpt3sas_port->phy_list, port_siblings) { if (phy_srch == mpt3sas_phy) @@ -534,13 +604,13 @@ } /** - * _transport_del_phy_from_an_existing_port - delete phy from existing port + * mpt3sas_transport_del_phy_from_an_existing_port - delete phy from existing port * @ioc: per adapter object * @sas_node: sas node object (either expander or sas host) * @mpt3sas_phy: mpt3sas per phy object */ -static void -_transport_del_phy_from_an_existing_port(struct MPT3SAS_ADAPTER *ioc, +void +mpt3sas_transport_del_phy_from_an_existing_port(struct MPT3SAS_ADAPTER *ioc, struct _sas_node *sas_node, struct _sas_phy *mpt3sas_phy) { struct _sas_port *mpt3sas_port, *next; @@ -556,7 +626,11 @@ if (phy_srch != mpt3sas_phy) continue; - if (mpt3sas_port->num_phys == 1) + /* + * Don't delete port during host reset, + * just delete phy. + */ + if (mpt3sas_port->num_phys == 1 && !ioc->shost_recovery) _transport_delete_port(ioc, mpt3sas_port); else _transport_delete_phy(ioc, mpt3sas_port, @@ -571,21 +645,24 @@ * @ioc: per adapter object * @sas_node: sas node object (either expander or sas host) * @sas_address: sas address of device being added + * @port: hba port entry * * See the explanation above from _transport_delete_duplicate_port */ static void _transport_sanity_check(struct MPT3SAS_ADAPTER *ioc, struct _sas_node *sas_node, - u64 sas_address) + u64 sas_address, struct hba_port *port) { int i; for (i = 0; i < sas_node->num_phys; i++) { if (sas_node->phy[i].remote_identify.sas_address != sas_address) continue; + if (sas_node->phy[i].port != port) + continue; if (sas_node->phy[i].phy_belongs_to_port == 1) - _transport_del_phy_from_an_existing_port(ioc, sas_node, - &sas_node->phy[i]); + mpt3sas_transport_del_phy_from_an_existing_port(ioc, + sas_node, &sas_node->phy[i]); } } @@ -594,6 +671,7 @@ * @ioc: per adapter object * @handle: handle of attached device * @sas_address: sas address of parent expander or sas host + * @port: hba port entry * Context: This function will acquire ioc->sas_node_lock. * * Adding new port object to the sas_node->sas_port_list. @@ -602,7 +680,7 @@ */ struct _sas_port * mpt3sas_transport_port_add(struct MPT3SAS_ADAPTER *ioc, u16 handle, - u64 sas_address) + u64 sas_address, struct hba_port *hba_port) { struct _sas_phy *mpt3sas_phy, *next; struct _sas_port *mpt3sas_port; @@ -612,6 +690,13 @@ struct _sas_device *sas_device = NULL; int i; struct sas_port *port; + struct virtual_phy *vphy = NULL; + + if (!hba_port) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + return NULL; + } mpt3sas_port = kzalloc(sizeof(struct _sas_port), GFP_KERNEL); @@ -624,7 +709,8 @@ INIT_LIST_HEAD(&mpt3sas_port->port_list); INIT_LIST_HEAD(&mpt3sas_port->phy_list); spin_lock_irqsave(&ioc->sas_node_lock, flags); - sas_node = _transport_sas_node_find_by_sas_address(ioc, sas_address); + sas_node = _transport_sas_node_find_by_sas_address(ioc, + sas_address, hba_port); spin_unlock_irqrestore(&ioc->sas_node_lock, flags); if (!sas_node) { @@ -646,16 +732,32 @@ goto out_fail; } + mpt3sas_port->hba_port = hba_port; _transport_sanity_check(ioc, sas_node, - mpt3sas_port->remote_identify.sas_address); + mpt3sas_port->remote_identify.sas_address, hba_port); for (i = 0; i < sas_node->num_phys; i++) { if (sas_node->phy[i].remote_identify.sas_address != mpt3sas_port->remote_identify.sas_address) continue; + if (sas_node->phy[i].port != hba_port) + continue; list_add_tail(&sas_node->phy[i].port_siblings, &mpt3sas_port->phy_list); mpt3sas_port->num_phys++; + if (sas_node->handle <= ioc->sas_hba.num_phys) { + if (!sas_node->phy[i].hba_vphy) { + hba_port->phy_mask |= (1 << i); + continue; + } + + vphy = mpt3sas_get_vphy_by_phy(ioc, hba_port, i); + if (!vphy) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + goto out_fail; + } + } } if (!mpt3sas_port->num_phys) { @@ -664,6 +766,18 @@ goto out_fail; } + if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) { + sas_device = mpt3sas_get_sdev_by_addr(ioc, + mpt3sas_port->remote_identify.sas_address, + mpt3sas_port->hba_port); + if (!sas_device) { + ioc_err(ioc, "failure at %s:%d/%s()!\n", + __FILE__, __LINE__, __func__); + goto out_fail; + } + sas_device->pend_sas_rphy_add = 1; + } + if (!sas_node->parent_dev) { ioc_err(ioc, "failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); @@ -686,29 +800,31 @@ mpt3sas_phy->phy_id); sas_port_add_phy(port, mpt3sas_phy->phy); mpt3sas_phy->phy_belongs_to_port = 1; + mpt3sas_phy->port = hba_port; } mpt3sas_port->port = port; - if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) + if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) { rphy = sas_end_device_alloc(port); - else + sas_device->rphy = rphy; + if (sas_node->handle <= ioc->sas_hba.num_phys) { + if (!vphy) + hba_port->sas_address = + sas_device->sas_address; + else + vphy->sas_address = + sas_device->sas_address; + } + } else { rphy = sas_expander_alloc(port, mpt3sas_port->remote_identify.device_type); + if (sas_node->handle <= ioc->sas_hba.num_phys) + hba_port->sas_address = + mpt3sas_port->remote_identify.sas_address; + } rphy->identify = mpt3sas_port->remote_identify; - if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) { - sas_device = mpt3sas_get_sdev_by_addr(ioc, - mpt3sas_port->remote_identify.sas_address); - if (!sas_device) { - dfailprintk(ioc, - ioc_info(ioc, "failure at %s:%d/%s()!\n", - __FILE__, __LINE__, __func__)); - goto out_fail; - } - sas_device->pend_sas_rphy_add = 1; - } - if ((sas_rphy_add(rphy))) { ioc_err(ioc, "failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); @@ -735,7 +851,7 @@ MPI2_SAS_DEVICE_INFO_FANOUT_EXPANDER) _transport_expander_report_manufacture(ioc, mpt3sas_port->remote_identify.sas_address, - rphy_to_expander_device(rphy)); + rphy_to_expander_device(rphy), hba_port->port_id); return mpt3sas_port; out_fail: @@ -751,6 +867,7 @@ * @ioc: per adapter object * @sas_address: sas address of attached device * @sas_address_parent: sas address of parent expander or sas host + * @port: hba port entry * Context: This function will acquire ioc->sas_node_lock. * * Removing object and freeing associated memory from the @@ -758,7 +875,7 @@ */ void mpt3sas_transport_port_remove(struct MPT3SAS_ADAPTER *ioc, u64 sas_address, - u64 sas_address_parent) + u64 sas_address_parent, struct hba_port *port) { int i; unsigned long flags; @@ -766,10 +883,15 @@ struct _sas_node *sas_node; u8 found = 0; struct _sas_phy *mpt3sas_phy, *next_phy; + struct hba_port *hba_port_next, *hba_port = NULL; + struct virtual_phy *vphy, *vphy_next = NULL; + + if (!port) + return; spin_lock_irqsave(&ioc->sas_node_lock, flags); sas_node = _transport_sas_node_find_by_sas_address(ioc, - sas_address_parent); + sas_address_parent, port); if (!sas_node) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return; @@ -778,6 +900,8 @@ port_list) { if (mpt3sas_port->remote_identify.sas_address != sas_address) continue; + if (mpt3sas_port->hba_port != port) + continue; found = 1; list_del(&mpt3sas_port->port_list); goto out; @@ -788,6 +912,61 @@ return; } + if (sas_node->handle <= ioc->sas_hba.num_phys && + (ioc->multipath_on_hba)) { + if (port->vphys_mask) { + list_for_each_entry_safe(vphy, vphy_next, + &port->vphys_list, list) { + if (vphy->sas_address != sas_address) + continue; + ioc_info(ioc, + "remove vphy entry: %p of port:%p,from %d port's vphys list\n", + vphy, port, port->port_id); + port->vphys_mask &= ~vphy->phy_mask; + list_del(&vphy->list); + kfree(vphy); + } + } + + list_for_each_entry_safe(hba_port, hba_port_next, + &ioc->port_table_list, list) { + if (hba_port != port) + continue; + /* + * Delete hba_port object if + * - hba_port object's sas address matches with current + * removed device's sas address and no vphy's + * associated with it. + * - Current removed device is a vSES device and + * none of the other direct attached device have + * this vSES device's port number (hence hba_port + * object sas_address field will be zero). + */ + if ((hba_port->sas_address == sas_address || + !hba_port->sas_address) && !hba_port->vphys_mask) { + ioc_info(ioc, + "remove hba_port entry: %p port: %d from hba_port list\n", + hba_port, hba_port->port_id); + list_del(&hba_port->list); + kfree(hba_port); + } else if (hba_port->sas_address == sas_address && + hba_port->vphys_mask) { + /* + * Current removed device is a non vSES device + * and a vSES device has the same port number + * as of current device's port number. Hence + * only clear the sas_address filed, don't + * delete the hba_port object. + */ + ioc_info(ioc, + "clearing sas_address from hba_port entry: %p port: %d from hba_port list\n", + hba_port, hba_port->port_id); + port->sas_address = 0; + } + break; + } + } + for (i = 0; i < sas_node->num_phys; i++) { if (sas_node->phy[i].remote_identify.sas_address == sas_address) memset(&sas_node->phy[i].remote_identify, 0 , @@ -864,6 +1043,7 @@ phy_pg0.ProgrammedLinkRate & MPI2_SAS_PRATE_MIN_RATE_MASK); phy->maximum_linkrate = _transport_convert_phy_link_rate( phy_pg0.ProgrammedLinkRate >> 4); + phy->hostdata = mpt3sas_phy->port; if ((sas_phy_add(phy))) { ioc_err(ioc, "failure at %s:%d/%s()!\n", @@ -934,6 +1114,7 @@ expander_pg1.ProgrammedLinkRate & MPI2_SAS_PRATE_MIN_RATE_MASK); phy->maximum_linkrate = _transport_convert_phy_link_rate( expander_pg1.ProgrammedLinkRate >> 4); + phy->hostdata = mpt3sas_phy->port; if ((sas_phy_add(phy))) { ioc_err(ioc, "failure at %s:%d/%s()!\n", @@ -961,20 +1142,26 @@ * @handle: attached device handle * @phy_number: phy number * @link_rate: new link rate + * @port: hba port entry + * + * Return nothing. */ void mpt3sas_transport_update_links(struct MPT3SAS_ADAPTER *ioc, - u64 sas_address, u16 handle, u8 phy_number, u8 link_rate) + u64 sas_address, u16 handle, u8 phy_number, u8 link_rate, + struct hba_port *port) { unsigned long flags; struct _sas_node *sas_node; struct _sas_phy *mpt3sas_phy; + struct hba_port *hba_port = NULL; if (ioc->shost_recovery || ioc->pci_error_recovery) return; spin_lock_irqsave(&ioc->sas_node_lock, flags); - sas_node = _transport_sas_node_find_by_sas_address(ioc, sas_address); + sas_node = _transport_sas_node_find_by_sas_address(ioc, + sas_address, port); if (!sas_node) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return; @@ -986,8 +1173,19 @@ if (handle && (link_rate >= MPI2_SAS_NEG_LINK_RATE_1_5)) { _transport_set_identify(ioc, handle, &mpt3sas_phy->remote_identify); - _transport_add_phy_to_an_existing_port(ioc, sas_node, - mpt3sas_phy, mpt3sas_phy->remote_identify.sas_address); + if ((sas_node->handle <= ioc->sas_hba.num_phys) && + (ioc->multipath_on_hba)) { + list_for_each_entry(hba_port, + &ioc->port_table_list, list) { + if (hba_port->sas_address == sas_address && + hba_port == port) + hba_port->phy_mask |= + (1 << mpt3sas_phy->phy_id); + } + } + mpt3sas_transport_add_phy_to_an_existing_port(ioc, sas_node, + mpt3sas_phy, mpt3sas_phy->remote_identify.sas_address, + port); } else memset(&mpt3sas_phy->remote_identify, 0 , sizeof(struct sas_identify)); @@ -1122,7 +1320,7 @@ memset(mpi_request, 0, sizeof(Mpi2SmpPassthroughRequest_t)); mpi_request->Function = MPI2_FUNCTION_SMP_PASSTHROUGH; - mpi_request->PhysicalPort = 0xFF; + mpi_request->PhysicalPort = _transport_get_port_id_by_sas_phy(phy); mpi_request->VF_ID = 0; /* TODO */ mpi_request->VP_ID = 0; mpi_request->SASAddress = cpu_to_le64(phy->identify.sas_address); @@ -1212,10 +1410,13 @@ unsigned long flags; Mpi2ConfigReply_t mpi_reply; Mpi2SasPhyPage1_t phy_pg1; + struct hba_port *port = phy->hostdata; + int port_id = port->port_id; spin_lock_irqsave(&ioc->sas_node_lock, flags); if (_transport_sas_node_find_by_sas_address(ioc, - phy->identify.sas_address) == NULL) { + phy->identify.sas_address, + mpt3sas_get_port_by_id(ioc, port_id, 0)) == NULL) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return -EINVAL; } @@ -1265,8 +1466,7 @@ int rc; spin_lock_irqsave(&ioc->sas_device_lock, flags); - sas_device = __mpt3sas_get_sdev_by_addr(ioc, - rphy->identify.sas_address); + sas_device = __mpt3sas_get_sdev_by_rphy(ioc, rphy); if (sas_device) { *identifier = sas_device->enclosure_logical_id; rc = 0; @@ -1295,8 +1495,7 @@ int rc; spin_lock_irqsave(&ioc->sas_device_lock, flags); - sas_device = __mpt3sas_get_sdev_by_addr(ioc, - rphy->identify.sas_address); + sas_device = __mpt3sas_get_sdev_by_rphy(ioc, rphy); if (sas_device) { rc = sas_device->slot; sas_device_put(sas_device); @@ -1417,7 +1616,7 @@ memset(mpi_request, 0, sizeof(Mpi2SmpPassthroughRequest_t)); mpi_request->Function = MPI2_FUNCTION_SMP_PASSTHROUGH; - mpi_request->PhysicalPort = 0xFF; + mpi_request->PhysicalPort = _transport_get_port_id_by_sas_phy(phy); mpi_request->VF_ID = 0; /* TODO */ mpi_request->VP_ID = 0; mpi_request->SASAddress = cpu_to_le64(phy->identify.sas_address); @@ -1499,11 +1698,14 @@ struct MPT3SAS_ADAPTER *ioc = phy_to_ioc(phy); Mpi2SasIoUnitControlReply_t mpi_reply; Mpi2SasIoUnitControlRequest_t mpi_request; + struct hba_port *port = phy->hostdata; + int port_id = port->port_id; unsigned long flags; spin_lock_irqsave(&ioc->sas_node_lock, flags); if (_transport_sas_node_find_by_sas_address(ioc, - phy->identify.sas_address) == NULL) { + phy->identify.sas_address, + mpt3sas_get_port_by_id(ioc, port_id, 0)) == NULL) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return -EINVAL; } @@ -1556,10 +1758,13 @@ int rc = 0; unsigned long flags; int i, discovery_active; + struct hba_port *port = phy->hostdata; + int port_id = port->port_id; spin_lock_irqsave(&ioc->sas_node_lock, flags); if (_transport_sas_node_find_by_sas_address(ioc, - phy->identify.sas_address) == NULL) { + phy->identify.sas_address, + mpt3sas_get_port_by_id(ioc, port_id, 0)) == NULL) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return -EINVAL; } @@ -1693,10 +1898,13 @@ int i; int rc = 0; unsigned long flags; + struct hba_port *port = phy->hostdata; + int port_id = port->port_id; spin_lock_irqsave(&ioc->sas_node_lock, flags); if (_transport_sas_node_find_by_sas_address(ioc, - phy->identify.sas_address) == NULL) { + phy->identify.sas_address, + mpt3sas_get_port_by_id(ioc, port_id, 0)) == NULL) { spin_unlock_irqrestore(&ioc->sas_node_lock, flags); return -EINVAL; } @@ -1898,7 +2106,7 @@ memset(mpi_request, 0, sizeof(Mpi2SmpPassthroughRequest_t)); mpi_request->Function = MPI2_FUNCTION_SMP_PASSTHROUGH; - mpi_request->PhysicalPort = 0xFF; + mpi_request->PhysicalPort = _transport_get_port_id_by_rphy(ioc, rphy); mpi_request->SASAddress = (rphy) ? cpu_to_le64(rphy->identify.sas_address) : cpu_to_le64(ioc->sas_hba.sas_address); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/mvumi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/mvumi.c @@ -2425,6 +2425,7 @@ if (IS_ERR(mhba->dm_thread)) { dev_err(&mhba->pdev->dev, "failed to create device scan thread\n"); + ret = PTR_ERR(mhba->dm_thread); mutex_unlock(&mhba->sas_discovery_mutex); goto fail_create_thread; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/myrs.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/myrs.c @@ -2274,12 +2274,12 @@ if (cs->mmio_base) { cs->disable_intr(cs); iounmap(cs->mmio_base); + cs->mmio_base = NULL; } if (cs->irq) free_irq(cs->irq, cs); if (cs->io_addr) release_region(cs->io_addr, 0x80); - iounmap(cs->mmio_base); pci_set_drvdata(pdev, NULL); pci_disable_device(pdev); scsi_host_put(cs->host); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/pm8001/pm8001_hwi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/pm8001/pm8001_hwi.c @@ -3224,10 +3224,15 @@ pm8001_ha->memoryMap.region[NVMD].virt_ptr, fw_control_context->len); kfree(ccb->fw_control_context); + /* To avoid race condition, complete should be + * called after the message is copied to + * fw_control_context->usrAddr + */ + complete(pm8001_ha->nvmd_completion); + PM8001_MSG_DBG(pm8001_ha, pm8001_printk("Set nvm data complete!\n")); ccb->task = NULL; ccb->ccb_tag = 0xFFFFFFFF; pm8001_tag_free(pm8001_ha, tag); - complete(pm8001_ha->nvmd_completion); } int pm8001_mpi_local_phy_ctl(struct pm8001_hba_info *pm8001_ha, void *piomb) --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/pm8001/pm8001_init.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/pm8001/pm8001_init.c @@ -1106,7 +1106,8 @@ pm8001_init_sas_add(pm8001_ha); /* phy setting support for motherboard controller */ - if (pm8001_configure_phy_settings(pm8001_ha)) + rc = pm8001_configure_phy_settings(pm8001_ha); + if (rc) goto err_out_shost; pm8001_post_sas_ha_init(shost, chip); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/pm8001/pm8001_sas.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/pm8001/pm8001_sas.c @@ -818,7 +818,7 @@ res = pm8001_tag_alloc(pm8001_ha, &ccb_tag); if (res) - return res; + goto ex_err; ccb = &pm8001_ha->ccb_info[ccb_tag]; ccb->device = pm8001_dev; ccb->ccb_tag = ccb_tag; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/pm8001/pm80xx_hwi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/pm8001/pm80xx_hwi.c @@ -3352,7 +3352,7 @@ pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr); spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags); if (pm8001_ha->flags == PM8001F_RUN_TIME) - msleep(200);/*delay a moment to wait disk to spinup*/ + mdelay(200); /* delay a moment to wait for disk to spin up */ pm8001_bytes_dmaed(pm8001_ha, phy_id); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qedf/qedf_main.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qedf/qedf_main.c @@ -704,7 +704,7 @@ rdata = fcport->rdata; if (!rdata || !kref_get_unless_zero(&rdata->kref)) { QEDF_ERR(&qedf->dbg_ctx, "stale rport, sc_cmd=%p\n", sc_cmd); - rc = 1; + rc = SUCCESS; goto out; } @@ -3843,7 +3843,7 @@ container_of(work, struct qedf_ctx, stag_work.work); if (!qedf) { - QEDF_ERR(&qedf->dbg_ctx, "qedf is NULL"); + QEDF_ERR(NULL, "qedf is NULL"); return; } QEDF_ERR(&qedf->dbg_ctx, "Performing software context reset.\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qedi/qedi_fw.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qedi/qedi_fw.c @@ -59,6 +59,7 @@ "Freeing tid=0x%x for cid=0x%x\n", cmd->task_id, qedi_conn->iscsi_conn_id); + spin_lock(&qedi_conn->list_lock); if (likely(cmd->io_cmd_in_list)) { cmd->io_cmd_in_list = false; list_del_init(&cmd->io_cmd); @@ -69,6 +70,7 @@ cmd->task_id, qedi_conn->iscsi_conn_id, &cmd->io_cmd); } + spin_unlock(&qedi_conn->list_lock); cmd->state = RESPONSE_RECEIVED; qedi_clear_task_idx(qedi, cmd->task_id); @@ -122,6 +124,7 @@ "Freeing tid=0x%x for cid=0x%x\n", cmd->task_id, qedi_conn->iscsi_conn_id); + spin_lock(&qedi_conn->list_lock); if (likely(cmd->io_cmd_in_list)) { cmd->io_cmd_in_list = false; list_del_init(&cmd->io_cmd); @@ -132,6 +135,7 @@ cmd->task_id, qedi_conn->iscsi_conn_id, &cmd->io_cmd); } + spin_unlock(&qedi_conn->list_lock); cmd->state = RESPONSE_RECEIVED; qedi_clear_task_idx(qedi, cmd->task_id); @@ -222,11 +226,13 @@ tmf_hdr = (struct iscsi_tm *)qedi_cmd->task->hdr; + spin_lock(&qedi_conn->list_lock); if (likely(qedi_cmd->io_cmd_in_list)) { qedi_cmd->io_cmd_in_list = false; list_del_init(&qedi_cmd->io_cmd); qedi_conn->active_cmd_count--; } + spin_unlock(&qedi_conn->list_lock); if (((tmf_hdr->flags & ISCSI_FLAG_TM_FUNC_MASK) == ISCSI_TM_FUNC_LOGICAL_UNIT_RESET) || @@ -288,11 +294,13 @@ ISCSI_LOGIN_RESPONSE_HDR_DATA_SEG_LEN_MASK; qedi_conn->gen_pdu.resp_wr_ptr = qedi_conn->gen_pdu.resp_buf + pld_len; + spin_lock(&qedi_conn->list_lock); if (likely(cmd->io_cmd_in_list)) { cmd->io_cmd_in_list = false; list_del_init(&cmd->io_cmd); qedi_conn->active_cmd_count--; } + spin_unlock(&qedi_conn->list_lock); memset(task_ctx, '\0', sizeof(*task_ctx)); @@ -817,8 +825,11 @@ qedi_clear_task_idx(qedi_conn->qedi, rtid); spin_lock(&qedi_conn->list_lock); - list_del_init(&dbg_cmd->io_cmd); - qedi_conn->active_cmd_count--; + if (likely(dbg_cmd->io_cmd_in_list)) { + dbg_cmd->io_cmd_in_list = false; + list_del_init(&dbg_cmd->io_cmd); + qedi_conn->active_cmd_count--; + } spin_unlock(&qedi_conn->list_lock); qedi_cmd->state = CLEANUP_RECV; wake_up_interruptible(&qedi_conn->wait_queue); @@ -1236,6 +1247,7 @@ qedi_conn->cmd_cleanup_req++; qedi_iscsi_cleanup_task(ctask, true); + cmd->io_cmd_in_list = false; list_del_init(&cmd->io_cmd); qedi_conn->active_cmd_count--; QEDI_WARN(&qedi->dbg_ctx, @@ -1447,8 +1459,11 @@ spin_unlock_bh(&qedi_conn->tmf_work_lock); spin_lock(&qedi_conn->list_lock); - list_del_init(&cmd->io_cmd); - qedi_conn->active_cmd_count--; + if (likely(cmd->io_cmd_in_list)) { + cmd->io_cmd_in_list = false; + list_del_init(&cmd->io_cmd); + qedi_conn->active_cmd_count--; + } spin_unlock(&qedi_conn->list_lock); clear_bit(QEDI_CONN_FW_CLEANUP, &qedi_conn->flags); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qedi/qedi_iscsi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qedi/qedi_iscsi.c @@ -975,11 +975,13 @@ { struct qedi_cmd *cmd, *cmd_tmp; + spin_lock(&qedi_conn->list_lock); list_for_each_entry_safe(cmd, cmd_tmp, &qedi_conn->active_cmd_list, io_cmd) { list_del_init(&cmd->io_cmd); qedi_conn->active_cmd_count--; } + spin_unlock(&qedi_conn->list_lock); } static void qedi_ep_disconnect(struct iscsi_endpoint *ep) --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qedi/qedi_main.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qedi/qedi_main.c @@ -1127,6 +1127,15 @@ schedule_delayed_work(&qedi->recovery_work, 0); } +static void qedi_set_conn_recovery(struct iscsi_cls_session *cls_session) +{ + struct iscsi_session *session = cls_session->dd_data; + struct iscsi_conn *conn = session->leadconn; + struct qedi_conn *qedi_conn = conn->dd_data; + + qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn); +} + static void qedi_link_update(void *dev, struct qed_link_output *link) { struct qedi_ctx *qedi = (struct qedi_ctx *)dev; @@ -1138,6 +1147,7 @@ QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_INFO, "Link Down event.\n"); atomic_set(&qedi->link_state, QEDI_LINK_DOWN); + iscsi_host_for_each_session(qedi->shost, qedi_set_conn_recovery); } } @@ -1620,6 +1630,7 @@ if (!qedi->global_queues[i]) { QEDI_ERR(&qedi->dbg_ctx, "Unable to allocation global queue %d.\n", i); + status = -ENOMEM; goto mem_alloc_failure; } @@ -2190,7 +2201,7 @@ chap_name); break; case ISCSI_BOOT_TGT_CHAP_SECRET: - rc = sprintf(buf, "%.*s\n", NVM_ISCSI_CFG_CHAP_NAME_MAX_LEN, + rc = sprintf(buf, "%.*s\n", NVM_ISCSI_CFG_CHAP_PWD_MAX_LEN, chap_secret); break; case ISCSI_BOOT_TGT_REV_CHAP_NAME: @@ -2198,7 +2209,7 @@ mchap_name); break; case ISCSI_BOOT_TGT_REV_CHAP_SECRET: - rc = sprintf(buf, "%.*s\n", NVM_ISCSI_CFG_CHAP_NAME_MAX_LEN, + rc = sprintf(buf, "%.*s\n", NVM_ISCSI_CFG_CHAP_PWD_MAX_LEN, mchap_secret); break; case ISCSI_BOOT_TGT_FLAGS: @@ -2657,7 +2668,7 @@ QEDI_ERR(&qedi->dbg_ctx, "Unable to start offload thread!\n"); rc = -ENODEV; - goto free_cid_que; + goto free_tmf_thread; } INIT_DELAYED_WORK(&qedi->recovery_work, qedi_recovery_handler); @@ -2679,6 +2690,8 @@ return 0; +free_tmf_thread: + destroy_workqueue(qedi->tmf_thread); free_cid_que: qedi_release_cid_que(qedi); free_uio: --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_attr.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_attr.c @@ -157,6 +157,14 @@ vha->host_no); } break; + case 10: + if (IS_QLA27XX(ha) || IS_QLA28XX(ha)) { + ql_log(ql_log_info, vha, 0x70e9, + "Issuing MPI firmware dump on host#%ld.\n", + vha->host_no); + ha->isp_ops->mpi_fw_dump(vha, 0); + } + break; } return count; } @@ -744,8 +752,6 @@ qla83xx_idc_audit(vha, IDC_AUDIT_TIMESTAMP); qla83xx_idc_unlock(vha, 0); break; - } else if (IS_QLA27XX(ha) || IS_QLA28XX(ha)) { - qla27xx_reset_mpi(vha); } else { /* Make sure FC side is not in reset */ WARN_ON_ONCE(qla2x00_wait_for_hba_online(vha) != --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_dbg.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_dbg.c @@ -209,6 +209,7 @@ wrt_reg_word(®->mailbox0, MBC_DUMP_RISC_RAM_EXTENDED); wrt_reg_word(®->mailbox1, LSW(addr)); wrt_reg_word(®->mailbox8, MSW(addr)); + wrt_reg_word(®->mailbox10, 0); wrt_reg_word(®->mailbox2, MSW(LSD(dump_dma))); wrt_reg_word(®->mailbox3, LSW(LSD(dump_dma))); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_def.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_def.h @@ -1605,7 +1605,7 @@ */ uint8_t firmware_options[2]; - uint16_t frame_payload_size; + __le16 frame_payload_size; __le16 max_iocb_allocation; __le16 execution_throttle; uint8_t retry_count; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_gbl.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_gbl.h @@ -936,6 +936,5 @@ /* nvme.c */ void qla_nvme_unregister_remote_port(struct fc_port *fcport); -void qla27xx_reset_mpi(scsi_qla_host_t *vha); void qla_handle_els_plogi_done(scsi_qla_host_t *vha, struct event_arg *ea); #endif /* _QLA_GBL_H */ --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_gs.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_gs.c @@ -1505,11 +1505,11 @@ static uint qla25xx_fdmi_port_speed_capability(struct qla_hw_data *ha) { + uint speeds = 0; + if (IS_CNA_CAPABLE(ha)) return FDMI_PORT_SPEED_10GB; if (IS_QLA28XX(ha) || IS_QLA27XX(ha)) { - uint speeds = 0; - if (ha->max_supported_speed == 2) { if (ha->min_supported_speed <= 6) speeds |= FDMI_PORT_SPEED_64GB; @@ -1536,9 +1536,16 @@ } return speeds; } - if (IS_QLA2031(ha)) - return FDMI_PORT_SPEED_16GB|FDMI_PORT_SPEED_8GB| - FDMI_PORT_SPEED_4GB; + if (IS_QLA2031(ha)) { + if ((ha->pdev->subsystem_vendor == 0x103C) && + (ha->pdev->subsystem_device == 0x8002)) { + speeds = FDMI_PORT_SPEED_16GB; + } else { + speeds = FDMI_PORT_SPEED_16GB|FDMI_PORT_SPEED_8GB| + FDMI_PORT_SPEED_4GB; + } + return speeds; + } if (IS_QLA25XX(ha)) return FDMI_PORT_SPEED_8GB|FDMI_PORT_SPEED_4GB| FDMI_PORT_SPEED_2GB|FDMI_PORT_SPEED_1GB; @@ -3436,7 +3443,6 @@ list_for_each_entry(fcport, &vha->vp_fcports, list) { if ((fcport->flags & FCF_FABRIC_DEVICE) != 0) { fcport->scan_state = QLA_FCPORT_SCAN; - fcport->logout_on_delete = 0; } } goto login_logout; @@ -3532,10 +3538,22 @@ } if (fcport->scan_state != QLA_FCPORT_FOUND) { + bool do_delete = false; + + if (fcport->scan_needed && + fcport->disc_state == DSC_LOGIN_PEND) { + /* Cable got disconnected after we sent + * a login. Do delete to prevent timeout. + */ + fcport->logout_on_delete = 1; + do_delete = true; + } + fcport->scan_needed = 0; - if ((qla_dual_mode_enabled(vha) || - qla_ini_mode_enabled(vha)) && - atomic_read(&fcport->state) == FCS_ONLINE) { + if (((qla_dual_mode_enabled(vha) || + qla_ini_mode_enabled(vha)) && + atomic_read(&fcport->state) == FCS_ONLINE) || + do_delete) { if (fcport->loop_id != FC_NO_LOOP_ID) { if (fcport->flags & FCF_FCP2_DEVICE) fcport->logout_on_delete = 0; @@ -3736,6 +3754,18 @@ unsigned long flags; const char *name = sp->name; + if (res == QLA_OS_TIMER_EXPIRED) { + /* switch is ignoring all commands. + * This might be a zone disable behavior. + * This means we hit 64s timeout. + * 22s GPNFT + 44s Abort = 64s + */ + ql_dbg(ql_dbg_disc, vha, 0xffff, + "%s: Switch Zone check please .\n", + name); + qla2x00_mark_all_devices_lost(vha); + } + /* * We are in an Interrupt context, queue up this * sp for GNNFT_DONE work. This will allow all --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_init.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_init.c @@ -63,6 +63,16 @@ qla2x00_rel_sp(sp); } +void qla2xxx_rel_done_warning(srb_t *sp, int res) +{ + WARN_ONCE(1, "Calling done() of an already freed srb %p object\n", sp); +} + +void qla2xxx_rel_free_warning(srb_t *sp) +{ + WARN_ONCE(1, "Calling free() of an already freed srb %p object\n", sp); +} + /* Asynchronous Login/Logout Routines -------------------------------------- */ unsigned long @@ -1259,9 +1269,10 @@ lio->u.logio.flags |= SRB_LOGIN_NVME_PRLI; ql_dbg(ql_dbg_disc, vha, 0x211b, - "Async-prli - %8phC hdl=%x, loopid=%x portid=%06x retries=%d %s.\n", + "Async-prli - %8phC hdl=%x, loopid=%x portid=%06x retries=%d fc4type %x priority %x %s.\n", fcport->port_name, sp->handle, fcport->loop_id, fcport->d_id.b24, - fcport->login_retry, NVME_TARGET(vha->hw, fcport) ? "nvme" : "fc"); + fcport->login_retry, fcport->fc4_type, vha->hw->fc4_type_priority, + NVME_TARGET(vha->hw, fcport) ? "nvme" : "fcp"); rval = qla2x00_start_sp(sp); if (rval != QLA_SUCCESS) { @@ -1923,26 +1934,58 @@ break; } - /* - * Retry PRLI with other FC-4 type if failure occurred on dual - * FCP/NVMe port - */ - if (NVME_FCP_TARGET(ea->fcport)) { - ql_dbg(ql_dbg_disc, vha, 0x2118, - "%s %d %8phC post %s prli\n", - __func__, __LINE__, ea->fcport->port_name, - (ea->fcport->fc4_type & FS_FC4TYPE_NVME) ? - "NVMe" : "FCP"); - if (vha->hw->fc4_type_priority == FC4_PRIORITY_NVME) + ql_dbg(ql_dbg_disc, vha, 0x2118, + "%s %d %8phC priority %s, fc4type %x\n", + __func__, __LINE__, ea->fcport->port_name, + vha->hw->fc4_type_priority == FC4_PRIORITY_FCP ? + "FCP" : "NVMe", ea->fcport->fc4_type); + + if (N2N_TOPO(vha->hw)) { + if (vha->hw->fc4_type_priority == FC4_PRIORITY_NVME) { ea->fcport->fc4_type &= ~FS_FC4TYPE_NVME; - else + ea->fcport->fc4_type |= FS_FC4TYPE_FCP; + } else { ea->fcport->fc4_type &= ~FS_FC4TYPE_FCP; - } + ea->fcport->fc4_type |= FS_FC4TYPE_NVME; + } - ea->fcport->flags &= ~FCF_ASYNC_SENT; - ea->fcport->keep_nport_handle = 0; - ea->fcport->logout_on_delete = 1; - qlt_schedule_sess_for_deletion(ea->fcport); + if (ea->fcport->n2n_link_reset_cnt < 3) { + ea->fcport->n2n_link_reset_cnt++; + vha->relogin_jif = jiffies + 2 * HZ; + /* + * PRLI failed. Reset link to kick start + * state machine + */ + set_bit(N2N_LINK_RESET, &vha->dpc_flags); + } else { + ql_log(ql_log_warn, vha, 0x2119, + "%s %d %8phC Unable to reconnect\n", + __func__, __LINE__, + ea->fcport->port_name); + } + } else { + /* + * switch connect. login failed. Take connection down + * and allow relogin to retrigger + */ + if (NVME_FCP_TARGET(ea->fcport)) { + ql_dbg(ql_dbg_disc, vha, 0x2118, + "%s %d %8phC post %s prli\n", + __func__, __LINE__, + ea->fcport->port_name, + (ea->fcport->fc4_type & FS_FC4TYPE_NVME) + ? "NVMe" : "FCP"); + if (vha->hw->fc4_type_priority == FC4_PRIORITY_NVME) + ea->fcport->fc4_type &= ~FS_FC4TYPE_NVME; + else + ea->fcport->fc4_type &= ~FS_FC4TYPE_FCP; + } + + ea->fcport->flags &= ~FCF_ASYNC_SENT; + ea->fcport->keep_nport_handle = 0; + ea->fcport->logout_on_delete = 1; + qlt_schedule_sess_for_deletion(ea->fcport); + } break; } } @@ -3288,6 +3331,8 @@ j, fwdt->dump_size); dump_size += fwdt->dump_size; } + /* Add space for spare MPI fw dump. */ + dump_size += ha->fwdt[1].dump_size; } else { req_q_size = req->length * sizeof(request_t); rsp_q_size = rsp->length * sizeof(response_t); @@ -4603,18 +4648,18 @@ nv->firmware_options[1] = BIT_7 | BIT_5; nv->add_firmware_options[0] = BIT_5; nv->add_firmware_options[1] = BIT_5 | BIT_4; - nv->frame_payload_size = 2048; + nv->frame_payload_size = cpu_to_le16(2048); nv->special_options[1] = BIT_7; } else if (IS_QLA2200(ha)) { nv->firmware_options[0] = BIT_2 | BIT_1; nv->firmware_options[1] = BIT_7 | BIT_5; nv->add_firmware_options[0] = BIT_5; nv->add_firmware_options[1] = BIT_5 | BIT_4; - nv->frame_payload_size = 1024; + nv->frame_payload_size = cpu_to_le16(1024); } else if (IS_QLA2100(ha)) { nv->firmware_options[0] = BIT_3 | BIT_1; nv->firmware_options[1] = BIT_5; - nv->frame_payload_size = 1024; + nv->frame_payload_size = cpu_to_le16(1024); } nv->max_iocb_allocation = cpu_to_le16(256); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_inline.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_inline.h @@ -207,10 +207,15 @@ return sp; } +void qla2xxx_rel_done_warning(srb_t *sp, int res); +void qla2xxx_rel_free_warning(srb_t *sp); + static inline void qla2xxx_rel_qpair_sp(struct qla_qpair *qpair, srb_t *sp) { sp->qpair = NULL; + sp->done = qla2xxx_rel_done_warning; + sp->free = qla2xxx_rel_free_warning; mempool_free(sp, qpair->srb_mempool); QLA_QPAIR_MARK_NOT_BUSY(qpair); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_iocb.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_iocb.c @@ -2305,8 +2305,8 @@ pkt = req->ring_ptr; memset(pkt, 0, REQUEST_ENTRY_SIZE); if (IS_QLAFX00(ha)) { - wrt_reg_byte((void __iomem *)&pkt->entry_count, req_cnt); - wrt_reg_word((void __iomem *)&pkt->handle, handle); + wrt_reg_byte((u8 __force __iomem *)&pkt->entry_count, req_cnt); + wrt_reg_dword((__le32 __force __iomem *)&pkt->handle, handle); } else { pkt->entry_count = req_cnt; pkt->handle = handle; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_isr.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_isr.c @@ -766,7 +766,7 @@ ql_log(ql_log_warn, vha, 0x02f0, "MPI Heartbeat stop. MPI reset is%s needed. " "MB0[%xh] MB1[%xh] MB2[%xh] MB3[%xh]\n", - mb[0] & BIT_8 ? "" : " not", + mb[1] & BIT_8 ? "" : " not", mb[0], mb[1], mb[2], mb[3]); if ((mb[1] & BIT_8) == 0) --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_mbx.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_mbx.c @@ -333,14 +333,6 @@ if (time_after(jiffies, wait_time)) break; - /* - * Check if it's UNLOADING, cause we cannot poll in - * this case, or else a NULL pointer dereference - * is triggered. - */ - if (unlikely(test_bit(UNLOADING, &base_vha->dpc_flags))) - return QLA_FUNCTION_TIMEOUT; - /* Check for pending interrupts. */ qla2x00_poll(ha->rsp_q_map[0]); @@ -3952,9 +3944,6 @@ fcport->scan_state = QLA_FCPORT_FOUND; fcport->n2n_flag = 1; fcport->keep_nport_handle = 1; - fcport->fc4_type = FS_FC4TYPE_FCP; - if (vha->flags.nvme_enabled) - fcport->fc4_type |= FS_FC4TYPE_NVME; if (wwn_to_u64(vha->port_name) > wwn_to_u64(fcport->port_name)) { @@ -4234,7 +4223,8 @@ if (MSW(addr) || IS_FWI2_CAPABLE(vha->hw)) { mcp->mb[0] = MBC_DUMP_RISC_RAM_EXTENDED; mcp->mb[8] = MSW(addr); - mcp->out_mb = MBX_8|MBX_0; + mcp->mb[10] = 0; + mcp->out_mb = MBX_10|MBX_8|MBX_0; } else { mcp->mb[0] = MBC_DUMP_RISC_RAM; mcp->out_mb = MBX_0; @@ -4916,7 +4906,7 @@ "Done %s.\n", __func__); } - dma_free_coherent(&ha->pdev->dev, DMA_POOL_SIZE, + dma_free_coherent(&ha->pdev->dev, ELS_CMD_MAP_SIZE, els_cmd_map, els_cmd_map_dma); return rval; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_nvme.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_nvme.c @@ -536,6 +536,11 @@ struct nvme_private *priv = fd->private; struct qla_nvme_rport *qla_rport = rport->private; + if (!priv) { + /* nvme association has been torn down */ + return rval; + } + fcport = qla_rport->fcport; if (!qpair || !fcport || (qpair && !qpair->fw_started) || @@ -678,7 +683,7 @@ struct nvme_fc_port_template *tmpl; struct qla_hw_data *ha; struct nvme_fc_port_info pinfo; - int ret = EINVAL; + int ret = -EINVAL; if (!IS_ENABLED(CONFIG_NVME_FC)) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_os.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_os.c @@ -2017,6 +2017,11 @@ /* Determine queue resources */ ha->max_req_queues = ha->max_rsp_queues = 1; ha->msix_count = QLA_BASE_VECTORS; + + /* Check if FW supports MQ or not */ + if (!(ha->fw_attributes & BIT_6)) + goto mqiobase_exit; + if (!ql2xmqsupport || !ql2xnvmeenable || (!IS_QLA25XX(ha) && !IS_QLA81XX(ha))) goto mqiobase_exit; @@ -2829,10 +2834,6 @@ /* This may fail but that's ok */ pci_enable_pcie_error_reporting(pdev); - /* Turn off T10-DIF when FC-NVMe is enabled */ - if (ql2xnvmeenable) - ql2xenabledif = 0; - ha = kzalloc(sizeof(struct qla_hw_data), GFP_KERNEL); if (!ha) { ql_log_pci(ql_log_fatal, pdev, 0x0009, --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_target.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_target.c @@ -1229,14 +1229,15 @@ case DSC_DELETE_PEND: return; case DSC_DELETED: - if (tgt && tgt->tgt_stop && (tgt->sess_count == 0)) - wake_up_all(&tgt->waitQ); - if (sess->vha->fcport_count == 0) - wake_up_all(&sess->vha->fcport_waitQ); - if (!sess->plogi_link[QLT_PLOGI_LINK_SAME_WWN] && - !sess->plogi_link[QLT_PLOGI_LINK_CONFLICT]) + !sess->plogi_link[QLT_PLOGI_LINK_CONFLICT]) { + if (tgt && tgt->tgt_stop && tgt->sess_count == 0) + wake_up_all(&tgt->waitQ); + + if (sess->vha->fcport_count == 0) + wake_up_all(&sess->vha->fcport_waitQ); return; + } break; case DSC_UPD_FCPORT: /* @@ -1270,7 +1271,7 @@ qla24xx_chk_fcp_state(sess); - ql_dbg(ql_dbg_tgt, sess->vha, 0xe001, + ql_dbg(ql_dbg_disc, sess->vha, 0xe001, "Scheduling sess %p for deletion %8phC\n", sess, sess->port_name); @@ -3219,8 +3220,7 @@ if (!qpair->fw_started || (cmd->reset_count != qpair->chip_reset) || (cmd->sess && cmd->sess->deleted)) { cmd->state = QLA_TGT_STATE_PROCESSED; - res = 0; - goto free; + return 0; } ql_dbg_qp(ql_dbg_tgt, qpair, 0xe018, @@ -3231,8 +3231,9 @@ res = qlt_pre_xmit_response(cmd, &prm, xmit_type, scsi_status, &full_req_cnt); - if (unlikely(res != 0)) - goto free; + if (unlikely(res != 0)) { + return res; + } spin_lock_irqsave(qpair->qp_lock_ptr, flags); @@ -3252,8 +3253,7 @@ vha->flags.online, qla2x00_reset_active(vha), cmd->reset_count, qpair->chip_reset); spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); - res = 0; - goto free; + return 0; } /* Does F/W have an IOCBs for this request */ @@ -3356,8 +3356,6 @@ qlt_unmap_sg(vha, cmd); spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); -free: - vha->hw->tgt.tgt_ops->free_cmd(cmd); return res; } EXPORT_SYMBOL(qlt_xmit_response); @@ -5668,7 +5666,7 @@ /* found existing exchange */ qpair->retry_term_cnt++; if (qpair->retry_term_cnt >= 5) { - rc = EIO; + rc = -EIO; qpair->retry_term_cnt = 0; ql_log(ql_log_warn, vha, 0xffff, "Unable to send ABTS Respond. Dumping firmware.\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_target.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_target.h @@ -116,7 +116,6 @@ (min(1270, ((ql) > 0) ? (QLA_TGT_DATASEGS_PER_CMD_24XX + \ QLA_TGT_DATASEGS_PER_CONT_24XX*((ql) - 1)) : 0)) #endif -#endif #define GET_TARGET_ID(ha, iocb) ((HAS_EXTENDED_IDS(ha)) \ ? le16_to_cpu((iocb)->u.isp2x.target.extended) \ @@ -244,6 +243,7 @@ #ifndef CTIO_RET_TYPE #define CTIO_RET_TYPE 0x17 /* CTIO return entry */ #define ATIO_TYPE7 0x06 /* Accept target I/O entry for 24xx */ +#endif struct fcp_hdr { uint8_t r_ctl; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_tmpl.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_tmpl.c @@ -12,33 +12,6 @@ #define IOBASE(vha) IOBAR(ISPREG(vha)) #define INVALID_ENTRY ((struct qla27xx_fwdt_entry *)0xffffffffffffffffUL) -/* hardware_lock assumed held. */ -static void -qla27xx_write_remote_reg(struct scsi_qla_host *vha, - u32 addr, u32 data) -{ - struct device_reg_24xx __iomem *reg = &vha->hw->iobase->isp24; - - ql_dbg(ql_dbg_misc, vha, 0xd300, - "%s: addr/data = %xh/%xh\n", __func__, addr, data); - - wrt_reg_dword(®->iobase_addr, 0x40); - wrt_reg_dword(®->iobase_c4, data); - wrt_reg_dword(®->iobase_window, addr); -} - -void -qla27xx_reset_mpi(scsi_qla_host_t *vha) -{ - ql_dbg(ql_dbg_misc + ql_dbg_verbose, vha, 0xd301, - "Entered %s.\n", __func__); - - qla27xx_write_remote_reg(vha, 0x104050, 0x40004); - qla27xx_write_remote_reg(vha, 0x10405c, 0x4); - - vha->hw->stat.num_mpi_reset++; -} - static inline void qla27xx_insert16(uint16_t value, void *buf, ulong *len) { @@ -956,7 +929,8 @@ static inline int qla27xx_verify_template_checksum(struct qla27xx_fwdt_template *tmp) { - return qla27xx_template_checksum(tmp, tmp->template_size) == 0; + return qla27xx_template_checksum(tmp, + le32_to_cpu(tmp->template_size)) == 0; } static inline int @@ -972,7 +946,7 @@ ulong len = 0; if (qla27xx_fwdt_template_valid(tmp)) { - len = tmp->template_size; + len = le32_to_cpu(tmp->template_size); tmp = memcpy(buf, tmp, len); ql27xx_edit_template(vha, tmp); qla27xx_walk_template(vha, tmp, buf, &len); @@ -988,7 +962,7 @@ ulong len = 0; if (qla27xx_fwdt_template_valid(tmp)) { - len = tmp->template_size; + len = le32_to_cpu(tmp->template_size); qla27xx_walk_template(vha, tmp, NULL, &len); } @@ -1000,7 +974,7 @@ { struct qla27xx_fwdt_template *tmp = p; - return tmp->template_size; + return le32_to_cpu(tmp->template_size); } int @@ -1028,7 +1002,6 @@ qla27xx_mpi_fwdump(scsi_qla_host_t *vha, int hardware_locked) { ulong flags = 0; - bool need_mpi_reset = true; #ifndef __CHECKER__ if (!hardware_locked) @@ -1036,14 +1009,20 @@ #endif if (!vha->hw->mpi_fw_dump) { ql_log(ql_log_warn, vha, 0x02f3, "-> mpi_fwdump no buffer\n"); - } else if (vha->hw->mpi_fw_dumped) { - ql_log(ql_log_warn, vha, 0x02f4, - "-> MPI firmware already dumped (%p) -- ignoring request\n", - vha->hw->mpi_fw_dump); } else { struct fwdt *fwdt = &vha->hw->fwdt[1]; ulong len; void *buf = vha->hw->mpi_fw_dump; + bool walk_template_only = false; + + if (vha->hw->mpi_fw_dumped) { + /* Use the spare area for any further dumps. */ + buf += fwdt->dump_size; + walk_template_only = true; + ql_log(ql_log_warn, vha, 0x02f4, + "-> MPI firmware already dumped -- dump saving to temporary buffer %p.\n", + buf); + } ql_log(ql_log_warn, vha, 0x02f5, "-> fwdt1 running...\n"); if (!fwdt->template) { @@ -1058,9 +1037,10 @@ ql_log(ql_log_warn, vha, 0x02f7, "-> fwdt1 fwdump residual=%+ld\n", fwdt->dump_size - len); - } else { - need_mpi_reset = false; } + vha->hw->stat.num_mpi_reset++; + if (walk_template_only) + goto bailout; vha->hw->mpi_fw_dump_len = len; vha->hw->mpi_fw_dumped = 1; @@ -1072,8 +1052,6 @@ } bailout: - if (need_mpi_reset) - qla27xx_reset_mpi(vha); #ifndef __CHECKER__ if (!hardware_locked) spin_unlock_irqrestore(&vha->hw->hardware_lock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/qla_tmpl.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/qla_tmpl.h @@ -13,7 +13,7 @@ struct __packed qla27xx_fwdt_template { __le32 template_type; __le32 entry_offset; - uint32_t template_size; + __le32 template_size; uint32_t count; /* borrow field for running/residual count */ __le32 entry_count; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -646,7 +646,6 @@ { struct qla_tgt_cmd *cmd = container_of(se_cmd, struct qla_tgt_cmd, se_cmd); - struct scsi_qla_host *vha = cmd->vha; if (cmd->aborted) { /* Cmd can loop during Q-full. tcm_qla2xxx_aborted_task @@ -659,7 +658,6 @@ cmd->se_cmd.transport_state, cmd->se_cmd.t_state, cmd->se_cmd.se_cmd_flags); - vha->hw->tgt.tgt_ops->free_cmd(cmd); return 0; } @@ -687,7 +685,6 @@ { struct qla_tgt_cmd *cmd = container_of(se_cmd, struct qla_tgt_cmd, se_cmd); - struct scsi_qla_host *vha = cmd->vha; int xmit_type = QLA_TGT_XMIT_STATUS; if (cmd->aborted) { @@ -701,7 +698,6 @@ cmd, kref_read(&cmd->se_cmd.cmd_kref), cmd->se_cmd.transport_state, cmd->se_cmd.t_state, cmd->se_cmd.se_cmd_flags); - vha->hw->tgt.tgt_ops->free_cmd(cmd); return 0; } cmd->bufflen = se_cmd->data_length; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/qla4xxx/ql4_os.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/qla4xxx/ql4_os.c @@ -1220,7 +1220,7 @@ le64_to_cpu(ql_iscsi_stats->iscsi_sequence_error); exit_host_stats: if (ql_iscsi_stats) - dma_free_coherent(&ha->pdev->dev, host_stats_size, + dma_free_coherent(&ha->pdev->dev, stats_size, ql_iscsi_stats, iscsi_stats_dma); ql4_printk(KERN_INFO, ha, "%s: Get host stats done\n", --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_debug.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_debug.c @@ -5486,9 +5486,11 @@ u64 d = ktime_get_boottime_ns() - ns_from_boot; if (kt <= d) { /* elapsed duration >= kt */ + spin_lock_irqsave(&sqp->qc_lock, iflags); sqcp->a_cmnd = NULL; atomic_dec(&devip->num_in_q); clear_bit(k, sqp->in_use_bm); + spin_unlock_irqrestore(&sqp->qc_lock, iflags); if (new_sd_dp) kfree(sd_dp); /* call scsi_done() from this thread */ @@ -6610,6 +6612,12 @@ pr_err("submit_queues must be 1 or more\n"); return -EINVAL; } + + if ((sdebug_max_queue > SDEBUG_CANQUEUE) || (sdebug_max_queue < 1)) { + pr_err("max_queue must be in range [1, %d]\n", SDEBUG_CANQUEUE); + return -EINVAL; + } + sdebug_q_arr = kcalloc(submit_queues, sizeof(struct sdebug_queue), GFP_KERNEL); if (sdebug_q_arr == NULL) @@ -6627,7 +6635,7 @@ k = sdeb_zbc_model_str(sdeb_zbc_model_s); if (k < 0) { ret = k; - goto free_vm; + goto free_q_arr; } sdeb_zbc_model = k; switch (sdeb_zbc_model) { @@ -6640,7 +6648,8 @@ break; default: pr_err("Invalid ZBC model\n"); - return -EINVAL; + ret = -EINVAL; + goto free_q_arr; } } if (sdeb_zbc_model != BLK_ZONED_NONE) { @@ -6767,6 +6776,7 @@ sdebug_erase_all_stores(false); xa_destroy(per_store_ap); + kfree(sdebug_q_arr); } device_initcall(scsi_debug_init); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_lib.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_lib.c @@ -250,7 +250,8 @@ req = blk_get_request(sdev->request_queue, data_direction == DMA_TO_DEVICE ? - REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, BLK_MQ_REQ_PREEMPT); + REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, + rq_flags & RQF_PM ? BLK_MQ_REQ_PM : 0); if (IS_ERR(req)) return ret; rq = scsi_req(req); @@ -531,7 +532,7 @@ } } -static void scsi_free_sgtables(struct scsi_cmnd *cmd) +void scsi_free_sgtables(struct scsi_cmnd *cmd) { if (cmd->sdb.table.nents) sg_free_table_chained(&cmd->sdb.table, @@ -540,6 +541,7 @@ sg_free_table_chained(&cmd->prot_sdb->table, SCSI_INLINE_PROT_SG_CNT); } +EXPORT_SYMBOL_GPL(scsi_free_sgtables); static void scsi_mq_uninit_cmd(struct scsi_cmnd *cmd) { @@ -967,7 +969,7 @@ } /** - * scsi_init_io - SCSI I/O initialization function. + * scsi_alloc_sgtables - allocate S/G tables for a command * @cmd: command descriptor we wish to initialize * * Returns: @@ -975,7 +977,7 @@ * * BLK_STS_RESOURCE - if the failure is retryable * * BLK_STS_IOERR - if the failure is fatal */ -blk_status_t scsi_init_io(struct scsi_cmnd *cmd) +blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *cmd) { struct scsi_device *sdev = cmd->device; struct request *rq = cmd->request; @@ -1067,7 +1069,7 @@ scsi_free_sgtables(cmd); return ret; } -EXPORT_SYMBOL(scsi_init_io); +EXPORT_SYMBOL(scsi_alloc_sgtables); /** * scsi_initialize_rq - initialize struct scsi_cmnd partially @@ -1155,7 +1157,7 @@ * submit a request without an attached bio. */ if (req->bio) { - blk_status_t ret = scsi_init_io(cmd); + blk_status_t ret = scsi_alloc_sgtables(cmd); if (unlikely(ret != BLK_STS_OK)) return ret; } else { @@ -1195,7 +1197,6 @@ struct request *req) { struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req); - blk_status_t ret; if (!blk_rq_bytes(req)) cmd->sc_data_direction = DMA_NONE; @@ -1205,20 +1206,16 @@ cmd->sc_data_direction = DMA_FROM_DEVICE; if (blk_rq_is_scsi(req)) - ret = scsi_setup_scsi_cmnd(sdev, req); - else - ret = scsi_setup_fs_cmnd(sdev, req); - - if (ret != BLK_STS_OK) - scsi_free_sgtables(cmd); - - return ret; + return scsi_setup_scsi_cmnd(sdev, req); + return scsi_setup_fs_cmnd(sdev, req); } static blk_status_t scsi_prep_state_check(struct scsi_device *sdev, struct request *req) { switch (sdev->sdev_state) { + case SDEV_CREATED: + return BLK_STS_OK; case SDEV_OFFLINE: case SDEV_TRANSPORT_OFFLINE: /* @@ -1245,18 +1242,18 @@ return BLK_STS_RESOURCE; case SDEV_QUIESCE: /* - * If the devices is blocked we defer normal commands. + * If the device is blocked we only accept power management + * commands. */ - if (req && !(req->rq_flags & RQF_PREEMPT)) + if (req && WARN_ON_ONCE(!(req->rq_flags & RQF_PM))) return BLK_STS_RESOURCE; return BLK_STS_OK; default: /* * For any other not fully online state we only allow - * special commands. In particular any user initiated - * command is not allowed. + * power management commands. */ - if (req && !(req->rq_flags & RQF_PREEMPT)) + if (req && !(req->rq_flags & RQF_PM)) return BLK_STS_IOERR; return BLK_STS_OK; } @@ -2511,15 +2508,13 @@ EXPORT_SYMBOL_GPL(sdev_evt_send_simple); /** - * scsi_device_quiesce - Block user issued commands. + * scsi_device_quiesce - Block all commands except power management. * @sdev: scsi device to quiesce. * * This works by trying to transition to the SDEV_QUIESCE state * (which must be a legal transition). When the device is in this - * state, only special requests will be accepted, all others will - * be deferred. Since special requests may also be requeued requests, - * a successful return doesn't guarantee the device will be - * totally quiescent. + * state, only power management requests will be accepted, all others will + * be deferred. * * Must be called with user context, may sleep. * @@ -2581,12 +2576,12 @@ * device deleted during suspend) */ mutex_lock(&sdev->state_mutex); + if (sdev->sdev_state == SDEV_QUIESCE) + scsi_device_set_state(sdev, SDEV_RUNNING); if (sdev->quiesced_by) { sdev->quiesced_by = NULL; blk_clear_pm_only(sdev->request_queue); } - if (sdev->sdev_state == SDEV_QUIESCE) - scsi_device_set_state(sdev, SDEV_RUNNING); mutex_unlock(&sdev->state_mutex); } EXPORT_SYMBOL(scsi_device_resume); @@ -2841,8 +2836,10 @@ mutex_lock(&sdev->state_mutex); ret = scsi_internal_device_block_nowait(sdev); mutex_unlock(&sdev->state_mutex); - if (ret) + if (ret) { + scsi_device_put(sdev); break; + } } /* @@ -2949,6 +2946,78 @@ } EXPORT_SYMBOL(sdev_enable_disk_events); +static unsigned char designator_prio(const unsigned char *d) +{ + if (d[1] & 0x30) + /* not associated with LUN */ + return 0; + + if (d[3] == 0) + /* invalid length */ + return 0; + + /* + * Order of preference for lun descriptor: + * - SCSI name string + * - NAA IEEE Registered Extended + * - EUI-64 based 16-byte + * - EUI-64 based 12-byte + * - NAA IEEE Registered + * - NAA IEEE Extended + * - EUI-64 based 8-byte + * - SCSI name string (truncated) + * - T10 Vendor ID + * as longer descriptors reduce the likelyhood + * of identification clashes. + */ + + switch (d[1] & 0xf) { + case 8: + /* SCSI name string, variable-length UTF-8 */ + return 9; + case 3: + switch (d[4] >> 4) { + case 6: + /* NAA registered extended */ + return 8; + case 5: + /* NAA registered */ + return 5; + case 4: + /* NAA extended */ + return 4; + case 3: + /* NAA locally assigned */ + return 1; + default: + break; + } + break; + case 2: + switch (d[3]) { + case 16: + /* EUI64-based, 16 byte */ + return 7; + case 12: + /* EUI64-based, 12 byte */ + return 6; + case 8: + /* EUI64-based, 8 byte */ + return 3; + default: + break; + } + break; + case 1: + /* T10 vendor ID */ + return 1; + default: + break; + } + + return 0; +} + /** * scsi_vpd_lun_id - return a unique device identification * @sdev: SCSI device @@ -2965,7 +3034,7 @@ */ int scsi_vpd_lun_id(struct scsi_device *sdev, char *id, size_t id_len) { - u8 cur_id_type = 0xff; + u8 cur_id_prio = 0; u8 cur_id_size = 0; const unsigned char *d, *cur_id_str; const struct scsi_vpd *vpd_pg83; @@ -2978,20 +3047,6 @@ return -ENXIO; } - /* - * Look for the correct descriptor. - * Order of preference for lun descriptor: - * - SCSI name string - * - NAA IEEE Registered Extended - * - EUI-64 based 16-byte - * - EUI-64 based 12-byte - * - NAA IEEE Registered - * - NAA IEEE Extended - * - T10 Vendor ID - * as longer descriptors reduce the likelyhood - * of identification clashes. - */ - /* The id string must be at least 20 bytes + terminating NULL byte */ if (id_len < 21) { rcu_read_unlock(); @@ -3001,8 +3056,9 @@ memset(id, 0, id_len); d = vpd_pg83->data + 4; while (d < vpd_pg83->data + vpd_pg83->len) { - /* Skip designators not referring to the LUN */ - if ((d[1] & 0x30) != 0x00) + u8 prio = designator_prio(d); + + if (prio == 0 || cur_id_prio > prio) goto next_desig; switch (d[1] & 0xf) { @@ -3010,28 +3066,19 @@ /* T10 Vendor ID */ if (cur_id_size > d[3]) break; - /* Prefer anything */ - if (cur_id_type > 0x01 && cur_id_type != 0xff) - break; + cur_id_prio = prio; cur_id_size = d[3]; if (cur_id_size + 4 > id_len) cur_id_size = id_len - 4; cur_id_str = d + 4; - cur_id_type = d[1] & 0xf; id_size = snprintf(id, id_len, "t10.%*pE", cur_id_size, cur_id_str); break; case 0x2: /* EUI-64 */ - if (cur_id_size > d[3]) - break; - /* Prefer NAA IEEE Registered Extended */ - if (cur_id_type == 0x3 && - cur_id_size == d[3]) - break; + cur_id_prio = prio; cur_id_size = d[3]; cur_id_str = d + 4; - cur_id_type = d[1] & 0xf; switch (cur_id_size) { case 8: id_size = snprintf(id, id_len, @@ -3049,17 +3096,14 @@ cur_id_str); break; default: - cur_id_size = 0; break; } break; case 0x3: /* NAA */ - if (cur_id_size > d[3]) - break; + cur_id_prio = prio; cur_id_size = d[3]; cur_id_str = d + 4; - cur_id_type = d[1] & 0xf; switch (cur_id_size) { case 8: id_size = snprintf(id, id_len, @@ -3072,26 +3116,25 @@ cur_id_str); break; default: - cur_id_size = 0; break; } break; case 0x8: /* SCSI name string */ - if (cur_id_size + 4 > d[3]) + if (cur_id_size > d[3]) break; /* Prefer others for truncated descriptor */ - if (cur_id_size && d[3] > id_len) - break; + if (d[3] > id_len) { + prio = 2; + if (cur_id_prio > prio) + break; + } + cur_id_prio = prio; cur_id_size = id_size = d[3]; cur_id_str = d + 4; - cur_id_type = d[1] & 0xf; if (cur_id_size >= id_len) cur_id_size = id_len - 1; memcpy(id, cur_id_str, cur_id_size); - /* Decrease priority for truncated descriptor */ - if (cur_id_size != id_size) - cur_id_size = 6; break; default: break; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_scan.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_scan.c @@ -1714,15 +1714,16 @@ */ static struct async_scan_data *scsi_prep_async_scan(struct Scsi_Host *shost) { - struct async_scan_data *data; + struct async_scan_data *data = NULL; unsigned long flags; if (strncmp(scsi_scan_type, "sync", 4) == 0) return NULL; + mutex_lock(&shost->scan_mutex); if (shost->async_scan) { shost_printk(KERN_DEBUG, shost, "%s called twice\n", __func__); - return NULL; + goto err; } data = kmalloc(sizeof(*data), GFP_KERNEL); @@ -1733,7 +1734,6 @@ goto err; init_completion(&data->prev_finished); - mutex_lock(&shost->scan_mutex); spin_lock_irqsave(shost->host_lock, flags); shost->async_scan = 1; spin_unlock_irqrestore(shost->host_lock, flags); @@ -1748,6 +1748,7 @@ return data; err: + mutex_unlock(&shost->scan_mutex); kfree(data); return NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_transport_iscsi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_transport_iscsi.c @@ -132,7 +132,11 @@ char *buf) { struct iscsi_internal *priv = dev_to_iscsi_internal(dev); - return sprintf(buf, "%llu\n", (unsigned long long)iscsi_handle(priv->iscsi_transport)); + + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; + return sysfs_emit(buf, "%llu\n", + (unsigned long long)iscsi_handle(priv->iscsi_transport)); } static DEVICE_ATTR(handle, S_IRUGO, show_transport_handle, NULL); @@ -142,7 +146,7 @@ struct device_attribute *attr,char *buf) \ { \ struct iscsi_internal *priv = dev_to_iscsi_internal(dev); \ - return sprintf(buf, format"\n", priv->iscsi_transport->name); \ + return sysfs_emit(buf, format"\n", priv->iscsi_transport->name);\ } \ static DEVICE_ATTR(name, S_IRUGO, show_transport_##name, NULL); @@ -183,7 +187,7 @@ show_ep_handle(struct device *dev, struct device_attribute *attr, char *buf) { struct iscsi_endpoint *ep = iscsi_dev_to_endpoint(dev); - return sprintf(buf, "%llu\n", (unsigned long long) ep->id); + return sysfs_emit(buf, "%llu\n", (unsigned long long) ep->id); } static ISCSI_ATTR(ep, handle, S_IRUGO, show_ep_handle, NULL); @@ -2314,7 +2318,9 @@ return conn; release_conn_ref: - put_device(&conn->dev); + device_unregister(&conn->dev); + put_device(&session->dev); + return NULL; release_parent_ref: put_device(&session->dev); free_conn: @@ -2882,6 +2888,9 @@ struct iscsi_cls_session *session; int err = 0, value = 0; + if (ev->u.set_param.len > PAGE_SIZE) + return -EINVAL; + session = iscsi_session_lookup(ev->u.set_param.sid); conn = iscsi_conn_lookup(ev->u.set_param.sid, ev->u.set_param.cid); if (!conn || !session) @@ -3029,6 +3038,9 @@ if (!transport->set_host_param) return -ENOSYS; + if (ev->u.set_host_param.len > PAGE_SIZE) + return -EINVAL; + shost = scsi_host_lookup(ev->u.set_host_param.host_no); if (!shost) { printk(KERN_ERR "set_host_param could not find host no %u\n", @@ -3291,7 +3303,7 @@ pr_err("%s could not find host no %u\n", __func__, ev->u.set_flashnode.host_no); err = -ENODEV; - goto put_host; + goto exit_set_fnode; } idx = ev->u.set_flashnode.flashnode_idx; @@ -3616,6 +3628,7 @@ { int err = 0; u32 portid; + u32 pdu_len; struct iscsi_uevent *ev = nlmsg_data(nlh); struct iscsi_transport *transport = NULL; struct iscsi_internal *priv; @@ -3623,6 +3636,9 @@ struct iscsi_cls_conn *conn; struct iscsi_endpoint *ep = NULL; + if (!netlink_capable(skb, CAP_SYS_ADMIN)) + return -EPERM; + if (nlh->nlmsg_type == ISCSI_UEVENT_PATH_UPDATE) *group = ISCSI_NL_GRP_UIP; else @@ -3755,6 +3771,14 @@ err = -EINVAL; break; case ISCSI_UEVENT_SEND_PDU: + pdu_len = nlh->nlmsg_len - sizeof(*nlh) - sizeof(*ev); + + if ((ev->u.send_pdu.hdr_size > pdu_len) || + (ev->u.send_pdu.data_size > (pdu_len - ev->u.send_pdu.hdr_size))) { + err = -EINVAL; + break; + } + conn = iscsi_conn_lookup(ev->u.send_pdu.sid, ev->u.send_pdu.cid); if (conn) { mutex_lock(&conn_mutex); @@ -3959,7 +3983,7 @@ conn->state < ARRAY_SIZE(connection_state_names)) state = connection_state_names[conn->state]; - return sprintf(buf, "%s\n", state); + return sysfs_emit(buf, "%s\n", state); } static ISCSI_CLASS_ATTR(conn, state, S_IRUGO, show_conn_state, NULL); @@ -4187,7 +4211,7 @@ char *buf) { struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); - return sprintf(buf, "%s\n", iscsi_session_state_name(session->state)); + return sysfs_emit(buf, "%s\n", iscsi_session_state_name(session->state)); } static ISCSI_CLASS_ATTR(priv_sess, state, S_IRUGO, show_priv_session_state, NULL); @@ -4196,7 +4220,7 @@ char *buf) { struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); - return sprintf(buf, "%d\n", session->creator); + return sysfs_emit(buf, "%d\n", session->creator); } static ISCSI_CLASS_ATTR(priv_sess, creator, S_IRUGO, show_priv_session_creator, NULL); @@ -4205,7 +4229,7 @@ char *buf) { struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); - return sprintf(buf, "%d\n", session->target_id); + return sysfs_emit(buf, "%d\n", session->target_id); } static ISCSI_CLASS_ATTR(priv_sess, target_id, S_IRUGO, show_priv_session_target_id, NULL); @@ -4218,8 +4242,8 @@ struct iscsi_cls_session *session = \ iscsi_dev_to_session(dev->parent); \ if (session->field == -1) \ - return sprintf(buf, "off\n"); \ - return sprintf(buf, format"\n", session->field); \ + return sysfs_emit(buf, "off\n"); \ + return sysfs_emit(buf, format"\n", session->field); \ } #define iscsi_priv_session_attr_store(field) \ --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_transport_spi.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_transport_spi.c @@ -117,12 +117,16 @@ sshdr = &sshdr_tmp; for(i = 0; i < DV_RETRIES; i++) { + /* + * The purpose of the RQF_PM flag below is to bypass the + * SDEV_QUIESCE state. + */ result = scsi_execute(sdev, cmd, dir, buffer, bufflen, sense, sshdr, DV_TIMEOUT, /* retries */ 1, REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER, - 0, NULL); + RQF_PM, NULL); if (driver_byte(result) != DRIVER_SENSE || sshdr->sense_key != UNIT_ATTENTION) break; @@ -1005,23 +1009,26 @@ */ lock_system_sleep(); + if (scsi_autopm_get_device(sdev)) + goto unlock_system_sleep; + if (unlikely(spi_dv_in_progress(starget))) - goto unlock; + goto put_autopm; if (unlikely(scsi_device_get(sdev))) - goto unlock; + goto put_autopm; spi_dv_in_progress(starget) = 1; buffer = kzalloc(len, GFP_KERNEL); if (unlikely(!buffer)) - goto out_put; + goto put_sdev; /* We need to verify that the actual device will quiesce; the * later target quiesce is just a nice to have */ if (unlikely(scsi_device_quiesce(sdev))) - goto out_free; + goto free_buffer; scsi_target_quiesce(starget); @@ -1041,12 +1048,16 @@ spi_initial_dv(starget) = 1; - out_free: +free_buffer: kfree(buffer); - out_put: + +put_sdev: spi_dv_in_progress(starget) = 0; scsi_device_put(sdev); -unlock: +put_autopm: + scsi_autopm_put_device(sdev); + +unlock_system_sleep: unlock_system_sleep(); } EXPORT_SYMBOL(spi_dv_device); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/scsi_transport_srp.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/scsi_transport_srp.c @@ -541,7 +541,14 @@ res = mutex_lock_interruptible(&rport->mutex); if (res) goto out; - scsi_target_block(&shost->shost_gendev); + if (rport->state != SRP_RPORT_FAIL_FAST && rport->state != SRP_RPORT_LOST) + /* + * sdev state must be SDEV_TRANSPORT_OFFLINE, transition + * to SDEV_BLOCK is illegal. Calling scsi_target_unblock() + * later is ok though, scsi_internal_device_unblock_nowait() + * treats SDEV_TRANSPORT_OFFLINE like SDEV_BLOCK. + */ + scsi_target_block(&shost->shost_gendev); res = rport->state != SRP_RPORT_LOST ? i->f->reconnect(rport) : -ENODEV; pr_debug("%s (state %d): transport.reconnect() returned %d\n", dev_name(&shost->shost_gendev), rport->state, res); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/sd.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/sd.c @@ -674,9 +674,9 @@ put_unaligned_be16(spsp, &cdb[2]); put_unaligned_be32(len, &cdb[6]); - ret = scsi_execute_req(sdev, cdb, - send ? DMA_TO_DEVICE : DMA_FROM_DEVICE, - buffer, len, NULL, SD_TIMEOUT, SD_MAX_RETRIES, NULL); + ret = scsi_execute(sdev, cdb, send ? DMA_TO_DEVICE : DMA_FROM_DEVICE, + buffer, len, NULL, NULL, SD_TIMEOUT, SD_MAX_RETRIES, 0, + RQF_PM, NULL); return ret <= 0 ? ret : -EIO; } #endif /* CONFIG_BLK_SED_OPAL */ @@ -866,7 +866,7 @@ cmd->transfersize = data_len; rq->timeout = SD_TIMEOUT; - return scsi_init_io(cmd); + return scsi_alloc_sgtables(cmd); } static blk_status_t sd_setup_write_same16_cmnd(struct scsi_cmnd *cmd, @@ -897,7 +897,7 @@ cmd->transfersize = data_len; rq->timeout = unmap ? SD_TIMEOUT : SD_WRITE_SAME_TIMEOUT; - return scsi_init_io(cmd); + return scsi_alloc_sgtables(cmd); } static blk_status_t sd_setup_write_same10_cmnd(struct scsi_cmnd *cmd, @@ -928,7 +928,7 @@ cmd->transfersize = data_len; rq->timeout = unmap ? SD_TIMEOUT : SD_WRITE_SAME_TIMEOUT; - return scsi_init_io(cmd); + return scsi_alloc_sgtables(cmd); } static blk_status_t sd_setup_write_zeroes_cmnd(struct scsi_cmnd *cmd) @@ -948,8 +948,10 @@ } } - if (sdp->no_write_same) + if (sdp->no_write_same) { + rq->rq_flags |= RQF_QUIET; return BLK_STS_TARGET; + } if (sdkp->ws16 || lba > 0xffffffff || nr_blocks > 0xffff) return sd_setup_write_same16_cmnd(cmd, false); @@ -1069,7 +1071,7 @@ * knows how much to actually write. */ rq->__data_len = sdp->sector_size; - ret = scsi_init_io(cmd); + ret = scsi_alloc_sgtables(cmd); rq->__data_len = blk_rq_bytes(rq); return ret; @@ -1187,23 +1189,24 @@ unsigned int dif; bool dix; - ret = scsi_init_io(cmd); + ret = scsi_alloc_sgtables(cmd); if (ret != BLK_STS_OK) return ret; + ret = BLK_STS_IOERR; if (!scsi_device_online(sdp) || sdp->changed) { scmd_printk(KERN_ERR, cmd, "device offline or changed\n"); - return BLK_STS_IOERR; + goto fail; } if (blk_rq_pos(rq) + blk_rq_sectors(rq) > get_capacity(rq->rq_disk)) { scmd_printk(KERN_ERR, cmd, "access beyond end of device\n"); - return BLK_STS_IOERR; + goto fail; } if ((blk_rq_pos(rq) & mask) || (blk_rq_sectors(rq) & mask)) { scmd_printk(KERN_ERR, cmd, "request not aligned to the logical block size\n"); - return BLK_STS_IOERR; + goto fail; } /* @@ -1225,7 +1228,7 @@ if (req_op(rq) == REQ_OP_ZONE_APPEND) { ret = sd_zbc_prepare_zone_append(cmd, &lba, nr_blocks); if (ret) - return ret; + goto fail; } fua = rq->cmd_flags & REQ_FUA ? 0x8 : 0; @@ -1253,7 +1256,7 @@ } if (unlikely(ret != BLK_STS_OK)) - return ret; + goto fail; /* * We shouldn't disconnect in the middle of a sector, so with a dumb @@ -1277,10 +1280,12 @@ blk_rq_sectors(rq))); /* - * This indicates that the command is ready from our end to be - * queued. + * This indicates that the command is ready from our end to be queued. */ return BLK_STS_OK; +fail: + scsi_free_sgtables(cmd); + return ret; } static blk_status_t sd_init_command(struct scsi_cmnd *cmd) @@ -2966,26 +2971,32 @@ if (sdkp->device->type == TYPE_ZBC) { /* Host-managed */ - q->limits.zoned = BLK_ZONED_HM; + blk_queue_set_zoned(sdkp->disk, BLK_ZONED_HM); } else { sdkp->zoned = (buffer[8] >> 4) & 3; - if (sdkp->zoned == 1 && !disk_has_partitions(sdkp->disk)) { + if (sdkp->zoned == 1) { /* Host-aware */ - q->limits.zoned = BLK_ZONED_HA; + blk_queue_set_zoned(sdkp->disk, BLK_ZONED_HA); } else { - /* - * Treat drive-managed devices and host-aware devices - * with partitions as regular block devices. - */ - q->limits.zoned = BLK_ZONED_NONE; - if (sdkp->zoned == 2 && sdkp->first_scan) - sd_printk(KERN_NOTICE, sdkp, - "Drive-managed SMR disk\n"); + /* Regular disk or drive managed disk */ + blk_queue_set_zoned(sdkp->disk, BLK_ZONED_NONE); } } - if (blk_queue_is_zoned(q) && sdkp->first_scan) + + if (!sdkp->first_scan) + goto out; + + if (blk_queue_is_zoned(q)) { sd_printk(KERN_NOTICE, sdkp, "Host-%s zoned block device\n", q->limits.zoned == BLK_ZONED_HM ? "managed" : "aware"); + } else { + if (sdkp->zoned == 1) + sd_printk(KERN_NOTICE, sdkp, + "Host-aware SMR disk used as regular disk\n"); + else if (sdkp->zoned == 2) + sd_printk(KERN_NOTICE, sdkp, + "Drive-managed SMR disk\n"); + } out: kfree(buffer); @@ -3398,10 +3409,6 @@ sdkp->first_scan = 1; sdkp->max_medium_access_timeouts = SD_MAX_MEDIUM_TIMEOUTS; - error = sd_zbc_init_disk(sdkp); - if (error) - goto out_free_index; - sd_revalidate_disk(gd); gd->flags = GENHD_FL_EXT_DEVT; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/sd.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/sd.h @@ -213,7 +213,6 @@ #ifdef CONFIG_BLK_DEV_ZONED -int sd_zbc_init_disk(struct scsi_disk *sdkp); void sd_zbc_release_disk(struct scsi_disk *sdkp); extern int sd_zbc_read_zones(struct scsi_disk *sdkp, unsigned char *buffer); extern void sd_zbc_print_zones(struct scsi_disk *sdkp); @@ -229,17 +228,6 @@ #else /* CONFIG_BLK_DEV_ZONED */ -static inline int sd_zbc_init(void) -{ - return 0; -} - -static inline int sd_zbc_init_disk(struct scsi_disk *sdkp) -{ - return 0; -} - -static inline void sd_zbc_exit(void) {} static inline void sd_zbc_release_disk(struct scsi_disk *sdkp) {} static inline int sd_zbc_read_zones(struct scsi_disk *sdkp, @@ -260,7 +248,7 @@ static inline unsigned int sd_zbc_complete(struct scsi_cmnd *cmd, unsigned int good_bytes, struct scsi_sense_hdr *sshdr) { - return 0; + return good_bytes; } static inline blk_status_t sd_zbc_prepare_zone_append(struct scsi_cmnd *cmd, --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/sd_zbc.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/sd_zbc.c @@ -59,6 +59,7 @@ zone.non_seq = 1; zone.len = logical_to_sectors(sdp, get_unaligned_be64(&buf[8])); + zone.capacity = zone.len; zone.start = logical_to_sectors(sdp, get_unaligned_be64(&buf[16])); zone.wp = logical_to_sectors(sdp, get_unaligned_be64(&buf[24])); if (zone.type != ZBC_ZONE_TYPE_CONV && @@ -633,6 +634,45 @@ return 0; } +void sd_zbc_print_zones(struct scsi_disk *sdkp) +{ + if (!sd_is_zoned(sdkp) || !sdkp->capacity) + return; + + if (sdkp->capacity & (sdkp->zone_blocks - 1)) + sd_printk(KERN_NOTICE, sdkp, + "%u zones of %u logical blocks + 1 runt zone\n", + sdkp->nr_zones - 1, + sdkp->zone_blocks); + else + sd_printk(KERN_NOTICE, sdkp, + "%u zones of %u logical blocks\n", + sdkp->nr_zones, + sdkp->zone_blocks); +} + +static int sd_zbc_init_disk(struct scsi_disk *sdkp) +{ + sdkp->zones_wp_offset = NULL; + spin_lock_init(&sdkp->zones_wp_offset_lock); + sdkp->rev_wp_offset = NULL; + mutex_init(&sdkp->rev_mutex); + INIT_WORK(&sdkp->zone_wp_offset_work, sd_zbc_update_wp_offset_workfn); + sdkp->zone_wp_update_buf = kzalloc(SD_BUF_SIZE, GFP_KERNEL); + if (!sdkp->zone_wp_update_buf) + return -ENOMEM; + + return 0; +} + +void sd_zbc_release_disk(struct scsi_disk *sdkp) +{ + kvfree(sdkp->zones_wp_offset); + sdkp->zones_wp_offset = NULL; + kfree(sdkp->zone_wp_update_buf); + sdkp->zone_wp_update_buf = NULL; +} + static void sd_zbc_revalidate_zones_cb(struct gendisk *disk) { struct scsi_disk *sdkp = scsi_disk(disk); @@ -645,9 +685,31 @@ unsigned int nr_zones) { struct gendisk *disk = sdkp->disk; + struct request_queue *q = disk->queue; + u32 max_append; int ret = 0; /* + * For all zoned disks, initialize zone append emulation data if not + * already done. This is necessary also for host-aware disks used as + * regular disks due to the presence of partitions as these partitions + * may be deleted and the disk zoned model changed back from + * BLK_ZONED_NONE to BLK_ZONED_HA. + */ + if (sd_is_zoned(sdkp) && !sdkp->zone_wp_update_buf) { + ret = sd_zbc_init_disk(sdkp); + if (ret) + return ret; + } + + /* + * There is nothing to do for regular disks, including host-aware disks + * that have partitions. + */ + if (!blk_queue_is_zoned(q)) + return 0; + + /* * Make sure revalidate zones are serialized to ensure exclusive * updates of the scsi disk data. */ @@ -681,6 +743,19 @@ kvfree(sdkp->rev_wp_offset); sdkp->rev_wp_offset = NULL; + if (ret) { + sdkp->zone_blocks = 0; + sdkp->nr_zones = 0; + sdkp->capacity = 0; + goto unlock; + } + + max_append = min_t(u32, logical_to_sectors(sdkp->device, zone_blocks), + q->limits.max_segments << (PAGE_SHIFT - 9)); + max_append = min_t(u32, max_append, queue_max_hw_sectors(q)); + + blk_queue_max_zone_append_sectors(q, max_append); + unlock: mutex_unlock(&sdkp->rev_mutex); @@ -693,7 +768,6 @@ struct request_queue *q = disk->queue; unsigned int nr_zones; u32 zone_blocks = 0; - u32 max_append; int ret; if (!sd_is_zoned(sdkp)) @@ -726,20 +800,6 @@ if (ret) goto err; - /* - * On the first scan 'chunk_sectors' isn't setup yet, so calling - * blk_queue_max_zone_append_sectors() will result in a WARN(). Defer - * this setting to the second scan. - */ - if (sdkp->first_scan) - return 0; - - max_append = min_t(u32, logical_to_sectors(sdkp->device, zone_blocks), - q->limits.max_segments << (PAGE_SHIFT - 9)); - max_append = min_t(u32, max_append, queue_max_hw_sectors(q)); - - blk_queue_max_zone_append_sectors(q, max_append); - return 0; err: @@ -747,45 +807,3 @@ return ret; } - -void sd_zbc_print_zones(struct scsi_disk *sdkp) -{ - if (!sd_is_zoned(sdkp) || !sdkp->capacity) - return; - - if (sdkp->capacity & (sdkp->zone_blocks - 1)) - sd_printk(KERN_NOTICE, sdkp, - "%u zones of %u logical blocks + 1 runt zone\n", - sdkp->nr_zones - 1, - sdkp->zone_blocks); - else - sd_printk(KERN_NOTICE, sdkp, - "%u zones of %u logical blocks\n", - sdkp->nr_zones, - sdkp->zone_blocks); -} - -int sd_zbc_init_disk(struct scsi_disk *sdkp) -{ - if (!sd_is_zoned(sdkp)) - return 0; - - sdkp->zones_wp_offset = NULL; - spin_lock_init(&sdkp->zones_wp_offset_lock); - sdkp->rev_wp_offset = NULL; - mutex_init(&sdkp->rev_mutex); - INIT_WORK(&sdkp->zone_wp_offset_work, sd_zbc_update_wp_offset_workfn); - sdkp->zone_wp_update_buf = kzalloc(SD_BUF_SIZE, GFP_KERNEL); - if (!sdkp->zone_wp_update_buf) - return -ENOMEM; - - return 0; -} - -void sd_zbc_release_disk(struct scsi_disk *sdkp) -{ - kvfree(sdkp->zones_wp_offset); - sdkp->zones_wp_offset = NULL; - kfree(sdkp->zone_wp_update_buf); - sdkp->zone_wp_update_buf = NULL; -} --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/smartpqi/smartpqi.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/smartpqi/smartpqi.h @@ -359,7 +359,7 @@ struct pqi_iu_header header; u8 event_type; u8 reserved2 : 7; - u8 request_acknowlege : 1; + u8 request_acknowledge : 1; __le16 event_id; __le32 additional_event_id; union { --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/smartpqi/smartpqi_init.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/smartpqi/smartpqi_init.c @@ -542,8 +542,7 @@ put_unaligned_be16(cdb_length, &cdb[7]); break; default: - dev_err(&ctrl_info->pci_dev->dev, "unknown command 0x%c\n", - cmd); + dev_err(&ctrl_info->pci_dev->dev, "unknown command 0x%c\n", cmd); break; } @@ -2462,7 +2461,6 @@ offload_to_mirror = (offload_to_mirror >= layout_map_count - 1) ? 0 : offload_to_mirror + 1; - WARN_ON(offload_to_mirror >= layout_map_count); device->offload_to_mirror = offload_to_mirror; /* * Avoid direct use of device->offload_to_mirror within this @@ -2915,10 +2913,14 @@ return rc; } -static unsigned int pqi_process_io_intr(struct pqi_ctrl_info *ctrl_info, - struct pqi_queue_group *queue_group) +static inline void pqi_invalid_response(struct pqi_ctrl_info *ctrl_info) +{ + pqi_take_ctrl_offline(ctrl_info); +} + +static int pqi_process_io_intr(struct pqi_ctrl_info *ctrl_info, struct pqi_queue_group *queue_group) { - unsigned int num_responses; + int num_responses; pqi_index_t oq_pi; pqi_index_t oq_ci; struct pqi_io_request *io_request; @@ -2930,6 +2932,13 @@ while (1) { oq_pi = readl(queue_group->oq_pi); + if (oq_pi >= ctrl_info->num_elements_per_oq) { + pqi_invalid_response(ctrl_info); + dev_err(&ctrl_info->pci_dev->dev, + "I/O interrupt: producer index (%u) out of range (0-%u): consumer index: %u\n", + oq_pi, ctrl_info->num_elements_per_oq - 1, oq_ci); + return -1; + } if (oq_pi == oq_ci) break; @@ -2938,10 +2947,22 @@ (oq_ci * PQI_OPERATIONAL_OQ_ELEMENT_LENGTH); request_id = get_unaligned_le16(&response->request_id); - WARN_ON(request_id >= ctrl_info->max_io_slots); + if (request_id >= ctrl_info->max_io_slots) { + pqi_invalid_response(ctrl_info); + dev_err(&ctrl_info->pci_dev->dev, + "request ID in response (%u) out of range (0-%u): producer index: %u consumer index: %u\n", + request_id, ctrl_info->max_io_slots - 1, oq_pi, oq_ci); + return -1; + } io_request = &ctrl_info->io_request_pool[request_id]; - WARN_ON(atomic_read(&io_request->refcount) == 0); + if (atomic_read(&io_request->refcount) == 0) { + pqi_invalid_response(ctrl_info); + dev_err(&ctrl_info->pci_dev->dev, + "request ID in response (%u) does not match an outstanding I/O request: producer index: %u consumer index: %u\n", + request_id, oq_pi, oq_ci); + return -1; + } switch (response->header.iu_type) { case PQI_RESPONSE_IU_RAID_PATH_IO_SUCCESS: @@ -2971,24 +2992,22 @@ io_request->error_info = ctrl_info->error_buffer + (get_unaligned_le16(&response->error_index) * PQI_ERROR_BUFFER_ELEMENT_LENGTH); - pqi_process_io_error(response->header.iu_type, - io_request); + pqi_process_io_error(response->header.iu_type, io_request); break; default: + pqi_invalid_response(ctrl_info); dev_err(&ctrl_info->pci_dev->dev, - "unexpected IU type: 0x%x\n", - response->header.iu_type); - break; + "unexpected IU type: 0x%x: producer index: %u consumer index: %u\n", + response->header.iu_type, oq_pi, oq_ci); + return -1; } - io_request->io_complete_callback(io_request, - io_request->context); + io_request->io_complete_callback(io_request, io_request->context); /* * Note that the I/O request structure CANNOT BE TOUCHED after * returning from the I/O completion callback! */ - oq_ci = (oq_ci + 1) % ctrl_info->num_elements_per_oq; } @@ -3301,9 +3320,9 @@ } } -static unsigned int pqi_process_event_intr(struct pqi_ctrl_info *ctrl_info) +static int pqi_process_event_intr(struct pqi_ctrl_info *ctrl_info) { - unsigned int num_events; + int num_events; pqi_index_t oq_pi; pqi_index_t oq_ci; struct pqi_event_queue *event_queue; @@ -3317,26 +3336,31 @@ while (1) { oq_pi = readl(event_queue->oq_pi); + if (oq_pi >= PQI_NUM_EVENT_QUEUE_ELEMENTS) { + pqi_invalid_response(ctrl_info); + dev_err(&ctrl_info->pci_dev->dev, + "event interrupt: producer index (%u) out of range (0-%u): consumer index: %u\n", + oq_pi, PQI_NUM_EVENT_QUEUE_ELEMENTS - 1, oq_ci); + return -1; + } + if (oq_pi == oq_ci) break; num_events++; - response = event_queue->oq_element_array + - (oq_ci * PQI_EVENT_OQ_ELEMENT_LENGTH); + response = event_queue->oq_element_array + (oq_ci * PQI_EVENT_OQ_ELEMENT_LENGTH); event_index = pqi_event_type_to_event_index(response->event_type); - if (event_index >= 0) { - if (response->request_acknowlege) { - event = &ctrl_info->events[event_index]; - event->pending = true; - event->event_type = response->event_type; - event->event_id = response->event_id; - event->additional_event_id = - response->additional_event_id; + if (event_index >= 0 && response->request_acknowledge) { + event = &ctrl_info->events[event_index]; + event->pending = true; + event->event_type = response->event_type; + event->event_id = response->event_id; + event->additional_event_id = response->additional_event_id; + if (event->event_type == PQI_EVENT_TYPE_OFA) pqi_ofa_capture_event_payload(event, response); - } } oq_ci = (oq_ci + 1) % PQI_NUM_EVENT_QUEUE_ELEMENTS; @@ -3451,7 +3475,8 @@ { struct pqi_ctrl_info *ctrl_info; struct pqi_queue_group *queue_group; - unsigned int num_responses_handled; + int num_io_responses_handled; + int num_events_handled; queue_group = data; ctrl_info = queue_group->ctrl_info; @@ -3459,17 +3484,25 @@ if (!pqi_is_valid_irq(ctrl_info)) return IRQ_NONE; - num_responses_handled = pqi_process_io_intr(ctrl_info, queue_group); + num_io_responses_handled = pqi_process_io_intr(ctrl_info, queue_group); + if (num_io_responses_handled < 0) + goto out; - if (irq == ctrl_info->event_irq) - num_responses_handled += pqi_process_event_intr(ctrl_info); + if (irq == ctrl_info->event_irq) { + num_events_handled = pqi_process_event_intr(ctrl_info); + if (num_events_handled < 0) + goto out; + } else { + num_events_handled = 0; + } - if (num_responses_handled) + if (num_io_responses_handled + num_events_handled > 0) atomic_inc(&ctrl_info->num_interrupts); pqi_start_io(ctrl_info, queue_group, RAID_PATH, NULL); pqi_start_io(ctrl_info, queue_group, AIO_PATH, NULL); +out: return IRQ_HANDLED; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/sr.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/sr.c @@ -392,15 +392,11 @@ struct request *rq = SCpnt->request; blk_status_t ret; - ret = scsi_init_io(SCpnt); + ret = scsi_alloc_sgtables(SCpnt); if (ret != BLK_STS_OK) - goto out; + return ret; cd = scsi_cd(rq->rq_disk); - /* from here on until we're complete, any goto out - * is used for a killable error condition */ - ret = BLK_STS_IOERR; - SCSI_LOG_HLQUEUE(1, scmd_printk(KERN_INFO, SCpnt, "Doing sr request, block = %d\n", block)); @@ -509,12 +505,12 @@ SCpnt->allowed = MAX_RETRIES; /* - * This indicates that the command is ready from our end to be - * queued. + * This indicates that the command is ready from our end to be queued. */ - ret = BLK_STS_OK; + return BLK_STS_OK; out: - return ret; + scsi_free_sgtables(SCpnt); + return BLK_STS_IOERR; } static int sr_block_open(struct block_device *bdev, fmode_t mode) --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/st.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/st.c @@ -1269,8 +1269,8 @@ spin_lock(&st_use_lock); if (STp->in_use) { spin_unlock(&st_use_lock); - scsi_tape_put(STp); DEBC_printk(STp, "Device already in use.\n"); + scsi_tape_put(STp); return (-EBUSY); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/storvsc_drv.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/storvsc_drv.c @@ -378,10 +378,14 @@ static int storvsc_change_queue_depth(struct scsi_device *sdev, int queue_depth); static int storvsc_vcpus_per_sub_channel = 4; +static unsigned int storvsc_max_hw_queues; module_param(storvsc_ringbuffer_size, int, S_IRUGO); MODULE_PARM_DESC(storvsc_ringbuffer_size, "Ring buffer size (bytes)"); +module_param(storvsc_max_hw_queues, uint, 0644); +MODULE_PARM_DESC(storvsc_max_hw_queues, "Maximum number of hardware queues"); + module_param(storvsc_vcpus_per_sub_channel, int, S_IRUGO); MODULE_PARM_DESC(storvsc_vcpus_per_sub_channel, "Ratio of VCPUs to subchannels"); @@ -1819,6 +1823,7 @@ { int ret; int num_cpus = num_online_cpus(); + int num_present_cpus = num_present_cpus(); struct Scsi_Host *host; struct hv_host_device *host_dev; bool dev_is_ide = ((dev_id->driver_data == IDE_GUID) ? true : false); @@ -1921,12 +1926,27 @@ * from the host. */ host->sg_tablesize = (stor_device->max_transfer_bytes >> PAGE_SHIFT); +#if defined(CONFIG_X86_32) + dev_warn(&device->device, "adjusting sg_tablesize 0x%x -> 0x%x", + host->sg_tablesize, MAX_MULTIPAGE_BUFFER_COUNT); + host->sg_tablesize = MAX_MULTIPAGE_BUFFER_COUNT; +#endif + /* * For non-IDE disks, the host supports multiple channels. * Set the number of HW queues we are supporting. */ - if (!dev_is_ide) - host->nr_hw_queues = num_present_cpus(); + if (!dev_is_ide) { + if (storvsc_max_hw_queues > num_present_cpus) { + storvsc_max_hw_queues = 0; + storvsc_log(device, STORVSC_LOGGING_WARN, + "Resetting invalid storvsc_max_hw_queues value to default.\n"); + } + if (storvsc_max_hw_queues) + host->nr_hw_queues = storvsc_max_hw_queues; + else + host->nr_hw_queues = num_present_cpus; + } /* * Set the error handler work queue. @@ -1935,8 +1955,10 @@ alloc_ordered_workqueue("storvsc_error_wq_%d", WQ_MEM_RECLAIM, host->host_no); - if (!host_dev->handle_error_wq) + if (!host_dev->handle_error_wq) { + ret = -ENOMEM; goto err_out2; + } INIT_WORK(&host_dev->host_scan_work, storvsc_host_scan); /* Register the HBA and start the scsi bus scan */ ret = scsi_add_host(host, &device->device); --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/Kconfig @@ -72,6 +72,7 @@ config SCSI_UFSHCD_PLATFORM tristate "Platform bus based UFS Controller support" depends on SCSI_UFSHCD + depends on HAS_IOMEM help This selects the UFS host controller support. Select this if you have an UFS controller on Platform bus. --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ti-j721e-ufs.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ti-j721e-ufs.c @@ -38,6 +38,7 @@ /* Select MPHY refclk frequency */ clk = devm_clk_get(dev, NULL); if (IS_ERR(clk)) { + ret = PTR_ERR(clk); dev_err(dev, "Cannot claim MPHY clock.\n"); goto clk_err; } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufs-mediatek.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufs-mediatek.c @@ -440,7 +440,7 @@ return ret; } -static void ufs_mtk_device_reset(struct ufs_hba *hba) +static int ufs_mtk_device_reset(struct ufs_hba *hba) { struct arm_smccc_res res; @@ -461,6 +461,8 @@ usleep_range(10000, 15000); dev_info(hba->dev, "device reset done\n"); + + return 0; } static int ufs_mtk_link_set_hpm(struct ufs_hba *hba) @@ -585,13 +587,7 @@ static void ufs_mtk_fixup_dev_quirks(struct ufs_hba *hba) { - struct ufs_dev_info *dev_info = &hba->dev_info; - u16 mid = dev_info->wmanufacturerid; - ufshcd_fixup_dev_quirks(hba, ufs_mtk_dev_fixups); - - if (mid == UFS_VENDOR_SAMSUNG) - hba->dev_quirks &= ~UFS_DEVICE_QUIRK_HOST_PA_TACTIVATE; } /** --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufs-qcom.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufs-qcom.c @@ -253,12 +253,17 @@ { int ret = 0; struct ufs_qcom_host *host = ufshcd_get_variant(hba); + bool reenable_intr = false; if (!host->core_reset) { dev_warn(hba->dev, "%s: reset control not set\n", __func__); goto out; } + reenable_intr = hba->is_irq_enabled; + disable_irq(hba->irq); + hba->is_irq_enabled = false; + ret = reset_control_assert(host->core_reset); if (ret) { dev_err(hba->dev, "%s: core_reset assert failed, err = %d\n", @@ -280,6 +285,11 @@ usleep_range(1000, 1100); + if (reenable_intr) { + enable_irq(hba->irq); + hba->is_irq_enabled = true; + } + out: return ret; } @@ -1604,9 +1614,6 @@ */ } mask <<= offset; - - pm_runtime_get_sync(host->hba->dev); - ufshcd_hold(host->hba, false); ufshcd_rmwl(host->hba, TEST_BUS_SEL, (u32)host->testbus.select_major << 19, REG_UFS_CFG1); @@ -1619,8 +1626,6 @@ * committed before returning. */ mb(); - ufshcd_release(host->hba); - pm_runtime_put_sync(host->hba->dev); return 0; } @@ -1671,13 +1676,13 @@ * * Toggles the (optional) reset line to reset the attached device. */ -static void ufs_qcom_device_reset(struct ufs_hba *hba) +static int ufs_qcom_device_reset(struct ufs_hba *hba) { struct ufs_qcom_host *host = ufshcd_get_variant(hba); /* reset gpio is optional */ if (!host->device_reset) - return; + return -EOPNOTSUPP; /* * The UFS device shall detect reset pulses of 1us, sleep for 10us to @@ -1688,6 +1693,8 @@ gpiod_set_value_cansleep(host->device_reset, 0); usleep_range(10, 15); + + return 0; } #if IS_ENABLED(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND) --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufs-sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufs-sysfs.c @@ -777,7 +777,8 @@ struct scsi_device *sdev = to_scsi_device(dev); \ struct ufs_hba *hba = shost_priv(sdev->host); \ u8 lun = ufshcd_scsi_to_upiu_lun(sdev->lun); \ - if (!ufs_is_valid_unit_desc_lun(&hba->dev_info, lun)) \ + if (!ufs_is_valid_unit_desc_lun(&hba->dev_info, lun, \ + _duname##_DESC_PARAM##_puname)) \ return -EINVAL; \ return ufs_sysfs_read_desc_param(hba, QUERY_DESC_IDN_##_duname, \ lun, _duname##_DESC_PARAM##_puname, buf, _size); \ --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufs.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufs.h @@ -585,13 +585,15 @@ * @return: true if the lun has a matching unit descriptor, false otherwise */ static inline bool ufs_is_valid_unit_desc_lun(struct ufs_dev_info *dev_info, - u8 lun) + u8 lun, u8 param_offset) { if (!dev_info || !dev_info->max_lu_supported) { pr_err("Max General LU supported by UFS isn't initialized\n"); return false; } - + /* WB is available only for the logical unit from 0 to 7 */ + if (param_offset == UNIT_DESC_PARAM_WB_BUF_ALLOC_UNITS) + return lun < UFS_UPIU_MAX_WB_LUN_ID; return lun == UFS_UPIU_RPMB_WLUN || (lun < dev_info->max_lu_supported); } --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufs_quirks.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufs_quirks.h @@ -12,6 +12,7 @@ #define UFS_ANY_VENDOR 0xFFFF #define UFS_ANY_MODEL "ANY_MODEL" +#define UFS_VENDOR_MICRON 0x12C #define UFS_VENDOR_TOSHIBA 0x198 #define UFS_VENDOR_SAMSUNG 0x1CE #define UFS_VENDOR_SKHYNIX 0x1AD --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufshcd-pci.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufshcd-pci.c @@ -67,9 +67,58 @@ return err; } +static int ufs_intel_resume(struct ufs_hba *hba, enum ufs_pm_op op) +{ + /* + * To support S4 (suspend-to-disk) with spm_lvl other than 5, the base + * address registers must be restored because the restore kernel can + * have used different addresses. + */ + ufshcd_writel(hba, lower_32_bits(hba->utrdl_dma_addr), + REG_UTP_TRANSFER_REQ_LIST_BASE_L); + ufshcd_writel(hba, upper_32_bits(hba->utrdl_dma_addr), + REG_UTP_TRANSFER_REQ_LIST_BASE_H); + ufshcd_writel(hba, lower_32_bits(hba->utmrdl_dma_addr), + REG_UTP_TASK_REQ_LIST_BASE_L); + ufshcd_writel(hba, upper_32_bits(hba->utmrdl_dma_addr), + REG_UTP_TASK_REQ_LIST_BASE_H); + + if (ufshcd_is_link_hibern8(hba)) { + int ret = ufshcd_uic_hibern8_exit(hba); + + if (!ret) { + ufshcd_set_link_active(hba); + } else { + dev_err(hba->dev, "%s: hibern8 exit failed %d\n", + __func__, ret); + /* + * Force reset and restore. Any other actions can lead + * to an unrecoverable state. + */ + ufshcd_set_link_off(hba); + } + } + + return 0; +} + +static int ufs_intel_ehl_init(struct ufs_hba *hba) +{ + hba->quirks |= UFSHCD_QUIRK_BROKEN_AUTO_HIBERN8; + return 0; +} + static struct ufs_hba_variant_ops ufs_intel_cnl_hba_vops = { .name = "intel-pci", .link_startup_notify = ufs_intel_link_startup_notify, + .resume = ufs_intel_resume, +}; + +static struct ufs_hba_variant_ops ufs_intel_ehl_hba_vops = { + .name = "intel-pci", + .init = ufs_intel_ehl_init, + .link_startup_notify = ufs_intel_link_startup_notify, + .resume = ufs_intel_resume, }; #ifdef CONFIG_PM_SLEEP @@ -96,6 +145,30 @@ { return ufshcd_system_resume(dev_get_drvdata(dev)); } + +/** + * ufshcd_pci_poweroff - suspend-to-disk poweroff function + * @dev: pointer to PCI device handle + * + * Returns 0 if successful + * Returns non-zero otherwise + */ +static int ufshcd_pci_poweroff(struct device *dev) +{ + struct ufs_hba *hba = dev_get_drvdata(dev); + int spm_lvl = hba->spm_lvl; + int ret; + + /* + * For poweroff we need to set the UFS device to PowerDown mode. + * Force spm_lvl to ensure that. + */ + hba->spm_lvl = 5; + ret = ufshcd_system_suspend(hba); + hba->spm_lvl = spm_lvl; + return ret; +} + #endif /* !CONFIG_PM_SLEEP */ #ifdef CONFIG_PM @@ -190,8 +263,14 @@ } static const struct dev_pm_ops ufshcd_pci_pm_ops = { - SET_SYSTEM_SLEEP_PM_OPS(ufshcd_pci_suspend, - ufshcd_pci_resume) +#ifdef CONFIG_PM_SLEEP + .suspend = ufshcd_pci_suspend, + .resume = ufshcd_pci_resume, + .freeze = ufshcd_pci_suspend, + .thaw = ufshcd_pci_resume, + .poweroff = ufshcd_pci_poweroff, + .restore = ufshcd_pci_resume, +#endif SET_RUNTIME_PM_OPS(ufshcd_pci_runtime_suspend, ufshcd_pci_runtime_resume, ufshcd_pci_runtime_idle) @@ -200,8 +279,8 @@ static const struct pci_device_id ufshcd_pci_tbl[] = { { PCI_VENDOR_ID_SAMSUNG, 0xC00C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VDEVICE(INTEL, 0x9DFA), (kernel_ulong_t)&ufs_intel_cnl_hba_vops }, - { PCI_VDEVICE(INTEL, 0x4B41), (kernel_ulong_t)&ufs_intel_cnl_hba_vops }, - { PCI_VDEVICE(INTEL, 0x4B43), (kernel_ulong_t)&ufs_intel_cnl_hba_vops }, + { PCI_VDEVICE(INTEL, 0x4B41), (kernel_ulong_t)&ufs_intel_ehl_hba_vops }, + { PCI_VDEVICE(INTEL, 0x4B43), (kernel_ulong_t)&ufs_intel_ehl_hba_vops }, { } /* terminate list */ }; --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufshcd.c +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufshcd.c @@ -216,6 +216,8 @@ static struct ufs_dev_fix ufs_fixups[] = { /* UFS cards deviations table */ + UFS_FIX(UFS_VENDOR_MICRON, UFS_ANY_MODEL, + UFS_DEVICE_QUIRK_DELAY_BEFORE_LPM), UFS_FIX(UFS_VENDOR_SAMSUNG, UFS_ANY_MODEL, UFS_DEVICE_QUIRK_DELAY_BEFORE_LPM), UFS_FIX(UFS_VENDOR_SAMSUNG, UFS_ANY_MODEL, @@ -482,6 +484,9 @@ prdt_length = le16_to_cpu( lrbp->utr_descriptor_ptr->prd_table_length); + if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN) + prdt_length /= sizeof(struct ufshcd_sg_entry); + dev_err(hba->dev, "UPIU[%d] - PRDT - %d entries phys@0x%llx\n", tag, prdt_length, @@ -672,7 +677,11 @@ */ static inline void ufshcd_utrl_clear(struct ufs_hba *hba, u32 pos) { - ufshcd_writel(hba, ~(1 << pos), REG_UTP_TRANSFER_REQ_LIST_CLEAR); + if (hba->quirks & UFSHCI_QUIRK_BROKEN_REQ_LIST_CLR) + ufshcd_writel(hba, (1 << pos), REG_UTP_TRANSFER_REQ_LIST_CLEAR); + else + ufshcd_writel(hba, ~(1 << pos), + REG_UTP_TRANSFER_REQ_LIST_CLEAR); } /** @@ -682,7 +691,10 @@ */ static inline void ufshcd_utmrl_clear(struct ufs_hba *hba, u32 pos) { - ufshcd_writel(hba, ~(1 << pos), REG_UTP_TASK_REQ_LIST_CLEAR); + if (hba->quirks & UFSHCI_QUIRK_BROKEN_REQ_LIST_CLR) + ufshcd_writel(hba, (1 << pos), REG_UTP_TASK_REQ_LIST_CLEAR); + else + ufshcd_writel(hba, ~(1 << pos), REG_UTP_TASK_REQ_LIST_CLEAR); } /** @@ -1272,8 +1284,15 @@ } spin_unlock_irqrestore(hba->host->host_lock, irq_flags); + pm_runtime_get_noresume(hba->dev); + if (!pm_runtime_active(hba->dev)) { + pm_runtime_put_noidle(hba->dev); + ret = -EAGAIN; + goto out; + } start = ktime_get(); ret = ufshcd_devfreq_scale(hba, scale_up); + pm_runtime_put(hba->dev); trace_ufshcd_profile_clk_scaling(dev_name(hba->dev), (scale_up ? "up" : "down"), @@ -1314,6 +1333,7 @@ unsigned long flags; struct list_head *clk_list = &hba->clk_list_head; struct ufs_clk_info *clki; + ktime_t curr_t; if (!ufshcd_is_clkscaling_supported(hba)) return -EINVAL; @@ -1321,6 +1341,7 @@ memset(stat, 0, sizeof(*stat)); spin_lock_irqsave(hba->host->host_lock, flags); + curr_t = ktime_get(); if (!scaling->window_start_t) goto start_window; @@ -1332,18 +1353,17 @@ */ stat->current_frequency = clki->curr_freq; if (scaling->is_busy_started) - scaling->tot_busy_t += ktime_to_us(ktime_sub(ktime_get(), - scaling->busy_start_t)); + scaling->tot_busy_t += ktime_us_delta(curr_t, + scaling->busy_start_t); - stat->total_time = jiffies_to_usecs((long)jiffies - - (long)scaling->window_start_t); + stat->total_time = ktime_us_delta(curr_t, scaling->window_start_t); stat->busy_time = scaling->tot_busy_t; start_window: - scaling->window_start_t = jiffies; + scaling->window_start_t = curr_t; scaling->tot_busy_t = 0; if (hba->outstanding_reqs) { - scaling->busy_start_t = ktime_get(); + scaling->busy_start_t = curr_t; scaling->is_busy_started = true; } else { scaling->busy_start_t = 0; @@ -1556,6 +1576,7 @@ int ufshcd_hold(struct ufs_hba *hba, bool async) { int rc = 0; + bool flush_result; unsigned long flags; if (!ufshcd_is_clkgating_allowed(hba)) @@ -1587,7 +1608,9 @@ break; } spin_unlock_irqrestore(hba->host->host_lock, flags); - flush_work(&hba->clk_gating.ungate_work); + flush_result = flush_work(&hba->clk_gating.ungate_work); + if (hba->clk_gating.is_suspended && !flush_result) + goto out; spin_lock_irqsave(hba->host->host_lock, flags); goto start; } @@ -1606,12 +1629,12 @@ */ /* fallthrough */ case CLKS_OFF: - ufshcd_scsi_block_requests(hba); hba->clk_gating.state = REQ_CLKS_ON; trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state); - queue_work(hba->clk_gating.clk_gating_workq, - &hba->clk_gating.ungate_work); + if (queue_work(hba->clk_gating.clk_gating_workq, + &hba->clk_gating.ungate_work)) + ufshcd_scsi_block_requests(hba); /* * fall through to check if we should wait for this * work to be done or not. @@ -1719,8 +1742,9 @@ if (hba->clk_gating.active_reqs || hba->clk_gating.is_suspended || hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL - || ufshcd_any_tag_in_use(hba) || hba->outstanding_tasks + || hba->outstanding_tasks || hba->active_uic_cmd || hba->uic_async_done + || hba->clk_gating.state == CLKS_OFF || ufshcd_eh_in_progress(hba)) return; @@ -1877,6 +1901,7 @@ static void ufshcd_clk_scaling_start_busy(struct ufs_hba *hba) { bool queue_resume_work = false; + ktime_t curr_t = ktime_get(); if (!ufshcd_is_clkscaling_supported(hba)) return; @@ -1892,13 +1917,13 @@ &hba->clk_scaling.resume_work); if (!hba->clk_scaling.window_start_t) { - hba->clk_scaling.window_start_t = jiffies; + hba->clk_scaling.window_start_t = curr_t; hba->clk_scaling.tot_busy_t = 0; hba->clk_scaling.is_busy_started = false; } if (!hba->clk_scaling.is_busy_started) { - hba->clk_scaling.busy_start_t = ktime_get(); + hba->clk_scaling.busy_start_t = curr_t; hba->clk_scaling.is_busy_started = true; } } @@ -1925,8 +1950,11 @@ static inline void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag) { - hba->lrb[task_tag].issue_time_stamp = ktime_get(); - hba->lrb[task_tag].compl_time_stamp = ktime_set(0, 0); + struct ufshcd_lrb *lrbp = &hba->lrb[task_tag]; + + lrbp->issue_time_stamp = ktime_get(); + lrbp->compl_time_stamp = ktime_set(0, 0); + ufshcd_vops_setup_xfer_req(hba, task_tag, (lrbp->cmd ? true : false)); ufshcd_add_command_trace(hba, task_tag, "send"); ufshcd_clk_scaling_start_busy(hba); __set_bit(task_tag, &hba->outstanding_reqs); @@ -2072,10 +2100,20 @@ unsigned long flags; if (wait_for_completion_timeout(&uic_cmd->done, - msecs_to_jiffies(UIC_CMD_TIMEOUT))) + msecs_to_jiffies(UIC_CMD_TIMEOUT))) { ret = uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT; - else + } else { ret = -ETIMEDOUT; + dev_err(hba->dev, + "uic cmd 0x%x with arg3 0x%x completion timeout\n", + uic_cmd->command, uic_cmd->argument3); + + if (!uic_cmd->cmd_active) { + dev_err(hba->dev, "%s: UIC cmd has been completed, return the result\n", + __func__); + ret = uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT; + } + } spin_lock_irqsave(hba->host->host_lock, flags); hba->active_uic_cmd = NULL; @@ -2107,6 +2145,7 @@ if (completion) init_completion(&uic_cmd->done); + uic_cmd->cmd_active = 1; ufshcd_dispatch_uic_cmd(hba, uic_cmd); return 0; @@ -2161,8 +2200,14 @@ return sg_segments; if (sg_segments) { - lrbp->utr_descriptor_ptr->prd_table_length = - cpu_to_le16((u16)sg_segments); + + if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN) + lrbp->utr_descriptor_ptr->prd_table_length = + cpu_to_le16((sg_segments * + sizeof(struct ufshcd_sg_entry))); + else + lrbp->utr_descriptor_ptr->prd_table_length = + cpu_to_le16((u16) (sg_segments)); prd_table = (struct ufshcd_sg_entry *)lrbp->ucd_prdt_ptr; @@ -2536,7 +2581,6 @@ /* issue command to the controller */ spin_lock_irqsave(hba->host->host_lock, flags); - ufshcd_vops_setup_xfer_req(hba, tag, true); ufshcd_send_command(hba, tag); out_unlock: spin_unlock_irqrestore(hba->host->host_lock, flags); @@ -2723,7 +2767,6 @@ /* Make sure descriptors are ready before ringing the doorbell */ wmb(); spin_lock_irqsave(hba->host->host_lock, flags); - ufshcd_vops_setup_xfer_req(hba, tag, false); ufshcd_send_command(hba, tag); spin_unlock_irqrestore(hba->host->host_lock, flags); @@ -3175,14 +3218,19 @@ /* Sanity checks */ if (ret || !buff_len) { - dev_err(hba->dev, "%s: Failed to get full descriptor length", - __func__); + dev_err(hba->dev, "%s: Failed to get desc length\n", __func__); + return -EINVAL; + } + + if (param_offset >= buff_len) { + dev_err(hba->dev, "%s: Invalid offset 0x%x in descriptor IDN 0x%x, length 0x%x\n", + __func__, param_offset, desc_id, buff_len); return ret; } /* Check whether we need temp memory */ if (param_offset != 0 || param_size < buff_len) { - desc_buf = kmalloc(buff_len, GFP_KERNEL); + desc_buf = kzalloc(buff_len, GFP_KERNEL); if (!desc_buf) return -ENOMEM; } else { @@ -3196,25 +3244,25 @@ desc_buf, &buff_len); if (ret) { - dev_err(hba->dev, "%s: Failed reading descriptor. desc_id %d, desc_index %d, param_offset %d, ret %d", + dev_err(hba->dev, "%s: Failed reading descriptor. desc_id %d, desc_index %d, param_offset %d, ret %d\n", __func__, desc_id, desc_index, param_offset, ret); goto out; } /* Sanity check */ if (desc_buf[QUERY_DESC_DESC_TYPE_OFFSET] != desc_id) { - dev_err(hba->dev, "%s: invalid desc_id %d in descriptor header", + dev_err(hba->dev, "%s: invalid desc_id %d in descriptor header\n", __func__, desc_buf[QUERY_DESC_DESC_TYPE_OFFSET]); ret = -EINVAL; goto out; } - /* Check wherher we will not copy more data, than available */ - if (is_kmalloc && param_size > buff_len) - param_size = buff_len; - - if (is_kmalloc) + if (is_kmalloc) { + /* Make sure we don't copy more data than available */ + if (param_offset + param_size > buff_len) + param_size = buff_len - param_offset; memcpy(param_read_buf, &desc_buf[param_offset], param_size); + } out: if (is_kmalloc) kfree(desc_buf); @@ -3354,7 +3402,7 @@ * Unit descriptors are only available for general purpose LUs (LUN id * from 0 to 7) and RPMB Well known LU. */ - if (!ufs_is_valid_unit_desc_lun(&hba->dev_info, lun)) + if (!ufs_is_valid_unit_desc_lun(&hba->dev_info, lun, param_offset)) return -EOPNOTSUPP; return ufshcd_read_desc_param(hba, QUERY_DESC_IDN_UNIT, lun, @@ -3511,11 +3559,21 @@ cpu_to_le32(upper_32_bits(cmd_desc_element_addr)); /* Response upiu and prdt offset should be in double words */ - utrdlp[i].response_upiu_offset = - cpu_to_le16(response_offset >> 2); - utrdlp[i].prd_table_offset = cpu_to_le16(prdt_offset >> 2); - utrdlp[i].response_upiu_length = - cpu_to_le16(ALIGNED_UPIU_SIZE >> 2); + if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN) { + utrdlp[i].response_upiu_offset = + cpu_to_le16(response_offset); + utrdlp[i].prd_table_offset = + cpu_to_le16(prdt_offset); + utrdlp[i].response_upiu_length = + cpu_to_le16(ALIGNED_UPIU_SIZE); + } else { + utrdlp[i].response_upiu_offset = + cpu_to_le16(response_offset >> 2); + utrdlp[i].prd_table_offset = + cpu_to_le16(prdt_offset >> 2); + utrdlp[i].response_upiu_length = + cpu_to_le16(ALIGNED_UPIU_SIZE >> 2); + } ufshcd_init_lrb(hba, &hba->lrb[i], i); } @@ -3545,6 +3603,52 @@ "dme-link-startup: error code %d\n", ret); return ret; } +/** + * ufshcd_dme_reset - UIC command for DME_RESET + * @hba: per adapter instance + * + * DME_RESET command is issued in order to reset UniPro stack. + * This function now deals with cold reset. + * + * Returns 0 on success, non-zero value on failure + */ +static int ufshcd_dme_reset(struct ufs_hba *hba) +{ + struct uic_command uic_cmd = {0}; + int ret; + + uic_cmd.command = UIC_CMD_DME_RESET; + + ret = ufshcd_send_uic_cmd(hba, &uic_cmd); + if (ret) + dev_err(hba->dev, + "dme-enable: error code %d\n", ret); + + return ret; +} + +/** + * ufshcd_dme_enable - UIC command for DME_ENABLE + * @hba: per adapter instance + * + * DME_ENABLE command is issued in order to enable UniPro stack. + * + * Returns 0 on success, non-zero value on failure + */ +static int ufshcd_dme_enable(struct ufs_hba *hba) +{ + struct uic_command uic_cmd = {0}; + int ret; + + uic_cmd.command = UIC_CMD_DME_ENABLE; + + ret = ufshcd_send_uic_cmd(hba, &uic_cmd); + if (ret) + dev_err(hba->dev, + "dme-reset: error code %d\n", ret); + + return ret; +} static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba) { @@ -3749,10 +3853,18 @@ dev_err(hba->dev, "pwr ctrl cmd 0x%x with mode 0x%x completion timeout\n", cmd->command, cmd->argument3); + + if (!cmd->cmd_active) { + dev_err(hba->dev, "%s: Power Mode Change operation has been completed, go check UPMCRS\n", + __func__); + goto check_upmcrs; + } + ret = -ETIMEDOUT; goto out; } +check_upmcrs: status = ufshcd_get_upmcrs(hba); if (status != PWR_LOCAL) { dev_err(hba->dev, @@ -4085,25 +4197,27 @@ ufshcd_dme_set(hba, UIC_ARG_MIB(PA_HSSERIES), pwr_mode->hs_rate); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA0), - DL_FC0ProtectionTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA1), - DL_TC0ReplayTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA2), - DL_AFC0ReqTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA3), - DL_FC1ProtectionTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA4), - DL_TC1ReplayTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA5), - DL_AFC1ReqTimeOutVal_Default); - - ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalFC0ProtectionTimeOutVal), - DL_FC0ProtectionTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalTC0ReplayTimeOutVal), - DL_TC0ReplayTimeOutVal_Default); - ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalAFC0ReqTimeOutVal), - DL_AFC0ReqTimeOutVal_Default); + if (!(hba->quirks & UFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING)) { + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA0), + DL_FC0ProtectionTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA1), + DL_TC0ReplayTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA2), + DL_AFC0ReqTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA3), + DL_FC1ProtectionTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA4), + DL_TC1ReplayTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA5), + DL_AFC1ReqTimeOutVal_Default); + + ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalFC0ProtectionTimeOutVal), + DL_FC0ProtectionTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalTC0ReplayTimeOutVal), + DL_TC0ReplayTimeOutVal_Default); + ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalAFC0ReqTimeOutVal), + DL_AFC0ReqTimeOutVal_Default); + } ret = ufshcd_uic_change_pwr_mode(hba, pwr_mode->pwr_rx << 4 | pwr_mode->pwr_tx); @@ -4269,7 +4383,7 @@ } /** - * ufshcd_hba_enable - initialize the controller + * ufshcd_hba_execute_hce - initialize the controller * @hba: per adapter instance * * The controller resets itself and controller firmware initialization @@ -4278,7 +4392,7 @@ * * Returns 0 on success, non-zero value on failure */ -int ufshcd_hba_enable(struct ufs_hba *hba) +static int ufshcd_hba_execute_hce(struct ufs_hba *hba) { int retry; @@ -4326,6 +4440,32 @@ return 0; } + +int ufshcd_hba_enable(struct ufs_hba *hba) +{ + int ret; + + if (hba->quirks & UFSHCI_QUIRK_BROKEN_HCE) { + ufshcd_set_link_off(hba); + ufshcd_vops_hce_enable_notify(hba, PRE_CHANGE); + + /* enable UIC related interrupts */ + ufshcd_enable_intr(hba, UFSHCD_UIC_MASK); + ret = ufshcd_dme_reset(hba); + if (!ret) { + ret = ufshcd_dme_enable(hba); + if (!ret) + ufshcd_vops_hce_enable_notify(hba, POST_CHANGE); + if (ret) + dev_err(hba->dev, + "Host controller enable failed with non-hce\n"); + } + } else { + ret = ufshcd_hba_execute_hce(hba); + } + + return ret; +} EXPORT_SYMBOL_GPL(ufshcd_hba_enable); static int ufshcd_disable_tx_lcc(struct ufs_hba *hba, bool peer) @@ -4646,6 +4786,8 @@ struct request_queue *q = sdev->request_queue; 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 (ufshcd_is_rpm_autosuspend_allowed(hba)) sdev->rpm_autosuspend = 1; @@ -4724,6 +4866,12 @@ /* overall command status of utrd */ ocs = ufshcd_get_tr_ocs(lrbp); + if (hba->quirks & UFSHCD_QUIRK_BROKEN_OCS_FATAL_ERROR) { + if (be32_to_cpu(lrbp->ucd_rsp_ptr->header.dword_1) & + MASK_RSP_UPIU_RESULT) + ocs = OCS_SUCCESS; + } + switch (ocs) { case OCS_SUCCESS: result = ufshcd_get_req_rsp(lrbp->ucd_rsp_ptr); @@ -4825,11 +4973,14 @@ ufshcd_get_uic_cmd_result(hba); hba->active_uic_cmd->argument3 = ufshcd_get_dme_attr_val(hba); + if (!hba->uic_async_done) + hba->active_uic_cmd->cmd_active = 0; complete(&hba->active_uic_cmd->done); retval = IRQ_HANDLED; } if ((intr_status & UFSHCD_UIC_PWR_MASK) && hba->uic_async_done) { + hba->active_uic_cmd->cmd_active = 0; complete(hba->uic_async_done); retval = IRQ_HANDLED; } @@ -4902,7 +5053,8 @@ * false interrupt if device completes another request after resetting * aggregation and before reading the DB. */ - if (ufshcd_is_intr_aggr_allowed(hba)) + if (ufshcd_is_intr_aggr_allowed(hba) && + !(hba->quirks & UFSHCI_QUIRK_SKIP_RESET_INTR_AGGR)) ufshcd_reset_intr_aggr(hba); tr_doorbell = ufshcd_readl(hba, REG_UTP_TRANSFER_REQ_DOOR_BELL); @@ -5881,7 +6033,7 @@ */ static irqreturn_t ufshcd_intr(int irq, void *__hba) { - u32 intr_status, enabled_intr_status; + u32 intr_status, enabled_intr_status = 0; irqreturn_t retval = IRQ_NONE; struct ufs_hba *hba = __hba; int retries = hba->nutrs; @@ -5895,7 +6047,7 @@ * read, make sure we handle them by checking the interrupt status * again in a loop until we process all of the reqs before returning. */ - do { + while (intr_status && retries--) { enabled_intr_status = intr_status & ufshcd_readl(hba, REG_INTERRUPT_ENABLE); if (intr_status) @@ -5904,9 +6056,9 @@ retval |= ufshcd_sl_intr(hba, enabled_intr_status); intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS); - } while (intr_status && --retries); + } - if (retval == IRQ_NONE) { + if (enabled_intr_status && retval == IRQ_NONE) { dev_err(hba->dev, "%s: Unhandled interrupt 0x%08x\n", __func__, intr_status); ufshcd_dump_regs(hba, 0, UFSHCI_REG_SPACE_SIZE, "host_regs: "); @@ -5945,34 +6097,31 @@ DECLARE_COMPLETION_ONSTACK(wait); struct request *req; unsigned long flags; - int free_slot, task_tag, err; + int task_tag, err; /* - * Get free slot, sleep if slots are unavailable. - * Even though we use wait_event() which sleeps indefinitely, - * the maximum wait time is bounded by %TM_CMD_TIMEOUT. + * blk_get_request() is used here only to get a free tag. */ req = blk_get_request(q, REQ_OP_DRV_OUT, BLK_MQ_REQ_RESERVED); req->end_io_data = &wait; - free_slot = req->tag; - WARN_ON_ONCE(free_slot < 0 || free_slot >= hba->nutmrs); ufshcd_hold(hba, false); spin_lock_irqsave(host->host_lock, flags); - task_tag = hba->nutrs + free_slot; + blk_mq_start_request(req); + task_tag = req->tag; treq->req_header.dword_0 |= cpu_to_be32(task_tag); - memcpy(hba->utmrdl_base_addr + free_slot, treq, sizeof(*treq)); - ufshcd_vops_setup_task_mgmt(hba, free_slot, tm_function); + memcpy(hba->utmrdl_base_addr + task_tag, treq, sizeof(*treq)); + ufshcd_vops_setup_task_mgmt(hba, task_tag, tm_function); /* send command to the controller */ - __set_bit(free_slot, &hba->outstanding_tasks); + __set_bit(task_tag, &hba->outstanding_tasks); /* Make sure descriptors are ready before ringing the task doorbell */ wmb(); - ufshcd_writel(hba, 1 << free_slot, REG_UTP_TASK_REQ_DOOR_BELL); + ufshcd_writel(hba, 1 << task_tag, REG_UTP_TASK_REQ_DOOR_BELL); /* Make sure that doorbell is committed immediately */ wmb(); @@ -5992,24 +6141,24 @@ ufshcd_add_tm_upiu_trace(hba, task_tag, "tm_complete_err"); dev_err(hba->dev, "%s: task management cmd 0x%.2x timed-out\n", __func__, tm_function); - if (ufshcd_clear_tm_cmd(hba, free_slot)) - dev_WARN(hba->dev, "%s: unable clear tm cmd (slot %d) after timeout\n", - __func__, free_slot); + if (ufshcd_clear_tm_cmd(hba, task_tag)) + dev_WARN(hba->dev, "%s: unable to clear tm cmd (slot %d) after timeout\n", + __func__, task_tag); err = -ETIMEDOUT; } else { err = 0; - memcpy(treq, hba->utmrdl_base_addr + free_slot, sizeof(*treq)); + memcpy(treq, hba->utmrdl_base_addr + task_tag, sizeof(*treq)); ufshcd_add_tm_upiu_trace(hba, task_tag, "tm_complete"); } spin_lock_irqsave(hba->host->host_lock, flags); - __clear_bit(free_slot, &hba->outstanding_tasks); + __clear_bit(task_tag, &hba->outstanding_tasks); spin_unlock_irqrestore(hba->host->host_lock, flags); + ufshcd_release(hba); blk_put_request(req); - ufshcd_release(hba); return err; } @@ -6264,19 +6413,16 @@ { struct Scsi_Host *host; struct ufs_hba *hba; - unsigned int tag; u32 pos; int err; - u8 resp = 0xF; - struct ufshcd_lrb *lrbp; + u8 resp = 0xF, lun; unsigned long flags; host = cmd->device->host; hba = shost_priv(host); - tag = cmd->request->tag; - lrbp = &hba->lrb[tag]; - err = ufshcd_issue_tm_cmd(hba, lrbp->lun, 0, UFS_LOGICAL_RESET, &resp); + lun = ufshcd_scsi_to_upiu_lun(cmd->device->lun); + err = ufshcd_issue_tm_cmd(hba, lun, 0, UFS_LOGICAL_RESET, &resp); if (err || resp != UPIU_TASK_MANAGEMENT_FUNC_COMPL) { if (!err) err = resp; @@ -6285,7 +6431,7 @@ /* clear the commands that were pending for corresponding LUN */ for_each_set_bit(pos, &hba->outstanding_reqs, hba->nutrs) { - if (hba->lrb[pos].lun == lrbp->lun) { + if (hba->lrb[pos].lun == lun) { err = ufshcd_clear_cmd(hba, pos); if (err) break; @@ -6431,7 +6577,7 @@ /* command completed already */ dev_err(hba->dev, "%s: cmd at tag %d successfully cleared from DB.\n", __func__, tag); - goto out; + goto cleanup; } else { dev_err(hba->dev, "%s: no response from device. tag = %d, err %d\n", @@ -6465,6 +6611,7 @@ goto out; } +cleanup: scsi_dma_unmap(cmd); spin_lock_irqsave(host->host_lock, flags); @@ -6775,7 +6922,6 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba) { int ret = 0; - struct scsi_device *sdev_rpmb; struct scsi_device *sdev_boot; hba->sdev_ufs_device = __scsi_add_device(hba->host, 0, 0, @@ -6788,14 +6934,14 @@ ufshcd_blk_pm_runtime_init(hba->sdev_ufs_device); scsi_device_put(hba->sdev_ufs_device); - sdev_rpmb = __scsi_add_device(hba->host, 0, 0, + hba->sdev_rpmb = __scsi_add_device(hba->host, 0, 0, ufshcd_upiu_wlun_to_scsi_wlun(UFS_UPIU_RPMB_WLUN), NULL); - if (IS_ERR(sdev_rpmb)) { - ret = PTR_ERR(sdev_rpmb); + if (IS_ERR(hba->sdev_rpmb)) { + ret = PTR_ERR(hba->sdev_rpmb); goto remove_sdev_ufs_device; } - ufshcd_blk_pm_runtime_init(sdev_rpmb); - scsi_device_put(sdev_rpmb); + ufshcd_blk_pm_runtime_init(hba->sdev_rpmb); + scsi_device_put(hba->sdev_rpmb); sdev_boot = __scsi_add_device(hba->host, 0, 0, ufshcd_upiu_wlun_to_scsi_wlun(UFS_UPIU_BOOT_WLUN), NULL); @@ -6815,20 +6961,30 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf) { + struct ufs_dev_info *dev_info = &hba->dev_info; u8 lun; u32 d_lu_wb_buf_alloc; if (!ufshcd_is_wb_allowed(hba)) return; + /* + * Probe WB only for UFS-2.2 and UFS-3.1 (and later) devices or + * UFS devices with quirk UFS_DEVICE_QUIRK_SUPPORT_EXTENDED_FEATURES + * enabled + */ + if (!(dev_info->wspecversion >= 0x310 || + dev_info->wspecversion == 0x220 || + (hba->dev_quirks & UFS_DEVICE_QUIRK_SUPPORT_EXTENDED_FEATURES))) + goto wb_disabled; if (hba->desc_size.dev_desc < DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP + 4) goto wb_disabled; - hba->dev_info.d_ext_ufs_feature_sup = + dev_info->d_ext_ufs_feature_sup = get_unaligned_be32(desc_buf + DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP); - if (!(hba->dev_info.d_ext_ufs_feature_sup & UFS_DEV_WRITE_BOOSTER_SUP)) + if (!(dev_info->d_ext_ufs_feature_sup & UFS_DEV_WRITE_BOOSTER_SUP)) goto wb_disabled; /* @@ -6837,17 +6993,17 @@ * a max of 1 lun would have wb buffer configured. * Now only shared buffer mode is supported. */ - hba->dev_info.b_wb_buffer_type = + dev_info->b_wb_buffer_type = desc_buf[DEVICE_DESC_PARAM_WB_TYPE]; - hba->dev_info.b_presrv_uspc_en = + dev_info->b_presrv_uspc_en = desc_buf[DEVICE_DESC_PARAM_WB_PRESRV_USRSPC_EN]; - if (hba->dev_info.b_wb_buffer_type == WB_BUF_MODE_SHARED) { - hba->dev_info.d_wb_alloc_units = + if (dev_info->b_wb_buffer_type == WB_BUF_MODE_SHARED) { + dev_info->d_wb_alloc_units = get_unaligned_be32(desc_buf + DEVICE_DESC_PARAM_WB_SHARED_ALLOC_UNITS); - if (!hba->dev_info.d_wb_alloc_units) + if (!dev_info->d_wb_alloc_units) goto wb_disabled; } else { for (lun = 0; lun < UFS_UPIU_MAX_WB_LUN_ID; lun++) { @@ -6858,7 +7014,7 @@ (u8 *)&d_lu_wb_buf_alloc, sizeof(d_lu_wb_buf_alloc)); if (d_lu_wb_buf_alloc) { - hba->dev_info.wb_dedicated_lu = lun; + dev_info->wb_dedicated_lu = lun; break; } } @@ -6947,14 +7103,7 @@ ufs_fixup_device_setup(hba); - /* - * Probe WB only for UFS-3.1 devices or UFS devices with quirk - * UFS_DEVICE_QUIRK_SUPPORT_EXTENDED_FEATURES enabled - */ - if (dev_info->wspecversion >= 0x310 || - dev_info->wspecversion == 0x220 || - (hba->dev_quirks & UFS_DEVICE_QUIRK_SUPPORT_EXTENDED_FEATURES)) - ufshcd_wb_probe(hba, desc_buf); + ufshcd_wb_probe(hba, desc_buf); /* * ufshcd_read_string_desc returns size of the string @@ -7357,6 +7506,63 @@ return ret; } +static int +ufshcd_send_request_sense(struct ufs_hba *hba, struct scsi_device *sdp); + +static int ufshcd_clear_ua_wlun(struct ufs_hba *hba, u8 wlun) +{ + struct scsi_device *sdp; + unsigned long flags; + int ret = 0; + + spin_lock_irqsave(hba->host->host_lock, flags); + if (wlun == UFS_UPIU_UFS_DEVICE_WLUN) + sdp = hba->sdev_ufs_device; + else if (wlun == UFS_UPIU_RPMB_WLUN) + sdp = hba->sdev_rpmb; + else + BUG(); + if (sdp) { + ret = scsi_device_get(sdp); + if (!ret && !scsi_device_online(sdp)) { + ret = -ENODEV; + scsi_device_put(sdp); + } + } else { + ret = -ENODEV; + } + spin_unlock_irqrestore(hba->host->host_lock, flags); + if (ret) + goto out_err; + + ret = ufshcd_send_request_sense(hba, sdp); + scsi_device_put(sdp); +out_err: + if (ret) + dev_err(hba->dev, "%s: UAC clear LU=%x ret = %d\n", + __func__, wlun, ret); + return ret; +} + +static int ufshcd_clear_ua_wluns(struct ufs_hba *hba) +{ + int ret = 0; + + if (!hba->wlun_dev_clr_ua) + goto out; + + ret = ufshcd_clear_ua_wlun(hba, UFS_UPIU_UFS_DEVICE_WLUN); + if (!ret) + ret = ufshcd_clear_ua_wlun(hba, UFS_UPIU_RPMB_WLUN); + if (!ret) + hba->wlun_dev_clr_ua = false; +out: + if (ret) + dev_err(hba->dev, "%s: Failed to clear UAC WLUNS ret = %d\n", + __func__, ret); + return ret; +} + /** * ufshcd_probe_hba - probe hba to detect device and initialize * @hba: per-adapter instance @@ -7472,6 +7678,8 @@ pm_runtime_put_sync(hba->dev); ufshcd_exit_clk_scaling(hba); ufshcd_hba_exit(hba); + } else { + ufshcd_clear_ua_wluns(hba); } } @@ -8459,7 +8667,8 @@ if ((ufs_get_pm_lvl_to_dev_pwr_mode(hba->spm_lvl) == hba->curr_dev_pwr_mode) && (ufs_get_pm_lvl_to_link_pwr_state(hba->spm_lvl) == - hba->uic_link_state)) + hba->uic_link_state) && + !hba->dev_info.b_rpm_dev_flush_capable) goto out; if (pm_runtime_suspended(hba->dev)) { @@ -8613,11 +8822,7 @@ if (ufshcd_is_ufs_dev_poweroff(hba) && ufshcd_is_link_off(hba)) goto out; - if (pm_runtime_suspended(hba->dev)) { - ret = ufshcd_runtime_resume(hba); - if (ret) - goto out; - } + pm_runtime_get_sync(hba->dev); ret = ufshcd_suspend(hba, UFS_SHUTDOWN_PM); out: --- linux-riscv-5.8-5.8.0.orig/drivers/scsi/ufs/ufshcd.h +++ linux-riscv-5.8-5.8.0/drivers/scsi/ufs/ufshcd.h @@ -342,7 +342,7 @@ int (*resume)(struct ufs_hba *, enum ufs_pm_op); void (*dbg_register_dump)(struct ufs_hba *hba); int (*phy_initialization)(struct ufs_hba *); - void (*device_reset)(struct ufs_hba *hba); + int (*device_reset)(struct ufs_hba *hba); void (*config_scaling_param)(struct ufs_hba *hba, struct devfreq_dev_profile *profile, void *data); @@ -411,7 +411,7 @@ struct ufs_clk_scaling { int active_reqs; unsigned long tot_busy_t; - unsigned long window_start_t; + ktime_t window_start_t; ktime_t busy_start_t; struct device_attribute enable_attr; struct ufs_saved_pwr_info saved_pwr_info; @@ -520,6 +520,52 @@ * ops (get_ufs_hci_version) to get the correct version. */ UFSHCD_QUIRK_BROKEN_UFS_HCI_VERSION = 1 << 5, + + /* + * Clear handling for transfer/task request list is just opposite. + */ + UFSHCI_QUIRK_BROKEN_REQ_LIST_CLR = 1 << 6, + + /* + * This quirk needs to be enabled if host controller doesn't allow + * that the interrupt aggregation timer and counter are reset by s/w. + */ + UFSHCI_QUIRK_SKIP_RESET_INTR_AGGR = 1 << 7, + + /* + * This quirks needs to be enabled if host controller cannot be + * enabled via HCE register. + */ + UFSHCI_QUIRK_BROKEN_HCE = 1 << 8, + + /* + * This quirk needs to be enabled if the host controller regards + * resolution of the values of PRDTO and PRDTL in UTRD as byte. + */ + UFSHCD_QUIRK_PRDT_BYTE_GRAN = 1 << 9, + + /* + * This quirk needs to be enabled if the host controller reports + * OCS FATAL ERROR with device error through sense data + */ + UFSHCD_QUIRK_BROKEN_OCS_FATAL_ERROR = 1 << 10, + + /* + * This quirk needs to be enabled if the host controller has + * auto-hibernate capability but it doesn't work. + */ + UFSHCD_QUIRK_BROKEN_AUTO_HIBERN8 = 1 << 11, + + /* + * This quirk needs to disable unipro timeout values + * before power mode change + */ + UFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING = 1 << 13, + + /* + * This quirk allows only sg entries aligned with page size. + */ + UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE = 1 << 14, }; enum ufshcd_caps { @@ -646,6 +692,7 @@ * "UFS device" W-LU. */ struct scsi_device *sdev_ufs_device; + struct scsi_device *sdev_rpmb; enum ufs_dev_pwr_mode curr_dev_pwr_mode; enum uic_link_state uic_link_state; @@ -786,7 +833,8 @@ static inline bool ufshcd_is_auto_hibern8_supported(struct ufs_hba *hba) { - return (hba->capabilities & MASK_AUTO_HIBERN8_SUPPORT); + return (hba->capabilities & MASK_AUTO_HIBERN8_SUPPORT) && + !(hba->quirks & UFSHCD_QUIRK_BROKEN_AUTO_HIBERN8); } static inline bool ufshcd_is_auto_hibern8_enabled(struct ufs_hba *hba) @@ -1133,9 +1181,17 @@ static inline void ufshcd_vops_device_reset(struct ufs_hba *hba) { if (hba->vops && hba->vops->device_reset) { - hba->vops->device_reset(hba); - ufshcd_set_ufs_dev_active(hba); - ufshcd_update_reg_hist(&hba->ufs_stats.dev_reset, 0); + int err = hba->vops->device_reset(hba); + + if (!err) { + ufshcd_set_ufs_dev_active(hba); + if (ufshcd_is_wb_allowed(hba)) { + hba->wb_enabled = false; + hba->wb_buf_flush_enabled = false; + } + } + if (err != -EOPNOTSUPP) + ufshcd_update_reg_hist(&hba->ufs_stats.dev_reset, err); } } --- linux-riscv-5.8-5.8.0.orig/drivers/slimbus/core.c +++ linux-riscv-5.8-5.8.0/drivers/slimbus/core.c @@ -301,8 +301,6 @@ { /* Remove all clients */ device_for_each_child(ctrl->dev, NULL, slim_ctrl_remove_device); - /* Enter Clock Pause */ - slim_ctrl_clk_pause(ctrl, false, 0); ida_simple_remove(&ctrl_ida, ctrl->id); return 0; @@ -326,8 +324,8 @@ mutex_lock(&ctrl->lock); sbdev->is_laddr_valid = false; mutex_unlock(&ctrl->lock); - - ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr); + if (!ctrl->get_laddr) + ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr); slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_DOWN); } EXPORT_SYMBOL_GPL(slim_report_absent); --- linux-riscv-5.8-5.8.0.orig/drivers/slimbus/qcom-ctrl.c +++ linux-riscv-5.8-5.8.0/drivers/slimbus/qcom-ctrl.c @@ -472,15 +472,10 @@ static void qcom_slim_prg_slew(struct platform_device *pdev, struct qcom_slim_ctrl *ctrl) { - struct resource *slew_mem; - if (!ctrl->slew_reg) { /* SLEW RATE register for this SLIMbus */ - slew_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, - "slew"); - ctrl->slew_reg = devm_ioremap(&pdev->dev, slew_mem->start, - resource_size(slew_mem)); - if (!ctrl->slew_reg) + ctrl->slew_reg = devm_platform_ioremap_resource_byname(pdev, "slew"); + if (IS_ERR(ctrl->slew_reg)) return; } --- linux-riscv-5.8-5.8.0.orig/drivers/slimbus/qcom-ngd-ctrl.c +++ linux-riscv-5.8-5.8.0/drivers/slimbus/qcom-ngd-ctrl.c @@ -1205,6 +1205,9 @@ struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); int ret = 0; + if (!ctrl->qmi.handle) + return 0; + if (ctrl->state >= QCOM_SLIM_NGD_CTRL_ASLEEP) ret = qcom_slim_ngd_power_up(ctrl); if (ret) { @@ -1277,9 +1280,13 @@ { struct qcom_slim_ngd_qmi *qmi = container_of(hdl, struct qcom_slim_ngd_qmi, svc_event_hdl); + struct qcom_slim_ngd_ctrl *ctrl = + container_of(qmi, struct qcom_slim_ngd_ctrl, qmi); qmi->svc_info.sq_node = 0; qmi->svc_info.sq_port = 0; + + qcom_slim_ngd_enable(ctrl, false); } static struct qmi_ops qcom_slim_ngd_qmi_svc_event_ops = { @@ -1499,6 +1506,9 @@ struct qcom_slim_ngd_ctrl *ctrl = dev_get_drvdata(dev); int ret = 0; + if (!ctrl->qmi.handle) + return 0; + ret = qcom_slim_qmi_power_request(ctrl, false); if (ret && ret != -EBUSY) dev_info(ctrl->dev, "slim resource not idle:%d\n", ret); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/amlogic/meson-canvas.c +++ linux-riscv-5.8-5.8.0/drivers/soc/amlogic/meson-canvas.c @@ -72,8 +72,10 @@ * current state, this driver probe cannot return -EPROBE_DEFER */ canvas = dev_get_drvdata(&canvas_pdev->dev); - if (!canvas) + if (!canvas) { + put_device(&canvas_pdev->dev); return ERR_PTR(-EINVAL); + } return canvas; } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/aspeed/aspeed-lpc-snoop.c +++ linux-riscv-5.8-5.8.0/drivers/soc/aspeed/aspeed-lpc-snoop.c @@ -11,6 +11,7 @@ */ #include +#include #include #include #include @@ -67,6 +68,7 @@ struct aspeed_lpc_snoop { struct regmap *regmap; int irq; + struct clk *clk; struct aspeed_lpc_snoop_channel chan[NUM_SNOOP_CHANNELS]; }; @@ -282,22 +284,42 @@ return -ENODEV; } + lpc_snoop->clk = devm_clk_get(dev, NULL); + if (IS_ERR(lpc_snoop->clk)) { + rc = PTR_ERR(lpc_snoop->clk); + if (rc != -EPROBE_DEFER) + dev_err(dev, "couldn't get clock\n"); + return rc; + } + rc = clk_prepare_enable(lpc_snoop->clk); + if (rc) { + dev_err(dev, "couldn't enable clock\n"); + return rc; + } + rc = aspeed_lpc_snoop_config_irq(lpc_snoop, pdev); if (rc) - return rc; + goto err; rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, 0, port); if (rc) - return rc; + goto err; /* Configuration of 2nd snoop channel port is optional */ if (of_property_read_u32_index(dev->of_node, "snoop-ports", 1, &port) == 0) { rc = aspeed_lpc_enable_snoop(lpc_snoop, dev, 1, port); - if (rc) + if (rc) { aspeed_lpc_disable_snoop(lpc_snoop, 0); + goto err; + } } + return 0; + +err: + clk_disable_unprepare(lpc_snoop->clk); + return rc; } @@ -309,6 +331,8 @@ aspeed_lpc_disable_snoop(lpc_snoop, 0); aspeed_lpc_disable_snoop(lpc_snoop, 1); + clk_disable_unprepare(lpc_snoop->clk); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/atmel/soc.c +++ linux-riscv-5.8-5.8.0/drivers/soc/atmel/soc.c @@ -265,8 +265,21 @@ return soc_dev; } +static const struct of_device_id at91_soc_allowed_list[] __initconst = { + { .compatible = "atmel,at91rm9200", }, + { .compatible = "atmel,at91sam9", }, + { .compatible = "atmel,sama5", }, + { .compatible = "atmel,samv7", }, + { } +}; + static int __init atmel_soc_device_init(void) { + struct device_node *np = of_find_node_by_path("/"); + + if (!of_match_node(at91_soc_allowed_list, np)) + return 0; + at91_soc_init(socs); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/fsl/dpio/dpio-driver.c +++ linux-riscv-5.8-5.8.0/drivers/soc/fsl/dpio/dpio-driver.c @@ -95,7 +95,6 @@ { int error; struct fsl_mc_device_irq *irq; - cpumask_t mask; irq = dpio_dev->irqs[0]; error = devm_request_irq(&dpio_dev->dev, @@ -112,9 +111,7 @@ } /* set the affinity hint */ - cpumask_clear(&mask); - cpumask_set_cpu(cpu, &mask); - if (irq_set_affinity_hint(irq->msi_desc->irq, &mask)) + if (irq_set_affinity_hint(irq->msi_desc->irq, cpumask_of(cpu))) dev_err(&dpio_dev->dev, "irq_set_affinity failed irq %d cpu %d\n", irq->msi_desc->irq, cpu); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/fsl/qbman/bman.c +++ linux-riscv-5.8-5.8.0/drivers/soc/fsl/qbman/bman.c @@ -660,7 +660,7 @@ } done: put_affine_portal(); - return 0; + return err; } struct gen_pool *bm_bpalloc; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/fsl/qbman/qman.c +++ linux-riscv-5.8-5.8.0/drivers/soc/fsl/qbman/qman.c @@ -186,7 +186,7 @@ __be32 tag; struct qm_fd fd; u8 __reserved3[32]; -} __packed; +} __packed __aligned(8); #define QM_EQCR_VERB_VBIT 0x80 #define QM_EQCR_VERB_CMD_MASK 0x61 /* but only one value; */ #define QM_EQCR_VERB_CMD_ENQUEUE 0x01 --- linux-riscv-5.8-5.8.0.orig/drivers/soc/mediatek/mtk-cmdq-helper.c +++ linux-riscv-5.8-5.8.0/drivers/soc/mediatek/mtk-cmdq-helper.c @@ -213,15 +213,16 @@ } EXPORT_SYMBOL(cmdq_pkt_write_mask); -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event) +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear) { struct cmdq_instruction inst = { {0} }; + u32 clear_option = clear ? CMDQ_WFE_UPDATE : 0; if (event >= CMDQ_MAX_EVENT) return -EINVAL; inst.op = CMDQ_CODE_WFE; - inst.value = CMDQ_WFE_OPTION; + inst.value = CMDQ_WFE_OPTION | clear_option; inst.event = event; return cmdq_pkt_append_command(pkt, inst); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/mediatek/mtk-scpsys.c +++ linux-riscv-5.8-5.8.0/drivers/soc/mediatek/mtk-scpsys.c @@ -524,6 +524,7 @@ for (i = 0; i < num; i++) { struct scp_domain *scpd = &scp->domains[i]; struct generic_pm_domain *genpd = &scpd->genpd; + bool on; /* * Initially turn on all domains to make the domains usable @@ -531,9 +532,9 @@ * software. The unused domains will be switched off during * late_init time. */ - genpd->power_on(genpd); + on = !WARN_ON(genpd->power_on(genpd) < 0); - pm_genpd_init(genpd, NULL, false); + pm_genpd_init(genpd, NULL, !on); } /* --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/apr.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/apr.c @@ -328,7 +328,7 @@ pds = pdr_add_lookup(apr->pdr, service_name, service_path); if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) { - dev_err(dev, "pdr add lookup failed: %d\n", ret); + dev_err(dev, "pdr add lookup failed: %ld\n", PTR_ERR(pds)); return PTR_ERR(pds); } } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/ocmem.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/ocmem.c @@ -189,6 +189,7 @@ { struct platform_device *pdev; struct device_node *devnode; + struct ocmem *ocmem; devnode = of_parse_phandle(dev->of_node, "sram", 0); if (!devnode || !devnode->parent) { @@ -202,7 +203,12 @@ return ERR_PTR(-EPROBE_DEFER); } - return platform_get_drvdata(pdev); + ocmem = platform_get_drvdata(pdev); + if (!ocmem) { + dev_err(dev, "Cannot get ocmem\n"); + return ERR_PTR(-ENODEV); + } + return ocmem; } EXPORT_SYMBOL(of_get_ocmem); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/pdr_interface.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/pdr_interface.c @@ -278,13 +278,15 @@ list_for_each_entry_safe(ind, tmp, &pdr->indack_list, node) { pds = ind->pds; - pdr_send_indack_msg(pdr, pds, ind->transaction_id); mutex_lock(&pdr->status_lock); pds->state = ind->curr_state; pdr->status(pds->state, pds->service_path, pdr->priv); mutex_unlock(&pdr->status_lock); + /* Ack the indication after clients release the PD resources */ + pdr_send_indack_msg(pdr, pds, ind->transaction_id); + mutex_lock(&pdr->list_lock); list_del(&ind->node); mutex_unlock(&pdr->list_lock); @@ -566,7 +568,7 @@ int pdr_restart_pd(struct pdr_handle *pdr, struct pdr_service *pds) { struct servreg_restart_pd_resp resp; - struct servreg_restart_pd_req req; + struct servreg_restart_pd_req req = { 0 }; struct sockaddr_qrtr addr; struct pdr_service *tmp; struct qmi_txn txn; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/pdr_internal.h +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/pdr_internal.h @@ -185,7 +185,7 @@ .data_type = QMI_STRUCT, .elem_len = SERVREG_DOMAIN_LIST_LENGTH, .elem_size = sizeof(struct servreg_location_entry), - .array_type = NO_ARRAY, + .array_type = VAR_LEN_ARRAY, .tlv_type = 0x12, .offset = offsetof(struct servreg_get_domain_list_resp, domain_list), --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/qcom-geni-se.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/qcom-geni-se.c @@ -282,10 +282,23 @@ static void geni_se_select_dma_mode(struct geni_se *se) { + u32 proto = geni_se_read_proto(se); u32 val; geni_se_irq_clear(se); + val = readl_relaxed(se->base + SE_GENI_M_IRQ_EN); + if (proto != GENI_SE_UART) { + val &= ~(M_CMD_DONE_EN | M_TX_FIFO_WATERMARK_EN); + val &= ~(M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN); + } + writel_relaxed(val, se->base + SE_GENI_M_IRQ_EN); + + val = readl_relaxed(se->base + SE_GENI_S_IRQ_EN); + if (proto != GENI_SE_UART) + val &= ~S_CMD_DONE_EN; + writel_relaxed(val, se->base + SE_GENI_S_IRQ_EN); + val = readl_relaxed(se->base + SE_GENI_DMA_MODE_EN); val |= GENI_DMA_MODE_EN; writel_relaxed(val, se->base + SE_GENI_DMA_MODE_EN); @@ -644,7 +657,7 @@ writel_relaxed(lower_32_bits(*iova), se->base + SE_DMA_TX_PTR_L); writel_relaxed(upper_32_bits(*iova), se->base + SE_DMA_TX_PTR_H); writel_relaxed(GENI_SE_DMA_EOT_BUF, se->base + SE_DMA_TX_ATTR); - writel_relaxed(len, se->base + SE_DMA_TX_LEN); + writel(len, se->base + SE_DMA_TX_LEN); return 0; } EXPORT_SYMBOL(geni_se_tx_dma_prep); @@ -681,7 +694,7 @@ writel_relaxed(upper_32_bits(*iova), se->base + SE_DMA_RX_PTR_H); /* RX does not have EOT buffer type bit. So just reset RX_ATTR */ writel_relaxed(0, se->base + SE_DMA_RX_ATTR); - writel_relaxed(len, se->base + SE_DMA_RX_LEN); + writel(len, se->base + SE_DMA_RX_LEN); return 0; } EXPORT_SYMBOL(geni_se_rx_dma_prep); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/rpmh-internal.h +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/rpmh-internal.h @@ -8,6 +8,7 @@ #define __RPM_INTERNAL_H__ #include +#include #include #define TCS_TYPE_NR 4 @@ -106,6 +107,8 @@ * @lock: Synchronize state of the controller. If RPMH's cache * lock will also be held, the order is: drv->lock then * cache_lock. + * @tcs_wait: Wait queue used to wait for @tcs_in_use to free up a + * slot * @client: Handle to the DRV's client. */ struct rsc_drv { @@ -118,6 +121,7 @@ struct tcs_group tcs[TCS_TYPE_NR]; DECLARE_BITMAP(tcs_in_use, MAX_TCS_NR); spinlock_t lock; + wait_queue_head_t tcs_wait; struct rpmh_ctrlr client; }; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/rpmh-rsc.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/rpmh-rsc.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -175,13 +176,21 @@ static void write_tcs_reg_sync(const struct rsc_drv *drv, int reg, int tcs_id, u32 data) { - u32 new_data; + int i; writel(data, tcs_reg_addr(drv, reg, tcs_id)); - if (readl_poll_timeout_atomic(tcs_reg_addr(drv, reg, tcs_id), new_data, - new_data == data, 1, USEC_PER_SEC)) - pr_err("%s: error writing %#x to %d:%#x\n", drv->name, - data, tcs_id, reg); + + /* + * Wait until we read back the same value. Use a counter rather than + * ktime for timeout since this may be called after timekeeping stops. + */ + for (i = 0; i < USEC_PER_SEC; i++) { + if (readl(tcs_reg_addr(drv, reg, tcs_id)) == data) + return; + udelay(1); + } + pr_err("%s: error writing %#x to %d:%#x\n", drv->name, + data, tcs_id, reg); } /** @@ -445,6 +454,7 @@ if (!drv->tcs[ACTIVE_TCS].num_tcs) enable_tcs_irq(drv, i, false); spin_unlock(&drv->lock); + wake_up(&drv->tcs_wait); if (req) rpmh_tx_done(req, err); } @@ -563,73 +573,34 @@ } /** - * tcs_write() - Store messages into a TCS right now, or return -EBUSY. + * claim_tcs_for_req() - Claim a tcs in the given tcs_group; only for active. * @drv: The controller. + * @tcs: The tcs_group used for ACTIVE_ONLY transfers. * @msg: The data to be sent. * - * Grabs a TCS for ACTIVE_ONLY transfers and writes the messages to it. + * Claims a tcs in the given tcs_group while making sure that no existing cmd + * is in flight that would conflict with the one in @msg. * - * If there are no free TCSes for ACTIVE_ONLY transfers or if a command for - * the same address is already transferring returns -EBUSY which means the - * client should retry shortly. + * Context: Must be called with the drv->lock held since that protects + * tcs_in_use. * - * Return: 0 on success, -EBUSY if client should retry, or an error. - * Client should have interrupts enabled for a bit before retrying. + * Return: The id of the claimed tcs or -EBUSY if a matching msg is in flight + * or the tcs_group is full. */ -static int tcs_write(struct rsc_drv *drv, const struct tcs_request *msg) +static int claim_tcs_for_req(struct rsc_drv *drv, struct tcs_group *tcs, + const struct tcs_request *msg) { - struct tcs_group *tcs; - int tcs_id; - unsigned long flags; int ret; - tcs = get_tcs_for_msg(drv, msg); - if (IS_ERR(tcs)) - return PTR_ERR(tcs); - - spin_lock_irqsave(&drv->lock, flags); /* * The h/w does not like if we send a request to the same address, * when one is already in-flight or being processed. */ ret = check_for_req_inflight(drv, tcs, msg); if (ret) - goto unlock; - - ret = find_free_tcs(tcs); - if (ret < 0) - goto unlock; - tcs_id = ret; - - tcs->req[tcs_id - tcs->offset] = msg; - set_bit(tcs_id, drv->tcs_in_use); - if (msg->state == RPMH_ACTIVE_ONLY_STATE && tcs->type != ACTIVE_TCS) { - /* - * Clear previously programmed WAKE commands in selected - * repurposed TCS to avoid triggering them. tcs->slots will be - * cleaned from rpmh_flush() by invoking rpmh_rsc_invalidate() - */ - write_tcs_reg_sync(drv, RSC_DRV_CMD_ENABLE, tcs_id, 0); - write_tcs_reg_sync(drv, RSC_DRV_CMD_WAIT_FOR_CMPL, tcs_id, 0); - enable_tcs_irq(drv, tcs_id, true); - } - spin_unlock_irqrestore(&drv->lock, flags); - - /* - * These two can be done after the lock is released because: - * - We marked "tcs_in_use" under lock. - * - Once "tcs_in_use" has been marked nobody else could be writing - * to these registers until the interrupt goes off. - * - The interrupt can't go off until we trigger w/ the last line - * of __tcs_set_trigger() below. - */ - __tcs_buffer_write(drv, tcs_id, 0, msg); - __tcs_set_trigger(drv, tcs_id, true); + return ret; - return 0; -unlock: - spin_unlock_irqrestore(&drv->lock, flags); - return ret; + return find_free_tcs(tcs); } /** @@ -656,18 +627,47 @@ */ int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg) { - int ret; + struct tcs_group *tcs; + int tcs_id; + unsigned long flags; - do { - ret = tcs_write(drv, msg); - if (ret == -EBUSY) { - pr_info_ratelimited("TCS Busy, retrying RPMH message send: addr=%#x\n", - msg->cmds[0].addr); - udelay(10); - } - } while (ret == -EBUSY); + tcs = get_tcs_for_msg(drv, msg); + if (IS_ERR(tcs)) + return PTR_ERR(tcs); - return ret; + spin_lock_irqsave(&drv->lock, flags); + + /* Wait forever for a free tcs. It better be there eventually! */ + wait_event_lock_irq(drv->tcs_wait, + (tcs_id = claim_tcs_for_req(drv, tcs, msg)) >= 0, + drv->lock); + + tcs->req[tcs_id - tcs->offset] = msg; + set_bit(tcs_id, drv->tcs_in_use); + if (msg->state == RPMH_ACTIVE_ONLY_STATE && tcs->type != ACTIVE_TCS) { + /* + * Clear previously programmed WAKE commands in selected + * repurposed TCS to avoid triggering them. tcs->slots will be + * cleaned from rpmh_flush() by invoking rpmh_rsc_invalidate() + */ + write_tcs_reg_sync(drv, RSC_DRV_CMD_ENABLE, tcs_id, 0); + write_tcs_reg_sync(drv, RSC_DRV_CMD_WAIT_FOR_CMPL, tcs_id, 0); + enable_tcs_irq(drv, tcs_id, true); + } + spin_unlock_irqrestore(&drv->lock, flags); + + /* + * These two can be done after the lock is released because: + * - We marked "tcs_in_use" under lock. + * - Once "tcs_in_use" has been marked nobody else could be writing + * to these registers until the interrupt goes off. + * - The interrupt can't go off until we trigger w/ the last line + * of __tcs_set_trigger() below. + */ + __tcs_buffer_write(drv, tcs_id, 0, msg); + __tcs_set_trigger(drv, tcs_id, true); + + return 0; } /** @@ -975,6 +975,7 @@ return ret; spin_lock_init(&drv->lock); + init_waitqueue_head(&drv->tcs_wait); bitmap_zero(drv->tcs_in_use, MAX_TCS_NR); irq = platform_get_irq(pdev, drv->id); @@ -1023,6 +1024,7 @@ .driver = { .name = "rpmh", .of_match_table = rpmh_drv_match, + .suppress_bind_attrs = true, }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/qcom/smp2p.c +++ linux-riscv-5.8-5.8.0/drivers/soc/qcom/smp2p.c @@ -318,15 +318,16 @@ static int smp2p_update_bits(void *data, u32 mask, u32 value) { struct smp2p_entry *entry = data; + unsigned long flags; u32 orig; u32 val; - spin_lock(&entry->lock); + spin_lock_irqsave(&entry->lock, flags); val = orig = readl(entry->value); val &= ~mask; val |= value; writel(val, entry->value); - spin_unlock(&entry->lock); + spin_unlock_irqrestore(&entry->lock, flags); if (val != orig) qcom_smp2p_kick(entry->smp2p); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/renesas/rmobile-sysc.c +++ linux-riscv-5.8-5.8.0/drivers/soc/renesas/rmobile-sysc.c @@ -327,6 +327,7 @@ pmd = of_get_child_by_name(np, "pm-domains"); if (!pmd) { + iounmap(base); pr_warn("%pOF lacks pm-domains node\n", np); continue; } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/samsung/exynos-asv.c +++ linux-riscv-5.8-5.8.0/drivers/soc/samsung/exynos-asv.c @@ -119,11 +119,6 @@ u32 product_id = 0; int ret, i; - cpu_dev = get_cpu_device(0); - ret = dev_pm_opp_get_opp_count(cpu_dev); - if (ret < 0) - return -EPROBE_DEFER; - asv = devm_kzalloc(&pdev->dev, sizeof(*asv), GFP_KERNEL); if (!asv) return -ENOMEM; @@ -134,7 +129,13 @@ return PTR_ERR(asv->chipid_regmap); } - regmap_read(asv->chipid_regmap, EXYNOS_CHIPID_REG_PRO_ID, &product_id); + ret = regmap_read(asv->chipid_regmap, EXYNOS_CHIPID_REG_PRO_ID, + &product_id); + if (ret < 0) { + dev_err(&pdev->dev, "Cannot read revision from ChipID: %d\n", + ret); + return -ENODEV; + } switch (product_id & EXYNOS_MASK) { case 0xE5422000: @@ -144,6 +145,11 @@ return -ENODEV; } + cpu_dev = get_cpu_device(0); + ret = dev_pm_opp_get_opp_count(cpu_dev); + if (ret < 0) + return -EPROBE_DEFER; + ret = of_property_read_u32(pdev->dev.of_node, "samsung,asv-bin", &asv->of_bin); if (ret < 0) --- linux-riscv-5.8-5.8.0.orig/drivers/soc/sifive/sifive_l2_cache.c +++ linux-riscv-5.8-5.8.0/drivers/soc/sifive/sifive_l2_cache.c @@ -17,6 +17,10 @@ #define SIFIVE_L2_DIRECCFIX_HIGH 0x104 #define SIFIVE_L2_DIRECCFIX_COUNT 0x108 +#define SIFIVE_L2_DIRECCFAIL_LOW 0x120 +#define SIFIVE_L2_DIRECCFAIL_HIGH 0x124 +#define SIFIVE_L2_DIRECCFAIL_COUNT 0x128 + #define SIFIVE_L2_DATECCFIX_LOW 0x140 #define SIFIVE_L2_DATECCFIX_HIGH 0x144 #define SIFIVE_L2_DATECCFIX_COUNT 0x148 @@ -29,7 +33,7 @@ #define SIFIVE_L2_WAYENABLE 0x08 #define SIFIVE_L2_ECCINJECTERR 0x40 -#define SIFIVE_L2_MAX_ECCINTR 3 +#define SIFIVE_L2_MAX_ECCINTR 4 static void __iomem *l2_base; static int g_irq[SIFIVE_L2_MAX_ECCINTR]; @@ -37,6 +41,7 @@ enum { DIR_CORR = 0, + DIR_UNCORR, DATA_CORR, DATA_UNCORR, }; @@ -93,6 +98,7 @@ static const struct of_device_id sifive_l2_ids[] = { { .compatible = "sifive,fu540-c000-ccache" }, + { .compatible = "sifive,fu740-c000-ccache" }, { /* end of table */ }, }; @@ -155,6 +161,15 @@ atomic_notifier_call_chain(&l2_err_chain, SIFIVE_L2_ERR_TYPE_CE, "DirECCFix"); } + if (irq == g_irq[DIR_UNCORR]) { + add_h = readl(l2_base + SIFIVE_L2_DIRECCFAIL_HIGH); + add_l = readl(l2_base + SIFIVE_L2_DIRECCFAIL_LOW); + /* Reading this register clears the DirFail interrupt sig */ + readl(l2_base + SIFIVE_L2_DIRECCFAIL_COUNT); + atomic_notifier_call_chain(&l2_err_chain, SIFIVE_L2_ERR_TYPE_UE, + "DirECCFail"); + panic("L2CACHE: DirFail @ 0x%08X.%08X\n", add_h, add_l); + } if (irq == g_irq[DATA_CORR]) { add_h = readl(l2_base + SIFIVE_L2_DATECCFIX_HIGH); add_l = readl(l2_base + SIFIVE_L2_DATECCFIX_LOW); @@ -179,9 +194,9 @@ static int __init sifive_l2_init(void) { + int i, k, rc, intr_num, offset = 0; struct device_node *np; struct resource res; - int i, rc; np = of_find_matching_node(NULL, sifive_l2_ids); if (!np) @@ -194,11 +209,33 @@ if (!l2_base) return -ENOMEM; - for (i = 0; i < SIFIVE_L2_MAX_ECCINTR; i++) { - g_irq[i] = irq_of_parse_and_map(np, i); - rc = request_irq(g_irq[i], l2_int_handler, 0, "l2_ecc", NULL); + intr_num = of_property_count_u32_elems(np, "interrupts"); + if (!intr_num) { + pr_err("L2CACHE: no interrupts property\n"); + return -ENODEV; + } + + /* + * Only FU540 have 3 interrupts. Rest all other variants have + * 4 interrupts (+dirfail). Therefore offset is required to skip + * 'dirfail' interrupt entry in case of FU540 + */ + if (of_device_is_compatible(np, "sifive,fu540-c000-ccache")) + offset = 1; + + g_irq[0] = irq_of_parse_and_map(np, 0); + rc = request_irq(g_irq[0], l2_int_handler, 0, "l2_ecc", NULL); + if (rc) { + pr_err("L2CACHE: Could not request IRQ %d\n", g_irq[0]); + return rc; + } + + for (i = 1; i < intr_num; i++) { + k = i + offset; + g_irq[k] = irq_of_parse_and_map(np, i); + rc = request_irq(g_irq[k], l2_int_handler, 0, "l2_ecc", NULL); if (rc) { - pr_err("L2CACHE: Could not request IRQ %d\n", g_irq[i]); + pr_err("L2CACHE: Could not request IRQ %d\n", g_irq[k]); return rc; } } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/tegra/fuse/speedo-tegra210.c +++ linux-riscv-5.8-5.8.0/drivers/soc/tegra/fuse/speedo-tegra210.c @@ -94,7 +94,7 @@ unsigned int i; for (i = 0; i < num; i++) - if (value < speedos[num]) + if (value < speedos[i]) return i; return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/ti/knav_dma.c +++ linux-riscv-5.8-5.8.0/drivers/soc/ti/knav_dma.c @@ -759,8 +759,9 @@ pm_runtime_enable(kdev->dev); ret = pm_runtime_get_sync(kdev->dev); if (ret < 0) { + pm_runtime_put_noidle(kdev->dev); dev_err(kdev->dev, "unable to enable pktdma, err %d\n", ret); - return ret; + goto err_pm_disable; } /* Initialise all packet dmas */ @@ -774,7 +775,8 @@ if (list_empty(&kdev->list)) { dev_err(dev, "no valid dma instance\n"); - return -ENODEV; + ret = -ENODEV; + goto err_put_sync; } debugfs_create_file("knav_dma", S_IFREG | S_IRUGO, NULL, NULL, @@ -782,6 +784,13 @@ device_ready = true; return ret; + +err_put_sync: + pm_runtime_put_sync(kdev->dev); +err_pm_disable: + pm_runtime_disable(kdev->dev); + + return ret; } static int knav_dma_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/soc/ti/knav_qmss_queue.c +++ linux-riscv-5.8-5.8.0/drivers/soc/ti/knav_qmss_queue.c @@ -1794,6 +1794,7 @@ pm_runtime_enable(&pdev->dev); ret = pm_runtime_get_sync(&pdev->dev); if (ret < 0) { + pm_runtime_put_noidle(&pdev->dev); dev_err(dev, "Failed to enable QMSS\n"); return ret; } @@ -1861,9 +1862,10 @@ if (ret) goto err; - regions = of_get_child_by_name(node, "descriptor-regions"); + regions = of_get_child_by_name(node, "descriptor-regions"); if (!regions) { dev_err(dev, "descriptor-regions not specified\n"); + ret = -ENODEV; goto err; } ret = knav_queue_setup_regions(kdev, regions); --- linux-riscv-5.8-5.8.0.orig/drivers/soc/ti/omap_prm.c +++ linux-riscv-5.8-5.8.0/drivers/soc/ti/omap_prm.c @@ -231,6 +231,10 @@ struct ti_prm_platform_data *pdata = dev_get_platdata(reset->dev); int ret = 0; + /* Nothing to do if the reset is already deasserted */ + if (!omap_reset_status(rcdev, id)) + return 0; + has_rstst = reset->prm->data->rstst || (reset->prm->data->flags & OMAP_PRM_HAS_RSTST); @@ -265,8 +269,12 @@ reset->prm->data->name, id); exit: - if (reset->clkdm) + if (reset->clkdm) { + /* At least dra7 iva needs a delay before clkdm idle */ + if (has_rstst) + udelay(1); pdata->clkdm_allow_idle(reset->clkdm); + } return ret; } @@ -295,6 +303,7 @@ const struct omap_rst_map *map; struct ti_prm_platform_data *pdata = dev_get_platdata(&pdev->dev); char buf[32]; + u32 v; /* * Check if we have controllable resets. If either rstctrl is non-zero @@ -342,6 +351,16 @@ map++; } + /* Quirk handling to assert rst_map_012 bits on reset and avoid errors */ + if (prm->data->rstmap == rst_map_012) { + v = readl_relaxed(reset->prm->base + reset->prm->data->rstctrl); + if ((v & reset->mask) != reset->mask) { + dev_dbg(&pdev->dev, "Asserting all resets: %08x\n", v); + writel_relaxed(reset->mask, reset->prm->base + + reset->prm->data->rstctrl); + } + } + return devm_reset_controller_register(&pdev->dev, &reset->rcdev); } --- linux-riscv-5.8-5.8.0.orig/drivers/soc/ti/pm33xx.c +++ linux-riscv-5.8-5.8.0/drivers/soc/ti/pm33xx.c @@ -501,7 +501,7 @@ ret = am33xx_push_sram_idle(); if (ret) - goto err_free_sram; + goto err_unsetup_rtc; am33xx_pm_set_ipc_ops(); @@ -531,6 +531,9 @@ err_put_wkup_m3_ipc: wkup_m3_ipc_put(m3_ipc); +err_unsetup_rtc: + iounmap(rtc_base_virt); + clk_put(rtc_fck); err_free_sram: am33xx_pm_free_sram(); pm33xx_dev = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/soc/xilinx/zynqmp_power.c +++ linux-riscv-5.8-5.8.0/drivers/soc/xilinx/zynqmp_power.c @@ -205,7 +205,7 @@ rx_chan = mbox_request_channel_byname(client, "rx"); if (IS_ERR(rx_chan)) { dev_err(&pdev->dev, "Failed to request rx channel\n"); - return IS_ERR(rx_chan); + return PTR_ERR(rx_chan); } } else if (of_find_property(pdev->dev.of_node, "interrupts", NULL)) { irq = platform_get_irq(pdev, 0); --- linux-riscv-5.8-5.8.0.orig/drivers/soundwire/bus.c +++ linux-riscv-5.8-5.8.0/drivers/soundwire/bus.c @@ -390,10 +390,11 @@ return sdw_transfer(slave->bus, &msg); } -static int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value) +int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value) { return sdw_nwrite_no_pm(slave, addr, 1, &value); } +EXPORT_SYMBOL(sdw_write_no_pm); static int sdw_bread_no_pm(struct sdw_bus *bus, u16 dev_num, u32 addr) @@ -428,8 +429,7 @@ return sdw_transfer(bus, &msg); } -static int -sdw_read_no_pm(struct sdw_slave *slave, u32 addr) +int sdw_read_no_pm(struct sdw_slave *slave, u32 addr) { u8 buf; int ret; @@ -440,6 +440,19 @@ else return buf; } +EXPORT_SYMBOL(sdw_read_no_pm); + +static int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) +{ + int tmp; + + tmp = sdw_read_no_pm(slave, addr); + if (tmp < 0) + return tmp; + + tmp = (tmp & ~mask) | val; + return sdw_write_no_pm(slave, addr, tmp); +} /** * sdw_nread() - Read "n" contiguous SDW Slave registers @@ -452,16 +465,16 @@ { int ret; - ret = pm_runtime_get_sync(slave->bus->dev); + ret = pm_runtime_get_sync(&slave->dev); if (ret < 0 && ret != -EACCES) { - pm_runtime_put_noidle(slave->bus->dev); + pm_runtime_put_noidle(&slave->dev); return ret; } ret = sdw_nread_no_pm(slave, addr, count, val); - pm_runtime_mark_last_busy(slave->bus->dev); - pm_runtime_put(slave->bus->dev); + pm_runtime_mark_last_busy(&slave->dev); + pm_runtime_put(&slave->dev); return ret; } @@ -478,16 +491,16 @@ { int ret; - ret = pm_runtime_get_sync(slave->bus->dev); + ret = pm_runtime_get_sync(&slave->dev); if (ret < 0 && ret != -EACCES) { - pm_runtime_put_noidle(slave->bus->dev); + pm_runtime_put_noidle(&slave->dev); return ret; } ret = sdw_nwrite_no_pm(slave, addr, count, val); - pm_runtime_mark_last_busy(slave->bus->dev); - pm_runtime_put(slave->bus->dev); + pm_runtime_mark_last_busy(&slave->dev); + pm_runtime_put(&slave->dev); return ret; } @@ -1075,7 +1088,7 @@ SDW_SCP_INT1_PARITY; /* Enable SCP interrupts */ - ret = sdw_update(slave, SDW_SCP_INTMASK1, val, val); + ret = sdw_update_no_pm(slave, SDW_SCP_INTMASK1, val, val); if (ret < 0) { dev_err(slave->bus->dev, "SDW_SCP_INTMASK1 write failed:%d\n", ret); @@ -1090,7 +1103,7 @@ val = prop->dp0_prop->imp_def_interrupts; val |= SDW_DP0_INT_PORT_READY | SDW_DP0_INT_BRA_FAILURE; - ret = sdw_update(slave, SDW_DP0_INTMASK, val, val); + ret = sdw_update_no_pm(slave, SDW_DP0_INTMASK, val, val); if (ret < 0) dev_err(slave->bus->dev, "SDW_DP0_INTMASK read failed:%d\n", ret); @@ -1250,7 +1263,7 @@ ret = pm_runtime_get_sync(&slave->dev); if (ret < 0 && ret != -EACCES) { dev_err(&slave->dev, "Failed to resume device: %d\n", ret); - pm_runtime_put_noidle(slave->bus->dev); + pm_runtime_put_noidle(&slave->dev); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/soundwire/cadence_master.c +++ linux-riscv-5.8-5.8.0/drivers/soundwire/cadence_master.c @@ -397,10 +397,10 @@ if (!(cdns->response_buf[i] & CDNS_MCP_RESP_ACK)) { no_ack = 1; dev_dbg_ratelimited(cdns->dev, "Msg Ack not received\n"); - if (cdns->response_buf[i] & CDNS_MCP_RESP_NACK) { - nack = 1; - dev_err_ratelimited(cdns->dev, "Msg NACK received\n"); - } + } + if (cdns->response_buf[i] & CDNS_MCP_RESP_NACK) { + nack = 1; + dev_err_ratelimited(cdns->dev, "Msg NACK received\n"); } } --- linux-riscv-5.8-5.8.0.orig/drivers/soundwire/intel_init.c +++ linux-riscv-5.8-5.8.0/drivers/soundwire/intel_init.c @@ -196,11 +196,12 @@ { acpi_status status; + res->handle = NULL; status = acpi_walk_namespace(ACPI_TYPE_DEVICE, parent_handle, 1, sdw_intel_acpi_cb, NULL, res, NULL); - if (ACPI_FAILURE(status)) + if (ACPI_FAILURE(status) || res->handle == NULL) return NULL; return sdw_intel_add_controller(res); --- linux-riscv-5.8-5.8.0.orig/drivers/soundwire/stream.c +++ linux-riscv-5.8-5.8.0/drivers/soundwire/stream.c @@ -716,6 +716,7 @@ kfree(wbuf); error_1: kfree(wr_msg); + bus->defer_msg.msg = NULL; return ret; } @@ -839,9 +840,10 @@ error: list_for_each_entry(m_rt, &stream->master_list, stream_node) { bus = m_rt->bus; - - kfree(bus->defer_msg.msg->buf); - kfree(bus->defer_msg.msg); + if (bus->defer_msg.msg) { + kfree(bus->defer_msg.msg->buf); + kfree(bus->defer_msg.msg); + } } msg_unlock: --- linux-riscv-5.8-5.8.0.orig/drivers/soundwire/sysfs_slave_dpn.c +++ linux-riscv-5.8-5.8.0/drivers/soundwire/sysfs_slave_dpn.c @@ -37,6 +37,7 @@ return -ENOMEM; \ dpn_attr->N = N; \ dpn_attr->dir = dir; \ + sysfs_attr_init(&dpn_attr->dev_attr.attr); \ dpn_attr->format_string = format_string; \ dpn_attr->dev_attr.attr.name = __stringify(field); \ dpn_attr->dev_attr.attr.mode = 0444; \ --- linux-riscv-5.8-5.8.0.orig/drivers/spi/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/spi/Kconfig @@ -999,4 +999,7 @@ endif # SPI_SLAVE +config SPI_DYNAMIC + def_bool ACPI || OF_DYNAMIC || SPI_SLAVE + endif # SPI --- linux-riscv-5.8-5.8.0.orig/drivers/spi/atmel-quadspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/atmel-quadspi.c @@ -359,10 +359,14 @@ if (dummy_cycles) ifr |= QSPI_IFR_NBDUM(dummy_cycles); - /* Set data enable */ - if (op->data.nbytes) + /* Set data enable and data transfer type. */ + if (op->data.nbytes) { ifr |= QSPI_IFR_DATAEN; + if (op->addr.nbytes) + ifr |= QSPI_IFR_TFRTYP_MEM; + } + /* * If the QSPI controller is set in regular SPI mode, set it in * Serial Memory Mode (SMM). @@ -387,7 +391,7 @@ atmel_qspi_write(icr, aq, QSPI_WICR); atmel_qspi_write(ifr, aq, QSPI_IFR); } else { - if (op->data.dir == SPI_MEM_DATA_OUT) + if (op->data.nbytes && op->data.dir == SPI_MEM_DATA_OUT) ifr |= QSPI_IFR_SAMA5D2_WRITE_TRSFR; /* Set QSPI Instruction Frame registers */ @@ -529,7 +533,7 @@ struct resource *res; int irq, err = 0; - ctrl = spi_alloc_master(&pdev->dev, sizeof(*aq)); + ctrl = devm_spi_alloc_master(&pdev->dev, sizeof(*aq)); if (!ctrl) return -ENOMEM; @@ -551,8 +555,7 @@ aq->regs = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(aq->regs)) { dev_err(&pdev->dev, "missing registers\n"); - err = PTR_ERR(aq->regs); - goto exit; + return PTR_ERR(aq->regs); } /* Map the AHB memory */ @@ -560,8 +563,7 @@ aq->mem = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(aq->mem)) { dev_err(&pdev->dev, "missing AHB memory\n"); - err = PTR_ERR(aq->mem); - goto exit; + return PTR_ERR(aq->mem); } aq->mmap_size = resource_size(res); @@ -573,22 +575,21 @@ if (IS_ERR(aq->pclk)) { dev_err(&pdev->dev, "missing peripheral clock\n"); - err = PTR_ERR(aq->pclk); - goto exit; + return PTR_ERR(aq->pclk); } /* Enable the peripheral clock */ err = clk_prepare_enable(aq->pclk); if (err) { dev_err(&pdev->dev, "failed to enable the peripheral clock\n"); - goto exit; + return err; } aq->caps = of_device_get_match_data(&pdev->dev); if (!aq->caps) { dev_err(&pdev->dev, "Could not retrieve QSPI caps\n"); err = -EINVAL; - goto exit; + goto disable_pclk; } if (aq->caps->has_qspick) { @@ -632,8 +633,6 @@ clk_disable_unprepare(aq->qspick); disable_pclk: clk_disable_unprepare(aq->pclk); -exit: - spi_controller_put(ctrl); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-ar934x.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-ar934x.c @@ -176,10 +176,11 @@ if (ret) return ret; - ctlr = spi_alloc_master(&pdev->dev, sizeof(*sp)); + ctlr = devm_spi_alloc_master(&pdev->dev, sizeof(*sp)); if (!ctlr) { dev_info(&pdev->dev, "failed to allocate spi controller\n"); - return -ENOMEM; + ret = -ENOMEM; + goto err_clk_disable; } /* disable flash mapping and expose spi controller registers */ @@ -202,7 +203,13 @@ sp->clk_freq = clk_get_rate(clk); sp->ctlr = ctlr; - return devm_spi_register_controller(&pdev->dev, ctlr); + ret = spi_register_controller(ctlr); + if (!ret) + return 0; + +err_clk_disable: + clk_disable_unprepare(clk); + return ret; } static int ar934x_spi_remove(struct platform_device *pdev) @@ -213,6 +220,7 @@ ctlr = dev_get_drvdata(&pdev->dev); sp = spi_controller_get_devdata(ctlr); + spi_unregister_controller(ctlr); clk_disable_unprepare(sp->clk); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-atmel.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-atmel.c @@ -1592,7 +1592,7 @@ if (ret == 0) { as->use_dma = true; } else if (ret == -EPROBE_DEFER) { - return ret; + goto out_unmap_regs; } } else if (as->caps.has_pdc_support) { as->use_pdc = true; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-bcm-qspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-bcm-qspi.c @@ -1295,7 +1295,7 @@ }, { .compatible = "brcm,spi-bcm-qspi", - .data = &bcm_qspi_rev_data, + .data = &bcm_qspi_no_rev_data, }, { .compatible = "brcm,spi-bcm7216-qspi", @@ -1334,7 +1334,7 @@ data = of_id->data; - master = spi_alloc_master(dev, sizeof(struct bcm_qspi)); + master = devm_spi_alloc_master(dev, sizeof(struct bcm_qspi)); if (!master) { dev_err(dev, "error allocating spi_master\n"); return -ENOMEM; @@ -1374,21 +1374,17 @@ if (res) { qspi->base[MSPI] = devm_ioremap_resource(dev, res); - if (IS_ERR(qspi->base[MSPI])) { - ret = PTR_ERR(qspi->base[MSPI]); - goto qspi_resource_err; - } + if (IS_ERR(qspi->base[MSPI])) + return PTR_ERR(qspi->base[MSPI]); } else { - goto qspi_resource_err; + return 0; } res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "bspi"); if (res) { qspi->base[BSPI] = devm_ioremap_resource(dev, res); - if (IS_ERR(qspi->base[BSPI])) { - ret = PTR_ERR(qspi->base[BSPI]); - goto qspi_resource_err; - } + if (IS_ERR(qspi->base[BSPI])) + return PTR_ERR(qspi->base[BSPI]); qspi->bspi_mode = true; } else { qspi->bspi_mode = false; @@ -1399,18 +1395,14 @@ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cs_reg"); if (res) { qspi->base[CHIP_SELECT] = devm_ioremap_resource(dev, res); - if (IS_ERR(qspi->base[CHIP_SELECT])) { - ret = PTR_ERR(qspi->base[CHIP_SELECT]); - goto qspi_resource_err; - } + if (IS_ERR(qspi->base[CHIP_SELECT])) + return PTR_ERR(qspi->base[CHIP_SELECT]); } qspi->dev_ids = kcalloc(num_irqs, sizeof(struct bcm_qspi_dev_id), GFP_KERNEL); - if (!qspi->dev_ids) { - ret = -ENOMEM; - goto qspi_resource_err; - } + if (!qspi->dev_ids) + return -ENOMEM; for (val = 0; val < num_irqs; val++) { irq = -1; @@ -1491,7 +1483,7 @@ qspi->xfer_mode.addrlen = -1; qspi->xfer_mode.hp = -1; - ret = devm_spi_register_master(&pdev->dev, master); + ret = spi_register_master(master); if (ret < 0) { dev_err(dev, "can't register master\n"); goto qspi_reg_err; @@ -1504,8 +1496,6 @@ clk_disable_unprepare(qspi->clk); qspi_probe_err: kfree(qspi->dev_ids); -qspi_resource_err: - spi_master_put(master); return ret; } /* probe function to be called by SoC specific platform driver probe */ @@ -1515,10 +1505,10 @@ { struct bcm_qspi *qspi = platform_get_drvdata(pdev); + spi_unregister_master(qspi->master); bcm_qspi_hw_uninit(qspi); clk_disable_unprepare(qspi->clk); kfree(qspi->dev_ids); - spi_unregister_master(qspi->master); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-bcm2835.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-bcm2835.c @@ -1195,7 +1195,6 @@ struct spi_controller *ctlr = spi->controller; struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr); struct gpio_chip *chip; - enum gpio_lookup_flags lflags; u32 cs; /* @@ -1261,21 +1260,9 @@ if (!chip) return 0; - /* - * Retrieve the corresponding GPIO line used for CS. - * The inversion semantics will be handled by the GPIO core - * code, so we pass GPIOD_OUT_LOW for "unasserted" and - * the correct flag for inversion semantics. The SPI_CS_HIGH - * on spi->mode cannot be checked for polarity in this case - * as the flag use_gpio_descriptors enforces SPI_CS_HIGH. - */ - if (of_property_read_bool(spi->dev.of_node, "spi-cs-high")) - lflags = GPIO_ACTIVE_HIGH; - else - lflags = GPIO_ACTIVE_LOW; spi->cs_gpiod = gpiochip_request_own_desc(chip, 8 - spi->chip_select, DRV_NAME, - lflags, + GPIO_LOOKUP_FLAGS_DEFAULT, GPIOD_OUT_LOW); if (IS_ERR(spi->cs_gpiod)) return PTR_ERR(spi->cs_gpiod); @@ -1293,7 +1280,7 @@ struct bcm2835_spi *bs; int err; - ctlr = spi_alloc_master(&pdev->dev, ALIGN(sizeof(*bs), + ctlr = devm_spi_alloc_master(&pdev->dev, ALIGN(sizeof(*bs), dma_get_cache_alignment())); if (!ctlr) return -ENOMEM; @@ -1313,10 +1300,8 @@ bs = spi_controller_get_devdata(ctlr); bs->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(bs->regs)) { - err = PTR_ERR(bs->regs); - goto out_controller_put; - } + if (IS_ERR(bs->regs)) + return PTR_ERR(bs->regs); bs->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(bs->clk)) { @@ -1325,14 +1310,12 @@ dev_dbg(&pdev->dev, "could not get clk: %d\n", err); else dev_err(&pdev->dev, "could not get clk: %d\n", err); - goto out_controller_put; + return err; } bs->irq = platform_get_irq(pdev, 0); - if (bs->irq <= 0) { - err = bs->irq ? bs->irq : -ENODEV; - goto out_controller_put; - } + if (bs->irq <= 0) + return bs->irq ? bs->irq : -ENODEV; clk_prepare_enable(bs->clk); @@ -1366,8 +1349,6 @@ bcm2835_dma_release(ctlr, bs); out_clk_disable: clk_disable_unprepare(bs->clk); -out_controller_put: - spi_controller_put(ctlr); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-bcm2835aux.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-bcm2835aux.c @@ -494,7 +494,7 @@ unsigned long clk_hz; int err; - master = spi_alloc_master(&pdev->dev, sizeof(*bs)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(*bs)); if (!master) return -ENOMEM; @@ -524,29 +524,25 @@ /* the main area */ bs->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(bs->regs)) { - err = PTR_ERR(bs->regs); - goto out_master_put; - } + if (IS_ERR(bs->regs)) + return PTR_ERR(bs->regs); bs->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(bs->clk)) { err = PTR_ERR(bs->clk); dev_err(&pdev->dev, "could not get clk: %d\n", err); - goto out_master_put; + return err; } bs->irq = platform_get_irq(pdev, 0); - if (bs->irq <= 0) { - err = bs->irq ? bs->irq : -ENODEV; - goto out_master_put; - } + if (bs->irq <= 0) + return bs->irq ? bs->irq : -ENODEV; /* this also enables the HW block */ err = clk_prepare_enable(bs->clk); if (err) { dev_err(&pdev->dev, "could not prepare clock: %d\n", err); - goto out_master_put; + return err; } /* just checking if the clock returns a sane value */ @@ -581,8 +577,6 @@ out_clk_disable: clk_disable_unprepare(bs->clk); -out_master_put: - spi_master_put(master); return err; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-bcm63xx-hsspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-bcm63xx-hsspi.c @@ -482,8 +482,10 @@ if (bs->pll_clk) { ret = clk_prepare_enable(bs->pll_clk); - if (ret) + if (ret) { + clk_disable_unprepare(bs->clk); return ret; + } } spi_master_resume(master); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-cadence.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-cadence.c @@ -115,6 +115,7 @@ void __iomem *regs; struct clk *ref_clk; struct clk *pclk; + unsigned int clk_rate; u32 speed_hz; const u8 *txbuf; u8 *rxbuf; @@ -250,7 +251,7 @@ u32 ctrl_reg, baud_rate_val; unsigned long frequency; - frequency = clk_get_rate(xspi->ref_clk); + frequency = xspi->clk_rate; ctrl_reg = cdns_spi_read(xspi, CDNS_SPI_CR); @@ -558,8 +559,9 @@ master->auto_runtime_pm = true; master->mode_bits = SPI_CPOL | SPI_CPHA; + xspi->clk_rate = clk_get_rate(xspi->ref_clk); /* Set to default valid value */ - master->max_speed_hz = clk_get_rate(xspi->ref_clk) / 4; + master->max_speed_hz = xspi->clk_rate / 4; xspi->speed_hz = master->max_speed_hz; master->bits_per_word_mask = SPI_BPW_MASK(8); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-davinci.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-davinci.c @@ -1040,13 +1040,13 @@ spi_bitbang_stop(&dspi->bitbang); clk_disable_unprepare(dspi->clk); - spi_master_put(master); if (dspi->dma_rx) { dma_release_channel(dspi->dma_rx); dma_release_channel(dspi->dma_tx); } + spi_master_put(master); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-dw-dma.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-dw-dma.c @@ -372,8 +372,20 @@ { u16 imr = 0, dma_ctrl = 0; + /* + * Having a Rx DMA channel serviced with higher priority than a Tx DMA + * channel might not be enough to provide a well balanced DMA-based + * SPI transfer interface. There might still be moments when the Tx DMA + * channel is occasionally handled faster than the Rx DMA channel. + * That in its turn will eventually cause the SPI Rx FIFO overflow if + * SPI bus speed is high enough to fill the SPI Rx FIFO in before it's + * cleared by the Rx DMA channel. In order to fix the problem the Tx + * DMA activity is intentionally slowed down by limiting the SPI Tx + * FIFO depth with a value twice bigger than the Tx burst length + * calculated earlier by the dw_spi_dma_maxburst_init() method. + */ dw_writel(dws, DW_SPI_DMARDLR, dws->rxburst - 1); - dw_writel(dws, DW_SPI_DMATDLR, dws->fifo_len - dws->txburst); + dw_writel(dws, DW_SPI_DMATDLR, dws->txburst); if (xfer->tx_buf) dma_ctrl |= SPI_DMA_TDMAE; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-dw-pci.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-dw-pci.c @@ -127,18 +127,16 @@ if (desc->setup) { ret = desc->setup(dws); if (ret) - return ret; + goto err_free_irq_vectors; } } else { - pci_free_irq_vectors(pdev); - return -ENODEV; + ret = -ENODEV; + goto err_free_irq_vectors; } ret = dw_spi_add_host(&pdev->dev, dws); - if (ret) { - pci_free_irq_vectors(pdev); - return ret; - } + if (ret) + goto err_free_irq_vectors; /* PCI hook and SPI hook use the same drv data */ pci_set_drvdata(pdev, dws); @@ -152,6 +150,10 @@ pm_runtime_allow(&pdev->dev); return 0; + +err_free_irq_vectors: + pci_free_irq_vectors(pdev); + return ret; } static void spi_pci_remove(struct pci_dev *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-fsi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-fsi.c @@ -24,11 +24,16 @@ #define SPI_FSI_BASE 0x70000 #define SPI_FSI_INIT_TIMEOUT_MS 1000 -#define SPI_FSI_MAX_TRANSFER_SIZE 2048 +#define SPI_FSI_MAX_XFR_SIZE 2048 +#define SPI_FSI_MAX_XFR_SIZE_RESTRICTED 32 #define SPI_FSI_ERROR 0x0 #define SPI_FSI_COUNTER_CFG 0x1 #define SPI_FSI_COUNTER_CFG_LOOPS(x) (((u64)(x) & 0xffULL) << 32) +#define SPI_FSI_COUNTER_CFG_N2_RX BIT_ULL(8) +#define SPI_FSI_COUNTER_CFG_N2_TX BIT_ULL(9) +#define SPI_FSI_COUNTER_CFG_N2_IMPLICIT BIT_ULL(10) +#define SPI_FSI_COUNTER_CFG_N2_RELOAD BIT_ULL(11) #define SPI_FSI_CFG1 0x2 #define SPI_FSI_CLOCK_CFG 0x3 #define SPI_FSI_CLOCK_CFG_MM_ENABLE BIT_ULL(32) @@ -61,7 +66,7 @@ #define SPI_FSI_STATUS_RDR_OVERRUN BIT_ULL(62) #define SPI_FSI_STATUS_RDR_FULL BIT_ULL(63) #define SPI_FSI_STATUS_ANY_ERROR \ - (SPI_FSI_STATUS_ERROR | SPI_FSI_STATUS_TDR_UNDERRUN | \ + (SPI_FSI_STATUS_ERROR | \ SPI_FSI_STATUS_TDR_OVERRUN | SPI_FSI_STATUS_RDR_UNDERRUN | \ SPI_FSI_STATUS_RDR_OVERRUN) #define SPI_FSI_PORT_CTRL 0x9 @@ -70,6 +75,8 @@ struct device *dev; /* SPI controller device */ struct fsi_device *fsi; /* FSI2SPI CFAM engine device */ u32 base; + size_t max_xfr_size; + bool restricted; }; struct fsi_spi_sequence { @@ -205,8 +212,12 @@ if (rc) return rc; - return fsi_spi_write_reg(ctx, SPI_FSI_CLOCK_CFG, - SPI_FSI_CLOCK_CFG_RESET2); + rc = fsi_spi_write_reg(ctx, SPI_FSI_CLOCK_CFG, + SPI_FSI_CLOCK_CFG_RESET2); + if (rc) + return rc; + + return fsi_spi_write_reg(ctx, SPI_FSI_STATUS, 0ULL); } static int fsi_spi_sequence_add(struct fsi_spi_sequence *seq, u8 val) @@ -214,8 +225,8 @@ /* * Add the next byte of instruction to the 8-byte sequence register. * Then decrement the counter so that the next instruction will go in - * the right place. Return the number of "slots" left in the sequence - * register. + * the right place. Return the index of the slot we just filled in the + * sequence register. */ seq->data |= (u64)val << seq->bit; seq->bit -= 8; @@ -233,40 +244,71 @@ struct fsi_spi_sequence *seq, struct spi_transfer *transfer) { + bool docfg = false; int loops; int idx; int rc; + u8 val = 0; u8 len = min(transfer->len, 8U); u8 rem = transfer->len % len; + u64 cfg = 0ULL; loops = transfer->len / len; if (transfer->tx_buf) { - idx = fsi_spi_sequence_add(seq, - SPI_FSI_SEQUENCE_SHIFT_OUT(len)); + val = SPI_FSI_SEQUENCE_SHIFT_OUT(len); + idx = fsi_spi_sequence_add(seq, val); + if (rem) rem = SPI_FSI_SEQUENCE_SHIFT_OUT(rem); } else if (transfer->rx_buf) { - idx = fsi_spi_sequence_add(seq, - SPI_FSI_SEQUENCE_SHIFT_IN(len)); + val = SPI_FSI_SEQUENCE_SHIFT_IN(len); + idx = fsi_spi_sequence_add(seq, val); + if (rem) rem = SPI_FSI_SEQUENCE_SHIFT_IN(rem); } else { return -EINVAL; } + if (ctx->restricted) { + const int eidx = rem ? 5 : 6; + + while (loops > 1 && idx <= eidx) { + idx = fsi_spi_sequence_add(seq, val); + loops--; + docfg = true; + } + + if (loops > 1) { + dev_warn(ctx->dev, "No sequencer slots; aborting.\n"); + return -EINVAL; + } + } + if (loops > 1) { fsi_spi_sequence_add(seq, SPI_FSI_SEQUENCE_BRANCH(idx)); + docfg = true; + } - if (rem) - fsi_spi_sequence_add(seq, rem); + if (docfg) { + cfg = SPI_FSI_COUNTER_CFG_LOOPS(loops - 1); + if (transfer->rx_buf) + cfg |= SPI_FSI_COUNTER_CFG_N2_RX | + SPI_FSI_COUNTER_CFG_N2_TX | + SPI_FSI_COUNTER_CFG_N2_IMPLICIT | + SPI_FSI_COUNTER_CFG_N2_RELOAD; - rc = fsi_spi_write_reg(ctx, SPI_FSI_COUNTER_CFG, - SPI_FSI_COUNTER_CFG_LOOPS(loops - 1)); + rc = fsi_spi_write_reg(ctx, SPI_FSI_COUNTER_CFG, cfg); if (rc) return rc; + } else { + fsi_spi_write_reg(ctx, SPI_FSI_COUNTER_CFG, 0ULL); } + if (rem) + fsi_spi_sequence_add(seq, rem); + return 0; } @@ -275,6 +317,7 @@ { int rc = 0; u64 status = 0ULL; + u64 cfg = 0ULL; if (transfer->tx_buf) { int nb; @@ -312,6 +355,16 @@ u64 in = 0ULL; u8 *rx = transfer->rx_buf; + rc = fsi_spi_read_reg(ctx, SPI_FSI_COUNTER_CFG, &cfg); + if (rc) + return rc; + + if (cfg & SPI_FSI_COUNTER_CFG_N2_IMPLICIT) { + rc = fsi_spi_write_reg(ctx, SPI_FSI_DATA_TX, 0); + if (rc) + return rc; + } + while (transfer->len > recv) { do { rc = fsi_spi_read_reg(ctx, SPI_FSI_STATUS, @@ -350,7 +403,7 @@ u64 status = 0ULL; u64 wanted_clock_cfg = SPI_FSI_CLOCK_CFG_ECC_DISABLE | SPI_FSI_CLOCK_CFG_SCK_NO_DEL | - FIELD_PREP(SPI_FSI_CLOCK_CFG_SCK_DIV, 4); + FIELD_PREP(SPI_FSI_CLOCK_CFG_SCK_DIV, 19); end = jiffies + msecs_to_jiffies(SPI_FSI_INIT_TIMEOUT_MS); do { @@ -407,7 +460,7 @@ /* Sequencer must do shift out (tx) first. */ if (!transfer->tx_buf || - transfer->len > SPI_FSI_MAX_TRANSFER_SIZE) { + transfer->len > (ctx->max_xfr_size + 8)) { rc = -EINVAL; goto error; } @@ -431,7 +484,7 @@ /* Sequencer can only do shift in (rx) after tx. */ if (next->rx_buf) { - if (next->len > SPI_FSI_MAX_TRANSFER_SIZE) { + if (next->len > ctx->max_xfr_size) { rc = -EINVAL; goto error; } @@ -476,7 +529,9 @@ static size_t fsi_spi_max_transfer_size(struct spi_device *spi) { - return SPI_FSI_MAX_TRANSFER_SIZE; + struct fsi_spi *ctx = spi_controller_get_devdata(spi->controller); + + return ctx->max_xfr_size; } static int fsi_spi_probe(struct device *dev) @@ -524,6 +579,14 @@ ctx->fsi = fsi; ctx->base = base + SPI_FSI_BASE; + if (of_device_is_compatible(np, "ibm,fsi2spi-restricted")) { + ctx->restricted = true; + ctx->max_xfr_size = SPI_FSI_MAX_XFR_SIZE_RESTRICTED; + } else { + ctx->restricted = false; + ctx->max_xfr_size = SPI_FSI_MAX_XFR_SIZE; + } + rc = devm_spi_register_controller(dev, ctlr); if (rc) spi_controller_put(ctlr); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-fsl-dspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-fsl-dspi.c @@ -174,17 +174,17 @@ .fifo_size = 16, }, [LS2080A] = { - .trans_mode = DSPI_DMA_MODE, + .trans_mode = DSPI_XSPI_MODE, .max_clock_factor = 8, .fifo_size = 4, }, [LS2085A] = { - .trans_mode = DSPI_DMA_MODE, + .trans_mode = DSPI_XSPI_MODE, .max_clock_factor = 8, .fifo_size = 4, }, [LX2160A] = { - .trans_mode = DSPI_DMA_MODE, + .trans_mode = DSPI_XSPI_MODE, .max_clock_factor = 8, .fifo_size = 4, }, @@ -1106,12 +1106,11 @@ #ifdef CONFIG_PM_SLEEP static int dspi_suspend(struct device *dev) { - struct spi_controller *ctlr = dev_get_drvdata(dev); - struct fsl_dspi *dspi = spi_controller_get_devdata(ctlr); + struct fsl_dspi *dspi = dev_get_drvdata(dev); if (dspi->irq) disable_irq(dspi->irq); - spi_controller_suspend(ctlr); + spi_controller_suspend(dspi->ctlr); clk_disable_unprepare(dspi->clk); pinctrl_pm_select_sleep_state(dev); @@ -1121,8 +1120,7 @@ static int dspi_resume(struct device *dev) { - struct spi_controller *ctlr = dev_get_drvdata(dev); - struct fsl_dspi *dspi = spi_controller_get_devdata(ctlr); + struct fsl_dspi *dspi = dev_get_drvdata(dev); int ret; pinctrl_pm_select_default_state(dev); @@ -1130,7 +1128,7 @@ ret = clk_prepare_enable(dspi->clk); if (ret) return ret; - spi_controller_resume(ctlr); + spi_controller_resume(dspi->ctlr); if (dspi->irq) enable_irq(dspi->irq); @@ -1193,7 +1191,7 @@ unsigned int mcr; /* Set idle states for all chip select signals to high */ - mcr = SPI_MCR_PCSIS(GENMASK(dspi->ctlr->num_chipselect - 1, 0)); + mcr = SPI_MCR_PCSIS(GENMASK(dspi->ctlr->max_native_cs - 1, 0)); if (dspi->devtype_data->trans_mode == DSPI_XSPI_MODE) mcr |= SPI_MCR_XSPI; @@ -1292,7 +1290,7 @@ pdata = dev_get_platdata(&pdev->dev); if (pdata) { - ctlr->num_chipselect = pdata->cs_num; + ctlr->num_chipselect = ctlr->max_native_cs = pdata->cs_num; ctlr->bus_num = pdata->bus_num; /* Only Coldfire uses platform data */ @@ -1305,7 +1303,7 @@ dev_err(&pdev->dev, "can't get spi-num-chipselects\n"); goto out_ctlr_put; } - ctlr->num_chipselect = cs_num; + ctlr->num_chipselect = ctlr->max_native_cs = cs_num; of_property_read_u32(np, "bus-num", &bus_num); ctlr->bus_num = bus_num; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-fsl-espi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-fsl-espi.c @@ -564,13 +564,14 @@ static irqreturn_t fsl_espi_irq(s32 irq, void *context_data) { struct fsl_espi *espi = context_data; - u32 events; + u32 events, mask; spin_lock(&espi->lock); /* Get interrupt events(tx/rx) */ events = fsl_espi_read_reg(espi, ESPI_SPIE); - if (!events) { + mask = fsl_espi_read_reg(espi, ESPI_SPIM); + if (!(events & mask)) { spin_unlock(&espi->lock); return IRQ_NONE; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-fsl-lpspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-fsl-lpspi.c @@ -971,9 +971,6 @@ spi_controller_get_devdata(controller); pm_runtime_disable(fsl_lpspi->dev); - - spi_master_put(controller); - return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-fsl-spi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-fsl-spi.c @@ -115,14 +115,13 @@ { struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master); struct fsl_spi_platform_data *pdata; - bool pol = spi->mode & SPI_CS_HIGH; struct spi_mpc8xxx_cs *cs = spi->controller_state; pdata = spi->dev.parent->parent->platform_data; if (value == BITBANG_CS_INACTIVE) { if (pdata->cs_control) - pdata->cs_control(spi, !pol); + pdata->cs_control(spi, false); } if (value == BITBANG_CS_ACTIVE) { @@ -134,7 +133,7 @@ fsl_spi_change_mode(spi); if (pdata->cs_control) - pdata->cs_control(spi, pol); + pdata->cs_control(spi, true); } } @@ -696,7 +695,7 @@ if (WARN_ON_ONCE(!pinfo->immr_spi_cs)) return; - iowrite32be(on ? SPI_BOOT_SEL_BIT : 0, pinfo->immr_spi_cs); + iowrite32be(on ? 0 : SPI_BOOT_SEL_BIT, pinfo->immr_spi_cs); } } @@ -716,10 +715,11 @@ type = fsl_spi_get_type(&ofdev->dev); if (type == TYPE_FSL) { struct fsl_spi_platform_data *pdata = dev_get_platdata(dev); + bool spisel_boot = false; #if IS_ENABLED(CONFIG_FSL_SOC) struct mpc8xxx_spi_probe_info *pinfo = to_of_pinfo(pdata); - bool spisel_boot = of_property_read_bool(np, "fsl,spisel_boot"); + spisel_boot = of_property_read_bool(np, "fsl,spisel_boot"); if (spisel_boot) { pinfo->immr_spi_cs = ioremap(get_immrbase() + IMMR_SPI_CS_OFFSET, 4); if (!pinfo->immr_spi_cs) @@ -734,10 +734,14 @@ * supported on the GRLIB variant. */ ret = gpiod_count(dev, "cs"); - if (ret <= 0) + if (ret < 0) + ret = 0; + if (ret == 0 && !spisel_boot) { pdata->max_chipselect = 1; - else + } else { + pdata->max_chipselect = ret + spisel_boot; pdata->cs_control = fsl_spi_cs_control; + } } ret = of_address_to_resource(np, 0, &mem); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-geni-qcom.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-geni-qcom.c @@ -414,6 +414,12 @@ unsigned int bytes_per_fifo_word = geni_byte_per_fifo_word(mas); unsigned int i = 0; + /* Stop the watermark IRQ if nothing to send */ + if (!mas->cur_xfer) { + writel(0, se->base + SE_GENI_TX_WATERMARK_REG); + return; + } + max_bytes = (mas->tx_fifo_depth - mas->tx_wm) * bytes_per_fifo_word; if (mas->tx_rem_bytes < max_bytes) max_bytes = mas->tx_rem_bytes; @@ -453,6 +459,14 @@ if (rx_last_byte_valid && rx_last_byte_valid < 4) rx_bytes -= bytes_per_fifo_word - rx_last_byte_valid; } + + /* Clear out the FIFO and bail if nowhere to put it */ + if (!mas->cur_xfer) { + for (i = 0; i < DIV_ROUND_UP(rx_bytes, bytes_per_fifo_word); i++) + readl(se->base + SE_GENI_RX_FIFOn); + return; + } + if (mas->rx_rem_bytes < rx_bytes) rx_bytes = mas->rx_rem_bytes; @@ -549,7 +563,7 @@ if (IS_ERR(clk)) return PTR_ERR(clk); - spi = spi_alloc_master(dev, sizeof(*mas)); + spi = devm_spi_alloc_master(dev, sizeof(*mas)); if (!spi) return -ENOMEM; @@ -595,7 +609,6 @@ free_irq(mas->irq, spi); spi_geni_probe_runtime_disable: pm_runtime_disable(dev); - spi_master_put(spi); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-gpio.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-gpio.c @@ -350,11 +350,6 @@ return 0; } -static void spi_gpio_put(void *data) -{ - spi_master_put(data); -} - static int spi_gpio_probe(struct platform_device *pdev) { int status; @@ -363,16 +358,10 @@ struct device *dev = &pdev->dev; struct spi_bitbang *bb; - master = spi_alloc_master(dev, sizeof(*spi_gpio)); + master = devm_spi_alloc_master(dev, sizeof(*spi_gpio)); if (!master) return -ENOMEM; - status = devm_add_action_or_reset(&pdev->dev, spi_gpio_put, master); - if (status) { - spi_master_put(master); - return status; - } - if (pdev->dev.of_node) status = spi_gpio_probe_dt(pdev, master); else @@ -432,7 +421,7 @@ if (status) return status; - return devm_spi_register_master(&pdev->dev, spi_master_get(master)); + return devm_spi_register_master(&pdev->dev, master); } MODULE_ALIAS("platform:" DRIVER_NAME); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-img-spfi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-img-spfi.c @@ -785,8 +785,10 @@ int ret; ret = pm_runtime_get_sync(dev); - if (ret) + if (ret) { + pm_runtime_put_noidle(dev); return ret; + } spfi_reset(spfi); pm_runtime_put(dev); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-lantiq-ssc.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-lantiq-ssc.c @@ -184,6 +184,7 @@ unsigned int tx_fifo_size; unsigned int rx_fifo_size; unsigned int base_cs; + unsigned int fdx_tx_level; }; static u32 lantiq_ssc_readl(const struct lantiq_ssc_spi *spi, u32 reg) @@ -481,6 +482,7 @@ u32 data; unsigned int tx_free = tx_fifo_free(spi); + spi->fdx_tx_level = 0; while (spi->tx_todo && tx_free) { switch (spi->bits_per_word) { case 2 ... 8: @@ -509,6 +511,7 @@ lantiq_ssc_writel(spi, data, LTQ_SPI_TB); tx_free--; + spi->fdx_tx_level++; } } @@ -520,6 +523,13 @@ u32 data; unsigned int rx_fill = rx_fifo_level(spi); + /* + * Wait until all expected data to be shifted in. + * Otherwise, rx overrun may occur. + */ + while (rx_fill != spi->fdx_tx_level) + rx_fill = rx_fifo_level(spi); + while (rx_fill) { data = lantiq_ssc_readl(spi, LTQ_SPI_RB); @@ -899,7 +909,7 @@ master->bits_per_word_mask = SPI_BPW_RANGE_MASK(2, 8) | SPI_BPW_MASK(16) | SPI_BPW_MASK(32); - spi->wq = alloc_ordered_workqueue(dev_name(dev), 0); + spi->wq = alloc_ordered_workqueue(dev_name(dev), WQ_MEM_RECLAIM); if (!spi->wq) { err = -ENOMEM; goto err_clk_put; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-loopback-test.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-loopback-test.c @@ -90,7 +90,7 @@ { .description = "tx/rx-transfer - crossing PAGE_SIZE", .fill_option = FILL_COUNT_8, - .iterate_len = { ITERATE_MAX_LEN }, + .iterate_len = { ITERATE_LEN }, .iterate_tx_align = ITERATE_ALIGN, .iterate_rx_align = ITERATE_ALIGN, .transfer_count = 1, --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-mem.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-mem.c @@ -237,6 +237,7 @@ ret = pm_runtime_get_sync(ctlr->dev.parent); if (ret < 0) { + pm_runtime_put_noidle(ctlr->dev.parent); dev_err(&ctlr->dev, "Failed to power device: %d\n", ret); return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-mt7621.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-mt7621.c @@ -350,9 +350,10 @@ if (status) return status; - master = spi_alloc_master(&pdev->dev, sizeof(*rs)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(*rs)); if (!master) { dev_info(&pdev->dev, "master allocation failed\n"); + clk_disable_unprepare(clk); return -ENOMEM; } @@ -377,10 +378,15 @@ ret = device_reset(&pdev->dev); if (ret) { dev_err(&pdev->dev, "SPI reset failed!\n"); + clk_disable_unprepare(clk); return ret; } - return devm_spi_register_controller(&pdev->dev, master); + ret = spi_register_controller(master); + if (ret) + clk_disable_unprepare(clk); + + return ret; } static int mt7621_spi_remove(struct platform_device *pdev) @@ -391,6 +397,7 @@ master = dev_get_drvdata(&pdev->dev); rs = spi_controller_get_devdata(master); + spi_unregister_controller(master); clk_disable_unprepare(rs->clk); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-mtk-nor.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-mtk-nor.c @@ -89,7 +89,7 @@ // Buffered page program can do one 128-byte transfer #define MTK_NOR_PP_SIZE 128 -#define CLK_TO_US(sp, clkcnt) ((clkcnt) * 1000000 / sp->spi_freq) +#define CLK_TO_US(sp, clkcnt) DIV_ROUND_UP(clkcnt, sp->spi_freq / 1000000) struct mtk_nor { struct spi_controller *ctlr; @@ -177,6 +177,10 @@ if ((op->addr.nbytes == 3) || (op->addr.nbytes == 4)) { if ((op->data.dir == SPI_MEM_DATA_IN) && mtk_nor_match_read(op)) { + // limit size to prevent timeout calculation overflow + if (op->data.nbytes > 0x400000) + op->data.nbytes = 0x400000; + if ((op->addr.val & MTK_NOR_DMA_ALIGN_MASK) || (op->data.nbytes < MTK_NOR_DMA_ALIGN)) op->data.nbytes = 1; @@ -605,7 +609,7 @@ buffer = (u8 *)(((ulong)buffer + MTK_NOR_DMA_ALIGN) & ~MTK_NOR_DMA_ALIGN_MASK); - ctlr = spi_alloc_master(&pdev->dev, sizeof(*sp)); + ctlr = devm_spi_alloc_master(&pdev->dev, sizeof(*sp)); if (!ctlr) { dev_err(&pdev->dev, "failed to allocate spi controller\n"); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-mxic.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-mxic.c @@ -528,7 +528,7 @@ struct mxic_spi *mxic; int ret; - master = spi_alloc_master(&pdev->dev, sizeof(struct mxic_spi)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(struct mxic_spi)); if (!master) return -ENOMEM; @@ -573,15 +573,9 @@ ret = spi_register_master(master); if (ret) { dev_err(&pdev->dev, "spi_register_master failed\n"); - goto err_put_master; + pm_runtime_disable(&pdev->dev); } - return 0; - -err_put_master: - spi_master_put(master); - pm_runtime_disable(&pdev->dev); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-mxs.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-mxs.c @@ -607,6 +607,7 @@ ret = pm_runtime_get_sync(ssp->dev); if (ret < 0) { + pm_runtime_put_noidle(ssp->dev); dev_err(ssp->dev, "runtime_get_sync failed\n"); goto out_pm_runtime_disable; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-npcm-fiu.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-npcm-fiu.c @@ -677,10 +677,9 @@ struct npcm_fiu_spi *fiu; void __iomem *regbase; struct resource *res; - int ret; - int id; + int id, ret; - ctrl = spi_alloc_master(dev, sizeof(*fiu)); + ctrl = devm_spi_alloc_master(dev, sizeof(*fiu)); if (!ctrl) return -ENOMEM; @@ -738,9 +737,9 @@ ret = devm_spi_register_master(dev, ctrl); if (ret) - return ret; + clk_disable_unprepare(fiu->clk); - return 0; + return ret; } static int npcm_fiu_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-nxp-fspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-nxp-fspi.c @@ -991,6 +991,7 @@ struct resource *res; struct nxp_fspi *f; int ret; + u32 reg; ctlr = spi_alloc_master(&pdev->dev, sizeof(*f)); if (!ctlr) @@ -1017,6 +1018,12 @@ goto err_put_ctrl; } + /* Clear potential interrupts */ + reg = fspi_readl(f, f->iobase + FSPI_INTR); + if (reg) + fspi_writel(f, reg, f->iobase + FSPI_INTR); + + /* find the resources - controller memory mapped space */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "fspi_mmap"); if (!res) { --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-omap2-mcspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-omap2-mcspi.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include @@ -349,9 +348,19 @@ static int mcspi_wait_for_reg_bit(void __iomem *reg, unsigned long bit) { - u32 val; + unsigned long timeout; - return readl_poll_timeout(reg, val, val & bit, 1, MSEC_PER_SEC); + timeout = jiffies + msecs_to_jiffies(1000); + while (!(readl_relaxed(reg) & bit)) { + if (time_after(jiffies, timeout)) { + if (!(readl_relaxed(reg) & bit)) + return -ETIMEDOUT; + else + return 0; + } + cpu_relax(); + } + return 0; } static int mcspi_wait_for_completion(struct omap2_mcspi *mcspi, --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-pic32.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-pic32.c @@ -839,6 +839,7 @@ return 0; err_bailout: + pic32_spi_dma_unprep(pic32s); clk_disable_unprepare(pic32s->clk); err_master: spi_master_put(master); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-pxa2xx-pci.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-pxa2xx-pci.c @@ -21,7 +21,8 @@ PORT_BSW1, PORT_BSW2, PORT_CE4100, - PORT_LPT, + PORT_LPT0, + PORT_LPT1, }; struct pxa_spi_info { @@ -57,8 +58,10 @@ static struct dw_dma_slave bsw2_tx_param = { .dst_id = 8 }; static struct dw_dma_slave bsw2_rx_param = { .src_id = 9 }; -static struct dw_dma_slave lpt_tx_param = { .dst_id = 0 }; -static struct dw_dma_slave lpt_rx_param = { .src_id = 1 }; +static struct dw_dma_slave lpt1_tx_param = { .dst_id = 0 }; +static struct dw_dma_slave lpt1_rx_param = { .src_id = 1 }; +static struct dw_dma_slave lpt0_tx_param = { .dst_id = 2 }; +static struct dw_dma_slave lpt0_rx_param = { .src_id = 3 }; static bool lpss_dma_filter(struct dma_chan *chan, void *param) { @@ -185,12 +188,19 @@ .num_chipselect = 1, .max_clk_rate = 50000000, }, - [PORT_LPT] = { + [PORT_LPT0] = { .type = LPSS_LPT_SSP, .port_id = 0, .setup = lpss_spi_setup, - .tx_param = &lpt_tx_param, - .rx_param = &lpt_rx_param, + .tx_param = &lpt0_tx_param, + .rx_param = &lpt0_rx_param, + }, + [PORT_LPT1] = { + .type = LPSS_LPT_SSP, + .port_id = 1, + .setup = lpss_spi_setup, + .tx_param = &lpt1_tx_param, + .rx_param = &lpt1_rx_param, }, }; @@ -285,8 +295,9 @@ { PCI_VDEVICE(INTEL, 0x2290), PORT_BSW1 }, { PCI_VDEVICE(INTEL, 0x22ac), PORT_BSW2 }, { PCI_VDEVICE(INTEL, 0x2e6a), PORT_CE4100 }, - { PCI_VDEVICE(INTEL, 0x9ce6), PORT_LPT }, - { }, + { PCI_VDEVICE(INTEL, 0x9ce5), PORT_LPT0 }, + { PCI_VDEVICE(INTEL, 0x9ce6), PORT_LPT1 }, + { } }; MODULE_DEVICE_TABLE(pci, pxa2xx_spi_pci_devices); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-pxa2xx.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-pxa2xx.c @@ -1684,9 +1684,9 @@ } if (platform_info->is_slave) - controller = spi_alloc_slave(dev, sizeof(struct driver_data)); + controller = devm_spi_alloc_slave(dev, sizeof(*drv_data)); else - controller = spi_alloc_master(dev, sizeof(struct driver_data)); + controller = devm_spi_alloc_master(dev, sizeof(*drv_data)); if (!controller) { dev_err(&pdev->dev, "cannot alloc spi_controller\n"); @@ -1909,7 +1909,6 @@ free_irq(ssp->irq, drv_data); out_error_controller_alloc: - spi_controller_put(controller); pxa_ssp_free(ssp); return status; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-qcom-qspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-qcom-qspi.c @@ -429,7 +429,7 @@ dev = &pdev->dev; - master = spi_alloc_master(dev, sizeof(*ctrl)); + master = devm_spi_alloc_master(dev, sizeof(*ctrl)); if (!master) return -ENOMEM; @@ -440,32 +440,28 @@ spin_lock_init(&ctrl->lock); ctrl->dev = dev; ctrl->base = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(ctrl->base)) { - ret = PTR_ERR(ctrl->base); - goto exit_probe_master_put; - } + if (IS_ERR(ctrl->base)) + return PTR_ERR(ctrl->base); ctrl->clks = devm_kcalloc(dev, QSPI_NUM_CLKS, sizeof(*ctrl->clks), GFP_KERNEL); - if (!ctrl->clks) { - ret = -ENOMEM; - goto exit_probe_master_put; - } + if (!ctrl->clks) + return -ENOMEM; ctrl->clks[QSPI_CLK_CORE].id = "core"; ctrl->clks[QSPI_CLK_IFACE].id = "iface"; ret = devm_clk_bulk_get(dev, QSPI_NUM_CLKS, ctrl->clks); if (ret) - goto exit_probe_master_put; + return ret; ret = platform_get_irq(pdev, 0); if (ret < 0) - goto exit_probe_master_put; + return ret; ret = devm_request_irq(dev, ret, qcom_qspi_irq, IRQF_TRIGGER_HIGH, dev_name(dev), ctrl); if (ret) { dev_err(dev, "Failed to request irq %d\n", ret); - goto exit_probe_master_put; + return ret; } master->max_speed_hz = 300000000; @@ -489,9 +485,6 @@ pm_runtime_disable(dev); -exit_probe_master_put: - spi_master_put(master); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-rb4xx.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-rb4xx.c @@ -143,7 +143,7 @@ if (IS_ERR(spi_base)) return PTR_ERR(spi_base); - master = spi_alloc_master(&pdev->dev, sizeof(*rbspi)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(*rbspi)); if (!master) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-rockchip.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-rockchip.c @@ -288,7 +288,7 @@ static void rockchip_spi_pio_reader(struct rockchip_spi *rs) { u32 words = readl_relaxed(rs->regs + ROCKCHIP_SPI_RXFLR); - u32 rx_left = rs->rx_left - words; + u32 rx_left = (rs->rx_left > words) ? rs->rx_left - words : 0; /* the hardware doesn't allow us to change fifo threshold * level while spi is enabled, so instead make sure to leave --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-s3c24xx-fiq.S +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-s3c24xx-fiq.S @@ -33,7 +33,6 @@ @ and an offset to the irq acknowledgment word ENTRY(s3c24xx_spi_fiq_rx) -s3c24xx_spi_fix_rx: .word fiq_rx_end - fiq_rx_start .word fiq_rx_irq_ack - fiq_rx_start fiq_rx_start: @@ -47,7 +46,7 @@ strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do @@ set IRQ controller so that next op will trigger IRQ mov fiq_rtmp, #0 @@ -59,7 +58,6 @@ fiq_rx_end: ENTRY(s3c24xx_spi_fiq_txrx) -s3c24xx_spi_fiq_txrx: .word fiq_txrx_end - fiq_txrx_start .word fiq_txrx_irq_ack - fiq_txrx_start fiq_txrx_start: @@ -74,7 +72,7 @@ strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do mov fiq_rtmp, #0 str fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD - S3C24XX_VA_IRQ ] @@ -86,7 +84,6 @@ fiq_txrx_end: ENTRY(s3c24xx_spi_fiq_tx) -s3c24xx_spi_fix_tx: .word fiq_tx_end - fiq_tx_start .word fiq_tx_irq_ack - fiq_tx_start fiq_tx_start: @@ -99,7 +96,7 @@ strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do mov fiq_rtmp, #0 str fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD - S3C24XX_VA_IRQ ] --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-s3c64xx.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-s3c64xx.c @@ -122,6 +122,7 @@ struct s3c64xx_spi_dma_data { struct dma_chan *ch; + dma_cookie_t cookie; enum dma_transfer_direction direction; }; @@ -264,12 +265,13 @@ spin_unlock_irqrestore(&sdd->lock, flags); } -static void prepare_dma(struct s3c64xx_spi_dma_data *dma, +static int prepare_dma(struct s3c64xx_spi_dma_data *dma, struct sg_table *sgt) { struct s3c64xx_spi_driver_data *sdd; struct dma_slave_config config; struct dma_async_tx_descriptor *desc; + int ret; memset(&config, 0, sizeof(config)); @@ -293,12 +295,24 @@ desc = dmaengine_prep_slave_sg(dma->ch, sgt->sgl, sgt->nents, dma->direction, DMA_PREP_INTERRUPT); + if (!desc) { + dev_err(&sdd->pdev->dev, "unable to prepare %s scatterlist", + dma->direction == DMA_DEV_TO_MEM ? "rx" : "tx"); + return -ENOMEM; + } desc->callback = s3c64xx_spi_dmacb; desc->callback_param = dma; - dmaengine_submit(desc); + dma->cookie = dmaengine_submit(desc); + ret = dma_submit_error(dma->cookie); + if (ret) { + dev_err(&sdd->pdev->dev, "DMA submission failed"); + return -EIO; + } + dma_async_issue_pending(dma->ch); + return 0; } static void s3c64xx_spi_set_cs(struct spi_device *spi, bool enable) @@ -348,11 +362,12 @@ return xfer->len > (FIFO_LVL_MASK(sdd) >> 1) + 1; } -static void s3c64xx_enable_datapath(struct s3c64xx_spi_driver_data *sdd, +static int s3c64xx_enable_datapath(struct s3c64xx_spi_driver_data *sdd, struct spi_transfer *xfer, int dma_mode) { void __iomem *regs = sdd->regs; u32 modecfg, chcfg; + int ret = 0; modecfg = readl(regs + S3C64XX_SPI_MODE_CFG); modecfg &= ~(S3C64XX_SPI_MODE_TXDMA_ON | S3C64XX_SPI_MODE_RXDMA_ON); @@ -378,7 +393,7 @@ chcfg |= S3C64XX_SPI_CH_TXCH_ON; if (dma_mode) { modecfg |= S3C64XX_SPI_MODE_TXDMA_ON; - prepare_dma(&sdd->tx_dma, &xfer->tx_sg); + ret = prepare_dma(&sdd->tx_dma, &xfer->tx_sg); } else { switch (sdd->cur_bpw) { case 32: @@ -410,12 +425,17 @@ writel(((xfer->len * 8 / sdd->cur_bpw) & 0xffff) | S3C64XX_SPI_PACKET_CNT_EN, regs + S3C64XX_SPI_PACKET_CNT); - prepare_dma(&sdd->rx_dma, &xfer->rx_sg); + ret = prepare_dma(&sdd->rx_dma, &xfer->rx_sg); } } + if (ret) + return ret; + writel(modecfg, regs + S3C64XX_SPI_MODE_CFG); writel(chcfg, regs + S3C64XX_SPI_CH_CFG); + + return 0; } static u32 s3c64xx_spi_wait_for_timeout(struct s3c64xx_spi_driver_data *sdd, @@ -548,9 +568,10 @@ return 0; } -static void s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd) +static int s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd) { void __iomem *regs = sdd->regs; + int ret; u32 val; /* Disable Clock */ @@ -598,7 +619,9 @@ if (sdd->port_conf->clk_from_cmu) { /* The src_clk clock is divided internally by 2 */ - clk_set_rate(sdd->src_clk, sdd->cur_speed * 2); + ret = clk_set_rate(sdd->src_clk, sdd->cur_speed * 2); + if (ret) + return ret; } else { /* Configure Clock */ val = readl(regs + S3C64XX_SPI_CLK_CFG); @@ -612,6 +635,8 @@ val |= S3C64XX_SPI_ENCLK_ENABLE; writel(val, regs + S3C64XX_SPI_CLK_CFG); } + + return 0; } #define XFER_DMAADDR_INVALID DMA_BIT_MASK(32) @@ -654,7 +679,9 @@ sdd->cur_bpw = bpw; sdd->cur_speed = speed; sdd->cur_mode = spi->mode; - s3c64xx_spi_config(sdd); + status = s3c64xx_spi_config(sdd); + if (status) + return status; } if (!is_polling(sdd) && (xfer->len > fifo_len) && @@ -678,13 +705,18 @@ sdd->state &= ~RXBUSY; sdd->state &= ~TXBUSY; - s3c64xx_enable_datapath(sdd, xfer, use_dma); - /* Start the signals */ s3c64xx_spi_set_cs(spi, true); + status = s3c64xx_enable_datapath(sdd, xfer, use_dma); + spin_unlock_irqrestore(&sdd->lock, flags); + if (status) { + dev_err(&spi->dev, "failed to enable data path for transfer: %d\n", status); + break; + } + if (use_dma) status = s3c64xx_wait_for_dma(sdd, xfer); else --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-sc18is602.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-sc18is602.c @@ -238,13 +238,12 @@ struct sc18is602_platform_data *pdata = dev_get_platdata(dev); struct sc18is602 *hw; struct spi_master *master; - int error; if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) return -EINVAL; - master = spi_alloc_master(dev, sizeof(struct sc18is602)); + master = devm_spi_alloc_master(dev, sizeof(struct sc18is602)); if (!master) return -ENOMEM; @@ -298,15 +297,7 @@ master->min_speed_hz = hw->freq / 128; master->max_speed_hz = hw->freq / 4; - error = devm_spi_register_master(dev, master); - if (error) - goto error_reg; - - return 0; - -error_reg: - spi_master_put(master); - return error; + return devm_spi_register_master(dev, master); } static const struct i2c_device_id sc18is602_id[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-sh.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-sh.c @@ -440,7 +440,7 @@ if (irq < 0) return irq; - master = spi_alloc_master(&pdev->dev, sizeof(struct spi_sh_data)); + master = devm_spi_alloc_master(&pdev->dev, sizeof(struct spi_sh_data)); if (master == NULL) { dev_err(&pdev->dev, "spi_alloc_master error.\n"); return -ENOMEM; @@ -458,16 +458,14 @@ break; default: dev_err(&pdev->dev, "No support width\n"); - ret = -ENODEV; - goto error1; + return -ENODEV; } ss->irq = irq; ss->master = master; ss->addr = devm_ioremap(&pdev->dev, res->start, resource_size(res)); if (ss->addr == NULL) { dev_err(&pdev->dev, "ioremap error.\n"); - ret = -ENOMEM; - goto error1; + return -ENOMEM; } INIT_LIST_HEAD(&ss->queue); spin_lock_init(&ss->lock); @@ -477,7 +475,7 @@ ret = request_irq(irq, spi_sh_irq, 0, "spi_sh", ss); if (ret < 0) { dev_err(&pdev->dev, "request_irq error\n"); - goto error1; + return ret; } master->num_chipselect = 2; @@ -496,9 +494,6 @@ error3: free_irq(irq, ss); - error1: - spi_master_put(master); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-sprd.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-sprd.c @@ -563,11 +563,11 @@ ss->dma.dma_chan[SPRD_SPI_TX] = dma_request_chan(ss->dev, "tx_chn"); if (IS_ERR_OR_NULL(ss->dma.dma_chan[SPRD_SPI_TX])) { + dma_release_channel(ss->dma.dma_chan[SPRD_SPI_RX]); if (PTR_ERR(ss->dma.dma_chan[SPRD_SPI_TX]) == -EPROBE_DEFER) return PTR_ERR(ss->dma.dma_chan[SPRD_SPI_TX]); dev_err(ss->dev, "request TX DMA channel failed!\n"); - dma_release_channel(ss->dma.dma_chan[SPRD_SPI_RX]); return PTR_ERR(ss->dma.dma_chan[SPRD_SPI_TX]); } @@ -1017,6 +1017,7 @@ ret = pm_runtime_get_sync(ss->dev); if (ret < 0) { + pm_runtime_put_noidle(ss->dev); dev_err(ss->dev, "failed to resume SPI controller\n"); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-st-ssc4.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-st-ssc4.c @@ -375,13 +375,14 @@ ret = devm_spi_register_master(&pdev->dev, master); if (ret) { dev_err(&pdev->dev, "Failed to register master\n"); - goto clk_disable; + goto rpm_disable; } return 0; -clk_disable: +rpm_disable: pm_runtime_disable(&pdev->dev); +clk_disable: clk_disable_unprepare(spi_st->clk); put_master: spi_master_put(master); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-stm32-qspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-stm32-qspi.c @@ -434,8 +434,10 @@ int ret; ret = pm_runtime_get_sync(qspi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(qspi->dev); return ret; + } mutex_lock(&qspi->lock); ret = stm32_qspi_send(mem, op); @@ -462,8 +464,10 @@ return -EINVAL; ret = pm_runtime_get_sync(qspi->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(qspi->dev); return ret; + } presc = DIV_ROUND_UP(qspi->clk_rate, spi->max_speed_hz) - 1; --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-stm32.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-stm32.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -441,7 +442,8 @@ { u32 div, mbrdiv; - div = DIV_ROUND_UP(spi->clk_rate, speed_hz); + /* Ensure spi->clk_rate is even */ + div = DIV_ROUND_UP(spi->clk_rate & ~0x1, speed_hz); /* * SPI framework set xfer->speed_hz to master->max_speed_hz if @@ -467,26 +469,36 @@ /** * stm32h7_spi_prepare_fthlv - Determine FIFO threshold level * @spi: pointer to the spi controller data structure + * @xfer_len: length of the message to be transferred */ -static u32 stm32h7_spi_prepare_fthlv(struct stm32_spi *spi) +static u32 stm32h7_spi_prepare_fthlv(struct stm32_spi *spi, u32 xfer_len) { - u32 fthlv, half_fifo; + u32 fthlv, half_fifo, packet; /* data packet should not exceed 1/2 of fifo space */ half_fifo = (spi->fifo_size / 2); + /* data_packet should not exceed transfer length */ + if (half_fifo > xfer_len) + packet = xfer_len; + else + packet = half_fifo; + if (spi->cur_bpw <= 8) - fthlv = half_fifo; + fthlv = packet; else if (spi->cur_bpw <= 16) - fthlv = half_fifo / 2; + fthlv = packet / 2; else - fthlv = half_fifo / 4; + fthlv = packet / 4; /* align packet size with data registers access */ if (spi->cur_bpw > 8) - fthlv -= (fthlv % 2); /* multiple of 2 */ + fthlv += (fthlv % 2) ? 1 : 0; else - fthlv -= (fthlv % 4); /* multiple of 4 */ + fthlv += (fthlv % 4) ? (4 - (fthlv % 4)) : 0; + + if (!fthlv) + fthlv = 1; return fthlv; } @@ -917,14 +929,18 @@ mask |= STM32H7_SPI_SR_RXP; if (!(sr & mask)) { - dev_dbg(spi->dev, "spurious IT (sr=0x%08x, ier=0x%08x)\n", - sr, ier); + dev_warn(spi->dev, "spurious IT (sr=0x%08x, ier=0x%08x)\n", + sr, ier); spin_unlock_irqrestore(&spi->lock, flags); return IRQ_NONE; } if (sr & STM32H7_SPI_SR_SUSP) { - dev_warn(spi->dev, "Communication suspended\n"); + static DEFINE_RATELIMIT_STATE(rs, + DEFAULT_RATELIMIT_INTERVAL * 10, + 1); + if (__ratelimit(&rs)) + dev_dbg_ratelimited(spi->dev, "Communication suspended\n"); if (!spi->cur_usedma && (spi->rx_buf && (spi->rx_len > 0))) stm32h7_spi_read_rxfifo(spi, false); /* @@ -941,15 +957,8 @@ } if (sr & STM32H7_SPI_SR_OVR) { - dev_warn(spi->dev, "Overrun: received value discarded\n"); - if (!spi->cur_usedma && (spi->rx_buf && (spi->rx_len > 0))) - stm32h7_spi_read_rxfifo(spi, false); - /* - * If overrun is detected while using DMA, it means that - * something went wrong, so stop the current transfer - */ - if (spi->cur_usedma) - end = true; + dev_err(spi->dev, "Overrun: RX data lost\n"); + end = true; } if (sr & STM32H7_SPI_SR_EOT) { @@ -966,13 +975,13 @@ if (!spi->cur_usedma && (spi->rx_buf && (spi->rx_len > 0))) stm32h7_spi_read_rxfifo(spi, false); - writel_relaxed(mask, spi->base + STM32H7_SPI_IFCR); + writel_relaxed(sr & mask, spi->base + STM32H7_SPI_IFCR); spin_unlock_irqrestore(&spi->lock, flags); if (end) { - spi_finalize_current_transfer(master); stm32h7_spi_disable(spi); + spi_finalize_current_transfer(master); } return IRQ_HANDLED; @@ -1393,7 +1402,7 @@ cfg1_setb |= (bpw << STM32H7_SPI_CFG1_DSIZE_SHIFT) & STM32H7_SPI_CFG1_DSIZE; - spi->cur_fthlv = stm32h7_spi_prepare_fthlv(spi); + spi->cur_fthlv = stm32h7_spi_prepare_fthlv(spi, spi->cur_xferlen); fthlv = spi->cur_fthlv - 1; cfg1_clrb |= STM32H7_SPI_CFG1_FTHLV; @@ -1585,39 +1594,33 @@ unsigned long flags; unsigned int comm_type; int nb_words, ret = 0; + int mbr; spin_lock_irqsave(&spi->lock, flags); - if (spi->cur_bpw != transfer->bits_per_word) { - spi->cur_bpw = transfer->bits_per_word; - spi->cfg->set_bpw(spi); - } + spi->cur_xferlen = transfer->len; - if (spi->cur_speed != transfer->speed_hz) { - int mbr; - - /* Update spi->cur_speed with real clock speed */ - mbr = stm32_spi_prepare_mbr(spi, transfer->speed_hz, - spi->cfg->baud_rate_div_min, - spi->cfg->baud_rate_div_max); - if (mbr < 0) { - ret = mbr; - goto out; - } + spi->cur_bpw = transfer->bits_per_word; + spi->cfg->set_bpw(spi); - transfer->speed_hz = spi->cur_speed; - stm32_spi_set_mbr(spi, mbr); + /* Update spi->cur_speed with real clock speed */ + mbr = stm32_spi_prepare_mbr(spi, transfer->speed_hz, + spi->cfg->baud_rate_div_min, + spi->cfg->baud_rate_div_max); + if (mbr < 0) { + ret = mbr; + goto out; } - comm_type = stm32_spi_communication_type(spi_dev, transfer); - if (spi->cur_comm != comm_type) { - ret = spi->cfg->set_mode(spi, comm_type); + transfer->speed_hz = spi->cur_speed; + stm32_spi_set_mbr(spi, mbr); - if (ret < 0) - goto out; + comm_type = stm32_spi_communication_type(spi_dev, transfer); + ret = spi->cfg->set_mode(spi, comm_type); + if (ret < 0) + goto out; - spi->cur_comm = comm_type; - } + spi->cur_comm = comm_type; if (spi->cfg->set_data_idleness) spi->cfg->set_data_idleness(spi, transfer->len); @@ -1635,8 +1638,6 @@ goto out; } - spi->cur_xferlen = transfer->len; - dev_dbg(spi->dev, "transfer communication mode set to %d\n", spi->cur_comm); dev_dbg(spi->dev, @@ -1670,6 +1671,10 @@ struct stm32_spi *spi = spi_master_get_devdata(master); int ret; + /* Don't do anything on 0 bytes transfers */ + if (transfer->len == 0) + return 0; + spi->tx_buf = transfer->tx_buf; spi->rx_buf = transfer->rx_buf; spi->tx_len = spi->tx_buf ? transfer->len : 0; @@ -1996,6 +2001,8 @@ pm_runtime_disable(&pdev->dev); + pinctrl_pm_select_sleep_state(&pdev->dev); + return 0; } @@ -2007,13 +2014,18 @@ clk_disable_unprepare(spi->clk); - return 0; + return pinctrl_pm_select_sleep_state(dev); } static int stm32_spi_runtime_resume(struct device *dev) { struct spi_master *master = dev_get_drvdata(dev); struct stm32_spi *spi = spi_master_get_devdata(master); + int ret; + + ret = pinctrl_pm_select_default_state(dev); + if (ret) + return ret; return clk_prepare_enable(spi->clk); } @@ -2043,10 +2055,24 @@ return ret; ret = spi_master_resume(master); - if (ret) + if (ret) { clk_disable_unprepare(spi->clk); + return ret; + } - return ret; + ret = pm_runtime_get_sync(dev); + if (ret < 0) { + pm_runtime_put_noidle(dev); + dev_err(dev, "Unable to power device:%d\n", ret); + return ret; + } + + spi->cfg->config(spi); + + pm_runtime_mark_last_busy(dev); + pm_runtime_put_autosuspend(dev); + + return 0; } #endif --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-synquacer.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-synquacer.c @@ -490,6 +490,10 @@ val &= ~(SYNQUACER_HSSPI_DMPSEL_CS_MASK << SYNQUACER_HSSPI_DMPSEL_CS_SHIFT); val |= spi->chip_select << SYNQUACER_HSSPI_DMPSEL_CS_SHIFT; + + if (!enable) + val |= SYNQUACER_HSSPI_DMSTOP_STOP; + writel(val, sspi->regs + SYNQUACER_HSSPI_REG_DMSTART); } @@ -658,7 +662,8 @@ if (!master->max_speed_hz) { dev_err(&pdev->dev, "missing clock source\n"); - return -EINVAL; + ret = -EINVAL; + goto disable_clk; } master->min_speed_hz = master->max_speed_hz / 254; @@ -671,7 +676,7 @@ rx_irq = platform_get_irq(pdev, 0); if (rx_irq <= 0) { ret = rx_irq; - goto put_spi; + goto disable_clk; } snprintf(sspi->rx_irq_name, SYNQUACER_HSSPI_IRQ_NAME_MAX, "%s-rx", dev_name(&pdev->dev)); @@ -679,13 +684,13 @@ 0, sspi->rx_irq_name, sspi); if (ret) { dev_err(&pdev->dev, "request rx_irq failed (%d)\n", ret); - goto put_spi; + goto disable_clk; } tx_irq = platform_get_irq(pdev, 1); if (tx_irq <= 0) { ret = tx_irq; - goto put_spi; + goto disable_clk; } snprintf(sspi->tx_irq_name, SYNQUACER_HSSPI_IRQ_NAME_MAX, "%s-tx", dev_name(&pdev->dev)); @@ -693,7 +698,7 @@ 0, sspi->tx_irq_name, sspi); if (ret) { dev_err(&pdev->dev, "request tx_irq failed (%d)\n", ret); - goto put_spi; + goto disable_clk; } master->dev.of_node = np; @@ -711,7 +716,7 @@ ret = synquacer_spi_enable(master); if (ret) - goto fail_enable; + goto disable_clk; pm_runtime_set_active(sspi->dev); pm_runtime_enable(sspi->dev); @@ -724,7 +729,7 @@ disable_pm: pm_runtime_disable(sspi->dev); -fail_enable: +disable_clk: clk_disable_unprepare(sspi->clk); put_spi: spi_master_put(master); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-tegra114.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-tegra114.c @@ -971,6 +971,7 @@ ret = pm_runtime_get_sync(tspi->dev); if (ret < 0) { + pm_runtime_put_noidle(tspi->dev); dev_err(tspi->dev, "pm runtime failed, e = %d\n", ret); if (cdata) tegra_spi_cleanup(spi); @@ -1479,6 +1480,7 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { + pm_runtime_put_noidle(dev); dev_err(dev, "pm runtime failed, e = %d\n", ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-tegra20-sflash.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-tegra20-sflash.c @@ -553,6 +553,7 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { + pm_runtime_put_noidle(dev); dev_err(dev, "pm runtime failed, e = %d\n", ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-tegra20-slink.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-tegra20-slink.c @@ -755,6 +755,7 @@ ret = pm_runtime_get_sync(tspi->dev); if (ret < 0) { + pm_runtime_put_noidle(tspi->dev); dev_err(tspi->dev, "pm runtime failed, e = %d\n", ret); return ret; } @@ -1192,6 +1193,7 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { + pm_runtime_put_noidle(dev); dev_err(dev, "pm runtime failed, e = %d\n", ret); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi-ti-qspi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi-ti-qspi.c @@ -174,6 +174,7 @@ ret = pm_runtime_get_sync(qspi->dev); if (ret < 0) { + pm_runtime_put_noidle(qspi->dev); dev_err(qspi->dev, "pm_runtime_get_sync() failed\n"); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spi.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spi.c @@ -405,9 +405,11 @@ if (ret) return ret; - ret = sdrv->probe(spi); - if (ret) - dev_pm_domain_detach(dev, true); + if (sdrv->probe) { + ret = sdrv->probe(spi); + if (ret) + dev_pm_domain_detach(dev, true); + } return ret; } @@ -415,9 +417,10 @@ static int spi_drv_remove(struct device *dev) { const struct spi_driver *sdrv = to_spi_driver(dev->driver); - int ret; + int ret = 0; - ret = sdrv->remove(to_spi_device(dev)); + if (sdrv->remove) + ret = sdrv->remove(to_spi_device(dev)); dev_pm_domain_detach(dev, true); return ret; @@ -442,10 +445,8 @@ { sdrv->driver.owner = owner; sdrv->driver.bus = &spi_bus_type; - if (sdrv->probe) - sdrv->driver.probe = spi_drv_probe; - if (sdrv->remove) - sdrv->driver.remove = spi_drv_remove; + sdrv->driver.probe = spi_drv_probe; + sdrv->driver.remove = spi_drv_remove; if (sdrv->shutdown) sdrv->driver.shutdown = spi_drv_shutdown; return driver_register(&sdrv->driver); @@ -475,6 +476,12 @@ */ static DEFINE_MUTEX(board_lock); +/* + * Prevents addition of devices with same chip select and + * addition of devices below an unregistering controller. + */ +static DEFINE_MUTEX(spi_add_lock); + /** * spi_alloc_device - Allocate a new SPI device * @ctlr: Controller to which device is connected @@ -554,7 +561,6 @@ */ int spi_add_device(struct spi_device *spi) { - static DEFINE_MUTEX(spi_add_lock); struct spi_controller *ctlr = spi->controller; struct device *dev = ctlr->dev.parent; int status; @@ -582,6 +588,13 @@ goto done; } + /* Controller may unregister concurrently */ + if (IS_ENABLED(CONFIG_SPI_DYNAMIC) && + !device_is_registered(&ctlr->dev)) { + status = -ENODEV; + goto done; + } + /* Descriptors take precedence */ if (ctlr->cs_gpiods) spi->cs_gpiod = ctlr->cs_gpiods[spi->chip_select]; @@ -789,18 +802,16 @@ enable = !enable; if (spi->cs_gpiod || gpio_is_valid(spi->cs_gpio)) { - /* - * Honour the SPI_NO_CS flag and invert the enable line, as - * active low is default for SPI. Execution paths that handle - * polarity inversion in gpiolib (such as device tree) will - * enforce active high using the SPI_CS_HIGH resulting in a - * double inversion through the code above. - */ if (!(spi->mode & SPI_NO_CS)) { if (spi->cs_gpiod) + /* polarity handled by gpiolib */ gpiod_set_value_cansleep(spi->cs_gpiod, - !enable); + enable1); else + /* + * invert the enable line, as active low is + * default for SPI. + */ gpio_set_value_cansleep(spi->cs_gpio, !enable); } /* Some SPI masters need both GPIO CS & slave_select */ @@ -1076,6 +1087,7 @@ { struct spi_statistics *statm = &ctlr->statistics; struct spi_statistics *stats = &msg->spi->statistics; + u32 speed_hz = xfer->speed_hz; unsigned long long ms; if (spi_controller_is_slave(ctlr)) { @@ -1084,8 +1096,11 @@ return -EINTR; } } else { + if (!speed_hz) + speed_hz = 100000; + ms = 8LL * 1000LL * xfer->len; - do_div(ms, xfer->speed_hz); + do_div(ms, speed_hz); ms += ms + 200; /* some tolerance */ if (ms > UINT_MAX) @@ -1293,8 +1308,6 @@ if (msg->status && ctlr->handle_err) ctlr->handle_err(ctlr, msg); - spi_res_release(ctlr, msg); - spi_finalize_current_message(ctlr); return ret; @@ -1682,6 +1695,13 @@ spi_unmap_msg(ctlr, mesg); + /* In the prepare_messages callback the spi bus has the opportunity to + * split a transfer to smaller chunks. + * Release splited transfers here since spi_map_msg is done on the + * splited transfers. + */ + spi_res_release(ctlr, mesg); + if (ctlr->cur_msg_prepared && ctlr->unprepare_message) { ret = ctlr->unprepare_message(ctlr, mesg); if (ret) { @@ -1944,15 +1964,6 @@ } spi->chip_select = value; - /* - * For descriptors associated with the device, polarity inversion is - * handled in the gpiolib, so all gpio chip selects are "active high" - * in the logical sense, the gpiolib will invert the line if need be. - */ - if ((ctlr->use_gpio_descriptors) && ctlr->cs_gpiods && - ctlr->cs_gpiods[spi->chip_select]) - spi->mode |= SPI_CS_HIGH; - /* Device speed */ if (!of_property_read_u32(nc, "spi-max-frequency", &value)) spi->max_speed_hz = value; @@ -2405,6 +2416,49 @@ } EXPORT_SYMBOL_GPL(__spi_alloc_controller); +static void devm_spi_release_controller(struct device *dev, void *ctlr) +{ + spi_controller_put(*(struct spi_controller **)ctlr); +} + +/** + * __devm_spi_alloc_controller - resource-managed __spi_alloc_controller() + * @dev: physical device of SPI controller + * @size: how much zeroed driver-private data to allocate + * @slave: whether to allocate an SPI master (false) or SPI slave (true) + * Context: can sleep + * + * Allocate an SPI controller and automatically release a reference on it + * when @dev is unbound from its driver. Drivers are thus relieved from + * having to call spi_controller_put(). + * + * The arguments to this function are identical to __spi_alloc_controller(). + * + * Return: the SPI controller structure on success, else NULL. + */ +struct spi_controller *__devm_spi_alloc_controller(struct device *dev, + unsigned int size, + bool slave) +{ + struct spi_controller **ptr, *ctlr; + + ptr = devres_alloc(devm_spi_release_controller, sizeof(*ptr), + GFP_KERNEL); + if (!ptr) + return NULL; + + ctlr = __spi_alloc_controller(dev, size, slave); + if (ctlr) { + *ptr = ctlr; + devres_add(dev, ptr); + } else { + devres_free(ptr); + } + + return ctlr; +} +EXPORT_SYMBOL_GPL(__devm_spi_alloc_controller); + #ifdef CONFIG_OF static int of_spi_get_gpio_numbers(struct spi_controller *ctlr) { @@ -2741,6 +2795,11 @@ } EXPORT_SYMBOL_GPL(devm_spi_register_controller); +static int devm_spi_match_controller(struct device *dev, void *res, void *ctlr) +{ + return *(struct spi_controller **)res == ctlr; +} + static int __unregister(struct device *dev, void *null) { spi_unregister_device(to_spi_device(dev)); @@ -2764,6 +2823,10 @@ struct spi_controller *found; int id = ctlr->bus_num; + /* Prevent addition of new devices, unregister existing ones */ + if (IS_ENABLED(CONFIG_SPI_DYNAMIC)) + mutex_lock(&spi_add_lock); + device_for_each_child(&ctlr->dev, NULL, __unregister); /* First make sure that this controller was ever added */ @@ -2778,12 +2841,23 @@ list_del(&ctlr->list); mutex_unlock(&board_lock); - device_unregister(&ctlr->dev); + device_del(&ctlr->dev); + + /* Release the last reference on the controller if its driver + * has not yet been converted to devm_spi_alloc_master/slave(). + */ + if (!devres_find(ctlr->dev.parent, devm_spi_release_controller, + devm_spi_match_controller, ctlr)) + put_device(&ctlr->dev); + /* free bus id */ mutex_lock(&board_lock); if (found == ctlr) idr_remove(&spi_master_idr, id); mutex_unlock(&board_lock); + + if (IS_ENABLED(CONFIG_SPI_DYNAMIC)) + mutex_unlock(&spi_add_lock); } EXPORT_SYMBOL_GPL(spi_unregister_controller); --- linux-riscv-5.8-5.8.0.orig/drivers/spi/spidev.c +++ linux-riscv-5.8-5.8.0/drivers/spi/spidev.c @@ -224,6 +224,11 @@ for (n = n_xfers, k_tmp = k_xfers, u_tmp = u_xfers; n; n--, k_tmp++, u_tmp++) { + /* Ensure that also following allocations from rx_buf/tx_buf will meet + * DMA alignment requirements. + */ + unsigned int len_aligned = ALIGN(u_tmp->len, ARCH_KMALLOC_MINALIGN); + k_tmp->len = u_tmp->len; total += k_tmp->len; @@ -239,17 +244,17 @@ if (u_tmp->rx_buf) { /* this transfer needs space in RX bounce buffer */ - rx_total += k_tmp->len; + rx_total += len_aligned; if (rx_total > bufsiz) { status = -EMSGSIZE; goto done; } k_tmp->rx_buf = rx_buf; - rx_buf += k_tmp->len; + rx_buf += len_aligned; } if (u_tmp->tx_buf) { /* this transfer needs space in TX bounce buffer */ - tx_total += k_tmp->len; + tx_total += len_aligned; if (tx_total > bufsiz) { status = -EMSGSIZE; goto done; @@ -259,7 +264,7 @@ (uintptr_t) u_tmp->tx_buf, u_tmp->len)) goto done; - tx_buf += k_tmp->len; + tx_buf += len_aligned; } k_tmp->cs_change = !!u_tmp->cs_change; @@ -293,16 +298,16 @@ goto done; /* copy any rx data out of bounce buffer */ - rx_buf = spidev->rx_buffer; - for (n = n_xfers, u_tmp = u_xfers; n; n--, u_tmp++) { + for (n = n_xfers, k_tmp = k_xfers, u_tmp = u_xfers; + n; + n--, k_tmp++, u_tmp++) { if (u_tmp->rx_buf) { if (copy_to_user((u8 __user *) - (uintptr_t) u_tmp->rx_buf, rx_buf, + (uintptr_t) u_tmp->rx_buf, k_tmp->rx_buf, u_tmp->len)) { status = -EFAULT; goto done; } - rx_buf += u_tmp->len; } } status = total; --- linux-riscv-5.8-5.8.0.orig/drivers/spmi/spmi-pmic-arb.c +++ linux-riscv-5.8-5.8.0/drivers/spmi/spmi-pmic-arb.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2012-2015, 2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2015, 2017, 2021, The Linux Foundation. All rights reserved. */ #include #include @@ -505,8 +505,7 @@ static void periph_interrupt(struct spmi_pmic_arb *pmic_arb, u16 apid) { unsigned int irq; - u32 status; - int id; + u32 status, id; u8 sid = (pmic_arb->apid_data[apid].ppid >> 8) & 0xF; u8 per = pmic_arb->apid_data[apid].ppid & 0xFF; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/android/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/staging/android/Kconfig @@ -4,7 +4,7 @@ if ANDROID config ASHMEM - bool "Enable the Anonymous Shared Memory Subsystem" + tristate "Enable the Anonymous Shared Memory Subsystem" depends on SHMEM help The ashmem subsystem is a new shared memory allocator, similar to --- linux-riscv-5.8-5.8.0.orig/drivers/staging/android/Makefile +++ linux-riscv-5.8-5.8.0/drivers/staging/android/Makefile @@ -3,4 +3,5 @@ obj-y += ion/ -obj-$(CONFIG_ASHMEM) += ashmem.o +ashmem_linux-y += ashmem.o +obj-$(CONFIG_ASHMEM) += ashmem_linux.o --- linux-riscv-5.8-5.8.0.orig/drivers/staging/android/ashmem.c +++ linux-riscv-5.8-5.8.0/drivers/staging/android/ashmem.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -95,6 +96,15 @@ static struct kmem_cache *ashmem_area_cachep __read_mostly; static struct kmem_cache *ashmem_range_cachep __read_mostly; +/* + * A separate lockdep class for the backing shmem inodes to resolve the lockdep + * warning about the race between kswapd taking fs_reclaim before inode_lock + * and write syscall taking inode_lock and then fs_reclaim. + * Note that such race is impossible because ashmem does not support write + * syscalls operating on the backing shmem. + */ +static struct lock_class_key backing_shmem_inode_class; + static inline unsigned long range_size(struct ashmem_range *range) { return range->pgend - range->pgstart + 1; @@ -396,6 +406,7 @@ if (!asma->file) { char *name = ASHMEM_NAME_DEF; struct file *vmfile; + struct inode *inode; if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0') name = asma->name; @@ -407,6 +418,8 @@ goto out; } vmfile->f_mode |= FMODE_LSEEK; + inode = file_inode(vmfile); + lockdep_set_class(&inode->i_rwsem, &backing_shmem_inode_class); asma->file = vmfile; /* * override mmap operation of the vmfile so that it can't be @@ -952,4 +965,18 @@ out: return ret; } -device_initcall(ashmem_init); + +static void __exit ashmem_exit(void) +{ + misc_deregister(&ashmem_misc); + unregister_shrinker(&ashmem_shrinker); + kmem_cache_destroy(ashmem_range_cachep); + kmem_cache_destroy(ashmem_area_cachep); +} + +module_init(ashmem_init); +module_exit(ashmem_exit); + +MODULE_AUTHOR("Google, Inc."); +MODULE_DESCRIPTION("Driver for Android shared memory device"); +MODULE_LICENSE("GPL v2"); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/comedi_fops.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/comedi_fops.c @@ -2984,7 +2984,9 @@ v32.chanlist_len = cmd->chanlist_len; v32.data = ptr_to_compat(cmd->data); v32.data_len = cmd->data_len; - return copy_to_user(cmd32, &v32, sizeof(v32)); + if (copy_to_user(cmd32, &v32, sizeof(v32))) + return -EFAULT; + return 0; } /* Handle 32-bit COMEDI_CMD ioctl. */ --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/addi_apci_1032.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/addi_apci_1032.c @@ -260,6 +260,7 @@ struct apci1032_private *devpriv = dev->private; struct comedi_subdevice *s = dev->read_subdev; unsigned int ctrl; + unsigned short val; /* check interrupt is from this device */ if ((inl(devpriv->amcc_iobase + AMCC_OP_REG_INTCSR) & @@ -275,7 +276,8 @@ outl(ctrl & ~APCI1032_CTRL_INT_ENA, dev->iobase + APCI1032_CTRL_REG); s->state = inl(dev->iobase + APCI1032_STATUS_REG) & 0xffff; - comedi_buf_write_samples(s, &s->state, 1); + val = s->state; + comedi_buf_write_samples(s, &val, 1); comedi_handle_events(dev, s); /* enable the interrupt */ --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/addi_apci_1500.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/addi_apci_1500.c @@ -208,7 +208,7 @@ struct comedi_device *dev = d; struct apci1500_private *devpriv = dev->private; struct comedi_subdevice *s = dev->read_subdev; - unsigned int status = 0; + unsigned short status = 0; unsigned int val; val = inl(devpriv->amcc + AMCC_OP_REG_INTCSR); @@ -238,14 +238,14 @@ * * Mask Meaning * ---------- ------------------------------------------ - * 0x00000001 Event 1 has occurred - * 0x00000010 Event 2 has occurred - * 0x00000100 Counter/timer 1 has run down (not implemented) - * 0x00001000 Counter/timer 2 has run down (not implemented) - * 0x00010000 Counter 3 has run down (not implemented) - * 0x00100000 Watchdog has run down (not implemented) - * 0x01000000 Voltage error - * 0x10000000 Short-circuit error + * 0b00000001 Event 1 has occurred + * 0b00000010 Event 2 has occurred + * 0b00000100 Counter/timer 1 has run down (not implemented) + * 0b00001000 Counter/timer 2 has run down (not implemented) + * 0b00010000 Counter 3 has run down (not implemented) + * 0b00100000 Watchdog has run down (not implemented) + * 0b01000000 Voltage error + * 0b10000000 Short-circuit error */ comedi_buf_write_samples(s, &status, 1); comedi_handle_events(dev, s); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/adv_pci1710.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/adv_pci1710.c @@ -300,11 +300,11 @@ static int pci1710_ai_read_sample(struct comedi_device *dev, struct comedi_subdevice *s, unsigned int cur_chan, - unsigned int *val) + unsigned short *val) { const struct boardtype *board = dev->board_ptr; struct pci1710_private *devpriv = dev->private; - unsigned int sample; + unsigned short sample; unsigned int chan; sample = inw(dev->iobase + PCI171X_AD_DATA_REG); @@ -345,7 +345,7 @@ pci1710_ai_setup_chanlist(dev, s, &insn->chanspec, 1, 1); for (i = 0; i < insn->n; i++) { - unsigned int val; + unsigned short val; /* start conversion */ outw(0, dev->iobase + PCI171X_SOFTTRG_REG); @@ -395,7 +395,7 @@ { struct comedi_cmd *cmd = &s->async->cmd; unsigned int status; - unsigned int val; + unsigned short val; int ret; status = inw(dev->iobase + PCI171X_STATUS_REG); @@ -455,7 +455,7 @@ } for (i = 0; i < devpriv->max_samples; i++) { - unsigned int val; + unsigned short val; int ret; ret = pci1710_ai_read_sample(dev, s, s->async->cur_chan, &val); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/cb_pcidas.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/cb_pcidas.c @@ -1281,7 +1281,7 @@ devpriv->amcc + AMCC_OP_REG_INTCSR); ret = request_irq(pcidev->irq, cb_pcidas_interrupt, IRQF_SHARED, - dev->board_name, dev); + "cb_pcidas", dev); if (ret) { dev_dbg(dev->class_dev, "unable to allocate irq %d\n", pcidev->irq); @@ -1342,6 +1342,7 @@ if (dev->irq && board->has_ao_fifo) { dev->write_subdev = s; s->subdev_flags |= SDF_CMD_WRITE; + s->len_chanlist = s->n_chan; s->do_cmdtest = cb_pcidas_ao_cmdtest; s->do_cmd = cb_pcidas_ao_cmd; s->cancel = cb_pcidas_ao_cancel; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/cb_pcidas64.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/cb_pcidas64.c @@ -4035,7 +4035,7 @@ init_stc_registers(dev); retval = request_irq(pcidev->irq, handle_interrupt, IRQF_SHARED, - dev->board_name, dev); + "cb_pcidas64", dev); if (retval) { dev_dbg(dev->class_dev, "unable to allocate irq %u\n", pcidev->irq); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/das6402.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/das6402.c @@ -186,7 +186,7 @@ if (status & DAS6402_STATUS_FFULL) { async->events |= COMEDI_CB_OVERFLOW; } else if (status & DAS6402_STATUS_FFNE) { - unsigned int val; + unsigned short val; val = das6402_ai_read_sample(dev, s); comedi_buf_write_samples(s, &val, 1); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/das800.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/das800.c @@ -427,7 +427,7 @@ struct comedi_cmd *cmd; unsigned long irq_flags; unsigned int status; - unsigned int val; + unsigned short val; bool fifo_empty; bool fifo_overflow; int i; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/dmm32at.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/dmm32at.c @@ -404,7 +404,7 @@ { struct comedi_device *dev = d; unsigned char intstat; - unsigned int val; + unsigned short val; int i; if (!dev->attached) { --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/me4000.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/me4000.c @@ -924,7 +924,7 @@ struct comedi_subdevice *s = dev->read_subdev; int i; int c = 0; - unsigned int lval; + unsigned short lval; if (!dev->attached) return IRQ_NONE; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/mf6x4.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/mf6x4.c @@ -112,8 +112,9 @@ struct mf6x4_private *devpriv = dev->private; unsigned int status; + /* EOLC goes low at end of conversion. */ status = ioread32(devpriv->gpioc_reg); - if (status & MF6X4_GPIOC_EOLC) + if ((status & MF6X4_GPIOC_EOLC) == 0) return 0; return -EBUSY; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/pcl711.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/pcl711.c @@ -184,7 +184,7 @@ struct comedi_device *dev = d; struct comedi_subdevice *s = dev->read_subdev; struct comedi_cmd *cmd = &s->async->cmd; - unsigned int data; + unsigned short data; if (!dev->attached) { dev_err(dev->class_dev, "spurious interrupt\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/pcl818.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/pcl818.c @@ -423,7 +423,7 @@ static bool pcl818_ai_write_sample(struct comedi_device *dev, struct comedi_subdevice *s, - unsigned int chan, unsigned int val) + unsigned int chan, unsigned short val) { struct pcl818_private *devpriv = dev->private; struct comedi_cmd *cmd = &s->async->cmd; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/comedi/drivers/vmk80xx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/comedi/drivers/vmk80xx.c @@ -667,6 +667,9 @@ if (!devpriv->ep_rx || !devpriv->ep_tx) return -ENODEV; + if (!usb_endpoint_maxp(devpriv->ep_rx) || !usb_endpoint_maxp(devpriv->ep_tx)) + return -EINVAL; + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/emxx_udc/emxx_udc.c +++ linux-riscv-5.8-5.8.0/drivers/staging/emxx_udc/emxx_udc.c @@ -2593,7 +2593,7 @@ if (req->unaligned) { if (!ep->virt_buf) - ep->virt_buf = dma_alloc_coherent(NULL, PAGE_SIZE, + ep->virt_buf = dma_alloc_coherent(udc->dev, PAGE_SIZE, &ep->phys_buf, GFP_ATOMIC | GFP_DMA); if (ep->epnum > 0) { @@ -3148,7 +3148,7 @@ for (i = 0; i < NUM_ENDPOINTS; i++) { ep = &udc->ep[i]; if (ep->virt_buf) - dma_free_coherent(NULL, PAGE_SIZE, (void *)ep->virt_buf, + dma_free_coherent(udc->dev, PAGE_SIZE, (void *)ep->virt_buf, ep->phys_buf); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/fieldbus/anybuss/arcx-anybus.c +++ linux-riscv-5.8-5.8.0/drivers/staging/fieldbus/anybuss/arcx-anybus.c @@ -293,7 +293,7 @@ regulator = devm_regulator_register(dev, &can_power_desc, &config); if (IS_ERR(regulator)) { err = PTR_ERR(regulator); - goto out_reset; + goto out_ida; } /* make controller info visible to userspace */ cd->class_dev = kzalloc(sizeof(*cd->class_dev), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/fwserial/fwserial.c +++ linux-riscv-5.8-5.8.0/drivers/staging/fwserial/fwserial.c @@ -2189,6 +2189,7 @@ err = fw_core_add_address_handler(&port->rx_handler, &fw_high_memory_region); if (err) { + tty_port_destroy(&port->port); kfree(port); goto free_ports; } @@ -2271,6 +2272,7 @@ free_ports: for (--i; i >= 0; --i) { + fw_core_remove_address_handler(&serial->ports[i]->rx_handler); tty_port_destroy(&serial->ports[i]->port); kfree(serial->ports[i]); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/gasket/gasket_interrupt.c +++ linux-riscv-5.8-5.8.0/drivers/staging/gasket/gasket_interrupt.c @@ -487,14 +487,16 @@ int gasket_interrupt_set_eventfd(struct gasket_interrupt_data *interrupt_data, int interrupt, int event_fd) { - struct eventfd_ctx *ctx = eventfd_ctx_fdget(event_fd); - - if (IS_ERR(ctx)) - return PTR_ERR(ctx); + struct eventfd_ctx *ctx; if (interrupt < 0 || interrupt >= interrupt_data->num_interrupts) return -EINVAL; + ctx = eventfd_ctx_fdget(event_fd); + + if (IS_ERR(ctx)) + return PTR_ERR(ctx); + interrupt_data->eventfd_ctxs[interrupt] = ctx; return 0; } @@ -505,6 +507,9 @@ if (interrupt < 0 || interrupt >= interrupt_data->num_interrupts) return -EINVAL; - interrupt_data->eventfd_ctxs[interrupt] = NULL; + if (interrupt_data->eventfd_ctxs[interrupt]) { + eventfd_ctx_put(interrupt_data->eventfd_ctxs[interrupt]); + interrupt_data->eventfd_ctxs[interrupt] = NULL; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/gdm724x/gdm_usb.c +++ linux-riscv-5.8-5.8.0/drivers/staging/gdm724x/gdm_usb.c @@ -56,20 +56,24 @@ static int request_mac_address(struct lte_udev *udev) { - u8 buf[16] = {0,}; - struct hci_packet *hci = (struct hci_packet *)buf; + struct hci_packet *hci; struct usb_device *usbdev = udev->usbdev; int actual; int ret = -1; + hci = kmalloc(struct_size(hci, data, 1), GFP_KERNEL); + if (!hci) + return -ENOMEM; + hci->cmd_evt = gdm_cpu_to_dev16(udev->gdm_ed, LTE_GET_INFORMATION); hci->len = gdm_cpu_to_dev16(udev->gdm_ed, 1); hci->data[0] = MAC_ADDRESS; - ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), buf, 5, + ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), hci, 5, &actual, 1000); udev->request_mac_addr = 1; + kfree(hci); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/greybus/audio_codec.c +++ linux-riscv-5.8-5.8.0/drivers/staging/greybus/audio_codec.c @@ -489,6 +489,7 @@ if (ret) { dev_err_ratelimited(dai->dev, "%d: Error during set_config\n", ret); + gb_pm_runtime_put_noidle(bundle); mutex_unlock(&codec->lock); return ret; } @@ -565,6 +566,7 @@ break; } if (ret) { + gb_pm_runtime_put_noidle(bundle); mutex_unlock(&codec->lock); dev_err_ratelimited(dai->dev, "set_data_size failed:%d\n", ret); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/greybus/audio_topology.c +++ linux-riscv-5.8-5.8.0/drivers/staging/greybus/audio_topology.c @@ -460,6 +460,15 @@ val = ucontrol->value.integer.value[0] & mask; connect = !!val; + ret = gb_pm_runtime_get_sync(bundle); + if (ret) + return ret; + + ret = gb_audio_gb_get_control(module->mgmt_connection, data->ctl_id, + GB_AUDIO_INVALID_INDEX, &gbvalue); + if (ret) + goto exit; + /* update ucontrol */ if (gbvalue.value.integer_value[0] != val) { for (wi = 0; wi < wlist->num_widgets; wi++) { @@ -473,25 +482,17 @@ gbvalue.value.integer_value[0] = cpu_to_le32(ucontrol->value.integer.value[0]); - ret = gb_pm_runtime_get_sync(bundle); - if (ret) - return ret; - ret = gb_audio_gb_set_control(module->mgmt_connection, data->ctl_id, GB_AUDIO_INVALID_INDEX, &gbvalue); - - gb_pm_runtime_put_autosuspend(bundle); - - if (ret) { - dev_err_ratelimited(codec->dev, - "%d:Error in %s for %s\n", ret, - __func__, kcontrol->id.name); - return ret; - } } - return 0; +exit: + gb_pm_runtime_put_autosuspend(bundle); + if (ret) + dev_err_ratelimited(codec_dev, "%d:Error in %s for %s\n", ret, + __func__, kcontrol->id.name); + return ret; } #define SOC_DAPM_MIXER_GB(xname, kcount, data) \ --- linux-riscv-5.8-5.8.0.orig/drivers/staging/ks7010/ks_wlan_net.c +++ linux-riscv-5.8-5.8.0/drivers/staging/ks7010/ks_wlan_net.c @@ -1120,6 +1120,7 @@ { struct ks_wlan_private *priv = netdev_priv(dev); struct iw_scan_req *req = NULL; + int len; if (priv->sleep_mode == SLP_SLEEP) return -EPERM; @@ -1129,8 +1130,9 @@ if (wrqu->data.length == sizeof(struct iw_scan_req) && wrqu->data.flags & IW_SCAN_THIS_ESSID) { req = (struct iw_scan_req *)extra; - priv->scan_ssid_len = req->essid_len; - memcpy(priv->scan_ssid, req->essid, priv->scan_ssid_len); + len = min_t(int, req->essid_len, IW_ESSID_MAX_SIZE); + priv->scan_ssid_len = len; + memcpy(priv->scan_ssid, req->essid, len); } else { priv->scan_ssid_len = 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/allegro-dvt/allegro-core.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/allegro-dvt/allegro-core.c @@ -2422,8 +2422,6 @@ INIT_LIST_HEAD(&channel->buffers_reference); INIT_LIST_HEAD(&channel->buffers_intermediate); - list_add(&channel->list, &dev->channels); - channel->fh.m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev, channel, allegro_queue_init); @@ -2432,6 +2430,7 @@ goto error; } + list_add(&channel->list, &dev->channels); file->private_data = &channel->fh; v4l2_fh_add(&channel->fh); @@ -3065,9 +3064,9 @@ return -EINVAL; } regs = devm_ioremap(&pdev->dev, res->start, resource_size(res)); - if (IS_ERR(regs)) { + if (!regs) { dev_err(&pdev->dev, "failed to map registers\n"); - return PTR_ERR(regs); + return -ENOMEM; } dev->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &allegro_regmap_config); @@ -3085,9 +3084,9 @@ sram_regs = devm_ioremap(&pdev->dev, sram_res->start, resource_size(sram_res)); - if (IS_ERR(sram_regs)) { + if (!sram_regs) { dev_err(&pdev->dev, "failed to map sram\n"); - return PTR_ERR(sram_regs); + return -ENOMEM; } dev->sram = devm_regmap_init_mmio(&pdev->dev, sram_regs, &allegro_sram_config); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/atomisp/pci/atomisp_subdev.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/atomisp/pci/atomisp_subdev.c @@ -349,12 +349,20 @@ return 0; } -static char *atomisp_pad_str[] = { "ATOMISP_SUBDEV_PAD_SINK", - "ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE", - "ATOMISP_SUBDEV_PAD_SOURCE_VF", - "ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW", - "ATOMISP_SUBDEV_PAD_SOURCE_VIDEO" - }; +static const char *atomisp_pad_str(unsigned int pad) +{ + static const char *const pad_str[] = { + "ATOMISP_SUBDEV_PAD_SINK", + "ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE", + "ATOMISP_SUBDEV_PAD_SOURCE_VF", + "ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW", + "ATOMISP_SUBDEV_PAD_SOURCE_VIDEO", + }; + + if (pad >= ARRAY_SIZE(pad_str)) + return "ATOMISP_INVALID_PAD"; + return pad_str[pad]; +} int atomisp_subdev_set_selection(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *cfg, @@ -378,7 +386,7 @@ dev_dbg(isp->dev, "sel: pad %s tgt %s l %d t %d w %d h %d which %s f 0x%8.8x\n", - atomisp_pad_str[pad], target == V4L2_SEL_TGT_CROP + atomisp_pad_str(pad), target == V4L2_SEL_TGT_CROP ? "V4L2_SEL_TGT_CROP" : "V4L2_SEL_TGT_COMPOSE", r->left, r->top, r->width, r->height, which == V4L2_SUBDEV_FORMAT_TRY ? "V4L2_SUBDEV_FORMAT_TRY" @@ -610,7 +618,7 @@ enum atomisp_input_stream_id stream_id; dev_dbg(isp->dev, "ffmt: pad %s w %d h %d code 0x%8.8x which %s\n", - atomisp_pad_str[pad], ffmt->width, ffmt->height, ffmt->code, + atomisp_pad_str(pad), ffmt->width, ffmt->height, ffmt->code, which == V4L2_SUBDEV_FORMAT_TRY ? "V4L2_SUBDEV_FORMAT_TRY" : "V4L2_SUBDEV_FORMAT_ACTIVE"); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -269,7 +269,7 @@ hmm_set(bo->start, 0, bytes); dev_dbg(atomisp_dev, - "%s: pages: 0x%08x (%ld bytes), type: %d from highmem %d, user ptr %p, cached %d\n", + "%s: pages: 0x%08x (%zu bytes), type: %d from highmem %d, user ptr %p, cached %d\n", __func__, bo->start, bytes, type, from_highmem, userptr, cached); return bo->start; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/atomisp/pci/sh_css.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/atomisp/pci/sh_css.c @@ -9521,7 +9521,7 @@ if (err) { IA_CSS_LEAVE_ERR(err); - return err; + goto ERR; } #endif for (i = 0; i < num_pipes; i++) --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/hantro/hantro_h264.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/hantro/hantro_h264.c @@ -327,7 +327,7 @@ */ dst_buf = hantro_get_dst_buf(ctx); buf = &dst_buf->vb2_buf; - dma_addr = vb2_dma_contig_plane_dma_addr(buf, 0); + dma_addr = hantro_get_dec_buf_addr(ctx, buf); } return dma_addr; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/hantro/hantro_postproc.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/hantro/hantro_postproc.c @@ -118,7 +118,9 @@ unsigned int num_buffers = cap_queue->num_buffers; unsigned int i, buf_size; - buf_size = ctx->dst_fmt.plane_fmt[0].sizeimage; + buf_size = ctx->dst_fmt.plane_fmt[0].sizeimage + + hantro_h264_mv_size(ctx->dst_fmt.width, + ctx->dst_fmt.height); for (i = 0; i < num_buffers; ++i) { struct hantro_aux_buf *priv = &ctx->postproc.dec_q[i]; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/hantro/hantro_v4l2.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/hantro/hantro_v4l2.c @@ -367,7 +367,7 @@ hantro_reset_fmt(raw_fmt, raw_vpu_fmt); raw_fmt->width = encoded_fmt->width; - raw_fmt->width = encoded_fmt->width; + raw_fmt->height = encoded_fmt->height; if (hantro_is_encoder_ctx(ctx)) hantro_set_fmt_out(ctx, raw_fmt); else --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/imx/imx-media-csc-scaler.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/imx/imx-media-csc-scaler.c @@ -869,11 +869,7 @@ struct ipu_csc_scaler_priv *priv = vdev_to_priv(vdev); struct video_device *vfd = priv->vdev.vfd; - mutex_lock(&priv->mutex); - video_unregister_device(vfd); - - mutex_unlock(&priv->mutex); } struct imx_media_video_dev * --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/imx/imx-media-dev.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/imx/imx-media-dev.c @@ -53,6 +53,7 @@ imxmd->m2m_vdev = imx_media_csc_scaler_device_init(imxmd); if (IS_ERR(imxmd->m2m_vdev)) { ret = PTR_ERR(imxmd->m2m_vdev); + imxmd->m2m_vdev = NULL; goto unlock; } @@ -107,10 +108,14 @@ v4l2_info(&imxmd->v4l2_dev, "Removing imx-media\n"); + if (imxmd->m2m_vdev) { + imx_media_csc_scaler_device_unregister(imxmd->m2m_vdev); + imxmd->m2m_vdev = NULL; + } + v4l2_async_notifier_unregister(&imxmd->notifier); imx_media_unregister_ipu_internal_subdevs(imxmd); v4l2_async_notifier_cleanup(&imxmd->notifier); - imx_media_csc_scaler_device_unregister(imxmd->m2m_vdev); media_device_unregister(&imxmd->md); v4l2_device_unregister(&imxmd->v4l2_dev); media_device_cleanup(&imxmd->md); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/imx/imx7-media-csi.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/imx/imx7-media-csi.c @@ -499,6 +499,7 @@ struct v4l2_subdev_format *sink_fmt) { struct imx7_csi *csi = v4l2_get_subdevdata(sd); + struct media_entity *src; struct media_pad *pad; int ret; @@ -509,11 +510,21 @@ if (!csi->src_sd) return -EPIPE; + src = &csi->src_sd->entity; + + /* + * if the source is neither a CSI MUX or CSI-2 get the one directly + * upstream from this CSI + */ + if (src->function != MEDIA_ENT_F_VID_IF_BRIDGE && + src->function != MEDIA_ENT_F_VID_MUX) + src = &csi->sd.entity; + /* - * find the entity that is selected by the CSI mux. This is needed + * find the entity that is selected by the source. This is needed * to distinguish between a parallel or CSI-2 pipeline. */ - pad = imx_media_pipeline_pad(&csi->src_sd->entity, 0, 0, true); + pad = imx_media_pipeline_pad(src, 0, 0, true); if (!pad) return -ENODEV; @@ -1164,12 +1175,12 @@ struct imx7_csi *csi = imx7_csi_notifier_to_dev(notifier); struct media_pad *sink = &csi->sd.entity.pads[IMX7_CSI_PAD_SINK]; - /* The bound subdev must always be the CSI mux */ - if (WARN_ON(sd->entity.function != MEDIA_ENT_F_VID_MUX)) - return -ENXIO; - - /* Mark it as such via its group id */ - sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX; + /* + * If the subdev is a video mux, it must be one of the CSI + * muxes. Mark it as such via its group id. + */ + if (sd->entity.function == MEDIA_ENT_F_VID_MUX) + sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX; return v4l2_create_fwnode_links_to_pad(sd, sink); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/ipu3/ipu3-css-params.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/ipu3/ipu3-css-params.c @@ -159,7 +159,7 @@ memset(&cfg->scaler_coeffs_chroma, 0, sizeof(cfg->scaler_coeffs_chroma)); - memset(&cfg->scaler_coeffs_luma, 0, sizeof(*cfg->scaler_coeffs_luma)); + memset(&cfg->scaler_coeffs_luma, 0, sizeof(cfg->scaler_coeffs_luma)); do { phase_step_correction++; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c @@ -16,6 +16,7 @@ */ #include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/rkisp1/rkisp1-capture.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/rkisp1/rkisp1-capture.c @@ -967,6 +967,7 @@ ret = pm_runtime_get_sync(cap->rkisp1->dev); if (ret < 0) { + pm_runtime_put_noidle(cap->rkisp1->dev); dev_err(cap->rkisp1->dev, "power up failed %d\n", ret); goto err_destroy_dummy; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/rkisp1/rkisp1-common.h +++ linux-riscv-5.8-5.8.0/drivers/staging/media/rkisp1/rkisp1-common.h @@ -22,6 +22,9 @@ #include "rkisp1-regs.h" #include "uapi/rkisp1-config.h" +#define RKISP1_ISP_SD_SRC BIT(0) +#define RKISP1_ISP_SD_SINK BIT(1) + #define RKISP1_ISP_MAX_WIDTH 4032 #define RKISP1_ISP_MAX_HEIGHT 3024 #define RKISP1_ISP_MIN_WIDTH 32 --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/rkisp1/rkisp1-isp.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/rkisp1/rkisp1-isp.c @@ -23,10 +23,6 @@ #define RKISP1_ISP_DEV_NAME RKISP1_DRIVER_NAME "_isp" -#define RKISP1_DIR_SRC BIT(0) -#define RKISP1_DIR_SINK BIT(1) -#define RKISP1_DIR_SINK_SRC (RKISP1_DIR_SINK | RKISP1_DIR_SRC) - /* * NOTE: MIPI controller and input MUX are also configured in this file. * This is because ISP Subdev describes not only ISP submodule (input size, @@ -62,119 +58,119 @@ { .mbus_code = MEDIA_BUS_FMT_YUYV8_2X8, .pixel_enc = V4L2_PIXEL_ENC_YUV, - .direction = RKISP1_DIR_SRC, + .direction = RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW10, .bayer_pat = RKISP1_RAW_RGGB, .bus_width = 10, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW10, .bayer_pat = RKISP1_RAW_BGGR, .bus_width = 10, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGBRG10_1X10, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW10, .bayer_pat = RKISP1_RAW_GBRG, .bus_width = 10, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW10, .bayer_pat = RKISP1_RAW_GRBG, .bus_width = 10, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SRGGB12_1X12, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW12, .bayer_pat = RKISP1_RAW_RGGB, .bus_width = 12, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SBGGR12_1X12, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW12, .bayer_pat = RKISP1_RAW_BGGR, .bus_width = 12, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGBRG12_1X12, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW12, .bayer_pat = RKISP1_RAW_GBRG, .bus_width = 12, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGRBG12_1X12, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW12, .bayer_pat = RKISP1_RAW_GRBG, .bus_width = 12, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SRGGB8_1X8, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW8, .bayer_pat = RKISP1_RAW_RGGB, .bus_width = 8, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SBGGR8_1X8, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW8, .bayer_pat = RKISP1_RAW_BGGR, .bus_width = 8, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGBRG8_1X8, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW8, .bayer_pat = RKISP1_RAW_GBRG, .bus_width = 8, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_SGRBG8_1X8, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mipi_dt = RKISP1_CIF_CSI2_DT_RAW8, .bayer_pat = RKISP1_RAW_GRBG, .bus_width = 8, - .direction = RKISP1_DIR_SINK_SRC, + .direction = RKISP1_ISP_SD_SINK | RKISP1_ISP_SD_SRC, }, { .mbus_code = MEDIA_BUS_FMT_YUYV8_1X16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mipi_dt = RKISP1_CIF_CSI2_DT_YUV422_8b, .yuv_seq = RKISP1_CIF_ISP_ACQ_PROP_YCBYCR, .bus_width = 16, - .direction = RKISP1_DIR_SINK, + .direction = RKISP1_ISP_SD_SINK, }, { .mbus_code = MEDIA_BUS_FMT_YVYU8_1X16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mipi_dt = RKISP1_CIF_CSI2_DT_YUV422_8b, .yuv_seq = RKISP1_CIF_ISP_ACQ_PROP_YCRYCB, .bus_width = 16, - .direction = RKISP1_DIR_SINK, + .direction = RKISP1_ISP_SD_SINK, }, { .mbus_code = MEDIA_BUS_FMT_UYVY8_1X16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mipi_dt = RKISP1_CIF_CSI2_DT_YUV422_8b, .yuv_seq = RKISP1_CIF_ISP_ACQ_PROP_CBYCRY, .bus_width = 16, - .direction = RKISP1_DIR_SINK, + .direction = RKISP1_ISP_SD_SINK, }, { .mbus_code = MEDIA_BUS_FMT_VYUY8_1X16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mipi_dt = RKISP1_CIF_CSI2_DT_YUV422_8b, .yuv_seq = RKISP1_CIF_ISP_ACQ_PROP_CRYCBY, .bus_width = 16, - .direction = RKISP1_DIR_SINK, + .direction = RKISP1_ISP_SD_SINK, }, }; @@ -574,9 +570,9 @@ int pos = 0; if (code->pad == RKISP1_ISP_PAD_SINK_VIDEO) { - dir = RKISP1_DIR_SINK; + dir = RKISP1_ISP_SD_SINK; } else if (code->pad == RKISP1_ISP_PAD_SOURCE_VIDEO) { - dir = RKISP1_DIR_SRC; + dir = RKISP1_ISP_SD_SRC; } else { if (code->index > 0) return -EINVAL; @@ -661,7 +657,7 @@ src_fmt->code = format->code; mbus_info = rkisp1_isp_mbus_info_get(src_fmt->code); - if (!mbus_info || !(mbus_info->direction & RKISP1_DIR_SRC)) { + if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SRC)) { src_fmt->code = RKISP1_DEF_SRC_PAD_FMT; mbus_info = rkisp1_isp_mbus_info_get(src_fmt->code); } @@ -745,7 +741,7 @@ which); sink_fmt->code = format->code; mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); - if (!mbus_info || !(mbus_info->direction & RKISP1_DIR_SINK)) { + if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SINK)) { sink_fmt->code = RKISP1_DEF_SINK_PAD_FMT; mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/rkisp1/rkisp1-params.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/rkisp1/rkisp1-params.c @@ -1297,7 +1297,6 @@ memset(hst.hist_weight, 0x01, sizeof(hst.hist_weight)); rkisp1_hst_config(params, &hst); rkisp1_param_set_bits(params, RKISP1_CIF_ISP_HIST_PROP, - ~RKISP1_CIF_ISP_HIST_PROP_MODE_MASK | rkisp1_hst_params_default_config.mode); /* set the range */ --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/rkisp1/rkisp1-resizer.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/rkisp1/rkisp1-resizer.c @@ -437,8 +437,8 @@ u32 pad = code->pad; int ret; - /* supported mbus codes are the same in isp sink pad */ - code->pad = RKISP1_ISP_PAD_SINK_VIDEO; + /* supported mbus codes are the same in isp video src pad */ + code->pad = RKISP1_ISP_PAD_SOURCE_VIDEO; ret = v4l2_subdev_call(&rsz->rkisp1->isp.sd, pad, enum_mbus_code, &dummy_cfg, code); @@ -542,7 +542,7 @@ which); sink_fmt->code = format->code; mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); - if (!mbus_info) { + if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SRC)) { sink_fmt->code = RKISP1_DEF_FMT; mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); } @@ -553,11 +553,11 @@ src_fmt->code = sink_fmt->code; sink_fmt->width = clamp_t(u32, format->width, - rsz->config->min_rsz_width, - rsz->config->max_rsz_width); + RKISP1_ISP_MIN_WIDTH, + RKISP1_ISP_MAX_WIDTH); sink_fmt->height = clamp_t(u32, format->height, - rsz->config->min_rsz_height, - rsz->config->max_rsz_height); + RKISP1_ISP_MIN_HEIGHT, + RKISP1_ISP_MAX_HEIGHT); *format = *sink_fmt; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/sunxi/cedrus/cedrus.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/sunxi/cedrus/cedrus.c @@ -96,6 +96,25 @@ .codec = CEDRUS_CODEC_H264, .required = false, }, + /* + * We only expose supported profiles information, + * and not levels as it's not clear what is supported + * for each hardware/core version. + * In any case, TRY/S_FMT will clamp the format resolution + * to the maximum supported. + */ + { + .cfg = { + .id = V4L2_CID_MPEG_VIDEO_H264_PROFILE, + .min = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE, + .def = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN, + .max = V4L2_MPEG_VIDEO_H264_PROFILE_HIGH, + .menu_skip_mask = + BIT(V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED), + }, + .codec = CEDRUS_CODEC_H264, + .required = false, + }, { .cfg = { .id = V4L2_CID_MPEG_VIDEO_HEVC_SPS, @@ -199,6 +218,7 @@ struct v4l2_ctrl *ctrl_test; unsigned int count; unsigned int i; + int ret = 0; list_for_each_entry(obj, &req->objects, list) { struct vb2_buffer *vb; @@ -243,12 +263,16 @@ if (!ctrl_test) { v4l2_info(&ctx->dev->v4l2_dev, "Missing required codec control\n"); - return -ENOENT; + ret = -ENOENT; + break; } } v4l2_ctrl_request_hdl_put(hdl); + if (ret) + return ret; + return vb2_request_validate(req); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/media/sunxi/cedrus/cedrus_video.c +++ linux-riscv-5.8-5.8.0/drivers/staging/media/sunxi/cedrus/cedrus_video.c @@ -454,8 +454,10 @@ if (V4L2_TYPE_IS_OUTPUT(vq->type)) { ret = pm_runtime_get_sync(dev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(dev->dev); goto err_cleanup; + } if (dev->dec_ops[ctx->current_codec]->start) { ret = dev->dec_ops[ctx->current_codec]->start(ctx); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/most/sound/sound.c +++ linux-riscv-5.8-5.8.0/drivers/staging/most/sound/sound.c @@ -98,6 +98,8 @@ { unsigned int i = 0; + if (bytes < 2) + return; while (i < bytes - 2) { dest[i] = source[i + 2]; dest[i + 1] = source[i + 1]; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/mt7621-dma/Makefile +++ linux-riscv-5.8-5.8.0/drivers/staging/mt7621-dma/Makefile @@ -1,4 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 -obj-$(CONFIG_MTK_HSDMA) += mtk-hsdma.o +obj-$(CONFIG_MTK_HSDMA) += hsdma-mt7621.o ccflags-y += -I$(srctree)/drivers/dma --- linux-riscv-5.8-5.8.0.orig/drivers/staging/mt7621-dma/hsdma-mt7621.c +++ linux-riscv-5.8-5.8.0/drivers/staging/mt7621-dma/hsdma-mt7621.c @@ -0,0 +1,760 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2015, Michael Lee + * MTK HSDMA support + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "virt-dma.h" + +#define HSDMA_BASE_OFFSET 0x800 + +#define HSDMA_REG_TX_BASE 0x00 +#define HSDMA_REG_TX_CNT 0x04 +#define HSDMA_REG_TX_CTX 0x08 +#define HSDMA_REG_TX_DTX 0x0c +#define HSDMA_REG_RX_BASE 0x100 +#define HSDMA_REG_RX_CNT 0x104 +#define HSDMA_REG_RX_CRX 0x108 +#define HSDMA_REG_RX_DRX 0x10c +#define HSDMA_REG_INFO 0x200 +#define HSDMA_REG_GLO_CFG 0x204 +#define HSDMA_REG_RST_CFG 0x208 +#define HSDMA_REG_DELAY_INT 0x20c +#define HSDMA_REG_FREEQ_THRES 0x210 +#define HSDMA_REG_INT_STATUS 0x220 +#define HSDMA_REG_INT_MASK 0x228 +#define HSDMA_REG_SCH_Q01 0x280 +#define HSDMA_REG_SCH_Q23 0x284 + +#define HSDMA_DESCS_MAX 0xfff +#define HSDMA_DESCS_NUM 8 +#define HSDMA_DESCS_MASK (HSDMA_DESCS_NUM - 1) +#define HSDMA_NEXT_DESC(x) (((x) + 1) & HSDMA_DESCS_MASK) + +/* HSDMA_REG_INFO */ +#define HSDMA_INFO_INDEX_MASK 0xf +#define HSDMA_INFO_INDEX_SHIFT 24 +#define HSDMA_INFO_BASE_MASK 0xff +#define HSDMA_INFO_BASE_SHIFT 16 +#define HSDMA_INFO_RX_MASK 0xff +#define HSDMA_INFO_RX_SHIFT 8 +#define HSDMA_INFO_TX_MASK 0xff +#define HSDMA_INFO_TX_SHIFT 0 + +/* HSDMA_REG_GLO_CFG */ +#define HSDMA_GLO_TX_2B_OFFSET BIT(31) +#define HSDMA_GLO_CLK_GATE BIT(30) +#define HSDMA_GLO_BYTE_SWAP BIT(29) +#define HSDMA_GLO_MULTI_DMA BIT(10) +#define HSDMA_GLO_TWO_BUF BIT(9) +#define HSDMA_GLO_32B_DESC BIT(8) +#define HSDMA_GLO_BIG_ENDIAN BIT(7) +#define HSDMA_GLO_TX_DONE BIT(6) +#define HSDMA_GLO_BT_MASK 0x3 +#define HSDMA_GLO_BT_SHIFT 4 +#define HSDMA_GLO_RX_BUSY BIT(3) +#define HSDMA_GLO_RX_DMA BIT(2) +#define HSDMA_GLO_TX_BUSY BIT(1) +#define HSDMA_GLO_TX_DMA BIT(0) + +#define HSDMA_BT_SIZE_16BYTES (0 << HSDMA_GLO_BT_SHIFT) +#define HSDMA_BT_SIZE_32BYTES (1 << HSDMA_GLO_BT_SHIFT) +#define HSDMA_BT_SIZE_64BYTES (2 << HSDMA_GLO_BT_SHIFT) +#define HSDMA_BT_SIZE_128BYTES (3 << HSDMA_GLO_BT_SHIFT) + +#define HSDMA_GLO_DEFAULT (HSDMA_GLO_MULTI_DMA | \ + HSDMA_GLO_RX_DMA | HSDMA_GLO_TX_DMA | HSDMA_BT_SIZE_32BYTES) + +/* HSDMA_REG_RST_CFG */ +#define HSDMA_RST_RX_SHIFT 16 +#define HSDMA_RST_TX_SHIFT 0 + +/* HSDMA_REG_DELAY_INT */ +#define HSDMA_DELAY_INT_EN BIT(15) +#define HSDMA_DELAY_PEND_OFFSET 8 +#define HSDMA_DELAY_TIME_OFFSET 0 +#define HSDMA_DELAY_TX_OFFSET 16 +#define HSDMA_DELAY_RX_OFFSET 0 + +#define HSDMA_DELAY_INIT(x) (HSDMA_DELAY_INT_EN | \ + ((x) << HSDMA_DELAY_PEND_OFFSET)) +#define HSDMA_DELAY(x) ((HSDMA_DELAY_INIT(x) << \ + HSDMA_DELAY_TX_OFFSET) | HSDMA_DELAY_INIT(x)) + +/* HSDMA_REG_INT_STATUS */ +#define HSDMA_INT_DELAY_RX_COH BIT(31) +#define HSDMA_INT_DELAY_RX_INT BIT(30) +#define HSDMA_INT_DELAY_TX_COH BIT(29) +#define HSDMA_INT_DELAY_TX_INT BIT(28) +#define HSDMA_INT_RX_MASK 0x3 +#define HSDMA_INT_RX_SHIFT 16 +#define HSDMA_INT_RX_Q0 BIT(16) +#define HSDMA_INT_TX_MASK 0xf +#define HSDMA_INT_TX_SHIFT 0 +#define HSDMA_INT_TX_Q0 BIT(0) + +/* tx/rx dma desc flags */ +#define HSDMA_PLEN_MASK 0x3fff +#define HSDMA_DESC_DONE BIT(31) +#define HSDMA_DESC_LS0 BIT(30) +#define HSDMA_DESC_PLEN0(_x) (((_x) & HSDMA_PLEN_MASK) << 16) +#define HSDMA_DESC_TAG BIT(15) +#define HSDMA_DESC_LS1 BIT(14) +#define HSDMA_DESC_PLEN1(_x) ((_x) & HSDMA_PLEN_MASK) + +/* align 4 bytes */ +#define HSDMA_ALIGN_SIZE 3 +/* align size 128bytes */ +#define HSDMA_MAX_PLEN 0x3f80 + +struct hsdma_desc { + u32 addr0; + u32 flags; + u32 addr1; + u32 unused; +}; + +struct mtk_hsdma_sg { + dma_addr_t src_addr; + dma_addr_t dst_addr; + u32 len; +}; + +struct mtk_hsdma_desc { + struct virt_dma_desc vdesc; + unsigned int num_sgs; + struct mtk_hsdma_sg sg[1]; +}; + +struct mtk_hsdma_chan { + struct virt_dma_chan vchan; + unsigned int id; + dma_addr_t desc_addr; + int tx_idx; + int rx_idx; + struct hsdma_desc *tx_ring; + struct hsdma_desc *rx_ring; + struct mtk_hsdma_desc *desc; + unsigned int next_sg; +}; + +struct mtk_hsdam_engine { + struct dma_device ddev; + struct device_dma_parameters dma_parms; + void __iomem *base; + struct tasklet_struct task; + volatile unsigned long chan_issued; + + struct mtk_hsdma_chan chan[1]; +}; + +static inline struct mtk_hsdam_engine *mtk_hsdma_chan_get_dev( + struct mtk_hsdma_chan *chan) +{ + return container_of(chan->vchan.chan.device, struct mtk_hsdam_engine, + ddev); +} + +static inline struct mtk_hsdma_chan *to_mtk_hsdma_chan(struct dma_chan *c) +{ + return container_of(c, struct mtk_hsdma_chan, vchan.chan); +} + +static inline struct mtk_hsdma_desc *to_mtk_hsdma_desc( + struct virt_dma_desc *vdesc) +{ + return container_of(vdesc, struct mtk_hsdma_desc, vdesc); +} + +static inline u32 mtk_hsdma_read(struct mtk_hsdam_engine *hsdma, u32 reg) +{ + return readl(hsdma->base + reg); +} + +static inline void mtk_hsdma_write(struct mtk_hsdam_engine *hsdma, + unsigned int reg, u32 val) +{ + writel(val, hsdma->base + reg); +} + +static void mtk_hsdma_reset_chan(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + chan->tx_idx = 0; + chan->rx_idx = HSDMA_DESCS_NUM - 1; + + mtk_hsdma_write(hsdma, HSDMA_REG_TX_CTX, chan->tx_idx); + mtk_hsdma_write(hsdma, HSDMA_REG_RX_CRX, chan->rx_idx); + + mtk_hsdma_write(hsdma, HSDMA_REG_RST_CFG, + 0x1 << (chan->id + HSDMA_RST_TX_SHIFT)); + mtk_hsdma_write(hsdma, HSDMA_REG_RST_CFG, + 0x1 << (chan->id + HSDMA_RST_RX_SHIFT)); +} + +static void hsdma_dump_reg(struct mtk_hsdam_engine *hsdma) +{ + dev_dbg(hsdma->ddev.dev, "tbase %08x, tcnt %08x, " + "tctx %08x, tdtx: %08x, rbase %08x, " + "rcnt %08x, rctx %08x, rdtx %08x\n", + mtk_hsdma_read(hsdma, HSDMA_REG_TX_BASE), + mtk_hsdma_read(hsdma, HSDMA_REG_TX_CNT), + mtk_hsdma_read(hsdma, HSDMA_REG_TX_CTX), + mtk_hsdma_read(hsdma, HSDMA_REG_TX_DTX), + mtk_hsdma_read(hsdma, HSDMA_REG_RX_BASE), + mtk_hsdma_read(hsdma, HSDMA_REG_RX_CNT), + mtk_hsdma_read(hsdma, HSDMA_REG_RX_CRX), + mtk_hsdma_read(hsdma, HSDMA_REG_RX_DRX)); + + dev_dbg(hsdma->ddev.dev, "info %08x, glo %08x, delay %08x, intr_stat %08x, intr_mask %08x\n", + mtk_hsdma_read(hsdma, HSDMA_REG_INFO), + mtk_hsdma_read(hsdma, HSDMA_REG_GLO_CFG), + mtk_hsdma_read(hsdma, HSDMA_REG_DELAY_INT), + mtk_hsdma_read(hsdma, HSDMA_REG_INT_STATUS), + mtk_hsdma_read(hsdma, HSDMA_REG_INT_MASK)); +} + +static void hsdma_dump_desc(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + struct hsdma_desc *tx_desc; + struct hsdma_desc *rx_desc; + int i; + + dev_dbg(hsdma->ddev.dev, "tx idx: %d, rx idx: %d\n", + chan->tx_idx, chan->rx_idx); + + for (i = 0; i < HSDMA_DESCS_NUM; i++) { + tx_desc = &chan->tx_ring[i]; + rx_desc = &chan->rx_ring[i]; + + dev_dbg(hsdma->ddev.dev, "%d tx addr0: %08x, flags %08x, " + "tx addr1: %08x, rx addr0 %08x, flags %08x\n", + i, tx_desc->addr0, tx_desc->flags, + tx_desc->addr1, rx_desc->addr0, rx_desc->flags); + } +} + +static void mtk_hsdma_reset(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + int i; + + /* disable dma */ + mtk_hsdma_write(hsdma, HSDMA_REG_GLO_CFG, 0); + + /* disable intr */ + mtk_hsdma_write(hsdma, HSDMA_REG_INT_MASK, 0); + + /* init desc value */ + for (i = 0; i < HSDMA_DESCS_NUM; i++) { + chan->tx_ring[i].addr0 = 0; + chan->tx_ring[i].flags = HSDMA_DESC_LS0 | HSDMA_DESC_DONE; + } + for (i = 0; i < HSDMA_DESCS_NUM; i++) { + chan->rx_ring[i].addr0 = 0; + chan->rx_ring[i].flags = 0; + } + + /* reset */ + mtk_hsdma_reset_chan(hsdma, chan); + + /* enable intr */ + mtk_hsdma_write(hsdma, HSDMA_REG_INT_MASK, HSDMA_INT_RX_Q0); + + /* enable dma */ + mtk_hsdma_write(hsdma, HSDMA_REG_GLO_CFG, HSDMA_GLO_DEFAULT); +} + +static int mtk_hsdma_terminate_all(struct dma_chan *c) +{ + struct mtk_hsdma_chan *chan = to_mtk_hsdma_chan(c); + struct mtk_hsdam_engine *hsdma = mtk_hsdma_chan_get_dev(chan); + unsigned long timeout; + LIST_HEAD(head); + + spin_lock_bh(&chan->vchan.lock); + chan->desc = NULL; + clear_bit(chan->id, &hsdma->chan_issued); + vchan_get_all_descriptors(&chan->vchan, &head); + spin_unlock_bh(&chan->vchan.lock); + + vchan_dma_desc_free_list(&chan->vchan, &head); + + /* wait dma transfer complete */ + timeout = jiffies + msecs_to_jiffies(2000); + while (mtk_hsdma_read(hsdma, HSDMA_REG_GLO_CFG) & + (HSDMA_GLO_RX_BUSY | HSDMA_GLO_TX_BUSY)) { + if (time_after_eq(jiffies, timeout)) { + hsdma_dump_desc(hsdma, chan); + mtk_hsdma_reset(hsdma, chan); + dev_err(hsdma->ddev.dev, "timeout, reset it\n"); + break; + } + cpu_relax(); + } + + return 0; +} + +static int mtk_hsdma_start_transfer(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + dma_addr_t src, dst; + size_t len, tlen; + struct hsdma_desc *tx_desc, *rx_desc; + struct mtk_hsdma_sg *sg; + unsigned int i; + int rx_idx; + + sg = &chan->desc->sg[0]; + len = sg->len; + chan->desc->num_sgs = DIV_ROUND_UP(len, HSDMA_MAX_PLEN); + + /* tx desc */ + src = sg->src_addr; + for (i = 0; i < chan->desc->num_sgs; i++) { + tx_desc = &chan->tx_ring[chan->tx_idx]; + + if (len > HSDMA_MAX_PLEN) + tlen = HSDMA_MAX_PLEN; + else + tlen = len; + + if (i & 0x1) { + tx_desc->addr1 = src; + tx_desc->flags |= HSDMA_DESC_PLEN1(tlen); + } else { + tx_desc->addr0 = src; + tx_desc->flags = HSDMA_DESC_PLEN0(tlen); + + /* update index */ + chan->tx_idx = HSDMA_NEXT_DESC(chan->tx_idx); + } + + src += tlen; + len -= tlen; + } + if (i & 0x1) + tx_desc->flags |= HSDMA_DESC_LS0; + else + tx_desc->flags |= HSDMA_DESC_LS1; + + /* rx desc */ + rx_idx = HSDMA_NEXT_DESC(chan->rx_idx); + len = sg->len; + dst = sg->dst_addr; + for (i = 0; i < chan->desc->num_sgs; i++) { + rx_desc = &chan->rx_ring[rx_idx]; + if (len > HSDMA_MAX_PLEN) + tlen = HSDMA_MAX_PLEN; + else + tlen = len; + + rx_desc->addr0 = dst; + rx_desc->flags = HSDMA_DESC_PLEN0(tlen); + + dst += tlen; + len -= tlen; + + /* update index */ + rx_idx = HSDMA_NEXT_DESC(rx_idx); + } + + /* make sure desc and index all up to date */ + wmb(); + mtk_hsdma_write(hsdma, HSDMA_REG_TX_CTX, chan->tx_idx); + + return 0; +} + +static int gdma_next_desc(struct mtk_hsdma_chan *chan) +{ + struct virt_dma_desc *vdesc; + + vdesc = vchan_next_desc(&chan->vchan); + if (!vdesc) { + chan->desc = NULL; + return 0; + } + chan->desc = to_mtk_hsdma_desc(vdesc); + chan->next_sg = 0; + + return 1; +} + +static void mtk_hsdma_chan_done(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + struct mtk_hsdma_desc *desc; + int chan_issued; + + chan_issued = 0; + spin_lock_bh(&chan->vchan.lock); + desc = chan->desc; + if (likely(desc)) { + if (chan->next_sg == desc->num_sgs) { + list_del(&desc->vdesc.node); + vchan_cookie_complete(&desc->vdesc); + chan_issued = gdma_next_desc(chan); + } + } else { + dev_dbg(hsdma->ddev.dev, "no desc to complete\n"); + } + + if (chan_issued) + set_bit(chan->id, &hsdma->chan_issued); + spin_unlock_bh(&chan->vchan.lock); +} + +static irqreturn_t mtk_hsdma_irq(int irq, void *devid) +{ + struct mtk_hsdam_engine *hsdma = devid; + u32 status; + + status = mtk_hsdma_read(hsdma, HSDMA_REG_INT_STATUS); + if (unlikely(!status)) + return IRQ_NONE; + + if (likely(status & HSDMA_INT_RX_Q0)) + tasklet_schedule(&hsdma->task); + else + dev_dbg(hsdma->ddev.dev, "unhandle irq status %08x\n", status); + /* clean intr bits */ + mtk_hsdma_write(hsdma, HSDMA_REG_INT_STATUS, status); + + return IRQ_HANDLED; +} + +static void mtk_hsdma_issue_pending(struct dma_chan *c) +{ + struct mtk_hsdma_chan *chan = to_mtk_hsdma_chan(c); + struct mtk_hsdam_engine *hsdma = mtk_hsdma_chan_get_dev(chan); + + spin_lock_bh(&chan->vchan.lock); + if (vchan_issue_pending(&chan->vchan) && !chan->desc) { + if (gdma_next_desc(chan)) { + set_bit(chan->id, &hsdma->chan_issued); + tasklet_schedule(&hsdma->task); + } else { + dev_dbg(hsdma->ddev.dev, "no desc to issue\n"); + } + } + spin_unlock_bh(&chan->vchan.lock); +} + +static struct dma_async_tx_descriptor *mtk_hsdma_prep_dma_memcpy( + struct dma_chan *c, dma_addr_t dest, dma_addr_t src, + size_t len, unsigned long flags) +{ + struct mtk_hsdma_chan *chan = to_mtk_hsdma_chan(c); + struct mtk_hsdma_desc *desc; + + if (len <= 0) + return NULL; + + desc = kzalloc(sizeof(*desc), GFP_ATOMIC); + if (!desc) { + dev_err(c->device->dev, "alloc memcpy decs error\n"); + return NULL; + } + + desc->sg[0].src_addr = src; + desc->sg[0].dst_addr = dest; + desc->sg[0].len = len; + + return vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); +} + +static enum dma_status mtk_hsdma_tx_status(struct dma_chan *c, + dma_cookie_t cookie, + struct dma_tx_state *state) +{ + return dma_cookie_status(c, cookie, state); +} + +static void mtk_hsdma_free_chan_resources(struct dma_chan *c) +{ + vchan_free_chan_resources(to_virt_chan(c)); +} + +static void mtk_hsdma_desc_free(struct virt_dma_desc *vdesc) +{ + kfree(container_of(vdesc, struct mtk_hsdma_desc, vdesc)); +} + +static void mtk_hsdma_tx(struct mtk_hsdam_engine *hsdma) +{ + struct mtk_hsdma_chan *chan; + + if (test_and_clear_bit(0, &hsdma->chan_issued)) { + chan = &hsdma->chan[0]; + if (chan->desc) + mtk_hsdma_start_transfer(hsdma, chan); + else + dev_dbg(hsdma->ddev.dev, "chan 0 no desc to issue\n"); + } +} + +static void mtk_hsdma_rx(struct mtk_hsdam_engine *hsdma) +{ + struct mtk_hsdma_chan *chan; + int next_idx, drx_idx, cnt; + + chan = &hsdma->chan[0]; + next_idx = HSDMA_NEXT_DESC(chan->rx_idx); + drx_idx = mtk_hsdma_read(hsdma, HSDMA_REG_RX_DRX); + + cnt = (drx_idx - next_idx) & HSDMA_DESCS_MASK; + if (!cnt) + return; + + chan->next_sg += cnt; + chan->rx_idx = (chan->rx_idx + cnt) & HSDMA_DESCS_MASK; + + /* update rx crx */ + wmb(); + mtk_hsdma_write(hsdma, HSDMA_REG_RX_CRX, chan->rx_idx); + + mtk_hsdma_chan_done(hsdma, chan); +} + +static void mtk_hsdma_tasklet(unsigned long arg) +{ + struct mtk_hsdam_engine *hsdma = (struct mtk_hsdam_engine *)arg; + + mtk_hsdma_rx(hsdma); + mtk_hsdma_tx(hsdma); +} + +static int mtk_hsdam_alloc_desc(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + int i; + + chan->tx_ring = dma_alloc_coherent(hsdma->ddev.dev, + 2 * HSDMA_DESCS_NUM * + sizeof(*chan->tx_ring), + &chan->desc_addr, GFP_ATOMIC | __GFP_ZERO); + if (!chan->tx_ring) + goto no_mem; + + chan->rx_ring = &chan->tx_ring[HSDMA_DESCS_NUM]; + + /* init tx ring value */ + for (i = 0; i < HSDMA_DESCS_NUM; i++) + chan->tx_ring[i].flags = HSDMA_DESC_LS0 | HSDMA_DESC_DONE; + + return 0; +no_mem: + return -ENOMEM; +} + +static void mtk_hsdam_free_desc(struct mtk_hsdam_engine *hsdma, + struct mtk_hsdma_chan *chan) +{ + if (chan->tx_ring) { + dma_free_coherent(hsdma->ddev.dev, + 2 * HSDMA_DESCS_NUM * sizeof(*chan->tx_ring), + chan->tx_ring, chan->desc_addr); + chan->tx_ring = NULL; + chan->rx_ring = NULL; + } +} + +static int mtk_hsdma_init(struct mtk_hsdam_engine *hsdma) +{ + struct mtk_hsdma_chan *chan; + int ret; + u32 reg; + + /* init desc */ + chan = &hsdma->chan[0]; + ret = mtk_hsdam_alloc_desc(hsdma, chan); + if (ret) + return ret; + + /* tx */ + mtk_hsdma_write(hsdma, HSDMA_REG_TX_BASE, chan->desc_addr); + mtk_hsdma_write(hsdma, HSDMA_REG_TX_CNT, HSDMA_DESCS_NUM); + /* rx */ + mtk_hsdma_write(hsdma, HSDMA_REG_RX_BASE, chan->desc_addr + + (sizeof(struct hsdma_desc) * HSDMA_DESCS_NUM)); + mtk_hsdma_write(hsdma, HSDMA_REG_RX_CNT, HSDMA_DESCS_NUM); + /* reset */ + mtk_hsdma_reset_chan(hsdma, chan); + + /* enable rx intr */ + mtk_hsdma_write(hsdma, HSDMA_REG_INT_MASK, HSDMA_INT_RX_Q0); + + /* enable dma */ + mtk_hsdma_write(hsdma, HSDMA_REG_GLO_CFG, HSDMA_GLO_DEFAULT); + + /* hardware info */ + reg = mtk_hsdma_read(hsdma, HSDMA_REG_INFO); + dev_info(hsdma->ddev.dev, "rx: %d, tx: %d\n", + (reg >> HSDMA_INFO_RX_SHIFT) & HSDMA_INFO_RX_MASK, + (reg >> HSDMA_INFO_TX_SHIFT) & HSDMA_INFO_TX_MASK); + + hsdma_dump_reg(hsdma); + + return ret; +} + +static void mtk_hsdma_uninit(struct mtk_hsdam_engine *hsdma) +{ + struct mtk_hsdma_chan *chan; + + /* disable dma */ + mtk_hsdma_write(hsdma, HSDMA_REG_GLO_CFG, 0); + + /* disable intr */ + mtk_hsdma_write(hsdma, HSDMA_REG_INT_MASK, 0); + + /* free desc */ + chan = &hsdma->chan[0]; + mtk_hsdam_free_desc(hsdma, chan); + + /* tx */ + mtk_hsdma_write(hsdma, HSDMA_REG_TX_BASE, 0); + mtk_hsdma_write(hsdma, HSDMA_REG_TX_CNT, 0); + /* rx */ + mtk_hsdma_write(hsdma, HSDMA_REG_RX_BASE, 0); + mtk_hsdma_write(hsdma, HSDMA_REG_RX_CNT, 0); + /* reset */ + mtk_hsdma_reset_chan(hsdma, chan); +} + +static const struct of_device_id mtk_hsdma_of_match[] = { + { .compatible = "mediatek,mt7621-hsdma" }, + { }, +}; + +static int mtk_hsdma_probe(struct platform_device *pdev) +{ + const struct of_device_id *match; + struct mtk_hsdma_chan *chan; + struct mtk_hsdam_engine *hsdma; + struct dma_device *dd; + int ret; + int irq; + void __iomem *base; + + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) + return ret; + + match = of_match_device(mtk_hsdma_of_match, &pdev->dev); + if (!match) + return -EINVAL; + + hsdma = devm_kzalloc(&pdev->dev, sizeof(*hsdma), GFP_KERNEL); + if (!hsdma) + return -EINVAL; + + base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(base)) + return PTR_ERR(base); + hsdma->base = base + HSDMA_BASE_OFFSET; + tasklet_init(&hsdma->task, mtk_hsdma_tasklet, (unsigned long)hsdma); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return -EINVAL; + ret = devm_request_irq(&pdev->dev, irq, mtk_hsdma_irq, + 0, dev_name(&pdev->dev), hsdma); + if (ret) { + dev_err(&pdev->dev, "failed to request irq\n"); + return ret; + } + + device_reset(&pdev->dev); + + dd = &hsdma->ddev; + dma_cap_set(DMA_MEMCPY, dd->cap_mask); + dd->copy_align = HSDMA_ALIGN_SIZE; + dd->device_free_chan_resources = mtk_hsdma_free_chan_resources; + dd->device_prep_dma_memcpy = mtk_hsdma_prep_dma_memcpy; + dd->device_terminate_all = mtk_hsdma_terminate_all; + dd->device_tx_status = mtk_hsdma_tx_status; + dd->device_issue_pending = mtk_hsdma_issue_pending; + dd->dev = &pdev->dev; + dd->dev->dma_parms = &hsdma->dma_parms; + dma_set_max_seg_size(dd->dev, HSDMA_MAX_PLEN); + INIT_LIST_HEAD(&dd->channels); + + chan = &hsdma->chan[0]; + chan->id = 0; + chan->vchan.desc_free = mtk_hsdma_desc_free; + vchan_init(&chan->vchan, dd); + + /* init hardware */ + ret = mtk_hsdma_init(hsdma); + if (ret) { + dev_err(&pdev->dev, "failed to alloc ring descs\n"); + return ret; + } + + ret = dma_async_device_register(dd); + if (ret) { + dev_err(&pdev->dev, "failed to register dma device\n"); + goto err_uninit_hsdma; + } + + ret = of_dma_controller_register(pdev->dev.of_node, + of_dma_xlate_by_chan_id, hsdma); + if (ret) { + dev_err(&pdev->dev, "failed to register of dma controller\n"); + goto err_unregister; + } + + platform_set_drvdata(pdev, hsdma); + + return 0; + +err_unregister: + dma_async_device_unregister(dd); +err_uninit_hsdma: + mtk_hsdma_uninit(hsdma); + return ret; +} + +static int mtk_hsdma_remove(struct platform_device *pdev) +{ + struct mtk_hsdam_engine *hsdma = platform_get_drvdata(pdev); + + mtk_hsdma_uninit(hsdma); + + of_dma_controller_free(pdev->dev.of_node); + dma_async_device_unregister(&hsdma->ddev); + + return 0; +} + +static struct platform_driver mtk_hsdma_driver = { + .probe = mtk_hsdma_probe, + .remove = mtk_hsdma_remove, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = mtk_hsdma_of_match, + }, +}; +module_platform_driver(mtk_hsdma_driver); + +MODULE_AUTHOR("Michael Lee "); +MODULE_DESCRIPTION("MTK HSDMA driver"); +MODULE_LICENSE("GPL v2"); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/mt7621-pci/pci-mt7621.c +++ linux-riscv-5.8-5.8.0/drivers/staging/mt7621-pci/pci-mt7621.c @@ -653,16 +653,11 @@ return 0; } -static int mt7621_pcie_request_resources(struct mt7621_pcie *pcie, - struct list_head *res) +static void mt7621_pcie_add_resources(struct mt7621_pcie *pcie, + struct list_head *res) { - struct device *dev = pcie->dev; - pci_add_resource_offset(res, &pcie->io, pcie->offset.io); pci_add_resource_offset(res, &pcie->mem, pcie->offset.mem); - pci_add_resource(res, &pcie->busn); - - return devm_request_pci_bus_resources(dev, res); } static int mt7621_pcie_register_host(struct pci_host_bridge *host, @@ -738,11 +733,7 @@ setup_cm_memory_region(pcie); - err = mt7621_pcie_request_resources(pcie, &res); - if (err) { - dev_err(dev, "Error requesting resources\n"); - return err; - } + mt7621_pcie_add_resources(pcie, &res); err = mt7621_pcie_register_host(bridge, &res); if (err) { --- linux-riscv-5.8-5.8.0.orig/drivers/staging/octeon/ethernet-mdio.c +++ linux-riscv-5.8-5.8.0/drivers/staging/octeon/ethernet-mdio.c @@ -147,12 +147,6 @@ phy_node = of_parse_phandle(priv->of_node, "phy-handle", 0); if (!phy_node && of_phy_is_fixed_link(priv->of_node)) { - int rc; - - rc = of_phy_register_fixed_link(priv->of_node); - if (rc) - return rc; - phy_node = of_node_get(priv->of_node); } if (!phy_node) --- linux-riscv-5.8-5.8.0.orig/drivers/staging/octeon/ethernet-rx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/octeon/ethernet-rx.c @@ -69,15 +69,17 @@ else port = work->word1.cn38xx.ipprt; - if ((work->word2.snoip.err_code == 10) && (work->word1.len <= 64)) { + if ((work->word2.snoip.err_code == 10) && (work->word1.len <= 64)) /* * Ignore length errors on min size packets. Some * equipment incorrectly pads packets to 64+4FCS * instead of 60+4FCS. Note these packets still get * counted as frame errors. */ - } else if (work->word2.snoip.err_code == 5 || - work->word2.snoip.err_code == 7) { + return 0; + + if (work->word2.snoip.err_code == 5 || + work->word2.snoip.err_code == 7) { /* * We received a packet with either an alignment error * or a FCS error. This may be signalling that we are @@ -108,7 +110,10 @@ /* Port received 0xd5 preamble */ work->packet_ptr.s.addr += i + 1; work->word1.len -= i + 5; - } else if ((*ptr & 0xf) == 0xd) { + return 0; + } + + if ((*ptr & 0xf) == 0xd) { /* Port received 0xd preamble */ work->packet_ptr.s.addr += i; work->word1.len -= i + 4; @@ -118,21 +123,20 @@ ((*(ptr + 1) & 0xf) << 4); ptr++; } - } else { - printk_ratelimited("Port %d unknown preamble, packet dropped\n", - port); - cvm_oct_free_work(work); - return 1; + return 0; } + + printk_ratelimited("Port %d unknown preamble, packet dropped\n", + port); + cvm_oct_free_work(work); + return 1; } - } else { - printk_ratelimited("Port %d receive error code %d, packet dropped\n", - port, work->word2.snoip.err_code); - cvm_oct_free_work(work); - return 1; } - return 0; + printk_ratelimited("Port %d receive error code %d, packet dropped\n", + port, work->word2.snoip.err_code); + cvm_oct_free_work(work); + return 1; } static void copy_segments_to_skb(struct cvmx_wqe *work, struct sk_buff *skb) --- linux-riscv-5.8-5.8.0.orig/drivers/staging/octeon/ethernet.c +++ linux-riscv-5.8-5.8.0/drivers/staging/octeon/ethernet.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -894,6 +895,14 @@ break; } + if (priv->of_node && of_phy_is_fixed_link(priv->of_node)) { + if (of_phy_register_fixed_link(priv->of_node)) { + netdev_err(dev, "Failed to register fixed link for interface %d, port %d\n", + interface, priv->port); + dev->netdev_ops = NULL; + } + } + if (!dev->netdev_ops) { free_netdev(dev); } else if (register_netdev(dev) < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/staging/ralink-gdma/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/staging/ralink-gdma/Kconfig @@ -2,6 +2,7 @@ config DMA_RALINK tristate "RALINK DMA support" depends on RALINK && !SOC_RT288X + depends on DMADEVICES select DMA_ENGINE select DMA_VIRTUAL_CHANNELS --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8188eu/core/rtw_ap.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8188eu/core/rtw_ap.c @@ -791,6 +791,7 @@ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _SSID_IE_, &ie_len, pbss_network->ie_length - _BEACON_IE_OFFSET_); if (p && ie_len > 0) { + ie_len = min_t(int, ie_len, sizeof(pbss_network->ssid.ssid)); memset(&pbss_network->ssid, 0, sizeof(struct ndis_802_11_ssid)); memcpy(pbss_network->ssid.ssid, p + 2, ie_len); pbss_network->ssid.ssid_length = ie_len; @@ -811,6 +812,7 @@ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _SUPPORTEDRATES_IE_, &ie_len, pbss_network->ie_length - _BEACON_IE_OFFSET_); if (p) { + ie_len = min_t(int, ie_len, NDIS_802_11_LENGTH_RATES_EX); memcpy(supportRate, p + 2, ie_len); supportRateNum = ie_len; } @@ -819,6 +821,8 @@ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _EXT_SUPPORTEDRATES_IE_, &ie_len, pbss_network->ie_length - _BEACON_IE_OFFSET_); if (p) { + ie_len = min_t(int, ie_len, + NDIS_802_11_LENGTH_RATES_EX - supportRateNum); memcpy(supportRate + supportRateNum, p + 2, ie_len); supportRateNum += ie_len; } @@ -934,6 +938,7 @@ pht_cap->mcs.rx_mask[0] = 0xff; pht_cap->mcs.rx_mask[1] = 0x0; + ie_len = min_t(int, ie_len, sizeof(pmlmepriv->htpriv.ht_cap)); memcpy(&pmlmepriv->htpriv.ht_cap, p + 2, ie_len); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8188eu/core/rtw_mlme.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8188eu/core/rtw_mlme.c @@ -1729,9 +1729,11 @@ if ((ndisauthmode == Ndis802_11AuthModeWPA) || (ndisauthmode == Ndis802_11AuthModeWPAPSK)) authmode = _WPA_IE_ID_; - if ((ndisauthmode == Ndis802_11AuthModeWPA2) || + else if ((ndisauthmode == Ndis802_11AuthModeWPA2) || (ndisauthmode == Ndis802_11AuthModeWPA2PSK)) authmode = _WPA2_IE_ID_; + else + authmode = 0x0; if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) { memcpy(out_ie + ielength, psecuritypriv->wps_ie, psecuritypriv->wps_ie_len); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c @@ -1144,9 +1144,11 @@ break; } sec_len = *(pos++); len -= 1; - if (sec_len > 0 && sec_len <= len) { + if (sec_len > 0 && + sec_len <= len && + sec_len <= 32) { ssid[ssid_index].ssid_length = sec_len; - memcpy(ssid[ssid_index].ssid, pos, ssid[ssid_index].ssid_length); + memcpy(ssid[ssid_index].ssid, pos, sec_len); ssid_index++; } pos += sec_len; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8188eu/os_dep/usb_intf.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8188eu/os_dep/usb_intf.c @@ -41,6 +41,7 @@ {USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */ {USB_DEVICE(0x2C4E, 0x0102)}, /* MERCUSYS MW150US v2 */ {USB_DEVICE(0x0df6, 0x0076)}, /* Sitecom N150 v2 */ + {USB_DEVICE(0x7392, 0xb811)}, /* Edimax EW-7811UN V2 */ {USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill RNX-N150NUB */ {} /* Terminating entry */ }; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192e/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192e/Kconfig @@ -25,6 +25,7 @@ config RTLLIB_CRYPTO_TKIP tristate "Support for rtllib TKIP crypto" depends on RTLLIB + select CRYPTO select CRYPTO_ARC4 select CRYPTO_MICHAEL_MIC default y --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192e/rtl8192e/rtl_wx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192e/rtl8192e/rtl_wx.c @@ -406,9 +406,10 @@ struct iw_scan_req *req = (struct iw_scan_req *)b; if (req->essid_len) { - ieee->current_network.ssid_len = req->essid_len; - memcpy(ieee->current_network.ssid, req->essid, - req->essid_len); + int len = min_t(int, req->essid_len, IW_ESSID_MAX_SIZE); + + ieee->current_network.ssid_len = len; + memcpy(ieee->current_network.ssid, req->essid, len); } } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192e/rtllib.h +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192e/rtllib.h @@ -1105,7 +1105,7 @@ bool bWithAironetIE; bool bCkipSupported; bool bCcxRmEnable; - u16 CcxRmState[2]; + u8 CcxRmState[2]; bool bMBssidValid; u8 MBssidMask; u8 MBssid[ETH_ALEN]; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192e/rtllib_rx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192e/rtllib_rx.c @@ -1968,7 +1968,7 @@ info_element->data[2] == 0x96 && info_element->data[3] == 0x01) { if (info_element->len == 6) { - memcpy(network->CcxRmState, &info_element[4], 2); + memcpy(network->CcxRmState, &info_element->data[4], 2); if (network->CcxRmState[0] != 0) network->bCcxRmEnable = true; else --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c @@ -597,7 +597,7 @@ prxbIndicateArray = kmalloc_array(REORDER_WIN_SIZE, sizeof(struct ieee80211_rxb *), - GFP_KERNEL); + GFP_ATOMIC); if (!prxbIndicateArray) return; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192u/r8192U_core.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192u/r8192U_core.c @@ -2374,7 +2374,7 @@ ret = eprom_read(dev, (EEPROM_TX_PW_INDEX_CCK >> 1)); if (ret < 0) return ret; - priv->EEPROMTxPowerLevelCCK = ((u16)ret & 0xff) >> 8; + priv->EEPROMTxPowerLevelCCK = ((u16)ret & 0xff00) >> 8; } else priv->EEPROMTxPowerLevelCCK = 0x10; RT_TRACE(COMP_EPROM, "CCK Tx Power Levl: 0x%02x\n", priv->EEPROMTxPowerLevelCCK); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8192u/r8192U_wx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8192u/r8192U_wx.c @@ -333,8 +333,10 @@ struct iw_scan_req *req = (struct iw_scan_req *)b; if (req->essid_len) { - ieee->current_network.ssid_len = req->essid_len; - memcpy(ieee->current_network.ssid, req->essid, req->essid_len); + int len = min_t(int, req->essid_len, IW_ESSID_MAX_SIZE); + + ieee->current_network.ssid_len = len; + memcpy(ieee->current_network.ssid, req->essid, len); } } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8712/hal_init.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8712/hal_init.c @@ -33,7 +33,6 @@ { struct _adapter *adapter = context; - complete(&adapter->rtl8712_fw_ready); if (!firmware) { struct usb_device *udev = adapter->dvobjpriv.pusbdev; struct usb_interface *usb_intf = adapter->pusb_intf; @@ -41,11 +40,13 @@ dev_err(&udev->dev, "r8712u: Firmware request failed\n"); usb_put_dev(udev); usb_set_intfdata(usb_intf, NULL); + complete(&adapter->rtl8712_fw_ready); return; } adapter->fw = firmware; /* firmware available - start netdev */ register_netdev(adapter->pnetdev); + complete(&adapter->rtl8712_fw_ready); } static const char firmware_file[] = "rtlwifi/rtl8712u.bin"; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8712/rtl871x_cmd.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8712/rtl871x_cmd.c @@ -197,8 +197,10 @@ psurveyPara->ss_ssidlen = 0; memset(psurveyPara->ss_ssid, 0, IW_ESSID_MAX_SIZE + 1); if ((pssid != NULL) && (pssid->SsidLength)) { - memcpy(psurveyPara->ss_ssid, pssid->Ssid, pssid->SsidLength); - psurveyPara->ss_ssidlen = cpu_to_le32(pssid->SsidLength); + int len = min_t(int, pssid->SsidLength, IW_ESSID_MAX_SIZE); + + memcpy(psurveyPara->ss_ssid, pssid->Ssid, len); + psurveyPara->ss_ssidlen = cpu_to_le32(len); } set_fwstate(pmlmepriv, _FW_UNDER_SURVEY); r8712_enqueue_cmd(pcmdpriv, ph2c); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8712/rtl871x_ioctl_linux.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8712/rtl871x_ioctl_linux.c @@ -928,7 +928,7 @@ struct iw_point *dwrq = (struct iw_point *)awrq; len = dwrq->length; - ext = memdup_user(dwrq->pointer, len); + ext = strndup_user(dwrq->pointer, len); if (IS_ERR(ext)) return PTR_ERR(ext); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8712/usb_intf.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8712/usb_intf.c @@ -595,13 +595,17 @@ if (pnetdev) { struct _adapter *padapter = netdev_priv(pnetdev); - usb_set_intfdata(pusb_intf, NULL); - release_firmware(padapter->fw); /* never exit with a firmware callback pending */ wait_for_completion(&padapter->rtl8712_fw_ready); + pnetdev = usb_get_intfdata(pusb_intf); + usb_set_intfdata(pusb_intf, NULL); + if (!pnetdev) + goto firmware_load_fail; + release_firmware(padapter->fw); if (drvpriv.drv_registered) padapter->surprise_removed = true; - unregister_netdev(pnetdev); /* will call netdev_close() */ + if (pnetdev->reg_state != NETREG_UNINITIALIZED) + unregister_netdev(pnetdev); /* will call netdev_close() */ flush_scheduled_work(); udelay(1); /* Stop driver mlme relation timer */ @@ -614,6 +618,7 @@ */ usb_put_dev(udev); } +firmware_load_fail: /* If we didn't unplug usb dongle and remove/insert module, driver * fails on sitesurvey for the first time when device is up. * Reset usb port for sitesurvey fail issue. --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -21,6 +21,7 @@ { SDIO_DEVICE(0x024c, 0x0525), }, { SDIO_DEVICE(0x024c, 0x0623), }, { SDIO_DEVICE(0x024c, 0x0626), }, + { SDIO_DEVICE(0x024c, 0x0627), }, { SDIO_DEVICE(0x024c, 0xb723), }, { /* end: all zeroes */ }, }; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rtl8723bs/os_dep/wifi_regd.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rtl8723bs/os_dep/wifi_regd.c @@ -34,7 +34,7 @@ NL80211_RRF_PASSIVE_SCAN) static const struct ieee80211_regdomain rtw_regdom_rd = { - .n_reg_rules = 3, + .n_reg_rules = 2, .alpha2 = "99", .reg_rules = { RTW_2GHZ_CH01_11, --- linux-riscv-5.8-5.8.0.orig/drivers/staging/rts5208/rtsx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/rts5208/rtsx.c @@ -972,6 +972,7 @@ kfree(dev->chip); chip_alloc_fail: dev_err(&pci->dev, "%s failed\n", __func__); + scsi_host_put(host); scsi_host_alloc_fail: pci_release_regions(pci); return err; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/signature-inclusion +++ linux-riscv-5.8-5.8.0/drivers/staging/signature-inclusion @@ -0,0 +1,20 @@ +# +# This file lists the staging drivers that are safe for signing +# and loading in a secure boot environment with signed module enforcement. +# +exfat.ko +rtl8192c-common.ko +rtl8192ce.ko +rtl8192cu.ko +rtl8192de.ko +rtl8192ee.ko +rtl8192se.ko +r8188eu.ko +r8192e_pci.ko +r8192u_usb.ko +r8712u.ko +r8822be.ko +rtllib_crypt_ccmp.ko +rtllib_crypt_tkip.ko +rtllib_crypt_wep.ko +rtllib.ko --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/main.c +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/main.c @@ -357,7 +357,6 @@ mark_cut_flag = 0; synth_printf("%s\n", spk_msg_get(MSG_CUT)); - speakup_clear_selection(); ret = speakup_set_selection(tty); switch (ret) { --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/selection.c +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/selection.c @@ -22,13 +22,6 @@ struct tty_struct *tty; }; -void speakup_clear_selection(void) -{ - console_lock(); - clear_selection(); - console_unlock(); -} - static void __speakup_set_selection(struct work_struct *work) { struct speakup_selection_work *ssw = @@ -51,6 +44,10 @@ goto unref; } + console_lock(); + clear_selection(); + console_unlock(); + set_selection_kernel(&sel, tty); unref: --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/speakup.h +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/speakup.h @@ -70,7 +70,6 @@ void speakup_start_ttys(void); void synth_buffer_add(u16 ch); void synth_buffer_clear(void); -void speakup_clear_selection(void); int speakup_set_selection(struct tty_struct *tty); void speakup_cancel_selection(void); int speakup_paste_selection(struct tty_struct *tty); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/speakup_dectlk.c +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/speakup_dectlk.c @@ -37,7 +37,7 @@ static int in_escape; static int is_flushing; -static spinlock_t flush_lock; +static DEFINE_SPINLOCK(flush_lock); static DECLARE_WAIT_QUEUE_HEAD(flush); static struct var_t vars[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/spk_ttyio.c +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/spk_ttyio.c @@ -47,9 +47,12 @@ { struct spk_ldisc_data *ldisc_data; + if (tty != speakup_tty) + /* Somebody tried to use this line discipline outside speakup */ + return -ENODEV; + if (!tty->ops->write) return -EOPNOTSUPP; - speakup_tty = tty; ldisc_data = kmalloc(sizeof(*ldisc_data), GFP_KERNEL); if (!ldisc_data) @@ -57,7 +60,7 @@ init_completion(&ldisc_data->completion); ldisc_data->buf_free = true; - speakup_tty->disc_data = ldisc_data; + tty->disc_data = ldisc_data; return 0; } @@ -179,9 +182,25 @@ tty_unlock(tty); + mutex_lock(&speakup_tty_mutex); + speakup_tty = tty; ret = tty_set_ldisc(tty, N_SPEAKUP); if (ret) - pr_err("speakup: Failed to set N_SPEAKUP on tty\n"); + speakup_tty = NULL; + mutex_unlock(&speakup_tty_mutex); + + if (!ret) + /* Success */ + return 0; + + pr_err("speakup: Failed to set N_SPEAKUP on tty\n"); + + tty_lock(tty); + if (tty->ops->close) + tty->ops->close(tty, NULL); + tty_unlock(tty); + + tty_kclose(tty); return ret; } @@ -291,11 +310,13 @@ struct spk_ldisc_data *ldisc_data = speakup_tty->disc_data; char rv; - if (wait_for_completion_timeout(&ldisc_data->completion, + if (!timeout) { + if (!try_wait_for_completion(&ldisc_data->completion)) + return 0xff; + } else if (wait_for_completion_timeout(&ldisc_data->completion, usecs_to_jiffies(timeout)) == 0) { - if (timeout) - pr_warn("spk_ttyio: timeout (%d) while waiting for input\n", - timeout); + pr_warn("spk_ttyio: timeout (%d) while waiting for input\n", + timeout); return 0xff; } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/speakup/spk_types.h +++ linux-riscv-5.8-5.8.0/drivers/staging/speakup/spk_types.h @@ -32,6 +32,10 @@ E_NEW_DEFAULT, }; +/* + * Note: add new members at the end, speakupmap.h depends on the values of the + * enum starting from SPELL_DELAY (see inc_dec_var) + */ enum var_id_t { VERSION = 0, SYNTH, SILENT, SYNTH_DIRECT, KEYMAP, CHARS, @@ -42,9 +46,9 @@ SAY_CONTROL, SAY_WORD_CTL, NO_INTERRUPT, KEY_ECHO, SPELL_DELAY, PUNC_LEVEL, READING_PUNC, ATTRIB_BLEEP, BLEEPS, - RATE, PITCH, INFLECTION, VOL, TONE, PUNCT, VOICE, FREQUENCY, LANG, + RATE, PITCH, VOL, TONE, PUNCT, VOICE, FREQUENCY, LANG, DIRECT, PAUSE, - CAPS_START, CAPS_STOP, CHARTAB, + CAPS_START, CAPS_STOP, CHARTAB, INFLECTION, MAXVARS }; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c +++ linux-riscv-5.8-5.8.0/drivers/staging/vc04_services/bcm2835-audio/bcm2835-ctl.c @@ -224,7 +224,7 @@ { int err; - strcpy(chip->card->mixername, "Broadcom Mixer"); + strscpy(chip->card->mixername, "Broadcom Mixer", sizeof(chip->card->mixername)); err = create_ctls(chip, ARRAY_SIZE(snd_bcm2835_ctl), snd_bcm2835_ctl); if (err < 0) return err; @@ -261,7 +261,7 @@ int snd_bcm2835_new_headphones_ctl(struct bcm2835_chip *chip) { - strcpy(chip->card->mixername, "Broadcom Mixer"); + strscpy(chip->card->mixername, "Broadcom Mixer", sizeof(chip->card->mixername)); return create_ctls(chip, ARRAY_SIZE(snd_bcm2835_headphones_ctl), snd_bcm2835_headphones_ctl); } @@ -295,7 +295,7 @@ int snd_bcm2835_new_hdmi_ctl(struct bcm2835_chip *chip) { - strcpy(chip->card->mixername, "Broadcom Mixer"); + strscpy(chip->card->mixername, "Broadcom Mixer", sizeof(chip->card->mixername)); return create_ctls(chip, ARRAY_SIZE(snd_bcm2835_hdmi), snd_bcm2835_hdmi); } --- linux-riscv-5.8-5.8.0.orig/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +++ linux-riscv-5.8-5.8.0/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c @@ -334,7 +334,7 @@ pcm->private_data = chip; pcm->nonatomic = true; - strcpy(pcm->name, name); + strscpy(pcm->name, name, sizeof(pcm->name)); if (!spdif) { chip->dest = route; chip->volume = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ linux-riscv-5.8-5.8.0/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c @@ -185,9 +185,9 @@ goto error; } - strcpy(card->driver, audio_driver->driver.name); - strcpy(card->shortname, audio_driver->shortname); - strcpy(card->longname, audio_driver->longname); + strscpy(card->driver, audio_driver->driver.name, sizeof(card->driver)); + strscpy(card->shortname, audio_driver->shortname, sizeof(card->shortname)); + strscpy(card->longname, audio_driver->longname, sizeof(card->longname)); err = audio_driver->newpcm(chip, audio_driver->shortname, audio_driver->route, --- linux-riscv-5.8-5.8.0.orig/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ linux-riscv-5.8-5.8.0/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -2805,6 +2805,7 @@ static int vchiq_remove(struct platform_device *pdev) { + platform_device_unregister(bcm2835_audio); platform_device_unregister(bcm2835_camera); vchiq_debugfs_deinit(); device_destroy(vchiq_class, vchiq_devid); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wfx/data_rx.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wfx/data_rx.c @@ -80,7 +80,7 @@ goto drop; if (arg->status == HIF_STATUS_RX_FAIL_MIC) - hdr->flag |= RX_FLAG_MMIC_ERROR; + hdr->flag |= RX_FLAG_MMIC_ERROR | RX_FLAG_IV_STRIPPED; else if (arg->status) goto drop; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wfx/sta.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wfx/sta.c @@ -773,17 +773,6 @@ return -EOPNOTSUPP; } - for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { - if (!wdev->vif[i]) { - wdev->vif[i] = vif; - wvif->id = i; - break; - } - } - if (i == ARRAY_SIZE(wdev->vif)) { - mutex_unlock(&wdev->conf_mutex); - return -EOPNOTSUPP; - } // FIXME: prefer use of container_of() to get vif wvif->vif = vif; wvif->wdev = wdev; @@ -801,11 +790,21 @@ init_completion(&wvif->scan_complete); INIT_WORK(&wvif->scan_work, wfx_hw_scan_work); - mutex_unlock(&wdev->conf_mutex); + wfx_tx_policy_init(wvif); + + for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { + if (!wdev->vif[i]) { + wdev->vif[i] = vif; + wvif->id = i; + break; + } + } + WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported"); hif_set_macaddr(wvif, vif->addr); - wfx_tx_policy_init(wvif); + mutex_unlock(&wdev->conf_mutex); + wvif = NULL; while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { // Combo mode does not support Block Acks. We can re-enable them @@ -836,6 +835,7 @@ wvif->vif = NULL; mutex_unlock(&wdev->conf_mutex); + wvif = NULL; while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { // Combo mode does not support Block Acks. We can re-enable them --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wilc1000/mon.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wilc1000/mon.c @@ -236,11 +236,10 @@ if (register_netdevice(wl->monitor_dev)) { netdev_err(real_dev, "register_netdevice failed\n"); + free_netdev(wl->monitor_dev); return NULL; } priv = netdev_priv(wl->monitor_dev); - if (!priv) - return NULL; priv->real_ndev = real_dev; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wilc1000/sdio.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wilc1000/sdio.c @@ -151,9 +151,10 @@ wilc->dev = &func->dev; wilc->rtc_clk = devm_clk_get(&func->card->dev, "rtc"); - if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) + if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) { + kfree(sdio_priv); return -EPROBE_DEFER; - else if (!IS_ERR(wilc->rtc_clk)) + } else if (!IS_ERR(wilc->rtc_clk)) clk_prepare_enable(wilc->rtc_clk); dev_info(&func->dev, "Driver Initializing success\n"); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wilc1000/spi.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wilc1000/spi.c @@ -112,9 +112,10 @@ wilc->dev_irq_num = spi->irq; wilc->rtc_clk = devm_clk_get(&spi->dev, "rtc_clk"); - if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) + if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) { + kfree(spi_priv); return -EPROBE_DEFER; - else if (!IS_ERR(wilc->rtc_clk)) + } else if (!IS_ERR(wilc->rtc_clk)) clk_prepare_enable(wilc->rtc_clk); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wlan-ng/hfa384x_usb.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wlan-ng/hfa384x_usb.c @@ -524,13 +524,8 @@ */ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb) { - memset(hw, 0, sizeof(*hw)); hw->usb = usb; - /* set up the endpoints */ - hw->endp_in = usb_rcvbulkpipe(usb, 1); - hw->endp_out = usb_sndbulkpipe(usb, 2); - /* Set up the waitq */ init_waitqueue_head(&hw->cmdq); --- linux-riscv-5.8-5.8.0.orig/drivers/staging/wlan-ng/prism2usb.c +++ linux-riscv-5.8-5.8.0/drivers/staging/wlan-ng/prism2usb.c @@ -61,23 +61,14 @@ const struct usb_device_id *id) { struct usb_device *dev; - const struct usb_endpoint_descriptor *epd; - const struct usb_host_interface *iface_desc = interface->cur_altsetting; + struct usb_endpoint_descriptor *bulk_in, *bulk_out; + struct usb_host_interface *iface_desc = interface->cur_altsetting; struct wlandevice *wlandev = NULL; struct hfa384x *hw = NULL; int result = 0; - if (iface_desc->desc.bNumEndpoints != 2) { - result = -ENODEV; - goto failed; - } - - result = -EINVAL; - epd = &iface_desc->endpoint[1].desc; - if (!usb_endpoint_is_bulk_in(epd)) - goto failed; - epd = &iface_desc->endpoint[2].desc; - if (!usb_endpoint_is_bulk_out(epd)) + result = usb_find_common_endpoints(iface_desc, &bulk_in, &bulk_out, NULL, NULL); + if (result) goto failed; dev = interface_to_usbdev(interface); @@ -96,6 +87,8 @@ } /* Initialize the hw data */ + hw->endp_in = usb_rcvbulkpipe(dev, bulk_in->bEndpointAddress); + hw->endp_out = usb_sndbulkpipe(dev, bulk_out->bEndpointAddress); hfa384x_create(hw, dev); hw->wlandev = wlandev; --- linux-riscv-5.8-5.8.0.orig/drivers/target/iscsi/cxgbit/cxgbit_target.c +++ linux-riscv-5.8-5.8.0/drivers/target/iscsi/cxgbit/cxgbit_target.c @@ -86,8 +86,7 @@ if (likely(cxgbit_skcb_flags(skb) & SKCBF_TX_ISO)) length += sizeof(struct cpl_tx_data_iso); -#define MAX_IMM_TX_PKT_LEN 256 - return length <= MAX_IMM_TX_PKT_LEN; + return length <= MAX_IMM_OFLD_TX_DATA_WR_LEN; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/target/iscsi/iscsi_target.c +++ linux-riscv-5.8-5.8.0/drivers/target/iscsi/iscsi_target.c @@ -483,8 +483,7 @@ void iscsit_aborted_task(struct iscsi_conn *conn, struct iscsi_cmd *cmd) { spin_lock_bh(&conn->cmd_lock); - if (!list_empty(&cmd->i_conn_node) && - !(cmd->se_cmd.transport_state & CMD_T_FABRIC_STOP)) + if (!list_empty(&cmd->i_conn_node)) list_del_init(&cmd->i_conn_node); spin_unlock_bh(&conn->cmd_lock); @@ -1167,6 +1166,7 @@ target_get_sess_cmd(&cmd->se_cmd, true); + cmd->se_cmd.tag = (__force u32)cmd->init_task_tag; cmd->sense_reason = target_cmd_init_cdb(&cmd->se_cmd, hdr->cdb); if (cmd->sense_reason) { if (cmd->sense_reason == TCM_OUT_OF_RESOURCES) { @@ -1181,8 +1181,6 @@ if (cmd->sense_reason) goto attach_cmd; - /* only used for printks or comparing with ->ref_task_tag */ - cmd->se_cmd.tag = (__force u32)cmd->init_task_tag; cmd->sense_reason = target_cmd_parse_cdb(&cmd->se_cmd); if (cmd->sense_reason) goto attach_cmd; @@ -1389,14 +1387,27 @@ sg = cmd->first_data_sg; page_off = cmd->first_data_sg_off; + if (data_length && page_off) { + struct scatterlist first_sg; + u32 len = min_t(u32, data_length, sg->length - page_off); + + sg_init_table(&first_sg, 1); + sg_set_page(&first_sg, sg_page(sg), len, sg->offset + page_off); + + ahash_request_set_crypt(hash, &first_sg, NULL, len); + crypto_ahash_update(hash); + + data_length -= len; + sg = sg_next(sg); + } + while (data_length) { - u32 cur_len = min_t(u32, data_length, (sg->length - page_off)); + u32 cur_len = min_t(u32, data_length, sg->length); ahash_request_set_crypt(hash, sg, NULL, cur_len); crypto_ahash_update(hash); data_length -= cur_len; - page_off = 0; /* iscsit_map_iovec has already checked for invalid sg pointers */ sg = sg_next(sg); } @@ -4070,12 +4081,22 @@ spin_lock_bh(&conn->cmd_lock); list_splice_init(&conn->conn_cmd_list, &tmp_list); - list_for_each_entry(cmd, &tmp_list, i_conn_node) { + list_for_each_entry_safe(cmd, cmd_tmp, &tmp_list, i_conn_node) { struct se_cmd *se_cmd = &cmd->se_cmd; if (se_cmd->se_tfo != NULL) { spin_lock_irq(&se_cmd->t_state_lock); - se_cmd->transport_state |= CMD_T_FABRIC_STOP; + if (se_cmd->transport_state & CMD_T_ABORTED) { + /* + * LIO's abort path owns the cleanup for this, + * so put it back on the list and let + * aborted_task handle it. + */ + list_move_tail(&cmd->i_conn_node, + &conn->conn_cmd_list); + } else { + se_cmd->transport_state |= CMD_T_FABRIC_STOP; + } spin_unlock_irq(&se_cmd->t_state_lock); } } --- linux-riscv-5.8-5.8.0.orig/drivers/target/iscsi/iscsi_target_login.c +++ linux-riscv-5.8-5.8.0/drivers/target/iscsi/iscsi_target_login.c @@ -1149,7 +1149,7 @@ } void iscsi_target_login_sess_out(struct iscsi_conn *conn, - struct iscsi_np *np, bool zero_tsih, bool new_sess) + bool zero_tsih, bool new_sess) { if (!new_sess) goto old_sess_out; @@ -1167,7 +1167,6 @@ conn->sess = NULL; old_sess_out: - iscsi_stop_login_thread_timer(np); /* * If login negotiation fails check if the Time2Retain timer * needs to be restarted. @@ -1407,8 +1406,9 @@ new_sess_out: new_sess = true; old_sess_out: + iscsi_stop_login_thread_timer(np); tpg_np = conn->tpg_np; - iscsi_target_login_sess_out(conn, np, zero_tsih, new_sess); + iscsi_target_login_sess_out(conn, zero_tsih, new_sess); new_sess = false; if (tpg) { --- linux-riscv-5.8-5.8.0.orig/drivers/target/iscsi/iscsi_target_login.h +++ linux-riscv-5.8-5.8.0/drivers/target/iscsi/iscsi_target_login.h @@ -22,8 +22,7 @@ extern void iscsit_free_conn(struct iscsi_conn *); extern int iscsit_start_kthreads(struct iscsi_conn *); extern void iscsi_post_login_handler(struct iscsi_np *, struct iscsi_conn *, u8); -extern void iscsi_target_login_sess_out(struct iscsi_conn *, struct iscsi_np *, - bool, bool); +extern void iscsi_target_login_sess_out(struct iscsi_conn *, bool, bool); extern int iscsi_target_login_thread(void *); extern void iscsi_handle_login_thread_timeout(struct timer_list *t); --- linux-riscv-5.8-5.8.0.orig/drivers/target/iscsi/iscsi_target_nego.c +++ linux-riscv-5.8-5.8.0/drivers/target/iscsi/iscsi_target_nego.c @@ -535,12 +535,11 @@ static void iscsi_target_login_drop(struct iscsi_conn *conn, struct iscsi_login *login) { - struct iscsi_np *np = login->np; bool zero_tsih = login->zero_tsih; iscsi_remove_failed_auth_entry(conn); iscsi_target_nego_release(conn); - iscsi_target_login_sess_out(conn, np, zero_tsih, true); + iscsi_target_login_sess_out(conn, zero_tsih, true); } struct conn_timeout { --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_internal.h +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_internal.h @@ -138,6 +138,7 @@ void release_se_kmem_caches(void); u32 scsi_get_new_index(scsi_index_t); void transport_subsystem_check_init(void); +void transport_uninit_session(struct se_session *); unsigned char *transport_dump_cmd_direction(struct se_cmd *); void transport_dump_dev_state(struct se_device *, char *, int *); void transport_dump_dev_info(struct se_device *, struct se_lun *, --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_pr.c +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_pr.c @@ -3731,6 +3731,7 @@ spin_unlock(&dev->t10_pr.registration_lock); put_unaligned_be32(add_len, &buf[4]); + target_set_cmd_data_length(cmd, 8 + add_len); transport_kunmap_data_sg(cmd); @@ -3749,7 +3750,7 @@ struct t10_pr_registration *pr_reg; unsigned char *buf; u64 pr_res_key; - u32 add_len = 16; /* Hardcoded to 16 when a reservation is held. */ + u32 add_len = 0; if (cmd->data_length < 8) { pr_err("PRIN SA READ_RESERVATIONS SCSI Data Length: %u" @@ -3767,8 +3768,9 @@ pr_reg = dev->dev_pr_res_holder; if (pr_reg) { /* - * Set the hardcoded Additional Length + * Set the Additional Length to 16 when a reservation is held */ + add_len = 16; put_unaligned_be32(add_len, &buf[4]); if (cmd->data_length < 22) @@ -3804,6 +3806,8 @@ (pr_reg->pr_res_type & 0x0f); } + target_set_cmd_data_length(cmd, 8 + add_len); + err: spin_unlock(&dev->dev_reservation_lock); transport_kunmap_data_sg(cmd); @@ -3822,7 +3826,7 @@ struct se_device *dev = cmd->se_dev; struct t10_reservation *pr_tmpl = &dev->t10_pr; unsigned char *buf; - u16 add_len = 8; /* Hardcoded to 8. */ + u16 len = 8; /* Hardcoded to 8. */ if (cmd->data_length < 6) { pr_err("PRIN SA REPORT_CAPABILITIES SCSI Data Length:" @@ -3834,7 +3838,7 @@ if (!buf) return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; - put_unaligned_be16(add_len, &buf[0]); + put_unaligned_be16(len, &buf[0]); buf[2] |= 0x10; /* CRH: Compatible Reservation Hanlding bit. */ buf[2] |= 0x08; /* SIP_C: Specify Initiator Ports Capable bit */ buf[2] |= 0x04; /* ATP_C: All Target Ports Capable bit */ @@ -3863,6 +3867,8 @@ buf[4] |= 0x02; /* PR_TYPE_WRITE_EXCLUSIVE */ buf[5] |= 0x01; /* PR_TYPE_EXCLUSIVE_ACCESS_ALLREG */ + target_set_cmd_data_length(cmd, len); + transport_kunmap_data_sg(cmd); return 0; @@ -4023,6 +4029,7 @@ * Set ADDITIONAL_LENGTH */ put_unaligned_be32(add_len, &buf[4]); + target_set_cmd_data_length(cmd, 8 + add_len); transport_kunmap_data_sg(cmd); --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_pscsi.c +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_pscsi.c @@ -939,6 +939,14 @@ return 0; fail: + if (bio) + bio_put(bio); + while (req->bio) { + bio = req->bio; + req->bio = bio->bi_next; + bio_put(bio); + } + req->biotail = NULL; return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; } --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_transport.c +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_transport.c @@ -236,6 +236,11 @@ } EXPORT_SYMBOL(transport_init_session); +void transport_uninit_session(struct se_session *se_sess) +{ + percpu_ref_exit(&se_sess->cmd_count); +} + /** * transport_alloc_session - allocate a session object and initialize it * @sup_prot_ops: bitmask that defines which T10-PI modes are supported. @@ -579,7 +584,7 @@ sbitmap_queue_free(&se_sess->sess_tag_pool); kvfree(se_sess->sess_cmd_map); } - percpu_ref_exit(&se_sess->cmd_count); + transport_uninit_session(se_sess); kmem_cache_free(se_sess_cache, se_sess); } EXPORT_SYMBOL(transport_free_session); @@ -868,11 +873,9 @@ } EXPORT_SYMBOL(target_complete_cmd); -void target_complete_cmd_with_length(struct se_cmd *cmd, u8 scsi_status, int length) +void target_set_cmd_data_length(struct se_cmd *cmd, int length) { - if ((scsi_status == SAM_STAT_GOOD || - cmd->se_cmd_flags & SCF_TREAT_READ_AS_NORMAL) && - length < cmd->data_length) { + if (length < cmd->data_length) { if (cmd->se_cmd_flags & SCF_UNDERFLOW_BIT) { cmd->residual_count += cmd->data_length - length; } else { @@ -882,6 +885,15 @@ cmd->data_length = length; } +} +EXPORT_SYMBOL(target_set_cmd_data_length); + +void target_complete_cmd_with_length(struct se_cmd *cmd, u8 scsi_status, int length) +{ + if (scsi_status == SAM_STAT_GOOD || + cmd->se_cmd_flags & SCF_TREAT_READ_AS_NORMAL) { + target_set_cmd_data_length(cmd, length); + } target_complete_cmd(cmd, scsi_status); } @@ -1835,7 +1847,8 @@ * out unpacked_lun for the original se_cmd. */ if (tm_type == TMR_ABORT_TASK && (flags & TARGET_SCF_LOOKUP_LUN_FROM_TAG)) { - if (!target_lookup_lun_from_tag(se_sess, tag, &unpacked_lun)) + if (!target_lookup_lun_from_tag(se_sess, tag, + &se_cmd->orig_fe_lun)) goto failure; } --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_user.c +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_user.c @@ -601,7 +601,7 @@ size = round_up(size+offset, PAGE_SIZE); while (size) { - flush_dcache_page(virt_to_page(start)); + flush_dcache_page(vmalloc_to_page(start)); start += PAGE_SIZE; size -= PAGE_SIZE; } @@ -669,15 +669,17 @@ void *from, *to = NULL; size_t copy_bytes, to_offset, offset; struct scatterlist *sg; - struct page *page; + struct page *page = NULL; for_each_sg(data_sg, sg, data_nents, i) { int sg_remaining = sg->length; from = kmap_atomic(sg_page(sg)) + sg->offset; while (sg_remaining > 0) { if (block_remaining == 0) { - if (to) + if (to) { + flush_dcache_page(page); kunmap_atomic(to); + } block_remaining = DATA_BLOCK_SIZE; dbi = tcmu_cmd_get_dbi(tcmu_cmd); @@ -722,7 +724,6 @@ memcpy(to + offset, from + sg->length - sg_remaining, copy_bytes); - tcmu_flush_dcache_range(to, copy_bytes); } sg_remaining -= copy_bytes; @@ -731,8 +732,10 @@ kunmap_atomic(from - sg->offset); } - if (to) + if (to) { + flush_dcache_page(page); kunmap_atomic(to); + } } static void gather_data_area(struct tcmu_dev *udev, struct tcmu_cmd *cmd, @@ -778,13 +781,13 @@ dbi = tcmu_cmd_get_dbi(cmd); page = tcmu_get_block_page(udev, dbi); from = kmap_atomic(page); + flush_dcache_page(page); } copy_bytes = min_t(size_t, sg_remaining, block_remaining); if (read_len < copy_bytes) copy_bytes = read_len; offset = DATA_BLOCK_SIZE - block_remaining; - tcmu_flush_dcache_range(from, copy_bytes); memcpy(to + sg->length - sg_remaining, from + offset, copy_bytes); @@ -1220,7 +1223,14 @@ struct tcmu_cmd_entry *entry = (void *) mb + CMDR_OFF + udev->cmdr_last_cleaned; - tcmu_flush_dcache_range(entry, sizeof(*entry)); + /* + * Flush max. up to end of cmd ring since current entry might + * be a padding that is shorter than sizeof(*entry) + */ + size_t ring_left = head_to_end(udev->cmdr_last_cleaned, + udev->cmdr_size); + tcmu_flush_dcache_range(entry, ring_left < sizeof(*entry) ? + ring_left : sizeof(*entry)); if (tcmu_hdr_get_op(entry->hdr.len_op) == TCMU_OP_PAD) { UPDATE_HEAD(udev->cmdr_last_cleaned, --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_xcopy.c +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_xcopy.c @@ -46,60 +46,83 @@ return 0; } -struct xcopy_dev_search_info { - const unsigned char *dev_wwn; - struct se_device *found_dev; -}; - +/** + * target_xcopy_locate_se_dev_e4_iter - compare XCOPY NAA device identifiers + * + * @se_dev: device being considered for match + * @dev_wwn: XCOPY requested NAA dev_wwn + * @return: 1 on match, 0 on no-match + */ static int target_xcopy_locate_se_dev_e4_iter(struct se_device *se_dev, - void *data) + const unsigned char *dev_wwn) { - struct xcopy_dev_search_info *info = data; unsigned char tmp_dev_wwn[XCOPY_NAA_IEEE_REGEX_LEN]; int rc; - if (!se_dev->dev_attrib.emulate_3pc) + if (!se_dev->dev_attrib.emulate_3pc) { + pr_debug("XCOPY: emulate_3pc disabled on se_dev %p\n", se_dev); return 0; + } memset(&tmp_dev_wwn[0], 0, XCOPY_NAA_IEEE_REGEX_LEN); target_xcopy_gen_naa_ieee(se_dev, &tmp_dev_wwn[0]); - rc = memcmp(&tmp_dev_wwn[0], info->dev_wwn, XCOPY_NAA_IEEE_REGEX_LEN); - if (rc != 0) - return 0; - - info->found_dev = se_dev; - pr_debug("XCOPY 0xe4: located se_dev: %p\n", se_dev); - - rc = target_depend_item(&se_dev->dev_group.cg_item); + rc = memcmp(&tmp_dev_wwn[0], dev_wwn, XCOPY_NAA_IEEE_REGEX_LEN); if (rc != 0) { - pr_err("configfs_depend_item attempt failed: %d for se_dev: %p\n", - rc, se_dev); - return rc; + pr_debug("XCOPY: skip non-matching: %*ph\n", + XCOPY_NAA_IEEE_REGEX_LEN, tmp_dev_wwn); + return 0; } + pr_debug("XCOPY 0xe4: located se_dev: %p\n", se_dev); - pr_debug("Called configfs_depend_item for se_dev: %p se_dev->se_dev_group: %p\n", - se_dev, &se_dev->dev_group); return 1; } -static int target_xcopy_locate_se_dev_e4(const unsigned char *dev_wwn, - struct se_device **found_dev) -{ - struct xcopy_dev_search_info info; - int ret; - - memset(&info, 0, sizeof(info)); - info.dev_wwn = dev_wwn; - - ret = target_for_each_device(target_xcopy_locate_se_dev_e4_iter, &info); - if (ret == 1) { - *found_dev = info.found_dev; - return 0; - } else { - pr_debug_ratelimited("Unable to locate 0xe4 descriptor for EXTENDED_COPY\n"); - return -EINVAL; +static int target_xcopy_locate_se_dev_e4(struct se_session *sess, + const unsigned char *dev_wwn, + struct se_device **_found_dev, + struct percpu_ref **_found_lun_ref) +{ + struct se_dev_entry *deve; + struct se_node_acl *nacl; + struct se_lun *this_lun = NULL; + struct se_device *found_dev = NULL; + + /* cmd with NULL sess indicates no associated $FABRIC_MOD */ + if (!sess) + goto err_out; + + pr_debug("XCOPY 0xe4: searching for: %*ph\n", + XCOPY_NAA_IEEE_REGEX_LEN, dev_wwn); + + nacl = sess->se_node_acl; + rcu_read_lock(); + hlist_for_each_entry_rcu(deve, &nacl->lun_entry_hlist, link) { + struct se_device *this_dev; + int rc; + + this_lun = rcu_dereference(deve->se_lun); + this_dev = rcu_dereference_raw(this_lun->lun_se_dev); + + rc = target_xcopy_locate_se_dev_e4_iter(this_dev, dev_wwn); + if (rc) { + if (percpu_ref_tryget_live(&this_lun->lun_ref)) + found_dev = this_dev; + break; + } } + rcu_read_unlock(); + if (found_dev == NULL) + goto err_out; + + pr_debug("lun_ref held for se_dev: %p se_dev->se_dev_group: %p\n", + found_dev, &found_dev->dev_group); + *_found_dev = found_dev; + *_found_lun_ref = &this_lun->lun_ref; + return 0; +err_out: + pr_debug_ratelimited("Unable to locate 0xe4 descriptor for EXTENDED_COPY\n"); + return -EINVAL; } static int target_xcopy_parse_tiddesc_e4(struct se_cmd *se_cmd, struct xcopy_op *xop, @@ -246,12 +269,16 @@ switch (xop->op_origin) { case XCOL_SOURCE_RECV_OP: - rc = target_xcopy_locate_se_dev_e4(xop->dst_tid_wwn, - &xop->dst_dev); + rc = target_xcopy_locate_se_dev_e4(se_cmd->se_sess, + xop->dst_tid_wwn, + &xop->dst_dev, + &xop->remote_lun_ref); break; case XCOL_DEST_RECV_OP: - rc = target_xcopy_locate_se_dev_e4(xop->src_tid_wwn, - &xop->src_dev); + rc = target_xcopy_locate_se_dev_e4(se_cmd->se_sess, + xop->src_tid_wwn, + &xop->src_dev, + &xop->remote_lun_ref); break; default: pr_err("XCOPY CSCD descriptor IDs not found in CSCD list - " @@ -391,18 +418,12 @@ static void xcopy_pt_undepend_remotedev(struct xcopy_op *xop) { - struct se_device *remote_dev; - if (xop->op_origin == XCOL_SOURCE_RECV_OP) - remote_dev = xop->dst_dev; + pr_debug("putting dst lun_ref for %p\n", xop->dst_dev); else - remote_dev = xop->src_dev; - - pr_debug("Calling configfs_undepend_item for" - " remote_dev: %p remote_dev->dev_group: %p\n", - remote_dev, &remote_dev->dev_group.cg_item); + pr_debug("putting src lun_ref for %p\n", xop->src_dev); - target_undepend_item(&remote_dev->dev_group.cg_item); + percpu_ref_put(xop->remote_lun_ref); } static void xcopy_pt_release_cmd(struct se_cmd *se_cmd) @@ -474,7 +495,7 @@ memset(&xcopy_pt_sess, 0, sizeof(struct se_session)); ret = transport_init_session(&xcopy_pt_sess); if (ret < 0) - return ret; + goto destroy_wq; xcopy_pt_nacl.se_tpg = &xcopy_pt_tpg; xcopy_pt_nacl.nacl_sess = &xcopy_pt_sess; @@ -483,12 +504,19 @@ xcopy_pt_sess.se_node_acl = &xcopy_pt_nacl; return 0; + +destroy_wq: + destroy_workqueue(xcopy_wq); + xcopy_wq = NULL; + return ret; } void target_xcopy_release_pt(void) { - if (xcopy_wq) + if (xcopy_wq) { destroy_workqueue(xcopy_wq); + transport_uninit_session(&xcopy_pt_sess); + } } /* --- linux-riscv-5.8-5.8.0.orig/drivers/target/target_core_xcopy.h +++ linux-riscv-5.8-5.8.0/drivers/target/target_core_xcopy.h @@ -27,6 +27,7 @@ struct se_device *dst_dev; unsigned char dst_tid_wwn[XCOPY_NAA_IEEE_REGEX_LEN]; unsigned char local_dev_wwn[XCOPY_NAA_IEEE_REGEX_LEN]; + struct percpu_ref *remote_lun_ref; sector_t src_lba; sector_t dst_lba; --- linux-riscv-5.8-5.8.0.orig/drivers/tee/amdtee/amdtee_private.h +++ linux-riscv-5.8-5.8.0/drivers/tee/amdtee/amdtee_private.h @@ -64,9 +64,13 @@ /** * struct amdtee_context_data - AMD-TEE driver context data * @sess_list: Keeps track of sessions opened in current TEE context + * @shm_list: Keeps track of buffers allocated and mapped in current TEE + * context */ struct amdtee_context_data { struct list_head sess_list; + struct list_head shm_list; + struct mutex shm_mutex; /* synchronizes access to @shm_list */ }; struct amdtee_driver_data { @@ -89,10 +93,6 @@ u32 buf_id; }; -struct amdtee_shm_context { - struct list_head shmdata_list; -}; - #define LOWER_TWO_BYTE_MASK 0x0000FFFF /** --- linux-riscv-5.8-5.8.0.orig/drivers/tee/amdtee/core.c +++ linux-riscv-5.8-5.8.0/drivers/tee/amdtee/core.c @@ -20,7 +20,6 @@ static struct amdtee_driver_data *drv_data; static DEFINE_MUTEX(session_list_mutex); -static struct amdtee_shm_context shmctx; static void amdtee_get_version(struct tee_device *teedev, struct tee_ioctl_version_data *vers) @@ -42,7 +41,8 @@ return -ENOMEM; INIT_LIST_HEAD(&ctxdata->sess_list); - INIT_LIST_HEAD(&shmctx.shmdata_list); + INIT_LIST_HEAD(&ctxdata->shm_list); + mutex_init(&ctxdata->shm_mutex); ctx->data = ctxdata; return 0; @@ -86,6 +86,7 @@ list_del(&sess->list_node); release_session(sess); } + mutex_destroy(&ctxdata->shm_mutex); kfree(ctxdata); ctx->data = NULL; @@ -152,14 +153,17 @@ u32 get_buffer_id(struct tee_shm *shm) { - u32 buf_id = 0; + struct amdtee_context_data *ctxdata = shm->ctx->data; struct amdtee_shm_data *shmdata; + u32 buf_id = 0; - list_for_each_entry(shmdata, &shmctx.shmdata_list, shm_node) + mutex_lock(&ctxdata->shm_mutex); + list_for_each_entry(shmdata, &ctxdata->shm_list, shm_node) if (shmdata->kaddr == shm->kaddr) { buf_id = shmdata->buf_id; break; } + mutex_unlock(&ctxdata->shm_mutex); return buf_id; } @@ -333,8 +337,9 @@ int amdtee_map_shmem(struct tee_shm *shm) { - struct shmem_desc shmem; + struct amdtee_context_data *ctxdata; struct amdtee_shm_data *shmnode; + struct shmem_desc shmem; int rc, count; u32 buf_id; @@ -362,7 +367,10 @@ shmnode->kaddr = shm->kaddr; shmnode->buf_id = buf_id; - list_add(&shmnode->shm_node, &shmctx.shmdata_list); + ctxdata = shm->ctx->data; + mutex_lock(&ctxdata->shm_mutex); + list_add(&shmnode->shm_node, &ctxdata->shm_list); + mutex_unlock(&ctxdata->shm_mutex); pr_debug("buf_id :[%x] kaddr[%p]\n", shmnode->buf_id, shmnode->kaddr); @@ -371,6 +379,7 @@ void amdtee_unmap_shmem(struct tee_shm *shm) { + struct amdtee_context_data *ctxdata; struct amdtee_shm_data *shmnode; u32 buf_id; @@ -381,12 +390,15 @@ /* Unmap the shared memory from TEE */ handle_unmap_shmem(buf_id); - list_for_each_entry(shmnode, &shmctx.shmdata_list, shm_node) + ctxdata = shm->ctx->data; + mutex_lock(&ctxdata->shm_mutex); + list_for_each_entry(shmnode, &ctxdata->shm_list, shm_node) if (buf_id == shmnode->buf_id) { list_del(&shmnode->shm_node); kfree(shmnode); break; } + mutex_unlock(&ctxdata->shm_mutex); } int amdtee_invoke_func(struct tee_context *ctx, --- linux-riscv-5.8-5.8.0.orig/drivers/tee/optee/call.c +++ linux-riscv-5.8-5.8.0/drivers/tee/optee/call.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -148,7 +149,8 @@ */ optee_cq_wait_for_completion(&optee->call_queue, &w); } else if (OPTEE_SMC_RETURN_IS_RPC(res.a0)) { - might_sleep(); + if (need_resched()) + cond_resched(); param.a0 = res.a0; param.a1 = res.a1; param.a2 = res.a2; @@ -534,7 +536,8 @@ static bool is_normal_memory(pgprot_t p) { #if defined(CONFIG_ARM) - return (pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEALLOC; + return (((pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEALLOC) || + ((pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEBACK)); #elif defined(CONFIG_ARM64) return (pgprot_val(p) & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL); #else --- linux-riscv-5.8-5.8.0.orig/drivers/tee/tee_core.c +++ linux-riscv-5.8-5.8.0/drivers/tee/tee_core.c @@ -200,7 +200,8 @@ int name_len; int rc; - if (connection_method == TEE_IOCTL_LOGIN_PUBLIC) { + if (connection_method == TEE_IOCTL_LOGIN_PUBLIC || + connection_method == TEE_IOCTL_LOGIN_REE_KERNEL) { /* Nil UUID to be passed to TEE environment */ uuid_copy(uuid, &uuid_null); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/cpufreq_cooling.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/cpufreq_cooling.c @@ -444,13 +444,11 @@ if (cpufreq_cdev->cpufreq_state == state) return 0; - cpufreq_cdev->cpufreq_state = state; - frequency = get_state_freq(cpufreq_cdev, state); ret = freq_qos_update_request(&cpufreq_cdev->qos_req, frequency); - - if (ret > 0) { + if (ret >= 0) { + cpufreq_cdev->cpufreq_state = state; cpus = cpufreq_cdev->policy->cpus; max_capacity = arch_scale_cpu_capacity(cpumask_first(cpus)); capacity = frequency * max_capacity; --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c @@ -146,12 +146,18 @@ return 0; } +static void int340x_thermal_critical(struct thermal_zone_device *zone) +{ + dev_dbg(&zone->device, "%s: critical temperature reached\n", zone->type); +} + static struct thermal_zone_device_ops int340x_thermal_zone_ops = { .get_temp = int340x_thermal_get_zone_temp, .get_trip_temp = int340x_thermal_get_trip_temp, .get_trip_type = int340x_thermal_get_trip_type, .set_trip_temp = int340x_thermal_set_trip_temp, .get_trip_hyst = int340x_thermal_get_trip_hyst, + .critical = int340x_thermal_critical, }; static int int340x_thermal_get_trip_config(acpi_handle handle, char *name, --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/intel/int340x_thermal/processor_thermal_device.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/intel/int340x_thermal/processor_thermal_device.c @@ -43,7 +43,7 @@ #define PCI_DEVICE_ID_PROC_ICL_THERMAL 0x8a03 /* JasperLake thermal reporting device */ -#define PCI_DEVICE_ID_PROC_JSL_THERMAL 0x4503 +#define PCI_DEVICE_ID_PROC_JSL_THERMAL 0x4E03 /* TigerLake thermal reporting device */ #define PCI_DEVICE_ID_PROC_TGL_THERMAL 0x9A03 --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/intel/intel_pch_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/intel/intel_pch_thermal.c @@ -263,10 +263,16 @@ return 0; } +static void pch_critical(struct thermal_zone_device *tzd) +{ + dev_dbg(&tzd->device, "%s: critical temperature reached\n", tzd->type); +} + static struct thermal_zone_device_ops tzd_ops = { .get_temp = pch_thermal_get_temp, .get_trip_type = pch_get_trip_type, .get_trip_temp = pch_get_trip_temp, + .critical = pch_critical, }; enum board_ids { --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/qcom/qcom-spmi-temp-alarm.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/qcom/qcom-spmi-temp-alarm.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2011-2015, 2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2015, 2017, 2020, The Linux Foundation. All rights reserved. */ #include @@ -191,7 +191,7 @@ chip->temp = mili_celsius; } - *temp = chip->temp < 0 ? 0 : chip->temp; + *temp = chip->temp; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/rcar_thermal.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/rcar_thermal.c @@ -323,24 +323,6 @@ return 0; } -static int rcar_thermal_notify(struct thermal_zone_device *zone, - int trip, enum thermal_trip_type type) -{ - struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone); - struct device *dev = rcar_priv_to_dev(priv); - - switch (type) { - case THERMAL_TRIP_CRITICAL: - /* FIXME */ - dev_warn(dev, "Thermal reached to critical temperature\n"); - break; - default: - break; - } - - return 0; -} - static const struct thermal_zone_of_device_ops rcar_thermal_zone_of_ops = { .get_temp = rcar_thermal_of_get_temp, }; @@ -349,7 +331,6 @@ .get_temp = rcar_thermal_get_temp, .get_trip_type = rcar_thermal_get_trip_type, .get_trip_temp = rcar_thermal_get_trip_temp, - .notify = rcar_thermal_notify, }; /* --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/thermal_core.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/thermal_core.c @@ -369,6 +369,25 @@ msecs_to_jiffies(poweroff_delay_ms)); } +void thermal_zone_device_critical(struct thermal_zone_device *tz) +{ + dev_emerg(&tz->device, "%s: critical temperature reached, " + "shutting down\n", tz->type); + + mutex_lock(&poweroff_lock); + if (!power_off_triggered) { + /* + * Queue a backup emergency shutdown in the event of + * orderly_poweroff failure + */ + thermal_emergency_poweroff(); + orderly_poweroff(true); + power_off_triggered = true; + } + mutex_unlock(&poweroff_lock); +} +EXPORT_SYMBOL(thermal_zone_device_critical); + static void handle_critical_trips(struct thermal_zone_device *tz, int trip, enum thermal_trip_type trip_type) { @@ -385,22 +404,10 @@ if (tz->ops->notify) tz->ops->notify(tz, trip, trip_type); - if (trip_type == THERMAL_TRIP_CRITICAL) { - dev_emerg(&tz->device, - "critical temperature reached (%d C), shutting down\n", - tz->temperature / 1000); - mutex_lock(&poweroff_lock); - if (!power_off_triggered) { - /* - * Queue a backup emergency shutdown in the event of - * orderly_poweroff failure - */ - thermal_emergency_poweroff(); - orderly_poweroff(true); - power_off_triggered = true; - } - mutex_unlock(&poweroff_lock); - } + if (trip_type == THERMAL_TRIP_HOT && tz->ops->hot) + tz->ops->hot(tz); + else if (trip_type == THERMAL_TRIP_CRITICAL) + tz->ops->critical(tz); } static void handle_thermal_trip(struct thermal_zone_device *tz, int trip) @@ -467,7 +474,8 @@ if (atomic_read(&in_suspend)) return; - if (!tz->ops->get_temp) + if (WARN_ONCE(!tz->ops->get_temp, "'%s' must not be called without " + "'get_temp' ops set\n", __func__)) return; update_temperature(tz); @@ -1272,6 +1280,10 @@ tz->id = id; strlcpy(tz->type, type, sizeof(tz->type)); + + if (!ops->critical) + ops->critical = thermal_zone_device_critical; + tz->ops = ops; tz->tzp = tzp; tz->device.class = &thermal_class; --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/thermal_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/thermal_sysfs.c @@ -770,6 +770,9 @@ { struct cooling_dev_stats *stats = cdev->stats; + if (!stats) + return; + spin_lock(&stats->lock); if (stats->state == new_state) --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/ti-soc-thermal/omap4-thermal-data.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/ti-soc-thermal/omap4-thermal-data.c @@ -37,20 +37,21 @@ /* * Temperature values in milli degree celsius - * ADC code values from 530 to 923 + * ADC code values from 13 to 107, see TRM + * "18.4.10.2.3 ADC Codes Versus Temperature". */ static const int omap4430_adc_to_temp[OMAP4430_ADC_END_VALUE - OMAP4430_ADC_START_VALUE + 1] = { - -38000, -35000, -34000, -32000, -30000, -28000, -26000, -24000, -22000, - -20000, -18000, -17000, -15000, -13000, -12000, -10000, -8000, -6000, - -5000, -3000, -1000, 0, 2000, 3000, 5000, 6000, 8000, 10000, 12000, - 13000, 15000, 17000, 19000, 21000, 23000, 25000, 27000, 28000, 30000, - 32000, 33000, 35000, 37000, 38000, 40000, 42000, 43000, 45000, 47000, - 48000, 50000, 52000, 53000, 55000, 57000, 58000, 60000, 62000, 64000, - 66000, 68000, 70000, 71000, 73000, 75000, 77000, 78000, 80000, 82000, - 83000, 85000, 87000, 88000, 90000, 92000, 93000, 95000, 97000, 98000, - 100000, 102000, 103000, 105000, 107000, 109000, 111000, 113000, 115000, - 117000, 118000, 120000, 122000, 123000, + -40000, -38000, -35000, -34000, -32000, -30000, -28000, -26000, -24000, + -22000, -20000, -18500, -17000, -15000, -13500, -12000, -10000, -8000, + -6500, -5000, -3500, -1500, 0, 2000, 3500, 5000, 6500, 8500, 10000, + 12000, 13500, 15000, 17000, 19000, 21000, 23000, 25000, 27000, 28500, + 30000, 32000, 33500, 35000, 37000, 38500, 40000, 42000, 43500, 45000, + 47000, 48500, 50000, 52000, 53500, 55000, 57000, 58500, 60000, 62000, + 64000, 66000, 68000, 70000, 71500, 73500, 75000, 77000, 78500, 80000, + 82000, 83500, 85000, 87000, 88500, 90000, 92000, 93500, 95000, 97000, + 98500, 100000, 102000, 103500, 105000, 107000, 109000, 111000, 113000, + 115000, 117000, 118500, 120000, 122000, 123500, 125000, }; /* OMAP4430 data */ --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/ti-soc-thermal/omap4xxx-bandgap.h +++ linux-riscv-5.8-5.8.0/drivers/thermal/ti-soc-thermal/omap4xxx-bandgap.h @@ -53,9 +53,13 @@ * and thresholds for OMAP4430. */ -/* ADC conversion table limits */ -#define OMAP4430_ADC_START_VALUE 0 -#define OMAP4430_ADC_END_VALUE 127 +/* + * ADC conversion table limits. Ignore values outside the TRM listed + * range to avoid bogus thermal shutdowns. See omap4430 TRM chapter + * "18.4.10.2.3 ADC Codes Versus Temperature". + */ +#define OMAP4430_ADC_START_VALUE 13 +#define OMAP4430_ADC_END_VALUE 107 /* bandgap clock limits (no control on 4430) */ #define OMAP4430_MAX_FREQ 32768 #define OMAP4430_MIN_FREQ 32768 --- linux-riscv-5.8-5.8.0.orig/drivers/thermal/ti-soc-thermal/ti-thermal-common.c +++ linux-riscv-5.8-5.8.0/drivers/thermal/ti-soc-thermal/ti-thermal-common.c @@ -169,7 +169,7 @@ data = ti_bandgap_get_sensor_data(bgp, id); - if (!IS_ERR_OR_NULL(data)) + if (IS_ERR_OR_NULL(data)) data = ti_thermal_build_data(bgp, id); if (!data) --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/eeprom.c +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/eeprom.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include "tb.h" @@ -389,8 +390,8 @@ struct tb_drom_entry_header *entry = (void *) (sw->drom + pos); if (pos + 1 == drom_size || pos + entry->len > drom_size || !entry->len) { - tb_sw_warn(sw, "drom buffer overrun, aborting\n"); - return -EIO; + tb_sw_warn(sw, "DROM buffer overrun\n"); + return -EILSEQ; } switch (entry->type) { @@ -526,7 +527,8 @@ u16 size; u32 crc; struct tb_drom_header *header; - int res; + int res, retries = 1; + if (sw->drom) return 0; @@ -611,7 +613,17 @@ tb_sw_warn(sw, "drom device_rom_revision %#x unknown\n", header->device_rom_revision); - return tb_drom_parse_entries(sw); + res = tb_drom_parse_entries(sw); + /* If the DROM parsing fails, wait a moment and retry once */ + if (res == -EILSEQ && retries--) { + tb_sw_warn(sw, "parsing DROM failed, retrying\n"); + msleep(100); + res = tb_drom_read_n(sw, 0, sw->drom, size); + if (!res) + goto parse; + } + + return res; err: kfree(sw->drom); sw->drom = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/icm.c +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/icm.c @@ -1973,7 +1973,9 @@ static void remove_unplugged_switch(struct tb_switch *sw) { - pm_runtime_get_sync(sw->dev.parent); + struct device *parent = get_device(sw->dev.parent); + + pm_runtime_get_sync(parent); /* * Signal this and switches below for rpm_complete because @@ -1984,8 +1986,10 @@ bus_for_each_dev(&tb_bus_type, &sw->dev, NULL, complete_rpm); tb_switch_remove(sw); - pm_runtime_mark_last_busy(sw->dev.parent); - pm_runtime_put_autosuspend(sw->dev.parent); + pm_runtime_mark_last_busy(parent); + pm_runtime_put_autosuspend(parent); + + put_device(parent); } static void icm_free_unplugged_children(struct tb_switch *sw) --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/nhi.c +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/nhi.c @@ -410,12 +410,23 @@ ring->vector = ret; - ring->irq = pci_irq_vector(ring->nhi->pdev, ring->vector); - if (ring->irq < 0) - return ring->irq; + ret = pci_irq_vector(ring->nhi->pdev, ring->vector); + if (ret < 0) + goto err_ida_remove; + + ring->irq = ret; irqflags = no_suspend ? IRQF_NO_SUSPEND : 0; - return request_irq(ring->irq, ring_msix, irqflags, "thunderbolt", ring); + ret = request_irq(ring->irq, ring_msix, irqflags, "thunderbolt", ring); + if (ret) + goto err_ida_remove; + + return 0; + +err_ida_remove: + ida_simple_remove(&nhi->msix_ida, ring->vector); + + return ret; } static void ring_release_msix(struct tb_ring *ring) --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/switch.c +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/switch.c @@ -739,6 +739,7 @@ if (res == -ENODEV) { tb_dbg(port->sw->tb, " Port %d: not implemented\n", port->port); + port->disabled = true; return 0; } return res; @@ -764,12 +765,6 @@ tb_dump_port(port->sw->tb, &port->config); - /* Control port does not need HopID allocation */ - if (port->port) { - ida_init(&port->in_hopids); - ida_init(&port->out_hopids); - } - INIT_LIST_HEAD(&port->list); return 0; @@ -1719,10 +1714,8 @@ dma_port_free(sw->dma_port); tb_switch_for_each_port(sw, port) { - if (!port->disabled) { - ida_destroy(&port->in_hopids); - ida_destroy(&port->out_hopids); - } + ida_destroy(&port->in_hopids); + ida_destroy(&port->out_hopids); } kfree(sw->uuid); @@ -1902,6 +1895,12 @@ /* minimum setup for tb_find_cap and tb_drom_read to work */ sw->ports[i].sw = sw; sw->ports[i].port = i; + + /* Control port does not need HopID allocation */ + if (i) { + ida_init(&sw->ports[i].in_hopids); + ida_init(&sw->ports[i].out_hopids); + } } ret = tb_switch_find_vse_cap(sw, TB_VSE_CAP_PLUG_EVENTS); --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/tb.h +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/tb.h @@ -167,7 +167,7 @@ * @cap_adap: Offset of the adapter specific capability (%0 if not present) * @cap_usb4: Offset to the USB4 port capability (%0 if not present) * @port: Port number on switch - * @disabled: Disabled by eeprom + * @disabled: Disabled by eeprom or enabled but not implemented * @bonded: true if the port is bonded (two lanes combined as one) * @dual_link_port: If the switch is connected using two ports, points * to the other port. --- linux-riscv-5.8-5.8.0.orig/drivers/thunderbolt/xdomain.c +++ linux-riscv-5.8-5.8.0/drivers/thunderbolt/xdomain.c @@ -830,6 +830,7 @@ id = ida_simple_get(&xd->service_ids, 0, 0, GFP_KERNEL); if (id < 0) { + kfree(svc->key); kfree(svc); break; } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/hvc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/tty/hvc/Kconfig @@ -81,6 +81,7 @@ bool "ARM JTAG DCC console" depends on ARM || ARM64 select HVC_DRIVER + select SERIAL_CORE_CONSOLE help This console uses the JTAG DCC on ARM to create a console under the HVC driver. This console is used through a JTAG only on ARM. If you don't have --- linux-riscv-5.8-5.8.0.orig/drivers/tty/hvc/hvcs.c +++ linux-riscv-5.8-5.8.0/drivers/tty/hvc/hvcs.c @@ -1216,13 +1216,6 @@ tty_wait_until_sent(tty, HVCS_CLOSE_WAIT); - /* - * This line is important because it tells hvcs_open that this - * device needs to be re-configured the next time hvcs_open is - * called. - */ - tty->driver_data = NULL; - free_irq(irq, hvcsd); return; } else if (hvcsd->port.count < 0) { @@ -1237,6 +1230,13 @@ { struct hvcs_struct *hvcsd = tty->driver_data; + /* + * This line is important because it tells hvcs_open that this + * device needs to be re-configured the next time hvcs_open is + * called. + */ + tty->driver_data = NULL; + tty_port_put(&hvcsd->port); } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/ipwireless/network.c +++ linux-riscv-5.8-5.8.0/drivers/tty/ipwireless/network.c @@ -117,7 +117,7 @@ skb->len, notify_packet_sent, network); - if (ret == -1) { + if (ret < 0) { skb_pull(skb, 2); return 0; } @@ -134,7 +134,7 @@ notify_packet_sent, network); kfree(buf); - if (ret == -1) + if (ret < 0) return 0; } kfree_skb(skb); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/ipwireless/tty.c +++ linux-riscv-5.8-5.8.0/drivers/tty/ipwireless/tty.c @@ -218,7 +218,7 @@ ret = ipwireless_send_packet(tty->hardware, IPW_CHANNEL_RAS, buf, count, ipw_write_packet_sent_callback, tty); - if (ret == -1) { + if (ret < 0) { mutex_unlock(&tty->ipw_tty_mutex); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/n_tty.c +++ linux-riscv-5.8-5.8.0/drivers/tty/n_tty.c @@ -2079,9 +2079,6 @@ return 0; } -extern ssize_t redirected_tty_write(struct file *, const char __user *, - size_t, loff_t *); - /** * job_control - check job control * @tty: tty @@ -2103,7 +2100,7 @@ /* NOTE: not yet done after every sleep pending a thorough check of the logic of this change. -- jlc */ /* don't stop on /dev/console */ - if (file->f_op->write == redirected_tty_write) + if (file->f_op->write_iter == redirected_tty_write) return 0; return __tty_check_change(tty, SIGTTIN); @@ -2307,7 +2304,7 @@ ssize_t retval = 0; /* Job control check -- must be done at start (POSIX.1 7.1.1.4). */ - if (L_TOSTOP(tty) && file->f_op->write != redirected_tty_write) { + if (L_TOSTOP(tty) && file->f_op->write_iter != redirected_tty_write) { retval = tty_check_change(tty); if (retval) return retval; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/pty.c +++ linux-riscv-5.8-5.8.0/drivers/tty/pty.c @@ -120,10 +120,10 @@ spin_lock_irqsave(&to->port->lock, flags); /* Stuff the data into the input queue of the other end */ c = tty_insert_flip_string(to->port, buf, c); + spin_unlock_irqrestore(&to->port->lock, flags); /* And shovel */ if (c) tty_flip_buffer_push(to->port); - spin_unlock_irqrestore(&to->port->lock, flags); } return c; } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/21285.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/21285.c @@ -50,25 +50,25 @@ static bool is_enabled(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - if (test_bit(bit, &private_data)) + if (test_bit(bit, private_data)) return true; return false; } static void enable(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - set_bit(bit, &private_data); + set_bit(bit, private_data); } static void disable(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - clear_bit(bit, &private_data); + clear_bit(bit, private_data); } #define is_tx_enabled(port) is_enabled(port, tx_enabled_bit) --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/8250/8250_exar.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/8250/8250_exar.c @@ -744,6 +744,24 @@ .exit = pci_xr17v35x_exit, }; +static const struct exar8250_board pbn_fastcom35x_2 = { + .num_ports = 2, + .setup = pci_xr17v35x_setup, + .exit = pci_xr17v35x_exit, +}; + +static const struct exar8250_board pbn_fastcom35x_4 = { + .num_ports = 4, + .setup = pci_xr17v35x_setup, + .exit = pci_xr17v35x_exit, +}; + +static const struct exar8250_board pbn_fastcom35x_8 = { + .num_ports = 8, + .setup = pci_xr17v35x_setup, + .exit = pci_xr17v35x_exit, +}; + static const struct exar8250_board pbn_exar_XR17V4358 = { .num_ports = 12, .setup = pci_xr17v35x_setup, @@ -811,9 +829,9 @@ EXAR_DEVICE(EXAR, XR17V358, pbn_exar_XR17V35x), EXAR_DEVICE(EXAR, XR17V4358, pbn_exar_XR17V4358), EXAR_DEVICE(EXAR, XR17V8358, pbn_exar_XR17V8358), - EXAR_DEVICE(COMMTECH, 4222PCIE, pbn_exar_XR17V35x), - EXAR_DEVICE(COMMTECH, 4224PCIE, pbn_exar_XR17V35x), - EXAR_DEVICE(COMMTECH, 4228PCIE, pbn_exar_XR17V35x), + EXAR_DEVICE(COMMTECH, 4222PCIE, pbn_fastcom35x_2), + EXAR_DEVICE(COMMTECH, 4224PCIE, pbn_fastcom35x_4), + EXAR_DEVICE(COMMTECH, 4228PCIE, pbn_fastcom35x_8), EXAR_DEVICE(COMMTECH, 4222PCI335, pbn_fastcom335_2), EXAR_DEVICE(COMMTECH, 4224PCI335, pbn_fastcom335_4), --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/8250/8250_mtk.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/8250/8250_mtk.c @@ -317,7 +317,7 @@ */ baud = tty_termios_baud_rate(termios); - serial8250_do_set_termios(port, termios, old); + serial8250_do_set_termios(port, termios, NULL); tty_termios_encode_baud_rate(termios, baud, baud); @@ -568,15 +568,22 @@ pm_runtime_enable(&pdev->dev); err = mtk8250_runtime_resume(&pdev->dev); if (err) - return err; + goto err_pm_disable; data->line = serial8250_register_8250_port(&uart); - if (data->line < 0) - return data->line; + if (data->line < 0) { + err = data->line; + goto err_pm_disable; + } data->rx_wakeup_irq = platform_get_irq_optional(pdev, 1); return 0; + +err_pm_disable: + pm_runtime_disable(&pdev->dev); + + return err; } static int mtk8250_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/8250/8250_omap.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/8250/8250_omap.c @@ -184,11 +184,6 @@ struct omap8250_priv *priv) { u8 timeout = 255; - u8 old_mdr1; - - old_mdr1 = serial_in(up, UART_OMAP_MDR1); - if (old_mdr1 == priv->mdr1) - return; serial_out(up, UART_OMAP_MDR1, priv->mdr1); udelay(2); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/8250/8250_pci.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/8250/8250_pci.c @@ -5566,6 +5566,17 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_wch384_4 }, + /* + * Realtek RealManage + */ + { PCI_VENDOR_ID_REALTEK, 0x816a, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, pbn_b0_1_115200 }, + + { PCI_VENDOR_ID_REALTEK, 0x816b, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, pbn_b0_1_115200 }, + /* Fintek PCI serial cards */ { PCI_DEVICE(0x1c29, 0x1104), .driver_data = pbn_fintek_4 }, { PCI_DEVICE(0x1c29, 0x1108), .driver_data = pbn_fintek_8 }, --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/8250/8250_port.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/8250/8250_port.c @@ -2274,6 +2274,10 @@ if (port->irq && !(up->port.flags & UPF_NO_THRE_TEST)) { unsigned char iir1; + + if (port->irqflags & IRQF_SHARED) + disable_irq_nosync(port->irq); + /* * Test for UARTs that do not reassert THRE when the * transmitter is idle and the interrupt has already @@ -2283,8 +2287,6 @@ * allow register changes to become visible. */ spin_lock_irqsave(&port->lock, flags); - if (up->port.irqflags & IRQF_SHARED) - disable_irq_nosync(port->irq); wait_for_xmitr(up, UART_LSR_THRE); serial_port_out_sync(port, UART_IER, UART_IER_THRI); @@ -2296,9 +2298,10 @@ iir = serial_port_in(port, UART_IIR); serial_port_out(port, UART_IER, 0); + spin_unlock_irqrestore(&port->lock, flags); + if (port->irqflags & IRQF_SHARED) enable_irq(port->irq); - spin_unlock_irqrestore(&port->lock, flags); /* * If the interrupt is not reasserted, or we otherwise --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/Kconfig @@ -8,6 +8,7 @@ config SERIAL_EARLYCON bool + depends on SERIAL_CORE help Support for early consoles with the earlycon parameter. This enables the console before standard serial driver is probed. The console is --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/amba-pl011.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/amba-pl011.c @@ -308,8 +308,9 @@ */ static int pl011_fifo_to_tty(struct uart_amba_port *uap) { - u16 status; unsigned int ch, flag, fifotaken; + int sysrq; + u16 status; for (fifotaken = 0; fifotaken != 256; fifotaken++) { status = pl011_read(uap, REG_FR); @@ -344,10 +345,12 @@ flag = TTY_FRAME; } - if (uart_handle_sysrq_char(&uap->port, ch & 255)) - continue; + spin_unlock(&uap->port.lock); + sysrq = uart_handle_sysrq_char(&uap->port, ch & 255); + spin_lock(&uap->port.lock); - uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); + if (!sysrq) + uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); } return fifotaken; @@ -2241,9 +2244,8 @@ clk_disable(uap->clk); } -static void __init -pl011_console_get_options(struct uart_amba_port *uap, int *baud, - int *parity, int *bits) +static void pl011_console_get_options(struct uart_amba_port *uap, int *baud, + int *parity, int *bits) { if (pl011_read(uap, REG_CR) & UART01x_CR_UARTEN) { unsigned int lcr_h, ibrd, fbrd; @@ -2276,7 +2278,7 @@ } } -static int __init pl011_console_setup(struct console *co, char *options) +static int pl011_console_setup(struct console *co, char *options) { struct uart_amba_port *uap; int baud = 38400; @@ -2344,8 +2346,8 @@ * * Returns 0 if console matches; otherwise non-zero to use default matching */ -static int __init pl011_console_match(struct console *co, char *name, int idx, - char *options) +static int pl011_console_match(struct console *co, char *name, int idx, + char *options) { unsigned char iotype; resource_size_t addr; @@ -2616,7 +2618,7 @@ static int pl011_register_port(struct uart_amba_port *uap) { - int ret; + int ret, i; /* Ensure interrupts from this UART are masked and cleared */ pl011_write(0, uap, REG_IMSC); @@ -2627,6 +2629,9 @@ if (ret < 0) { dev_err(uap->port.dev, "Failed to register AMBA-PL011 driver\n"); + for (i = 0; i < ARRAY_SIZE(amba_ports); i++) + if (amba_ports[i] == uap) + amba_ports[i] = NULL; return ret; } } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/ar933x_uart.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/ar933x_uart.c @@ -789,8 +789,10 @@ goto err_disable_clk; up->gpios = mctrl_gpio_init(port, 0); - if (IS_ERR(up->gpios) && PTR_ERR(up->gpios) != -ENOSYS) - return PTR_ERR(up->gpios); + if (IS_ERR(up->gpios) && PTR_ERR(up->gpios) != -ENOSYS) { + ret = PTR_ERR(up->gpios); + goto err_disable_clk; + } up->rts_gpiod = mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/fsl_lpuart.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/fsl_lpuart.c @@ -314,9 +314,10 @@ /* Forward declare this for the dma callbacks*/ static void lpuart_dma_tx_complete(void *arg); -static inline bool is_ls1028a_lpuart(struct lpuart_port *sport) +static inline bool is_layerscape_lpuart(struct lpuart_port *sport) { - return sport->devtype == LS1028A_LPUART; + return (sport->devtype == LS1021A_LPUART || + sport->devtype == LS1028A_LPUART); } static inline bool is_imx8qxp_lpuart(struct lpuart_port *sport) @@ -649,26 +650,24 @@ spin_lock_irqsave(&sport->port.lock, flags); /* Disable Rx & Tx */ - lpuart32_write(&sport->port, UARTCTRL, 0); + lpuart32_write(&sport->port, 0, UARTCTRL); temp = lpuart32_read(&sport->port, UARTFIFO); /* Enable Rx and Tx FIFO */ - lpuart32_write(&sport->port, UARTFIFO, - temp | UARTFIFO_RXFE | UARTFIFO_TXFE); + lpuart32_write(&sport->port, temp | UARTFIFO_RXFE | UARTFIFO_TXFE, UARTFIFO); /* flush Tx and Rx FIFO */ - lpuart32_write(&sport->port, UARTFIFO, - UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH); + lpuart32_write(&sport->port, UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH, UARTFIFO); /* explicitly clear RDRF */ if (lpuart32_read(&sport->port, UARTSTAT) & UARTSTAT_RDRF) { lpuart32_read(&sport->port, UARTDATA); - lpuart32_write(&sport->port, UARTFIFO, UARTFIFO_RXUF); + lpuart32_write(&sport->port, UARTFIFO_RXUF, UARTFIFO); } /* Enable Rx and Tx */ - lpuart32_write(&sport->port, UARTCTRL, UARTCTRL_RE | UARTCTRL_TE); + lpuart32_write(&sport->port, UARTCTRL_RE | UARTCTRL_TE, UARTCTRL); spin_unlock_irqrestore(&sport->port.lock, flags); return 0; @@ -677,12 +676,12 @@ static void lpuart32_poll_put_char(struct uart_port *port, unsigned char c) { lpuart32_wait_bit_set(port, UARTSTAT, UARTSTAT_TDRE); - lpuart32_write(port, UARTDATA, c); + lpuart32_write(port, c, UARTDATA); } static int lpuart32_poll_get_char(struct uart_port *port) { - if (!(lpuart32_read(port, UARTSTAT) & UARTSTAT_RDRF)) + if (!(lpuart32_read(port, UARTWATER) >> UARTWATER_RXCNT_OFF)) return NO_POLL_CHAR; return lpuart32_read(port, UARTDATA); @@ -1646,11 +1645,11 @@ UARTFIFO_FIFOSIZE_MASK); /* - * The LS1028A has a fixed length of 16 words. Although it supports the - * RX/TXSIZE fields their encoding is different. Eg the reference manual - * states 0b101 is 16 words. + * The LS1021A and LS1028A have a fixed FIFO depth of 16 words. + * Although they support the RX/TXSIZE fields, their encoding is + * different. Eg the reference manual states 0b101 is 16 words. */ - if (is_ls1028a_lpuart(sport)) { + if (is_layerscape_lpuart(sport)) { sport->rxfifo_size = 16; sport->txfifo_size = 16; sport->port.fifosize = sport->txfifo_size; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/imx.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/imx.c @@ -873,8 +873,14 @@ struct imx_port *sport = dev_id; unsigned int usr1, usr2, ucr1, ucr2, ucr3, ucr4; irqreturn_t ret = IRQ_NONE; + unsigned long flags = 0; - spin_lock(&sport->port.lock); + /* + * IRQs might not be disabled upon entering this interrupt handler, + * e.g. when interrupt handlers are forced to be threaded. To support + * this scenario as well, disable IRQs when acquiring the spinlock. + */ + spin_lock_irqsave(&sport->port.lock, flags); usr1 = imx_uart_readl(sport, USR1); usr2 = imx_uart_readl(sport, USR2); @@ -944,7 +950,7 @@ ret = IRQ_HANDLED; } - spin_unlock(&sport->port.lock); + spin_unlock_irqrestore(&sport->port.lock, flags); return ret; } @@ -1937,16 +1943,6 @@ unsigned int ucr1; unsigned long flags = 0; int locked = 1; - int retval; - - retval = clk_enable(sport->clk_per); - if (retval) - return; - retval = clk_enable(sport->clk_ipg); - if (retval) { - clk_disable(sport->clk_per); - return; - } if (sport->port.sysrq) locked = 0; @@ -1982,9 +1978,6 @@ if (locked) spin_unlock_irqrestore(&sport->port.lock, flags); - - clk_disable(sport->clk_ipg); - clk_disable(sport->clk_per); } /* @@ -2085,15 +2078,14 @@ retval = uart_set_options(&sport->port, co, baud, parity, bits, flow); - clk_disable(sport->clk_ipg); if (retval) { - clk_unprepare(sport->clk_ipg); + clk_disable_unprepare(sport->clk_ipg); goto error_console; } - retval = clk_prepare(sport->clk_per); + retval = clk_prepare_enable(sport->clk_per); if (retval) - clk_unprepare(sport->clk_ipg); + clk_disable_unprepare(sport->clk_ipg); error_console: return retval; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/mvebu-uart.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/mvebu-uart.c @@ -648,6 +648,14 @@ (val & STAT_TX_RDY(port)), 1, 10000); } +static void wait_for_xmite(struct uart_port *port) +{ + u32 val; + + readl_poll_timeout_atomic(port->membase + UART_STAT, val, + (val & STAT_TX_EMP), 1, 10000); +} + static void mvebu_uart_console_putchar(struct uart_port *port, int ch) { wait_for_xmitr(port); @@ -675,7 +683,7 @@ uart_console_write(port, s, count, mvebu_uart_console_putchar); - wait_for_xmitr(port); + wait_for_xmite(port); if (ier) writel(ier, port->membase + UART_CTRL(port)); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/pmac_zilog.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/pmac_zilog.c @@ -1692,22 +1692,26 @@ #else +/* On PCI PowerMacs, pmz_probe() does an explicit search of the OpenFirmware + * tree to obtain the device_nodes needed to start the console before the + * macio driver. On Macs without OpenFirmware, global platform_devices take + * the place of those device_nodes. + */ extern struct platform_device scc_a_pdev, scc_b_pdev; static int __init pmz_init_port(struct uart_pmac_port *uap) { - struct resource *r_ports; - int irq; + struct resource *r_ports, *r_irq; r_ports = platform_get_resource(uap->pdev, IORESOURCE_MEM, 0); - irq = platform_get_irq(uap->pdev, 0); - if (!r_ports || irq <= 0) + r_irq = platform_get_resource(uap->pdev, IORESOURCE_IRQ, 0); + if (!r_ports || !r_irq) return -ENODEV; uap->port.mapbase = r_ports->start; uap->port.membase = (unsigned char __iomem *) r_ports->start; uap->port.iotype = UPIO_MEM; - uap->port.irq = irq; + uap->port.irq = r_irq->start; uap->port.uartclk = ZS_CLOCK; uap->port.fifosize = 1; uap->port.ops = &pmz_pops; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/qcom_geni_serial.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/qcom_geni_serial.c @@ -954,7 +954,7 @@ sampling_rate = UART_OVERSAMPLING; /* Sampling rate is halved for IP versions >= 2.5 */ ver = geni_se_get_qup_hw_version(&port->se); - if (GENI_SE_VERSION_MAJOR(ver) >= 2 && GENI_SE_VERSION_MINOR(ver) >= 5) + if (ver >= QUP_SE_VERSION_2_5) sampling_rate /= 2; clk_rate = get_clk_div_rate(baud, sampling_rate, &clk_div); @@ -1047,7 +1047,7 @@ } #ifdef CONFIG_SERIAL_QCOM_GENI_CONSOLE -static int __init qcom_geni_console_setup(struct console *co, char *options) +static int qcom_geni_console_setup(struct console *co, char *options) { struct uart_port *uport; struct qcom_geni_serial_port *port; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/samsung_tty.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/samsung_tty.c @@ -1911,9 +1911,11 @@ ourport->tx_irq = ret + 1; } - ret = platform_get_irq(platdev, 1); - if (ret > 0) - ourport->tx_irq = ret; + if (!s3c24xx_serial_has_interrupt_mask(port)) { + ret = platform_get_irq(platdev, 1); + if (ret > 0) + ourport->tx_irq = ret; + } /* * DMA is currently supported only on DT platforms, if DMA properties * are specified. --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/serial_core.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/serial_core.c @@ -1466,6 +1466,10 @@ { struct uart_state *state = tty->driver_data; struct uart_port *uport; + struct tty_port *port = &state->port; + + if (!tty_port_initialized(port)) + return; mutex_lock(&state->port.mutex); uport = uart_port_check(state); @@ -1914,24 +1918,12 @@ return uart_console(port) && (port->cons->flags & CON_ENABLED); } -static void __uart_port_spin_lock_init(struct uart_port *port) +static void uart_port_spin_lock_init(struct uart_port *port) { spin_lock_init(&port->lock); lockdep_set_class(&port->lock, &port_lock_key); } -/* - * Ensure that the serial console lock is initialised early. - * If this port is a console, then the spinlock is already initialised. - */ -static inline void uart_port_spin_lock_init(struct uart_port *port) -{ - if (uart_console(port)) - return; - - __uart_port_spin_lock_init(port); -} - #if defined(CONFIG_SERIAL_CORE_CONSOLE) || defined(CONFIG_CONSOLE_POLL) /** * uart_console_write - write a console message to a serial port @@ -2084,7 +2076,15 @@ struct ktermios termios; static struct ktermios dummy; - uart_port_spin_lock_init(port); + /* + * Ensure that the serial-console lock is initialised early. + * + * Note that the console-enabled check is needed because of kgdboc, + * which can end up calling uart_set_options() for an already enabled + * console via tty_find_polling_driver() and uart_poll_init(). + */ + if (!uart_console_enabled(port) && !port->console_reinit) + uart_port_spin_lock_init(port); memset(&termios, 0, sizeof(struct ktermios)); @@ -2376,13 +2376,6 @@ uart_change_pm(state, UART_PM_STATE_ON); /* - * If this driver supports console, and it hasn't been - * successfully registered yet, initialise spin lock for it. - */ - if (port->cons && !(port->cons->flags & CON_ENABLED)) - __uart_port_spin_lock_init(port); - - /* * Ensure that the modem control lines are de-activated. * keep the DTR setting that is set in uart_set_options() * We probably don't need a spinlock around this, but @@ -2798,10 +2791,12 @@ if (oldconsole && !newconsole) { ret = unregister_console(uport->cons); } else if (!oldconsole && newconsole) { - if (uart_console(uport)) + if (uart_console(uport)) { + uport->console_reinit = 1; register_console(uport->cons); - else + } else { ret = -ENOENT; + } } } else { ret = -ENXIO; @@ -2897,7 +2892,12 @@ goto out; } - uart_port_spin_lock_init(uport); + /* + * If this port is in use as a console then the spinlock is already + * initialised. + */ + if (!uart_console_enabled(uport)) + uart_port_spin_lock_init(uport); if (uport->cons && uport->dev) of_console_check(uport->dev->of_node, uport->cons->name, uport->line); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/serial_txx9.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/serial_txx9.c @@ -1280,6 +1280,9 @@ #ifdef ENABLE_SERIAL_TXX9_PCI ret = pci_register_driver(&serial_txx9_pci_driver); + if (ret) { + platform_driver_unregister(&serial_txx9_plat_driver); + } #endif if (ret == 0) goto out; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/sifive.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/sifive.c @@ -1000,6 +1000,7 @@ /* Set up clock divider */ ssp->clkin_rate = clk_get_rate(ssp->clk); ssp->baud_rate = SIFIVE_DEFAULT_BAUD_RATE; + ssp->port.uartclk = ssp->baud_rate * 16; __ssp_update_div(ssp); platform_set_drvdata(pdev, ssp); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/serial/stm32-usart.c +++ linux-riscv-5.8-5.8.0/drivers/tty/serial/stm32-usart.c @@ -350,7 +350,6 @@ struct stm32_usart_offsets *ofs = &stm32port->info->ofs; struct circ_buf *xmit = &port->state->xmit; struct dma_async_tx_descriptor *desc = NULL; - dma_cookie_t cookie; unsigned int count, i; if (stm32port->tx_dma_busy) @@ -384,17 +383,18 @@ DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); - if (!desc) { - for (i = count; i > 0; i--) - stm32_transmit_chars_pio(port); - return; - } + if (!desc) + goto fallback_err; desc->callback = stm32_tx_dma_complete; desc->callback_param = port; /* Push current DMA TX transaction in the pending queue */ - cookie = dmaengine_submit(desc); + if (dma_submit_error(dmaengine_submit(desc))) { + /* dma no yet started, safe to free resources */ + dmaengine_terminate_async(stm32port->tx_ch); + goto fallback_err; + } /* Issue pending DMA TX requests */ dma_async_issue_pending(stm32port->tx_ch); @@ -403,6 +403,11 @@ xmit->tail = (xmit->tail + count) & (UART_XMIT_SIZE - 1); port->icount.tx += count; + return; + +fallback_err: + for (i = count; i > 0; i--) + stm32_transmit_chars_pio(port); } static void stm32_transmit_chars(struct uart_port *port) @@ -962,7 +967,7 @@ return ret; if (stm32port->info->cfg.has_wakeup) { - stm32port->wakeirq = platform_get_irq(pdev, 1); + stm32port->wakeirq = platform_get_irq_optional(pdev, 1); if (stm32port->wakeirq <= 0 && stm32port->wakeirq != -ENXIO) return stm32port->wakeirq ? : -ENODEV; } @@ -1061,7 +1066,6 @@ struct device *dev = &pdev->dev; struct dma_slave_config config; struct dma_async_tx_descriptor *desc = NULL; - dma_cookie_t cookie; int ret; /* Request DMA RX channel */ @@ -1106,7 +1110,11 @@ desc->callback_param = NULL; /* Push current DMA transaction in the pending queue */ - cookie = dmaengine_submit(desc); + ret = dma_submit_error(dmaengine_submit(desc)); + if (ret) { + dmaengine_terminate_sync(stm32port->rx_ch); + goto config_err; + } /* Issue pending DMA requests */ dma_async_issue_pending(stm32port->rx_ch); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/tty_io.c +++ linux-riscv-5.8-5.8.0/drivers/tty/tty_io.c @@ -143,12 +143,9 @@ DEFINE_MUTEX(tty_mutex); static ssize_t tty_read(struct file *, char __user *, size_t, loff_t *); -static ssize_t tty_write(struct file *, const char __user *, size_t, loff_t *); -ssize_t redirected_tty_write(struct file *, const char __user *, - size_t, loff_t *); +static ssize_t tty_write(struct kiocb *, struct iov_iter *); static __poll_t tty_poll(struct file *, poll_table *); static int tty_open(struct inode *, struct file *); -long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg); #ifdef CONFIG_COMPAT static long tty_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg); @@ -438,8 +435,7 @@ return 0; } -static ssize_t hung_up_tty_write(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) +static ssize_t hung_up_tty_write(struct kiocb *iocb, struct iov_iter *from) { return -EIO; } @@ -478,7 +474,8 @@ static const struct file_operations tty_fops = { .llseek = no_llseek, .read = tty_read, - .write = tty_write, + .write_iter = tty_write, + .splice_write = iter_file_splice_write, .poll = tty_poll, .unlocked_ioctl = tty_ioctl, .compat_ioctl = tty_compat_ioctl, @@ -491,7 +488,8 @@ static const struct file_operations console_fops = { .llseek = no_llseek, .read = tty_read, - .write = redirected_tty_write, + .write_iter = redirected_tty_write, + .splice_write = iter_file_splice_write, .poll = tty_poll, .unlocked_ioctl = tty_ioctl, .compat_ioctl = tty_compat_ioctl, @@ -503,7 +501,7 @@ static const struct file_operations hung_up_tty_fops = { .llseek = no_llseek, .read = hung_up_tty_read, - .write = hung_up_tty_write, + .write_iter = hung_up_tty_write, .poll = hung_up_tty_poll, .unlocked_ioctl = hung_up_tty_ioctl, .compat_ioctl = hung_up_tty_compat_ioctl, @@ -607,9 +605,9 @@ /* This breaks for file handles being sent over AF_UNIX sockets ? */ list_for_each_entry(priv, &tty->tty_files, list) { filp = priv->file; - if (filp->f_op->write == redirected_tty_write) + if (filp->f_op->write_iter == redirected_tty_write) cons_filp = filp; - if (filp->f_op->write != tty_write) + if (filp->f_op->write_iter != tty_write) continue; closecount++; __tty_fasync(-1, filp, 0); /* can't block */ @@ -902,9 +900,9 @@ ssize_t (*write)(struct tty_struct *, struct file *, const unsigned char *, size_t), struct tty_struct *tty, struct file *file, - const char __user *buf, - size_t count) + struct iov_iter *from) { + size_t count = iov_iter_count(from); ssize_t ret, written = 0; unsigned int chunk; @@ -956,14 +954,23 @@ size_t size = count; if (size > chunk) size = chunk; + ret = -EFAULT; - if (copy_from_user(tty->write_buf, buf, size)) + if (copy_from_iter(tty->write_buf, size, from) != size) break; + ret = write(tty, file, tty->write_buf, size); if (ret <= 0) break; + written += ret; - buf += ret; + if (ret > size) + break; + + /* FIXME! Have Al check this! */ + if (ret != size) + iov_iter_revert(from, size-ret); + count -= ret; if (!count) break; @@ -1023,8 +1030,7 @@ * write method will not be invoked in parallel for each device. */ -static ssize_t tty_write(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) +static ssize_t file_tty_write(struct file *file, struct kiocb *iocb, struct iov_iter *from) { struct tty_struct *tty = file_tty(file); struct tty_ldisc *ld; @@ -1039,17 +1045,21 @@ tty_err(tty, "missing write_room method\n"); ld = tty_ldisc_ref_wait(tty); if (!ld) - return hung_up_tty_write(file, buf, count, ppos); + return hung_up_tty_write(iocb, from); if (!ld->ops->write) ret = -EIO; else - ret = do_tty_write(ld->ops->write, tty, file, buf, count); + ret = do_tty_write(ld->ops->write, tty, file, from); tty_ldisc_deref(ld); return ret; } -ssize_t redirected_tty_write(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) +static ssize_t tty_write(struct kiocb *iocb, struct iov_iter *from) +{ + return file_tty_write(iocb->ki_filp, iocb, from); +} + +ssize_t redirected_tty_write(struct kiocb *iocb, struct iov_iter *iter) { struct file *p = NULL; @@ -1058,13 +1068,17 @@ p = get_file(redirect); spin_unlock(&redirect_lock); + /* + * We know the redirected tty is just another tty, we can can + * call file_tty_write() directly with that file pointer. + */ if (p) { ssize_t res; - res = vfs_write(p, buf, count, &p->f_pos); + res = file_tty_write(p, iocb, iter); fput(p); return res; } - return tty_write(file, buf, count, ppos); + return tty_write(iocb, iter); } /** @@ -1514,10 +1528,12 @@ tty->ops->shutdown(tty); tty_save_termios(tty); tty_driver_remove_tty(tty->driver, tty); - tty->port->itty = NULL; + if (tty->port) + tty->port->itty = NULL; if (tty->link) tty->link->port->itty = NULL; - tty_buffer_cancel_work(tty->port); + if (tty->port) + tty_buffer_cancel_work(tty->port); if (tty->link) tty_buffer_cancel_work(tty->link->port); @@ -2292,7 +2308,7 @@ { if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (file->f_op->write == redirected_tty_write) { + if (file->f_op->write_iter == redirected_tty_write) { struct file *f; spin_lock(&redirect_lock); f = redirect; @@ -2302,6 +2318,12 @@ fput(f); return 0; } + if (file->f_op->write_iter != tty_write) + return -ENOTTY; + if (!(file->f_mode & FMODE_WRITE)) + return -EBADF; + if (!(file->f_mode & FMODE_CAN_WRITE)) + return -EINVAL; spin_lock(&redirect_lock); if (redirect) { spin_unlock(&redirect_lock); @@ -2897,10 +2919,14 @@ struct task_struct *g, *p; struct pid *session; int i; + unsigned long flags; if (!tty) return; - session = tty->session; + + spin_lock_irqsave(&tty->ctrl_lock, flags); + session = get_pid(tty->session); + spin_unlock_irqrestore(&tty->ctrl_lock, flags); tty_ldisc_flush(tty); @@ -2932,6 +2958,7 @@ task_unlock(p); } while_each_thread(g, p); read_unlock(&tasklist_lock); + put_pid(session); #endif } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/tty_jobctrl.c +++ linux-riscv-5.8-5.8.0/drivers/tty/tty_jobctrl.c @@ -103,8 +103,8 @@ put_pid(tty->session); put_pid(tty->pgrp); tty->pgrp = get_pid(task_pgrp(current)); - spin_unlock_irqrestore(&tty->ctrl_lock, flags); tty->session = get_pid(task_session(current)); + spin_unlock_irqrestore(&tty->ctrl_lock, flags); if (current->signal->tty) { tty_debug(tty, "current tty %s not NULL!!\n", current->signal->tty->name); @@ -293,20 +293,23 @@ spin_lock_irq(¤t->sighand->siglock); put_pid(current->signal->tty_old_pgrp); current->signal->tty_old_pgrp = NULL; - tty = tty_kref_get(current->signal->tty); + spin_unlock_irq(¤t->sighand->siglock); + if (tty) { unsigned long flags; + + tty_lock(tty); spin_lock_irqsave(&tty->ctrl_lock, flags); put_pid(tty->session); put_pid(tty->pgrp); tty->session = NULL; tty->pgrp = NULL; spin_unlock_irqrestore(&tty->ctrl_lock, flags); + tty_unlock(tty); tty_kref_put(tty); } - spin_unlock_irq(¤t->sighand->siglock); /* Now clear signal->tty under the lock */ read_lock(&tasklist_lock); session_clear_tty(task_session(current)); @@ -477,14 +480,19 @@ return -ENOTTY; if (retval) return retval; - if (!current->signal->tty || - (current->signal->tty != real_tty) || - (real_tty->session != task_session(current))) - return -ENOTTY; + if (get_user(pgrp_nr, p)) return -EFAULT; if (pgrp_nr < 0) return -EINVAL; + + spin_lock_irq(&real_tty->ctrl_lock); + if (!current->signal->tty || + (current->signal->tty != real_tty) || + (real_tty->session != task_session(current))) { + retval = -ENOTTY; + goto out_unlock_ctrl; + } rcu_read_lock(); pgrp = find_vpid(pgrp_nr); retval = -ESRCH; @@ -494,12 +502,12 @@ if (session_of_pgrp(pgrp) != task_session(current)) goto out_unlock; retval = 0; - spin_lock_irq(&tty->ctrl_lock); put_pid(real_tty->pgrp); real_tty->pgrp = get_pid(pgrp); - spin_unlock_irq(&tty->ctrl_lock); out_unlock: rcu_read_unlock(); +out_unlock_ctrl: + spin_unlock_irq(&real_tty->ctrl_lock); return retval; } @@ -511,20 +519,30 @@ * * Obtain the session id of the tty. If there is no session * return an error. - * - * Locking: none. Reference to current->signal->tty is safe. */ static int tiocgsid(struct tty_struct *tty, struct tty_struct *real_tty, pid_t __user *p) { + unsigned long flags; + pid_t sid; + /* * (tty == real_tty) is a cheap way of * testing if the tty is NOT a master pty. */ if (tty == real_tty && current->signal->tty != real_tty) return -ENOTTY; + + spin_lock_irqsave(&real_tty->ctrl_lock, flags); if (!real_tty->session) - return -ENOTTY; - return put_user(pid_vnr(real_tty->session), p); + goto err; + sid = pid_vnr(real_tty->session); + spin_unlock_irqrestore(&real_tty->ctrl_lock, flags); + + return put_user(sid, p); + +err: + spin_unlock_irqrestore(&real_tty->ctrl_lock, flags); + return -ENOTTY; } /* --- linux-riscv-5.8-5.8.0.orig/drivers/tty/vt/consolemap.c +++ linux-riscv-5.8-5.8.0/drivers/tty/vt/consolemap.c @@ -495,7 +495,7 @@ p2[unicode & 0x3f] = fontpos; - p->sum += (fontpos << 20) + unicode; + p->sum += (fontpos << 20U) + unicode; return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/vt/keyboard.c +++ linux-riscv-5.8-5.8.0/drivers/tty/vt/keyboard.c @@ -742,8 +742,13 @@ return; if ((unsigned)value < ARRAY_SIZE(func_table)) { + unsigned long flags; + + spin_lock_irqsave(&func_buf_lock, flags); if (func_table[value]) puts_queue(vc, func_table[value]); + spin_unlock_irqrestore(&func_buf_lock, flags); + } else pr_err("k_fn called with value=%d\n", value); } @@ -1990,13 +1995,11 @@ #undef s #undef v -/* FIXME: This one needs untangling and locking */ +/* FIXME: This one needs untangling */ int vt_do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm) { struct kbsentry *kbs; - char *p; u_char *q; - u_char __user *up; int sz, fnw_sz; int delta; char *first_free, *fj, *fnw; @@ -2022,23 +2025,19 @@ i = kbs->kb_func; switch (cmd) { - case KDGKBSENT: - sz = sizeof(kbs->kb_string) - 1; /* sz should have been - a struct member */ - up = user_kdgkb->kb_string; - p = func_table[i]; - if(p) - for ( ; *p && sz; p++, sz--) - if (put_user(*p, up++)) { - ret = -EFAULT; - goto reterr; - } - if (put_user('\0', up)) { - ret = -EFAULT; - goto reterr; - } - kfree(kbs); - return ((p && *p) ? -EOVERFLOW : 0); + case KDGKBSENT: { + /* size should have been a struct member */ + ssize_t len = sizeof(user_kdgkb->kb_string); + + spin_lock_irqsave(&func_buf_lock, flags); + len = strlcpy(kbs->kb_string, func_table[i] ? : "", len); + spin_unlock_irqrestore(&func_buf_lock, flags); + + ret = copy_to_user(user_kdgkb->kb_string, kbs->kb_string, + len + 1) ? -EFAULT : 0; + + goto reterr; + } case KDSKBSENT: if (!perm) { ret = -EPERM; --- linux-riscv-5.8-5.8.0.orig/drivers/tty/vt/selection.c +++ linux-riscv-5.8-5.8.0/drivers/tty/vt/selection.c @@ -193,7 +193,7 @@ /* Allocate a new buffer before freeing the old one ... */ /* chars can take up to 4 bytes with unicode */ bp = kmalloc_array((vc_sel.end - vc_sel.start) / 2 + 1, unicode ? 4 : 1, - GFP_KERNEL); + GFP_KERNEL | __GFP_NOWARN); if (!bp) { printk(KERN_WARNING "selection: kmalloc() failed\n"); clear_selection(); --- linux-riscv-5.8-5.8.0.orig/drivers/tty/vt/vt.c +++ linux-riscv-5.8-5.8.0/drivers/tty/vt/vt.c @@ -106,6 +106,7 @@ #include #include #include +#include #define MAX_NR_CON_DRIVER 16 @@ -150,7 +151,7 @@ static int con_open(struct tty_struct *, struct file *); static void vc_init(struct vc_data *vc, unsigned int rows, - unsigned int cols, int do_clear); + unsigned int cols, int do_clear, int mode); static void gotoxy(struct vc_data *vc, int new_x, int new_y); static void save_cur(struct vc_data *vc); static void reset_terminal(struct vc_data *vc, int do_clear); @@ -174,6 +175,9 @@ static int cur_default = CUR_DEFAULT; module_param(cur_default, int, S_IRUGO | S_IWUSR); +int vt_handoff = 0; +module_param_named(handoff, vt_handoff, int, S_IRUGO | S_IWUSR); + /* * ignore_poke: don't unblank the screen when things are typed. This is * mainly for the privacy of braille terminal users. @@ -1002,6 +1006,13 @@ } if (tty0dev) sysfs_notify(&tty0dev->kobj, NULL, "active"); + /* + * If we are switching away from a transparent VT the contents + * will be lost, convert it into a blank text console then + * it will be repainted blank if we ever switch back. + */ + if (old_vc->vc_mode == KD_TRANSPARENT) + old_vc->vc_mode = KD_TEXT; } else { hide_cursor(vc); redraw = 1; @@ -1148,7 +1159,7 @@ if (global_cursor_default == -1) global_cursor_default = 1; - vc_init(vc, vc->vc_rows, vc->vc_cols, 1); + vc_init(vc, vc->vc_rows, vc->vc_cols, 1, KD_TEXT); vcs_make_sysfs(currcons); atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, ¶m); @@ -1196,7 +1207,7 @@ unsigned int old_rows, old_row_size, first_copied_row; unsigned int new_cols, new_rows, new_row_size, new_screen_size; unsigned int user; - unsigned short *newscreen; + unsigned short *oldscreen, *newscreen; struct uni_screen *new_uniscr = NULL; WARN_CONSOLE_UNLOCKED(); @@ -1294,10 +1305,11 @@ if (new_scr_end > new_origin) scr_memsetw((void *)new_origin, vc->vc_video_erase_char, new_scr_end - new_origin); - kfree(vc->vc_screenbuf); + oldscreen = vc->vc_screenbuf; vc->vc_screenbuf = newscreen; vc->vc_screenbuf_size = new_screen_size; set_origin(vc); + kfree(oldscreen); /* do part of a reset_terminal() */ vc->vc_top = 0; @@ -3325,7 +3337,7 @@ module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR); static void vc_init(struct vc_data *vc, unsigned int rows, - unsigned int cols, int do_clear) + unsigned int cols, int do_clear, int mode) { int j, k ; @@ -3336,7 +3348,7 @@ set_origin(vc); vc->vc_pos = vc->vc_origin; - reset_vc(vc); + reset_vc(vc, mode); for (j=k=0; j<16; j++) { vc->vc_palette[k++] = default_red[j] ; vc->vc_palette[k++] = default_grn[j] ; @@ -3394,7 +3406,18 @@ mod_timer(&console_timer, jiffies + (blankinterval * HZ)); } + if (vt_handoff > 0 && vt_handoff <= MAX_NR_CONSOLES) { + currcons = vt_handoff - 1; + vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT); + INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); + tty_port_init(&vc->port); + visual_init(vc, currcons, 1); + vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT); + vc_init(vc, vc->vc_rows, vc->vc_cols, 0, KD_TRANSPARENT); + } for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) { + if (currcons == vt_handoff - 1) + continue; vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT); INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); tty_port_init(&vc->port); @@ -3402,9 +3425,14 @@ /* Assuming vc->vc_{cols,rows,screenbuf_size} are sane here. */ vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT); vc_init(vc, vc->vc_rows, vc->vc_cols, - currcons || !vc->vc_sw->con_save_screen); + currcons || !vc->vc_sw->con_save_screen, KD_TEXT); } currcons = fg_console = 0; + if (vt_handoff > 0) { + printk(KERN_INFO "vt handoff: transparent VT on vt#%d\n", + vt_handoff); + currcons = fg_console = vt_handoff - 1; + } master_display_fg = vc = vc_cons[currcons].d; set_origin(vc); save_screen(vc); @@ -4615,27 +4643,6 @@ return rc; } -static int con_font_copy(struct vc_data *vc, struct console_font_op *op) -{ - int con = op->height; - int rc; - - - console_lock(); - if (vc->vc_mode != KD_TEXT) - rc = -EINVAL; - else if (!vc->vc_sw->con_font_copy) - rc = -ENOSYS; - else if (con < 0 || !vc_cons_allocated(con)) - rc = -ENOTTY; - else if (con == vc->vc_num) /* nothing to do */ - rc = 0; - else - rc = vc->vc_sw->con_font_copy(vc, con); - console_unlock(); - return rc; -} - int con_font_op(struct vc_data *vc, struct console_font_op *op) { switch (op->op) { @@ -4646,7 +4653,8 @@ case KD_FONT_OP_SET_DEFAULT: return con_font_default(vc, op); case KD_FONT_OP_COPY: - return con_font_copy(vc, op); + /* was buggy and never really used */ + return -EINVAL; } return -ENOSYS; } --- linux-riscv-5.8-5.8.0.orig/drivers/tty/vt/vt_ioctl.c +++ linux-riscv-5.8-5.8.0/drivers/tty/vt/vt_ioctl.c @@ -244,7 +244,7 @@ static inline int -do_fontx_ioctl(int cmd, struct consolefontdesc __user *user_cfd, int perm, struct console_font_op *op) +do_fontx_ioctl(struct vc_data *vc, int cmd, struct consolefontdesc __user *user_cfd, int perm, struct console_font_op *op) { struct consolefontdesc cfdarg; int i; @@ -262,15 +262,16 @@ op->height = cfdarg.charheight; op->charcount = cfdarg.charcount; op->data = cfdarg.chardata; - return con_font_op(vc_cons[fg_console].d, op); - case GIO_FONTX: { + return con_font_op(vc, op); + + case GIO_FONTX: op->op = KD_FONT_OP_GET; op->flags = KD_FONT_FLAG_OLD; op->width = 8; op->height = cfdarg.charheight; op->charcount = cfdarg.charcount; op->data = cfdarg.chardata; - i = con_font_op(vc_cons[fg_console].d, op); + i = con_font_op(vc, op); if (i) return i; cfdarg.charheight = op->height; @@ -278,7 +279,6 @@ if (copy_to_user(user_cfd, &cfdarg, sizeof(struct consolefontdesc))) return -EFAULT; return 0; - } } return -EINVAL; } @@ -893,12 +893,22 @@ console_lock(); vcp = vc_cons[i].d; if (vcp) { + int ret; + int save_scan_lines = vcp->vc_scan_lines; + int save_font_height = vcp->vc_font.height; + if (v.v_vlin) vcp->vc_scan_lines = v.v_vlin; if (v.v_clin) vcp->vc_font.height = v.v_clin; vcp->vc_resize_user = 1; - vc_resize(vcp, v.v_cols, v.v_rows); + ret = vc_resize(vcp, v.v_cols, v.v_rows); + if (ret) { + vcp->vc_scan_lines = save_scan_lines; + vcp->vc_font.height = save_font_height; + console_unlock(); + return ret; + } } console_unlock(); } @@ -914,7 +924,7 @@ op.height = 0; op.charcount = 256; op.data = up; - ret = con_font_op(vc_cons[fg_console].d, &op); + ret = con_font_op(vc, &op); break; } @@ -925,7 +935,7 @@ op.height = 32; op.charcount = 256; op.data = up; - ret = con_font_op(vc_cons[fg_console].d, &op); + ret = con_font_op(vc, &op); break; } @@ -942,7 +952,7 @@ case PIO_FONTX: case GIO_FONTX: - ret = do_fontx_ioctl(cmd, up, perm, &op); + ret = do_fontx_ioctl(vc, cmd, up, perm, &op); break; case PIO_FONTRESET: @@ -959,11 +969,11 @@ { op.op = KD_FONT_OP_SET_DEFAULT; op.data = NULL; - ret = con_font_op(vc_cons[fg_console].d, &op); + ret = con_font_op(vc, &op); if (ret) break; console_lock(); - con_set_default_unimap(vc_cons[fg_console].d); + con_set_default_unimap(vc); console_unlock(); break; } @@ -1042,9 +1052,9 @@ return ret; } -void reset_vc(struct vc_data *vc) +void reset_vc(struct vc_data *vc, int mode) { - vc->vc_mode = KD_TEXT; + vc->vc_mode = mode; vt_reset_unicode(vc->vc_num); vc->vt_mode.mode = VT_AUTO; vc->vt_mode.waitv = 0; @@ -1076,7 +1086,7 @@ */ if (tty) __do_SAK(tty); - reset_vc(vc); + reset_vc(vc, KD_TEXT); } console_unlock(); } @@ -1090,8 +1100,9 @@ }; static inline int -compat_fontx_ioctl(int cmd, struct compat_consolefontdesc __user *user_cfd, - int perm, struct console_font_op *op) +compat_fontx_ioctl(struct vc_data *vc, int cmd, + struct compat_consolefontdesc __user *user_cfd, + int perm, struct console_font_op *op) { struct compat_consolefontdesc cfdarg; int i; @@ -1109,7 +1120,8 @@ op->height = cfdarg.charheight; op->charcount = cfdarg.charcount; op->data = compat_ptr(cfdarg.chardata); - return con_font_op(vc_cons[fg_console].d, op); + return con_font_op(vc, op); + case GIO_FONTX: op->op = KD_FONT_OP_GET; op->flags = KD_FONT_FLAG_OLD; @@ -1117,7 +1129,7 @@ op->height = cfdarg.charheight; op->charcount = cfdarg.charcount; op->data = compat_ptr(cfdarg.chardata); - i = con_font_op(vc_cons[fg_console].d, op); + i = con_font_op(vc, op); if (i) return i; cfdarg.charheight = op->height; @@ -1207,7 +1219,7 @@ */ case PIO_FONTX: case GIO_FONTX: - return compat_fontx_ioctl(cmd, up, perm, &op); + return compat_fontx_ioctl(vc, cmd, up, perm, &op); case KDFONTOP: return compat_kdfontop_ioctl(up, perm, &op, vc); @@ -1311,7 +1323,7 @@ * this outside of VT_PROCESS but there is no single process * to account for and tracking tty count may be undesirable. */ - reset_vc(vc); + reset_vc(vc, KD_TEXT); if (old_vc_mode != vc->vc_mode) { if (vc->vc_mode == KD_TEXT) @@ -1383,7 +1395,7 @@ * this outside of VT_PROCESS but there is no single process * to account for and tracking tty count may be undesirable. */ - reset_vc(vc); + reset_vc(vc, KD_TEXT); /* * Fall through to normal (VT_AUTO) handling of the switch... --- linux-riscv-5.8-5.8.0.orig/drivers/uio/uio.c +++ linux-riscv-5.8-5.8.0/drivers/uio/uio.c @@ -413,10 +413,10 @@ return retval; } -static void uio_free_minor(struct uio_device *idev) +static void uio_free_minor(unsigned long minor) { mutex_lock(&minor_lock); - idr_remove(&uio_idr, idev->minor); + idr_remove(&uio_idr, minor); mutex_unlock(&minor_lock); } @@ -990,7 +990,7 @@ err_uio_dev_add_attributes: device_del(&idev->dev); err_device_create: - uio_free_minor(idev); + uio_free_minor(idev->minor); put_device(&idev->dev); return ret; } @@ -1042,13 +1042,13 @@ void uio_unregister_device(struct uio_info *info) { struct uio_device *idev; + unsigned long minor; if (!info || !info->uio_dev) return; idev = info->uio_dev; - - uio_free_minor(idev); + minor = idev->minor; mutex_lock(&idev->info_lock); uio_dev_del_attributes(idev); @@ -1064,6 +1064,8 @@ device_unregister(&idev->dev); + uio_free_minor(minor); + return; } EXPORT_SYMBOL_GPL(uio_unregister_device); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/cdns3/cdns3-imx.c +++ linux-riscv-5.8-5.8.0/drivers/usb/cdns3/cdns3-imx.c @@ -149,7 +149,11 @@ } data->num_clks = ARRAY_SIZE(imx_cdns3_core_clks); - data->clks = (struct clk_bulk_data *)imx_cdns3_core_clks; + data->clks = devm_kmemdup(dev, imx_cdns3_core_clks, + sizeof(imx_cdns3_core_clks), GFP_KERNEL); + if (!data->clks) + return -ENOMEM; + ret = devm_clk_bulk_get(dev, data->num_clks, data->clks); if (ret) return ret; @@ -175,20 +179,11 @@ return ret; } -static int cdns_imx_remove_core(struct device *dev, void *data) -{ - struct platform_device *pdev = to_platform_device(dev); - - platform_device_unregister(pdev); - - return 0; -} - static int cdns_imx_remove(struct platform_device *pdev) { struct device *dev = &pdev->dev; - device_for_each_child(dev, NULL, cdns_imx_remove_core); + of_platform_depopulate(dev); platform_set_drvdata(pdev, NULL); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/cdns3/ep0.c +++ linux-riscv-5.8-5.8.0/drivers/usb/cdns3/ep0.c @@ -138,49 +138,36 @@ struct usb_ctrlrequest *ctrl_req) { enum usb_device_state device_state = priv_dev->gadget.state; - struct cdns3_endpoint *priv_ep; u32 config = le16_to_cpu(ctrl_req->wValue); int result = 0; - int i; switch (device_state) { case USB_STATE_ADDRESS: - /* Configure non-control EPs */ - for (i = 0; i < CDNS3_ENDPOINTS_MAX_COUNT; i++) { - priv_ep = priv_dev->eps[i]; - if (!priv_ep) - continue; - - if (priv_ep->flags & EP_CLAIMED) - cdns3_ep_config(priv_ep); - } - result = cdns3_ep0_delegate_req(priv_dev, ctrl_req); - if (result) - return result; + if (result || !config) + goto reset_config; - if (config) { - cdns3_set_hw_configuration(priv_dev); - } else { - cdns3_hw_reset_eps_config(priv_dev); - usb_gadget_set_state(&priv_dev->gadget, - USB_STATE_ADDRESS); - } break; case USB_STATE_CONFIGURED: result = cdns3_ep0_delegate_req(priv_dev, ctrl_req); + if (!config && !result) + goto reset_config; - if (!config && !result) { - cdns3_hw_reset_eps_config(priv_dev); - usb_gadget_set_state(&priv_dev->gadget, - USB_STATE_ADDRESS); - } break; default: - result = -EINVAL; + return -EINVAL; } + return 0; + +reset_config: + if (result != USB_GADGET_DELAYED_STATUS) + cdns3_hw_reset_eps_config(priv_dev); + + usb_gadget_set_state(&priv_dev->gadget, + USB_STATE_ADDRESS); + return result; } @@ -701,9 +688,9 @@ struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep); struct cdns3_device *priv_dev = priv_ep->cdns3_dev; unsigned long flags; - int erdy_sent = 0; int ret = 0; u8 zlp = 0; + int i; spin_lock_irqsave(&priv_dev->lock, flags); trace_cdns3_ep0_queue(priv_dev, request); @@ -718,14 +705,18 @@ if (priv_dev->ep0_stage == CDNS3_STATUS_STAGE) { cdns3_select_ep(priv_dev, 0x00); - erdy_sent = !priv_dev->hw_configured_flag; - cdns3_set_hw_configuration(priv_dev); - - if (!erdy_sent) - cdns3_ep0_complete_setup(priv_dev, 0, 1); - - cdns3_allow_enable_l1(priv_dev, 1); + /* + * Configure all non-control EPs which are not enabled by class driver + */ + for (i = 0; i < CDNS3_ENDPOINTS_MAX_COUNT; i++) { + priv_ep = priv_dev->eps[i]; + if (priv_ep && priv_ep->flags & EP_CLAIMED && + !(priv_ep->flags & EP_ENABLED)) + cdns3_ep_config(priv_ep, 0); + } + cdns3_set_hw_configuration(priv_dev); + cdns3_ep0_complete_setup(priv_dev, 0, 1); request->actual = 0; priv_dev->status_completion_no_call = true; priv_dev->pending_status_request = request; @@ -809,6 +800,7 @@ struct cdns3_usb_regs __iomem *regs; struct cdns3_endpoint *priv_ep; u32 max_packet_size = 64; + u32 ep_cfg; regs = priv_dev->regs; @@ -840,8 +832,10 @@ BIT(0) | BIT(16)); } - writel(EP_CFG_ENABLE | EP_CFG_MAXPKTSIZE(max_packet_size), - ®s->ep_cfg); + ep_cfg = EP_CFG_ENABLE | EP_CFG_MAXPKTSIZE(max_packet_size); + + if (!(priv_ep->flags & EP_CONFIGURED)) + writel(ep_cfg, ®s->ep_cfg); writel(EP_STS_EN_SETUPEN | EP_STS_EN_DESCMISEN | EP_STS_EN_TRBERREN, ®s->ep_sts_en); @@ -849,8 +843,10 @@ /* init ep in */ cdns3_select_ep(priv_dev, USB_DIR_IN); - writel(EP_CFG_ENABLE | EP_CFG_MAXPKTSIZE(max_packet_size), - ®s->ep_cfg); + if (!(priv_ep->flags & EP_CONFIGURED)) + writel(ep_cfg, ®s->ep_cfg); + + priv_ep->flags |= EP_CONFIGURED; writel(EP_STS_EN_SETUPEN | EP_STS_EN_TRBERREN, ®s->ep_sts_en); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/cdns3/gadget.c +++ linux-riscv-5.8-5.8.0/drivers/usb/cdns3/gadget.c @@ -242,9 +242,10 @@ return -ENOMEM; priv_ep->alloc_ring_size = ring_size; - memset(priv_ep->trb_pool, 0, ring_size); } + memset(priv_ep->trb_pool, 0, ring_size); + priv_ep->num_trbs = num_trbs; if (!priv_ep->num) @@ -260,8 +261,8 @@ */ link_trb->control = 0; } else { - link_trb->buffer = TRB_BUFFER(priv_ep->trb_pool_dma); - link_trb->control = TRB_CYCLE | TRB_TYPE(TRB_LINK) | TRB_TOGGLE; + link_trb->buffer = cpu_to_le32(TRB_BUFFER(priv_ep->trb_pool_dma)); + link_trb->control = cpu_to_le32(TRB_CYCLE | TRB_TYPE(TRB_LINK) | TRB_TOGGLE); } return 0; } @@ -295,6 +296,8 @@ */ void cdns3_hw_reset_eps_config(struct cdns3_device *priv_dev) { + int i; + writel(USB_CONF_CFGRST, &priv_dev->regs->usb_conf); cdns3_allow_enable_l1(priv_dev, 0); @@ -303,6 +306,10 @@ priv_dev->out_mem_is_allocated = 0; priv_dev->wait_for_setup = 0; priv_dev->using_streams = 0; + + for (i = 0; i < CDNS3_ENDPOINTS_MAX_COUNT; i++) + if (priv_dev->eps[i]) + priv_dev->eps[i]->flags &= ~EP_CONFIGURED; } /** @@ -846,10 +853,10 @@ priv_ep->wa1_trb_index = 0xFFFF; if (priv_ep->wa1_cycle_bit) { priv_ep->wa1_trb->control = - priv_ep->wa1_trb->control | 0x1; + priv_ep->wa1_trb->control | cpu_to_le32(0x1); } else { priv_ep->wa1_trb->control = - priv_ep->wa1_trb->control & ~0x1; + priv_ep->wa1_trb->control & cpu_to_le32(~0x1); } } } @@ -1007,17 +1014,16 @@ TRB_STREAM_ID(priv_req->request.stream_id) | TRB_ISP; if (!request->num_sgs) { - trb->buffer = TRB_BUFFER(trb_dma); + trb->buffer = cpu_to_le32(TRB_BUFFER(trb_dma)); length = request->length; } else { - trb->buffer = TRB_BUFFER(request->sg[sg_idx].dma_address); + trb->buffer = cpu_to_le32(TRB_BUFFER(request->sg[sg_idx].dma_address)); length = request->sg[sg_idx].length; } tdl = DIV_ROUND_UP(length, priv_ep->endpoint.maxpacket); - trb->length = TRB_BURST_LEN(16 /*priv_ep->trb_burst_size*/) | - TRB_LEN(length); + trb->length = cpu_to_le32(TRB_BURST_LEN(16) | TRB_LEN(length)); /* * For DEV_VER_V2 controller version we have enabled @@ -1026,11 +1032,11 @@ */ if (priv_dev->dev_ver >= DEV_VER_V2) { if (priv_dev->gadget.speed == USB_SPEED_SUPER) - trb->length |= TRB_TDL_SS_SIZE(tdl); + trb->length |= cpu_to_le32(TRB_TDL_SS_SIZE(tdl)); } priv_req->flags |= REQUEST_PENDING; - trb->control = control; + trb->control = cpu_to_le32(control); trace_cdns3_prepare_trb(priv_ep, priv_req->trb); @@ -1154,8 +1160,8 @@ TRBS_PER_SEGMENT > 2) ch_bit = TRB_CHAIN; - link_trb->control = ((priv_ep->pcs) ? TRB_CYCLE : 0) | - TRB_TYPE(TRB_LINK) | TRB_TOGGLE | ch_bit; + link_trb->control = cpu_to_le32(((priv_ep->pcs) ? TRB_CYCLE : 0) | + TRB_TYPE(TRB_LINK) | TRB_TOGGLE | ch_bit); } if (priv_dev->dev_ver <= DEV_VER_V2) @@ -1163,35 +1169,37 @@ /* set incorrect Cycle Bit for first trb*/ control = priv_ep->pcs ? 0 : TRB_CYCLE; + trb->length = 0; + if (priv_dev->dev_ver >= DEV_VER_V2) { + u16 td_size; + + td_size = DIV_ROUND_UP(request->length, + priv_ep->endpoint.maxpacket); + if (priv_dev->gadget.speed == USB_SPEED_SUPER) + trb->length = TRB_TDL_SS_SIZE(td_size); + else + control |= TRB_TDL_HS_SIZE(td_size); + } do { u32 length; - u16 td_size = 0; /* fill TRB */ control |= TRB_TYPE(TRB_NORMAL); - trb->buffer = TRB_BUFFER(request->num_sgs == 0 - ? trb_dma : request->sg[sg_iter].dma_address); + trb->buffer = cpu_to_le32(TRB_BUFFER(request->num_sgs == 0 + ? trb_dma : request->sg[sg_iter].dma_address)); if (likely(!request->num_sgs)) length = request->length; else length = request->sg[sg_iter].length; - if (likely(priv_dev->dev_ver >= DEV_VER_V2)) - td_size = DIV_ROUND_UP(length, - priv_ep->endpoint.maxpacket); - else if (priv_ep->flags & EP_TDLCHK_EN) + if (priv_ep->flags & EP_TDLCHK_EN) total_tdl += DIV_ROUND_UP(length, priv_ep->endpoint.maxpacket); - trb->length = TRB_BURST_LEN(priv_ep->trb_burst_size) | - TRB_LEN(length); - if (priv_dev->gadget.speed == USB_SPEED_SUPER) - trb->length |= TRB_TDL_SS_SIZE(td_size); - else - control |= TRB_TDL_HS_SIZE(td_size); - + trb->length |= cpu_to_le32(TRB_BURST_LEN(priv_ep->trb_burst_size) | + TRB_LEN(length)); pcs = priv_ep->pcs ? TRB_CYCLE : 0; /* @@ -1210,9 +1218,9 @@ } if (sg_iter) - trb->control = control; + trb->control = cpu_to_le32(control); else - priv_req->trb->control = control; + priv_req->trb->control = cpu_to_le32(control); control = 0; ++sg_iter; @@ -1226,7 +1234,7 @@ priv_req->flags |= REQUEST_PENDING; if (sg_iter == 1) - trb->control |= TRB_IOC | TRB_ISP; + trb->control |= cpu_to_le32(TRB_IOC | TRB_ISP); if (priv_dev->dev_ver < DEV_VER_V2 && (priv_ep->flags & EP_TDLCHK_EN)) { @@ -1252,7 +1260,7 @@ /* give the TD to the consumer*/ if (togle_pcs) - trb->control = trb->control ^ 1; + trb->control = trb->control ^ cpu_to_le32(1); if (priv_dev->dev_ver <= DEV_VER_V2) cdns3_wa1_tray_restore_cycle_bit(priv_dev, priv_ep); @@ -1314,7 +1322,6 @@ return; writel(USB_CONF_CFGSET, &priv_dev->regs->usb_conf); - writel(EP_CMD_ERDY | EP_CMD_REQ_CMPL, &priv_dev->regs->ep_cmd); cdns3_set_register_bit(&priv_dev->regs->usb_conf, USB_CONF_U1EN | USB_CONF_U2EN); @@ -1331,6 +1338,8 @@ cdns3_start_all_request(priv_dev, priv_ep); } } + + cdns3_allow_enable_l1(priv_dev, 1); } /** @@ -1390,7 +1399,7 @@ trb = &priv_ep->trb_pool[priv_req->start_trb]; - if ((trb->control & TRB_CYCLE) != priv_ep->ccs) + if ((le32_to_cpu(trb->control) & TRB_CYCLE) != priv_ep->ccs) goto finish; if (doorbell == 1 && current_index == priv_ep->dequeue) @@ -1439,7 +1448,7 @@ trb = priv_ep->trb_pool + priv_ep->dequeue; /* Request was dequeued and TRB was changed to TRB_LINK. */ - if (TRB_FIELD_TO_TYPE(trb->control) == TRB_LINK) { + if (TRB_FIELD_TO_TYPE(le32_to_cpu(trb->control)) == TRB_LINK) { trace_cdns3_complete_trb(priv_ep, trb); cdns3_move_deq_to_next_trb(priv_req); } @@ -1571,7 +1580,7 @@ * that host ignore the ERDY packet and driver has to send it * again. */ - if (tdl && (dbusy | !EP_STS_BUFFEMPTY(ep_sts_reg) | + if (tdl && (dbusy || !EP_STS_BUFFEMPTY(ep_sts_reg) || EP_STS_HOSTPP(ep_sts_reg))) { writel(EP_CMD_ERDY | EP_CMD_ERDY_SID(priv_ep->last_stream_id), @@ -1904,27 +1913,6 @@ return 0; } -static void cdns3_stream_ep_reconfig(struct cdns3_device *priv_dev, - struct cdns3_endpoint *priv_ep) -{ - if (!priv_ep->use_streams || priv_dev->gadget.speed < USB_SPEED_SUPER) - return; - - if (priv_dev->dev_ver >= DEV_VER_V3) { - u32 mask = BIT(priv_ep->num + (priv_ep->dir ? 16 : 0)); - - /* - * Stream capable endpoints are handled by using ep_tdl - * register. Other endpoints use TDL from TRB feature. - */ - cdns3_clear_register_bit(&priv_dev->regs->tdl_from_trb, mask); - } - - /* Enable Stream Bit TDL chk and SID chk */ - cdns3_set_register_bit(&priv_dev->regs->ep_cfg, EP_CFG_STREAM_EN | - EP_CFG_TDL_CHK | EP_CFG_SID_CHK); -} - static void cdns3_configure_dmult(struct cdns3_device *priv_dev, struct cdns3_endpoint *priv_ep) { @@ -1962,8 +1950,9 @@ /** * cdns3_ep_config Configure hardware endpoint * @priv_ep: extended endpoint object + * @enable: set EP_CFG_ENABLE bit in ep_cfg register. */ -void cdns3_ep_config(struct cdns3_endpoint *priv_ep) +int cdns3_ep_config(struct cdns3_endpoint *priv_ep, bool enable) { bool is_iso_ep = (priv_ep->type == USB_ENDPOINT_XFER_ISOC); struct cdns3_device *priv_dev = priv_ep->cdns3_dev; @@ -2024,7 +2013,7 @@ break; default: /* all other speed are not supported */ - return; + return -EINVAL; } if (max_packet_size == 1024) @@ -2034,11 +2023,33 @@ else priv_ep->trb_burst_size = 16; - ret = cdns3_ep_onchip_buffer_reserve(priv_dev, buffering + 1, - !!priv_ep->dir); - if (ret) { - dev_err(priv_dev->dev, "onchip mem is full, ep is invalid\n"); - return; + /* onchip buffer is only allocated before configuration */ + if (!priv_dev->hw_configured_flag) { + ret = cdns3_ep_onchip_buffer_reserve(priv_dev, buffering + 1, + !!priv_ep->dir); + if (ret) { + dev_err(priv_dev->dev, "onchip mem is full, ep is invalid\n"); + return ret; + } + } + + if (enable) + ep_cfg |= EP_CFG_ENABLE; + + if (priv_ep->use_streams && priv_dev->gadget.speed >= USB_SPEED_SUPER) { + if (priv_dev->dev_ver >= DEV_VER_V3) { + u32 mask = BIT(priv_ep->num + (priv_ep->dir ? 16 : 0)); + + /* + * Stream capable endpoints are handled by using ep_tdl + * register. Other endpoints use TDL from TRB feature. + */ + cdns3_clear_register_bit(&priv_dev->regs->tdl_from_trb, + mask); + } + + /* Enable Stream Bit TDL chk and SID chk */ + ep_cfg |= EP_CFG_STREAM_EN | EP_CFG_TDL_CHK | EP_CFG_SID_CHK; } ep_cfg |= EP_CFG_MAXPKTSIZE(max_packet_size) | @@ -2048,9 +2059,12 @@ cdns3_select_ep(priv_dev, bEndpointAddress); writel(ep_cfg, &priv_dev->regs->ep_cfg); + priv_ep->flags |= EP_CONFIGURED; dev_dbg(priv_dev->dev, "Configure %s: with val %08x\n", priv_ep->name, ep_cfg); + + return 0; } /* Find correct direction for HW endpoint according to description */ @@ -2191,7 +2205,7 @@ u32 bEndpointAddress; unsigned long flags; int enable = 1; - int ret; + int ret = 0; int val; priv_ep = ep_to_cdns3_ep(ep); @@ -2230,6 +2244,17 @@ bEndpointAddress = priv_ep->num | priv_ep->dir; cdns3_select_ep(priv_dev, bEndpointAddress); + /* + * For some versions of controller at some point during ISO OUT traffic + * DMA reads Transfer Ring for the EP which has never got doorbell. + * This issue was detected only on simulation, but to avoid this issue + * driver add protection against it. To fix it driver enable ISO OUT + * endpoint before setting DRBL. This special treatment of ISO OUT + * endpoints are recommended by controller specification. + */ + if (priv_ep->type == USB_ENDPOINT_XFER_ISOC && !priv_ep->dir) + enable = 0; + if (usb_ss_max_streams(comp_desc) && usb_endpoint_xfer_bulk(desc)) { /* * Enable stream support (SS mode) related interrupts @@ -2240,13 +2265,17 @@ EP_STS_EN_SIDERREN | EP_STS_EN_MD_EXITEN | EP_STS_EN_STREAMREN; priv_ep->use_streams = true; - cdns3_stream_ep_reconfig(priv_dev, priv_ep); + ret = cdns3_ep_config(priv_ep, enable); priv_dev->using_streams |= true; } + } else { + ret = cdns3_ep_config(priv_ep, enable); } - ret = cdns3_allocate_trb_pool(priv_ep); + if (ret) + goto exit; + ret = cdns3_allocate_trb_pool(priv_ep); if (ret) goto exit; @@ -2276,20 +2305,6 @@ writel(reg, &priv_dev->regs->ep_sts_en); - /* - * For some versions of controller at some point during ISO OUT traffic - * DMA reads Transfer Ring for the EP which has never got doorbell. - * This issue was detected only on simulation, but to avoid this issue - * driver add protection against it. To fix it driver enable ISO OUT - * endpoint before setting DRBL. This special treatment of ISO OUT - * endpoints are recommended by controller specification. - */ - if (priv_ep->type == USB_ENDPOINT_XFER_ISOC && !priv_ep->dir) - enable = 0; - - if (enable) - cdns3_set_register_bit(&priv_dev->regs->ep_cfg, EP_CFG_ENABLE); - ep->desc = desc; priv_ep->flags &= ~(EP_PENDING_REQUEST | EP_STALLED | EP_STALL_PENDING | EP_QUIRK_ISO_OUT_EN | EP_QUIRK_EXTRA_BUF_EN); @@ -2549,10 +2564,10 @@ /* Update ring only if removed request is on pending_req_list list */ if (req_on_hw_ring && link_trb) { - link_trb->buffer = TRB_BUFFER(priv_ep->trb_pool_dma + - ((priv_req->end_trb + 1) * TRB_SIZE)); - link_trb->control = (link_trb->control & TRB_CYCLE) | - TRB_TYPE(TRB_LINK) | TRB_CHAIN; + 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) | + TRB_TYPE(TRB_LINK) | TRB_CHAIN); if (priv_ep->wa1_trb == priv_req->trb) cdns3_wa1_restore_cycle_bit(priv_ep); @@ -2607,7 +2622,7 @@ priv_req = to_cdns3_request(request); trb = priv_req->trb; if (trb) - trb->control = trb->control ^ TRB_CYCLE; + trb->control = trb->control ^ cpu_to_le32(TRB_CYCLE); } writel(EP_CMD_CSTALL | EP_CMD_EPRST, &priv_dev->regs->ep_cmd); @@ -2622,7 +2637,8 @@ if (request) { if (trb) - trb->control = trb->control ^ TRB_CYCLE; + trb->control = trb->control ^ cpu_to_le32(TRB_CYCLE); + cdns3_rearm_transfer(priv_ep, 1); } @@ -2987,12 +3003,12 @@ priv_dev = cdns->gadget_dev; - devm_free_irq(cdns->dev, cdns->dev_irq, priv_dev); pm_runtime_mark_last_busy(cdns->dev); pm_runtime_put_autosuspend(cdns->dev); usb_del_gadget_udc(&priv_dev->gadget); + devm_free_irq(cdns->dev, cdns->dev_irq, priv_dev); cdns3_free_all_eps(priv_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/cdns3/gadget.h +++ linux-riscv-5.8-5.8.0/drivers/usb/cdns3/gadget.h @@ -1067,7 +1067,7 @@ #define TRB_TDL_SS_SIZE_GET(p) (((p) & GENMASK(23, 17)) >> 17) /* transfer_len bitmasks - bits 31:24 */ -#define TRB_BURST_LEN(p) (((p) << 24) & GENMASK(31, 24)) +#define TRB_BURST_LEN(p) ((unsigned int)((p) << 24) & GENMASK(31, 24)) #define TRB_BURST_LEN_GET(p) (((p) & GENMASK(31, 24)) >> 24) /* Data buffer pointer bitmasks*/ @@ -1154,6 +1154,7 @@ #define EP_QUIRK_EXTRA_BUF_DET BIT(12) #define EP_QUIRK_EXTRA_BUF_EN BIT(13) #define EP_TDLCHK_EN BIT(15) +#define EP_CONFIGURED BIT(16) u32 flags; struct cdns3_request *descmis_req; @@ -1351,7 +1352,7 @@ int cdns3_init_ep0(struct cdns3_device *priv_dev, struct cdns3_endpoint *priv_ep); void cdns3_ep0_config(struct cdns3_device *priv_dev); -void cdns3_ep_config(struct cdns3_endpoint *priv_ep); +int cdns3_ep_config(struct cdns3_endpoint *priv_ep, bool enable); void cdns3_check_ep0_interrupt_proceed(struct cdns3_device *priv_dev, int dir); int __cdns3_gadget_wakeup(struct cdns3_device *priv_dev); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/chipidea/ci_hdrc_imx.c +++ linux-riscv-5.8-5.8.0/drivers/usb/chipidea/ci_hdrc_imx.c @@ -57,7 +57,8 @@ static const struct ci_hdrc_imx_platform_flag imx6ul_usb_data = { .flags = CI_HDRC_SUPPORTS_RUNTIME_PM | - CI_HDRC_TURN_VBUS_EARLY_ON, + CI_HDRC_TURN_VBUS_EARLY_ON | + CI_HDRC_DISABLE_DEVICE_STREAMING, }; static const struct ci_hdrc_imx_platform_flag imx7d_usb_data = { @@ -138,9 +139,13 @@ misc_pdev = of_find_device_by_node(args.np); of_node_put(args.np); - if (!misc_pdev || !platform_get_drvdata(misc_pdev)) + if (!misc_pdev) return ERR_PTR(-EPROBE_DEFER); + if (!platform_get_drvdata(misc_pdev)) { + put_device(&misc_pdev->dev); + return ERR_PTR(-EPROBE_DEFER); + } data->dev = &misc_pdev->dev; /* --- linux-riscv-5.8-5.8.0.orig/drivers/usb/class/cdc-acm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/class/cdc-acm.c @@ -147,17 +147,29 @@ #define acm_send_break(acm, ms) \ acm_ctrl_msg(acm, USB_CDC_REQ_SEND_BREAK, ms, NULL, 0) -static void acm_kill_urbs(struct acm *acm) +static void acm_poison_urbs(struct acm *acm) { int i; - usb_kill_urb(acm->ctrlurb); + usb_poison_urb(acm->ctrlurb); for (i = 0; i < ACM_NW; i++) - usb_kill_urb(acm->wb[i].urb); + usb_poison_urb(acm->wb[i].urb); for (i = 0; i < acm->rx_buflimit; i++) - usb_kill_urb(acm->read_urbs[i]); + usb_poison_urb(acm->read_urbs[i]); +} + +static void acm_unpoison_urbs(struct acm *acm) +{ + int i; + + for (i = 0; i < acm->rx_buflimit; i++) + usb_unpoison_urb(acm->read_urbs[i]); + for (i = 0; i < ACM_NW; i++) + usb_unpoison_urb(acm->wb[i].urb); + usb_unpoison_urb(acm->ctrlurb); } + /* * Write buffer management. * All of these assume proper locks taken by the caller. @@ -225,9 +237,10 @@ rc = usb_submit_urb(wb->urb, GFP_ATOMIC); if (rc < 0) { - dev_err(&acm->data->dev, - "%s - usb_submit_urb(write bulk) failed: %d\n", - __func__, rc); + if (rc != -EPERM) + dev_err(&acm->data->dev, + "%s - usb_submit_urb(write bulk) failed: %d\n", + __func__, rc); acm_write_done(acm, wb); } return rc; @@ -312,8 +325,10 @@ acm->iocount.dsr++; if (difference & ACM_CTRL_DCD) acm->iocount.dcd++; - if (newctrl & ACM_CTRL_BRK) + if (newctrl & ACM_CTRL_BRK) { acm->iocount.brk++; + tty_insert_flip_char(&acm->port, 0, TTY_BREAK); + } if (newctrl & ACM_CTRL_RI) acm->iocount.rng++; if (newctrl & ACM_CTRL_FRAMING) @@ -378,21 +393,19 @@ if (current_size < expected_size) { /* notification is transmitted fragmented, reassemble */ if (acm->nb_size < expected_size) { - if (acm->nb_size) { - kfree(acm->notification_buffer); - acm->nb_size = 0; - } + u8 *new_buffer; alloc_size = roundup_pow_of_two(expected_size); - /* - * kmalloc ensures a valid notification_buffer after a - * use of kfree in case the previous allocation was too - * small. Final freeing is done on disconnect. - */ - acm->notification_buffer = - kmalloc(alloc_size, GFP_ATOMIC); - if (!acm->notification_buffer) + /* Final freeing is done on disconnect. */ + new_buffer = krealloc(acm->notification_buffer, + alloc_size, GFP_ATOMIC); + if (!new_buffer) { + acm->nb_index = 0; goto exit; + } + + acm->notification_buffer = new_buffer; acm->nb_size = alloc_size; + dr = (struct usb_cdc_notification *)acm->notification_buffer; } copy_size = min(current_size, @@ -481,11 +494,6 @@ dev_vdbg(&acm->data->dev, "got urb %d, len %d, status %d\n", rb->index, urb->actual_length, status); - if (!acm->dev) { - dev_dbg(&acm->data->dev, "%s - disconnected\n", __func__); - return; - } - switch (status) { case 0: usb_mark_last_busy(acm->dev); @@ -509,6 +517,7 @@ "%s - cooling babbling device\n", __func__); usb_mark_last_busy(acm->dev); set_bit(rb->index, &acm->urbs_in_error_delay); + set_bit(ACM_ERROR_DELAY, &acm->flags); cooldown = true; break; default: @@ -534,7 +543,7 @@ if (stopped || stalled || cooldown) { if (stalled) - schedule_work(&acm->work); + schedule_delayed_work(&acm->dwork, 0); else if (cooldown) schedule_delayed_work(&acm->dwork, HZ / 2); return; @@ -564,13 +573,13 @@ acm_write_done(acm, wb); spin_unlock_irqrestore(&acm->write_lock, flags); set_bit(EVENT_TTY_WAKEUP, &acm->flags); - schedule_work(&acm->work); + schedule_delayed_work(&acm->dwork, 0); } static void acm_softint(struct work_struct *work) { int i; - struct acm *acm = container_of(work, struct acm, work); + struct acm *acm = container_of(work, struct acm, dwork.work); if (test_bit(EVENT_RX_STALL, &acm->flags)) { smp_mb(); /* against acm_suspend() */ @@ -586,7 +595,7 @@ if (test_and_clear_bit(ACM_ERROR_DELAY, &acm->flags)) { for (i = 0; i < acm->rx_buflimit; i++) if (test_and_clear_bit(i, &acm->urbs_in_error_delay)) - acm_submit_read_urb(acm, i, GFP_NOIO); + acm_submit_read_urb(acm, i, GFP_KERNEL); } if (test_and_clear_bit(EVENT_TTY_WAKEUP, &acm->flags)) @@ -649,7 +658,8 @@ res = acm_set_control(acm, val); if (res && (acm->ctrl_caps & USB_CDC_CAP_LINE)) - dev_err(&acm->control->dev, "failed to set dtr/rts\n"); + /* This is broken in too many devices to spam the logs */ + dev_dbg(&acm->control->dev, "failed to set dtr/rts\n"); } static int acm_port_activate(struct tty_port *port, struct tty_struct *tty) @@ -731,6 +741,7 @@ * Need to grab write_lock to prevent race with resume, but no need to * hold it due to the tty-port initialised flag. */ + acm_poison_urbs(acm); spin_lock_irq(&acm->write_lock); spin_unlock_irq(&acm->write_lock); @@ -747,7 +758,8 @@ usb_autopm_put_interface_async(acm->control); } - acm_kill_urbs(acm); + acm_unpoison_urbs(acm); + } static void acm_tty_cleanup(struct tty_struct *tty) @@ -1245,9 +1257,21 @@ } } } else { + int class = -1; + data_intf_num = union_header->bSlaveInterface0; control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); data_interface = usb_ifnum_to_if(usb_dev, data_intf_num); + + if (control_interface) + class = control_interface->cur_altsetting->desc.bInterfaceClass; + + if (class != USB_CLASS_COMM && class != USB_CLASS_CDC_DATA) { + dev_dbg(&intf->dev, "Broken union descriptor, assuming single interface\n"); + combined_interfaces = 1; + control_interface = data_interface = intf; + goto look_for_collapsed_interface; + } } if (!control_interface || !data_interface) { @@ -1354,7 +1378,6 @@ acm->ctrlsize = ctrlsize; acm->readsize = readsize; acm->rx_buflimit = num_rx_buf; - INIT_WORK(&acm->work, acm_softint); INIT_DELAYED_WORK(&acm->dwork, acm_softint); init_waitqueue_head(&acm->wioctl); spin_lock_init(&acm->write_lock); @@ -1506,12 +1529,16 @@ return 0; alloc_fail6: + if (!acm->combined_interfaces) { + /* Clear driver data so that disconnect() returns early. */ + usb_set_intfdata(data_interface, NULL); + usb_driver_release_interface(&acm_driver, data_interface); + } if (acm->country_codes) { device_remove_file(&acm->control->dev, &dev_attr_wCountryCodes); device_remove_file(&acm->control->dev, &dev_attr_iCountryCodeRelDate); - kfree(acm->country_codes); } device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); alloc_fail5: @@ -1543,8 +1570,14 @@ if (!acm) return; - mutex_lock(&acm->mutex); acm->disconnected = true; + /* + * there is a circular dependency. acm_softint() can resubmit + * the URBs in error handling so we need to block any + * submission right away + */ + acm_poison_urbs(acm); + mutex_lock(&acm->mutex); if (acm->country_codes) { device_remove_file(&acm->control->dev, &dev_attr_wCountryCodes); @@ -1563,8 +1596,6 @@ tty_kref_put(tty); } - acm_kill_urbs(acm); - cancel_work_sync(&acm->work); cancel_delayed_work_sync(&acm->dwork); tty_unregister_device(acm_tty_driver, acm->minor); @@ -1606,8 +1637,7 @@ if (cnt) return 0; - acm_kill_urbs(acm); - cancel_work_sync(&acm->work); + acm_poison_urbs(acm); cancel_delayed_work_sync(&acm->dwork); acm->urbs_in_error_delay = 0; @@ -1625,6 +1655,8 @@ if (--acm->susp_count) goto out; + acm_unpoison_urbs(acm); + if (tty_port_initialized(&acm->port)) { rv = usb_submit_urb(acm->ctrlurb, GFP_ATOMIC); @@ -1698,6 +1730,15 @@ { USB_DEVICE(0x0870, 0x0001), /* Metricom GS Modem */ .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ }, + { USB_DEVICE(0x045b, 0x023c), /* Renesas USB Download mode */ + .driver_info = DISABLE_ECHO, /* Don't echo banner */ + }, + { USB_DEVICE(0x045b, 0x0248), /* Renesas USB Download mode */ + .driver_info = DISABLE_ECHO, /* Don't echo banner */ + }, + { USB_DEVICE(0x045b, 0x024D), /* Renesas USB Download mode */ + .driver_info = DISABLE_ECHO, /* Don't echo banner */ + }, { USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */ .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ }, @@ -1890,6 +1931,10 @@ { USB_DEVICE(0x04d8, 0x0083), /* Bootloader mode */ .driver_info = IGNORE_DEVICE, }, + + { USB_DEVICE(0x04d8, 0xf58b), + .driver_info = IGNORE_DEVICE, + }, #endif /*Samsung phone in firmware update mode */ @@ -1902,6 +1947,17 @@ .driver_info = IGNORE_DEVICE, }, + /* Exclude ETAS ES58x */ + { USB_DEVICE(0x108c, 0x0159), /* ES581.4 */ + .driver_info = IGNORE_DEVICE, + }, + { USB_DEVICE(0x108c, 0x0168), /* ES582.1 */ + .driver_info = IGNORE_DEVICE, + }, + { USB_DEVICE(0x108c, 0x0169), /* ES584.1 */ + .driver_info = IGNORE_DEVICE, + }, + { USB_DEVICE(0x1bc7, 0x0021), /* Telit 3G ACM only composition */ .driver_info = SEND_ZERO_PACKET, }, @@ -1909,6 +1965,25 @@ .driver_info = SEND_ZERO_PACKET, }, + /* 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, }, + + /* Exclude Goodix Fingerprint Reader */ + { USB_DEVICE(0x27c6, 0x5395), + .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-riscv-5.8-5.8.0.orig/drivers/usb/class/cdc-acm.h +++ linux-riscv-5.8-5.8.0/drivers/usb/class/cdc-acm.h @@ -112,8 +112,7 @@ # define ACM_ERROR_DELAY 3 unsigned long urbs_in_error_delay; /* these need to be restarted after a delay */ struct usb_cdc_line_coding line; /* bits, stop, parity */ - struct work_struct work; /* work queue entry for various purposes*/ - struct delayed_work dwork; /* for cool downs needed in error recovery */ + struct delayed_work dwork; /* work queue entry for various purposes */ unsigned int ctrlin; /* input control lines (DCD, DSR, RI, break, overruns) */ unsigned int ctrlout; /* output control lines (DTR, RTS) */ struct async_icount iocount; /* counters for control line changes */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/class/cdc-wdm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/class/cdc-wdm.c @@ -58,6 +58,9 @@ #define WDM_MAX 16 +/* we cannot wait forever at flush() */ +#define WDM_FLUSH_TIMEOUT (30 * HZ) + /* CDC-WMC r1.1 requires wMaxCommand to be "at least 256 decimal (0x100)" */ #define WDM_DEFAULT_BUFSIZE 256 @@ -151,7 +154,7 @@ kfree(desc->outbuf); desc->outbuf = NULL; clear_bit(WDM_IN_USE, &desc->flags); - wake_up(&desc->wait); + wake_up_all(&desc->wait); } static void wdm_in_callback(struct urb *urb) @@ -393,6 +396,9 @@ if (test_bit(WDM_RESETTING, &desc->flags)) r = -EIO; + if (test_bit(WDM_DISCONNECTING, &desc->flags)) + r = -ENODEV; + if (r < 0) { rv = r; goto out_free_mem_pm; @@ -424,6 +430,7 @@ if (rv < 0) { desc->outbuf = NULL; clear_bit(WDM_IN_USE, &desc->flags); + wake_up_all(&desc->wait); /* for wdm_wait_for_response() */ dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv); rv = usb_translate_errors(rv); goto out_free_mem_pm; @@ -458,13 +465,23 @@ if (!desc->resp_count || !--desc->resp_count) goto out; + if (test_bit(WDM_DISCONNECTING, &desc->flags)) { + rv = -ENODEV; + goto out; + } + if (test_bit(WDM_RESETTING, &desc->flags)) { + rv = -EIO; + goto out; + } + set_bit(WDM_RESPONDING, &desc->flags); spin_unlock_irq(&desc->iuspin); rv = usb_submit_urb(desc->response, GFP_KERNEL); spin_lock_irq(&desc->iuspin); if (rv) { - dev_err(&desc->intf->dev, - "usb_submit_urb failed with result %d\n", rv); + if (!test_bit(WDM_DISCONNECTING, &desc->flags)) + dev_err(&desc->intf->dev, + "usb_submit_urb failed with result %d\n", rv); /* make sure the next notification trigger a submit */ clear_bit(WDM_RESPONDING, &desc->flags); @@ -583,28 +600,58 @@ return rv; } -static int wdm_flush(struct file *file, fl_owner_t id) +static int wdm_wait_for_response(struct file *file, long timeout) { struct wdm_device *desc = file->private_data; + long rv; /* Use long here because (int) MAX_SCHEDULE_TIMEOUT < 0. */ - wait_event(desc->wait, - /* - * needs both flags. We cannot do with one - * because resetting it would cause a race - * with write() yet we need to signal - * a disconnect - */ - !test_bit(WDM_IN_USE, &desc->flags) || - test_bit(WDM_DISCONNECTING, &desc->flags)); + /* + * Needs both flags. We cannot do with one because resetting it would + * cause a race with write() yet we need to signal a disconnect. + */ + rv = wait_event_interruptible_timeout(desc->wait, + !test_bit(WDM_IN_USE, &desc->flags) || + test_bit(WDM_DISCONNECTING, &desc->flags), + timeout); - /* cannot dereference desc->intf if WDM_DISCONNECTING */ + /* + * To report the correct error. This is best effort. + * We are inevitably racing with the hardware. + */ if (test_bit(WDM_DISCONNECTING, &desc->flags)) return -ENODEV; - if (desc->werr < 0) - dev_err(&desc->intf->dev, "Error in flush path: %d\n", - desc->werr); + if (!rv) + return -EIO; + if (rv < 0) + return -EINTR; + + spin_lock_irq(&desc->iuspin); + rv = desc->werr; + desc->werr = 0; + spin_unlock_irq(&desc->iuspin); + + return usb_translate_errors(rv); - return usb_translate_errors(desc->werr); +} + +/* + * You need to send a signal when you react to malicious or defective hardware. + * Also, don't abort when fsync() returned -EINVAL, for older kernels which do + * not implement wdm_flush() will return -EINVAL. + */ +static int wdm_fsync(struct file *file, loff_t start, loff_t end, int datasync) +{ + return wdm_wait_for_response(file, MAX_SCHEDULE_TIMEOUT); +} + +/* + * Same with wdm_fsync(), except it uses finite timeout in order to react to + * malicious or defective hardware which ceased communication after close() was + * implicitly called due to process termination. + */ +static int wdm_flush(struct file *file, fl_owner_t id) +{ + return wdm_wait_for_response(file, WDM_FLUSH_TIMEOUT); } static __poll_t wdm_poll(struct file *file, struct poll_table_struct *wait) @@ -729,6 +776,7 @@ .owner = THIS_MODULE, .read = wdm_read, .write = wdm_write, + .fsync = wdm_fsync, .open = wdm_open, .flush = wdm_flush, .release = wdm_release, @@ -988,9 +1036,9 @@ wake_up_all(&desc->wait); mutex_lock(&desc->rlock); mutex_lock(&desc->wlock); - kill_urbs(desc); cancel_work_sync(&desc->rxwork); cancel_work_sync(&desc->service_outs_intr); + kill_urbs(desc); mutex_unlock(&desc->wlock); mutex_unlock(&desc->rlock); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/class/usblp.c +++ linux-riscv-5.8-5.8.0/drivers/usb/class/usblp.c @@ -274,8 +274,25 @@ #define usblp_reset(usblp)\ usblp_ctrl_msg(usblp, USBLP_REQ_RESET, USB_TYPE_CLASS, USB_DIR_OUT, USB_RECIP_OTHER, 0, NULL, 0) -#define usblp_hp_channel_change_request(usblp, channel, buffer) \ - usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, USB_TYPE_VENDOR, USB_DIR_IN, USB_RECIP_INTERFACE, channel, buffer, 1) +static int usblp_hp_channel_change_request(struct usblp *usblp, int channel, u8 *new_channel) +{ + u8 *buf; + int ret; + + buf = kzalloc(1, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + ret = usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, + USB_TYPE_VENDOR, USB_DIR_IN, USB_RECIP_INTERFACE, + channel, buf, 1); + if (ret == 0) + *new_channel = buf[0]; + + kfree(buf); + + return ret; +} /* * See the description for usblp_select_alts() below for the usage @@ -477,16 +494,24 @@ /* No kernel lock - fine */ static __poll_t usblp_poll(struct file *file, struct poll_table_struct *wait) { - __poll_t ret; + struct usblp *usblp = file->private_data; + __poll_t ret = 0; unsigned long flags; - struct usblp *usblp = file->private_data; /* Should we check file->f_mode & FMODE_WRITE before poll_wait()? */ poll_wait(file, &usblp->rwait, wait); poll_wait(file, &usblp->wwait, wait); + + mutex_lock(&usblp->mut); + if (!usblp->present) + ret |= EPOLLHUP; + mutex_unlock(&usblp->mut); + spin_lock_irqsave(&usblp->lock, flags); - ret = ((usblp->bidir && usblp->rcomplete) ? EPOLLIN | EPOLLRDNORM : 0) | - ((usblp->no_paper || usblp->wcomplete) ? EPOLLOUT | EPOLLWRNORM : 0); + if (usblp->bidir && usblp->rcomplete) + ret |= EPOLLIN | EPOLLRDNORM; + if (usblp->no_paper || usblp->wcomplete) + ret |= EPOLLOUT | EPOLLWRNORM; spin_unlock_irqrestore(&usblp->lock, flags); return ret; } @@ -827,6 +852,11 @@ if (rv < 0) return rv; + if (!usblp->present) { + count = -ENODEV; + goto done; + } + if ((avail = usblp->rstatus) < 0) { printk(KERN_ERR "usblp%d: error %d reading from printer\n", usblp->minor, (int)avail); @@ -1307,14 +1337,17 @@ if (protocol < USBLP_FIRST_PROTOCOL || protocol > USBLP_LAST_PROTOCOL) return -EINVAL; - alts = usblp->protocol[protocol].alt_setting; - if (alts < 0) - return -EINVAL; - r = usb_set_interface(usblp->dev, usblp->ifnum, alts); - if (r < 0) { - printk(KERN_ERR "usblp: can't set desired altsetting %d on interface %d\n", - alts, usblp->ifnum); - return r; + /* Don't unnecessarily set the interface if there's a single alt. */ + if (usblp->intf->num_altsetting > 1) { + alts = usblp->protocol[protocol].alt_setting; + if (alts < 0) + return -EINVAL; + r = usb_set_interface(usblp->dev, usblp->ifnum, alts); + if (r < 0) { + printk(KERN_ERR "usblp: can't set desired altsetting %d on interface %d\n", + alts, usblp->ifnum); + return r; + } } usblp->bidir = (usblp->protocol[protocol].epread != NULL); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/devio.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/devio.c @@ -482,11 +482,11 @@ if (userurb) { /* Async */ if (when == SUBMIT) - dev_info(&udev->dev, "userurb %pK, ep%d %s-%s, " + dev_info(&udev->dev, "userurb %px, ep%d %s-%s, " "length %u\n", userurb, ep, t, d, length); else - dev_info(&udev->dev, "userurb %pK, ep%d %s-%s, " + dev_info(&udev->dev, "userurb %px, ep%d %s-%s, " "actual_length %u status %d\n", userurb, ep, t, d, length, timeout_or_status); @@ -1983,7 +1983,7 @@ if (as) { int retval; - snoop(&ps->dev->dev, "reap %pK\n", as->userurb); + snoop(&ps->dev->dev, "reap %px\n", as->userurb); retval = processcompl(as, (void __user * __user *)arg); free_async(as); return retval; @@ -2000,7 +2000,7 @@ as = async_getcompleted(ps); if (as) { - snoop(&ps->dev->dev, "reap %pK\n", as->userurb); + snoop(&ps->dev->dev, "reap %px\n", as->userurb); retval = processcompl(as, (void __user * __user *)arg); free_async(as); } else { @@ -2130,7 +2130,7 @@ if (as) { int retval; - snoop(&ps->dev->dev, "reap %pK\n", as->userurb); + snoop(&ps->dev->dev, "reap %px\n", as->userurb); retval = processcompl_compat(as, (void __user * __user *)arg); free_async(as); return retval; @@ -2147,7 +2147,7 @@ as = async_getcompleted(ps); if (as) { - snoop(&ps->dev->dev, "reap %pK\n", as->userurb); + snoop(&ps->dev->dev, "reap %px\n", as->userurb); retval = processcompl_compat(as, (void __user * __user *)arg); free_async(as); } else { @@ -2612,7 +2612,7 @@ #endif case USBDEVFS_DISCARDURB: - snoop(&dev->dev, "%s: DISCARDURB %pK\n", __func__, p); + snoop(&dev->dev, "%s: DISCARDURB %px\n", __func__, p); ret = proc_unlinkurb(ps, p); break; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/driver.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/driver.c @@ -269,8 +269,30 @@ if (error) return error; + /* Probe the USB device with the driver in hand, but only + * defer to a generic driver in case the current USB + * device driver has an id_table or a match function; i.e., + * when the device driver was explicitly matched against + * a device. + * + * If the device driver does not have either of these, + * then we assume that it can bind to any device and is + * not truly a more specialized/non-generic driver, so a + * return value of -ENODEV should not force the device + * to be handled by the generic USB driver, as there + * can still be another, more specialized, device driver. + * + * This accommodates the usbip driver. + * + * TODO: What if, in the future, there are multiple + * specialized USB device drivers for a particular device? + * In such cases, there is a need to try all matching + * specialised device drivers prior to setting the + * use_generic_driver bit. + */ error = udriver->probe(udev); - if (error == -ENODEV && udriver != &usb_generic_driver) { + if (error == -ENODEV && udriver != &usb_generic_driver && + (udriver->id_table || udriver->match)) { udev->use_generic_driver = 1; return -EPROBE_DEFER; } @@ -817,6 +839,22 @@ return NULL; } +bool usb_driver_applicable(struct usb_device *udev, + struct usb_device_driver *udrv) +{ + if (udrv->id_table && udrv->match) + return usb_device_match_id(udev, udrv->id_table) != NULL && + udrv->match(udev); + + if (udrv->id_table) + return usb_device_match_id(udev, udrv->id_table) != NULL; + + if (udrv->match) + return udrv->match(udev); + + return false; +} + static int usb_device_match(struct device *dev, struct device_driver *drv) { /* devices and interfaces are handled separately */ @@ -831,14 +869,14 @@ udev = to_usb_device(dev); udrv = to_usb_device_driver(drv); - if (udrv->id_table && - usb_device_match_id(udev, udrv->id_table) != NULL) { + /* If the device driver under consideration does not have a + * id_table or a match function, then let the driver's probe + * function decide. + */ + if (!udrv->id_table && !udrv->match) return 1; - } - if (udrv->match) - return udrv->match(udev); - return 0; + return usb_driver_applicable(udev, udrv); } else if (is_usb_interface(dev)) { struct usb_interface *intf; @@ -905,6 +943,27 @@ return 0; } +static int __usb_bus_reprobe_drivers(struct device *dev, void *data) +{ + struct usb_device_driver *new_udriver = data; + struct usb_device *udev; + int ret; + + /* Don't reprobe if current driver isn't usb_generic_driver */ + if (dev->driver != &usb_generic_driver.drvwrap.driver) + return 0; + + udev = to_usb_device(dev); + if (!usb_driver_applicable(udev, new_udriver)) + return 0; + + ret = device_reprobe(dev); + if (ret && ret != -EPROBE_DEFER) + dev_err(dev, "Failed to reprobe device (error %d)\n", ret); + + return 0; +} + /** * usb_register_device_driver - register a USB device (not interface) driver * @new_udriver: USB operations for the device driver @@ -934,13 +993,20 @@ retval = driver_register(&new_udriver->drvwrap.driver); - if (!retval) + if (!retval) { pr_info("%s: registered new device driver %s\n", usbcore_name, new_udriver->name); - else + /* + * Check whether any device could be better served with + * this new driver + */ + bus_for_each_dev(&usb_bus_type, NULL, new_udriver, + __usb_bus_reprobe_drivers); + } else { printk(KERN_ERR "%s: error %d registering device " " driver %s\n", usbcore_name, retval, new_udriver->name); + } return retval; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/generic.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/generic.c @@ -207,8 +207,7 @@ return 0; if (!udrv->id_table) return 0; - - return usb_device_match_id(udev, udrv->id_table) != NULL; + return usb_driver_applicable(udev, udrv); } static bool usb_generic_driver_match(struct usb_device *udev) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/hcd.c @@ -1646,9 +1646,16 @@ /* pass ownership to the completion handler */ urb->status = status; - kcov_remote_start_usb((u64)urb->dev->bus->busnum); + /* + * This function can be called in task context inside another remote + * coverage collection section, but KCOV doesn't support that kind of + * recursion yet. Only collect coverage in softirq context for now. + */ + if (in_serving_softirq()) + kcov_remote_start_usb((u64)urb->dev->bus->busnum); urb->complete(urb); - kcov_remote_stop(); + if (in_serving_softirq()) + kcov_remote_stop(); usb_anchor_resume_wakeups(anchor); atomic_dec(&urb->use_count); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/hub.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/hub.c @@ -821,9 +821,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) @@ -2755,6 +2755,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) { @@ -3318,6 +3351,26 @@ status = 0; } if (status) { + /* Check if the port has been suspended for the timeout case + * to prevent the suspended port from incorrect handling. + */ + if (status == -ETIMEDOUT) { + int ret; + u16 portstatus, portchange; + + portstatus = portchange = 0; + ret = hub_port_status(hub, port1, &portstatus, + &portchange); + + dev_dbg(&port_dev->dev, + "suspend timeout, status %04x\n", portstatus); + + if (ret == 0 && port_is_suspended(hub, portstatus)) { + status = 0; + goto suspend_done; + } + } + dev_dbg(&port_dev->dev, "can't suspend, status %d\n", status); /* Try to enable USB3 LTM again */ @@ -3334,6 +3387,7 @@ if (!PMSG_IS_AUTO(msg)) status = 0; } else { + suspend_done: dev_dbg(&udev->dev, "usb %ssuspend, wakeup %d\n", (PMSG_IS_AUTO(msg) ? "auto-" : ""), udev->do_remote_wakeup); @@ -3605,6 +3659,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); @@ -5241,10 +5299,7 @@ /* When halfway through our retry count, power-cycle the port */ if (i == (SET_CONFIG_TRIES / 2) - 1) { 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 || --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/hub.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/usb/core/message.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/message.c @@ -1205,6 +1205,34 @@ } } +/* + * usb_disable_device_endpoints -- Disable all endpoints for a device + * @dev: the device whose endpoints are being disabled + * @skip_ep0: 0 to disable endpoint 0, 1 to skip it. + */ +static void usb_disable_device_endpoints(struct usb_device *dev, int skip_ep0) +{ + struct usb_hcd *hcd = bus_to_hcd(dev->bus); + int i; + + if (hcd->driver->check_bandwidth) { + /* First pass: Cancel URBs, leave endpoint pointers intact. */ + for (i = skip_ep0; i < 16; ++i) { + usb_disable_endpoint(dev, i, false); + usb_disable_endpoint(dev, i + USB_DIR_IN, false); + } + /* Remove endpoints from the host controller internal state */ + mutex_lock(hcd->bandwidth_mutex); + usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); + mutex_unlock(hcd->bandwidth_mutex); + } + /* Second pass: remove endpoint pointers */ + for (i = skip_ep0; i < 16; ++i) { + usb_disable_endpoint(dev, i, true); + usb_disable_endpoint(dev, i + USB_DIR_IN, true); + } +} + /** * usb_disable_device - Disable all the endpoints for a USB device * @dev: the device whose endpoints are being disabled @@ -1218,7 +1246,6 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0) { int i; - struct usb_hcd *hcd = bus_to_hcd(dev->bus); /* getting rid of interfaces will disconnect * any drivers bound to them (a key side effect) @@ -1264,22 +1291,8 @@ dev_dbg(&dev->dev, "%s nuking %s URBs\n", __func__, skip_ep0 ? "non-ep0" : "all"); - if (hcd->driver->check_bandwidth) { - /* First pass: Cancel URBs, leave endpoint pointers intact. */ - for (i = skip_ep0; i < 16; ++i) { - usb_disable_endpoint(dev, i, false); - usb_disable_endpoint(dev, i + USB_DIR_IN, false); - } - /* Remove endpoints from the host controller internal state */ - mutex_lock(hcd->bandwidth_mutex); - usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); - mutex_unlock(hcd->bandwidth_mutex); - /* Second pass: remove endpoint pointers */ - } - for (i = skip_ep0; i < 16; ++i) { - usb_disable_endpoint(dev, i, true); - usb_disable_endpoint(dev, i + USB_DIR_IN, true); - } + + usb_disable_device_endpoints(dev, skip_ep0); } /** @@ -1522,6 +1535,9 @@ * The caller must own the device lock. * * Return: Zero on success, else a negative error code. + * + * If this routine fails the device will probably be in an unusable state + * with endpoints disabled, and interfaces only partially enabled. */ int usb_reset_configuration(struct usb_device *dev) { @@ -1537,10 +1553,7 @@ * calls during probe() are fine */ - for (i = 1; i < 16; ++i) { - usb_disable_endpoint(dev, i, true); - usb_disable_endpoint(dev, i + USB_DIR_IN, true); - } + usb_disable_device_endpoints(dev, 1); /* skip ep0*/ config = dev->actconfig; retval = 0; @@ -1553,34 +1566,10 @@ mutex_unlock(hcd->bandwidth_mutex); return -ENOMEM; } - /* Make sure we have enough bandwidth for each alternate setting 0 */ - for (i = 0; i < config->desc.bNumInterfaces; i++) { - struct usb_interface *intf = config->interface[i]; - struct usb_host_interface *alt; - - alt = usb_altnum_to_altsetting(intf, 0); - if (!alt) - alt = &intf->altsetting[0]; - if (alt != intf->cur_altsetting) - retval = usb_hcd_alloc_bandwidth(dev, NULL, - intf->cur_altsetting, alt); - if (retval < 0) - break; - } - /* If not, reinstate the old alternate settings */ + + /* xHCI adds all endpoints in usb_hcd_alloc_bandwidth */ + retval = usb_hcd_alloc_bandwidth(dev, config, NULL, NULL); if (retval < 0) { -reset_old_alts: - for (i--; i >= 0; i--) { - struct usb_interface *intf = config->interface[i]; - struct usb_host_interface *alt; - - alt = usb_altnum_to_altsetting(intf, 0); - if (!alt) - alt = &intf->altsetting[0]; - if (alt != intf->cur_altsetting) - usb_hcd_alloc_bandwidth(dev, NULL, - alt, intf->cur_altsetting); - } usb_enable_lpm(dev); mutex_unlock(hcd->bandwidth_mutex); return retval; @@ -1589,8 +1578,12 @@ USB_REQ_SET_CONFIGURATION, 0, config->desc.bConfigurationValue, 0, NULL, 0, USB_CTRL_SET_TIMEOUT); - if (retval < 0) - goto reset_old_alts; + if (retval < 0) { + usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); + usb_enable_lpm(dev); + mutex_unlock(hcd->bandwidth_mutex); + return retval; + } mutex_unlock(hcd->bandwidth_mutex); /* re-init hc/hcd interface/endpoint state */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/port.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/port.c @@ -217,7 +217,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) { /* @@ -273,7 +273,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-riscv-5.8-5.8.0.orig/drivers/usb/core/quirks.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/quirks.c @@ -25,17 +25,23 @@ static char quirks_param[128]; -static int quirks_param_set(const char *val, const struct kernel_param *kp) +static int quirks_param_set(const char *value, const struct kernel_param *kp) { - char *p, *field; + char *val, *p, *field; u16 vid, pid; u32 flags; size_t i; int err; + val = kstrdup(value, GFP_KERNEL); + if (!val) + return -ENOMEM; + err = param_set_copystring(val, kp); - if (err) + if (err) { + kfree(val); return err; + } mutex_lock(&quirk_mutex); @@ -60,10 +66,11 @@ if (!quirk_list) { quirk_count = 0; mutex_unlock(&quirk_mutex); + kfree(val); return -ENOMEM; } - for (i = 0, p = (char *)val; p && *p;) { + for (i = 0, p = val; p && *p;) { /* Each entry consists of VID:PID:flags */ field = strsep(&p, ":"); if (!field) @@ -144,6 +151,7 @@ unlock: mutex_unlock(&quirk_mutex); + kfree(val); return 0; } @@ -334,12 +342,19 @@ { USB_DEVICE(0x06a3, 0x0006), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Agfa SNAPSCAN 1212U */ + { USB_DEVICE(0x06bd, 0x0001), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Guillemot Webcam Hercules Dualpix Exchange (2nd ID) */ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, /* Guillemot Webcam Hercules Dualpix Exchange*/ { USB_DEVICE(0x06f8, 0x3005), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Guillemot Hercules DJ Console audio card (BZ 208357) */ + { USB_DEVICE(0x06f8, 0xb000), .driver_info = + USB_QUIRK_ENDPOINT_BLACKLIST }, + /* Midiman M-Audio Keystation 88es */ { USB_DEVICE(0x0763, 0x0192), .driver_info = USB_QUIRK_RESET_RESUME }, @@ -362,13 +377,23 @@ { USB_DEVICE(0x0926, 0x0202), .driver_info = USB_QUIRK_ENDPOINT_BLACKLIST }, + /* Sound Devices MixPre-D */ + { USB_DEVICE(0x0926, 0x0208), .driver_info = + USB_QUIRK_ENDPOINT_BLACKLIST }, + /* Keytouch QWERTY Panel keyboard */ { USB_DEVICE(0x0926, 0x3333), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Kingston DataTraveler 3.0 */ + { USB_DEVICE(0x0951, 0x1666), .driver_info = USB_QUIRK_NO_LPM }, + /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF }, + /* ELMO L-12F document camera */ + { USB_DEVICE(0x09a1, 0x0028), .driver_info = USB_QUIRK_DELAY_CTRL_MSG }, + /* Broadcom BCM92035DGROM BT dongle */ { USB_DEVICE(0x0a5c, 0x2021), .driver_info = USB_QUIRK_RESET_RESUME }, @@ -381,14 +406,22 @@ /* Realtek hub in Dell WD19 (Type-C) */ { USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM }, + { USB_DEVICE(0x0bda, 0x5487), .driver_info = USB_QUIRK_RESET_RESUME }, /* Generic RTL8153 based ethernet adapters */ { USB_DEVICE(0x0bda, 0x8153), .driver_info = USB_QUIRK_NO_LPM }, + /* SONiX USB DEVICE Touchpad */ + { USB_DEVICE(0x0c45, 0x7056), .driver_info = + USB_QUIRK_IGNORE_REMOTE_WAKEUP }, + /* Action Semiconductor flash disk */ { USB_DEVICE(0x10d6, 0x2200), .driver_info = USB_QUIRK_STRING_FETCH_255 }, + /* novation SoundControl XL */ + { USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Huawei 4G LTE module */ { USB_DEVICE(0x12d1, 0x15bb), .driver_info = USB_QUIRK_DISCONNECT_SUSPEND }, @@ -402,6 +435,13 @@ { USB_DEVICE(0x1532, 0x0116), .driver_info = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL }, + /* Lenovo ThinkCenter A630Z TI024Gen3 usb-audio */ + { USB_DEVICE(0x17ef, 0xa012), .driver_info = + USB_QUIRK_DISCONNECT_SUSPEND }, + + /* Lenovo ThinkPad USB-C Dock Gen2 Ethernet (RTL8153 GigE) */ + { USB_DEVICE(0x17ef, 0xa387), .driver_info = USB_QUIRK_NO_LPM }, + /* BUILDWIN Photo Frame */ { USB_DEVICE(0x1908, 0x1315), .driver_info = USB_QUIRK_HONOR_BNUMINTERFACES }, @@ -457,15 +497,18 @@ { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM }, + { USB_DEVICE(0x2386, 0x350e), .driver_info = USB_QUIRK_NO_LPM }, + /* DJI CineSSD */ { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, + /* Fibocom L850-GL LTE Modem */ + { USB_DEVICE(0x2cb7, 0x0007), .driver_info = + USB_QUIRK_IGNORE_REMOTE_WAKEUP }, + /* INTEL VALUE SSD */ { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, - /* novation SoundControl XL */ - { USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME }, - { } /* terminating entry must be last */ }; @@ -500,7 +543,10 @@ * Matched for devices with USB_QUIRK_ENDPOINT_BLACKLIST. */ static const struct usb_device_id usb_endpoint_blacklist[] = { + { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x01 }, + { USB_DEVICE_INTERFACE_NUMBER(0x06f8, 0xb000, 5), .driver_info = 0x81 }, { USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0202, 1), .driver_info = 0x85 }, + { USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0208, 1), .driver_info = 0x85 }, { } }; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/sysfs.c @@ -889,7 +889,11 @@ 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). @@ -914,6 +918,7 @@ off -= srclen; } } + usb_unlock_device(udev); return count - nleft; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/urb.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/urb.c @@ -772,11 +772,12 @@ EXPORT_SYMBOL_GPL(usb_block_urb); /** - * usb_kill_anchored_urbs - cancel transfer requests en masse + * usb_kill_anchored_urbs - kill all URBs associated with an anchor * @anchor: anchor the requests are bound to * - * this allows all outstanding URBs to be killed starting - * from the back of the queue + * This kills all outstanding URBs starting from the back of the queue, + * with guarantee that no completer callbacks will take place from the + * anchor after this function returns. * * This routine should not be called by a driver after its disconnect * method has returned. @@ -784,20 +785,26 @@ void usb_kill_anchored_urbs(struct usb_anchor *anchor) { struct urb *victim; + int surely_empty; - spin_lock_irq(&anchor->lock); - while (!list_empty(&anchor->urb_list)) { - victim = list_entry(anchor->urb_list.prev, struct urb, - anchor_list); - /* we must make sure the URB isn't freed before we kill it*/ - usb_get_urb(victim); - spin_unlock_irq(&anchor->lock); - /* this will unanchor the URB */ - usb_kill_urb(victim); - usb_put_urb(victim); + do { spin_lock_irq(&anchor->lock); - } - spin_unlock_irq(&anchor->lock); + while (!list_empty(&anchor->urb_list)) { + victim = list_entry(anchor->urb_list.prev, + struct urb, anchor_list); + /* make sure the URB isn't freed before we kill it */ + usb_get_urb(victim); + spin_unlock_irq(&anchor->lock); + /* this will unanchor the URB */ + usb_kill_urb(victim); + usb_put_urb(victim); + spin_lock_irq(&anchor->lock); + } + surely_empty = usb_anchor_check_wakeup(anchor); + + spin_unlock_irq(&anchor->lock); + cpu_relax(); + } while (!surely_empty); } EXPORT_SYMBOL_GPL(usb_kill_anchored_urbs); @@ -816,21 +823,27 @@ void usb_poison_anchored_urbs(struct usb_anchor *anchor) { struct urb *victim; + int surely_empty; - spin_lock_irq(&anchor->lock); - anchor->poisoned = 1; - while (!list_empty(&anchor->urb_list)) { - victim = list_entry(anchor->urb_list.prev, struct urb, - anchor_list); - /* we must make sure the URB isn't freed before we kill it*/ - usb_get_urb(victim); - spin_unlock_irq(&anchor->lock); - /* this will unanchor the URB */ - usb_poison_urb(victim); - usb_put_urb(victim); + do { spin_lock_irq(&anchor->lock); - } - spin_unlock_irq(&anchor->lock); + anchor->poisoned = 1; + while (!list_empty(&anchor->urb_list)) { + victim = list_entry(anchor->urb_list.prev, + struct urb, anchor_list); + /* make sure the URB isn't freed before we kill it */ + usb_get_urb(victim); + spin_unlock_irq(&anchor->lock); + /* this will unanchor the URB */ + usb_poison_urb(victim); + usb_put_urb(victim); + spin_lock_irq(&anchor->lock); + } + surely_empty = usb_anchor_check_wakeup(anchor); + + spin_unlock_irq(&anchor->lock); + cpu_relax(); + } while (!surely_empty); } EXPORT_SYMBOL_GPL(usb_poison_anchored_urbs); @@ -970,14 +983,20 @@ { struct urb *victim; unsigned long flags; + int surely_empty; - spin_lock_irqsave(&anchor->lock, flags); - while (!list_empty(&anchor->urb_list)) { - victim = list_entry(anchor->urb_list.prev, struct urb, - anchor_list); - __usb_unanchor_urb(victim, anchor); - } - spin_unlock_irqrestore(&anchor->lock, flags); + do { + spin_lock_irqsave(&anchor->lock, flags); + while (!list_empty(&anchor->urb_list)) { + victim = list_entry(anchor->urb_list.prev, + struct urb, anchor_list); + __usb_unanchor_urb(victim, anchor); + } + surely_empty = usb_anchor_check_wakeup(anchor); + + spin_unlock_irqrestore(&anchor->lock, flags); + cpu_relax(); + } while (!surely_empty); } EXPORT_SYMBOL_GPL(usb_scuttle_anchored_urbs); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/usb.c +++ linux-riscv-5.8-5.8.0/drivers/usb/core/usb.c @@ -761,6 +761,38 @@ } EXPORT_SYMBOL_GPL(usb_put_intf); +/** + * usb_intf_get_dma_device - acquire a reference on the usb interface's DMA endpoint + * @intf: the usb interface + * + * While a USB device cannot perform DMA operations by itself, many USB + * controllers can. A call to usb_intf_get_dma_device() returns the DMA endpoint + * for the given USB interface, if any. The returned device structure must be + * released with put_device(). + * + * See also usb_get_dma_device(). + * + * Returns: A reference to the usb interface's DMA endpoint; or NULL if none + * exists. + */ +struct device *usb_intf_get_dma_device(struct usb_interface *intf) +{ + struct usb_device *udev = interface_to_usbdev(intf); + struct device *dmadev; + + if (!udev->bus) + return NULL; + + dmadev = get_device(udev->bus->sysdev); + if (!dmadev || !dmadev->dma_mask) { + put_device(dmadev); + return NULL; + } + + return dmadev; +} +EXPORT_SYMBOL_GPL(usb_intf_get_dma_device); + /* USB device locking * * USB devices and interfaces are locked using the semaphore in their --- linux-riscv-5.8-5.8.0.orig/drivers/usb/core/usb.h +++ linux-riscv-5.8-5.8.0/drivers/usb/core/usb.h @@ -74,6 +74,8 @@ const struct usb_device_id *id); extern const struct usb_device_id *usb_device_match_id(struct usb_device *udev, const struct usb_device_id *id); +extern bool usb_driver_applicable(struct usb_device *udev, + struct usb_device_driver *udrv); extern void usb_forced_unbind_intf(struct usb_interface *intf); extern void usb_unbind_and_rebind_marked_interfaces(struct usb_device *udev); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc2/gadget.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc2/gadget.c @@ -712,8 +712,11 @@ */ static unsigned int dwc2_gadget_get_chain_limit(struct dwc2_hsotg_ep *hs_ep) { + const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc; int is_isoc = hs_ep->isochronous; unsigned int maxsize; + u32 mps = hs_ep->ep.maxpacket; + int dir_in = hs_ep->dir_in; if (is_isoc) maxsize = (hs_ep->dir_in ? DEV_DMA_ISOC_TX_NBYTES_LIMIT : @@ -722,6 +725,11 @@ else maxsize = DEV_DMA_NBYTES_LIMIT * MAX_DMA_DESC_NUM_GENERIC; + /* Interrupt OUT EP with mps not multiple of 4 */ + if (hs_ep->index) + if (usb_endpoint_xfer_int(ep_desc) && !dir_in && (mps % 4)) + maxsize = mps * MAX_DMA_DESC_NUM_GENERIC; + return maxsize; } @@ -737,11 +745,14 @@ * Isochronous - descriptor rx/tx bytes bitfield limit, * Control In/Bulk/Interrupt - multiple of mps. This will allow to not * have concatenations from various descriptors within one packet. + * Interrupt OUT - if mps not multiple of 4 then a single packet corresponds + * to a single descriptor. * * Selects corresponding mask for RX/TX bytes as well. */ static u32 dwc2_gadget_get_desc_params(struct dwc2_hsotg_ep *hs_ep, u32 *mask) { + const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc; u32 mps = hs_ep->ep.maxpacket; int dir_in = hs_ep->dir_in; u32 desc_size = 0; @@ -765,6 +776,13 @@ desc_size -= desc_size % mps; } + /* Interrupt OUT EP with mps not multiple of 4 */ + if (hs_ep->index) + if (usb_endpoint_xfer_int(ep_desc) && !dir_in && (mps % 4)) { + desc_size = mps; + *mask = DEV_DMA_NBYTES_MASK; + } + return desc_size; } @@ -1123,13 +1141,7 @@ length += (mps - (length % mps)); } - /* - * If more data to send, adjust DMA for EP0 out data stage. - * ureq->dma stays unchanged, hence increment it by already - * passed passed data count before starting new transaction. - */ - if (!index && hsotg->ep0_state == DWC2_EP0_DATA_OUT && - continuing) + if (continuing) offset = ureq->actual; /* Fill DDMA chain entries */ @@ -1531,7 +1543,6 @@ static struct dwc2_hsotg_ep *ep_from_windex(struct dwc2_hsotg *hsotg, u32 windex) { - struct dwc2_hsotg_ep *ep; int dir = (windex & USB_DIR_IN) ? 1 : 0; int idx = windex & 0x7F; @@ -1541,12 +1552,7 @@ if (idx > hsotg->num_of_eps) return NULL; - ep = index_to_ep(hsotg, idx, dir); - - if (idx && ep->dir_in != dir) - return NULL; - - return ep; + return index_to_ep(hsotg, idx, dir); } /** @@ -2320,22 +2326,36 @@ */ static unsigned int dwc2_gadget_get_xfersize_ddma(struct dwc2_hsotg_ep *hs_ep) { + const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc; struct dwc2_hsotg *hsotg = hs_ep->parent; unsigned int bytes_rem = 0; + unsigned int bytes_rem_correction = 0; struct dwc2_dma_desc *desc = hs_ep->desc_list; int i; u32 status; + u32 mps = hs_ep->ep.maxpacket; + int dir_in = hs_ep->dir_in; if (!desc) return -EINVAL; + /* Interrupt OUT EP with mps not multiple of 4 */ + if (hs_ep->index) + if (usb_endpoint_xfer_int(ep_desc) && !dir_in && (mps % 4)) + bytes_rem_correction = 4 - (mps % 4); + for (i = 0; i < hs_ep->desc_count; ++i) { status = desc->status; bytes_rem += status & DEV_DMA_NBYTES_MASK; + bytes_rem -= bytes_rem_correction; if (status & DEV_DMA_STS_MASK) dev_err(hsotg->dev, "descriptor %d closed with %x\n", i, status & DEV_DMA_STS_MASK); + + if (status & DEV_DMA_L) + break; + desc++; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc2/hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc2/hcd.c @@ -1313,19 +1313,20 @@ if (num_packets > max_hc_pkt_count) { num_packets = max_hc_pkt_count; chan->xfer_len = num_packets * chan->max_packet; + } else if (chan->ep_is_in) { + /* + * Always program an integral # of max packets + * for IN transfers. + * Note: This assumes that the input buffer is + * aligned and sized accordingly. + */ + chan->xfer_len = num_packets * chan->max_packet; } } else { /* Need 1 packet for transfer length of 0 */ num_packets = 1; } - if (chan->ep_is_in) - /* - * Always program an integral # of max packets for IN - * transfers - */ - chan->xfer_len = num_packets * chan->max_packet; - if (chan->ep_type == USB_ENDPOINT_XFER_INT || chan->ep_type == USB_ENDPOINT_XFER_ISOC) /* @@ -4321,7 +4322,8 @@ if (hsotg->op_state == OTG_STATE_B_PERIPHERAL) goto unlock; - if (hsotg->params.power_down > DWC2_POWER_DOWN_PARAM_PARTIAL) + if (hsotg->params.power_down != DWC2_POWER_DOWN_PARAM_PARTIAL || + hsotg->flags.b.port_connect_status == 0) goto skip_power_saving; /* @@ -5397,7 +5399,7 @@ dwc2_writel(hsotg, hprt0, HPRT0); /* Wait for the HPRT0.PrtSusp register field to be set */ - if (dwc2_hsotg_wait_bit_set(hsotg, HPRT0, HPRT0_SUSP, 3000)) + if (dwc2_hsotg_wait_bit_set(hsotg, HPRT0, HPRT0_SUSP, 5000)) dev_warn(hsotg->dev, "Suspend wasn't generated\n"); /* --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc2/hcd_intr.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc2/hcd_intr.c @@ -500,7 +500,7 @@ &short_read); if (urb->actual_length + xfer_length > urb->length) { - dev_warn(hsotg->dev, "%s(): trimming xfer length\n", __func__); + dev_dbg(hsotg->dev, "%s(): trimming xfer length\n", __func__); xfer_length = urb->length - urb->actual_length; } @@ -1977,6 +1977,18 @@ qtd->error_count++; dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, qtd, DWC2_HC_XFER_XACT_ERR); + /* + * We can get here after a completed transaction + * (urb->actual_length >= urb->length) which was not reported + * as completed. If that is the case, and we do not abort + * the transfer, a transfer of size 0 will be enqueued + * subsequently. If urb->actual_length is not DMA-aligned, + * the buffer will then point to an unaligned address, and + * the resulting behavior is undefined. Bail out in that + * situation. + */ + if (qtd->urb->actual_length >= qtd->urb->length) + qtd->error_count = 3; dwc2_hcd_save_data_toggle(hsotg, chan, chnum, qtd); dwc2_halt_channel(hsotg, chan, qtd, DWC2_HC_XFER_XACT_ERR); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc2/params.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc2/params.c @@ -860,7 +860,7 @@ int dwc2_init_params(struct dwc2_hsotg *hsotg) { const struct of_device_id *match; - void (*set_params)(void *data); + void (*set_params)(struct dwc2_hsotg *data); dwc2_set_default_params(hsotg); dwc2_get_device_properties(hsotg); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc2/platform.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc2/platform.c @@ -582,18 +582,27 @@ if (hsotg->gadget_enabled) { retval = usb_add_gadget_udc(hsotg->dev, &hsotg->gadget); if (retval) { + hsotg->gadget.udc = NULL; dwc2_hsotg_remove(hsotg); - goto error_init; + goto error_debugfs; } } #endif /* CONFIG_USB_DWC2_PERIPHERAL || CONFIG_USB_DWC2_DUAL_ROLE */ return 0; +#if IS_ENABLED(CONFIG_USB_DWC2_PERIPHERAL) || \ + IS_ENABLED(CONFIG_USB_DWC2_DUAL_ROLE) +error_debugfs: + dwc2_debugfs_exit(hsotg); + if (hsotg->hcd_enabled) + dwc2_hcd_remove(hsotg); +#endif error_init: if (hsotg->params.activate_stm_id_vb_detection) regulator_disable(hsotg->usb33d); error: - dwc2_lowlevel_hw_disable(hsotg); + if (hsotg->dr_mode != USB_DR_MODE_PERIPHERAL) + dwc2_lowlevel_hw_disable(hsotg); return retval; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/core.c @@ -119,9 +119,7 @@ struct dwc3 *dwc = work_to_dwc(work); unsigned long flags; int ret; - - if (dwc->dr_mode != USB_DR_MODE_OTG) - return; + u32 reg; pm_runtime_get_sync(dwc->dev); @@ -172,6 +170,11 @@ otg_set_vbus(dwc->usb2_phy->otg, true); phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST); phy_set_mode(dwc->usb3_generic_phy, PHY_MODE_USB_HOST); + if (dwc->dis_split_quirk) { + reg = dwc3_readl(dwc->regs, DWC3_GUCTL3); + reg |= DWC3_GUCTL3_SPLITDISABLE; + dwc3_writel(dwc->regs, DWC3_GUCTL3, reg); + } } break; case DWC3_GCTL_PRTCAP_DEVICE: @@ -203,6 +206,9 @@ { unsigned long flags; + if (dwc->dr_mode != USB_DR_MODE_OTG) + return; + spin_lock_irqsave(&dwc->lock, flags); dwc->desired_dr_role = mode; spin_unlock_irqrestore(&dwc->lock, flags); @@ -930,13 +936,6 @@ */ dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE); - /* Handle USB2.0-only core configuration */ - if (DWC3_GHWPARAMS3_SSPHY_IFC(dwc->hwparams.hwparams3) == - DWC3_GHWPARAMS3_SSPHY_IFC_DIS) { - if (dwc->maximum_speed == USB_SPEED_SUPER) - dwc->maximum_speed = USB_SPEED_HIGH; - } - ret = dwc3_phy_setup(dwc); if (ret) goto err0; @@ -1357,6 +1356,9 @@ dwc->dis_metastability_quirk = device_property_read_bool(dev, "snps,dis_metastability_quirk"); + dwc->dis_split_quirk = device_property_read_bool(dev, + "snps,dis-split-quirk"); + dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; @@ -1382,6 +1384,8 @@ static void dwc3_check_params(struct dwc3 *dwc) { struct device *dev = dwc->dev; + unsigned int hwparam_gen = + DWC3_GHWPARAMS3_SSPHY_IFC(dwc->hwparams.hwparams3); /* Check for proper value of imod_interval */ if (dwc->imod_interval && !dwc3_has_imod(dwc)) { @@ -1413,17 +1417,23 @@ dwc->maximum_speed); /* fall through */ case USB_SPEED_UNKNOWN: - /* default to superspeed */ - dwc->maximum_speed = USB_SPEED_SUPER; - - /* - * default to superspeed plus if we are capable. - */ - if ((DWC3_IP_IS(DWC31) || DWC3_IP_IS(DWC32)) && - (DWC3_GHWPARAMS3_SSPHY_IFC(dwc->hwparams.hwparams3) == - DWC3_GHWPARAMS3_SSPHY_IFC_GEN2)) + switch (hwparam_gen) { + case DWC3_GHWPARAMS3_SSPHY_IFC_GEN2: dwc->maximum_speed = USB_SPEED_SUPER_PLUS; - + break; + case DWC3_GHWPARAMS3_SSPHY_IFC_GEN1: + if (DWC3_IP_IS(DWC32)) + dwc->maximum_speed = USB_SPEED_SUPER_PLUS; + else + dwc->maximum_speed = USB_SPEED_SUPER; + break; + case DWC3_GHWPARAMS3_SSPHY_IFC_DIS: + dwc->maximum_speed = USB_SPEED_HIGH; + break; + default: + dwc->maximum_speed = USB_SPEED_SUPER; + break; + } break; } } @@ -1555,6 +1565,17 @@ err5: 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); + dwc3_ulpi_exit(dwc); err4: @@ -1590,9 +1611,9 @@ dwc3_core_exit(dwc); dwc3_ulpi_exit(dwc); - pm_runtime_put_sync(&pdev->dev); - pm_runtime_allow(&pdev->dev); pm_runtime_disable(&pdev->dev); + pm_runtime_put_noidle(&pdev->dev); + pm_runtime_set_suspended(&pdev->dev); dwc3_free_event_buffers(dwc); dwc3_free_scratch_buffers(dwc); @@ -1729,7 +1750,7 @@ if (PMSG_IS_AUTO(msg)) break; - ret = dwc3_core_init(dwc); + ret = dwc3_core_init_for_resume(dwc); if (ret) return ret; @@ -1866,10 +1887,26 @@ return 0; } + +static void dwc3_complete(struct device *dev) +{ + struct dwc3 *dwc = dev_get_drvdata(dev); + u32 reg; + + if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST && + dwc->dis_split_quirk) { + reg = dwc3_readl(dwc->regs, DWC3_GUCTL3); + reg |= DWC3_GUCTL3_SPLITDISABLE; + dwc3_writel(dwc->regs, DWC3_GUCTL3, reg); + } +} +#else +#define dwc3_complete NULL #endif /* CONFIG_PM_SLEEP */ static const struct dev_pm_ops dwc3_dev_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(dwc3_suspend, dwc3_resume) + .complete = dwc3_complete, SET_RUNTIME_PM_OPS(dwc3_runtime_suspend, dwc3_runtime_resume, dwc3_runtime_idle) }; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/core.h +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/core.h @@ -138,6 +138,7 @@ #define DWC3_GEVNTCOUNT(n) (0xc40c + ((n) * 0x10)) #define DWC3_GHWPARAMS8 0xc600 +#define DWC3_GUCTL3 0xc60c #define DWC3_GFLADJ 0xc630 /* Device Registers */ @@ -284,6 +285,7 @@ /* Global USB2 PHY Vendor Control Register */ #define DWC3_GUSB2PHYACC_NEWREGREQ BIT(25) +#define DWC3_GUSB2PHYACC_DONE BIT(24) #define DWC3_GUSB2PHYACC_BUSY BIT(23) #define DWC3_GUSB2PHYACC_WRITE BIT(22) #define DWC3_GUSB2PHYACC_ADDR(n) (n << 16) @@ -380,6 +382,9 @@ /* Global User Control Register 2 */ #define DWC3_GUCTL2_RST_ACTBITLATER BIT(14) +/* Global User Control Register 3 */ +#define DWC3_GUCTL3_SPLITDISABLE BIT(14) + /* Device Configuration Register */ #define DWC3_DCFG_DEVADDR(addr) ((addr) << 3) #define DWC3_DCFG_DEVADDR_MASK DWC3_DCFG_DEVADDR(0x7f) @@ -706,6 +711,7 @@ #define DWC3_EP_IGNORE_NEXT_NOSTREAM BIT(8) #define DWC3_EP_FORCE_RESTART_STREAM BIT(9) #define DWC3_EP_FIRST_STREAM_PRIMED BIT(10) +#define DWC3_EP_PENDING_CLEAR_STALL BIT(11) /* This last one is specific to EP0 */ #define DWC3_EP0_DIR_IN BIT(31) @@ -1052,6 +1058,7 @@ * 2 - No de-emphasis * 3 - Reserved * @dis_metastability_quirk: set to disable metastability quirk. + * @dis_split_quirk: set to disable split boundary. * @imod_interval: set the interrupt moderation interval in 250ns * increments or 0 to disable. */ @@ -1245,6 +1252,8 @@ unsigned dis_metastability_quirk:1; + unsigned dis_split_quirk:1; + u16 imod_interval; }; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/dwc3-meson-g12a.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -747,7 +747,7 @@ ret = priv->drvdata->setup_regmaps(priv, base); if (ret) - return ret; + goto err_disable_clks; if (priv->vbus) { ret = regulator_enable(priv->vbus); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/dwc3-of-simple.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/dwc3-of-simple.c @@ -176,6 +176,7 @@ { .compatible = "cavium,octeon-7130-usb-uctl" }, { .compatible = "sprd,sc9860-dwc3" }, { .compatible = "allwinner,sun50i-h6-dwc3" }, + { .compatible = "hisilicon,hi3670-dwc3" }, { /* Sentinel */ } }; MODULE_DEVICE_TABLE(of, of_dwc3_simple_match); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/dwc3-pci.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/dwc3-pci.c @@ -40,6 +40,7 @@ #define PCI_DEVICE_ID_INTEL_TGPLP 0xa0ee #define PCI_DEVICE_ID_INTEL_TGPH 0x43ee #define PCI_DEVICE_ID_INTEL_JSP 0x4dee +#define PCI_DEVICE_ID_INTEL_ADLS 0x7ae1 #define PCI_INTEL_BXT_DSM_GUID "732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511" #define PCI_INTEL_BXT_FUNC_PMU_PWR 4 @@ -117,6 +118,8 @@ static const struct property_entry dwc3_pci_mrfld_properties[] = { PROPERTY_ENTRY_STRING("dr_mode", "otg"), PROPERTY_ENTRY_STRING("linux,extcon-name", "mrfld_bcove_pwrsrc"), + PROPERTY_ENTRY_BOOL("snps,dis_u3_susphy_quirk"), + PROPERTY_ENTRY_BOOL("snps,dis_u2_susphy_quirk"), PROPERTY_ENTRY_BOOL("linux,sysdev_is_parent"), {} }; @@ -147,7 +150,8 @@ if (pdev->vendor == PCI_VENDOR_ID_INTEL) { if (pdev->device == PCI_DEVICE_ID_INTEL_BXT || - pdev->device == PCI_DEVICE_ID_INTEL_BXT_M) { + pdev->device == PCI_DEVICE_ID_INTEL_BXT_M || + pdev->device == PCI_DEVICE_ID_INTEL_EHLLP) { guid_parse(PCI_INTEL_BXT_DSM_GUID, &dwc->guid); dwc->has_dsm_for_pm = true; } @@ -366,6 +370,9 @@ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_JSP), (kernel_ulong_t) &dwc3_pci_intel_properties, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLS), + (kernel_ulong_t) &dwc3_pci_intel_properties, }, + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_NL_USB), (kernel_ulong_t) &dwc3_pci_amd_properties, }, { } /* Terminating Entry */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/dwc3-qcom.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/dwc3-qcom.c @@ -51,12 +51,14 @@ int dp_hs_phy_irq_index; int dm_hs_phy_irq_index; int ss_phy_irq_index; + bool is_urs; }; struct dwc3_qcom { struct device *dev; void __iomem *qscratch_base; struct platform_device *dwc3; + struct platform_device *urs_usb; struct clk **clks; int num_clocks; struct reset_control *resets; @@ -251,8 +253,10 @@ for (i = qcom->num_clocks - 1; i >= 0; i--) clk_disable_unprepare(qcom->clks[i]); + if (device_may_wakeup(qcom->dev)) + dwc3_qcom_enable_interrupts(qcom); + qcom->is_suspended = true; - dwc3_qcom_enable_interrupts(qcom); return 0; } @@ -265,7 +269,8 @@ if (!qcom->is_suspended) return 0; - dwc3_qcom_disable_interrupts(qcom); + if (device_may_wakeup(qcom->dev)) + dwc3_qcom_disable_interrupts(qcom); for (i = 0; i < qcom->num_clocks; i++) { ret = clk_prepare_enable(qcom->clks[i]); @@ -320,13 +325,15 @@ static int dwc3_qcom_get_irq(struct platform_device *pdev, const char *name, int num) { + struct dwc3_qcom *qcom = platform_get_drvdata(pdev); + struct platform_device *pdev_irq = qcom->urs_usb ? qcom->urs_usb : pdev; struct device_node *np = pdev->dev.of_node; int ret; if (np) - ret = platform_get_irq_byname(pdev, name); + ret = platform_get_irq_byname(pdev_irq, name); else - ret = platform_get_irq(pdev, num); + ret = platform_get_irq(pdev_irq, num); return ret; } @@ -457,6 +464,8 @@ struct dwc3_qcom *qcom = platform_get_drvdata(pdev); struct device *dev = &pdev->dev; struct resource *res, *child_res = NULL; + struct platform_device *pdev_irq = qcom->urs_usb ? qcom->urs_usb : + pdev; int irq; int ret; @@ -486,7 +495,7 @@ child_res[0].end = child_res[0].start + qcom->acpi_pdata->dwc3_core_base_size; - irq = platform_get_irq(pdev, 0); + irq = platform_get_irq(pdev_irq, 0); child_res[1].flags = IORESOURCE_IRQ; child_res[1].start = child_res[1].end = irq; @@ -528,16 +537,19 @@ ret = of_platform_populate(np, NULL, NULL, dev); if (ret) { dev_err(dev, "failed to register dwc3 core - %d\n", ret); - return ret; + goto node_put; } qcom->dwc3 = of_find_device_by_node(dwc3_np); if (!qcom->dwc3) { + ret = -ENODEV; dev_err(dev, "failed to get dwc3 platform device\n"); - return -ENODEV; } - return 0; +node_put: + of_node_put(dwc3_np); + + return ret; } static const struct dwc3_acpi_pdata sdm845_acpi_pdata = { @@ -550,6 +562,33 @@ .ss_phy_irq_index = 2 }; +static struct platform_device * +dwc3_qcom_create_urs_usb_platdev(struct device *dev) +{ + struct fwnode_handle *fwh; + struct acpi_device *adev; + char name[8]; + int ret; + int id; + + /* Figure out device id */ + ret = sscanf(fwnode_get_name(dev->fwnode), "URS%d", &id); + if (!ret) + return NULL; + + /* Find the child using name */ + snprintf(name, sizeof(name), "USB%d", id); + fwh = fwnode_get_named_child_node(dev->fwnode, name); + if (!fwh) + return NULL; + + adev = to_acpi_device_node(fwh); + if (!adev) + return NULL; + + return acpi_create_platform_device(adev, NULL); +} + static int dwc3_qcom_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; @@ -614,6 +653,14 @@ qcom->acpi_pdata->qscratch_base_offset; parent_res->end = parent_res->start + qcom->acpi_pdata->qscratch_base_size; + + if (qcom->acpi_pdata->is_urs) { + qcom->urs_usb = dwc3_qcom_create_urs_usb_platdev(dev); + if (!qcom->urs_usb) { + dev_err(dev, "failed to create URS USB platdev\n"); + return -ENODEV; + } + } } qcom->qscratch_base = devm_ioremap_resource(dev, parent_res); @@ -758,8 +805,22 @@ }; MODULE_DEVICE_TABLE(of, dwc3_qcom_of_match); +static const struct dwc3_acpi_pdata sdm845_acpi_urs_pdata = { + .qscratch_base_offset = SDM845_QSCRATCH_BASE_OFFSET, + .qscratch_base_size = SDM845_QSCRATCH_SIZE, + .dwc3_core_base_size = SDM845_DWC3_CORE_SIZE, + .hs_phy_irq_index = 1, + .dp_hs_phy_irq_index = 4, + .dm_hs_phy_irq_index = 3, + .ss_phy_irq_index = 2, + .is_urs = true, +}; + static const struct acpi_device_id dwc3_qcom_acpi_match[] = { { "QCOM2430", (unsigned long)&sdm845_acpi_pdata }, + { "QCOM0304", (unsigned long)&sdm845_acpi_urs_pdata }, + { "QCOM0497", (unsigned long)&sdm845_acpi_urs_pdata }, + { "QCOM04A6", (unsigned long)&sdm845_acpi_pdata }, { }, }; MODULE_DEVICE_TABLE(acpi, dwc3_qcom_acpi_match); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/ep0.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/ep0.c @@ -524,6 +524,11 @@ ret = __dwc3_gadget_ep_set_halt(dep, set, true); if (ret) return -EINVAL; + + /* ClearFeature(Halt) may need delayed status */ + if (!set && (dep->flags & DWC3_EP_END_TRANSFER_PENDING)) + return USB_GADGET_DELAYED_STATUS; + break; default: return -EINVAL; @@ -942,12 +947,16 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, struct dwc3_ep *dep, struct dwc3_request *req) { + unsigned int trb_length = 0; int ret; req->direction = !!dep->number; if (req->request.length == 0) { - dwc3_ep0_prepare_one_trb(dep, dwc->ep0_trb_addr, 0, + if (!req->direction) + trb_length = dep->endpoint.maxpacket; + + dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, trb_length, DWC3_TRBCTL_CONTROL_DATA, false); ret = dwc3_ep0_start_trans(dep); } else if (!IS_ALIGNED(req->request.length, dep->endpoint.maxpacket) @@ -994,9 +1003,12 @@ req->trb = &dwc->ep0_trb[dep->trb_enqueue - 1]; + if (!req->direction) + trb_length = dep->endpoint.maxpacket; + /* Now prepare one extra TRB to align transfer size */ dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, - 0, DWC3_TRBCTL_CONTROL_DATA, + trb_length, DWC3_TRBCTL_CONTROL_DATA, false); ret = dwc3_ep0_start_trans(dep); } else { @@ -1042,6 +1054,18 @@ __dwc3_ep0_do_control_status(dwc, dep); } +void dwc3_ep0_send_delayed_status(struct dwc3 *dwc) +{ + unsigned int direction = !dwc->ep0_expect_in; + + dwc->delayed_status = false; + + if (dwc->ep0state != EP0_STATUS_PHASE) + return; + + __dwc3_ep0_do_control_status(dwc, dwc->eps[direction]); +} + static void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep) { struct dwc3_gadget_ep_cmd_params params; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/gadget.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/gadget.c @@ -1054,27 +1054,25 @@ * 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. */ static void dwc3_prepare_one_trb(struct dwc3_ep *dep, - struct dwc3_request *req, unsigned chain, unsigned node) + struct dwc3_request *req, unsigned int trb_length, + unsigned chain, unsigned node) { struct dwc3_trb *trb; - unsigned int length; dma_addr_t dma; unsigned stream_id = req->request.stream_id; unsigned short_not_ok = req->request.short_not_ok; unsigned no_interrupt = req->request.no_interrupt; unsigned is_last = req->request.is_last; - if (req->request.num_sgs > 0) { - length = sg_dma_len(req->start_sg); + if (req->request.num_sgs > 0) dma = sg_dma_address(req->start_sg); - } else { - length = req->request.length; + else dma = req->request.dma; - } trb = &dep->trb_pool[dep->trb_enqueue]; @@ -1086,7 +1084,7 @@ req->num_trbs++; - __dwc3_prepare_one_trb(dep, trb, dma, length, chain, node, + __dwc3_prepare_one_trb(dep, trb, dma, trb_length, chain, node, stream_id, short_not_ok, no_interrupt, is_last); } @@ -1096,16 +1094,27 @@ struct scatterlist *sg = req->start_sg; struct scatterlist *s; int i; - + unsigned int length = req->request.length; + unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); + unsigned int rem = length % maxp; unsigned int remaining = req->request.num_mapped_sgs - req->num_queued_sgs; + /* + * If we resume preparing the request, then get the remaining length of + * the request and resume where we left off. + */ + for_each_sg(req->request.sg, s, req->num_queued_sgs, i) + length -= sg_dma_len(s); + for_each_sg(sg, s, remaining, i) { - unsigned int length = req->request.length; - unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); - unsigned int rem = length % maxp; + unsigned int trb_length; unsigned chain = true; + trb_length = min_t(unsigned int, length, sg_dma_len(s)); + + length -= trb_length; + /* * IOMMU driver is coalescing the list of sgs which shares a * page boundary into one and giving it to USB driver. With @@ -1113,7 +1122,7 @@ * sgs passed. So mark the chain bit to false if it isthe last * mapped sg. */ - if (i == remaining - 1) + if ((i == remaining - 1) || !length) chain = false; if (rem && usb_endpoint_dir_out(dep->endpoint.desc) && !chain) { @@ -1123,7 +1132,7 @@ req->needs_extra_trb = true; /* prepare normal TRB */ - dwc3_prepare_one_trb(dep, req, true, i); + dwc3_prepare_one_trb(dep, req, trb_length, true, i); /* Now prepare one extra TRB to align transfer size */ trb = &dep->trb_pool[dep->trb_enqueue]; @@ -1134,8 +1143,39 @@ req->request.short_not_ok, req->request.no_interrupt, req->request.is_last); + } else if (req->request.zero && req->request.length && + !usb_endpoint_xfer_isoc(dep->endpoint.desc) && + !rem && !chain) { + struct dwc3 *dwc = dep->dwc; + struct dwc3_trb *trb; + + req->needs_extra_trb = true; + + /* Prepare normal TRB */ + dwc3_prepare_one_trb(dep, req, trb_length, true, i); + + /* Prepare one extra TRB to handle ZLP */ + trb = &dep->trb_pool[dep->trb_enqueue]; + req->num_trbs++; + __dwc3_prepare_one_trb(dep, trb, dwc->bounce_addr, 0, + !req->direction, 1, + req->request.stream_id, + req->request.short_not_ok, + req->request.no_interrupt, + req->request.is_last); + + /* Prepare one more TRB to handle MPS alignment */ + if (!req->direction) { + trb = &dep->trb_pool[dep->trb_enqueue]; + req->num_trbs++; + __dwc3_prepare_one_trb(dep, trb, dwc->bounce_addr, maxp, + false, 1, req->request.stream_id, + req->request.short_not_ok, + req->request.no_interrupt, + req->request.is_last); + } } else { - dwc3_prepare_one_trb(dep, req, chain, i); + dwc3_prepare_one_trb(dep, req, trb_length, chain, i); } /* @@ -1150,6 +1190,16 @@ req->num_queued_sgs++; + /* + * The number of pending SG entries may not correspond to the + * number of mapped SG entries. If all the data are queued, then + * don't include unused SG entries. + */ + if (length == 0) { + req->num_pending_sgs -= req->request.num_mapped_sgs - req->num_queued_sgs; + break; + } + if (!dwc3_calc_trbs_left(dep)) break; } @@ -1169,7 +1219,7 @@ req->needs_extra_trb = true; /* prepare normal TRB */ - dwc3_prepare_one_trb(dep, req, true, 0); + dwc3_prepare_one_trb(dep, req, length, true, 0); /* Now prepare one extra TRB to align transfer size */ trb = &dep->trb_pool[dep->trb_enqueue]; @@ -1180,6 +1230,7 @@ req->request.no_interrupt, req->request.is_last); } else if (req->request.zero && req->request.length && + !usb_endpoint_xfer_isoc(dep->endpoint.desc) && (IS_ALIGNED(req->request.length, maxp))) { struct dwc3 *dwc = dep->dwc; struct dwc3_trb *trb; @@ -1187,18 +1238,29 @@ req->needs_extra_trb = true; /* prepare normal TRB */ - dwc3_prepare_one_trb(dep, req, true, 0); + dwc3_prepare_one_trb(dep, req, length, true, 0); - /* Now prepare one extra TRB to handle ZLP */ + /* Prepare one extra TRB to handle ZLP */ trb = &dep->trb_pool[dep->trb_enqueue]; req->num_trbs++; __dwc3_prepare_one_trb(dep, trb, dwc->bounce_addr, 0, - false, 1, req->request.stream_id, + !req->direction, 1, req->request.stream_id, req->request.short_not_ok, req->request.no_interrupt, req->request.is_last); + + /* Prepare one more TRB to handle MPS alignment for OUT */ + if (!req->direction) { + trb = &dep->trb_pool[dep->trb_enqueue]; + req->num_trbs++; + __dwc3_prepare_one_trb(dep, trb, dwc->bounce_addr, maxp, + false, 1, req->request.stream_id, + req->request.short_not_ok, + req->request.no_interrupt, + req->request.is_last); + } } else { - dwc3_prepare_one_trb(dep, req, false, 0); + dwc3_prepare_one_trb(dep, req, length, false, 0); } } @@ -1544,8 +1606,13 @@ if (dep->flags & DWC3_EP_WAIT_TRANSFER_COMPLETE) return 0; - /* Start the transfer only after the END_TRANSFER is completed */ - if (dep->flags & DWC3_EP_END_TRANSFER_PENDING) { + /* + * Start the transfer only after the END_TRANSFER is completed + * and endpoint STALL is cleared. + */ + if ((dep->flags & DWC3_EP_END_TRANSFER_PENDING) || + (dep->flags & DWC3_EP_WEDGE) || + (dep->flags & DWC3_EP_STALL)) { dep->flags |= DWC3_EP_DELAY_START; return 0; } @@ -1673,6 +1740,8 @@ list_for_each_entry_safe(r, t, &dep->started_list, list) dwc3_gadget_move_cancelled_request(r); + dep->flags &= ~DWC3_EP_WAIT_TRANSFER_COMPLETE; + goto out; } } @@ -1738,6 +1807,18 @@ return 0; } + dwc3_stop_active_transfer(dep, true, true); + + list_for_each_entry_safe(req, tmp, &dep->started_list, list) + dwc3_gadget_move_cancelled_request(req); + + if (dep->flags & DWC3_EP_END_TRANSFER_PENDING) { + dep->flags |= DWC3_EP_PENDING_CLEAR_STALL; + return 0; + } + + dwc3_gadget_ep_cleanup_cancelled_requests(dep); + ret = dwc3_send_clear_stall_ep_cmd(dep); if (ret) { dev_err(dwc->dev, "failed to clear STALL on %s\n", @@ -1747,18 +1828,11 @@ dep->flags &= ~(DWC3_EP_STALL | DWC3_EP_WEDGE); - dwc3_stop_active_transfer(dep, true, true); + if ((dep->flags & DWC3_EP_DELAY_START) && + !usb_endpoint_xfer_isoc(dep->endpoint.desc)) + __dwc3_gadget_kick_transfer(dep); - list_for_each_entry_safe(req, tmp, &dep->started_list, list) - dwc3_gadget_move_cancelled_request(req); - - list_for_each_entry_safe(req, tmp, &dep->pending_list, list) - dwc3_gadget_move_cancelled_request(req); - - if (!(dep->flags & DWC3_EP_END_TRANSFER_PENDING)) { - dep->flags &= ~DWC3_EP_DELAY_START; - dwc3_gadget_ep_cleanup_cancelled_requests(dep); - } + dep->flags &= ~DWC3_EP_DELAY_START; } return ret; @@ -2648,16 +2722,25 @@ ret = dwc3_gadget_ep_reclaim_trb_linear(dep, req, event, status); + req->request.actual = req->request.length - req->remaining; + + if (!dwc3_gadget_ep_request_completed(req)) + goto out; + if (req->needs_extra_trb) { + unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); + ret = dwc3_gadget_ep_reclaim_trb_linear(dep, req, event, status); - req->needs_extra_trb = false; - } - req->request.actual = req->request.length - req->remaining; + /* Reclaim MPS padding TRB for ZLP */ + if (!req->direction && req->request.zero && req->request.length && + !usb_endpoint_xfer_isoc(dep->endpoint.desc) && + (IS_ALIGNED(req->request.length, maxp))) + ret = dwc3_gadget_ep_reclaim_trb_linear(dep, req, event, status); - if (!dwc3_gadget_ep_request_completed(req)) - goto out; + req->needs_extra_trb = false; + } dwc3_gadget_giveback(dep, req, status); @@ -2902,6 +2985,26 @@ dep->flags &= ~DWC3_EP_END_TRANSFER_PENDING; dep->flags &= ~DWC3_EP_TRANSFER_STARTED; dwc3_gadget_ep_cleanup_cancelled_requests(dep); + + if (dep->flags & DWC3_EP_PENDING_CLEAR_STALL) { + struct dwc3 *dwc = dep->dwc; + + dep->flags &= ~DWC3_EP_PENDING_CLEAR_STALL; + if (dwc3_send_clear_stall_ep_cmd(dep)) { + struct usb_ep *ep0 = &dwc->eps[0]->endpoint; + + dev_err(dwc->dev, "failed to clear STALL on %s\n", + dep->name); + if (dwc->delayed_status) + __dwc3_gadget_ep0_set_halt(ep0, 1); + return; + } + + dep->flags &= ~(DWC3_EP_STALL | DWC3_EP_WEDGE); + if (dwc->delayed_status) + dwc3_ep0_send_delayed_status(dwc); + } + if ((dep->flags & DWC3_EP_DELAY_START) && !usb_endpoint_xfer_isoc(dep->endpoint.desc)) __dwc3_gadget_kick_transfer(dep); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/gadget.h +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/gadget.h @@ -111,6 +111,7 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request, gfp_t gfp_flags); int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol); +void dwc3_ep0_send_delayed_status(struct dwc3 *dwc); /** * dwc3_gadget_ep_get_transfer_index - Gets transfer index from HW --- linux-riscv-5.8-5.8.0.orig/drivers/usb/dwc3/ulpi.c +++ linux-riscv-5.8-5.8.0/drivers/usb/dwc3/ulpi.c @@ -7,6 +7,8 @@ * Author: Heikki Krogerus */ +#include +#include #include #include "core.h" @@ -17,14 +19,28 @@ DWC3_GUSB2PHYACC_ADDR(ULPI_ACCESS_EXTENDED) | \ DWC3_GUSB2PHYACC_EXTEND_ADDR(a) : DWC3_GUSB2PHYACC_ADDR(a)) -static int dwc3_ulpi_busyloop(struct dwc3 *dwc) +#define DWC3_ULPI_BASE_DELAY DIV_ROUND_UP(NSEC_PER_SEC, 60000000L) + +static int dwc3_ulpi_busyloop(struct dwc3 *dwc, u8 addr, bool read) { - unsigned count = 1000; + unsigned long ns = 5L * DWC3_ULPI_BASE_DELAY; + unsigned int count = 10000; u32 reg; + if (addr >= ULPI_EXT_VENDOR_SPECIFIC) + ns += DWC3_ULPI_BASE_DELAY; + + if (read) + ns += DWC3_ULPI_BASE_DELAY; + + reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); + if (reg & DWC3_GUSB2PHYCFG_SUSPHY) + usleep_range(1000, 1200); + while (count--) { + ndelay(ns); reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYACC(0)); - if (!(reg & DWC3_GUSB2PHYACC_BUSY)) + if (reg & DWC3_GUSB2PHYACC_DONE) return 0; cpu_relax(); } @@ -38,16 +54,10 @@ u32 reg; int ret; - reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); - if (reg & DWC3_GUSB2PHYCFG_SUSPHY) { - reg &= ~DWC3_GUSB2PHYCFG_SUSPHY; - dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg); - } - reg = DWC3_GUSB2PHYACC_NEWREGREQ | DWC3_ULPI_ADDR(addr); dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); - ret = dwc3_ulpi_busyloop(dwc); + ret = dwc3_ulpi_busyloop(dwc, addr, true); if (ret) return ret; @@ -61,17 +71,11 @@ struct dwc3 *dwc = dev_get_drvdata(dev); u32 reg; - reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); - if (reg & DWC3_GUSB2PHYCFG_SUSPHY) { - reg &= ~DWC3_GUSB2PHYCFG_SUSPHY; - dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg); - } - reg = DWC3_GUSB2PHYACC_NEWREGREQ | DWC3_ULPI_ADDR(addr); reg |= DWC3_GUSB2PHYACC_WRITE | val; dwc3_writel(dwc->regs, DWC3_GUSB2PHYACC(0), reg); - return dwc3_ulpi_busyloop(dwc); + return dwc3_ulpi_busyloop(dwc, addr, false); } static const struct ulpi_ops dwc3_ulpi_ops = { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/Kconfig @@ -265,6 +265,7 @@ depends on NET select USB_U_ETHER select USB_F_NCM + select CRC32 help NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and @@ -314,6 +315,7 @@ depends on NET select USB_U_ETHER select USB_F_EEM + select CRC32 help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/composite.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/composite.c @@ -392,8 +392,11 @@ spin_lock_irqsave(&cdev->lock, flags); - if (cdev->deactivations == 0) + if (cdev->deactivations == 0) { + spin_unlock_irqrestore(&cdev->lock, flags); status = usb_gadget_deactivate(cdev->gadget); + spin_lock_irqsave(&cdev->lock, flags); + } if (status == 0) cdev->deactivations++; @@ -424,8 +427,11 @@ status = -EINVAL; else { cdev->deactivations--; - if (cdev->deactivations == 0) + if (cdev->deactivations == 0) { + spin_unlock_irqrestore(&cdev->lock, flags); status = usb_gadget_activate(cdev->gadget); + spin_lock_irqsave(&cdev->lock, flags); + } } spin_unlock_irqrestore(&cdev->lock, flags); @@ -1085,7 +1091,7 @@ while (*sp) { s = *sp; language = cpu_to_le16(s->language); - for (tmp = buf; *tmp && tmp < &buf[126]; tmp++) { + for (tmp = buf; *tmp && tmp < &buf[USB_MAX_STRING_LEN]; tmp++) { if (*tmp == language) goto repeat; } @@ -1160,7 +1166,7 @@ collect_langs(sp, s->wData); } - for (len = 0; len <= 126 && s->wData[len]; len++) + for (len = 0; len <= USB_MAX_STRING_LEN && s->wData[len]; len++) continue; if (!len) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/configfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/configfs.c @@ -97,21 +97,27 @@ struct list_head list; }; +#define USB_MAX_STRING_WITH_NULL_LEN (USB_MAX_STRING_LEN+1) + static int usb_string_copy(const char *s, char **s_copy) { int ret; char *str; char *copy = *s_copy; ret = strlen(s); - if (ret > 126) + if (ret > USB_MAX_STRING_LEN) return -EOVERFLOW; - str = kstrdup(s, GFP_KERNEL); - if (!str) - return -ENOMEM; + if (copy) { + str = copy; + } else { + str = kmalloc(USB_MAX_STRING_WITH_NULL_LEN, GFP_KERNEL); + if (!str) + return -ENOMEM; + } + strcpy(str, s); if (str[ret - 1] == '\n') str[ret - 1] = '\0'; - kfree(copy); *s_copy = str; return 0; } @@ -221,9 +227,16 @@ static ssize_t gadget_dev_desc_UDC_show(struct config_item *item, char *page) { - char *udc_name = to_gadget_info(item)->composite.gadget_driver.udc_name; + struct gadget_info *gi = to_gadget_info(item); + char *udc_name; + int ret; - return sprintf(page, "%s\n", udc_name ?: ""); + mutex_lock(&gi->lock); + udc_name = gi->composite.gadget_driver.udc_name; + ret = sprintf(page, "%s\n", udc_name ?: ""); + mutex_unlock(&gi->lock); + + return ret; } static int unregister_gadget(struct gadget_info *gi) @@ -1248,9 +1261,9 @@ cfg = container_of(c, struct config_usb_cfg, c); - list_for_each_entry_safe(f, tmp, &c->functions, list) { + list_for_each_entry_safe_reverse(f, tmp, &c->functions, list) { - list_move_tail(&f->list, &cfg->func_list); + list_move(&f->list, &cfg->func_list); if (f->unbind) { dev_dbg(&gi->cdev.gadget->dev, "unbind function '%s'/%p\n", @@ -1536,7 +1549,7 @@ .suspend = configfs_composite_suspend, .resume = configfs_composite_resume, - .max_speed = USB_SPEED_SUPER, + .max_speed = USB_SPEED_SUPER_PLUS, .driver = { .owner = THIS_MODULE, .name = "configfs-gadget", @@ -1576,7 +1589,7 @@ gi->composite.unbind = configfs_do_nothing; gi->composite.suspend = NULL; gi->composite.resume = NULL; - gi->composite.max_speed = USB_SPEED_SUPER; + gi->composite.max_speed = USB_SPEED_SUPER_PLUS; spin_lock_init(&gi->spinlock); mutex_init(&gi->lock); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_acm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_acm.c @@ -684,7 +684,7 @@ acm_ss_out_desc.bEndpointAddress = acm_fs_out_desc.bEndpointAddress; status = usb_assign_descriptors(f, acm_fs_function, acm_hs_function, - acm_ss_function, NULL); + acm_ss_function, acm_ss_function); if (status) goto fail; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_fs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_fs.c @@ -1324,10 +1324,11 @@ case FUNCTIONFS_ENDPOINT_DESC: { int desc_idx; - struct usb_endpoint_descriptor *desc; + struct usb_endpoint_descriptor desc1, *desc; switch (epfile->ffs->gadget->speed) { case USB_SPEED_SUPER: + case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: @@ -1336,10 +1337,12 @@ default: desc_idx = 0; } + desc = epfile->ep->descs[desc_idx]; + memcpy(&desc1, desc, desc->bLength); spin_unlock_irq(&epfile->ffs->eps_lock); - ret = copy_to_user((void __user *)value, desc, desc->bLength); + ret = copy_to_user((void __user *)value, &desc1, desc1.bLength); if (ret) ret = -EFAULT; return ret; @@ -3172,7 +3175,8 @@ } if (likely(super)) { - func->function.ss_descriptors = vla_ptr(vlabuf, d, ss_descs); + func->function.ss_descriptors = func->function.ssp_descriptors = + vla_ptr(vlabuf, d, ss_descs); ss_len = ffs_do_descs(ffs->ss_descs_count, vla_ptr(vlabuf, d, raw_descs) + fs_len + hs_len, d_raw_descs__sz - fs_len - hs_len, @@ -3582,6 +3586,7 @@ func->function.fs_descriptors = NULL; func->function.hs_descriptors = NULL; func->function.ss_descriptors = NULL; + func->function.ssp_descriptors = NULL; func->interfaces_nums = NULL; ffs_event_add(ffs, FUNCTIONFS_UNBIND); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_midi.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_midi.c @@ -1048,6 +1048,12 @@ f->ss_descriptors = usb_copy_descriptors(midi_function); if (!f->ss_descriptors) goto fail_f_midi; + + if (gadget_is_superspeed_plus(c->cdev->gadget)) { + f->ssp_descriptors = usb_copy_descriptors(midi_function); + if (!f->ssp_descriptors) + goto fail_f_midi; + } } kfree(midi_function); @@ -1315,7 +1321,7 @@ midi->id = kstrdup(opts->id, GFP_KERNEL); if (opts->id && !midi->id) { status = -ENOMEM; - goto setup_fail; + goto midi_free; } midi->in_ports = opts->in_ports; midi->out_ports = opts->out_ports; @@ -1327,7 +1333,7 @@ status = kfifo_alloc(&midi->in_req_fifo, midi->qlen, GFP_KERNEL); if (status) - goto setup_fail; + goto midi_free; spin_lock_init(&midi->transmit_lock); @@ -1343,9 +1349,13 @@ return &midi->func; +midi_free: + if (midi) + kfree(midi->id); + kfree(midi); setup_fail: mutex_unlock(&opts->lock); - kfree(midi); + return ERR_PTR(status); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_ncm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_ncm.c @@ -85,8 +85,10 @@ /* 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) - return 13 * 1024 * 8 * 1000 * 8; + 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; else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH) return 13 * 512 * 8 * 1000 * 8; else @@ -1181,9 +1183,11 @@ int ndp_index; unsigned dg_len, dg_len2; unsigned ndp_len; + unsigned block_len; struct sk_buff *skb2; int ret = -EINVAL; - unsigned max_size = le32_to_cpu(ntb_parameters.dwNtbOutMaxSize); + unsigned ntb_max = le32_to_cpu(ntb_parameters.dwNtbOutMaxSize); + unsigned frame_max = le16_to_cpu(ecm_desc.wMaxSegmentSize); const struct ndp_parser_opts *opts = ncm->parser_opts; unsigned crc_len = ncm->is_crc ? sizeof(uint32_t) : 0; int dgram_counter; @@ -1205,8 +1209,9 @@ } tmp++; /* skip wSequence */ + block_len = get_ncm(&tmp, opts->block_length); /* (d)wBlockLength */ - if (get_ncm(&tmp, opts->block_length) > max_size) { + if (block_len > ntb_max) { INFO(port->func.config->cdev, "OUT size exceeded\n"); goto err; } @@ -1215,15 +1220,23 @@ /* Run through all the NDP's in the NTB */ do { - /* NCM 3.2 */ - if (((ndp_index % 4) != 0) && - (ndp_index < opts->nth_size)) { + /* + * NCM 3.2 + * dwNdpIndex + */ + if (((ndp_index % 4) != 0) || + (ndp_index < opts->nth_size) || + (ndp_index > (block_len - + opts->ndp_size))) { INFO(port->func.config->cdev, "Bad index: %#X\n", ndp_index); goto err; } - /* walk through NDP */ + /* + * walk through NDP + * dwSignature + */ tmp = (void *)(skb->data + ndp_index); if (get_unaligned_le32(tmp) != ncm->ndp_sign) { INFO(port->func.config->cdev, "Wrong NDP SIGN\n"); @@ -1234,14 +1247,15 @@ ndp_len = get_unaligned_le16(tmp++); /* * NCM 3.3.1 + * wLength * entry is 2 items * item size is 16/32 bits, opts->dgram_item_len * 2 bytes * minimal: struct usb_cdc_ncm_ndpX + normal entry + zero entry * Each entry is a dgram index and a dgram length. */ if ((ndp_len < opts->ndp_size - + 2 * 2 * (opts->dgram_item_len * 2)) - || (ndp_len % opts->ndplen_align != 0)) { + + 2 * 2 * (opts->dgram_item_len * 2)) || + (ndp_len % opts->ndplen_align != 0)) { INFO(port->func.config->cdev, "Bad NDP length: %#X\n", ndp_len); goto err; @@ -1258,8 +1272,21 @@ do { index = index2; + /* wDatagramIndex[0] */ + if ((index < opts->nth_size) || + (index > block_len - opts->dpe_size)) { + INFO(port->func.config->cdev, + "Bad index: %#X\n", index); + goto err; + } + dg_len = dg_len2; - if (dg_len < 14 + crc_len) { /* ethernet hdr + crc */ + /* + * wDatagramLength[0] + * ethernet hdr + crc or larger than max frame size + */ + if ((dg_len < 14 + crc_len) || + (dg_len > frame_max)) { INFO(port->func.config->cdev, "Bad dgram length: %#X\n", dg_len); goto err; @@ -1283,6 +1310,13 @@ index2 = get_ncm(&tmp, opts->dgram_item_len); dg_len2 = get_ncm(&tmp, opts->dgram_item_len); + /* wDatagramIndex[1] */ + if (index2 > block_len - opts->dpe_size) { + INFO(port->func.config->cdev, + "Bad index: %#X\n", index2); + goto err; + } + /* * Copy the data into a new skb. * This ensures the truesize is correct @@ -1299,7 +1333,6 @@ ndp_len -= 2 * (opts->dgram_item_len * 2); dgram_counter++; - if (index2 == 0 || dg_len2 == 0) break; } while (ndp_len > 2 * (opts->dgram_item_len * 2)); @@ -1503,7 +1536,7 @@ fs_ncm_notify_desc.bEndpointAddress; status = usb_assign_descriptors(f, ncm_fs_function, ncm_hs_function, - ncm_ss_function, NULL); + ncm_ss_function, ncm_ss_function); if (status) goto fail; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_printer.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_printer.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -64,7 +65,7 @@ struct usb_gadget *gadget; s8 interface; struct usb_ep *in_ep, *out_ep; - + struct kref kref; struct list_head rx_reqs; /* List of free RX structs */ struct list_head rx_reqs_active; /* List of Active RX xfers */ struct list_head rx_buffers; /* List of completed xfers */ @@ -218,6 +219,13 @@ /*-------------------------------------------------------------------------*/ +static void printer_dev_free(struct kref *kref) +{ + struct printer_dev *dev = container_of(kref, struct printer_dev, kref); + + kfree(dev); +} + static struct usb_request * printer_req_alloc(struct usb_ep *ep, unsigned len, gfp_t gfp_flags) { @@ -348,6 +356,7 @@ spin_unlock_irqrestore(&dev->lock, flags); + kref_get(&dev->kref); DBG(dev, "printer_open returned %x\n", ret); return ret; } @@ -365,6 +374,7 @@ dev->printer_status &= ~PRINTER_SELECTED; spin_unlock_irqrestore(&dev->lock, flags); + kref_put(&dev->kref, printer_dev_free); DBG(dev, "printer_close\n"); return 0; @@ -1116,6 +1126,7 @@ printer_req_free(dev->in_ep, req); } + usb_free_all_descriptors(f); return ret; } @@ -1350,7 +1361,8 @@ struct f_printer_opts *opts; opts = container_of(f->fi, struct f_printer_opts, func_inst); - kfree(dev); + + kref_put(&dev->kref, printer_dev_free); mutex_lock(&opts->lock); --opts->refcnt; mutex_unlock(&opts->lock); @@ -1419,6 +1431,7 @@ return ERR_PTR(-ENOMEM); } + kref_init(&dev->kref); ++opts->refcnt; dev->minor = opts->minor; dev->pnp_string = opts->pnp_string; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_rndis.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_rndis.c @@ -87,8 +87,10 @@ /* peak (theoretical) bulk transfer rate in bits-per-second */ static unsigned int bitrate(struct usb_gadget *g) { + if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS) + return 4250000000U; if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER) - return 13 * 1024 * 8 * 1000 * 8; + return 3750000000U; else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH) return 13 * 512 * 8 * 1000 * 8; else --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_tcm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_tcm.c @@ -753,12 +753,13 @@ goto err_sts; return 0; + err_sts: - usb_ep_free_request(fu->ep_status, stream->req_status); - stream->req_status = NULL; -err_out: usb_ep_free_request(fu->ep_out, stream->req_out); stream->req_out = NULL; +err_out: + usb_ep_free_request(fu->ep_in, stream->req_in); + stream->req_in = NULL; out: return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_uac1.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_uac1.c @@ -499,6 +499,7 @@ uac1->as_out_alt = 0; uac1->as_in_alt = 0; + u_audio_stop_playback(&uac1->g_audio); u_audio_stop_capture(&uac1->g_audio); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/f_uac2.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/f_uac2.c @@ -215,10 +215,7 @@ .bDescriptorSubtype = UAC_MS_HEADER, .bcdADC = cpu_to_le16(0x200), .bCategory = UAC2_FUNCTION_IO_BOX, - .wTotalLength = cpu_to_le16(sizeof in_clk_src_desc - + sizeof out_clk_src_desc + sizeof usb_out_it_desc - + sizeof io_in_it_desc + sizeof usb_in_ot_desc - + sizeof io_out_ot_desc), + /* .wTotalLength = DYNAMIC */ .bmControls = 0, }; @@ -274,7 +271,7 @@ .bEndpointAddress = USB_DIR_OUT, .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, - .wMaxPacketSize = cpu_to_le16(1023), + /* .wMaxPacketSize = DYNAMIC */ .bInterval = 1, }; @@ -283,7 +280,7 @@ .bDescriptorType = USB_DT_ENDPOINT, .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, - .wMaxPacketSize = cpu_to_le16(1024), + /* .wMaxPacketSize = DYNAMIC */ .bInterval = 4, }; @@ -351,7 +348,7 @@ .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, - .wMaxPacketSize = cpu_to_le16(1023), + /* .wMaxPacketSize = DYNAMIC */ .bInterval = 1, }; @@ -360,7 +357,7 @@ .bDescriptorType = USB_DT_ENDPOINT, .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, - .wMaxPacketSize = cpu_to_le16(1024), + /* .wMaxPacketSize = DYNAMIC */ .bInterval = 4, }; @@ -447,12 +444,28 @@ __le32 dRES; } __packed; -static void set_ep_max_packet_size(const struct f_uac2_opts *uac2_opts, +static int set_ep_max_packet_size(const struct f_uac2_opts *uac2_opts, struct usb_endpoint_descriptor *ep_desc, - unsigned int factor, bool is_playback) + enum usb_device_speed speed, bool is_playback) { int chmask, srate, ssize; - u16 max_packet_size; + u16 max_size_bw, max_size_ep; + unsigned int factor; + + switch (speed) { + case USB_SPEED_FULL: + max_size_ep = 1023; + factor = 1000; + break; + + case USB_SPEED_HIGH: + max_size_ep = 1024; + factor = 8000; + break; + + default: + return -EINVAL; + } if (is_playback) { chmask = uac2_opts->p_chmask; @@ -464,10 +477,12 @@ ssize = uac2_opts->c_ssize; } - max_packet_size = num_channels(chmask) * ssize * - DIV_ROUND_UP(srate, factor / (1 << (ep_desc->bInterval - 1))); - ep_desc->wMaxPacketSize = cpu_to_le16(min_t(u16, max_packet_size, - le16_to_cpu(ep_desc->wMaxPacketSize))); + max_size_bw = num_channels(chmask) * ssize * + ((srate / (factor / (1 << (ep_desc->bInterval - 1)))) + 1); + ep_desc->wMaxPacketSize = cpu_to_le16(min_t(u16, max_size_bw, + max_size_ep)); + + return 0; } /* Use macro to overcome line length limitation */ @@ -501,7 +516,7 @@ as_in_hdr_desc.bTerminalLink = usb_in_ot_desc.bTerminalID; iad_desc.bInterfaceCount = 1; - ac_hdr_desc.wTotalLength = 0; + ac_hdr_desc.wTotalLength = cpu_to_le16(sizeof(ac_hdr_desc)); if (EPIN_EN(opts)) { u16 len = le16_to_cpu(ac_hdr_desc.wTotalLength); @@ -673,10 +688,33 @@ } /* Calculate wMaxPacketSize according to audio bandwidth */ - set_ep_max_packet_size(uac2_opts, &fs_epin_desc, 1000, true); - set_ep_max_packet_size(uac2_opts, &fs_epout_desc, 1000, false); - set_ep_max_packet_size(uac2_opts, &hs_epin_desc, 8000, true); - set_ep_max_packet_size(uac2_opts, &hs_epout_desc, 8000, false); + ret = set_ep_max_packet_size(uac2_opts, &fs_epin_desc, USB_SPEED_FULL, + true); + if (ret < 0) { + dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); + return ret; + } + + ret = set_ep_max_packet_size(uac2_opts, &fs_epout_desc, USB_SPEED_FULL, + false); + if (ret < 0) { + dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); + return ret; + } + + ret = set_ep_max_packet_size(uac2_opts, &hs_epin_desc, USB_SPEED_HIGH, + true); + if (ret < 0) { + dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); + return ret; + } + + ret = set_ep_max_packet_size(uac2_opts, &hs_epout_desc, USB_SPEED_HIGH, + false); + if (ret < 0) { + dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); + return ret; + } if (EPOUT_EN(uac2_opts)) { agdev->out_ep = usb_ep_autoconfig(gadget, &fs_epout_desc); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/u_audio.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/u_audio.c @@ -89,7 +89,12 @@ struct snd_uac_chip *uac = prm->uac; /* i/f shutting down */ - if (!prm->ep_enabled || req->status == -ESHUTDOWN) + if (!prm->ep_enabled) { + usb_ep_free_request(ep, req); + return; + } + + if (req->status == -ESHUTDOWN) return; /* @@ -336,8 +341,14 @@ for (i = 0; i < params->req_number; i++) { if (prm->ureq[i].req) { - usb_ep_dequeue(ep, prm->ureq[i].req); - usb_ep_free_request(ep, prm->ureq[i].req); + if (usb_ep_dequeue(ep, prm->ureq[i].req)) + usb_ep_free_request(ep, prm->ureq[i].req); + /* + * If usb_ep_dequeue() cannot successfully dequeue the + * request, the request will be freed by the completion + * callback. + */ + prm->ureq[i].req = NULL; } } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/u_ether.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/u_ether.c @@ -45,9 +45,10 @@ #define UETH__VERSION "29-May-2008" /* Experiments show that both Linux and Windows hosts allow up to 16k - * frame sizes. Set the max size to 15k+52 to prevent allocating 32k + * frame sizes. Set the max MTU size to 15k+52 to prevent allocating 32k * blocks and still have efficient handling. */ -#define GETHER_MAX_ETH_FRAME_LEN 15412 +#define GETHER_MAX_MTU_SIZE 15412 +#define GETHER_MAX_ETH_FRAME_LEN (GETHER_MAX_MTU_SIZE + ETH_HLEN) struct eth_dev { /* lock is held while accessing port_usb @@ -93,7 +94,7 @@ static inline int qlen(struct usb_gadget *gadget, unsigned qmult) { if (gadget_is_dualspeed(gadget) && (gadget->speed == USB_SPEED_HIGH || - gadget->speed == USB_SPEED_SUPER)) + gadget->speed >= USB_SPEED_SUPER)) return qmult * DEFAULT_QLEN; else return DEFAULT_QLEN; @@ -786,7 +787,7 @@ /* MTU range: 14 - 15412 */ net->min_mtu = ETH_HLEN; - net->max_mtu = GETHER_MAX_ETH_FRAME_LEN; + net->max_mtu = GETHER_MAX_MTU_SIZE; dev->gadget = g; SET_NETDEV_DEV(net, &g->dev); @@ -848,7 +849,7 @@ /* MTU range: 14 - 15412 */ net->min_mtu = ETH_HLEN; - net->max_mtu = GETHER_MAX_ETH_FRAME_LEN; + net->max_mtu = GETHER_MAX_MTU_SIZE; return net; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/u_ether_configfs.h +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/u_ether_configfs.h @@ -169,12 +169,11 @@ size_t len) \ { \ struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item); \ - int ret; \ + int ret = -EINVAL; \ u8 val; \ \ mutex_lock(&opts->lock); \ - ret = sscanf(page, "%02hhx", &val); \ - if (ret > 0) { \ + if (sscanf(page, "%02hhx", &val) > 0) { \ opts->_n_ = val; \ ret = len; \ } \ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/function/u_serial.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/function/u_serial.c @@ -1391,6 +1391,7 @@ if (port->port.tty) tty_hangup(port->port.tty); } + port->suspended = false; spin_unlock_irqrestore(&port->port_lock, flags); /* disable endpoints, aborting down any active I/O */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/legacy/acm_ms.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/legacy/acm_ms.c @@ -200,8 +200,10 @@ struct usb_descriptor_header *usb_desc; usb_desc = usb_otg_descriptor_alloc(gadget); - if (!usb_desc) + if (!usb_desc) { + status = -ENOMEM; goto fail_string_ids; + } usb_otg_descriptor_init(gadget, usb_desc); otg_desc[0] = usb_desc; otg_desc[1] = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/legacy/ether.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/legacy/ether.c @@ -403,8 +403,10 @@ struct usb_descriptor_header *usb_desc; usb_desc = usb_otg_descriptor_alloc(gadget); - if (!usb_desc) + if (!usb_desc) { + status = -ENOMEM; goto fail1; + } usb_otg_descriptor_init(gadget, usb_desc); otg_desc[0] = usb_desc; otg_desc[1] = NULL; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/legacy/inode.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/legacy/inode.c @@ -2040,6 +2040,9 @@ return 0; Enomem: + kfree(CHIP); + CHIP = NULL; + return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/legacy/raw_gadget.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/legacy/raw_gadget.c @@ -564,9 +564,12 @@ return -ENODEV; } length = min(arg.length, event->length); - if (copy_to_user((void __user *)value, event, sizeof(*event) + length)) + if (copy_to_user((void __user *)value, event, sizeof(*event) + length)) { + kfree(event); return -EFAULT; + } + kfree(event); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/u_f.h +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/u_f.h @@ -14,6 +14,7 @@ #define __U_F_H__ #include +#include /* Variable Length Array Macros **********************************************/ #define vla_group(groupname) size_t groupname##__next = 0 @@ -21,21 +22,36 @@ #define vla_item(groupname, type, name, n) \ size_t groupname##_##name##__offset = ({ \ - size_t align_mask = __alignof__(type) - 1; \ - size_t offset = (groupname##__next + align_mask) & ~align_mask;\ - size_t size = (n) * sizeof(type); \ - groupname##__next = offset + size; \ + size_t offset = 0; \ + if (groupname##__next != SIZE_MAX) { \ + size_t align_mask = __alignof__(type) - 1; \ + size_t size = array_size(n, sizeof(type)); \ + offset = (groupname##__next + align_mask) & \ + ~align_mask; \ + if (check_add_overflow(offset, size, \ + &groupname##__next)) { \ + groupname##__next = SIZE_MAX; \ + offset = 0; \ + } \ + } \ offset; \ }) #define vla_item_with_sz(groupname, type, name, n) \ - size_t groupname##_##name##__sz = (n) * sizeof(type); \ - size_t groupname##_##name##__offset = ({ \ - size_t align_mask = __alignof__(type) - 1; \ - size_t offset = (groupname##__next + align_mask) & ~align_mask;\ - size_t size = groupname##_##name##__sz; \ - groupname##__next = offset + size; \ - offset; \ + size_t groupname##_##name##__sz = array_size(n, sizeof(type)); \ + size_t groupname##_##name##__offset = ({ \ + size_t offset = 0; \ + if (groupname##__next != SIZE_MAX) { \ + size_t align_mask = __alignof__(type) - 1; \ + offset = (groupname##__next + align_mask) & \ + ~align_mask; \ + if (check_add_overflow(offset, groupname##_##name##__sz,\ + &groupname##__next)) { \ + groupname##__next = SIZE_MAX; \ + offset = 0; \ + } \ + } \ + offset; \ }) #define vla_ptr(ptr, groupname, name) \ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/amd5536udc_pci.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/amd5536udc_pci.c @@ -154,6 +154,11 @@ pci_set_master(pdev); pci_try_set_mwi(pdev); + dev->phys_addr = resource; + dev->irq = pdev->irq; + dev->pdev = pdev; + dev->dev = &pdev->dev; + /* init dma pools */ if (use_dma) { retval = init_dma_pools(dev); @@ -161,11 +166,6 @@ goto err_dma; } - dev->phys_addr = resource; - dev->irq = pdev->irq; - dev->pdev = pdev; - dev->dev = &pdev->dev; - /* general probing */ if (udc_probe(dev)) { retval = -ENODEV; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/aspeed-vhub/epn.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/aspeed-vhub/epn.c @@ -420,7 +420,10 @@ u32 state, reg, loops; /* Stop DMA activity */ - writel(0, ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT); + if (ep->epn.desc_mode) + writel(VHUB_EP_DMA_CTRL_RESET, ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT); + else + writel(0, ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT); /* Wait for it to complete */ for (loops = 0; loops < 1000; loops++) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/aspeed-vhub/hub.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/aspeed-vhub/hub.c @@ -999,8 +999,10 @@ str_array[offset].s = NULL; ret = ast_vhub_str_alloc_add(vhub, &lang_str); - if (ret) + if (ret) { + of_node_put(child); break; + } } return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/bcm63xx_udc.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/bcm63xx_udc.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/bdc/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/bdc/Kconfig @@ -17,7 +17,7 @@ comment "Platform Support" config USB_BDC_PCI tristate "BDC support for PCIe based platforms" - depends on USB_PCI + depends on USB_PCI && BROKEN default USB_BDC_UDC help Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform. --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/bdc/bdc_core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -282,6 +282,7 @@ * in that case reinit is passed as 1 */ if (reinit) { + int i; /* Enable interrupts */ temp = bdc_readl(bdc->regs, BDC_BDCSC); temp |= BDC_GIE; @@ -291,6 +292,9 @@ /* Initialize SRR to 0 */ memset(bdc->srr.sr_bds, 0, NUM_SR_ENTRIES * sizeof(struct bdc_bd)); + /* clear ep flags to avoid post disconnect stops/deconfigs */ + for (i = 1; i < bdc->num_eps; ++i) + bdc->bdc_ep_array[i]->flags = 0; } else { /* One time initiaization only */ /* Enable status report function pointers */ @@ -599,9 +603,14 @@ static int bdc_suspend(struct device *dev) { struct bdc *bdc = dev_get_drvdata(dev); + int ret; - clk_disable_unprepare(bdc->clk); - return 0; + /* Halt the controller */ + ret = bdc_stop(bdc); + if (!ret) + clk_disable_unprepare(bdc->clk); + + return ret; } static int bdc_resume(struct device *dev) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/bdc/bdc_ep.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/bdc/bdc_ep.c @@ -615,7 +615,6 @@ } bdc_dbg_bd_list(bdc, ep); /* only for ep0: config ep is called for ep0 from connect event */ - ep->flags |= BDC_EP_ENABLED; if (ep->ep_num == 1) return ret; @@ -759,10 +758,13 @@ __func__, ep->name, start_bdi, end_bdi); dev_dbg(bdc->dev, "ep_dequeue ep=%p ep->desc=%p\n", ep, (void *)ep->usb_ep.desc); - /* Stop the ep to see where the HW is ? */ - ret = bdc_stop_ep(bdc, ep->ep_num); - /* if there is an issue with stopping ep, then no need to go further */ - if (ret) + /* if still connected, stop the ep to see where the HW is ? */ + if (!(bdc_readl(bdc->regs, BDC_USPC) & BDC_PST_MASK)) { + ret = bdc_stop_ep(bdc, ep->ep_num); + /* if there is an issue, then no need to go further */ + if (ret) + return 0; + } else return 0; /* @@ -1911,7 +1913,9 @@ __func__, ep->name, ep->flags); if (!(ep->flags & BDC_EP_ENABLED)) { - dev_warn(bdc->dev, "%s is already disabled\n", ep->name); + if (bdc->gadget.speed != USB_SPEED_UNKNOWN) + dev_warn(bdc->dev, "%s is already disabled\n", + ep->name); return 0; } spin_lock_irqsave(&bdc->lock, flags); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/core.c @@ -1479,10 +1479,13 @@ struct device_attribute *attr, const char *buf, size_t n) { struct usb_udc *udc = container_of(dev, struct usb_udc, dev); + ssize_t ret; + mutex_lock(&udc_lock); if (!udc->driver) { dev_err(dev, "soft-connect without a gadget driver\n"); - return -EOPNOTSUPP; + ret = -EOPNOTSUPP; + goto out; } if (sysfs_streq(buf, "connect")) { @@ -1493,10 +1496,14 @@ usb_gadget_udc_stop(udc); } else { dev_err(dev, "unsupported command '%s'\n", buf); - return -EINVAL; + ret = -EINVAL; + goto out; } - return n; + ret = n; +out: + mutex_unlock(&udc_lock); + return ret; } static DEVICE_ATTR_WO(soft_connect); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/dummy_hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/dummy_hcd.c @@ -2114,9 +2114,21 @@ dum_hcd->port_status &= ~USB_PORT_STAT_POWER; set_link_state(dum_hcd); break; - default: + case USB_PORT_FEAT_ENABLE: + case USB_PORT_FEAT_C_ENABLE: + case USB_PORT_FEAT_C_SUSPEND: + /* Not allowed for USB-3 */ + if (hcd->speed == HCD_USB3) + goto error; + fallthrough; + case USB_PORT_FEAT_C_CONNECTION: + case USB_PORT_FEAT_C_RESET: dum_hcd->port_status &= ~(1 << wValue); set_link_state(dum_hcd); + break; + default: + /* Disallow INDICATOR and C_OVER_CURRENT */ + goto error; } break; case GetHubDescriptor: @@ -2254,17 +2266,20 @@ } /* FALLS THROUGH */ case USB_PORT_FEAT_RESET: + if (!(dum_hcd->port_status & USB_PORT_STAT_CONNECTION)) + break; /* if it's already enabled, disable */ if (hcd->speed == HCD_USB3) { - dum_hcd->port_status = 0; dum_hcd->port_status = (USB_SS_PORT_STAT_POWER | USB_PORT_STAT_CONNECTION | USB_PORT_STAT_RESET); - } else + } else { dum_hcd->port_status &= ~(USB_PORT_STAT_ENABLE | USB_PORT_STAT_LOW_SPEED | USB_PORT_STAT_HIGH_SPEED); + dum_hcd->port_status |= USB_PORT_STAT_RESET; + } /* * We want to reset device status. All but the * Self powered feature @@ -2276,19 +2291,19 @@ * interval? Is it still 50msec as for HS? */ dum_hcd->re_timeout = jiffies + msecs_to_jiffies(50); - /* FALLS THROUGH */ - default: - if (hcd->speed == HCD_USB3) { - if ((dum_hcd->port_status & - USB_SS_PORT_STAT_POWER) != 0) { - dum_hcd->port_status |= (1 << wValue); - } - } else - if ((dum_hcd->port_status & - USB_PORT_STAT_POWER) != 0) { - dum_hcd->port_status |= (1 << wValue); - } set_link_state(dum_hcd); + break; + case USB_PORT_FEAT_C_CONNECTION: + case USB_PORT_FEAT_C_RESET: + case USB_PORT_FEAT_C_ENABLE: + case USB_PORT_FEAT_C_SUSPEND: + /* Not allowed for USB-3, and ignored for USB-2 */ + if (hcd->speed == HCD_USB3) + goto error; + break; + default: + /* Disallow TEST, INDICATOR, and C_OVER_CURRENT */ + goto error; } break; case GetPortErrorCount: @@ -2734,7 +2749,7 @@ { int retval = -ENOMEM; int i; - struct dummy *dum[MAX_NUM_UDC]; + struct dummy *dum[MAX_NUM_UDC] = {}; if (usb_disabled()) return -ENODEV; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/fsl_udc_core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/fsl_udc_core.c @@ -1051,7 +1051,7 @@ u32 bitmask; struct ep_queue_head *qh; - if (!_ep || _ep->desc || !(_ep->desc->bEndpointAddress&0xF)) + if (!_ep || !_ep->desc || !(_ep->desc->bEndpointAddress&0xF)) return -ENODEV; ep = container_of(_ep, struct fsl_ep, ep); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/goku_udc.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/goku_udc.c @@ -1757,6 +1757,7 @@ goto err; } + pci_set_drvdata(pdev, dev); spin_lock_init(&dev->lock); dev->pdev = pdev; dev->gadget.ops = &goku_ops; @@ -1790,7 +1791,6 @@ } dev->regs = (struct goku_udc_regs __iomem *) base; - pci_set_drvdata(pdev, dev); INFO(dev, "%s\n", driver_desc); INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr()); INFO(dev, "irq %d, pci mem %p\n", pdev->irq, base); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/udc/net2280.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/udc/net2280.c @@ -3781,8 +3781,10 @@ return 0; done: - if (dev) + if (dev) { net2280_remove(pdev); + kfree(dev); + } return retval; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/gadget/usbstring.c +++ linux-riscv-5.8-5.8.0/drivers/usb/gadget/usbstring.c @@ -55,9 +55,9 @@ return -EINVAL; /* string descriptors have length, tag, then UTF16-LE text */ - len = min ((size_t) 126, strlen (s->s)); + len = min((size_t)USB_MAX_STRING_LEN, strlen(s->s)); len = utf8s_to_utf16s(s->s, len, UTF16_LITTLE_ENDIAN, - (wchar_t *) &buf[2], 126); + (wchar_t *) &buf[2], USB_MAX_STRING_LEN); if (len < 0) return -EINVAL; buf [0] = (len + 1) * 2; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ehci-hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ehci-hcd.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -573,6 +574,7 @@ struct ehci_hcd *ehci = hcd_to_ehci (hcd); u32 temp; u32 hcc_params; + int rc; hcd->uses_new_polling = 1; @@ -628,9 +630,20 @@ down_write(&ehci_cf_port_reset_rwsem); ehci->rh_state = EHCI_RH_RUNNING; ehci_writel(ehci, FLAG_CF, &ehci->regs->configured_flag); + + /* Wait until HC become operational */ ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ msleep(5); + rc = ehci_handshake(ehci, &ehci->regs->status, STS_HALT, 0, 100 * 1000); + up_write(&ehci_cf_port_reset_rwsem); + + if (rc) { + ehci_err(ehci, "USB %x.%x, controller refused to start: %d\n", + ((ehci->sbrn & 0xf0)>>4), (ehci->sbrn & 0x0f), rc); + return rc; + } + ehci->last_periodic_enable = ktime_get_real(); temp = HC_VERSION(ehci, ehci_readl(ehci, &ehci->caps->hc_capbase)); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ehci-hub.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ehci-hub.c @@ -14,7 +14,6 @@ */ /*-------------------------------------------------------------------------*/ -#include #define PORT_WAKE_BITS (PORT_WKOC_E|PORT_WKDISC_E|PORT_WKCONN_E) @@ -346,6 +345,9 @@ unlink_empty_async_suspended(ehci); + /* Some Synopsys controllers mistakenly leave IAA turned on */ + ehci_writel(ehci, STS_IAA, &ehci->regs->status); + /* Any IAA cycle that started before the suspend is now invalid */ end_iaa_cycle(ehci); ehci_handle_start_intr_unlinks(ehci); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ehci-omap.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ehci-omap.c @@ -220,6 +220,7 @@ err_pm_runtime: pm_runtime_put_sync(dev); + pm_runtime_disable(dev); err_phy: for (i = 0; i < omap->nports; i++) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ehci-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ehci-tegra.c @@ -479,8 +479,8 @@ u_phy->otg->host = hcd_to_bus(hcd); irq = platform_get_irq(pdev, 0); - if (!irq) { - err = -ENODEV; + if (irq < 0) { + err = irq; goto cleanup_phy; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/fsl-mph-dr-of.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/fsl-mph-dr-of.c @@ -94,10 +94,13 @@ pdev->dev.coherent_dma_mask = ofdev->dev.coherent_dma_mask; - if (!pdev->dev.dma_mask) + if (!pdev->dev.dma_mask) { pdev->dev.dma_mask = &ofdev->dev.coherent_dma_mask; - else - dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + } else { + retval = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (retval) + goto error; + } retval = platform_device_add_data(pdev, pdata, sizeof(*pdata)); if (retval) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/max3421-hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/max3421-hcd.c @@ -1847,7 +1847,7 @@ struct max3421_hcd *max3421_hcd; struct usb_hcd *hcd = NULL; struct max3421_hcd_platform_data *pdata = NULL; - int retval = -ENOMEM; + int retval; if (spi_setup(spi) < 0) { dev_err(&spi->dev, "Unable to setup SPI bus"); @@ -1889,6 +1889,7 @@ goto error; } + retval = -ENOMEM; hcd = usb_create_hcd(&max3421_hcd_desc, &spi->dev, dev_name(&spi->dev)); if (!hcd) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ohci-exynos.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ohci-exynos.c @@ -171,9 +171,8 @@ hcd->rsrc_len = resource_size(res); irq = platform_get_irq(pdev, 0); - if (!irq) { - dev_err(&pdev->dev, "Failed to get IRQ\n"); - err = -ENODEV; + if (irq < 0) { + err = irq; goto fail_io; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/ohci-hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/ohci-hcd.c @@ -102,7 +102,7 @@ /* Some boards misreport power switching/overcurrent */ -static bool distrust_firmware = true; +static bool distrust_firmware; module_param (distrust_firmware, bool, 0); MODULE_PARM_DESC (distrust_firmware, "true to distrust firmware power/overcurrent setup"); @@ -673,20 +673,24 @@ /* handle root hub init quirks ... */ val = roothub_a (ohci); - val &= ~(RH_A_PSM | RH_A_OCPM); + /* Configure for per-port over-current protection by default */ + val &= ~RH_A_NOCP; + val |= RH_A_OCPM; if (ohci->flags & OHCI_QUIRK_SUPERIO) { - /* NSC 87560 and maybe others */ + /* NSC 87560 and maybe others. + * Ganged power switching, no over-current protection. + */ val |= RH_A_NOCP; - val &= ~(RH_A_POTPGT | RH_A_NPS); - ohci_writel (ohci, val, &ohci->regs->roothub.a); + val &= ~(RH_A_POTPGT | RH_A_NPS | RH_A_PSM | RH_A_OCPM); } else if ((ohci->flags & OHCI_QUIRK_AMD756) || (ohci->flags & OHCI_QUIRK_HUB_POWER)) { /* hub power always on; required for AMD-756 and some - * Mac platforms. ganged overcurrent reporting, if any. + * Mac platforms. */ val |= RH_A_NPS; - ohci_writel (ohci, val, &ohci->regs->roothub.a); } + ohci_writel(ohci, val, &ohci->regs->roothub.a); + ohci_writel (ohci, RH_HS_LPSC, &ohci->regs->roothub.status); ohci_writel (ohci, (val & RH_A_NPS) ? 0 : RH_B_PPCM, &ohci->regs->roothub.b); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/oxu210hp-hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/oxu210hp-hcd.c @@ -4153,8 +4153,10 @@ oxu->is_otg = otg; ret = usb_add_hcd(hcd, irq, IRQF_SHARED); - if (ret < 0) + if (ret < 0) { + usb_put_hcd(hcd); return ERR_PTR(ret); + } device_wakeup_enable(hcd->self.controller); return hcd; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-debugfs.c @@ -273,7 +273,7 @@ static int xhci_endpoint_context_show(struct seq_file *s, void *unused) { - int dci; + int ep_index; dma_addr_t dma; struct xhci_hcd *xhci; struct xhci_ep_ctx *ep_ctx; @@ -282,9 +282,9 @@ xhci = hcd_to_xhci(bus_to_hcd(dev->udev->bus)); - for (dci = 1; dci < 32; dci++) { - ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, dci); - dma = dev->out_ctx->dma + dci * CTX_SIZE(xhci->hcc_params); + for (ep_index = 0; ep_index < 31; ep_index++) { + ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index); + dma = dev->out_ctx->dma + (ep_index + 1) * CTX_SIZE(xhci->hcc_params); seq_printf(s, "%pad: %s\n", &dma, xhci_decode_ep_context(le32_to_cpu(ep_ctx->ep_info), le32_to_cpu(ep_ctx->ep_info2), --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-histb.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-histb.c @@ -240,7 +240,7 @@ /* Initialize dma_mask and coherent_dma_mask to 32-bits */ ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); if (ret) - return ret; + goto disable_pm; hcd = usb_create_hcd(driver, dev, dev_name(dev)); if (!hcd) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-hub.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-hub.c @@ -740,15 +740,6 @@ { u32 pls = status_reg & PORT_PLS_MASK; - /* resume state is a xHCI internal state. - * Do not report it to usb core, instead, pretend to be U3, - * thus usb core knows it's not ready for transfer - */ - if (pls == XDEV_RESUME) { - *status |= USB_SS_PORT_LS_U3; - return; - } - /* When the CAS bit is set then warm reset * should be performed on port */ @@ -771,6 +762,16 @@ pls |= USB_PORT_STAT_CONNECTION; } else { /* + * Resume state is an xHCI internal state. Do not report it to + * usb core, instead, pretend to be U3, thus usb core knows + * it's not ready for transfer. + */ + if (pls == XDEV_RESUME) { + *status |= USB_SS_PORT_LS_U3; + return; + } + + /* * If CAS bit isn't set but the Port is already at * Compliance Mode, fake a connection so the USB core * notices the Compliance state and resets the port. @@ -1706,6 +1707,10 @@ hcd->state = HC_STATE_SUSPENDED; bus_state->next_statechange = jiffies + msecs_to_jiffies(10); spin_unlock_irqrestore(&xhci->lock, flags); + + if (bus_state->bus_suspended) + usleep_range(5000, 10000); + return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-mtk-sch.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-mtk-sch.c @@ -200,6 +200,8 @@ sch_ep->sch_tt = tt; sch_ep->ep = ep; + INIT_LIST_HEAD(&sch_ep->endpoint); + INIT_LIST_HEAD(&sch_ep->tt_endpoint); return sch_ep; } @@ -373,6 +375,7 @@ sch_ep->bw_budget_table[j]; } } + sch_ep->allocated = used; } static int check_sch_tt(struct usb_device *udev, @@ -541,6 +544,22 @@ return 0; } +static void destroy_sch_ep(struct usb_device *udev, + struct mu3h_sch_bw_info *sch_bw, struct mu3h_sch_ep_info *sch_ep) +{ + /* only release ep bw check passed by check_sch_bw() */ + if (sch_ep->allocated) + update_bus_bw(sch_bw, sch_ep, 0); + + list_del(&sch_ep->endpoint); + + if (sch_ep->sch_tt) { + list_del(&sch_ep->tt_endpoint); + drop_tt(udev); + } + kfree(sch_ep); +} + static bool need_bw_sch(struct usb_host_endpoint *ep, enum usb_device_speed speed, int has_tt) { @@ -583,6 +602,8 @@ mtk->sch_array = sch_array; + INIT_LIST_HEAD(&mtk->bw_ep_chk_list); + return 0; } EXPORT_SYMBOL_GPL(xhci_mtk_sch_init); @@ -601,19 +622,14 @@ struct xhci_ep_ctx *ep_ctx; struct xhci_slot_ctx *slot_ctx; struct xhci_virt_device *virt_dev; - struct mu3h_sch_bw_info *sch_bw; struct mu3h_sch_ep_info *sch_ep; - struct mu3h_sch_bw_info *sch_array; unsigned int ep_index; - int bw_index; - int ret = 0; xhci = hcd_to_xhci(hcd); virt_dev = xhci->devs[udev->slot_id]; ep_index = xhci_get_endpoint_index(&ep->desc); slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->in_ctx); ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index); - sch_array = mtk->sch_array; xhci_dbg(xhci, "%s() type:%d, speed:%d, mpkt:%d, dir:%d, ep:%p\n", __func__, usb_endpoint_type(&ep->desc), udev->speed, @@ -632,35 +648,13 @@ return 0; } - bw_index = get_bw_index(xhci, udev, ep); - sch_bw = &sch_array[bw_index]; - sch_ep = create_sch_ep(udev, ep, ep_ctx); if (IS_ERR_OR_NULL(sch_ep)) return -ENOMEM; setup_sch_info(udev, ep_ctx, sch_ep); - ret = check_sch_bw(udev, sch_bw, sch_ep); - if (ret) { - xhci_err(xhci, "Not enough bandwidth!\n"); - if (is_fs_or_ls(udev->speed)) - drop_tt(udev); - - kfree(sch_ep); - return -ENOSPC; - } - - list_add_tail(&sch_ep->endpoint, &sch_bw->bw_ep_list); - - ep_ctx->reserved[0] |= cpu_to_le32(EP_BPKTS(sch_ep->pkts) - | EP_BCSCOUNT(sch_ep->cs_count) | EP_BBM(sch_ep->burst_mode)); - ep_ctx->reserved[1] |= cpu_to_le32(EP_BOFFSET(sch_ep->offset) - | EP_BREPEAT(sch_ep->repeat)); - - xhci_dbg(xhci, " PKTS:%x, CSCOUNT:%x, BM:%x, OFFSET:%x, REPEAT:%x\n", - sch_ep->pkts, sch_ep->cs_count, sch_ep->burst_mode, - sch_ep->offset, sch_ep->repeat); + list_add_tail(&sch_ep->endpoint, &mtk->bw_ep_chk_list); return 0; } @@ -675,7 +669,7 @@ struct xhci_virt_device *virt_dev; struct mu3h_sch_bw_info *sch_array; struct mu3h_sch_bw_info *sch_bw; - struct mu3h_sch_ep_info *sch_ep; + struct mu3h_sch_ep_info *sch_ep, *tmp; int bw_index; xhci = hcd_to_xhci(hcd); @@ -694,17 +688,79 @@ bw_index = get_bw_index(xhci, udev, ep); sch_bw = &sch_array[bw_index]; - list_for_each_entry(sch_ep, &sch_bw->bw_ep_list, endpoint) { + list_for_each_entry_safe(sch_ep, tmp, &sch_bw->bw_ep_list, endpoint) { if (sch_ep->ep == ep) { - update_bus_bw(sch_bw, sch_ep, 0); - list_del(&sch_ep->endpoint); - if (is_fs_or_ls(udev->speed)) { - list_del(&sch_ep->tt_endpoint); - drop_tt(udev); - } - kfree(sch_ep); + destroy_sch_ep(udev, sch_bw, sch_ep); break; } } } EXPORT_SYMBOL_GPL(xhci_mtk_drop_ep_quirk); + +int xhci_mtk_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) +{ + struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd); + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct xhci_virt_device *virt_dev = xhci->devs[udev->slot_id]; + struct mu3h_sch_bw_info *sch_bw; + struct mu3h_sch_ep_info *sch_ep, *tmp; + int bw_index, ret; + + xhci_dbg(xhci, "%s() udev %s\n", __func__, dev_name(&udev->dev)); + + list_for_each_entry(sch_ep, &mtk->bw_ep_chk_list, endpoint) { + bw_index = get_bw_index(xhci, udev, sch_ep->ep); + sch_bw = &mtk->sch_array[bw_index]; + + ret = check_sch_bw(udev, sch_bw, sch_ep); + if (ret) { + xhci_err(xhci, "Not enough bandwidth!\n"); + return -ENOSPC; + } + } + + list_for_each_entry_safe(sch_ep, tmp, &mtk->bw_ep_chk_list, endpoint) { + struct xhci_ep_ctx *ep_ctx; + struct usb_host_endpoint *ep = sch_ep->ep; + unsigned int ep_index = xhci_get_endpoint_index(&ep->desc); + + bw_index = get_bw_index(xhci, udev, ep); + sch_bw = &mtk->sch_array[bw_index]; + + list_move_tail(&sch_ep->endpoint, &sch_bw->bw_ep_list); + + ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index); + ep_ctx->reserved[0] |= cpu_to_le32(EP_BPKTS(sch_ep->pkts) + | EP_BCSCOUNT(sch_ep->cs_count) + | EP_BBM(sch_ep->burst_mode)); + ep_ctx->reserved[1] |= cpu_to_le32(EP_BOFFSET(sch_ep->offset) + | EP_BREPEAT(sch_ep->repeat)); + + xhci_dbg(xhci, " PKTS:%x, CSCOUNT:%x, BM:%x, OFFSET:%x, REPEAT:%x\n", + sch_ep->pkts, sch_ep->cs_count, sch_ep->burst_mode, + sch_ep->offset, sch_ep->repeat); + } + + return xhci_check_bandwidth(hcd, udev); +} +EXPORT_SYMBOL_GPL(xhci_mtk_check_bandwidth); + +void xhci_mtk_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) +{ + struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd); + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct mu3h_sch_bw_info *sch_bw; + struct mu3h_sch_ep_info *sch_ep, *tmp; + int bw_index; + + xhci_dbg(xhci, "%s() udev %s\n", __func__, dev_name(&udev->dev)); + + list_for_each_entry_safe(sch_ep, tmp, &mtk->bw_ep_chk_list, endpoint) { + bw_index = get_bw_index(xhci, udev, sch_ep->ep); + sch_bw = &mtk->sch_array[bw_index]; + destroy_sch_ep(udev, sch_bw, sch_ep); + } + + xhci_reset_bandwidth(hcd, udev); +} +EXPORT_SYMBOL_GPL(xhci_mtk_reset_bandwidth); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-mtk.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-mtk.c @@ -347,6 +347,8 @@ static int xhci_mtk_setup(struct usb_hcd *hcd); static const struct xhci_driver_overrides xhci_mtk_overrides __initconst = { .reset = xhci_mtk_setup, + .check_bandwidth = xhci_mtk_check_bandwidth, + .reset_bandwidth = xhci_mtk_reset_bandwidth, }; static struct hc_driver __read_mostly xhci_mtk_hc_driver; @@ -395,6 +397,13 @@ xhci->quirks |= XHCI_SPURIOUS_SUCCESS; if (mtk->lpm_support) xhci->quirks |= XHCI_LPM_SUPPORT; + + /* + * MTK xHCI 0.96: PSA is 1 by default even if doesn't support stream, + * and it's 3 when support it. + */ + if (xhci->hci_version < 0x100 && HCC_MAX_PSA(xhci->hcc_params) == 4) + xhci->quirks |= XHCI_BROKEN_STREAMS; } /* called during probe() after chip reset completes */ @@ -546,7 +555,8 @@ if (ret) goto put_usb3_hcd; - if (HCC_MAX_PSA(xhci->hcc_params) >= 4) + if (HCC_MAX_PSA(xhci->hcc_params) >= 4 && + !(xhci->quirks & XHCI_BROKEN_STREAMS)) xhci->shared_hcd->can_do_streams = 1; ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-mtk.h +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-mtk.h @@ -59,6 +59,7 @@ * @ep_type: endpoint type * @maxpkt: max packet size of endpoint * @ep: address of usb_host_endpoint struct + * @allocated: the bandwidth is aready allocated from bus_bw * @offset: which uframe of the interval that transfer should be * scheduled first time within the interval * @repeat: the time gap between two uframes that transfers are @@ -86,6 +87,7 @@ u32 ep_type; u32 maxpkt; void *ep; + bool allocated; /* * mtk xHCI scheduling information put into reserved DWs * in ep context @@ -131,6 +133,7 @@ struct device *dev; struct usb_hcd *hcd; struct mu3h_sch_bw_info *sch_array; + struct list_head bw_ep_chk_list; struct mu3c_ippc_regs __iomem *ippc_regs; bool has_ippc; int num_u2_ports; @@ -166,6 +169,8 @@ struct usb_host_endpoint *ep); void xhci_mtk_drop_ep_quirk(struct usb_hcd *hcd, struct usb_device *udev, struct usb_host_endpoint *ep); +int xhci_mtk_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); +void xhci_mtk_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); #else static inline int xhci_mtk_add_ep_quirk(struct usb_hcd *hcd, @@ -179,6 +184,16 @@ { } +static inline int xhci_mtk_check_bandwidth(struct usb_hcd *hcd, + struct usb_device *udev) +{ + return 0; +} + +static inline void xhci_mtk_reset_bandwidth(struct usb_hcd *hcd, + struct usb_device *udev) +{ +} #endif #endif /* _XHCI_MTK_H_ */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-mvebu.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-mvebu.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -73,6 +74,47 @@ return 0; } + +int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd) +{ + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct device *dev = hcd->self.controller; + struct phy *phy; + int ret; + + /* Old bindings miss the PHY handle */ + phy = of_phy_get(dev->of_node, "usb3-phy"); + if (IS_ERR(phy) && PTR_ERR(phy) == -EPROBE_DEFER) + return -EPROBE_DEFER; + else if (IS_ERR(phy)) + goto phy_out; + + ret = phy_init(phy); + if (ret) + goto phy_put; + + ret = phy_set_mode(phy, PHY_MODE_USB_HOST_SS); + if (ret) + goto phy_exit; + + ret = phy_power_on(phy); + if (ret == -EOPNOTSUPP) { + /* Skip initializatin of XHCI PHY when it is unsupported by firmware */ + dev_warn(dev, "PHY unsupported by firmware\n"); + xhci->quirks |= XHCI_SKIP_PHY_INIT; + } + if (ret) + goto phy_exit; + + phy_power_off(phy); +phy_exit: + phy_exit(phy); +phy_put: + of_phy_put(phy); +phy_out: + + return 0; +} int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-mvebu.h +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-mvebu.h @@ -12,12 +12,18 @@ #if IS_ENABLED(CONFIG_USB_XHCI_MVEBU) int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd); +int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd); int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd); #else static inline int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd) { return 0; } + +static inline int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd) +{ + return 0; +} static inline int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-pci-renesas.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-pci-renesas.c @@ -50,20 +50,6 @@ #define RENESAS_RETRY 10000 #define RENESAS_DELAY 10 -#define ROM_VALID_01 0x2013 -#define ROM_VALID_02 0x2026 - -static int renesas_verify_fw_version(struct pci_dev *pdev, u32 version) -{ - switch (version) { - case ROM_VALID_01: - case ROM_VALID_02: - return 0; - } - dev_err(&pdev->dev, "FW has invalid version :%d\n", version); - return -EINVAL; -} - static int renesas_fw_download_image(struct pci_dev *dev, const u32 *fw, size_t step, bool rom) { @@ -202,10 +188,7 @@ version &= RENESAS_FW_VERSION_FIELD; version = version >> RENESAS_FW_VERSION_OFFSET; - - err = renesas_verify_fw_version(pdev, version); - if (err) - return err; + dev_dbg(&pdev->dev, "Found ROM version: %x\n", version); /* * Test if ROM is present and loaded, if so we can skip everything --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-pci.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-pci.c @@ -44,6 +44,7 @@ #define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0 #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI 0x15b5 #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI 0x15b6 +#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI 0x15c1 #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI 0x15db #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI 0x15d4 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI 0x15e9 @@ -52,12 +53,17 @@ #define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI 0x8a13 #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_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_ASMEDIA_1042_XHCI 0x1042 #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142 +#define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242 +#define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142 +#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242 static const char hcd_name[] = "xhci_hcd"; @@ -157,6 +163,9 @@ (pdev->device == 0x15e0 || pdev->device == 0x15e1)) xhci->quirks |= XHCI_SNPS_BROKEN_SUSPEND; + if (pdev->vendor == PCI_VENDOR_ID_AMD && pdev->device == 0x15e5) + xhci->quirks |= XHCI_DISABLE_SPARSE; + if (pdev->vendor == PCI_VENDOR_ID_AMD) xhci->quirks |= XHCI_TRUST_TX_LENGTH; @@ -223,13 +232,15 @@ 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 || pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI || 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_TIGER_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 && @@ -260,13 +271,17 @@ xhci->quirks |= XHCI_LPM_SUPPORT; if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && - pdev->device == 0x1042) + pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) xhci->quirks |= XHCI_BROKEN_STREAMS; if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && - pdev->device == 0x1142) + pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) { xhci->quirks |= XHCI_TRUST_TX_LENGTH; + xhci->quirks |= XHCI_NO_64BIT_SUPPORT; + } if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && - pdev->device == 0x2142) + (pdev->device == PCI_DEVICE_ID_ASMEDIA_1142_XHCI || + pdev->device == PCI_DEVICE_ID_ASMEDIA_2142_XHCI || + pdev->device == PCI_DEVICE_ID_ASMEDIA_3242_XHCI)) xhci->quirks |= XHCI_NO_64BIT_SUPPORT; if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && @@ -281,6 +296,11 @@ pdev->device == 0x9026) xhci->quirks |= XHCI_RESET_PLL_ON_DISCONNECT; + if (pdev->vendor == PCI_VENDOR_ID_AMD && + (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_2 || + pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4)) + xhci->quirks |= XHCI_NO_SOFT_RETRY; + if (xhci->quirks & XHCI_RESET_ON_RESUME) xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, "QUIRK: Resetting on resume"); @@ -367,6 +387,15 @@ /* USB 2.0 roothub is stored in the PCI device now. */ hcd = dev_get_drvdata(&dev->dev); xhci = hcd_to_xhci(hcd); + + if (xhci->quirks & XHCI_DISABLE_SPARSE) { + u32 reg; + + reg = readl(hcd->regs + 0xC12C); + reg &= ~BIT(17); + writel(reg, hcd->regs + 0xC12C); + } + xhci->shared_hcd = usb_create_shared_hcd(&xhci_pci_hc_driver, &dev->dev, pci_name(dev), hcd); if (!xhci->shared_hcd) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-plat.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-plat.c @@ -44,6 +44,16 @@ priv->plat_start(hcd); } +static int xhci_priv_plat_setup(struct usb_hcd *hcd) +{ + struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); + + if (!priv->plat_setup) + return 0; + + return priv->plat_setup(hcd); +} + static int xhci_priv_init_quirk(struct usb_hcd *hcd) { struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); @@ -101,6 +111,7 @@ }; static const struct xhci_plat_priv xhci_plat_marvell_armada3700 = { + .plat_setup = xhci_mvebu_a3700_plat_setup, .init_quirk = xhci_mvebu_a3700_init_quirk, }; @@ -173,6 +184,8 @@ struct usb_hcd *hcd; int ret; int irq; + struct xhci_plat_priv *priv = NULL; + if (usb_disabled()) return -ENODEV; @@ -266,8 +279,7 @@ priv_match = of_device_get_match_data(&pdev->dev); if (priv_match) { - struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); - + priv = hcd_to_xhci_priv(hcd); /* Just copy data for now */ if (priv_match) *priv = *priv_match; @@ -316,6 +328,16 @@ hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); xhci->shared_hcd->tpl_support = hcd->tpl_support; + + if (priv) { + ret = xhci_priv_plat_setup(hcd); + if (ret) + goto disable_usb_phy; + } + + if ((xhci->quirks & XHCI_SKIP_PHY_INIT) || (priv && (priv->quirks & XHCI_SKIP_PHY_INIT))) + hcd->skip_phy_initialization = 1; + ret = usb_add_hcd(hcd, irq, IRQF_SHARED); if (ret) goto disable_usb_phy; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-plat.h +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-plat.h @@ -13,6 +13,7 @@ struct xhci_plat_priv { const char *firmware_name; unsigned long long quirks; + int (*plat_setup)(struct usb_hcd *); void (*plat_start)(struct usb_hcd *); int (*init_quirk)(struct usb_hcd *); int (*resume_quirk)(struct usb_hcd *); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-ring.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-ring.c @@ -699,11 +699,16 @@ dma_unmap_single(dev, seg->bounce_dma, ring->bounce_buf_len, DMA_FROM_DEVICE); /* for in tranfers we need to copy the data from bounce to sg */ - len = sg_pcopy_from_buffer(urb->sg, urb->num_sgs, seg->bounce_buf, - seg->bounce_len, seg->bounce_offs); - if (len != seg->bounce_len) - xhci_warn(xhci, "WARN Wrong bounce buffer read length: %zu != %d\n", - len, seg->bounce_len); + if (urb->num_sgs) { + len = sg_pcopy_from_buffer(urb->sg, urb->num_sgs, seg->bounce_buf, + seg->bounce_len, seg->bounce_offs); + if (len != seg->bounce_len) + xhci_warn(xhci, "WARN Wrong bounce buffer read length: %zu != %d\n", + len, seg->bounce_len); + } else { + memcpy(urb->transfer_buffer + seg->bounce_offs, seg->bounce_buf, + seg->bounce_len); + } seg->bounce_len = 0; seg->bounce_offs = 0; } @@ -2302,7 +2307,8 @@ remaining = 0; break; case COMP_USB_TRANSACTION_ERROR: - if ((ep_ring->err_count++ > MAX_SOFT_RETRY) || + if (xhci->quirks & XHCI_NO_SOFT_RETRY || + (ep_ring->err_count++ > MAX_SOFT_RETRY) || le32_to_cpu(slot_ctx->tt_info) & TT_SLOT) break; *status = 0; @@ -2930,6 +2936,8 @@ trb->field[0] = cpu_to_le32(field1); trb->field[1] = cpu_to_le32(field2); trb->field[2] = cpu_to_le32(field3); + /* make sure TRB is fully written before giving it to the controller */ + wmb(); trb->field[3] = cpu_to_le32(field4); trace_xhci_queue_trb(ring, trb); @@ -3273,12 +3281,16 @@ /* create a max max_pkt sized bounce buffer pointed to by last trb */ if (usb_urb_dir_out(urb)) { - len = sg_pcopy_to_buffer(urb->sg, urb->num_sgs, - seg->bounce_buf, new_buff_len, enqd_len); - if (len != new_buff_len) - xhci_warn(xhci, - "WARN Wrong bounce buffer write length: %zu != %d\n", - len, new_buff_len); + if (urb->num_sgs) { + len = sg_pcopy_to_buffer(urb->sg, urb->num_sgs, + seg->bounce_buf, new_buff_len, enqd_len); + if (len != new_buff_len) + xhci_warn(xhci, "WARN Wrong bounce buffer write length: %zu != %d\n", + len, new_buff_len); + } else { + memcpy(seg->bounce_buf, urb->transfer_buffer + enqd_len, new_buff_len); + } + seg->bounce_dma = dma_map_single(dev, seg->bounce_buf, max_pkt, DMA_TO_DEVICE); } else { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci-tegra.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci-tegra.c @@ -623,6 +623,13 @@ enable); if (err < 0) break; + + /* + * wait 500us for LFPS detector to be disabled before + * sending ACK + */ + if (!enable) + usleep_range(500, 1000); } if (err < 0) { @@ -1136,7 +1143,7 @@ unsigned int i, phy_count = 0; for (i = 0; i < tegra->soc->num_types; i++) { - if (!strncmp(tegra->soc->phy_types[i].name, "usb2", + if (!strncmp(tegra->soc->phy_types[i].name, name, strlen(name))) return tegra->phys[phy_count+port]; @@ -1258,6 +1265,8 @@ INIT_WORK(&tegra->id_work, tegra_xhci_id_work); tegra->id_nb.notifier_call = tegra_xhci_id_notify; + tegra->otg_usb2_port = -EINVAL; + tegra->otg_usb3_port = -EINVAL; for (i = 0; i < tegra->num_usb_phys; i++) { struct phy *phy = tegra_xusb_get_phy(tegra, "usb2", i); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci.c +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci.c @@ -883,44 +883,42 @@ xhci_set_cmd_ring_deq(xhci); } -static void xhci_disable_port_wake_on_bits(struct xhci_hcd *xhci) +/* + * Disable port wake bits if do_wakeup is not set. + * + * Also clear a possible internal port wake state left hanging for ports that + * detected termination but never successfully enumerated (trained to 0U). + * Internal wake causes immediate xHCI wake after suspend. PORT_CSC write done + * at enumeration clears this wake, force one here as well for unconnected ports + */ + +static void xhci_disable_hub_port_wake(struct xhci_hcd *xhci, + struct xhci_hub *rhub, + bool do_wakeup) { - struct xhci_port **ports; - int port_index; unsigned long flags; u32 t1, t2, portsc; + int i; spin_lock_irqsave(&xhci->lock, flags); - /* disable usb3 ports Wake bits */ - port_index = xhci->usb3_rhub.num_ports; - ports = xhci->usb3_rhub.ports; - while (port_index--) { - t1 = readl(ports[port_index]->addr); - portsc = t1; - t1 = xhci_port_state_to_neutral(t1); - t2 = t1 & ~PORT_WAKE_BITS; - if (t1 != t2) { - writel(t2, ports[port_index]->addr); - xhci_dbg(xhci, "disable wake bits port %d-%d, portsc: 0x%x, write: 0x%x\n", - xhci->usb3_rhub.hcd->self.busnum, - port_index + 1, portsc, t2); - } - } + for (i = 0; i < rhub->num_ports; i++) { + portsc = readl(rhub->ports[i]->addr); + t1 = xhci_port_state_to_neutral(portsc); + t2 = t1; + + /* clear wake bits if do_wake is not set */ + if (!do_wakeup) + t2 &= ~PORT_WAKE_BITS; + + /* Don't touch csc bit if connected or connect change is set */ + if (!(portsc & (PORT_CSC | PORT_CONNECT))) + t2 |= PORT_CSC; - /* disable usb2 ports Wake bits */ - port_index = xhci->usb2_rhub.num_ports; - ports = xhci->usb2_rhub.ports; - while (port_index--) { - t1 = readl(ports[port_index]->addr); - portsc = t1; - t1 = xhci_port_state_to_neutral(t1); - t2 = t1 & ~PORT_WAKE_BITS; if (t1 != t2) { - writel(t2, ports[port_index]->addr); - xhci_dbg(xhci, "disable wake bits port %d-%d, portsc: 0x%x, write: 0x%x\n", - xhci->usb2_rhub.hcd->self.busnum, - port_index + 1, portsc, t2); + writel(t2, rhub->ports[i]->addr); + xhci_dbg(xhci, "config port %d-%d wake bits, portsc: 0x%x, write: 0x%x\n", + rhub->hcd->self.busnum, i + 1, portsc, t2); } } spin_unlock_irqrestore(&xhci->lock, flags); @@ -982,11 +980,14 @@ xhci->shared_hcd->state != HC_STATE_SUSPENDED) return -EINVAL; - xhci_dbc_suspend(xhci); - /* Clear root port wake on bits if wakeup not allowed. */ - if (!do_wakeup) - xhci_disable_port_wake_on_bits(xhci); + xhci_disable_hub_port_wake(xhci, &xhci->usb3_rhub, do_wakeup); + xhci_disable_hub_port_wake(xhci, &xhci->usb2_rhub, do_wakeup); + + if (!HCD_HW_ACCESSIBLE(hcd)) + return 0; + + xhci_dbc_suspend(xhci); /* Don't poll the roothubs on bus suspend. */ xhci_dbg(xhci, "%s: stopping port polling.\n", __func__); @@ -1085,6 +1086,7 @@ struct usb_hcd *secondary_hcd; int retval = 0; bool comp_timer_running = false; + bool pending_portevent = false; if (!hcd->state) return 0; @@ -1223,13 +1225,22 @@ done: if (retval == 0) { - /* Resume root hubs only when have pending events. */ - if (xhci_pending_portevent(xhci)) { + /* + * Resume roothubs only if there are pending events. + * USB 3 devices resend U3 LFPS wake after a 100ms delay if + * the first wake signalling failed, give it that chance. + */ + pending_portevent = xhci_pending_portevent(xhci); + if (!pending_portevent) { + msleep(120); + pending_portevent = xhci_pending_portevent(xhci); + } + + if (pending_portevent) { usb_hcd_resume_root_hub(xhci->shared_hcd); usb_hcd_resume_root_hub(hcd); } } - /* * If system is subject to the Quirk, Compliance Mode Timer needs to * be re-initialized Always after a system resume. Ports are subject @@ -1915,8 +1926,6 @@ ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index); trace_xhci_add_endpoint(ep_ctx); - xhci_debugfs_create_endpoint(xhci, virt_dev, ep_index); - xhci_dbg(xhci, "add ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, @@ -2860,7 +2869,7 @@ * else should be touching the xhci->devs[slot_id] structure, so we * don't need to take the xhci->lock for manipulating that. */ -static int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) +int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) { int i; int ret = 0; @@ -2949,6 +2958,7 @@ xhci_check_bw_drop_ep_streams(xhci, virt_dev, i); virt_dev->eps[i].ring = virt_dev->eps[i].new_ring; virt_dev->eps[i].new_ring = NULL; + xhci_debugfs_create_endpoint(xhci, virt_dev, i); } command_cleanup: kfree(command->completion); @@ -2957,7 +2967,7 @@ return ret; } -static void xhci_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) +void xhci_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) { struct xhci_hcd *xhci; struct xhci_virt_device *virt_dev; @@ -3236,10 +3246,11 @@ wait_for_completion(cfg_cmd->completion); - ep->ep_state &= ~EP_SOFT_CLEAR_TOGGLE; xhci_free_command(xhci, cfg_cmd); cleanup: xhci_free_command(xhci, stop_cmd); + if (ep->ep_state & EP_SOFT_CLEAR_TOGGLE) + ep->ep_state &= ~EP_SOFT_CLEAR_TOGGLE; } static int xhci_check_streams_endpoint(struct xhci_hcd *xhci, @@ -4639,19 +4650,19 @@ { unsigned long long timeout_ns; + if (xhci->quirks & XHCI_INTEL_HOST) + timeout_ns = xhci_calculate_intel_u1_timeout(udev, desc); + else + timeout_ns = udev->u1_params.sel; + /* Prevent U1 if service interval is shorter than U1 exit latency */ if (usb_endpoint_xfer_int(desc) || usb_endpoint_xfer_isoc(desc)) { - if (xhci_service_interval_to_ns(desc) <= udev->u1_params.mel) { + if (xhci_service_interval_to_ns(desc) <= timeout_ns) { dev_dbg(&udev->dev, "Disable U1, ESIT shorter than exit latency\n"); return USB3_LPM_DISABLED; } } - if (xhci->quirks & XHCI_INTEL_HOST) - timeout_ns = xhci_calculate_intel_u1_timeout(udev, desc); - else - timeout_ns = udev->u1_params.sel; - /* The U1 timeout is encoded in 1us intervals. * Don't return a timeout of zero, because that's USB3_LPM_DISABLED. */ @@ -4703,19 +4714,19 @@ { unsigned long long timeout_ns; + if (xhci->quirks & XHCI_INTEL_HOST) + timeout_ns = xhci_calculate_intel_u2_timeout(udev, desc); + else + timeout_ns = udev->u2_params.sel; + /* Prevent U2 if service interval is shorter than U2 exit latency */ if (usb_endpoint_xfer_int(desc) || usb_endpoint_xfer_isoc(desc)) { - if (xhci_service_interval_to_ns(desc) <= udev->u2_params.mel) { + if (xhci_service_interval_to_ns(desc) <= timeout_ns) { dev_dbg(&udev->dev, "Disable U2, ESIT shorter than exit latency\n"); return USB3_LPM_DISABLED; } } - if (xhci->quirks & XHCI_INTEL_HOST) - timeout_ns = xhci_calculate_intel_u2_timeout(udev, desc); - else - timeout_ns = udev->u2_params.sel; - /* The U2 timeout is encoded in 256us intervals */ timeout_ns = DIV_ROUND_UP_ULL(timeout_ns, 256 * 1000); /* If the necessary timeout value is bigger than what we can set in the @@ -5378,6 +5389,10 @@ drv->reset = over->reset; if (over->start) drv->start = over->start; + if (over->check_bandwidth) + drv->check_bandwidth = over->check_bandwidth; + if (over->reset_bandwidth) + drv->reset_bandwidth = over->reset_bandwidth; } } EXPORT_SYMBOL_GPL(xhci_init_driver); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/host/xhci.h +++ linux-riscv-5.8-5.8.0/drivers/usb/host/xhci.h @@ -1874,6 +1874,9 @@ #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) #define XHCI_RENESAS_FW_QUIRK BIT_ULL(36) +#define XHCI_SKIP_PHY_INIT BIT_ULL(37) +#define XHCI_DISABLE_SPARSE BIT_ULL(38) +#define XHCI_NO_SOFT_RETRY BIT_ULL(40) unsigned int num_active_eps; unsigned int limit_active_eps; @@ -1911,6 +1914,8 @@ size_t extra_priv_size; int (*reset)(struct usb_hcd *hcd); int (*start)(struct usb_hcd *hcd); + int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); + void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); }; #define XHCI_CFC_DELAY 10 @@ -2063,6 +2068,8 @@ void xhci_shutdown(struct usb_hcd *hcd); void xhci_init_driver(struct hc_driver *drv, const struct xhci_driver_overrides *over); +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_disable_slot(struct xhci_hcd *xhci, u32 slot_id); int xhci_ext_cap_init(struct xhci_hcd *xhci); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/adutux.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/adutux.c @@ -209,6 +209,7 @@ if (status != 0) { if ((status != -ENOENT) && + (status != -ESHUTDOWN) && (status != -ECONNRESET)) { dev_dbg(&dev->udev->dev, "%s :nonzero status received: %d\n", __func__, --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/apple-mfi-fastcharge.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/apple-mfi-fastcharge.c @@ -120,8 +120,10 @@ dev_dbg(&mfi->udev->dev, "prop: %d\n", psp); ret = pm_runtime_get_sync(&mfi->udev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(&mfi->udev->dev); return ret; + } switch (psp) { case POWER_SUPPLY_PROP_CHARGE_TYPE: @@ -163,17 +165,23 @@ .property_is_writeable = apple_mfi_fc_property_is_writeable }; +static bool mfi_fc_match(struct usb_device *udev) +{ + int idProduct; + + idProduct = le16_to_cpu(udev->descriptor.idProduct); + /* See comment above mfi_fc_id_table[] */ + return (idProduct >= 0x1200 && idProduct <= 0x12ff); +} + static int mfi_fc_probe(struct usb_device *udev) { struct power_supply_config battery_cfg = {}; struct mfi_device *mfi = NULL; - int err, idProduct; + int err; - idProduct = le16_to_cpu(udev->descriptor.idProduct); - /* See comment above mfi_fc_id_table[] */ - if (idProduct < 0x1200 || idProduct > 0x12ff) { + if (!mfi_fc_match(udev)) return -ENODEV; - } mfi = kzalloc(sizeof(struct mfi_device), GFP_KERNEL); if (!mfi) { @@ -220,6 +228,7 @@ .probe = mfi_fc_probe, .disconnect = mfi_fc_disconnect, .id_table = mfi_fc_id_table, + .match = mfi_fc_match, .generic_subclass = 1, }; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/iowarrior.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/iowarrior.c @@ -2,8 +2,9 @@ /* * Native support for the I/O-Warrior USB devices * - * Copyright (c) 2003-2005 Code Mercenaries GmbH - * written by Christian Lucht + * Copyright (c) 2003-2005, 2020 Code Mercenaries GmbH + * written by Christian Lucht and + * Christoph Jung * * based on @@ -802,14 +803,28 @@ /* we have to check the report_size often, so remember it in the endianness suitable for our machine */ dev->report_size = usb_endpoint_maxp(dev->int_in_endpoint); - if ((dev->interface->cur_altsetting->desc.bInterfaceNumber == 0) && - ((dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56) || - (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56AM) || - (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28) || - (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28L) || - (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW100))) - /* IOWarrior56 has wMaxPacketSize different from report size */ - dev->report_size = 7; + + /* + * Some devices need the report size to be different than the + * endpoint size. + */ + if (dev->interface->cur_altsetting->desc.bInterfaceNumber == 0) { + switch (dev->product_id) { + case USB_DEVICE_ID_CODEMERCS_IOW56: + case USB_DEVICE_ID_CODEMERCS_IOW56AM: + dev->report_size = 7; + break; + + case USB_DEVICE_ID_CODEMERCS_IOW28: + case USB_DEVICE_ID_CODEMERCS_IOW28L: + dev->report_size = 4; + break; + + case USB_DEVICE_ID_CODEMERCS_IOW100: + dev->report_size = 13; + break; + } + } /* create the urb and buffer for reading */ dev->int_in_urb = usb_alloc_urb(0, GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/lvstest.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/lvstest.c @@ -426,7 +426,7 @@ USB_DT_SS_HUB_SIZE, USB_CTRL_GET_TIMEOUT); if (ret < (USB_DT_HUB_NONVAR_SIZE + 2)) { dev_err(&hdev->dev, "wrong root hub descriptor read %d\n", ret); - return ret; + return ret < 0 ? ret : -EINVAL; } /* submit urb to poll interrupt endpoint */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/sisusbvga/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/sisusbvga/Kconfig @@ -16,7 +16,7 @@ config USB_SISUSBVGA_CON bool "Text console and mode switching support" if USB_SISUSBVGA - depends on VT + depends on VT && BROKEN select FONT_8x16 help Say Y here if you want a VGA text console via the USB dongle or --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/sisusbvga/sisusb.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/sisusbvga/sisusb.c @@ -761,7 +761,7 @@ u8 swap8, fromkern = kernbuffer ? 1 : 0; u16 swap16; u32 swap32, flag = (length >> 28) & 1; - char buf[4]; + u8 buf[4]; /* if neither kernbuffer not userbuffer are given, assume * data in obuf --- linux-riscv-5.8-5.8.0.orig/drivers/usb/misc/yurex.c +++ linux-riscv-5.8-5.8.0/drivers/usb/misc/yurex.c @@ -492,11 +492,14 @@ prepare_to_wait(&dev->waitq, &wait, TASK_INTERRUPTIBLE); dev_dbg(&dev->interface->dev, "%s - submit %c\n", __func__, dev->cntl_buffer[0]); - retval = usb_submit_urb(dev->cntl_urb, GFP_KERNEL); + retval = usb_submit_urb(dev->cntl_urb, GFP_ATOMIC); if (retval >= 0) timeout = schedule_timeout(YUREX_WRITE_TIMEOUT); finish_wait(&dev->waitq, &wait); + /* make sure URB is idle after timeout or (spurious) CMD_ACK */ + usb_kill_urb(dev->cntl_urb); + mutex_unlock(&dev->io_mutex); if (retval < 0) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/mtu3/mtu3_core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/mtu3/mtu3_core.c @@ -131,8 +131,12 @@ mtu3_setbits(ibase, SSUSB_U2_CTRL(0), SSUSB_U2_PORT_DIS | SSUSB_U2_PORT_PDN); - if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) + if (mtu->ssusb->dr_mode == USB_DR_MODE_OTG) { mtu3_clrbits(ibase, SSUSB_U2_CTRL(0), SSUSB_U2_PORT_OTG_SEL); + if (mtu->is_u3_ip) + mtu3_clrbits(ibase, SSUSB_U3_CTRL(0), + SSUSB_U3_PORT_DUAL_MODE); + } mtu3_setbits(ibase, U3D_SSUSB_IP_PW_CTRL2, SSUSB_IP_DEV_PDN); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/mtu3/mtu3_debugfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/mtu3/mtu3_debugfs.c @@ -127,7 +127,7 @@ struct debugfs_regset32 *regset; struct mtu3_regset *mregs; - mregs = devm_kzalloc(mtu->dev, sizeof(*regset), GFP_KERNEL); + mregs = devm_kzalloc(mtu->dev, sizeof(*mregs), GFP_KERNEL); if (!mregs) return; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/mtu3/mtu3_gadget.c +++ linux-riscv-5.8-5.8.0/drivers/usb/mtu3/mtu3_gadget.c @@ -587,6 +587,7 @@ spin_unlock_irqrestore(&mtu->lock, flags); + synchronize_irq(mtu->irq); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/musb/musb_core.c +++ linux-riscv-5.8-5.8.0/drivers/usb/musb/musb_core.c @@ -2005,10 +2005,14 @@ MUSB_DEVCTL_HR; switch (devctl & ~s) { case MUSB_QUIRK_B_DISCONNECT_99: - musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); - schedule_delayed_work(&musb->irq_work, - msecs_to_jiffies(1000)); - break; + if (musb->quirk_retries && !musb->flush_irq_work) { + musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); + schedule_delayed_work(&musb->irq_work, + msecs_to_jiffies(1000)); + musb->quirk_retries--; + break; + } + fallthrough; case MUSB_QUIRK_B_INVALID_VBUS_91: if (musb->quirk_retries && !musb->flush_irq_work) { musb_dbg(musb, @@ -2241,32 +2245,35 @@ { struct musb_pending_work *w; unsigned long flags; + bool is_suspended; int error; if (WARN_ON(!callback)) return -EINVAL; - if (pm_runtime_active(musb->controller)) - return callback(musb, data); + spin_lock_irqsave(&musb->list_lock, flags); + is_suspended = musb->is_runtime_suspended; - w = devm_kzalloc(musb->controller, sizeof(*w), GFP_ATOMIC); - if (!w) - return -ENOMEM; + if (is_suspended) { + w = devm_kzalloc(musb->controller, sizeof(*w), GFP_ATOMIC); + if (!w) { + error = -ENOMEM; + goto out_unlock; + } + + w->callback = callback; + w->data = data; - w->callback = callback; - w->data = data; - spin_lock_irqsave(&musb->list_lock, flags); - if (musb->is_runtime_suspended) { list_add_tail(&w->node, &musb->pending_list); error = 0; - } else { - dev_err(musb->controller, "could not add resume work %p\n", - callback); - devm_kfree(musb->controller, w); - error = -EINPROGRESS; } + +out_unlock: spin_unlock_irqrestore(&musb->list_lock, flags); + if (!is_suspended) + error = callback(musb, data); + return error; } EXPORT_SYMBOL_GPL(musb_queue_resume_work); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/renesas_usbhs/fifo.c +++ linux-riscv-5.8-5.8.0/drivers/usb/renesas_usbhs/fifo.c @@ -126,6 +126,7 @@ } usbhs_pipe_clear_without_sequence(pipe, 0, 0); + usbhs_pipe_running(pipe, 0); __usbhsf_pkt_del(pkt); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/renesas_usbhs/pipe.c +++ linux-riscv-5.8-5.8.0/drivers/usb/renesas_usbhs/pipe.c @@ -746,6 +746,8 @@ void usbhs_pipe_free(struct usbhs_pipe *pipe) { + usbhsp_pipe_select(pipe); + usbhsp_pipe_cfg_set(pipe, 0xFFFF, 0); usbhsp_put_pipe(pipe); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/ch341.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/ch341.c @@ -76,10 +76,12 @@ #define CH341_QUIRK_LIMITED_PRESCALER BIT(0) static const struct usb_device_id id_table[] = { - { USB_DEVICE(0x4348, 0x5523) }, + { USB_DEVICE(0x1a86, 0x5512) }, + { USB_DEVICE(0x1a86, 0x5523) }, { USB_DEVICE(0x1a86, 0x7522) }, { USB_DEVICE(0x1a86, 0x7523) }, - { USB_DEVICE(0x1a86, 0x5523) }, + { USB_DEVICE(0x4348, 0x5523) }, + { USB_DEVICE(0x9986, 0x7523) }, { }, }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/cp210x.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/cp210x.c @@ -61,6 +61,7 @@ { 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, 0x01FF) }, /* Siemens RUGGEDCOM USB Serial Console */ + { USB_DEVICE(0x0988, 0x0578) }, /* Teraoka AD2000 */ { USB_DEVICE(0x0B00, 0x3070) }, /* Ingenico 3070 */ { USB_DEVICE(0x0BED, 0x1100) }, /* MEI (TM) Cashflow-SC Bill/Voucher Acceptor */ { USB_DEVICE(0x0BED, 0x1101) }, /* MEI series 2000 Combo Acceptor */ @@ -145,6 +146,7 @@ { USB_DEVICE(0x10C4, 0x8857) }, /* CEL EM357 ZigBee USB Stick */ { USB_DEVICE(0x10C4, 0x88A4) }, /* MMB Networks ZigBee USB Device */ { USB_DEVICE(0x10C4, 0x88A5) }, /* Planet Innovation Ingeni ZigBee USB Device */ + { USB_DEVICE(0x10C4, 0x88D8) }, /* Acuity Brands nLight Air Adapter */ { USB_DEVICE(0x10C4, 0x88FB) }, /* CESINEL MEDCAL STII Network Analyzer */ { USB_DEVICE(0x10C4, 0x8938) }, /* CESINEL MEDCAL S II Network Analyzer */ { USB_DEVICE(0x10C4, 0x8946) }, /* Ketra N1 Wireless Interface */ @@ -201,6 +203,9 @@ { USB_DEVICE(0x1901, 0x0194) }, /* GE Healthcare Remote Alarm Box */ { USB_DEVICE(0x1901, 0x0195) }, /* GE B850/B650/B450 CP2104 DP UART interface */ { USB_DEVICE(0x1901, 0x0196) }, /* GE B850 CP2105 DP UART interface */ + { USB_DEVICE(0x1901, 0x0197) }, /* GE CS1000 Display serial interface */ + { USB_DEVICE(0x1901, 0x0198) }, /* GE CS1000 M.2 Key E serial interface */ + { USB_DEVICE(0x199B, 0xBA30) }, /* LORD WSDA-200-USB */ { USB_DEVICE(0x19CF, 0x3000) }, /* Parrot NMEA GPS Flight Recorder */ { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */ { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */ @@ -272,6 +277,8 @@ .break_ctl = cp210x_break_ctl, .set_termios = cp210x_set_termios, .tx_empty = cp210x_tx_empty, + .throttle = usb_serial_generic_throttle, + .unthrottle = usb_serial_generic_unthrottle, .tiocmget = cp210x_tiocmget, .tiocmset = cp210x_tiocmset, .attach = cp210x_attach, @@ -915,6 +922,7 @@ u32 baud; u16 bits; u32 ctl_hs; + u32 flow_repl; cp210x_read_u32_reg(port, CP210X_GET_BAUDRATE, &baud); @@ -1015,6 +1023,22 @@ ctl_hs = le32_to_cpu(flow_ctl.ulControlHandshake); if (ctl_hs & CP210X_SERIAL_CTS_HANDSHAKE) { dev_dbg(dev, "%s - flow control = CRTSCTS\n", __func__); + /* + * When the port is closed, the CP210x hardware disables + * auto-RTS and RTS is deasserted but it leaves auto-CTS when + * in hardware flow control mode. When re-opening the port, if + * auto-CTS is enabled on the cp210x, then auto-RTS must be + * re-enabled in the driver. + */ + flow_repl = le32_to_cpu(flow_ctl.ulFlowReplace); + flow_repl &= ~CP210X_SERIAL_RTS_MASK; + flow_repl |= CP210X_SERIAL_RTS_SHIFT(CP210X_SERIAL_RTS_FLOW_CTL); + flow_ctl.ulFlowReplace = cpu_to_le32(flow_repl); + cp210x_write_reg_block(port, + CP210X_SET_FLOW, + &flow_ctl, + sizeof(flow_ctl)); + cflag |= CRTSCTS; } else { dev_dbg(dev, "%s - flow control = NONE\n", __func__); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/cyberjack.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/cyberjack.c @@ -357,11 +357,12 @@ struct device *dev = &port->dev; int status = urb->status; unsigned long flags; + bool resubmitted = false; - set_bit(0, &port->write_urbs_free); if (status) { dev_dbg(dev, "%s - nonzero write bulk status received: %d\n", __func__, status); + set_bit(0, &port->write_urbs_free); return; } @@ -394,6 +395,8 @@ goto exit; } + resubmitted = true; + dev_dbg(dev, "%s - priv->wrsent=%d\n", __func__, priv->wrsent); dev_dbg(dev, "%s - priv->wrfilled=%d\n", __func__, priv->wrfilled); @@ -410,6 +413,8 @@ exit: spin_unlock_irqrestore(&priv->lock, flags); + if (!resubmitted) + set_bit(0, &port->write_urbs_free); usb_serial_port_softint(port); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/digi_acceleport.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/digi_acceleport.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -198,14 +197,12 @@ int dp_throttle_restart; wait_queue_head_t dp_flush_wait; wait_queue_head_t dp_close_wait; /* wait queue for close */ - struct work_struct dp_wakeup_work; struct usb_serial_port *dp_port; }; /* Local Function Declarations */ -static void digi_wakeup_write_lock(struct work_struct *work); static int digi_write_oob_command(struct usb_serial_port *port, unsigned char *buf, int count, int interruptible); static int digi_write_inb_command(struct usb_serial_port *port, @@ -356,26 +353,6 @@ return timeout; } - -/* - * Digi Wakeup Write - * - * Wake up port, line discipline, and tty processes sleeping - * on writes. - */ - -static void digi_wakeup_write_lock(struct work_struct *work) -{ - struct digi_port *priv = - container_of(work, struct digi_port, dp_wakeup_work); - struct usb_serial_port *port = priv->dp_port; - unsigned long flags; - - spin_lock_irqsave(&priv->dp_port_lock, flags); - tty_port_tty_wakeup(&port->port); - spin_unlock_irqrestore(&priv->dp_port_lock, flags); -} - /* * Digi Write OOB Command * @@ -986,6 +963,7 @@ unsigned long flags; int ret = 0; int status = urb->status; + bool wakeup; /* port and serial sanity check */ if (port == NULL || (priv = usb_get_serial_port_data(port)) == NULL) { @@ -1012,6 +990,7 @@ } /* try to send any buffered data on this port */ + wakeup = true; spin_lock_irqsave(&priv->dp_port_lock, flags); priv->dp_write_urb_in_use = 0; if (priv->dp_out_buf_len > 0) { @@ -1027,19 +1006,18 @@ if (ret == 0) { priv->dp_write_urb_in_use = 1; priv->dp_out_buf_len = 0; + wakeup = false; } } - /* wake up processes sleeping on writes immediately */ - tty_port_tty_wakeup(&port->port); - /* also queue up a wakeup at scheduler time, in case we */ - /* lost the race in write_chan(). */ - schedule_work(&priv->dp_wakeup_work); - spin_unlock_irqrestore(&priv->dp_port_lock, flags); + if (ret && ret != -EPERM) dev_err_console(port, "%s: usb_submit_urb failed, ret=%d, port=%d\n", __func__, ret, priv->dp_port_num); + + if (wakeup) + tty_port_tty_wakeup(&port->port); } static int digi_write_room(struct tty_struct *tty) @@ -1239,7 +1217,6 @@ init_waitqueue_head(&priv->dp_transmit_idle_wait); init_waitqueue_head(&priv->dp_flush_wait); init_waitqueue_head(&priv->dp_close_wait); - INIT_WORK(&priv->dp_wakeup_work, digi_wakeup_write_lock); priv->dp_port = port; init_waitqueue_head(&port->write_wait); @@ -1508,13 +1485,14 @@ rts = C_CRTSCTS(tty); if (tty && opcode == DIGI_CMD_READ_INPUT_SIGNALS) { + bool wakeup = false; + spin_lock_irqsave(&priv->dp_port_lock, flags); /* convert from digi flags to termiox flags */ if (val & DIGI_READ_INPUT_SIGNALS_CTS) { priv->dp_modem_signals |= TIOCM_CTS; - /* port must be open to use tty struct */ if (rts) - tty_port_tty_wakeup(&port->port); + wakeup = true; } else { priv->dp_modem_signals &= ~TIOCM_CTS; /* port must be open to use tty struct */ @@ -1533,6 +1511,9 @@ priv->dp_modem_signals &= ~TIOCM_CD; spin_unlock_irqrestore(&priv->dp_port_lock, flags); + + if (wakeup) + tty_port_tty_wakeup(&port->port); } else if (opcode == DIGI_CMD_TRANSMIT_IDLE) { spin_lock_irqsave(&priv->dp_port_lock, flags); priv->dp_transmit_idle = 1; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/ftdi_sio.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/ftdi_sio.c @@ -713,6 +713,7 @@ { USB_DEVICE(XSENS_VID, XSENS_AWINDA_STATION_PID) }, { USB_DEVICE(XSENS_VID, XSENS_CONVERTER_PID) }, { USB_DEVICE(XSENS_VID, XSENS_MTDEVBOARD_PID) }, + { USB_DEVICE(XSENS_VID, XSENS_MTIUSBCONVERTER_PID) }, { USB_DEVICE(XSENS_VID, XSENS_MTW_PID) }, { USB_DEVICE(FTDI_VID, FTDI_OMNI1509) }, { USB_DEVICE(MOBILITY_VID, MOBILITY_USB_SERIAL_PID) }, @@ -1036,6 +1037,11 @@ /* U-Blox devices */ { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) }, { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) }, + /* FreeCalypso USB adapters */ + { USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_BUF_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_UNBUF_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { } /* Terminating entry */ }; @@ -1380,8 +1386,9 @@ index_value = get_ftdi_divisor(tty, port); value = (u16)index_value; index = (u16)(index_value >> 16); - if ((priv->chip_type == FT2232C) || (priv->chip_type == FT2232H) || - (priv->chip_type == FT4232H) || (priv->chip_type == FT232H)) { + if (priv->chip_type == FT2232C || priv->chip_type == FT2232H || + priv->chip_type == FT4232H || priv->chip_type == FT232H || + priv->chip_type == FTX) { /* Probably the BM type needs the MSB of the encoded fractional * divider also moved like for the chips above. Any infos? */ index = (u16)((index << 8) | priv->interface); @@ -2480,12 +2487,11 @@ #define FTDI_RS_ERR_MASK (FTDI_RS_BI | FTDI_RS_PE | FTDI_RS_FE | FTDI_RS_OE) static int ftdi_process_packet(struct usb_serial_port *port, - struct ftdi_private *priv, char *packet, int len) + struct ftdi_private *priv, unsigned char *buf, int len) { + unsigned char status; int i; - char status; char flag; - char *ch; if (len < 2) { dev_dbg(&port->dev, "malformed packet\n"); @@ -2495,7 +2501,7 @@ /* Compare new line status to the old one, signal if different/ N.B. packet may be processed more than once, but differences are only processed once. */ - status = packet[0] & FTDI_STATUS_B0_MASK; + status = buf[0] & FTDI_STATUS_B0_MASK; if (status != priv->prev_status) { char diff_status = status ^ priv->prev_status; @@ -2521,13 +2527,12 @@ } /* save if the transmitter is empty or not */ - if (packet[1] & FTDI_RS_TEMT) + if (buf[1] & FTDI_RS_TEMT) priv->transmit_empty = 1; else priv->transmit_empty = 0; - len -= 2; - if (!len) + if (len == 2) return 0; /* status only */ /* @@ -2535,40 +2540,41 @@ * data payload to avoid over-reporting. */ flag = TTY_NORMAL; - if (packet[1] & FTDI_RS_ERR_MASK) { + if (buf[1] & FTDI_RS_ERR_MASK) { /* Break takes precedence over parity, which takes precedence * over framing errors */ - if (packet[1] & FTDI_RS_BI) { + if (buf[1] & FTDI_RS_BI) { flag = TTY_BREAK; port->icount.brk++; usb_serial_handle_break(port); - } else if (packet[1] & FTDI_RS_PE) { + } else if (buf[1] & FTDI_RS_PE) { flag = TTY_PARITY; port->icount.parity++; - } else if (packet[1] & FTDI_RS_FE) { + } else if (buf[1] & FTDI_RS_FE) { flag = TTY_FRAME; port->icount.frame++; } /* Overrun is special, not associated with a char */ - if (packet[1] & FTDI_RS_OE) { + if (buf[1] & FTDI_RS_OE) { port->icount.overrun++; tty_insert_flip_char(&port->port, 0, TTY_OVERRUN); } } - port->icount.rx += len; - ch = packet + 2; + port->icount.rx += len - 2; if (port->port.console && port->sysrq) { - for (i = 0; i < len; i++, ch++) { - if (!usb_serial_handle_sysrq_char(port, *ch)) - tty_insert_flip_char(&port->port, *ch, flag); + for (i = 2; i < len; i++) { + if (usb_serial_handle_sysrq_char(port, buf[i])) + continue; + tty_insert_flip_char(&port->port, buf[i], flag); } } else { - tty_insert_flip_string_fixed_flag(&port->port, ch, flag, len); + tty_insert_flip_string_fixed_flag(&port->port, buf + 2, flag, + len - 2); } - return len; + return len - 2; } static void ftdi_process_read_urb(struct urb *urb) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/ftdi_sio_ids.h +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/ftdi_sio_ids.h @@ -39,6 +39,13 @@ #define FTDI_LUMEL_PD12_PID 0x6002 +/* + * Custom USB adapters made by Falconia Partners LLC + * for FreeCalypso project, ID codes allocated to Falconia by FTDI. + */ +#define FTDI_FALCONIA_JTAG_BUF_PID 0x7150 +#define FTDI_FALCONIA_JTAG_UNBUF_PID 0x7151 + /* Sienna Serial Interface by Secyourit GmbH */ #define FTDI_SIENNA_PID 0x8348 @@ -160,6 +167,7 @@ #define XSENS_AWINDA_DONGLE_PID 0x0102 #define XSENS_MTW_PID 0x0200 /* Xsens MTw */ #define XSENS_MTDEVBOARD_PID 0x0300 /* Motion Tracker Development Board */ +#define XSENS_MTIUSBCONVERTER_PID 0x0301 /* MTi USB converter */ #define XSENS_CONVERTER_PID 0xD00D /* Xsens USB-serial converter */ /* Xsens devices using FTDI VID */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/io_edgeport.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/io_edgeport.c @@ -3003,26 +3003,32 @@ response = -ENODEV; } - usb_free_urb(edge_serial->interrupt_read_urb); - kfree(edge_serial->interrupt_in_buffer); - - usb_free_urb(edge_serial->read_urb); - kfree(edge_serial->bulk_in_buffer); - - kfree(edge_serial); - - return response; + goto error; } /* start interrupt read for this edgeport this interrupt will * continue as long as the edgeport is connected */ response = usb_submit_urb(edge_serial->interrupt_read_urb, GFP_KERNEL); - if (response) + if (response) { dev_err(ddev, "%s - Error %d submitting control urb\n", __func__, response); + + goto error; + } } return response; + +error: + usb_free_urb(edge_serial->interrupt_read_urb); + kfree(edge_serial->interrupt_in_buffer); + + usb_free_urb(edge_serial->read_urb); + kfree(edge_serial->bulk_in_buffer); + + kfree(edge_serial); + + return response; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/iuu_phoenix.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/iuu_phoenix.c @@ -353,10 +353,11 @@ struct usb_serial_port *port = urb->context; int result; char *buf_ptr = port->write_urb->transfer_buffer; - *buf_ptr++ = IUU_SET_LED; + if (xmas) { - get_random_bytes(buf_ptr, 6); - *(buf_ptr+7) = 1; + buf_ptr[0] = IUU_SET_LED; + get_random_bytes(buf_ptr + 1, 6); + buf_ptr[7] = 1; } else { iuu_rgbf_fill_buffer(buf_ptr, 255, 255, 0, 0, 0, 0, 255); } @@ -374,13 +375,14 @@ struct usb_serial_port *port = urb->context; int result; char *buf_ptr = port->write_urb->transfer_buffer; + if (xmas) { iuu_rxcmd(urb); return; - } else { - *buf_ptr++ = IUU_SET_LED; - iuu_rgbf_fill_buffer(buf_ptr, 0, 0, 255, 255, 0, 0, 255); } + + iuu_rgbf_fill_buffer(buf_ptr, 0, 0, 255, 255, 0, 0, 255); + usb_fill_bulk_urb(port->write_urb, port->serial->dev, usb_sndbulkpipe(port->serial->dev, port->bulk_out_endpointAddress), @@ -534,23 +536,29 @@ struct device *dev = &port->dev; int i; int status; - u8 rxcmd = IUU_UART_RX; + u8 *rxcmd; struct iuu_private *priv = usb_get_serial_port_data(port); if (iuu_led(port, 0xF000, 0, 0, 0xFF) < 0) return -EIO; + rxcmd = kmalloc(1, GFP_KERNEL); + if (!rxcmd) + return -ENOMEM; + + rxcmd[0] = IUU_UART_RX; + for (i = 0; i < 2; i++) { - status = bulk_immediate(port, &rxcmd, 1); + status = bulk_immediate(port, rxcmd, 1); if (status != IUU_OPERATION_OK) { dev_dbg(dev, "%s - uart_flush_write error\n", __func__); - return status; + goto out_free; } status = read_immediate(port, &priv->len, 1); if (status != IUU_OPERATION_OK) { dev_dbg(dev, "%s - uart_flush_read error\n", __func__); - return status; + goto out_free; } if (priv->len > 0) { @@ -558,12 +566,16 @@ status = read_immediate(port, priv->buf, priv->len); if (status != IUU_OPERATION_OK) { dev_dbg(dev, "%s - uart_flush_read error\n", __func__); - return status; + goto out_free; } } } dev_dbg(dev, "%s - uart_flush_read OK!\n", __func__); iuu_led(port, 0, 0xF000, 0, 0xFF); + +out_free: + kfree(rxcmd); + return status; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/keyspan_pda.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/keyspan_pda.c @@ -40,11 +40,12 @@ #define DRIVER_AUTHOR "Brian Warner " #define DRIVER_DESC "USB Keyspan PDA Converter driver" +#define KEYSPAN_TX_THRESHOLD 16 + struct keyspan_pda_private { int tx_room; int tx_throttled; - struct work_struct wakeup_work; - struct work_struct unthrottle_work; + struct work_struct unthrottle_work; struct usb_serial *serial; struct usb_serial_port *port; }; @@ -97,15 +98,6 @@ }; #endif -static void keyspan_pda_wakeup_write(struct work_struct *work) -{ - struct keyspan_pda_private *priv = - container_of(work, struct keyspan_pda_private, wakeup_work); - struct usb_serial_port *port = priv->port; - - tty_port_tty_wakeup(&port->port); -} - static void keyspan_pda_request_unthrottle(struct work_struct *work) { struct keyspan_pda_private *priv = @@ -120,7 +112,7 @@ 7, /* request_unthrottle */ USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT, - 16, /* value: threshold */ + KEYSPAN_TX_THRESHOLD, 0, /* index */ NULL, 0, @@ -139,6 +131,8 @@ int retval; int status = urb->status; struct keyspan_pda_private *priv; + unsigned long flags; + priv = usb_get_serial_port_data(port); switch (status) { @@ -172,18 +166,21 @@ break; case 1: /* status interrupt */ - if (len < 3) { + if (len < 2) { dev_warn(&port->dev, "short interrupt message received\n"); break; } - dev_dbg(&port->dev, "rx int, d1=%d, d2=%d\n", data[1], data[2]); + dev_dbg(&port->dev, "rx int, d1=%d\n", data[1]); switch (data[1]) { case 1: /* modemline change */ break; case 2: /* tx unthrottle interrupt */ + spin_lock_irqsave(&port->lock, flags); priv->tx_throttled = 0; + priv->tx_room = max(priv->tx_room, KEYSPAN_TX_THRESHOLD); + spin_unlock_irqrestore(&port->lock, flags); /* queue up a wakeup at scheduler time */ - schedule_work(&priv->wakeup_work); + usb_serial_port_softint(port); break; default: break; @@ -443,6 +440,7 @@ int request_unthrottle = 0; int rc = 0; struct keyspan_pda_private *priv; + unsigned long flags; priv = usb_get_serial_port_data(port); /* guess how much room is left in the device's ring buffer, and if we @@ -462,13 +460,13 @@ the TX urb is in-flight (wait until it completes) the device is full (wait until it says there is room) */ - spin_lock_bh(&port->lock); + spin_lock_irqsave(&port->lock, flags); if (!test_bit(0, &port->write_urbs_free) || priv->tx_throttled) { - spin_unlock_bh(&port->lock); + spin_unlock_irqrestore(&port->lock, flags); return 0; } clear_bit(0, &port->write_urbs_free); - spin_unlock_bh(&port->lock); + spin_unlock_irqrestore(&port->lock, flags); /* At this point the URB is in our control, nobody else can submit it again (the only sudden transition was the one from EINPROGRESS to @@ -514,7 +512,8 @@ goto exit; } } - if (count > priv->tx_room) { + + if (count >= priv->tx_room) { /* we're about to completely fill the Tx buffer, so we'll be throttled afterwards. */ count = priv->tx_room; @@ -547,7 +546,7 @@ rc = count; exit: - if (rc < 0) + if (rc <= 0) set_bit(0, &port->write_urbs_free); return rc; } @@ -556,27 +555,28 @@ static void keyspan_pda_write_bulk_callback(struct urb *urb) { struct usb_serial_port *port = urb->context; - struct keyspan_pda_private *priv; set_bit(0, &port->write_urbs_free); - priv = usb_get_serial_port_data(port); /* queue up a wakeup at scheduler time */ - schedule_work(&priv->wakeup_work); + usb_serial_port_softint(port); } static int keyspan_pda_write_room(struct tty_struct *tty) { struct usb_serial_port *port = tty->driver_data; - struct keyspan_pda_private *priv; - priv = usb_get_serial_port_data(port); - /* used by n_tty.c for processing of tabs and such. Giving it our - conservative guess is probably good enough, but needs testing by - running a console through the device. */ - return priv->tx_room; -} + struct keyspan_pda_private *priv = usb_get_serial_port_data(port); + unsigned long flags; + int room = 0; + spin_lock_irqsave(&port->lock, flags); + if (test_bit(0, &port->write_urbs_free) && !priv->tx_throttled) + room = priv->tx_room; + spin_unlock_irqrestore(&port->lock, flags); + + return room; +} static int keyspan_pda_chars_in_buffer(struct tty_struct *tty) { @@ -656,8 +656,12 @@ } static void keyspan_pda_close(struct usb_serial_port *port) { + struct keyspan_pda_private *priv = usb_get_serial_port_data(port); + usb_kill_urb(port->write_urb); usb_kill_urb(port->interrupt_in_urb); + + cancel_work_sync(&priv->unthrottle_work); } @@ -715,7 +719,6 @@ if (!priv) return -ENOMEM; - INIT_WORK(&priv->wakeup_work, keyspan_pda_wakeup_write); INIT_WORK(&priv->unthrottle_work, keyspan_pda_request_unthrottle); priv->serial = port->serial; priv->port = port; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/kl5kusb105.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/kl5kusb105.c @@ -276,12 +276,12 @@ priv->cfg.unknown2 = cfg->unknown2; spin_unlock_irqrestore(&priv->lock, flags); + kfree(cfg); + /* READ_ON and urb submission */ rc = usb_serial_generic_open(tty, port); - if (rc) { - retval = rc; - goto err_free_cfg; - } + if (rc) + return rc; rc = usb_control_msg(port->serial->dev, usb_sndctrlpipe(port->serial->dev, 0), @@ -324,8 +324,6 @@ KLSI_TIMEOUT); err_generic_close: usb_serial_generic_close(port); -err_free_cfg: - kfree(cfg); return retval; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/mos7720.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/mos7720.c @@ -638,6 +638,8 @@ spin_unlock(&release_lock); return; } + mos_parport->shadowDCR = s->u.pc.ctr; + mos_parport->shadowECR = s->u.pc.ecr; write_parport_reg_nonblock(mos_parport, MOS7720_DCR, mos_parport->shadowDCR); write_parport_reg_nonblock(mos_parport, MOS7720_ECR, @@ -1248,8 +1250,10 @@ if (urb->transfer_buffer == NULL) { urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE, GFP_ATOMIC); - if (!urb->transfer_buffer) + if (!urb->transfer_buffer) { + bytes_sent = -ENOMEM; goto exit; + } } transfer_size = min(count, URB_TRANSFER_BUFFER_SIZE); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/mos7840.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/mos7840.c @@ -883,8 +883,10 @@ if (urb->transfer_buffer == NULL) { urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE, GFP_ATOMIC); - if (!urb->transfer_buffer) + if (!urb->transfer_buffer) { + bytes_sent = -ENOMEM; goto exit; + } } transfer_size = min(count, URB_TRANSFER_BUFFER_SIZE); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/option.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/option.c @@ -250,6 +250,7 @@ #define QUECTEL_PRODUCT_EP06 0x0306 #define QUECTEL_PRODUCT_EM12 0x0512 #define QUECTEL_PRODUCT_RM500Q 0x0800 +#define QUECTEL_PRODUCT_EC200T 0x6026 #define CMOTECH_VENDOR_ID 0x16d8 #define CMOTECH_PRODUCT_6001 0x6001 @@ -418,11 +419,14 @@ #define CINTERION_PRODUCT_PH8 0x0053 #define CINTERION_PRODUCT_AHXX 0x0055 #define CINTERION_PRODUCT_PLXX 0x0060 +#define CINTERION_PRODUCT_EXS82 0x006c #define CINTERION_PRODUCT_PH8_2RMNET 0x0082 #define CINTERION_PRODUCT_PH8_AUDIO 0x0083 #define CINTERION_PRODUCT_AHXX_2RMNET 0x0084 #define CINTERION_PRODUCT_AHXX_AUDIO 0x0085 #define CINTERION_PRODUCT_CLS8 0x00b0 +#define CINTERION_PRODUCT_MV31_MBIM 0x00b3 +#define CINTERION_PRODUCT_MV31_RMNET 0x00b7 /* Olivetti products */ #define OLIVETTI_VENDOR_ID 0x0b3c @@ -528,6 +532,7 @@ /* Cellient products */ #define CELLIENT_VENDOR_ID 0x2692 #define CELLIENT_PRODUCT_MEN200 0x9005 +#define CELLIENT_PRODUCT_MPL200 0x9025 /* Hyundai Petatel Inc. products */ #define PETATEL_VENDOR_ID 0x1ff4 @@ -560,6 +565,9 @@ /* Device flags */ +/* Highest interface number which can be used with NCTRL() and RSVD() */ +#define FLAG_IFNUM_MAX 7 + /* Interface does not support modem-control requests */ #define NCTRL(ifnum) ((BIT(ifnum) & 0xff) << 8) @@ -1094,12 +1102,15 @@ { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R410M), .driver_info = RSVD(1) | RSVD(3) }, /* Quectel products using Quectel vendor ID */ - { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21), - .driver_info = RSVD(4) }, - { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25), - .driver_info = RSVD(4) }, - { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95), - .driver_info = RSVD(4) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0xff, 0xff), + .driver_info = NUMEP2 }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25, 0xff, 0xff, 0xff), + .driver_info = NUMEP2 }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25, 0xff, 0, 0) }, + { 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(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff), @@ -1108,10 +1119,13 @@ { 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) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0620, 0xff, 0xff, 0x30) }, /* EM160R-GL */ + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0620, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) }, { 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_EC200T, 0xff, 0, 0) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) }, @@ -1182,6 +1196,10 @@ .driver_info = NCTRL(2) | RSVD(3) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1053, 0xff), /* Telit FN980 (ECM) */ .driver_info = NCTRL(0) | RSVD(1) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1054, 0xff), /* Telit FT980-KS */ + .driver_info = NCTRL(2) | RSVD(3) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1055, 0xff), /* Telit FN980 (PCIe) */ + .driver_info = NCTRL(0) | RSVD(1) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), @@ -1194,6 +1212,8 @@ .driver_info = NCTRL(0) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910), .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1203, 0xff), /* Telit LE910Cx (RNDIS) */ + .driver_info = NCTRL(2) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910_USBCFG4), .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), @@ -1208,6 +1228,10 @@ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1213, 0xff) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1214), .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1230, 0xff), /* Telit LE910Cx (rmnet) */ + .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1231, 0xff), /* Telit LE910Cx (RNDIS) */ + .driver_info = NCTRL(2) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, 0x1260), .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, { USB_DEVICE(TELIT_VENDOR_ID, 0x1261), @@ -1545,7 +1569,8 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1272, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1273, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1274, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1275, 0xff, 0xff, 0xff) }, + { USB_DEVICE(ZTE_VENDOR_ID, 0x1275), /* ZTE P685M */ + .driver_info = RSVD(3) | RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1276, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1277, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1278, 0xff, 0xff, 0xff) }, @@ -1819,6 +1844,8 @@ { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9003, 0xff) }, /* Simcom SIM7500/SIM7600 MBIM mode */ { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9011, 0xff), /* Simcom SIM7500/SIM7600 RNDIS mode */ .driver_info = RSVD(7) }, + { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9205, 0xff) }, /* Simcom SIM7070/SIM7080/SIM7090 AT+ECM mode */ + { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9206, 0xff) }, /* Simcom SIM7070/SIM7080/SIM7090 AT-only mode */ { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200), .driver_info = NCTRL(0) | NCTRL(1) | RSVD(4) }, { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X220_X500D), @@ -1883,12 +1910,17 @@ { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX_AUDIO, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_CLS8, 0xff), .driver_info = RSVD(0) | RSVD(4) }, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EXS82, 0xff) }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) }, { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */ { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_MBIM, 0xff), + .driver_info = RSVD(3)}, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_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), @@ -1976,6 +2008,8 @@ { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, + { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200), + .driver_info = RSVD(1) | RSVD(4) }, { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) }, { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) }, { USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) }, /* TP-Link LTE Module */ @@ -2025,12 +2059,14 @@ .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, { USB_DEVICE(0x0489, 0xe0b5), /* Foxconn T77W968 ESIM */ .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, - { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 */ + { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 (IOT version) */ .driver_info = RSVD(4) | RSVD(5) | RSVD(6) }, { USB_DEVICE(0x2cb7, 0x0104), /* Fibocom NL678 series */ .driver_info = RSVD(4) | RSVD(5) }, { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff), /* Fibocom NL678 series */ .driver_info = RSVD(6) }, + { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a0, 0xff) }, /* Fibocom NL668-AM/NL652-EU (laptop MBIM) */ + { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */ { 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 */ @@ -2078,6 +2114,14 @@ module_usb_serial_driver(serial_drivers, option_ids); +static bool iface_is_reserved(unsigned long device_flags, u8 ifnum) +{ + if (ifnum > FLAG_IFNUM_MAX) + return false; + + return device_flags & RSVD(ifnum); +} + static int option_probe(struct usb_serial *serial, const struct usb_device_id *id) { @@ -2094,7 +2138,7 @@ * the same class/subclass/protocol as the serial interfaces. Look at * the Windows driver .INF files for reserved interface numbers. */ - if (device_flags & RSVD(iface_desc->bInterfaceNumber)) + if (iface_is_reserved(device_flags, iface_desc->bInterfaceNumber)) return -ENODEV; /* @@ -2110,6 +2154,14 @@ return 0; } +static bool iface_no_modem_control(unsigned long device_flags, u8 ifnum) +{ + if (ifnum > FLAG_IFNUM_MAX) + return false; + + return device_flags & NCTRL(ifnum); +} + static int option_attach(struct usb_serial *serial) { struct usb_interface_descriptor *iface_desc; @@ -2125,7 +2177,7 @@ iface_desc = &serial->interface->cur_altsetting->desc; - if (!(device_flags & NCTRL(iface_desc->bInterfaceNumber))) + if (!iface_no_modem_control(device_flags, iface_desc->bInterfaceNumber)) data->use_send_setup = 1; if (device_flags & ZLP) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/pl2303.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/pl2303.c @@ -100,6 +100,7 @@ { USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LD220TA_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LD381_PRODUCT_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_LD381GC_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LD960_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LD960TA_PRODUCT_ID) }, { USB_DEVICE(HP_VENDOR_ID, HP_LCM220_PRODUCT_ID) }, @@ -182,6 +183,7 @@ speed_t max_baud_rate; unsigned long quirks; unsigned int no_autoxonxoff:1; + unsigned int no_divisors:1; }; struct pl2303_serial_private { @@ -208,6 +210,7 @@ }, [TYPE_HXN] = { .max_baud_rate = 12000000, + .no_divisors = true, }, }; @@ -570,8 +573,12 @@ baud = min_t(speed_t, baud, spriv->type->max_baud_rate); /* * Use direct method for supported baud rates, otherwise use divisors. + * Newer chip types do not support divisor encoding. */ - baud_sup = pl2303_get_supported_baud_rate(baud); + if (spriv->type->no_divisors) + baud_sup = baud; + else + baud_sup = pl2303_get_supported_baud_rate(baud); if (baud == baud_sup) baud = pl2303_encode_baud_rate_direct(buf, baud); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/pl2303.h +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/pl2303.h @@ -127,6 +127,7 @@ /* Hewlett-Packard POS Pole Displays */ #define HP_VENDOR_ID 0x03f0 +#define HP_LD381GC_PRODUCT_ID 0x0183 #define HP_LM920_PRODUCT_ID 0x026b #define HP_TD620_PRODUCT_ID 0x0956 #define HP_LD960_PRODUCT_ID 0x0b39 --- linux-riscv-5.8-5.8.0.orig/drivers/usb/serial/qcserial.c +++ linux-riscv-5.8-5.8.0/drivers/usb/serial/qcserial.c @@ -155,6 +155,7 @@ {DEVICE_SWI(0x1199, 0x9056)}, /* Sierra Wireless Modem */ {DEVICE_SWI(0x1199, 0x9060)}, /* Sierra Wireless Modem */ {DEVICE_SWI(0x1199, 0x9061)}, /* Sierra Wireless Modem */ + {DEVICE_SWI(0x1199, 0x9062)}, /* Sierra Wireless EM7305 QDL */ {DEVICE_SWI(0x1199, 0x9063)}, /* Sierra Wireless EM7305 */ {DEVICE_SWI(0x1199, 0x9070)}, /* Sierra Wireless MC74xx */ {DEVICE_SWI(0x1199, 0x9071)}, /* Sierra Wireless MC74xx */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/storage/realtek_cr.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/drivers/usb/storage/transport.c +++ linux-riscv-5.8-5.8.0/drivers/usb/storage/transport.c @@ -651,6 +651,13 @@ need_auto_sense = 1; } + /* Some devices (Kindle) require another command after SYNC CACHE */ + if ((us->fflags & US_FL_SENSE_AFTER_SYNC) && + srb->cmnd[0] == SYNCHRONIZE_CACHE) { + usb_stor_dbg(us, "-- sense after SYNC CACHE\n"); + need_auto_sense = 1; + } + /* * If we have a failure, we're going to do a REQUEST_SENSE * automatically. Note that we differentiate between a command --- linux-riscv-5.8-5.8.0.orig/drivers/usb/storage/uas.c +++ linux-riscv-5.8-5.8.0/drivers/usb/storage/uas.c @@ -662,8 +662,7 @@ if (devinfo->resetting) { cmnd->result = DID_ERROR << 16; cmnd->scsi_done(cmnd); - spin_unlock_irqrestore(&devinfo->lock, flags); - return 0; + goto zombie; } /* Find a free uas-tag */ @@ -699,6 +698,16 @@ cmdinfo->state &= ~(SUBMIT_DATA_IN_URB | SUBMIT_DATA_OUT_URB); err = uas_submit_urbs(cmnd, devinfo); + /* + * in case of fatal errors the SCSI layer is peculiar + * a command that has finished is a success for the purpose + * of queueing, no matter how fatal the error + */ + if (err == -ENODEV) { + cmnd->result = DID_ERROR << 16; + cmnd->scsi_done(cmnd); + goto zombie; + } if (err) { /* If we did nothing, give up now */ if (cmdinfo->state & SUBMIT_STATUS_URB) { @@ -709,6 +718,7 @@ } devinfo->cmnd[idx] = cmnd; +zombie: spin_unlock_irqrestore(&devinfo->lock, flags); return 0; } @@ -857,6 +867,9 @@ if (devinfo->flags & US_FL_NO_READ_CAPACITY_16) sdev->no_read_capacity_16 = 1; + /* Some disks cannot handle WRITE_SAME */ + if (devinfo->flags & US_FL_NO_SAME) + sdev->no_write_same = 1; /* * Some disks return the total number of blocks in response * to READ CAPACITY rather than the highest block number. --- linux-riscv-5.8-5.8.0.orig/drivers/usb/storage/unusual_devs.h +++ linux-riscv-5.8-5.8.0/drivers/usb/storage/unusual_devs.h @@ -1337,6 +1337,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. @@ -2212,6 +2219,18 @@ US_FL_NO_READ_DISC_INFO ), /* + * Reported by Matthias Schwarzott + * The Amazon Kindle treats SYNCHRONIZE CACHE as an indication that + * the host may be finished with it, and automatically ejects its + * emulated media unless it receives another command within one second. + */ +UNUSUAL_DEV( 0x1949, 0x0004, 0x0000, 0x9999, + "Amazon", + "Kindle", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_SENSE_AFTER_SYNC ), + +/* * Reported by Oliver Neukum * This device morphes spontaneously into another device if the access * pattern of Windows isn't followed. Thus writable media would be dirty @@ -2328,7 +2347,7 @@ "JMicron", "USB to ATA/ATAPI Bridge", USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_BROKEN_FUA ), + US_FL_BROKEN_FUA | US_FL_IGNORE_UAS ), /* Reported by Andrey Rahmatullin */ UNUSUAL_DEV( 0x4102, 0x1020, 0x0100, 0x0100, --- linux-riscv-5.8-5.8.0.orig/drivers/usb/storage/unusual_uas.h +++ linux-riscv-5.8-5.8.0/drivers/usb/storage/unusual_uas.h @@ -28,12 +28,22 @@ * and don't forget to CC: the USB development list */ -/* Reported-by: Julian Groß */ +/* Reported-by: Till Dörges */ +UNUSUAL_DEV(0x054c, 0x087d, 0x0000, 0x9999, + "Sony", + "PSZ-HA*", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_REPORT_OPCODES), + +/* + * Initially Reported-by: Julian Groß + * Further reports David C. Partridge + */ UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999, "LaCie", "2Big Quadra USB3", USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_REPORT_OPCODES), + US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME), /* * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI @@ -80,6 +90,20 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_BROKEN_FUA), +/* Reported-by: Thinh Nguyen */ +UNUSUAL_DEV(0x154b, 0xf00b, 0x0000, 0x9999, + "PNY", + "Pro Elite SSD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_ATA_1X), + +/* Reported-by: Thinh Nguyen */ +UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x9999, + "PNY", + "Pro Elite SSD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_ATA_1X), + /* Reported-by: Hans de Goede */ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999, "VIA", --- linux-riscv-5.8-5.8.0.orig/drivers/usb/storage/usb.c +++ linux-riscv-5.8-5.8.0/drivers/usb/storage/usb.c @@ -541,6 +541,9 @@ case 'j': f |= US_FL_NO_REPORT_LUNS; break; + case 'k': + f |= US_FL_NO_SAME; + break; case 'l': f |= US_FL_NOT_LOCKABLE; break; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/altmodes/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/altmodes/Kconfig @@ -20,6 +20,6 @@ to enable support for VirtualLink devices with NVIDIA GPUs. To compile this driver as a module, choose M here: the - module will be called typec_displayport. + module will be called typec_nvidia. endmenu --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/mux/intel_pmc_mux.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/mux/intel_pmc_mux.c @@ -56,14 +56,11 @@ #define PMC_USB_ALTMODE_ORI_SHIFT 1 #define PMC_USB_ALTMODE_UFP_SHIFT 3 -#define PMC_USB_ALTMODE_ORI_AUX_SHIFT 4 -#define PMC_USB_ALTMODE_ORI_HSL_SHIFT 5 /* DP specific Mode Data bits */ #define PMC_USB_ALTMODE_DP_MODE_SHIFT 8 /* TBT specific Mode Data bits */ -#define PMC_USB_ALTMODE_HPD_HIGH BIT(14) #define PMC_USB_ALTMODE_TBT_TYPE BIT(17) #define PMC_USB_ALTMODE_CABLE_TYPE BIT(18) #define PMC_USB_ALTMODE_ACTIVE_LINK BIT(20) @@ -174,15 +171,9 @@ req.mode_data = (port->orientation - 1) << PMC_USB_ALTMODE_ORI_SHIFT; req.mode_data |= (port->role - 1) << PMC_USB_ALTMODE_UFP_SHIFT; - req.mode_data |= sbu_orientation(port) << PMC_USB_ALTMODE_ORI_AUX_SHIFT; - req.mode_data |= hsl_orientation(port) << PMC_USB_ALTMODE_ORI_HSL_SHIFT; - req.mode_data |= (state->mode - TYPEC_STATE_MODAL) << PMC_USB_ALTMODE_DP_MODE_SHIFT; - if (data->status & DP_STATUS_HPD_STATE) - req.mode_data |= PMC_USB_ALTMODE_HPD_HIGH; - ret = pmc_usb_command(port, (void *)&req, sizeof(req)); if (ret) return ret; @@ -207,9 +198,6 @@ req.mode_data = (port->orientation - 1) << PMC_USB_ALTMODE_ORI_SHIFT; req.mode_data |= (port->role - 1) << PMC_USB_ALTMODE_UFP_SHIFT; - req.mode_data |= sbu_orientation(port) << PMC_USB_ALTMODE_ORI_AUX_SHIFT; - req.mode_data |= hsl_orientation(port) << PMC_USB_ALTMODE_ORI_HSL_SHIFT; - if (TBT_ADAPTER(data->device_mode) == TBT_ADAPTER_TBT3) req.mode_data |= PMC_USB_ALTMODE_TBT_TYPE; @@ -441,6 +429,7 @@ for (i = 0; i < pmc->num_ports; i++) { typec_switch_unregister(pmc->port[i].typec_sw); typec_mux_unregister(pmc->port[i].typec_mux); + usb_role_switch_unregister(pmc->port[i].usb_sw); } return ret; @@ -454,6 +443,7 @@ for (i = 0; i < pmc->num_ports; i++) { typec_switch_unregister(pmc->port[i].typec_sw); typec_mux_unregister(pmc->port[i].typec_mux); + usb_role_switch_unregister(pmc->port[i].usb_sw); } return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/tcpm/tcpm.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/tcpm/tcpm.c @@ -738,6 +738,7 @@ port->supply_voltage = mv; port->current_limit = max_ma; + power_supply_changed(port->psy); if (port->tcpc->set_current_limit) ret = port->tcpc->set_current_limit(port->tcpc, max_ma, mv); @@ -2157,6 +2158,7 @@ port->pps_data.supported = false; port->usb_type = POWER_SUPPLY_USB_TYPE_PD; + power_supply_changed(port->psy); /* * Select the source PDO providing the most power which has a @@ -2181,6 +2183,7 @@ port->pps_data.supported = true; port->usb_type = POWER_SUPPLY_USB_TYPE_PD_PPS; + power_supply_changed(port->psy); } continue; default: @@ -2338,6 +2341,7 @@ port->pps_data.out_volt)); port->pps_data.op_curr = min(port->pps_data.max_curr, port->pps_data.op_curr); + power_supply_changed(port->psy); } return src_pdo; @@ -2573,6 +2577,7 @@ return ret; } port->vbus_charge = charge; + power_supply_changed(port->psy); return 0; } @@ -2743,12 +2748,12 @@ static void tcpm_detach(struct tcpm_port *port) { - if (!port->attached) - return; - if (tcpm_port_is_disconnected(port)) port->hard_reset_count = 0; + if (!port->attached) + return; + tcpm_reset_port(port); } @@ -3321,13 +3326,31 @@ tcpm_set_state(port, SNK_HARD_RESET_SINK_OFF, 0); break; case SRC_HARD_RESET_VBUS_OFF: - tcpm_set_vconn(port, true); + /* + * 7.1.5 Response to Hard Resets + * Hard Reset Signaling indicates a communication failure has occurred and the + * Source Shall stop driving VCONN, Shall remove Rp from the VCONN pin and Shall + * drive VBUS to vSafe0V as shown in Figure 7-9. + */ + tcpm_set_vconn(port, false); tcpm_set_vbus(port, false); tcpm_set_roles(port, port->self_powered, TYPEC_SOURCE, tcpm_data_role_for_source(port)); - tcpm_set_state(port, SRC_HARD_RESET_VBUS_ON, PD_T_SRC_RECOVER); + /* + * If tcpc fails to notify vbus off, TCPM will wait for PD_T_SAFE_0V + + * PD_T_SRC_RECOVER before turning vbus back on. + * From Table 7-12 Sequence Description for a Source Initiated Hard Reset: + * 4. Policy Engine waits tPSHardReset after sending Hard Reset Signaling and then + * tells the Device Policy Manager to instruct the power supply to perform a + * Hard Reset. The transition to vSafe0V Shall occur within tSafe0V (t2). + * 5. After tSrcRecover the Source applies power to VBUS in an attempt to + * re-establish communication with the Sink and resume USB Default Operation. + * The transition to vSafe5V Shall occur within tSrcTurnOn(t4). + */ + tcpm_set_state(port, SRC_HARD_RESET_VBUS_ON, PD_T_SAFE_0V + PD_T_SRC_RECOVER); break; case SRC_HARD_RESET_VBUS_ON: + tcpm_set_vconn(port, true); tcpm_set_vbus(port, true); port->tcpc->set_pd_rx(port->tcpc, true); tcpm_set_attached_state(port, true); @@ -3504,7 +3527,7 @@ */ tcpm_set_pwr_role(port, TYPEC_SOURCE); tcpm_pd_send_control(port, PD_CTRL_PS_RDY); - tcpm_set_state(port, SRC_STARTUP, 0); + tcpm_set_state(port, SRC_STARTUP, PD_T_SWAP_SRC_START); break; case VCONN_SWAP_ACCEPT: @@ -3887,7 +3910,11 @@ tcpm_set_state(port, SNK_HARD_RESET_WAIT_VBUS, 0); break; case SRC_HARD_RESET_VBUS_OFF: - tcpm_set_state(port, SRC_HARD_RESET_VBUS_ON, 0); + /* + * After establishing the vSafe0V voltage condition on VBUS, the Source Shall wait + * tSrcRecover before re-applying VCONN and restoring VBUS to vSafe5V. + */ + tcpm_set_state(port, SRC_HARD_RESET_VBUS_ON, PD_T_SRC_RECOVER); break; case HARD_RESET_SEND: break; @@ -4667,7 +4694,7 @@ ret = -EINVAL; break; } - + power_supply_changed(port->psy); return ret; } @@ -4786,6 +4813,7 @@ err = devm_tcpm_psy_register(port); if (err) goto out_role_sw_put; + power_supply_changed(port->psy); port->typec_port = typec_register_port(port->dev, &port->typec_caps); if (IS_ERR(port->typec_port)) { --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/tps6598x.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/tps6598x.c @@ -62,7 +62,6 @@ struct tps6598x_rx_identity_reg { u8 status; struct usb_pd_identity identity; - u32 vdo[3]; } __packed; /* Standard Task return codes */ --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/ucsi/displayport.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/ucsi/displayport.c @@ -288,8 +288,6 @@ struct typec_altmode *alt; struct ucsi_dp *dp; - mutex_lock(&con->lock); - /* We can't rely on the firmware with the capabilities. */ desc->vdo |= DP_CAP_DP_SIGNALING | DP_CAP_RECEPTACLE; @@ -298,15 +296,12 @@ desc->vdo |= all_assignments << 16; alt = typec_port_register_altmode(con->port, desc); - if (IS_ERR(alt)) { - mutex_unlock(&con->lock); + if (IS_ERR(alt)) return alt; - } dp = devm_kzalloc(&alt->dev, sizeof(*dp), GFP_KERNEL); if (!dp) { typec_unregister_altmode(alt); - mutex_unlock(&con->lock); return ERR_PTR(-ENOMEM); } @@ -319,7 +314,5 @@ alt->ops = &ucsi_displayport_ops; typec_altmode_set_drvdata(alt, dp); - mutex_unlock(&con->lock); - return alt; } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/ucsi/psy.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/ucsi/psy.c @@ -238,4 +238,13 @@ return; power_supply_unregister(con->psy); + con->psy = NULL; +} + +void ucsi_port_psy_changed(struct ucsi_connector *con) +{ + if (IS_ERR_OR_NULL(con->psy)) + return; + + power_supply_changed(con->psy); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/ucsi/ucsi.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/ucsi/ucsi.c @@ -146,40 +146,33 @@ return UCSI_CCI_LENGTH(cci); } -static int ucsi_run_command(struct ucsi *ucsi, u64 command, - void *data, size_t size) +int ucsi_send_command(struct ucsi *ucsi, u64 command, + void *data, size_t size) { u8 length; int ret; + mutex_lock(&ucsi->ppm_lock); + ret = ucsi_exec_command(ucsi, command); if (ret < 0) - return ret; + goto out; length = ret; if (data) { ret = ucsi->ops->read(ucsi, UCSI_MESSAGE_IN, data, size); if (ret) - return ret; + goto out; } ret = ucsi_acknowledge_command(ucsi); if (ret) - return ret; - - return length; -} + goto out; -int ucsi_send_command(struct ucsi *ucsi, u64 command, - void *retval, size_t size) -{ - int ret; - - mutex_lock(&ucsi->ppm_lock); - ret = ucsi_run_command(ucsi, command, retval, size); + ret = length; +out: mutex_unlock(&ucsi->ppm_lock); - return ret; } EXPORT_SYMBOL_GPL(ucsi_send_command); @@ -205,7 +198,7 @@ int i; command = UCSI_GET_CURRENT_CAM | UCSI_CONNECTOR_NUMBER(con->num); - ret = ucsi_run_command(con->ucsi, command, &cur, sizeof(cur)); + ret = ucsi_send_command(con->ucsi, command, &cur, sizeof(cur)); if (ret < 0) { if (con->ucsi->version > 0x0100) { dev_err(con->ucsi->dev, @@ -223,14 +216,18 @@ con->partner_altmode[i] == altmode); } -static u8 ucsi_altmode_next_mode(struct typec_altmode **alt, u16 svid) +static int ucsi_altmode_next_mode(struct typec_altmode **alt, u16 svid) { u8 mode = 1; int i; - for (i = 0; alt[i]; i++) + for (i = 0; alt[i]; i++) { + if (i > MODE_DISCOVERY_MAX) + return -ERANGE; + if (alt[i]->svid == svid) mode++; + } return mode; } @@ -265,8 +262,11 @@ goto err; } - desc->mode = ucsi_altmode_next_mode(con->port_altmode, - desc->svid); + ret = ucsi_altmode_next_mode(con->port_altmode, desc->svid); + if (ret < 0) + return ret; + + desc->mode = ret; switch (desc->svid) { case USB_TYPEC_DP_SID: @@ -299,8 +299,11 @@ goto err; } - desc->mode = ucsi_altmode_next_mode(con->partner_altmode, - desc->svid); + ret = ucsi_altmode_next_mode(con->partner_altmode, desc->svid); + if (ret < 0) + return ret; + + desc->mode = ret; alt = typec_partner_register_altmode(con->partner, desc); if (IS_ERR(alt)) { @@ -354,7 +357,7 @@ command |= UCSI_GET_ALTMODE_RECIPIENT(recipient); command |= UCSI_GET_ALTMODE_CONNECTOR_NUMBER(con->num); command |= UCSI_GET_ALTMODE_OFFSET(i); - len = ucsi_run_command(con->ucsi, command, &alt, sizeof(alt)); + len = ucsi_send_command(con->ucsi, command, &alt, sizeof(alt)); /* * We are collecting all altmodes first and then registering. * Some type-C device will return zero length data beyond last @@ -431,7 +434,7 @@ command |= UCSI_GET_ALTMODE_RECIPIENT(recipient); command |= UCSI_GET_ALTMODE_CONNECTOR_NUMBER(con->num); command |= UCSI_GET_ALTMODE_OFFSET(i); - len = ucsi_run_command(con->ucsi, command, alt, sizeof(alt)); + len = ucsi_send_command(con->ucsi, command, alt, sizeof(alt)); if (len <= 0) return len; @@ -502,7 +505,7 @@ command |= UCSI_GET_PDOS_PARTNER_PDO(is_partner); command |= UCSI_GET_PDOS_NUM_PDOS(UCSI_MAX_PDOS - 1); command |= UCSI_GET_PDOS_SRC_PDOS; - ret = ucsi_run_command(ucsi, command, con->src_pdos, + ret = ucsi_send_command(ucsi, command, con->src_pdos, sizeof(con->src_pdos)); if (ret < 0) { dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret); @@ -640,8 +643,10 @@ role = !!(con->status.flags & UCSI_CONSTAT_PWR_DIR); if (con->status.change & UCSI_CONSTAT_POWER_OPMODE_CHANGE || - con->status.change & UCSI_CONSTAT_POWER_LEVEL_CHANGE) + con->status.change & UCSI_CONSTAT_POWER_LEVEL_CHANGE) { ucsi_pwr_opmode_change(con); + ucsi_port_psy_changed(con); + } if (con->status.change & UCSI_CONSTAT_POWER_DIR_CHANGE) { typec_set_pwr_role(con->port, role); @@ -671,6 +676,8 @@ ucsi_register_partner(con); else ucsi_unregister_partner(con); + + ucsi_port_psy_changed(con); } if (con->status.change & UCSI_CONSTAT_CAM_CHANGE) { @@ -681,7 +688,7 @@ */ command = UCSI_GET_CAM_SUPPORTED; command |= UCSI_CONNECTOR_NUMBER(con->num); - ucsi_run_command(con->ucsi, command, NULL, 0); + ucsi_send_command(con->ucsi, command, NULL, 0); } if (con->status.change & UCSI_CONSTAT_PARTNER_CHANGE) @@ -736,20 +743,24 @@ u32 cci; int ret; + mutex_lock(&ucsi->ppm_lock); + ret = ucsi->ops->async_write(ucsi, UCSI_CONTROL, &command, sizeof(command)); if (ret < 0) - return ret; + goto out; tmo = jiffies + msecs_to_jiffies(UCSI_TIMEOUT_MS); do { - if (time_is_before_jiffies(tmo)) - return -ETIMEDOUT; + if (time_is_before_jiffies(tmo)) { + ret = -ETIMEDOUT; + goto out; + } ret = ucsi->ops->read(ucsi, UCSI_CCI, &cci, sizeof(cci)); if (ret) - return ret; + goto out; /* If the PPM is still doing something else, reset it again. */ if (cci & ~UCSI_CCI_RESET_COMPLETE) { @@ -757,13 +768,15 @@ &command, sizeof(command)); if (ret < 0) - return ret; + goto out; } msleep(20); } while (!(cci & UCSI_CCI_RESET_COMPLETE)); - return 0; +out: + mutex_unlock(&ucsi->ppm_lock); + return ret; } static int ucsi_role_cmd(struct ucsi_connector *con, u64 command) @@ -775,9 +788,7 @@ u64 c; /* PPM most likely stopped responding. Resetting everything. */ - mutex_lock(&con->ucsi->ppm_lock); ucsi_reset_ppm(con->ucsi); - mutex_unlock(&con->ucsi->ppm_lock); c = UCSI_SET_NOTIFICATION_ENABLE | con->ucsi->ntfy; ucsi_send_command(con->ucsi, c, NULL, 0); @@ -901,12 +912,15 @@ con->num = index + 1; con->ucsi = ucsi; + /* Delay other interactions with the con until registration is complete */ + mutex_lock(&con->lock); + /* Get connector capability */ command = UCSI_GET_CONNECTOR_CAPABILITY; command |= UCSI_CONNECTOR_NUMBER(con->num); - ret = ucsi_run_command(ucsi, command, &con->cap, sizeof(con->cap)); + ret = ucsi_send_command(ucsi, command, &con->cap, sizeof(con->cap)); if (ret < 0) - return ret; + goto out; if (con->cap.op_mode & UCSI_CONCAP_OPMODE_DRP) cap->data = TYPEC_PORT_DRD; @@ -938,27 +952,32 @@ ret = ucsi_register_port_psy(con); if (ret) - return ret; + goto out; /* Register the connector */ con->port = typec_register_port(ucsi->dev, cap); - if (IS_ERR(con->port)) - return PTR_ERR(con->port); + if (IS_ERR(con->port)) { + ret = PTR_ERR(con->port); + goto out; + } /* Alternate modes */ ret = ucsi_register_altmodes(con, UCSI_RECIPIENT_CON); - if (ret) + if (ret) { dev_err(ucsi->dev, "con%d: failed to register alt modes\n", con->num); + goto out; + } /* Get the status */ command = UCSI_GET_CONNECTOR_STATUS | UCSI_CONNECTOR_NUMBER(con->num); - ret = ucsi_run_command(ucsi, command, &con->status, - sizeof(con->status)); + ret = ucsi_send_command(ucsi, command, &con->status, sizeof(con->status)); if (ret < 0) { dev_err(ucsi->dev, "con%d: failed to get status\n", con->num); - return 0; + ret = 0; + goto out; } + ret = 0; /* ucsi_send_command() returns length on success */ switch (UCSI_CONSTAT_PARTNER_TYPE(con->status.flags)) { case UCSI_CONSTAT_PARTNER_TYPE_UFP: @@ -979,21 +998,26 @@ !!(con->status.flags & UCSI_CONSTAT_PWR_DIR)); ucsi_pwr_opmode_change(con); ucsi_register_partner(con); + ucsi_port_psy_changed(con); } if (con->partner) { ret = ucsi_register_altmodes(con, UCSI_RECIPIENT_SOP); - if (ret) + if (ret) { dev_err(ucsi->dev, "con%d: failed to register alternate modes\n", con->num); - else + ret = 0; + } else { ucsi_altmode_update_active(con); + } } trace_ucsi_register_port(con->num, &con->status); - return 0; +out: + mutex_unlock(&con->lock); + return ret; } /** @@ -1009,8 +1033,6 @@ int ret; int i; - mutex_lock(&ucsi->ppm_lock); - /* Reset the PPM */ ret = ucsi_reset_ppm(ucsi); if (ret) { @@ -1021,13 +1043,13 @@ /* Enable basic notifications */ ucsi->ntfy = UCSI_ENABLE_NTFY_CMD_COMPLETE | UCSI_ENABLE_NTFY_ERROR; command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; - ret = ucsi_run_command(ucsi, command, NULL, 0); + ret = ucsi_send_command(ucsi, command, NULL, 0); if (ret < 0) goto err_reset; /* Get PPM capabilities */ command = UCSI_GET_CAPABILITY; - ret = ucsi_run_command(ucsi, command, &ucsi->cap, sizeof(ucsi->cap)); + ret = ucsi_send_command(ucsi, command, &ucsi->cap, sizeof(ucsi->cap)); if (ret < 0) goto err_reset; @@ -1054,12 +1076,10 @@ /* Enable all notifications */ ucsi->ntfy = UCSI_ENABLE_NTFY_ALL; command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; - ret = ucsi_run_command(ucsi, command, NULL, 0); + ret = ucsi_send_command(ucsi, command, NULL, 0); if (ret < 0) goto err_unregister; - mutex_unlock(&ucsi->ppm_lock); - return 0; err_unregister: @@ -1074,8 +1094,6 @@ err_reset: ucsi_reset_ppm(ucsi); err: - mutex_unlock(&ucsi->ppm_lock); - return ret; } EXPORT_SYMBOL_GPL(ucsi_init); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/ucsi/ucsi.h +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/ucsi/ucsi.h @@ -340,9 +340,11 @@ #if IS_ENABLED(CONFIG_POWER_SUPPLY) int ucsi_register_port_psy(struct ucsi_connector *con); void ucsi_unregister_port_psy(struct ucsi_connector *con); +void ucsi_port_psy_changed(struct ucsi_connector *con); #else static inline int ucsi_register_port_psy(struct ucsi_connector *con) { return 0; } static inline void ucsi_unregister_port_psy(struct ucsi_connector *con) { } +static inline void ucsi_port_psy_changed(struct ucsi_connector *con) { } #endif /* CONFIG_POWER_SUPPLY */ #if IS_ENABLED(CONFIG_TYPEC_DP_ALTMODE) --- linux-riscv-5.8-5.8.0.orig/drivers/usb/typec/ucsi/ucsi_acpi.c +++ linux-riscv-5.8-5.8.0/drivers/usb/typec/ucsi/ucsi_acpi.c @@ -78,7 +78,7 @@ if (ret) goto out_clear_bit; - if (!wait_for_completion_timeout(&ua->complete, msecs_to_jiffies(5000))) + if (!wait_for_completion_timeout(&ua->complete, 60 * HZ)) ret = -ETIMEDOUT; out_clear_bit: @@ -112,11 +112,15 @@ static int ucsi_acpi_probe(struct platform_device *pdev) { + struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); struct ucsi_acpi *ua; struct resource *res; acpi_status status; int ret; + if (adev->dep_unmet) + return -EPROBE_DEFER; + ua = devm_kzalloc(&pdev->dev, sizeof(*ua), GFP_KERNEL); if (!ua) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/stub_dev.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/stub_dev.c @@ -46,6 +46,8 @@ int sockfd = 0; struct socket *socket; int rv; + struct task_struct *tcp_rx = NULL; + struct task_struct *tcp_tx = NULL; if (!sdev) { dev_err(dev, "sdev is null\n"); @@ -61,6 +63,7 @@ dev_info(dev, "stub up\n"); + mutex_lock(&sdev->ud.sysfs_lock); spin_lock_irq(&sdev->ud.lock); if (sdev->ud.status != SDEV_ST_AVAILABLE) { @@ -69,23 +72,49 @@ } socket = sockfd_lookup(sockfd, &err); - if (!socket) + if (!socket) { + dev_err(dev, "failed to lookup sock"); goto err; + } - sdev->ud.tcp_socket = socket; - sdev->ud.sockfd = sockfd; + if (socket->type != SOCK_STREAM) { + dev_err(dev, "Expecting SOCK_STREAM - found %d", + socket->type); + goto sock_err; + } + /* unlock and create threads and get tasks */ spin_unlock_irq(&sdev->ud.lock); + tcp_rx = kthread_create(stub_rx_loop, &sdev->ud, "stub_rx"); + if (IS_ERR(tcp_rx)) { + sockfd_put(socket); + goto unlock_mutex; + } + tcp_tx = kthread_create(stub_tx_loop, &sdev->ud, "stub_tx"); + if (IS_ERR(tcp_tx)) { + kthread_stop(tcp_rx); + sockfd_put(socket); + goto unlock_mutex; + } - sdev->ud.tcp_rx = kthread_get_run(stub_rx_loop, &sdev->ud, - "stub_rx"); - sdev->ud.tcp_tx = kthread_get_run(stub_tx_loop, &sdev->ud, - "stub_tx"); + /* get task structs now */ + get_task_struct(tcp_rx); + get_task_struct(tcp_tx); + /* lock and update sdev->ud state */ spin_lock_irq(&sdev->ud.lock); + sdev->ud.tcp_socket = socket; + sdev->ud.sockfd = sockfd; + sdev->ud.tcp_rx = tcp_rx; + sdev->ud.tcp_tx = tcp_tx; sdev->ud.status = SDEV_ST_USED; spin_unlock_irq(&sdev->ud.lock); + wake_up_process(sdev->ud.tcp_rx); + wake_up_process(sdev->ud.tcp_tx); + + mutex_unlock(&sdev->ud.sysfs_lock); + } else { dev_info(dev, "stub down\n"); @@ -96,12 +125,17 @@ spin_unlock_irq(&sdev->ud.lock); usbip_event_add(&sdev->ud, SDEV_EVENT_DOWN); + mutex_unlock(&sdev->ud.sysfs_lock); } return count; +sock_err: + sockfd_put(socket); err: spin_unlock_irq(&sdev->ud.lock); +unlock_mutex: + mutex_unlock(&sdev->ud.sysfs_lock); return -EINVAL; } static DEVICE_ATTR_WO(usbip_sockfd); @@ -242,6 +276,7 @@ sdev->ud.side = USBIP_STUB; sdev->ud.status = SDEV_ST_AVAILABLE; spin_lock_init(&sdev->ud.lock); + mutex_init(&sdev->ud.sysfs_lock); sdev->ud.tcp_socket = NULL; sdev->ud.sockfd = -1; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/usbip_common.h +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/usbip_common.h @@ -263,6 +263,9 @@ /* lock for status */ spinlock_t lock; + /* mutex for synchronizing sysfs store paths */ + struct mutex sysfs_lock; + int sockfd; struct socket *tcp_socket; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/usbip_event.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/usbip_event.c @@ -70,6 +70,7 @@ while ((ud = get_event()) != NULL) { usbip_dbg_eh("pending event %lx\n", ud->event); + mutex_lock(&ud->sysfs_lock); /* * NOTE: shutdown must come first. * Shutdown the device. @@ -90,6 +91,7 @@ ud->eh_ops.unusable(ud); unset_event(ud, USBIP_EH_UNUSABLE); } + mutex_unlock(&ud->sysfs_lock); wake_up(&ud->eh_waitq); } --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/vhci_hcd.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/vhci_hcd.c @@ -396,6 +396,8 @@ default: usbip_dbg_vhci_rh(" ClearPortFeature: default %x\n", wValue); + if (wValue >= 32) + goto error; vhci_hcd->port_status[rhport] &= ~(1 << wValue); break; } @@ -593,6 +595,8 @@ pr_err("invalid port number %d\n", wIndex); goto error; } + if (wValue >= 32) + goto error; if (hcd->speed == HCD_USB3) { if ((vhci_hcd->port_status[rhport] & USB_SS_PORT_STAT_POWER) != 0) { @@ -1092,6 +1096,7 @@ vdev->ud.side = USBIP_VHCI; vdev->ud.status = VDEV_ST_NULL; spin_lock_init(&vdev->ud.lock); + mutex_init(&vdev->ud.sysfs_lock); INIT_LIST_HEAD(&vdev->priv_rx); INIT_LIST_HEAD(&vdev->priv_tx); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/vhci_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/vhci_sysfs.c @@ -185,6 +185,8 @@ usbip_dbg_vhci_sysfs("enter\n"); + mutex_lock(&vdev->ud.sysfs_lock); + /* lock */ spin_lock_irqsave(&vhci->lock, flags); spin_lock(&vdev->ud.lock); @@ -195,6 +197,7 @@ /* unlock */ spin_unlock(&vdev->ud.lock); spin_unlock_irqrestore(&vhci->lock, flags); + mutex_unlock(&vdev->ud.sysfs_lock); return -EINVAL; } @@ -205,6 +208,8 @@ usbip_event_add(&vdev->ud, VDEV_EVENT_DOWN); + mutex_unlock(&vdev->ud.sysfs_lock); + return 0; } @@ -312,6 +317,8 @@ struct vhci *vhci; int err; unsigned long flags; + struct task_struct *tcp_rx = NULL; + struct task_struct *tcp_tx = NULL; /* * @rhport: port number of vhci_hcd @@ -347,14 +354,43 @@ else vdev = &vhci->vhci_hcd_hs->vdev[rhport]; + mutex_lock(&vdev->ud.sysfs_lock); + /* Extract socket from fd. */ socket = sockfd_lookup(sockfd, &err); - if (!socket) - return -EINVAL; + if (!socket) { + dev_err(dev, "failed to lookup sock"); + err = -EINVAL; + goto unlock_mutex; + } + if (socket->type != SOCK_STREAM) { + dev_err(dev, "Expecting SOCK_STREAM - found %d", + socket->type); + sockfd_put(socket); + err = -EINVAL; + goto unlock_mutex; + } - /* now need lock until setting vdev status as used */ + /* create threads before locking */ + tcp_rx = kthread_create(vhci_rx_loop, &vdev->ud, "vhci_rx"); + if (IS_ERR(tcp_rx)) { + sockfd_put(socket); + err = -EINVAL; + goto unlock_mutex; + } + tcp_tx = kthread_create(vhci_tx_loop, &vdev->ud, "vhci_tx"); + if (IS_ERR(tcp_tx)) { + kthread_stop(tcp_rx); + sockfd_put(socket); + err = -EINVAL; + goto unlock_mutex; + } + + /* get task structs now */ + get_task_struct(tcp_rx); + get_task_struct(tcp_tx); - /* begin a lock */ + /* now begin lock until setting vdev status set */ spin_lock_irqsave(&vhci->lock, flags); spin_lock(&vdev->ud.lock); @@ -364,13 +400,16 @@ spin_unlock_irqrestore(&vhci->lock, flags); sockfd_put(socket); + kthread_stop_put(tcp_rx); + kthread_stop_put(tcp_tx); dev_err(dev, "port %d already used\n", rhport); /* * Will be retried from userspace * if there's another free port. */ - return -EBUSY; + err = -EBUSY; + goto unlock_mutex; } dev_info(dev, "pdev(%u) rhport(%u) sockfd(%d)\n", @@ -382,18 +421,28 @@ vdev->speed = speed; vdev->ud.sockfd = sockfd; vdev->ud.tcp_socket = socket; + vdev->ud.tcp_rx = tcp_rx; + vdev->ud.tcp_tx = tcp_tx; vdev->ud.status = VDEV_ST_NOTASSIGNED; spin_unlock(&vdev->ud.lock); spin_unlock_irqrestore(&vhci->lock, flags); /* end the lock */ - vdev->ud.tcp_rx = kthread_get_run(vhci_rx_loop, &vdev->ud, "vhci_rx"); - vdev->ud.tcp_tx = kthread_get_run(vhci_tx_loop, &vdev->ud, "vhci_tx"); + wake_up_process(vdev->ud.tcp_rx); + wake_up_process(vdev->ud.tcp_tx); rh_port_connect(vdev, speed); + dev_info(dev, "Device attached\n"); + + mutex_unlock(&vdev->ud.sysfs_lock); + return count; + +unlock_mutex: + mutex_unlock(&vdev->ud.sysfs_lock); + return err; } static DEVICE_ATTR_WO(attach); --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/vudc_dev.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/vudc_dev.c @@ -572,6 +572,7 @@ init_waitqueue_head(&udc->tx_waitq); spin_lock_init(&ud->lock); + mutex_init(&ud->sysfs_lock); ud->status = SDEV_ST_AVAILABLE; ud->side = USBIP_VUDC; --- linux-riscv-5.8-5.8.0.orig/drivers/usb/usbip/vudc_sysfs.c +++ linux-riscv-5.8-5.8.0/drivers/usb/usbip/vudc_sysfs.c @@ -90,8 +90,9 @@ } static BIN_ATTR_RO(dev_desc, sizeof(struct usb_device_descriptor)); -static ssize_t usbip_sockfd_store(struct device *dev, struct device_attribute *attr, - const char *in, size_t count) +static ssize_t usbip_sockfd_store(struct device *dev, + struct device_attribute *attr, + const char *in, size_t count) { struct vudc *udc = (struct vudc *) dev_get_drvdata(dev); int rv; @@ -100,6 +101,8 @@ struct socket *socket; unsigned long flags; int ret; + struct task_struct *tcp_rx = NULL; + struct task_struct *tcp_tx = NULL; rv = kstrtoint(in, 0, &sockfd); if (rv != 0) @@ -109,6 +112,7 @@ dev_err(dev, "no device"); return -ENODEV; } + mutex_lock(&udc->ud.sysfs_lock); spin_lock_irqsave(&udc->lock, flags); /* Don't export what we don't have */ if (!udc->driver || !udc->pullup) { @@ -138,24 +142,56 @@ goto unlock_ud; } - udc->ud.tcp_socket = socket; + if (socket->type != SOCK_STREAM) { + dev_err(dev, "Expecting SOCK_STREAM - found %d", + socket->type); + ret = -EINVAL; + goto sock_err; + } + /* unlock and create threads and get tasks */ spin_unlock_irq(&udc->ud.lock); spin_unlock_irqrestore(&udc->lock, flags); - udc->ud.tcp_rx = kthread_get_run(&v_rx_loop, - &udc->ud, "vudc_rx"); - udc->ud.tcp_tx = kthread_get_run(&v_tx_loop, - &udc->ud, "vudc_tx"); + tcp_rx = kthread_create(&v_rx_loop, &udc->ud, "vudc_rx"); + if (IS_ERR(tcp_rx)) { + sockfd_put(socket); + return -EINVAL; + } + tcp_tx = kthread_create(&v_tx_loop, &udc->ud, "vudc_tx"); + if (IS_ERR(tcp_tx)) { + kthread_stop(tcp_rx); + sockfd_put(socket); + return -EINVAL; + } + + /* get task structs now */ + get_task_struct(tcp_rx); + get_task_struct(tcp_tx); + /* lock and update udc->ud state */ spin_lock_irqsave(&udc->lock, flags); spin_lock_irq(&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); ktime_get_ts64(&udc->start_time); v_start_timer(udc); udc->connected = 1; + + spin_unlock_irqrestore(&udc->lock, flags); + + wake_up_process(udc->ud.tcp_rx); + wake_up_process(udc->ud.tcp_tx); + + mutex_unlock(&udc->ud.sysfs_lock); + return count; + } else { if (!udc->connected) { dev_err(dev, "Device not connected"); @@ -174,13 +210,17 @@ } spin_unlock_irqrestore(&udc->lock, flags); + mutex_unlock(&udc->ud.sysfs_lock); return count; +sock_err: + sockfd_put(socket); unlock_ud: spin_unlock_irq(&udc->ud.lock); unlock: spin_unlock_irqrestore(&udc->lock, flags); + mutex_unlock(&udc->ud.sysfs_lock); return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/vdpa/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/vdpa/Kconfig @@ -12,6 +12,7 @@ tristate "vDPA device simulator" depends on RUNTIME_TESTING_MENU && HAS_DMA select VHOST_RING + select GENERIC_NET_UTILS default n help vDPA networking device simulator which loop TX traffic back --- linux-riscv-5.8-5.8.0.orig/drivers/vdpa/ifcvf/ifcvf_base.h +++ linux-riscv-5.8-5.8.0/drivers/vdpa/ifcvf/ifcvf_base.h @@ -84,7 +84,7 @@ void __iomem * const *base; char config_msix_name[256]; struct vdpa_callback config_cb; - + unsigned int config_irq; }; struct ifcvf_adapter { --- linux-riscv-5.8-5.8.0.orig/drivers/vdpa/ifcvf/ifcvf_main.c +++ linux-riscv-5.8-5.8.0/drivers/vdpa/ifcvf/ifcvf_main.c @@ -53,6 +53,7 @@ for (i = 0; i < queues; i++) devm_free_irq(&pdev->dev, vf->vring[i].irq, &vf->vring[i]); + devm_free_irq(&pdev->dev, vf->config_irq, vf); ifcvf_free_irq_vectors(pdev); } @@ -72,10 +73,14 @@ snprintf(vf->config_msix_name, 256, "ifcvf[%s]-config\n", pci_name(pdev)); vector = 0; - irq = pci_irq_vector(pdev, vector); - ret = devm_request_irq(&pdev->dev, irq, + vf->config_irq = pci_irq_vector(pdev, vector); + ret = devm_request_irq(&pdev->dev, vf->config_irq, ifcvf_config_changed, 0, vf->config_msix_name, vf); + if (ret) { + IFCVF_ERR(pdev, "Failed to request config irq\n"); + return ret; + } for (i = 0; i < IFCVF_MAX_QUEUE_PAIRS * 2; i++) { snprintf(vf->vring[i].msix_name, 256, "ifcvf[%s]-%d\n", --- linux-riscv-5.8-5.8.0.orig/drivers/vdpa/vdpa_sim/vdpa_sim.c +++ linux-riscv-5.8-5.8.0/drivers/vdpa/vdpa_sim/vdpa_sim.c @@ -70,6 +70,8 @@ u32 status; u32 generation; u64 features; + /* spinlock to synchronize iommu table */ + spinlock_t iommu_lock; }; static struct vdpasim *vdpasim_dev; @@ -118,7 +120,9 @@ for (i = 0; i < VDPASIM_VQ_NUM; i++) vdpasim_vq_reset(&vdpasim->vqs[i]); + spin_lock(&vdpasim->iommu_lock); vhost_iotlb_reset(vdpasim->iommu); + spin_unlock(&vdpasim->iommu_lock); vdpasim->features = 0; vdpasim->status = 0; @@ -236,8 +240,10 @@ /* For simplicity, use identical mapping to avoid e.g iova * allocator. */ + spin_lock(&vdpasim->iommu_lock); ret = vhost_iotlb_add_range(iommu, pa, pa + size - 1, pa, dir_to_perm(dir)); + spin_unlock(&vdpasim->iommu_lock); if (ret) return DMA_MAPPING_ERROR; @@ -251,8 +257,10 @@ struct vdpasim *vdpasim = dev_to_sim(dev); struct vhost_iotlb *iommu = vdpasim->iommu; + spin_lock(&vdpasim->iommu_lock); vhost_iotlb_del_range(iommu, (u64)dma_addr, (u64)dma_addr + size - 1); + spin_unlock(&vdpasim->iommu_lock); } static void *vdpasim_alloc_coherent(struct device *dev, size_t size, @@ -264,9 +272,10 @@ void *addr = kmalloc(size, flag); int ret; - if (!addr) + spin_lock(&vdpasim->iommu_lock); + if (!addr) { *dma_addr = DMA_MAPPING_ERROR; - else { + } else { u64 pa = virt_to_phys(addr); ret = vhost_iotlb_add_range(iommu, (u64)pa, @@ -279,6 +288,7 @@ } else *dma_addr = (dma_addr_t)pa; } + spin_unlock(&vdpasim->iommu_lock); return addr; } @@ -290,8 +300,11 @@ struct vdpasim *vdpasim = dev_to_sim(dev); struct vhost_iotlb *iommu = vdpasim->iommu; + spin_lock(&vdpasim->iommu_lock); vhost_iotlb_del_range(iommu, (u64)dma_addr, (u64)dma_addr + size - 1); + spin_unlock(&vdpasim->iommu_lock); + kfree(phys_to_virt((uintptr_t)dma_addr)); } @@ -318,9 +331,12 @@ INIT_WORK(&vdpasim->work, vdpasim_work); spin_lock_init(&vdpasim->lock); + spin_lock_init(&vdpasim->iommu_lock); dev = &vdpasim->vdpa.dev; - dev->coherent_dma_mask = DMA_BIT_MASK(64); + dev->dma_mask = &dev->coherent_dma_mask; + if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64))) + goto err_iommu; set_dma_ops(dev, &vdpasim_dma_ops); vdpasim->iommu = vhost_iotlb_alloc(2048, 0); @@ -508,7 +524,7 @@ struct vdpasim *vdpasim = vdpa_to_sim(vdpa); if (offset + len < sizeof(struct virtio_net_config)) - memcpy(buf, &vdpasim->config + offset, len); + memcpy(buf, (u8 *)&vdpasim->config + offset, len); } static void vdpasim_set_config(struct vdpa_device *vdpa, unsigned int offset, @@ -532,6 +548,7 @@ u64 start = 0ULL, last = 0ULL - 1; int ret; + spin_lock(&vdpasim->iommu_lock); vhost_iotlb_reset(vdpasim->iommu); for (map = vhost_iotlb_itree_first(iotlb, start, last); map; @@ -541,10 +558,12 @@ if (ret) goto err; } + spin_unlock(&vdpasim->iommu_lock); return 0; err: vhost_iotlb_reset(vdpasim->iommu); + spin_unlock(&vdpasim->iommu_lock); return ret; } @@ -552,16 +571,23 @@ u64 pa, u32 perm) { struct vdpasim *vdpasim = vdpa_to_sim(vdpa); + int ret; - return vhost_iotlb_add_range(vdpasim->iommu, iova, - iova + size - 1, pa, perm); + spin_lock(&vdpasim->iommu_lock); + ret = vhost_iotlb_add_range(vdpasim->iommu, iova, iova + size - 1, pa, + perm); + spin_unlock(&vdpasim->iommu_lock); + + return ret; } static int vdpasim_dma_unmap(struct vdpa_device *vdpa, u64 iova, u64 size) { struct vdpasim *vdpasim = vdpa_to_sim(vdpa); + spin_lock(&vdpasim->iommu_lock); vhost_iotlb_del_range(vdpasim->iommu, iova, iova + size - 1); + spin_unlock(&vdpasim->iommu_lock); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/vfio/Kconfig @@ -21,8 +21,8 @@ menuconfig VFIO tristate "VFIO Non-Privileged userspace driver framework" - depends on IOMMU_API - select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64) + select IOMMU_API + select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64) help VFIO provides a framework for secure userspace device drivers. See Documentation/driver-api/vfio.rst for more details. --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/Kconfig @@ -42,6 +42,6 @@ config VFIO_PCI_NVLINK2 def_bool y - depends on VFIO_PCI && PPC_POWERNV + depends on VFIO_PCI && PPC_POWERNV && SPAPR_TCE_IOMMU help VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci.c @@ -119,8 +119,6 @@ int i; struct vfio_pci_dummy_resource *dummy_res; - INIT_LIST_HEAD(&vdev->dummy_resources_list); - for (i = 0; i < PCI_STD_NUM_BARS; i++) { int bar = i + PCI_STD_RESOURCES; @@ -341,7 +339,7 @@ pdev->vendor == PCI_VENDOR_ID_INTEL && IS_ENABLED(CONFIG_VFIO_PCI_IGD)) { ret = vfio_pci_igd_init(vdev); - if (ret) { + if (ret && ret != -ENODEV) { pci_warn(pdev, "Failed to setup Intel IGD regions\n"); goto disable_exit; } @@ -1558,8 +1556,8 @@ mutex_unlock(&vdev->vma_lock); - if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, - vma->vm_end - vma->vm_start, vma->vm_page_prot)) + if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, + vma->vm_end - vma->vm_start, vma->vm_page_prot)) ret = VM_FAULT_SIGBUS; up_out: @@ -1583,6 +1581,8 @@ index = vma->vm_pgoff >> (VFIO_PCI_OFFSET_SHIFT - PAGE_SHIFT); + if (index >= VFIO_PCI_NUM_REGIONS + vdev->num_regions) + return -EINVAL; if (vma->vm_end < vma->vm_start) return -EINVAL; if ((vma->vm_flags & VM_SHARED) == 0) @@ -1591,7 +1591,7 @@ int regnum = index - VFIO_PCI_NUM_REGIONS; struct vfio_pci_region *region = vdev->region + regnum; - if (region && region->ops && region->ops->mmap && + if (region->ops && region->ops->mmap && (region->flags & VFIO_REGION_INFO_FLAG_MMAP)) return region->ops->mmap(vdev, region, vma); return -EINVAL; @@ -1887,6 +1887,7 @@ mutex_init(&vdev->igate); spin_lock_init(&vdev->irqlock); mutex_init(&vdev->ioeventfds_lock); + INIT_LIST_HEAD(&vdev->dummy_resources_list); INIT_LIST_HEAD(&vdev->ioeventfds_list); mutex_init(&vdev->vma_lock); INIT_LIST_HEAD(&vdev->vma_list); --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci_config.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci_config.c @@ -406,7 +406,7 @@ * PF SR-IOV capability, there's therefore no need to trigger * faults based on the virtual value. */ - return pdev->is_virtfn || (cmd & PCI_COMMAND_MEMORY); + return pdev->no_command_memory || (cmd & PCI_COMMAND_MEMORY); } /* @@ -520,8 +520,8 @@ count = vfio_default_config_read(vdev, pos, count, perm, offset, val); - /* Mask in virtual memory enable for SR-IOV devices */ - if (offset == PCI_COMMAND && vdev->pdev->is_virtfn) { + /* Mask in virtual memory enable */ + if (offset == PCI_COMMAND && vdev->pdev->no_command_memory) { u16 cmd = le16_to_cpu(*(__le16 *)&vdev->vconfig[PCI_COMMAND]); u32 tmp_val = le32_to_cpu(*val); @@ -589,9 +589,11 @@ * shows it disabled (phys_mem/io, then the device has * undergone some kind of backdoor reset and needs to be * restored before we allow it to enable the bars. - * SR-IOV devices will trigger this, but we catch them later + * SR-IOV devices will trigger this - for mem enable let's + * catch this now and for io enable it will be caught later */ - if ((new_mem && virt_mem && !phys_mem) || + if ((new_mem && virt_mem && !phys_mem && + !pdev->no_command_memory) || (new_io && virt_io && !phys_io) || vfio_need_bar_restore(vdev)) vfio_bar_restore(vdev); @@ -1734,12 +1736,14 @@ vconfig[PCI_INTERRUPT_PIN]); vconfig[PCI_INTERRUPT_PIN] = 0; /* Gratuitous for good VFs */ - + } + if (pdev->no_command_memory) { /* - * VFs do no implement the memory enable bit of the COMMAND - * register therefore we'll not have it set in our initial - * copy of config space after pci_enable_device(). For - * consistency with PFs, set the virtual enable bit here. + * VFs and devices that set pdev->no_command_memory do not + * implement the memory enable bit of the COMMAND register + * therefore we'll not have it set in our initial copy of + * config space after pci_enable_device(). For consistency + * with PFs, set the virtual enable bit here. */ *(__le16 *)&vconfig[PCI_COMMAND] |= cpu_to_le16(PCI_COMMAND_MEMORY); --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci_intrs.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci_intrs.c @@ -352,11 +352,13 @@ vdev->ctx[vector].producer.token = trigger; vdev->ctx[vector].producer.irq = irq; ret = irq_bypass_register_producer(&vdev->ctx[vector].producer); - if (unlikely(ret)) + if (unlikely(ret)) { dev_info(&pdev->dev, "irq bypass producer (token %p) registration fails: %d\n", vdev->ctx[vector].producer.token, ret); + vdev->ctx[vector].producer.token = NULL; + } vdev->ctx[vector].trigger = trigger; return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci_nvlink2.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci_nvlink2.c @@ -231,7 +231,7 @@ return -EINVAL; if (of_property_read_u32(npu_node, "memory-region", &mem_phandle)) - return -EINVAL; + return -ENODEV; mem_node = of_find_node_by_phandle(mem_phandle); if (!mem_node) @@ -393,7 +393,7 @@ int ret; struct vfio_pci_npu2_data *data; struct device_node *nvlink_dn; - u32 nvlink_index = 0; + u32 nvlink_index = 0, mem_phandle = 0; struct pci_dev *npdev = vdev->pdev; struct device_node *npu_node = pci_device_to_OF_node(npdev); struct pci_controller *hose = pci_bus_to_host(npdev->bus); @@ -408,6 +408,9 @@ if (!pnv_pci_get_gpu_dev(vdev->pdev)) return -ENODEV; + if (of_property_read_u32(npu_node, "memory-region", &mem_phandle)) + return -ENODEV; + /* * NPU2 normally has 8 ATSD registers (for concurrency) and 6 links * so we can allocate one register per link, using nvlink index as --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci_private.h +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci_private.h @@ -33,12 +33,14 @@ struct vfio_pci_ioeventfd { struct list_head next; + struct vfio_pci_device *vdev; struct virqfd *virqfd; void __iomem *addr; uint64_t data; loff_t pos; int bar; int count; + bool test_mem; }; struct vfio_pci_irq_ctx { --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/pci/vfio_pci_rdwr.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/pci/vfio_pci_rdwr.c @@ -37,17 +37,70 @@ #define vfio_ioread8 ioread8 #define vfio_iowrite8 iowrite8 +#define VFIO_IOWRITE(size) \ +static int vfio_pci_iowrite##size(struct vfio_pci_device *vdev, \ + bool test_mem, u##size val, void __iomem *io) \ +{ \ + if (test_mem) { \ + down_read(&vdev->memory_lock); \ + if (!__vfio_pci_memory_enabled(vdev)) { \ + up_read(&vdev->memory_lock); \ + return -EIO; \ + } \ + } \ + \ + vfio_iowrite##size(val, io); \ + \ + if (test_mem) \ + up_read(&vdev->memory_lock); \ + \ + return 0; \ +} + +VFIO_IOWRITE(8) +VFIO_IOWRITE(16) +VFIO_IOWRITE(32) +#ifdef iowrite64 +VFIO_IOWRITE(64) +#endif + +#define VFIO_IOREAD(size) \ +static int vfio_pci_ioread##size(struct vfio_pci_device *vdev, \ + bool test_mem, u##size *val, void __iomem *io) \ +{ \ + if (test_mem) { \ + down_read(&vdev->memory_lock); \ + if (!__vfio_pci_memory_enabled(vdev)) { \ + up_read(&vdev->memory_lock); \ + return -EIO; \ + } \ + } \ + \ + *val = vfio_ioread##size(io); \ + \ + if (test_mem) \ + up_read(&vdev->memory_lock); \ + \ + return 0; \ +} + +VFIO_IOREAD(8) +VFIO_IOREAD(16) +VFIO_IOREAD(32) + /* * Read or write from an __iomem region (MMIO or I/O port) with an excluded * range which is inaccessible. The excluded range drops writes and fills * reads with -1. This is intended for handling MSI-X vector tables and * leftover space for ROM BARs. */ -static ssize_t do_io_rw(void __iomem *io, char __user *buf, +static ssize_t do_io_rw(struct vfio_pci_device *vdev, bool test_mem, + void __iomem *io, char __user *buf, loff_t off, size_t count, size_t x_start, size_t x_end, bool iswrite) { ssize_t done = 0; + int ret; while (count) { size_t fillable, filled; @@ -66,9 +119,15 @@ if (copy_from_user(&val, buf, 4)) return -EFAULT; - vfio_iowrite32(val, io + off); + ret = vfio_pci_iowrite32(vdev, test_mem, + val, io + off); + if (ret) + return ret; } else { - val = vfio_ioread32(io + off); + ret = vfio_pci_ioread32(vdev, test_mem, + &val, io + off); + if (ret) + return ret; if (copy_to_user(buf, &val, 4)) return -EFAULT; @@ -82,9 +141,15 @@ if (copy_from_user(&val, buf, 2)) return -EFAULT; - vfio_iowrite16(val, io + off); + ret = vfio_pci_iowrite16(vdev, test_mem, + val, io + off); + if (ret) + return ret; } else { - val = vfio_ioread16(io + off); + ret = vfio_pci_ioread16(vdev, test_mem, + &val, io + off); + if (ret) + return ret; if (copy_to_user(buf, &val, 2)) return -EFAULT; @@ -98,9 +163,15 @@ if (copy_from_user(&val, buf, 1)) return -EFAULT; - vfio_iowrite8(val, io + off); + ret = vfio_pci_iowrite8(vdev, test_mem, + val, io + off); + if (ret) + return ret; } else { - val = vfio_ioread8(io + off); + ret = vfio_pci_ioread8(vdev, test_mem, + &val, io + off); + if (ret) + return ret; if (copy_to_user(buf, &val, 1)) return -EFAULT; @@ -178,14 +249,6 @@ count = min(count, (size_t)(end - pos)); - if (res->flags & IORESOURCE_MEM) { - down_read(&vdev->memory_lock); - if (!__vfio_pci_memory_enabled(vdev)) { - up_read(&vdev->memory_lock); - return -EIO; - } - } - if (bar == PCI_ROM_RESOURCE) { /* * The ROM can fill less space than the BAR, so we start the @@ -213,7 +276,8 @@ x_end = vdev->msix_offset + vdev->msix_size; } - done = do_io_rw(io, buf, pos, count, x_start, x_end, iswrite); + done = do_io_rw(vdev, res->flags & IORESOURCE_MEM, io, buf, pos, + count, x_start, x_end, iswrite); if (done >= 0) *ppos += done; @@ -221,9 +285,6 @@ if (bar == PCI_ROM_RESOURCE) pci_unmap_rom(pdev, io); out: - if (res->flags & IORESOURCE_MEM) - up_read(&vdev->memory_lock); - return done; } @@ -278,7 +339,12 @@ return ret; } - done = do_io_rw(iomem, buf, off, count, 0, 0, iswrite); + /* + * VGA MMIO is a legacy, non-BAR resource that hopefully allows + * probing, so we don't currently worry about access in relation + * to the memory enable bit in the command register. + */ + done = do_io_rw(vdev, false, iomem, buf, off, count, 0, 0, iswrite); vga_put(vdev->pdev, rsrc); @@ -290,30 +356,60 @@ return done; } -static int vfio_pci_ioeventfd_handler(void *opaque, void *unused) +static void vfio_pci_ioeventfd_do_write(struct vfio_pci_ioeventfd *ioeventfd, + bool test_mem) { - struct vfio_pci_ioeventfd *ioeventfd = opaque; - switch (ioeventfd->count) { case 1: - vfio_iowrite8(ioeventfd->data, ioeventfd->addr); + vfio_pci_iowrite8(ioeventfd->vdev, test_mem, + ioeventfd->data, ioeventfd->addr); break; case 2: - vfio_iowrite16(ioeventfd->data, ioeventfd->addr); + vfio_pci_iowrite16(ioeventfd->vdev, test_mem, + ioeventfd->data, ioeventfd->addr); break; case 4: - vfio_iowrite32(ioeventfd->data, ioeventfd->addr); + vfio_pci_iowrite32(ioeventfd->vdev, test_mem, + ioeventfd->data, ioeventfd->addr); break; #ifdef iowrite64 case 8: - vfio_iowrite64(ioeventfd->data, ioeventfd->addr); + vfio_pci_iowrite64(ioeventfd->vdev, test_mem, + ioeventfd->data, ioeventfd->addr); break; #endif } +} + +static int vfio_pci_ioeventfd_handler(void *opaque, void *unused) +{ + struct vfio_pci_ioeventfd *ioeventfd = opaque; + struct vfio_pci_device *vdev = ioeventfd->vdev; + + if (ioeventfd->test_mem) { + if (!down_read_trylock(&vdev->memory_lock)) + return 1; /* Lock contended, use thread */ + if (!__vfio_pci_memory_enabled(vdev)) { + up_read(&vdev->memory_lock); + return 0; + } + } + + vfio_pci_ioeventfd_do_write(ioeventfd, false); + + if (ioeventfd->test_mem) + up_read(&vdev->memory_lock); return 0; } +static void vfio_pci_ioeventfd_thread(void *opaque, void *unused) +{ + struct vfio_pci_ioeventfd *ioeventfd = opaque; + + vfio_pci_ioeventfd_do_write(ioeventfd, ioeventfd->test_mem); +} + long vfio_pci_ioeventfd(struct vfio_pci_device *vdev, loff_t offset, uint64_t data, int count, int fd) { @@ -378,14 +474,17 @@ goto out_unlock; } + ioeventfd->vdev = vdev; ioeventfd->addr = vdev->barmap[bar] + pos; ioeventfd->data = data; ioeventfd->pos = pos; ioeventfd->bar = bar; ioeventfd->count = count; + ioeventfd->test_mem = vdev->pdev->resource[bar].flags & IORESOURCE_MEM; ret = vfio_virqfd_enable(ioeventfd, vfio_pci_ioeventfd_handler, - NULL, NULL, &ioeventfd->virqfd, fd); + vfio_pci_ioeventfd_thread, NULL, + &ioeventfd->virqfd, fd); if (ret) { kfree(ioeventfd); goto out_unlock; --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/platform/vfio_platform_common.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/platform/vfio_platform_common.c @@ -267,7 +267,7 @@ ret = pm_runtime_get_sync(vdev->device); if (ret < 0) - goto err_pm; + goto err_rst; ret = vfio_platform_call_reset(vdev, &extra_dbg); if (ret && vdev->reset_required) { @@ -284,7 +284,6 @@ err_rst: pm_runtime_put(vdev->device); -err_pm: vfio_platform_irq_cleanup(vdev); err_irq: vfio_platform_regions_cleanup(vdev); --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/vfio.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/vfio.c @@ -926,6 +926,10 @@ struct vfio_unbound_dev *unbound; unsigned int i = 0; bool interrupted = false; + bool locked = true; + struct device_driver *drv; + + drv = dev->driver; /* * The group exists so long as we have a device reference. Get @@ -968,8 +972,11 @@ if (!device) break; - if (device->ops->request) + if (device->ops->request) { + device_unlock(dev); + locked = false; device->ops->request(device_data, i++); + } vfio_device_put(device); @@ -987,6 +994,20 @@ } } + if (!locked) { + device_lock(dev); + locked = true; + /* + * A concurrent operation may have released the driver + * successfully while we had dropped the lock, + * check for that. + */ + if (dev->driver != drv) { + vfio_group_put(group); + return NULL; + } + } + } while (1); remove_wait_queue(&vfio.release_q, &wait); @@ -1948,8 +1969,10 @@ if (!group) return -ENODEV; - if (group->dev_counter > 1) - return -EINVAL; + if (group->dev_counter > 1) { + ret = -EINVAL; + goto err_pin_pages; + } ret = vfio_group_add_container_user(group); if (ret) @@ -2050,6 +2073,9 @@ if (!group || !user_iova_pfn || !phys_pfn || !npage) return -EINVAL; + if (group->dev_counter > 1) + return -EINVAL; + if (npage > VFIO_PIN_PAGES_MAX_ENTRIES) return -E2BIG; --- linux-riscv-5.8-5.8.0.orig/drivers/vfio/vfio_iommu_type1.c +++ linux-riscv-5.8-5.8.0/drivers/vfio/vfio_iommu_type1.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -236,6 +237,18 @@ } } +static void vfio_iommu_populate_bitmap_full(struct vfio_iommu *iommu) +{ + struct rb_node *n; + unsigned long pgshift = __ffs(iommu->pgsize_bitmap); + + for (n = rb_first(&iommu->dma_list); n; n = rb_next(n)) { + struct vfio_dma *dma = rb_entry(n, struct vfio_dma, node); + + bitmap_set(dma->bitmap, 0, dma->size >> pgshift); + } +} + static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu, size_t pgsize) { struct rb_node *n; @@ -419,9 +432,11 @@ unsigned long vaddr, unsigned long *pfn, bool write_fault) { + pte_t *ptep; + spinlock_t *ptl; int ret; - ret = follow_pfn(vma, vaddr, pfn); + ret = follow_pte(vma->vm_mm, vaddr, &ptep, &ptl); if (ret) { bool unlocked = false; @@ -435,9 +450,17 @@ if (ret) return ret; - ret = follow_pfn(vma, vaddr, pfn); + ret = follow_pte(vma->vm_mm, vaddr, &ptep, &ptl); + if (ret) + return ret; } + if (write_fault && !pte_write(*ptep)) + ret = -EFAULT; + else + *pfn = pte_pfn(*ptep); + + pte_unmap_unlock(ptep, ptl); return ret; } @@ -693,7 +716,8 @@ ret = vfio_add_to_pfn_list(dma, iova, phys_pfn[i]); if (ret) { - vfio_unpin_page_external(dma, iova, do_accounting); + if (put_pfn(phys_pfn[i], dma->prot) && do_accounting) + vfio_lock_acct(dma, -1, true); goto pin_unwind; } @@ -944,6 +968,7 @@ static void vfio_remove_dma(struct vfio_iommu *iommu, struct vfio_dma *dma) { + WARN_ON(!RB_EMPTY_ROOT(&dma->pfn_list)); vfio_unmap_unpin(iommu, dma, true); vfio_unlink_dma(iommu, dma); put_task_struct(dma->task); @@ -1422,13 +1447,16 @@ static int vfio_iommu_replay(struct vfio_iommu *iommu, struct vfio_domain *domain) { - struct vfio_domain *d; + struct vfio_domain *d = NULL; struct rb_node *n; unsigned long limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; int ret; /* Arbitrarily pick the first domain in the list for lookups */ - d = list_first_entry(&iommu->domain_list, struct vfio_domain, next); + if (!list_empty(&iommu->domain_list)) + d = list_first_entry(&iommu->domain_list, + struct vfio_domain, next); + n = rb_first(&iommu->dma_list); for (; n; n = rb_next(n)) { @@ -1446,6 +1474,11 @@ phys_addr_t p; dma_addr_t i; + if (WARN_ON(!d)) { /* mapped w/o a domain?! */ + ret = -EINVAL; + goto unwind; + } + phys = iommu_iova_to_phys(d->domain, iova); if (WARN_ON(!phys)) { @@ -1475,7 +1508,7 @@ if (npage <= 0) { WARN_ON(!npage); ret = (int)npage; - return ret; + goto unwind; } phys = pfn << PAGE_SHIFT; @@ -1484,14 +1517,67 @@ ret = iommu_map(domain->domain, iova, phys, size, dma->prot | domain->prot); - if (ret) - return ret; + if (ret) { + if (!dma->iommu_mapped) + vfio_unpin_pages_remote(dma, iova, + phys >> PAGE_SHIFT, + size >> PAGE_SHIFT, + true); + goto unwind; + } iova += size; } + } + + /* All dmas are now mapped, defer to second tree walk for unwind */ + for (n = rb_first(&iommu->dma_list); n; n = rb_next(n)) { + struct vfio_dma *dma = rb_entry(n, struct vfio_dma, node); + dma->iommu_mapped = true; } + return 0; + +unwind: + for (; n; n = rb_prev(n)) { + struct vfio_dma *dma = rb_entry(n, struct vfio_dma, node); + dma_addr_t iova; + + if (dma->iommu_mapped) { + iommu_unmap(domain->domain, dma->iova, dma->size); + continue; + } + + iova = dma->iova; + while (iova < dma->iova + dma->size) { + phys_addr_t phys, p; + size_t size; + dma_addr_t i; + + phys = iommu_iova_to_phys(domain->domain, iova); + if (!phys) { + iova += PAGE_SIZE; + continue; + } + + size = PAGE_SIZE; + p = phys + size; + i = iova + size; + while (i < dma->iova + dma->size && + p == iommu_iova_to_phys(domain->domain, i)) { + size += PAGE_SIZE; + p += PAGE_SIZE; + i += PAGE_SIZE; + } + + iommu_unmap(domain->domain, iova, size); + vfio_unpin_pages_remote(dma, iova, phys >> PAGE_SHIFT, + size >> PAGE_SHIFT, true); + } + } + + return ret; } /* @@ -2181,23 +2267,6 @@ } } -static void vfio_sanity_check_pfn_list(struct vfio_iommu *iommu) -{ - struct rb_node *n; - - n = rb_first(&iommu->dma_list); - for (; n; n = rb_next(n)) { - struct vfio_dma *dma; - - dma = rb_entry(n, struct vfio_dma, node); - - if (WARN_ON(!RB_EMPTY_ROOT(&dma->pfn_list))) - break; - } - /* mdev vendor driver must unregister notifier */ - WARN_ON(iommu->notifier.head); -} - /* * Called when a domain is removed in detach. It is possible that * the removed domain decided the iova aperture window. Modify the @@ -2297,10 +2366,10 @@ kfree(group); if (list_empty(&iommu->external_domain->group_list)) { - vfio_sanity_check_pfn_list(iommu); - - if (!IS_IOMMU_CAP_DOMAIN_IN_CONTAINER(iommu)) + if (!IS_IOMMU_CAP_DOMAIN_IN_CONTAINER(iommu)) { + WARN_ON(iommu->notifier.head); vfio_iommu_unmap_unpin_all(iommu); + } kfree(iommu->external_domain); iommu->external_domain = NULL; @@ -2334,10 +2403,12 @@ */ if (list_empty(&domain->group_list)) { if (list_is_singular(&iommu->domain_list)) { - if (!iommu->external_domain) + if (!iommu->external_domain) { + WARN_ON(iommu->notifier.head); vfio_iommu_unmap_unpin_all(iommu); - else + } else { vfio_iommu_unmap_unpin_reaccount(iommu); + } } iommu_domain_free(domain->domain); list_del(&domain->next); @@ -2358,8 +2429,11 @@ * Removal of a group without dirty tracking may allow the iommu scope * to be promoted. */ - if (update_dirty_scope) + if (update_dirty_scope) { update_pinned_page_dirty_scope(iommu); + if (iommu->dirty_page_tracking) + vfio_iommu_populate_bitmap_full(iommu); + } mutex_unlock(&iommu->lock); } @@ -2418,7 +2492,6 @@ if (iommu->external_domain) { vfio_release_domain(iommu->external_domain, true); - vfio_sanity_check_pfn_list(iommu); kfree(iommu->external_domain); } @@ -2453,6 +2526,23 @@ return ret; } +static int vfio_iommu_type1_check_extension(struct vfio_iommu *iommu, + unsigned long arg) +{ + switch (arg) { + case VFIO_TYPE1_IOMMU: + case VFIO_TYPE1v2_IOMMU: + case VFIO_TYPE1_NESTING_IOMMU: + return 1; + case VFIO_DMA_CC_IOMMU: + if (!iommu) + return 0; + return vfio_domains_have_iommu_cache(iommu); + default: + return 0; + } +} + static int vfio_iommu_iova_add_cap(struct vfio_info_cap *caps, struct vfio_iommu_type1_info_cap_iova_range *cap_iovas, size_t size) @@ -2529,241 +2619,273 @@ return vfio_info_add_capability(caps, &cap_mig.header, sizeof(cap_mig)); } -static long vfio_iommu_type1_ioctl(void *iommu_data, - unsigned int cmd, unsigned long arg) +static int vfio_iommu_dma_avail_build_caps(struct vfio_iommu *iommu, + struct vfio_info_cap *caps) { - struct vfio_iommu *iommu = iommu_data; + struct vfio_iommu_type1_info_dma_avail cap_dma_avail; + + cap_dma_avail.header.id = VFIO_IOMMU_TYPE1_INFO_DMA_AVAIL; + cap_dma_avail.header.version = 1; + + cap_dma_avail.avail = iommu->dma_avail; + + return vfio_info_add_capability(caps, &cap_dma_avail.header, + sizeof(cap_dma_avail)); +} + +static int vfio_iommu_type1_get_info(struct vfio_iommu *iommu, + unsigned long arg) +{ + struct vfio_iommu_type1_info info; unsigned long minsz; + struct vfio_info_cap caps = { .buf = NULL, .size = 0 }; + unsigned long capsz; + int ret; - if (cmd == VFIO_CHECK_EXTENSION) { - switch (arg) { - case VFIO_TYPE1_IOMMU: - case VFIO_TYPE1v2_IOMMU: - case VFIO_TYPE1_NESTING_IOMMU: - return 1; - case VFIO_DMA_CC_IOMMU: - if (!iommu) - return 0; - return vfio_domains_have_iommu_cache(iommu); - default: - return 0; - } - } else if (cmd == VFIO_IOMMU_GET_INFO) { - struct vfio_iommu_type1_info info; - struct vfio_info_cap caps = { .buf = NULL, .size = 0 }; - unsigned long capsz; - int ret; + minsz = offsetofend(struct vfio_iommu_type1_info, iova_pgsizes); - minsz = offsetofend(struct vfio_iommu_type1_info, iova_pgsizes); + /* For backward compatibility, cannot require this */ + capsz = offsetofend(struct vfio_iommu_type1_info, cap_offset); - /* For backward compatibility, cannot require this */ - capsz = offsetofend(struct vfio_iommu_type1_info, cap_offset); + if (copy_from_user(&info, (void __user *)arg, minsz)) + return -EFAULT; - if (copy_from_user(&info, (void __user *)arg, minsz)) - return -EFAULT; + if (info.argsz < minsz) + return -EINVAL; - if (info.argsz < minsz) - return -EINVAL; + if (info.argsz >= capsz) { + minsz = capsz; + info.cap_offset = 0; /* output, no-recopy necessary */ + } - if (info.argsz >= capsz) { - minsz = capsz; - info.cap_offset = 0; /* output, no-recopy necessary */ - } + mutex_lock(&iommu->lock); + info.flags = VFIO_IOMMU_INFO_PGSIZES; - mutex_lock(&iommu->lock); - info.flags = VFIO_IOMMU_INFO_PGSIZES; + info.iova_pgsizes = iommu->pgsize_bitmap; - info.iova_pgsizes = iommu->pgsize_bitmap; + ret = vfio_iommu_migration_build_caps(iommu, &caps); - ret = vfio_iommu_migration_build_caps(iommu, &caps); + if (!ret) + ret = vfio_iommu_dma_avail_build_caps(iommu, &caps); - if (!ret) - ret = vfio_iommu_iova_build_caps(iommu, &caps); + if (!ret) + ret = vfio_iommu_iova_build_caps(iommu, &caps); - mutex_unlock(&iommu->lock); + mutex_unlock(&iommu->lock); - if (ret) - return ret; + if (ret) + return ret; - if (caps.size) { - info.flags |= VFIO_IOMMU_INFO_CAPS; + if (caps.size) { + info.flags |= VFIO_IOMMU_INFO_CAPS; - if (info.argsz < sizeof(info) + caps.size) { - info.argsz = sizeof(info) + caps.size; - } else { - vfio_info_cap_shift(&caps, sizeof(info)); - if (copy_to_user((void __user *)arg + - sizeof(info), caps.buf, - caps.size)) { - kfree(caps.buf); - return -EFAULT; - } - info.cap_offset = sizeof(info); + if (info.argsz < sizeof(info) + caps.size) { + info.argsz = sizeof(info) + caps.size; + } else { + vfio_info_cap_shift(&caps, sizeof(info)); + if (copy_to_user((void __user *)arg + + sizeof(info), caps.buf, + caps.size)) { + kfree(caps.buf); + return -EFAULT; } - - kfree(caps.buf); + info.cap_offset = sizeof(info); } - return copy_to_user((void __user *)arg, &info, minsz) ? - -EFAULT : 0; + kfree(caps.buf); + } - } else if (cmd == VFIO_IOMMU_MAP_DMA) { - struct vfio_iommu_type1_dma_map map; - uint32_t mask = VFIO_DMA_MAP_FLAG_READ | - VFIO_DMA_MAP_FLAG_WRITE; + return copy_to_user((void __user *)arg, &info, minsz) ? + -EFAULT : 0; +} - minsz = offsetofend(struct vfio_iommu_type1_dma_map, size); +static int vfio_iommu_type1_map_dma(struct vfio_iommu *iommu, + unsigned long arg) +{ + struct vfio_iommu_type1_dma_map map; + unsigned long minsz; + uint32_t mask = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE; - if (copy_from_user(&map, (void __user *)arg, minsz)) - return -EFAULT; + minsz = offsetofend(struct vfio_iommu_type1_dma_map, size); - if (map.argsz < minsz || map.flags & ~mask) - return -EINVAL; + if (copy_from_user(&map, (void __user *)arg, minsz)) + return -EFAULT; - return vfio_dma_do_map(iommu, &map); + if (map.argsz < minsz || map.flags & ~mask) + return -EINVAL; - } else if (cmd == VFIO_IOMMU_UNMAP_DMA) { - struct vfio_iommu_type1_dma_unmap unmap; - struct vfio_bitmap bitmap = { 0 }; - int ret; + return vfio_dma_do_map(iommu, &map); +} - minsz = offsetofend(struct vfio_iommu_type1_dma_unmap, size); +static int vfio_iommu_type1_unmap_dma(struct vfio_iommu *iommu, + unsigned long arg) +{ + struct vfio_iommu_type1_dma_unmap unmap; + struct vfio_bitmap bitmap = { 0 }; + unsigned long minsz; + int ret; - if (copy_from_user(&unmap, (void __user *)arg, minsz)) - return -EFAULT; + minsz = offsetofend(struct vfio_iommu_type1_dma_unmap, size); - if (unmap.argsz < minsz || - unmap.flags & ~VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP) - return -EINVAL; + if (copy_from_user(&unmap, (void __user *)arg, minsz)) + return -EFAULT; - if (unmap.flags & VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP) { - unsigned long pgshift; + if (unmap.argsz < minsz || + unmap.flags & ~VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP) + return -EINVAL; - if (unmap.argsz < (minsz + sizeof(bitmap))) - return -EINVAL; + if (unmap.flags & VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP) { + unsigned long pgshift; - if (copy_from_user(&bitmap, - (void __user *)(arg + minsz), - sizeof(bitmap))) - return -EFAULT; + if (unmap.argsz < (minsz + sizeof(bitmap))) + return -EINVAL; - if (!access_ok((void __user *)bitmap.data, bitmap.size)) - return -EINVAL; + if (copy_from_user(&bitmap, + (void __user *)(arg + minsz), + sizeof(bitmap))) + return -EFAULT; - pgshift = __ffs(bitmap.pgsize); - ret = verify_bitmap_size(unmap.size >> pgshift, - bitmap.size); - if (ret) - return ret; - } + if (!access_ok((void __user *)bitmap.data, bitmap.size)) + return -EINVAL; - ret = vfio_dma_do_unmap(iommu, &unmap, &bitmap); + pgshift = __ffs(bitmap.pgsize); + ret = verify_bitmap_size(unmap.size >> pgshift, + bitmap.size); if (ret) return ret; + } - return copy_to_user((void __user *)arg, &unmap, minsz) ? + ret = vfio_dma_do_unmap(iommu, &unmap, &bitmap); + if (ret) + return ret; + + return copy_to_user((void __user *)arg, &unmap, minsz) ? -EFAULT : 0; - } else if (cmd == VFIO_IOMMU_DIRTY_PAGES) { - struct vfio_iommu_type1_dirty_bitmap dirty; - uint32_t mask = VFIO_IOMMU_DIRTY_PAGES_FLAG_START | - VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP | - VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP; - int ret = 0; +} - if (!iommu->v2) - return -EACCES; +static int vfio_iommu_type1_dirty_pages(struct vfio_iommu *iommu, + unsigned long arg) +{ + struct vfio_iommu_type1_dirty_bitmap dirty; + uint32_t mask = VFIO_IOMMU_DIRTY_PAGES_FLAG_START | + VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP | + VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP; + unsigned long minsz; + int ret = 0; - minsz = offsetofend(struct vfio_iommu_type1_dirty_bitmap, - flags); + if (!iommu->v2) + return -EACCES; - if (copy_from_user(&dirty, (void __user *)arg, minsz)) - return -EFAULT; + minsz = offsetofend(struct vfio_iommu_type1_dirty_bitmap, flags); - if (dirty.argsz < minsz || dirty.flags & ~mask) - return -EINVAL; + if (copy_from_user(&dirty, (void __user *)arg, minsz)) + return -EFAULT; - /* only one flag should be set at a time */ - if (__ffs(dirty.flags) != __fls(dirty.flags)) - return -EINVAL; + if (dirty.argsz < minsz || dirty.flags & ~mask) + return -EINVAL; - if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_START) { - size_t pgsize; + /* only one flag should be set at a time */ + if (__ffs(dirty.flags) != __fls(dirty.flags)) + return -EINVAL; - mutex_lock(&iommu->lock); - pgsize = 1 << __ffs(iommu->pgsize_bitmap); - if (!iommu->dirty_page_tracking) { - ret = vfio_dma_bitmap_alloc_all(iommu, pgsize); - if (!ret) - iommu->dirty_page_tracking = true; - } - mutex_unlock(&iommu->lock); - return ret; - } else if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP) { - mutex_lock(&iommu->lock); - if (iommu->dirty_page_tracking) { - iommu->dirty_page_tracking = false; - vfio_dma_bitmap_free_all(iommu); - } - mutex_unlock(&iommu->lock); - return 0; - } else if (dirty.flags & - VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP) { - struct vfio_iommu_type1_dirty_bitmap_get range; - unsigned long pgshift; - size_t data_size = dirty.argsz - minsz; - size_t iommu_pgsize; + if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_START) { + size_t pgsize; - if (!data_size || data_size < sizeof(range)) - return -EINVAL; + mutex_lock(&iommu->lock); + pgsize = 1 << __ffs(iommu->pgsize_bitmap); + if (!iommu->dirty_page_tracking) { + ret = vfio_dma_bitmap_alloc_all(iommu, pgsize); + if (!ret) + iommu->dirty_page_tracking = true; + } + mutex_unlock(&iommu->lock); + return ret; + } else if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP) { + mutex_lock(&iommu->lock); + if (iommu->dirty_page_tracking) { + iommu->dirty_page_tracking = false; + vfio_dma_bitmap_free_all(iommu); + } + mutex_unlock(&iommu->lock); + return 0; + } else if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP) { + struct vfio_iommu_type1_dirty_bitmap_get range; + unsigned long pgshift; + size_t data_size = dirty.argsz - minsz; + size_t iommu_pgsize; - if (copy_from_user(&range, (void __user *)(arg + minsz), - sizeof(range))) - return -EFAULT; + if (!data_size || data_size < sizeof(range)) + return -EINVAL; - if (range.iova + range.size < range.iova) - return -EINVAL; - if (!access_ok((void __user *)range.bitmap.data, - range.bitmap.size)) - return -EINVAL; - - pgshift = __ffs(range.bitmap.pgsize); - ret = verify_bitmap_size(range.size >> pgshift, - range.bitmap.size); - if (ret) - return ret; + if (copy_from_user(&range, (void __user *)(arg + minsz), + sizeof(range))) + return -EFAULT; - mutex_lock(&iommu->lock); + if (range.iova + range.size < range.iova) + return -EINVAL; + if (!access_ok((void __user *)range.bitmap.data, + range.bitmap.size)) + return -EINVAL; - iommu_pgsize = (size_t)1 << __ffs(iommu->pgsize_bitmap); + pgshift = __ffs(range.bitmap.pgsize); + ret = verify_bitmap_size(range.size >> pgshift, + range.bitmap.size); + if (ret) + return ret; - /* allow only smallest supported pgsize */ - if (range.bitmap.pgsize != iommu_pgsize) { - ret = -EINVAL; - goto out_unlock; - } - if (range.iova & (iommu_pgsize - 1)) { - ret = -EINVAL; - goto out_unlock; - } - if (!range.size || range.size & (iommu_pgsize - 1)) { - ret = -EINVAL; - goto out_unlock; - } + mutex_lock(&iommu->lock); - if (iommu->dirty_page_tracking) - ret = vfio_iova_dirty_bitmap(range.bitmap.data, - iommu, range.iova, range.size, - range.bitmap.pgsize); - else - ret = -EINVAL; -out_unlock: - mutex_unlock(&iommu->lock); + iommu_pgsize = (size_t)1 << __ffs(iommu->pgsize_bitmap); - return ret; + /* allow only smallest supported pgsize */ + if (range.bitmap.pgsize != iommu_pgsize) { + ret = -EINVAL; + goto out_unlock; } + if (range.iova & (iommu_pgsize - 1)) { + ret = -EINVAL; + goto out_unlock; + } + if (!range.size || range.size & (iommu_pgsize - 1)) { + ret = -EINVAL; + goto out_unlock; + } + + if (iommu->dirty_page_tracking) + ret = vfio_iova_dirty_bitmap(range.bitmap.data, + iommu, range.iova, + range.size, + range.bitmap.pgsize); + else + ret = -EINVAL; +out_unlock: + mutex_unlock(&iommu->lock); + + return ret; } - return -ENOTTY; + return -EINVAL; +} + +static long vfio_iommu_type1_ioctl(void *iommu_data, + unsigned int cmd, unsigned long arg) +{ + struct vfio_iommu *iommu = iommu_data; + + switch (cmd) { + case VFIO_CHECK_EXTENSION: + return vfio_iommu_type1_check_extension(iommu, arg); + case VFIO_IOMMU_GET_INFO: + return vfio_iommu_type1_get_info(iommu, arg); + case VFIO_IOMMU_MAP_DMA: + return vfio_iommu_type1_map_dma(iommu, arg); + case VFIO_IOMMU_UNMAP_DMA: + return vfio_iommu_type1_unmap_dma(iommu, arg); + case VFIO_IOMMU_DIRTY_PAGES: + return vfio_iommu_type1_dirty_pages(iommu, arg); + default: + return -ENOTTY; + } } static int vfio_iommu_type1_register_notifier(void *iommu_data, @@ -2838,7 +2960,8 @@ * size */ bitmap_set(dma->bitmap, offset >> pgshift, - *copied >> pgshift); + ((offset + *copied - 1) >> pgshift) - + (offset >> pgshift) + 1); } } else *copied = copy_from_user(data, (void __user *)vaddr, --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/net.c +++ linux-riscv-5.8-5.8.0/drivers/vhost/net.c @@ -863,6 +863,7 @@ size_t len, total_len = 0; int err; struct vhost_net_ubuf_ref *uninitialized_var(ubufs); + struct ubuf_info *ubuf; bool zcopy_used; int sent_pkts = 0; @@ -895,9 +896,7 @@ /* use msg_control to pass vhost zerocopy ubuf info to skb */ if (zcopy_used) { - struct ubuf_info *ubuf; ubuf = nvq->ubuf_info + nvq->upend_idx; - vq->heads[nvq->upend_idx].id = cpu_to_vhost32(vq, head); vq->heads[nvq->upend_idx].len = VHOST_DMA_IN_PROGRESS; ubuf->callback = vhost_zerocopy_callback; @@ -927,7 +926,8 @@ err = sock->ops->sendmsg(sock, &msg, len); if (unlikely(err < 0)) { if (zcopy_used) { - vhost_net_ubuf_put(ubufs); + if (vq->heads[ubuf->desc].len == VHOST_DMA_IN_PROGRESS) + vhost_net_ubuf_put(ubufs); nvq->upend_idx = ((unsigned)nvq->upend_idx - 1) % UIO_MAXIOV; } --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/scsi.c +++ linux-riscv-5.8-5.8.0/drivers/vhost/scsi.c @@ -52,7 +52,6 @@ #define VHOST_SCSI_VERSION "v0.1" #define VHOST_SCSI_NAMELEN 256 #define VHOST_SCSI_MAX_CDB_SIZE 32 -#define VHOST_SCSI_DEFAULT_TAGS 256 #define VHOST_SCSI_PREALLOC_SGLS 2048 #define VHOST_SCSI_PREALLOC_UPAGES 2048 #define VHOST_SCSI_PREALLOC_PROT_SGLS 2048 @@ -189,6 +188,9 @@ * Writers must also take dev mutex and flush under it. */ int inflight_idx; + struct vhost_scsi_cmd *scsi_cmds; + struct sbitmap scsi_tags; + int max_cmds; }; struct vhost_scsi { @@ -320,11 +322,13 @@ return 1; } -static void vhost_scsi_release_cmd(struct se_cmd *se_cmd) +static void vhost_scsi_release_cmd_res(struct se_cmd *se_cmd) { struct vhost_scsi_cmd *tv_cmd = container_of(se_cmd, struct vhost_scsi_cmd, tvc_se_cmd); - struct se_session *se_sess = tv_cmd->tvc_nexus->tvn_se_sess; + struct vhost_scsi_virtqueue *svq = container_of(tv_cmd->tvc_vq, + struct vhost_scsi_virtqueue, vq); + struct vhost_scsi_inflight *inflight = tv_cmd->inflight; int i; if (tv_cmd->tvc_sgl_count) { @@ -336,8 +340,18 @@ put_page(sg_page(&tv_cmd->tvc_prot_sgl[i])); } - vhost_scsi_put_inflight(tv_cmd->inflight); - target_free_tag(se_sess, se_cmd); + sbitmap_clear_bit(&svq->scsi_tags, se_cmd->map_tag); + vhost_scsi_put_inflight(inflight); +} + +static void vhost_scsi_release_cmd(struct se_cmd *se_cmd) +{ + struct vhost_scsi_cmd *cmd = container_of(se_cmd, + struct vhost_scsi_cmd, tvc_se_cmd); + struct vhost_scsi *vs = cmd->tvc_vhost; + + llist_add(&cmd->tvc_completion_list, &vs->vs_completion_list); + vhost_work_queue(&vs->dev, &vs->vs_completion_work); } static u32 vhost_scsi_sess_get_index(struct se_session *se_sess) @@ -362,28 +376,15 @@ return 0; } -static void vhost_scsi_complete_cmd(struct vhost_scsi_cmd *cmd) -{ - struct vhost_scsi *vs = cmd->tvc_vhost; - - llist_add(&cmd->tvc_completion_list, &vs->vs_completion_list); - - vhost_work_queue(&vs->dev, &vs->vs_completion_work); -} - static int vhost_scsi_queue_data_in(struct se_cmd *se_cmd) { - struct vhost_scsi_cmd *cmd = container_of(se_cmd, - struct vhost_scsi_cmd, tvc_se_cmd); - vhost_scsi_complete_cmd(cmd); + transport_generic_free_cmd(se_cmd, 0); return 0; } static int vhost_scsi_queue_status(struct se_cmd *se_cmd) { - struct vhost_scsi_cmd *cmd = container_of(se_cmd, - struct vhost_scsi_cmd, tvc_se_cmd); - vhost_scsi_complete_cmd(cmd); + transport_generic_free_cmd(se_cmd, 0); return 0; } @@ -429,15 +430,6 @@ return evt; } -static void vhost_scsi_free_cmd(struct vhost_scsi_cmd *cmd) -{ - struct se_cmd *se_cmd = &cmd->tvc_se_cmd; - - /* TODO locking against target/backend threads? */ - transport_generic_free_cmd(se_cmd, 0); - -} - static int vhost_scsi_check_stop_free(struct se_cmd *se_cmd) { return target_put_sess_cmd(se_cmd); @@ -556,7 +548,7 @@ } else pr_err("Faulted on virtio_scsi_cmd_resp\n"); - vhost_scsi_free_cmd(cmd); + vhost_scsi_release_cmd_res(se_cmd); } vq = -1; @@ -566,31 +558,31 @@ } static struct vhost_scsi_cmd * -vhost_scsi_get_tag(struct vhost_virtqueue *vq, struct vhost_scsi_tpg *tpg, +vhost_scsi_get_cmd(struct vhost_virtqueue *vq, struct vhost_scsi_tpg *tpg, unsigned char *cdb, u64 scsi_tag, u16 lun, u8 task_attr, u32 exp_data_len, int data_direction) { + struct vhost_scsi_virtqueue *svq = container_of(vq, + struct vhost_scsi_virtqueue, vq); struct vhost_scsi_cmd *cmd; struct vhost_scsi_nexus *tv_nexus; - struct se_session *se_sess; struct scatterlist *sg, *prot_sg; struct page **pages; - int tag, cpu; + int tag; tv_nexus = tpg->tpg_nexus; if (!tv_nexus) { pr_err("Unable to locate active struct vhost_scsi_nexus\n"); return ERR_PTR(-EIO); } - se_sess = tv_nexus->tvn_se_sess; - tag = sbitmap_queue_get(&se_sess->sess_tag_pool, &cpu); + tag = sbitmap_get(&svq->scsi_tags, 0, false); if (tag < 0) { pr_err("Unable to obtain tag for vhost_scsi_cmd\n"); return ERR_PTR(-ENOMEM); } - cmd = &((struct vhost_scsi_cmd *)se_sess->sess_cmd_map)[tag]; + cmd = &svq->scsi_cmds[tag]; sg = cmd->tvc_sgl; prot_sg = cmd->tvc_prot_sgl; pages = cmd->tvc_upages; @@ -599,7 +591,6 @@ cmd->tvc_prot_sgl = prot_sg; cmd->tvc_upages = pages; cmd->tvc_se_cmd.map_tag = tag; - cmd->tvc_se_cmd.map_cpu = cpu; cmd->tvc_tag = scsi_tag; cmd->tvc_lun = lun; cmd->tvc_task_attr = task_attr; @@ -1065,11 +1056,11 @@ scsi_command_size(cdb), VHOST_SCSI_MAX_CDB_SIZE); goto err; } - cmd = vhost_scsi_get_tag(vq, tpg, cdb, tag, lun, task_attr, + cmd = vhost_scsi_get_cmd(vq, tpg, cdb, tag, lun, task_attr, exp_data_len + prot_bytes, data_direction); if (IS_ERR(cmd)) { - vq_err(vq, "vhost_scsi_get_tag failed %ld\n", + vq_err(vq, "vhost_scsi_get_cmd failed %ld\n", PTR_ERR(cmd)); goto err; } @@ -1088,7 +1079,7 @@ &prot_iter, exp_data_len, &data_iter))) { vq_err(vq, "Failed to map iov to sgl\n"); - vhost_scsi_release_cmd(&cmd->tvc_se_cmd); + vhost_scsi_release_cmd_res(&cmd->tvc_se_cmd); goto err; } } @@ -1373,6 +1364,83 @@ wait_for_completion(&old_inflight[i]->comp); } +static void vhost_scsi_destroy_vq_cmds(struct vhost_virtqueue *vq) +{ + struct vhost_scsi_virtqueue *svq = container_of(vq, + struct vhost_scsi_virtqueue, vq); + struct vhost_scsi_cmd *tv_cmd; + unsigned int i; + + if (!svq->scsi_cmds) + return; + + for (i = 0; i < svq->max_cmds; i++) { + tv_cmd = &svq->scsi_cmds[i]; + + kfree(tv_cmd->tvc_sgl); + kfree(tv_cmd->tvc_prot_sgl); + kfree(tv_cmd->tvc_upages); + } + + sbitmap_free(&svq->scsi_tags); + kfree(svq->scsi_cmds); + svq->scsi_cmds = NULL; +} + +static int vhost_scsi_setup_vq_cmds(struct vhost_virtqueue *vq, int max_cmds) +{ + struct vhost_scsi_virtqueue *svq = container_of(vq, + struct vhost_scsi_virtqueue, vq); + struct vhost_scsi_cmd *tv_cmd; + unsigned int i; + + if (svq->scsi_cmds) + return 0; + + if (sbitmap_init_node(&svq->scsi_tags, max_cmds, -1, GFP_KERNEL, + NUMA_NO_NODE)) + return -ENOMEM; + svq->max_cmds = max_cmds; + + svq->scsi_cmds = kcalloc(max_cmds, sizeof(*tv_cmd), GFP_KERNEL); + if (!svq->scsi_cmds) { + sbitmap_free(&svq->scsi_tags); + return -ENOMEM; + } + + for (i = 0; i < max_cmds; i++) { + tv_cmd = &svq->scsi_cmds[i]; + + tv_cmd->tvc_sgl = kcalloc(VHOST_SCSI_PREALLOC_SGLS, + sizeof(struct scatterlist), + GFP_KERNEL); + if (!tv_cmd->tvc_sgl) { + pr_err("Unable to allocate tv_cmd->tvc_sgl\n"); + goto out; + } + + tv_cmd->tvc_upages = kcalloc(VHOST_SCSI_PREALLOC_UPAGES, + sizeof(struct page *), + GFP_KERNEL); + if (!tv_cmd->tvc_upages) { + pr_err("Unable to allocate tv_cmd->tvc_upages\n"); + goto out; + } + + tv_cmd->tvc_prot_sgl = kcalloc(VHOST_SCSI_PREALLOC_PROT_SGLS, + sizeof(struct scatterlist), + GFP_KERNEL); + if (!tv_cmd->tvc_prot_sgl) { + pr_err("Unable to allocate tv_cmd->tvc_prot_sgl\n"); + goto out; + } + } + return 0; +out: + vhost_scsi_destroy_vq_cmds(vq); + return -ENOMEM; +} + /* * Called from vhost_scsi_ioctl() context to walk the list of available * vhost_scsi_tpg with an active struct vhost_scsi_nexus @@ -1427,10 +1495,9 @@ if (!strcmp(tv_tport->tport_name, t->vhost_wwpn)) { if (vs->vs_tpg && vs->vs_tpg[tpg->tport_tpgt]) { - kfree(vs_tpg); mutex_unlock(&tpg->tv_tpg_mutex); ret = -EEXIST; - goto out; + goto undepend; } /* * In order to ensure individual vhost-scsi configfs @@ -1442,9 +1509,8 @@ ret = target_depend_item(&se_tpg->tpg_group.cg_item); if (ret) { pr_warn("target_depend_item() failed: %d\n", ret); - kfree(vs_tpg); mutex_unlock(&tpg->tv_tpg_mutex); - goto out; + goto undepend; } tpg->tv_tpg_vhost_count++; tpg->vhost_scsi = vs; @@ -1457,6 +1523,17 @@ if (match) { memcpy(vs->vs_vhost_wwpn, t->vhost_wwpn, sizeof(vs->vs_vhost_wwpn)); + + for (i = VHOST_SCSI_VQ_IO; i < VHOST_SCSI_MAX_VQ; i++) { + vq = &vs->vqs[i].vq; + if (!vhost_vq_is_setup(vq)) + continue; + + ret = vhost_scsi_setup_vq_cmds(vq, vq->num); + if (ret) + goto destroy_vq_cmds; + } + for (i = 0; i < VHOST_SCSI_MAX_VQ; i++) { vq = &vs->vqs[i].vq; mutex_lock(&vq->mutex); @@ -1476,7 +1553,22 @@ vhost_scsi_flush(vs); kfree(vs->vs_tpg); vs->vs_tpg = vs_tpg; + goto out; +destroy_vq_cmds: + for (i--; i >= VHOST_SCSI_VQ_IO; i--) { + if (!vhost_vq_get_backend(&vs->vqs[i].vq)) + vhost_scsi_destroy_vq_cmds(&vs->vqs[i].vq); + } +undepend: + for (i = 0; i < VHOST_SCSI_MAX_TARGET; i++) { + tpg = vs_tpg[i]; + if (tpg) { + tpg->tv_tpg_vhost_count--; + target_undepend_item(&tpg->se_tpg.tpg_group.cg_item); + } + } + kfree(vs_tpg); out: mutex_unlock(&vs->dev.mutex); mutex_unlock(&vhost_scsi_mutex); @@ -1549,6 +1641,12 @@ mutex_lock(&vq->mutex); vhost_vq_set_backend(vq, NULL); mutex_unlock(&vq->mutex); + /* + * Make sure cmds are not running before tearing them + * down. + */ + vhost_scsi_flush(vs); + vhost_scsi_destroy_vq_cmds(vq); } } /* @@ -1842,23 +1940,6 @@ mutex_unlock(&vhost_scsi_mutex); } -static void vhost_scsi_free_cmd_map_res(struct se_session *se_sess) -{ - struct vhost_scsi_cmd *tv_cmd; - unsigned int i; - - if (!se_sess->sess_cmd_map) - return; - - for (i = 0; i < VHOST_SCSI_DEFAULT_TAGS; i++) { - tv_cmd = &((struct vhost_scsi_cmd *)se_sess->sess_cmd_map)[i]; - - kfree(tv_cmd->tvc_sgl); - kfree(tv_cmd->tvc_prot_sgl); - kfree(tv_cmd->tvc_upages); - } -} - static ssize_t vhost_scsi_tpg_attrib_fabric_prot_type_store( struct config_item *item, const char *page, size_t count) { @@ -1898,45 +1979,6 @@ NULL, }; -static int vhost_scsi_nexus_cb(struct se_portal_group *se_tpg, - struct se_session *se_sess, void *p) -{ - struct vhost_scsi_cmd *tv_cmd; - unsigned int i; - - for (i = 0; i < VHOST_SCSI_DEFAULT_TAGS; i++) { - tv_cmd = &((struct vhost_scsi_cmd *)se_sess->sess_cmd_map)[i]; - - tv_cmd->tvc_sgl = kcalloc(VHOST_SCSI_PREALLOC_SGLS, - sizeof(struct scatterlist), - GFP_KERNEL); - if (!tv_cmd->tvc_sgl) { - pr_err("Unable to allocate tv_cmd->tvc_sgl\n"); - goto out; - } - - tv_cmd->tvc_upages = kcalloc(VHOST_SCSI_PREALLOC_UPAGES, - sizeof(struct page *), - GFP_KERNEL); - if (!tv_cmd->tvc_upages) { - pr_err("Unable to allocate tv_cmd->tvc_upages\n"); - goto out; - } - - tv_cmd->tvc_prot_sgl = kcalloc(VHOST_SCSI_PREALLOC_PROT_SGLS, - sizeof(struct scatterlist), - GFP_KERNEL); - if (!tv_cmd->tvc_prot_sgl) { - pr_err("Unable to allocate tv_cmd->tvc_prot_sgl\n"); - goto out; - } - } - return 0; -out: - vhost_scsi_free_cmd_map_res(se_sess); - return -ENOMEM; -} - static int vhost_scsi_make_nexus(struct vhost_scsi_tpg *tpg, const char *name) { @@ -1960,12 +2002,9 @@ * struct se_node_acl for the vhost_scsi struct se_portal_group with * the SCSI Initiator port name of the passed configfs group 'name'. */ - tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg, - VHOST_SCSI_DEFAULT_TAGS, - sizeof(struct vhost_scsi_cmd), + tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg, 0, 0, TARGET_PROT_DIN_PASS | TARGET_PROT_DOUT_PASS, - (unsigned char *)name, tv_nexus, - vhost_scsi_nexus_cb); + (unsigned char *)name, tv_nexus, NULL); if (IS_ERR(tv_nexus->tvn_se_sess)) { mutex_unlock(&tpg->tv_tpg_mutex); kfree(tv_nexus); @@ -2015,7 +2054,6 @@ " %s Initiator Port: %s\n", vhost_scsi_dump_proto_id(tpg->tport), tv_nexus->tvn_se_sess->se_node_acl->initiatorname); - vhost_scsi_free_cmd_map_res(se_sess); /* * Release the SCSI I_T Nexus to the emulated vhost Target Port */ --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/vdpa.c +++ linux-riscv-5.8-5.8.0/drivers/vhost/vdpa.c @@ -304,8 +304,10 @@ static void vhost_vdpa_config_put(struct vhost_vdpa *v) { - if (v->config_ctx) + if (v->config_ctx) { eventfd_ctx_put(v->config_ctx); + v->config_ctx = NULL; + } } static long vhost_vdpa_set_config_call(struct vhost_vdpa *v, u32 __user *argp) @@ -325,8 +327,12 @@ if (!IS_ERR_OR_NULL(ctx)) eventfd_ctx_put(ctx); - if (IS_ERR(v->config_ctx)) - return PTR_ERR(v->config_ctx); + if (IS_ERR(v->config_ctx)) { + long ret = PTR_ERR(v->config_ctx); + + v->config_ctx = NULL; + return ret; + } v->vdpa->config->set_config_cb(v->vdpa, &cb); @@ -527,6 +533,11 @@ r = iommu_map(v->domain, iova, pa, size, perm_to_iommu_flags(perm)); + if (r) + vhost_iotlb_del_range(dev->iotlb, iova, iova + size - 1); + else + atomic64_add(size >> PAGE_SHIFT, &dev->mm->pinned_vm); + return r; } @@ -555,14 +566,16 @@ unsigned long list_size = PAGE_SIZE / sizeof(struct page *); unsigned int gup_flags = FOLL_LONGTERM; unsigned long npages, cur_base, map_pfn, last_pfn = 0; - unsigned long locked, lock_limit, pinned, i; + unsigned long lock_limit, sz2pin, nchunks, i; u64 iova = msg->iova; + long pinned; int ret = 0; if (vhost_iotlb_itree_first(iotlb, msg->iova, msg->iova + msg->size - 1)) return -EEXIST; + /* Limit the use of memory for bookkeeping */ page_list = (struct page **) __get_free_page(GFP_KERNEL); if (!page_list) return -ENOMEM; @@ -571,52 +584,75 @@ gup_flags |= FOLL_WRITE; npages = PAGE_ALIGN(msg->size + (iova & ~PAGE_MASK)) >> PAGE_SHIFT; - if (!npages) - return -EINVAL; + if (!npages) { + ret = -EINVAL; + goto free; + } mmap_read_lock(dev->mm); - locked = atomic64_add_return(npages, &dev->mm->pinned_vm); lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; - - if (locked > lock_limit) { + if (npages + atomic64_read(&dev->mm->pinned_vm) > lock_limit) { ret = -ENOMEM; - goto out; + goto unlock; } cur_base = msg->uaddr & PAGE_MASK; iova &= PAGE_MASK; + nchunks = 0; while (npages) { - pinned = min_t(unsigned long, npages, list_size); - ret = pin_user_pages(cur_base, pinned, - gup_flags, page_list, NULL); - if (ret != pinned) + sz2pin = min_t(unsigned long, npages, list_size); + pinned = pin_user_pages(cur_base, sz2pin, + gup_flags, page_list, NULL); + if (sz2pin != pinned) { + if (pinned < 0) { + ret = pinned; + } else { + unpin_user_pages(page_list, pinned); + ret = -ENOMEM; + } goto out; + } + nchunks++; if (!last_pfn) map_pfn = page_to_pfn(page_list[0]); - for (i = 0; i < ret; i++) { + for (i = 0; i < pinned; i++) { unsigned long this_pfn = page_to_pfn(page_list[i]); u64 csize; if (last_pfn && (this_pfn != last_pfn + 1)) { /* Pin a contiguous chunk of memory */ csize = (last_pfn - map_pfn + 1) << PAGE_SHIFT; - if (vhost_vdpa_map(v, iova, csize, - map_pfn << PAGE_SHIFT, - msg->perm)) + ret = vhost_vdpa_map(v, iova, csize, + map_pfn << PAGE_SHIFT, + msg->perm); + if (ret) { + /* + * Unpin the pages that are left unmapped + * from this point on in the current + * page_list. The remaining outstanding + * ones which may stride across several + * chunks will be covered in the common + * error path subsequently. + */ + unpin_user_pages(&page_list[i], + pinned - i); goto out; + } + map_pfn = this_pfn; iova += csize; + nchunks = 0; } last_pfn = this_pfn; } - cur_base += ret << PAGE_SHIFT; - npages -= ret; + cur_base += pinned << PAGE_SHIFT; + npages -= pinned; } /* Pin the rest chunk */ @@ -624,10 +660,27 @@ map_pfn << PAGE_SHIFT, msg->perm); out: if (ret) { + if (nchunks) { + unsigned long pfn; + + /* + * Unpin the outstanding pages which are yet to be + * mapped but haven't due to vdpa_map() or + * pin_user_pages() failure. + * + * Mapped pages are accounted in vdpa_map(), hence + * the corresponding unpinning will be handled by + * vdpa_unmap(). + */ + WARN_ON(!last_pfn); + for (pfn = map_pfn; pfn <= last_pfn; pfn++) + unpin_user_page(pfn_to_page(pfn)); + } vhost_vdpa_unmap(v, msg->iova, msg->size); - atomic64_sub(npages, &dev->mm->pinned_vm); } +unlock: mmap_read_unlock(dev->mm); +free: free_page((unsigned long)page_list); return ret; } @@ -638,9 +691,11 @@ struct vhost_vdpa *v = container_of(dev, struct vhost_vdpa, vdev); int r = 0; + mutex_lock(&dev->mutex); + r = vhost_dev_check_owner(dev); if (r) - return r; + goto unlock; switch (msg->type) { case VHOST_IOTLB_UPDATE: @@ -653,6 +708,8 @@ r = -EINVAL; break; } +unlock: + mutex_unlock(&dev->mutex); return r; } --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/vhost.c +++ linux-riscv-5.8-5.8.0/drivers/vhost/vhost.c @@ -298,6 +298,12 @@ __vhost_vq_meta_reset(d->vqs[i]); } +bool vhost_vq_is_setup(struct vhost_virtqueue *vq) +{ + return vq->avail && vq->desc && vq->used && vhost_vq_access_ok(vq); +} +EXPORT_SYMBOL_GPL(vhost_vq_is_setup); + static void vhost_vq_reset(struct vhost_dev *dev, struct vhost_virtqueue *vq) { @@ -321,8 +327,8 @@ vq->kick = NULL; vq->call_ctx = NULL; vq->log_ctx = NULL; - vhost_reset_is_le(vq); vhost_disable_cross_endian(vq); + vhost_reset_is_le(vq); vq->busyloop_timeout = 0; vq->umem = NULL; vq->iotlb = NULL; @@ -1283,6 +1289,11 @@ vring_used_t __user *used) { + /* If an IOTLB device is present, the vring addresses are + * GIOVAs. Access validation occurs at prefetch time. */ + if (vq->iotlb) + return true; + return access_ok(desc, vhost_get_desc_size(vq, num)) && access_ok(avail, vhost_get_avail_size(vq, num)) && access_ok(used, vhost_get_used_size(vq, num)); @@ -1376,10 +1387,6 @@ if (!vq_log_access_ok(vq, vq->log_base)) return false; - /* Access validation occurs at prefetch time with IOTLB */ - if (vq->iotlb) - return true; - return vq_access_ok(vq, vq->num, vq->desc, vq->avail, vq->used); } EXPORT_SYMBOL_GPL(vhost_vq_access_ok); @@ -1511,8 +1518,7 @@ /* Also validate log access for used ring if enabled. */ if ((a.flags & (0x1 << VHOST_VRING_F_LOG)) && !log_access_ok(vq->log_base, a.log_guest_addr, - sizeof *vq->used + - vq->num * sizeof *vq->used->ring)) + vhost_get_used_size(vq, vq->num))) return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/vhost.h +++ linux-riscv-5.8-5.8.0/drivers/vhost/vhost.h @@ -183,6 +183,7 @@ struct vhost_log *log, unsigned int *log_num); void vhost_discard_vq_desc(struct vhost_virtqueue *, int n); +bool vhost_vq_is_setup(struct vhost_virtqueue *vq); int vhost_vq_init_access(struct vhost_virtqueue *); int vhost_add_used(struct vhost_virtqueue *, unsigned int head, int len); int vhost_add_used_n(struct vhost_virtqueue *, struct vring_used_elem *heads, --- linux-riscv-5.8-5.8.0.orig/drivers/vhost/vringh.c +++ linux-riscv-5.8-5.8.0/drivers/vhost/vringh.c @@ -284,13 +284,14 @@ desc_max = vrh->vring.num; up_next = -1; + /* You must want something! */ + if (WARN_ON(!riov && !wiov)) + return -EINVAL; + if (riov) riov->i = riov->used = 0; - else if (wiov) + if (wiov) wiov->i = wiov->used = 0; - else - /* You must want something! */ - BUG(); for (;;) { void *addr; --- linux-riscv-5.8-5.8.0.orig/drivers/video/backlight/sky81452-backlight.c +++ linux-riscv-5.8-5.8.0/drivers/video/backlight/sky81452-backlight.c @@ -196,6 +196,7 @@ num_entry); if (ret < 0) { dev_err(dev, "led-sources node is invalid.\n"); + of_node_put(np); return ERR_PTR(-EINVAL); } --- linux-riscv-5.8-5.8.0.orig/drivers/video/console/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/video/console/Kconfig @@ -22,52 +22,6 @@ Say Y. -config VGACON_SOFT_SCROLLBACK - bool "Enable Scrollback Buffer in System RAM" - depends on VGA_CONSOLE - default n - help - The scrollback buffer of the standard VGA console is located in - the VGA RAM. The size of this RAM is fixed and is quite small. - If you require a larger scrollback buffer, this can be placed in - System RAM which is dynamically allocated during initialization. - Placing the scrollback buffer in System RAM will slightly slow - down the console. - - If you want this feature, say 'Y' here and enter the amount of - RAM to allocate for this buffer. If unsure, say 'N'. - -config VGACON_SOFT_SCROLLBACK_SIZE - int "Scrollback Buffer Size (in KB)" - depends on VGACON_SOFT_SCROLLBACK - range 1 1024 - default "64" - help - Enter the amount of System RAM to allocate for scrollback - buffers of VGA consoles. Each 64KB will give you approximately - 16 80x25 screenfuls of scrollback buffer. - -config VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT - bool "Persistent Scrollback History for each console by default" - depends on VGACON_SOFT_SCROLLBACK - default n - help - Say Y here if the scrollback history should persist by default when - switching between consoles. Otherwise, the scrollback history will be - flushed each time the console is switched. This feature can also be - enabled using the boot command line parameter - 'vgacon.scrollback_persistent=1'. - - This feature might break your tool of choice to flush the scrollback - buffer, e.g. clear(1) will work fine but Debian's clear_console(1) - will be broken, which might cause security issues. - You can use the escape sequence \e[3J instead if this feature is - activated. - - Note that a buffer of VGACON_SOFT_SCROLLBACK_SIZE is taken for each - created tty device. - So if you use a RAM-constrained system, say N here. - config MDA_CONSOLE depends on !M68K && !PARISC && ISA tristate "MDA text console (dual-headed)" --- linux-riscv-5.8-5.8.0.orig/drivers/video/console/newport_con.c +++ linux-riscv-5.8-5.8.0/drivers/video/console/newport_con.c @@ -31,17 +31,14 @@ #include #include -#define FONT_DATA ((unsigned char *)font_vga_8x16.data) +#define NEWPORT_LEN 0x10000 -/* borrowed from fbcon.c */ -#define REFCOUNT(fd) (((int *)(fd))[-1]) -#define FNTSIZE(fd) (((int *)(fd))[-2]) -#define FNTCHARCNT(fd) (((int *)(fd))[-3]) -#define FONT_EXTRA_WORDS 3 +#define FONT_DATA ((unsigned char *)font_vga_8x16.data) static unsigned char *font_data[MAX_NR_CONSOLES]; static struct newport_regs *npregs; +static unsigned long newport_addr; static int logo_active; static int topscan; @@ -519,6 +516,7 @@ FNTSIZE(new_data) = size; FNTCHARCNT(new_data) = op->charcount; REFCOUNT(new_data) = 0; /* usage counter */ + FNTSUM(new_data) = 0; p = new_data; for (i = 0; i < op->charcount; i++) { @@ -701,7 +699,6 @@ static int newport_probe(struct gio_device *dev, const struct gio_device_id *id) { - unsigned long newport_addr; int err; if (!dev->resource.start) @@ -711,7 +708,7 @@ return -EBUSY; /* we only support one Newport as console */ newport_addr = dev->resource.start + 0xF0000; - if (!request_mem_region(newport_addr, 0x10000, "Newport")) + if (!request_mem_region(newport_addr, NEWPORT_LEN, "Newport")) return -ENODEV; npregs = (struct newport_regs *)/* ioremap cannot fail */ @@ -719,6 +716,11 @@ console_lock(); err = do_take_over_console(&newport_con, 0, MAX_NR_CONSOLES - 1, 1); console_unlock(); + + if (err) { + iounmap((void *)npregs); + release_mem_region(newport_addr, NEWPORT_LEN); + } return err; } @@ -726,6 +728,7 @@ { give_up_console(&newport_con); iounmap((void *)npregs); + release_mem_region(newport_addr, NEWPORT_LEN); } static struct gio_device_id newport_ids[] = { --- linux-riscv-5.8-5.8.0.orig/drivers/video/console/vgacon.c +++ linux-riscv-5.8-5.8.0/drivers/video/console/vgacon.c @@ -165,210 +165,6 @@ write_vga(12, (c->vc_visible_origin - vga_vram_base) / 2); } -#ifdef CONFIG_VGACON_SOFT_SCROLLBACK -/* software scrollback */ -struct vgacon_scrollback_info { - void *data; - int tail; - int size; - int rows; - int cnt; - int cur; - int save; - int restore; -}; - -static struct vgacon_scrollback_info *vgacon_scrollback_cur; -static struct vgacon_scrollback_info vgacon_scrollbacks[MAX_NR_CONSOLES]; -static bool scrollback_persistent = \ - IS_ENABLED(CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT); -module_param_named(scrollback_persistent, scrollback_persistent, bool, 0000); -MODULE_PARM_DESC(scrollback_persistent, "Enable persistent scrollback for all vga consoles"); - -static void vgacon_scrollback_reset(int vc_num, size_t reset_size) -{ - struct vgacon_scrollback_info *scrollback = &vgacon_scrollbacks[vc_num]; - - if (scrollback->data && reset_size > 0) - memset(scrollback->data, 0, reset_size); - - scrollback->cnt = 0; - scrollback->tail = 0; - scrollback->cur = 0; -} - -static void vgacon_scrollback_init(int vc_num) -{ - int pitch = vga_video_num_columns * 2; - size_t size = CONFIG_VGACON_SOFT_SCROLLBACK_SIZE * 1024; - int rows = size / pitch; - void *data; - - data = kmalloc_array(CONFIG_VGACON_SOFT_SCROLLBACK_SIZE, 1024, - GFP_NOWAIT); - - vgacon_scrollbacks[vc_num].data = data; - vgacon_scrollback_cur = &vgacon_scrollbacks[vc_num]; - - vgacon_scrollback_cur->rows = rows - 1; - vgacon_scrollback_cur->size = rows * pitch; - - vgacon_scrollback_reset(vc_num, size); -} - -static void vgacon_scrollback_switch(int vc_num) -{ - if (!scrollback_persistent) - vc_num = 0; - - if (!vgacon_scrollbacks[vc_num].data) { - vgacon_scrollback_init(vc_num); - } else { - if (scrollback_persistent) { - vgacon_scrollback_cur = &vgacon_scrollbacks[vc_num]; - } else { - size_t size = CONFIG_VGACON_SOFT_SCROLLBACK_SIZE * 1024; - - vgacon_scrollback_reset(vc_num, size); - } - } -} - -static void vgacon_scrollback_startup(void) -{ - vgacon_scrollback_cur = &vgacon_scrollbacks[0]; - vgacon_scrollback_init(0); -} - -static void vgacon_scrollback_update(struct vc_data *c, int t, int count) -{ - void *p; - - if (!vgacon_scrollback_cur->data || !vgacon_scrollback_cur->size || - c->vc_num != fg_console) - return; - - p = (void *) (c->vc_origin + t * c->vc_size_row); - - while (count--) { - scr_memcpyw(vgacon_scrollback_cur->data + - vgacon_scrollback_cur->tail, - p, c->vc_size_row); - - vgacon_scrollback_cur->cnt++; - p += c->vc_size_row; - vgacon_scrollback_cur->tail += c->vc_size_row; - - if (vgacon_scrollback_cur->tail >= vgacon_scrollback_cur->size) - vgacon_scrollback_cur->tail = 0; - - if (vgacon_scrollback_cur->cnt > vgacon_scrollback_cur->rows) - vgacon_scrollback_cur->cnt = vgacon_scrollback_cur->rows; - - vgacon_scrollback_cur->cur = vgacon_scrollback_cur->cnt; - } -} - -static void vgacon_restore_screen(struct vc_data *c) -{ - c->vc_origin = c->vc_visible_origin; - vgacon_scrollback_cur->save = 0; - - if (!vga_is_gfx && !vgacon_scrollback_cur->restore) { - scr_memcpyw((u16 *) c->vc_origin, (u16 *) c->vc_screenbuf, - c->vc_screenbuf_size > vga_vram_size ? - vga_vram_size : c->vc_screenbuf_size); - vgacon_scrollback_cur->restore = 1; - vgacon_scrollback_cur->cur = vgacon_scrollback_cur->cnt; - } -} - -static void vgacon_scrolldelta(struct vc_data *c, int lines) -{ - int start, end, count, soff; - - if (!lines) { - vgacon_restore_screen(c); - return; - } - - if (!vgacon_scrollback_cur->data) - return; - - if (!vgacon_scrollback_cur->save) { - vgacon_cursor(c, CM_ERASE); - vgacon_save_screen(c); - c->vc_origin = (unsigned long)c->vc_screenbuf; - vgacon_scrollback_cur->save = 1; - } - - vgacon_scrollback_cur->restore = 0; - start = vgacon_scrollback_cur->cur + lines; - end = start + abs(lines); - - if (start < 0) - start = 0; - - if (start > vgacon_scrollback_cur->cnt) - start = vgacon_scrollback_cur->cnt; - - if (end < 0) - end = 0; - - if (end > vgacon_scrollback_cur->cnt) - end = vgacon_scrollback_cur->cnt; - - vgacon_scrollback_cur->cur = start; - count = end - start; - soff = vgacon_scrollback_cur->tail - - ((vgacon_scrollback_cur->cnt - end) * c->vc_size_row); - soff -= count * c->vc_size_row; - - if (soff < 0) - soff += vgacon_scrollback_cur->size; - - count = vgacon_scrollback_cur->cnt - start; - - if (count > c->vc_rows) - count = c->vc_rows; - - if (count) { - int copysize; - - int diff = c->vc_rows - count; - void *d = (void *) c->vc_visible_origin; - void *s = (void *) c->vc_screenbuf; - - count *= c->vc_size_row; - /* how much memory to end of buffer left? */ - copysize = min(count, vgacon_scrollback_cur->size - soff); - scr_memcpyw(d, vgacon_scrollback_cur->data + soff, copysize); - d += copysize; - count -= copysize; - - if (count) { - scr_memcpyw(d, vgacon_scrollback_cur->data, count); - d += count; - } - - if (diff) - scr_memcpyw(d, s, diff * c->vc_size_row); - } else - vgacon_cursor(c, CM_MOVE); -} - -static void vgacon_flush_scrollback(struct vc_data *c) -{ - size_t size = CONFIG_VGACON_SOFT_SCROLLBACK_SIZE * 1024; - - vgacon_scrollback_reset(c->vc_num, size); -} -#else -#define vgacon_scrollback_startup(...) do { } while (0) -#define vgacon_scrollback_init(...) do { } while (0) -#define vgacon_scrollback_update(...) do { } while (0) -#define vgacon_scrollback_switch(...) do { } while (0) - static void vgacon_restore_screen(struct vc_data *c) { if (c->vc_origin != c->vc_visible_origin) @@ -382,11 +178,6 @@ vga_set_mem_top(c); } -static void vgacon_flush_scrollback(struct vc_data *c) -{ -} -#endif /* CONFIG_VGACON_SOFT_SCROLLBACK */ - static const char *vgacon_startup(void) { const char *display_desc = NULL; @@ -569,10 +360,7 @@ vgacon_xres = screen_info.orig_video_cols * VGA_FONTWIDTH; vgacon_yres = vga_scan_lines; - if (!vga_init_done) { - vgacon_scrollback_startup(); - vga_init_done = true; - } + vga_init_done = true; return display_desc; } @@ -863,7 +651,6 @@ vgacon_doresize(c, c->vc_cols, c->vc_rows); } - vgacon_scrollback_switch(c->vc_num); return 0; /* Redrawing not needed */ } @@ -1380,7 +1167,6 @@ oldo = c->vc_origin; delta = lines * c->vc_size_row; if (dir == SM_UP) { - vgacon_scrollback_update(c, t, lines); if (c->vc_scr_end + delta >= vga_vram_end) { scr_memcpyw((u16 *) vga_vram_base, (u16 *) (oldo + delta), @@ -1444,7 +1230,6 @@ .con_save_screen = vgacon_save_screen, .con_build_attr = vgacon_build_attr, .con_invert_region = vgacon_invert_region, - .con_flush_scrollback = vgacon_flush_scrollback, }; EXPORT_SYMBOL(vga_con); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/Kconfig @@ -1269,6 +1269,7 @@ select FB_CFB_IMAGEBLIT select FB_BACKLIGHT if FB_ATY_BACKLIGHT select FB_MACMODES if PPC + select FB_ATY_CT if SPARC64 && PCI help This driver supports graphics boards with the ATI Mach64 chips. Say Y if you have such a graphics board. @@ -1279,7 +1280,6 @@ config FB_ATY_CT bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support" depends on PCI && FB_ATY - default y if SPARC64 && PCI help Say Y here to support use of ATI's 64-bit Rage boards (or other boards based on the Mach64 CT, VT, GT, and LT chipsets) as a --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/atmel_lcdfb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/atmel_lcdfb.c @@ -987,8 +987,8 @@ } INIT_LIST_HEAD(&pdata->pwr_gpios); - ret = -ENOMEM; for (i = 0; i < gpiod_count(dev, "atmel,power-control"); i++) { + ret = -ENOMEM; gpiod = devm_gpiod_get_index(dev, "atmel,power-control", i, GPIOD_ASIS); if (IS_ERR(gpiod)) --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/aty/radeon_base.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/aty/radeon_base.c @@ -2311,7 +2311,7 @@ ret = radeon_kick_out_firmware_fb(pdev); if (ret) - return ret; + goto err_release_fb; /* request the mem regions */ ret = pci_request_region(pdev, 0, "radeonfb framebuffer"); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/controlfb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/controlfb.c @@ -49,6 +49,8 @@ #include #ifdef CONFIG_PPC_PMAC #include +#endif +#ifdef CONFIG_BOOTX_TEXT #include #endif --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/bitblit.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/bitblit.c @@ -234,7 +234,7 @@ } static void bit_cursor(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg) + int fg, int bg) { struct fb_cursor cursor; struct fbcon_ops *ops = info->fbcon_par; @@ -247,15 +247,6 @@ cursor.set = 0; - if (softback_lines) { - if (y + softback_lines >= vc->vc_rows) { - mode = CM_ERASE; - ops->cursor_flash = 0; - return; - } else - y += softback_lines; - } - c = scr_readw((u16 *) vc->vc_pos); attribute = get_attribute(info, c); src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height)); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon.c @@ -122,12 +122,6 @@ /* logo_shown is an index to vc_cons when >= 0; otherwise follows FBCON_LOGO enums. */ static int logo_shown = FBCON_LOGO_CANSHOW; -/* Software scrollback */ -static int fbcon_softback_size = 32768; -static unsigned long softback_buf, softback_curr; -static unsigned long softback_in; -static unsigned long softback_top, softback_end; -static int softback_lines; /* console mappings */ static int first_fb_vc; static int last_fb_vc = MAX_NR_CONSOLES - 1; @@ -167,8 +161,6 @@ static const struct consw fb_con; -#define CM_SOFTBACK (8) - #define advance_row(p, delta) (unsigned short *)((unsigned long)(p) + (delta) * vc->vc_size_row) static int fbcon_set_origin(struct vc_data *); @@ -373,18 +365,6 @@ return color; } -static void fbcon_update_softback(struct vc_data *vc) -{ - int l = fbcon_softback_size / vc->vc_size_row; - - if (l > 5) - softback_end = softback_buf + l * vc->vc_size_row; - else - /* Smaller scrollback makes no sense, and 0 would screw - the operation totally */ - softback_top = 0; -} - static void fb_flashcursor(struct work_struct *work) { struct fb_info *info = container_of(work, struct fb_info, queue); @@ -414,7 +394,7 @@ c = scr_readw((u16 *) vc->vc_pos); mode = (!ops->cursor_flash || ops->cursor_state.enable) ? CM_ERASE : CM_DRAW; - ops->cursor(vc, info, mode, softback_lines, get_color(vc, info, c, 1), + ops->cursor(vc, info, mode, get_color(vc, info, c, 1), get_color(vc, info, c, 0)); console_unlock(); } @@ -471,13 +451,7 @@ } if (!strncmp(options, "scrollback:", 11)) { - options += 11; - if (*options) { - fbcon_softback_size = simple_strtoul(options, &options, 0); - if (*options == 'k' || *options == 'K') { - fbcon_softback_size *= 1024; - } - } + pr_warn("Ignoring scrollback size option\n"); continue; } @@ -1022,31 +996,6 @@ set_blitting_type(vc, info); - if (info->fix.type != FB_TYPE_TEXT) { - if (fbcon_softback_size) { - if (!softback_buf) { - softback_buf = - (unsigned long) - kvmalloc(fbcon_softback_size, - GFP_KERNEL); - if (!softback_buf) { - fbcon_softback_size = 0; - softback_top = 0; - } - } - } else { - if (softback_buf) { - kvfree((void *) softback_buf); - softback_buf = 0; - softback_top = 0; - } - } - if (softback_buf) - softback_in = softback_top = softback_curr = - softback_buf; - softback_lines = 0; - } - /* Setup default font */ if (!p->fontdata && !vc->vc_font.data) { if (!fontname[0] || !(font = find_font(fontname))) @@ -1086,7 +1035,7 @@ struct vc_data *svc = *default_mode; struct fbcon_display *t, *p = &fb_display[vc->vc_num]; int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256; - int cap, ret; + int ret; if (WARN_ON(info_idx == -1)) return; @@ -1095,7 +1044,6 @@ con2fb_map[vc->vc_num] = info_idx; info = registered_fb[con2fb_map[vc->vc_num]]; - cap = info->flags; if (logo_shown < 0 && console_loglevel <= CONSOLE_LOGLEVEL_QUIET) logo_shown = FBCON_LOGO_DONTSHOW; @@ -1200,11 +1148,13 @@ ops->graphics = 0; - if ((cap & FBINFO_HWACCEL_COPYAREA) && - !(cap & FBINFO_HWACCEL_DISABLED)) - p->scrollmode = SCROLL_MOVE; - else /* default to something safe */ - p->scrollmode = SCROLL_REDRAW; + /* + * No more hw acceleration for fbcon. + * + * FIXME: Garbage collect all the now dead code after sufficient time + * has passed. + */ + p->scrollmode = SCROLL_REDRAW; /* * ++guenther: console.c:vc_allocate() relies on initializing @@ -1220,9 +1170,6 @@ if (logo) fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows); - if (vc == svc && softback_buf) - fbcon_update_softback(vc); - if (ops->rotate_font && ops->rotate_font(info, vc)) { ops->rotate = FB_ROTATE_UR; set_blitting_type(vc, info); @@ -1385,7 +1332,6 @@ { struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; struct fbcon_ops *ops = info->fbcon_par; - int y; int c = scr_readw((u16 *) vc->vc_pos); ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms); @@ -1399,16 +1345,11 @@ fbcon_add_cursor_timer(info); ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1; - if (mode & CM_SOFTBACK) { - mode &= ~CM_SOFTBACK; - y = softback_lines; - } else { - if (softback_lines) - fbcon_set_origin(vc); - y = 0; - } - ops->cursor(vc, info, mode, y, get_color(vc, info, c, 1), + if (!ops->cursor) + return; + + ops->cursor(vc, info, mode, get_color(vc, info, c, 1), get_color(vc, info, c, 0)); } @@ -1479,8 +1420,6 @@ if (con_is_visible(vc)) { update_screen(vc); - if (softback_buf) - fbcon_update_softback(vc); } } @@ -1618,99 +1557,6 @@ scrollback_current = 0; } -static void fbcon_redraw_softback(struct vc_data *vc, struct fbcon_display *p, - long delta) -{ - int count = vc->vc_rows; - unsigned short *d, *s; - unsigned long n; - int line = 0; - - d = (u16 *) softback_curr; - if (d == (u16 *) softback_in) - d = (u16 *) vc->vc_origin; - n = softback_curr + delta * vc->vc_size_row; - softback_lines -= delta; - if (delta < 0) { - if (softback_curr < softback_top && n < softback_buf) { - n += softback_end - softback_buf; - if (n < softback_top) { - softback_lines -= - (softback_top - n) / vc->vc_size_row; - n = softback_top; - } - } else if (softback_curr >= softback_top - && n < softback_top) { - softback_lines -= - (softback_top - n) / vc->vc_size_row; - n = softback_top; - } - } else { - if (softback_curr > softback_in && n >= softback_end) { - n += softback_buf - softback_end; - if (n > softback_in) { - n = softback_in; - softback_lines = 0; - } - } else if (softback_curr <= softback_in && n > softback_in) { - n = softback_in; - softback_lines = 0; - } - } - if (n == softback_curr) - return; - softback_curr = n; - s = (u16 *) softback_curr; - if (s == (u16 *) softback_in) - s = (u16 *) vc->vc_origin; - while (count--) { - unsigned short *start; - unsigned short *le; - unsigned short c; - int x = 0; - unsigned short attr = 1; - - start = s; - le = advance_row(s, 1); - do { - c = scr_readw(s); - if (attr != (c & 0xff00)) { - attr = c & 0xff00; - if (s > start) { - fbcon_putcs(vc, start, s - start, - line, x); - x += s - start; - start = s; - } - } - if (c == scr_readw(d)) { - if (s > start) { - fbcon_putcs(vc, start, s - start, - line, x); - x += s - start + 1; - start = s + 1; - } else { - x++; - start++; - } - } - s++; - d++; - } while (s < le); - if (s > start) - fbcon_putcs(vc, start, s - start, line, x); - line++; - if (d == (u16 *) softback_end) - d = (u16 *) softback_buf; - if (d == (u16 *) softback_in) - d = (u16 *) vc->vc_origin; - if (s == (u16 *) softback_end) - s = (u16 *) softback_buf; - if (s == (u16 *) softback_in) - s = (u16 *) vc->vc_origin; - } -} - static void fbcon_redraw_move(struct vc_data *vc, struct fbcon_display *p, int line, int count, int dy) { @@ -1850,31 +1696,6 @@ } } -static inline void fbcon_softback_note(struct vc_data *vc, int t, - int count) -{ - unsigned short *p; - - if (vc->vc_num != fg_console) - return; - p = (unsigned short *) (vc->vc_origin + t * vc->vc_size_row); - - while (count) { - scr_memcpyw((u16 *) softback_in, p, vc->vc_size_row); - count--; - p = advance_row(p, 1); - softback_in += vc->vc_size_row; - if (softback_in == softback_end) - softback_in = softback_buf; - if (softback_in == softback_top) { - softback_top += vc->vc_size_row; - if (softback_top == softback_end) - softback_top = softback_buf; - } - } - softback_curr = softback_in; -} - static bool fbcon_scroll(struct vc_data *vc, unsigned int t, unsigned int b, enum con_scroll dir, unsigned int count) { @@ -1897,8 +1718,6 @@ case SM_UP: if (count > vc->vc_rows) /* Maximum realistic size */ count = vc->vc_rows; - if (softback_top) - fbcon_softback_note(vc, t, count); if (logo_shown >= 0) goto redraw_up; switch (p->scrollmode) { @@ -2150,47 +1969,20 @@ { struct fbcon_ops *ops = info->fbcon_par; int fh = vc->vc_font.height; - int cap = info->flags; - u16 t = 0; - int ypan = FBCON_SWAP(ops->rotate, info->fix.ypanstep, - info->fix.xpanstep); - int ywrap = FBCON_SWAP(ops->rotate, info->fix.ywrapstep, t); int yres = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); int vyres = FBCON_SWAP(ops->rotate, info->var.yres_virtual, info->var.xres_virtual); - int good_pan = (cap & FBINFO_HWACCEL_YPAN) && - divides(ypan, vc->vc_font.height) && vyres > yres; - int good_wrap = (cap & FBINFO_HWACCEL_YWRAP) && - divides(ywrap, vc->vc_font.height) && - divides(vc->vc_font.height, vyres) && - divides(vc->vc_font.height, yres); - int reading_fast = cap & FBINFO_READS_FAST; - int fast_copyarea = (cap & FBINFO_HWACCEL_COPYAREA) && - !(cap & FBINFO_HWACCEL_DISABLED); - int fast_imageblit = (cap & FBINFO_HWACCEL_IMAGEBLIT) && - !(cap & FBINFO_HWACCEL_DISABLED); p->vrows = vyres/fh; if (yres > (fh * (vc->vc_rows + 1))) p->vrows -= (yres - (fh * vc->vc_rows)) / fh; if ((yres % fh) && (vyres % fh < yres % fh)) p->vrows--; - - if (good_wrap || good_pan) { - if (reading_fast || fast_copyarea) - p->scrollmode = good_wrap ? - SCROLL_WRAP_MOVE : SCROLL_PAN_MOVE; - else - p->scrollmode = good_wrap ? SCROLL_REDRAW : - SCROLL_PAN_REDRAW; - } else { - if (reading_fast || (fast_copyarea && !fast_imageblit)) - p->scrollmode = SCROLL_MOVE; - else - p->scrollmode = SCROLL_REDRAW; - } } +#define PITCH(w) (((w) + 7) >> 3) +#define CALC_FONTSZ(h, p, c) ((h) * (p) * (c)) /* size = height * pitch * charcount */ + static int fbcon_resize(struct vc_data *vc, unsigned int width, unsigned int height, unsigned int user) { @@ -2200,6 +1992,24 @@ struct fb_var_screeninfo var = info->var; int x_diff, y_diff, virt_w, virt_h, virt_fw, virt_fh; + if (p->userfont && FNTSIZE(vc->vc_font.data)) { + int size; + int pitch = PITCH(vc->vc_font.width); + + /* + * If user font, ensure that a possible change to user font + * height or width will not allow a font data out-of-bounds access. + * NOTE: must use original charcount in calculation as font + * charcount can change and cannot be used to determine the + * font data allocated size. + */ + if (pitch <= 0) + return -EINVAL; + size = CALC_FONTSZ(vc->vc_font.height, pitch, FNTCHARCNT(vc->vc_font.data)); + if (size > FNTSIZE(vc->vc_font.data)) + return -EINVAL; + } + virt_w = FBCON_SWAP(ops->rotate, width, height); virt_h = FBCON_SWAP(ops->rotate, height, width); virt_fw = FBCON_SWAP(ops->rotate, vc->vc_font.width, @@ -2248,14 +2058,6 @@ info = registered_fb[con2fb_map[vc->vc_num]]; ops = info->fbcon_par; - if (softback_top) { - if (softback_lines) - fbcon_set_origin(vc); - softback_top = softback_curr = softback_in = softback_buf; - softback_lines = 0; - fbcon_update_softback(vc); - } - if (logo_shown >= 0) { struct vc_data *conp2 = vc_cons[logo_shown].d; @@ -2471,6 +2273,9 @@ if (font->width <= 8) { j = vc->vc_font.height; + if (font->charcount * j > FNTSIZE(fontdata)) + return -EINVAL; + for (i = 0; i < font->charcount; i++) { memcpy(data, fontdata, j); memset(data + j, 0, 32 - j); @@ -2479,6 +2284,9 @@ } } else if (font->width <= 16) { j = vc->vc_font.height * 2; + if (font->charcount * j > FNTSIZE(fontdata)) + return -EINVAL; + for (i = 0; i < font->charcount; i++) { memcpy(data, fontdata, j); memset(data + j, 0, 64 - j); @@ -2486,6 +2294,9 @@ fontdata += j; } } else if (font->width <= 24) { + if (font->charcount * (vc->vc_font.height * sizeof(u32)) > FNTSIZE(fontdata)) + return -EINVAL; + for (i = 0; i < font->charcount; i++) { for (j = 0; j < vc->vc_font.height; j++) { *data++ = fontdata[0]; @@ -2498,6 +2309,9 @@ } } else { j = vc->vc_font.height * 4; + if (font->charcount * j > FNTSIZE(fontdata)) + return -EINVAL; + for (i = 0; i < font->charcount; i++) { memcpy(data, fontdata, j); memset(data + j, 0, 128 - j); @@ -2579,9 +2393,6 @@ int cnt; char *old_data = NULL; - if (con_is_visible(vc) && softback_lines) - fbcon_set_origin(vc); - resize = (w != vc->vc_font.width) || (h != vc->vc_font.height); if (p->userfont) old_data = vc->vc_font.data; @@ -2607,8 +2418,6 @@ cols /= w; rows /= h; vc_resize(vc, cols, rows); - if (con_is_visible(vc) && softback_buf) - fbcon_update_softback(vc); } else if (con_is_visible(vc) && vc->vc_mode == KD_TEXT) { fbcon_clear_margins(vc, 0); @@ -2652,7 +2461,7 @@ int size; int i, csum; u8 *new_data, *data = font->data; - int pitch = (font->width+7) >> 3; + int pitch = PITCH(font->width); /* Is there a reason why fbconsole couldn't handle any charcount >256? * If not this check should be changed to charcount < 256 */ @@ -2668,7 +2477,7 @@ if (fbcon_invalid_charcount(info, charcount)) return -EINVAL; - size = h * pitch * charcount; + size = CALC_FONTSZ(h, pitch, charcount); new_data = kmalloc(FONT_EXTRA_WORDS * sizeof(int) + size, GFP_USER); @@ -2767,19 +2576,7 @@ static u16 *fbcon_screen_pos(struct vc_data *vc, int offset) { - unsigned long p; - int line; - - if (vc->vc_num != fg_console || !softback_lines) - return (u16 *) (vc->vc_origin + offset); - line = offset / vc->vc_size_row; - if (line >= softback_lines) - return (u16 *) (vc->vc_origin + offset - - softback_lines * vc->vc_size_row); - p = softback_curr + offset; - if (p >= softback_end) - p += softback_buf - softback_end; - return (u16 *) p; + return (u16 *) (vc->vc_origin + offset); } static unsigned long fbcon_getxy(struct vc_data *vc, unsigned long pos, @@ -2793,22 +2590,7 @@ x = offset % vc->vc_cols; y = offset / vc->vc_cols; - if (vc->vc_num == fg_console) - y += softback_lines; ret = pos + (vc->vc_cols - x) * 2; - } else if (vc->vc_num == fg_console && softback_lines) { - unsigned long offset = pos - softback_curr; - - if (pos < softback_curr) - offset += softback_end - softback_buf; - offset /= 2; - x = offset % vc->vc_cols; - y = offset / vc->vc_cols; - ret = pos + (vc->vc_cols - x) * 2; - if (ret == softback_end) - ret = softback_buf; - if (ret == softback_in) - ret = vc->vc_origin; } else { /* Should not happen */ x = y = 0; @@ -2836,106 +2618,11 @@ a = ((a) & 0x88ff) | (((a) & 0x7000) >> 4) | (((a) & 0x0700) << 4); scr_writew(a, p++); - if (p == (u16 *) softback_end) - p = (u16 *) softback_buf; - if (p == (u16 *) softback_in) - p = (u16 *) vc->vc_origin; } } -static void fbcon_scrolldelta(struct vc_data *vc, int lines) -{ - struct fb_info *info = registered_fb[con2fb_map[fg_console]]; - struct fbcon_ops *ops = info->fbcon_par; - struct fbcon_display *disp = &fb_display[fg_console]; - int offset, limit, scrollback_old; - - if (softback_top) { - if (vc->vc_num != fg_console) - return; - if (vc->vc_mode != KD_TEXT || !lines) - return; - if (logo_shown >= 0) { - struct vc_data *conp2 = vc_cons[logo_shown].d; - - if (conp2->vc_top == logo_lines - && conp2->vc_bottom == conp2->vc_rows) - conp2->vc_top = 0; - if (logo_shown == vc->vc_num) { - unsigned long p, q; - int i; - - p = softback_in; - q = vc->vc_origin + - logo_lines * vc->vc_size_row; - for (i = 0; i < logo_lines; i++) { - if (p == softback_top) - break; - if (p == softback_buf) - p = softback_end; - p -= vc->vc_size_row; - q -= vc->vc_size_row; - scr_memcpyw((u16 *) q, (u16 *) p, - vc->vc_size_row); - } - softback_in = softback_curr = p; - update_region(vc, vc->vc_origin, - logo_lines * vc->vc_cols); - } - logo_shown = FBCON_LOGO_CANSHOW; - } - fbcon_cursor(vc, CM_ERASE | CM_SOFTBACK); - fbcon_redraw_softback(vc, disp, lines); - fbcon_cursor(vc, CM_DRAW | CM_SOFTBACK); - return; - } - - if (!scrollback_phys_max) - return; - - scrollback_old = scrollback_current; - scrollback_current -= lines; - if (scrollback_current < 0) - scrollback_current = 0; - else if (scrollback_current > scrollback_max) - scrollback_current = scrollback_max; - if (scrollback_current == scrollback_old) - return; - - if (fbcon_is_inactive(vc, info)) - return; - - fbcon_cursor(vc, CM_ERASE); - - offset = disp->yscroll - scrollback_current; - limit = disp->vrows; - switch (disp->scrollmode) { - case SCROLL_WRAP_MOVE: - info->var.vmode |= FB_VMODE_YWRAP; - break; - case SCROLL_PAN_MOVE: - case SCROLL_PAN_REDRAW: - limit -= vc->vc_rows; - info->var.vmode &= ~FB_VMODE_YWRAP; - break; - } - if (offset < 0) - offset += limit; - else if (offset >= limit) - offset -= limit; - - ops->var.xoffset = 0; - ops->var.yoffset = offset * vc->vc_font.height; - ops->update_start(info); - - if (!scrollback_current) - fbcon_cursor(vc, CM_DRAW); -} - static int fbcon_set_origin(struct vc_data *vc) { - if (softback_lines) - fbcon_scrolldelta(vc, softback_lines); return 0; } @@ -2999,8 +2686,6 @@ fbcon_set_palette(vc, color_table); update_screen(vc); - if (softback_buf) - fbcon_update_softback(vc); } } @@ -3411,7 +3096,6 @@ .con_font_default = fbcon_set_def_font, .con_font_copy = fbcon_copy_font, .con_set_palette = fbcon_set_palette, - .con_scrolldelta = fbcon_scrolldelta, .con_set_origin = fbcon_set_origin, .con_invert_region = fbcon_invert_region, .con_screen_pos = fbcon_screen_pos, @@ -3646,9 +3330,6 @@ } #endif - kvfree((void *)softback_buf); - softback_buf = 0UL; - for_each_registered_fb(i) { int pending = 0; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon.h +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon.h @@ -62,7 +62,7 @@ void (*clear_margins)(struct vc_data *vc, struct fb_info *info, int color, int bottom_only); void (*cursor)(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg); + int fg, int bg); int (*update_start)(struct fb_info *info); int (*rotate_font)(struct fb_info *info, struct vc_data *vc); struct fb_var_screeninfo var; /* copy of the current fb_var_screeninfo */ @@ -152,13 +152,6 @@ #define attr_bgcol_ec(bgshift, vc, info) attr_col_ec(bgshift, vc, info, 0) #define attr_fgcol_ec(fgshift, vc, info) attr_col_ec(fgshift, vc, info, 1) -/* Font */ -#define REFCOUNT(fd) (((int *)(fd))[-1]) -#define FNTSIZE(fd) (((int *)(fd))[-2]) -#define FNTCHARCNT(fd) (((int *)(fd))[-3]) -#define FNTSUM(fd) (((int *)(fd))[-4]) -#define FONT_EXTRA_WORDS 4 - /* * Scroll Method */ --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon_ccw.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon_ccw.c @@ -219,7 +219,7 @@ } static void ccw_cursor(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg) + int fg, int bg) { struct fb_cursor cursor; struct fbcon_ops *ops = info->fbcon_par; @@ -236,15 +236,6 @@ cursor.set = 0; - if (softback_lines) { - if (y + softback_lines >= vc->vc_rows) { - mode = CM_ERASE; - ops->cursor_flash = 0; - return; - } else - y += softback_lines; - } - c = scr_readw((u16 *) vc->vc_pos); attribute = get_attribute(info, c); src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.width)); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon_cw.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon_cw.c @@ -202,7 +202,7 @@ } static void cw_cursor(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg) + int fg, int bg) { struct fb_cursor cursor; struct fbcon_ops *ops = info->fbcon_par; @@ -219,15 +219,6 @@ cursor.set = 0; - if (softback_lines) { - if (y + softback_lines >= vc->vc_rows) { - mode = CM_ERASE; - ops->cursor_flash = 0; - return; - } else - y += softback_lines; - } - c = scr_readw((u16 *) vc->vc_pos); attribute = get_attribute(info, c); src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.width)); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon_rotate.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon_rotate.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "fbcon.h" #include "fbcon_rotate.h" --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbcon_ud.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbcon_ud.c @@ -249,7 +249,7 @@ } static void ud_cursor(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg) + int fg, int bg) { struct fb_cursor cursor; struct fbcon_ops *ops = info->fbcon_par; @@ -267,15 +267,6 @@ cursor.set = 0; - if (softback_lines) { - if (y + softback_lines >= vc->vc_rows) { - mode = CM_ERASE; - ops->cursor_flash = 0; - return; - } else - y += softback_lines; - } - c = scr_readw((u16 *) vc->vc_pos); attribute = get_attribute(info, c); src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.height)); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbmem.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbmem.c @@ -957,7 +957,6 @@ int fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) { - int flags = info->flags; int ret = 0; u32 activate; struct fb_var_screeninfo old_var; @@ -1007,6 +1006,10 @@ return 0; } + /* bitfill_aligned() assumes that it's at least 8x8 */ + if (var->xres < 8 || var->yres < 8) + return -EINVAL; + ret = info->fbops->fb_check_var(var, info); if (ret) @@ -1052,9 +1055,6 @@ event.data = &mode; fb_notifier_call_chain(FB_EVENT_MODE_CHANGE, &event); - if (flags & FBINFO_MISC_USEREVENT) - fbcon_update_vcs(info, activate & FB_ACTIVATE_ALL); - return 0; } EXPORT_SYMBOL(fb_set_var); @@ -1105,9 +1105,9 @@ return -EFAULT; console_lock(); lock_fb_info(info); - info->flags |= FBINFO_MISC_USEREVENT; ret = fb_set_var(info, &var); - info->flags &= ~FBINFO_MISC_USEREVENT; + if (!ret) + fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL); unlock_fb_info(info); console_unlock(); if (!ret && copy_to_user(argp, &var, sizeof(var))) --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/fbsysfs.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/fbsysfs.c @@ -91,9 +91,9 @@ var->activate |= FB_ACTIVATE_FORCE; console_lock(); - fb_info->flags |= FBINFO_MISC_USEREVENT; err = fb_set_var(fb_info, var); - fb_info->flags &= ~FBINFO_MISC_USEREVENT; + if (!err) + fbcon_update_vcs(fb_info, var->activate & FB_ACTIVATE_ALL); console_unlock(); if (err) return err; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/core/tileblit.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/core/tileblit.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "fbcon.h" @@ -80,7 +81,7 @@ } static void tile_cursor(struct vc_data *vc, struct fb_info *info, int mode, - int softback_lines, int fg, int bg) + int fg, int bg) { struct fb_tilecursor cursor; int use_sw = (vc->vc_cursor_type & 0x10); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/efifb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/efifb.c @@ -453,7 +453,7 @@ info->apertures->ranges[0].base = efifb_fix.smem_start; info->apertures->ranges[0].size = size_remap; - if (efi_enabled(EFI_BOOT) && + if (efi_enabled(EFI_MEMMAP) && !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) { if ((efifb_fix.smem_start + efifb_fix.smem_len) > (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) { --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/hyperv_fb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/hyperv_fb.c @@ -307,7 +307,7 @@ VM_PKT_DATA_INBAND, 0); if (ret) - pr_err("Unable to send packet via vmbus\n"); + pr_err_ratelimited("Unable to send packet via vmbus; error %d\n", ret); return ret; } @@ -1030,7 +1030,6 @@ PCI_DEVICE_ID_HYPERV_VIDEO, NULL); if (!pdev) { pr_err("Unable to find PCI Hyper-V video\n"); - kfree(info->apertures); return -ENODEV; } @@ -1092,7 +1091,12 @@ goto err1; } - fb_virt = ioremap(par->mem->start, screen_fb_size); + /* + * Map the VRAM cacheable for performance. This is also required for + * VM Connect to display properly for ARM64 Linux VM, as the host also + * maps the VRAM cacheable. + */ + fb_virt = ioremap_cache(par->mem->start, screen_fb_size); if (!fb_virt) goto err2; @@ -1114,9 +1118,15 @@ getmem_done: remove_conflicting_framebuffers(info->apertures, KBUILD_MODNAME, false); - if (!gen2vm) + + if (gen2vm) { + /* framebuffer is reallocated, clear screen_info to avoid misuse from kexec */ + screen_info.lfb_size = 0; + screen_info.lfb_base = 0; + screen_info.orig_video_isVGA = 0; + } else { pci_dev_put(pdev); - kfree(info->apertures); + } return 0; @@ -1128,7 +1138,6 @@ err1: if (!gen2vm) pci_dev_put(pdev); - kfree(info->apertures); return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/neofb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/neofb.c @@ -1819,6 +1819,7 @@ #else printk(KERN_ERR "neofb: Only 640x480, 800x600/480 and 1024x768 panels are currently supported\n"); + kfree(info->monspecs.modedb); return -1; #endif default: --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/dispc.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/dispc.c @@ -520,8 +520,11 @@ DSSDBG("dispc_runtime_get\n"); r = pm_runtime_get_sync(&dispc.pdev->dev); - WARN_ON(r < 0); - return r < 0 ? r : 0; + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&dispc.pdev->dev); + return r; + } + return 0; } EXPORT_SYMBOL(dispc_runtime_get); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/dsi.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/dsi.c @@ -1137,8 +1137,11 @@ DSSDBG("dsi_runtime_get\n"); r = pm_runtime_get_sync(&dsi->pdev->dev); - WARN_ON(r < 0); - return r < 0 ? r : 0; + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&dsi->pdev->dev); + return r; + } + return 0; } static void dsi_runtime_put(struct platform_device *dsidev) --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/dss.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/dss.c @@ -768,8 +768,11 @@ DSSDBG("dss_runtime_get\n"); r = pm_runtime_get_sync(&dss.pdev->dev); - WARN_ON(r < 0); - return r < 0 ? r : 0; + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&dss.pdev->dev); + return r; + } + return 0; } void dss_runtime_put(void) @@ -833,7 +836,7 @@ }; static const struct dss_features omap3630_dss_feats = { - .fck_div_max = 32, + .fck_div_max = 31, .dss_fck_multiplier = 1, .parent_clk_name = "dpll4_ck", .dpi_select_source = &dss_dpi_select_source_omap2_omap3, --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c @@ -39,9 +39,10 @@ DSSDBG("hdmi_runtime_get\n"); r = pm_runtime_get_sync(&hdmi.pdev->dev); - WARN_ON(r < 0); - if (r < 0) + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&hdmi.pdev->dev); return r; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c @@ -43,9 +43,10 @@ DSSDBG("hdmi_runtime_get\n"); r = pm_runtime_get_sync(&hdmi.pdev->dev); - WARN_ON(r < 0); - if (r < 0) + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&hdmi.pdev->dev); return r; + } return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/omap2/omapfb/dss/venc.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/omap2/omapfb/dss/venc.c @@ -348,8 +348,11 @@ DSSDBG("venc_runtime_get\n"); r = pm_runtime_get_sync(&venc.pdev->dev); - WARN_ON(r < 0); - return r < 0 ? r : 0; + if (WARN_ON(r < 0)) { + pm_runtime_put_sync(&venc.pdev->dev); + return r; + } + return 0; } static void venc_runtime_put(void) --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/ps3fb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/ps3fb.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -824,12 +825,12 @@ var = info->var; fb_videomode_to_var(&var, vmode); console_lock(); - info->flags |= FBINFO_MISC_USEREVENT; /* Force, in case only special bits changed */ var.activate |= FB_ACTIVATE_FORCE; par->new_mode_id = val; retval = fb_set_var(info, &var); - info->flags &= ~FBINFO_MISC_USEREVENT; + if (!retval) + fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL); console_unlock(); } break; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/pvr2fb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/pvr2fb.c @@ -1016,6 +1016,8 @@ if (!options || !*options) return 0; + cable_arg[0] = output_arg[0] = 0; + while ((this_opt = strsep(&options, ","))) { if (!*this_opt) continue; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/pxafb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/pxafb.c @@ -2417,8 +2417,8 @@ free_pages_exact(fbi->video_mem, fbi->video_mem_size); - dma_free_wc(&dev->dev, fbi->dma_buff_size, fbi->dma_buff, - fbi->dma_buff_phys); + dma_free_coherent(&dev->dev, fbi->dma_buff_size, fbi->dma_buff, + fbi->dma_buff_phys); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/savage/savagefb_driver.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/savage/savagefb_driver.c @@ -2157,6 +2157,8 @@ info->flags |= FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_IMAGEBLIT; + else + kfree(info->pixmap.addr); } #endif return err; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/sis/init.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/sis/init.c @@ -2428,6 +2428,11 @@ i = 0; + if (SiS_Pr->ChipType == SIS_730) + queuedata = &FQBQData730[0]; + else + queuedata = &FQBQData[0]; + if(ModeNo > 0x13) { /* Get VCLK */ @@ -2445,12 +2450,6 @@ /* Get half colordepth */ colorth = colortharray[(SiS_Pr->SiS_ModeType - ModeEGA)]; - if(SiS_Pr->ChipType == SIS_730) { - queuedata = &FQBQData730[0]; - } else { - queuedata = &FQBQData[0]; - } - do { templ = SiS_CalcDelay2(SiS_Pr, queuedata[i]) * VCLK * colorth; --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/sm712fb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/sm712fb.c @@ -1429,6 +1429,8 @@ static void smtc_unmap_smem(struct smtcfb_info *sfb) { if (sfb && sfb->fb->screen_base) { + if (sfb->chip_id == 0x720) + sfb->fb->screen_base -= 0x00200000; iounmap(sfb->fb->screen_base); sfb->fb->screen_base = NULL; } --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/udlfb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/udlfb.c @@ -1017,6 +1017,7 @@ } vfree(dlfb->backing_buffer); kfree(dlfb->edid); + dlfb_free_urb_list(dlfb); usb_put_dev(dlfb->udev); kfree(dlfb); --- linux-riscv-5.8-5.8.0.orig/drivers/video/fbdev/vga16fb.c +++ linux-riscv-5.8-5.8.0/drivers/video/fbdev/vga16fb.c @@ -243,7 +243,7 @@ } static void vga16fb_clock_chip(struct vga16fb_par *par, - unsigned int pixclock, + unsigned int *pixclock, const struct fb_info *info, int mul, int div) { @@ -259,14 +259,14 @@ { 0 /* bad */, 0x00, 0x00}}; int err; - pixclock = (pixclock * mul) / div; + *pixclock = (*pixclock * mul) / div; best = vgaclocks; - err = pixclock - best->pixclock; + err = *pixclock - best->pixclock; if (err < 0) err = -err; for (ptr = vgaclocks + 1; ptr->pixclock; ptr++) { int tmp; - tmp = pixclock - ptr->pixclock; + tmp = *pixclock - ptr->pixclock; if (tmp < 0) tmp = -tmp; if (tmp < err) { err = tmp; @@ -275,7 +275,7 @@ } par->misc |= best->misc; par->clkdiv = best->seq_clock_mode; - pixclock = (best->pixclock * div) / mul; + *pixclock = (best->pixclock * div) / mul; } #define FAIL(X) return -EINVAL @@ -497,10 +497,10 @@ if (mode & MODE_8BPP) /* pixel clock == vga clock / 2 */ - vga16fb_clock_chip(par, var->pixclock, info, 1, 2); + vga16fb_clock_chip(par, &var->pixclock, info, 1, 2); else /* pixel clock == vga clock */ - vga16fb_clock_chip(par, var->pixclock, info, 1, 1); + vga16fb_clock_chip(par, &var->pixclock, info, 1, 1); var->red.offset = var->green.offset = var->blue.offset = var->transp.offset = 0; @@ -1121,7 +1121,7 @@ char oldop = setop(0); char oldsr = setsr(0); char oldmask = selectmask(); - const char *cdat = image->data; + const unsigned char *cdat = image->data; u32 dx = image->dx; char __iomem *where; int y; --- linux-riscv-5.8-5.8.0.orig/drivers/virt/fsl_hypervisor.c +++ linux-riscv-5.8-5.8.0/drivers/virt/fsl_hypervisor.c @@ -157,7 +157,7 @@ unsigned int i; long ret = 0; - int num_pinned; /* return value from get_user_pages() */ + int num_pinned = 0; /* return value from get_user_pages_fast() */ phys_addr_t remote_paddr; /* The next address in the remote buffer */ uint32_t count; /* The number of bytes left to copy */ @@ -174,7 +174,7 @@ return -EINVAL; /* - * The array of pages returned by get_user_pages() covers only + * The array of pages returned by get_user_pages_fast() covers only * page-aligned memory. Since the user buffer is probably not * page-aligned, we need to handle the discrepancy. * @@ -224,7 +224,7 @@ /* * 'pages' is an array of struct page pointers that's initialized by - * get_user_pages(). + * get_user_pages_fast(). */ pages = kcalloc(num_pages, sizeof(struct page *), GFP_KERNEL); if (!pages) { @@ -241,7 +241,7 @@ if (!sg_list_unaligned) { pr_debug("fsl-hv: could not allocate S/G list\n"); ret = -ENOMEM; - goto exit; + goto free_pages; } sg_list = PTR_ALIGN(sg_list_unaligned, sizeof(struct fh_sg_list)); @@ -250,7 +250,6 @@ num_pages, param.source != -1 ? FOLL_WRITE : 0, pages); if (num_pinned != num_pages) { - /* get_user_pages() failed */ pr_debug("fsl-hv: could not lock source buffer\n"); ret = (num_pinned < 0) ? num_pinned : -EFAULT; goto exit; @@ -292,13 +291,13 @@ virt_to_phys(sg_list), num_pages); exit: - if (pages) { - for (i = 0; i < num_pages; i++) - if (pages[i]) - put_page(pages[i]); + if (pages && (num_pinned > 0)) { + for (i = 0; i < num_pinned; i++) + put_page(pages[i]); } kfree(sg_list_unaligned); +free_pages: kfree(pages); if (!ret) --- linux-riscv-5.8-5.8.0.orig/drivers/virt/vboxguest/vboxguest_utils.c +++ linux-riscv-5.8-5.8.0/drivers/virt/vboxguest/vboxguest_utils.c @@ -467,7 +467,7 @@ * Cancellation fun. */ static int vbg_hgcm_do_call(struct vbg_dev *gdev, struct vmmdev_hgcm_call *call, - u32 timeout_ms, bool *leak_it) + u32 timeout_ms, bool interruptible, bool *leak_it) { int rc, cancel_rc, ret; long timeout; @@ -494,10 +494,15 @@ else timeout = msecs_to_jiffies(timeout_ms); - timeout = wait_event_interruptible_timeout( - gdev->hgcm_wq, - hgcm_req_done(gdev, &call->header), - timeout); + if (interruptible) { + timeout = wait_event_interruptible_timeout(gdev->hgcm_wq, + hgcm_req_done(gdev, &call->header), + timeout); + } else { + timeout = wait_event_timeout(gdev->hgcm_wq, + hgcm_req_done(gdev, &call->header), + timeout); + } /* timeout > 0 means hgcm_req_done has returned true, so success */ if (timeout > 0) @@ -630,7 +635,8 @@ hgcm_call_init_call(call, client_id, function, parms, parm_count, bounce_bufs); - ret = vbg_hgcm_do_call(gdev, call, timeout_ms, &leak_it); + ret = vbg_hgcm_do_call(gdev, call, timeout_ms, + requestor & VMMDEV_REQUESTOR_USERMODE, &leak_it); if (ret == 0) { *vbox_status = call->header.result; ret = hgcm_call_copy_back_result(call, parms, parm_count, --- linux-riscv-5.8-5.8.0.orig/drivers/virtio/virtio_ring.c +++ linux-riscv-5.8-5.8.0/drivers/virtio/virtio_ring.c @@ -1608,7 +1608,6 @@ vq->num_added = 0; vq->packed_ring = true; vq->use_dma_api = vring_use_dma_api(vdev); - list_add_tail(&vq->vq.list, &vdev->vqs); #ifdef DEBUG vq->in_use = false; vq->last_add_time_valid = false; @@ -1669,6 +1668,7 @@ cpu_to_le16(vq->packed.event_flags_shadow); } + list_add_tail(&vq->vq.list, &vdev->vqs); return &vq->vq; err_desc_extra: @@ -1676,9 +1676,9 @@ err_desc_state: kfree(vq); err_vq: - vring_free_queue(vdev, event_size_in_bytes, device, ring_dma_addr); + vring_free_queue(vdev, event_size_in_bytes, device, device_event_dma_addr); err_device: - vring_free_queue(vdev, event_size_in_bytes, driver, ring_dma_addr); + vring_free_queue(vdev, event_size_in_bytes, driver, driver_event_dma_addr); err_driver: vring_free_queue(vdev, ring_size_in_bytes, ring, ring_dma_addr); err_ring: @@ -1960,6 +1960,9 @@ { struct vring_virtqueue *vq = to_vvq(_vq); + if (unlikely(vq->broken)) + return false; + virtio_mb(vq->weak_barriers); return vq->packed_ring ? virtqueue_poll_packed(_vq, last_used_idx) : virtqueue_poll_split(_vq, last_used_idx); @@ -2082,7 +2085,6 @@ vq->last_used_idx = 0; vq->num_added = 0; vq->use_dma_api = vring_use_dma_api(vdev); - list_add_tail(&vq->vq.list, &vdev->vqs); #ifdef DEBUG vq->in_use = false; vq->last_add_time_valid = false; @@ -2124,6 +2126,7 @@ memset(vq->split.desc_state, 0, vring.num * sizeof(struct vring_desc_state_split)); + list_add_tail(&vq->vq.list, &vdev->vqs); return &vq->vq; } EXPORT_SYMBOL_GPL(__vring_new_virtqueue); --- linux-riscv-5.8-5.8.0.orig/drivers/w1/masters/mxc_w1.c +++ linux-riscv-5.8-5.8.0/drivers/w1/masters/mxc_w1.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include @@ -40,12 +40,12 @@ static u8 mxc_w1_ds2_reset_bus(void *data) { struct mxc_w1_device *dev = data; - unsigned long timeout; + ktime_t timeout; writeb(MXC_W1_CONTROL_RPP, dev->regs + MXC_W1_CONTROL); /* Wait for reset sequence 511+512us, use 1500us for sure */ - timeout = jiffies + usecs_to_jiffies(1500); + timeout = ktime_add_us(ktime_get(), 1500); udelay(511 + 512); @@ -55,7 +55,7 @@ /* PST bit is valid after the RPP bit is self-cleared */ if (!(ctrl & MXC_W1_CONTROL_RPP)) return !(ctrl & MXC_W1_CONTROL_PST); - } while (time_is_after_jiffies(timeout)); + } while (ktime_before(ktime_get(), timeout)); return 1; } @@ -68,12 +68,12 @@ static u8 mxc_w1_ds2_touch_bit(void *data, u8 bit) { struct mxc_w1_device *dev = data; - unsigned long timeout; + ktime_t timeout; writeb(MXC_W1_CONTROL_WR(bit), dev->regs + MXC_W1_CONTROL); /* Wait for read/write bit (60us, Max 120us), use 200us for sure */ - timeout = jiffies + usecs_to_jiffies(200); + timeout = ktime_add_us(ktime_get(), 200); udelay(60); @@ -83,7 +83,7 @@ /* RDST bit is valid after the WR1/RD bit is self-cleared */ if (!(ctrl & MXC_W1_CONTROL_WR(bit))) return !!(ctrl & MXC_W1_CONTROL_RDST); - } while (time_is_after_jiffies(timeout)); + } while (ktime_before(ktime_get(), timeout)); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/Kconfig +++ linux-riscv-5.8-5.8.0/drivers/watchdog/Kconfig @@ -375,6 +375,7 @@ config ARMADA_37XX_WATCHDOG tristate "Armada 37xx watchdog" depends on ARCH_MVEBU || COMPILE_TEST + depends on HAS_IOMEM select MFD_SYSCON select WATCHDOG_CORE help @@ -626,7 +627,7 @@ config COH901327_WATCHDOG bool "ST-Ericsson COH 901 327 watchdog" - depends on ARCH_U300 || (ARM && COMPILE_TEST) + depends on ARCH_U300 || (ARM && COMMON_CLK && COMPILE_TEST) default y if MACH_U300 select WATCHDOG_CORE help @@ -784,6 +785,7 @@ config SIRFSOC_WATCHDOG tristate "SiRFSOC watchdog" + depends on HAS_IOMEM depends on ARCH_SIRF || COMPILE_TEST select WATCHDOG_CORE default y --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/f71808e_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/f71808e_wdt.c @@ -690,9 +690,9 @@ * into the module have been registered yet. */ watchdog.sioaddr = sioaddr; - watchdog.ident.options = WDIOC_SETTIMEOUT - | WDIOF_MAGICCLOSE - | WDIOF_KEEPALIVEPING; + watchdog.ident.options = WDIOF_MAGICCLOSE + | WDIOF_KEEPALIVEPING + | WDIOF_CARDRESET; snprintf(watchdog.ident.identity, sizeof(watchdog.ident.identity), "%s watchdog", @@ -706,6 +706,13 @@ wdt_conf = superio_inb(sioaddr, F71808FG_REG_WDT_CONF); watchdog.caused_reboot = wdt_conf & BIT(F71808FG_FLAG_WDTMOUT_STS); + /* + * We don't want WDTMOUT_STS to stick around till regular reboot. + * Write 1 to the bit to clear it to zero. + */ + superio_outb(sioaddr, F71808FG_REG_WDT_CONF, + wdt_conf | BIT(F71808FG_FLAG_WDTMOUT_STS)); + superio_exit(sioaddr); err = watchdog_set_timeout(timeout); --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/intel-mid_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/intel-mid_wdt.c @@ -154,6 +154,10 @@ watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT); watchdog_set_drvdata(wdt_dev, mid); + mid->scu = devm_intel_scu_ipc_dev_get(dev); + if (!mid->scu) + return -EPROBE_DEFER; + ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq, IRQF_SHARED | IRQF_NO_SUSPEND, "watchdog", wdt_dev); @@ -162,10 +166,6 @@ return ret; } - mid->scu = devm_intel_scu_ipc_dev_get(dev); - if (!mid->scu) - return -EPROBE_DEFER; - /* * The firmware followed by U-Boot leaves the watchdog running * with the default threshold which may vary. When we get here --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/mei_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/mei_wdt.c @@ -382,6 +382,7 @@ watchdog_set_drvdata(&wdt->wdd, wdt); watchdog_stop_on_reboot(&wdt->wdd); + watchdog_stop_on_unregister(&wdt->wdd); ret = watchdog_register_device(&wdt->wdd); if (ret) --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/qcom-wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/qcom-wdt.c @@ -22,7 +22,6 @@ }; #define QCOM_WDT_ENABLE BIT(0) -#define QCOM_WDT_ENABLE_IRQ BIT(1) static const u32 reg_offset_data_apcs_tmr[] = { [WDT_RST] = 0x38, @@ -63,16 +62,6 @@ return container_of(wdd, struct qcom_wdt, wdd); } -static inline int qcom_get_enable(struct watchdog_device *wdd) -{ - int enable = QCOM_WDT_ENABLE; - - if (wdd->pretimeout) - enable |= QCOM_WDT_ENABLE_IRQ; - - return enable; -} - static irqreturn_t qcom_wdt_isr(int irq, void *arg) { struct watchdog_device *wdd = arg; @@ -91,7 +80,7 @@ writel(1, wdt_addr(wdt, WDT_RST)); writel(bark * wdt->rate, wdt_addr(wdt, WDT_BARK_TIME)); writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BITE_TIME)); - writel(qcom_get_enable(wdd), wdt_addr(wdt, WDT_EN)); + writel(QCOM_WDT_ENABLE, wdt_addr(wdt, WDT_EN)); return 0; } @@ -148,7 +137,7 @@ */ wmb(); - msleep(150); + mdelay(150); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/rdc321x_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/rdc321x_wdt.c @@ -231,6 +231,8 @@ rdc321x_wdt_device.sb_pdev = pdata->sb_pdev; rdc321x_wdt_device.base_reg = r->start; + rdc321x_wdt_device.queue = 0; + rdc321x_wdt_device.default_ticks = ticks; err = misc_register(&rdc321x_wdt_misc); if (err < 0) { @@ -245,14 +247,11 @@ rdc321x_wdt_device.base_reg, RDC_WDT_RST); init_completion(&rdc321x_wdt_device.stop); - rdc321x_wdt_device.queue = 0; clear_bit(0, &rdc321x_wdt_device.inuse); timer_setup(&rdc321x_wdt_device.timer, rdc321x_wdt_trigger, 0); - rdc321x_wdt_device.default_ticks = ticks; - dev_info(&pdev->dev, "watchdog init success\n"); return 0; --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/rti_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/rti_wdt.c @@ -172,8 +172,10 @@ pm_runtime_enable(dev); ret = pm_runtime_get_sync(dev); if (ret) { - if (ret != -EPROBE_DEFER) + if (ret != -EPROBE_DEFER) { + pm_runtime_put_noidle(dev); dev_err(&pdev->dev, "runtime pm failed\n"); + } return ret; } @@ -211,6 +213,7 @@ err_iomap: pm_runtime_put_sync(&pdev->dev); + pm_runtime_disable(&pdev->dev); return ret; } @@ -221,6 +224,7 @@ watchdog_unregister_device(&wdt->wdd); pm_runtime_put(&pdev->dev); + pm_runtime_disable(&pdev->dev); return 0; } --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/sp5100_tco.h +++ linux-riscv-5.8-5.8.0/drivers/watchdog/sp5100_tco.h @@ -70,7 +70,7 @@ #define EFCH_PM_DECODEEN_WDT_TMREN BIT(7) -#define EFCH_PM_DECODEEN3 0x00 +#define EFCH_PM_DECODEEN3 0x03 #define EFCH_PM_DECODEEN_SECOND_RES GENMASK(1, 0) #define EFCH_PM_WATCHDOG_DISABLE ((u8)GENMASK(3, 2)) --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/sprd_wdt.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/sprd_wdt.c @@ -108,18 +108,6 @@ u32 tmr_step = timeout * SPRD_WDT_CNT_STEP; u32 prtmr_step = pretimeout * SPRD_WDT_CNT_STEP; - sprd_wdt_unlock(wdt->base); - writel_relaxed((tmr_step >> SPRD_WDT_CNT_HIGH_SHIFT) & - SPRD_WDT_LOW_VALUE_MASK, wdt->base + SPRD_WDT_LOAD_HIGH); - writel_relaxed((tmr_step & SPRD_WDT_LOW_VALUE_MASK), - wdt->base + SPRD_WDT_LOAD_LOW); - writel_relaxed((prtmr_step >> SPRD_WDT_CNT_HIGH_SHIFT) & - SPRD_WDT_LOW_VALUE_MASK, - wdt->base + SPRD_WDT_IRQ_LOAD_HIGH); - writel_relaxed(prtmr_step & SPRD_WDT_LOW_VALUE_MASK, - wdt->base + SPRD_WDT_IRQ_LOAD_LOW); - sprd_wdt_lock(wdt->base); - /* * Waiting the load value operation done, * it needs two or three RTC clock cycles. @@ -134,6 +122,19 @@ if (delay_cnt >= SPRD_WDT_LOAD_TIMEOUT) return -EBUSY; + + sprd_wdt_unlock(wdt->base); + writel_relaxed((tmr_step >> SPRD_WDT_CNT_HIGH_SHIFT) & + SPRD_WDT_LOW_VALUE_MASK, wdt->base + SPRD_WDT_LOAD_HIGH); + writel_relaxed((tmr_step & SPRD_WDT_LOW_VALUE_MASK), + wdt->base + SPRD_WDT_LOAD_LOW); + writel_relaxed((prtmr_step >> SPRD_WDT_CNT_HIGH_SHIFT) & + SPRD_WDT_LOW_VALUE_MASK, + wdt->base + SPRD_WDT_IRQ_LOAD_HIGH); + writel_relaxed(prtmr_step & SPRD_WDT_LOW_VALUE_MASK, + wdt->base + SPRD_WDT_IRQ_LOAD_LOW); + sprd_wdt_lock(wdt->base); + return 0; } @@ -345,15 +346,10 @@ if (ret) return ret; - if (watchdog_active(&wdt->wdd)) { + if (watchdog_active(&wdt->wdd)) ret = sprd_wdt_start(&wdt->wdd); - if (ret) { - sprd_wdt_disable(wdt); - return ret; - } - } - return 0; + return ret; } static const struct dev_pm_ops sprd_wdt_pm_ops = { --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/watchdog_core.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/watchdog_core.c @@ -267,15 +267,19 @@ } if (test_bit(WDOG_STOP_ON_REBOOT, &wdd->status)) { - wdd->reboot_nb.notifier_call = watchdog_reboot_notifier; + if (!wdd->ops->stop) + pr_warn("watchdog%d: stop_on_reboot not supported\n", wdd->id); + else { + wdd->reboot_nb.notifier_call = watchdog_reboot_notifier; - ret = register_reboot_notifier(&wdd->reboot_nb); - if (ret) { - pr_err("watchdog%d: Cannot register reboot notifier (%d)\n", - wdd->id, ret); - watchdog_dev_unregister(wdd); - ida_simple_remove(&watchdog_ida, id); - return ret; + ret = register_reboot_notifier(&wdd->reboot_nb); + if (ret) { + pr_err("watchdog%d: Cannot register reboot notifier (%d)\n", + wdd->id, ret); + watchdog_dev_unregister(wdd); + ida_simple_remove(&watchdog_ida, id); + return ret; + } } } --- linux-riscv-5.8-5.8.0.orig/drivers/watchdog/watchdog_dev.c +++ linux-riscv-5.8-5.8.0/drivers/watchdog/watchdog_dev.c @@ -991,8 +991,19 @@ wd_data->wdd = wdd; wdd->wd_data = wd_data; - if (IS_ERR_OR_NULL(watchdog_kworker)) + if (IS_ERR_OR_NULL(watchdog_kworker)) { + kfree(wd_data); return -ENODEV; + } + + device_initialize(&wd_data->dev); + wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id); + wd_data->dev.class = &watchdog_class; + wd_data->dev.parent = wdd->parent; + wd_data->dev.groups = wdd->groups; + wd_data->dev.release = watchdog_core_data_release; + dev_set_drvdata(&wd_data->dev, wdd); + dev_set_name(&wd_data->dev, "watchdog%d", wdd->id); kthread_init_work(&wd_data->work, watchdog_ping_work); hrtimer_init(&wd_data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); @@ -1009,20 +1020,11 @@ pr_err("%s: a legacy watchdog module is probably present.\n", wdd->info->identity); old_wd_data = NULL; - kfree(wd_data); + put_device(&wd_data->dev); return err; } } - device_initialize(&wd_data->dev); - wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id); - wd_data->dev.class = &watchdog_class; - wd_data->dev.parent = wdd->parent; - wd_data->dev.groups = wdd->groups; - wd_data->dev.release = watchdog_core_data_release; - dev_set_drvdata(&wd_data->dev, wdd); - dev_set_name(&wd_data->dev, "watchdog%d", wdd->id); - /* Fill in the data structures */ cdev_init(&wd_data->cdev, &watchdog_fops); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/balloon.c +++ linux-riscv-5.8-5.8.0/drivers/xen/balloon.c @@ -568,11 +568,13 @@ if (xen_hotplug_unpopulated) { st = reserve_additional_memory(); if (st != BP_ECANCELED) { + int rc; + mutex_unlock(&balloon_mutex); - wait_event(balloon_wq, + rc = wait_event_interruptible(balloon_wq, !list_empty(&ballooned_pages)); mutex_lock(&balloon_mutex); - return 0; + return rc ? -ENOMEM : 0; } } @@ -630,6 +632,12 @@ out_undo: mutex_unlock(&balloon_mutex); free_xenballooned_pages(pgno, pages); + /* + * NB: free_xenballooned_pages will only subtract pgno pages, but since + * target_unpopulated is incremented with nr_pages at the start we need + * to remove the remaining ones also, or accounting will be screwed. + */ + balloon_stats.target_unpopulated -= nr_pages - pgno; return ret; } EXPORT_SYMBOL(alloc_xenballooned_pages); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/events/events_2l.c +++ linux-riscv-5.8-5.8.0/drivers/xen/events/events_2l.c @@ -47,6 +47,11 @@ return EVTCHN_2L_NR_CHANNELS; } +static void evtchn_2l_remove(evtchn_port_t evtchn, unsigned int cpu) +{ + clear_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); +} + static void evtchn_2l_bind_to_cpu(struct irq_info *info, unsigned cpu) { clear_bit(info->evtchn, BM(per_cpu(cpu_evtchn_mask, info->cpu))); @@ -71,12 +76,6 @@ return sync_test_bit(port, BM(&s->evtchn_pending[0])); } -static bool evtchn_2l_test_and_set_mask(evtchn_port_t port) -{ - struct shared_info *s = HYPERVISOR_shared_info; - return sync_test_and_set_bit(port, BM(&s->evtchn_mask[0])); -} - static void evtchn_2l_mask(evtchn_port_t port) { struct shared_info *s = HYPERVISOR_shared_info; @@ -91,6 +90,8 @@ BUG_ON(!irqs_disabled()); + smp_wmb(); /* All writes before unmask must be visible. */ + if (unlikely((cpu != cpu_from_evtchn(port)))) do_hypercall = 1; else { @@ -159,7 +160,7 @@ * a bitset of words which contain pending event bits. The second * level is a bitset of pending events themselves. */ -static void evtchn_2l_handle_events(unsigned cpu) +static void evtchn_2l_handle_events(unsigned cpu, struct evtchn_loop_ctrl *ctrl) { int irq; xen_ulong_t pending_words; @@ -240,10 +241,7 @@ /* Process port. */ port = (word_idx * BITS_PER_EVTCHN_WORD) + bit_idx; - irq = get_evtchn_to_irq(port); - - if (irq != -1) - generic_handle_irq(irq); + handle_irq_for_port(port, ctrl); bit_idx = (bit_idx + 1) % BITS_PER_EVTCHN_WORD; @@ -355,18 +353,27 @@ EVTCHN_2L_NR_CHANNELS/BITS_PER_EVTCHN_WORD); } +static int evtchn_2l_percpu_deinit(unsigned int cpu) +{ + memset(per_cpu(cpu_evtchn_mask, cpu), 0, sizeof(xen_ulong_t) * + EVTCHN_2L_NR_CHANNELS/BITS_PER_EVTCHN_WORD); + + return 0; +} + static const struct evtchn_ops evtchn_ops_2l = { .max_channels = evtchn_2l_max_channels, .nr_channels = evtchn_2l_max_channels, + .remove = evtchn_2l_remove, .bind_to_cpu = evtchn_2l_bind_to_cpu, .clear_pending = evtchn_2l_clear_pending, .set_pending = evtchn_2l_set_pending, .is_pending = evtchn_2l_is_pending, - .test_and_set_mask = evtchn_2l_test_and_set_mask, .mask = evtchn_2l_mask, .unmask = evtchn_2l_unmask, .handle_events = evtchn_2l_handle_events, .resume = evtchn_2l_resume, + .percpu_deinit = evtchn_2l_percpu_deinit, }; void __init xen_evtchn_2l_init(void) --- linux-riscv-5.8-5.8.0.orig/drivers/xen/events/events_base.c +++ linux-riscv-5.8-5.8.0/drivers/xen/events/events_base.c @@ -33,6 +33,10 @@ #include #include #include +#include +#include +#include +#include #ifdef CONFIG_X86 #include @@ -63,6 +67,15 @@ #include "events_internal.h" +#undef MODULE_PARAM_PREFIX +#define MODULE_PARAM_PREFIX "xen." + +static uint __read_mostly event_loop_timeout = 2; +module_param(event_loop_timeout, uint, 0644); + +static uint __read_mostly event_eoi_delay = 10; +module_param(event_eoi_delay, uint, 0644); + const struct evtchn_ops *evtchn_ops; /* @@ -71,6 +84,25 @@ */ static DEFINE_MUTEX(irq_mapping_update_lock); +/* + * Lock protecting event handling loop against removing event channels. + * Adding of event channels is no issue as the associated IRQ becomes active + * only after everything is setup (before request_[threaded_]irq() the handler + * can't be entered for an event, as the event channel will be unmasked only + * then). + */ +static DEFINE_RWLOCK(evtchn_rwlock); + +/* + * Lock hierarchy: + * + * irq_mapping_update_lock + * evtchn_rwlock + * IRQ-desc lock + * percpu eoi_list_lock + * irq_info->lock + */ + static LIST_HEAD(xen_irq_list_head); /* IRQ <-> VIRQ mapping. */ @@ -92,18 +124,23 @@ /* Xen will never allocate port zero for any purpose. */ #define VALID_EVTCHN(chn) ((chn) != 0) +static struct irq_info *legacy_info_ptrs[NR_IRQS_LEGACY]; + static struct irq_chip xen_dynamic_chip; +static struct irq_chip xen_lateeoi_chip; static struct irq_chip xen_percpu_chip; static struct irq_chip xen_pirq_chip; static void enable_dynirq(struct irq_data *data); static void disable_dynirq(struct irq_data *data); +static DEFINE_PER_CPU(unsigned int, irq_epoch); + static void clear_evtchn_to_irq_row(unsigned row) { unsigned col; for (col = 0; col < EVTCHN_PER_ROW; col++) - evtchn_to_irq[row][col] = -1; + WRITE_ONCE(evtchn_to_irq[row][col], -1); } static void clear_evtchn_to_irq_all(void) @@ -140,7 +177,7 @@ clear_evtchn_to_irq_row(row); } - evtchn_to_irq[row][col] = irq; + WRITE_ONCE(evtchn_to_irq[row][col], irq); return 0; } @@ -150,13 +187,24 @@ return -1; if (evtchn_to_irq[EVTCHN_ROW(evtchn)] == NULL) return -1; - return evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]; + return READ_ONCE(evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]); } /* Get info for IRQ */ struct irq_info *info_for_irq(unsigned irq) { - return irq_get_handler_data(irq); + if (irq < nr_legacy_irqs()) + return legacy_info_ptrs[irq]; + else + return irq_get_chip_data(irq); +} + +static void set_info_for_irq(unsigned int irq, struct irq_info *info) +{ + if (irq < nr_legacy_irqs()) + legacy_info_ptrs[irq] = info; + else + irq_set_chip_data(irq, info); } /* Constructors for packed IRQ information. */ @@ -174,6 +222,8 @@ info->irq = irq; info->evtchn = evtchn; info->cpu = cpu; + info->mask_reason = EVT_MASK_REASON_EXPLICIT; + raw_spin_lock_init(&info->lock); ret = set_evtchn_to_irq(evtchn, irq); if (ret < 0) @@ -240,6 +290,7 @@ static void xen_irq_info_cleanup(struct irq_info *info) { set_evtchn_to_irq(info->evtchn, -1); + xen_evtchn_port_remove(info->evtchn, info->cpu); info->evtchn = 0; } @@ -248,10 +299,14 @@ */ evtchn_port_t evtchn_from_irq(unsigned irq) { - if (WARN(irq >= nr_irqs, "Invalid irq %d!\n", irq)) + const struct irq_info *info = NULL; + + if (likely(irq < nr_irqs)) + info = info_for_irq(irq); + if (!info) return 0; - return info_for_irq(irq)->evtchn; + return info->evtchn; } unsigned int irq_from_evtchn(evtchn_port_t evtchn) @@ -316,6 +371,34 @@ return ret; } +static void do_mask(struct irq_info *info, u8 reason) +{ + unsigned long flags; + + raw_spin_lock_irqsave(&info->lock, flags); + + if (!info->mask_reason) + mask_evtchn(info->evtchn); + + info->mask_reason |= reason; + + raw_spin_unlock_irqrestore(&info->lock, flags); +} + +static void do_unmask(struct irq_info *info, u8 reason) +{ + unsigned long flags; + + raw_spin_lock_irqsave(&info->lock, flags); + + info->mask_reason &= ~reason; + + if (!info->mask_reason) + unmask_evtchn(info->evtchn); + + raw_spin_unlock_irqrestore(&info->lock, flags); +} + #ifdef CONFIG_X86 static bool pirq_check_eoi_map(unsigned irq) { @@ -362,9 +445,157 @@ } EXPORT_SYMBOL_GPL(notify_remote_via_irq); +struct lateeoi_work { + struct delayed_work delayed; + spinlock_t eoi_list_lock; + struct list_head eoi_list; +}; + +static DEFINE_PER_CPU(struct lateeoi_work, lateeoi); + +static void lateeoi_list_del(struct irq_info *info) +{ + struct lateeoi_work *eoi = &per_cpu(lateeoi, info->eoi_cpu); + unsigned long flags; + + spin_lock_irqsave(&eoi->eoi_list_lock, flags); + list_del_init(&info->eoi_list); + spin_unlock_irqrestore(&eoi->eoi_list_lock, flags); +} + +static void lateeoi_list_add(struct irq_info *info) +{ + struct lateeoi_work *eoi = &per_cpu(lateeoi, info->eoi_cpu); + struct irq_info *elem; + u64 now = get_jiffies_64(); + unsigned long delay; + unsigned long flags; + + if (now < info->eoi_time) + delay = info->eoi_time - now; + else + delay = 1; + + spin_lock_irqsave(&eoi->eoi_list_lock, flags); + + if (list_empty(&eoi->eoi_list)) { + list_add(&info->eoi_list, &eoi->eoi_list); + mod_delayed_work_on(info->eoi_cpu, system_wq, + &eoi->delayed, delay); + } else { + list_for_each_entry_reverse(elem, &eoi->eoi_list, eoi_list) { + if (elem->eoi_time <= info->eoi_time) + break; + } + list_add(&info->eoi_list, &elem->eoi_list); + } + + spin_unlock_irqrestore(&eoi->eoi_list_lock, flags); +} + +static void xen_irq_lateeoi_locked(struct irq_info *info, bool spurious) +{ + evtchn_port_t evtchn; + unsigned int cpu; + unsigned int delay = 0; + + evtchn = info->evtchn; + if (!VALID_EVTCHN(evtchn) || !list_empty(&info->eoi_list)) + return; + + if (spurious) { + if ((1 << info->spurious_cnt) < (HZ << 2)) + info->spurious_cnt++; + if (info->spurious_cnt > 1) { + delay = 1 << (info->spurious_cnt - 2); + if (delay > HZ) + delay = HZ; + if (!info->eoi_time) + info->eoi_cpu = smp_processor_id(); + info->eoi_time = get_jiffies_64() + delay; + } + } else { + info->spurious_cnt = 0; + } + + cpu = info->eoi_cpu; + if (info->eoi_time && + (info->irq_epoch == per_cpu(irq_epoch, cpu) || delay)) { + lateeoi_list_add(info); + return; + } + + info->eoi_time = 0; + do_unmask(info, EVT_MASK_REASON_EOI_PENDING); +} + +static void xen_irq_lateeoi_worker(struct work_struct *work) +{ + struct lateeoi_work *eoi; + struct irq_info *info; + u64 now = get_jiffies_64(); + unsigned long flags; + + eoi = container_of(to_delayed_work(work), struct lateeoi_work, delayed); + + read_lock_irqsave(&evtchn_rwlock, flags); + + while (true) { + spin_lock(&eoi->eoi_list_lock); + + info = list_first_entry_or_null(&eoi->eoi_list, struct irq_info, + eoi_list); + + if (info == NULL || now < info->eoi_time) { + spin_unlock(&eoi->eoi_list_lock); + break; + } + + list_del_init(&info->eoi_list); + + spin_unlock(&eoi->eoi_list_lock); + + info->eoi_time = 0; + + xen_irq_lateeoi_locked(info, false); + } + + if (info) + mod_delayed_work_on(info->eoi_cpu, system_wq, + &eoi->delayed, info->eoi_time - now); + + read_unlock_irqrestore(&evtchn_rwlock, flags); +} + +static void xen_cpu_init_eoi(unsigned int cpu) +{ + struct lateeoi_work *eoi = &per_cpu(lateeoi, cpu); + + INIT_DELAYED_WORK(&eoi->delayed, xen_irq_lateeoi_worker); + spin_lock_init(&eoi->eoi_list_lock); + INIT_LIST_HEAD(&eoi->eoi_list); +} + +void xen_irq_lateeoi(unsigned int irq, unsigned int eoi_flags) +{ + struct irq_info *info; + unsigned long flags; + + read_lock_irqsave(&evtchn_rwlock, flags); + + info = info_for_irq(irq); + + if (info) + xen_irq_lateeoi_locked(info, eoi_flags & XEN_EOI_FLAG_SPURIOUS); + + read_unlock_irqrestore(&evtchn_rwlock, flags); +} +EXPORT_SYMBOL_GPL(xen_irq_lateeoi); + static void xen_irq_init(unsigned irq) { struct irq_info *info; + #ifdef CONFIG_SMP /* By default all event channels notify CPU#0. */ cpumask_copy(irq_get_affinity_mask(irq), cpumask_of(0)); @@ -377,8 +608,9 @@ info->type = IRQT_UNBOUND; info->refcnt = -1; - irq_set_handler_data(irq, info); + set_info_for_irq(irq, info); + INIT_LIST_HEAD(&info->eoi_list); list_add_tail(&info->list, &xen_irq_list_head); } @@ -426,17 +658,25 @@ static void xen_free_irq(unsigned irq) { - struct irq_info *info = irq_get_handler_data(irq); + struct irq_info *info = info_for_irq(irq); + unsigned long flags; if (WARN_ON(!info)) return; + write_lock_irqsave(&evtchn_rwlock, flags); + + if (!list_empty(&info->eoi_list)) + lateeoi_list_del(info); + list_del(&info->list); - irq_set_handler_data(irq, NULL); + set_info_for_irq(irq, NULL); WARN_ON(info->refcnt > 0); + write_unlock_irqrestore(&evtchn_rwlock, flags); + kfree(info); /* Legacy IRQ descriptors are managed by the arch. */ @@ -455,6 +695,12 @@ BUG(); } +static void event_handler_exit(struct irq_info *info) +{ + smp_store_release(&info->is_active, 0); + clear_evtchn(info->evtchn); +} + static void pirq_query_unmask(int irq) { struct physdev_irq_status_query irq_status; @@ -473,7 +719,8 @@ static void eoi_pirq(struct irq_data *data) { - evtchn_port_t evtchn = evtchn_from_irq(data->irq); + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; struct physdev_eoi eoi = { .irq = pirq_from_irq(data->irq) }; int rc = 0; @@ -482,16 +729,15 @@ if (unlikely(irqd_is_setaffinity_pending(data)) && likely(!irqd_irq_disabled(data))) { - int masked = test_and_set_mask(evtchn); + do_mask(info, EVT_MASK_REASON_TEMPORARY); - clear_evtchn(evtchn); + event_handler_exit(info); irq_move_masked_irq(data); - if (!masked) - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_TEMPORARY); } else - clear_evtchn(evtchn); + event_handler_exit(info); if (pirq_needs_eoi(data->irq)) { rc = HYPERVISOR_physdev_op(PHYSDEVOP_eoi, &eoi); @@ -542,7 +788,8 @@ goto err; out: - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_EXPLICIT); + eoi_pirq(irq_get_irq_data(irq)); return 0; @@ -569,7 +816,7 @@ if (!VALID_EVTCHN(evtchn)) return; - mask_evtchn(evtchn); + do_mask(info, EVT_MASK_REASON_EXPLICIT); xen_evtchn_close(evtchn); xen_irq_info_cleanup(info); } @@ -603,7 +850,7 @@ static void __unbind_from_irq(unsigned int irq) { evtchn_port_t evtchn = evtchn_from_irq(irq); - struct irq_info *info = irq_get_handler_data(irq); + struct irq_info *info = info_for_irq(irq); if (info->refcnt > 0) { info->refcnt--; @@ -828,7 +1075,7 @@ } EXPORT_SYMBOL_GPL(xen_pirq_from_irq); -int bind_evtchn_to_irq(evtchn_port_t evtchn) +static int bind_evtchn_to_irq_chip(evtchn_port_t evtchn, struct irq_chip *chip) { int irq; int ret; @@ -845,7 +1092,7 @@ if (irq < 0) goto out; - irq_set_chip_and_handler_name(irq, &xen_dynamic_chip, + irq_set_chip_and_handler_name(irq, chip, handle_edge_irq, "event"); ret = xen_irq_info_evtchn_setup(irq, evtchn); @@ -866,8 +1113,19 @@ return irq; } + +int bind_evtchn_to_irq(evtchn_port_t evtchn) +{ + return bind_evtchn_to_irq_chip(evtchn, &xen_dynamic_chip); +} EXPORT_SYMBOL_GPL(bind_evtchn_to_irq); +int bind_evtchn_to_irq_lateeoi(evtchn_port_t evtchn) +{ + return bind_evtchn_to_irq_chip(evtchn, &xen_lateeoi_chip); +} +EXPORT_SYMBOL_GPL(bind_evtchn_to_irq_lateeoi); + static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu) { struct evtchn_bind_ipi bind_ipi; @@ -909,8 +1167,9 @@ return irq; } -int bind_interdomain_evtchn_to_irq(unsigned int remote_domain, - evtchn_port_t remote_port) +static int bind_interdomain_evtchn_to_irq_chip(unsigned int remote_domain, + evtchn_port_t remote_port, + struct irq_chip *chip) { struct evtchn_bind_interdomain bind_interdomain; int err; @@ -921,10 +1180,26 @@ err = HYPERVISOR_event_channel_op(EVTCHNOP_bind_interdomain, &bind_interdomain); - return err ? : bind_evtchn_to_irq(bind_interdomain.local_port); + return err ? : bind_evtchn_to_irq_chip(bind_interdomain.local_port, + chip); +} + +int bind_interdomain_evtchn_to_irq(unsigned int remote_domain, + evtchn_port_t remote_port) +{ + return bind_interdomain_evtchn_to_irq_chip(remote_domain, remote_port, + &xen_dynamic_chip); } EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irq); +int bind_interdomain_evtchn_to_irq_lateeoi(unsigned int remote_domain, + evtchn_port_t remote_port) +{ + return bind_interdomain_evtchn_to_irq_chip(remote_domain, remote_port, + &xen_lateeoi_chip); +} +EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irq_lateeoi); + static int find_virq(unsigned int virq, unsigned int cpu, evtchn_port_t *evtchn) { struct evtchn_status status; @@ -1021,14 +1296,15 @@ mutex_unlock(&irq_mapping_update_lock); } -int bind_evtchn_to_irqhandler(evtchn_port_t evtchn, - irq_handler_t handler, - unsigned long irqflags, - const char *devname, void *dev_id) +static int bind_evtchn_to_irqhandler_chip(evtchn_port_t evtchn, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, void *dev_id, + struct irq_chip *chip) { int irq, retval; - irq = bind_evtchn_to_irq(evtchn); + irq = bind_evtchn_to_irq_chip(evtchn, chip); if (irq < 0) return irq; retval = request_irq(irq, handler, irqflags, devname, dev_id); @@ -1039,18 +1315,38 @@ return irq; } + +int bind_evtchn_to_irqhandler(evtchn_port_t evtchn, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, void *dev_id) +{ + return bind_evtchn_to_irqhandler_chip(evtchn, handler, irqflags, + devname, dev_id, + &xen_dynamic_chip); +} EXPORT_SYMBOL_GPL(bind_evtchn_to_irqhandler); -int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain, - evtchn_port_t remote_port, - irq_handler_t handler, - unsigned long irqflags, - const char *devname, - void *dev_id) +int bind_evtchn_to_irqhandler_lateeoi(evtchn_port_t evtchn, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, void *dev_id) +{ + return bind_evtchn_to_irqhandler_chip(evtchn, handler, irqflags, + devname, dev_id, + &xen_lateeoi_chip); +} +EXPORT_SYMBOL_GPL(bind_evtchn_to_irqhandler_lateeoi); + +static int bind_interdomain_evtchn_to_irqhandler_chip( + unsigned int remote_domain, evtchn_port_t remote_port, + irq_handler_t handler, unsigned long irqflags, + const char *devname, void *dev_id, struct irq_chip *chip) { int irq, retval; - irq = bind_interdomain_evtchn_to_irq(remote_domain, remote_port); + irq = bind_interdomain_evtchn_to_irq_chip(remote_domain, remote_port, + chip); if (irq < 0) return irq; @@ -1062,8 +1358,33 @@ return irq; } + +int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain, + evtchn_port_t remote_port, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, + void *dev_id) +{ + return bind_interdomain_evtchn_to_irqhandler_chip(remote_domain, + remote_port, handler, irqflags, devname, + dev_id, &xen_dynamic_chip); +} EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irqhandler); +int bind_interdomain_evtchn_to_irqhandler_lateeoi(unsigned int remote_domain, + evtchn_port_t remote_port, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, + void *dev_id) +{ + return bind_interdomain_evtchn_to_irqhandler_chip(remote_domain, + remote_port, handler, irqflags, devname, + dev_id, &xen_lateeoi_chip); +} +EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irqhandler_lateeoi); + int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id) @@ -1108,7 +1429,7 @@ void unbind_from_irqhandler(unsigned int irq, void *dev_id) { - struct irq_info *info = irq_get_handler_data(irq); + struct irq_info *info = info_for_irq(irq); if (WARN_ON(!info)) return; @@ -1142,7 +1463,7 @@ if (irq == -1) return -ENOENT; - info = irq_get_handler_data(irq); + info = info_for_irq(irq); if (!info) return -ENOENT; @@ -1170,13 +1491,13 @@ if (irq == -1) goto done; - info = irq_get_handler_data(irq); + info = info_for_irq(irq); if (!info) goto done; err = -EINVAL; - if (info->refcnt <= 0) + if (info->refcnt <= 0 || info->refcnt == SHRT_MAX) goto done; info->refcnt++; @@ -1215,21 +1536,83 @@ notify_remote_via_irq(irq); } +struct evtchn_loop_ctrl { + ktime_t timeout; + unsigned count; + bool defer_eoi; +}; + +void handle_irq_for_port(evtchn_port_t port, struct evtchn_loop_ctrl *ctrl) +{ + int irq; + struct irq_info *info; + + irq = get_evtchn_to_irq(port); + if (irq == -1) + return; + + /* + * Check for timeout every 256 events. + * We are setting the timeout value only after the first 256 + * events in order to not hurt the common case of few loop + * iterations. The 256 is basically an arbitrary value. + * + * In case we are hitting the timeout we need to defer all further + * EOIs in order to ensure to leave the event handling loop rather + * sooner than later. + */ + if (!ctrl->defer_eoi && !(++ctrl->count & 0xff)) { + ktime_t kt = ktime_get(); + + if (!ctrl->timeout) { + kt = ktime_add_ms(kt, + jiffies_to_msecs(event_loop_timeout)); + ctrl->timeout = kt; + } else if (kt > ctrl->timeout) { + ctrl->defer_eoi = true; + } + } + + info = info_for_irq(irq); + if (xchg_acquire(&info->is_active, 1)) + return; + + if (ctrl->defer_eoi) { + info->eoi_cpu = smp_processor_id(); + info->irq_epoch = __this_cpu_read(irq_epoch); + info->eoi_time = get_jiffies_64() + event_eoi_delay; + } + + generic_handle_irq(irq); +} + static void __xen_evtchn_do_upcall(void) { struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); int cpu = smp_processor_id(); + struct evtchn_loop_ctrl ctrl = { 0 }; + + read_lock(&evtchn_rwlock); do { vcpu_info->evtchn_upcall_pending = 0; - xen_evtchn_handle_events(cpu); + xen_evtchn_handle_events(cpu, &ctrl); BUG_ON(!irqs_disabled()); virt_rmb(); /* Hypervisor can set upcall pending. */ } while (vcpu_info->evtchn_upcall_pending); + + read_unlock(&evtchn_rwlock); + + /* + * Increment irq_epoch only now to defer EOIs only for + * xen_irq_lateeoi() invocations occurring from inside the loop + * above. + */ + __this_cpu_inc(irq_epoch); } void xen_evtchn_do_upcall(struct pt_regs *regs) @@ -1283,10 +1666,10 @@ } /* Rebind an evtchn so that it gets delivered to a specific cpu */ -static int xen_rebind_evtchn_to_cpu(evtchn_port_t evtchn, unsigned int tcpu) +static int xen_rebind_evtchn_to_cpu(struct irq_info *info, unsigned int tcpu) { struct evtchn_bind_vcpu bind_vcpu; - int masked; + evtchn_port_t evtchn = info ? info->evtchn : 0; if (!VALID_EVTCHN(evtchn)) return -1; @@ -1302,7 +1685,7 @@ * Mask the event while changing the VCPU binding to prevent * it being delivered on an unexpected VCPU. */ - masked = test_and_set_mask(evtchn); + do_mask(info, EVT_MASK_REASON_TEMPORARY); /* * If this fails, it usually just indicates that we're dealing with a @@ -1312,8 +1695,7 @@ if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >= 0) bind_evtchn_to_cpu(evtchn, tcpu); - if (!masked) - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_TEMPORARY); return 0; } @@ -1322,7 +1704,7 @@ bool force) { unsigned tcpu = cpumask_first_and(dest, cpu_online_mask); - int ret = xen_rebind_evtchn_to_cpu(evtchn_from_irq(data->irq), tcpu); + int ret = xen_rebind_evtchn_to_cpu(info_for_irq(data->irq), tcpu); if (!ret) irq_data_update_effective_affinity(data, cpumask_of(tcpu)); @@ -1341,39 +1723,41 @@ static void enable_dynirq(struct irq_data *data) { - evtchn_port_t evtchn = evtchn_from_irq(data->irq); + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; if (VALID_EVTCHN(evtchn)) - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_EXPLICIT); } static void disable_dynirq(struct irq_data *data) { - evtchn_port_t evtchn = evtchn_from_irq(data->irq); + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; if (VALID_EVTCHN(evtchn)) - mask_evtchn(evtchn); + do_mask(info, EVT_MASK_REASON_EXPLICIT); } static void ack_dynirq(struct irq_data *data) { - evtchn_port_t evtchn = evtchn_from_irq(data->irq); + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; if (!VALID_EVTCHN(evtchn)) return; if (unlikely(irqd_is_setaffinity_pending(data)) && likely(!irqd_irq_disabled(data))) { - int masked = test_and_set_mask(evtchn); + do_mask(info, EVT_MASK_REASON_TEMPORARY); - clear_evtchn(evtchn); + event_handler_exit(info); irq_move_masked_irq(data); - if (!masked) - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_TEMPORARY); } else - clear_evtchn(evtchn); + event_handler_exit(info); } static void mask_ack_dynirq(struct irq_data *data) @@ -1382,18 +1766,39 @@ ack_dynirq(data); } +static void lateeoi_ack_dynirq(struct irq_data *data) +{ + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; + + if (VALID_EVTCHN(evtchn)) { + do_mask(info, EVT_MASK_REASON_EOI_PENDING); + ack_dynirq(data); + } +} + +static void lateeoi_mask_ack_dynirq(struct irq_data *data) +{ + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; + + if (VALID_EVTCHN(evtchn)) { + do_mask(info, EVT_MASK_REASON_EXPLICIT); + ack_dynirq(data); + } +} + static int retrigger_dynirq(struct irq_data *data) { - evtchn_port_t evtchn = evtchn_from_irq(data->irq); - int masked; + struct irq_info *info = info_for_irq(data->irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; if (!VALID_EVTCHN(evtchn)) return 0; - masked = test_and_set_mask(evtchn); + do_mask(info, EVT_MASK_REASON_TEMPORARY); set_evtchn(evtchn); - if (!masked) - unmask_evtchn(evtchn); + do_unmask(info, EVT_MASK_REASON_TEMPORARY); return 1; } @@ -1490,10 +1895,11 @@ /* Clear an irq's pending state, in preparation for polling on it */ void xen_clear_irq_pending(int irq) { - evtchn_port_t evtchn = evtchn_from_irq(irq); + struct irq_info *info = info_for_irq(irq); + evtchn_port_t evtchn = info ? info->evtchn : 0; if (VALID_EVTCHN(evtchn)) - clear_evtchn(evtchn); + event_handler_exit(info); } EXPORT_SYMBOL(xen_clear_irq_pending); void xen_set_irq_pending(int irq) @@ -1593,6 +1999,21 @@ .irq_retrigger = retrigger_dynirq, }; +static struct irq_chip xen_lateeoi_chip __read_mostly = { + /* The chip name needs to contain "xen-dyn" for irqbalance to work. */ + .name = "xen-dyn-lateeoi", + + .irq_disable = disable_dynirq, + .irq_mask = disable_dynirq, + .irq_unmask = enable_dynirq, + + .irq_ack = lateeoi_ack_dynirq, + .irq_mask_ack = lateeoi_mask_ack_dynirq, + + .irq_set_affinity = set_affinity_irq, + .irq_retrigger = retrigger_dynirq, +}; + static struct irq_chip xen_pirq_chip __read_mostly = { .name = "xen-pirq", @@ -1623,16 +2044,6 @@ .irq_ack = ack_dynirq, }; -int xen_set_callback_via(uint64_t via) -{ - struct xen_hvm_param a; - a.domid = DOMID_SELF; - a.index = HVM_PARAM_CALLBACK_IRQ; - a.value = via; - return HYPERVISOR_hvm_op(HVMOP_set_param, &a); -} -EXPORT_SYMBOL_GPL(xen_set_callback_via); - #ifdef CONFIG_XEN_PVHVM /* Vector callbacks are better than PCI interrupts to receive event * channel notifications because we can receive vector callbacks on any @@ -1663,12 +2074,31 @@ static inline void xen_alloc_callback_vector(void) {} #endif -#undef MODULE_PARAM_PREFIX -#define MODULE_PARAM_PREFIX "xen." - static bool fifo_events = true; module_param(fifo_events, bool, 0); +static int xen_evtchn_cpu_prepare(unsigned int cpu) +{ + int ret = 0; + + xen_cpu_init_eoi(cpu); + + if (evtchn_ops->percpu_init) + ret = evtchn_ops->percpu_init(cpu); + + return ret; +} + +static int xen_evtchn_cpu_dead(unsigned int cpu) +{ + int ret = 0; + + if (evtchn_ops->percpu_deinit) + ret = evtchn_ops->percpu_deinit(cpu); + + return ret; +} + void __init xen_init_IRQ(void) { int ret = -EINVAL; @@ -1679,6 +2109,12 @@ if (ret < 0) xen_evtchn_2l_init(); + xen_cpu_init_eoi(smp_processor_id()); + + cpuhp_setup_state_nocalls(CPUHP_XEN_EVTCHN_PREPARE, + "xen/evtchn:prepare", + xen_evtchn_cpu_prepare, xen_evtchn_cpu_dead); + evtchn_to_irq = kcalloc(EVTCHN_ROW(xen_evtchn_max_channels()), sizeof(*evtchn_to_irq), GFP_KERNEL); BUG_ON(!evtchn_to_irq); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/events/events_fifo.c +++ linux-riscv-5.8-5.8.0/drivers/xen/events/events_fifo.c @@ -209,12 +209,6 @@ return sync_test_bit(EVTCHN_FIFO_BIT(PENDING, word), BM(word)); } -static bool evtchn_fifo_test_and_set_mask(evtchn_port_t port) -{ - event_word_t *word = event_word_from_port(port); - return sync_test_and_set_bit(EVTCHN_FIFO_BIT(MASKED, word), BM(word)); -} - static void evtchn_fifo_mask(evtchn_port_t port) { event_word_t *word = event_word_from_port(port); @@ -227,19 +221,25 @@ return sync_test_bit(EVTCHN_FIFO_BIT(MASKED, word), BM(word)); } /* - * Clear MASKED, spinning if BUSY is set. + * Clear MASKED if not PENDING, spinning if BUSY is set. + * Return true if mask was cleared. */ -static void clear_masked(volatile event_word_t *word) +static bool clear_masked_cond(volatile event_word_t *word) { event_word_t new, old, w; w = *word; do { + if (w & (1 << EVTCHN_FIFO_PENDING)) + return false; + old = w & ~(1 << EVTCHN_FIFO_BUSY); new = old & ~(1 << EVTCHN_FIFO_MASKED); w = sync_cmpxchg(word, old, new); } while (w != old); + + return true; } static void evtchn_fifo_unmask(evtchn_port_t port) @@ -248,8 +248,7 @@ BUG_ON(!irqs_disabled()); - clear_masked(word); - if (evtchn_fifo_is_pending(port)) { + if (!clear_masked_cond(word)) { struct evtchn_unmask unmask = { .port = port }; (void)HYPERVISOR_event_channel_op(EVTCHNOP_unmask, &unmask); } @@ -270,19 +269,9 @@ return w & EVTCHN_FIFO_LINK_MASK; } -static void handle_irq_for_port(evtchn_port_t port) -{ - int irq; - - irq = get_evtchn_to_irq(port); - if (irq != -1) - generic_handle_irq(irq); -} - -static void consume_one_event(unsigned cpu, +static void consume_one_event(unsigned cpu, struct evtchn_loop_ctrl *ctrl, struct evtchn_fifo_control_block *control_block, - unsigned priority, unsigned long *ready, - bool drop) + unsigned priority, unsigned long *ready) { struct evtchn_fifo_queue *q = &per_cpu(cpu_queue, cpu); uint32_t head; @@ -315,16 +304,17 @@ clear_bit(priority, ready); if (evtchn_fifo_is_pending(port) && !evtchn_fifo_is_masked(port)) { - if (unlikely(drop)) + if (unlikely(!ctrl)) pr_warn("Dropping pending event for port %u\n", port); else - handle_irq_for_port(port); + handle_irq_for_port(port, ctrl); } q->head[priority] = head; } -static void __evtchn_fifo_handle_events(unsigned cpu, bool drop) +static void __evtchn_fifo_handle_events(unsigned cpu, + struct evtchn_loop_ctrl *ctrl) { struct evtchn_fifo_control_block *control_block; unsigned long ready; @@ -336,14 +326,15 @@ while (ready) { q = find_first_bit(&ready, EVTCHN_FIFO_MAX_QUEUES); - consume_one_event(cpu, control_block, q, &ready, drop); + consume_one_event(cpu, ctrl, control_block, q, &ready); ready |= xchg(&control_block->ready, 0); } } -static void evtchn_fifo_handle_events(unsigned cpu) +static void evtchn_fifo_handle_events(unsigned cpu, + struct evtchn_loop_ctrl *ctrl) { - __evtchn_fifo_handle_events(cpu, false); + __evtchn_fifo_handle_events(cpu, ctrl); } static void evtchn_fifo_resume(void) @@ -380,21 +371,6 @@ event_array_pages = 0; } -static const struct evtchn_ops evtchn_ops_fifo = { - .max_channels = evtchn_fifo_max_channels, - .nr_channels = evtchn_fifo_nr_channels, - .setup = evtchn_fifo_setup, - .bind_to_cpu = evtchn_fifo_bind_to_cpu, - .clear_pending = evtchn_fifo_clear_pending, - .set_pending = evtchn_fifo_set_pending, - .is_pending = evtchn_fifo_is_pending, - .test_and_set_mask = evtchn_fifo_test_and_set_mask, - .mask = evtchn_fifo_mask, - .unmask = evtchn_fifo_unmask, - .handle_events = evtchn_fifo_handle_events, - .resume = evtchn_fifo_resume, -}; - static int evtchn_fifo_alloc_control_block(unsigned cpu) { void *control_block = NULL; @@ -417,19 +393,35 @@ return ret; } -static int xen_evtchn_cpu_prepare(unsigned int cpu) +static int evtchn_fifo_percpu_init(unsigned int cpu) { if (!per_cpu(cpu_control_block, cpu)) return evtchn_fifo_alloc_control_block(cpu); return 0; } -static int xen_evtchn_cpu_dead(unsigned int cpu) +static int evtchn_fifo_percpu_deinit(unsigned int cpu) { - __evtchn_fifo_handle_events(cpu, true); + __evtchn_fifo_handle_events(cpu, NULL); return 0; } +static const struct evtchn_ops evtchn_ops_fifo = { + .max_channels = evtchn_fifo_max_channels, + .nr_channels = evtchn_fifo_nr_channels, + .setup = evtchn_fifo_setup, + .bind_to_cpu = evtchn_fifo_bind_to_cpu, + .clear_pending = evtchn_fifo_clear_pending, + .set_pending = evtchn_fifo_set_pending, + .is_pending = evtchn_fifo_is_pending, + .mask = evtchn_fifo_mask, + .unmask = evtchn_fifo_unmask, + .handle_events = evtchn_fifo_handle_events, + .resume = evtchn_fifo_resume, + .percpu_init = evtchn_fifo_percpu_init, + .percpu_deinit = evtchn_fifo_percpu_deinit, +}; + int __init xen_evtchn_fifo_init(void) { int cpu = smp_processor_id(); @@ -443,9 +435,5 @@ evtchn_ops = &evtchn_ops_fifo; - cpuhp_setup_state_nocalls(CPUHP_XEN_EVTCHN_PREPARE, - "xen/evtchn:prepare", - xen_evtchn_cpu_prepare, xen_evtchn_cpu_dead); - return ret; } --- linux-riscv-5.8-5.8.0.orig/drivers/xen/events/events_internal.h +++ linux-riscv-5.8-5.8.0/drivers/xen/events/events_internal.h @@ -30,11 +30,22 @@ */ struct irq_info { struct list_head list; - int refcnt; - enum xen_irq_type type; /* type */ + struct list_head eoi_list; + short refcnt; + short spurious_cnt; + short type; /* type */ + u8 mask_reason; /* Why is event channel masked */ +#define EVT_MASK_REASON_EXPLICIT 0x01 +#define EVT_MASK_REASON_TEMPORARY 0x02 +#define EVT_MASK_REASON_EOI_PENDING 0x04 + u8 is_active; /* Is event just being handled? */ unsigned irq; evtchn_port_t evtchn; /* event channel */ unsigned short cpu; /* cpu bound */ + unsigned short eoi_cpu; /* EOI must happen on this cpu */ + unsigned int irq_epoch; /* If eoi_cpu valid: irq_epoch of event */ + u64 eoi_time; /* Time in jiffies when to EOI. */ + raw_spinlock_t lock; union { unsigned short virq; @@ -53,28 +64,34 @@ #define PIRQ_SHAREABLE (1 << 1) #define PIRQ_MSI_GROUP (1 << 2) +struct evtchn_loop_ctrl; + struct evtchn_ops { unsigned (*max_channels)(void); unsigned (*nr_channels)(void); int (*setup)(struct irq_info *info); + void (*remove)(evtchn_port_t port, unsigned int cpu); void (*bind_to_cpu)(struct irq_info *info, unsigned cpu); void (*clear_pending)(evtchn_port_t port); void (*set_pending)(evtchn_port_t port); bool (*is_pending)(evtchn_port_t port); - bool (*test_and_set_mask)(evtchn_port_t port); void (*mask)(evtchn_port_t port); void (*unmask)(evtchn_port_t port); - void (*handle_events)(unsigned cpu); + void (*handle_events)(unsigned cpu, struct evtchn_loop_ctrl *ctrl); void (*resume)(void); + + int (*percpu_init)(unsigned int cpu); + int (*percpu_deinit)(unsigned int cpu); }; extern const struct evtchn_ops *evtchn_ops; extern int **evtchn_to_irq; int get_evtchn_to_irq(evtchn_port_t evtchn); +void handle_irq_for_port(evtchn_port_t port, struct evtchn_loop_ctrl *ctrl); struct irq_info *info_for_irq(unsigned irq); unsigned cpu_from_irq(unsigned irq); @@ -96,6 +113,13 @@ return 0; } +static inline void xen_evtchn_port_remove(evtchn_port_t evtchn, + unsigned int cpu) +{ + if (evtchn_ops->remove) + evtchn_ops->remove(evtchn, cpu); +} + static inline void xen_evtchn_port_bind_to_cpu(struct irq_info *info, unsigned cpu) { @@ -117,11 +141,6 @@ return evtchn_ops->is_pending(port); } -static inline bool test_and_set_mask(evtchn_port_t port) -{ - return evtchn_ops->test_and_set_mask(port); -} - static inline void mask_evtchn(evtchn_port_t port) { return evtchn_ops->mask(port); @@ -132,9 +151,10 @@ return evtchn_ops->unmask(port); } -static inline void xen_evtchn_handle_events(unsigned cpu) +static inline void xen_evtchn_handle_events(unsigned cpu, + struct evtchn_loop_ctrl *ctrl) { - return evtchn_ops->handle_events(cpu); + return evtchn_ops->handle_events(cpu, ctrl); } static inline void xen_evtchn_resume(void) --- linux-riscv-5.8-5.8.0.orig/drivers/xen/evtchn.c +++ linux-riscv-5.8-5.8.0/drivers/xen/evtchn.c @@ -167,7 +167,6 @@ "Interrupt for port %u, but apparently not enabled; per-user %p\n", evtchn->port, u); - disable_irq_nosync(irq); evtchn->enabled = false; spin_lock(&u->ring_prod_lock); @@ -293,7 +292,7 @@ evtchn = find_evtchn(u, port); if (evtchn && !evtchn->enabled) { evtchn->enabled = true; - enable_irq(irq_from_evtchn(port)); + xen_irq_lateeoi(irq_from_evtchn(port), 0); } } @@ -393,8 +392,8 @@ if (rc < 0) goto err; - rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, 0, - u->name, evtchn); + rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, 0, + u->name, evtchn); if (rc < 0) goto err; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/gntdev-dmabuf.c +++ linux-riscv-5.8-5.8.0/drivers/xen/gntdev-dmabuf.c @@ -247,10 +247,9 @@ if (sgt) { if (gntdev_dmabuf_attach->dir != DMA_NONE) - dma_unmap_sg_attrs(attach->dev, sgt->sgl, - sgt->nents, - gntdev_dmabuf_attach->dir, - DMA_ATTR_SKIP_CPU_SYNC); + dma_unmap_sgtable(attach->dev, sgt, + gntdev_dmabuf_attach->dir, + DMA_ATTR_SKIP_CPU_SYNC); sg_free_table(sgt); } @@ -288,8 +287,8 @@ sgt = dmabuf_pages_to_sgt(gntdev_dmabuf->pages, gntdev_dmabuf->nr_pages); if (!IS_ERR(sgt)) { - if (!dma_map_sg_attrs(attach->dev, sgt->sgl, sgt->nents, dir, - DMA_ATTR_SKIP_CPU_SYNC)) { + if (dma_map_sgtable(attach->dev, sgt, dir, + DMA_ATTR_SKIP_CPU_SYNC)) { sg_free_table(sgt); kfree(sgt); sgt = ERR_PTR(-ENOMEM); @@ -613,6 +612,14 @@ goto fail_detach; } + /* Check that we have zero offset. */ + if (sgt->sgl->offset) { + ret = ERR_PTR(-EINVAL); + pr_debug("DMA buffer has %d bytes offset, user-space expects 0\n", + sgt->sgl->offset); + goto fail_unmap; + } + /* Check number of pages that imported buffer has. */ if (attach->dmabuf->size != gntdev_dmabuf->nr_pages << PAGE_SHIFT) { ret = ERR_PTR(-EINVAL); @@ -625,7 +632,7 @@ /* Now convert sgt to array of pages and check for page validity. */ i = 0; - for_each_sg_page(sgt->sgl, &sg_iter, sgt->nents, 0) { + for_each_sgtable_page(sgt, &sg_iter, 0) { struct page *page = sg_page_iter_page(&sg_iter); /* * Check if page is valid: this can happen if we are given --- linux-riscv-5.8-5.8.0.orig/drivers/xen/gntdev.c +++ linux-riscv-5.8-5.8.0/drivers/xen/gntdev.c @@ -309,44 +309,47 @@ * to the kernel linear addresses of the struct pages. * These ptes are completely different from the user ptes dealt * with find_grant_ptes. + * Note that GNTMAP_device_map isn't needed here: The + * dev_bus_addr output field gets consumed only from ->map_ops, + * and by not requesting it when mapping we also avoid needing + * to mirror dev_bus_addr into ->unmap_ops (and holding an extra + * reference to the page in the hypervisor). */ + unsigned int flags = (map->flags & ~GNTMAP_device_map) | + GNTMAP_host_map; + for (i = 0; i < map->count; i++) { unsigned long address = (unsigned long) pfn_to_kaddr(page_to_pfn(map->pages[i])); BUG_ON(PageHighMem(map->pages[i])); - gnttab_set_map_op(&map->kmap_ops[i], address, - map->flags | GNTMAP_host_map, + gnttab_set_map_op(&map->kmap_ops[i], address, flags, map->grants[i].ref, map->grants[i].domid); gnttab_set_unmap_op(&map->kunmap_ops[i], address, - map->flags | GNTMAP_host_map, -1); + flags, -1); } } pr_debug("map %d+%d\n", map->index, map->count); err = gnttab_map_refs(map->map_ops, use_ptemod ? map->kmap_ops : NULL, map->pages, map->count); - if (err) - return err; for (i = 0; i < map->count; i++) { - if (map->map_ops[i].status) { + if (map->map_ops[i].status == GNTST_okay) + map->unmap_ops[i].handle = map->map_ops[i].handle; + else if (!err) err = -EINVAL; - continue; - } - map->unmap_ops[i].handle = map->map_ops[i].handle; - if (use_ptemod) - map->kunmap_ops[i].handle = map->kmap_ops[i].handle; -#ifdef CONFIG_XEN_GRANT_DMA_ALLOC - else if (map->dma_vaddr) { - unsigned long bfn; + if (map->flags & GNTMAP_device_map) + map->unmap_ops[i].dev_bus_addr = map->map_ops[i].dev_bus_addr; - bfn = pfn_to_bfn(page_to_pfn(map->pages[i])); - map->unmap_ops[i].dev_bus_addr = __pfn_to_phys(bfn); + if (use_ptemod) { + if (map->kmap_ops[i].status == GNTST_okay) + map->kunmap_ops[i].handle = map->kmap_ops[i].handle; + else if (!err) + err = -EINVAL; } -#endif } return err; } @@ -720,17 +723,18 @@ s16 __user *status[GNTDEV_COPY_BATCH]; unsigned int nr_ops; unsigned int nr_pages; + bool writeable; }; static int gntdev_get_page(struct gntdev_copy_batch *batch, void __user *virt, - bool writeable, unsigned long *gfn) + unsigned long *gfn) { unsigned long addr = (unsigned long)virt; struct page *page; unsigned long xen_pfn; int ret; - ret = get_user_pages_fast(addr, 1, writeable ? FOLL_WRITE : 0, &page); + ret = get_user_pages_fast(addr, 1, batch->writeable ? FOLL_WRITE : 0, &page); if (ret < 0) return ret; @@ -746,9 +750,13 @@ { unsigned int i; - for (i = 0; i < batch->nr_pages; i++) + for (i = 0; i < batch->nr_pages; i++) { + if (batch->writeable && !PageDirty(batch->pages[i])) + set_page_dirty_lock(batch->pages[i]); put_page(batch->pages[i]); + } batch->nr_pages = 0; + batch->writeable = false; } static int gntdev_copy(struct gntdev_copy_batch *batch) @@ -837,8 +845,9 @@ virt = seg->source.virt + copied; off = (unsigned long)virt & ~XEN_PAGE_MASK; len = min(len, (size_t)XEN_PAGE_SIZE - off); + batch->writeable = false; - ret = gntdev_get_page(batch, virt, false, &gfn); + ret = gntdev_get_page(batch, virt, &gfn); if (ret < 0) return ret; @@ -856,8 +865,9 @@ virt = seg->dest.virt + copied; off = (unsigned long)virt & ~XEN_PAGE_MASK; len = min(len, (size_t)XEN_PAGE_SIZE - off); + batch->writeable = true; - ret = gntdev_get_page(batch, virt, true, &gfn); + ret = gntdev_get_page(batch, virt, &gfn); if (ret < 0) return ret; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/grant-table.c +++ linux-riscv-5.8-5.8.0/drivers/xen/grant-table.c @@ -813,6 +813,78 @@ } EXPORT_SYMBOL_GPL(gnttab_alloc_pages); +void gnttab_page_cache_init(struct gnttab_page_cache *cache) +{ + spin_lock_init(&cache->lock); + INIT_LIST_HEAD(&cache->pages); + cache->num_pages = 0; +} +EXPORT_SYMBOL_GPL(gnttab_page_cache_init); + +int gnttab_page_cache_get(struct gnttab_page_cache *cache, struct page **page) +{ + unsigned long flags; + + spin_lock_irqsave(&cache->lock, flags); + + if (list_empty(&cache->pages)) { + spin_unlock_irqrestore(&cache->lock, flags); + return gnttab_alloc_pages(1, page); + } + + page[0] = list_first_entry(&cache->pages, struct page, lru); + list_del(&page[0]->lru); + cache->num_pages--; + + spin_unlock_irqrestore(&cache->lock, flags); + + return 0; +} +EXPORT_SYMBOL_GPL(gnttab_page_cache_get); + +void gnttab_page_cache_put(struct gnttab_page_cache *cache, struct page **page, + unsigned int num) +{ + unsigned long flags; + unsigned int i; + + spin_lock_irqsave(&cache->lock, flags); + + for (i = 0; i < num; i++) + list_add(&page[i]->lru, &cache->pages); + cache->num_pages += num; + + spin_unlock_irqrestore(&cache->lock, flags); +} +EXPORT_SYMBOL_GPL(gnttab_page_cache_put); + +void gnttab_page_cache_shrink(struct gnttab_page_cache *cache, unsigned int num) +{ + struct page *page[10]; + unsigned int i = 0; + unsigned long flags; + + spin_lock_irqsave(&cache->lock, flags); + + while (cache->num_pages > num) { + page[i] = list_first_entry(&cache->pages, struct page, lru); + list_del(&page[i]->lru); + cache->num_pages--; + if (++i == ARRAY_SIZE(page)) { + spin_unlock_irqrestore(&cache->lock, flags); + gnttab_free_pages(i, page); + i = 0; + spin_lock_irqsave(&cache->lock, flags); + } + } + + spin_unlock_irqrestore(&cache->lock, flags); + + if (i != 0) + gnttab_free_pages(i, page); +} +EXPORT_SYMBOL_GPL(gnttab_page_cache_shrink); + void gnttab_pages_clear_private(int nr_pages, struct page **pages) { int i; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/platform-pci.c +++ linux-riscv-5.8-5.8.0/drivers/xen/platform-pci.c @@ -149,7 +149,6 @@ ret = gnttab_init(); if (ret) goto grant_out; - xenbus_probe(NULL); return 0; grant_out: gnttab_free_auto_xlat_frames(); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/privcmd.c +++ linux-riscv-5.8-5.8.0/drivers/xen/privcmd.c @@ -722,14 +722,15 @@ return 0; } -static long privcmd_ioctl_mmap_resource(struct file *file, void __user *udata) +static long privcmd_ioctl_mmap_resource(struct file *file, + struct privcmd_mmap_resource __user *udata) { struct privcmd_data *data = file->private_data; struct mm_struct *mm = current->mm; struct vm_area_struct *vma; struct privcmd_mmap_resource kdata; xen_pfn_t *pfns = NULL; - struct xen_mem_acquire_resource xdata; + struct xen_mem_acquire_resource xdata = { }; int rc; if (copy_from_user(&kdata, udata, sizeof(kdata))) @@ -739,6 +740,22 @@ if (data->domid != DOMID_INVALID && data->domid != kdata.dom) return -EPERM; + /* Both fields must be set or unset */ + if (!!kdata.addr != !!kdata.num) + return -EINVAL; + + xdata.domid = kdata.dom; + xdata.type = kdata.type; + xdata.id = kdata.id; + + if (!kdata.addr && !kdata.num) { + /* Query the size of the resource. */ + rc = HYPERVISOR_memory_op(XENMEM_acquire_resource, &xdata); + if (rc) + return rc; + return __put_user(xdata.nr_frames, &udata->num); + } + mmap_write_lock(mm); vma = find_vma(mm, kdata.addr); @@ -773,10 +790,6 @@ } else vma->vm_private_data = PRIV_VMA_LOCKED; - memset(&xdata, 0, sizeof(xdata)); - xdata.domid = kdata.dom; - xdata.type = kdata.type; - xdata.id = kdata.id; xdata.frame = kdata.idx; xdata.nr_frames = kdata.num; set_xen_guest_handle(xdata.frame_list, pfns); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/pvcalls-back.c +++ linux-riscv-5.8-5.8.0/drivers/xen/pvcalls-back.c @@ -66,6 +66,7 @@ atomic_t write; atomic_t io; atomic_t release; + atomic_t eoi; void (*saved_data_ready)(struct sock *sk); struct pvcalls_ioworker ioworker; }; @@ -87,7 +88,7 @@ struct pvcalls_fedata *fedata, struct sock_mapping *map); -static void pvcalls_conn_back_read(void *opaque) +static bool pvcalls_conn_back_read(void *opaque) { struct sock_mapping *map = (struct sock_mapping *)opaque; struct msghdr msg; @@ -107,17 +108,17 @@ virt_mb(); if (error) - return; + return false; size = pvcalls_queued(prod, cons, array_size); if (size >= array_size) - return; + return false; spin_lock_irqsave(&map->sock->sk->sk_receive_queue.lock, flags); if (skb_queue_empty(&map->sock->sk->sk_receive_queue)) { atomic_set(&map->read, 0); spin_unlock_irqrestore(&map->sock->sk->sk_receive_queue.lock, flags); - return; + return true; } spin_unlock_irqrestore(&map->sock->sk->sk_receive_queue.lock, flags); wanted = array_size - size; @@ -141,7 +142,7 @@ ret = inet_recvmsg(map->sock, &msg, wanted, MSG_DONTWAIT); WARN_ON(ret > wanted); if (ret == -EAGAIN) /* shouldn't happen */ - return; + return true; if (!ret) ret = -ENOTCONN; spin_lock_irqsave(&map->sock->sk->sk_receive_queue.lock, flags); @@ -160,10 +161,10 @@ virt_wmb(); notify_remote_via_irq(map->irq); - return; + return true; } -static void pvcalls_conn_back_write(struct sock_mapping *map) +static bool pvcalls_conn_back_write(struct sock_mapping *map) { struct pvcalls_data_intf *intf = map->ring; struct pvcalls_data *data = &map->data; @@ -180,7 +181,7 @@ array_size = XEN_FLEX_RING_SIZE(map->ring_order); size = pvcalls_queued(prod, cons, array_size); if (size == 0) - return; + return false; memset(&msg, 0, sizeof(msg)); msg.msg_flags |= MSG_DONTWAIT; @@ -198,12 +199,11 @@ atomic_set(&map->write, 0); ret = inet_sendmsg(map->sock, &msg, size); - if (ret == -EAGAIN || (ret >= 0 && ret < size)) { + if (ret == -EAGAIN) { atomic_inc(&map->write); atomic_inc(&map->io); + return true; } - if (ret == -EAGAIN) - return; /* write the data, then update the indexes */ virt_wmb(); @@ -216,9 +216,13 @@ } /* update the indexes, then notify the other end */ virt_wmb(); - if (prod != cons + ret) + if (prod != cons + ret) { atomic_inc(&map->write); + atomic_inc(&map->io); + } notify_remote_via_irq(map->irq); + + return true; } static void pvcalls_back_ioworker(struct work_struct *work) @@ -227,6 +231,7 @@ struct pvcalls_ioworker, register_work); struct sock_mapping *map = container_of(ioworker, struct sock_mapping, ioworker); + unsigned int eoi_flags = XEN_EOI_FLAG_SPURIOUS; while (atomic_read(&map->io) > 0) { if (atomic_read(&map->release) > 0) { @@ -234,10 +239,18 @@ return; } - if (atomic_read(&map->read) > 0) - pvcalls_conn_back_read(map); - if (atomic_read(&map->write) > 0) - pvcalls_conn_back_write(map); + if (atomic_read(&map->read) > 0 && + pvcalls_conn_back_read(map)) + eoi_flags = 0; + if (atomic_read(&map->write) > 0 && + pvcalls_conn_back_write(map)) + eoi_flags = 0; + + if (atomic_read(&map->eoi) > 0 && !atomic_read(&map->write)) { + atomic_set(&map->eoi, 0); + xen_irq_lateeoi(map->irq, eoi_flags); + eoi_flags = XEN_EOI_FLAG_SPURIOUS; + } atomic_dec(&map->io); } @@ -334,12 +347,9 @@ goto out; map->bytes = page; - ret = bind_interdomain_evtchn_to_irqhandler(fedata->dev->otherend_id, - evtchn, - pvcalls_back_conn_event, - 0, - "pvcalls-backend", - map); + ret = bind_interdomain_evtchn_to_irqhandler_lateeoi( + fedata->dev->otherend_id, evtchn, + pvcalls_back_conn_event, 0, "pvcalls-backend", map); if (ret < 0) goto out; map->irq = ret; @@ -873,15 +883,18 @@ { struct xenbus_device *dev = dev_id; struct pvcalls_fedata *fedata = NULL; + unsigned int eoi_flags = XEN_EOI_FLAG_SPURIOUS; - if (dev == NULL) - return IRQ_HANDLED; + if (dev) { + fedata = dev_get_drvdata(&dev->dev); + if (fedata) { + pvcalls_back_work(fedata); + eoi_flags = 0; + } + } - fedata = dev_get_drvdata(&dev->dev); - if (fedata == NULL) - return IRQ_HANDLED; + xen_irq_lateeoi(irq, eoi_flags); - pvcalls_back_work(fedata); return IRQ_HANDLED; } @@ -891,12 +904,15 @@ struct pvcalls_ioworker *iow; if (map == NULL || map->sock == NULL || map->sock->sk == NULL || - map->sock->sk->sk_user_data != map) + map->sock->sk->sk_user_data != map) { + xen_irq_lateeoi(irq, 0); return IRQ_HANDLED; + } iow = &map->ioworker; atomic_inc(&map->write); + atomic_inc(&map->eoi); atomic_inc(&map->io); queue_work(iow->wq, &iow->register_work); @@ -932,7 +948,7 @@ goto error; } - err = bind_interdomain_evtchn_to_irq(dev->otherend_id, evtchn); + err = bind_interdomain_evtchn_to_irq_lateeoi(dev->otherend_id, evtchn); if (err < 0) goto error; fedata->irq = err; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/swiotlb-xen.c +++ linux-riscv-5.8-5.8.0/drivers/xen/swiotlb-xen.c @@ -335,6 +335,7 @@ int order = get_order(size); phys_addr_t phys; u64 dma_mask = DMA_BIT_MASK(32); + struct page *page; if (hwdev && hwdev->coherent_dma_mask) dma_mask = hwdev->coherent_dma_mask; @@ -346,9 +347,14 @@ /* Convert the size to actually allocated. */ size = 1UL << (order + XEN_PAGE_SHIFT); + if (is_vmalloc_addr(vaddr)) + page = vmalloc_to_page(vaddr); + else + page = virt_to_page(vaddr); + if (!WARN_ON((dev_addr + size - 1 > dma_mask) || range_straddles_page_boundary(phys, size)) && - TestClearPageXenRemapped(virt_to_page(vaddr))) + TestClearPageXenRemapped(page)) xen_destroy_contiguous_region(phys, order); xen_free_coherent_pages(hwdev, size, vaddr, (dma_addr_t)phys, attrs); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xen-pciback/pci_stub.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xen-pciback/pci_stub.c @@ -734,10 +734,17 @@ wmb(); notify_remote_via_irq(pdev->evtchn_irq); + /* Enable IRQ to signal "request done". */ + xen_pcibk_lateeoi(pdev, 0); + ret = wait_event_timeout(xen_pcibk_aer_wait_queue, !(test_bit(_XEN_PCIB_active, (unsigned long *) &sh_info->flags)), 300*HZ); + /* Enable IRQ for pcifront request if not already active. */ + if (!test_bit(_PDEVF_op_active, &pdev->flags)) + xen_pcibk_lateeoi(pdev, 0); + if (!ret) { if (test_bit(_XEN_PCIB_active, (unsigned long *)&sh_info->flags)) { @@ -751,12 +758,6 @@ } clear_bit(_PCIB_op_pending, (unsigned long *)&pdev->flags); - if (test_bit(_XEN_PCIF_active, - (unsigned long *)&sh_info->flags)) { - dev_dbg(&psdev->dev->dev, "schedule pci_conf service\n"); - xen_pcibk_test_and_schedule_op(psdev->pdev); - } - res = (pci_ers_result_t)aer_op->err; return res; } --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xen-pciback/pciback.h +++ linux-riscv-5.8-5.8.0/drivers/xen/xen-pciback/pciback.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #define DRV_NAME "xen-pciback" @@ -27,6 +28,8 @@ #define PDEVF_op_active (1<<(_PDEVF_op_active)) #define _PCIB_op_pending (1) #define PCIB_op_pending (1<<(_PCIB_op_pending)) +#define _EOI_pending (2) +#define EOI_pending (1<<(_EOI_pending)) struct xen_pcibk_device { void *pci_dev_data; @@ -183,10 +186,15 @@ irqreturn_t xen_pcibk_handle_event(int irq, void *dev_id); void xen_pcibk_do_op(struct work_struct *data); +static inline void xen_pcibk_lateeoi(struct xen_pcibk_device *pdev, + unsigned int eoi_flag) +{ + if (test_and_clear_bit(_EOI_pending, &pdev->flags)) + xen_irq_lateeoi(pdev->evtchn_irq, eoi_flag); +} + int xen_pcibk_xenbus_register(void); void xen_pcibk_xenbus_unregister(void); - -void xen_pcibk_test_and_schedule_op(struct xen_pcibk_device *pdev); #endif /* Handles shared IRQs that can to device domain and control domain. */ --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xen-pciback/pciback_ops.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xen-pciback/pciback_ops.c @@ -276,26 +276,41 @@ return 0; } #endif + +static inline bool xen_pcibk_test_op_pending(struct xen_pcibk_device *pdev) +{ + return test_bit(_XEN_PCIF_active, + (unsigned long *)&pdev->sh_info->flags) && + !test_and_set_bit(_PDEVF_op_active, &pdev->flags); +} + /* * Now the same evtchn is used for both pcifront conf_read_write request * as well as pcie aer front end ack. We use a new work_queue to schedule * xen_pcibk conf_read_write service for avoiding confict with aer_core * do_recovery job which also use the system default work_queue */ -void xen_pcibk_test_and_schedule_op(struct xen_pcibk_device *pdev) +static void xen_pcibk_test_and_schedule_op(struct xen_pcibk_device *pdev) { + bool eoi = true; + /* Check that frontend is requesting an operation and that we are not * already processing a request */ - if (test_bit(_XEN_PCIF_active, (unsigned long *)&pdev->sh_info->flags) - && !test_and_set_bit(_PDEVF_op_active, &pdev->flags)) { + if (xen_pcibk_test_op_pending(pdev)) { schedule_work(&pdev->op_work); + eoi = false; } /*_XEN_PCIB_active should have been cleared by pcifront. And also make sure xen_pcibk is waiting for ack by checking _PCIB_op_pending*/ if (!test_bit(_XEN_PCIB_active, (unsigned long *)&pdev->sh_info->flags) && test_bit(_PCIB_op_pending, &pdev->flags)) { wake_up(&xen_pcibk_aer_wait_queue); + eoi = false; } + + /* EOI if there was nothing to do. */ + if (eoi) + xen_pcibk_lateeoi(pdev, XEN_EOI_FLAG_SPURIOUS); } /* Performing the configuration space reads/writes must not be done in atomic @@ -303,10 +318,8 @@ * use of semaphores). This function is intended to be called from a work * queue in process context taking a struct xen_pcibk_device as a parameter */ -void xen_pcibk_do_op(struct work_struct *data) +static void xen_pcibk_do_one_op(struct xen_pcibk_device *pdev) { - struct xen_pcibk_device *pdev = - container_of(data, struct xen_pcibk_device, op_work); struct pci_dev *dev; struct xen_pcibk_dev_data *dev_data = NULL; struct xen_pci_op *op = &pdev->op; @@ -379,16 +392,31 @@ smp_mb__before_atomic(); /* /after/ clearing PCIF_active */ clear_bit(_PDEVF_op_active, &pdev->flags); smp_mb__after_atomic(); /* /before/ final check for work */ +} - /* Check to see if the driver domain tried to start another request in - * between clearing _XEN_PCIF_active and clearing _PDEVF_op_active. - */ - xen_pcibk_test_and_schedule_op(pdev); +void xen_pcibk_do_op(struct work_struct *data) +{ + struct xen_pcibk_device *pdev = + container_of(data, struct xen_pcibk_device, op_work); + + do { + xen_pcibk_do_one_op(pdev); + } while (xen_pcibk_test_op_pending(pdev)); + + xen_pcibk_lateeoi(pdev, 0); } irqreturn_t xen_pcibk_handle_event(int irq, void *dev_id) { struct xen_pcibk_device *pdev = dev_id; + bool eoi; + + /* IRQs might come in before pdev->evtchn_irq is written. */ + if (unlikely(pdev->evtchn_irq != irq)) + pdev->evtchn_irq = irq; + + eoi = test_and_set_bit(_EOI_pending, &pdev->flags); + WARN(eoi, "IRQ while EOI pending\n"); xen_pcibk_test_and_schedule_op(pdev); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xen-pciback/xenbus.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xen-pciback/xenbus.c @@ -123,7 +123,7 @@ pdev->sh_info = vaddr; - err = bind_interdomain_evtchn_to_irqhandler( + err = bind_interdomain_evtchn_to_irqhandler_lateeoi( pdev->xdev->otherend_id, remote_evtchn, xen_pcibk_handle_event, 0, DRV_NAME, pdev); if (err < 0) { @@ -689,7 +689,7 @@ /* watch the backend node for backend configuration information */ err = xenbus_watch_path(dev, dev->nodename, &pdev->be_watch, - xen_pcibk_be_watch); + NULL, xen_pcibk_be_watch); if (err) goto out; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xen-scsiback.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xen-scsiback.c @@ -91,7 +91,6 @@ unsigned int irq; struct vscsiif_back_ring ring; - int ring_error; spinlock_t ring_lock; atomic_t nr_unreplied_reqs; @@ -100,6 +99,8 @@ struct list_head v2p_entry_lists; wait_queue_head_t waiting_to_free; + + struct gnttab_page_cache free_pages; }; /* theoretical maximum of grants for one request */ @@ -189,10 +190,6 @@ MODULE_PARM_DESC(max_buffer_pages, "Maximum number of free pages to keep in backend buffer"); -static DEFINE_SPINLOCK(free_pages_lock); -static int free_pages_num; -static LIST_HEAD(scsiback_free_pages); - /* Global spinlock to protect scsiback TPG list */ static DEFINE_MUTEX(scsiback_mutex); static LIST_HEAD(scsiback_list); @@ -208,41 +205,6 @@ wake_up(&info->waiting_to_free); } -static void put_free_pages(struct page **page, int num) -{ - unsigned long flags; - int i = free_pages_num + num, n = num; - - if (num == 0) - return; - if (i > scsiback_max_buffer_pages) { - n = min(num, i - scsiback_max_buffer_pages); - gnttab_free_pages(n, page + num - n); - n = num - n; - } - spin_lock_irqsave(&free_pages_lock, flags); - for (i = 0; i < n; i++) - list_add(&page[i]->lru, &scsiback_free_pages); - free_pages_num += n; - spin_unlock_irqrestore(&free_pages_lock, flags); -} - -static int get_free_page(struct page **page) -{ - unsigned long flags; - - spin_lock_irqsave(&free_pages_lock, flags); - if (list_empty(&scsiback_free_pages)) { - spin_unlock_irqrestore(&free_pages_lock, flags); - return gnttab_alloc_pages(1, page); - } - page[0] = list_first_entry(&scsiback_free_pages, struct page, lru); - list_del(&page[0]->lru); - free_pages_num--; - spin_unlock_irqrestore(&free_pages_lock, flags); - return 0; -} - static unsigned long vaddr_page(struct page *page) { unsigned long pfn = page_to_pfn(page); @@ -303,7 +265,8 @@ BUG_ON(err); } - put_free_pages(req->pages, req->n_grants); + gnttab_page_cache_put(&req->info->free_pages, req->pages, + req->n_grants); req->n_grants = 0; } @@ -423,12 +386,12 @@ return 0; err = gnttab_map_refs(map, NULL, pg, cnt); - BUG_ON(err); for (i = 0; i < cnt; i++) { if (unlikely(map[i].status != GNTST_okay)) { pr_err("invalid buffer -- could not remap it\n"); map[i].handle = SCSIBACK_INVALID_HANDLE; - err = -ENOMEM; + if (!err) + err = -ENOMEM; } else { get_page(pg[i]); } @@ -446,8 +409,8 @@ struct vscsibk_info *info = pending_req->info; for (i = 0; i < cnt; i++) { - if (get_free_page(pg + mapcount)) { - put_free_pages(pg, mapcount); + if (gnttab_page_cache_get(&info->free_pages, pg + mapcount)) { + gnttab_page_cache_put(&info->free_pages, pg, mapcount); pr_err("no grant page\n"); return -ENOMEM; } @@ -722,7 +685,8 @@ return pending_req; } -static int scsiback_do_cmd_fn(struct vscsibk_info *info) +static int scsiback_do_cmd_fn(struct vscsibk_info *info, + unsigned int *eoi_flags) { struct vscsiif_back_ring *ring = &info->ring; struct vscsiif_request ring_req; @@ -739,11 +703,12 @@ rc = ring->rsp_prod_pvt; pr_warn("Dom%d provided bogus ring requests (%#x - %#x = %u). Halting ring processing\n", info->domid, rp, rc, rp - rc); - info->ring_error = 1; - return 0; + return -EINVAL; } while ((rc != rp)) { + *eoi_flags &= ~XEN_EOI_FLAG_SPURIOUS; + if (RING_REQUEST_CONS_OVERFLOW(ring, rc)) break; @@ -795,6 +760,8 @@ cond_resched(); } + gnttab_page_cache_shrink(&info->free_pages, scsiback_max_buffer_pages); + RING_FINAL_CHECK_FOR_REQUESTS(&info->ring, more_to_do); return more_to_do; } @@ -802,13 +769,16 @@ static irqreturn_t scsiback_irq_fn(int irq, void *dev_id) { struct vscsibk_info *info = dev_id; + int rc; + unsigned int eoi_flags = XEN_EOI_FLAG_SPURIOUS; - if (info->ring_error) - return IRQ_HANDLED; - - while (scsiback_do_cmd_fn(info)) + while ((rc = scsiback_do_cmd_fn(info, &eoi_flags)) > 0) cond_resched(); + /* In case of a ring error we keep the event channel masked. */ + if (!rc) + xen_irq_lateeoi(irq, eoi_flags); + return IRQ_HANDLED; } @@ -829,7 +799,7 @@ sring = (struct vscsiif_sring *)area; BACK_RING_INIT(&info->ring, sring, PAGE_SIZE); - err = bind_interdomain_evtchn_to_irq(info->domid, evtchn); + err = bind_interdomain_evtchn_to_irq_lateeoi(info->domid, evtchn); if (err < 0) goto unmap_page; @@ -1229,6 +1199,8 @@ scsiback_release_translation_entry(info); + gnttab_page_cache_shrink(&info->free_pages, 0); + dev_set_drvdata(&dev->dev, NULL); return 0; @@ -1253,13 +1225,13 @@ info->domid = dev->otherend_id; spin_lock_init(&info->ring_lock); - info->ring_error = 0; atomic_set(&info->nr_unreplied_reqs, 0); init_waitqueue_head(&info->waiting_to_free); info->dev = dev; info->irq = 0; INIT_LIST_HEAD(&info->v2p_entry_lists); spin_lock_init(&info->v2p_lock); + gnttab_page_cache_init(&info->free_pages); err = xenbus_printf(XBT_NIL, dev->nodename, "feature-sg-grant", "%u", SG_ALL); @@ -1876,13 +1848,6 @@ static void __exit scsiback_exit(void) { - struct page *page; - - while (free_pages_num) { - if (get_free_page(&page)) - BUG(); - gnttab_free_pages(1, &page); - } target_unregister_template(&scsiback_ops); xenbus_unregister_driver(&scsiback_driver); } --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus.h +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus.h @@ -44,6 +44,8 @@ int (*get_bus_id)(char bus_id[XEN_BUS_ID_SIZE], const char *nodename); int (*probe)(struct xen_bus_type *bus, const char *type, const char *dir); + bool (*otherend_will_handle)(struct xenbus_watch *watch, + const char *path, const char *token); void (*otherend_changed)(struct xenbus_watch *watch, const char *path, const char *token); struct bus_type bus; --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus_client.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus_client.c @@ -130,18 +130,22 @@ */ int xenbus_watch_path(struct xenbus_device *dev, const char *path, struct xenbus_watch *watch, + bool (*will_handle)(struct xenbus_watch *, + const char *, const char *), void (*callback)(struct xenbus_watch *, const char *, const char *)) { int err; watch->node = path; + watch->will_handle = will_handle; watch->callback = callback; err = register_xenbus_watch(watch); if (err) { watch->node = NULL; + watch->will_handle = NULL; watch->callback = NULL; xenbus_dev_fatal(dev, err, "adding watch on %s", path); } @@ -168,6 +172,8 @@ */ int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, + bool (*will_handle)(struct xenbus_watch *, + const char *, const char *), void (*callback)(struct xenbus_watch *, const char *, const char *), const char *pathfmt, ...) @@ -184,7 +190,7 @@ xenbus_dev_fatal(dev, -ENOMEM, "allocating path for watch"); return -ENOMEM; } - err = xenbus_watch_path(dev, path, watch, callback); + err = xenbus_watch_path(dev, path, watch, will_handle, callback); if (err) kfree(path); @@ -379,8 +385,14 @@ int i, j; for (i = 0; i < nr_pages; i++) { - err = gnttab_grant_foreign_access(dev->otherend_id, - virt_to_gfn(vaddr), 0); + unsigned long gfn; + + if (is_vmalloc_addr(vaddr)) + gfn = pfn_to_gfn(vmalloc_to_pfn(vaddr)); + else + gfn = virt_to_gfn(vaddr); + + err = gnttab_grant_foreign_access(dev->otherend_id, gfn, 0); if (err < 0) { xenbus_dev_fatal(dev, err, "granting access to ring page"); --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus_comms.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus_comms.c @@ -57,16 +57,8 @@ static int xenbus_irq; static struct task_struct *xenbus_task; -static DECLARE_WORK(probe_work, xenbus_probe); - - static irqreturn_t wake_waiting(int irq, void *unused) { - if (unlikely(xenstored_ready == 0)) { - xenstored_ready = 1; - schedule_work(&probe_work); - } - wake_up(&xb_waitq); return IRQ_HANDLED; } --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus_probe.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus_probe.c @@ -136,6 +136,7 @@ container_of(dev->dev.bus, struct xen_bus_type, bus); return xenbus_watch_pathfmt(dev, &dev->otherend_watch, + bus->otherend_will_handle, bus->otherend_changed, "%s/%s", dev->otherend, "state"); } @@ -682,29 +683,107 @@ } EXPORT_SYMBOL_GPL(unregister_xenstore_notifier); -void xenbus_probe(struct work_struct *unused) +static void xenbus_probe(void) { xenstored_ready = 1; + /* + * In the HVM case, xenbus_init() deferred its call to + * xs_init() in case callbacks were not operational yet. + * So do it now. + */ + if (xen_store_domain_type == XS_HVM) + xs_init(); + /* Notify others that xenstore is up */ blocking_notifier_call_chain(&xenstore_chain, 0, NULL); } -EXPORT_SYMBOL_GPL(xenbus_probe); -static int __init xenbus_probe_initcall(void) +/* + * Returns true when XenStore init must be deferred in order to + * allow the PCI platform device to be initialised, before we + * can actually have event channel interrupts working. + */ +static bool xs_hvm_defer_init_for_callback(void) { - if (!xen_domain()) - return -ENODEV; +#ifdef CONFIG_XEN_PVHVM + return xen_store_domain_type == XS_HVM && + !xen_have_vector_callback; +#else + return false; +#endif +} - if (xen_initial_domain() || xen_hvm_domain()) - return 0; +static int xenbus_probe_thread(void *unused) +{ + DEFINE_WAIT(w); - xenbus_probe(NULL); + /* + * We actually just want to wait for *any* trigger of xb_waitq, + * and run xenbus_probe() the moment it occurs. + */ + prepare_to_wait(&xb_waitq, &w, TASK_INTERRUPTIBLE); + schedule(); + finish_wait(&xb_waitq, &w); + + DPRINTK("probing"); + xenbus_probe(); return 0; } +static int __init xenbus_probe_initcall(void) +{ + /* + * Probe XenBus here in the XS_PV case, and also XS_HVM unless we + * need to wait for the platform PCI device to come up. + */ + if (xen_store_domain_type == XS_PV || + (xen_store_domain_type == XS_HVM && + !xs_hvm_defer_init_for_callback())) + xenbus_probe(); + + /* + * For XS_LOCAL, spawn a thread which will wait for xenstored + * or a xenstore-stubdom to be started, then probe. It will be + * triggered when communication starts happening, by waiting + * on xb_waitq. + */ + if (xen_store_domain_type == XS_LOCAL) { + struct task_struct *probe_task; + + probe_task = kthread_run(xenbus_probe_thread, NULL, + "xenbus_probe"); + if (IS_ERR(probe_task)) + return PTR_ERR(probe_task); + } + return 0; +} device_initcall(xenbus_probe_initcall); +int xen_set_callback_via(uint64_t via) +{ + struct xen_hvm_param a; + int ret; + + a.domid = DOMID_SELF; + a.index = HVM_PARAM_CALLBACK_IRQ; + a.value = via; + + ret = HYPERVISOR_hvm_op(HVMOP_set_param, &a); + if (ret) + return ret; + + /* + * If xenbus_probe_initcall() deferred the xenbus_probe() + * due to the callback not functioning yet, we can do it now. + */ + if (!xenstored_ready && xs_hvm_defer_init_for_callback()) + xenbus_probe(); + + return ret; +} +EXPORT_SYMBOL_GPL(xen_set_callback_via); + /* Set up event channel for xenstored which is run as a local process * (this is normally used only in dom0) */ @@ -817,11 +896,17 @@ break; } - /* Initialize the interface to xenstore. */ - err = xs_init(); - if (err) { - pr_warn("Error initializing xenstore comms: %i\n", err); - goto out_error; + /* + * HVM domains may not have a functional callback yet. In that + * case let xs_init() be called from xenbus_probe(), which will + * get invoked at an appropriate time. + */ + if (xen_store_domain_type != XS_HVM) { + err = xs_init(); + if (err) { + pr_warn("Error initializing xenstore comms: %i\n", err); + goto out_error; + } } if ((xen_store_domain_type != XS_LOCAL) && --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus_probe_backend.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus_probe_backend.c @@ -180,6 +180,12 @@ return err; } +static bool frontend_will_handle(struct xenbus_watch *watch, + const char *path, const char *token) +{ + return watch->nr_pending == 0; +} + static void frontend_changed(struct xenbus_watch *watch, const char *path, const char *token) { @@ -191,6 +197,7 @@ .levels = 3, /* backend/type// */ .get_bus_id = backend_bus_id, .probe = xenbus_probe_backend, + .otherend_will_handle = frontend_will_handle, .otherend_changed = frontend_changed, .bus = { .name = "xen-backend", --- linux-riscv-5.8-5.8.0.orig/drivers/xen/xenbus/xenbus_xs.c +++ linux-riscv-5.8-5.8.0/drivers/xen/xenbus/xenbus_xs.c @@ -705,9 +705,13 @@ spin_lock(&watches_lock); event->handle = find_watch(event->token); - if (event->handle != NULL) { + if (event->handle != NULL && + (!event->handle->will_handle || + event->handle->will_handle(event->handle, + event->path, event->token))) { spin_lock(&watch_events_lock); list_add_tail(&event->list, &watch_events); + event->handle->nr_pending++; wake_up(&watch_events_waitq); spin_unlock(&watch_events_lock); } else @@ -765,6 +769,8 @@ sprintf(token, "%lX", (long)watch); + watch->nr_pending = 0; + down_read(&xs_watch_rwsem); spin_lock(&watches_lock); @@ -814,11 +820,14 @@ /* Cancel pending watch events. */ spin_lock(&watch_events_lock); - list_for_each_entry_safe(event, tmp, &watch_events, list) { - if (event->handle != watch) - continue; - list_del(&event->list); - kfree(event); + if (watch->nr_pending) { + list_for_each_entry_safe(event, tmp, &watch_events, list) { + if (event->handle != watch) + continue; + list_del(&event->list); + kfree(event); + } + watch->nr_pending = 0; } spin_unlock(&watch_events_lock); @@ -865,7 +874,6 @@ static int xenwatch_thread(void *unused) { - struct list_head *ent; struct xs_watch_event *event; xenwatch_pid = current->pid; @@ -880,13 +888,15 @@ mutex_lock(&xenwatch_mutex); spin_lock(&watch_events_lock); - ent = watch_events.next; - if (ent != &watch_events) - list_del(ent); + event = list_first_entry_or_null(&watch_events, + struct xs_watch_event, list); + if (event) { + list_del(&event->list); + event->handle->nr_pending--; + } spin_unlock(&watch_events_lock); - if (ent != &watch_events) { - event = list_entry(ent, struct xs_watch_event, list); + if (event) { event->handle->callback(event->handle, event->path, event->token); kfree(event); --- linux-riscv-5.8-5.8.0.orig/fs/9p/v9fs.c +++ linux-riscv-5.8-5.8.0/fs/9p/v9fs.c @@ -500,10 +500,9 @@ } #ifdef CONFIG_9P_FSCACHE - if (v9ses->fscache) { + if (v9ses->fscache) v9fs_cache_session_put_cookie(v9ses); - kfree(v9ses->cachetag); - } + kfree(v9ses->cachetag); #endif kfree(v9ses->uname); kfree(v9ses->aname); --- linux-riscv-5.8-5.8.0.orig/fs/9p/vfs_file.c +++ linux-riscv-5.8-5.8.0/fs/9p/vfs_file.c @@ -612,9 +612,9 @@ struct writeback_control wbc = { .nr_to_write = LONG_MAX, .sync_mode = WB_SYNC_ALL, - .range_start = vma->vm_pgoff * PAGE_SIZE, + .range_start = (loff_t)vma->vm_pgoff * PAGE_SIZE, /* absolute end, byte at end included */ - .range_end = vma->vm_pgoff * PAGE_SIZE + + .range_end = (loff_t)vma->vm_pgoff * PAGE_SIZE + (vma->vm_end - vma->vm_start - 1), }; --- linux-riscv-5.8-5.8.0.orig/fs/Kconfig +++ linux-riscv-5.8-5.8.0/fs/Kconfig @@ -123,6 +123,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/fscache/Kconfig" @@ -267,6 +285,7 @@ source "fs/ufs/Kconfig" source "fs/erofs/Kconfig" source "fs/vboxsf/Kconfig" +source "fs/aufs/Kconfig" endif # MISC_FILESYSTEMS --- linux-riscv-5.8-5.8.0.orig/fs/Makefile +++ linux-riscv-5.8-5.8.0/fs/Makefile @@ -136,3 +136,5 @@ obj-$(CONFIG_EROFS_FS) += erofs/ obj-$(CONFIG_VBOXSF_FS) += vboxsf/ obj-$(CONFIG_ZONEFS_FS) += zonefs/ +obj-$(CONFIG_SHIFT_FS) += shiftfs.o +obj-$(CONFIG_AUFS_FS) += aufs/ --- linux-riscv-5.8-5.8.0.orig/fs/affs/amigaffs.c +++ linux-riscv-5.8-5.8.0/fs/affs/amigaffs.c @@ -420,24 +420,51 @@ u32 prot = AFFS_I(inode)->i_protect; umode_t mode = inode->i_mode; + /* + * First, clear all RWED bits for owner, group, other. + * Then, recalculate them afresh. + * + * We'll always clear the delete-inhibit bit for the owner, as that is + * the classic single-user mode AmigaOS protection bit and we need to + * stay compatible with all scenarios. + * + * Since multi-user AmigaOS is an extension, we'll only set the + * delete-allow bit if any of the other bits in the same user class + * (group/other) are used. + */ + prot &= ~(FIBF_NOEXECUTE | FIBF_NOREAD + | FIBF_NOWRITE | FIBF_NODELETE + | FIBF_GRP_EXECUTE | FIBF_GRP_READ + | FIBF_GRP_WRITE | FIBF_GRP_DELETE + | FIBF_OTR_EXECUTE | FIBF_OTR_READ + | FIBF_OTR_WRITE | FIBF_OTR_DELETE); + + /* Classic single-user AmigaOS flags. These are inverted. */ if (!(mode & 0100)) prot |= FIBF_NOEXECUTE; if (!(mode & 0400)) prot |= FIBF_NOREAD; if (!(mode & 0200)) prot |= FIBF_NOWRITE; + + /* Multi-user extended flags. Not inverted. */ if (mode & 0010) prot |= FIBF_GRP_EXECUTE; if (mode & 0040) prot |= FIBF_GRP_READ; if (mode & 0020) prot |= FIBF_GRP_WRITE; + if (mode & 0070) + prot |= FIBF_GRP_DELETE; + if (mode & 0001) prot |= FIBF_OTR_EXECUTE; if (mode & 0004) prot |= FIBF_OTR_READ; if (mode & 0002) prot |= FIBF_OTR_WRITE; + if (mode & 0007) + prot |= FIBF_OTR_DELETE; AFFS_I(inode)->i_protect = prot; } --- linux-riscv-5.8-5.8.0.orig/fs/affs/file.c +++ linux-riscv-5.8-5.8.0/fs/affs/file.c @@ -428,6 +428,24 @@ return ret; } +static int affs_write_end(struct file *file, struct address_space *mapping, + loff_t pos, unsigned int len, unsigned int copied, + struct page *page, void *fsdata) +{ + struct inode *inode = mapping->host; + int ret; + + ret = generic_write_end(file, mapping, pos, len, copied, page, fsdata); + + /* Clear Archived bit on file writes, as AmigaOS would do */ + if (AFFS_I(inode)->i_protect & FIBF_ARCHIVED) { + AFFS_I(inode)->i_protect &= ~FIBF_ARCHIVED; + mark_inode_dirty(inode); + } + + return ret; +} + static sector_t _affs_bmap(struct address_space *mapping, sector_t block) { return generic_block_bmap(mapping,block,affs_get_block); @@ -437,7 +455,7 @@ .readpage = affs_readpage, .writepage = affs_writepage, .write_begin = affs_write_begin, - .write_end = generic_write_end, + .write_end = affs_write_end, .direct_IO = affs_direct_IO, .bmap = _affs_bmap }; @@ -794,6 +812,12 @@ if (tmp > inode->i_size) inode->i_size = AFFS_I(inode)->mmu_private = tmp; + /* Clear Archived bit on file writes, as AmigaOS would do */ + if (AFFS_I(inode)->i_protect & FIBF_ARCHIVED) { + AFFS_I(inode)->i_protect &= ~FIBF_ARCHIVED; + mark_inode_dirty(inode); + } + err_first_bh: unlock_page(page); put_page(page); --- linux-riscv-5.8-5.8.0.orig/fs/affs/namei.c +++ linux-riscv-5.8-5.8.0/fs/affs/namei.c @@ -460,8 +460,10 @@ return -EIO; bh_new = affs_bread(sb, d_inode(new_dentry)->i_ino); - if (!bh_new) + if (!bh_new) { + affs_brelse(bh_old); return -EIO; + } /* Remove old header from its parent directory. */ affs_lock_dir(old_dir); --- linux-riscv-5.8-5.8.0.orig/fs/afs/cell.c +++ linux-riscv-5.8-5.8.0/fs/afs/cell.c @@ -19,7 +19,8 @@ static unsigned __read_mostly afs_cell_min_ttl = 10 * 60; static unsigned __read_mostly afs_cell_max_ttl = 24 * 60 * 60; -static void afs_manage_cell(struct work_struct *); +static void afs_queue_cell_manager(struct afs_net *); +static void afs_manage_cell_work(struct work_struct *); static void afs_dec_cells_outstanding(struct afs_net *net) { @@ -37,19 +38,21 @@ atomic_inc(&net->cells_outstanding); if (timer_reduce(&net->cells_timer, jiffies + delay * HZ)) afs_dec_cells_outstanding(net); + } else { + afs_queue_cell_manager(net); } } /* - * Look up and get an activation reference on a cell record under RCU - * conditions. The caller must hold the RCU read lock. + * Look up and get an activation reference on a cell record. The caller must + * hold net->cells_lock at least read-locked. */ -struct afs_cell *afs_lookup_cell_rcu(struct afs_net *net, - const char *name, unsigned int namesz) +static struct afs_cell *afs_find_cell_locked(struct afs_net *net, + const char *name, unsigned int namesz) { struct afs_cell *cell = NULL; struct rb_node *p; - int n, seq = 0, ret = 0; + int n; _enter("%*.*s", namesz, namesz, name); @@ -58,61 +61,47 @@ if (namesz > AFS_MAXCELLNAME) return ERR_PTR(-ENAMETOOLONG); - do { - /* Unfortunately, rbtree walking doesn't give reliable results - * under just the RCU read lock, so we have to check for - * changes. - */ - if (cell) - afs_put_cell(net, cell); - cell = NULL; - ret = -ENOENT; - - read_seqbegin_or_lock(&net->cells_lock, &seq); - - if (!name) { - cell = rcu_dereference_raw(net->ws_cell); - if (cell) { - afs_get_cell(cell); - ret = 0; - break; - } - ret = -EDESTADDRREQ; - continue; - } + if (!name) { + cell = net->ws_cell; + if (!cell) + return ERR_PTR(-EDESTADDRREQ); + goto found; + } - p = rcu_dereference_raw(net->cells.rb_node); - while (p) { - cell = rb_entry(p, struct afs_cell, net_node); - - n = strncasecmp(cell->name, name, - min_t(size_t, cell->name_len, namesz)); - if (n == 0) - n = cell->name_len - namesz; - if (n < 0) { - p = rcu_dereference_raw(p->rb_left); - } else if (n > 0) { - p = rcu_dereference_raw(p->rb_right); - } else { - if (atomic_inc_not_zero(&cell->usage)) { - ret = 0; - break; - } - /* We want to repeat the search, this time with - * the lock properly locked. - */ - } - cell = NULL; - } + p = net->cells.rb_node; + while (p) { + cell = rb_entry(p, struct afs_cell, net_node); - } while (need_seqretry(&net->cells_lock, seq)); + n = strncasecmp(cell->name, name, + min_t(size_t, cell->name_len, namesz)); + if (n == 0) + n = cell->name_len - namesz; + if (n < 0) + p = p->rb_left; + else if (n > 0) + p = p->rb_right; + else + goto found; + } - done_seqretry(&net->cells_lock, seq); + return ERR_PTR(-ENOENT); - if (ret != 0 && cell) - afs_put_cell(net, cell); +found: + return afs_use_cell(cell); +} - return ret == 0 ? cell : ERR_PTR(ret); +/* + * Look up and get an activation reference on a cell record. + */ +struct afs_cell *afs_find_cell(struct afs_net *net, + const char *name, unsigned int namesz) +{ + struct afs_cell *cell; + + down_read(&net->cells_lock); + cell = afs_find_cell_locked(net, name, namesz); + up_read(&net->cells_lock); + return cell; } /* @@ -166,8 +155,9 @@ cell->name[i] = tolower(name[i]); cell->name[i] = 0; - atomic_set(&cell->usage, 2); - INIT_WORK(&cell->manager, afs_manage_cell); + atomic_set(&cell->ref, 1); + atomic_set(&cell->active, 0); + INIT_WORK(&cell->manager, afs_manage_cell_work); cell->volumes = RB_ROOT; INIT_HLIST_HEAD(&cell->proc_volumes); seqlock_init(&cell->volume_lock); @@ -206,6 +196,7 @@ cell->dns_source = vllist->source; cell->dns_status = vllist->status; smp_store_release(&cell->dns_lookup_count, 1); /* vs source/status */ + atomic_inc(&net->cells_outstanding); _leave(" = %p", cell); return cell; @@ -245,9 +236,7 @@ _enter("%s,%s", name, vllist); if (!excl) { - rcu_read_lock(); - cell = afs_lookup_cell_rcu(net, name, namesz); - rcu_read_unlock(); + cell = afs_find_cell(net, name, namesz); if (!IS_ERR(cell)) goto wait_for_cell; } @@ -268,7 +257,7 @@ /* Find the insertion point and check to see if someone else added a * cell whilst we were allocating. */ - write_seqlock(&net->cells_lock); + down_write(&net->cells_lock); pp = &net->cells.rb_node; parent = NULL; @@ -290,23 +279,23 @@ cell = candidate; candidate = NULL; + atomic_set(&cell->active, 2); rb_link_node_rcu(&cell->net_node, parent, pp); rb_insert_color(&cell->net_node, &net->cells); - atomic_inc(&net->cells_outstanding); - write_sequnlock(&net->cells_lock); + up_write(&net->cells_lock); - queue_work(afs_wq, &cell->manager); + afs_queue_cell(cell); wait_for_cell: _debug("wait_for_cell"); wait_var_event(&cell->state, ({ state = smp_load_acquire(&cell->state); /* vs error */ - state == AFS_CELL_ACTIVE || state == AFS_CELL_FAILED; + state == AFS_CELL_ACTIVE || state == AFS_CELL_REMOVED; })); /* Check the state obtained from the wait check. */ - if (state == AFS_CELL_FAILED) { + if (state == AFS_CELL_REMOVED) { ret = cell->error; goto error; } @@ -320,16 +309,17 @@ if (excl) { ret = -EEXIST; } else { - afs_get_cell(cursor); + afs_use_cell(cursor); ret = 0; } - write_sequnlock(&net->cells_lock); - kfree(candidate); + up_write(&net->cells_lock); + if (candidate) + afs_put_cell(candidate); if (ret == 0) goto wait_for_cell; goto error_noput; error: - afs_put_cell(net, cell); + afs_unuse_cell(net, cell); error_noput: _leave(" = %d [error]", ret); return ERR_PTR(ret); @@ -374,15 +364,15 @@ } if (!test_and_set_bit(AFS_CELL_FL_NO_GC, &new_root->flags)) - afs_get_cell(new_root); + afs_use_cell(new_root); /* install the new cell */ - write_seqlock(&net->cells_lock); - old_root = rcu_access_pointer(net->ws_cell); - rcu_assign_pointer(net->ws_cell, new_root); - write_sequnlock(&net->cells_lock); + down_write(&net->cells_lock); + old_root = net->ws_cell; + net->ws_cell = new_root; + up_write(&net->cells_lock); - afs_put_cell(net, old_root); + afs_unuse_cell(net, old_root); _leave(" = 0"); return 0; } @@ -488,18 +478,21 @@ static void afs_cell_destroy(struct rcu_head *rcu) { struct afs_cell *cell = container_of(rcu, struct afs_cell, rcu); + struct afs_net *net = cell->net; + int u; _enter("%p{%s}", cell, cell->name); - ASSERTCMP(atomic_read(&cell->usage), ==, 0); + u = atomic_read(&cell->ref); + ASSERTCMP(u, ==, 0); - afs_put_volume(cell->net, cell->root_volume, afs_volume_trace_put_cell_root); - afs_put_vlserverlist(cell->net, rcu_access_pointer(cell->vl_servers)); - afs_put_cell(cell->net, cell->alias_of); + afs_put_vlserverlist(net, rcu_access_pointer(cell->vl_servers)); + afs_unuse_cell(net, cell->alias_of); key_put(cell->anonymous_key); kfree(cell->name); kfree(cell); + afs_dec_cells_outstanding(net); _leave(" [destroyed]"); } @@ -534,16 +527,50 @@ */ struct afs_cell *afs_get_cell(struct afs_cell *cell) { - atomic_inc(&cell->usage); + if (atomic_read(&cell->ref) <= 0) + BUG(); + + atomic_inc(&cell->ref); return cell; } /* * Drop a reference on a cell record. */ -void afs_put_cell(struct afs_net *net, struct afs_cell *cell) +void afs_put_cell(struct afs_cell *cell) +{ + if (cell) { + unsigned int u, a; + + u = atomic_dec_return(&cell->ref); + if (u == 0) { + a = atomic_read(&cell->active); + WARN(a != 0, "Cell active count %u > 0\n", a); + call_rcu(&cell->rcu, afs_cell_destroy); + } + } +} + +/* + * Note a cell becoming more active. + */ +struct afs_cell *afs_use_cell(struct afs_cell *cell) +{ + if (atomic_read(&cell->ref) <= 0) + BUG(); + + atomic_inc(&cell->active); + return cell; +} + +/* + * Record a cell becoming less active. When the active counter reaches 1, it + * is scheduled for destruction, but may get reactivated. + */ +void afs_unuse_cell(struct afs_net *net, struct afs_cell *cell) { time64_t now, expire_delay; + int a; if (!cell) return; @@ -556,11 +583,21 @@ if (cell->vl_servers->nr_servers) expire_delay = afs_cell_gc_delay; - if (atomic_dec_return(&cell->usage) > 1) - return; + a = atomic_dec_return(&cell->active); + WARN_ON(a == 0); + if (a == 1) + /* 'cell' may now be garbage collected. */ + afs_set_cell_timer(net, expire_delay); +} - /* 'cell' may now be garbage collected. */ - afs_set_cell_timer(net, expire_delay); +/* + * Queue a cell for management, giving the workqueue a ref to hold. + */ +void afs_queue_cell(struct afs_cell *cell) +{ + afs_get_cell(cell); + if (!queue_work(afs_wq, &cell->manager)) + afs_put_cell(cell); } /* @@ -660,12 +697,10 @@ * Manage a cell record, initialising and destroying it, maintaining its DNS * records. */ -static void afs_manage_cell(struct work_struct *work) +static void afs_manage_cell(struct afs_cell *cell) { - struct afs_cell *cell = container_of(work, struct afs_cell, manager); struct afs_net *net = cell->net; - bool deleted; - int ret, usage; + int ret, active; _enter("%s", cell->name); @@ -674,14 +709,17 @@ switch (cell->state) { case AFS_CELL_INACTIVE: case AFS_CELL_FAILED: - write_seqlock(&net->cells_lock); - usage = 1; - deleted = atomic_try_cmpxchg_relaxed(&cell->usage, &usage, 0); - if (deleted) + down_write(&net->cells_lock); + active = 1; + if (atomic_try_cmpxchg_relaxed(&cell->active, &active, 0)) { rb_erase(&cell->net_node, &net->cells); - write_sequnlock(&net->cells_lock); - if (deleted) + smp_store_release(&cell->state, AFS_CELL_REMOVED); + } + up_write(&net->cells_lock); + if (cell->state == AFS_CELL_REMOVED) { + wake_up_var(&cell->state); goto final_destruction; + } if (cell->state == AFS_CELL_FAILED) goto done; smp_store_release(&cell->state, AFS_CELL_UNSET); @@ -703,7 +741,7 @@ goto again; case AFS_CELL_ACTIVE: - if (atomic_read(&cell->usage) > 1) { + if (atomic_read(&cell->active) > 1) { if (test_and_clear_bit(AFS_CELL_FL_DO_LOOKUP, &cell->flags)) { ret = afs_update_cell(cell); if (ret < 0) @@ -716,13 +754,16 @@ goto again; case AFS_CELL_DEACTIVATING: - if (atomic_read(&cell->usage) > 1) + if (atomic_read(&cell->active) > 1) goto reverse_deactivation; afs_deactivate_cell(net, cell); smp_store_release(&cell->state, AFS_CELL_INACTIVE); wake_up_var(&cell->state); goto again; + case AFS_CELL_REMOVED: + goto done; + default: break; } @@ -748,9 +789,18 @@ return; final_destruction: - call_rcu(&cell->rcu, afs_cell_destroy); - afs_dec_cells_outstanding(net); - _leave(" [destruct %d]", atomic_read(&net->cells_outstanding)); + /* The root volume is pinning the cell */ + afs_put_volume(cell->net, cell->root_volume, afs_volume_trace_put_cell_root); + cell->root_volume = NULL; + afs_put_cell(cell); +} + +static void afs_manage_cell_work(struct work_struct *work) +{ + struct afs_cell *cell = container_of(work, struct afs_cell, manager); + + afs_manage_cell(cell); + afs_put_cell(cell); } /* @@ -779,26 +829,25 @@ * lack of use and cells whose DNS results have expired and dispatch * their managers. */ - read_seqlock_excl(&net->cells_lock); + down_read(&net->cells_lock); for (cursor = rb_first(&net->cells); cursor; cursor = rb_next(cursor)) { struct afs_cell *cell = rb_entry(cursor, struct afs_cell, net_node); - unsigned usage; + unsigned active; bool sched_cell = false; - usage = atomic_read(&cell->usage); - _debug("manage %s %u", cell->name, usage); + active = atomic_read(&cell->active); + _debug("manage %s %u %u", cell->name, atomic_read(&cell->ref), active); - ASSERTCMP(usage, >=, 1); + ASSERTCMP(active, >=, 1); if (purging) { if (test_and_clear_bit(AFS_CELL_FL_NO_GC, &cell->flags)) - usage = atomic_dec_return(&cell->usage); - ASSERTCMP(usage, ==, 1); + atomic_dec(&cell->active); } - if (usage == 1) { + if (active == 1) { struct afs_vlserver_list *vllist; time64_t expire_at = cell->last_inactive; @@ -821,10 +870,10 @@ } if (sched_cell) - queue_work(afs_wq, &cell->manager); + afs_queue_cell(cell); } - read_sequnlock_excl(&net->cells_lock); + up_read(&net->cells_lock); /* Update the timer on the way out. We have to pass an increment on * cells_outstanding in the namespace that we are in to the timer or @@ -854,11 +903,11 @@ _enter(""); - write_seqlock(&net->cells_lock); - ws = rcu_access_pointer(net->ws_cell); - RCU_INIT_POINTER(net->ws_cell, NULL); - write_sequnlock(&net->cells_lock); - afs_put_cell(net, ws); + down_write(&net->cells_lock); + ws = net->ws_cell; + net->ws_cell = NULL; + up_write(&net->cells_lock); + afs_unuse_cell(net, ws); _debug("del timer"); if (del_timer_sync(&net->cells_timer)) --- linux-riscv-5.8-5.8.0.orig/fs/afs/dir.c +++ linux-riscv-5.8-5.8.0/fs/afs/dir.c @@ -69,7 +69,6 @@ .permission = afs_permission, .getattr = afs_getattr, .setattr = afs_setattr, - .listxattr = afs_listxattr, }; const struct address_space_operations afs_dir_aops = { @@ -281,8 +280,7 @@ if (ret < 0) goto error; - set_page_private(req->pages[i], 1); - SetPagePrivate(req->pages[i]); + attach_page_private(req->pages[i], (void *)1); unlock_page(req->pages[i]); i++; } else { @@ -824,6 +822,7 @@ vp->cb_break_before = afs_calc_vnode_cb_break(vnode); vp->vnode = vnode; vp->put_vnode = true; + vp->speculative = true; /* vnode not locked */ } } } @@ -1975,8 +1974,7 @@ _enter("{{%llx:%llu}[%lu]}", dvnode->fid.vid, dvnode->fid.vnode, page->index); - set_page_private(page, 0); - ClearPagePrivate(page); + detach_page_private(page); /* The directory will need reloading. */ if (test_and_clear_bit(AFS_VNODE_DIR_VALID, &dvnode->flags)) @@ -2003,8 +2001,6 @@ afs_stat_v(dvnode, n_inval); /* we clean up only if the entire page is being invalidated */ - if (offset == 0 && length == PAGE_SIZE) { - set_page_private(page, 0); - ClearPagePrivate(page); - } + if (offset == 0 && length == PAGE_SIZE) + detach_page_private(page); } --- linux-riscv-5.8-5.8.0.orig/fs/afs/dir_edit.c +++ linux-riscv-5.8-5.8.0/fs/afs/dir_edit.c @@ -243,10 +243,8 @@ index, gfp); if (!page) goto error; - if (!PagePrivate(page)) { - set_page_private(page, 1); - SetPagePrivate(page); - } + if (!PagePrivate(page)) + attach_page_private(page, (void *)1); dir_page = kmap(page); } --- linux-riscv-5.8-5.8.0.orig/fs/afs/dynroot.c +++ linux-riscv-5.8-5.8.0/fs/afs/dynroot.c @@ -123,9 +123,9 @@ len--; } - cell = afs_lookup_cell_rcu(net, name, len); + cell = afs_find_cell(net, name, len); if (!IS_ERR(cell)) { - afs_put_cell(net, cell); + afs_unuse_cell(net, cell); return 0; } @@ -179,7 +179,6 @@ struct afs_cell *cell; struct afs_net *net = afs_d2net(dentry); struct dentry *ret; - unsigned int seq = 0; char *name; int len; @@ -191,17 +190,13 @@ if (!name) goto out_p; - rcu_read_lock(); - do { - read_seqbegin_or_lock(&net->cells_lock, &seq); - cell = rcu_dereference_raw(net->ws_cell); - if (cell) { - len = cell->name_len; - memcpy(name, cell->name, len + 1); - } - } while (need_seqretry(&net->cells_lock, seq)); - done_seqretry(&net->cells_lock, seq); - rcu_read_unlock(); + down_read(&net->cells_lock); + cell = net->ws_cell; + if (cell) { + len = cell->name_len; + memcpy(name, cell->name, len + 1); + } + up_read(&net->cells_lock); ret = ERR_PTR(-ENOENT); if (!cell) @@ -382,15 +377,17 @@ net->dynroot_sb = NULL; mutex_unlock(&net->proc_cells_lock); - inode_lock(root->d_inode); + if (root) { + inode_lock(root->d_inode); - /* Remove all the pins for dirs created for manually added cells */ - list_for_each_entry_safe(subdir, tmp, &root->d_subdirs, d_child) { - if (subdir->d_fsdata) { - subdir->d_fsdata = NULL; - dput(subdir); + /* Remove all the pins for dirs created for manually added cells */ + list_for_each_entry_safe(subdir, tmp, &root->d_subdirs, d_child) { + if (subdir->d_fsdata) { + subdir->d_fsdata = NULL; + dput(subdir); + } } - } - inode_unlock(root->d_inode); + inode_unlock(root->d_inode); + } } --- linux-riscv-5.8-5.8.0.orig/fs/afs/file.c +++ linux-riscv-5.8-5.8.0/fs/afs/file.c @@ -42,7 +42,6 @@ .getattr = afs_getattr, .setattr = afs_setattr, .permission = afs_permission, - .listxattr = afs_listxattr, }; const struct address_space_operations afs_fs_aops = { @@ -601,6 +600,63 @@ } /* + * Adjust the dirty region of the page on truncation or full invalidation, + * getting rid of the markers altogether if the region is entirely invalidated. + */ +static void afs_invalidate_dirty(struct page *page, unsigned int offset, + unsigned int length) +{ + struct afs_vnode *vnode = AFS_FS_I(page->mapping->host); + unsigned long priv; + unsigned int f, t, end = offset + length; + + priv = page_private(page); + + /* we clean up only if the entire page is being invalidated */ + if (offset == 0 && length == thp_size(page)) + goto full_invalidate; + + /* If the page was dirtied by page_mkwrite(), the PTE stays writable + * and we don't get another notification to tell us to expand it + * again. + */ + if (afs_is_page_dirty_mmapped(priv)) + return; + + /* We may need to shorten the dirty region */ + f = afs_page_dirty_from(priv); + t = afs_page_dirty_to(priv); + + if (t <= offset || f >= end) + return; /* Doesn't overlap */ + + if (f < offset && t > end) + return; /* Splits the dirty region - just absorb it */ + + if (f >= offset && t <= end) + goto undirty; + + if (f < offset) + t = offset; + else + f = end; + if (f == t) + goto undirty; + + priv = afs_page_dirty(f, t); + set_page_private(page, priv); + trace_afs_page_dirty(vnode, tracepoint_string("trunc"), page->index, priv); + return; + +undirty: + trace_afs_page_dirty(vnode, tracepoint_string("undirty"), page->index, priv); + clear_page_dirty_for_io(page); +full_invalidate: + priv = (unsigned long)detach_page_private(page); + trace_afs_page_dirty(vnode, tracepoint_string("inval"), page->index, priv); +} + +/* * invalidate part or all of a page * - release a page and clean up its private data if offset is 0 (indicating * the entire page) @@ -608,31 +664,23 @@ static void afs_invalidatepage(struct page *page, unsigned int offset, unsigned int length) { - struct afs_vnode *vnode = AFS_FS_I(page->mapping->host); - unsigned long priv; - _enter("{%lu},%u,%u", page->index, offset, length); BUG_ON(!PageLocked(page)); +#ifdef CONFIG_AFS_FSCACHE /* we clean up only if the entire page is being invalidated */ if (offset == 0 && length == PAGE_SIZE) { -#ifdef CONFIG_AFS_FSCACHE if (PageFsCache(page)) { struct afs_vnode *vnode = AFS_FS_I(page->mapping->host); fscache_wait_on_page_write(vnode->cache, page); fscache_uncache_page(vnode->cache, page); } + } #endif - if (PagePrivate(page)) { - priv = page_private(page); - trace_afs_page_dirty(vnode, tracepoint_string("inval"), - page->index, priv); - set_page_private(page, 0); - ClearPagePrivate(page); - } - } + if (PagePrivate(page)) + afs_invalidate_dirty(page, offset, length); _leave(""); } @@ -660,11 +708,9 @@ #endif if (PagePrivate(page)) { - priv = page_private(page); + priv = (unsigned long)detach_page_private(page); trace_afs_page_dirty(vnode, tracepoint_string("rel"), page->index, priv); - set_page_private(page, 0); - ClearPagePrivate(page); } /* indicate that the page can be released */ --- linux-riscv-5.8-5.8.0.orig/fs/afs/fs_operation.c +++ linux-riscv-5.8-5.8.0/fs/afs/fs_operation.c @@ -181,10 +181,13 @@ if (test_bit(AFS_SERVER_FL_IS_YFS, &op->server->flags) && op->ops->issue_yfs_rpc) op->ops->issue_yfs_rpc(op); - else + else if (op->ops->issue_afs_rpc) op->ops->issue_afs_rpc(op); + else + op->ac.error = -ENOTSUPP; - op->error = afs_wait_for_call_to_complete(op->call, &op->ac); + if (op->call) + op->error = afs_wait_for_call_to_complete(op->call, &op->ac); } switch (op->error) { @@ -235,6 +238,7 @@ afs_end_cursor(&op->ac); afs_put_serverlist(op->net, op->server_list); afs_put_volume(op->net, op->volume, afs_volume_trace_put_put_op); + key_put(op->key); kfree(op); return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/afs/fs_probe.c +++ linux-riscv-5.8-5.8.0/fs/afs/fs_probe.c @@ -161,8 +161,8 @@ } } - rtt_us = rxrpc_kernel_get_srtt(call->net->socket, call->rxcall); - if (rtt_us < server->probe.rtt) { + if (rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us) && + rtt_us < server->probe.rtt) { server->probe.rtt = rtt_us; server->rtt = rtt_us; alist->preferred = index; --- linux-riscv-5.8-5.8.0.orig/fs/afs/inode.c +++ linux-riscv-5.8-5.8.0/fs/afs/inode.c @@ -27,7 +27,6 @@ static const struct inode_operations afs_symlink_inode_operations = { .get_link = page_get_link, - .listxattr = afs_listxattr, }; static noinline void dump_vnode(struct afs_vnode *vnode, struct afs_vnode *parent_vnode) @@ -294,6 +293,13 @@ op->flags &= ~AFS_OPERATION_DIR_CONFLICT; } } else if (vp->scb.have_status) { + if (vp->dv_before + vp->dv_delta != vp->scb.status.data_version && + vp->speculative) + /* Ignore the result of a speculative bulk status fetch + * if it splits around a modification op, thereby + * appearing to regress the data version. + */ + goto out; afs_apply_status(op, vp); if (vp->scb.have_cb) afs_apply_callback(op, vp); @@ -305,6 +311,7 @@ } } +out: write_sequnlock(&vnode->cb_lock); if (vp->scb.have_status) @@ -810,14 +817,32 @@ static void afs_setattr_success(struct afs_operation *op) { - struct inode *inode = &op->file[0].vnode->vfs_inode; + struct afs_vnode_param *vp = &op->file[0]; + struct inode *inode = &vp->vnode->vfs_inode; + loff_t old_i_size = i_size_read(inode); + + op->setattr.old_i_size = old_i_size; + afs_vnode_commit_status(op, vp); + /* inode->i_size has now been changed. */ - afs_vnode_commit_status(op, &op->file[0]); if (op->setattr.attr->ia_valid & ATTR_SIZE) { - loff_t i_size = inode->i_size, size = op->setattr.attr->ia_size; - if (size > i_size) - pagecache_isize_extended(inode, i_size, size); - truncate_pagecache(inode, size); + loff_t size = op->setattr.attr->ia_size; + if (size > old_i_size) + pagecache_isize_extended(inode, old_i_size, size); + } +} + +static void afs_setattr_edit_file(struct afs_operation *op) +{ + struct afs_vnode_param *vp = &op->file[0]; + struct inode *inode = &vp->vnode->vfs_inode; + + if (op->setattr.attr->ia_valid & ATTR_SIZE) { + loff_t size = op->setattr.attr->ia_size; + loff_t i_size = op->setattr.old_i_size; + + if (size < i_size) + truncate_pagecache(inode, size); } } @@ -825,6 +850,7 @@ .issue_afs_rpc = afs_fs_setattr, .issue_yfs_rpc = yfs_fs_setattr, .success = afs_setattr_success, + .edit_dir = afs_setattr_edit_file, }; /* @@ -863,11 +889,16 @@ if (S_ISREG(vnode->vfs_inode.i_mode)) filemap_write_and_wait(vnode->vfs_inode.i_mapping); + /* Prevent any new writebacks from starting whilst we do this. */ + down_write(&vnode->validate_lock); + op = afs_alloc_operation(((attr->ia_valid & ATTR_FILE) ? afs_file_key(attr->ia_file) : NULL), vnode->volume); - if (IS_ERR(op)) - return PTR_ERR(op); + if (IS_ERR(op)) { + ret = PTR_ERR(op); + goto out_unlock; + } afs_op_set_vnode(op, 0, vnode); op->setattr.attr = attr; @@ -880,5 +911,10 @@ op->file[0].update_ctime = 1; op->ops = &afs_setattr_operation; - return afs_do_sync_operation(op); + ret = afs_do_sync_operation(op); + +out_unlock: + up_write(&vnode->validate_lock); + _leave(" = %d", ret); + return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/afs/internal.h +++ linux-riscv-5.8-5.8.0/fs/afs/internal.h @@ -263,11 +263,11 @@ /* Cell database */ struct rb_root cells; - struct afs_cell __rcu *ws_cell; + struct afs_cell *ws_cell; struct work_struct cells_manager; struct timer_list cells_timer; atomic_t cells_outstanding; - seqlock_t cells_lock; + struct rw_semaphore cells_lock; struct mutex cells_alias_lock; struct mutex proc_cells_lock; @@ -326,6 +326,7 @@ AFS_CELL_DEACTIVATING, AFS_CELL_INACTIVE, AFS_CELL_FAILED, + AFS_CELL_REMOVED, }; /* @@ -363,7 +364,8 @@ #endif time64_t dns_expiry; /* Time AFSDB/SRV record expires */ time64_t last_inactive; /* Time of last drop of usage count */ - atomic_t usage; + atomic_t ref; /* Struct refcount */ + atomic_t active; /* Active usage counter */ unsigned long flags; #define AFS_CELL_FL_NO_GC 0 /* The cell was added manually, don't auto-gc */ #define AFS_CELL_FL_DO_LOOKUP 1 /* DNS lookup requested */ @@ -750,6 +752,7 @@ bool update_ctime:1; /* Need to update the ctime */ bool set_size:1; /* Must update i_size */ bool op_unlinked:1; /* True if file was unlinked by op */ + bool speculative:1; /* T if speculative status fetch (no vnode lock) */ }; /* @@ -807,9 +810,11 @@ pgoff_t last; /* last page in mapping to deal with */ unsigned first_offset; /* offset into mapping[first] */ unsigned last_to; /* amount of mapping[last] */ + bool laundering; /* Laundering page, PG_writeback not set */ } store; struct { struct iattr *attr; + loff_t old_i_size; } setattr; struct afs_acl *acl; struct yfs_acl *yacl; @@ -851,6 +856,62 @@ u64 data_version; } __packed; +/* + * We use page->private to hold the amount of the page that we've written to, + * splitting the field into two parts. However, we need to represent a range + * 0...PAGE_SIZE, so we reduce the resolution if the size of the page + * exceeds what we can encode. + */ +#ifdef CONFIG_64BIT +#define __AFS_PAGE_PRIV_MASK 0x7fffffffUL +#define __AFS_PAGE_PRIV_SHIFT 32 +#define __AFS_PAGE_PRIV_MMAPPED 0x80000000UL +#else +#define __AFS_PAGE_PRIV_MASK 0x7fffUL +#define __AFS_PAGE_PRIV_SHIFT 16 +#define __AFS_PAGE_PRIV_MMAPPED 0x8000UL +#endif + +static inline unsigned int afs_page_dirty_resolution(void) +{ + int shift = PAGE_SHIFT - (__AFS_PAGE_PRIV_SHIFT - 1); + return (shift > 0) ? shift : 0; +} + +static inline size_t afs_page_dirty_from(unsigned long priv) +{ + unsigned long x = priv & __AFS_PAGE_PRIV_MASK; + + /* The lower bound is inclusive */ + return x << afs_page_dirty_resolution(); +} + +static inline size_t afs_page_dirty_to(unsigned long priv) +{ + unsigned long x = (priv >> __AFS_PAGE_PRIV_SHIFT) & __AFS_PAGE_PRIV_MASK; + + /* The upper bound is immediately beyond the region */ + return (x + 1) << afs_page_dirty_resolution(); +} + +static inline unsigned long afs_page_dirty(size_t from, size_t to) +{ + unsigned int res = afs_page_dirty_resolution(); + from >>= res; + to = (to - 1) >> res; + return (to << __AFS_PAGE_PRIV_SHIFT) | from; +} + +static inline unsigned long afs_page_dirty_mmapped(unsigned long priv) +{ + return priv | __AFS_PAGE_PRIV_MMAPPED; +} + +static inline bool afs_is_page_dirty_mmapped(unsigned long priv) +{ + return priv & __AFS_PAGE_PRIV_MMAPPED; +} + #include /*****************************************************************************/ @@ -914,11 +975,14 @@ * cell.c */ extern int afs_cell_init(struct afs_net *, const char *); -extern struct afs_cell *afs_lookup_cell_rcu(struct afs_net *, const char *, unsigned); +extern struct afs_cell *afs_find_cell(struct afs_net *, const char *, unsigned); extern struct afs_cell *afs_lookup_cell(struct afs_net *, const char *, unsigned, const char *, bool); +extern struct afs_cell *afs_use_cell(struct afs_cell *); +extern void afs_unuse_cell(struct afs_net *, struct afs_cell *); extern struct afs_cell *afs_get_cell(struct afs_cell *); -extern void afs_put_cell(struct afs_net *, struct afs_cell *); +extern void afs_put_cell(struct afs_cell *); +extern void afs_queue_cell(struct afs_cell *); extern void afs_manage_cells(struct work_struct *); extern void afs_cells_timer(struct timer_list *); extern void __net_exit afs_cell_purge(struct afs_net *); @@ -1439,7 +1503,6 @@ * xattr.c */ extern const struct xattr_handler *afs_xattr_handlers[]; -extern ssize_t afs_listxattr(struct dentry *, char *, size_t); /* * yfsclient.c --- linux-riscv-5.8-5.8.0.orig/fs/afs/main.c +++ linux-riscv-5.8-5.8.0/fs/afs/main.c @@ -78,7 +78,7 @@ mutex_init(&net->socket_mutex); net->cells = RB_ROOT; - seqlock_init(&net->cells_lock); + init_rwsem(&net->cells_lock); INIT_WORK(&net->cells_manager, afs_manage_cells); timer_setup(&net->cells_timer, afs_cells_timer, 0); @@ -193,7 +193,7 @@ goto error_cache; #endif - ret = register_pernet_subsys(&afs_net_ops); + ret = register_pernet_device(&afs_net_ops); if (ret < 0) goto error_net; @@ -213,7 +213,7 @@ error_proc: afs_fs_exit(); error_fs: - unregister_pernet_subsys(&afs_net_ops); + unregister_pernet_device(&afs_net_ops); error_net: #ifdef CONFIG_AFS_FSCACHE fscache_unregister_netfs(&afs_cache_netfs); @@ -244,7 +244,7 @@ proc_remove(afs_proc_symlink); afs_fs_exit(); - unregister_pernet_subsys(&afs_net_ops); + unregister_pernet_device(&afs_net_ops); #ifdef CONFIG_AFS_FSCACHE fscache_unregister_netfs(&afs_cache_netfs); #endif --- linux-riscv-5.8-5.8.0.orig/fs/afs/mntpt.c +++ linux-riscv-5.8-5.8.0/fs/afs/mntpt.c @@ -32,7 +32,6 @@ .lookup = afs_mntpt_lookup, .readlink = page_readlink, .getattr = afs_getattr, - .listxattr = afs_listxattr, }; const struct inode_operations afs_autocell_inode_operations = { @@ -88,7 +87,7 @@ ctx->force = true; } if (ctx->cell) { - afs_put_cell(ctx->net, ctx->cell); + afs_unuse_cell(ctx->net, ctx->cell); ctx->cell = NULL; } if (test_bit(AFS_VNODE_PSEUDODIR, &vnode->flags)) { @@ -124,7 +123,7 @@ char *buf; if (src_as->cell) - ctx->cell = afs_get_cell(src_as->cell); + ctx->cell = afs_use_cell(src_as->cell); if (size < 2 || size > PAGE_SIZE - 1) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/fs/afs/proc.c +++ linux-riscv-5.8-5.8.0/fs/afs/proc.c @@ -38,7 +38,7 @@ if (v == SEQ_START_TOKEN) { /* display header on line 1 */ - seq_puts(m, "USE TTL SV ST NAME\n"); + seq_puts(m, "USE ACT TTL SV ST NAME\n"); return 0; } @@ -46,10 +46,11 @@ vllist = rcu_dereference(cell->vl_servers); /* display one cell per line on subsequent lines */ - seq_printf(m, "%3u %6lld %2u %2u %s\n", - atomic_read(&cell->usage), + seq_printf(m, "%3u %3u %6lld %2u %2u %s\n", + atomic_read(&cell->ref), + atomic_read(&cell->active), cell->dns_expiry - ktime_get_real_seconds(), - vllist->nr_servers, + vllist ? vllist->nr_servers : 0, cell->state, cell->name); return 0; @@ -128,7 +129,7 @@ } if (test_and_set_bit(AFS_CELL_FL_NO_GC, &cell->flags)) - afs_put_cell(net, cell); + afs_unuse_cell(net, cell); } else { goto inval; } @@ -154,13 +155,11 @@ struct afs_net *net; net = afs_seq2net_single(m); - if (rcu_access_pointer(net->ws_cell)) { - rcu_read_lock(); - cell = rcu_dereference(net->ws_cell); - if (cell) - seq_printf(m, "%s\n", cell->name); - rcu_read_unlock(); - } + down_read(&net->cells_lock); + cell = net->ws_cell; + if (cell) + seq_printf(m, "%s\n", cell->name); + up_read(&net->cells_lock); return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/afs/server.c +++ linux-riscv-5.8-5.8.0/fs/afs/server.c @@ -550,7 +550,12 @@ _debug("manage %pU %u", &server->uuid, active); - ASSERTIFCMP(purging, active, ==, 0); + if (purging) { + trace_afs_server(server, atomic_read(&server->ref), + active, afs_server_trace_purging); + if (active != 0) + pr_notice("Can't purge s=%08x\n", server->debug_id); + } if (active == 0) { time64_t expire_at = server->unuse_time; --- linux-riscv-5.8-5.8.0.orig/fs/afs/super.c +++ linux-riscv-5.8-5.8.0/fs/afs/super.c @@ -230,6 +230,9 @@ _enter(",%s", name); + if (fc->source) + return invalf(fc, "kAFS: Multiple sources not supported"); + if (!name) { printk(KERN_ERR "kAFS: no volume name specified\n"); return -EINVAL; @@ -294,7 +297,7 @@ cellnamesz, cellnamesz, cellname ?: ""); return PTR_ERR(cell); } - afs_put_cell(ctx->net, ctx->cell); + afs_unuse_cell(ctx->net, ctx->cell); ctx->cell = cell; } @@ -389,8 +392,8 @@ _debug("switch to alias"); key_put(ctx->key); ctx->key = NULL; - cell = afs_get_cell(ctx->cell->alias_of); - afs_put_cell(ctx->net, ctx->cell); + cell = afs_use_cell(ctx->cell->alias_of); + afs_unuse_cell(ctx->net, ctx->cell); ctx->cell = cell; goto reget_key; } @@ -508,7 +511,7 @@ if (ctx->dyn_root) { as->dyn_root = true; } else { - as->cell = afs_get_cell(ctx->cell); + as->cell = afs_use_cell(ctx->cell); as->volume = afs_get_volume(ctx->volume, afs_volume_trace_get_alloc_sbi); } @@ -521,7 +524,7 @@ if (as) { struct afs_net *net = afs_net(as->net_ns); afs_put_volume(net, as->volume, afs_volume_trace_put_destroy_sbi); - afs_put_cell(net, as->cell); + afs_unuse_cell(net, as->cell); put_net(as->net_ns); kfree(as); } @@ -607,7 +610,7 @@ afs_destroy_sbi(fc->s_fs_info); afs_put_volume(ctx->net, ctx->volume, afs_volume_trace_put_free_fc); - afs_put_cell(ctx->net, ctx->cell); + afs_unuse_cell(ctx->net, ctx->cell); key_put(ctx->key); kfree(ctx); } @@ -634,9 +637,7 @@ ctx->net = afs_net(fc->net_ns); /* Default to the workstation cell. */ - rcu_read_lock(); - cell = afs_lookup_cell_rcu(ctx->net, NULL, 0); - rcu_read_unlock(); + cell = afs_find_cell(ctx->net, NULL, 0); if (IS_ERR(cell)) cell = NULL; ctx->cell = cell; --- linux-riscv-5.8-5.8.0.orig/fs/afs/vl_alias.c +++ linux-riscv-5.8-5.8.0/fs/afs/vl_alias.c @@ -177,7 +177,7 @@ is_alias: rcu_read_unlock(); - cell->alias_of = afs_get_cell(p); + cell->alias_of = afs_use_cell(p); return 1; } @@ -247,18 +247,18 @@ continue; if (p->root_volume) continue; /* Ignore cells that have a root.cell volume. */ - afs_get_cell(p); + afs_use_cell(p); mutex_unlock(&cell->net->proc_cells_lock); if (afs_query_for_alias_one(cell, key, p) != 0) goto is_alias; if (mutex_lock_interruptible(&cell->net->proc_cells_lock) < 0) { - afs_put_cell(cell->net, p); + afs_unuse_cell(cell->net, p); return -ERESTARTSYS; } - afs_put_cell(cell->net, p); + afs_unuse_cell(cell->net, p); } mutex_unlock(&cell->net->proc_cells_lock); --- linux-riscv-5.8-5.8.0.orig/fs/afs/vl_probe.c +++ linux-riscv-5.8-5.8.0/fs/afs/vl_probe.c @@ -92,8 +92,8 @@ } } - rtt_us = rxrpc_kernel_get_srtt(call->net->socket, call->rxcall); - if (rtt_us < server->probe.rtt) { + if (rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us) && + rtt_us < server->probe.rtt) { server->probe.rtt = rtt_us; alist->preferred = index; have_result = true; --- linux-riscv-5.8-5.8.0.orig/fs/afs/vl_rotate.c +++ linux-riscv-5.8-5.8.0/fs/afs/vl_rotate.c @@ -45,7 +45,7 @@ cell->dns_expiry <= ktime_get_real_seconds()) { dns_lookup_count = smp_load_acquire(&cell->dns_lookup_count); set_bit(AFS_CELL_FL_DO_LOOKUP, &cell->flags); - queue_work(afs_wq, &cell->manager); + afs_queue_cell(cell); if (cell->dns_source == DNS_RECORD_UNAVAILABLE) { if (wait_var_event_interruptible( --- linux-riscv-5.8-5.8.0.orig/fs/afs/volume.c +++ linux-riscv-5.8-5.8.0/fs/afs/volume.c @@ -106,7 +106,7 @@ return volume; error_1: - afs_put_cell(params->net, volume->cell); + afs_put_cell(volume->cell); kfree(volume); error_0: return ERR_PTR(ret); @@ -228,7 +228,7 @@ afs_remove_volume_from_cell(volume); afs_put_serverlist(net, rcu_access_pointer(volume->servers)); - afs_put_cell(net, volume->cell); + afs_put_cell(volume->cell); trace_afs_volume(volume->vid, atomic_read(&volume->usage), afs_volume_trace_free); kfree_rcu(volume, rcu); --- linux-riscv-5.8-5.8.0.orig/fs/afs/write.c +++ linux-riscv-5.8-5.8.0/fs/afs/write.c @@ -76,7 +76,7 @@ */ int afs_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, - struct page **pagep, void **fsdata) + struct page **_page, void **fsdata) { struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); struct page *page; @@ -90,11 +90,6 @@ _enter("{%llx:%llu},{%lx},%u,%u", vnode->fid.vid, vnode->fid.vnode, index, from, to); - /* We want to store information about how much of a page is altered in - * page->private. - */ - BUILD_BUG_ON(PAGE_SIZE > 32768 && sizeof(page->private) < 8); - page = grab_cache_page_write_begin(mapping, index, flags); if (!page) return -ENOMEM; @@ -110,9 +105,6 @@ SetPageUptodate(page); } - /* page won't leak in error case: it eventually gets cleaned off LRU */ - *pagep = page; - try_again: /* See if this page is already partially written in a way that we can * merge the new write with. @@ -120,8 +112,8 @@ t = f = 0; if (PagePrivate(page)) { priv = page_private(page); - f = priv & AFS_PRIV_MAX; - t = priv >> AFS_PRIV_SHIFT; + f = afs_page_dirty_from(priv); + t = afs_page_dirty_to(priv); ASSERTCMP(f, <=, t); } @@ -138,21 +130,9 @@ if (!test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags) && (to < f || from > t)) goto flush_conflicting_write; - if (from < f) - f = from; - if (to > t) - t = to; - } else { - f = from; - t = to; } - priv = (unsigned long)t << AFS_PRIV_SHIFT; - priv |= f; - trace_afs_page_dirty(vnode, tracepoint_string("begin"), - page->index, priv); - SetPagePrivate(page); - set_page_private(page, priv); + *_page = page; _leave(" = 0"); return 0; @@ -162,17 +142,18 @@ flush_conflicting_write: _debug("flush conflict"); ret = write_one_page(page); - if (ret < 0) { - _leave(" = %d", ret); - return ret; - } + if (ret < 0) + goto error; ret = lock_page_killable(page); - if (ret < 0) { - _leave(" = %d", ret); - return ret; - } + if (ret < 0) + goto error; goto try_again; + +error: + put_page(page); + _leave(" = %d", ret); + return ret; } /* @@ -184,12 +165,18 @@ { struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); struct key *key = afs_file_key(file); + unsigned long priv; + unsigned int f, from = pos & (PAGE_SIZE - 1); + unsigned int t, to = from + copied; loff_t i_size, maybe_i_size; - int ret; + int ret = 0; _enter("{%llx:%llu},{%lx}", vnode->fid.vid, vnode->fid.vnode, page->index); + if (copied == 0) + goto out; + maybe_i_size = pos + copied; i_size = i_size_read(&vnode->vfs_inode); @@ -215,6 +202,25 @@ SetPageUptodate(page); } + if (PagePrivate(page)) { + priv = page_private(page); + f = afs_page_dirty_from(priv); + t = afs_page_dirty_to(priv); + if (from < f) + f = from; + if (to > t) + t = to; + priv = afs_page_dirty(f, t); + set_page_private(page, priv); + trace_afs_page_dirty(vnode, tracepoint_string("dirty+"), + page->index, priv); + } else { + priv = afs_page_dirty(from, to); + attach_page_private(page, (void *)priv); + trace_afs_page_dirty(vnode, tracepoint_string("dirty"), + page->index, priv); + } + set_page_dirty(page); if (PageDirty(page)) _debug("dirtied"); @@ -334,10 +340,9 @@ ASSERTCMP(pv.nr, ==, count); for (loop = 0; loop < count; loop++) { - priv = page_private(pv.pages[loop]); + priv = (unsigned long)detach_page_private(pv.pages[loop]); trace_afs_page_dirty(vnode, tracepoint_string("clear"), pv.pages[loop]->index, priv); - set_page_private(pv.pages[loop], 0); end_page_writeback(pv.pages[loop]); } first += count; @@ -396,7 +401,8 @@ op->ctime = op->file[0].scb.status.mtime_client; afs_vnode_commit_status(op, &op->file[0]); if (op->error == 0) { - afs_pages_written_back(vnode, op->store.first, op->store.last); + if (!op->store.laundering) + afs_pages_written_back(vnode, op->store.first, op->store.last); afs_stat_v(vnode, n_stores); atomic_long_add((op->store.last * PAGE_SIZE + op->store.last_to) - (op->store.first * PAGE_SIZE + op->store.first_offset), @@ -415,7 +421,7 @@ */ static int afs_store_data(struct address_space *mapping, pgoff_t first, pgoff_t last, - unsigned offset, unsigned to) + unsigned offset, unsigned to, bool laundering) { struct afs_vnode *vnode = AFS_FS_I(mapping->host); struct afs_operation *op; @@ -448,6 +454,7 @@ op->store.last = last; op->store.first_offset = offset; op->store.last_to = to; + op->store.laundering = laundering; op->mtime = vnode->vfs_inode.i_mtime; op->flags |= AFS_OPERATION_UNINTR; op->ops = &afs_store_data_operation; @@ -509,8 +516,8 @@ */ start = primary_page->index; priv = page_private(primary_page); - offset = priv & AFS_PRIV_MAX; - to = priv >> AFS_PRIV_SHIFT; + offset = afs_page_dirty_from(priv); + to = afs_page_dirty_to(priv); trace_afs_page_dirty(vnode, tracepoint_string("store"), primary_page->index, priv); @@ -555,8 +562,8 @@ } priv = page_private(page); - f = priv & AFS_PRIV_MAX; - t = priv >> AFS_PRIV_SHIFT; + f = afs_page_dirty_from(priv); + t = afs_page_dirty_to(priv); if (f != 0 && !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags)) { unlock_page(page); @@ -601,7 +608,7 @@ if (end > i_size) to = i_size & ~PAGE_MASK; - ret = afs_store_data(mapping, first, last, offset, to); + ret = afs_store_data(mapping, first, last, offset, to, false); switch (ret) { case 0: ret = count; @@ -738,11 +745,21 @@ int afs_writepages(struct address_space *mapping, struct writeback_control *wbc) { + struct afs_vnode *vnode = AFS_FS_I(mapping->host); pgoff_t start, end, next; int ret; _enter(""); + /* We have to be careful as we can end up racing with setattr() + * truncating the pagecache since the caller doesn't take a lock here + * to prevent it. + */ + if (wbc->sync_mode == WB_SYNC_ALL) + down_read(&vnode->validate_lock); + else if (!down_read_trylock(&vnode->validate_lock)) + return 0; + if (wbc->range_cyclic) { start = mapping->writeback_index; end = -1; @@ -762,6 +779,7 @@ ret = afs_writepages_region(mapping, wbc, start, end, &next); } + up_read(&vnode->validate_lock); _leave(" = %d", ret); return ret; } @@ -846,12 +864,14 @@ */ wait_on_page_writeback(vmf->page); - priv = (unsigned long)PAGE_SIZE << AFS_PRIV_SHIFT; /* To */ - priv |= 0; /* From */ + priv = afs_page_dirty(0, PAGE_SIZE); + priv = afs_page_dirty_mmapped(priv); trace_afs_page_dirty(vnode, tracepoint_string("mkwrite"), vmf->page->index, priv); - SetPagePrivate(vmf->page); - set_page_private(vmf->page, priv); + if (PagePrivate(vmf->page)) + set_page_private(vmf->page, priv); + else + attach_page_private(vmf->page, (void *)priv); file_update_time(file); sb_end_pagefault(inode->i_sb); @@ -904,19 +924,18 @@ f = 0; t = PAGE_SIZE; if (PagePrivate(page)) { - f = priv & AFS_PRIV_MAX; - t = priv >> AFS_PRIV_SHIFT; + f = afs_page_dirty_from(priv); + t = afs_page_dirty_to(priv); } trace_afs_page_dirty(vnode, tracepoint_string("launder"), page->index, priv); - ret = afs_store_data(mapping, page->index, page->index, t, f); + ret = afs_store_data(mapping, page->index, page->index, t, f, true); } + priv = (unsigned long)detach_page_private(page); trace_afs_page_dirty(vnode, tracepoint_string("laundered"), page->index, priv); - set_page_private(page, 0); - ClearPagePrivate(page); #ifdef CONFIG_AFS_FSCACHE if (PageFsCache(page)) { --- linux-riscv-5.8-5.8.0.orig/fs/afs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/afs/xattr.c @@ -11,29 +11,6 @@ #include #include "internal.h" -static const char afs_xattr_list[] = - "afs.acl\0" - "afs.cell\0" - "afs.fid\0" - "afs.volume\0" - "afs.yfs.acl\0" - "afs.yfs.acl_inherited\0" - "afs.yfs.acl_num_cleaned\0" - "afs.yfs.vol_acl"; - -/* - * Retrieve a list of the supported xattrs. - */ -ssize_t afs_listxattr(struct dentry *dentry, char *buffer, size_t size) -{ - if (size == 0) - return sizeof(afs_xattr_list); - if (size < sizeof(afs_xattr_list)) - return -ERANGE; - memcpy(buffer, afs_xattr_list, sizeof(afs_xattr_list)); - return sizeof(afs_xattr_list); -} - /* * Deal with the result of a successful fetch ACL operation. */ @@ -85,7 +62,7 @@ if (acl->size <= size) memcpy(buffer, acl->data, acl->size); else - op->error = -ERANGE; + ret = -ERANGE; } } @@ -148,11 +125,6 @@ .set = afs_xattr_set_acl, }; -static void yfs_acl_put(struct afs_operation *op) -{ - yfs_free_opaque_acl(op->yacl); -} - static const struct afs_operation_ops yfs_fetch_opaque_acl_operation = { .issue_yfs_rpc = yfs_fs_fetch_opaque_acl, .success = afs_acl_success, @@ -235,6 +207,8 @@ else ret = -ERANGE; } + } else if (ret == -ENOTSUPP) { + ret = -ENODATA; } error_yacl: @@ -246,7 +220,7 @@ static const struct afs_operation_ops yfs_store_opaque_acl2_operation = { .issue_yfs_rpc = yfs_fs_store_opaque_acl2, .success = afs_acl_success, - .put = yfs_acl_put, + .put = afs_acl_put, }; /* @@ -259,6 +233,7 @@ { struct afs_operation *op; struct afs_vnode *vnode = AFS_FS_I(inode); + int ret; if (flags == XATTR_CREATE || strcmp(name, "acl") != 0) @@ -273,7 +248,10 @@ return afs_put_operation(op); op->ops = &yfs_store_opaque_acl2_operation; - return afs_do_sync_operation(op); + ret = afs_do_sync_operation(op); + if (ret == -ENOTSUPP) + ret = -ENODATA; + return ret; } static const struct xattr_handler afs_xattr_yfs_handler = { --- linux-riscv-5.8-5.8.0.orig/fs/afs/yfsclient.c +++ linux-riscv-5.8-5.8.0/fs/afs/yfsclient.c @@ -1990,6 +1990,7 @@ memcpy(bp, acl->data, acl->size); if (acl->size != size) memset((void *)bp + acl->size, 0, size - acl->size); + bp += size / sizeof(__be32); yfs_check_req(call, bp); trace_afs_make_fs_call(call, &vp->fid); --- linux-riscv-5.8-5.8.0.orig/fs/aufs/Kconfig +++ linux-riscv-5.8-5.8.0/fs/aufs/Kconfig @@ -0,0 +1,199 @@ +# SPDX-License-Identifier: GPL-2.0 +config AUFS_FS + tristate "Aufs (Advanced multi layered unification filesystem) support" + help + Aufs is a stackable unification filesystem such as Unionfs, + which unifies several directories and provides a merged single + directory. + In the early days, aufs was entirely re-designed and + re-implemented Unionfs Version 1.x series. Introducing many + original ideas, approaches and improvements, it becomes totally + different from Unionfs while keeping the basic features. + +if AUFS_FS +choice + prompt "Maximum number of branches" + default AUFS_BRANCH_MAX_127 + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_127 + bool "127" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_511 + bool "511" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_1023 + bool "1023" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_32767 + bool "32767" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +endchoice + +config AUFS_SBILIST + bool + depends on AUFS_MAGIC_SYSRQ || PROC_FS + default y + help + Automatic configuration for internal use. + When aufs supports Magic SysRq or /proc, enabled automatically. + +config AUFS_HNOTIFY + bool "Detect direct branch access (bypassing aufs)" + help + If you want to modify files on branches directly, eg. bypassing aufs, + and want aufs to detect the changes of them fully, then enable this + option and use 'udba=notify' mount option. + Currently there is only one available configuration, "fsnotify". + It will have a negative impact to the performance. + See detail in aufs.5. + +choice + prompt "method" if AUFS_HNOTIFY + default AUFS_HFSNOTIFY +config AUFS_HFSNOTIFY + bool "fsnotify" + select FSNOTIFY +endchoice + +config AUFS_EXPORT + bool "NFS-exportable aufs" + depends on EXPORTFS + help + If you want to export your mounted aufs via NFS, then enable this + option. There are several requirements for this configuration. + See detail in aufs.5. + +config AUFS_INO_T_64 + bool + depends on AUFS_EXPORT + depends on 64BIT && !(ALPHA || S390) + default y + help + Automatic configuration for internal use. + /* typedef unsigned long/int __kernel_ino_t */ + /* alpha and s390x are int */ + +config AUFS_XATTR + bool "support for XATTR/EA (including Security Labels)" + help + If your branch fs supports XATTR/EA and you want to make them + available in aufs too, then enable this opsion and specify the + branch attributes for EA. + See detail in aufs.5. + +config AUFS_FHSM + bool "File-based Hierarchical Storage Management" + help + Hierarchical Storage Management (or HSM) is a well-known feature + in the storage world. Aufs provides this feature as file-based. + with multiple branches. + These multiple branches are prioritized, ie. the topmost one + should be the fastest drive and be used heavily. + +config AUFS_RDU + bool "Readdir in userspace" + help + Aufs has two methods to provide a merged view for a directory, + by a user-space library and by kernel-space natively. The latter + is always enabled but sometimes large and slow. + If you enable this option, install the library in aufs2-util + package, and set some environment variables for your readdir(3), + then the work will be handled in user-space which generally + shows better performance in most cases. + See detail in aufs.5. + +config AUFS_DIRREN + bool "Workaround for rename(2)-ing a directory" + help + By default, aufs returns EXDEV error in renameing a dir who has + his child on the lower branch, since it is a bad idea to issue + rename(2) internally for every lower branch. But user may not + accept this behaviour. So here is a workaround to allow such + rename(2) and store some extra infromation on the writable + branch. Obviously this costs high (and I don't like it). + To use this feature, you need to enable this configuration AND + to specify the mount option `dirren.' + See details in aufs.5 and the design documents. + +config AUFS_SHWH + bool "Show whiteouts" + help + If you want to make the whiteouts in aufs visible, then enable + this option and specify 'shwh' mount option. Although it may + sounds like philosophy or something, but in technically it + simply shows the name of whiteout with keeping its behaviour. + +config AUFS_BR_RAMFS + bool "Ramfs (initramfs/rootfs) as an aufs branch" + help + If you want to use ramfs as an aufs branch fs, then enable this + option. Generally tmpfs is recommended. + Aufs prohibited them to be a branch fs by default, because + initramfs becomes unusable after switch_root or something + generally. If you sets initramfs as an aufs branch and boot your + system by switch_root, you will meet a problem easily since the + files in initramfs may be inaccessible. + Unless you are going to use ramfs as an aufs branch fs without + switch_root or something, leave it N. + +config AUFS_BR_FUSE + bool "Fuse fs as an aufs branch" + depends on FUSE_FS + select AUFS_POLL + help + If you want to use fuse-based userspace filesystem as an aufs + branch fs, then enable this option. + It implements the internal poll(2) operation which is + implemented by fuse only (curretnly). + +config AUFS_POLL + bool + help + Automatic configuration for internal use. + +config AUFS_BR_HFSPLUS + bool "Hfsplus as an aufs branch" + depends on HFSPLUS_FS + default y + help + If you want to use hfsplus fs as an aufs branch fs, then enable + this option. This option introduces a small overhead at + copying-up a file on hfsplus. + +config AUFS_BDEV_LOOP + bool + depends on BLK_DEV_LOOP + default y + help + Automatic configuration for internal use. + Convert =[ym] into =y. + +config AUFS_DEBUG + bool "Debug aufs" + help + Enable this to compile aufs internal debug code. + It will have a negative impact to the performance. + +config AUFS_MAGIC_SYSRQ + bool + depends on AUFS_DEBUG && MAGIC_SYSRQ + default y + help + Automatic configuration for internal use. + When aufs supports Magic SysRq, enabled automatically. +endif --- linux-riscv-5.8-5.8.0.orig/fs/aufs/Makefile +++ linux-riscv-5.8-5.8.0/fs/aufs/Makefile @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: GPL-2.0 + +include ${src}/magic.mk +ifeq (${CONFIG_AUFS_FS},m) +include ${src}/conf.mk +endif +-include ${src}/priv_def.mk + +# cf. include/linux/kernel.h +# enable pr_debug +ccflags-y += -DDEBUG +# sparse requires the full pathname +ifdef M +ccflags-y += -include ${M}/../../include/uapi/linux/aufs_type.h +else +ccflags-y += -include ${srctree}/include/uapi/linux/aufs_type.h +endif + +obj-$(CONFIG_AUFS_FS) += aufs.o +aufs-y := module.o sbinfo.o super.o branch.o xino.o sysaufs.o opts.o \ + wkq.o vfsub.o dcsub.o \ + cpup.o whout.o wbr_policy.o \ + dinfo.o dentry.o \ + dynop.o \ + finfo.o file.o f_op.o \ + dir.o vdir.o \ + iinfo.o inode.o i_op.o i_op_add.o i_op_del.o i_op_ren.o \ + mvdown.o ioctl.o + +# all are boolean +aufs-$(CONFIG_PROC_FS) += procfs.o plink.o +aufs-$(CONFIG_SYSFS) += sysfs.o +aufs-$(CONFIG_DEBUG_FS) += dbgaufs.o +aufs-$(CONFIG_AUFS_BDEV_LOOP) += loop.o +aufs-$(CONFIG_AUFS_HNOTIFY) += hnotify.o +aufs-$(CONFIG_AUFS_HFSNOTIFY) += hfsnotify.o +aufs-$(CONFIG_AUFS_EXPORT) += export.o +aufs-$(CONFIG_AUFS_XATTR) += xattr.o +aufs-$(CONFIG_FS_POSIX_ACL) += posix_acl.o +aufs-$(CONFIG_AUFS_DIRREN) += dirren.o +aufs-$(CONFIG_AUFS_FHSM) += fhsm.o +aufs-$(CONFIG_AUFS_POLL) += poll.o +aufs-$(CONFIG_AUFS_RDU) += rdu.o +aufs-$(CONFIG_AUFS_BR_HFSPLUS) += hfsplus.o +aufs-$(CONFIG_AUFS_DEBUG) += debug.o +aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o --- linux-riscv-5.8-5.8.0.orig/fs/aufs/aufs.h +++ linux-riscv-5.8-5.8.0/fs/aufs/aufs.h @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * all header files + */ + +#ifndef __AUFS_H__ +#define __AUFS_H__ + +#ifdef __KERNEL__ + +#define AuStub(type, name, body, ...) \ + static inline type name(__VA_ARGS__) { body; } + +#define AuStubVoid(name, ...) \ + AuStub(void, name, , __VA_ARGS__) +#define AuStubInt0(name, ...) \ + AuStub(int, name, return 0, __VA_ARGS__) + +#include "debug.h" + +#include "branch.h" +#include "cpup.h" +#include "dcsub.h" +#include "dbgaufs.h" +#include "dentry.h" +#include "dir.h" +#include "dirren.h" +#include "dynop.h" +#include "file.h" +#include "fstype.h" +#include "hbl.h" +#include "inode.h" +#include "lcnt.h" +#include "loop.h" +#include "module.h" +#include "opts.h" +#include "rwsem.h" +#include "super.h" +#include "sysaufs.h" +#include "vfsub.h" +#include "whout.h" +#include "wkq.h" + +#endif /* __KERNEL__ */ +#endif /* __AUFS_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/branch.c +++ linux-riscv-5.8-5.8.0/fs/aufs/branch.c @@ -0,0 +1,1427 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * branch management + */ + +#include +#include +#include "aufs.h" + +/* + * free a single branch + */ +static void au_br_do_free(struct au_branch *br) +{ + int i; + struct au_wbr *wbr; + struct au_dykey **key; + + au_hnotify_fin_br(br); + /* always, regardless the mount option */ + au_dr_hino_free(&br->br_dirren); + au_xino_put(br); + + AuLCntZero(au_lcnt_read(&br->br_nfiles, /*do_rev*/0)); + au_lcnt_fin(&br->br_nfiles, /*do_sync*/0); + AuLCntZero(au_lcnt_read(&br->br_count, /*do_rev*/0)); + au_lcnt_fin(&br->br_count, /*do_sync*/0); + + wbr = br->br_wbr; + if (wbr) { + for (i = 0; i < AuBrWh_Last; i++) + dput(wbr->wbr_wh[i]); + AuDebugOn(atomic_read(&wbr->wbr_wh_running)); + AuRwDestroy(&wbr->wbr_wh_rwsem); + } + + if (br->br_fhsm) { + au_br_fhsm_fin(br->br_fhsm); + au_kfree_try_rcu(br->br_fhsm); + } + + key = br->br_dykey; + for (i = 0; i < AuBrDynOp; i++, key++) + if (*key) + au_dy_put(*key); + else + break; + + /* recursive lock, s_umount of branch's */ + /* synchronize_rcu(); */ /* why? */ + lockdep_off(); + path_put(&br->br_path); + lockdep_on(); + au_kfree_rcu(wbr); + au_lcnt_wait_for_fin(&br->br_nfiles); + au_lcnt_wait_for_fin(&br->br_count); + /* I don't know why, but percpu_refcount requires this */ + /* synchronize_rcu(); */ + au_kfree_rcu(br); +} + +/* + * frees all branches + */ +void au_br_free(struct au_sbinfo *sbinfo) +{ + aufs_bindex_t bmax; + struct au_branch **br; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + bmax = sbinfo->si_bbot + 1; + br = sbinfo->si_branch; + while (bmax--) + au_br_do_free(*br++); +} + +/* + * find the index of a branch which is specified by @br_id. + */ +int au_br_index(struct super_block *sb, aufs_bindex_t br_id) +{ + aufs_bindex_t bindex, bbot; + + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) + if (au_sbr_id(sb, bindex) == br_id) + return bindex; + return -1; +} + +/* ---------------------------------------------------------------------- */ + +/* + * add a branch + */ + +static int test_overlap(struct super_block *sb, struct dentry *h_adding, + struct dentry *h_root) +{ + if (unlikely(h_adding == h_root + || au_test_loopback_overlap(sb, h_adding))) + return 1; + if (h_adding->d_sb != h_root->d_sb) + return 0; + return au_test_subdir(h_adding, h_root) + || au_test_subdir(h_root, h_adding); +} + +/* + * returns a newly allocated branch. @new_nbranch is a number of branches + * after adding a branch. + */ +static struct au_branch *au_br_alloc(struct super_block *sb, int new_nbranch, + int perm) +{ + struct au_branch *add_branch; + struct dentry *root; + struct inode *inode; + int err; + + err = -ENOMEM; + add_branch = kzalloc(sizeof(*add_branch), GFP_NOFS); + if (unlikely(!add_branch)) + goto out; + add_branch->br_xino = au_xino_alloc(/*nfile*/1); + if (unlikely(!add_branch->br_xino)) + goto out_br; + err = au_hnotify_init_br(add_branch, perm); + if (unlikely(err)) + goto out_xino; + + if (au_br_writable(perm)) { + /* may be freed separately at changing the branch permission */ + add_branch->br_wbr = kzalloc(sizeof(*add_branch->br_wbr), + GFP_NOFS); + if (unlikely(!add_branch->br_wbr)) + goto out_hnotify; + } + + if (au_br_fhsm(perm)) { + err = au_fhsm_br_alloc(add_branch); + if (unlikely(err)) + goto out_wbr; + } + + root = sb->s_root; + err = au_sbr_realloc(au_sbi(sb), new_nbranch, /*may_shrink*/0); + if (!err) + err = au_di_realloc(au_di(root), new_nbranch, /*may_shrink*/0); + if (!err) { + inode = d_inode(root); + err = au_hinode_realloc(au_ii(inode), new_nbranch, + /*may_shrink*/0); + } + if (!err) + return add_branch; /* success */ + +out_wbr: + au_kfree_rcu(add_branch->br_wbr); +out_hnotify: + au_hnotify_fin_br(add_branch); +out_xino: + au_xino_put(add_branch); +out_br: + au_kfree_rcu(add_branch); +out: + return ERR_PTR(err); +} + +/* + * test if the branch permission is legal or not. + */ +static int test_br(struct inode *inode, int brperm, char *path) +{ + int err; + + err = (au_br_writable(brperm) && IS_RDONLY(inode)); + if (!err) + goto out; + + err = -EINVAL; + pr_err("write permission for readonly mount or inode, %s\n", path); + +out: + return err; +} + +/* + * returns: + * 0: success, the caller will add it + * plus: success, it is already unified, the caller should ignore it + * minus: error + */ +static int test_add(struct super_block *sb, struct au_opt_add *add, int remount) +{ + int err; + aufs_bindex_t bbot, bindex; + struct dentry *root, *h_dentry; + struct inode *inode, *h_inode; + + root = sb->s_root; + bbot = au_sbbot(sb); + if (unlikely(bbot >= 0 + && au_find_dbindex(root, add->path.dentry) >= 0)) { + err = 1; + if (!remount) { + err = -EINVAL; + pr_err("%s duplicated\n", add->pathname); + } + goto out; + } + + err = -ENOSPC; /* -E2BIG; */ + if (unlikely(AUFS_BRANCH_MAX <= add->bindex + || AUFS_BRANCH_MAX - 1 <= bbot)) { + pr_err("number of branches exceeded %s\n", add->pathname); + goto out; + } + + err = -EDOM; + if (unlikely(add->bindex < 0 || bbot + 1 < add->bindex)) { + pr_err("bad index %d\n", add->bindex); + goto out; + } + + inode = d_inode(add->path.dentry); + err = -ENOENT; + if (unlikely(!inode->i_nlink)) { + pr_err("no existence %s\n", add->pathname); + goto out; + } + + err = -EINVAL; + if (unlikely(inode->i_sb == sb)) { + pr_err("%s must be outside\n", add->pathname); + goto out; + } + + if (unlikely(au_test_fs_unsuppoted(inode->i_sb))) { + pr_err("unsupported filesystem, %s (%s)\n", + add->pathname, au_sbtype(inode->i_sb)); + goto out; + } + + if (unlikely(inode->i_sb->s_stack_depth)) { + pr_err("already stacked, %s (%s)\n", + add->pathname, au_sbtype(inode->i_sb)); + goto out; + } + + err = test_br(d_inode(add->path.dentry), add->perm, add->pathname); + if (unlikely(err)) + goto out; + + if (bbot < 0) + return 0; /* success */ + + err = -EINVAL; + for (bindex = 0; bindex <= bbot; bindex++) + if (unlikely(test_overlap(sb, add->path.dentry, + au_h_dptr(root, bindex)))) { + pr_err("%s is overlapped\n", add->pathname); + goto out; + } + + err = 0; + if (au_opt_test(au_mntflags(sb), WARN_PERM)) { + h_dentry = au_h_dptr(root, 0); + h_inode = d_inode(h_dentry); + if ((h_inode->i_mode & S_IALLUGO) != (inode->i_mode & S_IALLUGO) + || !uid_eq(h_inode->i_uid, inode->i_uid) + || !gid_eq(h_inode->i_gid, inode->i_gid)) + pr_warn("uid/gid/perm %s %u/%u/0%o, %u/%u/0%o\n", + add->pathname, + i_uid_read(inode), i_gid_read(inode), + (inode->i_mode & S_IALLUGO), + i_uid_read(h_inode), i_gid_read(h_inode), + (h_inode->i_mode & S_IALLUGO)); + } + +out: + return err; +} + +/* + * initialize or clean the whiteouts for an adding branch + */ +static int au_br_init_wh(struct super_block *sb, struct au_branch *br, + int new_perm) +{ + int err, old_perm; + aufs_bindex_t bindex; + struct inode *h_inode; + struct au_wbr *wbr; + struct au_hinode *hdir; + struct dentry *h_dentry; + + err = vfsub_mnt_want_write(au_br_mnt(br)); + if (unlikely(err)) + goto out; + + wbr = br->br_wbr; + old_perm = br->br_perm; + br->br_perm = new_perm; + hdir = NULL; + h_inode = NULL; + bindex = au_br_index(sb, br->br_id); + if (0 <= bindex) { + hdir = au_hi(d_inode(sb->s_root), bindex); + au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT); + } else { + h_dentry = au_br_dentry(br); + h_inode = d_inode(h_dentry); + inode_lock_nested(h_inode, AuLsc_I_PARENT); + } + if (!wbr) + err = au_wh_init(br, sb); + else { + wbr_wh_write_lock(wbr); + err = au_wh_init(br, sb); + wbr_wh_write_unlock(wbr); + } + if (hdir) + au_hn_inode_unlock(hdir); + else + inode_unlock(h_inode); + vfsub_mnt_drop_write(au_br_mnt(br)); + br->br_perm = old_perm; + + if (!err && wbr && !au_br_writable(new_perm)) { + au_kfree_rcu(wbr); + br->br_wbr = NULL; + } + +out: + return err; +} + +static int au_wbr_init(struct au_branch *br, struct super_block *sb, + int perm) +{ + int err; + struct kstatfs kst; + struct au_wbr *wbr; + + wbr = br->br_wbr; + au_rw_init(&wbr->wbr_wh_rwsem); + atomic_set(&wbr->wbr_wh_running, 0); + + /* + * a limit for rmdir/rename a dir + * cf. AUFS_MAX_NAMELEN in include/uapi/linux/aufs_type.h + */ + err = vfs_statfs(&br->br_path, &kst); + if (unlikely(err)) + goto out; + err = -EINVAL; + if (kst.f_namelen >= NAME_MAX) + err = au_br_init_wh(sb, br, perm); + else + pr_err("%pd(%s), unsupported namelen %ld\n", + au_br_dentry(br), + au_sbtype(au_br_dentry(br)->d_sb), kst.f_namelen); + +out: + return err; +} + +/* initialize a new branch */ +static int au_br_init(struct au_branch *br, struct super_block *sb, + struct au_opt_add *add) +{ + int err; + struct au_branch *brbase; + struct file *xf; + struct inode *h_inode; + + err = 0; + br->br_perm = add->perm; + br->br_path = add->path; /* set first, path_get() later */ + spin_lock_init(&br->br_dykey_lock); + au_lcnt_init(&br->br_nfiles, /*release*/NULL); + au_lcnt_init(&br->br_count, /*release*/NULL); + br->br_id = au_new_br_id(sb); + AuDebugOn(br->br_id < 0); + + /* always, regardless the given option */ + err = au_dr_br_init(sb, br, &add->path); + if (unlikely(err)) + goto out_err; + + if (au_br_writable(add->perm)) { + err = au_wbr_init(br, sb, add->perm); + if (unlikely(err)) + goto out_err; + } + + if (au_opt_test(au_mntflags(sb), XINO)) { + brbase = au_sbr(sb, 0); + xf = au_xino_file(brbase->br_xino, /*idx*/-1); + AuDebugOn(!xf); + h_inode = d_inode(add->path.dentry); + err = au_xino_init_br(sb, br, h_inode->i_ino, &xf->f_path); + if (unlikely(err)) { + AuDebugOn(au_xino_file(br->br_xino, /*idx*/-1)); + goto out_err; + } + } + + sysaufs_br_init(br); + path_get(&br->br_path); + goto out; /* success */ + +out_err: + memset(&br->br_path, 0, sizeof(br->br_path)); +out: + return err; +} + +static void au_br_do_add_brp(struct au_sbinfo *sbinfo, aufs_bindex_t bindex, + struct au_branch *br, aufs_bindex_t bbot, + aufs_bindex_t amount) +{ + struct au_branch **brp; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + brp = sbinfo->si_branch + bindex; + memmove(brp + 1, brp, sizeof(*brp) * amount); + *brp = br; + sbinfo->si_bbot++; + if (unlikely(bbot < 0)) + sbinfo->si_bbot = 0; +} + +static void au_br_do_add_hdp(struct au_dinfo *dinfo, aufs_bindex_t bindex, + aufs_bindex_t bbot, aufs_bindex_t amount) +{ + struct au_hdentry *hdp; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + hdp = au_hdentry(dinfo, bindex); + memmove(hdp + 1, hdp, sizeof(*hdp) * amount); + au_h_dentry_init(hdp); + dinfo->di_bbot++; + if (unlikely(bbot < 0)) + dinfo->di_btop = 0; +} + +static void au_br_do_add_hip(struct au_iinfo *iinfo, aufs_bindex_t bindex, + aufs_bindex_t bbot, aufs_bindex_t amount) +{ + struct au_hinode *hip; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + hip = au_hinode(iinfo, bindex); + memmove(hip + 1, hip, sizeof(*hip) * amount); + au_hinode_init(hip); + iinfo->ii_bbot++; + if (unlikely(bbot < 0)) + iinfo->ii_btop = 0; +} + +static void au_br_do_add(struct super_block *sb, struct au_branch *br, + aufs_bindex_t bindex) +{ + struct dentry *root, *h_dentry; + struct inode *root_inode, *h_inode; + aufs_bindex_t bbot, amount; + + root = sb->s_root; + root_inode = d_inode(root); + bbot = au_sbbot(sb); + amount = bbot + 1 - bindex; + h_dentry = au_br_dentry(br); + au_sbilist_lock(); + au_br_do_add_brp(au_sbi(sb), bindex, br, bbot, amount); + au_br_do_add_hdp(au_di(root), bindex, bbot, amount); + au_br_do_add_hip(au_ii(root_inode), bindex, bbot, amount); + au_set_h_dptr(root, bindex, dget(h_dentry)); + h_inode = d_inode(h_dentry); + au_set_h_iptr(root_inode, bindex, au_igrab(h_inode), /*flags*/0); + au_sbilist_unlock(); +} + +int au_br_add(struct super_block *sb, struct au_opt_add *add, int remount) +{ + int err; + aufs_bindex_t bbot, add_bindex; + struct dentry *root, *h_dentry; + struct inode *root_inode; + struct au_branch *add_branch; + + root = sb->s_root; + root_inode = d_inode(root); + IMustLock(root_inode); + IiMustWriteLock(root_inode); + err = test_add(sb, add, remount); + if (unlikely(err < 0)) + goto out; + if (err) { + err = 0; + goto out; /* success */ + } + + bbot = au_sbbot(sb); + add_branch = au_br_alloc(sb, bbot + 2, add->perm); + err = PTR_ERR(add_branch); + if (IS_ERR(add_branch)) + goto out; + + err = au_br_init(add_branch, sb, add); + if (unlikely(err)) { + au_br_do_free(add_branch); + goto out; + } + + add_bindex = add->bindex; + sysaufs_brs_del(sb, add_bindex); /* remove successors */ + au_br_do_add(sb, add_branch, add_bindex); + sysaufs_brs_add(sb, add_bindex); /* append successors */ + dbgaufs_brs_add(sb, add_bindex, /*topdown*/0); /* rename successors */ + + h_dentry = add->path.dentry; + if (!add_bindex) { + au_cpup_attr_all(root_inode, /*force*/1); + sb->s_maxbytes = h_dentry->d_sb->s_maxbytes; + } else + au_add_nlink(root_inode, d_inode(h_dentry)); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +static unsigned long long au_farray_cb(struct super_block *sb, void *a, + unsigned long long max __maybe_unused, + void *arg) +{ + unsigned long long n; + struct file **p, *f; + struct hlist_bl_head *files; + struct hlist_bl_node *pos; + struct au_finfo *finfo; + + n = 0; + p = a; + files = &au_sbi(sb)->si_files; + hlist_bl_lock(files); + hlist_bl_for_each_entry(finfo, pos, files, fi_hlist) { + f = finfo->fi_file; + if (file_count(f) + && !special_file(file_inode(f)->i_mode)) { + get_file(f); + *p++ = f; + n++; + AuDebugOn(n > max); + } + } + hlist_bl_unlock(files); + + return n; +} + +static struct file **au_farray_alloc(struct super_block *sb, + unsigned long long *max) +{ + struct au_sbinfo *sbi; + + sbi = au_sbi(sb); + *max = au_lcnt_read(&sbi->si_nfiles, /*do_rev*/1); + return au_array_alloc(max, au_farray_cb, sb, /*arg*/NULL); +} + +static void au_farray_free(struct file **a, unsigned long long max) +{ + unsigned long long ull; + + for (ull = 0; ull < max; ull++) + if (a[ull]) + fput(a[ull]); + kvfree(a); +} + +/* ---------------------------------------------------------------------- */ + +/* + * delete a branch + */ + +/* to show the line number, do not make it inlined function */ +#define AuVerbose(do_info, fmt, ...) do { \ + if (do_info) \ + pr_info(fmt, ##__VA_ARGS__); \ +} while (0) + +static int au_test_ibusy(struct inode *inode, aufs_bindex_t btop, + aufs_bindex_t bbot) +{ + return (inode && !S_ISDIR(inode->i_mode)) || btop == bbot; +} + +static int au_test_dbusy(struct dentry *dentry, aufs_bindex_t btop, + aufs_bindex_t bbot) +{ + return au_test_ibusy(d_inode(dentry), btop, bbot); +} + +/* + * test if the branch is deletable or not. + */ +static int test_dentry_busy(struct dentry *root, aufs_bindex_t bindex, + unsigned int sigen, const unsigned int verbose) +{ + int err, i, j, ndentry; + aufs_bindex_t btop, bbot; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry *d; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, root, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + for (i = 0; !err && i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = 0; !err && j < ndentry; j++) { + d = dpage->dentries[j]; + AuDebugOn(au_dcount(d) <= 0); + if (!au_digen_test(d, sigen)) { + di_read_lock_child(d, AuLock_IR); + if (unlikely(au_dbrange_test(d))) { + di_read_unlock(d, AuLock_IR); + continue; + } + } else { + di_write_lock_child(d); + if (unlikely(au_dbrange_test(d))) { + di_write_unlock(d); + continue; + } + err = au_reval_dpath(d, sigen); + if (!err) + di_downgrade_lock(d, AuLock_IR); + else { + di_write_unlock(d); + break; + } + } + + /* AuDbgDentry(d); */ + btop = au_dbtop(d); + bbot = au_dbbot(d); + if (btop <= bindex + && bindex <= bbot + && au_h_dptr(d, bindex) + && au_test_dbusy(d, btop, bbot)) { + err = -EBUSY; + AuVerbose(verbose, "busy %pd\n", d); + AuDbgDentry(d); + } + di_read_unlock(d, AuLock_IR); + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static int test_inode_busy(struct super_block *sb, aufs_bindex_t bindex, + unsigned int sigen, const unsigned int verbose) +{ + int err; + unsigned long long max, ull; + struct inode *i, **array; + aufs_bindex_t btop, bbot; + + array = au_iarray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + err = 0; + AuDbg("b%d\n", bindex); + for (ull = 0; !err && ull < max; ull++) { + i = array[ull]; + if (unlikely(!i)) + break; + if (i->i_ino == AUFS_ROOT_INO) + continue; + + /* AuDbgInode(i); */ + if (au_iigen(i, NULL) == sigen) + ii_read_lock_child(i); + else { + ii_write_lock_child(i); + err = au_refresh_hinode_self(i); + au_iigen_dec(i); + if (!err) + ii_downgrade_lock(i); + else { + ii_write_unlock(i); + break; + } + } + + btop = au_ibtop(i); + bbot = au_ibbot(i); + if (btop <= bindex + && bindex <= bbot + && au_h_iptr(i, bindex) + && au_test_ibusy(i, btop, bbot)) { + err = -EBUSY; + AuVerbose(verbose, "busy i%lu\n", i->i_ino); + AuDbgInode(i); + } + ii_read_unlock(i); + } + au_iarray_free(array, max); + +out: + return err; +} + +static int test_children_busy(struct dentry *root, aufs_bindex_t bindex, + const unsigned int verbose) +{ + int err; + unsigned int sigen; + + sigen = au_sigen(root->d_sb); + DiMustNoWaiters(root); + IiMustNoWaiters(d_inode(root)); + di_write_unlock(root); + err = test_dentry_busy(root, bindex, sigen, verbose); + if (!err) + err = test_inode_busy(root->d_sb, bindex, sigen, verbose); + di_write_lock_child(root); /* aufs_write_lock() calls ..._child() */ + + return err; +} + +static int test_dir_busy(struct file *file, aufs_bindex_t br_id, + struct file **to_free, int *idx) +{ + int err; + unsigned char matched, root; + aufs_bindex_t bindex, bbot; + struct au_fidir *fidir; + struct au_hfile *hfile; + + err = 0; + root = IS_ROOT(file->f_path.dentry); + if (root) { + get_file(file); + to_free[*idx] = file; + (*idx)++; + goto out; + } + + matched = 0; + fidir = au_fi(file)->fi_hdir; + AuDebugOn(!fidir); + bbot = au_fbbot_dir(file); + for (bindex = au_fbtop(file); bindex <= bbot; bindex++) { + hfile = fidir->fd_hfile + bindex; + if (!hfile->hf_file) + continue; + + if (hfile->hf_br->br_id == br_id) { + matched = 1; + break; + } + } + if (matched) + err = -EBUSY; + +out: + return err; +} + +static int test_file_busy(struct super_block *sb, aufs_bindex_t br_id, + struct file **to_free, int opened) +{ + int err, idx; + unsigned long long ull, max; + aufs_bindex_t btop; + struct file *file, **array; + struct dentry *root; + struct au_hfile *hfile; + + array = au_farray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + err = 0; + idx = 0; + root = sb->s_root; + di_write_unlock(root); + for (ull = 0; ull < max; ull++) { + file = array[ull]; + if (unlikely(!file)) + break; + + /* AuDbg("%pD\n", file); */ + fi_read_lock(file); + btop = au_fbtop(file); + if (!d_is_dir(file->f_path.dentry)) { + hfile = &au_fi(file)->fi_htop; + if (hfile->hf_br->br_id == br_id) + err = -EBUSY; + } else + err = test_dir_busy(file, br_id, to_free, &idx); + fi_read_unlock(file); + if (unlikely(err)) + break; + } + di_write_lock_child(root); + au_farray_free(array, max); + AuDebugOn(idx > opened); + +out: + return err; +} + +static void br_del_file(struct file **to_free, unsigned long long opened, + aufs_bindex_t br_id) +{ + unsigned long long ull; + aufs_bindex_t bindex, btop, bbot, bfound; + struct file *file; + struct au_fidir *fidir; + struct au_hfile *hfile; + + for (ull = 0; ull < opened; ull++) { + file = to_free[ull]; + if (unlikely(!file)) + break; + + /* AuDbg("%pD\n", file); */ + AuDebugOn(!d_is_dir(file->f_path.dentry)); + bfound = -1; + fidir = au_fi(file)->fi_hdir; + AuDebugOn(!fidir); + fi_write_lock(file); + btop = au_fbtop(file); + bbot = au_fbbot_dir(file); + for (bindex = btop; bindex <= bbot; bindex++) { + hfile = fidir->fd_hfile + bindex; + if (!hfile->hf_file) + continue; + + if (hfile->hf_br->br_id == br_id) { + bfound = bindex; + break; + } + } + AuDebugOn(bfound < 0); + au_set_h_fptr(file, bfound, NULL); + if (bfound == btop) { + for (btop++; btop <= bbot; btop++) + if (au_hf_dir(file, btop)) { + au_set_fbtop(file, btop); + break; + } + } + fi_write_unlock(file); + } +} + +static void au_br_do_del_brp(struct au_sbinfo *sbinfo, + const aufs_bindex_t bindex, + const aufs_bindex_t bbot) +{ + struct au_branch **brp, **p; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + brp = sbinfo->si_branch + bindex; + if (bindex < bbot) + memmove(brp, brp + 1, sizeof(*brp) * (bbot - bindex)); + sbinfo->si_branch[0 + bbot] = NULL; + sbinfo->si_bbot--; + + p = au_krealloc(sbinfo->si_branch, sizeof(*p) * bbot, AuGFP_SBILIST, + /*may_shrink*/1); + if (p) + sbinfo->si_branch = p; + /* harmless error */ +} + +static void au_br_do_del_hdp(struct au_dinfo *dinfo, const aufs_bindex_t bindex, + const aufs_bindex_t bbot) +{ + struct au_hdentry *hdp, *p; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + hdp = au_hdentry(dinfo, bindex); + if (bindex < bbot) + memmove(hdp, hdp + 1, sizeof(*hdp) * (bbot - bindex)); + /* au_h_dentry_init(au_hdentry(dinfo, bbot); */ + dinfo->di_bbot--; + + p = au_krealloc(dinfo->di_hdentry, sizeof(*p) * bbot, AuGFP_SBILIST, + /*may_shrink*/1); + if (p) + dinfo->di_hdentry = p; + /* harmless error */ +} + +static void au_br_do_del_hip(struct au_iinfo *iinfo, const aufs_bindex_t bindex, + const aufs_bindex_t bbot) +{ + struct au_hinode *hip, *p; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + hip = au_hinode(iinfo, bindex); + if (bindex < bbot) + memmove(hip, hip + 1, sizeof(*hip) * (bbot - bindex)); + /* au_hinode_init(au_hinode(iinfo, bbot)); */ + iinfo->ii_bbot--; + + p = au_krealloc(iinfo->ii_hinode, sizeof(*p) * bbot, AuGFP_SBILIST, + /*may_shrink*/1); + if (p) + iinfo->ii_hinode = p; + /* harmless error */ +} + +static void au_br_do_del(struct super_block *sb, aufs_bindex_t bindex, + struct au_branch *br) +{ + aufs_bindex_t bbot; + struct au_sbinfo *sbinfo; + struct dentry *root, *h_root; + struct inode *inode, *h_inode; + struct au_hinode *hinode; + + SiMustWriteLock(sb); + + root = sb->s_root; + inode = d_inode(root); + sbinfo = au_sbi(sb); + bbot = sbinfo->si_bbot; + + h_root = au_h_dptr(root, bindex); + hinode = au_hi(inode, bindex); + h_inode = au_igrab(hinode->hi_inode); + au_hiput(hinode); + + au_sbilist_lock(); + au_br_do_del_brp(sbinfo, bindex, bbot); + au_br_do_del_hdp(au_di(root), bindex, bbot); + au_br_do_del_hip(au_ii(inode), bindex, bbot); + au_sbilist_unlock(); + + /* ignore an error */ + au_dr_br_fin(sb, br); /* always, regardless the mount option */ + + dput(h_root); + iput(h_inode); + au_br_do_free(br); +} + +static unsigned long long empty_cb(struct super_block *sb, void *array, + unsigned long long max, void *arg) +{ + return max; +} + +int au_br_del(struct super_block *sb, struct au_opt_del *del, int remount) +{ + int err, rerr, i; + unsigned long long opened; + unsigned int mnt_flags; + aufs_bindex_t bindex, bbot, br_id; + unsigned char do_wh, verbose; + struct au_branch *br; + struct au_wbr *wbr; + struct dentry *root; + struct file **to_free; + + err = 0; + opened = 0; + to_free = NULL; + root = sb->s_root; + bindex = au_find_dbindex(root, del->h_path.dentry); + if (bindex < 0) { + if (remount) + goto out; /* success */ + err = -ENOENT; + pr_err("%s no such branch\n", del->pathname); + goto out; + } + AuDbg("bindex b%d\n", bindex); + + err = -EBUSY; + mnt_flags = au_mntflags(sb); + verbose = !!au_opt_test(mnt_flags, VERBOSE); + bbot = au_sbbot(sb); + if (unlikely(!bbot)) { + AuVerbose(verbose, "no more branches left\n"); + goto out; + } + + br = au_sbr(sb, bindex); + AuDebugOn(!path_equal(&br->br_path, &del->h_path)); + if (unlikely(au_lcnt_read(&br->br_count, /*do_rev*/1))) { + AuVerbose(verbose, "br %pd2 is busy now\n", del->h_path.dentry); + goto out; + } + + br_id = br->br_id; + opened = au_lcnt_read(&br->br_nfiles, /*do_rev*/1); + if (unlikely(opened)) { + to_free = au_array_alloc(&opened, empty_cb, sb, NULL); + err = PTR_ERR(to_free); + if (IS_ERR(to_free)) + goto out; + + err = test_file_busy(sb, br_id, to_free, opened); + if (unlikely(err)) { + AuVerbose(verbose, "%llu file(s) opened\n", opened); + goto out; + } + } + + wbr = br->br_wbr; + do_wh = wbr && (wbr->wbr_whbase || wbr->wbr_plink || wbr->wbr_orph); + if (do_wh) { + /* instead of WbrWhMustWriteLock(wbr) */ + SiMustWriteLock(sb); + for (i = 0; i < AuBrWh_Last; i++) { + dput(wbr->wbr_wh[i]); + wbr->wbr_wh[i] = NULL; + } + } + + err = test_children_busy(root, bindex, verbose); + if (unlikely(err)) { + if (do_wh) + goto out_wh; + goto out; + } + + err = 0; + if (to_free) { + /* + * now we confirmed the branch is deletable. + * let's free the remaining opened dirs on the branch. + */ + di_write_unlock(root); + br_del_file(to_free, opened, br_id); + di_write_lock_child(root); + } + + sysaufs_brs_del(sb, bindex); /* remove successors */ + dbgaufs_xino_del(br); /* remove one */ + au_br_do_del(sb, bindex, br); + sysaufs_brs_add(sb, bindex); /* append successors */ + dbgaufs_brs_add(sb, bindex, /*topdown*/1); /* rename successors */ + + if (!bindex) { + au_cpup_attr_all(d_inode(root), /*force*/1); + sb->s_maxbytes = au_sbr_sb(sb, 0)->s_maxbytes; + } else + au_sub_nlink(d_inode(root), d_inode(del->h_path.dentry)); + if (au_opt_test(mnt_flags, PLINK)) + au_plink_half_refresh(sb, br_id); + + goto out; /* success */ + +out_wh: + /* revert */ + rerr = au_br_init_wh(sb, br, br->br_perm); + if (rerr) + pr_warn("failed re-creating base whiteout, %s. (%d)\n", + del->pathname, rerr); +out: + if (to_free) + au_farray_free(to_free, opened); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_ibusy(struct super_block *sb, struct aufs_ibusy __user *arg) +{ + int err; + aufs_bindex_t btop, bbot; + struct aufs_ibusy ibusy; + struct inode *inode, *h_inode; + + err = -EPERM; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = copy_from_user(&ibusy, arg, sizeof(ibusy)); + if (!err) + /* VERIFY_WRITE */ + err = !access_ok(&arg->h_ino, sizeof(arg->h_ino)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + + err = -EINVAL; + si_read_lock(sb, AuLock_FLUSH); + if (unlikely(ibusy.bindex < 0 || ibusy.bindex > au_sbbot(sb))) + goto out_unlock; + + err = 0; + ibusy.h_ino = 0; /* invalid */ + inode = ilookup(sb, ibusy.ino); + if (!inode + || inode->i_ino == AUFS_ROOT_INO + || au_is_bad_inode(inode)) + goto out_unlock; + + ii_read_lock_child(inode); + btop = au_ibtop(inode); + bbot = au_ibbot(inode); + if (btop <= ibusy.bindex && ibusy.bindex <= bbot) { + h_inode = au_h_iptr(inode, ibusy.bindex); + if (h_inode && au_test_ibusy(inode, btop, bbot)) + ibusy.h_ino = h_inode->i_ino; + } + ii_read_unlock(inode); + iput(inode); + +out_unlock: + si_read_unlock(sb); + if (!err) { + err = __put_user(ibusy.h_ino, &arg->h_ino); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + } + } +out: + return err; +} + +long au_ibusy_ioctl(struct file *file, unsigned long arg) +{ + return au_ibusy(file->f_path.dentry->d_sb, (void __user *)arg); +} + +#ifdef CONFIG_COMPAT +long au_ibusy_compat_ioctl(struct file *file, unsigned long arg) +{ + return au_ibusy(file->f_path.dentry->d_sb, compat_ptr(arg)); +} +#endif + +/* ---------------------------------------------------------------------- */ + +/* + * change a branch permission + */ + +static void au_warn_ima(void) +{ +#ifdef CONFIG_IMA + /* since it doesn't support mark_files_ro() */ + AuWarn1("RW -> RO makes IMA to produce wrong message\n"); +#endif +} + +static int do_need_sigen_inc(int a, int b) +{ + return au_br_whable(a) && !au_br_whable(b); +} + +static int need_sigen_inc(int old, int new) +{ + return do_need_sigen_inc(old, new) + || do_need_sigen_inc(new, old); +} + +static int au_br_mod_files_ro(struct super_block *sb, aufs_bindex_t bindex) +{ + int err, do_warn; + unsigned int mnt_flags; + unsigned long long ull, max; + aufs_bindex_t br_id; + unsigned char verbose, writer; + struct file *file, *hf, **array; + struct au_hfile *hfile; + struct inode *h_inode; + + mnt_flags = au_mntflags(sb); + verbose = !!au_opt_test(mnt_flags, VERBOSE); + + array = au_farray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + do_warn = 0; + br_id = au_sbr_id(sb, bindex); + for (ull = 0; ull < max; ull++) { + file = array[ull]; + if (unlikely(!file)) + break; + + /* AuDbg("%pD\n", file); */ + fi_read_lock(file); + if (unlikely(au_test_mmapped(file))) { + err = -EBUSY; + AuVerbose(verbose, "mmapped %pD\n", file); + AuDbgFile(file); + FiMustNoWaiters(file); + fi_read_unlock(file); + goto out_array; + } + + hfile = &au_fi(file)->fi_htop; + hf = hfile->hf_file; + if (!d_is_reg(file->f_path.dentry) + || !(file->f_mode & FMODE_WRITE) + || hfile->hf_br->br_id != br_id + || !(hf->f_mode & FMODE_WRITE)) + array[ull] = NULL; + else { + do_warn = 1; + get_file(file); + } + + FiMustNoWaiters(file); + fi_read_unlock(file); + fput(file); + } + + err = 0; + if (do_warn) + au_warn_ima(); + + for (ull = 0; ull < max; ull++) { + file = array[ull]; + if (!file) + continue; + + /* todo: already flushed? */ + /* + * fs/super.c:mark_files_ro() is gone, but aufs keeps its + * approach which resets f_mode and calls mnt_drop_write() and + * file_release_write() for each file, because the branch + * attribute in aufs world is totally different from the native + * fs rw/ro mode. + */ + /* fi_read_lock(file); */ + hfile = &au_fi(file)->fi_htop; + hf = hfile->hf_file; + /* fi_read_unlock(file); */ + spin_lock(&hf->f_lock); + writer = !!(hf->f_mode & FMODE_WRITER); + hf->f_mode &= ~(FMODE_WRITE | FMODE_WRITER); + spin_unlock(&hf->f_lock); + if (writer) { + h_inode = file_inode(hf); + if (hf->f_mode & FMODE_READ) + i_readcount_inc(h_inode); + put_write_access(h_inode); + __mnt_drop_write(hf->f_path.mnt); + } + } + +out_array: + au_farray_free(array, max); +out: + AuTraceErr(err); + return err; +} + +int au_br_mod(struct super_block *sb, struct au_opt_mod *mod, int remount, + int *do_refresh) +{ + int err, rerr; + aufs_bindex_t bindex; + struct dentry *root; + struct au_branch *br; + struct au_br_fhsm *bf; + + root = sb->s_root; + bindex = au_find_dbindex(root, mod->h_root); + if (bindex < 0) { + if (remount) + return 0; /* success */ + err = -ENOENT; + pr_err("%s no such branch\n", mod->path); + goto out; + } + AuDbg("bindex b%d\n", bindex); + + err = test_br(d_inode(mod->h_root), mod->perm, mod->path); + if (unlikely(err)) + goto out; + + br = au_sbr(sb, bindex); + AuDebugOn(mod->h_root != au_br_dentry(br)); + if (br->br_perm == mod->perm) + return 0; /* success */ + + /* pre-allocate for non-fhsm --> fhsm */ + bf = NULL; + if (!au_br_fhsm(br->br_perm) && au_br_fhsm(mod->perm)) { + err = au_fhsm_br_alloc(br); + if (unlikely(err)) + goto out; + bf = br->br_fhsm; + br->br_fhsm = NULL; + } + + if (au_br_writable(br->br_perm)) { + /* remove whiteout base */ + err = au_br_init_wh(sb, br, mod->perm); + if (unlikely(err)) + goto out_bf; + + if (!au_br_writable(mod->perm)) { + /* rw --> ro, file might be mmapped */ + DiMustNoWaiters(root); + IiMustNoWaiters(d_inode(root)); + di_write_unlock(root); + err = au_br_mod_files_ro(sb, bindex); + /* aufs_write_lock() calls ..._child() */ + di_write_lock_child(root); + + if (unlikely(err)) { + rerr = -ENOMEM; + br->br_wbr = kzalloc(sizeof(*br->br_wbr), + GFP_NOFS); + if (br->br_wbr) + rerr = au_wbr_init(br, sb, br->br_perm); + if (unlikely(rerr)) { + AuIOErr("nested error %d (%d)\n", + rerr, err); + br->br_perm = mod->perm; + } + } + } + } else if (au_br_writable(mod->perm)) { + /* ro --> rw */ + err = -ENOMEM; + br->br_wbr = kzalloc(sizeof(*br->br_wbr), GFP_NOFS); + if (br->br_wbr) { + err = au_wbr_init(br, sb, mod->perm); + if (unlikely(err)) { + au_kfree_rcu(br->br_wbr); + br->br_wbr = NULL; + } + } + } + if (unlikely(err)) + goto out_bf; + + if (au_br_fhsm(br->br_perm)) { + if (!au_br_fhsm(mod->perm)) { + /* fhsm --> non-fhsm */ + au_br_fhsm_fin(br->br_fhsm); + au_kfree_rcu(br->br_fhsm); + br->br_fhsm = NULL; + } + } else if (au_br_fhsm(mod->perm)) + /* non-fhsm --> fhsm */ + br->br_fhsm = bf; + + *do_refresh |= need_sigen_inc(br->br_perm, mod->perm); + br->br_perm = mod->perm; + goto out; /* success */ + +out_bf: + au_kfree_try_rcu(bf); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_br_stfs(struct au_branch *br, struct aufs_stfs *stfs) +{ + int err; + struct kstatfs kstfs; + + err = vfs_statfs(&br->br_path, &kstfs); + if (!err) { + stfs->f_blocks = kstfs.f_blocks; + stfs->f_bavail = kstfs.f_bavail; + stfs->f_files = kstfs.f_files; + stfs->f_ffree = kstfs.f_ffree; + } + + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/branch.h +++ linux-riscv-5.8-5.8.0/fs/aufs/branch.h @@ -0,0 +1,366 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * branch filesystems and xino for them + */ + +#ifndef __AUFS_BRANCH_H__ +#define __AUFS_BRANCH_H__ + +#ifdef __KERNEL__ + +#include +#include "dirren.h" +#include "dynop.h" +#include "lcnt.h" +#include "rwsem.h" +#include "super.h" + +/* ---------------------------------------------------------------------- */ + +/* a xino file */ +struct au_xino { + struct file **xi_file; + unsigned int xi_nfile; + + struct { + spinlock_t spin; + ino_t *array; + int total; + /* reserved for future use */ + /* unsigned long *bitmap; */ + wait_queue_head_t wqh; + } xi_nondir; + + struct mutex xi_mtx; /* protects xi_file array */ + struct hlist_bl_head xi_writing; + + atomic_t xi_truncating; + + struct kref xi_kref; +}; + +/* File-based Hierarchical Storage Management */ +struct au_br_fhsm { +#ifdef CONFIG_AUFS_FHSM + struct mutex bf_lock; + unsigned long bf_jiffy; + struct aufs_stfs bf_stfs; + int bf_readable; +#endif +}; + +/* members for writable branch only */ +enum {AuBrWh_BASE, AuBrWh_PLINK, AuBrWh_ORPH, AuBrWh_Last}; +struct au_wbr { + struct au_rwsem wbr_wh_rwsem; + struct dentry *wbr_wh[AuBrWh_Last]; + atomic_t wbr_wh_running; +#define wbr_whbase wbr_wh[AuBrWh_BASE] /* whiteout base */ +#define wbr_plink wbr_wh[AuBrWh_PLINK] /* pseudo-link dir */ +#define wbr_orph wbr_wh[AuBrWh_ORPH] /* dir for orphans */ + + /* mfs mode */ + unsigned long long wbr_bytes; +}; + +/* ext2 has 3 types of operations at least, ext3 has 4 */ +#define AuBrDynOp (AuDyLast * 4) + +#ifdef CONFIG_AUFS_HFSNOTIFY +/* support for asynchronous destruction */ +struct au_br_hfsnotify { + struct fsnotify_group *hfsn_group; +}; +#endif + +/* sysfs entries */ +struct au_brsysfs { + char name[16]; + struct attribute attr; +}; + +enum { + AuBrSysfs_BR, + AuBrSysfs_BRID, + AuBrSysfs_Last +}; + +/* protected by superblock rwsem */ +struct au_branch { + struct au_xino *br_xino; + + aufs_bindex_t br_id; + + int br_perm; + struct path br_path; + spinlock_t br_dykey_lock; + struct au_dykey *br_dykey[AuBrDynOp]; + au_lcnt_t br_nfiles; /* opened files */ + au_lcnt_t br_count; /* in-use for other */ + + struct au_wbr *br_wbr; + struct au_br_fhsm *br_fhsm; + +#ifdef CONFIG_AUFS_HFSNOTIFY + struct au_br_hfsnotify *br_hfsn; +#endif + +#ifdef CONFIG_SYSFS + /* entries under sysfs per mount-point */ + struct au_brsysfs br_sysfs[AuBrSysfs_Last]; +#endif + +#ifdef CONFIG_DEBUG_FS + struct dentry *br_dbgaufs; /* xino */ +#endif + + struct au_dr_br br_dirren; +}; + +/* ---------------------------------------------------------------------- */ + +static inline struct vfsmount *au_br_mnt(struct au_branch *br) +{ + return br->br_path.mnt; +} + +static inline struct dentry *au_br_dentry(struct au_branch *br) +{ + return br->br_path.dentry; +} + +static inline struct super_block *au_br_sb(struct au_branch *br) +{ + return au_br_mnt(br)->mnt_sb; +} + +static inline int au_br_rdonly(struct au_branch *br) +{ + return (sb_rdonly(au_br_sb(br)) + || !au_br_writable(br->br_perm)) + ? -EROFS : 0; +} + +static inline int au_br_hnotifyable(int brperm __maybe_unused) +{ +#ifdef CONFIG_AUFS_HNOTIFY + return !(brperm & AuBrPerm_RR); +#else + return 0; +#endif +} + +static inline int au_br_test_oflag(int oflag, struct au_branch *br) +{ + int err, exec_flag; + + err = 0; + exec_flag = oflag & __FMODE_EXEC; + if (unlikely(exec_flag && path_noexec(&br->br_path))) + err = -EACCES; + + return err; +} + +static inline void au_xino_get(struct au_branch *br) +{ + struct au_xino *xi; + + xi = br->br_xino; + if (xi) + kref_get(&xi->xi_kref); +} + +static inline int au_xino_count(struct au_branch *br) +{ + int v; + struct au_xino *xi; + + v = 0; + xi = br->br_xino; + if (xi) + v = kref_read(&xi->xi_kref); + + return v; +} + +/* ---------------------------------------------------------------------- */ + +/* branch.c */ +struct au_sbinfo; +void au_br_free(struct au_sbinfo *sinfo); +int au_br_index(struct super_block *sb, aufs_bindex_t br_id); +struct au_opt_add; +int au_br_add(struct super_block *sb, struct au_opt_add *add, int remount); +struct au_opt_del; +int au_br_del(struct super_block *sb, struct au_opt_del *del, int remount); +long au_ibusy_ioctl(struct file *file, unsigned long arg); +#ifdef CONFIG_COMPAT +long au_ibusy_compat_ioctl(struct file *file, unsigned long arg); +#endif +struct au_opt_mod; +int au_br_mod(struct super_block *sb, struct au_opt_mod *mod, int remount, + int *do_refresh); +struct aufs_stfs; +int au_br_stfs(struct au_branch *br, struct aufs_stfs *stfs); + +/* xino.c */ +static const loff_t au_loff_max = LLONG_MAX; + +aufs_bindex_t au_xi_root(struct super_block *sb, struct dentry *dentry); +struct file *au_xino_create(struct super_block *sb, char *fpath, int silent, + int wbrtop); +struct file *au_xino_create2(struct super_block *sb, struct path *base, + struct file *copy_src); +struct au_xi_new { + struct au_xino *xi; /* switch between xino and xigen */ + int idx; + struct path *base; + struct file *copy_src; +}; +struct file *au_xi_new(struct super_block *sb, struct au_xi_new *xinew); + +int au_xino_read(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t *ino); +int au_xino_write(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t ino); +ssize_t xino_fread(vfs_readf_t func, struct file *file, void *buf, size_t size, + loff_t *pos); +ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf, + size_t size, loff_t *pos); + +int au_xib_trunc(struct super_block *sb); +int au_xino_trunc(struct super_block *sb, aufs_bindex_t bindex, int idx_begin); + +struct au_xino *au_xino_alloc(unsigned int nfile); +int au_xino_put(struct au_branch *br); +struct file *au_xino_file1(struct au_xino *xi); + +struct au_opt_xino; +void au_xino_clr(struct super_block *sb); +int au_xino_set(struct super_block *sb, struct au_opt_xino *xiopt, int remount); +struct file *au_xino_def(struct super_block *sb); +int au_xino_init_br(struct super_block *sb, struct au_branch *br, ino_t hino, + struct path *base); + +ino_t au_xino_new_ino(struct super_block *sb); +void au_xino_delete_inode(struct inode *inode, const int unlinked); + +void au_xinondir_leave(struct super_block *sb, aufs_bindex_t bindex, + ino_t h_ino, int idx); +int au_xinondir_enter(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + int *idx); + +int au_xino_path(struct seq_file *seq, struct file *file); + +/* ---------------------------------------------------------------------- */ + +/* @idx is signed to accept -1 meaning the first file */ +static inline struct file *au_xino_file(struct au_xino *xi, int idx) +{ + struct file *file; + + file = NULL; + if (!xi) + goto out; + + if (idx >= 0) { + if (idx < xi->xi_nfile) + file = xi->xi_file[idx]; + } else + file = au_xino_file1(xi); + +out: + return file; +} + +/* ---------------------------------------------------------------------- */ + +/* Superblock to branch */ +static inline +aufs_bindex_t au_sbr_id(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr(sb, bindex)->br_id; +} + +static inline +struct vfsmount *au_sbr_mnt(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_br_mnt(au_sbr(sb, bindex)); +} + +static inline +struct super_block *au_sbr_sb(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_br_sb(au_sbr(sb, bindex)); +} + +static inline int au_sbr_perm(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_sbr(sb, bindex)->br_perm; +} + +static inline int au_sbr_whable(struct super_block *sb, aufs_bindex_t bindex) +{ + return au_br_whable(au_sbr_perm(sb, bindex)); +} + +/* ---------------------------------------------------------------------- */ + +#define wbr_wh_read_lock(wbr) au_rw_read_lock(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_write_lock(wbr) au_rw_write_lock(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_read_trylock(wbr) au_rw_read_trylock(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_write_trylock(wbr) au_rw_write_trylock(&(wbr)->wbr_wh_rwsem) +/* +#define wbr_wh_read_trylock_nested(wbr) \ + au_rw_read_trylock_nested(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_write_trylock_nested(wbr) \ + au_rw_write_trylock_nested(&(wbr)->wbr_wh_rwsem) +*/ + +#define wbr_wh_read_unlock(wbr) au_rw_read_unlock(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_write_unlock(wbr) au_rw_write_unlock(&(wbr)->wbr_wh_rwsem) +#define wbr_wh_downgrade_lock(wbr) au_rw_dgrade_lock(&(wbr)->wbr_wh_rwsem) + +#define WbrWhMustNoWaiters(wbr) AuRwMustNoWaiters(&(wbr)->wbr_wh_rwsem) +#define WbrWhMustAnyLock(wbr) AuRwMustAnyLock(&(wbr)->wbr_wh_rwsem) +#define WbrWhMustWriteLock(wbr) AuRwMustWriteLock(&(wbr)->wbr_wh_rwsem) + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_FHSM +static inline void au_br_fhsm_init(struct au_br_fhsm *brfhsm) +{ + mutex_init(&brfhsm->bf_lock); + brfhsm->bf_jiffy = 0; + brfhsm->bf_readable = 0; +} + +static inline void au_br_fhsm_fin(struct au_br_fhsm *brfhsm) +{ + mutex_destroy(&brfhsm->bf_lock); +} +#else +AuStubVoid(au_br_fhsm_init, struct au_br_fhsm *brfhsm) +AuStubVoid(au_br_fhsm_fin, struct au_br_fhsm *brfhsm) +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_BRANCH_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/conf.mk +++ linux-riscv-5.8-5.8.0/fs/aufs/conf.mk @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0 + +AuConfStr = CONFIG_AUFS_FS=${CONFIG_AUFS_FS} + +define AuConf +ifdef ${1} +AuConfStr += ${1}=${${1}} +endif +endef + +AuConfAll = BRANCH_MAX_127 BRANCH_MAX_511 BRANCH_MAX_1023 BRANCH_MAX_32767 \ + SBILIST \ + HNOTIFY HFSNOTIFY \ + EXPORT INO_T_64 \ + XATTR \ + FHSM \ + RDU \ + DIRREN \ + SHWH \ + BR_RAMFS \ + BR_FUSE POLL \ + BR_HFSPLUS \ + BDEV_LOOP \ + DEBUG MAGIC_SYSRQ +$(foreach i, ${AuConfAll}, \ + $(eval $(call AuConf,CONFIG_AUFS_${i}))) + +AuConfName = ${obj}/conf.str +${AuConfName}.tmp: FORCE + @echo ${AuConfStr} | tr ' ' '\n' | sed -e 's/^/"/' -e 's/$$/\\n"/' > $@ +${AuConfName}: ${AuConfName}.tmp + @diff -q $< $@ > /dev/null 2>&1 || { \ + echo ' GEN ' $@; \ + cp -p $< $@; \ + } +FORCE: +clean-files += ${AuConfName} ${AuConfName}.tmp +${obj}/sysfs.o: ${AuConfName} + +-include ${srctree}/${src}/conf_priv.mk --- linux-riscv-5.8-5.8.0.orig/fs/aufs/cpup.c +++ linux-riscv-5.8-5.8.0/fs/aufs/cpup.c @@ -0,0 +1,1458 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * copy-up functions, see wbr_policy.c for copy-down + */ + +#include +#include +#include +#include "aufs.h" + +void au_cpup_attr_flags(struct inode *dst, unsigned int iflags) +{ + const unsigned int mask = S_DEAD | S_SWAPFILE | S_PRIVATE + | S_NOATIME | S_NOCMTIME | S_AUTOMOUNT; + + BUILD_BUG_ON(sizeof(iflags) != sizeof(dst->i_flags)); + + dst->i_flags |= iflags & ~mask; + if (au_test_fs_notime(dst->i_sb)) + dst->i_flags |= S_NOATIME | S_NOCMTIME; +} + +void au_cpup_attr_timesizes(struct inode *inode) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibtop(inode)); + fsstack_copy_attr_times(inode, h_inode); + fsstack_copy_inode_size(inode, h_inode); +} + +void au_cpup_attr_nlink(struct inode *inode, int force) +{ + struct inode *h_inode; + struct super_block *sb; + aufs_bindex_t bindex, bbot; + + sb = inode->i_sb; + bindex = au_ibtop(inode); + h_inode = au_h_iptr(inode, bindex); + if (!force + && !S_ISDIR(h_inode->i_mode) + && au_opt_test(au_mntflags(sb), PLINK) + && au_plink_test(inode)) + return; + + /* + * 0 can happen in revalidating. + * h_inode->i_mutex may not be held here, but it is harmless since once + * i_nlink reaches 0, it will never become positive except O_TMPFILE + * case. + * todo: O_TMPFILE+linkat(AT_SYMLINK_FOLLOW) bypassing aufs may cause + * the incorrect link count. + */ + set_nlink(inode, h_inode->i_nlink); + + /* + * fewer nlink makes find(1) noisy, but larger nlink doesn't. + * it may includes whplink directory. + */ + if (S_ISDIR(h_inode->i_mode)) { + bbot = au_ibbot(inode); + for (bindex++; bindex <= bbot; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (h_inode) + au_add_nlink(inode, h_inode); + } + } +} + +void au_cpup_attr_changeable(struct inode *inode) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibtop(inode)); + inode->i_mode = h_inode->i_mode; + inode->i_uid = h_inode->i_uid; + inode->i_gid = h_inode->i_gid; + au_cpup_attr_timesizes(inode); + au_cpup_attr_flags(inode, h_inode->i_flags); +} + +void au_cpup_igen(struct inode *inode, struct inode *h_inode) +{ + struct au_iinfo *iinfo = au_ii(inode); + + IiMustWriteLock(inode); + + iinfo->ii_higen = h_inode->i_generation; + iinfo->ii_hsb1 = h_inode->i_sb; +} + +void au_cpup_attr_all(struct inode *inode, int force) +{ + struct inode *h_inode; + + h_inode = au_h_iptr(inode, au_ibtop(inode)); + au_cpup_attr_changeable(inode); + if (inode->i_nlink > 0) + au_cpup_attr_nlink(inode, force); + inode->i_rdev = h_inode->i_rdev; + inode->i_blkbits = h_inode->i_blkbits; + au_cpup_igen(inode, h_inode); +} + +/* ---------------------------------------------------------------------- */ + +/* Note: dt_dentry and dt_h_dentry are not dget/dput-ed */ + +/* keep the timestamps of the parent dir when cpup */ +void au_dtime_store(struct au_dtime *dt, struct dentry *dentry, + struct path *h_path) +{ + struct inode *h_inode; + + dt->dt_dentry = dentry; + dt->dt_h_path = *h_path; + h_inode = d_inode(h_path->dentry); + dt->dt_atime = h_inode->i_atime; + dt->dt_mtime = h_inode->i_mtime; + /* smp_mb(); */ +} + +void au_dtime_revert(struct au_dtime *dt) +{ + struct iattr attr; + int err; + + attr.ia_atime = dt->dt_atime; + attr.ia_mtime = dt->dt_mtime; + attr.ia_valid = ATTR_FORCE | ATTR_MTIME | ATTR_MTIME_SET + | ATTR_ATIME | ATTR_ATIME_SET; + + /* no delegation since this is a directory */ + err = vfsub_notify_change(&dt->dt_h_path, &attr, /*delegated*/NULL); + if (unlikely(err)) + pr_warn("restoring timestamps failed(%d). ignored\n", err); +} + +/* ---------------------------------------------------------------------- */ + +/* internal use only */ +struct au_cpup_reg_attr { + int valid; + struct kstat st; + unsigned int iflags; /* inode->i_flags */ +}; + +static noinline_for_stack +int cpup_iattr(struct dentry *dst, aufs_bindex_t bindex, struct dentry *h_src, + struct au_cpup_reg_attr *h_src_attr) +{ + int err, sbits, icex; + unsigned int mnt_flags; + unsigned char verbose; + struct iattr ia; + struct path h_path; + struct inode *h_isrc, *h_idst; + struct kstat *h_st; + struct au_branch *br; + + h_path.dentry = au_h_dptr(dst, bindex); + h_idst = d_inode(h_path.dentry); + br = au_sbr(dst->d_sb, bindex); + h_path.mnt = au_br_mnt(br); + h_isrc = d_inode(h_src); + ia.ia_valid = ATTR_FORCE | ATTR_UID | ATTR_GID + | ATTR_ATIME | ATTR_MTIME + | ATTR_ATIME_SET | ATTR_MTIME_SET; + if (h_src_attr && h_src_attr->valid) { + h_st = &h_src_attr->st; + ia.ia_uid = h_st->uid; + ia.ia_gid = h_st->gid; + ia.ia_atime = h_st->atime; + ia.ia_mtime = h_st->mtime; + if (h_idst->i_mode != h_st->mode + && !S_ISLNK(h_idst->i_mode)) { + ia.ia_valid |= ATTR_MODE; + ia.ia_mode = h_st->mode; + } + sbits = !!(h_st->mode & (S_ISUID | S_ISGID)); + au_cpup_attr_flags(h_idst, h_src_attr->iflags); + } else { + ia.ia_uid = h_isrc->i_uid; + ia.ia_gid = h_isrc->i_gid; + ia.ia_atime = h_isrc->i_atime; + ia.ia_mtime = h_isrc->i_mtime; + if (h_idst->i_mode != h_isrc->i_mode + && !S_ISLNK(h_idst->i_mode)) { + ia.ia_valid |= ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + } + sbits = !!(h_isrc->i_mode & (S_ISUID | S_ISGID)); + au_cpup_attr_flags(h_idst, h_isrc->i_flags); + } + /* no delegation since it is just created */ + err = vfsub_notify_change(&h_path, &ia, /*delegated*/NULL); + + /* is this nfs only? */ + if (!err && sbits && au_test_nfs(h_path.dentry->d_sb)) { + ia.ia_valid = ATTR_FORCE | ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + err = vfsub_notify_change(&h_path, &ia, /*delegated*/NULL); + } + + icex = br->br_perm & AuBrAttr_ICEX; + if (!err) { + mnt_flags = au_mntflags(dst->d_sb); + verbose = !!au_opt_test(mnt_flags, VERBOSE); + err = au_cpup_xattr(h_path.dentry, h_src, icex, verbose); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_copy_file(struct file *dst, struct file *src, loff_t len, + char *buf, unsigned long blksize) +{ + int err; + size_t sz, rbytes, wbytes; + unsigned char all_zero; + char *p, *zp; + struct inode *h_inode; + /* reduce stack usage */ + struct iattr *ia; + + zp = page_address(ZERO_PAGE(0)); + if (unlikely(!zp)) + return -ENOMEM; /* possible? */ + + err = 0; + all_zero = 0; + while (len) { + AuDbg("len %lld\n", len); + sz = blksize; + if (len < blksize) + sz = len; + + rbytes = 0; + /* todo: signal_pending? */ + while (!rbytes || err == -EAGAIN || err == -EINTR) { + rbytes = vfsub_read_k(src, buf, sz, &src->f_pos); + err = rbytes; + } + if (unlikely(err < 0)) + break; + + all_zero = 0; + if (len >= rbytes && rbytes == blksize) + all_zero = !memcmp(buf, zp, rbytes); + if (!all_zero) { + wbytes = rbytes; + p = buf; + while (wbytes) { + size_t b; + + b = vfsub_write_k(dst, p, wbytes, &dst->f_pos); + err = b; + /* todo: signal_pending? */ + if (unlikely(err == -EAGAIN || err == -EINTR)) + continue; + if (unlikely(err < 0)) + break; + wbytes -= b; + p += b; + } + if (unlikely(err < 0)) + break; + } else { + loff_t res; + + AuLabel(hole); + res = vfsub_llseek(dst, rbytes, SEEK_CUR); + err = res; + if (unlikely(res < 0)) + break; + } + len -= rbytes; + err = 0; + } + + /* the last block may be a hole */ + if (!err && all_zero) { + AuLabel(last hole); + + err = 1; + if (au_test_nfs(dst->f_path.dentry->d_sb)) { + /* nfs requires this step to make last hole */ + /* is this only nfs? */ + do { + /* todo: signal_pending? */ + err = vfsub_write_k(dst, "\0", 1, &dst->f_pos); + } while (err == -EAGAIN || err == -EINTR); + if (err == 1) + dst->f_pos--; + } + + if (err == 1) { + ia = (void *)buf; + ia->ia_size = dst->f_pos; + ia->ia_valid = ATTR_SIZE | ATTR_FILE; + ia->ia_file = dst; + h_inode = file_inode(dst); + inode_lock_nested(h_inode, AuLsc_I_CHILD2); + /* no delegation since it is just created */ + err = vfsub_notify_change(&dst->f_path, ia, + /*delegated*/NULL); + inode_unlock(h_inode); + } + } + + return err; +} + +int au_copy_file(struct file *dst, struct file *src, loff_t len) +{ + int err; + unsigned long blksize; + unsigned char do_kfree; + char *buf; + struct super_block *h_sb; + + err = -ENOMEM; + h_sb = file_inode(dst)->i_sb; + blksize = h_sb->s_blocksize; + if (!blksize || PAGE_SIZE < blksize) + blksize = PAGE_SIZE; + AuDbg("blksize %lu\n", blksize); + do_kfree = (blksize != PAGE_SIZE && blksize >= sizeof(struct iattr *)); + if (do_kfree) + buf = kmalloc(blksize, GFP_NOFS); + else + buf = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!buf)) + goto out; + + if (len > (1 << 22)) + AuDbg("copying a large file %lld\n", (long long)len); + + src->f_pos = 0; + dst->f_pos = 0; + err = au_do_copy_file(dst, src, len, buf, blksize); + if (do_kfree) { + AuDebugOn(!au_kfree_do_sz_test(blksize)); + au_kfree_do_rcu(buf); + } else + free_page((unsigned long)buf); + +out: + return err; +} + +static int au_do_copy(struct file *dst, struct file *src, loff_t len) +{ + int err; + struct super_block *h_src_sb; + struct inode *h_src_inode; + + h_src_inode = file_inode(src); + h_src_sb = h_src_inode->i_sb; + + /* XFS acquires inode_lock */ + if (!au_test_xfs(h_src_sb)) + err = au_copy_file(dst, src, len); + else { + inode_unlock_shared(h_src_inode); + err = au_copy_file(dst, src, len); + inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } + + return err; +} + +static int au_clone_or_copy(struct file *dst, struct file *src, loff_t len) +{ + int err; + loff_t lo; + struct super_block *h_src_sb; + struct inode *h_src_inode; + + h_src_inode = file_inode(src); + h_src_sb = h_src_inode->i_sb; + if (h_src_sb != file_inode(dst)->i_sb + || !dst->f_op->remap_file_range) { + err = au_do_copy(dst, src, len); + goto out; + } + + if (!au_test_nfs(h_src_sb)) { + inode_unlock_shared(h_src_inode); + lo = vfsub_clone_file_range(src, dst, len); + inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } else + lo = vfsub_clone_file_range(src, dst, len); + if (lo == len) { + err = 0; + goto out; /* success */ + } else if (lo >= 0) + /* todo: possible? */ + /* paritially succeeded */ + AuDbg("lo %lld, len %lld. Retrying.\n", lo, len); + else if (lo != -EOPNOTSUPP) { + /* older XFS has a condition in cloning */ + err = lo; + goto out; + } + + /* the backend fs on NFS may not support cloning */ + err = au_do_copy(dst, src, len); + +out: + AuTraceErr(err); + return err; +} + +/* + * to support a sparse file which is opened with O_APPEND, + * we need to close the file. + */ +static int au_cp_regular(struct au_cp_generic *cpg) +{ + int err, i; + enum { SRC, DST }; + struct { + aufs_bindex_t bindex; + unsigned int flags; + struct dentry *dentry; + int force_wr; + struct file *file; + } *f, file[] = { + { + .bindex = cpg->bsrc, + .flags = O_RDONLY | O_NOATIME | O_LARGEFILE, + }, + { + .bindex = cpg->bdst, + .flags = O_WRONLY | O_NOATIME | O_LARGEFILE, + .force_wr = !!au_ftest_cpup(cpg->flags, RWDST), + } + }; + struct au_branch *br; + struct super_block *sb, *h_src_sb; + struct inode *h_src_inode; + struct task_struct *tsk = current; + + /* bsrc branch can be ro/rw. */ + sb = cpg->dentry->d_sb; + f = file; + for (i = 0; i < 2; i++, f++) { + f->dentry = au_h_dptr(cpg->dentry, f->bindex); + f->file = au_h_open(cpg->dentry, f->bindex, f->flags, + /*file*/NULL, f->force_wr); + if (IS_ERR(f->file)) { + err = PTR_ERR(f->file); + if (i == SRC) + goto out; + else + goto out_src; + } + } + + /* try stopping to update while we copyup */ + h_src_inode = d_inode(file[SRC].dentry); + h_src_sb = h_src_inode->i_sb; + if (!au_test_nfs(h_src_sb)) + IMustLock(h_src_inode); + err = au_clone_or_copy(file[DST].file, file[SRC].file, cpg->len); + + /* i wonder if we had O_NO_DELAY_FPUT flag */ + if (tsk->flags & PF_KTHREAD) + __fput_sync(file[DST].file); + else { + /* it happened actually */ + fput(file[DST].file); + /* + * too bad. + * we have to call both since we don't know which place the file + * was added to. + */ + task_work_run(); + flush_delayed_fput(); + } + br = au_sbr(sb, file[DST].bindex); + au_lcnt_dec(&br->br_nfiles); + +out_src: + fput(file[SRC].file); + br = au_sbr(sb, file[SRC].bindex); + au_lcnt_dec(&br->br_nfiles); +out: + return err; +} + +static int au_do_cpup_regular(struct au_cp_generic *cpg, + struct au_cpup_reg_attr *h_src_attr) +{ + int err, rerr; + loff_t l; + struct path h_path; + struct inode *h_src_inode, *h_dst_inode; + + err = 0; + h_src_inode = au_h_iptr(d_inode(cpg->dentry), cpg->bsrc); + l = i_size_read(h_src_inode); + if (cpg->len == -1 || l < cpg->len) + cpg->len = l; + if (cpg->len) { + /* try stopping to update while we are referencing */ + inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + au_pin_hdir_unlock(cpg->pin); + + h_path.dentry = au_h_dptr(cpg->dentry, cpg->bsrc); + h_path.mnt = au_sbr_mnt(cpg->dentry->d_sb, cpg->bsrc); + h_src_attr->iflags = h_src_inode->i_flags; + if (!au_test_nfs(h_src_inode->i_sb)) + err = vfsub_getattr(&h_path, &h_src_attr->st); + else { + inode_unlock_shared(h_src_inode); + err = vfsub_getattr(&h_path, &h_src_attr->st); + inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } + if (unlikely(err)) { + inode_unlock_shared(h_src_inode); + goto out; + } + h_src_attr->valid = 1; + if (!au_test_nfs(h_src_inode->i_sb)) { + err = au_cp_regular(cpg); + inode_unlock_shared(h_src_inode); + } else { + inode_unlock_shared(h_src_inode); + err = au_cp_regular(cpg); + } + rerr = au_pin_hdir_relock(cpg->pin); + if (!err && rerr) + err = rerr; + } + if (!err && (h_src_inode->i_state & I_LINKABLE)) { + h_path.dentry = au_h_dptr(cpg->dentry, cpg->bdst); + h_dst_inode = d_inode(h_path.dentry); + spin_lock(&h_dst_inode->i_lock); + h_dst_inode->i_state |= I_LINKABLE; + spin_unlock(&h_dst_inode->i_lock); + } + +out: + return err; +} + +static int au_do_cpup_symlink(struct path *h_path, struct dentry *h_src, + struct inode *h_dir) +{ + int err, symlen; + mm_segment_t old_fs; + union { + char *k; + char __user *u; + } sym; + + err = -ENOMEM; + sym.k = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!sym.k)) + goto out; + + /* unnecessary to support mmap_sem since symlink is not mmap-able */ + old_fs = get_fs(); + set_fs(KERNEL_DS); + symlen = vfs_readlink(h_src, sym.u, PATH_MAX); + err = symlen; + set_fs(old_fs); + + if (symlen > 0) { + sym.k[symlen] = 0; + err = vfsub_symlink(h_dir, h_path, sym.k); + } + free_page((unsigned long)sym.k); + +out: + return err; +} + +/* + * regardless 'acl' option, reset all ACL. + * All ACL will be copied up later from the original entry on the lower branch. + */ +static int au_reset_acl(struct inode *h_dir, struct path *h_path, umode_t mode) +{ + int err; + struct dentry *h_dentry; + struct inode *h_inode; + + h_dentry = h_path->dentry; + h_inode = d_inode(h_dentry); + /* forget_all_cached_acls(h_inode)); */ + err = vfsub_removexattr(h_dentry, XATTR_NAME_POSIX_ACL_ACCESS); + AuTraceErr(err); + if (err == -EOPNOTSUPP) + err = 0; + if (!err) + err = vfsub_acl_chmod(h_inode, mode); + + AuTraceErr(err); + return err; +} + +static int au_do_cpup_dir(struct au_cp_generic *cpg, struct dentry *dst_parent, + struct inode *h_dir, struct path *h_path) +{ + int err; + struct inode *dir, *inode; + + err = vfsub_removexattr(h_path->dentry, XATTR_NAME_POSIX_ACL_DEFAULT); + AuTraceErr(err); + if (err == -EOPNOTSUPP) + err = 0; + if (unlikely(err)) + goto out; + + /* + * strange behaviour from the users view, + * particularly setattr case + */ + dir = d_inode(dst_parent); + if (au_ibtop(dir) == cpg->bdst) + au_cpup_attr_nlink(dir, /*force*/1); + inode = d_inode(cpg->dentry); + au_cpup_attr_nlink(inode, /*force*/1); + +out: + return err; +} + +static noinline_for_stack +int cpup_entry(struct au_cp_generic *cpg, struct dentry *dst_parent, + struct au_cpup_reg_attr *h_src_attr) +{ + int err; + umode_t mode; + unsigned int mnt_flags; + unsigned char isdir, isreg, force; + const unsigned char do_dt = !!au_ftest_cpup(cpg->flags, DTIME); + struct au_dtime dt; + struct path h_path; + struct dentry *h_src, *h_dst, *h_parent; + struct inode *h_inode, *h_dir; + struct super_block *sb; + + /* bsrc branch can be ro/rw. */ + h_src = au_h_dptr(cpg->dentry, cpg->bsrc); + h_inode = d_inode(h_src); + AuDebugOn(h_inode != au_h_iptr(d_inode(cpg->dentry), cpg->bsrc)); + + /* try stopping to be referenced while we are creating */ + h_dst = au_h_dptr(cpg->dentry, cpg->bdst); + if (au_ftest_cpup(cpg->flags, RENAME)) + AuDebugOn(strncmp(h_dst->d_name.name, AUFS_WH_PFX, + AUFS_WH_PFX_LEN)); + h_parent = h_dst->d_parent; /* dir inode is locked */ + h_dir = d_inode(h_parent); + IMustLock(h_dir); + AuDebugOn(h_parent != h_dst->d_parent); + + sb = cpg->dentry->d_sb; + h_path.mnt = au_sbr_mnt(sb, cpg->bdst); + if (do_dt) { + h_path.dentry = h_parent; + au_dtime_store(&dt, dst_parent, &h_path); + } + h_path.dentry = h_dst; + + isreg = 0; + isdir = 0; + mode = h_inode->i_mode; + switch (mode & S_IFMT) { + case S_IFREG: + isreg = 1; + err = vfsub_create(h_dir, &h_path, 0600, /*want_excl*/true); + if (!err) + err = au_do_cpup_regular(cpg, h_src_attr); + break; + case S_IFDIR: + isdir = 1; + err = vfsub_mkdir(h_dir, &h_path, mode); + if (!err) + err = au_do_cpup_dir(cpg, dst_parent, h_dir, &h_path); + break; + case S_IFLNK: + err = au_do_cpup_symlink(&h_path, h_src, h_dir); + break; + case S_IFCHR: + case S_IFBLK: + AuDebugOn(!capable(CAP_MKNOD)); + /*FALLTHROUGH*/ + case S_IFIFO: + case S_IFSOCK: + err = vfsub_mknod(h_dir, &h_path, mode, h_inode->i_rdev); + break; + default: + AuIOErr("Unknown inode type 0%o\n", mode); + err = -EIO; + } + if (!err) + err = au_reset_acl(h_dir, &h_path, mode); + + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, UDBA_NONE) + && !isdir + && au_opt_test(mnt_flags, XINO) + && (h_inode->i_nlink == 1 + || (h_inode->i_state & I_LINKABLE)) + /* todo: unnecessary? */ + /* && d_inode(cpg->dentry)->i_nlink == 1 */ + && cpg->bdst < cpg->bsrc + && !au_ftest_cpup(cpg->flags, KEEPLINO)) + au_xino_write(sb, cpg->bsrc, h_inode->i_ino, /*ino*/0); + /* ignore this error */ + + if (!err) { + force = 0; + if (isreg) { + force = !!cpg->len; + if (cpg->len == -1) + force = !!i_size_read(h_inode); + } + au_fhsm_wrote(sb, cpg->bdst, force); + } + + if (do_dt) + au_dtime_revert(&dt); + return err; +} + +static int au_do_ren_after_cpup(struct au_cp_generic *cpg, struct path *h_path) +{ + int err; + struct dentry *dentry, *h_dentry, *h_parent, *parent; + struct inode *h_dir; + aufs_bindex_t bdst; + + dentry = cpg->dentry; + bdst = cpg->bdst; + h_dentry = au_h_dptr(dentry, bdst); + if (!au_ftest_cpup(cpg->flags, OVERWRITE)) { + dget(h_dentry); + au_set_h_dptr(dentry, bdst, NULL); + err = au_lkup_neg(dentry, bdst, /*wh*/0); + if (!err) + h_path->dentry = dget(au_h_dptr(dentry, bdst)); + au_set_h_dptr(dentry, bdst, h_dentry); + } else { + err = 0; + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bdst); + dput(parent); + h_path->dentry = vfsub_lkup_one(&dentry->d_name, h_parent); + if (IS_ERR(h_path->dentry)) + err = PTR_ERR(h_path->dentry); + } + if (unlikely(err)) + goto out; + + h_parent = h_dentry->d_parent; /* dir inode is locked */ + h_dir = d_inode(h_parent); + IMustLock(h_dir); + AuDbg("%pd %pd\n", h_dentry, h_path->dentry); + /* no delegation since it is just created */ + err = vfsub_rename(h_dir, h_dentry, h_dir, h_path, /*delegated*/NULL, + /*flags*/0); + dput(h_path->dentry); + +out: + return err; +} + +/* + * copyup the @dentry from @bsrc to @bdst. + * the caller must set the both of lower dentries. + * @len is for truncating when it is -1 copyup the entire file. + * in link/rename cases, @dst_parent may be different from the real one. + * basic->bsrc can be larger than basic->bdst. + * aufs doesn't touch the credential so + * security_inode_copy_up{,_xattr}() are unnecessary. + */ +static int au_cpup_single(struct au_cp_generic *cpg, struct dentry *dst_parent) +{ + int err, rerr; + aufs_bindex_t old_ibtop; + unsigned char isdir, plink; + struct dentry *h_src, *h_dst, *h_parent; + struct inode *dst_inode, *h_dir, *inode, *delegated, *src_inode; + struct super_block *sb; + struct au_branch *br; + /* to reduce stack size */ + struct { + struct au_dtime dt; + struct path h_path; + struct au_cpup_reg_attr h_src_attr; + } *a; + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + a->h_src_attr.valid = 0; + + sb = cpg->dentry->d_sb; + br = au_sbr(sb, cpg->bdst); + a->h_path.mnt = au_br_mnt(br); + h_dst = au_h_dptr(cpg->dentry, cpg->bdst); + h_parent = h_dst->d_parent; /* dir inode is locked */ + h_dir = d_inode(h_parent); + IMustLock(h_dir); + + h_src = au_h_dptr(cpg->dentry, cpg->bsrc); + inode = d_inode(cpg->dentry); + + if (!dst_parent) + dst_parent = dget_parent(cpg->dentry); + else + dget(dst_parent); + + plink = !!au_opt_test(au_mntflags(sb), PLINK); + dst_inode = au_h_iptr(inode, cpg->bdst); + if (dst_inode) { + if (unlikely(!plink)) { + err = -EIO; + AuIOErr("hi%lu(i%lu) exists on b%d " + "but plink is disabled\n", + dst_inode->i_ino, inode->i_ino, cpg->bdst); + goto out_parent; + } + + if (dst_inode->i_nlink) { + const int do_dt = au_ftest_cpup(cpg->flags, DTIME); + + h_src = au_plink_lkup(inode, cpg->bdst); + err = PTR_ERR(h_src); + if (IS_ERR(h_src)) + goto out_parent; + if (unlikely(d_is_negative(h_src))) { + err = -EIO; + AuIOErr("i%lu exists on b%d " + "but not pseudo-linked\n", + inode->i_ino, cpg->bdst); + dput(h_src); + goto out_parent; + } + + if (do_dt) { + a->h_path.dentry = h_parent; + au_dtime_store(&a->dt, dst_parent, &a->h_path); + } + + a->h_path.dentry = h_dst; + delegated = NULL; + err = vfsub_link(h_src, h_dir, &a->h_path, &delegated); + if (!err && au_ftest_cpup(cpg->flags, RENAME)) + err = au_do_ren_after_cpup(cpg, &a->h_path); + if (do_dt) + au_dtime_revert(&a->dt); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + dput(h_src); + goto out_parent; + } else + /* todo: cpup_wh_file? */ + /* udba work */ + au_update_ibrange(inode, /*do_put_zero*/1); + } + + isdir = S_ISDIR(inode->i_mode); + old_ibtop = au_ibtop(inode); + err = cpup_entry(cpg, dst_parent, &a->h_src_attr); + if (unlikely(err)) + goto out_rev; + dst_inode = d_inode(h_dst); + inode_lock_nested(dst_inode, AuLsc_I_CHILD2); + /* todo: necessary? */ + /* au_pin_hdir_unlock(cpg->pin); */ + + err = cpup_iattr(cpg->dentry, cpg->bdst, h_src, &a->h_src_attr); + if (unlikely(err)) { + /* todo: necessary? */ + /* au_pin_hdir_relock(cpg->pin); */ /* ignore an error */ + inode_unlock(dst_inode); + goto out_rev; + } + + if (cpg->bdst < old_ibtop) { + if (S_ISREG(inode->i_mode)) { + err = au_dy_iaop(inode, cpg->bdst, dst_inode); + if (unlikely(err)) { + /* ignore an error */ + /* au_pin_hdir_relock(cpg->pin); */ + inode_unlock(dst_inode); + goto out_rev; + } + } + au_set_ibtop(inode, cpg->bdst); + } else + au_set_ibbot(inode, cpg->bdst); + au_set_h_iptr(inode, cpg->bdst, au_igrab(dst_inode), + au_hi_flags(inode, isdir)); + + /* todo: necessary? */ + /* err = au_pin_hdir_relock(cpg->pin); */ + inode_unlock(dst_inode); + if (unlikely(err)) + goto out_rev; + + src_inode = d_inode(h_src); + if (!isdir + && (src_inode->i_nlink > 1 + || src_inode->i_state & I_LINKABLE) + && plink) + au_plink_append(inode, cpg->bdst, h_dst); + + if (au_ftest_cpup(cpg->flags, RENAME)) { + a->h_path.dentry = h_dst; + err = au_do_ren_after_cpup(cpg, &a->h_path); + } + if (!err) + goto out_parent; /* success */ + + /* revert */ +out_rev: + a->h_path.dentry = h_parent; + au_dtime_store(&a->dt, dst_parent, &a->h_path); + a->h_path.dentry = h_dst; + rerr = 0; + if (d_is_positive(h_dst)) { + if (!isdir) { + /* no delegation since it is just created */ + rerr = vfsub_unlink(h_dir, &a->h_path, + /*delegated*/NULL, /*force*/0); + } else + rerr = vfsub_rmdir(h_dir, &a->h_path); + } + au_dtime_revert(&a->dt); + if (rerr) { + AuIOErr("failed removing broken entry(%d, %d)\n", err, rerr); + err = -EIO; + } +out_parent: + dput(dst_parent); + au_kfree_rcu(a); +out: + return err; +} + +#if 0 /* reserved */ +struct au_cpup_single_args { + int *errp; + struct au_cp_generic *cpg; + struct dentry *dst_parent; +}; + +static void au_call_cpup_single(void *args) +{ + struct au_cpup_single_args *a = args; + + au_pin_hdir_acquire_nest(a->cpg->pin); + *a->errp = au_cpup_single(a->cpg, a->dst_parent); + au_pin_hdir_release(a->cpg->pin); +} +#endif + +/* + * prevent SIGXFSZ in copy-up. + * testing CAP_MKNOD is for generic fs, + * but CAP_FSETID is for xfs only, currently. + */ +static int au_cpup_sio_test(struct au_pin *pin, umode_t mode) +{ + int do_sio; + struct super_block *sb; + struct inode *h_dir; + + do_sio = 0; + sb = au_pinned_parent(pin)->d_sb; + if (!au_wkq_test() + && (!au_sbi(sb)->si_plink_maint_pid + || au_plink_maint(sb, AuLock_NOPLM))) { + switch (mode & S_IFMT) { + case S_IFREG: + /* no condition about RLIMIT_FSIZE and the file size */ + do_sio = 1; + break; + case S_IFCHR: + case S_IFBLK: + do_sio = !capable(CAP_MKNOD); + break; + } + if (!do_sio) + do_sio = ((mode & (S_ISUID | S_ISGID)) + && !capable(CAP_FSETID)); + /* this workaround may be removed in the future */ + if (!do_sio) { + h_dir = au_pinned_h_dir(pin); + do_sio = h_dir->i_mode & S_ISVTX; + } + } + + return do_sio; +} + +#if 0 /* reserved */ +int au_sio_cpup_single(struct au_cp_generic *cpg, struct dentry *dst_parent) +{ + int err, wkq_err; + struct dentry *h_dentry; + + h_dentry = au_h_dptr(cpg->dentry, cpg->bsrc); + if (!au_cpup_sio_test(pin, d_inode(h_dentry)->i_mode)) + err = au_cpup_single(cpg, dst_parent); + else { + struct au_cpup_single_args args = { + .errp = &err, + .cpg = cpg, + .dst_parent = dst_parent + }; + wkq_err = au_wkq_wait(au_call_cpup_single, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} +#endif + +/* + * copyup the @dentry from the first active lower branch to @bdst, + * using au_cpup_single(). + */ +static int au_cpup_simple(struct au_cp_generic *cpg) +{ + int err; + unsigned int flags_orig; + struct dentry *dentry; + + AuDebugOn(cpg->bsrc < 0); + + dentry = cpg->dentry; + DiMustWriteLock(dentry); + + err = au_lkup_neg(dentry, cpg->bdst, /*wh*/1); + if (!err) { + flags_orig = cpg->flags; + au_fset_cpup(cpg->flags, RENAME); + err = au_cpup_single(cpg, NULL); + cpg->flags = flags_orig; + if (!err) + return 0; /* success */ + + /* revert */ + au_set_h_dptr(dentry, cpg->bdst, NULL); + au_set_dbtop(dentry, cpg->bsrc); + } + + return err; +} + +struct au_cpup_simple_args { + int *errp; + struct au_cp_generic *cpg; +}; + +static void au_call_cpup_simple(void *args) +{ + struct au_cpup_simple_args *a = args; + + au_pin_hdir_acquire_nest(a->cpg->pin); + *a->errp = au_cpup_simple(a->cpg); + au_pin_hdir_release(a->cpg->pin); +} + +static int au_do_sio_cpup_simple(struct au_cp_generic *cpg) +{ + int err, wkq_err; + struct dentry *dentry, *parent; + struct file *h_file; + struct inode *h_dir; + + dentry = cpg->dentry; + h_file = NULL; + if (au_ftest_cpup(cpg->flags, HOPEN)) { + AuDebugOn(cpg->bsrc < 0); + h_file = au_h_open_pre(dentry, cpg->bsrc, /*force_wr*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + } + + parent = dget_parent(dentry); + h_dir = au_h_iptr(d_inode(parent), cpg->bdst); + if (!au_test_h_perm_sio(h_dir, MAY_EXEC | MAY_WRITE) + && !au_cpup_sio_test(cpg->pin, d_inode(dentry)->i_mode)) + err = au_cpup_simple(cpg); + else { + struct au_cpup_simple_args args = { + .errp = &err, + .cpg = cpg + }; + wkq_err = au_wkq_wait(au_call_cpup_simple, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + dput(parent); + if (h_file) + au_h_open_post(dentry, cpg->bsrc, h_file); + +out: + return err; +} + +int au_sio_cpup_simple(struct au_cp_generic *cpg) +{ + aufs_bindex_t bsrc, bbot; + struct dentry *dentry, *h_dentry; + + if (cpg->bsrc < 0) { + dentry = cpg->dentry; + bbot = au_dbbot(dentry); + for (bsrc = cpg->bdst + 1; bsrc <= bbot; bsrc++) { + h_dentry = au_h_dptr(dentry, bsrc); + if (h_dentry) { + AuDebugOn(d_is_negative(h_dentry)); + break; + } + } + AuDebugOn(bsrc > bbot); + cpg->bsrc = bsrc; + } + AuDebugOn(cpg->bsrc <= cpg->bdst); + return au_do_sio_cpup_simple(cpg); +} + +int au_sio_cpdown_simple(struct au_cp_generic *cpg) +{ + AuDebugOn(cpg->bdst <= cpg->bsrc); + return au_do_sio_cpup_simple(cpg); +} + +/* ---------------------------------------------------------------------- */ + +/* + * copyup the deleted file for writing. + */ +static int au_do_cpup_wh(struct au_cp_generic *cpg, struct dentry *wh_dentry, + struct file *file) +{ + int err; + unsigned int flags_orig; + aufs_bindex_t bsrc_orig; + struct au_dinfo *dinfo; + struct { + struct au_hdentry *hd; + struct dentry *h_dentry; + } hdst, hsrc; + + dinfo = au_di(cpg->dentry); + AuRwMustWriteLock(&dinfo->di_rwsem); + + bsrc_orig = cpg->bsrc; + cpg->bsrc = dinfo->di_btop; + hdst.hd = au_hdentry(dinfo, cpg->bdst); + hdst.h_dentry = hdst.hd->hd_dentry; + hdst.hd->hd_dentry = wh_dentry; + dinfo->di_btop = cpg->bdst; + + hsrc.h_dentry = NULL; + if (file) { + hsrc.hd = au_hdentry(dinfo, cpg->bsrc); + hsrc.h_dentry = hsrc.hd->hd_dentry; + hsrc.hd->hd_dentry = au_hf_top(file)->f_path.dentry; + } + flags_orig = cpg->flags; + cpg->flags = !AuCpup_DTIME; + err = au_cpup_single(cpg, /*h_parent*/NULL); + cpg->flags = flags_orig; + if (file) { + if (!err) + err = au_reopen_nondir(file); + hsrc.hd->hd_dentry = hsrc.h_dentry; + } + hdst.hd->hd_dentry = hdst.h_dentry; + dinfo->di_btop = cpg->bsrc; + cpg->bsrc = bsrc_orig; + + return err; +} + +static int au_cpup_wh(struct au_cp_generic *cpg, struct file *file) +{ + int err; + aufs_bindex_t bdst; + struct au_dtime dt; + struct dentry *dentry, *parent, *h_parent, *wh_dentry; + struct au_branch *br; + struct path h_path; + + dentry = cpg->dentry; + bdst = cpg->bdst; + br = au_sbr(dentry->d_sb, bdst); + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bdst); + wh_dentry = au_whtmp_lkup(h_parent, br, &dentry->d_name); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out; + + h_path.dentry = h_parent; + h_path.mnt = au_br_mnt(br); + au_dtime_store(&dt, parent, &h_path); + err = au_do_cpup_wh(cpg, wh_dentry, file); + if (unlikely(err)) + goto out_wh; + + dget(wh_dentry); + h_path.dentry = wh_dentry; + if (!d_is_dir(wh_dentry)) { + /* no delegation since it is just created */ + err = vfsub_unlink(d_inode(h_parent), &h_path, + /*delegated*/NULL, /*force*/0); + } else + err = vfsub_rmdir(d_inode(h_parent), &h_path); + if (unlikely(err)) { + AuIOErr("failed remove copied-up tmp file %pd(%d)\n", + wh_dentry, err); + err = -EIO; + } + au_dtime_revert(&dt); + au_set_hi_wh(d_inode(dentry), bdst, wh_dentry); + +out_wh: + dput(wh_dentry); +out: + dput(parent); + return err; +} + +struct au_cpup_wh_args { + int *errp; + struct au_cp_generic *cpg; + struct file *file; +}; + +static void au_call_cpup_wh(void *args) +{ + struct au_cpup_wh_args *a = args; + + au_pin_hdir_acquire_nest(a->cpg->pin); + *a->errp = au_cpup_wh(a->cpg, a->file); + au_pin_hdir_release(a->cpg->pin); +} + +int au_sio_cpup_wh(struct au_cp_generic *cpg, struct file *file) +{ + int err, wkq_err; + aufs_bindex_t bdst; + struct dentry *dentry, *parent, *h_orph, *h_parent; + struct inode *dir, *h_dir, *h_tmpdir; + struct au_wbr *wbr; + struct au_pin wh_pin, *pin_orig; + + dentry = cpg->dentry; + bdst = cpg->bdst; + parent = dget_parent(dentry); + dir = d_inode(parent); + h_orph = NULL; + h_parent = NULL; + h_dir = au_igrab(au_h_iptr(dir, bdst)); + h_tmpdir = h_dir; + pin_orig = NULL; + if (!h_dir->i_nlink) { + wbr = au_sbr(dentry->d_sb, bdst)->br_wbr; + h_orph = wbr->wbr_orph; + + h_parent = dget(au_h_dptr(parent, bdst)); + au_set_h_dptr(parent, bdst, dget(h_orph)); + h_tmpdir = d_inode(h_orph); + au_set_h_iptr(dir, bdst, au_igrab(h_tmpdir), /*flags*/0); + + inode_lock_nested(h_tmpdir, AuLsc_I_PARENT3); + /* todo: au_h_open_pre()? */ + + pin_orig = cpg->pin; + au_pin_init(&wh_pin, dentry, bdst, AuLsc_DI_PARENT, + AuLsc_I_PARENT3, cpg->pin->udba, AuPin_DI_LOCKED); + cpg->pin = &wh_pin; + } + + if (!au_test_h_perm_sio(h_tmpdir, MAY_EXEC | MAY_WRITE) + && !au_cpup_sio_test(cpg->pin, d_inode(dentry)->i_mode)) + err = au_cpup_wh(cpg, file); + else { + struct au_cpup_wh_args args = { + .errp = &err, + .cpg = cpg, + .file = file + }; + wkq_err = au_wkq_wait(au_call_cpup_wh, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + if (h_orph) { + inode_unlock(h_tmpdir); + /* todo: au_h_open_post()? */ + au_set_h_iptr(dir, bdst, au_igrab(h_dir), /*flags*/0); + au_set_h_dptr(parent, bdst, h_parent); + AuDebugOn(!pin_orig); + cpg->pin = pin_orig; + } + iput(h_dir); + dput(parent); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * generic routine for both of copy-up and copy-down. + */ +/* cf. revalidate function in file.c */ +int au_cp_dirs(struct dentry *dentry, aufs_bindex_t bdst, + int (*cp)(struct dentry *dentry, aufs_bindex_t bdst, + struct au_pin *pin, + struct dentry *h_parent, void *arg), + void *arg) +{ + int err; + struct au_pin pin; + struct dentry *d, *parent, *h_parent, *real_parent, *h_dentry; + + err = 0; + parent = dget_parent(dentry); + if (IS_ROOT(parent)) + goto out; + + au_pin_init(&pin, dentry, bdst, AuLsc_DI_PARENT2, AuLsc_I_PARENT2, + au_opt_udba(dentry->d_sb), AuPin_MNT_WRITE); + + /* do not use au_dpage */ + real_parent = parent; + while (1) { + dput(parent); + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bdst); + if (h_parent) + goto out; /* success */ + + /* find top dir which is necessary to cpup */ + do { + d = parent; + dput(parent); + parent = dget_parent(d); + di_read_lock_parent3(parent, !AuLock_IR); + h_parent = au_h_dptr(parent, bdst); + di_read_unlock(parent, !AuLock_IR); + } while (!h_parent); + + if (d != real_parent) + di_write_lock_child3(d); + + /* somebody else might create while we were sleeping */ + h_dentry = au_h_dptr(d, bdst); + if (!h_dentry || d_is_negative(h_dentry)) { + if (h_dentry) + au_update_dbtop(d); + + au_pin_set_dentry(&pin, d); + err = au_do_pin(&pin); + if (!err) { + err = cp(d, bdst, &pin, h_parent, arg); + au_unpin(&pin); + } + } + + if (d != real_parent) + di_write_unlock(d); + if (unlikely(err)) + break; + } + +out: + dput(parent); + return err; +} + +static int au_cpup_dir(struct dentry *dentry, aufs_bindex_t bdst, + struct au_pin *pin, + struct dentry *h_parent __maybe_unused, + void *arg __maybe_unused) +{ + struct au_cp_generic cpg = { + .dentry = dentry, + .bdst = bdst, + .bsrc = -1, + .len = 0, + .pin = pin, + .flags = AuCpup_DTIME + }; + return au_sio_cpup_simple(&cpg); +} + +int au_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + return au_cp_dirs(dentry, bdst, au_cpup_dir, NULL); +} + +int au_test_and_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + int err; + struct dentry *parent; + struct inode *dir; + + parent = dget_parent(dentry); + dir = d_inode(parent); + err = 0; + if (au_h_iptr(dir, bdst)) + goto out; + + di_read_unlock(parent, AuLock_IR); + di_write_lock_parent(parent); + /* someone else might change our inode while we were sleeping */ + if (!au_h_iptr(dir, bdst)) + err = au_cpup_dirs(dentry, bdst); + di_downgrade_lock(parent, AuLock_IR); + +out: + dput(parent); + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/cpup.h +++ linux-riscv-5.8-5.8.0/fs/aufs/cpup.h @@ -0,0 +1,100 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * copy-up/down functions + */ + +#ifndef __AUFS_CPUP_H__ +#define __AUFS_CPUP_H__ + +#ifdef __KERNEL__ + +#include + +struct inode; +struct file; +struct au_pin; + +void au_cpup_attr_flags(struct inode *dst, unsigned int iflags); +void au_cpup_attr_timesizes(struct inode *inode); +void au_cpup_attr_nlink(struct inode *inode, int force); +void au_cpup_attr_changeable(struct inode *inode); +void au_cpup_igen(struct inode *inode, struct inode *h_inode); +void au_cpup_attr_all(struct inode *inode, int force); + +/* ---------------------------------------------------------------------- */ + +struct au_cp_generic { + struct dentry *dentry; + aufs_bindex_t bdst, bsrc; + loff_t len; + struct au_pin *pin; + unsigned int flags; +}; + +/* cpup flags */ +#define AuCpup_DTIME 1 /* do dtime_store/revert */ +#define AuCpup_KEEPLINO (1 << 1) /* do not clear the lower xino, + for link(2) */ +#define AuCpup_RENAME (1 << 2) /* rename after cpup */ +#define AuCpup_HOPEN (1 << 3) /* call h_open_pre/post() in + cpup */ +#define AuCpup_OVERWRITE (1 << 4) /* allow overwriting the + existing entry */ +#define AuCpup_RWDST (1 << 5) /* force write target even if + the branch is marked as RO */ + +#ifndef CONFIG_AUFS_BR_HFSPLUS +#undef AuCpup_HOPEN +#define AuCpup_HOPEN 0 +#endif + +#define au_ftest_cpup(flags, name) ((flags) & AuCpup_##name) +#define au_fset_cpup(flags, name) \ + do { (flags) |= AuCpup_##name; } while (0) +#define au_fclr_cpup(flags, name) \ + do { (flags) &= ~AuCpup_##name; } while (0) + +int au_copy_file(struct file *dst, struct file *src, loff_t len); +int au_sio_cpup_simple(struct au_cp_generic *cpg); +int au_sio_cpdown_simple(struct au_cp_generic *cpg); +int au_sio_cpup_wh(struct au_cp_generic *cpg, struct file *file); + +int au_cp_dirs(struct dentry *dentry, aufs_bindex_t bdst, + int (*cp)(struct dentry *dentry, aufs_bindex_t bdst, + struct au_pin *pin, + struct dentry *h_parent, void *arg), + void *arg); +int au_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst); +int au_test_and_cpup_dirs(struct dentry *dentry, aufs_bindex_t bdst); + +/* ---------------------------------------------------------------------- */ + +/* keep timestamps when copyup */ +struct au_dtime { + struct dentry *dt_dentry; + struct path dt_h_path; + struct timespec64 dt_atime, dt_mtime; +}; +void au_dtime_store(struct au_dtime *dt, struct dentry *dentry, + struct path *h_path); +void au_dtime_revert(struct au_dtime *dt); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_CPUP_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dbgaufs.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dbgaufs.c @@ -0,0 +1,526 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * debugfs interface + */ + +#include +#include "aufs.h" + +#ifndef CONFIG_SYSFS +#error DEBUG_FS depends upon SYSFS +#endif + +static struct dentry *dbgaufs; +static const mode_t dbgaufs_mode = 0444; + +/* 20 is max digits length of ulong 64 */ +struct dbgaufs_arg { + int n; + char a[20 * 4]; +}; + +/* + * common function for all XINO files + */ +static int dbgaufs_xi_release(struct inode *inode __maybe_unused, + struct file *file) +{ + void *p; + + p = file->private_data; + if (p) { + /* this is struct dbgaufs_arg */ + AuDebugOn(!au_kfree_sz_test(p)); + au_kfree_do_rcu(p); + } + return 0; +} + +static int dbgaufs_xi_open(struct file *xf, struct file *file, int do_fcnt, + int cnt) +{ + int err; + struct kstat st; + struct dbgaufs_arg *p; + + err = -ENOMEM; + p = kmalloc(sizeof(*p), GFP_NOFS); + if (unlikely(!p)) + goto out; + + err = 0; + p->n = 0; + file->private_data = p; + if (!xf) + goto out; + + err = vfsub_getattr(&xf->f_path, &st); + if (!err) { + if (do_fcnt) + p->n = snprintf + (p->a, sizeof(p->a), "%d, %llux%u %lld\n", + cnt, st.blocks, st.blksize, + (long long)st.size); + else + p->n = snprintf(p->a, sizeof(p->a), "%llux%u %lld\n", + st.blocks, st.blksize, + (long long)st.size); + AuDebugOn(p->n >= sizeof(p->a)); + } else { + p->n = snprintf(p->a, sizeof(p->a), "err %d\n", err); + err = 0; + } + +out: + return err; +} + +static ssize_t dbgaufs_xi_read(struct file *file, char __user *buf, + size_t count, loff_t *ppos) +{ + struct dbgaufs_arg *p; + + p = file->private_data; + return simple_read_from_buffer(buf, count, ppos, p->a, p->n); +} + +/* ---------------------------------------------------------------------- */ + +struct dbgaufs_plink_arg { + int n; + char a[]; +}; + +static int dbgaufs_plink_release(struct inode *inode __maybe_unused, + struct file *file) +{ + free_page((unsigned long)file->private_data); + return 0; +} + +static int dbgaufs_plink_open(struct inode *inode, struct file *file) +{ + int err, i, limit; + unsigned long n, sum; + struct dbgaufs_plink_arg *p; + struct au_sbinfo *sbinfo; + struct super_block *sb; + struct hlist_bl_head *hbl; + + err = -ENOMEM; + p = (void *)get_zeroed_page(GFP_NOFS); + if (unlikely(!p)) + goto out; + + err = -EFBIG; + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + if (au_opt_test(au_mntflags(sb), PLINK)) { + limit = PAGE_SIZE - sizeof(p->n); + + /* the number of buckets */ + n = snprintf(p->a + p->n, limit, "%d\n", AuPlink_NHASH); + p->n += n; + limit -= n; + + sum = 0; + for (i = 0, hbl = sbinfo->si_plink; i < AuPlink_NHASH; + i++, hbl++) { + n = au_hbl_count(hbl); + sum += n; + + n = snprintf(p->a + p->n, limit, "%lu ", n); + p->n += n; + limit -= n; + if (unlikely(limit <= 0)) + goto out_free; + } + p->a[p->n - 1] = '\n'; + + /* the sum of plinks */ + n = snprintf(p->a + p->n, limit, "%lu\n", sum); + p->n += n; + limit -= n; + if (unlikely(limit <= 0)) + goto out_free; + } else { +#define str "1\n0\n0\n" + p->n = sizeof(str) - 1; + strcpy(p->a, str); +#undef str + } + si_read_unlock(sb); + + err = 0; + file->private_data = p; + goto out; /* success */ + +out_free: + free_page((unsigned long)p); +out: + return err; +} + +static ssize_t dbgaufs_plink_read(struct file *file, char __user *buf, + size_t count, loff_t *ppos) +{ + struct dbgaufs_plink_arg *p; + + p = file->private_data; + return simple_read_from_buffer(buf, count, ppos, p->a, p->n); +} + +static const struct file_operations dbgaufs_plink_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_plink_open, + .release = dbgaufs_plink_release, + .read = dbgaufs_plink_read +}; + +/* ---------------------------------------------------------------------- */ + +static int dbgaufs_xib_open(struct inode *inode, struct file *file) +{ + int err; + struct au_sbinfo *sbinfo; + struct super_block *sb; + + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + err = dbgaufs_xi_open(sbinfo->si_xib, file, /*do_fcnt*/0, /*cnt*/0); + si_read_unlock(sb); + return err; +} + +static const struct file_operations dbgaufs_xib_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xib_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +/* ---------------------------------------------------------------------- */ + +#define DbgaufsXi_PREFIX "xi" + +static int dbgaufs_xino_open(struct inode *inode, struct file *file) +{ + int err, idx; + long l; + aufs_bindex_t bindex; + char *p, a[sizeof(DbgaufsXi_PREFIX) + 8]; + struct au_sbinfo *sbinfo; + struct super_block *sb; + struct au_xino *xi; + struct file *xf; + struct qstr *name; + struct au_branch *br; + + err = -ENOENT; + name = &file->f_path.dentry->d_name; + if (unlikely(name->len < sizeof(DbgaufsXi_PREFIX) + || memcmp(name->name, DbgaufsXi_PREFIX, + sizeof(DbgaufsXi_PREFIX) - 1))) + goto out; + + AuDebugOn(name->len >= sizeof(a)); + memcpy(a, name->name, name->len); + a[name->len] = '\0'; + p = strchr(a, '-'); + if (p) + *p = '\0'; + err = kstrtol(a + sizeof(DbgaufsXi_PREFIX) - 1, 10, &l); + if (unlikely(err)) + goto out; + bindex = l; + idx = 0; + if (p) { + err = kstrtol(p + 1, 10, &l); + if (unlikely(err)) + goto out; + idx = l; + } + + err = -ENOENT; + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + if (unlikely(bindex < 0 || bindex > au_sbbot(sb))) + goto out_si; + br = au_sbr(sb, bindex); + xi = br->br_xino; + if (unlikely(idx >= xi->xi_nfile)) + goto out_si; + xf = au_xino_file(xi, idx); + if (xf) + err = dbgaufs_xi_open(xf, file, /*do_fcnt*/1, + au_xino_count(br)); + +out_si: + si_read_unlock(sb); +out: + AuTraceErr(err); + return err; +} + +static const struct file_operations dbgaufs_xino_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xino_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +void dbgaufs_xino_del(struct au_branch *br) +{ + struct dentry *dbgaufs; + + dbgaufs = br->br_dbgaufs; + if (!dbgaufs) + return; + + br->br_dbgaufs = NULL; + /* debugfs acquires the parent i_mutex */ + lockdep_off(); + debugfs_remove(dbgaufs); + lockdep_on(); +} + +void dbgaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex) +{ + aufs_bindex_t bbot; + struct au_branch *br; + + if (!au_sbi(sb)->si_dbgaufs) + return; + + bbot = au_sbbot(sb); + for (; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + dbgaufs_xino_del(br); + } +} + +static void dbgaufs_br_do_add(struct super_block *sb, aufs_bindex_t bindex, + unsigned int idx, struct dentry *parent, + struct au_sbinfo *sbinfo) +{ + struct au_branch *br; + struct dentry *d; + /* "xi" bindex(5) "-" idx(2) NULL */ + char name[sizeof(DbgaufsXi_PREFIX) + 8]; + + if (!idx) + snprintf(name, sizeof(name), DbgaufsXi_PREFIX "%d", bindex); + else + snprintf(name, sizeof(name), DbgaufsXi_PREFIX "%d-%u", + bindex, idx); + br = au_sbr(sb, bindex); + if (br->br_dbgaufs) { + struct qstr qstr = QSTR_INIT(name, strlen(name)); + + if (!au_qstreq(&br->br_dbgaufs->d_name, &qstr)) { + /* debugfs acquires the parent i_mutex */ + lockdep_off(); + d = debugfs_rename(parent, br->br_dbgaufs, parent, + name); + lockdep_on(); + if (unlikely(!d)) + pr_warn("failed renaming %pd/%s, ignored.\n", + parent, name); + } + } else { + lockdep_off(); + br->br_dbgaufs = debugfs_create_file(name, dbgaufs_mode, parent, + sbinfo, &dbgaufs_xino_fop); + lockdep_on(); + if (unlikely(!br->br_dbgaufs)) + pr_warn("failed creating %pd/%s, ignored.\n", + parent, name); + } +} + +static void dbgaufs_br_add(struct super_block *sb, aufs_bindex_t bindex, + struct dentry *parent, struct au_sbinfo *sbinfo) +{ + struct au_branch *br; + struct au_xino *xi; + unsigned int u; + + br = au_sbr(sb, bindex); + xi = br->br_xino; + for (u = 0; u < xi->xi_nfile; u++) + dbgaufs_br_do_add(sb, bindex, u, parent, sbinfo); +} + +void dbgaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex, int topdown) +{ + struct au_sbinfo *sbinfo; + struct dentry *parent; + aufs_bindex_t bbot; + + if (!au_opt_test(au_mntflags(sb), XINO)) + return; + + sbinfo = au_sbi(sb); + parent = sbinfo->si_dbgaufs; + if (!parent) + return; + + bbot = au_sbbot(sb); + if (topdown) + for (; bindex <= bbot; bindex++) + dbgaufs_br_add(sb, bindex, parent, sbinfo); + else + for (; bbot >= bindex; bbot--) + dbgaufs_br_add(sb, bbot, parent, sbinfo); +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_EXPORT +static int dbgaufs_xigen_open(struct inode *inode, struct file *file) +{ + int err; + struct au_sbinfo *sbinfo; + struct super_block *sb; + + sbinfo = inode->i_private; + sb = sbinfo->si_sb; + si_noflush_read_lock(sb); + err = dbgaufs_xi_open(sbinfo->si_xigen, file, /*do_fcnt*/0, /*cnt*/0); + si_read_unlock(sb); + return err; +} + +static const struct file_operations dbgaufs_xigen_fop = { + .owner = THIS_MODULE, + .open = dbgaufs_xigen_open, + .release = dbgaufs_xi_release, + .read = dbgaufs_xi_read +}; + +static int dbgaufs_xigen_init(struct au_sbinfo *sbinfo) +{ + int err; + + /* + * This function is a dynamic '__init' function actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + err = -EIO; + sbinfo->si_dbgaufs_xigen = debugfs_create_file + ("xigen", dbgaufs_mode, sbinfo->si_dbgaufs, sbinfo, + &dbgaufs_xigen_fop); + if (sbinfo->si_dbgaufs_xigen) + err = 0; + + return err; +} +#else +static int dbgaufs_xigen_init(struct au_sbinfo *sbinfo) +{ + return 0; +} +#endif /* CONFIG_AUFS_EXPORT */ + +/* ---------------------------------------------------------------------- */ + +void dbgaufs_si_fin(struct au_sbinfo *sbinfo) +{ + /* + * This function is a dynamic '__fin' function actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + debugfs_remove_recursive(sbinfo->si_dbgaufs); + sbinfo->si_dbgaufs = NULL; +} + +int dbgaufs_si_init(struct au_sbinfo *sbinfo) +{ + int err; + char name[SysaufsSiNameLen]; + + /* + * This function is a dynamic '__init' function actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ + + err = -ENOENT; + if (!dbgaufs) { + AuErr1("/debug/aufs is uninitialized\n"); + goto out; + } + + err = -EIO; + sysaufs_name(sbinfo, name); + sbinfo->si_dbgaufs = debugfs_create_dir(name, dbgaufs); + if (unlikely(!sbinfo->si_dbgaufs)) + goto out; + + /* regardless plink/noplink option */ + sbinfo->si_dbgaufs_plink = debugfs_create_file + ("plink", dbgaufs_mode, sbinfo->si_dbgaufs, sbinfo, + &dbgaufs_plink_fop); + if (unlikely(!sbinfo->si_dbgaufs_plink)) + goto out_dir; + + /* regardless xino/noxino option */ + sbinfo->si_dbgaufs_xib = debugfs_create_file + ("xib", dbgaufs_mode, sbinfo->si_dbgaufs, sbinfo, + &dbgaufs_xib_fop); + if (unlikely(!sbinfo->si_dbgaufs_xib)) + goto out_dir; + + err = dbgaufs_xigen_init(sbinfo); + if (!err) + goto out; /* success */ + +out_dir: + dbgaufs_si_fin(sbinfo); +out: + if (unlikely(err)) + pr_err("debugfs/aufs failed\n"); + return err; +} + +/* ---------------------------------------------------------------------- */ + +void dbgaufs_fin(void) +{ + debugfs_remove(dbgaufs); +} + +int __init dbgaufs_init(void) +{ + int err; + + err = -EIO; + dbgaufs = debugfs_create_dir(AUFS_NAME, NULL); + if (dbgaufs) + err = 0; + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dbgaufs.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dbgaufs.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * debugfs interface + */ + +#ifndef __DBGAUFS_H__ +#define __DBGAUFS_H__ + +#ifdef __KERNEL__ + +struct super_block; +struct au_sbinfo; +struct au_branch; + +#ifdef CONFIG_DEBUG_FS +/* dbgaufs.c */ +void dbgaufs_xino_del(struct au_branch *br); +void dbgaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex); +void dbgaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex, int topdown); +void dbgaufs_si_fin(struct au_sbinfo *sbinfo); +int dbgaufs_si_init(struct au_sbinfo *sbinfo); +void dbgaufs_fin(void); +int __init dbgaufs_init(void); +#else +AuStubVoid(dbgaufs_xino_del, struct au_branch *br) +AuStubVoid(dbgaufs_brs_del, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(dbgaufs_brs_add, struct super_block *sb, aufs_bindex_t bindex, + int topdown) +AuStubVoid(dbgaufs_si_fin, struct au_sbinfo *sbinfo) +AuStubInt0(dbgaufs_si_init, struct au_sbinfo *sbinfo) +AuStubVoid(dbgaufs_fin, void) +AuStubInt0(__init dbgaufs_init, void) +#endif /* CONFIG_DEBUG_FS */ + +#endif /* __KERNEL__ */ +#endif /* __DBGAUFS_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dcsub.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dcsub.c @@ -0,0 +1,225 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sub-routines for dentry cache + */ + +#include "aufs.h" + +static void au_dpage_free(struct au_dpage *dpage) +{ + int i; + struct dentry **p; + + p = dpage->dentries; + for (i = 0; i < dpage->ndentry; i++) + dput(*p++); + free_page((unsigned long)dpage->dentries); +} + +int au_dpages_init(struct au_dcsub_pages *dpages, gfp_t gfp) +{ + int err; + void *p; + + err = -ENOMEM; + dpages->dpages = kmalloc(sizeof(*dpages->dpages), gfp); + if (unlikely(!dpages->dpages)) + goto out; + + p = (void *)__get_free_page(gfp); + if (unlikely(!p)) + goto out_dpages; + + dpages->dpages[0].ndentry = 0; + dpages->dpages[0].dentries = p; + dpages->ndpage = 1; + return 0; /* success */ + +out_dpages: + au_kfree_try_rcu(dpages->dpages); +out: + return err; +} + +void au_dpages_free(struct au_dcsub_pages *dpages) +{ + int i; + struct au_dpage *p; + + p = dpages->dpages; + for (i = 0; i < dpages->ndpage; i++) + au_dpage_free(p++); + au_kfree_try_rcu(dpages->dpages); +} + +static int au_dpages_append(struct au_dcsub_pages *dpages, + struct dentry *dentry, gfp_t gfp) +{ + int err, sz; + struct au_dpage *dpage; + void *p; + + dpage = dpages->dpages + dpages->ndpage - 1; + sz = PAGE_SIZE / sizeof(dentry); + if (unlikely(dpage->ndentry >= sz)) { + AuLabel(new dpage); + err = -ENOMEM; + sz = dpages->ndpage * sizeof(*dpages->dpages); + p = au_kzrealloc(dpages->dpages, sz, + sz + sizeof(*dpages->dpages), gfp, + /*may_shrink*/0); + if (unlikely(!p)) + goto out; + + dpages->dpages = p; + dpage = dpages->dpages + dpages->ndpage; + p = (void *)__get_free_page(gfp); + if (unlikely(!p)) + goto out; + + dpage->ndentry = 0; + dpage->dentries = p; + dpages->ndpage++; + } + + AuDebugOn(au_dcount(dentry) <= 0); + dpage->dentries[dpage->ndentry++] = dget_dlock(dentry); + return 0; /* success */ + +out: + return err; +} + +/* todo: BAD approach */ +/* copied from linux/fs/dcache.c */ +enum d_walk_ret { + D_WALK_CONTINUE, + D_WALK_QUIT, + D_WALK_NORETRY, + D_WALK_SKIP, +}; + +extern void d_walk(struct dentry *parent, void *data, + enum d_walk_ret (*enter)(void *, struct dentry *)); + +struct ac_dpages_arg { + int err; + struct au_dcsub_pages *dpages; + struct super_block *sb; + au_dpages_test test; + void *arg; +}; + +static enum d_walk_ret au_call_dpages_append(void *_arg, struct dentry *dentry) +{ + enum d_walk_ret ret; + struct ac_dpages_arg *arg = _arg; + + ret = D_WALK_CONTINUE; + if (dentry->d_sb == arg->sb + && !IS_ROOT(dentry) + && au_dcount(dentry) > 0 + && au_di(dentry) + && (!arg->test || arg->test(dentry, arg->arg))) { + arg->err = au_dpages_append(arg->dpages, dentry, GFP_ATOMIC); + if (unlikely(arg->err)) + ret = D_WALK_QUIT; + } + + return ret; +} + +int au_dcsub_pages(struct au_dcsub_pages *dpages, struct dentry *root, + au_dpages_test test, void *arg) +{ + struct ac_dpages_arg args = { + .err = 0, + .dpages = dpages, + .sb = root->d_sb, + .test = test, + .arg = arg + }; + + d_walk(root, &args, au_call_dpages_append); + + return args.err; +} + +int au_dcsub_pages_rev(struct au_dcsub_pages *dpages, struct dentry *dentry, + int do_include, au_dpages_test test, void *arg) +{ + int err; + + err = 0; + write_seqlock(&rename_lock); + spin_lock(&dentry->d_lock); + if (do_include + && au_dcount(dentry) > 0 + && (!test || test(dentry, arg))) + err = au_dpages_append(dpages, dentry, GFP_ATOMIC); + spin_unlock(&dentry->d_lock); + if (unlikely(err)) + goto out; + + /* + * RCU for vfsmount is unnecessary since this is a traverse in a single + * mount + */ + while (!IS_ROOT(dentry)) { + dentry = dentry->d_parent; /* rename_lock is locked */ + spin_lock(&dentry->d_lock); + if (au_dcount(dentry) > 0 + && (!test || test(dentry, arg))) + err = au_dpages_append(dpages, dentry, GFP_ATOMIC); + spin_unlock(&dentry->d_lock); + if (unlikely(err)) + break; + } + +out: + write_sequnlock(&rename_lock); + return err; +} + +static inline int au_dcsub_dpages_aufs(struct dentry *dentry, void *arg) +{ + return au_di(dentry) && dentry->d_sb == arg; +} + +int au_dcsub_pages_rev_aufs(struct au_dcsub_pages *dpages, + struct dentry *dentry, int do_include) +{ + return au_dcsub_pages_rev(dpages, dentry, do_include, + au_dcsub_dpages_aufs, dentry->d_sb); +} + +int au_test_subdir(struct dentry *d1, struct dentry *d2) +{ + struct path path[2] = { + { + .dentry = d1 + }, + { + .dentry = d2 + } + }; + + return path_is_under(path + 0, path + 1); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dcsub.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dcsub.h @@ -0,0 +1,137 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sub-routines for dentry cache + */ + +#ifndef __AUFS_DCSUB_H__ +#define __AUFS_DCSUB_H__ + +#ifdef __KERNEL__ + +#include +#include + +struct au_dpage { + int ndentry; + struct dentry **dentries; +}; + +struct au_dcsub_pages { + int ndpage; + struct au_dpage *dpages; +}; + +/* ---------------------------------------------------------------------- */ + +/* dcsub.c */ +int au_dpages_init(struct au_dcsub_pages *dpages, gfp_t gfp); +void au_dpages_free(struct au_dcsub_pages *dpages); +typedef int (*au_dpages_test)(struct dentry *dentry, void *arg); +int au_dcsub_pages(struct au_dcsub_pages *dpages, struct dentry *root, + au_dpages_test test, void *arg); +int au_dcsub_pages_rev(struct au_dcsub_pages *dpages, struct dentry *dentry, + int do_include, au_dpages_test test, void *arg); +int au_dcsub_pages_rev_aufs(struct au_dcsub_pages *dpages, + struct dentry *dentry, int do_include); +int au_test_subdir(struct dentry *d1, struct dentry *d2); + +/* ---------------------------------------------------------------------- */ + +/* + * todo: in linux-3.13, several similar (but faster) helpers are added to + * include/linux/dcache.h. Try them (in the future). + */ + +static inline int au_d_hashed_positive(struct dentry *d) +{ + int err; + struct inode *inode = d_inode(d); + + err = 0; + if (unlikely(d_unhashed(d) + || d_is_negative(d) + || !inode->i_nlink)) + err = -ENOENT; + return err; +} + +static inline int au_d_linkable(struct dentry *d) +{ + int err; + struct inode *inode = d_inode(d); + + err = au_d_hashed_positive(d); + if (err + && d_is_positive(d) + && (inode->i_state & I_LINKABLE)) + err = 0; + return err; +} + +static inline int au_d_alive(struct dentry *d) +{ + int err; + struct inode *inode; + + err = 0; + if (!IS_ROOT(d)) + err = au_d_hashed_positive(d); + else { + inode = d_inode(d); + if (unlikely(d_unlinked(d) + || d_is_negative(d) + || !inode->i_nlink)) + err = -ENOENT; + } + return err; +} + +static inline int au_alive_dir(struct dentry *d) +{ + int err; + + err = au_d_alive(d); + if (unlikely(err || IS_DEADDIR(d_inode(d)))) + err = -ENOENT; + return err; +} + +static inline int au_qstreq(struct qstr *a, struct qstr *b) +{ + return a->len == b->len + && !memcmp(a->name, b->name, a->len); +} + +/* + * by the commit + * 360f547 2015-01-25 dcache: let the dentry count go down to zero without + * taking d_lock + * the type of d_lockref.count became int, but the inlined function d_count() + * still returns unsigned int. + * I don't know why. Maybe it is for every d_count() users? + * Anyway au_dcount() lives on. + */ +static inline int au_dcount(struct dentry *d) +{ + return (int)d_count(d); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DCSUB_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/debug.c +++ linux-riscv-5.8-5.8.0/fs/aufs/debug.c @@ -0,0 +1,441 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * debug print functions + */ + +#include +#include "aufs.h" + +/* Returns 0, or -errno. arg is in kp->arg. */ +static int param_atomic_t_set(const char *val, const struct kernel_param *kp) +{ + int err, n; + + err = kstrtoint(val, 0, &n); + if (!err) { + if (n > 0) + au_debug_on(); + else + au_debug_off(); + } + return err; +} + +/* Returns length written or -errno. Buffer is 4k (ie. be short!) */ +static int param_atomic_t_get(char *buffer, const struct kernel_param *kp) +{ + atomic_t *a; + + a = kp->arg; + return sprintf(buffer, "%d", atomic_read(a)); +} + +static struct kernel_param_ops param_ops_atomic_t = { + .set = param_atomic_t_set, + .get = param_atomic_t_get + /* void (*free)(void *arg) */ +}; + +atomic_t aufs_debug = ATOMIC_INIT(0); +MODULE_PARM_DESC(debug, "debug print"); +module_param_named(debug, aufs_debug, atomic_t, 0664); + +DEFINE_MUTEX(au_dbg_mtx); /* just to serialize the dbg msgs */ +char *au_plevel = KERN_DEBUG; +#define dpri(fmt, ...) do { \ + if ((au_plevel \ + && strcmp(au_plevel, KERN_DEBUG)) \ + || au_debug_test()) \ + printk("%s" fmt, au_plevel, ##__VA_ARGS__); \ +} while (0) + +/* ---------------------------------------------------------------------- */ + +void au_dpri_whlist(struct au_nhash *whlist) +{ + unsigned long ul, n; + struct hlist_head *head; + struct au_vdir_wh *pos; + + n = whlist->nh_num; + head = whlist->nh_head; + for (ul = 0; ul < n; ul++) { + hlist_for_each_entry(pos, head, wh_hash) + dpri("b%d, %.*s, %d\n", + pos->wh_bindex, + pos->wh_str.len, pos->wh_str.name, + pos->wh_str.len); + head++; + } +} + +void au_dpri_vdir(struct au_vdir *vdir) +{ + unsigned long ul; + union au_vdir_deblk_p p; + unsigned char *o; + + if (!vdir || IS_ERR(vdir)) { + dpri("err %ld\n", PTR_ERR(vdir)); + return; + } + + dpri("deblk %u, nblk %lu, deblk %p, last{%lu, %p}, ver %llu\n", + vdir->vd_deblk_sz, vdir->vd_nblk, vdir->vd_deblk, + vdir->vd_last.ul, vdir->vd_last.p.deblk, vdir->vd_version); + for (ul = 0; ul < vdir->vd_nblk; ul++) { + p.deblk = vdir->vd_deblk[ul]; + o = p.deblk; + dpri("[%lu]: %p\n", ul, o); + } +} + +static int do_pri_inode(aufs_bindex_t bindex, struct inode *inode, int hn, + struct dentry *wh) +{ + char *n = NULL; + int l = 0; + + if (!inode || IS_ERR(inode)) { + dpri("i%d: err %ld\n", bindex, PTR_ERR(inode)); + return -1; + } + + /* the type of i_blocks depends upon CONFIG_LBDAF */ + BUILD_BUG_ON(sizeof(inode->i_blocks) != sizeof(unsigned long) + && sizeof(inode->i_blocks) != sizeof(u64)); + if (wh) { + n = (void *)wh->d_name.name; + l = wh->d_name.len; + } + + dpri("i%d: %p, i%lu, %s, cnt %d, nl %u, 0%o, sz %llu, blk %llu," + " hn %d, ct %lld, np %lu, st 0x%lx, f 0x%x, v %llu, g %x%s%.*s\n", + bindex, inode, + inode->i_ino, inode->i_sb ? au_sbtype(inode->i_sb) : "??", + atomic_read(&inode->i_count), inode->i_nlink, inode->i_mode, + i_size_read(inode), (unsigned long long)inode->i_blocks, + hn, (long long)timespec64_to_ns(&inode->i_ctime) & 0x0ffff, + inode->i_mapping ? inode->i_mapping->nrpages : 0, + inode->i_state, inode->i_flags, inode_peek_iversion(inode), + inode->i_generation, + l ? ", wh " : "", l, n); + return 0; +} + +void au_dpri_inode(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct au_hinode *hi; + aufs_bindex_t bindex; + int err, hn; + + err = do_pri_inode(-1, inode, -1, NULL); + if (err || !au_test_aufs(inode->i_sb) || au_is_bad_inode(inode)) + return; + + iinfo = au_ii(inode); + dpri("i-1: btop %d, bbot %d, gen %d\n", + iinfo->ii_btop, iinfo->ii_bbot, au_iigen(inode, NULL)); + if (iinfo->ii_btop < 0) + return; + hn = 0; + for (bindex = iinfo->ii_btop; bindex <= iinfo->ii_bbot; bindex++) { + hi = au_hinode(iinfo, bindex); + hn = !!au_hn(hi); + do_pri_inode(bindex, hi->hi_inode, hn, hi->hi_whdentry); + } +} + +void au_dpri_dalias(struct inode *inode) +{ + struct dentry *d; + + spin_lock(&inode->i_lock); + hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) + au_dpri_dentry(d); + spin_unlock(&inode->i_lock); +} + +static int do_pri_dentry(aufs_bindex_t bindex, struct dentry *dentry) +{ + struct dentry *wh = NULL; + int hn; + struct inode *inode; + struct au_iinfo *iinfo; + struct au_hinode *hi; + + if (!dentry || IS_ERR(dentry)) { + dpri("d%d: err %ld\n", bindex, PTR_ERR(dentry)); + return -1; + } + /* do not call dget_parent() here */ + /* note: access d_xxx without d_lock */ + dpri("d%d: %p, %pd2?, %s, cnt %d, flags 0x%x, %shashed\n", + bindex, dentry, dentry, + dentry->d_sb ? au_sbtype(dentry->d_sb) : "??", + au_dcount(dentry), dentry->d_flags, + d_unhashed(dentry) ? "un" : ""); + hn = -1; + inode = NULL; + if (d_is_positive(dentry)) + inode = d_inode(dentry); + if (inode + && au_test_aufs(dentry->d_sb) + && bindex >= 0 + && !au_is_bad_inode(inode)) { + iinfo = au_ii(inode); + hi = au_hinode(iinfo, bindex); + hn = !!au_hn(hi); + wh = hi->hi_whdentry; + } + do_pri_inode(bindex, inode, hn, wh); + return 0; +} + +void au_dpri_dentry(struct dentry *dentry) +{ + struct au_dinfo *dinfo; + aufs_bindex_t bindex; + int err; + + err = do_pri_dentry(-1, dentry); + if (err || !au_test_aufs(dentry->d_sb)) + return; + + dinfo = au_di(dentry); + if (!dinfo) + return; + dpri("d-1: btop %d, bbot %d, bwh %d, bdiropq %d, gen %d, tmp %d\n", + dinfo->di_btop, dinfo->di_bbot, + dinfo->di_bwh, dinfo->di_bdiropq, au_digen(dentry), + dinfo->di_tmpfile); + if (dinfo->di_btop < 0) + return; + for (bindex = dinfo->di_btop; bindex <= dinfo->di_bbot; bindex++) + do_pri_dentry(bindex, au_hdentry(dinfo, bindex)->hd_dentry); +} + +static int do_pri_file(aufs_bindex_t bindex, struct file *file) +{ + char a[32]; + + if (!file || IS_ERR(file)) { + dpri("f%d: err %ld\n", bindex, PTR_ERR(file)); + return -1; + } + a[0] = 0; + if (bindex < 0 + && !IS_ERR_OR_NULL(file->f_path.dentry) + && au_test_aufs(file->f_path.dentry->d_sb) + && au_fi(file)) + snprintf(a, sizeof(a), ", gen %d, mmapped %d", + au_figen(file), atomic_read(&au_fi(file)->fi_mmapped)); + dpri("f%d: mode 0x%x, flags 0%o, cnt %ld, v %llu, pos %llu%s\n", + bindex, file->f_mode, file->f_flags, (long)file_count(file), + file->f_version, file->f_pos, a); + if (!IS_ERR_OR_NULL(file->f_path.dentry)) + do_pri_dentry(bindex, file->f_path.dentry); + return 0; +} + +void au_dpri_file(struct file *file) +{ + struct au_finfo *finfo; + struct au_fidir *fidir; + struct au_hfile *hfile; + aufs_bindex_t bindex; + int err; + + err = do_pri_file(-1, file); + if (err + || IS_ERR_OR_NULL(file->f_path.dentry) + || !au_test_aufs(file->f_path.dentry->d_sb)) + return; + + finfo = au_fi(file); + if (!finfo) + return; + if (finfo->fi_btop < 0) + return; + fidir = finfo->fi_hdir; + if (!fidir) + do_pri_file(finfo->fi_btop, finfo->fi_htop.hf_file); + else + for (bindex = finfo->fi_btop; + bindex >= 0 && bindex <= fidir->fd_bbot; + bindex++) { + hfile = fidir->fd_hfile + bindex; + do_pri_file(bindex, hfile ? hfile->hf_file : NULL); + } +} + +static int do_pri_br(aufs_bindex_t bindex, struct au_branch *br) +{ + struct vfsmount *mnt; + struct super_block *sb; + + if (!br || IS_ERR(br)) + goto out; + mnt = au_br_mnt(br); + if (!mnt || IS_ERR(mnt)) + goto out; + sb = mnt->mnt_sb; + if (!sb || IS_ERR(sb)) + goto out; + + dpri("s%d: {perm 0x%x, id %d, wbr %p}, " + "%s, dev 0x%02x%02x, flags 0x%lx, cnt %d, active %d, " + "xino %d\n", + bindex, br->br_perm, br->br_id, br->br_wbr, + au_sbtype(sb), MAJOR(sb->s_dev), MINOR(sb->s_dev), + sb->s_flags, sb->s_count, + atomic_read(&sb->s_active), + !!au_xino_file(br->br_xino, /*idx*/-1)); + return 0; + +out: + dpri("s%d: err %ld\n", bindex, PTR_ERR(br)); + return -1; +} + +void au_dpri_sb(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + aufs_bindex_t bindex; + int err; + /* to reduce stack size */ + struct { + struct vfsmount mnt; + struct au_branch fake; + } *a; + + /* this function can be called from magic sysrq */ + a = kzalloc(sizeof(*a), GFP_ATOMIC); + if (unlikely(!a)) { + dpri("no memory\n"); + return; + } + + a->mnt.mnt_sb = sb; + a->fake.br_path.mnt = &a->mnt; + err = do_pri_br(-1, &a->fake); + au_kfree_rcu(a); + dpri("dev 0x%x\n", sb->s_dev); + if (err || !au_test_aufs(sb)) + return; + + sbinfo = au_sbi(sb); + if (!sbinfo) + return; + dpri("nw %d, gen %u, kobj %d\n", + atomic_read(&sbinfo->si_nowait.nw_len), sbinfo->si_generation, + kref_read(&sbinfo->si_kobj.kref)); + for (bindex = 0; bindex <= sbinfo->si_bbot; bindex++) + do_pri_br(bindex, sbinfo->si_branch[0 + bindex]); +} + +/* ---------------------------------------------------------------------- */ + +void __au_dbg_verify_dinode(struct dentry *dentry, const char *func, int line) +{ + struct inode *h_inode, *inode = d_inode(dentry); + struct dentry *h_dentry; + aufs_bindex_t bindex, bbot, bi; + + if (!inode /* || au_di(dentry)->di_lsc == AuLsc_DI_TMP */) + return; + + bbot = au_dbbot(dentry); + bi = au_ibbot(inode); + if (bi < bbot) + bbot = bi; + bindex = au_dbtop(dentry); + bi = au_ibtop(inode); + if (bi > bindex) + bindex = bi; + + for (; bindex <= bbot; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + h_inode = au_h_iptr(inode, bindex); + if (unlikely(h_inode != d_inode(h_dentry))) { + au_debug_on(); + AuDbg("b%d, %s:%d\n", bindex, func, line); + AuDbgDentry(dentry); + AuDbgInode(inode); + au_debug_off(); + BUG(); + } + } +} + +void au_dbg_verify_gen(struct dentry *parent, unsigned int sigen) +{ + int err, i, j; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries; + + err = au_dpages_init(&dpages, GFP_NOFS); + AuDebugOn(err); + err = au_dcsub_pages_rev_aufs(&dpages, parent, /*do_include*/1); + AuDebugOn(err); + for (i = dpages.ndpage - 1; !err && i >= 0; i--) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + for (j = dpage->ndentry - 1; !err && j >= 0; j--) + AuDebugOn(au_digen_test(dentries[j], sigen)); + } + au_dpages_free(&dpages); +} + +void au_dbg_verify_kthread(void) +{ + if (au_wkq_test()) { + au_dbg_blocked(); + /* + * It may be recursive, but udba=notify between two aufs mounts, + * where a single ro branch is shared, is not a problem. + */ + /* WARN_ON(1); */ + } +} + +/* ---------------------------------------------------------------------- */ + +int __init au_debug_init(void) +{ + aufs_bindex_t bindex; + struct au_vdir_destr destr; + + bindex = -1; + AuDebugOn(bindex >= 0); + + destr.len = -1; + AuDebugOn(destr.len < NAME_MAX); + +#ifdef CONFIG_4KSTACKS + pr_warn("CONFIG_4KSTACKS is defined.\n"); +#endif + + return 0; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/debug.h +++ linux-riscv-5.8-5.8.0/fs/aufs/debug.h @@ -0,0 +1,226 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * debug print functions + */ + +#ifndef __AUFS_DEBUG_H__ +#define __AUFS_DEBUG_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include + +#ifdef CONFIG_AUFS_DEBUG +#define AuDebugOn(a) BUG_ON(a) + +/* module parameter */ +extern atomic_t aufs_debug; +static inline void au_debug_on(void) +{ + atomic_inc(&aufs_debug); +} +static inline void au_debug_off(void) +{ + atomic_dec_if_positive(&aufs_debug); +} + +static inline int au_debug_test(void) +{ + return atomic_read(&aufs_debug) > 0; +} +#else +#define AuDebugOn(a) do {} while (0) +AuStubVoid(au_debug_on, void) +AuStubVoid(au_debug_off, void) +AuStubInt0(au_debug_test, void) +#endif /* CONFIG_AUFS_DEBUG */ + +#define param_check_atomic_t(name, p) __param_check(name, p, atomic_t) + +/* ---------------------------------------------------------------------- */ + +/* debug print */ + +#define AuDbg(fmt, ...) do { \ + if (au_debug_test()) \ + pr_debug("DEBUG: " fmt, ##__VA_ARGS__); \ +} while (0) +#define AuLabel(l) AuDbg(#l "\n") +#define AuIOErr(fmt, ...) pr_err("I/O Error, " fmt, ##__VA_ARGS__) +#define AuWarn1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + pr_warn(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuErr1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + pr_err(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuIOErr1(fmt, ...) do { \ + static unsigned char _c; \ + if (!_c++) \ + AuIOErr(fmt, ##__VA_ARGS__); \ +} while (0) + +#define AuUnsupportMsg "This operation is not supported." \ + " Please report this application to aufs-users ML." +#define AuUnsupport(fmt, ...) do { \ + pr_err(AuUnsupportMsg "\n" fmt, ##__VA_ARGS__); \ + dump_stack(); \ +} while (0) + +#define AuTraceErr(e) do { \ + if (unlikely((e) < 0)) \ + AuDbg("err %d\n", (int)(e)); \ +} while (0) + +#define AuTraceErrPtr(p) do { \ + if (IS_ERR(p)) \ + AuDbg("err %ld\n", PTR_ERR(p)); \ +} while (0) + +/* dirty macros for debug print, use with "%.*s" and caution */ +#define AuLNPair(qstr) (qstr)->len, (qstr)->name + +/* ---------------------------------------------------------------------- */ + +struct dentry; +#ifdef CONFIG_AUFS_DEBUG +extern struct mutex au_dbg_mtx; +extern char *au_plevel; +struct au_nhash; +void au_dpri_whlist(struct au_nhash *whlist); +struct au_vdir; +void au_dpri_vdir(struct au_vdir *vdir); +struct inode; +void au_dpri_inode(struct inode *inode); +void au_dpri_dalias(struct inode *inode); +void au_dpri_dentry(struct dentry *dentry); +struct file; +void au_dpri_file(struct file *filp); +struct super_block; +void au_dpri_sb(struct super_block *sb); + +#define au_dbg_verify_dinode(d) __au_dbg_verify_dinode(d, __func__, __LINE__) +void __au_dbg_verify_dinode(struct dentry *dentry, const char *func, int line); +void au_dbg_verify_gen(struct dentry *parent, unsigned int sigen); +void au_dbg_verify_kthread(void); + +int __init au_debug_init(void); + +#define AuDbgWhlist(w) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#w "\n"); \ + au_dpri_whlist(w); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgVdir(v) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#v "\n"); \ + au_dpri_vdir(v); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgInode(i) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#i "\n"); \ + au_dpri_inode(i); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgDAlias(i) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#i "\n"); \ + au_dpri_dalias(i); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgDentry(d) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#d "\n"); \ + au_dpri_dentry(d); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgFile(f) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#f "\n"); \ + au_dpri_file(f); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgSb(sb) do { \ + mutex_lock(&au_dbg_mtx); \ + AuDbg(#sb "\n"); \ + au_dpri_sb(sb); \ + mutex_unlock(&au_dbg_mtx); \ +} while (0) + +#define AuDbgSym(addr) do { \ + char sym[KSYM_SYMBOL_LEN]; \ + sprint_symbol(sym, (unsigned long)addr); \ + AuDbg("%s\n", sym); \ +} while (0) +#else +AuStubVoid(au_dbg_verify_dinode, struct dentry *dentry) +AuStubVoid(au_dbg_verify_gen, struct dentry *parent, unsigned int sigen) +AuStubVoid(au_dbg_verify_kthread, void) +AuStubInt0(__init au_debug_init, void) + +#define AuDbgWhlist(w) do {} while (0) +#define AuDbgVdir(v) do {} while (0) +#define AuDbgInode(i) do {} while (0) +#define AuDbgDAlias(i) do {} while (0) +#define AuDbgDentry(d) do {} while (0) +#define AuDbgFile(f) do {} while (0) +#define AuDbgSb(sb) do {} while (0) +#define AuDbgSym(addr) do {} while (0) +#endif /* CONFIG_AUFS_DEBUG */ + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_MAGIC_SYSRQ +int __init au_sysrq_init(void); +void au_sysrq_fin(void); + +#ifdef CONFIG_HW_CONSOLE +#define au_dbg_blocked() do { \ + WARN_ON(1); \ + handle_sysrq('w'); \ +} while (0) +#else +AuStubVoid(au_dbg_blocked, void) +#endif + +#else +AuStubInt0(__init au_sysrq_init, void) +AuStubVoid(au_sysrq_fin, void) +AuStubVoid(au_dbg_blocked, void) +#endif /* CONFIG_AUFS_MAGIC_SYSRQ */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DEBUG_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dentry.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dentry.c @@ -0,0 +1,1154 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * lookup and dentry operations + */ + +#include +#include +#include "aufs.h" + +/* + * returns positive/negative dentry, NULL or an error. + * NULL means whiteout-ed or not-found. + */ +static struct dentry* +au_do_lookup(struct dentry *h_parent, struct dentry *dentry, + aufs_bindex_t bindex, struct au_do_lookup_args *args) +{ + struct dentry *h_dentry; + struct inode *h_inode; + struct au_branch *br; + int wh_found, opq; + unsigned char wh_able; + const unsigned char allow_neg = !!au_ftest_lkup(args->flags, ALLOW_NEG); + const unsigned char ignore_perm = !!au_ftest_lkup(args->flags, + IGNORE_PERM); + + wh_found = 0; + br = au_sbr(dentry->d_sb, bindex); + wh_able = !!au_br_whable(br->br_perm); + if (wh_able) + wh_found = au_wh_test(h_parent, &args->whname, ignore_perm); + h_dentry = ERR_PTR(wh_found); + if (!wh_found) + goto real_lookup; + if (unlikely(wh_found < 0)) + goto out; + + /* We found a whiteout */ + /* au_set_dbbot(dentry, bindex); */ + au_set_dbwh(dentry, bindex); + if (!allow_neg) + return NULL; /* success */ + +real_lookup: + if (!ignore_perm) + h_dentry = vfsub_lkup_one(args->name, h_parent); + else + h_dentry = au_sio_lkup_one(args->name, h_parent); + if (IS_ERR(h_dentry)) { + if (PTR_ERR(h_dentry) == -ENAMETOOLONG + && !allow_neg) + h_dentry = NULL; + goto out; + } + + h_inode = d_inode(h_dentry); + if (d_is_negative(h_dentry)) { + if (!allow_neg) + goto out_neg; + } else if (wh_found + || (args->type && args->type != (h_inode->i_mode & S_IFMT))) + goto out_neg; + else if (au_ftest_lkup(args->flags, DIRREN) + /* && h_inode */ + && !au_dr_lkup_h_ino(args, bindex, h_inode->i_ino)) { + AuDbg("b%d %pd ignored hi%llu\n", bindex, h_dentry, + (unsigned long long)h_inode->i_ino); + goto out_neg; + } + + if (au_dbbot(dentry) <= bindex) + au_set_dbbot(dentry, bindex); + if (au_dbtop(dentry) < 0 || bindex < au_dbtop(dentry)) + au_set_dbtop(dentry, bindex); + au_set_h_dptr(dentry, bindex, h_dentry); + + if (!d_is_dir(h_dentry) + || !wh_able + || (d_really_is_positive(dentry) && !d_is_dir(dentry))) + goto out; /* success */ + + inode_lock_shared_nested(h_inode, AuLsc_I_CHILD); + opq = au_diropq_test(h_dentry); + inode_unlock_shared(h_inode); + if (opq > 0) + au_set_dbdiropq(dentry, bindex); + else if (unlikely(opq < 0)) { + au_set_h_dptr(dentry, bindex, NULL); + h_dentry = ERR_PTR(opq); + } + goto out; + +out_neg: + dput(h_dentry); + h_dentry = NULL; +out: + return h_dentry; +} + +static int au_test_shwh(struct super_block *sb, const struct qstr *name) +{ + if (unlikely(!au_opt_test(au_mntflags(sb), SHWH) + && !strncmp(name->name, AUFS_WH_PFX, AUFS_WH_PFX_LEN))) + return -EPERM; + return 0; +} + +/* + * returns the number of lower positive dentries, + * otherwise an error. + * can be called at unlinking with @type is zero. + */ +int au_lkup_dentry(struct dentry *dentry, aufs_bindex_t btop, + unsigned int flags) +{ + int npositive, err; + aufs_bindex_t bindex, btail, bdiropq; + unsigned char isdir, dirperm1, dirren; + struct au_do_lookup_args args = { + .flags = flags, + .name = &dentry->d_name + }; + struct dentry *parent; + struct super_block *sb; + + sb = dentry->d_sb; + err = au_test_shwh(sb, args.name); + if (unlikely(err)) + goto out; + + err = au_wh_name_alloc(&args.whname, args.name); + if (unlikely(err)) + goto out; + + isdir = !!d_is_dir(dentry); + dirperm1 = !!au_opt_test(au_mntflags(sb), DIRPERM1); + dirren = !!au_opt_test(au_mntflags(sb), DIRREN); + if (dirren) + au_fset_lkup(args.flags, DIRREN); + + npositive = 0; + parent = dget_parent(dentry); + btail = au_dbtaildir(parent); + for (bindex = btop; bindex <= btail; bindex++) { + struct dentry *h_parent, *h_dentry; + struct inode *h_inode, *h_dir; + struct au_branch *br; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry) { + if (d_is_positive(h_dentry)) + npositive++; + break; + } + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || !d_is_dir(h_parent)) + continue; + + if (dirren) { + /* if the inum matches, then use the prepared name */ + err = au_dr_lkup_name(&args, bindex); + if (unlikely(err)) + goto out_parent; + } + + h_dir = d_inode(h_parent); + inode_lock_shared_nested(h_dir, AuLsc_I_PARENT); + h_dentry = au_do_lookup(h_parent, dentry, bindex, &args); + inode_unlock_shared(h_dir); + err = PTR_ERR(h_dentry); + if (IS_ERR(h_dentry)) + goto out_parent; + if (h_dentry) + au_fclr_lkup(args.flags, ALLOW_NEG); + if (dirperm1) + au_fset_lkup(args.flags, IGNORE_PERM); + + if (au_dbwh(dentry) == bindex) + break; + if (!h_dentry) + continue; + if (d_is_negative(h_dentry)) + continue; + h_inode = d_inode(h_dentry); + npositive++; + if (!args.type) + args.type = h_inode->i_mode & S_IFMT; + if (args.type != S_IFDIR) + break; + else if (isdir) { + /* the type of lower may be different */ + bdiropq = au_dbdiropq(dentry); + if (bdiropq >= 0 && bdiropq <= bindex) + break; + } + br = au_sbr(sb, bindex); + if (dirren + && au_dr_hino_test_add(&br->br_dirren, h_inode->i_ino, + /*add_ent*/NULL)) { + /* prepare next name to lookup */ + err = au_dr_lkup(&args, dentry, bindex); + if (unlikely(err)) + goto out_parent; + } + } + + if (npositive) { + AuLabel(positive); + au_update_dbtop(dentry); + } + err = npositive; + if (unlikely(!au_opt_test(au_mntflags(sb), UDBA_NONE) + && au_dbtop(dentry) < 0)) { + err = -EIO; + AuIOErr("both of real entry and whiteout found, %pd, err %d\n", + dentry, err); + } + +out_parent: + dput(parent); + au_kfree_try_rcu(args.whname.name); + if (dirren) + au_dr_lkup_fin(&args); +out: + return err; +} + +struct dentry *au_sio_lkup_one(struct qstr *name, struct dentry *parent) +{ + struct dentry *dentry; + int wkq_err; + + if (!au_test_h_perm_sio(d_inode(parent), MAY_EXEC)) + dentry = vfsub_lkup_one(name, parent); + else { + struct vfsub_lkup_one_args args = { + .errp = &dentry, + .name = name, + .parent = parent + }; + + wkq_err = au_wkq_wait(vfsub_call_lkup_one, &args); + if (unlikely(wkq_err)) + dentry = ERR_PTR(wkq_err); + } + + return dentry; +} + +/* + * lookup @dentry on @bindex which should be negative. + */ +int au_lkup_neg(struct dentry *dentry, aufs_bindex_t bindex, int wh) +{ + int err; + struct dentry *parent, *h_parent, *h_dentry; + struct au_branch *br; + + parent = dget_parent(dentry); + h_parent = au_h_dptr(parent, bindex); + br = au_sbr(dentry->d_sb, bindex); + if (wh) + h_dentry = au_whtmp_lkup(h_parent, br, &dentry->d_name); + else + h_dentry = au_sio_lkup_one(&dentry->d_name, h_parent); + err = PTR_ERR(h_dentry); + if (IS_ERR(h_dentry)) + goto out; + if (unlikely(d_is_positive(h_dentry))) { + err = -EIO; + AuIOErr("%pd should be negative on b%d.\n", h_dentry, bindex); + dput(h_dentry); + goto out; + } + + err = 0; + if (bindex < au_dbtop(dentry)) + au_set_dbtop(dentry, bindex); + if (au_dbbot(dentry) < bindex) + au_set_dbbot(dentry, bindex); + au_set_h_dptr(dentry, bindex, h_dentry); + +out: + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* subset of struct inode */ +struct au_iattr { + unsigned long i_ino; + /* unsigned int i_nlink; */ + kuid_t i_uid; + kgid_t i_gid; + u64 i_version; +/* + loff_t i_size; + blkcnt_t i_blocks; +*/ + umode_t i_mode; +}; + +static void au_iattr_save(struct au_iattr *ia, struct inode *h_inode) +{ + ia->i_ino = h_inode->i_ino; + /* ia->i_nlink = h_inode->i_nlink; */ + ia->i_uid = h_inode->i_uid; + ia->i_gid = h_inode->i_gid; + ia->i_version = inode_query_iversion(h_inode); +/* + ia->i_size = h_inode->i_size; + ia->i_blocks = h_inode->i_blocks; +*/ + ia->i_mode = (h_inode->i_mode & S_IFMT); +} + +static int au_iattr_test(struct au_iattr *ia, struct inode *h_inode) +{ + return ia->i_ino != h_inode->i_ino + /* || ia->i_nlink != h_inode->i_nlink */ + || !uid_eq(ia->i_uid, h_inode->i_uid) + || !gid_eq(ia->i_gid, h_inode->i_gid) + || !inode_eq_iversion(h_inode, ia->i_version) +/* + || ia->i_size != h_inode->i_size + || ia->i_blocks != h_inode->i_blocks +*/ + || ia->i_mode != (h_inode->i_mode & S_IFMT); +} + +static int au_h_verify_dentry(struct dentry *h_dentry, struct dentry *h_parent, + struct au_branch *br) +{ + int err; + struct au_iattr ia; + struct inode *h_inode; + struct dentry *h_d; + struct super_block *h_sb; + + err = 0; + memset(&ia, -1, sizeof(ia)); + h_sb = h_dentry->d_sb; + h_inode = NULL; + if (d_is_positive(h_dentry)) { + h_inode = d_inode(h_dentry); + au_iattr_save(&ia, h_inode); + } else if (au_test_nfs(h_sb) || au_test_fuse(h_sb)) + /* nfs d_revalidate may return 0 for negative dentry */ + /* fuse d_revalidate always return 0 for negative dentry */ + goto out; + + /* main purpose is namei.c:cached_lookup() and d_revalidate */ + h_d = vfsub_lkup_one(&h_dentry->d_name, h_parent); + err = PTR_ERR(h_d); + if (IS_ERR(h_d)) + goto out; + + err = 0; + if (unlikely(h_d != h_dentry + || d_inode(h_d) != h_inode + || (h_inode && au_iattr_test(&ia, h_inode)))) + err = au_busy_or_stale(); + dput(h_d); + +out: + AuTraceErr(err); + return err; +} + +int au_h_verify(struct dentry *h_dentry, unsigned int udba, struct inode *h_dir, + struct dentry *h_parent, struct au_branch *br) +{ + int err; + + err = 0; + if (udba == AuOpt_UDBA_REVAL + && !au_test_fs_remote(h_dentry->d_sb)) { + IMustLock(h_dir); + err = (d_inode(h_dentry->d_parent) != h_dir); + } else if (udba != AuOpt_UDBA_NONE) + err = au_h_verify_dentry(h_dentry, h_parent, br); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_refresh_hdentry(struct dentry *dentry, struct dentry *parent) +{ + int err; + aufs_bindex_t new_bindex, bindex, bbot, bwh, bdiropq; + struct au_hdentry tmp, *p, *q; + struct au_dinfo *dinfo; + struct super_block *sb; + + DiMustWriteLock(dentry); + + sb = dentry->d_sb; + dinfo = au_di(dentry); + bbot = dinfo->di_bbot; + bwh = dinfo->di_bwh; + bdiropq = dinfo->di_bdiropq; + bindex = dinfo->di_btop; + p = au_hdentry(dinfo, bindex); + for (; bindex <= bbot; bindex++, p++) { + if (!p->hd_dentry) + continue; + + new_bindex = au_br_index(sb, p->hd_id); + if (new_bindex == bindex) + continue; + + if (dinfo->di_bwh == bindex) + bwh = new_bindex; + if (dinfo->di_bdiropq == bindex) + bdiropq = new_bindex; + if (new_bindex < 0) { + au_hdput(p); + p->hd_dentry = NULL; + continue; + } + + /* swap two lower dentries, and loop again */ + q = au_hdentry(dinfo, new_bindex); + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hd_dentry) { + bindex--; + p--; + } + } + + dinfo->di_bwh = -1; + if (bwh >= 0 && bwh <= au_sbbot(sb) && au_sbr_whable(sb, bwh)) + dinfo->di_bwh = bwh; + + dinfo->di_bdiropq = -1; + if (bdiropq >= 0 + && bdiropq <= au_sbbot(sb) + && au_sbr_whable(sb, bdiropq)) + dinfo->di_bdiropq = bdiropq; + + err = -EIO; + dinfo->di_btop = -1; + dinfo->di_bbot = -1; + bbot = au_dbbot(parent); + bindex = 0; + p = au_hdentry(dinfo, bindex); + for (; bindex <= bbot; bindex++, p++) + if (p->hd_dentry) { + dinfo->di_btop = bindex; + break; + } + + if (dinfo->di_btop >= 0) { + bindex = bbot; + p = au_hdentry(dinfo, bindex); + for (; bindex >= 0; bindex--, p--) + if (p->hd_dentry) { + dinfo->di_bbot = bindex; + err = 0; + break; + } + } + + return err; +} + +static void au_do_hide(struct dentry *dentry) +{ + struct inode *inode; + + if (d_really_is_positive(dentry)) { + inode = d_inode(dentry); + if (!d_is_dir(dentry)) { + if (inode->i_nlink && !d_unhashed(dentry)) + drop_nlink(inode); + } else { + clear_nlink(inode); + /* stop next lookup */ + inode->i_flags |= S_DEAD; + } + smp_mb(); /* necessary? */ + } + d_drop(dentry); +} + +static int au_hide_children(struct dentry *parent) +{ + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry *dentry; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, parent, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + /* in reverse order */ + for (i = dpages.ndpage - 1; i >= 0; i--) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = ndentry - 1; j >= 0; j--) { + dentry = dpage->dentries[j]; + if (dentry != parent) + au_do_hide(dentry); + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static void au_hide(struct dentry *dentry) +{ + int err; + + AuDbgDentry(dentry); + if (d_is_dir(dentry)) { + /* shrink_dcache_parent(dentry); */ + err = au_hide_children(dentry); + if (unlikely(err)) + AuIOErr("%pd, failed hiding children, ignored %d\n", + dentry, err); + } + au_do_hide(dentry); +} + +/* + * By adding a dirty branch, a cached dentry may be affected in various ways. + * + * a dirty branch is added + * - on the top of layers + * - in the middle of layers + * - to the bottom of layers + * + * on the added branch there exists + * - a whiteout + * - a diropq + * - a same named entry + * + exist + * * negative --> positive + * * positive --> positive + * - type is unchanged + * - type is changed + * + doesn't exist + * * negative --> negative + * * positive --> negative (rejected by au_br_del() for non-dir case) + * - none + */ +static int au_refresh_by_dinfo(struct dentry *dentry, struct au_dinfo *dinfo, + struct au_dinfo *tmp) +{ + int err; + aufs_bindex_t bindex, bbot; + struct { + struct dentry *dentry; + struct inode *inode; + mode_t mode; + } orig_h, tmp_h = { + .dentry = NULL + }; + struct au_hdentry *hd; + struct inode *inode, *h_inode; + struct dentry *h_dentry; + + err = 0; + AuDebugOn(dinfo->di_btop < 0); + orig_h.mode = 0; + orig_h.dentry = au_hdentry(dinfo, dinfo->di_btop)->hd_dentry; + orig_h.inode = NULL; + if (d_is_positive(orig_h.dentry)) { + orig_h.inode = d_inode(orig_h.dentry); + orig_h.mode = orig_h.inode->i_mode & S_IFMT; + } + if (tmp->di_btop >= 0) { + tmp_h.dentry = au_hdentry(tmp, tmp->di_btop)->hd_dentry; + if (d_is_positive(tmp_h.dentry)) { + tmp_h.inode = d_inode(tmp_h.dentry); + tmp_h.mode = tmp_h.inode->i_mode & S_IFMT; + } + } + + inode = NULL; + if (d_really_is_positive(dentry)) + inode = d_inode(dentry); + if (!orig_h.inode) { + AuDbg("negative originally\n"); + if (inode) { + au_hide(dentry); + goto out; + } + AuDebugOn(inode); + AuDebugOn(dinfo->di_btop != dinfo->di_bbot); + AuDebugOn(dinfo->di_bdiropq != -1); + + if (!tmp_h.inode) { + AuDbg("negative --> negative\n"); + /* should have only one negative lower */ + if (tmp->di_btop >= 0 + && tmp->di_btop < dinfo->di_btop) { + AuDebugOn(tmp->di_btop != tmp->di_bbot); + AuDebugOn(dinfo->di_btop != dinfo->di_bbot); + au_set_h_dptr(dentry, dinfo->di_btop, NULL); + au_di_cp(dinfo, tmp); + hd = au_hdentry(tmp, tmp->di_btop); + au_set_h_dptr(dentry, tmp->di_btop, + dget(hd->hd_dentry)); + } + au_dbg_verify_dinode(dentry); + } else { + AuDbg("negative --> positive\n"); + /* + * similar to the behaviour of creating with bypassing + * aufs. + * unhash it in order to force an error in the + * succeeding create operation. + * we should not set S_DEAD here. + */ + d_drop(dentry); + /* au_di_swap(tmp, dinfo); */ + au_dbg_verify_dinode(dentry); + } + } else { + AuDbg("positive originally\n"); + /* inode may be NULL */ + AuDebugOn(inode && (inode->i_mode & S_IFMT) != orig_h.mode); + if (!tmp_h.inode) { + AuDbg("positive --> negative\n"); + /* or bypassing aufs */ + au_hide(dentry); + if (tmp->di_bwh >= 0 && tmp->di_bwh <= dinfo->di_btop) + dinfo->di_bwh = tmp->di_bwh; + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } else if (orig_h.mode == tmp_h.mode) { + AuDbg("positive --> positive, same type\n"); + if (!S_ISDIR(orig_h.mode) + && dinfo->di_btop > tmp->di_btop) { + /* + * similar to the behaviour of removing and + * creating. + */ + au_hide(dentry); + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } else { + /* fill empty slots */ + if (dinfo->di_btop > tmp->di_btop) + dinfo->di_btop = tmp->di_btop; + if (dinfo->di_bbot < tmp->di_bbot) + dinfo->di_bbot = tmp->di_bbot; + dinfo->di_bwh = tmp->di_bwh; + dinfo->di_bdiropq = tmp->di_bdiropq; + bbot = dinfo->di_bbot; + bindex = tmp->di_btop; + hd = au_hdentry(tmp, bindex); + for (; bindex <= bbot; bindex++, hd++) { + if (au_h_dptr(dentry, bindex)) + continue; + h_dentry = hd->hd_dentry; + if (!h_dentry) + continue; + AuDebugOn(d_is_negative(h_dentry)); + h_inode = d_inode(h_dentry); + AuDebugOn(orig_h.mode + != (h_inode->i_mode + & S_IFMT)); + au_set_h_dptr(dentry, bindex, + dget(h_dentry)); + } + if (inode) + err = au_refresh_hinode(inode, dentry); + au_dbg_verify_dinode(dentry); + } + } else { + AuDbg("positive --> positive, different type\n"); + /* similar to the behaviour of removing and creating */ + au_hide(dentry); + if (inode) + err = au_refresh_hinode_self(inode); + au_dbg_verify_dinode(dentry); + } + } + +out: + return err; +} + +void au_refresh_dop(struct dentry *dentry, int force_reval) +{ + const struct dentry_operations *dop + = force_reval ? &aufs_dop : dentry->d_sb->s_d_op; + static const unsigned int mask + = DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE; + + BUILD_BUG_ON(sizeof(mask) != sizeof(dentry->d_flags)); + + if (dentry->d_op == dop) + return; + + AuDbg("%pd\n", dentry); + spin_lock(&dentry->d_lock); + if (dop == &aufs_dop) + dentry->d_flags |= mask; + else + dentry->d_flags &= ~mask; + dentry->d_op = dop; + spin_unlock(&dentry->d_lock); +} + +int au_refresh_dentry(struct dentry *dentry, struct dentry *parent) +{ + int err, ebrange, nbr; + unsigned int sigen; + struct au_dinfo *dinfo, *tmp; + struct super_block *sb; + struct inode *inode; + + DiMustWriteLock(dentry); + AuDebugOn(IS_ROOT(dentry)); + AuDebugOn(d_really_is_negative(parent)); + + sb = dentry->d_sb; + sigen = au_sigen(sb); + err = au_digen_test(parent, sigen); + if (unlikely(err)) + goto out; + + nbr = au_sbbot(sb) + 1; + dinfo = au_di(dentry); + err = au_di_realloc(dinfo, nbr, /*may_shrink*/0); + if (unlikely(err)) + goto out; + ebrange = au_dbrange_test(dentry); + if (!ebrange) + ebrange = au_do_refresh_hdentry(dentry, parent); + + if (d_unhashed(dentry) || ebrange /* || dinfo->di_tmpfile */) { + AuDebugOn(au_dbtop(dentry) < 0 && au_dbbot(dentry) >= 0); + if (d_really_is_positive(dentry)) { + inode = d_inode(dentry); + err = au_refresh_hinode_self(inode); + } + au_dbg_verify_dinode(dentry); + if (!err) + goto out_dgen; /* success */ + goto out; + } + + /* temporary dinfo */ + AuDbgDentry(dentry); + err = -ENOMEM; + tmp = au_di_alloc(sb, AuLsc_DI_TMP); + if (unlikely(!tmp)) + goto out; + au_di_swap(tmp, dinfo); + /* returns the number of positive dentries */ + /* + * if current working dir is removed, it returns an error. + * but the dentry is legal. + */ + err = au_lkup_dentry(dentry, /*btop*/0, AuLkup_ALLOW_NEG); + AuDbgDentry(dentry); + au_di_swap(tmp, dinfo); + if (err == -ENOENT) + err = 0; + if (err >= 0) { + /* compare/refresh by dinfo */ + AuDbgDentry(dentry); + err = au_refresh_by_dinfo(dentry, dinfo, tmp); + au_dbg_verify_dinode(dentry); + AuTraceErr(err); + } + au_di_realloc(dinfo, nbr, /*may_shrink*/1); /* harmless if err */ + au_rw_write_unlock(&tmp->di_rwsem); + au_di_free(tmp); + if (unlikely(err)) + goto out; + +out_dgen: + au_update_digen(dentry); +out: + if (unlikely(err && !(dentry->d_flags & DCACHE_NFSFS_RENAMED))) { + AuIOErr("failed refreshing %pd, %d\n", dentry, err); + AuDbgDentry(dentry); + } + AuTraceErr(err); + return err; +} + +static int au_do_h_d_reval(struct dentry *h_dentry, unsigned int flags, + struct dentry *dentry, aufs_bindex_t bindex) +{ + int err, valid; + + err = 0; + if (!(h_dentry->d_flags & DCACHE_OP_REVALIDATE)) + goto out; + + AuDbg("b%d\n", bindex); + /* + * gave up supporting LOOKUP_CREATE/OPEN for lower fs, + * due to whiteout and branch permission. + */ + flags &= ~(/*LOOKUP_PARENT |*/ LOOKUP_OPEN | LOOKUP_CREATE + | LOOKUP_FOLLOW | LOOKUP_EXCL); + /* it may return tri-state */ + valid = h_dentry->d_op->d_revalidate(h_dentry, flags); + + if (unlikely(valid < 0)) + err = valid; + else if (!valid) + err = -EINVAL; + +out: + AuTraceErr(err); + return err; +} + +/* todo: remove this */ +static int h_d_revalidate(struct dentry *dentry, struct inode *inode, + unsigned int flags, int do_udba, int dirren) +{ + int err; + umode_t mode, h_mode; + aufs_bindex_t bindex, btail, btop, ibs, ibe; + unsigned char plus, unhashed, is_root, h_plus, h_nfs, tmpfile; + struct inode *h_inode, *h_cached_inode; + struct dentry *h_dentry; + struct qstr *name, *h_name; + + err = 0; + plus = 0; + mode = 0; + ibs = -1; + ibe = -1; + unhashed = !!d_unhashed(dentry); + is_root = !!IS_ROOT(dentry); + name = &dentry->d_name; + tmpfile = au_di(dentry)->di_tmpfile; + + /* + * Theoretically, REVAL test should be unnecessary in case of + * {FS,I}NOTIFY. + * But {fs,i}notify doesn't fire some necessary events, + * IN_ATTRIB for atime/nlink/pageio + * Let's do REVAL test too. + */ + if (do_udba && inode) { + mode = (inode->i_mode & S_IFMT); + plus = (inode->i_nlink > 0); + ibs = au_ibtop(inode); + ibe = au_ibbot(inode); + } + + btop = au_dbtop(dentry); + btail = btop; + if (inode && S_ISDIR(inode->i_mode)) + btail = au_dbtaildir(dentry); + for (bindex = btop; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + + AuDbg("b%d, %pd\n", bindex, h_dentry); + h_nfs = !!au_test_nfs(h_dentry->d_sb); + spin_lock(&h_dentry->d_lock); + h_name = &h_dentry->d_name; + if (unlikely(do_udba + && !is_root + && ((!h_nfs + && (unhashed != !!d_unhashed(h_dentry) + || (!tmpfile && !dirren + && !au_qstreq(name, h_name)) + )) + || (h_nfs + && !(flags & LOOKUP_OPEN) + && (h_dentry->d_flags + & DCACHE_NFSFS_RENAMED))) + )) { + int h_unhashed; + + h_unhashed = d_unhashed(h_dentry); + spin_unlock(&h_dentry->d_lock); + AuDbg("unhash 0x%x 0x%x, %pd %pd\n", + unhashed, h_unhashed, dentry, h_dentry); + goto err; + } + spin_unlock(&h_dentry->d_lock); + + err = au_do_h_d_reval(h_dentry, flags, dentry, bindex); + if (unlikely(err)) + /* do not goto err, to keep the errno */ + break; + + /* todo: plink too? */ + if (!do_udba) + continue; + + /* UDBA tests */ + if (unlikely(!!inode != d_is_positive(h_dentry))) + goto err; + + h_inode = NULL; + if (d_is_positive(h_dentry)) + h_inode = d_inode(h_dentry); + h_plus = plus; + h_mode = mode; + h_cached_inode = h_inode; + if (h_inode) { + h_mode = (h_inode->i_mode & S_IFMT); + h_plus = (h_inode->i_nlink > 0); + } + if (inode && ibs <= bindex && bindex <= ibe) + h_cached_inode = au_h_iptr(inode, bindex); + + if (!h_nfs) { + if (unlikely(plus != h_plus && !tmpfile)) + goto err; + } else { + if (unlikely(!(h_dentry->d_flags & DCACHE_NFSFS_RENAMED) + && !is_root + && !IS_ROOT(h_dentry) + && unhashed != d_unhashed(h_dentry))) + goto err; + } + if (unlikely(mode != h_mode + || h_cached_inode != h_inode)) + goto err; + continue; + +err: + err = -EINVAL; + break; + } + + AuTraceErr(err); + return err; +} + +/* todo: consolidate with do_refresh() and au_reval_for_attr() */ +static int simple_reval_dpath(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct dentry *parent; + + if (!au_digen_test(dentry, sigen)) + return 0; + + parent = dget_parent(dentry); + di_read_lock_parent(parent, AuLock_IR); + AuDebugOn(au_digen_test(parent, sigen)); + au_dbg_verify_gen(parent, sigen); + err = au_refresh_dentry(dentry, parent); + di_read_unlock(parent, AuLock_IR); + dput(parent); + AuTraceErr(err); + return err; +} + +int au_reval_dpath(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct dentry *d, *parent; + + if (!au_ftest_si(au_sbi(dentry->d_sb), FAILED_REFRESH_DIR)) + return simple_reval_dpath(dentry, sigen); + + /* slow loop, keep it simple and stupid */ + /* cf: au_cpup_dirs() */ + err = 0; + parent = NULL; + while (au_digen_test(dentry, sigen)) { + d = dentry; + while (1) { + dput(parent); + parent = dget_parent(d); + if (!au_digen_test(parent, sigen)) + break; + d = parent; + } + + if (d != dentry) + di_write_lock_child2(d); + + /* someone might update our dentry while we were sleeping */ + if (au_digen_test(d, sigen)) { + /* + * todo: consolidate with simple_reval_dpath(), + * do_refresh() and au_reval_for_attr(). + */ + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(d, parent); + di_read_unlock(parent, AuLock_IR); + } + + if (d != dentry) + di_write_unlock(d); + dput(parent); + if (unlikely(err)) + break; + } + + return err; +} + +/* + * if valid returns 1, otherwise 0. + */ +static int aufs_d_revalidate(struct dentry *dentry, unsigned int flags) +{ + int valid, err; + unsigned int sigen; + unsigned char do_udba, dirren; + struct super_block *sb; + struct inode *inode; + + /* todo: support rcu-walk? */ + if (flags & LOOKUP_RCU) + return -ECHILD; + + valid = 0; + if (unlikely(!au_di(dentry))) + goto out; + + valid = 1; + sb = dentry->d_sb; + /* + * todo: very ugly + * i_mutex of parent dir may be held, + * but we should not return 'invalid' due to busy. + */ + err = aufs_read_lock(dentry, AuLock_FLUSH | AuLock_DW | AuLock_NOPLM); + if (unlikely(err)) { + valid = err; + AuTraceErr(err); + goto out; + } + inode = NULL; + if (d_really_is_positive(dentry)) + inode = d_inode(dentry); + if (unlikely(inode && au_is_bad_inode(inode))) { + err = -EINVAL; + AuTraceErr(err); + goto out_dgrade; + } + if (unlikely(au_dbrange_test(dentry))) { + err = -EINVAL; + AuTraceErr(err); + goto out_dgrade; + } + + sigen = au_sigen(sb); + if (au_digen_test(dentry, sigen)) { + AuDebugOn(IS_ROOT(dentry)); + err = au_reval_dpath(dentry, sigen); + if (unlikely(err)) { + AuTraceErr(err); + goto out_dgrade; + } + } + di_downgrade_lock(dentry, AuLock_IR); + + err = -EINVAL; + if (!(flags & (LOOKUP_OPEN | LOOKUP_EMPTY)) + && inode + && !(inode->i_state && I_LINKABLE) + && (IS_DEADDIR(inode) || !inode->i_nlink)) { + AuTraceErr(err); + goto out_inval; + } + + do_udba = !au_opt_test(au_mntflags(sb), UDBA_NONE); + if (do_udba && inode) { + aufs_bindex_t btop = au_ibtop(inode); + struct inode *h_inode; + + if (btop >= 0) { + h_inode = au_h_iptr(inode, btop); + if (h_inode && au_test_higen(inode, h_inode)) { + AuTraceErr(err); + goto out_inval; + } + } + } + + dirren = !!au_opt_test(au_mntflags(sb), DIRREN); + err = h_d_revalidate(dentry, inode, flags, do_udba, dirren); + if (unlikely(!err && do_udba && au_dbtop(dentry) < 0)) { + err = -EIO; + AuDbg("both of real entry and whiteout found, %p, err %d\n", + dentry, err); + } + goto out_inval; + +out_dgrade: + di_downgrade_lock(dentry, AuLock_IR); +out_inval: + aufs_read_unlock(dentry, AuLock_IR); + AuTraceErr(err); + valid = !err; +out: + if (!valid) { + AuDbg("%pd invalid, %d\n", dentry, valid); + d_drop(dentry); + } + return valid; +} + +static void aufs_d_release(struct dentry *dentry) +{ + if (au_di(dentry)) { + au_di_fin(dentry); + au_hn_di_reinit(dentry); + } +} + +const struct dentry_operations aufs_dop = { + .d_revalidate = aufs_d_revalidate, + .d_weak_revalidate = aufs_d_revalidate, + .d_release = aufs_d_release +}; + +/* aufs_dop without d_revalidate */ +const struct dentry_operations aufs_dop_noreval = { + .d_release = aufs_d_release +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dentry.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dentry.h @@ -0,0 +1,268 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * lookup and dentry operations + */ + +#ifndef __AUFS_DENTRY_H__ +#define __AUFS_DENTRY_H__ + +#ifdef __KERNEL__ + +#include +#include "dirren.h" +#include "rwsem.h" + +struct au_hdentry { + struct dentry *hd_dentry; + aufs_bindex_t hd_id; +}; + +struct au_dinfo { + atomic_t di_generation; + + struct au_rwsem di_rwsem; + aufs_bindex_t di_btop, di_bbot, di_bwh, di_bdiropq; + unsigned char di_tmpfile; /* to allow the different name */ + struct au_hdentry *di_hdentry; + struct rcu_head rcu; +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* flags for au_lkup_dentry() */ +#define AuLkup_ALLOW_NEG 1 +#define AuLkup_IGNORE_PERM (1 << 1) +#define AuLkup_DIRREN (1 << 2) +#define au_ftest_lkup(flags, name) ((flags) & AuLkup_##name) +#define au_fset_lkup(flags, name) \ + do { (flags) |= AuLkup_##name; } while (0) +#define au_fclr_lkup(flags, name) \ + do { (flags) &= ~AuLkup_##name; } while (0) + +#ifndef CONFIG_AUFS_DIRREN +#undef AuLkup_DIRREN +#define AuLkup_DIRREN 0 +#endif + +struct au_do_lookup_args { + unsigned int flags; + mode_t type; + struct qstr whname, *name; + struct au_dr_lookup dirren; +}; + +/* ---------------------------------------------------------------------- */ + +/* dentry.c */ +extern const struct dentry_operations aufs_dop, aufs_dop_noreval; +struct au_branch; +struct dentry *au_sio_lkup_one(struct qstr *name, struct dentry *parent); +int au_h_verify(struct dentry *h_dentry, unsigned int udba, struct inode *h_dir, + struct dentry *h_parent, struct au_branch *br); + +int au_lkup_dentry(struct dentry *dentry, aufs_bindex_t btop, + unsigned int flags); +int au_lkup_neg(struct dentry *dentry, aufs_bindex_t bindex, int wh); +int au_refresh_dentry(struct dentry *dentry, struct dentry *parent); +int au_reval_dpath(struct dentry *dentry, unsigned int sigen); +void au_refresh_dop(struct dentry *dentry, int force_reval); + +/* dinfo.c */ +void au_di_init_once(void *_di); +struct au_dinfo *au_di_alloc(struct super_block *sb, unsigned int lsc); +void au_di_free(struct au_dinfo *dinfo); +void au_di_swap(struct au_dinfo *a, struct au_dinfo *b); +void au_di_cp(struct au_dinfo *dst, struct au_dinfo *src); +int au_di_init(struct dentry *dentry); +void au_di_fin(struct dentry *dentry); +int au_di_realloc(struct au_dinfo *dinfo, int nbr, int may_shrink); + +void di_read_lock(struct dentry *d, int flags, unsigned int lsc); +void di_read_unlock(struct dentry *d, int flags); +void di_downgrade_lock(struct dentry *d, int flags); +void di_write_lock(struct dentry *d, unsigned int lsc); +void di_write_unlock(struct dentry *d); +void di_write_lock2_child(struct dentry *d1, struct dentry *d2, int isdir); +void di_write_lock2_parent(struct dentry *d1, struct dentry *d2, int isdir); +void di_write_unlock2(struct dentry *d1, struct dentry *d2); + +struct dentry *au_h_dptr(struct dentry *dentry, aufs_bindex_t bindex); +struct dentry *au_h_d_alias(struct dentry *dentry, aufs_bindex_t bindex); +aufs_bindex_t au_dbtail(struct dentry *dentry); +aufs_bindex_t au_dbtaildir(struct dentry *dentry); + +void au_set_h_dptr(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_dentry); +int au_digen_test(struct dentry *dentry, unsigned int sigen); +int au_dbrange_test(struct dentry *dentry); +void au_update_digen(struct dentry *dentry); +void au_update_dbrange(struct dentry *dentry, int do_put_zero); +void au_update_dbtop(struct dentry *dentry); +void au_update_dbbot(struct dentry *dentry); +int au_find_dbindex(struct dentry *dentry, struct dentry *h_dentry); + +/* ---------------------------------------------------------------------- */ + +static inline struct au_dinfo *au_di(struct dentry *dentry) +{ + return dentry->d_fsdata; +} + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for dinfo */ +enum { + AuLsc_DI_CHILD, /* child first */ + AuLsc_DI_CHILD2, /* rename(2), link(2), and cpup at hnotify */ + AuLsc_DI_CHILD3, /* copyup dirs */ + AuLsc_DI_PARENT, + AuLsc_DI_PARENT2, + AuLsc_DI_PARENT3, + AuLsc_DI_TMP /* temp for replacing dinfo */ +}; + +/* + * di_read_lock_child, di_write_lock_child, + * di_read_lock_child2, di_write_lock_child2, + * di_read_lock_child3, di_write_lock_child3, + * di_read_lock_parent, di_write_lock_parent, + * di_read_lock_parent2, di_write_lock_parent2, + * di_read_lock_parent3, di_write_lock_parent3, + */ +#define AuReadLockFunc(name, lsc) \ +static inline void di_read_lock_##name(struct dentry *d, int flags) \ +{ di_read_lock(d, flags, AuLsc_DI_##lsc); } + +#define AuWriteLockFunc(name, lsc) \ +static inline void di_write_lock_##name(struct dentry *d) \ +{ di_write_lock(d, AuLsc_DI_##lsc); } + +#define AuRWLockFuncs(name, lsc) \ + AuReadLockFunc(name, lsc) \ + AuWriteLockFunc(name, lsc) + +AuRWLockFuncs(child, CHILD); +AuRWLockFuncs(child2, CHILD2); +AuRWLockFuncs(child3, CHILD3); +AuRWLockFuncs(parent, PARENT); +AuRWLockFuncs(parent2, PARENT2); +AuRWLockFuncs(parent3, PARENT3); + +#undef AuReadLockFunc +#undef AuWriteLockFunc +#undef AuRWLockFuncs + +#define DiMustNoWaiters(d) AuRwMustNoWaiters(&au_di(d)->di_rwsem) +#define DiMustAnyLock(d) AuRwMustAnyLock(&au_di(d)->di_rwsem) +#define DiMustWriteLock(d) AuRwMustWriteLock(&au_di(d)->di_rwsem) + +/* ---------------------------------------------------------------------- */ + +/* todo: memory barrier? */ +static inline unsigned int au_digen(struct dentry *d) +{ + return atomic_read(&au_di(d)->di_generation); +} + +static inline void au_h_dentry_init(struct au_hdentry *hdentry) +{ + hdentry->hd_dentry = NULL; +} + +static inline struct au_hdentry *au_hdentry(struct au_dinfo *di, + aufs_bindex_t bindex) +{ + return di->di_hdentry + bindex; +} + +static inline void au_hdput(struct au_hdentry *hd) +{ + if (hd) + dput(hd->hd_dentry); +} + +static inline aufs_bindex_t au_dbtop(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_btop; +} + +static inline aufs_bindex_t au_dbbot(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bbot; +} + +static inline aufs_bindex_t au_dbwh(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bwh; +} + +static inline aufs_bindex_t au_dbdiropq(struct dentry *dentry) +{ + DiMustAnyLock(dentry); + return au_di(dentry)->di_bdiropq; +} + +/* todo: hard/soft set? */ +static inline void au_set_dbtop(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_btop = bindex; +} + +static inline void au_set_dbbot(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_bbot = bindex; +} + +static inline void au_set_dbwh(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + /* dbwh can be outside of btop - bbot range */ + au_di(dentry)->di_bwh = bindex; +} + +static inline void au_set_dbdiropq(struct dentry *dentry, aufs_bindex_t bindex) +{ + DiMustWriteLock(dentry); + au_di(dentry)->di_bdiropq = bindex; +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_HNOTIFY +static inline void au_digen_dec(struct dentry *d) +{ + atomic_dec(&au_di(d)->di_generation); +} + +static inline void au_hn_di_reinit(struct dentry *dentry) +{ + dentry->d_fsdata = NULL; +} +#else +AuStubVoid(au_hn_di_reinit, struct dentry *dentry __maybe_unused) +#endif /* CONFIG_AUFS_HNOTIFY */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DENTRY_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dinfo.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dinfo.c @@ -0,0 +1,554 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * dentry private data + */ + +#include "aufs.h" + +void au_di_init_once(void *_dinfo) +{ + struct au_dinfo *dinfo = _dinfo; + + au_rw_init(&dinfo->di_rwsem); +} + +struct au_dinfo *au_di_alloc(struct super_block *sb, unsigned int lsc) +{ + struct au_dinfo *dinfo; + int nbr, i; + + dinfo = au_cache_alloc_dinfo(); + if (unlikely(!dinfo)) + goto out; + + nbr = au_sbbot(sb) + 1; + if (nbr <= 0) + nbr = 1; + dinfo->di_hdentry = kcalloc(nbr, sizeof(*dinfo->di_hdentry), GFP_NOFS); + if (dinfo->di_hdentry) { + au_rw_write_lock_nested(&dinfo->di_rwsem, lsc); + dinfo->di_btop = -1; + dinfo->di_bbot = -1; + dinfo->di_bwh = -1; + dinfo->di_bdiropq = -1; + dinfo->di_tmpfile = 0; + for (i = 0; i < nbr; i++) + dinfo->di_hdentry[i].hd_id = -1; + goto out; + } + + au_cache_free_dinfo(dinfo); + dinfo = NULL; + +out: + return dinfo; +} + +void au_di_free(struct au_dinfo *dinfo) +{ + struct au_hdentry *p; + aufs_bindex_t bbot, bindex; + + /* dentry may not be revalidated */ + bindex = dinfo->di_btop; + if (bindex >= 0) { + bbot = dinfo->di_bbot; + p = au_hdentry(dinfo, bindex); + while (bindex++ <= bbot) + au_hdput(p++); + } + au_kfree_try_rcu(dinfo->di_hdentry); + au_cache_free_dinfo(dinfo); +} + +void au_di_swap(struct au_dinfo *a, struct au_dinfo *b) +{ + struct au_hdentry *p; + aufs_bindex_t bi; + + AuRwMustWriteLock(&a->di_rwsem); + AuRwMustWriteLock(&b->di_rwsem); + +#define DiSwap(v, name) \ + do { \ + v = a->di_##name; \ + a->di_##name = b->di_##name; \ + b->di_##name = v; \ + } while (0) + + DiSwap(p, hdentry); + DiSwap(bi, btop); + DiSwap(bi, bbot); + DiSwap(bi, bwh); + DiSwap(bi, bdiropq); + /* smp_mb(); */ + +#undef DiSwap +} + +void au_di_cp(struct au_dinfo *dst, struct au_dinfo *src) +{ + AuRwMustWriteLock(&dst->di_rwsem); + AuRwMustWriteLock(&src->di_rwsem); + + dst->di_btop = src->di_btop; + dst->di_bbot = src->di_bbot; + dst->di_bwh = src->di_bwh; + dst->di_bdiropq = src->di_bdiropq; + /* smp_mb(); */ +} + +int au_di_init(struct dentry *dentry) +{ + int err; + struct super_block *sb; + struct au_dinfo *dinfo; + + err = 0; + sb = dentry->d_sb; + dinfo = au_di_alloc(sb, AuLsc_DI_CHILD); + if (dinfo) { + atomic_set(&dinfo->di_generation, au_sigen(sb)); + /* smp_mb(); */ /* atomic_set */ + dentry->d_fsdata = dinfo; + } else + err = -ENOMEM; + + return err; +} + +void au_di_fin(struct dentry *dentry) +{ + struct au_dinfo *dinfo; + + dinfo = au_di(dentry); + AuRwDestroy(&dinfo->di_rwsem); + au_di_free(dinfo); +} + +int au_di_realloc(struct au_dinfo *dinfo, int nbr, int may_shrink) +{ + int err, sz; + struct au_hdentry *hdp; + + AuRwMustWriteLock(&dinfo->di_rwsem); + + err = -ENOMEM; + sz = sizeof(*hdp) * (dinfo->di_bbot + 1); + if (!sz) + sz = sizeof(*hdp); + hdp = au_kzrealloc(dinfo->di_hdentry, sz, sizeof(*hdp) * nbr, GFP_NOFS, + may_shrink); + if (hdp) { + dinfo->di_hdentry = hdp; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void do_ii_write_lock(struct inode *inode, unsigned int lsc) +{ + switch (lsc) { + case AuLsc_DI_CHILD: + ii_write_lock_child(inode); + break; + case AuLsc_DI_CHILD2: + ii_write_lock_child2(inode); + break; + case AuLsc_DI_CHILD3: + ii_write_lock_child3(inode); + break; + case AuLsc_DI_PARENT: + ii_write_lock_parent(inode); + break; + case AuLsc_DI_PARENT2: + ii_write_lock_parent2(inode); + break; + case AuLsc_DI_PARENT3: + ii_write_lock_parent3(inode); + break; + default: + BUG(); + } +} + +static void do_ii_read_lock(struct inode *inode, unsigned int lsc) +{ + switch (lsc) { + case AuLsc_DI_CHILD: + ii_read_lock_child(inode); + break; + case AuLsc_DI_CHILD2: + ii_read_lock_child2(inode); + break; + case AuLsc_DI_CHILD3: + ii_read_lock_child3(inode); + break; + case AuLsc_DI_PARENT: + ii_read_lock_parent(inode); + break; + case AuLsc_DI_PARENT2: + ii_read_lock_parent2(inode); + break; + case AuLsc_DI_PARENT3: + ii_read_lock_parent3(inode); + break; + default: + BUG(); + } +} + +void di_read_lock(struct dentry *d, int flags, unsigned int lsc) +{ + struct inode *inode; + + au_rw_read_lock_nested(&au_di(d)->di_rwsem, lsc); + if (d_really_is_positive(d)) { + inode = d_inode(d); + if (au_ftest_lock(flags, IW)) + do_ii_write_lock(inode, lsc); + else if (au_ftest_lock(flags, IR)) + do_ii_read_lock(inode, lsc); + } +} + +void di_read_unlock(struct dentry *d, int flags) +{ + struct inode *inode; + + if (d_really_is_positive(d)) { + inode = d_inode(d); + if (au_ftest_lock(flags, IW)) { + au_dbg_verify_dinode(d); + ii_write_unlock(inode); + } else if (au_ftest_lock(flags, IR)) { + au_dbg_verify_dinode(d); + ii_read_unlock(inode); + } + } + au_rw_read_unlock(&au_di(d)->di_rwsem); +} + +void di_downgrade_lock(struct dentry *d, int flags) +{ + if (d_really_is_positive(d) && au_ftest_lock(flags, IR)) + ii_downgrade_lock(d_inode(d)); + au_rw_dgrade_lock(&au_di(d)->di_rwsem); +} + +void di_write_lock(struct dentry *d, unsigned int lsc) +{ + au_rw_write_lock_nested(&au_di(d)->di_rwsem, lsc); + if (d_really_is_positive(d)) + do_ii_write_lock(d_inode(d), lsc); +} + +void di_write_unlock(struct dentry *d) +{ + au_dbg_verify_dinode(d); + if (d_really_is_positive(d)) + ii_write_unlock(d_inode(d)); + au_rw_write_unlock(&au_di(d)->di_rwsem); +} + +void di_write_lock2_child(struct dentry *d1, struct dentry *d2, int isdir) +{ + AuDebugOn(d1 == d2 + || d_inode(d1) == d_inode(d2) + || d1->d_sb != d2->d_sb); + + if ((isdir && au_test_subdir(d1, d2)) + || d1 < d2) { + di_write_lock_child(d1); + di_write_lock_child2(d2); + } else { + di_write_lock_child(d2); + di_write_lock_child2(d1); + } +} + +void di_write_lock2_parent(struct dentry *d1, struct dentry *d2, int isdir) +{ + AuDebugOn(d1 == d2 + || d_inode(d1) == d_inode(d2) + || d1->d_sb != d2->d_sb); + + if ((isdir && au_test_subdir(d1, d2)) + || d1 < d2) { + di_write_lock_parent(d1); + di_write_lock_parent2(d2); + } else { + di_write_lock_parent(d2); + di_write_lock_parent2(d1); + } +} + +void di_write_unlock2(struct dentry *d1, struct dentry *d2) +{ + di_write_unlock(d1); + if (d_inode(d1) == d_inode(d2)) + au_rw_write_unlock(&au_di(d2)->di_rwsem); + else + di_write_unlock(d2); +} + +/* ---------------------------------------------------------------------- */ + +struct dentry *au_h_dptr(struct dentry *dentry, aufs_bindex_t bindex) +{ + struct dentry *d; + + DiMustAnyLock(dentry); + + if (au_dbtop(dentry) < 0 || bindex < au_dbtop(dentry)) + return NULL; + AuDebugOn(bindex < 0); + d = au_hdentry(au_di(dentry), bindex)->hd_dentry; + AuDebugOn(d && au_dcount(d) <= 0); + return d; +} + +/* + * extended version of au_h_dptr(). + * returns a hashed and positive (or linkable) h_dentry in bindex, NULL, or + * error. + */ +struct dentry *au_h_d_alias(struct dentry *dentry, aufs_bindex_t bindex) +{ + struct dentry *h_dentry; + struct inode *inode, *h_inode; + + AuDebugOn(d_really_is_negative(dentry)); + + h_dentry = NULL; + if (au_dbtop(dentry) <= bindex + && bindex <= au_dbbot(dentry)) + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && !au_d_linkable(h_dentry)) { + dget(h_dentry); + goto out; /* success */ + } + + inode = d_inode(dentry); + AuDebugOn(bindex < au_ibtop(inode)); + AuDebugOn(au_ibbot(inode) < bindex); + h_inode = au_h_iptr(inode, bindex); + h_dentry = d_find_alias(h_inode); + if (h_dentry) { + if (!IS_ERR(h_dentry)) { + if (!au_d_linkable(h_dentry)) + goto out; /* success */ + dput(h_dentry); + } else + goto out; + } + + if (au_opt_test(au_mntflags(dentry->d_sb), PLINK)) { + h_dentry = au_plink_lkup(inode, bindex); + AuDebugOn(!h_dentry); + if (!IS_ERR(h_dentry)) { + if (!au_d_hashed_positive(h_dentry)) + goto out; /* success */ + dput(h_dentry); + h_dentry = NULL; + } + } + +out: + AuDbgDentry(h_dentry); + return h_dentry; +} + +aufs_bindex_t au_dbtail(struct dentry *dentry) +{ + aufs_bindex_t bbot, bwh; + + bbot = au_dbbot(dentry); + if (0 <= bbot) { + bwh = au_dbwh(dentry); + if (!bwh) + return bwh; + if (0 < bwh && bwh < bbot) + return bwh - 1; + } + return bbot; +} + +aufs_bindex_t au_dbtaildir(struct dentry *dentry) +{ + aufs_bindex_t bbot, bopq; + + bbot = au_dbtail(dentry); + if (0 <= bbot) { + bopq = au_dbdiropq(dentry); + if (0 <= bopq && bopq < bbot) + bbot = bopq; + } + return bbot; +} + +/* ---------------------------------------------------------------------- */ + +void au_set_h_dptr(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_dentry) +{ + struct au_dinfo *dinfo; + struct au_hdentry *hd; + struct au_branch *br; + + DiMustWriteLock(dentry); + + dinfo = au_di(dentry); + hd = au_hdentry(dinfo, bindex); + au_hdput(hd); + hd->hd_dentry = h_dentry; + if (h_dentry) { + br = au_sbr(dentry->d_sb, bindex); + hd->hd_id = br->br_id; + } +} + +int au_dbrange_test(struct dentry *dentry) +{ + int err; + aufs_bindex_t btop, bbot; + + err = 0; + btop = au_dbtop(dentry); + bbot = au_dbbot(dentry); + if (btop >= 0) + AuDebugOn(bbot < 0 && btop > bbot); + else { + err = -EIO; + AuDebugOn(bbot >= 0); + } + + return err; +} + +int au_digen_test(struct dentry *dentry, unsigned int sigen) +{ + int err; + + err = 0; + if (unlikely(au_digen(dentry) != sigen + || au_iigen_test(d_inode(dentry), sigen))) + err = -EIO; + + return err; +} + +void au_update_digen(struct dentry *dentry) +{ + atomic_set(&au_di(dentry)->di_generation, au_sigen(dentry->d_sb)); + /* smp_mb(); */ /* atomic_set */ +} + +void au_update_dbrange(struct dentry *dentry, int do_put_zero) +{ + struct au_dinfo *dinfo; + struct dentry *h_d; + struct au_hdentry *hdp; + aufs_bindex_t bindex, bbot; + + DiMustWriteLock(dentry); + + dinfo = au_di(dentry); + if (!dinfo || dinfo->di_btop < 0) + return; + + if (do_put_zero) { + bbot = dinfo->di_bbot; + bindex = dinfo->di_btop; + hdp = au_hdentry(dinfo, bindex); + for (; bindex <= bbot; bindex++, hdp++) { + h_d = hdp->hd_dentry; + if (h_d && d_is_negative(h_d)) + au_set_h_dptr(dentry, bindex, NULL); + } + } + + dinfo->di_btop = 0; + hdp = au_hdentry(dinfo, dinfo->di_btop); + for (; dinfo->di_btop <= dinfo->di_bbot; dinfo->di_btop++, hdp++) + if (hdp->hd_dentry) + break; + if (dinfo->di_btop > dinfo->di_bbot) { + dinfo->di_btop = -1; + dinfo->di_bbot = -1; + return; + } + + hdp = au_hdentry(dinfo, dinfo->di_bbot); + for (; dinfo->di_bbot >= 0; dinfo->di_bbot--, hdp--) + if (hdp->hd_dentry) + break; + AuDebugOn(dinfo->di_btop > dinfo->di_bbot || dinfo->di_bbot < 0); +} + +void au_update_dbtop(struct dentry *dentry) +{ + aufs_bindex_t bindex, bbot; + struct dentry *h_dentry; + + bbot = au_dbbot(dentry); + for (bindex = au_dbtop(dentry); bindex <= bbot; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + if (d_is_positive(h_dentry)) { + au_set_dbtop(dentry, bindex); + return; + } + au_set_h_dptr(dentry, bindex, NULL); + } +} + +void au_update_dbbot(struct dentry *dentry) +{ + aufs_bindex_t bindex, btop; + struct dentry *h_dentry; + + btop = au_dbtop(dentry); + for (bindex = au_dbbot(dentry); bindex >= btop; bindex--) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + if (d_is_positive(h_dentry)) { + au_set_dbbot(dentry, bindex); + return; + } + au_set_h_dptr(dentry, bindex, NULL); + } +} + +int au_find_dbindex(struct dentry *dentry, struct dentry *h_dentry) +{ + aufs_bindex_t bindex, bbot; + + bbot = au_dbbot(dentry); + for (bindex = au_dbtop(dentry); bindex <= bbot; bindex++) + if (au_h_dptr(dentry, bindex) == h_dentry) + return bindex; + return -1; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dir.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dir.c @@ -0,0 +1,763 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * directory operations + */ + +#include +#include +#include "aufs.h" + +void au_add_nlink(struct inode *dir, struct inode *h_dir) +{ + unsigned int nlink; + + AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode)); + + nlink = dir->i_nlink; + nlink += h_dir->i_nlink - 2; + if (h_dir->i_nlink < 2) + nlink += 2; + smp_mb(); /* for i_nlink */ + /* 0 can happen in revaliding */ + set_nlink(dir, nlink); +} + +void au_sub_nlink(struct inode *dir, struct inode *h_dir) +{ + unsigned int nlink; + + AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode)); + + nlink = dir->i_nlink; + nlink -= h_dir->i_nlink - 2; + if (h_dir->i_nlink < 2) + nlink -= 2; + smp_mb(); /* for i_nlink */ + /* nlink == 0 means the branch-fs is broken */ + set_nlink(dir, nlink); +} + +loff_t au_dir_size(struct file *file, struct dentry *dentry) +{ + loff_t sz; + aufs_bindex_t bindex, bbot; + struct file *h_file; + struct dentry *h_dentry; + + sz = 0; + if (file) { + AuDebugOn(!d_is_dir(file->f_path.dentry)); + + bbot = au_fbbot_dir(file); + for (bindex = au_fbtop(file); + bindex <= bbot && sz < KMALLOC_MAX_SIZE; + bindex++) { + h_file = au_hf_dir(file, bindex); + if (h_file && file_inode(h_file)) + sz += vfsub_f_size_read(h_file); + } + } else { + AuDebugOn(!dentry); + AuDebugOn(!d_is_dir(dentry)); + + bbot = au_dbtaildir(dentry); + for (bindex = au_dbtop(dentry); + bindex <= bbot && sz < KMALLOC_MAX_SIZE; + bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && d_is_positive(h_dentry)) + sz += i_size_read(d_inode(h_dentry)); + } + } + if (sz < KMALLOC_MAX_SIZE) + sz = roundup_pow_of_two(sz); + if (sz > KMALLOC_MAX_SIZE) + sz = KMALLOC_MAX_SIZE; + else if (sz < NAME_MAX) { + BUILD_BUG_ON(AUFS_RDBLK_DEF < NAME_MAX); + sz = AUFS_RDBLK_DEF; + } + return sz; +} + +struct au_dir_ts_arg { + struct dentry *dentry; + aufs_bindex_t brid; +}; + +static void au_do_dir_ts(void *arg) +{ + struct au_dir_ts_arg *a = arg; + struct au_dtime dt; + struct path h_path; + struct inode *dir, *h_dir; + struct super_block *sb; + struct au_branch *br; + struct au_hinode *hdir; + int err; + aufs_bindex_t btop, bindex; + + sb = a->dentry->d_sb; + if (d_really_is_negative(a->dentry)) + goto out; + /* no dir->i_mutex lock */ + aufs_read_lock(a->dentry, AuLock_DW); /* noflush */ + + dir = d_inode(a->dentry); + btop = au_ibtop(dir); + bindex = au_br_index(sb, a->brid); + if (bindex < btop) + goto out_unlock; + + br = au_sbr(sb, bindex); + h_path.dentry = au_h_dptr(a->dentry, bindex); + if (!h_path.dentry) + goto out_unlock; + h_path.mnt = au_br_mnt(br); + au_dtime_store(&dt, a->dentry, &h_path); + + br = au_sbr(sb, btop); + if (!au_br_writable(br->br_perm)) + goto out_unlock; + h_path.dentry = au_h_dptr(a->dentry, btop); + h_path.mnt = au_br_mnt(br); + err = vfsub_mnt_want_write(h_path.mnt); + if (err) + goto out_unlock; + hdir = au_hi(dir, btop); + au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT); + h_dir = au_h_iptr(dir, btop); + if (h_dir->i_nlink + && timespec64_compare(&h_dir->i_mtime, &dt.dt_mtime) < 0) { + dt.dt_h_path = h_path; + au_dtime_revert(&dt); + } + au_hn_inode_unlock(hdir); + vfsub_mnt_drop_write(h_path.mnt); + au_cpup_attr_timesizes(dir); + +out_unlock: + aufs_read_unlock(a->dentry, AuLock_DW); +out: + dput(a->dentry); + au_nwt_done(&au_sbi(sb)->si_nowait); + au_kfree_try_rcu(arg); +} + +void au_dir_ts(struct inode *dir, aufs_bindex_t bindex) +{ + int perm, wkq_err; + aufs_bindex_t btop; + struct au_dir_ts_arg *arg; + struct dentry *dentry; + struct super_block *sb; + + IMustLock(dir); + + dentry = d_find_any_alias(dir); + AuDebugOn(!dentry); + sb = dentry->d_sb; + btop = au_ibtop(dir); + if (btop == bindex) { + au_cpup_attr_timesizes(dir); + goto out; + } + + perm = au_sbr_perm(sb, btop); + if (!au_br_writable(perm)) + goto out; + + arg = kmalloc(sizeof(*arg), GFP_NOFS); + if (!arg) + goto out; + + arg->dentry = dget(dentry); /* will be dput-ted by au_do_dir_ts() */ + arg->brid = au_sbr_id(sb, bindex); + wkq_err = au_wkq_nowait(au_do_dir_ts, arg, sb, /*flags*/0); + if (unlikely(wkq_err)) { + pr_err("wkq %d\n", wkq_err); + dput(dentry); + au_kfree_try_rcu(arg); + } + +out: + dput(dentry); +} + +/* ---------------------------------------------------------------------- */ + +static int reopen_dir(struct file *file) +{ + int err; + unsigned int flags; + aufs_bindex_t bindex, btail, btop; + struct dentry *dentry, *h_dentry; + struct file *h_file; + + /* open all lower dirs */ + dentry = file->f_path.dentry; + btop = au_dbtop(dentry); + for (bindex = au_fbtop(file); bindex < btop; bindex++) + au_set_h_fptr(file, bindex, NULL); + au_set_fbtop(file, btop); + + btail = au_dbtaildir(dentry); + for (bindex = au_fbbot_dir(file); btail < bindex; bindex--) + au_set_h_fptr(file, bindex, NULL); + au_set_fbbot_dir(file, btail); + + flags = vfsub_file_flags(file); + for (bindex = btop; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + h_file = au_hf_dir(file, bindex); + if (h_file) + continue; + + h_file = au_h_open(dentry, bindex, flags, file, /*force_wr*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; /* close all? */ + au_set_h_fptr(file, bindex, h_file); + } + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + err = 0; + +out: + return err; +} + +static int do_open_dir(struct file *file, int flags, struct file *h_file) +{ + int err; + aufs_bindex_t bindex, btail; + struct dentry *dentry, *h_dentry; + struct vfsmount *mnt; + + FiMustWriteLock(file); + AuDebugOn(h_file); + + err = 0; + mnt = file->f_path.mnt; + dentry = file->f_path.dentry; + file->f_version = inode_query_iversion(d_inode(dentry)); + bindex = au_dbtop(dentry); + au_set_fbtop(file, bindex); + btail = au_dbtaildir(dentry); + au_set_fbbot_dir(file, btail); + for (; !err && bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (!h_dentry) + continue; + + err = vfsub_test_mntns(mnt, h_dentry->d_sb); + if (unlikely(err)) + break; + h_file = au_h_open(dentry, bindex, flags, file, /*force_wr*/0); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + break; + } + au_set_h_fptr(file, bindex, h_file); + } + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + if (!err) + return 0; /* success */ + + /* close all */ + for (bindex = au_fbtop(file); bindex <= btail; bindex++) + au_set_h_fptr(file, bindex, NULL); + au_set_fbtop(file, -1); + au_set_fbbot_dir(file, -1); + + return err; +} + +static int aufs_open_dir(struct inode *inode __maybe_unused, + struct file *file) +{ + int err; + struct super_block *sb; + struct au_fidir *fidir; + + err = -ENOMEM; + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + fidir = au_fidir_alloc(sb); + if (fidir) { + struct au_do_open_args args = { + .open = do_open_dir, + .fidir = fidir + }; + err = au_do_open(file, &args); + if (unlikely(err)) + au_kfree_rcu(fidir); + } + si_read_unlock(sb); + return err; +} + +static int aufs_release_dir(struct inode *inode __maybe_unused, + struct file *file) +{ + struct au_vdir *vdir_cache; + struct au_finfo *finfo; + struct au_fidir *fidir; + struct au_hfile *hf; + aufs_bindex_t bindex, bbot; + + finfo = au_fi(file); + fidir = finfo->fi_hdir; + if (fidir) { + au_hbl_del(&finfo->fi_hlist, + &au_sbi(file->f_path.dentry->d_sb)->si_files); + vdir_cache = fidir->fd_vdir_cache; /* lock-free */ + if (vdir_cache) + au_vdir_free(vdir_cache); + + bindex = finfo->fi_btop; + if (bindex >= 0) { + hf = fidir->fd_hfile + bindex; + /* + * calls fput() instead of filp_close(), + * since no dnotify or lock for the lower file. + */ + bbot = fidir->fd_bbot; + for (; bindex <= bbot; bindex++, hf++) + if (hf->hf_file) + au_hfput(hf, /*execed*/0); + } + au_kfree_rcu(fidir); + finfo->fi_hdir = NULL; + } + au_finfo_fin(file); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_flush_dir(struct file *file, fl_owner_t id) +{ + int err; + aufs_bindex_t bindex, bbot; + struct file *h_file; + + err = 0; + bbot = au_fbbot_dir(file); + for (bindex = au_fbtop(file); !err && bindex <= bbot; bindex++) { + h_file = au_hf_dir(file, bindex); + if (h_file) + err = vfsub_flush(h_file, id); + } + return err; +} + +static int aufs_flush_dir(struct file *file, fl_owner_t id) +{ + return au_do_flush(file, id, au_do_flush_dir); +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_fsync_dir_no_file(struct dentry *dentry, int datasync) +{ + int err; + aufs_bindex_t bbot, bindex; + struct inode *inode; + struct super_block *sb; + + err = 0; + sb = dentry->d_sb; + inode = d_inode(dentry); + IMustLock(inode); + bbot = au_dbbot(dentry); + for (bindex = au_dbtop(dentry); !err && bindex <= bbot; bindex++) { + struct path h_path; + + if (au_test_ro(sb, bindex, inode)) + continue; + h_path.dentry = au_h_dptr(dentry, bindex); + if (!h_path.dentry) + continue; + + h_path.mnt = au_sbr_mnt(sb, bindex); + err = vfsub_fsync(NULL, &h_path, datasync); + } + + return err; +} + +static int au_do_fsync_dir(struct file *file, int datasync) +{ + int err; + aufs_bindex_t bbot, bindex; + struct file *h_file; + struct super_block *sb; + struct inode *inode; + + err = au_reval_and_lock_fdi(file, reopen_dir, /*wlock*/1, /*fi_lsc*/0); + if (unlikely(err)) + goto out; + + inode = file_inode(file); + sb = inode->i_sb; + bbot = au_fbbot_dir(file); + for (bindex = au_fbtop(file); !err && bindex <= bbot; bindex++) { + h_file = au_hf_dir(file, bindex); + if (!h_file || au_test_ro(sb, bindex, inode)) + continue; + + err = vfsub_fsync(h_file, &h_file->f_path, datasync); + } + +out: + return err; +} + +/* + * @file may be NULL + */ +static int aufs_fsync_dir(struct file *file, loff_t start, loff_t end, + int datasync) +{ + int err; + struct dentry *dentry; + struct inode *inode; + struct super_block *sb; + + err = 0; + dentry = file->f_path.dentry; + inode = d_inode(dentry); + inode_lock(inode); + sb = dentry->d_sb; + si_noflush_read_lock(sb); + if (file) + err = au_do_fsync_dir(file, datasync); + else { + di_write_lock_child(dentry); + err = au_do_fsync_dir_no_file(dentry, datasync); + } + au_cpup_attr_timesizes(inode); + di_write_unlock(dentry); + if (file) + fi_write_unlock(file); + + si_read_unlock(sb); + inode_unlock(inode); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_iterate_shared(struct file *file, struct dir_context *ctx) +{ + int err; + struct dentry *dentry; + struct inode *inode, *h_inode; + struct super_block *sb; + + AuDbg("%pD, ctx{%ps, %llu}\n", file, ctx->actor, ctx->pos); + + dentry = file->f_path.dentry; + inode = d_inode(dentry); + IMustLock(inode); + + sb = dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + err = au_reval_and_lock_fdi(file, reopen_dir, /*wlock*/1, /*fi_lsc*/0); + if (unlikely(err)) + goto out; + err = au_alive_dir(dentry); + if (!err) + err = au_vdir_init(file); + di_downgrade_lock(dentry, AuLock_IR); + if (unlikely(err)) + goto out_unlock; + + h_inode = au_h_iptr(inode, au_ibtop(inode)); + if (!au_test_nfsd()) { + err = au_vdir_fill_de(file, ctx); + fsstack_copy_attr_atime(inode, h_inode); + } else { + /* + * nfsd filldir may call lookup_one_len(), vfs_getattr(), + * encode_fh() and others. + */ + atomic_inc(&h_inode->i_count); + di_read_unlock(dentry, AuLock_IR); + si_read_unlock(sb); + err = au_vdir_fill_de(file, ctx); + fsstack_copy_attr_atime(inode, h_inode); + fi_write_unlock(file); + iput(h_inode); + + AuTraceErr(err); + return err; + } + +out_unlock: + di_read_unlock(dentry, AuLock_IR); + fi_write_unlock(file); +out: + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +#define AuTestEmpty_WHONLY 1 +#define AuTestEmpty_CALLED (1 << 1) +#define AuTestEmpty_SHWH (1 << 2) +#define au_ftest_testempty(flags, name) ((flags) & AuTestEmpty_##name) +#define au_fset_testempty(flags, name) \ + do { (flags) |= AuTestEmpty_##name; } while (0) +#define au_fclr_testempty(flags, name) \ + do { (flags) &= ~AuTestEmpty_##name; } while (0) + +#ifndef CONFIG_AUFS_SHWH +#undef AuTestEmpty_SHWH +#define AuTestEmpty_SHWH 0 +#endif + +struct test_empty_arg { + struct dir_context ctx; + struct au_nhash *whlist; + unsigned int flags; + int err; + aufs_bindex_t bindex; +}; + +static int test_empty_cb(struct dir_context *ctx, const char *__name, + int namelen, loff_t offset __maybe_unused, u64 ino, + unsigned int d_type) +{ + struct test_empty_arg *arg = container_of(ctx, struct test_empty_arg, + ctx); + char *name = (void *)__name; + + arg->err = 0; + au_fset_testempty(arg->flags, CALLED); + /* smp_mb(); */ + if (name[0] == '.' + && (namelen == 1 || (name[1] == '.' && namelen == 2))) + goto out; /* success */ + + if (namelen <= AUFS_WH_PFX_LEN + || memcmp(name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + if (au_ftest_testempty(arg->flags, WHONLY) + && !au_nhash_test_known_wh(arg->whlist, name, namelen)) + arg->err = -ENOTEMPTY; + goto out; + } + + name += AUFS_WH_PFX_LEN; + namelen -= AUFS_WH_PFX_LEN; + if (!au_nhash_test_known_wh(arg->whlist, name, namelen)) + arg->err = au_nhash_append_wh + (arg->whlist, name, namelen, ino, d_type, arg->bindex, + au_ftest_testempty(arg->flags, SHWH)); + +out: + /* smp_mb(); */ + AuTraceErr(arg->err); + return arg->err; +} + +static int do_test_empty(struct dentry *dentry, struct test_empty_arg *arg) +{ + int err; + struct file *h_file; + struct au_branch *br; + + h_file = au_h_open(dentry, arg->bindex, + O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_LARGEFILE, + /*file*/NULL, /*force_wr*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = 0; + if (!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE) + && !file_inode(h_file)->i_nlink) + goto out_put; + + do { + arg->err = 0; + au_fclr_testempty(arg->flags, CALLED); + /* smp_mb(); */ + err = vfsub_iterate_dir(h_file, &arg->ctx); + if (err >= 0) + err = arg->err; + } while (!err && au_ftest_testempty(arg->flags, CALLED)); + +out_put: + fput(h_file); + br = au_sbr(dentry->d_sb, arg->bindex); + au_lcnt_dec(&br->br_nfiles); +out: + return err; +} + +struct do_test_empty_args { + int *errp; + struct dentry *dentry; + struct test_empty_arg *arg; +}; + +static void call_do_test_empty(void *args) +{ + struct do_test_empty_args *a = args; + *a->errp = do_test_empty(a->dentry, a->arg); +} + +static int sio_test_empty(struct dentry *dentry, struct test_empty_arg *arg) +{ + int err, wkq_err; + struct dentry *h_dentry; + struct inode *h_inode; + + h_dentry = au_h_dptr(dentry, arg->bindex); + h_inode = d_inode(h_dentry); + /* todo: i_mode changes anytime? */ + inode_lock_shared_nested(h_inode, AuLsc_I_CHILD); + err = au_test_h_perm_sio(h_inode, MAY_EXEC | MAY_READ); + inode_unlock_shared(h_inode); + if (!err) + err = do_test_empty(dentry, arg); + else { + struct do_test_empty_args args = { + .errp = &err, + .dentry = dentry, + .arg = arg + }; + unsigned int flags = arg->flags; + + wkq_err = au_wkq_wait(call_do_test_empty, &args); + if (unlikely(wkq_err)) + err = wkq_err; + arg->flags = flags; + } + + return err; +} + +int au_test_empty_lower(struct dentry *dentry) +{ + int err; + unsigned int rdhash; + aufs_bindex_t bindex, btop, btail; + struct au_nhash whlist; + struct test_empty_arg arg = { + .ctx = { + .actor = test_empty_cb + } + }; + int (*test_empty)(struct dentry *dentry, struct test_empty_arg *arg); + + SiMustAnyLock(dentry->d_sb); + + rdhash = au_sbi(dentry->d_sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, dentry)); + err = au_nhash_alloc(&whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + + arg.flags = 0; + arg.whlist = &whlist; + btop = au_dbtop(dentry); + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH)) + au_fset_testempty(arg.flags, SHWH); + test_empty = do_test_empty; + if (au_opt_test(au_mntflags(dentry->d_sb), DIRPERM1)) + test_empty = sio_test_empty; + arg.bindex = btop; + err = test_empty(dentry, &arg); + if (unlikely(err)) + goto out_whlist; + + au_fset_testempty(arg.flags, WHONLY); + btail = au_dbtaildir(dentry); + for (bindex = btop + 1; !err && bindex <= btail; bindex++) { + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && d_is_positive(h_dentry)) { + arg.bindex = bindex; + err = test_empty(dentry, &arg); + } + } + +out_whlist: + au_nhash_wh_free(&whlist); +out: + return err; +} + +int au_test_empty(struct dentry *dentry, struct au_nhash *whlist) +{ + int err; + struct test_empty_arg arg = { + .ctx = { + .actor = test_empty_cb + } + }; + aufs_bindex_t bindex, btail; + + err = 0; + arg.whlist = whlist; + arg.flags = AuTestEmpty_WHONLY; + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH)) + au_fset_testempty(arg.flags, SHWH); + btail = au_dbtaildir(dentry); + for (bindex = au_dbtop(dentry); !err && bindex <= btail; bindex++) { + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry && d_is_positive(h_dentry)) { + arg.bindex = bindex; + err = sio_test_empty(dentry, &arg); + } + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +const struct file_operations aufs_dir_fop = { + .owner = THIS_MODULE, + .llseek = default_llseek, + .read = generic_read_dir, + .iterate_shared = aufs_iterate_shared, + .unlocked_ioctl = aufs_ioctl_dir, +#ifdef CONFIG_COMPAT + .compat_ioctl = aufs_compat_ioctl_dir, +#endif + .open = aufs_open_dir, + .release = aufs_release_dir, + .flush = aufs_flush_dir, + .fsync = aufs_fsync_dir +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dir.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dir.h @@ -0,0 +1,134 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * directory operations + */ + +#ifndef __AUFS_DIR_H__ +#define __AUFS_DIR_H__ + +#ifdef __KERNEL__ + +#include + +/* ---------------------------------------------------------------------- */ + +/* need to be faster and smaller */ + +struct au_nhash { + unsigned int nh_num; + struct hlist_head *nh_head; +}; + +struct au_vdir_destr { + unsigned char len; + unsigned char name[]; +} __packed; + +struct au_vdir_dehstr { + struct hlist_node hash; + struct au_vdir_destr *str; + struct rcu_head rcu; +} ____cacheline_aligned_in_smp; + +struct au_vdir_de { + ino_t de_ino; + unsigned char de_type; + /* caution: packed */ + struct au_vdir_destr de_str; +} __packed; + +struct au_vdir_wh { + struct hlist_node wh_hash; +#ifdef CONFIG_AUFS_SHWH + ino_t wh_ino; + aufs_bindex_t wh_bindex; + unsigned char wh_type; +#else + aufs_bindex_t wh_bindex; +#endif + /* caution: packed */ + struct au_vdir_destr wh_str; +} __packed; + +union au_vdir_deblk_p { + unsigned char *deblk; + struct au_vdir_de *de; +}; + +struct au_vdir { + unsigned char **vd_deblk; + unsigned long vd_nblk; + struct { + unsigned long ul; + union au_vdir_deblk_p p; + } vd_last; + + u64 vd_version; + unsigned int vd_deblk_sz; + unsigned long vd_jiffy; + struct rcu_head rcu; +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* dir.c */ +extern const struct file_operations aufs_dir_fop; +void au_add_nlink(struct inode *dir, struct inode *h_dir); +void au_sub_nlink(struct inode *dir, struct inode *h_dir); +loff_t au_dir_size(struct file *file, struct dentry *dentry); +void au_dir_ts(struct inode *dir, aufs_bindex_t bsrc); +int au_test_empty_lower(struct dentry *dentry); +int au_test_empty(struct dentry *dentry, struct au_nhash *whlist); + +/* vdir.c */ +unsigned int au_rdhash_est(loff_t sz); +int au_nhash_alloc(struct au_nhash *nhash, unsigned int num_hash, gfp_t gfp); +void au_nhash_wh_free(struct au_nhash *whlist); +int au_nhash_test_longer_wh(struct au_nhash *whlist, aufs_bindex_t btgt, + int limit); +int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen); +int au_nhash_append_wh(struct au_nhash *whlist, char *name, int nlen, ino_t ino, + unsigned int d_type, aufs_bindex_t bindex, + unsigned char shwh); +void au_vdir_free(struct au_vdir *vdir); +int au_vdir_init(struct file *file); +int au_vdir_fill_de(struct file *file, struct dir_context *ctx); + +/* ioctl.c */ +long aufs_ioctl_dir(struct file *file, unsigned int cmd, unsigned long arg); + +#ifdef CONFIG_AUFS_RDU +/* rdu.c */ +long au_rdu_ioctl(struct file *file, unsigned int cmd, unsigned long arg); +#ifdef CONFIG_COMPAT +long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg); +#endif +#else +AuStub(long, au_rdu_ioctl, return -EINVAL, struct file *file, + unsigned int cmd, unsigned long arg) +#ifdef CONFIG_COMPAT +AuStub(long, au_rdu_compat_ioctl, return -EINVAL, struct file *file, + unsigned int cmd, unsigned long arg) +#endif +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIR_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dirren.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dirren.c @@ -0,0 +1,1316 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2017-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * special handling in renaming a directory + * in order to support looking-up the before-renamed name on the lower readonly + * branches + */ + +#include +#include "aufs.h" + +static void au_dr_hino_del(struct au_dr_br *dr, struct au_dr_hino *ent) +{ + int idx; + + idx = au_dr_ihash(ent->dr_h_ino); + au_hbl_del(&ent->dr_hnode, dr->dr_h_ino + idx); +} + +static int au_dr_hino_test_empty(struct au_dr_br *dr) +{ + int ret, i; + struct hlist_bl_head *hbl; + + ret = 1; + for (i = 0; ret && i < AuDirren_NHASH; i++) { + hbl = dr->dr_h_ino + i; + hlist_bl_lock(hbl); + ret &= hlist_bl_empty(hbl); + hlist_bl_unlock(hbl); + } + + return ret; +} + +static struct au_dr_hino *au_dr_hino_find(struct au_dr_br *dr, ino_t ino) +{ + struct au_dr_hino *found, *ent; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + int idx; + + found = NULL; + idx = au_dr_ihash(ino); + hbl = dr->dr_h_ino + idx; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(ent, pos, hbl, dr_hnode) + if (ent->dr_h_ino == ino) { + found = ent; + break; + } + hlist_bl_unlock(hbl); + + return found; +} + +int au_dr_hino_test_add(struct au_dr_br *dr, ino_t ino, + struct au_dr_hino *add_ent) +{ + int found, idx; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_dr_hino *ent; + + found = 0; + idx = au_dr_ihash(ino); + hbl = dr->dr_h_ino + idx; +#if 0 /* debug print */ + { + struct hlist_bl_node *tmp; + + hlist_bl_for_each_entry_safe(ent, pos, tmp, hbl, dr_hnode) + AuDbg("hi%llu\n", (unsigned long long)ent->dr_h_ino); + } +#endif + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(ent, pos, hbl, dr_hnode) + if (ent->dr_h_ino == ino) { + found = 1; + break; + } + if (!found && add_ent) + hlist_bl_add_head(&add_ent->dr_hnode, hbl); + hlist_bl_unlock(hbl); + + if (!found && add_ent) + AuDbg("i%llu added\n", (unsigned long long)add_ent->dr_h_ino); + + return found; +} + +void au_dr_hino_free(struct au_dr_br *dr) +{ + int i; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos, *tmp; + struct au_dr_hino *ent; + + /* SiMustWriteLock(sb); */ + + for (i = 0; i < AuDirren_NHASH; i++) { + hbl = dr->dr_h_ino + i; + /* no spinlock since sbinfo must be write-locked */ + hlist_bl_for_each_entry_safe(ent, pos, tmp, hbl, dr_hnode) + au_kfree_rcu(ent); + INIT_HLIST_BL_HEAD(hbl); + } +} + +/* returns the number of inodes or an error */ +static int au_dr_hino_store(struct super_block *sb, struct au_branch *br, + struct file *hinofile) +{ + int err, i; + ssize_t ssz; + loff_t pos, oldsize; + __be64 u64; + struct inode *hinoinode; + struct hlist_bl_head *hbl; + struct hlist_bl_node *n1, *n2; + struct au_dr_hino *ent; + + SiMustWriteLock(sb); + AuDebugOn(!au_br_writable(br->br_perm)); + + hinoinode = file_inode(hinofile); + oldsize = i_size_read(hinoinode); + + err = 0; + pos = 0; + hbl = br->br_dirren.dr_h_ino; + for (i = 0; !err && i < AuDirren_NHASH; i++, hbl++) { + /* no bit-lock since sbinfo must be write-locked */ + hlist_bl_for_each_entry_safe(ent, n1, n2, hbl, dr_hnode) { + AuDbg("hi%llu, %pD2\n", + (unsigned long long)ent->dr_h_ino, hinofile); + u64 = cpu_to_be64(ent->dr_h_ino); + ssz = vfsub_write_k(hinofile, &u64, sizeof(u64), &pos); + if (ssz == sizeof(u64)) + continue; + + /* write error */ + pr_err("ssz %zd, %pD2\n", ssz, hinofile); + err = -ENOSPC; + if (ssz < 0) + err = ssz; + break; + } + } + /* regardless the error */ + if (pos < oldsize) { + err = vfsub_trunc(&hinofile->f_path, pos, /*attr*/0, hinofile); + AuTraceErr(err); + } + + AuTraceErr(err); + return err; +} + +static int au_dr_hino_load(struct au_dr_br *dr, struct file *hinofile) +{ + int err, hidx; + ssize_t ssz; + size_t sz, n; + loff_t pos; + uint64_t u64; + struct au_dr_hino *ent; + struct inode *hinoinode; + struct hlist_bl_head *hbl; + + err = 0; + pos = 0; + hbl = dr->dr_h_ino; + hinoinode = file_inode(hinofile); + sz = i_size_read(hinoinode); + AuDebugOn(sz % sizeof(u64)); + n = sz / sizeof(u64); + while (n--) { + ssz = vfsub_read_k(hinofile, &u64, sizeof(u64), &pos); + if (unlikely(ssz != sizeof(u64))) { + pr_err("ssz %zd, %pD2\n", ssz, hinofile); + err = -EINVAL; + if (ssz < 0) + err = ssz; + goto out_free; + } + + ent = kmalloc(sizeof(*ent), GFP_NOFS); + if (!ent) { + err = -ENOMEM; + AuTraceErr(err); + goto out_free; + } + ent->dr_h_ino = be64_to_cpu((__force __be64)u64); + AuDbg("hi%llu, %pD2\n", + (unsigned long long)ent->dr_h_ino, hinofile); + hidx = au_dr_ihash(ent->dr_h_ino); + au_hbl_add(&ent->dr_hnode, hbl + hidx); + } + goto out; /* success */ + +out_free: + au_dr_hino_free(dr); +out: + AuTraceErr(err); + return err; +} + +/* + * @bindex/@br is a switch to distinguish whether suspending hnotify or not. + * @path is a switch to distinguish load and store. + */ +static int au_dr_hino(struct super_block *sb, aufs_bindex_t bindex, + struct au_branch *br, const struct path *path) +{ + int err, flags; + unsigned char load, suspend; + struct file *hinofile; + struct au_hinode *hdir; + struct inode *dir, *delegated; + struct path hinopath; + struct qstr hinoname = QSTR_INIT(AUFS_WH_DR_BRHINO, + sizeof(AUFS_WH_DR_BRHINO) - 1); + + AuDebugOn(bindex < 0 && !br); + AuDebugOn(bindex >= 0 && br); + + err = -EINVAL; + suspend = !br; + if (suspend) + br = au_sbr(sb, bindex); + load = !!path; + if (!load) { + path = &br->br_path; + AuDebugOn(!au_br_writable(br->br_perm)); + if (unlikely(!au_br_writable(br->br_perm))) + goto out; + } + + hdir = NULL; + if (suspend) { + dir = d_inode(sb->s_root); + hdir = au_hinode(au_ii(dir), bindex); + dir = hdir->hi_inode; + au_hn_inode_lock_nested(hdir, AuLsc_I_CHILD); + } else { + dir = d_inode(path->dentry); + inode_lock_nested(dir, AuLsc_I_CHILD); + } + hinopath.dentry = vfsub_lkup_one(&hinoname, path->dentry); + err = PTR_ERR(hinopath.dentry); + if (IS_ERR(hinopath.dentry)) + goto out_unlock; + + err = 0; + flags = O_RDONLY; + if (load) { + if (d_is_negative(hinopath.dentry)) + goto out_dput; /* success */ + } else { + if (au_dr_hino_test_empty(&br->br_dirren)) { + if (d_is_positive(hinopath.dentry)) { + delegated = NULL; + err = vfsub_unlink(dir, &hinopath, &delegated, + /*force*/0); + AuTraceErr(err); + if (unlikely(err)) + pr_err("ignored err %d, %pd2\n", + err, hinopath.dentry); + if (unlikely(err == -EWOULDBLOCK)) + iput(delegated); + err = 0; + } + goto out_dput; + } else if (!d_is_positive(hinopath.dentry)) { + err = vfsub_create(dir, &hinopath, 0600, + /*want_excl*/false); + AuTraceErr(err); + if (unlikely(err)) + goto out_dput; + } + flags = O_WRONLY; + } + hinopath.mnt = path->mnt; + hinofile = vfsub_dentry_open(&hinopath, flags); + if (suspend) + au_hn_inode_unlock(hdir); + else + inode_unlock(dir); + dput(hinopath.dentry); + AuTraceErrPtr(hinofile); + if (IS_ERR(hinofile)) { + err = PTR_ERR(hinofile); + goto out; + } + + if (load) + err = au_dr_hino_load(&br->br_dirren, hinofile); + else + err = au_dr_hino_store(sb, br, hinofile); + fput(hinofile); + goto out; + +out_dput: + dput(hinopath.dentry); +out_unlock: + if (suspend) + au_hn_inode_unlock(hdir); + else + inode_unlock(dir); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_dr_brid_init(struct au_dr_brid *brid, const struct path *path) +{ + int err; + struct kstatfs kstfs; + dev_t dev; + struct dentry *dentry; + struct super_block *sb; + + err = vfs_statfs((void *)path, &kstfs); + AuTraceErr(err); + if (unlikely(err)) + goto out; + + /* todo: support for UUID */ + + if (kstfs.f_fsid.val[0] || kstfs.f_fsid.val[1]) { + brid->type = AuBrid_FSID; + brid->fsid = kstfs.f_fsid; + } else { + dentry = path->dentry; + sb = dentry->d_sb; + dev = sb->s_dev; + if (dev) { + brid->type = AuBrid_DEV; + brid->dev = dev; + } + } + +out: + return err; +} + +int au_dr_br_init(struct super_block *sb, struct au_branch *br, + const struct path *path) +{ + int err, i; + struct au_dr_br *dr; + struct hlist_bl_head *hbl; + + dr = &br->br_dirren; + hbl = dr->dr_h_ino; + for (i = 0; i < AuDirren_NHASH; i++, hbl++) + INIT_HLIST_BL_HEAD(hbl); + + err = au_dr_brid_init(&dr->dr_brid, path); + if (unlikely(err)) + goto out; + + if (au_opt_test(au_mntflags(sb), DIRREN)) + err = au_dr_hino(sb, /*bindex*/-1, br, path); + +out: + AuTraceErr(err); + return err; +} + +int au_dr_br_fin(struct super_block *sb, struct au_branch *br) +{ + int err; + + err = 0; + if (au_br_writable(br->br_perm)) + err = au_dr_hino(sb, /*bindex*/-1, br, /*path*/NULL); + if (!err) + au_dr_hino_free(&br->br_dirren); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_brid_str(struct au_dr_brid *brid, struct inode *h_inode, + char *buf, size_t sz) +{ + int err; + unsigned int major, minor; + char *p; + + p = buf; + err = snprintf(p, sz, "%d_", brid->type); + AuDebugOn(err > sz); + p += err; + sz -= err; + switch (brid->type) { + case AuBrid_Unset: + return -EINVAL; + case AuBrid_UUID: + err = snprintf(p, sz, "%pU", brid->uuid.b); + break; + case AuBrid_FSID: + err = snprintf(p, sz, "%08x-%08x", + brid->fsid.val[0], brid->fsid.val[1]); + break; + case AuBrid_DEV: + major = MAJOR(brid->dev); + minor = MINOR(brid->dev); + if (major <= 0xff && minor <= 0xff) + err = snprintf(p, sz, "%02x%02x", major, minor); + else + err = snprintf(p, sz, "%03x:%05x", major, minor); + break; + } + AuDebugOn(err > sz); + p += err; + sz -= err; + err = snprintf(p, sz, "_%llu", (unsigned long long)h_inode->i_ino); + AuDebugOn(err > sz); + p += err; + sz -= err; + + return p - buf; +} + +static int au_drinfo_name(struct au_branch *br, char *name, int len) +{ + int rlen; + struct dentry *br_dentry; + struct inode *br_inode; + + br_dentry = au_br_dentry(br); + br_inode = d_inode(br_dentry); + rlen = au_brid_str(&br->br_dirren.dr_brid, br_inode, name, len); + AuDebugOn(rlen >= AUFS_DIRREN_ENV_VAL_SZ); + AuDebugOn(rlen > len); + + return rlen; +} + +/* ---------------------------------------------------------------------- */ + +/* + * from the given @h_dentry, construct drinfo at @*fdata. + * when the size of @*fdata is not enough, reallocate and return new @fdata and + * @allocated. + */ +static int au_drinfo_construct(struct au_drinfo_fdata **fdata, + struct dentry *h_dentry, + unsigned char *allocated) +{ + int err, v; + struct au_drinfo_fdata *f, *p; + struct au_drinfo *drinfo; + struct inode *h_inode; + struct qstr *qname; + + err = 0; + f = *fdata; + h_inode = d_inode(h_dentry); + qname = &h_dentry->d_name; + drinfo = &f->drinfo; + drinfo->ino = (__force uint64_t)cpu_to_be64(h_inode->i_ino); + drinfo->oldnamelen = qname->len; + if (*allocated < sizeof(*f) + qname->len) { + v = roundup_pow_of_two(*allocated + qname->len); + p = au_krealloc(f, v, GFP_NOFS, /*may_shrink*/0); + if (unlikely(!p)) { + err = -ENOMEM; + AuTraceErr(err); + goto out; + } + f = p; + *fdata = f; + *allocated = v; + drinfo = &f->drinfo; + } + memcpy(drinfo->oldname, qname->name, qname->len); + AuDbg("i%llu, %.*s\n", + be64_to_cpu((__force __be64)drinfo->ino), drinfo->oldnamelen, + drinfo->oldname); + +out: + AuTraceErr(err); + return err; +} + +/* callers have to free the return value */ +static struct au_drinfo *au_drinfo_read_k(struct file *file, ino_t h_ino) +{ + struct au_drinfo *ret, *drinfo; + struct au_drinfo_fdata fdata; + int len; + loff_t pos; + ssize_t ssz; + + ret = ERR_PTR(-EIO); + pos = 0; + ssz = vfsub_read_k(file, &fdata, sizeof(fdata), &pos); + if (unlikely(ssz != sizeof(fdata))) { + AuIOErr("ssz %zd, %u, %pD2\n", + ssz, (unsigned int)sizeof(fdata), file); + goto out; + } + + fdata.magic = ntohl((__force __be32)fdata.magic); + switch (fdata.magic) { + case AUFS_DRINFO_MAGIC_V1: + break; + default: + AuIOErr("magic-num 0x%x, 0x%x, %pD2\n", + fdata.magic, AUFS_DRINFO_MAGIC_V1, file); + goto out; + } + + drinfo = &fdata.drinfo; + len = drinfo->oldnamelen; + if (!len) { + AuIOErr("broken drinfo %pD2\n", file); + goto out; + } + + ret = NULL; + drinfo->ino = be64_to_cpu((__force __be64)drinfo->ino); + if (unlikely(h_ino && drinfo->ino != h_ino)) { + AuDbg("ignored i%llu, i%llu, %pD2\n", + (unsigned long long)drinfo->ino, + (unsigned long long)h_ino, file); + goto out; /* success */ + } + + ret = kmalloc(sizeof(*ret) + len, GFP_NOFS); + if (unlikely(!ret)) { + ret = ERR_PTR(-ENOMEM); + AuTraceErrPtr(ret); + goto out; + } + + *ret = *drinfo; + ssz = vfsub_read_k(file, (void *)ret->oldname, len, &pos); + if (unlikely(ssz != len)) { + au_kfree_rcu(ret); + ret = ERR_PTR(-EIO); + AuIOErr("ssz %zd, %u, %pD2\n", ssz, len, file); + goto out; + } + + AuDbg("oldname %.*s\n", ret->oldnamelen, ret->oldname); + +out: + return ret; +} + +/* ---------------------------------------------------------------------- */ + +/* in order to be revertible */ +struct au_drinfo_rev_elm { + int created; + struct dentry *info_dentry; + struct au_drinfo *info_last; +}; + +struct au_drinfo_rev { + unsigned char already; + aufs_bindex_t nelm; + struct au_drinfo_rev_elm elm[]; +}; + +/* todo: isn't it too large? */ +struct au_drinfo_store { + struct path h_ppath; + struct dentry *h_dentry; + struct au_drinfo_fdata *fdata; + char *infoname; /* inside of whname, just after PFX */ + char whname[sizeof(AUFS_WH_DR_INFO_PFX) + AUFS_DIRREN_ENV_VAL_SZ]; + aufs_bindex_t btgt, btail; + unsigned char no_sio, + allocated, /* current size of *fdata */ + infonamelen, /* room size for p */ + whnamelen, /* length of the generated name */ + renameback; /* renamed back */ +}; + +/* on rename(2) error, the caller should revert it using @elm */ +static int au_drinfo_do_store(struct au_drinfo_store *w, + struct au_drinfo_rev_elm *elm) +{ + int err, len; + ssize_t ssz; + loff_t pos; + struct path infopath = { + .mnt = w->h_ppath.mnt + }; + struct inode *h_dir, *h_inode, *delegated; + struct file *infofile; + struct qstr *qname; + + AuDebugOn(elm + && memcmp(elm, page_address(ZERO_PAGE(0)), sizeof(*elm))); + + infopath.dentry = vfsub_lookup_one_len(w->whname, w->h_ppath.dentry, + w->whnamelen); + AuTraceErrPtr(infopath.dentry); + if (IS_ERR(infopath.dentry)) { + err = PTR_ERR(infopath.dentry); + goto out; + } + + err = 0; + h_dir = d_inode(w->h_ppath.dentry); + if (elm && d_is_negative(infopath.dentry)) { + err = vfsub_create(h_dir, &infopath, 0600, /*want_excl*/true); + AuTraceErr(err); + if (unlikely(err)) + goto out_dput; + elm->created = 1; + elm->info_dentry = dget(infopath.dentry); + } + + infofile = vfsub_dentry_open(&infopath, O_RDWR); + AuTraceErrPtr(infofile); + if (IS_ERR(infofile)) { + err = PTR_ERR(infofile); + goto out_dput; + } + + h_inode = d_inode(infopath.dentry); + if (elm && i_size_read(h_inode)) { + h_inode = d_inode(w->h_dentry); + elm->info_last = au_drinfo_read_k(infofile, h_inode->i_ino); + AuTraceErrPtr(elm->info_last); + if (IS_ERR(elm->info_last)) { + err = PTR_ERR(elm->info_last); + elm->info_last = NULL; + AuDebugOn(elm->info_dentry); + goto out_fput; + } + } + + if (elm && w->renameback) { + delegated = NULL; + err = vfsub_unlink(h_dir, &infopath, &delegated, /*force*/0); + AuTraceErr(err); + if (unlikely(err == -EWOULDBLOCK)) + iput(delegated); + goto out_fput; + } + + pos = 0; + qname = &w->h_dentry->d_name; + len = sizeof(*w->fdata) + qname->len; + if (!elm) + len = sizeof(*w->fdata) + w->fdata->drinfo.oldnamelen; + ssz = vfsub_write_k(infofile, w->fdata, len, &pos); + if (ssz == len) { + AuDbg("hi%llu, %.*s\n", w->fdata->drinfo.ino, + w->fdata->drinfo.oldnamelen, w->fdata->drinfo.oldname); + goto out_fput; /* success */ + } else { + err = -EIO; + if (ssz < 0) + err = ssz; + /* the caller should revert it using @elm */ + } + +out_fput: + fput(infofile); +out_dput: + dput(infopath.dentry); +out: + AuTraceErr(err); + return err; +} + +struct au_call_drinfo_do_store_args { + int *errp; + struct au_drinfo_store *w; + struct au_drinfo_rev_elm *elm; +}; + +static void au_call_drinfo_do_store(void *args) +{ + struct au_call_drinfo_do_store_args *a = args; + + *a->errp = au_drinfo_do_store(a->w, a->elm); +} + +static int au_drinfo_store_sio(struct au_drinfo_store *w, + struct au_drinfo_rev_elm *elm) +{ + int err, wkq_err; + + if (w->no_sio) + err = au_drinfo_do_store(w, elm); + else { + struct au_call_drinfo_do_store_args a = { + .errp = &err, + .w = w, + .elm = elm + }; + wkq_err = au_wkq_wait(au_call_drinfo_do_store, &a); + if (unlikely(wkq_err)) + err = wkq_err; + } + AuTraceErr(err); + + return err; +} + +static int au_drinfo_store_work_init(struct au_drinfo_store *w, + aufs_bindex_t btgt) +{ + int err; + + memset(w, 0, sizeof(*w)); + w->allocated = roundup_pow_of_two(sizeof(*w->fdata) + 40); + strcpy(w->whname, AUFS_WH_DR_INFO_PFX); + w->infoname = w->whname + sizeof(AUFS_WH_DR_INFO_PFX) - 1; + w->infonamelen = sizeof(w->whname) - sizeof(AUFS_WH_DR_INFO_PFX); + w->btgt = btgt; + w->no_sio = !!uid_eq(current_fsuid(), GLOBAL_ROOT_UID); + + err = -ENOMEM; + w->fdata = kcalloc(1, w->allocated, GFP_NOFS); + if (unlikely(!w->fdata)) { + AuTraceErr(err); + goto out; + } + w->fdata->magic = (__force uint32_t)htonl(AUFS_DRINFO_MAGIC_V1); + err = 0; + +out: + return err; +} + +static void au_drinfo_store_work_fin(struct au_drinfo_store *w) +{ + au_kfree_rcu(w->fdata); +} + +static void au_drinfo_store_rev(struct au_drinfo_rev *rev, + struct au_drinfo_store *w) +{ + struct au_drinfo_rev_elm *elm; + struct inode *h_dir, *delegated; + int err, nelm; + struct path infopath = { + .mnt = w->h_ppath.mnt + }; + + h_dir = d_inode(w->h_ppath.dentry); + IMustLock(h_dir); + + err = 0; + elm = rev->elm; + for (nelm = rev->nelm; nelm > 0; nelm--, elm++) { + AuDebugOn(elm->created && elm->info_last); + if (elm->created) { + AuDbg("here\n"); + delegated = NULL; + infopath.dentry = elm->info_dentry; + err = vfsub_unlink(h_dir, &infopath, &delegated, + !w->no_sio); + AuTraceErr(err); + if (unlikely(err == -EWOULDBLOCK)) + iput(delegated); + dput(elm->info_dentry); + } else if (elm->info_last) { + AuDbg("here\n"); + w->fdata->drinfo = *elm->info_last; + memcpy(w->fdata->drinfo.oldname, + elm->info_last->oldname, + elm->info_last->oldnamelen); + err = au_drinfo_store_sio(w, /*elm*/NULL); + au_kfree_rcu(elm->info_last); + } + if (unlikely(err)) + AuIOErr("%d, %s\n", err, w->whname); + /* go on even if err */ + } +} + +/* caller has to call au_dr_rename_fin() later */ +static int au_drinfo_store(struct dentry *dentry, aufs_bindex_t btgt, + struct qstr *dst_name, void *_rev) +{ + int err, sz, nelm; + aufs_bindex_t bindex, btail; + struct au_drinfo_store work; + struct au_drinfo_rev *rev, **p; + struct au_drinfo_rev_elm *elm; + struct super_block *sb; + struct au_branch *br; + struct au_hinode *hdir; + + err = au_drinfo_store_work_init(&work, btgt); + AuTraceErr(err); + if (unlikely(err)) + goto out; + + err = -ENOMEM; + btail = au_dbtaildir(dentry); + nelm = btail - btgt; + sz = sizeof(*rev) + sizeof(*elm) * nelm; + rev = kcalloc(1, sz, GFP_NOFS); + if (unlikely(!rev)) { + AuTraceErr(err); + goto out_args; + } + rev->nelm = nelm; + elm = rev->elm; + p = _rev; + *p = rev; + + err = 0; + sb = dentry->d_sb; + work.h_ppath.dentry = au_h_dptr(dentry, btgt); + work.h_ppath.mnt = au_sbr_mnt(sb, btgt); + hdir = au_hi(d_inode(dentry), btgt); + au_hn_inode_lock_nested(hdir, AuLsc_I_CHILD); + for (bindex = btgt + 1; bindex <= btail; bindex++, elm++) { + work.h_dentry = au_h_dptr(dentry, bindex); + if (!work.h_dentry) + continue; + + err = au_drinfo_construct(&work.fdata, work.h_dentry, + &work.allocated); + AuTraceErr(err); + if (unlikely(err)) + break; + + work.renameback = au_qstreq(&work.h_dentry->d_name, dst_name); + br = au_sbr(sb, bindex); + work.whnamelen = sizeof(AUFS_WH_DR_INFO_PFX) - 1; + work.whnamelen += au_drinfo_name(br, work.infoname, + work.infonamelen); + AuDbg("whname %.*s, i%llu, %.*s\n", + work.whnamelen, work.whname, + be64_to_cpu((__force __be64)work.fdata->drinfo.ino), + work.fdata->drinfo.oldnamelen, + work.fdata->drinfo.oldname); + + err = au_drinfo_store_sio(&work, elm); + AuTraceErr(err); + if (unlikely(err)) + break; + } + if (unlikely(err)) { + /* revert all drinfo */ + au_drinfo_store_rev(rev, &work); + au_kfree_try_rcu(rev); + *p = NULL; + } + au_hn_inode_unlock(hdir); + +out_args: + au_drinfo_store_work_fin(&work); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_dr_rename(struct dentry *src, aufs_bindex_t bindex, + struct qstr *dst_name, void *_rev) +{ + int err, already; + ino_t ino; + struct super_block *sb; + struct au_branch *br; + struct au_dr_br *dr; + struct dentry *h_dentry; + struct inode *h_inode; + struct au_dr_hino *ent; + struct au_drinfo_rev *rev, **p; + + AuDbg("bindex %d\n", bindex); + + err = -ENOMEM; + ent = kmalloc(sizeof(*ent), GFP_NOFS); + if (unlikely(!ent)) + goto out; + + sb = src->d_sb; + br = au_sbr(sb, bindex); + dr = &br->br_dirren; + h_dentry = au_h_dptr(src, bindex); + h_inode = d_inode(h_dentry); + ino = h_inode->i_ino; + ent->dr_h_ino = ino; + already = au_dr_hino_test_add(dr, ino, ent); + AuDbg("b%d, hi%llu, already %d\n", + bindex, (unsigned long long)ino, already); + + err = au_drinfo_store(src, bindex, dst_name, _rev); + AuTraceErr(err); + if (!err) { + p = _rev; + rev = *p; + rev->already = already; + goto out; /* success */ + } + + /* revert */ + if (!already) + au_dr_hino_del(dr, ent); + au_kfree_rcu(ent); + +out: + AuTraceErr(err); + return err; +} + +void au_dr_rename_fin(struct dentry *src, aufs_bindex_t btgt, void *_rev) +{ + struct au_drinfo_rev *rev; + struct au_drinfo_rev_elm *elm; + int nelm; + + rev = _rev; + elm = rev->elm; + for (nelm = rev->nelm; nelm > 0; nelm--, elm++) { + dput(elm->info_dentry); + au_kfree_rcu(elm->info_last); + } + au_kfree_try_rcu(rev); +} + +void au_dr_rename_rev(struct dentry *src, aufs_bindex_t btgt, void *_rev) +{ + int err; + struct au_drinfo_store work; + struct au_drinfo_rev *rev = _rev; + struct super_block *sb; + struct au_branch *br; + struct inode *h_inode; + struct au_dr_br *dr; + struct au_dr_hino *ent; + + err = au_drinfo_store_work_init(&work, btgt); + if (unlikely(err)) + goto out; + + sb = src->d_sb; + br = au_sbr(sb, btgt); + work.h_ppath.dentry = au_h_dptr(src, btgt); + work.h_ppath.mnt = au_br_mnt(br); + au_drinfo_store_rev(rev, &work); + au_drinfo_store_work_fin(&work); + if (rev->already) + goto out; + + dr = &br->br_dirren; + h_inode = d_inode(work.h_ppath.dentry); + ent = au_dr_hino_find(dr, h_inode->i_ino); + BUG_ON(!ent); + au_dr_hino_del(dr, ent); + au_kfree_rcu(ent); + +out: + au_kfree_try_rcu(rev); + if (unlikely(err)) + pr_err("failed to remove dirren info\n"); +} + +/* ---------------------------------------------------------------------- */ + +static struct au_drinfo *au_drinfo_do_load(struct path *h_ppath, + char *whname, int whnamelen, + struct dentry **info_dentry) +{ + struct au_drinfo *drinfo; + struct file *f; + struct inode *h_dir; + struct path infopath; + int unlocked; + + AuDbg("%pd/%.*s\n", h_ppath->dentry, whnamelen, whname); + + *info_dentry = NULL; + drinfo = NULL; + unlocked = 0; + h_dir = d_inode(h_ppath->dentry); + inode_lock_shared_nested(h_dir, AuLsc_I_PARENT); + infopath.dentry = vfsub_lookup_one_len(whname, h_ppath->dentry, + whnamelen); + if (IS_ERR(infopath.dentry)) { + drinfo = (void *)infopath.dentry; + goto out; + } + + if (d_is_negative(infopath.dentry)) + goto out_dput; /* success */ + + infopath.mnt = h_ppath->mnt; + f = vfsub_dentry_open(&infopath, O_RDONLY); + inode_unlock_shared(h_dir); + unlocked = 1; + if (IS_ERR(f)) { + drinfo = (void *)f; + goto out_dput; + } + + drinfo = au_drinfo_read_k(f, /*h_ino*/0); + if (IS_ERR_OR_NULL(drinfo)) + goto out_fput; + + AuDbg("oldname %.*s\n", drinfo->oldnamelen, drinfo->oldname); + *info_dentry = dget(infopath.dentry); /* keep it alive */ + +out_fput: + fput(f); +out_dput: + dput(infopath.dentry); +out: + if (!unlocked) + inode_unlock_shared(h_dir); + AuTraceErrPtr(drinfo); + return drinfo; +} + +struct au_drinfo_do_load_args { + struct au_drinfo **drinfop; + struct path *h_ppath; + char *whname; + int whnamelen; + struct dentry **info_dentry; +}; + +static void au_call_drinfo_do_load(void *args) +{ + struct au_drinfo_do_load_args *a = args; + + *a->drinfop = au_drinfo_do_load(a->h_ppath, a->whname, a->whnamelen, + a->info_dentry); +} + +struct au_drinfo_load { + struct path h_ppath; + struct qstr *qname; + unsigned char no_sio; + + aufs_bindex_t ninfo; + struct au_drinfo **drinfo; +}; + +static int au_drinfo_load(struct au_drinfo_load *w, aufs_bindex_t bindex, + struct au_branch *br) +{ + int err, wkq_err, whnamelen, e; + char whname[sizeof(AUFS_WH_DR_INFO_PFX) + AUFS_DIRREN_ENV_VAL_SZ] + = AUFS_WH_DR_INFO_PFX; + struct au_drinfo *drinfo; + struct qstr oldname; + struct inode *h_dir, *delegated; + struct dentry *info_dentry; + struct path infopath; + + whnamelen = sizeof(AUFS_WH_DR_INFO_PFX) - 1; + whnamelen += au_drinfo_name(br, whname + whnamelen, + sizeof(whname) - whnamelen); + if (w->no_sio) + drinfo = au_drinfo_do_load(&w->h_ppath, whname, whnamelen, + &info_dentry); + else { + struct au_drinfo_do_load_args args = { + .drinfop = &drinfo, + .h_ppath = &w->h_ppath, + .whname = whname, + .whnamelen = whnamelen, + .info_dentry = &info_dentry + }; + wkq_err = au_wkq_wait(au_call_drinfo_do_load, &args); + if (unlikely(wkq_err)) + drinfo = ERR_PTR(wkq_err); + } + err = PTR_ERR(drinfo); + if (IS_ERR_OR_NULL(drinfo)) + goto out; + + err = 0; + oldname.len = drinfo->oldnamelen; + oldname.name = drinfo->oldname; + if (au_qstreq(w->qname, &oldname)) { + /* the name is renamed back */ + au_kfree_rcu(drinfo); + drinfo = NULL; + + infopath.dentry = info_dentry; + infopath.mnt = w->h_ppath.mnt; + h_dir = d_inode(w->h_ppath.dentry); + delegated = NULL; + inode_lock_nested(h_dir, AuLsc_I_PARENT); + e = vfsub_unlink(h_dir, &infopath, &delegated, !w->no_sio); + inode_unlock(h_dir); + if (unlikely(e)) + AuIOErr("ignored %d, %pd2\n", e, &infopath.dentry); + if (unlikely(e == -EWOULDBLOCK)) + iput(delegated); + } + au_kfree_rcu(w->drinfo[bindex]); + w->drinfo[bindex] = drinfo; + dput(info_dentry); + +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_dr_lkup_free(struct au_drinfo **drinfo, int n) +{ + struct au_drinfo **p = drinfo; + + while (n-- > 0) + au_kfree_rcu(*drinfo++); + au_kfree_try_rcu(p); +} + +int au_dr_lkup(struct au_do_lookup_args *lkup, struct dentry *dentry, + aufs_bindex_t btgt) +{ + int err, ninfo; + struct au_drinfo_load w; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + struct inode *h_dir; + struct au_dr_hino *ent; + struct super_block *sb; + + AuDbg("%.*s, name %.*s, whname %.*s, b%d\n", + AuLNPair(&dentry->d_name), AuLNPair(&lkup->dirren.dr_name), + AuLNPair(&lkup->whname), btgt); + + sb = dentry->d_sb; + bbot = au_sbbot(sb); + w.ninfo = bbot + 1; + if (!lkup->dirren.drinfo) { + lkup->dirren.drinfo = kcalloc(w.ninfo, + sizeof(*lkup->dirren.drinfo), + GFP_NOFS); + if (unlikely(!lkup->dirren.drinfo)) { + err = -ENOMEM; + goto out; + } + lkup->dirren.ninfo = w.ninfo; + } + w.drinfo = lkup->dirren.drinfo; + w.no_sio = !!uid_eq(current_fsuid(), GLOBAL_ROOT_UID); + w.h_ppath.dentry = au_h_dptr(dentry, btgt); + AuDebugOn(!w.h_ppath.dentry); + w.h_ppath.mnt = au_sbr_mnt(sb, btgt); + w.qname = &dentry->d_name; + + ninfo = 0; + for (bindex = btgt + 1; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + err = au_drinfo_load(&w, bindex, br); + if (unlikely(err)) + goto out_free; + if (w.drinfo[bindex]) + ninfo++; + } + if (!ninfo) { + br = au_sbr(sb, btgt); + h_dir = d_inode(w.h_ppath.dentry); + ent = au_dr_hino_find(&br->br_dirren, h_dir->i_ino); + AuDebugOn(!ent); + au_dr_hino_del(&br->br_dirren, ent); + au_kfree_rcu(ent); + } + goto out; /* success */ + +out_free: + au_dr_lkup_free(lkup->dirren.drinfo, lkup->dirren.ninfo); + lkup->dirren.ninfo = 0; + lkup->dirren.drinfo = NULL; +out: + AuTraceErr(err); + return err; +} + +void au_dr_lkup_fin(struct au_do_lookup_args *lkup) +{ + au_dr_lkup_free(lkup->dirren.drinfo, lkup->dirren.ninfo); +} + +int au_dr_lkup_name(struct au_do_lookup_args *lkup, aufs_bindex_t btgt) +{ + int err; + struct au_drinfo *drinfo; + + err = 0; + if (!lkup->dirren.drinfo) + goto out; + AuDebugOn(lkup->dirren.ninfo <= btgt); + drinfo = lkup->dirren.drinfo[btgt]; + if (!drinfo) + goto out; + + au_kfree_try_rcu(lkup->whname.name); + lkup->whname.name = NULL; + lkup->dirren.dr_name.len = drinfo->oldnamelen; + lkup->dirren.dr_name.name = drinfo->oldname; + lkup->name = &lkup->dirren.dr_name; + err = au_wh_name_alloc(&lkup->whname, lkup->name); + if (!err) + AuDbg("name %.*s, whname %.*s, b%d\n", + AuLNPair(lkup->name), AuLNPair(&lkup->whname), + btgt); + +out: + AuTraceErr(err); + return err; +} + +int au_dr_lkup_h_ino(struct au_do_lookup_args *lkup, aufs_bindex_t bindex, + ino_t h_ino) +{ + int match; + struct au_drinfo *drinfo; + + match = 1; + if (!lkup->dirren.drinfo) + goto out; + AuDebugOn(lkup->dirren.ninfo <= bindex); + drinfo = lkup->dirren.drinfo[bindex]; + if (!drinfo) + goto out; + + match = (drinfo->ino == h_ino); + AuDbg("match %d\n", match); + +out: + return match; +} + +/* ---------------------------------------------------------------------- */ + +int au_dr_opt_set(struct super_block *sb) +{ + int err; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + err = 0; + bbot = au_sbbot(sb); + for (bindex = 0; !err && bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + err = au_dr_hino(sb, bindex, /*br*/NULL, &br->br_path); + } + + return err; +} + +int au_dr_opt_flush(struct super_block *sb) +{ + int err; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + err = 0; + bbot = au_sbbot(sb); + for (bindex = 0; !err && bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_writable(br->br_perm)) + err = au_dr_hino(sb, bindex, /*br*/NULL, /*path*/NULL); + } + + return err; +} + +int au_dr_opt_clr(struct super_block *sb, int no_flush) +{ + int err; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + err = 0; + if (!no_flush) { + err = au_dr_opt_flush(sb); + if (unlikely(err)) + goto out; + } + + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + au_dr_hino_free(&br->br_dirren); + } + +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dirren.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dirren.h @@ -0,0 +1,140 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2017-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * renamed dir info + */ + +#ifndef __AUFS_DIRREN_H__ +#define __AUFS_DIRREN_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include "hbl.h" + +#define AuDirren_NHASH 100 + +#ifdef CONFIG_AUFS_DIRREN +enum au_brid_type { + AuBrid_Unset, + AuBrid_UUID, + AuBrid_FSID, + AuBrid_DEV +}; + +struct au_dr_brid { + enum au_brid_type type; + union { + uuid_t uuid; /* unimplemented yet */ + fsid_t fsid; + dev_t dev; + }; +}; + +/* 20 is the max digits length of ulong 64 */ +/* brid-type "_" uuid "_" inum */ +#define AUFS_DIRREN_FNAME_SZ (1 + 1 + UUID_STRING_LEN + 20) +#define AUFS_DIRREN_ENV_VAL_SZ (AUFS_DIRREN_FNAME_SZ + 1 + 20) + +struct au_dr_hino { + struct hlist_bl_node dr_hnode; + ino_t dr_h_ino; +}; + +struct au_dr_br { + struct hlist_bl_head dr_h_ino[AuDirren_NHASH]; + struct au_dr_brid dr_brid; +}; + +struct au_dr_lookup { + /* dr_name is pointed by struct au_do_lookup_args.name */ + struct qstr dr_name; /* subset of dr_info */ + aufs_bindex_t ninfo; + struct au_drinfo **drinfo; +}; +#else +struct au_dr_hino; +/* empty */ +struct au_dr_br { }; +struct au_dr_lookup { }; +#endif + +/* ---------------------------------------------------------------------- */ + +struct au_branch; +struct au_do_lookup_args; +struct au_hinode; +#ifdef CONFIG_AUFS_DIRREN +int au_dr_hino_test_add(struct au_dr_br *dr, ino_t h_ino, + struct au_dr_hino *add_ent); +void au_dr_hino_free(struct au_dr_br *dr); +int au_dr_br_init(struct super_block *sb, struct au_branch *br, + const struct path *path); +int au_dr_br_fin(struct super_block *sb, struct au_branch *br); +int au_dr_rename(struct dentry *src, aufs_bindex_t bindex, + struct qstr *dst_name, void *_rev); +void au_dr_rename_fin(struct dentry *src, aufs_bindex_t btgt, void *rev); +void au_dr_rename_rev(struct dentry *src, aufs_bindex_t bindex, void *rev); +int au_dr_lkup(struct au_do_lookup_args *lkup, struct dentry *dentry, + aufs_bindex_t bindex); +int au_dr_lkup_name(struct au_do_lookup_args *lkup, aufs_bindex_t btgt); +int au_dr_lkup_h_ino(struct au_do_lookup_args *lkup, aufs_bindex_t bindex, + ino_t h_ino); +void au_dr_lkup_fin(struct au_do_lookup_args *lkup); +int au_dr_opt_set(struct super_block *sb); +int au_dr_opt_flush(struct super_block *sb); +int au_dr_opt_clr(struct super_block *sb, int no_flush); +#else +AuStubInt0(au_dr_hino_test_add, struct au_dr_br *dr, ino_t h_ino, + struct au_dr_hino *add_ent); +AuStubVoid(au_dr_hino_free, struct au_dr_br *dr); +AuStubInt0(au_dr_br_init, struct super_block *sb, struct au_branch *br, + const struct path *path); +AuStubInt0(au_dr_br_fin, struct super_block *sb, struct au_branch *br); +AuStubInt0(au_dr_rename, struct dentry *src, aufs_bindex_t bindex, + struct qstr *dst_name, void *_rev); +AuStubVoid(au_dr_rename_fin, struct dentry *src, aufs_bindex_t btgt, void *rev); +AuStubVoid(au_dr_rename_rev, struct dentry *src, aufs_bindex_t bindex, + void *rev); +AuStubInt0(au_dr_lkup, struct au_do_lookup_args *lkup, struct dentry *dentry, + aufs_bindex_t bindex); +AuStubInt0(au_dr_lkup_name, struct au_do_lookup_args *lkup, aufs_bindex_t btgt); +AuStubInt0(au_dr_lkup_h_ino, struct au_do_lookup_args *lkup, + aufs_bindex_t bindex, ino_t h_ino); +AuStubVoid(au_dr_lkup_fin, struct au_do_lookup_args *lkup); +AuStubInt0(au_dr_opt_set, struct super_block *sb); +AuStubInt0(au_dr_opt_flush, struct super_block *sb); +AuStubInt0(au_dr_opt_clr, struct super_block *sb, int no_flush); +#endif + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_DIRREN +static inline int au_dr_ihash(ino_t h_ino) +{ + return h_ino % AuDirren_NHASH; +} +#else +AuStubInt0(au_dr_ihash, ino_t h_ino); +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIRREN_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dynop.c +++ linux-riscv-5.8-5.8.0/fs/aufs/dynop.c @@ -0,0 +1,367 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2010-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * dynamically customizable operations for regular files + */ + +#include "aufs.h" + +#define DyPrSym(key) AuDbgSym(key->dk_op.dy_hop) + +/* + * How large will these lists be? + * Usually just a few elements, 20-30 at most for each, I guess. + */ +static struct hlist_bl_head dynop[AuDyLast]; + +static struct au_dykey *dy_gfind_get(struct hlist_bl_head *hbl, + const void *h_op) +{ + struct au_dykey *key, *tmp; + struct hlist_bl_node *pos; + + key = NULL; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(tmp, pos, hbl, dk_hnode) + if (tmp->dk_op.dy_hop == h_op) { + if (kref_get_unless_zero(&tmp->dk_kref)) + key = tmp; + break; + } + hlist_bl_unlock(hbl); + + return key; +} + +static struct au_dykey *dy_bradd(struct au_branch *br, struct au_dykey *key) +{ + struct au_dykey **k, *found; + const void *h_op = key->dk_op.dy_hop; + int i; + + found = NULL; + k = br->br_dykey; + for (i = 0; i < AuBrDynOp; i++) + if (k[i]) { + if (k[i]->dk_op.dy_hop == h_op) { + found = k[i]; + break; + } + } else + break; + if (!found) { + spin_lock(&br->br_dykey_lock); + for (; i < AuBrDynOp; i++) + if (k[i]) { + if (k[i]->dk_op.dy_hop == h_op) { + found = k[i]; + break; + } + } else { + k[i] = key; + break; + } + spin_unlock(&br->br_dykey_lock); + BUG_ON(i == AuBrDynOp); /* expand the array */ + } + + return found; +} + +/* kref_get() if @key is already added */ +static struct au_dykey *dy_gadd(struct hlist_bl_head *hbl, struct au_dykey *key) +{ + struct au_dykey *tmp, *found; + struct hlist_bl_node *pos; + const void *h_op = key->dk_op.dy_hop; + + found = NULL; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(tmp, pos, hbl, dk_hnode) + if (tmp->dk_op.dy_hop == h_op) { + if (kref_get_unless_zero(&tmp->dk_kref)) + found = tmp; + break; + } + if (!found) + hlist_bl_add_head(&key->dk_hnode, hbl); + hlist_bl_unlock(hbl); + + if (!found) + DyPrSym(key); + return found; +} + +static void dy_free_rcu(struct rcu_head *rcu) +{ + struct au_dykey *key; + + key = container_of(rcu, struct au_dykey, dk_rcu); + DyPrSym(key); + kfree(key); +} + +static void dy_free(struct kref *kref) +{ + struct au_dykey *key; + struct hlist_bl_head *hbl; + + key = container_of(kref, struct au_dykey, dk_kref); + hbl = dynop + key->dk_op.dy_type; + au_hbl_del(&key->dk_hnode, hbl); + call_rcu(&key->dk_rcu, dy_free_rcu); +} + +void au_dy_put(struct au_dykey *key) +{ + kref_put(&key->dk_kref, dy_free); +} + +/* ---------------------------------------------------------------------- */ + +#define DyDbgSize(cnt, op) AuDebugOn(cnt != sizeof(op)/sizeof(void *)) + +#ifdef CONFIG_AUFS_DEBUG +#define DyDbgDeclare(cnt) unsigned int cnt = 0 +#define DyDbgInc(cnt) do { cnt++; } while (0) +#else +#define DyDbgDeclare(cnt) do {} while (0) +#define DyDbgInc(cnt) do {} while (0) +#endif + +#define DySet(func, dst, src, h_op, h_sb) do { \ + DyDbgInc(cnt); \ + if (h_op->func) { \ + if (src.func) \ + dst.func = src.func; \ + else \ + AuDbg("%s %s\n", au_sbtype(h_sb), #func); \ + } \ +} while (0) + +#define DySetForce(func, dst, src) do { \ + AuDebugOn(!src.func); \ + DyDbgInc(cnt); \ + dst.func = src.func; \ +} while (0) + +#define DySetAop(func) \ + DySet(func, dyaop->da_op, aufs_aop, h_aop, h_sb) +#define DySetAopForce(func) \ + DySetForce(func, dyaop->da_op, aufs_aop) + +static void dy_aop(struct au_dykey *key, const void *h_op, + struct super_block *h_sb __maybe_unused) +{ + struct au_dyaop *dyaop = (void *)key; + const struct address_space_operations *h_aop = h_op; + DyDbgDeclare(cnt); + + AuDbg("%s\n", au_sbtype(h_sb)); + + DySetAop(writepage); + DySetAopForce(readpage); /* force */ + DySetAop(writepages); + DySetAop(set_page_dirty); + DySetAop(readpages); + DySetAop(write_begin); + DySetAop(write_end); + DySetAop(bmap); + DySetAop(invalidatepage); + DySetAop(releasepage); + DySetAop(freepage); + /* this one will be changed according to an aufs mount option */ + DySetAop(direct_IO); + DySetAop(migratepage); + DySetAop(isolate_page); + DySetAop(putback_page); + DySetAop(launder_page); + DySetAop(is_partially_uptodate); + DySetAop(is_dirty_writeback); + DySetAop(error_remove_page); + DySetAop(swap_activate); + DySetAop(swap_deactivate); + + DyDbgSize(cnt, *h_aop); +} + +/* ---------------------------------------------------------------------- */ + +static void dy_bug(struct kref *kref) +{ + BUG(); +} + +static struct au_dykey *dy_get(struct au_dynop *op, struct au_branch *br) +{ + struct au_dykey *key, *old; + struct hlist_bl_head *hbl; + struct op { + unsigned int sz; + void (*set)(struct au_dykey *key, const void *h_op, + struct super_block *h_sb __maybe_unused); + }; + static const struct op a[] = { + [AuDy_AOP] = { + .sz = sizeof(struct au_dyaop), + .set = dy_aop + } + }; + const struct op *p; + + hbl = dynop + op->dy_type; + key = dy_gfind_get(hbl, op->dy_hop); + if (key) + goto out_add; /* success */ + + p = a + op->dy_type; + key = kzalloc(p->sz, GFP_NOFS); + if (unlikely(!key)) { + key = ERR_PTR(-ENOMEM); + goto out; + } + + key->dk_op.dy_hop = op->dy_hop; + kref_init(&key->dk_kref); + p->set(key, op->dy_hop, au_br_sb(br)); + old = dy_gadd(hbl, key); + if (old) { + au_kfree_rcu(key); + key = old; + } + +out_add: + old = dy_bradd(br, key); + if (old) + /* its ref-count should never be zero here */ + kref_put(&key->dk_kref, dy_bug); +out: + return key; +} + +/* ---------------------------------------------------------------------- */ +/* + * Aufs prohibits O_DIRECT by default even if the branch supports it. + * This behaviour is necessary to return an error from open(O_DIRECT) instead + * of the succeeding I/O. The dio mount option enables O_DIRECT and makes + * open(O_DIRECT) always succeed, but the succeeding I/O may return an error. + * See the aufs manual in detail. + */ +static void dy_adx(struct au_dyaop *dyaop, int do_dx) +{ + if (!do_dx) + dyaop->da_op.direct_IO = NULL; + else + dyaop->da_op.direct_IO = aufs_aop.direct_IO; +} + +static struct au_dyaop *dy_aget(struct au_branch *br, + const struct address_space_operations *h_aop, + int do_dx) +{ + struct au_dyaop *dyaop; + struct au_dynop op; + + op.dy_type = AuDy_AOP; + op.dy_haop = h_aop; + dyaop = (void *)dy_get(&op, br); + if (IS_ERR(dyaop)) + goto out; + dy_adx(dyaop, do_dx); + +out: + return dyaop; +} + +int au_dy_iaop(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode) +{ + int err, do_dx; + struct super_block *sb; + struct au_branch *br; + struct au_dyaop *dyaop; + + AuDebugOn(!S_ISREG(h_inode->i_mode)); + IiMustWriteLock(inode); + + sb = inode->i_sb; + br = au_sbr(sb, bindex); + do_dx = !!au_opt_test(au_mntflags(sb), DIO); + dyaop = dy_aget(br, h_inode->i_mapping->a_ops, do_dx); + err = PTR_ERR(dyaop); + if (IS_ERR(dyaop)) + /* unnecessary to call dy_fput() */ + goto out; + + err = 0; + inode->i_mapping->a_ops = &dyaop->da_op; + +out: + return err; +} + +/* + * Is it safe to replace a_ops during the inode/file is in operation? + * Yes, I hope so. + */ +int au_dy_irefresh(struct inode *inode) +{ + int err; + aufs_bindex_t btop; + struct inode *h_inode; + + err = 0; + if (S_ISREG(inode->i_mode)) { + btop = au_ibtop(inode); + h_inode = au_h_iptr(inode, btop); + err = au_dy_iaop(inode, btop, h_inode); + } + return err; +} + +void au_dy_arefresh(int do_dx) +{ + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_dykey *key; + + hbl = dynop + AuDy_AOP; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(key, pos, hbl, dk_hnode) + dy_adx((void *)key, do_dx); + hlist_bl_unlock(hbl); +} + +/* ---------------------------------------------------------------------- */ + +void __init au_dy_init(void) +{ + int i; + + for (i = 0; i < AuDyLast; i++) + INIT_HLIST_BL_HEAD(dynop + i); +} + +void au_dy_fin(void) +{ + int i; + + for (i = 0; i < AuDyLast; i++) + WARN_ON(!hlist_bl_empty(dynop + i)); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/dynop.h +++ linux-riscv-5.8-5.8.0/fs/aufs/dynop.h @@ -0,0 +1,77 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2010-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * dynamically customizable operations (for regular files only) + */ + +#ifndef __AUFS_DYNOP_H__ +#define __AUFS_DYNOP_H__ + +#ifdef __KERNEL__ + +#include +#include + +enum {AuDy_AOP, AuDyLast}; + +struct au_dynop { + int dy_type; + union { + const void *dy_hop; + const struct address_space_operations *dy_haop; + }; +}; + +struct au_dykey { + union { + struct hlist_bl_node dk_hnode; + struct rcu_head dk_rcu; + }; + struct au_dynop dk_op; + + /* + * during I am in the branch local array, kref is gotten. when the + * branch is removed, kref is put. + */ + struct kref dk_kref; +}; + +/* stop unioning since their sizes are very different from each other */ +struct au_dyaop { + struct au_dykey da_key; + struct address_space_operations da_op; /* not const */ +}; +/* make sure that 'struct au_dykey *' can be any type */ +static_assert(!offsetof(struct au_dyaop, da_key)); + +/* ---------------------------------------------------------------------- */ + +/* dynop.c */ +struct au_branch; +void au_dy_put(struct au_dykey *key); +int au_dy_iaop(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode); +int au_dy_irefresh(struct inode *inode); +void au_dy_arefresh(int do_dio); + +void __init au_dy_init(void); +void au_dy_fin(void); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DYNOP_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/export.c +++ linux-riscv-5.8-5.8.0/fs/aufs/export.c @@ -0,0 +1,838 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * export via nfs + */ + +#include +#include +#include +#include +#include +#include +#include "aufs.h" + +union conv { +#ifdef CONFIG_AUFS_INO_T_64 + __u32 a[2]; +#else + __u32 a[1]; +#endif + ino_t ino; +}; + +static ino_t decode_ino(__u32 *a) +{ + union conv u; + + BUILD_BUG_ON(sizeof(u.ino) != sizeof(u.a)); + u.a[0] = a[0]; +#ifdef CONFIG_AUFS_INO_T_64 + u.a[1] = a[1]; +#endif + return u.ino; +} + +static void encode_ino(__u32 *a, ino_t ino) +{ + union conv u; + + u.ino = ino; + a[0] = u.a[0]; +#ifdef CONFIG_AUFS_INO_T_64 + a[1] = u.a[1]; +#endif +} + +/* NFS file handle */ +enum { + Fh_br_id, + Fh_sigen, +#ifdef CONFIG_AUFS_INO_T_64 + /* support 64bit inode number */ + Fh_ino1, + Fh_ino2, + Fh_dir_ino1, + Fh_dir_ino2, +#else + Fh_ino1, + Fh_dir_ino1, +#endif + Fh_igen, + Fh_h_type, + Fh_tail, + + Fh_ino = Fh_ino1, + Fh_dir_ino = Fh_dir_ino1 +}; + +static int au_test_anon(struct dentry *dentry) +{ + /* note: read d_flags without d_lock */ + return !!(dentry->d_flags & DCACHE_DISCONNECTED); +} + +int au_test_nfsd(void) +{ + int ret; + struct task_struct *tsk = current; + char comm[sizeof(tsk->comm)]; + + ret = 0; + if (tsk->flags & PF_KTHREAD) { + get_task_comm(comm, tsk); + ret = !strcmp(comm, "nfsd"); + } + + return ret; +} + +/* ---------------------------------------------------------------------- */ +/* inode generation external table */ + +void au_xigen_inc(struct inode *inode) +{ + loff_t pos; + ssize_t sz; + __u32 igen; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + sb = inode->i_sb; + AuDebugOn(!au_opt_test(au_mntflags(sb), XINO)); + + sbinfo = au_sbi(sb); + pos = inode->i_ino; + pos *= sizeof(igen); + igen = inode->i_generation + 1; + sz = xino_fwrite(sbinfo->si_xwrite, sbinfo->si_xigen, &igen, + sizeof(igen), &pos); + if (sz == sizeof(igen)) + return; /* success */ + + if (unlikely(sz >= 0)) + AuIOErr("xigen error (%zd)\n", sz); +} + +int au_xigen_new(struct inode *inode) +{ + int err; + loff_t pos; + ssize_t sz; + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct file *file; + + err = 0; + /* todo: dirty, at mount time */ + if (inode->i_ino == AUFS_ROOT_INO) + goto out; + sb = inode->i_sb; + SiMustAnyLock(sb); + if (unlikely(!au_opt_test(au_mntflags(sb), XINO))) + goto out; + + err = -EFBIG; + pos = inode->i_ino; + if (unlikely(au_loff_max / sizeof(inode->i_generation) - 1 < pos)) { + AuIOErr1("too large i%lld\n", pos); + goto out; + } + pos *= sizeof(inode->i_generation); + + err = 0; + sbinfo = au_sbi(sb); + file = sbinfo->si_xigen; + BUG_ON(!file); + + if (vfsub_f_size_read(file) + < pos + sizeof(inode->i_generation)) { + inode->i_generation = atomic_inc_return(&sbinfo->si_xigen_next); + sz = xino_fwrite(sbinfo->si_xwrite, file, &inode->i_generation, + sizeof(inode->i_generation), &pos); + } else + sz = xino_fread(sbinfo->si_xread, file, &inode->i_generation, + sizeof(inode->i_generation), &pos); + if (sz == sizeof(inode->i_generation)) + goto out; /* success */ + + err = sz; + if (unlikely(sz >= 0)) { + err = -EIO; + AuIOErr("xigen error (%zd)\n", sz); + } + +out: + return err; +} + +int au_xigen_set(struct super_block *sb, struct path *path) +{ + int err; + struct au_sbinfo *sbinfo; + struct file *file; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + file = au_xino_create2(sb, path, sbinfo->si_xigen); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + err = 0; + if (sbinfo->si_xigen) + fput(sbinfo->si_xigen); + sbinfo->si_xigen = file; + +out: + AuTraceErr(err); + return err; +} + +void au_xigen_clr(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + if (sbinfo->si_xigen) { + fput(sbinfo->si_xigen); + sbinfo->si_xigen = NULL; + } +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *decode_by_ino(struct super_block *sb, ino_t ino, + ino_t dir_ino) +{ + struct dentry *dentry, *d; + struct inode *inode; + unsigned int sigen; + + dentry = NULL; + inode = ilookup(sb, ino); + if (!inode) + goto out; + + dentry = ERR_PTR(-ESTALE); + sigen = au_sigen(sb); + if (unlikely(au_is_bad_inode(inode) + || IS_DEADDIR(inode) + || sigen != au_iigen(inode, NULL))) + goto out_iput; + + dentry = NULL; + if (!dir_ino || S_ISDIR(inode->i_mode)) + dentry = d_find_alias(inode); + else { + spin_lock(&inode->i_lock); + hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) { + spin_lock(&d->d_lock); + if (!au_test_anon(d) + && d_inode(d->d_parent)->i_ino == dir_ino) { + dentry = dget_dlock(d); + spin_unlock(&d->d_lock); + break; + } + spin_unlock(&d->d_lock); + } + spin_unlock(&inode->i_lock); + } + if (unlikely(dentry && au_digen_test(dentry, sigen))) { + /* need to refresh */ + dput(dentry); + dentry = NULL; + } + +out_iput: + iput(inode); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +/* todo: dirty? */ +/* if exportfs_decode_fh() passed vfsmount*, we could be happy */ + +struct au_compare_mnt_args { + /* input */ + struct super_block *sb; + + /* output */ + struct vfsmount *mnt; +}; + +static int au_compare_mnt(struct vfsmount *mnt, void *arg) +{ + struct au_compare_mnt_args *a = arg; + + if (mnt->mnt_sb != a->sb) + return 0; + a->mnt = mntget(mnt); + return 1; +} + +static struct vfsmount *au_mnt_get(struct super_block *sb) +{ + int err; + struct path root; + struct au_compare_mnt_args args = { + .sb = sb + }; + + get_fs_root(current->fs, &root); + rcu_read_lock(); + err = iterate_mounts(au_compare_mnt, &args, root.mnt); + rcu_read_unlock(); + path_put(&root); + AuDebugOn(!err); + AuDebugOn(!args.mnt); + return args.mnt; +} + +struct au_nfsd_si_lock { + unsigned int sigen; + aufs_bindex_t bindex, br_id; + unsigned char force_lock; +}; + +static int si_nfsd_read_lock(struct super_block *sb, + struct au_nfsd_si_lock *nsi_lock) +{ + int err; + aufs_bindex_t bindex; + + si_read_lock(sb, AuLock_FLUSH); + + /* branch id may be wrapped around */ + err = 0; + bindex = au_br_index(sb, nsi_lock->br_id); + if (bindex >= 0 && nsi_lock->sigen + AUFS_BRANCH_MAX > au_sigen(sb)) + goto out; /* success */ + + err = -ESTALE; + bindex = -1; + if (!nsi_lock->force_lock) + si_read_unlock(sb); + +out: + nsi_lock->bindex = bindex; + return err; +} + +struct find_name_by_ino { + struct dir_context ctx; + int called, found; + ino_t ino; + char *name; + int namelen; +}; + +static int +find_name_by_ino(struct dir_context *ctx, const char *name, int namelen, + loff_t offset, u64 ino, unsigned int d_type) +{ + struct find_name_by_ino *a = container_of(ctx, struct find_name_by_ino, + ctx); + + a->called++; + if (a->ino != ino) + return 0; + + memcpy(a->name, name, namelen); + a->namelen = namelen; + a->found = 1; + return 1; +} + +static struct dentry *au_lkup_by_ino(struct path *path, ino_t ino, + struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry, *parent; + struct file *file; + struct inode *dir; + struct find_name_by_ino arg = { + .ctx = { + .actor = find_name_by_ino + } + }; + int err; + + parent = path->dentry; + if (nsi_lock) + si_read_unlock(parent->d_sb); + file = vfsub_dentry_open(path, au_dir_roflags); + dentry = (void *)file; + if (IS_ERR(file)) + goto out; + + dentry = ERR_PTR(-ENOMEM); + arg.name = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!arg.name)) + goto out_file; + arg.ino = ino; + arg.found = 0; + do { + arg.called = 0; + /* smp_mb(); */ + err = vfsub_iterate_dir(file, &arg.ctx); + } while (!err && !arg.found && arg.called); + dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_name; + /* instead of ENOENT */ + dentry = ERR_PTR(-ESTALE); + if (!arg.found) + goto out_name; + + /* do not call vfsub_lkup_one() */ + dir = d_inode(parent); + dentry = vfsub_lookup_one_len_unlocked(arg.name, parent, arg.namelen); + AuTraceErrPtr(dentry); + if (IS_ERR(dentry)) + goto out_name; + AuDebugOn(au_test_anon(dentry)); + if (unlikely(d_really_is_negative(dentry))) { + dput(dentry); + dentry = ERR_PTR(-ENOENT); + } + +out_name: + free_page((unsigned long)arg.name); +out_file: + fput(file); +out: + if (unlikely(nsi_lock + && si_nfsd_read_lock(parent->d_sb, nsi_lock) < 0)) + if (!IS_ERR(dentry)) { + dput(dentry); + dentry = ERR_PTR(-ESTALE); + } + AuTraceErrPtr(dentry); + return dentry; +} + +static struct dentry *decode_by_dir_ino(struct super_block *sb, ino_t ino, + ino_t dir_ino, + struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry; + struct path path; + + if (dir_ino != AUFS_ROOT_INO) { + path.dentry = decode_by_ino(sb, dir_ino, 0); + dentry = path.dentry; + if (!path.dentry || IS_ERR(path.dentry)) + goto out; + AuDebugOn(au_test_anon(path.dentry)); + } else + path.dentry = dget(sb->s_root); + + path.mnt = au_mnt_get(sb); + dentry = au_lkup_by_ino(&path, ino, nsi_lock); + path_put(&path); + +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +static int h_acceptable(void *expv, struct dentry *dentry) +{ + return 1; +} + +static char *au_build_path(struct dentry *h_parent, struct path *h_rootpath, + char *buf, int len, struct super_block *sb) +{ + char *p; + int n; + struct path path; + + p = d_path(h_rootpath, buf, len); + if (IS_ERR(p)) + goto out; + n = strlen(p); + + path.mnt = h_rootpath->mnt; + path.dentry = h_parent; + p = d_path(&path, buf, len); + if (IS_ERR(p)) + goto out; + if (n != 1) + p += n; + + path.mnt = au_mnt_get(sb); + path.dentry = sb->s_root; + p = d_path(&path, buf, len - strlen(p)); + mntput(path.mnt); + if (IS_ERR(p)) + goto out; + if (n != 1) + p[strlen(p)] = '/'; + +out: + AuTraceErrPtr(p); + return p; +} + +static +struct dentry *decode_by_path(struct super_block *sb, ino_t ino, __u32 *fh, + int fh_len, struct au_nfsd_si_lock *nsi_lock) +{ + struct dentry *dentry, *h_parent, *root; + struct super_block *h_sb; + char *pathname, *p; + struct vfsmount *h_mnt; + struct au_branch *br; + int err; + struct path path; + + br = au_sbr(sb, nsi_lock->bindex); + h_mnt = au_br_mnt(br); + h_sb = h_mnt->mnt_sb; + /* todo: call lower fh_to_dentry()? fh_to_parent()? */ + lockdep_off(); + h_parent = exportfs_decode_fh(h_mnt, (void *)(fh + Fh_tail), + fh_len - Fh_tail, fh[Fh_h_type], + h_acceptable, /*context*/NULL); + lockdep_on(); + dentry = h_parent; + if (unlikely(!h_parent || IS_ERR(h_parent))) { + AuWarn1("%s decode_fh failed, %ld\n", + au_sbtype(h_sb), PTR_ERR(h_parent)); + goto out; + } + dentry = NULL; + if (unlikely(au_test_anon(h_parent))) { + AuWarn1("%s decode_fh returned a disconnected dentry\n", + au_sbtype(h_sb)); + goto out_h_parent; + } + + dentry = ERR_PTR(-ENOMEM); + pathname = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!pathname)) + goto out_h_parent; + + root = sb->s_root; + path.mnt = h_mnt; + di_read_lock_parent(root, !AuLock_IR); + path.dentry = au_h_dptr(root, nsi_lock->bindex); + di_read_unlock(root, !AuLock_IR); + p = au_build_path(h_parent, &path, pathname, PAGE_SIZE, sb); + dentry = (void *)p; + if (IS_ERR(p)) + goto out_pathname; + + si_read_unlock(sb); + err = vfsub_kern_path(p, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path); + dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_relock; + + dentry = ERR_PTR(-ENOENT); + AuDebugOn(au_test_anon(path.dentry)); + if (unlikely(d_really_is_negative(path.dentry))) + goto out_path; + + if (ino != d_inode(path.dentry)->i_ino) + dentry = au_lkup_by_ino(&path, ino, /*nsi_lock*/NULL); + else + dentry = dget(path.dentry); + +out_path: + path_put(&path); +out_relock: + if (unlikely(si_nfsd_read_lock(sb, nsi_lock) < 0)) + if (!IS_ERR(dentry)) { + dput(dentry); + dentry = ERR_PTR(-ESTALE); + } +out_pathname: + free_page((unsigned long)pathname); +out_h_parent: + dput(h_parent); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry * +aufs_fh_to_dentry(struct super_block *sb, struct fid *fid, int fh_len, + int fh_type) +{ + struct dentry *dentry; + __u32 *fh = fid->raw; + struct au_branch *br; + ino_t ino, dir_ino; + struct au_nfsd_si_lock nsi_lock = { + .force_lock = 0 + }; + + dentry = ERR_PTR(-ESTALE); + /* it should never happen, but the file handle is unreliable */ + if (unlikely(fh_len < Fh_tail)) + goto out; + nsi_lock.sigen = fh[Fh_sigen]; + nsi_lock.br_id = fh[Fh_br_id]; + + /* branch id may be wrapped around */ + br = NULL; + if (unlikely(si_nfsd_read_lock(sb, &nsi_lock))) + goto out; + nsi_lock.force_lock = 1; + + /* is this inode still cached? */ + ino = decode_ino(fh + Fh_ino); + /* it should never happen */ + if (unlikely(ino == AUFS_ROOT_INO)) + goto out_unlock; + + dir_ino = decode_ino(fh + Fh_dir_ino); + dentry = decode_by_ino(sb, ino, dir_ino); + if (IS_ERR(dentry)) + goto out_unlock; + if (dentry) + goto accept; + + /* is the parent dir cached? */ + br = au_sbr(sb, nsi_lock.bindex); + au_lcnt_inc(&br->br_nfiles); + dentry = decode_by_dir_ino(sb, ino, dir_ino, &nsi_lock); + if (IS_ERR(dentry)) + goto out_unlock; + if (dentry) + goto accept; + + /* lookup path */ + dentry = decode_by_path(sb, ino, fh, fh_len, &nsi_lock); + if (IS_ERR(dentry)) + goto out_unlock; + if (unlikely(!dentry)) + /* todo?: make it ESTALE */ + goto out_unlock; + +accept: + if (!au_digen_test(dentry, au_sigen(sb)) + && d_inode(dentry)->i_generation == fh[Fh_igen]) + goto out_unlock; /* success */ + + dput(dentry); + dentry = ERR_PTR(-ESTALE); +out_unlock: + if (br) + au_lcnt_dec(&br->br_nfiles); + si_read_unlock(sb); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +#if 0 /* reserved for future use */ +/* support subtreecheck option */ +static struct dentry *aufs_fh_to_parent(struct super_block *sb, struct fid *fid, + int fh_len, int fh_type) +{ + struct dentry *parent; + __u32 *fh = fid->raw; + ino_t dir_ino; + + dir_ino = decode_ino(fh + Fh_dir_ino); + parent = decode_by_ino(sb, dir_ino, 0); + if (IS_ERR(parent)) + goto out; + if (!parent) + parent = decode_by_path(sb, au_br_index(sb, fh[Fh_br_id]), + dir_ino, fh, fh_len); + +out: + AuTraceErrPtr(parent); + return parent; +} +#endif + +/* ---------------------------------------------------------------------- */ + +static int aufs_encode_fh(struct inode *inode, __u32 *fh, int *max_len, + struct inode *dir) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb, *h_sb; + struct dentry *dentry, *parent, *h_parent; + struct inode *h_dir; + struct au_branch *br; + + err = -ENOSPC; + if (unlikely(*max_len <= Fh_tail)) { + AuWarn1("NFSv2 client (max_len %d)?\n", *max_len); + goto out; + } + + err = FILEID_ROOT; + if (inode->i_ino == AUFS_ROOT_INO) { + AuDebugOn(inode->i_ino != AUFS_ROOT_INO); + goto out; + } + + h_parent = NULL; + sb = inode->i_sb; + err = si_read_lock(sb, AuLock_FLUSH); + if (unlikely(err)) + goto out; + +#ifdef CONFIG_AUFS_DEBUG + if (unlikely(!au_opt_test(au_mntflags(sb), XINO))) + AuWarn1("NFS-exporting requires xino\n"); +#endif + err = -EIO; + parent = NULL; + ii_read_lock_child(inode); + bindex = au_ibtop(inode); + if (!dir) { + dentry = d_find_any_alias(inode); + if (unlikely(!dentry)) + goto out_unlock; + AuDebugOn(au_test_anon(dentry)); + parent = dget_parent(dentry); + dput(dentry); + if (unlikely(!parent)) + goto out_unlock; + if (d_really_is_positive(parent)) + dir = d_inode(parent); + } + + ii_read_lock_parent(dir); + h_dir = au_h_iptr(dir, bindex); + ii_read_unlock(dir); + if (unlikely(!h_dir)) + goto out_parent; + h_parent = d_find_any_alias(h_dir); + if (unlikely(!h_parent)) + goto out_hparent; + + err = -EPERM; + br = au_sbr(sb, bindex); + h_sb = au_br_sb(br); + if (unlikely(!h_sb->s_export_op)) { + AuErr1("%s branch is not exportable\n", au_sbtype(h_sb)); + goto out_hparent; + } + + fh[Fh_br_id] = br->br_id; + fh[Fh_sigen] = au_sigen(sb); + encode_ino(fh + Fh_ino, inode->i_ino); + encode_ino(fh + Fh_dir_ino, dir->i_ino); + fh[Fh_igen] = inode->i_generation; + + *max_len -= Fh_tail; + fh[Fh_h_type] = exportfs_encode_fh(h_parent, (void *)(fh + Fh_tail), + max_len, + /*connectable or subtreecheck*/0); + err = fh[Fh_h_type]; + *max_len += Fh_tail; + /* todo: macros? */ + if (err != FILEID_INVALID) + err = 99; + else + AuWarn1("%s encode_fh failed\n", au_sbtype(h_sb)); + +out_hparent: + dput(h_parent); +out_parent: + dput(parent); +out_unlock: + ii_read_unlock(inode); + si_read_unlock(sb); +out: + if (unlikely(err < 0)) + err = FILEID_INVALID; + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_commit_metadata(struct inode *inode) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb; + struct inode *h_inode; + int (*f)(struct inode *inode); + + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + ii_write_lock_child(inode); + bindex = au_ibtop(inode); + AuDebugOn(bindex < 0); + h_inode = au_h_iptr(inode, bindex); + + f = h_inode->i_sb->s_export_op->commit_metadata; + if (f) + err = f(h_inode); + else { + struct writeback_control wbc = { + .sync_mode = WB_SYNC_ALL, + .nr_to_write = 0 /* metadata only */ + }; + + err = sync_inode(h_inode, &wbc); + } + + au_cpup_attr_timesizes(inode); + ii_write_unlock(inode); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct export_operations aufs_export_op = { + .fh_to_dentry = aufs_fh_to_dentry, + /* .fh_to_parent = aufs_fh_to_parent, */ + .encode_fh = aufs_encode_fh, + .commit_metadata = aufs_commit_metadata +}; + +void au_export_init(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + __u32 u; + + BUILD_BUG_ON_MSG(IS_BUILTIN(CONFIG_AUFS_FS) + && IS_MODULE(CONFIG_EXPORTFS), + AUFS_NAME ": unsupported configuration " + "CONFIG_EXPORTFS=m and CONFIG_AUFS_FS=y"); + + sb->s_export_op = &aufs_export_op; + sbinfo = au_sbi(sb); + sbinfo->si_xigen = NULL; + get_random_bytes(&u, sizeof(u)); + BUILD_BUG_ON(sizeof(u) != sizeof(int)); + atomic_set(&sbinfo->si_xigen_next, u); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/f_op.c +++ linux-riscv-5.8-5.8.0/fs/aufs/f_op.c @@ -0,0 +1,819 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * file and vm operations + */ + +#include +#include +#include +#include +#include "aufs.h" + +int au_do_open_nondir(struct file *file, int flags, struct file *h_file) +{ + int err; + aufs_bindex_t bindex; + struct dentry *dentry, *h_dentry; + struct au_finfo *finfo; + struct inode *h_inode; + + FiMustWriteLock(file); + + err = 0; + dentry = file->f_path.dentry; + AuDebugOn(IS_ERR_OR_NULL(dentry)); + finfo = au_fi(file); + memset(&finfo->fi_htop, 0, sizeof(finfo->fi_htop)); + atomic_set(&finfo->fi_mmapped, 0); + bindex = au_dbtop(dentry); + if (!h_file) { + h_dentry = au_h_dptr(dentry, bindex); + err = vfsub_test_mntns(file->f_path.mnt, h_dentry->d_sb); + if (unlikely(err)) + goto out; + h_file = au_h_open(dentry, bindex, flags, file, /*force_wr*/0); + if (IS_ERR(h_file)) { + err = PTR_ERR(h_file); + goto out; + } + } else { + h_dentry = h_file->f_path.dentry; + err = vfsub_test_mntns(file->f_path.mnt, h_dentry->d_sb); + if (unlikely(err)) + goto out; + /* br ref is already inc-ed */ + } + + if ((flags & __O_TMPFILE) + && !(flags & O_EXCL)) { + h_inode = file_inode(h_file); + spin_lock(&h_inode->i_lock); + h_inode->i_state |= I_LINKABLE; + spin_unlock(&h_inode->i_lock); + } + au_set_fbtop(file, bindex); + au_set_h_fptr(file, bindex, h_file); + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + +out: + return err; +} + +static int aufs_open_nondir(struct inode *inode __maybe_unused, + struct file *file) +{ + int err; + struct super_block *sb; + struct au_do_open_args args = { + .open = au_do_open_nondir + }; + + AuDbg("%pD, f_flags 0x%x, f_mode 0x%x\n", + file, vfsub_file_flags(file), file->f_mode); + + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + err = au_do_open(file, &args); + si_read_unlock(sb); + return err; +} + +int aufs_release_nondir(struct inode *inode __maybe_unused, struct file *file) +{ + struct au_finfo *finfo; + aufs_bindex_t bindex; + + finfo = au_fi(file); + au_hbl_del(&finfo->fi_hlist, + &au_sbi(file->f_path.dentry->d_sb)->si_files); + bindex = finfo->fi_btop; + if (bindex >= 0) + au_set_h_fptr(file, bindex, NULL); + + au_finfo_fin(file); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static int au_do_flush_nondir(struct file *file, fl_owner_t id) +{ + int err; + struct file *h_file; + + err = 0; + h_file = au_hf_top(file); + if (h_file) + err = vfsub_flush(h_file, id); + return err; +} + +static int aufs_flush_nondir(struct file *file, fl_owner_t id) +{ + return au_do_flush(file, id, au_do_flush_nondir); +} + +/* ---------------------------------------------------------------------- */ +/* + * read and write functions acquire [fdi]_rwsem once, but release before + * mmap_sem. This is because to stop a race condition between mmap(2). + * Releasing these aufs-rwsem should be safe, no branch-management (by keeping + * si_rwsem), no harmful copy-up should happen. Actually copy-up may happen in + * read functions after [fdi]_rwsem are released, but it should be harmless. + */ + +/* Callers should call au_read_post() or fput() in the end */ +struct file *au_read_pre(struct file *file, int keep_fi, unsigned int lsc) +{ + struct file *h_file; + int err; + + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/0, lsc); + if (!err) { + di_read_unlock(file->f_path.dentry, AuLock_IR); + h_file = au_hf_top(file); + get_file(h_file); + if (!keep_fi) + fi_read_unlock(file); + } else + h_file = ERR_PTR(err); + + return h_file; +} + +static void au_read_post(struct inode *inode, struct file *h_file) +{ + /* update without lock, I don't think it a problem */ + fsstack_copy_attr_atime(inode, file_inode(h_file)); + fput(h_file); +} + +struct au_write_pre { + /* input */ + unsigned int lsc; + + /* output */ + blkcnt_t blks; + aufs_bindex_t btop; +}; + +/* + * return with iinfo is write-locked + * callers should call au_write_post() or iinfo_write_unlock() + fput() in the + * end + */ +static struct file *au_write_pre(struct file *file, int do_ready, + struct au_write_pre *wpre) +{ + struct file *h_file; + struct dentry *dentry; + int err; + unsigned int lsc; + struct au_pin pin; + + lsc = 0; + if (wpre) + lsc = wpre->lsc; + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1, lsc); + h_file = ERR_PTR(err); + if (unlikely(err)) + goto out; + + dentry = file->f_path.dentry; + if (do_ready) { + err = au_ready_to_write(file, -1, &pin); + if (unlikely(err)) { + h_file = ERR_PTR(err); + di_write_unlock(dentry); + goto out_fi; + } + } + + di_downgrade_lock(dentry, /*flags*/0); + if (wpre) + wpre->btop = au_fbtop(file); + h_file = au_hf_top(file); + get_file(h_file); + if (wpre) + wpre->blks = file_inode(h_file)->i_blocks; + if (do_ready) + au_unpin(&pin); + di_read_unlock(dentry, /*flags*/0); + +out_fi: + fi_write_unlock(file); +out: + return h_file; +} + +static void au_write_post(struct inode *inode, struct file *h_file, + struct au_write_pre *wpre, ssize_t written) +{ + struct inode *h_inode; + + au_cpup_attr_timesizes(inode); + AuDebugOn(au_ibtop(inode) != wpre->btop); + h_inode = file_inode(h_file); + inode->i_mode = h_inode->i_mode; + ii_write_unlock(inode); + /* AuDbg("blks %llu, %llu\n", (u64)blks, (u64)h_inode->i_blocks); */ + if (written > 0) + au_fhsm_wrote(inode->i_sb, wpre->btop, + /*force*/h_inode->i_blocks > wpre->blks); + fput(h_file); +} + +static ssize_t aufs_read(struct file *file, char __user *buf, size_t count, + loff_t *ppos) +{ + ssize_t err; + struct inode *inode; + struct file *h_file; + struct super_block *sb; + + inode = file_inode(file); + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/0, /*lsc*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + /* filedata may be obsoleted by concurrent copyup, but no problem */ + err = vfsub_read_u(h_file, buf, count, ppos); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + au_read_post(inode, h_file); + +out: + si_read_unlock(sb); + return err; +} + +/* + * todo: very ugly + * it locks both of i_mutex and si_rwsem for read in safe. + * if the plink maintenance mode continues forever (that is the problem), + * may loop forever. + */ +static void au_mtx_and_read_lock(struct inode *inode) +{ + int err; + struct super_block *sb = inode->i_sb; + + while (1) { + inode_lock(inode); + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (!err) + break; + inode_unlock(inode); + si_read_lock(sb, AuLock_NOPLMW); + si_read_unlock(sb); + } +} + +static ssize_t aufs_write(struct file *file, const char __user *ubuf, + size_t count, loff_t *ppos) +{ + ssize_t err; + struct au_write_pre wpre; + struct inode *inode; + struct file *h_file; + char __user *buf = (char __user *)ubuf; + + inode = file_inode(file); + au_mtx_and_read_lock(inode); + + wpre.lsc = 0; + h_file = au_write_pre(file, /*do_ready*/1, &wpre); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = vfsub_write_u(h_file, buf, count, ppos); + au_write_post(inode, h_file, &wpre, err); + +out: + si_read_unlock(inode->i_sb); + inode_unlock(inode); + return err; +} + +static ssize_t au_do_iter(struct file *h_file, int rw, struct kiocb *kio, + struct iov_iter *iov_iter) +{ + ssize_t err; + struct file *file; + ssize_t (*iter)(struct kiocb *, struct iov_iter *); + + err = security_file_permission(h_file, rw); + if (unlikely(err)) + goto out; + + err = -ENOSYS; /* the branch doesn't have its ->(read|write)_iter() */ + iter = NULL; + if (rw == MAY_READ) + iter = h_file->f_op->read_iter; + else if (rw == MAY_WRITE) + iter = h_file->f_op->write_iter; + + file = kio->ki_filp; + kio->ki_filp = h_file; + if (iter) { + lockdep_off(); + err = iter(kio, iov_iter); + lockdep_on(); + } else + /* currently there is no such fs */ + WARN_ON_ONCE(1); + kio->ki_filp = file; + +out: + return err; +} + +static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter) +{ + ssize_t err; + struct file *file, *h_file; + struct inode *inode; + struct super_block *sb; + + file = kio->ki_filp; + inode = file_inode(file); + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/1, /*lsc*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + if (0 && au_test_loopback_kthread()) { + au_warn_loopback(h_file->f_path.dentry->d_sb); + if (file->f_mapping != h_file->f_mapping) { + file->f_mapping = h_file->f_mapping; + smp_mb(); /* unnecessary? */ + } + } + fi_read_unlock(file); + + err = au_do_iter(h_file, MAY_READ, kio, iov_iter); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + au_read_post(inode, h_file); + +out: + si_read_unlock(sb); + return err; +} + +static ssize_t aufs_write_iter(struct kiocb *kio, struct iov_iter *iov_iter) +{ + ssize_t err; + struct au_write_pre wpre; + struct inode *inode; + struct file *file, *h_file; + + file = kio->ki_filp; + inode = file_inode(file); + au_mtx_and_read_lock(inode); + + wpre.lsc = 0; + h_file = au_write_pre(file, /*do_ready*/1, &wpre); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = au_do_iter(h_file, MAY_WRITE, kio, iov_iter); + au_write_post(inode, h_file, &wpre, err); + +out: + si_read_unlock(inode->i_sb); + inode_unlock(inode); + return err; +} + +static ssize_t aufs_splice_read(struct file *file, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) +{ + ssize_t err; + struct file *h_file; + struct inode *inode; + struct super_block *sb; + + inode = file_inode(file); + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/0, /*lsc*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = vfsub_splice_to(h_file, ppos, pipe, len, flags); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + au_read_post(inode, h_file); + +out: + si_read_unlock(sb); + return err; +} + +static ssize_t +aufs_splice_write(struct pipe_inode_info *pipe, struct file *file, loff_t *ppos, + size_t len, unsigned int flags) +{ + ssize_t err; + struct au_write_pre wpre; + struct inode *inode; + struct file *h_file; + + inode = file_inode(file); + au_mtx_and_read_lock(inode); + + wpre.lsc = 0; + h_file = au_write_pre(file, /*do_ready*/1, &wpre); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = vfsub_splice_from(pipe, h_file, ppos, len, flags); + au_write_post(inode, h_file, &wpre, err); + +out: + si_read_unlock(inode->i_sb); + inode_unlock(inode); + return err; +} + +static long aufs_fallocate(struct file *file, int mode, loff_t offset, + loff_t len) +{ + long err; + struct au_write_pre wpre; + struct inode *inode; + struct file *h_file; + + inode = file_inode(file); + au_mtx_and_read_lock(inode); + + wpre.lsc = 0; + h_file = au_write_pre(file, /*do_ready*/1, &wpre); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + lockdep_off(); + err = vfs_fallocate(h_file, mode, offset, len); + lockdep_on(); + au_write_post(inode, h_file, &wpre, /*written*/1); + +out: + si_read_unlock(inode->i_sb); + inode_unlock(inode); + return err; +} + +static ssize_t aufs_copy_file_range(struct file *src, loff_t src_pos, + struct file *dst, loff_t dst_pos, + size_t len, unsigned int flags) +{ + ssize_t err; + struct au_write_pre wpre; + enum { SRC, DST }; + struct { + struct inode *inode; + struct file *h_file; + struct super_block *h_sb; + } a[2]; +#define a_src a[SRC] +#define a_dst a[DST] + + err = -EINVAL; + a_src.inode = file_inode(src); + if (unlikely(!S_ISREG(a_src.inode->i_mode))) + goto out; + a_dst.inode = file_inode(dst); + if (unlikely(!S_ISREG(a_dst.inode->i_mode))) + goto out; + + au_mtx_and_read_lock(a_dst.inode); + /* + * in order to match the order in di_write_lock2_{child,parent}(), + * use f_path.dentry for this comparison. + */ + if (src->f_path.dentry < dst->f_path.dentry) { + a_src.h_file = au_read_pre(src, /*keep_fi*/1, AuLsc_FI_1); + err = PTR_ERR(a_src.h_file); + if (IS_ERR(a_src.h_file)) + goto out_si; + + wpre.lsc = AuLsc_FI_2; + a_dst.h_file = au_write_pre(dst, /*do_ready*/1, &wpre); + err = PTR_ERR(a_dst.h_file); + if (IS_ERR(a_dst.h_file)) { + au_read_post(a_src.inode, a_src.h_file); + goto out_si; + } + } else { + wpre.lsc = AuLsc_FI_1; + a_dst.h_file = au_write_pre(dst, /*do_ready*/1, &wpre); + err = PTR_ERR(a_dst.h_file); + if (IS_ERR(a_dst.h_file)) + goto out_si; + + a_src.h_file = au_read_pre(src, /*keep_fi*/1, AuLsc_FI_2); + err = PTR_ERR(a_src.h_file); + if (IS_ERR(a_src.h_file)) { + au_write_post(a_dst.inode, a_dst.h_file, &wpre, + /*written*/0); + goto out_si; + } + } + + err = -EXDEV; + a_src.h_sb = file_inode(a_src.h_file)->i_sb; + a_dst.h_sb = file_inode(a_dst.h_file)->i_sb; + if (unlikely(a_src.h_sb != a_dst.h_sb)) { + AuDbgFile(src); + AuDbgFile(dst); + goto out_file; + } + + err = vfsub_copy_file_range(a_src.h_file, src_pos, a_dst.h_file, + dst_pos, len, flags); + +out_file: + au_write_post(a_dst.inode, a_dst.h_file, &wpre, err); + fi_read_unlock(src); + au_read_post(a_src.inode, a_src.h_file); +out_si: + si_read_unlock(a_dst.inode->i_sb); + inode_unlock(a_dst.inode); +out: + return err; +#undef a_src +#undef a_dst +} + +/* ---------------------------------------------------------------------- */ + +/* + * The locking order around current->mmap_sem. + * - in most and regular cases + * file I/O syscall -- aufs_read() or something + * -- si_rwsem for read -- mmap_sem + * (Note that [fdi]i_rwsem are released before mmap_sem). + * - in mmap case + * mmap(2) -- mmap_sem -- aufs_mmap() -- si_rwsem for read -- [fdi]i_rwsem + * This AB-BA order is definitely bad, but is not a problem since "si_rwsem for + * read" allows multiple processes to acquire it and [fdi]i_rwsem are not held + * in file I/O. Aufs needs to stop lockdep in aufs_mmap() though. + * It means that when aufs acquires si_rwsem for write, the process should never + * acquire mmap_sem. + * + * Actually aufs_iterate() holds [fdi]i_rwsem before mmap_sem, but this is not a + * problem either since any directory is not able to be mmap-ed. + * The similar scenario is applied to aufs_readlink() too. + */ + +#if 0 /* stop calling security_file_mmap() */ +/* cf. linux/include/linux/mman.h: calc_vm_prot_bits() */ +#define AuConv_VM_PROT(f, b) _calc_vm_trans(f, VM_##b, PROT_##b) + +static unsigned long au_arch_prot_conv(unsigned long flags) +{ + /* currently ppc64 only */ +#ifdef CONFIG_PPC64 + /* cf. linux/arch/powerpc/include/asm/mman.h */ + AuDebugOn(arch_calc_vm_prot_bits(-1) != VM_SAO); + return AuConv_VM_PROT(flags, SAO); +#else + AuDebugOn(arch_calc_vm_prot_bits(-1)); + return 0; +#endif +} + +static unsigned long au_prot_conv(unsigned long flags) +{ + return AuConv_VM_PROT(flags, READ) + | AuConv_VM_PROT(flags, WRITE) + | AuConv_VM_PROT(flags, EXEC) + | au_arch_prot_conv(flags); +} + +/* cf. linux/include/linux/mman.h: calc_vm_flag_bits() */ +#define AuConv_VM_MAP(f, b) _calc_vm_trans(f, VM_##b, MAP_##b) + +static unsigned long au_flag_conv(unsigned long flags) +{ + return AuConv_VM_MAP(flags, GROWSDOWN) + | AuConv_VM_MAP(flags, DENYWRITE) + | AuConv_VM_MAP(flags, LOCKED); +} +#endif + +static int aufs_mmap(struct file *file, struct vm_area_struct *vma) +{ + int err; + const unsigned char wlock + = (file->f_mode & FMODE_WRITE) && (vma->vm_flags & VM_SHARED); + struct super_block *sb; + struct file *h_file; + struct inode *inode; + + AuDbgVmRegion(file, vma); + + inode = file_inode(file); + sb = inode->i_sb; + lockdep_off(); + si_read_lock(sb, AuLock_NOPLMW); + + h_file = au_write_pre(file, wlock, /*wpre*/NULL); + lockdep_on(); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + err = 0; + au_set_mmapped(file); + au_vm_file_reset(vma, h_file); + /* + * we cannot call security_mmap_file() here since it may acquire + * mmap_sem or i_mutex. + * + * err = security_mmap_file(h_file, au_prot_conv(vma->vm_flags), + * au_flag_conv(vma->vm_flags)); + */ + if (!err) + err = call_mmap(h_file, vma); + if (!err) { + au_vm_prfile_set(vma, file); + fsstack_copy_attr_atime(inode, file_inode(h_file)); + goto out_fput; /* success */ + } + au_unset_mmapped(file); + au_vm_file_reset(vma, file); + +out_fput: + lockdep_off(); + ii_write_unlock(inode); + lockdep_on(); + fput(h_file); +out: + lockdep_off(); + si_read_unlock(sb); + lockdep_on(); + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_fsync_nondir(struct file *file, loff_t start, loff_t end, + int datasync) +{ + int err; + struct au_write_pre wpre; + struct inode *inode; + struct file *h_file; + + err = 0; /* -EBADF; */ /* posix? */ + if (unlikely(!(file->f_mode & FMODE_WRITE))) + goto out; + + inode = file_inode(file); + au_mtx_and_read_lock(inode); + + wpre.lsc = 0; + h_file = au_write_pre(file, /*do_ready*/1, &wpre); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out_unlock; + + err = vfsub_fsync(h_file, &h_file->f_path, datasync); + au_write_post(inode, h_file, &wpre, /*written*/0); + +out_unlock: + si_read_unlock(inode->i_sb); + inode_unlock(inode); +out: + return err; +} + +static int aufs_fasync(int fd, struct file *file, int flag) +{ + int err; + struct file *h_file; + struct super_block *sb; + + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/0, /*lsc*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + if (h_file->f_op->fasync) + err = h_file->f_op->fasync(fd, h_file, flag); + fput(h_file); /* instead of au_read_post() */ + +out: + si_read_unlock(sb); + return err; +} + +static int aufs_setfl(struct file *file, unsigned long arg) +{ + int err; + struct file *h_file; + struct super_block *sb; + + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/0, /*lsc*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out; + + /* stop calling h_file->fasync */ + arg |= vfsub_file_flags(file) & FASYNC; + err = setfl(/*unused fd*/-1, h_file, arg); + fput(h_file); /* instead of au_read_post() */ + +out: + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* no one supports this operation, currently */ +#if 0 /* reserved for future use */ +static ssize_t aufs_sendpage(struct file *file, struct page *page, int offset, + size_t len, loff_t *pos, int more) +{ +} +#endif + +/* ---------------------------------------------------------------------- */ + +const struct file_operations aufs_file_fop = { + .owner = THIS_MODULE, + + .llseek = default_llseek, + + .read = aufs_read, + .write = aufs_write, + .read_iter = aufs_read_iter, + .write_iter = aufs_write_iter, + +#ifdef CONFIG_AUFS_POLL + .poll = aufs_poll, +#endif + .unlocked_ioctl = aufs_ioctl_nondir, +#ifdef CONFIG_COMPAT + .compat_ioctl = aufs_compat_ioctl_nondir, +#endif + .mmap = aufs_mmap, + .open = aufs_open_nondir, + .flush = aufs_flush_nondir, + .release = aufs_release_nondir, + .fsync = aufs_fsync_nondir, + .fasync = aufs_fasync, + /* .sendpage = aufs_sendpage, */ + .setfl = aufs_setfl, + .splice_write = aufs_splice_write, + .splice_read = aufs_splice_read, +#if 0 /* reserved for future use */ + .aio_splice_write = aufs_aio_splice_write, + .aio_splice_read = aufs_aio_splice_read, +#endif + .fallocate = aufs_fallocate, + .copy_file_range = aufs_copy_file_range +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/fhsm.c +++ linux-riscv-5.8-5.8.0/fs/aufs/fhsm.c @@ -0,0 +1,427 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2011-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * 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 + */ + +/* + * File-based Hierarchy Storage Management + */ + +#include +#include +#include +#include +#include "aufs.h" + +static aufs_bindex_t au_fhsm_bottom(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + AuDebugOn(!fhsm); + return fhsm->fhsm_bottom; +} + +void au_fhsm_set_bottom(struct super_block *sb, aufs_bindex_t bindex) +{ + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + AuDebugOn(!fhsm); + fhsm->fhsm_bottom = bindex; +} + +/* ---------------------------------------------------------------------- */ + +static int au_fhsm_test_jiffy(struct au_sbinfo *sbinfo, struct au_branch *br) +{ + struct au_br_fhsm *bf; + + bf = br->br_fhsm; + MtxMustLock(&bf->bf_lock); + + return !bf->bf_readable + || time_after(jiffies, + bf->bf_jiffy + sbinfo->si_fhsm.fhsm_expire); +} + +/* ---------------------------------------------------------------------- */ + +static void au_fhsm_notify(struct super_block *sb, int val) +{ + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + if (au_fhsm_pid(fhsm) + && atomic_read(&fhsm->fhsm_readable) != -1) { + atomic_set(&fhsm->fhsm_readable, val); + if (val) + wake_up(&fhsm->fhsm_wqh); + } +} + +static int au_fhsm_stfs(struct super_block *sb, aufs_bindex_t bindex, + struct aufs_stfs *rstfs, int do_lock, int do_notify) +{ + int err; + struct au_branch *br; + struct au_br_fhsm *bf; + + br = au_sbr(sb, bindex); + AuDebugOn(au_br_rdonly(br)); + bf = br->br_fhsm; + AuDebugOn(!bf); + + if (do_lock) + mutex_lock(&bf->bf_lock); + else + MtxMustLock(&bf->bf_lock); + + /* sb->s_root for NFS is unreliable */ + err = au_br_stfs(br, &bf->bf_stfs); + if (unlikely(err)) { + AuErr1("FHSM failed (%d), b%d, ignored.\n", bindex, err); + goto out; + } + + bf->bf_jiffy = jiffies; + bf->bf_readable = 1; + if (do_notify) + au_fhsm_notify(sb, /*val*/1); + if (rstfs) + *rstfs = bf->bf_stfs; + +out: + if (do_lock) + mutex_unlock(&bf->bf_lock); + au_fhsm_notify(sb, /*val*/1); + + return err; +} + +void au_fhsm_wrote(struct super_block *sb, aufs_bindex_t bindex, int force) +{ + int err; + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + struct au_branch *br; + struct au_br_fhsm *bf; + + AuDbg("b%d, force %d\n", bindex, force); + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + if (!au_ftest_si(sbinfo, FHSM) + || fhsm->fhsm_bottom == bindex) + return; + + br = au_sbr(sb, bindex); + bf = br->br_fhsm; + AuDebugOn(!bf); + mutex_lock(&bf->bf_lock); + if (force + || au_fhsm_pid(fhsm) + || au_fhsm_test_jiffy(sbinfo, br)) + err = au_fhsm_stfs(sb, bindex, /*rstfs*/NULL, /*do_lock*/0, + /*do_notify*/1); + mutex_unlock(&bf->bf_lock); +} + +void au_fhsm_wrote_all(struct super_block *sb, int force) +{ + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + /* exclude the bottom */ + bbot = au_fhsm_bottom(sb); + for (bindex = 0; bindex < bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_fhsm(br->br_perm)) + au_fhsm_wrote(sb, bindex, force); + } +} + +/* ---------------------------------------------------------------------- */ + +static __poll_t au_fhsm_poll(struct file *file, struct poll_table_struct *wait) +{ + __poll_t mask; + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + mask = 0; + sbinfo = file->private_data; + fhsm = &sbinfo->si_fhsm; + poll_wait(file, &fhsm->fhsm_wqh, wait); + if (atomic_read(&fhsm->fhsm_readable)) + mask = EPOLLIN /* | EPOLLRDNORM */; + + if (!mask) + AuDbg("mask 0x%x\n", mask); + return mask; +} + +static int au_fhsm_do_read_one(struct aufs_stbr __user *stbr, + struct aufs_stfs *stfs, __s16 brid) +{ + int err; + + err = copy_to_user(&stbr->stfs, stfs, sizeof(*stfs)); + if (!err) + err = __put_user(brid, &stbr->brid); + if (unlikely(err)) + err = -EFAULT; + + return err; +} + +static ssize_t au_fhsm_do_read(struct super_block *sb, + struct aufs_stbr __user *stbr, size_t count) +{ + ssize_t err; + int nstbr; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + struct au_br_fhsm *bf; + + /* except the bottom branch */ + err = 0; + nstbr = 0; + bbot = au_fhsm_bottom(sb); + for (bindex = 0; !err && bindex < bbot; bindex++) { + br = au_sbr(sb, bindex); + if (!au_br_fhsm(br->br_perm)) + continue; + + bf = br->br_fhsm; + mutex_lock(&bf->bf_lock); + if (bf->bf_readable) { + err = -EFAULT; + if (count >= sizeof(*stbr)) + err = au_fhsm_do_read_one(stbr++, &bf->bf_stfs, + br->br_id); + if (!err) { + bf->bf_readable = 0; + count -= sizeof(*stbr); + nstbr++; + } + } + mutex_unlock(&bf->bf_lock); + } + if (!err) + err = sizeof(*stbr) * nstbr; + + return err; +} + +static ssize_t au_fhsm_read(struct file *file, char __user *buf, size_t count, + loff_t *pos) +{ + ssize_t err; + int readable; + aufs_bindex_t nfhsm, bindex, bbot; + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + struct au_branch *br; + struct super_block *sb; + + err = 0; + sbinfo = file->private_data; + fhsm = &sbinfo->si_fhsm; +need_data: + spin_lock_irq(&fhsm->fhsm_wqh.lock); + if (!atomic_read(&fhsm->fhsm_readable)) { + if (vfsub_file_flags(file) & O_NONBLOCK) + err = -EAGAIN; + else + err = wait_event_interruptible_locked_irq + (fhsm->fhsm_wqh, + atomic_read(&fhsm->fhsm_readable)); + } + spin_unlock_irq(&fhsm->fhsm_wqh.lock); + if (unlikely(err)) + goto out; + + /* sb may already be dead */ + au_rw_read_lock(&sbinfo->si_rwsem); + readable = atomic_read(&fhsm->fhsm_readable); + if (readable > 0) { + sb = sbinfo->si_sb; + AuDebugOn(!sb); + /* exclude the bottom branch */ + nfhsm = 0; + bbot = au_fhsm_bottom(sb); + for (bindex = 0; bindex < bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_fhsm(br->br_perm)) + nfhsm++; + } + err = -EMSGSIZE; + if (nfhsm * sizeof(struct aufs_stbr) <= count) { + atomic_set(&fhsm->fhsm_readable, 0); + err = au_fhsm_do_read(sbinfo->si_sb, (void __user *)buf, + count); + } + } + au_rw_read_unlock(&sbinfo->si_rwsem); + if (!readable) + goto need_data; + +out: + return err; +} + +static int au_fhsm_release(struct inode *inode, struct file *file) +{ + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + /* sb may already be dead */ + sbinfo = file->private_data; + fhsm = &sbinfo->si_fhsm; + spin_lock(&fhsm->fhsm_spin); + fhsm->fhsm_pid = 0; + spin_unlock(&fhsm->fhsm_spin); + kobject_put(&sbinfo->si_kobj); + + return 0; +} + +static const struct file_operations au_fhsm_fops = { + .owner = THIS_MODULE, + .llseek = noop_llseek, + .read = au_fhsm_read, + .poll = au_fhsm_poll, + .release = au_fhsm_release +}; + +int au_fhsm_fd(struct super_block *sb, int oflags) +{ + int err, fd; + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + + err = -EPERM; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = -EINVAL; + if (unlikely(oflags & ~(O_CLOEXEC | O_NONBLOCK))) + goto out; + + err = 0; + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + spin_lock(&fhsm->fhsm_spin); + if (!fhsm->fhsm_pid) + fhsm->fhsm_pid = current->pid; + else + err = -EBUSY; + spin_unlock(&fhsm->fhsm_spin); + if (unlikely(err)) + goto out; + + oflags |= O_RDONLY; + /* oflags |= FMODE_NONOTIFY; */ + fd = anon_inode_getfd("[aufs_fhsm]", &au_fhsm_fops, sbinfo, oflags); + err = fd; + if (unlikely(fd < 0)) + goto out_pid; + + /* succeed regardless 'fhsm' status */ + kobject_get(&sbinfo->si_kobj); + si_noflush_read_lock(sb); + if (au_ftest_si(sbinfo, FHSM)) + au_fhsm_wrote_all(sb, /*force*/0); + si_read_unlock(sb); + goto out; /* success */ + +out_pid: + spin_lock(&fhsm->fhsm_spin); + fhsm->fhsm_pid = 0; + spin_unlock(&fhsm->fhsm_spin); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_fhsm_br_alloc(struct au_branch *br) +{ + int err; + + err = 0; + br->br_fhsm = kmalloc(sizeof(*br->br_fhsm), GFP_NOFS); + if (br->br_fhsm) + au_br_fhsm_init(br->br_fhsm); + else + err = -ENOMEM; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_fhsm_fin(struct super_block *sb) +{ + au_fhsm_notify(sb, /*val*/-1); +} + +void au_fhsm_init(struct au_sbinfo *sbinfo) +{ + struct au_fhsm *fhsm; + + fhsm = &sbinfo->si_fhsm; + spin_lock_init(&fhsm->fhsm_spin); + init_waitqueue_head(&fhsm->fhsm_wqh); + atomic_set(&fhsm->fhsm_readable, 0); + fhsm->fhsm_expire + = msecs_to_jiffies(AUFS_FHSM_CACHE_DEF_SEC * MSEC_PER_SEC); + fhsm->fhsm_bottom = -1; +} + +void au_fhsm_set(struct au_sbinfo *sbinfo, unsigned int sec) +{ + sbinfo->si_fhsm.fhsm_expire + = msecs_to_jiffies(sec * MSEC_PER_SEC); +} + +void au_fhsm_show(struct seq_file *seq, struct au_sbinfo *sbinfo) +{ + unsigned int u; + + if (!au_ftest_si(sbinfo, FHSM)) + return; + + u = jiffies_to_msecs(sbinfo->si_fhsm.fhsm_expire) / MSEC_PER_SEC; + if (u != AUFS_FHSM_CACHE_DEF_SEC) + seq_printf(seq, ",fhsm_sec=%u", u); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/file.c +++ linux-riscv-5.8-5.8.0/fs/aufs/file.c @@ -0,0 +1,863 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * handling file/dir, and address_space operation + */ + +#ifdef CONFIG_AUFS_DEBUG +#include +#endif +#include +#include "aufs.h" + +/* drop flags for writing */ +unsigned int au_file_roflags(unsigned int flags) +{ + flags &= ~(O_WRONLY | O_RDWR | O_APPEND | O_CREAT | O_TRUNC); + flags |= O_RDONLY | O_NOATIME; + return flags; +} + +/* common functions to regular file and dir */ +struct file *au_h_open(struct dentry *dentry, aufs_bindex_t bindex, int flags, + struct file *file, int force_wr) +{ + struct file *h_file; + struct dentry *h_dentry; + struct inode *h_inode; + struct super_block *sb; + struct au_branch *br; + struct path h_path; + int err; + + /* a race condition can happen between open and unlink/rmdir */ + h_file = ERR_PTR(-ENOENT); + h_dentry = au_h_dptr(dentry, bindex); + if (au_test_nfsd() && (!h_dentry || d_is_negative(h_dentry))) + goto out; + h_inode = d_inode(h_dentry); + spin_lock(&h_dentry->d_lock); + err = (!d_unhashed(dentry) && d_unlinked(h_dentry)) + /* || !d_inode(dentry)->i_nlink */ + ; + spin_unlock(&h_dentry->d_lock); + if (unlikely(err)) + goto out; + + sb = dentry->d_sb; + br = au_sbr(sb, bindex); + err = au_br_test_oflag(flags, br); + h_file = ERR_PTR(err); + if (unlikely(err)) + goto out; + + /* drop flags for writing */ + if (au_test_ro(sb, bindex, d_inode(dentry))) { + if (force_wr && !(flags & O_WRONLY)) + force_wr = 0; + flags = au_file_roflags(flags); + if (force_wr) { + h_file = ERR_PTR(-EROFS); + flags = au_file_roflags(flags); + if (unlikely(vfsub_native_ro(h_inode) + || IS_APPEND(h_inode))) + goto out; + flags &= ~O_ACCMODE; + flags |= O_WRONLY; + } + } + flags &= ~O_CREAT; + au_lcnt_inc(&br->br_nfiles); + h_path.dentry = h_dentry; + h_path.mnt = au_br_mnt(br); + h_file = vfsub_dentry_open(&h_path, flags); + if (IS_ERR(h_file)) + goto out_br; + + if (flags & __FMODE_EXEC) { + err = deny_write_access(h_file); + if (unlikely(err)) { + fput(h_file); + h_file = ERR_PTR(err); + goto out_br; + } + } + fsnotify_open(h_file); + goto out; /* success */ + +out_br: + au_lcnt_dec(&br->br_nfiles); +out: + return h_file; +} + +static int au_cmoo(struct dentry *dentry) +{ + int err, cmoo, matched; + unsigned int udba; + struct path h_path; + struct au_pin pin; + struct au_cp_generic cpg = { + .dentry = dentry, + .bdst = -1, + .bsrc = -1, + .len = -1, + .pin = &pin, + .flags = AuCpup_DTIME | AuCpup_HOPEN + }; + struct inode *delegated; + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct au_fhsm *fhsm; + pid_t pid; + struct au_branch *br; + struct dentry *parent; + struct au_hinode *hdir; + + DiMustWriteLock(dentry); + IiMustWriteLock(d_inode(dentry)); + + err = 0; + if (IS_ROOT(dentry)) + goto out; + cpg.bsrc = au_dbtop(dentry); + if (!cpg.bsrc) + goto out; + + sb = dentry->d_sb; + sbinfo = au_sbi(sb); + fhsm = &sbinfo->si_fhsm; + pid = au_fhsm_pid(fhsm); + rcu_read_lock(); + matched = (pid + && (current->pid == pid + || rcu_dereference(current->real_parent)->pid == pid)); + rcu_read_unlock(); + if (matched) + goto out; + + br = au_sbr(sb, cpg.bsrc); + cmoo = au_br_cmoo(br->br_perm); + if (!cmoo) + goto out; + if (!d_is_reg(dentry)) + cmoo &= AuBrAttr_COO_ALL; + if (!cmoo) + goto out; + + parent = dget_parent(dentry); + di_write_lock_parent(parent); + err = au_wbr_do_copyup_bu(dentry, cpg.bsrc - 1); + cpg.bdst = err; + if (unlikely(err < 0)) { + err = 0; /* there is no upper writable branch */ + goto out_dgrade; + } + AuDbg("bsrc %d, bdst %d\n", cpg.bsrc, cpg.bdst); + + /* do not respect the coo attrib for the target branch */ + err = au_cpup_dirs(dentry, cpg.bdst); + if (unlikely(err)) + goto out_dgrade; + + di_downgrade_lock(parent, AuLock_IR); + udba = au_opt_udba(sb); + err = au_pin(&pin, dentry, cpg.bdst, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_parent; + + err = au_sio_cpup_simple(&cpg); + au_unpin(&pin); + if (unlikely(err)) + goto out_parent; + if (!(cmoo & AuBrWAttr_MOO)) + goto out_parent; /* success */ + + err = au_pin(&pin, dentry, cpg.bsrc, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_parent; + + h_path.mnt = au_br_mnt(br); + h_path.dentry = au_h_dptr(dentry, cpg.bsrc); + hdir = au_hi(d_inode(parent), cpg.bsrc); + delegated = NULL; + err = vfsub_unlink(hdir->hi_inode, &h_path, &delegated, /*force*/1); + au_unpin(&pin); + /* todo: keep h_dentry or not? */ + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + if (unlikely(err)) { + pr_err("unlink %pd after coo failed (%d), ignored\n", + dentry, err); + err = 0; + } + goto out_parent; /* success */ + +out_dgrade: + di_downgrade_lock(parent, AuLock_IR); +out_parent: + di_read_unlock(parent, AuLock_IR); + dput(parent); +out: + AuTraceErr(err); + return err; +} + +int au_do_open(struct file *file, struct au_do_open_args *args) +{ + int err, aopen = args->aopen; + struct dentry *dentry; + struct au_finfo *finfo; + + if (!aopen) + err = au_finfo_init(file, args->fidir); + else { + lockdep_off(); + err = au_finfo_init(file, args->fidir); + lockdep_on(); + } + if (unlikely(err)) + goto out; + + dentry = file->f_path.dentry; + AuDebugOn(IS_ERR_OR_NULL(dentry)); + di_write_lock_child(dentry); + err = au_cmoo(dentry); + di_downgrade_lock(dentry, AuLock_IR); + if (!err) { + if (!aopen) + err = args->open(file, vfsub_file_flags(file), NULL); + else { + lockdep_off(); + err = args->open(file, vfsub_file_flags(file), + args->h_file); + lockdep_on(); + } + } + di_read_unlock(dentry, AuLock_IR); + + finfo = au_fi(file); + if (!err) { + finfo->fi_file = file; + au_hbl_add(&finfo->fi_hlist, + &au_sbi(file->f_path.dentry->d_sb)->si_files); + } + if (!aopen) + fi_write_unlock(file); + else { + lockdep_off(); + fi_write_unlock(file); + lockdep_on(); + } + if (unlikely(err)) { + finfo->fi_hdir = NULL; + au_finfo_fin(file); + } + +out: + AuTraceErr(err); + return err; +} + +int au_reopen_nondir(struct file *file) +{ + int err; + aufs_bindex_t btop; + struct dentry *dentry; + struct au_branch *br; + struct file *h_file, *h_file_tmp; + + dentry = file->f_path.dentry; + btop = au_dbtop(dentry); + br = au_sbr(dentry->d_sb, btop); + h_file_tmp = NULL; + if (au_fbtop(file) == btop) { + h_file = au_hf_top(file); + if (file->f_mode == h_file->f_mode) + return 0; /* success */ + h_file_tmp = h_file; + get_file(h_file_tmp); + au_lcnt_inc(&br->br_nfiles); + au_set_h_fptr(file, btop, NULL); + } + AuDebugOn(au_fi(file)->fi_hdir); + /* + * it can happen + * file exists on both of rw and ro + * open --> dbtop and fbtop are both 0 + * prepend a branch as rw, "rw" become ro + * remove rw/file + * delete the top branch, "rw" becomes rw again + * --> dbtop is 1, fbtop is still 0 + * write --> fbtop is 0 but dbtop is 1 + */ + /* AuDebugOn(au_fbtop(file) < btop); */ + + h_file = au_h_open(dentry, btop, vfsub_file_flags(file) & ~O_TRUNC, + file, /*force_wr*/0); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) { + if (h_file_tmp) { + /* revert */ + au_set_h_fptr(file, btop, h_file_tmp); + h_file_tmp = NULL; + } + goto out; /* todo: close all? */ + } + + err = 0; + au_set_fbtop(file, btop); + au_set_h_fptr(file, btop, h_file); + au_update_figen(file); + /* todo: necessary? */ + /* file->f_ra = h_file->f_ra; */ + +out: + if (h_file_tmp) { + fput(h_file_tmp); + au_lcnt_dec(&br->br_nfiles); + } + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_reopen_wh(struct file *file, aufs_bindex_t btgt, + struct dentry *hi_wh) +{ + int err; + aufs_bindex_t btop; + struct au_dinfo *dinfo; + struct dentry *h_dentry; + struct au_hdentry *hdp; + + dinfo = au_di(file->f_path.dentry); + AuRwMustWriteLock(&dinfo->di_rwsem); + + btop = dinfo->di_btop; + dinfo->di_btop = btgt; + hdp = au_hdentry(dinfo, btgt); + h_dentry = hdp->hd_dentry; + hdp->hd_dentry = hi_wh; + err = au_reopen_nondir(file); + hdp->hd_dentry = h_dentry; + dinfo->di_btop = btop; + + return err; +} + +static int au_ready_to_write_wh(struct file *file, loff_t len, + aufs_bindex_t bcpup, struct au_pin *pin) +{ + int err; + struct inode *inode, *h_inode; + struct dentry *h_dentry, *hi_wh; + struct au_cp_generic cpg = { + .dentry = file->f_path.dentry, + .bdst = bcpup, + .bsrc = -1, + .len = len, + .pin = pin + }; + + au_update_dbtop(cpg.dentry); + inode = d_inode(cpg.dentry); + h_inode = NULL; + if (au_dbtop(cpg.dentry) <= bcpup + && au_dbbot(cpg.dentry) >= bcpup) { + h_dentry = au_h_dptr(cpg.dentry, bcpup); + if (h_dentry && d_is_positive(h_dentry)) + h_inode = d_inode(h_dentry); + } + hi_wh = au_hi_wh(inode, bcpup); + if (!hi_wh && !h_inode) + err = au_sio_cpup_wh(&cpg, file); + else + /* already copied-up after unlink */ + err = au_reopen_wh(file, bcpup, hi_wh); + + if (!err + && (inode->i_nlink > 1 + || (inode->i_state & I_LINKABLE)) + && au_opt_test(au_mntflags(cpg.dentry->d_sb), PLINK)) + au_plink_append(inode, bcpup, au_h_dptr(cpg.dentry, bcpup)); + + return err; +} + +/* + * prepare the @file for writing. + */ +int au_ready_to_write(struct file *file, loff_t len, struct au_pin *pin) +{ + int err; + aufs_bindex_t dbtop; + struct dentry *parent; + struct inode *inode; + struct super_block *sb; + struct file *h_file; + struct au_cp_generic cpg = { + .dentry = file->f_path.dentry, + .bdst = -1, + .bsrc = -1, + .len = len, + .pin = pin, + .flags = AuCpup_DTIME + }; + + sb = cpg.dentry->d_sb; + inode = d_inode(cpg.dentry); + cpg.bsrc = au_fbtop(file); + err = au_test_ro(sb, cpg.bsrc, inode); + if (!err && (au_hf_top(file)->f_mode & FMODE_WRITE)) { + err = au_pin(pin, cpg.dentry, cpg.bsrc, AuOpt_UDBA_NONE, + /*flags*/0); + goto out; + } + + /* need to cpup or reopen */ + parent = dget_parent(cpg.dentry); + di_write_lock_parent(parent); + err = AuWbrCopyup(au_sbi(sb), cpg.dentry); + cpg.bdst = err; + if (unlikely(err < 0)) + goto out_dgrade; + err = 0; + + if (!d_unhashed(cpg.dentry) && !au_h_dptr(parent, cpg.bdst)) { + err = au_cpup_dirs(cpg.dentry, cpg.bdst); + if (unlikely(err)) + goto out_dgrade; + } + + err = au_pin(pin, cpg.dentry, cpg.bdst, AuOpt_UDBA_NONE, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_dgrade; + + dbtop = au_dbtop(cpg.dentry); + if (dbtop <= cpg.bdst) + cpg.bsrc = cpg.bdst; + + if (dbtop <= cpg.bdst /* just reopen */ + || !d_unhashed(cpg.dentry) /* copyup and reopen */ + ) { + h_file = au_h_open_pre(cpg.dentry, cpg.bsrc, /*force_wr*/0); + if (IS_ERR(h_file)) + err = PTR_ERR(h_file); + else { + di_downgrade_lock(parent, AuLock_IR); + if (dbtop > cpg.bdst) + err = au_sio_cpup_simple(&cpg); + if (!err) + err = au_reopen_nondir(file); + au_h_open_post(cpg.dentry, cpg.bsrc, h_file); + } + } else { /* copyup as wh and reopen */ + /* + * since writable hfsplus branch is not supported, + * h_open_pre/post() are unnecessary. + */ + err = au_ready_to_write_wh(file, len, cpg.bdst, pin); + di_downgrade_lock(parent, AuLock_IR); + } + + if (!err) { + au_pin_set_parent_lflag(pin, /*lflag*/0); + goto out_dput; /* success */ + } + au_unpin(pin); + goto out_unlock; + +out_dgrade: + di_downgrade_lock(parent, AuLock_IR); +out_unlock: + di_read_unlock(parent, AuLock_IR); +out_dput: + dput(parent); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_do_flush(struct file *file, fl_owner_t id, + int (*flush)(struct file *file, fl_owner_t id)) +{ + int err; + struct super_block *sb; + struct inode *inode; + + inode = file_inode(file); + sb = inode->i_sb; + si_noflush_read_lock(sb); + fi_read_lock(file); + ii_read_lock_child(inode); + + err = flush(file, id); + au_cpup_attr_timesizes(inode); + + ii_read_unlock(inode); + fi_read_unlock(file); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_file_refresh_by_inode(struct file *file, int *need_reopen) +{ + int err; + struct au_pin pin; + struct au_finfo *finfo; + struct dentry *parent, *hi_wh; + struct inode *inode; + struct super_block *sb; + struct au_cp_generic cpg = { + .dentry = file->f_path.dentry, + .bdst = -1, + .bsrc = -1, + .len = -1, + .pin = &pin, + .flags = AuCpup_DTIME + }; + + FiMustWriteLock(file); + + err = 0; + finfo = au_fi(file); + sb = cpg.dentry->d_sb; + inode = d_inode(cpg.dentry); + cpg.bdst = au_ibtop(inode); + if (cpg.bdst == finfo->fi_btop || IS_ROOT(cpg.dentry)) + goto out; + + parent = dget_parent(cpg.dentry); + if (au_test_ro(sb, cpg.bdst, inode)) { + di_read_lock_parent(parent, !AuLock_IR); + err = AuWbrCopyup(au_sbi(sb), cpg.dentry); + cpg.bdst = err; + di_read_unlock(parent, !AuLock_IR); + if (unlikely(err < 0)) + goto out_parent; + err = 0; + } + + di_read_lock_parent(parent, AuLock_IR); + hi_wh = au_hi_wh(inode, cpg.bdst); + if (!S_ISDIR(inode->i_mode) + && au_opt_test(au_mntflags(sb), PLINK) + && au_plink_test(inode) + && !d_unhashed(cpg.dentry) + && cpg.bdst < au_dbtop(cpg.dentry)) { + err = au_test_and_cpup_dirs(cpg.dentry, cpg.bdst); + if (unlikely(err)) + goto out_unlock; + + /* always superio. */ + err = au_pin(&pin, cpg.dentry, cpg.bdst, AuOpt_UDBA_NONE, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (!err) { + err = au_sio_cpup_simple(&cpg); + au_unpin(&pin); + } + } else if (hi_wh) { + /* already copied-up after unlink */ + err = au_reopen_wh(file, cpg.bdst, hi_wh); + *need_reopen = 0; + } + +out_unlock: + di_read_unlock(parent, AuLock_IR); +out_parent: + dput(parent); +out: + return err; +} + +static void au_do_refresh_dir(struct file *file) +{ + aufs_bindex_t bindex, bbot, new_bindex, brid; + struct au_hfile *p, tmp, *q; + struct au_finfo *finfo; + struct super_block *sb; + struct au_fidir *fidir; + + FiMustWriteLock(file); + + sb = file->f_path.dentry->d_sb; + finfo = au_fi(file); + fidir = finfo->fi_hdir; + AuDebugOn(!fidir); + p = fidir->fd_hfile + finfo->fi_btop; + brid = p->hf_br->br_id; + bbot = fidir->fd_bbot; + for (bindex = finfo->fi_btop; bindex <= bbot; bindex++, p++) { + if (!p->hf_file) + continue; + + new_bindex = au_br_index(sb, p->hf_br->br_id); + if (new_bindex == bindex) + continue; + if (new_bindex < 0) { + au_set_h_fptr(file, bindex, NULL); + continue; + } + + /* swap two lower inode, and loop again */ + q = fidir->fd_hfile + new_bindex; + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hf_file) { + bindex--; + p--; + } + } + + p = fidir->fd_hfile; + if (!au_test_mmapped(file) && !d_unlinked(file->f_path.dentry)) { + bbot = au_sbbot(sb); + for (finfo->fi_btop = 0; finfo->fi_btop <= bbot; + finfo->fi_btop++, p++) + if (p->hf_file) { + if (file_inode(p->hf_file)) + break; + au_hfput(p, /*execed*/0); + } + } else { + bbot = au_br_index(sb, brid); + for (finfo->fi_btop = 0; finfo->fi_btop < bbot; + finfo->fi_btop++, p++) + if (p->hf_file) + au_hfput(p, /*execed*/0); + bbot = au_sbbot(sb); + } + + p = fidir->fd_hfile + bbot; + for (fidir->fd_bbot = bbot; fidir->fd_bbot >= finfo->fi_btop; + fidir->fd_bbot--, p--) + if (p->hf_file) { + if (file_inode(p->hf_file)) + break; + au_hfput(p, /*execed*/0); + } + AuDebugOn(fidir->fd_bbot < finfo->fi_btop); +} + +/* + * after branch manipulating, refresh the file. + */ +static int refresh_file(struct file *file, int (*reopen)(struct file *file)) +{ + int err, need_reopen, nbr; + aufs_bindex_t bbot, bindex; + struct dentry *dentry; + struct super_block *sb; + struct au_finfo *finfo; + struct au_hfile *hfile; + + dentry = file->f_path.dentry; + sb = dentry->d_sb; + nbr = au_sbbot(sb) + 1; + finfo = au_fi(file); + if (!finfo->fi_hdir) { + hfile = &finfo->fi_htop; + AuDebugOn(!hfile->hf_file); + bindex = au_br_index(sb, hfile->hf_br->br_id); + AuDebugOn(bindex < 0); + if (bindex != finfo->fi_btop) + au_set_fbtop(file, bindex); + } else { + err = au_fidir_realloc(finfo, nbr, /*may_shrink*/0); + if (unlikely(err)) + goto out; + au_do_refresh_dir(file); + } + + err = 0; + need_reopen = 1; + if (!au_test_mmapped(file)) + err = au_file_refresh_by_inode(file, &need_reopen); + if (finfo->fi_hdir) + /* harmless if err */ + au_fidir_realloc(finfo, nbr, /*may_shrink*/1); + if (!err && need_reopen && !d_unlinked(dentry)) + err = reopen(file); + if (!err) { + au_update_figen(file); + goto out; /* success */ + } + + /* error, close all lower files */ + if (finfo->fi_hdir) { + bbot = au_fbbot_dir(file); + for (bindex = au_fbtop(file); bindex <= bbot; bindex++) + au_set_h_fptr(file, bindex, NULL); + } + +out: + return err; +} + +/* common function to regular file and dir */ +int au_reval_and_lock_fdi(struct file *file, int (*reopen)(struct file *file), + int wlock, unsigned int fi_lsc) +{ + int err; + unsigned int sigen, figen; + aufs_bindex_t btop; + unsigned char pseudo_link; + struct dentry *dentry; + struct inode *inode; + + err = 0; + dentry = file->f_path.dentry; + inode = d_inode(dentry); + sigen = au_sigen(dentry->d_sb); + fi_write_lock_nested(file, fi_lsc); + figen = au_figen(file); + if (!fi_lsc) + di_write_lock_child(dentry); + else + di_write_lock_child2(dentry); + btop = au_dbtop(dentry); + pseudo_link = (btop != au_ibtop(inode)); + if (sigen == figen && !pseudo_link && au_fbtop(file) == btop) { + if (!wlock) { + di_downgrade_lock(dentry, AuLock_IR); + fi_downgrade_lock(file); + } + goto out; /* success */ + } + + AuDbg("sigen %d, figen %d\n", sigen, figen); + if (au_digen_test(dentry, sigen)) { + err = au_reval_dpath(dentry, sigen); + AuDebugOn(!err && au_digen_test(dentry, sigen)); + } + + if (!err) + err = refresh_file(file, reopen); + if (!err) { + if (!wlock) { + di_downgrade_lock(dentry, AuLock_IR); + fi_downgrade_lock(file); + } + } else { + di_write_unlock(dentry); + fi_write_unlock(file); + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* cf. aufs_nopage() */ +/* for madvise(2) */ +static int aufs_readpage(struct file *file __maybe_unused, struct page *page) +{ + unlock_page(page); + return 0; +} + +/* it will never be called, but necessary to support O_DIRECT */ +static ssize_t aufs_direct_IO(struct kiocb *iocb, struct iov_iter *iter) +{ BUG(); return 0; } + +/* they will never be called. */ +#ifdef CONFIG_AUFS_DEBUG +static int aufs_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned flags, + struct page **pagep, void **fsdata) +{ AuUnsupport(); return 0; } +static int aufs_write_end(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned copied, + struct page *page, void *fsdata) +{ AuUnsupport(); return 0; } +static int aufs_writepage(struct page *page, struct writeback_control *wbc) +{ AuUnsupport(); return 0; } + +static int aufs_set_page_dirty(struct page *page) +{ AuUnsupport(); return 0; } +static void aufs_invalidatepage(struct page *page, unsigned int offset, + unsigned int length) +{ AuUnsupport(); } +static int aufs_releasepage(struct page *page, gfp_t gfp) +{ AuUnsupport(); return 0; } +#if 0 /* called by memory compaction regardless file */ +static int aufs_migratepage(struct address_space *mapping, struct page *newpage, + struct page *page, enum migrate_mode mode) +{ AuUnsupport(); return 0; } +#endif +static bool aufs_isolate_page(struct page *page, isolate_mode_t mode) +{ AuUnsupport(); return true; } +static void aufs_putback_page(struct page *page) +{ AuUnsupport(); } +static int aufs_launder_page(struct page *page) +{ AuUnsupport(); return 0; } +static int aufs_is_partially_uptodate(struct page *page, + unsigned long from, + unsigned long count) +{ AuUnsupport(); return 0; } +static void aufs_is_dirty_writeback(struct page *page, bool *dirty, + bool *writeback) +{ AuUnsupport(); } +static int aufs_error_remove_page(struct address_space *mapping, + struct page *page) +{ AuUnsupport(); return 0; } +static int aufs_swap_activate(struct swap_info_struct *sis, struct file *file, + sector_t *span) +{ AuUnsupport(); return 0; } +static void aufs_swap_deactivate(struct file *file) +{ AuUnsupport(); } +#endif /* CONFIG_AUFS_DEBUG */ + +const struct address_space_operations aufs_aop = { + .readpage = aufs_readpage, + .direct_IO = aufs_direct_IO, +#ifdef CONFIG_AUFS_DEBUG + .writepage = aufs_writepage, + /* no writepages, because of writepage */ + .set_page_dirty = aufs_set_page_dirty, + /* no readpages, because of readpage */ + .write_begin = aufs_write_begin, + .write_end = aufs_write_end, + /* no bmap, no block device */ + .invalidatepage = aufs_invalidatepage, + .releasepage = aufs_releasepage, + /* is fallback_migrate_page ok? */ + /* .migratepage = aufs_migratepage, */ + .isolate_page = aufs_isolate_page, + .putback_page = aufs_putback_page, + .launder_page = aufs_launder_page, + .is_partially_uptodate = aufs_is_partially_uptodate, + .is_dirty_writeback = aufs_is_dirty_writeback, + .error_remove_page = aufs_error_remove_page, + .swap_activate = aufs_swap_activate, + .swap_deactivate = aufs_swap_deactivate +#endif /* CONFIG_AUFS_DEBUG */ +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/file.h +++ linux-riscv-5.8-5.8.0/fs/aufs/file.h @@ -0,0 +1,342 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * file operations + */ + +#ifndef __AUFS_FILE_H__ +#define __AUFS_FILE_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include +#include "rwsem.h" + +struct au_branch; +struct au_hfile { + struct file *hf_file; + struct au_branch *hf_br; +}; + +struct au_vdir; +struct au_fidir { + aufs_bindex_t fd_bbot; + aufs_bindex_t fd_nent; + struct au_vdir *fd_vdir_cache; + struct au_hfile fd_hfile[]; +}; + +static inline int au_fidir_sz(int nent) +{ + AuDebugOn(nent < 0); + return sizeof(struct au_fidir) + sizeof(struct au_hfile) * nent; +} + +struct au_finfo { + atomic_t fi_generation; + + struct au_rwsem fi_rwsem; + aufs_bindex_t fi_btop; + + /* do not union them */ + struct { /* for non-dir */ + struct au_hfile fi_htop; + atomic_t fi_mmapped; + }; + struct au_fidir *fi_hdir; /* for dir only */ + + struct hlist_bl_node fi_hlist; + struct file *fi_file; /* very ugly */ + struct rcu_head rcu; +} ____cacheline_aligned_in_smp; + +/* ---------------------------------------------------------------------- */ + +/* file.c */ +extern const struct address_space_operations aufs_aop; +unsigned int au_file_roflags(unsigned int flags); +struct file *au_h_open(struct dentry *dentry, aufs_bindex_t bindex, int flags, + struct file *file, int force_wr); +struct au_do_open_args { + int aopen; + int (*open)(struct file *file, int flags, + struct file *h_file); + struct au_fidir *fidir; + struct file *h_file; +}; +int au_do_open(struct file *file, struct au_do_open_args *args); +int au_reopen_nondir(struct file *file); +struct au_pin; +int au_ready_to_write(struct file *file, loff_t len, struct au_pin *pin); +int au_reval_and_lock_fdi(struct file *file, int (*reopen)(struct file *file), + int wlock, unsigned int fi_lsc); +int au_do_flush(struct file *file, fl_owner_t id, + int (*flush)(struct file *file, fl_owner_t id)); + +/* poll.c */ +#ifdef CONFIG_AUFS_POLL +__poll_t aufs_poll(struct file *file, struct poll_table_struct *pt); +#endif + +#ifdef CONFIG_AUFS_BR_HFSPLUS +/* hfsplus.c */ +struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex, + int force_wr); +void au_h_open_post(struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#else +AuStub(struct file *, au_h_open_pre, return NULL, struct dentry *dentry, + aufs_bindex_t bindex, int force_wr) +AuStubVoid(au_h_open_post, struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file); +#endif + +/* f_op.c */ +extern const struct file_operations aufs_file_fop; +int au_do_open_nondir(struct file *file, int flags, struct file *h_file); +int aufs_release_nondir(struct inode *inode __maybe_unused, struct file *file); +struct file *au_read_pre(struct file *file, int keep_fi, unsigned int lsc); + +/* finfo.c */ +void au_hfput(struct au_hfile *hf, int execed); +void au_set_h_fptr(struct file *file, aufs_bindex_t bindex, + struct file *h_file); + +void au_update_figen(struct file *file); +struct au_fidir *au_fidir_alloc(struct super_block *sb); +int au_fidir_realloc(struct au_finfo *finfo, int nbr, int may_shrink); + +void au_fi_init_once(void *_fi); +void au_finfo_fin(struct file *file); +int au_finfo_init(struct file *file, struct au_fidir *fidir); + +/* ioctl.c */ +long aufs_ioctl_nondir(struct file *file, unsigned int cmd, unsigned long arg); +#ifdef CONFIG_COMPAT +long aufs_compat_ioctl_dir(struct file *file, unsigned int cmd, + unsigned long arg); +long aufs_compat_ioctl_nondir(struct file *file, unsigned int cmd, + unsigned long arg); +#endif + +/* ---------------------------------------------------------------------- */ + +static inline struct au_finfo *au_fi(struct file *file) +{ + return file->private_data; +} + +/* ---------------------------------------------------------------------- */ + +#define fi_read_lock(f) au_rw_read_lock(&au_fi(f)->fi_rwsem) +#define fi_write_lock(f) au_rw_write_lock(&au_fi(f)->fi_rwsem) +#define fi_read_trylock(f) au_rw_read_trylock(&au_fi(f)->fi_rwsem) +#define fi_write_trylock(f) au_rw_write_trylock(&au_fi(f)->fi_rwsem) +/* +#define fi_read_trylock_nested(f) \ + au_rw_read_trylock_nested(&au_fi(f)->fi_rwsem) +#define fi_write_trylock_nested(f) \ + au_rw_write_trylock_nested(&au_fi(f)->fi_rwsem) +*/ + +#define fi_read_unlock(f) au_rw_read_unlock(&au_fi(f)->fi_rwsem) +#define fi_write_unlock(f) au_rw_write_unlock(&au_fi(f)->fi_rwsem) +#define fi_downgrade_lock(f) au_rw_dgrade_lock(&au_fi(f)->fi_rwsem) + +/* lock subclass for finfo */ +enum { + AuLsc_FI_1, + AuLsc_FI_2 +}; + +static inline void fi_read_lock_nested(struct file *f, unsigned int lsc) +{ + au_rw_read_lock_nested(&au_fi(f)->fi_rwsem, lsc); +} + +static inline void fi_write_lock_nested(struct file *f, unsigned int lsc) +{ + au_rw_write_lock_nested(&au_fi(f)->fi_rwsem, lsc); +} + +/* + * fi_read_lock_1, fi_write_lock_1, + * fi_read_lock_2, fi_write_lock_2 + */ +#define AuReadLockFunc(name) \ +static inline void fi_read_lock_##name(struct file *f) \ +{ fi_read_lock_nested(f, AuLsc_FI_##name); } + +#define AuWriteLockFunc(name) \ +static inline void fi_write_lock_##name(struct file *f) \ +{ fi_write_lock_nested(f, AuLsc_FI_##name); } + +#define AuRWLockFuncs(name) \ + AuReadLockFunc(name) \ + AuWriteLockFunc(name) + +AuRWLockFuncs(1); +AuRWLockFuncs(2); + +#undef AuReadLockFunc +#undef AuWriteLockFunc +#undef AuRWLockFuncs + +#define FiMustNoWaiters(f) AuRwMustNoWaiters(&au_fi(f)->fi_rwsem) +#define FiMustAnyLock(f) AuRwMustAnyLock(&au_fi(f)->fi_rwsem) +#define FiMustWriteLock(f) AuRwMustWriteLock(&au_fi(f)->fi_rwsem) + +/* ---------------------------------------------------------------------- */ + +/* todo: hard/soft set? */ +static inline aufs_bindex_t au_fbtop(struct file *file) +{ + FiMustAnyLock(file); + return au_fi(file)->fi_btop; +} + +static inline aufs_bindex_t au_fbbot_dir(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_bbot; +} + +static inline struct au_vdir *au_fvdir_cache(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_vdir_cache; +} + +static inline void au_set_fbtop(struct file *file, aufs_bindex_t bindex) +{ + FiMustWriteLock(file); + au_fi(file)->fi_btop = bindex; +} + +static inline void au_set_fbbot_dir(struct file *file, aufs_bindex_t bindex) +{ + FiMustWriteLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + au_fi(file)->fi_hdir->fd_bbot = bindex; +} + +static inline void au_set_fvdir_cache(struct file *file, + struct au_vdir *vdir_cache) +{ + FiMustWriteLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + au_fi(file)->fi_hdir->fd_vdir_cache = vdir_cache; +} + +static inline struct file *au_hf_top(struct file *file) +{ + FiMustAnyLock(file); + AuDebugOn(au_fi(file)->fi_hdir); + return au_fi(file)->fi_htop.hf_file; +} + +static inline struct file *au_hf_dir(struct file *file, aufs_bindex_t bindex) +{ + FiMustAnyLock(file); + AuDebugOn(!au_fi(file)->fi_hdir); + return au_fi(file)->fi_hdir->fd_hfile[0 + bindex].hf_file; +} + +/* todo: memory barrier? */ +static inline unsigned int au_figen(struct file *f) +{ + return atomic_read(&au_fi(f)->fi_generation); +} + +static inline void au_set_mmapped(struct file *f) +{ + if (atomic_inc_return(&au_fi(f)->fi_mmapped)) + return; + pr_warn("fi_mmapped wrapped around\n"); + while (!atomic_inc_return(&au_fi(f)->fi_mmapped)) + ; +} + +static inline void au_unset_mmapped(struct file *f) +{ + atomic_dec(&au_fi(f)->fi_mmapped); +} + +static inline int au_test_mmapped(struct file *f) +{ + return atomic_read(&au_fi(f)->fi_mmapped); +} + +/* customize vma->vm_file */ + +static inline void au_do_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + struct file *f; + + f = vma->vm_file; + get_file(file); + vma->vm_file = file; + fput(f); +} + +#ifdef CONFIG_MMU +#define AuDbgVmRegion(file, vma) do {} while (0) + +static inline void au_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + au_do_vm_file_reset(vma, file); +} +#else +#define AuDbgVmRegion(file, vma) \ + AuDebugOn((vma)->vm_region && (vma)->vm_region->vm_file != (file)) + +static inline void au_vm_file_reset(struct vm_area_struct *vma, + struct file *file) +{ + struct file *f; + + au_do_vm_file_reset(vma, file); + f = vma->vm_region->vm_file; + get_file(file); + vma->vm_region->vm_file = file; + fput(f); +} +#endif /* CONFIG_MMU */ + +/* handle vma->vm_prfile */ +static inline void au_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 +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FILE_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/finfo.c +++ linux-riscv-5.8-5.8.0/fs/aufs/finfo.c @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * file private data + */ + +#include "aufs.h" + +void au_hfput(struct au_hfile *hf, int execed) +{ + if (execed) + allow_write_access(hf->hf_file); + fput(hf->hf_file); + hf->hf_file = NULL; + au_lcnt_dec(&hf->hf_br->br_nfiles); + hf->hf_br = NULL; +} + +void au_set_h_fptr(struct file *file, aufs_bindex_t bindex, struct file *val) +{ + struct au_finfo *finfo = au_fi(file); + struct au_hfile *hf; + struct au_fidir *fidir; + + fidir = finfo->fi_hdir; + if (!fidir) { + AuDebugOn(finfo->fi_btop != bindex); + hf = &finfo->fi_htop; + } else + hf = fidir->fd_hfile + bindex; + + if (hf && hf->hf_file) + au_hfput(hf, vfsub_file_execed(file)); + if (val) { + FiMustWriteLock(file); + AuDebugOn(IS_ERR_OR_NULL(file->f_path.dentry)); + hf->hf_file = val; + hf->hf_br = au_sbr(file->f_path.dentry->d_sb, bindex); + } +} + +void au_update_figen(struct file *file) +{ + atomic_set(&au_fi(file)->fi_generation, au_digen(file->f_path.dentry)); + /* smp_mb(); */ /* atomic_set */ +} + +/* ---------------------------------------------------------------------- */ + +struct au_fidir *au_fidir_alloc(struct super_block *sb) +{ + struct au_fidir *fidir; + int nbr; + + nbr = au_sbbot(sb) + 1; + if (nbr < 2) + nbr = 2; /* initial allocate for 2 branches */ + fidir = kzalloc(au_fidir_sz(nbr), GFP_NOFS); + if (fidir) { + fidir->fd_bbot = -1; + fidir->fd_nent = nbr; + } + + return fidir; +} + +int au_fidir_realloc(struct au_finfo *finfo, int nbr, int may_shrink) +{ + int err; + struct au_fidir *fidir, *p; + + AuRwMustWriteLock(&finfo->fi_rwsem); + fidir = finfo->fi_hdir; + AuDebugOn(!fidir); + + err = -ENOMEM; + p = au_kzrealloc(fidir, au_fidir_sz(fidir->fd_nent), au_fidir_sz(nbr), + GFP_NOFS, may_shrink); + if (p) { + p->fd_nent = nbr; + finfo->fi_hdir = p; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_finfo_fin(struct file *file) +{ + struct au_finfo *finfo; + + au_lcnt_dec(&au_sbi(file->f_path.dentry->d_sb)->si_nfiles); + + finfo = au_fi(file); + AuDebugOn(finfo->fi_hdir); + AuRwDestroy(&finfo->fi_rwsem); + au_cache_free_finfo(finfo); +} + +void au_fi_init_once(void *_finfo) +{ + struct au_finfo *finfo = _finfo; + + au_rw_init(&finfo->fi_rwsem); +} + +int au_finfo_init(struct file *file, struct au_fidir *fidir) +{ + int err; + struct au_finfo *finfo; + struct dentry *dentry; + + err = -ENOMEM; + dentry = file->f_path.dentry; + finfo = au_cache_alloc_finfo(); + if (unlikely(!finfo)) + goto out; + + err = 0; + au_lcnt_inc(&au_sbi(dentry->d_sb)->si_nfiles); + au_rw_write_lock(&finfo->fi_rwsem); + finfo->fi_btop = -1; + finfo->fi_hdir = fidir; + atomic_set(&finfo->fi_generation, au_digen(dentry)); + /* smp_mb(); */ /* atomic_set */ + + file->private_data = finfo; + +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/fstype.h +++ linux-riscv-5.8-5.8.0/fs/aufs/fstype.h @@ -0,0 +1,401 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * judging filesystem type + */ + +#ifndef __AUFS_FSTYPE_H__ +#define __AUFS_FSTYPE_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include + +static inline int au_test_aufs(struct super_block *sb) +{ + return sb->s_magic == AUFS_SUPER_MAGIC; +} + +static inline const char *au_sbtype(struct super_block *sb) +{ + return sb->s_type->name; +} + +static inline int au_test_iso9660(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_ISO9660_FS) + return sb->s_magic == ISOFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_romfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_ROMFS_FS) + return sb->s_magic == ROMFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_cramfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_CRAMFS) + return sb->s_magic == CRAMFS_MAGIC; +#endif + return 0; +} + +static inline int au_test_nfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_NFS_FS) + return sb->s_magic == NFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_fuse(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_FUSE_FS) + return sb->s_magic == FUSE_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_xfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_XFS_FS) + return sb->s_magic == XFS_SB_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_tmpfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_TMPFS + return sb->s_magic == TMPFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_ecryptfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_ECRYPT_FS) + return !strcmp(au_sbtype(sb), "ecryptfs"); +#else + return 0; +#endif +} + +static inline int au_test_ramfs(struct super_block *sb) +{ + return sb->s_magic == RAMFS_MAGIC; +} + +static inline int au_test_ubifs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_UBIFS_FS) + return sb->s_magic == UBIFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_procfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_PROC_FS + return sb->s_magic == PROC_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_sysfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_SYSFS + return sb->s_magic == SYSFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_configfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_CONFIGFS_FS) + return sb->s_magic == CONFIGFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_minix(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_MINIX_FS) + return sb->s_magic == MINIX3_SUPER_MAGIC + || sb->s_magic == MINIX2_SUPER_MAGIC + || sb->s_magic == MINIX2_SUPER_MAGIC2 + || sb->s_magic == MINIX_SUPER_MAGIC + || sb->s_magic == MINIX_SUPER_MAGIC2; +#else + return 0; +#endif +} + +static inline int au_test_fat(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_FAT_FS) + return sb->s_magic == MSDOS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_msdos(struct super_block *sb) +{ + return au_test_fat(sb); +} + +static inline int au_test_vfat(struct super_block *sb) +{ + return au_test_fat(sb); +} + +static inline int au_test_securityfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_SECURITYFS + return sb->s_magic == SECURITYFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_squashfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_SQUASHFS) + return sb->s_magic == SQUASHFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_btrfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_BTRFS_FS) + return sb->s_magic == BTRFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_xenfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_XENFS) + return sb->s_magic == XENFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_debugfs(struct super_block *sb __maybe_unused) +{ +#ifdef CONFIG_DEBUG_FS + return sb->s_magic == DEBUGFS_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_nilfs(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_NILFS) + return sb->s_magic == NILFS_SUPER_MAGIC; +#else + return 0; +#endif +} + +static inline int au_test_hfsplus(struct super_block *sb __maybe_unused) +{ +#if IS_ENABLED(CONFIG_HFSPLUS_FS) + return sb->s_magic == HFSPLUS_SUPER_MAGIC; +#else + return 0; +#endif +} + +/* ---------------------------------------------------------------------- */ +/* + * they can't be an aufs branch. + */ +static inline int au_test_fs_unsuppoted(struct super_block *sb) +{ + return +#ifndef CONFIG_AUFS_BR_RAMFS + au_test_ramfs(sb) || +#endif + au_test_procfs(sb) + || au_test_sysfs(sb) + || au_test_configfs(sb) + || au_test_debugfs(sb) + || au_test_securityfs(sb) + || au_test_xenfs(sb) + || au_test_ecryptfs(sb) + /* || !strcmp(au_sbtype(sb), "unionfs") */ + || au_test_aufs(sb); /* will be supported in next version */ +} + +static inline int au_test_fs_remote(struct super_block *sb) +{ + return !au_test_tmpfs(sb) +#ifdef CONFIG_AUFS_BR_RAMFS + && !au_test_ramfs(sb) +#endif + && !(sb->s_type->fs_flags & FS_REQUIRES_DEV); +} + +/* ---------------------------------------------------------------------- */ + +/* + * Note: these functions (below) are created after reading ->getattr() in all + * filesystems under linux/fs. it means we have to do so in every update... + */ + +/* + * some filesystems require getattr to refresh the inode attributes before + * referencing. + * in most cases, we can rely on the inode attribute in NFS (or every remote fs) + * and leave the work for d_revalidate() + */ +static inline int au_test_fs_refresh_iattr(struct super_block *sb) +{ + return au_test_nfs(sb) + || au_test_fuse(sb) + /* || au_test_btrfs(sb) */ /* untested */ + ; +} + +/* + * filesystems which don't maintain i_size or i_blocks. + */ +static inline int au_test_fs_bad_iattr_size(struct super_block *sb) +{ + return au_test_xfs(sb) + || au_test_btrfs(sb) + || au_test_ubifs(sb) + || au_test_hfsplus(sb) /* maintained, but incorrect */ + /* || au_test_minix(sb) */ /* untested */ + ; +} + +/* + * filesystems which don't store the correct value in some of their inode + * attributes. + */ +static inline int au_test_fs_bad_iattr(struct super_block *sb) +{ + return au_test_fs_bad_iattr_size(sb) + || au_test_fat(sb) + || au_test_msdos(sb) + || au_test_vfat(sb); +} + +/* they don't check i_nlink in link(2) */ +static inline int au_test_fs_no_limit_nlink(struct super_block *sb) +{ + return au_test_tmpfs(sb) +#ifdef CONFIG_AUFS_BR_RAMFS + || au_test_ramfs(sb) +#endif + || au_test_ubifs(sb) + || au_test_hfsplus(sb); +} + +/* + * filesystems which sets S_NOATIME and S_NOCMTIME. + */ +static inline int au_test_fs_notime(struct super_block *sb) +{ + return au_test_nfs(sb) + || au_test_fuse(sb) + || au_test_ubifs(sb) + ; +} + +/* temporary support for i#1 in cramfs */ +static inline int au_test_fs_unique_ino(struct inode *inode) +{ + if (au_test_cramfs(inode->i_sb)) + return inode->i_ino != 1; + return 1; +} + +/* ---------------------------------------------------------------------- */ + +/* + * the filesystem where the xino files placed must support i/o after unlink and + * maintain i_size and i_blocks. + */ +static inline int au_test_fs_bad_xino(struct super_block *sb) +{ + return au_test_fs_remote(sb) + || au_test_fs_bad_iattr_size(sb) + /* don't want unnecessary work for xino */ + || au_test_aufs(sb) + || au_test_ecryptfs(sb) + || au_test_nilfs(sb); +} + +static inline int au_test_fs_trunc_xino(struct super_block *sb) +{ + return au_test_tmpfs(sb) + || au_test_ramfs(sb); +} + +/* + * test if the @sb is real-readonly. + */ +static inline int au_test_fs_rr(struct super_block *sb) +{ + return au_test_squashfs(sb) + || au_test_iso9660(sb) + || au_test_cramfs(sb) + || au_test_romfs(sb); +} + +/* + * test if the @inode is nfs with 'noacl' option + * NFS always sets SB_POSIXACL regardless its mount option 'noacl.' + */ +static inline int au_test_nfs_noacl(struct inode *inode) +{ + return au_test_nfs(inode->i_sb) + /* && IS_POSIXACL(inode) */ + && !nfs_server_capable(inode, NFS_CAP_ACLS); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FSTYPE_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/hbl.h +++ linux-riscv-5.8-5.8.0/fs/aufs/hbl.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2017-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * helpers for hlist_bl.h + */ + +#ifndef __AUFS_HBL_H__ +#define __AUFS_HBL_H__ + +#ifdef __KERNEL__ + +#include + +static inline void au_hbl_add(struct hlist_bl_node *node, + struct hlist_bl_head *hbl) +{ + hlist_bl_lock(hbl); + hlist_bl_add_head(node, hbl); + hlist_bl_unlock(hbl); +} + +static inline void au_hbl_del(struct hlist_bl_node *node, + struct hlist_bl_head *hbl) +{ + hlist_bl_lock(hbl); + hlist_bl_del(node); + hlist_bl_unlock(hbl); +} + +#define au_hbl_for_each(pos, head) \ + for (pos = hlist_bl_first(head); \ + pos; \ + pos = pos->next) + +static inline unsigned long au_hbl_count(struct hlist_bl_head *hbl) +{ + unsigned long cnt; + struct hlist_bl_node *pos; + + cnt = 0; + hlist_bl_lock(hbl); + au_hbl_for_each(pos, hbl) + cnt++; + hlist_bl_unlock(hbl); + return cnt; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_HBL_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/hfsnotify.c +++ linux-riscv-5.8-5.8.0/fs/aufs/hfsnotify.c @@ -0,0 +1,288 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * fsnotify for the lower directories + */ + +#include "aufs.h" + +/* FS_IN_IGNORED is unnecessary */ +static const __u32 AuHfsnMask = (FS_MOVED_TO | FS_MOVED_FROM | FS_DELETE + | FS_CREATE | FS_EVENT_ON_CHILD); +static DECLARE_WAIT_QUEUE_HEAD(au_hfsn_wq); +static __cacheline_aligned_in_smp atomic64_t au_hfsn_ifree = ATOMIC64_INIT(0); + +static void au_hfsn_free_mark(struct fsnotify_mark *mark) +{ + struct au_hnotify *hn = container_of(mark, struct au_hnotify, + hn_mark); + /* AuDbg("here\n"); */ + au_cache_free_hnotify(hn); + smp_mb__before_atomic(); /* for atomic64_dec */ + if (atomic64_dec_and_test(&au_hfsn_ifree)) + wake_up(&au_hfsn_wq); +} + +static int au_hfsn_alloc(struct au_hinode *hinode) +{ + int err; + struct au_hnotify *hn; + struct super_block *sb; + struct au_branch *br; + struct fsnotify_mark *mark; + aufs_bindex_t bindex; + + hn = hinode->hi_notify; + sb = hn->hn_aufs_inode->i_sb; + bindex = au_br_index(sb, hinode->hi_id); + br = au_sbr(sb, bindex); + AuDebugOn(!br->br_hfsn); + + mark = &hn->hn_mark; + fsnotify_init_mark(mark, br->br_hfsn->hfsn_group); + mark->mask = AuHfsnMask; + /* + * by udba rename or rmdir, aufs assign a new inode to the known + * h_inode, so specify 1 to allow dups. + */ + lockdep_off(); + err = fsnotify_add_inode_mark(mark, hinode->hi_inode, /*allow_dups*/1); + lockdep_on(); + + return err; +} + +static int au_hfsn_free(struct au_hinode *hinode, struct au_hnotify *hn) +{ + struct fsnotify_mark *mark; + unsigned long long ull; + struct fsnotify_group *group; + + ull = atomic64_inc_return(&au_hfsn_ifree); + BUG_ON(!ull); + + mark = &hn->hn_mark; + spin_lock(&mark->lock); + group = mark->group; + fsnotify_get_group(group); + spin_unlock(&mark->lock); + lockdep_off(); + fsnotify_destroy_mark(mark, group); + fsnotify_put_mark(mark); + fsnotify_put_group(group); + lockdep_on(); + + /* free hn by myself */ + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_ctl(struct au_hinode *hinode, int do_set) +{ + struct fsnotify_mark *mark; + + mark = &hinode->hi_notify->hn_mark; + spin_lock(&mark->lock); + if (do_set) { + AuDebugOn(mark->mask & AuHfsnMask); + mark->mask |= AuHfsnMask; + } else { + AuDebugOn(!(mark->mask & AuHfsnMask)); + mark->mask &= ~AuHfsnMask; + } + spin_unlock(&mark->lock); + /* fsnotify_recalc_inode_mask(hinode->hi_inode); */ +} + +/* ---------------------------------------------------------------------- */ + +/* #define AuDbgHnotify */ +#ifdef AuDbgHnotify +static char *au_hfsn_name(u32 mask) +{ +#ifdef CONFIG_AUFS_DEBUG +#define test_ret(flag) \ + do { \ + if (mask & flag) \ + return #flag; \ + } while (0) + test_ret(FS_ACCESS); + test_ret(FS_MODIFY); + test_ret(FS_ATTRIB); + test_ret(FS_CLOSE_WRITE); + test_ret(FS_CLOSE_NOWRITE); + test_ret(FS_OPEN); + test_ret(FS_MOVED_FROM); + test_ret(FS_MOVED_TO); + test_ret(FS_CREATE); + test_ret(FS_DELETE); + test_ret(FS_DELETE_SELF); + test_ret(FS_MOVE_SELF); + test_ret(FS_UNMOUNT); + test_ret(FS_Q_OVERFLOW); + test_ret(FS_IN_IGNORED); + test_ret(FS_ISDIR); + test_ret(FS_IN_ONESHOT); + test_ret(FS_EVENT_ON_CHILD); + return ""; +#undef test_ret +#else + return "??"; +#endif +} +#endif + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_free_group(struct fsnotify_group *group) +{ + struct au_br_hfsnotify *hfsn = group->private; + + /* AuDbg("here\n"); */ + au_kfree_try_rcu(hfsn); +} + +static int au_hfsn_handle_event(struct fsnotify_group *group, + struct inode *inode, + u32 mask, const void *data, int data_type, + const struct qstr *file_name, u32 cookie, + struct fsnotify_iter_info *iter_info) +{ + int err; + struct au_hnotify *hnotify; + struct inode *h_dir, *h_inode; + struct fsnotify_mark *inode_mark; + + AuDebugOn(data_type != FSNOTIFY_EVENT_INODE); + + err = 0; + /* if FS_UNMOUNT happens, there must be another bug */ + AuDebugOn(mask & FS_UNMOUNT); + if (mask & (FS_IN_IGNORED | FS_UNMOUNT)) + goto out; + + h_dir = inode; + h_inode = NULL; +#ifdef AuDbgHnotify + au_debug_on(); + if (1 || h_child_qstr.len != sizeof(AUFS_XINO_FNAME) - 1 + || strncmp(h_child_qstr.name, AUFS_XINO_FNAME, h_child_qstr.len)) { + AuDbg("i%lu, mask 0x%x %s, hcname %.*s, hi%lu\n", + h_dir->i_ino, mask, au_hfsn_name(mask), + AuLNPair(&h_child_qstr), h_inode ? h_inode->i_ino : 0); + /* WARN_ON(1); */ + } + au_debug_off(); +#endif + + inode_mark = fsnotify_iter_inode_mark(iter_info); + AuDebugOn(!inode_mark); + hnotify = container_of(inode_mark, struct au_hnotify, hn_mark); + err = au_hnotify(h_dir, hnotify, mask, file_name, h_inode); + +out: + return err; +} + +static struct fsnotify_ops au_hfsn_ops = { + .handle_event = au_hfsn_handle_event, + .free_group_priv = au_hfsn_free_group, + .free_mark = au_hfsn_free_mark +}; + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_fin_br(struct au_branch *br) +{ + struct au_br_hfsnotify *hfsn; + + hfsn = br->br_hfsn; + if (hfsn) { + lockdep_off(); + fsnotify_put_group(hfsn->hfsn_group); + lockdep_on(); + } +} + +static int au_hfsn_init_br(struct au_branch *br, int perm) +{ + int err; + struct fsnotify_group *group; + struct au_br_hfsnotify *hfsn; + + err = 0; + br->br_hfsn = NULL; + if (!au_br_hnotifyable(perm)) + goto out; + + err = -ENOMEM; + hfsn = kmalloc(sizeof(*hfsn), GFP_NOFS); + if (unlikely(!hfsn)) + goto out; + + err = 0; + group = fsnotify_alloc_group(&au_hfsn_ops); + if (IS_ERR(group)) { + err = PTR_ERR(group); + pr_err("fsnotify_alloc_group() failed, %d\n", err); + goto out_hfsn; + } + + group->private = hfsn; + hfsn->hfsn_group = group; + br->br_hfsn = hfsn; + goto out; /* success */ + +out_hfsn: + au_kfree_try_rcu(hfsn); +out: + return err; +} + +static int au_hfsn_reset_br(unsigned int udba, struct au_branch *br, int perm) +{ + int err; + + err = 0; + if (!br->br_hfsn) + err = au_hfsn_init_br(br, perm); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_hfsn_fin(void) +{ + AuDbg("au_hfsn_ifree %lld\n", (long long)atomic64_read(&au_hfsn_ifree)); + wait_event(au_hfsn_wq, !atomic64_read(&au_hfsn_ifree)); +} + +const struct au_hnotify_op au_hnotify_op = { + .ctl = au_hfsn_ctl, + .alloc = au_hfsn_alloc, + .free = au_hfsn_free, + + .fin = au_hfsn_fin, + + .reset_br = au_hfsn_reset_br, + .fin_br = au_hfsn_fin_br, + .init_br = au_hfsn_init_br +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/hfsplus.c +++ linux-riscv-5.8-5.8.0/fs/aufs/hfsplus.c @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2010-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * special support for filesystems which acquires an inode mutex + * at final closing a file, eg, hfsplus. + * + * This trick is very simple and stupid, just to open the file before really + * necessary open to tell hfsplus that this is not the final closing. + * The caller should call au_h_open_pre() after acquiring the inode mutex, + * and au_h_open_post() after releasing it. + */ + +#include "aufs.h" + +struct file *au_h_open_pre(struct dentry *dentry, aufs_bindex_t bindex, + int force_wr) +{ + struct file *h_file; + struct dentry *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + AuDebugOn(!h_dentry); + AuDebugOn(d_is_negative(h_dentry)); + + h_file = NULL; + if (au_test_hfsplus(h_dentry->d_sb) + && d_is_reg(h_dentry)) + h_file = au_h_open(dentry, bindex, + O_RDONLY | O_NOATIME | O_LARGEFILE, + /*file*/NULL, force_wr); + return h_file; +} + +void au_h_open_post(struct dentry *dentry, aufs_bindex_t bindex, + struct file *h_file) +{ + struct au_branch *br; + + if (h_file) { + fput(h_file); + br = au_sbr(dentry->d_sb, bindex); + au_lcnt_dec(&br->br_nfiles); + } +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/hnotify.c +++ linux-riscv-5.8-5.8.0/fs/aufs/hnotify.c @@ -0,0 +1,715 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * abstraction to notify the direct changes on lower directories + */ + +/* #include */ +#include "aufs.h" + +int au_hn_alloc(struct au_hinode *hinode, struct inode *inode) +{ + int err; + struct au_hnotify *hn; + + err = -ENOMEM; + hn = au_cache_alloc_hnotify(); + if (hn) { + hn->hn_aufs_inode = inode; + hinode->hi_notify = hn; + err = au_hnotify_op.alloc(hinode); + AuTraceErr(err); + if (unlikely(err)) { + hinode->hi_notify = NULL; + au_cache_free_hnotify(hn); + /* + * The upper dir was removed by udba, but the same named + * dir left. In this case, aufs assigns a new inode + * number and set the monitor again. + * For the lower dir, the old monitor is still left. + */ + if (err == -EEXIST) + err = 0; + } + } + + AuTraceErr(err); + return err; +} + +void au_hn_free(struct au_hinode *hinode) +{ + struct au_hnotify *hn; + + hn = hinode->hi_notify; + if (hn) { + hinode->hi_notify = NULL; + if (au_hnotify_op.free(hinode, hn)) + au_cache_free_hnotify(hn); + } +} + +/* ---------------------------------------------------------------------- */ + +void au_hn_ctl(struct au_hinode *hinode, int do_set) +{ + if (hinode->hi_notify) + au_hnotify_op.ctl(hinode, do_set); +} + +void au_hn_reset(struct inode *inode, unsigned int flags) +{ + aufs_bindex_t bindex, bbot; + struct inode *hi; + struct dentry *iwhdentry; + + bbot = au_ibbot(inode); + for (bindex = au_ibtop(inode); bindex <= bbot; bindex++) { + hi = au_h_iptr(inode, bindex); + if (!hi) + continue; + + /* inode_lock_nested(hi, AuLsc_I_CHILD); */ + iwhdentry = au_hi_wh(inode, bindex); + if (iwhdentry) + dget(iwhdentry); + au_igrab(hi); + au_set_h_iptr(inode, bindex, NULL, 0); + au_set_h_iptr(inode, bindex, au_igrab(hi), + flags & ~AuHi_XINO); + iput(hi); + dput(iwhdentry); + /* inode_unlock(hi); */ + } +} + +/* ---------------------------------------------------------------------- */ + +static int hn_xino(struct inode *inode, struct inode *h_inode) +{ + int err; + aufs_bindex_t bindex, bbot, bfound, btop; + struct inode *h_i; + + err = 0; + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("branch root dir was changed\n"); + goto out; + } + + bfound = -1; + bbot = au_ibbot(inode); + btop = au_ibtop(inode); +#if 0 /* reserved for future use */ + if (bindex == bbot) { + /* keep this ino in rename case */ + goto out; + } +#endif + for (bindex = btop; bindex <= bbot; bindex++) + if (au_h_iptr(inode, bindex) == h_inode) { + bfound = bindex; + break; + } + if (bfound < 0) + goto out; + + for (bindex = btop; bindex <= bbot; bindex++) { + h_i = au_h_iptr(inode, bindex); + if (!h_i) + continue; + + err = au_xino_write(inode->i_sb, bindex, h_i->i_ino, /*ino*/0); + /* ignore this error */ + /* bad action? */ + } + + /* children inode number will be broken */ + +out: + AuTraceErr(err); + return err; +} + +static int hn_gen_tree(struct dentry *dentry) +{ + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, dentry, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + struct dentry *d; + + d = dentries[j]; + if (IS_ROOT(d)) + continue; + + au_digen_dec(d); + if (d_really_is_positive(d)) + /* todo: reset children xino? + cached children only? */ + au_iigen_dec(d_inode(d)); + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +/* + * return 0 if processed. + */ +static int hn_gen_by_inode(char *name, unsigned int nlen, struct inode *inode, + const unsigned int isdir) +{ + int err; + struct dentry *d; + struct qstr *dname; + + err = 1; + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("branch root dir was changed\n"); + err = 0; + goto out; + } + + if (!isdir) { + AuDebugOn(!name); + au_iigen_dec(inode); + spin_lock(&inode->i_lock); + hlist_for_each_entry(d, &inode->i_dentry, d_u.d_alias) { + spin_lock(&d->d_lock); + dname = &d->d_name; + if (dname->len != nlen + && memcmp(dname->name, name, nlen)) { + spin_unlock(&d->d_lock); + continue; + } + err = 0; + au_digen_dec(d); + spin_unlock(&d->d_lock); + break; + } + spin_unlock(&inode->i_lock); + } else { + au_fset_si(au_sbi(inode->i_sb), FAILED_REFRESH_DIR); + d = d_find_any_alias(inode); + if (!d) { + au_iigen_dec(inode); + goto out; + } + + spin_lock(&d->d_lock); + dname = &d->d_name; + if (dname->len == nlen && !memcmp(dname->name, name, nlen)) { + spin_unlock(&d->d_lock); + err = hn_gen_tree(d); + spin_lock(&d->d_lock); + } + spin_unlock(&d->d_lock); + dput(d); + } + +out: + AuTraceErr(err); + return err; +} + +static int hn_gen_by_name(struct dentry *dentry, const unsigned int isdir) +{ + int err; + + if (IS_ROOT(dentry)) { + pr_warn("branch root dir was changed\n"); + return 0; + } + + err = 0; + if (!isdir) { + au_digen_dec(dentry); + if (d_really_is_positive(dentry)) + au_iigen_dec(d_inode(dentry)); + } else { + au_fset_si(au_sbi(dentry->d_sb), FAILED_REFRESH_DIR); + if (d_really_is_positive(dentry)) + err = hn_gen_tree(dentry); + } + + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* hnotify job flags */ +#define AuHnJob_XINO0 1 +#define AuHnJob_GEN (1 << 1) +#define AuHnJob_DIRENT (1 << 2) +#define AuHnJob_ISDIR (1 << 3) +#define AuHnJob_TRYXINO0 (1 << 4) +#define AuHnJob_MNTPNT (1 << 5) +#define au_ftest_hnjob(flags, name) ((flags) & AuHnJob_##name) +#define au_fset_hnjob(flags, name) \ + do { (flags) |= AuHnJob_##name; } while (0) +#define au_fclr_hnjob(flags, name) \ + do { (flags) &= ~AuHnJob_##name; } while (0) + +enum { + AuHn_CHILD, + AuHn_PARENT, + AuHnLast +}; + +struct au_hnotify_args { + struct inode *h_dir, *dir, *h_child_inode; + u32 mask; + unsigned int flags[AuHnLast]; + unsigned int h_child_nlen; + char h_child_name[]; +}; + +struct hn_job_args { + unsigned int flags; + struct inode *inode, *h_inode, *dir, *h_dir; + struct dentry *dentry; + char *h_name; + int h_nlen; +}; + +static int hn_job(struct hn_job_args *a) +{ + const unsigned int isdir = au_ftest_hnjob(a->flags, ISDIR); + int e; + + /* reset xino */ + if (au_ftest_hnjob(a->flags, XINO0) && a->inode) + hn_xino(a->inode, a->h_inode); /* ignore this error */ + + if (au_ftest_hnjob(a->flags, TRYXINO0) + && a->inode + && a->h_inode) { + inode_lock_shared_nested(a->h_inode, AuLsc_I_CHILD); + if (!a->h_inode->i_nlink + && !(a->h_inode->i_state & I_LINKABLE)) + hn_xino(a->inode, a->h_inode); /* ignore this error */ + inode_unlock_shared(a->h_inode); + } + + /* make the generation obsolete */ + if (au_ftest_hnjob(a->flags, GEN)) { + e = -1; + if (a->inode) + e = hn_gen_by_inode(a->h_name, a->h_nlen, a->inode, + isdir); + if (e && a->dentry) + hn_gen_by_name(a->dentry, isdir); + /* ignore this error */ + } + + /* make dir entries obsolete */ + if (au_ftest_hnjob(a->flags, DIRENT) && a->inode) { + struct au_vdir *vdir; + + vdir = au_ivdir(a->inode); + if (vdir) + vdir->vd_jiffy = 0; + /* IMustLock(a->inode); */ + /* inode_inc_iversion(a->inode); */ + } + + /* can do nothing but warn */ + if (au_ftest_hnjob(a->flags, MNTPNT) + && a->dentry + && d_mountpoint(a->dentry)) + pr_warn("mount-point %pd is removed or renamed\n", a->dentry); + + return 0; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *lookup_wlock_by_name(char *name, unsigned int nlen, + struct inode *dir) +{ + struct dentry *dentry, *d, *parent; + struct qstr *dname; + + parent = d_find_any_alias(dir); + if (!parent) + return NULL; + + dentry = NULL; + spin_lock(&parent->d_lock); + list_for_each_entry(d, &parent->d_subdirs, d_child) { + /* AuDbg("%pd\n", d); */ + spin_lock_nested(&d->d_lock, DENTRY_D_LOCK_NESTED); + dname = &d->d_name; + if (dname->len != nlen || memcmp(dname->name, name, nlen)) + goto cont_unlock; + if (au_di(d)) + au_digen_dec(d); + else + goto cont_unlock; + if (au_dcount(d) > 0) { + dentry = dget_dlock(d); + spin_unlock(&d->d_lock); + break; + } + +cont_unlock: + spin_unlock(&d->d_lock); + } + spin_unlock(&parent->d_lock); + dput(parent); + + if (dentry) + di_write_lock_child(dentry); + + return dentry; +} + +static struct inode *lookup_wlock_by_ino(struct super_block *sb, + aufs_bindex_t bindex, ino_t h_ino) +{ + struct inode *inode; + ino_t ino; + int err; + + inode = NULL; + err = au_xino_read(sb, bindex, h_ino, &ino); + if (!err && ino) + inode = ilookup(sb, ino); + if (!inode) + goto out; + + if (unlikely(inode->i_ino == AUFS_ROOT_INO)) { + pr_warn("wrong root branch\n"); + iput(inode); + inode = NULL; + goto out; + } + + ii_write_lock_child(inode); + +out: + return inode; +} + +static void au_hn_bh(void *_args) +{ + struct au_hnotify_args *a = _args; + struct super_block *sb; + aufs_bindex_t bindex, bbot, bfound; + unsigned char xino, try_iput; + int err; + struct inode *inode; + ino_t h_ino; + struct hn_job_args args; + struct dentry *dentry; + struct au_sbinfo *sbinfo; + + AuDebugOn(!_args); + AuDebugOn(!a->h_dir); + AuDebugOn(!a->dir); + AuDebugOn(!a->mask); + AuDbg("mask 0x%x, i%lu, hi%lu, hci%lu\n", + a->mask, a->dir->i_ino, a->h_dir->i_ino, + a->h_child_inode ? a->h_child_inode->i_ino : 0); + + inode = NULL; + dentry = NULL; + /* + * do not lock a->dir->i_mutex here + * because of d_revalidate() may cause a deadlock. + */ + sb = a->dir->i_sb; + AuDebugOn(!sb); + sbinfo = au_sbi(sb); + AuDebugOn(!sbinfo); + si_write_lock(sb, AuLock_NOPLMW); + + if (au_opt_test(sbinfo->si_mntflags, DIRREN)) + switch (a->mask & FS_EVENTS_POSS_ON_CHILD) { + case FS_MOVED_FROM: + case FS_MOVED_TO: + AuWarn1("DIRREN with UDBA may not work correctly " + "for the direct rename(2)\n"); + } + + ii_read_lock_parent(a->dir); + bfound = -1; + bbot = au_ibbot(a->dir); + for (bindex = au_ibtop(a->dir); bindex <= bbot; bindex++) + if (au_h_iptr(a->dir, bindex) == a->h_dir) { + bfound = bindex; + break; + } + ii_read_unlock(a->dir); + if (unlikely(bfound < 0)) + goto out; + + xino = !!au_opt_test(au_mntflags(sb), XINO); + h_ino = 0; + if (a->h_child_inode) + h_ino = a->h_child_inode->i_ino; + + if (a->h_child_nlen + && (au_ftest_hnjob(a->flags[AuHn_CHILD], GEN) + || au_ftest_hnjob(a->flags[AuHn_CHILD], MNTPNT))) + dentry = lookup_wlock_by_name(a->h_child_name, a->h_child_nlen, + a->dir); + try_iput = 0; + if (dentry && d_really_is_positive(dentry)) + inode = d_inode(dentry); + if (xino && !inode && h_ino + && (au_ftest_hnjob(a->flags[AuHn_CHILD], XINO0) + || au_ftest_hnjob(a->flags[AuHn_CHILD], TRYXINO0) + || au_ftest_hnjob(a->flags[AuHn_CHILD], GEN))) { + inode = lookup_wlock_by_ino(sb, bfound, h_ino); + try_iput = 1; + } + + args.flags = a->flags[AuHn_CHILD]; + args.dentry = dentry; + args.inode = inode; + args.h_inode = a->h_child_inode; + args.dir = a->dir; + args.h_dir = a->h_dir; + args.h_name = a->h_child_name; + args.h_nlen = a->h_child_nlen; + err = hn_job(&args); + if (dentry) { + if (au_di(dentry)) + di_write_unlock(dentry); + dput(dentry); + } + if (inode && try_iput) { + ii_write_unlock(inode); + iput(inode); + } + + ii_write_lock_parent(a->dir); + args.flags = a->flags[AuHn_PARENT]; + args.dentry = NULL; + args.inode = a->dir; + args.h_inode = a->h_dir; + args.dir = NULL; + args.h_dir = NULL; + args.h_name = NULL; + args.h_nlen = 0; + err = hn_job(&args); + ii_write_unlock(a->dir); + +out: + iput(a->h_child_inode); + iput(a->h_dir); + iput(a->dir); + si_write_unlock(sb); + au_nwt_done(&sbinfo->si_nowait); + au_kfree_rcu(a); +} + +/* ---------------------------------------------------------------------- */ + +int au_hnotify(struct inode *h_dir, struct au_hnotify *hnotify, u32 mask, + const struct qstr *h_child_qstr, struct inode *h_child_inode) +{ + int err, len; + unsigned int flags[AuHnLast], f; + unsigned char isdir, isroot, wh; + struct inode *dir; + struct au_hnotify_args *args; + char *p, *h_child_name; + + err = 0; + AuDebugOn(!hnotify || !hnotify->hn_aufs_inode); + dir = igrab(hnotify->hn_aufs_inode); + if (!dir) + goto out; + + isroot = (dir->i_ino == AUFS_ROOT_INO); + wh = 0; + h_child_name = (void *)h_child_qstr->name; + len = h_child_qstr->len; + if (h_child_name) { + if (len > AUFS_WH_PFX_LEN + && !memcmp(h_child_name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + h_child_name += AUFS_WH_PFX_LEN; + len -= AUFS_WH_PFX_LEN; + wh = 1; + } + } + + isdir = 0; + if (h_child_inode) + isdir = !!S_ISDIR(h_child_inode->i_mode); + flags[AuHn_PARENT] = AuHnJob_ISDIR; + flags[AuHn_CHILD] = 0; + if (isdir) + flags[AuHn_CHILD] = AuHnJob_ISDIR; + au_fset_hnjob(flags[AuHn_PARENT], DIRENT); + au_fset_hnjob(flags[AuHn_CHILD], GEN); + switch (mask & ALL_FSNOTIFY_DIRENT_EVENTS) { + case FS_MOVED_FROM: + case FS_MOVED_TO: + au_fset_hnjob(flags[AuHn_CHILD], XINO0); + au_fset_hnjob(flags[AuHn_CHILD], MNTPNT); + /*FALLTHROUGH*/ + case FS_CREATE: + AuDebugOn(!h_child_name); + break; + + case FS_DELETE: + /* + * aufs never be able to get this child inode. + * revalidation should be in d_revalidate() + * by checking i_nlink, i_generation or d_unhashed(). + */ + AuDebugOn(!h_child_name); + au_fset_hnjob(flags[AuHn_CHILD], TRYXINO0); + au_fset_hnjob(flags[AuHn_CHILD], MNTPNT); + break; + + default: + AuDebugOn(1); + } + + if (wh) + h_child_inode = NULL; + + err = -ENOMEM; + /* iput() and kfree() will be called in au_hnotify() */ + args = kmalloc(sizeof(*args) + len + 1, GFP_NOFS); + if (unlikely(!args)) { + AuErr1("no memory\n"); + iput(dir); + goto out; + } + args->flags[AuHn_PARENT] = flags[AuHn_PARENT]; + args->flags[AuHn_CHILD] = flags[AuHn_CHILD]; + args->mask = mask; + args->dir = dir; + args->h_dir = igrab(h_dir); + if (h_child_inode) + h_child_inode = igrab(h_child_inode); /* can be NULL */ + args->h_child_inode = h_child_inode; + args->h_child_nlen = len; + if (len) { + p = (void *)args; + p += sizeof(*args); + memcpy(p, h_child_name, len); + p[len] = 0; + } + + /* NFS fires the event for silly-renamed one from kworker */ + f = 0; + if (!dir->i_nlink + || (au_test_nfs(h_dir->i_sb) && (mask & FS_DELETE))) + f = AuWkq_NEST; + err = au_wkq_nowait(au_hn_bh, args, dir->i_sb, f); + if (unlikely(err)) { + pr_err("wkq %d\n", err); + iput(args->h_child_inode); + iput(args->h_dir); + iput(args->dir); + au_kfree_rcu(args); + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_hnotify_reset_br(unsigned int udba, struct au_branch *br, int perm) +{ + int err; + + AuDebugOn(!(udba & AuOptMask_UDBA)); + + err = 0; + if (au_hnotify_op.reset_br) + err = au_hnotify_op.reset_br(udba, br, perm); + + return err; +} + +int au_hnotify_init_br(struct au_branch *br, int perm) +{ + int err; + + err = 0; + if (au_hnotify_op.init_br) + err = au_hnotify_op.init_br(br, perm); + + return err; +} + +void au_hnotify_fin_br(struct au_branch *br) +{ + if (au_hnotify_op.fin_br) + au_hnotify_op.fin_br(br); +} + +static void au_hn_destroy_cache(void) +{ + kmem_cache_destroy(au_cache[AuCache_HNOTIFY]); + au_cache[AuCache_HNOTIFY] = NULL; +} + +int __init au_hnotify_init(void) +{ + int err; + + err = -ENOMEM; + au_cache[AuCache_HNOTIFY] = AuCache(au_hnotify); + if (au_cache[AuCache_HNOTIFY]) { + err = 0; + if (au_hnotify_op.init) + err = au_hnotify_op.init(); + if (unlikely(err)) + au_hn_destroy_cache(); + } + AuTraceErr(err); + return err; +} + +void au_hnotify_fin(void) +{ + if (au_hnotify_op.fin) + au_hnotify_op.fin(); + + /* cf. au_cache_fin() */ + if (au_cache[AuCache_HNOTIFY]) + au_hn_destroy_cache(); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/i_op.c +++ linux-riscv-5.8-5.8.0/fs/aufs/i_op.c @@ -0,0 +1,1502 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode operations (except add/del/rename) + */ + +#include +#include +#include +#include +#include +#include "aufs.h" + +static int h_permission(struct inode *h_inode, int mask, + struct path *h_path, int brperm) +{ + int err; + const unsigned char write_mask = !!(mask & (MAY_WRITE | MAY_APPEND)); + + err = -EPERM; + if (write_mask && IS_IMMUTABLE(h_inode)) + goto out; + + err = -EACCES; + if (((mask & MAY_EXEC) + && S_ISREG(h_inode->i_mode) + && (path_noexec(h_path) + || !(h_inode->i_mode & 0111)))) + goto out; + + /* + * - skip the lower fs test in the case of write to ro branch. + * - nfs dir permission write check is optimized, but a policy for + * link/rename requires a real check. + * - nfs always sets SB_POSIXACL regardless its mount option 'noacl.' + * in this case, generic_permission() returns -EOPNOTSUPP. + */ + if ((write_mask && !au_br_writable(brperm)) + || (au_test_nfs(h_inode->i_sb) && S_ISDIR(h_inode->i_mode) + && write_mask && !(mask & MAY_READ)) + || !h_inode->i_op->permission) { + /* AuLabel(generic_permission); */ + /* AuDbg("get_acl %ps\n", h_inode->i_op->get_acl); */ + err = generic_permission(h_inode, mask); + if (err == -EOPNOTSUPP && au_test_nfs_noacl(h_inode)) + err = h_inode->i_op->permission(h_inode, mask); + AuTraceErr(err); + } else { + /* AuLabel(h_inode->permission); */ + err = h_inode->i_op->permission(h_inode, mask); + AuTraceErr(err); + } + + if (!err) + err = devcgroup_inode_permission(h_inode, mask); + if (!err) + err = security_inode_permission(h_inode, mask); + +out: + return err; +} + +static int aufs_permission(struct inode *inode, int mask) +{ + int err; + aufs_bindex_t bindex, bbot; + const unsigned char isdir = !!S_ISDIR(inode->i_mode), + write_mask = !!(mask & (MAY_WRITE | MAY_APPEND)); + struct inode *h_inode; + struct super_block *sb; + struct au_branch *br; + + /* todo: support rcu-walk? */ + if (mask & MAY_NOT_BLOCK) + return -ECHILD; + + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH); + ii_read_lock_child(inode); +#if 0 /* reserved for future use */ + /* + * This test may be rather 'too much' since the test is essentially done + * in the aufs_lookup(). Theoretically it is possible that the inode + * generation doesn't match to the superblock's here. But it isn't a + * big deal I suppose. + */ + err = au_iigen_test(inode, au_sigen(sb)); + if (unlikely(err)) + goto out; +#endif + + if (!isdir + || write_mask + || au_opt_test(au_mntflags(sb), DIRPERM1)) { + err = au_busy_or_stale(); + h_inode = au_h_iptr(inode, au_ibtop(inode)); + if (unlikely(!h_inode + || (h_inode->i_mode & S_IFMT) + != (inode->i_mode & S_IFMT))) + goto out; + + err = 0; + bindex = au_ibtop(inode); + br = au_sbr(sb, bindex); + err = h_permission(h_inode, mask, &br->br_path, br->br_perm); + if (write_mask + && !err + && !special_file(h_inode->i_mode)) { + /* test whether the upper writable branch exists */ + err = -EROFS; + for (; bindex >= 0; bindex--) + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = 0; + break; + } + } + goto out; + } + + /* non-write to dir */ + err = 0; + bbot = au_ibbot(inode); + for (bindex = au_ibtop(inode); !err && bindex <= bbot; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (h_inode) { + err = au_busy_or_stale(); + if (unlikely(!S_ISDIR(h_inode->i_mode))) + break; + + br = au_sbr(sb, bindex); + err = h_permission(h_inode, mask, &br->br_path, + br->br_perm); + } + } + +out: + ii_read_unlock(inode); + si_read_unlock(sb); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *aufs_lookup(struct inode *dir, struct dentry *dentry, + unsigned int flags) +{ + struct dentry *ret, *parent; + struct inode *inode; + struct super_block *sb; + int err, npositive; + + IMustLock(dir); + + /* todo: support rcu-walk? */ + ret = ERR_PTR(-ECHILD); + if (flags & LOOKUP_RCU) + goto out; + + ret = ERR_PTR(-ENAMETOOLONG); + if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + goto out; + + sb = dir->i_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + ret = ERR_PTR(err); + if (unlikely(err)) + goto out; + + err = au_di_init(dentry); + ret = ERR_PTR(err); + if (unlikely(err)) + goto out_si; + + inode = NULL; + npositive = 0; /* suppress a warning */ + parent = dentry->d_parent; /* dir inode is locked */ + di_read_lock_parent(parent, AuLock_IR); + err = au_alive_dir(parent); + if (!err) + err = au_digen_test(parent, au_sigen(sb)); + if (!err) { + /* regardless LOOKUP_CREATE, always ALLOW_NEG */ + npositive = au_lkup_dentry(dentry, au_dbtop(parent), + AuLkup_ALLOW_NEG); + err = npositive; + } + di_read_unlock(parent, AuLock_IR); + ret = ERR_PTR(err); + if (unlikely(err < 0)) + goto out_unlock; + + if (npositive) { + inode = au_new_inode(dentry, /*must_new*/0); + if (IS_ERR(inode)) { + ret = (void *)inode; + inode = NULL; + goto out_unlock; + } + } + + if (inode) + atomic_inc(&inode->i_count); + ret = d_splice_alias(inode, dentry); +#if 0 /* reserved for future use */ + if (unlikely(d_need_lookup(dentry))) { + spin_lock(&dentry->d_lock); + dentry->d_flags &= ~DCACHE_NEED_LOOKUP; + spin_unlock(&dentry->d_lock); + } else +#endif + if (inode) { + if (!IS_ERR(ret)) { + iput(inode); + if (ret && ret != dentry) + ii_write_unlock(inode); + } else { + ii_write_unlock(inode); + iput(inode); + inode = NULL; + } + } + +out_unlock: + di_write_unlock(dentry); +out_si: + si_read_unlock(sb); +out: + return ret; +} + +/* ---------------------------------------------------------------------- */ + +/* + * very dirty and complicated aufs ->atomic_open(). + * aufs_atomic_open() + * + au_aopen_or_create() + * + add_simple() + * + vfsub_atomic_open() + * + branch fs ->atomic_open() + * may call the actual 'open' for h_file + * + inc br_nfiles only if opened + * + au_aopen_no_open() or au_aopen_do_open() + * + * au_aopen_do_open() + * + finish_open() + * + au_do_aopen() + * + au_do_open() the body of all 'open' + * + au_do_open_nondir() + * set the passed h_file + * + * au_aopen_no_open() + * + finish_no_open() + */ + +struct aopen_node { + struct hlist_bl_node hblist; + struct file *file, *h_file; +}; + +static int au_do_aopen(struct inode *inode, struct file *file) +{ + struct hlist_bl_head *aopen; + struct hlist_bl_node *pos; + struct aopen_node *node; + struct au_do_open_args args = { + .aopen = 1, + .open = au_do_open_nondir + }; + + aopen = &au_sbi(inode->i_sb)->si_aopen; + hlist_bl_lock(aopen); + hlist_bl_for_each_entry(node, pos, aopen, hblist) + if (node->file == file) { + args.h_file = node->h_file; + break; + } + hlist_bl_unlock(aopen); + /* AuDebugOn(!args.h_file); */ + + return au_do_open(file, &args); +} + +static int au_aopen_do_open(struct file *file, struct dentry *dentry, + struct aopen_node *aopen_node) +{ + int err; + struct hlist_bl_head *aopen; + + AuLabel(here); + aopen = &au_sbi(dentry->d_sb)->si_aopen; + au_hbl_add(&aopen_node->hblist, aopen); + err = finish_open(file, dentry, au_do_aopen); + au_hbl_del(&aopen_node->hblist, aopen); + /* AuDbgFile(file); */ + AuDbg("%pd%s%s\n", dentry, + (file->f_mode & FMODE_CREATED) ? " created" : "", + (file->f_mode & FMODE_OPENED) ? " opened" : ""); + + AuTraceErr(err); + return err; +} + +static int au_aopen_no_open(struct file *file, struct dentry *dentry) +{ + int err; + + AuLabel(here); + dget(dentry); + err = finish_no_open(file, dentry); + + AuTraceErr(err); + return err; +} + +static int aufs_atomic_open(struct inode *dir, struct dentry *dentry, + struct file *file, unsigned int open_flag, + umode_t create_mode) +{ + int err, did_open; + unsigned int lkup_flags; + aufs_bindex_t bindex; + struct super_block *sb; + struct dentry *parent, *d; + struct vfsub_aopen_args args = { + .open_flag = open_flag, + .create_mode = create_mode + }; + struct aopen_node aopen_node = { + .file = file + }; + + IMustLock(dir); + AuDbg("open_flag 0%o\n", open_flag); + AuDbgDentry(dentry); + + err = 0; + if (!au_di(dentry)) { + lkup_flags = LOOKUP_OPEN; + if (open_flag & O_CREAT) + lkup_flags |= LOOKUP_CREATE; + d = aufs_lookup(dir, dentry, lkup_flags); + if (IS_ERR(d)) { + err = PTR_ERR(d); + AuTraceErr(err); + goto out; + } else if (d) { + /* + * obsoleted dentry found. + * another error will be returned later. + */ + d_drop(d); + AuDbgDentry(d); + dput(d); + } + AuDbgDentry(dentry); + } + + if (d_is_positive(dentry) + || d_unhashed(dentry) + || d_unlinked(dentry) + || !(open_flag & O_CREAT)) { + err = au_aopen_no_open(file, dentry); + goto out; /* success */ + } + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_FLUSH | AuLock_GEN); + if (unlikely(err)) + goto out; + + sb = dentry->d_sb; + parent = dentry->d_parent; /* dir is locked */ + di_write_lock_parent(parent); + err = au_lkup_dentry(dentry, /*btop*/0, AuLkup_ALLOW_NEG); + if (unlikely(err < 0)) + goto out_parent; + + AuDbgDentry(dentry); + if (d_is_positive(dentry)) { + err = au_aopen_no_open(file, dentry); + goto out_parent; /* success */ + } + + args.file = alloc_empty_file(file->f_flags, current_cred()); + err = PTR_ERR(args.file); + if (IS_ERR(args.file)) + goto out_parent; + + bindex = au_dbtop(dentry); + err = au_aopen_or_create(dir, dentry, &args); + AuTraceErr(err); + AuDbgFile(args.file); + file->f_mode = args.file->f_mode & ~FMODE_OPENED; + did_open = !!(args.file->f_mode & FMODE_OPENED); + if (!did_open) { + fput(args.file); + args.file = NULL; + } + di_write_unlock(parent); + di_write_unlock(dentry); + if (unlikely(err < 0)) { + if (args.file) + fput(args.file); + goto out_sb; + } + + if (!did_open) + err = au_aopen_no_open(file, dentry); + else { + aopen_node.h_file = args.file; + err = au_aopen_do_open(file, dentry, &aopen_node); + } + if (unlikely(err < 0)) { + if (args.file) + fput(args.file); + if (did_open) + au_lcnt_dec(&args.br->br_nfiles); + } + goto out_sb; /* success */ + +out_parent: + di_write_unlock(parent); + di_write_unlock(dentry); +out_sb: + si_read_unlock(sb); +out: + AuTraceErr(err); + AuDbgFile(file); + return err; +} + + +/* ---------------------------------------------------------------------- */ + +static int au_wr_dir_cpup(struct dentry *dentry, struct dentry *parent, + const unsigned char add_entry, aufs_bindex_t bcpup, + aufs_bindex_t btop) +{ + int err; + struct dentry *h_parent; + struct inode *h_dir; + + if (add_entry) + IMustLock(d_inode(parent)); + else + di_write_lock_parent(parent); + + err = 0; + if (!au_h_dptr(parent, bcpup)) { + if (btop > bcpup) + err = au_cpup_dirs(dentry, bcpup); + else if (btop < bcpup) + err = au_cpdown_dirs(dentry, bcpup); + else + BUG(); + } + if (!err && add_entry && !au_ftest_wrdir(add_entry, TMPFILE)) { + h_parent = au_h_dptr(parent, bcpup); + h_dir = d_inode(h_parent); + inode_lock_shared_nested(h_dir, AuLsc_I_PARENT); + err = au_lkup_neg(dentry, bcpup, /*wh*/0); + /* todo: no unlock here */ + inode_unlock_shared(h_dir); + + AuDbg("bcpup %d\n", bcpup); + if (!err) { + if (d_really_is_negative(dentry)) + au_set_h_dptr(dentry, btop, NULL); + au_update_dbrange(dentry, /*do_put_zero*/0); + } + } + + if (!add_entry) + di_write_unlock(parent); + if (!err) + err = bcpup; /* success */ + + AuTraceErr(err); + return err; +} + +/* + * decide the branch and the parent dir where we will create a new entry. + * returns new bindex or an error. + * copyup the parent dir if needed. + */ +int au_wr_dir(struct dentry *dentry, struct dentry *src_dentry, + struct au_wr_dir_args *args) +{ + int err; + unsigned int flags; + aufs_bindex_t bcpup, btop, src_btop; + const unsigned char add_entry + = au_ftest_wrdir(args->flags, ADD_ENTRY) + | au_ftest_wrdir(args->flags, TMPFILE); + struct super_block *sb; + struct dentry *parent; + struct au_sbinfo *sbinfo; + + sb = dentry->d_sb; + sbinfo = au_sbi(sb); + parent = dget_parent(dentry); + btop = au_dbtop(dentry); + bcpup = btop; + if (args->force_btgt < 0) { + if (src_dentry) { + src_btop = au_dbtop(src_dentry); + if (src_btop < btop) + bcpup = src_btop; + } else if (add_entry) { + flags = 0; + if (au_ftest_wrdir(args->flags, ISDIR)) + au_fset_wbr(flags, DIR); + err = AuWbrCreate(sbinfo, dentry, flags); + bcpup = err; + } + + if (bcpup < 0 || au_test_ro(sb, bcpup, d_inode(dentry))) { + if (add_entry) + err = AuWbrCopyup(sbinfo, dentry); + else { + if (!IS_ROOT(dentry)) { + di_read_lock_parent(parent, !AuLock_IR); + err = AuWbrCopyup(sbinfo, dentry); + di_read_unlock(parent, !AuLock_IR); + } else + err = AuWbrCopyup(sbinfo, dentry); + } + bcpup = err; + if (unlikely(err < 0)) + goto out; + } + } else { + bcpup = args->force_btgt; + AuDebugOn(au_test_ro(sb, bcpup, d_inode(dentry))); + } + + AuDbg("btop %d, bcpup %d\n", btop, bcpup); + err = bcpup; + if (bcpup == btop) + goto out; /* success */ + + /* copyup the new parent into the branch we process */ + err = au_wr_dir_cpup(dentry, parent, add_entry, bcpup, btop); + if (err >= 0) { + if (d_really_is_negative(dentry)) { + au_set_h_dptr(dentry, btop, NULL); + au_set_dbtop(dentry, bcpup); + au_set_dbbot(dentry, bcpup); + } + AuDebugOn(add_entry + && !au_ftest_wrdir(args->flags, TMPFILE) + && !au_h_dptr(dentry, bcpup)); + } + +out: + dput(parent); + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_pin_hdir_unlock(struct au_pin *p) +{ + if (p->hdir) + au_hn_inode_unlock(p->hdir); +} + +int au_pin_hdir_lock(struct au_pin *p) +{ + int err; + + err = 0; + if (!p->hdir) + goto out; + + /* even if an error happens later, keep this lock */ + au_hn_inode_lock_nested(p->hdir, p->lsc_hi); + + err = -EBUSY; + if (unlikely(p->hdir->hi_inode != d_inode(p->h_parent))) + goto out; + + err = 0; + if (p->h_dentry) + err = au_h_verify(p->h_dentry, p->udba, p->hdir->hi_inode, + p->h_parent, p->br); + +out: + return err; +} + +int au_pin_hdir_relock(struct au_pin *p) +{ + int err, i; + struct inode *h_i; + struct dentry *h_d[] = { + p->h_dentry, + p->h_parent + }; + + err = au_pin_hdir_lock(p); + if (unlikely(err)) + goto out; + + for (i = 0; !err && i < sizeof(h_d)/sizeof(*h_d); i++) { + if (!h_d[i]) + continue; + if (d_is_positive(h_d[i])) { + h_i = d_inode(h_d[i]); + err = !h_i->i_nlink; + } + } + +out: + return err; +} + +static void au_pin_hdir_set_owner(struct au_pin *p, struct task_struct *task) +{ + atomic_long_set(&p->hdir->hi_inode->i_rwsem.owner, (long)task); +} + +void au_pin_hdir_acquire_nest(struct au_pin *p) +{ + if (p->hdir) { + rwsem_acquire_nest(&p->hdir->hi_inode->i_rwsem.dep_map, + p->lsc_hi, 0, NULL, _RET_IP_); + au_pin_hdir_set_owner(p, current); + } +} + +void au_pin_hdir_release(struct au_pin *p) +{ + if (p->hdir) { + au_pin_hdir_set_owner(p, p->task); + rwsem_release(&p->hdir->hi_inode->i_rwsem.dep_map, _RET_IP_); + } +} + +struct dentry *au_pinned_h_parent(struct au_pin *pin) +{ + if (pin && pin->parent) + return au_h_dptr(pin->parent, pin->bindex); + return NULL; +} + +void au_unpin(struct au_pin *p) +{ + if (p->hdir) + au_pin_hdir_unlock(p); + if (p->h_mnt && au_ftest_pin(p->flags, MNT_WRITE)) + vfsub_mnt_drop_write(p->h_mnt); + if (!p->hdir) + return; + + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_unlock(p->parent, AuLock_IR); + iput(p->hdir->hi_inode); + dput(p->parent); + p->parent = NULL; + p->hdir = NULL; + p->h_mnt = NULL; + /* do not clear p->task */ +} + +int au_do_pin(struct au_pin *p) +{ + int err; + struct super_block *sb; + struct inode *h_dir; + + err = 0; + sb = p->dentry->d_sb; + p->br = au_sbr(sb, p->bindex); + if (IS_ROOT(p->dentry)) { + if (au_ftest_pin(p->flags, MNT_WRITE)) { + p->h_mnt = au_br_mnt(p->br); + err = vfsub_mnt_want_write(p->h_mnt); + if (unlikely(err)) { + au_fclr_pin(p->flags, MNT_WRITE); + goto out_err; + } + } + goto out; + } + + p->h_dentry = NULL; + if (p->bindex <= au_dbbot(p->dentry)) + p->h_dentry = au_h_dptr(p->dentry, p->bindex); + + p->parent = dget_parent(p->dentry); + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_lock(p->parent, AuLock_IR, p->lsc_di); + + h_dir = NULL; + p->h_parent = au_h_dptr(p->parent, p->bindex); + p->hdir = au_hi(d_inode(p->parent), p->bindex); + if (p->hdir) + h_dir = p->hdir->hi_inode; + + /* + * udba case, or + * if DI_LOCKED is not set, then p->parent may be different + * and h_parent can be NULL. + */ + if (unlikely(!p->hdir || !h_dir || !p->h_parent)) { + err = -EBUSY; + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_unlock(p->parent, AuLock_IR); + dput(p->parent); + p->parent = NULL; + goto out_err; + } + + if (au_ftest_pin(p->flags, MNT_WRITE)) { + p->h_mnt = au_br_mnt(p->br); + err = vfsub_mnt_want_write(p->h_mnt); + if (unlikely(err)) { + au_fclr_pin(p->flags, MNT_WRITE); + if (!au_ftest_pin(p->flags, DI_LOCKED)) + di_read_unlock(p->parent, AuLock_IR); + dput(p->parent); + p->parent = NULL; + goto out_err; + } + } + + au_igrab(h_dir); + err = au_pin_hdir_lock(p); + if (!err) + goto out; /* success */ + + au_unpin(p); + +out_err: + pr_err("err %d\n", err); + err = au_busy_or_stale(); +out: + return err; +} + +void au_pin_init(struct au_pin *p, struct dentry *dentry, + aufs_bindex_t bindex, int lsc_di, int lsc_hi, + unsigned int udba, unsigned char flags) +{ + p->dentry = dentry; + p->udba = udba; + p->lsc_di = lsc_di; + p->lsc_hi = lsc_hi; + p->flags = flags; + p->bindex = bindex; + + p->parent = NULL; + p->hdir = NULL; + p->h_mnt = NULL; + + p->h_dentry = NULL; + p->h_parent = NULL; + p->br = NULL; + p->task = current; +} + +int au_pin(struct au_pin *pin, struct dentry *dentry, aufs_bindex_t bindex, + unsigned int udba, unsigned char flags) +{ + au_pin_init(pin, dentry, bindex, AuLsc_DI_PARENT, AuLsc_I_PARENT2, + udba, flags); + return au_do_pin(pin); +} + +/* ---------------------------------------------------------------------- */ + +/* + * ->setattr() and ->getattr() are called in various cases. + * chmod, stat: dentry is revalidated. + * fchmod, fstat: file and dentry are not revalidated, additionally they may be + * unhashed. + * for ->setattr(), ia->ia_file is passed from ftruncate only. + */ +/* todo: consolidate with do_refresh() and simple_reval_dpath() */ +int au_reval_for_attr(struct dentry *dentry, unsigned int sigen) +{ + int err; + struct dentry *parent; + + err = 0; + if (au_digen_test(dentry, sigen)) { + parent = dget_parent(dentry); + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(dentry, parent); + di_read_unlock(parent, AuLock_IR); + dput(parent); + } + + AuTraceErr(err); + return err; +} + +int au_pin_and_icpup(struct dentry *dentry, struct iattr *ia, + struct au_icpup_args *a) +{ + int err; + loff_t sz; + aufs_bindex_t btop, ibtop; + struct dentry *hi_wh, *parent; + struct inode *inode; + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = 0 + }; + + if (d_is_dir(dentry)) + au_fset_wrdir(wr_dir_args.flags, ISDIR); + /* plink or hi_wh() case */ + btop = au_dbtop(dentry); + inode = d_inode(dentry); + ibtop = au_ibtop(inode); + if (btop != ibtop && !au_test_ro(inode->i_sb, ibtop, inode)) + wr_dir_args.force_btgt = ibtop; + err = au_wr_dir(dentry, /*src_dentry*/NULL, &wr_dir_args); + if (unlikely(err < 0)) + goto out; + a->btgt = err; + if (err != btop) + au_fset_icpup(a->flags, DID_CPUP); + + err = 0; + a->pin_flags = AuPin_MNT_WRITE; + parent = NULL; + if (!IS_ROOT(dentry)) { + au_fset_pin(a->pin_flags, DI_LOCKED); + parent = dget_parent(dentry); + di_write_lock_parent(parent); + } + + err = au_pin(&a->pin, dentry, a->btgt, a->udba, a->pin_flags); + if (unlikely(err)) + goto out_parent; + + sz = -1; + a->h_path.dentry = au_h_dptr(dentry, btop); + a->h_inode = d_inode(a->h_path.dentry); + if (ia && (ia->ia_valid & ATTR_SIZE)) { + inode_lock_shared_nested(a->h_inode, AuLsc_I_CHILD); + if (ia->ia_size < i_size_read(a->h_inode)) + sz = ia->ia_size; + inode_unlock_shared(a->h_inode); + } + + hi_wh = NULL; + if (au_ftest_icpup(a->flags, DID_CPUP) && d_unlinked(dentry)) { + hi_wh = au_hi_wh(inode, a->btgt); + if (!hi_wh) { + struct au_cp_generic cpg = { + .dentry = dentry, + .bdst = a->btgt, + .bsrc = -1, + .len = sz, + .pin = &a->pin + }; + err = au_sio_cpup_wh(&cpg, /*file*/NULL); + if (unlikely(err)) + goto out_unlock; + hi_wh = au_hi_wh(inode, a->btgt); + /* todo: revalidate hi_wh? */ + } + } + + if (parent) { + au_pin_set_parent_lflag(&a->pin, /*lflag*/0); + di_downgrade_lock(parent, AuLock_IR); + dput(parent); + parent = NULL; + } + if (!au_ftest_icpup(a->flags, DID_CPUP)) + goto out; /* success */ + + if (!d_unhashed(dentry)) { + struct au_cp_generic cpg = { + .dentry = dentry, + .bdst = a->btgt, + .bsrc = btop, + .len = sz, + .pin = &a->pin, + .flags = AuCpup_DTIME | AuCpup_HOPEN + }; + err = au_sio_cpup_simple(&cpg); + if (!err) + a->h_path.dentry = au_h_dptr(dentry, a->btgt); + } else if (!hi_wh) + a->h_path.dentry = au_h_dptr(dentry, a->btgt); + else + a->h_path.dentry = hi_wh; /* do not dget here */ + +out_unlock: + a->h_inode = d_inode(a->h_path.dentry); + if (!err) + goto out; /* success */ + au_unpin(&a->pin); +out_parent: + if (parent) { + di_write_unlock(parent); + dput(parent); + } +out: + if (!err) + inode_lock_nested(a->h_inode, AuLsc_I_CHILD); + return err; +} + +static int aufs_setattr(struct dentry *dentry, struct iattr *ia) +{ + int err; + struct inode *inode, *delegated; + struct super_block *sb; + struct file *file; + struct au_icpup_args *a; + + inode = d_inode(dentry); + IMustLock(inode); + + err = setattr_prepare(dentry, ia); + if (unlikely(err)) + goto out; + + err = -ENOMEM; + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + if (ia->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) + ia->ia_valid &= ~ATTR_MODE; + + file = NULL; + sb = dentry->d_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_kfree; + + if (ia->ia_valid & ATTR_FILE) { + /* currently ftruncate(2) only */ + AuDebugOn(!d_is_reg(dentry)); + file = ia->ia_file; + err = au_reval_and_lock_fdi(file, au_reopen_nondir, /*wlock*/1, + /*fi_lsc*/0); + if (unlikely(err)) + goto out_si; + ia->ia_file = au_hf_top(file); + a->udba = AuOpt_UDBA_NONE; + } else { + /* fchmod() doesn't pass ia_file */ + a->udba = au_opt_udba(sb); + di_write_lock_child(dentry); + /* no d_unlinked(), to set UDBA_NONE for root */ + if (d_unhashed(dentry)) + a->udba = AuOpt_UDBA_NONE; + if (a->udba != AuOpt_UDBA_NONE) { + AuDebugOn(IS_ROOT(dentry)); + err = au_reval_for_attr(dentry, au_sigen(sb)); + if (unlikely(err)) + goto out_dentry; + } + } + + err = au_pin_and_icpup(dentry, ia, a); + if (unlikely(err < 0)) + goto out_dentry; + if (au_ftest_icpup(a->flags, DID_CPUP)) { + ia->ia_file = NULL; + ia->ia_valid &= ~ATTR_FILE; + } + + a->h_path.mnt = au_sbr_mnt(sb, a->btgt); + if ((ia->ia_valid & (ATTR_MODE | ATTR_CTIME)) + == (ATTR_MODE | ATTR_CTIME)) { + err = security_path_chmod(&a->h_path, ia->ia_mode); + if (unlikely(err)) + goto out_unlock; + } else if ((ia->ia_valid & (ATTR_UID | ATTR_GID)) + && (ia->ia_valid & ATTR_CTIME)) { + err = security_path_chown(&a->h_path, ia->ia_uid, ia->ia_gid); + if (unlikely(err)) + goto out_unlock; + } + + if (ia->ia_valid & ATTR_SIZE) { + struct file *f; + + if (ia->ia_size < i_size_read(inode)) + /* unmap only */ + truncate_setsize(inode, ia->ia_size); + + f = NULL; + if (ia->ia_valid & ATTR_FILE) + f = ia->ia_file; + inode_unlock(a->h_inode); + err = vfsub_trunc(&a->h_path, ia->ia_size, ia->ia_valid, f); + inode_lock_nested(a->h_inode, AuLsc_I_CHILD); + } else { + delegated = NULL; + while (1) { + err = vfsub_notify_change(&a->h_path, ia, &delegated); + if (delegated) { + err = break_deleg_wait(&delegated); + if (!err) + continue; + } + break; + } + } + /* + * regardless aufs 'acl' option setting. + * why don't all acl-aware fs call this func from their ->setattr()? + */ + if (!err && (ia->ia_valid & ATTR_MODE)) + err = vfsub_acl_chmod(a->h_inode, ia->ia_mode); + if (!err) + au_cpup_attr_changeable(inode); + +out_unlock: + inode_unlock(a->h_inode); + au_unpin(&a->pin); + if (unlikely(err)) + au_update_dbtop(dentry); +out_dentry: + di_write_unlock(dentry); + if (file) { + fi_write_unlock(file); + ia->ia_file = file; + ia->ia_valid |= ATTR_FILE; + } +out_si: + si_read_unlock(sb); +out_kfree: + au_kfree_rcu(a); +out: + AuTraceErr(err); + return err; +} + +#if IS_ENABLED(CONFIG_AUFS_XATTR) || IS_ENABLED(CONFIG_FS_POSIX_ACL) +static int au_h_path_to_set_attr(struct dentry *dentry, + struct au_icpup_args *a, struct path *h_path) +{ + int err; + struct super_block *sb; + + sb = dentry->d_sb; + a->udba = au_opt_udba(sb); + /* no d_unlinked(), to set UDBA_NONE for root */ + if (d_unhashed(dentry)) + a->udba = AuOpt_UDBA_NONE; + if (a->udba != AuOpt_UDBA_NONE) { + AuDebugOn(IS_ROOT(dentry)); + err = au_reval_for_attr(dentry, au_sigen(sb)); + if (unlikely(err)) + goto out; + } + err = au_pin_and_icpup(dentry, /*ia*/NULL, a); + if (unlikely(err < 0)) + goto out; + + h_path->dentry = a->h_path.dentry; + h_path->mnt = au_sbr_mnt(sb, a->btgt); + +out: + return err; +} + +ssize_t au_sxattr(struct dentry *dentry, struct inode *inode, + struct au_sxattr *arg) +{ + int err; + struct path h_path; + struct super_block *sb; + struct au_icpup_args *a; + struct inode *h_inode; + + IMustLock(inode); + + err = -ENOMEM; + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + sb = dentry->d_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_kfree; + + h_path.dentry = NULL; /* silence gcc */ + di_write_lock_child(dentry); + err = au_h_path_to_set_attr(dentry, a, &h_path); + if (unlikely(err)) + goto out_di; + + inode_unlock(a->h_inode); + switch (arg->type) { + case AU_XATTR_SET: + AuDebugOn(d_is_negative(h_path.dentry)); + err = vfsub_setxattr(h_path.dentry, + arg->u.set.name, arg->u.set.value, + arg->u.set.size, arg->u.set.flags); + break; + case AU_ACL_SET: + err = -EOPNOTSUPP; + h_inode = d_inode(h_path.dentry); + if (h_inode->i_op->set_acl) + /* this will call posix_acl_update_mode */ + err = h_inode->i_op->set_acl(h_inode, + arg->u.acl_set.acl, + arg->u.acl_set.type); + break; + } + if (!err) + au_cpup_attr_timesizes(inode); + + au_unpin(&a->pin); + if (unlikely(err)) + au_update_dbtop(dentry); + +out_di: + di_write_unlock(dentry); + si_read_unlock(sb); +out_kfree: + au_kfree_rcu(a); +out: + AuTraceErr(err); + return err; +} +#endif + +static void au_refresh_iattr(struct inode *inode, struct kstat *st, + unsigned int nlink) +{ + unsigned int n; + + inode->i_mode = st->mode; + /* don't i_[ug]id_write() here */ + inode->i_uid = st->uid; + inode->i_gid = st->gid; + inode->i_atime = st->atime; + inode->i_mtime = st->mtime; + inode->i_ctime = st->ctime; + + au_cpup_attr_nlink(inode, /*force*/0); + if (S_ISDIR(inode->i_mode)) { + n = inode->i_nlink; + n -= nlink; + n += st->nlink; + smp_mb(); /* for i_nlink */ + /* 0 can happen */ + set_nlink(inode, n); + } + + spin_lock(&inode->i_lock); + inode->i_blocks = st->blocks; + i_size_write(inode, st->size); + spin_unlock(&inode->i_lock); +} + +/* + * common routine for aufs_getattr() and au_getxattr(). + * returns zero or negative (an error). + * @dentry will be read-locked in success. + */ +int au_h_path_getattr(struct dentry *dentry, struct inode *inode, int force, + struct path *h_path, int locked) +{ + int err; + unsigned int mnt_flags, sigen; + unsigned char udba_none; + aufs_bindex_t bindex; + struct super_block *sb, *h_sb; + + h_path->mnt = NULL; + h_path->dentry = NULL; + + err = 0; + sb = dentry->d_sb; + mnt_flags = au_mntflags(sb); + udba_none = !!au_opt_test(mnt_flags, UDBA_NONE); + + if (unlikely(locked)) + goto body; /* skip locking dinfo */ + + /* support fstat(2) */ + if (!d_unlinked(dentry) && !udba_none) { + sigen = au_sigen(sb); + err = au_digen_test(dentry, sigen); + if (!err) { + di_read_lock_child(dentry, AuLock_IR); + err = au_dbrange_test(dentry); + if (unlikely(err)) { + di_read_unlock(dentry, AuLock_IR); + goto out; + } + } else { + AuDebugOn(IS_ROOT(dentry)); + di_write_lock_child(dentry); + err = au_dbrange_test(dentry); + if (!err) + err = au_reval_for_attr(dentry, sigen); + if (!err) + di_downgrade_lock(dentry, AuLock_IR); + else { + di_write_unlock(dentry); + goto out; + } + } + } else + di_read_lock_child(dentry, AuLock_IR); + +body: + if (!inode) { + inode = d_inode(dentry); + if (unlikely(!inode)) + goto out; + } + bindex = au_ibtop(inode); + h_path->mnt = au_sbr_mnt(sb, bindex); + h_sb = h_path->mnt->mnt_sb; + if (!force + && !au_test_fs_bad_iattr(h_sb) + && udba_none) + goto out; /* success */ + + if (au_dbtop(dentry) == bindex) + h_path->dentry = au_h_dptr(dentry, bindex); + else if (au_opt_test(mnt_flags, PLINK) && au_plink_test(inode)) { + h_path->dentry = au_plink_lkup(inode, bindex); + if (IS_ERR(h_path->dentry)) + /* pretending success */ + h_path->dentry = NULL; + else + dput(h_path->dentry); + } + +out: + return err; +} + +static int aufs_getattr(const struct path *path, struct kstat *st, + u32 request, unsigned int query) +{ + int err; + unsigned char positive; + struct path h_path; + struct dentry *dentry; + struct inode *inode; + struct super_block *sb; + + dentry = path->dentry; + inode = d_inode(dentry); + sb = dentry->d_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out; + err = au_h_path_getattr(dentry, /*inode*/NULL, /*force*/0, &h_path, + /*locked*/0); + if (unlikely(err)) + goto out_si; + if (unlikely(!h_path.dentry)) + /* illegally overlapped or something */ + goto out_fill; /* pretending success */ + + positive = d_is_positive(h_path.dentry); + if (positive) + /* no vfsub version */ + err = vfs_getattr(&h_path, st, request, query); + if (!err) { + if (positive) + au_refresh_iattr(inode, st, + d_inode(h_path.dentry)->i_nlink); + goto out_fill; /* success */ + } + AuTraceErr(err); + goto out_di; + +out_fill: + generic_fillattr(inode, st); +out_di: + di_read_unlock(dentry, AuLock_IR); +out_si: + si_read_unlock(sb); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static const char *aufs_get_link(struct dentry *dentry, struct inode *inode, + struct delayed_call *done) +{ + const char *ret; + struct dentry *h_dentry; + struct inode *h_inode; + int err; + aufs_bindex_t bindex; + + ret = NULL; /* suppress a warning */ + err = -ECHILD; + if (!dentry) + goto out; + + err = aufs_read_lock(dentry, AuLock_IR | AuLock_GEN); + if (unlikely(err)) + goto out; + + err = au_d_hashed_positive(dentry); + if (unlikely(err)) + goto out_unlock; + + err = -EINVAL; + inode = d_inode(dentry); + bindex = au_ibtop(inode); + h_inode = au_h_iptr(inode, bindex); + if (unlikely(!h_inode->i_op->get_link)) + goto out_unlock; + + err = -EBUSY; + h_dentry = NULL; + if (au_dbtop(dentry) <= bindex) { + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry) + dget(h_dentry); + } + if (!h_dentry) { + h_dentry = d_find_any_alias(h_inode); + if (IS_ERR(h_dentry)) { + err = PTR_ERR(h_dentry); + goto out_unlock; + } + } + if (unlikely(!h_dentry)) + goto out_unlock; + + err = 0; + AuDbg("%ps\n", h_inode->i_op->get_link); + AuDbgDentry(h_dentry); + ret = vfs_get_link(h_dentry, done); + dput(h_dentry); + if (IS_ERR(ret)) + err = PTR_ERR(ret); + +out_unlock: + aufs_read_unlock(dentry, AuLock_IR); +out: + if (unlikely(err)) + ret = ERR_PTR(err); + AuTraceErrPtr(ret); + return ret; +} + +/* ---------------------------------------------------------------------- */ + +static int au_is_special(struct inode *inode) +{ + return (inode->i_mode & (S_IFBLK | S_IFCHR | S_IFIFO | S_IFSOCK)); +} + +static int aufs_update_time(struct inode *inode, struct timespec64 *ts, + int flags) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb; + struct inode *h_inode; + struct vfsmount *h_mnt; + + sb = inode->i_sb; + WARN_ONCE((flags & S_ATIME) && !IS_NOATIME(inode), + "unexpected s_flags 0x%lx", sb->s_flags); + + /* mmap_sem might be acquired already, cf. aufs_mmap() */ + lockdep_off(); + si_read_lock(sb, AuLock_FLUSH); + ii_write_lock_child(inode); + + err = 0; + bindex = au_ibtop(inode); + h_inode = au_h_iptr(inode, bindex); + if (!au_test_ro(sb, bindex, inode)) { + h_mnt = au_sbr_mnt(sb, bindex); + err = vfsub_mnt_want_write(h_mnt); + if (!err) { + err = vfsub_update_time(h_inode, ts, flags); + vfsub_mnt_drop_write(h_mnt); + } + } else if (au_is_special(h_inode)) { + /* + * Never copy-up here. + * These special files may already be opened and used for + * communicating. If we copied it up, then the communication + * would be corrupted. + */ + AuWarn1("timestamps for i%lu are ignored " + "since it is on readonly branch (hi%lu).\n", + inode->i_ino, h_inode->i_ino); + } else if (flags & ~S_ATIME) { + err = -EIO; + AuIOErr1("unexpected flags 0x%x\n", flags); + AuDebugOn(1); + } + + if (!err) + au_cpup_attr_timesizes(inode); + ii_write_unlock(inode); + si_read_unlock(sb); + lockdep_on(); + + if (!err && (flags & S_VERSION)) + inode_inc_iversion(inode); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* no getattr version will be set by module.c:aufs_init() */ +struct inode_operations aufs_iop_nogetattr[AuIop_Last], + aufs_iop[] = { + [AuIop_SYMLINK] = { + .permission = aufs_permission, +#ifdef CONFIG_FS_POSIX_ACL + .get_acl = aufs_get_acl, + .set_acl = aufs_set_acl, /* unsupport for symlink? */ +#endif + + .setattr = aufs_setattr, + .getattr = aufs_getattr, + +#ifdef CONFIG_AUFS_XATTR + .listxattr = aufs_listxattr, +#endif + + .get_link = aufs_get_link, + + /* .update_time = aufs_update_time */ + }, + [AuIop_DIR] = { + .create = aufs_create, + .lookup = aufs_lookup, + .link = aufs_link, + .unlink = aufs_unlink, + .symlink = aufs_symlink, + .mkdir = aufs_mkdir, + .rmdir = aufs_rmdir, + .mknod = aufs_mknod, + .rename = aufs_rename, + + .permission = aufs_permission, +#ifdef CONFIG_FS_POSIX_ACL + .get_acl = aufs_get_acl, + .set_acl = aufs_set_acl, +#endif + + .setattr = aufs_setattr, + .getattr = aufs_getattr, + +#ifdef CONFIG_AUFS_XATTR + .listxattr = aufs_listxattr, +#endif + + .update_time = aufs_update_time, + .atomic_open = aufs_atomic_open, + .tmpfile = aufs_tmpfile + }, + [AuIop_OTHER] = { + .permission = aufs_permission, +#ifdef CONFIG_FS_POSIX_ACL + .get_acl = aufs_get_acl, + .set_acl = aufs_set_acl, +#endif + + .setattr = aufs_setattr, + .getattr = aufs_getattr, + +#ifdef CONFIG_AUFS_XATTR + .listxattr = aufs_listxattr, +#endif + + .update_time = aufs_update_time + } +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/i_op_add.c +++ linux-riscv-5.8-5.8.0/fs/aufs/i_op_add.c @@ -0,0 +1,936 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode operations (add entry) + */ + +#include +#include "aufs.h" + +/* + * final procedure of adding a new entry, except link(2). + * remove whiteout, instantiate, copyup the parent dir's times and size + * and update version. + * if it failed, re-create the removed whiteout. + */ +static int epilog(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct dentry *dentry) +{ + int err, rerr; + aufs_bindex_t bwh; + struct path h_path; + struct super_block *sb; + struct inode *inode, *h_dir; + struct dentry *wh; + + bwh = -1; + sb = dir->i_sb; + if (wh_dentry) { + h_dir = d_inode(wh_dentry->d_parent); /* dir inode is locked */ + IMustLock(h_dir); + AuDebugOn(au_h_iptr(dir, bindex) != h_dir); + bwh = au_dbwh(dentry); + h_path.dentry = wh_dentry; + h_path.mnt = au_sbr_mnt(sb, bindex); + err = au_wh_unlink_dentry(au_h_iptr(dir, bindex), &h_path, + dentry); + if (unlikely(err)) + goto out; + } + + inode = au_new_inode(dentry, /*must_new*/1); + if (!IS_ERR(inode)) { + d_instantiate(dentry, inode); + dir = d_inode(dentry->d_parent); /* dir inode is locked */ + IMustLock(dir); + au_dir_ts(dir, bindex); + inode_inc_iversion(dir); + au_fhsm_wrote(sb, bindex, /*force*/0); + return 0; /* success */ + } + + err = PTR_ERR(inode); + if (!wh_dentry) + goto out; + + /* revert */ + /* dir inode is locked */ + wh = au_wh_create(dentry, bwh, wh_dentry->d_parent); + rerr = PTR_ERR(wh); + if (IS_ERR(wh)) { + AuIOErr("%pd reverting whiteout failed(%d, %d)\n", + dentry, err, rerr); + err = -EIO; + } else + dput(wh); + +out: + return err; +} + +static int au_d_may_add(struct dentry *dentry) +{ + int err; + + err = 0; + if (unlikely(d_unhashed(dentry))) + err = -ENOENT; + if (unlikely(d_really_is_positive(dentry))) + err = -EEXIST; + return err; +} + +/* + * simple tests for the adding inode operations. + * following the checks in vfs, plus the parent-child relationship. + */ +int au_may_add(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir) +{ + int err; + umode_t h_mode; + struct dentry *h_dentry; + struct inode *h_inode; + + err = -ENAMETOOLONG; + if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + goto out; + + h_dentry = au_h_dptr(dentry, bindex); + if (d_really_is_negative(dentry)) { + err = -EEXIST; + if (unlikely(d_is_positive(h_dentry))) + goto out; + } else { + /* rename(2) case */ + err = -EIO; + if (unlikely(d_is_negative(h_dentry))) + goto out; + h_inode = d_inode(h_dentry); + if (unlikely(!h_inode->i_nlink)) + goto out; + + h_mode = h_inode->i_mode; + if (!isdir) { + err = -EISDIR; + if (unlikely(S_ISDIR(h_mode))) + goto out; + } else if (unlikely(!S_ISDIR(h_mode))) { + err = -ENOTDIR; + goto out; + } + } + + err = 0; + /* expected parent dir is locked */ + if (unlikely(h_parent != h_dentry->d_parent)) + err = -EIO; + +out: + AuTraceErr(err); + return err; +} + +/* + * initial procedure of adding a new entry. + * prepare writable branch and the parent dir, lock it, + * and lookup whiteout for the new entry. + */ +static struct dentry* +lock_hdir_lkup_wh(struct dentry *dentry, struct au_dtime *dt, + struct dentry *src_dentry, struct au_pin *pin, + struct au_wr_dir_args *wr_dir_args) +{ + struct dentry *wh_dentry, *h_parent; + struct super_block *sb; + struct au_branch *br; + int err; + unsigned int udba; + aufs_bindex_t bcpup; + + AuDbg("%pd\n", dentry); + + err = au_wr_dir(dentry, src_dentry, wr_dir_args); + bcpup = err; + wh_dentry = ERR_PTR(err); + if (unlikely(err < 0)) + goto out; + + sb = dentry->d_sb; + udba = au_opt_udba(sb); + err = au_pin(pin, dentry, bcpup, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out; + + h_parent = au_pinned_h_parent(pin); + if (udba != AuOpt_UDBA_NONE + && au_dbtop(dentry) == bcpup) + err = au_may_add(dentry, bcpup, h_parent, + au_ftest_wrdir(wr_dir_args->flags, ISDIR)); + else if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN)) + err = -ENAMETOOLONG; + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_unpin; + + br = au_sbr(sb, bcpup); + if (dt) { + struct path tmp = { + .dentry = h_parent, + .mnt = au_br_mnt(br) + }; + au_dtime_store(dt, au_pinned_parent(pin), &tmp); + } + + wh_dentry = NULL; + if (bcpup != au_dbwh(dentry)) + goto out; /* success */ + + /* + * ENAMETOOLONG here means that if we allowed create such name, then it + * would not be able to removed in the future. So we don't allow such + * name here and we don't handle ENAMETOOLONG differently here. + */ + wh_dentry = au_wh_lkup(h_parent, &dentry->d_name, br); + +out_unpin: + if (IS_ERR(wh_dentry)) + au_unpin(pin); +out: + return wh_dentry; +} + +/* ---------------------------------------------------------------------- */ + +enum { Mknod, Symlink, Creat }; +struct simple_arg { + int type; + union { + struct { + umode_t mode; + bool want_excl; + bool try_aopen; + struct vfsub_aopen_args *aopen; + } c; + struct { + const char *symname; + } s; + struct { + umode_t mode; + dev_t dev; + } m; + } u; +}; + +static int add_simple(struct inode *dir, struct dentry *dentry, + struct simple_arg *arg) +{ + int err, rerr; + aufs_bindex_t btop; + unsigned char created; + const unsigned char try_aopen + = (arg->type == Creat && arg->u.c.try_aopen); + struct vfsub_aopen_args *aopen = arg->u.c.aopen; + struct dentry *wh_dentry, *parent; + struct inode *h_dir; + struct super_block *sb; + struct au_branch *br; + /* to reduce stack size */ + struct { + struct au_dtime dt; + struct au_pin pin; + struct path h_path; + struct au_wr_dir_args wr_dir_args; + } *a; + + AuDbg("%pd\n", dentry); + IMustLock(dir); + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + a->wr_dir_args.force_btgt = -1; + a->wr_dir_args.flags = AuWrDir_ADD_ENTRY; + + parent = dentry->d_parent; /* dir inode is locked */ + if (!try_aopen) { + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out_free; + } + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + if (!try_aopen) + di_write_lock_parent(parent); + wh_dentry = lock_hdir_lkup_wh(dentry, &a->dt, /*src_dentry*/NULL, + &a->pin, &a->wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + btop = au_dbtop(dentry); + sb = dentry->d_sb; + br = au_sbr(sb, btop); + a->h_path.dentry = au_h_dptr(dentry, btop); + a->h_path.mnt = au_br_mnt(br); + h_dir = au_pinned_h_dir(&a->pin); + switch (arg->type) { + case Creat: + if (!try_aopen || !h_dir->i_op->atomic_open) { + err = vfsub_create(h_dir, &a->h_path, arg->u.c.mode, + arg->u.c.want_excl); + created = !err; + if (!err && try_aopen) + aopen->file->f_mode |= FMODE_CREATED; + } else { + aopen->br = br; + err = vfsub_atomic_open(h_dir, a->h_path.dentry, aopen); + AuDbg("err %d\n", err); + AuDbgFile(aopen->file); + created = err >= 0 + && !!(aopen->file->f_mode & FMODE_CREATED); + } + break; + case Symlink: + err = vfsub_symlink(h_dir, &a->h_path, arg->u.s.symname); + created = !err; + break; + case Mknod: + err = vfsub_mknod(h_dir, &a->h_path, arg->u.m.mode, + arg->u.m.dev); + created = !err; + break; + default: + BUG(); + } + if (unlikely(err < 0)) + goto out_unpin; + + err = epilog(dir, btop, wh_dentry, dentry); + if (!err) + goto out_unpin; /* success */ + + /* revert */ + if (created /* && d_is_positive(a->h_path.dentry) */) { + /* no delegation since it is just created */ + rerr = vfsub_unlink(h_dir, &a->h_path, /*delegated*/NULL, + /*force*/0); + if (rerr) { + AuIOErr("%pd revert failure(%d, %d)\n", + dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&a->dt); + } + if (try_aopen && h_dir->i_op->atomic_open + && (aopen->file->f_mode & FMODE_OPENED)) + /* aopen->file is still opened */ + au_lcnt_dec(&aopen->br->br_nfiles); + +out_unpin: + au_unpin(&a->pin); + dput(wh_dentry); +out_parent: + if (!try_aopen) + di_write_unlock(parent); +out_unlock: + if (unlikely(err)) { + au_update_dbtop(dentry); + d_drop(dentry); + } + if (!try_aopen) + aufs_read_unlock(dentry, AuLock_DW); +out_free: + au_kfree_rcu(a); +out: + return err; +} + +int aufs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t dev) +{ + struct simple_arg arg = { + .type = Mknod, + .u.m = { + .mode = mode, + .dev = dev + } + }; + return add_simple(dir, dentry, &arg); +} + +int aufs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) +{ + struct simple_arg arg = { + .type = Symlink, + .u.s.symname = symname + }; + return add_simple(dir, dentry, &arg); +} + +int aufs_create(struct inode *dir, struct dentry *dentry, umode_t mode, + bool want_excl) +{ + struct simple_arg arg = { + .type = Creat, + .u.c = { + .mode = mode, + .want_excl = want_excl + } + }; + return add_simple(dir, dentry, &arg); +} + +int au_aopen_or_create(struct inode *dir, struct dentry *dentry, + struct vfsub_aopen_args *aopen_args) +{ + struct simple_arg arg = { + .type = Creat, + .u.c = { + .mode = aopen_args->create_mode, + .want_excl = aopen_args->open_flag & O_EXCL, + .try_aopen = true, + .aopen = aopen_args + } + }; + return add_simple(dir, dentry, &arg); +} + +int aufs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) +{ + int err; + aufs_bindex_t bindex; + struct super_block *sb; + struct dentry *parent, *h_parent, *h_dentry; + struct inode *h_dir, *inode; + struct vfsmount *h_mnt; + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = AuWrDir_TMPFILE + }; + + /* copy-up may happen */ + inode_lock(dir); + + sb = dir->i_sb; + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out; + + err = au_di_init(dentry); + if (unlikely(err)) + goto out_si; + + err = -EBUSY; + parent = d_find_any_alias(dir); + AuDebugOn(!parent); + di_write_lock_parent(parent); + if (unlikely(d_inode(parent) != dir)) + goto out_parent; + + err = au_digen_test(parent, au_sigen(sb)); + if (unlikely(err)) + goto out_parent; + + bindex = au_dbtop(parent); + au_set_dbtop(dentry, bindex); + au_set_dbbot(dentry, bindex); + err = au_wr_dir(dentry, /*src_dentry*/NULL, &wr_dir_args); + bindex = err; + if (unlikely(err < 0)) + goto out_parent; + + err = -EOPNOTSUPP; + h_dir = au_h_iptr(dir, bindex); + if (unlikely(!h_dir->i_op->tmpfile)) + goto out_parent; + + h_mnt = au_sbr_mnt(sb, bindex); + err = vfsub_mnt_want_write(h_mnt); + if (unlikely(err)) + goto out_parent; + + h_parent = au_h_dptr(parent, bindex); + h_dentry = vfs_tmpfile(h_parent, mode, /*open_flag*/0); + if (IS_ERR(h_dentry)) { + err = PTR_ERR(h_dentry); + goto out_mnt; + } + + au_set_dbtop(dentry, bindex); + au_set_dbbot(dentry, bindex); + au_set_h_dptr(dentry, bindex, dget(h_dentry)); + inode = au_new_inode(dentry, /*must_new*/1); + if (IS_ERR(inode)) { + err = PTR_ERR(inode); + au_set_h_dptr(dentry, bindex, NULL); + au_set_dbtop(dentry, -1); + au_set_dbbot(dentry, -1); + } else { + if (!inode->i_nlink) + set_nlink(inode, 1); + d_tmpfile(dentry, inode); + au_di(dentry)->di_tmpfile = 1; + + /* update without i_mutex */ + if (au_ibtop(dir) == au_dbtop(dentry)) + au_cpup_attr_timesizes(dir); + } + dput(h_dentry); + +out_mnt: + vfsub_mnt_drop_write(h_mnt); +out_parent: + di_write_unlock(parent); + dput(parent); + di_write_unlock(dentry); + if (unlikely(err)) { + au_di_fin(dentry); + dentry->d_fsdata = NULL; + } +out_si: + si_read_unlock(sb); +out: + inode_unlock(dir); + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_link_args { + aufs_bindex_t bdst, bsrc; + struct au_pin pin; + struct path h_path; + struct dentry *src_parent, *parent; +}; + +static int au_cpup_before_link(struct dentry *src_dentry, + struct au_link_args *a) +{ + int err; + struct dentry *h_src_dentry; + struct au_cp_generic cpg = { + .dentry = src_dentry, + .bdst = a->bdst, + .bsrc = a->bsrc, + .len = -1, + .pin = &a->pin, + .flags = AuCpup_DTIME | AuCpup_HOPEN /* | AuCpup_KEEPLINO */ + }; + + di_read_lock_parent(a->src_parent, AuLock_IR); + err = au_test_and_cpup_dirs(src_dentry, a->bdst); + if (unlikely(err)) + goto out; + + h_src_dentry = au_h_dptr(src_dentry, a->bsrc); + err = au_pin(&a->pin, src_dentry, a->bdst, + au_opt_udba(src_dentry->d_sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out; + + err = au_sio_cpup_simple(&cpg); + au_unpin(&a->pin); + +out: + di_read_unlock(a->src_parent, AuLock_IR); + return err; +} + +static int au_cpup_or_link(struct dentry *src_dentry, struct dentry *dentry, + struct au_link_args *a) +{ + int err; + unsigned char plink; + aufs_bindex_t bbot; + struct dentry *h_src_dentry; + struct inode *h_inode, *inode, *delegated; + struct super_block *sb; + struct file *h_file; + + plink = 0; + h_inode = NULL; + sb = src_dentry->d_sb; + inode = d_inode(src_dentry); + if (au_ibtop(inode) <= a->bdst) + h_inode = au_h_iptr(inode, a->bdst); + if (!h_inode || !h_inode->i_nlink) { + /* copyup src_dentry as the name of dentry. */ + bbot = au_dbbot(dentry); + if (bbot < a->bsrc) + au_set_dbbot(dentry, a->bsrc); + au_set_h_dptr(dentry, a->bsrc, + dget(au_h_dptr(src_dentry, a->bsrc))); + dget(a->h_path.dentry); + au_set_h_dptr(dentry, a->bdst, NULL); + AuDbg("temporary d_inode...\n"); + spin_lock(&dentry->d_lock); + dentry->d_inode = d_inode(src_dentry); /* tmp */ + spin_unlock(&dentry->d_lock); + h_file = au_h_open_pre(dentry, a->bsrc, /*force_wr*/0); + if (IS_ERR(h_file)) + err = PTR_ERR(h_file); + else { + struct au_cp_generic cpg = { + .dentry = dentry, + .bdst = a->bdst, + .bsrc = -1, + .len = -1, + .pin = &a->pin, + .flags = AuCpup_KEEPLINO + }; + err = au_sio_cpup_simple(&cpg); + au_h_open_post(dentry, a->bsrc, h_file); + if (!err) { + dput(a->h_path.dentry); + a->h_path.dentry = au_h_dptr(dentry, a->bdst); + } else + au_set_h_dptr(dentry, a->bdst, + a->h_path.dentry); + } + spin_lock(&dentry->d_lock); + dentry->d_inode = NULL; /* restore */ + spin_unlock(&dentry->d_lock); + AuDbg("temporary d_inode...done\n"); + au_set_h_dptr(dentry, a->bsrc, NULL); + au_set_dbbot(dentry, bbot); + } else { + /* the inode of src_dentry already exists on a.bdst branch */ + h_src_dentry = d_find_alias(h_inode); + if (!h_src_dentry && au_plink_test(inode)) { + plink = 1; + h_src_dentry = au_plink_lkup(inode, a->bdst); + err = PTR_ERR(h_src_dentry); + if (IS_ERR(h_src_dentry)) + goto out; + + if (unlikely(d_is_negative(h_src_dentry))) { + dput(h_src_dentry); + h_src_dentry = NULL; + } + + } + if (h_src_dentry) { + delegated = NULL; + err = vfsub_link(h_src_dentry, au_pinned_h_dir(&a->pin), + &a->h_path, &delegated); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + dput(h_src_dentry); + } else { + AuIOErr("no dentry found for hi%lu on b%d\n", + h_inode->i_ino, a->bdst); + err = -EIO; + } + } + + if (!err && !plink) + au_plink_append(inode, a->bdst, a->h_path.dentry); + +out: + AuTraceErr(err); + return err; +} + +int aufs_link(struct dentry *src_dentry, struct inode *dir, + struct dentry *dentry) +{ + int err, rerr; + struct au_dtime dt; + struct au_link_args *a; + struct dentry *wh_dentry, *h_src_dentry; + struct inode *inode, *delegated; + struct super_block *sb; + struct au_wr_dir_args wr_dir_args = { + /* .force_btgt = -1, */ + .flags = AuWrDir_ADD_ENTRY + }; + + IMustLock(dir); + inode = d_inode(src_dentry); + IMustLock(inode); + + err = -ENOMEM; + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + a->parent = dentry->d_parent; /* dir inode is locked */ + err = aufs_read_and_write_lock2(dentry, src_dentry, + AuLock_NOPLM | AuLock_GEN); + if (unlikely(err)) + goto out_kfree; + err = au_d_linkable(src_dentry); + if (unlikely(err)) + goto out_unlock; + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + + a->src_parent = dget_parent(src_dentry); + wr_dir_args.force_btgt = au_ibtop(inode); + + di_write_lock_parent(a->parent); + wr_dir_args.force_btgt = au_wbr(dentry, wr_dir_args.force_btgt); + wh_dentry = lock_hdir_lkup_wh(dentry, &dt, src_dentry, &a->pin, + &wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + err = 0; + sb = dentry->d_sb; + a->bdst = au_dbtop(dentry); + a->h_path.dentry = au_h_dptr(dentry, a->bdst); + a->h_path.mnt = au_sbr_mnt(sb, a->bdst); + a->bsrc = au_ibtop(inode); + h_src_dentry = au_h_d_alias(src_dentry, a->bsrc); + if (!h_src_dentry && au_di(src_dentry)->di_tmpfile) + h_src_dentry = dget(au_hi_wh(inode, a->bsrc)); + if (!h_src_dentry) { + a->bsrc = au_dbtop(src_dentry); + h_src_dentry = au_h_d_alias(src_dentry, a->bsrc); + AuDebugOn(!h_src_dentry); + } else if (IS_ERR(h_src_dentry)) { + err = PTR_ERR(h_src_dentry); + goto out_parent; + } + + /* + * aufs doesn't touch the credential so + * security_dentry_create_files_as() is unnecessary. + */ + if (au_opt_test(au_mntflags(sb), PLINK)) { + if (a->bdst < a->bsrc + /* && h_src_dentry->d_sb != a->h_path.dentry->d_sb */) + err = au_cpup_or_link(src_dentry, dentry, a); + else { + delegated = NULL; + err = vfsub_link(h_src_dentry, au_pinned_h_dir(&a->pin), + &a->h_path, &delegated); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + } + dput(h_src_dentry); + } else { + /* + * copyup src_dentry to the branch we process, + * and then link(2) to it. + */ + dput(h_src_dentry); + if (a->bdst < a->bsrc + /* && h_src_dentry->d_sb != a->h_path.dentry->d_sb */) { + au_unpin(&a->pin); + di_write_unlock(a->parent); + err = au_cpup_before_link(src_dentry, a); + di_write_lock_parent(a->parent); + if (!err) + err = au_pin(&a->pin, dentry, a->bdst, + au_opt_udba(sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (unlikely(err)) + goto out_wh; + } + if (!err) { + h_src_dentry = au_h_dptr(src_dentry, a->bdst); + err = -ENOENT; + if (h_src_dentry && d_is_positive(h_src_dentry)) { + delegated = NULL; + err = vfsub_link(h_src_dentry, + au_pinned_h_dir(&a->pin), + &a->h_path, &delegated); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry" + " for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + } + } + } + if (unlikely(err)) + goto out_unpin; + + if (wh_dentry) { + a->h_path.dentry = wh_dentry; + err = au_wh_unlink_dentry(au_pinned_h_dir(&a->pin), &a->h_path, + dentry); + if (unlikely(err)) + goto out_revert; + } + + au_dir_ts(dir, a->bdst); + inode_inc_iversion(dir); + inc_nlink(inode); + inode->i_ctime = dir->i_ctime; + d_instantiate(dentry, au_igrab(inode)); + if (d_unhashed(a->h_path.dentry)) + /* some filesystem calls d_drop() */ + d_drop(dentry); + /* some filesystems consume an inode even hardlink */ + au_fhsm_wrote(sb, a->bdst, /*force*/0); + goto out_unpin; /* success */ + +out_revert: + /* no delegation since it is just created */ + rerr = vfsub_unlink(au_pinned_h_dir(&a->pin), &a->h_path, + /*delegated*/NULL, /*force*/0); + if (unlikely(rerr)) { + AuIOErr("%pd reverting failed(%d, %d)\n", dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&dt); +out_unpin: + au_unpin(&a->pin); +out_wh: + dput(wh_dentry); +out_parent: + di_write_unlock(a->parent); + dput(a->src_parent); +out_unlock: + if (unlikely(err)) { + au_update_dbtop(dentry); + d_drop(dentry); + } + aufs_read_and_write_unlock2(dentry, src_dentry); +out_kfree: + au_kfree_rcu(a); +out: + AuTraceErr(err); + return err; +} + +int aufs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) +{ + int err, rerr; + aufs_bindex_t bindex; + unsigned char diropq; + struct path h_path; + struct dentry *wh_dentry, *parent, *opq_dentry; + struct inode *h_inode; + struct super_block *sb; + struct { + struct au_pin pin; + struct au_dtime dt; + } *a; /* reduce the stack usage */ + struct au_wr_dir_args wr_dir_args = { + .force_btgt = -1, + .flags = AuWrDir_ADD_ENTRY | AuWrDir_ISDIR + }; + + IMustLock(dir); + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out_free; + err = au_d_may_add(dentry); + if (unlikely(err)) + goto out_unlock; + + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + wh_dentry = lock_hdir_lkup_wh(dentry, &a->dt, /*src_dentry*/NULL, + &a->pin, &wr_dir_args); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + sb = dentry->d_sb; + bindex = au_dbtop(dentry); + h_path.dentry = au_h_dptr(dentry, bindex); + h_path.mnt = au_sbr_mnt(sb, bindex); + err = vfsub_mkdir(au_pinned_h_dir(&a->pin), &h_path, mode); + if (unlikely(err)) + goto out_unpin; + + /* make the dir opaque */ + diropq = 0; + h_inode = d_inode(h_path.dentry); + if (wh_dentry + || au_opt_test(au_mntflags(sb), ALWAYS_DIROPQ)) { + inode_lock_nested(h_inode, AuLsc_I_CHILD); + opq_dentry = au_diropq_create(dentry, bindex); + inode_unlock(h_inode); + err = PTR_ERR(opq_dentry); + if (IS_ERR(opq_dentry)) + goto out_dir; + dput(opq_dentry); + diropq = 1; + } + + err = epilog(dir, bindex, wh_dentry, dentry); + if (!err) { + inc_nlink(dir); + goto out_unpin; /* success */ + } + + /* revert */ + if (diropq) { + AuLabel(revert opq); + inode_lock_nested(h_inode, AuLsc_I_CHILD); + rerr = au_diropq_remove(dentry, bindex); + inode_unlock(h_inode); + if (rerr) { + AuIOErr("%pd reverting diropq failed(%d, %d)\n", + dentry, err, rerr); + err = -EIO; + } + } + +out_dir: + AuLabel(revert dir); + rerr = vfsub_rmdir(au_pinned_h_dir(&a->pin), &h_path); + if (rerr) { + AuIOErr("%pd reverting dir failed(%d, %d)\n", + dentry, err, rerr); + err = -EIO; + } + au_dtime_revert(&a->dt); +out_unpin: + au_unpin(&a->pin); + dput(wh_dentry); +out_parent: + di_write_unlock(parent); +out_unlock: + if (unlikely(err)) { + au_update_dbtop(dentry); + d_drop(dentry); + } + aufs_read_unlock(dentry, AuLock_DW); +out_free: + au_kfree_rcu(a); +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/i_op_del.c +++ linux-riscv-5.8-5.8.0/fs/aufs/i_op_del.c @@ -0,0 +1,513 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode operations (del entry) + */ + +#include +#include "aufs.h" + +/* + * decide if a new whiteout for @dentry is necessary or not. + * when it is necessary, prepare the parent dir for the upper branch whose + * branch index is @bcpup for creation. the actual creation of the whiteout will + * be done by caller. + * return value: + * 0: wh is unnecessary + * plus: wh is necessary + * minus: error + */ +int au_wr_dir_need_wh(struct dentry *dentry, int isdir, aufs_bindex_t *bcpup) +{ + int need_wh, err; + aufs_bindex_t btop; + struct super_block *sb; + + sb = dentry->d_sb; + btop = au_dbtop(dentry); + if (*bcpup < 0) { + *bcpup = btop; + if (au_test_ro(sb, btop, d_inode(dentry))) { + err = AuWbrCopyup(au_sbi(sb), dentry); + *bcpup = err; + if (unlikely(err < 0)) + goto out; + } + } else + AuDebugOn(btop < *bcpup + || au_test_ro(sb, *bcpup, d_inode(dentry))); + AuDbg("bcpup %d, btop %d\n", *bcpup, btop); + + if (*bcpup != btop) { + err = au_cpup_dirs(dentry, *bcpup); + if (unlikely(err)) + goto out; + need_wh = 1; + } else { + struct au_dinfo *dinfo, *tmp; + + need_wh = -ENOMEM; + dinfo = au_di(dentry); + tmp = au_di_alloc(sb, AuLsc_DI_TMP); + if (tmp) { + au_di_cp(tmp, dinfo); + au_di_swap(tmp, dinfo); + /* returns the number of positive dentries */ + need_wh = au_lkup_dentry(dentry, btop + 1, + /* AuLkup_IGNORE_PERM */ 0); + au_di_swap(tmp, dinfo); + au_rw_write_unlock(&tmp->di_rwsem); + au_di_free(tmp); + } + } + AuDbg("need_wh %d\n", need_wh); + err = need_wh; + +out: + return err; +} + +/* + * simple tests for the del-entry operations. + * following the checks in vfs, plus the parent-child relationship. + */ +int au_may_del(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir) +{ + int err; + umode_t h_mode; + struct dentry *h_dentry, *h_latest; + struct inode *h_inode; + + h_dentry = au_h_dptr(dentry, bindex); + if (d_really_is_positive(dentry)) { + err = -ENOENT; + if (unlikely(d_is_negative(h_dentry))) + goto out; + h_inode = d_inode(h_dentry); + if (unlikely(!h_inode->i_nlink)) + goto out; + + h_mode = h_inode->i_mode; + if (!isdir) { + err = -EISDIR; + if (unlikely(S_ISDIR(h_mode))) + goto out; + } else if (unlikely(!S_ISDIR(h_mode))) { + err = -ENOTDIR; + goto out; + } + } else { + /* rename(2) case */ + err = -EIO; + if (unlikely(d_is_positive(h_dentry))) + goto out; + } + + err = -ENOENT; + /* expected parent dir is locked */ + if (unlikely(h_parent != h_dentry->d_parent)) + goto out; + err = 0; + + /* + * rmdir a dir may break the consistency on some filesystem. + * let's try heavy test. + */ + err = -EACCES; + if (unlikely(!au_opt_test(au_mntflags(dentry->d_sb), DIRPERM1) + && au_test_h_perm(d_inode(h_parent), + MAY_EXEC | MAY_WRITE))) + goto out; + + h_latest = au_sio_lkup_one(&dentry->d_name, h_parent); + err = -EIO; + if (IS_ERR(h_latest)) + goto out; + if (h_latest == h_dentry) + err = 0; + dput(h_latest); + +out: + return err; +} + +/* + * decide the branch where we operate for @dentry. the branch index will be set + * @rbcpup. after deciding it, 'pin' it and store the timestamps of the parent + * dir for reverting. + * when a new whiteout is necessary, create it. + */ +static struct dentry* +lock_hdir_create_wh(struct dentry *dentry, int isdir, aufs_bindex_t *rbcpup, + struct au_dtime *dt, struct au_pin *pin) +{ + struct dentry *wh_dentry; + struct super_block *sb; + struct path h_path; + int err, need_wh; + unsigned int udba; + aufs_bindex_t bcpup; + + need_wh = au_wr_dir_need_wh(dentry, isdir, rbcpup); + wh_dentry = ERR_PTR(need_wh); + if (unlikely(need_wh < 0)) + goto out; + + sb = dentry->d_sb; + udba = au_opt_udba(sb); + bcpup = *rbcpup; + err = au_pin(pin, dentry, bcpup, udba, + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out; + + h_path.dentry = au_pinned_h_parent(pin); + if (udba != AuOpt_UDBA_NONE + && au_dbtop(dentry) == bcpup) { + err = au_may_del(dentry, bcpup, h_path.dentry, isdir); + wh_dentry = ERR_PTR(err); + if (unlikely(err)) + goto out_unpin; + } + + h_path.mnt = au_sbr_mnt(sb, bcpup); + au_dtime_store(dt, au_pinned_parent(pin), &h_path); + wh_dentry = NULL; + if (!need_wh) + goto out; /* success, no need to create whiteout */ + + wh_dentry = au_wh_create(dentry, bcpup, h_path.dentry); + if (IS_ERR(wh_dentry)) + goto out_unpin; + + /* returns with the parent is locked and wh_dentry is dget-ed */ + goto out; /* success */ + +out_unpin: + au_unpin(pin); +out: + return wh_dentry; +} + +/* + * when removing a dir, rename it to a unique temporary whiteout-ed name first + * in order to be revertible and save time for removing many child whiteouts + * under the dir. + * returns 1 when there are too many child whiteout and caller should remove + * them asynchronously. returns 0 when the number of children is enough small to + * remove now or the branch fs is a remote fs. + * otherwise return an error. + */ +static int renwh_and_rmdir(struct dentry *dentry, aufs_bindex_t bindex, + struct au_nhash *whlist, struct inode *dir) +{ + int rmdir_later, err, dirwh; + struct dentry *h_dentry; + struct super_block *sb; + struct inode *inode; + + sb = dentry->d_sb; + SiMustAnyLock(sb); + h_dentry = au_h_dptr(dentry, bindex); + err = au_whtmp_ren(h_dentry, au_sbr(sb, bindex)); + if (unlikely(err)) + goto out; + + /* stop monitoring */ + inode = d_inode(dentry); + au_hn_free(au_hi(inode, bindex)); + + if (!au_test_fs_remote(h_dentry->d_sb)) { + dirwh = au_sbi(sb)->si_dirwh; + rmdir_later = (dirwh <= 1); + if (!rmdir_later) + rmdir_later = au_nhash_test_longer_wh(whlist, bindex, + dirwh); + if (rmdir_later) + return rmdir_later; + } + + err = au_whtmp_rmdir(dir, bindex, h_dentry, whlist); + if (unlikely(err)) { + AuIOErr("rmdir %pd, b%d failed, %d. ignored\n", + h_dentry, bindex, err); + err = 0; + } + +out: + AuTraceErr(err); + return err; +} + +/* + * final procedure for deleting a entry. + * maintain dentry and iattr. + */ +static void epilog(struct inode *dir, struct dentry *dentry, + aufs_bindex_t bindex) +{ + struct inode *inode; + + inode = d_inode(dentry); + d_drop(dentry); + inode->i_ctime = dir->i_ctime; + + au_dir_ts(dir, bindex); + inode_inc_iversion(dir); +} + +/* + * when an error happened, remove the created whiteout and revert everything. + */ +static int do_revert(int err, struct inode *dir, aufs_bindex_t bindex, + aufs_bindex_t bwh, struct dentry *wh_dentry, + struct dentry *dentry, struct au_dtime *dt) +{ + int rerr; + struct path h_path = { + .dentry = wh_dentry, + .mnt = au_sbr_mnt(dir->i_sb, bindex) + }; + + rerr = au_wh_unlink_dentry(au_h_iptr(dir, bindex), &h_path, dentry); + if (!rerr) { + au_set_dbwh(dentry, bwh); + au_dtime_revert(dt); + return 0; + } + + AuIOErr("%pd reverting whiteout failed(%d, %d)\n", dentry, err, rerr); + return -EIO; +} + +/* ---------------------------------------------------------------------- */ + +int aufs_unlink(struct inode *dir, struct dentry *dentry) +{ + int err; + aufs_bindex_t bwh, bindex, btop; + struct inode *inode, *h_dir, *delegated; + struct dentry *parent, *wh_dentry; + /* to reduce stack size */ + struct { + struct au_dtime dt; + struct au_pin pin; + struct path h_path; + } *a; + + IMustLock(dir); + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_GEN); + if (unlikely(err)) + goto out_free; + err = au_d_hashed_positive(dentry); + if (unlikely(err)) + goto out_unlock; + inode = d_inode(dentry); + IMustLock(inode); + err = -EISDIR; + if (unlikely(d_is_dir(dentry))) + goto out_unlock; /* possible? */ + + btop = au_dbtop(dentry); + bwh = au_dbwh(dentry); + bindex = -1; + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + wh_dentry = lock_hdir_create_wh(dentry, /*isdir*/0, &bindex, &a->dt, + &a->pin); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + a->h_path.mnt = au_sbr_mnt(dentry->d_sb, btop); + a->h_path.dentry = au_h_dptr(dentry, btop); + dget(a->h_path.dentry); + if (bindex == btop) { + h_dir = au_pinned_h_dir(&a->pin); + delegated = NULL; + err = vfsub_unlink(h_dir, &a->h_path, &delegated, /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + } else { + /* dir inode is locked */ + h_dir = d_inode(wh_dentry->d_parent); + IMustLock(h_dir); + err = 0; + } + + if (!err) { + vfsub_drop_nlink(inode); + epilog(dir, dentry, bindex); + + /* update target timestamps */ + if (bindex == btop) { + vfsub_update_h_iattr(&a->h_path, /*did*/NULL); + /*ignore*/ + inode->i_ctime = d_inode(a->h_path.dentry)->i_ctime; + } else + /* todo: this timestamp may be reverted later */ + inode->i_ctime = h_dir->i_ctime; + goto out_unpin; /* success */ + } + + /* revert */ + if (wh_dentry) { + int rerr; + + rerr = do_revert(err, dir, bindex, bwh, wh_dentry, dentry, + &a->dt); + if (rerr) + err = rerr; + } + +out_unpin: + au_unpin(&a->pin); + dput(wh_dentry); + dput(a->h_path.dentry); +out_parent: + di_write_unlock(parent); +out_unlock: + aufs_read_unlock(dentry, AuLock_DW); +out_free: + au_kfree_rcu(a); +out: + return err; +} + +int aufs_rmdir(struct inode *dir, struct dentry *dentry) +{ + int err, rmdir_later; + aufs_bindex_t bwh, bindex, btop; + struct inode *inode; + struct dentry *parent, *wh_dentry, *h_dentry; + struct au_whtmp_rmdir *args; + /* to reduce stack size */ + struct { + struct au_dtime dt; + struct au_pin pin; + } *a; + + IMustLock(dir); + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + err = aufs_read_lock(dentry, AuLock_DW | AuLock_FLUSH | AuLock_GEN); + if (unlikely(err)) + goto out_free; + err = au_alive_dir(dentry); + if (unlikely(err)) + goto out_unlock; + inode = d_inode(dentry); + IMustLock(inode); + err = -ENOTDIR; + if (unlikely(!d_is_dir(dentry))) + goto out_unlock; /* possible? */ + + err = -ENOMEM; + args = au_whtmp_rmdir_alloc(dir->i_sb, GFP_NOFS); + if (unlikely(!args)) + goto out_unlock; + + parent = dentry->d_parent; /* dir inode is locked */ + di_write_lock_parent(parent); + err = au_test_empty(dentry, &args->whlist); + if (unlikely(err)) + goto out_parent; + + btop = au_dbtop(dentry); + bwh = au_dbwh(dentry); + bindex = -1; + wh_dentry = lock_hdir_create_wh(dentry, /*isdir*/1, &bindex, &a->dt, + &a->pin); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) + goto out_parent; + + h_dentry = au_h_dptr(dentry, btop); + dget(h_dentry); + rmdir_later = 0; + if (bindex == btop) { + err = renwh_and_rmdir(dentry, btop, &args->whlist, dir); + if (err > 0) { + rmdir_later = err; + err = 0; + } + } else { + /* stop monitoring */ + au_hn_free(au_hi(inode, btop)); + + /* dir inode is locked */ + IMustLock(d_inode(wh_dentry->d_parent)); + err = 0; + } + + if (!err) { + vfsub_dead_dir(inode); + au_set_dbdiropq(dentry, -1); + epilog(dir, dentry, bindex); + + if (rmdir_later) { + au_whtmp_kick_rmdir(dir, btop, h_dentry, args); + args = NULL; + } + + goto out_unpin; /* success */ + } + + /* revert */ + AuLabel(revert); + if (wh_dentry) { + int rerr; + + rerr = do_revert(err, dir, bindex, bwh, wh_dentry, dentry, + &a->dt); + if (rerr) + err = rerr; + } + +out_unpin: + au_unpin(&a->pin); + dput(wh_dentry); + dput(h_dentry); +out_parent: + di_write_unlock(parent); + if (args) + au_whtmp_rmdir_free(args); +out_unlock: + aufs_read_unlock(dentry, AuLock_DW); +out_free: + au_kfree_rcu(a); +out: + AuTraceErr(err); + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/i_op_ren.c +++ linux-riscv-5.8-5.8.0/fs/aufs/i_op_ren.c @@ -0,0 +1,1250 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode operation (rename entry) + * todo: this is crazy monster + */ + +#include +#include "aufs.h" + +enum { AuSRC, AuDST, AuSrcDst }; +enum { AuPARENT, AuCHILD, AuParentChild }; + +#define AuRen_ISDIR_SRC 1 +#define AuRen_ISDIR_DST (1 << 1) +#define AuRen_ISSAMEDIR (1 << 2) +#define AuRen_WHSRC (1 << 3) +#define AuRen_WHDST (1 << 4) +#define AuRen_MNT_WRITE (1 << 5) +#define AuRen_DT_DSTDIR (1 << 6) +#define AuRen_DIROPQ_SRC (1 << 7) +#define AuRen_DIROPQ_DST (1 << 8) +#define AuRen_DIRREN (1 << 9) +#define AuRen_DROPPED_SRC (1 << 10) +#define AuRen_DROPPED_DST (1 << 11) +#define au_ftest_ren(flags, name) ((flags) & AuRen_##name) +#define au_fset_ren(flags, name) \ + do { (flags) |= AuRen_##name; } while (0) +#define au_fclr_ren(flags, name) \ + do { (flags) &= ~AuRen_##name; } while (0) + +#ifndef CONFIG_AUFS_DIRREN +#undef AuRen_DIRREN +#define AuRen_DIRREN 0 +#endif + +struct au_ren_args { + struct { + struct dentry *dentry, *h_dentry, *parent, *h_parent, + *wh_dentry; + struct inode *dir, *inode; + struct au_hinode *hdir, *hinode; + struct au_dtime dt[AuParentChild]; + aufs_bindex_t btop, bdiropq; + } sd[AuSrcDst]; + +#define src_dentry sd[AuSRC].dentry +#define src_dir sd[AuSRC].dir +#define src_inode sd[AuSRC].inode +#define src_h_dentry sd[AuSRC].h_dentry +#define src_parent sd[AuSRC].parent +#define src_h_parent sd[AuSRC].h_parent +#define src_wh_dentry sd[AuSRC].wh_dentry +#define src_hdir sd[AuSRC].hdir +#define src_hinode sd[AuSRC].hinode +#define src_h_dir sd[AuSRC].hdir->hi_inode +#define src_dt sd[AuSRC].dt +#define src_btop sd[AuSRC].btop +#define src_bdiropq sd[AuSRC].bdiropq + +#define dst_dentry sd[AuDST].dentry +#define dst_dir sd[AuDST].dir +#define dst_inode sd[AuDST].inode +#define dst_h_dentry sd[AuDST].h_dentry +#define dst_parent sd[AuDST].parent +#define dst_h_parent sd[AuDST].h_parent +#define dst_wh_dentry sd[AuDST].wh_dentry +#define dst_hdir sd[AuDST].hdir +#define dst_hinode sd[AuDST].hinode +#define dst_h_dir sd[AuDST].hdir->hi_inode +#define dst_dt sd[AuDST].dt +#define dst_btop sd[AuDST].btop +#define dst_bdiropq sd[AuDST].bdiropq + + struct dentry *h_trap; + struct au_branch *br; + struct path h_path; + struct au_nhash whlist; + aufs_bindex_t btgt, src_bwh; + + struct { + unsigned short auren_flags; + unsigned char flags; /* syscall parameter */ + unsigned char exchange; + } __packed; + + struct au_whtmp_rmdir *thargs; + struct dentry *h_dst; + struct au_hinode *h_root; +}; + +/* ---------------------------------------------------------------------- */ + +/* + * functions for reverting. + * when an error happened in a single rename systemcall, we should revert + * everything as if nothing happened. + * we don't need to revert the copied-up/down the parent dir since they are + * harmless. + */ + +#define RevertFailure(fmt, ...) do { \ + AuIOErr("revert failure: " fmt " (%d, %d)\n", \ + ##__VA_ARGS__, err, rerr); \ + err = -EIO; \ +} while (0) + +static void au_ren_do_rev_diropq(int err, struct au_ren_args *a, int idx) +{ + int rerr; + struct dentry *d; +#define src_or_dst(member) a->sd[idx].member + + d = src_or_dst(dentry); /* {src,dst}_dentry */ + au_hn_inode_lock_nested(src_or_dst(hinode), AuLsc_I_CHILD); + rerr = au_diropq_remove(d, a->btgt); + au_hn_inode_unlock(src_or_dst(hinode)); + au_set_dbdiropq(d, src_or_dst(bdiropq)); + if (rerr) + RevertFailure("remove diropq %pd", d); + +#undef src_or_dst_ +} + +static void au_ren_rev_diropq(int err, struct au_ren_args *a) +{ + if (au_ftest_ren(a->auren_flags, DIROPQ_SRC)) + au_ren_do_rev_diropq(err, a, AuSRC); + if (au_ftest_ren(a->auren_flags, DIROPQ_DST)) + au_ren_do_rev_diropq(err, a, AuDST); +} + +static void au_ren_rev_rename(int err, struct au_ren_args *a) +{ + int rerr; + struct inode *delegated; + + a->h_path.dentry = vfsub_lkup_one(&a->src_dentry->d_name, + a->src_h_parent); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { + RevertFailure("lkup one %pd", a->src_dentry); + return; + } + + delegated = NULL; + rerr = vfsub_rename(a->dst_h_dir, + au_h_dptr(a->src_dentry, a->btgt), + a->src_h_dir, &a->h_path, &delegated, a->flags); + if (unlikely(rerr == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal rename\n"); + iput(delegated); + } + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + /* au_set_h_dptr(a->src_dentry, a->btgt, NULL); */ + if (rerr) + RevertFailure("rename %pd", a->src_dentry); +} + +static void au_ren_rev_whtmp(int err, struct au_ren_args *a) +{ + int rerr; + struct inode *delegated; + + a->h_path.dentry = vfsub_lkup_one(&a->dst_dentry->d_name, + a->dst_h_parent); + rerr = PTR_ERR(a->h_path.dentry); + if (IS_ERR(a->h_path.dentry)) { + RevertFailure("lkup one %pd", a->dst_dentry); + return; + } + if (d_is_positive(a->h_path.dentry)) { + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + return; + } + + delegated = NULL; + rerr = vfsub_rename(a->dst_h_dir, a->h_dst, a->dst_h_dir, &a->h_path, + &delegated, a->flags); + if (unlikely(rerr == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal rename\n"); + iput(delegated); + } + d_drop(a->h_path.dentry); + dput(a->h_path.dentry); + if (!rerr) + au_set_h_dptr(a->dst_dentry, a->btgt, dget(a->h_dst)); + else + RevertFailure("rename %pd", a->h_dst); +} + +static void au_ren_rev_whsrc(int err, struct au_ren_args *a) +{ + int rerr; + + a->h_path.dentry = a->src_wh_dentry; + rerr = au_wh_unlink_dentry(a->src_h_dir, &a->h_path, a->src_dentry); + au_set_dbwh(a->src_dentry, a->src_bwh); + if (rerr) + RevertFailure("unlink %pd", a->src_wh_dentry); +} +#undef RevertFailure + +/* ---------------------------------------------------------------------- */ + +/* + * when we have to copyup the renaming entry, do it with the rename-target name + * in order to minimize the cost (the later actual rename is unnecessary). + * otherwise rename it on the target branch. + */ +static int au_ren_or_cpup(struct au_ren_args *a) +{ + int err; + struct dentry *d; + struct inode *delegated; + + d = a->src_dentry; + if (au_dbtop(d) == a->btgt) { + a->h_path.dentry = a->dst_h_dentry; + AuDebugOn(au_dbtop(d) != a->btgt); + delegated = NULL; + err = vfsub_rename(a->src_h_dir, au_h_dptr(d, a->btgt), + a->dst_h_dir, &a->h_path, &delegated, + a->flags); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal rename\n"); + iput(delegated); + } + } else + BUG(); + + if (!err && a->h_dst) + /* it will be set to dinfo later */ + dget(a->h_dst); + + return err; +} + +/* cf. aufs_rmdir() */ +static int au_ren_del_whtmp(struct au_ren_args *a) +{ + int err; + struct inode *dir; + + dir = a->dst_dir; + SiMustAnyLock(dir->i_sb); + if (!au_nhash_test_longer_wh(&a->whlist, a->btgt, + au_sbi(dir->i_sb)->si_dirwh) + || au_test_fs_remote(a->h_dst->d_sb)) { + err = au_whtmp_rmdir(dir, a->btgt, a->h_dst, &a->whlist); + if (unlikely(err)) + pr_warn("failed removing whtmp dir %pd (%d), " + "ignored.\n", a->h_dst, err); + } else { + au_nhash_wh_free(&a->thargs->whlist); + a->thargs->whlist = a->whlist; + a->whlist.nh_num = 0; + au_whtmp_kick_rmdir(dir, a->btgt, a->h_dst, a->thargs); + dput(a->h_dst); + a->thargs = NULL; + } + + return 0; +} + +/* make it 'opaque' dir. */ +static int au_ren_do_diropq(struct au_ren_args *a, int idx) +{ + int err; + struct dentry *d, *diropq; +#define src_or_dst(member) a->sd[idx].member + + err = 0; + d = src_or_dst(dentry); /* {src,dst}_dentry */ + src_or_dst(bdiropq) = au_dbdiropq(d); + src_or_dst(hinode) = au_hi(src_or_dst(inode), a->btgt); + au_hn_inode_lock_nested(src_or_dst(hinode), AuLsc_I_CHILD); + diropq = au_diropq_create(d, a->btgt); + au_hn_inode_unlock(src_or_dst(hinode)); + if (IS_ERR(diropq)) + err = PTR_ERR(diropq); + else + dput(diropq); + +#undef src_or_dst_ + return err; +} + +static int au_ren_diropq(struct au_ren_args *a) +{ + int err; + unsigned char always; + struct dentry *d; + + err = 0; + d = a->dst_dentry; /* already renamed on the branch */ + always = !!au_opt_test(au_mntflags(d->d_sb), ALWAYS_DIROPQ); + if (au_ftest_ren(a->auren_flags, ISDIR_SRC) + && !au_ftest_ren(a->auren_flags, DIRREN) + && a->btgt != au_dbdiropq(a->src_dentry) + && (a->dst_wh_dentry + || a->btgt <= au_dbdiropq(d) + /* hide the lower to keep xino */ + /* the lowers may not be a dir, but we hide them anyway */ + || a->btgt < au_dbbot(d) + || always)) { + AuDbg("here\n"); + err = au_ren_do_diropq(a, AuSRC); + if (unlikely(err)) + goto out; + au_fset_ren(a->auren_flags, DIROPQ_SRC); + } + if (!a->exchange) + goto out; /* success */ + + d = a->src_dentry; /* already renamed on the branch */ + if (au_ftest_ren(a->auren_flags, ISDIR_DST) + && a->btgt != au_dbdiropq(a->dst_dentry) + && (a->btgt < au_dbdiropq(d) + || a->btgt < au_dbbot(d) + || always)) { + AuDbgDentry(a->src_dentry); + AuDbgDentry(a->dst_dentry); + err = au_ren_do_diropq(a, AuDST); + if (unlikely(err)) + goto out_rev_src; + au_fset_ren(a->auren_flags, DIROPQ_DST); + } + goto out; /* success */ + +out_rev_src: + AuDbg("err %d, reverting src\n", err); + au_ren_rev_diropq(err, a); +out: + return err; +} + +static int do_rename(struct au_ren_args *a) +{ + int err; + struct dentry *d, *h_d; + + if (!a->exchange) { + /* prepare workqueue args for asynchronous rmdir */ + h_d = a->dst_h_dentry; + if (au_ftest_ren(a->auren_flags, ISDIR_DST) + /* && !au_ftest_ren(a->auren_flags, DIRREN) */ + && d_is_positive(h_d)) { + err = -ENOMEM; + a->thargs = au_whtmp_rmdir_alloc(a->src_dentry->d_sb, + GFP_NOFS); + if (unlikely(!a->thargs)) + goto out; + a->h_dst = dget(h_d); + } + + /* create whiteout for src_dentry */ + if (au_ftest_ren(a->auren_flags, WHSRC)) { + a->src_bwh = au_dbwh(a->src_dentry); + AuDebugOn(a->src_bwh >= 0); + a->src_wh_dentry = au_wh_create(a->src_dentry, a->btgt, + a->src_h_parent); + err = PTR_ERR(a->src_wh_dentry); + if (IS_ERR(a->src_wh_dentry)) + goto out_thargs; + } + + /* lookup whiteout for dentry */ + if (au_ftest_ren(a->auren_flags, WHDST)) { + h_d = au_wh_lkup(a->dst_h_parent, + &a->dst_dentry->d_name, a->br); + err = PTR_ERR(h_d); + if (IS_ERR(h_d)) + goto out_whsrc; + if (d_is_negative(h_d)) + dput(h_d); + else + a->dst_wh_dentry = h_d; + } + + /* rename dentry to tmpwh */ + if (a->thargs) { + err = au_whtmp_ren(a->dst_h_dentry, a->br); + if (unlikely(err)) + goto out_whdst; + + d = a->dst_dentry; + au_set_h_dptr(d, a->btgt, NULL); + err = au_lkup_neg(d, a->btgt, /*wh*/0); + if (unlikely(err)) + goto out_whtmp; + a->dst_h_dentry = au_h_dptr(d, a->btgt); + } + } + + BUG_ON(d_is_positive(a->dst_h_dentry) && a->src_btop != a->btgt); +#if 0 /* debugging */ + BUG_ON(!au_ftest_ren(a->auren_flags, DIRREN) + && d_is_positive(a->dst_h_dentry) + && a->src_btop != a->btgt); +#endif + + /* rename by vfs_rename or cpup */ + err = au_ren_or_cpup(a); + if (unlikely(err)) + /* leave the copied-up one */ + goto out_whtmp; + + /* make dir opaque */ + err = au_ren_diropq(a); + if (unlikely(err)) + goto out_rename; + + /* update target timestamps */ + if (a->exchange) { + AuDebugOn(au_dbtop(a->dst_dentry) != a->btgt); + a->h_path.dentry = au_h_dptr(a->dst_dentry, a->btgt); + vfsub_update_h_iattr(&a->h_path, /*did*/NULL); /*ignore*/ + a->dst_inode->i_ctime = d_inode(a->h_path.dentry)->i_ctime; + } + AuDebugOn(au_dbtop(a->src_dentry) != a->btgt); + a->h_path.dentry = au_h_dptr(a->src_dentry, a->btgt); + vfsub_update_h_iattr(&a->h_path, /*did*/NULL); /*ignore*/ + a->src_inode->i_ctime = d_inode(a->h_path.dentry)->i_ctime; + + if (!a->exchange) { + /* remove whiteout for dentry */ + if (a->dst_wh_dentry) { + a->h_path.dentry = a->dst_wh_dentry; + err = au_wh_unlink_dentry(a->dst_h_dir, &a->h_path, + a->dst_dentry); + if (unlikely(err)) + goto out_diropq; + } + + /* remove whtmp */ + if (a->thargs) + au_ren_del_whtmp(a); /* ignore this error */ + + au_fhsm_wrote(a->src_dentry->d_sb, a->btgt, /*force*/0); + } + err = 0; + goto out_success; + +out_diropq: + au_ren_rev_diropq(err, a); +out_rename: + au_ren_rev_rename(err, a); + dput(a->h_dst); +out_whtmp: + if (a->thargs) + au_ren_rev_whtmp(err, a); +out_whdst: + dput(a->dst_wh_dentry); + a->dst_wh_dentry = NULL; +out_whsrc: + if (a->src_wh_dentry) + au_ren_rev_whsrc(err, a); +out_success: + dput(a->src_wh_dentry); + dput(a->dst_wh_dentry); +out_thargs: + if (a->thargs) { + dput(a->h_dst); + au_whtmp_rmdir_free(a->thargs); + a->thargs = NULL; + } +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * test if @dentry dir can be rename destination or not. + * success means, it is a logically empty dir. + */ +static int may_rename_dstdir(struct dentry *dentry, struct au_nhash *whlist) +{ + return au_test_empty(dentry, whlist); +} + +/* + * test if @a->src_dentry dir can be rename source or not. + * if it can, return 0. + * success means, + * - it is a logically empty dir. + * - or, it exists on writable branch and has no children including whiteouts + * on the lower branch unless DIRREN is on. + */ +static int may_rename_srcdir(struct au_ren_args *a) +{ + int err; + unsigned int rdhash; + aufs_bindex_t btop, btgt; + struct dentry *dentry; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + dentry = a->src_dentry; + sb = dentry->d_sb; + sbinfo = au_sbi(sb); + if (au_opt_test(sbinfo->si_mntflags, DIRREN)) + au_fset_ren(a->auren_flags, DIRREN); + + btgt = a->btgt; + btop = au_dbtop(dentry); + if (btop != btgt) { + struct au_nhash whlist; + + SiMustAnyLock(sb); + rdhash = sbinfo->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, + dentry)); + err = au_nhash_alloc(&whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_test_empty(dentry, &whlist); + au_nhash_wh_free(&whlist); + goto out; + } + + if (btop == au_dbtaildir(dentry)) + return 0; /* success */ + + err = au_test_empty_lower(dentry); + +out: + if (err == -ENOTEMPTY) { + if (au_ftest_ren(a->auren_flags, DIRREN)) { + err = 0; + } else { + AuWarn1("renaming dir who has child(ren) on multiple " + "branches, is not supported\n"); + err = -EXDEV; + } + } + return err; +} + +/* side effect: sets whlist and h_dentry */ +static int au_ren_may_dir(struct au_ren_args *a) +{ + int err; + unsigned int rdhash; + struct dentry *d; + + d = a->dst_dentry; + SiMustAnyLock(d->d_sb); + + err = 0; + if (au_ftest_ren(a->auren_flags, ISDIR_DST) && a->dst_inode) { + rdhash = au_sbi(d->d_sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(/*file*/NULL, d)); + err = au_nhash_alloc(&a->whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + + if (!a->exchange) { + au_set_dbtop(d, a->dst_btop); + err = may_rename_dstdir(d, &a->whlist); + au_set_dbtop(d, a->btgt); + } else + err = may_rename_srcdir(a); + } + a->dst_h_dentry = au_h_dptr(d, au_dbtop(d)); + if (unlikely(err)) + goto out; + + d = a->src_dentry; + a->src_h_dentry = au_h_dptr(d, au_dbtop(d)); + if (au_ftest_ren(a->auren_flags, ISDIR_SRC)) { + err = may_rename_srcdir(a); + if (unlikely(err)) { + au_nhash_wh_free(&a->whlist); + a->whlist.nh_num = 0; + } + } +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * simple tests for rename. + * following the checks in vfs, plus the parent-child relationship. + */ +static int au_may_ren(struct au_ren_args *a) +{ + int err, isdir; + struct inode *h_inode; + + if (a->src_btop == a->btgt) { + err = au_may_del(a->src_dentry, a->btgt, a->src_h_parent, + au_ftest_ren(a->auren_flags, ISDIR_SRC)); + if (unlikely(err)) + goto out; + err = -EINVAL; + if (unlikely(a->src_h_dentry == a->h_trap)) + goto out; + } + + err = 0; + if (a->dst_btop != a->btgt) + goto out; + + err = -ENOTEMPTY; + if (unlikely(a->dst_h_dentry == a->h_trap)) + goto out; + + err = -EIO; + isdir = !!au_ftest_ren(a->auren_flags, ISDIR_DST); + if (d_really_is_negative(a->dst_dentry)) { + if (d_is_negative(a->dst_h_dentry)) + err = au_may_add(a->dst_dentry, a->btgt, + a->dst_h_parent, isdir); + } else { + if (unlikely(d_is_negative(a->dst_h_dentry))) + goto out; + h_inode = d_inode(a->dst_h_dentry); + if (h_inode->i_nlink) + err = au_may_del(a->dst_dentry, a->btgt, + a->dst_h_parent, isdir); + } + +out: + if (unlikely(err == -ENOENT || err == -EEXIST)) + err = -EIO; + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * locking order + * (VFS) + * - src_dir and dir by lock_rename() + * - inode if exists + * (aufs) + * - lock all + * + src_dentry and dentry by aufs_read_and_write_lock2() which calls, + * + si_read_lock + * + di_write_lock2_child() + * + di_write_lock_child() + * + ii_write_lock_child() + * + di_write_lock_child2() + * + ii_write_lock_child2() + * + src_parent and parent + * + di_write_lock_parent() + * + ii_write_lock_parent() + * + di_write_lock_parent2() + * + ii_write_lock_parent2() + * + lower src_dir and dir by vfsub_lock_rename() + * + verify the every relationships between child and parent. if any + * of them failed, unlock all and return -EBUSY. + */ +static void au_ren_unlock(struct au_ren_args *a) +{ + vfsub_unlock_rename(a->src_h_parent, a->src_hdir, + a->dst_h_parent, a->dst_hdir); + if (au_ftest_ren(a->auren_flags, DIRREN) + && a->h_root) + au_hn_inode_unlock(a->h_root); + if (au_ftest_ren(a->auren_flags, MNT_WRITE)) + vfsub_mnt_drop_write(au_br_mnt(a->br)); +} + +static int au_ren_lock(struct au_ren_args *a) +{ + int err; + unsigned int udba; + + err = 0; + a->src_h_parent = au_h_dptr(a->src_parent, a->btgt); + a->src_hdir = au_hi(a->src_dir, a->btgt); + a->dst_h_parent = au_h_dptr(a->dst_parent, a->btgt); + a->dst_hdir = au_hi(a->dst_dir, a->btgt); + + err = vfsub_mnt_want_write(au_br_mnt(a->br)); + if (unlikely(err)) + goto out; + au_fset_ren(a->auren_flags, MNT_WRITE); + if (au_ftest_ren(a->auren_flags, DIRREN)) { + struct dentry *root; + struct inode *dir; + + /* + * sbinfo is already locked, so this ii_read_lock is + * unnecessary. but our debugging feature checks it. + */ + root = a->src_inode->i_sb->s_root; + if (root != a->src_parent && root != a->dst_parent) { + dir = d_inode(root); + ii_read_lock_parent3(dir); + a->h_root = au_hi(dir, a->btgt); + ii_read_unlock(dir); + au_hn_inode_lock_nested(a->h_root, AuLsc_I_PARENT3); + } + } + a->h_trap = vfsub_lock_rename(a->src_h_parent, a->src_hdir, + a->dst_h_parent, a->dst_hdir); + udba = au_opt_udba(a->src_dentry->d_sb); + if (unlikely(a->src_hdir->hi_inode != d_inode(a->src_h_parent) + || a->dst_hdir->hi_inode != d_inode(a->dst_h_parent))) + err = au_busy_or_stale(); + if (!err && au_dbtop(a->src_dentry) == a->btgt) + err = au_h_verify(a->src_h_dentry, udba, + d_inode(a->src_h_parent), a->src_h_parent, + a->br); + if (!err && au_dbtop(a->dst_dentry) == a->btgt) + err = au_h_verify(a->dst_h_dentry, udba, + d_inode(a->dst_h_parent), a->dst_h_parent, + a->br); + if (!err) + goto out; /* success */ + + err = au_busy_or_stale(); + au_ren_unlock(a); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +static void au_ren_refresh_dir(struct au_ren_args *a) +{ + struct inode *dir; + + dir = a->dst_dir; + inode_inc_iversion(dir); + if (au_ftest_ren(a->auren_flags, ISDIR_SRC)) { + /* is this updating defined in POSIX? */ + au_cpup_attr_timesizes(a->src_inode); + au_cpup_attr_nlink(dir, /*force*/1); + } + au_dir_ts(dir, a->btgt); + + if (a->exchange) { + dir = a->src_dir; + inode_inc_iversion(dir); + if (au_ftest_ren(a->auren_flags, ISDIR_DST)) { + /* is this updating defined in POSIX? */ + au_cpup_attr_timesizes(a->dst_inode); + au_cpup_attr_nlink(dir, /*force*/1); + } + au_dir_ts(dir, a->btgt); + } + + if (au_ftest_ren(a->auren_flags, ISSAMEDIR)) + return; + + dir = a->src_dir; + inode_inc_iversion(dir); + if (au_ftest_ren(a->auren_flags, ISDIR_SRC)) + au_cpup_attr_nlink(dir, /*force*/1); + au_dir_ts(dir, a->btgt); +} + +static void au_ren_refresh(struct au_ren_args *a) +{ + aufs_bindex_t bbot, bindex; + struct dentry *d, *h_d; + struct inode *i, *h_i; + struct super_block *sb; + + d = a->dst_dentry; + d_drop(d); + if (a->h_dst) + /* already dget-ed by au_ren_or_cpup() */ + au_set_h_dptr(d, a->btgt, a->h_dst); + + i = a->dst_inode; + if (i) { + if (!a->exchange) { + if (!au_ftest_ren(a->auren_flags, ISDIR_DST)) + vfsub_drop_nlink(i); + else { + vfsub_dead_dir(i); + au_cpup_attr_timesizes(i); + } + au_update_dbrange(d, /*do_put_zero*/1); + } else + au_cpup_attr_nlink(i, /*force*/1); + } else { + bbot = a->btgt; + for (bindex = au_dbtop(d); bindex < bbot; bindex++) + au_set_h_dptr(d, bindex, NULL); + bbot = au_dbbot(d); + for (bindex = a->btgt + 1; bindex <= bbot; bindex++) + au_set_h_dptr(d, bindex, NULL); + au_update_dbrange(d, /*do_put_zero*/0); + } + + if (a->exchange + || au_ftest_ren(a->auren_flags, DIRREN)) { + d_drop(a->src_dentry); + if (au_ftest_ren(a->auren_flags, DIRREN)) + au_set_dbwh(a->src_dentry, -1); + return; + } + + d = a->src_dentry; + au_set_dbwh(d, -1); + bbot = au_dbbot(d); + for (bindex = a->btgt + 1; bindex <= bbot; bindex++) { + h_d = au_h_dptr(d, bindex); + if (h_d) + au_set_h_dptr(d, bindex, NULL); + } + au_set_dbbot(d, a->btgt); + + sb = d->d_sb; + i = a->src_inode; + if (au_opt_test(au_mntflags(sb), PLINK) && au_plink_test(i)) + return; /* success */ + + bbot = au_ibbot(i); + for (bindex = a->btgt + 1; bindex <= bbot; bindex++) { + h_i = au_h_iptr(i, bindex); + if (h_i) { + au_xino_write(sb, bindex, h_i->i_ino, /*ino*/0); + /* ignore this error */ + au_set_h_iptr(i, bindex, NULL, 0); + } + } + au_set_ibbot(i, a->btgt); +} + +/* ---------------------------------------------------------------------- */ + +/* mainly for link(2) and rename(2) */ +int au_wbr(struct dentry *dentry, aufs_bindex_t btgt) +{ + aufs_bindex_t bdiropq, bwh; + struct dentry *parent; + struct au_branch *br; + + parent = dentry->d_parent; + IMustLock(d_inode(parent)); /* dir is locked */ + + bdiropq = au_dbdiropq(parent); + bwh = au_dbwh(dentry); + br = au_sbr(dentry->d_sb, btgt); + if (au_br_rdonly(br) + || (0 <= bdiropq && bdiropq < btgt) + || (0 <= bwh && bwh < btgt)) + btgt = -1; + + AuDbg("btgt %d\n", btgt); + return btgt; +} + +/* sets src_btop, dst_btop and btgt */ +static int au_ren_wbr(struct au_ren_args *a) +{ + int err; + struct au_wr_dir_args wr_dir_args = { + /* .force_btgt = -1, */ + .flags = AuWrDir_ADD_ENTRY + }; + + a->src_btop = au_dbtop(a->src_dentry); + a->dst_btop = au_dbtop(a->dst_dentry); + if (au_ftest_ren(a->auren_flags, ISDIR_SRC) + || au_ftest_ren(a->auren_flags, ISDIR_DST)) + au_fset_wrdir(wr_dir_args.flags, ISDIR); + wr_dir_args.force_btgt = a->src_btop; + if (a->dst_inode && a->dst_btop < a->src_btop) + wr_dir_args.force_btgt = a->dst_btop; + wr_dir_args.force_btgt = au_wbr(a->dst_dentry, wr_dir_args.force_btgt); + err = au_wr_dir(a->dst_dentry, a->src_dentry, &wr_dir_args); + a->btgt = err; + if (a->exchange) + au_update_dbtop(a->dst_dentry); + + return err; +} + +static void au_ren_dt(struct au_ren_args *a) +{ + a->h_path.dentry = a->src_h_parent; + au_dtime_store(a->src_dt + AuPARENT, a->src_parent, &a->h_path); + if (!au_ftest_ren(a->auren_flags, ISSAMEDIR)) { + a->h_path.dentry = a->dst_h_parent; + au_dtime_store(a->dst_dt + AuPARENT, a->dst_parent, &a->h_path); + } + + au_fclr_ren(a->auren_flags, DT_DSTDIR); + if (!au_ftest_ren(a->auren_flags, ISDIR_SRC) + && !a->exchange) + return; + + a->h_path.dentry = a->src_h_dentry; + au_dtime_store(a->src_dt + AuCHILD, a->src_dentry, &a->h_path); + if (d_is_positive(a->dst_h_dentry)) { + au_fset_ren(a->auren_flags, DT_DSTDIR); + a->h_path.dentry = a->dst_h_dentry; + au_dtime_store(a->dst_dt + AuCHILD, a->dst_dentry, &a->h_path); + } +} + +static void au_ren_rev_dt(int err, struct au_ren_args *a) +{ + struct dentry *h_d; + struct inode *h_inode; + + au_dtime_revert(a->src_dt + AuPARENT); + if (!au_ftest_ren(a->auren_flags, ISSAMEDIR)) + au_dtime_revert(a->dst_dt + AuPARENT); + + if (au_ftest_ren(a->auren_flags, ISDIR_SRC) && err != -EIO) { + h_d = a->src_dt[AuCHILD].dt_h_path.dentry; + h_inode = d_inode(h_d); + inode_lock_nested(h_inode, AuLsc_I_CHILD); + au_dtime_revert(a->src_dt + AuCHILD); + inode_unlock(h_inode); + + if (au_ftest_ren(a->auren_flags, DT_DSTDIR)) { + h_d = a->dst_dt[AuCHILD].dt_h_path.dentry; + h_inode = d_inode(h_d); + inode_lock_nested(h_inode, AuLsc_I_CHILD); + au_dtime_revert(a->dst_dt + AuCHILD); + inode_unlock(h_inode); + } + } +} + +/* ---------------------------------------------------------------------- */ + +int aufs_rename(struct inode *_src_dir, struct dentry *_src_dentry, + struct inode *_dst_dir, struct dentry *_dst_dentry, + unsigned int _flags) +{ + int err, lock_flags; + void *rev; + /* reduce stack space */ + struct au_ren_args *a; + struct au_pin pin; + + AuDbg("%pd, %pd, 0x%x\n", _src_dentry, _dst_dentry, _flags); + IMustLock(_src_dir); + IMustLock(_dst_dir); + + err = -EINVAL; + if (unlikely(_flags & RENAME_WHITEOUT)) + goto out; + + err = -ENOMEM; + BUILD_BUG_ON(sizeof(*a) > PAGE_SIZE); + a = kzalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + a->flags = _flags; + BUILD_BUG_ON(sizeof(a->exchange) == sizeof(u8) + && RENAME_EXCHANGE > U8_MAX); + a->exchange = _flags & RENAME_EXCHANGE; + a->src_dir = _src_dir; + a->src_dentry = _src_dentry; + a->src_inode = NULL; + if (d_really_is_positive(a->src_dentry)) + a->src_inode = d_inode(a->src_dentry); + a->src_parent = a->src_dentry->d_parent; /* dir inode is locked */ + a->dst_dir = _dst_dir; + a->dst_dentry = _dst_dentry; + a->dst_inode = NULL; + if (d_really_is_positive(a->dst_dentry)) + a->dst_inode = d_inode(a->dst_dentry); + a->dst_parent = a->dst_dentry->d_parent; /* dir inode is locked */ + if (a->dst_inode) { + /* + * if EXCHANGE && src is non-dir && dst is dir, + * dst is not locked. + */ + /* IMustLock(a->dst_inode); */ + au_igrab(a->dst_inode); + } + + err = -ENOTDIR; + lock_flags = AuLock_FLUSH | AuLock_NOPLM | AuLock_GEN; + if (d_is_dir(a->src_dentry)) { + au_fset_ren(a->auren_flags, ISDIR_SRC); + if (unlikely(!a->exchange + && d_really_is_positive(a->dst_dentry) + && !d_is_dir(a->dst_dentry))) + goto out_free; + lock_flags |= AuLock_DIRS; + } + if (a->dst_inode && d_is_dir(a->dst_dentry)) { + au_fset_ren(a->auren_flags, ISDIR_DST); + if (unlikely(!a->exchange + && d_really_is_positive(a->src_dentry) + && !d_is_dir(a->src_dentry))) + goto out_free; + lock_flags |= AuLock_DIRS; + } + err = aufs_read_and_write_lock2(a->dst_dentry, a->src_dentry, + lock_flags); + if (unlikely(err)) + goto out_free; + + err = au_d_hashed_positive(a->src_dentry); + if (unlikely(err)) + goto out_unlock; + err = -ENOENT; + if (a->dst_inode) { + /* + * If it is a dir, VFS unhash it before this + * function. It means we cannot rely upon d_unhashed(). + */ + if (unlikely(!a->dst_inode->i_nlink)) + goto out_unlock; + if (!au_ftest_ren(a->auren_flags, ISDIR_DST)) { + err = au_d_hashed_positive(a->dst_dentry); + if (unlikely(err && !a->exchange)) + goto out_unlock; + } else if (unlikely(IS_DEADDIR(a->dst_inode))) + goto out_unlock; + } else if (unlikely(d_unhashed(a->dst_dentry))) + goto out_unlock; + + /* + * is it possible? + * yes, it happened (in linux-3.3-rcN) but I don't know why. + * there may exist a problem somewhere else. + */ + err = -EINVAL; + if (unlikely(d_inode(a->dst_parent) == d_inode(a->src_dentry))) + goto out_unlock; + + au_fset_ren(a->auren_flags, ISSAMEDIR); /* temporary */ + di_write_lock_parent(a->dst_parent); + + /* which branch we process */ + err = au_ren_wbr(a); + if (unlikely(err < 0)) + goto out_parent; + a->br = au_sbr(a->dst_dentry->d_sb, a->btgt); + a->h_path.mnt = au_br_mnt(a->br); + + /* are they available to be renamed */ + err = au_ren_may_dir(a); + if (unlikely(err)) + goto out_children; + + /* prepare the writable parent dir on the same branch */ + if (a->dst_btop == a->btgt) { + au_fset_ren(a->auren_flags, WHDST); + } else { + err = au_cpup_dirs(a->dst_dentry, a->btgt); + if (unlikely(err)) + goto out_children; + } + + err = 0; + if (!a->exchange) { + if (a->src_dir != a->dst_dir) { + /* + * this temporary unlock is safe, + * because both dir->i_mutex are locked. + */ + di_write_unlock(a->dst_parent); + di_write_lock_parent(a->src_parent); + err = au_wr_dir_need_wh(a->src_dentry, + au_ftest_ren(a->auren_flags, + ISDIR_SRC), + &a->btgt); + di_write_unlock(a->src_parent); + di_write_lock2_parent(a->src_parent, a->dst_parent, + /*isdir*/1); + au_fclr_ren(a->auren_flags, ISSAMEDIR); + } else + err = au_wr_dir_need_wh(a->src_dentry, + au_ftest_ren(a->auren_flags, + ISDIR_SRC), + &a->btgt); + } + if (unlikely(err < 0)) + goto out_children; + if (err) + au_fset_ren(a->auren_flags, WHSRC); + + /* cpup src */ + if (a->src_btop != a->btgt) { + err = au_pin(&pin, a->src_dentry, a->btgt, + au_opt_udba(a->src_dentry->d_sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (!err) { + struct au_cp_generic cpg = { + .dentry = a->src_dentry, + .bdst = a->btgt, + .bsrc = a->src_btop, + .len = -1, + .pin = &pin, + .flags = AuCpup_DTIME | AuCpup_HOPEN + }; + AuDebugOn(au_dbtop(a->src_dentry) != a->src_btop); + err = au_sio_cpup_simple(&cpg); + au_unpin(&pin); + } + if (unlikely(err)) + goto out_children; + a->src_btop = a->btgt; + a->src_h_dentry = au_h_dptr(a->src_dentry, a->btgt); + if (!a->exchange) + au_fset_ren(a->auren_flags, WHSRC); + } + + /* cpup dst */ + if (a->exchange && a->dst_inode + && a->dst_btop != a->btgt) { + err = au_pin(&pin, a->dst_dentry, a->btgt, + au_opt_udba(a->dst_dentry->d_sb), + AuPin_DI_LOCKED | AuPin_MNT_WRITE); + if (!err) { + struct au_cp_generic cpg = { + .dentry = a->dst_dentry, + .bdst = a->btgt, + .bsrc = a->dst_btop, + .len = -1, + .pin = &pin, + .flags = AuCpup_DTIME | AuCpup_HOPEN + }; + err = au_sio_cpup_simple(&cpg); + au_unpin(&pin); + } + if (unlikely(err)) + goto out_children; + a->dst_btop = a->btgt; + a->dst_h_dentry = au_h_dptr(a->dst_dentry, a->btgt); + } + + /* lock them all */ + err = au_ren_lock(a); + if (unlikely(err)) + /* leave the copied-up one */ + goto out_children; + + if (!a->exchange) { + if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE)) + err = au_may_ren(a); + else if (unlikely(a->dst_dentry->d_name.len > AUFS_MAX_NAMELEN)) + err = -ENAMETOOLONG; + if (unlikely(err)) + goto out_hdir; + } + + /* store timestamps to be revertible */ + au_ren_dt(a); + + /* store dirren info */ + if (au_ftest_ren(a->auren_flags, DIRREN)) { + err = au_dr_rename(a->src_dentry, a->btgt, + &a->dst_dentry->d_name, &rev); + AuTraceErr(err); + if (unlikely(err)) + goto out_dt; + } + + /* here we go */ + err = do_rename(a); + if (unlikely(err)) + goto out_dirren; + + if (au_ftest_ren(a->auren_flags, DIRREN)) + au_dr_rename_fin(a->src_dentry, a->btgt, rev); + + /* update dir attributes */ + au_ren_refresh_dir(a); + + /* dput/iput all lower dentries */ + au_ren_refresh(a); + + goto out_hdir; /* success */ + +out_dirren: + if (au_ftest_ren(a->auren_flags, DIRREN)) + au_dr_rename_rev(a->src_dentry, a->btgt, rev); +out_dt: + au_ren_rev_dt(err, a); +out_hdir: + au_ren_unlock(a); +out_children: + au_nhash_wh_free(&a->whlist); + if (err && a->dst_inode && a->dst_btop != a->btgt) { + AuDbg("btop %d, btgt %d\n", a->dst_btop, a->btgt); + au_set_h_dptr(a->dst_dentry, a->btgt, NULL); + au_set_dbtop(a->dst_dentry, a->dst_btop); + } +out_parent: + if (!err) { + if (d_unhashed(a->src_dentry)) + au_fset_ren(a->auren_flags, DROPPED_SRC); + if (d_unhashed(a->dst_dentry)) + au_fset_ren(a->auren_flags, DROPPED_DST); + if (!a->exchange) + d_move(a->src_dentry, a->dst_dentry); + else { + d_exchange(a->src_dentry, a->dst_dentry); + if (au_ftest_ren(a->auren_flags, DROPPED_DST)) + d_drop(a->dst_dentry); + } + if (au_ftest_ren(a->auren_flags, DROPPED_SRC)) + d_drop(a->src_dentry); + } else { + au_update_dbtop(a->dst_dentry); + if (!a->dst_inode) + d_drop(a->dst_dentry); + } + if (au_ftest_ren(a->auren_flags, ISSAMEDIR)) + di_write_unlock(a->dst_parent); + else + di_write_unlock2(a->src_parent, a->dst_parent); +out_unlock: + aufs_read_and_write_unlock2(a->dst_dentry, a->src_dentry); +out_free: + iput(a->dst_inode); + if (a->thargs) + au_whtmp_rmdir_free(a->thargs); + au_kfree_rcu(a); +out: + AuTraceErr(err); + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/iinfo.c +++ linux-riscv-5.8-5.8.0/fs/aufs/iinfo.c @@ -0,0 +1,286 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode private data + */ + +#include "aufs.h" + +struct inode *au_h_iptr(struct inode *inode, aufs_bindex_t bindex) +{ + struct inode *h_inode; + struct au_hinode *hinode; + + IiMustAnyLock(inode); + + hinode = au_hinode(au_ii(inode), bindex); + h_inode = hinode->hi_inode; + AuDebugOn(h_inode && atomic_read(&h_inode->i_count) <= 0); + return h_inode; +} + +/* todo: hard/soft set? */ +void au_hiput(struct au_hinode *hinode) +{ + au_hn_free(hinode); + dput(hinode->hi_whdentry); + iput(hinode->hi_inode); +} + +unsigned int au_hi_flags(struct inode *inode, int isdir) +{ + unsigned int flags; + const unsigned int mnt_flags = au_mntflags(inode->i_sb); + + flags = 0; + if (au_opt_test(mnt_flags, XINO)) + au_fset_hi(flags, XINO); + if (isdir && au_opt_test(mnt_flags, UDBA_HNOTIFY)) + au_fset_hi(flags, HNOTIFY); + return flags; +} + +void au_set_h_iptr(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode, unsigned int flags) +{ + struct au_hinode *hinode; + struct inode *hi; + struct au_iinfo *iinfo = au_ii(inode); + + IiMustWriteLock(inode); + + hinode = au_hinode(iinfo, bindex); + hi = hinode->hi_inode; + AuDebugOn(h_inode && atomic_read(&h_inode->i_count) <= 0); + + if (hi) + au_hiput(hinode); + hinode->hi_inode = h_inode; + if (h_inode) { + int err; + struct super_block *sb = inode->i_sb; + struct au_branch *br; + + AuDebugOn(inode->i_mode + && (h_inode->i_mode & S_IFMT) + != (inode->i_mode & S_IFMT)); + if (bindex == iinfo->ii_btop) + au_cpup_igen(inode, h_inode); + br = au_sbr(sb, bindex); + hinode->hi_id = br->br_id; + if (au_ftest_hi(flags, XINO)) { + err = au_xino_write(sb, bindex, h_inode->i_ino, + inode->i_ino); + if (unlikely(err)) + AuIOErr1("failed au_xino_write() %d\n", err); + } + + if (au_ftest_hi(flags, HNOTIFY) + && au_br_hnotifyable(br->br_perm)) { + err = au_hn_alloc(hinode, inode); + if (unlikely(err)) + AuIOErr1("au_hn_alloc() %d\n", err); + } + } +} + +void au_set_hi_wh(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_wh) +{ + struct au_hinode *hinode; + + IiMustWriteLock(inode); + + hinode = au_hinode(au_ii(inode), bindex); + AuDebugOn(hinode->hi_whdentry); + hinode->hi_whdentry = h_wh; +} + +void au_update_iigen(struct inode *inode, int half) +{ + struct au_iinfo *iinfo; + struct au_iigen *iigen; + unsigned int sigen; + + sigen = au_sigen(inode->i_sb); + iinfo = au_ii(inode); + iigen = &iinfo->ii_generation; + spin_lock(&iigen->ig_spin); + iigen->ig_generation = sigen; + if (half) + au_ig_fset(iigen->ig_flags, HALF_REFRESHED); + else + au_ig_fclr(iigen->ig_flags, HALF_REFRESHED); + spin_unlock(&iigen->ig_spin); +} + +/* it may be called at remount time, too */ +void au_update_ibrange(struct inode *inode, int do_put_zero) +{ + struct au_iinfo *iinfo; + aufs_bindex_t bindex, bbot; + + AuDebugOn(au_is_bad_inode(inode)); + IiMustWriteLock(inode); + + iinfo = au_ii(inode); + if (do_put_zero && iinfo->ii_btop >= 0) { + for (bindex = iinfo->ii_btop; bindex <= iinfo->ii_bbot; + bindex++) { + struct inode *h_i; + + h_i = au_hinode(iinfo, bindex)->hi_inode; + if (h_i + && !h_i->i_nlink + && !(h_i->i_state & I_LINKABLE)) + au_set_h_iptr(inode, bindex, NULL, 0); + } + } + + iinfo->ii_btop = -1; + iinfo->ii_bbot = -1; + bbot = au_sbbot(inode->i_sb); + for (bindex = 0; bindex <= bbot; bindex++) + if (au_hinode(iinfo, bindex)->hi_inode) { + iinfo->ii_btop = bindex; + break; + } + if (iinfo->ii_btop >= 0) + for (bindex = bbot; bindex >= iinfo->ii_btop; bindex--) + if (au_hinode(iinfo, bindex)->hi_inode) { + iinfo->ii_bbot = bindex; + break; + } + AuDebugOn(iinfo->ii_btop > iinfo->ii_bbot); +} + +/* ---------------------------------------------------------------------- */ + +void au_icntnr_init_once(void *_c) +{ + struct au_icntnr *c = _c; + struct au_iinfo *iinfo = &c->iinfo; + + spin_lock_init(&iinfo->ii_generation.ig_spin); + au_rw_init(&iinfo->ii_rwsem); + inode_init_once(&c->vfs_inode); +} + +void au_hinode_init(struct au_hinode *hinode) +{ + hinode->hi_inode = NULL; + hinode->hi_id = -1; + au_hn_init(hinode); + hinode->hi_whdentry = NULL; +} + +int au_iinfo_init(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct super_block *sb; + struct au_hinode *hi; + int nbr, i; + + sb = inode->i_sb; + iinfo = &(container_of(inode, struct au_icntnr, vfs_inode)->iinfo); + nbr = au_sbbot(sb) + 1; + if (unlikely(nbr <= 0)) + nbr = 1; + hi = kmalloc_array(nbr, sizeof(*iinfo->ii_hinode), GFP_NOFS); + if (hi) { + au_lcnt_inc(&au_sbi(sb)->si_ninodes); + + iinfo->ii_hinode = hi; + for (i = 0; i < nbr; i++, hi++) + au_hinode_init(hi); + + iinfo->ii_generation.ig_generation = au_sigen(sb); + iinfo->ii_btop = -1; + iinfo->ii_bbot = -1; + iinfo->ii_vdir = NULL; + return 0; + } + return -ENOMEM; +} + +int au_hinode_realloc(struct au_iinfo *iinfo, int nbr, int may_shrink) +{ + int err, i; + struct au_hinode *hip; + + AuRwMustWriteLock(&iinfo->ii_rwsem); + + err = -ENOMEM; + hip = au_krealloc(iinfo->ii_hinode, sizeof(*hip) * nbr, GFP_NOFS, + may_shrink); + if (hip) { + iinfo->ii_hinode = hip; + i = iinfo->ii_bbot + 1; + hip += i; + for (; i < nbr; i++, hip++) + au_hinode_init(hip); + err = 0; + } + + return err; +} + +void au_iinfo_fin(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct au_hinode *hi; + struct super_block *sb; + aufs_bindex_t bindex, bbot; + const unsigned char unlinked = !inode->i_nlink; + + AuDebugOn(au_is_bad_inode(inode)); + + sb = inode->i_sb; + au_lcnt_dec(&au_sbi(sb)->si_ninodes); + if (si_pid_test(sb)) + au_xino_delete_inode(inode, unlinked); + else { + /* + * it is safe to hide the dependency between sbinfo and + * sb->s_umount. + */ + lockdep_off(); + si_noflush_read_lock(sb); + au_xino_delete_inode(inode, unlinked); + si_read_unlock(sb); + lockdep_on(); + } + + iinfo = au_ii(inode); + if (iinfo->ii_vdir) + au_vdir_free(iinfo->ii_vdir); + + bindex = iinfo->ii_btop; + if (bindex >= 0) { + hi = au_hinode(iinfo, bindex); + bbot = iinfo->ii_bbot; + while (bindex++ <= bbot) { + if (hi->hi_inode) + au_hiput(hi); + hi++; + } + } + au_kfree_rcu(iinfo->ii_hinode); + AuRwDestroy(&iinfo->ii_rwsem); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/inode.c +++ linux-riscv-5.8-5.8.0/fs/aufs/inode.c @@ -0,0 +1,529 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode functions + */ + +#include +#include "aufs.h" + +struct inode *au_igrab(struct inode *inode) +{ + if (inode) { + AuDebugOn(!atomic_read(&inode->i_count)); + ihold(inode); + } + return inode; +} + +static void au_refresh_hinode_attr(struct inode *inode, int do_version) +{ + au_cpup_attr_all(inode, /*force*/0); + au_update_iigen(inode, /*half*/1); + if (do_version) + inode_inc_iversion(inode); +} + +static int au_ii_refresh(struct inode *inode, int *update) +{ + int err, e, nbr; + umode_t type; + aufs_bindex_t bindex, new_bindex; + struct super_block *sb; + struct au_iinfo *iinfo; + struct au_hinode *p, *q, tmp; + + AuDebugOn(au_is_bad_inode(inode)); + IiMustWriteLock(inode); + + *update = 0; + sb = inode->i_sb; + nbr = au_sbbot(sb) + 1; + type = inode->i_mode & S_IFMT; + iinfo = au_ii(inode); + err = au_hinode_realloc(iinfo, nbr, /*may_shrink*/0); + if (unlikely(err)) + goto out; + + AuDebugOn(iinfo->ii_btop < 0); + p = au_hinode(iinfo, iinfo->ii_btop); + for (bindex = iinfo->ii_btop; bindex <= iinfo->ii_bbot; + bindex++, p++) { + if (!p->hi_inode) + continue; + + AuDebugOn(type != (p->hi_inode->i_mode & S_IFMT)); + new_bindex = au_br_index(sb, p->hi_id); + if (new_bindex == bindex) + continue; + + if (new_bindex < 0) { + *update = 1; + au_hiput(p); + p->hi_inode = NULL; + continue; + } + + if (new_bindex < iinfo->ii_btop) + iinfo->ii_btop = new_bindex; + if (iinfo->ii_bbot < new_bindex) + iinfo->ii_bbot = new_bindex; + /* swap two lower inode, and loop again */ + q = au_hinode(iinfo, new_bindex); + tmp = *q; + *q = *p; + *p = tmp; + if (tmp.hi_inode) { + bindex--; + p--; + } + } + au_update_ibrange(inode, /*do_put_zero*/0); + au_hinode_realloc(iinfo, nbr, /*may_shrink*/1); /* harmless if err */ + e = au_dy_irefresh(inode); + if (unlikely(e && !err)) + err = e; + +out: + AuTraceErr(err); + return err; +} + +void au_refresh_iop(struct inode *inode, int force_getattr) +{ + int type; + struct au_sbinfo *sbi = au_sbi(inode->i_sb); + const struct inode_operations *iop + = force_getattr ? aufs_iop : sbi->si_iop_array; + + if (inode->i_op == iop) + return; + + switch (inode->i_mode & S_IFMT) { + case S_IFDIR: + type = AuIop_DIR; + break; + case S_IFLNK: + type = AuIop_SYMLINK; + break; + default: + type = AuIop_OTHER; + break; + } + + inode->i_op = iop + type; + /* unnecessary smp_wmb() */ +} + +int au_refresh_hinode_self(struct inode *inode) +{ + int err, update; + + err = au_ii_refresh(inode, &update); + if (!err) + au_refresh_hinode_attr(inode, update && S_ISDIR(inode->i_mode)); + + AuTraceErr(err); + return err; +} + +int au_refresh_hinode(struct inode *inode, struct dentry *dentry) +{ + int err, e, update; + unsigned int flags; + umode_t mode; + aufs_bindex_t bindex, bbot; + unsigned char isdir; + struct au_hinode *p; + struct au_iinfo *iinfo; + + err = au_ii_refresh(inode, &update); + if (unlikely(err)) + goto out; + + update = 0; + iinfo = au_ii(inode); + p = au_hinode(iinfo, iinfo->ii_btop); + mode = (inode->i_mode & S_IFMT); + isdir = S_ISDIR(mode); + flags = au_hi_flags(inode, isdir); + bbot = au_dbbot(dentry); + for (bindex = au_dbtop(dentry); bindex <= bbot; bindex++) { + struct inode *h_i, *h_inode; + struct dentry *h_d; + + h_d = au_h_dptr(dentry, bindex); + if (!h_d || d_is_negative(h_d)) + continue; + + h_inode = d_inode(h_d); + AuDebugOn(mode != (h_inode->i_mode & S_IFMT)); + if (iinfo->ii_btop <= bindex && bindex <= iinfo->ii_bbot) { + h_i = au_h_iptr(inode, bindex); + if (h_i) { + if (h_i == h_inode) + continue; + err = -EIO; + break; + } + } + if (bindex < iinfo->ii_btop) + iinfo->ii_btop = bindex; + if (iinfo->ii_bbot < bindex) + iinfo->ii_bbot = bindex; + au_set_h_iptr(inode, bindex, au_igrab(h_inode), flags); + update = 1; + } + au_update_ibrange(inode, /*do_put_zero*/0); + e = au_dy_irefresh(inode); + if (unlikely(e && !err)) + err = e; + if (!err) + au_refresh_hinode_attr(inode, update && isdir); + +out: + AuTraceErr(err); + return err; +} + +static int set_inode(struct inode *inode, struct dentry *dentry) +{ + int err; + unsigned int flags; + umode_t mode; + aufs_bindex_t bindex, btop, btail; + unsigned char isdir; + struct dentry *h_dentry; + struct inode *h_inode; + struct au_iinfo *iinfo; + const struct inode_operations *iop; + + IiMustWriteLock(inode); + + err = 0; + isdir = 0; + iop = au_sbi(inode->i_sb)->si_iop_array; + btop = au_dbtop(dentry); + h_dentry = au_h_dptr(dentry, btop); + h_inode = d_inode(h_dentry); + mode = h_inode->i_mode; + switch (mode & S_IFMT) { + case S_IFREG: + btail = au_dbtail(dentry); + inode->i_op = iop + AuIop_OTHER; + inode->i_fop = &aufs_file_fop; + err = au_dy_iaop(inode, btop, h_inode); + if (unlikely(err)) + goto out; + break; + case S_IFDIR: + isdir = 1; + btail = au_dbtaildir(dentry); + inode->i_op = iop + AuIop_DIR; + inode->i_fop = &aufs_dir_fop; + break; + case S_IFLNK: + btail = au_dbtail(dentry); + inode->i_op = iop + AuIop_SYMLINK; + break; + case S_IFBLK: + case S_IFCHR: + case S_IFIFO: + case S_IFSOCK: + btail = au_dbtail(dentry); + inode->i_op = iop + AuIop_OTHER; + init_special_inode(inode, mode, h_inode->i_rdev); + break; + default: + AuIOErr("Unknown file type 0%o\n", mode); + err = -EIO; + goto out; + } + + /* do not set hnotify for whiteouted dirs (SHWH mode) */ + flags = au_hi_flags(inode, isdir); + if (au_opt_test(au_mntflags(dentry->d_sb), SHWH) + && au_ftest_hi(flags, HNOTIFY) + && dentry->d_name.len > AUFS_WH_PFX_LEN + && !memcmp(dentry->d_name.name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) + au_fclr_hi(flags, HNOTIFY); + iinfo = au_ii(inode); + iinfo->ii_btop = btop; + iinfo->ii_bbot = btail; + for (bindex = btop; bindex <= btail; bindex++) { + h_dentry = au_h_dptr(dentry, bindex); + if (h_dentry) + au_set_h_iptr(inode, bindex, + au_igrab(d_inode(h_dentry)), flags); + } + au_cpup_attr_all(inode, /*force*/1); + /* + * to force calling aufs_get_acl() every time, + * do not call cache_no_acl() for aufs inode. + */ + +out: + return err; +} + +/* + * successful returns with iinfo write_locked + * minus: errno + * zero: success, matched + * plus: no error, but unmatched + */ +static int reval_inode(struct inode *inode, struct dentry *dentry) +{ + int err; + unsigned int gen, igflags; + aufs_bindex_t bindex, bbot; + struct inode *h_inode, *h_dinode; + struct dentry *h_dentry; + + /* + * before this function, if aufs got any iinfo lock, it must be only + * one, the parent dir. + * it can happen by UDBA and the obsoleted inode number. + */ + err = -EIO; + if (unlikely(inode->i_ino == parent_ino(dentry))) + goto out; + + err = 1; + ii_write_lock_new_child(inode); + h_dentry = au_h_dptr(dentry, au_dbtop(dentry)); + h_dinode = d_inode(h_dentry); + bbot = au_ibbot(inode); + for (bindex = au_ibtop(inode); bindex <= bbot; bindex++) { + h_inode = au_h_iptr(inode, bindex); + if (!h_inode || h_inode != h_dinode) + continue; + + err = 0; + gen = au_iigen(inode, &igflags); + if (gen == au_digen(dentry) + && !au_ig_ftest(igflags, HALF_REFRESHED)) + break; + + /* fully refresh inode using dentry */ + err = au_refresh_hinode(inode, dentry); + if (!err) + au_update_iigen(inode, /*half*/0); + break; + } + + if (unlikely(err)) + ii_write_unlock(inode); +out: + return err; +} + +int au_ino(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + unsigned int d_type, ino_t *ino) +{ + int err, idx; + const int isnondir = d_type != DT_DIR; + + /* prevent hardlinked inode number from race condition */ + if (isnondir) { + err = au_xinondir_enter(sb, bindex, h_ino, &idx); + if (unlikely(err)) + goto out; + } + + err = au_xino_read(sb, bindex, h_ino, ino); + if (unlikely(err)) + goto out_xinondir; + + if (!*ino) { + err = -EIO; + *ino = au_xino_new_ino(sb); + if (unlikely(!*ino)) + goto out_xinondir; + err = au_xino_write(sb, bindex, h_ino, *ino); + if (unlikely(err)) + goto out_xinondir; + } + +out_xinondir: + if (isnondir && idx >= 0) + au_xinondir_leave(sb, bindex, h_ino, idx); +out: + return err; +} + +/* successful returns with iinfo write_locked */ +/* todo: return with unlocked? */ +struct inode *au_new_inode(struct dentry *dentry, int must_new) +{ + struct inode *inode, *h_inode; + struct dentry *h_dentry; + struct super_block *sb; + ino_t h_ino, ino; + int err, idx, hlinked; + aufs_bindex_t btop; + + sb = dentry->d_sb; + btop = au_dbtop(dentry); + h_dentry = au_h_dptr(dentry, btop); + h_inode = d_inode(h_dentry); + h_ino = h_inode->i_ino; + hlinked = !d_is_dir(h_dentry) && h_inode->i_nlink > 1; + +new_ino: + /* + * stop 'race'-ing between hardlinks under different + * parents. + */ + if (hlinked) { + err = au_xinondir_enter(sb, btop, h_ino, &idx); + inode = ERR_PTR(err); + if (unlikely(err)) + goto out; + } + + err = au_xino_read(sb, btop, h_ino, &ino); + inode = ERR_PTR(err); + if (unlikely(err)) + goto out_xinondir; + + if (!ino) { + ino = au_xino_new_ino(sb); + if (unlikely(!ino)) { + inode = ERR_PTR(-EIO); + goto out_xinondir; + } + } + + AuDbg("i%lu\n", (unsigned long)ino); + inode = au_iget_locked(sb, ino); + err = PTR_ERR(inode); + if (IS_ERR(inode)) + goto out_xinondir; + + AuDbg("%lx, new %d\n", inode->i_state, !!(inode->i_state & I_NEW)); + if (inode->i_state & I_NEW) { + ii_write_lock_new_child(inode); + err = set_inode(inode, dentry); + if (!err) { + unlock_new_inode(inode); + goto out_xinondir; /* success */ + } + + /* + * iget_failed() calls iput(), but we need to call + * ii_write_unlock() after iget_failed(). so dirty hack for + * i_count. + */ + atomic_inc(&inode->i_count); + iget_failed(inode); + ii_write_unlock(inode); + au_xino_write(sb, btop, h_ino, /*ino*/0); + /* ignore this error */ + goto out_iput; + } else if (!must_new && !IS_DEADDIR(inode) && inode->i_nlink) { + /* + * horrible race condition between lookup, readdir and copyup + * (or something). + */ + if (hlinked && idx >= 0) + au_xinondir_leave(sb, btop, h_ino, idx); + err = reval_inode(inode, dentry); + if (unlikely(err < 0)) { + hlinked = 0; + goto out_iput; + } + if (!err) + goto out; /* success */ + else if (hlinked && idx >= 0) { + err = au_xinondir_enter(sb, btop, h_ino, &idx); + if (unlikely(err)) { + iput(inode); + inode = ERR_PTR(err); + goto out; + } + } + } + + if (unlikely(au_test_fs_unique_ino(h_inode))) + AuWarn1("Warning: Un-notified UDBA or repeatedly renamed dir," + " b%d, %s, %pd, hi%lu, i%lu.\n", + btop, au_sbtype(h_dentry->d_sb), dentry, + (unsigned long)h_ino, (unsigned long)ino); + ino = 0; + err = au_xino_write(sb, btop, h_ino, /*ino*/0); + if (!err) { + iput(inode); + if (hlinked && idx >= 0) + au_xinondir_leave(sb, btop, h_ino, idx); + goto new_ino; + } + +out_iput: + iput(inode); + inode = ERR_PTR(err); +out_xinondir: + if (hlinked && idx >= 0) + au_xinondir_leave(sb, btop, h_ino, idx); +out: + return inode; +} + +/* ---------------------------------------------------------------------- */ + +int au_test_ro(struct super_block *sb, aufs_bindex_t bindex, + struct inode *inode) +{ + int err; + struct inode *hi; + + err = au_br_rdonly(au_sbr(sb, bindex)); + + /* pseudo-link after flushed may happen out of bounds */ + if (!err + && inode + && au_ibtop(inode) <= bindex + && bindex <= au_ibbot(inode)) { + /* + * permission check is unnecessary since vfsub routine + * will be called later + */ + hi = au_h_iptr(inode, bindex); + if (hi) + err = IS_IMMUTABLE(hi) ? -EROFS : 0; + } + + return err; +} + +int au_test_h_perm(struct inode *h_inode, int mask) +{ + if (uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) + return 0; + return inode_permission(h_inode, mask); +} + +int au_test_h_perm_sio(struct inode *h_inode, int mask) +{ + if (au_test_nfs(h_inode->i_sb) + && (mask & MAY_WRITE) + && S_ISDIR(h_inode->i_mode)) + mask |= MAY_READ; /* force permission check */ + return au_test_h_perm(h_inode, mask); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/inode.h +++ linux-riscv-5.8-5.8.0/fs/aufs/inode.h @@ -0,0 +1,698 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * inode operations + */ + +#ifndef __AUFS_INODE_H__ +#define __AUFS_INODE_H__ + +#ifdef __KERNEL__ + +#include +#include "rwsem.h" + +struct vfsmount; + +struct au_hnotify { +#ifdef CONFIG_AUFS_HNOTIFY +#ifdef CONFIG_AUFS_HFSNOTIFY + /* never use fsnotify_add_vfsmount_mark() */ + struct fsnotify_mark hn_mark; +#endif + struct inode *hn_aufs_inode; /* no get/put */ + struct rcu_head rcu; +#endif +} ____cacheline_aligned_in_smp; + +struct au_hinode { + struct inode *hi_inode; + aufs_bindex_t hi_id; +#ifdef CONFIG_AUFS_HNOTIFY + struct au_hnotify *hi_notify; +#endif + + /* reference to the copied-up whiteout with get/put */ + struct dentry *hi_whdentry; +}; + +/* ig_flags */ +#define AuIG_HALF_REFRESHED 1 +#define au_ig_ftest(flags, name) ((flags) & AuIG_##name) +#define au_ig_fset(flags, name) \ + do { (flags) |= AuIG_##name; } while (0) +#define au_ig_fclr(flags, name) \ + do { (flags) &= ~AuIG_##name; } while (0) + +struct au_iigen { + spinlock_t ig_spin; + __u32 ig_generation, ig_flags; +}; + +struct au_vdir; +struct au_iinfo { + struct au_iigen ii_generation; + struct super_block *ii_hsb1; /* no get/put */ + + struct au_rwsem ii_rwsem; + aufs_bindex_t ii_btop, ii_bbot; + __u32 ii_higen; + struct au_hinode *ii_hinode; + struct au_vdir *ii_vdir; +}; + +struct au_icntnr { + struct au_iinfo iinfo; + struct inode vfs_inode; + struct hlist_bl_node plink; + struct rcu_head rcu; +} ____cacheline_aligned_in_smp; + +/* au_pin flags */ +#define AuPin_DI_LOCKED 1 +#define AuPin_MNT_WRITE (1 << 1) +#define au_ftest_pin(flags, name) ((flags) & AuPin_##name) +#define au_fset_pin(flags, name) \ + do { (flags) |= AuPin_##name; } while (0) +#define au_fclr_pin(flags, name) \ + do { (flags) &= ~AuPin_##name; } while (0) + +struct au_pin { + /* input */ + struct dentry *dentry; + unsigned int udba; + unsigned char lsc_di, lsc_hi, flags; + aufs_bindex_t bindex; + + /* output */ + struct dentry *parent; + struct au_hinode *hdir; + struct vfsmount *h_mnt; + + /* temporary unlock/relock for copyup */ + struct dentry *h_dentry, *h_parent; + struct au_branch *br; + struct task_struct *task; +}; + +void au_pin_hdir_unlock(struct au_pin *p); +int au_pin_hdir_lock(struct au_pin *p); +int au_pin_hdir_relock(struct au_pin *p); +void au_pin_hdir_acquire_nest(struct au_pin *p); +void au_pin_hdir_release(struct au_pin *p); + +/* ---------------------------------------------------------------------- */ + +static inline struct au_iinfo *au_ii(struct inode *inode) +{ + BUG_ON(is_bad_inode(inode)); + return &(container_of(inode, struct au_icntnr, vfs_inode)->iinfo); +} + +/* ---------------------------------------------------------------------- */ + +/* inode.c */ +struct inode *au_igrab(struct inode *inode); +void au_refresh_iop(struct inode *inode, int force_getattr); +int au_refresh_hinode_self(struct inode *inode); +int au_refresh_hinode(struct inode *inode, struct dentry *dentry); +int au_ino(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + unsigned int d_type, ino_t *ino); +struct inode *au_new_inode(struct dentry *dentry, int must_new); +int au_test_ro(struct super_block *sb, aufs_bindex_t bindex, + struct inode *inode); +int au_test_h_perm(struct inode *h_inode, int mask); +int au_test_h_perm_sio(struct inode *h_inode, int mask); + +static inline int au_wh_ino(struct super_block *sb, aufs_bindex_t bindex, + ino_t h_ino, unsigned int d_type, ino_t *ino) +{ +#ifdef CONFIG_AUFS_SHWH + return au_ino(sb, bindex, h_ino, d_type, ino); +#else + return 0; +#endif +} + +/* i_op.c */ +enum { + AuIop_SYMLINK, + AuIop_DIR, + AuIop_OTHER, + AuIop_Last +}; +extern struct inode_operations aufs_iop[AuIop_Last], /* not const */ + aufs_iop_nogetattr[AuIop_Last]; + +/* au_wr_dir flags */ +#define AuWrDir_ADD_ENTRY 1 +#define AuWrDir_ISDIR (1 << 1) +#define AuWrDir_TMPFILE (1 << 2) +#define au_ftest_wrdir(flags, name) ((flags) & AuWrDir_##name) +#define au_fset_wrdir(flags, name) \ + do { (flags) |= AuWrDir_##name; } while (0) +#define au_fclr_wrdir(flags, name) \ + do { (flags) &= ~AuWrDir_##name; } while (0) + +struct au_wr_dir_args { + aufs_bindex_t force_btgt; + unsigned char flags; +}; +int au_wr_dir(struct dentry *dentry, struct dentry *src_dentry, + struct au_wr_dir_args *args); + +struct dentry *au_pinned_h_parent(struct au_pin *pin); +void au_pin_init(struct au_pin *pin, struct dentry *dentry, + aufs_bindex_t bindex, int lsc_di, int lsc_hi, + unsigned int udba, unsigned char flags); +int au_pin(struct au_pin *pin, struct dentry *dentry, aufs_bindex_t bindex, + unsigned int udba, unsigned char flags) __must_check; +int au_do_pin(struct au_pin *pin) __must_check; +void au_unpin(struct au_pin *pin); +int au_reval_for_attr(struct dentry *dentry, unsigned int sigen); + +#define AuIcpup_DID_CPUP 1 +#define au_ftest_icpup(flags, name) ((flags) & AuIcpup_##name) +#define au_fset_icpup(flags, name) \ + do { (flags) |= AuIcpup_##name; } while (0) +#define au_fclr_icpup(flags, name) \ + do { (flags) &= ~AuIcpup_##name; } while (0) + +struct au_icpup_args { + unsigned char flags; + unsigned char pin_flags; + aufs_bindex_t btgt; + unsigned int udba; + struct au_pin pin; + struct path h_path; + struct inode *h_inode; +}; + +int au_pin_and_icpup(struct dentry *dentry, struct iattr *ia, + struct au_icpup_args *a); + +int au_h_path_getattr(struct dentry *dentry, struct inode *inode, int force, + struct path *h_path, int locked); + +/* i_op_add.c */ +int au_may_add(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir); +int aufs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t dev); +int aufs_symlink(struct inode *dir, struct dentry *dentry, const char *symname); +int aufs_create(struct inode *dir, struct dentry *dentry, umode_t mode, + bool want_excl); +struct vfsub_aopen_args; +int au_aopen_or_create(struct inode *dir, struct dentry *dentry, + struct vfsub_aopen_args *args); +int aufs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode); +int aufs_link(struct dentry *src_dentry, struct inode *dir, + struct dentry *dentry); +int aufs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode); + +/* i_op_del.c */ +int au_wr_dir_need_wh(struct dentry *dentry, int isdir, aufs_bindex_t *bcpup); +int au_may_del(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent, int isdir); +int aufs_unlink(struct inode *dir, struct dentry *dentry); +int aufs_rmdir(struct inode *dir, struct dentry *dentry); + +/* i_op_ren.c */ +int au_wbr(struct dentry *dentry, aufs_bindex_t btgt); +int aufs_rename(struct inode *src_dir, struct dentry *src_dentry, + struct inode *dir, struct dentry *dentry, + unsigned int flags); + +/* iinfo.c */ +struct inode *au_h_iptr(struct inode *inode, aufs_bindex_t bindex); +void au_hiput(struct au_hinode *hinode); +void au_set_hi_wh(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_wh); +unsigned int au_hi_flags(struct inode *inode, int isdir); + +/* hinode flags */ +#define AuHi_XINO 1 +#define AuHi_HNOTIFY (1 << 1) +#define au_ftest_hi(flags, name) ((flags) & AuHi_##name) +#define au_fset_hi(flags, name) \ + do { (flags) |= AuHi_##name; } while (0) +#define au_fclr_hi(flags, name) \ + do { (flags) &= ~AuHi_##name; } while (0) + +#ifndef CONFIG_AUFS_HNOTIFY +#undef AuHi_HNOTIFY +#define AuHi_HNOTIFY 0 +#endif + +void au_set_h_iptr(struct inode *inode, aufs_bindex_t bindex, + struct inode *h_inode, unsigned int flags); + +void au_update_iigen(struct inode *inode, int half); +void au_update_ibrange(struct inode *inode, int do_put_zero); + +void au_icntnr_init_once(void *_c); +void au_hinode_init(struct au_hinode *hinode); +int au_iinfo_init(struct inode *inode); +void au_iinfo_fin(struct inode *inode); +int au_hinode_realloc(struct au_iinfo *iinfo, int nbr, int may_shrink); + +#ifdef CONFIG_PROC_FS +/* plink.c */ +int au_plink_maint(struct super_block *sb, int flags); +struct au_sbinfo; +void au_plink_maint_leave(struct au_sbinfo *sbinfo); +int au_plink_maint_enter(struct super_block *sb); +#ifdef CONFIG_AUFS_DEBUG +void au_plink_list(struct super_block *sb); +#else +AuStubVoid(au_plink_list, struct super_block *sb) +#endif +int au_plink_test(struct inode *inode); +struct dentry *au_plink_lkup(struct inode *inode, aufs_bindex_t bindex); +void au_plink_append(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry); +void au_plink_put(struct super_block *sb, int verbose); +void au_plink_clean(struct super_block *sb, int verbose); +void au_plink_half_refresh(struct super_block *sb, aufs_bindex_t br_id); +#else +AuStubInt0(au_plink_maint, struct super_block *sb, int flags); +AuStubVoid(au_plink_maint_leave, struct au_sbinfo *sbinfo); +AuStubInt0(au_plink_maint_enter, struct super_block *sb); +AuStubVoid(au_plink_list, struct super_block *sb); +AuStubInt0(au_plink_test, struct inode *inode); +AuStub(struct dentry *, au_plink_lkup, return NULL, + struct inode *inode, aufs_bindex_t bindex); +AuStubVoid(au_plink_append, struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry); +AuStubVoid(au_plink_put, struct super_block *sb, int verbose); +AuStubVoid(au_plink_clean, struct super_block *sb, int verbose); +AuStubVoid(au_plink_half_refresh, struct super_block *sb, aufs_bindex_t br_id); +#endif /* CONFIG_PROC_FS */ + +#ifdef CONFIG_AUFS_XATTR +/* xattr.c */ +int au_cpup_xattr(struct dentry *h_dst, struct dentry *h_src, int ignore_flags, + unsigned int verbose); +ssize_t aufs_listxattr(struct dentry *dentry, char *list, size_t size); +void au_xattr_init(struct super_block *sb); +#else +AuStubInt0(au_cpup_xattr, struct dentry *h_dst, struct dentry *h_src, + int ignore_flags, unsigned int verbose); +AuStubVoid(au_xattr_init, struct super_block *sb); +#endif + +#ifdef CONFIG_FS_POSIX_ACL +struct posix_acl *aufs_get_acl(struct inode *inode, int type); +int aufs_set_acl(struct inode *inode, struct posix_acl *acl, int type); +#endif + +#if IS_ENABLED(CONFIG_AUFS_XATTR) || IS_ENABLED(CONFIG_FS_POSIX_ACL) +enum { + AU_XATTR_SET, + AU_ACL_SET +}; + +struct au_sxattr { + int type; + union { + struct { + const char *name; + const void *value; + size_t size; + int flags; + } set; + struct { + struct posix_acl *acl; + int type; + } acl_set; + } u; +}; +ssize_t au_sxattr(struct dentry *dentry, struct inode *inode, + struct au_sxattr *arg); +#endif + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for iinfo */ +enum { + AuLsc_II_CHILD, /* child first */ + AuLsc_II_CHILD2, /* rename(2), link(2), and cpup at hnotify */ + AuLsc_II_CHILD3, /* copyup dirs */ + AuLsc_II_PARENT, /* see AuLsc_I_PARENT in vfsub.h */ + AuLsc_II_PARENT2, + AuLsc_II_PARENT3, /* copyup dirs */ + AuLsc_II_NEW_CHILD +}; + +/* + * ii_read_lock_child, ii_write_lock_child, + * ii_read_lock_child2, ii_write_lock_child2, + * ii_read_lock_child3, ii_write_lock_child3, + * ii_read_lock_parent, ii_write_lock_parent, + * ii_read_lock_parent2, ii_write_lock_parent2, + * ii_read_lock_parent3, ii_write_lock_parent3, + * ii_read_lock_new_child, ii_write_lock_new_child, + */ +#define AuReadLockFunc(name, lsc) \ +static inline void ii_read_lock_##name(struct inode *i) \ +{ \ + au_rw_read_lock_nested(&au_ii(i)->ii_rwsem, AuLsc_II_##lsc); \ +} + +#define AuWriteLockFunc(name, lsc) \ +static inline void ii_write_lock_##name(struct inode *i) \ +{ \ + au_rw_write_lock_nested(&au_ii(i)->ii_rwsem, AuLsc_II_##lsc); \ +} + +#define AuRWLockFuncs(name, lsc) \ + AuReadLockFunc(name, lsc) \ + AuWriteLockFunc(name, lsc) + +AuRWLockFuncs(child, CHILD); +AuRWLockFuncs(child2, CHILD2); +AuRWLockFuncs(child3, CHILD3); +AuRWLockFuncs(parent, PARENT); +AuRWLockFuncs(parent2, PARENT2); +AuRWLockFuncs(parent3, PARENT3); +AuRWLockFuncs(new_child, NEW_CHILD); + +#undef AuReadLockFunc +#undef AuWriteLockFunc +#undef AuRWLockFuncs + +#define ii_read_unlock(i) au_rw_read_unlock(&au_ii(i)->ii_rwsem) +#define ii_write_unlock(i) au_rw_write_unlock(&au_ii(i)->ii_rwsem) +#define ii_downgrade_lock(i) au_rw_dgrade_lock(&au_ii(i)->ii_rwsem) + +#define IiMustNoWaiters(i) AuRwMustNoWaiters(&au_ii(i)->ii_rwsem) +#define IiMustAnyLock(i) AuRwMustAnyLock(&au_ii(i)->ii_rwsem) +#define IiMustWriteLock(i) AuRwMustWriteLock(&au_ii(i)->ii_rwsem) + +/* ---------------------------------------------------------------------- */ + +static inline void au_icntnr_init(struct au_icntnr *c) +{ +#ifdef CONFIG_AUFS_DEBUG + c->vfs_inode.i_mode = 0; +#endif +} + +static inline unsigned int au_iigen(struct inode *inode, unsigned int *igflags) +{ + unsigned int gen; + struct au_iinfo *iinfo; + struct au_iigen *iigen; + + iinfo = au_ii(inode); + iigen = &iinfo->ii_generation; + spin_lock(&iigen->ig_spin); + if (igflags) + *igflags = iigen->ig_flags; + gen = iigen->ig_generation; + spin_unlock(&iigen->ig_spin); + + return gen; +} + +/* tiny test for inode number */ +/* tmpfs generation is too rough */ +static inline int au_test_higen(struct inode *inode, struct inode *h_inode) +{ + struct au_iinfo *iinfo; + + iinfo = au_ii(inode); + AuRwMustAnyLock(&iinfo->ii_rwsem); + return !(iinfo->ii_hsb1 == h_inode->i_sb + && iinfo->ii_higen == h_inode->i_generation); +} + +static inline void au_iigen_dec(struct inode *inode) +{ + struct au_iinfo *iinfo; + struct au_iigen *iigen; + + iinfo = au_ii(inode); + iigen = &iinfo->ii_generation; + spin_lock(&iigen->ig_spin); + iigen->ig_generation--; + spin_unlock(&iigen->ig_spin); +} + +static inline int au_iigen_test(struct inode *inode, unsigned int sigen) +{ + int err; + + err = 0; + if (unlikely(inode && au_iigen(inode, NULL) != sigen)) + err = -EIO; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static inline struct au_hinode *au_hinode(struct au_iinfo *iinfo, + aufs_bindex_t bindex) +{ + return iinfo->ii_hinode + bindex; +} + +static inline int au_is_bad_inode(struct inode *inode) +{ + return !!(is_bad_inode(inode) || !au_hinode(au_ii(inode), 0)); +} + +static inline aufs_bindex_t au_ii_br_id(struct inode *inode, + aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_hinode(au_ii(inode), bindex)->hi_id; +} + +static inline aufs_bindex_t au_ibtop(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_btop; +} + +static inline aufs_bindex_t au_ibbot(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_bbot; +} + +static inline struct au_vdir *au_ivdir(struct inode *inode) +{ + IiMustAnyLock(inode); + return au_ii(inode)->ii_vdir; +} + +static inline struct dentry *au_hi_wh(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_hinode(au_ii(inode), bindex)->hi_whdentry; +} + +static inline void au_set_ibtop(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_btop = bindex; +} + +static inline void au_set_ibbot(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_bbot = bindex; +} + +static inline void au_set_ivdir(struct inode *inode, struct au_vdir *vdir) +{ + IiMustWriteLock(inode); + au_ii(inode)->ii_vdir = vdir; +} + +static inline struct au_hinode *au_hi(struct inode *inode, aufs_bindex_t bindex) +{ + IiMustAnyLock(inode); + return au_hinode(au_ii(inode), bindex); +} + +/* ---------------------------------------------------------------------- */ + +static inline struct dentry *au_pinned_parent(struct au_pin *pin) +{ + if (pin) + return pin->parent; + return NULL; +} + +static inline struct inode *au_pinned_h_dir(struct au_pin *pin) +{ + if (pin && pin->hdir) + return pin->hdir->hi_inode; + return NULL; +} + +static inline struct au_hinode *au_pinned_hdir(struct au_pin *pin) +{ + if (pin) + return pin->hdir; + return NULL; +} + +static inline void au_pin_set_dentry(struct au_pin *pin, struct dentry *dentry) +{ + if (pin) + pin->dentry = dentry; +} + +static inline void au_pin_set_parent_lflag(struct au_pin *pin, + unsigned char lflag) +{ + if (pin) { + if (lflag) + au_fset_pin(pin->flags, DI_LOCKED); + else + au_fclr_pin(pin->flags, DI_LOCKED); + } +} + +#if 0 /* reserved */ +static inline void au_pin_set_parent(struct au_pin *pin, struct dentry *parent) +{ + if (pin) { + dput(pin->parent); + pin->parent = dget(parent); + } +} +#endif + +/* ---------------------------------------------------------------------- */ + +struct au_branch; +#ifdef CONFIG_AUFS_HNOTIFY +struct au_hnotify_op { + void (*ctl)(struct au_hinode *hinode, int do_set); + int (*alloc)(struct au_hinode *hinode); + + /* + * if it returns true, the the caller should free hinode->hi_notify, + * otherwise ->free() frees it. + */ + int (*free)(struct au_hinode *hinode, + struct au_hnotify *hn) __must_check; + + void (*fin)(void); + int (*init)(void); + + int (*reset_br)(unsigned int udba, struct au_branch *br, int perm); + void (*fin_br)(struct au_branch *br); + int (*init_br)(struct au_branch *br, int perm); +}; + +/* hnotify.c */ +int au_hn_alloc(struct au_hinode *hinode, struct inode *inode); +void au_hn_free(struct au_hinode *hinode); +void au_hn_ctl(struct au_hinode *hinode, int do_set); +void au_hn_reset(struct inode *inode, unsigned int flags); +int au_hnotify(struct inode *h_dir, struct au_hnotify *hnotify, u32 mask, + const struct qstr *h_child_qstr, struct inode *h_child_inode); +int au_hnotify_reset_br(unsigned int udba, struct au_branch *br, int perm); +int au_hnotify_init_br(struct au_branch *br, int perm); +void au_hnotify_fin_br(struct au_branch *br); +int __init au_hnotify_init(void); +void au_hnotify_fin(void); + +/* hfsnotify.c */ +extern const struct au_hnotify_op au_hnotify_op; + +static inline +void au_hn_init(struct au_hinode *hinode) +{ + hinode->hi_notify = NULL; +} + +static inline struct au_hnotify *au_hn(struct au_hinode *hinode) +{ + return hinode->hi_notify; +} + +#else +AuStub(int, au_hn_alloc, return -EOPNOTSUPP, + struct au_hinode *hinode __maybe_unused, + struct inode *inode __maybe_unused) +AuStub(struct au_hnotify *, au_hn, return NULL, struct au_hinode *hinode) +AuStubVoid(au_hn_free, struct au_hinode *hinode __maybe_unused) +AuStubVoid(au_hn_ctl, struct au_hinode *hinode __maybe_unused, + int do_set __maybe_unused) +AuStubVoid(au_hn_reset, struct inode *inode __maybe_unused, + unsigned int flags __maybe_unused) +AuStubInt0(au_hnotify_reset_br, unsigned int udba __maybe_unused, + struct au_branch *br __maybe_unused, + int perm __maybe_unused) +AuStubInt0(au_hnotify_init_br, struct au_branch *br __maybe_unused, + int perm __maybe_unused) +AuStubVoid(au_hnotify_fin_br, struct au_branch *br __maybe_unused) +AuStubInt0(__init au_hnotify_init, void) +AuStubVoid(au_hnotify_fin, void) +AuStubVoid(au_hn_init, struct au_hinode *hinode __maybe_unused) +#endif /* CONFIG_AUFS_HNOTIFY */ + +static inline void au_hn_suspend(struct au_hinode *hdir) +{ + au_hn_ctl(hdir, /*do_set*/0); +} + +static inline void au_hn_resume(struct au_hinode *hdir) +{ + au_hn_ctl(hdir, /*do_set*/1); +} + +static inline void au_hn_inode_lock(struct au_hinode *hdir) +{ + inode_lock(hdir->hi_inode); + au_hn_suspend(hdir); +} + +static inline void au_hn_inode_lock_nested(struct au_hinode *hdir, + unsigned int sc __maybe_unused) +{ + inode_lock_nested(hdir->hi_inode, sc); + au_hn_suspend(hdir); +} + +#if 0 /* unused */ +#include "vfsub.h" +static inline void au_hn_inode_lock_shared_nested(struct au_hinode *hdir, + unsigned int sc) +{ + inode_lock_shared_nested(hdir->hi_inode, sc); + au_hn_suspend(hdir); +} +#endif + +static inline void au_hn_inode_unlock(struct au_hinode *hdir) +{ + au_hn_resume(hdir); + inode_unlock(hdir->hi_inode); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_INODE_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/ioctl.c +++ linux-riscv-5.8-5.8.0/fs/aufs/ioctl.c @@ -0,0 +1,220 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * ioctl + * plink-management and readdir in userspace. + * assist the pathconf(3) wrapper library. + * move-down + * File-based Hierarchical Storage Management. + */ + +#include +#include +#include "aufs.h" + +static int au_wbr_fd(struct path *path, struct aufs_wbr_fd __user *arg) +{ + int err, fd; + aufs_bindex_t wbi, bindex, bbot; + struct file *h_file; + struct super_block *sb; + struct dentry *root; + struct au_branch *br; + struct aufs_wbr_fd wbrfd = { + .oflags = au_dir_roflags, + .brid = -1 + }; + const int valid = O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_DIRECTORY + | O_NOATIME | O_CLOEXEC; + + AuDebugOn(wbrfd.oflags & ~valid); + + if (arg) { + err = copy_from_user(&wbrfd, arg, sizeof(wbrfd)); + if (unlikely(err)) { + err = -EFAULT; + goto out; + } + + err = -EINVAL; + AuDbg("wbrfd{0%o, %d}\n", wbrfd.oflags, wbrfd.brid); + wbrfd.oflags |= au_dir_roflags; + AuDbg("0%o\n", wbrfd.oflags); + if (unlikely(wbrfd.oflags & ~valid)) + goto out; + } + + fd = get_unused_fd_flags(0); + err = fd; + if (unlikely(fd < 0)) + goto out; + + h_file = ERR_PTR(-EINVAL); + wbi = 0; + br = NULL; + sb = path->dentry->d_sb; + root = sb->s_root; + aufs_read_lock(root, AuLock_IR); + bbot = au_sbbot(sb); + if (wbrfd.brid >= 0) { + wbi = au_br_index(sb, wbrfd.brid); + if (unlikely(wbi < 0 || wbi > bbot)) + goto out_unlock; + } + + h_file = ERR_PTR(-ENOENT); + br = au_sbr(sb, wbi); + if (!au_br_writable(br->br_perm)) { + if (arg) + goto out_unlock; + + bindex = wbi + 1; + wbi = -1; + for (; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_writable(br->br_perm)) { + wbi = bindex; + br = au_sbr(sb, wbi); + break; + } + } + } + AuDbg("wbi %d\n", wbi); + if (wbi >= 0) + h_file = au_h_open(root, wbi, wbrfd.oflags, NULL, + /*force_wr*/0); + +out_unlock: + aufs_read_unlock(root, AuLock_IR); + err = PTR_ERR(h_file); + if (IS_ERR(h_file)) + goto out_fd; + + au_lcnt_dec(&br->br_nfiles); /* cf. au_h_open() */ + fd_install(fd, h_file); + err = fd; + goto out; /* success */ + +out_fd: + put_unused_fd(fd); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +long aufs_ioctl_dir(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err; + struct dentry *dentry; + + switch (cmd) { + case AUFS_CTL_RDU: + case AUFS_CTL_RDU_INO: + err = au_rdu_ioctl(file, cmd, arg); + break; + + case AUFS_CTL_WBR_FD: + err = au_wbr_fd(&file->f_path, (void __user *)arg); + break; + + case AUFS_CTL_IBUSY: + err = au_ibusy_ioctl(file, arg); + break; + + case AUFS_CTL_BRINFO: + err = au_brinfo_ioctl(file, arg); + break; + + case AUFS_CTL_FHSM_FD: + dentry = file->f_path.dentry; + if (IS_ROOT(dentry)) + err = au_fhsm_fd(dentry->d_sb, arg); + else + err = -ENOTTY; + break; + + default: + /* do not call the lower */ + AuDbg("0x%x\n", cmd); + err = -ENOTTY; + } + + AuTraceErr(err); + return err; +} + +long aufs_ioctl_nondir(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err; + + switch (cmd) { + case AUFS_CTL_MVDOWN: + err = au_mvdown(file->f_path.dentry, (void __user *)arg); + break; + + case AUFS_CTL_WBR_FD: + err = au_wbr_fd(&file->f_path, (void __user *)arg); + break; + + default: + /* do not call the lower */ + AuDbg("0x%x\n", cmd); + err = -ENOTTY; + } + + AuTraceErr(err); + return err; +} + +#ifdef CONFIG_COMPAT +long aufs_compat_ioctl_dir(struct file *file, unsigned int cmd, + unsigned long arg) +{ + long err; + + switch (cmd) { + case AUFS_CTL_RDU: + case AUFS_CTL_RDU_INO: + err = au_rdu_compat_ioctl(file, cmd, arg); + break; + + case AUFS_CTL_IBUSY: + err = au_ibusy_compat_ioctl(file, arg); + break; + + case AUFS_CTL_BRINFO: + err = au_brinfo_compat_ioctl(file, arg); + break; + + default: + err = aufs_ioctl_dir(file, cmd, arg); + } + + AuTraceErr(err); + return err; +} + +long aufs_compat_ioctl_nondir(struct file *file, unsigned int cmd, + unsigned long arg) +{ + return aufs_ioctl_nondir(file, cmd, (unsigned long)compat_ptr(arg)); +} +#endif --- linux-riscv-5.8-5.8.0.orig/fs/aufs/lcnt.h +++ linux-riscv-5.8-5.8.0/fs/aufs/lcnt.h @@ -0,0 +1,186 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2018-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * simple long counter wrapper + */ + +#ifndef __AUFS_LCNT_H__ +#define __AUFS_LCNT_H__ + +#ifdef __KERNEL__ + +#include "debug.h" + +#define AuLCntATOMIC 1 +#define AuLCntPCPUCNT 2 +/* + * why does percpu_refcount require extra synchronize_rcu()s in + * au_br_do_free() + */ +#define AuLCntPCPUREF 3 + +/* #define AuLCntChosen AuLCntATOMIC */ +#define AuLCntChosen AuLCntPCPUCNT +/* #define AuLCntChosen AuLCntPCPUREF */ + +#if AuLCntChosen == AuLCntATOMIC +#include + +typedef atomic_long_t au_lcnt_t; + +static inline int au_lcnt_init(au_lcnt_t *cnt, void *release __maybe_unused) +{ + atomic_long_set(cnt, 0); + return 0; +} + +static inline void au_lcnt_wait_for_fin(au_lcnt_t *cnt __maybe_unused) +{ + /* empty */ +} + +static inline void au_lcnt_fin(au_lcnt_t *cnt __maybe_unused, + int do_sync __maybe_unused) +{ + /* empty */ +} + +static inline void au_lcnt_inc(au_lcnt_t *cnt) +{ + atomic_long_inc(cnt); +} + +static inline void au_lcnt_dec(au_lcnt_t *cnt) +{ + atomic_long_dec(cnt); +} + +static inline long au_lcnt_read(au_lcnt_t *cnt, int do_rev __maybe_unused) +{ + return atomic_long_read(cnt); +} +#endif + +#if AuLCntChosen == AuLCntPCPUCNT +#include + +typedef struct percpu_counter au_lcnt_t; + +static inline int au_lcnt_init(au_lcnt_t *cnt, void *release __maybe_unused) +{ + return percpu_counter_init(cnt, 0, GFP_NOFS); +} + +static inline void au_lcnt_wait_for_fin(au_lcnt_t *cnt __maybe_unused) +{ + /* empty */ +} + +static inline void au_lcnt_fin(au_lcnt_t *cnt, int do_sync __maybe_unused) +{ + percpu_counter_destroy(cnt); +} + +static inline void au_lcnt_inc(au_lcnt_t *cnt) +{ + percpu_counter_inc(cnt); +} + +static inline void au_lcnt_dec(au_lcnt_t *cnt) +{ + percpu_counter_dec(cnt); +} + +static inline long au_lcnt_read(au_lcnt_t *cnt, int do_rev __maybe_unused) +{ + s64 n; + + n = percpu_counter_sum(cnt); + BUG_ON(n < 0); + if (LONG_MAX != LLONG_MAX + && n > LONG_MAX) + AuWarn1("%s\n", "wrap-around"); + + return n; +} +#endif + +#if AuLCntChosen == AuLCntPCPUREF +#include + +typedef struct percpu_ref au_lcnt_t; + +static inline int au_lcnt_init(au_lcnt_t *cnt, percpu_ref_func_t *release) +{ + if (!release) + release = percpu_ref_exit; + return percpu_ref_init(cnt, release, /*percpu mode*/0, GFP_NOFS); +} + +static inline void au_lcnt_wait_for_fin(au_lcnt_t *cnt __maybe_unused) +{ + synchronize_rcu(); +} + +static inline void au_lcnt_fin(au_lcnt_t *cnt, int do_sync) +{ + percpu_ref_kill(cnt); + if (do_sync) + au_lcnt_wait_for_fin(cnt); +} + +static inline void au_lcnt_inc(au_lcnt_t *cnt) +{ + percpu_ref_get(cnt); +} + +static inline void au_lcnt_dec(au_lcnt_t *cnt) +{ + percpu_ref_put(cnt); +} + +/* + * avoid calling this func as possible. + */ +static inline long au_lcnt_read(au_lcnt_t *cnt, int do_rev) +{ + long l; + + percpu_ref_switch_to_atomic_sync(cnt); + l = atomic_long_read(&cnt->count); + if (do_rev) + percpu_ref_switch_to_percpu(cnt); + + /* percpu_ref is initialized by 1 instead of 0 */ + return l - 1; +} +#endif + +#ifdef CONFIG_AUFS_DEBUG +#define AuLCntZero(val) do { \ + long l = val; \ + if (l) \ + AuDbg("%s = %ld\n", #val, l); \ +} while (0) +#else +#define AuLCntZero(val) do {} while (0) +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_LCNT_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/loop.c +++ linux-riscv-5.8-5.8.0/fs/aufs/loop.c @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * support for loopback block device as a branch + */ + +#include "aufs.h" + +/* added into drivers/block/loop.c */ +static struct file *(*backing_file_func)(struct super_block *sb); + +/* + * test if two lower dentries have overlapping branches. + */ +int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding) +{ + struct super_block *h_sb; + struct file *backing_file; + + if (unlikely(!backing_file_func)) { + /* don't load "loop" module here */ + backing_file_func = symbol_get(loop_backing_file); + if (unlikely(!backing_file_func)) + /* "loop" module is not loaded */ + return 0; + } + + h_sb = h_adding->d_sb; + backing_file = backing_file_func(h_sb); + if (!backing_file) + return 0; + + h_adding = backing_file->f_path.dentry; + /* + * h_adding can be local NFS. + * in this case aufs cannot detect the loop. + */ + if (unlikely(h_adding->d_sb == sb)) + return 1; + return !!au_test_subdir(h_adding, sb->s_root); +} + +/* true if a kernel thread named 'loop[0-9].*' accesses a file */ +int au_test_loopback_kthread(void) +{ + int ret; + struct task_struct *tsk = current; + char c, comm[sizeof(tsk->comm)]; + + ret = 0; + if (tsk->flags & PF_KTHREAD) { + get_task_comm(comm, tsk); + c = comm[4]; + ret = ('0' <= c && c <= '9' + && !strncmp(comm, "loop", 4)); + } + + return ret; +} + +/* ---------------------------------------------------------------------- */ + +#define au_warn_loopback_step 16 +static int au_warn_loopback_nelem = au_warn_loopback_step; +static unsigned long *au_warn_loopback_array; + +void au_warn_loopback(struct super_block *h_sb) +{ + int i, new_nelem; + unsigned long *a, magic; + static DEFINE_SPINLOCK(spin); + + magic = h_sb->s_magic; + spin_lock(&spin); + a = au_warn_loopback_array; + for (i = 0; i < au_warn_loopback_nelem && *a; i++) + if (a[i] == magic) { + spin_unlock(&spin); + return; + } + + /* h_sb is new to us, print it */ + if (i < au_warn_loopback_nelem) { + a[i] = magic; + goto pr; + } + + /* expand the array */ + new_nelem = au_warn_loopback_nelem + au_warn_loopback_step; + a = au_kzrealloc(au_warn_loopback_array, + au_warn_loopback_nelem * sizeof(unsigned long), + new_nelem * sizeof(unsigned long), GFP_ATOMIC, + /*may_shrink*/0); + if (a) { + au_warn_loopback_nelem = new_nelem; + au_warn_loopback_array = a; + a[i] = magic; + goto pr; + } + + spin_unlock(&spin); + AuWarn1("realloc failed, ignored\n"); + return; + +pr: + spin_unlock(&spin); + pr_warn("you may want to try another patch for loopback file " + "on %s(0x%lx) branch\n", au_sbtype(h_sb), magic); +} + +int au_loopback_init(void) +{ + int err; + struct super_block *sb __maybe_unused; + + BUILD_BUG_ON(sizeof(sb->s_magic) != sizeof(*au_warn_loopback_array)); + + err = 0; + au_warn_loopback_array = kcalloc(au_warn_loopback_step, + sizeof(unsigned long), GFP_NOFS); + if (unlikely(!au_warn_loopback_array)) + err = -ENOMEM; + + return err; +} + +void au_loopback_fin(void) +{ + if (backing_file_func) + symbol_put(loop_backing_file); + au_kfree_try_rcu(au_warn_loopback_array); +} + +/* ---------------------------------------------------------------------- */ + +/* support the loopback block device insude aufs */ + +struct file *aufs_real_loop(struct file *file) +{ + struct file *f; + + BUG_ON(!au_test_aufs(file->f_path.dentry->d_sb)); + fi_read_lock(file); + f = au_hf_top(file); + fi_read_unlock(file); + AuDebugOn(!f); + return f; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/loop.h +++ linux-riscv-5.8-5.8.0/fs/aufs/loop.h @@ -0,0 +1,59 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * support for loopback mount as a branch + */ + +#ifndef __AUFS_LOOP_H__ +#define __AUFS_LOOP_H__ + +#ifdef __KERNEL__ + +struct dentry; +struct super_block; + +#ifdef CONFIG_AUFS_BDEV_LOOP +/* drivers/block/loop.c */ +struct file *loop_backing_file(struct super_block *sb); + +/* loop.c */ +int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding); +int au_test_loopback_kthread(void); +void au_warn_loopback(struct super_block *h_sb); + +int au_loopback_init(void); +void au_loopback_fin(void); + +struct file *aufs_real_loop(struct file *file); +#else +AuStub(struct file *, loop_backing_file, return NULL, struct super_block *sb) + +AuStubInt0(au_test_loopback_overlap, struct super_block *sb, + struct dentry *h_adding) +AuStubInt0(au_test_loopback_kthread, void) +AuStubVoid(au_warn_loopback, struct super_block *h_sb) + +AuStubInt0(au_loopback_init, void) +AuStubVoid(au_loopback_fin, void) + +AuStub(struct file *, aufs_real_loop, return NULL, struct file *file) +#endif /* BLK_DEV_LOOP */ + +#endif /* __KERNEL__ */ +#endif /* __AUFS_LOOP_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/magic.mk +++ linux-riscv-5.8-5.8.0/fs/aufs/magic.mk @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0 + +# defined in ${srctree}/fs/fuse/inode.c +# tristate +ifdef CONFIG_FUSE_FS +ccflags-y += -DFUSE_SUPER_MAGIC=0x65735546 +endif + +# defined in ${srctree}/fs/xfs/xfs_sb.h +# tristate +ifdef CONFIG_XFS_FS +ccflags-y += -DXFS_SB_MAGIC=0x58465342 +endif + +# defined in ${srctree}/fs/configfs/mount.c +# tristate +ifdef CONFIG_CONFIGFS_FS +ccflags-y += -DCONFIGFS_MAGIC=0x62656570 +endif + +# defined in ${srctree}/fs/ubifs/ubifs.h +# tristate +ifdef CONFIG_UBIFS_FS +ccflags-y += -DUBIFS_SUPER_MAGIC=0x24051905 +endif + +# defined in ${srctree}/fs/hfsplus/hfsplus_raw.h +# tristate +ifdef CONFIG_HFSPLUS_FS +ccflags-y += -DHFSPLUS_SUPER_MAGIC=0x482b +endif --- linux-riscv-5.8-5.8.0.orig/fs/aufs/module.c +++ linux-riscv-5.8-5.8.0/fs/aufs/module.c @@ -0,0 +1,273 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * module global variables and operations + */ + +#include +#include +#include "aufs.h" + +/* shrinkable realloc */ +void *au_krealloc(void *p, unsigned int new_sz, gfp_t gfp, int may_shrink) +{ + size_t sz; + int diff; + + sz = 0; + diff = -1; + if (p) { +#if 0 /* unused */ + if (!new_sz) { + au_kfree_rcu(p); + p = NULL; + goto out; + } +#else + AuDebugOn(!new_sz); +#endif + sz = ksize(p); + diff = au_kmidx_sub(sz, new_sz); + } + if (sz && !diff) + goto out; + + if (sz < new_sz) + /* expand or SLOB */ + p = krealloc(p, new_sz, gfp); + else if (new_sz < sz && may_shrink) { + /* shrink */ + void *q; + + q = kmalloc(new_sz, gfp); + if (q) { + if (p) { + memcpy(q, p, new_sz); + au_kfree_try_rcu(p); + } + p = q; + } else + p = NULL; + } + +out: + return p; +} + +void *au_kzrealloc(void *p, unsigned int nused, unsigned int new_sz, gfp_t gfp, + int may_shrink) +{ + p = au_krealloc(p, new_sz, gfp, may_shrink); + if (p && new_sz > nused) + memset(p + nused, 0, new_sz - nused); + return p; +} + +/* ---------------------------------------------------------------------- */ +/* + * aufs caches + */ +struct kmem_cache *au_cache[AuCache_Last]; + +static void au_cache_fin(void) +{ + int i; + + /* + * Make sure all delayed rcu free inodes are flushed before we + * destroy cache. + */ + rcu_barrier(); + + /* excluding AuCache_HNOTIFY */ + BUILD_BUG_ON(AuCache_HNOTIFY + 1 != AuCache_Last); + for (i = 0; i < AuCache_HNOTIFY; i++) { + kmem_cache_destroy(au_cache[i]); + au_cache[i] = NULL; + } +} + +static int __init au_cache_init(void) +{ + au_cache[AuCache_DINFO] = AuCacheCtor(au_dinfo, au_di_init_once); + if (au_cache[AuCache_DINFO]) + /* SLAB_DESTROY_BY_RCU */ + au_cache[AuCache_ICNTNR] = AuCacheCtor(au_icntnr, + au_icntnr_init_once); + if (au_cache[AuCache_ICNTNR]) + au_cache[AuCache_FINFO] = AuCacheCtor(au_finfo, + au_fi_init_once); + if (au_cache[AuCache_FINFO]) + au_cache[AuCache_VDIR] = AuCache(au_vdir); + if (au_cache[AuCache_VDIR]) + au_cache[AuCache_DEHSTR] = AuCache(au_vdir_dehstr); + if (au_cache[AuCache_DEHSTR]) + return 0; + + au_cache_fin(); + return -ENOMEM; +} + +/* ---------------------------------------------------------------------- */ + +int au_dir_roflags; + +#ifdef CONFIG_AUFS_SBILIST +/* + * iterate_supers_type() doesn't protect us from + * remounting (branch management) + */ +struct hlist_bl_head au_sbilist; +#endif + +/* + * functions for module interface. + */ +MODULE_LICENSE("GPL"); +/* MODULE_LICENSE("GPL v2"); */ +MODULE_AUTHOR("Junjiro R. Okajima "); +MODULE_DESCRIPTION(AUFS_NAME + " -- Advanced multi layered unification filesystem"); +MODULE_VERSION(AUFS_VERSION); +MODULE_ALIAS_FS(AUFS_NAME); + +/* this module parameter has no meaning when SYSFS is disabled */ +int sysaufs_brs = 1; +MODULE_PARM_DESC(brs, "use /fs/aufs/si_*/brN"); +module_param_named(brs, sysaufs_brs, int, 0444); + +/* this module parameter has no meaning when USER_NS is disabled */ +bool au_userns; +MODULE_PARM_DESC(allow_userns, "allow unprivileged to mount under userns"); +module_param_named(allow_userns, au_userns, bool, 0444); + +/* ---------------------------------------------------------------------- */ + +static char au_esc_chars[0x20 + 3]; /* 0x01-0x20, backslash, del, and NULL */ + +int au_seq_path(struct seq_file *seq, struct path *path) +{ + int err; + + err = seq_path(seq, path, au_esc_chars); + if (err >= 0) + err = 0; + else + err = -ENOMEM; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int __init aufs_init(void) +{ + int err, i; + char *p; + + p = au_esc_chars; + for (i = 1; i <= ' '; i++) + *p++ = i; + *p++ = '\\'; + *p++ = '\x7f'; + *p = 0; + + au_dir_roflags = au_file_roflags(O_DIRECTORY | O_LARGEFILE); + + memcpy(aufs_iop_nogetattr, aufs_iop, sizeof(aufs_iop)); + for (i = 0; i < AuIop_Last; i++) + aufs_iop_nogetattr[i].getattr = NULL; + + memset(au_cache, 0, sizeof(au_cache)); /* including hnotify */ + + au_sbilist_init(); + sysaufs_brs_init(); + au_debug_init(); + au_dy_init(); + err = sysaufs_init(); + if (unlikely(err)) + goto out; + err = dbgaufs_init(); + if (unlikely(err)) + goto out_sysaufs; + err = au_procfs_init(); + if (unlikely(err)) + goto out_dbgaufs; + err = au_wkq_init(); + if (unlikely(err)) + goto out_procfs; + err = au_loopback_init(); + if (unlikely(err)) + goto out_wkq; + err = au_hnotify_init(); + if (unlikely(err)) + goto out_loopback; + err = au_sysrq_init(); + if (unlikely(err)) + goto out_hin; + err = au_cache_init(); + if (unlikely(err)) + goto out_sysrq; + + aufs_fs_type.fs_flags |= au_userns ? FS_USERNS_MOUNT : 0; + err = register_filesystem(&aufs_fs_type); + if (unlikely(err)) + goto out_cache; + + /* since we define pr_fmt, call printk directly */ + printk(KERN_INFO AUFS_NAME " " AUFS_VERSION "\n"); + goto out; /* success */ + +out_cache: + au_cache_fin(); +out_sysrq: + au_sysrq_fin(); +out_hin: + au_hnotify_fin(); +out_loopback: + au_loopback_fin(); +out_wkq: + au_wkq_fin(); +out_procfs: + au_procfs_fin(); +out_dbgaufs: + dbgaufs_fin(); +out_sysaufs: + sysaufs_fin(); + au_dy_fin(); +out: + return err; +} + +static void __exit aufs_exit(void) +{ + unregister_filesystem(&aufs_fs_type); + au_cache_fin(); + au_sysrq_fin(); + au_hnotify_fin(); + au_loopback_fin(); + au_wkq_fin(); + au_procfs_fin(); + dbgaufs_fin(); + sysaufs_fin(); + au_dy_fin(); +} + +module_init(aufs_init); +module_exit(aufs_exit); --- linux-riscv-5.8-5.8.0.orig/fs/aufs/module.h +++ linux-riscv-5.8-5.8.0/fs/aufs/module.h @@ -0,0 +1,166 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * module initialization and module-global + */ + +#ifndef __AUFS_MODULE_H__ +#define __AUFS_MODULE_H__ + +#ifdef __KERNEL__ + +#include +#include "debug.h" +#include "dentry.h" +#include "dir.h" +#include "file.h" +#include "inode.h" + +struct path; +struct seq_file; + +/* module parameters */ +extern int sysaufs_brs; +extern bool au_userns; + +/* ---------------------------------------------------------------------- */ + +extern int au_dir_roflags; + +void *au_krealloc(void *p, unsigned int new_sz, gfp_t gfp, int may_shrink); +void *au_kzrealloc(void *p, unsigned int nused, unsigned int new_sz, gfp_t gfp, + int may_shrink); + +/* + * Comparing the size of the object with sizeof(struct rcu_head) + * case 1: object is always larger + * --> au_kfree_rcu() or au_kfree_do_rcu() + * case 2: object is always smaller + * --> au_kfree_small() + * case 3: object can be any size + * --> au_kfree_try_rcu() + */ + +static inline void au_kfree_do_rcu(const void *p) +{ + struct { + struct rcu_head rcu; + } *a = (void *)p; + + kfree_rcu(a, rcu); +} + +#define au_kfree_rcu(_p) do { \ + typeof(_p) p = (_p); \ + BUILD_BUG_ON(sizeof(*p) < sizeof(struct rcu_head)); \ + if (p) \ + au_kfree_do_rcu(p); \ + } while (0) + +#define au_kfree_do_sz_test(sz) (sz >= sizeof(struct rcu_head)) +#define au_kfree_sz_test(p) (p && au_kfree_do_sz_test(ksize(p))) + +static inline void au_kfree_try_rcu(const void *p) +{ + if (!p) + return; + if (au_kfree_sz_test(p)) + au_kfree_do_rcu(p); + else + kfree(p); +} + +static inline void au_kfree_small(const void *p) +{ + if (!p) + return; + AuDebugOn(au_kfree_sz_test(p)); + kfree(p); +} + +static inline int au_kmidx_sub(size_t sz, size_t new_sz) +{ +#ifndef CONFIG_SLOB + return kmalloc_index(sz) - kmalloc_index(new_sz); +#else + return -1; /* SLOB is untested */ +#endif +} + +int au_seq_path(struct seq_file *seq, struct path *path); + +#ifdef CONFIG_PROC_FS +/* procfs.c */ +int __init au_procfs_init(void); +void au_procfs_fin(void); +#else +AuStubInt0(au_procfs_init, void); +AuStubVoid(au_procfs_fin, void); +#endif + +/* ---------------------------------------------------------------------- */ + +/* kmem cache */ +enum { + AuCache_DINFO, + AuCache_ICNTNR, + AuCache_FINFO, + AuCache_VDIR, + AuCache_DEHSTR, + AuCache_HNOTIFY, /* must be last */ + AuCache_Last +}; + +extern struct kmem_cache *au_cache[AuCache_Last]; + +#define AuCacheFlags (SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD) +#define AuCache(type) KMEM_CACHE(type, AuCacheFlags) +#define AuCacheCtor(type, ctor) \ + kmem_cache_create(#type, sizeof(struct type), \ + __alignof__(struct type), AuCacheFlags, ctor) + +#define AuCacheFuncs(name, index) \ + static inline struct au_##name *au_cache_alloc_##name(void) \ + { return kmem_cache_alloc(au_cache[AuCache_##index], GFP_NOFS); } \ + static inline void au_cache_free_##name##_norcu(struct au_##name *p) \ + { kmem_cache_free(au_cache[AuCache_##index], p); } \ + \ + static inline void au_cache_free_##name##_rcu_cb(struct rcu_head *rcu) \ + { void *p = rcu; \ + p -= offsetof(struct au_##name, rcu); \ + kmem_cache_free(au_cache[AuCache_##index], p); } \ + static inline void au_cache_free_##name##_rcu(struct au_##name *p) \ + { BUILD_BUG_ON(sizeof(struct au_##name) < sizeof(struct rcu_head)); \ + call_rcu(&p->rcu, au_cache_free_##name##_rcu_cb); } \ + \ + static inline void au_cache_free_##name(struct au_##name *p) \ + { /* au_cache_free_##name##_norcu(p); */ \ + au_cache_free_##name##_rcu(p); } + +AuCacheFuncs(dinfo, DINFO); +AuCacheFuncs(icntnr, ICNTNR); +AuCacheFuncs(finfo, FINFO); +AuCacheFuncs(vdir, VDIR); +AuCacheFuncs(vdir_dehstr, DEHSTR); +#ifdef CONFIG_AUFS_HNOTIFY +AuCacheFuncs(hnotify, HNOTIFY); +#endif + +#endif /* __KERNEL__ */ +#endif /* __AUFS_MODULE_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/mvdown.c +++ linux-riscv-5.8-5.8.0/fs/aufs/mvdown.c @@ -0,0 +1,706 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2011-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * move-down, opposite of copy-up + */ + +#include "aufs.h" + +struct au_mvd_args { + struct { + struct super_block *h_sb; + struct dentry *h_parent; + struct au_hinode *hdir; + struct inode *h_dir, *h_inode; + struct au_pin pin; + } info[AUFS_MVDOWN_NARRAY]; + + struct aufs_mvdown mvdown; + struct dentry *dentry, *parent; + struct inode *inode, *dir; + struct super_block *sb; + aufs_bindex_t bopq, bwh, bfound; + unsigned char rename_lock; +}; + +#define mvd_errno mvdown.au_errno +#define mvd_bsrc mvdown.stbr[AUFS_MVDOWN_UPPER].bindex +#define mvd_src_brid mvdown.stbr[AUFS_MVDOWN_UPPER].brid +#define mvd_bdst mvdown.stbr[AUFS_MVDOWN_LOWER].bindex +#define mvd_dst_brid mvdown.stbr[AUFS_MVDOWN_LOWER].brid + +#define mvd_h_src_sb info[AUFS_MVDOWN_UPPER].h_sb +#define mvd_h_src_parent info[AUFS_MVDOWN_UPPER].h_parent +#define mvd_hdir_src info[AUFS_MVDOWN_UPPER].hdir +#define mvd_h_src_dir info[AUFS_MVDOWN_UPPER].h_dir +#define mvd_h_src_inode info[AUFS_MVDOWN_UPPER].h_inode +#define mvd_pin_src info[AUFS_MVDOWN_UPPER].pin + +#define mvd_h_dst_sb info[AUFS_MVDOWN_LOWER].h_sb +#define mvd_h_dst_parent info[AUFS_MVDOWN_LOWER].h_parent +#define mvd_hdir_dst info[AUFS_MVDOWN_LOWER].hdir +#define mvd_h_dst_dir info[AUFS_MVDOWN_LOWER].h_dir +#define mvd_h_dst_inode info[AUFS_MVDOWN_LOWER].h_inode +#define mvd_pin_dst info[AUFS_MVDOWN_LOWER].pin + +#define AU_MVD_PR(flag, ...) do { \ + if (flag) \ + pr_err(__VA_ARGS__); \ + } while (0) + +static int find_lower_writable(struct au_mvd_args *a) +{ + struct super_block *sb; + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + sb = a->sb; + bindex = a->mvd_bsrc; + bbot = au_sbbot(sb); + if (a->mvdown.flags & AUFS_MVDOWN_FHSM_LOWER) + for (bindex++; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_fhsm(br->br_perm) + && !sb_rdonly(au_br_sb(br))) + return bindex; + } + else if (!(a->mvdown.flags & AUFS_MVDOWN_ROLOWER)) + for (bindex++; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (!au_br_rdonly(br)) + return bindex; + } + else + for (bindex++; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (!sb_rdonly(au_br_sb(br))) { + if (au_br_rdonly(br)) + a->mvdown.flags + |= AUFS_MVDOWN_ROLOWER_R; + return bindex; + } + } + + return -1; +} + +/* make the parent dir on bdst */ +static int au_do_mkdir(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + + err = 0; + a->mvd_hdir_src = au_hi(a->dir, a->mvd_bsrc); + a->mvd_hdir_dst = au_hi(a->dir, a->mvd_bdst); + a->mvd_h_src_parent = au_h_dptr(a->parent, a->mvd_bsrc); + a->mvd_h_dst_parent = NULL; + if (au_dbbot(a->parent) >= a->mvd_bdst) + a->mvd_h_dst_parent = au_h_dptr(a->parent, a->mvd_bdst); + if (!a->mvd_h_dst_parent) { + err = au_cpdown_dirs(a->dentry, a->mvd_bdst); + if (unlikely(err)) { + AU_MVD_PR(dmsg, "cpdown_dirs failed\n"); + goto out; + } + a->mvd_h_dst_parent = au_h_dptr(a->parent, a->mvd_bdst); + } + +out: + AuTraceErr(err); + return err; +} + +/* lock them all */ +static int au_do_lock(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct dentry *h_trap; + + a->mvd_h_src_sb = au_sbr_sb(a->sb, a->mvd_bsrc); + a->mvd_h_dst_sb = au_sbr_sb(a->sb, a->mvd_bdst); + err = au_pin(&a->mvd_pin_dst, a->dentry, a->mvd_bdst, + au_opt_udba(a->sb), + AuPin_MNT_WRITE | AuPin_DI_LOCKED); + AuTraceErr(err); + if (unlikely(err)) { + AU_MVD_PR(dmsg, "pin_dst failed\n"); + goto out; + } + + if (a->mvd_h_src_sb != a->mvd_h_dst_sb) { + a->rename_lock = 0; + au_pin_init(&a->mvd_pin_src, a->dentry, a->mvd_bsrc, + AuLsc_DI_PARENT, AuLsc_I_PARENT3, + au_opt_udba(a->sb), + AuPin_MNT_WRITE | AuPin_DI_LOCKED); + err = au_do_pin(&a->mvd_pin_src); + AuTraceErr(err); + a->mvd_h_src_dir = d_inode(a->mvd_h_src_parent); + if (unlikely(err)) { + AU_MVD_PR(dmsg, "pin_src failed\n"); + goto out_dst; + } + goto out; /* success */ + } + + a->rename_lock = 1; + au_pin_hdir_unlock(&a->mvd_pin_dst); + err = au_pin(&a->mvd_pin_src, a->dentry, a->mvd_bsrc, + au_opt_udba(a->sb), + AuPin_MNT_WRITE | AuPin_DI_LOCKED); + AuTraceErr(err); + a->mvd_h_src_dir = d_inode(a->mvd_h_src_parent); + if (unlikely(err)) { + AU_MVD_PR(dmsg, "pin_src failed\n"); + au_pin_hdir_lock(&a->mvd_pin_dst); + goto out_dst; + } + au_pin_hdir_unlock(&a->mvd_pin_src); + h_trap = vfsub_lock_rename(a->mvd_h_src_parent, a->mvd_hdir_src, + a->mvd_h_dst_parent, a->mvd_hdir_dst); + if (h_trap) { + err = (h_trap != a->mvd_h_src_parent); + if (err) + err = (h_trap != a->mvd_h_dst_parent); + } + BUG_ON(err); /* it should never happen */ + if (unlikely(a->mvd_h_src_dir != au_pinned_h_dir(&a->mvd_pin_src))) { + err = -EBUSY; + AuTraceErr(err); + vfsub_unlock_rename(a->mvd_h_src_parent, a->mvd_hdir_src, + a->mvd_h_dst_parent, a->mvd_hdir_dst); + au_pin_hdir_lock(&a->mvd_pin_src); + au_unpin(&a->mvd_pin_src); + au_pin_hdir_lock(&a->mvd_pin_dst); + goto out_dst; + } + goto out; /* success */ + +out_dst: + au_unpin(&a->mvd_pin_dst); +out: + AuTraceErr(err); + return err; +} + +static void au_do_unlock(const unsigned char dmsg, struct au_mvd_args *a) +{ + if (!a->rename_lock) + au_unpin(&a->mvd_pin_src); + else { + vfsub_unlock_rename(a->mvd_h_src_parent, a->mvd_hdir_src, + a->mvd_h_dst_parent, a->mvd_hdir_dst); + au_pin_hdir_lock(&a->mvd_pin_src); + au_unpin(&a->mvd_pin_src); + au_pin_hdir_lock(&a->mvd_pin_dst); + } + au_unpin(&a->mvd_pin_dst); +} + +/* copy-down the file */ +static int au_do_cpdown(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct au_cp_generic cpg = { + .dentry = a->dentry, + .bdst = a->mvd_bdst, + .bsrc = a->mvd_bsrc, + .len = -1, + .pin = &a->mvd_pin_dst, + .flags = AuCpup_DTIME | AuCpup_HOPEN + }; + + AuDbg("b%d, b%d\n", cpg.bsrc, cpg.bdst); + if (a->mvdown.flags & AUFS_MVDOWN_OWLOWER) + au_fset_cpup(cpg.flags, OVERWRITE); + if (a->mvdown.flags & AUFS_MVDOWN_ROLOWER) + au_fset_cpup(cpg.flags, RWDST); + err = au_sio_cpdown_simple(&cpg); + if (unlikely(err)) + AU_MVD_PR(dmsg, "cpdown failed\n"); + + AuTraceErr(err); + return err; +} + +/* + * unlink the whiteout on bdst if exist which may be created by UDBA while we + * were sleeping + */ +static int au_do_unlink_wh(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct path h_path; + struct au_branch *br; + struct inode *delegated; + + br = au_sbr(a->sb, a->mvd_bdst); + h_path.dentry = au_wh_lkup(a->mvd_h_dst_parent, &a->dentry->d_name, br); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) { + AU_MVD_PR(dmsg, "wh_lkup failed\n"); + goto out; + } + + err = 0; + if (d_is_positive(h_path.dentry)) { + h_path.mnt = au_br_mnt(br); + delegated = NULL; + err = vfsub_unlink(d_inode(a->mvd_h_dst_parent), &h_path, + &delegated, /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + if (unlikely(err)) + AU_MVD_PR(dmsg, "wh_unlink failed\n"); + } + dput(h_path.dentry); + +out: + AuTraceErr(err); + return err; +} + +/* + * unlink the topmost h_dentry + */ +static int au_do_unlink(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct path h_path; + struct inode *delegated; + + h_path.mnt = au_sbr_mnt(a->sb, a->mvd_bsrc); + h_path.dentry = au_h_dptr(a->dentry, a->mvd_bsrc); + delegated = NULL; + err = vfsub_unlink(a->mvd_h_src_dir, &h_path, &delegated, /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + if (unlikely(err)) + AU_MVD_PR(dmsg, "unlink failed\n"); + + AuTraceErr(err); + return err; +} + +/* Since mvdown succeeded, we ignore an error of this function */ +static void au_do_stfs(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct au_branch *br; + + a->mvdown.flags |= AUFS_MVDOWN_STFS_FAILED; + br = au_sbr(a->sb, a->mvd_bsrc); + err = au_br_stfs(br, &a->mvdown.stbr[AUFS_MVDOWN_UPPER].stfs); + if (!err) { + br = au_sbr(a->sb, a->mvd_bdst); + a->mvdown.stbr[AUFS_MVDOWN_LOWER].brid = br->br_id; + err = au_br_stfs(br, &a->mvdown.stbr[AUFS_MVDOWN_LOWER].stfs); + } + if (!err) + a->mvdown.flags &= ~AUFS_MVDOWN_STFS_FAILED; + else + AU_MVD_PR(dmsg, "statfs failed (%d), ignored\n", err); +} + +/* + * copy-down the file and unlink the bsrc file. + * - unlink the bdst whout if exist + * - copy-down the file (with whtmp name and rename) + * - unlink the bsrc file + */ +static int au_do_mvdown(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + + err = au_do_mkdir(dmsg, a); + if (!err) + err = au_do_lock(dmsg, a); + if (unlikely(err)) + goto out; + + /* + * do not revert the activities we made on bdst since they should be + * harmless in aufs. + */ + + err = au_do_cpdown(dmsg, a); + if (!err) + err = au_do_unlink_wh(dmsg, a); + if (!err && !(a->mvdown.flags & AUFS_MVDOWN_KUPPER)) + err = au_do_unlink(dmsg, a); + if (unlikely(err)) + goto out_unlock; + + AuDbg("%pd2, 0x%x, %d --> %d\n", + a->dentry, a->mvdown.flags, a->mvd_bsrc, a->mvd_bdst); + if (find_lower_writable(a) < 0) + a->mvdown.flags |= AUFS_MVDOWN_BOTTOM; + + if (a->mvdown.flags & AUFS_MVDOWN_STFS) + au_do_stfs(dmsg, a); + + /* maintain internal array */ + if (!(a->mvdown.flags & AUFS_MVDOWN_KUPPER)) { + au_set_h_dptr(a->dentry, a->mvd_bsrc, NULL); + au_set_dbtop(a->dentry, a->mvd_bdst); + au_set_h_iptr(a->inode, a->mvd_bsrc, NULL, /*flags*/0); + au_set_ibtop(a->inode, a->mvd_bdst); + } else { + /* hide the lower */ + au_set_h_dptr(a->dentry, a->mvd_bdst, NULL); + au_set_dbbot(a->dentry, a->mvd_bsrc); + au_set_h_iptr(a->inode, a->mvd_bdst, NULL, /*flags*/0); + au_set_ibbot(a->inode, a->mvd_bsrc); + } + if (au_dbbot(a->dentry) < a->mvd_bdst) + au_set_dbbot(a->dentry, a->mvd_bdst); + if (au_ibbot(a->inode) < a->mvd_bdst) + au_set_ibbot(a->inode, a->mvd_bdst); + +out_unlock: + au_do_unlock(dmsg, a); +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* make sure the file is idle */ +static int au_mvd_args_busy(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err, plinked; + + err = 0; + plinked = !!au_opt_test(au_mntflags(a->sb), PLINK); + if (au_dbtop(a->dentry) == a->mvd_bsrc + && au_dcount(a->dentry) == 1 + && atomic_read(&a->inode->i_count) == 1 + /* && a->mvd_h_src_inode->i_nlink == 1 */ + && (!plinked || !au_plink_test(a->inode)) + && a->inode->i_nlink == 1) + goto out; + + err = -EBUSY; + AU_MVD_PR(dmsg, + "b%d, d{b%d, c%d?}, i{c%d?, l%u}, hi{l%u}, p{%d, %d}\n", + a->mvd_bsrc, au_dbtop(a->dentry), au_dcount(a->dentry), + atomic_read(&a->inode->i_count), a->inode->i_nlink, + a->mvd_h_src_inode->i_nlink, + plinked, plinked ? au_plink_test(a->inode) : 0); + +out: + AuTraceErr(err); + return err; +} + +/* make sure the parent dir is fine */ +static int au_mvd_args_parent(const unsigned char dmsg, + struct au_mvd_args *a) +{ + int err; + aufs_bindex_t bindex; + + err = 0; + if (unlikely(au_alive_dir(a->parent))) { + err = -ENOENT; + AU_MVD_PR(dmsg, "parent dir is dead\n"); + goto out; + } + + a->bopq = au_dbdiropq(a->parent); + bindex = au_wbr_nonopq(a->dentry, a->mvd_bdst); + AuDbg("b%d\n", bindex); + if (unlikely((bindex >= 0 && bindex < a->mvd_bdst) + || (a->bopq != -1 && a->bopq < a->mvd_bdst))) { + err = -EINVAL; + a->mvd_errno = EAU_MVDOWN_OPAQUE; + AU_MVD_PR(dmsg, "ancestor is opaque b%d, b%d\n", + a->bopq, a->mvd_bdst); + } + +out: + AuTraceErr(err); + return err; +} + +static int au_mvd_args_intermediate(const unsigned char dmsg, + struct au_mvd_args *a) +{ + int err; + struct au_dinfo *dinfo, *tmp; + + /* lookup the next lower positive entry */ + err = -ENOMEM; + tmp = au_di_alloc(a->sb, AuLsc_DI_TMP); + if (unlikely(!tmp)) + goto out; + + a->bfound = -1; + a->bwh = -1; + dinfo = au_di(a->dentry); + au_di_cp(tmp, dinfo); + au_di_swap(tmp, dinfo); + + /* returns the number of positive dentries */ + err = au_lkup_dentry(a->dentry, a->mvd_bsrc + 1, + /* AuLkup_IGNORE_PERM */ 0); + if (!err) + a->bwh = au_dbwh(a->dentry); + else if (err > 0) + a->bfound = au_dbtop(a->dentry); + + au_di_swap(tmp, dinfo); + au_rw_write_unlock(&tmp->di_rwsem); + au_di_free(tmp); + if (unlikely(err < 0)) + AU_MVD_PR(dmsg, "failed look-up lower\n"); + + /* + * here, we have these cases. + * bfound == -1 + * no positive dentry under bsrc. there are more sub-cases. + * bwh < 0 + * there no whiteout, we can safely move-down. + * bwh <= bsrc + * impossible + * bsrc < bwh && bwh < bdst + * there is a whiteout on RO branch. cannot proceed. + * bwh == bdst + * there is a whiteout on the RW target branch. it should + * be removed. + * bdst < bwh + * there is a whiteout somewhere unrelated branch. + * -1 < bfound && bfound <= bsrc + * impossible. + * bfound < bdst + * found, but it is on RO branch between bsrc and bdst. cannot + * proceed. + * bfound == bdst + * found, replace it if AUFS_MVDOWN_FORCE is set. otherwise return + * error. + * bdst < bfound + * found, after we create the file on bdst, it will be hidden. + */ + + AuDebugOn(a->bfound == -1 + && a->bwh != -1 + && a->bwh <= a->mvd_bsrc); + AuDebugOn(-1 < a->bfound + && a->bfound <= a->mvd_bsrc); + + err = -EINVAL; + if (a->bfound == -1 + && a->mvd_bsrc < a->bwh + && a->bwh != -1 + && a->bwh < a->mvd_bdst) { + a->mvd_errno = EAU_MVDOWN_WHITEOUT; + AU_MVD_PR(dmsg, "bsrc %d, bdst %d, bfound %d, bwh %d\n", + a->mvd_bsrc, a->mvd_bdst, a->bfound, a->bwh); + goto out; + } else if (a->bfound != -1 && a->bfound < a->mvd_bdst) { + a->mvd_errno = EAU_MVDOWN_UPPER; + AU_MVD_PR(dmsg, "bdst %d, bfound %d\n", + a->mvd_bdst, a->bfound); + goto out; + } + + err = 0; /* success */ + +out: + AuTraceErr(err); + return err; +} + +static int au_mvd_args_exist(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + + err = 0; + if (!(a->mvdown.flags & AUFS_MVDOWN_OWLOWER) + && a->bfound == a->mvd_bdst) + err = -EEXIST; + AuTraceErr(err); + return err; +} + +static int au_mvd_args(const unsigned char dmsg, struct au_mvd_args *a) +{ + int err; + struct au_branch *br; + + err = -EISDIR; + if (unlikely(S_ISDIR(a->inode->i_mode))) + goto out; + + err = -EINVAL; + if (!(a->mvdown.flags & AUFS_MVDOWN_BRID_UPPER)) + a->mvd_bsrc = au_ibtop(a->inode); + else { + a->mvd_bsrc = au_br_index(a->sb, a->mvd_src_brid); + if (unlikely(a->mvd_bsrc < 0 + || (a->mvd_bsrc < au_dbtop(a->dentry) + || au_dbbot(a->dentry) < a->mvd_bsrc + || !au_h_dptr(a->dentry, a->mvd_bsrc)) + || (a->mvd_bsrc < au_ibtop(a->inode) + || au_ibbot(a->inode) < a->mvd_bsrc + || !au_h_iptr(a->inode, a->mvd_bsrc)))) { + a->mvd_errno = EAU_MVDOWN_NOUPPER; + AU_MVD_PR(dmsg, "no upper\n"); + goto out; + } + } + if (unlikely(a->mvd_bsrc == au_sbbot(a->sb))) { + a->mvd_errno = EAU_MVDOWN_BOTTOM; + AU_MVD_PR(dmsg, "on the bottom\n"); + goto out; + } + a->mvd_h_src_inode = au_h_iptr(a->inode, a->mvd_bsrc); + br = au_sbr(a->sb, a->mvd_bsrc); + err = au_br_rdonly(br); + if (!(a->mvdown.flags & AUFS_MVDOWN_ROUPPER)) { + if (unlikely(err)) + goto out; + } else if (!(vfsub_native_ro(a->mvd_h_src_inode) + || IS_APPEND(a->mvd_h_src_inode))) { + if (err) + a->mvdown.flags |= AUFS_MVDOWN_ROUPPER_R; + /* go on */ + } else + goto out; + + err = -EINVAL; + if (!(a->mvdown.flags & AUFS_MVDOWN_BRID_LOWER)) { + a->mvd_bdst = find_lower_writable(a); + if (unlikely(a->mvd_bdst < 0)) { + a->mvd_errno = EAU_MVDOWN_BOTTOM; + AU_MVD_PR(dmsg, "no writable lower branch\n"); + goto out; + } + } else { + a->mvd_bdst = au_br_index(a->sb, a->mvd_dst_brid); + if (unlikely(a->mvd_bdst < 0 + || au_sbbot(a->sb) < a->mvd_bdst)) { + a->mvd_errno = EAU_MVDOWN_NOLOWERBR; + AU_MVD_PR(dmsg, "no lower brid\n"); + goto out; + } + } + + err = au_mvd_args_busy(dmsg, a); + if (!err) + err = au_mvd_args_parent(dmsg, a); + if (!err) + err = au_mvd_args_intermediate(dmsg, a); + if (!err) + err = au_mvd_args_exist(dmsg, a); + if (!err) + AuDbg("b%d, b%d\n", a->mvd_bsrc, a->mvd_bdst); + +out: + AuTraceErr(err); + return err; +} + +int au_mvdown(struct dentry *dentry, struct aufs_mvdown __user *uarg) +{ + int err, e; + unsigned char dmsg; + struct au_mvd_args *args; + struct inode *inode; + + inode = d_inode(dentry); + err = -EPERM; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = -ENOMEM; + args = kmalloc(sizeof(*args), GFP_NOFS); + if (unlikely(!args)) + goto out; + + err = copy_from_user(&args->mvdown, uarg, sizeof(args->mvdown)); + if (!err) + /* VERIFY_WRITE */ + err = !access_ok(uarg, sizeof(*uarg)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out_free; + } + AuDbg("flags 0x%x\n", args->mvdown.flags); + args->mvdown.flags &= ~(AUFS_MVDOWN_ROLOWER_R | AUFS_MVDOWN_ROUPPER_R); + args->mvdown.au_errno = 0; + args->dentry = dentry; + args->inode = inode; + args->sb = dentry->d_sb; + + err = -ENOENT; + dmsg = !!(args->mvdown.flags & AUFS_MVDOWN_DMSG); + args->parent = dget_parent(dentry); + args->dir = d_inode(args->parent); + inode_lock_nested(args->dir, I_MUTEX_PARENT); + dput(args->parent); + if (unlikely(args->parent != dentry->d_parent)) { + AU_MVD_PR(dmsg, "parent dir is moved\n"); + goto out_dir; + } + + inode_lock_nested(inode, I_MUTEX_CHILD); + err = aufs_read_lock(dentry, AuLock_DW | AuLock_FLUSH | AuLock_NOPLMW); + if (unlikely(err)) + goto out_inode; + + di_write_lock_parent(args->parent); + err = au_mvd_args(dmsg, args); + if (unlikely(err)) + goto out_parent; + + err = au_do_mvdown(dmsg, args); + if (unlikely(err)) + goto out_parent; + + au_cpup_attr_timesizes(args->dir); + au_cpup_attr_timesizes(inode); + if (!(args->mvdown.flags & AUFS_MVDOWN_KUPPER)) + au_cpup_igen(inode, au_h_iptr(inode, args->mvd_bdst)); + /* au_digen_dec(dentry); */ + +out_parent: + di_write_unlock(args->parent); + aufs_read_unlock(dentry, AuLock_DW); +out_inode: + inode_unlock(inode); +out_dir: + inode_unlock(args->dir); +out_free: + e = copy_to_user(uarg, &args->mvdown, sizeof(args->mvdown)); + if (unlikely(e)) + err = -EFAULT; + au_kfree_rcu(args); +out: + AuTraceErr(err); + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/opts.c +++ linux-riscv-5.8-5.8.0/fs/aufs/opts.c @@ -0,0 +1,1880 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * mount options/flags + */ + +#include +#include /* a distribution requires */ +#include +#include "aufs.h" + +/* ---------------------------------------------------------------------- */ + +enum { + Opt_br, + Opt_add, Opt_del, Opt_mod, Opt_append, Opt_prepend, + Opt_idel, Opt_imod, + Opt_dirwh, Opt_rdcache, Opt_rdblk, Opt_rdhash, + Opt_rdblk_def, Opt_rdhash_def, + Opt_xino, Opt_noxino, + Opt_trunc_xino, Opt_trunc_xino_v, Opt_notrunc_xino, + Opt_trunc_xino_path, Opt_itrunc_xino, + Opt_trunc_xib, Opt_notrunc_xib, + Opt_shwh, Opt_noshwh, + Opt_plink, Opt_noplink, Opt_list_plink, + Opt_udba, + Opt_dio, Opt_nodio, + Opt_diropq_a, Opt_diropq_w, + Opt_warn_perm, Opt_nowarn_perm, + Opt_wbr_copyup, Opt_wbr_create, + Opt_fhsm_sec, + Opt_verbose, Opt_noverbose, + Opt_sum, Opt_nosum, Opt_wsum, + Opt_dirperm1, Opt_nodirperm1, + Opt_dirren, Opt_nodirren, + Opt_acl, Opt_noacl, + Opt_tail, Opt_ignore, Opt_ignore_silent, Opt_err +}; + +static match_table_t options = { + {Opt_br, "br=%s"}, + {Opt_br, "br:%s"}, + + {Opt_add, "add=%d:%s"}, + {Opt_add, "add:%d:%s"}, + {Opt_add, "ins=%d:%s"}, + {Opt_add, "ins:%d:%s"}, + {Opt_append, "append=%s"}, + {Opt_append, "append:%s"}, + {Opt_prepend, "prepend=%s"}, + {Opt_prepend, "prepend:%s"}, + + {Opt_del, "del=%s"}, + {Opt_del, "del:%s"}, + /* {Opt_idel, "idel:%d"}, */ + {Opt_mod, "mod=%s"}, + {Opt_mod, "mod:%s"}, + /* {Opt_imod, "imod:%d:%s"}, */ + + {Opt_dirwh, "dirwh=%d"}, + + {Opt_xino, "xino=%s"}, + {Opt_noxino, "noxino"}, + {Opt_trunc_xino, "trunc_xino"}, + {Opt_trunc_xino_v, "trunc_xino_v=%d:%d"}, + {Opt_notrunc_xino, "notrunc_xino"}, + {Opt_trunc_xino_path, "trunc_xino=%s"}, + {Opt_itrunc_xino, "itrunc_xino=%d"}, + /* {Opt_zxino, "zxino=%s"}, */ + {Opt_trunc_xib, "trunc_xib"}, + {Opt_notrunc_xib, "notrunc_xib"}, + +#ifdef CONFIG_PROC_FS + {Opt_plink, "plink"}, +#else + {Opt_ignore_silent, "plink"}, +#endif + + {Opt_noplink, "noplink"}, + +#ifdef CONFIG_AUFS_DEBUG + {Opt_list_plink, "list_plink"}, +#endif + + {Opt_udba, "udba=%s"}, + + {Opt_dio, "dio"}, + {Opt_nodio, "nodio"}, + +#ifdef CONFIG_AUFS_DIRREN + {Opt_dirren, "dirren"}, + {Opt_nodirren, "nodirren"}, +#else + {Opt_ignore, "dirren"}, + {Opt_ignore_silent, "nodirren"}, +#endif + +#ifdef CONFIG_AUFS_FHSM + {Opt_fhsm_sec, "fhsm_sec=%d"}, +#else + {Opt_ignore, "fhsm_sec=%d"}, +#endif + + {Opt_diropq_a, "diropq=always"}, + {Opt_diropq_a, "diropq=a"}, + {Opt_diropq_w, "diropq=whiteouted"}, + {Opt_diropq_w, "diropq=w"}, + + {Opt_warn_perm, "warn_perm"}, + {Opt_nowarn_perm, "nowarn_perm"}, + + /* keep them temporary */ + {Opt_ignore_silent, "nodlgt"}, + {Opt_ignore, "clean_plink"}, + +#ifdef CONFIG_AUFS_SHWH + {Opt_shwh, "shwh"}, +#endif + {Opt_noshwh, "noshwh"}, + + {Opt_dirperm1, "dirperm1"}, + {Opt_nodirperm1, "nodirperm1"}, + + {Opt_verbose, "verbose"}, + {Opt_verbose, "v"}, + {Opt_noverbose, "noverbose"}, + {Opt_noverbose, "quiet"}, + {Opt_noverbose, "q"}, + {Opt_noverbose, "silent"}, + + {Opt_sum, "sum"}, + {Opt_nosum, "nosum"}, + {Opt_wsum, "wsum"}, + + {Opt_rdcache, "rdcache=%d"}, + {Opt_rdblk, "rdblk=%d"}, + {Opt_rdblk_def, "rdblk=def"}, + {Opt_rdhash, "rdhash=%d"}, + {Opt_rdhash_def, "rdhash=def"}, + + {Opt_wbr_create, "create=%s"}, + {Opt_wbr_create, "create_policy=%s"}, + {Opt_wbr_copyup, "cpup=%s"}, + {Opt_wbr_copyup, "copyup=%s"}, + {Opt_wbr_copyup, "copyup_policy=%s"}, + + /* generic VFS flag */ +#ifdef CONFIG_FS_POSIX_ACL + {Opt_acl, "acl"}, + {Opt_noacl, "noacl"}, +#else + {Opt_ignore, "acl"}, + {Opt_ignore_silent, "noacl"}, +#endif + + /* internal use for the scripts */ + {Opt_ignore_silent, "si=%s"}, + + {Opt_br, "dirs=%s"}, + {Opt_ignore, "debug=%d"}, + {Opt_ignore, "delete=whiteout"}, + {Opt_ignore, "delete=all"}, + {Opt_ignore, "imap=%s"}, + + /* temporary workaround, due to old mount(8)? */ + {Opt_ignore_silent, "relatime"}, + + {Opt_err, NULL} +}; + +/* ---------------------------------------------------------------------- */ + +static const char *au_parser_pattern(int val, match_table_t tbl) +{ + struct match_token *p; + + p = tbl; + while (p->pattern) { + if (p->token == val) + return p->pattern; + p++; + } + BUG(); + return "??"; +} + +static const char *au_optstr(int *val, match_table_t tbl) +{ + struct match_token *p; + int v; + + v = *val; + if (!v) + goto out; + p = tbl; + while (p->pattern) { + if (p->token + && (v & p->token) == p->token) { + *val &= ~p->token; + return p->pattern; + } + p++; + } + +out: + return NULL; +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t brperm = { + {AuBrPerm_RO, AUFS_BRPERM_RO}, + {AuBrPerm_RR, AUFS_BRPERM_RR}, + {AuBrPerm_RW, AUFS_BRPERM_RW}, + {0, NULL} +}; + +static match_table_t brattr = { + /* general */ + {AuBrAttr_COO_REG, AUFS_BRATTR_COO_REG}, + {AuBrAttr_COO_ALL, AUFS_BRATTR_COO_ALL}, + /* 'unpin' attrib is meaningless since linux-3.18-rc1 */ + {AuBrAttr_UNPIN, AUFS_BRATTR_UNPIN}, +#ifdef CONFIG_AUFS_FHSM + {AuBrAttr_FHSM, AUFS_BRATTR_FHSM}, +#endif +#ifdef CONFIG_AUFS_XATTR + {AuBrAttr_ICEX, AUFS_BRATTR_ICEX}, + {AuBrAttr_ICEX_SEC, AUFS_BRATTR_ICEX_SEC}, + {AuBrAttr_ICEX_SYS, AUFS_BRATTR_ICEX_SYS}, + {AuBrAttr_ICEX_TR, AUFS_BRATTR_ICEX_TR}, + {AuBrAttr_ICEX_USR, AUFS_BRATTR_ICEX_USR}, + {AuBrAttr_ICEX_OTH, AUFS_BRATTR_ICEX_OTH}, +#endif + + /* ro/rr branch */ + {AuBrRAttr_WH, AUFS_BRRATTR_WH}, + + /* rw branch */ + {AuBrWAttr_MOO, AUFS_BRWATTR_MOO}, + {AuBrWAttr_NoLinkWH, AUFS_BRWATTR_NLWH}, + + {0, NULL} +}; + +static int br_attr_val(char *str, match_table_t table, substring_t args[]) +{ + int attr, v; + char *p; + + attr = 0; + do { + p = strchr(str, '+'); + if (p) + *p = 0; + v = match_token(str, table, args); + if (v) { + if (v & AuBrAttr_CMOO_Mask) + attr &= ~AuBrAttr_CMOO_Mask; + attr |= v; + } else { + if (p) + *p = '+'; + pr_warn("ignored branch attribute %s\n", str); + break; + } + if (p) + str = p + 1; + } while (p); + + return attr; +} + +static int au_do_optstr_br_attr(au_br_perm_str_t *str, int perm) +{ + int sz; + const char *p; + char *q; + + q = str->a; + *q = 0; + p = au_optstr(&perm, brattr); + if (p) { + sz = strlen(p); + memcpy(q, p, sz + 1); + q += sz; + } else + goto out; + + do { + p = au_optstr(&perm, brattr); + if (p) { + *q++ = '+'; + sz = strlen(p); + memcpy(q, p, sz + 1); + q += sz; + } + } while (p); + +out: + return q - str->a; +} + +static int noinline_for_stack br_perm_val(char *perm) +{ + int val, bad, sz; + char *p; + substring_t args[MAX_OPT_ARGS]; + au_br_perm_str_t attr; + + p = strchr(perm, '+'); + if (p) + *p = 0; + val = match_token(perm, brperm, args); + if (!val) { + if (p) + *p = '+'; + pr_warn("ignored branch permission %s\n", perm); + val = AuBrPerm_RO; + goto out; + } + if (!p) + goto out; + + val |= br_attr_val(p + 1, brattr, args); + + bad = 0; + switch (val & AuBrPerm_Mask) { + case AuBrPerm_RO: + case AuBrPerm_RR: + bad = val & AuBrWAttr_Mask; + val &= ~AuBrWAttr_Mask; + break; + case AuBrPerm_RW: + bad = val & AuBrRAttr_Mask; + val &= ~AuBrRAttr_Mask; + break; + } + + /* + * 'unpin' attrib becomes meaningless since linux-3.18-rc1, but aufs + * does not treat it as an error, just warning. + * this is a tiny guard for the user operation. + */ + if (val & AuBrAttr_UNPIN) { + bad |= AuBrAttr_UNPIN; + val &= ~AuBrAttr_UNPIN; + } + + if (unlikely(bad)) { + sz = au_do_optstr_br_attr(&attr, bad); + AuDebugOn(!sz); + pr_warn("ignored branch attribute %s\n", attr.a); + } + +out: + return val; +} + +void au_optstr_br_perm(au_br_perm_str_t *str, int perm) +{ + au_br_perm_str_t attr; + const char *p; + char *q; + int sz; + + q = str->a; + p = au_optstr(&perm, brperm); + AuDebugOn(!p || !*p); + sz = strlen(p); + memcpy(q, p, sz + 1); + q += sz; + + sz = au_do_optstr_br_attr(&attr, perm); + if (sz) { + *q++ = '+'; + memcpy(q, attr.a, sz + 1); + } + + AuDebugOn(strlen(str->a) >= sizeof(str->a)); +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t udbalevel = { + {AuOpt_UDBA_REVAL, "reval"}, + {AuOpt_UDBA_NONE, "none"}, +#ifdef CONFIG_AUFS_HNOTIFY + {AuOpt_UDBA_HNOTIFY, "notify"}, /* abstraction */ +#ifdef CONFIG_AUFS_HFSNOTIFY + {AuOpt_UDBA_HNOTIFY, "fsnotify"}, +#endif +#endif + {-1, NULL} +}; + +static int noinline_for_stack udba_val(char *str) +{ + substring_t args[MAX_OPT_ARGS]; + + return match_token(str, udbalevel, args); +} + +const char *au_optstr_udba(int udba) +{ + return au_parser_pattern(udba, udbalevel); +} + +/* ---------------------------------------------------------------------- */ + +static match_table_t au_wbr_create_policy = { + {AuWbrCreate_TDP, "tdp"}, + {AuWbrCreate_TDP, "top-down-parent"}, + {AuWbrCreate_RR, "rr"}, + {AuWbrCreate_RR, "round-robin"}, + {AuWbrCreate_MFS, "mfs"}, + {AuWbrCreate_MFS, "most-free-space"}, + {AuWbrCreate_MFSV, "mfs:%d"}, + {AuWbrCreate_MFSV, "most-free-space:%d"}, + + /* top-down regardless the parent, and then mfs */ + {AuWbrCreate_TDMFS, "tdmfs:%d"}, + {AuWbrCreate_TDMFSV, "tdmfs:%d:%d"}, + + {AuWbrCreate_MFSRR, "mfsrr:%d"}, + {AuWbrCreate_MFSRRV, "mfsrr:%d:%d"}, + {AuWbrCreate_PMFS, "pmfs"}, + {AuWbrCreate_PMFSV, "pmfs:%d"}, + {AuWbrCreate_PMFSRR, "pmfsrr:%d"}, + {AuWbrCreate_PMFSRRV, "pmfsrr:%d:%d"}, + + {-1, NULL} +}; + +static int au_wbr_mfs_wmark(substring_t *arg, char *str, + struct au_opt_wbr_create *create) +{ + int err; + unsigned long long ull; + + err = 0; + if (!match_u64(arg, &ull)) + create->mfsrr_watermark = ull; + else { + pr_err("bad integer in %s\n", str); + err = -EINVAL; + } + + return err; +} + +static int au_wbr_mfs_sec(substring_t *arg, char *str, + struct au_opt_wbr_create *create) +{ + int n, err; + + err = 0; + if (!match_int(arg, &n) && 0 <= n && n <= AUFS_MFS_MAX_SEC) + create->mfs_second = n; + else { + pr_err("bad integer in %s\n", str); + err = -EINVAL; + } + + return err; +} + +static int noinline_for_stack +au_wbr_create_val(char *str, struct au_opt_wbr_create *create) +{ + int err, e; + substring_t args[MAX_OPT_ARGS]; + + err = match_token(str, au_wbr_create_policy, args); + create->wbr_create = err; + switch (err) { + case AuWbrCreate_MFSRRV: + case AuWbrCreate_TDMFSV: + case AuWbrCreate_PMFSRRV: + e = au_wbr_mfs_wmark(&args[0], str, create); + if (!e) + e = au_wbr_mfs_sec(&args[1], str, create); + if (unlikely(e)) + err = e; + break; + case AuWbrCreate_MFSRR: + case AuWbrCreate_TDMFS: + case AuWbrCreate_PMFSRR: + e = au_wbr_mfs_wmark(&args[0], str, create); + if (unlikely(e)) { + err = e; + break; + } + /*FALLTHROUGH*/ + case AuWbrCreate_MFS: + case AuWbrCreate_PMFS: + create->mfs_second = AUFS_MFS_DEF_SEC; + break; + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFSV: + e = au_wbr_mfs_sec(&args[0], str, create); + if (unlikely(e)) + err = e; + break; + } + + return err; +} + +const char *au_optstr_wbr_create(int wbr_create) +{ + return au_parser_pattern(wbr_create, au_wbr_create_policy); +} + +static match_table_t au_wbr_copyup_policy = { + {AuWbrCopyup_TDP, "tdp"}, + {AuWbrCopyup_TDP, "top-down-parent"}, + {AuWbrCopyup_BUP, "bup"}, + {AuWbrCopyup_BUP, "bottom-up-parent"}, + {AuWbrCopyup_BU, "bu"}, + {AuWbrCopyup_BU, "bottom-up"}, + {-1, NULL} +}; + +static int noinline_for_stack au_wbr_copyup_val(char *str) +{ + substring_t args[MAX_OPT_ARGS]; + + return match_token(str, au_wbr_copyup_policy, args); +} + +const char *au_optstr_wbr_copyup(int wbr_copyup) +{ + return au_parser_pattern(wbr_copyup, au_wbr_copyup_policy); +} + +/* ---------------------------------------------------------------------- */ + +static const int lkup_dirflags = LOOKUP_FOLLOW | LOOKUP_DIRECTORY; + +static void dump_opts(struct au_opts *opts) +{ +#ifdef CONFIG_AUFS_DEBUG + /* reduce stack space */ + union { + struct au_opt_add *add; + struct au_opt_del *del; + struct au_opt_mod *mod; + struct au_opt_xino *xino; + struct au_opt_xino_itrunc *xino_itrunc; + struct au_opt_wbr_create *create; + } u; + struct au_opt *opt; + + opt = opts->opt; + while (opt->type != Opt_tail) { + switch (opt->type) { + case Opt_add: + u.add = &opt->add; + AuDbg("add {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_del: + case Opt_idel: + u.del = &opt->del; + AuDbg("del {%s, %p}\n", + u.del->pathname, u.del->h_path.dentry); + break; + case Opt_mod: + case Opt_imod: + u.mod = &opt->mod; + AuDbg("mod {%s, 0x%x, %p}\n", + u.mod->path, u.mod->perm, u.mod->h_root); + break; + case Opt_append: + u.add = &opt->add; + AuDbg("append {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_prepend: + u.add = &opt->add; + AuDbg("prepend {b%d, %s, 0x%x, %p}\n", + u.add->bindex, u.add->pathname, u.add->perm, + u.add->path.dentry); + break; + case Opt_dirwh: + AuDbg("dirwh %d\n", opt->dirwh); + break; + case Opt_rdcache: + AuDbg("rdcache %d\n", opt->rdcache); + break; + case Opt_rdblk: + AuDbg("rdblk %u\n", opt->rdblk); + break; + case Opt_rdblk_def: + AuDbg("rdblk_def\n"); + break; + case Opt_rdhash: + AuDbg("rdhash %u\n", opt->rdhash); + break; + case Opt_rdhash_def: + AuDbg("rdhash_def\n"); + break; + case Opt_xino: + u.xino = &opt->xino; + AuDbg("xino {%s %pD}\n", u.xino->path, u.xino->file); + break; + case Opt_trunc_xino: + AuLabel(trunc_xino); + break; + case Opt_notrunc_xino: + AuLabel(notrunc_xino); + break; + case Opt_trunc_xino_path: + case Opt_itrunc_xino: + u.xino_itrunc = &opt->xino_itrunc; + AuDbg("trunc_xino %d\n", u.xino_itrunc->bindex); + break; + case Opt_noxino: + AuLabel(noxino); + break; + case Opt_trunc_xib: + AuLabel(trunc_xib); + break; + case Opt_notrunc_xib: + AuLabel(notrunc_xib); + break; + case Opt_shwh: + AuLabel(shwh); + break; + case Opt_noshwh: + AuLabel(noshwh); + break; + case Opt_dirperm1: + AuLabel(dirperm1); + break; + case Opt_nodirperm1: + AuLabel(nodirperm1); + break; + case Opt_plink: + AuLabel(plink); + break; + case Opt_noplink: + AuLabel(noplink); + break; + case Opt_list_plink: + AuLabel(list_plink); + break; + case Opt_udba: + AuDbg("udba %d, %s\n", + opt->udba, au_optstr_udba(opt->udba)); + break; + case Opt_dio: + AuLabel(dio); + break; + case Opt_nodio: + AuLabel(nodio); + break; + case Opt_diropq_a: + AuLabel(diropq_a); + break; + case Opt_diropq_w: + AuLabel(diropq_w); + break; + case Opt_warn_perm: + AuLabel(warn_perm); + break; + case Opt_nowarn_perm: + AuLabel(nowarn_perm); + break; + case Opt_verbose: + AuLabel(verbose); + break; + case Opt_noverbose: + AuLabel(noverbose); + break; + case Opt_sum: + AuLabel(sum); + break; + case Opt_nosum: + AuLabel(nosum); + break; + case Opt_wsum: + AuLabel(wsum); + break; + case Opt_wbr_create: + u.create = &opt->wbr_create; + AuDbg("create %d, %s\n", u.create->wbr_create, + au_optstr_wbr_create(u.create->wbr_create)); + switch (u.create->wbr_create) { + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFSV: + AuDbg("%d sec\n", u.create->mfs_second); + break; + case AuWbrCreate_MFSRR: + case AuWbrCreate_TDMFS: + AuDbg("%llu watermark\n", + u.create->mfsrr_watermark); + break; + case AuWbrCreate_MFSRRV: + case AuWbrCreate_TDMFSV: + case AuWbrCreate_PMFSRRV: + AuDbg("%llu watermark, %d sec\n", + u.create->mfsrr_watermark, + u.create->mfs_second); + break; + } + break; + case Opt_wbr_copyup: + AuDbg("copyup %d, %s\n", opt->wbr_copyup, + au_optstr_wbr_copyup(opt->wbr_copyup)); + break; + case Opt_fhsm_sec: + AuDbg("fhsm_sec %u\n", opt->fhsm_second); + break; + case Opt_dirren: + AuLabel(dirren); + break; + case Opt_nodirren: + AuLabel(nodirren); + break; + case Opt_acl: + AuLabel(acl); + break; + case Opt_noacl: + AuLabel(noacl); + break; + default: + BUG(); + } + opt++; + } +#endif +} + +void au_opts_free(struct au_opts *opts) +{ + struct au_opt *opt; + + opt = opts->opt; + while (opt->type != Opt_tail) { + switch (opt->type) { + case Opt_add: + case Opt_append: + case Opt_prepend: + path_put(&opt->add.path); + break; + case Opt_del: + case Opt_idel: + path_put(&opt->del.h_path); + break; + case Opt_mod: + case Opt_imod: + dput(opt->mod.h_root); + break; + case Opt_xino: + fput(opt->xino.file); + break; + } + opt++; + } +} + +static int opt_add(struct au_opt *opt, char *opt_str, unsigned long sb_flags, + aufs_bindex_t bindex) +{ + int err; + struct au_opt_add *add = &opt->add; + char *p; + + add->bindex = bindex; + add->perm = AuBrPerm_RO; + add->pathname = opt_str; + p = strchr(opt_str, '='); + if (p) { + *p++ = 0; + if (*p) + add->perm = br_perm_val(p); + } + + err = vfsub_kern_path(add->pathname, lkup_dirflags, &add->path); + if (!err) { + if (!p) { + add->perm = AuBrPerm_RO; + if (au_test_fs_rr(add->path.dentry->d_sb)) + add->perm = AuBrPerm_RR; + else if (!bindex && !(sb_flags & SB_RDONLY)) + add->perm = AuBrPerm_RW; + } + opt->type = Opt_add; + goto out; + } + pr_err("lookup failed %s (%d)\n", add->pathname, err); + err = -EINVAL; + +out: + return err; +} + +static int au_opts_parse_del(struct au_opt_del *del, substring_t args[]) +{ + int err; + + del->pathname = args[0].from; + AuDbg("del path %s\n", del->pathname); + + err = vfsub_kern_path(del->pathname, lkup_dirflags, &del->h_path); + if (unlikely(err)) + pr_err("lookup failed %s (%d)\n", del->pathname, err); + + return err; +} + +#if 0 /* reserved for future use */ +static int au_opts_parse_idel(struct super_block *sb, aufs_bindex_t bindex, + struct au_opt_del *del, substring_t args[]) +{ + int err; + struct dentry *root; + + err = -EINVAL; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + if (bindex < 0 || au_sbbot(sb) < bindex) { + pr_err("out of bounds, %d\n", bindex); + goto out; + } + + err = 0; + del->h_path.dentry = dget(au_h_dptr(root, bindex)); + del->h_path.mnt = mntget(au_sbr_mnt(sb, bindex)); + +out: + aufs_read_unlock(root, !AuLock_IR); + return err; +} +#endif + +static int noinline_for_stack +au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[]) +{ + int err; + struct path path; + char *p; + + err = -EINVAL; + mod->path = args[0].from; + p = strchr(mod->path, '='); + if (unlikely(!p)) { + pr_err("no permission %s\n", args[0].from); + goto out; + } + + *p++ = 0; + err = vfsub_kern_path(mod->path, lkup_dirflags, &path); + if (unlikely(err)) { + pr_err("lookup failed %s (%d)\n", mod->path, err); + goto out; + } + + mod->perm = br_perm_val(p); + AuDbg("mod path %s, perm 0x%x, %s\n", mod->path, mod->perm, p); + mod->h_root = dget(path.dentry); + path_put(&path); + +out: + return err; +} + +#if 0 /* reserved for future use */ +static int au_opts_parse_imod(struct super_block *sb, aufs_bindex_t bindex, + struct au_opt_mod *mod, substring_t args[]) +{ + int err; + struct dentry *root; + + err = -EINVAL; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + if (bindex < 0 || au_sbbot(sb) < bindex) { + pr_err("out of bounds, %d\n", bindex); + goto out; + } + + err = 0; + mod->perm = br_perm_val(args[1].from); + AuDbg("mod path %s, perm 0x%x, %s\n", + mod->path, mod->perm, args[1].from); + mod->h_root = dget(au_h_dptr(root, bindex)); + +out: + aufs_read_unlock(root, !AuLock_IR); + return err; +} +#endif + +static int au_opts_parse_xino(struct super_block *sb, struct au_opt_xino *xino, + substring_t args[]) +{ + int err; + struct file *file; + + file = au_xino_create(sb, args[0].from, /*silent*/0, /*wbrtop*/0); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + + err = -EINVAL; + if (unlikely(file->f_path.dentry->d_sb == sb)) { + fput(file); + pr_err("%s must be outside\n", args[0].from); + goto out; + } + + err = 0; + xino->file = file; + xino->path = args[0].from; + +out: + return err; +} + +static int noinline_for_stack +au_opts_parse_xino_itrunc_path(struct super_block *sb, + struct au_opt_xino_itrunc *xino_itrunc, + substring_t args[]) +{ + int err; + aufs_bindex_t bbot, bindex; + struct path path; + struct dentry *root; + + err = vfsub_kern_path(args[0].from, lkup_dirflags, &path); + if (unlikely(err)) { + pr_err("lookup failed %s (%d)\n", args[0].from, err); + goto out; + } + + xino_itrunc->bindex = -1; + root = sb->s_root; + aufs_read_lock(root, AuLock_FLUSH); + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + if (au_h_dptr(root, bindex) == path.dentry) { + xino_itrunc->bindex = bindex; + break; + } + } + aufs_read_unlock(root, !AuLock_IR); + path_put(&path); + + if (unlikely(xino_itrunc->bindex < 0)) { + pr_err("no such branch %s\n", args[0].from); + err = -EINVAL; + } + +out: + return err; +} + +/* called without aufs lock */ +int au_opts_parse(struct super_block *sb, char *str, struct au_opts *opts) +{ + int err, n, token; + aufs_bindex_t bindex; + unsigned char skipped; + struct dentry *root; + struct au_opt *opt, *opt_tail; + char *opt_str; + /* reduce the stack space */ + union { + struct au_opt_xino_itrunc *xino_itrunc; + struct au_opt_wbr_create *create; + } u; + struct { + substring_t args[MAX_OPT_ARGS]; + } *a; + + err = -ENOMEM; + a = kmalloc(sizeof(*a), GFP_NOFS); + if (unlikely(!a)) + goto out; + + root = sb->s_root; + err = 0; + bindex = 0; + opt = opts->opt; + opt_tail = opt + opts->max_opt - 1; + opt->type = Opt_tail; + while (!err && (opt_str = strsep(&str, ",")) && *opt_str) { + err = -EINVAL; + skipped = 0; + token = match_token(opt_str, options, a->args); + switch (token) { + case Opt_br: + err = 0; + while (!err && (opt_str = strsep(&a->args[0].from, ":")) + && *opt_str) { + err = opt_add(opt, opt_str, opts->sb_flags, + bindex++); + if (unlikely(!err && ++opt > opt_tail)) { + err = -E2BIG; + break; + } + opt->type = Opt_tail; + skipped = 1; + } + break; + case Opt_add: + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + bindex = n; + err = opt_add(opt, a->args[1].from, opts->sb_flags, + bindex); + if (!err) + opt->type = token; + break; + case Opt_append: + err = opt_add(opt, a->args[0].from, opts->sb_flags, + /*dummy bindex*/1); + if (!err) + opt->type = token; + break; + case Opt_prepend: + err = opt_add(opt, a->args[0].from, opts->sb_flags, + /*bindex*/0); + if (!err) + opt->type = token; + break; + case Opt_del: + err = au_opts_parse_del(&opt->del, a->args); + if (!err) + opt->type = token; + break; +#if 0 /* reserved for future use */ + case Opt_idel: + del->pathname = "(indexed)"; + if (unlikely(match_int(&args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + err = au_opts_parse_idel(sb, n, &opt->del, a->args); + if (!err) + opt->type = token; + break; +#endif + case Opt_mod: + err = au_opts_parse_mod(&opt->mod, a->args); + if (!err) + opt->type = token; + break; +#ifdef IMOD /* reserved for future use */ + case Opt_imod: + u.mod->path = "(indexed)"; + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + err = au_opts_parse_imod(sb, n, &opt->mod, a->args); + if (!err) + opt->type = token; + break; +#endif + case Opt_xino: + err = au_opts_parse_xino(sb, &opt->xino, a->args); + if (!err) + opt->type = token; + break; + + case Opt_trunc_xino_path: + err = au_opts_parse_xino_itrunc_path + (sb, &opt->xino_itrunc, a->args); + if (!err) + opt->type = token; + break; + + case Opt_itrunc_xino: + u.xino_itrunc = &opt->xino_itrunc; + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + u.xino_itrunc->bindex = n; + aufs_read_lock(root, AuLock_FLUSH); + if (n < 0 || au_sbbot(sb) < n) { + pr_err("out of bounds, %d\n", n); + aufs_read_unlock(root, !AuLock_IR); + break; + } + aufs_read_unlock(root, !AuLock_IR); + err = 0; + opt->type = token; + break; + + case Opt_dirwh: + if (unlikely(match_int(&a->args[0], &opt->dirwh))) + break; + err = 0; + opt->type = token; + break; + + case Opt_rdcache: + if (unlikely(match_int(&a->args[0], &n))) { + pr_err("bad integer in %s\n", opt_str); + break; + } + if (unlikely(n > AUFS_RDCACHE_MAX)) { + pr_err("rdcache must be smaller than %d\n", + AUFS_RDCACHE_MAX); + break; + } + opt->rdcache = n; + err = 0; + opt->type = token; + break; + case Opt_rdblk: + if (unlikely(match_int(&a->args[0], &n) + || n < 0 + || n > KMALLOC_MAX_SIZE)) { + pr_err("bad integer in %s\n", opt_str); + break; + } + if (unlikely(n && n < NAME_MAX)) { + pr_err("rdblk must be larger than %d\n", + NAME_MAX); + break; + } + opt->rdblk = n; + err = 0; + opt->type = token; + break; + case Opt_rdhash: + if (unlikely(match_int(&a->args[0], &n) + || n < 0 + || n * sizeof(struct hlist_head) + > KMALLOC_MAX_SIZE)) { + pr_err("bad integer in %s\n", opt_str); + break; + } + opt->rdhash = n; + err = 0; + opt->type = token; + break; + + case Opt_trunc_xino: + case Opt_notrunc_xino: + case Opt_noxino: + case Opt_trunc_xib: + case Opt_notrunc_xib: + case Opt_shwh: + case Opt_noshwh: + case Opt_dirperm1: + case Opt_nodirperm1: + case Opt_plink: + case Opt_noplink: + case Opt_list_plink: + case Opt_dio: + case Opt_nodio: + case Opt_diropq_a: + case Opt_diropq_w: + case Opt_warn_perm: + case Opt_nowarn_perm: + case Opt_verbose: + case Opt_noverbose: + case Opt_sum: + case Opt_nosum: + case Opt_wsum: + case Opt_rdblk_def: + case Opt_rdhash_def: + case Opt_dirren: + case Opt_nodirren: + case Opt_acl: + case Opt_noacl: + err = 0; + opt->type = token; + break; + + case Opt_udba: + opt->udba = udba_val(a->args[0].from); + if (opt->udba >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + + case Opt_wbr_create: + u.create = &opt->wbr_create; + u.create->wbr_create + = au_wbr_create_val(a->args[0].from, u.create); + if (u.create->wbr_create >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + case Opt_wbr_copyup: + opt->wbr_copyup = au_wbr_copyup_val(a->args[0].from); + if (opt->wbr_copyup >= 0) { + err = 0; + opt->type = token; + } else + pr_err("wrong value, %s\n", opt_str); + break; + + case Opt_fhsm_sec: + if (unlikely(match_int(&a->args[0], &n) + || n < 0)) { + pr_err("bad integer in %s\n", opt_str); + break; + } + if (sysaufs_brs) { + opt->fhsm_second = n; + opt->type = token; + } else + pr_warn("ignored %s\n", opt_str); + err = 0; + break; + + case Opt_ignore: + pr_warn("ignored %s\n", opt_str); + /*FALLTHROUGH*/ + case Opt_ignore_silent: + skipped = 1; + err = 0; + break; + case Opt_err: + pr_err("unknown option %s\n", opt_str); + break; + } + + if (!err && !skipped) { + if (unlikely(++opt > opt_tail)) { + err = -E2BIG; + opt--; + opt->type = Opt_tail; + break; + } + opt->type = Opt_tail; + } + } + + au_kfree_rcu(a); + dump_opts(opts); + if (unlikely(err)) + au_opts_free(opts); + +out: + return err; +} + +static int au_opt_wbr_create(struct super_block *sb, + struct au_opt_wbr_create *create) +{ + int err; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = 1; /* handled */ + sbinfo = au_sbi(sb); + if (sbinfo->si_wbr_create_ops->fin) { + err = sbinfo->si_wbr_create_ops->fin(sb); + if (!err) + err = 1; + } + + sbinfo->si_wbr_create = create->wbr_create; + sbinfo->si_wbr_create_ops = au_wbr_create_ops + create->wbr_create; + switch (create->wbr_create) { + case AuWbrCreate_MFSRRV: + case AuWbrCreate_MFSRR: + case AuWbrCreate_TDMFS: + case AuWbrCreate_TDMFSV: + case AuWbrCreate_PMFSRR: + case AuWbrCreate_PMFSRRV: + sbinfo->si_wbr_mfs.mfsrr_watermark = create->mfsrr_watermark; + /*FALLTHROUGH*/ + case AuWbrCreate_MFS: + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFS: + case AuWbrCreate_PMFSV: + sbinfo->si_wbr_mfs.mfs_expire + = msecs_to_jiffies(create->mfs_second * MSEC_PER_SEC); + break; + } + + if (sbinfo->si_wbr_create_ops->init) + sbinfo->si_wbr_create_ops->init(sb); /* ignore */ + + return err; +} + +/* + * returns, + * plus: processed without an error + * zero: unprocessed + */ +static int au_opt_simple(struct super_block *sb, struct au_opt *opt, + struct au_opts *opts) +{ + int err; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = 1; /* handled */ + sbinfo = au_sbi(sb); + switch (opt->type) { + case Opt_udba: + sbinfo->si_mntflags &= ~AuOptMask_UDBA; + sbinfo->si_mntflags |= opt->udba; + opts->given_udba |= opt->udba; + break; + + case Opt_plink: + au_opt_set(sbinfo->si_mntflags, PLINK); + break; + case Opt_noplink: + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_put(sb, /*verbose*/1); + au_opt_clr(sbinfo->si_mntflags, PLINK); + break; + case Opt_list_plink: + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_list(sb); + break; + + case Opt_dio: + au_opt_set(sbinfo->si_mntflags, DIO); + au_fset_opts(opts->flags, REFRESH_DYAOP); + break; + case Opt_nodio: + au_opt_clr(sbinfo->si_mntflags, DIO); + au_fset_opts(opts->flags, REFRESH_DYAOP); + break; + + case Opt_fhsm_sec: + au_fhsm_set(sbinfo, opt->fhsm_second); + break; + + case Opt_diropq_a: + au_opt_set(sbinfo->si_mntflags, ALWAYS_DIROPQ); + break; + case Opt_diropq_w: + au_opt_clr(sbinfo->si_mntflags, ALWAYS_DIROPQ); + break; + + case Opt_warn_perm: + au_opt_set(sbinfo->si_mntflags, WARN_PERM); + break; + case Opt_nowarn_perm: + au_opt_clr(sbinfo->si_mntflags, WARN_PERM); + break; + + case Opt_verbose: + au_opt_set(sbinfo->si_mntflags, VERBOSE); + break; + case Opt_noverbose: + au_opt_clr(sbinfo->si_mntflags, VERBOSE); + break; + + case Opt_sum: + au_opt_set(sbinfo->si_mntflags, SUM); + break; + case Opt_wsum: + au_opt_clr(sbinfo->si_mntflags, SUM); + au_opt_set(sbinfo->si_mntflags, SUM_W); + break; + case Opt_nosum: + au_opt_clr(sbinfo->si_mntflags, SUM); + au_opt_clr(sbinfo->si_mntflags, SUM_W); + break; + + case Opt_wbr_create: + err = au_opt_wbr_create(sb, &opt->wbr_create); + break; + case Opt_wbr_copyup: + sbinfo->si_wbr_copyup = opt->wbr_copyup; + sbinfo->si_wbr_copyup_ops = au_wbr_copyup_ops + opt->wbr_copyup; + break; + + case Opt_dirwh: + sbinfo->si_dirwh = opt->dirwh; + break; + + case Opt_rdcache: + sbinfo->si_rdcache + = msecs_to_jiffies(opt->rdcache * MSEC_PER_SEC); + break; + case Opt_rdblk: + sbinfo->si_rdblk = opt->rdblk; + break; + case Opt_rdblk_def: + sbinfo->si_rdblk = AUFS_RDBLK_DEF; + break; + case Opt_rdhash: + sbinfo->si_rdhash = opt->rdhash; + break; + case Opt_rdhash_def: + sbinfo->si_rdhash = AUFS_RDHASH_DEF; + break; + + case Opt_shwh: + au_opt_set(sbinfo->si_mntflags, SHWH); + break; + case Opt_noshwh: + au_opt_clr(sbinfo->si_mntflags, SHWH); + break; + + case Opt_dirperm1: + au_opt_set(sbinfo->si_mntflags, DIRPERM1); + break; + case Opt_nodirperm1: + au_opt_clr(sbinfo->si_mntflags, DIRPERM1); + break; + + case Opt_trunc_xino: + au_opt_set(sbinfo->si_mntflags, TRUNC_XINO); + break; + case Opt_notrunc_xino: + au_opt_clr(sbinfo->si_mntflags, TRUNC_XINO); + break; + + case Opt_trunc_xino_path: + case Opt_itrunc_xino: + err = au_xino_trunc(sb, opt->xino_itrunc.bindex, + /*idx_begin*/0); + if (!err) + err = 1; + break; + + case Opt_trunc_xib: + au_fset_opts(opts->flags, TRUNC_XIB); + break; + case Opt_notrunc_xib: + au_fclr_opts(opts->flags, TRUNC_XIB); + break; + + case Opt_dirren: + err = 1; + if (!au_opt_test(sbinfo->si_mntflags, DIRREN)) { + err = au_dr_opt_set(sb); + if (!err) + err = 1; + } + if (err == 1) + au_opt_set(sbinfo->si_mntflags, DIRREN); + break; + case Opt_nodirren: + err = 1; + if (au_opt_test(sbinfo->si_mntflags, DIRREN)) { + err = au_dr_opt_clr(sb, au_ftest_opts(opts->flags, + DR_FLUSHED)); + if (!err) + err = 1; + } + if (err == 1) + au_opt_clr(sbinfo->si_mntflags, DIRREN); + break; + + case Opt_acl: + sb->s_flags |= SB_POSIXACL; + break; + case Opt_noacl: + sb->s_flags &= ~SB_POSIXACL; + break; + + default: + err = 0; + break; + } + + return err; +} + +/* + * returns tri-state. + * plus: processed without an error + * zero: unprocessed + * minus: error + */ +static int au_opt_br(struct super_block *sb, struct au_opt *opt, + struct au_opts *opts) +{ + int err, do_refresh; + + err = 0; + switch (opt->type) { + case Opt_append: + opt->add.bindex = au_sbbot(sb) + 1; + if (opt->add.bindex < 0) + opt->add.bindex = 0; + goto add; + /* Always goto add, not fallthrough */ + case Opt_prepend: + opt->add.bindex = 0; + /* fallthrough */ + add: /* indented label */ + case Opt_add: + err = au_br_add(sb, &opt->add, + au_ftest_opts(opts->flags, REMOUNT)); + if (!err) { + err = 1; + au_fset_opts(opts->flags, REFRESH); + } + break; + + case Opt_del: + case Opt_idel: + err = au_br_del(sb, &opt->del, + au_ftest_opts(opts->flags, REMOUNT)); + if (!err) { + err = 1; + au_fset_opts(opts->flags, TRUNC_XIB); + au_fset_opts(opts->flags, REFRESH); + } + break; + + case Opt_mod: + case Opt_imod: + err = au_br_mod(sb, &opt->mod, + au_ftest_opts(opts->flags, REMOUNT), + &do_refresh); + if (!err) { + err = 1; + if (do_refresh) + au_fset_opts(opts->flags, REFRESH); + } + break; + } + return err; +} + +static int au_opt_xino(struct super_block *sb, struct au_opt *opt, + struct au_opt_xino **opt_xino, + struct au_opts *opts) +{ + int err; + + err = 0; + switch (opt->type) { + case Opt_xino: + err = au_xino_set(sb, &opt->xino, + !!au_ftest_opts(opts->flags, REMOUNT)); + if (unlikely(err)) + break; + + *opt_xino = &opt->xino; + break; + + case Opt_noxino: + au_xino_clr(sb); + *opt_xino = (void *)-1; + break; + } + + return err; +} + +int au_opts_verify(struct super_block *sb, unsigned long sb_flags, + unsigned int pending) +{ + int err, fhsm; + aufs_bindex_t bindex, bbot; + unsigned char do_plink, skip, do_free, can_no_dreval; + struct au_branch *br; + struct au_wbr *wbr; + struct dentry *root, *dentry; + struct inode *dir, *h_dir; + struct au_sbinfo *sbinfo; + struct au_hinode *hdir; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!(sbinfo->si_mntflags & AuOptMask_UDBA)); + + if (!(sb_flags & SB_RDONLY)) { + if (unlikely(!au_br_writable(au_sbr_perm(sb, 0)))) + pr_warn("first branch should be rw\n"); + if (unlikely(au_opt_test(sbinfo->si_mntflags, SHWH))) + pr_warn_once("shwh should be used with ro\n"); + } + + if (au_opt_test((sbinfo->si_mntflags | pending), UDBA_HNOTIFY) + && !au_opt_test(sbinfo->si_mntflags, XINO)) + pr_warn_once("udba=*notify requires xino\n"); + + if (au_opt_test(sbinfo->si_mntflags, DIRPERM1)) + pr_warn_once("dirperm1 breaks the protection" + " by the permission bits on the lower branch\n"); + + err = 0; + fhsm = 0; + root = sb->s_root; + dir = d_inode(root); + do_plink = !!au_opt_test(sbinfo->si_mntflags, PLINK); + can_no_dreval = !!au_opt_test((sbinfo->si_mntflags | pending), + UDBA_NONE); + bbot = au_sbbot(sb); + for (bindex = 0; !err && bindex <= bbot; bindex++) { + skip = 0; + h_dir = au_h_iptr(dir, bindex); + br = au_sbr(sb, bindex); + + if ((br->br_perm & AuBrAttr_ICEX) + && !h_dir->i_op->listxattr) + br->br_perm &= ~AuBrAttr_ICEX; +#if 0 /* untested */ + if ((br->br_perm & AuBrAttr_ICEX_SEC) + && (au_br_sb(br)->s_flags & SB_NOSEC)) + br->br_perm &= ~AuBrAttr_ICEX_SEC; +#endif + + do_free = 0; + wbr = br->br_wbr; + if (wbr) + wbr_wh_read_lock(wbr); + + if (!au_br_writable(br->br_perm)) { + do_free = !!wbr; + skip = (!wbr + || (!wbr->wbr_whbase + && !wbr->wbr_plink + && !wbr->wbr_orph)); + } else if (!au_br_wh_linkable(br->br_perm)) { + /* skip = (!br->br_whbase && !br->br_orph); */ + skip = (!wbr || !wbr->wbr_whbase); + if (skip && wbr) { + if (do_plink) + skip = !!wbr->wbr_plink; + else + skip = !wbr->wbr_plink; + } + } else { + /* skip = (br->br_whbase && br->br_ohph); */ + skip = (wbr && wbr->wbr_whbase); + if (skip) { + if (do_plink) + skip = !!wbr->wbr_plink; + else + skip = !wbr->wbr_plink; + } + } + if (wbr) + wbr_wh_read_unlock(wbr); + + if (can_no_dreval) { + dentry = br->br_path.dentry; + spin_lock(&dentry->d_lock); + if (dentry->d_flags & + (DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE)) + can_no_dreval = 0; + spin_unlock(&dentry->d_lock); + } + + if (au_br_fhsm(br->br_perm)) { + fhsm++; + AuDebugOn(!br->br_fhsm); + } + + if (skip) + continue; + + hdir = au_hi(dir, bindex); + au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT); + if (wbr) + wbr_wh_write_lock(wbr); + err = au_wh_init(br, sb); + if (wbr) + wbr_wh_write_unlock(wbr); + au_hn_inode_unlock(hdir); + + if (!err && do_free) { + au_kfree_rcu(wbr); + br->br_wbr = NULL; + } + } + + if (can_no_dreval) + au_fset_si(sbinfo, NO_DREVAL); + else + au_fclr_si(sbinfo, NO_DREVAL); + + if (fhsm >= 2) { + au_fset_si(sbinfo, FHSM); + for (bindex = bbot; bindex >= 0; bindex--) { + br = au_sbr(sb, bindex); + if (au_br_fhsm(br->br_perm)) { + au_fhsm_set_bottom(sb, bindex); + break; + } + } + } else { + au_fclr_si(sbinfo, FHSM); + au_fhsm_set_bottom(sb, -1); + } + + return err; +} + +int au_opts_mount(struct super_block *sb, struct au_opts *opts) +{ + int err; + unsigned int tmp; + aufs_bindex_t bindex, bbot; + struct au_opt *opt; + struct au_opt_xino *opt_xino, xino; + struct au_sbinfo *sbinfo; + struct au_branch *br; + struct inode *dir; + + SiMustWriteLock(sb); + + err = 0; + opt_xino = NULL; + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) + err = au_opt_simple(sb, opt++, opts); + if (err > 0) + err = 0; + else if (unlikely(err < 0)) + goto out; + + /* disable xino and udba temporary */ + sbinfo = au_sbi(sb); + tmp = sbinfo->si_mntflags; + au_opt_clr(sbinfo->si_mntflags, XINO); + au_opt_set_udba(sbinfo->si_mntflags, UDBA_REVAL); + + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) + err = au_opt_br(sb, opt++, opts); + if (err > 0) + err = 0; + else if (unlikely(err < 0)) + goto out; + + bbot = au_sbbot(sb); + if (unlikely(bbot < 0)) { + err = -EINVAL; + pr_err("no branches\n"); + goto out; + } + + if (au_opt_test(tmp, XINO)) + au_opt_set(sbinfo->si_mntflags, XINO); + opt = opts->opt; + while (!err && opt->type != Opt_tail) + err = au_opt_xino(sb, opt++, &opt_xino, opts); + if (unlikely(err)) + goto out; + + err = au_opts_verify(sb, sb->s_flags, tmp); + if (unlikely(err)) + goto out; + + /* restore xino */ + if (au_opt_test(tmp, XINO) && !opt_xino) { + xino.file = au_xino_def(sb); + err = PTR_ERR(xino.file); + if (IS_ERR(xino.file)) + goto out; + + err = au_xino_set(sb, &xino, /*remount*/0); + fput(xino.file); + if (unlikely(err)) + goto out; + } + + /* restore udba */ + tmp &= AuOptMask_UDBA; + sbinfo->si_mntflags &= ~AuOptMask_UDBA; + sbinfo->si_mntflags |= tmp; + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + err = au_hnotify_reset_br(tmp, br, br->br_perm); + if (unlikely(err)) + AuIOErr("hnotify failed on br %d, %d, ignored\n", + bindex, err); + /* go on even if err */ + } + if (au_opt_test(tmp, UDBA_HNOTIFY)) { + dir = d_inode(sb->s_root); + au_hn_reset(dir, au_hi_flags(dir, /*isdir*/1) & ~AuHi_XINO); + } + +out: + return err; +} + +int au_opts_remount(struct super_block *sb, struct au_opts *opts) +{ + int err, rerr; + unsigned char no_dreval; + struct inode *dir; + struct au_opt_xino *opt_xino; + struct au_opt *opt; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + err = au_dr_opt_flush(sb); + if (unlikely(err)) + goto out; + au_fset_opts(opts->flags, DR_FLUSHED); + + dir = d_inode(sb->s_root); + sbinfo = au_sbi(sb); + opt_xino = NULL; + opt = opts->opt; + while (err >= 0 && opt->type != Opt_tail) { + err = au_opt_simple(sb, opt, opts); + if (!err) + err = au_opt_br(sb, opt, opts); + if (!err) + err = au_opt_xino(sb, opt, &opt_xino, opts); + opt++; + } + if (err > 0) + err = 0; + AuTraceErr(err); + /* go on even err */ + + no_dreval = !!au_ftest_si(sbinfo, NO_DREVAL); + rerr = au_opts_verify(sb, opts->sb_flags, /*pending*/0); + if (unlikely(rerr && !err)) + err = rerr; + + if (no_dreval != !!au_ftest_si(sbinfo, NO_DREVAL)) + au_fset_opts(opts->flags, REFRESH_IDOP); + + if (au_ftest_opts(opts->flags, TRUNC_XIB)) { + rerr = au_xib_trunc(sb); + if (unlikely(rerr && !err)) + err = rerr; + } + + /* will be handled by the caller */ + if (!au_ftest_opts(opts->flags, REFRESH) + && (opts->given_udba + || au_opt_test(sbinfo->si_mntflags, XINO) + || au_ftest_opts(opts->flags, REFRESH_IDOP) + )) + au_fset_opts(opts->flags, REFRESH); + + AuDbg("status 0x%x\n", opts->flags); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +unsigned int au_opt_udba(struct super_block *sb) +{ + return au_mntflags(sb) & AuOptMask_UDBA; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/opts.h +++ linux-riscv-5.8-5.8.0/fs/aufs/opts.h @@ -0,0 +1,225 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * mount options/flags + */ + +#ifndef __AUFS_OPTS_H__ +#define __AUFS_OPTS_H__ + +#ifdef __KERNEL__ + +#include + +struct file; + +/* ---------------------------------------------------------------------- */ + +/* mount flags */ +#define AuOpt_XINO 1 /* external inode number bitmap + and translation table */ +#define AuOpt_TRUNC_XINO (1 << 1) /* truncate xino files */ +#define AuOpt_UDBA_NONE (1 << 2) /* users direct branch access */ +#define AuOpt_UDBA_REVAL (1 << 3) +#define AuOpt_UDBA_HNOTIFY (1 << 4) +#define AuOpt_SHWH (1 << 5) /* show whiteout */ +#define AuOpt_PLINK (1 << 6) /* pseudo-link */ +#define AuOpt_DIRPERM1 (1 << 7) /* ignore the lower dir's perm + bits */ +#define AuOpt_ALWAYS_DIROPQ (1 << 9) /* policy to creating diropq */ +#define AuOpt_SUM (1 << 10) /* summation for statfs(2) */ +#define AuOpt_SUM_W (1 << 11) /* unimplemented */ +#define AuOpt_WARN_PERM (1 << 12) /* warn when add-branch */ +#define AuOpt_VERBOSE (1 << 13) /* print the cause of error */ +#define AuOpt_DIO (1 << 14) /* direct io */ +#define AuOpt_DIRREN (1 << 15) /* directory rename */ + +#ifndef CONFIG_AUFS_HNOTIFY +#undef AuOpt_UDBA_HNOTIFY +#define AuOpt_UDBA_HNOTIFY 0 +#endif +#ifndef CONFIG_AUFS_DIRREN +#undef AuOpt_DIRREN +#define AuOpt_DIRREN 0 +#endif +#ifndef CONFIG_AUFS_SHWH +#undef AuOpt_SHWH +#define AuOpt_SHWH 0 +#endif + +#define AuOpt_Def (AuOpt_XINO \ + | AuOpt_UDBA_REVAL \ + | AuOpt_PLINK \ + /* | AuOpt_DIRPERM1 */ \ + | AuOpt_WARN_PERM) +#define AuOptMask_UDBA (AuOpt_UDBA_NONE \ + | AuOpt_UDBA_REVAL \ + | AuOpt_UDBA_HNOTIFY) + +#define au_opt_test(flags, name) (flags & AuOpt_##name) +#define au_opt_set(flags, name) do { \ + BUILD_BUG_ON(AuOpt_##name & AuOptMask_UDBA); \ + ((flags) |= AuOpt_##name); \ +} while (0) +#define au_opt_set_udba(flags, name) do { \ + (flags) &= ~AuOptMask_UDBA; \ + ((flags) |= AuOpt_##name); \ +} while (0) +#define au_opt_clr(flags, name) do { \ + ((flags) &= ~AuOpt_##name); \ +} while (0) + +static inline unsigned int au_opts_plink(unsigned int mntflags) +{ +#ifdef CONFIG_PROC_FS + return mntflags; +#else + return mntflags & ~AuOpt_PLINK; +#endif +} + +/* ---------------------------------------------------------------------- */ + +/* policies to select one among multiple writable branches */ +enum { + AuWbrCreate_TDP, /* top down parent */ + AuWbrCreate_RR, /* round robin */ + AuWbrCreate_MFS, /* most free space */ + AuWbrCreate_MFSV, /* mfs with seconds */ + AuWbrCreate_MFSRR, /* mfs then rr */ + AuWbrCreate_MFSRRV, /* mfs then rr with seconds */ + AuWbrCreate_TDMFS, /* top down regardless parent and mfs */ + AuWbrCreate_TDMFSV, /* top down regardless parent and mfs */ + AuWbrCreate_PMFS, /* parent and mfs */ + AuWbrCreate_PMFSV, /* parent and mfs with seconds */ + AuWbrCreate_PMFSRR, /* parent, mfs and round-robin */ + AuWbrCreate_PMFSRRV, /* plus seconds */ + + AuWbrCreate_Def = AuWbrCreate_TDP +}; + +enum { + AuWbrCopyup_TDP, /* top down parent */ + AuWbrCopyup_BUP, /* bottom up parent */ + AuWbrCopyup_BU, /* bottom up */ + + AuWbrCopyup_Def = AuWbrCopyup_TDP +}; + +/* ---------------------------------------------------------------------- */ + +struct au_opt_add { + aufs_bindex_t bindex; + char *pathname; + int perm; + struct path path; +}; + +struct au_opt_del { + char *pathname; + struct path h_path; +}; + +struct au_opt_mod { + char *path; + int perm; + struct dentry *h_root; +}; + +struct au_opt_xino { + char *path; + struct file *file; +}; + +struct au_opt_xino_itrunc { + aufs_bindex_t bindex; +}; + +struct au_opt_wbr_create { + int wbr_create; + int mfs_second; + unsigned long long mfsrr_watermark; +}; + +struct au_opt { + int type; + union { + struct au_opt_xino xino; + struct au_opt_xino_itrunc xino_itrunc; + struct au_opt_add add; + struct au_opt_del del; + struct au_opt_mod mod; + int dirwh; + int rdcache; + unsigned int rdblk; + unsigned int rdhash; + int udba; + struct au_opt_wbr_create wbr_create; + int wbr_copyup; + unsigned int fhsm_second; + }; +}; + +/* opts flags */ +#define AuOpts_REMOUNT 1 +#define AuOpts_REFRESH (1 << 1) +#define AuOpts_TRUNC_XIB (1 << 2) +#define AuOpts_REFRESH_DYAOP (1 << 3) +#define AuOpts_REFRESH_IDOP (1 << 4) +#define AuOpts_DR_FLUSHED (1 << 5) +#define au_ftest_opts(flags, name) ((flags) & AuOpts_##name) +#define au_fset_opts(flags, name) \ + do { (flags) |= AuOpts_##name; } while (0) +#define au_fclr_opts(flags, name) \ + do { (flags) &= ~AuOpts_##name; } while (0) + +#ifndef CONFIG_AUFS_DIRREN +#undef AuOpts_DR_FLUSHED +#define AuOpts_DR_FLUSHED 0 +#endif + +struct au_opts { + struct au_opt *opt; + int max_opt; + + unsigned int given_udba; + unsigned int flags; + unsigned long sb_flags; +}; + +/* ---------------------------------------------------------------------- */ + +/* opts.c */ +void au_optstr_br_perm(au_br_perm_str_t *str, int perm); +const char *au_optstr_udba(int udba); +const char *au_optstr_wbr_copyup(int wbr_copyup); +const char *au_optstr_wbr_create(int wbr_create); + +void au_opts_free(struct au_opts *opts); +struct super_block; +int au_opts_parse(struct super_block *sb, char *str, struct au_opts *opts); +int au_opts_verify(struct super_block *sb, unsigned long sb_flags, + unsigned int pending); +int au_opts_mount(struct super_block *sb, struct au_opts *opts); +int au_opts_remount(struct super_block *sb, struct au_opts *opts); + +unsigned int au_opt_udba(struct super_block *sb); + +#endif /* __KERNEL__ */ +#endif /* __AUFS_OPTS_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/plink.c +++ linux-riscv-5.8-5.8.0/fs/aufs/plink.c @@ -0,0 +1,516 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * pseudo-link + */ + +#include "aufs.h" + +/* + * the pseudo-link maintenance mode. + * during a user process maintains the pseudo-links, + * prohibit adding a new plink and branch manipulation. + * + * Flags + * NOPLM: + * For entry functions which will handle plink, and i_mutex is already held + * in VFS. + * They cannot wait and should return an error at once. + * Callers has to check the error. + * NOPLMW: + * For entry functions which will handle plink, but i_mutex is not held + * in VFS. + * They can wait the plink maintenance mode to finish. + * + * They behave like F_SETLK and F_SETLKW. + * If the caller never handle plink, then both flags are unnecessary. + */ + +int au_plink_maint(struct super_block *sb, int flags) +{ + int err; + pid_t pid, ppid; + struct task_struct *parent, *prev; + struct au_sbinfo *sbi; + + SiMustAnyLock(sb); + + err = 0; + if (!au_opt_test(au_mntflags(sb), PLINK)) + goto out; + + sbi = au_sbi(sb); + pid = sbi->si_plink_maint_pid; + if (!pid || pid == current->pid) + goto out; + + /* todo: it highly depends upon /sbin/mount.aufs */ + prev = NULL; + parent = current; + ppid = 0; + rcu_read_lock(); + while (1) { + parent = rcu_dereference(parent->real_parent); + if (parent == prev) + break; + ppid = task_pid_vnr(parent); + if (pid == ppid) { + rcu_read_unlock(); + goto out; + } + prev = parent; + } + rcu_read_unlock(); + + if (au_ftest_lock(flags, NOPLMW)) { + /* if there is no i_mutex lock in VFS, we don't need to wait */ + /* AuDebugOn(!lockdep_depth(current)); */ + while (sbi->si_plink_maint_pid) { + si_read_unlock(sb); + /* gave up wake_up_bit() */ + wait_event(sbi->si_plink_wq, !sbi->si_plink_maint_pid); + + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&sbi->si_nowait); + si_noflush_read_lock(sb); + } + } else if (au_ftest_lock(flags, NOPLM)) { + AuDbg("ppid %d, pid %d\n", ppid, pid); + err = -EAGAIN; + } + +out: + return err; +} + +void au_plink_maint_leave(struct au_sbinfo *sbinfo) +{ + spin_lock(&sbinfo->si_plink_maint_lock); + sbinfo->si_plink_maint_pid = 0; + spin_unlock(&sbinfo->si_plink_maint_lock); + wake_up_all(&sbinfo->si_plink_wq); +} + +int au_plink_maint_enter(struct super_block *sb) +{ + int err; + struct au_sbinfo *sbinfo; + + err = 0; + sbinfo = au_sbi(sb); + /* make sure i am the only one in this fs */ + si_write_lock(sb, AuLock_FLUSH); + if (au_opt_test(au_mntflags(sb), PLINK)) { + spin_lock(&sbinfo->si_plink_maint_lock); + if (!sbinfo->si_plink_maint_pid) + sbinfo->si_plink_maint_pid = current->pid; + else + err = -EBUSY; + spin_unlock(&sbinfo->si_plink_maint_lock); + } + si_write_unlock(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_DEBUG +void au_plink_list(struct super_block *sb) +{ + int i; + struct au_sbinfo *sbinfo; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_icntnr *icntnr; + + SiMustAnyLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + for (i = 0; i < AuPlink_NHASH; i++) { + hbl = sbinfo->si_plink + i; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(icntnr, pos, hbl, plink) + AuDbg("%lu\n", icntnr->vfs_inode.i_ino); + hlist_bl_unlock(hbl); + } +} +#endif + +/* is the inode pseudo-linked? */ +int au_plink_test(struct inode *inode) +{ + int found, i; + struct au_sbinfo *sbinfo; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_icntnr *icntnr; + + sbinfo = au_sbi(inode->i_sb); + AuRwMustAnyLock(&sbinfo->si_rwsem); + AuDebugOn(!au_opt_test(au_mntflags(inode->i_sb), PLINK)); + AuDebugOn(au_plink_maint(inode->i_sb, AuLock_NOPLM)); + + found = 0; + i = au_plink_hash(inode->i_ino); + hbl = sbinfo->si_plink + i; + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(icntnr, pos, hbl, plink) + if (&icntnr->vfs_inode == inode) { + found = 1; + break; + } + hlist_bl_unlock(hbl); + return found; +} + +/* ---------------------------------------------------------------------- */ + +/* + * generate a name for plink. + * the file will be stored under AUFS_WH_PLINKDIR. + */ +/* 20 is max digits length of ulong 64 */ +#define PLINK_NAME_LEN ((20 + 1) * 2) + +static int plink_name(char *name, int len, struct inode *inode, + aufs_bindex_t bindex) +{ + int rlen; + struct inode *h_inode; + + h_inode = au_h_iptr(inode, bindex); + rlen = snprintf(name, len, "%lu.%lu", inode->i_ino, h_inode->i_ino); + return rlen; +} + +struct au_do_plink_lkup_args { + struct dentry **errp; + struct qstr *tgtname; + struct dentry *h_parent; + struct au_branch *br; +}; + +static struct dentry *au_do_plink_lkup(struct qstr *tgtname, + struct dentry *h_parent, + struct au_branch *br) +{ + struct dentry *h_dentry; + struct inode *h_inode; + + h_inode = d_inode(h_parent); + inode_lock_shared_nested(h_inode, AuLsc_I_CHILD2); + h_dentry = vfsub_lkup_one(tgtname, h_parent); + inode_unlock_shared(h_inode); + return h_dentry; +} + +static void au_call_do_plink_lkup(void *args) +{ + struct au_do_plink_lkup_args *a = args; + *a->errp = au_do_plink_lkup(a->tgtname, a->h_parent, a->br); +} + +/* lookup the plink-ed @inode under the branch at @bindex */ +struct dentry *au_plink_lkup(struct inode *inode, aufs_bindex_t bindex) +{ + struct dentry *h_dentry, *h_parent; + struct au_branch *br; + int wkq_err; + char a[PLINK_NAME_LEN]; + struct qstr tgtname = QSTR_INIT(a, 0); + + AuDebugOn(au_plink_maint(inode->i_sb, AuLock_NOPLM)); + + br = au_sbr(inode->i_sb, bindex); + h_parent = br->br_wbr->wbr_plink; + tgtname.len = plink_name(a, sizeof(a), inode, bindex); + + if (!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) { + struct au_do_plink_lkup_args args = { + .errp = &h_dentry, + .tgtname = &tgtname, + .h_parent = h_parent, + .br = br + }; + + wkq_err = au_wkq_wait(au_call_do_plink_lkup, &args); + if (unlikely(wkq_err)) + h_dentry = ERR_PTR(wkq_err); + } else + h_dentry = au_do_plink_lkup(&tgtname, h_parent, br); + + return h_dentry; +} + +/* create a pseudo-link */ +static int do_whplink(struct qstr *tgt, struct dentry *h_parent, + struct dentry *h_dentry, struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = au_br_mnt(br) + }; + struct inode *h_dir, *delegated; + + h_dir = d_inode(h_parent); + inode_lock_nested(h_dir, AuLsc_I_CHILD2); +again: + h_path.dentry = vfsub_lkup_one(tgt, h_parent); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + err = 0; + /* wh.plink dir is not monitored */ + /* todo: is it really safe? */ + if (d_is_positive(h_path.dentry) + && d_inode(h_path.dentry) != d_inode(h_dentry)) { + delegated = NULL; + err = vfsub_unlink(h_dir, &h_path, &delegated, /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + dput(h_path.dentry); + h_path.dentry = NULL; + if (!err) + goto again; + } + if (!err && d_is_negative(h_path.dentry)) { + delegated = NULL; + err = vfsub_link(h_dentry, h_dir, &h_path, &delegated); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + } + dput(h_path.dentry); + +out: + inode_unlock(h_dir); + return err; +} + +struct do_whplink_args { + int *errp; + struct qstr *tgt; + struct dentry *h_parent; + struct dentry *h_dentry; + struct au_branch *br; +}; + +static void call_do_whplink(void *args) +{ + struct do_whplink_args *a = args; + *a->errp = do_whplink(a->tgt, a->h_parent, a->h_dentry, a->br); +} + +static int whplink(struct dentry *h_dentry, struct inode *inode, + aufs_bindex_t bindex, struct au_branch *br) +{ + int err, wkq_err; + struct au_wbr *wbr; + struct dentry *h_parent; + char a[PLINK_NAME_LEN]; + struct qstr tgtname = QSTR_INIT(a, 0); + + wbr = au_sbr(inode->i_sb, bindex)->br_wbr; + h_parent = wbr->wbr_plink; + tgtname.len = plink_name(a, sizeof(a), inode, bindex); + + /* always superio. */ + if (!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)) { + struct do_whplink_args args = { + .errp = &err, + .tgt = &tgtname, + .h_parent = h_parent, + .h_dentry = h_dentry, + .br = br + }; + wkq_err = au_wkq_wait(call_do_whplink, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } else + err = do_whplink(&tgtname, h_parent, h_dentry, br); + + return err; +} + +/* + * create a new pseudo-link for @h_dentry on @bindex. + * the linked inode is held in aufs @inode. + */ +void au_plink_append(struct inode *inode, aufs_bindex_t bindex, + struct dentry *h_dentry) +{ + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_icntnr *icntnr; + int found, err, cnt, i; + + sb = inode->i_sb; + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + found = au_plink_test(inode); + if (found) + return; + + i = au_plink_hash(inode->i_ino); + hbl = sbinfo->si_plink + i; + au_igrab(inode); + + hlist_bl_lock(hbl); + hlist_bl_for_each_entry(icntnr, pos, hbl, plink) { + if (&icntnr->vfs_inode == inode) { + found = 1; + break; + } + } + if (!found) { + icntnr = container_of(inode, struct au_icntnr, vfs_inode); + hlist_bl_add_head(&icntnr->plink, hbl); + } + hlist_bl_unlock(hbl); + if (!found) { + cnt = au_hbl_count(hbl); +#define msg "unexpectedly unbalanced or too many pseudo-links" + if (cnt > AUFS_PLINK_WARN) + AuWarn1(msg ", %d\n", cnt); +#undef msg + err = whplink(h_dentry, inode, bindex, au_sbr(sb, bindex)); + if (unlikely(err)) { + pr_warn("err %d, damaged pseudo link.\n", err); + au_hbl_del(&icntnr->plink, hbl); + iput(&icntnr->vfs_inode); + } + } else + iput(&icntnr->vfs_inode); +} + +/* free all plinks */ +void au_plink_put(struct super_block *sb, int verbose) +{ + int i, warned; + struct au_sbinfo *sbinfo; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos, *tmp; + struct au_icntnr *icntnr; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + /* no spin_lock since sbinfo is write-locked */ + warned = 0; + for (i = 0; i < AuPlink_NHASH; i++) { + hbl = sbinfo->si_plink + i; + if (!warned && verbose && !hlist_bl_empty(hbl)) { + pr_warn("pseudo-link is not flushed"); + warned = 1; + } + hlist_bl_for_each_entry_safe(icntnr, pos, tmp, hbl, plink) + iput(&icntnr->vfs_inode); + INIT_HLIST_BL_HEAD(hbl); + } +} + +void au_plink_clean(struct super_block *sb, int verbose) +{ + struct dentry *root; + + root = sb->s_root; + aufs_write_lock(root); + if (au_opt_test(au_mntflags(sb), PLINK)) + au_plink_put(sb, verbose); + aufs_write_unlock(root); +} + +static int au_plink_do_half_refresh(struct inode *inode, aufs_bindex_t br_id) +{ + int do_put; + aufs_bindex_t btop, bbot, bindex; + + do_put = 0; + btop = au_ibtop(inode); + bbot = au_ibbot(inode); + if (btop >= 0) { + for (bindex = btop; bindex <= bbot; bindex++) { + if (!au_h_iptr(inode, bindex) + || au_ii_br_id(inode, bindex) != br_id) + continue; + au_set_h_iptr(inode, bindex, NULL, 0); + do_put = 1; + break; + } + if (do_put) + for (bindex = btop; bindex <= bbot; bindex++) + if (au_h_iptr(inode, bindex)) { + do_put = 0; + break; + } + } else + do_put = 1; + + return do_put; +} + +/* free the plinks on a branch specified by @br_id */ +void au_plink_half_refresh(struct super_block *sb, aufs_bindex_t br_id) +{ + struct au_sbinfo *sbinfo; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos, *tmp; + struct au_icntnr *icntnr; + struct inode *inode; + int i, do_put; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + AuDebugOn(!au_opt_test(au_mntflags(sb), PLINK)); + AuDebugOn(au_plink_maint(sb, AuLock_NOPLM)); + + /* no bit_lock since sbinfo is write-locked */ + for (i = 0; i < AuPlink_NHASH; i++) { + hbl = sbinfo->si_plink + i; + hlist_bl_for_each_entry_safe(icntnr, pos, tmp, hbl, plink) { + inode = au_igrab(&icntnr->vfs_inode); + ii_write_lock_child(inode); + do_put = au_plink_do_half_refresh(inode, br_id); + if (do_put) { + hlist_bl_del(&icntnr->plink); + iput(inode); + } + ii_write_unlock(inode); + iput(inode); + } + } +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/poll.c +++ linux-riscv-5.8-5.8.0/fs/aufs/poll.c @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * poll operation + * There is only one filesystem which implements ->poll operation, currently. + */ + +#include "aufs.h" + +__poll_t aufs_poll(struct file *file, struct poll_table_struct *pt) +{ + __poll_t mask; + struct file *h_file; + struct super_block *sb; + + /* We should pretend an error happened. */ + mask = EPOLLERR /* | EPOLLIN | EPOLLOUT */; + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLMW); + + h_file = au_read_pre(file, /*keep_fi*/0, /*lsc*/0); + if (IS_ERR(h_file)) { + AuDbg("h_file %ld\n", PTR_ERR(h_file)); + goto out; + } + + mask = vfs_poll(h_file, pt); + fput(h_file); /* instead of au_read_post() */ + +out: + si_read_unlock(sb); + if (mask & EPOLLERR) + AuDbg("mask 0x%x\n", mask); + return mask; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/posix_acl.c +++ linux-riscv-5.8-5.8.0/fs/aufs/posix_acl.c @@ -0,0 +1,105 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2014-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * posix acl operations + */ + +#include +#include "aufs.h" + +struct posix_acl *aufs_get_acl(struct inode *inode, int type) +{ + struct posix_acl *acl; + int err; + aufs_bindex_t bindex; + struct inode *h_inode; + struct super_block *sb; + + acl = NULL; + sb = inode->i_sb; + si_read_lock(sb, AuLock_FLUSH); + ii_read_lock_child(inode); + if (!(sb->s_flags & SB_POSIXACL)) + goto out; + + bindex = au_ibtop(inode); + h_inode = au_h_iptr(inode, bindex); + if (unlikely(!h_inode + || ((h_inode->i_mode & S_IFMT) + != (inode->i_mode & S_IFMT)))) { + err = au_busy_or_stale(); + acl = ERR_PTR(err); + goto out; + } + + /* always topmost only */ + acl = get_acl(h_inode, type); + if (IS_ERR(acl)) + forget_cached_acl(inode, type); + else + set_cached_acl(inode, type, acl); + +out: + ii_read_unlock(inode); + si_read_unlock(sb); + + AuTraceErrPtr(acl); + return acl; +} + +int aufs_set_acl(struct inode *inode, struct posix_acl *acl, int type) +{ + int err; + ssize_t ssz; + struct dentry *dentry; + struct au_sxattr arg = { + .type = AU_ACL_SET, + .u.acl_set = { + .acl = acl, + .type = type + }, + }; + + IMustLock(inode); + + if (inode->i_ino == AUFS_ROOT_INO) + dentry = dget(inode->i_sb->s_root); + else { + dentry = d_find_alias(inode); + if (!dentry) + dentry = d_find_any_alias(inode); + if (!dentry) { + pr_warn("cannot handle this inode, " + "please report to aufs-users ML\n"); + err = -ENOENT; + goto out; + } + } + + ssz = au_sxattr(dentry, inode, &arg); + /* forget even it if succeeds since the branch might set differently */ + forget_cached_acl(inode, type); + dput(dentry); + err = ssz; + if (ssz >= 0) + err = 0; + +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/procfs.c +++ linux-riscv-5.8-5.8.0/fs/aufs/procfs.c @@ -0,0 +1,170 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2010-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * procfs interfaces + */ + +#include +#include "aufs.h" + +static int au_procfs_plm_release(struct inode *inode, struct file *file) +{ + struct au_sbinfo *sbinfo; + + sbinfo = file->private_data; + if (sbinfo) { + au_plink_maint_leave(sbinfo); + kobject_put(&sbinfo->si_kobj); + } + + return 0; +} + +static void au_procfs_plm_write_clean(struct file *file) +{ + struct au_sbinfo *sbinfo; + + sbinfo = file->private_data; + if (sbinfo) + au_plink_clean(sbinfo->si_sb, /*verbose*/0); +} + +static int au_procfs_plm_write_si(struct file *file, unsigned long id) +{ + int err; + struct super_block *sb; + struct au_sbinfo *sbinfo; + struct hlist_bl_node *pos; + + err = -EBUSY; + if (unlikely(file->private_data)) + goto out; + + sb = NULL; + /* don't use au_sbilist_lock() here */ + hlist_bl_lock(&au_sbilist); + hlist_bl_for_each_entry(sbinfo, pos, &au_sbilist, si_list) + if (id == sysaufs_si_id(sbinfo)) { + if (kobject_get_unless_zero(&sbinfo->si_kobj)) + sb = sbinfo->si_sb; + break; + } + hlist_bl_unlock(&au_sbilist); + + err = -EINVAL; + if (unlikely(!sb)) + goto out; + + err = au_plink_maint_enter(sb); + if (!err) + /* keep kobject_get() */ + file->private_data = sbinfo; + else + kobject_put(&sbinfo->si_kobj); +out: + return err; +} + +/* + * Accept a valid "si=xxxx" only. + * Once it is accepted successfully, accept "clean" too. + */ +static ssize_t au_procfs_plm_write(struct file *file, const char __user *ubuf, + size_t count, loff_t *ppos) +{ + ssize_t err; + unsigned long id; + /* last newline is allowed */ + char buf[3 + sizeof(unsigned long) * 2 + 1]; + + err = -EACCES; + if (unlikely(!capable(CAP_SYS_ADMIN))) + goto out; + + err = -EINVAL; + if (unlikely(count > sizeof(buf))) + goto out; + + err = copy_from_user(buf, ubuf, count); + if (unlikely(err)) { + err = -EFAULT; + goto out; + } + buf[count] = 0; + + err = -EINVAL; + if (!strcmp("clean", buf)) { + au_procfs_plm_write_clean(file); + goto out_success; + } else if (unlikely(strncmp("si=", buf, 3))) + goto out; + + err = kstrtoul(buf + 3, 16, &id); + if (unlikely(err)) + goto out; + + err = au_procfs_plm_write_si(file, id); + if (unlikely(err)) + goto out; + +out_success: + err = count; /* success */ +out: + return err; +} + +static const struct proc_ops au_procfs_plm_op = { + .proc_write = au_procfs_plm_write, + .proc_release = au_procfs_plm_release +}; + +/* ---------------------------------------------------------------------- */ + +static struct proc_dir_entry *au_procfs_dir; + +void au_procfs_fin(void) +{ + remove_proc_entry(AUFS_PLINK_MAINT_NAME, au_procfs_dir); + remove_proc_entry(AUFS_PLINK_MAINT_DIR, NULL); +} + +int __init au_procfs_init(void) +{ + int err; + struct proc_dir_entry *entry; + + err = -ENOMEM; + au_procfs_dir = proc_mkdir(AUFS_PLINK_MAINT_DIR, NULL); + if (unlikely(!au_procfs_dir)) + goto out; + + entry = proc_create(AUFS_PLINK_MAINT_NAME, S_IFREG | 0200, + au_procfs_dir, &au_procfs_plm_op); + if (unlikely(!entry)) + goto out_dir; + + err = 0; + goto out; /* success */ + + +out_dir: + remove_proc_entry(AUFS_PLINK_MAINT_DIR, NULL); +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/rdu.c +++ linux-riscv-5.8-5.8.0/fs/aufs/rdu.c @@ -0,0 +1,384 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * readdir in userspace. + */ + +#include +#include +#include +#include "aufs.h" + +/* bits for struct aufs_rdu.flags */ +#define AuRdu_CALLED 1 +#define AuRdu_CONT (1 << 1) +#define AuRdu_FULL (1 << 2) +#define au_ftest_rdu(flags, name) ((flags) & AuRdu_##name) +#define au_fset_rdu(flags, name) \ + do { (flags) |= AuRdu_##name; } while (0) +#define au_fclr_rdu(flags, name) \ + do { (flags) &= ~AuRdu_##name; } while (0) + +struct au_rdu_arg { + struct dir_context ctx; + struct aufs_rdu *rdu; + union au_rdu_ent_ul ent; + unsigned long end; + + struct super_block *sb; + int err; +}; + +static int au_rdu_fill(struct dir_context *ctx, const char *name, int nlen, + loff_t offset, u64 h_ino, unsigned int d_type) +{ + int err, len; + struct au_rdu_arg *arg = container_of(ctx, struct au_rdu_arg, ctx); + struct aufs_rdu *rdu = arg->rdu; + struct au_rdu_ent ent; + + err = 0; + arg->err = 0; + au_fset_rdu(rdu->cookie.flags, CALLED); + len = au_rdu_len(nlen); + if (arg->ent.ul + len < arg->end) { + ent.ino = h_ino; + ent.bindex = rdu->cookie.bindex; + ent.type = d_type; + ent.nlen = nlen; + if (unlikely(nlen > AUFS_MAX_NAMELEN)) + ent.type = DT_UNKNOWN; + + /* unnecessary to support mmap_sem since this is a dir */ + err = -EFAULT; + if (copy_to_user(arg->ent.e, &ent, sizeof(ent))) + goto out; + if (copy_to_user(arg->ent.e->name, name, nlen)) + goto out; + /* the terminating NULL */ + if (__put_user(0, arg->ent.e->name + nlen)) + goto out; + err = 0; + /* AuDbg("%p, %.*s\n", arg->ent.p, nlen, name); */ + arg->ent.ul += len; + rdu->rent++; + } else { + err = -EFAULT; + au_fset_rdu(rdu->cookie.flags, FULL); + rdu->full = 1; + rdu->tail = arg->ent; + } + +out: + /* AuTraceErr(err); */ + return err; +} + +static int au_rdu_do(struct file *h_file, struct au_rdu_arg *arg) +{ + int err; + loff_t offset; + struct au_rdu_cookie *cookie = &arg->rdu->cookie; + + /* we don't have to care (FMODE_32BITHASH | FMODE_64BITHASH) for ext4 */ + offset = vfsub_llseek(h_file, cookie->h_pos, SEEK_SET); + err = offset; + if (unlikely(offset != cookie->h_pos)) + goto out; + + err = 0; + do { + arg->err = 0; + au_fclr_rdu(cookie->flags, CALLED); + /* smp_mb(); */ + err = vfsub_iterate_dir(h_file, &arg->ctx); + if (err >= 0) + err = arg->err; + } while (!err + && au_ftest_rdu(cookie->flags, CALLED) + && !au_ftest_rdu(cookie->flags, FULL)); + cookie->h_pos = h_file->f_pos; + +out: + AuTraceErr(err); + return err; +} + +static int au_rdu(struct file *file, struct aufs_rdu *rdu) +{ + int err; + aufs_bindex_t bbot; + struct au_rdu_arg arg = { + .ctx = { + .actor = au_rdu_fill + } + }; + struct dentry *dentry; + struct inode *inode; + struct file *h_file; + struct au_rdu_cookie *cookie = &rdu->cookie; + + /* VERIFY_WRITE */ + err = !access_ok(rdu->ent.e, rdu->sz); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + rdu->rent = 0; + rdu->tail = rdu->ent; + rdu->full = 0; + arg.rdu = rdu; + arg.ent = rdu->ent; + arg.end = arg.ent.ul; + arg.end += rdu->sz; + + err = -ENOTDIR; + if (unlikely(!file->f_op->iterate && !file->f_op->iterate_shared)) + goto out; + + err = security_file_permission(file, MAY_READ); + AuTraceErr(err); + if (unlikely(err)) + goto out; + + dentry = file->f_path.dentry; + inode = d_inode(dentry); + inode_lock_shared(inode); + + arg.sb = inode->i_sb; + err = si_read_lock(arg.sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_mtx; + err = au_alive_dir(dentry); + if (unlikely(err)) + goto out_si; + /* todo: reval? */ + fi_read_lock(file); + + err = -EAGAIN; + if (unlikely(au_ftest_rdu(cookie->flags, CONT) + && cookie->generation != au_figen(file))) + goto out_unlock; + + err = 0; + if (!rdu->blk) { + rdu->blk = au_sbi(arg.sb)->si_rdblk; + if (!rdu->blk) + rdu->blk = au_dir_size(file, /*dentry*/NULL); + } + bbot = au_fbtop(file); + if (cookie->bindex < bbot) + cookie->bindex = bbot; + bbot = au_fbbot_dir(file); + /* AuDbg("b%d, b%d\n", cookie->bindex, bbot); */ + for (; !err && cookie->bindex <= bbot; + cookie->bindex++, cookie->h_pos = 0) { + h_file = au_hf_dir(file, cookie->bindex); + if (!h_file) + continue; + + au_fclr_rdu(cookie->flags, FULL); + err = au_rdu_do(h_file, &arg); + AuTraceErr(err); + if (unlikely(au_ftest_rdu(cookie->flags, FULL) || err)) + break; + } + AuDbg("rent %llu\n", rdu->rent); + + if (!err && !au_ftest_rdu(cookie->flags, CONT)) { + rdu->shwh = !!au_opt_test(au_sbi(arg.sb)->si_mntflags, SHWH); + au_fset_rdu(cookie->flags, CONT); + cookie->generation = au_figen(file); + } + + ii_read_lock_child(inode); + fsstack_copy_attr_atime(inode, au_h_iptr(inode, au_ibtop(inode))); + ii_read_unlock(inode); + +out_unlock: + fi_read_unlock(file); +out_si: + si_read_unlock(arg.sb); +out_mtx: + inode_unlock_shared(inode); +out: + AuTraceErr(err); + return err; +} + +static int au_rdu_ino(struct file *file, struct aufs_rdu *rdu) +{ + int err; + ino_t ino; + unsigned long long nent; + union au_rdu_ent_ul *u; + struct au_rdu_ent ent; + struct super_block *sb; + + err = 0; + nent = rdu->nent; + u = &rdu->ent; + sb = file->f_path.dentry->d_sb; + si_read_lock(sb, AuLock_FLUSH); + while (nent-- > 0) { + /* unnecessary to support mmap_sem since this is a dir */ + err = copy_from_user(&ent, u->e, sizeof(ent)); + if (!err) + /* VERIFY_WRITE */ + err = !access_ok(&u->e->ino, sizeof(ino)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + break; + } + + /* AuDbg("b%d, i%llu\n", ent.bindex, ent.ino); */ + if (!ent.wh) + err = au_ino(sb, ent.bindex, ent.ino, ent.type, &ino); + else + err = au_wh_ino(sb, ent.bindex, ent.ino, ent.type, + &ino); + if (unlikely(err)) { + AuTraceErr(err); + break; + } + + err = __put_user(ino, &u->e->ino); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + break; + } + u->ul += au_rdu_len(ent.nlen); + } + si_read_unlock(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_rdu_verify(struct aufs_rdu *rdu) +{ + AuDbg("rdu{%llu, %p, %u | %u | %llu, %u, %u | " + "%llu, b%d, 0x%x, g%u}\n", + rdu->sz, rdu->ent.e, rdu->verify[AufsCtlRduV_SZ], + rdu->blk, + rdu->rent, rdu->shwh, rdu->full, + rdu->cookie.h_pos, rdu->cookie.bindex, rdu->cookie.flags, + rdu->cookie.generation); + + if (rdu->verify[AufsCtlRduV_SZ] == sizeof(*rdu)) + return 0; + + AuDbg("%u:%u\n", + rdu->verify[AufsCtlRduV_SZ], (unsigned int)sizeof(*rdu)); + return -EINVAL; +} + +long au_rdu_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err, e; + struct aufs_rdu rdu; + void __user *p = (void __user *)arg; + + err = copy_from_user(&rdu, p, sizeof(rdu)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + err = au_rdu_verify(&rdu); + if (unlikely(err)) + goto out; + + switch (cmd) { + case AUFS_CTL_RDU: + err = au_rdu(file, &rdu); + if (unlikely(err)) + break; + + e = copy_to_user(p, &rdu, sizeof(rdu)); + if (unlikely(e)) { + err = -EFAULT; + AuTraceErr(err); + } + break; + case AUFS_CTL_RDU_INO: + err = au_rdu_ino(file, &rdu); + break; + + default: + /* err = -ENOTTY; */ + err = -EINVAL; + } + +out: + AuTraceErr(err); + return err; +} + +#ifdef CONFIG_COMPAT +long au_rdu_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + long err, e; + struct aufs_rdu rdu; + void __user *p = compat_ptr(arg); + + /* todo: get_user()? */ + err = copy_from_user(&rdu, p, sizeof(rdu)); + if (unlikely(err)) { + err = -EFAULT; + AuTraceErr(err); + goto out; + } + rdu.ent.e = compat_ptr(rdu.ent.ul); + err = au_rdu_verify(&rdu); + if (unlikely(err)) + goto out; + + switch (cmd) { + case AUFS_CTL_RDU: + err = au_rdu(file, &rdu); + if (unlikely(err)) + break; + + rdu.ent.ul = ptr_to_compat(rdu.ent.e); + rdu.tail.ul = ptr_to_compat(rdu.tail.e); + e = copy_to_user(p, &rdu, sizeof(rdu)); + if (unlikely(e)) { + err = -EFAULT; + AuTraceErr(err); + } + break; + case AUFS_CTL_RDU_INO: + err = au_rdu_ino(file, &rdu); + break; + + default: + /* err = -ENOTTY; */ + err = -EINVAL; + } + +out: + AuTraceErr(err); + return err; +} +#endif --- linux-riscv-5.8-5.8.0.orig/fs/aufs/rwsem.h +++ linux-riscv-5.8-5.8.0/fs/aufs/rwsem.h @@ -0,0 +1,73 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * simple read-write semaphore wrappers + */ + +#ifndef __AUFS_RWSEM_H__ +#define __AUFS_RWSEM_H__ + +#ifdef __KERNEL__ + +#include "debug.h" + +/* in the future, the name 'au_rwsem' will be totally gone */ +#define au_rwsem rw_semaphore + +/* to debug easier, do not make them inlined functions */ +#define AuRwMustNoWaiters(rw) AuDebugOn(rwsem_is_contended(rw)) +/* rwsem_is_locked() is unusable */ +#define AuRwMustReadLock(rw) AuDebugOn(!lockdep_recursing(current) \ + && debug_locks \ + && !lockdep_is_held_type(rw, 1)) +#define AuRwMustWriteLock(rw) AuDebugOn(!lockdep_recursing(current) \ + && debug_locks \ + && !lockdep_is_held_type(rw, 0)) +#define AuRwMustAnyLock(rw) AuDebugOn(!lockdep_recursing(current) \ + && debug_locks \ + && !lockdep_is_held(rw)) +#define AuRwDestroy(rw) AuDebugOn(!lockdep_recursing(current) \ + && debug_locks \ + && lockdep_is_held(rw)) + +#define au_rw_init(rw) init_rwsem(rw) + +#define au_rw_init_wlock(rw) do { \ + au_rw_init(rw); \ + down_write(rw); \ + } while (0) + +#define au_rw_init_wlock_nested(rw, lsc) do { \ + au_rw_init(rw); \ + down_write_nested(rw, lsc); \ + } while (0) + +#define au_rw_read_lock(rw) down_read(rw) +#define au_rw_read_lock_nested(rw, lsc) down_read_nested(rw, lsc) +#define au_rw_read_unlock(rw) up_read(rw) +#define au_rw_dgrade_lock(rw) downgrade_write(rw) +#define au_rw_write_lock(rw) down_write(rw) +#define au_rw_write_lock_nested(rw, lsc) down_write_nested(rw, lsc) +#define au_rw_write_unlock(rw) up_write(rw) +/* why is not _nested version defined? */ +#define au_rw_read_trylock(rw) down_read_trylock(rw) +#define au_rw_write_trylock(rw) down_write_trylock(rw) + +#endif /* __KERNEL__ */ +#endif /* __AUFS_RWSEM_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/sbinfo.c +++ linux-riscv-5.8-5.8.0/fs/aufs/sbinfo.c @@ -0,0 +1,314 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * superblock private data + */ + +#include +#include "aufs.h" + +/* + * they are necessary regardless sysfs is disabled. + */ +void au_si_free(struct kobject *kobj) +{ + int i; + struct au_sbinfo *sbinfo; + char *locked __maybe_unused; /* debug only */ + + sbinfo = container_of(kobj, struct au_sbinfo, si_kobj); + for (i = 0; i < AuPlink_NHASH; i++) + AuDebugOn(!hlist_bl_empty(sbinfo->si_plink + i)); + AuDebugOn(atomic_read(&sbinfo->si_nowait.nw_len)); + + AuLCntZero(au_lcnt_read(&sbinfo->si_ninodes, /*do_rev*/0)); + au_lcnt_fin(&sbinfo->si_ninodes, /*do_sync*/0); + AuLCntZero(au_lcnt_read(&sbinfo->si_nfiles, /*do_rev*/0)); + au_lcnt_fin(&sbinfo->si_nfiles, /*do_sync*/0); + + dbgaufs_si_fin(sbinfo); + au_rw_write_lock(&sbinfo->si_rwsem); + au_br_free(sbinfo); + au_rw_write_unlock(&sbinfo->si_rwsem); + + au_kfree_try_rcu(sbinfo->si_branch); + mutex_destroy(&sbinfo->si_xib_mtx); + AuRwDestroy(&sbinfo->si_rwsem); + + au_lcnt_wait_for_fin(&sbinfo->si_ninodes); + /* si_nfiles is waited too */ + au_kfree_rcu(sbinfo); +} + +int au_si_alloc(struct super_block *sb) +{ + int err, i; + struct au_sbinfo *sbinfo; + + err = -ENOMEM; + sbinfo = kzalloc(sizeof(*sbinfo), GFP_NOFS); + if (unlikely(!sbinfo)) + goto out; + + /* will be reallocated separately */ + sbinfo->si_branch = kzalloc(sizeof(*sbinfo->si_branch), GFP_NOFS); + if (unlikely(!sbinfo->si_branch)) + goto out_sbinfo; + + err = sysaufs_si_init(sbinfo); + if (!err) { + dbgaufs_si_null(sbinfo); + err = dbgaufs_si_init(sbinfo); + if (unlikely(err)) + kobject_put(&sbinfo->si_kobj); + } + if (unlikely(err)) + goto out_br; + + au_nwt_init(&sbinfo->si_nowait); + au_rw_init_wlock(&sbinfo->si_rwsem); + + au_lcnt_init(&sbinfo->si_ninodes, /*release*/NULL); + au_lcnt_init(&sbinfo->si_nfiles, /*release*/NULL); + + sbinfo->si_bbot = -1; + sbinfo->si_last_br_id = AUFS_BRANCH_MAX / 2; + + sbinfo->si_wbr_copyup = AuWbrCopyup_Def; + sbinfo->si_wbr_create = AuWbrCreate_Def; + sbinfo->si_wbr_copyup_ops = au_wbr_copyup_ops + sbinfo->si_wbr_copyup; + sbinfo->si_wbr_create_ops = au_wbr_create_ops + sbinfo->si_wbr_create; + + au_fhsm_init(sbinfo); + + sbinfo->si_mntflags = au_opts_plink(AuOpt_Def); + + sbinfo->si_xino_jiffy = jiffies; + sbinfo->si_xino_expire + = msecs_to_jiffies(AUFS_XINO_DEF_SEC * MSEC_PER_SEC); + mutex_init(&sbinfo->si_xib_mtx); + /* leave si_xib_last_pindex and si_xib_next_bit */ + + INIT_HLIST_BL_HEAD(&sbinfo->si_aopen); + + sbinfo->si_rdcache = msecs_to_jiffies(AUFS_RDCACHE_DEF * MSEC_PER_SEC); + sbinfo->si_rdblk = AUFS_RDBLK_DEF; + sbinfo->si_rdhash = AUFS_RDHASH_DEF; + sbinfo->si_dirwh = AUFS_DIRWH_DEF; + + for (i = 0; i < AuPlink_NHASH; i++) + INIT_HLIST_BL_HEAD(sbinfo->si_plink + i); + init_waitqueue_head(&sbinfo->si_plink_wq); + spin_lock_init(&sbinfo->si_plink_maint_lock); + + INIT_HLIST_BL_HEAD(&sbinfo->si_files); + + /* with getattr by default */ + sbinfo->si_iop_array = aufs_iop; + + /* leave other members for sysaufs and si_mnt. */ + sbinfo->si_sb = sb; + sb->s_fs_info = sbinfo; + si_pid_set(sb); + return 0; /* success */ + +out_br: + au_kfree_try_rcu(sbinfo->si_branch); +out_sbinfo: + au_kfree_rcu(sbinfo); +out: + return err; +} + +int au_sbr_realloc(struct au_sbinfo *sbinfo, int nbr, int may_shrink) +{ + int err, sz; + struct au_branch **brp; + + AuRwMustWriteLock(&sbinfo->si_rwsem); + + err = -ENOMEM; + sz = sizeof(*brp) * (sbinfo->si_bbot + 1); + if (unlikely(!sz)) + sz = sizeof(*brp); + brp = au_kzrealloc(sbinfo->si_branch, sz, sizeof(*brp) * nbr, GFP_NOFS, + may_shrink); + if (brp) { + sbinfo->si_branch = brp; + err = 0; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +unsigned int au_sigen_inc(struct super_block *sb) +{ + unsigned int gen; + struct inode *inode; + + SiMustWriteLock(sb); + + gen = ++au_sbi(sb)->si_generation; + au_update_digen(sb->s_root); + inode = d_inode(sb->s_root); + au_update_iigen(inode, /*half*/0); + inode_inc_iversion(inode); + return gen; +} + +aufs_bindex_t au_new_br_id(struct super_block *sb) +{ + aufs_bindex_t br_id; + int i; + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + for (i = 0; i <= AUFS_BRANCH_MAX; i++) { + br_id = ++sbinfo->si_last_br_id; + AuDebugOn(br_id < 0); + if (br_id && au_br_index(sb, br_id) < 0) + return br_id; + } + + return -1; +} + +/* ---------------------------------------------------------------------- */ + +/* it is ok that new 'nwt' tasks are appended while we are sleeping */ +int si_read_lock(struct super_block *sb, int flags) +{ + int err; + + err = 0; + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + + si_noflush_read_lock(sb); + err = au_plink_maint(sb, flags); + if (unlikely(err)) + si_read_unlock(sb); + + return err; +} + +int si_write_lock(struct super_block *sb, int flags) +{ + int err; + + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + + si_noflush_write_lock(sb); + err = au_plink_maint(sb, flags); + if (unlikely(err)) + si_write_unlock(sb); + + return err; +} + +/* dentry and super_block lock. call at entry point */ +int aufs_read_lock(struct dentry *dentry, int flags) +{ + int err; + struct super_block *sb; + + sb = dentry->d_sb; + err = si_read_lock(sb, flags); + if (unlikely(err)) + goto out; + + if (au_ftest_lock(flags, DW)) + di_write_lock_child(dentry); + else + di_read_lock_child(dentry, flags); + + if (au_ftest_lock(flags, GEN)) { + err = au_digen_test(dentry, au_sigen(sb)); + if (!au_opt_test(au_mntflags(sb), UDBA_NONE)) + AuDebugOn(!err && au_dbrange_test(dentry)); + else if (!err) + err = au_dbrange_test(dentry); + if (unlikely(err)) + aufs_read_unlock(dentry, flags); + } + +out: + return err; +} + +void aufs_read_unlock(struct dentry *dentry, int flags) +{ + if (au_ftest_lock(flags, DW)) + di_write_unlock(dentry); + else + di_read_unlock(dentry, flags); + si_read_unlock(dentry->d_sb); +} + +void aufs_write_lock(struct dentry *dentry) +{ + si_write_lock(dentry->d_sb, AuLock_FLUSH | AuLock_NOPLMW); + di_write_lock_child(dentry); +} + +void aufs_write_unlock(struct dentry *dentry) +{ + di_write_unlock(dentry); + si_write_unlock(dentry->d_sb); +} + +int aufs_read_and_write_lock2(struct dentry *d1, struct dentry *d2, int flags) +{ + int err; + unsigned int sigen; + struct super_block *sb; + + sb = d1->d_sb; + err = si_read_lock(sb, flags); + if (unlikely(err)) + goto out; + + di_write_lock2_child(d1, d2, au_ftest_lock(flags, DIRS)); + + if (au_ftest_lock(flags, GEN)) { + sigen = au_sigen(sb); + err = au_digen_test(d1, sigen); + AuDebugOn(!err && au_dbrange_test(d1)); + if (!err) { + err = au_digen_test(d2, sigen); + AuDebugOn(!err && au_dbrange_test(d2)); + } + if (unlikely(err)) + aufs_read_and_write_unlock2(d1, d2); + } + +out: + return err; +} + +void aufs_read_and_write_unlock2(struct dentry *d1, struct dentry *d2) +{ + di_write_unlock2(d1, d2); + si_read_unlock(d1->d_sb); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/super.c +++ linux-riscv-5.8-5.8.0/fs/aufs/super.c @@ -0,0 +1,1050 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * mount and super_block operations + */ + +#include +#include +#include +#include +#include +#include "aufs.h" + +/* + * super_operations + */ +static struct inode *aufs_alloc_inode(struct super_block *sb __maybe_unused) +{ + struct au_icntnr *c; + + c = au_cache_alloc_icntnr(); + if (c) { + au_icntnr_init(c); + inode_set_iversion(&c->vfs_inode, 1); /* sigen(sb); */ + c->iinfo.ii_hinode = NULL; + return &c->vfs_inode; + } + return NULL; +} + +static void aufs_destroy_inode(struct inode *inode) +{ + if (!au_is_bad_inode(inode)) + au_iinfo_fin(inode); +} + +static void aufs_free_inode(struct inode *inode) +{ + au_cache_free_icntnr(container_of(inode, struct au_icntnr, vfs_inode)); +} + +struct inode *au_iget_locked(struct super_block *sb, ino_t ino) +{ + struct inode *inode; + int err; + + inode = iget_locked(sb, ino); + if (unlikely(!inode)) { + inode = ERR_PTR(-ENOMEM); + goto out; + } + if (!(inode->i_state & I_NEW)) + goto out; + + err = au_xigen_new(inode); + if (!err) + err = au_iinfo_init(inode); + if (!err) + inode_inc_iversion(inode); + else { + iget_failed(inode); + inode = ERR_PTR(err); + } + +out: + /* never return NULL */ + AuDebugOn(!inode); + AuTraceErrPtr(inode); + return inode; +} + +/* lock free root dinfo */ +static int au_show_brs(struct seq_file *seq, struct super_block *sb) +{ + int err; + aufs_bindex_t bindex, bbot; + struct path path; + struct au_hdentry *hdp; + struct au_branch *br; + au_br_perm_str_t perm; + + err = 0; + bbot = au_sbbot(sb); + bindex = 0; + hdp = au_hdentry(au_di(sb->s_root), bindex); + for (; !err && bindex <= bbot; bindex++, hdp++) { + br = au_sbr(sb, bindex); + path.mnt = au_br_mnt(br); + path.dentry = hdp->hd_dentry; + err = au_seq_path(seq, &path); + if (!err) { + au_optstr_br_perm(&perm, br->br_perm); + seq_printf(seq, "=%s", perm.a); + if (bindex != bbot) + seq_putc(seq, ':'); + } + } + if (unlikely(err || seq_has_overflowed(seq))) + err = -E2BIG; + + return err; +} + +static void au_gen_fmt(char *fmt, int len __maybe_unused, const char *pat, + const char *append) +{ + char *p; + + p = fmt; + while (*pat != ':') + *p++ = *pat++; + *p++ = *pat++; + strcpy(p, append); + AuDebugOn(strlen(fmt) >= len); +} + +static void au_show_wbr_create(struct seq_file *m, int v, + struct au_sbinfo *sbinfo) +{ + const char *pat; + char fmt[32]; + struct au_wbr_mfs *mfs; + + AuRwMustAnyLock(&sbinfo->si_rwsem); + + seq_puts(m, ",create="); + pat = au_optstr_wbr_create(v); + mfs = &sbinfo->si_wbr_mfs; + switch (v) { + case AuWbrCreate_TDP: + case AuWbrCreate_RR: + case AuWbrCreate_MFS: + case AuWbrCreate_PMFS: + seq_puts(m, pat); + break; + case AuWbrCreate_MFSRR: + case AuWbrCreate_TDMFS: + case AuWbrCreate_PMFSRR: + au_gen_fmt(fmt, sizeof(fmt), pat, "%llu"); + seq_printf(m, fmt, mfs->mfsrr_watermark); + break; + case AuWbrCreate_MFSV: + case AuWbrCreate_PMFSV: + au_gen_fmt(fmt, sizeof(fmt), pat, "%lu"); + seq_printf(m, fmt, + jiffies_to_msecs(mfs->mfs_expire) + / MSEC_PER_SEC); + break; + case AuWbrCreate_MFSRRV: + case AuWbrCreate_TDMFSV: + case AuWbrCreate_PMFSRRV: + au_gen_fmt(fmt, sizeof(fmt), pat, "%llu:%lu"); + seq_printf(m, fmt, mfs->mfsrr_watermark, + jiffies_to_msecs(mfs->mfs_expire) / MSEC_PER_SEC); + break; + default: + BUG(); + } +} + +static int au_show_xino(struct seq_file *seq, struct super_block *sb) +{ +#ifdef CONFIG_SYSFS + return 0; +#else + int err; + const int len = sizeof(AUFS_XINO_FNAME) - 1; + aufs_bindex_t bindex, brid; + struct qstr *name; + struct file *f; + struct dentry *d, *h_root; + struct au_branch *br; + + AuRwMustAnyLock(&sbinfo->si_rwsem); + + err = 0; + f = au_sbi(sb)->si_xib; + if (!f) + goto out; + + /* stop printing the default xino path on the first writable branch */ + h_root = NULL; + bindex = au_xi_root(sb, f->f_path.dentry); + if (bindex >= 0) { + br = au_sbr_sb(sb, bindex); + h_root = au_br_dentry(br); + } + + d = f->f_path.dentry; + name = &d->d_name; + /* safe ->d_parent because the file is unlinked */ + if (d->d_parent == h_root + && name->len == len + && !memcmp(name->name, AUFS_XINO_FNAME, len)) + goto out; + + seq_puts(seq, ",xino="); + err = au_xino_path(seq, f); + +out: + return err; +#endif +} + +/* seq_file will re-call me in case of too long string */ +static int aufs_show_options(struct seq_file *m, struct dentry *dentry) +{ + int err; + unsigned int mnt_flags, v; + struct super_block *sb; + struct au_sbinfo *sbinfo; + +#define AuBool(name, str) do { \ + v = au_opt_test(mnt_flags, name); \ + if (v != au_opt_test(AuOpt_Def, name)) \ + seq_printf(m, ",%s" #str, v ? "" : "no"); \ +} while (0) + +#define AuStr(name, str) do { \ + v = mnt_flags & AuOptMask_##name; \ + if (v != (AuOpt_Def & AuOptMask_##name)) \ + seq_printf(m, "," #str "=%s", au_optstr_##str(v)); \ +} while (0) + +#define AuUInt(name, str, val) do { \ + if (val != AUFS_##name##_DEF) \ + seq_printf(m, "," #str "=%u", val); \ +} while (0) + + sb = dentry->d_sb; + if (sb->s_flags & SB_POSIXACL) + seq_puts(m, ",acl"); +#if 0 /* reserved for future use */ + if (sb->s_flags & SB_I_VERSION) + seq_puts(m, ",i_version"); +#endif + + /* lock free root dinfo */ + si_noflush_read_lock(sb); + sbinfo = au_sbi(sb); + seq_printf(m, ",si=%lx", sysaufs_si_id(sbinfo)); + + mnt_flags = au_mntflags(sb); + if (au_opt_test(mnt_flags, XINO)) { + err = au_show_xino(m, sb); + if (unlikely(err)) + goto out; + } else + seq_puts(m, ",noxino"); + + AuBool(TRUNC_XINO, trunc_xino); + AuStr(UDBA, udba); + AuBool(SHWH, shwh); + AuBool(PLINK, plink); + AuBool(DIO, dio); + AuBool(DIRPERM1, dirperm1); + + v = sbinfo->si_wbr_create; + if (v != AuWbrCreate_Def) + au_show_wbr_create(m, v, sbinfo); + + v = sbinfo->si_wbr_copyup; + if (v != AuWbrCopyup_Def) + seq_printf(m, ",cpup=%s", au_optstr_wbr_copyup(v)); + + v = au_opt_test(mnt_flags, ALWAYS_DIROPQ); + if (v != au_opt_test(AuOpt_Def, ALWAYS_DIROPQ)) + seq_printf(m, ",diropq=%c", v ? 'a' : 'w'); + + AuUInt(DIRWH, dirwh, sbinfo->si_dirwh); + + v = jiffies_to_msecs(sbinfo->si_rdcache) / MSEC_PER_SEC; + AuUInt(RDCACHE, rdcache, v); + + AuUInt(RDBLK, rdblk, sbinfo->si_rdblk); + AuUInt(RDHASH, rdhash, sbinfo->si_rdhash); + + au_fhsm_show(m, sbinfo); + + AuBool(DIRREN, dirren); + AuBool(SUM, sum); + /* AuBool(SUM_W, wsum); */ + AuBool(WARN_PERM, warn_perm); + AuBool(VERBOSE, verbose); + +out: + /* be sure to print "br:" last */ + if (!sysaufs_brs) { + seq_puts(m, ",br:"); + au_show_brs(m, sb); + } + si_read_unlock(sb); + return 0; + +#undef AuBool +#undef AuStr +#undef AuUInt +} + +/* ---------------------------------------------------------------------- */ + +/* sum mode which returns the summation for statfs(2) */ + +static u64 au_add_till_max(u64 a, u64 b) +{ + u64 old; + + old = a; + a += b; + if (old <= a) + return a; + return ULLONG_MAX; +} + +static u64 au_mul_till_max(u64 a, long mul) +{ + u64 old; + + old = a; + a *= mul; + if (old <= a) + return a; + return ULLONG_MAX; +} + +static int au_statfs_sum(struct super_block *sb, struct kstatfs *buf) +{ + int err; + long bsize, factor; + u64 blocks, bfree, bavail, files, ffree; + aufs_bindex_t bbot, bindex, i; + unsigned char shared; + struct path h_path; + struct super_block *h_sb; + + err = 0; + bsize = LONG_MAX; + files = 0; + ffree = 0; + blocks = 0; + bfree = 0; + bavail = 0; + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + h_path.mnt = au_sbr_mnt(sb, bindex); + h_sb = h_path.mnt->mnt_sb; + shared = 0; + for (i = 0; !shared && i < bindex; i++) + shared = (au_sbr_sb(sb, i) == h_sb); + if (shared) + continue; + + /* sb->s_root for NFS is unreliable */ + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, buf); + if (unlikely(err)) + goto out; + + if (bsize > buf->f_bsize) { + /* + * we will reduce bsize, so we have to expand blocks + * etc. to match them again + */ + factor = (bsize / buf->f_bsize); + blocks = au_mul_till_max(blocks, factor); + bfree = au_mul_till_max(bfree, factor); + bavail = au_mul_till_max(bavail, factor); + bsize = buf->f_bsize; + } + + factor = (buf->f_bsize / bsize); + blocks = au_add_till_max(blocks, + au_mul_till_max(buf->f_blocks, factor)); + bfree = au_add_till_max(bfree, + au_mul_till_max(buf->f_bfree, factor)); + bavail = au_add_till_max(bavail, + au_mul_till_max(buf->f_bavail, factor)); + files = au_add_till_max(files, buf->f_files); + ffree = au_add_till_max(ffree, buf->f_ffree); + } + + buf->f_bsize = bsize; + buf->f_blocks = blocks; + buf->f_bfree = bfree; + buf->f_bavail = bavail; + buf->f_files = files; + buf->f_ffree = ffree; + buf->f_frsize = 0; + +out: + return err; +} + +static int aufs_statfs(struct dentry *dentry, struct kstatfs *buf) +{ + int err; + struct path h_path; + struct super_block *sb; + + /* lock free root dinfo */ + sb = dentry->d_sb; + si_noflush_read_lock(sb); + if (!au_opt_test(au_mntflags(sb), SUM)) { + /* sb->s_root for NFS is unreliable */ + h_path.mnt = au_sbr_mnt(sb, 0); + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, buf); + } else + err = au_statfs_sum(sb, buf); + si_read_unlock(sb); + + if (!err) { + buf->f_type = AUFS_SUPER_MAGIC; + buf->f_namelen = AUFS_MAX_NAMELEN; + memset(&buf->f_fsid, 0, sizeof(buf->f_fsid)); + } + /* buf->f_bsize = buf->f_blocks = buf->f_bfree = buf->f_bavail = -1; */ + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int aufs_sync_fs(struct super_block *sb, int wait) +{ + int err, e; + aufs_bindex_t bbot, bindex; + struct au_branch *br; + struct super_block *h_sb; + + err = 0; + si_noflush_read_lock(sb); + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (!au_br_writable(br->br_perm)) + continue; + + h_sb = au_sbr_sb(sb, bindex); + e = vfsub_sync_filesystem(h_sb, wait); + if (unlikely(e && !err)) + err = e; + /* go on even if an error happens */ + } + si_read_unlock(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* final actions when unmounting a file system */ +static void aufs_put_super(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + sbinfo = au_sbi(sb); + if (sbinfo) + kobject_put(&sbinfo->si_kobj); +} + +/* ---------------------------------------------------------------------- */ + +void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, + struct super_block *sb, void *arg) +{ + void *array; + unsigned long long n, sz; + + array = NULL; + n = 0; + if (!*hint) + goto out; + + if (*hint > ULLONG_MAX / sizeof(array)) { + array = ERR_PTR(-EMFILE); + pr_err("hint %llu\n", *hint); + goto out; + } + + sz = sizeof(array) * *hint; + array = kzalloc(sz, GFP_NOFS); + if (unlikely(!array)) + array = vzalloc(sz); + if (unlikely(!array)) { + array = ERR_PTR(-ENOMEM); + goto out; + } + + n = cb(sb, array, *hint, arg); + AuDebugOn(n > *hint); + +out: + *hint = n; + return array; +} + +static unsigned long long au_iarray_cb(struct super_block *sb, void *a, + unsigned long long max __maybe_unused, + void *arg) +{ + unsigned long long n; + struct inode **p, *inode; + struct list_head *head; + + n = 0; + p = a; + head = arg; + spin_lock(&sb->s_inode_list_lock); + list_for_each_entry(inode, head, i_sb_list) { + if (!au_is_bad_inode(inode) + && au_ii(inode)->ii_btop >= 0) { + spin_lock(&inode->i_lock); + if (atomic_read(&inode->i_count)) { + au_igrab(inode); + *p++ = inode; + n++; + AuDebugOn(n > max); + } + spin_unlock(&inode->i_lock); + } + } + spin_unlock(&sb->s_inode_list_lock); + + return n; +} + +struct inode **au_iarray_alloc(struct super_block *sb, unsigned long long *max) +{ + struct au_sbinfo *sbi; + + sbi = au_sbi(sb); + *max = au_lcnt_read(&sbi->si_ninodes, /*do_rev*/1); + return au_array_alloc(max, au_iarray_cb, sb, &sb->s_inodes); +} + +void au_iarray_free(struct inode **a, unsigned long long max) +{ + unsigned long long ull; + + for (ull = 0; ull < max; ull++) + iput(a[ull]); + kvfree(a); +} + +/* ---------------------------------------------------------------------- */ + +/* + * refresh dentry and inode at remount time. + */ +/* todo: consolidate with simple_reval_dpath() and au_reval_for_attr() */ +static int au_do_refresh(struct dentry *dentry, unsigned int dir_flags, + struct dentry *parent) +{ + int err; + + di_write_lock_child(dentry); + di_read_lock_parent(parent, AuLock_IR); + err = au_refresh_dentry(dentry, parent); + if (!err && dir_flags) + au_hn_reset(d_inode(dentry), dir_flags); + di_read_unlock(parent, AuLock_IR); + di_write_unlock(dentry); + + return err; +} + +static int au_do_refresh_d(struct dentry *dentry, unsigned int sigen, + struct au_sbinfo *sbinfo, + const unsigned int dir_flags, unsigned int do_idop) +{ + int err; + struct dentry *parent; + + err = 0; + parent = dget_parent(dentry); + if (!au_digen_test(parent, sigen) && au_digen_test(dentry, sigen)) { + if (d_really_is_positive(dentry)) { + if (!d_is_dir(dentry)) + err = au_do_refresh(dentry, /*dir_flags*/0, + parent); + else { + err = au_do_refresh(dentry, dir_flags, parent); + if (unlikely(err)) + au_fset_si(sbinfo, FAILED_REFRESH_DIR); + } + } else + err = au_do_refresh(dentry, /*dir_flags*/0, parent); + AuDbgDentry(dentry); + } + dput(parent); + + if (!err) { + if (do_idop) + au_refresh_dop(dentry, /*force_reval*/0); + } else + au_refresh_dop(dentry, /*force_reval*/1); + + AuTraceErr(err); + return err; +} + +static int au_refresh_d(struct super_block *sb, unsigned int do_idop) +{ + int err, i, j, ndentry, e; + unsigned int sigen; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries, *d; + struct au_sbinfo *sbinfo; + struct dentry *root = sb->s_root; + const unsigned int dir_flags = au_hi_flags(d_inode(root), /*isdir*/1); + + if (do_idop) + au_refresh_dop(root, /*force_reval*/0); + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_dcsub_pages(&dpages, root, NULL, NULL); + if (unlikely(err)) + goto out_dpages; + + sigen = au_sigen(sb); + sbinfo = au_sbi(sb); + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + d = dentries[j]; + e = au_do_refresh_d(d, sigen, sbinfo, dir_flags, + do_idop); + if (unlikely(e && !err)) + err = e; + /* go on even err */ + } + } + +out_dpages: + au_dpages_free(&dpages); +out: + return err; +} + +static int au_refresh_i(struct super_block *sb, unsigned int do_idop) +{ + int err, e; + unsigned int sigen; + unsigned long long max, ull; + struct inode *inode, **array; + + array = au_iarray_alloc(sb, &max); + err = PTR_ERR(array); + if (IS_ERR(array)) + goto out; + + err = 0; + sigen = au_sigen(sb); + for (ull = 0; ull < max; ull++) { + inode = array[ull]; + if (unlikely(!inode)) + break; + + e = 0; + ii_write_lock_child(inode); + if (au_iigen(inode, NULL) != sigen) { + e = au_refresh_hinode_self(inode); + if (unlikely(e)) { + au_refresh_iop(inode, /*force_getattr*/1); + pr_err("error %d, i%lu\n", e, inode->i_ino); + if (!err) + err = e; + /* go on even if err */ + } + } + if (!e && do_idop) + au_refresh_iop(inode, /*force_getattr*/0); + ii_write_unlock(inode); + } + + au_iarray_free(array, max); + +out: + return err; +} + +static void au_remount_refresh(struct super_block *sb, unsigned int do_idop) +{ + int err, e; + unsigned int udba; + aufs_bindex_t bindex, bbot; + struct dentry *root; + struct inode *inode; + struct au_branch *br; + struct au_sbinfo *sbi; + + au_sigen_inc(sb); + sbi = au_sbi(sb); + au_fclr_si(sbi, FAILED_REFRESH_DIR); + + root = sb->s_root; + DiMustNoWaiters(root); + inode = d_inode(root); + IiMustNoWaiters(inode); + + udba = au_opt_udba(sb); + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + err = au_hnotify_reset_br(udba, br, br->br_perm); + if (unlikely(err)) + AuIOErr("hnotify failed on br %d, %d, ignored\n", + bindex, err); + /* go on even if err */ + } + au_hn_reset(inode, au_hi_flags(inode, /*isdir*/1)); + + if (do_idop) { + if (au_ftest_si(sbi, NO_DREVAL)) { + AuDebugOn(sb->s_d_op == &aufs_dop_noreval); + sb->s_d_op = &aufs_dop_noreval; + AuDebugOn(sbi->si_iop_array == aufs_iop_nogetattr); + sbi->si_iop_array = aufs_iop_nogetattr; + } else { + AuDebugOn(sb->s_d_op == &aufs_dop); + sb->s_d_op = &aufs_dop; + AuDebugOn(sbi->si_iop_array == aufs_iop); + sbi->si_iop_array = aufs_iop; + } + pr_info("reset to %ps and %ps\n", + sb->s_d_op, sbi->si_iop_array); + } + + di_write_unlock(root); + err = au_refresh_d(sb, do_idop); + e = au_refresh_i(sb, do_idop); + if (unlikely(e && !err)) + err = e; + /* aufs_write_lock() calls ..._child() */ + di_write_lock_child(root); + + au_cpup_attr_all(inode, /*force*/1); + + if (unlikely(err)) + AuIOErr("refresh failed, ignored, %d\n", err); +} + +/* stop extra interpretation of errno in mount(8), and strange error messages */ +static int cvt_err(int err) +{ + AuTraceErr(err); + + switch (err) { + case -ENOENT: + case -ENOTDIR: + case -EEXIST: + case -EIO: + err = -EINVAL; + } + return err; +} + +static int aufs_remount_fs(struct super_block *sb, int *flags, char *data) +{ + int err, do_dx; + unsigned int mntflags; + struct au_opts opts = { + .opt = NULL + }; + struct dentry *root; + struct inode *inode; + struct au_sbinfo *sbinfo; + + err = 0; + root = sb->s_root; + if (!data || !*data) { + err = si_write_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (!err) { + di_write_lock_child(root); + err = au_opts_verify(sb, *flags, /*pending*/0); + aufs_write_unlock(root); + } + goto out; + } + + err = -ENOMEM; + opts.opt = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!opts.opt)) + goto out; + opts.max_opt = PAGE_SIZE / sizeof(*opts.opt); + opts.flags = AuOpts_REMOUNT; + opts.sb_flags = *flags; + + /* parse it before aufs lock */ + err = au_opts_parse(sb, data, &opts); + if (unlikely(err)) + goto out_opts; + + sbinfo = au_sbi(sb); + inode = d_inode(root); + inode_lock(inode); + err = si_write_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out_mtx; + di_write_lock_child(root); + + /* au_opts_remount() may return an error */ + err = au_opts_remount(sb, &opts); + au_opts_free(&opts); + + if (au_ftest_opts(opts.flags, REFRESH)) + au_remount_refresh(sb, au_ftest_opts(opts.flags, REFRESH_IDOP)); + + if (au_ftest_opts(opts.flags, REFRESH_DYAOP)) { + mntflags = au_mntflags(sb); + do_dx = !!au_opt_test(mntflags, DIO); + au_dy_arefresh(do_dx); + } + + au_fhsm_wrote_all(sb, /*force*/1); /* ?? */ + aufs_write_unlock(root); + +out_mtx: + inode_unlock(inode); +out_opts: + free_page((unsigned long)opts.opt); +out: + err = cvt_err(err); + AuTraceErr(err); + return err; +} + +static const struct super_operations aufs_sop = { + .alloc_inode = aufs_alloc_inode, + .destroy_inode = aufs_destroy_inode, + .free_inode = aufs_free_inode, + /* always deleting, no clearing */ + .drop_inode = generic_delete_inode, + .show_options = aufs_show_options, + .statfs = aufs_statfs, + .put_super = aufs_put_super, + .sync_fs = aufs_sync_fs, + .remount_fs = aufs_remount_fs, +#ifdef CONFIG_AUFS_BDEV_LOOP + .real_loop = aufs_real_loop +#endif +}; + +/* ---------------------------------------------------------------------- */ + +static int alloc_root(struct super_block *sb) +{ + int err; + struct inode *inode; + struct dentry *root; + + err = -ENOMEM; + inode = au_iget_locked(sb, AUFS_ROOT_INO); + err = PTR_ERR(inode); + if (IS_ERR(inode)) + goto out; + + inode->i_op = aufs_iop + AuIop_DIR; /* with getattr by default */ + inode->i_fop = &aufs_dir_fop; + inode->i_mode = S_IFDIR; + set_nlink(inode, 2); + unlock_new_inode(inode); + + root = d_make_root(inode); + if (unlikely(!root)) + goto out; + err = PTR_ERR(root); + if (IS_ERR(root)) + goto out; + + err = au_di_init(root); + if (!err) { + sb->s_root = root; + return 0; /* success */ + } + dput(root); + +out: + return err; +} + +static int aufs_fill_super(struct super_block *sb, void *raw_data, + int silent __maybe_unused) +{ + int err; + struct au_opts opts = { + .opt = NULL + }; + struct au_sbinfo *sbinfo; + struct dentry *root; + struct inode *inode; + char *arg = raw_data; + + if (unlikely(!arg || !*arg)) { + err = -EINVAL; + pr_err("no arg\n"); + goto out; + } + + err = -ENOMEM; + opts.opt = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!opts.opt)) + goto out; + opts.max_opt = PAGE_SIZE / sizeof(*opts.opt); + opts.sb_flags = sb->s_flags; + + err = au_si_alloc(sb); + if (unlikely(err)) + goto out_opts; + sbinfo = au_sbi(sb); + + /* all timestamps always follow the ones on the branch */ + sb->s_flags |= SB_NOATIME | SB_NODIRATIME; + sb->s_flags |= SB_I_VERSION; /* do we really need this? */ + sb->s_op = &aufs_sop; + sb->s_d_op = &aufs_dop; + sb->s_magic = AUFS_SUPER_MAGIC; + sb->s_maxbytes = 0; + sb->s_stack_depth = 1; + au_export_init(sb); + au_xattr_init(sb); + + err = alloc_root(sb); + if (unlikely(err)) { + si_write_unlock(sb); + goto out_info; + } + root = sb->s_root; + inode = d_inode(root); + + /* + * actually we can parse options regardless aufs lock here. + * but at remount time, parsing must be done before aufs lock. + * so we follow the same rule. + */ + ii_write_lock_parent(inode); + aufs_write_unlock(root); + err = au_opts_parse(sb, arg, &opts); + if (unlikely(err)) + goto out_root; + + /* lock vfs_inode first, then aufs. */ + inode_lock(inode); + aufs_write_lock(root); + err = au_opts_mount(sb, &opts); + au_opts_free(&opts); + if (!err && au_ftest_si(sbinfo, NO_DREVAL)) { + sb->s_d_op = &aufs_dop_noreval; + pr_info("%ps\n", sb->s_d_op); + au_refresh_dop(root, /*force_reval*/0); + sbinfo->si_iop_array = aufs_iop_nogetattr; + au_refresh_iop(inode, /*force_getattr*/0); + } + aufs_write_unlock(root); + inode_unlock(inode); + if (!err) + goto out_opts; /* success */ + +out_root: + dput(root); + sb->s_root = NULL; +out_info: + kobject_put(&sbinfo->si_kobj); + sb->s_fs_info = NULL; +out_opts: + free_page((unsigned long)opts.opt); +out: + AuTraceErr(err); + err = cvt_err(err); + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct dentry *aufs_mount(struct file_system_type *fs_type, int flags, + const char *dev_name __maybe_unused, + void *raw_data) +{ + struct dentry *root; + + /* all timestamps always follow the ones on the branch */ + /* mnt->mnt_flags |= MNT_NOATIME | MNT_NODIRATIME; */ + root = mount_nodev(fs_type, flags, raw_data, aufs_fill_super); + if (IS_ERR(root)) + goto out; + + au_sbilist_add(root->d_sb); + +out: + return root; +} + +static void aufs_kill_sb(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + sbinfo = au_sbi(sb); + if (sbinfo) { + au_sbilist_del(sb); + aufs_write_lock(sb->s_root); + au_fhsm_fin(sb); + if (sbinfo->si_wbr_create_ops->fin) + sbinfo->si_wbr_create_ops->fin(sb); + if (au_opt_test(sbinfo->si_mntflags, UDBA_HNOTIFY)) { + au_opt_set_udba(sbinfo->si_mntflags, UDBA_NONE); + au_remount_refresh(sb, /*do_idop*/0); + } + if (au_opt_test(sbinfo->si_mntflags, PLINK)) + au_plink_put(sb, /*verbose*/1); + au_xino_clr(sb); + au_dr_opt_flush(sb); + sbinfo->si_sb = NULL; + aufs_write_unlock(sb->s_root); + au_nwt_flush(&sbinfo->si_nowait); + } + kill_anon_super(sb); +} + +struct file_system_type aufs_fs_type = { + .name = AUFS_FSTYPE, + /* a race between rename and others */ + .fs_flags = FS_RENAME_DOES_D_MOVE, + .mount = aufs_mount, + .kill_sb = aufs_kill_sb, + /* no need to __module_get() and module_put(). */ + .owner = THIS_MODULE, +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/super.h +++ linux-riscv-5.8-5.8.0/fs/aufs/super.h @@ -0,0 +1,589 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * super_block operations + */ + +#ifndef __AUFS_SUPER_H__ +#define __AUFS_SUPER_H__ + +#ifdef __KERNEL__ + +#include +#include +#include "hbl.h" +#include "lcnt.h" +#include "rwsem.h" +#include "wkq.h" + +/* policies to select one among multiple writable branches */ +struct au_wbr_copyup_operations { + int (*copyup)(struct dentry *dentry); +}; + +#define AuWbr_DIR 1 /* target is a dir */ +#define AuWbr_PARENT (1 << 1) /* always require a parent */ + +#define au_ftest_wbr(flags, name) ((flags) & AuWbr_##name) +#define au_fset_wbr(flags, name) { (flags) |= AuWbr_##name; } +#define au_fclr_wbr(flags, name) { (flags) &= ~AuWbr_##name; } + +struct au_wbr_create_operations { + int (*create)(struct dentry *dentry, unsigned int flags); + int (*init)(struct super_block *sb); + int (*fin)(struct super_block *sb); +}; + +struct au_wbr_mfs { + struct mutex mfs_lock; /* protect this structure */ + unsigned long mfs_jiffy; + unsigned long mfs_expire; + aufs_bindex_t mfs_bindex; + + unsigned long long mfsrr_bytes; + unsigned long long mfsrr_watermark; +}; + +#define AuPlink_NHASH 100 +static inline int au_plink_hash(ino_t ino) +{ + return ino % AuPlink_NHASH; +} + +/* File-based Hierarchical Storage Management */ +struct au_fhsm { +#ifdef CONFIG_AUFS_FHSM + /* allow only one process who can receive the notification */ + spinlock_t fhsm_spin; + pid_t fhsm_pid; + wait_queue_head_t fhsm_wqh; + atomic_t fhsm_readable; + + /* these are protected by si_rwsem */ + unsigned long fhsm_expire; + aufs_bindex_t fhsm_bottom; +#endif +}; + +struct au_branch; +struct au_sbinfo { + /* nowait tasks in the system-wide workqueue */ + struct au_nowait_tasks si_nowait; + + /* + * tried sb->s_umount, but failed due to the dependency between i_mutex. + * rwsem for au_sbinfo is necessary. + */ + struct au_rwsem si_rwsem; + + /* + * dirty approach to protect sb->sb_inodes and ->s_files (gone) from + * remount. + */ + au_lcnt_t si_ninodes, si_nfiles; + + /* branch management */ + unsigned int si_generation; + + /* see AuSi_ flags */ + unsigned char au_si_status; + + aufs_bindex_t si_bbot; + + /* dirty trick to keep br_id plus */ + unsigned int si_last_br_id : + sizeof(aufs_bindex_t) * BITS_PER_BYTE - 1; + struct au_branch **si_branch; + + /* policy to select a writable branch */ + unsigned char si_wbr_copyup; + unsigned char si_wbr_create; + struct au_wbr_copyup_operations *si_wbr_copyup_ops; + struct au_wbr_create_operations *si_wbr_create_ops; + + /* round robin */ + atomic_t si_wbr_rr_next; + + /* most free space */ + struct au_wbr_mfs si_wbr_mfs; + + /* File-based Hierarchical Storage Management */ + struct au_fhsm si_fhsm; + + /* mount flags */ + /* include/asm-ia64/siginfo.h defines a macro named si_flags */ + unsigned int si_mntflags; + + /* external inode number (bitmap and translation table) */ + vfs_readf_t si_xread; + vfs_writef_t si_xwrite; + loff_t si_ximaxent; /* max entries in a xino */ + + struct file *si_xib; + struct mutex si_xib_mtx; /* protect xib members */ + unsigned long *si_xib_buf; + unsigned long si_xib_last_pindex; + int si_xib_next_bit; + + unsigned long si_xino_jiffy; + unsigned long si_xino_expire; + /* reserved for future use */ + /* unsigned long long si_xib_limit; */ /* Max xib file size */ + +#ifdef CONFIG_AUFS_EXPORT + /* i_generation */ + /* todo: make xigen file an array to support many inode numbers */ + struct file *si_xigen; + atomic_t si_xigen_next; +#endif + + /* dirty trick to support atomic_open */ + struct hlist_bl_head si_aopen; + + /* vdir parameters */ + unsigned long si_rdcache; /* max cache time in jiffies */ + unsigned int si_rdblk; /* deblk size */ + unsigned int si_rdhash; /* hash size */ + + /* + * If the number of whiteouts are larger than si_dirwh, leave all of + * them after au_whtmp_ren to reduce the cost of rmdir(2). + * future fsck.aufs or kernel thread will remove them later. + * Otherwise, remove all whiteouts and the dir in rmdir(2). + */ + unsigned int si_dirwh; + + /* pseudo_link list */ + struct hlist_bl_head si_plink[AuPlink_NHASH]; + wait_queue_head_t si_plink_wq; + spinlock_t si_plink_maint_lock; + pid_t si_plink_maint_pid; + + /* file list */ + struct hlist_bl_head si_files; + + /* with/without getattr, brother of sb->s_d_op */ + const struct inode_operations *si_iop_array; + + /* + * sysfs and lifetime management. + * this is not a small structure and it may be a waste of memory in case + * of sysfs is disabled, particularly when many aufs-es are mounted. + * but using sysfs is majority. + */ + struct kobject si_kobj; +#ifdef CONFIG_DEBUG_FS + struct dentry *si_dbgaufs; + struct dentry *si_dbgaufs_plink; + struct dentry *si_dbgaufs_xib; +#ifdef CONFIG_AUFS_EXPORT + struct dentry *si_dbgaufs_xigen; +#endif +#endif + +#ifdef CONFIG_AUFS_SBILIST + struct hlist_bl_node si_list; +#endif + + /* dirty, necessary for unmounting, sysfs and sysrq */ + struct super_block *si_sb; +}; + +/* sbinfo status flags */ +/* + * set true when refresh_dirs() failed at remount time. + * then try refreshing dirs at access time again. + * if it is false, refreshing dirs at access time is unnecessary + */ +#define AuSi_FAILED_REFRESH_DIR 1 +#define AuSi_FHSM (1 << 1) /* fhsm is active now */ +#define AuSi_NO_DREVAL (1 << 2) /* disable all d_revalidate */ + +#ifndef CONFIG_AUFS_FHSM +#undef AuSi_FHSM +#define AuSi_FHSM 0 +#endif + +static inline unsigned char au_do_ftest_si(struct au_sbinfo *sbi, + unsigned int flag) +{ + AuRwMustAnyLock(&sbi->si_rwsem); + return sbi->au_si_status & flag; +} +#define au_ftest_si(sbinfo, name) au_do_ftest_si(sbinfo, AuSi_##name) +#define au_fset_si(sbinfo, name) do { \ + AuRwMustWriteLock(&(sbinfo)->si_rwsem); \ + (sbinfo)->au_si_status |= AuSi_##name; \ +} while (0) +#define au_fclr_si(sbinfo, name) do { \ + AuRwMustWriteLock(&(sbinfo)->si_rwsem); \ + (sbinfo)->au_si_status &= ~AuSi_##name; \ +} while (0) + +/* ---------------------------------------------------------------------- */ + +/* policy to select one among writable branches */ +#define AuWbrCopyup(sbinfo, ...) \ + ((sbinfo)->si_wbr_copyup_ops->copyup(__VA_ARGS__)) +#define AuWbrCreate(sbinfo, ...) \ + ((sbinfo)->si_wbr_create_ops->create(__VA_ARGS__)) + +/* flags for si_read_lock()/aufs_read_lock()/di_read_lock() */ +#define AuLock_DW 1 /* write-lock dentry */ +#define AuLock_IR (1 << 1) /* read-lock inode */ +#define AuLock_IW (1 << 2) /* write-lock inode */ +#define AuLock_FLUSH (1 << 3) /* wait for 'nowait' tasks */ +#define AuLock_DIRS (1 << 4) /* target is a pair of dirs */ + /* except RENAME_EXCHANGE */ +#define AuLock_NOPLM (1 << 5) /* return err in plm mode */ +#define AuLock_NOPLMW (1 << 6) /* wait for plm mode ends */ +#define AuLock_GEN (1 << 7) /* test digen/iigen */ +#define au_ftest_lock(flags, name) ((flags) & AuLock_##name) +#define au_fset_lock(flags, name) \ + do { (flags) |= AuLock_##name; } while (0) +#define au_fclr_lock(flags, name) \ + do { (flags) &= ~AuLock_##name; } while (0) + +/* ---------------------------------------------------------------------- */ + +/* super.c */ +extern struct file_system_type aufs_fs_type; +struct inode *au_iget_locked(struct super_block *sb, ino_t ino); +typedef unsigned long long (*au_arraycb_t)(struct super_block *sb, void *array, + unsigned long long max, void *arg); +void *au_array_alloc(unsigned long long *hint, au_arraycb_t cb, + struct super_block *sb, void *arg); +struct inode **au_iarray_alloc(struct super_block *sb, unsigned long long *max); +void au_iarray_free(struct inode **a, unsigned long long max); + +/* sbinfo.c */ +void au_si_free(struct kobject *kobj); +int au_si_alloc(struct super_block *sb); +int au_sbr_realloc(struct au_sbinfo *sbinfo, int nbr, int may_shrink); + +unsigned int au_sigen_inc(struct super_block *sb); +aufs_bindex_t au_new_br_id(struct super_block *sb); + +int si_read_lock(struct super_block *sb, int flags); +int si_write_lock(struct super_block *sb, int flags); +int aufs_read_lock(struct dentry *dentry, int flags); +void aufs_read_unlock(struct dentry *dentry, int flags); +void aufs_write_lock(struct dentry *dentry); +void aufs_write_unlock(struct dentry *dentry); +int aufs_read_and_write_lock2(struct dentry *d1, struct dentry *d2, int flags); +void aufs_read_and_write_unlock2(struct dentry *d1, struct dentry *d2); + +/* wbr_policy.c */ +extern struct au_wbr_copyup_operations au_wbr_copyup_ops[]; +extern struct au_wbr_create_operations au_wbr_create_ops[]; +int au_cpdown_dirs(struct dentry *dentry, aufs_bindex_t bdst); +int au_wbr_nonopq(struct dentry *dentry, aufs_bindex_t bindex); +int au_wbr_do_copyup_bu(struct dentry *dentry, aufs_bindex_t btop); + +/* mvdown.c */ +int au_mvdown(struct dentry *dentry, struct aufs_mvdown __user *arg); + +#ifdef CONFIG_AUFS_FHSM +/* fhsm.c */ + +static inline pid_t au_fhsm_pid(struct au_fhsm *fhsm) +{ + pid_t pid; + + spin_lock(&fhsm->fhsm_spin); + pid = fhsm->fhsm_pid; + spin_unlock(&fhsm->fhsm_spin); + + return pid; +} + +void au_fhsm_wrote(struct super_block *sb, aufs_bindex_t bindex, int force); +void au_fhsm_wrote_all(struct super_block *sb, int force); +int au_fhsm_fd(struct super_block *sb, int oflags); +int au_fhsm_br_alloc(struct au_branch *br); +void au_fhsm_set_bottom(struct super_block *sb, aufs_bindex_t bindex); +void au_fhsm_fin(struct super_block *sb); +void au_fhsm_init(struct au_sbinfo *sbinfo); +void au_fhsm_set(struct au_sbinfo *sbinfo, unsigned int sec); +void au_fhsm_show(struct seq_file *seq, struct au_sbinfo *sbinfo); +#else +AuStubVoid(au_fhsm_wrote, struct super_block *sb, aufs_bindex_t bindex, + int force) +AuStubVoid(au_fhsm_wrote_all, struct super_block *sb, int force) +AuStub(int, au_fhsm_fd, return -EOPNOTSUPP, struct super_block *sb, int oflags) +AuStub(pid_t, au_fhsm_pid, return 0, struct au_fhsm *fhsm) +AuStubInt0(au_fhsm_br_alloc, struct au_branch *br) +AuStubVoid(au_fhsm_set_bottom, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(au_fhsm_fin, struct super_block *sb) +AuStubVoid(au_fhsm_init, struct au_sbinfo *sbinfo) +AuStubVoid(au_fhsm_set, struct au_sbinfo *sbinfo, unsigned int sec) +AuStubVoid(au_fhsm_show, struct seq_file *seq, struct au_sbinfo *sbinfo) +#endif + +/* ---------------------------------------------------------------------- */ + +static inline struct au_sbinfo *au_sbi(struct super_block *sb) +{ + return sb->s_fs_info; +} + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_EXPORT +int au_test_nfsd(void); +void au_export_init(struct super_block *sb); +void au_xigen_inc(struct inode *inode); +int au_xigen_new(struct inode *inode); +int au_xigen_set(struct super_block *sb, struct path *path); +void au_xigen_clr(struct super_block *sb); + +static inline int au_busy_or_stale(void) +{ + if (!au_test_nfsd()) + return -EBUSY; + return -ESTALE; +} +#else +AuStubInt0(au_test_nfsd, void) +AuStubVoid(au_export_init, struct super_block *sb) +AuStubVoid(au_xigen_inc, struct inode *inode) +AuStubInt0(au_xigen_new, struct inode *inode) +AuStubInt0(au_xigen_set, struct super_block *sb, struct path *path) +AuStubVoid(au_xigen_clr, struct super_block *sb) +AuStub(int, au_busy_or_stale, return -EBUSY, void) +#endif /* CONFIG_AUFS_EXPORT */ + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_SBILIST +/* module.c */ +extern struct hlist_bl_head au_sbilist; + +static inline void au_sbilist_init(void) +{ + INIT_HLIST_BL_HEAD(&au_sbilist); +} + +static inline void au_sbilist_add(struct super_block *sb) +{ + au_hbl_add(&au_sbi(sb)->si_list, &au_sbilist); +} + +static inline void au_sbilist_del(struct super_block *sb) +{ + au_hbl_del(&au_sbi(sb)->si_list, &au_sbilist); +} + +#ifdef CONFIG_AUFS_MAGIC_SYSRQ +static inline void au_sbilist_lock(void) +{ + hlist_bl_lock(&au_sbilist); +} + +static inline void au_sbilist_unlock(void) +{ + hlist_bl_unlock(&au_sbilist); +} +#define AuGFP_SBILIST GFP_ATOMIC +#else +AuStubVoid(au_sbilist_lock, void) +AuStubVoid(au_sbilist_unlock, void) +#define AuGFP_SBILIST GFP_NOFS +#endif /* CONFIG_AUFS_MAGIC_SYSRQ */ +#else +AuStubVoid(au_sbilist_init, void) +AuStubVoid(au_sbilist_add, struct super_block *sb) +AuStubVoid(au_sbilist_del, struct super_block *sb) +AuStubVoid(au_sbilist_lock, void) +AuStubVoid(au_sbilist_unlock, void) +#define AuGFP_SBILIST GFP_NOFS +#endif + +/* ---------------------------------------------------------------------- */ + +static inline void dbgaufs_si_null(struct au_sbinfo *sbinfo) +{ + /* + * This function is a dynamic '__init' function actually, + * so the tiny check for si_rwsem is unnecessary. + */ + /* AuRwMustWriteLock(&sbinfo->si_rwsem); */ +#ifdef CONFIG_DEBUG_FS + sbinfo->si_dbgaufs = NULL; + sbinfo->si_dbgaufs_plink = NULL; + sbinfo->si_dbgaufs_xib = NULL; +#ifdef CONFIG_AUFS_EXPORT + sbinfo->si_dbgaufs_xigen = NULL; +#endif +#endif +} + +/* ---------------------------------------------------------------------- */ + +/* current->atomic_flags */ +/* this value should never corrupt the ones defined in linux/sched.h */ +#define PFA_AUFS 0x10 + +TASK_PFA_TEST(AUFS, test_aufs) /* task_test_aufs */ +TASK_PFA_SET(AUFS, aufs) /* task_set_aufs */ +TASK_PFA_CLEAR(AUFS, aufs) /* task_clear_aufs */ + +static inline int si_pid_test(struct super_block *sb) +{ + return !!task_test_aufs(current); +} + +static inline void si_pid_clr(struct super_block *sb) +{ + AuDebugOn(!task_test_aufs(current)); + task_clear_aufs(current); +} + +static inline void si_pid_set(struct super_block *sb) +{ + AuDebugOn(task_test_aufs(current)); + task_set_aufs(current); +} + +/* ---------------------------------------------------------------------- */ + +/* lock superblock. mainly for entry point functions */ +#define __si_read_lock(sb) au_rw_read_lock(&au_sbi(sb)->si_rwsem) +#define __si_write_lock(sb) au_rw_write_lock(&au_sbi(sb)->si_rwsem) +#define __si_read_trylock(sb) au_rw_read_trylock(&au_sbi(sb)->si_rwsem) +#define __si_write_trylock(sb) au_rw_write_trylock(&au_sbi(sb)->si_rwsem) +/* +#define __si_read_trylock_nested(sb) \ + au_rw_read_trylock_nested(&au_sbi(sb)->si_rwsem) +#define __si_write_trylock_nested(sb) \ + au_rw_write_trylock_nested(&au_sbi(sb)->si_rwsem) +*/ + +#define __si_read_unlock(sb) au_rw_read_unlock(&au_sbi(sb)->si_rwsem) +#define __si_write_unlock(sb) au_rw_write_unlock(&au_sbi(sb)->si_rwsem) +#define __si_downgrade_lock(sb) au_rw_dgrade_lock(&au_sbi(sb)->si_rwsem) + +#define SiMustNoWaiters(sb) AuRwMustNoWaiters(&au_sbi(sb)->si_rwsem) +#define SiMustAnyLock(sb) AuRwMustAnyLock(&au_sbi(sb)->si_rwsem) +#define SiMustWriteLock(sb) AuRwMustWriteLock(&au_sbi(sb)->si_rwsem) + +static inline void si_noflush_read_lock(struct super_block *sb) +{ + __si_read_lock(sb); + si_pid_set(sb); +} + +static inline int si_noflush_read_trylock(struct super_block *sb) +{ + int locked; + + locked = __si_read_trylock(sb); + if (locked) + si_pid_set(sb); + return locked; +} + +static inline void si_noflush_write_lock(struct super_block *sb) +{ + __si_write_lock(sb); + si_pid_set(sb); +} + +static inline int si_noflush_write_trylock(struct super_block *sb) +{ + int locked; + + locked = __si_write_trylock(sb); + if (locked) + si_pid_set(sb); + return locked; +} + +#if 0 /* reserved */ +static inline int si_read_trylock(struct super_block *sb, int flags) +{ + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + return si_noflush_read_trylock(sb); +} +#endif + +static inline void si_read_unlock(struct super_block *sb) +{ + si_pid_clr(sb); + __si_read_unlock(sb); +} + +#if 0 /* reserved */ +static inline int si_write_trylock(struct super_block *sb, int flags) +{ + if (au_ftest_lock(flags, FLUSH)) + au_nwt_flush(&au_sbi(sb)->si_nowait); + return si_noflush_write_trylock(sb); +} +#endif + +static inline void si_write_unlock(struct super_block *sb) +{ + si_pid_clr(sb); + __si_write_unlock(sb); +} + +#if 0 /* reserved */ +static inline void si_downgrade_lock(struct super_block *sb) +{ + __si_downgrade_lock(sb); +} +#endif + +/* ---------------------------------------------------------------------- */ + +static inline aufs_bindex_t au_sbbot(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_bbot; +} + +static inline unsigned int au_mntflags(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_mntflags; +} + +static inline unsigned int au_sigen(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_generation; +} + +static inline struct au_branch *au_sbr(struct super_block *sb, + aufs_bindex_t bindex) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_branch[0 + bindex]; +} + +static inline loff_t au_xi_maxent(struct super_block *sb) +{ + SiMustAnyLock(sb); + return au_sbi(sb)->si_ximaxent; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_SUPER_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/sysaufs.c +++ linux-riscv-5.8-5.8.0/fs/aufs/sysaufs.c @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sysfs interface and lifetime management + * they are necessary regardless sysfs is disabled. + */ + +#include +#include "aufs.h" + +unsigned long sysaufs_si_mask; +struct kset *sysaufs_kset; + +#define AuSiAttr(_name) { \ + .attr = { .name = __stringify(_name), .mode = 0444 }, \ + .show = sysaufs_si_##_name, \ +} + +static struct sysaufs_si_attr sysaufs_si_attr_xi_path = AuSiAttr(xi_path); +struct attribute *sysaufs_si_attrs[] = { + &sysaufs_si_attr_xi_path.attr, + NULL, +}; + +static const struct sysfs_ops au_sbi_ops = { + .show = sysaufs_si_show +}; + +static struct kobj_type au_sbi_ktype = { + .release = au_si_free, + .sysfs_ops = &au_sbi_ops, + .default_attrs = sysaufs_si_attrs +}; + +/* ---------------------------------------------------------------------- */ + +int sysaufs_si_init(struct au_sbinfo *sbinfo) +{ + int err; + + sbinfo->si_kobj.kset = sysaufs_kset; + /* cf. sysaufs_name() */ + err = kobject_init_and_add + (&sbinfo->si_kobj, &au_sbi_ktype, /*&sysaufs_kset->kobj*/NULL, + SysaufsSiNamePrefix "%lx", sysaufs_si_id(sbinfo)); + + return err; +} + +void sysaufs_fin(void) +{ + sysfs_remove_group(&sysaufs_kset->kobj, sysaufs_attr_group); + kset_unregister(sysaufs_kset); +} + +int __init sysaufs_init(void) +{ + int err; + + do { + get_random_bytes(&sysaufs_si_mask, sizeof(sysaufs_si_mask)); + } while (!sysaufs_si_mask); + + err = -EINVAL; + sysaufs_kset = kset_create_and_add(AUFS_NAME, NULL, fs_kobj); + if (unlikely(!sysaufs_kset)) + goto out; + err = PTR_ERR(sysaufs_kset); + if (IS_ERR(sysaufs_kset)) + goto out; + err = sysfs_create_group(&sysaufs_kset->kobj, sysaufs_attr_group); + if (unlikely(err)) + kset_unregister(sysaufs_kset); + +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/sysaufs.h +++ linux-riscv-5.8-5.8.0/fs/aufs/sysaufs.h @@ -0,0 +1,102 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sysfs interface and mount lifetime management + */ + +#ifndef __SYSAUFS_H__ +#define __SYSAUFS_H__ + +#ifdef __KERNEL__ + +#include +#include "module.h" + +struct super_block; +struct au_sbinfo; + +struct sysaufs_si_attr { + struct attribute attr; + int (*show)(struct seq_file *seq, struct super_block *sb); +}; + +/* ---------------------------------------------------------------------- */ + +/* sysaufs.c */ +extern unsigned long sysaufs_si_mask; +extern struct kset *sysaufs_kset; +extern struct attribute *sysaufs_si_attrs[]; +int sysaufs_si_init(struct au_sbinfo *sbinfo); +int __init sysaufs_init(void); +void sysaufs_fin(void); + +/* ---------------------------------------------------------------------- */ + +/* some people doesn't like to show a pointer in kernel */ +static inline unsigned long sysaufs_si_id(struct au_sbinfo *sbinfo) +{ + return sysaufs_si_mask ^ (unsigned long)sbinfo; +} + +#define SysaufsSiNamePrefix "si_" +#define SysaufsSiNameLen (sizeof(SysaufsSiNamePrefix) + 16) +static inline void sysaufs_name(struct au_sbinfo *sbinfo, char *name) +{ + snprintf(name, SysaufsSiNameLen, SysaufsSiNamePrefix "%lx", + sysaufs_si_id(sbinfo)); +} + +struct au_branch; +#ifdef CONFIG_SYSFS +/* sysfs.c */ +extern struct attribute_group *sysaufs_attr_group; + +int sysaufs_si_xi_path(struct seq_file *seq, struct super_block *sb); +ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, + char *buf); +long au_brinfo_ioctl(struct file *file, unsigned long arg); +#ifdef CONFIG_COMPAT +long au_brinfo_compat_ioctl(struct file *file, unsigned long arg); +#endif + +void sysaufs_br_init(struct au_branch *br); +void sysaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex); +void sysaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex); + +#define sysaufs_brs_init() do {} while (0) + +#else +#define sysaufs_attr_group NULL + +AuStubInt0(sysaufs_si_xi_path, struct seq_file *seq, struct super_block *sb) +AuStub(ssize_t, sysaufs_si_show, return 0, struct kobject *kobj, + struct attribute *attr, char *buf) +AuStubVoid(sysaufs_br_init, struct au_branch *br) +AuStubVoid(sysaufs_brs_add, struct super_block *sb, aufs_bindex_t bindex) +AuStubVoid(sysaufs_brs_del, struct super_block *sb, aufs_bindex_t bindex) + +static inline void sysaufs_brs_init(void) +{ + sysaufs_brs = 0; +} + +#endif /* CONFIG_SYSFS */ + +#endif /* __KERNEL__ */ +#endif /* __SYSAUFS_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/sysfs.c +++ linux-riscv-5.8-5.8.0/fs/aufs/sysfs.c @@ -0,0 +1,374 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sysfs interface + */ + +#include +#include +#include "aufs.h" + +#ifdef CONFIG_AUFS_FS_MODULE +/* this entry violates the "one line per file" policy of sysfs */ +static ssize_t config_show(struct kobject *kobj, struct kobj_attribute *attr, + char *buf) +{ + ssize_t err; + static char *conf = +/* this file is generated at compiling */ +#include "conf.str" + ; + + err = snprintf(buf, PAGE_SIZE, conf); + if (unlikely(err >= PAGE_SIZE)) + err = -EFBIG; + return err; +} + +static struct kobj_attribute au_config_attr = __ATTR_RO(config); +#endif + +static struct attribute *au_attr[] = { +#ifdef CONFIG_AUFS_FS_MODULE + &au_config_attr.attr, +#endif + NULL, /* need to NULL terminate the list of attributes */ +}; + +static struct attribute_group sysaufs_attr_group_body = { + .attrs = au_attr +}; + +struct attribute_group *sysaufs_attr_group = &sysaufs_attr_group_body; + +/* ---------------------------------------------------------------------- */ + +int sysaufs_si_xi_path(struct seq_file *seq, struct super_block *sb) +{ + int err; + + SiMustAnyLock(sb); + + err = 0; + if (au_opt_test(au_mntflags(sb), XINO)) { + err = au_xino_path(seq, au_sbi(sb)->si_xib); + seq_putc(seq, '\n'); + } + return err; +} + +/* + * the lifetime of branch is independent from the entry under sysfs. + * sysfs handles the lifetime of the entry, and never call ->show() after it is + * unlinked. + */ +static int sysaufs_si_br(struct seq_file *seq, struct super_block *sb, + aufs_bindex_t bindex, int idx) +{ + int err; + struct path path; + struct dentry *root; + struct au_branch *br; + au_br_perm_str_t perm; + + AuDbg("b%d\n", bindex); + + err = 0; + root = sb->s_root; + di_read_lock_parent(root, !AuLock_IR); + br = au_sbr(sb, bindex); + + switch (idx) { + case AuBrSysfs_BR: + path.mnt = au_br_mnt(br); + path.dentry = au_h_dptr(root, bindex); + err = au_seq_path(seq, &path); + if (!err) { + au_optstr_br_perm(&perm, br->br_perm); + seq_printf(seq, "=%s\n", perm.a); + } + break; + case AuBrSysfs_BRID: + seq_printf(seq, "%d\n", br->br_id); + break; + } + di_read_unlock(root, !AuLock_IR); + if (unlikely(err || seq_has_overflowed(seq))) + err = -E2BIG; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +static struct seq_file *au_seq(char *p, ssize_t len) +{ + struct seq_file *seq; + + seq = kzalloc(sizeof(*seq), GFP_NOFS); + if (seq) { + /* mutex_init(&seq.lock); */ + seq->buf = p; + seq->size = len; + return seq; /* success */ + } + + seq = ERR_PTR(-ENOMEM); + return seq; +} + +#define SysaufsBr_PREFIX "br" +#define SysaufsBrid_PREFIX "brid" + +/* todo: file size may exceed PAGE_SIZE */ +ssize_t sysaufs_si_show(struct kobject *kobj, struct attribute *attr, + char *buf) +{ + ssize_t err; + int idx; + long l; + aufs_bindex_t bbot; + struct au_sbinfo *sbinfo; + struct super_block *sb; + struct seq_file *seq; + char *name; + struct attribute **cattr; + + sbinfo = container_of(kobj, struct au_sbinfo, si_kobj); + sb = sbinfo->si_sb; + + /* + * prevent a race condition between sysfs and aufs. + * for instance, sysfs_file_read() calls sysfs_get_active_two() which + * prohibits maintaining the sysfs entries. + * hew we acquire read lock after sysfs_get_active_two(). + * on the other hand, the remount process may maintain the sysfs/aufs + * entries after acquiring write lock. + * it can cause a deadlock. + * simply we gave up processing read here. + */ + err = -EBUSY; + if (unlikely(!si_noflush_read_trylock(sb))) + goto out; + + seq = au_seq(buf, PAGE_SIZE); + err = PTR_ERR(seq); + if (IS_ERR(seq)) + goto out_unlock; + + name = (void *)attr->name; + cattr = sysaufs_si_attrs; + while (*cattr) { + if (!strcmp(name, (*cattr)->name)) { + err = container_of(*cattr, struct sysaufs_si_attr, attr) + ->show(seq, sb); + goto out_seq; + } + cattr++; + } + + if (!strncmp(name, SysaufsBrid_PREFIX, + sizeof(SysaufsBrid_PREFIX) - 1)) { + idx = AuBrSysfs_BRID; + name += sizeof(SysaufsBrid_PREFIX) - 1; + } else if (!strncmp(name, SysaufsBr_PREFIX, + sizeof(SysaufsBr_PREFIX) - 1)) { + idx = AuBrSysfs_BR; + name += sizeof(SysaufsBr_PREFIX) - 1; + } else + BUG(); + + err = kstrtol(name, 10, &l); + if (!err) { + bbot = au_sbbot(sb); + if (l <= bbot) + err = sysaufs_si_br(seq, sb, (aufs_bindex_t)l, idx); + else + err = -ENOENT; + } + +out_seq: + if (!err) { + err = seq->count; + /* sysfs limit */ + if (unlikely(err == PAGE_SIZE)) + err = -EFBIG; + } + au_kfree_rcu(seq); +out_unlock: + si_read_unlock(sb); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_brinfo(struct super_block *sb, union aufs_brinfo __user *arg) +{ + int err; + int16_t brid; + aufs_bindex_t bindex, bbot; + size_t sz; + char *buf; + struct seq_file *seq; + struct au_branch *br; + + si_read_lock(sb, AuLock_FLUSH); + bbot = au_sbbot(sb); + err = bbot + 1; + if (!arg) + goto out; + + err = -ENOMEM; + buf = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!buf)) + goto out; + + seq = au_seq(buf, PAGE_SIZE); + err = PTR_ERR(seq); + if (IS_ERR(seq)) + goto out_buf; + + sz = sizeof(*arg) - offsetof(union aufs_brinfo, path); + for (bindex = 0; bindex <= bbot; bindex++, arg++) { + /* VERIFY_WRITE */ + err = !access_ok(arg, sizeof(*arg)); + if (unlikely(err)) + break; + + br = au_sbr(sb, bindex); + brid = br->br_id; + BUILD_BUG_ON(sizeof(brid) != sizeof(arg->id)); + err = __put_user(brid, &arg->id); + if (unlikely(err)) + break; + + BUILD_BUG_ON(sizeof(br->br_perm) != sizeof(arg->perm)); + err = __put_user(br->br_perm, &arg->perm); + if (unlikely(err)) + break; + + err = au_seq_path(seq, &br->br_path); + if (unlikely(err)) + break; + seq_putc(seq, '\0'); + if (!seq_has_overflowed(seq)) { + err = copy_to_user(arg->path, seq->buf, seq->count); + seq->count = 0; + if (unlikely(err)) + break; + } else { + err = -E2BIG; + goto out_seq; + } + } + if (unlikely(err)) + err = -EFAULT; + +out_seq: + au_kfree_rcu(seq); +out_buf: + free_page((unsigned long)buf); +out: + si_read_unlock(sb); + return err; +} + +long au_brinfo_ioctl(struct file *file, unsigned long arg) +{ + return au_brinfo(file->f_path.dentry->d_sb, (void __user *)arg); +} + +#ifdef CONFIG_COMPAT +long au_brinfo_compat_ioctl(struct file *file, unsigned long arg) +{ + return au_brinfo(file->f_path.dentry->d_sb, compat_ptr(arg)); +} +#endif + +/* ---------------------------------------------------------------------- */ + +void sysaufs_br_init(struct au_branch *br) +{ + int i; + struct au_brsysfs *br_sysfs; + struct attribute *attr; + + br_sysfs = br->br_sysfs; + for (i = 0; i < ARRAY_SIZE(br->br_sysfs); i++) { + attr = &br_sysfs->attr; + sysfs_attr_init(attr); + attr->name = br_sysfs->name; + attr->mode = 0444; + br_sysfs++; + } +} + +void sysaufs_brs_del(struct super_block *sb, aufs_bindex_t bindex) +{ + struct au_branch *br; + struct kobject *kobj; + struct au_brsysfs *br_sysfs; + int i; + aufs_bindex_t bbot; + + if (!sysaufs_brs) + return; + + kobj = &au_sbi(sb)->si_kobj; + bbot = au_sbbot(sb); + for (; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + br_sysfs = br->br_sysfs; + for (i = 0; i < ARRAY_SIZE(br->br_sysfs); i++) { + sysfs_remove_file(kobj, &br_sysfs->attr); + br_sysfs++; + } + } +} + +void sysaufs_brs_add(struct super_block *sb, aufs_bindex_t bindex) +{ + int err, i; + aufs_bindex_t bbot; + struct kobject *kobj; + struct au_branch *br; + struct au_brsysfs *br_sysfs; + + if (!sysaufs_brs) + return; + + kobj = &au_sbi(sb)->si_kobj; + bbot = au_sbbot(sb); + for (; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + br_sysfs = br->br_sysfs; + snprintf(br_sysfs[AuBrSysfs_BR].name, sizeof(br_sysfs->name), + SysaufsBr_PREFIX "%d", bindex); + snprintf(br_sysfs[AuBrSysfs_BRID].name, sizeof(br_sysfs->name), + SysaufsBrid_PREFIX "%d", bindex); + for (i = 0; i < ARRAY_SIZE(br->br_sysfs); i++) { + err = sysfs_create_file(kobj, &br_sysfs->attr); + if (unlikely(err)) + pr_warn("failed %s under sysfs(%d)\n", + br_sysfs->name, err); + br_sysfs++; + } + } +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/sysrq.c +++ linux-riscv-5.8-5.8.0/fs/aufs/sysrq.c @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * magic sysrq handler + */ + +/* #include */ +#include +#include "aufs.h" + +/* ---------------------------------------------------------------------- */ + +static void sysrq_sb(struct super_block *sb) +{ + char *plevel; + struct au_sbinfo *sbinfo; + struct file *file; + struct hlist_bl_head *files; + struct hlist_bl_node *pos; + struct au_finfo *finfo; + struct inode *i; + + plevel = au_plevel; + au_plevel = KERN_WARNING; + + /* since we define pr_fmt, call printk directly */ +#define pr(str) printk(KERN_WARNING AUFS_NAME ": " str) + + sbinfo = au_sbi(sb); + printk(KERN_WARNING "si=%lx\n", sysaufs_si_id(sbinfo)); + pr("superblock\n"); + au_dpri_sb(sb); + +#if 0 /* reserved */ + do { + int err, i, j, ndentry; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + + err = au_dpages_init(&dpages, GFP_ATOMIC); + if (unlikely(err)) + break; + err = au_dcsub_pages(&dpages, sb->s_root, NULL, NULL); + if (!err) + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) + au_dpri_dentry(dpage->dentries[j]); + } + au_dpages_free(&dpages); + } while (0); +#endif + + pr("isolated inode\n"); + spin_lock(&sb->s_inode_list_lock); + list_for_each_entry(i, &sb->s_inodes, i_sb_list) { + spin_lock(&i->i_lock); + if (hlist_empty(&i->i_dentry)) + au_dpri_inode(i); + spin_unlock(&i->i_lock); + } + spin_unlock(&sb->s_inode_list_lock); + + pr("files\n"); + files = &au_sbi(sb)->si_files; + hlist_bl_lock(files); + hlist_bl_for_each_entry(finfo, pos, files, fi_hlist) { + umode_t mode; + + file = finfo->fi_file; + mode = file_inode(file)->i_mode; + if (!special_file(mode)) + au_dpri_file(file); + } + hlist_bl_unlock(files); + pr("done\n"); + +#undef pr + au_plevel = plevel; +} + +/* ---------------------------------------------------------------------- */ + +/* module parameter */ +static char *aufs_sysrq_key = "a"; +module_param_named(sysrq, aufs_sysrq_key, charp, 0444); +MODULE_PARM_DESC(sysrq, "MagicSysRq key for " AUFS_NAME); + +static void au_sysrq(int key __maybe_unused) +{ + struct au_sbinfo *sbinfo; + struct hlist_bl_node *pos; + + lockdep_off(); + au_sbilist_lock(); + hlist_bl_for_each_entry(sbinfo, pos, &au_sbilist, si_list) + sysrq_sb(sbinfo->si_sb); + au_sbilist_unlock(); + lockdep_on(); +} + +static struct sysrq_key_op au_sysrq_op = { + .handler = au_sysrq, + .help_msg = "Aufs", + .action_msg = "Aufs", + .enable_mask = SYSRQ_ENABLE_DUMP +}; + +/* ---------------------------------------------------------------------- */ + +int __init au_sysrq_init(void) +{ + int err; + char key; + + err = -1; + key = *aufs_sysrq_key; + if ('a' <= key && key <= 'z') + err = register_sysrq_key(key, &au_sysrq_op); + if (unlikely(err)) + pr_err("err %d, sysrq=%c\n", err, key); + return err; +} + +void au_sysrq_fin(void) +{ + int err; + + err = unregister_sysrq_key(*aufs_sysrq_key, &au_sysrq_op); + if (unlikely(err)) + pr_err("err %d (ignored)\n", err); +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/vdir.c +++ linux-riscv-5.8-5.8.0/fs/aufs/vdir.c @@ -0,0 +1,896 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * virtual or vertical directory + */ + +#include +#include "aufs.h" + +static unsigned int calc_size(int nlen) +{ + return ALIGN(sizeof(struct au_vdir_de) + nlen, sizeof(ino_t)); +} + +static int set_deblk_end(union au_vdir_deblk_p *p, + union au_vdir_deblk_p *deblk_end) +{ + if (calc_size(0) <= deblk_end->deblk - p->deblk) { + p->de->de_str.len = 0; + /* smp_mb(); */ + return 0; + } + return -1; /* error */ +} + +/* returns true or false */ +static int is_deblk_end(union au_vdir_deblk_p *p, + union au_vdir_deblk_p *deblk_end) +{ + if (calc_size(0) <= deblk_end->deblk - p->deblk) + return !p->de->de_str.len; + return 1; +} + +static unsigned char *last_deblk(struct au_vdir *vdir) +{ + return vdir->vd_deblk[vdir->vd_nblk - 1]; +} + +/* ---------------------------------------------------------------------- */ + +/* estimate the appropriate size for name hash table */ +unsigned int au_rdhash_est(loff_t sz) +{ + unsigned int n; + + n = UINT_MAX; + sz >>= 10; + if (sz < n) + n = sz; + if (sz < AUFS_RDHASH_DEF) + n = AUFS_RDHASH_DEF; + /* pr_info("n %u\n", n); */ + return n; +} + +/* + * the allocated memory has to be freed by + * au_nhash_wh_free() or au_nhash_de_free(). + */ +int au_nhash_alloc(struct au_nhash *nhash, unsigned int num_hash, gfp_t gfp) +{ + struct hlist_head *head; + unsigned int u; + size_t sz; + + sz = sizeof(*nhash->nh_head) * num_hash; + head = kmalloc(sz, gfp); + if (head) { + nhash->nh_num = num_hash; + nhash->nh_head = head; + for (u = 0; u < num_hash; u++) + INIT_HLIST_HEAD(head++); + return 0; /* success */ + } + + return -ENOMEM; +} + +static void nhash_count(struct hlist_head *head) +{ +#if 0 /* debugging */ + unsigned long n; + struct hlist_node *pos; + + n = 0; + hlist_for_each(pos, head) + n++; + pr_info("%lu\n", n); +#endif +} + +static void au_nhash_wh_do_free(struct hlist_head *head) +{ + struct au_vdir_wh *pos; + struct hlist_node *node; + + hlist_for_each_entry_safe(pos, node, head, wh_hash) + au_kfree_rcu(pos); +} + +static void au_nhash_de_do_free(struct hlist_head *head) +{ + struct au_vdir_dehstr *pos; + struct hlist_node *node; + + hlist_for_each_entry_safe(pos, node, head, hash) + au_cache_free_vdir_dehstr(pos); +} + +static void au_nhash_do_free(struct au_nhash *nhash, + void (*free)(struct hlist_head *head)) +{ + unsigned int n; + struct hlist_head *head; + + n = nhash->nh_num; + if (!n) + return; + + head = nhash->nh_head; + while (n-- > 0) { + nhash_count(head); + free(head++); + } + au_kfree_try_rcu(nhash->nh_head); +} + +void au_nhash_wh_free(struct au_nhash *whlist) +{ + au_nhash_do_free(whlist, au_nhash_wh_do_free); +} + +static void au_nhash_de_free(struct au_nhash *delist) +{ + au_nhash_do_free(delist, au_nhash_de_do_free); +} + +/* ---------------------------------------------------------------------- */ + +int au_nhash_test_longer_wh(struct au_nhash *whlist, aufs_bindex_t btgt, + int limit) +{ + int num; + unsigned int u, n; + struct hlist_head *head; + struct au_vdir_wh *pos; + + num = 0; + n = whlist->nh_num; + head = whlist->nh_head; + for (u = 0; u < n; u++, head++) + hlist_for_each_entry(pos, head, wh_hash) + if (pos->wh_bindex == btgt && ++num > limit) + return 1; + return 0; +} + +static struct hlist_head *au_name_hash(struct au_nhash *nhash, + unsigned char *name, + unsigned int len) +{ + unsigned int v; + /* const unsigned int magic_bit = 12; */ + + AuDebugOn(!nhash->nh_num || !nhash->nh_head); + + v = 0; + if (len > 8) + len = 8; + while (len--) + v += *name++; + /* v = hash_long(v, magic_bit); */ + v %= nhash->nh_num; + return nhash->nh_head + v; +} + +static int au_nhash_test_name(struct au_vdir_destr *str, const char *name, + int nlen) +{ + return str->len == nlen && !memcmp(str->name, name, nlen); +} + +/* returns found or not */ +int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen) +{ + struct hlist_head *head; + struct au_vdir_wh *pos; + struct au_vdir_destr *str; + + head = au_name_hash(whlist, name, nlen); + hlist_for_each_entry(pos, head, wh_hash) { + str = &pos->wh_str; + AuDbg("%.*s\n", str->len, str->name); + if (au_nhash_test_name(str, name, nlen)) + return 1; + } + return 0; +} + +/* returns found(true) or not */ +static int test_known(struct au_nhash *delist, char *name, int nlen) +{ + struct hlist_head *head; + struct au_vdir_dehstr *pos; + struct au_vdir_destr *str; + + head = au_name_hash(delist, name, nlen); + hlist_for_each_entry(pos, head, hash) { + str = pos->str; + AuDbg("%.*s\n", str->len, str->name); + if (au_nhash_test_name(str, name, nlen)) + return 1; + } + return 0; +} + +static void au_shwh_init_wh(struct au_vdir_wh *wh, ino_t ino, + unsigned char d_type) +{ +#ifdef CONFIG_AUFS_SHWH + wh->wh_ino = ino; + wh->wh_type = d_type; +#endif +} + +/* ---------------------------------------------------------------------- */ + +int au_nhash_append_wh(struct au_nhash *whlist, char *name, int nlen, ino_t ino, + unsigned int d_type, aufs_bindex_t bindex, + unsigned char shwh) +{ + int err; + struct au_vdir_destr *str; + struct au_vdir_wh *wh; + + AuDbg("%.*s\n", nlen, name); + AuDebugOn(!whlist->nh_num || !whlist->nh_head); + + err = -ENOMEM; + wh = kmalloc(sizeof(*wh) + nlen, GFP_NOFS); + if (unlikely(!wh)) + goto out; + + err = 0; + wh->wh_bindex = bindex; + if (shwh) + au_shwh_init_wh(wh, ino, d_type); + str = &wh->wh_str; + str->len = nlen; + memcpy(str->name, name, nlen); + hlist_add_head(&wh->wh_hash, au_name_hash(whlist, name, nlen)); + /* smp_mb(); */ + +out: + return err; +} + +static int append_deblk(struct au_vdir *vdir) +{ + int err; + unsigned long ul; + const unsigned int deblk_sz = vdir->vd_deblk_sz; + union au_vdir_deblk_p p, deblk_end; + unsigned char **o; + + err = -ENOMEM; + o = au_krealloc(vdir->vd_deblk, sizeof(*o) * (vdir->vd_nblk + 1), + GFP_NOFS, /*may_shrink*/0); + if (unlikely(!o)) + goto out; + + vdir->vd_deblk = o; + p.deblk = kmalloc(deblk_sz, GFP_NOFS); + if (p.deblk) { + ul = vdir->vd_nblk++; + vdir->vd_deblk[ul] = p.deblk; + vdir->vd_last.ul = ul; + vdir->vd_last.p.deblk = p.deblk; + deblk_end.deblk = p.deblk + deblk_sz; + err = set_deblk_end(&p, &deblk_end); + } + +out: + return err; +} + +static int append_de(struct au_vdir *vdir, char *name, int nlen, ino_t ino, + unsigned int d_type, struct au_nhash *delist) +{ + int err; + unsigned int sz; + const unsigned int deblk_sz = vdir->vd_deblk_sz; + union au_vdir_deblk_p p, *room, deblk_end; + struct au_vdir_dehstr *dehstr; + + p.deblk = last_deblk(vdir); + deblk_end.deblk = p.deblk + deblk_sz; + room = &vdir->vd_last.p; + AuDebugOn(room->deblk < p.deblk || deblk_end.deblk <= room->deblk + || !is_deblk_end(room, &deblk_end)); + + sz = calc_size(nlen); + if (unlikely(sz > deblk_end.deblk - room->deblk)) { + err = append_deblk(vdir); + if (unlikely(err)) + goto out; + + p.deblk = last_deblk(vdir); + deblk_end.deblk = p.deblk + deblk_sz; + /* smp_mb(); */ + AuDebugOn(room->deblk != p.deblk); + } + + err = -ENOMEM; + dehstr = au_cache_alloc_vdir_dehstr(); + if (unlikely(!dehstr)) + goto out; + + dehstr->str = &room->de->de_str; + hlist_add_head(&dehstr->hash, au_name_hash(delist, name, nlen)); + room->de->de_ino = ino; + room->de->de_type = d_type; + room->de->de_str.len = nlen; + memcpy(room->de->de_str.name, name, nlen); + + err = 0; + room->deblk += sz; + if (unlikely(set_deblk_end(room, &deblk_end))) + err = append_deblk(vdir); + /* smp_mb(); */ + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_vdir_free(struct au_vdir *vdir) +{ + unsigned char **deblk; + + deblk = vdir->vd_deblk; + while (vdir->vd_nblk--) + au_kfree_try_rcu(*deblk++); + au_kfree_try_rcu(vdir->vd_deblk); + au_cache_free_vdir(vdir); +} + +static struct au_vdir *alloc_vdir(struct file *file) +{ + struct au_vdir *vdir; + struct super_block *sb; + int err; + + sb = file->f_path.dentry->d_sb; + SiMustAnyLock(sb); + + err = -ENOMEM; + vdir = au_cache_alloc_vdir(); + if (unlikely(!vdir)) + goto out; + + vdir->vd_deblk = kzalloc(sizeof(*vdir->vd_deblk), GFP_NOFS); + if (unlikely(!vdir->vd_deblk)) + goto out_free; + + vdir->vd_deblk_sz = au_sbi(sb)->si_rdblk; + if (!vdir->vd_deblk_sz) { + /* estimate the appropriate size for deblk */ + vdir->vd_deblk_sz = au_dir_size(file, /*dentry*/NULL); + /* pr_info("vd_deblk_sz %u\n", vdir->vd_deblk_sz); */ + } + vdir->vd_nblk = 0; + vdir->vd_version = 0; + vdir->vd_jiffy = 0; + err = append_deblk(vdir); + if (!err) + return vdir; /* success */ + + au_kfree_try_rcu(vdir->vd_deblk); + +out_free: + au_cache_free_vdir(vdir); +out: + vdir = ERR_PTR(err); + return vdir; +} + +static int reinit_vdir(struct au_vdir *vdir) +{ + int err; + union au_vdir_deblk_p p, deblk_end; + + while (vdir->vd_nblk > 1) { + au_kfree_try_rcu(vdir->vd_deblk[vdir->vd_nblk - 1]); + /* vdir->vd_deblk[vdir->vd_nblk - 1] = NULL; */ + vdir->vd_nblk--; + } + p.deblk = vdir->vd_deblk[0]; + deblk_end.deblk = p.deblk + vdir->vd_deblk_sz; + err = set_deblk_end(&p, &deblk_end); + /* keep vd_dblk_sz */ + vdir->vd_last.ul = 0; + vdir->vd_last.p.deblk = vdir->vd_deblk[0]; + vdir->vd_version = 0; + vdir->vd_jiffy = 0; + /* smp_mb(); */ + return err; +} + +/* ---------------------------------------------------------------------- */ + +#define AuFillVdir_CALLED 1 +#define AuFillVdir_WHABLE (1 << 1) +#define AuFillVdir_SHWH (1 << 2) +#define au_ftest_fillvdir(flags, name) ((flags) & AuFillVdir_##name) +#define au_fset_fillvdir(flags, name) \ + do { (flags) |= AuFillVdir_##name; } while (0) +#define au_fclr_fillvdir(flags, name) \ + do { (flags) &= ~AuFillVdir_##name; } while (0) + +#ifndef CONFIG_AUFS_SHWH +#undef AuFillVdir_SHWH +#define AuFillVdir_SHWH 0 +#endif + +struct fillvdir_arg { + struct dir_context ctx; + struct file *file; + struct au_vdir *vdir; + struct au_nhash delist; + struct au_nhash whlist; + aufs_bindex_t bindex; + unsigned int flags; + int err; +}; + +static int fillvdir(struct dir_context *ctx, const char *__name, int nlen, + loff_t offset __maybe_unused, u64 h_ino, + unsigned int d_type) +{ + struct fillvdir_arg *arg = container_of(ctx, struct fillvdir_arg, ctx); + char *name = (void *)__name; + struct super_block *sb; + ino_t ino; + const unsigned char shwh = !!au_ftest_fillvdir(arg->flags, SHWH); + + arg->err = 0; + sb = arg->file->f_path.dentry->d_sb; + au_fset_fillvdir(arg->flags, CALLED); + /* smp_mb(); */ + if (nlen <= AUFS_WH_PFX_LEN + || memcmp(name, AUFS_WH_PFX, AUFS_WH_PFX_LEN)) { + if (test_known(&arg->delist, name, nlen) + || au_nhash_test_known_wh(&arg->whlist, name, nlen)) + goto out; /* already exists or whiteouted */ + + arg->err = au_ino(sb, arg->bindex, h_ino, d_type, &ino); + if (!arg->err) { + if (unlikely(nlen > AUFS_MAX_NAMELEN)) + d_type = DT_UNKNOWN; + arg->err = append_de(arg->vdir, name, nlen, ino, + d_type, &arg->delist); + } + } else if (au_ftest_fillvdir(arg->flags, WHABLE)) { + name += AUFS_WH_PFX_LEN; + nlen -= AUFS_WH_PFX_LEN; + if (au_nhash_test_known_wh(&arg->whlist, name, nlen)) + goto out; /* already whiteouted */ + + ino = 0; /* just to suppress a warning */ + if (shwh) + arg->err = au_wh_ino(sb, arg->bindex, h_ino, d_type, + &ino); + if (!arg->err) { + if (nlen <= AUFS_MAX_NAMELEN + AUFS_WH_PFX_LEN) + d_type = DT_UNKNOWN; + arg->err = au_nhash_append_wh + (&arg->whlist, name, nlen, ino, d_type, + arg->bindex, shwh); + } + } + +out: + if (!arg->err) + arg->vdir->vd_jiffy = jiffies; + /* smp_mb(); */ + AuTraceErr(arg->err); + return arg->err; +} + +static int au_handle_shwh(struct super_block *sb, struct au_vdir *vdir, + struct au_nhash *whlist, struct au_nhash *delist) +{ +#ifdef CONFIG_AUFS_SHWH + int err; + unsigned int nh, u; + struct hlist_head *head; + struct au_vdir_wh *pos; + struct hlist_node *n; + char *p, *o; + struct au_vdir_destr *destr; + + AuDebugOn(!au_opt_test(au_mntflags(sb), SHWH)); + + err = -ENOMEM; + o = p = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!p)) + goto out; + + err = 0; + nh = whlist->nh_num; + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + p += AUFS_WH_PFX_LEN; + for (u = 0; u < nh; u++) { + head = whlist->nh_head + u; + hlist_for_each_entry_safe(pos, n, head, wh_hash) { + destr = &pos->wh_str; + memcpy(p, destr->name, destr->len); + err = append_de(vdir, o, destr->len + AUFS_WH_PFX_LEN, + pos->wh_ino, pos->wh_type, delist); + if (unlikely(err)) + break; + } + } + + free_page((unsigned long)o); + +out: + AuTraceErr(err); + return err; +#else + return 0; +#endif +} + +static int au_do_read_vdir(struct fillvdir_arg *arg) +{ + int err; + unsigned int rdhash; + loff_t offset; + aufs_bindex_t bbot, bindex, btop; + unsigned char shwh; + struct file *hf, *file; + struct super_block *sb; + + file = arg->file; + sb = file->f_path.dentry->d_sb; + SiMustAnyLock(sb); + + rdhash = au_sbi(sb)->si_rdhash; + if (!rdhash) + rdhash = au_rdhash_est(au_dir_size(file, /*dentry*/NULL)); + err = au_nhash_alloc(&arg->delist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out; + err = au_nhash_alloc(&arg->whlist, rdhash, GFP_NOFS); + if (unlikely(err)) + goto out_delist; + + err = 0; + arg->flags = 0; + shwh = 0; + if (au_opt_test(au_mntflags(sb), SHWH)) { + shwh = 1; + au_fset_fillvdir(arg->flags, SHWH); + } + btop = au_fbtop(file); + bbot = au_fbbot_dir(file); + for (bindex = btop; !err && bindex <= bbot; bindex++) { + hf = au_hf_dir(file, bindex); + if (!hf) + continue; + + offset = vfsub_llseek(hf, 0, SEEK_SET); + err = offset; + if (unlikely(offset)) + break; + + arg->bindex = bindex; + au_fclr_fillvdir(arg->flags, WHABLE); + if (shwh + || (bindex != bbot + && au_br_whable(au_sbr_perm(sb, bindex)))) + au_fset_fillvdir(arg->flags, WHABLE); + do { + arg->err = 0; + au_fclr_fillvdir(arg->flags, CALLED); + /* smp_mb(); */ + err = vfsub_iterate_dir(hf, &arg->ctx); + if (err >= 0) + err = arg->err; + } while (!err && au_ftest_fillvdir(arg->flags, CALLED)); + + /* + * dir_relax() may be good for concurrency, but aufs should not + * use it since it will cause a lockdep problem. + */ + } + + if (!err && shwh) + err = au_handle_shwh(sb, arg->vdir, &arg->whlist, &arg->delist); + + au_nhash_wh_free(&arg->whlist); + +out_delist: + au_nhash_de_free(&arg->delist); +out: + return err; +} + +static int read_vdir(struct file *file, int may_read) +{ + int err; + unsigned long expire; + unsigned char do_read; + struct fillvdir_arg arg = { + .ctx = { + .actor = fillvdir + } + }; + struct inode *inode; + struct au_vdir *vdir, *allocated; + + err = 0; + inode = file_inode(file); + IMustLock(inode); + IiMustWriteLock(inode); + SiMustAnyLock(inode->i_sb); + + allocated = NULL; + do_read = 0; + expire = au_sbi(inode->i_sb)->si_rdcache; + vdir = au_ivdir(inode); + if (!vdir) { + do_read = 1; + vdir = alloc_vdir(file); + err = PTR_ERR(vdir); + if (IS_ERR(vdir)) + goto out; + err = 0; + allocated = vdir; + } else if (may_read + && (!inode_eq_iversion(inode, vdir->vd_version) + || time_after(jiffies, vdir->vd_jiffy + expire))) { + do_read = 1; + err = reinit_vdir(vdir); + if (unlikely(err)) + goto out; + } + + if (!do_read) + return 0; /* success */ + + arg.file = file; + arg.vdir = vdir; + err = au_do_read_vdir(&arg); + if (!err) { + /* file->f_pos = 0; */ /* todo: ctx->pos? */ + vdir->vd_version = inode_query_iversion(inode); + vdir->vd_last.ul = 0; + vdir->vd_last.p.deblk = vdir->vd_deblk[0]; + if (allocated) + au_set_ivdir(inode, allocated); + } else if (allocated) + au_vdir_free(allocated); + +out: + return err; +} + +static int copy_vdir(struct au_vdir *tgt, struct au_vdir *src) +{ + int err, rerr; + unsigned long ul, n; + const unsigned int deblk_sz = src->vd_deblk_sz; + + AuDebugOn(tgt->vd_nblk != 1); + + err = -ENOMEM; + if (tgt->vd_nblk < src->vd_nblk) { + unsigned char **p; + + p = au_krealloc(tgt->vd_deblk, sizeof(*p) * src->vd_nblk, + GFP_NOFS, /*may_shrink*/0); + if (unlikely(!p)) + goto out; + tgt->vd_deblk = p; + } + + if (tgt->vd_deblk_sz != deblk_sz) { + unsigned char *p; + + tgt->vd_deblk_sz = deblk_sz; + p = au_krealloc(tgt->vd_deblk[0], deblk_sz, GFP_NOFS, + /*may_shrink*/1); + if (unlikely(!p)) + goto out; + tgt->vd_deblk[0] = p; + } + memcpy(tgt->vd_deblk[0], src->vd_deblk[0], deblk_sz); + tgt->vd_version = src->vd_version; + tgt->vd_jiffy = src->vd_jiffy; + + n = src->vd_nblk; + for (ul = 1; ul < n; ul++) { + tgt->vd_deblk[ul] = kmemdup(src->vd_deblk[ul], deblk_sz, + GFP_NOFS); + if (unlikely(!tgt->vd_deblk[ul])) + goto out; + tgt->vd_nblk++; + } + tgt->vd_nblk = n; + tgt->vd_last.ul = tgt->vd_last.ul; + tgt->vd_last.p.deblk = tgt->vd_deblk[tgt->vd_last.ul]; + tgt->vd_last.p.deblk += src->vd_last.p.deblk + - src->vd_deblk[src->vd_last.ul]; + /* smp_mb(); */ + return 0; /* success */ + +out: + rerr = reinit_vdir(tgt); + BUG_ON(rerr); + return err; +} + +int au_vdir_init(struct file *file) +{ + int err; + struct inode *inode; + struct au_vdir *vdir_cache, *allocated; + + /* test file->f_pos here instead of ctx->pos */ + err = read_vdir(file, !file->f_pos); + if (unlikely(err)) + goto out; + + allocated = NULL; + vdir_cache = au_fvdir_cache(file); + if (!vdir_cache) { + vdir_cache = alloc_vdir(file); + err = PTR_ERR(vdir_cache); + if (IS_ERR(vdir_cache)) + goto out; + allocated = vdir_cache; + } else if (!file->f_pos && vdir_cache->vd_version != file->f_version) { + /* test file->f_pos here instead of ctx->pos */ + err = reinit_vdir(vdir_cache); + if (unlikely(err)) + goto out; + } else + return 0; /* success */ + + inode = file_inode(file); + err = copy_vdir(vdir_cache, au_ivdir(inode)); + if (!err) { + file->f_version = inode_query_iversion(inode); + if (allocated) + au_set_fvdir_cache(file, allocated); + } else if (allocated) + au_vdir_free(allocated); + +out: + return err; +} + +static loff_t calc_offset(struct au_vdir *vdir) +{ + loff_t offset; + union au_vdir_deblk_p p; + + p.deblk = vdir->vd_deblk[vdir->vd_last.ul]; + offset = vdir->vd_last.p.deblk - p.deblk; + offset += vdir->vd_deblk_sz * vdir->vd_last.ul; + return offset; +} + +/* returns true or false */ +static int seek_vdir(struct file *file, struct dir_context *ctx) +{ + int valid; + unsigned int deblk_sz; + unsigned long ul, n; + loff_t offset; + union au_vdir_deblk_p p, deblk_end; + struct au_vdir *vdir_cache; + + valid = 1; + vdir_cache = au_fvdir_cache(file); + offset = calc_offset(vdir_cache); + AuDbg("offset %lld\n", offset); + if (ctx->pos == offset) + goto out; + + vdir_cache->vd_last.ul = 0; + vdir_cache->vd_last.p.deblk = vdir_cache->vd_deblk[0]; + if (!ctx->pos) + goto out; + + valid = 0; + deblk_sz = vdir_cache->vd_deblk_sz; + ul = div64_u64(ctx->pos, deblk_sz); + AuDbg("ul %lu\n", ul); + if (ul >= vdir_cache->vd_nblk) + goto out; + + n = vdir_cache->vd_nblk; + for (; ul < n; ul++) { + p.deblk = vdir_cache->vd_deblk[ul]; + deblk_end.deblk = p.deblk + deblk_sz; + offset = ul; + offset *= deblk_sz; + while (!is_deblk_end(&p, &deblk_end) && offset < ctx->pos) { + unsigned int l; + + l = calc_size(p.de->de_str.len); + offset += l; + p.deblk += l; + } + if (!is_deblk_end(&p, &deblk_end)) { + valid = 1; + vdir_cache->vd_last.ul = ul; + vdir_cache->vd_last.p = p; + break; + } + } + +out: + /* smp_mb(); */ + if (!valid) + AuDbg("valid %d\n", !valid); + return valid; +} + +int au_vdir_fill_de(struct file *file, struct dir_context *ctx) +{ + unsigned int l, deblk_sz; + union au_vdir_deblk_p deblk_end; + struct au_vdir *vdir_cache; + struct au_vdir_de *de; + + if (!seek_vdir(file, ctx)) + return 0; + + vdir_cache = au_fvdir_cache(file); + deblk_sz = vdir_cache->vd_deblk_sz; + while (1) { + deblk_end.deblk = vdir_cache->vd_deblk[vdir_cache->vd_last.ul]; + deblk_end.deblk += deblk_sz; + while (!is_deblk_end(&vdir_cache->vd_last.p, &deblk_end)) { + de = vdir_cache->vd_last.p.de; + AuDbg("%.*s, off%lld, i%lu, dt%d\n", + de->de_str.len, de->de_str.name, ctx->pos, + (unsigned long)de->de_ino, de->de_type); + if (unlikely(!dir_emit(ctx, de->de_str.name, + de->de_str.len, de->de_ino, + de->de_type))) { + /* todo: ignore the error caused by udba? */ + /* return err; */ + return 0; + } + + l = calc_size(de->de_str.len); + vdir_cache->vd_last.p.deblk += l; + ctx->pos += l; + } + if (vdir_cache->vd_last.ul < vdir_cache->vd_nblk - 1) { + vdir_cache->vd_last.ul++; + vdir_cache->vd_last.p.deblk + = vdir_cache->vd_deblk[vdir_cache->vd_last.ul]; + ctx->pos = deblk_sz * vdir_cache->vd_last.ul; + continue; + } + break; + } + + /* smp_mb(); */ + return 0; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/vfsub.c +++ linux-riscv-5.8-5.8.0/fs/aufs/vfsub.c @@ -0,0 +1,895 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sub-routines for VFS + */ + +#include +#include +#include +#include +#include +#include "aufs.h" + +#ifdef CONFIG_AUFS_BR_FUSE +int vfsub_test_mntns(struct vfsmount *mnt, struct super_block *h_sb) +{ + if (!au_test_fuse(h_sb) || !au_userns) + return 0; + + return is_current_mnt_ns(mnt) ? 0 : -EACCES; +} +#endif + +int vfsub_sync_filesystem(struct super_block *h_sb, int wait) +{ + int err; + + lockdep_off(); + down_read(&h_sb->s_umount); + err = __sync_filesystem(h_sb, wait); + up_read(&h_sb->s_umount); + lockdep_on(); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_update_h_iattr(struct path *h_path, int *did) +{ + int err; + struct kstat st; + struct super_block *h_sb; + + /* for remote fs, leave work for its getattr or d_revalidate */ + /* for bad i_attr fs, handle them in aufs_getattr() */ + /* still some fs may acquire i_mutex. we need to skip them */ + err = 0; + if (!did) + did = &err; + h_sb = h_path->dentry->d_sb; + *did = (!au_test_fs_remote(h_sb) && au_test_fs_refresh_iattr(h_sb)); + if (*did) + err = vfsub_getattr(h_path, &st); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct file *vfsub_dentry_open(struct path *path, int flags) +{ + return dentry_open(path, flags /* | __FMODE_NONOTIFY */, + current_cred()); +} + +struct file *vfsub_filp_open(const char *path, int oflags, int mode) +{ + struct file *file; + + lockdep_off(); + file = filp_open(path, + oflags /* | __FMODE_NONOTIFY */, + mode); + lockdep_on(); + if (IS_ERR(file)) + goto out; + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + +out: + return file; +} + +/* + * Ideally this function should call VFS:do_last() in order to keep all its + * checkings. But it is very hard for aufs to regenerate several VFS internal + * structure such as nameidata. This is a second (or third) best approach. + * cf. linux/fs/namei.c:do_last(), lookup_open() and atomic_open(). + */ +int vfsub_atomic_open(struct inode *dir, struct dentry *dentry, + struct vfsub_aopen_args *args) +{ + int err; + struct au_branch *br = args->br; + struct file *file = args->file; + /* copied from linux/fs/namei.c:atomic_open() */ + struct dentry *const DENTRY_NOT_SET = (void *)-1UL; + + IMustLock(dir); + AuDebugOn(!dir->i_op->atomic_open); + + err = au_br_test_oflag(args->open_flag, br); + if (unlikely(err)) + goto out; + + au_lcnt_inc(&br->br_nfiles); + file->f_path.dentry = DENTRY_NOT_SET; + file->f_path.mnt = au_br_mnt(br); + AuDbg("%ps\n", dir->i_op->atomic_open); + err = dir->i_op->atomic_open(dir, dentry, file, args->open_flag, + args->create_mode); + if (unlikely(err < 0)) { + au_lcnt_dec(&br->br_nfiles); + goto out; + } + + /* temporary workaround for nfsv4 branch */ + if (au_test_nfs(dir->i_sb)) + nfs_mark_for_revalidate(dir); + + if (file->f_mode & FMODE_CREATED) + fsnotify_create(dir, dentry); + if (!(file->f_mode & FMODE_OPENED)) { + au_lcnt_dec(&br->br_nfiles); + goto out; + } + + /* todo: call VFS:may_open() here */ + /* todo: ima_file_check() too? */ + if (!err && (args->open_flag & __FMODE_EXEC)) + err = deny_write_access(file); + if (!err) + fsnotify_open(file); + else + au_lcnt_dec(&br->br_nfiles); + /* note that the file is created and still opened */ + +out: + return err; +} + +int vfsub_kern_path(const char *name, unsigned int flags, struct path *path) +{ + int err; + + err = kern_path(name, flags, path); + if (!err && d_is_positive(path->dentry)) + vfsub_update_h_iattr(path, /*did*/NULL); /*ignore*/ + return err; +} + +struct dentry *vfsub_lookup_one_len_unlocked(const char *name, + struct dentry *parent, int len) +{ + struct path path = { + .mnt = NULL + }; + + path.dentry = lookup_one_len_unlocked(name, parent, len); + if (IS_ERR(path.dentry)) + goto out; + if (d_is_positive(path.dentry)) + vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/ + +out: + AuTraceErrPtr(path.dentry); + return path.dentry; +} + +struct dentry *vfsub_lookup_one_len(const char *name, struct dentry *parent, + int len) +{ + struct path path = { + .mnt = NULL + }; + + /* VFS checks it too, but by WARN_ON_ONCE() */ + IMustLock(d_inode(parent)); + + path.dentry = lookup_one_len(name, parent, len); + if (IS_ERR(path.dentry)) + goto out; + if (d_is_positive(path.dentry)) + vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/ + +out: + AuTraceErrPtr(path.dentry); + return path.dentry; +} + +void vfsub_call_lkup_one(void *args) +{ + struct vfsub_lkup_one_args *a = args; + *a->errp = vfsub_lkup_one(a->name, a->parent); +} + +/* ---------------------------------------------------------------------- */ + +struct dentry *vfsub_lock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2) +{ + struct dentry *d; + + lockdep_off(); + d = lock_rename(d1, d2); + lockdep_on(); + au_hn_suspend(hdir1); + if (hdir1 != hdir2) + au_hn_suspend(hdir2); + + return d; +} + +void vfsub_unlock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2) +{ + au_hn_resume(hdir1); + if (hdir1 != hdir2) + au_hn_resume(hdir2); + lockdep_off(); + unlock_rename(d1, d2); + lockdep_on(); +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_create(struct inode *dir, struct path *path, int mode, bool want_excl) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mknod(path, d, mode, 0); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_create(dir, path->dentry, mode, want_excl); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_symlink(struct inode *dir, struct path *path, const char *symname) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_symlink(path, d, symname); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_symlink(dir, path->dentry, symname); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_mknod(struct inode *dir, struct path *path, int mode, dev_t dev) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mknod(path, d, mode, new_encode_dev(dev)); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_mknod(dir, path->dentry, mode, dev); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +static int au_test_nlink(struct inode *inode) +{ + const unsigned int link_max = UINT_MAX >> 1; /* rough margin */ + + if (!au_test_fs_no_limit_nlink(inode->i_sb) + || inode->i_nlink < link_max) + return 0; + return -EMLINK; +} + +int vfsub_link(struct dentry *src_dentry, struct inode *dir, struct path *path, + struct inode **delegated_inode) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + err = au_test_nlink(d_inode(src_dentry)); + if (unlikely(err)) + return err; + + /* we don't call may_linkat() */ + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_link(src_dentry, path, d); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_link(src_dentry, dir, path->dentry, delegated_inode); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + /* fuse has different memory inode for the same inumber */ + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + tmp.dentry = src_dentry; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_rename(struct inode *src_dir, struct dentry *src_dentry, + struct inode *dir, struct path *path, + struct inode **delegated_inode, unsigned int flags) +{ + int err; + struct path tmp = { + .mnt = path->mnt + }; + struct dentry *d; + + IMustLock(dir); + IMustLock(src_dir); + + d = path->dentry; + path->dentry = d->d_parent; + tmp.dentry = src_dentry->d_parent; + err = security_path_rename(&tmp, src_dentry, path, d, /*flags*/0); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_rename(src_dir, src_dentry, dir, path->dentry, + delegated_inode, flags); + lockdep_on(); + if (!err) { + int did; + + tmp.dentry = d->d_parent; + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = src_dentry; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + tmp.dentry = src_dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_mkdir(struct inode *dir, struct path *path, int mode) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_mkdir(path, d, mode); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_mkdir(dir, path->dentry, mode); + lockdep_on(); + if (!err) { + struct path tmp = *path; + int did; + + vfsub_update_h_iattr(&tmp, &did); + if (did) { + tmp.dentry = path->dentry->d_parent; + vfsub_update_h_iattr(&tmp, /*did*/NULL); + } + /*ignore*/ + } + +out: + return err; +} + +int vfsub_rmdir(struct inode *dir, struct path *path) +{ + int err; + struct dentry *d; + + IMustLock(dir); + + d = path->dentry; + path->dentry = d->d_parent; + err = security_path_rmdir(path, d); + path->dentry = d; + if (unlikely(err)) + goto out; + + lockdep_off(); + err = vfs_rmdir(dir, path->dentry); + lockdep_on(); + if (!err) { + struct path tmp = { + .dentry = path->dentry->d_parent, + .mnt = path->mnt + }; + + vfsub_update_h_iattr(&tmp, /*did*/NULL); /*ignore*/ + } + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* todo: support mmap_sem? */ +ssize_t vfsub_read_u(struct file *file, char __user *ubuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + + lockdep_off(); + err = vfs_read(file, ubuf, count, ppos); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +/* todo: kernel_read()? */ +ssize_t vfsub_read_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + err = vfsub_read_u(file, buf.u, count, ppos); + set_fs(oldfs); + return err; +} + +ssize_t vfsub_write_u(struct file *file, const char __user *ubuf, size_t count, + loff_t *ppos) +{ + ssize_t err; + + lockdep_off(); + err = vfs_write(file, ubuf, count, ppos); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +ssize_t vfsub_write_k(struct file *file, void *kbuf, size_t count, loff_t *ppos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + const char __user *u; + } buf; + + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + err = vfsub_write_u(file, buf.u, count, ppos); + set_fs(oldfs); + return err; +} + +int vfsub_flush(struct file *file, fl_owner_t id) +{ + int err; + + err = 0; + if (file->f_op->flush) { + if (!au_test_nfs(file->f_path.dentry->d_sb)) + err = file->f_op->flush(file, id); + else { + lockdep_off(); + err = file->f_op->flush(file, id); + lockdep_on(); + } + if (!err) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); + /*ignore*/ + } + return err; +} + +int vfsub_iterate_dir(struct file *file, struct dir_context *ctx) +{ + int err; + + AuDbg("%pD, ctx{%ps, %llu}\n", file, ctx->actor, ctx->pos); + + lockdep_off(); + err = iterate_dir(file, ctx); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&file->f_path, /*did*/NULL); /*ignore*/ + + return err; +} + +long vfsub_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) +{ + long err; + + lockdep_off(); + err = do_splice_to(in, ppos, pipe, len, flags); + lockdep_on(); + file_accessed(in); + if (err >= 0) + vfsub_update_h_iattr(&in->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +long vfsub_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags) +{ + long err; + + lockdep_off(); + err = do_splice_from(pipe, out, ppos, len, flags); + lockdep_on(); + if (err >= 0) + vfsub_update_h_iattr(&out->f_path, /*did*/NULL); /*ignore*/ + return err; +} + +int vfsub_fsync(struct file *file, struct path *path, int datasync) +{ + int err; + + /* file can be NULL */ + lockdep_off(); + err = vfs_fsync(file, datasync); + lockdep_on(); + if (!err) { + if (!path) { + AuDebugOn(!file); + path = &file->f_path; + } + vfsub_update_h_iattr(path, /*did*/NULL); /*ignore*/ + } + return err; +} + +/* cf. open.c:do_sys_truncate() and do_sys_ftruncate() */ +int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr, + struct file *h_file) +{ + int err; + struct inode *h_inode; + struct super_block *h_sb; + + if (!h_file) { + err = vfsub_truncate(h_path, length); + goto out; + } + + h_inode = d_inode(h_path->dentry); + h_sb = h_inode->i_sb; + lockdep_off(); + sb_start_write(h_sb); + lockdep_on(); + err = locks_verify_truncate(h_inode, h_file, length); + if (!err) + err = security_path_truncate(h_path); + if (!err) { + lockdep_off(); + err = do_truncate(h_path->dentry, length, attr, h_file); + lockdep_on(); + } + lockdep_off(); + sb_end_write(h_sb); + lockdep_on(); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_vfsub_mkdir_args { + int *errp; + struct inode *dir; + struct path *path; + int mode; +}; + +static void au_call_vfsub_mkdir(void *args) +{ + struct au_vfsub_mkdir_args *a = args; + *a->errp = vfsub_mkdir(a->dir, a->path, a->mode); +} + +int vfsub_sio_mkdir(struct inode *dir, struct path *path, int mode) +{ + int err, do_sio, wkq_err; + + do_sio = au_test_h_perm_sio(dir, MAY_EXEC | MAY_WRITE); + if (!do_sio) { + lockdep_off(); + err = vfsub_mkdir(dir, path, mode); + lockdep_on(); + } else { + struct au_vfsub_mkdir_args args = { + .errp = &err, + .dir = dir, + .path = path, + .mode = mode + }; + wkq_err = au_wkq_wait(au_call_vfsub_mkdir, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +struct au_vfsub_rmdir_args { + int *errp; + struct inode *dir; + struct path *path; +}; + +static void au_call_vfsub_rmdir(void *args) +{ + struct au_vfsub_rmdir_args *a = args; + *a->errp = vfsub_rmdir(a->dir, a->path); +} + +int vfsub_sio_rmdir(struct inode *dir, struct path *path) +{ + int err, do_sio, wkq_err; + + do_sio = au_test_h_perm_sio(dir, MAY_EXEC | MAY_WRITE); + if (!do_sio) { + lockdep_off(); + err = vfsub_rmdir(dir, path); + lockdep_on(); + } else { + struct au_vfsub_rmdir_args args = { + .errp = &err, + .dir = dir, + .path = path + }; + wkq_err = au_wkq_wait(au_call_vfsub_rmdir, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct notify_change_args { + int *errp; + struct path *path; + struct iattr *ia; + struct inode **delegated_inode; +}; + +static void call_notify_change(void *args) +{ + struct notify_change_args *a = args; + struct inode *h_inode; + + h_inode = d_inode(a->path->dentry); + IMustLock(h_inode); + + *a->errp = -EPERM; + if (!IS_IMMUTABLE(h_inode) && !IS_APPEND(h_inode)) { + lockdep_off(); + *a->errp = notify_change(a->path->dentry, a->ia, + a->delegated_inode); + lockdep_on(); + if (!*a->errp) + vfsub_update_h_iattr(a->path, /*did*/NULL); /*ignore*/ + } + AuTraceErr(*a->errp); +} + +int vfsub_notify_change(struct path *path, struct iattr *ia, + struct inode **delegated_inode) +{ + int err; + struct notify_change_args args = { + .errp = &err, + .path = path, + .ia = ia, + .delegated_inode = delegated_inode + }; + + call_notify_change(&args); + + return err; +} + +int vfsub_sio_notify_change(struct path *path, struct iattr *ia, + struct inode **delegated_inode) +{ + int err, wkq_err; + struct notify_change_args args = { + .errp = &err, + .path = path, + .ia = ia, + .delegated_inode = delegated_inode + }; + + wkq_err = au_wkq_wait(call_notify_change, &args); + if (unlikely(wkq_err)) + err = wkq_err; + + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct unlink_args { + int *errp; + struct inode *dir; + struct path *path; + struct inode **delegated_inode; +}; + +static void call_unlink(void *args) +{ + struct unlink_args *a = args; + struct dentry *d = a->path->dentry; + struct inode *h_inode; + const int stop_sillyrename = (au_test_nfs(d->d_sb) + && au_dcount(d) == 1); + + IMustLock(a->dir); + + a->path->dentry = d->d_parent; + *a->errp = security_path_unlink(a->path, d); + a->path->dentry = d; + if (unlikely(*a->errp)) + return; + + if (!stop_sillyrename) + dget(d); + h_inode = NULL; + if (d_is_positive(d)) { + h_inode = d_inode(d); + ihold(h_inode); + } + + lockdep_off(); + *a->errp = vfs_unlink(a->dir, d, a->delegated_inode); + lockdep_on(); + if (!*a->errp) { + struct path tmp = { + .dentry = d->d_parent, + .mnt = a->path->mnt + }; + vfsub_update_h_iattr(&tmp, /*did*/NULL); /*ignore*/ + } + + if (!stop_sillyrename) + dput(d); + if (h_inode) + iput(h_inode); + + AuTraceErr(*a->errp); +} + +/* + * @dir: must be locked. + * @dentry: target dentry. + */ +int vfsub_unlink(struct inode *dir, struct path *path, + struct inode **delegated_inode, int force) +{ + int err; + struct unlink_args args = { + .errp = &err, + .dir = dir, + .path = path, + .delegated_inode = delegated_inode + }; + + if (!force) + call_unlink(&args); + else { + int wkq_err; + + wkq_err = au_wkq_wait(call_unlink, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/vfsub.h +++ linux-riscv-5.8-5.8.0/fs/aufs/vfsub.h @@ -0,0 +1,354 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * sub-routines for VFS + */ + +#ifndef __AUFS_VFSUB_H__ +#define __AUFS_VFSUB_H__ + +#ifdef __KERNEL__ + +#include +#include +#include +#include +#include "debug.h" + +/* copied from linux/fs/internal.h */ +/* todo: BAD approach!! */ +extern void __mnt_drop_write(struct vfsmount *); +extern struct file *alloc_empty_file(int, const struct cred *); + +/* ---------------------------------------------------------------------- */ + +/* lock subclass for lower inode */ +/* default MAX_LOCKDEP_SUBCLASSES(8) is not enough */ +/* reduce? gave up. */ +enum { + AuLsc_I_Begin = I_MUTEX_PARENT2, /* 5 */ + AuLsc_I_PARENT, /* lower inode, parent first */ + AuLsc_I_PARENT2, /* copyup dirs */ + AuLsc_I_PARENT3, /* copyup wh */ + AuLsc_I_CHILD, + AuLsc_I_CHILD2, + AuLsc_I_End +}; + +/* to debug easier, do not make them inlined functions */ +#define MtxMustLock(mtx) AuDebugOn(!mutex_is_locked(mtx)) +#define IMustLock(i) AuDebugOn(!inode_is_locked(i)) + +/* ---------------------------------------------------------------------- */ + +static inline void vfsub_drop_nlink(struct inode *inode) +{ + AuDebugOn(!inode->i_nlink); + drop_nlink(inode); +} + +static inline void vfsub_dead_dir(struct inode *inode) +{ + AuDebugOn(!S_ISDIR(inode->i_mode)); + inode->i_flags |= S_DEAD; + clear_nlink(inode); +} + +static inline int vfsub_native_ro(struct inode *inode) +{ + return sb_rdonly(inode->i_sb) + || IS_RDONLY(inode) + /* || IS_APPEND(inode) */ + || IS_IMMUTABLE(inode); +} + +#ifdef CONFIG_AUFS_BR_FUSE +int vfsub_test_mntns(struct vfsmount *mnt, struct super_block *h_sb); +#else +AuStubInt0(vfsub_test_mntns, struct vfsmount *mnt, struct super_block *h_sb); +#endif + +int vfsub_sync_filesystem(struct super_block *h_sb, int wait); + +/* ---------------------------------------------------------------------- */ + +int vfsub_update_h_iattr(struct path *h_path, int *did); +struct file *vfsub_dentry_open(struct path *path, int flags); +struct file *vfsub_filp_open(const char *path, int oflags, int mode); +struct au_branch; +struct vfsub_aopen_args { + struct file *file; + unsigned int open_flag; + umode_t create_mode; + struct au_branch *br; +}; +int vfsub_atomic_open(struct inode *dir, struct dentry *dentry, + struct vfsub_aopen_args *args); +int vfsub_kern_path(const char *name, unsigned int flags, struct path *path); + +struct dentry *vfsub_lookup_one_len_unlocked(const char *name, + struct dentry *parent, int len); +struct dentry *vfsub_lookup_one_len(const char *name, struct dentry *parent, + int len); + +struct vfsub_lkup_one_args { + struct dentry **errp; + struct qstr *name; + struct dentry *parent; +}; + +static inline struct dentry *vfsub_lkup_one(struct qstr *name, + struct dentry *parent) +{ + return vfsub_lookup_one_len(name->name, parent, name->len); +} + +void vfsub_call_lkup_one(void *args); + +/* ---------------------------------------------------------------------- */ + +static inline int vfsub_mnt_want_write(struct vfsmount *mnt) +{ + int err; + + lockdep_off(); + err = mnt_want_write(mnt); + lockdep_on(); + return err; +} + +static inline void vfsub_mnt_drop_write(struct vfsmount *mnt) +{ + lockdep_off(); + mnt_drop_write(mnt); + lockdep_on(); +} + +#if 0 /* reserved */ +static inline void vfsub_mnt_drop_write_file(struct file *file) +{ + lockdep_off(); + mnt_drop_write_file(file); + lockdep_on(); +} +#endif + +/* ---------------------------------------------------------------------- */ + +struct au_hinode; +struct dentry *vfsub_lock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2); +void vfsub_unlock_rename(struct dentry *d1, struct au_hinode *hdir1, + struct dentry *d2, struct au_hinode *hdir2); + +int vfsub_create(struct inode *dir, struct path *path, int mode, + bool want_excl); +int vfsub_symlink(struct inode *dir, struct path *path, + const char *symname); +int vfsub_mknod(struct inode *dir, struct path *path, int mode, dev_t dev); +int vfsub_link(struct dentry *src_dentry, struct inode *dir, + struct path *path, struct inode **delegated_inode); +int vfsub_rename(struct inode *src_hdir, struct dentry *src_dentry, + struct inode *hdir, struct path *path, + struct inode **delegated_inode, unsigned int flags); +int vfsub_mkdir(struct inode *dir, struct path *path, int mode); +int vfsub_rmdir(struct inode *dir, struct path *path); + +/* ---------------------------------------------------------------------- */ + +ssize_t vfsub_read_u(struct file *file, char __user *ubuf, size_t count, + loff_t *ppos); +ssize_t vfsub_read_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos); +ssize_t vfsub_write_u(struct file *file, const char __user *ubuf, size_t count, + loff_t *ppos); +ssize_t vfsub_write_k(struct file *file, void *kbuf, size_t count, + loff_t *ppos); +int vfsub_flush(struct file *file, fl_owner_t id); +int vfsub_iterate_dir(struct file *file, struct dir_context *ctx); + +static inline loff_t vfsub_f_size_read(struct file *file) +{ + return i_size_read(file_inode(file)); +} + +static inline unsigned int vfsub_file_flags(struct file *file) +{ + unsigned int flags; + + spin_lock(&file->f_lock); + flags = file->f_flags; + spin_unlock(&file->f_lock); + + return flags; +} + +static inline int vfsub_file_execed(struct file *file) +{ + /* todo: direct access f_flags */ + return !!(vfsub_file_flags(file) & __FMODE_EXEC); +} + +#if 0 /* reserved */ +static inline void vfsub_file_accessed(struct file *h_file) +{ + file_accessed(h_file); + vfsub_update_h_iattr(&h_file->f_path, /*did*/NULL); /*ignore*/ +} +#endif + +#if 0 /* reserved */ +static inline void vfsub_touch_atime(struct vfsmount *h_mnt, + struct dentry *h_dentry) +{ + struct path h_path = { + .dentry = h_dentry, + .mnt = h_mnt + }; + touch_atime(&h_path); + vfsub_update_h_iattr(&h_path, /*did*/NULL); /*ignore*/ +} +#endif + +static inline int vfsub_update_time(struct inode *h_inode, + struct timespec64 *ts, int flags) +{ + return update_time(h_inode, ts, flags); + /* no vfsub_update_h_iattr() since we don't have struct path */ +} + +#ifdef CONFIG_FS_POSIX_ACL +static inline int vfsub_acl_chmod(struct inode *h_inode, umode_t h_mode) +{ + int err; + + err = posix_acl_chmod(h_inode, h_mode); + if (err == -EOPNOTSUPP) + err = 0; + return err; +} +#else +AuStubInt0(vfsub_acl_chmod, struct inode *h_inode, umode_t h_mode); +#endif + +long vfsub_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags); +long vfsub_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags); + +static inline long vfsub_truncate(struct path *path, loff_t length) +{ + long err; + + lockdep_off(); + err = vfs_truncate(path, length); + lockdep_on(); + return err; +} + +int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr, + struct file *h_file); +int vfsub_fsync(struct file *file, struct path *path, int datasync); + +/* + * re-use branch fs's ioctl(FICLONE) while aufs itself doesn't support such + * ioctl. + */ +static inline loff_t vfsub_clone_file_range(struct file *src, struct file *dst, + loff_t len) +{ + loff_t err; + + lockdep_off(); + err = vfs_clone_file_range(src, 0, dst, 0, len, /*remap_flags*/0); + lockdep_on(); + + return err; +} + +/* copy_file_range(2) is a systemcall */ +static inline ssize_t vfsub_copy_file_range(struct file *src, loff_t src_pos, + struct file *dst, loff_t dst_pos, + size_t len, unsigned int flags) +{ + ssize_t ssz; + + lockdep_off(); + ssz = vfs_copy_file_range(src, src_pos, dst, dst_pos, len, flags); + lockdep_on(); + + return ssz; +} + +/* ---------------------------------------------------------------------- */ + +static inline loff_t vfsub_llseek(struct file *file, loff_t offset, int origin) +{ + loff_t err; + + lockdep_off(); + err = vfs_llseek(file, offset, origin); + lockdep_on(); + return err; +} + +/* ---------------------------------------------------------------------- */ + +int vfsub_sio_mkdir(struct inode *dir, struct path *path, int mode); +int vfsub_sio_rmdir(struct inode *dir, struct path *path); +int vfsub_sio_notify_change(struct path *path, struct iattr *ia, + struct inode **delegated_inode); +int vfsub_notify_change(struct path *path, struct iattr *ia, + struct inode **delegated_inode); +int vfsub_unlink(struct inode *dir, struct path *path, + struct inode **delegated_inode, int force); + +static inline int vfsub_getattr(const struct path *path, struct kstat *st) +{ + return vfs_getattr(path, st, STATX_BASIC_STATS, AT_STATX_SYNC_AS_STAT); +} + +/* ---------------------------------------------------------------------- */ + +static inline int vfsub_setxattr(struct dentry *dentry, const char *name, + const void *value, size_t size, int flags) +{ + int err; + + lockdep_off(); + err = vfs_setxattr(dentry, name, value, size, flags); + lockdep_on(); + + return err; +} + +static inline int vfsub_removexattr(struct dentry *dentry, const char *name) +{ + int err; + + lockdep_off(); + err = vfs_removexattr(dentry, name); + lockdep_on(); + + return err; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_VFSUB_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/wbr_policy.c +++ linux-riscv-5.8-5.8.0/fs/aufs/wbr_policy.c @@ -0,0 +1,830 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * policies for selecting one among multiple writable branches + */ + +#include +#include "aufs.h" + +/* subset of cpup_attr() */ +static noinline_for_stack +int au_cpdown_attr(struct path *h_path, struct dentry *h_src) +{ + int err, sbits; + struct iattr ia; + struct inode *h_isrc; + + h_isrc = d_inode(h_src); + ia.ia_valid = ATTR_FORCE | ATTR_MODE | ATTR_UID | ATTR_GID; + ia.ia_mode = h_isrc->i_mode; + ia.ia_uid = h_isrc->i_uid; + ia.ia_gid = h_isrc->i_gid; + sbits = !!(ia.ia_mode & (S_ISUID | S_ISGID)); + au_cpup_attr_flags(d_inode(h_path->dentry), h_isrc->i_flags); + /* no delegation since it is just created */ + err = vfsub_sio_notify_change(h_path, &ia, /*delegated*/NULL); + + /* is this nfs only? */ + if (!err && sbits && au_test_nfs(h_path->dentry->d_sb)) { + ia.ia_valid = ATTR_FORCE | ATTR_MODE; + ia.ia_mode = h_isrc->i_mode; + err = vfsub_sio_notify_change(h_path, &ia, /*delegated*/NULL); + } + + return err; +} + +#define AuCpdown_PARENT_OPQ 1 +#define AuCpdown_WHED (1 << 1) +#define AuCpdown_MADE_DIR (1 << 2) +#define AuCpdown_DIROPQ (1 << 3) +#define au_ftest_cpdown(flags, name) ((flags) & AuCpdown_##name) +#define au_fset_cpdown(flags, name) \ + do { (flags) |= AuCpdown_##name; } while (0) +#define au_fclr_cpdown(flags, name) \ + do { (flags) &= ~AuCpdown_##name; } while (0) + +static int au_cpdown_dir_opq(struct dentry *dentry, aufs_bindex_t bdst, + unsigned int *flags) +{ + int err; + struct dentry *opq_dentry; + + opq_dentry = au_diropq_create(dentry, bdst); + err = PTR_ERR(opq_dentry); + if (IS_ERR(opq_dentry)) + goto out; + dput(opq_dentry); + au_fset_cpdown(*flags, DIROPQ); + +out: + return err; +} + +static int au_cpdown_dir_wh(struct dentry *dentry, struct dentry *h_parent, + struct inode *dir, aufs_bindex_t bdst) +{ + int err; + struct path h_path; + struct au_branch *br; + + br = au_sbr(dentry->d_sb, bdst); + h_path.dentry = au_wh_lkup(h_parent, &dentry->d_name, br); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + err = 0; + if (d_is_positive(h_path.dentry)) { + h_path.mnt = au_br_mnt(br); + err = au_wh_unlink_dentry(au_h_iptr(dir, bdst), &h_path, + dentry); + } + dput(h_path.dentry); + +out: + return err; +} + +static int au_cpdown_dir(struct dentry *dentry, aufs_bindex_t bdst, + struct au_pin *pin, + struct dentry *h_parent, void *arg) +{ + int err, rerr; + aufs_bindex_t bopq, btop; + struct path h_path; + struct dentry *parent; + struct inode *h_dir, *h_inode, *inode, *dir; + unsigned int *flags = arg; + + btop = au_dbtop(dentry); + /* dentry is di-locked */ + parent = dget_parent(dentry); + dir = d_inode(parent); + h_dir = d_inode(h_parent); + AuDebugOn(h_dir != au_h_iptr(dir, bdst)); + IMustLock(h_dir); + + err = au_lkup_neg(dentry, bdst, /*wh*/0); + if (unlikely(err < 0)) + goto out; + h_path.dentry = au_h_dptr(dentry, bdst); + h_path.mnt = au_sbr_mnt(dentry->d_sb, bdst); + err = vfsub_sio_mkdir(au_h_iptr(dir, bdst), &h_path, 0755); + if (unlikely(err)) + goto out_put; + au_fset_cpdown(*flags, MADE_DIR); + + bopq = au_dbdiropq(dentry); + au_fclr_cpdown(*flags, WHED); + au_fclr_cpdown(*flags, DIROPQ); + if (au_dbwh(dentry) == bdst) + au_fset_cpdown(*flags, WHED); + if (!au_ftest_cpdown(*flags, PARENT_OPQ) && bopq <= bdst) + au_fset_cpdown(*flags, PARENT_OPQ); + h_inode = d_inode(h_path.dentry); + inode_lock_nested(h_inode, AuLsc_I_CHILD); + if (au_ftest_cpdown(*flags, WHED)) { + err = au_cpdown_dir_opq(dentry, bdst, flags); + if (unlikely(err)) { + inode_unlock(h_inode); + goto out_dir; + } + } + + err = au_cpdown_attr(&h_path, au_h_dptr(dentry, btop)); + inode_unlock(h_inode); + if (unlikely(err)) + goto out_opq; + + if (au_ftest_cpdown(*flags, WHED)) { + err = au_cpdown_dir_wh(dentry, h_parent, dir, bdst); + if (unlikely(err)) + goto out_opq; + } + + inode = d_inode(dentry); + if (au_ibbot(inode) < bdst) + au_set_ibbot(inode, bdst); + au_set_h_iptr(inode, bdst, au_igrab(h_inode), + au_hi_flags(inode, /*isdir*/1)); + au_fhsm_wrote(dentry->d_sb, bdst, /*force*/0); + goto out; /* success */ + + /* revert */ +out_opq: + if (au_ftest_cpdown(*flags, DIROPQ)) { + inode_lock_nested(h_inode, AuLsc_I_CHILD); + rerr = au_diropq_remove(dentry, bdst); + inode_unlock(h_inode); + if (unlikely(rerr)) { + AuIOErr("failed removing diropq for %pd b%d (%d)\n", + dentry, bdst, rerr); + err = -EIO; + goto out; + } + } +out_dir: + if (au_ftest_cpdown(*flags, MADE_DIR)) { + rerr = vfsub_sio_rmdir(au_h_iptr(dir, bdst), &h_path); + if (unlikely(rerr)) { + AuIOErr("failed removing %pd b%d (%d)\n", + dentry, bdst, rerr); + err = -EIO; + } + } +out_put: + au_set_h_dptr(dentry, bdst, NULL); + if (au_dbbot(dentry) == bdst) + au_update_dbbot(dentry); +out: + dput(parent); + return err; +} + +int au_cpdown_dirs(struct dentry *dentry, aufs_bindex_t bdst) +{ + int err; + unsigned int flags; + + flags = 0; + err = au_cp_dirs(dentry, bdst, au_cpdown_dir, &flags); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* policies for create */ + +int au_wbr_nonopq(struct dentry *dentry, aufs_bindex_t bindex) +{ + int err, i, j, ndentry; + aufs_bindex_t bopq; + struct au_dcsub_pages dpages; + struct au_dpage *dpage; + struct dentry **dentries, *parent, *d; + + err = au_dpages_init(&dpages, GFP_NOFS); + if (unlikely(err)) + goto out; + parent = dget_parent(dentry); + err = au_dcsub_pages_rev_aufs(&dpages, parent, /*do_include*/0); + if (unlikely(err)) + goto out_free; + + err = bindex; + for (i = 0; i < dpages.ndpage; i++) { + dpage = dpages.dpages + i; + dentries = dpage->dentries; + ndentry = dpage->ndentry; + for (j = 0; j < ndentry; j++) { + d = dentries[j]; + di_read_lock_parent2(d, !AuLock_IR); + bopq = au_dbdiropq(d); + di_read_unlock(d, !AuLock_IR); + if (bopq >= 0 && bopq < err) + err = bopq; + } + } + +out_free: + dput(parent); + au_dpages_free(&dpages); +out: + return err; +} + +static int au_wbr_bu(struct super_block *sb, aufs_bindex_t bindex) +{ + for (; bindex >= 0; bindex--) + if (!au_br_rdonly(au_sbr(sb, bindex))) + return bindex; + return -EROFS; +} + +/* top down parent */ +static int au_wbr_create_tdp(struct dentry *dentry, + unsigned int flags __maybe_unused) +{ + int err; + aufs_bindex_t btop, bindex; + struct super_block *sb; + struct dentry *parent, *h_parent; + + sb = dentry->d_sb; + btop = au_dbtop(dentry); + err = btop; + if (!au_br_rdonly(au_sbr(sb, btop))) + goto out; + + err = -EROFS; + parent = dget_parent(dentry); + for (bindex = au_dbtop(parent); bindex < btop; bindex++) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || d_is_negative(h_parent)) + continue; + + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = bindex; + break; + } + } + dput(parent); + + /* bottom up here */ + if (unlikely(err < 0)) { + err = au_wbr_bu(sb, btop - 1); + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + } + +out: + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* an exception for the policy other than tdp */ +static int au_wbr_create_exp(struct dentry *dentry) +{ + int err; + aufs_bindex_t bwh, bdiropq; + struct dentry *parent; + + err = -1; + bwh = au_dbwh(dentry); + parent = dget_parent(dentry); + bdiropq = au_dbdiropq(parent); + if (bwh >= 0) { + if (bdiropq >= 0) + err = min(bdiropq, bwh); + else + err = bwh; + AuDbg("%d\n", err); + } else if (bdiropq >= 0) { + err = bdiropq; + AuDbg("%d\n", err); + } + dput(parent); + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + + if (err >= 0 && au_br_rdonly(au_sbr(dentry->d_sb, err))) + err = -1; + + AuDbg("%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* round robin */ +static int au_wbr_create_init_rr(struct super_block *sb) +{ + int err; + + err = au_wbr_bu(sb, au_sbbot(sb)); + atomic_set(&au_sbi(sb)->si_wbr_rr_next, -err); /* less important */ + /* smp_mb(); */ + + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_rr(struct dentry *dentry, unsigned int flags) +{ + int err, nbr; + unsigned int u; + aufs_bindex_t bindex, bbot; + struct super_block *sb; + atomic_t *next; + + err = au_wbr_create_exp(dentry); + if (err >= 0) + goto out; + + sb = dentry->d_sb; + next = &au_sbi(sb)->si_wbr_rr_next; + bbot = au_sbbot(sb); + nbr = bbot + 1; + for (bindex = 0; bindex <= bbot; bindex++) { + if (!au_ftest_wbr(flags, DIR)) { + err = atomic_dec_return(next) + 1; + /* modulo for 0 is meaningless */ + if (unlikely(!err)) + err = atomic_dec_return(next) + 1; + } else + err = atomic_read(next); + AuDbg("%d\n", err); + u = err; + err = u % nbr; + AuDbg("%d\n", err); + if (!au_br_rdonly(au_sbr(sb, err))) + break; + err = -EROFS; + } + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out: + AuDbg("%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* most free space */ +static void au_mfs(struct dentry *dentry, struct dentry *parent) +{ + struct super_block *sb; + struct au_branch *br; + struct au_wbr_mfs *mfs; + struct dentry *h_parent; + aufs_bindex_t bindex, bbot; + int err; + unsigned long long b, bavail; + struct path h_path; + /* reduce the stack usage */ + struct kstatfs *st; + + st = kmalloc(sizeof(*st), GFP_NOFS); + if (unlikely(!st)) { + AuWarn1("failed updating mfs(%d), ignored\n", -ENOMEM); + return; + } + + bavail = 0; + sb = dentry->d_sb; + mfs = &au_sbi(sb)->si_wbr_mfs; + MtxMustLock(&mfs->mfs_lock); + mfs->mfs_bindex = -EROFS; + mfs->mfsrr_bytes = 0; + if (!parent) { + bindex = 0; + bbot = au_sbbot(sb); + } else { + bindex = au_dbtop(parent); + bbot = au_dbtaildir(parent); + } + + for (; bindex <= bbot; bindex++) { + if (parent) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || d_is_negative(h_parent)) + continue; + } + br = au_sbr(sb, bindex); + if (au_br_rdonly(br)) + continue; + + /* sb->s_root for NFS is unreliable */ + h_path.mnt = au_br_mnt(br); + h_path.dentry = h_path.mnt->mnt_root; + err = vfs_statfs(&h_path, st); + if (unlikely(err)) { + AuWarn1("failed statfs, b%d, %d\n", bindex, err); + continue; + } + + /* when the available size is equal, select the lower one */ + BUILD_BUG_ON(sizeof(b) < sizeof(st->f_bavail) + || sizeof(b) < sizeof(st->f_bsize)); + b = st->f_bavail * st->f_bsize; + br->br_wbr->wbr_bytes = b; + if (b >= bavail) { + bavail = b; + mfs->mfs_bindex = bindex; + mfs->mfs_jiffy = jiffies; + } + } + + mfs->mfsrr_bytes = bavail; + AuDbg("b%d\n", mfs->mfs_bindex); + au_kfree_rcu(st); +} + +static int au_wbr_create_mfs(struct dentry *dentry, unsigned int flags) +{ + int err; + struct dentry *parent; + struct super_block *sb; + struct au_wbr_mfs *mfs; + + err = au_wbr_create_exp(dentry); + if (err >= 0) + goto out; + + sb = dentry->d_sb; + parent = NULL; + if (au_ftest_wbr(flags, PARENT)) + parent = dget_parent(dentry); + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + if (time_after(jiffies, mfs->mfs_jiffy + mfs->mfs_expire) + || mfs->mfs_bindex < 0 + || au_br_rdonly(au_sbr(sb, mfs->mfs_bindex))) + au_mfs(dentry, parent); + mutex_unlock(&mfs->mfs_lock); + err = mfs->mfs_bindex; + dput(parent); + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out: + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_init_mfs(struct super_block *sb) +{ + struct au_wbr_mfs *mfs; + + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_init(&mfs->mfs_lock); + mfs->mfs_jiffy = 0; + mfs->mfs_bindex = -EROFS; + + return 0; +} + +static int au_wbr_create_fin_mfs(struct super_block *sb __maybe_unused) +{ + mutex_destroy(&au_sbi(sb)->si_wbr_mfs.mfs_lock); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +/* top down regardless parent, and then mfs */ +static int au_wbr_create_tdmfs(struct dentry *dentry, + unsigned int flags __maybe_unused) +{ + int err; + aufs_bindex_t bwh, btail, bindex, bfound, bmfs; + unsigned long long watermark; + struct super_block *sb; + struct au_wbr_mfs *mfs; + struct au_branch *br; + struct dentry *parent; + + sb = dentry->d_sb; + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + if (time_after(jiffies, mfs->mfs_jiffy + mfs->mfs_expire) + || mfs->mfs_bindex < 0) + au_mfs(dentry, /*parent*/NULL); + watermark = mfs->mfsrr_watermark; + bmfs = mfs->mfs_bindex; + mutex_unlock(&mfs->mfs_lock); + + /* another style of au_wbr_create_exp() */ + bwh = au_dbwh(dentry); + parent = dget_parent(dentry); + btail = au_dbtaildir(parent); + if (bwh >= 0 && bwh < btail) + btail = bwh; + + err = au_wbr_nonopq(dentry, btail); + if (unlikely(err < 0)) + goto out; + btail = err; + bfound = -1; + for (bindex = 0; bindex <= btail; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_rdonly(br)) + continue; + if (br->br_wbr->wbr_bytes > watermark) { + bfound = bindex; + break; + } + } + err = bfound; + if (err < 0) + err = bmfs; + +out: + dput(parent); + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* most free space and then round robin */ +static int au_wbr_create_mfsrr(struct dentry *dentry, unsigned int flags) +{ + int err; + struct au_wbr_mfs *mfs; + + err = au_wbr_create_mfs(dentry, flags); + if (err >= 0) { + mfs = &au_sbi(dentry->d_sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + if (mfs->mfsrr_bytes < mfs->mfsrr_watermark) + err = au_wbr_create_rr(dentry, flags); + mutex_unlock(&mfs->mfs_lock); + } + + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_create_init_mfsrr(struct super_block *sb) +{ + int err; + + au_wbr_create_init_mfs(sb); /* ignore */ + err = au_wbr_create_init_rr(sb); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* top down parent and most free space */ +static int au_wbr_create_pmfs(struct dentry *dentry, unsigned int flags) +{ + int err, e2; + unsigned long long b; + aufs_bindex_t bindex, btop, bbot; + struct super_block *sb; + struct dentry *parent, *h_parent; + struct au_branch *br; + + err = au_wbr_create_tdp(dentry, flags); + if (unlikely(err < 0)) + goto out; + parent = dget_parent(dentry); + btop = au_dbtop(parent); + bbot = au_dbtaildir(parent); + if (btop == bbot) + goto out_parent; /* success */ + + e2 = au_wbr_create_mfs(dentry, flags); + if (e2 < 0) + goto out_parent; /* success */ + + /* when the available size is equal, select upper one */ + sb = dentry->d_sb; + br = au_sbr(sb, err); + b = br->br_wbr->wbr_bytes; + AuDbg("b%d, %llu\n", err, b); + + for (bindex = btop; bindex <= bbot; bindex++) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || d_is_negative(h_parent)) + continue; + + br = au_sbr(sb, bindex); + if (!au_br_rdonly(br) && br->br_wbr->wbr_bytes > b) { + b = br->br_wbr->wbr_bytes; + err = bindex; + AuDbg("b%d, %llu\n", err, b); + } + } + + if (err >= 0) + err = au_wbr_nonopq(dentry, err); + +out_parent: + dput(parent); +out: + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * - top down parent + * - most free space with parent + * - most free space round-robin regardless parent + */ +static int au_wbr_create_pmfsrr(struct dentry *dentry, unsigned int flags) +{ + int err; + unsigned long long watermark; + struct super_block *sb; + struct au_branch *br; + struct au_wbr_mfs *mfs; + + err = au_wbr_create_pmfs(dentry, flags | AuWbr_PARENT); + if (unlikely(err < 0)) + goto out; + + sb = dentry->d_sb; + br = au_sbr(sb, err); + mfs = &au_sbi(sb)->si_wbr_mfs; + mutex_lock(&mfs->mfs_lock); + watermark = mfs->mfsrr_watermark; + mutex_unlock(&mfs->mfs_lock); + if (br->br_wbr->wbr_bytes < watermark) + /* regardless the parent dir */ + err = au_wbr_create_mfsrr(dentry, flags); + +out: + AuDbg("b%d\n", err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* policies for copyup */ + +/* top down parent */ +static int au_wbr_copyup_tdp(struct dentry *dentry) +{ + return au_wbr_create_tdp(dentry, /*flags, anything is ok*/0); +} + +/* bottom up parent */ +static int au_wbr_copyup_bup(struct dentry *dentry) +{ + int err; + aufs_bindex_t bindex, btop; + struct dentry *parent, *h_parent; + struct super_block *sb; + + err = -EROFS; + sb = dentry->d_sb; + parent = dget_parent(dentry); + btop = au_dbtop(parent); + for (bindex = au_dbtop(dentry); bindex >= btop; bindex--) { + h_parent = au_h_dptr(parent, bindex); + if (!h_parent || d_is_negative(h_parent)) + continue; + + if (!au_br_rdonly(au_sbr(sb, bindex))) { + err = bindex; + break; + } + } + dput(parent); + + /* bottom up here */ + if (unlikely(err < 0)) + err = au_wbr_bu(sb, btop - 1); + + AuDbg("b%d\n", err); + return err; +} + +/* bottom up */ +int au_wbr_do_copyup_bu(struct dentry *dentry, aufs_bindex_t btop) +{ + int err; + + err = au_wbr_bu(dentry->d_sb, btop); + AuDbg("b%d\n", err); + if (err > btop) + err = au_wbr_nonopq(dentry, err); + + AuDbg("b%d\n", err); + return err; +} + +static int au_wbr_copyup_bu(struct dentry *dentry) +{ + int err; + aufs_bindex_t btop; + + btop = au_dbtop(dentry); + err = au_wbr_do_copyup_bu(dentry, btop); + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_wbr_copyup_operations au_wbr_copyup_ops[] = { + [AuWbrCopyup_TDP] = { + .copyup = au_wbr_copyup_tdp + }, + [AuWbrCopyup_BUP] = { + .copyup = au_wbr_copyup_bup + }, + [AuWbrCopyup_BU] = { + .copyup = au_wbr_copyup_bu + } +}; + +struct au_wbr_create_operations au_wbr_create_ops[] = { + [AuWbrCreate_TDP] = { + .create = au_wbr_create_tdp + }, + [AuWbrCreate_RR] = { + .create = au_wbr_create_rr, + .init = au_wbr_create_init_rr + }, + [AuWbrCreate_MFS] = { + .create = au_wbr_create_mfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSV] = { + .create = au_wbr_create_mfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSRR] = { + .create = au_wbr_create_mfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_MFSRRV] = { + .create = au_wbr_create_mfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_TDMFS] = { + .create = au_wbr_create_tdmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_TDMFSV] = { + .create = au_wbr_create_tdmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFS] = { + .create = au_wbr_create_pmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFSV] = { + .create = au_wbr_create_pmfs, + .init = au_wbr_create_init_mfs, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFSRR] = { + .create = au_wbr_create_pmfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + }, + [AuWbrCreate_PMFSRRV] = { + .create = au_wbr_create_pmfsrr, + .init = au_wbr_create_init_mfsrr, + .fin = au_wbr_create_fin_mfs + } +}; --- linux-riscv-5.8-5.8.0.orig/fs/aufs/whout.c +++ linux-riscv-5.8-5.8.0/fs/aufs/whout.c @@ -0,0 +1,1062 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * whiteout for logical deletion and opaque directory + */ + +#include "aufs.h" + +#define WH_MASK 0444 + +/* + * If a directory contains this file, then it is opaque. We start with the + * .wh. flag so that it is blocked by lookup. + */ +static struct qstr diropq_name = QSTR_INIT(AUFS_WH_DIROPQ, + sizeof(AUFS_WH_DIROPQ) - 1); + +/* + * generate whiteout name, which is NOT terminated by NULL. + * @name: original d_name.name + * @len: original d_name.len + * @wh: whiteout qstr + * returns zero when succeeds, otherwise error. + * succeeded value as wh->name should be freed by kfree(). + */ +int au_wh_name_alloc(struct qstr *wh, const struct qstr *name) +{ + char *p; + + if (unlikely(name->len > PATH_MAX - AUFS_WH_PFX_LEN)) + return -ENAMETOOLONG; + + wh->len = name->len + AUFS_WH_PFX_LEN; + p = kmalloc(wh->len, GFP_NOFS); + wh->name = p; + if (p) { + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + memcpy(p + AUFS_WH_PFX_LEN, name->name, name->len); + /* smp_mb(); */ + return 0; + } + return -ENOMEM; +} + +/* ---------------------------------------------------------------------- */ + +/* + * test if the @wh_name exists under @h_parent. + * @try_sio specifies the necessary of super-io. + */ +int au_wh_test(struct dentry *h_parent, struct qstr *wh_name, int try_sio) +{ + int err; + struct dentry *wh_dentry; + + if (!try_sio) + wh_dentry = vfsub_lkup_one(wh_name, h_parent); + else + wh_dentry = au_sio_lkup_one(wh_name, h_parent); + err = PTR_ERR(wh_dentry); + if (IS_ERR(wh_dentry)) { + if (err == -ENAMETOOLONG) + err = 0; + goto out; + } + + err = 0; + if (d_is_negative(wh_dentry)) + goto out_wh; /* success */ + + err = 1; + if (d_is_reg(wh_dentry)) + goto out_wh; /* success */ + + err = -EIO; + AuIOErr("%pd Invalid whiteout entry type 0%o.\n", + wh_dentry, d_inode(wh_dentry)->i_mode); + +out_wh: + dput(wh_dentry); +out: + return err; +} + +/* + * test if the @h_dentry sets opaque or not. + */ +int au_diropq_test(struct dentry *h_dentry) +{ + int err; + struct inode *h_dir; + + h_dir = d_inode(h_dentry); + err = au_wh_test(h_dentry, &diropq_name, + au_test_h_perm_sio(h_dir, MAY_EXEC)); + return err; +} + +/* + * returns a negative dentry whose name is unique and temporary. + */ +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br, + struct qstr *prefix) +{ + struct dentry *dentry; + int i; + char defname[NAME_MAX - AUFS_MAX_NAMELEN + DNAME_INLINE_LEN + 1], + *name, *p; + /* strict atomic_t is unnecessary here */ + static unsigned short cnt; + struct qstr qs; + + BUILD_BUG_ON(sizeof(cnt) * 2 > AUFS_WH_TMP_LEN); + + name = defname; + qs.len = sizeof(defname) - DNAME_INLINE_LEN + prefix->len - 1; + if (unlikely(prefix->len > DNAME_INLINE_LEN)) { + dentry = ERR_PTR(-ENAMETOOLONG); + if (unlikely(qs.len > NAME_MAX)) + goto out; + dentry = ERR_PTR(-ENOMEM); + name = kmalloc(qs.len + 1, GFP_NOFS); + if (unlikely(!name)) + goto out; + } + + /* doubly whiteout-ed */ + memcpy(name, AUFS_WH_PFX AUFS_WH_PFX, AUFS_WH_PFX_LEN * 2); + p = name + AUFS_WH_PFX_LEN * 2; + memcpy(p, prefix->name, prefix->len); + p += prefix->len; + *p++ = '.'; + AuDebugOn(name + qs.len + 1 - p <= AUFS_WH_TMP_LEN); + + qs.name = name; + for (i = 0; i < 3; i++) { + sprintf(p, "%.*x", AUFS_WH_TMP_LEN, cnt++); + dentry = au_sio_lkup_one(&qs, h_parent); + if (IS_ERR(dentry) || d_is_negative(dentry)) + goto out_name; + dput(dentry); + } + /* pr_warn("could not get random name\n"); */ + dentry = ERR_PTR(-EEXIST); + AuDbg("%.*s\n", AuLNPair(&qs)); + BUG(); + +out_name: + if (name != defname) + au_kfree_try_rcu(name); +out: + AuTraceErrPtr(dentry); + return dentry; +} + +/* + * rename the @h_dentry on @br to the whiteouted temporary name. + */ +int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = au_br_mnt(br) + }; + struct inode *h_dir, *delegated; + struct dentry *h_parent; + + h_parent = h_dentry->d_parent; /* dir inode is locked */ + h_dir = d_inode(h_parent); + IMustLock(h_dir); + + h_path.dentry = au_whtmp_lkup(h_parent, br, &h_dentry->d_name); + err = PTR_ERR(h_path.dentry); + if (IS_ERR(h_path.dentry)) + goto out; + + /* under the same dir, no need to lock_rename() */ + delegated = NULL; + err = vfsub_rename(h_dir, h_dentry, h_dir, &h_path, &delegated, + /*flags*/0); + AuTraceErr(err); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal rename\n"); + iput(delegated); + } + dput(h_path.dentry); + +out: + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * functions for removing a whiteout + */ + +static int do_unlink_wh(struct inode *h_dir, struct path *h_path) +{ + int err, force; + struct inode *delegated; + + /* + * forces superio when the dir has a sticky bit. + * this may be a violation of unix fs semantics. + */ + force = (h_dir->i_mode & S_ISVTX) + && !uid_eq(current_fsuid(), d_inode(h_path->dentry)->i_uid); + delegated = NULL; + err = vfsub_unlink(h_dir, h_path, &delegated, force); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + return err; +} + +int au_wh_unlink_dentry(struct inode *h_dir, struct path *h_path, + struct dentry *dentry) +{ + int err; + + err = do_unlink_wh(h_dir, h_path); + if (!err && dentry) + au_set_dbwh(dentry, -1); + + return err; +} + +static int unlink_wh_name(struct dentry *h_parent, struct qstr *wh, + struct au_branch *br) +{ + int err; + struct path h_path = { + .mnt = au_br_mnt(br) + }; + + err = 0; + h_path.dentry = vfsub_lkup_one(wh, h_parent); + if (IS_ERR(h_path.dentry)) + err = PTR_ERR(h_path.dentry); + else { + if (d_is_reg(h_path.dentry)) + err = do_unlink_wh(d_inode(h_parent), &h_path); + dput(h_path.dentry); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * initialize/clean whiteout for a branch + */ + +static void au_wh_clean(struct inode *h_dir, struct path *whpath, + const int isdir) +{ + int err; + struct inode *delegated; + + if (d_is_negative(whpath->dentry)) + return; + + if (isdir) + err = vfsub_rmdir(h_dir, whpath); + else { + delegated = NULL; + err = vfsub_unlink(h_dir, whpath, &delegated, /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + } + if (unlikely(err)) + pr_warn("failed removing %pd (%d), ignored.\n", + whpath->dentry, err); +} + +static int test_linkable(struct dentry *h_root) +{ + struct inode *h_dir = d_inode(h_root); + + if (h_dir->i_op->link) + return 0; + + pr_err("%pd (%s) doesn't support link(2), use noplink and rw+nolwh\n", + h_root, au_sbtype(h_root->d_sb)); + return -ENOSYS; /* the branch doesn't have its ->link() */ +} + +/* todo: should this mkdir be done in /sbin/mount.aufs helper? */ +static int au_whdir(struct inode *h_dir, struct path *path) +{ + int err; + + err = -EEXIST; + if (d_is_negative(path->dentry)) { + int mode = 0700; + + if (au_test_nfs(path->dentry->d_sb)) + mode |= 0111; + err = vfsub_mkdir(h_dir, path, mode); + } else if (d_is_dir(path->dentry)) + err = 0; + else + pr_err("unknown %pd exists\n", path->dentry); + + return err; +} + +struct au_wh_base { + const struct qstr *name; + struct dentry *dentry; +}; + +static void au_wh_init_ro(struct inode *h_dir, struct au_wh_base base[], + struct path *h_path) +{ + h_path->dentry = base[AuBrWh_BASE].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/0); + h_path->dentry = base[AuBrWh_PLINK].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/1); + h_path->dentry = base[AuBrWh_ORPH].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/1); +} + +/* + * returns tri-state, + * minus: error, caller should print the message + * zero: success + * plus: error, caller should NOT print the message + */ +static int au_wh_init_rw_nolink(struct dentry *h_root, struct au_wbr *wbr, + int do_plink, struct au_wh_base base[], + struct path *h_path) +{ + int err; + struct inode *h_dir; + + h_dir = d_inode(h_root); + h_path->dentry = base[AuBrWh_BASE].dentry; + au_wh_clean(h_dir, h_path, /*isdir*/0); + h_path->dentry = base[AuBrWh_PLINK].dentry; + if (do_plink) { + err = test_linkable(h_root); + if (unlikely(err)) { + err = 1; + goto out; + } + + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_plink = dget(base[AuBrWh_PLINK].dentry); + } else + au_wh_clean(h_dir, h_path, /*isdir*/1); + h_path->dentry = base[AuBrWh_ORPH].dentry; + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_orph = dget(base[AuBrWh_ORPH].dentry); + +out: + return err; +} + +/* + * for the moment, aufs supports the branch filesystem which does not support + * link(2). testing on FAT which does not support i_op->setattr() fully either, + * copyup failed. finally, such filesystem will not be used as the writable + * branch. + * + * returns tri-state, see above. + */ +static int au_wh_init_rw(struct dentry *h_root, struct au_wbr *wbr, + int do_plink, struct au_wh_base base[], + struct path *h_path) +{ + int err; + struct inode *h_dir; + + WbrWhMustWriteLock(wbr); + + err = test_linkable(h_root); + if (unlikely(err)) { + err = 1; + goto out; + } + + /* + * todo: should this create be done in /sbin/mount.aufs helper? + */ + err = -EEXIST; + h_dir = d_inode(h_root); + if (d_is_negative(base[AuBrWh_BASE].dentry)) { + h_path->dentry = base[AuBrWh_BASE].dentry; + err = vfsub_create(h_dir, h_path, WH_MASK, /*want_excl*/true); + } else if (d_is_reg(base[AuBrWh_BASE].dentry)) + err = 0; + else + pr_err("unknown %pd2 exists\n", base[AuBrWh_BASE].dentry); + if (unlikely(err)) + goto out; + + h_path->dentry = base[AuBrWh_PLINK].dentry; + if (do_plink) { + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_plink = dget(base[AuBrWh_PLINK].dentry); + } else + au_wh_clean(h_dir, h_path, /*isdir*/1); + wbr->wbr_whbase = dget(base[AuBrWh_BASE].dentry); + + h_path->dentry = base[AuBrWh_ORPH].dentry; + err = au_whdir(h_dir, h_path); + if (unlikely(err)) + goto out; + wbr->wbr_orph = dget(base[AuBrWh_ORPH].dentry); + +out: + return err; +} + +/* + * initialize the whiteout base file/dir for @br. + */ +int au_wh_init(struct au_branch *br, struct super_block *sb) +{ + int err, i; + const unsigned char do_plink + = !!au_opt_test(au_mntflags(sb), PLINK); + struct inode *h_dir; + struct path path = br->br_path; + struct dentry *h_root = path.dentry; + struct au_wbr *wbr = br->br_wbr; + static const struct qstr base_name[] = { + [AuBrWh_BASE] = QSTR_INIT(AUFS_BASE_NAME, + sizeof(AUFS_BASE_NAME) - 1), + [AuBrWh_PLINK] = QSTR_INIT(AUFS_PLINKDIR_NAME, + sizeof(AUFS_PLINKDIR_NAME) - 1), + [AuBrWh_ORPH] = QSTR_INIT(AUFS_ORPHDIR_NAME, + sizeof(AUFS_ORPHDIR_NAME) - 1) + }; + struct au_wh_base base[] = { + [AuBrWh_BASE] = { + .name = base_name + AuBrWh_BASE, + .dentry = NULL + }, + [AuBrWh_PLINK] = { + .name = base_name + AuBrWh_PLINK, + .dentry = NULL + }, + [AuBrWh_ORPH] = { + .name = base_name + AuBrWh_ORPH, + .dentry = NULL + } + }; + + if (wbr) + WbrWhMustWriteLock(wbr); + + for (i = 0; i < AuBrWh_Last; i++) { + /* doubly whiteouted */ + struct dentry *d; + + d = au_wh_lkup(h_root, (void *)base[i].name, br); + err = PTR_ERR(d); + if (IS_ERR(d)) + goto out; + + base[i].dentry = d; + AuDebugOn(wbr + && wbr->wbr_wh[i] + && wbr->wbr_wh[i] != base[i].dentry); + } + + if (wbr) + for (i = 0; i < AuBrWh_Last; i++) { + dput(wbr->wbr_wh[i]); + wbr->wbr_wh[i] = NULL; + } + + err = 0; + if (!au_br_writable(br->br_perm)) { + h_dir = d_inode(h_root); + au_wh_init_ro(h_dir, base, &path); + } else if (!au_br_wh_linkable(br->br_perm)) { + err = au_wh_init_rw_nolink(h_root, wbr, do_plink, base, &path); + if (err > 0) + goto out; + else if (err) + goto out_err; + } else { + err = au_wh_init_rw(h_root, wbr, do_plink, base, &path); + if (err > 0) + goto out; + else if (err) + goto out_err; + } + goto out; /* success */ + +out_err: + pr_err("an error(%d) on the writable branch %pd(%s)\n", + err, h_root, au_sbtype(h_root->d_sb)); +out: + for (i = 0; i < AuBrWh_Last; i++) + dput(base[i].dentry); + return err; +} + +/* ---------------------------------------------------------------------- */ +/* + * whiteouts are all hard-linked usually. + * when its link count reaches a ceiling, we create a new whiteout base + * asynchronously. + */ + +struct reinit_br_wh { + struct super_block *sb; + struct au_branch *br; +}; + +static void reinit_br_wh(void *arg) +{ + int err; + aufs_bindex_t bindex; + struct path h_path; + struct reinit_br_wh *a = arg; + struct au_wbr *wbr; + struct inode *dir, *delegated; + struct dentry *h_root; + struct au_hinode *hdir; + + err = 0; + wbr = a->br->br_wbr; + /* big aufs lock */ + si_noflush_write_lock(a->sb); + if (!au_br_writable(a->br->br_perm)) + goto out; + bindex = au_br_index(a->sb, a->br->br_id); + if (unlikely(bindex < 0)) + goto out; + + di_read_lock_parent(a->sb->s_root, AuLock_IR); + dir = d_inode(a->sb->s_root); + hdir = au_hi(dir, bindex); + h_root = au_h_dptr(a->sb->s_root, bindex); + AuDebugOn(h_root != au_br_dentry(a->br)); + + au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT); + wbr_wh_write_lock(wbr); + err = au_h_verify(wbr->wbr_whbase, au_opt_udba(a->sb), hdir->hi_inode, + h_root, a->br); + if (!err) { + h_path.dentry = wbr->wbr_whbase; + h_path.mnt = au_br_mnt(a->br); + delegated = NULL; + err = vfsub_unlink(hdir->hi_inode, &h_path, &delegated, + /*force*/0); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + } else { + pr_warn("%pd is moved, ignored\n", wbr->wbr_whbase); + err = 0; + } + dput(wbr->wbr_whbase); + wbr->wbr_whbase = NULL; + if (!err) + err = au_wh_init(a->br, a->sb); + wbr_wh_write_unlock(wbr); + au_hn_inode_unlock(hdir); + di_read_unlock(a->sb->s_root, AuLock_IR); + if (!err) + au_fhsm_wrote(a->sb, bindex, /*force*/0); + +out: + if (wbr) + atomic_dec(&wbr->wbr_wh_running); + au_lcnt_dec(&a->br->br_count); + si_write_unlock(a->sb); + au_nwt_done(&au_sbi(a->sb)->si_nowait); + au_kfree_rcu(a); + if (unlikely(err)) + AuIOErr("err %d\n", err); +} + +static void kick_reinit_br_wh(struct super_block *sb, struct au_branch *br) +{ + int do_dec, wkq_err; + struct reinit_br_wh *arg; + + do_dec = 1; + if (atomic_inc_return(&br->br_wbr->wbr_wh_running) != 1) + goto out; + + /* ignore ENOMEM */ + arg = kmalloc(sizeof(*arg), GFP_NOFS); + if (arg) { + /* + * dec(wh_running), kfree(arg) and dec(br_count) + * in reinit function + */ + arg->sb = sb; + arg->br = br; + au_lcnt_inc(&br->br_count); + wkq_err = au_wkq_nowait(reinit_br_wh, arg, sb, /*flags*/0); + if (unlikely(wkq_err)) { + atomic_dec(&br->br_wbr->wbr_wh_running); + au_lcnt_dec(&br->br_count); + au_kfree_rcu(arg); + } + do_dec = 0; + } + +out: + if (do_dec) + atomic_dec(&br->br_wbr->wbr_wh_running); +} + +/* ---------------------------------------------------------------------- */ + +/* + * create the whiteout @wh. + */ +static int link_or_create_wh(struct super_block *sb, aufs_bindex_t bindex, + struct dentry *wh) +{ + int err; + struct path h_path = { + .dentry = wh + }; + struct au_branch *br; + struct au_wbr *wbr; + struct dentry *h_parent; + struct inode *h_dir, *delegated; + + h_parent = wh->d_parent; /* dir inode is locked */ + h_dir = d_inode(h_parent); + IMustLock(h_dir); + + br = au_sbr(sb, bindex); + h_path.mnt = au_br_mnt(br); + wbr = br->br_wbr; + wbr_wh_read_lock(wbr); + if (wbr->wbr_whbase) { + delegated = NULL; + err = vfsub_link(wbr->wbr_whbase, h_dir, &h_path, &delegated); + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal link\n"); + iput(delegated); + } + if (!err || err != -EMLINK) + goto out; + + /* link count full. re-initialize br_whbase. */ + kick_reinit_br_wh(sb, br); + } + + /* return this error in this context */ + err = vfsub_create(h_dir, &h_path, WH_MASK, /*want_excl*/true); + if (!err) + au_fhsm_wrote(sb, bindex, /*force*/0); + +out: + wbr_wh_read_unlock(wbr); + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * create or remove the diropq. + */ +static struct dentry *do_diropq(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags) +{ + struct dentry *opq_dentry, *h_dentry; + struct super_block *sb; + struct au_branch *br; + int err; + + sb = dentry->d_sb; + br = au_sbr(sb, bindex); + h_dentry = au_h_dptr(dentry, bindex); + opq_dentry = vfsub_lkup_one(&diropq_name, h_dentry); + if (IS_ERR(opq_dentry)) + goto out; + + if (au_ftest_diropq(flags, CREATE)) { + err = link_or_create_wh(sb, bindex, opq_dentry); + if (!err) { + au_set_dbdiropq(dentry, bindex); + goto out; /* success */ + } + } else { + struct path tmp = { + .dentry = opq_dentry, + .mnt = au_br_mnt(br) + }; + err = do_unlink_wh(au_h_iptr(d_inode(dentry), bindex), &tmp); + if (!err) + au_set_dbdiropq(dentry, -1); + } + dput(opq_dentry); + opq_dentry = ERR_PTR(err); + +out: + return opq_dentry; +} + +struct do_diropq_args { + struct dentry **errp; + struct dentry *dentry; + aufs_bindex_t bindex; + unsigned int flags; +}; + +static void call_do_diropq(void *args) +{ + struct do_diropq_args *a = args; + *a->errp = do_diropq(a->dentry, a->bindex, a->flags); +} + +struct dentry *au_diropq_sio(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags) +{ + struct dentry *diropq, *h_dentry; + + h_dentry = au_h_dptr(dentry, bindex); + if (!au_test_h_perm_sio(d_inode(h_dentry), MAY_EXEC | MAY_WRITE)) + diropq = do_diropq(dentry, bindex, flags); + else { + int wkq_err; + struct do_diropq_args args = { + .errp = &diropq, + .dentry = dentry, + .bindex = bindex, + .flags = flags + }; + + wkq_err = au_wkq_wait(call_do_diropq, &args); + if (unlikely(wkq_err)) + diropq = ERR_PTR(wkq_err); + } + + return diropq; +} + +/* ---------------------------------------------------------------------- */ + +/* + * lookup whiteout dentry. + * @h_parent: lower parent dentry which must exist and be locked + * @base_name: name of dentry which will be whiteouted + * returns dentry for whiteout. + */ +struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name, + struct au_branch *br) +{ + int err; + struct qstr wh_name; + struct dentry *wh_dentry; + + err = au_wh_name_alloc(&wh_name, base_name); + wh_dentry = ERR_PTR(err); + if (!err) { + wh_dentry = vfsub_lkup_one(&wh_name, h_parent); + au_kfree_try_rcu(wh_name.name); + } + return wh_dentry; +} + +/* + * link/create a whiteout for @dentry on @bindex. + */ +struct dentry *au_wh_create(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent) +{ + struct dentry *wh_dentry; + struct super_block *sb; + int err; + + sb = dentry->d_sb; + wh_dentry = au_wh_lkup(h_parent, &dentry->d_name, au_sbr(sb, bindex)); + if (!IS_ERR(wh_dentry) && d_is_negative(wh_dentry)) { + err = link_or_create_wh(sb, bindex, wh_dentry); + if (!err) { + au_set_dbwh(dentry, bindex); + au_fhsm_wrote(sb, bindex, /*force*/0); + } else { + dput(wh_dentry); + wh_dentry = ERR_PTR(err); + } + } + + return wh_dentry; +} + +/* ---------------------------------------------------------------------- */ + +/* Delete all whiteouts in this directory on branch bindex. */ +static int del_wh_children(struct dentry *h_dentry, struct au_nhash *whlist, + aufs_bindex_t bindex, struct au_branch *br) +{ + int err; + unsigned long ul, n; + struct qstr wh_name; + char *p; + struct hlist_head *head; + struct au_vdir_wh *pos; + struct au_vdir_destr *str; + + err = -ENOMEM; + p = (void *)__get_free_page(GFP_NOFS); + wh_name.name = p; + if (unlikely(!wh_name.name)) + goto out; + + err = 0; + memcpy(p, AUFS_WH_PFX, AUFS_WH_PFX_LEN); + p += AUFS_WH_PFX_LEN; + n = whlist->nh_num; + head = whlist->nh_head; + for (ul = 0; !err && ul < n; ul++, head++) { + hlist_for_each_entry(pos, head, wh_hash) { + if (pos->wh_bindex != bindex) + continue; + + str = &pos->wh_str; + if (str->len + AUFS_WH_PFX_LEN <= PATH_MAX) { + memcpy(p, str->name, str->len); + wh_name.len = AUFS_WH_PFX_LEN + str->len; + err = unlink_wh_name(h_dentry, &wh_name, br); + if (!err) + continue; + break; + } + AuIOErr("whiteout name too long %.*s\n", + str->len, str->name); + err = -EIO; + break; + } + } + free_page((unsigned long)wh_name.name); + +out: + return err; +} + +struct del_wh_children_args { + int *errp; + struct dentry *h_dentry; + struct au_nhash *whlist; + aufs_bindex_t bindex; + struct au_branch *br; +}; + +static void call_del_wh_children(void *args) +{ + struct del_wh_children_args *a = args; + *a->errp = del_wh_children(a->h_dentry, a->whlist, a->bindex, a->br); +} + +/* ---------------------------------------------------------------------- */ + +struct au_whtmp_rmdir *au_whtmp_rmdir_alloc(struct super_block *sb, gfp_t gfp) +{ + struct au_whtmp_rmdir *whtmp; + int err; + unsigned int rdhash; + + SiMustAnyLock(sb); + + whtmp = kzalloc(sizeof(*whtmp), gfp); + if (unlikely(!whtmp)) { + whtmp = ERR_PTR(-ENOMEM); + goto out; + } + + /* no estimation for dir size */ + rdhash = au_sbi(sb)->si_rdhash; + if (!rdhash) + rdhash = AUFS_RDHASH_DEF; + err = au_nhash_alloc(&whtmp->whlist, rdhash, gfp); + if (unlikely(err)) { + au_kfree_rcu(whtmp); + whtmp = ERR_PTR(err); + } + +out: + return whtmp; +} + +void au_whtmp_rmdir_free(struct au_whtmp_rmdir *whtmp) +{ + if (whtmp->br) + au_lcnt_dec(&whtmp->br->br_count); + dput(whtmp->wh_dentry); + iput(whtmp->dir); + au_nhash_wh_free(&whtmp->whlist); + au_kfree_rcu(whtmp); +} + +/* + * rmdir the whiteouted temporary named dir @h_dentry. + * @whlist: whiteouted children. + */ +int au_whtmp_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_nhash *whlist) +{ + int err; + unsigned int h_nlink; + struct path h_tmp; + struct inode *wh_inode, *h_dir; + struct au_branch *br; + + h_dir = d_inode(wh_dentry->d_parent); /* dir inode is locked */ + IMustLock(h_dir); + + br = au_sbr(dir->i_sb, bindex); + wh_inode = d_inode(wh_dentry); + inode_lock_nested(wh_inode, AuLsc_I_CHILD); + + /* + * someone else might change some whiteouts while we were sleeping. + * it means this whlist may have an obsoleted entry. + */ + if (!au_test_h_perm_sio(wh_inode, MAY_EXEC | MAY_WRITE)) + err = del_wh_children(wh_dentry, whlist, bindex, br); + else { + int wkq_err; + struct del_wh_children_args args = { + .errp = &err, + .h_dentry = wh_dentry, + .whlist = whlist, + .bindex = bindex, + .br = br + }; + + wkq_err = au_wkq_wait(call_del_wh_children, &args); + if (unlikely(wkq_err)) + err = wkq_err; + } + inode_unlock(wh_inode); + + if (!err) { + h_tmp.dentry = wh_dentry; + h_tmp.mnt = au_br_mnt(br); + h_nlink = h_dir->i_nlink; + err = vfsub_rmdir(h_dir, &h_tmp); + /* some fs doesn't change the parent nlink in some cases */ + h_nlink -= h_dir->i_nlink; + } + + if (!err) { + if (au_ibtop(dir) == bindex) { + /* todo: dir->i_mutex is necessary */ + au_cpup_attr_timesizes(dir); + if (h_nlink) + vfsub_drop_nlink(dir); + } + return 0; /* success */ + } + + pr_warn("failed removing %pd(%d), ignored\n", wh_dentry, err); + return err; +} + +static void call_rmdir_whtmp(void *args) +{ + int err; + aufs_bindex_t bindex; + struct au_whtmp_rmdir *a = args; + struct super_block *sb; + struct dentry *h_parent; + struct inode *h_dir; + struct au_hinode *hdir; + + /* rmdir by nfsd may cause deadlock with this i_mutex */ + /* inode_lock(a->dir); */ + err = -EROFS; + sb = a->dir->i_sb; + si_read_lock(sb, !AuLock_FLUSH); + if (!au_br_writable(a->br->br_perm)) + goto out; + bindex = au_br_index(sb, a->br->br_id); + if (unlikely(bindex < 0)) + goto out; + + err = -EIO; + ii_write_lock_parent(a->dir); + h_parent = dget_parent(a->wh_dentry); + h_dir = d_inode(h_parent); + hdir = au_hi(a->dir, bindex); + err = vfsub_mnt_want_write(au_br_mnt(a->br)); + if (unlikely(err)) + goto out_mnt; + au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT); + err = au_h_verify(a->wh_dentry, au_opt_udba(sb), h_dir, h_parent, + a->br); + if (!err) + err = au_whtmp_rmdir(a->dir, bindex, a->wh_dentry, &a->whlist); + au_hn_inode_unlock(hdir); + vfsub_mnt_drop_write(au_br_mnt(a->br)); + +out_mnt: + dput(h_parent); + ii_write_unlock(a->dir); +out: + /* inode_unlock(a->dir); */ + au_whtmp_rmdir_free(a); + si_read_unlock(sb); + au_nwt_done(&au_sbi(sb)->si_nowait); + if (unlikely(err)) + AuIOErr("err %d\n", err); +} + +void au_whtmp_kick_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_whtmp_rmdir *args) +{ + int wkq_err; + struct super_block *sb; + + IMustLock(dir); + + /* all post-process will be done in do_rmdir_whtmp(). */ + sb = dir->i_sb; + args->dir = au_igrab(dir); + args->br = au_sbr(sb, bindex); + au_lcnt_inc(&args->br->br_count); + args->wh_dentry = dget(wh_dentry); + wkq_err = au_wkq_nowait(call_rmdir_whtmp, args, sb, /*flags*/0); + if (unlikely(wkq_err)) { + pr_warn("rmdir error %pd (%d), ignored\n", wh_dentry, wkq_err); + au_whtmp_rmdir_free(args); + } +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/whout.h +++ linux-riscv-5.8-5.8.0/fs/aufs/whout.h @@ -0,0 +1,86 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * whiteout for logical deletion and opaque directory + */ + +#ifndef __AUFS_WHOUT_H__ +#define __AUFS_WHOUT_H__ + +#ifdef __KERNEL__ + +#include "dir.h" + +/* whout.c */ +int au_wh_name_alloc(struct qstr *wh, const struct qstr *name); +int au_wh_test(struct dentry *h_parent, struct qstr *wh_name, int try_sio); +int au_diropq_test(struct dentry *h_dentry); +struct au_branch; +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br, + struct qstr *prefix); +int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br); +int au_wh_unlink_dentry(struct inode *h_dir, struct path *h_path, + struct dentry *dentry); +int au_wh_init(struct au_branch *br, struct super_block *sb); + +/* diropq flags */ +#define AuDiropq_CREATE 1 +#define au_ftest_diropq(flags, name) ((flags) & AuDiropq_##name) +#define au_fset_diropq(flags, name) \ + do { (flags) |= AuDiropq_##name; } while (0) +#define au_fclr_diropq(flags, name) \ + do { (flags) &= ~AuDiropq_##name; } while (0) + +struct dentry *au_diropq_sio(struct dentry *dentry, aufs_bindex_t bindex, + unsigned int flags); +struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name, + struct au_branch *br); +struct dentry *au_wh_create(struct dentry *dentry, aufs_bindex_t bindex, + struct dentry *h_parent); + +/* real rmdir for the whiteout-ed dir */ +struct au_whtmp_rmdir { + struct inode *dir; + struct au_branch *br; + struct dentry *wh_dentry; + struct au_nhash whlist; +}; + +struct au_whtmp_rmdir *au_whtmp_rmdir_alloc(struct super_block *sb, gfp_t gfp); +void au_whtmp_rmdir_free(struct au_whtmp_rmdir *whtmp); +int au_whtmp_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_nhash *whlist); +void au_whtmp_kick_rmdir(struct inode *dir, aufs_bindex_t bindex, + struct dentry *wh_dentry, struct au_whtmp_rmdir *args); + +/* ---------------------------------------------------------------------- */ + +static inline struct dentry *au_diropq_create(struct dentry *dentry, + aufs_bindex_t bindex) +{ + return au_diropq_sio(dentry, bindex, AuDiropq_CREATE); +} + +static inline int au_diropq_remove(struct dentry *dentry, aufs_bindex_t bindex) +{ + return PTR_ERR(au_diropq_sio(dentry, bindex, !AuDiropq_CREATE)); +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WHOUT_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/wkq.c +++ linux-riscv-5.8-5.8.0/fs/aufs/wkq.c @@ -0,0 +1,372 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * workqueue for asynchronous/super-io operations + * todo: try new credential scheme + */ + +#include +#include "aufs.h" + +/* internal workqueue named AUFS_WKQ_NAME */ + +static struct workqueue_struct *au_wkq; + +struct au_wkinfo { + struct work_struct wk; + struct kobject *kobj; + + unsigned int flags; /* see wkq.h */ + + au_wkq_func_t func; + void *args; + +#ifdef CONFIG_LOCKDEP + int dont_check; + struct held_lock **hlock; +#endif + + struct completion *comp; +}; + +/* ---------------------------------------------------------------------- */ +/* + * Aufs passes some operations to the workqueue such as the internal copyup. + * This scheme looks rather unnatural for LOCKDEP debugging feature, since the + * job run by workqueue depends upon the locks acquired in the other task. + * Delegating a small operation to the workqueue, aufs passes its lockdep + * information too. And the job in the workqueue restores the info in order to + * pretend as if it acquired those locks. This is just to make LOCKDEP work + * correctly and expectedly. + */ + +#ifndef CONFIG_LOCKDEP +AuStubInt0(au_wkq_lockdep_alloc, struct au_wkinfo *wkinfo); +AuStubVoid(au_wkq_lockdep_free, struct au_wkinfo *wkinfo); +AuStubVoid(au_wkq_lockdep_pre, struct au_wkinfo *wkinfo); +AuStubVoid(au_wkq_lockdep_post, struct au_wkinfo *wkinfo); +AuStubVoid(au_wkq_lockdep_init, struct au_wkinfo *wkinfo); +#else +static void au_wkq_lockdep_init(struct au_wkinfo *wkinfo) +{ + wkinfo->hlock = NULL; + wkinfo->dont_check = 0; +} + +/* + * 1: matched + * 0: unmatched + */ +static int au_wkq_lockdep_test(struct lock_class_key *key, const char *name) +{ + static DEFINE_SPINLOCK(spin); + static struct { + char *name; + struct lock_class_key *key; + } a[] = { + { .name = "&sbinfo->si_rwsem" }, + { .name = "&finfo->fi_rwsem" }, + { .name = "&dinfo->di_rwsem" }, + { .name = "&iinfo->ii_rwsem" } + }; + static int set; + int i; + + /* lockless read from 'set.' see below */ + if (set == ARRAY_SIZE(a)) { + for (i = 0; i < ARRAY_SIZE(a); i++) + if (a[i].key == key) + goto match; + goto unmatch; + } + + spin_lock(&spin); + if (set) + for (i = 0; i < ARRAY_SIZE(a); i++) + if (a[i].key == key) { + spin_unlock(&spin); + goto match; + } + for (i = 0; i < ARRAY_SIZE(a); i++) { + if (a[i].key) { + if (unlikely(a[i].key == key)) { /* rare but possible */ + spin_unlock(&spin); + goto match; + } else + continue; + } + if (strstr(a[i].name, name)) { + /* + * the order of these three lines is important for the + * lockless read above. + */ + a[i].key = key; + spin_unlock(&spin); + set++; + /* AuDbg("%d, %s\n", set, name); */ + goto match; + } + } + spin_unlock(&spin); + goto unmatch; + +match: + return 1; +unmatch: + return 0; +} + +static int au_wkq_lockdep_alloc(struct au_wkinfo *wkinfo) +{ + int err, n; + struct task_struct *curr; + struct held_lock **hl, *held_locks, *p; + + err = 0; + curr = current; + wkinfo->dont_check = lockdep_recursing(curr); + if (wkinfo->dont_check) + goto out; + n = curr->lockdep_depth; + if (!n) + goto out; + + err = -ENOMEM; + wkinfo->hlock = kmalloc_array(n + 1, sizeof(*wkinfo->hlock), GFP_NOFS); + if (unlikely(!wkinfo->hlock)) + goto out; + + err = 0; +#if 0 /* left for debugging */ + if (0 && au_debug_test()) + lockdep_print_held_locks(curr); +#endif + held_locks = curr->held_locks; + hl = wkinfo->hlock; + while (n--) { + p = held_locks++; + if (au_wkq_lockdep_test(p->instance->key, p->instance->name)) + *hl++ = p; + } + *hl = NULL; + +out: + return err; +} + +static void au_wkq_lockdep_free(struct au_wkinfo *wkinfo) +{ + au_kfree_try_rcu(wkinfo->hlock); +} + +static void au_wkq_lockdep_pre(struct au_wkinfo *wkinfo) +{ + struct held_lock *p, **hl = wkinfo->hlock; + int subclass; + + if (wkinfo->dont_check) + lockdep_off(); + if (!hl) + return; + while ((p = *hl++)) { /* assignment */ + subclass = lockdep_hlock_class(p)->subclass; + /* AuDbg("%s, %d\n", p->instance->name, subclass); */ + if (p->read) + rwsem_acquire_read(p->instance, subclass, 0, + /*p->acquire_ip*/_RET_IP_); + else + rwsem_acquire(p->instance, subclass, 0, + /*p->acquire_ip*/_RET_IP_); + } +} + +static void au_wkq_lockdep_post(struct au_wkinfo *wkinfo) +{ + struct held_lock *p, **hl = wkinfo->hlock; + + if (wkinfo->dont_check) + lockdep_on(); + if (!hl) + return; + while ((p = *hl++)) /* assignment */ + rwsem_release(p->instance, /*p->acquire_ip*/_RET_IP_); +} +#endif + +static void wkq_func(struct work_struct *wk) +{ + struct au_wkinfo *wkinfo = container_of(wk, struct au_wkinfo, wk); + + AuDebugOn(!uid_eq(current_fsuid(), GLOBAL_ROOT_UID)); + AuDebugOn(rlimit(RLIMIT_FSIZE) != RLIM_INFINITY); + + au_wkq_lockdep_pre(wkinfo); + wkinfo->func(wkinfo->args); + au_wkq_lockdep_post(wkinfo); + if (au_ftest_wkq(wkinfo->flags, WAIT)) + complete(wkinfo->comp); + else { + kobject_put(wkinfo->kobj); + module_put(THIS_MODULE); /* todo: ?? */ + au_kfree_rcu(wkinfo); + } +} + +/* + * Since struct completion is large, try allocating it dynamically. + */ +#define AuWkqCompDeclare(name) struct completion *comp = NULL + +static int au_wkq_comp_alloc(struct au_wkinfo *wkinfo, struct completion **comp) +{ + *comp = kmalloc(sizeof(**comp), GFP_NOFS); + if (*comp) { + init_completion(*comp); + wkinfo->comp = *comp; + return 0; + } + return -ENOMEM; +} + +static void au_wkq_comp_free(struct completion *comp) +{ + au_kfree_rcu(comp); +} + +static void au_wkq_run(struct au_wkinfo *wkinfo) +{ + if (au_ftest_wkq(wkinfo->flags, NEST)) { + if (au_wkq_test()) { + AuWarn1("wkq from wkq, unless silly-rename on NFS," + " due to a dead dir by UDBA," + " or async xino write?\n"); + AuDebugOn(au_ftest_wkq(wkinfo->flags, WAIT)); + } + } else + au_dbg_verify_kthread(); + + if (au_ftest_wkq(wkinfo->flags, WAIT)) { + INIT_WORK_ONSTACK(&wkinfo->wk, wkq_func); + queue_work(au_wkq, &wkinfo->wk); + } else { + INIT_WORK(&wkinfo->wk, wkq_func); + schedule_work(&wkinfo->wk); + } +} + +/* + * Be careful. It is easy to make deadlock happen. + * processA: lock, wkq and wait + * processB: wkq and wait, lock in wkq + * --> deadlock + */ +int au_wkq_do_wait(unsigned int flags, au_wkq_func_t func, void *args) +{ + int err; + AuWkqCompDeclare(comp); + struct au_wkinfo wkinfo = { + .flags = flags, + .func = func, + .args = args + }; + + err = au_wkq_comp_alloc(&wkinfo, &comp); + if (unlikely(err)) + goto out; + err = au_wkq_lockdep_alloc(&wkinfo); + if (unlikely(err)) + goto out_comp; + if (!err) { + au_wkq_run(&wkinfo); + /* no timeout, no interrupt */ + wait_for_completion(wkinfo.comp); + } + au_wkq_lockdep_free(&wkinfo); + +out_comp: + au_wkq_comp_free(comp); +out: + destroy_work_on_stack(&wkinfo.wk); + return err; +} + +/* + * Note: dget/dput() in func for aufs dentries are not supported. It will be a + * problem in a concurrent umounting. + */ +int au_wkq_nowait(au_wkq_func_t func, void *args, struct super_block *sb, + unsigned int flags) +{ + int err; + struct au_wkinfo *wkinfo; + + atomic_inc(&au_sbi(sb)->si_nowait.nw_len); + + /* + * wkq_func() must free this wkinfo. + * it highly depends upon the implementation of workqueue. + */ + err = 0; + wkinfo = kmalloc(sizeof(*wkinfo), GFP_NOFS); + if (wkinfo) { + wkinfo->kobj = &au_sbi(sb)->si_kobj; + wkinfo->flags = flags & ~AuWkq_WAIT; + wkinfo->func = func; + wkinfo->args = args; + wkinfo->comp = NULL; + au_wkq_lockdep_init(wkinfo); + kobject_get(wkinfo->kobj); + __module_get(THIS_MODULE); /* todo: ?? */ + + au_wkq_run(wkinfo); + } else { + err = -ENOMEM; + au_nwt_done(&au_sbi(sb)->si_nowait); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +void au_nwt_init(struct au_nowait_tasks *nwt) +{ + atomic_set(&nwt->nw_len, 0); + /* smp_mb(); */ /* atomic_set */ + init_waitqueue_head(&nwt->nw_wq); +} + +void au_wkq_fin(void) +{ + destroy_workqueue(au_wkq); +} + +int __init au_wkq_init(void) +{ + int err; + + err = 0; + au_wkq = alloc_workqueue(AUFS_WKQ_NAME, 0, WQ_DFL_ACTIVE); + if (IS_ERR(au_wkq)) + err = PTR_ERR(au_wkq); + else if (!au_wkq) + err = -ENOMEM; + + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/wkq.h +++ linux-riscv-5.8-5.8.0/fs/aufs/wkq.h @@ -0,0 +1,89 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * workqueue for asynchronous/super-io operations + * todo: try new credentials management scheme + */ + +#ifndef __AUFS_WKQ_H__ +#define __AUFS_WKQ_H__ + +#ifdef __KERNEL__ + +#include + +struct super_block; + +/* ---------------------------------------------------------------------- */ + +/* + * in the next operation, wait for the 'nowait' tasks in system-wide workqueue + */ +struct au_nowait_tasks { + atomic_t nw_len; + wait_queue_head_t nw_wq; +}; + +/* ---------------------------------------------------------------------- */ + +typedef void (*au_wkq_func_t)(void *args); + +/* wkq flags */ +#define AuWkq_WAIT 1 +#define AuWkq_NEST (1 << 1) +#define au_ftest_wkq(flags, name) ((flags) & AuWkq_##name) +#define au_fset_wkq(flags, name) \ + do { (flags) |= AuWkq_##name; } while (0) +#define au_fclr_wkq(flags, name) \ + do { (flags) &= ~AuWkq_##name; } while (0) + +/* wkq.c */ +int au_wkq_do_wait(unsigned int flags, au_wkq_func_t func, void *args); +int au_wkq_nowait(au_wkq_func_t func, void *args, struct super_block *sb, + unsigned int flags); +void au_nwt_init(struct au_nowait_tasks *nwt); +int __init au_wkq_init(void); +void au_wkq_fin(void); + +/* ---------------------------------------------------------------------- */ + +static inline int au_wkq_test(void) +{ + return current->flags & PF_WQ_WORKER; +} + +static inline int au_wkq_wait(au_wkq_func_t func, void *args) +{ + return au_wkq_do_wait(AuWkq_WAIT, func, args); +} + +static inline void au_nwt_done(struct au_nowait_tasks *nwt) +{ + if (atomic_dec_and_test(&nwt->nw_len)) + wake_up_all(&nwt->nw_wq); +} + +static inline int au_nwt_flush(struct au_nowait_tasks *nwt) +{ + wait_event(nwt->nw_wq, !atomic_read(&nwt->nw_len)); + return 0; +} + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WKQ_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/aufs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/aufs/xattr.c @@ -0,0 +1,356 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2014-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * handling xattr functions + */ + +#include +#include +#include +#include "aufs.h" + +static int au_xattr_ignore(int err, char *name, unsigned int ignore_flags) +{ + if (!ignore_flags) + goto out; + switch (err) { + case -ENOMEM: + case -EDQUOT: + goto out; + } + + if ((ignore_flags & AuBrAttr_ICEX) == AuBrAttr_ICEX) { + err = 0; + goto out; + } + +#define cmp(brattr, prefix) do { \ + if (!strncmp(name, XATTR_##prefix##_PREFIX, \ + XATTR_##prefix##_PREFIX_LEN)) { \ + if (ignore_flags & AuBrAttr_ICEX_##brattr) \ + err = 0; \ + goto out; \ + } \ + } while (0) + + cmp(SEC, SECURITY); + cmp(SYS, SYSTEM); + cmp(TR, TRUSTED); + cmp(USR, USER); +#undef cmp + + if (ignore_flags & AuBrAttr_ICEX_OTH) + err = 0; + +out: + return err; +} + +static const int au_xattr_out_of_list = AuBrAttr_ICEX_OTH << 1; + +static int au_do_cpup_xattr(struct dentry *h_dst, struct dentry *h_src, + char *name, char **buf, unsigned int ignore_flags, + unsigned int verbose) +{ + int err; + ssize_t ssz; + struct inode *h_idst; + + ssz = vfs_getxattr_alloc(h_src, name, buf, 0, GFP_NOFS); + err = ssz; + if (unlikely(err <= 0)) { + if (err == -ENODATA + || (err == -EOPNOTSUPP + && ((ignore_flags & au_xattr_out_of_list) + || (au_test_nfs_noacl(d_inode(h_src)) + && (!strcmp(name, XATTR_NAME_POSIX_ACL_ACCESS) + || !strcmp(name, + XATTR_NAME_POSIX_ACL_DEFAULT)))) + )) + err = 0; + if (err && (verbose || au_debug_test())) + pr_err("%s, err %d\n", name, err); + goto out; + } + + /* unlock it temporary */ + h_idst = d_inode(h_dst); + inode_unlock(h_idst); + err = vfsub_setxattr(h_dst, name, *buf, ssz, /*flags*/0); + inode_lock_nested(h_idst, AuLsc_I_CHILD2); + if (unlikely(err)) { + if (verbose || au_debug_test()) + pr_err("%s, err %d\n", name, err); + err = au_xattr_ignore(err, name, ignore_flags); + } + +out: + return err; +} + +int au_cpup_xattr(struct dentry *h_dst, struct dentry *h_src, int ignore_flags, + unsigned int verbose) +{ + int err, unlocked, acl_access, acl_default; + ssize_t ssz; + struct inode *h_isrc, *h_idst; + char *value, *p, *o, *e; + + /* try stopping to update the source inode while we are referencing */ + /* there should not be the parent-child relationship between them */ + h_isrc = d_inode(h_src); + h_idst = d_inode(h_dst); + inode_unlock(h_idst); + inode_lock_shared_nested(h_isrc, AuLsc_I_CHILD); + inode_lock_nested(h_idst, AuLsc_I_CHILD2); + unlocked = 0; + + /* some filesystems don't list POSIX ACL, for example tmpfs */ + ssz = vfs_listxattr(h_src, NULL, 0); + err = ssz; + if (unlikely(err < 0)) { + AuTraceErr(err); + if (err == -ENODATA + || err == -EOPNOTSUPP) + err = 0; /* ignore */ + goto out; + } + + err = 0; + p = NULL; + o = NULL; + if (ssz) { + err = -ENOMEM; + p = kmalloc(ssz, GFP_NOFS); + o = p; + if (unlikely(!p)) + goto out; + err = vfs_listxattr(h_src, p, ssz); + } + inode_unlock_shared(h_isrc); + unlocked = 1; + AuDbg("err %d, ssz %zd\n", err, ssz); + if (unlikely(err < 0)) + goto out_free; + + err = 0; + e = p + ssz; + value = NULL; + acl_access = 0; + acl_default = 0; + while (!err && p < e) { + acl_access |= !strncmp(p, XATTR_NAME_POSIX_ACL_ACCESS, + sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1); + acl_default |= !strncmp(p, XATTR_NAME_POSIX_ACL_DEFAULT, + sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) + - 1); + err = au_do_cpup_xattr(h_dst, h_src, p, &value, ignore_flags, + verbose); + p += strlen(p) + 1; + } + AuTraceErr(err); + ignore_flags |= au_xattr_out_of_list; + if (!err && !acl_access) { + err = au_do_cpup_xattr(h_dst, h_src, + XATTR_NAME_POSIX_ACL_ACCESS, &value, + ignore_flags, verbose); + AuTraceErr(err); + } + if (!err && !acl_default) { + err = au_do_cpup_xattr(h_dst, h_src, + XATTR_NAME_POSIX_ACL_DEFAULT, &value, + ignore_flags, verbose); + AuTraceErr(err); + } + + au_kfree_try_rcu(value); + +out_free: + au_kfree_try_rcu(o); +out: + if (!unlocked) + inode_unlock_shared(h_isrc); + AuTraceErr(err); + return err; +} + +/* ---------------------------------------------------------------------- */ + +static int au_smack_reentering(struct super_block *sb) +{ +#if IS_ENABLED(CONFIG_SECURITY_SMACK) || IS_ENABLED(CONFIG_SECURITY_SELINUX) + /* + * as a part of lookup, smack_d_instantiate() is called, and it calls + * i_op->getxattr(). ouch. + */ + return si_pid_test(sb); +#else + return 0; +#endif +} + +enum { + AU_XATTR_LIST, + AU_XATTR_GET +}; + +struct au_lgxattr { + int type; + union { + struct { + char *list; + size_t size; + } list; + struct { + const char *name; + void *value; + size_t size; + } get; + } u; +}; + +static ssize_t au_lgxattr(struct dentry *dentry, struct inode *inode, + struct au_lgxattr *arg) +{ + ssize_t err; + int reenter; + struct path h_path; + struct super_block *sb; + + sb = dentry->d_sb; + reenter = au_smack_reentering(sb); + if (!reenter) { + err = si_read_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (unlikely(err)) + goto out; + } + err = au_h_path_getattr(dentry, inode, /*force*/1, &h_path, reenter); + if (unlikely(err)) + goto out_si; + if (unlikely(!h_path.dentry)) + /* illegally overlapped or something */ + goto out_di; /* pretending success */ + + /* always topmost entry only */ + switch (arg->type) { + case AU_XATTR_LIST: + err = vfs_listxattr(h_path.dentry, + arg->u.list.list, arg->u.list.size); + break; + case AU_XATTR_GET: + AuDebugOn(d_is_negative(h_path.dentry)); + err = vfs_getxattr(h_path.dentry, + arg->u.get.name, arg->u.get.value, + arg->u.get.size); + break; + } + +out_di: + if (!reenter) + di_read_unlock(dentry, AuLock_IR); +out_si: + if (!reenter) + si_read_unlock(sb); +out: + AuTraceErr(err); + return err; +} + +ssize_t aufs_listxattr(struct dentry *dentry, char *list, size_t size) +{ + struct au_lgxattr arg = { + .type = AU_XATTR_LIST, + .u.list = { + .list = list, + .size = size + }, + }; + + return au_lgxattr(dentry, /*inode*/NULL, &arg); +} + +static ssize_t au_getxattr(struct dentry *dentry, struct inode *inode, + const char *name, void *value, size_t size) +{ + struct au_lgxattr arg = { + .type = AU_XATTR_GET, + .u.get = { + .name = name, + .value = value, + .size = size + }, + }; + + return au_lgxattr(dentry, inode, &arg); +} + +static int au_setxattr(struct dentry *dentry, struct inode *inode, + const char *name, const void *value, size_t size, + int flags) +{ + struct au_sxattr arg = { + .type = AU_XATTR_SET, + .u.set = { + .name = name, + .value = value, + .size = size, + .flags = flags + }, + }; + + return au_sxattr(dentry, inode, &arg); +} + +/* ---------------------------------------------------------------------- */ + +static int au_xattr_get(const struct xattr_handler *handler, + struct dentry *dentry, struct inode *inode, + const char *name, void *buffer, size_t size) +{ + return au_getxattr(dentry, inode, name, buffer, size); +} + +static int au_xattr_set(const struct xattr_handler *handler, + struct dentry *dentry, struct inode *inode, + const char *name, const void *value, size_t size, + int flags) +{ + return au_setxattr(dentry, inode, name, value, size, flags); +} + +static const struct xattr_handler au_xattr_handler = { + .name = "", + .prefix = "", + .get = au_xattr_get, + .set = au_xattr_set +}; + +static const struct xattr_handler *au_xattr_handlers[] = { +#ifdef CONFIG_FS_POSIX_ACL + &posix_acl_access_xattr_handler, + &posix_acl_default_xattr_handler, +#endif + &au_xattr_handler, /* must be last */ + NULL +}; + +void au_xattr_init(struct super_block *sb) +{ + sb->s_xattr = au_xattr_handlers; +} --- linux-riscv-5.8-5.8.0.orig/fs/aufs/xino.c +++ linux-riscv-5.8-5.8.0/fs/aufs/xino.c @@ -0,0 +1,1966 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * external inode number translation table and bitmap + * + * things to consider + * - the lifetime + * + au_xino object + * + XINO files (xino, xib, xigen) + * + dynamic debugfs entries (xiN) + * + static debugfs entries (xib, xigen) + * + static sysfs entry (xi_path) + * - several entry points to handle them. + * + mount(2) without xino option (default) + * + mount(2) with xino option + * + mount(2) with noxino option + * + umount(2) + * + remount with add/del branches + * + remount with xino/noxino options + */ + +#include +#include +#include "aufs.h" + +static aufs_bindex_t sbr_find_shared(struct super_block *sb, aufs_bindex_t btop, + aufs_bindex_t bbot, + struct super_block *h_sb) +{ + /* todo: try binary-search if the branches are many */ + for (; btop <= bbot; btop++) + if (h_sb == au_sbr_sb(sb, btop)) + return btop; + return -1; +} + +/* + * find another branch who is on the same filesystem of the specified + * branch{@btgt}. search until @bbot. + */ +static aufs_bindex_t is_sb_shared(struct super_block *sb, aufs_bindex_t btgt, + aufs_bindex_t bbot) +{ + aufs_bindex_t bindex; + struct super_block *tgt_sb; + + tgt_sb = au_sbr_sb(sb, btgt); + bindex = sbr_find_shared(sb, /*btop*/0, btgt - 1, tgt_sb); + if (bindex < 0) + bindex = sbr_find_shared(sb, btgt + 1, bbot, tgt_sb); + + return bindex; +} + +/* ---------------------------------------------------------------------- */ + +/* + * stop unnecessary notify events at creating xino files + */ + +aufs_bindex_t au_xi_root(struct super_block *sb, struct dentry *dentry) +{ + aufs_bindex_t bfound, bindex, bbot; + struct dentry *parent; + struct au_branch *br; + + bfound = -1; + parent = dentry->d_parent; /* safe d_parent access */ + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_dentry(br) == parent) { + bfound = bindex; + break; + } + } + + AuDbg("bfound b%d\n", bfound); + return bfound; +} + +struct au_xino_lock_dir { + struct au_hinode *hdir; + struct dentry *parent; + struct inode *dir; +}; + +static struct dentry *au_dget_parent_lock(struct dentry *dentry, + unsigned int lsc) +{ + struct dentry *parent; + struct inode *dir; + + parent = dget_parent(dentry); + dir = d_inode(parent); + inode_lock_nested(dir, lsc); +#if 0 /* it should not happen */ + spin_lock(&dentry->d_lock); + if (unlikely(dentry->d_parent != parent)) { + spin_unlock(&dentry->d_lock); + inode_unlock(dir); + dput(parent); + parent = NULL; + goto out; + } + spin_unlock(&dentry->d_lock); + +out: +#endif + return parent; +} + +static void au_xino_lock_dir(struct super_block *sb, struct path *xipath, + struct au_xino_lock_dir *ldir) +{ + aufs_bindex_t bindex; + + ldir->hdir = NULL; + bindex = au_xi_root(sb, xipath->dentry); + if (bindex >= 0) { + /* rw branch root */ + ldir->hdir = au_hi(d_inode(sb->s_root), bindex); + au_hn_inode_lock_nested(ldir->hdir, AuLsc_I_PARENT); + } else { + /* other */ + ldir->parent = au_dget_parent_lock(xipath->dentry, + AuLsc_I_PARENT); + ldir->dir = d_inode(ldir->parent); + } +} + +static void au_xino_unlock_dir(struct au_xino_lock_dir *ldir) +{ + if (ldir->hdir) + au_hn_inode_unlock(ldir->hdir); + else { + inode_unlock(ldir->dir); + dput(ldir->parent); + } +} + +/* ---------------------------------------------------------------------- */ + +/* + * create and set a new xino file + */ +struct file *au_xino_create(struct super_block *sb, char *fpath, int silent, + int wbrtop) +{ + struct file *file; + struct dentry *h_parent, *d; + struct inode *h_dir, *inode; + int err; + static DEFINE_MUTEX(mtx); + + /* + * at mount-time, and the xino file is the default path, + * hnotify is disabled so we have no notify events to ignore. + * when a user specified the xino, we cannot get au_hdir to be ignored. + */ + if (!wbrtop) + mutex_lock(&mtx); + file = vfsub_filp_open(fpath, O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE + /* | __FMODE_NONOTIFY */, + 0666); + if (IS_ERR(file)) { + if (!wbrtop) + mutex_unlock(&mtx); + if (!silent) + pr_err("open %s(%ld)\n", fpath, PTR_ERR(file)); + return file; + } + + /* keep file count */ + err = 0; + d = file->f_path.dentry; + h_parent = au_dget_parent_lock(d, AuLsc_I_PARENT); + if (!wbrtop) + mutex_unlock(&mtx); + /* mnt_want_write() is unnecessary here */ + h_dir = d_inode(h_parent); + inode = file_inode(file); + /* no delegation since it is just created */ + if (inode->i_nlink) + err = vfsub_unlink(h_dir, &file->f_path, /*delegated*/NULL, + /*force*/0); + inode_unlock(h_dir); + dput(h_parent); + if (unlikely(err)) { + if (!silent) + pr_err("unlink %s(%d)\n", fpath, err); + goto out; + } + + err = -EINVAL; + if (unlikely(sb == d->d_sb)) { + if (!silent) + pr_err("%s must be outside\n", fpath); + goto out; + } + if (unlikely(au_test_fs_bad_xino(d->d_sb))) { + if (!silent) + pr_err("xino doesn't support %s(%s)\n", + fpath, au_sbtype(d->d_sb)); + goto out; + } + return file; /* success */ + +out: + fput(file); + file = ERR_PTR(err); + return file; +} + +/* + * create a new xinofile at the same place/path as @base. + */ +struct file *au_xino_create2(struct super_block *sb, struct path *base, + struct file *copy_src) +{ + struct file *file; + struct dentry *dentry, *parent; + struct inode *dir, *delegated; + struct qstr *name; + struct path path; + int err, do_unlock; + struct au_xino_lock_dir ldir; + + do_unlock = 1; + au_xino_lock_dir(sb, base, &ldir); + dentry = base->dentry; + parent = dentry->d_parent; /* dir inode is locked */ + dir = d_inode(parent); + IMustLock(dir); + + name = &dentry->d_name; + path.dentry = vfsub_lookup_one_len(name->name, parent, name->len); + if (IS_ERR(path.dentry)) { + file = (void *)path.dentry; + pr_err("%pd lookup err %ld\n", dentry, PTR_ERR(path.dentry)); + goto out; + } + + /* no need to mnt_want_write() since we call dentry_open() later */ + err = vfs_create(dir, path.dentry, 0666, NULL); + if (unlikely(err)) { + file = ERR_PTR(err); + pr_err("%pd create err %d\n", dentry, err); + goto out_dput; + } + + path.mnt = base->mnt; + file = vfsub_dentry_open(&path, + O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE + /* | __FMODE_NONOTIFY */); + if (IS_ERR(file)) { + pr_err("%pd open err %ld\n", dentry, PTR_ERR(file)); + goto out_dput; + } + + delegated = NULL; + err = vfsub_unlink(dir, &file->f_path, &delegated, /*force*/0); + au_xino_unlock_dir(&ldir); + do_unlock = 0; + if (unlikely(err == -EWOULDBLOCK)) { + pr_warn("cannot retry for NFSv4 delegation" + " for an internal unlink\n"); + iput(delegated); + } + if (unlikely(err)) { + pr_err("%pd unlink err %d\n", dentry, err); + goto out_fput; + } + + if (copy_src) { + /* no one can touch copy_src xino */ + err = au_copy_file(file, copy_src, vfsub_f_size_read(copy_src)); + if (unlikely(err)) { + pr_err("%pd copy err %d\n", dentry, err); + goto out_fput; + } + } + goto out_dput; /* success */ + +out_fput: + fput(file); + file = ERR_PTR(err); +out_dput: + dput(path.dentry); +out: + if (do_unlock) + au_xino_unlock_dir(&ldir); + return file; +} + +struct file *au_xino_file1(struct au_xino *xi) +{ + struct file *file; + unsigned int u, nfile; + + file = NULL; + nfile = xi->xi_nfile; + for (u = 0; u < nfile; u++) { + file = xi->xi_file[u]; + if (file) + break; + } + + return file; +} + +static int au_xino_file_set(struct au_xino *xi, int idx, struct file *file) +{ + int err; + struct file *f; + void *p; + + if (file) + get_file(file); + + err = 0; + f = NULL; + if (idx < xi->xi_nfile) { + f = xi->xi_file[idx]; + if (f) + fput(f); + } else { + p = au_kzrealloc(xi->xi_file, + sizeof(*xi->xi_file) * xi->xi_nfile, + sizeof(*xi->xi_file) * (idx + 1), + GFP_NOFS, /*may_shrink*/0); + if (p) { + MtxMustLock(&xi->xi_mtx); + xi->xi_file = p; + xi->xi_nfile = idx + 1; + } else { + err = -ENOMEM; + if (file) + fput(file); + goto out; + } + } + xi->xi_file[idx] = file; + +out: + return err; +} + +/* + * if @xinew->xi is not set, then create new xigen file. + */ +struct file *au_xi_new(struct super_block *sb, struct au_xi_new *xinew) +{ + struct file *file; + int err; + + SiMustAnyLock(sb); + + file = au_xino_create2(sb, xinew->base, xinew->copy_src); + if (IS_ERR(file)) { + err = PTR_ERR(file); + pr_err("%s[%d], err %d\n", + xinew->xi ? "xino" : "xigen", + xinew->idx, err); + goto out; + } + + if (xinew->xi) + err = au_xino_file_set(xinew->xi, xinew->idx, file); + else { + BUG(); + /* todo: make xigen file an array */ + /* err = au_xigen_file_set(sb, xinew->idx, file); */ + } + fput(file); + if (unlikely(err)) + file = ERR_PTR(err); + +out: + return file; +} + +/* ---------------------------------------------------------------------- */ + +/* + * truncate xino files + */ +static int au_xino_do_trunc(struct super_block *sb, aufs_bindex_t bindex, + int idx, struct kstatfs *st) +{ + int err; + blkcnt_t blocks; + struct file *file, *new_xino; + struct au_xi_new xinew = { + .idx = idx + }; + + err = 0; + xinew.xi = au_sbr(sb, bindex)->br_xino; + file = au_xino_file(xinew.xi, idx); + if (!file) + goto out; + + xinew.base = &file->f_path; + err = vfs_statfs(xinew.base, st); + if (unlikely(err)) { + AuErr1("statfs err %d, ignored\n", err); + err = 0; + goto out; + } + + blocks = file_inode(file)->i_blocks; + pr_info("begin truncating xino(b%d-%d), ib%llu, %llu/%llu free blks\n", + bindex, idx, (u64)blocks, st->f_bfree, st->f_blocks); + + xinew.copy_src = file; + new_xino = au_xi_new(sb, &xinew); + if (IS_ERR(new_xino)) { + err = PTR_ERR(new_xino); + pr_err("xino(b%d-%d), err %d, ignored\n", bindex, idx, err); + goto out; + } + + err = vfs_statfs(&new_xino->f_path, st); + if (!err) + pr_info("end truncating xino(b%d-%d), ib%llu, %llu/%llu free blks\n", + bindex, idx, (u64)file_inode(new_xino)->i_blocks, + st->f_bfree, st->f_blocks); + else { + AuErr1("statfs err %d, ignored\n", err); + err = 0; + } + +out: + return err; +} + +int au_xino_trunc(struct super_block *sb, aufs_bindex_t bindex, int idx_begin) +{ + int err, i; + unsigned long jiffy; + aufs_bindex_t bbot; + struct kstatfs *st; + struct au_branch *br; + struct au_xino *xi; + + err = -ENOMEM; + st = kmalloc(sizeof(*st), GFP_NOFS); + if (unlikely(!st)) + goto out; + + err = -EINVAL; + bbot = au_sbbot(sb); + if (unlikely(bindex < 0 || bbot < bindex)) + goto out_st; + + err = 0; + jiffy = jiffies; + br = au_sbr(sb, bindex); + xi = br->br_xino; + for (i = idx_begin; !err && i < xi->xi_nfile; i++) + err = au_xino_do_trunc(sb, bindex, i, st); + if (!err) + au_sbi(sb)->si_xino_jiffy = jiffy; + +out_st: + au_kfree_rcu(st); +out: + return err; +} + +struct xino_do_trunc_args { + struct super_block *sb; + struct au_branch *br; + int idx; +}; + +static void xino_do_trunc(void *_args) +{ + struct xino_do_trunc_args *args = _args; + struct super_block *sb; + struct au_branch *br; + struct inode *dir; + int err, idx; + aufs_bindex_t bindex; + + err = 0; + sb = args->sb; + dir = d_inode(sb->s_root); + br = args->br; + idx = args->idx; + + si_noflush_write_lock(sb); + ii_read_lock_parent(dir); + bindex = au_br_index(sb, br->br_id); + err = au_xino_trunc(sb, bindex, idx); + ii_read_unlock(dir); + if (unlikely(err)) + pr_warn("err b%d, (%d)\n", bindex, err); + atomic_dec(&br->br_xino->xi_truncating); + au_lcnt_dec(&br->br_count); + si_write_unlock(sb); + au_nwt_done(&au_sbi(sb)->si_nowait); + au_kfree_rcu(args); +} + +/* + * returns the index in the xi_file array whose corresponding file is necessary + * to truncate, or -1 which means no need to truncate. + */ +static int xino_trunc_test(struct super_block *sb, struct au_branch *br) +{ + int err; + unsigned int u; + struct kstatfs st; + struct au_sbinfo *sbinfo; + struct au_xino *xi; + struct file *file; + + /* todo: si_xino_expire and the ratio should be customizable */ + sbinfo = au_sbi(sb); + if (time_before(jiffies, + sbinfo->si_xino_jiffy + sbinfo->si_xino_expire)) + return -1; + + /* truncation border */ + xi = br->br_xino; + for (u = 0; u < xi->xi_nfile; u++) { + file = au_xino_file(xi, u); + if (!file) + continue; + + err = vfs_statfs(&file->f_path, &st); + if (unlikely(err)) { + AuErr1("statfs err %d, ignored\n", err); + return -1; + } + if (div64_u64(st.f_bfree * 100, st.f_blocks) + >= AUFS_XINO_DEF_TRUNC) + return u; + } + + return -1; +} + +static void xino_try_trunc(struct super_block *sb, struct au_branch *br) +{ + int idx; + struct xino_do_trunc_args *args; + int wkq_err; + + idx = xino_trunc_test(sb, br); + if (idx < 0) + return; + + if (atomic_inc_return(&br->br_xino->xi_truncating) > 1) + goto out; + + /* lock and kfree() will be called in trunc_xino() */ + args = kmalloc(sizeof(*args), GFP_NOFS); + if (unlikely(!args)) { + AuErr1("no memory\n"); + goto out; + } + + au_lcnt_inc(&br->br_count); + args->sb = sb; + args->br = br; + args->idx = idx; + wkq_err = au_wkq_nowait(xino_do_trunc, args, sb, /*flags*/0); + if (!wkq_err) + return; /* success */ + + pr_err("wkq %d\n", wkq_err); + au_lcnt_dec(&br->br_count); + au_kfree_rcu(args); + +out: + atomic_dec(&br->br_xino->xi_truncating); +} + +/* ---------------------------------------------------------------------- */ + +struct au_xi_calc { + int idx; + loff_t pos; +}; + +static void au_xi_calc(struct super_block *sb, ino_t h_ino, + struct au_xi_calc *calc) +{ + loff_t maxent; + + maxent = au_xi_maxent(sb); + calc->idx = div64_u64_rem(h_ino, maxent, &calc->pos); + calc->pos *= sizeof(ino_t); +} + +static int au_xino_do_new_async(struct super_block *sb, struct au_branch *br, + struct au_xi_calc *calc) +{ + int err; + struct file *file; + struct au_xino *xi = br->br_xino; + struct au_xi_new xinew = { + .xi = xi + }; + + SiMustAnyLock(sb); + + err = 0; + if (!xi) + goto out; + + mutex_lock(&xi->xi_mtx); + file = au_xino_file(xi, calc->idx); + if (file) + goto out_mtx; + + file = au_xino_file(xi, /*idx*/-1); + AuDebugOn(!file); + xinew.idx = calc->idx; + xinew.base = &file->f_path; + /* xinew.copy_src = NULL; */ + file = au_xi_new(sb, &xinew); + if (IS_ERR(file)) + err = PTR_ERR(file); + +out_mtx: + mutex_unlock(&xi->xi_mtx); +out: + return err; +} + +struct au_xino_do_new_async_args { + struct super_block *sb; + struct au_branch *br; + struct au_xi_calc calc; + ino_t ino; +}; + +struct au_xi_writing { + struct hlist_bl_node node; + ino_t h_ino, ino; +}; + +static int au_xino_do_write(vfs_writef_t write, struct file *file, + struct au_xi_calc *calc, ino_t ino); + +static void au_xino_call_do_new_async(void *args) +{ + struct au_xino_do_new_async_args *a = args; + struct au_branch *br; + struct super_block *sb; + struct au_sbinfo *sbi; + struct inode *root; + struct file *file; + struct au_xi_writing *del, *p; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + int err; + + br = a->br; + sb = a->sb; + sbi = au_sbi(sb); + si_noflush_read_lock(sb); + root = d_inode(sb->s_root); + ii_read_lock_child(root); + err = au_xino_do_new_async(sb, br, &a->calc); + if (unlikely(err)) { + AuIOErr("err %d\n", err); + goto out; + } + + file = au_xino_file(br->br_xino, a->calc.idx); + AuDebugOn(!file); + err = au_xino_do_write(sbi->si_xwrite, file, &a->calc, a->ino); + if (unlikely(err)) { + AuIOErr("err %d\n", err); + goto out; + } + + del = NULL; + hbl = &br->br_xino->xi_writing; + hlist_bl_lock(hbl); + au_hbl_for_each(pos, hbl) { + p = container_of(pos, struct au_xi_writing, node); + if (p->ino == a->ino) { + del = p; + hlist_bl_del(&p->node); + break; + } + } + hlist_bl_unlock(hbl); + au_kfree_rcu(del); + +out: + au_lcnt_dec(&br->br_count); + ii_read_unlock(root); + si_read_unlock(sb); + au_nwt_done(&sbi->si_nowait); + au_kfree_rcu(a); +} + +/* + * create a new xino file asynchronously + */ +static int au_xino_new_async(struct super_block *sb, struct au_branch *br, + struct au_xi_calc *calc, ino_t ino) +{ + int err; + struct au_xino_do_new_async_args *arg; + + err = -ENOMEM; + arg = kmalloc(sizeof(*arg), GFP_NOFS); + if (unlikely(!arg)) + goto out; + + arg->sb = sb; + arg->br = br; + arg->calc = *calc; + arg->ino = ino; + au_lcnt_inc(&br->br_count); + err = au_wkq_nowait(au_xino_call_do_new_async, arg, sb, AuWkq_NEST); + if (unlikely(err)) { + pr_err("wkq %d\n", err); + au_lcnt_dec(&br->br_count); + au_kfree_rcu(arg); + } + +out: + return err; +} + +/* + * read @ino from xinofile for the specified branch{@sb, @bindex} + * at the position of @h_ino. + */ +int au_xino_read(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t *ino) +{ + int err; + ssize_t sz; + struct au_xi_calc calc; + struct au_sbinfo *sbinfo; + struct file *file; + struct au_xino *xi; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos; + struct au_xi_writing *p; + + *ino = 0; + if (!au_opt_test(au_mntflags(sb), XINO)) + return 0; /* no xino */ + + err = 0; + au_xi_calc(sb, h_ino, &calc); + xi = au_sbr(sb, bindex)->br_xino; + file = au_xino_file(xi, calc.idx); + if (!file) { + hbl = &xi->xi_writing; + hlist_bl_lock(hbl); + au_hbl_for_each(pos, hbl) { + p = container_of(pos, struct au_xi_writing, node); + if (p->h_ino == h_ino) { + AuDbg("hi%llu, i%llu, found\n", + (u64)p->h_ino, (u64)p->ino); + *ino = p->ino; + break; + } + } + hlist_bl_unlock(hbl); + return 0; + } else if (vfsub_f_size_read(file) < calc.pos + sizeof(*ino)) + return 0; /* no xino */ + + sbinfo = au_sbi(sb); + sz = xino_fread(sbinfo->si_xread, file, ino, sizeof(*ino), &calc.pos); + if (sz == sizeof(*ino)) + return 0; /* success */ + + err = sz; + if (unlikely(sz >= 0)) { + err = -EIO; + AuIOErr("xino read error (%zd)\n", sz); + } + return err; +} + +static int au_xino_do_write(vfs_writef_t write, struct file *file, + struct au_xi_calc *calc, ino_t ino) +{ + ssize_t sz; + + sz = xino_fwrite(write, file, &ino, sizeof(ino), &calc->pos); + if (sz == sizeof(ino)) + return 0; /* success */ + + AuIOErr("write failed (%zd)\n", sz); + return -EIO; +} + +/* + * write @ino to the xinofile for the specified branch{@sb, @bindex} + * at the position of @h_ino. + * even if @ino is zero, it is written to the xinofile and means no entry. + * if the size of the xino file on a specific filesystem exceeds the watermark, + * try truncating it. + */ +int au_xino_write(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + ino_t ino) +{ + int err; + unsigned int mnt_flags; + struct au_xi_calc calc; + struct file *file; + struct au_branch *br; + struct au_xino *xi; + struct au_xi_writing *p; + + SiMustAnyLock(sb); + + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, XINO)) + return 0; + + au_xi_calc(sb, h_ino, &calc); + br = au_sbr(sb, bindex); + xi = br->br_xino; + file = au_xino_file(xi, calc.idx); + if (!file) { + /* store the inum pair into the list */ + p = kmalloc(sizeof(*p), GFP_NOFS | __GFP_NOFAIL); + p->h_ino = h_ino; + p->ino = ino; + au_hbl_add(&p->node, &xi->xi_writing); + + /* create and write a new xino file asynchronously */ + err = au_xino_new_async(sb, br, &calc, ino); + if (!err) + return 0; /* success */ + goto out; + } + + err = au_xino_do_write(au_sbi(sb)->si_xwrite, file, &calc, ino); + if (!err) { + br = au_sbr(sb, bindex); + if (au_opt_test(mnt_flags, TRUNC_XINO) + && au_test_fs_trunc_xino(au_br_sb(br))) + xino_try_trunc(sb, br); + return 0; /* success */ + } + +out: + AuIOErr("write failed (%d)\n", err); + return -EIO; +} + +static ssize_t xino_fread_wkq(vfs_readf_t func, struct file *file, void *buf, + size_t size, loff_t *pos); + +/* todo: unnecessary to support mmap_sem since kernel-space? */ +ssize_t xino_fread(vfs_readf_t func, struct file *file, void *kbuf, size_t size, + loff_t *pos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + char __user *u; + } buf; + int i; + const int prevent_endless = 10; + + i = 0; + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + err = func(file, buf.u, size, pos); + if (err == -EINTR + && !au_wkq_test() + && fatal_signal_pending(current)) { + set_fs(oldfs); + err = xino_fread_wkq(func, file, kbuf, size, pos); + BUG_ON(err == -EINTR); + oldfs = get_fs(); + set_fs(KERNEL_DS); + } + } while (i++ < prevent_endless + && (err == -EAGAIN || err == -EINTR)); + set_fs(oldfs); + +#if 0 /* reserved for future use */ + if (err > 0) + fsnotify_access(file->f_path.dentry); +#endif + + return err; +} + +struct xino_fread_args { + ssize_t *errp; + vfs_readf_t func; + struct file *file; + void *buf; + size_t size; + loff_t *pos; +}; + +static void call_xino_fread(void *args) +{ + struct xino_fread_args *a = args; + *a->errp = xino_fread(a->func, a->file, a->buf, a->size, a->pos); +} + +static ssize_t xino_fread_wkq(vfs_readf_t func, struct file *file, void *buf, + size_t size, loff_t *pos) +{ + ssize_t err; + int wkq_err; + struct xino_fread_args args = { + .errp = &err, + .func = func, + .file = file, + .buf = buf, + .size = size, + .pos = pos + }; + + wkq_err = au_wkq_wait(call_xino_fread, &args); + if (unlikely(wkq_err)) + err = wkq_err; + + return err; +} + +static ssize_t xino_fwrite_wkq(vfs_writef_t func, struct file *file, void *buf, + size_t size, loff_t *pos); + +static ssize_t do_xino_fwrite(vfs_writef_t func, struct file *file, void *kbuf, + size_t size, loff_t *pos) +{ + ssize_t err; + mm_segment_t oldfs; + union { + void *k; + const char __user *u; + } buf; + int i; + const int prevent_endless = 10; + + i = 0; + buf.k = kbuf; + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + err = func(file, buf.u, size, pos); + if (err == -EINTR + && !au_wkq_test() + && fatal_signal_pending(current)) { + set_fs(oldfs); + err = xino_fwrite_wkq(func, file, kbuf, size, pos); + BUG_ON(err == -EINTR); + oldfs = get_fs(); + set_fs(KERNEL_DS); + } + } while (i++ < prevent_endless + && (err == -EAGAIN || err == -EINTR)); + set_fs(oldfs); + +#if 0 /* reserved for future use */ + if (err > 0) + fsnotify_modify(file->f_path.dentry); +#endif + + return err; +} + +struct do_xino_fwrite_args { + ssize_t *errp; + vfs_writef_t func; + struct file *file; + void *buf; + size_t size; + loff_t *pos; +}; + +static void call_do_xino_fwrite(void *args) +{ + struct do_xino_fwrite_args *a = args; + *a->errp = do_xino_fwrite(a->func, a->file, a->buf, a->size, a->pos); +} + +static ssize_t xino_fwrite_wkq(vfs_writef_t func, struct file *file, void *buf, + size_t size, loff_t *pos) +{ + ssize_t err; + int wkq_err; + struct do_xino_fwrite_args args = { + .errp = &err, + .func = func, + .file = file, + .buf = buf, + .size = size, + .pos = pos + }; + + /* + * it breaks RLIMIT_FSIZE and normal user's limit, + * users should care about quota and real 'filesystem full.' + */ + wkq_err = au_wkq_wait(call_do_xino_fwrite, &args); + if (unlikely(wkq_err)) + err = wkq_err; + + return err; +} + +ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf, + size_t size, loff_t *pos) +{ + ssize_t err; + + if (rlimit(RLIMIT_FSIZE) == RLIM_INFINITY) { + lockdep_off(); + err = do_xino_fwrite(func, file, buf, size, pos); + lockdep_on(); + } else { + lockdep_off(); + err = xino_fwrite_wkq(func, file, buf, size, pos); + lockdep_on(); + } + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * inode number bitmap + */ +static const int page_bits = (int)PAGE_SIZE * BITS_PER_BYTE; +static ino_t xib_calc_ino(unsigned long pindex, int bit) +{ + ino_t ino; + + AuDebugOn(bit < 0 || page_bits <= bit); + ino = AUFS_FIRST_INO + pindex * page_bits + bit; + return ino; +} + +static void xib_calc_bit(ino_t ino, unsigned long *pindex, int *bit) +{ + AuDebugOn(ino < AUFS_FIRST_INO); + ino -= AUFS_FIRST_INO; + *pindex = ino / page_bits; + *bit = ino % page_bits; +} + +static int xib_pindex(struct super_block *sb, unsigned long pindex) +{ + int err; + loff_t pos; + ssize_t sz; + struct au_sbinfo *sbinfo; + struct file *xib; + unsigned long *p; + + sbinfo = au_sbi(sb); + MtxMustLock(&sbinfo->si_xib_mtx); + AuDebugOn(pindex > ULONG_MAX / PAGE_SIZE + || !au_opt_test(sbinfo->si_mntflags, XINO)); + + if (pindex == sbinfo->si_xib_last_pindex) + return 0; + + xib = sbinfo->si_xib; + p = sbinfo->si_xib_buf; + pos = sbinfo->si_xib_last_pindex; + pos *= PAGE_SIZE; + sz = xino_fwrite(sbinfo->si_xwrite, xib, p, PAGE_SIZE, &pos); + if (unlikely(sz != PAGE_SIZE)) + goto out; + + pos = pindex; + pos *= PAGE_SIZE; + if (vfsub_f_size_read(xib) >= pos + PAGE_SIZE) + sz = xino_fread(sbinfo->si_xread, xib, p, PAGE_SIZE, &pos); + else { + memset(p, 0, PAGE_SIZE); + sz = xino_fwrite(sbinfo->si_xwrite, xib, p, PAGE_SIZE, &pos); + } + if (sz == PAGE_SIZE) { + sbinfo->si_xib_last_pindex = pindex; + return 0; /* success */ + } + +out: + AuIOErr1("write failed (%zd)\n", sz); + err = sz; + if (sz >= 0) + err = -EIO; + return err; +} + +static void au_xib_clear_bit(struct inode *inode) +{ + int err, bit; + unsigned long pindex; + struct super_block *sb; + struct au_sbinfo *sbinfo; + + AuDebugOn(inode->i_nlink); + + sb = inode->i_sb; + xib_calc_bit(inode->i_ino, &pindex, &bit); + AuDebugOn(page_bits <= bit); + sbinfo = au_sbi(sb); + mutex_lock(&sbinfo->si_xib_mtx); + err = xib_pindex(sb, pindex); + if (!err) { + clear_bit(bit, sbinfo->si_xib_buf); + sbinfo->si_xib_next_bit = bit; + } + mutex_unlock(&sbinfo->si_xib_mtx); +} + +/* ---------------------------------------------------------------------- */ + +/* + * truncate a xino bitmap file + */ + +/* todo: slow */ +static int do_xib_restore(struct super_block *sb, struct file *file, void *page) +{ + int err, bit; + ssize_t sz; + unsigned long pindex; + loff_t pos, pend; + struct au_sbinfo *sbinfo; + vfs_readf_t func; + ino_t *ino; + unsigned long *p; + + err = 0; + sbinfo = au_sbi(sb); + MtxMustLock(&sbinfo->si_xib_mtx); + p = sbinfo->si_xib_buf; + func = sbinfo->si_xread; + pend = vfsub_f_size_read(file); + pos = 0; + while (pos < pend) { + sz = xino_fread(func, file, page, PAGE_SIZE, &pos); + err = sz; + if (unlikely(sz <= 0)) + goto out; + + err = 0; + for (ino = page; sz > 0; ino++, sz -= sizeof(ino)) { + if (unlikely(*ino < AUFS_FIRST_INO)) + continue; + + xib_calc_bit(*ino, &pindex, &bit); + AuDebugOn(page_bits <= bit); + err = xib_pindex(sb, pindex); + if (!err) + set_bit(bit, p); + else + goto out; + } + } + +out: + return err; +} + +static int xib_restore(struct super_block *sb) +{ + int err, i; + unsigned int nfile; + aufs_bindex_t bindex, bbot; + void *page; + struct au_branch *br; + struct au_xino *xi; + struct file *file; + + err = -ENOMEM; + page = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!page)) + goto out; + + err = 0; + bbot = au_sbbot(sb); + for (bindex = 0; !err && bindex <= bbot; bindex++) + if (!bindex || is_sb_shared(sb, bindex, bindex - 1) < 0) { + br = au_sbr(sb, bindex); + xi = br->br_xino; + nfile = xi->xi_nfile; + for (i = 0; i < nfile; i++) { + file = au_xino_file(xi, i); + if (file) + err = do_xib_restore(sb, file, page); + } + } else + AuDbg("skip shared b%d\n", bindex); + free_page((unsigned long)page); + +out: + return err; +} + +int au_xib_trunc(struct super_block *sb) +{ + int err; + ssize_t sz; + loff_t pos; + struct au_sbinfo *sbinfo; + unsigned long *p; + struct file *file; + + SiMustWriteLock(sb); + + err = 0; + sbinfo = au_sbi(sb); + if (!au_opt_test(sbinfo->si_mntflags, XINO)) + goto out; + + file = sbinfo->si_xib; + if (vfsub_f_size_read(file) <= PAGE_SIZE) + goto out; + + file = au_xino_create2(sb, &sbinfo->si_xib->f_path, NULL); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + fput(sbinfo->si_xib); + sbinfo->si_xib = file; + + p = sbinfo->si_xib_buf; + memset(p, 0, PAGE_SIZE); + pos = 0; + sz = xino_fwrite(sbinfo->si_xwrite, sbinfo->si_xib, p, PAGE_SIZE, &pos); + if (unlikely(sz != PAGE_SIZE)) { + err = sz; + AuIOErr("err %d\n", err); + if (sz >= 0) + err = -EIO; + goto out; + } + + mutex_lock(&sbinfo->si_xib_mtx); + /* mnt_want_write() is unnecessary here */ + err = xib_restore(sb); + mutex_unlock(&sbinfo->si_xib_mtx); + +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +struct au_xino *au_xino_alloc(unsigned int nfile) +{ + struct au_xino *xi; + + xi = kzalloc(sizeof(*xi), GFP_NOFS); + if (unlikely(!xi)) + goto out; + xi->xi_nfile = nfile; + xi->xi_file = kcalloc(nfile, sizeof(*xi->xi_file), GFP_NOFS); + if (unlikely(!xi->xi_file)) + goto out_free; + + xi->xi_nondir.total = 8; /* initial size */ + xi->xi_nondir.array = kcalloc(xi->xi_nondir.total, sizeof(ino_t), + GFP_NOFS); + if (unlikely(!xi->xi_nondir.array)) + goto out_file; + + spin_lock_init(&xi->xi_nondir.spin); + init_waitqueue_head(&xi->xi_nondir.wqh); + mutex_init(&xi->xi_mtx); + INIT_HLIST_BL_HEAD(&xi->xi_writing); + atomic_set(&xi->xi_truncating, 0); + kref_init(&xi->xi_kref); + goto out; /* success */ + +out_file: + au_kfree_try_rcu(xi->xi_file); +out_free: + au_kfree_rcu(xi); + xi = NULL; +out: + return xi; +} + +static int au_xino_init(struct au_branch *br, int idx, struct file *file) +{ + int err; + struct au_xino *xi; + + err = 0; + xi = au_xino_alloc(idx + 1); + if (unlikely(!xi)) { + err = -ENOMEM; + goto out; + } + + if (file) + get_file(file); + xi->xi_file[idx] = file; + AuDebugOn(br->br_xino); + br->br_xino = xi; + +out: + return err; +} + +static void au_xino_release(struct kref *kref) +{ + struct au_xino *xi; + int i; + unsigned long ul; + struct hlist_bl_head *hbl; + struct hlist_bl_node *pos, *n; + struct au_xi_writing *p; + + xi = container_of(kref, struct au_xino, xi_kref); + for (i = 0; i < xi->xi_nfile; i++) + if (xi->xi_file[i]) + fput(xi->xi_file[i]); + for (i = xi->xi_nondir.total - 1; i >= 0; i--) + AuDebugOn(xi->xi_nondir.array[i]); + mutex_destroy(&xi->xi_mtx); + hbl = &xi->xi_writing; + ul = au_hbl_count(hbl); + if (unlikely(ul)) { + pr_warn("xi_writing %lu\n", ul); + hlist_bl_lock(hbl); + hlist_bl_for_each_entry_safe(p, pos, n, hbl, node) { + hlist_bl_del(&p->node); + /* kmemleak reported au_kfree_rcu() doesn't free it */ + kfree(p); + } + hlist_bl_unlock(hbl); + } + au_kfree_try_rcu(xi->xi_file); + au_kfree_try_rcu(xi->xi_nondir.array); + au_kfree_rcu(xi); +} + +int au_xino_put(struct au_branch *br) +{ + int ret; + struct au_xino *xi; + + ret = 0; + xi = br->br_xino; + if (xi) { + br->br_xino = NULL; + ret = kref_put(&xi->xi_kref, au_xino_release); + } + + return ret; +} + +/* ---------------------------------------------------------------------- */ + +/* + * xino mount option handlers + */ + +/* xino bitmap */ +static void xino_clear_xib(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + /* unnecessary to clear sbinfo->si_xread and ->si_xwrite */ + if (sbinfo->si_xib) + fput(sbinfo->si_xib); + sbinfo->si_xib = NULL; + if (sbinfo->si_xib_buf) + free_page((unsigned long)sbinfo->si_xib_buf); + sbinfo->si_xib_buf = NULL; +} + +static int au_xino_set_xib(struct super_block *sb, struct path *path) +{ + int err; + loff_t pos; + struct au_sbinfo *sbinfo; + struct file *file; + struct super_block *xi_sb; + + SiMustWriteLock(sb); + + sbinfo = au_sbi(sb); + file = au_xino_create2(sb, path, sbinfo->si_xib); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + if (sbinfo->si_xib) + fput(sbinfo->si_xib); + sbinfo->si_xib = file; + sbinfo->si_xread = vfs_readf(file); + sbinfo->si_xwrite = vfs_writef(file); + xi_sb = file_inode(file)->i_sb; + sbinfo->si_ximaxent = xi_sb->s_maxbytes; + if (unlikely(sbinfo->si_ximaxent < PAGE_SIZE)) { + err = -EIO; + pr_err("s_maxbytes(%llu) on %s is too small\n", + (u64)sbinfo->si_ximaxent, au_sbtype(xi_sb)); + goto out_unset; + } + sbinfo->si_ximaxent /= sizeof(ino_t); + + err = -ENOMEM; + if (!sbinfo->si_xib_buf) + sbinfo->si_xib_buf = (void *)get_zeroed_page(GFP_NOFS); + if (unlikely(!sbinfo->si_xib_buf)) + goto out_unset; + + sbinfo->si_xib_last_pindex = 0; + sbinfo->si_xib_next_bit = 0; + if (vfsub_f_size_read(file) < PAGE_SIZE) { + pos = 0; + err = xino_fwrite(sbinfo->si_xwrite, file, sbinfo->si_xib_buf, + PAGE_SIZE, &pos); + if (unlikely(err != PAGE_SIZE)) + goto out_free; + } + err = 0; + goto out; /* success */ + +out_free: + if (sbinfo->si_xib_buf) + free_page((unsigned long)sbinfo->si_xib_buf); + sbinfo->si_xib_buf = NULL; + if (err >= 0) + err = -EIO; +out_unset: + fput(sbinfo->si_xib); + sbinfo->si_xib = NULL; +out: + AuTraceErr(err); + return err; +} + +/* xino for each branch */ +static void xino_clear_br(struct super_block *sb) +{ + aufs_bindex_t bindex, bbot; + struct au_branch *br; + + bbot = au_sbbot(sb); + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + AuDebugOn(!br); + au_xino_put(br); + } +} + +static void au_xino_set_br_shared(struct super_block *sb, struct au_branch *br, + aufs_bindex_t bshared) +{ + struct au_branch *brshared; + + brshared = au_sbr(sb, bshared); + AuDebugOn(!brshared->br_xino); + AuDebugOn(!brshared->br_xino->xi_file); + if (br->br_xino != brshared->br_xino) { + au_xino_get(brshared); + au_xino_put(br); + br->br_xino = brshared->br_xino; + } +} + +struct au_xino_do_set_br { + vfs_writef_t writef; + struct au_branch *br; + ino_t h_ino; + aufs_bindex_t bshared; +}; + +static int au_xino_do_set_br(struct super_block *sb, struct path *path, + struct au_xino_do_set_br *args) +{ + int err; + struct au_xi_calc calc; + struct file *file; + struct au_branch *br; + struct au_xi_new xinew = { + .base = path + }; + + br = args->br; + xinew.xi = br->br_xino; + au_xi_calc(sb, args->h_ino, &calc); + xinew.copy_src = au_xino_file(xinew.xi, calc.idx); + if (args->bshared >= 0) + /* shared xino */ + au_xino_set_br_shared(sb, br, args->bshared); + else if (!xinew.xi) { + /* new xino */ + err = au_xino_init(br, calc.idx, xinew.copy_src); + if (unlikely(err)) + goto out; + } + + /* force re-creating */ + xinew.xi = br->br_xino; + xinew.idx = calc.idx; + mutex_lock(&xinew.xi->xi_mtx); + file = au_xi_new(sb, &xinew); + mutex_unlock(&xinew.xi->xi_mtx); + err = PTR_ERR(file); + if (IS_ERR(file)) + goto out; + AuDebugOn(!file); + + err = au_xino_do_write(args->writef, file, &calc, AUFS_ROOT_INO); + if (unlikely(err)) + au_xino_put(br); + +out: + AuTraceErr(err); + return err; +} + +static int au_xino_set_br(struct super_block *sb, struct path *path) +{ + int err; + aufs_bindex_t bindex, bbot; + struct au_xino_do_set_br args; + struct inode *inode; + + SiMustWriteLock(sb); + + bbot = au_sbbot(sb); + inode = d_inode(sb->s_root); + args.writef = au_sbi(sb)->si_xwrite; + for (bindex = 0; bindex <= bbot; bindex++) { + args.h_ino = au_h_iptr(inode, bindex)->i_ino; + args.br = au_sbr(sb, bindex); + args.bshared = is_sb_shared(sb, bindex, bindex - 1); + err = au_xino_do_set_br(sb, path, &args); + if (unlikely(err)) + break; + } + + AuTraceErr(err); + return err; +} + +void au_xino_clr(struct super_block *sb) +{ + struct au_sbinfo *sbinfo; + + au_xigen_clr(sb); + xino_clear_xib(sb); + xino_clear_br(sb); + dbgaufs_brs_del(sb, 0); + sbinfo = au_sbi(sb); + /* lvalue, do not call au_mntflags() */ + au_opt_clr(sbinfo->si_mntflags, XINO); +} + +int au_xino_set(struct super_block *sb, struct au_opt_xino *xiopt, int remount) +{ + int err, skip; + struct dentry *dentry, *parent, *cur_dentry, *cur_parent; + struct qstr *dname, *cur_name; + struct file *cur_xino; + struct au_sbinfo *sbinfo; + struct path *path, *cur_path; + + SiMustWriteLock(sb); + + err = 0; + sbinfo = au_sbi(sb); + path = &xiopt->file->f_path; + dentry = path->dentry; + parent = dget_parent(dentry); + if (remount) { + skip = 0; + cur_xino = sbinfo->si_xib; + if (cur_xino) { + cur_path = &cur_xino->f_path; + cur_dentry = cur_path->dentry; + cur_parent = dget_parent(cur_dentry); + cur_name = &cur_dentry->d_name; + dname = &dentry->d_name; + skip = (cur_parent == parent + && au_qstreq(dname, cur_name)); + dput(cur_parent); + } + if (skip) + goto out; + } + + au_opt_set(sbinfo->si_mntflags, XINO); + err = au_xino_set_xib(sb, path); + /* si_x{read,write} are set */ + if (!err) + err = au_xigen_set(sb, path); + if (!err) + err = au_xino_set_br(sb, path); + if (!err) { + dbgaufs_brs_add(sb, 0, /*topdown*/1); + goto out; /* success */ + } + + /* reset all */ + AuIOErr("failed setting xino(%d).\n", err); + au_xino_clr(sb); + +out: + dput(parent); + return err; +} + +/* + * create a xinofile at the default place/path. + */ +struct file *au_xino_def(struct super_block *sb) +{ + struct file *file; + char *page, *p; + struct au_branch *br; + struct super_block *h_sb; + struct path path; + aufs_bindex_t bbot, bindex, bwr; + + br = NULL; + bbot = au_sbbot(sb); + bwr = -1; + for (bindex = 0; bindex <= bbot; bindex++) { + br = au_sbr(sb, bindex); + if (au_br_writable(br->br_perm) + && !au_test_fs_bad_xino(au_br_sb(br))) { + bwr = bindex; + break; + } + } + + if (bwr >= 0) { + file = ERR_PTR(-ENOMEM); + page = (void *)__get_free_page(GFP_NOFS); + if (unlikely(!page)) + goto out; + path.mnt = au_br_mnt(br); + path.dentry = au_h_dptr(sb->s_root, bwr); + p = d_path(&path, page, PATH_MAX - sizeof(AUFS_XINO_FNAME)); + file = (void *)p; + if (!IS_ERR(p)) { + strcat(p, "/" AUFS_XINO_FNAME); + AuDbg("%s\n", p); + file = au_xino_create(sb, p, /*silent*/0, /*wbrtop*/1); + } + free_page((unsigned long)page); + } else { + file = au_xino_create(sb, AUFS_XINO_DEFPATH, /*silent*/0, + /*wbrtop*/0); + if (IS_ERR(file)) + goto out; + h_sb = file->f_path.dentry->d_sb; + if (unlikely(au_test_fs_bad_xino(h_sb))) { + pr_err("xino doesn't support %s(%s)\n", + AUFS_XINO_DEFPATH, au_sbtype(h_sb)); + fput(file); + file = ERR_PTR(-EINVAL); + } + } + +out: + return file; +} + +/* ---------------------------------------------------------------------- */ + +/* + * initialize the xinofile for the specified branch @br + * at the place/path where @base_file indicates. + * test whether another branch is on the same filesystem or not, + * if found then share the xinofile with another branch. + */ +int au_xino_init_br(struct super_block *sb, struct au_branch *br, ino_t h_ino, + struct path *base) +{ + int err; + struct au_xino_do_set_br args = { + .h_ino = h_ino, + .br = br + }; + + args.writef = au_sbi(sb)->si_xwrite; + args.bshared = sbr_find_shared(sb, /*btop*/0, au_sbbot(sb), + au_br_sb(br)); + err = au_xino_do_set_br(sb, base, &args); + if (unlikely(err)) + au_xino_put(br); + + return err; +} + +/* ---------------------------------------------------------------------- */ + +/* + * get an unused inode number from bitmap + */ +ino_t au_xino_new_ino(struct super_block *sb) +{ + ino_t ino; + unsigned long *p, pindex, ul, pend; + struct au_sbinfo *sbinfo; + struct file *file; + int free_bit, err; + + if (!au_opt_test(au_mntflags(sb), XINO)) + return iunique(sb, AUFS_FIRST_INO); + + sbinfo = au_sbi(sb); + mutex_lock(&sbinfo->si_xib_mtx); + p = sbinfo->si_xib_buf; + free_bit = sbinfo->si_xib_next_bit; + if (free_bit < page_bits && !test_bit(free_bit, p)) + goto out; /* success */ + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + + pindex = sbinfo->si_xib_last_pindex; + for (ul = pindex - 1; ul < ULONG_MAX; ul--) { + err = xib_pindex(sb, ul); + if (unlikely(err)) + goto out_err; + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + } + + file = sbinfo->si_xib; + pend = vfsub_f_size_read(file) / PAGE_SIZE; + for (ul = pindex + 1; ul <= pend; ul++) { + err = xib_pindex(sb, ul); + if (unlikely(err)) + goto out_err; + free_bit = find_first_zero_bit(p, page_bits); + if (free_bit < page_bits) + goto out; /* success */ + } + BUG(); + +out: + set_bit(free_bit, p); + sbinfo->si_xib_next_bit = free_bit + 1; + pindex = sbinfo->si_xib_last_pindex; + mutex_unlock(&sbinfo->si_xib_mtx); + ino = xib_calc_ino(pindex, free_bit); + AuDbg("i%lu\n", (unsigned long)ino); + return ino; +out_err: + mutex_unlock(&sbinfo->si_xib_mtx); + AuDbg("i0\n"); + return 0; +} + +/* for s_op->delete_inode() */ +void au_xino_delete_inode(struct inode *inode, const int unlinked) +{ + int err; + unsigned int mnt_flags; + aufs_bindex_t bindex, bbot, bi; + unsigned char try_trunc; + struct au_iinfo *iinfo; + struct super_block *sb; + struct au_hinode *hi; + struct inode *h_inode; + struct au_branch *br; + vfs_writef_t xwrite; + struct au_xi_calc calc; + struct file *file; + + AuDebugOn(au_is_bad_inode(inode)); + + sb = inode->i_sb; + mnt_flags = au_mntflags(sb); + if (!au_opt_test(mnt_flags, XINO) + || inode->i_ino == AUFS_ROOT_INO) + return; + + if (unlinked) { + au_xigen_inc(inode); + au_xib_clear_bit(inode); + } + + iinfo = au_ii(inode); + bindex = iinfo->ii_btop; + if (bindex < 0) + return; + + xwrite = au_sbi(sb)->si_xwrite; + try_trunc = !!au_opt_test(mnt_flags, TRUNC_XINO); + hi = au_hinode(iinfo, bindex); + bbot = iinfo->ii_bbot; + for (; bindex <= bbot; bindex++, hi++) { + h_inode = hi->hi_inode; + if (!h_inode + || (!unlinked && h_inode->i_nlink)) + continue; + + /* inode may not be revalidated */ + bi = au_br_index(sb, hi->hi_id); + if (bi < 0) + continue; + + br = au_sbr(sb, bi); + au_xi_calc(sb, h_inode->i_ino, &calc); + file = au_xino_file(br->br_xino, calc.idx); + if (IS_ERR_OR_NULL(file)) + continue; + + err = au_xino_do_write(xwrite, file, &calc, /*ino*/0); + if (!err && try_trunc + && au_test_fs_trunc_xino(au_br_sb(br))) + xino_try_trunc(sb, br); + } +} + +/* ---------------------------------------------------------------------- */ + +static int au_xinondir_find(struct au_xino *xi, ino_t h_ino) +{ + int found, total, i; + + found = -1; + total = xi->xi_nondir.total; + for (i = 0; i < total; i++) { + if (xi->xi_nondir.array[i] != h_ino) + continue; + found = i; + break; + } + + return found; +} + +static int au_xinondir_expand(struct au_xino *xi) +{ + int err, sz; + ino_t *p; + + BUILD_BUG_ON(KMALLOC_MAX_SIZE > INT_MAX); + + err = -ENOMEM; + sz = xi->xi_nondir.total * sizeof(ino_t); + if (unlikely(sz > KMALLOC_MAX_SIZE / 2)) + goto out; + p = au_kzrealloc(xi->xi_nondir.array, sz, sz << 1, GFP_ATOMIC, + /*may_shrink*/0); + if (p) { + xi->xi_nondir.array = p; + xi->xi_nondir.total <<= 1; + AuDbg("xi_nondir.total %d\n", xi->xi_nondir.total); + err = 0; + } + +out: + return err; +} + +void au_xinondir_leave(struct super_block *sb, aufs_bindex_t bindex, + ino_t h_ino, int idx) +{ + struct au_xino *xi; + + AuDebugOn(!au_opt_test(au_mntflags(sb), XINO)); + xi = au_sbr(sb, bindex)->br_xino; + AuDebugOn(idx < 0 || xi->xi_nondir.total <= idx); + + spin_lock(&xi->xi_nondir.spin); + AuDebugOn(xi->xi_nondir.array[idx] != h_ino); + xi->xi_nondir.array[idx] = 0; + spin_unlock(&xi->xi_nondir.spin); + wake_up_all(&xi->xi_nondir.wqh); +} + +int au_xinondir_enter(struct super_block *sb, aufs_bindex_t bindex, ino_t h_ino, + int *idx) +{ + int err, found, empty; + struct au_xino *xi; + + err = 0; + *idx = -1; + if (!au_opt_test(au_mntflags(sb), XINO)) + goto out; /* no xino */ + + xi = au_sbr(sb, bindex)->br_xino; + +again: + spin_lock(&xi->xi_nondir.spin); + found = au_xinondir_find(xi, h_ino); + if (found == -1) { + empty = au_xinondir_find(xi, /*h_ino*/0); + if (empty == -1) { + empty = xi->xi_nondir.total; + err = au_xinondir_expand(xi); + if (unlikely(err)) + goto out_unlock; + } + xi->xi_nondir.array[empty] = h_ino; + *idx = empty; + } else { + spin_unlock(&xi->xi_nondir.spin); + wait_event(xi->xi_nondir.wqh, + xi->xi_nondir.array[found] != h_ino); + goto again; + } + +out_unlock: + spin_unlock(&xi->xi_nondir.spin); +out: + return err; +} + +/* ---------------------------------------------------------------------- */ + +int au_xino_path(struct seq_file *seq, struct file *file) +{ + int err; + + err = au_seq_path(seq, &file->f_path); + if (unlikely(err)) + goto out; + +#define Deleted "\\040(deleted)" + seq->count -= sizeof(Deleted) - 1; + AuDebugOn(memcmp(seq->buf + seq->count, Deleted, + sizeof(Deleted) - 1)); +#undef Deleted + +out: + return err; +} --- linux-riscv-5.8-5.8.0.orig/fs/autofs/waitq.c +++ linux-riscv-5.8-5.8.0/fs/autofs/waitq.c @@ -53,7 +53,7 @@ mutex_lock(&sbi->pipe_mutex); while (bytes) { - wr = kernel_write(file, data, bytes, &file->f_pos); + wr = __kernel_write(file, data, bytes, NULL); if (wr <= 0) break; data += wr; --- linux-riscv-5.8-5.8.0.orig/fs/bfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/bfs/inode.c @@ -351,7 +351,7 @@ info->si_lasti = (le32_to_cpu(bfs_sb->s_start) - BFS_BSIZE) / sizeof(struct bfs_inode) + BFS_ROOT_INO - 1; if (info->si_lasti == BFS_MAX_LASTI) - printf("WARNING: filesystem %s was created with 512 inodes, the real maximum is 511, mounting anyway\n", s->s_id); + printf("NOTE: filesystem %s was created with 512 inodes, the real maximum is 511, mounting anyway\n", s->s_id); else if (info->si_lasti > BFS_MAX_LASTI) { printf("Impossible last inode number %lu > %d on %s\n", info->si_lasti, BFS_MAX_LASTI, s->s_id); goto out1; --- linux-riscv-5.8-5.8.0.orig/fs/binfmt_flat.c +++ linux-riscv-5.8-5.8.0/fs/binfmt_flat.c @@ -576,7 +576,7 @@ goto err; } - len = data_len + extra; + len = data_len + extra + MAX_SHARED_LIBS * sizeof(unsigned long); len = PAGE_ALIGN(len); realdatastart = vm_mmap(NULL, 0, len, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 0); @@ -590,7 +590,9 @@ vm_munmap(textpos, text_len); goto err; } - datapos = ALIGN(realdatastart, FLAT_DATA_ALIGN); + datapos = ALIGN(realdatastart + + MAX_SHARED_LIBS * sizeof(unsigned long), + FLAT_DATA_ALIGN); pr_debug("Allocated data+bss+stack (%u bytes): %lx\n", data_len + bss_len + stack_len, datapos); @@ -620,7 +622,7 @@ memp_size = len; } else { - len = text_len + data_len + extra; + len = text_len + data_len + extra + MAX_SHARED_LIBS * sizeof(u32); len = PAGE_ALIGN(len); textpos = vm_mmap(NULL, 0, len, PROT_READ | PROT_EXEC | PROT_WRITE, MAP_PRIVATE, 0); @@ -635,7 +637,9 @@ } realdatastart = textpos + ntohl(hdr->data_start); - datapos = ALIGN(realdatastart, FLAT_DATA_ALIGN); + datapos = ALIGN(realdatastart + + MAX_SHARED_LIBS * sizeof(u32), + FLAT_DATA_ALIGN); reloc = (__be32 __user *) (datapos + (ntohl(hdr->reloc_start) - text_len)); @@ -652,9 +656,8 @@ (text_len + full_data - sizeof(struct flat_hdr)), 0); - if (datapos != realdatastart) - memmove((void *)datapos, (void *)realdatastart, - full_data); + memmove((void *) datapos, (void *) realdatastart, + full_data); #else /* * This is used on MMU systems mainly for testing. @@ -710,7 +713,8 @@ if (IS_ERR_VALUE(result)) { ret = result; pr_err("Unable to read code+data+bss, errno %d\n", ret); - vm_munmap(textpos, text_len + data_len + extra); + vm_munmap(textpos, text_len + data_len + extra + + MAX_SHARED_LIBS * sizeof(u32)); goto err; } } --- linux-riscv-5.8-5.8.0.orig/fs/binfmt_misc.c +++ linux-riscv-5.8-5.8.0/fs/binfmt_misc.c @@ -647,12 +647,24 @@ struct super_block *sb = file_inode(file)->i_sb; struct dentry *root = sb->s_root, *dentry; int err = 0; + struct file *f = NULL; e = create_entry(buffer, count); if (IS_ERR(e)) return PTR_ERR(e); + if (e->flags & MISC_FMT_OPEN_FILE) { + f = open_exec(e->interpreter); + if (IS_ERR(f)) { + pr_notice("register: failed to install interpreter file %s\n", + e->interpreter); + kfree(e); + return PTR_ERR(f); + } + e->interp_file = f; + } + inode_lock(d_inode(root)); dentry = lookup_one_len(e->name, root, strlen(e->name)); err = PTR_ERR(dentry); @@ -676,21 +688,6 @@ goto out2; } - if (e->flags & MISC_FMT_OPEN_FILE) { - struct file *f; - - f = open_exec(e->interpreter); - if (IS_ERR(f)) { - err = PTR_ERR(f); - pr_notice("register: failed to install interpreter file %s\n", e->interpreter); - simple_release_fs(&bm_mnt, &entry_count); - iput(inode); - inode = NULL; - goto out2; - } - e->interp_file = f; - } - e->dentry = dget(dentry); inode->i_private = e; inode->i_fop = &bm_entry_operations; @@ -707,6 +704,8 @@ inode_unlock(d_inode(root)); if (err) { + if (f) + filp_close(f, NULL); kfree(e); return err; } --- linux-riscv-5.8-5.8.0.orig/fs/block_dev.c +++ linux-riscv-5.8-5.8.0/fs/block_dev.c @@ -244,6 +244,8 @@ bio.bi_opf = dio_bio_write_op(iocb); task_io_account_write(ret); } + if (iocb->ki_flags & IOCB_NOWAIT) + bio.bi_opf |= REQ_NOWAIT; if (iocb->ki_flags & IOCB_HIPRI) bio_set_polled(&bio, iocb); @@ -397,6 +399,8 @@ bio->bi_opf = dio_bio_write_op(iocb); 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-riscv-5.8-5.8.0.orig/fs/btrfs/backref.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/backref.c @@ -544,7 +544,18 @@ int level = ref->level; struct btrfs_key search_key = ref->key_for_search; - root = btrfs_get_fs_root(fs_info, ref->root_id, false); + /* + * If we're search_commit_root we could possibly be holding locks on + * other tree nodes. This happens when qgroups does backref walks when + * adding new delayed refs. To deal with this we need to look in cache + * for the root, and if we don't find it then we need to search the + * tree_root's commit root, thus the btrfs_get_fs_root_commit_root usage + * here. + */ + if (path->search_commit_root) + root = btrfs_get_fs_root_commit_root(fs_info, path, ref->root_id); + else + root = btrfs_get_fs_root(fs_info, ref->root_id, false); if (IS_ERR(root)) { ret = PTR_ERR(root); goto out_free; @@ -2303,7 +2314,7 @@ return NULL; ret->path = btrfs_alloc_path(); - if (!ret) { + if (!ret->path) { kfree(ret); return NULL; } @@ -2537,13 +2548,6 @@ list_del(&edge->list[UPPER]); btrfs_backref_free_edge(cache, edge); - if (RB_EMPTY_NODE(&upper->rb_node)) { - BUG_ON(!list_empty(&node->upper)); - btrfs_backref_drop_node(cache, node); - node = upper; - node->lowest = 1; - continue; - } /* * Add the node to leaf node list if no other child block * cached. @@ -2620,7 +2624,7 @@ /* Only reloc backref cache cares about a specific root */ if (cache->is_reloc) { root = find_reloc_root(cache->fs_info, cur->bytenr); - if (WARN_ON(!root)) + if (!root) return -ENOENT; cur->root = root; } else { @@ -3114,7 +3118,7 @@ list_del_init(&lower->list); if (lower == node) node = NULL; - btrfs_backref_free_node(cache, lower); + btrfs_backref_drop_node(cache, lower); } btrfs_backref_cleanup_node(cache, node); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/backref.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/backref.h @@ -296,6 +296,9 @@ struct btrfs_backref_node *node) { if (node) { + ASSERT(list_empty(&node->list)); + ASSERT(list_empty(&node->lower)); + ASSERT(node->eb == NULL); cache->nr_nodes--; btrfs_put_root(node->root); kfree(node); @@ -340,11 +343,11 @@ static inline void btrfs_backref_drop_node(struct btrfs_backref_cache *tree, struct btrfs_backref_node *node) { - BUG_ON(!list_empty(&node->upper)); + ASSERT(list_empty(&node->upper)); btrfs_backref_drop_node_buffer(node); - list_del(&node->list); - list_del(&node->lower); + list_del_init(&node->list); + list_del_init(&node->lower); if (!RB_EMPTY_NODE(&node->rb_node)) rb_erase(&node->rb_node, &tree->rb_root); btrfs_backref_free_node(tree, node); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/block-group.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/block-group.c @@ -642,7 +642,15 @@ mutex_lock(&caching_ctl->mutex); down_read(&fs_info->commit_root_sem); - if (btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) + /* + * If we are in the transaction that populated the free space tree we + * can't actually cache from the free space tree as our commit root and + * real root are the same, so we could change the contents of the blocks + * while caching. Instead do the slow caching in this case, and after + * the transaction has committed we will be safe. + */ + if (btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE) && + !(test_bit(BTRFS_FS_FREE_SPACE_TREE_UNTRUSTED, &fs_info->flags))) ret = load_free_space_tree(caching_ctl); else ret = load_extent_tree_free(caching_ctl); @@ -1227,6 +1235,11 @@ spin_lock(&sinfo->lock); spin_lock(&cache->lock); + if (cache->swap_extents) { + ret = -ETXTBSY; + goto out; + } + if (cache->ro) { cache->ro++; ret = 0; @@ -1448,9 +1461,7 @@ btrfs_space_info_update_bytes_pinned(fs_info, space_info, -block_group->pinned); space_info->bytes_readonly += block_group->pinned; - percpu_counter_add_batch(&space_info->total_bytes_pinned, - -block_group->pinned, - BTRFS_TOTAL_BYTES_PINNED_BATCH); + __btrfs_mod_total_bytes_pinned(space_info, -block_group->pinned); block_group->pinned = 0; spin_unlock(&block_group->lock); @@ -1814,7 +1825,6 @@ cache->fs_info = fs_info; cache->full_stripe_len = btrfs_full_stripe_len(fs_info, start); - set_free_space_tree_thresholds(cache); cache->discard_index = BTRFS_DISCARD_INDEX_UNUSED; @@ -1928,6 +1938,8 @@ if (ret < 0) goto error; + set_free_space_tree_thresholds(cache); + if (need_clear) { /* * When we mount with old space cache, we need to @@ -2049,6 +2061,7 @@ key.offset = 0; btrfs_release_path(path); } + btrfs_release_path(path); rcu_read_lock(); list_for_each_entry_rcu(space_info, &info->space_info, list) { @@ -2148,6 +2161,7 @@ return -ENOMEM; cache->length = size; + set_free_space_tree_thresholds(cache); cache->used = bytes_used; cache->flags = type; cache->last_byte_to_unpin = (u64)-1; @@ -2316,7 +2330,7 @@ } ret = inc_block_group_ro(cache, 0); - if (!do_chunk_alloc) + if (!do_chunk_alloc || ret == -ETXTBSY) goto unlock_out; if (!ret) goto out; @@ -2325,6 +2339,8 @@ if (ret < 0) goto out; ret = inc_block_group_ro(cache, 0); + if (ret == -ETXTBSY) + goto unlock_out; out: if (cache->flags & BTRFS_BLOCK_GROUP_SYSTEM) { alloc_flags = update_block_group_flags(fs_info, cache->flags); @@ -2621,8 +2637,10 @@ if (!path) { path = btrfs_alloc_path(); - if (!path) - return -ENOMEM; + if (!path) { + ret = -ENOMEM; + goto out; + } } /* @@ -2716,16 +2734,14 @@ btrfs_put_block_group(cache); if (drop_reserve) btrfs_delayed_refs_rsv_release(fs_info, 1); - - if (ret) - break; - /* * Avoid blocking other tasks for too long. It might even save * us from writing caches for block groups that are going to be * removed. */ mutex_unlock(&trans->transaction->cache_write_mutex); + if (ret) + goto out; mutex_lock(&trans->transaction->cache_write_mutex); } mutex_unlock(&trans->transaction->cache_write_mutex); @@ -2734,7 +2750,8 @@ * Go through delayed refs for all the stuff we've just kicked off * and then loop back (just once) */ - ret = btrfs_run_delayed_refs(trans, 0); + if (!ret) + ret = btrfs_run_delayed_refs(trans, 0); if (!ret && loops == 0) { loops++; spin_lock(&cur_trans->dirty_bgs_lock); @@ -2748,7 +2765,12 @@ goto again; } spin_unlock(&cur_trans->dirty_bgs_lock); - } else if (ret < 0) { + } +out: + if (ret < 0) { + spin_lock(&cur_trans->dirty_bgs_lock); + list_splice_init(&dirty, &cur_trans->dirty_bgs); + spin_unlock(&cur_trans->dirty_bgs_lock); btrfs_cleanup_dirty_bgs(cur_trans, fs_info); } @@ -2952,10 +2974,8 @@ spin_unlock(&cache->lock); spin_unlock(&cache->space_info->lock); - percpu_counter_add_batch( - &cache->space_info->total_bytes_pinned, - num_bytes, - BTRFS_TOTAL_BYTES_PINNED_BATCH); + __btrfs_mod_total_bytes_pinned(cache->space_info, + num_bytes); set_extent_dirty(&trans->transaction->pinned_extents, bytenr, bytenr + num_bytes - 1, GFP_NOFS | __GFP_NOFAIL); @@ -3393,6 +3413,7 @@ ASSERT(list_empty(&block_group->io_list)); ASSERT(list_empty(&block_group->bg_list)); ASSERT(atomic_read(&block_group->count) == 1); + ASSERT(block_group->swap_extents == 0); btrfs_put_block_group(block_group); spin_lock(&info->block_group_cache_lock); @@ -3469,3 +3490,26 @@ __btrfs_remove_free_space_cache(block_group->free_space_ctl); } } + +bool btrfs_inc_block_group_swap_extents(struct btrfs_block_group *bg) +{ + bool ret = true; + + spin_lock(&bg->lock); + if (bg->ro) + ret = false; + else + bg->swap_extents++; + spin_unlock(&bg->lock); + + return ret; +} + +void btrfs_dec_block_group_swap_extents(struct btrfs_block_group *bg, int amount) +{ + spin_lock(&bg->lock); + ASSERT(!bg->ro); + ASSERT(bg->swap_extents >= amount); + bg->swap_extents -= amount; + spin_unlock(&bg->lock); +} --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/block-group.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/block-group.h @@ -182,6 +182,12 @@ */ int needs_free_space; + /* + * Number of extents in this block group used for swap files. + * All accesses protected by the spinlock 'lock'. + */ + int swap_extents; + /* Record locked full stripes for RAID5/6 block group */ struct btrfs_full_stripe_locks_tree full_stripe_locks_root; }; @@ -300,4 +306,7 @@ u64 physical, u64 **logical, int *naddrs, int *stripe_len); #endif +bool btrfs_inc_block_group_swap_extents(struct btrfs_block_group *bg); +void btrfs_dec_block_group_swap_extents(struct btrfs_block_group *bg, int amount); + #endif /* BTRFS_BLOCK_GROUP_H */ --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/btrfs_inode.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/btrfs_inode.h @@ -31,6 +31,13 @@ BTRFS_INODE_READDIO_NEED_LOCK, BTRFS_INODE_HAS_PROPS, BTRFS_INODE_SNAPSHOT_FLUSH, + /* + * Set and used when logging an inode and it serves to signal that an + * inode does not have xattrs, so subsequent fsyncs can avoid searching + * for xattrs to log. This bit must be cleared whenever a xattr is added + * to an inode. + */ + BTRFS_INODE_NO_XATTRS, }; /* in memory btrfs inode */ --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/ctree.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/ctree.c @@ -220,9 +220,12 @@ ret = btrfs_inc_ref(trans, root, cow, 1); else ret = btrfs_inc_ref(trans, root, cow, 0); - - if (ret) + if (ret) { + btrfs_tree_unlock(cow); + free_extent_buffer(cow); + btrfs_abort_transaction(trans, ret); return ret; + } btrfs_mark_buffer_dirty(cow); *cow_ret = cow; @@ -1061,6 +1064,8 @@ ret = update_ref_for_cow(trans, root, buf, cow, &last_ref); if (ret) { + btrfs_tree_unlock(cow); + free_extent_buffer(cow); btrfs_abort_transaction(trans, ret); return ret; } @@ -1068,6 +1073,8 @@ if (test_bit(BTRFS_ROOT_SHAREABLE, &root->state)) { ret = btrfs_reloc_cow_block(trans, root, buf, cow); if (ret) { + btrfs_tree_unlock(cow); + free_extent_buffer(cow); btrfs_abort_transaction(trans, ret); return ret; } @@ -1100,6 +1107,8 @@ if (last_ref) { ret = tree_mod_log_free_eb(buf); if (ret) { + btrfs_tree_unlock(cow); + free_extent_buffer(cow); btrfs_abort_transaction(trans, ret); return ret; } @@ -1297,6 +1306,8 @@ btrfs_tree_read_unlock_blocking(eb); free_extent_buffer(eb); + btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb_rewin), + eb_rewin, btrfs_header_level(eb_rewin)); btrfs_tree_read_lock(eb_rewin); __tree_mod_log_rewind(fs_info, eb_rewin, time_seq, tm); WARN_ON(btrfs_header_nritems(eb_rewin) > @@ -1353,7 +1364,9 @@ "failed to read tree block %llu from get_old_root", logical); } else { + btrfs_tree_read_lock(old); eb = btrfs_clone_extent_buffer(old); + btrfs_tree_read_unlock(old); free_extent_buffer(old); } } else if (old_root) { @@ -1370,7 +1383,6 @@ if (!eb) return NULL; - btrfs_tree_read_lock(eb); if (old_root) { btrfs_set_header_bytenr(eb, eb->start); btrfs_set_header_backref_rev(eb, BTRFS_MIXED_BACKREF_REV); @@ -1378,6 +1390,9 @@ btrfs_set_header_level(eb, old_root->level); btrfs_set_header_generation(eb, old_generation); } + btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), eb, + btrfs_header_level(eb)); + btrfs_tree_read_lock(eb); if (tm) __tree_mod_log_rewind(fs_info, eb, time_seq, tm); else @@ -3143,6 +3158,58 @@ } /* + * Check key order of two sibling extent buffers. + * + * Return true if something is wrong. + * Return false if everything is fine. + * + * Tree-checker only works inside one tree block, thus the following + * corruption can not be detected by tree-checker: + * + * Leaf @left | Leaf @right + * -------------------------------------------------------------- + * | 1 | 2 | 3 | 4 | 5 | f6 | | 7 | 8 | + * + * Key f6 in leaf @left itself is valid, but not valid when the next + * key in leaf @right is 7. + * This can only be checked at tree block merge time. + * And since tree checker has ensured all key order in each tree block + * is correct, we only need to bother the last key of @left and the first + * key of @right. + */ +static bool check_sibling_keys(struct extent_buffer *left, + struct extent_buffer *right) +{ + struct btrfs_key left_last; + struct btrfs_key right_first; + int level = btrfs_header_level(left); + int nr_left = btrfs_header_nritems(left); + int nr_right = btrfs_header_nritems(right); + + /* No key to check in one of the tree blocks */ + if (!nr_left || !nr_right) + return false; + + if (level) { + btrfs_node_key_to_cpu(left, &left_last, nr_left - 1); + btrfs_node_key_to_cpu(right, &right_first, 0); + } else { + btrfs_item_key_to_cpu(left, &left_last, nr_left - 1); + btrfs_item_key_to_cpu(right, &right_first, 0); + } + + if (btrfs_comp_cpu_keys(&left_last, &right_first) >= 0) { + btrfs_crit(left->fs_info, +"bad key order, sibling blocks, left last (%llu %u %llu) right first (%llu %u %llu)", + left_last.objectid, left_last.type, + left_last.offset, right_first.objectid, + right_first.type, right_first.offset); + return true; + } + return false; +} + +/* * try to push data from one node into the next node left in the * tree. * @@ -3186,6 +3253,12 @@ } else push_items = min(src_nritems - 8, push_items); + /* dst is the left eb, src is the middle eb */ + if (check_sibling_keys(dst, src)) { + ret = -EUCLEAN; + btrfs_abort_transaction(trans, ret); + return ret; + } ret = tree_mod_log_eb_copy(dst, src, dst_nritems, 0, push_items); if (ret) { btrfs_abort_transaction(trans, ret); @@ -3254,6 +3327,12 @@ if (max_push < push_items) push_items = max_push; + /* dst is the right eb, src is the middle eb */ + if (check_sibling_keys(src, dst)) { + ret = -EUCLEAN; + btrfs_abort_transaction(trans, ret); + return ret; + } ret = tree_mod_log_insert_move(dst, push_items, 0, dst_nritems); BUG_ON(ret < 0); memmove_extent_buffer(dst, btrfs_node_key_ptr_offset(push_items), @@ -3730,6 +3809,12 @@ if (left_nritems == 0) goto out_unlock; + if (check_sibling_keys(left, right)) { + ret = -EUCLEAN; + btrfs_tree_unlock(right); + free_extent_buffer(right); + return ret; + } if (path->slots[0] == left_nritems && !empty) { /* Key greater than all keys in the leaf, right neighbor has * enough room for it and we're not emptying our leaf to delete @@ -3967,6 +4052,10 @@ goto out; } + if (check_sibling_keys(left, right)) { + ret = -EUCLEAN; + goto out; + } return __push_leaf_left(path, min_data_size, empty, left, free_space, right_nritems, max_slot); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/ctree.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/ctree.h @@ -521,6 +521,11 @@ * points to a struct btrfs_device. */ bool is_block_group; + /* + * Only used when 'is_block_group' is true and it is the number of + * extents used by a swapfile for this block group ('ptr' field). + */ + int bg_extent_count; }; bool btrfs_pinned_by_swapfile(struct btrfs_fs_info *fs_info, void *ptr); @@ -568,6 +573,9 @@ /* Indicate that the discard workqueue can service discards. */ BTRFS_FS_DISCARD_RUNNING, + + /* Indicate that we can't trust the free space tree for caching yet */ + BTRFS_FS_FREE_SPACE_TREE_UNTRUSTED, }; struct btrfs_fs_info { @@ -873,7 +881,10 @@ */ struct ulist *qgroup_ulist; - /* protect user change for quota operations */ + /* + * Protect user change for quota operations. If a transaction is needed, + * it must be started before locking this lock. + */ struct mutex qgroup_ioctl_lock; /* list of dirty qgroups to be written at next commit */ @@ -1059,8 +1070,10 @@ wait_queue_head_t log_writer_wait; wait_queue_head_t log_commit_wait[2]; struct list_head log_ctxs[2]; + /* Used only for log trees of subvolumes, not for the log root tree */ atomic_t log_writers; atomic_t log_commit[2]; + /* Used only for log trees of subvolumes, not for the log root tree */ atomic_t log_batch; int log_transid; /* No matter the commit succeeds or not*/ @@ -2466,7 +2479,7 @@ u64 bytenr, u64 num_bytes); int btrfs_exclude_logged_extents(struct extent_buffer *eb); int btrfs_cross_ref_exist(struct btrfs_root *root, - u64 objectid, u64 offset, u64 bytenr); + u64 objectid, u64 offset, u64 bytenr, bool strict); struct extent_buffer *btrfs_alloc_tree_block(struct btrfs_trans_handle *trans, struct btrfs_root *root, u64 parent, u64 root_objectid, @@ -2500,7 +2513,6 @@ u64 start, u64 len, int delalloc); int btrfs_pin_reserved_extent(struct btrfs_trans_handle *trans, u64 start, u64 len); -void btrfs_prepare_extent_commit(struct btrfs_fs_info *fs_info); int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans); int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans, struct btrfs_ref *generic_ref); @@ -2537,7 +2549,7 @@ int btrfs_subvolume_reserve_metadata(struct btrfs_root *root, struct btrfs_block_rsv *rsv, int nitems, bool use_global_rsv); -void btrfs_subvolume_release_metadata(struct btrfs_fs_info *fs_info, +void btrfs_subvolume_release_metadata(struct btrfs_root *root, struct btrfs_block_rsv *rsv); void btrfs_delalloc_release_extents(struct btrfs_inode *inode, u64 num_bytes); @@ -2852,7 +2864,7 @@ u64 start, u64 len); noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len, u64 *orig_start, u64 *orig_block_len, - u64 *ram_bytes); + u64 *ram_bytes, bool strict); void __btrfs_del_delalloc_inode(struct btrfs_root *root, struct btrfs_inode *inode); @@ -2982,6 +2994,8 @@ size_t num_pages, loff_t pos, size_t write_bytes, struct extent_state **cached); int btrfs_fdatawrite_range(struct inode *inode, loff_t start, loff_t end); +int btrfs_check_can_nocow(struct btrfs_inode *inode, loff_t pos, + size_t *write_bytes, bool nowait); /* tree-defrag.c */ int btrfs_defrag_leaves(struct btrfs_trans_handle *trans, @@ -3194,7 +3208,7 @@ /* Report first abort since mount */ \ if (!test_and_set_bit(BTRFS_FS_STATE_TRANS_ABORTED, \ &((trans)->fs_info->fs_state))) { \ - if ((errno) != -EIO) { \ + if ((errno) != -EIO && (errno) != -EROFS) { \ WARN(1, KERN_DEBUG \ "BTRFS: Transaction aborted (error %d)\n", \ (errno)); \ @@ -3432,6 +3446,8 @@ int btrfs_reada_wait(void *handle); void btrfs_reada_detach(void *handle); int btree_readahead_hook(struct extent_buffer *eb, int err); +void btrfs_reada_remove_dev(struct btrfs_device *dev); +void btrfs_reada_undo_remove_dev(struct btrfs_device *dev); static inline int is_fstree(u64 rootid) { --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/delayed-inode.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/delayed-inode.c @@ -627,8 +627,7 @@ */ if (!src_rsv || (!trans->bytes_reserved && src_rsv->type != BTRFS_BLOCK_RSV_DELALLOC)) { - ret = btrfs_qgroup_reserve_meta_prealloc(root, - fs_info->nodesize, true); + ret = btrfs_qgroup_reserve_meta_prealloc(root, num_bytes, true); if (ret < 0) return ret; ret = btrfs_block_rsv_add(root, dst_rsv, num_bytes, @@ -650,7 +649,7 @@ btrfs_ino(inode), num_bytes, 1); } else { - btrfs_qgroup_free_meta_prealloc(root, fs_info->nodesize); + btrfs_qgroup_free_meta_prealloc(root, num_bytes); } return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/delayed-ref.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/delayed-ref.c @@ -648,12 +648,12 @@ */ static noinline void update_existing_head_ref(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_head *existing, - struct btrfs_delayed_ref_head *update, - int *old_ref_mod_ret) + struct btrfs_delayed_ref_head *update) { struct btrfs_delayed_ref_root *delayed_refs = &trans->transaction->delayed_refs; struct btrfs_fs_info *fs_info = trans->fs_info; + u64 flags = btrfs_ref_head_to_space_flags(existing); int old_ref_mod; BUG_ON(existing->is_data != update->is_data); @@ -701,8 +701,6 @@ * currently, for refs we just added we know we're a-ok. */ old_ref_mod = existing->total_ref_mod; - if (old_ref_mod_ret) - *old_ref_mod_ret = old_ref_mod; existing->ref_mod += update->ref_mod; existing->total_ref_mod += update->ref_mod; @@ -724,6 +722,27 @@ trans->delayed_ref_updates += csum_leaves; } } + + /* + * This handles the following conditions: + * + * 1. We had a ref mod of 0 or more and went negative, indicating that + * we may be freeing space, so add our space to the + * total_bytes_pinned counter. + * 2. We were negative and went to 0 or positive, so no longer can say + * that the space would be pinned, decrement our counter from the + * total_bytes_pinned counter. + * 3. We are now at 0 and have ->must_insert_reserved set, which means + * this was a new allocation and then we dropped it, and thus must + * add our space to the total_bytes_pinned counter. + */ + if (existing->total_ref_mod < 0 && old_ref_mod >= 0) + btrfs_mod_total_bytes_pinned(fs_info, flags, existing->num_bytes); + else if (existing->total_ref_mod >= 0 && old_ref_mod < 0) + btrfs_mod_total_bytes_pinned(fs_info, flags, -existing->num_bytes); + else if (existing->total_ref_mod == 0 && existing->must_insert_reserved) + btrfs_mod_total_bytes_pinned(fs_info, flags, existing->num_bytes); + spin_unlock(&existing->lock); } @@ -798,8 +817,7 @@ add_delayed_ref_head(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_head *head_ref, struct btrfs_qgroup_extent_record *qrecord, - int action, int *qrecord_inserted_ret, - int *old_ref_mod, int *new_ref_mod) + int action, int *qrecord_inserted_ret) { struct btrfs_delayed_ref_head *existing; struct btrfs_delayed_ref_root *delayed_refs; @@ -821,8 +839,7 @@ existing = htree_insert(&delayed_refs->href_root, &head_ref->href_node); if (existing) { - update_existing_head_ref(trans, existing, head_ref, - old_ref_mod); + update_existing_head_ref(trans, existing, head_ref); /* * we've updated the existing ref, free the newly * allocated ref @@ -830,14 +847,17 @@ kmem_cache_free(btrfs_delayed_ref_head_cachep, head_ref); head_ref = existing; } else { - if (old_ref_mod) - *old_ref_mod = 0; + u64 flags = btrfs_ref_head_to_space_flags(head_ref); + if (head_ref->is_data && head_ref->ref_mod < 0) { delayed_refs->pending_csums += head_ref->num_bytes; trans->delayed_ref_updates += btrfs_csum_bytes_to_leaves(trans->fs_info, head_ref->num_bytes); } + if (head_ref->ref_mod < 0) + btrfs_mod_total_bytes_pinned(trans->fs_info, flags, + head_ref->num_bytes); delayed_refs->num_heads++; delayed_refs->num_heads_ready++; atomic_inc(&delayed_refs->num_entries); @@ -845,8 +865,6 @@ } if (qrecord_inserted_ret) *qrecord_inserted_ret = qrecord_inserted; - if (new_ref_mod) - *new_ref_mod = head_ref->total_ref_mod; return head_ref; } @@ -909,8 +927,7 @@ */ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans, struct btrfs_ref *generic_ref, - struct btrfs_delayed_extent_op *extent_op, - int *old_ref_mod, int *new_ref_mod) + struct btrfs_delayed_extent_op *extent_op) { struct btrfs_fs_info *fs_info = trans->fs_info; struct btrfs_delayed_tree_ref *ref; @@ -977,8 +994,7 @@ * the spin lock */ head_ref = add_delayed_ref_head(trans, head_ref, record, - action, &qrecord_inserted, - old_ref_mod, new_ref_mod); + action, &qrecord_inserted); ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node); spin_unlock(&delayed_refs->lock); @@ -1006,8 +1022,7 @@ */ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans, struct btrfs_ref *generic_ref, - u64 reserved, int *old_ref_mod, - int *new_ref_mod) + u64 reserved) { struct btrfs_fs_info *fs_info = trans->fs_info; struct btrfs_delayed_data_ref *ref; @@ -1073,8 +1088,7 @@ * the spin lock */ head_ref = add_delayed_ref_head(trans, head_ref, record, - action, &qrecord_inserted, - old_ref_mod, new_ref_mod); + action, &qrecord_inserted); ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node); spin_unlock(&delayed_refs->lock); @@ -1117,7 +1131,7 @@ spin_lock(&delayed_refs->lock); add_delayed_ref_head(trans, head_ref, NULL, BTRFS_UPDATE_DELAYED_HEAD, - NULL, NULL, NULL); + NULL); spin_unlock(&delayed_refs->lock); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/delayed-ref.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/delayed-ref.h @@ -326,6 +326,16 @@ } } +static inline u64 btrfs_ref_head_to_space_flags( + struct btrfs_delayed_ref_head *head_ref) +{ + if (head_ref->is_data) + return BTRFS_BLOCK_GROUP_DATA; + else if (head_ref->is_system) + return BTRFS_BLOCK_GROUP_SYSTEM; + return BTRFS_BLOCK_GROUP_METADATA; +} + static inline void btrfs_put_delayed_ref_head(struct btrfs_delayed_ref_head *head) { if (refcount_dec_and_test(&head->refs)) @@ -334,12 +344,10 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans, struct btrfs_ref *generic_ref, - struct btrfs_delayed_extent_op *extent_op, - int *old_ref_mod, int *new_ref_mod); + struct btrfs_delayed_extent_op *extent_op); int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans, struct btrfs_ref *generic_ref, - u64 reserved, int *old_ref_mod, - int *new_ref_mod); + u64 reserved); int btrfs_add_delayed_extent_op(struct btrfs_trans_handle *trans, u64 bytenr, u64 num_bytes, struct btrfs_delayed_extent_op *extent_op); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/dev-replace.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/dev-replace.c @@ -95,6 +95,17 @@ ret = btrfs_search_slot(NULL, dev_root, &key, path, 0, 0); if (ret) { no_valid_dev_replace_entry_found: + /* + * We don't have a replace item or it's corrupted. If there is + * a replace target, fail the mount. + */ + if (btrfs_find_device(fs_info->fs_devices, + BTRFS_DEV_REPLACE_DEVID, NULL, NULL, false)) { + btrfs_err(fs_info, + "found replace target device without a valid replace item"); + ret = -EUCLEAN; + goto out; + } ret = 0; dev_replace->replace_state = BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED; @@ -147,8 +158,19 @@ case BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: case BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: case BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: - dev_replace->srcdev = NULL; - dev_replace->tgtdev = NULL; + /* + * We don't have an active replace item but if there is a + * replace target, fail the mount. + */ + if (btrfs_find_device(fs_info->fs_devices, + BTRFS_DEV_REPLACE_DEVID, NULL, NULL, false)) { + btrfs_err(fs_info, + "replace devid present without an active replace item"); + ret = -EUCLEAN; + } else { + dev_replace->srcdev = NULL; + dev_replace->tgtdev = NULL; + } break; case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: case BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: @@ -230,7 +252,7 @@ int ret = 0; *device_out = NULL; - if (fs_info->fs_devices->seeding) { + if (srcdev->fs_devices->seeding) { btrfs_err(fs_info, "the filesystem is a seed filesystem!"); return -EINVAL; } @@ -599,6 +621,37 @@ wake_up(&fs_info->dev_replace.replace_wait); } +/* + * When finishing the device replace, before swapping the source device with the + * target device we must update the chunk allocation state in the target device, + * as it is empty because replace works by directly copying the chunks and not + * through the normal chunk allocation path. + */ +static int btrfs_set_target_alloc_state(struct btrfs_device *srcdev, + struct btrfs_device *tgtdev) +{ + struct extent_state *cached_state = NULL; + u64 start = 0; + u64 found_start; + u64 found_end; + int ret = 0; + + lockdep_assert_held(&srcdev->fs_info->chunk_mutex); + + while (!find_first_extent_bit(&srcdev->alloc_state, start, + &found_start, &found_end, + CHUNK_ALLOCATED, &cached_state)) { + ret = set_extent_bits(&tgtdev->alloc_state, found_start, + found_end, CHUNK_ALLOCATED); + if (ret) + break; + start = found_end + 1; + } + + free_extent_state(cached_state); + return ret; +} + static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, int scrub_ret) { @@ -637,6 +690,9 @@ } btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); + if (!scrub_ret) + btrfs_reada_remove_dev(src_device); + /* * We have to use this loop approach because at this point src_device * has to be available for transaction commit to complete, yet new @@ -645,6 +701,7 @@ while (1) { trans = btrfs_start_transaction(root, 0); if (IS_ERR(trans)) { + btrfs_reada_undo_remove_dev(src_device); mutex_unlock(&dev_replace->lock_finishing_cancel_unmount); return PTR_ERR(trans); } @@ -673,8 +730,14 @@ dev_replace->time_stopped = ktime_get_real_seconds(); dev_replace->item_needs_writeback = 1; - /* replace old device with new one in mapping tree */ + /* + * Update allocation state in the new device and replace the old device + * with the new one in the mapping tree. + */ if (!scrub_ret) { + scrub_ret = btrfs_set_target_alloc_state(src_device, tgt_device); + if (scrub_ret) + goto error; btrfs_dev_replace_update_device_in_mapping_tree(fs_info, src_device, tgt_device); @@ -685,9 +748,11 @@ btrfs_dev_name(src_device), src_device->devid, rcu_str_deref(tgt_device->name), scrub_ret); +error: up_write(&dev_replace->rwsem); mutex_unlock(&fs_info->chunk_mutex); mutex_unlock(&fs_info->fs_devices->device_list_mutex); + btrfs_reada_undo_remove_dev(src_device); btrfs_rm_dev_replace_blocked(fs_info); if (tgt_device) btrfs_destroy_dev_replace_tgtdev(tgt_device); @@ -745,7 +810,9 @@ /* replace the sysfs entry */ btrfs_sysfs_remove_devices_dir(fs_info->fs_devices, src_device); btrfs_sysfs_update_devid(tgt_device); - btrfs_rm_dev_replace_free_srcdev(src_device); + if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &src_device->dev_state)) + btrfs_scratch_superblocks(fs_info, src_device->bdev, + src_device->name->str); /* write back the superblocks */ trans = btrfs_start_transaction(root, 0); @@ -754,6 +821,8 @@ mutex_unlock(&dev_replace->lock_finishing_cancel_unmount); + btrfs_rm_dev_replace_free_srcdev(src_device); + return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/discard.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/discard.c @@ -199,16 +199,15 @@ static struct btrfs_block_group *peek_discard_list( struct btrfs_discard_ctl *discard_ctl, enum btrfs_discard_state *discard_state, - int *discard_index) + int *discard_index, u64 now) { struct btrfs_block_group *block_group; - const u64 now = ktime_get_ns(); spin_lock(&discard_ctl->lock); again: block_group = find_next_block_group(discard_ctl, now); - if (block_group && now > block_group->discard_eligible_time) { + 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)) @@ -222,12 +221,11 @@ block_group->discard_state = BTRFS_DISCARD_EXTENTS; } discard_ctl->block_group = block_group; + } + if (block_group) { *discard_state = block_group->discard_state; *discard_index = block_group->discard_index; - } else { - block_group = NULL; } - spin_unlock(&discard_ctl->lock); return block_group; @@ -330,28 +328,15 @@ btrfs_discard_schedule_work(discard_ctl, false); } -/** - * btrfs_discard_schedule_work - responsible for scheduling the discard work - * @discard_ctl: discard control - * @override: override the current timer - * - * Discards are issued by a delayed workqueue item. @override is used to - * update the current delay as the baseline delay interval is reevaluated on - * transaction commit. This is also maxed with any other rate limit. - */ -void btrfs_discard_schedule_work(struct btrfs_discard_ctl *discard_ctl, - bool override) +static void __btrfs_discard_schedule_work(struct btrfs_discard_ctl *discard_ctl, + u64 now, bool override) { struct btrfs_block_group *block_group; - const u64 now = ktime_get_ns(); - - spin_lock(&discard_ctl->lock); if (!btrfs_run_discard_work(discard_ctl)) - goto out; - + return; if (!override && delayed_work_pending(&discard_ctl->work)) - goto out; + return; block_group = find_next_block_group(discard_ctl, now); if (block_group) { @@ -384,7 +369,24 @@ mod_delayed_work(discard_ctl->discard_workers, &discard_ctl->work, delay); } -out: +} + +/* + * btrfs_discard_schedule_work - responsible for scheduling the discard work + * @discard_ctl: discard control + * @override: override the current timer + * + * Discards are issued by a delayed workqueue item. @override is used to + * update the current delay as the baseline delay interval is reevaluated on + * transaction commit. This is also maxed with any other rate limit. + */ +void btrfs_discard_schedule_work(struct btrfs_discard_ctl *discard_ctl, + bool override) +{ + const u64 now = ktime_get_ns(); + + spin_lock(&discard_ctl->lock); + __btrfs_discard_schedule_work(discard_ctl, now, override); spin_unlock(&discard_ctl->lock); } @@ -429,13 +431,18 @@ int discard_index = 0; u64 trimmed = 0; u64 minlen = 0; + u64 now = ktime_get_ns(); discard_ctl = container_of(work, struct btrfs_discard_ctl, work.work); block_group = peek_discard_list(discard_ctl, &discard_state, - &discard_index); + &discard_index, now); if (!block_group || !btrfs_run_discard_work(discard_ctl)) return; + if (now < block_group->discard_eligible_time) { + btrfs_discard_schedule_work(discard_ctl, false); + return; + } /* Perform discarding */ minlen = discard_minlen[discard_index]; @@ -484,9 +491,8 @@ spin_lock(&discard_ctl->lock); discard_ctl->block_group = NULL; + __btrfs_discard_schedule_work(discard_ctl, now, false); spin_unlock(&discard_ctl->lock); - - btrfs_discard_schedule_work(discard_ctl, false); } /** --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/disk-io.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/disk-io.c @@ -636,16 +636,15 @@ csum_tree_block(eb, result); if (memcmp_extent_buffer(eb, result, 0, csum_size)) { - u32 val; - u32 found = 0; - - memcpy(&found, result, csum_size); + u8 val[BTRFS_CSUM_SIZE] = { 0 }; read_extent_buffer(eb, &val, 0, csum_size); btrfs_warn_rl(fs_info, - "%s checksum verify failed on %llu wanted %x found %x level %d", + "%s checksum verify failed on %llu wanted " CSUM_FMT " found " CSUM_FMT " level %d", fs_info->sb->s_id, eb->start, - val, found, btrfs_header_level(eb)); + CSUM_FMT_VALUE(csum_size, val), + CSUM_FMT_VALUE(csum_size, result), + btrfs_header_level(eb)); ret = -EUCLEAN; goto err; } @@ -1342,32 +1341,26 @@ return 0; } -struct btrfs_root *btrfs_read_tree_root(struct btrfs_root *tree_root, - struct btrfs_key *key) +static struct btrfs_root *read_tree_root_path(struct btrfs_root *tree_root, + struct btrfs_path *path, + struct btrfs_key *key) { struct btrfs_root *root; struct btrfs_fs_info *fs_info = tree_root->fs_info; - struct btrfs_path *path; u64 generation; int ret; int level; - path = btrfs_alloc_path(); - if (!path) - return ERR_PTR(-ENOMEM); - root = btrfs_alloc_root(fs_info, key->objectid, GFP_NOFS); - if (!root) { - ret = -ENOMEM; - goto alloc_fail; - } + if (!root) + return ERR_PTR(-ENOMEM); ret = btrfs_find_root(tree_root, key, path, &root->root_item, &root->root_key); if (ret) { if (ret > 0) ret = -ENOENT; - goto find_fail; + goto fail; } generation = btrfs_root_generation(&root->root_item); @@ -1378,24 +1371,39 @@ if (IS_ERR(root->node)) { ret = PTR_ERR(root->node); root->node = NULL; - goto find_fail; + goto fail; } else if (!btrfs_buffer_uptodate(root->node, generation, 0)) { ret = -EIO; - goto find_fail; + goto fail; } root->commit_root = btrfs_root_node(root); -out: - btrfs_free_path(path); return root; - -find_fail: +fail: btrfs_put_root(root); -alloc_fail: - root = ERR_PTR(ret); - goto out; + return ERR_PTR(ret); +} + +struct btrfs_root *btrfs_read_tree_root(struct btrfs_root *tree_root, + struct btrfs_key *key) +{ + struct btrfs_root *root; + struct btrfs_path *path; + + path = btrfs_alloc_path(); + if (!path) + return ERR_PTR(-ENOMEM); + root = read_tree_root_path(tree_root, path, key); + btrfs_free_path(path); + + return root; } -static int btrfs_init_fs_root(struct btrfs_root *root) +/* + * Initialize subvolume root in-memory structure + * + * @anon_dev: anonymous device to attach to the root, if zero, allocate new + */ +static int btrfs_init_fs_root(struct btrfs_root *root, dev_t anon_dev) { int ret; unsigned int nofs_flag; @@ -1428,9 +1436,20 @@ spin_lock_init(&root->ino_cache_lock); init_waitqueue_head(&root->ino_cache_wait); - ret = get_anon_bdev(&root->anon_dev); - if (ret) - goto fail; + /* + * Don't assign anonymous block device to roots that are not exposed to + * userspace, the id pool is limited to 1M + */ + if (is_fstree(root->root_key.objectid) && + btrfs_root_refs(&root->root_item) > 0) { + if (!anon_dev) { + ret = get_anon_bdev(&root->anon_dev); + if (ret) + goto fail; + } else { + root->anon_dev = anon_dev; + } + } mutex_lock(&root->objectid_mutex); ret = btrfs_find_highest_objectid(root, @@ -1464,6 +1483,31 @@ return root; } +static struct btrfs_root *btrfs_get_global_root(struct btrfs_fs_info *fs_info, + u64 objectid) +{ + if (objectid == BTRFS_ROOT_TREE_OBJECTID) + return btrfs_grab_root(fs_info->tree_root); + if (objectid == BTRFS_EXTENT_TREE_OBJECTID) + return btrfs_grab_root(fs_info->extent_root); + if (objectid == BTRFS_CHUNK_TREE_OBJECTID) + return btrfs_grab_root(fs_info->chunk_root); + if (objectid == BTRFS_DEV_TREE_OBJECTID) + return btrfs_grab_root(fs_info->dev_root); + if (objectid == BTRFS_CSUM_TREE_OBJECTID) + return btrfs_grab_root(fs_info->csum_root); + if (objectid == BTRFS_QUOTA_TREE_OBJECTID) + return btrfs_grab_root(fs_info->quota_root) ? + fs_info->quota_root : ERR_PTR(-ENOENT); + if (objectid == BTRFS_UUID_TREE_OBJECTID) + return btrfs_grab_root(fs_info->uuid_root) ? + fs_info->uuid_root : ERR_PTR(-ENOENT); + if (objectid == BTRFS_FREE_SPACE_TREE_OBJECTID) + return btrfs_grab_root(fs_info->free_space_root) ? + fs_info->free_space_root : ERR_PTR(-ENOENT); + return NULL; +} + int btrfs_insert_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root) { @@ -1534,36 +1578,41 @@ } -struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info, - u64 objectid, bool check_ref) +/* + * Get an in-memory reference of a root structure. + * + * For essential trees like root/extent tree, we grab it from fs_info directly. + * For subvolume trees, we check the cached filesystem roots first. If not + * found, then read it from disk and add it to cached fs roots. + * + * Caller should release the root by calling btrfs_put_root() after the usage. + * + * NOTE: Reloc and log trees can't be read by this function as they share the + * same root objectid. + * + * @objectid: root id + * @anon_dev: preallocated anonymous block device number for new roots, + * pass 0 for new allocation. + * @check_ref: whether to check root item references, If true, return -ENOENT + * for orphan roots + */ +static struct btrfs_root *btrfs_get_root_ref(struct btrfs_fs_info *fs_info, + u64 objectid, dev_t anon_dev, + bool check_ref) { struct btrfs_root *root; struct btrfs_path *path; struct btrfs_key key; int ret; - if (objectid == BTRFS_ROOT_TREE_OBJECTID) - return btrfs_grab_root(fs_info->tree_root); - if (objectid == BTRFS_EXTENT_TREE_OBJECTID) - return btrfs_grab_root(fs_info->extent_root); - if (objectid == BTRFS_CHUNK_TREE_OBJECTID) - return btrfs_grab_root(fs_info->chunk_root); - if (objectid == BTRFS_DEV_TREE_OBJECTID) - return btrfs_grab_root(fs_info->dev_root); - if (objectid == BTRFS_CSUM_TREE_OBJECTID) - return btrfs_grab_root(fs_info->csum_root); - if (objectid == BTRFS_QUOTA_TREE_OBJECTID) - return btrfs_grab_root(fs_info->quota_root) ? - fs_info->quota_root : ERR_PTR(-ENOENT); - if (objectid == BTRFS_UUID_TREE_OBJECTID) - return btrfs_grab_root(fs_info->uuid_root) ? - fs_info->uuid_root : ERR_PTR(-ENOENT); - if (objectid == BTRFS_FREE_SPACE_TREE_OBJECTID) - return btrfs_grab_root(fs_info->free_space_root) ? - fs_info->free_space_root : ERR_PTR(-ENOENT); + root = btrfs_get_global_root(fs_info, objectid); + if (root) + return root; again: root = btrfs_lookup_fs_root(fs_info, objectid); if (root) { + /* Shouldn't get preallocated anon_dev for cached roots */ + ASSERT(!anon_dev); if (check_ref && btrfs_root_refs(&root->root_item) == 0) { btrfs_put_root(root); return ERR_PTR(-ENOENT); @@ -1583,7 +1632,7 @@ goto fail; } - ret = btrfs_init_fs_root(root); + ret = btrfs_init_fs_root(root, anon_dev); if (ret) goto fail; @@ -1616,6 +1665,33 @@ return ERR_PTR(ret); } +/* + * Get in-memory reference of a root structure + * + * @objectid: tree objectid + * @check_ref: if set, verify that the tree exists and the item has at least + * one reference + */ +struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info, + u64 objectid, bool check_ref) +{ + return btrfs_get_root_ref(fs_info, objectid, 0, check_ref); +} + +/* + * Get in-memory reference of a root structure, created as new, optionally pass + * the anonymous block device id + * + * @objectid: tree objectid + * @anon_dev: if zero, allocate a new anonymous block device or use the + * parameter value + */ +struct btrfs_root *btrfs_get_new_fs_root(struct btrfs_fs_info *fs_info, + u64 objectid, dev_t anon_dev) +{ + return btrfs_get_root_ref(fs_info, objectid, anon_dev, true); +} + static int btrfs_congested_fn(void *congested_data, int bdi_bits) { struct btrfs_fs_info *info = (struct btrfs_fs_info *)congested_data; @@ -1638,6 +1714,52 @@ } /* + * btrfs_get_fs_root_commit_root - return a root for the given objectid + * @fs_info: the fs_info + * @objectid: the objectid we need to lookup + * + * This is exclusively used for backref walking, and exists specifically because + * of how qgroups does lookups. Qgroups will do a backref lookup at delayed ref + * creation time, which means we may have to read the tree_root in order to look + * up a fs root that is not in memory. If the root is not in memory we will + * read the tree root commit root and look up the fs root from there. This is a + * temporary root, it will not be inserted into the radix tree as it doesn't + * have the most uptodate information, it'll simply be discarded once the + * backref code is finished using the root. + */ +struct btrfs_root *btrfs_get_fs_root_commit_root(struct btrfs_fs_info *fs_info, + struct btrfs_path *path, + u64 objectid) +{ + struct btrfs_root *root; + struct btrfs_key key; + + ASSERT(path->search_commit_root && path->skip_locking); + + /* + * This can return -ENOENT if we ask for a root that doesn't exist, but + * since this is called via the backref walking code we won't be looking + * up a root that doesn't exist, unless there's corruption. So if root + * != NULL just return it. + */ + root = btrfs_get_global_root(fs_info, objectid); + if (root) + return root; + + root = btrfs_lookup_fs_root(fs_info, objectid); + if (root) + return root; + + key.objectid = objectid; + key.type = BTRFS_ROOT_ITEM_KEY; + key.offset = (u64)-1; + root = read_tree_root_path(fs_info->tree_root, path, &key); + btrfs_release_path(path); + + return root; +} + +/* * called by the kthread helper functions to finally call the bio end_io * functions. This is where read checksum verification actually happens */ @@ -3382,6 +3504,8 @@ btrfs_put_block_group_cache(fs_info); fail_tree_roots: + if (fs_info->data_reloc_root) + btrfs_drop_and_free_fs_root(fs_info, fs_info->data_reloc_root); free_root_pointers(fs_info, true); invalidate_inode_pages2(fs_info->btree_inode->i_mapping); @@ -3445,8 +3569,12 @@ return ERR_CAST(page); super = page_address(page); - if (btrfs_super_bytenr(super) != bytenr || - btrfs_super_magic(super) != BTRFS_MAGIC) { + if (btrfs_super_magic(super) != BTRFS_MAGIC) { + btrfs_release_disk_super(super); + return ERR_PTR(-ENODATA); + } + + if (btrfs_super_bytenr(super) != bytenr) { btrfs_release_disk_super(super); return ERR_PTR(-EINVAL); } @@ -4510,6 +4638,7 @@ cache->io_ctl.inode = NULL; iput(inode); } + ASSERT(cache->io_ctl.pages == NULL); btrfs_put_block_group(cache); } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/disk-io.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/disk-io.h @@ -67,6 +67,11 @@ struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info, u64 objectid, bool check_ref); +struct btrfs_root *btrfs_get_new_fs_root(struct btrfs_fs_info *fs_info, + u64 objectid, dev_t anon_dev); +struct btrfs_root *btrfs_get_fs_root_commit_root(struct btrfs_fs_info *fs_info, + struct btrfs_path *path, + u64 objectid); void btrfs_free_fs_info(struct btrfs_fs_info *fs_info); int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/extent-io-tree.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/extent-io-tree.h @@ -34,6 +34,8 @@ */ #define CHUNK_ALLOCATED EXTENT_DIRTY #define CHUNK_TRIMMED EXTENT_DEFRAG +#define CHUNK_STATE_MASK (CHUNK_ALLOCATED | \ + CHUNK_TRIMMED) enum { IO_TREE_FS_PINNED_EXTENTS, @@ -46,6 +48,7 @@ IO_TREE_INODE_FILE_EXTENT, IO_TREE_LOG_CSUM_RANGE, IO_TREE_SELFTEST, + IO_TREE_DEVICE_ALLOC_STATE, }; struct extent_io_tree { --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/extent-tree.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/extent-tree.c @@ -33,6 +33,7 @@ #include "delalloc-space.h" #include "block-group.h" #include "discard.h" +#include "rcu-string.h" #undef SCRAMBLE_DELAYED_REFS @@ -81,41 +82,6 @@ EXTENT_UPTODATE); } -static u64 generic_ref_to_space_flags(struct btrfs_ref *ref) -{ - if (ref->type == BTRFS_REF_METADATA) { - if (ref->tree_ref.root == BTRFS_CHUNK_TREE_OBJECTID) - return BTRFS_BLOCK_GROUP_SYSTEM; - else - return BTRFS_BLOCK_GROUP_METADATA; - } - return BTRFS_BLOCK_GROUP_DATA; -} - -static void add_pinned_bytes(struct btrfs_fs_info *fs_info, - struct btrfs_ref *ref) -{ - struct btrfs_space_info *space_info; - u64 flags = generic_ref_to_space_flags(ref); - - space_info = btrfs_find_space_info(fs_info, flags); - ASSERT(space_info); - percpu_counter_add_batch(&space_info->total_bytes_pinned, ref->len, - BTRFS_TOTAL_BYTES_PINNED_BATCH); -} - -static void sub_pinned_bytes(struct btrfs_fs_info *fs_info, - struct btrfs_ref *ref) -{ - struct btrfs_space_info *space_info; - u64 flags = generic_ref_to_space_flags(ref); - - space_info = btrfs_find_space_info(fs_info, flags); - ASSERT(space_info); - percpu_counter_add_batch(&space_info->total_bytes_pinned, -ref->len, - BTRFS_TOTAL_BYTES_PINNED_BATCH); -} - /* simple helper to search for an existing data extent at a given offset */ int btrfs_lookup_data_extent(struct btrfs_fs_info *fs_info, u64 start, u64 len) { @@ -399,12 +365,11 @@ if (type == BTRFS_SHARED_BLOCK_REF_KEY) { ASSERT(eb->fs_info); /* - * Every shared one has parent tree - * block, which must be aligned to - * nodesize. + * Every shared one has parent tree block, + * which must be aligned to sector size. */ if (offset && - IS_ALIGNED(offset, eb->fs_info->nodesize)) + IS_ALIGNED(offset, eb->fs_info->sectorsize)) return type; } } else if (is_data == BTRFS_REF_TYPE_DATA) { @@ -413,12 +378,11 @@ if (type == BTRFS_SHARED_DATA_REF_KEY) { ASSERT(eb->fs_info); /* - * Every shared one has parent tree - * block, which must be aligned to - * nodesize. + * Every shared one has parent tree block, + * which must be aligned to sector size. */ if (offset && - IS_ALIGNED(offset, eb->fs_info->nodesize)) + IS_ALIGNED(offset, eb->fs_info->sectorsize)) return type; } } else { @@ -428,8 +392,9 @@ } btrfs_print_leaf((struct extent_buffer *)eb); - btrfs_err(eb->fs_info, "eb %llu invalid extent inline ref type %d", - eb->start, type); + btrfs_err(eb->fs_info, + "eb %llu iref 0x%lx invalid extent inline ref type %d", + eb->start, (unsigned long)iref, type); WARN_ON(1); return BTRFS_REF_TYPE_INVALID; @@ -1177,7 +1142,22 @@ num_bytes, parent, root_objectid, owner, offset, 1); if (ret == 0) { - BUG_ON(owner < BTRFS_FIRST_FREE_OBJECTID); + /* + * We're adding refs to a tree block we already own, this + * should not happen at all. + */ + if (owner < BTRFS_FIRST_FREE_OBJECTID) { + btrfs_crit(trans->fs_info, +"adding refs to an existing tree ref, bytenr %llu num_bytes %llu root_objectid %llu", + bytenr, num_bytes, root_objectid); + if (IS_ENABLED(CONFIG_BTRFS_DEBUG)) { + WARN_ON(1); + btrfs_crit(trans->fs_info, + "path->slots[0]=%d path->nodes[0]:", path->slots[0]); + btrfs_print_leaf(path->nodes[0]); + } + return -EUCLEAN; + } update_inline_extent_backref(path, iref, refs_to_add, extent_op, NULL); } else if (ret == -ENOENT) { @@ -1371,7 +1351,6 @@ struct btrfs_ref *generic_ref) { struct btrfs_fs_info *fs_info = trans->fs_info; - int old_ref_mod, new_ref_mod; int ret; ASSERT(generic_ref->type != BTRFS_REF_NOT_SET && @@ -1380,23 +1359,21 @@ generic_ref->tree_ref.root == BTRFS_TREE_LOG_OBJECTID); if (generic_ref->type == BTRFS_REF_METADATA) - ret = btrfs_add_delayed_tree_ref(trans, generic_ref, - NULL, &old_ref_mod, &new_ref_mod); + ret = btrfs_add_delayed_tree_ref(trans, generic_ref, NULL); else - ret = btrfs_add_delayed_data_ref(trans, generic_ref, 0, - &old_ref_mod, &new_ref_mod); + ret = btrfs_add_delayed_data_ref(trans, generic_ref, 0); btrfs_ref_tree_mod(fs_info, generic_ref); - if (ret == 0 && old_ref_mod < 0 && new_ref_mod >= 0) - sub_pinned_bytes(fs_info, generic_ref); - return ret; } /* * __btrfs_inc_extent_ref - insert backreference for a given extent * + * The counterpart is in __btrfs_free_extent(), with examples and more details + * how it works. + * * @trans: Handle of transaction * * @node: The delayed ref node used to get the bytenr/length for @@ -1778,34 +1755,28 @@ { int nr_items = 1; /* Dropping this ref head update. */ - if (head->total_ref_mod < 0) { - struct btrfs_space_info *space_info; - u64 flags; - - if (head->is_data) - flags = BTRFS_BLOCK_GROUP_DATA; - else if (head->is_system) - flags = BTRFS_BLOCK_GROUP_SYSTEM; - else - flags = BTRFS_BLOCK_GROUP_METADATA; - space_info = btrfs_find_space_info(fs_info, flags); - ASSERT(space_info); - percpu_counter_add_batch(&space_info->total_bytes_pinned, - -head->num_bytes, - BTRFS_TOTAL_BYTES_PINNED_BATCH); + /* + * We had csum deletions accounted for in our delayed refs rsv, we need + * to drop the csum leaves for this update from our delayed_refs_rsv. + */ + if (head->total_ref_mod < 0 && head->is_data) { + spin_lock(&delayed_refs->lock); + delayed_refs->pending_csums -= head->num_bytes; + spin_unlock(&delayed_refs->lock); + nr_items += btrfs_csum_bytes_to_leaves(fs_info, head->num_bytes); + } - /* - * We had csum deletions accounted for in our delayed refs rsv, - * we need to drop the csum leaves for this update from our - * delayed_refs_rsv. - */ - if (head->is_data) { - spin_lock(&delayed_refs->lock); - delayed_refs->pending_csums -= head->num_bytes; - spin_unlock(&delayed_refs->lock); - nr_items += btrfs_csum_bytes_to_leaves(fs_info, - head->num_bytes); - } + /* + * We were dropping refs, or had a new ref and dropped it, and thus must + * adjust down our total_bytes_pinned, the space may or may not have + * been pinned and so is accounted for properly in the pinned space by + * now. + */ + if (head->total_ref_mod < 0 || + (head->total_ref_mod == 0 && head->must_insert_reserved)) { + u64 flags = btrfs_ref_head_to_space_flags(head); + + btrfs_mod_total_bytes_pinned(fs_info, flags, -head->num_bytes); } btrfs_delayed_refs_rsv_release(fs_info, nr_items); @@ -2305,7 +2276,8 @@ static noinline int check_committed_ref(struct btrfs_root *root, struct btrfs_path *path, - u64 objectid, u64 offset, u64 bytenr) + u64 objectid, u64 offset, u64 bytenr, + bool strict) { struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_root *extent_root = fs_info->extent_root; @@ -2347,9 +2319,13 @@ btrfs_extent_inline_ref_size(BTRFS_EXTENT_DATA_REF_KEY)) goto out; - /* If extent created before last snapshot => it's definitely shared */ - if (btrfs_extent_generation(leaf, ei) <= - btrfs_root_last_snapshot(&root->root_item)) + /* + * If extent created before last snapshot => it's shared unless the + * snapshot has been deleted. Use the heuristic if strict is false. + */ + if (!strict && + (btrfs_extent_generation(leaf, ei) <= + btrfs_root_last_snapshot(&root->root_item))) goto out; iref = (struct btrfs_extent_inline_ref *)(ei + 1); @@ -2374,7 +2350,7 @@ } int btrfs_cross_ref_exist(struct btrfs_root *root, u64 objectid, u64 offset, - u64 bytenr) + u64 bytenr, bool strict) { struct btrfs_path *path; int ret; @@ -2385,7 +2361,7 @@ do { ret = check_committed_ref(root, path, objectid, - offset, bytenr); + offset, bytenr, strict); if (ret && ret != -ENOENT) goto out; @@ -2569,8 +2545,7 @@ spin_unlock(&cache->lock); spin_unlock(&cache->space_info->lock); - percpu_counter_add_batch(&cache->space_info->total_bytes_pinned, - num_bytes, BTRFS_TOTAL_BYTES_PINNED_BATCH); + __btrfs_mod_total_bytes_pinned(cache->space_info, num_bytes); set_extent_dirty(&trans->transaction->pinned_extents, bytenr, bytenr + num_bytes - 1, GFP_NOFS | __GFP_NOFAIL); return 0; @@ -2707,31 +2682,6 @@ atomic_inc(&bg->reservations); } -void btrfs_prepare_extent_commit(struct btrfs_fs_info *fs_info) -{ - struct btrfs_caching_control *next; - struct btrfs_caching_control *caching_ctl; - struct btrfs_block_group *cache; - - down_write(&fs_info->commit_root_sem); - - list_for_each_entry_safe(caching_ctl, next, - &fs_info->caching_block_groups, list) { - cache = caching_ctl->block_group; - if (btrfs_block_group_done(cache)) { - cache->last_byte_to_unpin = (u64)-1; - list_del_init(&caching_ctl->list); - btrfs_put_caching_control(caching_ctl); - } else { - cache->last_byte_to_unpin = caching_ctl->progress; - } - } - - up_write(&fs_info->commit_root_sem); - - btrfs_update_global_block_rsv(fs_info); -} - /* * Returns the free cluster for the given space info and sets empty_cluster to * what it should be based on the mount options. @@ -2793,10 +2743,10 @@ len = cache->start + cache->length - start; len = min(len, end + 1 - start); - if (start < cache->last_byte_to_unpin) { - len = min(len, cache->last_byte_to_unpin - start); - if (return_free_space) - btrfs_add_free_space(cache, start, len); + if (start < cache->last_byte_to_unpin && return_free_space) { + u64 add_len = min(len, cache->last_byte_to_unpin - start); + + btrfs_add_free_space(cache, start, add_len); } start += len; @@ -2821,8 +2771,7 @@ cache->pinned -= len; btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len); space_info->max_extent_size = 0; - percpu_counter_add_batch(&space_info->total_bytes_pinned, - -len, BTRFS_TOTAL_BYTES_PINNED_BATCH); + __btrfs_mod_total_bytes_pinned(space_info, -len); if (cache->ro) { space_info->bytes_readonly += len; readonly = true; @@ -2930,6 +2879,65 @@ return 0; } +/* + * Drop one or more refs of @node. + * + * 1. Locate the extent refs. + * It's either inline in EXTENT/METADATA_ITEM or in keyed SHARED_* item. + * Locate it, then reduce the refs number or remove the ref line completely. + * + * 2. Update the refs count in EXTENT/METADATA_ITEM + * + * Inline backref case: + * + * in extent tree we have: + * + * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 16201 itemsize 82 + * refs 2 gen 6 flags DATA + * extent data backref root FS_TREE objectid 258 offset 0 count 1 + * extent data backref root FS_TREE objectid 257 offset 0 count 1 + * + * This function gets called with: + * + * node->bytenr = 13631488 + * node->num_bytes = 1048576 + * root_objectid = FS_TREE + * owner_objectid = 257 + * owner_offset = 0 + * refs_to_drop = 1 + * + * Then we should get some like: + * + * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 16201 itemsize 82 + * refs 1 gen 6 flags DATA + * extent data backref root FS_TREE objectid 258 offset 0 count 1 + * + * Keyed backref case: + * + * in extent tree we have: + * + * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 3971 itemsize 24 + * refs 754 gen 6 flags DATA + * [...] + * item 2 key (13631488 EXTENT_DATA_REF ) itemoff 3915 itemsize 28 + * extent data backref root FS_TREE objectid 866 offset 0 count 1 + * + * This function get called with: + * + * node->bytenr = 13631488 + * node->num_bytes = 1048576 + * root_objectid = FS_TREE + * owner_objectid = 866 + * owner_offset = 0 + * refs_to_drop = 1 + * + * Then we should get some like: + * + * item 0 key (13631488 EXTENT_ITEM 1048576) itemoff 3971 itemsize 24 + * refs 753 gen 6 flags DATA + * + * And that (13631488 EXTENT_DATA_REF ) gets removed. + */ static int __btrfs_free_extent(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_node *node, u64 parent, u64 root_objectid, u64 owner_objectid, @@ -2962,7 +2970,15 @@ path->leave_spinning = 1; is_data = owner_objectid >= BTRFS_FIRST_FREE_OBJECTID; - BUG_ON(!is_data && refs_to_drop != 1); + + if (!is_data && refs_to_drop != 1) { + btrfs_crit(info, +"invalid refs_to_drop, dropping more than 1 refs for tree block %llu refs_to_drop %u", + node->bytenr, refs_to_drop); + ret = -EINVAL; + btrfs_abort_transaction(trans, ret); + goto out; + } if (is_data) skinny_metadata = false; @@ -2971,6 +2987,13 @@ parent, root_objectid, owner_objectid, owner_offset); if (ret == 0) { + /* + * Either the inline backref or the SHARED_DATA_REF/ + * SHARED_BLOCK_REF is found + * + * Here is a quick path to locate EXTENT/METADATA_ITEM. + * It's possible the EXTENT/METADATA_ITEM is near current slot. + */ extent_slot = path->slots[0]; while (extent_slot >= 0) { btrfs_item_key_to_cpu(path->nodes[0], &key, @@ -2987,13 +3010,21 @@ found_extent = 1; break; } + + /* Quick path didn't find the EXTEMT/METADATA_ITEM */ if (path->slots[0] - extent_slot > 5) break; extent_slot--; } if (!found_extent) { - BUG_ON(iref); + if (iref) { + btrfs_crit(info, +"invalid iref, no EXTENT/METADATA_ITEM found but has inline extent ref"); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } + /* Must be SHARED_* item, remove the backref first */ ret = remove_extent_backref(trans, path, NULL, refs_to_drop, is_data, &last_ref); @@ -3004,6 +3035,7 @@ btrfs_release_path(path); path->leave_spinning = 1; + /* Slow path to locate EXTENT/METADATA_ITEM */ key.objectid = bytenr; key.type = BTRFS_EXTENT_ITEM_KEY; key.offset = num_bytes; @@ -3078,19 +3110,26 @@ if (owner_objectid < BTRFS_FIRST_FREE_OBJECTID && key.type == BTRFS_EXTENT_ITEM_KEY) { struct btrfs_tree_block_info *bi; - BUG_ON(item_size < sizeof(*ei) + sizeof(*bi)); + if (item_size < sizeof(*ei) + sizeof(*bi)) { + btrfs_crit(info, +"invalid extent item size for key (%llu, %u, %llu) owner %llu, has %u expect >= %zu", + key.objectid, key.type, key.offset, + owner_objectid, item_size, + sizeof(*ei) + sizeof(*bi)); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } bi = (struct btrfs_tree_block_info *)(ei + 1); WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi)); } refs = btrfs_extent_refs(leaf, ei); if (refs < refs_to_drop) { - btrfs_err(info, - "trying to drop %d refs but we only have %Lu for bytenr %Lu", + btrfs_crit(info, + "trying to drop %d refs but we only have %llu for bytenr %llu", refs_to_drop, refs, bytenr); - ret = -EINVAL; - btrfs_abort_transaction(trans, ret); - goto out; + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; } refs -= refs_to_drop; @@ -3102,7 +3141,12 @@ * be updated by remove_extent_backref */ if (iref) { - BUG_ON(!found_extent); + if (!found_extent) { + btrfs_crit(info, +"invalid iref, got inlined extent ref but no EXTENT/METADATA_ITEM found"); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } } else { btrfs_set_extent_refs(leaf, ei, refs); btrfs_mark_buffer_dirty(leaf); @@ -3117,13 +3161,39 @@ } } } else { + /* In this branch refs == 1 */ if (found_extent) { - BUG_ON(is_data && refs_to_drop != - extent_data_ref_count(path, iref)); + if (is_data && refs_to_drop != + extent_data_ref_count(path, iref)) { + btrfs_crit(info, + "invalid refs_to_drop, current refs %u refs_to_drop %u", + extent_data_ref_count(path, iref), + refs_to_drop); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } if (iref) { - BUG_ON(path->slots[0] != extent_slot); + if (path->slots[0] != extent_slot) { + btrfs_crit(info, +"invalid iref, extent item key (%llu %u %llu) doesn't have wanted iref", + key.objectid, key.type, + key.offset); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } } else { - BUG_ON(path->slots[0] != extent_slot + 1); + /* + * No inline ref, we must be at SHARED_* item, + * And it's single ref, it must be: + * | extent_slot ||extent_slot + 1| + * [ EXTENT/METADATA_ITEM ][ SHARED_* ITEM ] + */ + if (path->slots[0] != extent_slot + 1) { + btrfs_crit(info, + "invalid SHARED_* item, previous item is not EXTENT/METADATA_ITEM"); + btrfs_abort_transaction(trans, -EUCLEAN); + goto err_dump; + } path->slots[0] = extent_slot; num_to_del = 2; } @@ -3164,6 +3234,19 @@ out: btrfs_free_path(path); return ret; +err_dump: + /* + * Leaf dump can take up a lot of log buffer, so we only do full leaf + * dump for debug build. + */ + if (IS_ENABLED(CONFIG_BTRFS_DEBUG)) { + btrfs_crit(info, "path->slots[0]=%d extent_slot=%d", + path->slots[0], extent_slot); + btrfs_print_leaf(path->nodes[0]); + } + + btrfs_free_path(path); + return -EUCLEAN; } /* @@ -3228,7 +3311,6 @@ { struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_ref generic_ref = { 0 }; - int pin = 1; int ret; btrfs_init_generic_ref(&generic_ref, BTRFS_DROP_DELAYED_REF, @@ -3237,13 +3319,9 @@ root->root_key.objectid); if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) { - int old_ref_mod, new_ref_mod; - btrfs_ref_tree_mod(fs_info, &generic_ref); - ret = btrfs_add_delayed_tree_ref(trans, &generic_ref, NULL, - &old_ref_mod, &new_ref_mod); + ret = btrfs_add_delayed_tree_ref(trans, &generic_ref, NULL); BUG_ON(ret); /* -ENOMEM */ - pin = old_ref_mod >= 0 && new_ref_mod < 0; } if (last_ref && btrfs_header_generation(buf) == trans->transid) { @@ -3255,7 +3333,6 @@ goto out; } - pin = 0; cache = btrfs_lookup_block_group(fs_info, buf->start); if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN)) { @@ -3272,9 +3349,6 @@ trace_btrfs_reserved_extent_free(fs_info, buf->start, buf->len); } out: - if (pin) - add_pinned_bytes(fs_info, &generic_ref); - if (last_ref) { /* * Deleting the buffer, clear the corrupt flag since it doesn't @@ -3288,7 +3362,6 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, struct btrfs_ref *ref) { struct btrfs_fs_info *fs_info = trans->fs_info; - int old_ref_mod, new_ref_mod; int ret; if (btrfs_is_testing(fs_info)) @@ -3304,14 +3377,11 @@ ref->data_ref.ref_root == BTRFS_TREE_LOG_OBJECTID)) { /* unlocks the pinned mutex */ btrfs_pin_extent(trans, ref->bytenr, ref->len, 1); - old_ref_mod = new_ref_mod = 0; ret = 0; } else if (ref->type == BTRFS_REF_METADATA) { - ret = btrfs_add_delayed_tree_ref(trans, ref, NULL, - &old_ref_mod, &new_ref_mod); + ret = btrfs_add_delayed_tree_ref(trans, ref, NULL); } else { - ret = btrfs_add_delayed_data_ref(trans, ref, 0, - &old_ref_mod, &new_ref_mod); + ret = btrfs_add_delayed_data_ref(trans, ref, 0); } if (!((ref->type == BTRFS_REF_METADATA && @@ -3320,9 +3390,6 @@ ref->data_ref.ref_root == BTRFS_TREE_LOG_OBJECTID))) btrfs_ref_tree_mod(fs_info, ref); - if (ret == 0 && old_ref_mod >= 0 && new_ref_mod < 0) - add_pinned_bytes(fs_info, ref); - return ret; } @@ -3913,11 +3980,12 @@ * |- Push harder to find free extents * |- If not found, re-iterate all block groups */ -static noinline int find_free_extent(struct btrfs_fs_info *fs_info, +static noinline int find_free_extent(struct btrfs_root *root, u64 ram_bytes, u64 num_bytes, u64 empty_size, u64 hint_byte_orig, struct btrfs_key *ins, u64 flags, int delalloc) { + struct btrfs_fs_info *fs_info = root->fs_info; int ret = 0; int cache_block_group_error = 0; struct btrfs_block_group *block_group = NULL; @@ -3949,7 +4017,7 @@ ins->objectid = 0; ins->offset = 0; - trace_find_free_extent(fs_info, num_bytes, empty_size, flags); + trace_find_free_extent(root, num_bytes, empty_size, flags); space_info = btrfs_find_space_info(fs_info, flags); if (!space_info) { @@ -4198,7 +4266,7 @@ flags = get_alloc_profile_by_root(root, is_data); again: WARN_ON(num_bytes < fs_info->sectorsize); - ret = find_free_extent(fs_info, ram_bytes, num_bytes, empty_size, + ret = find_free_extent(root, ram_bytes, num_bytes, empty_size, hint_byte, ins, flags, delalloc); if (!ret && !is_data) { btrfs_dec_block_group_reservations(fs_info, ins->objectid); @@ -4439,7 +4507,6 @@ struct btrfs_key *ins) { struct btrfs_ref generic_ref = { 0 }; - int ret; BUG_ON(root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID); @@ -4447,9 +4514,8 @@ ins->objectid, ins->offset, 0); btrfs_init_data_ref(&generic_ref, root->root_key.objectid, owner, offset); btrfs_ref_tree_mod(root->fs_info, &generic_ref); - ret = btrfs_add_delayed_data_ref(trans, &generic_ref, - ram_bytes, NULL, NULL); - return ret; + + return btrfs_add_delayed_data_ref(trans, &generic_ref, ram_bytes); } /* @@ -4521,7 +4587,7 @@ return ERR_PTR(-EUCLEAN); } - btrfs_set_buffer_lockdep_class(root->root_key.objectid, buf, level); + btrfs_set_buffer_lockdep_class(owner, buf, level); btrfs_tree_lock(buf); btrfs_clean_tree_block(buf); clear_bit(EXTENT_BUFFER_STALE, &buf->bflags); @@ -4635,8 +4701,7 @@ generic_ref.real_root = root->root_key.objectid; btrfs_init_tree_ref(&generic_ref, level, root_objectid); btrfs_ref_tree_mod(fs_info, &generic_ref); - ret = btrfs_add_delayed_tree_ref(trans, &generic_ref, - extent_op, NULL, NULL); + ret = btrfs_add_delayed_tree_ref(trans, &generic_ref, extent_op); if (ret) goto out_free_delayed; } @@ -5298,7 +5363,14 @@ goto out; } - trans = btrfs_start_transaction(tree_root, 0); + /* + * Use join to avoid potential EINTR from transaction start. See + * wait_reserve_ticket and the whole reservation callchain. + */ + if (for_reloc) + trans = btrfs_join_transaction(tree_root); + else + trans = btrfs_start_transaction(tree_root, 0); if (IS_ERR(trans)) { err = PTR_ERR(trans); goto out_free; @@ -5430,7 +5502,15 @@ goto out_free; } - trans = btrfs_start_transaction(tree_root, 0); + /* + * Use join to avoid potential EINTR from transaction + * start. See wait_reserve_ticket and the whole + * reservation callchain. + */ + if (for_reloc) + trans = btrfs_join_transaction(tree_root); + else + trans = btrfs_start_transaction(tree_root, 0); if (IS_ERR(trans)) { err = PTR_ERR(trans); goto out_free; @@ -5466,6 +5546,14 @@ } } + /* + * This subvolume is going to be completely dropped, and won't be + * recorded as dirty roots, thus pertrans meta rsv will not be freed at + * commit transaction time. So free it here manually. + */ + btrfs_qgroup_convert_reserved_meta(root, INT_MAX); + btrfs_qgroup_free_meta_all_pertrans(root); + if (test_bit(BTRFS_ROOT_IN_RADIX, &root->state)) btrfs_add_dropped_root(trans, root); else @@ -5653,6 +5741,19 @@ &start, &end, CHUNK_TRIMMED | CHUNK_ALLOCATED); + /* Check if there are any CHUNK_* bits left */ + if (start > device->total_bytes) { + WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG)); + btrfs_warn_in_rcu(fs_info, +"ignoring attempt to trim beyond device size: offset %llu length %llu device %s device size %llu", + start, end - start + 1, + rcu_str_deref(device->name), + device->total_bytes); + mutex_unlock(&fs_info->chunk_mutex); + ret = 0; + break; + } + /* Ensure we skip the reserved area in the first 1M */ start = max_t(u64, start, SZ_1M); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/extent_io.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/extent_io.c @@ -676,9 +676,7 @@ static void extent_io_tree_panic(struct extent_io_tree *tree, int err) { - struct inode *inode = tree->private_data; - - btrfs_panic(btrfs_sb(inode->i_sb), err, + btrfs_panic(tree->fs_info, err, "locking error: extent tree was modified by another thread while locked"); } @@ -4127,7 +4125,7 @@ if (!test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) { ret = flush_write_bio(&epd); } else { - ret = -EUCLEAN; + ret = -EROFS; end_write_bio(&epd, ret); } return ret; @@ -4502,20 +4500,32 @@ free_extent_map(em); break; } - if (!test_range_bit(tree, em->start, - extent_map_end(em) - 1, - EXTENT_LOCKED, 0, NULL)) { + if (test_range_bit(tree, em->start, + extent_map_end(em) - 1, + EXTENT_LOCKED, 0, NULL)) + goto next; + /* + * If it's not in the list of modified extents, used + * by a fast fsync, we can remove it. If it's being + * logged we can safely remove it since fsync took an + * extra reference on the em. + */ + if (list_empty(&em->list) || + test_bit(EXTENT_FLAG_LOGGING, &em->flags)) { set_bit(BTRFS_INODE_NEEDS_FULL_SYNC, &btrfs_inode->runtime_flags); remove_extent_mapping(map, em); /* once for the rb tree */ free_extent_map(em); } +next: start = extent_map_end(em); write_unlock(&map->lock); /* once for us */ free_extent_map(em); + + cond_resched(); /* Allow large-extent preemption. */ } } return try_release_extent_state(tree, page, mask); @@ -5595,6 +5605,36 @@ return ret; } +static bool report_eb_range(const struct extent_buffer *eb, unsigned long start, + unsigned long len) +{ + btrfs_warn(eb->fs_info, + "access to eb bytenr %llu len %lu out of range start %lu len %lu", + eb->start, eb->len, start, len); + WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG)); + + return true; +} + +/* + * Check if the [start, start + len) range is valid before reading/writing + * the eb. + * NOTE: @start and @len are offset inside the eb, not logical address. + * + * Caller should not touch the dst/src memory if this function returns error. + */ +static inline int check_eb_range(const struct extent_buffer *eb, + unsigned long start, unsigned long len) +{ + unsigned long offset; + + /* start, start + len should not go beyond eb->len nor overflow */ + if (unlikely(check_add_overflow(start, len, &offset) || offset > eb->len)) + return report_eb_range(eb, start, len); + + return false; +} + void read_extent_buffer(const struct extent_buffer *eb, void *dstv, unsigned long start, unsigned long len) { @@ -5605,12 +5645,8 @@ char *dst = (char *)dstv; unsigned long i = start >> PAGE_SHIFT; - if (start + len > eb->len) { - WARN(1, KERN_ERR "btrfs bad mapping eb start %llu len %lu, wanted %lu %lu\n", - eb->start, eb->len, start, len); - memset(dst, 0, len); + if (check_eb_range(eb, start, len)) return; - } offset = offset_in_page(start); @@ -5628,9 +5664,9 @@ } } -int read_extent_buffer_to_user(const struct extent_buffer *eb, - void __user *dstv, - unsigned long start, unsigned long len) +int read_extent_buffer_to_user_nofault(const struct extent_buffer *eb, + void __user *dstv, + unsigned long start, unsigned long len) { size_t cur; size_t offset; @@ -5650,7 +5686,7 @@ cur = min(len, (PAGE_SIZE - offset)); kaddr = page_address(page); - if (copy_to_user(dst, kaddr + offset, cur)) { + if (copy_to_user_nofault(dst, kaddr + offset, cur)) { ret = -EFAULT; break; } @@ -5675,8 +5711,8 @@ unsigned long i = start >> PAGE_SHIFT; int ret = 0; - WARN_ON(start > eb->len); - WARN_ON(start + len > eb->start + eb->len); + if (check_eb_range(eb, start, len)) + return -EINVAL; offset = offset_in_page(start); @@ -5729,8 +5765,8 @@ char *src = (char *)srcv; unsigned long i = start >> PAGE_SHIFT; - WARN_ON(start > eb->len); - WARN_ON(start + len > eb->start + eb->len); + if (check_eb_range(eb, start, len)) + return; offset = offset_in_page(start); @@ -5758,8 +5794,8 @@ char *kaddr; unsigned long i = start >> PAGE_SHIFT; - WARN_ON(start > eb->len); - WARN_ON(start + len > eb->start + eb->len); + if (check_eb_range(eb, start, len)) + return; offset = offset_in_page(start); @@ -5803,6 +5839,10 @@ char *kaddr; unsigned long i = dst_offset >> PAGE_SHIFT; + if (check_eb_range(dst, dst_offset, len) || + check_eb_range(src, src_offset, len)) + return; + WARN_ON(src->len != dst_len); offset = offset_in_page(dst_offset); @@ -5992,25 +6032,15 @@ unsigned long dst_offset, unsigned long src_offset, unsigned long len) { - struct btrfs_fs_info *fs_info = dst->fs_info; size_t cur; size_t dst_off_in_page; size_t src_off_in_page; unsigned long dst_i; unsigned long src_i; - if (src_offset + len > dst->len) { - btrfs_err(fs_info, - "memmove bogus src_offset %lu move len %lu dst len %lu", - src_offset, len, dst->len); - BUG(); - } - if (dst_offset + len > dst->len) { - btrfs_err(fs_info, - "memmove bogus dst_offset %lu move len %lu dst len %lu", - dst_offset, len, dst->len); - BUG(); - } + if (check_eb_range(dst, dst_offset, len) || + check_eb_range(dst, src_offset, len)) + return; while (len > 0) { dst_off_in_page = offset_in_page(dst_offset); @@ -6037,7 +6067,6 @@ unsigned long dst_offset, unsigned long src_offset, unsigned long len) { - struct btrfs_fs_info *fs_info = dst->fs_info; size_t cur; size_t dst_off_in_page; size_t src_off_in_page; @@ -6046,18 +6075,9 @@ unsigned long dst_i; unsigned long src_i; - if (src_offset + len > dst->len) { - btrfs_err(fs_info, - "memmove bogus src_offset %lu move len %lu len %lu", - src_offset, len, dst->len); - BUG(); - } - if (dst_offset + len > dst->len) { - btrfs_err(fs_info, - "memmove bogus dst_offset %lu move len %lu len %lu", - dst_offset, len, dst->len); - BUG(); - } + if (check_eb_range(dst, dst_offset, len) || + check_eb_range(dst, src_offset, len)) + return; if (dst_offset < src_offset) { memcpy_extent_buffer(dst, dst_offset, src_offset, len); return; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/extent_io.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/extent_io.h @@ -241,9 +241,9 @@ void read_extent_buffer(const struct extent_buffer *eb, void *dst, unsigned long start, unsigned long len); -int read_extent_buffer_to_user(const struct extent_buffer *eb, - void __user *dst, unsigned long start, - unsigned long len); +int read_extent_buffer_to_user_nofault(const struct extent_buffer *eb, + void __user *dst, unsigned long start, + unsigned long len); void write_extent_buffer_fsid(const struct extent_buffer *eb, const void *src); void write_extent_buffer_chunk_tree_uuid(const struct extent_buffer *eb, const void *src); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/file.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/file.c @@ -1532,8 +1532,8 @@ return ret; } -static noinline int check_can_nocow(struct btrfs_inode *inode, loff_t pos, - size_t *write_bytes, bool nowait) +int btrfs_check_can_nocow(struct btrfs_inode *inode, loff_t pos, + size_t *write_bytes, bool nowait) { struct btrfs_fs_info *fs_info = inode->root->fs_info; struct btrfs_root *root = inode->root; @@ -1568,7 +1568,7 @@ } ret = can_nocow_extent(&inode->vfs_inode, lockstart, &num_bytes, - NULL, NULL, NULL); + NULL, NULL, NULL, false); if (ret <= 0) { ret = 0; if (!nowait) @@ -1648,8 +1648,8 @@ if (ret < 0) { if ((BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | BTRFS_INODE_PREALLOC)) && - check_can_nocow(BTRFS_I(inode), pos, - &write_bytes, false) > 0) { + btrfs_check_can_nocow(BTRFS_I(inode), pos, + &write_bytes, false) > 0) { /* * For nodata cow case, no need to reserve * data space. @@ -1928,8 +1928,8 @@ */ if (!(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | BTRFS_INODE_PREALLOC)) || - check_can_nocow(BTRFS_I(inode), pos, &nocow_bytes, - true) <= 0) { + btrfs_check_can_nocow(BTRFS_I(inode), pos, &nocow_bytes, + true) <= 0) { inode_unlock(inode); return -EAGAIN; } @@ -3176,14 +3176,17 @@ if (ret < 0) goto out; space_reserved = true; - ret = btrfs_qgroup_reserve_data(inode, &data_reserved, - alloc_start, bytes_to_reserve); - if (ret) - goto out; ret = btrfs_punch_hole_lock_range(inode, lockstart, lockend, &cached_state); if (ret) goto out; + ret = btrfs_qgroup_reserve_data(inode, &data_reserved, + alloc_start, bytes_to_reserve); + if (ret) { + unlock_extent_cached(&BTRFS_I(inode)->io_tree, lockstart, + lockend, &cached_state); + goto out; + } ret = btrfs_prealloc_file_range(inode, mode, alloc_start, alloc_end - alloc_start, i_blocksize(inode), --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/free-space-cache.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/free-space-cache.c @@ -747,8 +747,10 @@ while (num_entries) { e = kmem_cache_zalloc(btrfs_free_space_cachep, GFP_NOFS); - if (!e) + if (!e) { + ret = -ENOMEM; goto free_cache; + } ret = io_ctl_read_entry(&io_ctl, e, &type); if (ret) { @@ -767,6 +769,7 @@ e->trim_state = BTRFS_TRIM_STATE_TRIMMED; if (!e->bytes) { + ret = -1; kmem_cache_free(btrfs_free_space_cachep, e); goto free_cache; } @@ -787,6 +790,7 @@ e->bitmap = kmem_cache_zalloc( btrfs_free_space_bitmap_cachep, GFP_NOFS); if (!e->bitmap) { + ret = -ENOMEM; kmem_cache_free( btrfs_free_space_cachep, e); goto free_cache; @@ -1186,7 +1190,6 @@ ret = update_cache_item(trans, root, inode, path, offset, io_ctl->entries, io_ctl->bitmaps); out: - io_ctl_free(io_ctl); if (ret) { invalidate_inode_pages2(inode->i_mapping); BTRFS_I(inode)->generation = 0; @@ -1346,6 +1349,7 @@ * them out later */ io_ctl_drop_pages(io_ctl); + io_ctl_free(io_ctl); unlock_extent_cached(&BTRFS_I(inode)->io_tree, 0, i_size_read(inode) - 1, &cached_state); @@ -2281,7 +2285,7 @@ static bool try_merge_free_space(struct btrfs_free_space_ctl *ctl, struct btrfs_free_space *info, bool update_stat) { - struct btrfs_free_space *left_info; + struct btrfs_free_space *left_info = NULL; struct btrfs_free_space *right_info; bool merged = false; u64 offset = info->offset; @@ -2297,7 +2301,7 @@ if (right_info && rb_prev(&right_info->offset_index)) left_info = rb_entry(rb_prev(&right_info->offset_index), struct btrfs_free_space, offset_index); - else + else if (!right_info) left_info = tree_search_offset(ctl, offset - 1, 0, 0); /* See try_merge_free_space() comment. */ @@ -2713,8 +2717,10 @@ struct rb_node *node; spin_lock(&cluster->lock); - if (cluster->block_group != block_group) - goto out; + if (cluster->block_group != block_group) { + spin_unlock(&cluster->lock); + return 0; + } cluster->block_group = NULL; cluster->window_start = 0; @@ -2752,8 +2758,6 @@ entry->offset, &entry->offset_index, bitmap); } cluster->root = RB_ROOT; - -out: spin_unlock(&cluster->lock); btrfs_put_block_group(block_group); return 0; @@ -3036,8 +3040,6 @@ entry->bytes -= bytes; } - if (entry->bytes == 0) - rb_erase(&entry->offset_index, &cluster->root); break; } out: @@ -3054,7 +3056,10 @@ ctl->free_space -= bytes; if (!entry->bitmap && !btrfs_free_space_trimmed(entry)) ctl->discardable_bytes[BTRFS_STAT_CURR] -= bytes; + + spin_lock(&cluster->lock); if (entry->bytes == 0) { + rb_erase(&entry->offset_index, &cluster->root); ctl->free_extents--; if (entry->bitmap) { kmem_cache_free(btrfs_free_space_bitmap_cachep, @@ -3067,6 +3072,7 @@ kmem_cache_free(btrfs_free_space_cachep, entry); } + spin_unlock(&cluster->lock); spin_unlock(&ctl->tree_lock); return ret; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/free-space-tree.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/free-space-tree.c @@ -22,6 +22,10 @@ size_t bitmap_size; u64 num_bitmaps, total_bitmap_size; + if (WARN_ON(cache->length == 0)) + btrfs_warn(cache->fs_info, "block group %llu length is zero", + cache->start); + /* * We convert to bitmaps when the disk space required for using extents * exceeds that required for using bitmaps. @@ -1148,6 +1152,7 @@ return PTR_ERR(trans); set_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); + set_bit(BTRFS_FS_FREE_SPACE_TREE_UNTRUSTED, &fs_info->flags); free_space_root = btrfs_create_tree(trans, BTRFS_FREE_SPACE_TREE_OBJECTID); if (IS_ERR(free_space_root)) { @@ -1169,11 +1174,18 @@ btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE); btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID); clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); + ret = btrfs_commit_transaction(trans); - return btrfs_commit_transaction(trans); + /* + * Now that we've committed the transaction any reading of our commit + * root will be safe, so we can cache from the free space tree now. + */ + clear_bit(BTRFS_FS_FREE_SPACE_TREE_UNTRUSTED, &fs_info->flags); + return ret; abort: clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags); + clear_bit(BTRFS_FS_FREE_SPACE_TREE_UNTRUSTED, &fs_info->flags); btrfs_abort_transaction(trans, ret); btrfs_end_transaction(trans); return ret; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/inode.c @@ -650,12 +650,18 @@ page_error_op | PAGE_END_WRITEBACK); - for (i = 0; i < nr_pages; i++) { - WARN_ON(pages[i]->mapping); - put_page(pages[i]); + /* + * Ensure we only free the compressed pages if we have + * them allocated, as we can still reach here with + * inode_need_compress() == false. + */ + if (pages) { + for (i = 0; i < nr_pages; i++) { + WARN_ON(pages[i]->mapping); + put_page(pages[i]); + } + kfree(pages); } - kfree(pages); - return 0; } } @@ -1605,7 +1611,7 @@ goto out_check; ret = btrfs_cross_ref_exist(root, ino, found_key.offset - - extent_offset, disk_bytenr); + extent_offset, disk_bytenr, false); if (ret) { /* * ret could be -EIO if the above fails to read @@ -4041,6 +4047,8 @@ } } + free_anon_bdev(dest->anon_dev); + dest->anon_dev = 0; out_end_trans: trans->block_rsv = NULL; trans->bytes_reserved = 0; @@ -4049,7 +4057,7 @@ err = ret; inode->i_flags |= S_DEAD; out_release: - btrfs_subvolume_release_metadata(fs_info, &block_rsv); + btrfs_subvolume_release_metadata(root, &block_rsv); out_up_write: up_write(&fs_info->subvol_sem); if (err) { @@ -4511,11 +4519,13 @@ struct extent_state *cached_state = NULL; struct extent_changeset *data_reserved = NULL; char *kaddr; + bool only_release_metadata = false; u32 blocksize = fs_info->sectorsize; pgoff_t index = from >> PAGE_SHIFT; unsigned offset = from & (blocksize - 1); struct page *page; gfp_t mask = btrfs_alloc_write_mask(mapping); + size_t write_bytes = blocksize; int ret = 0; u64 block_start; u64 block_end; @@ -4527,11 +4537,27 @@ block_start = round_down(from, blocksize); block_end = block_start + blocksize - 1; - ret = btrfs_delalloc_reserve_space(inode, &data_reserved, - block_start, blocksize); - if (ret) - goto out; + ret = btrfs_check_data_free_space(inode, &data_reserved, block_start, + blocksize); + if (ret < 0) { + if ((BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW | + BTRFS_INODE_PREALLOC)) && + btrfs_check_can_nocow(BTRFS_I(inode), block_start, + &write_bytes, false) > 0) { + /* For nocow case, no need to reserve data space */ + only_release_metadata = true; + } else { + goto out; + } + } + ret = btrfs_delalloc_reserve_metadata(BTRFS_I(inode), blocksize); + if (ret < 0) { + if (!only_release_metadata) + btrfs_free_reserved_data_space(inode, data_reserved, + block_start, blocksize); + goto out; + } again: page = find_or_create_page(mapping, index, mask); if (!page) { @@ -4600,14 +4626,26 @@ set_page_dirty(page); unlock_extent_cached(io_tree, block_start, block_end, &cached_state); + if (only_release_metadata) + set_extent_bit(&BTRFS_I(inode)->io_tree, block_start, + block_end, EXTENT_NORESERVE, NULL, NULL, + GFP_NOFS); + out_unlock: - if (ret) - btrfs_delalloc_release_space(inode, data_reserved, block_start, - blocksize, true); + if (ret) { + if (only_release_metadata) + btrfs_delalloc_release_metadata(BTRFS_I(inode), + blocksize, true); + else + btrfs_delalloc_release_space(inode, data_reserved, + block_start, blocksize, true); + } btrfs_delalloc_release_extents(BTRFS_I(inode), blocksize); unlock_page(page); put_page(page); out: + if (only_release_metadata) + btrfs_drew_write_unlock(&BTRFS_I(inode)->root->snapshot_lock); extent_changeset_free(data_reserved); return ret; } @@ -6595,7 +6633,7 @@ extent_type == BTRFS_FILE_EXTENT_PREALLOC) { /* Only regular file could have regular/prealloc extent */ if (!S_ISREG(inode->vfs_inode.i_mode)) { - ret = -EUCLEAN; + err = -EUCLEAN; btrfs_crit(fs_info, "regular/prealloc extent found for non-regular inode %llu", btrfs_ino(inode)); @@ -6919,7 +6957,7 @@ */ noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len, u64 *orig_start, u64 *orig_block_len, - u64 *ram_bytes) + u64 *ram_bytes, bool strict) { struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); struct btrfs_path *path; @@ -6997,8 +7035,9 @@ * Do the same check as in btrfs_cross_ref_exist but without the * unnecessary search. */ - if (btrfs_file_extent_generation(leaf, fi) <= - btrfs_root_last_snapshot(&root->root_item)) + if (!strict && + (btrfs_file_extent_generation(leaf, fi) <= + btrfs_root_last_snapshot(&root->root_item))) goto out; backref_offset = btrfs_file_extent_offset(leaf, fi); @@ -7034,7 +7073,8 @@ */ ret = btrfs_cross_ref_exist(root, btrfs_ino(BTRFS_I(inode)), - key.offset - backref_offset, disk_bytenr); + key.offset - backref_offset, disk_bytenr, + strict); if (ret) { ret = 0; goto out; @@ -7255,7 +7295,7 @@ block_start = em->block_start + (start - em->start); if (can_nocow_extent(inode, start, &len, &orig_start, - &orig_block_len, &ram_bytes) == 1 && + &orig_block_len, &ram_bytes, false) == 1 && btrfs_inc_nocow_writers(fs_info, block_start)) { struct extent_map *em2; @@ -8070,8 +8110,9 @@ if (!inode_evicting) lock_extent_bits(tree, page_start, page_end, &cached_state); -again: + start = page_start; +again: ordered = btrfs_lookup_ordered_range(BTRFS_I(inode), start, page_end - start + 1); if (ordered) { @@ -8602,7 +8643,7 @@ btrfs_put_ordered_extent(ordered); } } - btrfs_qgroup_check_reserved_leak(inode); + btrfs_qgroup_check_reserved_leak(BTRFS_I(inode)); inode_tree_del(inode); btrfs_drop_extent_cache(BTRFS_I(inode), 0, (u64)-1, 0); btrfs_inode_clear_file_extent_range(BTRFS_I(inode), 0, (u64)-1); @@ -8673,7 +8714,7 @@ btrfs_free_space_bitmap_cachep = kmem_cache_create("btrfs_free_space_bitmap", PAGE_SIZE, PAGE_SIZE, - SLAB_RED_ZONE, NULL); + SLAB_MEM_SPREAD, NULL); if (!btrfs_free_space_bitmap_cachep) goto fail; @@ -9863,6 +9904,7 @@ sp->ptr = ptr; sp->inode = inode; sp->is_block_group = is_block_group; + sp->bg_extent_count = 1; spin_lock(&fs_info->swapfile_pins_lock); p = &fs_info->swapfile_pins.rb_node; @@ -9876,6 +9918,8 @@ (sp->ptr == entry->ptr && sp->inode > entry->inode)) { p = &(*p)->rb_right; } else { + if (is_block_group) + entry->bg_extent_count++; spin_unlock(&fs_info->swapfile_pins_lock); kfree(sp); return 1; @@ -9901,8 +9945,11 @@ sp = rb_entry(node, struct btrfs_swapfile_pin, node); if (sp->inode == inode) { rb_erase(&sp->node, &fs_info->swapfile_pins); - if (sp->is_block_group) + if (sp->is_block_group) { + btrfs_dec_block_group_swap_extents(sp->ptr, + sp->bg_extent_count); btrfs_put_block_group(sp->ptr); + } kfree(sp); } node = next; @@ -10065,7 +10112,7 @@ free_extent_map(em); em = NULL; - ret = can_nocow_extent(inode, start, &len, NULL, NULL, NULL); + ret = can_nocow_extent(inode, start, &len, NULL, NULL, NULL, true); if (ret < 0) { goto out; } else if (ret) { @@ -10116,6 +10163,17 @@ ret = -EINVAL; goto out; } + + if (!btrfs_inc_block_group_swap_extents(bg)) { + btrfs_warn(fs_info, + "block group for swapfile at %llu is read-only%s", + bg->start, + atomic_read(&fs_info->scrubs_running) ? + " (scrub running)" : ""); + btrfs_put_block_group(bg); + ret = -EINVAL; + goto out; + } ret = btrfs_add_swapfile_pin(inode, bg, true); if (ret) { --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/ioctl.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/ioctl.c @@ -164,8 +164,11 @@ return 0; } -/* Check if @flags are a supported and valid set of FS_*_FL flags */ -static int check_fsflags(unsigned int flags) +/* + * Check if @flags are a supported and valid set of FS_*_FL flags and that + * the old and new flags are not conflicting + */ +static int check_fsflags(unsigned int old_flags, unsigned int flags) { if (flags & ~(FS_IMMUTABLE_FL | FS_APPEND_FL | \ FS_NOATIME_FL | FS_NODUMP_FL | \ @@ -174,9 +177,19 @@ FS_NOCOW_FL)) return -EOPNOTSUPP; + /* COMPR and NOCOMP on new/old are valid */ if ((flags & FS_NOCOMP_FL) && (flags & FS_COMPR_FL)) return -EINVAL; + if ((flags & FS_COMPR_FL) && (flags & FS_NOCOW_FL)) + return -EINVAL; + + /* NOCOW and compression options are mutually exclusive */ + if ((old_flags & FS_NOCOW_FL) && (flags & (FS_COMPR_FL | FS_NOCOMP_FL))) + return -EINVAL; + if ((flags & FS_NOCOW_FL) && (old_flags & (FS_COMPR_FL | FS_NOCOMP_FL))) + return -EINVAL; + return 0; } @@ -190,7 +203,7 @@ unsigned int fsflags, old_fsflags; int ret; const char *comp = NULL; - u32 binode_flags = binode->flags; + u32 binode_flags; if (!inode_owner_or_capable(inode)) return -EPERM; @@ -201,22 +214,23 @@ if (copy_from_user(&fsflags, arg, sizeof(fsflags))) return -EFAULT; - ret = check_fsflags(fsflags); - if (ret) - return ret; - ret = mnt_want_write_file(file); if (ret) return ret; inode_lock(inode); - fsflags = btrfs_mask_fsflags_for_type(inode, fsflags); old_fsflags = btrfs_inode_flags_to_fsflags(binode->flags); + ret = vfs_ioc_setflags_prepare(inode, old_fsflags, fsflags); if (ret) goto out_unlock; + ret = check_fsflags(old_fsflags, fsflags); + if (ret) + goto out_unlock; + + binode_flags = binode->flags; if (fsflags & FS_SYNC_FL) binode_flags |= BTRFS_INODE_SYNC; else @@ -566,6 +580,7 @@ struct inode *inode; int ret; int err; + dev_t anon_dev = 0; u64 objectid; u64 new_dirid = BTRFS_FIRST_FREE_OBJECTID; u64 index = 0; @@ -578,6 +593,10 @@ if (ret) goto fail_free; + ret = get_anon_bdev(&anon_dev); + if (ret < 0) + goto fail_free; + /* * Don't create subvolume whose level is not zero. Or qgroup will be * screwed up since it assumes subvolume qgroup's level to be 0. @@ -599,7 +618,7 @@ trans = btrfs_start_transaction(root, 0); if (IS_ERR(trans)) { ret = PTR_ERR(trans); - btrfs_subvolume_release_metadata(fs_info, &block_rsv); + btrfs_subvolume_release_metadata(root, &block_rsv); goto fail_free; } trans->block_rsv = &block_rsv; @@ -660,12 +679,15 @@ goto fail; key.offset = (u64)-1; - new_root = btrfs_get_fs_root(fs_info, objectid, true); + new_root = btrfs_get_new_fs_root(fs_info, objectid, anon_dev); if (IS_ERR(new_root)) { + free_anon_bdev(anon_dev); ret = PTR_ERR(new_root); btrfs_abort_transaction(trans, ret); goto fail; } + /* Freeing will be done in btrfs_put_root() of new_root */ + anon_dev = 0; btrfs_record_root_in_trans(trans, new_root); @@ -720,7 +742,7 @@ kfree(root_item); trans->block_rsv = NULL; trans->bytes_reserved = 0; - btrfs_subvolume_release_metadata(fs_info, &block_rsv); + btrfs_subvolume_release_metadata(root, &block_rsv); err = btrfs_commit_transaction(trans); if (err && !ret) @@ -735,6 +757,8 @@ return ret; fail_free: + if (anon_dev) + free_anon_bdev(anon_dev); kfree(root_item); return ret; } @@ -762,6 +786,9 @@ if (!pending_snapshot) return -ENOMEM; + ret = get_anon_bdev(&pending_snapshot->anon_dev); + if (ret < 0) + goto free_pending; pending_snapshot->root_item = kzalloc(sizeof(struct btrfs_root_item), GFP_KERNEL); pending_snapshot->path = btrfs_alloc_path(); @@ -823,10 +850,16 @@ d_instantiate(dentry, inode); ret = 0; + pending_snapshot->anon_dev = 0; fail: + /* Prevent double freeing of anon_dev */ + if (ret && pending_snapshot->snap) + pending_snapshot->snap->anon_dev = 0; btrfs_put_root(pending_snapshot->snap); - btrfs_subvolume_release_metadata(fs_info, &pending_snapshot->block_rsv); + btrfs_subvolume_release_metadata(root, &pending_snapshot->block_rsv); free_pending: + if (pending_snapshot->anon_dev) + free_anon_bdev(pending_snapshot->anon_dev); kfree(pending_snapshot->root_item); btrfs_free_path(pending_snapshot->path); kfree(pending_snapshot); @@ -1228,6 +1261,8 @@ u64 page_start; u64 page_end; u64 page_cnt; + u64 start = (u64)start_index << PAGE_SHIFT; + u64 search_start; int ret; int i; int i_done; @@ -1244,8 +1279,7 @@ page_cnt = min_t(u64, (u64)num_pages, (u64)file_end - start_index + 1); ret = btrfs_delalloc_reserve_space(inode, &data_reserved, - start_index << PAGE_SHIFT, - page_cnt << PAGE_SHIFT); + start, page_cnt << PAGE_SHIFT); if (ret) return ret; i_done = 0; @@ -1325,6 +1359,40 @@ lock_extent_bits(&BTRFS_I(inode)->io_tree, page_start, page_end - 1, &cached_state); + + /* + * When defragmenting we skip ranges that have holes or inline extents, + * (check should_defrag_range()), to avoid unnecessary IO and wasting + * space. At btrfs_defrag_file(), we check if a range should be defragged + * before locking the inode and then, if it should, we trigger a sync + * page cache readahead - we lock the inode only after that to avoid + * blocking for too long other tasks that possibly want to operate on + * other file ranges. But before we were able to get the inode lock, + * some other task may have punched a hole in the range, or we may have + * now an inline extent, in which case we should not defrag. So check + * for that here, where we have the inode and the range locked, and bail + * out if that happened. + */ + search_start = page_start; + while (search_start < page_end) { + struct extent_map *em; + + em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, search_start, + page_end - search_start); + if (IS_ERR(em)) { + ret = PTR_ERR(em); + goto out_unlock_range; + } + if (em->block_start >= EXTENT_MAP_LAST_BYTE) { + free_extent_map(em); + /* Ok, 0 means we did not defrag anything */ + ret = 0; + goto out_unlock_range; + } + search_start = extent_map_end(em); + free_extent_map(em); + } + clear_extent_bit(&BTRFS_I(inode)->io_tree, page_start, page_end - 1, EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state); @@ -1334,8 +1402,7 @@ btrfs_mod_outstanding_extents(BTRFS_I(inode), 1); spin_unlock(&BTRFS_I(inode)->lock); btrfs_delalloc_release_space(inode, data_reserved, - start_index << PAGE_SHIFT, - (page_cnt - i_done) << PAGE_SHIFT, true); + start, (page_cnt - i_done) << PAGE_SHIFT, true); } @@ -1356,14 +1423,17 @@ btrfs_delalloc_release_extents(BTRFS_I(inode), page_cnt << PAGE_SHIFT); extent_changeset_free(data_reserved); return i_done; + +out_unlock_range: + unlock_extent_cached(&BTRFS_I(inode)->io_tree, + page_start, page_end - 1, &cached_state); out: for (i = 0; i < i_done; i++) { unlock_page(pages[i]); put_page(pages[i]); } btrfs_delalloc_release_space(inode, data_reserved, - start_index << PAGE_SHIFT, - page_cnt << PAGE_SHIFT, true); + start, page_cnt << PAGE_SHIFT, true); btrfs_delalloc_release_extents(BTRFS_I(inode), page_cnt << PAGE_SHIFT); extent_changeset_free(data_reserved); return ret; @@ -1831,7 +1901,10 @@ if (vol_args->flags & BTRFS_SUBVOL_RDONLY) readonly = true; if (vol_args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) { - if (vol_args->size > PAGE_SIZE) { + u64 nums; + + if (vol_args->size < sizeof(*inherit) || + vol_args->size > PAGE_SIZE) { ret = -EINVAL; goto free_args; } @@ -1840,6 +1913,20 @@ ret = PTR_ERR(inherit); goto free_args; } + + if (inherit->num_qgroups > PAGE_SIZE || + inherit->num_ref_copies > PAGE_SIZE || + inherit->num_excl_copies > PAGE_SIZE) { + ret = -EINVAL; + goto free_inherit; + } + + nums = inherit->num_qgroups + 2 * inherit->num_ref_copies + + 2 * inherit->num_excl_copies; + if (vol_args->size != struct_size(inherit, qgroups, nums)) { + ret = -EINVAL; + goto free_inherit; + } } ret = __btrfs_ioctl_snap_create(file, vol_args->name, vol_args->fd, @@ -2053,9 +2140,14 @@ sh.len = item_len; sh.transid = found_transid; - /* copy search result header */ - if (copy_to_user(ubuf + *sk_offset, &sh, sizeof(sh))) { - ret = -EFAULT; + /* + * Copy search result header. If we fault then loop again so we + * can fault in the pages and -EFAULT there if there's a + * problem. Otherwise we'll fault and then copy the buffer in + * properly this next time through + */ + if (copy_to_user_nofault(ubuf + *sk_offset, &sh, sizeof(sh))) { + ret = 0; goto out; } @@ -2063,10 +2155,14 @@ if (item_len) { char __user *up = ubuf + *sk_offset; - /* copy the item */ - if (read_extent_buffer_to_user(leaf, up, - item_off, item_len)) { - ret = -EFAULT; + /* + * Copy the item, same behavior as above, but reset the + * * sk_offset so we copy the full thing again. + */ + if (read_extent_buffer_to_user_nofault(leaf, up, + item_off, item_len)) { + ret = 0; + *sk_offset -= sizeof(sh); goto out; } @@ -2151,6 +2247,11 @@ key.offset = sk->min_offset; while (1) { + ret = fault_in_pages_writeable(ubuf + sk_offset, + *buf_size - sk_offset); + if (ret) + break; + ret = btrfs_search_forward(root, &key, path, sk->min_transid); if (ret != 0) { if (ret > 0) @@ -3198,11 +3299,15 @@ struct btrfs_ioctl_fs_info_args *fi_args; struct btrfs_device *device; struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; + u64 flags_in; int ret = 0; - fi_args = kzalloc(sizeof(*fi_args), GFP_KERNEL); - if (!fi_args) - return -ENOMEM; + fi_args = memdup_user(arg, sizeof(*fi_args)); + if (IS_ERR(fi_args)) + return PTR_ERR(fi_args); + + flags_in = fi_args->flags; + memset(fi_args, 0, sizeof(*fi_args)); rcu_read_lock(); fi_args->num_devices = fs_devices->num_devices; @@ -3218,6 +3323,12 @@ fi_args->sectorsize = fs_info->sectorsize; fi_args->clone_alignment = fs_info->sectorsize; + if (flags_in & BTRFS_FS_INFO_FLAG_CSUM_INFO) { + fi_args->csum_type = btrfs_super_csum_type(fs_info->super_copy); + fi_args->csum_size = btrfs_super_csum_size(fs_info->super_copy); + fi_args->flags |= BTRFS_FS_INFO_FLAG_CSUM_INFO; + } + if (copy_to_user(arg, fi_args, sizeof(*fi_args))) ret = -EFAULT; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/print-tree.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/print-tree.c @@ -95,9 +95,10 @@ * offset is supposed to be a tree block which * must be aligned to nodesize. */ - if (!IS_ALIGNED(offset, eb->fs_info->nodesize)) - pr_info("\t\t\t(parent %llu is NOT ALIGNED to nodesize %llu)\n", - offset, (unsigned long long)eb->fs_info->nodesize); + if (!IS_ALIGNED(offset, eb->fs_info->sectorsize)) + pr_info( + "\t\t\t(parent %llu not aligned to sectorsize %u)\n", + offset, eb->fs_info->sectorsize); break; case BTRFS_EXTENT_DATA_REF_KEY: dref = (struct btrfs_extent_data_ref *)(&iref->offset); @@ -112,8 +113,9 @@ * must be aligned to nodesize. */ if (!IS_ALIGNED(offset, eb->fs_info->nodesize)) - pr_info("\t\t\t(parent %llu is NOT ALIGNED to nodesize %llu)\n", - offset, (unsigned long long)eb->fs_info->nodesize); + pr_info( + "\t\t\t(parent %llu not aligned to sectorsize %u)\n", + offset, eb->fs_info->sectorsize); break; default: pr_cont("(extent %llu has INVALID ref type %d)\n", --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/qgroup.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/qgroup.c @@ -12,6 +12,7 @@ #include #include #include +#include #include "ctree.h" #include "transaction.h" @@ -488,13 +489,13 @@ break; } out: + btrfs_free_path(path); fs_info->qgroup_flags |= flags; if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON)) clear_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); else if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN && ret >= 0) ret = qgroup_rescan_init(fs_info, rescan_progress, 0); - btrfs_free_path(path); if (ret < 0) { ulist_free(fs_info->qgroup_ulist); @@ -887,6 +888,7 @@ struct btrfs_key found_key; struct btrfs_qgroup *qgroup = NULL; struct btrfs_trans_handle *trans = NULL; + struct ulist *ulist = NULL; int ret = 0; int slot; @@ -894,13 +896,28 @@ if (fs_info->quota_root) goto out; - fs_info->qgroup_ulist = ulist_alloc(GFP_KERNEL); - if (!fs_info->qgroup_ulist) { + ulist = ulist_alloc(GFP_KERNEL); + if (!ulist) { ret = -ENOMEM; goto out; } /* + * Unlock qgroup_ioctl_lock before starting the transaction. This is to + * avoid lock acquisition inversion problems (reported by lockdep) between + * qgroup_ioctl_lock and the vfs freeze semaphores, acquired when we + * start a transaction. + * After we started the transaction lock qgroup_ioctl_lock again and + * check if someone else created the quota root in the meanwhile. If so, + * just return success and release the transaction handle. + * + * Also we don't need to worry about someone else calling + * btrfs_sysfs_add_qgroups() after we unlock and getting an error because + * that function returns 0 (success) when the sysfs entries already exist. + */ + mutex_unlock(&fs_info->qgroup_ioctl_lock); + + /* * 1 for quota root item * 1 for BTRFS_QGROUP_STATUS item * @@ -909,12 +926,20 @@ * would be a lot of overkill. */ trans = btrfs_start_transaction(tree_root, 2); + + mutex_lock(&fs_info->qgroup_ioctl_lock); if (IS_ERR(trans)) { ret = PTR_ERR(trans); trans = NULL; goto out; } + if (fs_info->quota_root) + goto out; + + fs_info->qgroup_ulist = ulist; + ulist = NULL; + /* * initially create the quota tree */ @@ -974,6 +999,10 @@ btrfs_item_key_to_cpu(leaf, &found_key, slot); if (found_key.type == BTRFS_ROOT_REF_KEY) { + + /* Release locks on tree_root before we access quota_root */ + btrfs_release_path(path); + ret = add_qgroup_item(trans, quota_root, found_key.offset); if (ret) { @@ -987,6 +1016,20 @@ btrfs_abort_transaction(trans, ret); goto out_free_path; } + ret = btrfs_search_slot_for_read(tree_root, &found_key, + path, 1, 0); + if (ret < 0) { + btrfs_abort_transaction(trans, ret); + goto out_free_path; + } + if (ret > 0) { + /* + * Shouldn't happen, but in case it does we + * don't need to do the btrfs_next_item, just + * continue. + */ + continue; + } } ret = btrfs_next_item(tree_root, path); if (ret < 0) { @@ -1044,10 +1087,13 @@ if (ret) { ulist_free(fs_info->qgroup_ulist); fs_info->qgroup_ulist = NULL; - if (trans) - btrfs_end_transaction(trans); } mutex_unlock(&fs_info->qgroup_ioctl_lock); + if (ret && trans) + btrfs_end_transaction(trans); + else if (trans) + ret = btrfs_end_transaction(trans); + ulist_free(ulist); return ret; } @@ -1060,19 +1106,29 @@ mutex_lock(&fs_info->qgroup_ioctl_lock); if (!fs_info->quota_root) goto out; + mutex_unlock(&fs_info->qgroup_ioctl_lock); /* * 1 For the root item * * We should also reserve enough items for the quota tree deletion in * btrfs_clean_quota_tree but this is not done. + * + * Also, we must always start a transaction without holding the mutex + * qgroup_ioctl_lock, see btrfs_quota_enable(). */ trans = btrfs_start_transaction(fs_info->tree_root, 1); + + mutex_lock(&fs_info->qgroup_ioctl_lock); if (IS_ERR(trans)) { ret = PTR_ERR(trans); + trans = NULL; goto out; } + if (!fs_info->quota_root) + goto out; + clear_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags); btrfs_qgroup_wait_for_completion(fs_info, false); spin_lock(&fs_info->qgroup_lock); @@ -1086,13 +1142,13 @@ ret = btrfs_clean_quota_tree(trans, quota_root); if (ret) { btrfs_abort_transaction(trans, ret); - goto end_trans; + goto out; } ret = btrfs_del_root(trans, "a_root->root_key); if (ret) { btrfs_abort_transaction(trans, ret); - goto end_trans; + goto out; } list_del("a_root->dirty_list); @@ -1104,10 +1160,13 @@ btrfs_put_root(quota_root); -end_trans: - ret = btrfs_end_transaction(trans); out: mutex_unlock(&fs_info->qgroup_ioctl_lock); + if (ret && trans) + btrfs_end_transaction(trans); + else if (trans) + ret = btrfs_end_transaction(trans); + return ret; } @@ -1243,13 +1302,17 @@ struct btrfs_qgroup *member; struct btrfs_qgroup_list *list; struct ulist *tmp; + unsigned int nofs_flag; int ret = 0; /* Check the level of src and dst first */ if (btrfs_qgroup_level(src) >= btrfs_qgroup_level(dst)) return -EINVAL; + /* We hold a transaction handle open, must do a NOFS allocation. */ + nofs_flag = memalloc_nofs_save(); tmp = ulist_alloc(GFP_KERNEL); + memalloc_nofs_restore(nofs_flag); if (!tmp) return -ENOMEM; @@ -1306,10 +1369,14 @@ struct btrfs_qgroup_list *list; struct ulist *tmp; bool found = false; + unsigned int nofs_flag; int ret = 0; int ret2; + /* We hold a transaction handle open, must do a NOFS allocation. */ + nofs_flag = memalloc_nofs_save(); tmp = ulist_alloc(GFP_KERNEL); + memalloc_nofs_restore(nofs_flag); if (!tmp) return -ENOMEM; @@ -3126,6 +3193,12 @@ return ret; } +static bool rescan_should_stop(struct btrfs_fs_info *fs_info) +{ + return btrfs_fs_closing(fs_info) || + test_bit(BTRFS_FS_STATE_REMOUNTING, &fs_info->fs_state); +} + static void btrfs_qgroup_rescan_worker(struct btrfs_work *work) { struct btrfs_fs_info *fs_info = container_of(work, struct btrfs_fs_info, @@ -3134,6 +3207,7 @@ struct btrfs_trans_handle *trans = NULL; int err = -ENOMEM; int ret = 0; + bool stopped = false; path = btrfs_alloc_path(); if (!path) @@ -3146,7 +3220,7 @@ path->skip_locking = 1; err = 0; - while (!err && !btrfs_fs_closing(fs_info)) { + while (!err && !(stopped = rescan_should_stop(fs_info))) { trans = btrfs_start_transaction(fs_info->fs_root, 0); if (IS_ERR(trans)) { err = PTR_ERR(trans); @@ -3189,7 +3263,7 @@ } mutex_lock(&fs_info->qgroup_rescan_lock); - if (!btrfs_fs_closing(fs_info)) + if (!stopped) fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN; if (trans) { ret = update_qgroup_status_item(trans); @@ -3208,7 +3282,7 @@ btrfs_end_transaction(trans); - if (btrfs_fs_closing(fs_info)) { + if (stopped) { btrfs_info(fs_info, "qgroup scan paused"); } else if (err >= 0) { btrfs_info(fs_info, "qgroup scan completed%s", @@ -3742,7 +3816,7 @@ * Check qgroup reserved space leaking, normally at destroy inode * time */ -void btrfs_qgroup_check_reserved_leak(struct inode *inode) +void btrfs_qgroup_check_reserved_leak(struct btrfs_inode *inode) { struct extent_changeset changeset; struct ulist_node *unode; @@ -3750,19 +3824,19 @@ int ret; extent_changeset_init(&changeset); - ret = clear_record_extent_bits(&BTRFS_I(inode)->io_tree, 0, (u64)-1, + ret = clear_record_extent_bits(&inode->io_tree, 0, (u64)-1, EXTENT_QGROUP_RESERVED, &changeset); WARN_ON(ret < 0); if (WARN_ON(changeset.bytes_changed)) { ULIST_ITER_INIT(&iter); while ((unode = ulist_next(&changeset.range_changed, &iter))) { - btrfs_warn(BTRFS_I(inode)->root->fs_info, - "leaking qgroup reserved space, ino: %lu, start: %llu, end: %llu", - inode->i_ino, unode->val, unode->aux); + btrfs_warn(inode->root->fs_info, + "leaking qgroup reserved space, ino: %llu, start: %llu, end: %llu", + btrfs_ino(inode), unode->val, unode->aux); } - btrfs_qgroup_free_refroot(BTRFS_I(inode)->root->fs_info, - BTRFS_I(inode)->root->root_key.objectid, + btrfs_qgroup_free_refroot(inode->root->fs_info, + inode->root->root_key.objectid, changeset.bytes_changed, BTRFS_QGROUP_RSV_DATA); } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/qgroup.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/qgroup.h @@ -399,7 +399,7 @@ */ void btrfs_qgroup_convert_reserved_meta(struct btrfs_root *root, int num_bytes); -void btrfs_qgroup_check_reserved_leak(struct inode *inode); +void btrfs_qgroup_check_reserved_leak(struct btrfs_inode *inode); /* btrfs_qgroup_swapped_blocks related functions */ void btrfs_qgroup_init_swapped_blocks( --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/raid56.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/raid56.c @@ -2386,16 +2386,21 @@ SetPageUptodate(p_page); if (has_qstripe) { + /* RAID6, allocate and map temp space for the Q stripe */ q_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); if (!q_page) { __free_page(p_page); goto cleanup; } SetPageUptodate(q_page); + pointers[rbio->real_stripes - 1] = kmap(q_page); } atomic_set(&rbio->error, 0); + /* Map the parity stripe just once */ + pointers[nr_data] = kmap(p_page); + for_each_set_bit(pagenr, rbio->dbitmap, rbio->stripe_npages) { struct page *p; void *parity; @@ -2405,16 +2410,8 @@ pointers[stripe] = kmap(p); } - /* then add the parity stripe */ - pointers[stripe++] = kmap(p_page); - if (has_qstripe) { - /* - * raid6, add the qstripe and call the - * library function to fill in our p/q - */ - pointers[stripe++] = kmap(q_page); - + /* RAID6, call the library function to fill in our P/Q */ raid6_call.gen_syndrome(rbio->real_stripes, PAGE_SIZE, pointers); } else { @@ -2435,12 +2432,14 @@ for (stripe = 0; stripe < nr_data; stripe++) kunmap(page_in_rbio(rbio, stripe, pagenr, 0)); - kunmap(p_page); } + kunmap(p_page); __free_page(p_page); - if (q_page) + if (q_page) { + kunmap(q_page); __free_page(q_page); + } writeback: /* --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/reada.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/reada.c @@ -421,6 +421,9 @@ if (!dev->bdev) continue; + if (test_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state)) + continue; + if (dev_replace_is_ongoing && dev == fs_info->dev_replace.tgtdev) { /* @@ -445,6 +448,8 @@ } have_zone = 1; } + if (!have_zone) + radix_tree_delete(&fs_info->reada_tree, index); spin_unlock(&fs_info->reada_lock); up_read(&fs_info->dev_replace.rwsem); @@ -1012,3 +1017,45 @@ kref_put(&rc->refcnt, reada_control_release); } + +/* + * Before removing a device (device replace or device remove ioctls), call this + * function to wait for all existing readahead requests on the device and to + * make sure no one queues more readahead requests for the device. + * + * Must be called without holding neither the device list mutex nor the device + * replace semaphore, otherwise it will deadlock. + */ +void btrfs_reada_remove_dev(struct btrfs_device *dev) +{ + struct btrfs_fs_info *fs_info = dev->fs_info; + + /* Serialize with readahead extent creation at reada_find_extent(). */ + spin_lock(&fs_info->reada_lock); + set_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state); + spin_unlock(&fs_info->reada_lock); + + /* + * There might be readahead requests added to the radix trees which + * were not yet added to the readahead work queue. We need to start + * them and wait for their completion, otherwise we can end up with + * use-after-free problems when dropping the last reference on the + * readahead extents and their zones, as they need to access the + * device structure. + */ + reada_start_machine(fs_info); + btrfs_flush_workqueue(fs_info->readahead_workers); +} + +/* + * If when removing a device (device replace or device remove ioctls) an error + * happens after calling btrfs_reada_remove_dev(), call this to undo what that + * function did. This is safe to call even if btrfs_reada_remove_dev() was not + * called before. + */ +void btrfs_reada_undo_remove_dev(struct btrfs_device *dev) +{ + spin_lock(&dev->fs_info->reada_lock); + clear_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state); + spin_unlock(&dev->fs_info->reada_lock); +} --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/ref-verify.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/ref-verify.c @@ -286,6 +286,8 @@ exist_re = insert_root_entry(&exist->roots, re); if (exist_re) kfree(re); + } else { + kfree(re); } kfree(be); return exist; @@ -858,6 +860,7 @@ "dropping a ref for a root that doesn't have a ref on the block"); dump_block_entry(fs_info, be); dump_ref_action(fs_info, ra); + kfree(ref); kfree(ra); goto out_unlock; } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/reflink.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/reflink.c @@ -504,6 +504,8 @@ ret = -EINTR; goto out; } + + cond_resched(); } ret = 0; @@ -517,6 +519,24 @@ btrfs_release_path(path); path->leave_spinning = 0; + /* + * When using NO_HOLES and we are cloning a range that covers + * only a hole (no extents) into a range beyond the current + * i_size, punching a hole in the target range will not create + * an extent map defining a hole, because the range starts at or + * beyond current i_size. If the file previously had an i_size + * greater than the new i_size set by this clone operation, we + * need to make sure the next fsync is a full fsync, so that it + * detects and logs a hole covering a range from the current + * i_size to the new i_size. If the clone range covers extents, + * besides a hole, then we know the full sync flag was already + * set by previous calls to btrfs_replace_file_extents() that + * replaced file extent items. + */ + if (last_dest_end >= i_size_read(inode)) + set_bit(BTRFS_INODE_NEEDS_FULL_SYNC, + &BTRFS_I(inode)->runtime_flags); + ret = btrfs_punch_hole_range(inode, path, last_dest_end, destoff + len - 1, NULL, &trans); if (ret) --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/relocation.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/relocation.c @@ -669,9 +669,7 @@ RB_CLEAR_NODE(&node->rb_node); } spin_unlock(&rc->reloc_root_tree.lock); - if (!node) - return; - BUG_ON((struct btrfs_root *)node->data != root); + ASSERT(!node || (struct btrfs_root *)node->data == root); } /* @@ -1646,6 +1644,7 @@ struct btrfs_root_item *root_item; struct btrfs_path *path; struct extent_buffer *leaf; + int reserve_level; int level; int max_level; int replaced = 0; @@ -1686,12 +1685,21 @@ btrfs_unlock_up_safe(path, 0); } - min_reserved = fs_info->nodesize * (BTRFS_MAX_LEVEL - 1) * 2; + /* + * In merge_reloc_root(), we modify the upper level pointer to swap the + * tree blocks between reloc tree and subvolume tree. Thus for tree + * block COW, we COW at most from level 1 to root level for each tree. + * + * Thus the needed metadata size is at most root_level * nodesize, + * and * 2 since we have two trees to COW. + */ + reserve_level = max_t(int, 1, btrfs_root_level(root_item)); + min_reserved = fs_info->nodesize * reserve_level * 2; memset(&next_key, 0, sizeof(next_key)); while (1) { ret = btrfs_block_rsv_refill(root, rc->block_rsv, min_reserved, - BTRFS_RESERVE_FLUSH_ALL); + BTRFS_RESERVE_FLUSH_LIMIT); if (ret) { err = ret; goto out; @@ -3021,11 +3029,16 @@ return 0; for (i = 0; i < btrfs_header_nritems(leaf); i++) { + u8 type; + btrfs_item_key_to_cpu(leaf, &key, i); if (key.type != BTRFS_EXTENT_DATA_KEY) continue; ei = btrfs_item_ptr(leaf, i, struct btrfs_file_extent_item); - if (btrfs_file_extent_type(leaf, ei) == BTRFS_FILE_EXTENT_REG && + type = btrfs_file_extent_type(leaf, ei); + + if ((type == BTRFS_FILE_EXTENT_REG || + type == BTRFS_FILE_EXTENT_PREALLOC) && btrfs_file_extent_disk_bytenr(leaf, ei) == data_bytenr) { found = true; space_cache_ino = key.objectid; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/root-tree.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/root-tree.c @@ -512,11 +512,20 @@ if (ret && qgroup_num_bytes) btrfs_qgroup_free_meta_prealloc(root, qgroup_num_bytes); + if (!ret) { + spin_lock(&rsv->lock); + rsv->qgroup_rsv_reserved += qgroup_num_bytes; + spin_unlock(&rsv->lock); + } return ret; } -void btrfs_subvolume_release_metadata(struct btrfs_fs_info *fs_info, +void btrfs_subvolume_release_metadata(struct btrfs_root *root, struct btrfs_block_rsv *rsv) { - btrfs_block_rsv_release(fs_info, rsv, (u64)-1, NULL); + struct btrfs_fs_info *fs_info = root->fs_info; + u64 qgroup_to_release; + + btrfs_block_rsv_release(fs_info, rsv, (u64)-1, &qgroup_to_release); + btrfs_qgroup_convert_reserved_meta(root, qgroup_to_release); } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/scrub.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/scrub.c @@ -3635,6 +3635,13 @@ * commit_transactions. */ ro_set = 0; + } else if (ret == -ETXTBSY) { + btrfs_warn(fs_info, + "skipping scrub of block group %llu due to active swapfile", + cache->start); + scrub_pause_off(fs_info); + ret = 0; + goto skip_unfreeze; } else { btrfs_warn(fs_info, "failed setting block group ro: %d", ret); @@ -3724,7 +3731,7 @@ } else { spin_unlock(&cache->lock); } - +skip_unfreeze: btrfs_unfreeze_block_group(cache); btrfs_put_block_group(cache); if (ret) @@ -3758,7 +3765,7 @@ struct btrfs_fs_info *fs_info = sctx->fs_info; if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state)) - return -EIO; + return -EROFS; /* Seed devices of a new filesystem has their own generation. */ if (scrub_dev->fs_devices != fs_info->fs_devices) @@ -3783,50 +3790,84 @@ return 0; } +static void scrub_workers_put(struct btrfs_fs_info *fs_info) +{ + if (refcount_dec_and_mutex_lock(&fs_info->scrub_workers_refcnt, + &fs_info->scrub_lock)) { + struct btrfs_workqueue *scrub_workers = NULL; + struct btrfs_workqueue *scrub_wr_comp = NULL; + struct btrfs_workqueue *scrub_parity = NULL; + + scrub_workers = fs_info->scrub_workers; + scrub_wr_comp = fs_info->scrub_wr_completion_workers; + scrub_parity = fs_info->scrub_parity_workers; + + fs_info->scrub_workers = NULL; + fs_info->scrub_wr_completion_workers = NULL; + fs_info->scrub_parity_workers = NULL; + mutex_unlock(&fs_info->scrub_lock); + + btrfs_destroy_workqueue(scrub_workers); + btrfs_destroy_workqueue(scrub_wr_comp); + btrfs_destroy_workqueue(scrub_parity); + } +} + /* * get a reference count on fs_info->scrub_workers. start worker if necessary */ static noinline_for_stack int scrub_workers_get(struct btrfs_fs_info *fs_info, int is_dev_replace) { + struct btrfs_workqueue *scrub_workers = NULL; + struct btrfs_workqueue *scrub_wr_comp = NULL; + struct btrfs_workqueue *scrub_parity = NULL; unsigned int flags = WQ_FREEZABLE | WQ_UNBOUND; int max_active = fs_info->thread_pool_size; + int ret = -ENOMEM; - lockdep_assert_held(&fs_info->scrub_lock); + if (refcount_inc_not_zero(&fs_info->scrub_workers_refcnt)) + return 0; - if (refcount_read(&fs_info->scrub_workers_refcnt) == 0) { - ASSERT(fs_info->scrub_workers == NULL); - fs_info->scrub_workers = btrfs_alloc_workqueue(fs_info, "scrub", - flags, is_dev_replace ? 1 : max_active, 4); - if (!fs_info->scrub_workers) - goto fail_scrub_workers; - - ASSERT(fs_info->scrub_wr_completion_workers == NULL); - fs_info->scrub_wr_completion_workers = - btrfs_alloc_workqueue(fs_info, "scrubwrc", flags, - max_active, 2); - if (!fs_info->scrub_wr_completion_workers) - goto fail_scrub_wr_completion_workers; + scrub_workers = btrfs_alloc_workqueue(fs_info, "scrub", flags, + is_dev_replace ? 1 : max_active, 4); + if (!scrub_workers) + goto fail_scrub_workers; - ASSERT(fs_info->scrub_parity_workers == NULL); - fs_info->scrub_parity_workers = - btrfs_alloc_workqueue(fs_info, "scrubparity", flags, + scrub_wr_comp = btrfs_alloc_workqueue(fs_info, "scrubwrc", flags, max_active, 2); - if (!fs_info->scrub_parity_workers) - goto fail_scrub_parity_workers; + if (!scrub_wr_comp) + goto fail_scrub_wr_completion_workers; + + scrub_parity = btrfs_alloc_workqueue(fs_info, "scrubparity", flags, + max_active, 2); + if (!scrub_parity) + goto fail_scrub_parity_workers; + mutex_lock(&fs_info->scrub_lock); + if (refcount_read(&fs_info->scrub_workers_refcnt) == 0) { + ASSERT(fs_info->scrub_workers == NULL && + fs_info->scrub_wr_completion_workers == NULL && + fs_info->scrub_parity_workers == NULL); + fs_info->scrub_workers = scrub_workers; + fs_info->scrub_wr_completion_workers = scrub_wr_comp; + fs_info->scrub_parity_workers = scrub_parity; refcount_set(&fs_info->scrub_workers_refcnt, 1); - } else { - refcount_inc(&fs_info->scrub_workers_refcnt); + mutex_unlock(&fs_info->scrub_lock); + return 0; } - return 0; + /* Other thread raced in and created the workers for us */ + refcount_inc(&fs_info->scrub_workers_refcnt); + mutex_unlock(&fs_info->scrub_lock); + ret = 0; + btrfs_destroy_workqueue(scrub_parity); fail_scrub_parity_workers: - btrfs_destroy_workqueue(fs_info->scrub_wr_completion_workers); + btrfs_destroy_workqueue(scrub_wr_comp); fail_scrub_wr_completion_workers: - btrfs_destroy_workqueue(fs_info->scrub_workers); + btrfs_destroy_workqueue(scrub_workers); fail_scrub_workers: - return -ENOMEM; + return ret; } int btrfs_scrub_dev(struct btrfs_fs_info *fs_info, u64 devid, u64 start, @@ -3837,9 +3878,6 @@ int ret; struct btrfs_device *dev; unsigned int nofs_flag; - struct btrfs_workqueue *scrub_workers = NULL; - struct btrfs_workqueue *scrub_wr_comp = NULL; - struct btrfs_workqueue *scrub_parity = NULL; if (btrfs_fs_closing(fs_info)) return -EAGAIN; @@ -3886,13 +3924,17 @@ if (IS_ERR(sctx)) return PTR_ERR(sctx); + ret = scrub_workers_get(fs_info, is_dev_replace); + if (ret) + goto out_free_ctx; + mutex_lock(&fs_info->fs_devices->device_list_mutex); dev = btrfs_find_device(fs_info->fs_devices, devid, NULL, NULL, true); if (!dev || (test_bit(BTRFS_DEV_STATE_MISSING, &dev->dev_state) && !is_dev_replace)) { mutex_unlock(&fs_info->fs_devices->device_list_mutex); ret = -ENODEV; - goto out_free_ctx; + goto out; } if (!is_dev_replace && !readonly && @@ -3901,7 +3943,7 @@ btrfs_err_in_rcu(fs_info, "scrub: device %s is not writable", rcu_str_deref(dev->name)); ret = -EROFS; - goto out_free_ctx; + goto out; } mutex_lock(&fs_info->scrub_lock); @@ -3910,7 +3952,7 @@ mutex_unlock(&fs_info->scrub_lock); mutex_unlock(&fs_info->fs_devices->device_list_mutex); ret = -EIO; - goto out_free_ctx; + goto out; } down_read(&fs_info->dev_replace.rwsem); @@ -3921,17 +3963,10 @@ mutex_unlock(&fs_info->scrub_lock); mutex_unlock(&fs_info->fs_devices->device_list_mutex); ret = -EINPROGRESS; - goto out_free_ctx; + goto out; } up_read(&fs_info->dev_replace.rwsem); - ret = scrub_workers_get(fs_info, is_dev_replace); - if (ret) { - mutex_unlock(&fs_info->scrub_lock); - mutex_unlock(&fs_info->fs_devices->device_list_mutex); - goto out_free_ctx; - } - sctx->readonly = readonly; dev->scrub_ctx = sctx; mutex_unlock(&fs_info->fs_devices->device_list_mutex); @@ -3984,24 +4019,14 @@ mutex_lock(&fs_info->scrub_lock); dev->scrub_ctx = NULL; - if (refcount_dec_and_test(&fs_info->scrub_workers_refcnt)) { - scrub_workers = fs_info->scrub_workers; - scrub_wr_comp = fs_info->scrub_wr_completion_workers; - scrub_parity = fs_info->scrub_parity_workers; - - fs_info->scrub_workers = NULL; - fs_info->scrub_wr_completion_workers = NULL; - fs_info->scrub_parity_workers = NULL; - } mutex_unlock(&fs_info->scrub_lock); - btrfs_destroy_workqueue(scrub_workers); - btrfs_destroy_workqueue(scrub_wr_comp); - btrfs_destroy_workqueue(scrub_parity); + scrub_workers_put(fs_info); scrub_put_ctx(sctx); return ret; - +out: + scrub_workers_put(fs_info); out_free_ctx: scrub_free_ctx(sctx); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/send.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/send.c @@ -238,6 +238,7 @@ * after this directory is moved, we can try to rmdir the ino rmdir_ino. */ u64 rmdir_ino; + u64 rmdir_gen; bool orphanized; }; @@ -323,7 +324,7 @@ static struct waiting_dir_move * get_waiting_dir_move(struct send_ctx *sctx, u64 ino); -static int is_waiting_for_rm(struct send_ctx *sctx, u64 dir_ino); +static int is_waiting_for_rm(struct send_ctx *sctx, u64 dir_ino, u64 gen); static int need_send_hole(struct send_ctx *sctx) { @@ -2306,7 +2307,7 @@ fs_path_reset(name); - if (is_waiting_for_rm(sctx, ino)) { + if (is_waiting_for_rm(sctx, ino, gen)) { ret = gen_unique_name(sctx, ino, gen, name); if (ret < 0) goto out; @@ -2865,8 +2866,8 @@ return ret; } -static struct orphan_dir_info * -add_orphan_dir_info(struct send_ctx *sctx, u64 dir_ino) +static struct orphan_dir_info *add_orphan_dir_info(struct send_ctx *sctx, + u64 dir_ino, u64 dir_gen) { struct rb_node **p = &sctx->orphan_dirs.rb_node; struct rb_node *parent = NULL; @@ -2875,20 +2876,23 @@ while (*p) { parent = *p; entry = rb_entry(parent, struct orphan_dir_info, node); - if (dir_ino < entry->ino) { + if (dir_ino < entry->ino) p = &(*p)->rb_left; - } else if (dir_ino > entry->ino) { + else if (dir_ino > entry->ino) p = &(*p)->rb_right; - } else { + else if (dir_gen < entry->gen) + p = &(*p)->rb_left; + else if (dir_gen > entry->gen) + p = &(*p)->rb_right; + else return entry; - } } odi = kmalloc(sizeof(*odi), GFP_KERNEL); if (!odi) return ERR_PTR(-ENOMEM); odi->ino = dir_ino; - odi->gen = 0; + odi->gen = dir_gen; odi->last_dir_index_offset = 0; rb_link_node(&odi->node, parent, p); @@ -2896,8 +2900,8 @@ return odi; } -static struct orphan_dir_info * -get_orphan_dir_info(struct send_ctx *sctx, u64 dir_ino) +static struct orphan_dir_info *get_orphan_dir_info(struct send_ctx *sctx, + u64 dir_ino, u64 gen) { struct rb_node *n = sctx->orphan_dirs.rb_node; struct orphan_dir_info *entry; @@ -2908,15 +2912,19 @@ n = n->rb_left; else if (dir_ino > entry->ino) n = n->rb_right; + else if (gen < entry->gen) + n = n->rb_left; + else if (gen > entry->gen) + n = n->rb_right; else return entry; } return NULL; } -static int is_waiting_for_rm(struct send_ctx *sctx, u64 dir_ino) +static int is_waiting_for_rm(struct send_ctx *sctx, u64 dir_ino, u64 gen) { - struct orphan_dir_info *odi = get_orphan_dir_info(sctx, dir_ino); + struct orphan_dir_info *odi = get_orphan_dir_info(sctx, dir_ino, gen); return odi != NULL; } @@ -2961,7 +2969,7 @@ key.type = BTRFS_DIR_INDEX_KEY; key.offset = 0; - odi = get_orphan_dir_info(sctx, dir); + odi = get_orphan_dir_info(sctx, dir, dir_gen); if (odi) key.offset = odi->last_dir_index_offset; @@ -2992,7 +3000,7 @@ dm = get_waiting_dir_move(sctx, loc.objectid); if (dm) { - odi = add_orphan_dir_info(sctx, dir); + odi = add_orphan_dir_info(sctx, dir, dir_gen); if (IS_ERR(odi)) { ret = PTR_ERR(odi); goto out; @@ -3000,12 +3008,13 @@ odi->gen = dir_gen; odi->last_dir_index_offset = found_key.offset; dm->rmdir_ino = dir; + dm->rmdir_gen = dir_gen; ret = 0; goto out; } if (loc.objectid > send_progress) { - odi = add_orphan_dir_info(sctx, dir); + odi = add_orphan_dir_info(sctx, dir, dir_gen); if (IS_ERR(odi)) { ret = PTR_ERR(odi); goto out; @@ -3045,6 +3054,7 @@ return -ENOMEM; dm->ino = ino; dm->rmdir_ino = 0; + dm->rmdir_gen = 0; dm->orphanized = orphanized; while (*p) { @@ -3190,7 +3200,7 @@ while (ino != BTRFS_FIRST_FREE_OBJECTID) { fs_path_reset(name); - if (is_waiting_for_rm(sctx, ino)) + if (is_waiting_for_rm(sctx, ino, gen)) break; if (is_waiting_for_move(sctx, ino)) { if (*ancestor_ino == 0) @@ -3230,6 +3240,7 @@ u64 parent_ino, parent_gen; struct waiting_dir_move *dm = NULL; u64 rmdir_ino = 0; + u64 rmdir_gen; u64 ancestor; bool is_orphan; int ret; @@ -3244,6 +3255,7 @@ dm = get_waiting_dir_move(sctx, pm->ino); ASSERT(dm); rmdir_ino = dm->rmdir_ino; + rmdir_gen = dm->rmdir_gen; is_orphan = dm->orphanized; free_waiting_dir_move(sctx, dm); @@ -3280,6 +3292,7 @@ dm = get_waiting_dir_move(sctx, pm->ino); ASSERT(dm); dm->rmdir_ino = rmdir_ino; + dm->rmdir_gen = rmdir_gen; } goto out; } @@ -3298,7 +3311,7 @@ struct orphan_dir_info *odi; u64 gen; - odi = get_orphan_dir_info(sctx, rmdir_ino); + odi = get_orphan_dir_info(sctx, rmdir_ino, rmdir_gen); if (!odi) { /* already deleted */ goto finish; @@ -3813,6 +3826,72 @@ } /* + * When processing the new references for an inode we may orphanize an existing + * directory inode because its old name conflicts with one of the new references + * of the current inode. Later, when processing another new reference of our + * inode, we might need to orphanize another inode, but the path we have in the + * reference reflects the pre-orphanization name of the directory we previously + * orphanized. For example: + * + * parent snapshot looks like: + * + * . (ino 256) + * |----- f1 (ino 257) + * |----- f2 (ino 258) + * |----- d1/ (ino 259) + * |----- d2/ (ino 260) + * + * send snapshot looks like: + * + * . (ino 256) + * |----- d1 (ino 258) + * |----- f2/ (ino 259) + * |----- f2_link/ (ino 260) + * | |----- f1 (ino 257) + * | + * |----- d2 (ino 258) + * + * When processing inode 257 we compute the name for inode 259 as "d1", and we + * cache it in the name cache. Later when we start processing inode 258, when + * collecting all its new references we set a full path of "d1/d2" for its new + * reference with name "d2". When we start processing the new references we + * start by processing the new reference with name "d1", and this results in + * orphanizing inode 259, since its old reference causes a conflict. Then we + * move on the next new reference, with name "d2", and we find out we must + * orphanize inode 260, as its old reference conflicts with ours - but for the + * orphanization we use a source path corresponding to the path we stored in the + * new reference, which is "d1/d2" and not "o259-6-0/d2" - this makes the + * receiver fail since the path component "d1/" no longer exists, it was renamed + * to "o259-6-0/" when processing the previous new reference. So in this case we + * must recompute the path in the new reference and use it for the new + * orphanization operation. + */ +static int refresh_ref_path(struct send_ctx *sctx, struct recorded_ref *ref) +{ + char *name; + int ret; + + name = kmemdup(ref->name, ref->name_len, GFP_KERNEL); + if (!name) + return -ENOMEM; + + fs_path_reset(ref->full_path); + ret = get_cur_path(sctx, ref->dir, ref->dir_gen, ref->full_path); + if (ret < 0) + goto out; + + ret = fs_path_add(ref->full_path, name, ref->name_len); + if (ret < 0) + goto out; + + /* Update the reference's base name pointer. */ + set_ref_path(ref, ref->full_path); +out: + kfree(name); + return ret; +} + +/* * This does all the move/link/unlink/rmdir magic. */ static int process_recorded_refs(struct send_ctx *sctx, int *pending_move) @@ -3880,52 +3959,56 @@ goto out; } + /* + * Before doing any rename and link operations, do a first pass on the + * new references to orphanize any unprocessed inodes that may have a + * reference that conflicts with one of the new references of the current + * inode. This needs to happen first because a new reference may conflict + * with the old reference of a parent directory, so we must make sure + * that the path used for link and rename commands don't use an + * orphanized name when an ancestor was not yet orphanized. + * + * Example: + * + * Parent snapshot: + * + * . (ino 256) + * |----- testdir/ (ino 259) + * | |----- a (ino 257) + * | + * |----- b (ino 258) + * + * Send snapshot: + * + * . (ino 256) + * |----- testdir_2/ (ino 259) + * | |----- a (ino 260) + * | + * |----- testdir (ino 257) + * |----- b (ino 257) + * |----- b2 (ino 258) + * + * Processing the new reference for inode 257 with name "b" may happen + * before processing the new reference with name "testdir". If so, we + * must make sure that by the time we send a link command to create the + * hard link "b", inode 259 was already orphanized, since the generated + * path in "valid_path" already contains the orphanized name for 259. + * We are processing inode 257, so only later when processing 259 we do + * the rename operation to change its temporary (orphanized) name to + * "testdir_2". + */ list_for_each_entry(cur, &sctx->new_refs, list) { - /* - * We may have refs where the parent directory does not exist - * yet. This happens if the parent directories inum is higher - * than the current inum. To handle this case, we create the - * parent directory out of order. But we need to check if this - * did already happen before due to other refs in the same dir. - */ ret = get_cur_inode_state(sctx, cur->dir, cur->dir_gen); if (ret < 0) goto out; - if (ret == inode_state_will_create) { - ret = 0; - /* - * First check if any of the current inodes refs did - * already create the dir. - */ - list_for_each_entry(cur2, &sctx->new_refs, list) { - if (cur == cur2) - break; - if (cur2->dir == cur->dir) { - ret = 1; - break; - } - } - - /* - * If that did not happen, check if a previous inode - * did already create the dir. - */ - if (!ret) - ret = did_create_dir(sctx, cur->dir); - if (ret < 0) - goto out; - if (!ret) { - ret = send_create_inode(sctx, cur->dir); - if (ret < 0) - goto out; - } - } + if (ret == inode_state_will_create) + continue; /* - * Check if this new ref would overwrite the first ref of - * another unprocessed inode. If yes, orphanize the - * overwritten inode. If we find an overwritten ref that is - * not the first ref, simply unlink it. + * Check if this new ref would overwrite the first ref of another + * unprocessed inode. If yes, orphanize the overwritten inode. + * If we find an overwritten ref that is not the first ref, + * simply unlink it. */ ret = will_overwrite_ref(sctx, cur->dir, cur->dir_gen, cur->name, cur->name_len, @@ -3942,6 +4025,12 @@ struct name_cache_entry *nce; struct waiting_dir_move *wdm; + if (orphanized_dir) { + ret = refresh_ref_path(sctx, cur); + if (ret < 0) + goto out; + } + ret = orphanize_inode(sctx, ow_inode, ow_gen, cur->full_path); if (ret < 0) @@ -4004,6 +4093,49 @@ } } + } + + list_for_each_entry(cur, &sctx->new_refs, list) { + /* + * We may have refs where the parent directory does not exist + * yet. This happens if the parent directories inum is higher + * than the current inum. To handle this case, we create the + * parent directory out of order. But we need to check if this + * did already happen before due to other refs in the same dir. + */ + ret = get_cur_inode_state(sctx, cur->dir, cur->dir_gen); + if (ret < 0) + goto out; + if (ret == inode_state_will_create) { + ret = 0; + /* + * First check if any of the current inodes refs did + * already create the dir. + */ + list_for_each_entry(cur2, &sctx->new_refs, list) { + if (cur == cur2) + break; + if (cur2->dir == cur->dir) { + ret = 1; + break; + } + } + + /* + * If that did not happen, check if a previous inode + * did already create the dir. + */ + if (!ret) + ret = did_create_dir(sctx, cur->dir); + if (ret < 0) + goto out; + if (!ret) { + ret = send_create_inode(sctx, cur->dir); + if (ret < 0) + goto out; + } + } + if (S_ISDIR(sctx->cur_inode_mode) && sctx->parent_root) { ret = wait_for_dest_dir_move(sctx, cur, is_orphan); if (ret < 0) @@ -5382,6 +5514,21 @@ break; offset += clone_len; clone_root->offset += clone_len; + + /* + * If we are cloning from the file we are currently processing, + * and using the send root as the clone root, we must stop once + * the current clone offset reaches the current eof of the file + * at the receiver, otherwise we would issue an invalid clone + * operation (source range going beyond eof) and cause the + * receiver to fail. So if we reach the current eof, bail out + * and fallback to a regular write. + */ + if (clone_root->root == sctx->send_root && + clone_root->ino == sctx->cur_ino && + clone_root->offset >= sctx->cur_inode_next_write_offset) + break; + data_offset += clone_len; next: path->slots[0]++; @@ -7181,7 +7328,7 @@ alloc_size = sizeof(struct clone_root) * (arg->clone_sources_count + 1); - sctx->clone_roots = kzalloc(alloc_size, GFP_KERNEL); + sctx->clone_roots = kvzalloc(alloc_size, GFP_KERNEL); if (!sctx->clone_roots) { ret = -ENOMEM; goto out; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/space-info.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/space-info.c @@ -468,8 +468,8 @@ "block group %llu has %llu bytes, %llu used %llu pinned %llu reserved %s", cache->start, cache->length, cache->used, cache->pinned, cache->reserved, cache->ro ? "[readonly]" : ""); - btrfs_dump_free_space(cache, bytes); spin_unlock(&cache->lock); + btrfs_dump_free_space(cache, bytes); } if (++index < BTRFS_NR_RAID_TYPES) goto again; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/space-info.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/space-info.h @@ -150,4 +150,21 @@ spin_unlock(&space_info->lock); } +static inline void __btrfs_mod_total_bytes_pinned( + struct btrfs_space_info *space_info, + s64 mod) +{ + percpu_counter_add_batch(&space_info->total_bytes_pinned, mod, + BTRFS_TOTAL_BYTES_PINNED_BATCH); +} + +static inline void btrfs_mod_total_bytes_pinned(struct btrfs_fs_info *fs_info, + u64 flags, s64 mod) +{ + struct btrfs_space_info *space_info = btrfs_find_space_info(fs_info, flags); + + ASSERT(space_info); + __btrfs_mod_total_bytes_pinned(space_info, mod); +} + #endif /* BTRFS_SPACE_INFO_H */ --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/super.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/super.c @@ -449,6 +449,7 @@ char *compress_type; bool compress_force = false; enum btrfs_compression_type saved_compress_type; + int saved_compress_level; bool saved_compress_force; int no_compress = 0; @@ -531,6 +532,7 @@ info->compress_type : BTRFS_COMPRESS_NONE; saved_compress_force = btrfs_test_opt(info, FORCE_COMPRESS); + saved_compress_level = info->compress_level; if (token == Opt_compress || token == Opt_compress_force || strncmp(args[0].from, "zlib", 4) == 0) { @@ -556,6 +558,7 @@ } else if (strncmp(args[0].from, "lzo", 3) == 0) { compress_type = "lzo"; info->compress_type = BTRFS_COMPRESS_LZO; + info->compress_level = 0; btrfs_set_opt(info->mount_opt, COMPRESS); btrfs_clear_opt(info->mount_opt, NODATACOW); btrfs_clear_opt(info->mount_opt, NODATASUM); @@ -575,6 +578,8 @@ no_compress = 0; } else if (strncmp(args[0].from, "no", 2) == 0) { compress_type = "no"; + info->compress_level = 0; + info->compress_type = 0; btrfs_clear_opt(info->mount_opt, COMPRESS); btrfs_clear_opt(info->mount_opt, FORCE_COMPRESS); compress_force = false; @@ -595,11 +600,11 @@ */ btrfs_clear_opt(info->mount_opt, FORCE_COMPRESS); } - if ((btrfs_test_opt(info, COMPRESS) && - (info->compress_type != saved_compress_type || - compress_force != saved_compress_force)) || - (!btrfs_test_opt(info, COMPRESS) && - no_compress == 1)) { + if (no_compress == 1) { + btrfs_info(info, "use no compression"); + } else if ((info->compress_type != saved_compress_type) || + (compress_force != saved_compress_force) || + (info->compress_level != saved_compress_level)) { btrfs_info(info, "%s %s compression, level %d", (compress_force) ? "force" : "use", compress_type, info->compress_level); @@ -1312,6 +1317,7 @@ { struct btrfs_fs_info *info = btrfs_sb(dentry->d_sb); const char *compress_type; + const char *subvol_name; if (btrfs_test_opt(info, DEGRADED)) seq_puts(seq, ",degraded"); @@ -1398,8 +1404,13 @@ seq_puts(seq, ",ref_verify"); seq_printf(seq, ",subvolid=%llu", BTRFS_I(d_inode(dentry))->root->root_key.objectid); - seq_puts(seq, ",subvol="); - seq_dentry(seq, dentry, " \t\n\\"); + subvol_name = btrfs_get_subvol_name_from_objectid(info, + BTRFS_I(d_inode(dentry))->root->root_key.objectid); + if (!IS_ERR(subvol_name)) { + seq_puts(seq, ",subvol="); + seq_escape(seq, subvol_name, " \t\n\\"); + kfree(subvol_name); + } return 0; } @@ -1820,6 +1831,14 @@ btrfs_scrub_cancel(fs_info); btrfs_pause_balance(fs_info); + /* + * Pause the qgroup rescan worker if it is running. We don't want + * it to be still running after we are in RO mode, as after that, + * by the time we unmount, it might have left a transaction open, + * so we would leak the transaction and/or crash. + */ + btrfs_qgroup_wait_for_completion(fs_info, false); + ret = btrfs_commit_super(fs_info); if (ret) goto restore; @@ -1887,6 +1906,12 @@ set_bit(BTRFS_FS_OPEN, &fs_info->flags); } out: + /* + * We need to set SB_I_VERSION here otherwise it'll get cleared by VFS, + * since the absence of the flag means it can be toggled off by remount. + */ + *flags |= SB_I_VERSION; + wake_up_process(fs_info->transaction_kthread); btrfs_remount_cleanup(fs_info, old_opts); return 0; @@ -2296,9 +2321,7 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root) { struct btrfs_fs_info *fs_info = btrfs_sb(root->d_sb); - struct btrfs_fs_devices *cur_devices; struct btrfs_device *dev, *first_dev = NULL; - struct list_head *head; /* * Lightweight locking of the devices. We should not need @@ -2308,18 +2331,13 @@ * least until the rcu_read_unlock. */ rcu_read_lock(); - cur_devices = fs_info->fs_devices; - while (cur_devices) { - head = &cur_devices->devices; - list_for_each_entry_rcu(dev, head, dev_list) { - if (test_bit(BTRFS_DEV_STATE_MISSING, &dev->dev_state)) - continue; - if (!dev->name) - continue; - if (!first_dev || dev->devid < first_dev->devid) - first_dev = dev; - } - cur_devices = cur_devices->seed; + list_for_each_entry_rcu(dev, &fs_info->fs_devices->devices, dev_list) { + if (test_bit(BTRFS_DEV_STATE_MISSING, &dev->dev_state)) + continue; + if (!dev->name) + continue; + if (!first_dev || dev->devid < first_dev->devid) + first_dev = dev; } if (first_dev) --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/sysfs.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/sysfs.c @@ -1165,10 +1165,12 @@ disk_kobj->name); } - kobject_del(&one_device->devid_kobj); - kobject_put(&one_device->devid_kobj); + if (one_device->devid_kobj.state_initialized) { + kobject_del(&one_device->devid_kobj); + kobject_put(&one_device->devid_kobj); - wait_for_completion(&one_device->kobj_unregister); + wait_for_completion(&one_device->kobj_unregister); + } return 0; } @@ -1181,10 +1183,12 @@ sysfs_remove_link(fs_devices->devices_kobj, disk_kobj->name); } - kobject_del(&one_device->devid_kobj); - kobject_put(&one_device->devid_kobj); + if (one_device->devid_kobj.state_initialized) { + kobject_del(&one_device->devid_kobj); + kobject_put(&one_device->devid_kobj); - wait_for_completion(&one_device->kobj_unregister); + wait_for_completion(&one_device->kobj_unregister); + } } return 0; @@ -1273,7 +1277,9 @@ { int error = 0; struct btrfs_device *dev; + unsigned int nofs_flag; + nofs_flag = memalloc_nofs_save(); list_for_each_entry(dev, &fs_devices->devices, dev_list) { if (one_device && one_device != dev) @@ -1301,6 +1307,7 @@ break; } } + memalloc_nofs_restore(nofs_flag); return error; } --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/transaction.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/transaction.c @@ -155,6 +155,7 @@ struct btrfs_transaction *cur_trans = trans->transaction; struct btrfs_fs_info *fs_info = trans->fs_info; struct btrfs_root *root, *tmp; + struct btrfs_caching_control *caching_ctl, *next; down_write(&fs_info->commit_root_sem); list_for_each_entry_safe(root, tmp, &cur_trans->switch_commits, @@ -180,6 +181,45 @@ spin_lock(&cur_trans->dropped_roots_lock); } spin_unlock(&cur_trans->dropped_roots_lock); + + /* + * We have to update the last_byte_to_unpin under the commit_root_sem, + * at the same time we swap out the commit roots. + * + * This is because we must have a real view of the last spot the caching + * kthreads were while caching. Consider the following views of the + * extent tree for a block group + * + * commit root + * +----+----+----+----+----+----+----+ + * |\\\\| |\\\\|\\\\| |\\\\|\\\\| + * +----+----+----+----+----+----+----+ + * 0 1 2 3 4 5 6 7 + * + * new commit root + * +----+----+----+----+----+----+----+ + * | | | |\\\\| | |\\\\| + * +----+----+----+----+----+----+----+ + * 0 1 2 3 4 5 6 7 + * + * If the cache_ctl->progress was at 3, then we are only allowed to + * unpin [0,1) and [2,3], because the caching thread has already + * processed those extents. We are not allowed to unpin [5,6), because + * the caching thread will re-start it's search from 3, and thus find + * the hole from [4,6) to add to the free space cache. + */ + list_for_each_entry_safe(caching_ctl, next, + &fs_info->caching_block_groups, list) { + struct btrfs_block_group *cache = caching_ctl->block_group; + + if (btrfs_block_group_done(cache)) { + cache->last_byte_to_unpin = (u64)-1; + list_del_init(&caching_ctl->list); + btrfs_put_caching_control(caching_ctl); + } else { + cache->last_byte_to_unpin = caching_ctl->progress; + } + } up_write(&fs_info->commit_root_sem); } @@ -937,7 +977,10 @@ if (TRANS_ABORTED(trans) || test_bit(BTRFS_FS_STATE_ERROR, &info->fs_state)) { wake_up_process(info->transaction_kthread); - err = -EIO; + if (TRANS_ABORTED(trans)) + err = trans->aborted; + else + err = -EROFS; } kmem_cache_free(btrfs_trans_handle_cachep, trans); @@ -1275,7 +1318,6 @@ struct btrfs_root *gang[8]; int i; int ret; - int err = 0; spin_lock(&fs_info->fs_roots_radix_lock); while (1) { @@ -1287,6 +1329,8 @@ break; for (i = 0; i < ret; i++) { struct btrfs_root *root = gang[i]; + int ret2; + radix_tree_tag_clear(&fs_info->fs_roots_radix, (unsigned long)root->root_key.objectid, BTRFS_ROOT_TRANS_TAG); @@ -1308,17 +1352,17 @@ root->node); } - err = btrfs_update_root(trans, fs_info->tree_root, + ret2 = btrfs_update_root(trans, fs_info->tree_root, &root->root_key, &root->root_item); + if (ret2) + return ret2; spin_lock(&fs_info->fs_roots_radix_lock); - if (err) - break; btrfs_qgroup_free_meta_all_pertrans(root); } } spin_unlock(&fs_info->fs_roots_radix_lock); - return err; + return 0; } /* @@ -1630,9 +1674,10 @@ } key.offset = (u64)-1; - pending->snap = btrfs_get_fs_root(fs_info, objectid, true); + pending->snap = btrfs_get_new_fs_root(fs_info, objectid, pending->anon_dev); if (IS_ERR(pending->snap)) { ret = PTR_ERR(pending->snap); + pending->snap = NULL; btrfs_abort_transaction(trans, ret); goto fail; } @@ -2278,8 +2323,6 @@ goto unlock_tree_log; } - btrfs_prepare_extent_commit(fs_info); - cur_trans = fs_info->running_transaction; btrfs_set_root_node(&fs_info->tree_root->root_item, --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/transaction.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/transaction.h @@ -151,6 +151,8 @@ struct btrfs_block_rsv block_rsv; /* extra metadata reservation for relocation */ int error; + /* Preallocated anonymous block device number */ + dev_t anon_dev; bool readonly; struct list_head list; }; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/tree-checker.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/tree-checker.c @@ -754,24 +754,43 @@ { struct btrfs_fs_info *fs_info = leaf->fs_info; u64 length; + u64 chunk_end; u64 stripe_len; u16 num_stripes; u16 sub_stripes; u64 type; u64 features; bool mixed = false; + int raid_index; + int nparity; + int ncopies; length = btrfs_chunk_length(leaf, chunk); stripe_len = btrfs_chunk_stripe_len(leaf, chunk); num_stripes = btrfs_chunk_num_stripes(leaf, chunk); sub_stripes = btrfs_chunk_sub_stripes(leaf, chunk); type = btrfs_chunk_type(leaf, chunk); + raid_index = btrfs_bg_flags_to_raid_index(type); + ncopies = btrfs_raid_array[raid_index].ncopies; + nparity = btrfs_raid_array[raid_index].nparity; if (!num_stripes) { chunk_err(leaf, chunk, logical, "invalid chunk num_stripes, have %u", num_stripes); return -EUCLEAN; } + if (num_stripes < ncopies) { + chunk_err(leaf, chunk, logical, + "invalid chunk num_stripes < ncopies, have %u < %d", + num_stripes, ncopies); + return -EUCLEAN; + } + if (nparity && num_stripes == nparity) { + chunk_err(leaf, chunk, logical, + "invalid chunk num_stripes == nparity, have %u == %d", + num_stripes, nparity); + return -EUCLEAN; + } if (!IS_ALIGNED(logical, fs_info->sectorsize)) { chunk_err(leaf, chunk, logical, "invalid chunk logical, have %llu should aligned to %u", @@ -790,6 +809,12 @@ "invalid chunk length, have %llu", length); return -EUCLEAN; } + if (unlikely(check_add_overflow(logical, length, &chunk_end))) { + chunk_err(leaf, chunk, logical, +"invalid chunk logical start and length, have logical start %llu length %llu", + logical, length); + return -EUCLEAN; + } if (!is_power_of_2(stripe_len) || stripe_len != BTRFS_STRIPE_LEN) { chunk_err(leaf, chunk, logical, "invalid chunk stripe length: %llu", @@ -984,7 +1009,7 @@ /* Note for ROOT_TREE_DIR_ITEM, mkfs could set its transid 0 */ if (btrfs_inode_transid(leaf, iitem) > super_gen + 1) { inode_item_err(leaf, slot, - "invalid inode generation: has %llu expect [0, %llu]", + "invalid inode transid: has %llu expect [0, %llu]", btrfs_inode_transid(leaf, iitem), super_gen + 1); return -EUCLEAN; } @@ -1035,7 +1060,7 @@ int slot) { struct btrfs_fs_info *fs_info = leaf->fs_info; - struct btrfs_root_item ri; + struct btrfs_root_item ri = { 0 }; const u64 valid_root_flags = BTRFS_ROOT_SUBVOL_RDONLY | BTRFS_ROOT_SUBVOL_DEAD; int ret; @@ -1044,14 +1069,22 @@ if (ret < 0) return ret; - if (btrfs_item_size_nr(leaf, slot) != sizeof(ri)) { + if (btrfs_item_size_nr(leaf, slot) != sizeof(ri) && + btrfs_item_size_nr(leaf, slot) != btrfs_legacy_root_item_size()) { generic_err(leaf, slot, - "invalid root item size, have %u expect %zu", - btrfs_item_size_nr(leaf, slot), sizeof(ri)); + "invalid root item size, have %u expect %zu or %u", + btrfs_item_size_nr(leaf, slot), sizeof(ri), + btrfs_legacy_root_item_size()); + return -EUCLEAN; } + /* + * For legacy root item, the members starting at generation_v2 will be + * all filled with 0. + * And since we allow geneartion_v2 as 0, it will still pass the check. + */ read_extent_buffer(leaf, &ri, btrfs_item_ptr_offset(leaf, slot), - sizeof(ri)); + btrfs_item_size_nr(leaf, slot)); /* Generation related */ if (btrfs_root_generation(&ri) > @@ -1398,6 +1431,7 @@ "invalid item size, have %u expect aligned to %zu for key type %u", btrfs_item_size_nr(leaf, slot), sizeof(*dref), key->type); + return -EUCLEAN; } if (!IS_ALIGNED(key->objectid, leaf->fs_info->sectorsize)) { generic_err(leaf, slot, @@ -1426,6 +1460,7 @@ extent_err(leaf, slot, "invalid extent data backref offset, have %llu expect aligned to %u", offset, leaf->fs_info->sectorsize); + return -EUCLEAN; } } return 0; --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/tree-log.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/tree-log.c @@ -3116,29 +3116,17 @@ btrfs_init_log_ctx(&root_log_ctx, NULL); mutex_lock(&log_root_tree->log_mutex); - atomic_inc(&log_root_tree->log_batch); - atomic_inc(&log_root_tree->log_writers); index2 = log_root_tree->log_transid % 2; list_add_tail(&root_log_ctx.list, &log_root_tree->log_ctxs[index2]); root_log_ctx.log_transid = log_root_tree->log_transid; - mutex_unlock(&log_root_tree->log_mutex); - - mutex_lock(&log_root_tree->log_mutex); - /* * Now we are safe to update the log_root_tree because we're under the * log_mutex, and we're a current writer so we're holding the commit * open until we drop the log_mutex. */ ret = update_log_root(trans, log, &new_root_item); - - if (atomic_dec_and_test(&log_root_tree->log_writers)) { - /* atomic_dec_and_test implies a barrier */ - cond_wake_up_nomb(&log_root_tree->log_writer_wait); - } - if (ret) { if (!list_empty(&root_log_ctx.list)) list_del_init(&root_log_ctx.list); @@ -3184,8 +3172,6 @@ root_log_ctx.log_transid - 1); } - wait_for_writer(log_root_tree); - /* * now that we've moved on to the tree of log tree roots, * check the full commit flag again @@ -3463,11 +3449,13 @@ btrfs_free_path(path); out_unlock: mutex_unlock(&dir->log_mutex); - if (ret == -ENOSPC) { + if (err == -ENOSPC) { btrfs_set_log_full_commit(trans); - ret = 0; - } else if (ret < 0) - btrfs_abort_transaction(trans, ret); + err = 0; + } else if (err < 0 && err != -ENOENT) { + /* ENOENT can be returned if the entry hasn't been fsynced yet */ + btrfs_abort_transaction(trans, err); + } btrfs_end_log_trans(root); @@ -3627,6 +3615,7 @@ * search and this search we'll not find the key again and can just * bail. */ +search: ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); if (ret != 0) goto done; @@ -3646,6 +3635,13 @@ if (min_key.objectid != ino || min_key.type != key_type) goto done; + + if (need_resched()) { + btrfs_release_path(path); + cond_resched(); + goto search; + } + ret = overwrite_item(trans, log, dst_path, src, i, &min_key); if (ret) { @@ -4041,11 +4037,8 @@ fs_info->csum_root, ds + cs, ds + cs + cl - 1, &ordered_sums, 0); - if (ret) { - btrfs_release_path(dst_path); - kfree(ins_data); - return ret; - } + if (ret) + break; } } } @@ -4058,7 +4051,6 @@ * we have to do this after the loop above to avoid changing the * log tree while trying to change the log tree. */ - ret = 0; while (!list_empty(&ordered_sums)) { struct btrfs_ordered_sum *sums = list_entry(ordered_sums.next, struct btrfs_ordered_sum, @@ -4505,6 +4497,10 @@ const u64 ino = btrfs_ino(inode); int ins_nr = 0; int start_slot = 0; + bool found_xattrs = false; + + if (test_bit(BTRFS_INODE_NO_XATTRS, &inode->runtime_flags)) + return 0; key.objectid = ino; key.type = BTRFS_XATTR_ITEM_KEY; @@ -4543,6 +4539,7 @@ start_slot = slot; ins_nr++; path->slots[0]++; + found_xattrs = true; cond_resched(); } if (ins_nr > 0) { @@ -4552,6 +4549,9 @@ return ret; } + if (!found_xattrs) + set_bit(BTRFS_INODE_NO_XATTRS, &inode->runtime_flags); + return 0; } @@ -5123,14 +5123,13 @@ const loff_t end, struct btrfs_log_ctx *ctx) { - struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_path *path; struct btrfs_path *dst_path; struct btrfs_key min_key; struct btrfs_key max_key; struct btrfs_root *log = root->log_root; int err = 0; - int ret; + int ret = 0; bool fast_search = false; u64 ino = btrfs_ino(inode); struct extent_map_tree *em_tree = &inode->extent_tree; @@ -5166,15 +5165,19 @@ max_key.offset = (u64)-1; /* - * Only run delayed items if we are a dir or a new file. - * Otherwise commit the delayed inode only, which is needed in - * order for the log replay code to mark inodes for link count - * fixup (create temporary BTRFS_TREE_LOG_FIXUP_OBJECTID items). + * Only run delayed items if we are a directory. We want to make sure + * all directory indexes hit the fs/subvolume tree so we can find them + * and figure out which index ranges have to be logged. + * + * Otherwise commit the delayed inode only if the full sync flag is set, + * as we want to make sure an up to date version is in the subvolume + * tree so copy_inode_items_to_log() / copy_items() can find it and copy + * it to the log tree. For a non full sync, we always log the inode item + * based on the in-memory struct btrfs_inode which is always up to date. */ - if (S_ISDIR(inode->vfs_inode.i_mode) || - inode->generation > fs_info->last_trans_committed) + if (S_ISDIR(inode->vfs_inode.i_mode)) ret = btrfs_commit_inode_delayed_items(trans, inode); - else + else if (test_bit(BTRFS_INODE_NEEDS_FULL_SYNC, &inode->runtime_flags)) ret = btrfs_commit_inode_delayed_inode(inode); if (ret) { --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/volumes.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/volumes.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -245,7 +246,9 @@ * * global::fs_devs - add, remove, updates to the global list * - * does not protect: manipulation of the fs_devices::devices list! + * does not protect: manipulation of the fs_devices::devices list in general + * but in mount context it could be used to exclude list modifications by eg. + * scan ioctl * * btrfs_device::name - renames (write side), read is RCU * @@ -258,6 +261,9 @@ * may be used to exclude some operations from running concurrently without any * modifications to the list (see write_all_supers) * + * Is not required at mount and close times, because our device list is + * protected by the uuid_mutex at that point. + * * balance_mutex * ------------- * protects balance structures (status, state) and context accessed from @@ -400,7 +406,7 @@ * Returned struct is not linked onto any lists and must be destroyed using * btrfs_free_device. */ -static struct btrfs_device *__alloc_device(void) +static struct btrfs_device *__alloc_device(struct btrfs_fs_info *fs_info) { struct btrfs_device *dev; @@ -427,7 +433,8 @@ btrfs_device_data_ordered_init(dev); INIT_RADIX_TREE(&dev->reada_zones, GFP_NOFS & ~__GFP_DIRECT_RECLAIM); INIT_RADIX_TREE(&dev->reada_extents, GFP_NOFS & ~__GFP_DIRECT_RECLAIM); - extent_io_tree_init(NULL, &dev->alloc_state, 0, NULL); + extent_io_tree_init(fs_info, &dev->alloc_state, + IO_TREE_DEVICE_ALLOC_STATE, NULL); return dev; } @@ -602,6 +609,11 @@ return ret; } +/* + * This is only used on mount, and we are protected from competing things + * messing with our fs_devices by the uuid_mutex, thus we do not need the + * fs_devices->device_list_mutex here. + */ static int btrfs_open_one_device(struct btrfs_fs_devices *fs_devices, struct btrfs_device *device, fmode_t flags, void *holder) @@ -929,17 +941,25 @@ if (device->bdev != path_bdev) { bdput(path_bdev); mutex_unlock(&fs_devices->device_list_mutex); - btrfs_warn_in_rcu(device->fs_info, - "duplicate device fsid:devid for %pU:%llu old:%s new:%s", - disk_super->fsid, devid, - rcu_str_deref(device->name), path); + /* + * device->fs_info may not be reliable here, so + * pass in a NULL instead. This avoids a + * possible use-after-free when the fs_info and + * fs_info->sb are already torn down. + */ + btrfs_warn_in_rcu(NULL, + "duplicate device %s devid %llu generation %llu scanned by %s (%d)", + path, devid, found_transid, + current->comm, + task_pid_nr(current)); return ERR_PTR(-EEXIST); } bdput(path_bdev); btrfs_info_in_rcu(device->fs_info, - "device fsid %pU devid %llu moved old:%s new:%s", - disk_super->fsid, devid, - rcu_str_deref(device->name), path); + "devid %llu device path %s changed to %s scanned by %s (%d)", + devid, rcu_str_deref(device->name), + path, current->comm, + task_pid_nr(current)); } name = rcu_string_strdup(path, GFP_NOFS); @@ -1050,22 +1070,13 @@ continue; } - if (device->devid == BTRFS_DEV_REPLACE_DEVID) { - /* - * In the first step, keep the device which has - * the correct fsid and the devid that is used - * for the dev_replace procedure. - * In the second step, the dev_replace state is - * read from the device tree and it is known - * whether the procedure is really active or - * not, which means whether this device is - * used or whether it should be removed. - */ - if (step == 0 || test_bit(BTRFS_DEV_STATE_REPLACE_TGT, - &device->dev_state)) { - continue; - } - } + /* + * We have already validated the presence of BTRFS_DEV_REPLACE_DEVID, + * in btrfs_init_dev_replace() so just continue. + */ + if (device->devid == BTRFS_DEV_REPLACE_DEVID) + continue; + if (device->bdev) { blkdev_put(device->bdev, device->mode); device->bdev = NULL; @@ -1074,9 +1085,6 @@ if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) { list_del_init(&device->dev_alloc_list); clear_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state); - if (!test_bit(BTRFS_DEV_STATE_REPLACE_TGT, - &device->dev_state)) - fs_devices->rw_devices--; } list_del_init(&device->dev_list); fs_devices->num_devices--; @@ -1186,17 +1194,23 @@ { struct btrfs_device *device; struct btrfs_device *latest_dev = NULL; + struct btrfs_device *tmp_device; flags |= FMODE_EXCL; - list_for_each_entry(device, &fs_devices->devices, dev_list) { - /* Just open everything we can; ignore failures here */ - if (btrfs_open_one_device(fs_devices, device, flags, holder)) - continue; + list_for_each_entry_safe(device, tmp_device, &fs_devices->devices, + dev_list) { + int ret; - if (!latest_dev || - device->generation > latest_dev->generation) + ret = btrfs_open_one_device(fs_devices, device, flags, holder); + if (ret == 0 && + (!latest_dev || device->generation > latest_dev->generation)) { latest_dev = device; + } else if (ret == -ENODATA) { + fs_devices->num_devices--; + list_del(&device->dev_list); + btrfs_free_device(device); + } } if (fs_devices->open_devices == 0) return -EINVAL; @@ -1229,8 +1243,14 @@ int ret; lockdep_assert_held(&uuid_mutex); + /* + * The device_list_mutex cannot be taken here in case opening the + * underlying device takes further locks like bd_mutex. + * + * We also don't need the lock here as this is called during mount and + * exclusion is provided by uuid_mutex + */ - mutex_lock(&fs_devices->device_list_mutex); if (fs_devices->opened) { fs_devices->opened++; ret = 0; @@ -1238,7 +1258,6 @@ list_sort(NULL, &fs_devices->devices, devid_cmp); ret = open_fs_devices(fs_devices, flags, holder); } - mutex_unlock(&fs_devices->device_list_mutex); return ret; } @@ -1983,9 +2002,9 @@ return num_devices; } -static void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info, - struct block_device *bdev, - const char *device_path) +void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info, + struct block_device *bdev, + const char *device_path) { struct btrfs_super_block *disk_super; int copy_num; @@ -2079,6 +2098,8 @@ mutex_unlock(&uuid_mutex); ret = btrfs_shrink_device(device, 0); + if (!ret) + btrfs_reada_remove_dev(device); mutex_lock(&uuid_mutex); if (ret) goto error_undo; @@ -2166,6 +2187,7 @@ return ret; error_undo: + btrfs_reada_undo_remove_dev(device); if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) { mutex_lock(&fs_info->chunk_mutex); list_add(&device->dev_alloc_list, @@ -2208,11 +2230,7 @@ struct btrfs_fs_info *fs_info = srcdev->fs_info; struct btrfs_fs_devices *fs_devices = srcdev->fs_devices; - if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &srcdev->dev_state)) { - /* zero out the old super if it is writable */ - btrfs_scratch_superblocks(fs_info, srcdev->bdev, - srcdev->name->str); - } + mutex_lock(&uuid_mutex); btrfs_close_bdev(srcdev); synchronize_rcu(); @@ -2242,6 +2260,7 @@ close_fs_devices(fs_devices); free_fs_devices(fs_devices); } + mutex_unlock(&uuid_mutex); } void btrfs_destroy_dev_replace_tgtdev(struct btrfs_device *tgtdev) @@ -2597,9 +2616,6 @@ btrfs_set_super_num_devices(fs_info->super_copy, orig_super_num_devices + 1); - /* add sysfs device entry */ - btrfs_sysfs_add_devices_dir(fs_devices, device); - /* * we've got more storage, clear any full flags on the space * infos @@ -2607,6 +2623,10 @@ btrfs_clear_space_info_full(fs_info); mutex_unlock(&fs_info->chunk_mutex); + + /* Add sysfs device entry */ + btrfs_sysfs_add_devices_dir(fs_devices, device); + mutex_unlock(&fs_devices->device_list_mutex); if (seeding_dev) { @@ -3231,7 +3251,7 @@ if (!path) return -ENOMEM; - trans = btrfs_start_transaction(root, 0); + trans = btrfs_start_transaction_fallback_global_rsv(root, 0); if (IS_ERR(trans)) { btrfs_free_path(path); return PTR_ERR(trans); @@ -4135,7 +4155,22 @@ mutex_lock(&fs_info->balance_mutex); if (ret == -ECANCELED && atomic_read(&fs_info->balance_pause_req)) btrfs_info(fs_info, "balance: paused"); - else if (ret == -ECANCELED && atomic_read(&fs_info->balance_cancel_req)) + /* + * Balance can be canceled by: + * + * - Regular cancel request + * Then ret == -ECANCELED and balance_cancel_req > 0 + * + * - Fatal signal to "btrfs" process + * Either the signal caught by wait_reserve_ticket() and callers + * got -EINTR, or caught by btrfs_should_cancel_balance() and + * got -ECANCELED. + * Either way, in this case balance_cancel_req = 0, and + * ret == -EINTR or ret == -ECANCELED. + * + * So here we only check the return value to catch canceled balance. + */ + else if (ret == -ECANCELED || ret == -EINTR) btrfs_info(fs_info, "balance: canceled"); else btrfs_info(fs_info, "balance: ended with status: %d", ret); @@ -4267,6 +4302,8 @@ btrfs_warn(fs_info, "balance: cannot set exclusive op status, resume manually"); + btrfs_release_path(path); + mutex_lock(&fs_info->balance_mutex); BUG_ON(fs_info->balance_ctl); spin_lock(&fs_info->balance_lock); @@ -4432,6 +4469,7 @@ goto skip; } update_tree: + btrfs_release_path(path); if (!btrfs_is_empty_uuid(root_item.uuid)) { ret = btrfs_uuid_tree_add(trans, root_item.uuid, BTRFS_UUID_KEY_SUBVOL, @@ -4456,6 +4494,7 @@ } skip: + btrfs_release_path(path); if (trans) { ret = btrfs_end_transaction(trans); trans = NULL; @@ -4463,7 +4502,6 @@ break; } - btrfs_release_path(path); if (key.offset < (u64)-1) { key.offset++; } else if (key.type < BTRFS_ROOT_ITEM_KEY) { @@ -4690,6 +4728,10 @@ } mutex_lock(&fs_info->chunk_mutex); + /* Clear all state bits beyond the shrunk device size */ + clear_extent_bits(&device->alloc_state, new_size, (u64)-1, + CHUNK_STATE_MASK); + btrfs_device_set_disk_total_bytes(device, new_size); if (list_empty(&device->post_commit_list)) list_add_tail(&device->post_commit_list, @@ -6465,8 +6507,17 @@ u64 devid, u8 *dev_uuid) { struct btrfs_device *device; + unsigned int nofs_flag; + /* + * We call this under the chunk_mutex, so we want to use NOFS for this + * allocation, however we don't want to change btrfs_alloc_device() to + * always do NOFS because we use it in a lot of other GFP_KERNEL safe + * places. + */ + nofs_flag = memalloc_nofs_save(); device = btrfs_alloc_device(NULL, &devid, dev_uuid); + memalloc_nofs_restore(nofs_flag); if (IS_ERR(device)) return device; @@ -6503,7 +6554,7 @@ if (WARN_ON(!devid && !fs_info)) return ERR_PTR(-EINVAL); - dev = __alloc_device(); + dev = __alloc_device(fs_info); if (IS_ERR(dev)) return dev; @@ -7049,7 +7100,6 @@ * otherwise we don't need it. */ mutex_lock(&uuid_mutex); - mutex_lock(&fs_info->chunk_mutex); /* * It is possible for mount and umount to race in such a way that @@ -7094,7 +7144,9 @@ } else if (found_key.type == BTRFS_CHUNK_ITEM_KEY) { struct btrfs_chunk *chunk; chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk); + mutex_lock(&fs_info->chunk_mutex); ret = read_one_chunk(&found_key, leaf, chunk); + mutex_unlock(&fs_info->chunk_mutex); if (ret) goto error; } @@ -7124,7 +7176,6 @@ } ret = 0; error: - mutex_unlock(&fs_info->chunk_mutex); mutex_unlock(&uuid_mutex); btrfs_free_path(path); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/volumes.h +++ linux-riscv-5.8-5.8.0/fs/btrfs/volumes.h @@ -50,6 +50,7 @@ #define BTRFS_DEV_STATE_MISSING (2) #define BTRFS_DEV_STATE_REPLACE_TGT (3) #define BTRFS_DEV_STATE_FLUSH_SENT (4) +#define BTRFS_DEV_STATE_NO_READA (5) struct btrfs_device { struct list_head dev_list; /* device_list_mutex */ @@ -573,6 +574,9 @@ void btrfs_reset_fs_info_ptr(struct btrfs_fs_info *fs_info); bool btrfs_check_rw_degradable(struct btrfs_fs_info *fs_info, struct btrfs_device *failing_dev); +void btrfs_scratch_superblocks(struct btrfs_fs_info *fs_info, + struct block_device *bdev, + const char *device_path); int btrfs_bg_type_to_factor(u64 flags); const char *btrfs_bg_type_to_raid_name(u64 flags); --- linux-riscv-5.8-5.8.0.orig/fs/btrfs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/btrfs/xattr.c @@ -213,9 +213,11 @@ } out: btrfs_free_path(path); - if (!ret) + if (!ret) { set_bit(BTRFS_INODE_COPY_EVERYTHING, &BTRFS_I(inode)->runtime_flags); + clear_bit(BTRFS_INODE_NO_XATTRS, &BTRFS_I(inode)->runtime_flags); + } return ret; } @@ -227,11 +229,33 @@ { struct btrfs_root *root = BTRFS_I(inode)->root; struct btrfs_trans_handle *trans; + const bool start_trans = (current->journal_info == NULL); int ret; - trans = btrfs_start_transaction(root, 2); - if (IS_ERR(trans)) - return PTR_ERR(trans); + if (start_trans) { + /* + * 1 unit for inserting/updating/deleting the xattr + * 1 unit for the inode item update + */ + trans = btrfs_start_transaction(root, 2); + if (IS_ERR(trans)) + return PTR_ERR(trans); + } else { + /* + * This can happen when smack is enabled and a directory is being + * created. It happens through d_instantiate_new(), which calls + * smack_d_instantiate(), which in turn calls __vfs_setxattr() to + * set the transmute xattr (XATTR_NAME_SMACKTRANSMUTE) on the + * inode. We have already reserved space for the xattr and inode + * update at btrfs_mkdir(), so just use the transaction handle. + * We don't join or start a transaction, as that will reset the + * block_rsv of the handle and trigger a warning for the start + * case. + */ + ASSERT(strncmp(name, XATTR_SECURITY_PREFIX, + XATTR_SECURITY_PREFIX_LEN) == 0); + trans = current->journal_info; + } ret = btrfs_setxattr(trans, inode, name, value, size, flags); if (ret) @@ -242,7 +266,8 @@ ret = btrfs_update_inode(trans, root, inode); BUG_ON(ret); out: - btrfs_end_transaction(trans); + if (start_trans) + btrfs_end_transaction(trans); return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/buffer.c +++ linux-riscv-5.8-5.8.0/fs/buffer.c @@ -2772,16 +2772,6 @@ /* Is the page fully outside i_size? (truncate in progress) */ offset = i_size & (PAGE_SIZE-1); if (page->index >= end_index+1 || !offset) { - /* - * The page may have dirty, unmapped buffers. For example, - * they may have been added in ext3_writepage(). Make them - * freeable here, so the page does not leak. - */ -#if 0 - /* Not really sure about this - do we need this ? */ - if (page->mapping->a_ops->invalidatepage) - page->mapping->a_ops->invalidatepage(page, offset); -#endif unlock_page(page); return 0; /* don't care */ } @@ -2976,12 +2966,6 @@ /* Is the page fully outside i_size? (truncate in progress) */ offset = i_size & (PAGE_SIZE-1); if (page->index >= end_index+1 || !offset) { - /* - * The page may have dirty, unmapped buffers. For example, - * they may have been added in ext3_writepage(). Make them - * freeable here, so the page does not leak. - */ - do_invalidatepage(page, 0, PAGE_SIZE); unlock_page(page); return 0; /* don't care */ } @@ -3160,6 +3144,15 @@ WARN_ON(atomic_read(&bh->b_count) < 1); lock_buffer(bh); if (test_clear_buffer_dirty(bh)) { + /* + * The bh should be mapped, but it might not be if the + * device was hot-removed. Not much we can do but fail the I/O. + */ + if (!buffer_mapped(bh)) { + unlock_buffer(bh); + return -EIO; + } + get_bh(bh); bh->b_end_io = end_buffer_write_sync; ret = submit_bh(REQ_OP_WRITE, op_flags, bh); --- linux-riscv-5.8-5.8.0.orig/fs/cachefiles/rdwr.c +++ linux-riscv-5.8-5.8.0/fs/cachefiles/rdwr.c @@ -121,7 +121,7 @@ _debug("reissue read"); ret = bmapping->a_ops->readpage(NULL, backpage); if (ret < 0) - goto unlock_discard; + goto discard; } /* but the page may have been read before the monitor was installed, so @@ -138,6 +138,7 @@ unlock_discard: unlock_page(backpage); +discard: spin_lock_irq(&object->work_lock); list_del(&monitor->op_link); spin_unlock_irq(&object->work_lock); @@ -412,7 +413,6 @@ inode = d_backing_inode(object->backer); ASSERT(S_ISREG(inode->i_mode)); - ASSERT(inode->i_mapping->a_ops->readpages); /* calculate the shift required to use bmap */ shift = PAGE_SHIFT - inode->i_sb->s_blocksize_bits; @@ -508,6 +508,8 @@ goto installed_new_backing_page; if (ret != -EEXIST) goto nomem; + put_page(newpage); + newpage = NULL; } /* we've installed a new backing page, so now we need @@ -712,7 +714,6 @@ inode = d_backing_inode(object->backer); ASSERT(S_ISREG(inode->i_mode)); - ASSERT(inode->i_mapping->a_ops->readpages); /* calculate the shift required to use bmap */ shift = PAGE_SHIFT - inode->i_sb->s_blocksize_bits; --- linux-riscv-5.8-5.8.0.orig/fs/ceph/addr.c +++ linux-riscv-5.8-5.8.0/fs/ceph/addr.c @@ -1523,7 +1523,7 @@ struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_file_info *fi = vma->vm_file->private_data; struct page *pinned_page = NULL; - loff_t off = vmf->pgoff << PAGE_SHIFT; + loff_t off = (loff_t)vmf->pgoff << PAGE_SHIFT; int want, got, err; sigset_t oldset; vm_fault_t ret = VM_FAULT_SIGBUS; --- linux-riscv-5.8-5.8.0.orig/fs/ceph/caps.c +++ linux-riscv-5.8-5.8.0/fs/ceph/caps.c @@ -886,8 +886,8 @@ int have = ci->i_snap_caps; if ((have & mask) == mask) { - dout("__ceph_caps_issued_mask ino 0x%lx snap issued %s" - " (mask %s)\n", ci->vfs_inode.i_ino, + dout("__ceph_caps_issued_mask ino 0x%llx snap issued %s" + " (mask %s)\n", ceph_ino(&ci->vfs_inode), ceph_cap_string(have), ceph_cap_string(mask)); return 1; @@ -898,8 +898,8 @@ if (!__cap_is_valid(cap)) continue; if ((cap->issued & mask) == mask) { - dout("__ceph_caps_issued_mask ino 0x%lx cap %p issued %s" - " (mask %s)\n", ci->vfs_inode.i_ino, cap, + dout("__ceph_caps_issued_mask ino 0x%llx cap %p issued %s" + " (mask %s)\n", ceph_ino(&ci->vfs_inode), cap, ceph_cap_string(cap->issued), ceph_cap_string(mask)); if (touch) @@ -910,8 +910,8 @@ /* does a combination of caps satisfy mask? */ have |= cap->issued; if ((have & mask) == mask) { - dout("__ceph_caps_issued_mask ino 0x%lx combo issued %s" - " (mask %s)\n", ci->vfs_inode.i_ino, + dout("__ceph_caps_issued_mask ino 0x%llx combo issued %s" + " (mask %s)\n", ceph_ino(&ci->vfs_inode), ceph_cap_string(cap->issued), ceph_cap_string(mask)); if (touch) { @@ -1139,12 +1139,19 @@ { struct ceph_mds_session *session = cap->session; struct ceph_inode_info *ci = cap->ci; - struct ceph_mds_client *mdsc = - ceph_sb_to_client(ci->vfs_inode.i_sb)->mdsc; + struct ceph_mds_client *mdsc; int removed = 0; + /* 'ci' being NULL means the remove have already occurred */ + if (!ci) { + dout("%s: cap inode is NULL\n", __func__); + return; + } + dout("__ceph_remove_cap %p from %p\n", cap, &ci->vfs_inode); + mdsc = ceph_inode_to_client(&ci->vfs_inode)->mdsc; + /* remove from inode's cap rbtree, and clear auth cap */ rb_erase(&cap->ci_node, &ci->i_caps); if (ci->i_auth_cap == cap) { @@ -2870,7 +2877,7 @@ struct cap_wait cw; DEFINE_WAIT_FUNC(wait, woken_wake_function); - cw.ino = inode->i_ino; + cw.ino = ceph_ino(inode); cw.tgid = current->tgid; cw.need = need; cw.want = want; @@ -3073,10 +3080,12 @@ dout("put_cap_refs %p had %s%s%s\n", inode, ceph_cap_string(had), last ? " last" : "", put ? " put" : ""); - if (last && !skip_checking_caps) - ceph_check_caps(ci, 0, NULL); - else if (flushsnaps) - ceph_flush_snaps(ci, NULL); + if (!skip_checking_caps) { + if (last) + ceph_check_caps(ci, 0, NULL); + else if (flushsnaps) + ceph_flush_snaps(ci, NULL); + } if (wake) wake_up_all(&ci->i_cap_wq); while (put-- > 0) @@ -4062,7 +4071,7 @@ vino.snap, inode); mutex_lock(&session->s_mutex); - session->s_seq++; + inc_session_sequence(session); dout(" mds%d seq %lld cap seq %u\n", session->s_mds, session->s_seq, (unsigned)seq); --- linux-riscv-5.8-5.8.0.orig/fs/ceph/debugfs.c +++ linux-riscv-5.8-5.8.0/fs/ceph/debugfs.c @@ -212,7 +212,7 @@ { struct seq_file *s = p; - seq_printf(s, "0x%-17lx%-17s%-17s\n", inode->i_ino, + seq_printf(s, "0x%-17llx%-17s%-17s\n", ceph_ino(inode), ceph_cap_string(cap->issued), ceph_cap_string(cap->implemented)); return 0; @@ -257,7 +257,7 @@ spin_lock(&mdsc->caps_list_lock); list_for_each_entry(cw, &mdsc->cap_wait_list, list) { - seq_printf(s, "%-13d0x%-17lx%-17s%-17s\n", cw->tgid, cw->ino, + seq_printf(s, "%-13d0x%-17llx%-17s%-17s\n", cw->tgid, cw->ino, ceph_cap_string(cw->need), ceph_cap_string(cw->want)); } --- linux-riscv-5.8-5.8.0.orig/fs/ceph/dir.c +++ linux-riscv-5.8-5.8.0/fs/ceph/dir.c @@ -259,9 +259,7 @@ dentry, dentry, d_inode(dentry)); ctx->pos = di->offset; if (!dir_emit(ctx, dentry->d_name.name, - dentry->d_name.len, - ceph_translate_ino(dentry->d_sb, - d_inode(dentry)->i_ino), + dentry->d_name.len, ceph_present_inode(d_inode(dentry)), d_inode(dentry)->i_mode >> 12)) { dput(dentry); err = 0; @@ -324,18 +322,21 @@ /* always start with . and .. */ if (ctx->pos == 0) { dout("readdir off 0 -> '.'\n"); - if (!dir_emit(ctx, ".", 1, - ceph_translate_ino(inode->i_sb, inode->i_ino), + if (!dir_emit(ctx, ".", 1, ceph_present_inode(inode), inode->i_mode >> 12)) return 0; ctx->pos = 1; } if (ctx->pos == 1) { - ino_t ino = parent_ino(file->f_path.dentry); + u64 ino; + struct dentry *dentry = file->f_path.dentry; + + spin_lock(&dentry->d_lock); + ino = ceph_present_inode(dentry->d_parent->d_inode); + spin_unlock(&dentry->d_lock); + dout("readdir off 1 -> '..'\n"); - if (!dir_emit(ctx, "..", 2, - ceph_translate_ino(inode->i_sb, ino), - inode->i_mode >> 12)) + if (!dir_emit(ctx, "..", 2, ino, inode->i_mode >> 12)) return 0; ctx->pos = 2; } @@ -507,9 +508,6 @@ } for (; i < rinfo->dir_nr; i++) { struct ceph_mds_reply_dir_entry *rde = rinfo->dir_entries + i; - struct ceph_vino vino; - ino_t ino; - u32 ftype; BUG_ON(rde->offset < ctx->pos); @@ -519,13 +517,10 @@ rde->name_len, rde->name, &rde->inode.in); BUG_ON(!rde->inode.in); - ftype = le32_to_cpu(rde->inode.in->mode) >> 12; - vino.ino = le64_to_cpu(rde->inode.in->ino); - vino.snap = le64_to_cpu(rde->inode.in->snapid); - ino = ceph_vino_to_ino(vino); if (!dir_emit(ctx, rde->name, rde->name_len, - ceph_translate_ino(inode->i_sb, ino), ftype)) { + ceph_present_ino(inode->i_sb, le64_to_cpu(rde->inode.in->ino)), + le32_to_cpu(rde->inode.in->mode) >> 12)) { dout("filldir stopping us...\n"); return 0; } @@ -930,6 +925,10 @@ req->r_num_caps = 2; req->r_dentry_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_AUTH_EXCL; req->r_dentry_unless = CEPH_CAP_FILE_EXCL; + if (as_ctx.pagelist) { + req->r_pagelist = as_ctx.pagelist; + as_ctx.pagelist = NULL; + } err = ceph_mdsc_do_request(mdsc, dir, req); if (!err && !req->r_reply_info.head->is_dentry) err = ceph_handle_notrace_create(dir, dentry); @@ -1157,7 +1156,7 @@ if (try_async && op == CEPH_MDS_OP_UNLINK && (req->r_dir_caps = get_caps_for_async_unlink(dir, dentry))) { - dout("async unlink on %lu/%.*s caps=%s", dir->i_ino, + dout("async unlink on %llu/%.*s caps=%s", ceph_ino(dir), dentry->d_name.len, dentry->d_name.name, ceph_cap_string(req->r_dir_caps)); set_bit(CEPH_MDS_R_ASYNC, &req->r_req_flags); --- linux-riscv-5.8-5.8.0.orig/fs/ceph/file.c +++ linux-riscv-5.8-5.8.0/fs/ceph/file.c @@ -630,8 +630,8 @@ } else { struct dentry *dn; - dout("%s d_adding new inode 0x%llx to 0x%lx/%s\n", __func__, - vino.ino, dir->i_ino, dentry->d_name.name); + dout("%s d_adding new inode 0x%llx to 0x%llx/%s\n", __func__, + vino.ino, ceph_ino(dir), dentry->d_name.name); ceph_dir_clear_ordered(dir); ceph_init_inode_acls(inode, as_ctx); if (inode->i_state & I_NEW) { @@ -1538,6 +1538,7 @@ struct inode *inode = file_inode(filp); struct ceph_inode_info *ci = ceph_inode(inode); struct page *pinned_page = NULL; + bool direct_lock = iocb->ki_flags & IOCB_DIRECT; ssize_t ret; int want, got = 0; int retry_op = 0, read = 0; @@ -1546,7 +1547,7 @@ dout("aio_read %p %llx.%llx %llu~%u trying to get caps on %p\n", inode, ceph_vinop(inode), iocb->ki_pos, (unsigned)len, inode); - if (iocb->ki_flags & IOCB_DIRECT) + if (direct_lock) ceph_start_io_direct(inode); else ceph_start_io_read(inode); @@ -1603,7 +1604,7 @@ } ceph_put_cap_refs(ci, got); - if (iocb->ki_flags & IOCB_DIRECT) + if (direct_lock) ceph_end_io_direct(inode); else ceph_end_io_read(inode); @@ -2506,6 +2507,7 @@ .mmap = ceph_mmap, .fsync = ceph_fsync, .lock = ceph_lock, + .setlease = simple_nosetlease, .flock = ceph_flock, .splice_read = generic_file_splice_read, .splice_write = iter_file_splice_write, --- linux-riscv-5.8-5.8.0.orig/fs/ceph/inode.c +++ linux-riscv-5.8-5.8.0/fs/ceph/inode.c @@ -41,8 +41,10 @@ */ static int ceph_set_ino_cb(struct inode *inode, void *data) { - ceph_inode(inode)->i_vino = *(struct ceph_vino *)data; - inode->i_ino = ceph_vino_to_ino(*(struct ceph_vino *)data); + struct ceph_inode_info *ci = ceph_inode(inode); + + ci->i_vino = *(struct ceph_vino *)data; + inode->i_ino = ceph_vino_to_ino_t(ci->i_vino); inode_set_iversion_raw(inode, 0); return 0; } @@ -50,17 +52,14 @@ struct inode *ceph_get_inode(struct super_block *sb, struct ceph_vino vino) { struct inode *inode; - ino_t t = ceph_vino_to_ino(vino); - inode = iget5_locked(sb, t, ceph_ino_compare, ceph_set_ino_cb, &vino); + inode = iget5_locked(sb, (unsigned long)vino.ino, ceph_ino_compare, + ceph_set_ino_cb, &vino); if (!inode) return ERR_PTR(-ENOMEM); - if (inode->i_state & I_NEW) - dout("get_inode created new inode %p %llx.%llx ino %llx\n", - inode, ceph_vinop(inode), (u64)inode->i_ino); - dout("get_inode on %lu=%llx.%llx got %p\n", inode->i_ino, vino.ino, - vino.snap, inode); + dout("get_inode on %llu=%llx.%llx got %p new %d\n", ceph_present_inode(inode), + ceph_vinop(inode), inode, !!(inode->i_state & I_NEW)); return inode; } @@ -1332,6 +1331,8 @@ in, ceph_vinop(in)); if (in->i_state & I_NEW) discard_new_inode(in); + else + iput(in); goto done; } req->r_target_inode = in; @@ -2378,7 +2379,7 @@ } generic_fillattr(inode, stat); - stat->ino = ceph_translate_ino(inode->i_sb, inode->i_ino); + stat->ino = ceph_present_inode(inode); /* * btime on newly-allocated inodes is 0, so if this is still set to --- linux-riscv-5.8-5.8.0.orig/fs/ceph/mds_client.c +++ linux-riscv-5.8-5.8.0/fs/ceph/mds_client.c @@ -1785,8 +1785,7 @@ /* * send a session close request */ -static int request_close_session(struct ceph_mds_client *mdsc, - struct ceph_mds_session *session) +static int request_close_session(struct ceph_mds_session *session) { struct ceph_msg *msg; @@ -1809,7 +1808,7 @@ if (session->s_state >= CEPH_MDS_SESSION_CLOSING) return 0; session->s_state = CEPH_MDS_SESSION_CLOSING; - return request_close_session(mdsc, session); + return request_close_session(session); } static bool drop_negative_children(struct dentry *dentry) @@ -3279,8 +3278,10 @@ goto bad; /* version >= 3, feature bits */ ceph_decode_32_safe(&p, end, len, bad); - ceph_decode_64_safe(&p, end, features, bad); - p += len - sizeof(features); + if (len) { + ceph_decode_64_safe(&p, end, features, bad); + p += len - sizeof(features); + } } mutex_lock(&mdsc->mutex); @@ -3529,6 +3530,39 @@ return err; } +static struct dentry* d_find_primary(struct inode *inode) +{ + struct dentry *alias, *dn = NULL; + + if (hlist_empty(&inode->i_dentry)) + return NULL; + + spin_lock(&inode->i_lock); + if (hlist_empty(&inode->i_dentry)) + goto out_unlock; + + if (S_ISDIR(inode->i_mode)) { + alias = hlist_entry(inode->i_dentry.first, struct dentry, d_u.d_alias); + if (!IS_ROOT(alias)) + dn = dget(alias); + goto out_unlock; + } + + hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) { + spin_lock(&alias->d_lock); + if (!d_unhashed(alias) && + (ceph_dentry(alias)->flags & CEPH_DENTRY_PRIMARY_LINK)) { + dn = dget_dlock(alias); + } + spin_unlock(&alias->d_lock); + if (dn) + break; + } +out_unlock: + spin_unlock(&inode->i_lock); + return dn; +} + /* * Encode information about a cap for a reconnect with the MDS. */ @@ -3542,13 +3576,32 @@ struct ceph_inode_info *ci = cap->ci; struct ceph_reconnect_state *recon_state = arg; struct ceph_pagelist *pagelist = recon_state->pagelist; - int err; + struct dentry *dentry; + char *path; + int pathlen, err; + u64 pathbase; u64 snap_follows; dout(" adding %p ino %llx.%llx cap %p %lld %s\n", inode, ceph_vinop(inode), cap, cap->cap_id, ceph_cap_string(cap->issued)); + dentry = d_find_primary(inode); + if (dentry) { + /* set pathbase to parent dir when msg_version >= 2 */ + path = ceph_mdsc_build_path(dentry, &pathlen, &pathbase, + recon_state->msg_version >= 2); + dput(dentry); + if (IS_ERR(path)) { + err = PTR_ERR(path); + goto out_err; + } + } else { + path = NULL; + pathlen = 0; + pathbase = 0; + } + spin_lock(&ci->i_ceph_lock); cap->seq = 0; /* reset cap seq */ cap->issue_seq = 0; /* and issue_seq */ @@ -3569,7 +3622,7 @@ rec.v2.wanted = cpu_to_le32(__ceph_caps_wanted(ci)); rec.v2.issued = cpu_to_le32(cap->issued); rec.v2.snaprealm = cpu_to_le64(ci->i_snap_realm->ino); - rec.v2.pathbase = 0; + rec.v2.pathbase = cpu_to_le64(pathbase); rec.v2.flock_len = (__force __le32) ((ci->i_ceph_flags & CEPH_I_ERROR_FILELOCK) ? 0 : 1); } else { @@ -3580,7 +3633,7 @@ ceph_encode_timespec64(&rec.v1.mtime, &inode->i_mtime); ceph_encode_timespec64(&rec.v1.atime, &inode->i_atime); rec.v1.snaprealm = cpu_to_le64(ci->i_snap_realm->ino); - rec.v1.pathbase = 0; + rec.v1.pathbase = cpu_to_le64(pathbase); } if (list_empty(&ci->i_cap_snaps)) { @@ -3642,7 +3695,7 @@ sizeof(struct ceph_filelock); rec.v2.flock_len = cpu_to_le32(struct_len); - struct_len += sizeof(u32) + sizeof(rec.v2); + struct_len += sizeof(u32) + pathlen + sizeof(rec.v2); if (struct_v >= 2) struct_len += sizeof(u64); /* snap_follows */ @@ -3666,7 +3719,7 @@ ceph_pagelist_encode_8(pagelist, 1); ceph_pagelist_encode_32(pagelist, struct_len); } - ceph_pagelist_encode_string(pagelist, NULL, 0); + ceph_pagelist_encode_string(pagelist, path, pathlen); ceph_pagelist_append(pagelist, &rec, sizeof(rec.v2)); ceph_locks_to_pagelist(flocks, pagelist, num_fcntl_locks, num_flock_locks); @@ -3675,39 +3728,20 @@ out_freeflocks: kfree(flocks); } else { - u64 pathbase = 0; - int pathlen = 0; - char *path = NULL; - struct dentry *dentry; - - dentry = d_find_alias(inode); - if (dentry) { - path = ceph_mdsc_build_path(dentry, - &pathlen, &pathbase, 0); - dput(dentry); - if (IS_ERR(path)) { - err = PTR_ERR(path); - goto out_err; - } - rec.v1.pathbase = cpu_to_le64(pathbase); - } - err = ceph_pagelist_reserve(pagelist, sizeof(u64) + sizeof(u32) + pathlen + sizeof(rec.v1)); - if (err) { - goto out_freepath; - } + if (err) + goto out_err; ceph_pagelist_encode_64(pagelist, ceph_ino(inode)); ceph_pagelist_encode_string(pagelist, path, pathlen); ceph_pagelist_append(pagelist, &rec, sizeof(rec.v1)); -out_freepath: - ceph_mdsc_free_path(path, pathlen); } out_err: - if (err >= 0) + ceph_mdsc_free_path(path, pathlen); + if (!err) recon_state->nr_caps++; return err; } @@ -4111,7 +4145,7 @@ dname.len, dname.name); mutex_lock(&session->s_mutex); - session->s_seq++; + inc_session_sequence(session); if (!inode) { dout("handle_lease no inode %llx\n", vino.ino); @@ -4263,6 +4297,50 @@ ceph_force_reconnect(fsc->sb); } +bool check_session_state(struct ceph_mds_session *s) +{ + switch (s->s_state) { + case CEPH_MDS_SESSION_OPEN: + if (s->s_ttl && time_after(jiffies, s->s_ttl)) { + s->s_state = CEPH_MDS_SESSION_HUNG; + pr_info("mds%d hung\n", s->s_mds); + } + break; + case CEPH_MDS_SESSION_CLOSING: + /* Should never reach this when we're unmounting */ + WARN_ON_ONCE(true); + fallthrough; + case CEPH_MDS_SESSION_NEW: + case CEPH_MDS_SESSION_RESTARTING: + case CEPH_MDS_SESSION_CLOSED: + case CEPH_MDS_SESSION_REJECTED: + return false; + } + + return true; +} + +/* + * If the sequence is incremented while we're waiting on a REQUEST_CLOSE reply, + * then we need to retransmit that request. + */ +void inc_session_sequence(struct ceph_mds_session *s) +{ + lockdep_assert_held(&s->s_mutex); + + s->s_seq++; + + if (s->s_state == CEPH_MDS_SESSION_CLOSING) { + int ret; + + dout("resending session close request for mds%d\n", s->s_mds); + ret = request_close_session(s); + if (ret < 0) + pr_err("unable to close session to mds%d: %d\n", + s->s_mds, ret); + } +} + /* * delayed work -- periodically trim expired leases, renew caps with mds */ @@ -4283,6 +4361,9 @@ dout("mdsc delayed_work\n"); + if (mdsc->stopping) + return; + mutex_lock(&mdsc->mutex); renew_interval = mdsc->mdsmap->m_session_timeout >> 2; renew_caps = time_after_eq(jiffies, HZ*renew_interval + @@ -4294,23 +4375,8 @@ struct ceph_mds_session *s = __ceph_lookup_mds_session(mdsc, i); if (!s) continue; - if (s->s_state == CEPH_MDS_SESSION_CLOSING) { - dout("resending session close request for mds%d\n", - s->s_mds); - request_close_session(mdsc, s); - ceph_put_mds_session(s); - continue; - } - if (s->s_ttl && time_after(jiffies, s->s_ttl)) { - if (s->s_state == CEPH_MDS_SESSION_OPEN) { - s->s_state = CEPH_MDS_SESSION_HUNG; - pr_info("mds%d hung\n", s->s_mds); - } - } - if (s->s_state == CEPH_MDS_SESSION_NEW || - s->s_state == CEPH_MDS_SESSION_RESTARTING || - s->s_state == CEPH_MDS_SESSION_REJECTED) { - /* this mds is failed or recovering, just wait */ + + if (!check_session_state(s)) { ceph_put_mds_session(s); continue; } @@ -4359,7 +4425,6 @@ goto err_mdsc; } - fsc->mdsc = mdsc; init_completion(&mdsc->safe_umount_waiters); init_waitqueue_head(&mdsc->session_close_wq); INIT_LIST_HEAD(&mdsc->waiting_for_map); @@ -4414,6 +4479,8 @@ strscpy(mdsc->nodename, utsname()->nodename, sizeof(mdsc->nodename)); + + fsc->mdsc = mdsc; return 0; err_mdsmap: @@ -4657,7 +4724,16 @@ static void ceph_mdsc_stop(struct ceph_mds_client *mdsc) { dout("stop\n"); - cancel_delayed_work_sync(&mdsc->delayed_work); /* cancel timer */ + /* + * Make sure the delayed work stopped before releasing + * the resources. + * + * Because the cancel_delayed_work_sync() will only + * guarantee that the work finishes executing. But the + * delayed work will re-arm itself again after that. + */ + flush_delayed_work(&mdsc->delayed_work); + if (mdsc->mdsmap) ceph_mdsmap_destroy(mdsc->mdsmap); kfree(mdsc->sessions); --- linux-riscv-5.8-5.8.0.orig/fs/ceph/mds_client.h +++ linux-riscv-5.8-5.8.0/fs/ceph/mds_client.h @@ -18,6 +18,7 @@ #include #include "metric.h" +#include "super.h" /* The first 8 bits are reserved for old ceph releases */ enum ceph_feature_type { @@ -369,7 +370,7 @@ struct cap_wait { struct list_head list; - unsigned long ino; + u64 ino; pid_t tgid; int need; int want; @@ -476,6 +477,9 @@ extern const char *ceph_mds_op_name(int op); +extern bool check_session_state(struct ceph_mds_session *s); +void inc_session_sequence(struct ceph_mds_session *s); + extern struct ceph_mds_session * __ceph_lookup_mds_session(struct ceph_mds_client *, int mds); --- linux-riscv-5.8-5.8.0.orig/fs/ceph/mdsmap.c +++ linux-riscv-5.8-5.8.0/fs/ceph/mdsmap.c @@ -245,8 +245,8 @@ } if (state <= 0) { - pr_warn("mdsmap_decode got incorrect state(%s)\n", - ceph_mds_state_name(state)); + dout("mdsmap_decode got incorrect state(%s)\n", + ceph_mds_state_name(state)); continue; } --- linux-riscv-5.8-5.8.0.orig/fs/ceph/quota.c +++ linux-riscv-5.8-5.8.0/fs/ceph/quota.c @@ -23,12 +23,12 @@ { struct ceph_mds_client *mdsc = ceph_inode_to_client(inode)->mdsc; struct super_block *sb = mdsc->fsc->sb; + struct inode *root = d_inode(sb->s_root); if (atomic64_read(&mdsc->quotarealms_count) > 0) return true; /* if root is the real CephFS root, we don't have quota realms */ - if (sb->s_root->d_inode && - (sb->s_root->d_inode->i_ino == CEPH_INO_ROOT)) + if (root && ceph_ino(root) == CEPH_INO_ROOT) return false; /* otherwise, we can't know for sure */ return true; @@ -53,7 +53,7 @@ /* increment msg sequence number */ mutex_lock(&session->s_mutex); - session->s_seq++; + inc_session_sequence(session); mutex_unlock(&session->s_mutex); /* lookup inode */ --- linux-riscv-5.8-5.8.0.orig/fs/ceph/snap.c +++ linux-riscv-5.8-5.8.0/fs/ceph/snap.c @@ -873,7 +873,7 @@ ceph_snap_op_name(op), split, trace_len); mutex_lock(&session->s_mutex); - session->s_seq++; + inc_session_sequence(session); mutex_unlock(&session->s_mutex); down_write(&mdsc->snap_rwsem); --- linux-riscv-5.8-5.8.0.orig/fs/ceph/super.h +++ linux-riscv-5.8-5.8.0/fs/ceph/super.h @@ -457,15 +457,7 @@ return ceph_inode(inode)->i_vino; } -/* - * ino_t is <64 bits on many architectures, blech. - * - * i_ino (kernel inode) st_ino (userspace) - * i386 32 32 - * x86_64+ino32 64 32 - * x86_64 64 64 - */ -static inline u32 ceph_ino_to_ino32(__u64 vino) +static inline u32 ceph_ino_to_ino32(u64 vino) { u32 ino = vino & 0xffffffff; ino ^= vino >> 32; @@ -475,34 +467,17 @@ } /* - * kernel i_ino value + * Inode numbers in cephfs are 64 bits, but inode->i_ino is 32-bits on + * some arches. We generally do not use this value inside the ceph driver, but + * we do want to set it to something, so that generic vfs code has an + * appropriate value for tracepoints and the like. */ -static inline ino_t ceph_vino_to_ino(struct ceph_vino vino) +static inline ino_t ceph_vino_to_ino_t(struct ceph_vino vino) { -#if BITS_PER_LONG == 32 - return ceph_ino_to_ino32(vino.ino); -#else + if (sizeof(ino_t) == sizeof(u32)) + return ceph_ino_to_ino32(vino.ino); return (ino_t)vino.ino; -#endif -} - -/* - * user-visible ino (stat, filldir) - */ -#if BITS_PER_LONG == 32 -static inline ino_t ceph_translate_ino(struct super_block *sb, ino_t ino) -{ - return ino; -} -#else -static inline ino_t ceph_translate_ino(struct super_block *sb, ino_t ino) -{ - if (ceph_test_mount_opt(ceph_sb_to_client(sb), INO32)) - ino = ceph_ino_to_ino32(ino); - return ino; } -#endif - /* for printf-style formatting */ #define ceph_vinop(i) ceph_inode(i)->i_vino.ino, ceph_inode(i)->i_vino.snap @@ -511,11 +486,34 @@ { return ceph_inode(inode)->i_vino.ino; } + static inline u64 ceph_snap(struct inode *inode) { return ceph_inode(inode)->i_vino.snap; } +/** + * ceph_present_ino - format an inode number for presentation to userland + * @sb: superblock where the inode lives + * @ino: inode number to (possibly) convert + * + * If the user mounted with the ino32 option, then the 64-bit value needs + * to be converted to something that can fit inside 32 bits. Note that + * internal kernel code never uses this value, so this is entirely for + * userland consumption. + */ +static inline u64 ceph_present_ino(struct super_block *sb, u64 ino) +{ + if (unlikely(ceph_test_mount_opt(ceph_sb_to_client(sb), INO32))) + return ceph_ino_to_ino32(ino); + return ino; +} + +static inline u64 ceph_present_inode(struct inode *inode) +{ + return ceph_present_ino(inode->i_sb, ceph_ino(inode)); +} + static inline int ceph_ino_compare(struct inode *inode, void *data) { struct ceph_vino *pvino = (struct ceph_vino *)data; @@ -524,11 +522,16 @@ ci->i_vino.snap == pvino->snap; } + static inline struct inode *ceph_find_inode(struct super_block *sb, struct ceph_vino vino) { - ino_t t = ceph_vino_to_ino(vino); - return ilookup5(sb, t, ceph_ino_compare, &vino); + /* + * NB: The hashval will be run through the fs/inode.c hash function + * anyway, so there is no need to squash the inode number down to + * 32-bits first. Just use low-order bits on arches with 32-bit long. + */ + return ilookup5(sb, (unsigned long)vino.ino, ceph_ino_compare, &vino); } --- linux-riscv-5.8-5.8.0.orig/fs/ceph/xattr.c +++ linux-riscv-5.8-5.8.0/fs/ceph/xattr.c @@ -1272,12 +1272,16 @@ void ceph_release_acl_sec_ctx(struct ceph_acl_sec_ctx *as_ctx) { +#ifdef CONFIG_CEPH_FS_SECURITY_LABEL + struct lsmcontext scaff; /* scaffolding */ +#endif #ifdef CONFIG_CEPH_FS_POSIX_ACL posix_acl_release(as_ctx->acl); 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); + lsmcontext_init(&scaff, as_ctx->sec_ctx, as_ctx->sec_ctxlen, 0); + security_release_secctx(&scaff); #endif if (as_ctx->pagelist) ceph_pagelist_release(as_ctx->pagelist); --- linux-riscv-5.8-5.8.0.orig/fs/cifs/asn1.c +++ linux-riscv-5.8-5.8.0/fs/cifs/asn1.c @@ -530,8 +530,8 @@ return 0; } else if ((cls != ASN1_CTX) || (con != ASN1_CON) || (tag != ASN1_EOC)) { - cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 0\n", - cls, con, tag, end, *end); + cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p exit 0\n", + cls, con, tag, end); return 0; } @@ -541,8 +541,8 @@ return 0; } else if ((cls != ASN1_UNI) || (con != ASN1_CON) || (tag != ASN1_SEQ)) { - cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 1\n", - cls, con, tag, end, *end); + cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p exit 1\n", + cls, con, tag, end); return 0; } @@ -552,8 +552,8 @@ return 0; } else if ((cls != ASN1_CTX) || (con != ASN1_CON) || (tag != ASN1_EOC)) { - cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 0\n", - cls, con, tag, end, *end); + cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p exit 0\n", + cls, con, tag, end); return 0; } @@ -564,8 +564,8 @@ return 0; } else if ((cls != ASN1_UNI) || (con != ASN1_CON) || (tag != ASN1_SEQ)) { - cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 1\n", - cls, con, tag, end, *end); + cifs_dbg(FYI, "cls = %d con = %d tag = %d sequence_end = %p exit 1\n", + cls, con, tag, sequence_end); return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifs_unicode.c +++ linux-riscv-5.8-5.8.0/fs/cifs/cifs_unicode.c @@ -488,7 +488,13 @@ else if (map_chars == SFM_MAP_UNI_RSVD) { bool end_of_string; - if (i == srclen - 1) + /** + * Remap spaces and periods found at the end of every + * component of the path. The special cases of '.' and + * '..' do not need to be dealt with explicitly because + * they are addressed in namei.c:link_path_walk(). + **/ + if ((i == srclen - 1) || (source[i+1] == '\\')) end_of_string = true; else end_of_string = false; --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifsacl.c +++ linux-riscv-5.8-5.8.0/fs/cifs/cifsacl.c @@ -338,7 +338,7 @@ goto out_key_put; } -static int +int sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, struct cifs_fattr *fattr, uint sidtype) { @@ -359,7 +359,8 @@ return -EIO; } - if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UID_FROM_ACL) { + if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UID_FROM_ACL) || + (cifs_sb_master_tcon(cifs_sb)->posix_extensions)) { uint32_t unix_id; bool is_group; @@ -1265,6 +1266,7 @@ cifs_dbg(VFS, "%s: error %d getting sec desc\n", __func__, rc); } else if (mode_from_special_sid) { rc = parse_sec_desc(cifs_sb, pntsd, acllen, fattr, true); + kfree(pntsd); } else { /* get approximated mode from ACL */ rc = parse_sec_desc(cifs_sb, pntsd, acllen, fattr, false); --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifsfs.c +++ linux-riscv-5.8-5.8.0/fs/cifs/cifsfs.c @@ -71,6 +71,8 @@ bool linuxExtEnabled = true; bool lookupCacheEnabled = true; bool disable_legacy_dialects; /* false by default */ +bool enable_gcm_256; /* false by default, change when more servers support it */ +bool require_gcm_256; /* false by default */ unsigned int global_secflags = CIFSSEC_DEF; /* unsigned int ntlmv2_support = 0; */ unsigned int sign_CIFS_PDUs = 1; @@ -104,6 +106,12 @@ module_param(enable_oplocks, bool, 0644); MODULE_PARM_DESC(enable_oplocks, "Enable or disable oplocks. Default: y/Y/1"); +module_param(enable_gcm_256, bool, 0644); +MODULE_PARM_DESC(enable_gcm_256, "Enable requesting strongest (256 bit) GCM encryption. Default: n/N/0"); + +module_param(require_gcm_256, bool, 0644); +MODULE_PARM_DESC(require_gcm_256, "Require strongest (256 bit) GCM encryption. Default: n/N/0"); + module_param(disable_legacy_dialects, bool, 0644); MODULE_PARM_DESC(disable_legacy_dialects, "To improve security it may be " "helpful to restrict the ability to " @@ -278,7 +286,7 @@ rc = server->ops->queryfs(xid, tcon, cifs_sb, buf); free_xid(xid); - return 0; + return rc; } static long cifs_fallocate(struct file *file, int mode, loff_t off, loff_t len) --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifsglob.h +++ linux-riscv-5.8-5.8.0/fs/cifs/cifsglob.h @@ -268,7 +268,7 @@ /* verify the message */ int (*check_message)(char *, unsigned int, struct TCP_Server_Info *); bool (*is_oplock_break)(char *, struct TCP_Server_Info *); - int (*handle_cancelled_mid)(char *, struct TCP_Server_Info *); + int (*handle_cancelled_mid)(struct mid_q_entry *, struct TCP_Server_Info *); void (*downgrade_oplock)(struct TCP_Server_Info *server, struct cifsInodeInfo *cinode, __u32 oplock, unsigned int epoch, bool *purge_cache); @@ -510,6 +510,8 @@ struct fiemap_extent_info *, u64, u64); /* version specific llseek implementation */ loff_t (*llseek)(struct file *, struct cifs_tcon *, loff_t, int); + /* Check for STATUS_IO_TIMEOUT */ + bool (*is_status_io_timeout)(char *buf); }; struct smb_version_values { @@ -1008,8 +1010,8 @@ bool binding:1; /* are we binding the session? */ __u16 session_flags; __u8 smb3signingkey[SMB3_SIGN_KEY_SIZE]; - __u8 smb3encryptionkey[SMB3_SIGN_KEY_SIZE]; - __u8 smb3decryptionkey[SMB3_SIGN_KEY_SIZE]; + __u8 smb3encryptionkey[SMB3_ENC_DEC_KEY_SIZE]; + __u8 smb3decryptionkey[SMB3_ENC_DEC_KEY_SIZE]; __u8 preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE]; __u8 binding_preauth_sha_hash[SMB2_PREAUTH_HASH_SIZE]; @@ -1791,10 +1793,11 @@ #define CIFS_NO_RSP_BUF 0x040 /* no response buffer required */ /* Type of request operation */ -#define CIFS_ECHO_OP 0x080 /* echo request */ -#define CIFS_OBREAK_OP 0x0100 /* oplock break request */ -#define CIFS_NEG_OP 0x0200 /* negotiate request */ -#define CIFS_OP_MASK 0x0380 /* mask request type */ +#define CIFS_ECHO_OP 0x080 /* echo request */ +#define CIFS_OBREAK_OP 0x0100 /* oplock break request */ +#define CIFS_NEG_OP 0x0200 /* negotiate request */ +#define CIFS_CP_CREATE_CLOSE_OP 0x0400 /* compound create+close request */ +#define CIFS_OP_MASK 0x0780 /* mask request type */ #define CIFS_HAS_CREDITS 0x0400 /* already has credits */ #define CIFS_TRANSFORM_REQ 0x0800 /* transform request before sending */ @@ -1954,6 +1957,8 @@ extern unsigned int global_secflags; /* if on, session setup sent with more secure ntlmssp2 challenge/resp */ extern unsigned int sign_CIFS_PDUs; /* enable smb packet signing */ +extern bool enable_gcm_256; /* allow optional negotiate of strongest signing (aes-gcm-256) */ +extern bool require_gcm_256; /* require use of strongest signing (aes-gcm-256) */ extern bool linuxExtEnabled;/*enable Linux/Unix CIFS extensions*/ extern unsigned int CIFSMaxBufSize; /* max size not including hdr */ extern unsigned int cifs_min_rcv; /* min size of big ntwrk buf pool */ --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifspdu.h +++ linux-riscv-5.8-5.8.0/fs/cifs/cifspdu.h @@ -147,6 +147,11 @@ */ #define SMB3_SIGN_KEY_SIZE (16) +/* + * Size of the smb3 encryption/decryption keys + */ +#define SMB3_ENC_DEC_KEY_SIZE (32) + #define CIFS_CLIENT_CHALLENGE_SIZE (8) #define CIFS_SERVER_CHALLENGE_SIZE (8) #define CIFS_HMAC_MD5_HASH_SIZE (16) --- linux-riscv-5.8-5.8.0.orig/fs/cifs/cifsproto.h +++ linux-riscv-5.8-5.8.0/fs/cifs/cifsproto.h @@ -208,6 +208,8 @@ extern int cifs_rename_pending_delete(const char *full_path, struct dentry *dentry, const unsigned int xid); +extern int sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, + struct cifs_fattr *fattr, uint sidtype); extern int cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, struct inode *inode, bool get_mode_from_special_sid, --- linux-riscv-5.8-5.8.0.orig/fs/cifs/connect.c +++ linux-riscv-5.8-5.8.0/fs/cifs/connect.c @@ -69,6 +69,9 @@ #define TLINK_ERROR_EXPIRE (1 * HZ) #define TLINK_IDLE_EXPIRE (600 * HZ) +/* Drop the connection to not overload the server */ +#define NUM_STATUS_IO_TIMEOUT 5 + enum { /* Mount options that take no arguments */ Opt_user_xattr, Opt_nouser_xattr, @@ -931,6 +934,8 @@ list_del_init(&server->tcp_ses_list); spin_unlock(&cifs_tcp_ses_lock); + cancel_delayed_work_sync(&server->echo); + spin_lock(&GlobalMid_Lock); server->tcpStatus = CifsExiting; spin_unlock(&GlobalMid_Lock); @@ -1116,7 +1121,7 @@ struct task_struct *task_to_wake = NULL; struct mid_q_entry *mids[MAX_COMPOUND]; char *bufs[MAX_COMPOUND]; - unsigned int noreclaim_flag; + unsigned int noreclaim_flag, num_io_timeout = 0; noreclaim_flag = memalloc_noreclaim_save(); cifs_dbg(FYI, "Demultiplex PID: %d\n", task_pid_nr(current)); @@ -1212,6 +1217,16 @@ continue; } + if (server->ops->is_status_io_timeout && + server->ops->is_status_io_timeout(buf)) { + num_io_timeout++; + if (num_io_timeout > NUM_STATUS_IO_TIMEOUT) { + cifs_reconnect(server); + num_io_timeout = 0; + continue; + } + } + server->lstrp = jiffies; for (i = 0; i < num_mids; i++) { @@ -2843,6 +2858,11 @@ tcp_ses->min_offload = volume_info->min_offload; tcp_ses->tcpStatus = CifsNeedNegotiate; + if ((volume_info->max_credits < 20) || (volume_info->max_credits > 60000)) + tcp_ses->max_credits = SMB2_MAX_CREDITS_AVAILABLE; + else + tcp_ses->max_credits = volume_info->max_credits; + tcp_ses->nr_targets = 1; tcp_ses->ignore_signature = volume_info->ignore_signature; /* thread spawned, put it on the list */ @@ -3594,7 +3614,10 @@ */ tcon->retry = volume_info->retry; tcon->nocase = volume_info->nocase; - tcon->nohandlecache = volume_info->nohandlecache; + if (ses->server->capabilities & SMB2_GLOBAL_CAP_DIRECTORY_LEASING) + tcon->nohandlecache = volume_info->nohandlecache; + else + tcon->nohandlecache = 1; tcon->nodelete = volume_info->nodelete; tcon->local_lease = volume_info->local_lease; INIT_LIST_HEAD(&tcon->pending_opens); @@ -4279,11 +4302,6 @@ *nserver = server; - if ((vol->max_credits < 20) || (vol->max_credits > 60000)) - server->max_credits = SMB2_MAX_CREDITS_AVAILABLE; - else - server->max_credits = vol->max_credits; - /* get a reference to a SMB session */ ses = cifs_get_smb_ses(server, vol); if (IS_ERR(ses)) { --- linux-riscv-5.8-5.8.0.orig/fs/cifs/dfs_cache.c +++ linux-riscv-5.8-5.8.0/fs/cifs/dfs_cache.c @@ -1257,7 +1257,8 @@ vi = find_vol(fullpath); spin_unlock(&vol_list_lock); - kref_put(&vi->refcnt, vol_release); + if (!IS_ERR(vi)) + kref_put(&vi->refcnt, vol_release); } /** --- linux-riscv-5.8-5.8.0.orig/fs/cifs/dir.c +++ linux-riscv-5.8-5.8.0/fs/cifs/dir.c @@ -736,6 +736,7 @@ cifs_d_revalidate(struct dentry *direntry, unsigned int flags) { struct inode *inode; + int rc; if (flags & LOOKUP_RCU) return -ECHILD; @@ -745,8 +746,25 @@ if ((flags & LOOKUP_REVAL) && !CIFS_CACHE_READ(CIFS_I(inode))) CIFS_I(inode)->time = 0; /* force reval */ - if (cifs_revalidate_dentry(direntry)) - return 0; + rc = cifs_revalidate_dentry(direntry); + if (rc) { + cifs_dbg(FYI, "cifs_revalidate_dentry failed with rc=%d", rc); + switch (rc) { + case -ENOENT: + case -ESTALE: + /* + * Those errors mean the dentry is invalid + * (file was deleted or recreated) + */ + return 0; + default: + /* + * Otherwise some unexpected error happened + * report it as-is to VFS layer + */ + return rc; + } + } else { /* * If the inode wasn't known to be a dfs entry when --- linux-riscv-5.8-5.8.0.orig/fs/cifs/file.c +++ linux-riscv-5.8-5.8.0/fs/cifs/file.c @@ -164,6 +164,7 @@ goto posix_open_ret; } } else { + cifs_revalidate_mapping(*pinode); cifs_fattr_to_inode(*pinode, &fattr); } --- linux-riscv-5.8-5.8.0.orig/fs/cifs/inode.c +++ linux-riscv-5.8-5.8.0/fs/cifs/inode.c @@ -1017,6 +1017,8 @@ if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MODE_FROM_SID) { rc = cifs_acl_to_fattr(cifs_sb, &fattr, *inode, true, full_path, fid); + if (rc == -EREMOTE) + rc = 0; if (rc) { cifs_dbg(FYI, "%s: Get mode from SID failed. rc=%d\n", __func__, rc); @@ -1025,6 +1027,8 @@ } else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) { rc = cifs_acl_to_fattr(cifs_sb, &fattr, *inode, false, full_path, fid); + if (rc == -EREMOTE) + rc = 0; if (rc) { cifs_dbg(FYI, "%s: Getting ACL failed with error: %d\n", __func__, rc); @@ -2345,7 +2349,7 @@ * We need to be sure that all dirty pages are written and the server * has actual ctime, mtime and file length. */ - if ((request_mask & (STATX_CTIME | STATX_MTIME | STATX_SIZE)) && + if ((request_mask & (STATX_CTIME | STATX_MTIME | STATX_SIZE | STATX_BLOCKS)) && !CIFS_CACHE_READ(CIFS_I(inode)) && inode->i_mapping && inode->i_mapping->nrpages != 0) { rc = filemap_fdatawait(inode->i_mapping); @@ -2535,6 +2539,14 @@ if (rc == 0) { cifsInode->server_eof = attrs->ia_size; cifs_setsize(inode, attrs->ia_size); + /* + * i_blocks is not related to (i_size / i_blksize), but instead + * 512 byte (2**9) size is required for calculating num blocks. + * Until we can query the server for actual allocation size, + * this is best estimate we have for blocks allocated for a file + * Number of blocks must be rounded up so size 1 is not 0 blocks + */ + inode->i_blocks = (512 - 1 + attrs->ia_size) >> 9; /* * The man page of truncate says if the size changed, @@ -2881,13 +2893,18 @@ { struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); struct cifs_tcon *pTcon = cifs_sb_master_tcon(cifs_sb); + int rc, retries = 0; - if (pTcon->unix_ext) - return cifs_setattr_unix(direntry, attrs); - - return cifs_setattr_nounix(direntry, attrs); + do { + if (pTcon->unix_ext) + rc = cifs_setattr_unix(direntry, attrs); + else + rc = cifs_setattr_nounix(direntry, attrs); + retries++; + } while (is_retryable_error(rc) && retries < 2); /* BB: add cifs_setattr_legacy for really old servers */ + return rc; } #if 0 --- linux-riscv-5.8-5.8.0.orig/fs/cifs/readdir.c +++ linux-riscv-5.8-5.8.0/fs/cifs/readdir.c @@ -267,9 +267,8 @@ if (reparse_file_needs_reval(fattr)) fattr->cf_flags |= CIFS_FATTR_NEED_REVAL; - /* TODO map SIDs */ - fattr->cf_uid = cifs_sb->mnt_uid; - fattr->cf_gid = cifs_sb->mnt_gid; + sid_to_id(cifs_sb, &parsed.owner, fattr, SIDOWNER); + sid_to_id(cifs_sb, &parsed.group, fattr, SIDGROUP); } static void __dir_info_to_fattr(struct cifs_fattr *fattr, const void *info) --- linux-riscv-5.8-5.8.0.orig/fs/cifs/sess.c +++ linux-riscv-5.8-5.8.0/fs/cifs/sess.c @@ -224,6 +224,7 @@ vol.noautotune = ses->server->noautotune; vol.sockopt_tcp_nodelay = ses->server->tcp_nodelay; vol.echo_interval = ses->server->echo_interval / HZ; + vol.max_credits = ses->server->max_credits; /* * This will be used for encoding/decoding user/domain/pw --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2glob.h +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2glob.h @@ -58,6 +58,8 @@ #define SMB2_HMACSHA256_SIZE (32) #define SMB2_CMACAES_SIZE (16) #define SMB3_SIGNKEY_SIZE (16) +#define SMB3_GCM128_CRYPTKEY_SIZE (16) +#define SMB3_GCM256_CRYPTKEY_SIZE (32) /* Maximum buffer size value we can send with 1 credit */ #define SMB2_MAX_BUFFER_SIZE 65536 --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2inode.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2inode.c @@ -115,6 +115,7 @@ vars->oparms.fid = &fid; vars->oparms.reconnect = false; vars->oparms.mode = mode; + vars->oparms.cifs_sb = cifs_sb; rqst[num_rqst].rq_iov = &vars->open_iov[0]; rqst[num_rqst].rq_nvec = SMB2_CREATE_IOV_SIZE; @@ -357,6 +358,7 @@ if (cfile) goto after_close; /* Close */ + flags |= CIFS_CP_CREATE_CLOSE_OP; rqst[num_rqst].rq_iov = &vars->close_iov[0]; rqst[num_rqst].rq_nvec = 1; rc = SMB2_close_init(tcon, server, --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2maperror.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2maperror.c @@ -488,7 +488,7 @@ {STATUS_PIPE_CONNECTED, -EIO, "STATUS_PIPE_CONNECTED"}, {STATUS_PIPE_LISTENING, -EIO, "STATUS_PIPE_LISTENING"}, {STATUS_INVALID_READ_MODE, -EIO, "STATUS_INVALID_READ_MODE"}, - {STATUS_IO_TIMEOUT, -ETIMEDOUT, "STATUS_IO_TIMEOUT"}, + {STATUS_IO_TIMEOUT, -EAGAIN, "STATUS_IO_TIMEOUT"}, {STATUS_FILE_FORCED_CLOSED, -EIO, "STATUS_FILE_FORCED_CLOSED"}, {STATUS_PROFILING_NOT_STARTED, -EIO, "STATUS_PROFILING_NOT_STARTED"}, {STATUS_PROFILING_NOT_STOPPED, -EIO, "STATUS_PROFILING_NOT_STOPPED"}, --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2misc.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2misc.c @@ -94,6 +94,8 @@ /* SMB2_OPLOCK_BREAK */ cpu_to_le16(24) }; +#define SMB311_NEGPROT_BASE_SIZE (sizeof(struct smb2_sync_hdr) + sizeof(struct smb2_negotiate_rsp)) + static __u32 get_neg_ctxt_len(struct smb2_sync_hdr *hdr, __u32 len, __u32 non_ctxlen) { @@ -109,11 +111,17 @@ /* Make sure that negotiate contexts start after gss security blob */ nc_offset = le32_to_cpu(pneg_rsp->NegotiateContextOffset); - if (nc_offset < non_ctxlen) { - pr_warn_once("Invalid negotiate context offset\n"); + if (nc_offset + 1 < non_ctxlen) { + pr_warn_once("Invalid negotiate context offset %d\n", nc_offset); return 0; - } - size_of_pad_before_neg_ctxts = nc_offset - non_ctxlen; + } else if (nc_offset + 1 == non_ctxlen) { + cifs_dbg(FYI, "no SPNEGO security blob in negprot rsp\n"); + size_of_pad_before_neg_ctxts = 0; + } else if (non_ctxlen == SMB311_NEGPROT_BASE_SIZE) + /* has padding, but no SPNEGO blob */ + size_of_pad_before_neg_ctxts = nc_offset - non_ctxlen + 1; + else + size_of_pad_before_neg_ctxts = nc_offset - non_ctxlen; /* Verify that at least minimal negotiate contexts fit within frame */ if (len < nc_offset + (neg_count * sizeof(struct smb2_neg_context))) { @@ -508,15 +516,31 @@ kfree(lw); } +static void +smb2_queue_pending_open_break(struct tcon_link *tlink, __u8 *lease_key, + __le32 new_lease_state) +{ + struct smb2_lease_break_work *lw; + + lw = kmalloc(sizeof(struct smb2_lease_break_work), GFP_KERNEL); + if (!lw) { + cifs_put_tlink(tlink); + return; + } + + INIT_WORK(&lw->lease_break, cifs_ses_oplock_break); + lw->tlink = tlink; + lw->lease_state = new_lease_state; + memcpy(lw->lease_key, lease_key, SMB2_LEASE_KEY_SIZE); + queue_work(cifsiod_wq, &lw->lease_break); +} + static bool -smb2_tcon_has_lease(struct cifs_tcon *tcon, struct smb2_lease_break *rsp, - struct smb2_lease_break_work *lw) +smb2_tcon_has_lease(struct cifs_tcon *tcon, struct smb2_lease_break *rsp) { - bool found; __u8 lease_state; struct list_head *tmp; struct cifsFileInfo *cfile; - struct cifs_pending_open *open; struct cifsInodeInfo *cinode; int ack_req = le32_to_cpu(rsp->Flags & SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED); @@ -546,22 +570,29 @@ cfile->oplock_level = lease_state; cifs_queue_oplock_break(cfile); - kfree(lw); return true; } - found = false; + return false; +} + +static struct cifs_pending_open * +smb2_tcon_find_pending_open_lease(struct cifs_tcon *tcon, + struct smb2_lease_break *rsp) +{ + __u8 lease_state = le32_to_cpu(rsp->NewLeaseState); + int ack_req = le32_to_cpu(rsp->Flags & + SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED); + struct cifs_pending_open *open; + struct cifs_pending_open *found = NULL; + list_for_each_entry(open, &tcon->pending_opens, olist) { if (memcmp(open->lease_key, rsp->LeaseKey, SMB2_LEASE_KEY_SIZE)) continue; if (!found && ack_req) { - found = true; - memcpy(lw->lease_key, open->lease_key, - SMB2_LEASE_KEY_SIZE); - lw->tlink = cifs_get_tlink(open->tlink); - queue_work(cifsiod_wq, &lw->lease_break); + found = open; } cifs_dbg(FYI, "found in the pending open list\n"); @@ -582,14 +613,7 @@ struct TCP_Server_Info *server; struct cifs_ses *ses; struct cifs_tcon *tcon; - struct smb2_lease_break_work *lw; - - lw = kmalloc(sizeof(struct smb2_lease_break_work), GFP_KERNEL); - if (!lw) - return false; - - INIT_WORK(&lw->lease_break, cifs_ses_oplock_break); - lw->lease_state = rsp->NewLeaseState; + struct cifs_pending_open *open; cifs_dbg(FYI, "Checking for lease break\n"); @@ -607,9 +631,25 @@ spin_lock(&tcon->open_file_lock); cifs_stats_inc( &tcon->stats.cifs_stats.num_oplock_brks); - if (smb2_tcon_has_lease(tcon, rsp, lw)) { + if (smb2_tcon_has_lease(tcon, rsp)) { + spin_unlock(&tcon->open_file_lock); + spin_unlock(&cifs_tcp_ses_lock); + return true; + } + open = smb2_tcon_find_pending_open_lease(tcon, + rsp); + if (open) { + __u8 lease_key[SMB2_LEASE_KEY_SIZE]; + struct tcon_link *tlink; + + tlink = cifs_get_tlink(open->tlink); + memcpy(lease_key, open->lease_key, + SMB2_LEASE_KEY_SIZE); spin_unlock(&tcon->open_file_lock); spin_unlock(&cifs_tcp_ses_lock); + smb2_queue_pending_open_break(tlink, + lease_key, + rsp->NewLeaseState); return true; } spin_unlock(&tcon->open_file_lock); @@ -629,7 +669,6 @@ } } spin_unlock(&cifs_tcp_ses_lock); - kfree(lw); cifs_dbg(FYI, "Can not process lease break - no lease matched\n"); return false; } @@ -706,8 +745,8 @@ } } spin_unlock(&cifs_tcp_ses_lock); - cifs_dbg(FYI, "Can not process oplock break for non-existent connection\n"); - return false; + cifs_dbg(FYI, "No file id matched, oplock break ignored\n"); + return true; } void @@ -796,14 +835,14 @@ } int -smb2_handle_cancelled_mid(char *buffer, struct TCP_Server_Info *server) +smb2_handle_cancelled_mid(struct mid_q_entry *mid, struct TCP_Server_Info *server) { - struct smb2_sync_hdr *sync_hdr = (struct smb2_sync_hdr *)buffer; - struct smb2_create_rsp *rsp = (struct smb2_create_rsp *)buffer; + struct smb2_sync_hdr *sync_hdr = mid->resp_buf; + struct smb2_create_rsp *rsp = mid->resp_buf; struct cifs_tcon *tcon; int rc; - if (sync_hdr->Command != SMB2_CREATE || + if ((mid->optype & CIFS_CP_CREATE_CLOSE_OP) || sync_hdr->Command != SMB2_CREATE || sync_hdr->Status != STATUS_SUCCESS) return 0; --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2ops.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2ops.c @@ -262,7 +262,7 @@ } static struct mid_q_entry * -smb2_find_mid(struct TCP_Server_Info *server, char *buf) +__smb2_find_mid(struct TCP_Server_Info *server, char *buf, bool dequeue) { struct mid_q_entry *mid; struct smb2_sync_hdr *shdr = (struct smb2_sync_hdr *)buf; @@ -279,6 +279,10 @@ (mid->mid_state == MID_REQUEST_SUBMITTED) && (mid->command == shdr->Command)) { kref_get(&mid->refcount); + if (dequeue) { + list_del_init(&mid->qhead); + mid->mid_flags |= MID_DELETED; + } spin_unlock(&GlobalMid_Lock); return mid; } @@ -287,6 +291,18 @@ return NULL; } +static struct mid_q_entry * +smb2_find_mid(struct TCP_Server_Info *server, char *buf) +{ + return __smb2_find_mid(server, buf, false); +} + +static struct mid_q_entry * +smb2_find_dequeue_mid(struct TCP_Server_Info *server, char *buf) +{ + return __smb2_find_mid(server, buf, true); +} + static void smb2_dump_detail(void *buf, struct TCP_Server_Info *server) { @@ -459,7 +475,8 @@ goto out; } - if (bytes_left || p->Next) + /* Azure rounds the buffer size up 8, to a 16 byte boundary */ + if ((bytes_left > 8) || p->Next) cifs_dbg(VFS, "%s: incomplete interface info\n", __func__); @@ -1110,7 +1127,7 @@ struct TCP_Server_Info *server = cifs_pick_channel(ses); __le16 *utf16_path = NULL; int ea_name_len = strlen(ea_name); - int flags = 0; + int flags = CIFS_CP_CREATE_CLOSE_OP; int len; struct smb_rqst rqst[3]; int resp_buftype[3]; @@ -1208,7 +1225,7 @@ rqst[1].rq_iov = si_iov; rqst[1].rq_nvec = 1; - len = sizeof(ea) + ea_name_len + ea_value_len + 1; + len = sizeof(*ea) + ea_name_len + ea_value_len + 1; ea = kzalloc(len, GFP_KERNEL); if (ea == NULL) { rc = -ENOMEM; @@ -1488,7 +1505,7 @@ struct smb_query_info qi; struct smb_query_info __user *pqi; int rc = 0; - int flags = 0; + int flags = CIFS_CP_CREATE_CLOSE_OP; struct smb2_query_info_rsp *qi_rsp = NULL; struct smb2_ioctl_rsp *io_rsp = NULL; void *buffer = NULL; @@ -1953,6 +1970,7 @@ { int rc; unsigned int ret_data_len; + struct inode *inode; struct duplicate_extents_to_file dup_ext_buf; struct cifs_tcon *tcon = tlink_tcon(trgtfile->tlink); @@ -1969,10 +1987,21 @@ cifs_dbg(FYI, "Duplicate extents: src off %lld dst off %lld len %lld\n", src_off, dest_off, len); - rc = smb2_set_file_size(xid, tcon, trgtfile, dest_off + len, false); - if (rc) - goto duplicate_extents_out; + inode = d_inode(trgtfile->dentry); + if (inode->i_size < dest_off + len) { + rc = smb2_set_file_size(xid, tcon, trgtfile, dest_off + len, false); + if (rc) + goto duplicate_extents_out; + /* + * Although also could set plausible allocation size (i_blocks) + * here in addition to setting the file size, in reflink + * it is likely that the target file is sparse. Its allocation + * size will be queried on next revalidate, but it is important + * to make sure that file's cached size is updated immediately + */ + cifs_setsize(inode, dest_off + len); + } rc = SMB2_ioctl(xid, tcon, trgtfile->fid.persistent_fid, trgtfile->fid.volatile_fid, FSCTL_DUPLICATE_EXTENTS_TO_FILE, @@ -2346,6 +2375,17 @@ return true; } +static bool +smb2_is_status_io_timeout(char *buf) +{ + struct smb2_sync_hdr *shdr = (struct smb2_sync_hdr *)buf; + + if (shdr->Status == STATUS_IO_TIMEOUT) + return true; + else + return false; +} + static int smb2_oplock_response(struct cifs_tcon *tcon, struct cifs_fid *fid, struct cifsInodeInfo *cinode) @@ -2444,7 +2484,7 @@ { struct cifs_ses *ses = tcon->ses; struct TCP_Server_Info *server = cifs_pick_channel(ses); - int flags = 0; + int flags = CIFS_CP_CREATE_CLOSE_OP; struct smb_rqst rqst[3]; int resp_buftype[3]; struct kvec rsp_iov[3]; @@ -2842,7 +2882,7 @@ unsigned int sub_offset; unsigned int print_len; unsigned int print_offset; - int flags = 0; + int flags = CIFS_CP_CREATE_CLOSE_OP; struct smb_rqst rqst[3]; int resp_buftype[3]; struct kvec rsp_iov[3]; @@ -3072,7 +3112,12 @@ oparms.tcon = tcon; oparms.desired_access = READ_CONTROL; oparms.disposition = FILE_OPEN; - oparms.create_options = cifs_create_options(cifs_sb, 0); + /* + * When querying an ACL, even if the file is a symlink we want to open + * the source not the target, and so the protocol requires that the + * client specify this flag when opening a reparse point + */ + oparms.create_options = cifs_create_options(cifs_sb, 0) | OPEN_REPARSE_POINT; oparms.fid = &fid; oparms.reconnect = false; @@ -3801,10 +3846,11 @@ tr_hdr->ProtocolId = SMB2_TRANSFORM_PROTO_NUM; tr_hdr->OriginalMessageSize = cpu_to_le32(orig_len); tr_hdr->Flags = cpu_to_le16(0x01); - if (cipher_type == SMB2_ENCRYPTION_AES128_GCM) - get_random_bytes(&tr_hdr->Nonce, SMB3_AES128GCM_NONCE); + if ((cipher_type == SMB2_ENCRYPTION_AES128_GCM) || + (cipher_type == SMB2_ENCRYPTION_AES256_GCM)) + get_random_bytes(&tr_hdr->Nonce, SMB3_AES_GCM_NONCE); else - get_random_bytes(&tr_hdr->Nonce, SMB3_AES128CCM_NONCE); + get_random_bytes(&tr_hdr->Nonce, SMB3_AES_CCM_NONCE); memcpy(&tr_hdr->SessionId, &shdr->SessionId, 8); } @@ -3885,7 +3931,7 @@ if (ses->Suid == ses_id) { ses_enc_key = enc ? ses->smb3encryptionkey : ses->smb3decryptionkey; - memcpy(key, ses_enc_key, SMB3_SIGN_KEY_SIZE); + memcpy(key, ses_enc_key, SMB3_ENC_DEC_KEY_SIZE); spin_unlock(&cifs_tcp_ses_lock); return 0; } @@ -3912,7 +3958,7 @@ int rc = 0; struct scatterlist *sg; u8 sign[SMB2_SIGNATURE_SIZE] = {}; - u8 key[SMB3_SIGN_KEY_SIZE]; + u8 key[SMB3_ENC_DEC_KEY_SIZE]; struct aead_request *req; char *iv; unsigned int iv_len; @@ -3924,7 +3970,7 @@ if (rc) { cifs_server_dbg(VFS, "%s: Could not get %scryption key\n", __func__, enc ? "en" : "de"); - return 0; + return rc; } rc = smb3_crypto_aead_allocate(server); @@ -3935,7 +3981,13 @@ tfm = enc ? server->secmech.ccmaesencrypt : server->secmech.ccmaesdecrypt; - rc = crypto_aead_setkey(tfm, key, SMB3_SIGN_KEY_SIZE); + + if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || + (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) + rc = crypto_aead_setkey(tfm, key, SMB3_GCM256_CRYPTKEY_SIZE); + else + rc = crypto_aead_setkey(tfm, key, SMB3_GCM128_CRYPTKEY_SIZE); + if (rc) { cifs_server_dbg(VFS, "%s: Failed to set aead key %d\n", __func__, rc); return rc; @@ -3973,11 +4025,12 @@ goto free_sg; } - if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) - memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES128GCM_NONCE); + 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); else { iv[0] = 3; - memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES128CCM_NONCE); + memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES_CCM_NONCE); } aead_request_set_crypt(req, sg, sg, crypt_len, iv); @@ -4103,7 +4156,8 @@ static int decrypt_raw_data(struct TCP_Server_Info *server, char *buf, unsigned int buf_data_size, struct page **pages, - unsigned int npages, unsigned int page_data_size) + unsigned int npages, unsigned int page_data_size, + bool is_offloaded) { struct kvec iov[2]; struct smb_rqst rqst = {NULL}; @@ -4129,7 +4183,8 @@ memmove(buf, iov[1].iov_base, buf_data_size); - server->total_read = buf_data_size + page_data_size; + if (!is_offloaded) + server->total_read = buf_data_size + page_data_size; return rc; } @@ -4194,7 +4249,8 @@ static int handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid, char *buf, unsigned int buf_len, struct page **pages, - unsigned int npages, unsigned int page_data_size) + unsigned int npages, unsigned int page_data_size, + bool is_offloaded) { unsigned int data_offset; unsigned int data_len; @@ -4216,7 +4272,8 @@ if (server->ops->is_session_expired && server->ops->is_session_expired(buf)) { - cifs_reconnect(server); + if (!is_offloaded) + cifs_reconnect(server); return -1; } @@ -4240,7 +4297,10 @@ cifs_dbg(FYI, "%s: server returned error %d\n", __func__, rdata->result); /* normal error on read response */ - dequeue_mid(mid, false); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_RECEIVED; + else + dequeue_mid(mid, false); return 0; } @@ -4264,7 +4324,10 @@ cifs_dbg(FYI, "%s: data offset (%u) beyond end of smallbuf\n", __func__, data_offset); rdata->result = -EIO; - dequeue_mid(mid, rdata->result); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_MALFORMED; + else + dequeue_mid(mid, rdata->result); return 0; } @@ -4280,21 +4343,30 @@ cifs_dbg(FYI, "%s: data offset (%u) beyond 1st page of response\n", __func__, data_offset); rdata->result = -EIO; - dequeue_mid(mid, rdata->result); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_MALFORMED; + else + dequeue_mid(mid, rdata->result); return 0; } if (data_len > page_data_size - pad_len) { /* data_len is corrupt -- discard frame */ rdata->result = -EIO; - dequeue_mid(mid, rdata->result); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_MALFORMED; + else + dequeue_mid(mid, rdata->result); return 0; } rdata->result = init_read_bvec(pages, npages, page_data_size, cur_off, &bvec); if (rdata->result != 0) { - dequeue_mid(mid, rdata->result); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_MALFORMED; + else + dequeue_mid(mid, rdata->result); return 0; } @@ -4309,7 +4381,10 @@ /* read response payload cannot be in both buf and pages */ WARN_ONCE(1, "buf can not contain only a part of read data"); rdata->result = -EIO; - dequeue_mid(mid, rdata->result); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_MALFORMED; + else + dequeue_mid(mid, rdata->result); return 0; } @@ -4320,7 +4395,10 @@ if (length < 0) return length; - dequeue_mid(mid, false); + if (is_offloaded) + mid->mid_state = MID_RESPONSE_RECEIVED; + else + dequeue_mid(mid, false); return length; } @@ -4342,22 +4420,41 @@ struct mid_q_entry *mid; rc = decrypt_raw_data(dw->server, dw->buf, dw->server->vals->read_rsp_size, - dw->ppages, dw->npages, dw->len); + dw->ppages, dw->npages, dw->len, true); if (rc) { cifs_dbg(VFS, "error decrypting rc=%d\n", rc); goto free_pages; } dw->server->lstrp = jiffies; - mid = smb2_find_mid(dw->server, dw->buf); + mid = smb2_find_dequeue_mid(dw->server, dw->buf); if (mid == NULL) cifs_dbg(FYI, "mid not found\n"); else { mid->decrypted = true; rc = handle_read_data(dw->server, mid, dw->buf, dw->server->vals->read_rsp_size, - dw->ppages, dw->npages, dw->len); - mid->callback(mid); + dw->ppages, dw->npages, dw->len, + true); + if (rc >= 0) { +#ifdef CONFIG_CIFS_STATS2 + mid->when_received = jiffies; +#endif + mid->callback(mid); + } else { + spin_lock(&GlobalMid_Lock); + if (dw->server->tcpStatus == CifsNeedReconnect) { + mid->mid_state = MID_RETRY_NEEDED; + spin_unlock(&GlobalMid_Lock); + mid->callback(mid); + } else { + mid->mid_state = MID_REQUEST_SUBMITTED; + mid->mid_flags &= ~(MID_DELETED); + list_add_tail(&mid->qhead, + &dw->server->pending_mid_q); + spin_unlock(&GlobalMid_Lock); + } + } cifs_mid_q_entry_release(mid); } @@ -4448,7 +4545,7 @@ non_offloaded_decrypt: rc = decrypt_raw_data(server, buf, server->vals->read_rsp_size, - pages, npages, len); + pages, npages, len, false); if (rc) goto free_pages; @@ -4460,7 +4557,7 @@ (*mid)->decrypted = true; rc = handle_read_data(server, *mid, buf, server->vals->read_rsp_size, - pages, npages, len); + pages, npages, len, false); } free_pages: @@ -4504,7 +4601,7 @@ server->total_read += length; buf_size = pdu_length - sizeof(struct smb2_transform_hdr); - length = decrypt_raw_data(server, buf, buf_size, NULL, 0, 0); + length = decrypt_raw_data(server, buf, buf_size, NULL, 0, 0, false); if (length) return length; @@ -4603,7 +4700,7 @@ char *buf = server->large_buf ? server->bigbuf : server->smallbuf; return handle_read_data(server, mid, buf, server->pdu_size, - NULL, 0, 0); + NULL, 0, 0, false); } static int @@ -4809,6 +4906,7 @@ .make_node = smb2_make_node, .fiemap = smb3_fiemap, .llseek = smb3_llseek, + .is_status_io_timeout = smb2_is_status_io_timeout, }; struct smb_version_operations smb21_operations = { @@ -4909,6 +5007,7 @@ .make_node = smb2_make_node, .fiemap = smb3_fiemap, .llseek = smb3_llseek, + .is_status_io_timeout = smb2_is_status_io_timeout, }; struct smb_version_operations smb30_operations = { @@ -5019,6 +5118,7 @@ .make_node = smb2_make_node, .fiemap = smb3_fiemap, .llseek = smb3_llseek, + .is_status_io_timeout = smb2_is_status_io_timeout, }; struct smb_version_operations smb311_operations = { @@ -5130,6 +5230,7 @@ .make_node = smb2_make_node, .fiemap = smb3_fiemap, .llseek = smb3_llseek, + .is_status_io_timeout = smb2_is_status_io_timeout, }; struct smb_version_values smb20_values = { --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2pdu.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2pdu.c @@ -538,8 +538,8 @@ pneg_ctxt->ContextType = SMB2_PREAUTH_INTEGRITY_CAPABILITIES; pneg_ctxt->DataLength = cpu_to_le16(38); pneg_ctxt->HashAlgorithmCount = cpu_to_le16(1); - pneg_ctxt->SaltLength = cpu_to_le16(SMB311_SALT_SIZE); - get_random_bytes(pneg_ctxt->Salt, SMB311_SALT_SIZE); + pneg_ctxt->SaltLength = cpu_to_le16(SMB311_LINUX_CLIENT_SALT_SIZE); + get_random_bytes(pneg_ctxt->Salt, SMB311_LINUX_CLIENT_SALT_SIZE); pneg_ctxt->HashAlgorithms = SMB2_PREAUTH_INTEGRITY_SHA512; } @@ -560,10 +560,22 @@ build_encrypt_ctxt(struct smb2_encryption_neg_context *pneg_ctxt) { pneg_ctxt->ContextType = SMB2_ENCRYPTION_CAPABILITIES; - pneg_ctxt->DataLength = cpu_to_le16(6); /* Cipher Count + two ciphers */ - pneg_ctxt->CipherCount = cpu_to_le16(2); - pneg_ctxt->Ciphers[0] = SMB2_ENCRYPTION_AES128_GCM; - pneg_ctxt->Ciphers[1] = SMB2_ENCRYPTION_AES128_CCM; + if (require_gcm_256) { + pneg_ctxt->DataLength = cpu_to_le16(4); /* Cipher Count + 1 cipher */ + pneg_ctxt->CipherCount = cpu_to_le16(1); + pneg_ctxt->Ciphers[0] = SMB2_ENCRYPTION_AES256_GCM; + } else if (enable_gcm_256) { + pneg_ctxt->DataLength = cpu_to_le16(8); /* Cipher Count + 3 ciphers */ + pneg_ctxt->CipherCount = cpu_to_le16(3); + pneg_ctxt->Ciphers[0] = SMB2_ENCRYPTION_AES128_GCM; + pneg_ctxt->Ciphers[1] = SMB2_ENCRYPTION_AES256_GCM; + pneg_ctxt->Ciphers[2] = SMB2_ENCRYPTION_AES128_CCM; + } else { + pneg_ctxt->DataLength = cpu_to_le16(6); /* Cipher Count + 2 ciphers */ + pneg_ctxt->CipherCount = cpu_to_le16(2); + pneg_ctxt->Ciphers[0] = SMB2_ENCRYPTION_AES128_GCM; + pneg_ctxt->Ciphers[1] = SMB2_ENCRYPTION_AES128_CCM; + } } static unsigned int @@ -665,6 +677,9 @@ if (len < MIN_PREAUTH_CTXT_DATA_LEN) { pr_warn_once("server sent bad preauth context\n"); return; + } else if (len < MIN_PREAUTH_CTXT_DATA_LEN + le16_to_cpu(ctxt->SaltLength)) { + pr_warn_once("server sent invalid SaltLength\n"); + return; } if (le16_to_cpu(ctxt->HashAlgorithmCount) != 1) pr_warn_once("Invalid SMB3 hash algorithm count\n"); @@ -709,8 +724,19 @@ return -EINVAL; } cifs_dbg(FYI, "SMB311 cipher type:%d\n", le16_to_cpu(ctxt->Ciphers[0])); - if ((ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES128_CCM) && - (ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES128_GCM)) { + if (require_gcm_256) { + if (ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES256_GCM) { + cifs_dbg(VFS, "Server does not support requested encryption type (AES256 GCM)\n"); + return -EOPNOTSUPP; + } + } else if (ctxt->Ciphers[0] == 0) { + /* e.g. if server only supported AES256_CCM (very unlikely) */ + cifs_dbg(VFS, "Server does not support requested encryption types\n"); + return -EOPNOTSUPP; + } else if ((ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES128_CCM) && + (ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES128_GCM) && + (ctxt->Ciphers[0] != SMB2_ENCRYPTION_AES256_GCM)) { + /* server returned a cipher we didn't ask for */ pr_warn_once("Invalid SMB3.11 cipher returned\n"); return -EINVAL; } @@ -1387,6 +1413,8 @@ spnego_key = cifs_get_spnego_key(ses); if (IS_ERR(spnego_key)) { rc = PTR_ERR(spnego_key); + if (rc == -ENOKEY) + cifs_dbg(VFS, "Verify user has a krb5 ticket and keyutils is installed\n"); spnego_key = NULL; goto out; } @@ -2346,17 +2374,15 @@ create_sd_buf(umode_t mode, bool set_owner, unsigned int *len) { struct crt_sd_ctxt *buf; - struct cifs_ace *pace; - unsigned int sdlen, acelen; + __u8 *ptr, *aclptr; + unsigned int acelen, acl_size, ace_count; unsigned int owner_offset = 0; unsigned int group_offset = 0; + struct smb3_acl acl; - *len = roundup(sizeof(struct crt_sd_ctxt) + (sizeof(struct cifs_ace) * 2), 8); + *len = roundup(sizeof(struct crt_sd_ctxt) + (sizeof(struct cifs_ace) * 4), 8); if (set_owner) { - /* offset fields are from beginning of security descriptor not of create context */ - owner_offset = sizeof(struct smb3_acl) + (sizeof(struct cifs_ace) * 2); - /* sizeof(struct owner_group_sids) is already multiple of 8 so no need to round */ *len += sizeof(struct owner_group_sids); } @@ -2365,26 +2391,22 @@ if (buf == NULL) return buf; + ptr = (__u8 *)&buf[1]; if (set_owner) { + /* offset fields are from beginning of security descriptor not of create context */ + owner_offset = ptr - (__u8 *)&buf->sd; buf->sd.OffsetOwner = cpu_to_le32(owner_offset); - group_offset = owner_offset + sizeof(struct owner_sid); + group_offset = owner_offset + offsetof(struct owner_group_sids, group); buf->sd.OffsetGroup = cpu_to_le32(group_offset); + + setup_owner_group_sids(ptr); + ptr += sizeof(struct owner_group_sids); } else { buf->sd.OffsetOwner = 0; buf->sd.OffsetGroup = 0; } - sdlen = sizeof(struct smb3_sd) + sizeof(struct smb3_acl) + - 2 * sizeof(struct cifs_ace); - if (set_owner) { - sdlen += sizeof(struct owner_group_sids); - setup_owner_group_sids(owner_offset + sizeof(struct create_context) + 8 /* name */ - + (char *)buf); - } - - buf->ccontext.DataOffset = cpu_to_le16(offsetof - (struct crt_sd_ctxt, sd)); - buf->ccontext.DataLength = cpu_to_le32(sdlen); + buf->ccontext.DataOffset = cpu_to_le16(offsetof(struct crt_sd_ctxt, sd)); buf->ccontext.NameOffset = cpu_to_le16(offsetof(struct crt_sd_ctxt, Name)); buf->ccontext.NameLength = cpu_to_le16(4); /* SMB2_CREATE_SD_BUFFER_TOKEN is "SecD" */ @@ -2393,6 +2415,7 @@ buf->Name[2] = 'c'; buf->Name[3] = 'D'; buf->sd.Revision = 1; /* Must be one see MS-DTYP 2.4.6 */ + /* * ACL is "self relative" ie ACL is stored in contiguous block of memory * and "DP" ie the DACL is present @@ -2400,28 +2423,38 @@ buf->sd.Control = cpu_to_le16(ACL_CONTROL_SR | ACL_CONTROL_DP); /* offset owner, group and Sbz1 and SACL are all zero */ - buf->sd.OffsetDacl = cpu_to_le32(sizeof(struct smb3_sd)); - buf->acl.AclRevision = ACL_REVISION; /* See 2.4.4.1 of MS-DTYP */ + buf->sd.OffsetDacl = cpu_to_le32(ptr - (__u8 *)&buf->sd); + /* Ship the ACL for now. we will copy it into buf later. */ + aclptr = ptr; + ptr += sizeof(struct cifs_acl); /* create one ACE to hold the mode embedded in reserved special SID */ - pace = (struct cifs_ace *)(sizeof(struct crt_sd_ctxt) + (char *)buf); - acelen = setup_special_mode_ACE(pace, (__u64)mode); + acelen = setup_special_mode_ACE((struct cifs_ace *)ptr, (__u64)mode); + ptr += acelen; + acl_size = acelen + sizeof(struct smb3_acl); + ace_count = 1; if (set_owner) { /* we do not need to reallocate buffer to add the two more ACEs. plenty of space */ - pace = (struct cifs_ace *)(acelen + (sizeof(struct crt_sd_ctxt) + (char *)buf)); - acelen += setup_special_user_owner_ACE(pace); - /* it does not appear necessary to add an ACE for the NFS group SID */ - buf->acl.AceCount = cpu_to_le16(3); - } else - buf->acl.AceCount = cpu_to_le16(2); + acelen = setup_special_user_owner_ACE((struct cifs_ace *)ptr); + ptr += acelen; + acl_size += acelen; + ace_count += 1; + } /* and one more ACE to allow access for authenticated users */ - pace = (struct cifs_ace *)(acelen + (sizeof(struct crt_sd_ctxt) + - (char *)buf)); - acelen += setup_authusers_ACE(pace); + acelen = setup_authusers_ACE((struct cifs_ace *)ptr); + ptr += acelen; + acl_size += acelen; + ace_count += 1; + + 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); + memcpy(aclptr, &acl, sizeof(struct cifs_acl)); - buf->acl.AclSize = cpu_to_le16(sizeof(struct cifs_acl) + acelen); + buf->ccontext.DataLength = cpu_to_le32(ptr - (__u8 *)&buf->sd); + *len = ptr - (__u8 *)buf; return buf; } @@ -3314,7 +3347,7 @@ free_rsp_buf(resp_buftype, rsp); /* retry close in a worker thread if this one is interrupted */ - if (rc == -EINTR) { + if (is_interrupt_error(rc)) { int tmp_rc; tmp_rc = smb2_handle_cancelled_close(tcon, persistent_fid, @@ -4098,8 +4131,7 @@ if (rdata->credits.value > 0) { shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(rdata->bytes, SMB2_MAX_BUFFER_SIZE)); - shdr->CreditRequest = - cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 1); + shdr->CreditRequest = cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 8); rc = adjust_credits(server, &rdata->credits, rdata->bytes); if (rc) @@ -4405,8 +4437,7 @@ if (wdata->credits.value > 0) { shdr->CreditCharge = cpu_to_le16(DIV_ROUND_UP(wdata->bytes, SMB2_MAX_BUFFER_SIZE)); - shdr->CreditRequest = - cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 1); + shdr->CreditRequest = cpu_to_le16(le16_to_cpu(shdr->CreditCharge) + 8); rc = adjust_credits(server, &wdata->credits, wdata->bytes); if (rc) --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2pdu.h +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2pdu.h @@ -128,8 +128,8 @@ __le16 StructureSize2; /* size of wct area (varies, request specific) */ } __packed; -#define SMB3_AES128CCM_NONCE 11 -#define SMB3_AES128GCM_NONCE 12 +#define SMB3_AES_CCM_NONCE 11 +#define SMB3_AES_GCM_NONCE 12 /* Transform flags (for 3.0 dialect this flag indicates CCM */ #define TRANSFORM_FLAG_ENCRYPTED 0x0001 @@ -262,7 +262,7 @@ __le32 NegotiateContextOffset; /* SMB3.1.1 only. MBZ earlier */ __le16 NegotiateContextCount; /* SMB3.1.1 only. MBZ earlier */ __le16 Reserved2; - __le16 Dialects[1]; /* One dialect (vers=) at a time for now */ + __le16 Dialects[4]; /* BB expand this if autonegotiate > 4 dialects */ } __packed; /* Dialects */ @@ -306,12 +306,20 @@ /* Followed by array of data */ } __packed; -#define SMB311_SALT_SIZE 32 +#define SMB311_LINUX_CLIENT_SALT_SIZE 32 /* Hash Algorithm Types */ #define SMB2_PREAUTH_INTEGRITY_SHA512 cpu_to_le16(0x0001) #define SMB2_PREAUTH_HASH_SIZE 64 -#define MIN_PREAUTH_CTXT_DATA_LEN (SMB311_SALT_SIZE + 6) +/* + * SaltLength that the server send can be zero, so the only three required + * fields (all __le16) end up six bytes total, so the minimum context data len + * in the response is six bytes which accounts for + * + * HashAlgorithmCount, SaltLength, and 1 HashAlgorithm. + */ +#define MIN_PREAUTH_CTXT_DATA_LEN 6 + struct smb2_preauth_neg_context { __le16 ContextType; /* 1 */ __le16 DataLength; @@ -319,12 +327,15 @@ __le16 HashAlgorithmCount; /* 1 */ __le16 SaltLength; __le16 HashAlgorithms; /* HashAlgorithms[0] since only one defined */ - __u8 Salt[SMB311_SALT_SIZE]; + __u8 Salt[SMB311_LINUX_CLIENT_SALT_SIZE]; } __packed; /* Encryption Algorithms Ciphers */ #define SMB2_ENCRYPTION_AES128_CCM cpu_to_le16(0x0001) #define SMB2_ENCRYPTION_AES128_GCM cpu_to_le16(0x0002) +/* we currently do not request AES256_CCM since presumably GCM faster */ +#define SMB2_ENCRYPTION_AES256_CCM cpu_to_le16(0x0003) +#define SMB2_ENCRYPTION_AES256_GCM cpu_to_le16(0x0004) /* Min encrypt context data is one cipher so 2 bytes + 2 byte count field */ #define MIN_ENCRYPT_CTXT_DATA_LEN 4 @@ -332,8 +343,9 @@ __le16 ContextType; /* 2 */ __le16 DataLength; __le32 Reserved; - __le16 CipherCount; /* AES-128-GCM and AES-128-CCM */ - __le16 Ciphers[2]; + /* CipherCount usally 2, but can be 3 when AES256-GCM enabled */ + __le16 CipherCount; /* AES128-GCM and AES128-CCM by default */ + __le16 Ciphers[3]; } __packed; /* See MS-SMB2 2.2.3.1.3 */ @@ -900,8 +912,6 @@ struct create_context ccontext; __u8 Name[8]; struct smb3_sd sd; - struct smb3_acl acl; - /* Followed by at least 4 ACEs */ } __packed; --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2proto.h +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2proto.h @@ -242,8 +242,7 @@ extern int smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid, __u64 volatile_fid); -extern int smb2_handle_cancelled_mid(char *buffer, - struct TCP_Server_Info *server); +extern int smb2_handle_cancelled_mid(struct mid_q_entry *mid, struct TCP_Server_Info *server); void smb2_cancelled_close_fid(struct work_struct *work); extern int SMB2_QFS_info(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_file_id, u64 volatile_file_id, --- linux-riscv-5.8-5.8.0.orig/fs/cifs/smb2transport.c +++ linux-riscv-5.8-5.8.0/fs/cifs/smb2transport.c @@ -298,7 +298,8 @@ { unsigned char zero = 0x0; __u8 i[4] = {0, 0, 0, 1}; - __u8 L[4] = {0, 0, 0, 128}; + __u8 L128[4] = {0, 0, 0, 128}; + __u8 L256[4] = {0, 0, 1, 0}; int rc = 0; unsigned char prfhash[SMB2_HMACSHA256_SIZE]; unsigned char *hashptr = prfhash; @@ -354,8 +355,14 @@ goto smb3signkey_ret; } - rc = crypto_shash_update(&server->secmech.sdeschmacsha256->shash, - L, 4); + if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || + (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) { + rc = crypto_shash_update(&server->secmech.sdeschmacsha256->shash, + L256, 4); + } else { + rc = crypto_shash_update(&server->secmech.sdeschmacsha256->shash, + L128, 4); + } if (rc) { cifs_server_dbg(VFS, "%s: Could not update with L\n", __func__); goto smb3signkey_ret; @@ -390,6 +397,9 @@ const struct derivation_triplet *ptriplet) { int rc; +#ifdef CONFIG_CIFS_DEBUG_DUMP_KEYS + struct TCP_Server_Info *server = ses->server; +#endif /* * All channels use the same encryption/decryption keys but @@ -422,11 +432,11 @@ rc = generate_key(ses, ptriplet->encryption.label, ptriplet->encryption.context, ses->smb3encryptionkey, - SMB3_SIGN_KEY_SIZE); + SMB3_ENC_DEC_KEY_SIZE); rc = generate_key(ses, ptriplet->decryption.label, ptriplet->decryption.context, ses->smb3decryptionkey, - SMB3_SIGN_KEY_SIZE); + SMB3_ENC_DEC_KEY_SIZE); if (rc) return rc; } @@ -442,14 +452,23 @@ */ cifs_dbg(VFS, "Session Id %*ph\n", (int)sizeof(ses->Suid), &ses->Suid); + cifs_dbg(VFS, "Cipher type %d\n", server->cipher_type); cifs_dbg(VFS, "Session Key %*ph\n", SMB2_NTLMV2_SESSKEY_SIZE, ses->auth_key.response); cifs_dbg(VFS, "Signing Key %*ph\n", SMB3_SIGN_KEY_SIZE, ses->smb3signingkey); - cifs_dbg(VFS, "ServerIn Key %*ph\n", - SMB3_SIGN_KEY_SIZE, ses->smb3encryptionkey); - cifs_dbg(VFS, "ServerOut Key %*ph\n", - SMB3_SIGN_KEY_SIZE, ses->smb3decryptionkey); + if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || + (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) { + cifs_dbg(VFS, "ServerIn Key %*ph\n", + SMB3_GCM256_CRYPTKEY_SIZE, ses->smb3encryptionkey); + cifs_dbg(VFS, "ServerOut Key %*ph\n", + SMB3_GCM256_CRYPTKEY_SIZE, ses->smb3decryptionkey); + } else { + cifs_dbg(VFS, "ServerIn Key %*ph\n", + SMB3_GCM128_CRYPTKEY_SIZE, ses->smb3encryptionkey); + cifs_dbg(VFS, "ServerOut Key %*ph\n", + SMB3_GCM128_CRYPTKEY_SIZE, ses->smb3decryptionkey); + } #endif return rc; } @@ -849,12 +868,13 @@ struct crypto_aead *tfm; if (!server->secmech.ccmaesencrypt) { - if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) + if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || + (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) tfm = crypto_alloc_aead("gcm(aes)", 0, 0); else tfm = crypto_alloc_aead("ccm(aes)", 0, 0); if (IS_ERR(tfm)) { - cifs_server_dbg(VFS, "%s: Failed to alloc encrypt aead\n", + cifs_server_dbg(VFS, "%s: Failed alloc encrypt aead\n", __func__); return PTR_ERR(tfm); } @@ -862,7 +882,8 @@ } if (!server->secmech.ccmaesdecrypt) { - if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) + if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || + (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) tfm = crypto_alloc_aead("gcm(aes)", 0, 0); else tfm = crypto_alloc_aead("ccm(aes)", 0, 0); --- linux-riscv-5.8-5.8.0.orig/fs/cifs/transport.c +++ linux-riscv-5.8-5.8.0/fs/cifs/transport.c @@ -101,7 +101,7 @@ if (midEntry->resp_buf && (midEntry->mid_flags & MID_WAIT_CANCELLED) && midEntry->mid_state == MID_RESPONSE_RECEIVED && server->ops->handle_cancelled_mid) - server->ops->handle_cancelled_mid(midEntry->resp_buf, server); + server->ops->handle_cancelled_mid(midEntry, server); midEntry->mid_state = MID_FREE; atomic_dec(&midCount); @@ -338,9 +338,9 @@ if (ssocket == NULL) return -EAGAIN; - if (signal_pending(current)) { - cifs_dbg(FYI, "signal is pending before sending any data\n"); - return -EINTR; + if (fatal_signal_pending(current)) { + cifs_dbg(FYI, "signal pending before send request\n"); + return -ERESTARTSYS; } /* cork the socket */ @@ -429,7 +429,7 @@ if (signal_pending(current) && (total_len != send_length)) { cifs_dbg(FYI, "signal is pending after attempt to send\n"); - rc = -EINTR; + rc = -ERESTARTSYS; } /* uncork it */ @@ -654,10 +654,22 @@ spin_lock(&server->req_lock); if (*credits < num) { /* - * Return immediately if not too many requests in flight since - * we will likely be stuck on waiting for credits. + * If the server is tight on resources or just gives us less + * credits for other reasons (e.g. requests are coming out of + * order and the server delays granting more credits until it + * processes a missing mid) and we exhausted most available + * credits there may be situations when we try to send + * a compound request but we don't have enough credits. At this + * point the client needs to decide if it should wait for + * additional credits or fail the request. If at least one + * request is in flight there is a high probability that the + * server will return enough credits to satisfy this compound + * request. + * + * Return immediately if no requests in flight since we will be + * stuck on waiting for credits. */ - if (server->in_flight < num - *credits) { + if (server->in_flight == 0) { spin_unlock(&server->req_lock); return -ENOTSUPP; } @@ -1143,9 +1155,12 @@ /* * Compounding is never used during session establish. */ - if ((ses->status == CifsNew) || (optype & CIFS_NEG_OP)) + if ((ses->status == CifsNew) || (optype & CIFS_NEG_OP)) { + mutex_lock(&server->srv_mutex); smb311_update_preauth_hash(ses, rqst[0].rq_iov, rqst[0].rq_nvec); + mutex_unlock(&server->srv_mutex); + } for (i = 0; i < num_rqst; i++) { rc = wait_for_response(server, midQ[i]); @@ -1154,7 +1169,7 @@ } if (rc != 0) { for (; i < num_rqst; i++) { - cifs_server_dbg(VFS, "Cancelling wait for mid %llu cmd: %d\n", + cifs_server_dbg(FYI, "Cancelling wait for mid %llu cmd: %d\n", midQ[i]->mid, le16_to_cpu(midQ[i]->command)); send_cancel(server, &rqst[i], midQ[i]); spin_lock(&GlobalMid_Lock); @@ -1213,7 +1228,9 @@ .iov_base = resp_iov[0].iov_base, .iov_len = resp_iov[0].iov_len }; + mutex_lock(&server->srv_mutex); smb311_update_preauth_hash(ses, &iov, 1); + mutex_unlock(&server->srv_mutex); } out: --- linux-riscv-5.8-5.8.0.orig/fs/configfs/file.c +++ linux-riscv-5.8-5.8.0/fs/configfs/file.c @@ -378,7 +378,7 @@ attr = to_attr(dentry); if (!attr) - goto out_put_item; + goto out_free_buffer; if (type & CONFIGFS_ITEM_BIN_ATTR) { buffer->bin_attr = to_bin_attr(dentry); @@ -391,7 +391,7 @@ /* Grab the module reference for this attribute if we have one */ error = -ENODEV; if (!try_module_get(buffer->owner)) - goto out_put_item; + goto out_free_buffer; error = -EACCES; if (!buffer->item->ci_type) @@ -435,8 +435,6 @@ out_put_module: module_put(buffer->owner); -out_put_item: - config_item_put(buffer->item); out_free_buffer: up_read(&frag->frag_sem); kfree(buffer); --- linux-riscv-5.8-5.8.0.orig/fs/coredump.c +++ linux-riscv-5.8-5.8.0/fs/coredump.c @@ -224,7 +224,8 @@ */ if (ispipe) { if (isspace(*pat_ptr)) { - was_space = true; + if (cn->used != 0) + was_space = true; pat_ptr++; continue; } else if (was_space) { --- linux-riscv-5.8-5.8.0.orig/fs/crypto/fname.c +++ linux-riscv-5.8-5.8.0/fs/crypto/fname.c @@ -573,7 +573,7 @@ * reverting to ciphertext names without evicting the directory's inode * -- which implies eviction of the dentries in the directory. */ - if (!(dentry->d_flags & DCACHE_ENCRYPTED_NAME)) + if (!(dentry->d_flags & DCACHE_NOKEY_NAME)) return 1; /* --- linux-riscv-5.8-5.8.0.orig/fs/crypto/fscrypt_private.h +++ linux-riscv-5.8-5.8.0/fs/crypto/fscrypt_private.h @@ -24,6 +24,9 @@ #define FSCRYPT_CONTEXT_V1 1 #define FSCRYPT_CONTEXT_V2 2 +/* Keep this in sync with include/uapi/linux/fscrypt.h */ +#define FSCRYPT_MODE_MAX FSCRYPT_MODE_ADIANTUM + struct fscrypt_context_v1 { u8 version; /* FSCRYPT_CONTEXT_V1 */ u8 contents_encryption_mode; @@ -395,9 +398,9 @@ * Per-mode encryption keys for the various types of encryption policies * that use them. Allocated and derived on-demand. */ - struct crypto_skcipher *mk_direct_keys[__FSCRYPT_MODE_MAX + 1]; - struct crypto_skcipher *mk_iv_ino_lblk_64_keys[__FSCRYPT_MODE_MAX + 1]; - struct crypto_skcipher *mk_iv_ino_lblk_32_keys[__FSCRYPT_MODE_MAX + 1]; + struct crypto_skcipher *mk_direct_keys[FSCRYPT_MODE_MAX + 1]; + struct crypto_skcipher *mk_iv_ino_lblk_64_keys[FSCRYPT_MODE_MAX + 1]; + struct crypto_skcipher *mk_iv_ino_lblk_32_keys[FSCRYPT_MODE_MAX + 1]; /* Hash key for inode numbers. Initialized only when needed. */ siphash_key_t mk_ino_hash_key; --- linux-riscv-5.8-5.8.0.orig/fs/crypto/hooks.c +++ linux-riscv-5.8-5.8.0/fs/crypto/hooks.c @@ -60,8 +60,8 @@ if (err) return err; - /* ... in case we looked up ciphertext name before key was added */ - if (dentry->d_flags & DCACHE_ENCRYPTED_NAME) + /* ... in case we looked up no-key name before key was added */ + if (fscrypt_is_nokey_name(dentry)) return -ENOKEY; if (!fscrypt_has_permitted_context(dir, inode)) @@ -85,9 +85,9 @@ if (err) return err; - /* ... in case we looked up ciphertext name(s) before key was added */ - if ((old_dentry->d_flags | new_dentry->d_flags) & - DCACHE_ENCRYPTED_NAME) + /* ... in case we looked up no-key name(s) before key was added */ + if (fscrypt_is_nokey_name(old_dentry) || + fscrypt_is_nokey_name(new_dentry)) return -ENOKEY; if (old_dir != new_dir) { @@ -116,7 +116,7 @@ if (fname->is_ciphertext_name) { spin_lock(&dentry->d_lock); - dentry->d_flags |= DCACHE_ENCRYPTED_NAME; + dentry->d_flags |= DCACHE_NOKEY_NAME; spin_unlock(&dentry->d_lock); d_set_d_op(dentry, &fscrypt_d_ops); } --- linux-riscv-5.8-5.8.0.orig/fs/crypto/keyring.c +++ linux-riscv-5.8-5.8.0/fs/crypto/keyring.c @@ -44,7 +44,7 @@ wipe_master_key_secret(&mk->mk_secret); - for (i = 0; i <= __FSCRYPT_MODE_MAX; i++) { + for (i = 0; i <= FSCRYPT_MODE_MAX; i++) { crypto_free_skcipher(mk->mk_direct_keys[i]); crypto_free_skcipher(mk->mk_iv_ino_lblk_64_keys[i]); crypto_free_skcipher(mk->mk_iv_ino_lblk_32_keys[i]); --- linux-riscv-5.8-5.8.0.orig/fs/crypto/keysetup.c +++ linux-riscv-5.8-5.8.0/fs/crypto/keysetup.c @@ -52,6 +52,8 @@ select_encryption_mode(const union fscrypt_policy *policy, const struct inode *inode) { + BUILD_BUG_ON(ARRAY_SIZE(fscrypt_modes) != FSCRYPT_MODE_MAX + 1); + if (S_ISREG(inode->i_mode)) return &fscrypt_modes[fscrypt_policy_contents_mode(policy)]; @@ -138,7 +140,7 @@ unsigned int hkdf_infolen = 0; int err; - if (WARN_ON(mode_num > __FSCRYPT_MODE_MAX)) + if (WARN_ON(mode_num > FSCRYPT_MODE_MAX)) return -EINVAL; /* pairs with smp_store_release() below */ --- linux-riscv-5.8-5.8.0.orig/fs/crypto/policy.c +++ linux-riscv-5.8-5.8.0/fs/crypto/policy.c @@ -153,7 +153,10 @@ return false; } - if (policy->flags & ~FSCRYPT_POLICY_FLAGS_VALID) { + if (policy->flags & ~(FSCRYPT_POLICY_FLAGS_PAD_MASK | + FSCRYPT_POLICY_FLAG_DIRECT_KEY | + FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 | + FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32)) { fscrypt_warn(inode, "Unsupported encryption flags (0x%02x)", policy->flags); return false; @@ -178,10 +181,15 @@ 32, 32)) return false; + /* + * IV_INO_LBLK_32 hashes the inode number, so in principle it can + * support any ino_bits. However, currently the inode number is gotten + * from inode::i_ino which is 'unsigned long'. So for now the + * implementation limit is 32 bits. + */ if ((policy->flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32) && - /* This uses hashed inode numbers, so ino_bits doesn't matter. */ !supported_iv_ino_lblk_policy(policy, inode, "IV_INO_LBLK_32", - INT_MAX, 32)) + 32, 32)) return false; if (memchr_inv(policy->__reserved, 0, sizeof(policy->__reserved))) { --- linux-riscv-5.8-5.8.0.orig/fs/d_path.c +++ linux-riscv-5.8-5.8.0/fs/d_path.c @@ -102,6 +102,8 @@ if (dentry == vfsmnt->mnt_root || IS_ROOT(dentry)) { struct mount *parent = READ_ONCE(mnt->mnt_parent); + struct mnt_namespace *mnt_ns; + /* Escaped? */ if (dentry != vfsmnt->mnt_root) { bptr = *buffer; @@ -116,7 +118,9 @@ vfsmnt = &mnt->mnt; continue; } - if (is_mounted(vfsmnt) && !is_anon_ns(mnt->mnt_ns)) + mnt_ns = READ_ONCE(mnt->mnt_ns); + /* open-coded is_mounted() to use local mnt_ns */ + if (!IS_ERR_OR_NULL(mnt_ns) && !is_anon_ns(mnt_ns)) error = 1; // absolute root else error = 2; // detached or not attached yet --- linux-riscv-5.8-5.8.0.orig/fs/dax.c +++ linux-riscv-5.8-5.8.0/fs/dax.c @@ -794,12 +794,12 @@ address = pgoff_address(index, vma); /* - * Note because we provide range to follow_pte_pmd it will - * call mmu_notifier_invalidate_range_start() on our behalf - * before taking any lock. + * follow_invalidate_pte() will use the range to call + * mmu_notifier_invalidate_range_start() on our behalf before + * taking any lock. */ - if (follow_pte_pmd(vma->vm_mm, address, &range, - &ptep, &pmdp, &ptl)) + if (follow_invalidate_pte(vma->vm_mm, address, &range, &ptep, + &pmdp, &ptl)) continue; /* --- linux-riscv-5.8-5.8.0.orig/fs/dcache.c +++ linux-riscv-5.8-5.8.0/fs/dcache.c @@ -1285,7 +1285,7 @@ * * The @enter() callbacks are called with d_lock held. */ -static void d_walk(struct dentry *parent, void *data, +void d_walk(struct dentry *parent, void *data, enum d_walk_ret (*enter)(void *, struct dentry *)) { struct dentry *this_parent; @@ -1390,6 +1390,7 @@ seq = 1; goto again; } +EXPORT_SYMBOL_GPL(d_walk); struct check_mount { struct vfsmount *mnt; @@ -2935,6 +2936,7 @@ write_sequnlock(&rename_lock); } +EXPORT_SYMBOL_GPL(d_exchange); /** * d_ancestor - search for an ancestor --- linux-riscv-5.8-5.8.0.orig/fs/debugfs/file.c +++ linux-riscv-5.8-5.8.0/fs/debugfs/file.c @@ -177,7 +177,7 @@ goto out; if (!fops_get(real_fops)) { -#ifdef MODULE +#ifdef CONFIG_MODULES if (real_fops->owner && real_fops->owner->state == MODULE_STATE_GOING) goto out; @@ -312,7 +312,7 @@ goto out; if (!fops_get(real_fops)) { -#ifdef MODULE +#ifdef CONFIG_MODULES if (real_fops->owner && real_fops->owner->state == MODULE_STATE_GOING) goto out; --- linux-riscv-5.8-5.8.0.orig/fs/debugfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/debugfs/inode.c @@ -293,7 +293,7 @@ { struct dentry *dentry; - if (IS_ERR(parent)) + if (!debugfs_initialized() || IS_ERR_OR_NULL(name) || IS_ERR(parent)) return NULL; if (!parent) @@ -311,6 +311,9 @@ struct dentry *dentry; int error; + if (!debugfs_initialized()) + return ERR_PTR(-ENOENT); + pr_debug("creating file '%s'\n", name); if (IS_ERR(parent)) --- linux-riscv-5.8-5.8.0.orig/fs/direct-io.c +++ linux-riscv-5.8-5.8.0/fs/direct-io.c @@ -829,6 +829,7 @@ struct buffer_head *map_bh) { int ret = 0; + int boundary = sdio->boundary; /* dio_send_cur_page may clear it */ if (dio->op == REQ_OP_WRITE) { /* @@ -867,10 +868,10 @@ sdio->cur_page_fs_offset = sdio->block_in_file << sdio->blkbits; out: /* - * If sdio->boundary then we want to schedule the IO now to + * If boundary then we want to schedule the IO now to * avoid metadata seeks. */ - if (sdio->boundary) { + if (boundary) { ret = dio_send_cur_page(dio, sdio, map_bh); if (sdio->bio) dio_bio_submit(dio, sdio); --- linux-riscv-5.8-5.8.0.orig/fs/dlm/config.c +++ linux-riscv-5.8-5.8.0/fs/dlm/config.c @@ -216,6 +216,7 @@ struct list_head members; struct mutex members_lock; int members_count; + struct dlm_nodes *nds; }; struct dlm_comms { @@ -424,6 +425,7 @@ INIT_LIST_HEAD(&sp->members); mutex_init(&sp->members_lock); sp->members_count = 0; + sp->nds = nds; return &sp->group; fail: @@ -445,6 +447,7 @@ static void release_space(struct config_item *i) { struct dlm_space *sp = config_item_to_space(i); + kfree(sp->nds); kfree(sp); } --- linux-riscv-5.8-5.8.0.orig/fs/dlm/lockspace.c +++ linux-riscv-5.8-5.8.0/fs/dlm/lockspace.c @@ -622,6 +622,9 @@ wait_event(ls->ls_recover_lock_wait, test_bit(LSFL_RECOVER_LOCK, &ls->ls_flags)); + /* let kobject handle freeing of ls if there's an error */ + do_unreg = 1; + ls->ls_kobj.kset = dlm_kset; error = kobject_init_and_add(&ls->ls_kobj, &dlm_ktype, NULL, "%s", ls->ls_name); @@ -629,9 +632,6 @@ goto out_recoverd; kobject_uevent(&ls->ls_kobj, KOBJ_ADD); - /* let kobject handle freeing of ls if there's an error */ - do_unreg = 1; - /* This uevent triggers dlm_controld in userspace to add us to the group of nodes that are members of this lockspace (managed by the cluster infrastructure.) Once it's done that, it tells us who the --- linux-riscv-5.8-5.8.0.orig/fs/efivarfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/efivarfs/inode.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -103,6 +104,7 @@ var->var.VariableName[i] = '\0'; inode->i_private = var; + kmemleak_ignore(var); err = efivar_entry_add(var, &efivarfs_list); if (err) --- linux-riscv-5.8-5.8.0.orig/fs/efivarfs/super.c +++ linux-riscv-5.8-5.8.0/fs/efivarfs/super.c @@ -141,6 +141,9 @@ name[len + EFI_VARIABLE_GUID_LEN+1] = '\0'; + /* replace invalid slashes like kobject_set_name_vargs does for /sys/firmware/efi/vars. */ + strreplace(name, '/', '!'); + inode = efivarfs_get_inode(sb, d_inode(root), S_IFREG | 0644, 0, is_removable); if (!inode) --- linux-riscv-5.8-5.8.0.orig/fs/erofs/data.c +++ linux-riscv-5.8-5.8.0/fs/erofs/data.c @@ -312,27 +312,12 @@ submit_bio(bio); } -static int erofs_get_block(struct inode *inode, sector_t iblock, - struct buffer_head *bh, int create) -{ - struct erofs_map_blocks map = { - .m_la = iblock << 9, - }; - int err; - - err = erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW); - if (err) - return err; - - if (map.m_flags & EROFS_MAP_MAPPED) - bh->b_blocknr = erofs_blknr(map.m_pa); - - return err; -} - static sector_t erofs_bmap(struct address_space *mapping, sector_t block) { struct inode *inode = mapping->host; + struct erofs_map_blocks map = { + .m_la = blknr_to_addr(block), + }; if (EROFS_I(inode)->datalayout == EROFS_INODE_FLAT_INLINE) { erofs_blk_t blks = i_size_read(inode) >> LOG_BLOCK_SIZE; @@ -341,7 +326,10 @@ return 0; } - return generic_block_bmap(mapping, block, erofs_get_block); + if (!erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW)) + return erofs_blknr(map.m_pa); + + return 0; } /* for uncompressed (aligned) files and raw access for other files */ --- linux-riscv-5.8-5.8.0.orig/fs/erofs/inode.c +++ linux-riscv-5.8-5.8.0/fs/erofs/inode.c @@ -8,31 +8,80 @@ #include -/* no locking */ -static int erofs_read_inode(struct inode *inode, void *data) +/* + * if inode is successfully read, return its inode page (or sometimes + * the inode payload page if it's an extended inode) in order to fill + * inline data if possible. + */ +static struct page *erofs_read_inode(struct inode *inode, + unsigned int *ofs) { + struct super_block *sb = inode->i_sb; + struct erofs_sb_info *sbi = EROFS_SB(sb); struct erofs_inode *vi = EROFS_I(inode); - struct erofs_inode_compact *dic = data; - struct erofs_inode_extended *die; + const erofs_off_t inode_loc = iloc(sbi, vi->nid); - const unsigned int ifmt = le16_to_cpu(dic->i_format); - struct erofs_sb_info *sbi = EROFS_SB(inode->i_sb); - erofs_blk_t nblks = 0; + erofs_blk_t blkaddr, nblks = 0; + struct page *page; + struct erofs_inode_compact *dic; + struct erofs_inode_extended *die, *copied = NULL; + unsigned int ifmt; + int err; - vi->datalayout = erofs_inode_datalayout(ifmt); + blkaddr = erofs_blknr(inode_loc); + *ofs = erofs_blkoff(inode_loc); + + erofs_dbg("%s, reading inode nid %llu at %u of blkaddr %u", + __func__, vi->nid, *ofs, blkaddr); + + page = erofs_get_meta_page(sb, blkaddr); + if (IS_ERR(page)) { + erofs_err(sb, "failed to get inode (nid: %llu) page, err %ld", + vi->nid, PTR_ERR(page)); + return page; + } + + dic = page_address(page) + *ofs; + ifmt = le16_to_cpu(dic->i_format); + vi->datalayout = erofs_inode_datalayout(ifmt); if (vi->datalayout >= EROFS_INODE_DATALAYOUT_MAX) { erofs_err(inode->i_sb, "unsupported datalayout %u of nid %llu", vi->datalayout, vi->nid); - DBG_BUGON(1); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto err_out; } switch (erofs_inode_version(ifmt)) { case EROFS_INODE_LAYOUT_EXTENDED: - die = data; - vi->inode_isize = sizeof(struct erofs_inode_extended); + /* check if the inode acrosses page boundary */ + if (*ofs + vi->inode_isize <= PAGE_SIZE) { + *ofs += vi->inode_isize; + die = (struct erofs_inode_extended *)dic; + } else { + const unsigned int gotten = PAGE_SIZE - *ofs; + + copied = kmalloc(vi->inode_isize, GFP_NOFS); + if (!copied) { + err = -ENOMEM; + goto err_out; + } + memcpy(copied, dic, gotten); + unlock_page(page); + put_page(page); + + page = erofs_get_meta_page(sb, blkaddr + 1); + if (IS_ERR(page)) { + erofs_err(sb, "failed to get inode payload page (nid: %llu), err %ld", + vi->nid, PTR_ERR(page)); + kfree(copied); + return page; + } + *ofs = vi->inode_isize - gotten; + memcpy((u8 *)copied + gotten, page_address(page), *ofs); + die = copied; + } vi->xattr_isize = erofs_xattr_ibody_size(die->i_xattr_icount); inode->i_mode = le16_to_cpu(die->i_mode); @@ -58,20 +107,21 @@ i_gid_write(inode, le32_to_cpu(die->i_gid)); set_nlink(inode, le32_to_cpu(die->i_nlink)); - /* ns timestamp */ - inode->i_mtime.tv_sec = inode->i_ctime.tv_sec = - le64_to_cpu(die->i_ctime); - inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = - le32_to_cpu(die->i_ctime_nsec); + /* extended inode has its own timestamp */ + inode->i_ctime.tv_sec = le64_to_cpu(die->i_ctime); + inode->i_ctime.tv_nsec = le32_to_cpu(die->i_ctime_nsec); inode->i_size = le64_to_cpu(die->i_size); /* total blocks for compressed files */ if (erofs_inode_is_data_compressed(vi->datalayout)) nblks = le32_to_cpu(die->i_u.compressed_blocks); + + kfree(copied); break; case EROFS_INODE_LAYOUT_COMPACT: vi->inode_isize = sizeof(struct erofs_inode_compact); + *ofs += vi->inode_isize; vi->xattr_isize = erofs_xattr_ibody_size(dic->i_xattr_icount); inode->i_mode = le16_to_cpu(dic->i_mode); @@ -97,11 +147,9 @@ i_gid_write(inode, le16_to_cpu(dic->i_gid)); set_nlink(inode, le16_to_cpu(dic->i_nlink)); - /* use build time to derive all file time */ - inode->i_mtime.tv_sec = inode->i_ctime.tv_sec = - sbi->build_time; - inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec = - sbi->build_time_nsec; + /* use build time for compact inodes */ + inode->i_ctime.tv_sec = sbi->build_time; + inode->i_ctime.tv_nsec = sbi->build_time_nsec; inode->i_size = le32_to_cpu(dic->i_size); if (erofs_inode_is_data_compressed(vi->datalayout)) @@ -111,22 +159,32 @@ erofs_err(inode->i_sb, "unsupported on-disk inode version %u of nid %llu", erofs_inode_version(ifmt), vi->nid); - DBG_BUGON(1); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto err_out; } + inode->i_mtime.tv_sec = inode->i_ctime.tv_sec; + inode->i_atime.tv_sec = inode->i_ctime.tv_sec; + inode->i_mtime.tv_nsec = inode->i_ctime.tv_nsec; + inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec; + if (!nblks) /* measure inode.i_blocks as generic filesystems */ inode->i_blocks = roundup(inode->i_size, EROFS_BLKSIZ) >> 9; else inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK; - return 0; + return page; bogusimode: erofs_err(inode->i_sb, "bogus i_mode (%o) @ nid %llu", inode->i_mode, vi->nid); + err = -EFSCORRUPTED; +err_out: DBG_BUGON(1); - return -EFSCORRUPTED; + kfree(copied); + unlock_page(page); + put_page(page); + return ERR_PTR(err); } static int erofs_fill_symlink(struct inode *inode, void *data, @@ -146,7 +204,7 @@ if (!lnk) return -ENOMEM; - m_pofs += vi->inode_isize + vi->xattr_isize; + m_pofs += vi->xattr_isize; /* inline symlink data shouldn't cross page boundary as well */ if (m_pofs + inode->i_size > PAGE_SIZE) { kfree(lnk); @@ -167,37 +225,17 @@ static int erofs_fill_inode(struct inode *inode, int isdir) { - struct super_block *sb = inode->i_sb; struct erofs_inode *vi = EROFS_I(inode); struct page *page; - void *data; - int err; - erofs_blk_t blkaddr; unsigned int ofs; - erofs_off_t inode_loc; + int err = 0; trace_erofs_fill_inode(inode, isdir); - inode_loc = iloc(EROFS_SB(sb), vi->nid); - blkaddr = erofs_blknr(inode_loc); - ofs = erofs_blkoff(inode_loc); - - erofs_dbg("%s, reading inode nid %llu at %u of blkaddr %u", - __func__, vi->nid, ofs, blkaddr); - page = erofs_get_meta_page(sb, blkaddr); - - if (IS_ERR(page)) { - erofs_err(sb, "failed to get inode (nid: %llu) page, err %ld", - vi->nid, PTR_ERR(page)); + /* read inode base data from disk */ + page = erofs_read_inode(inode, &ofs); + if (IS_ERR(page)) return PTR_ERR(page); - } - - DBG_BUGON(!PageUptodate(page)); - data = page_address(page); - - err = erofs_read_inode(inode, data + ofs); - if (err) - goto out_unlock; /* setup the new inode */ switch (inode->i_mode & S_IFMT) { @@ -210,7 +248,7 @@ inode->i_fop = &erofs_dir_fops; break; case S_IFLNK: - err = erofs_fill_symlink(inode, data, ofs); + err = erofs_fill_symlink(inode, page_address(page), ofs); if (err) goto out_unlock; inode_nohighmem(inode); --- linux-riscv-5.8-5.8.0.orig/fs/erofs/super.c +++ linux-riscv-5.8-5.8.0/fs/erofs/super.c @@ -158,8 +158,8 @@ blkszbits = dsb->blkszbits; /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */ if (blkszbits != LOG_BLOCK_SIZE) { - erofs_err(sb, "blksize %u isn't supported on this platform", - 1 << blkszbits); + erofs_err(sb, "blkszbits %u isn't supported on this platform", + blkszbits); goto out; } --- linux-riscv-5.8-5.8.0.orig/fs/erofs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/erofs/xattr.c @@ -48,8 +48,14 @@ int ret = 0; /* the most case is that xattrs of this inode are initialized. */ - if (test_bit(EROFS_I_EA_INITED_BIT, &vi->flags)) + if (test_bit(EROFS_I_EA_INITED_BIT, &vi->flags)) { + /* + * paired with smp_mb() at the end of the function to ensure + * fields will only be observed after the bit is set. + */ + smp_mb(); return 0; + } if (wait_on_bit_lock(&vi->flags, EROFS_I_BL_XATTR_BIT, TASK_KILLABLE)) return -ERESTARTSYS; @@ -137,6 +143,8 @@ } xattr_iter_end(&it, atomic_map); + /* paired with smp_mb() at the beginning of the function. */ + smp_mb(); set_bit(EROFS_I_EA_INITED_BIT, &vi->flags); out_unlock: @@ -473,8 +481,6 @@ return -EOPNOTSUPP; break; case EROFS_XATTR_INDEX_TRUSTED: - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; break; case EROFS_XATTR_INDEX_SECURITY: break; --- linux-riscv-5.8-5.8.0.orig/fs/erofs/zdata.c +++ linux-riscv-5.8-5.8.0/fs/erofs/zdata.c @@ -1080,8 +1080,11 @@ cond_resched(); goto repeat; } - set_page_private(page, (unsigned long)pcl); - SetPagePrivate(page); + + if (tocache) { + set_page_private(page, (unsigned long)pcl); + SetPagePrivate(page); + } out: /* the only exit (for tracing and debugging) */ return page; } --- linux-riscv-5.8-5.8.0.orig/fs/erofs/zmap.c +++ linux-riscv-5.8-5.8.0/fs/erofs/zmap.c @@ -36,8 +36,14 @@ void *kaddr; struct z_erofs_map_header *h; - if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags)) + if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags)) { + /* + * paired with smp_mb() at the end of the function to ensure + * fields will only be observed after the bit is set. + */ + smp_mb(); return 0; + } if (wait_on_bit_lock(&vi->flags, EROFS_I_BL_Z_BIT, TASK_KILLABLE)) return -ERESTARTSYS; @@ -83,6 +89,8 @@ vi->z_physical_clusterbits[1] = vi->z_logical_clusterbits + ((h->h_clusterbits >> 5) & 7); + /* paired with smp_mb() at the beginning of the function */ + smp_mb(); set_bit(EROFS_I_Z_INITED_BIT, &vi->flags); unmap_done: kunmap_atomic(kaddr); --- linux-riscv-5.8-5.8.0.orig/fs/eventpoll.c +++ linux-riscv-5.8-5.8.0/fs/eventpoll.c @@ -218,8 +218,7 @@ struct file *file; /* used to optimize loop detection check */ - struct list_head visited_list_link; - int visited; + u64 gen; #ifdef CONFIG_NET_RX_BUSY_POLL /* used to track busy poll napi_id */ @@ -274,6 +273,8 @@ */ static DEFINE_MUTEX(epmutex); +static u64 loop_check_gen = 0; + /* Used to check for epoll file descriptor inclusion loops */ static struct nested_calls poll_loop_ncalls; @@ -283,9 +284,6 @@ /* Slab cache used to allocate "struct eppoll_entry" */ static struct kmem_cache *pwq_cache __read_mostly; -/* Visited nodes during ep_loop_check(), so we can unset them when we finish */ -static LIST_HEAD(visited_list); - /* * List of files with newly added links, where we may need to limit the number * of emanating paths. Protected by the epmutex. @@ -1064,7 +1062,7 @@ return epir; } -#ifdef CONFIG_CHECKPOINT_RESTORE +#ifdef CONFIG_KCMP static struct epitem *ep_find_tfd(struct eventpoll *ep, int tfd, unsigned long toff) { struct rb_node *rbp; @@ -1106,7 +1104,7 @@ return file_raw; } -#endif /* CONFIG_CHECKPOINT_RESTORE */ +#endif /* CONFIG_KCMP */ /** * Adds a new entry to the tail of the list in a lockless way, i.e. @@ -1450,7 +1448,7 @@ static int ep_create_wakeup_source(struct epitem *epi) { - const char *name; + struct name_snapshot n; struct wakeup_source *ws; if (!epi->ep->ws) { @@ -1459,8 +1457,9 @@ return -ENOMEM; } - name = epi->ffd.file->f_path.dentry->d_name.name; - ws = wakeup_source_register(NULL, name); + take_dentry_name_snapshot(&n, epi->ffd.file->f_path.dentry); + ws = wakeup_source_register(NULL, n.name.name); + release_dentry_name_snapshot(&n); if (!ws) return -ENOMEM; @@ -1522,6 +1521,22 @@ RCU_INIT_POINTER(epi->ws, NULL); } + /* Add the current item to the list of active epoll hook for this file */ + spin_lock(&tfile->f_lock); + list_add_tail_rcu(&epi->fllink, &tfile->f_ep_links); + spin_unlock(&tfile->f_lock); + + /* + * Add the current item to the RB tree. All RB tree operations are + * protected by "mtx", and ep_insert() is called with "mtx" held. + */ + ep_rbtree_insert(ep, epi); + + /* now check if we've created too many backpaths */ + error = -EINVAL; + if (full_check && reverse_path_check()) + goto error_remove_epi; + /* Initialize the poll table using the queue callback */ epq.epi = epi; init_poll_funcptr(&epq.pt, ep_ptable_queue_proc); @@ -1544,22 +1559,6 @@ if (epi->nwait < 0) goto error_unregister; - /* Add the current item to the list of active epoll hook for this file */ - spin_lock(&tfile->f_lock); - list_add_tail_rcu(&epi->fllink, &tfile->f_ep_links); - spin_unlock(&tfile->f_lock); - - /* - * Add the current item to the RB tree. All RB tree operations are - * protected by "mtx", and ep_insert() is called with "mtx" held. - */ - ep_rbtree_insert(ep, epi); - - /* now check if we've created too many backpaths */ - error = -EINVAL; - if (full_check && reverse_path_check()) - goto error_remove_epi; - /* We have to drop the new item inside our item list to keep track of it */ write_lock_irq(&ep->lock); @@ -1588,6 +1587,8 @@ return 0; +error_unregister: + ep_unregister_pollwait(ep, epi); error_remove_epi: spin_lock(&tfile->f_lock); list_del_rcu(&epi->fllink); @@ -1595,9 +1596,6 @@ rb_erase_cached(&epi->rbn, &ep->rbr); -error_unregister: - ep_unregister_pollwait(ep, epi); - /* * We need to do this because an event could have been arrived on some * allocated wait queue. Note that we don't care about the ep->ovflist @@ -1904,23 +1902,30 @@ } write_unlock_irq(&ep->lock); - if (eavail || res) - break; + if (!eavail && !res) + timed_out = !schedule_hrtimeout_range(to, slack, + HRTIMER_MODE_ABS); - if (!schedule_hrtimeout_range(to, slack, HRTIMER_MODE_ABS)) { - timed_out = 1; - break; - } - - /* We were woken up, thus go and try to harvest some events */ + /* + * We were woken up, thus go and try to harvest some events. + * If timed out and still on the wait queue, recheck eavail + * carefully under lock, below. + */ eavail = 1; - } while (0); __set_current_state(TASK_RUNNING); if (!list_empty_careful(&wait.entry)) { write_lock_irq(&ep->lock); + /* + * If the thread timed out and is not on the wait queue, it + * means that the thread was woken up after its timeout expired + * before it could reacquire the lock. Thus, when wait.entry is + * empty, it needs to harvest events. + */ + if (timed_out) + eavail = list_empty(&wait.entry); __remove_wait_queue(&ep->wq, &wait); write_unlock_irq(&ep->lock); } @@ -1972,13 +1977,12 @@ struct epitem *epi; mutex_lock_nested(&ep->mtx, call_nests + 1); - ep->visited = 1; - list_add(&ep->visited_list_link, &visited_list); + ep->gen = loop_check_gen; for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = rb_next(rbp)) { epi = rb_entry(rbp, struct epitem, rbn); if (unlikely(is_file_epoll(epi->ffd.file))) { ep_tovisit = epi->ffd.file->private_data; - if (ep_tovisit->visited) + if (ep_tovisit->gen == loop_check_gen) continue; error = ep_call_nested(&poll_loop_ncalls, ep_loop_check_proc, epi->ffd.file, @@ -1994,9 +1998,11 @@ * not already there, and calling reverse_path_check() * during ep_insert(). */ - if (list_empty(&epi->ffd.file->f_tfile_llink)) - list_add(&epi->ffd.file->f_tfile_llink, - &tfile_check_list); + if (list_empty(&epi->ffd.file->f_tfile_llink)) { + if (get_file_rcu(epi->ffd.file)) + list_add(&epi->ffd.file->f_tfile_llink, + &tfile_check_list); + } } } mutex_unlock(&ep->mtx); @@ -2017,18 +2023,8 @@ */ static int ep_loop_check(struct eventpoll *ep, struct file *file) { - int ret; - struct eventpoll *ep_cur, *ep_next; - - ret = ep_call_nested(&poll_loop_ncalls, + return ep_call_nested(&poll_loop_ncalls, ep_loop_check_proc, file, ep, current); - /* clear visited list */ - list_for_each_entry_safe(ep_cur, ep_next, &visited_list, - visited_list_link) { - ep_cur->visited = 0; - list_del(&ep_cur->visited_list_link); - } - return ret; } static void clear_tfile_check_list(void) @@ -2040,6 +2036,7 @@ file = list_first_entry(&tfile_check_list, struct file, f_tfile_llink); list_del_init(&file->f_tfile_llink); + fput(file); } INIT_LIST_HEAD(&tfile_check_list); } @@ -2192,33 +2189,32 @@ goto error_tgt_fput; if (op == EPOLL_CTL_ADD) { if (!list_empty(&f.file->f_ep_links) || + ep->gen == loop_check_gen || is_file_epoll(tf.file)) { mutex_unlock(&ep->mtx); error = epoll_mutex_lock(&epmutex, 0, nonblock); if (error) goto error_tgt_fput; + loop_check_gen++; full_check = 1; if (is_file_epoll(tf.file)) { error = -ELOOP; - if (ep_loop_check(ep, tf.file) != 0) { - clear_tfile_check_list(); + if (ep_loop_check(ep, tf.file) != 0) goto error_tgt_fput; - } - } else + } else { + get_file(tf.file); list_add(&tf.file->f_tfile_llink, &tfile_check_list); + } error = epoll_mutex_lock(&ep->mtx, 0, nonblock); - if (error) { -out_del: - list_del(&tf.file->f_tfile_llink); + if (error) goto error_tgt_fput; - } if (is_file_epoll(tf.file)) { tep = tf.file->private_data; error = epoll_mutex_lock(&tep->mtx, 1, nonblock); if (error) { mutex_unlock(&ep->mtx); - goto out_del; + goto error_tgt_fput; } } } @@ -2239,8 +2235,6 @@ error = ep_insert(ep, epds, tf.file, fd, full_check); } else error = -EEXIST; - if (full_check) - clear_tfile_check_list(); break; case EPOLL_CTL_DEL: if (epi) @@ -2263,8 +2257,11 @@ mutex_unlock(&ep->mtx); error_tgt_fput: - if (full_check) + if (full_check) { + clear_tfile_check_list(); + loop_check_gen++; mutex_unlock(&epmutex); + } fdput(tf); error_fput: --- linux-riscv-5.8-5.8.0.orig/fs/exec.c +++ linux-riscv-5.8-5.8.0/fs/exec.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include @@ -111,6 +112,14 @@ return (path->mnt->mnt_flags & MNT_NOEXEC) || (path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC); } +EXPORT_SYMBOL_GPL(path_noexec); + +bool path_nosuid(const struct path *path) +{ + return !mnt_may_suid(path->mnt) || + (path->mnt->mnt_sb->s_iflags & SB_I_NOSUID); +} +EXPORT_SYMBOL(path_nosuid); #ifdef CONFIG_USELIB /* @@ -927,6 +936,7 @@ { loff_t i_size, pos; ssize_t bytes = 0; + void *allocated = NULL; int ret; if (!S_ISREG(file_inode(file)->i_mode) || max_size < 0) @@ -950,8 +960,8 @@ goto out; } - if (id != READING_FIRMWARE_PREALLOC_BUFFER) - *buf = vmalloc(i_size); + if (!*buf) + *buf = allocated = vmalloc(i_size); if (!*buf) { ret = -ENOMEM; goto out; @@ -980,7 +990,7 @@ out_free: if (ret < 0) { - if (id != READING_FIRMWARE_PREALLOC_BUFFER) { + if (allocated) { vfree(*buf); *buf = NULL; } @@ -1067,8 +1077,8 @@ /* * Maps the mm_struct mm into the current task struct. - * On success, this function returns with the mutex - * exec_update_mutex locked. + * On success, this function returns with exec_update_lock + * held for writing. */ static int exec_mmap(struct mm_struct *mm) { @@ -1083,7 +1093,7 @@ if (old_mm) sync_mm_rss(old_mm); - ret = mutex_lock_killable(&tsk->signal->exec_update_mutex); + ret = down_write_killable(&tsk->signal->exec_update_lock); if (ret) return ret; @@ -1097,17 +1107,30 @@ mmap_read_lock(old_mm); if (unlikely(old_mm->core_state)) { mmap_read_unlock(old_mm); - mutex_unlock(&tsk->signal->exec_update_mutex); + up_write(&tsk->signal->exec_update_lock); return -EINTR; } } task_lock(tsk); - active_mm = tsk->active_mm; membarrier_exec_mmap(mm); - tsk->mm = mm; + + local_irq_disable(); + active_mm = tsk->active_mm; tsk->active_mm = mm; + tsk->mm = mm; + /* + * This prevents preemption while active_mm is being loaded and + * it and mm are being updated, which could cause problems for + * lazy tlb mm refcounting when these are updated by context + * switches. Not all architectures can handle irqs off over + * activate_mm yet. + */ + if (!IS_ENABLED(CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM)) + local_irq_enable(); activate_mm(active_mm, mm); + if (IS_ENABLED(CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM)) + local_irq_enable(); tsk->mm->vmacache_seqnum = 0; vmacache_flush(tsk); task_unlock(tsk); @@ -1466,7 +1489,7 @@ return 0; out_unlock: - mutex_unlock(&me->signal->exec_update_mutex); + up_write(&me->signal->exec_update_lock); out: return retval; } @@ -1507,7 +1530,7 @@ * some architectures like powerpc */ me->mm->task_size = TASK_SIZE; - mutex_unlock(&me->signal->exec_update_mutex); + up_write(&me->signal->exec_update_lock); mutex_unlock(&me->signal->cred_guard_mutex); } EXPORT_SYMBOL(setup_new_exec); @@ -1617,7 +1640,7 @@ kuid_t uid; kgid_t gid; - if (!mnt_may_suid(file->f_path.mnt)) + if (path_nosuid(&file->f_path)) return; if (task_no_new_privs(current)) @@ -1847,6 +1870,11 @@ * further execve() calls fail. */ current->flags &= ~PF_NPROC_EXCEEDED; + /* + * Cancel any io_uring activity across execve + */ + io_uring_task_cancel(); + retval = unshare_files(&displaced); if (retval) goto out_ret; --- linux-riscv-5.8-5.8.0.orig/fs/exfat/cache.c +++ linux-riscv-5.8-5.8.0/fs/exfat/cache.c @@ -17,7 +17,6 @@ #include "exfat_raw.h" #include "exfat_fs.h" -#define EXFAT_CACHE_VALID 0 #define EXFAT_MAX_CACHE 16 struct exfat_cache { @@ -61,16 +60,6 @@ kmem_cache_destroy(exfat_cachep); } -void exfat_cache_init_inode(struct inode *inode) -{ - struct exfat_inode_info *ei = EXFAT_I(inode); - - spin_lock_init(&ei->cache_lru_lock); - ei->nr_caches = 0; - ei->cache_valid_id = EXFAT_CACHE_VALID + 1; - INIT_LIST_HEAD(&ei->cache_lru); -} - static inline struct exfat_cache *exfat_cache_alloc(void) { return kmem_cache_alloc(exfat_cachep, GFP_NOFS); --- linux-riscv-5.8-5.8.0.orig/fs/exfat/exfat_fs.h +++ linux-riscv-5.8-5.8.0/fs/exfat/exfat_fs.h @@ -250,6 +250,8 @@ struct rcu_head rcu; }; +#define EXFAT_CACHE_VALID 0 + /* * EXFAT file system inode in-memory data */ @@ -429,7 +431,6 @@ /* cache.c */ int exfat_cache_init(void); void exfat_cache_shutdown(void); -void exfat_cache_init_inode(struct inode *inode); void exfat_cache_inval_inode(struct inode *inode); int exfat_get_cluster(struct inode *inode, unsigned int cluster, unsigned int *fclus, unsigned int *dclus, --- linux-riscv-5.8-5.8.0.orig/fs/exfat/exfat_raw.h +++ linux-riscv-5.8-5.8.0/fs/exfat/exfat_raw.h @@ -78,6 +78,10 @@ #define EXFAT_FILE_NAME_LEN 15 +#define EXFAT_MIN_SECT_SIZE_BITS 9 +#define EXFAT_MAX_SECT_SIZE_BITS 12 +#define EXFAT_MAX_SECT_PER_CLUS_BITS(x) (25 - (x)->sect_size_bits) + /* EXFAT: Main and Backup Boot Sector (512 bytes) */ struct boot_sector { __u8 jmp_boot[BOOTSEC_JUMP_BOOT_LEN]; --- linux-riscv-5.8-5.8.0.orig/fs/exfat/inode.c +++ linux-riscv-5.8-5.8.0/fs/exfat/inode.c @@ -610,8 +610,6 @@ ei->i_crtime = info->crtime; inode->i_atime = info->atime; - exfat_cache_init_inode(inode); - return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/exfat/nls.c +++ linux-riscv-5.8-5.8.0/fs/exfat/nls.c @@ -659,7 +659,7 @@ unsigned char skip = false; unsigned short *upcase_table; - upcase_table = kcalloc(UTBL_COUNT, sizeof(unsigned short), GFP_KERNEL); + upcase_table = kvcalloc(UTBL_COUNT, sizeof(unsigned short), GFP_KERNEL); if (!upcase_table) return -ENOMEM; @@ -715,7 +715,7 @@ unsigned short uni = 0, *upcase_table; unsigned int index = 0; - upcase_table = kcalloc(UTBL_COUNT, sizeof(unsigned short), GFP_KERNEL); + upcase_table = kvcalloc(UTBL_COUNT, sizeof(unsigned short), GFP_KERNEL); if (!upcase_table) return -ENOMEM; @@ -803,5 +803,5 @@ void exfat_free_upcase_table(struct exfat_sb_info *sbi) { - kfree(sbi->vol_utbl); + kvfree(sbi->vol_utbl); } --- linux-riscv-5.8-5.8.0.orig/fs/exfat/super.c +++ linux-riscv-5.8-5.8.0/fs/exfat/super.c @@ -361,7 +361,6 @@ inode->i_mtime = inode->i_atime = inode->i_ctime = ei->i_crtime = current_time(inode); exfat_truncate_atime(&inode->i_atime); - exfat_cache_init_inode(inode); return 0; } @@ -369,8 +368,7 @@ { struct exfat_sb_info *sbi = EXFAT_SB(sb); - if (!is_power_of_2(logical_sect) || - logical_sect < 512 || logical_sect > 4096) { + if (!is_power_of_2(logical_sect)) { exfat_err(sb, "bogus logical sector size %u", logical_sect); return -EIO; } @@ -439,6 +437,25 @@ return -EINVAL; } + /* + * sect_size_bits could be at least 9 and at most 12. + */ + if (p_boot->sect_size_bits < EXFAT_MIN_SECT_SIZE_BITS || + p_boot->sect_size_bits > EXFAT_MAX_SECT_SIZE_BITS) { + exfat_err(sb, "bogus sector size bits : %u\n", + p_boot->sect_size_bits); + return -EINVAL; + } + + /* + * sect_per_clus_bits could be at least 0 and at most 25 - sect_size_bits. + */ + if (p_boot->sect_per_clus_bits > EXFAT_MAX_SECT_PER_CLUS_BITS(p_boot)) { + exfat_err(sb, "bogus sectors bits per cluster : %u\n", + p_boot->sect_per_clus_bits); + return -EINVAL; + } + sbi->sect_per_clus = 1 << p_boot->sect_per_clus_bits; sbi->sect_per_clus_bits = p_boot->sect_per_clus_bits; sbi->cluster_size_bits = p_boot->sect_per_clus_bits + @@ -464,16 +481,19 @@ sbi->used_clusters = EXFAT_CLUSTERS_UNTRACKED; /* check consistencies */ - if (sbi->num_FAT_sectors << p_boot->sect_size_bits < - sbi->num_clusters * 4) { + if ((u64)sbi->num_FAT_sectors << p_boot->sect_size_bits < + (u64)sbi->num_clusters * 4) { exfat_err(sb, "bogus fat length"); return -EINVAL; } + if (sbi->data_start_sector < - sbi->FAT1_start_sector + sbi->num_FAT_sectors * p_boot->num_fats) { + (u64)sbi->FAT1_start_sector + + (u64)sbi->num_FAT_sectors * p_boot->num_fats) { exfat_err(sb, "bogus data start sector"); return -EINVAL; } + if (sbi->vol_flag & VOL_DIRTY) exfat_warn(sb, "Volume was not properly unmounted. Some data may be corrupt. Please run fsck."); if (sbi->vol_flag & ERR_MEDIUM) @@ -747,6 +767,10 @@ { struct exfat_inode_info *ei = (struct exfat_inode_info *)foo; + spin_lock_init(&ei->cache_lru_lock); + ei->nr_caches = 0; + ei->cache_valid_id = EXFAT_CACHE_VALID + 1; + INIT_LIST_HEAD(&ei->cache_lru); INIT_HLIST_NODE(&ei->i_hash_fat); inode_init_once(&ei->vfs_inode); } --- linux-riscv-5.8-5.8.0.orig/fs/ext2/file.c +++ linux-riscv-5.8-5.8.0/fs/ext2/file.c @@ -93,8 +93,10 @@ struct inode *inode = file_inode(vmf->vma->vm_file); struct ext2_inode_info *ei = EXT2_I(inode); vm_fault_t ret; + bool write = (vmf->flags & FAULT_FLAG_WRITE) && + (vmf->vma->vm_flags & VM_SHARED); - if (vmf->flags & FAULT_FLAG_WRITE) { + if (write) { sb_start_pagefault(inode->i_sb); file_update_time(vmf->vma->vm_file); } @@ -103,7 +105,7 @@ ret = dax_iomap_fault(vmf, PE_SIZE_PTE, NULL, NULL, &ext2_iomap_ops); up_read(&ei->dax_sem); - if (vmf->flags & FAULT_FLAG_WRITE) + if (write) sb_end_pagefault(inode->i_sb); return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/ext2/ialloc.c +++ linux-riscv-5.8-5.8.0/fs/ext2/ialloc.c @@ -80,6 +80,7 @@ if (dir) le16_add_cpu(&desc->bg_used_dirs_count, -1); spin_unlock(sb_bgl_lock(EXT2_SB(sb), group)); + percpu_counter_inc(&EXT2_SB(sb)->s_freeinodes_counter); if (dir) percpu_counter_dec(&EXT2_SB(sb)->s_dirs_counter); mark_buffer_dirty(bh); @@ -528,7 +529,7 @@ goto fail; } - percpu_counter_add(&sbi->s_freeinodes_counter, -1); + percpu_counter_dec(&sbi->s_freeinodes_counter); if (S_ISDIR(mode)) percpu_counter_inc(&sbi->s_dirs_counter); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/Kconfig +++ linux-riscv-5.8-5.8.0/fs/ext4/Kconfig @@ -103,8 +103,7 @@ config EXT4_KUNIT_TESTS tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS - select EXT4_FS - depends on KUNIT + depends on EXT4_FS && KUNIT default KUNIT_ALL_TESTS help This builds the ext4 KUnit tests. --- linux-riscv-5.8-5.8.0.orig/fs/ext4/balloc.c +++ linux-riscv-5.8-5.8.0/fs/ext4/balloc.c @@ -487,6 +487,7 @@ * submit the buffer_head for reading */ set_buffer_new(bh); + clear_buffer_verified(bh); trace_ext4_read_block_bitmap_load(sb, block_group); bh->b_end_io = ext4_end_bitmap_read; get_bh(bh); @@ -614,27 +615,41 @@ /** * ext4_should_retry_alloc() - check if a block allocation should be retried - * @sb: super block - * @retries: number of attemps has been made + * @sb: superblock + * @retries: number of retry attempts made so far * - * ext4_should_retry_alloc() is called when ENOSPC is returned, and if - * it is profitable to retry the operation, this function will wait - * for the current or committing transaction to complete, and then - * return TRUE. We will only retry once. + * ext4_should_retry_alloc() is called when ENOSPC is returned while + * attempting to allocate blocks. If there's an indication that a pending + * journal transaction might free some space and allow another attempt to + * succeed, this function will wait for the current or committing transaction + * to complete and then return TRUE. */ int ext4_should_retry_alloc(struct super_block *sb, int *retries) { - if (!ext4_has_free_clusters(EXT4_SB(sb), 1, 0) || - (*retries)++ > 1 || - !EXT4_SB(sb)->s_journal) + struct ext4_sb_info *sbi = EXT4_SB(sb); + + if (!sbi->s_journal) return 0; - smp_mb(); - if (EXT4_SB(sb)->s_mb_free_pending == 0) + if (++(*retries) > 3) { + percpu_counter_inc(&sbi->s_sra_exceeded_retry_limit); return 0; + } + /* + * if there's no indication that blocks are about to be freed it's + * possible we just missed a transaction commit that did so + */ + smp_mb(); + if (sbi->s_mb_free_pending == 0) + return ext4_has_free_clusters(sbi, 1, 0); + + /* + * 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); - jbd2_journal_force_commit_nested(EXT4_SB(sb)->s_journal); + (void) jbd2_journal_force_commit_nested(sbi->s_journal); return 1; } --- linux-riscv-5.8-5.8.0.orig/fs/ext4/block_validity.c +++ linux-riscv-5.8-5.8.0/fs/ext4/block_validity.c @@ -24,6 +24,7 @@ struct rb_node node; ext4_fsblk_t start_blk; unsigned int count; + u32 ino; }; static struct kmem_cache *ext4_system_zone_cachep; @@ -45,7 +46,8 @@ static inline int can_merge(struct ext4_system_zone *entry1, struct ext4_system_zone *entry2) { - if ((entry1->start_blk + entry1->count) == entry2->start_blk) + if ((entry1->start_blk + entry1->count) == entry2->start_blk && + entry1->ino == entry2->ino) return 1; return 0; } @@ -66,9 +68,9 @@ */ static int add_system_zone(struct ext4_system_blocks *system_blks, ext4_fsblk_t start_blk, - unsigned int count) + unsigned int count, u32 ino) { - struct ext4_system_zone *new_entry = NULL, *entry; + struct ext4_system_zone *new_entry, *entry; struct rb_node **n = &system_blks->root.rb_node, *node; struct rb_node *parent = NULL, *new_node = NULL; @@ -79,30 +81,21 @@ n = &(*n)->rb_left; else if (start_blk >= (entry->start_blk + entry->count)) n = &(*n)->rb_right; - else { - if (start_blk + count > (entry->start_blk + - entry->count)) - entry->count = (start_blk + count - - entry->start_blk); - new_node = *n; - new_entry = rb_entry(new_node, struct ext4_system_zone, - node); - break; - } + else /* Unexpected overlap of system zones. */ + return -EFSCORRUPTED; } - if (!new_entry) { - new_entry = kmem_cache_alloc(ext4_system_zone_cachep, - GFP_KERNEL); - if (!new_entry) - return -ENOMEM; - new_entry->start_blk = start_blk; - new_entry->count = count; - new_node = &new_entry->node; + new_entry = kmem_cache_alloc(ext4_system_zone_cachep, + GFP_KERNEL); + if (!new_entry) + return -ENOMEM; + new_entry->start_blk = start_blk; + new_entry->count = count; + new_entry->ino = ino; + new_node = &new_entry->node; - rb_link_node(new_node, parent, n); - rb_insert_color(new_node, &system_blks->root); - } + rb_link_node(new_node, parent, n); + rb_insert_color(new_node, &system_blks->root); /* Can we merge to the left? */ node = rb_prev(new_node); @@ -159,7 +152,7 @@ static int ext4_data_block_valid_rcu(struct ext4_sb_info *sbi, struct ext4_system_blocks *system_blks, ext4_fsblk_t start_blk, - unsigned int count) + unsigned int count, ino_t ino) { struct ext4_system_zone *entry; struct rb_node *n; @@ -180,7 +173,7 @@ else if (start_blk >= (entry->start_blk + entry->count)) n = n->rb_right; else - return 0; + return entry->ino == ino; } return 1; } @@ -214,19 +207,18 @@ if (n == 0) { i++; } else { - if (!ext4_data_block_valid_rcu(sbi, system_blks, - map.m_pblk, n)) { - err = -EFSCORRUPTED; - __ext4_error(sb, __func__, __LINE__, -err, - map.m_pblk, "blocks %llu-%llu " - "from inode %u overlap system zone", - map.m_pblk, - map.m_pblk + map.m_len - 1, ino); + err = add_system_zone(system_blks, map.m_pblk, n, ino); + if (err < 0) { + if (err == -EFSCORRUPTED) { + __ext4_error(sb, __func__, __LINE__, + -err, map.m_pblk, + "blocks %llu-%llu from inode %u overlap system zone", + map.m_pblk, + map.m_pblk + map.m_len - 1, + ino); + } break; } - err = add_system_zone(system_blks, map.m_pblk, n); - if (err < 0) - break; i += n; } } @@ -262,14 +254,6 @@ int flex_size = ext4_flex_bg_size(sbi); int ret; - if (!test_opt(sb, BLOCK_VALIDITY)) { - if (sbi->system_blks) - ext4_release_system_zone(sb); - return 0; - } - if (sbi->system_blks) - return 0; - system_blks = kzalloc(sizeof(*system_blks), GFP_KERNEL); if (!system_blks) return -ENOMEM; @@ -280,19 +264,19 @@ ((i < 5) || ((i % flex_size) == 0))) add_system_zone(system_blks, ext4_group_first_block_no(sb, i), - ext4_bg_num_gdb(sb, i) + 1); + ext4_bg_num_gdb(sb, i) + 1, 0); gdp = ext4_get_group_desc(sb, i, NULL); ret = add_system_zone(system_blks, - ext4_block_bitmap(sb, gdp), 1); + ext4_block_bitmap(sb, gdp), 1, 0); if (ret) goto err; ret = add_system_zone(system_blks, - ext4_inode_bitmap(sb, gdp), 1); + ext4_inode_bitmap(sb, gdp), 1, 0); if (ret) goto err; ret = add_system_zone(system_blks, ext4_inode_table(sb, gdp), - sbi->s_itb_per_group); + sbi->s_itb_per_group, 0); if (ret) goto err; } @@ -341,7 +325,7 @@ call_rcu(&system_blks->rcu, ext4_destroy_system_zone); } -int ext4_data_block_valid(struct ext4_sb_info *sbi, ext4_fsblk_t start_blk, +int ext4_inode_block_valid(struct inode *inode, ext4_fsblk_t start_blk, unsigned int count) { struct ext4_system_blocks *system_blks; @@ -353,9 +337,9 @@ * mount option. */ rcu_read_lock(); - system_blks = rcu_dereference(sbi->system_blks); - ret = ext4_data_block_valid_rcu(sbi, system_blks, start_blk, - count); + system_blks = rcu_dereference(EXT4_SB(inode->i_sb)->system_blks); + ret = ext4_data_block_valid_rcu(EXT4_SB(inode->i_sb), system_blks, + start_blk, count, inode->i_ino); rcu_read_unlock(); return ret; } @@ -374,8 +358,7 @@ while (bref < p+max) { blk = le32_to_cpu(*bref++); if (blk && - unlikely(!ext4_data_block_valid(EXT4_SB(inode->i_sb), - blk, 1))) { + unlikely(!ext4_inode_block_valid(inode, blk, 1))) { ext4_error_inode(inode, function, line, blk, "invalid block"); return -EFSCORRUPTED; --- linux-riscv-5.8-5.8.0.orig/fs/ext4/ext4.h +++ linux-riscv-5.8-5.8.0/fs/ext4/ext4.h @@ -466,7 +466,7 @@ /* Flags which are mutually exclusive to DAX */ #define EXT4_DAX_MUT_EXCL (EXT4_VERITY_FL | EXT4_ENCRYPT_FL |\ - EXT4_JOURNAL_DATA_FL) + EXT4_JOURNAL_DATA_FL | EXT4_INLINE_DATA_FL) /* Mask out flags that are inappropriate for the given type of inode. */ static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags) @@ -1054,6 +1054,7 @@ struct timespec64 i_crtime; /* mballoc */ + atomic_t i_prealloc_active; struct list_head i_prealloc_list; spinlock_t i_prealloc_lock; @@ -1445,6 +1446,7 @@ struct percpu_counter s_freeinodes_counter; struct percpu_counter s_dirs_counter; struct percpu_counter s_dirtyclusters_counter; + struct percpu_counter s_sra_exceeded_retry_limit; struct blockgroup_lock *s_blockgroup_lock; struct proc_dir_entry *s_proc; struct kobject s_kobj; @@ -1501,6 +1503,7 @@ unsigned int s_mb_stats; unsigned int s_mb_order2_reqs; unsigned int s_mb_group_prealloc; + unsigned int s_mb_max_inode_prealloc; unsigned int s_max_dir_size_kb; /* where last allocation was done - for stream allocation */ unsigned long s_mb_last_group; @@ -1585,6 +1588,9 @@ #ifdef CONFIG_EXT4_DEBUG unsigned long s_simulate_fail; #endif + /* Record the errseq of the backing block device */ + errseq_t s_bdev_wb_err; + spinlock_t s_bdev_wb_lock; }; static inline struct ext4_sb_info *EXT4_SB(struct super_block *sb) @@ -2589,7 +2595,8 @@ struct ext4_filename *fname); static inline void ext4_update_dx_flag(struct inode *inode) { - if (!ext4_has_feature_dir_index(inode->i_sb)) { + if (!ext4_has_feature_dir_index(inode->i_sb) && + ext4_test_inode_flag(inode, EXT4_INODE_INDEX)) { /* ext4_iget() should have caught this... */ WARN_ON_ONCE(ext4_has_feature_metadata_csum(inode->i_sb)); ext4_clear_inode_flag(inode, EXT4_INODE_INDEX); @@ -2651,7 +2658,7 @@ extern ext4_fsblk_t ext4_mb_new_blocks(handle_t *, struct ext4_allocation_request *, int *); extern int ext4_mb_reserve_blocks(struct super_block *, int); -extern void ext4_discard_preallocations(struct inode *); +extern void ext4_discard_preallocations(struct inode *, unsigned int); extern int __init ext4_init_mballoc(void); extern void ext4_exit_mballoc(void); extern void ext4_free_blocks(handle_t *handle, struct inode *inode, @@ -3363,9 +3370,9 @@ extern int ext4_setup_system_zone(struct super_block *sb); extern int __init ext4_init_system_zone(void); extern void ext4_exit_system_zone(void); -extern int ext4_data_block_valid(struct ext4_sb_info *sbi, - ext4_fsblk_t start_blk, - unsigned int count); +extern int ext4_inode_block_valid(struct inode *inode, + ext4_fsblk_t start_blk, + unsigned int count); extern int ext4_check_blockref(const char *, unsigned int, struct inode *, __le32 *, unsigned int); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/ext4_jbd2.c +++ linux-riscv-5.8-5.8.0/fs/ext4/ext4_jbd2.c @@ -195,6 +195,28 @@ jbd2_journal_abort_handle(handle); } +static void ext4_check_bdev_write_error(struct super_block *sb) +{ + struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping; + struct ext4_sb_info *sbi = EXT4_SB(sb); + int err; + + /* + * If the block device has write error flag, it may have failed to + * async write out metadata buffers in the background. In this case, + * we could read old data from disk and write it out again, which + * may lead to on-disk filesystem inconsistency. + */ + if (errseq_check(&mapping->wb_err, READ_ONCE(sbi->s_bdev_wb_err))) { + spin_lock(&sbi->s_bdev_wb_lock); + err = errseq_check_and_advance(&mapping->wb_err, &sbi->s_bdev_wb_err); + spin_unlock(&sbi->s_bdev_wb_lock); + if (err) + ext4_error_err(sb, -err, + "Error while async write back metadata"); + } +} + int __ext4_journal_get_write_access(const char *where, unsigned int line, handle_t *handle, struct buffer_head *bh) { @@ -202,6 +224,9 @@ might_sleep(); + if (bh->b_bdev->bd_super) + ext4_check_bdev_write_error(bh->b_bdev->bd_super); + if (ext4_handle_valid(handle)) { err = jbd2_journal_get_write_access(handle, bh); if (err) --- linux-riscv-5.8-5.8.0.orig/fs/ext4/extents.c +++ linux-riscv-5.8-5.8.0/fs/ext4/extents.c @@ -100,7 +100,7 @@ * i_mutex. So we can safely drop the i_data_sem here. */ BUG_ON(EXT4_JOURNAL(inode) == NULL); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); up_write(&EXT4_I(inode)->i_data_sem); *dropped = 1; return 0; @@ -340,7 +340,7 @@ */ if (lblock + len <= lblock) return 0; - return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, len); + return ext4_inode_block_valid(inode, block, len); } static int ext4_valid_extent_idx(struct inode *inode, @@ -348,7 +348,7 @@ { ext4_fsblk_t block = ext4_idx_pblock(ext_idx); - return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, 1); + return ext4_inode_block_valid(inode, block, 1); } static int ext4_valid_extent_entries(struct inode *inode, @@ -501,20 +501,17 @@ if (!bh_uptodate_or_lock(bh)) { trace_ext4_ext_load_extent(inode, pblk, _RET_IP_); + clear_buffer_verified(bh); err = bh_submit_read(bh); if (err < 0) goto errout; } if (buffer_verified(bh) && !(flags & EXT4_EX_FORCE_CACHE)) return bh; - if (!ext4_has_feature_journal(inode->i_sb) || - (inode->i_ino != - le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum))) { - err = __ext4_ext_check(function, line, inode, - ext_block_hdr(bh), depth, pblk); - if (err) - goto errout; - } + err = __ext4_ext_check(function, line, inode, + ext_block_hdr(bh), depth, pblk); + if (err) + goto errout; set_buffer_verified(bh); /* * If this is a leaf block, cache all of its entries @@ -1477,16 +1474,16 @@ } /* - * search the closest allocated block to the right for *logical - * and returns it at @logical + it's physical address at @phys - * if *logical is the largest allocated block, the function - * returns 0 at @phys - * return value contains 0 (success) or error code + * Search the closest allocated block to the right for *logical + * and returns it at @logical + it's physical address at @phys. + * If not exists, return 0 and @phys is set to 0. We will return + * 1 which means we found an allocated block and ret_ex is valid. + * Or return a (< 0) error code. */ static int ext4_ext_search_right(struct inode *inode, struct ext4_ext_path *path, ext4_lblk_t *logical, ext4_fsblk_t *phys, - struct ext4_extent **ret_ex) + struct ext4_extent *ret_ex) { struct buffer_head *bh = NULL; struct ext4_extent_header *eh; @@ -1580,10 +1577,11 @@ found_extent: *logical = le32_to_cpu(ex->ee_block); *phys = ext4_ext_pblock(ex); - *ret_ex = ex; + if (ret_ex) + *ret_ex = *ex; if (bh) put_bh(bh); - return 0; + return 1; } /* @@ -2874,8 +2872,8 @@ */ lblk = ex_end + 1; err = ext4_ext_search_right(inode, path, &lblk, &pblk, - &ex); - if (err) + NULL); + if (err < 0) goto out; if (pblk) { partial.pclu = EXT4_B2C(sbi, pblk); @@ -4043,7 +4041,7 @@ struct ext4_map_blocks *map, int flags) { struct ext4_ext_path *path = NULL; - struct ext4_extent newex, *ex, *ex2; + struct ext4_extent newex, *ex, ex2; struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); ext4_fsblk_t newblock = 0, pblk; int err = 0, depth, ret; @@ -4179,15 +4177,14 @@ if (err) goto out; ar.lright = map->m_lblk; - ex2 = NULL; err = ext4_ext_search_right(inode, path, &ar.lright, &ar.pright, &ex2); - if (err) + if (err < 0) goto out; /* Check if the extent after searching to the right implies a * cluster we can use. */ - if ((sbi->s_cluster_ratio > 1) && ex2 && - get_implied_cluster_alloc(inode->i_sb, map, ex2, path)) { + if ((sbi->s_cluster_ratio > 1) && err && + get_implied_cluster_alloc(inode->i_sb, map, &ex2, path)) { ar.len = allocated = map->m_len; newblock = map->m_pblk; goto got_allocated_blocks; @@ -4272,7 +4269,7 @@ * not a good idea to call discard here directly, * but otherwise we'd need to call it every free(). */ - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); if (flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) fb_flags = EXT4_FREE_BLOCKS_NO_QUOT_UPDATE; ext4_free_blocks(handle, inode, NULL, newblock, @@ -4775,7 +4772,7 @@ int ext4_convert_unwritten_io_end_vec(handle_t *handle, ext4_io_end_t *io_end) { - int ret, err = 0; + int ret = 0, err = 0; struct ext4_io_end_vec *io_end_vec; /* @@ -5299,7 +5296,7 @@ } down_write(&EXT4_I(inode)->i_data_sem); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); ret = ext4_es_remove_extent(inode, punch_start, EXT_MAX_BLOCKS - punch_start); @@ -5313,7 +5310,7 @@ up_write(&EXT4_I(inode)->i_data_sem); goto out_stop; } - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); ret = ext4_ext_shift_extents(inode, handle, punch_stop, punch_stop - punch_start, SHIFT_LEFT); @@ -5445,7 +5442,7 @@ goto out_stop; down_write(&EXT4_I(inode)->i_data_sem); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); path = ext4_find_extent(inode, offset_lblk, NULL, 0); if (IS_ERR(path)) { --- linux-riscv-5.8-5.8.0.orig/fs/ext4/file.c +++ linux-riscv-5.8-5.8.0/fs/ext4/file.c @@ -148,7 +148,7 @@ !EXT4_I(inode)->i_reserved_data_blocks) { down_write(&EXT4_I(inode)->i_data_sem); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); up_write(&EXT4_I(inode)->i_data_sem); } if (is_dx(inode) && filp->private_data) @@ -428,6 +428,10 @@ */ if (*ilock_shared && (!IS_NOSEC(inode) || *extend || !ext4_overwrite_io(inode, offset, count))) { + if (iocb->ki_flags & IOCB_NOWAIT) { + ret = -EAGAIN; + goto out; + } inode_unlock_shared(inode); *ilock_shared = false; inode_lock(inode); @@ -800,7 +804,7 @@ err = ext4_journal_get_write_access(handle, sbi->s_sbh); if (err) goto out_journal; - strlcpy(sbi->s_es->s_last_mounted, cp, + strncpy(sbi->s_es->s_last_mounted, cp, sizeof(sbi->s_es->s_last_mounted)); ext4_handle_dirty_super(handle, sb); out_journal: --- linux-riscv-5.8-5.8.0.orig/fs/ext4/fsmap.c +++ linux-riscv-5.8-5.8.0/fs/ext4/fsmap.c @@ -108,6 +108,9 @@ /* Are we just counting mappings? */ if (info->gfi_head->fmh_count == 0) { + if (info->gfi_head->fmh_entries == UINT_MAX) + return EXT4_QUERY_RANGE_ABORT; + if (rec_fsblk > info->gfi_next_fsblk) info->gfi_head->fmh_entries++; --- linux-riscv-5.8-5.8.0.orig/fs/ext4/ialloc.c +++ linux-riscv-5.8-5.8.0/fs/ext4/ialloc.c @@ -188,6 +188,7 @@ /* * submit the buffer_head for reading */ + clear_buffer_verified(bh); trace_ext4_load_inode_bitmap(sb, block_group); bh->b_end_io = ext4_end_bitmap_read; get_bh(bh); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/indirect.c +++ linux-riscv-5.8-5.8.0/fs/ext4/indirect.c @@ -696,7 +696,7 @@ * i_mutex. So we can safely drop the i_data_sem here. */ BUG_ON(EXT4_JOURNAL(inode) == NULL); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); up_write(&EXT4_I(inode)->i_data_sem); *dropped = 1; return 0; @@ -858,8 +858,7 @@ else if (ext4_should_journal_data(inode)) flags |= EXT4_FREE_BLOCKS_FORGET; - if (!ext4_data_block_valid(EXT4_SB(inode->i_sb), block_to_free, - count)) { + if (!ext4_inode_block_valid(inode, block_to_free, count)) { EXT4_ERROR_INODE(inode, "attempt to clear invalid " "blocks %llu len %lu", (unsigned long long) block_to_free, count); @@ -1004,8 +1003,7 @@ if (!nr) continue; /* A hole */ - if (!ext4_data_block_valid(EXT4_SB(inode->i_sb), - nr, 1)) { + if (!ext4_inode_block_valid(inode, nr, 1)) { EXT4_ERROR_INODE(inode, "invalid indirect mapped " "block %lu (level %d)", --- linux-riscv-5.8-5.8.0.orig/fs/ext4/inline.c +++ linux-riscv-5.8-5.8.0/fs/ext4/inline.c @@ -1880,6 +1880,7 @@ ext4_write_lock_xattr(inode, &no_expand); if (!ext4_has_inline_data(inode)) { + ext4_write_unlock_xattr(inode, &no_expand); *has_inline = 0; ext4_journal_stop(handle); return 0; --- linux-riscv-5.8-5.8.0.orig/fs/ext4/inode.c +++ linux-riscv-5.8-5.8.0/fs/ext4/inode.c @@ -175,6 +175,7 @@ */ int extra_credits = 6; struct ext4_xattr_inode_array *ea_inode_array = NULL; + bool freeze_protected = false; trace_ext4_evict_inode(inode); @@ -232,9 +233,14 @@ /* * Protect us against freezing - iput() caller didn't have to have any - * protection against it - */ - sb_start_intwrite(inode->i_sb); + * protection against it. When we are in a running transaction though, + * we are already protected against freezing and we cannot grab further + * protection due to lock ordering constraints. + */ + if (!ext4_journal_current_handle()) { + sb_start_intwrite(inode->i_sb); + freeze_protected = true; + } if (!IS_NOQUOTA(inode)) extra_credits += EXT4_MAXQUOTAS_DEL_BLOCKS(inode->i_sb); @@ -253,7 +259,8 @@ * cleaned up. */ ext4_orphan_del(NULL, inode); - sb_end_intwrite(inode->i_sb); + if (freeze_protected) + sb_end_intwrite(inode->i_sb); goto no_delete; } @@ -294,7 +301,8 @@ stop_handle: ext4_journal_stop(handle); ext4_orphan_del(NULL, inode); - sb_end_intwrite(inode->i_sb); + if (freeze_protected) + sb_end_intwrite(inode->i_sb); ext4_xattr_inode_array_free(ea_inode_array); goto no_delete; } @@ -323,7 +331,8 @@ else ext4_free_inode(handle, inode); ext4_journal_stop(handle); - sb_end_intwrite(inode->i_sb); + if (freeze_protected) + sb_end_intwrite(inode->i_sb); ext4_xattr_inode_array_free(ea_inode_array); return; no_delete: @@ -383,7 +392,7 @@ */ if ((ei->i_reserved_data_blocks == 0) && !inode_is_open_for_write(inode)) - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); } static int __check_block_validity(struct inode *inode, const char *func, @@ -394,8 +403,7 @@ (inode->i_ino == le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum))) return 0; - if (!ext4_data_block_valid(EXT4_SB(inode->i_sb), map->m_pblk, - map->m_len)) { + if (!ext4_inode_block_valid(inode, map->m_pblk, map->m_len)) { ext4_error_inode(inode, func, line, map->m_pblk, "lblock %lu mapped to illegal pblock %llu " "(length %d)", (unsigned long) map->m_lblk, @@ -885,6 +893,7 @@ return bh; if (!bh || ext4_buffer_uptodate(bh)) return bh; + clear_buffer_verified(bh); ll_rw_block(REQ_OP_READ, REQ_META | REQ_PRIO, 1, &bh); wait_on_buffer(bh); if (buffer_uptodate(bh)) @@ -910,9 +919,11 @@ for (i = 0; i < bh_count; i++) /* Note that NULL bhs[i] is valid because of holes. */ - if (bhs[i] && !ext4_buffer_uptodate(bhs[i])) + if (bhs[i] && !ext4_buffer_uptodate(bhs[i])) { + clear_buffer_verified(bhs[i]); ll_rw_block(REQ_OP_READ, REQ_META | REQ_PRIO, 1, &bhs[i]); + } if (!wait) return 0; @@ -1918,13 +1929,13 @@ if (!ret) ret = err; - if (!ext4_has_inline_data(inode)) - ext4_walk_page_buffers(NULL, page_bufs, 0, len, - NULL, bput_one); ext4_set_inode_state(inode, EXT4_STATE_JDATA); out: unlock_page(page); out_no_pagelock: + if (!inline_data && page_bufs) + ext4_walk_page_buffers(NULL, page_bufs, 0, len, + NULL, bput_one); brelse(inode_bh); return ret; } @@ -2255,7 +2266,7 @@ err = PTR_ERR(io_end_vec); goto out; } - io_end_vec->offset = mpd->map.m_lblk << blkbits; + io_end_vec->offset = (loff_t)mpd->map.m_lblk << blkbits; } *map_bh = true; goto out; @@ -3602,6 +3613,13 @@ return __set_page_dirty_buffers(page); } +static int ext4_iomap_swap_activate(struct swap_info_struct *sis, + struct file *file, sector_t *span) +{ + return iomap_swapfile_activate(sis, file, span, + &ext4_iomap_report_ops); +} + static const struct address_space_operations ext4_aops = { .readpage = ext4_readpage, .readahead = ext4_readahead, @@ -3617,6 +3635,7 @@ .migratepage = buffer_migrate_page, .is_partially_uptodate = block_is_partially_uptodate, .error_remove_page = generic_error_remove_page, + .swap_activate = ext4_iomap_swap_activate, }; static const struct address_space_operations ext4_journalled_aops = { @@ -3633,6 +3652,7 @@ .direct_IO = noop_direct_IO, .is_partially_uptodate = block_is_partially_uptodate, .error_remove_page = generic_error_remove_page, + .swap_activate = ext4_iomap_swap_activate, }; static const struct address_space_operations ext4_da_aops = { @@ -3650,6 +3670,7 @@ .migratepage = buffer_migrate_page, .is_partially_uptodate = block_is_partially_uptodate, .error_remove_page = generic_error_remove_page, + .swap_activate = ext4_iomap_swap_activate, }; static const struct address_space_operations ext4_dax_aops = { @@ -3658,6 +3679,7 @@ .set_page_dirty = noop_set_page_dirty, .bmap = ext4_bmap, .invalidatepage = noop_invalidatepage, + .swap_activate = ext4_iomap_swap_activate, }; void ext4_set_aops(struct inode *inode) @@ -4056,7 +4078,7 @@ if (stop_block > first_block) { down_write(&EXT4_I(inode)->i_data_sem); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); ret = ext4_es_remove_extent(inode, first_block, stop_block - first_block); @@ -4211,7 +4233,7 @@ down_write(&EXT4_I(inode)->i_data_sem); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) err = ext4_ext_truncate(handle, inode); @@ -4760,7 +4782,7 @@ ret = 0; if (ei->i_file_acl && - !ext4_data_block_valid(EXT4_SB(sb), ei->i_file_acl, 1)) { + !ext4_inode_block_valid(inode, ei->i_file_acl, 1)) { ext4_error_inode(inode, function, line, 0, "iget: bad extended attribute block %llu", ei->i_file_acl); @@ -4901,7 +4923,7 @@ (inode->i_state & I_DIRTY_TIME)) { struct ext4_inode_info *ei = EXT4_I(inode); - inode->i_state &= ~(I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED); + inode->i_state &= ~I_DIRTY_TIME; spin_unlock(&inode->i_lock); spin_lock(&ei->i_raw_lock); @@ -4958,7 +4980,7 @@ struct ext4_inode_info *ei = EXT4_I(inode); struct buffer_head *bh = iloc->bh; struct super_block *sb = inode->i_sb; - int err = 0, rc, block; + int err = 0, block; int need_datasync = 0, set_large_file = 0; uid_t i_uid; gid_t i_gid; @@ -4971,6 +4993,12 @@ if (ext4_test_inode_state(inode, EXT4_STATE_NEW)) memset(raw_inode, 0, EXT4_SB(inode->i_sb)->s_inode_size); + err = ext4_inode_blocks_set(handle, raw_inode, ei); + if (err) { + spin_unlock(&ei->i_raw_lock); + goto out_brelse; + } + raw_inode->i_mode = cpu_to_le16(inode->i_mode); i_uid = i_uid_read(inode); i_gid = i_gid_read(inode); @@ -5004,11 +5032,6 @@ EXT4_INODE_SET_XTIME(i_atime, inode, raw_inode); EXT4_EINODE_SET_XTIME(i_crtime, ei, raw_inode); - err = ext4_inode_blocks_set(handle, raw_inode, ei); - if (err) { - spin_unlock(&ei->i_raw_lock); - goto out_brelse; - } raw_inode->i_dtime = cpu_to_le32(ei->i_dtime); raw_inode->i_flags = cpu_to_le32(ei->i_flags & 0xFFFFFFFF); if (likely(!test_opt2(inode->i_sb, HURD_COMPAT))) @@ -5069,9 +5092,9 @@ bh->b_data); BUFFER_TRACE(bh, "call ext4_handle_dirty_metadata"); - rc = ext4_handle_dirty_metadata(handle, NULL, bh); - if (!err) - err = rc; + err = ext4_handle_dirty_metadata(handle, NULL, bh); + if (err) + goto out_brelse; ext4_clear_inode_state(inode, EXT4_STATE_NEW); if (set_large_file) { BUFFER_TRACE(EXT4_SB(sb)->s_sbh, "get write access"); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/ioctl.c +++ linux-riscv-5.8-5.8.0/fs/ext4/ioctl.c @@ -202,7 +202,7 @@ reset_inode_seed(inode); reset_inode_seed(inode_bl); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); err = ext4_mark_inode_dirty(handle, inode); if (err < 0) { @@ -1154,7 +1154,10 @@ err = ext4_journal_get_write_access(handle, sbi->s_sbh); if (err) goto pwsalt_err_journal; + lock_buffer(sbi->s_sbh); generate_random_uuid(sbi->s_es->s_encrypt_pw_salt); + ext4_superblock_csum_set(sb); + unlock_buffer(sbi->s_sbh); err = ext4_handle_dirty_metadata(handle, NULL, sbi->s_sbh); pwsalt_err_journal: --- linux-riscv-5.8-5.8.0.orig/fs/ext4/mballoc.c +++ linux-riscv-5.8-5.8.0/fs/ext4/mballoc.c @@ -2177,6 +2177,7 @@ { struct ext4_group_info *grp = ext4_get_group_info(ac->ac_sb, group); struct super_block *sb = ac->ac_sb; + struct ext4_sb_info *sbi = EXT4_SB(sb); bool should_lock = ac->ac_flags & EXT4_MB_STRICT_CHECK; ext4_grpblk_t free; int ret = 0; @@ -2195,7 +2196,25 @@ /* We only do this if the grp has never been initialized */ if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) { - ret = ext4_mb_init_group(ac->ac_sb, group, GFP_NOFS); + struct ext4_group_desc *gdp = + ext4_get_group_desc(sb, group, NULL); + int ret; + + /* cr=0/1 is a very optimistic search to find large + * good chunks almost for free. If buddy data is not + * ready, then this optimization makes no sense. But + * we never skip the first block group in a flex_bg, + * since this gets used for metadata block allocation, + * and we want to make sure we locate metadata blocks + * in the first block group in the flex_bg if possible. + */ + if (cr < 2 && + (!sbi->s_log_groups_per_flex || + ((group & ((1 << sbi->s_log_groups_per_flex) - 1)) != 0)) && + !(ext4_has_group_desc_csum(sb) && + (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)))) + return 0; + ret = ext4_mb_init_group(sb, group, GFP_NOFS); if (ret) return ret; } @@ -2736,6 +2755,7 @@ sbi->s_mb_stats = MB_DEFAULT_STATS; sbi->s_mb_stream_request = MB_DEFAULT_STREAM_THRESHOLD; sbi->s_mb_order2_reqs = MB_DEFAULT_ORDER2_REQS; + sbi->s_mb_max_inode_prealloc = MB_DEFAULT_MAX_INODE_PREALLOC; /* * The default group preallocation is 512, which for 4k block * sizes translates to 2 megabytes. However for bigalloc file @@ -3090,7 +3110,7 @@ block = ext4_grp_offs_to_block(sb, &ac->ac_b_ex); len = EXT4_C2B(sbi, ac->ac_b_ex.fe_len); - if (!ext4_data_block_valid(sbi, block, len)) { + if (!ext4_inode_block_valid(ac->ac_inode, block, len)) { ext4_error(sb, "Allocating blocks %llu-%llu which overlap " "fs metadata", block, block+len); /* File system mounted not to panic on error @@ -3674,6 +3694,26 @@ mb_debug(sb, "preallocated %d for group %u\n", preallocated, group); } +static void ext4_mb_mark_pa_deleted(struct super_block *sb, + struct ext4_prealloc_space *pa) +{ + struct ext4_inode_info *ei; + + if (pa->pa_deleted) { + ext4_warning(sb, "deleted pa, type:%d, pblk:%llu, lblk:%u, len:%d\n", + pa->pa_type, pa->pa_pstart, pa->pa_lstart, + pa->pa_len); + return; + } + + pa->pa_deleted = 1; + + if (pa->pa_type == MB_INODE_PA) { + ei = EXT4_I(pa->pa_inode); + atomic_dec(&ei->i_prealloc_active); + } +} + static void ext4_mb_pa_callback(struct rcu_head *head) { struct ext4_prealloc_space *pa; @@ -3706,7 +3746,7 @@ return; } - pa->pa_deleted = 1; + ext4_mb_mark_pa_deleted(sb, pa); spin_unlock(&pa->pa_lock); grp_blk = pa->pa_pstart; @@ -3830,6 +3870,7 @@ spin_lock(pa->pa_obj_lock); list_add_rcu(&pa->pa_inode_list, &ei->i_prealloc_list); spin_unlock(pa->pa_obj_lock); + atomic_inc(&ei->i_prealloc_active); } /* @@ -3996,7 +4037,7 @@ struct ext4_buddy e4b; int err; int busy = 0; - int free = 0; + int free, free_total = 0; mb_debug(sb, "discard preallocation for group %u\n", group); if (list_empty(&grp->bb_prealloc_list)) @@ -4024,8 +4065,8 @@ INIT_LIST_HEAD(&list); repeat: + free = 0; ext4_lock_group(sb, group); - this_cpu_inc(discard_pa_seq); list_for_each_entry_safe(pa, tmp, &grp->bb_prealloc_list, pa_group_list) { spin_lock(&pa->pa_lock); @@ -4040,7 +4081,10 @@ } /* seems this one can be freed ... */ - pa->pa_deleted = 1; + ext4_mb_mark_pa_deleted(sb, pa); + + if (!free) + this_cpu_inc(discard_pa_seq); /* we can trust pa_free ... */ free += pa->pa_free; @@ -4051,22 +4095,6 @@ list_add(&pa->u.pa_tmp_list, &list); } - /* if we still need more blocks and some PAs were used, try again */ - if (free < needed && busy) { - busy = 0; - ext4_unlock_group(sb, group); - cond_resched(); - goto repeat; - } - - /* found anything to free? */ - if (list_empty(&list)) { - BUG_ON(free != 0); - mb_debug(sb, "Someone else may have freed PA for this group %u\n", - group); - goto out; - } - /* now free all selected PAs */ list_for_each_entry_safe(pa, tmp, &list, u.pa_tmp_list) { @@ -4084,14 +4112,22 @@ call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback); } -out: + free_total += free; + + /* if we still need more blocks and some PAs were used, try again */ + if (free_total < needed && busy) { + ext4_unlock_group(sb, group); + cond_resched(); + busy = 0; + goto repeat; + } ext4_unlock_group(sb, group); ext4_mb_unload_buddy(&e4b); put_bh(bitmap_bh); out_dbg: mb_debug(sb, "discarded (%d) blocks preallocated for group %u bb_free (%d)\n", - free, group, grp->bb_free); - return free; + free_total, group, grp->bb_free); + return free_total; } /* @@ -4103,7 +4139,7 @@ * * FIXME!! Make sure it is valid at all the call sites */ -void ext4_discard_preallocations(struct inode *inode) +void ext4_discard_preallocations(struct inode *inode, unsigned int needed) { struct ext4_inode_info *ei = EXT4_I(inode); struct super_block *sb = inode->i_sb; @@ -4121,15 +4157,19 @@ mb_debug(sb, "discard preallocation for inode %lu\n", inode->i_ino); - trace_ext4_discard_preallocations(inode); + trace_ext4_discard_preallocations(inode, + atomic_read(&ei->i_prealloc_active), needed); INIT_LIST_HEAD(&list); + if (needed == 0) + needed = UINT_MAX; + repeat: /* first, collect all pa's in the inode */ spin_lock(&ei->i_prealloc_lock); - while (!list_empty(&ei->i_prealloc_list)) { - pa = list_entry(ei->i_prealloc_list.next, + while (!list_empty(&ei->i_prealloc_list) && needed) { + pa = list_entry(ei->i_prealloc_list.prev, struct ext4_prealloc_space, pa_inode_list); BUG_ON(pa->pa_obj_lock != &ei->i_prealloc_lock); spin_lock(&pa->pa_lock); @@ -4146,10 +4186,11 @@ } if (pa->pa_deleted == 0) { - pa->pa_deleted = 1; + ext4_mb_mark_pa_deleted(sb, pa); spin_unlock(&pa->pa_lock); list_del_rcu(&pa->pa_inode_list); list_add(&pa->u.pa_tmp_list, &list); + needed--; continue; } @@ -4450,7 +4491,7 @@ BUG_ON(pa->pa_type != MB_GROUP_PA); /* seems this one can be freed ... */ - pa->pa_deleted = 1; + ext4_mb_mark_pa_deleted(sb, pa); spin_unlock(&pa->pa_lock); list_del_rcu(&pa->pa_inode_list); @@ -4549,10 +4590,29 @@ } /* + * if per-inode prealloc list is too long, trim some PA + */ +static void ext4_mb_trim_inode_pa(struct inode *inode) +{ + struct ext4_inode_info *ei = EXT4_I(inode); + struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); + int count, delta; + + count = atomic_read(&ei->i_prealloc_active); + delta = (sbi->s_mb_max_inode_prealloc >> 2) + 1; + if (count > sbi->s_mb_max_inode_prealloc + delta) { + count -= sbi->s_mb_max_inode_prealloc; + ext4_discard_preallocations(inode, count); + } +} + +/* * release all resource we used in allocation */ static int ext4_mb_release_context(struct ext4_allocation_context *ac) { + struct inode *inode = ac->ac_inode; + struct ext4_inode_info *ei = EXT4_I(inode); struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb); struct ext4_prealloc_space *pa = ac->ac_pa; if (pa) { @@ -4579,6 +4639,17 @@ spin_unlock(pa->pa_obj_lock); ext4_mb_add_n_trim(ac); } + + if (pa->pa_type == MB_INODE_PA) { + /* + * treat per-inode prealloc list as a lru list, then try + * to trim the least recently used PA. + */ + spin_lock(pa->pa_obj_lock); + list_move(&pa->pa_inode_list, &ei->i_prealloc_list); + spin_unlock(pa->pa_obj_lock); + } + ext4_mb_put_pa(ac, ac->ac_sb, pa); } if (ac->ac_bitmap_page) @@ -4588,6 +4659,7 @@ if (ac->ac_flags & EXT4_MB_HINT_GROUP_ALLOC) mutex_unlock(&ac->ac_lg->lg_mutex); ext4_mb_collect_stats(ac); + ext4_mb_trim_inode_pa(inode); return 0; } @@ -4850,6 +4922,7 @@ ext4_group_first_block_no(sb, group) + EXT4_C2B(sbi, cluster), "Block already on to-be-freed list"); + kmem_cache_free(ext4_free_data_cachep, new_entry); return 0; } } @@ -4915,7 +4988,7 @@ sbi = EXT4_SB(sb); if (!(flags & EXT4_FREE_BLOCKS_VALIDATED) && - !ext4_data_block_valid(sbi, block, count)) { + !ext4_inode_block_valid(inode, block, count)) { ext4_error(sb, "Freeing blocks not in datazone - " "block = %llu, count = %lu", block, count); goto error_return; --- linux-riscv-5.8-5.8.0.orig/fs/ext4/mballoc.h +++ linux-riscv-5.8-5.8.0/fs/ext4/mballoc.h @@ -73,6 +73,10 @@ */ #define MB_DEFAULT_GROUP_PREALLOC 512 +/* + * maximum length of inode prealloc list + */ +#define MB_DEFAULT_MAX_INODE_PREALLOC 512 struct ext4_free_data { /* this links the free block information from sb_info */ --- linux-riscv-5.8-5.8.0.orig/fs/ext4/move_extent.c +++ linux-riscv-5.8-5.8.0/fs/ext4/move_extent.c @@ -686,8 +686,8 @@ out: if (*moved_len) { - ext4_discard_preallocations(orig_inode); - ext4_discard_preallocations(donor_inode); + ext4_discard_preallocations(orig_inode, 0); + ext4_discard_preallocations(donor_inode, 0); } ext4_ext_drop_refs(path); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/namei.c +++ linux-riscv-5.8-5.8.0/fs/ext4/namei.c @@ -1396,8 +1396,8 @@ ext4_match(dir, fname, de)) { /* found a match - just to be sure, do * a full check */ - if (ext4_check_dir_entry(dir, NULL, de, bh, bh->b_data, - bh->b_size, offset)) + if (ext4_check_dir_entry(dir, NULL, de, bh, search_buf, + buf_size, offset)) return -1; *res_dir = de; return 1; @@ -1858,7 +1858,7 @@ blocksize, hinfo, map); map -= count; dx_sort_map(map, count); - /* Split the existing block in the middle, size-wise */ + /* Ensure that neither split block is over half full */ size = 0; move = 0; for (i = count-1; i >= 0; i--) { @@ -1868,8 +1868,18 @@ size += map[i].size; move++; } - /* map index at which we will split */ - split = count - move; + /* + * map index at which we will split + * + * If the sum of active entries didn't exceed half the block size, just + * split it in half by count; each resulting block will have at least + * half the space free. + */ + if (i > 0) + split = count - move; + else + split = count/2; + hash2 = map[split].hash; continued = hash2 == map[split - 1].hash; dxtrace(printk(KERN_INFO "Split block %lu at %x, %i/%i\n", @@ -2189,6 +2199,9 @@ if (!dentry->d_name.len) return -EINVAL; + if (fscrypt_is_nokey_name(dentry)) + return -ENOKEY; + #ifdef CONFIG_UNICODE sbi = EXT4_SB(sb); if (ext4_has_strict_mode(sbi) && IS_CASEFOLDED(dir) && @@ -2402,11 +2415,10 @@ (frame - 1)->bh); if (err) goto journal_error; - if (restart) { - err = ext4_handle_dirty_dx_node(handle, dir, - frame->bh); + err = ext4_handle_dirty_dx_node(handle, dir, + frame->bh); + if (err) goto journal_error; - } } else { struct dx_root *dxroot; memcpy((char *) entries2, (char *) entries, @@ -2472,7 +2484,7 @@ de = (struct ext4_dir_entry_2 *)entry_buf; while (i < buf_size - csum_size) { if (ext4_check_dir_entry(dir, NULL, de, bh, - bh->b_data, bh->b_size, i)) + entry_buf, buf_size, i)) return -EFSCORRUPTED; if (de == de_del) { if (pde) @@ -3560,12 +3572,34 @@ return retval2; } } - brelse(ent->bh); - ent->bh = NULL; - return retval; } +static void ext4_resetent(handle_t *handle, struct ext4_renament *ent, + unsigned ino, unsigned file_type) +{ + struct ext4_renament old = *ent; + int retval = 0; + + /* + * old->de could have moved from under us during make indexed dir, + * so the old->de may no longer valid and need to find it again + * before reset old inode info. + */ + old.bh = ext4_find_entry(old.dir, &old.dentry->d_name, &old.de, NULL); + if (IS_ERR(old.bh)) + retval = PTR_ERR(old.bh); + if (!old.bh) + retval = -ENOENT; + if (retval) { + ext4_std_error(old.dir->i_sb, retval); + return; + } + + ext4_setent(handle, &old, ino, file_type); + brelse(old.bh); +} + static int ext4_find_delete_entry(handle_t *handle, struct inode *dir, const struct qstr *d_name) { @@ -3725,14 +3759,14 @@ */ retval = -ENOENT; if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino) - goto end_rename; + goto release_bh; new.bh = ext4_find_entry(new.dir, &new.dentry->d_name, &new.de, &new.inlined); if (IS_ERR(new.bh)) { retval = PTR_ERR(new.bh); new.bh = NULL; - goto end_rename; + goto release_bh; } if (new.bh) { if (!new.inode) { @@ -3749,18 +3783,17 @@ handle = ext4_journal_start(old.dir, EXT4_HT_DIR, credits); if (IS_ERR(handle)) { retval = PTR_ERR(handle); - handle = NULL; - goto end_rename; + goto release_bh; } } else { whiteout = ext4_whiteout_for_rename(&old, credits, &handle); if (IS_ERR(whiteout)) { retval = PTR_ERR(whiteout); - whiteout = NULL; - goto end_rename; + goto release_bh; } } + old_file_type = old.de->file_type; if (IS_DIRSYNC(old.dir) || IS_DIRSYNC(new.dir)) ext4_handle_sync(handle); @@ -3788,7 +3821,6 @@ force_reread = (new.dir->i_ino == old.dir->i_ino && ext4_test_inode_flag(new.dir, EXT4_INODE_INLINE_DATA)); - old_file_type = old.de->file_type; if (whiteout) { /* * Do this before adding a new entry, so the old entry is sure @@ -3870,17 +3902,23 @@ retval = 0; end_rename: - brelse(old.dir_bh); - brelse(old.bh); - brelse(new.bh); if (whiteout) { - if (retval) + if (retval) { + ext4_resetent(handle, &old, + old.inode->i_ino, old_file_type); drop_nlink(whiteout); + ext4_orphan_add(handle, whiteout); + } unlock_new_inode(whiteout); + ext4_journal_stop(handle); iput(whiteout); - } - if (handle) + } else { ext4_journal_stop(handle); + } +release_bh: + brelse(old.dir_bh); + brelse(old.bh); + brelse(new.bh); return retval; } --- linux-riscv-5.8-5.8.0.orig/fs/ext4/resize.c +++ linux-riscv-5.8-5.8.0/fs/ext4/resize.c @@ -843,8 +843,10 @@ BUFFER_TRACE(dind, "get_write_access"); err = ext4_journal_get_write_access(handle, dind); - if (unlikely(err)) + if (unlikely(err)) { ext4_std_error(sb, err); + goto errout; + } /* ext4_reserve_inode_write() gets a reference on the iloc */ err = ext4_reserve_inode_write(handle, inode, &iloc); --- linux-riscv-5.8-5.8.0.orig/fs/ext4/super.c +++ linux-riscv-5.8-5.8.0/fs/ext4/super.c @@ -66,10 +66,10 @@ unsigned long journal_devnum); static int ext4_show_options(struct seq_file *seq, struct dentry *root); static int ext4_commit_super(struct super_block *sb, int sync); -static void ext4_mark_recovery_complete(struct super_block *sb, +static int ext4_mark_recovery_complete(struct super_block *sb, struct ext4_super_block *es); -static void ext4_clear_journal_err(struct super_block *sb, - struct ext4_super_block *es); +static int ext4_clear_journal_err(struct super_block *sb, + struct ext4_super_block *es); static int ext4_sync_fs(struct super_block *sb, int wait); static int ext4_remount(struct super_block *sb, int *flags, char *data); static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf); @@ -156,6 +156,7 @@ return ERR_PTR(-ENOMEM); if (ext4_buffer_uptodate(bh)) return bh; + clear_buffer_verified(bh); ll_rw_block(REQ_OP_READ, REQ_META | op_flags, 1, &bh); wait_on_buffer(bh); if (buffer_uptodate(bh)) @@ -495,19 +496,17 @@ static void ext4_handle_error(struct super_block *sb) { + journal_t *journal = EXT4_SB(sb)->s_journal; + if (test_opt(sb, WARN_ON_ERROR)) WARN_ON_ONCE(1); - if (sb_rdonly(sb)) + if (sb_rdonly(sb) || test_opt(sb, ERRORS_CONT)) return; - if (!test_opt(sb, ERRORS_CONT)) { - journal_t *journal = EXT4_SB(sb)->s_journal; - - EXT4_SB(sb)->s_mount_flags |= EXT4_MF_FS_ABORTED; - if (journal) - jbd2_journal_abort(journal, -EIO); - } + EXT4_SB(sb)->s_mount_flags |= EXT4_MF_FS_ABORTED; + if (journal) + jbd2_journal_abort(journal, -EIO); /* * We force ERRORS_RO behavior when system is rebooting. Otherwise we * could panic during 'reboot -f' as the underlying device got already @@ -1053,6 +1052,7 @@ percpu_counter_destroy(&sbi->s_freeinodes_counter); percpu_counter_destroy(&sbi->s_dirs_counter); percpu_counter_destroy(&sbi->s_dirtyclusters_counter); + percpu_counter_destroy(&sbi->s_sra_exceeded_retry_limit); percpu_free_rwsem(&sbi->s_writepages_rwsem); #ifdef CONFIG_QUOTA for (i = 0; i < EXT4_MAXQUOTAS; i++) @@ -1123,6 +1123,7 @@ inode_set_iversion(&ei->vfs_inode, 1); spin_lock_init(&ei->i_raw_lock); INIT_LIST_HEAD(&ei->i_prealloc_list); + atomic_set(&ei->i_prealloc_active, 0); spin_lock_init(&ei->i_prealloc_lock); ext4_es_init_tree(&ei->i_es_tree); rwlock_init(&ei->i_es_lock); @@ -1216,7 +1217,7 @@ { invalidate_inode_buffers(inode); clear_inode(inode); - ext4_discard_preallocations(inode); + ext4_discard_preallocations(inode, 0); ext4_es_remove_extent(inode, 0, EXT_MAX_BLOCKS); dquot_drop(inode); if (EXT4_I(inode)->jinode) { @@ -1819,8 +1820,8 @@ {Opt_noquota, (EXT4_MOUNT_QUOTA | EXT4_MOUNT_USRQUOTA | EXT4_MOUNT_GRPQUOTA | EXT4_MOUNT_PRJQUOTA), MOPT_CLEAR | MOPT_Q}, - {Opt_usrjquota, 0, MOPT_Q}, - {Opt_grpjquota, 0, MOPT_Q}, + {Opt_usrjquota, 0, MOPT_Q | MOPT_STRING}, + {Opt_grpjquota, 0, MOPT_Q | MOPT_STRING}, {Opt_offusrjquota, 0, MOPT_Q}, {Opt_offgrpjquota, 0, MOPT_Q}, {Opt_jqfmt_vfsold, QFMT_VFS_OLD, MOPT_QFMT}, @@ -3939,19 +3940,26 @@ */ sbi->s_li_wait_mult = EXT4_DEF_LI_WAIT_MULT; - blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); - - if (blocksize == PAGE_SIZE) - set_opt(sb, DIOREAD_NOLOCK); - - if (blocksize < EXT4_MIN_BLOCK_SIZE || - blocksize > EXT4_MAX_BLOCK_SIZE) { + if (le32_to_cpu(es->s_log_block_size) > + (EXT4_MAX_BLOCK_LOG_SIZE - EXT4_MIN_BLOCK_LOG_SIZE)) { ext4_msg(sb, KERN_ERR, - "Unsupported filesystem blocksize %d (%d log_block_size)", - blocksize, le32_to_cpu(es->s_log_block_size)); + "Invalid log block size: %u", + le32_to_cpu(es->s_log_block_size)); + goto failed_mount; + } + if (le32_to_cpu(es->s_log_cluster_size) > + (EXT4_MAX_CLUSTER_LOG_SIZE - EXT4_MIN_BLOCK_LOG_SIZE)) { + ext4_msg(sb, KERN_ERR, + "Invalid log cluster size: %u", + le32_to_cpu(es->s_log_cluster_size)); goto failed_mount; } + blocksize = EXT4_MIN_BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); + + if (blocksize == PAGE_SIZE) + set_opt(sb, DIOREAD_NOLOCK); + if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV) { sbi->s_inode_size = EXT4_GOOD_OLD_INODE_SIZE; sbi->s_first_ino = EXT4_GOOD_OLD_FIRST_INO; @@ -4168,21 +4176,6 @@ if (!ext4_feature_set_ok(sb, (sb_rdonly(sb)))) goto failed_mount; - if (le32_to_cpu(es->s_log_block_size) > - (EXT4_MAX_BLOCK_LOG_SIZE - EXT4_MIN_BLOCK_LOG_SIZE)) { - ext4_msg(sb, KERN_ERR, - "Invalid log block size: %u", - le32_to_cpu(es->s_log_block_size)); - goto failed_mount; - } - if (le32_to_cpu(es->s_log_cluster_size) > - (EXT4_MAX_CLUSTER_LOG_SIZE - EXT4_MIN_BLOCK_LOG_SIZE)) { - ext4_msg(sb, KERN_ERR, - "Invalid log cluster size: %u", - le32_to_cpu(es->s_log_cluster_size)); - goto failed_mount; - } - if (le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) > (blocksize / 4)) { ext4_msg(sb, KERN_ERR, "Number of reserved GDT blocks insanely large: %d", @@ -4698,11 +4691,13 @@ ext4_set_resv_clusters(sb); - err = ext4_setup_system_zone(sb); - if (err) { - ext4_msg(sb, KERN_ERR, "failed to initialize system " - "zone (%d)", err); - goto failed_mount4a; + if (test_opt(sb, BLOCK_VALIDITY)) { + err = ext4_setup_system_zone(sb); + if (err) { + ext4_msg(sb, KERN_ERR, "failed to initialize system " + "zone (%d)", err); + goto failed_mount4a; + } } ext4_ext_init(sb); @@ -4733,6 +4728,9 @@ err = percpu_counter_init(&sbi->s_dirtyclusters_counter, 0, GFP_KERNEL); if (!err) + err = percpu_counter_init(&sbi->s_sra_exceeded_retry_limit, 0, + GFP_KERNEL); + if (!err) err = percpu_init_rwsem(&sbi->s_writepages_rwsem); if (err) { @@ -4765,12 +4763,22 @@ } #endif /* CONFIG_QUOTA */ + /* + * Save the original bdev mapping's wb_err value which could be + * used to detect the metadata async write error. + */ + spin_lock_init(&sbi->s_bdev_wb_lock); + errseq_check_and_advance(&sb->s_bdev->bd_inode->i_mapping->wb_err, + &sbi->s_bdev_wb_err); + sb->s_bdev->bd_super = sb; EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS; ext4_orphan_cleanup(sb, es); EXT4_SB(sb)->s_mount_state &= ~EXT4_ORPHAN_FS; if (needs_recovery) { ext4_msg(sb, KERN_INFO, "recovery complete"); - ext4_mark_recovery_complete(sb, es); + err = ext4_mark_recovery_complete(sb, es); + if (err) + goto failed_mount8; } if (EXT4_SB(sb)->s_journal) { if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA) @@ -4813,10 +4821,9 @@ ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); goto failed_mount; -#ifdef CONFIG_QUOTA failed_mount8: ext4_unregister_sysfs(sb); -#endif + kobject_put(&sbi->s_kobj); failed_mount7: ext4_unregister_li_request(sb); failed_mount6: @@ -4833,6 +4840,7 @@ percpu_counter_destroy(&sbi->s_freeinodes_counter); percpu_counter_destroy(&sbi->s_dirs_counter); percpu_counter_destroy(&sbi->s_dirtyclusters_counter); + percpu_counter_destroy(&sbi->s_sra_exceeded_retry_limit); percpu_free_rwsem(&sbi->s_writepages_rwsem); failed_mount5: ext4_ext_release(sb); @@ -4956,7 +4964,8 @@ struct inode *journal_inode; journal_t *journal; - BUG_ON(!ext4_has_feature_journal(sb)); + if (WARN_ON_ONCE(!ext4_has_feature_journal(sb))) + return NULL; journal_inode = ext4_get_journal_inode(sb, journal_inum); if (!journal_inode) @@ -4986,7 +4995,8 @@ struct ext4_super_block *es; struct block_device *bdev; - BUG_ON(!ext4_has_feature_journal(sb)); + if (WARN_ON_ONCE(!ext4_has_feature_journal(sb))) + return NULL; bdev = ext4_blkdev_get(j_dev, sb); if (bdev == NULL) @@ -5077,8 +5087,10 @@ dev_t journal_dev; int err = 0; int really_read_only; + int journal_dev_ro; - BUG_ON(!ext4_has_feature_journal(sb)); + if (WARN_ON_ONCE(!ext4_has_feature_journal(sb))) + return -EFSCORRUPTED; if (journal_devnum && journal_devnum != le32_to_cpu(es->s_journal_dev)) { @@ -5088,7 +5100,31 @@ } else journal_dev = new_decode_dev(le32_to_cpu(es->s_journal_dev)); - really_read_only = bdev_read_only(sb->s_bdev); + if (journal_inum && journal_dev) { + ext4_msg(sb, KERN_ERR, + "filesystem has both journal inode and journal device!"); + return -EINVAL; + } + + if (journal_inum) { + journal = ext4_get_journal(sb, journal_inum); + if (!journal) + return -EINVAL; + } else { + journal = ext4_get_dev_journal(sb, journal_dev); + if (!journal) + return -EINVAL; + } + + journal_dev_ro = bdev_read_only(journal->j_dev); + really_read_only = bdev_read_only(sb->s_bdev) | journal_dev_ro; + + if (journal_dev_ro && !sb_rdonly(sb)) { + ext4_msg(sb, KERN_ERR, + "journal device read-only, try mounting with '-o ro'"); + err = -EROFS; + goto err_out; + } /* * Are we loading a blank journal or performing recovery after a @@ -5103,27 +5139,14 @@ ext4_msg(sb, KERN_ERR, "write access " "unavailable, cannot proceed " "(try mounting with noload)"); - return -EROFS; + err = -EROFS; + goto err_out; } ext4_msg(sb, KERN_INFO, "write access will " "be enabled during recovery"); } } - if (journal_inum && journal_dev) { - ext4_msg(sb, KERN_ERR, "filesystem has both journal " - "and inode journals!"); - return -EINVAL; - } - - if (journal_inum) { - if (!(journal = ext4_get_journal(sb, journal_inum))) - return -EINVAL; - } else { - if (!(journal = ext4_get_dev_journal(sb, journal_dev))) - return -EINVAL; - } - if (!(journal->j_flags & JBD2_BARRIER)) ext4_msg(sb, KERN_INFO, "barriers disabled"); @@ -5143,12 +5166,16 @@ if (err) { ext4_msg(sb, KERN_ERR, "error loading journal"); - jbd2_journal_destroy(journal); - return err; + goto err_out; } EXT4_SB(sb)->s_journal = journal; - ext4_clear_journal_err(sb, es); + err = ext4_clear_journal_err(sb, es); + if (err) { + EXT4_SB(sb)->s_journal = NULL; + jbd2_journal_destroy(journal); + return err; + } if (!really_read_only && journal_devnum && journal_devnum != le32_to_cpu(es->s_journal_dev)) { @@ -5159,6 +5186,10 @@ } return 0; + +err_out: + jbd2_journal_destroy(journal); + return err; } static int ext4_commit_super(struct super_block *sb, int sync) @@ -5171,13 +5202,6 @@ return error; /* - * The superblock bh should be mapped, but it might not be if the - * device was hot-removed. Not much we can do but fail the I/O. - */ - if (!buffer_mapped(sbh)) - return error; - - /* * If the file system is mounted read-only, don't update the * superblock write time. This avoids updating the superblock * write time when we are mounting the root file system @@ -5244,26 +5268,32 @@ * remounting) the filesystem readonly, then we will end up with a * consistent fs on disk. Record that fact. */ -static void ext4_mark_recovery_complete(struct super_block *sb, - struct ext4_super_block *es) +static int ext4_mark_recovery_complete(struct super_block *sb, + struct ext4_super_block *es) { + int err; journal_t *journal = EXT4_SB(sb)->s_journal; if (!ext4_has_feature_journal(sb)) { - BUG_ON(journal != NULL); - return; + if (journal != NULL) { + ext4_error(sb, "Journal got removed while the fs was " + "mounted!"); + return -EFSCORRUPTED; + } + return 0; } jbd2_journal_lock_updates(journal); - if (jbd2_journal_flush(journal) < 0) + err = jbd2_journal_flush(journal); + if (err < 0) goto out; if (ext4_has_feature_journal_needs_recovery(sb) && sb_rdonly(sb)) { ext4_clear_feature_journal_needs_recovery(sb); ext4_commit_super(sb, 1); } - out: jbd2_journal_unlock_updates(journal); + return err; } /* @@ -5271,14 +5301,17 @@ * has recorded an error from a previous lifetime, move that error to the * main filesystem now. */ -static void ext4_clear_journal_err(struct super_block *sb, +static int ext4_clear_journal_err(struct super_block *sb, struct ext4_super_block *es) { journal_t *journal; int j_errno; const char *errstr; - BUG_ON(!ext4_has_feature_journal(sb)); + if (!ext4_has_feature_journal(sb)) { + ext4_error(sb, "Journal got removed while the fs was mounted!"); + return -EFSCORRUPTED; + } journal = EXT4_SB(sb)->s_journal; @@ -5303,6 +5336,7 @@ jbd2_journal_clear_err(journal); jbd2_journal_update_sb_errno(journal); } + return 0; } /* @@ -5445,7 +5479,7 @@ { struct ext4_super_block *es; struct ext4_sb_info *sbi = EXT4_SB(sb); - unsigned long old_sb_flags; + unsigned long old_sb_flags, vfs_flags; struct ext4_mount_options old_opts; int enable_quota = 0; ext4_group_t g; @@ -5488,6 +5522,14 @@ if (sbi->s_journal && sbi->s_journal->j_task->io_context) journal_ioprio = sbi->s_journal->j_task->io_context->ioprio; + /* + * Some options can be enabled by ext4 and/or by VFS mount flag + * either way we need to make sure it matches in both *flags and + * s_flags. Copy those selected flags from *flags to s_flags + */ + vfs_flags = SB_LAZYTIME | SB_I_VERSION; + sb->s_flags = (sb->s_flags & ~vfs_flags) | (*flags & vfs_flags); + if (!parse_options(data, sb, NULL, &journal_ioprio, 1)) { err = -EINVAL; goto restore_opts; @@ -5541,9 +5583,6 @@ set_task_ioprio(sbi->s_journal->j_task, journal_ioprio); } - if (*flags & SB_LAZYTIME) - sb->s_flags |= SB_LAZYTIME; - if ((bool)(*flags & SB_RDONLY) != sb_rdonly(sb)) { if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) { err = -EROFS; @@ -5573,8 +5612,13 @@ (sbi->s_mount_state & EXT4_VALID_FS)) es->s_state = cpu_to_le16(sbi->s_mount_state); - if (sbi->s_journal) + if (sbi->s_journal) { + /* + * We let remount-ro finish even if marking fs + * as clean failed... + */ ext4_mark_recovery_complete(sb, es); + } if (sbi->s_mmp_tsk) kthread_stop(sbi->s_mmp_tsk); } else { @@ -5622,8 +5666,11 @@ * been changed by e2fsck since we originally mounted * the partition.) */ - if (sbi->s_journal) - ext4_clear_journal_err(sb, es); + if (sbi->s_journal) { + err = ext4_clear_journal_err(sb, es); + if (err) + goto restore_opts; + } sbi->s_mount_state = le16_to_cpu(es->s_state); err = ext4_setup_super(sb, es, 0); @@ -5653,7 +5700,17 @@ ext4_register_li_request(sb, first_not_zeroed); } - ext4_setup_system_zone(sb); + /* + * Handle creation of system zone data early because it can fail. + * Releasing of existing data is done when we are sure remount will + * succeed. + */ + if (test_opt(sb, BLOCK_VALIDITY) && !sbi->system_blks) { + err = ext4_setup_system_zone(sb); + if (err) + goto restore_opts; + } + if (sbi->s_journal == NULL && !(old_sb_flags & SB_RDONLY)) { err = ext4_commit_super(sb, 1); if (err) @@ -5674,8 +5731,16 @@ } } #endif + if (!test_opt(sb, BLOCK_VALIDITY) && sbi->system_blks) + ext4_release_system_zone(sb); + + /* + * Some options can be enabled by ext4 and/or by VFS mount flag + * either way we need to make sure it matches in both *flags and + * s_flags. Copy those selected flags from s_flags to *flags + */ + *flags = (*flags & ~vfs_flags) | (sb->s_flags & vfs_flags); - *flags = (*flags & ~SB_LAZYTIME) | (sb->s_flags & SB_LAZYTIME); ext4_msg(sb, KERN_INFO, "re-mounted. Opts: %s", orig_data); kfree(orig_data); return 0; @@ -5689,6 +5754,8 @@ sbi->s_commit_interval = old_opts.s_commit_interval; sbi->s_min_batch_time = old_opts.s_min_batch_time; sbi->s_max_batch_time = old_opts.s_max_batch_time; + if (!test_opt(sb, BLOCK_VALIDITY) && sbi->system_blks) + ext4_release_system_zone(sb); #ifdef CONFIG_QUOTA sbi->s_jquota_fmt = old_opts.s_jquota_fmt; for (i = 0; i < EXT4_MAXQUOTAS; i++) { @@ -5920,6 +5987,11 @@ /* Quotafile not on the same filesystem? */ if (path->dentry->d_sb != sb) return -EXDEV; + + /* Quota already enabled for this file? */ + if (IS_NOQUOTA(d_inode(path->dentry))) + return -EBUSY; + /* Journaling quota? */ if (EXT4_SB(sb)->s_qf_names[type]) { /* Quotafile not in fs root? */ --- linux-riscv-5.8-5.8.0.orig/fs/ext4/sysfs.c +++ linux-riscv-5.8-5.8.0/fs/ext4/sysfs.c @@ -24,6 +24,7 @@ attr_session_write_kbytes, attr_lifetime_write_kbytes, attr_reserved_clusters, + attr_sra_exceeded_retry_limit, attr_inode_readahead, attr_trigger_test_error, attr_first_error_time, @@ -205,6 +206,7 @@ EXT4_ATTR_FUNC(session_write_kbytes, 0444); EXT4_ATTR_FUNC(lifetime_write_kbytes, 0444); EXT4_ATTR_FUNC(reserved_clusters, 0644); +EXT4_ATTR_FUNC(sra_exceeded_retry_limit, 0444); EXT4_ATTR_OFFSET(inode_readahead_blks, 0644, inode_readahead, ext4_sb_info, s_inode_readahead_blks); @@ -215,6 +217,7 @@ EXT4_RW_ATTR_SBI_UI(mb_order2_req, s_mb_order2_reqs); EXT4_RW_ATTR_SBI_UI(mb_stream_req, s_mb_stream_request); EXT4_RW_ATTR_SBI_UI(mb_group_prealloc, s_mb_group_prealloc); +EXT4_RW_ATTR_SBI_UI(mb_max_inode_prealloc, s_mb_max_inode_prealloc); EXT4_RW_ATTR_SBI_UI(extent_max_zeroout_kb, s_extent_max_zeroout_kb); EXT4_ATTR(trigger_fs_error, 0200, trigger_test_error); EXT4_RW_ATTR_SBI_UI(err_ratelimit_interval_ms, s_err_ratelimit_state.interval); @@ -249,6 +252,7 @@ ATTR_LIST(session_write_kbytes), ATTR_LIST(lifetime_write_kbytes), ATTR_LIST(reserved_clusters), + ATTR_LIST(sra_exceeded_retry_limit), ATTR_LIST(inode_readahead_blks), ATTR_LIST(inode_goal), ATTR_LIST(mb_stats), @@ -257,6 +261,7 @@ ATTR_LIST(mb_order2_req), ATTR_LIST(mb_stream_req), ATTR_LIST(mb_group_prealloc), + ATTR_LIST(mb_max_inode_prealloc), ATTR_LIST(max_writeback_mb_bump), ATTR_LIST(extent_max_zeroout_kb), ATTR_LIST(trigger_fs_error), @@ -365,6 +370,10 @@ return snprintf(buf, PAGE_SIZE, "%llu\n", (unsigned long long) atomic64_read(&sbi->s_resv_clusters)); + case attr_sra_exceeded_retry_limit: + return snprintf(buf, PAGE_SIZE, "%llu\n", + (unsigned long long) + percpu_counter_sum(&sbi->s_sra_exceeded_retry_limit)); case attr_inode_readahead: case attr_pointer_ui: if (!ptr) --- linux-riscv-5.8-5.8.0.orig/fs/ext4/verity.c +++ linux-riscv-5.8-5.8.0/fs/ext4/verity.c @@ -201,55 +201,76 @@ struct inode *inode = file_inode(filp); const int credits = 2; /* superblock and inode for ext4_orphan_del() */ handle_t *handle; + struct ext4_iloc iloc; int err = 0; - int err2; - if (desc != NULL) { - /* Succeeded; write the verity descriptor. */ - err = ext4_write_verity_descriptor(inode, desc, desc_size, - merkle_tree_size); - - /* Write all pages before clearing VERITY_IN_PROGRESS. */ - if (!err) - err = filemap_write_and_wait(inode->i_mapping); - } + /* + * If an error already occurred (which fs/verity/ signals by passing + * desc == NULL), then only clean-up is needed. + */ + if (desc == NULL) + goto cleanup; - /* If we failed, truncate anything we wrote past i_size. */ - if (desc == NULL || err) - ext4_truncate(inode); + /* Append the verity descriptor. */ + err = ext4_write_verity_descriptor(inode, desc, desc_size, + merkle_tree_size); + if (err) + goto cleanup; /* - * We must always clean up by clearing EXT4_STATE_VERITY_IN_PROGRESS and - * deleting the inode from the orphan list, even if something failed. - * If everything succeeded, we'll also set the verity bit in the same - * transaction. + * Write all pages (both data and verity metadata). Note that this must + * happen before clearing EXT4_STATE_VERITY_IN_PROGRESS; otherwise pages + * beyond i_size won't be written properly. For crash consistency, this + * also must happen before the verity inode flag gets persisted. */ + err = filemap_write_and_wait(inode->i_mapping); + if (err) + goto cleanup; - ext4_clear_inode_state(inode, EXT4_STATE_VERITY_IN_PROGRESS); + /* + * Finally, set the verity inode flag and remove the inode from the + * orphan list (in a single transaction). + */ handle = ext4_journal_start(inode, EXT4_HT_INODE, credits); if (IS_ERR(handle)) { - ext4_orphan_del(NULL, inode); - return PTR_ERR(handle); + err = PTR_ERR(handle); + goto cleanup; } - err2 = ext4_orphan_del(handle, inode); - if (err2) - goto out_stop; - - if (desc != NULL && !err) { - struct ext4_iloc iloc; - - err = ext4_reserve_inode_write(handle, inode, &iloc); - if (err) - goto out_stop; - ext4_set_inode_flag(inode, EXT4_INODE_VERITY); - ext4_set_inode_flags(inode, false); - err = ext4_mark_iloc_dirty(handle, inode, &iloc); - } -out_stop: + err = ext4_orphan_del(handle, inode); + if (err) + goto stop_and_cleanup; + + err = ext4_reserve_inode_write(handle, inode, &iloc); + if (err) + goto stop_and_cleanup; + + ext4_set_inode_flag(inode, EXT4_INODE_VERITY); + ext4_set_inode_flags(inode, false); + err = ext4_mark_iloc_dirty(handle, inode, &iloc); + if (err) + goto stop_and_cleanup; + ext4_journal_stop(handle); - return err ?: err2; + + ext4_clear_inode_state(inode, EXT4_STATE_VERITY_IN_PROGRESS); + return 0; + +stop_and_cleanup: + ext4_journal_stop(handle); +cleanup: + /* + * Verity failed to be enabled, so clean up by truncating any verity + * metadata that was written beyond i_size (both from cache and from + * disk), removing the inode from the orphan list (if it wasn't done + * already), and clearing EXT4_STATE_VERITY_IN_PROGRESS. + */ + truncate_inode_pages(inode->i_mapping, inode->i_size); + ext4_truncate(inode); + ext4_orphan_del(NULL, inode); + ext4_clear_inode_state(inode, EXT4_STATE_VERITY_IN_PROGRESS); + return err; } static int ext4_get_verity_descriptor_location(struct inode *inode, --- linux-riscv-5.8-5.8.0.orig/fs/ext4/xattr.c +++ linux-riscv-5.8-5.8.0/fs/ext4/xattr.c @@ -1460,6 +1460,9 @@ if (!ce) return NULL; + WARN_ON_ONCE(ext4_handle_valid(journal_current_handle()) && + !(current->flags & PF_MEMALLOC_NOFS)); + ea_data = kvmalloc(value_len, GFP_KERNEL); if (!ea_data) { mb_cache_entry_put(ea_inode_cache, ce); @@ -2326,6 +2329,7 @@ error = -ENOSPC; goto cleanup; } + WARN_ON_ONCE(!(current->flags & PF_MEMALLOC_NOFS)); } error = ext4_reserve_inode_write(handle, inode, &is.iloc); @@ -2399,7 +2403,7 @@ * external inode if possible. */ if (ext4_has_feature_ea_inode(inode->i_sb) && - !i.in_inode) { + i.value_len && !i.in_inode) { i.in_inode = 1; goto retry_inode; } --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/checkpoint.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/checkpoint.c @@ -107,7 +107,7 @@ return __get_meta_page(sbi, index, true); } -struct page *f2fs_get_meta_page_nofail(struct f2fs_sb_info *sbi, pgoff_t index) +struct page *f2fs_get_meta_page_retry(struct f2fs_sb_info *sbi, pgoff_t index) { struct page *page; int count = 0; @@ -243,6 +243,8 @@ blkno * NAT_ENTRY_PER_BLOCK); break; case META_SIT: + if (unlikely(blkno >= TOTAL_SEGS(sbi))) + goto out; /* get sit block addr */ fio.new_blkaddr = current_sit_addr(sbi, blkno * SIT_ENTRY_PER_BLOCK); @@ -1047,8 +1049,12 @@ get_pages(sbi, is_dir ? F2FS_DIRTY_DENTS : F2FS_DIRTY_DATA)); retry: - if (unlikely(f2fs_cp_error(sbi))) + if (unlikely(f2fs_cp_error(sbi))) { + trace_f2fs_sync_dirty_inodes_exit(sbi->sb, is_dir, + get_pages(sbi, is_dir ? + F2FS_DIRTY_DENTS : F2FS_DIRTY_DATA)); return -EIO; + } spin_lock(&sbi->inode_lock[type]); @@ -1591,7 +1597,7 @@ goto out; } - if (NM_I(sbi)->dirty_nat_cnt == 0 && + if (NM_I(sbi)->nat_cnt[DIRTY_NAT] == 0 && SIT_I(sbi)->dirty_sentries == 0 && prefree_segments(sbi) == 0) { f2fs_flush_sit_entries(sbi, cpc); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/compress.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/compress.c @@ -375,16 +375,17 @@ ZSTD_DStream *stream; void *workspace; unsigned int workspace_size; + unsigned int max_window_size = + MAX_COMPRESS_WINDOW_SIZE(dic->log_cluster_size); - workspace_size = ZSTD_DStreamWorkspaceBound(MAX_COMPRESS_WINDOW_SIZE); + workspace_size = ZSTD_DStreamWorkspaceBound(max_window_size); workspace = f2fs_kvmalloc(F2FS_I_SB(dic->inode), workspace_size, GFP_NOFS); if (!workspace) return -ENOMEM; - stream = ZSTD_initDStream(MAX_COMPRESS_WINDOW_SIZE, - workspace, workspace_size); + stream = ZSTD_initDStream(max_window_size, workspace, workspace_size); if (!stream) { printk_ratelimited("%sF2FS-fs (%s): %s ZSTD_initDStream failed\n", KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id, @@ -1290,7 +1291,7 @@ ret = f2fs_write_single_data_page(cc->rpages[i], &_submitted, NULL, NULL, wbc, io_type, - compr_blocks); + compr_blocks, false); if (ret) { if (ret == AOP_WRITEPAGE_ACTIVATE) { unlock_page(cc->rpages[i]); @@ -1310,6 +1311,12 @@ congestion_wait(BLK_RW_ASYNC, DEFAULT_IO_TIMEOUT); lock_page(cc->rpages[i]); + + if (!PageDirty(cc->rpages[i])) { + unlock_page(cc->rpages[i]); + continue; + } + clear_page_dirty_for_io(cc->rpages[i]); goto retry_write; } @@ -1319,6 +1326,9 @@ *submitted += _submitted; } + + f2fs_balance_fs(F2FS_M_SB(mapping), true); + return 0; out_err: for (++i; i < cc->cluster_size; i++) { @@ -1353,6 +1363,8 @@ err = f2fs_write_compressed_pages(cc, submitted, wbc, io_type); cops->destroy_compress_ctx(cc); + kfree(cc->cpages); + cc->cpages = NULL; if (!err) return 0; f2fs_bug_on(F2FS_I_SB(cc->inode), err != -EAGAIN); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/data.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/data.c @@ -471,7 +471,7 @@ if (f2fs_lfs_mode(sbi) && current->plug) blk_finish_plug(current->plug); - if (F2FS_IO_ALIGNED(sbi)) + if (!F2FS_IO_ALIGNED(sbi)) goto submit_io; start = bio->bi_iter.bi_size >> F2FS_BLKSIZE_BITS; @@ -2648,7 +2648,8 @@ sector_t *last_block, struct writeback_control *wbc, enum iostat_type io_type, - int compr_blocks) + int compr_blocks, + bool allow_balance) { struct inode *inode = page->mapping->host; struct f2fs_sb_info *sbi = F2FS_I_SB(inode); @@ -2774,7 +2775,7 @@ } unlock_page(page); if (!S_ISDIR(inode->i_mode) && !IS_NOQUOTA(inode) && - !F2FS_I(inode)->cp_task) + !F2FS_I(inode)->cp_task && allow_balance) f2fs_balance_fs(sbi, need_balance_fs); if (unlikely(f2fs_cp_error(sbi))) { @@ -2821,7 +2822,7 @@ #endif return f2fs_write_single_data_page(page, NULL, NULL, NULL, - wbc, FS_DATA_IO, 0); + wbc, FS_DATA_IO, 0, true); } /* @@ -2991,7 +2992,8 @@ } #endif ret = f2fs_write_single_data_page(page, &submitted, - &bio, &last_block, wbc, io_type, 0); + &bio, &last_block, wbc, io_type, + 0, true); if (ret == AOP_WRITEPAGE_ACTIVATE) unlock_page(page); #ifdef CONFIG_F2FS_FS_COMPRESSION @@ -3432,6 +3434,10 @@ if (f2fs_compressed_file(inode) && fsdata) { f2fs_compress_write_end(inode, fsdata, page->index, copied); f2fs_update_time(F2FS_I_SB(inode), REQ_TIME); + + if (pos + copied > i_size_read(inode) && + !f2fs_verity_in_progress(inode)) + f2fs_i_size_write(inode, pos + copied); return copied; } #endif @@ -3459,6 +3465,9 @@ unsigned long align = offset | iov_iter_alignment(iter); struct block_device *bdev = inode->i_sb->s_bdev; + if (iov_iter_rw(iter) == READ && offset >= i_size_read(inode)) + return 1; + if (align & blocksize_mask) { if (bdev) blkbits = blksize_bits(bdev_logical_block_size(bdev)); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/debug.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/debug.c @@ -145,8 +145,8 @@ si->node_pages = NODE_MAPPING(sbi)->nrpages; if (sbi->meta_inode) si->meta_pages = META_MAPPING(sbi)->nrpages; - si->nats = NM_I(sbi)->nat_cnt; - si->dirty_nats = NM_I(sbi)->dirty_nat_cnt; + si->nats = NM_I(sbi)->nat_cnt[TOTAL_NAT]; + si->dirty_nats = NM_I(sbi)->nat_cnt[DIRTY_NAT]; si->sits = MAIN_SEGS(sbi); si->dirty_sits = SIT_I(sbi)->dirty_sentries; si->free_nids = NM_I(sbi)->nid_cnt[FREE_NID]; @@ -258,9 +258,10 @@ si->cache_mem += (NM_I(sbi)->nid_cnt[FREE_NID] + NM_I(sbi)->nid_cnt[PREALLOC_NID]) * sizeof(struct free_nid); - si->cache_mem += NM_I(sbi)->nat_cnt * sizeof(struct nat_entry); - si->cache_mem += NM_I(sbi)->dirty_nat_cnt * - sizeof(struct nat_entry_set); + si->cache_mem += NM_I(sbi)->nat_cnt[TOTAL_NAT] * + sizeof(struct nat_entry); + si->cache_mem += NM_I(sbi)->nat_cnt[DIRTY_NAT] * + sizeof(struct nat_entry_set); si->cache_mem += si->inmem_pages * sizeof(struct inmem_pages); for (i = 0; i < MAX_INO_ENTRY; i++) si->cache_mem += sbi->im[i].ino_num * sizeof(struct ino_entry); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/dir.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/dir.c @@ -357,16 +357,15 @@ unsigned int max_depth; unsigned int level; + *res_page = NULL; + if (f2fs_has_inline_dentry(dir)) { - *res_page = NULL; de = f2fs_find_in_inline_dir(dir, fname, res_page); goto out; } - if (npages == 0) { - *res_page = NULL; + if (npages == 0) goto out; - } max_depth = F2FS_I(dir)->i_current_depth; if (unlikely(max_depth > MAX_DIR_HASH_DEPTH)) { @@ -377,7 +376,6 @@ } for (level = 0; level < max_depth; level++) { - *res_page = NULL; de = find_in_level(dir, level, fname, res_page); if (de || IS_ERR(*res_page)) break; --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/f2fs.h +++ linux-riscv-5.8-5.8.0/fs/f2fs/f2fs.h @@ -895,6 +895,13 @@ MAX_NID_STATE, }; +enum nat_state { + TOTAL_NAT, + DIRTY_NAT, + RECLAIMABLE_NAT, + MAX_NAT_STATE, +}; + struct f2fs_nm_info { block_t nat_blkaddr; /* base disk address of NAT */ nid_t max_nid; /* maximum possible node ids */ @@ -910,8 +917,7 @@ struct rw_semaphore nat_tree_lock; /* protect nat_tree_lock */ struct list_head nat_entries; /* cached nat entry list (clean) */ spinlock_t nat_list_lock; /* protect clean nat entry list */ - unsigned int nat_cnt; /* the # of cached nat entries */ - unsigned int dirty_nat_cnt; /* total num of nat entries in set */ + unsigned int nat_cnt[MAX_NAT_STATE]; /* the # of cached nat entries */ unsigned int nat_blocks; /* # of nat blocks */ /* free node ids management */ @@ -1392,7 +1398,7 @@ #define NULL_CLUSTER ((unsigned int)(~0)) #define MIN_COMPRESS_LOG_SIZE 2 #define MAX_COMPRESS_LOG_SIZE 8 -#define MAX_COMPRESS_WINDOW_SIZE ((PAGE_SIZE) << MAX_COMPRESS_LOG_SIZE) +#define MAX_COMPRESS_WINDOW_SIZE(log_size) ((PAGE_SIZE) << (log_size)) struct f2fs_sb_info { struct super_block *sb; /* pointer to VFS super block */ @@ -3224,6 +3230,8 @@ static inline int f2fs_add_link(struct dentry *dentry, struct inode *inode) { + if (fscrypt_is_nokey_name(dentry)) + return -ENOKEY; return f2fs_do_add_link(d_inode(dentry->d_parent), &dentry->d_name, inode, inode->i_ino, inode->i_mode); } @@ -3287,7 +3295,7 @@ void f2fs_alloc_nid_done(struct f2fs_sb_info *sbi, nid_t nid); void f2fs_alloc_nid_failed(struct f2fs_sb_info *sbi, nid_t nid); int f2fs_try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink); -void f2fs_recover_inline_xattr(struct inode *inode, struct page *page); +int f2fs_recover_inline_xattr(struct inode *inode, struct page *page); int f2fs_recover_xattr_data(struct inode *inode, struct page *page); int f2fs_recover_inode_page(struct f2fs_sb_info *sbi, struct page *page); int f2fs_restore_node_summary(struct f2fs_sb_info *sbi, @@ -3377,7 +3385,7 @@ void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io); 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_nofail(struct f2fs_sb_info *sbi, pgoff_t index); +struct page *f2fs_get_meta_page_retry(struct f2fs_sb_info *sbi, pgoff_t index); struct page *f2fs_get_tmp_page(struct f2fs_sb_info *sbi, pgoff_t index); bool f2fs_is_valid_blkaddr(struct f2fs_sb_info *sbi, block_t blkaddr, int type); @@ -3460,7 +3468,7 @@ struct bio **bio, sector_t *last_block, struct writeback_control *wbc, enum iostat_type io_type, - int compr_blocks); + int compr_blocks, bool allow_balance); void f2fs_invalidate_page(struct page *page, unsigned int offset, unsigned int length); int f2fs_release_page(struct page *page, gfp_t wait); @@ -3750,7 +3758,7 @@ int f2fs_convert_inline_inode(struct inode *inode); int f2fs_try_convert_inline_dir(struct inode *dir, struct dentry *dentry); int f2fs_write_inline_data(struct inode *inode, struct page *page); -bool f2fs_recover_inline_data(struct inode *inode, struct page *npage); +int f2fs_recover_inline_data(struct inode *inode, struct page *npage); struct f2fs_dir_entry *f2fs_find_in_inline_dir(struct inode *dir, const struct f2fs_filename *fname, struct page **res_page); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/file.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/file.c @@ -58,6 +58,9 @@ bool need_alloc = true; int err = 0; + if (unlikely(IS_IMMUTABLE(inode))) + return VM_FAULT_SIGBUS; + if (unlikely(f2fs_cp_error(sbi))) { err = -EIO; goto err; @@ -429,9 +432,13 @@ /* handle inline data case */ if (f2fs_has_inline_data(inode) || f2fs_has_inline_dentry(inode)) { - if (whence == SEEK_HOLE) + if (whence == SEEK_HOLE) { data_ofs = isize; - goto found; + goto found; + } else if (whence == SEEK_DATA) { + data_ofs = offset; + goto found; + } } pgofs = (pgoff_t)(offset >> PAGE_SHIFT); @@ -777,6 +784,10 @@ return -EIO; } + err = dquot_initialize(inode); + if (err) + return err; + /* we should check inline_data size */ if (!f2fs_may_inline_data(inode)) { err = f2fs_convert_inline_inode(inode); @@ -858,7 +869,8 @@ if (ia_valid & ATTR_MODE) { umode_t mode = attr->ia_mode; - if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) + if (!in_group_p(inode->i_gid) && + !capable_wrt_inode_uidgid(inode, CAP_FSETID)) mode &= ~S_ISGID; set_acl_inode(inode, mode); } @@ -875,6 +887,14 @@ if (unlikely(f2fs_cp_error(F2FS_I_SB(inode)))) return -EIO; + if (unlikely(IS_IMMUTABLE(inode))) + return -EPERM; + + if (unlikely(IS_APPEND(inode) && + (attr->ia_valid & (ATTR_MODE | ATTR_UID | + ATTR_GID | ATTR_TIMES_SET)))) + return -EPERM; + if ((attr->ia_valid & ATTR_SIZE) && !f2fs_is_compress_backend_ready(inode)) return -EOPNOTSUPP; @@ -1837,6 +1857,8 @@ if (iflags & F2FS_COMPR_FL) { if (!f2fs_may_compress(inode)) return -EINVAL; + if (S_ISREG(inode->i_mode) && inode->i_size) + return -EINVAL; set_compress_context(inode); } @@ -3889,6 +3911,11 @@ inode_lock(inode); } + if (unlikely(IS_IMMUTABLE(inode))) { + ret = -EPERM; + goto unlock; + } + ret = generic_write_checks(iocb, from); if (ret > 0) { bool preallocated = false; @@ -3953,6 +3980,7 @@ if (ret > 0) f2fs_update_iostat(F2FS_I_SB(inode), APP_WRITE_IO, ret); } +unlock: inode_unlock(inode); out: trace_f2fs_file_write_iter(inode, iocb->ki_pos, --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/inline.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/inline.c @@ -190,6 +190,10 @@ if (!f2fs_has_inline_data(inode)) return 0; + err = dquot_initialize(inode); + if (err) + return err; + page = f2fs_grab_cache_page(inode->i_mapping, 0, false); if (!page) return -ENOMEM; @@ -253,7 +257,7 @@ return 0; } -bool f2fs_recover_inline_data(struct inode *inode, struct page *npage) +int f2fs_recover_inline_data(struct inode *inode, struct page *npage) { struct f2fs_sb_info *sbi = F2FS_I_SB(inode); struct f2fs_inode *ri = NULL; @@ -275,7 +279,8 @@ ri && (ri->i_inline & F2FS_INLINE_DATA)) { process_inline: ipage = f2fs_get_node_page(sbi, inode->i_ino); - f2fs_bug_on(sbi, IS_ERR(ipage)); + if (IS_ERR(ipage)) + return PTR_ERR(ipage); f2fs_wait_on_page_writeback(ipage, NODE, true, true); @@ -288,21 +293,25 @@ set_page_dirty(ipage); f2fs_put_page(ipage, 1); - return true; + return 1; } if (f2fs_has_inline_data(inode)) { ipage = f2fs_get_node_page(sbi, inode->i_ino); - f2fs_bug_on(sbi, IS_ERR(ipage)); + if (IS_ERR(ipage)) + return PTR_ERR(ipage); f2fs_truncate_inline_inode(inode, ipage, 0); clear_inode_flag(inode, FI_INLINE_DATA); f2fs_put_page(ipage, 1); } else if (ri && (ri->i_inline & F2FS_INLINE_DATA)) { - if (f2fs_truncate_blocks(inode, 0, false)) - return false; + int ret; + + ret = f2fs_truncate_blocks(inode, 0, false); + if (ret) + return ret; goto process_inline; } - return false; + return 0; } struct f2fs_dir_entry *f2fs_find_in_inline_dir(struct inode *dir, --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/inode.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/inode.c @@ -287,11 +287,19 @@ return false; } + if ((fi->i_flags & F2FS_CASEFOLD_FL) && !f2fs_sb_has_casefold(sbi)) { + set_sbi_flag(sbi, SBI_NEED_FSCK); + f2fs_warn(sbi, "%s: inode (ino=%lx) has casefold flag, but casefold feature is off", + __func__, inode->i_ino); + return false; + } + if (f2fs_has_extra_attr(inode) && f2fs_sb_has_compression(sbi) && fi->i_flags & F2FS_COMPR_FL && F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_log_cluster_size)) { if (ri->i_compress_algorithm >= COMPRESS_MAX) { + set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_warn(sbi, "%s: inode (ino=%lx) has unsupported " "compress algorithm: %u, run fsck to fix", __func__, inode->i_ino, @@ -300,6 +308,7 @@ } if (le64_to_cpu(ri->i_compr_blocks) > SECTOR_TO_BLOCK(inode->i_blocks)) { + set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_warn(sbi, "%s: inode (ino=%lx) has inconsistent " "i_compr_blocks:%llu, i_blocks:%llu, run fsck to fix", __func__, inode->i_ino, @@ -309,6 +318,7 @@ } if (ri->i_log_cluster_size < MIN_COMPRESS_LOG_SIZE || ri->i_log_cluster_size > MAX_COMPRESS_LOG_SIZE) { + set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_warn(sbi, "%s: inode (ino=%lx) has unsupported " "log cluster size: %u, run fsck to fix", __func__, inode->i_ino, --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/namei.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/namei.c @@ -847,7 +847,11 @@ if (whiteout) { f2fs_i_links_write(inode, false); + + spin_lock(&inode->i_lock); inode->i_state |= I_LINKABLE; + spin_unlock(&inode->i_lock); + *whiteout = inode; } else { d_tmpfile(dentry, inode); @@ -1033,7 +1037,11 @@ err = f2fs_add_link(old_dentry, whiteout); if (err) goto put_out_dir; + + spin_lock(&whiteout->i_lock); whiteout->i_state &= ~I_LINKABLE; + spin_unlock(&whiteout->i_lock); + iput(whiteout); } --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/node.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/node.c @@ -62,8 +62,8 @@ sizeof(struct free_nid)) >> PAGE_SHIFT; res = mem_size < ((avail_ram * nm_i->ram_thresh / 100) >> 2); } else if (type == NAT_ENTRIES) { - mem_size = (nm_i->nat_cnt * sizeof(struct nat_entry)) >> - PAGE_SHIFT; + mem_size = (nm_i->nat_cnt[TOTAL_NAT] * + sizeof(struct nat_entry)) >> PAGE_SHIFT; res = mem_size < ((avail_ram * nm_i->ram_thresh / 100) >> 2); if (excess_cached_nats(sbi)) res = false; @@ -109,7 +109,7 @@ static struct page *get_current_nat_page(struct f2fs_sb_info *sbi, nid_t nid) { - return f2fs_get_meta_page_nofail(sbi, current_nat_addr(sbi, nid)); + return f2fs_get_meta_page_retry(sbi, current_nat_addr(sbi, nid)); } static struct page *get_next_nat_page(struct f2fs_sb_info *sbi, nid_t nid) @@ -177,7 +177,8 @@ list_add_tail(&ne->list, &nm_i->nat_entries); spin_unlock(&nm_i->nat_list_lock); - nm_i->nat_cnt++; + nm_i->nat_cnt[TOTAL_NAT]++; + nm_i->nat_cnt[RECLAIMABLE_NAT]++; return ne; } @@ -207,7 +208,8 @@ static void __del_from_nat_cache(struct f2fs_nm_info *nm_i, struct nat_entry *e) { radix_tree_delete(&nm_i->nat_root, nat_get_nid(e)); - nm_i->nat_cnt--; + nm_i->nat_cnt[TOTAL_NAT]--; + nm_i->nat_cnt[RECLAIMABLE_NAT]--; __free_nat_entry(e); } @@ -253,7 +255,8 @@ if (get_nat_flag(ne, IS_DIRTY)) goto refresh_list; - nm_i->dirty_nat_cnt++; + nm_i->nat_cnt[DIRTY_NAT]++; + nm_i->nat_cnt[RECLAIMABLE_NAT]--; set_nat_flag(ne, IS_DIRTY, true); refresh_list: spin_lock(&nm_i->nat_list_lock); @@ -273,7 +276,8 @@ set_nat_flag(ne, IS_DIRTY, false); set->entry_cnt--; - nm_i->dirty_nat_cnt--; + nm_i->nat_cnt[DIRTY_NAT]--; + nm_i->nat_cnt[RECLAIMABLE_NAT]++; } static unsigned int __gang_lookup_nat_set(struct f2fs_nm_info *nm_i, @@ -1924,8 +1928,12 @@ goto continue_unlock; } - /* flush inline_data, if it's async context. */ - if (do_balance && is_inline_node(page)) { + /* flush inline_data/inode, if it's async context. */ + if (!do_balance) + goto write_node; + + /* flush inline_data */ + if (is_inline_node(page)) { clear_inline_node(page); unlock_page(page); flush_inline_data(sbi, ino_of_node(page)); @@ -1938,7 +1946,7 @@ if (flush_dirty_inode(page)) goto lock_node; } - +write_node: f2fs_wait_on_page_writeback(page, NODE, true, true); if (!clear_page_dirty_for_io(page)) @@ -2371,6 +2379,9 @@ if (unlikely(nid >= nm_i->max_nid)) nid = 0; + if (unlikely(nid % NAT_ENTRY_PER_BLOCK)) + nid = NAT_BLOCK_OFFSET(nid) * NAT_ENTRY_PER_BLOCK; + /* Enough entries */ if (nm_i->nid_cnt[FREE_NID] >= NAT_ENTRY_PER_BLOCK) return 0; @@ -2572,7 +2583,7 @@ return nr - nr_shrink; } -void f2fs_recover_inline_xattr(struct inode *inode, struct page *page) +int f2fs_recover_inline_xattr(struct inode *inode, struct page *page) { void *src_addr, *dst_addr; size_t inline_size; @@ -2580,7 +2591,8 @@ struct f2fs_inode *ri; ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino); - f2fs_bug_on(F2FS_I_SB(inode), IS_ERR(ipage)); + if (IS_ERR(ipage)) + return PTR_ERR(ipage); ri = F2FS_INODE(page); if (ri->i_inline & F2FS_INLINE_XATTR) { @@ -2599,6 +2611,7 @@ update_inode: f2fs_update_inode(inode, ipage); f2fs_put_page(ipage, 1); + return 0; } int f2fs_recover_xattr_data(struct inode *inode, struct page *page) @@ -2937,14 +2950,17 @@ LIST_HEAD(sets); int err = 0; - /* during unmount, let's flush nat_bits before checking dirty_nat_cnt */ + /* + * during unmount, let's flush nat_bits before checking + * nat_cnt[DIRTY_NAT]. + */ if (enabled_nat_bits(sbi, cpc)) { down_write(&nm_i->nat_tree_lock); remove_nats_in_journal(sbi); up_write(&nm_i->nat_tree_lock); } - if (!nm_i->dirty_nat_cnt) + if (!nm_i->nat_cnt[DIRTY_NAT]) return 0; down_write(&nm_i->nat_tree_lock); @@ -2955,7 +2971,8 @@ * into nat entry set. */ if (enabled_nat_bits(sbi, cpc) || - !__has_cursum_space(journal, nm_i->dirty_nat_cnt, NAT_JOURNAL)) + !__has_cursum_space(journal, + nm_i->nat_cnt[DIRTY_NAT], NAT_JOURNAL)) remove_nats_in_journal(sbi); while ((found = __gang_lookup_nat_set(nm_i, @@ -3079,7 +3096,6 @@ F2FS_RESERVED_NODE_NUM; nm_i->nid_cnt[FREE_NID] = 0; nm_i->nid_cnt[PREALLOC_NID] = 0; - nm_i->nat_cnt = 0; nm_i->ram_thresh = DEF_RAM_THRESHOLD; nm_i->ra_nid_pages = DEF_RA_NID_PAGES; nm_i->dirty_nats_ratio = DEF_DIRTY_NAT_RATIO_THRESHOLD; @@ -3216,7 +3232,7 @@ __del_from_nat_cache(nm_i, natvec[idx]); } } - f2fs_bug_on(sbi, nm_i->nat_cnt); + f2fs_bug_on(sbi, nm_i->nat_cnt[TOTAL_NAT]); /* destroy nat set cache */ nid = 0; --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/node.h +++ linux-riscv-5.8-5.8.0/fs/f2fs/node.h @@ -126,13 +126,13 @@ static inline bool excess_dirty_nats(struct f2fs_sb_info *sbi) { - return NM_I(sbi)->dirty_nat_cnt >= NM_I(sbi)->max_nid * + return NM_I(sbi)->nat_cnt[DIRTY_NAT] >= NM_I(sbi)->max_nid * NM_I(sbi)->dirty_nats_ratio / 100; } static inline bool excess_cached_nats(struct f2fs_sb_info *sbi) { - return NM_I(sbi)->nat_cnt >= DEF_NAT_CACHE_THRESHOLD; + return NM_I(sbi)->nat_cnt[TOTAL_NAT] >= DEF_NAT_CACHE_THRESHOLD; } static inline bool excess_dirty_nodes(struct f2fs_sb_info *sbi) --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/recovery.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/recovery.c @@ -544,7 +544,9 @@ /* step 1: recover xattr */ if (IS_INODE(page)) { - f2fs_recover_inline_xattr(inode, page); + err = f2fs_recover_inline_xattr(inode, page); + if (err) + goto out; } else if (f2fs_has_xattr_block(ofs_of_node(page))) { err = f2fs_recover_xattr_data(inode, page); if (!err) @@ -553,8 +555,12 @@ } /* step 2: recover inline data */ - if (f2fs_recover_inline_data(inode, page)) + err = f2fs_recover_inline_data(inode, page); + if (err) { + if (err == 1) + err = 0; goto out; + } /* step 3: recover data indices */ start = f2fs_start_bidx_of_node(ofs_of_node(page), inode); --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/segment.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/segment.c @@ -2318,7 +2318,9 @@ */ struct page *f2fs_get_sum_page(struct f2fs_sb_info *sbi, unsigned int segno) { - return f2fs_get_meta_page_nofail(sbi, GET_SUM_BLOCK(sbi, segno)); + if (unlikely(f2fs_cp_error(sbi))) + return ERR_PTR(-EIO); + return f2fs_get_meta_page_retry(sbi, GET_SUM_BLOCK(sbi, segno)); } void f2fs_update_meta_page(struct f2fs_sb_info *sbi, @@ -2590,7 +2592,11 @@ __next_free_blkoff(sbi, curseg, 0); sum_page = f2fs_get_sum_page(sbi, new_segno); - f2fs_bug_on(sbi, IS_ERR(sum_page)); + if (IS_ERR(sum_page)) { + /* GC won't be able to use stale summary pages by cp_error */ + memset(curseg->sum_blk, 0, SUM_ENTRY_SIZE); + return; + } sum_node = (struct f2fs_summary_block *)page_address(sum_page); memcpy(curseg->sum_blk, sum_node, SUM_ENTRY_SIZE); f2fs_put_page(sum_page, 1); @@ -3759,7 +3765,7 @@ static struct page *get_current_sit_page(struct f2fs_sb_info *sbi, unsigned int segno) { - return f2fs_get_meta_page_nofail(sbi, current_sit_addr(sbi, segno)); + return f2fs_get_meta_page(sbi, current_sit_addr(sbi, segno)); } static struct page *get_next_sit_page(struct f2fs_sb_info *sbi, --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/segment.h +++ linux-riscv-5.8-5.8.0/fs/f2fs/segment.h @@ -88,11 +88,11 @@ #define BLKS_PER_SEC(sbi) \ ((sbi)->segs_per_sec * (sbi)->blocks_per_seg) #define GET_SEC_FROM_SEG(sbi, segno) \ - ((segno) / (sbi)->segs_per_sec) + (((segno) == -1) ? -1: (segno) / (sbi)->segs_per_sec) #define GET_SEG_FROM_SEC(sbi, secno) \ ((secno) * (sbi)->segs_per_sec) #define GET_ZONE_FROM_SEC(sbi, secno) \ - ((secno) / (sbi)->secs_per_zone) + (((secno) == -1) ? -1: (secno) / (sbi)->secs_per_zone) #define GET_ZONE_FROM_SEG(sbi, segno) \ GET_ZONE_FROM_SEC(sbi, GET_SEC_FROM_SEG(sbi, segno)) --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/shrinker.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/shrinker.c @@ -18,9 +18,7 @@ static unsigned long __count_nat_entries(struct f2fs_sb_info *sbi) { - long count = NM_I(sbi)->nat_cnt - NM_I(sbi)->dirty_nat_cnt; - - return count > 0 ? count : 0; + return NM_I(sbi)->nat_cnt[RECLAIMABLE_NAT]; } static unsigned long __count_free_nids(struct f2fs_sb_info *sbi) --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/super.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/super.c @@ -1173,6 +1173,9 @@ int i; bool dropped; + /* unregister procfs/sysfs entries in advance to avoid race case */ + f2fs_unregister_sysfs(sbi); + f2fs_quota_off_umount(sb); /* prevent remaining shrinker jobs */ @@ -1238,8 +1241,6 @@ kvfree(sbi->ckpt); - f2fs_unregister_sysfs(sbi); - sb->s_fs_info = NULL; if (sbi->s_chksum_driver) crypto_free_shash(sbi->s_chksum_driver); @@ -1712,6 +1713,9 @@ static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi) { + /* we should flush all the data to keep data consistency */ + sync_inodes_sb(sbi->sb); + down_write(&sbi->gc_lock); f2fs_dirty_to_prefree(sbi); @@ -2668,7 +2672,6 @@ block_t total_sections, blocks_per_seg; struct f2fs_super_block *raw_super = (struct f2fs_super_block *) (bh->b_data + F2FS_SUPER_OFFSET); - unsigned int blocksize; size_t crc_offset = 0; __u32 crc = 0; @@ -2702,10 +2705,10 @@ } /* Currently, support only 4KB block size */ - blocksize = 1 << le32_to_cpu(raw_super->log_blocksize); - if (blocksize != F2FS_BLKSIZE) { - f2fs_info(sbi, "Invalid blocksize (%u), supports only 4KB", - blocksize); + if (le32_to_cpu(raw_super->log_blocksize) != F2FS_BLKSIZE_BITS) { + f2fs_info(sbi, "Invalid log_blocksize (%u), supports only %u", + le32_to_cpu(raw_super->log_blocksize), + F2FS_BLKSIZE_BITS); return -EFSCORRUPTED; } @@ -2781,6 +2784,12 @@ segment_count, dev_seg_count); return -EFSCORRUPTED; } + } else { + if (__F2FS_HAS_FEATURE(raw_super, F2FS_FEATURE_BLKZONED) && + !bdev_is_zoned(sbi->sb->s_bdev)) { + f2fs_info(sbi, "Zoned block device path is missing"); + return -EFSCORRUPTED; + } } if (secs_per_zone > total_sections || !secs_per_zone) { --- linux-riscv-5.8-5.8.0.orig/fs/f2fs/sysfs.c +++ linux-riscv-5.8-5.8.0/fs/f2fs/sysfs.c @@ -223,6 +223,13 @@ } #endif +static ssize_t main_blkaddr_show(struct f2fs_attr *a, + struct f2fs_sb_info *sbi, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "%llu\n", + (unsigned long long)MAIN_BLKADDR(sbi)); +} + static ssize_t f2fs_sbi_show(struct f2fs_attr *a, struct f2fs_sb_info *sbi, char *buf) { @@ -522,7 +529,6 @@ F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, gc_idle, gc_mode); F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, gc_urgent, gc_mode); F2FS_RW_ATTR(SM_INFO, f2fs_sm_info, reclaim_segments, rec_prefree_segments); -F2FS_RW_ATTR(SM_INFO, f2fs_sm_info, main_blkaddr, main_blkaddr); F2FS_RW_ATTR(DCC_INFO, discard_cmd_control, max_small_discards, max_discards); F2FS_RW_ATTR(DCC_INFO, discard_cmd_control, discard_granularity, discard_granularity); F2FS_RW_ATTR(RESERVED_BLOCKS, f2fs_sb_info, reserved_blocks, reserved_blocks); @@ -565,6 +571,7 @@ F2FS_GENERAL_RO_ATTR(unusable); F2FS_GENERAL_RO_ATTR(encoding); F2FS_GENERAL_RO_ATTR(mounted_time_sec); +F2FS_GENERAL_RO_ATTR(main_blkaddr); #ifdef CONFIG_F2FS_STAT_FS F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, cp_foreground_calls, cp_count); F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, cp_background_calls, bg_cp_count); @@ -957,4 +964,5 @@ } kobject_del(&sbi->s_kobj); kobject_put(&sbi->s_kobj); + wait_for_completion(&sbi->s_kobj_unregister); } --- linux-riscv-5.8-5.8.0.orig/fs/fat/fatent.c +++ linux-riscv-5.8-5.8.0/fs/fat/fatent.c @@ -657,6 +657,9 @@ unsigned long ra_pages = sb->s_bdi->ra_pages; unsigned int reada_blocks; + if (fatent->entry >= ent_limit) + return; + if (ra_pages > sb->s_bdi->io_pages) ra_pages = rounddown(ra_pages, sb->s_bdi->io_pages); reada_blocks = ra_pages << (PAGE_SHIFT - sb->s_blocksize_bits + 1); --- linux-riscv-5.8-5.8.0.orig/fs/fcntl.c +++ linux-riscv-5.8-5.8.0/fs/fcntl.c @@ -32,7 +32,7 @@ #define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME) -static int setfl(int fd, struct file * filp, unsigned long arg) +int setfl(int fd, struct file *filp, unsigned long arg) { struct inode * inode = file_inode(filp); int error = 0; @@ -63,6 +63,8 @@ if (filp->f_op->check_flags) error = filp->f_op->check_flags(arg); + if (!error && filp->f_op->setfl) + error = filp->f_op->setfl(filp, arg); if (error) return error; @@ -83,6 +85,7 @@ out: return error; } +EXPORT_SYMBOL_GPL(setfl); static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, int force) @@ -781,9 +784,10 @@ { struct task_struct *p; enum pid_type type; + unsigned long flags; struct pid *pid; - read_lock(&fown->lock); + read_lock_irqsave(&fown->lock, flags); type = fown->pid_type; pid = fown->pid; @@ -804,7 +808,7 @@ read_unlock(&tasklist_lock); } out_unlock_fown: - read_unlock(&fown->lock); + read_unlock_irqrestore(&fown->lock, flags); } static void send_sigurg_to_task(struct task_struct *p, @@ -819,9 +823,10 @@ struct task_struct *p; enum pid_type type; struct pid *pid; + unsigned long flags; int ret = 0; - read_lock(&fown->lock); + read_lock_irqsave(&fown->lock, flags); type = fown->pid_type; pid = fown->pid; @@ -844,7 +849,7 @@ read_unlock(&tasklist_lock); } out_unlock_fown: - read_unlock(&fown->lock); + read_unlock_irqrestore(&fown->lock, flags); return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/file.c +++ linux-riscv-5.8-5.8.0/fs/file.c @@ -676,6 +676,7 @@ *res = NULL; return -ENOENT; } +EXPORT_SYMBOL(__close_fd_get_file); void do_close_on_exec(struct files_struct *files) { --- linux-riscv-5.8-5.8.0.orig/fs/file_table.c +++ linux-riscv-5.8-5.8.0/fs/file_table.c @@ -162,6 +162,7 @@ } return ERR_PTR(-ENFILE); } +EXPORT_SYMBOL_GPL(alloc_empty_file); /* * Variant of alloc_empty_file() that doesn't check and modify nr_files. @@ -339,7 +340,7 @@ if (likely(!in_interrupt() && !(task->flags & PF_KTHREAD))) { init_task_work(&file->f_u.fu_rcuhead, ____fput); - if (!task_work_add(task, &file->f_u.fu_rcuhead, true)) + if (!task_work_add(task, &file->f_u.fu_rcuhead, TWA_RESUME)) return; /* * After this task has run exit_task_work(), @@ -376,6 +377,7 @@ } EXPORT_SYMBOL(fput); +EXPORT_SYMBOL_GPL(__fput_sync); void __init files_init(void) { --- linux-riscv-5.8-5.8.0.orig/fs/fs-writeback.c +++ linux-riscv-5.8-5.8.0/fs/fs-writeback.c @@ -42,7 +42,6 @@ struct wb_writeback_work { long nr_pages; struct super_block *sb; - unsigned long *older_than_this; enum writeback_sync_modes sync_mode; unsigned int tagged_writepages:1; unsigned int for_kupdate:1; @@ -144,7 +143,9 @@ struct bdi_writeback *wb) { assert_spin_locked(&wb->list_lock); + assert_spin_locked(&inode->i_lock); + inode->i_state &= ~I_SYNC_QUEUED; list_del_init(&inode->i_io_list); wb_io_lists_depopulated(wb); } @@ -1122,7 +1123,9 @@ struct bdi_writeback *wb; wb = inode_to_wb_and_lock_list(inode); + spin_lock(&inode->i_lock); inode_io_list_del_locked(inode, wb); + spin_unlock(&inode->i_lock); spin_unlock(&wb->list_lock); } EXPORT_SYMBOL(inode_io_list_del); @@ -1172,8 +1175,10 @@ * the case then the inode must have been redirtied while it was being written * out and we don't reset its dirtied_when. */ -static void redirty_tail(struct inode *inode, struct bdi_writeback *wb) +static void redirty_tail_locked(struct inode *inode, struct bdi_writeback *wb) { + assert_spin_locked(&inode->i_lock); + if (!list_empty(&wb->b_dirty)) { struct inode *tail; @@ -1182,6 +1187,14 @@ inode->dirtied_when = jiffies; } inode_io_list_move_locked(inode, wb, &wb->b_dirty); + inode->i_state &= ~I_SYNC_QUEUED; +} + +static void redirty_tail(struct inode *inode, struct bdi_writeback *wb) +{ + spin_lock(&inode->i_lock); + redirty_tail_locked(inode, wb); + spin_unlock(&inode->i_lock); } /* @@ -1220,16 +1233,13 @@ #define EXPIRE_DIRTY_ATIME 0x0001 /* - * Move expired (dirtied before work->older_than_this) dirty inodes from + * Move expired (dirtied before dirtied_before) dirty inodes from * @delaying_queue to @dispatch_queue. */ static int move_expired_inodes(struct list_head *delaying_queue, struct list_head *dispatch_queue, - int flags, - struct wb_writeback_work *work) + unsigned long dirtied_before) { - unsigned long *older_than_this = NULL; - unsigned long expire_time; LIST_HEAD(tmp); struct list_head *pos, *node; struct super_block *sb = NULL; @@ -1237,21 +1247,15 @@ int do_sb_sort = 0; int moved = 0; - if ((flags & EXPIRE_DIRTY_ATIME) == 0) - older_than_this = work->older_than_this; - else if (!work->for_sync) { - expire_time = jiffies - (dirtytime_expire_interval * HZ); - older_than_this = &expire_time; - } while (!list_empty(delaying_queue)) { inode = wb_inode(delaying_queue->prev); - if (older_than_this && - inode_dirtied_after(inode, *older_than_this)) + if (inode_dirtied_after(inode, dirtied_before)) break; list_move(&inode->i_io_list, &tmp); moved++; - if (flags & EXPIRE_DIRTY_ATIME) - set_bit(__I_DIRTY_TIME_EXPIRED, &inode->i_state); + spin_lock(&inode->i_lock); + inode->i_state |= I_SYNC_QUEUED; + spin_unlock(&inode->i_lock); if (sb_is_blkdev_sb(inode->i_sb)) continue; if (sb && sb != inode->i_sb) @@ -1289,18 +1293,22 @@ * | * +--> dequeue for IO */ -static void queue_io(struct bdi_writeback *wb, struct wb_writeback_work *work) +static void queue_io(struct bdi_writeback *wb, struct wb_writeback_work *work, + unsigned long dirtied_before) { int moved; + unsigned long time_expire_jif = dirtied_before; assert_spin_locked(&wb->list_lock); list_splice_init(&wb->b_more_io, &wb->b_io); - moved = move_expired_inodes(&wb->b_dirty, &wb->b_io, 0, work); + moved = move_expired_inodes(&wb->b_dirty, &wb->b_io, dirtied_before); + if (!work->for_sync) + time_expire_jif = jiffies - dirtytime_expire_interval * HZ; moved += move_expired_inodes(&wb->b_dirty_time, &wb->b_io, - EXPIRE_DIRTY_ATIME, work); + time_expire_jif); if (moved) wb_io_lists_populated(wb); - trace_writeback_queue_io(wb, work, moved); + trace_writeback_queue_io(wb, work, dirtied_before, moved); } static int write_inode(struct inode *inode, struct writeback_control *wbc) @@ -1394,7 +1402,7 @@ * writeback is not making progress due to locked * buffers. Skip this inode for now. */ - redirty_tail(inode, wb); + redirty_tail_locked(inode, wb); return; } @@ -1414,7 +1422,7 @@ * retrying writeback of the dirty page/inode * that cannot be performed immediately. */ - redirty_tail(inode, wb); + redirty_tail_locked(inode, wb); } } else if (inode->i_state & I_DIRTY) { /* @@ -1422,10 +1430,11 @@ * such as delayed allocation during submission or metadata * updates after data IO completion. */ - redirty_tail(inode, wb); + 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); + inode->i_state &= ~I_SYNC_QUEUED; } else { /* The inode is clean. Remove from writeback lists. */ inode_io_list_del_locked(inode, wb); @@ -1465,25 +1474,25 @@ } /* + * If the inode has dirty timestamps and we need to write them, call + * mark_inode_dirty_sync() to notify the filesystem about it and to + * change I_DIRTY_TIME into I_DIRTY_SYNC. + */ + if ((inode->i_state & I_DIRTY_TIME) && + (wbc->sync_mode == WB_SYNC_ALL || wbc->for_sync || + time_after(jiffies, inode->dirtied_time_when + + dirtytime_expire_interval * HZ))) { + trace_writeback_lazytime(inode); + mark_inode_dirty_sync(inode); + } + + /* * Some filesystems may redirty the inode during the writeback * due to delalloc, clear dirty metadata flags right before * write_inode() */ spin_lock(&inode->i_lock); - dirty = inode->i_state & I_DIRTY; - if (inode->i_state & I_DIRTY_TIME) { - if ((dirty & I_DIRTY_INODE) || - wbc->sync_mode == WB_SYNC_ALL || - unlikely(inode->i_state & I_DIRTY_TIME_EXPIRED) || - unlikely(time_after(jiffies, - (inode->dirtied_time_when + - dirtytime_expire_interval * HZ)))) { - dirty |= I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED; - trace_writeback_lazytime(inode); - } - } else - inode->i_state &= ~I_DIRTY_TIME_EXPIRED; inode->i_state &= ~dirty; /* @@ -1504,8 +1513,6 @@ spin_unlock(&inode->i_lock); - if (dirty & I_DIRTY_TIME) - mark_inode_dirty_sync(inode); /* Don't write the inode if only I_DIRTY_PAGES was set */ if (dirty & ~I_DIRTY_PAGES) { int err = write_inode(inode, wbc); @@ -1669,8 +1676,8 @@ */ spin_lock(&inode->i_lock); if (inode->i_state & (I_NEW | I_FREEING | I_WILL_FREE)) { + redirty_tail_locked(inode, wb); spin_unlock(&inode->i_lock); - redirty_tail(inode, wb); continue; } if ((inode->i_state & I_SYNC) && wbc.sync_mode != WB_SYNC_ALL) { @@ -1811,7 +1818,7 @@ blk_start_plug(&plug); spin_lock(&wb->list_lock); if (list_empty(&wb->b_io)) - queue_io(wb, &work); + queue_io(wb, &work, jiffies); __writeback_inodes_wb(wb, &work); spin_unlock(&wb->list_lock); blk_finish_plug(&plug); @@ -1831,7 +1838,7 @@ * takes longer than a dirty_writeback_interval interval, then leave a * one-second gap. * - * older_than_this takes precedence over nr_to_write. So we'll only write back + * dirtied_before takes precedence over nr_to_write. So we'll only write back * all dirty pages if they are all attached to "old" mappings. */ static long wb_writeback(struct bdi_writeback *wb, @@ -1839,14 +1846,11 @@ { unsigned long wb_start = jiffies; long nr_pages = work->nr_pages; - unsigned long oldest_jif; + unsigned long dirtied_before = jiffies; struct inode *inode; long progress; struct blk_plug plug; - oldest_jif = jiffies; - work->older_than_this = &oldest_jif; - blk_start_plug(&plug); spin_lock(&wb->list_lock); for (;;) { @@ -1880,14 +1884,14 @@ * safe. */ if (work->for_kupdate) { - oldest_jif = jiffies - + dirtied_before = jiffies - msecs_to_jiffies(dirty_expire_interval * 10); } else if (work->for_background) - oldest_jif = jiffies; + dirtied_before = jiffies; trace_writeback_start(wb, work); if (list_empty(&wb->b_io)) - queue_io(wb, work); + queue_io(wb, work, dirtied_before); if (work->sb) progress = writeback_sb_inodes(work->sb, wb, work); else @@ -2289,11 +2293,12 @@ inode->i_state |= flags; /* - * If the inode is being synced, just update its dirty state. - * The unlocker will place the inode on the appropriate - * superblock list, based upon its state. + * If the inode is queued for writeback by flush worker, just + * update its dirty state. Once the flush worker is done with + * the inode it will place it on the appropriate superblock + * list, based upon its state. */ - if (inode->i_state & I_SYNC) + if (inode->i_state & I_SYNC_QUEUED) goto out_unlock_inode; /* --- linux-riscv-5.8-5.8.0.orig/fs/fuse/acl.c +++ linux-riscv-5.8-5.8.0/fs/fuse/acl.c @@ -19,6 +19,9 @@ void *value = NULL; struct posix_acl *acl; + if (fuse_is_bad(inode)) + return ERR_PTR(-EIO); + if (!fc->posix_acl || fc->no_getxattr) return NULL; @@ -53,6 +56,9 @@ const char *name; int ret; + if (fuse_is_bad(inode)) + return -EIO; + if (!fc->posix_acl || fc->no_setxattr) return -EOPNOTSUPP; --- linux-riscv-5.8-5.8.0.orig/fs/fuse/dev.c +++ linux-riscv-5.8-5.8.0/fs/fuse/dev.c @@ -785,15 +785,16 @@ struct page *newpage; struct pipe_buffer *buf = cs->pipebufs; + get_page(oldpage); err = unlock_request(cs->req); if (err) - return err; + goto out_put_old; fuse_copy_finish(cs); err = pipe_buf_confirm(cs->pipe, buf); if (err) - return err; + goto out_put_old; BUG_ON(!cs->nr_segs); cs->currbuf = buf; @@ -833,7 +834,7 @@ err = replace_page_cache_page(oldpage, newpage, GFP_KERNEL); if (err) { unlock_page(newpage); - return err; + goto out_put_old; } get_page(newpage); @@ -852,14 +853,19 @@ if (err) { unlock_page(newpage); put_page(newpage); - return err; + goto out_put_old; } unlock_page(oldpage); + /* Drop ref for ap->pages[] array */ put_page(oldpage); cs->len = 0; - return 0; + err = 0; +out_put_old: + /* Drop ref obtained in this function */ + put_page(oldpage); + return err; out_fallback_unlock: unlock_page(newpage); @@ -868,10 +874,10 @@ cs->offset = buf->offset; err = lock_request(cs->req); - if (err) - return err; + if (!err) + err = 1; - return 1; + goto out_put_old; } static int fuse_ref_page(struct fuse_copy_state *cs, struct page *page, @@ -883,14 +889,16 @@ if (cs->nr_segs >= cs->pipe->max_usage) return -EIO; + get_page(page); err = unlock_request(cs->req); - if (err) + if (err) { + put_page(page); return err; + } fuse_copy_finish(cs); buf = cs->pipebufs; - get_page(page); buf->page = page; buf->offset = offset; buf->len = count; --- linux-riscv-5.8-5.8.0.orig/fs/fuse/dir.c +++ linux-riscv-5.8-5.8.0/fs/fuse/dir.c @@ -201,7 +201,7 @@ int ret; inode = d_inode_rcu(entry); - if (inode && is_bad_inode(inode)) + if (inode && fuse_is_bad(inode)) goto invalid; else if (time_before64(fuse_dentry_time(entry), get_jiffies_64()) || (flags & LOOKUP_REVAL)) { @@ -386,6 +386,9 @@ bool outarg_valid = true; bool locked; + if (fuse_is_bad(dir)) + return ERR_PTR(-EIO); + locked = fuse_lock_inode(dir); err = fuse_lookup_name(dir->i_sb, get_node_id(dir), &entry->d_name, &outarg, &inode); @@ -529,6 +532,9 @@ struct fuse_conn *fc = get_fuse_conn(dir); struct dentry *res = NULL; + if (fuse_is_bad(dir)) + return -EIO; + if (d_in_lookup(entry)) { res = fuse_lookup(dir, entry, 0); if (IS_ERR(res)) @@ -577,6 +583,9 @@ int err; struct fuse_forget_link *forget; + if (fuse_is_bad(dir)) + return -EIO; + forget = fuse_alloc_forget(); if (!forget) return -ENOMEM; @@ -704,6 +713,9 @@ struct fuse_conn *fc = get_fuse_conn(dir); FUSE_ARGS(args); + if (fuse_is_bad(dir)) + return -EIO; + args.opcode = FUSE_UNLINK; args.nodeid = get_node_id(dir); args.in_numargs = 1; @@ -740,6 +752,9 @@ struct fuse_conn *fc = get_fuse_conn(dir); FUSE_ARGS(args); + if (fuse_is_bad(dir)) + return -EIO; + args.opcode = FUSE_RMDIR; args.nodeid = get_node_id(dir); args.in_numargs = 1; @@ -818,6 +833,9 @@ struct fuse_conn *fc = get_fuse_conn(olddir); int err; + if (fuse_is_bad(olddir)) + return -EIO; + if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE | RENAME_WHITEOUT)) return -EINVAL; @@ -953,7 +971,7 @@ if (!err) { if (fuse_invalid_attr(&outarg.attr) || (inode->i_mode ^ outarg.attr.mode) & S_IFMT) { - make_bad_inode(inode); + fuse_make_bad(inode); err = -EIO; } else { fuse_change_attributes(inode, &outarg.attr, @@ -1155,6 +1173,9 @@ bool refreshed = false; int err = 0; + if (fuse_is_bad(inode)) + return -EIO; + if (!fuse_allow_current_process(fc)) return -EACCES; @@ -1250,7 +1271,7 @@ int err; err = -EIO; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) goto out_err; if (fc->cache_symlinks) @@ -1298,7 +1319,7 @@ struct fuse_conn *fc = get_fuse_conn(inode); int err; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return -EIO; if (fc->no_fsyncdir) @@ -1575,7 +1596,7 @@ if (fuse_invalid_attr(&outarg.attr) || (inode->i_mode ^ outarg.attr.mode) & S_IFMT) { - make_bad_inode(inode); + fuse_make_bad(inode); err = -EIO; goto error; } @@ -1631,6 +1652,9 @@ struct file *file = (attr->ia_valid & ATTR_FILE) ? attr->ia_file : NULL; int ret; + if (fuse_is_bad(inode)) + return -EIO; + if (!fuse_allow_current_process(get_fuse_conn(inode))) return -EACCES; @@ -1689,6 +1713,9 @@ struct inode *inode = d_inode(path->dentry); struct fuse_conn *fc = get_fuse_conn(inode); + if (fuse_is_bad(inode)) + return -EIO; + if (!fuse_allow_current_process(fc)) { if (!request_mask) { /* --- linux-riscv-5.8-5.8.0.orig/fs/fuse/file.c +++ linux-riscv-5.8-5.8.0/fs/fuse/file.c @@ -222,6 +222,9 @@ fc->atomic_o_trunc && fc->writeback_cache; + if (fuse_is_bad(inode)) + return -EIO; + err = generic_file_open(inode, file); if (err) return err; @@ -449,7 +452,7 @@ FUSE_ARGS(args); int err; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return -EIO; err = write_inode_now(inode, 1); @@ -521,7 +524,7 @@ struct fuse_conn *fc = get_fuse_conn(inode); int err; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return -EIO; inode_lock(inode); @@ -845,7 +848,7 @@ int err; err = -EIO; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) goto out; err = fuse_do_readpage(file, page); @@ -938,7 +941,7 @@ struct fuse_conn *fc = get_fuse_conn(inode); unsigned int i, max_pages, nr_pages = 0; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return; max_pages = min_t(unsigned int, fc->max_pages, @@ -1540,7 +1543,7 @@ struct file *file = iocb->ki_filp; struct fuse_file *ff = file->private_data; - if (is_bad_inode(file_inode(file))) + if (fuse_is_bad(file_inode(file))) return -EIO; if (!(ff->open_flags & FOPEN_DIRECT_IO)) @@ -1554,7 +1557,7 @@ struct file *file = iocb->ki_filp; struct fuse_file *ff = file->private_data; - if (is_bad_inode(file_inode(file))) + if (fuse_is_bad(file_inode(file))) return -EIO; if (!(ff->open_flags & FOPEN_DIRECT_IO)) @@ -2150,7 +2153,7 @@ int err; err = -EIO; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) goto out; data.inode = inode; @@ -2928,7 +2931,7 @@ if (!fuse_allow_current_process(fc)) return -EACCES; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return -EIO; return fuse_do_ioctl(file, cmd, arg, flags); @@ -3091,11 +3094,10 @@ ssize_t ret = 0; struct file *file = iocb->ki_filp; struct fuse_file *ff = file->private_data; - bool async_dio = ff->fc->async_dio; loff_t pos = 0; struct inode *inode; loff_t i_size; - size_t count = iov_iter_count(iter); + size_t count = iov_iter_count(iter), shortened = 0; loff_t offset = iocb->ki_pos; struct fuse_io_priv *io; @@ -3103,17 +3105,9 @@ inode = file->f_mapping->host; i_size = i_size_read(inode); - if ((iov_iter_rw(iter) == READ) && (offset > i_size)) + if ((iov_iter_rw(iter) == READ) && (offset >= i_size)) return 0; - /* optimization for short read */ - if (async_dio && iov_iter_rw(iter) != WRITE && offset + count > i_size) { - if (offset >= i_size) - return 0; - iov_iter_truncate(iter, fuse_round_up(ff->fc, i_size - offset)); - count = iov_iter_count(iter); - } - io = kmalloc(sizeof(struct fuse_io_priv), GFP_KERNEL); if (!io) return -ENOMEM; @@ -3129,15 +3123,22 @@ * By default, we want to optimize all I/Os with async request * submission to the client filesystem if supported. */ - io->async = async_dio; + io->async = ff->fc->async_dio; io->iocb = iocb; io->blocking = is_sync_kiocb(iocb); + /* optimization for short read */ + if (io->async && !io->write && offset + count > i_size) { + iov_iter_truncate(iter, fuse_round_up(ff->fc, i_size - offset)); + shortened = count - iov_iter_count(iter); + count -= shortened; + } + /* * We cannot asynchronously extend the size of a file. * In such case the aio will behave exactly like sync io. */ - if ((offset + count > i_size) && iov_iter_rw(iter) == WRITE) + if ((offset + count > i_size) && io->write) io->blocking = true; if (io->async && io->blocking) { @@ -3155,6 +3156,7 @@ } else { ret = __fuse_direct_read(io, iter, &pos); } + iov_iter_reexpand(iter, iov_iter_count(iter) + shortened); if (io->async) { bool blocking = io->blocking; --- linux-riscv-5.8-5.8.0.orig/fs/fuse/fuse_i.h +++ linux-riscv-5.8-5.8.0/fs/fuse/fuse_i.h @@ -158,6 +158,8 @@ FUSE_I_INIT_RDPLUS, /** An operation changing file size is in progress */ FUSE_I_SIZE_UNSTABLE, + /* Bad inode */ + FUSE_I_BAD, }; struct fuse_conn; @@ -787,6 +789,17 @@ return atomic64_read(&fc->attr_version); } +static inline void fuse_make_bad(struct inode *inode) +{ + remove_inode_hash(inode); + set_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state); +} + +static inline bool fuse_is_bad(struct inode *inode) +{ + return unlikely(test_bit(FUSE_I_BAD, &get_fuse_inode(inode)->state)); +} + /** Device operations */ extern const struct file_operations fuse_dev_operations; --- linux-riscv-5.8-5.8.0.orig/fs/fuse/inode.c +++ linux-riscv-5.8-5.8.0/fs/fuse/inode.c @@ -115,7 +115,7 @@ fuse_queue_forget(fc, fi->forget, fi->nodeid, fi->nlookup); fi->forget = NULL; } - if (S_ISREG(inode->i_mode) && !is_bad_inode(inode)) { + if (S_ISREG(inode->i_mode) && !fuse_is_bad(inode)) { WARN_ON(!list_empty(&fi->write_files)); WARN_ON(!list_empty(&fi->queued_writes)); } @@ -306,7 +306,7 @@ unlock_new_inode(inode); } else if ((inode->i_mode ^ attr->mode) & S_IFMT) { /* Inode has changed type, any I/O on the old should fail */ - make_bad_inode(inode); + fuse_make_bad(inode); iput(inode); goto retry; } --- linux-riscv-5.8-5.8.0.orig/fs/fuse/readdir.c +++ linux-riscv-5.8-5.8.0/fs/fuse/readdir.c @@ -207,7 +207,7 @@ dput(dentry); goto retry; } - if (is_bad_inode(inode)) { + if (fuse_is_bad(inode)) { dput(dentry); return -EIO; } @@ -568,7 +568,7 @@ struct inode *inode = file_inode(file); int err; - if (is_bad_inode(inode)) + if (fuse_is_bad(inode)) return -EIO; mutex_lock(&ff->readdir.lock); --- linux-riscv-5.8-5.8.0.orig/fs/fuse/xattr.c +++ linux-riscv-5.8-5.8.0/fs/fuse/xattr.c @@ -113,6 +113,9 @@ struct fuse_getxattr_out outarg; ssize_t ret; + if (fuse_is_bad(inode)) + return -EIO; + if (!fuse_allow_current_process(fc)) return -EACCES; @@ -178,6 +181,9 @@ struct dentry *dentry, struct inode *inode, const char *name, void *value, size_t size) { + if (fuse_is_bad(inode)) + return -EIO; + return fuse_getxattr(inode, name, value, size); } @@ -186,6 +192,9 @@ const char *name, const void *value, size_t size, int flags) { + if (fuse_is_bad(inode)) + return -EIO; + if (!value) return fuse_removexattr(inode, name); --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/aops.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/aops.c @@ -77,7 +77,7 @@ if (error) return error; if (!buffer_mapped(bh_result)) - return -EIO; + return -ENODATA; return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/bmap.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/bmap.c @@ -1229,6 +1229,9 @@ gfs2_inplace_release(ip); + if (ip->i_qadata && ip->i_qadata->qa_qd_num) + gfs2_quota_unlock(ip); + if (length != written && (iomap->flags & IOMAP_F_NEW)) { /* Deallocate blocks that were just allocated. */ loff_t blockmask = i_blocksize(inode) - 1; @@ -1241,9 +1244,6 @@ } } - if (ip->i_qadata && ip->i_qadata->qa_qd_num) - gfs2_quota_unlock(ip); - if (unlikely(!written)) goto out_unlock; @@ -1351,9 +1351,15 @@ return ret; } +/* + * NOTE: Never call gfs2_block_zero_range with an open transaction because it + * uses iomap write to perform its actions, which begin their own transactions + * (iomap_begin, page_prepare, etc.) + */ static int gfs2_block_zero_range(struct inode *inode, loff_t from, unsigned int length) { + BUG_ON(current->journal_info); return iomap_zero_range(inode, from, length, NULL, &gfs2_iomap_ops); } @@ -1414,6 +1420,16 @@ u64 oldsize = inode->i_size; int error; + if (!gfs2_is_stuffed(ip)) { + unsigned int blocksize = i_blocksize(inode); + unsigned int offs = newsize & (blocksize - 1); + if (offs) { + error = gfs2_block_zero_range(inode, newsize, + blocksize - offs); + if (error) + return error; + } + } if (journaled) error = gfs2_trans_begin(sdp, RES_DINODE + RES_JDATA, GFS2_JTRUNC_REVOKES); else @@ -1427,19 +1443,10 @@ gfs2_trans_add_meta(ip->i_gl, dibh); - if (gfs2_is_stuffed(ip)) { + if (gfs2_is_stuffed(ip)) gfs2_buffer_clear_tail(dibh, sizeof(struct gfs2_dinode) + newsize); - } else { - unsigned int blocksize = i_blocksize(inode); - unsigned int offs = newsize & (blocksize - 1); - if (offs) { - error = gfs2_block_zero_range(inode, newsize, - blocksize - offs); - if (error) - goto out; - } + else ip->i_diskflags |= GFS2_DIF_TRUNC_IN_PROG; - } i_size_write(inode, newsize); ip->i_inode.i_mtime = ip->i_inode.i_ctime = current_time(&ip->i_inode); @@ -2448,25 +2455,7 @@ loff_t start, end; int error; - start = round_down(offset, blocksize); - end = round_up(offset + length, blocksize) - 1; - error = filemap_write_and_wait_range(inode->i_mapping, start, end); - if (error) - return error; - - if (gfs2_is_jdata(ip)) - error = gfs2_trans_begin(sdp, RES_DINODE + 2 * RES_JDATA, - GFS2_JTRUNC_REVOKES); - else - error = gfs2_trans_begin(sdp, RES_DINODE, 0); - if (error) - return error; - - if (gfs2_is_stuffed(ip)) { - error = stuffed_zero_range(inode, offset, length); - if (error) - goto out; - } else { + if (!gfs2_is_stuffed(ip)) { unsigned int start_off, end_len; start_off = offset & (blocksize - 1); @@ -2489,6 +2478,26 @@ } } + start = round_down(offset, blocksize); + end = round_up(offset + length, blocksize) - 1; + error = filemap_write_and_wait_range(inode->i_mapping, start, end); + if (error) + return error; + + if (gfs2_is_jdata(ip)) + error = gfs2_trans_begin(sdp, RES_DINODE + 2 * RES_JDATA, + GFS2_JTRUNC_REVOKES); + else + error = gfs2_trans_begin(sdp, RES_DINODE, 0); + if (error) + return error; + + if (gfs2_is_stuffed(ip)) { + error = stuffed_zero_range(inode, offset, length); + if (error) + goto out; + } + if (gfs2_is_jdata(ip)) { BUG_ON(!current->journal_info); gfs2_journaled_truncate_range(inode, offset, length); --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/glock.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/glock.c @@ -270,7 +270,12 @@ gfs2_glock_remove_from_lru(gl); spin_unlock(&gl->gl_lockref.lock); GLOCK_BUG_ON(gl, !list_empty(&gl->gl_holders)); - GLOCK_BUG_ON(gl, mapping && mapping->nrpages && !gfs2_withdrawn(sdp)); + if (mapping) { + truncate_inode_pages_final(mapping); + if (!gfs2_withdrawn(sdp)) + GLOCK_BUG_ON(gl, mapping->nrpages || + mapping->nrexceptional); + } trace_gfs2_glock_put(gl); sdp->sd_lockstruct.ls_ops->lm_put_lock(gl); } @@ -790,9 +795,11 @@ struct gfs2_holder gh; int error; - error = gfs2_glock_nq_init(gl, LM_ST_SHARED, flags, &gh); + gfs2_holder_init(gl, LM_ST_SHARED, flags, &gh); + error = gfs2_glock_nq(&gh); if (!error) gfs2_glock_dq(&gh); + gfs2_holder_uninit(&gh); } static bool gfs2_try_evict(struct gfs2_glock *gl) @@ -1047,7 +1054,8 @@ gl->gl_object = NULL; gl->gl_hold_time = GL_GLOCK_DFT_HOLD; INIT_DELAYED_WORK(&gl->gl_work, glock_work_func); - INIT_DELAYED_WORK(&gl->gl_delete, delete_work_func); + if (gl->gl_name.ln_type == LM_TYPE_IOPEN) + INIT_DELAYED_WORK(&gl->gl_delete, delete_work_func); mapping = gfs2_glock2aspace(gl); if (mapping) { @@ -1073,7 +1081,8 @@ out_free: kfree(gl->gl_lksb.sb_lvbptr); kmem_cache_free(cachep, gl); - atomic_dec(&sdp->sd_glock_disposal); + if (atomic_dec_and_test(&sdp->sd_glock_disposal)) + wake_up(&sdp->sd_glock_wait); out: return ret; @@ -1899,9 +1908,11 @@ static void flush_delete_work(struct gfs2_glock *gl) { - if (cancel_delayed_work(&gl->gl_delete)) { - queue_delayed_work(gfs2_delete_workqueue, - &gl->gl_delete, 0); + if (gl->gl_name.ln_type == LM_TYPE_IOPEN) { + if (cancel_delayed_work(&gl->gl_delete)) { + queue_delayed_work(gfs2_delete_workqueue, + &gl->gl_delete, 0); + } } gfs2_glock_queue_work(gl, 0); } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/glops.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/glops.c @@ -227,6 +227,15 @@ rgd->rd_flags &= ~GFS2_RDF_UPTODATE; } +static void gfs2_rgrp_go_dump(struct seq_file *seq, struct gfs2_glock *gl, + const char *fs_id_buf) +{ + struct gfs2_rgrpd *rgd = gl->gl_object; + + if (rgd) + gfs2_rgrp_dump(seq, rgd, fs_id_buf); +} + static struct gfs2_inode *gfs2_glock2inode(struct gfs2_glock *gl) { struct gfs2_inode *ip; @@ -531,7 +540,19 @@ int error = 0; struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; - if (gl->gl_req == LM_ST_EXCLUSIVE && !gfs2_withdrawn(sdp)) { + /* + * We need to check gl_state == LM_ST_SHARED here and not gl_req == + * LM_ST_EXCLUSIVE. That's because when any node does a freeze, + * all the nodes should have the freeze glock in SH mode and they all + * call do_xmote: One for EX and the others for UN. They ALL must + * freeze locally, and they ALL must queue freeze work. The freeze_work + * calls freeze_func, which tries to reacquire the freeze glock in SH, + * effectively waiting for the thaw on the node who holds it in EX. + * Once thawed, the work func acquires the freeze glock in + * SH and everybody goes back to thawed. + */ + if (gl->gl_state == LM_ST_SHARED && !gfs2_withdrawn(sdp) && + !test_bit(SDF_NORECOVERY, &sdp->sd_flags)) { atomic_set(&sdp->sd_freeze_state, SFS_STARTING_FREEZE); error = freeze_super(sdp->sd_vfs); if (error) { @@ -712,7 +733,7 @@ .go_sync = rgrp_go_sync, .go_inval = rgrp_go_inval, .go_lock = gfs2_rgrp_go_lock, - .go_dump = gfs2_rgrp_dump, + .go_dump = gfs2_rgrp_go_dump, .go_type = LM_TYPE_RGRP, .go_flags = GLOF_LVB, }; --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/incore.h +++ linux-riscv-5.8-5.8.0/fs/gfs2/incore.h @@ -705,6 +705,7 @@ struct super_block *sd_vfs; struct gfs2_pcpu_lkstats __percpu *sd_lkstats; struct kobject sd_kobj; + struct completion sd_kobj_unregister; unsigned long sd_flags; /* SDF_... */ struct gfs2_sb_host sd_sb; --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/inode.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/inode.c @@ -150,6 +150,8 @@ error = gfs2_glock_get(sdp, no_addr, &gfs2_iopen_glops, CREATE, &io_gl); if (unlikely(error)) goto fail; + if (blktype != GFS2_BLKST_UNLINKED) + gfs2_cancel_delete_work(io_gl); if (type == DT_UNKNOWN || blktype != GFS2_BLKST_FREE) { /* @@ -180,7 +182,6 @@ error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh); if (unlikely(error)) goto fail; - gfs2_cancel_delete_work(ip->i_iopen_gh.gh_gl); glock_set_object(ip->i_iopen_gh.gh_gl, ip); gfs2_glock_put(io_gl); io_gl = NULL; @@ -724,13 +725,19 @@ flush_delayed_work(&ip->i_gl->gl_work); glock_set_object(ip->i_gl, ip); - error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, ghs + 1); + error = gfs2_glock_get(sdp, ip->i_no_addr, &gfs2_iopen_glops, CREATE, &io_gl); if (error) goto fail_free_inode; + gfs2_cancel_delete_work(io_gl); + glock_set_object(io_gl, ip); + + error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, ghs + 1); + if (error) + goto fail_gunlock2; error = gfs2_trans_begin(sdp, blocks, 0); if (error) - goto fail_free_inode; + goto fail_gunlock2; if (blocks > 1) { ip->i_eattr = ip->i_no_addr + 1; @@ -739,18 +746,12 @@ init_dinode(dip, ip, symname); gfs2_trans_end(sdp); - error = gfs2_glock_get(sdp, ip->i_no_addr, &gfs2_iopen_glops, CREATE, &io_gl); - if (error) - goto fail_free_inode; - BUG_ON(test_and_set_bit(GLF_INODE_CREATING, &io_gl->gl_flags)); error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh); if (error) goto fail_gunlock2; - gfs2_cancel_delete_work(ip->i_iopen_gh.gh_gl); - glock_set_object(ip->i_iopen_gh.gh_gl, ip); gfs2_set_iop(inode); insert_inode_hash(inode); @@ -802,6 +803,7 @@ gfs2_glock_dq_uninit(&ip->i_iopen_gh); fail_gunlock2: clear_bit(GLF_INODE_CREATING, &io_gl->gl_flags); + glock_clear_object(io_gl, ip); gfs2_glock_put(io_gl); fail_free_inode: if (ip->i_gl) { @@ -2115,6 +2117,25 @@ return vfs_setpos(file, ret, inode->i_sb->s_maxbytes); } +static int gfs2_update_time(struct inode *inode, struct timespec64 *time, + int flags) +{ + struct gfs2_inode *ip = GFS2_I(inode); + struct gfs2_glock *gl = ip->i_gl; + struct gfs2_holder *gh; + int error; + + gh = gfs2_glock_is_locked_by_me(gl); + if (gh && !gfs2_glock_is_held_excl(gl)) { + gfs2_glock_dq(gh); + gfs2_holder_reinit(LM_ST_EXCLUSIVE, 0, gh); + error = gfs2_glock_nq(gh); + if (error) + return error; + } + return generic_update_time(inode, time, flags); +} + const struct inode_operations gfs2_file_iops = { .permission = gfs2_permission, .setattr = gfs2_setattr, @@ -2123,6 +2144,7 @@ .fiemap = gfs2_fiemap, .get_acl = gfs2_get_acl, .set_acl = gfs2_set_acl, + .update_time = gfs2_update_time, }; const struct inode_operations gfs2_dir_iops = { @@ -2142,6 +2164,7 @@ .fiemap = gfs2_fiemap, .get_acl = gfs2_get_acl, .set_acl = gfs2_set_acl, + .update_time = gfs2_update_time, .atomic_open = gfs2_atomic_open, }; --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/lock_dlm.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/lock_dlm.c @@ -284,7 +284,6 @@ { struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; struct lm_lockstruct *ls = &sdp->sd_lockstruct; - int lvb_needs_unlock = 0; int error; if (gl->gl_lksb.sb_lkid == 0) { @@ -297,13 +296,10 @@ gfs2_sbstats_inc(gl, GFS2_LKS_DCOUNT); gfs2_update_request_times(gl); - /* don't want to skip dlm_unlock writing the lvb when lock is ex */ - - if (gl->gl_lksb.sb_lvbptr && (gl->gl_state == LM_ST_EXCLUSIVE)) - lvb_needs_unlock = 1; + /* don't want to skip dlm_unlock writing the lvb when lock has one */ if (test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags) && - !lvb_needs_unlock) { + !gl->gl_lksb.sb_lvbptr) { gfs2_glock_free(gl); return; } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/log.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/log.c @@ -132,6 +132,8 @@ spin_unlock(&sdp->sd_ail_lock); ret = generic_writepages(mapping, wbc); spin_lock(&sdp->sd_ail_lock); + if (ret == -ENODATA) /* if a jdata write into a new hole */ + ret = 0; /* ignore it */ if (ret || wbc->nr_to_write <= 0) break; return -EBUSY; @@ -902,6 +904,40 @@ } /** + * drain_bd - drain the buf and databuf queue for a failed transaction + * @tr: the transaction to drain + * + * When this is called, we're taking an error exit for a log write that failed + * but since we bypassed the after_commit functions, we need to remove the + * items from the buf and databuf queue. + */ +static void trans_drain(struct gfs2_trans *tr) +{ + struct gfs2_bufdata *bd; + struct list_head *head; + + if (!tr) + return; + + head = &tr->tr_buf; + while (!list_empty(head)) { + bd = list_first_entry(head, struct gfs2_bufdata, bd_list); + list_del_init(&bd->bd_list); + if (!list_empty(&bd->bd_ail_st_list)) + gfs2_remove_from_ail(bd); + kmem_cache_free(gfs2_bufdata_cachep, bd); + } + head = &tr->tr_databuf; + while (!list_empty(head)) { + bd = list_first_entry(head, struct gfs2_bufdata, bd_list); + list_del_init(&bd->bd_list); + if (!list_empty(&bd->bd_ail_st_list)) + gfs2_remove_from_ail(bd); + kmem_cache_free(gfs2_bufdata_cachep, bd); + } +} + +/** * gfs2_log_flush - flush incore transaction(s) * @sdp: the filesystem * @gl: The glock structure to flush. If NULL, flush the whole incore log @@ -924,10 +960,8 @@ goto out; /* Log might have been flushed while we waited for the flush lock */ - if (gl && !test_bit(GLF_LFLUSH, &gl->gl_flags)) { - up_write(&sdp->sd_log_flush_lock); - return; - } + if (gl && !test_bit(GLF_LFLUSH, &gl->gl_flags)) + goto out; trace_gfs2_log_flush(sdp, 1, flags); if (flags & GFS2_LOG_HEAD_FLUSH_SHUTDOWN) @@ -941,25 +975,25 @@ if (unlikely (state == SFS_FROZEN)) if (gfs2_assert_withdraw_delayed(sdp, !tr->tr_num_buf_new && !tr->tr_num_databuf_new)) - goto out; + goto out_withdraw; } if (unlikely(state == SFS_FROZEN)) if (gfs2_assert_withdraw_delayed(sdp, !sdp->sd_log_num_revoke)) - goto out; + goto out_withdraw; if (gfs2_assert_withdraw_delayed(sdp, sdp->sd_log_num_revoke == sdp->sd_log_committed_revoke)) - goto out; + goto out_withdraw; gfs2_ordered_write(sdp); if (gfs2_withdrawn(sdp)) - goto out; + goto out_withdraw; lops_before_commit(sdp, tr); if (gfs2_withdrawn(sdp)) - goto out; + goto out_withdraw; gfs2_log_submit_bio(&sdp->sd_log_bio, REQ_OP_WRITE); if (gfs2_withdrawn(sdp)) - goto out; + goto out_withdraw; if (sdp->sd_log_head != sdp->sd_log_flush_head) { log_flush_wait(sdp); @@ -970,7 +1004,7 @@ log_write_header(sdp, flags); } if (gfs2_withdrawn(sdp)) - goto out; + goto out_withdraw; lops_after_commit(sdp, tr); gfs2_log_lock(sdp); @@ -990,7 +1024,7 @@ if (!sdp->sd_log_idle) { empty_ail1_list(sdp); if (gfs2_withdrawn(sdp)) - goto out; + goto out_withdraw; atomic_dec(&sdp->sd_log_blks_free); /* Adjust for unreserved buffer */ trace_gfs2_log_blocks(sdp, -1); log_write_header(sdp, flags); @@ -1003,26 +1037,30 @@ atomic_set(&sdp->sd_freeze_state, SFS_FROZEN); } -out: - if (gfs2_withdrawn(sdp)) { - /** - * If the tr_list is empty, we're withdrawing during a log - * flush that targets a transaction, but the transaction was - * never queued onto any of the ail lists. Here we add it to - * ail1 just so that ail_drain() will find and free it. - */ - spin_lock(&sdp->sd_ail_lock); - if (tr && list_empty(&tr->tr_list)) - list_add(&tr->tr_list, &sdp->sd_ail1_list); - spin_unlock(&sdp->sd_ail_lock); - ail_drain(sdp); /* frees all transactions */ - tr = NULL; - } - +out_end: trace_gfs2_log_flush(sdp, 0, flags); +out: up_write(&sdp->sd_log_flush_lock); - gfs2_trans_free(sdp, tr); + if (gfs2_withdrawing(sdp)) + gfs2_withdraw(sdp); + return; + +out_withdraw: + trans_drain(tr); + /** + * If the tr_list is empty, we're withdrawing during a log + * flush that targets a transaction, but the transaction was + * never queued onto any of the ail lists. Here we add it to + * ail1 just so that ail_drain() will find and free it. + */ + spin_lock(&sdp->sd_ail_lock); + if (tr && list_empty(&tr->tr_list)) + list_add(&tr->tr_list, &sdp->sd_ail1_list); + spin_unlock(&sdp->sd_ail_lock); + ail_drain(sdp); /* frees all transactions */ + tr = NULL; + goto out_end; } /** --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/ops_fstype.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/ops_fstype.c @@ -169,15 +169,19 @@ return -EINVAL; } - /* If format numbers match exactly, we're done. */ - - if (sb->sb_fs_format == GFS2_FORMAT_FS && - sb->sb_multihost_format == GFS2_FORMAT_MULTI) - return 0; + if (sb->sb_fs_format != GFS2_FORMAT_FS || + sb->sb_multihost_format != GFS2_FORMAT_MULTI) { + fs_warn(sdp, "Unknown on-disk format, unable to mount\n"); + return -EINVAL; + } - fs_warn(sdp, "Unknown on-disk format, unable to mount\n"); + if (sb->sb_bsize < 512 || sb->sb_bsize > PAGE_SIZE || + (sb->sb_bsize & (sb->sb_bsize - 1))) { + pr_warn("Invalid superblock size\n"); + return -EINVAL; + } - return -EINVAL; + return 0; } static void end_bio_io_page(struct bio *bio) @@ -1013,6 +1017,7 @@ int silent = fc->sb_flags & SB_SILENT; struct gfs2_sbd *sdp; struct gfs2_holder mount_gh; + struct gfs2_holder freeze_gh; int error; sdp = init_sbd(sb); @@ -1062,26 +1067,14 @@ } error = init_names(sdp, silent); - if (error) { - /* In this case, we haven't initialized sysfs, so we have to - manually free the sdp. */ - free_sbd(sdp); - sb->s_fs_info = NULL; - return error; - } + if (error) + goto fail_free; snprintf(sdp->sd_fsname, sizeof(sdp->sd_fsname), "%s", sdp->sd_table_name); error = gfs2_sys_fs_add(sdp); - /* - * If we hit an error here, gfs2_sys_fs_add will have called function - * kobject_put which causes the sysfs usage count to go to zero, which - * causes sysfs to call function gfs2_sbd_release, which frees sdp. - * Subsequent error paths here will call gfs2_sys_fs_del, which also - * kobject_put to free sdp. - */ if (error) - return error; + goto fail_free; gfs2_create_debugfs_file(sdp); @@ -1136,25 +1129,18 @@ goto fail_per_node; } - if (sb_rdonly(sb)) { - struct gfs2_holder freeze_gh; + error = gfs2_freeze_lock(sdp, &freeze_gh, 0); + if (error) + goto fail_per_node; - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, LM_ST_SHARED, - LM_FLAG_NOEXP | GL_EXACT, - &freeze_gh); - if (error) { - fs_err(sdp, "can't make FS RO: %d\n", error); - goto fail_per_node; - } - gfs2_glock_dq_uninit(&freeze_gh); - } else { + if (!sb_rdonly(sb)) error = gfs2_make_fs_rw(sdp); - if (error) { - fs_err(sdp, "can't make FS RW: %d\n", error); - goto fail_per_node; - } - } + gfs2_freeze_unlock(&freeze_gh); + if (error) { + fs_err(sdp, "can't make FS RW: %d\n", error); + goto fail_per_node; + } gfs2_glock_dq_uninit(&mount_gh); gfs2_online_uevent(sdp); return 0; @@ -1179,9 +1165,9 @@ gfs2_lm_unmount(sdp); fail_debug: gfs2_delete_debugfs_file(sdp); - /* gfs2_sys_fs_del must be the last thing we do, since it causes - * sysfs to call function gfs2_sbd_release, which frees sdp. */ gfs2_sys_fs_del(sdp); +fail_free: + free_sbd(sdp); sb->s_fs_info = NULL; return error; } @@ -1455,6 +1441,12 @@ fc->sb_flags |= SB_RDONLY; if ((sb->s_flags ^ fc->sb_flags) & SB_RDONLY) { + struct gfs2_holder freeze_gh; + + error = gfs2_freeze_lock(sdp, &freeze_gh, 0); + if (error) + return -EINVAL; + if (fc->sb_flags & SB_RDONLY) { error = gfs2_make_fs_ro(sdp); if (error) @@ -1464,6 +1456,7 @@ if (error) errorfc(fc, "unable to remount read-write"); } + gfs2_freeze_unlock(&freeze_gh); } sdp->sd_args = *newargs; --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/recovery.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/recovery.c @@ -363,9 +363,7 @@ /* Acquire a shared hold on the freeze lock */ - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, LM_ST_SHARED, - LM_FLAG_NOEXP | LM_FLAG_PRIORITY | - GL_EXACT, &thaw_gh); + error = gfs2_freeze_lock(sdp, &thaw_gh, LM_FLAG_PRIORITY); if (error) goto fail_gunlock_ji; @@ -407,14 +405,16 @@ error = foreach_descriptor(jd, head.lh_tail, head.lh_blkno, pass); lops_after_scan(jd, error, pass); - if (error) + if (error) { + up_read(&sdp->sd_log_flush_lock); goto fail_gunlock_thaw; + } } clean_journal(jd, &head); up_read(&sdp->sd_log_flush_lock); - gfs2_glock_dq_uninit(&thaw_gh); + gfs2_freeze_unlock(&thaw_gh); t_rep = ktime_get(); fs_info(sdp, "jid=%u: Journal replayed in %lldms [jlck:%lldms, " "jhead:%lldms, tlck:%lldms, replay:%lldms]\n", @@ -436,7 +436,7 @@ goto done; fail_gunlock_thaw: - gfs2_glock_dq_uninit(&thaw_gh); + gfs2_freeze_unlock(&thaw_gh); fail_gunlock_ji: if (jlocked) { gfs2_glock_dq_uninit(&ji_gh); --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/rgrp.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/rgrp.c @@ -719,9 +719,9 @@ } gfs2_free_clones(rgd); + return_all_reservations(rgd); kfree(rgd->rd_bits); rgd->rd_bits = NULL; - return_all_reservations(rgd); kmem_cache_free(gfs2_rgrpd_cachep, rgd); } } @@ -989,6 +989,10 @@ if (error < 0) return error; + if (RB_EMPTY_ROOT(&sdp->sd_rindex_tree)) { + fs_err(sdp, "no resource groups found in the file system.\n"); + return -ENOENT; + } set_rgrp_preferences(sdp); sdp->sd_rindex_uptodate = 1; @@ -1374,6 +1378,9 @@ if (!capable(CAP_SYS_ADMIN)) return -EPERM; + if (!test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)) + return -EROFS; + if (!blk_queue_discard(q)) return -EOPNOTSUPP; @@ -2209,20 +2216,17 @@ /** * gfs2_rgrp_dump - print out an rgrp * @seq: The iterator - * @gl: The glock in question + * @rgd: The rgrp in question * @fs_id_buf: pointer to file system id (if requested) * */ -void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_glock *gl, +void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_rgrpd *rgd, const char *fs_id_buf) { - struct gfs2_rgrpd *rgd = gl->gl_object; struct gfs2_blkreserv *trs; const struct rb_node *n; - if (rgd == NULL) - return; gfs2_print_dbg(seq, "%s R: n:%llu f:%02x b:%u/%u i:%u r:%u e:%u\n", fs_id_buf, (unsigned long long)rgd->rd_addr, rgd->rd_flags, @@ -2253,7 +2257,7 @@ (unsigned long long)rgd->rd_addr); fs_warn(sdp, "umount on all nodes and run fsck.gfs2 to fix the error\n"); sprintf(fs_id_buf, "fsid=%s: ", sdp->sd_fsname); - gfs2_rgrp_dump(NULL, rgd->rd_gl, fs_id_buf); + gfs2_rgrp_dump(NULL, rgd, fs_id_buf); rgd->rd_flags |= GFS2_RDF_ERROR; } @@ -2533,13 +2537,13 @@ rbm.rgd = rgd; error = gfs2_rbm_from_block(&rbm, no_addr); - if (WARN_ON_ONCE(error)) - goto fail; - - if (gfs2_testbit(&rbm, false) != type) - error = -ESTALE; + if (!WARN_ON_ONCE(error)) { + if (gfs2_testbit(&rbm, false) != type) + error = -ESTALE; + } gfs2_glock_dq_uninit(&rgd_gh); + fail: return error; } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/rgrp.h +++ linux-riscv-5.8-5.8.0/fs/gfs2/rgrp.h @@ -67,7 +67,7 @@ extern void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist); extern void gfs2_rlist_free(struct gfs2_rgrp_list *rlist); extern u64 gfs2_ri_total(struct gfs2_sbd *sdp); -extern void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_glock *gl, +extern void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_rgrpd *rgd, const char *fs_id_buf); extern int gfs2_rgrp_send_discards(struct gfs2_sbd *sdp, u64 offset, struct buffer_head *bh, --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/super.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/super.c @@ -159,19 +159,14 @@ { struct gfs2_inode *ip = GFS2_I(sdp->sd_jdesc->jd_inode); struct gfs2_glock *j_gl = ip->i_gl; - struct gfs2_holder freeze_gh; struct gfs2_log_header_host head; int error; error = init_threads(sdp); - if (error) + if (error) { + gfs2_withdraw_delayed(sdp); return error; - - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, LM_ST_SHARED, - LM_FLAG_NOEXP | GL_EXACT, - &freeze_gh); - if (error) - goto fail_threads; + } j_gl->gl_ops->go_inval(j_gl, DIO_METADATA); if (gfs2_withdrawn(sdp)) { @@ -199,13 +194,9 @@ set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); - gfs2_glock_dq_uninit(&freeze_gh); - return 0; fail: - gfs2_glock_dq_uninit(&freeze_gh); -fail_threads: if (sdp->sd_quotad_process) kthread_stop(sdp->sd_quotad_process); sdp->sd_quotad_process = NULL; @@ -448,7 +439,7 @@ } if (error) - gfs2_glock_dq_uninit(&sdp->sd_freeze_gh); + gfs2_freeze_unlock(&sdp->sd_freeze_gh); out: while (!list_empty(&list)) { @@ -604,30 +595,9 @@ int gfs2_make_fs_ro(struct gfs2_sbd *sdp) { - struct gfs2_holder freeze_gh; int error = 0; int log_write_allowed = test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); - gfs2_holder_mark_uninitialized(&freeze_gh); - if (sdp->sd_freeze_gl && - !gfs2_glock_is_locked_by_me(sdp->sd_freeze_gl)) { - if (!log_write_allowed) { - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, - LM_ST_SHARED, LM_FLAG_TRY | - LM_FLAG_NOEXP | GL_EXACT, - &freeze_gh); - if (error == GLR_TRYFAILED) - error = 0; - } else { - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, - LM_ST_SHARED, - LM_FLAG_NOEXP | GL_EXACT, - &freeze_gh); - if (error && !gfs2_withdrawn(sdp)) - return error; - } - } - gfs2_flush_delete_work(sdp); if (!log_write_allowed && current == sdp->sd_quotad_process) fs_warn(sdp, "The quotad daemon is withdrawing.\n"); @@ -656,9 +626,6 @@ atomic_read(&sdp->sd_reserving_log) == 0, HZ * 5); } - if (gfs2_holder_initialized(&freeze_gh)) - gfs2_glock_dq_uninit(&freeze_gh); - gfs2_quota_cleanup(sdp); if (!log_write_allowed) @@ -701,6 +668,8 @@ if (error) gfs2_io_error(sdp); } + WARN_ON(gfs2_withdrawing(sdp)); + /* At this point, we're through modifying the disk */ /* Release stuff */ @@ -729,12 +698,14 @@ gfs2_jindex_free(sdp); /* Take apart glock structures and buffer lists */ gfs2_gl_hash_clear(sdp); + truncate_inode_pages_final(&sdp->sd_aspace); gfs2_delete_debugfs_file(sdp); /* Unmount the locking protocol */ gfs2_lm_unmount(sdp); /* At this point, we're through participating in the lockspace */ gfs2_sys_fs_del(sdp); + free_sbd(sdp); } /** @@ -763,10 +734,8 @@ struct super_block *sb = sdp->sd_vfs; atomic_inc(&sb->s_active); - error = gfs2_glock_nq_init(sdp->sd_freeze_gl, LM_ST_SHARED, - LM_FLAG_NOEXP | GL_EXACT, &freeze_gh); + error = gfs2_freeze_lock(sdp, &freeze_gh, 0); if (error) { - fs_info(sdp, "GFS2: couldn't get freeze lock : %d\n", error); gfs2_assert_withdraw(sdp, 0); } else { atomic_set(&sdp->sd_freeze_state, SFS_UNFROZEN); @@ -776,7 +745,7 @@ error); gfs2_assert_withdraw(sdp, 0); } - gfs2_glock_dq_uninit(&freeze_gh); + gfs2_freeze_unlock(&freeze_gh); } deactivate_super(sb); clear_bit_unlock(SDF_FS_FROZEN, &sdp->sd_flags); @@ -793,11 +762,13 @@ static int gfs2_freeze(struct super_block *sb) { struct gfs2_sbd *sdp = sb->s_fs_info; - int error = 0; + int error; mutex_lock(&sdp->sd_freeze_mutex); - if (atomic_read(&sdp->sd_freeze_state) != SFS_UNFROZEN) + if (atomic_read(&sdp->sd_freeze_state) != SFS_UNFROZEN) { + error = -EBUSY; goto out; + } for (;;) { if (gfs2_withdrawn(sdp)) { @@ -838,13 +809,13 @@ struct gfs2_sbd *sdp = sb->s_fs_info; mutex_lock(&sdp->sd_freeze_mutex); - if (atomic_read(&sdp->sd_freeze_state) != SFS_FROZEN || + if (atomic_read(&sdp->sd_freeze_state) != SFS_FROZEN || !gfs2_holder_initialized(&sdp->sd_freeze_gh)) { mutex_unlock(&sdp->sd_freeze_mutex); - return 0; + return -EINVAL; } - gfs2_glock_dq_uninit(&sdp->sd_freeze_gh); + gfs2_freeze_unlock(&sdp->sd_freeze_gh); mutex_unlock(&sdp->sd_freeze_mutex); return wait_on_bit(&sdp->sd_flags, SDF_FS_FROZEN, TASK_INTERRUPTIBLE); } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/sys.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/sys.c @@ -303,7 +303,7 @@ { struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); - free_sbd(sdp); + complete(&sdp->sd_kobj_unregister); } static struct kobj_type gfs2_ktype = { @@ -655,6 +655,7 @@ sprintf(ro, "RDONLY=%d", sb_rdonly(sb)); sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0); + init_completion(&sdp->sd_kobj_unregister); sdp->sd_kobj.kset = gfs2_kset; error = kobject_init_and_add(&sdp->sd_kobj, &gfs2_ktype, NULL, "%s", sdp->sd_table_name); @@ -685,6 +686,7 @@ fail_reg: fs_err(sdp, "error %d adding sysfs files\n", error); kobject_put(&sdp->sd_kobj); + wait_for_completion(&sdp->sd_kobj_unregister); sb->s_fs_info = NULL; return error; } @@ -695,6 +697,7 @@ sysfs_remove_group(&sdp->sd_kobj, &tune_group); sysfs_remove_group(&sdp->sd_kobj, &lock_module_group); kobject_put(&sdp->sd_kobj); + wait_for_completion(&sdp->sd_kobj_unregister); } static int gfs2_uevent(struct kset *kset, struct kobject *kobj, --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/trans.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/trans.c @@ -52,6 +52,7 @@ tr->tr_reserved += gfs2_struct2blk(sdp, revokes); INIT_LIST_HEAD(&tr->tr_databuf); INIT_LIST_HEAD(&tr->tr_buf); + INIT_LIST_HEAD(&tr->tr_list); INIT_LIST_HEAD(&tr->tr_ail1_list); INIT_LIST_HEAD(&tr->tr_ail2_list); @@ -130,6 +131,8 @@ bd->bd_bh = bh; bd->bd_gl = gl; INIT_LIST_HEAD(&bd->bd_list); + INIT_LIST_HEAD(&bd->bd_ail_st_list); + INIT_LIST_HEAD(&bd->bd_ail_gl_list); bh->b_private = bd; return bd; } --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/util.c +++ linux-riscv-5.8-5.8.0/fs/gfs2/util.c @@ -91,18 +91,50 @@ return error; } +/** + * gfs2_freeze_lock - hold the freeze glock + * @sdp: the superblock + * @freeze_gh: pointer to the requested holder + * @caller_flags: any additional flags needed by the caller + */ +int gfs2_freeze_lock(struct gfs2_sbd *sdp, struct gfs2_holder *freeze_gh, + int caller_flags) +{ + int flags = LM_FLAG_NOEXP | GL_EXACT | caller_flags; + int error; + + error = gfs2_glock_nq_init(sdp->sd_freeze_gl, LM_ST_SHARED, flags, + freeze_gh); + if (error && error != GLR_TRYFAILED) + fs_err(sdp, "can't lock the freeze lock: %d\n", error); + return error; +} + +void gfs2_freeze_unlock(struct gfs2_holder *freeze_gh) +{ + if (gfs2_holder_initialized(freeze_gh)) + gfs2_glock_dq_uninit(freeze_gh); +} + static void signal_our_withdraw(struct gfs2_sbd *sdp) { - struct gfs2_glock *gl = sdp->sd_live_gh.gh_gl; - struct inode *inode = sdp->sd_jdesc->jd_inode; - struct gfs2_inode *ip = GFS2_I(inode); - u64 no_formal_ino = ip->i_no_formal_ino; + struct gfs2_glock *live_gl = sdp->sd_live_gh.gh_gl; + struct inode *inode; + struct gfs2_inode *ip; + struct gfs2_glock *i_gl; + u64 no_formal_ino; + int log_write_allowed = test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); int ret = 0; int tries; - if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) + if (test_bit(SDF_NORECOVERY, &sdp->sd_flags) || !sdp->sd_jdesc) return; + inode = sdp->sd_jdesc->jd_inode; + ip = GFS2_I(inode); + i_gl = ip->i_gl; + no_formal_ino = ip->i_no_formal_ino; + /* Prevent any glock dq until withdraw recovery is complete */ set_bit(SDF_WITHDRAW_RECOVERY, &sdp->sd_flags); /* @@ -117,8 +149,21 @@ * therefore we need to clear SDF_JOURNAL_LIVE manually. */ clear_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); - if (!sb_rdonly(sdp->sd_vfs)) - ret = gfs2_make_fs_ro(sdp); + if (!sb_rdonly(sdp->sd_vfs)) { + struct gfs2_holder freeze_gh; + + gfs2_holder_mark_uninitialized(&freeze_gh); + if (sdp->sd_freeze_gl && + !gfs2_glock_is_locked_by_me(sdp->sd_freeze_gl)) { + ret = gfs2_freeze_lock(sdp, &freeze_gh, + log_write_allowed ? 0 : LM_FLAG_TRY); + if (ret == GLR_TRYFAILED) + ret = 0; + } + if (!ret) + ret = gfs2_make_fs_ro(sdp); + gfs2_freeze_unlock(&freeze_gh); + } if (sdp->sd_lockstruct.ls_ops->lm_lock == NULL) { /* lock_nolock */ if (!ret) @@ -141,7 +186,8 @@ atomic_set(&sdp->sd_freeze_state, SFS_FROZEN); thaw_super(sdp->sd_vfs); } else { - wait_on_bit(&gl->gl_flags, GLF_DEMOTE, TASK_UNINTERRUPTIBLE); + wait_on_bit(&i_gl->gl_flags, GLF_DEMOTE, + TASK_UNINTERRUPTIBLE); } /* @@ -161,15 +207,15 @@ * on other nodes to be successful, otherwise we remain the owner of * the glock as far as dlm is concerned. */ - if (gl->gl_ops->go_free) { - set_bit(GLF_FREEING, &gl->gl_flags); - wait_on_bit(&gl->gl_flags, GLF_FREEING, TASK_UNINTERRUPTIBLE); + if (i_gl->gl_ops->go_free) { + set_bit(GLF_FREEING, &i_gl->gl_flags); + wait_on_bit(&i_gl->gl_flags, GLF_FREEING, TASK_UNINTERRUPTIBLE); } /* * Dequeue the "live" glock, but keep a reference so it's never freed. */ - gfs2_glock_hold(gl); + gfs2_glock_hold(live_gl); gfs2_glock_dq_wait(&sdp->sd_live_gh); /* * We enqueue the "live" glock in EX so that all other nodes @@ -208,7 +254,7 @@ gfs2_glock_nq(&sdp->sd_live_gh); } - gfs2_glock_queue_put(gl); /* drop the extra reference we acquired */ + gfs2_glock_queue_put(live_gl); /* drop extra reference we acquired */ clear_bit(SDF_WITHDRAW_RECOVERY, &sdp->sd_flags); /* @@ -419,7 +465,7 @@ char fs_id_buf[sizeof(sdp->sd_fsname) + 7]; sprintf(fs_id_buf, "fsid=%s: ", sdp->sd_fsname); - gfs2_rgrp_dump(NULL, rgd->rd_gl, fs_id_buf); + gfs2_rgrp_dump(NULL, rgd, fs_id_buf); gfs2_lm(sdp, "fatal: filesystem consistency error\n" " RG = %llu\n" --- linux-riscv-5.8-5.8.0.orig/fs/gfs2/util.h +++ linux-riscv-5.8-5.8.0/fs/gfs2/util.h @@ -149,6 +149,9 @@ extern int check_journal_clean(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, bool verbose); +extern int gfs2_freeze_lock(struct gfs2_sbd *sdp, + struct gfs2_holder *freeze_gh, int caller_flags); +extern void gfs2_freeze_unlock(struct gfs2_holder *freeze_gh); #define gfs2_io_error(sdp) \ gfs2_io_error_i((sdp), __func__, __FILE__, __LINE__); @@ -205,6 +208,16 @@ test_bit(SDF_WITHDRAWING, &sdp->sd_flags); } +/** + * gfs2_withdrawing - check if a withdraw is pending + * @sdp: the superblock + */ +static inline bool gfs2_withdrawing(struct gfs2_sbd *sdp) +{ + return test_bit(SDF_WITHDRAWING, &sdp->sd_flags) && + !test_bit(SDF_WITHDRAWN, &sdp->sd_flags); +} + #define gfs2_tune_get(sdp, field) \ gfs2_tune_get_i(&(sdp)->sd_tune, &(sdp)->sd_tune.field) --- linux-riscv-5.8-5.8.0.orig/fs/hostfs/hostfs_kern.c +++ linux-riscv-5.8-5.8.0/fs/hostfs/hostfs_kern.c @@ -142,7 +142,7 @@ char *name, *resolved, *end; int n; - name = __getname(); + name = kmalloc(PATH_MAX, GFP_KERNEL); if (!name) { n = -ENOMEM; goto out_free; @@ -171,12 +171,11 @@ goto out_free; } - __putname(name); - kfree(link); + kfree(name); return resolved; out_free: - __putname(name); + kfree(name); return ERR_PTR(n); } --- linux-riscv-5.8-5.8.0.orig/fs/hugetlbfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/hugetlbfs/inode.c @@ -735,9 +735,10 @@ mutex_unlock(&hugetlb_fault_mutex_table[hash]); + set_page_huge_active(page); /* * unlock_page because locked by add_to_page_cache() - * page_put due to reference from alloc_huge_page() + * put_page() due to reference from alloc_huge_page() */ unlock_page(page); put_page(page); @@ -1364,6 +1365,12 @@ sb->s_magic = HUGETLBFS_MAGIC; sb->s_op = &hugetlbfs_ops; sb->s_time_gran = 1; + + /* + * Due to the special and limited functionality of hugetlbfs, it does + * not work well as a stacking filesystem. + */ + sb->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH; sb->s_root = d_make_root(hugetlbfs_get_root(sb, ctx)); if (!sb->s_root) goto out_free; --- linux-riscv-5.8-5.8.0.orig/fs/inode.c +++ linux-riscv-5.8-5.8.0/fs/inode.c @@ -1625,7 +1625,9 @@ else drop = generic_drop_inode(inode); - if (!drop && (sb->s_flags & SB_ACTIVE)) { + if (!drop && + !(inode->i_state & I_DONTCACHE) && + (sb->s_flags & SB_ACTIVE)) { inode_add_lru(inode); spin_unlock(&inode->i_lock); return; @@ -1768,12 +1770,13 @@ * This does the actual work of updating an inodes time or version. Must have * had called mnt_want_write() before calling this. */ -static int update_time(struct inode *inode, struct timespec64 *time, int flags) +int update_time(struct inode *inode, struct timespec64 *time, int flags) { if (inode->i_op->update_time) return inode->i_op->update_time(inode, time, flags); return generic_update_time(inode, time, flags); } +EXPORT_SYMBOL_GPL(update_time); /** * touch_atime - update the access time --- linux-riscv-5.8-5.8.0.orig/fs/io-wq.c +++ linux-riscv-5.8-5.8.0/fs/io-wq.c @@ -60,6 +60,7 @@ const struct cred *cur_creds; const struct cred *saved_creds; struct files_struct *restore_files; + struct nsproxy *restore_nsproxy; struct fs_struct *restore_fs; }; @@ -87,7 +88,7 @@ */ struct io_wqe { struct { - spinlock_t lock; + raw_spinlock_t lock; struct io_wq_work_list work_list; unsigned long hash_map; unsigned flags; @@ -148,11 +149,12 @@ if (current->files != worker->restore_files) { __acquire(&wqe->lock); - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); dropped_lock = true; task_lock(current); current->files = worker->restore_files; + current->nsproxy = worker->restore_nsproxy; task_unlock(current); } @@ -166,7 +168,7 @@ if (worker->mm) { if (!dropped_lock) { __acquire(&wqe->lock); - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); dropped_lock = true; } __set_current_state(TASK_RUNNING); @@ -200,7 +202,6 @@ { struct io_wqe *wqe = worker->wqe; struct io_wqe_acct *acct = io_wqe_get_acct(wqe, worker); - unsigned nr_workers; /* * If we're not at zero, someone else is holding a brief reference @@ -220,23 +221,19 @@ worker->flags = 0; preempt_enable(); - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); hlist_nulls_del_rcu(&worker->nulls_node); list_del_rcu(&worker->all_list); if (__io_worker_unuse(wqe, worker)) { __release(&wqe->lock); - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); } acct->nr_workers--; - nr_workers = wqe->acct[IO_WQ_ACCT_BOUND].nr_workers + - wqe->acct[IO_WQ_ACCT_UNBOUND].nr_workers; - spin_unlock_irq(&wqe->lock); - - /* all workers gone, wq exit can proceed */ - if (!nr_workers && refcount_dec_and_test(&wqe->wq->refs)) - complete(&wqe->wq->done); + raw_spin_unlock_irq(&wqe->lock); kfree_rcu(worker, rcu); + if (refcount_dec_and_test(&wqe->wq->refs)) + complete(&wqe->wq->done); } static inline bool io_wqe_run_queue(struct io_wqe *wqe) @@ -318,6 +315,7 @@ worker->flags |= (IO_WORKER_F_UP | IO_WORKER_F_RUNNING); worker->restore_files = current->files; + worker->restore_nsproxy = current->nsproxy; worker->restore_fs = current->fs; io_wqe_inc_running(wqe, worker); } @@ -454,6 +452,7 @@ if (work->files && current->files != work->files) { task_lock(current); current->files = work->files; + current->nsproxy = work->nsproxy; task_unlock(current); } if (work->fs && current->fs != work->fs) @@ -504,7 +503,7 @@ else if (!wq_list_empty(&wqe->work_list)) wqe->flags |= IO_WQE_FLAG_STALLED; - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); if (!work) break; io_assign_current_work(worker, work); @@ -539,7 +538,7 @@ io_wqe_enqueue(wqe, linked); if (hash != -1U && !next_hashed) { - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); wqe->hash_map &= ~BIT_ULL(hash); wqe->flags &= ~IO_WQE_FLAG_STALLED; /* dependent work is not hashed */ @@ -547,11 +546,11 @@ /* skip unnecessary unlock-lock wqe->lock */ if (!work) goto get_next; - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); } } while (work); - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); } while (1); } @@ -566,7 +565,7 @@ while (!test_bit(IO_WQ_BIT_EXIT, &wq->state)) { set_current_state(TASK_INTERRUPTIBLE); loop: - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); if (io_wqe_run_queue(wqe)) { __set_current_state(TASK_RUNNING); io_worker_handle_work(worker); @@ -577,7 +576,7 @@ __release(&wqe->lock); goto loop; } - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); if (signal_pending(current)) flush_signals(current); if (schedule_timeout(WORKER_IDLE_TIMEOUT)) @@ -589,11 +588,11 @@ } if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) { - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); if (!wq_list_empty(&wqe->work_list)) io_worker_handle_work(worker); else - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); } io_worker_exit(worker); @@ -633,14 +632,14 @@ worker->flags &= ~IO_WORKER_F_RUNNING; - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); io_wqe_dec_running(wqe, worker); - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); } 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_wqe_acct *acct = &wqe->acct[index]; struct io_worker *worker; worker = kzalloc_node(sizeof(*worker), GFP_KERNEL, wqe->node); @@ -658,8 +657,9 @@ kfree(worker); return false; } + kthread_bind_mask(worker->task, cpumask_of_node(wqe->node)); - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&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; @@ -668,11 +668,12 @@ if (!acct->nr_workers && (worker->flags & IO_WORKER_F_BOUND)) worker->flags |= IO_WORKER_F_FIXED; acct->nr_workers++; - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); if (index == IO_WQ_ACCT_UNBOUND) atomic_inc(&wq->user->processes); + refcount_inc(&wq->refs); wake_up_process(worker->task); return true; } @@ -688,28 +689,63 @@ return acct->nr_workers < acct->max_workers; } +static bool io_wqe_worker_send_sig(struct io_worker *worker, void *data) +{ + send_sig(SIGINT, worker->task, 1); + return false; +} + +/* + * 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) +{ + wake_up_process(worker->task); + return false; +} + /* * Manager thread. Tasked with creating new workers, if we need them. */ static int io_wq_manager(void *data) { struct io_wq *wq = data; - int workers_to_create = num_possible_nodes(); int node; /* create fixed workers */ - refcount_set(&wq->refs, workers_to_create); + refcount_set(&wq->refs, 1); for_each_node(node) { if (!node_online(node)) continue; - if (!create_io_worker(wq, wq->wqes[node], IO_WQ_ACCT_BOUND)) - goto err; - workers_to_create--; + if (create_io_worker(wq, wq->wqes[node], IO_WQ_ACCT_BOUND)) + continue; + set_bit(IO_WQ_BIT_ERROR, &wq->state); + set_bit(IO_WQ_BIT_EXIT, &wq->state); + goto out; } - while (workers_to_create--) - refcount_dec(&wq->refs); - complete(&wq->done); while (!kthread_should_stop()) { @@ -723,12 +759,12 @@ if (!node_online(node)) continue; - spin_lock_irq(&wqe->lock); + raw_spin_lock_irq(&wqe->lock); if (io_wqe_need_worker(wqe, IO_WQ_ACCT_BOUND)) fork_worker[IO_WQ_ACCT_BOUND] = true; if (io_wqe_need_worker(wqe, IO_WQ_ACCT_UNBOUND)) fork_worker[IO_WQ_ACCT_UNBOUND] = true; - spin_unlock_irq(&wqe->lock); + raw_spin_unlock_irq(&wqe->lock); if (fork_worker[IO_WQ_ACCT_BOUND]) create_io_worker(wq, wqe, IO_WQ_ACCT_BOUND); if (fork_worker[IO_WQ_ACCT_UNBOUND]) @@ -741,12 +777,18 @@ if (current->task_works) task_work_run(); - return 0; -err: - set_bit(IO_WQ_BIT_ERROR, &wq->state); - set_bit(IO_WQ_BIT_EXIT, &wq->state); - if (refcount_sub_and_test(workers_to_create, &wq->refs)) +out: + if (refcount_dec_and_test(&wq->refs)) { complete(&wq->done); + return 0; + } + /* if ERROR is set and we get here, we have workers to wake */ + if (test_bit(IO_WQ_BIT_ERROR, &wq->state)) { + rcu_read_lock(); + for_each_node(node) + io_wq_for_each_worker(wq->wqes[node], io_wq_worker_wake, NULL); + rcu_read_unlock(); + } return 0; } @@ -825,10 +867,10 @@ } work_flags = work->flags; - spin_lock_irqsave(&wqe->lock, flags); + raw_spin_lock_irqsave(&wqe->lock, flags); io_wqe_insert_work(wqe, work); wqe->flags &= ~IO_WQE_FLAG_STALLED; - spin_unlock_irqrestore(&wqe->lock, flags); + raw_spin_unlock_irqrestore(&wqe->lock, flags); if ((work_flags & IO_WQ_WORK_CONCURRENT) || !atomic_read(&acct->nr_running)) @@ -854,37 +896,6 @@ work->flags |= (IO_WQ_WORK_HASHED | (bit << IO_WQ_HASH_SHIFT)); } -static bool io_wqe_worker_send_sig(struct io_worker *worker, void *data) -{ - send_sig(SIGINT, worker->task, 1); - return false; -} - -/* - * 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; -} - void io_wq_cancel_all(struct io_wq *wq) { int node; @@ -929,6 +940,24 @@ 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) +{ + 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(&wqe->work_list, &work->list, prev); +} + static void io_wqe_cancel_pending_work(struct io_wqe *wqe, struct io_cb_cancel_data *match) { @@ -937,14 +966,13 @@ unsigned long flags; retry: - spin_lock_irqsave(&wqe->lock, flags); + raw_spin_lock_irqsave(&wqe->lock, flags); wq_list_for_each(node, prev, &wqe->work_list) { work = container_of(node, struct io_wq_work, list); if (!match->fn(work, match->data)) continue; - - wq_list_del(&wqe->work_list, node, prev); - spin_unlock_irqrestore(&wqe->lock, flags); + io_wqe_remove_pending(wqe, work, prev); + raw_spin_unlock_irqrestore(&wqe->lock, flags); io_run_cancel(work, wqe); match->nr_pending++; if (!match->cancel_all) @@ -953,7 +981,7 @@ /* not safe to continue after unlock */ goto retry; } - spin_unlock_irqrestore(&wqe->lock, flags); + raw_spin_unlock_irqrestore(&wqe->lock, flags); } static void io_wqe_cancel_running_work(struct io_wqe *wqe, @@ -1061,7 +1089,7 @@ } atomic_set(&wqe->acct[IO_WQ_ACCT_UNBOUND].nr_running, 0); wqe->wq = wq; - spin_lock_init(&wqe->lock); + raw_spin_lock_init(&wqe->lock); INIT_WQ_LIST(&wqe->work_list); INIT_HLIST_NULLS_HEAD(&wqe->free_list, 0); INIT_LIST_HEAD(&wqe->all_list); @@ -1100,12 +1128,6 @@ return refcount_inc_not_zero(&wq->use_refs); } -static bool io_wq_worker_wake(struct io_worker *worker, void *data) -{ - wake_up_process(worker->task); - return false; -} - static void __io_wq_destroy(struct io_wq *wq) { int node; --- linux-riscv-5.8-5.8.0.orig/fs/io-wq.h +++ linux-riscv-5.8-5.8.0/fs/io-wq.h @@ -50,6 +50,7 @@ list->last->next = node; list->last = node; } + node->next = NULL; } static inline void wq_list_cut(struct io_wq_work_list *list, @@ -88,6 +89,7 @@ struct files_struct *files; struct mm_struct *mm; const struct cred *creds; + struct nsproxy *nsproxy; struct fs_struct *fs; unsigned flags; }; --- linux-riscv-5.8-5.8.0.orig/fs/io_uring.c +++ linux-riscv-5.8-5.8.0/fs/io_uring.c @@ -78,6 +78,7 @@ #include #include #include +#include #define CREATE_TRACE_POINTS #include @@ -198,6 +199,7 @@ struct list_head file_list; struct fixed_file_data *file_data; struct llist_node llist; + bool done; }; struct fixed_file_data { @@ -214,7 +216,7 @@ struct io_buffer { struct list_head list; __u64 addr; - __s32 len; + __u32 len; __u16 bid; }; @@ -264,7 +266,16 @@ /* IO offload */ struct io_wq *io_wq; struct task_struct *sqo_thread; /* if using sq thread polling */ - struct mm_struct *sqo_mm; + + /* + * For SQPOLL usage - we hold a reference to the parent task, so we + * have access to the ->files + */ + struct task_struct *sqo_task; + + /* Only used for accounting purposes */ + struct mm_struct *mm_account; + wait_queue_head_t sqo_wait; /* @@ -274,8 +285,6 @@ */ struct fixed_file_data *file_data; unsigned nr_user_files; - int ring_fd; - struct file *ring_file; /* if used, fixed mapped user buffers */ unsigned nr_user_bufs; @@ -304,6 +313,7 @@ unsigned cq_entries; unsigned cq_mask; atomic_t cq_timeouts; + unsigned cq_last_tm_flush; unsigned long cq_check_overflow; struct wait_queue_head cq_wait; struct fasync_struct *cq_fasync; @@ -471,7 +481,7 @@ struct io_provide_buf { struct file *file; __u64 addr; - __s32 len; + __u32 len; __u32 bgid; __u16 nbufs; __u16 bid; @@ -541,7 +551,6 @@ REQ_F_NO_FILE_TABLE_BIT, REQ_F_QUEUE_TIMEOUT_BIT, REQ_F_WORK_INITIALIZED_BIT, - REQ_F_TASK_PINNED_BIT, /* not a real bit, just to check we're not overflowing the space */ __REQ_F_LAST_BIT, @@ -599,8 +608,6 @@ REQ_F_QUEUE_TIMEOUT = BIT(REQ_F_QUEUE_TIMEOUT_BIT), /* io_wq_work is initialized */ REQ_F_WORK_INITIALIZED = BIT(REQ_F_WORK_INITIALIZED_BIT), - /* req->task is refcounted */ - REQ_F_TASK_PINNED = BIT(REQ_F_TASK_PINNED_BIT), }; struct async_poll { @@ -669,12 +676,12 @@ * restore the work, if needed. */ struct { - struct callback_head task_work; struct hlist_node hash_node; struct async_poll *apoll; }; struct io_wq_work work; }; + struct callback_head task_work; }; #define IO_PLUG_THRESHOLD 2 @@ -915,21 +922,6 @@ } EXPORT_SYMBOL(io_uring_get_socket); -static void io_get_req_task(struct io_kiocb *req) -{ - if (req->flags & REQ_F_TASK_PINNED) - return; - get_task_struct(req->task); - req->flags |= REQ_F_TASK_PINNED; -} - -/* not idempotent -- it doesn't clear REQ_F_TASK_PINNED */ -static void __io_put_req_task(struct io_kiocb *req) -{ - if (req->flags & REQ_F_TASK_PINNED) - put_task_struct(req->task); -} - static void io_file_put_work(struct work_struct *work); /* @@ -1039,11 +1031,6 @@ /* order cqe stores with ring update */ smp_store_release(&rings->cq.tail, ctx->cached_cq_tail); - - if (wq_has_sleeper(&ctx->cq_wait)) { - wake_up_interruptible(&ctx->cq_wait); - kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN); - } } static inline void io_req_work_grab_env(struct io_kiocb *req, @@ -1099,10 +1086,13 @@ io_req_init_async(req); + 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) io_wq_hash_work(&req->work, file_inode(req->file)); - } else { + } else if (!req->file || !S_ISBLK(file_inode(req->file)->i_mode)) { if (def->unbound_nonreg_file) req->work.flags |= IO_WQ_WORK_UNBOUND; } @@ -1141,14 +1131,34 @@ } } -static void io_kill_timeouts(struct io_ring_ctx *ctx) +static bool io_task_match(struct io_kiocb *req, struct task_struct *tsk) +{ + struct io_ring_ctx *ctx = req->ctx; + + if (!tsk || req->task == tsk) + return true; + if ((ctx->flags & IORING_SETUP_SQPOLL) && req->task == ctx->sqo_thread) + return true; + return false; +} + +/* + * Returns true if we found and killed one or more timeouts + */ +static bool io_kill_timeouts(struct io_ring_ctx *ctx, struct task_struct *tsk) { struct io_kiocb *req, *tmp; + int canceled = 0; spin_lock_irq(&ctx->completion_lock); - list_for_each_entry_safe(req, tmp, &ctx->timeout_list, list) - io_kill_timeout(req); + list_for_each_entry_safe(req, tmp, &ctx->timeout_list, list) { + if (io_task_match(req, tsk)) { + io_kill_timeout(req); + canceled++; + } + } spin_unlock_irq(&ctx->completion_lock); + return canceled != 0; } static void __io_queue_deferred(struct io_ring_ctx *ctx) @@ -1166,19 +1176,38 @@ static void io_flush_timeouts(struct io_ring_ctx *ctx) { - while (!list_empty(&ctx->timeout_list)) { + u32 seq; + + if (list_empty(&ctx->timeout_list)) + return; + + seq = ctx->cached_cq_tail - atomic_read(&ctx->cq_timeouts); + + do { + u32 events_needed, events_got; struct io_kiocb *req = list_first_entry(&ctx->timeout_list, struct io_kiocb, list); if (req->flags & REQ_F_TIMEOUT_NOSEQ) break; - if (req->timeout.target_seq != ctx->cached_cq_tail - - atomic_read(&ctx->cq_timeouts)) + + /* + * 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; list_del_init(&req->list); io_kill_timeout(req); - } + } while (!list_empty(&ctx->timeout_list)); + + ctx->cq_last_tm_flush = seq; } static void io_commit_cqring(struct io_ring_ctx *ctx) @@ -1221,6 +1250,10 @@ static void io_cqring_ev_posted(struct io_ring_ctx *ctx) { + if (wq_has_sleeper(&ctx->cq_wait)) { + wake_up_interruptible(&ctx->cq_wait); + kill_fasync(&ctx->cq_fasync, SIGIO, POLL_IN); + } if (waitqueue_active(&ctx->wait)) wake_up(&ctx->wait); if (waitqueue_active(&ctx->sqo_wait)) @@ -1229,18 +1262,28 @@ eventfd_signal(ctx->cq_ev_fd, 1); } +static inline bool io_match_files(struct io_kiocb *req, + struct files_struct *files) +{ + if (!files) + return true; + if (req->flags & REQ_F_WORK_INITIALIZED) + return req->work.files == files; + return false; +} + /* Returns true if there are no backlogged entries after the flush */ -static bool io_cqring_overflow_flush(struct io_ring_ctx *ctx, bool force) +static bool io_cqring_overflow_flush(struct io_ring_ctx *ctx, bool force, + struct task_struct *tsk, + struct files_struct *files) { struct io_rings *rings = ctx->rings; + struct io_kiocb *req, *tmp; struct io_uring_cqe *cqe; - struct io_kiocb *req; unsigned long flags; LIST_HEAD(list); if (!force) { - if (list_empty_careful(&ctx->cq_overflow_list)) - return true; if ((ctx->cached_cq_tail - READ_ONCE(rings->cq.head) == rings->cq_ring_entries)) return false; @@ -1248,12 +1291,13 @@ spin_lock_irqsave(&ctx->completion_lock, flags); - /* if force is set, the ring is going away. always drop after that */ - if (force) - ctx->cq_overflow_flushed = 1; - cqe = NULL; - while (!list_empty(&ctx->cq_overflow_list)) { + list_for_each_entry_safe(req, tmp, &ctx->cq_overflow_list, list) { + if (tsk && req->task != tsk) + continue; + if (!io_match_files(req, files)) + continue; + cqe = io_get_cqring(ctx); if (!cqe && !force) break; @@ -1307,7 +1351,12 @@ WRITE_ONCE(cqe->user_data, req->user_data); WRITE_ONCE(cqe->res, res); WRITE_ONCE(cqe->flags, cflags); - } else if (ctx->cq_overflow_flushed) { + } else if (ctx->cq_overflow_flushed || req->task->io_uring->in_idle) { + /* + * If we're in ring overflow flush mode, or in task cancel mode, + * then we cannot store the request for later flushing, we need + * to drop it on the floor. + */ WRITE_ONCE(ctx->rings->cq_overflow, atomic_inc_return(&ctx->cached_cq_overflow)); } else { @@ -1412,15 +1461,35 @@ fput(file); } +static void io_req_drop_files(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + unsigned long flags; + + put_files_struct(req->work.files); + put_nsproxy(req->work.nsproxy); + spin_lock_irqsave(&ctx->inflight_lock, flags); + list_del(&req->inflight_entry); + spin_unlock_irqrestore(&ctx->inflight_lock, flags); + req->flags &= ~REQ_F_INFLIGHT; + req->work.files = NULL; + if (waitqueue_active(&ctx->inflight_wait)) + wake_up(&ctx->inflight_wait); +} + static void __io_req_aux_free(struct io_kiocb *req) { + struct io_uring_task *tctx = req->task->io_uring; if (req->flags & REQ_F_NEED_CLEANUP) io_cleanup_req(req); kfree(req->io); if (req->file) io_put_file(req, req->file, (req->flags & REQ_F_FIXED_FILE)); - __io_put_req_task(req); + atomic_long_inc(&tctx->req_complete); + if (tctx->in_idle) + wake_up(&tctx->wait); + put_task_struct(req->task); io_req_work_drop_env(req); } @@ -1428,16 +1497,8 @@ { __io_req_aux_free(req); - if (req->flags & REQ_F_INFLIGHT) { - struct io_ring_ctx *ctx = req->ctx; - unsigned long flags; - - spin_lock_irqsave(&ctx->inflight_lock, flags); - list_del(&req->inflight_entry); - if (waitqueue_active(&ctx->inflight_wait)) - wake_up(&ctx->inflight_wait); - spin_unlock_irqrestore(&ctx->inflight_lock, flags); - } + if (req->flags & REQ_F_INFLIGHT) + io_req_drop_files(req); percpu_ref_put(&req->ctx->refs); if (likely(!io_is_fallback_req(req))) @@ -1549,12 +1610,9 @@ /* * Called if REQ_F_LINK_HEAD is set, and we fail the head request */ -static void io_fail_links(struct io_kiocb *req) +static void __io_fail_links(struct io_kiocb *req) { struct io_ring_ctx *ctx = req->ctx; - unsigned long flags; - - spin_lock_irqsave(&ctx->completion_lock, flags); while (!list_empty(&req->link_list)) { struct io_kiocb *link = list_first_entry(&req->link_list, @@ -1568,13 +1626,29 @@ io_link_cancel_timeout(link); } else { io_cqring_fill_event(link, -ECANCELED); + link->flags |= REQ_F_COMP_LOCKED; __io_double_put_req(link); } req->flags &= ~REQ_F_LINK_TIMEOUT; } io_commit_cqring(ctx); - spin_unlock_irqrestore(&ctx->completion_lock, flags); +} + +static void io_fail_links(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + + if (!(req->flags & REQ_F_COMP_LOCKED)) { + unsigned long flags; + + spin_lock_irqsave(&ctx->completion_lock, flags); + __io_fail_links(req); + spin_unlock_irqrestore(&ctx->completion_lock, flags); + } else { + __io_fail_links(req); + } + io_cqring_ev_posted(ctx); } @@ -1701,10 +1775,10 @@ * we wake up the task, and the next invocation will flush the * entries. We cannot safely to it from here. */ - if (noflush && !list_empty(&ctx->cq_overflow_list)) + if (noflush) return -1U; - io_cqring_overflow_flush(ctx, false); + io_cqring_overflow_flush(ctx, false, NULL, NULL); } /* See comment at the top of this file */ @@ -1725,7 +1799,7 @@ if ((req->flags & REQ_F_LINK_HEAD) || io_is_fallback_req(req)) return false; - if (req->file || req->io) + if (req->file || req->io || req->task) rb->need_iter++; rb->reqs[rb->to_free++] = req; @@ -1747,6 +1821,23 @@ return cflags; } +static inline bool io_run_task_work(void) +{ + /* + * Not safe to run on exiting task, and the task_work handling will + * not add work to such a task. + */ + if (unlikely(current->flags & PF_EXITING)) + return false; + if (current->task_works) { + __set_current_state(TASK_RUNNING); + task_work_run(); + return true; + } + + return false; +} + static void io_iopoll_queue(struct list_head *again) { struct io_kiocb *req; @@ -1786,6 +1877,7 @@ req = list_first_entry(done, struct io_kiocb, list); if (READ_ONCE(req->result) == -EAGAIN) { + req->result = 0; req->iopoll_completed = 0; list_move_tail(&req->list, &again); continue; @@ -1936,6 +2028,7 @@ */ if (!(++iters & 7)) { mutex_unlock(&ctx->uring_lock); + io_run_task_work(); mutex_lock(&ctx->uring_lock); } @@ -2416,9 +2509,7 @@ iov[0].iov_len = kbuf->len; return 0; } - if (!req->rw.len) - return 0; - else if (req->rw.len > 1) + if (req->rw.len != 1) return -EINVAL; #ifdef CONFIG_COMPAT @@ -2492,6 +2583,11 @@ return import_iovec(rw, buf, sqe_len, UIO_FASTIOV, iovec, iter); } +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. @@ -2527,10 +2623,10 @@ if (rw == READ) { nr = file->f_op->read(file, iovec.iov_base, - iovec.iov_len, &kiocb->ki_pos); + iovec.iov_len, io_kiocb_ppos(kiocb)); } else { nr = file->f_op->write(file, iovec.iov_base, - iovec.iov_len, &kiocb->ki_pos); + iovec.iov_len, io_kiocb_ppos(kiocb)); } if (iov_iter_is_bvec(iter)) @@ -2655,17 +2751,26 @@ goto copy_iov; iov_count = iov_iter_count(&iter); - ret = rw_verify_area(READ, req->file, &kiocb->ki_pos, iov_count); + ret = rw_verify_area(READ, req->file, io_kiocb_ppos(kiocb), iov_count); if (!ret) { ssize_t ret2; if (req->file->f_op->read_iter) ret2 = call_read_iter(req->file, kiocb, &iter); - else + else if (req->file->f_op->read) ret2 = loop_rw_iter(READ, req->file, kiocb, &iter); + else + ret2 = -EINVAL; + + /* no retry on NONBLOCK marked file */ + if (ret2 == -EAGAIN && (req->file->f_flags & O_NONBLOCK)) { + ret = 0; + goto done; + } /* Catch -EAGAIN return for forced non-blocking submission */ if (!force_nonblock || ret2 != -EAGAIN) { + done: kiocb_done(kiocb, ret2); } else { copy_iov: @@ -2752,7 +2857,7 @@ goto copy_iov; iov_count = iov_iter_count(&iter); - ret = rw_verify_area(WRITE, req->file, &kiocb->ki_pos, iov_count); + ret = rw_verify_area(WRITE, req->file, io_kiocb_ppos(kiocb), iov_count); if (!ret) { ssize_t ret2; @@ -2776,8 +2881,10 @@ if (req->file->f_op->write_iter) ret2 = call_write_iter(req->file, kiocb, &iter); - else + else if (req->file->f_op->write) ret2 = loop_rw_iter(WRITE, req->file, kiocb, &iter); + else + ret2 = -EINVAL; if (!force_nonblock) current->signal->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; @@ -2788,7 +2895,13 @@ */ if (ret2 == -EOPNOTSUPP && (kiocb->ki_flags & IOCB_NOWAIT)) ret2 = -EAGAIN; + /* no retry on NONBLOCK marked file */ + if (ret2 == -EAGAIN && (req->file->f_flags & O_NONBLOCK)) { + ret = 0; + goto done; + } if (!force_nonblock || ret2 != -EAGAIN) { +done: kiocb_done(kiocb, ret2); } else { copy_iov: @@ -3008,8 +3121,6 @@ const char __user *fname; int ret; - if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL|IORING_SETUP_SQPOLL))) - return -EINVAL; if (unlikely(sqe->ioprio || sqe->buf_index)) return -EINVAL; if (unlikely(req->flags & REQ_F_FIXED_FILE)) @@ -3036,6 +3147,8 @@ { u64 flags, mode; + if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL|IORING_SETUP_SQPOLL))) + return -EINVAL; if (req->flags & REQ_F_NEED_CLEANUP) return 0; mode = READ_ONCE(sqe->len); @@ -3050,6 +3163,8 @@ size_t len; int ret; + if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL|IORING_SETUP_SQPOLL))) + return -EINVAL; if (req->flags & REQ_F_NEED_CLEANUP) return 0; how = u64_to_user_ptr(READ_ONCE(sqe->addr2)); @@ -3177,6 +3292,7 @@ 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; @@ -3190,7 +3306,14 @@ p->addr = READ_ONCE(sqe->addr); p->len = READ_ONCE(sqe->len); - if (!access_ok(u64_to_user_ptr(p->addr), (p->len * p->nbufs))) + 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); @@ -3213,7 +3336,7 @@ break; buf->addr = addr; - buf->len = pbuf->len; + buf->len = min_t(__u32, pbuf->len, MAX_RW_COUNT); buf->bid = bid; addr += pbuf->len; bid++; @@ -3268,7 +3391,7 @@ #if defined(CONFIG_EPOLL) if (sqe->ioprio || sqe->buf_index) return -EINVAL; - if (unlikely(req->ctx->flags & IORING_SETUP_IOPOLL)) + if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL | IORING_SETUP_SQPOLL))) return -EINVAL; req->epoll.epfd = READ_ONCE(sqe->fd); @@ -3385,7 +3508,7 @@ static int io_statx_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) { - if (unlikely(req->ctx->flags & IORING_SETUP_IOPOLL)) + if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL | IORING_SETUP_SQPOLL))) return -EINVAL; if (sqe->ioprio || sqe->buf_index) return -EINVAL; @@ -3431,7 +3554,6 @@ * io_wq_work.flags, so initialize io_wq_work firstly. */ io_req_init_async(req); - req->work.flags |= IO_WQ_WORK_NO_CANCEL; if (unlikely(req->ctx->flags & (IORING_SETUP_IOPOLL|IORING_SETUP_SQPOLL))) return -EINVAL; @@ -3442,8 +3564,7 @@ return -EBADF; req->close.fd = READ_ONCE(sqe->fd); - if ((req->file && req->file->f_op == &io_uring_fops) || - req->close.fd == req->ctx->ring_fd) + if ((req->file && req->file->f_op == &io_uring_fops)) return -EBADF; req->close.put_file = NULL; @@ -3464,6 +3585,8 @@ /* if the file has a flush method, be safe and punt to async */ if (close->put_file->f_op->flush && force_nonblock) { + /* not safe to cancel at this point */ + req->work.flags |= IO_WQ_WORK_NO_CANCEL; /* avoid grabbing files - we don't need the files */ req->flags |= REQ_F_NO_FILE_TABLE | REQ_F_MUST_PUNT; return -EAGAIN; @@ -3721,7 +3844,8 @@ return -EFAULT; if (clen < 0) return -EINVAL; - sr->len = io->msg.iov[0].iov_len; + sr->len = clen; + io->msg.iov[0].iov_len = clen; io->msg.iov = NULL; } else { ret = compat_import_iovec(READ, uiov, len, UIO_FASTIOV, @@ -4084,26 +4208,28 @@ int error; }; -static int io_req_task_work_add(struct io_kiocb *req, struct callback_head *cb) +static int io_req_task_work_add(struct io_kiocb *req, struct callback_head *cb, + bool twa_signal_ok) { struct task_struct *tsk = req->task; struct io_ring_ctx *ctx = req->ctx; - int ret, notify = TWA_RESUME; + enum task_work_notify_mode notify; + int ret; /* - * SQPOLL kernel thread doesn't need notification, just a wakeup. - * If we're not using an eventfd, then TWA_RESUME is always fine, - * as we won't have dependencies between request completions for - * other kernel wait conditions. + * SQPOLL kernel thread doesn't need notification, just a wakeup. For + * all other cases, use TWA_SIGNAL unconditionally to ensure we're + * processing task_work. There's no reliable way to tell if TWA_RESUME + * will do the job. */ - if (ctx->flags & IORING_SETUP_SQPOLL) - notify = 0; - else if (ctx->cq_ev_fd) + notify = TWA_NONE; + if (!(ctx->flags & IORING_SETUP_SQPOLL) && twa_signal_ok) notify = TWA_SIGNAL; ret = task_work_add(tsk, cb, notify); if (!ret) wake_up_process(tsk); + return ret; } @@ -4111,6 +4237,7 @@ __poll_t mask, task_work_func_t func) { struct task_struct *tsk; + bool twa_signal_ok; int ret; /* for instances that support it check for an event match first: */ @@ -4124,17 +4251,27 @@ tsk = req->task; req->result = mask; init_task_work(&req->task_work, func); + percpu_ref_get(&req->ctx->refs); + + /* + * If we using the signalfd wait_queue_head for this wakeup, then + * it's not safe to use TWA_SIGNAL as we could be recursing on the + * tsk->sighand->siglock on doing the wakeup. Should not be needed + * either, as the normal wakeup will suffice. + */ + twa_signal_ok = (poll->head != &req->task->sighand->signalfd_wqh); + /* * If this fails, then the task is exiting. When a task exits, the * work gets canceled, so just cancel this request as well instead * of executing it. We can't safely execute it anyway, as we may not * have the needed state needed for it anyway. */ - ret = io_req_task_work_add(req, &req->task_work); + ret = io_req_task_work_add(req, &req->task_work, twa_signal_ok); if (unlikely(ret)) { WRITE_ONCE(poll->canceled, true); tsk = io_wq_get_task(req->ctx->io_wq); - task_work_add(tsk, &req->task_work, 0); + task_work_add(tsk, &req->task_work, TWA_NONE); wake_up_process(tsk); } return 1; @@ -4160,9 +4297,24 @@ return false; } -static void io_poll_remove_double(struct io_kiocb *req, void *data) +static struct io_poll_iocb *io_poll_get_double(struct io_kiocb *req) +{ + /* pure poll stashes this in ->io, poll driven retry elsewhere */ + if (req->opcode == IORING_OP_POLL_ADD) + return (struct io_poll_iocb *) req->io; + 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_remove_double(struct io_kiocb *req) { - struct io_poll_iocb *poll = data; + struct io_poll_iocb *poll = io_poll_get_double(req); lockdep_assert_held(&req->ctx->completion_lock); @@ -4182,7 +4334,7 @@ { struct io_ring_ctx *ctx = req->ctx; - io_poll_remove_double(req, req->io); + io_poll_remove_double(req); req->poll.done = true; io_cqring_fill_event(req, error ? error : mangle_poll(mask)); io_commit_cqring(ctx); @@ -4208,6 +4360,7 @@ static void io_poll_task_func(struct callback_head *cb) { struct io_kiocb *req = container_of(cb, struct io_kiocb, task_work); + struct io_ring_ctx *ctx = req->ctx; struct io_kiocb *nxt = NULL; io_poll_task_handler(req, &nxt); @@ -4218,19 +4371,22 @@ __io_queue_sqe(nxt, NULL); mutex_unlock(&ctx->uring_lock); } + percpu_ref_put(&ctx->refs); } static int io_poll_double_wake(struct wait_queue_entry *wait, unsigned mode, int sync, void *key) { struct io_kiocb *req = wait->private; - struct io_poll_iocb *poll = req->apoll->double_poll; + struct io_poll_iocb *poll = io_poll_get_single(req); __poll_t mask = key_to_poll(key); /* for instances that support it check for an event match first: */ if (mask && !(mask & poll->events)) return 0; + list_del_init(&wait->entry); + if (poll && poll->head) { bool done; @@ -4238,9 +4394,13 @@ done = list_empty(&poll->wait.entry); if (!done) list_del_init(&poll->wait.entry); + /* make sure double remove sees this as being gone */ + wait->private = NULL; spin_unlock(&poll->head->lock); - if (!done) - __io_async_wake(req, poll, mask, io_poll_task_func); + if (!done) { + /* use wait func handler, so it matches the rq type */ + poll->wait.func(&poll->wait, mode, sync, key); + } } refcount_dec(&req->refs); return 1; @@ -4274,6 +4434,9 @@ pt->error = -EINVAL; return; } + /* double add on the same waitqueue head, ignore */ + if (poll->head == head) + return; poll = kmalloc(sizeof(*poll), GFP_ATOMIC); if (!poll) { pt->error = -ENOMEM; @@ -4313,9 +4476,11 @@ struct io_kiocb *req) { if (io_op_defs[req->opcode].needs_mm && !current->mm) { - if (unlikely(!mmget_not_zero(ctx->sqo_mm))) + if (unlikely(!(ctx->flags & IORING_SETUP_SQPOLL) || + !ctx->sqo_task->mm || + !mmget_not_zero(ctx->sqo_task->mm))) return -EFAULT; - kthread_use_mm(ctx->sqo_mm); + kthread_use_mm(ctx->sqo_task->mm); } return 0; @@ -4332,6 +4497,7 @@ if (io_poll_rewait(req, &apoll->poll)) { spin_unlock_irq(&ctx->completion_lock); + percpu_ref_put(&ctx->refs); return; } @@ -4346,7 +4512,7 @@ } } - io_poll_remove_double(req, apoll->double_poll); + io_poll_remove_double(req); spin_unlock_irq(&ctx->completion_lock); /* restore ->work in case we need to retry again */ @@ -4356,7 +4522,6 @@ kfree(apoll); if (!canceled) { - __set_current_state(TASK_RUNNING); if (io_sq_thread_acquire_mm(ctx, req)) { io_cqring_add_event(req, -EFAULT); goto end_req; @@ -4370,6 +4535,7 @@ req_set_fail_links(req); io_double_put_req(req); } + percpu_ref_put(&ctx->refs); } static int io_async_wake(struct wait_queue_entry *wait, unsigned mode, int sync, @@ -4440,12 +4606,20 @@ struct async_poll *apoll; struct io_poll_table ipt; __poll_t mask, ret; + int rw; if (!req->file || !file_can_poll(req->file)) return false; if (req->flags & (REQ_F_MUST_PUNT | REQ_F_POLLED)) return false; - if (!def->pollin && !def->pollout) + if (def->pollin) + rw = READ; + else if (def->pollout) + rw = WRITE; + else + return false; + /* if we can't nonblock try, then no point in arming a poll handler */ + if (!io_file_supports_async(req->file, rw)) return false; apoll = kmalloc(sizeof(*apoll), GFP_ATOMIC); @@ -4457,7 +4631,6 @@ if (req->flags & REQ_F_WORK_INITIALIZED) memcpy(&apoll->work, &req->work, sizeof(req->work)); - io_get_req_task(req); req->apoll = apoll; INIT_HLIST_NODE(&req->hash_node); @@ -4472,8 +4645,8 @@ ret = __io_arm_poll_handler(req, &apoll->poll, &ipt, mask, io_async_wake); - if (ret) { - io_poll_remove_double(req, apoll->double_poll); + if (ret || ipt.error) { + io_poll_remove_double(req); spin_unlock_irq(&ctx->completion_lock); if (req->flags & REQ_F_WORK_INITIALIZED) memcpy(&req->work, &apoll->work, sizeof(req->work)); @@ -4507,14 +4680,13 @@ { bool do_complete; + io_poll_remove_double(req); + if (req->opcode == IORING_OP_POLL_ADD) { - io_poll_remove_double(req, req->io); do_complete = __io_poll_remove_one(req, &req->poll); } else { struct async_poll *apoll = req->apoll; - io_poll_remove_double(req, apoll->double_poll); - /* non-poll requests have submit ref still */ do_complete = __io_poll_remove_one(req, &apoll->poll); if (do_complete) { @@ -4536,13 +4708,17 @@ io_cqring_fill_event(req, -ECANCELED); io_commit_cqring(req->ctx); req->flags |= REQ_F_COMP_LOCKED; + req_set_fail_links(req); io_put_req(req); } return do_complete; } -static void io_poll_remove_all(struct io_ring_ctx *ctx) +/* + * Returns true if we found and killed one or more poll requests + */ +static bool io_poll_remove_all(struct io_ring_ctx *ctx, struct task_struct *tsk) { struct hlist_node *tmp; struct io_kiocb *req; @@ -4553,13 +4729,17 @@ struct hlist_head *list; list = &ctx->cancel_hash[i]; - hlist_for_each_entry_safe(req, tmp, list, hash_node) - posted += io_poll_remove_one(req); + hlist_for_each_entry_safe(req, tmp, list, hash_node) { + if (io_task_match(req, tsk)) + posted += io_poll_remove_one(req); + } } spin_unlock_irq(&ctx->completion_lock); if (posted) io_cqring_ev_posted(ctx); + + return posted != 0; } static int io_poll_cancel(struct io_ring_ctx *ctx, __u64 sqe_addr) @@ -4645,8 +4825,6 @@ events = READ_ONCE(sqe->poll_events); poll->events = demangle_poll(events) | EPOLLERR | EPOLLHUP; - - io_get_req_task(req); return 0; } @@ -4709,6 +4887,23 @@ return HRTIMER_NORESTART; } +static int __io_timeout_cancel(struct io_kiocb *req) +{ + int ret; + + list_del_init(&req->list); + + ret = hrtimer_try_to_cancel(&req->io->timeout.timer); + if (ret == -1) + return -EALREADY; + + req_set_fail_links(req); + req->flags |= REQ_F_COMP_LOCKED; + io_cqring_fill_event(req, -ECANCELED); + io_put_req(req); + return 0; +} + static int io_timeout_cancel(struct io_ring_ctx *ctx, __u64 user_data) { struct io_kiocb *req; @@ -4716,7 +4911,6 @@ list_for_each_entry(req, &ctx->timeout_list, list) { if (user_data == req->user_data) { - list_del_init(&req->list); ret = 0; break; } @@ -4725,14 +4919,7 @@ if (ret == -ENOENT) return ret; - ret = hrtimer_try_to_cancel(&req->io->timeout.timer); - if (ret == -1) - return -EALREADY; - - req_set_fail_links(req); - io_cqring_fill_event(req, -ECANCELED); - io_put_req(req); - return 0; + return __io_timeout_cancel(req); } static int io_timeout_remove_prep(struct io_kiocb *req, @@ -4835,6 +5022,12 @@ 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. @@ -4940,6 +5133,8 @@ static int io_files_update_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) { + if (unlikely(req->ctx->flags & IORING_SETUP_SQPOLL)) + return -EINVAL; if (unlikely(req->flags & (REQ_F_FIXED_FILE | REQ_F_BUFFER_SELECT))) return -EINVAL; if (sqe->ioprio || sqe->rw_flags) @@ -5154,6 +5349,8 @@ break; case IORING_OP_OPENAT: case IORING_OP_OPENAT2: + if (req->open.filename) + putname(req->open.filename); break; case IORING_OP_SPLICE: case IORING_OP_TEE: @@ -5520,32 +5717,20 @@ static int io_grab_files(struct io_kiocb *req) { - int ret = -EBADF; struct io_ring_ctx *ctx = req->ctx; if (req->work.files || (req->flags & REQ_F_NO_FILE_TABLE)) return 0; - if (!ctx->ring_file) - return -EBADF; - rcu_read_lock(); + req->work.files = get_files_struct(current); + get_nsproxy(current->nsproxy); + req->work.nsproxy = current->nsproxy; + req->flags |= REQ_F_INFLIGHT; + spin_lock_irq(&ctx->inflight_lock); - /* - * We use the f_ops->flush() handler to ensure that we can flush - * out work accessing these files if the fd is closed. Check if - * the fd has changed since we started down this path, and disallow - * this operation if it has. - */ - if (fcheck(ctx->ring_fd) == ctx->ring_file) { - list_add(&req->inflight_entry, &ctx->inflight_list); - req->flags |= REQ_F_INFLIGHT; - req->work.files = current->files; - ret = 0; - } + list_add(&req->inflight_entry, &ctx->inflight_list); spin_unlock_irq(&ctx->inflight_lock); - rcu_read_unlock(); - - return ret; + return 0; } static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer) @@ -5576,7 +5761,6 @@ spin_unlock_irqrestore(&ctx->completion_lock, flags); if (prev) { - req_set_fail_links(prev); io_async_find_and_cancel(ctx, req, prev->user_data, -ETIME); io_put_req(prev); } else { @@ -5728,13 +5912,6 @@ if (unlikely(ret < 0)) goto fail_req; } - - /* - * Never try inline submit of IOSQE_ASYNC is set, go straight - * to async execution. - */ - io_req_init_async(req); - req->work.flags |= IO_WQ_WORK_CONCURRENT; io_queue_async_work(req); } else { __io_queue_sqe(req, sqe); @@ -5915,6 +6092,8 @@ /* one is dropped after submission, the other at completion */ refcount_set(&req->refs, 2); req->task = current; + get_task_struct(req->task); + atomic_long_inc(&req->task->io_uring->req_issue); req->result = 0; if (unlikely(req->opcode >= IORING_OP_LAST)) @@ -5950,8 +6129,7 @@ return io_req_set_file(state, req, READ_ONCE(sqe->fd)); } -static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, - struct file *ring_file, int ring_fd) +static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr) { struct io_submit_state state, *statep = NULL; struct io_kiocb *link = NULL; @@ -5959,8 +6137,7 @@ /* if we have a backlog and couldn't flush it all, return BUSY */ if (test_bit(0, &ctx->sq_check_overflow)) { - if (!list_empty(&ctx->cq_overflow_list) && - !io_cqring_overflow_flush(ctx, false)) + if (!io_cqring_overflow_flush(ctx, false, NULL, NULL)) return -EBUSY; } @@ -5975,9 +6152,6 @@ statep = &state; } - ctx->ring_fd = ring_fd; - ctx->ring_file = ring_file; - for (i = 0; i < nr; i++) { const struct io_uring_sqe *sqe; struct io_kiocb *req; @@ -6082,8 +6256,7 @@ if (!list_empty(&ctx->poll_list) || need_resched() || (!time_after(jiffies, timeout) && ret != -EBUSY && !percpu_ref_is_dying(&ctx->refs))) { - if (current->task_works) - task_work_run(); + io_run_task_work(); cond_resched(); continue; } @@ -6115,8 +6288,7 @@ finish_wait(&ctx->sqo_wait, &wait); break; } - if (current->task_works) { - task_work_run(); + if (io_run_task_work()) { finish_wait(&ctx->sqo_wait, &wait); continue; } @@ -6140,13 +6312,12 @@ mutex_lock(&ctx->uring_lock); if (likely(!percpu_ref_is_dying(&ctx->refs))) - ret = io_submit_sqes(ctx, to_submit, NULL, -1); + ret = io_submit_sqes(ctx, to_submit); mutex_unlock(&ctx->uring_lock); timeout = jiffies + ctx->sq_thread_idle; } - if (current->task_works) - task_work_run(); + io_run_task_work(); io_sq_thread_drop_mm(ctx); revert_creds(old_cred); @@ -6211,9 +6382,8 @@ do { if (io_cqring_events(ctx, false) >= min_events) return 0; - if (!current->task_works) + if (!io_run_task_work()) break; - task_work_run(); } while (1); if (sig) { @@ -6235,8 +6405,8 @@ prepare_to_wait_exclusive(&ctx->wait, &iowq.wq, TASK_INTERRUPTIBLE); /* make sure we run task_work before checking for signals */ - if (current->task_works) - task_work_run(); + if (io_run_task_work()) + continue; if (signal_pending(current)) { if (current->jobctl & JOBCTL_TASK_WORK) { spin_lock_irq(¤t->sighand->siglock); @@ -6300,9 +6470,8 @@ return -ENXIO; spin_lock(&data->lock); - if (!list_empty(&data->ref_list)) - ref_node = list_first_entry(&data->ref_list, - struct fixed_file_ref_node, node); + ref_node = container_of(data->cur_refs, struct fixed_file_ref_node, + refs); spin_unlock(&data->lock); if (ref_node) percpu_ref_kill(&ref_node->refs); @@ -6553,10 +6722,6 @@ kfree(pfile); } - spin_lock(&file_data->lock); - list_del(&ref_node->node); - spin_unlock(&file_data->lock); - percpu_ref_exit(&ref_node->refs); kfree(ref_node); percpu_ref_put(&file_data->refs); @@ -6583,17 +6748,33 @@ static void io_file_data_ref_zero(struct percpu_ref *ref) { struct fixed_file_ref_node *ref_node; + struct fixed_file_data *data; struct io_ring_ctx *ctx; - bool first_add; + bool first_add = false; int delay = HZ; ref_node = container_of(ref, struct fixed_file_ref_node, refs); - ctx = ref_node->file_data->ctx; + data = ref_node->file_data; + ctx = data->ctx; - if (percpu_ref_is_dying(&ctx->file_data->refs)) + spin_lock(&data->lock); + ref_node->done = true; + + while (!list_empty(&data->ref_list)) { + ref_node = list_first_entry(&data->ref_list, + struct fixed_file_ref_node, node); + /* recycle ref nodes in order */ + if (!ref_node->done) + break; + list_del(&ref_node->node); + first_add |= llist_add(&ref_node->llist, &ctx->file_put_llist); + } + spin_unlock(&data->lock); + + + if (percpu_ref_is_dying(&data->refs)) delay = 0; - first_add = llist_add(&ref_node->llist, &ctx->file_put_llist); if (!delay) mod_delayed_work(system_wq, &ctx->file_put_work, 0); else if (first_add) @@ -6617,6 +6798,7 @@ INIT_LIST_HEAD(&ref_node->node); INIT_LIST_HEAD(&ref_node->file_list); ref_node->file_data = ctx->file_data; + ref_node->done = false; return ref_node; } @@ -6744,7 +6926,7 @@ ctx->file_data->cur_refs = &ref_node->refs; spin_lock(&ctx->file_data->lock); - list_add(&ref_node->node, &ctx->file_data->ref_list); + list_add_tail(&ref_node->node, &ctx->file_data->ref_list); spin_unlock(&ctx->file_data->lock); percpu_ref_get(&ctx->file_data->refs); return ret; @@ -6847,7 +7029,7 @@ table = &ctx->file_data->table[i >> IORING_FILE_TABLE_SHIFT]; index = i & IORING_FILE_TABLE_MASK; if (table->files[index]) { - file = io_file_from_index(ctx, index); + file = table->files[index]; err = io_queue_file_removal(data, file); if (err) break; @@ -6876,6 +7058,7 @@ table->files[index] = file; err = io_sqe_file_register(ctx, file, i); if (err) { + table->files[index] = NULL; fput(file); break; } @@ -6888,7 +7071,7 @@ if (needs_switch) { percpu_ref_kill(data->cur_refs); spin_lock(&data->lock); - list_add(&ref_node->node, &data->ref_list); + list_add_tail(&ref_node->node, &data->ref_list); data->cur_refs = &ref_node->refs; spin_unlock(&data->lock); percpu_ref_get(&ctx->file_data->refs); @@ -6970,14 +7153,38 @@ return ret; } +static int io_uring_alloc_task_context(struct task_struct *task) +{ + struct io_uring_task *tctx; + + tctx = kmalloc(sizeof(*tctx), GFP_KERNEL); + if (unlikely(!tctx)) + return -ENOMEM; + + xa_init(&tctx->xa); + init_waitqueue_head(&tctx->wait); + tctx->last = NULL; + tctx->in_idle = 0; + atomic_long_set(&tctx->req_issue, 0); + atomic_long_set(&tctx->req_complete, 0); + task->io_uring = tctx; + 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)); + kfree(tctx); + tsk->io_uring = NULL; +} + static int io_sq_offload_start(struct io_ring_ctx *ctx, struct io_uring_params *p) { int ret; - mmgrab(current->mm); - ctx->sqo_mm = current->mm; - if (ctx->flags & IORING_SETUP_SQPOLL) { ret = -EPERM; if (!capable(CAP_SYS_ADMIN)) @@ -7008,6 +7215,9 @@ ctx->sqo_thread = NULL; goto err; } + ret = io_uring_alloc_task_context(ctx->sqo_thread); + if (ret) + goto err; wake_up_process(ctx->sqo_thread); } else if (p->flags & IORING_SETUP_SQ_AFF) { /* Can't have SQ_AFF without SQPOLL */ @@ -7022,8 +7232,6 @@ return 0; err: io_finish_async(ctx); - mmdrop(ctx->sqo_mm); - ctx->sqo_mm = NULL; return ret; } @@ -7086,6 +7294,9 @@ 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; @@ -7093,9 +7304,6 @@ if (check_add_overflow(off, sq_array_size, &off)) return SIZE_MAX; - if (sq_offset) - *sq_offset = off; - return off; } @@ -7353,8 +7561,12 @@ static void io_ring_ctx_free(struct io_ring_ctx *ctx) { io_finish_async(ctx); - if (ctx->sqo_mm) - mmdrop(ctx->sqo_mm); + if (ctx->sqo_task) { + put_task_struct(ctx->sqo_task); + ctx->sqo_task = NULL; + mmdrop(ctx->mm_account); + ctx->mm_account = NULL; + } io_iopoll_reap_events(ctx); io_sqe_buffer_unregister(ctx); @@ -7425,7 +7637,7 @@ ctx = container_of(work, struct io_ring_ctx, exit_work); if (ctx->rings) - io_cqring_overflow_flush(ctx, true); + io_cqring_overflow_flush(ctx, true, NULL, NULL); /* * If we're doing polled IO and end up having requests being @@ -7436,27 +7648,36 @@ while (!wait_for_completion_timeout(&ctx->ref_comp, HZ/20)) { io_iopoll_reap_events(ctx); if (ctx->rings) - io_cqring_overflow_flush(ctx, true); + io_cqring_overflow_flush(ctx, true, NULL, NULL); } io_ring_ctx_free(ctx); } +static 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 void io_ring_ctx_wait_and_kill(struct io_ring_ctx *ctx) { mutex_lock(&ctx->uring_lock); percpu_ref_kill(&ctx->refs); + /* if force is set, the ring is going away. always drop after that */ + ctx->cq_overflow_flushed = 1; mutex_unlock(&ctx->uring_lock); - io_kill_timeouts(ctx); - io_poll_remove_all(ctx); + io_kill_timeouts(ctx, NULL); + io_poll_remove_all(ctx, NULL); if (ctx->io_wq) - io_wq_cancel_all(ctx->io_wq); + io_wq_cancel_cb(ctx->io_wq, io_cancel_ctx_cb, ctx, true); io_iopoll_reap_events(ctx); /* if we failed setting up the ctx, we might not have any rings */ if (ctx->rings) - io_cqring_overflow_flush(ctx, true); + io_cqring_overflow_flush(ctx, true, NULL, NULL); idr_for_each(&ctx->personality_idr, io_remove_personalities, ctx); /* @@ -7485,15 +7706,165 @@ { struct files_struct *files = data; - return work->files == files; + return !files || work->files == files; +} + +/* + * Returns true if 'preq' is the link parent of 'req' + */ +static bool io_match_link(struct io_kiocb *preq, struct io_kiocb *req) +{ + struct io_kiocb *link; + + if (!(preq->flags & REQ_F_LINK_HEAD)) + return false; + + list_for_each_entry(link, &preq->link_list, link_list) { + if (link == req) + return true; + } + + return false; +} + +static bool io_match_link_files(struct io_kiocb *req, + struct files_struct *files) +{ + struct io_kiocb *link; + + if (io_match_files(req, files)) + return true; + if (req->flags & REQ_F_LINK_HEAD) { + list_for_each_entry(link, &req->link_list, link_list) { + if (io_match_files(link, files)) + return true; + } + } + return false; +} + +/* + * We're looking to cancel 'req' because it's holding on to our files, but + * 'req' could be a link to another request. See if it is, and cancel that + * parent request if so. + */ +static bool io_poll_remove_link(struct io_ring_ctx *ctx, struct io_kiocb *req) +{ + struct hlist_node *tmp; + struct io_kiocb *preq; + bool found = false; + int i; + + spin_lock_irq(&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(preq, tmp, list, hash_node) { + found = io_match_link(preq, req); + if (found) { + io_poll_remove_one(preq); + break; + } + } + } + spin_unlock_irq(&ctx->completion_lock); + return found; +} + +static bool io_timeout_remove_link(struct io_ring_ctx *ctx, + struct io_kiocb *req) +{ + struct io_kiocb *preq; + bool found = false; + + spin_lock_irq(&ctx->completion_lock); + list_for_each_entry(preq, &ctx->timeout_list, list) { + found = io_match_link(preq, req); + if (found) { + __io_timeout_cancel(preq); + break; + } + } + spin_unlock_irq(&ctx->completion_lock); + return found; +} + +static bool io_cancel_link_cb(struct io_wq_work *work, void *data) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + bool ret; + + if (req->flags & REQ_F_LINK_TIMEOUT) { + unsigned long flags; + struct io_ring_ctx *ctx = req->ctx; + + /* protect against races with linked timeouts */ + spin_lock_irqsave(&ctx->completion_lock, flags); + ret = io_match_link(req, data); + spin_unlock_irqrestore(&ctx->completion_lock, flags); + } else { + ret = io_match_link(req, data); + } + return ret; +} + +static void io_attempt_cancel(struct io_ring_ctx *ctx, struct io_kiocb *req) +{ + enum io_wq_cancel cret; + + /* cancel this particular work, if it's running */ + cret = io_wq_cancel_work(ctx->io_wq, &req->work); + if (cret != IO_WQ_CANCEL_NOTFOUND) + return; + + /* find links that hold this pending, cancel those */ + cret = io_wq_cancel_cb(ctx->io_wq, io_cancel_link_cb, req, true); + if (cret != IO_WQ_CANCEL_NOTFOUND) + return; + + /* if we have a poll link holding this pending, cancel that */ + if (io_poll_remove_link(ctx, req)) + return; + + /* final option, timeout link is holding this req pending */ + io_timeout_remove_link(ctx, req); } -static void io_uring_cancel_files(struct io_ring_ctx *ctx, +static void io_cancel_defer_files(struct io_ring_ctx *ctx, + struct files_struct *files) +{ + struct io_kiocb *req = NULL; + LIST_HEAD(list); + + spin_lock_irq(&ctx->completion_lock); + list_for_each_entry_reverse(req, &ctx->defer_list, list) { + if (io_match_link_files(req, files)) { + list_cut_position(&list, &ctx->defer_list, &req->list); + break; + } + } + spin_unlock_irq(&ctx->completion_lock); + + while (!list_empty(&list)) { + req = list_first_entry(&list, struct io_kiocb, list); + list_del_init(&req->list); + req_set_fail_links(req); + io_cqring_add_event(req, -ECANCELED); + io_double_put_req(req); + } +} + +/* + * Returns true if we found and killed one or more files pinning requests + */ +static bool io_uring_cancel_files(struct io_ring_ctx *ctx, struct files_struct *files) { if (list_empty_careful(&ctx->inflight_list)) - return; + return false; + io_cancel_defer_files(ctx, files); /* cancel all at once, should be faster than doing it one by one*/ io_wq_cancel_cb(ctx->io_wq, io_wq_files_match, files, true); @@ -7503,7 +7874,7 @@ spin_lock_irq(&ctx->inflight_lock); list_for_each_entry(req, &ctx->inflight_list, inflight_entry) { - if (req->work.files != files) + if (files && req->work.files != files) continue; /* req is being completed, ignore */ if (!refcount_inc_not_zero(&req->refs)) @@ -7529,10 +7900,10 @@ clear_bit(0, &ctx->cq_check_overflow); ctx->rings->sq_flags &= ~IORING_SQ_CQ_OVERFLOW; } - spin_unlock_irq(&ctx->completion_lock); - WRITE_ONCE(ctx->rings->cq_overflow, atomic_inc_return(&ctx->cached_cq_overflow)); + io_commit_cqring(ctx); + spin_unlock_irq(&ctx->completion_lock); /* * Put inflight ref and overflow ref. If that's @@ -7544,13 +7915,18 @@ continue; } } else { - io_wq_cancel_work(ctx->io_wq, &cancel_req->work); + /* cancel this request, or head link requests */ + io_attempt_cancel(ctx, cancel_req); io_put_req(cancel_req); } + /* cancellations _may_ trigger task work */ + io_run_task_work(); schedule(); finish_wait(&ctx->inflight_wait, &wait); } + + return true; } static bool io_cancel_task_cb(struct io_wq_work *work, void *data) @@ -7558,21 +7934,202 @@ struct io_kiocb *req = container_of(work, struct io_kiocb, work); struct task_struct *task = data; - return req->task == task; + return io_task_match(req, task); +} + +static bool __io_uring_cancel_task_requests(struct io_ring_ctx *ctx, + struct task_struct *task, + struct files_struct *files) +{ + bool ret; + + ret = io_uring_cancel_files(ctx, files); + if (!files) { + enum io_wq_cancel cret; + + cret = io_wq_cancel_cb(ctx->io_wq, io_cancel_task_cb, task, true); + if (cret != IO_WQ_CANCEL_NOTFOUND) + ret = true; + + /* SQPOLL thread does its own polling */ + if (!(ctx->flags & IORING_SETUP_SQPOLL)) { + if (!list_empty_careful(&ctx->poll_list)) { + io_iopoll_reap_events(ctx); + ret = true; + } + } + + ret |= io_poll_remove_all(ctx, task); + ret |= io_kill_timeouts(ctx, task); + } + + return ret; +} + +/* + * We need to iteratively cancel requests, in case a request has dependent + * hard links. These persist even for failure of cancelations, hence keep + * looping until none are found. + */ +static void io_uring_cancel_task_requests(struct io_ring_ctx *ctx, + struct files_struct *files) +{ + struct task_struct *task = current; + + if (ctx->flags & IORING_SETUP_SQPOLL) + task = ctx->sqo_thread; + + io_cqring_overflow_flush(ctx, true, task, files); + + while (__io_uring_cancel_task_requests(ctx, task, files)) { + io_run_task_work(); + cond_resched(); + } +} + +/* + * Note that this task has used io_uring. We use it for cancelation purposes. + */ +static int io_uring_add_task_file(struct file *file) +{ + struct io_uring_task *tctx = current->io_uring; + int ret; + + if (unlikely(!tctx)) { + ret = io_uring_alloc_task_context(current); + if (unlikely(ret)) + return ret; + tctx = current->io_uring; + } + if (tctx->last != file) { + void *old = xa_load(&tctx->xa, (unsigned long)file); + + if (!old) { + get_file(file); + ret = xa_err(xa_store(&tctx->xa, (unsigned long)file, + file, GFP_KERNEL)); + if (ret) { + fput(file); + return ret; + } + } + tctx->last = file; + } + + return 0; +} + +/* + * Remove this io_uring_file -> task mapping. + */ +static void io_uring_del_task_file(struct file *file) +{ + struct io_uring_task *tctx = current->io_uring; + + if (tctx->last == file) + tctx->last = NULL; + file = xa_erase(&tctx->xa, (unsigned long)file); + if (file) + fput(file); +} + +static void __io_uring_attempt_task_drop(struct file *file) +{ + struct file *old = xa_load(¤t->io_uring->xa, (unsigned long)file); + + if (old == file) + io_uring_del_task_file(file); +} + +/* + * Drop task note for this file if we're the only ones that hold it after + * pending fput() + */ +static void io_uring_attempt_task_drop(struct file *file, bool exiting) +{ + if (!current->io_uring) + return; + /* + * fput() is pending, will be 2 if the only other ref is our potential + * task file note. If the task is exiting, drop regardless of count. + */ + if (!exiting && atomic_long_read(&file->f_count) != 2) + return; + + __io_uring_attempt_task_drop(file); +} + +void __io_uring_files_cancel(struct files_struct *files) +{ + struct io_uring_task *tctx = current->io_uring; + struct file *file; + unsigned long index; + + /* make sure overflow events are dropped */ + tctx->in_idle = true; + + xa_for_each(&tctx->xa, index, file) { + struct io_ring_ctx *ctx = file->private_data; + + io_uring_cancel_task_requests(ctx, files); + if (files) + io_uring_del_task_file(file); + } +} + +static inline bool io_uring_task_idle(struct io_uring_task *tctx) +{ + return atomic_long_read(&tctx->req_issue) == + atomic_long_read(&tctx->req_complete); +} + +/* + * Find any io_uring fd that this task has registered or done IO on, and cancel + * requests. + */ +void __io_uring_task_cancel(void) +{ + struct io_uring_task *tctx = current->io_uring; + DEFINE_WAIT(wait); + long completions; + + /* make sure overflow events are dropped */ + tctx->in_idle = true; + + while (!io_uring_task_idle(tctx)) { + /* read completions before cancelations */ + completions = atomic_long_read(&tctx->req_complete); + __io_uring_files_cancel(NULL); + + prepare_to_wait(&tctx->wait, &wait, TASK_UNINTERRUPTIBLE); + + /* + * If we've seen completions, retry. This avoids a race where + * a completion comes in before we did prepare_to_wait(). + */ + if (completions != atomic_long_read(&tctx->req_complete)) + continue; + if (io_uring_task_idle(tctx)) + break; + schedule(); + } + + finish_wait(&tctx->wait, &wait); + tctx->in_idle = false; } static int io_uring_flush(struct file *file, void *data) { struct io_ring_ctx *ctx = file->private_data; - io_uring_cancel_files(ctx, data); - /* * If the task is going away, cancel work it may have pending */ if (fatal_signal_pending(current) || (current->flags & PF_EXITING)) - io_wq_cancel_cb(ctx->io_wq, io_cancel_task_cb, current, true); + data = NULL; + io_uring_cancel_task_requests(ctx, data); + io_uring_attempt_task_drop(file, !data); return 0; } @@ -7655,8 +8212,7 @@ int submitted = 0; struct fd f; - if (current->task_works) - task_work_run(); + io_run_task_work(); if (flags & ~(IORING_ENTER_GETEVENTS | IORING_ENTER_SQ_WAKEUP)) return -EINVAL; @@ -7682,13 +8238,16 @@ ret = 0; if (ctx->flags & IORING_SETUP_SQPOLL) { if (!list_empty_careful(&ctx->cq_overflow_list)) - io_cqring_overflow_flush(ctx, false); + io_cqring_overflow_flush(ctx, false, NULL, NULL); if (flags & IORING_ENTER_SQ_WAKEUP) wake_up(&ctx->sqo_wait); submitted = to_submit; } else if (to_submit) { + ret = io_uring_add_task_file(f.file); + if (unlikely(ret)) + goto out; mutex_lock(&ctx->uring_lock); - submitted = io_submit_sqes(ctx, to_submit, f.file, fd); + submitted = io_submit_sqes(ctx, to_submit); mutex_unlock(&ctx->uring_lock); if (submitted != to_submit) @@ -7756,11 +8315,19 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m) { + bool has_lock; int i; - mutex_lock(&ctx->uring_lock); + /* + * 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); + seq_printf(m, "UserFiles:\t%u\n", ctx->nr_user_files); - for (i = 0; i < ctx->nr_user_files; i++) { + for (i = 0; has_lock && i < ctx->nr_user_files; i++) { struct fixed_file_table *table; struct file *f; @@ -7772,13 +8339,13 @@ seq_printf(m, "%5u: \n", i); } seq_printf(m, "UserBufs:\t%u\n", ctx->nr_user_bufs); - for (i = 0; i < ctx->nr_user_bufs; i++) { + for (i = 0; has_lock && i < ctx->nr_user_bufs; i++) { struct io_mapped_ubuf *buf = &ctx->user_bufs[i]; seq_printf(m, "%5u: 0x%llx/%u\n", i, buf->ubuf, (unsigned int) buf->len); } - if (!idr_is_empty(&ctx->personality_idr)) { + if (has_lock && !idr_is_empty(&ctx->personality_idr)) { seq_printf(m, "Personalities:\n"); idr_for_each(&ctx->personality_idr, io_uring_show_cred, m); } @@ -7793,7 +8360,8 @@ req->task->task_works != NULL); } spin_unlock_irq(&ctx->completion_lock); - mutex_unlock(&ctx->uring_lock); + if (has_lock) + mutex_unlock(&ctx->uring_lock); } static void io_uring_show_fdinfo(struct seq_file *m, struct file *f) @@ -7828,6 +8396,10 @@ 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(p->sq_entries, p->cq_entries, &sq_array_offset); if (size == SIZE_MAX) return -EOVERFLOW; @@ -7844,8 +8416,6 @@ rings->cq_ring_entries = p->cq_entries; ctx->sq_mask = rings->sq_ring_mask; ctx->cq_mask = rings->cq_ring_mask; - ctx->sq_entries = rings->sq_ring_entries; - ctx->cq_entries = rings->cq_ring_entries; size = array_size(sizeof(struct io_uring_sqe), p->sq_entries); if (size == SIZE_MAX) { @@ -7889,6 +8459,7 @@ file = anon_inode_getfile("[io_uring]", &io_uring_fops, ctx, O_RDWR | O_CLOEXEC); if (IS_ERR(file)) { +err_fd: put_unused_fd(ret); ret = PTR_ERR(file); goto err; @@ -7897,6 +8468,10 @@ #if defined(CONFIG_UNIX) ctx->ring_sock->file = file; #endif + if (unlikely(io_uring_add_task_file(file))) { + file = ERR_PTR(-ENOMEM); + goto err_fd; + } fd_install(ret, file); return ret; err: @@ -7938,7 +8513,7 @@ * to a power-of-two, if it isn't already. We do NOT impose * any cq vs sq ring sizing. */ - if (p->cq_entries < p->sq_entries) + if (!p->cq_entries) return -EINVAL; if (p->cq_entries > IORING_MAX_CQ_ENTRIES) { if (!(p->flags & IORING_SETUP_CLAMP)) @@ -7946,6 +8521,8 @@ 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; } @@ -7975,6 +8552,16 @@ ctx->user = user; ctx->creds = get_current_cred(); + ctx->sqo_task = get_task_struct(current); + /* + * 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; --- linux-riscv-5.8-5.8.0.orig/fs/iomap/buffered-io.c +++ linux-riscv-5.8-5.8.0/fs/iomap/buffered-io.c @@ -49,16 +49,8 @@ if (iop || i_blocksize(inode) == PAGE_SIZE) return iop; - iop = kmalloc(sizeof(*iop), GFP_NOFS | __GFP_NOFAIL); - atomic_set(&iop->read_count, 0); - atomic_set(&iop->write_count, 0); + iop = kzalloc(sizeof(*iop), GFP_NOFS | __GFP_NOFAIL); spin_lock_init(&iop->uptodate_lock); - bitmap_zero(iop->uptodate, PAGE_SIZE / SECTOR_SIZE); - - /* - * migrate_page_move_mapping() assumes that pages with private data have - * their count elevated by 1. - */ attach_page_private(page, iop); return iop; } @@ -574,10 +566,10 @@ loff_t block_start = pos & ~(block_size - 1); loff_t block_end = (pos + len + block_size - 1) & ~(block_size - 1); unsigned from = offset_in_page(pos), to = from + len, poff, plen; - int status; if (PageUptodate(page)) return 0; + ClearPageError(page); do { iomap_adjust_read_range(inode, iop, &block_start, @@ -594,14 +586,13 @@ if (WARN_ON_ONCE(flags & IOMAP_WRITE_F_UNSHARE)) return -EIO; zero_user_segments(page, poff, from, to, poff + plen); - iomap_set_range_uptodate(page, poff, plen); - continue; + } else { + int status = iomap_read_page_sync(block_start, page, + poff, plen, srcmap); + if (status) + return status; } - - status = iomap_read_page_sync(block_start, page, poff, plen, - srcmap); - if (status) - return status; + iomap_set_range_uptodate(page, poff, plen); } while ((block_start += plen) < block_end); return 0; @@ -1404,6 +1395,7 @@ WARN_ON_ONCE(!wpc->ioend && !list_empty(&submit_list)); WARN_ON_ONCE(!PageLocked(page)); WARN_ON_ONCE(PageWriteback(page)); + WARN_ON_ONCE(PageDirty(page)); /* * We cannot cancel the ioend directly here on error. We may have @@ -1424,21 +1416,9 @@ unlock_page(page); goto done; } - - /* - * If the page was not fully cleaned, we need to ensure that the - * higher layers come back to it correctly. That means we need - * to keep the page dirty, and for WB_SYNC_ALL writeback we need - * to ensure the PAGECACHE_TAG_TOWRITE index mark is not removed - * so another attempt to write this page in this writeback sweep - * will be made. - */ - set_page_writeback_keepwrite(page); - } else { - clear_page_dirty_for_io(page); - set_page_writeback(page); } + set_page_writeback(page); unlock_page(page); /* --- linux-riscv-5.8-5.8.0.orig/fs/iomap/direct-io.c +++ linux-riscv-5.8-5.8.0/fs/iomap/direct-io.c @@ -387,6 +387,16 @@ return iomap_dio_bio_actor(inode, pos, length, dio, iomap); case IOMAP_INLINE: return iomap_dio_inline_actor(inode, pos, length, dio, iomap); + case IOMAP_DELALLOC: + /* + * DIO is not serialised against mmap() access at all, and so + * if the page_mkwrite occurs between the writeback and the + * iomap_apply() call in the DIO path, then it will see the + * DELALLOC block that the page-mkwrite allocated. + */ + pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %pD4 Comm: %.20s\n", + dio->iocb->ki_filp, current->comm); + return -EIO; default: WARN_ON_ONCE(1); return -EIO; --- linux-riscv-5.8-5.8.0.orig/fs/iomap/swapfile.c +++ linux-riscv-5.8-5.8.0/fs/iomap/swapfile.c @@ -170,6 +170,16 @@ return ret; } + /* + * If this swapfile doesn't contain even a single page-aligned + * contiguous range of blocks, reject this useless swapfile to + * prevent confusion later on. + */ + if (isi.nr_pages == 0) { + pr_warn("swapon: Cannot find a single usable page in file.\n"); + return -EINVAL; + } + *pagespan = 1 + isi.highest_ppage - isi.lowest_ppage; sis->max = isi.nr_pages; sis->pages = isi.nr_pages - 1; --- linux-riscv-5.8-5.8.0.orig/fs/isofs/dir.c +++ linux-riscv-5.8-5.8.0/fs/isofs/dir.c @@ -152,6 +152,7 @@ printk(KERN_NOTICE "iso9660: Corrupted directory entry" " in block %lu of inode %lu\n", block, inode->i_ino); + brelse(bh); return -EIO; } --- linux-riscv-5.8-5.8.0.orig/fs/isofs/namei.c +++ linux-riscv-5.8-5.8.0/fs/isofs/namei.c @@ -102,6 +102,7 @@ printk(KERN_NOTICE "iso9660: Corrupted directory entry" " in block %lu of inode %lu\n", block, dir->i_ino); + brelse(bh); return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/jbd2/checkpoint.c +++ linux-riscv-5.8-5.8.0/fs/jbd2/checkpoint.c @@ -106,6 +106,8 @@ * for a checkpoint to free up some space in the log. */ void __jbd2_log_wait_for_space(journal_t *journal) +__acquires(&journal->j_state_lock) +__releases(&journal->j_state_lock) { int nblocks, space_left; /* assert_spin_locked(&journal->j_state_lock); */ --- linux-riscv-5.8-5.8.0.orig/fs/jbd2/journal.c +++ linux-riscv-5.8-5.8.0/fs/jbd2/journal.c @@ -1367,8 +1367,10 @@ int ret; /* Buffer got discarded which means block device got invalidated */ - if (!buffer_mapped(bh)) + if (!buffer_mapped(bh)) { + unlock_buffer(bh); return -EIO; + } trace_jbd2_write_superblock(journal, write_flags); if (!(journal->j_flags & JBD2_BARRIER)) --- linux-riscv-5.8-5.8.0.orig/fs/jbd2/recovery.c +++ linux-riscv-5.8-5.8.0/fs/jbd2/recovery.c @@ -428,6 +428,8 @@ __u32 crc32_sum = ~0; /* Transactional Checksums */ int descr_csum_size = 0; int block_error = 0; + bool need_check_commit_time = false; + __u64 last_trans_commit_time = 0, commit_time; /* * First thing is to establish what we expect to find in the log @@ -520,12 +522,21 @@ if (descr_csum_size > 0 && !jbd2_descriptor_block_csum_verify(journal, bh->b_data)) { - printk(KERN_ERR "JBD2: Invalid checksum " - "recovering block %lu in log\n", - next_log_block); - err = -EFSBADCRC; - brelse(bh); - goto failed; + /* + * PASS_SCAN can see stale blocks due to lazy + * journal init. Don't error out on those yet. + */ + if (pass != PASS_SCAN) { + pr_err("JBD2: Invalid checksum recovering block %lu in log\n", + next_log_block); + err = -EFSBADCRC; + brelse(bh); + goto failed; + } + need_check_commit_time = true; + jbd_debug(1, + "invalid descriptor block found in %lu\n", + next_log_block); } /* If it is a valid descriptor block, replay it @@ -535,6 +546,7 @@ if (pass != PASS_REPLAY) { if (pass == PASS_SCAN && jbd2_has_feature_checksum(journal) && + !need_check_commit_time && !info->end_transaction) { if (calc_chksums(journal, bh, &next_log_block, @@ -683,11 +695,41 @@ * mentioned conditions. Hence assume * "Interrupted Commit".) */ + commit_time = be64_to_cpu( + ((struct commit_header *)bh->b_data)->h_commit_sec); + /* + * If need_check_commit_time is set, it means we are in + * PASS_SCAN and csum verify failed before. If + * commit_time is increasing, it's the same journal, + * otherwise it is stale journal block, just end this + * recovery. + */ + if (need_check_commit_time) { + if (commit_time >= last_trans_commit_time) { + pr_err("JBD2: Invalid checksum found in transaction %u\n", + next_commit_ID); + err = -EFSBADCRC; + brelse(bh); + goto failed; + } + ignore_crc_mismatch: + /* + * It likely does not belong to same journal, + * just end this recovery with success. + */ + jbd_debug(1, "JBD2: Invalid checksum ignored in transaction %u, likely stale data\n", + next_commit_ID); + err = 0; + brelse(bh); + goto done; + } - /* Found an expected commit block: if checksums - * are present verify them in PASS_SCAN; else not + /* + * Found an expected commit block: if checksums + * are present, verify them in PASS_SCAN; else not * much to do other than move on to the next sequence - * number. */ + * number. + */ if (pass == PASS_SCAN && jbd2_has_feature_checksum(journal)) { int chksum_err, chksum_seen; @@ -727,6 +769,8 @@ chksum_err = 1; if (chksum_err) { + if (commit_time < last_trans_commit_time) + goto ignore_crc_mismatch; info->end_transaction = next_commit_ID; if (!jbd2_has_feature_async_commit(journal)) { @@ -750,11 +794,24 @@ break; } } + if (pass == PASS_SCAN) + last_trans_commit_time = commit_time; brelse(bh); next_commit_ID++; continue; case JBD2_REVOKE_BLOCK: + /* + * Check revoke block crc in pass_scan, if csum verify + * failed, check commit block time later. + */ + if (pass == PASS_SCAN && + !jbd2_descriptor_block_csum_verify(journal, + bh->b_data)) { + jbd_debug(1, "JBD2: invalid revoke block found in %lu\n", + next_log_block); + need_check_commit_time = true; + } /* If we aren't in the REVOKE pass, then we can * just skip over this block. */ if (pass != PASS_REVOKE) { @@ -822,9 +879,6 @@ offset = sizeof(jbd2_journal_revoke_header_t); rcount = be32_to_cpu(header->r_count); - if (!jbd2_descriptor_block_csum_verify(journal, header)) - return -EFSBADCRC; - if (jbd2_journal_has_csum_v2or3(journal)) csum_size = sizeof(struct jbd2_journal_block_tail); if (rcount > journal->j_blocksize - csum_size) --- linux-riscv-5.8-5.8.0.orig/fs/jbd2/transaction.c +++ linux-riscv-5.8-5.8.0/fs/jbd2/transaction.c @@ -195,8 +195,10 @@ DEFINE_WAIT(wait); if (WARN_ON(!journal->j_running_transaction || - journal->j_running_transaction->t_state != T_SWITCH)) + journal->j_running_transaction->t_state != T_SWITCH)) { + read_unlock(&journal->j_state_lock); return; + } prepare_to_wait(&journal->j_wait_transaction_locked, &wait, TASK_UNINTERRUPTIBLE); read_unlock(&journal->j_state_lock); @@ -2026,6 +2028,9 @@ */ static void __jbd2_journal_unfile_buffer(struct journal_head *jh) { + J_ASSERT_JH(jh, jh->b_transaction != NULL); + J_ASSERT_JH(jh, jh->b_next_transaction == NULL); + __jbd2_journal_temp_unlink_buffer(jh); jh->b_transaction = NULL; } @@ -2117,6 +2122,7 @@ { struct buffer_head *head; struct buffer_head *bh; + bool has_write_io_error = false; int ret = 0; J_ASSERT(PageLocked(page)); @@ -2141,11 +2147,26 @@ jbd2_journal_put_journal_head(jh); if (buffer_jbd(bh)) goto busy; + + /* + * If we free a metadata buffer which has been failed to + * write out, the jbd2 checkpoint procedure will not detect + * this failure and may lead to filesystem inconsistency + * after cleanup journal tail. + */ + if (buffer_write_io_error(bh)) { + pr_err("JBD2: Error while async write back metadata bh %llu.", + (unsigned long long)bh->b_blocknr); + has_write_io_error = true; + } } while ((bh = bh->b_this_page) != head); ret = try_to_free_buffers(page); busy: + if (has_write_io_error) + jbd2_journal_abort(journal, -EIO); + return ret; } @@ -2572,6 +2593,13 @@ was_dirty = test_clear_buffer_jbddirty(bh); __jbd2_journal_temp_unlink_buffer(jh); + + /* + * b_transaction must be set, otherwise the new b_transaction won't + * be holding jh reference + */ + J_ASSERT_JH(jh, jh->b_transaction != NULL); + /* * We set b_transaction here because b_next_transaction will inherit * our jh reference and thus __jbd2_journal_file_buffer() must not --- linux-riscv-5.8-5.8.0.orig/fs/jffs2/dir.c +++ linux-riscv-5.8-5.8.0/fs/jffs2/dir.c @@ -590,10 +590,14 @@ int ret; uint32_t now = JFFS2_NOW(); + mutex_lock(&f->sem); for (fd = f->dents ; fd; fd = fd->next) { - if (fd->ino) + if (fd->ino) { + mutex_unlock(&f->sem); return -ENOTEMPTY; + } } + mutex_unlock(&f->sem); ret = jffs2_do_unlink(c, dir_f, dentry->d_name.name, dentry->d_name.len, f, now); --- linux-riscv-5.8-5.8.0.orig/fs/jffs2/jffs2_fs_sb.h +++ linux-riscv-5.8-5.8.0/fs/jffs2/jffs2_fs_sb.h @@ -38,6 +38,7 @@ * users. This is implemented simply by means of not allowing the * latter users to write to the file system if the amount if the * available space is less then 'rp_size'. */ + bool set_rp_size; unsigned int rp_size; }; --- linux-riscv-5.8-5.8.0.orig/fs/jffs2/readinode.c +++ linux-riscv-5.8-5.8.0/fs/jffs2/readinode.c @@ -672,6 +672,22 @@ jffs2_free_full_dirent(fd); return -EIO; } + +#ifdef CONFIG_JFFS2_SUMMARY + /* + * we use CONFIG_JFFS2_SUMMARY because without it, we + * have checked it while mounting + */ + crc = crc32(0, fd->name, rd->nsize); + if (unlikely(crc != je32_to_cpu(rd->name_crc))) { + JFFS2_NOTICE("name CRC failed on dirent node at" + "%#08x: read %#08x,calculated %#08x\n", + ref_offset(ref), je32_to_cpu(rd->node_crc), crc); + jffs2_mark_node_obsolete(c, ref); + jffs2_free_full_dirent(fd); + return 0; + } +#endif } fd->nhash = full_name_hash(NULL, fd->name, rd->nsize); --- linux-riscv-5.8-5.8.0.orig/fs/jffs2/summary.c +++ linux-riscv-5.8-5.8.0/fs/jffs2/summary.c @@ -783,6 +783,8 @@ dbg_summary("Writing unknown RWCOMPAT_COPY node type %x\n", je16_to_cpu(temp->u.nodetype)); jffs2_sum_disable_collecting(c->summary); + /* The above call removes the list, nothing more to do */ + goto bail_rwcompat; } else { BUG(); /* unknown node in summary information */ } @@ -794,6 +796,7 @@ c->summary->sum_num--; } + bail_rwcompat: jffs2_sum_reset_collected(c->summary); --- linux-riscv-5.8-5.8.0.orig/fs/jffs2/super.c +++ linux-riscv-5.8-5.8.0/fs/jffs2/super.c @@ -88,7 +88,7 @@ if (opts->override_compr) seq_printf(s, ",compr=%s", jffs2_compr_name(opts->compr)); - if (opts->rp_size) + if (opts->set_rp_size) seq_printf(s, ",rp_size=%u", opts->rp_size / 1024); return 0; @@ -202,11 +202,8 @@ case Opt_rp_size: if (result.uint_32 > UINT_MAX / 1024) return invalf(fc, "jffs2: rp_size unrepresentable"); - opt = result.uint_32 * 1024; - if (opt > c->mtd->size) - return invalf(fc, "jffs2: Too large reserve pool specified, max is %llu KB", - c->mtd->size / 1024); - c->mount_opts.rp_size = opt; + c->mount_opts.rp_size = result.uint_32 * 1024; + c->mount_opts.set_rp_size = true; break; default: return -EINVAL; @@ -215,11 +212,30 @@ return 0; } +static inline void jffs2_update_mount_opts(struct fs_context *fc) +{ + struct jffs2_sb_info *new_c = fc->s_fs_info; + struct jffs2_sb_info *c = JFFS2_SB_INFO(fc->root->d_sb); + + mutex_lock(&c->alloc_sem); + if (new_c->mount_opts.override_compr) { + c->mount_opts.override_compr = new_c->mount_opts.override_compr; + c->mount_opts.compr = new_c->mount_opts.compr; + } + if (new_c->mount_opts.set_rp_size) { + c->mount_opts.set_rp_size = new_c->mount_opts.set_rp_size; + c->mount_opts.rp_size = new_c->mount_opts.rp_size; + } + mutex_unlock(&c->alloc_sem); +} + static int jffs2_reconfigure(struct fs_context *fc) { struct super_block *sb = fc->root->d_sb; sync_filesystem(sb); + jffs2_update_mount_opts(fc); + return jffs2_do_remount_fs(sb, fc); } @@ -249,6 +265,10 @@ c->mtd = sb->s_mtd; c->os_priv = sb; + if (c->mount_opts.rp_size > c->mtd->size) + return invalf(fc, "jffs2: Too large reserve pool specified, max is %llu KB", + c->mtd->size / 1024); + /* Initialize JFFS2 superblock locks, the further initialization will * be done later */ mutex_init(&c->alloc_sem); --- linux-riscv-5.8-5.8.0.orig/fs/jfs/jfs_dmap.c +++ linux-riscv-5.8-5.8.0/fs/jfs/jfs_dmap.c @@ -1656,7 +1656,7 @@ } else if (rc == -ENOSPC) { /* search for next smaller log2 block */ l2nb = BLKSTOL2(nblocks) - 1; - nblocks = 1 << l2nb; + nblocks = 1LL << l2nb; } else { /* Trim any already allocated blocks */ jfs_error(bmp->db_ipbmap->i_sb, "-EIO\n"); --- linux-riscv-5.8-5.8.0.orig/fs/jfs/jfs_dmap.h +++ linux-riscv-5.8-5.8.0/fs/jfs/jfs_dmap.h @@ -183,7 +183,7 @@ #define dmt_leafidx t1.leafidx #define dmt_height t1.height #define dmt_budmin t1.budmin -#define dmt_stree t1.stree +#define dmt_stree t2.stree /* * on-disk aggregate disk allocation map descriptor. --- linux-riscv-5.8-5.8.0.orig/fs/jfs/jfs_filsys.h +++ linux-riscv-5.8-5.8.0/fs/jfs/jfs_filsys.h @@ -268,5 +268,6 @@ * fsck() must be run to repair */ #define FM_EXTENDFS 0x00000008 /* file system extendfs() in progress */ +#define FM_STATE_MAX 0x0000000f /* max value of s_state */ #endif /* _H_JFS_FILSYS */ --- linux-riscv-5.8-5.8.0.orig/fs/jfs/jfs_mount.c +++ linux-riscv-5.8-5.8.0/fs/jfs/jfs_mount.c @@ -36,6 +36,7 @@ #include #include +#include #include "jfs_incore.h" #include "jfs_filsys.h" @@ -365,6 +366,15 @@ sbi->bsize = bsize; sbi->l2bsize = le16_to_cpu(j_sb->s_l2bsize); + /* check some fields for possible corruption */ + if (sbi->l2bsize != ilog2((u32)bsize) || + j_sb->pad != 0 || + le32_to_cpu(j_sb->s_state) > FM_STATE_MAX) { + rc = -EINVAL; + jfs_err("jfs_mount: Mount Failure: superblock is corrupt!"); + goto out; + } + /* * For now, ignore s_pbsize, l2bfactor. All I/O going through buffer * cache. --- linux-riscv-5.8-5.8.0.orig/fs/kernfs/file.c +++ linux-riscv-5.8-5.8.0/fs/kernfs/file.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "kernfs-internal.h" @@ -180,11 +181,10 @@ * it difficult to use seq_file. Implement simplistic custom buffering for * bin files. */ -static ssize_t kernfs_file_direct_read(struct kernfs_open_file *of, - char __user *user_buf, size_t count, - loff_t *ppos) +static ssize_t kernfs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) { - ssize_t len = min_t(size_t, count, PAGE_SIZE); + struct kernfs_open_file *of = kernfs_of(iocb->ki_filp); + ssize_t len = min_t(size_t, iov_iter_count(iter), PAGE_SIZE); const struct kernfs_ops *ops; char *buf; @@ -210,7 +210,7 @@ of->event = atomic_read(&of->kn->attr.open->event); ops = kernfs_ops(of->kn); if (ops->read) - len = ops->read(of, buf, len, *ppos); + len = ops->read(of, buf, len, iocb->ki_pos); else len = -EINVAL; @@ -220,12 +220,12 @@ if (len < 0) goto out_free; - if (copy_to_user(user_buf, buf, len)) { + if (copy_to_iter(buf, len, iter) != len) { len = -EFAULT; goto out_free; } - *ppos += len; + iocb->ki_pos += len; out_free: if (buf == of->prealloc_buf) @@ -235,31 +235,14 @@ return len; } -/** - * kernfs_fop_read - kernfs vfs read callback - * @file: file pointer - * @user_buf: data to write - * @count: number of bytes - * @ppos: starting offset - */ -static ssize_t kernfs_fop_read(struct file *file, char __user *user_buf, - size_t count, loff_t *ppos) +static ssize_t kernfs_fop_read_iter(struct kiocb *iocb, struct iov_iter *iter) { - struct kernfs_open_file *of = kernfs_of(file); - - if (of->kn->flags & KERNFS_HAS_SEQ_SHOW) - return seq_read(file, user_buf, count, ppos); - else - return kernfs_file_direct_read(of, user_buf, count, ppos); + if (kernfs_of(iocb->ki_filp)->kn->flags & KERNFS_HAS_SEQ_SHOW) + return seq_read_iter(iocb, iter); + return kernfs_file_read_iter(iocb, iter); } -/** - * kernfs_fop_write - kernfs vfs write callback - * @file: file pointer - * @user_buf: data to write - * @count: number of bytes - * @ppos: starting offset - * +/* * Copy data in from userland and pass it to the matching kernfs write * operation. * @@ -269,20 +252,18 @@ * modify only the the value you're changing, then write entire buffer * back. */ -static ssize_t kernfs_fop_write(struct file *file, const char __user *user_buf, - size_t count, loff_t *ppos) +static ssize_t kernfs_fop_write_iter(struct kiocb *iocb, struct iov_iter *iter) { - struct kernfs_open_file *of = kernfs_of(file); + struct kernfs_open_file *of = kernfs_of(iocb->ki_filp); + ssize_t len = iov_iter_count(iter); const struct kernfs_ops *ops; - ssize_t len; char *buf; if (of->atomic_write_len) { - len = count; if (len > of->atomic_write_len) return -E2BIG; } else { - len = min_t(size_t, count, PAGE_SIZE); + len = min_t(size_t, len, PAGE_SIZE); } buf = of->prealloc_buf; @@ -293,7 +274,7 @@ if (!buf) return -ENOMEM; - if (copy_from_user(buf, user_buf, len)) { + if (copy_from_iter(buf, len, iter) != len) { len = -EFAULT; goto out_free; } @@ -312,7 +293,7 @@ ops = kernfs_ops(of->kn); if (ops->write) - len = ops->write(of, buf, len, *ppos); + len = ops->write(of, buf, len, iocb->ki_pos); else len = -EINVAL; @@ -320,7 +301,7 @@ mutex_unlock(&of->mutex); if (len > 0) - *ppos += len; + iocb->ki_pos += len; out_free: if (buf == of->prealloc_buf) @@ -673,7 +654,7 @@ /* * Write path needs to atomic_write_len outside active reference. - * Cache it in open_file. See kernfs_fop_write() for details. + * Cache it in open_file. See kernfs_fop_write_iter() for details. */ of->atomic_write_len = ops->atomic_write_len; @@ -912,7 +893,7 @@ } fsnotify(inode, FS_MODIFY, inode, FSNOTIFY_EVENT_INODE, - &name, 0); + NULL, 0); iput(inode); } @@ -959,14 +940,16 @@ EXPORT_SYMBOL_GPL(kernfs_notify); const struct file_operations kernfs_file_fops = { - .read = kernfs_fop_read, - .write = kernfs_fop_write, + .read_iter = kernfs_fop_read_iter, + .write_iter = kernfs_fop_write_iter, .llseek = generic_file_llseek, .mmap = kernfs_fop_mmap, .open = kernfs_fop_open, .release = kernfs_fop_release, .poll = kernfs_fop_poll, .fsync = noop_fsync, + .splice_read = generic_file_splice_read, + .splice_write = iter_file_splice_write, }; /** --- linux-riscv-5.8-5.8.0.orig/fs/libfs.c +++ linux-riscv-5.8-5.8.0/fs/libfs.c @@ -957,7 +957,7 @@ size_t len, loff_t *ppos) { struct simple_attr *attr; - u64 val; + unsigned long long val; size_t size; ssize_t ret; @@ -975,7 +975,9 @@ goto out; attr->set_buf[size] = '\0'; - val = simple_strtoll(attr->set_buf, NULL, 0); + ret = kstrtoull(attr->set_buf, 0, &val); + if (ret) + goto out; ret = attr->set(attr->data, val); if (ret == 0) ret = len; /* on success, claim we got the whole input */ --- linux-riscv-5.8-5.8.0.orig/fs/lockd/host.c +++ linux-riscv-5.8-5.8.0/fs/lockd/host.c @@ -439,12 +439,7 @@ * RPC rebind is required */ if ((clnt = host->h_rpcclnt) != NULL) { - if (time_after_eq(jiffies, host->h_nextrebind)) { - rpc_force_rebind(clnt); - host->h_nextrebind = jiffies + NLM_HOST_REBIND; - dprintk("lockd: next rebind in %lu jiffies\n", - host->h_nextrebind - jiffies); - } + nlm_rebind_host(host); } else { unsigned long increment = nlmsvc_timeout; struct rpc_timeout timeparms = { @@ -494,13 +489,20 @@ return clnt; } -/* - * Force a portmap lookup of the remote lockd port +/** + * nlm_rebind_host - If needed, force a portmap lookup of the peer's lockd port + * @host: NLM host handle for peer + * + * This is not needed when using a connection-oriented protocol, such as TCP. + * The existing autobind mechanism is sufficient to force a rebind when + * required, e.g. on connection state transitions. */ void nlm_rebind_host(struct nlm_host *host) { - dprintk("lockd: rebind host %s\n", host->h_name); + if (host->h_proto != IPPROTO_UDP) + return; + if (host->h_rpcclnt && time_after_eq(jiffies, host->h_nextrebind)) { rpc_force_rebind(host->h_rpcclnt); host->h_nextrebind = jiffies + NLM_HOST_REBIND; --- linux-riscv-5.8-5.8.0.orig/fs/minix/inode.c +++ linux-riscv-5.8-5.8.0/fs/minix/inode.c @@ -150,6 +150,25 @@ return 0; } +static bool minix_check_superblock(struct super_block *sb) +{ + struct minix_sb_info *sbi = minix_sb(sb); + + if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0) + return false; + + /* + * s_max_size must not exceed the block mapping limitation. This check + * is only needed for V1 filesystems, since V2/V3 support an extra level + * of indirect blocks which places the limit well above U32_MAX. + */ + if (sbi->s_version == MINIX_V1 && + sb->s_maxbytes > (7 + 512 + 512*512) * BLOCK_SIZE) + return false; + + return true; +} + static int minix_fill_super(struct super_block *s, void *data, int silent) { struct buffer_head *bh; @@ -185,7 +204,7 @@ sbi->s_zmap_blocks = ms->s_zmap_blocks; sbi->s_firstdatazone = ms->s_firstdatazone; sbi->s_log_zone_size = ms->s_log_zone_size; - sbi->s_max_size = ms->s_max_size; + s->s_maxbytes = ms->s_max_size; s->s_magic = ms->s_magic; if (s->s_magic == MINIX_SUPER_MAGIC) { sbi->s_version = MINIX_V1; @@ -216,7 +235,7 @@ sbi->s_zmap_blocks = m3s->s_zmap_blocks; sbi->s_firstdatazone = m3s->s_firstdatazone; sbi->s_log_zone_size = m3s->s_log_zone_size; - sbi->s_max_size = m3s->s_max_size; + s->s_maxbytes = m3s->s_max_size; sbi->s_ninodes = m3s->s_ninodes; sbi->s_nzones = m3s->s_zones; sbi->s_dirsize = 64; @@ -228,11 +247,12 @@ } else goto out_no_fs; + if (!minix_check_superblock(s)) + goto out_illegal_sb; + /* * Allocate the buffer map to keep the superblock small. */ - if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0) - goto out_illegal_sb; i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh); map = kzalloc(i, GFP_KERNEL); if (!map) @@ -468,6 +488,13 @@ iget_failed(inode); return ERR_PTR(-EIO); } + if (raw_inode->i_nlinks == 0) { + printk("MINIX-fs: deleted inode referenced: %lu\n", + inode->i_ino); + brelse(bh); + iget_failed(inode); + return ERR_PTR(-ESTALE); + } inode->i_mode = raw_inode->i_mode; i_uid_write(inode, raw_inode->i_uid); i_gid_write(inode, raw_inode->i_gid); @@ -501,6 +528,13 @@ iget_failed(inode); return ERR_PTR(-EIO); } + if (raw_inode->i_nlinks == 0) { + printk("MINIX-fs: deleted inode referenced: %lu\n", + inode->i_ino); + brelse(bh); + iget_failed(inode); + return ERR_PTR(-ESTALE); + } inode->i_mode = raw_inode->i_mode; i_uid_write(inode, raw_inode->i_uid); i_gid_write(inode, raw_inode->i_gid); --- linux-riscv-5.8-5.8.0.orig/fs/minix/itree_common.c +++ linux-riscv-5.8-5.8.0/fs/minix/itree_common.c @@ -75,6 +75,7 @@ int n = 0; int i; int parent = minix_new_block(inode); + int err = -ENOSPC; branch[0].key = cpu_to_block(parent); if (parent) for (n = 1; n < num; n++) { @@ -85,6 +86,11 @@ break; branch[n].key = cpu_to_block(nr); bh = sb_getblk(inode->i_sb, parent); + if (!bh) { + minix_free_block(inode, nr); + err = -ENOMEM; + break; + } lock_buffer(bh); memset(bh->b_data, 0, bh->b_size); branch[n].bh = bh; @@ -103,7 +109,7 @@ bforget(branch[i].bh); for (i = 0; i < n; i++) minix_free_block(inode, block_to_cpu(branch[i].key)); - return -ENOSPC; + return err; } static inline int splice_branch(struct inode *inode, --- linux-riscv-5.8-5.8.0.orig/fs/minix/itree_v1.c +++ linux-riscv-5.8-5.8.0/fs/minix/itree_v1.c @@ -29,12 +29,12 @@ if (block < 0) { printk("MINIX-fs: block_to_path: block %ld < 0 on dev %pg\n", block, inode->i_sb->s_bdev); - } else if (block >= (minix_sb(inode->i_sb)->s_max_size/BLOCK_SIZE)) { - if (printk_ratelimit()) - printk("MINIX-fs: block_to_path: " - "block %ld too big on dev %pg\n", - block, inode->i_sb->s_bdev); - } else if (block < 7) { + return 0; + } + if ((u64)block * BLOCK_SIZE >= inode->i_sb->s_maxbytes) + return 0; + + if (block < 7) { offsets[n++] = block; } else if ((block -= 7) < 512) { offsets[n++] = 7; --- linux-riscv-5.8-5.8.0.orig/fs/minix/itree_v2.c +++ linux-riscv-5.8-5.8.0/fs/minix/itree_v2.c @@ -32,13 +32,12 @@ if (block < 0) { printk("MINIX-fs: block_to_path: block %ld < 0 on dev %pg\n", block, sb->s_bdev); - } else if ((u64)block * (u64)sb->s_blocksize >= - minix_sb(sb)->s_max_size) { - if (printk_ratelimit()) - printk("MINIX-fs: block_to_path: " - "block %ld too big on dev %pg\n", - block, sb->s_bdev); - } else if (block < DIRCOUNT) { + return 0; + } + if ((u64)block * (u64)sb->s_blocksize >= sb->s_maxbytes) + return 0; + + if (block < DIRCOUNT) { offsets[n++] = block; } else if ((block -= DIRCOUNT) < INDIRCOUNT(sb)) { offsets[n++] = DIRCOUNT; --- linux-riscv-5.8-5.8.0.orig/fs/minix/minix.h +++ linux-riscv-5.8-5.8.0/fs/minix/minix.h @@ -32,7 +32,6 @@ unsigned long s_zmap_blocks; unsigned long s_firstdatazone; unsigned long s_log_zone_size; - unsigned long s_max_size; int s_dirsize; int s_namelen; struct buffer_head ** s_imap; --- linux-riscv-5.8-5.8.0.orig/fs/namei.c +++ linux-riscv-5.8-5.8.0/fs/namei.c @@ -669,17 +669,17 @@ */ /** - * unlazy_walk - try to switch to ref-walk mode. + * try_to_unlazy - try to switch to ref-walk mode. * @nd: nameidata pathwalk data - * Returns: 0 on success, -ECHILD on failure + * Returns: true on success, false on failure * - * unlazy_walk attempts to legitimize the current nd->path and nd->root + * try_to_unlazy attempts to legitimize the current nd->path and nd->root * for ref-walk mode. * Must be called from rcu-walk context. - * Nothing should touch nameidata between unlazy_walk() failure and + * Nothing should touch nameidata between try_to_unlazy() failure and * terminate_walk(). */ -static int unlazy_walk(struct nameidata *nd) +static bool try_to_unlazy(struct nameidata *nd) { struct dentry *parent = nd->path.dentry; @@ -694,14 +694,14 @@ goto out; rcu_read_unlock(); BUG_ON(nd->inode != parent->d_inode); - return 0; + return true; out1: nd->path.mnt = NULL; nd->path.dentry = NULL; out: rcu_read_unlock(); - return -ECHILD; + return false; } /** @@ -792,7 +792,7 @@ */ if (!(nd->flags & (LOOKUP_ROOT | LOOKUP_IS_SCOPED))) nd->root.mnt = NULL; - if (unlikely(unlazy_walk(nd))) + if (!try_to_unlazy(nd)) return -ECHILD; } @@ -932,8 +932,8 @@ path_put(&last->link); } -int sysctl_protected_symlinks __read_mostly = 0; -int sysctl_protected_hardlinks __read_mostly = 0; +int sysctl_protected_symlinks __read_mostly = 1; +int sysctl_protected_hardlinks __read_mostly = 1; int sysctl_protected_fifos __read_mostly; int sysctl_protected_regular __read_mostly; @@ -1466,7 +1466,7 @@ unsigned seq; dentry = __d_lookup_rcu(parent, &nd->last, &seq); if (unlikely(!dentry)) { - if (unlazy_walk(nd)) + if (!try_to_unlazy(nd)) return ERR_PTR(-ECHILD); return NULL; } @@ -1567,10 +1567,8 @@ { if (nd->flags & LOOKUP_RCU) { int err = inode_permission(nd->inode, MAY_EXEC|MAY_NOT_BLOCK); - if (err != -ECHILD) + if (err != -ECHILD || !try_to_unlazy(nd)) return err; - if (unlazy_walk(nd)) - return -ECHILD; } return inode_permission(nd->inode, MAY_EXEC); } @@ -1592,7 +1590,7 @@ // unlazy even if we fail to grab the link - cleanup needs it bool grabbed_link = legitimize_path(nd, link, seq); - if (unlazy_walk(nd) != 0 || !grabbed_link) + if (!try_to_unlazy(nd) != 0 || !grabbed_link) return -ECHILD; if (nd_alloc_stack(nd)) @@ -1633,7 +1631,7 @@ touch_atime(&last->link); cond_resched(); } else if (atime_needs_update(&last->link, inode)) { - if (unlikely(unlazy_walk(nd))) + if (!try_to_unlazy(nd)) return ERR_PTR(-ECHILD); touch_atime(&last->link); } @@ -1650,11 +1648,8 @@ get = inode->i_op->get_link; if (nd->flags & LOOKUP_RCU) { res = get(NULL, inode, &last->done); - if (res == ERR_PTR(-ECHILD)) { - if (unlikely(unlazy_walk(nd))) - return ERR_PTR(-ECHILD); + if (res == ERR_PTR(-ECHILD) && try_to_unlazy(nd)) res = get(link->dentry, inode, &last->done); - } } else { res = get(link->dentry, inode, &last->done); } @@ -2192,7 +2187,7 @@ } if (unlikely(!d_can_lookup(nd->path.dentry))) { if (nd->flags & LOOKUP_RCU) { - if (unlazy_walk(nd)) + if (!try_to_unlazy(nd)) return -ECHILD; } return -ENOTDIR; @@ -2332,16 +2327,16 @@ while (!(err = link_path_walk(s, nd)) && (s = lookup_last(nd)) != NULL) ; + if (!err && unlikely(nd->flags & LOOKUP_MOUNTPOINT)) { + err = handle_lookup_down(nd); + nd->flags &= ~LOOKUP_JUMPED; // no d_weak_revalidate(), please... + } if (!err) err = complete_walk(nd); if (!err && nd->flags & LOOKUP_DIRECTORY) if (!d_can_lookup(nd->path.dentry)) err = -ENOTDIR; - if (!err && unlikely(nd->flags & LOOKUP_MOUNTPOINT)) { - err = handle_lookup_down(nd); - nd->flags &= ~LOOKUP_JUMPED; // no d_weak_revalidate(), please... - } if (!err) { *path = nd->path; nd->path.mnt = NULL; @@ -3118,7 +3113,6 @@ struct inode *inode; struct dentry *dentry; const char *res; - int error; nd->flags |= op->intent; @@ -3142,9 +3136,8 @@ } else { /* create side of things */ if (nd->flags & LOOKUP_RCU) { - error = unlazy_walk(nd); - if (unlikely(error)) - return ERR_PTR(error); + if (!try_to_unlazy(nd)) + return ERR_PTR(-ECHILD); } audit_inode(nd->name, dir, AUDIT_INODE_PARENT); /* trailing slashes? */ @@ -3153,9 +3146,7 @@ } if (open_flag & (O_CREAT | O_TRUNC | O_WRONLY | O_RDWR)) { - error = mnt_want_write(nd->path.mnt); - if (!error) - got_write = true; + got_write = !mnt_want_write(nd->path.mnt); /* * do _not_ fail yet - we might not need that or fail with * a different error; let lookup_open() decide; we'll be --- linux-riscv-5.8-5.8.0.orig/fs/namespace.c +++ linux-riscv-5.8-5.8.0/fs/namespace.c @@ -156,10 +156,10 @@ /* * vfsmount lock must be held for write */ -unsigned int mnt_get_count(struct mount *mnt) +int mnt_get_count(struct mount *mnt) { #ifdef CONFIG_SMP - unsigned int count = 0; + int count = 0; int cpu; for_each_possible_cpu(cpu) { @@ -431,6 +431,7 @@ mnt_dec_writers(real_mount(mnt)); preempt_enable(); } +EXPORT_SYMBOL_GPL(__mnt_drop_write); /** * mnt_drop_write - give up write access to a mount @@ -792,6 +793,13 @@ return mnt->mnt_ns == current->nsproxy->mnt_ns; } +/* for aufs, CONFIG_AUFS_BR_FUSE */ +int is_current_mnt_ns(struct vfsmount *mnt) +{ + return check_mnt(real_mount(mnt)); +} +EXPORT_SYMBOL_GPL(is_current_mnt_ns); + /* * vfsmount lock must be held for write */ @@ -1139,6 +1147,7 @@ static void mntput_no_expire(struct mount *mnt) { LIST_HEAD(list); + int count; rcu_read_lock(); if (likely(READ_ONCE(mnt->mnt_ns))) { @@ -1162,7 +1171,9 @@ */ smp_mb(); mnt_add_count(mnt, -1); - if (mnt_get_count(mnt)) { + count = mnt_get_count(mnt); + if (count != 0) { + WARN_ON(count < 0); rcu_read_unlock(); unlock_mount_hash(); return; @@ -1191,7 +1202,7 @@ struct task_struct *task = current; if (likely(!(task->flags & PF_KTHREAD))) { init_task_work(&mnt->mnt_rcu, __cleanup_mnt); - if (!task_work_add(task, &mnt->mnt_rcu, true)) + if (!task_work_add(task, &mnt->mnt_rcu, TWA_RESUME)) return; } if (llist_add(&mnt->mnt_llist, &delayed_mntput_list)) @@ -1955,6 +1966,7 @@ } return 0; } +EXPORT_SYMBOL_GPL(iterate_mounts); static void lock_mnt_tree(struct mount *mnt) { --- linux-riscv-5.8-5.8.0.orig/fs/nfs/Kconfig +++ linux-riscv-5.8-5.8.0/fs/nfs/Kconfig @@ -127,7 +127,7 @@ config PNFS_FLEXFILE_LAYOUT tristate depends on NFS_V4_1 && NFS_V3 - default m + default NFS_V4 config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN string "NFSv4.1 Implementation ID Domain" --- linux-riscv-5.8-5.8.0.orig/fs/nfs/delegation.c +++ linux-riscv-5.8-5.8.0/fs/nfs/delegation.c @@ -1011,22 +1011,24 @@ const struct nfs_fh *fhandle) { struct nfs_delegation *delegation; - struct inode *freeme, *res = NULL; + struct super_block *freeme = NULL; + struct inode *res = NULL; list_for_each_entry_rcu(delegation, &server->delegations, super_list) { spin_lock(&delegation->lock); if (delegation->inode != NULL && !test_bit(NFS_DELEGATION_REVOKED, &delegation->flags) && nfs_compare_fh(fhandle, &NFS_I(delegation->inode)->fh) == 0) { - freeme = igrab(delegation->inode); - if (freeme && nfs_sb_active(freeme->i_sb)) - res = freeme; + if (nfs_sb_active(server->super)) { + freeme = server->super; + res = igrab(delegation->inode); + } spin_unlock(&delegation->lock); if (res != NULL) return res; if (freeme) { rcu_read_unlock(); - iput(freeme); + nfs_sb_deactive(freeme); rcu_read_lock(); } return ERR_PTR(-EAGAIN); --- linux-riscv-5.8-5.8.0.orig/fs/nfs/dir.c +++ linux-riscv-5.8-5.8.0/fs/nfs/dir.c @@ -579,6 +579,9 @@ xdr_set_scratch_buffer(&stream, page_address(scratch), PAGE_SIZE); do { + if (entry->label) + entry->label->len = NFS4_MAXLABELLEN; + status = xdr_decode(desc, entry, &stream); if (status != 0) { if (status == -EAGAIN) @@ -1204,6 +1207,15 @@ goto out; } +static void nfs_mark_dir_for_revalidate(struct inode *inode) +{ + struct nfs_inode *nfsi = NFS_I(inode); + + spin_lock(&inode->i_lock); + nfsi->cache_validity |= NFS_INO_REVAL_PAGECACHE; + spin_unlock(&inode->i_lock); +} + /* * We judge how long we want to trust negative * dentries by looking at the parent inode mtime. @@ -1238,19 +1250,14 @@ __func__, dentry); return 1; case 0: - nfs_mark_for_revalidate(dir); - if (inode && S_ISDIR(inode->i_mode)) { - /* Purge readdir caches. */ - nfs_zap_caches(inode); - /* - * We can't d_drop the root of a disconnected tree: - * its d_hash is on the s_anon list and d_drop() would hide - * it from shrink_dcache_for_unmount(), leading to busy - * inodes on unmount and further oopses. - */ - if (IS_ROOT(dentry)) - return 1; - } + /* + * We can't d_drop the root of a disconnected tree: + * its d_hash is on the s_anon list and d_drop() would hide + * it from shrink_dcache_for_unmount(), leading to busy + * inodes on unmount and further oopses. + */ + if (inode && IS_ROOT(dentry)) + return 1; dfprintk(LOOKUPCACHE, "NFS: %s(%pd2) is invalid\n", __func__, dentry); return 0; @@ -1328,6 +1335,13 @@ nfs_free_fattr(fattr); nfs_free_fhandle(fhandle); nfs4_label_free(label); + + /* + * If the lookup failed despite the dentry change attribute being + * a match, then we should revalidate the directory cache. + */ + if (!ret && nfs_verify_change_attribute(dir, dentry->d_time)) + nfs_mark_dir_for_revalidate(dir); return nfs_lookup_revalidate_done(dir, dentry, inode, ret); } @@ -1370,7 +1384,7 @@ error = nfs_lookup_verify_inode(inode, flags); if (error) { if (error == -ESTALE) - nfs_zap_caches(dir); + nfs_mark_dir_for_revalidate(dir); goto out_bad; } nfs_advise_use_readdirplus(dir); @@ -1867,7 +1881,6 @@ dput(parent); return d; out_error: - nfs_mark_for_revalidate(dir); d = ERR_PTR(error); goto out; } --- linux-riscv-5.8-5.8.0.orig/fs/nfs/file.c +++ linux-riscv-5.8-5.8.0/fs/nfs/file.c @@ -140,6 +140,7 @@ nfs_file_flush(struct file *file, fl_owner_t id) { struct inode *inode = file_inode(file); + errseq_t since; dprintk("NFS: flush(%pD2)\n", file); @@ -148,7 +149,9 @@ return 0; /* Flush writes to the server and return any errors */ - return nfs_wb_all(inode); + since = filemap_sample_wb_err(file->f_mapping); + nfs_wb_all(inode); + return filemap_check_wb_err(file->f_mapping, since); } ssize_t @@ -587,12 +590,14 @@ .page_mkwrite = nfs_vm_page_mkwrite, }; -static int nfs_need_check_write(struct file *filp, struct inode *inode) +static int nfs_need_check_write(struct file *filp, struct inode *inode, + int error) { struct nfs_open_context *ctx; ctx = nfs_file_open_context(filp); - if (nfs_ctx_key_to_expire(ctx, inode)) + if (nfs_error_is_fatal_on_server(error) || + nfs_ctx_key_to_expire(ctx, inode)) return 1; return 0; } @@ -603,6 +608,8 @@ struct inode *inode = file_inode(file); unsigned long written = 0; ssize_t result; + errseq_t since; + int error; result = nfs_key_timeout_notify(file, inode); if (result) @@ -627,6 +634,7 @@ if (iocb->ki_pos > i_size_read(inode)) nfs_revalidate_mapping(inode, file->f_mapping); + since = filemap_sample_wb_err(file->f_mapping); nfs_start_io_write(inode); result = generic_write_checks(iocb, from); if (result > 0) { @@ -645,7 +653,8 @@ goto out; /* Return error values */ - if (nfs_need_check_write(file, inode)) { + error = filemap_check_wb_err(file->f_mapping, since); + if (nfs_need_check_write(file, inode, error)) { int err = nfs_wb_all(inode); if (err < 0) result = err; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/flexfilelayout/flexfilelayout.c +++ linux-riscv-5.8-5.8.0/fs/nfs/flexfilelayout/flexfilelayout.c @@ -790,6 +790,19 @@ return ff_layout_choose_any_ds_for_read(lseg, start_idx, best_idx); } +static struct nfs4_pnfs_ds * +ff_layout_get_ds_for_read(struct nfs_pageio_descriptor *pgio, int *best_idx) +{ + struct pnfs_layout_segment *lseg = pgio->pg_lseg; + struct nfs4_pnfs_ds *ds; + + ds = ff_layout_choose_best_ds_for_read(lseg, pgio->pg_mirror_idx, + best_idx); + if (ds || !pgio->pg_mirror_idx) + return ds; + return ff_layout_choose_best_ds_for_read(lseg, 0, best_idx); +} + static void ff_layout_pg_get_read(struct nfs_pageio_descriptor *pgio, struct nfs_page *req, @@ -825,6 +838,7 @@ struct nfs4_ff_layout_mirror *mirror; struct nfs4_pnfs_ds *ds; int ds_idx; + u32 i; retry: ff_layout_pg_check_layout(pgio, req); @@ -840,7 +854,7 @@ goto out_nolseg; } - ds = ff_layout_choose_best_ds_for_read(pgio->pg_lseg, 0, &ds_idx); + ds = ff_layout_get_ds_for_read(pgio, &ds_idx); if (!ds) { if (!ff_layout_no_fallback_to_mds(pgio->pg_lseg)) goto out_mds; @@ -851,14 +865,14 @@ goto retry; } - mirror = FF_LAYOUT_COMP(pgio->pg_lseg, ds_idx); + for (i = 0; i < pgio->pg_mirror_count; i++) { + mirror = FF_LAYOUT_COMP(pgio->pg_lseg, i); + pgm = &pgio->pg_mirrors[i]; + pgm->pg_bsize = mirror->mirror_ds->ds_versions[0].rsize; + } pgio->pg_mirror_idx = ds_idx; - /* read always uses only one mirror - idx 0 for pgio layer */ - pgm = &pgio->pg_mirrors[0]; - pgm->pg_bsize = mirror->mirror_ds->ds_versions[0].rsize; - if (NFS_SERVER(pgio->pg_inode)->flags & (NFS_MOUNT_SOFT|NFS_MOUNT_SOFTERR)) pgio->pg_maxretrans = io_maxretrans; @@ -1028,11 +1042,24 @@ } } +static void ff_layout_resend_pnfs_read(struct nfs_pgio_header *hdr) +{ + u32 idx = hdr->pgio_mirror_idx + 1; + int new_idx = 0; + + if (ff_layout_choose_any_ds_for_read(hdr->lseg, idx, &new_idx)) + ff_layout_send_layouterror(hdr->lseg); + else + pnfs_error_mark_layout_for_return(hdr->inode, hdr->lseg); + pnfs_read_resend_pnfs(hdr, new_idx); +} + static void ff_layout_reset_read(struct nfs_pgio_header *hdr) { struct rpc_task *task = &hdr->task; pnfs_layoutcommit_inode(hdr->inode, false); + pnfs_error_mark_layout_for_return(hdr->inode, hdr->lseg); if (!test_and_set_bit(NFS_IOHDR_REDO, &hdr->flags)) { dprintk("%s Reset task %5u for i/o through MDS " @@ -1234,6 +1261,12 @@ break; case NFS4ERR_NXIO: ff_layout_mark_ds_unreachable(lseg, idx); + /* + * Don't return the layout if this is a read and we still + * have layouts to try + */ + if (opnum == OP_READ) + break; /* Fallthrough */ default: pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, @@ -1247,7 +1280,6 @@ static int ff_layout_read_done_cb(struct rpc_task *task, struct nfs_pgio_header *hdr) { - int new_idx = hdr->pgio_mirror_idx; int err; if (task->tk_status < 0) { @@ -1267,10 +1299,6 @@ clear_bit(NFS_IOHDR_RESEND_MDS, &hdr->flags); switch (err) { case -NFS4ERR_RESET_TO_PNFS: - if (ff_layout_choose_best_ds_for_read(hdr->lseg, - hdr->pgio_mirror_idx + 1, - &new_idx)) - goto out_layouterror; set_bit(NFS_IOHDR_RESEND_PNFS, &hdr->flags); return task->tk_status; case -NFS4ERR_RESET_TO_MDS: @@ -1281,10 +1309,6 @@ } return 0; -out_layouterror: - ff_layout_read_record_layoutstats_done(task, hdr); - ff_layout_send_layouterror(hdr->lseg); - hdr->pgio_mirror_idx = new_idx; out_eagain: rpc_restart_call_prepare(task); return -EAGAIN; @@ -1411,10 +1435,9 @@ struct nfs_pgio_header *hdr = data; ff_layout_read_record_layoutstats_done(&hdr->task, hdr); - if (test_bit(NFS_IOHDR_RESEND_PNFS, &hdr->flags)) { - ff_layout_send_layouterror(hdr->lseg); - pnfs_read_resend_pnfs(hdr); - } else if (test_bit(NFS_IOHDR_RESEND_MDS, &hdr->flags)) + if (test_bit(NFS_IOHDR_RESEND_PNFS, &hdr->flags)) + ff_layout_resend_pnfs_read(hdr); + else if (test_bit(NFS_IOHDR_RESEND_MDS, &hdr->flags)) ff_layout_reset_read(hdr); pnfs_generic_rw_release(data); } --- linux-riscv-5.8-5.8.0.orig/fs/nfs/fs_context.c +++ linux-riscv-5.8-5.8.0/fs/nfs/fs_context.c @@ -94,6 +94,7 @@ static const struct constant_table nfs_param_enums_local_lock[] = { { "all", Opt_local_lock_all }, { "flock", Opt_local_lock_flock }, + { "posix", Opt_local_lock_posix }, { "none", Opt_local_lock_none }, {} }; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/nfs/inode.c @@ -2166,7 +2166,7 @@ { struct workqueue_struct *wq; dprintk("RPC: creating workqueue nfsiod\n"); - wq = alloc_workqueue("nfsiod", WQ_MEM_RECLAIM, 0); + wq = alloc_workqueue("nfsiod", WQ_MEM_RECLAIM | WQ_UNBOUND, 0); if (wq == NULL) return -ENOMEM; nfsiod_workqueue = wq; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/internal.h +++ linux-riscv-5.8-5.8.0/fs/nfs/internal.h @@ -142,9 +142,29 @@ } clone_data; }; -#define nfs_errorf(fc, fmt, ...) errorf(fc, fmt, ## __VA_ARGS__) -#define nfs_invalf(fc, fmt, ...) invalf(fc, fmt, ## __VA_ARGS__) -#define nfs_warnf(fc, fmt, ...) warnf(fc, fmt, ## __VA_ARGS__) +#define nfs_errorf(fc, fmt, ...) ((fc)->log.log ? \ + errorf(fc, fmt, ## __VA_ARGS__) : \ + ({ dprintk(fmt "\n", ## __VA_ARGS__); })) + +#define nfs_ferrorf(fc, fac, fmt, ...) ((fc)->log.log ? \ + errorf(fc, fmt, ## __VA_ARGS__) : \ + ({ dfprintk(fac, fmt "\n", ## __VA_ARGS__); })) + +#define nfs_invalf(fc, fmt, ...) ((fc)->log.log ? \ + invalf(fc, fmt, ## __VA_ARGS__) : \ + ({ dprintk(fmt "\n", ## __VA_ARGS__); -EINVAL; })) + +#define nfs_finvalf(fc, fac, fmt, ...) ((fc)->log.log ? \ + invalf(fc, fmt, ## __VA_ARGS__) : \ + ({ dfprintk(fac, fmt "\n", ## __VA_ARGS__); -EINVAL; })) + +#define nfs_warnf(fc, fmt, ...) ((fc)->log.log ? \ + warnf(fc, fmt, ## __VA_ARGS__) : \ + ({ dprintk(fmt "\n", ## __VA_ARGS__); })) + +#define nfs_fwarnf(fc, fac, fmt, ...) ((fc)->log.log ? \ + warnf(fc, fmt, ## __VA_ARGS__) : \ + ({ dfprintk(fac, fmt "\n", ## __VA_ARGS__); })) static inline struct nfs_fs_context *nfs_fc2context(const struct fs_context *fc) { @@ -585,12 +605,14 @@ static inline struct inode *nfs_igrab_and_active(struct inode *inode) { - inode = igrab(inode); - if (inode != NULL && !nfs_sb_active(inode->i_sb)) { - iput(inode); - inode = NULL; + struct super_block *sb = inode->i_sb; + + if (sb && nfs_sb_active(sb)) { + if (igrab(inode)) + return inode; + nfs_sb_deactive(sb); } - return inode; + return NULL; } static inline void nfs_iput_and_deactive(struct inode *inode) --- linux-riscv-5.8-5.8.0.orig/fs/nfs/namespace.c +++ linux-riscv-5.8-5.8.0/fs/nfs/namespace.c @@ -32,9 +32,9 @@ /* * nfs_path - reconstruct the path given an arbitrary dentry * @base - used to return pointer to the end of devname part of path - * @dentry - pointer to dentry + * @dentry_in - pointer to dentry * @buffer - result buffer - * @buflen - length of buffer + * @buflen_in - length of buffer * @flags - options (see below) * * Helper function for constructing the server pathname @@ -49,15 +49,19 @@ * the original device (export) name * (if unset, the original name is returned verbatim) */ -char *nfs_path(char **p, struct dentry *dentry, char *buffer, ssize_t buflen, - unsigned flags) +char *nfs_path(char **p, struct dentry *dentry_in, char *buffer, + ssize_t buflen_in, unsigned flags) { char *end; int namelen; unsigned seq; const char *base; + struct dentry *dentry; + ssize_t buflen; rename_retry: + buflen = buflen_in; + dentry = dentry_in; end = buffer+buflen; *--end = '\0'; buflen--; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs3xdr.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs3xdr.c @@ -35,6 +35,7 @@ */ #define NFS3_fhandle_sz (1+16) #define NFS3_fh_sz (NFS3_fhandle_sz) /* shorthand */ +#define NFS3_post_op_fh_sz (1+NFS3_fh_sz) #define NFS3_sattr_sz (15) #define NFS3_filename_sz (1+(NFS3_MAXNAMLEN>>2)) #define NFS3_path_sz (1+(NFS3_MAXPATHLEN>>2)) @@ -72,7 +73,7 @@ #define NFS3_readlinkres_sz (1+NFS3_post_op_attr_sz+1+1) #define NFS3_readres_sz (1+NFS3_post_op_attr_sz+3+1) #define NFS3_writeres_sz (1+NFS3_wcc_data_sz+4) -#define NFS3_createres_sz (1+NFS3_fh_sz+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) +#define NFS3_createres_sz (1+NFS3_post_op_fh_sz+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) #define NFS3_renameres_sz (1+(2 * NFS3_wcc_data_sz)) #define NFS3_linkres_sz (1+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) #define NFS3_readdirres_sz (1+NFS3_post_op_attr_sz+2+1) --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs42proc.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs42proc.c @@ -355,7 +355,15 @@ truncate_pagecache_range(dst_inode, pos_dst, pos_dst + res->write_res.count); - + spin_lock(&dst_inode->i_lock); + NFS_I(dst_inode)->cache_validity |= (NFS_INO_REVAL_PAGECACHE | + NFS_INO_REVAL_FORCED | NFS_INO_INVALID_SIZE | + NFS_INO_INVALID_ATTR | NFS_INO_INVALID_DATA); + spin_unlock(&dst_inode->i_lock); + spin_lock(&src_inode->i_lock); + NFS_I(src_inode)->cache_validity |= (NFS_INO_REVAL_PAGECACHE | + NFS_INO_REVAL_FORCED | NFS_INO_INVALID_ATIME); + spin_unlock(&src_inode->i_lock); status = res->write_res.count; out: if (args->sync) --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4_fs.h +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4_fs.h @@ -586,6 +586,14 @@ return (s32)(be32_to_cpu(s1->seqid) - be32_to_cpu(s2->seqid)) > 0; } +static inline bool nfs4_stateid_is_next(const nfs4_stateid *s1, const nfs4_stateid *s2) +{ + u32 seq1 = be32_to_cpu(s1->seqid); + u32 seq2 = be32_to_cpu(s2->seqid); + + return seq2 == seq1 + 1U || (seq2 == 1U && seq1 == 0xffffffffU); +} + static inline bool nfs4_stateid_match_or_older(const nfs4_stateid *dst, const nfs4_stateid *src) { return nfs4_stateid_match_other(dst, src) && --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4file.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4file.c @@ -110,6 +110,7 @@ nfs4_file_flush(struct file *file, fl_owner_t id) { struct inode *inode = file_inode(file); + errseq_t since; dprintk("NFS: flush(%pD2)\n", file); @@ -125,7 +126,9 @@ return filemap_fdatawrite(file->f_mapping); /* Flush writes to the server and return any errors */ - return nfs_wb_all(inode); + since = filemap_sample_wb_err(file->f_mapping); + nfs_wb_all(inode); + return filemap_check_wb_err(file->f_mapping, since); } #ifdef CONFIG_NFS_V4_2 @@ -142,7 +145,8 @@ /* Only offload copy if superblock is the same */ if (file_in->f_op != &nfs4_file_operations) return -EXDEV; - if (!nfs_server_capable(file_inode(file_out), NFS_CAP_COPY)) + if (!nfs_server_capable(file_inode(file_out), NFS_CAP_COPY) || + !nfs_server_capable(file_inode(file_in), NFS_CAP_COPY)) return -EOPNOTSUPP; if (file_inode(file_in) == file_inode(file_out)) return -EOPNOTSUPP; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4proc.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4proc.c @@ -130,8 +130,12 @@ static inline void nfs4_label_release_security(struct nfs4_label *label) { - if (label) - security_release_secctx(label->label, label->len); + struct lsmcontext scaff; /* scaffolding */ + + if (label) { + lsmcontext_init(&scaff, label->label, label->len, 0); + security_release_secctx(&scaff); + } } static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) { @@ -1527,19 +1531,6 @@ wake_up_all(&state->waitq); } -static void nfs_state_log_out_of_order_open_stateid(struct nfs4_state *state, - const nfs4_stateid *stateid) -{ - u32 state_seqid = be32_to_cpu(state->open_stateid.seqid); - u32 stateid_seqid = be32_to_cpu(stateid->seqid); - - if (stateid_seqid == state_seqid + 1U || - (stateid_seqid == 1U && state_seqid == 0xffffffffU)) - nfs_state_log_update_open_stateid(state); - else - set_bit(NFS_STATE_CHANGE_WAIT, &state->flags); -} - static void nfs_test_and_clear_all_open_stateid(struct nfs4_state *state) { struct nfs_client *clp = state->owner->so_server->nfs_client; @@ -1565,21 +1556,19 @@ * i.e. The stateid seqids have to be initialised to 1, and * are then incremented on every state transition. */ -static bool nfs_need_update_open_stateid(struct nfs4_state *state, +static bool nfs_stateid_is_sequential(struct nfs4_state *state, const nfs4_stateid *stateid) { - if (test_bit(NFS_OPEN_STATE, &state->flags) == 0 || - !nfs4_stateid_match_other(stateid, &state->open_stateid)) { + if (test_bit(NFS_OPEN_STATE, &state->flags)) { + /* The common case - we're updating to a new sequence number */ + if (nfs4_stateid_match_other(stateid, &state->open_stateid) && + nfs4_stateid_is_next(&state->open_stateid, stateid)) { + return true; + } + } else { + /* This is the first OPEN in this generation */ if (stateid->seqid == cpu_to_be32(1)) - nfs_state_log_update_open_stateid(state); - else - set_bit(NFS_STATE_CHANGE_WAIT, &state->flags); - return true; - } - - if (nfs4_stateid_is_newer(stateid, &state->open_stateid)) { - nfs_state_log_out_of_order_open_stateid(state, stateid); - return true; + return true; } return false; } @@ -1653,16 +1642,16 @@ int status = 0; for (;;) { - if (!nfs_need_update_open_stateid(state, stateid)) - return; - if (!test_bit(NFS_STATE_CHANGE_WAIT, &state->flags)) + if (nfs_stateid_is_sequential(state, stateid)) break; + if (status) break; /* Rely on seqids for serialisation with NFSv4.0 */ if (!nfs4_has_session(NFS_SERVER(state->inode)->nfs_client)) break; + set_bit(NFS_STATE_CHANGE_WAIT, &state->flags); prepare_to_wait(&state->waitq, &wait, TASK_KILLABLE); /* * Ensure we process the state changes in the same order @@ -1673,6 +1662,7 @@ spin_unlock(&state->owner->so_lock); rcu_read_unlock(); trace_nfs4_open_stateid_update_wait(state->inode, stateid, 0); + if (!signal_pending(current)) { if (schedule_timeout(5*HZ) == 0) status = -EAGAIN; @@ -3272,8 +3262,10 @@ /* Servers should only apply open mode checks for file size changes */ truncate = (arg->iap->ia_valid & ATTR_SIZE) ? true : false; - if (!truncate) + if (!truncate) { + nfs4_inode_make_writeable(inode); goto zero_stateid; + } if (nfs4_copy_delegation_stateid(inode, FMODE_WRITE, &arg->stateid, &delegation_cred)) { /* Use that stateid */ @@ -3412,7 +3404,8 @@ __be32 seqid_open; u32 dst_seqid; bool ret; - int seq; + int seq, status = -EAGAIN; + DEFINE_WAIT(wait); for (;;) { ret = false; @@ -3424,15 +3417,41 @@ continue; break; } + + write_seqlock(&state->seqlock); seqid_open = state->open_stateid.seqid; - if (read_seqretry(&state->seqlock, seq)) - continue; dst_seqid = be32_to_cpu(dst->seqid); - if ((s32)(dst_seqid - be32_to_cpu(seqid_open)) >= 0) - dst->seqid = cpu_to_be32(dst_seqid + 1); - else + + /* Did another OPEN bump the state's seqid? try again: */ + if ((s32)(be32_to_cpu(seqid_open) - dst_seqid) > 0) { dst->seqid = seqid_open; + write_sequnlock(&state->seqlock); + ret = true; + break; + } + + /* server says we're behind but we haven't seen the update yet */ + set_bit(NFS_STATE_CHANGE_WAIT, &state->flags); + prepare_to_wait(&state->waitq, &wait, TASK_KILLABLE); + write_sequnlock(&state->seqlock); + trace_nfs4_close_stateid_update_wait(state->inode, dst, 0); + + if (signal_pending(current)) + status = -EINTR; + else + if (schedule_timeout(5*HZ) != 0) + status = 0; + + finish_wait(&state->waitq, &wait); + + if (!status) + continue; + if (status == -EINTR) + break; + + /* we slept the whole 5 seconds, we must have lost a seqid */ + dst->seqid = cpu_to_be32(dst_seqid + 1); ret = true; break; } @@ -3490,10 +3509,8 @@ trace_nfs4_close(state, &calldata->arg, &calldata->res, task->tk_status); /* Handle Layoutreturn errors */ - if (pnfs_roc_done(task, calldata->inode, - &calldata->arg.lr_args, - &calldata->res.lr_res, - &calldata->res.lr_ret) == -EAGAIN) + if (pnfs_roc_done(task, &calldata->arg.lr_args, &calldata->res.lr_res, + &calldata->res.lr_ret) == -EAGAIN) goto out_restart; /* hmm. we are done with the inode, and in the process of freeing @@ -4910,12 +4927,12 @@ u64 cookie, struct page **pages, unsigned int count, bool plus) { struct inode *dir = d_inode(dentry); + struct nfs_server *server = NFS_SERVER(dir); struct nfs4_readdir_arg args = { .fh = NFS_FH(dir), .pages = pages, .pgbase = 0, .count = count, - .bitmask = NFS_SERVER(d_inode(dentry))->attr_bitmask, .plus = plus, }; struct nfs4_readdir_res res; @@ -4930,9 +4947,15 @@ dprintk("%s: dentry = %pd2, cookie = %Lu\n", __func__, dentry, (unsigned long long)cookie); + if (!(server->caps & NFS_CAP_SECURITY_LABEL)) + args.bitmask = server->attr_bitmask_nl; + else + args.bitmask = server->attr_bitmask; + nfs4_setup_readdir(cookie, NFS_I(dir)->cookieverf, dentry, &args); res.pgbase = args.pgbase; - status = nfs4_call_sync(NFS_SERVER(dir)->client, NFS_SERVER(dir), &msg, &args.seq_args, &res.seq_res, 0); + status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, + &res.seq_res, 0); if (status >= 0) { memcpy(NFS_I(dir)->cookieverf, res.verifier.data, NFS4_VERIFIER_SIZE); status += args.pgbase; @@ -5769,6 +5792,9 @@ unsigned int npages = DIV_ROUND_UP(buflen, PAGE_SIZE); int ret, i; + /* You can't remove system.nfs4_acl: */ + if (buflen == 0) + return -EINVAL; if (!nfs4_server_supports_acls(server)) return -EOPNOTSUPP; if (npages > ARRAY_SIZE(pages)) @@ -5845,9 +5871,7 @@ return ret; if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL)) return -ENOENT; - if (buflen < label.len) - return -ERANGE; - return 0; + return label.len; } static int nfs4_get_security_label(struct inode *inode, void *buf, @@ -6253,10 +6277,8 @@ trace_nfs4_delegreturn_exit(&data->args, &data->res, task->tk_status); /* Handle Layoutreturn errors */ - if (pnfs_roc_done(task, data->inode, - &data->args.lr_args, - &data->res.lr_res, - &data->res.lr_ret) == -EAGAIN) + if (pnfs_roc_done(task, &data->args.lr_args, &data->res.lr_res, + &data->res.lr_ret) == -EAGAIN) goto out_restart; switch (task->tk_status) { @@ -6310,10 +6332,10 @@ struct nfs4_delegreturndata *data = calldata; struct inode *inode = data->inode; + if (data->lr.roc) + pnfs_roc_release(&data->lr.arg, &data->lr.res, + data->res.lr_ret); if (inode) { - if (data->lr.roc) - pnfs_roc_release(&data->lr.arg, &data->lr.res, - data->res.lr_ret); nfs_post_op_update_inode_force_wcc(inode, &data->fattr); nfs_iput_and_deactive(inode); } @@ -6388,16 +6410,14 @@ nfs_fattr_init(data->res.fattr); data->timestamp = jiffies; data->rpc_status = 0; - data->lr.roc = pnfs_roc(inode, &data->lr.arg, &data->lr.res, cred); data->inode = nfs_igrab_and_active(inode); - if (data->inode) { + if (data->inode || issync) { + data->lr.roc = pnfs_roc(inode, &data->lr.arg, &data->lr.res, + cred); if (data->lr.roc) { data->args.lr_args = &data->lr.arg; data->res.lr_res = &data->lr.res; } - } else if (data->lr.roc) { - pnfs_roc_release(&data->lr.arg, &data->lr.res, 0); - data->lr.roc = false; } task_setup_data.callback_data = data; @@ -6979,9 +6999,9 @@ data->arg.new_lock_owner, ret); } else data->cancelled = true; + trace_nfs4_set_lock(fl, state, &data->res.stateid, cmd, ret); rpc_put_task(task); dprintk("%s: done, ret = %d!\n", __func__, ret); - trace_nfs4_set_lock(fl, state, &data->res.stateid, cmd, ret); return ret; } @@ -7273,7 +7293,12 @@ err = nfs4_set_lock_state(state, fl); if (err != 0) return err; - err = _nfs4_do_setlk(state, F_SETLK, fl, NFS_LOCK_NEW); + do { + err = _nfs4_do_setlk(state, F_SETLK, fl, NFS_LOCK_NEW); + if (err != -NFS4ERR_DELAY) + break; + ssleep(1); + } while (err == -NFS4ERR_DELAY); return nfs4_handle_delegation_recall_error(server, state, stateid, fl, err); } @@ -7880,9 +7905,11 @@ * both PNFS and NON_PNFS flags set, and not having one of NON_PNFS, PNFS, or * DS flags set. */ -static int nfs4_check_cl_exchange_flags(u32 flags) +static int nfs4_check_cl_exchange_flags(u32 flags, u32 version) { - if (flags & ~EXCHGID4_FLAG_MASK_R) + if (version >= 2 && (flags & ~EXCHGID4_2_FLAG_MASK_R)) + goto out_inval; + else if (version < 2 && (flags & ~EXCHGID4_FLAG_MASK_R)) goto out_inval; if ((flags & EXCHGID4_FLAG_USE_PNFS_MDS) && (flags & EXCHGID4_FLAG_USE_NON_PNFS)) @@ -8295,7 +8322,8 @@ if (status != 0) goto out; - status = nfs4_check_cl_exchange_flags(resp->flags); + status = nfs4_check_cl_exchange_flags(resp->flags, + clp->cl_mvops->minor_version); if (status != 0) goto out; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4super.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4super.c @@ -66,7 +66,7 @@ nfs_inode_evict_delegation(inode); /* Note that above delegreturn would trigger pnfs return-on-close */ pnfs_return_layout(inode); - pnfs_destroy_layout(NFS_I(inode)); + pnfs_destroy_layout_final(NFS_I(inode)); /* First call standard NFS clear_inode() code */ nfs_clear_inode(inode); } @@ -225,7 +225,7 @@ fc, ctx->nfs_server.hostname, ctx->nfs_server.export_path); if (err) { - nfs_errorf(fc, "NFS4: Couldn't follow remote path"); + nfs_ferrorf(fc, MOUNT, "NFS4: Couldn't follow remote path"); dfprintk(MOUNT, "<-- nfs4_try_get_tree() = %d [error]\n", err); } else { dfprintk(MOUNT, "<-- nfs4_try_get_tree() = 0\n"); @@ -248,7 +248,7 @@ fc, ctx->nfs_server.hostname, ctx->nfs_server.export_path); if (err) { - nfs_errorf(fc, "NFS4: Couldn't follow remote path"); + nfs_ferrorf(fc, MOUNT, "NFS4: Couldn't follow remote path"); dfprintk(MOUNT, "<-- nfs4_get_referral_tree() = %d [error]\n", err); } else { dfprintk(MOUNT, "<-- nfs4_get_referral_tree() = 0\n"); --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4trace.h +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4trace.h @@ -1511,6 +1511,7 @@ DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_delegreturn); DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_open_stateid_update); DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_open_stateid_update_wait); +DEFINE_NFS4_INODE_STATEID_EVENT(nfs4_close_stateid_update_wait); DECLARE_EVENT_CLASS(nfs4_getattr_event, TP_PROTO( --- linux-riscv-5.8-5.8.0.orig/fs/nfs/nfs4xdr.c +++ linux-riscv-5.8-5.8.0/fs/nfs/nfs4xdr.c @@ -3009,15 +3009,19 @@ struct compound_hdr hdr = { .minorversion = nfs4_xdr_minorversion(&args->seq_args), }; + uint32_t replen; encode_compound_hdr(xdr, req, &hdr); encode_sequence(xdr, &args->seq_args, &hdr); + + replen = hdr.replen + op_decode_hdr_maxsz; + encode_getdeviceinfo(xdr, args, &hdr); - /* set up reply kvec. Subtract notification bitmap max size (2) - * so that notification bitmap is put in xdr_buf tail */ + /* set up reply kvec. device_addr4 opaque data is read into the + * pages */ rpc_prepare_reply_pages(req, args->pdev->pages, args->pdev->pgbase, - args->pdev->pglen, hdr.replen - 2); + args->pdev->pglen, replen + 2 + 1); encode_nops(&hdr); } @@ -4166,7 +4170,11 @@ return -EIO; if (len < NFS4_MAXLABELLEN) { if (label) { - memcpy(label->label, p, len); + if (label->len) { + if (label->len < len) + return -ERANGE; + memcpy(label->label, p, len); + } label->len = len; label->pi = pi; label->lfs = lfs; --- linux-riscv-5.8-5.8.0.orig/fs/nfs/pnfs.c +++ linux-riscv-5.8-5.8.0/fs/nfs/pnfs.c @@ -294,6 +294,7 @@ pnfs_put_layout_hdr(struct pnfs_layout_hdr *lo) { struct inode *inode; + unsigned long i_state; if (!lo) return; @@ -304,8 +305,12 @@ if (!list_empty(&lo->plh_segs)) WARN_ONCE(1, "NFS: BUG unfreed layout segments.\n"); pnfs_detach_layout_hdr(lo); + i_state = inode->i_state; spin_unlock(&inode->i_lock); pnfs_free_layout_hdr(lo); + /* Notify pnfs_destroy_layout_final() that we're done */ + if (i_state & (I_FREEING | I_CLEAR)) + wake_up_var(lo); } } @@ -319,6 +324,21 @@ return NULL; } +/* + * Compare 2 layout stateid sequence ids, to see which is newer, + * taking into account wraparound issues. + */ +static bool pnfs_seqid_is_newer(u32 s1, u32 s2) +{ + return (s32)(s1 - s2) > 0; +} + +static void pnfs_barrier_update(struct pnfs_layout_hdr *lo, u32 newseq) +{ + if (pnfs_seqid_is_newer(newseq, lo->plh_barrier)) + lo->plh_barrier = newseq; +} + static void pnfs_set_plh_return_info(struct pnfs_layout_hdr *lo, enum pnfs_iomode iomode, u32 seq) @@ -330,6 +350,7 @@ if (seq != 0) { WARN_ON_ONCE(lo->plh_return_seq != 0 && lo->plh_return_seq != seq); lo->plh_return_seq = seq; + pnfs_barrier_update(lo, seq); } } @@ -634,15 +655,6 @@ return rv; } -/* - * Compare 2 layout stateid sequence ids, to see which is newer, - * taking into account wraparound issues. - */ -static bool pnfs_seqid_is_newer(u32 s1, u32 s2) -{ - return (s32)(s1 - s2) > 0; -} - static bool pnfs_should_free_range(const struct pnfs_layout_range *lseg_range, const struct pnfs_layout_range *recall_range) @@ -734,8 +746,7 @@ } } -void -pnfs_destroy_layout(struct nfs_inode *nfsi) +static struct pnfs_layout_hdr *__pnfs_destroy_layout(struct nfs_inode *nfsi) { struct pnfs_layout_hdr *lo; LIST_HEAD(tmp_list); @@ -753,9 +764,34 @@ pnfs_put_layout_hdr(lo); } else spin_unlock(&nfsi->vfs_inode.i_lock); + return lo; +} + +void pnfs_destroy_layout(struct nfs_inode *nfsi) +{ + __pnfs_destroy_layout(nfsi); } EXPORT_SYMBOL_GPL(pnfs_destroy_layout); +static bool pnfs_layout_removed(struct nfs_inode *nfsi, + struct pnfs_layout_hdr *lo) +{ + bool ret; + + spin_lock(&nfsi->vfs_inode.i_lock); + ret = nfsi->layout != lo; + spin_unlock(&nfsi->vfs_inode.i_lock); + return ret; +} + +void pnfs_destroy_layout_final(struct nfs_inode *nfsi) +{ + struct pnfs_layout_hdr *lo = __pnfs_destroy_layout(nfsi); + + if (lo) + wait_var_event(lo, pnfs_layout_removed(nfsi, lo)); +} + static bool pnfs_layout_add_bulk_destroy_list(struct inode *inode, struct list_head *layout_list) @@ -955,8 +991,7 @@ new_barrier = be32_to_cpu(new->seqid); else if (new_barrier == 0) return; - if (pnfs_seqid_is_newer(new_barrier, lo->plh_barrier)) - lo->plh_barrier = new_barrier; + pnfs_barrier_update(lo, new_barrier); } static bool @@ -965,7 +1000,7 @@ { u32 seqid = be32_to_cpu(stateid->seqid); - return !pnfs_seqid_is_newer(seqid, lo->plh_barrier); + return !pnfs_seqid_is_newer(seqid, lo->plh_barrier) && lo->plh_barrier; } /* lget is set to 1 if called from inside send_layoutget call chain */ @@ -1154,20 +1189,17 @@ return false; set_bit(NFS_LAYOUT_RETURN, &lo->plh_flags); pnfs_get_layout_hdr(lo); + nfs4_stateid_copy(stateid, &lo->plh_stateid); + *cred = get_cred(lo->plh_lc_cred); if (test_bit(NFS_LAYOUT_RETURN_REQUESTED, &lo->plh_flags)) { - nfs4_stateid_copy(stateid, &lo->plh_stateid); - *cred = get_cred(lo->plh_lc_cred); if (lo->plh_return_seq != 0) stateid->seqid = cpu_to_be32(lo->plh_return_seq); if (iomode != NULL) *iomode = lo->plh_return_iomode; pnfs_clear_layoutreturn_info(lo); - return true; - } - nfs4_stateid_copy(stateid, &lo->plh_stateid); - *cred = get_cred(lo->plh_lc_cred); - if (iomode != NULL) + } else if (iomode != NULL) *iomode = IOMODE_ANY; + pnfs_barrier_update(lo, be32_to_cpu(stateid->seqid)); return true; } @@ -1226,31 +1258,27 @@ return status; } +static bool +pnfs_layout_segments_returnable(struct pnfs_layout_hdr *lo, + enum pnfs_iomode iomode, + u32 seq) +{ + struct pnfs_layout_range recall_range = { + .length = NFS4_MAX_UINT64, + .iomode = iomode, + }; + return pnfs_mark_matching_lsegs_return(lo, &lo->plh_return_segs, + &recall_range, seq) != -EBUSY; +} + /* Return true if layoutreturn is needed */ static bool pnfs_layout_need_return(struct pnfs_layout_hdr *lo) { - struct pnfs_layout_segment *s; - enum pnfs_iomode iomode; - u32 seq; - if (!test_bit(NFS_LAYOUT_RETURN_REQUESTED, &lo->plh_flags)) return false; - - seq = lo->plh_return_seq; - iomode = lo->plh_return_iomode; - - /* Defer layoutreturn until all recalled lsegs are done */ - list_for_each_entry(s, &lo->plh_segs, pls_list) { - if (seq && pnfs_seqid_is_newer(s->pls_seq, seq)) - continue; - if (iomode != IOMODE_ANY && s->pls_range.iomode != iomode) - continue; - if (test_bit(NFS_LSEG_LAYOUTRETURN, &s->pls_flags)) - return false; - } - - return true; + return pnfs_layout_segments_returnable(lo, lo->plh_return_iomode, + lo->plh_return_seq); } static void pnfs_layoutreturn_before_put_layout_hdr(struct pnfs_layout_hdr *lo) @@ -1484,10 +1512,8 @@ return false; } -int pnfs_roc_done(struct rpc_task *task, struct inode *inode, - struct nfs4_layoutreturn_args **argpp, - struct nfs4_layoutreturn_res **respp, - int *ret) +int pnfs_roc_done(struct rpc_task *task, struct nfs4_layoutreturn_args **argpp, + struct nfs4_layoutreturn_res **respp, int *ret) { struct nfs4_layoutreturn_args *arg = *argpp; int retval = -EAGAIN; @@ -1520,7 +1546,7 @@ return 0; case -NFS4ERR_OLD_STATEID: if (!nfs4_layout_refresh_old_stateid(&arg->stateid, - &arg->range, inode)) + &arg->range, arg->inode)) break; *ret = -NFS4ERR_NOMATCHING_LAYOUT; return -EAGAIN; @@ -1535,12 +1561,18 @@ int ret) { struct pnfs_layout_hdr *lo = args->layout; + struct inode *inode = args->inode; const nfs4_stateid *arg_stateid = NULL; const nfs4_stateid *res_stateid = NULL; struct nfs4_xdr_opaque_data *ld_private = args->ld_private; switch (ret) { case -NFS4ERR_NOMATCHING_LAYOUT: + spin_lock(&inode->i_lock); + if (pnfs_layout_is_valid(lo) && + nfs4_stateid_match_other(&args->stateid, &lo->plh_stateid)) + pnfs_set_plh_return_info(lo, args->range.iomode, 0); + spin_unlock(&inode->i_lock); break; case 0: if (res->lrs_present) @@ -1881,6 +1913,11 @@ wake_up_var(&lo->plh_outstanding); } +static bool pnfs_is_first_layoutget(struct pnfs_layout_hdr *lo) +{ + return test_bit(NFS_LAYOUT_FIRST_LAYOUTGET, &lo->plh_flags); +} + static void pnfs_clear_first_layoutget(struct pnfs_layout_hdr *lo) { unsigned long *bitlock = &lo->plh_flags; @@ -1990,6 +2027,27 @@ goto lookup_again; } + /* + * Because we free lsegs when sending LAYOUTRETURN, we need to wait + * for LAYOUTRETURN. + */ + if (test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) { + spin_unlock(&ino->i_lock); + dprintk("%s wait for layoutreturn\n", __func__); + lseg = ERR_PTR(pnfs_prepare_to_retry_layoutget(lo)); + if (!IS_ERR(lseg)) { + pnfs_put_layout_hdr(lo); + dprintk("%s retrying\n", __func__); + trace_pnfs_update_layout(ino, pos, count, iomode, lo, + lseg, + PNFS_UPDATE_LAYOUT_RETRY); + goto lookup_again; + } + trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, + PNFS_UPDATE_LAYOUT_RETURN); + goto out_put_layout_hdr; + } + lseg = pnfs_find_lseg(lo, &arg, strict_iomode); if (lseg) { trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, @@ -2042,28 +2100,6 @@ nfs4_stateid_copy(&stateid, &lo->plh_stateid); } - /* - * Because we free lsegs before sending LAYOUTRETURN, we need to wait - * for LAYOUTRETURN even if first is true. - */ - if (test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) { - spin_unlock(&ino->i_lock); - dprintk("%s wait for layoutreturn\n", __func__); - lseg = ERR_PTR(pnfs_prepare_to_retry_layoutget(lo)); - if (!IS_ERR(lseg)) { - if (first) - pnfs_clear_first_layoutget(lo); - pnfs_put_layout_hdr(lo); - dprintk("%s retrying\n", __func__); - trace_pnfs_update_layout(ino, pos, count, iomode, lo, - lseg, PNFS_UPDATE_LAYOUT_RETRY); - goto lookup_again; - } - trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, - PNFS_UPDATE_LAYOUT_RETURN); - goto out_put_layout_hdr; - } - if (pnfs_layoutgets_blocked(lo)) { trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, PNFS_UPDATE_LAYOUT_BLOCKED); @@ -2217,6 +2253,7 @@ &rng, GFP_KERNEL); if (!lgp) { pnfs_clear_first_layoutget(lo); + nfs_layoutget_end(lo); pnfs_put_layout_hdr(lo); return; } @@ -2355,23 +2392,34 @@ goto out_forget; } - if (!pnfs_layout_is_valid(lo)) { - /* We have a completely new layout */ - pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, true); - } else if (nfs4_stateid_match_other(&lo->plh_stateid, &res->stateid)) { + if (nfs4_stateid_match_other(&lo->plh_stateid, &res->stateid)) { /* existing state ID, make sure the sequence number matches. */ if (pnfs_layout_stateid_blocked(lo, &res->stateid)) { + if (!pnfs_layout_is_valid(lo) && + pnfs_is_first_layoutget(lo)) + lo->plh_barrier = 0; dprintk("%s forget reply due to sequence\n", __func__); goto out_forget; } pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, false); - } else { + } else if (pnfs_layout_is_valid(lo)) { /* * We got an entirely new state ID. Mark all segments for the * inode invalid, and retry the layoutget */ - pnfs_mark_layout_stateid_invalid(lo, &free_me); + struct pnfs_layout_range range = { + .iomode = IOMODE_ANY, + .length = NFS4_MAX_UINT64, + }; + pnfs_set_plh_return_info(lo, IOMODE_ANY, 0); + pnfs_mark_matching_lsegs_return(lo, &lo->plh_return_segs, + &range, 0); goto out_forget; + } else { + /* We have a completely new layout */ + if (!pnfs_is_first_layoutget(lo)) + goto out_forget; + pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, true); } pnfs_get_lseg(lseg); @@ -2389,19 +2437,10 @@ spin_unlock(&ino->i_lock); lseg->pls_layout = lo; NFS_SERVER(ino)->pnfs_curr_ld->free_lseg(lseg); + pnfs_free_lseg_list(&free_me); return ERR_PTR(-EAGAIN); } -static int -mark_lseg_invalid_or_return(struct pnfs_layout_segment *lseg, - struct list_head *tmp_list) -{ - if (!mark_lseg_invalid(lseg, tmp_list)) - return 0; - pnfs_cache_lseg_for_layoutreturn(lseg->pls_layout, lseg); - return 1; -} - /** * pnfs_mark_matching_lsegs_return - Free or return matching layout segments * @lo: pointer to layout header @@ -2438,7 +2477,7 @@ lseg, lseg->pls_range.iomode, lseg->pls_range.offset, lseg->pls_range.length); - if (mark_lseg_invalid_or_return(lseg, tmp_list)) + if (mark_lseg_invalid(lseg, tmp_list)) continue; remaining++; set_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags); @@ -2953,7 +2992,8 @@ } /* Resend all requests through pnfs. */ -void pnfs_read_resend_pnfs(struct nfs_pgio_header *hdr) +void pnfs_read_resend_pnfs(struct nfs_pgio_header *hdr, + unsigned int mirror_idx) { struct nfs_pageio_descriptor pgio; @@ -2964,6 +3004,7 @@ nfs_pageio_init_read(&pgio, hdr->inode, false, hdr->completion_ops); + pgio.pg_mirror_idx = mirror_idx; hdr->task.tk_status = nfs_pageio_resend(&pgio, hdr); } } --- linux-riscv-5.8-5.8.0.orig/fs/nfs/pnfs.h +++ linux-riscv-5.8-5.8.0/fs/nfs/pnfs.h @@ -266,6 +266,7 @@ void pnfs_layoutget_free(struct nfs4_layoutget *lgp); void pnfs_free_lseg_list(struct list_head *tmp_list); void pnfs_destroy_layout(struct nfs_inode *); +void pnfs_destroy_layout_final(struct nfs_inode *); void pnfs_destroy_all_layouts(struct nfs_client *); int pnfs_destroy_layouts_byfsid(struct nfs_client *clp, struct nfs_fsid *fsid, @@ -294,10 +295,8 @@ struct nfs4_layoutreturn_args *args, struct nfs4_layoutreturn_res *res, const struct cred *cred); -int pnfs_roc_done(struct rpc_task *task, struct inode *inode, - struct nfs4_layoutreturn_args **argpp, - struct nfs4_layoutreturn_res **respp, - int *ret); +int pnfs_roc_done(struct rpc_task *task, struct nfs4_layoutreturn_args **argpp, + struct nfs4_layoutreturn_res **respp, int *ret); void pnfs_roc_release(struct nfs4_layoutreturn_args *args, struct nfs4_layoutreturn_res *res, int ret); @@ -311,7 +310,7 @@ int pnfs_commit_and_return_layout(struct inode *); void pnfs_ld_write_done(struct nfs_pgio_header *); void pnfs_ld_read_done(struct nfs_pgio_header *); -void pnfs_read_resend_pnfs(struct nfs_pgio_header *); +void pnfs_read_resend_pnfs(struct nfs_pgio_header *, unsigned int mirror_idx); struct pnfs_layout_segment *pnfs_update_layout(struct inode *ino, struct nfs_open_context *ctx, loff_t pos, @@ -710,6 +709,10 @@ { } +static inline void pnfs_destroy_layout_final(struct nfs_inode *nfsi) +{ +} + static inline struct pnfs_layout_segment * pnfs_get_lseg(struct pnfs_layout_segment *lseg) { @@ -765,7 +768,7 @@ } static inline int -pnfs_roc_done(struct rpc_task *task, struct inode *inode, +pnfs_roc_done(struct rpc_task *task, struct nfs4_layoutreturn_args **argpp, struct nfs4_layoutreturn_res **respp, int *ret) --- linux-riscv-5.8-5.8.0.orig/fs/nfs/pnfs_nfs.c +++ linux-riscv-5.8-5.8.0/fs/nfs/pnfs_nfs.c @@ -78,22 +78,18 @@ pnfs_generic_clear_request_commit(struct nfs_page *req, struct nfs_commit_info *cinfo) { - struct pnfs_layout_segment *freeme = NULL; + struct pnfs_commit_bucket *bucket = NULL; if (!test_and_clear_bit(PG_COMMIT_TO_DS, &req->wb_flags)) goto out; cinfo->ds->nwritten--; - if (list_is_singular(&req->wb_list)) { - struct pnfs_commit_bucket *bucket; - + if (list_is_singular(&req->wb_list)) bucket = list_first_entry(&req->wb_list, - struct pnfs_commit_bucket, - written); - freeme = pnfs_free_bucket_lseg(bucket); - } + struct pnfs_commit_bucket, written); out: nfs_request_remove_commit_list(req, cinfo); - pnfs_put_lseg(freeme); + if (bucket) + pnfs_put_lseg(pnfs_free_bucket_lseg(bucket)); } EXPORT_SYMBOL_GPL(pnfs_generic_clear_request_commit); @@ -407,12 +403,16 @@ struct pnfs_commit_bucket *bucket, struct nfs_commit_info *cinfo) { + struct pnfs_layout_segment *lseg; struct list_head *pos; list_for_each(pos, &bucket->committing) cinfo->ds->ncommitting--; list_splice_init(&bucket->committing, head); - return pnfs_free_bucket_lseg(bucket); + lseg = pnfs_free_bucket_lseg(bucket); + if (!lseg) + lseg = pnfs_get_lseg(bucket->lseg); + return lseg; } static struct nfs_commit_data * @@ -424,8 +424,6 @@ if (!data) return NULL; data->lseg = pnfs_bucket_get_committing(&data->pages, bucket, cinfo); - if (!data->lseg) - data->lseg = pnfs_get_lseg(bucket->lseg); return data; } --- linux-riscv-5.8-5.8.0.orig/fs/nfs_common/grace.c +++ linux-riscv-5.8-5.8.0/fs/nfs_common/grace.c @@ -69,10 +69,14 @@ if (!open) return !list_empty(grace_list); + spin_lock(&grace_lock); list_for_each_entry(lm, grace_list, list) { - if (lm->block_opens) + if (lm->block_opens) { + spin_unlock(&grace_lock); return true; + } } + spin_unlock(&grace_lock); return false; } --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/Kconfig +++ linux-riscv-5.8-5.8.0/fs/nfsd/Kconfig @@ -73,6 +73,7 @@ select NFSD_V3 select FS_POSIX_ACL select SUNRPC_GSS + select CRYPTO select CRYPTO_MD5 select CRYPTO_SHA256 select GRACE_PERIOD --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/filecache.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/filecache.c @@ -899,6 +899,8 @@ continue; if (!nfsd_match_cred(nf->nf_cred, current_cred())) continue; + if (!test_bit(NFSD_FILE_HASHED, &nf->nf_flags)) + continue; if (nfsd_file_get(nf) != NULL) return nf; } --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs3xdr.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs3xdr.c @@ -849,9 +849,14 @@ if (isdotent(name, namlen)) { if (namlen == 2) { dchild = dget_parent(dparent); - /* filesystem root - cannot return filehandle for ".." */ + /* + * Don't return filehandle for ".." if we're at + * the filesystem or export root: + */ if (dchild == dparent) goto out; + if (dparent == exp->ex_path.dentry) + goto out; } else dchild = dget(dparent); } else --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs4callback.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs4callback.c @@ -1189,6 +1189,7 @@ switch (task->tk_status) { case -EIO: case -ETIMEDOUT: + case -EACCES: nfsd4_mark_cb_down(clp, task->tk_status); } break; --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs4proc.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs4proc.c @@ -1292,7 +1292,7 @@ struct nfsd_file *dst) { nfs42_ssc_close(src->nf_file); - nfsd_file_put(src); + fput(src->nf_file); nfsd_file_put(dst); mntput(ss_mnt); } @@ -1479,6 +1479,7 @@ cb_copy = kzalloc(sizeof(struct nfsd4_copy), GFP_KERNEL); if (!cb_copy) goto out; + refcount_set(&cb_copy->refcount, 1); memcpy(&cb_copy->cp_res, ©->cp_res, sizeof(copy->cp_res)); cb_copy->cp_clp = copy->cp_clp; cb_copy->nfserr = copy->nfserr; --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs4recover.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs4recover.c @@ -747,13 +747,11 @@ }; static int -__cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg) +__cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg, struct nfsd_net *nn) { int ret; struct rpc_pipe_msg msg; struct cld_upcall *cup = container_of(cmsg, struct cld_upcall, cu_u); - struct nfsd_net *nn = net_generic(pipe->dentry->d_sb->s_fs_info, - nfsd_net_id); memset(&msg, 0, sizeof(msg)); msg.data = cmsg; @@ -773,7 +771,7 @@ } static int -cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg) +cld_pipe_upcall(struct rpc_pipe *pipe, void *cmsg, struct nfsd_net *nn) { int ret; @@ -782,7 +780,7 @@ * upcalls queued. */ do { - ret = __cld_pipe_upcall(pipe, cmsg); + ret = __cld_pipe_upcall(pipe, cmsg, nn); } while (ret == -EAGAIN); return ret; @@ -1115,7 +1113,7 @@ memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, clp->cl_name.len); - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) { ret = cup->cu_u.cu_msg.cm_status; set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); @@ -1180,7 +1178,7 @@ } else cmsg->cm_u.cm_clntinfo.cc_princhash.cp_len = 0; - ret = cld_pipe_upcall(cn->cn_pipe, cmsg); + ret = cld_pipe_upcall(cn->cn_pipe, cmsg, nn); if (!ret) { ret = cmsg->cm_status; set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); @@ -1218,7 +1216,7 @@ memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, clp->cl_name.len); - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) { ret = cup->cu_u.cu_msg.cm_status; clear_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); @@ -1261,7 +1259,7 @@ memcpy(cup->cu_u.cu_msg.cm_u.cm_name.cn_id, clp->cl_name.data, clp->cl_name.len); - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) { ret = cup->cu_u.cu_msg.cm_status; set_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags); @@ -1404,7 +1402,7 @@ } cup->cu_u.cu_msg.cm_cmd = Cld_GraceStart; - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) ret = cup->cu_u.cu_msg.cm_status; @@ -1432,7 +1430,7 @@ cup->cu_u.cu_msg.cm_cmd = Cld_GraceDone; cup->cu_u.cu_msg.cm_u.cm_gracetime = nn->boot_time; - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) ret = cup->cu_u.cu_msg.cm_status; @@ -1460,7 +1458,7 @@ } cup->cu_u.cu_msg.cm_cmd = Cld_GraceDone; - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) ret = cup->cu_u.cu_msg.cm_status; @@ -1524,7 +1522,7 @@ goto out_err; } cup->cu_u.cu_msg.cm_cmd = Cld_GetVersion; - ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg); + ret = cld_pipe_upcall(cn->cn_pipe, &cup->cu_u.cu_msg, nn); if (!ret) { ret = cup->cu_u.cu_msg.cm_status; if (ret) --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs4state.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs4state.c @@ -769,6 +769,7 @@ spin_lock(&nn->s2s_cp_lock); new_id = idr_alloc_cyclic(&nn->s2s_cp_stateids, stid, 0, 0, GFP_NOWAIT); stid->stid.si_opaque.so_id = new_id; + stid->stid.si_generation = 1; spin_unlock(&nn->s2s_cp_lock); idr_preload_end(); if (new_id < 0) @@ -4597,6 +4598,8 @@ if (!i_am_nfsd()) return NULL; rqst = kthread_data(current); + if (!rqst->rq_lease_breaker) + return NULL; clp = *(rqst->rq_lease_breaker); return dl->dl_stid.sc_client == clp; } @@ -5098,7 +5101,7 @@ memcpy(&open->op_delegate_stateid, &dp->dl_stid.sc_stateid, sizeof(dp->dl_stid.sc_stateid)); - trace_nfsd_deleg_open(&dp->dl_stid.sc_stateid); + trace_nfsd_deleg_read(&dp->dl_stid.sc_stateid); open->op_delegate_type = NFS4_OPEN_DELEGATE_READ; nfs4_put_stid(&dp->dl_stid); return; @@ -5215,7 +5218,7 @@ nfs4_open_delegation(current_fh, open, stp); nodeleg: status = nfs_ok; - trace_nfsd_deleg_none(&stp->st_stid.sc_stateid); + trace_nfsd_open(&stp->st_stid.sc_stateid); out: /* 4.1 client trying to upgrade/downgrade delegation? */ if (open->op_delegate_type == NFS4_OPEN_DELEGATE_NONE && dp && @@ -5367,7 +5370,7 @@ idr_for_each_entry(&nn->s2s_cp_stateids, cps_t, i) { cps = container_of(cps_t, struct nfs4_cpntf_state, cp_stateid); if (cps->cp_stateid.sc_type == NFS4_COPYNOTIFY_STID && - cps->cpntf_time > cutoff) + cps->cpntf_time < cutoff) _free_cpntf_state_locked(nn, cps); } spin_unlock(&nn->s2s_cp_lock); --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfs4xdr.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfs4xdr.c @@ -2379,11 +2379,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; @@ -2393,13 +2393,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 @@ -2496,8 +2496,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; @@ -2555,7 +2554,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); @@ -2985,8 +2984,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; } @@ -2998,8 +2996,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) { --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfsctl.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfsctl.c @@ -1522,12 +1522,9 @@ int retval; printk(KERN_INFO "Installing knfsd (copyright (C) 1996 okir@monad.swb.de).\n"); - retval = register_pernet_subsys(&nfsd_net_ops); - if (retval < 0) - return retval; retval = register_cld_notifier(); if (retval) - goto out_unregister_pernet; + return retval; retval = nfsd4_init_slabs(); if (retval) goto out_unregister_notifier; @@ -1545,9 +1542,14 @@ goto out_free_lockd; retval = register_filesystem(&nfsd_fs_type); if (retval) + goto out_free_exports; + retval = register_pernet_subsys(&nfsd_net_ops); + if (retval < 0) goto out_free_all; return 0; out_free_all: + unregister_pernet_subsys(&nfsd_net_ops); +out_free_exports: remove_proc_entry("fs/nfs/exports", NULL); remove_proc_entry("fs/nfs", NULL); out_free_lockd: @@ -1561,13 +1563,12 @@ nfsd4_free_slabs(); out_unregister_notifier: unregister_cld_notifier(); -out_unregister_pernet: - unregister_pernet_subsys(&nfsd_net_ops); return retval; } static void __exit exit_nfsd(void) { + unregister_pernet_subsys(&nfsd_net_ops); nfsd_drc_slab_free(); remove_proc_entry("fs/nfs/exports", NULL); remove_proc_entry("fs/nfs", NULL); @@ -1578,7 +1579,6 @@ nfsd_fault_inject_cleanup(); unregister_filesystem(&nfsd_fs_type); unregister_cld_notifier(); - unregister_pernet_subsys(&nfsd_net_ops); } MODULE_AUTHOR("Olaf Kirch "); --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfsproc.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfsproc.c @@ -118,6 +118,13 @@ return nfsd_return_attrs(nfserr, resp); } +/* Obsolete, replaced by MNTPROC_MNT. */ +static __be32 +nfsd_proc_root(struct svc_rqst *rqstp) +{ + return nfs_ok; +} + /* * Look up a path name component * Note: the dentry in the resp->fh may be negative if the file @@ -203,6 +210,13 @@ return fh_getattr(&resp->fh, &resp->stat); } +/* Reserved */ +static __be32 +nfsd_proc_writecache(struct svc_rqst *rqstp) +{ + return nfs_ok; +} + /* * Write data to a file * N.B. After this call resp->fh needs an fh_put @@ -617,6 +631,7 @@ .pc_xdrressize = ST+AT, }, [NFSPROC_ROOT] = { + .pc_func = nfsd_proc_root, .pc_decode = nfssvc_decode_void, .pc_encode = nfssvc_encode_void, .pc_argsize = sizeof(struct nfsd_void), @@ -654,6 +669,7 @@ .pc_xdrressize = ST+AT+1+NFSSVC_MAXBLKSIZE_V2/4, }, [NFSPROC_WRITECACHE] = { + .pc_func = nfsd_proc_writecache, .pc_decode = nfssvc_decode_void, .pc_encode = nfssvc_encode_void, .pc_argsize = sizeof(struct nfsd_void), --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/nfssvc.c +++ linux-riscv-5.8-5.8.0/fs/nfsd/nfssvc.c @@ -527,8 +527,7 @@ return; nfsd_shutdown_net(net); - printk(KERN_WARNING "nfsd: last server has exited, flushing export " - "cache\n"); + pr_info("nfsd: last server has exited, flushing export cache\n"); nfsd_export_flush(net); } --- linux-riscv-5.8-5.8.0.orig/fs/nfsd/trace.h +++ linux-riscv-5.8-5.8.0/fs/nfsd/trace.h @@ -289,8 +289,8 @@ DEFINE_STATEID_EVENT(layout_recall_fail); DEFINE_STATEID_EVENT(layout_recall_release); -DEFINE_STATEID_EVENT(deleg_open); -DEFINE_STATEID_EVENT(deleg_none); +DEFINE_STATEID_EVENT(open); +DEFINE_STATEID_EVENT(deleg_read); DEFINE_STATEID_EVENT(deleg_break); DEFINE_STATEID_EVENT(deleg_recall); --- linux-riscv-5.8-5.8.0.orig/fs/nilfs2/file.c +++ linux-riscv-5.8-5.8.0/fs/nilfs2/file.c @@ -141,6 +141,7 @@ /* .release = nilfs_release_file, */ .fsync = nilfs_sync_file, .splice_read = generic_file_splice_read, + .splice_write = iter_file_splice_write, }; const struct inode_operations nilfs_file_inode_operations = { --- linux-riscv-5.8-5.8.0.orig/fs/notify/fanotify/fanotify_user.c +++ linux-riscv-5.8-5.8.0/fs/notify/fanotify/fanotify_user.c @@ -1173,26 +1173,23 @@ return ret; } +#ifndef CONFIG_ARCH_SPLIT_ARG64 SYSCALL_DEFINE5(fanotify_mark, int, fanotify_fd, unsigned int, flags, __u64, mask, int, dfd, const char __user *, pathname) { return do_fanotify_mark(fanotify_fd, flags, mask, dfd, pathname); } +#endif -#ifdef CONFIG_COMPAT -COMPAT_SYSCALL_DEFINE6(fanotify_mark, +#if defined(CONFIG_ARCH_SPLIT_ARG64) || defined(CONFIG_COMPAT) +SYSCALL32_DEFINE6(fanotify_mark, int, fanotify_fd, unsigned int, flags, - __u32, mask0, __u32, mask1, int, dfd, + SC_ARG64(mask), int, dfd, const char __user *, pathname) { - return do_fanotify_mark(fanotify_fd, flags, -#ifdef __BIG_ENDIAN - ((__u64)mask0 << 32) | mask1, -#else - ((__u64)mask1 << 32) | mask0, -#endif - dfd, pathname); + return do_fanotify_mark(fanotify_fd, flags, SC_VAL64(__u64, mask), + dfd, pathname); } #endif --- linux-riscv-5.8-5.8.0.orig/fs/notify/group.c +++ linux-riscv-5.8-5.8.0/fs/notify/group.c @@ -100,6 +100,7 @@ { refcount_inc(&group->refcnt); } +EXPORT_SYMBOL_GPL(fsnotify_get_group); /* * Drop a reference to a group. Free it if it's through. --- linux-riscv-5.8-5.8.0.orig/fs/ntfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/ntfs/inode.c @@ -628,6 +628,12 @@ } a = ctx->attr; /* Get the standard information attribute value. */ + if ((u8 *)a + le16_to_cpu(a->data.resident.value_offset) + + le32_to_cpu(a->data.resident.value_length) > + (u8 *)ctx->mrec + vol->mft_record_size) { + ntfs_error(vi->i_sb, "Corrupt standard information attribute in inode."); + goto unm_err_out; + } si = (STANDARD_INFORMATION*)((u8*)a + le16_to_cpu(a->data.resident.value_offset)); @@ -1809,6 +1815,12 @@ brelse(bh); } + if (le32_to_cpu(m->bytes_allocated) != vol->mft_record_size) { + ntfs_error(sb, "Incorrect mft record size %u in superblock, should be %u.", + le32_to_cpu(m->bytes_allocated), vol->mft_record_size); + goto err_out; + } + /* Apply the mst fixups. */ if (post_read_mst_fixup((NTFS_RECORD*)m, vol->mft_record_size)) { /* FIXME: Try to use the $MFTMirr now. */ --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/aops.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/aops.c @@ -2295,7 +2295,7 @@ struct ocfs2_alloc_context *meta_ac = NULL; handle_t *handle = NULL; loff_t end = offset + bytes; - int ret = 0, credits = 0, locked = 0; + int ret = 0, credits = 0; ocfs2_init_dealloc_ctxt(&dealloc); @@ -2306,13 +2306,6 @@ !dwc->dw_orphaned) goto out; - /* ocfs2_file_write_iter will get i_mutex, so we need not lock if we - * are in that context. */ - if (dwc->dw_writer_pid != task_pid_nr(current)) { - inode_lock(inode); - locked = 1; - } - ret = ocfs2_inode_lock(inode, &di_bh, 1); if (ret < 0) { mlog_errno(ret); @@ -2393,8 +2386,6 @@ if (meta_ac) ocfs2_free_alloc_context(meta_ac); ocfs2_run_deallocs(osb, &dealloc); - if (locked) - inode_unlock(inode); ocfs2_dio_free_write_ctx(inode, dwc); return ret; --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/cluster/heartbeat.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/cluster/heartbeat.c @@ -2050,7 +2050,7 @@ o2hb_nego_timeout_handler, reg, NULL, ®->hr_handler_list); if (ret) - goto free; + goto remove_item; ret = o2net_register_handler(O2HB_NEGO_APPROVE_MSG, reg->hr_key, sizeof(struct o2hb_nego_msg), @@ -2065,6 +2065,12 @@ unregister_handler: o2net_unregister_handler_list(®->hr_handler_list); +remove_item: + spin_lock(&o2hb_live_lock); + list_del(®->hr_all_item); + if (o2hb_global_heartbeat_active()) + clear_bit(reg->hr_region_num, o2hb_region_bitmap); + spin_unlock(&o2hb_live_lock); free: kfree(reg); return ERR_PTR(ret); --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/dlmglue.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/dlmglue.c @@ -2871,9 +2871,15 @@ status = ocfs2_cluster_lock(osb, lockres, ex ? LKM_EXMODE : LKM_PRMODE, 0, 0); - if (status < 0) + if (status < 0) { mlog(ML_ERROR, "lock on nfs sync lock failed %d\n", status); + if (ex) + up_write(&osb->nfs_sync_rwlock); + else + up_read(&osb->nfs_sync_rwlock); + } + return status; } --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/file.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/file.c @@ -1244,22 +1244,24 @@ goto bail_unlock; } } + down_write(&OCFS2_I(inode)->ip_alloc_sem); handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS + 2 * ocfs2_quota_trans_credits(sb)); if (IS_ERR(handle)) { status = PTR_ERR(handle); mlog_errno(status); - goto bail_unlock; + goto bail_unlock_alloc; } status = __dquot_transfer(inode, transfer_to); if (status < 0) goto bail_commit; } else { + down_write(&OCFS2_I(inode)->ip_alloc_sem); handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); if (IS_ERR(handle)) { status = PTR_ERR(handle); mlog_errno(status); - goto bail_unlock; + goto bail_unlock_alloc; } } @@ -1272,6 +1274,8 @@ bail_commit: ocfs2_commit_trans(osb, handle); +bail_unlock_alloc: + up_write(&OCFS2_I(inode)->ip_alloc_sem); bail_unlock: if (status && inode_locked) { ocfs2_inode_unlock_tracker(inode, 1, &oh, had_lock); --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/ocfs2.h +++ linux-riscv-5.8-5.8.0/fs/ocfs2/ocfs2.h @@ -327,8 +327,8 @@ spinlock_t osb_lock; u32 s_next_generation; unsigned long osb_flags; - s16 s_inode_steal_slot; - s16 s_meta_steal_slot; + u16 s_inode_steal_slot; + u16 s_meta_steal_slot; atomic_t s_num_inodes_stolen; atomic_t s_num_meta_stolen; --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/suballoc.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/suballoc.c @@ -879,9 +879,9 @@ { spin_lock(&osb->osb_lock); if (type == INODE_ALLOC_SYSTEM_INODE) - osb->s_inode_steal_slot = slot; + osb->s_inode_steal_slot = (u16)slot; else if (type == EXTENT_ALLOC_SYSTEM_INODE) - osb->s_meta_steal_slot = slot; + osb->s_meta_steal_slot = (u16)slot; spin_unlock(&osb->osb_lock); } --- linux-riscv-5.8-5.8.0.orig/fs/ocfs2/super.c +++ linux-riscv-5.8-5.8.0/fs/ocfs2/super.c @@ -78,7 +78,7 @@ unsigned long commit_interval; unsigned long mount_opt; unsigned int atime_quantum; - signed short slot; + unsigned short slot; int localalloc_opt; unsigned int resv_level; int dir_resv_level; @@ -1349,7 +1349,7 @@ goto bail; } if (option) - mopt->slot = (s16)option; + mopt->slot = (u16)option; break; case Opt_commit: if (match_int(&args[0], &option)) { @@ -1713,6 +1713,7 @@ oi->ip_blkno = 0ULL; oi->ip_clusters = 0; + oi->ip_next_orphan = NULL; ocfs2_resv_init_once(&oi->ip_la_data_resv); --- linux-riscv-5.8-5.8.0.orig/fs/open.c +++ linux-riscv-5.8-5.8.0/fs/open.c @@ -65,6 +65,7 @@ inode_unlock(dentry->d_inode); return ret; } +EXPORT_SYMBOL_GPL(do_truncate); long vfs_truncate(const struct path *path, loff_t length) { @@ -1021,6 +1022,10 @@ if (how->resolve & ~VALID_RESOLVE_FLAGS) return -EINVAL; + /* Scoping flags are mutually exclusive. */ + if ((how->resolve & RESOLVE_BENEATH) && (how->resolve & RESOLVE_IN_ROOT)) + return -EINVAL; + /* Deal with the mode. */ if (WILL_CREATE(flags)) { if (how->mode & ~S_IALLUGO) --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/copy_up.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/copy_up.c @@ -83,6 +83,14 @@ if (ovl_is_private_xattr(name)) continue; + + error = security_inode_copy_up_xattr(name); + if (error < 0 && error != -EOPNOTSUPP) + break; + if (error == 1) { + error = 0; + continue; /* Discard */ + } retry: size = vfs_getxattr(old, name, value, value_size); if (size == -ERANGE) @@ -106,13 +114,6 @@ goto retry; } - error = security_inode_copy_up_xattr(name); - if (error < 0 && error != -EOPNOTSUPP) - break; - if (error == 1) { - error = 0; - continue; /* Discard */ - } error = vfs_setxattr(new, name, value, size, 0); if (error) { if (error != -EOPNOTSUPP || ovl_must_copy_xattr(name)) @@ -252,10 +253,19 @@ { int err = 0; + /* + * For the most part we want to set the mode bits before setting + * the user, otherwise the current context might lack permission + * for setting the mode. However for sxid/sticky bits we want + * the operation to fail if the current user isn't privileged + * towards the resulting inode. So we first set the mode but + * exclude the sxid/sticky bits, then set the user, then set the + * mode again if any of the sxid/sticky bits are set. + */ if (!S_ISLNK(stat->mode)) { struct iattr attr = { .ia_valid = ATTR_MODE, - .ia_mode = stat->mode, + .ia_mode = stat->mode & ~(S_ISUID|S_ISGID|S_ISVTX), }; err = notify_change(upperdentry, &attr, NULL); } @@ -267,6 +277,14 @@ }; err = notify_change(upperdentry, &attr, NULL); } + if (!err && !S_ISLNK(stat->mode) && + (stat->mode & (S_ISUID|S_ISGID|S_ISVTX))) { + struct iattr attr = { + .ia_valid = ATTR_MODE, + .ia_mode = stat->mode, + }; + err = notify_change(upperdentry, &attr, NULL); + } if (!err) ovl_set_timestamps(upperdentry, stat); --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/dir.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/dir.c @@ -992,8 +992,8 @@ buflen -= thislen; memcpy(&buf[buflen], name, thislen); - tmp = dget_dlock(d->d_parent); spin_unlock(&d->d_lock); + tmp = dget_parent(d); dput(d); d = tmp; --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/file.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/file.c @@ -39,6 +39,7 @@ static struct file *ovl_open_realfile(const struct file *file, struct inode *realinode) { + struct path realpath; struct inode *inode = file_inode(file); struct file *realfile; const struct cred *old_cred; @@ -53,10 +54,12 @@ err = inode_permission(realinode, MAY_OPEN | acc_mode); if (err) { realfile = ERR_PTR(err); - } else if (!inode_owner_or_capable(realinode)) { - realfile = ERR_PTR(-EPERM); } else { - realfile = open_with_fake_path(&file->f_path, flags, realinode, + if (!inode_owner_or_capable(realinode)) + flags &= ~O_NOATIME; + + ovl_path_real(file->f_path.dentry, &realpath); + realfile = open_with_fake_path(&realpath, flags, realinode, current_cred()); } revert_creds(old_cred); @@ -75,12 +78,6 @@ struct inode *inode = file_inode(file); int err; - flags |= OVL_OPEN_FLAGS; - - /* If some flag changed that cannot be changed then something's amiss */ - if (WARN_ON((file->f_flags ^ flags) & ~OVL_SETFL_MASK)) - return -EIO; - flags &= OVL_SETFL_MASK; if (((flags ^ file->f_flags) & O_APPEND) && IS_APPEND(inode)) @@ -449,6 +446,18 @@ return ret; } +/* handle vma->vm_prfile */ +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; @@ -468,9 +477,30 @@ revert_creds(old_cred); if (ret) { - /* Drop reference count from new vm_file value */ + /* + * Drop reference count from new vm_file value and restore + * original vm_file value + */ + vma->vm_file = file; fput(realfile); } else { + /* + * 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 + */ + ovl_vm_prfile_set(vma, file); + /* Drop reference count from previous vm_file value */ fput(file); } --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/inode.c @@ -281,7 +281,6 @@ { struct inode *upperinode = ovl_inode_upper(inode); struct inode *realinode = upperinode ?: ovl_inode_lower(inode); - const struct cred *old_cred; int err; /* Careful in RCU walk mode */ @@ -298,15 +297,13 @@ if (err) return err; - old_cred = ovl_override_creds(inode->i_sb); if (!upperinode && !special_file(realinode->i_mode) && mask & MAY_WRITE) { mask &= ~(MAY_WRITE | MAY_APPEND); /* Make sure mounter can read file for copy up later */ mask |= MAY_READ; } - err = inode_permission(realinode, mask); - revert_creds(old_cred); + err = ovl_creator_permission(inode->i_sb, realinode, mask); return err; } @@ -346,7 +343,9 @@ goto out; if (!value && !upperdentry) { + old_cred = ovl_override_creds(dentry->d_sb); err = vfs_getxattr(realdentry, name, NULL, 0); + revert_creds(old_cred); if (err < 0) goto out_drop_write; } --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/namei.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/namei.c @@ -910,6 +910,7 @@ continue; if ((uppermetacopy || d.metacopy) && !ofs->config.metacopy) { + dput(this); err = -EPERM; pr_warn_ratelimited("refusing to follow metacopy origin for (%pd2)\n", dentry); goto out_put; --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/overlayfs.h +++ linux-riscv-5.8-5.8.0/fs/overlayfs/overlayfs.h @@ -173,7 +173,13 @@ static inline int ovl_do_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) { - int err = vfs_setxattr(dentry, name, value, size, flags); + struct inode *inode = dentry->d_inode; + int err; + + inode_lock(inode); + err = __vfs_setxattr_noperm(dentry, name, value, size, flags); + inode_unlock(inode); + pr_debug("setxattr(%pd2, \"%s\", \"%*pE\", %zu, 0x%x) = %i\n", dentry, name, min((int)size, 48), value, size, flags, err); return err; @@ -181,7 +187,13 @@ static inline int ovl_do_removexattr(struct dentry *dentry, const char *name) { - int err = vfs_removexattr(dentry, name); + struct inode *inode = dentry->d_inode; + int err; + + inode_lock(inode); + err = __vfs_removexattr_noperm(dentry, name); + inode_unlock(inode); + pr_debug("removexattr(%pd2, \"%s\") = %i\n", dentry, name, err); return err; } @@ -230,6 +242,8 @@ void ovl_drop_write(struct dentry *dentry); struct dentry *ovl_workdir(struct dentry *dentry); const struct cred *ovl_override_creds(struct super_block *sb); +int ovl_creator_permission(struct super_block *sb, struct inode *inode, + int mode); int ovl_can_decode_fh(struct super_block *sb); struct dentry *ovl_indexdir(struct super_block *sb); bool ovl_index_all(struct super_block *sb); --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/readdir.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/readdir.c @@ -370,6 +370,12 @@ next = ovl_path_next(idx, dentry, &realpath); rdd.is_upper = ovl_dentry_upper(dentry) == realpath.dentry; + err = ovl_creator_permission(dentry->d_sb, + d_inode(realpath.dentry), + MAY_READ); + if (err) + break; + if (next != -1) { err = ovl_dir_read(&realpath, &rdd); if (err) @@ -751,6 +757,12 @@ ovl_dir_reset(file); if (od->is_real) { + err = ovl_creator_permission(dentry->d_sb, + file_inode(od->realfile), + MAY_READ); + if (err) + return err; + /* * If parent is merge, then need to adjust d_ino for '..', if * dir is impure then need to adjust d_ino for copied up --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/super.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/super.c @@ -79,7 +79,7 @@ static struct dentry *ovl_d_real(struct dentry *dentry, const struct inode *inode) { - struct dentry *real; + struct dentry *real = NULL, *lower; /* It's an overlay file */ if (inode && d_inode(dentry) == inode) @@ -98,9 +98,10 @@ if (real && !inode && ovl_has_upperdata(d_inode(dentry))) return real; - real = ovl_dentry_lowerdata(dentry); - if (!real) + lower = ovl_dentry_lowerdata(dentry); + if (!lower) goto bug; + real = lower; /* Handle recursion */ real = d_real(real, inode); @@ -108,8 +109,10 @@ if (!inode || inode == d_inode(real)) return real; bug: - WARN(1, "ovl_d_real(%pd4, %s:%lu): real dentry not found\n", dentry, - inode ? inode->i_sb->s_id : "NULL", inode ? inode->i_ino : 0); + WARN(1, "%s(%pd4, %s:%lu): real dentry (%p/%lu) not found\n", + __func__, dentry, inode ? inode->i_sb->s_id : "NULL", + inode ? inode->i_ino : 0, real, + real && d_inode(real) ? d_inode(real)->i_ino : 0); return dentry; } @@ -811,7 +814,8 @@ ovl_unescape(tmp); err = ovl_mount_dir_noesc(tmp, path); - if (!err && path->dentry->d_flags & DCACHE_OP_REAL) { + if (!err && (path->dentry->d_flags & DCACHE_OP_REAL && + path->dentry->d_sb->s_magic != SHIFTFS_MAGIC)) { pr_err("filesystem on '%s' not supported as upperdir\n", tmp); path_put_init(path); @@ -1554,6 +1558,13 @@ */ mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME; + /* + * If any lower mount is nosuid, force the ovl sb to also + * be nosuid. + */ + if (mnt->mnt_flags & MNT_NOSUID) + sb->s_iflags |= SB_I_NOSUID; + layers[ofs->numlayer].trap = trap; layers[ofs->numlayer].mnt = mnt; layers[ofs->numlayer].idx = ofs->numlayer; @@ -1666,7 +1677,8 @@ * - upper/work dir of any overlayfs instance */ static int ovl_check_layer(struct super_block *sb, struct ovl_fs *ofs, - struct dentry *dentry, const char *name) + struct dentry *dentry, const char *name, + bool is_lower) { struct dentry *next = dentry, *parent; int err = 0; @@ -1678,7 +1690,7 @@ /* Walk back ancestors to root (inclusive) looking for traps */ while (!err && parent != next) { - if (ovl_lookup_trap_inode(sb, parent)) { + if (is_lower && ovl_lookup_trap_inode(sb, parent)) { err = -ELOOP; pr_err("overlapping %s path\n", name); } else if (ovl_is_inuse(parent)) { @@ -1704,7 +1716,7 @@ if (ovl_upper_mnt(ofs)) { err = ovl_check_layer(sb, ofs, ovl_upper_mnt(ofs)->mnt_root, - "upperdir"); + "upperdir", false); if (err) return err; @@ -1715,7 +1727,8 @@ * workbasedir. In that case, we already have their traps in * inode cache and we will catch that case on lookup. */ - err = ovl_check_layer(sb, ofs, ofs->workbasedir, "workdir"); + err = ovl_check_layer(sb, ofs, ofs->workbasedir, "workdir", + false); if (err) return err; } @@ -1723,7 +1736,7 @@ for (i = 1; i < ofs->numlayer; i++) { err = ovl_check_layer(sb, ofs, ofs->layers[i].mnt->mnt_root, - "lowerdir"); + "lowerdir", true); if (err) return err; } @@ -1862,6 +1875,13 @@ if (!ofs->workdir) sb->s_flags |= SB_RDONLY; + /* + * If the upper mount is nosuid, force the ovl sb to also + * be nosuid. + */ + if (ovl_upper_mnt(ofs)->mnt_flags & MNT_NOSUID) + sb->s_iflags |= SB_I_NOSUID; + sb->s_stack_depth = ovl_upper_mnt(ofs)->mnt_sb->s_stack_depth; sb->s_time_gran = ovl_upper_mnt(ofs)->mnt_sb->s_time_gran; @@ -1949,6 +1969,7 @@ .name = "overlay", .mount = ovl_mount, .kill_sb = kill_anon_super, + .fs_flags = FS_USERNS_MOUNT, }; MODULE_ALIAS_FS("overlay"); --- linux-riscv-5.8-5.8.0.orig/fs/overlayfs/util.c +++ linux-riscv-5.8-5.8.0/fs/overlayfs/util.c @@ -40,6 +40,19 @@ return override_creds(ofs->creator_cred); } +int ovl_creator_permission(struct super_block *sb, struct inode *inode, + int mode) +{ + const struct cred *old_cred; + int err = 0; + + old_cred = ovl_override_creds(sb); + err = inode_permission(inode, mode); + revert_creds(old_cred); + + return err; +} + /* * Check if underlying fs supports file handles and try to determine encoding * type, in order to deduce maximum inode number used by fs. --- linux-riscv-5.8-5.8.0.orig/fs/pipe.c +++ linux-riscv-5.8-5.8.0/fs/pipe.c @@ -106,25 +106,6 @@ } } -/* Drop the inode semaphore and wait for a pipe event, atomically */ -void pipe_wait(struct pipe_inode_info *pipe) -{ - DEFINE_WAIT(rdwait); - DEFINE_WAIT(wrwait); - - /* - * Pipes are system-local resources, so sleeping on them - * is considered a noninteractive wait: - */ - prepare_to_wait(&pipe->rd_wait, &rdwait, TASK_INTERRUPTIBLE); - prepare_to_wait(&pipe->wr_wait, &wrwait, TASK_INTERRUPTIBLE); - pipe_unlock(pipe); - schedule(); - finish_wait(&pipe->rd_wait, &rdwait); - finish_wait(&pipe->wr_wait, &wrwait); - pipe_lock(pipe); -} - static void anon_pipe_buf_release(struct pipe_inode_info *pipe, struct pipe_buffer *buf) { @@ -913,19 +894,18 @@ { struct inode *inode = get_pipe_inode(); struct file *f; + int error; if (!inode) return -ENFILE; if (flags & O_NOTIFICATION_PIPE) { -#ifdef CONFIG_WATCH_QUEUE - if (watch_queue_init(inode->i_pipe) < 0) { + error = watch_queue_init(inode->i_pipe); + if (error) { + free_pipe_info(inode->i_pipe); iput(inode); - return -ENOMEM; + return error; } -#else - return -ENOPKG; -#endif } f = alloc_file_pseudo(inode, pipe_mnt, "", @@ -1035,12 +1015,52 @@ return do_pipe2(fildes, 0); } +/* + * This is the stupid "wait for pipe to be readable or writable" + * model. + * + * See pipe_read/write() for the proper kind of exclusive wait, + * but that requires that we wake up any other readers/writers + * if we then do not end up reading everything (ie the whole + * "wake_next_reader/writer" logic in pipe_read/write()). + */ +void pipe_wait_readable(struct pipe_inode_info *pipe) +{ + pipe_unlock(pipe); + wait_event_interruptible(pipe->rd_wait, pipe_readable(pipe)); + pipe_lock(pipe); +} + +void pipe_wait_writable(struct pipe_inode_info *pipe) +{ + pipe_unlock(pipe); + wait_event_interruptible(pipe->wr_wait, pipe_writable(pipe)); + pipe_lock(pipe); +} + +/* + * This depends on both the wait (here) and the wakeup (wake_up_partner) + * holding the pipe lock, so "*cnt" is stable and we know a wakeup cannot + * race with the count check and waitqueue prep. + * + * Normally in order to avoid races, you'd do the prepare_to_wait() first, + * then check the condition you're waiting for, and only then sleep. But + * because of the pipe lock, we can check the condition before being on + * the wait queue. + * + * We use the 'rd_wait' waitqueue for pipe partner waiting. + */ static int wait_for_partner(struct pipe_inode_info *pipe, unsigned int *cnt) { + DEFINE_WAIT(rdwait); int cur = *cnt; while (cur == *cnt) { - pipe_wait(pipe); + prepare_to_wait(&pipe->rd_wait, &rdwait, TASK_INTERRUPTIBLE); + pipe_unlock(pipe); + schedule(); + finish_wait(&pipe->rd_wait, &rdwait); + pipe_lock(pipe); if (signal_pending(current)) break; } @@ -1050,7 +1070,6 @@ static void wake_up_partner(struct pipe_inode_info *pipe) { wake_up_interruptible_all(&pipe->rd_wait); - wake_up_interruptible_all(&pipe->wr_wait); } static int fifo_open(struct inode *inode, struct file *filp) @@ -1187,6 +1206,7 @@ .unlocked_ioctl = pipe_ioctl, .release = pipe_release, .fasync = pipe_fasync, + .splice_write = iter_file_splice_write, }; /* --- linux-riscv-5.8-5.8.0.orig/fs/pnode.h +++ linux-riscv-5.8-5.8.0/fs/pnode.h @@ -12,7 +12,7 @@ #define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED) #define IS_MNT_SLAVE(m) ((m)->mnt_master) -#define IS_MNT_NEW(m) (!(m)->mnt_ns) +#define IS_MNT_NEW(m) (!(m)->mnt_ns || is_anon_ns((m)->mnt_ns)) #define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED) #define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE) #define IS_MNT_MARKED(m) ((m)->mnt.mnt_flags & MNT_MARKED) @@ -44,7 +44,7 @@ void propagate_mount_unlock(struct mount *); void mnt_release_group_id(struct mount *); int get_dominating_id(struct mount *mnt, const struct path *root); -unsigned int mnt_get_count(struct mount *mnt); +int mnt_get_count(struct mount *mnt); void mnt_set_mountpoint(struct mount *, struct mountpoint *, struct mount *); void mnt_change_mountpoint(struct mount *parent, struct mountpoint *mp, --- linux-riscv-5.8-5.8.0.orig/fs/proc/Makefile +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/fs/proc/base.c +++ linux-riscv-5.8-5.8.0/fs/proc/base.c @@ -405,11 +405,11 @@ static int lock_trace(struct task_struct *task) { - int err = mutex_lock_killable(&task->signal->exec_update_mutex); + int err = down_read_killable(&task->signal->exec_update_lock); if (err) return err; if (!ptrace_may_access(task, PTRACE_MODE_ATTACH_FSCREDS)) { - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); return -EPERM; } return 0; @@ -417,7 +417,7 @@ static void unlock_trace(struct task_struct *task) { - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); } #ifdef CONFIG_STACKTRACE @@ -846,7 +846,7 @@ flags = FOLL_FORCE | (write ? FOLL_WRITE : 0); while (count > 0) { - int this_len = min_t(int, count, PAGE_SIZE); + size_t this_len = min_t(size_t, count, PAGE_SIZE); if (write && copy_from_user(page, buf, this_len)) { copied = -EFAULT; @@ -1046,7 +1046,6 @@ static int __set_oom_adj(struct file *file, int oom_adj, bool legacy) { - static DEFINE_MUTEX(oom_adj_mutex); struct mm_struct *mm = NULL; struct task_struct *task; int err = 0; @@ -1086,7 +1085,7 @@ struct task_struct *p = find_lock_task_mm(task); if (p) { - if (atomic_read(&p->mm->mm_users) > 1) { + if (test_bit(MMF_MULTIPROCESS, &p->mm->flags)) { mm = p->mm; mmgrab(mm); } @@ -2170,7 +2169,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; } @@ -2794,6 +2793,8 @@ ATTR(NULL, "fscreate", 0666), ATTR(NULL, "keycreate", 0666), ATTR(NULL, "sockcreate", 0666), + ATTR(NULL, "display", 0666), + ATTR(NULL, "context", 0444), #ifdef CONFIG_SECURITY_SMACK DIR("smack", 0555, proc_smack_attr_dir_inode_ops, proc_smack_attr_dir_ops), @@ -2916,7 +2917,7 @@ unsigned long flags; int result; - result = mutex_lock_killable(&task->signal->exec_update_mutex); + result = down_read_killable(&task->signal->exec_update_lock); if (result) return result; @@ -2952,7 +2953,7 @@ result = 0; out_unlock: - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); return result; } --- linux-riscv-5.8-5.8.0.orig/fs/proc/generic.c +++ linux-riscv-5.8-5.8.0/fs/proc/generic.c @@ -349,6 +349,16 @@ .iterate_shared = proc_readdir, }; +static int proc_net_d_revalidate(struct dentry *dentry, unsigned int flags) +{ + return 0; +} + +const struct dentry_operations proc_net_dentry_ops = { + .d_revalidate = proc_net_d_revalidate, + .d_delete = always_delete_dentry, +}; + /* * proc directories can do almost nothing.. */ @@ -471,8 +481,8 @@ } EXPORT_SYMBOL(proc_symlink); -struct proc_dir_entry *proc_mkdir_data(const char *name, umode_t mode, - struct proc_dir_entry *parent, void *data) +struct proc_dir_entry *_proc_mkdir(const char *name, umode_t mode, + struct proc_dir_entry *parent, void *data, bool force_lookup) { struct proc_dir_entry *ent; @@ -484,10 +494,20 @@ ent->data = data; ent->proc_dir_ops = &proc_dir_operations; ent->proc_iops = &proc_dir_inode_operations; + if (force_lookup) { + pde_force_lookup(ent); + } ent = proc_register(parent, ent); } return ent; } +EXPORT_SYMBOL_GPL(_proc_mkdir); + +struct proc_dir_entry *proc_mkdir_data(const char *name, umode_t mode, + struct proc_dir_entry *parent, void *data) +{ + return _proc_mkdir(name, mode, parent, data, false); +} EXPORT_SYMBOL_GPL(proc_mkdir_data); struct proc_dir_entry *proc_mkdir_mode(const char *name, umode_t mode, --- linux-riscv-5.8-5.8.0.orig/fs/proc/internal.h +++ linux-riscv-5.8-5.8.0/fs/proc/internal.h @@ -310,3 +310,10 @@ unsigned long *, unsigned long *, unsigned long *, unsigned long *); extern void task_mem(struct seq_file *, struct mm_struct *); + +extern const struct dentry_operations proc_net_dentry_ops; +static inline void pde_force_lookup(struct proc_dir_entry *pde) +{ + /* /proc/net/ entries can be changed under us by setns(CLONE_NEWNET) */ + pde->proc_dops = &proc_net_dentry_ops; +} --- linux-riscv-5.8-5.8.0.orig/fs/proc/nommu.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/fs/proc/proc_net.c +++ linux-riscv-5.8-5.8.0/fs/proc/proc_net.c @@ -39,22 +39,6 @@ return maybe_get_net(PDE_NET(PDE(inode))); } -static int proc_net_d_revalidate(struct dentry *dentry, unsigned int flags) -{ - return 0; -} - -static const struct dentry_operations proc_net_dentry_ops = { - .d_revalidate = proc_net_d_revalidate, - .d_delete = always_delete_dentry, -}; - -static void pde_force_lookup(struct proc_dir_entry *pde) -{ - /* /proc/net/ entries can be changed under us by setns(CLONE_NEWNET) */ - pde->proc_dops = &proc_net_dentry_ops; -} - static int seq_open_net(struct inode *inode, struct file *file) { unsigned int state_size = PDE(inode)->state_size; --- linux-riscv-5.8-5.8.0.orig/fs/proc/proc_sysctl.c +++ linux-riscv-5.8-5.8.0/fs/proc/proc_sysctl.c @@ -577,7 +577,7 @@ goto out; } } else { - kbuf = kzalloc(count, GFP_KERNEL); + kbuf = kvzalloc(count, GFP_KERNEL); if (!kbuf) goto out; } @@ -600,7 +600,7 @@ error = count; out_free_buf: - kfree(kbuf); + kvfree(kbuf); out: sysctl_head_finish(head); @@ -1770,6 +1770,12 @@ return 0; } + if (!val) + return -EINVAL; + len = strlen(val); + if (len == 0) + return -EINVAL; + /* * To set sysctl options, we use a temporary mount of proc, look up the * respective sys/ file and write to it. To avoid mounting it when no @@ -1811,7 +1817,6 @@ file, param, val); goto out; } - len = strlen(val); wret = kernel_write(file, val, len, &pos); if (wret < 0) { err = wret; --- linux-riscv-5.8-5.8.0.orig/fs/proc/self.c +++ linux-riscv-5.8-5.8.0/fs/proc/self.c @@ -16,6 +16,13 @@ pid_t tgid = task_tgid_nr_ns(current, ns); char *name; + /* + * Not currently supported. Once we can inherit all of struct pid, + * we can allow this. + */ + if (current->flags & PF_IO_WORKER) + return ERR_PTR(-EOPNOTSUPP); + if (!tgid) return ERR_PTR(-ENOENT); /* max length of unsigned int in decimal + NULL term */ --- linux-riscv-5.8-5.8.0.orig/fs/proc/task_mmu.c +++ linux-riscv-5.8-5.8.0/fs/proc/task_mmu.c @@ -280,7 +280,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; @@ -1113,7 +1116,6 @@ struct mm_struct *mm; struct vm_area_struct *vma; enum clear_refs_types type; - struct mmu_gather tlb; int itype; int rv; @@ -1158,7 +1160,6 @@ count = -EINTR; goto out_mm; } - tlb_gather_mmu(&tlb, mm, 0, -1); if (type == CLEAR_REFS_SOFT_DIRTY) { for (vma = mm->mmap; vma; vma = vma->vm_next) { if (!(vma->vm_flags & VM_SOFTDIRTY)) @@ -1194,15 +1195,18 @@ break; } + inc_tlb_flush_pending(mm); mmu_notifier_range_init(&range, MMU_NOTIFY_SOFT_DIRTY, 0, NULL, mm, 0, -1UL); mmu_notifier_invalidate_range_start(&range); } walk_page_range(mm, 0, mm->highest_vm_end, &clear_refs_walk_ops, &cp); - if (type == CLEAR_REFS_SOFT_DIRTY) + if (type == CLEAR_REFS_SOFT_DIRTY) { mmu_notifier_invalidate_range_end(&range); - tlb_finish_mmu(&tlb, 0, -1); + flush_tlb_mm(mm); + dec_tlb_flush_pending(mm); + } mmap_read_unlock(mm); out_mm: mmput(mm); @@ -1541,11 +1545,15 @@ src = *ppos; svpfn = src / PM_ENTRY_BYTES; - start_vaddr = svpfn << PAGE_SHIFT; end_vaddr = mm->task_size; /* watch out for wraparound */ - if (svpfn > mm->task_size >> PAGE_SHIFT) + start_vaddr = end_vaddr; + if (svpfn <= (ULONG_MAX >> PAGE_SHIFT)) + start_vaddr = untagged_addr(svpfn << PAGE_SHIFT); + + /* Ensure the address is inside the task */ + if (start_vaddr > mm->task_size) start_vaddr = end_vaddr; /* @@ -1793,7 +1801,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-riscv-5.8-5.8.0.orig/fs/proc/task_nommu.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/fs/proc/thread_self.c +++ linux-riscv-5.8-5.8.0/fs/proc/thread_self.c @@ -17,6 +17,13 @@ pid_t pid = task_pid_nr_ns(current, ns); char *name; + /* + * Not currently supported. Once we can inherit all of struct pid, + * we can allow this. + */ + if (current->flags & PF_IO_WORKER) + return ERR_PTR(-EOPNOTSUPP); + if (!pid) return ERR_PTR(-ENOENT); name = kmalloc(10 + 6 + 10 + 1, dentry ? GFP_KERNEL : GFP_ATOMIC); --- linux-riscv-5.8-5.8.0.orig/fs/proc/version_signature.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/fs/pstore/inode.c +++ linux-riscv-5.8-5.8.0/fs/pstore/inode.c @@ -467,7 +467,7 @@ static void pstore_kill_sb(struct super_block *sb) { mutex_lock(&pstore_sb_lock); - WARN_ON(pstore_sb != sb); + WARN_ON(pstore_sb && pstore_sb != sb); kill_litter_super(sb); pstore_sb = NULL; --- linux-riscv-5.8-5.8.0.orig/fs/pstore/platform.c +++ linux-riscv-5.8-5.8.0/fs/pstore/platform.c @@ -269,6 +269,9 @@ { int ret; + if (!IS_ENABLED(CONFIG_PSTORE_COMPRESS)) + return -EINVAL; + ret = crypto_comp_compress(tfm, in, inlen, out, &outlen); if (ret) { pr_err("crypto_comp_compress failed, ret = %d!\n", ret); @@ -668,7 +671,7 @@ int unzipped_len; char *unzipped, *workspace; - if (!record->compressed) + if (!IS_ENABLED(CONFIG_PSTORE_COMPRESS) || !record->compressed) return; /* Only PSTORE_TYPE_DMESG support compression. */ --- linux-riscv-5.8-5.8.0.orig/fs/quota/dquot.c +++ linux-riscv-5.8-5.8.0/fs/quota/dquot.c @@ -2454,7 +2454,7 @@ ret = dquot_load_quota_sb(sb, cnt, dqopt->info[cnt].dqi_fmt_id, flags); if (ret < 0) - vfs_cleanup_quota_inode(sb, type); + vfs_cleanup_quota_inode(sb, cnt); } return ret; --- linux-riscv-5.8-5.8.0.orig/fs/quota/quota_tree.c +++ linux-riscv-5.8-5.8.0/fs/quota/quota_tree.c @@ -62,7 +62,7 @@ memset(buf, 0, info->dqi_usable_bs); return sb->s_op->quota_read(sb, info->dqi_type, buf, - info->dqi_usable_bs, blk << info->dqi_blocksize_bits); + info->dqi_usable_bs, (loff_t)blk << info->dqi_blocksize_bits); } static ssize_t write_blk(struct qtree_mem_dqinfo *info, uint blk, char *buf) @@ -71,7 +71,7 @@ ssize_t ret; ret = sb->s_op->quota_write(sb, info->dqi_type, buf, - info->dqi_usable_bs, blk << info->dqi_blocksize_bits); + info->dqi_usable_bs, (loff_t)blk << info->dqi_blocksize_bits); if (ret != info->dqi_usable_bs) { quota_error(sb, "dquota write failed"); if (ret >= 0) @@ -284,7 +284,7 @@ blk); goto out_buf; } - dquot->dq_off = (blk << info->dqi_blocksize_bits) + + dquot->dq_off = ((loff_t)blk << info->dqi_blocksize_bits) + sizeof(struct qt_disk_dqdbheader) + i * info->dqi_entry_size; kfree(buf); @@ -559,7 +559,7 @@ ret = -EIO; goto out_buf; } else { - ret = (blk << info->dqi_blocksize_bits) + sizeof(struct + ret = ((loff_t)blk << info->dqi_blocksize_bits) + sizeof(struct qt_disk_dqdbheader) + i * info->dqi_entry_size; } out_buf: --- linux-riscv-5.8-5.8.0.orig/fs/quota/quota_v2.c +++ linux-riscv-5.8-5.8.0/fs/quota/quota_v2.c @@ -157,7 +157,31 @@ qinfo->dqi_entry_size = sizeof(struct v2r1_disk_dqblk); qinfo->dqi_ops = &v2r1_qtree_ops; } + ret = -EUCLEAN; + /* Some sanity checks of the read headers... */ + if ((loff_t)qinfo->dqi_blocks << qinfo->dqi_blocksize_bits > + i_size_read(sb_dqopt(sb)->files[type])) { + quota_error(sb, "Number of blocks too big for quota file size (%llu > %llu).", + (loff_t)qinfo->dqi_blocks << qinfo->dqi_blocksize_bits, + i_size_read(sb_dqopt(sb)->files[type])); + goto out_free; + } + if (qinfo->dqi_free_blk >= qinfo->dqi_blocks) { + quota_error(sb, "Free block number too big (%u >= %u).", + qinfo->dqi_free_blk, qinfo->dqi_blocks); + goto out_free; + } + if (qinfo->dqi_free_entry >= qinfo->dqi_blocks) { + quota_error(sb, "Block with free entry too big (%u >= %u).", + qinfo->dqi_free_entry, qinfo->dqi_blocks); + goto out_free; + } ret = 0; +out_free: + if (ret) { + kfree(info->dqi_priv); + info->dqi_priv = NULL; + } out: up_read(&dqopt->dqio_sem); return ret; @@ -282,6 +306,7 @@ d->dqb_curspace = cpu_to_le64(m->dqb_curspace); d->dqb_btime = cpu_to_le64(m->dqb_btime); d->dqb_id = cpu_to_le32(from_kqid(&init_user_ns, dquot->dq_id)); + d->dqb_pad = 0; if (qtree_entry_unused(info, dp)) d->dqb_itime = cpu_to_le64(1); } --- linux-riscv-5.8-5.8.0.orig/fs/ramfs/file-nommu.c +++ linux-riscv-5.8-5.8.0/fs/ramfs/file-nommu.c @@ -224,7 +224,7 @@ if (!pages) goto out_free; - nr = find_get_pages(inode->i_mapping, &pgoff, lpages, pages); + nr = find_get_pages_contig(inode->i_mapping, pgoff, lpages, pages); if (nr != lpages) goto out_free_pages; /* leave if some pages were missing */ --- linux-riscv-5.8-5.8.0.orig/fs/read_write.c +++ linux-riscv-5.8-5.8.0/fs/read_write.c @@ -488,6 +488,7 @@ inc_syscr(current); return ret; } +EXPORT_SYMBOL_GPL(vfs_read); static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos) { @@ -507,6 +508,30 @@ return ret; } +vfs_readf_t vfs_readf(struct file *file) +{ + const struct file_operations *fop = file->f_op; + + if (fop->read) + return fop->read; + if (fop->read_iter) + return new_sync_read; + return ERR_PTR(-ENOSYS); /* doesn't have ->read(|_iter)() op */ +} +EXPORT_SYMBOL_GPL(vfs_readf); + +vfs_writef_t vfs_writef(struct file *file) +{ + const struct file_operations *fop = file->f_op; + + if (fop->write) + return fop->write; + if (fop->write_iter) + return new_sync_write; + return ERR_PTR(-ENOSYS); /* doesn't have ->write(|_iter)() op */ +} +EXPORT_SYMBOL_GPL(vfs_writef); + /* 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) { @@ -538,6 +563,14 @@ inc_syscw(current); return ret; } +/* + * This "EXPORT_SYMBOL_GPL()" is more of a "EXPORT_SYMBOL_DONTUSE()", + * but autofs is one of the few internal kernel users that actually + * wants this _and_ can be built as a module. So we need to export + * this symbol for autofs, even though it really isn't appropriate + * for any other kernel modules. + */ +EXPORT_SYMBOL_GPL(__kernel_write); ssize_t kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos) @@ -586,6 +619,7 @@ file_end_write(file); return ret; } +EXPORT_SYMBOL_GPL(vfs_write); /* file_ppos returns &file->f_pos or NULL if file is stream */ static inline loff_t *file_ppos(struct file *file) --- linux-riscv-5.8-5.8.0.orig/fs/readdir.c +++ linux-riscv-5.8-5.8.0/fs/readdir.c @@ -150,6 +150,9 @@ if (buf->result) return -EINVAL; + buf->result = verify_dirent_name(name, namlen); + if (buf->result < 0) + return buf->result; d_ino = ino; if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) { buf->result = -EOVERFLOW; @@ -412,6 +415,9 @@ if (buf->result) return -EINVAL; + buf->result = verify_dirent_name(name, namlen); + if (buf->result < 0) + return buf->result; d_ino = ino; if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) { buf->result = -EOVERFLOW; --- linux-riscv-5.8-5.8.0.orig/fs/reiserfs/inode.c +++ linux-riscv-5.8-5.8.0/fs/reiserfs/inode.c @@ -1551,11 +1551,7 @@ * set version 1, version 2 could be used too, because stat data * key is the same in both versions */ - key.version = KEY_FORMAT_3_5; - key.on_disk_key.k_dir_id = dirino; - key.on_disk_key.k_objectid = inode->i_ino; - key.on_disk_key.k_offset = 0; - key.on_disk_key.k_type = 0; + _make_cpu_key(&key, KEY_FORMAT_3_5, dirino, inode->i_ino, 0, 0, 3); /* look for the object's stat data */ retval = search_item(inode->i_sb, &key, &path_to_sd); @@ -2163,7 +2159,8 @@ out_inserted_sd: clear_nlink(inode); th->t_trans_id = 0; /* so the caller can't use this handle later */ - unlock_new_inode(inode); /* OK to do even if we hadn't locked it */ + if (inode->i_state & I_NEW) + unlock_new_inode(inode); iput(inode); return err; } --- linux-riscv-5.8-5.8.0.orig/fs/reiserfs/stree.c +++ linux-riscv-5.8-5.8.0/fs/reiserfs/stree.c @@ -454,6 +454,12 @@ "(second one): %h", ih); return 0; } + if (is_direntry_le_ih(ih) && (ih_item_len(ih) < (ih_entry_count(ih) * IH_SIZE))) { + reiserfs_warning(NULL, "reiserfs-5093", + "item entry count seems wrong %h", + ih); + return 0; + } prev_location = ih_location(ih); } --- linux-riscv-5.8-5.8.0.orig/fs/reiserfs/super.c +++ linux-riscv-5.8-5.8.0/fs/reiserfs/super.c @@ -1258,6 +1258,10 @@ "turned on."); return 0; } + if (qf_names[qtype] != + REISERFS_SB(s)->s_qf_names[qtype]) + kfree(qf_names[qtype]); + qf_names[qtype] = NULL; if (*arg) { /* Some filename specified? */ if (REISERFS_SB(s)->s_qf_names[qtype] && strcmp(REISERFS_SB(s)->s_qf_names[qtype], @@ -1287,10 +1291,6 @@ else *mount_options |= 1 << REISERFS_GRPQUOTA; } else { - if (qf_names[qtype] != - REISERFS_SB(s)->s_qf_names[qtype]) - kfree(qf_names[qtype]); - qf_names[qtype] = NULL; if (qtype == USRQUOTA) *mount_options &= ~(1 << REISERFS_USRQUOTA); else --- linux-riscv-5.8-5.8.0.orig/fs/reiserfs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/reiserfs/xattr.c @@ -674,6 +674,13 @@ if (get_inode_sd_version(inode) == STAT_DATA_V1) return -EOPNOTSUPP; + /* + * priv_root needn't be initialized during mount so allow initial + * lookups to succeed. + */ + if (!REISERFS_SB(inode->i_sb)->priv_root) + return 0; + dentry = xattr_lookup(inode, name, XATTR_REPLACE); if (IS_ERR(dentry)) { err = PTR_ERR(dentry); --- linux-riscv-5.8-5.8.0.orig/fs/reiserfs/xattr.h +++ linux-riscv-5.8-5.8.0/fs/reiserfs/xattr.h @@ -43,7 +43,7 @@ static inline int reiserfs_xattrs_initialized(struct super_block *sb) { - return REISERFS_SB(sb)->priv_root != NULL; + return REISERFS_SB(sb)->priv_root && REISERFS_SB(sb)->xattr_root; } #define xattr_size(size) ((size) + sizeof(struct reiserfs_xattr_header)) --- linux-riscv-5.8-5.8.0.orig/fs/romfs/storage.c +++ linux-riscv-5.8-5.8.0/fs/romfs/storage.c @@ -217,10 +217,8 @@ size_t limit; limit = romfs_maxsize(sb); - if (pos >= limit) + if (pos >= limit || buflen > limit - pos) return -EIO; - if (buflen > limit - pos) - buflen = limit - pos; #ifdef CONFIG_ROMFS_ON_MTD if (sb->s_mtd) --- linux-riscv-5.8-5.8.0.orig/fs/select.c +++ linux-riscv-5.8-5.8.0/fs/select.c @@ -1011,14 +1011,17 @@ fdcount = do_poll(head, &table, end_time); poll_freewait(&table); + if (!user_write_access_begin(ufds, nfds * sizeof(*ufds))) + goto out_fds; + for (walk = head; walk; walk = walk->next) { struct pollfd *fds = walk->entries; int j; - for (j = 0; j < walk->len; j++, ufds++) - if (__put_user(fds[j].revents, &ufds->revents)) - goto out_fds; + for (j = walk->len; j; fds++, ufds++, j--) + unsafe_put_user(fds->revents, &ufds->revents, Efault); } + user_write_access_end(); err = fdcount; out_fds: @@ -1030,6 +1033,11 @@ } return err; + +Efault: + user_write_access_end(); + err = -EFAULT; + goto out_fds; } static long do_restart_poll(struct restart_block *restart_block) @@ -1047,10 +1055,9 @@ ret = do_sys_poll(ufds, nfds, to); - if (ret == -ERESTARTNOHAND) { - restart_block->fn = do_restart_poll; - ret = -ERESTART_RESTARTBLOCK; - } + if (ret == -ERESTARTNOHAND) + ret = set_restart_fn(restart_block, do_restart_poll); + return ret; } @@ -1072,7 +1079,6 @@ struct restart_block *restart_block; restart_block = ¤t->restart_block; - restart_block->fn = do_restart_poll; restart_block->poll.ufds = ufds; restart_block->poll.nfds = nfds; @@ -1083,7 +1089,7 @@ } else restart_block->poll.has_timeout = 0; - ret = -ERESTART_RESTARTBLOCK; + ret = set_restart_fn(restart_block, do_restart_poll); } return ret; } --- linux-riscv-5.8-5.8.0.orig/fs/seq_file.c +++ linux-riscv-5.8-5.8.0/fs/seq_file.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -146,7 +147,28 @@ */ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos) { - struct seq_file *m = file->private_data; + struct iovec iov = { .iov_base = buf, .iov_len = size}; + struct kiocb kiocb; + struct iov_iter iter; + ssize_t ret; + + init_sync_kiocb(&kiocb, file); + iov_iter_init(&iter, READ, &iov, 1, size); + + kiocb.ki_pos = *ppos; + ret = seq_read_iter(&kiocb, &iter); + *ppos = kiocb.ki_pos; + return ret; +} +EXPORT_SYMBOL(seq_read); + +/* + * Ready-made ->f_op->read_iter() + */ +ssize_t seq_read_iter(struct kiocb *iocb, struct iov_iter *iter) +{ + struct seq_file *m = iocb->ki_filp->private_data; + size_t size = iov_iter_count(iter); size_t copied = 0; size_t n; void *p; @@ -158,14 +180,14 @@ * if request is to read from zero offset, reset iterator to first * record as it might have been already advanced by previous requests */ - if (*ppos == 0) { + if (iocb->ki_pos == 0) { m->index = 0; m->count = 0; } - /* Don't assume *ppos is where we left it */ - if (unlikely(*ppos != m->read_pos)) { - while ((err = traverse(m, *ppos)) == -EAGAIN) + /* Don't assume ki_pos is where we left it */ + if (unlikely(iocb->ki_pos != m->read_pos)) { + while ((err = traverse(m, iocb->ki_pos)) == -EAGAIN) ; if (err) { /* With prejudice... */ @@ -174,7 +196,7 @@ m->count = 0; goto Done; } else { - m->read_pos = *ppos; + m->read_pos = iocb->ki_pos; } } @@ -187,13 +209,11 @@ /* if not empty - flush it first */ if (m->count) { n = min(m->count, size); - err = copy_to_user(buf, m->buf + m->from, n); - if (err) + if (copy_to_iter(m->buf + m->from, n, iter) != n) goto Efault; m->count -= n; m->from += n; size -= n; - buf += n; copied += n; if (!size) goto Done; @@ -254,8 +274,7 @@ } m->op->stop(m, p); n = min(m->count, size); - err = copy_to_user(buf, m->buf, n); - if (err) + if (copy_to_iter(m->buf, n, iter) != n) goto Efault; copied += n; m->count -= n; @@ -264,7 +283,7 @@ if (!copied) copied = err; else { - *ppos += copied; + iocb->ki_pos += copied; m->read_pos += copied; } mutex_unlock(&m->lock); @@ -276,7 +295,7 @@ err = -EFAULT; goto Done; } -EXPORT_SYMBOL(seq_read); +EXPORT_SYMBOL(seq_read_iter); /** * seq_lseek - ->llseek() method for sequential files. --- linux-riscv-5.8-5.8.0.orig/fs/shiftfs.c +++ linux-riscv-5.8-5.8.0/fs/shiftfs.c @@ -0,0 +1,2172 @@ +#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(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(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 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(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 dentry *dentry, struct inode *inode, + const char *name, const void *value, size_t size, + int flags) +{ + if (!value) + return shiftfs_removexattr(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; + + 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; + } + + inode_lock_nested(loweri_dir, I_MUTEX_PARENT); + + 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(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, loweri_dir, lowerd_new, NULL); + } else { + switch (modei & S_IFMT) { + case S_IFDIR: + err = vfs_mkdir(loweri_dir, lowerd_new, modei); + break; + case S_IFREG: + err = vfs_create(loweri_dir, lowerd_new, modei, excl); + break; + case S_IFLNK: + err = vfs_symlink(loweri_dir, lowerd_new, symlink); + break; + case S_IFSOCK: + /* fall through */ + case S_IFIFO: + err = vfs_mknod(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 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 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 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 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(loweri, lowerd); + else + err = vfs_unlink(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 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; + 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(loweri_dir_old, lowerd_old, loweri_dir_new, lowerd_new, + NULL, flags); + 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 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(inode, mask); + if (err) + return err; + + oldcred = shiftfs_override_creds(inode->i_sb); + err = inode_permission(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 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(loweri, lowerd, mode); + revert_creds(oldcred); + + return err; +} + +static int shiftfs_setattr(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(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(lowerd, &newattr, NULL); + revert_creds(oldcred); + inode_unlock(loweri); + + shiftfs_copyattr(loweri, d_inode(dentry)); + + return err; +} + +static int shiftfs_getattr(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(&init_user_ns, le32_to_cpu(entry->e_id)); + kgid = shift_kgid(from, to, kgid); + entry->e_id = cpu_to_le32(from_kgid(&init_user_ns, kgid)); + break; + default: + break; + } + } +} + +static struct posix_acl *shiftfs_get_acl(struct inode *inode, int type) +{ + 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 (!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 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(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(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(current->files, 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, +}; + +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; + } + + 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-riscv-5.8-5.8.0.orig/fs/signalfd.c +++ linux-riscv-5.8-5.8.0/fs/signalfd.c @@ -314,9 +314,10 @@ { sigset_t mask; - if (sizemask != sizeof(sigset_t) || - copy_from_user(&mask, user_mask, sizeof(mask))) + if (sizemask != sizeof(sigset_t)) return -EINVAL; + if (copy_from_user(&mask, user_mask, sizeof(mask))) + return -EFAULT; return do_signalfd4(ufd, &mask, flags); } @@ -325,9 +326,10 @@ { sigset_t mask; - if (sizemask != sizeof(sigset_t) || - copy_from_user(&mask, user_mask, sizeof(mask))) + if (sizemask != sizeof(sigset_t)) return -EINVAL; + if (copy_from_user(&mask, user_mask, sizeof(mask))) + return -EFAULT; return do_signalfd4(ufd, &mask, 0); } --- linux-riscv-5.8-5.8.0.orig/fs/splice.c +++ linux-riscv-5.8-5.8.0/fs/splice.c @@ -526,6 +526,22 @@ return 1; } +/* We know we have a pipe buffer, but maybe it's empty? */ +static inline bool eat_empty_buffer(struct pipe_inode_info *pipe) +{ + unsigned int tail = pipe->tail; + unsigned int mask = pipe->ring_size - 1; + struct pipe_buffer *buf = &pipe->bufs[tail & mask]; + + if (unlikely(!buf->len)) { + pipe_buf_release(pipe, buf); + pipe->tail = tail+1; + return true; + } + + return false; +} + /** * splice_from_pipe_next - wait for some data to splice from * @pipe: pipe to splice from @@ -545,6 +561,7 @@ if (signal_pending(current)) return -ERESTARTSYS; +repeat: while (pipe_empty(pipe->head, pipe->tail)) { if (!pipe->writers) return 0; @@ -563,9 +580,12 @@ sd->need_wakeup = false; } - pipe_wait(pipe); + pipe_wait_readable(pipe); } + if (eat_empty_buffer(pipe)) + goto repeat; + return 1; } @@ -839,8 +859,8 @@ /* * Attempt to initiate a splice from pipe to file. */ -static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, - loff_t *ppos, size_t len, unsigned int flags) +long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags) { if (out->f_op->splice_write) return out->f_op->splice_write(pipe, out, ppos, len, flags); @@ -850,9 +870,9 @@ /* * Attempt to initiate a splice from a file to a pipe. */ -static long do_splice_to(struct file *in, loff_t *ppos, - struct pipe_inode_info *pipe, size_t len, - unsigned int flags) +long do_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags) { int ret; @@ -870,6 +890,7 @@ return in->f_op->splice_read(in, ppos, pipe, len, flags); return default_file_splice_read(in, ppos, pipe, len, flags); } +EXPORT_SYMBOL_GPL(do_splice_from); /** * splice_direct_to_actor - splices data directly between two non-pipes @@ -1016,6 +1037,7 @@ return do_splice_from(pipe, file, sd->opos, sd->total_len, sd->flags); } +EXPORT_SYMBOL_GPL(do_splice_to); /** * do_splice_direct - splices data directly between two files @@ -1077,7 +1099,7 @@ return -EAGAIN; if (signal_pending(current)) return -ERESTARTSYS; - pipe_wait(pipe); + pipe_wait_writable(pipe); } } @@ -1454,7 +1476,7 @@ ret = -EAGAIN; break; } - pipe_wait(pipe); + pipe_wait_readable(pipe); } pipe_unlock(pipe); @@ -1493,7 +1515,7 @@ ret = -ERESTARTSYS; break; } - pipe_wait(pipe); + pipe_wait_writable(pipe); } pipe_unlock(pipe); --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/block.c +++ linux-riscv-5.8-5.8.0/fs/squashfs/block.c @@ -87,7 +87,11 @@ int error, i; struct bio *bio; - bio = bio_alloc(GFP_NOIO, page_count); + if (page_count <= BIO_MAX_PAGES) + bio = bio_alloc(GFP_NOIO, page_count); + else + bio = bio_kmalloc(GFP_NOIO, page_count); + if (!bio) return -ENOMEM; @@ -192,9 +196,15 @@ length = SQUASHFS_COMPRESSED_SIZE(length); index += 2; - TRACE("Block @ 0x%llx, %scompressed size %d\n", index, + TRACE("Block @ 0x%llx, %scompressed size %d\n", index - 2, compressed ? "" : "un", length); } + if (length < 0 || length > output->length || + (index + length) > msblk->bytes_used) { + res = -EIO; + goto out; + } + if (next_index) *next_index = index + length; --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/export.c +++ linux-riscv-5.8-5.8.0/fs/squashfs/export.c @@ -41,12 +41,17 @@ struct squashfs_sb_info *msblk = sb->s_fs_info; int blk = SQUASHFS_LOOKUP_BLOCK(ino_num - 1); int offset = SQUASHFS_LOOKUP_BLOCK_OFFSET(ino_num - 1); - u64 start = le64_to_cpu(msblk->inode_lookup_table[blk]); + u64 start; __le64 ino; int err; TRACE("Entered squashfs_inode_lookup, inode_number = %d\n", ino_num); + if (ino_num == 0 || (ino_num - 1) >= msblk->inodes) + return -EINVAL; + + start = le64_to_cpu(msblk->inode_lookup_table[blk]); + err = squashfs_read_metadata(sb, &ino, &start, &offset, sizeof(ino)); if (err < 0) return err; @@ -111,7 +116,10 @@ u64 lookup_table_start, u64 next_table, unsigned int inodes) { unsigned int length = SQUASHFS_LOOKUP_BLOCK_BYTES(inodes); + unsigned int indexes = SQUASHFS_LOOKUP_BLOCKS(inodes); + int n; __le64 *table; + u64 start, end; TRACE("In read_inode_lookup_table, length %d\n", length); @@ -121,20 +129,41 @@ if (inodes == 0) return ERR_PTR(-EINVAL); - /* length bytes should not extend into the next table - this check - * also traps instances where lookup_table_start is incorrectly larger - * than the next table start + /* + * The computed size of the lookup table (length bytes) should exactly + * match the table start and end points */ - if (lookup_table_start + length > next_table) + if (length != (next_table - lookup_table_start)) return ERR_PTR(-EINVAL); table = squashfs_read_table(sb, lookup_table_start, length); + if (IS_ERR(table)) + return table; /* - * table[0] points to the first inode lookup table metadata block, - * this should be less than lookup_table_start + * table0], table[1], ... table[indexes - 1] store the locations + * of the compressed inode lookup blocks. Each entry should be + * less than the next (i.e. table[0] < table[1]), and the difference + * between them should be SQUASHFS_METADATA_SIZE or less. + * table[indexes - 1] should be less than lookup_table_start, and + * again the difference should be SQUASHFS_METADATA_SIZE or less */ - if (!IS_ERR(table) && le64_to_cpu(table[0]) >= lookup_table_start) { + for (n = 0; n < (indexes - 1); n++) { + start = le64_to_cpu(table[n]); + end = le64_to_cpu(table[n + 1]); + + if (start >= end + || (end - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { + kfree(table); + return ERR_PTR(-EINVAL); + } + } + + start = le64_to_cpu(table[indexes - 1]); + if (start >= lookup_table_start || + (lookup_table_start - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { kfree(table); return ERR_PTR(-EINVAL); } --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/id.c +++ linux-riscv-5.8-5.8.0/fs/squashfs/id.c @@ -35,10 +35,15 @@ struct squashfs_sb_info *msblk = sb->s_fs_info; int block = SQUASHFS_ID_BLOCK(index); int offset = SQUASHFS_ID_BLOCK_OFFSET(index); - u64 start_block = le64_to_cpu(msblk->id_table[block]); + u64 start_block; __le32 disk_id; int err; + if (index >= msblk->ids) + return -EINVAL; + + start_block = le64_to_cpu(msblk->id_table[block]); + err = squashfs_read_metadata(sb, &disk_id, &start_block, &offset, sizeof(disk_id)); if (err < 0) @@ -56,7 +61,10 @@ u64 id_table_start, u64 next_table, unsigned short no_ids) { unsigned int length = SQUASHFS_ID_BLOCK_BYTES(no_ids); + unsigned int indexes = SQUASHFS_ID_BLOCKS(no_ids); + int n; __le64 *table; + u64 start, end; TRACE("In read_id_index_table, length %d\n", length); @@ -67,20 +75,38 @@ return ERR_PTR(-EINVAL); /* - * length bytes should not extend into the next table - this check - * also traps instances where id_table_start is incorrectly larger - * than the next table start + * The computed size of the index table (length bytes) should exactly + * match the table start and end points */ - if (id_table_start + length > next_table) + if (length != (next_table - id_table_start)) return ERR_PTR(-EINVAL); table = squashfs_read_table(sb, id_table_start, length); + if (IS_ERR(table)) + return table; /* - * table[0] points to the first id lookup table metadata block, this - * should be less than id_table_start + * table[0], table[1], ... table[indexes - 1] store the locations + * of the compressed id blocks. Each entry should be less than + * the next (i.e. table[0] < table[1]), and the difference between them + * should be SQUASHFS_METADATA_SIZE or less. table[indexes - 1] + * should be less than id_table_start, and again the difference + * should be SQUASHFS_METADATA_SIZE or less */ - if (!IS_ERR(table) && le64_to_cpu(table[0]) >= id_table_start) { + for (n = 0; n < (indexes - 1); n++) { + start = le64_to_cpu(table[n]); + end = le64_to_cpu(table[n + 1]); + + if (start >= end || (end - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { + kfree(table); + return ERR_PTR(-EINVAL); + } + } + + start = le64_to_cpu(table[indexes - 1]); + if (start >= id_table_start || (id_table_start - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { kfree(table); return ERR_PTR(-EINVAL); } --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/squashfs_fs.h +++ linux-riscv-5.8-5.8.0/fs/squashfs/squashfs_fs.h @@ -17,6 +17,7 @@ /* size of metadata (inode and directory) blocks */ #define SQUASHFS_METADATA_SIZE 8192 +#define SQUASHFS_BLOCK_OFFSET 2 /* default size of block device I/O */ #ifdef CONFIG_SQUASHFS_4K_DEVBLK_SIZE --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/squashfs_fs_sb.h +++ linux-riscv-5.8-5.8.0/fs/squashfs/squashfs_fs_sb.h @@ -64,5 +64,6 @@ unsigned int inodes; unsigned int fragments; int xattr_ids; + unsigned int ids; }; #endif --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/super.c +++ linux-riscv-5.8-5.8.0/fs/squashfs/super.c @@ -166,6 +166,7 @@ msblk->directory_table = le64_to_cpu(sblk->directory_table_start); msblk->inodes = le32_to_cpu(sblk->inodes); msblk->fragments = le32_to_cpu(sblk->fragments); + msblk->ids = le16_to_cpu(sblk->no_ids); flags = le16_to_cpu(sblk->flags); TRACE("Found valid superblock on %pg\n", sb->s_bdev); @@ -177,7 +178,7 @@ TRACE("Block size %d\n", msblk->block_size); TRACE("Number of inodes %d\n", msblk->inodes); TRACE("Number of fragments %d\n", msblk->fragments); - TRACE("Number of ids %d\n", le16_to_cpu(sblk->no_ids)); + TRACE("Number of ids %d\n", msblk->ids); TRACE("sblk->inode_table_start %llx\n", msblk->inode_table); TRACE("sblk->directory_table_start %llx\n", msblk->directory_table); TRACE("sblk->fragment_table_start %llx\n", @@ -236,8 +237,7 @@ allocate_id_index_table: /* Allocate and read id index table */ msblk->id_table = squashfs_read_id_index_table(sb, - le64_to_cpu(sblk->id_table_start), next_table, - le16_to_cpu(sblk->no_ids)); + le64_to_cpu(sblk->id_table_start), next_table, msblk->ids); if (IS_ERR(msblk->id_table)) { errorf(fc, "unable to read id index table"); err = PTR_ERR(msblk->id_table); --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/xattr.h +++ linux-riscv-5.8-5.8.0/fs/squashfs/xattr.h @@ -17,8 +17,16 @@ static inline __le64 *squashfs_read_xattr_id_table(struct super_block *sb, u64 start, u64 *xattr_table_start, int *xattr_ids) { + struct squashfs_xattr_id_table *id_table; + + id_table = squashfs_read_table(sb, start, sizeof(*id_table)); + if (IS_ERR(id_table)) + return (__le64 *) id_table; + + *xattr_table_start = le64_to_cpu(id_table->xattr_table_start); + kfree(id_table); + ERROR("Xattrs in filesystem, these will be ignored\n"); - *xattr_table_start = start; return ERR_PTR(-ENOTSUPP); } --- linux-riscv-5.8-5.8.0.orig/fs/squashfs/xattr_id.c +++ linux-riscv-5.8-5.8.0/fs/squashfs/xattr_id.c @@ -31,10 +31,15 @@ struct squashfs_sb_info *msblk = sb->s_fs_info; int block = SQUASHFS_XATTR_BLOCK(index); int offset = SQUASHFS_XATTR_BLOCK_OFFSET(index); - u64 start_block = le64_to_cpu(msblk->xattr_id_table[block]); + u64 start_block; struct squashfs_xattr_id id; int err; + if (index >= msblk->xattr_ids) + return -EINVAL; + + start_block = le64_to_cpu(msblk->xattr_id_table[block]); + err = squashfs_read_metadata(sb, &id, &start_block, &offset, sizeof(id)); if (err < 0) @@ -50,13 +55,17 @@ /* * Read uncompressed xattr id lookup table indexes from disk into memory */ -__le64 *squashfs_read_xattr_id_table(struct super_block *sb, u64 start, +__le64 *squashfs_read_xattr_id_table(struct super_block *sb, u64 table_start, u64 *xattr_table_start, int *xattr_ids) { - unsigned int len; + struct squashfs_sb_info *msblk = sb->s_fs_info; + unsigned int len, indexes; struct squashfs_xattr_id_table *id_table; + __le64 *table; + u64 start, end; + int n; - id_table = squashfs_read_table(sb, start, sizeof(*id_table)); + id_table = squashfs_read_table(sb, table_start, sizeof(*id_table)); if (IS_ERR(id_table)) return (__le64 *) id_table; @@ -70,13 +79,54 @@ if (*xattr_ids == 0) return ERR_PTR(-EINVAL); - /* xattr_table should be less than start */ - if (*xattr_table_start >= start) + len = SQUASHFS_XATTR_BLOCK_BYTES(*xattr_ids); + indexes = SQUASHFS_XATTR_BLOCKS(*xattr_ids); + + /* + * The computed size of the index table (len bytes) should exactly + * match the table start and end points + */ + start = table_start + sizeof(*id_table); + end = msblk->bytes_used; + + if (len != (end - start)) return ERR_PTR(-EINVAL); - len = SQUASHFS_XATTR_BLOCK_BYTES(*xattr_ids); + table = squashfs_read_table(sb, start, len); + if (IS_ERR(table)) + return table; + + /* table[0], table[1], ... table[indexes - 1] store the locations + * of the compressed xattr id blocks. Each entry should be less than + * the next (i.e. table[0] < table[1]), and the difference between them + * should be SQUASHFS_METADATA_SIZE or less. table[indexes - 1] + * should be less than table_start, and again the difference + * shouls be SQUASHFS_METADATA_SIZE or less. + * + * Finally xattr_table_start should be less than table[0]. + */ + for (n = 0; n < (indexes - 1); n++) { + start = le64_to_cpu(table[n]); + end = le64_to_cpu(table[n + 1]); + + if (start >= end || (end - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { + kfree(table); + return ERR_PTR(-EINVAL); + } + } + + start = le64_to_cpu(table[indexes - 1]); + if (start >= table_start || (table_start - start) > + (SQUASHFS_METADATA_SIZE + SQUASHFS_BLOCK_OFFSET)) { + kfree(table); + return ERR_PTR(-EINVAL); + } - TRACE("In read_xattr_index_table, length %d\n", len); + if (*xattr_table_start >= le64_to_cpu(table[0])) { + kfree(table); + return ERR_PTR(-EINVAL); + } - return squashfs_read_table(sb, start + sizeof(*id_table), len); + return table; } --- linux-riscv-5.8-5.8.0.orig/fs/super.c +++ linux-riscv-5.8-5.8.0/fs/super.c @@ -1645,36 +1645,11 @@ */ int __sb_start_write(struct super_block *sb, int level, bool wait) { - bool force_trylock = false; - int ret = 1; + if (!wait) + return percpu_down_read_trylock(sb->s_writers.rw_sem + level-1); -#ifdef CONFIG_LOCKDEP - /* - * We want lockdep to tell us about possible deadlocks with freezing - * but it's it bit tricky to properly instrument it. Getting a freeze - * protection works as getting a read lock but there are subtle - * problems. XFS for example gets freeze protection on internal level - * twice in some cases, which is OK only because we already hold a - * freeze protection also on higher level. Due to these cases we have - * to use wait == F (trylock mode) which must not fail. - */ - if (wait) { - int i; - - for (i = 0; i < level - 1; i++) - if (percpu_rwsem_is_held(sb->s_writers.rw_sem + i)) { - force_trylock = true; - break; - } - } -#endif - if (wait && !force_trylock) - percpu_down_read(sb->s_writers.rw_sem + level-1); - else - ret = percpu_down_read_trylock(sb->s_writers.rw_sem + level-1); - - WARN_ON(force_trylock && !ret); - return ret; + percpu_down_read(sb->s_writers.rw_sem + level-1); + return 1; } EXPORT_SYMBOL(__sb_start_write); --- linux-riscv-5.8-5.8.0.orig/fs/sync.c +++ linux-riscv-5.8-5.8.0/fs/sync.c @@ -28,7 +28,7 @@ * wait == 1 case since in that case write_inode() functions do * sync_dirty_buffer() and thus effectively write one block at a time. */ -static int __sync_filesystem(struct super_block *sb, int wait) +int __sync_filesystem(struct super_block *sb, int wait) { if (wait) sync_inodes_sb(sb); @@ -39,6 +39,7 @@ sb->s_op->sync_fs(sb, wait); return __sync_blockdev(sb->s_bdev, wait); } +EXPORT_SYMBOL_GPL(__sync_filesystem); /* * Write out and wait upon all dirty data associated with this --- linux-riscv-5.8-5.8.0.orig/fs/sysfs/file.c +++ linux-riscv-5.8-5.8.0/fs/sysfs/file.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "sysfs.h" @@ -707,3 +708,57 @@ return 0; } EXPORT_SYMBOL_GPL(sysfs_change_owner); + +/** + * sysfs_emit - scnprintf equivalent, aware of PAGE_SIZE buffer. + * @buf: start of PAGE_SIZE buffer. + * @fmt: format + * @...: optional arguments to @format + * + * + * Returns number of characters written to @buf. + */ +int sysfs_emit(char *buf, const char *fmt, ...) +{ + va_list args; + int len; + + if (WARN(!buf || offset_in_page(buf), + "invalid sysfs_emit: buf:%p\n", buf)) + return 0; + + va_start(args, fmt); + len = vscnprintf(buf, PAGE_SIZE, fmt, args); + va_end(args); + + return len; +} +EXPORT_SYMBOL_GPL(sysfs_emit); + +/** + * sysfs_emit_at - scnprintf equivalent, aware of PAGE_SIZE buffer. + * @buf: start of PAGE_SIZE buffer. + * @at: offset in @buf to start write in bytes + * @at must be >= 0 && < PAGE_SIZE + * @fmt: format + * @...: optional arguments to @fmt + * + * + * Returns number of characters written starting at &@buf[@at]. + */ +int sysfs_emit_at(char *buf, int at, const char *fmt, ...) +{ + va_list args; + int len; + + if (WARN(!buf || offset_in_page(buf) || at < 0 || at >= PAGE_SIZE, + "invalid sysfs_emit_at: buf:%p at:%d\n", buf, at)) + return 0; + + va_start(args, fmt); + len = vscnprintf(buf + at, PAGE_SIZE - at, fmt, args); + va_end(args); + + return len; +} +EXPORT_SYMBOL_GPL(sysfs_emit_at); --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/auth.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/auth.c @@ -328,7 +328,7 @@ ubifs_err(c, "hmac %s is bigger than maximum allowed hmac size (%d > %d)", hmac_name, c->hmac_desc_len, UBIFS_HMAC_ARR_SZ); err = -EINVAL; - goto out_free_hash; + goto out_free_hmac; } err = crypto_shash_setkey(c->hmac_tfm, ukp->data, ukp->datalen); @@ -338,8 +338,10 @@ c->authenticated = true; c->log_hash = ubifs_hash_get_desc(c); - if (IS_ERR(c->log_hash)) + if (IS_ERR(c->log_hash)) { + err = PTR_ERR(c->log_hash); goto out_free_hmac; + } err = 0; --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/debug.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/debug.c @@ -1123,6 +1123,7 @@ err = PTR_ERR(dent); if (err == -ENOENT) break; + kfree(pdent); return err; } --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/dir.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/dir.c @@ -276,6 +276,15 @@ return d_splice_alias(inode, dentry); } +static int ubifs_prepare_create(struct inode *dir, struct dentry *dentry, + struct fscrypt_name *nm) +{ + if (fscrypt_is_nokey_name(dentry)) + return -ENOKEY; + + return fscrypt_setup_filename(dir, &dentry->d_name, 0, nm); +} + static int ubifs_create(struct inode *dir, struct dentry *dentry, umode_t mode, bool excl) { @@ -299,7 +308,7 @@ if (err) return err; - err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm); + err = ubifs_prepare_create(dir, dentry, &nm); if (err) goto out_budg; @@ -959,7 +968,7 @@ if (err) return err; - err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm); + err = ubifs_prepare_create(dir, dentry, &nm); if (err) goto out_budg; @@ -1044,7 +1053,7 @@ return err; } - err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm); + err = ubifs_prepare_create(dir, dentry, &nm); if (err) { kfree(dev); goto out_budg; @@ -1128,7 +1137,7 @@ if (err) return err; - err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm); + err = ubifs_prepare_create(dir, dentry, &nm); if (err) goto out_budg; --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/io.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/io.c @@ -319,7 +319,7 @@ { uint32_t crc; - ubifs_assert(c, pad >= 0 && !(pad & 7)); + ubifs_assert(c, pad >= 0); if (pad >= UBIFS_PAD_NODE_SZ) { struct ubifs_ch *ch = buf; @@ -764,6 +764,10 @@ * write-buffer. */ memcpy(wbuf->buf + wbuf->used, buf, len); + if (aligned_len > len) { + ubifs_assert(c, aligned_len - len < 8); + ubifs_pad(c, wbuf->buf + wbuf->used + len, aligned_len - len); + } if (aligned_len == wbuf->avail) { dbg_io("flush jhead %s wbuf to LEB %d:%d", @@ -856,13 +860,18 @@ } spin_lock(&wbuf->lock); - if (aligned_len) + if (aligned_len) { /* * And now we have what's left and what does not take whole * max. write unit, so write it to the write-buffer and we are * done. */ memcpy(wbuf->buf, buf + written, len); + if (aligned_len > len) { + ubifs_assert(c, aligned_len - len < 8); + ubifs_pad(c, wbuf->buf + len, aligned_len - len); + } + } if (c->leb_size - wbuf->offs >= c->max_write_size) wbuf->size = c->max_write_size; --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/journal.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/journal.c @@ -539,7 +539,7 @@ const struct fscrypt_name *nm, const struct inode *inode, int deletion, int xent) { - int err, dlen, ilen, len, lnum, ino_offs, dent_offs; + int err, dlen, ilen, len, lnum, ino_offs, dent_offs, orphan_added = 0; int aligned_dlen, aligned_ilen, sync = IS_DIRSYNC(dir); int last_reference = !!(deletion && inode->i_nlink == 0); struct ubifs_inode *ui = ubifs_inode(inode); @@ -630,6 +630,7 @@ goto out_finish; } ui->del_cmtno = c->cmt_no; + orphan_added = 1; } err = write_head(c, BASEHD, dent, len, &lnum, &dent_offs, sync); @@ -702,7 +703,7 @@ kfree(dent); out_ro: ubifs_ro_mode(c, err); - if (last_reference) + if (orphan_added) ubifs_delete_orphan(c, inode->i_ino); finish_reservation(c); return err; @@ -893,6 +894,7 @@ if (err == -ENOENT) break; + kfree(pxent); goto out_release; } @@ -905,6 +907,7 @@ ubifs_err(c, "dead directory entry '%s', error %d", xent->name, err); ubifs_ro_mode(c, err); + kfree(pxent); kfree(xent); goto out_release; } @@ -935,8 +938,6 @@ inode->i_ino); release_head(c, BASEHD); - ubifs_add_auth_dirt(c, lnum); - if (last_reference) { err = ubifs_tnc_remove_ino(c, inode->i_ino); if (err) @@ -946,6 +947,8 @@ } else { union ubifs_key key; + ubifs_add_auth_dirt(c, lnum); + ino_key_init(c, &key, inode->i_ino); err = ubifs_tnc_add(c, &key, lnum, offs, ilen, hash); } @@ -1218,7 +1221,7 @@ void *p; union ubifs_key key; struct ubifs_dent_node *dent, *dent2; - int err, dlen1, dlen2, ilen, lnum, offs, len; + int err, dlen1, dlen2, ilen, lnum, offs, len, orphan_added = 0; int aligned_dlen1, aligned_dlen2, plen = UBIFS_INO_NODE_SZ; int last_reference = !!(new_inode && new_inode->i_nlink == 0); int move = (old_dir != new_dir); @@ -1334,6 +1337,7 @@ goto out_finish; } new_ui->del_cmtno = c->cmt_no; + orphan_added = 1; } err = write_head(c, BASEHD, dent, len, &lnum, &offs, sync); @@ -1415,7 +1419,7 @@ release_head(c, BASEHD); out_ro: ubifs_ro_mode(c, err); - if (last_reference) + if (orphan_added) ubifs_delete_orphan(c, new_inode->i_ino); out_finish: finish_reservation(c); --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/orphan.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/orphan.c @@ -173,6 +173,7 @@ err = PTR_ERR(xent); if (err == -ENOENT) break; + kfree(pxent); return err; } @@ -182,6 +183,7 @@ xattr_orphan = orphan_add(c, xattr_inum, orphan); if (IS_ERR(xattr_orphan)) { + kfree(pxent); kfree(xent); return PTR_ERR(xattr_orphan); } --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/replay.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/replay.c @@ -559,7 +559,9 @@ } /* authenticate_sleb_hash is split out for stack usage */ -static int authenticate_sleb_hash(struct ubifs_info *c, struct shash_desc *log_hash, u8 *hash) +static int noinline_for_stack +authenticate_sleb_hash(struct ubifs_info *c, + struct shash_desc *log_hash, u8 *hash) { SHASH_DESC_ON_STACK(hash_desc, c->hash_tfm); --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/super.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/super.c @@ -820,8 +820,10 @@ c->jheads[i].wbuf.jhead = i; c->jheads[i].grouped = 1; c->jheads[i].log_hash = ubifs_hash_get_desc(c); - if (IS_ERR(c->jheads[i].log_hash)) + if (IS_ERR(c->jheads[i].log_hash)) { + err = PTR_ERR(c->jheads[i].log_hash); goto out; + } } /* @@ -1092,14 +1094,20 @@ break; } case Opt_auth_key: - c->auth_key_name = kstrdup(args[0].from, GFP_KERNEL); - if (!c->auth_key_name) - return -ENOMEM; + if (!is_remount) { + c->auth_key_name = kstrdup(args[0].from, + GFP_KERNEL); + if (!c->auth_key_name) + return -ENOMEM; + } break; case Opt_auth_hash_name: - c->auth_hash_name = kstrdup(args[0].from, GFP_KERNEL); - if (!c->auth_hash_name) - return -ENOMEM; + if (!is_remount) { + c->auth_hash_name = kstrdup(args[0].from, + GFP_KERNEL); + if (!c->auth_hash_name) + return -ENOMEM; + } break; case Opt_ignore: break; @@ -1123,6 +1131,18 @@ return 0; } +/* + * ubifs_release_options - release mount parameters which have been dumped. + * @c: UBIFS file-system description object + */ +static void ubifs_release_options(struct ubifs_info *c) +{ + kfree(c->auth_key_name); + c->auth_key_name = NULL; + kfree(c->auth_hash_name); + c->auth_hash_name = NULL; +} + /** * destroy_journal - destroy journal data structures. * @c: UBIFS file-system description object @@ -1295,7 +1315,7 @@ err = ubifs_read_superblock(c); if (err) - goto out_free; + goto out_auth; c->probing = 0; @@ -1307,18 +1327,18 @@ ubifs_err(c, "'compressor \"%s\" is not compiled in", ubifs_compr_name(c, c->default_compr)); err = -ENOTSUPP; - goto out_free; + goto out_auth; } err = init_constants_sb(c); if (err) - goto out_free; + goto out_auth; sz = ALIGN(c->max_idx_node_sz, c->min_io_size) * 2; c->cbuf = kmalloc(sz, GFP_NOFS); if (!c->cbuf) { err = -ENOMEM; - goto out_free; + goto out_auth; } err = alloc_wbufs(c); @@ -1593,6 +1613,8 @@ free_wbufs(c); out_cbuf: kfree(c->cbuf); +out_auth: + ubifs_exit_authentication(c); out_free: kfree(c->write_reserve_buf); kfree(c->bu.buf); @@ -1632,8 +1654,7 @@ ubifs_lpt_free(c, 0); ubifs_exit_authentication(c); - kfree(c->auth_key_name); - kfree(c->auth_hash_name); + ubifs_release_options(c); kfree(c->cbuf); kfree(c->rcvrd_mst_node); kfree(c->mst_node); @@ -2201,6 +2222,7 @@ out_unlock: mutex_unlock(&c->umount_mutex); out_close: + ubifs_release_options(c); ubi_close_volume(c->ubi); out: return err; --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/tnc.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/tnc.c @@ -2885,6 +2885,7 @@ err = PTR_ERR(xent); if (err == -ENOENT) break; + kfree(pxent); return err; } @@ -2898,6 +2899,7 @@ fname_len(&nm) = le16_to_cpu(xent->nlen); err = ubifs_tnc_remove_nm(c, &key1, &nm); if (err) { + kfree(pxent); kfree(xent); return err; } @@ -2906,6 +2908,7 @@ highest_ino_key(c, &key2, xattr_inum); err = ubifs_tnc_remove_range(c, &key1, &key2); if (err) { + kfree(pxent); kfree(xent); return err; } --- linux-riscv-5.8-5.8.0.orig/fs/ubifs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/ubifs/xattr.c @@ -522,6 +522,7 @@ xent->name, err); ubifs_ro_mode(c, err); kfree(pxent); + kfree(xent); return err; } @@ -531,6 +532,7 @@ err = remove_xattr(c, host, xino, &nm); if (err) { kfree(pxent); + kfree(xent); iput(xino); ubifs_err(c, "cannot remove xattr, error %d", err); return err; --- linux-riscv-5.8-5.8.0.orig/fs/udf/inode.c +++ linux-riscv-5.8-5.8.0/fs/udf/inode.c @@ -139,21 +139,24 @@ struct udf_inode_info *iinfo = UDF_I(inode); int want_delete = 0; - if (!inode->i_nlink && !is_bad_inode(inode)) { - want_delete = 1; - udf_setsize(inode, 0); - udf_update_inode(inode, IS_SYNC(inode)); + if (!is_bad_inode(inode)) { + if (!inode->i_nlink) { + want_delete = 1; + udf_setsize(inode, 0); + udf_update_inode(inode, IS_SYNC(inode)); + } + if (iinfo->i_alloc_type != ICBTAG_FLAG_AD_IN_ICB && + inode->i_size != iinfo->i_lenExtents) { + udf_warn(inode->i_sb, + "Inode %lu (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n", + inode->i_ino, inode->i_mode, + (unsigned long long)inode->i_size, + (unsigned long long)iinfo->i_lenExtents); + } } truncate_inode_pages_final(&inode->i_data); invalidate_inode_buffers(inode); clear_inode(inode); - if (iinfo->i_alloc_type != ICBTAG_FLAG_AD_IN_ICB && - inode->i_size != iinfo->i_lenExtents) { - udf_warn(inode->i_sb, "Inode %lu (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n", - inode->i_ino, inode->i_mode, - (unsigned long long)inode->i_size, - (unsigned long long)iinfo->i_lenExtents); - } kfree(iinfo->i_ext.i_data); iinfo->i_ext.i_data = NULL; udf_clear_extent_cache(inode); @@ -543,11 +546,14 @@ udf_write_aext(inode, last_pos, &last_ext->extLocation, last_ext->extLength, 1); + /* - * We've rewritten the last extent but there may be empty - * indirect extent after it - enter it. + * We've rewritten the last extent. If we are going to add + * more extents, we may need to enter possible following + * empty indirect extent. */ - udf_next_aext(inode, last_pos, &tmploc, &tmplen, 0); + if (new_block_bytes || prealloc_len) + udf_next_aext(inode, last_pos, &tmploc, &tmplen, 0); } /* Managed to do everything necessary? */ --- linux-riscv-5.8-5.8.0.orig/fs/udf/super.c +++ linux-riscv-5.8-5.8.0/fs/udf/super.c @@ -705,6 +705,7 @@ struct buffer_head *bh = NULL; int nsr = 0; struct udf_sb_info *sbi; + loff_t session_offset; sbi = UDF_SB(sb); if (sb->s_blocksize < sizeof(struct volStructDesc)) @@ -712,7 +713,8 @@ else sectorsize = sb->s_blocksize; - sector += (((loff_t)sbi->s_session) << sb->s_blocksize_bits); + session_offset = (loff_t)sbi->s_session << sb->s_blocksize_bits; + sector += session_offset; udf_debug("Starting at sector %u (%lu byte sectors)\n", (unsigned int)(sector >> sb->s_blocksize_bits), @@ -757,8 +759,7 @@ if (nsr > 0) return 1; - else if (!bh && sector - (sbi->s_session << sb->s_blocksize_bits) == - VSD_FIRST_SECTOR_OFFSET) + else if (!bh && sector - session_offset == VSD_FIRST_SECTOR_OFFSET) return -1; else return 0; @@ -1353,6 +1354,12 @@ (int)spm->numSparingTables); return -EIO; } + if (le32_to_cpu(spm->sizeSparingTable) > sb->s_blocksize) { + udf_err(sb, "error loading logical volume descriptor: " + "Too big sparing table size (%u)\n", + le32_to_cpu(spm->sizeSparingTable)); + return -EIO; + } for (i = 0; i < spm->numSparingTables; i++) { loc = le32_to_cpu(spm->locSparingTable[i]); @@ -1698,7 +1705,8 @@ "Pointers (max %u supported)\n", UDF_MAX_TD_NESTING); brelse(bh); - return -EIO; + ret = -EIO; + goto out; } vdp = (struct volDescPtr *)bh->b_data; @@ -1718,7 +1726,8 @@ curr = get_volume_descriptor_record(ident, bh, &data); if (IS_ERR(curr)) { brelse(bh); - return PTR_ERR(curr); + ret = PTR_ERR(curr); + goto out; } /* Descriptor we don't care about? */ if (!curr) @@ -1740,28 +1749,31 @@ */ if (!data.vds[VDS_POS_PRIMARY_VOL_DESC].block) { udf_err(sb, "Primary Volume Descriptor not found!\n"); - return -EAGAIN; + ret = -EAGAIN; + goto out; } ret = udf_load_pvoldesc(sb, data.vds[VDS_POS_PRIMARY_VOL_DESC].block); if (ret < 0) - return ret; + goto out; if (data.vds[VDS_POS_LOGICAL_VOL_DESC].block) { ret = udf_load_logicalvol(sb, data.vds[VDS_POS_LOGICAL_VOL_DESC].block, fileset); if (ret < 0) - return ret; + goto out; } /* Now handle prevailing Partition Descriptors */ for (i = 0; i < data.num_part_descs; i++) { ret = udf_load_partdesc(sb, data.part_descs_loc[i].rec.block); if (ret < 0) - return ret; + goto out; } - - return 0; + ret = 0; +out: + kfree(data.part_descs_loc); + return ret; } /* --- linux-riscv-5.8-5.8.0.orig/fs/ufs/super.c +++ linux-riscv-5.8-5.8.0/fs/ufs/super.c @@ -101,7 +101,7 @@ struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; struct inode *inode; - if (ino < UFS_ROOTINO || ino > uspi->s_ncg * uspi->s_ipg) + if (ino < UFS_ROOTINO || ino > (u64)uspi->s_ncg * uspi->s_ipg) return ERR_PTR(-ESTALE); inode = ufs_iget(sb, ino); --- linux-riscv-5.8-5.8.0.orig/fs/vboxsf/super.c +++ linux-riscv-5.8-5.8.0/fs/vboxsf/super.c @@ -384,7 +384,7 @@ static int vboxsf_parse_monolithic(struct fs_context *fc, void *data) { - char *options = data; + unsigned char *options = data; if (options && options[0] == VBSF_MOUNT_SIGNATURE_BYTE_0 && options[1] == VBSF_MOUNT_SIGNATURE_BYTE_1 && --- linux-riscv-5.8-5.8.0.orig/fs/xattr.c +++ linux-riscv-5.8-5.8.0/fs/xattr.c @@ -203,11 +203,24 @@ return error; } +EXPORT_SYMBOL_GPL(__vfs_setxattr_noperm); - +/** + * __vfs_setxattr_locked: set an extended attribute while holding the inode + * lock + * + * @dentry - object to perform setxattr on + * @name - xattr name to set + * @value - value to set @name to + * @size - size of @value + * @flags - flags to pass into filesystem operations + * @delegated_inode - on return, will contain an inode pointer that + * a delegation was broken on, NULL if none. + */ int -vfs_setxattr(struct dentry *dentry, const char *name, const void *value, - size_t size, int flags) +__vfs_setxattr_locked(struct dentry *dentry, const char *name, + const void *value, size_t size, int flags, + struct inode **delegated_inode) { struct inode *inode = dentry->d_inode; int error; @@ -216,15 +229,51 @@ if (error) return error; - inode_lock(inode); error = security_inode_setxattr(dentry, name, value, size, flags); if (error) goto out; + error = try_break_deleg(inode, delegated_inode); + if (error) + goto out; + error = __vfs_setxattr_noperm(dentry, name, value, size, flags); out: + return error; +} +EXPORT_SYMBOL_GPL(__vfs_setxattr_locked); + +int +vfs_setxattr(struct dentry *dentry, const char *name, const void *value, + size_t size, int flags) +{ + struct inode *inode = dentry->d_inode; + struct inode *delegated_inode = NULL; + const void *orig_value = value; + int error; + + if (size && strcmp(name, XATTR_NAME_CAPS) == 0) { + error = cap_convert_nscap(dentry, &value, size); + if (error < 0) + return error; + size = error; + } + +retry_deleg: + inode_lock(inode); + error = __vfs_setxattr_locked(dentry, name, value, size, flags, + &delegated_inode); inode_unlock(inode); + + if (delegated_inode) { + error = break_deleg_wait(&delegated_inode); + if (!error) + goto retry_deleg; + } + if (value != orig_value) + kfree(value); + return error; } EXPORT_SYMBOL_GPL(vfs_setxattr); @@ -296,6 +345,7 @@ *xattr_value = value; return error; } +EXPORT_SYMBOL_GPL(vfs_getxattr_alloc); ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name, @@ -378,8 +428,45 @@ } 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(struct dentry *dentry, const char *name) +__vfs_removexattr_noperm(struct dentry *dentry, const char *name) +{ + int error; + + error =__vfs_removexattr(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 + * + * @dentry - object to perform setxattr on + * @name - name of xattr to remove + * @delegated_inode - on return, will contain an inode pointer that + * a delegation was broken on, NULL if none. + */ +int +__vfs_removexattr_locked(struct dentry *dentry, const char *name, + struct inode **delegated_inode) { struct inode *inode = dentry->d_inode; int error; @@ -388,25 +475,43 @@ if (error) return error; - inode_lock(inode); error = security_inode_removexattr(dentry, name); if (error) goto out; - error = __vfs_removexattr(dentry, name); + error = try_break_deleg(inode, delegated_inode); + if (error) + return error; - if (!error) { - fsnotify_xattr(dentry); - evm_inode_post_removexattr(dentry, name); - } + error = __vfs_removexattr_noperm(dentry, name); out: + return error; +} +EXPORT_SYMBOL_GPL(__vfs_removexattr_locked); + +int +vfs_removexattr(struct dentry *dentry, const char *name) +{ + struct inode *inode = dentry->d_inode; + struct inode *delegated_inode = NULL; + int error; + +retry_deleg: + inode_lock(inode); + error = __vfs_removexattr_locked(dentry, name, &delegated_inode); inode_unlock(inode); + + if (delegated_inode) { + error = break_deleg_wait(&delegated_inode); + if (!error) + goto retry_deleg; + } + return error; } EXPORT_SYMBOL_GPL(vfs_removexattr); - /* * Extended attribute SET operations */ @@ -440,12 +545,6 @@ if ((strcmp(kname, XATTR_NAME_POSIX_ACL_ACCESS) == 0) || (strcmp(kname, XATTR_NAME_POSIX_ACL_DEFAULT) == 0)) posix_acl_fix_xattr_from_user(kvalue, size); - else if (strcmp(kname, XATTR_NAME_CAPS) == 0) { - error = cap_convert_nscap(d, &kvalue, size); - if (error < 0) - goto out; - size = error; - } } error = vfs_setxattr(d, kname, kvalue, size, flags); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_alloc.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_alloc.c @@ -2471,6 +2471,7 @@ new->xefi_startblock = XFS_AGB_TO_FSB(mp, agno, agbno); new->xefi_blockcount = 1; new->xefi_oinfo = *oinfo; + new->xefi_skip_discard = false; trace_xfs_agfl_free_defer(mp, agno, 0, agbno, 1); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_attr_leaf.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_attr_leaf.c @@ -515,7 +515,7 @@ *========================================================================*/ /* - * Query whether the requested number of additional bytes of extended + * Query whether the total requested number of attr fork bytes of extended * attribute space will be able to fit inline. * * Returns zero if not, else the di_forkoff fork offset to be used in the @@ -535,6 +535,12 @@ int maxforkoff; int offset; + /* + * Check if the new size could fit at all first: + */ + if (bytes > XFS_LITINO(mp)) + return 0; + /* rounded down */ offset = (XFS_LITINO(mp) - bytes) >> 3; @@ -653,8 +659,8 @@ ASSERT(ifp->if_flags & XFS_IFINLINE); } xfs_idata_realloc(dp, sizeof(*hdr), XFS_ATTR_FORK); - hdr = (xfs_attr_sf_hdr_t *)ifp->if_u1.if_data; - hdr->count = 0; + hdr = (struct xfs_attr_sf_hdr *)ifp->if_u1.if_data; + memset(hdr, 0, sizeof(*hdr)); hdr->totsize = cpu_to_be16(sizeof(*hdr)); xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_ADATA); } @@ -996,8 +1002,10 @@ * struct xfs_attr_sf_entry has a variable length. * Check the fixed-offset parts of the structure are * within the data buffer. + * xfs_attr_sf_entry is defined with a 1-byte variable + * array at the end, so we must subtract that off. */ - if (((char *)sfep + sizeof(*sfep)) >= endp) + if (((char *)sfep + sizeof(*sfep) - 1) >= endp) return __this_address; /* Don't allow names with known bad length. */ --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_bmap.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_bmap.c @@ -5042,20 +5042,25 @@ flags = XFS_ILOG_CORE; if (whichfork == XFS_DATA_FORK && XFS_IS_REALTIME_INODE(ip)) { - xfs_fsblock_t bno; xfs_filblks_t len; xfs_extlen_t mod; - bno = div_u64_rem(del->br_startblock, mp->m_sb.sb_rextsize, - &mod); - ASSERT(mod == 0); len = div_u64_rem(del->br_blockcount, mp->m_sb.sb_rextsize, &mod); ASSERT(mod == 0); - error = xfs_rtfree_extent(tp, bno, (xfs_extlen_t)len); - if (error) - goto done; + if (!(bflags & XFS_BMAPI_REMAP)) { + xfs_fsblock_t bno; + + bno = div_u64_rem(del->br_startblock, + mp->m_sb.sb_rextsize, &mod); + ASSERT(mod == 0); + + error = xfs_rtfree_extent(tp, bno, (xfs_extlen_t)len); + if (error) + goto done; + } + do_fx = 0; nblks = len * mp->m_sb.sb_rextsize; qfield = XFS_TRANS_DQ_RTBCOUNT; @@ -6222,7 +6227,7 @@ isrt = XFS_IS_REALTIME_INODE(ip); endfsb = irec->br_startblock + irec->br_blockcount - 1; - if (isrt) { + if (isrt && whichfork == XFS_DATA_FORK) { if (!xfs_verify_rtbno(mp, irec->br_startblock)) return __this_address; if (!xfs_verify_rtbno(mp, endfsb)) --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_bmap.h +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_bmap.h @@ -52,9 +52,9 @@ { xfs_fsblock_t xefi_startblock;/* starting fs block number */ xfs_extlen_t xefi_blockcount;/* number of blocks in extent */ + bool xefi_skip_discard; struct list_head xefi_list; struct xfs_owner_info xefi_oinfo; /* extent owner */ - bool xefi_skip_discard; }; #define XFS_BMAP_MAX_NMAP 4 --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_defer.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_defer.c @@ -186,8 +186,9 @@ { const struct xfs_defer_op_type *ops = defer_op_types[dfp->dfp_type]; - dfp->dfp_intent = ops->create_intent(tp, &dfp->dfp_work, - dfp->dfp_count, sort); + if (!dfp->dfp_intent) + dfp->dfp_intent = ops->create_intent(tp, &dfp->dfp_work, + dfp->dfp_count, sort); } /* @@ -390,6 +391,7 @@ list_add(li, &dfp->dfp_work); dfp->dfp_count++; dfp->dfp_done = NULL; + dfp->dfp_intent = NULL; xfs_defer_create_intent(tp, dfp, false); } @@ -428,8 +430,17 @@ /* Until we run out of pending work to finish... */ while (!list_empty(&dop_pending) || !list_empty(&(*tp)->t_dfops)) { + /* + * Deferred items that are created in the process of finishing + * other deferred work items should be queued at the head of + * the pending list, which puts them ahead of the deferred work + * that was created by the caller. This keeps the number of + * pending work items to a minimum, which decreases the amount + * of time that any one intent item can stick around in memory, + * pinning the log tail. + */ xfs_defer_create_intents(*tp); - list_splice_tail_init(&(*tp)->t_dfops, &dop_pending); + list_splice_init(&(*tp)->t_dfops, &dop_pending); error = xfs_defer_trans_roll(tp); if (error) @@ -552,3 +563,23 @@ xfs_defer_reset(stp); } + +/* + * Prepare a chain of fresh deferred ops work items to be completed later. Log + * recovery requires the ability to put off until later the actual finishing + * work so that it can process unfinished items recovered from the log in + * correct order. + * + * Create and log intent items for all the work that we're capturing so that we + * can be assured that the items will get replayed if the system goes down + * before log recovery gets a chance to finish the work it put off. Then we + * move the chain from stp to dtp. + */ +void +xfs_defer_capture( + struct xfs_trans *dtp, + struct xfs_trans *stp) +{ + xfs_defer_create_intents(stp); + xfs_defer_move(dtp, stp); +} --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_defer.h +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_defer.h @@ -63,4 +63,10 @@ extern const struct xfs_defer_op_type xfs_extent_free_defer_type; extern const struct xfs_defer_op_type xfs_agfl_free_defer_type; +/* + * Functions to capture a chain of deferred operations and continue them later. + * This doesn't normally happen except log recovery. + */ +void xfs_defer_capture(struct xfs_trans *dtp, struct xfs_trans *stp); + #endif /* __XFS_DEFER_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_ialloc.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_ialloc.c @@ -688,7 +688,7 @@ args.minalignslop = igeo->cluster_align - 1; /* Allow space for the inode btree to split. */ - args.minleft = igeo->inobt_maxlevels - 1; + args.minleft = igeo->inobt_maxlevels; if ((error = xfs_alloc_vextent(&args))) return error; @@ -736,7 +736,7 @@ /* * Allow space for the inode btree to split. */ - args.minleft = igeo->inobt_maxlevels - 1; + args.minleft = igeo->inobt_maxlevels; if ((error = xfs_alloc_vextent(&args))) return error; } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_rmap.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_rmap.c @@ -1514,7 +1514,7 @@ * record for our insertion point. This will also give us the record for * start block contiguity tests. */ - error = xfs_rmap_lookup_le_range(cur, bno, owner, offset, flags, + error = xfs_rmap_lookup_le_range(cur, bno, owner, offset, oldext, &PREV, &i); if (error) goto done; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_rtbitmap.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_rtbitmap.c @@ -1018,7 +1018,6 @@ struct xfs_mount *mp = tp->t_mountp; xfs_rtblock_t rtstart; xfs_rtblock_t rtend; - xfs_rtblock_t rem; int is_free; int error = 0; @@ -1027,13 +1026,12 @@ if (low_rec->ar_startext >= mp->m_sb.sb_rextents || low_rec->ar_startext == high_rec->ar_startext) return 0; - if (high_rec->ar_startext > mp->m_sb.sb_rextents) - high_rec->ar_startext = mp->m_sb.sb_rextents; + high_rec->ar_startext = min(high_rec->ar_startext, + mp->m_sb.sb_rextents - 1); /* Iterate the bitmap, looking for discrepancies. */ rtstart = low_rec->ar_startext; - rem = high_rec->ar_startext - rtstart; - while (rem) { + while (rtstart <= high_rec->ar_startext) { /* Is the first block free? */ error = xfs_rtcheck_range(mp, tp, rtstart, 1, 1, &rtend, &is_free); @@ -1042,7 +1040,7 @@ /* How long does the extent go for? */ error = xfs_rtfind_forw(mp, tp, rtstart, - high_rec->ar_startext - 1, &rtend); + high_rec->ar_startext, &rtend); if (error) break; @@ -1055,7 +1053,6 @@ break; } - rem -= rtend - rtstart + 1; rtstart = rtend + 1; } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_shared.h +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_shared.h @@ -65,6 +65,7 @@ #define XFS_TRANS_DQ_DIRTY 0x10 /* at least one dquot in trx dirty */ #define XFS_TRANS_RESERVE 0x20 /* OK to use reserved data blocks */ #define XFS_TRANS_NO_WRITECOUNT 0x40 /* do not elevate SB writecount */ +#define XFS_TRANS_RES_FDBLKS 0x80 /* reserve newly freed blocks */ /* * LOWMODE is used by the allocator to activate the lowspace algorithm - when * free space is running low the extent allocator may choose to allocate an --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_trans_inode.c +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_trans_inode.c @@ -36,6 +36,7 @@ ASSERT(iip->ili_lock_flags == 0); iip->ili_lock_flags = lock_flags; + ASSERT(!xfs_iflags_test(ip, XFS_ISTALE)); /* * Get a log_item_desc to point at the new item. @@ -89,6 +90,7 @@ ASSERT(ip->i_itemp != NULL); ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); + ASSERT(!xfs_iflags_test(ip, XFS_ISTALE)); /* * Don't bother with i_lock for the I_DIRTY_TIME check here, as races @@ -96,9 +98,9 @@ * to log the timestamps, or will clear already cleared fields in the * worst case. */ - if (inode->i_state & (I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED)) { + if (inode->i_state & I_DIRTY_TIME) { spin_lock(&inode->i_lock); - inode->i_state &= ~(I_DIRTY_TIME | I_DIRTY_TIME_EXPIRED); + inode->i_state &= ~I_DIRTY_TIME; spin_unlock(&inode->i_lock); } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/libxfs/xfs_trans_space.h +++ linux-riscv-5.8-5.8.0/fs/xfs/libxfs/xfs_trans_space.h @@ -57,8 +57,8 @@ XFS_DAREMOVE_SPACE_RES(mp, XFS_DATA_FORK) #define XFS_IALLOC_SPACE_RES(mp) \ (M_IGEO(mp)->ialloc_blks + \ - (xfs_sb_version_hasfinobt(&mp->m_sb) ? 2 : 1 * \ - (M_IGEO(mp)->inobt_maxlevels - 1))) + ((xfs_sb_version_hasfinobt(&mp->m_sb) ? 2 : 1) * \ + M_IGEO(mp)->inobt_maxlevels)) /* * Space reservation values for various transactions. --- linux-riscv-5.8-5.8.0.orig/fs/xfs/scrub/bmap.c +++ linux-riscv-5.8-5.8.0/fs/xfs/scrub/bmap.c @@ -45,9 +45,27 @@ */ if (S_ISREG(VFS_I(sc->ip)->i_mode) && sc->sm->sm_type == XFS_SCRUB_TYPE_BMBTD) { + struct address_space *mapping = VFS_I(sc->ip)->i_mapping; + inode_dio_wait(VFS_I(sc->ip)); - error = filemap_write_and_wait(VFS_I(sc->ip)->i_mapping); - if (error) + + /* + * Try to flush all incore state to disk before we examine the + * space mappings for the data fork. Leave accumulated errors + * in the mapping for the writer threads to consume. + * + * On ENOSPC or EIO writeback errors, we continue into the + * extent mapping checks because write failures do not + * necessarily imply anything about the correctness of the file + * metadata. The metadata and the file data could be on + * completely separate devices; a media failure might only + * affect a subset of the disk, etc. We can handle delalloc + * extents in the scrubber, so leaving them in memory is fine. + */ + error = filemap_fdatawrite(mapping); + if (!error) + error = filemap_fdatawait_keep_errors(mapping); + if (error && (error != -ENOSPC && error != -EIO)) goto out; } @@ -95,6 +113,8 @@ if (info->whichfork == XFS_ATTR_FORK) rflags |= XFS_RMAP_ATTR_FORK; + if (irec->br_state == XFS_EXT_UNWRITTEN) + rflags |= XFS_RMAP_UNWRITTEN; /* * CoW staging extents are owned (on disk) by the refcountbt, so @@ -198,13 +218,13 @@ * which doesn't track unwritten state. */ if (owner != XFS_RMAP_OWN_COW && - irec->br_state == XFS_EXT_UNWRITTEN && - !(rmap.rm_flags & XFS_RMAP_UNWRITTEN)) + !!(irec->br_state == XFS_EXT_UNWRITTEN) != + !!(rmap.rm_flags & XFS_RMAP_UNWRITTEN)) xchk_fblock_xref_set_corrupt(info->sc, info->whichfork, irec->br_startoff); - if (info->whichfork == XFS_ATTR_FORK && - !(rmap.rm_flags & XFS_RMAP_ATTR_FORK)) + if (!!(info->whichfork == XFS_ATTR_FORK) != + !!(rmap.rm_flags & XFS_RMAP_ATTR_FORK)) xchk_fblock_xref_set_corrupt(info->sc, info->whichfork, irec->br_startoff); if (rmap.rm_flags & XFS_RMAP_BMBT_BLOCK) --- linux-riscv-5.8-5.8.0.orig/fs/xfs/scrub/btree.c +++ linux-riscv-5.8-5.8.0/fs/xfs/scrub/btree.c @@ -452,32 +452,41 @@ int level, struct xfs_btree_block *block) { - unsigned int numrecs; - int ok_level; - - numrecs = be16_to_cpu(block->bb_numrecs); + struct xfs_btree_cur *cur = bs->cur; + unsigned int root_level = cur->bc_nlevels - 1; + unsigned int numrecs = be16_to_cpu(block->bb_numrecs); /* More records than minrecs means the block is ok. */ - if (numrecs >= bs->cur->bc_ops->get_minrecs(bs->cur, level)) + if (numrecs >= cur->bc_ops->get_minrecs(cur, level)) return; /* - * Certain btree blocks /can/ have fewer than minrecs records. Any - * level greater than or equal to the level of the highest dedicated - * btree block are allowed to violate this constraint. - * - * For a btree rooted in a block, the btree root can have fewer than - * minrecs records. If the btree is rooted in an inode and does not - * store records in the root, the direct children of the root and the - * root itself can have fewer than minrecs records. + * For btrees rooted in the inode, it's possible that the root block + * contents spilled into a regular ondisk block because there wasn't + * enough space in the inode root. The number of records in that + * child block might be less than the standard minrecs, but that's ok + * provided that there's only one direct child of the root. */ - ok_level = bs->cur->bc_nlevels - 1; - if (bs->cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) - ok_level--; - if (level >= ok_level) + if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) && + level == cur->bc_nlevels - 2) { + struct xfs_btree_block *root_block; + struct xfs_buf *root_bp; + int root_maxrecs; + + root_block = xfs_btree_get_block(cur, root_level, &root_bp); + root_maxrecs = cur->bc_ops->get_dmaxrecs(cur, root_level); + if (be16_to_cpu(root_block->bb_numrecs) != 1 || + numrecs <= root_maxrecs) + xchk_btree_set_corrupt(bs->sc, cur, level); return; + } - xchk_btree_set_corrupt(bs->sc, bs->cur, level); + /* + * Otherwise, only the root level is allowed to have fewer than minrecs + * records or keyptrs. + */ + if (level < root_level) + xchk_btree_set_corrupt(bs->sc, cur, level); } /* --- linux-riscv-5.8-5.8.0.orig/fs/xfs/scrub/dir.c +++ linux-riscv-5.8-5.8.0/fs/xfs/scrub/dir.c @@ -558,14 +558,27 @@ /* Check all the bestfree entries. */ for (i = 0; i < bestcount; i++, bestp++) { best = be16_to_cpu(*bestp); - if (best == NULLDATAOFF) - continue; error = xfs_dir3_data_read(sc->tp, sc->ip, - i * args->geo->fsbcount, 0, &dbp); + xfs_dir2_db_to_da(args->geo, i), + XFS_DABUF_MAP_HOLE_OK, + &dbp); if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, lblk, &error)) break; - xchk_directory_check_freesp(sc, lblk, dbp, best); + + if (!dbp) { + if (best != NULLDATAOFF) { + xchk_fblock_set_corrupt(sc, XFS_DATA_FORK, + lblk); + break; + } + continue; + } + + if (best == NULLDATAOFF) + xchk_fblock_set_corrupt(sc, XFS_DATA_FORK, lblk); + else + xchk_directory_check_freesp(sc, lblk, dbp, best); xfs_trans_brelse(sc->tp, dbp); if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) break; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/scrub/inode.c +++ linux-riscv-5.8-5.8.0/fs/xfs/scrub/inode.c @@ -121,8 +121,7 @@ goto bad; /* rt flags require rt device */ - if ((flags & (XFS_DIFLAG_REALTIME | XFS_DIFLAG_RTINHERIT)) && - !mp->m_rtdev_targp) + if ((flags & XFS_DIFLAG_REALTIME) && !mp->m_rtdev_targp) goto bad; /* new rt bitmap flag only valid for rbmino */ --- linux-riscv-5.8-5.8.0.orig/fs/xfs/scrub/refcount.c +++ linux-riscv-5.8-5.8.0/fs/xfs/scrub/refcount.c @@ -170,7 +170,6 @@ */ INIT_LIST_HEAD(&worklist); rbno = NULLAGBLOCK; - nr = 1; /* Make sure the fragments actually /are/ in agbno order. */ bno = 0; @@ -184,15 +183,14 @@ * Find all the rmaps that start at or before the refc extent, * and put them on the worklist. */ + nr = 0; list_for_each_entry_safe(frag, n, &refchk->fragments, list) { - if (frag->rm.rm_startblock > refchk->bno) - goto done; + if (frag->rm.rm_startblock > refchk->bno || nr > target_nr) + break; bno = frag->rm.rm_startblock + frag->rm.rm_blockcount; if (bno < rbno) rbno = bno; list_move_tail(&frag->list, &worklist); - if (nr == target_nr) - break; nr++; } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_aops.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_aops.c @@ -346,8 +346,8 @@ ssize_t count = i_blocksize(inode); xfs_fileoff_t offset_fsb = XFS_B_TO_FSBT(mp, offset); xfs_fileoff_t end_fsb = XFS_B_TO_FSB(mp, offset + count); - xfs_fileoff_t cow_fsb = NULLFILEOFF; - int whichfork = XFS_DATA_FORK; + xfs_fileoff_t cow_fsb; + int whichfork; struct xfs_bmbt_irec imap; struct xfs_iext_cursor icur; int retries = 0; @@ -381,6 +381,8 @@ * landed in a hole and we skip the block. */ retry: + cow_fsb = NULLFILEOFF; + whichfork = XFS_DATA_FORK; xfs_ilock(ip, XFS_ILOCK_SHARED); ASSERT(ip->i_df.if_format != XFS_DINODE_FMT_BTREE || (ip->i_df.if_flags & XFS_IFEXTENTS)); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_bmap_item.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_bmap_item.c @@ -534,7 +534,7 @@ xfs_bmap_unmap_extent(tp, ip, &irec); } - xfs_defer_move(parent_tp, tp); + xfs_defer_capture(parent_tp, tp); error = xfs_trans_commit(tp); xfs_iunlock(ip, XFS_ILOCK_EXCL); xfs_irele(ip); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_bmap_util.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_bmap_util.c @@ -1165,7 +1165,7 @@ goto out_trans_cancel; do { - error = xfs_trans_roll_inode(&tp, ip); + error = xfs_defer_finish(&tp); if (error) goto out_trans_cancel; @@ -1567,6 +1567,7 @@ int lock_flags; uint64_t f; int resblks = 0; + unsigned int flags = 0; /* * Lock the inodes against other IO, page faults and truncate to @@ -1630,17 +1631,16 @@ resblks += XFS_SWAP_RMAP_SPACE_RES(mp, tipnext, w); /* - * Handle the corner case where either inode might straddle the - * btree format boundary. If so, the inode could bounce between - * btree <-> extent format on unmap -> remap cycles, freeing and - * allocating a bmapbt block each time. + * If either inode straddles a bmapbt block allocation boundary, + * the rmapbt algorithm triggers repeated allocs and frees as + * extents are remapped. This can exhaust the block reservation + * prematurely and cause shutdown. Return freed blocks to the + * transaction reservation to counter this behavior. */ - if (ipnext == (XFS_IFORK_MAXEXT(ip, w) + 1)) - resblks += XFS_IFORK_MAXEXT(ip, w); - if (tipnext == (XFS_IFORK_MAXEXT(tip, w) + 1)) - resblks += XFS_IFORK_MAXEXT(tip, w); + flags |= XFS_TRANS_RES_FDBLKS; } - error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, resblks, 0, 0, &tp); + error = xfs_trans_alloc(mp, &M_RES(mp)->tr_write, resblks, 0, flags, + &tp); if (error) goto out_unlock; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_buf_item_recover.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_buf_item_recover.c @@ -721,6 +721,8 @@ case XFS_ABTC_MAGIC: case XFS_RMAP_CRC_MAGIC: case XFS_REFC_CRC_MAGIC: + case XFS_FIBT_CRC_MAGIC: + case XFS_FIBT_MAGIC: case XFS_IBT_CRC_MAGIC: case XFS_IBT_MAGIC: { struct xfs_btree_block *btb = blk; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_file.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_file.c @@ -1005,6 +1005,21 @@ return ret; } +/* Does this file, inode, or mount want synchronous writes? */ +static inline bool xfs_file_sync_writes(struct file *filp) +{ + struct xfs_inode *ip = XFS_I(file_inode(filp)); + + if (ip->i_mount->m_flags & XFS_MOUNT_WSYNC) + return true; + if (filp->f_flags & (__O_SYNC | O_DSYNC)) + return true; + if (IS_SYNC(file_inode(filp))) + return true; + + return false; +} + STATIC loff_t xfs_file_remap_range( struct file *file_in, @@ -1062,7 +1077,7 @@ if (ret) goto out_unlock; - if (mp->m_flags & XFS_MOUNT_WSYNC) + if (xfs_file_sync_writes(file_in) || xfs_file_sync_writes(file_out)) xfs_log_force_inode(dest); out_unlock: xfs_reflink_remap_unlock(file_in, file_out); @@ -1220,6 +1235,14 @@ return ret; } +static inline bool +xfs_is_write_fault( + struct vm_fault *vmf) +{ + return (vmf->flags & FAULT_FLAG_WRITE) && + (vmf->vma->vm_flags & VM_SHARED); +} + static vm_fault_t xfs_filemap_fault( struct vm_fault *vmf) @@ -1227,7 +1250,7 @@ /* DAX can shortcut the normal fault path on write faults! */ return __xfs_filemap_fault(vmf, PE_SIZE_PTE, IS_DAX(file_inode(vmf->vma->vm_file)) && - (vmf->flags & FAULT_FLAG_WRITE)); + xfs_is_write_fault(vmf)); } static vm_fault_t @@ -1240,7 +1263,7 @@ /* DAX can shortcut the normal fault path on write faults! */ return __xfs_filemap_fault(vmf, pe_size, - (vmf->flags & FAULT_FLAG_WRITE)); + xfs_is_write_fault(vmf)); } static vm_fault_t --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_fsmap.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_fsmap.c @@ -26,7 +26,7 @@ #include "xfs_rtalloc.h" /* Convert an xfs_fsmap to an fsmap. */ -void +static void xfs_fsmap_from_internal( struct fsmap *dest, struct xfs_fsmap *src) @@ -155,8 +155,7 @@ /* getfsmap query state */ struct xfs_getfsmap_info { struct xfs_fsmap_head *head; - xfs_fsmap_format_t formatter; /* formatting fn */ - void *format_arg; /* format buffer */ + struct fsmap *fsmap_recs; /* mapping records */ struct xfs_buf *agf_bp; /* AGF, for refcount queries */ xfs_daddr_t next_daddr; /* next daddr we expect */ u64 missing_owner; /* owner of holes */ @@ -224,6 +223,20 @@ return 0; } +static inline void +xfs_getfsmap_format( + struct xfs_mount *mp, + struct xfs_fsmap *xfm, + struct xfs_getfsmap_info *info) +{ + struct fsmap *rec; + + trace_xfs_getfsmap_mapping(mp, xfm); + + rec = &info->fsmap_recs[info->head->fmh_entries++]; + xfs_fsmap_from_internal(rec, xfm); +} + /* * Format a reverse mapping for getfsmap, having translated rm_startblock * into the appropriate daddr units. @@ -256,6 +269,9 @@ /* Are we just counting mappings? */ if (info->head->fmh_count == 0) { + if (info->head->fmh_entries == UINT_MAX) + return -ECANCELED; + if (rec_daddr > info->next_daddr) info->head->fmh_entries++; @@ -285,10 +301,7 @@ fmr.fmr_offset = 0; fmr.fmr_length = rec_daddr - info->next_daddr; fmr.fmr_flags = FMR_OF_SPECIAL_OWNER; - error = info->formatter(&fmr, info->format_arg); - if (error) - return error; - info->head->fmh_entries++; + xfs_getfsmap_format(mp, &fmr, info); } if (info->last) @@ -320,11 +333,8 @@ if (shared) fmr.fmr_flags |= FMR_OF_SHARED; } - error = info->formatter(&fmr, info->format_arg); - if (error) - return error; - info->head->fmh_entries++; + xfs_getfsmap_format(mp, &fmr, info); out: rec_daddr += XFS_FSB_TO_BB(mp, rec->rm_blockcount); if (info->next_daddr < rec_daddr) @@ -792,11 +802,11 @@ #endif /* CONFIG_XFS_RT */ /* - * Get filesystem's extents as described in head, and format for - * output. Calls formatter to fill the user's buffer until all - * extents are mapped, until the passed-in head->fmh_count slots have - * been filled, or until the formatter short-circuits the loop, if it - * is tracking filled-in extents on its own. + * Get filesystem's extents as described in head, and format for output. Fills + * in the supplied records array until there are no more reverse mappings to + * return or head.fmh_entries == head.fmh_count. In the second case, this + * function returns -ECANCELED to indicate that more records would have been + * returned. * * Key to Confusion * ---------------- @@ -816,8 +826,7 @@ xfs_getfsmap( struct xfs_mount *mp, struct xfs_fsmap_head *head, - xfs_fsmap_format_t formatter, - void *arg) + struct fsmap *fsmap_recs) { struct xfs_trans *tp = NULL; struct xfs_fsmap dkeys[2]; /* per-dev keys */ @@ -892,8 +901,7 @@ info.next_daddr = head->fmh_keys[0].fmr_physical + head->fmh_keys[0].fmr_length; - info.formatter = formatter; - info.format_arg = arg; + info.fsmap_recs = fsmap_recs; info.head = head; /* --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_fsmap.h +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_fsmap.h @@ -27,13 +27,9 @@ struct xfs_fsmap fmh_keys[2]; /* low and high keys */ }; -void xfs_fsmap_from_internal(struct fsmap *dest, struct xfs_fsmap *src); void xfs_fsmap_to_internal(struct xfs_fsmap *dest, struct fsmap *src); -/* fsmap to userspace formatter - copy to user & advance pointer */ -typedef int (*xfs_fsmap_format_t)(struct xfs_fsmap *, void *); - int xfs_getfsmap(struct xfs_mount *mp, struct xfs_fsmap_head *head, - xfs_fsmap_format_t formatter, void *arg); + struct fsmap *out_recs); #endif /* __XFS_FSMAP_H__ */ --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_icache.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_icache.c @@ -1141,7 +1141,7 @@ goto out_ifunlock; xfs_iunpin_wait(ip); } - if (xfs_iflags_test(ip, XFS_ISTALE) || xfs_inode_clean(ip)) { + if (xfs_inode_clean(ip)) { xfs_ifunlock(ip); goto reclaim; } @@ -1228,6 +1228,7 @@ xfs_ilock(ip, XFS_ILOCK_EXCL); xfs_qm_dqdetach(ip); xfs_iunlock(ip, XFS_ILOCK_EXCL); + ASSERT(xfs_inode_clean(ip)); __xfs_inode_free(ip); return error; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_inode.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_inode.c @@ -1740,10 +1740,31 @@ return error; } + /* + * We do not hold the inode locked across the entire rolling transaction + * here. We only need to hold it for the first transaction that + * xfs_ifree() builds, which may mark the inode XFS_ISTALE if the + * underlying cluster buffer is freed. Relogging an XFS_ISTALE inode + * here breaks the relationship between cluster buffer invalidation and + * stale inode invalidation on cluster buffer item journal commit + * completion, and can result in leaving dirty stale inodes hanging + * around in memory. + * + * We have no need for serialising this inode operation against other + * operations - we freed the inode and hence reallocation is required + * and that will serialise on reallocating the space the deferops need + * to free. Hence we can unlock the inode on the first commit of + * the transaction rather than roll it right through the deferops. This + * avoids relogging the XFS_ISTALE inode. + * + * We check that xfs_ifree() hasn't grown an internal transaction roll + * by asserting that the inode is still locked when it returns. + */ xfs_ilock(ip, XFS_ILOCK_EXCL); - xfs_trans_ijoin(tp, ip, 0); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); error = xfs_ifree(tp, ip); + ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); if (error) { /* * If we fail to free the inode, shut down. The cancel @@ -1756,7 +1777,6 @@ xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR); } xfs_trans_cancel(tp); - xfs_iunlock(ip, XFS_ILOCK_EXCL); return error; } @@ -1774,7 +1794,6 @@ xfs_notice(mp, "%s: xfs_trans_commit returned error %d", __func__, error); - xfs_iunlock(ip, XFS_ILOCK_EXCL); return 0; } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_ioctl.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_ioctl.c @@ -1707,39 +1707,17 @@ return error; } -struct getfsmap_info { - struct xfs_mount *mp; - struct fsmap_head __user *data; - unsigned int idx; - __u32 last_flags; -}; - -STATIC int -xfs_getfsmap_format(struct xfs_fsmap *xfm, void *priv) -{ - struct getfsmap_info *info = priv; - struct fsmap fm; - - trace_xfs_getfsmap_mapping(info->mp, xfm); - - info->last_flags = xfm->fmr_flags; - xfs_fsmap_from_internal(&fm, xfm); - if (copy_to_user(&info->data->fmh_recs[info->idx++], &fm, - sizeof(struct fsmap))) - return -EFAULT; - - return 0; -} - STATIC int xfs_ioc_getfsmap( struct xfs_inode *ip, struct fsmap_head __user *arg) { - struct getfsmap_info info = { NULL }; struct xfs_fsmap_head xhead = {0}; struct fsmap_head head; - bool aborted = false; + struct fsmap *recs; + unsigned int count; + __u32 last_flags = 0; + bool done = false; int error; if (copy_from_user(&head, arg, sizeof(struct fsmap_head))) @@ -1751,38 +1729,112 @@ sizeof(head.fmh_keys[1].fmr_reserved))) return -EINVAL; + /* + * Use an internal memory buffer so that we don't have to copy fsmap + * data to userspace while holding locks. Start by trying to allocate + * up to 128k for the buffer, but fall back to a single page if needed. + */ + count = min_t(unsigned int, head.fmh_count, + 131072 / sizeof(struct fsmap)); + recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); + if (!recs) { + count = min_t(unsigned int, head.fmh_count, + PAGE_SIZE / sizeof(struct fsmap)); + recs = kvzalloc(count * sizeof(struct fsmap), GFP_KERNEL); + if (!recs) + return -ENOMEM; + } + xhead.fmh_iflags = head.fmh_iflags; - xhead.fmh_count = head.fmh_count; xfs_fsmap_to_internal(&xhead.fmh_keys[0], &head.fmh_keys[0]); xfs_fsmap_to_internal(&xhead.fmh_keys[1], &head.fmh_keys[1]); trace_xfs_getfsmap_low_key(ip->i_mount, &xhead.fmh_keys[0]); trace_xfs_getfsmap_high_key(ip->i_mount, &xhead.fmh_keys[1]); - info.mp = ip->i_mount; - info.data = arg; - error = xfs_getfsmap(ip->i_mount, &xhead, xfs_getfsmap_format, &info); - if (error == -ECANCELED) { - error = 0; - aborted = true; - } else if (error) - return error; - - /* If we didn't abort, set the "last" flag in the last fmx */ - if (!aborted && info.idx) { - info.last_flags |= FMR_OF_LAST; - if (copy_to_user(&info.data->fmh_recs[info.idx - 1].fmr_flags, - &info.last_flags, sizeof(info.last_flags))) - return -EFAULT; + head.fmh_entries = 0; + do { + struct fsmap __user *user_recs; + struct fsmap *last_rec; + + user_recs = &arg->fmh_recs[head.fmh_entries]; + xhead.fmh_entries = 0; + xhead.fmh_count = min_t(unsigned int, count, + head.fmh_count - head.fmh_entries); + + /* Run query, record how many entries we got. */ + error = xfs_getfsmap(ip->i_mount, &xhead, recs); + switch (error) { + case 0: + /* + * There are no more records in the result set. Copy + * whatever we got to userspace and break out. + */ + done = true; + break; + case -ECANCELED: + /* + * The internal memory buffer is full. Copy whatever + * records we got to userspace and go again if we have + * not yet filled the userspace buffer. + */ + error = 0; + break; + default: + goto out_free; + } + head.fmh_entries += xhead.fmh_entries; + head.fmh_oflags = xhead.fmh_oflags; + + /* + * If the caller wanted a record count or there aren't any + * new records to return, we're done. + */ + if (head.fmh_count == 0 || xhead.fmh_entries == 0) + break; + + /* Copy all the records we got out to userspace. */ + if (copy_to_user(user_recs, recs, + xhead.fmh_entries * sizeof(struct fsmap))) { + error = -EFAULT; + goto out_free; + } + + /* Remember the last record flags we copied to userspace. */ + last_rec = &recs[xhead.fmh_entries - 1]; + last_flags = last_rec->fmr_flags; + + /* Set up the low key for the next iteration. */ + xfs_fsmap_to_internal(&xhead.fmh_keys[0], last_rec); + trace_xfs_getfsmap_low_key(ip->i_mount, &xhead.fmh_keys[0]); + } while (!done && head.fmh_entries < head.fmh_count); + + /* + * If there are no more records in the query result set and we're not + * in counting mode, mark the last record returned with the LAST flag. + */ + if (done && head.fmh_count > 0 && head.fmh_entries > 0) { + struct fsmap __user *user_rec; + + last_flags |= FMR_OF_LAST; + user_rec = &arg->fmh_recs[head.fmh_entries - 1]; + + if (copy_to_user(&user_rec->fmr_flags, &last_flags, + sizeof(last_flags))) { + error = -EFAULT; + goto out_free; + } } /* copy back header */ - head.fmh_entries = xhead.fmh_entries; - head.fmh_oflags = xhead.fmh_oflags; - if (copy_to_user(arg, &head, sizeof(struct fsmap_head))) - return -EFAULT; + if (copy_to_user(arg, &head, sizeof(struct fsmap_head))) { + error = -EFAULT; + goto out_free; + } - return 0; +out_free: + kmem_free(recs); + return error; } STATIC int --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_iops.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_iops.c @@ -865,7 +865,7 @@ ASSERT(xfs_isilocked(ip, XFS_MMAPLOCK_EXCL)); ASSERT(S_ISREG(inode->i_mode)); ASSERT((iattr->ia_valid & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| - ATTR_MTIME_SET|ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0); + ATTR_MTIME_SET|ATTR_TIMES_SET)) == 0); oldsize = inode->i_size; newsize = iattr->ia_size; @@ -911,6 +911,16 @@ error = iomap_zero_range(inode, oldsize, newsize - oldsize, &did_zeroing, &xfs_buffered_write_iomap_ops); } else { + /* + * iomap won't detect a dirty page over an unwritten block (or a + * cow block over a hole) and subsequently skips zeroing the + * newly post-EOF portion of the page. Flush the new EOF to + * convert the block before the pagecache truncate. + */ + error = filemap_write_and_wait_range(inode->i_mapping, newsize, + newsize); + if (error) + return error; error = iomap_truncate_page(inode, newsize, &did_zeroing, &xfs_buffered_write_iomap_ops); } --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_iwalk.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_iwalk.c @@ -55,6 +55,9 @@ /* Where do we start the traversal? */ xfs_ino_t startino; + /* What was the last inode number we saw when iterating the inobt? */ + xfs_ino_t lastino; + /* Array of inobt records we cache. */ struct xfs_inobt_rec_incore *recs; @@ -301,6 +304,9 @@ if (XFS_IS_CORRUPT(mp, *has_more != 1)) return -EFSCORRUPTED; + iwag->lastino = XFS_AGINO_TO_INO(mp, agno, + irec->ir_startino + XFS_INODES_PER_CHUNK - 1); + /* * If the LE lookup yielded an inobt record before the cursor position, * skip it and see if there's another one after it. @@ -347,15 +353,17 @@ struct xfs_mount *mp = iwag->mp; struct xfs_trans *tp = iwag->tp; struct xfs_inobt_rec_incore *irec; - xfs_agino_t restart; + xfs_agino_t next_agino; int error; + next_agino = XFS_INO_TO_AGINO(mp, iwag->lastino) + 1; + ASSERT(iwag->nr_recs > 0); /* Delete cursor but remember the last record we cached... */ xfs_iwalk_del_inobt(tp, curpp, agi_bpp, 0); irec = &iwag->recs[iwag->nr_recs - 1]; - restart = irec->ir_startino + XFS_INODES_PER_CHUNK - 1; + ASSERT(next_agino == irec->ir_startino + XFS_INODES_PER_CHUNK); error = xfs_iwalk_ag_recs(iwag); if (error) @@ -372,7 +380,7 @@ if (error) return error; - return xfs_inobt_lookup(*curpp, restart, XFS_LOOKUP_GE, has_more); + return xfs_inobt_lookup(*curpp, next_agino, XFS_LOOKUP_GE, has_more); } /* Walk all inodes in a single AG, from @iwag->startino to the end of the AG. */ @@ -396,6 +404,7 @@ while (!error && has_more) { struct xfs_inobt_rec_incore *irec; + xfs_ino_t rec_fsino; cond_resched(); if (xfs_pwork_want_abort(&iwag->pwork)) @@ -407,6 +416,15 @@ if (error || !has_more) break; + /* Make sure that we always move forward. */ + rec_fsino = XFS_AGINO_TO_INO(mp, agno, irec->ir_startino); + if (iwag->lastino != NULLFSINO && + XFS_IS_CORRUPT(mp, iwag->lastino >= rec_fsino)) { + error = -EFSCORRUPTED; + goto out; + } + iwag->lastino = rec_fsino + XFS_INODES_PER_CHUNK - 1; + /* No allocated inodes in this chunk; skip it. */ if (iwag->skip_empty && irec->ir_freecount == irec->ir_count) { error = xfs_btree_increment(cur, 0, &has_more); @@ -535,6 +553,7 @@ .trim_start = 1, .skip_empty = 1, .pwork = XFS_PWORK_SINGLE_THREADED, + .lastino = NULLFSINO, }; xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, startino); int error; @@ -623,6 +642,7 @@ iwag->data = data; iwag->startino = startino; iwag->sz_recs = xfs_iwalk_prefetch(inode_records); + iwag->lastino = NULLFSINO; xfs_pwork_queue(&pctl, &iwag->pwork); startino = XFS_AGINO_TO_INO(mp, agno + 1, 0); if (flags & XFS_INOBT_WALK_SAME_AG) @@ -696,6 +716,7 @@ .startino = startino, .sz_recs = xfs_inobt_walk_prefetch(inobt_records), .pwork = XFS_PWORK_SINGLE_THREADED, + .lastino = NULLFSINO, }; xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, startino); int error; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_log_recover.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_log_recover.c @@ -2905,7 +2905,8 @@ xlog_valid_rec_header( struct xlog *log, struct xlog_rec_header *rhead, - xfs_daddr_t blkno) + xfs_daddr_t blkno, + int bufsize) { int hlen; @@ -2921,10 +2922,14 @@ return -EFSCORRUPTED; } - /* LR body must have data or it wouldn't have been written */ + /* + * LR body must have data (or it wouldn't have been written) + * and h_len must not be greater than LR buffer size. + */ hlen = be32_to_cpu(rhead->h_len); - if (XFS_IS_CORRUPT(log->l_mp, hlen <= 0 || hlen > INT_MAX)) + if (XFS_IS_CORRUPT(log->l_mp, hlen <= 0 || hlen > bufsize)) return -EFSCORRUPTED; + if (XFS_IS_CORRUPT(log->l_mp, blkno > log->l_logBBsize || blkno > INT_MAX)) return -EFSCORRUPTED; @@ -2985,9 +2990,6 @@ goto bread_err1; rhead = (xlog_rec_header_t *)offset; - error = xlog_valid_rec_header(log, rhead, tail_blk); - if (error) - goto bread_err1; /* * xfsprogs has a bug where record length is based on lsunit but @@ -3002,21 +3004,18 @@ */ h_size = be32_to_cpu(rhead->h_size); h_len = be32_to_cpu(rhead->h_len); - if (h_len > h_size) { - if (h_len <= log->l_mp->m_logbsize && - be32_to_cpu(rhead->h_num_logops) == 1) { - xfs_warn(log->l_mp, + if (h_len > h_size && h_len <= log->l_mp->m_logbsize && + rhead->h_num_logops == cpu_to_be32(1)) { + xfs_warn(log->l_mp, "invalid iclog size (%d bytes), using lsunit (%d bytes)", - h_size, log->l_mp->m_logbsize); - h_size = log->l_mp->m_logbsize; - } else { - XFS_ERROR_REPORT(__func__, XFS_ERRLEVEL_LOW, - log->l_mp); - error = -EFSCORRUPTED; - goto bread_err1; - } + h_size, log->l_mp->m_logbsize); + h_size = log->l_mp->m_logbsize; } + error = xlog_valid_rec_header(log, rhead, tail_blk, h_size); + if (error) + goto bread_err1; + if ((be32_to_cpu(rhead->h_version) & XLOG_VERSION_2) && (h_size > XLOG_HEADER_CYCLE_SIZE)) { hblks = h_size / XLOG_HEADER_CYCLE_SIZE; @@ -3097,7 +3096,7 @@ } rhead = (xlog_rec_header_t *)offset; error = xlog_valid_rec_header(log, rhead, - split_hblks ? blk_no : 0); + split_hblks ? blk_no : 0, h_size); if (error) goto bread_err2; @@ -3178,7 +3177,7 @@ goto bread_err2; rhead = (xlog_rec_header_t *)offset; - error = xlog_valid_rec_header(log, rhead, blk_no); + error = xlog_valid_rec_header(log, rhead, blk_no, h_size); if (error) goto bread_err2; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_mount.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_mount.c @@ -195,21 +195,26 @@ } pag = kmem_zalloc(sizeof(*pag), KM_MAYFAIL); - if (!pag) + if (!pag) { + error = -ENOMEM; goto out_unwind_new_pags; + } pag->pag_agno = index; pag->pag_mount = mp; spin_lock_init(&pag->pag_ici_lock); mutex_init(&pag->pag_ici_reclaim_lock); INIT_RADIX_TREE(&pag->pag_ici_root, GFP_ATOMIC); - if (xfs_buf_hash_init(pag)) + + error = xfs_buf_hash_init(pag); + if (error) goto out_free_pag; init_waitqueue_head(&pag->pagb_wait); spin_lock_init(&pag->pagb_lock); pag->pagb_count = 0; pag->pagb_tree = RB_ROOT; - if (radix_tree_preload(GFP_NOFS)) + error = radix_tree_preload(GFP_NOFS); + if (error) goto out_hash_destroy; spin_lock(&mp->m_perag_lock); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_pnfs.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_pnfs.c @@ -134,7 +134,7 @@ goto out_unlock; error = invalidate_inode_pages2(inode->i_mapping); if (WARN_ON_ONCE(error)) - return error; + goto out_unlock; end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + length); offset_fsb = XFS_B_TO_FSBT(mp, offset); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_qm.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_qm.c @@ -148,6 +148,7 @@ error = xfs_bwrite(bp); xfs_buf_relse(bp); } else if (error == -EAGAIN) { + dqp->dq_flags &= ~XFS_DQ_FREEING; goto out_unlock; } xfs_dqflock(dqp); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_refcount_item.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_refcount_item.c @@ -554,7 +554,7 @@ } xfs_refcount_finish_one_cleanup(tp, rcur, error); - xfs_defer_move(parent_tp, tp); + xfs_defer_capture(parent_tp, tp); error = xfs_trans_commit(tp); return error; --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_reflink.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_reflink.c @@ -1003,6 +1003,7 @@ xfs_filblks_t rlen; xfs_filblks_t unmap_len; xfs_off_t newlen; + int64_t qres; int error; unmap_len = irec->br_startoff + irec->br_blockcount - destoff; @@ -1025,13 +1026,19 @@ xfs_ilock(ip, XFS_ILOCK_EXCL); xfs_trans_ijoin(tp, ip, 0); - /* If we're not just clearing space, then do we have enough quota? */ - if (real_extent) { - error = xfs_trans_reserve_quota_nblks(tp, ip, - irec->br_blockcount, 0, XFS_QMOPT_RES_REGBLKS); - if (error) - goto out_cancel; - } + /* + * Reserve quota for this operation. We don't know if the first unmap + * in the dest file will cause a bmap btree split, so we always reserve + * at least enough blocks for that split. If the extent being mapped + * in is written, we need to reserve quota for that too. + */ + qres = XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK); + if (real_extent) + qres += irec->br_blockcount; + error = xfs_trans_reserve_quota_nblks(tp, ip, qres, 0, + XFS_QMOPT_RES_REGBLKS); + if (error) + goto out_cancel; trace_xfs_reflink_remap(ip, irec->br_startoff, irec->br_blockcount, irec->br_startblock); --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_rtalloc.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_rtalloc.c @@ -247,6 +247,9 @@ end = XFS_BLOCKTOBIT(mp, bbno + 1) - 1; i <= end; i++) { + /* Make sure we don't scan off the end of the rt volume. */ + maxlen = min(mp->m_sb.sb_rextents, i + maxlen) - i; + /* * See if there's a free extent of maxlen starting at i. * If it's not so then next will contain the first non-free. @@ -442,6 +445,14 @@ */ if (bno >= mp->m_sb.sb_rextents) bno = mp->m_sb.sb_rextents - 1; + + /* Make sure we don't run off the end of the rt volume. */ + maxlen = min(mp->m_sb.sb_rextents, bno + maxlen) - bno; + if (maxlen < minlen) { + *rtblock = NULLRTBLOCK; + return 0; + } + /* * Try the exact allocation first. */ @@ -767,8 +778,14 @@ struct xfs_bmbt_irec map; /* block map output */ int nmap; /* number of block maps */ int resblks; /* space reservation */ + enum xfs_blft buf_type; struct xfs_trans *tp; + if (ip == mp->m_rsumip) + buf_type = XFS_BLFT_RTSUMMARY_BUF; + else + buf_type = XFS_BLFT_RTBITMAP_BUF; + /* * Allocate space to the file, as necessary. */ @@ -830,6 +847,9 @@ mp->m_bsize, 0, &bp); if (error) goto out_trans_cancel; + + xfs_trans_buf_set_type(tp, bp, buf_type); + bp->b_ops = &xfs_rtbuf_ops; memset(bp->b_addr, 0, mp->m_sb.sb_blocksize); xfs_trans_log_buf(tp, bp, 0, mp->m_sb.sb_blocksize - 1); /* @@ -1007,10 +1027,13 @@ xfs_ilock(mp->m_rbmip, XFS_ILOCK_EXCL); xfs_trans_ijoin(tp, mp->m_rbmip, XFS_ILOCK_EXCL); /* - * Update the bitmap inode's size. + * Update the bitmap inode's size ondisk and incore. We need + * to update the incore size so that inode inactivation won't + * punch what it thinks are "posteof" blocks. */ mp->m_rbmip->i_d.di_size = nsbp->sb_rbmblocks * nsbp->sb_blocksize; + i_size_write(VFS_I(mp->m_rbmip), mp->m_rbmip->i_d.di_size); xfs_trans_log_inode(tp, mp->m_rbmip, XFS_ILOG_CORE); /* * Get the summary inode into the transaction. @@ -1018,9 +1041,12 @@ xfs_ilock(mp->m_rsumip, XFS_ILOCK_EXCL); xfs_trans_ijoin(tp, mp->m_rsumip, XFS_ILOCK_EXCL); /* - * Update the summary inode's size. + * Update the summary inode's size. We need to update the + * incore size so that inode inactivation won't punch what it + * thinks are "posteof" blocks. */ mp->m_rsumip->i_d.di_size = nmp->m_rsumsize; + i_size_write(VFS_I(mp->m_rsumip), mp->m_rsumip->i_d.di_size); xfs_trans_log_inode(tp, mp->m_rsumip, XFS_ILOG_CORE); /* * Copy summary data from old to new sizes. --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_sysfs.h +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_sysfs.h @@ -32,9 +32,11 @@ struct xfs_kobj *parent_kobj, const char *name) { + struct kobject *parent; + + parent = parent_kobj ? &parent_kobj->kobject : NULL; init_completion(&kobj->complete); - return kobject_init_and_add(&kobj->kobject, ktype, - &parent_kobj->kobject, "%s", name); + return kobject_init_and_add(&kobj->kobject, ktype, parent, "%s", name); } static inline void --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_trans.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_trans.c @@ -107,7 +107,8 @@ ntp->t_flags = XFS_TRANS_PERM_LOG_RES | (tp->t_flags & XFS_TRANS_RESERVE) | - (tp->t_flags & XFS_TRANS_NO_WRITECOUNT); + (tp->t_flags & XFS_TRANS_NO_WRITECOUNT) | + (tp->t_flags & XFS_TRANS_RES_FDBLKS); /* We gave our writer reference to the new transaction */ tp->t_flags |= XFS_TRANS_NO_WRITECOUNT; ntp->t_ticket = xfs_log_ticket_get(tp->t_ticket); @@ -272,6 +273,8 @@ */ WARN_ON(resp->tr_logres > 0 && mp->m_super->s_writers.frozen == SB_FREEZE_COMPLETE); + ASSERT(!(flags & XFS_TRANS_RES_FDBLKS) || + xfs_sb_version_haslazysbcount(&mp->m_sb)); tp->t_magic = XFS_TRANS_HEADER_MAGIC; tp->t_flags = flags; @@ -365,6 +368,20 @@ tp->t_blk_res_used += (uint)-delta; if (tp->t_blk_res_used > tp->t_blk_res) xfs_force_shutdown(mp, SHUTDOWN_CORRUPT_INCORE); + } else if (delta > 0 && (tp->t_flags & XFS_TRANS_RES_FDBLKS)) { + int64_t blkres_delta; + + /* + * Return freed blocks directly to the reservation + * instead of the global pool, being careful not to + * overflow the trans counter. This is used to preserve + * reservation across chains of transaction rolls that + * repeatedly free and allocate blocks. + */ + blkres_delta = min_t(int64_t, delta, + UINT_MAX - tp->t_blk_res); + tp->t_blk_res += blkres_delta; + delta -= blkres_delta; } tp->t_fdblocks_delta += delta; if (xfs_sb_version_haslazysbcount(&mp->m_sb)) --- linux-riscv-5.8-5.8.0.orig/fs/xfs/xfs_trans_dquot.c +++ linux-riscv-5.8-5.8.0/fs/xfs/xfs_trans_dquot.c @@ -647,7 +647,7 @@ } } if (ninos > 0) { - total_count = be64_to_cpu(dqp->q_core.d_icount) + ninos; + total_count = dqp->q_res_icount + ninos; timer = be32_to_cpu(dqp->q_core.d_itimer); warns = be16_to_cpu(dqp->q_core.d_iwarns); warnlimit = defq->iwarnlimit; --- linux-riscv-5.8-5.8.0.orig/fs/zonefs/Kconfig +++ linux-riscv-5.8-5.8.0/fs/zonefs/Kconfig @@ -3,6 +3,7 @@ depends on BLOCK depends on BLK_DEV_ZONED select FS_IOMAP + select CRC32 help zonefs is a simple file system which exposes zones of a zoned block device (e.g. host-managed or host-aware SMR disk drives) as files. --- linux-riscv-5.8-5.8.0.orig/fs/zonefs/super.c +++ linux-riscv-5.8-5.8.0/fs/zonefs/super.c @@ -126,6 +126,21 @@ return iomap_writepages(mapping, wbc, &wpc, &zonefs_writeback_ops); } +static int zonefs_swap_activate(struct swap_info_struct *sis, + struct file *swap_file, sector_t *span) +{ + struct inode *inode = file_inode(swap_file); + struct zonefs_inode_info *zi = ZONEFS_I(inode); + + if (zi->i_ztype != ZONEFS_ZTYPE_CNV) { + zonefs_err(inode->i_sb, + "swap file: not a conventional zone file\n"); + return -EINVAL; + } + + return iomap_swapfile_activate(sis, swap_file, span, &zonefs_iomap_ops); +} + static const struct address_space_operations zonefs_file_aops = { .readpage = zonefs_readpage, .readahead = zonefs_readahead, @@ -138,6 +153,7 @@ .is_partially_uptodate = iomap_is_partially_uptodate, .error_remove_page = generic_error_remove_page, .direct_IO = noop_direct_IO, + .swap_activate = zonefs_swap_activate, }; static void zonefs_update_stats(struct inode *inode, loff_t new_isize) @@ -217,6 +233,9 @@ } inode->i_mode &= ~0222; return i_size_read(inode); + case BLK_ZONE_COND_FULL: + /* The write pointer of full zones is invalid. */ + return zi->i_max_size; default: if (zi->i_ztype == ZONEFS_ZTYPE_CNV) return zi->i_max_size; @@ -628,21 +647,23 @@ bio->bi_opf |= REQ_FUA; ret = bio_iov_iter_get_pages(bio, from); - if (unlikely(ret)) { - bio_io_error(bio); - return ret; - } + if (unlikely(ret)) + goto out_release; + size = bio->bi_iter.bi_size; - task_io_account_write(ret); + task_io_account_write(size); if (iocb->ki_flags & IOCB_HIPRI) bio_set_polled(bio, iocb); ret = submit_bio_wait(bio); + zonefs_file_write_dio_end_io(iocb, size, ret, 0); + +out_release: + bio_release_pages(bio, false); bio_put(bio); - zonefs_file_write_dio_end_io(iocb, size, ret, 0); if (ret >= 0) { iocb->ki_pos += size; return size; @@ -652,6 +673,68 @@ } /* + * Do not exceed the LFS limits nor the file zone size. If pos is under the + * limit it becomes a short access. If it exceeds the limit, return -EFBIG. + */ +static loff_t zonefs_write_check_limits(struct file *file, loff_t pos, + loff_t count) +{ + struct inode *inode = file_inode(file); + struct zonefs_inode_info *zi = ZONEFS_I(inode); + loff_t limit = rlimit(RLIMIT_FSIZE); + loff_t max_size = zi->i_max_size; + + if (limit != RLIM_INFINITY) { + if (pos >= limit) { + send_sig(SIGXFSZ, current, 0); + return -EFBIG; + } + count = min(count, limit - pos); + } + + if (!(file->f_flags & O_LARGEFILE)) + max_size = min_t(loff_t, MAX_NON_LFS, max_size); + + if (unlikely(pos >= max_size)) + return -EFBIG; + + return min(count, max_size - pos); +} + +static ssize_t zonefs_write_checks(struct kiocb *iocb, struct iov_iter *from) +{ + struct file *file = iocb->ki_filp; + struct inode *inode = file_inode(file); + struct zonefs_inode_info *zi = ZONEFS_I(inode); + loff_t count; + + if (IS_SWAPFILE(inode)) + return -ETXTBSY; + + if (!iov_iter_count(from)) + return 0; + + if ((iocb->ki_flags & IOCB_NOWAIT) && !(iocb->ki_flags & IOCB_DIRECT)) + return -EINVAL; + + if (iocb->ki_flags & IOCB_APPEND) { + if (zi->i_ztype != ZONEFS_ZTYPE_SEQ) + return -EINVAL; + mutex_lock(&zi->i_truncate_mutex); + iocb->ki_pos = zi->i_wpoffset; + mutex_unlock(&zi->i_truncate_mutex); + } + + count = zonefs_write_check_limits(file, iocb->ki_pos, + iov_iter_count(from)); + if (count < 0) + return count; + + iov_iter_truncate(from, count); + return iov_iter_count(from); +} + +/* * Handle direct writes. For sequential zone files, this is the only possible * write path. For these files, check that the user is issuing writes * sequentially from the end of the file. This code assumes that the block layer @@ -668,8 +751,7 @@ struct super_block *sb = inode->i_sb; bool sync = is_sync_kiocb(iocb); bool append = false; - size_t count; - ssize_t ret; + ssize_t ret, count; /* * For async direct IOs to sequential zone files, refuse IOCB_NOWAIT @@ -687,12 +769,11 @@ inode_lock(inode); } - ret = generic_write_checks(iocb, from); - if (ret <= 0) + count = zonefs_write_checks(iocb, from); + if (count <= 0) { + ret = count; goto inode_unlock; - - iov_iter_truncate(from, zi->i_max_size - iocb->ki_pos); - count = iov_iter_count(from); + } if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) { ret = -EINVAL; @@ -752,12 +833,10 @@ inode_lock(inode); } - ret = generic_write_checks(iocb, from); + ret = zonefs_write_checks(iocb, from); if (ret <= 0) goto inode_unlock; - iov_iter_truncate(from, zi->i_max_size - iocb->ki_pos); - ret = iomap_file_buffered_write(iocb, from, &zonefs_iomap_ops); if (ret > 0) iocb->ki_pos += ret; --- linux-riscv-5.8-5.8.0.orig/include/acpi/acexcep.h +++ linux-riscv-5.8-5.8.0/include/acpi/acexcep.h @@ -59,11 +59,11 @@ #define AE_OK (acpi_status) 0x0000 -#define ACPI_ENV_EXCEPTION(status) (status & AE_CODE_ENVIRONMENTAL) -#define ACPI_AML_EXCEPTION(status) (status & AE_CODE_AML) -#define ACPI_PROG_EXCEPTION(status) (status & AE_CODE_PROGRAMMER) -#define ACPI_TABLE_EXCEPTION(status) (status & AE_CODE_ACPI_TABLES) -#define ACPI_CNTL_EXCEPTION(status) (status & AE_CODE_CONTROL) +#define ACPI_ENV_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL) +#define ACPI_AML_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_AML) +#define ACPI_PROG_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER) +#define ACPI_TABLE_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES) +#define ACPI_CNTL_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_CONTROL) /* * Environmental exceptions --- linux-riscv-5.8-5.8.0.orig/include/acpi/acpi_bus.h +++ linux-riscv-5.8-5.8.0/include/acpi/acpi_bus.h @@ -233,6 +233,7 @@ struct acpi_device_pnp { acpi_bus_id bus_id; /* Object name */ + int instance_no; /* Instance number of this object */ struct acpi_pnp_type type; /* ID type */ acpi_bus_address bus_address; /* _ADR */ char *unique_id; /* _UID */ @@ -615,7 +616,6 @@ bool acpi_pm_device_can_wakeup(struct device *dev); int acpi_pm_device_sleep_state(struct device *, int *, int); int acpi_pm_set_device_wakeup(struct device *dev, bool enable); -int acpi_pm_set_bridge_wakeup(struct device *dev, bool enable); #else static inline void acpi_pm_wakeup_event(struct device *dev) { @@ -646,10 +646,6 @@ { return -ENODEV; } -static inline int acpi_pm_set_bridge_wakeup(struct device *dev, bool enable) -{ - return -ENODEV; -} #endif #ifdef CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT --- linux-riscv-5.8-5.8.0.orig/include/asm-generic/Kbuild +++ linux-riscv-5.8-5.8.0/include/asm-generic/Kbuild @@ -35,6 +35,7 @@ mandatory-y += kprobes.h mandatory-y += linkage.h mandatory-y += local.h +mandatory-y += local64.h mandatory-y += mm-arch-hooks.h mandatory-y += mmiowb.h mandatory-y += mmu.h --- linux-riscv-5.8-5.8.0.orig/include/asm-generic/bitops/atomic.h +++ linux-riscv-5.8-5.8.0/include/asm-generic/bitops/atomic.h @@ -11,19 +11,19 @@ * See Documentation/atomic_bitops.txt for details. */ -static inline void set_bit(unsigned int nr, volatile unsigned long *p) +static __always_inline void set_bit(unsigned int nr, volatile unsigned long *p) { p += BIT_WORD(nr); atomic_long_or(BIT_MASK(nr), (atomic_long_t *)p); } -static inline void clear_bit(unsigned int nr, volatile unsigned long *p) +static __always_inline void clear_bit(unsigned int nr, volatile unsigned long *p) { p += BIT_WORD(nr); atomic_long_andnot(BIT_MASK(nr), (atomic_long_t *)p); } -static inline void change_bit(unsigned int nr, volatile unsigned long *p) +static __always_inline void change_bit(unsigned int nr, volatile unsigned long *p) { p += BIT_WORD(nr); atomic_long_xor(BIT_MASK(nr), (atomic_long_t *)p); --- linux-riscv-5.8-5.8.0.orig/include/asm-generic/vmlinux.lds.h +++ linux-riscv-5.8-5.8.0/include/asm-generic/vmlinux.lds.h @@ -375,6 +375,7 @@ */ #ifndef RO_AFTER_INIT_DATA #define RO_AFTER_INIT_DATA \ + . = ALIGN(8); \ __start_ro_after_init = .; \ *(.data..ro_after_init) \ JUMP_TABLE_DATA \ @@ -430,7 +431,7 @@ } \ \ /* Built-in firmware blobs */ \ - .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \ + .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) ALIGN(8) { \ __start_builtin_fw = .; \ KEEP(*(.builtin_fw)) \ __end_builtin_fw = .; \ @@ -560,7 +561,10 @@ */ #define TEXT_TEXT \ ALIGN_FUNCTION(); \ - *(.text.hot TEXT_MAIN .text.fixup .text.unlikely) \ + *(.text.hot .text.hot.*) \ + *(TEXT_MAIN .text.fixup) \ + *(.text.unlikely .text.unlikely.*) \ + *(.text.unknown .text.unknown.*) \ NOINSTR_TEXT \ *(.text..refcount) \ *(.ref.text) \ @@ -640,7 +644,7 @@ #define BTF \ .BTF : AT(ADDR(.BTF) - LOAD_OFFSET) { \ __start_BTF = .; \ - *(.BTF) \ + KEEP(*(.BTF)) \ __stop_BTF = .; \ } #else @@ -784,8 +788,13 @@ /* DWARF 4 */ \ .debug_types 0 : { *(.debug_types) } \ /* DWARF 5 */ \ + .debug_addr 0 : { *(.debug_addr) } \ + .debug_line_str 0 : { *(.debug_line_str) } \ + .debug_loclists 0 : { *(.debug_loclists) } \ .debug_macro 0 : { *(.debug_macro) } \ - .debug_addr 0 : { *(.debug_addr) } + .debug_names 0 : { *(.debug_names) } \ + .debug_rnglists 0 : { *(.debug_rnglists) } \ + .debug_str_offsets 0 : { *(.debug_str_offsets) } /* Stabs debugging sections. */ #define STABS_DEBUG \ --- linux-riscv-5.8-5.8.0.orig/include/crypto/hash.h +++ linux-riscv-5.8-5.8.0/include/crypto/hash.h @@ -141,7 +141,7 @@ struct shash_desc { struct crypto_shash *tfm; - void *__ctx[] CRYPTO_MINALIGN_ATTR; + void *__ctx[] __aligned(ARCH_SLAB_MINALIGN); }; #define HASH_MAX_DIGESTSIZE 64 @@ -154,9 +154,9 @@ #define HASH_MAX_STATESIZE 512 -#define SHASH_DESC_ON_STACK(shash, ctx) \ - char __##shash##_desc[sizeof(struct shash_desc) + \ - HASH_MAX_DESCSIZE] CRYPTO_MINALIGN_ATTR; \ +#define SHASH_DESC_ON_STACK(shash, ctx) \ + char __##shash##_desc[sizeof(struct shash_desc) + HASH_MAX_DESCSIZE] \ + __aligned(__alignof__(struct shash_desc)); \ struct shash_desc *shash = (struct shash_desc *)__##shash##_desc /** --- linux-riscv-5.8-5.8.0.orig/include/crypto/if_alg.h +++ linux-riscv-5.8-5.8.0/include/crypto/if_alg.h @@ -135,6 +135,7 @@ * SG? * @enc: Cryptographic operation to be performed when * recvmsg is invoked. + * @init: True if metadata has been sent. * @len: Length of memory allocated for this data structure. */ struct af_alg_ctx { @@ -151,6 +152,7 @@ bool more; bool merge; bool enc; + bool init; unsigned int len; }; @@ -226,7 +228,7 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst, size_t dst_offset); void af_alg_wmem_wakeup(struct sock *sk); -int af_alg_wait_for_data(struct sock *sk, unsigned flags); +int af_alg_wait_for_data(struct sock *sk, unsigned flags, unsigned min); int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size, unsigned int ivsize); ssize_t af_alg_sendpage(struct socket *sock, struct page *page, --- linux-riscv-5.8-5.8.0.orig/include/drm/drm_dp_helper.h +++ linux-riscv-5.8-5.8.0/include/drm/drm_dp_helper.h @@ -1697,6 +1697,14 @@ * the DP_MAX_LINK_RATE register reporting a lower max multiplier. */ DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS, + /** + * @DP_QUIRK_FORCE_PSR_CHIP_DEFAULT + * + * PSR was disabled by default in Ubuntu 5.0 kernels and on, but some + * platforms might be depending on them. If so, use per-chip default to + * probe that automatically. + */ + DP_QUIRK_FORCE_PSR_CHIP_DEFAULT, }; /** --- linux-riscv-5.8-5.8.0.orig/include/drm/drm_dp_mst_helper.h +++ linux-riscv-5.8-5.8.0/include/drm/drm_dp_mst_helper.h @@ -726,6 +726,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); +int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count); int drm_dp_calc_pbn_mode(int clock, int bpp, bool dsc); --- linux-riscv-5.8-5.8.0.orig/include/drm/drm_hdcp.h +++ linux-riscv-5.8-5.8.0/include/drm/drm_hdcp.h @@ -29,6 +29,9 @@ /* Slave address for the HDCP registers in the receiver */ #define DRM_HDCP_DDC_ADDR 0x3A +/* Value to use at the end of the SHA-1 bytestream used for repeaters */ +#define DRM_HDCP_SHA1_TERMINATOR 0x80 + /* HDCP register offsets for HDMI/DVI devices */ #define DRM_HDCP_DDC_BKSV 0x00 #define DRM_HDCP_DDC_RI_PRIME 0x08 --- linux-riscv-5.8-5.8.0.orig/include/drm/drm_modeset_lock.h +++ linux-riscv-5.8-5.8.0/include/drm/drm_modeset_lock.h @@ -164,6 +164,8 @@ * is 0, so no error checking is necessary */ #define DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, flags, ret) \ + if (!drm_drv_uses_atomic_modeset(dev)) \ + mutex_lock(&dev->mode_config.mutex); \ drm_modeset_acquire_init(&ctx, flags); \ modeset_lock_retry: \ ret = drm_modeset_lock_all_ctx(dev, &ctx); \ @@ -172,6 +174,7 @@ /** * DRM_MODESET_LOCK_ALL_END - Helper to release and cleanup modeset locks + * @dev: drm device * @ctx: local modeset acquire context, will be dereferenced * @ret: local ret/err/etc variable to track error status * @@ -188,7 +191,7 @@ * to that failure. In both of these cases the code between BEGIN/END will not * be run, so the failure will reflect the inability to grab the locks. */ -#define DRM_MODESET_LOCK_ALL_END(ctx, ret) \ +#define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret) \ modeset_lock_fail: \ if (ret == -EDEADLK) { \ ret = drm_modeset_backoff(&ctx); \ @@ -196,6 +199,8 @@ goto modeset_lock_retry; \ } \ drm_modeset_drop_locks(&ctx); \ - drm_modeset_acquire_fini(&ctx); + drm_modeset_acquire_fini(&ctx); \ + if (!drm_drv_uses_atomic_modeset(dev)) \ + mutex_unlock(&dev->mode_config.mutex); #endif /* DRM_MODESET_LOCK_H_ */ --- linux-riscv-5.8-5.8.0.orig/include/drm/gpu_scheduler.h +++ linux-riscv-5.8-5.8.0/include/drm/gpu_scheduler.h @@ -33,14 +33,16 @@ struct drm_gpu_scheduler; struct drm_sched_rq; +/* These are often used as an (initial) index + * to an array, and as such should start at 0. + */ enum drm_sched_priority { DRM_SCHED_PRIORITY_MIN, - DRM_SCHED_PRIORITY_LOW = DRM_SCHED_PRIORITY_MIN, DRM_SCHED_PRIORITY_NORMAL, - DRM_SCHED_PRIORITY_HIGH_SW, - DRM_SCHED_PRIORITY_HIGH_HW, + DRM_SCHED_PRIORITY_HIGH, DRM_SCHED_PRIORITY_KERNEL, - DRM_SCHED_PRIORITY_MAX, + + DRM_SCHED_PRIORITY_COUNT, DRM_SCHED_PRIORITY_INVALID = -1, DRM_SCHED_PRIORITY_UNSET = -2 }; @@ -274,7 +276,7 @@ uint32_t hw_submission_limit; long timeout; const char *name; - struct drm_sched_rq sched_rq[DRM_SCHED_PRIORITY_MAX]; + struct drm_sched_rq sched_rq[DRM_SCHED_PRIORITY_COUNT]; wait_queue_head_t wake_up_worker; wait_queue_head_t job_scheduled; atomic_t hw_rq_count; --- linux-riscv-5.8-5.8.0.orig/include/drm/intel-gtt.h +++ linux-riscv-5.8-5.8.0/include/drm/intel-gtt.h @@ -5,6 +5,7 @@ #define _DRM_INTEL_GTT_H #include +#include #include void intel_gtt_get(u64 *gtt_total, @@ -33,8 +34,4 @@ /* flag for GFDT type */ #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3) -#ifdef CONFIG_INTEL_IOMMU -extern int intel_iommu_gfx_mapped; -#endif - #endif --- linux-riscv-5.8-5.8.0.orig/include/dt-bindings/clock/sifive-fu740-prci.h +++ linux-riscv-5.8-5.8.0/include/dt-bindings/clock/sifive-fu740-prci.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2019 SiFive, Inc. + * Wesley Terpstra + * Paul Walmsley + * Zong Li + */ + +#ifndef __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H +#define __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H + +/* Clock indexes for use by Device Tree data and the PRCI driver */ + +#define PRCI_CLK_COREPLL 0 +#define PRCI_CLK_DDRPLL 1 +#define PRCI_CLK_GEMGXLPLL 2 +#define PRCI_CLK_DVFSCOREPLL 3 +#define PRCI_CLK_HFPCLKPLL 4 +#define PRCI_CLK_CLTXPLL 5 +#define PRCI_CLK_TLCLK 6 +#define PRCI_CLK_PCLK 7 + +#endif /* __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H */ --- linux-riscv-5.8-5.8.0.orig/include/kunit/test.h +++ linux-riscv-5.8-5.8.0/include/kunit/test.h @@ -914,7 +914,7 @@ KUNIT_ASSERTION(test, \ strcmp(__left, __right) op 0, \ kunit_binary_str_assert, \ - KUNIT_INIT_BINARY_ASSERT_STRUCT(test, \ + KUNIT_INIT_BINARY_STR_ASSERT_STRUCT(test, \ assert_type, \ #op, \ #left, \ --- linux-riscv-5.8-5.8.0.orig/include/linux/acpi.h +++ linux-riscv-5.8-5.8.0/include/linux/acpi.h @@ -222,10 +222,14 @@ void __acpi_unmap_table(void __iomem *map, unsigned long size); int early_acpi_boot_init(void); int acpi_boot_init (void); +void acpi_boot_table_prepare (void); void acpi_boot_table_init (void); int acpi_mps_check (void); int acpi_numa_init (void); +int acpi_locate_initial_tables (void); +void acpi_reserve_initial_tables (void); +void acpi_table_init_complete (void); int acpi_table_init (void); int acpi_table_parse(char *id, acpi_tbl_table_handler handler); int __init acpi_table_parse_entries(char *id, unsigned long table_size, @@ -805,9 +809,12 @@ return 0; } +static inline void acpi_boot_table_prepare(void) +{ +} + static inline void acpi_boot_table_init(void) { - return; } static inline int acpi_mps_check(void) @@ -883,6 +890,13 @@ return -ENODEV; } +static inline struct platform_device * +acpi_create_platform_device(struct acpi_device *adev, + struct property_entry *properties) +{ + return NULL; +} + static inline bool acpi_dma_supported(struct acpi_device *adev) { return false; @@ -1058,19 +1072,25 @@ #if defined(CONFIG_ACPI) && defined(CONFIG_GPIOLIB) bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio); -int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index); +int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, const char *name, int index); #else static inline bool acpi_gpio_get_irq_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio) { return false; } -static inline int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index) +static inline int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, + const char *name, int index) { return -ENXIO; } #endif +static inline int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index) +{ + return acpi_dev_gpio_irq_get_by(adev, NULL, index); +} + /* Device properties */ #ifdef CONFIG_ACPI --- linux-riscv-5.8-5.8.0.orig/include/linux/acpi_iort.h +++ linux-riscv-5.8-5.8.0/include/linux/acpi_iort.h @@ -36,6 +36,7 @@ void iort_dma_setup(struct device *dev, u64 *dma_addr, u64 *size); const struct iommu_ops *iort_iommu_configure(struct device *dev); int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head); +phys_addr_t acpi_iort_dma_get_max_cpu_address(void); #else static inline void acpi_iort_init(void) { } static inline u32 iort_msi_map_rid(struct device *dev, u32 req_id) @@ -53,6 +54,9 @@ static inline int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head) { return 0; } + +static inline phys_addr_t acpi_iort_dma_get_max_cpu_address(void) +{ return PHYS_ADDR_MAX; } #endif #endif /* __ACPI_IORT_H__ */ --- linux-riscv-5.8-5.8.0.orig/include/linux/arm-smccc.h +++ linux-riscv-5.8-5.8.0/include/linux/arm-smccc.h @@ -385,6 +385,8 @@ method; \ }) +#define SMCCC_ARCH_WORKAROUND_RET_UNAFFECTED 1 + /* Paravirtualised time calls (defined by ARM DEN0057A) */ #define ARM_SMCCC_HV_PV_TIME_FEATURES \ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ --- linux-riscv-5.8-5.8.0.orig/include/linux/audit.h +++ linux-riscv-5.8-5.8.0/include/linux/audit.h @@ -11,6 +11,7 @@ #include #include +#include #include #define AUDIT_INO_UNSET ((unsigned long)-1) @@ -64,8 +65,9 @@ kuid_t uid; kgid_t gid; struct { + bool lsm_isset; char *lsm_str; - void *lsm_rule; + void *lsm_rules[LSMBLOB_ENTRIES]; }; }; u32 op; @@ -166,7 +168,11 @@ const char *operation); extern void audit_log_lost(const char *message); -extern int audit_log_task_context(struct audit_buffer *ab); +extern void audit_log_lsm(struct lsmblob *blob, bool exiting); +extern int audit_log_task_context(struct audit_buffer *ab, + struct lsmblob *blob); +extern int audit_log_object_context(struct audit_buffer *ab, + struct lsmblob *blob); extern void audit_log_task_info(struct audit_buffer *ab); extern int audit_update_lsm_rules(void); @@ -226,7 +232,10 @@ { } static inline void audit_log_path_denied(int type, const char *operation) { } -static inline int audit_log_task_context(struct audit_buffer *ab) +static inline void audit_log_lsm(struct lsmblob *blob, bool exiting) +{ } +static inline int audit_log_task_context(struct audit_buffer *ab, + struct lsmblob *blob); { return 0; } @@ -285,6 +294,7 @@ extern void audit_seccomp_actions_logged(const char *names, const char *old_names, int res); extern void __audit_ptrace(struct task_struct *t); +extern void audit_stamp_context(struct audit_context *ctx); static inline void audit_set_context(struct task_struct *task, struct audit_context *ctx) { @@ -663,6 +673,9 @@ static inline void audit_ptrace(struct task_struct *t) { } +static inline void audit_stamp_context(struct audit_context *ctx) +{ } + static inline void audit_log_nfcfg(const char *name, u8 af, unsigned int nentries, enum audit_nfcfgop op) --- linux-riscv-5.8-5.8.0.orig/include/linux/avf/virtchnl.h +++ linux-riscv-5.8-5.8.0/include/linux/avf/virtchnl.h @@ -476,7 +476,6 @@ u16 vsi_id; u16 key_len; u8 key[1]; /* RSS hash key, packed bytes */ - u8 pad[1]; }; VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_key); @@ -485,7 +484,6 @@ u16 vsi_id; u16 lut_entries; u8 lut[1]; /* RSS lookup table */ - u8 pad[1]; }; VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_lut); --- linux-riscv-5.8-5.8.0.orig/include/linux/bitfield.h +++ linux-riscv-5.8-5.8.0/include/linux/bitfield.h @@ -77,7 +77,7 @@ */ #define FIELD_FIT(_mask, _val) \ ({ \ - __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_FIT: "); \ + __BF_FIELD_CHECK(_mask, 0ULL, 0ULL, "FIELD_FIT: "); \ !((((typeof(_mask))_val) << __bf_shf(_mask)) & ~(_mask)); \ }) --- linux-riscv-5.8-5.8.0.orig/include/linux/blk-mq.h +++ linux-riscv-5.8-5.8.0/include/linux/blk-mq.h @@ -447,10 +447,8 @@ BLK_MQ_REQ_NOWAIT = (__force blk_mq_req_flags_t)(1 << 0), /* allocate from reserved pool */ BLK_MQ_REQ_RESERVED = (__force blk_mq_req_flags_t)(1 << 1), - /* allocate internal/sched tag */ - BLK_MQ_REQ_INTERNAL = (__force blk_mq_req_flags_t)(1 << 2), - /* set RQF_PREEMPT */ - BLK_MQ_REQ_PREEMPT = (__force blk_mq_req_flags_t)(1 << 3), + /* set RQF_PM */ + BLK_MQ_REQ_PM = (__force blk_mq_req_flags_t)(1 << 2), }; struct request *blk_mq_alloc_request(struct request_queue *q, unsigned int op, --- linux-riscv-5.8-5.8.0.orig/include/linux/blkdev.h +++ linux-riscv-5.8-5.8.0/include/linux/blkdev.h @@ -80,9 +80,6 @@ #define RQF_MQ_INFLIGHT ((__force req_flags_t)(1 << 6)) /* don't call prep for this one */ #define RQF_DONTPREP ((__force req_flags_t)(1 << 7)) -/* set for "ide_preempt" requests and also for requests for which the SCSI - "quiesce" state must be ignored. */ -#define RQF_PREEMPT ((__force req_flags_t)(1 << 8)) /* vaguely specified driver internal error. Ignored by the block layer */ #define RQF_FAILED ((__force req_flags_t)(1 << 10)) /* don't warn about errors */ @@ -354,6 +351,8 @@ typedef int (*report_zones_cb)(struct blk_zone *zone, unsigned int idx, void *data); +void blk_queue_set_zoned(struct gendisk *disk, enum blk_zoned_model model); + #ifdef CONFIG_BLK_DEV_ZONED #define BLK_ALL_ZONES ((unsigned int)-1) @@ -428,8 +427,7 @@ unsigned long queue_flags; /* * Number of contexts that have called blk_set_pm_only(). If this - * counter is above zero then only RQF_PM and RQF_PREEMPT requests are - * processed. + * counter is above zero then only RQF_PM requests are processed. */ atomic_t pm_only; @@ -685,6 +683,18 @@ return q->mq_ops; } +#ifdef CONFIG_PM +static inline enum rpm_status queue_rpm_status(struct request_queue *q) +{ + return q->rpm_status; +} +#else +static inline enum rpm_status queue_rpm_status(struct request_queue *q) +{ + return RPM_ACTIVE; +} +#endif + static inline enum blk_zoned_model blk_queue_zoned_model(struct request_queue *q) { --- linux-riscv-5.8-5.8.0.orig/include/linux/bpf.h +++ linux-riscv-5.8-5.8.0/include/linux/bpf.h @@ -925,7 +925,7 @@ struct bpf_prog *include_prog, struct bpf_prog_array **new_array); -#define __BPF_PROG_RUN_ARRAY(array, ctx, func, check_non_null) \ +#define __BPF_PROG_RUN_ARRAY(array, ctx, func, check_non_null, set_cg_storage) \ ({ \ struct bpf_prog_array_item *_item; \ struct bpf_prog *_prog; \ @@ -938,7 +938,8 @@ goto _out; \ _item = &_array->items[0]; \ while ((_prog = READ_ONCE(_item->prog))) { \ - bpf_cgroup_storage_set(_item->cgroup_storage); \ + if (set_cg_storage) \ + bpf_cgroup_storage_set(_item->cgroup_storage); \ _ret &= func(_prog, ctx); \ _item++; \ } \ @@ -999,10 +1000,10 @@ }) #define BPF_PROG_RUN_ARRAY(array, ctx, func) \ - __BPF_PROG_RUN_ARRAY(array, ctx, func, false) + __BPF_PROG_RUN_ARRAY(array, ctx, func, false, true) #define BPF_PROG_RUN_ARRAY_CHECK(array, ctx, func) \ - __BPF_PROG_RUN_ARRAY(array, ctx, func, true) + __BPF_PROG_RUN_ARRAY(array, ctx, func, true, false) #ifdef CONFIG_BPF_SYSCALL DECLARE_PER_CPU(int, bpf_prog_active); @@ -1067,8 +1068,6 @@ void bpf_prog_put(struct bpf_prog *prog); int __bpf_prog_charge(struct user_struct *user, u32 pages); void __bpf_prog_uncharge(struct user_struct *user, u32 pages); -void __bpf_free_used_maps(struct bpf_prog_aux *aux, - struct bpf_map **used_maps, u32 len); void bpf_prog_free_id(struct bpf_prog *prog, bool do_idr_lock); void bpf_map_free_id(struct bpf_map *map, bool do_idr_lock); @@ -1235,7 +1234,10 @@ /* verify correctness of eBPF program */ int bpf_check(struct bpf_prog **fp, union bpf_attr *attr, union bpf_attr __user *uattr); + +#ifndef CONFIG_BPF_JIT_ALWAYS_ON void bpf_patch_call_args(struct bpf_insn *insn, u32 stack_depth); +#endif /* Map specifics */ struct xdp_buff; @@ -1472,6 +1474,9 @@ return bpf_prog_get_type_dev(ufd, type, false); } +void __bpf_free_used_maps(struct bpf_prog_aux *aux, + struct bpf_map **used_maps, u32 len); + bool bpf_prog_get_ok(struct bpf_prog *, enum bpf_prog_type *, bool); int bpf_prog_offload_compile(struct bpf_prog *prog); --- linux-riscv-5.8-5.8.0.orig/include/linux/bpf_verifier.h +++ linux-riscv-5.8-5.8.0/include/linux/bpf_verifier.h @@ -291,10 +291,11 @@ }; /* Possible states for alu_state member. */ -#define BPF_ALU_SANITIZE_SRC 1U -#define BPF_ALU_SANITIZE_DST 2U +#define BPF_ALU_SANITIZE_SRC (1U << 0) +#define BPF_ALU_SANITIZE_DST (1U << 1) #define BPF_ALU_NEG_VALUE (1U << 2) #define BPF_ALU_NON_POINTER (1U << 3) +#define BPF_ALU_IMMEDIATE (1U << 4) #define BPF_ALU_SANITIZE (BPF_ALU_SANITIZE_SRC | \ BPF_ALU_SANITIZE_DST) @@ -358,6 +359,7 @@ u32 start; /* insn idx of function entry point */ u32 linfo_idx; /* The idx to the main_prog->aux->linfo */ u16 stack_depth; /* max. stack depth used by this function */ + bool has_tail_call; }; /* single container for all structs --- linux-riscv-5.8-5.8.0.orig/include/linux/brcmphy.h +++ linux-riscv-5.8-5.8.0/include/linux/brcmphy.h @@ -135,6 +135,7 @@ #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC 0x07 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_WIRESPEED_EN 0x0010 +#define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_EN 0x0080 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN 0x0100 #define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX 0x0200 #define MII_BCM54XX_AUXCTL_MISC_WREN 0x8000 @@ -221,6 +222,9 @@ /* 11111: Mode Control Register */ #define BCM54XX_SHD_MODE 0x1f #define BCM54XX_SHD_INTF_SEL_MASK GENMASK(2, 1) /* INTERF_SEL[1:0] */ +#define BCM54XX_SHD_INTF_SEL_RGMII 0x02 +#define BCM54XX_SHD_INTF_SEL_SGMII 0x04 +#define BCM54XX_SHD_INTF_SEL_GBIC 0x06 #define BCM54XX_SHD_MODE_1000BX BIT(0) /* Enable 1000-X registers */ /* --- linux-riscv-5.8-5.8.0.orig/include/linux/build_bug.h +++ linux-riscv-5.8-5.8.0/include/linux/build_bug.h @@ -77,4 +77,9 @@ #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) +#ifdef __GENKSYMS__ +/* genksyms gets confused by _Static_assert */ +#define _Static_assert(expr, ...) +#endif + #endif /* _LINUX_BUILD_BUG_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/bvec.h +++ linux-riscv-5.8-5.8.0/include/linux/bvec.h @@ -117,11 +117,18 @@ return true; } +static inline void bvec_iter_skip_zero_bvec(struct bvec_iter *iter) +{ + iter->bi_bvec_done = 0; + iter->bi_idx++; +} + #define for_each_bvec(bvl, bio_vec, iter, start) \ for (iter = (start); \ (iter).bi_size && \ ((bvl = bvec_iter_bvec((bio_vec), (iter))), 1); \ - bvec_iter_advance((bio_vec), &(iter), (bvl).bv_len)) + (bvl).bv_len ? (void)bvec_iter_advance((bio_vec), &(iter), \ + (bvl).bv_len) : bvec_iter_skip_zero_bvec(&(iter))) /* for iterating one bio from start to end */ #define BVEC_ITER_ALL_INIT (struct bvec_iter) \ --- linux-riscv-5.8-5.8.0.orig/include/linux/can/can-ml.h +++ linux-riscv-5.8-5.8.0/include/linux/can/can-ml.h @@ -44,6 +44,7 @@ #include #include +#include #define CAN_SFF_RCV_ARRAY_SZ (1 << CAN_SFF_ID_BITS) #define CAN_EFF_RCV_HASH_BITS 10 @@ -65,4 +66,15 @@ #endif }; +static inline struct can_ml_priv *can_get_ml_priv(struct net_device *dev) +{ + return netdev_get_ml_priv(dev, ML_PRIV_CAN); +} + +static inline void can_set_ml_priv(struct net_device *dev, + struct can_ml_priv *ml_priv) +{ + netdev_set_ml_priv(dev, ml_priv, ML_PRIV_CAN); +} + #endif /* CAN_ML_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/can/skb.h +++ linux-riscv-5.8-5.8.0/include/linux/can/skb.h @@ -49,8 +49,12 @@ static inline void can_skb_set_owner(struct sk_buff *skb, struct sock *sk) { - if (sk) { - sock_hold(sk); + /* If the socket has already been closed by user space, the + * refcount may already be 0 (and the socket will be freed + * after the last TX skb has been freed). So only increase + * socket refcount if the refcount is > 0. + */ + if (sk && refcount_inc_not_zero(&sk->sk_refcnt)) { skb->destructor = sock_efree; skb->sk = sk; } @@ -61,21 +65,17 @@ */ static inline struct sk_buff *can_create_echo_skb(struct sk_buff *skb) { - if (skb_shared(skb)) { - struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC); + struct sk_buff *nskb; - if (likely(nskb)) { - can_skb_set_owner(nskb, skb->sk); - consume_skb(skb); - return nskb; - } else { - kfree_skb(skb); - return NULL; - } + nskb = skb_clone(skb, GFP_ATOMIC); + if (unlikely(!nskb)) { + kfree_skb(skb); + return NULL; } - /* we can assume to have an unshared skb with proper owner */ - return skb; + can_skb_set_owner(nskb, skb->sk); + consume_skb(skb); + return nskb; } #endif /* !_CAN_SKB_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/capability.h +++ linux-riscv-5.8-5.8.0/include/linux/capability.h @@ -264,6 +264,6 @@ /* audit system wants to get cap info from files as well */ extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps); -extern int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size); +extern int cap_convert_nscap(struct dentry *dentry, const void **ivalue, size_t size); #endif /* !_LINUX_CAPABILITY_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/compiler-clang.h +++ linux-riscv-5.8-5.8.0/include/linux/compiler-clang.h @@ -33,6 +33,12 @@ #define __no_sanitize_thread #endif +#if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP) +#define __HAVE_BUILTIN_BSWAP32__ +#define __HAVE_BUILTIN_BSWAP64__ +#define __HAVE_BUILTIN_BSWAP16__ +#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ + #if __has_feature(undefined_behavior_sanitizer) /* GCC does not have __SANITIZE_UNDEFINED__ */ #define __no_sanitize_undefined \ @@ -54,12 +60,6 @@ #define COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW 1 #endif -/* The following are for compatibility with GCC, from compiler-gcc.h, - * and may be redefined here because they should not be shared with other - * compilers, like ICC. - */ -#define barrier() __asm__ __volatile__("" : : : "memory") - #if __has_feature(shadow_call_stack) # define __noscs __attribute__((__no_sanitize__("shadow-call-stack"))) #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/compiler-gcc.h +++ linux-riscv-5.8-5.8.0/include/linux/compiler-gcc.h @@ -13,26 +13,13 @@ /* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 */ #if GCC_VERSION < 40900 # error Sorry, your compiler is too old - please upgrade it. -#endif - -/* Optimization barrier */ - -/* The "volatile" is due to gcc bugs */ -#define barrier() __asm__ __volatile__("": : :"memory") +#elif defined(CONFIG_ARM64) && GCC_VERSION < 50100 /* - * This version is i.e. to prevent dead stores elimination on @ptr - * where gcc and llvm may behave differently when otherwise using - * normal barrier(): while gcc behavior gets along with a normal - * barrier(), llvm needs an explicit input variable to be assumed - * clobbered. The issue is as follows: while the inline asm might - * access any memory it wants, the compiler could have fit all of - * @ptr into memory registers instead, and since @ptr never escaped - * from that, it proved that the inline asm wasn't touching any of - * it. This version works well with both compilers, i.e. we're telling - * the compiler that the inline asm absolutely may see the contents - * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293 + * https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk */ -#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") +# error Sorry, your version of GCC is too old - please use 5.1 or newer. +#endif /* * This macro obfuscates arithmetic on a variable address so that gcc @@ -181,5 +168,3 @@ #else #define __diag_GCC_8(s) #endif - -#define __no_fgcse __attribute__((optimize("-fno-gcse"))) --- linux-riscv-5.8-5.8.0.orig/include/linux/compiler.h +++ linux-riscv-5.8-5.8.0/include/linux/compiler.h @@ -80,11 +80,25 @@ /* Optimization barrier */ #ifndef barrier -# define barrier() __memory_barrier() +/* The "volatile" is due to gcc bugs */ +# define barrier() __asm__ __volatile__("": : :"memory") #endif #ifndef barrier_data -# define barrier_data(ptr) barrier() +/* + * This version is i.e. to prevent dead stores elimination on @ptr + * where gcc and llvm may behave differently when otherwise using + * normal barrier(): while gcc behavior gets along with a normal + * barrier(), llvm needs an explicit input variable to be assumed + * clobbered. The issue is as follows: while the inline asm might + * access any memory it wants, the compiler could have fit all of + * @ptr into memory registers instead, and since @ptr never escaped + * from that, it proved that the inline asm wasn't touching any of + * it. This version works well with both compilers, i.e. we're telling + * the compiler that the inline asm absolutely may see the contents + * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 + */ +# define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") #endif /* workaround for GCC PR82365 if needed */ --- linux-riscv-5.8-5.8.0.orig/include/linux/compiler_types.h +++ linux-riscv-5.8-5.8.0/include/linux/compiler_types.h @@ -241,10 +241,6 @@ #define asm_inline asm #endif -#ifndef __no_fgcse -# define __no_fgcse -#endif - /* Are two types/vars the same type (ignoring qualifiers)? */ #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) --- linux-riscv-5.8-5.8.0.orig/include/linux/cpufreq.h +++ linux-riscv-5.8-5.8.0/include/linux/cpufreq.h @@ -110,6 +110,12 @@ bool fast_switch_enabled; /* + * Set if the CPUFREQ_GOV_STRICT_TARGET flag is set for the current + * governor. + */ + bool strict_target; + + /* * Preferred average time interval between consecutive invocations of * the driver to set the frequency for this policy. To be set by the * scaling driver (0, which is the default, means no preference). @@ -293,7 +299,7 @@ struct cpufreq_driver { char name[CPUFREQ_NAME_LEN]; - u8 flags; + u16 flags; void *driver_data; /* needed by all drivers */ @@ -417,9 +423,18 @@ */ #define CPUFREQ_IS_COOLING_DEV BIT(7) +/* + * Set by drivers that need to update internale upper and lower boundaries along + * with the target frequency and so the core and governors should also invoke + * the diver if the target frequency does not change, but the policy min or max + * may have changed. + */ +#define CPUFREQ_NEED_UPDATE_LIMITS BIT(8) + int cpufreq_register_driver(struct cpufreq_driver *driver_data); int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); +bool cpufreq_driver_test_flags(u16 flags); const char *cpufreq_get_current_driver(void); void *cpufreq_get_driver_data(void); @@ -556,12 +571,20 @@ char *buf); int (*store_setspeed) (struct cpufreq_policy *policy, unsigned int freq); - /* For governors which change frequency dynamically by themselves */ - bool dynamic_switching; struct list_head governor_list; struct module *owner; + u8 flags; }; +/* Governor flags */ + +/* For governors which change frequency dynamically by themselves */ +#define CPUFREQ_GOV_DYNAMIC_SWITCHING BIT(0) + +/* For governors wanting the target frequency to be set exactly */ +#define CPUFREQ_GOV_STRICT_TARGET BIT(1) + + /* Pass a target to the cpufreq driver */ unsigned int cpufreq_driver_fast_switch(struct cpufreq_policy *policy, unsigned int target_freq); --- linux-riscv-5.8-5.8.0.orig/include/linux/cpuhotplug.h +++ linux-riscv-5.8-5.8.0/include/linux/cpuhotplug.h @@ -141,7 +141,6 @@ /* Must be the last timer callback */ CPUHP_AP_DUMMY_TIMER_STARTING, CPUHP_AP_ARM_XEN_STARTING, - CPUHP_AP_ARM_KVMPV_STARTING, CPUHP_AP_ARM_CORESIGHT_STARTING, CPUHP_AP_ARM_CORESIGHT_CTI_STARTING, CPUHP_AP_ARM64_ISNDEP_STARTING, --- linux-riscv-5.8-5.8.0.orig/include/linux/cred.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/include/linux/crypto.h +++ linux-riscv-5.8-5.8.0/include/linux/crypto.h @@ -120,9 +120,12 @@ * The macro CRYPTO_MINALIGN_ATTR (along with the void * type in the actual * declaration) is used to ensure that the crypto_tfm context structure is * aligned correctly for the given architecture so that there are no alignment - * faults for C data types. In particular, this is required on platforms such - * as arm where pointers are 32-bit aligned but there are data types such as - * u64 which require 64-bit alignment. + * faults for C data types. On architectures that support non-cache coherent + * DMA, such as ARM or arm64, it also takes into account the minimal alignment + * that is required to ensure that the context struct member does not share any + * cachelines with the rest of the struct. This is needed to ensure that cache + * maintenance for non-coherent DMA (cache invalidation in particular) does not + * affect data that may be accessed by the CPU concurrently. */ #define CRYPTO_MINALIGN ARCH_KMALLOC_MINALIGN --- linux-riscv-5.8-5.8.0.orig/include/linux/dax.h +++ linux-riscv-5.8-5.8.0/include/linux/dax.h @@ -58,6 +58,8 @@ { __set_dax_synchronous(dax_dev); } +bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev, + int blocksize, sector_t start, sector_t len); /* * Check if given mapping is supported by the file / underlying device. */ @@ -104,6 +106,12 @@ static inline void set_dax_synchronous(struct dax_device *dax_dev) { } +static inline bool dax_supported(struct dax_device *dax_dev, + struct block_device *bdev, int blocksize, sector_t start, + sector_t len) +{ + return false; +} static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, struct dax_device *dax_dev) { @@ -189,14 +197,23 @@ } #endif +#if IS_ENABLED(CONFIG_DAX) int dax_read_lock(void); void dax_read_unlock(int id); +#else +static inline int dax_read_lock(void) +{ + return 0; +} + +static inline void dax_read_unlock(int id) +{ +} +#endif /* CONFIG_DAX */ bool dax_alive(struct dax_device *dax_dev); void *dax_get_private(struct dax_device *dax_dev); long dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, long nr_pages, void **kaddr, pfn_t *pfn); -bool dax_supported(struct dax_device *dax_dev, struct block_device *bdev, - int blocksize, sector_t start, sector_t len); size_t dax_copy_from_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, size_t bytes, struct iov_iter *i); size_t dax_copy_to_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, --- linux-riscv-5.8-5.8.0.orig/include/linux/dcache.h +++ linux-riscv-5.8-5.8.0/include/linux/dcache.h @@ -213,7 +213,7 @@ #define DCACHE_MAY_FREE 0x00800000 #define DCACHE_FALLTHRU 0x01000000 /* Fall through to lower layer */ -#define DCACHE_ENCRYPTED_NAME 0x02000000 /* Encrypted name (dir key was unavailable) */ +#define DCACHE_NOKEY_NAME 0x02000000 /* Encrypted name encoded without key */ #define DCACHE_OP_REAL 0x04000000 #define DCACHE_PAR_LOOKUP 0x10000000 /* being looked up (with parent locked shared) */ --- linux-riscv-5.8-5.8.0.orig/include/linux/dev_printk.h +++ linux-riscv-5.8-5.8.0/include/linux/dev_printk.h @@ -23,6 +23,62 @@ #ifdef CONFIG_PRINTK +#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT) + +/* generate magic string for scripts/kmsg-doc to parse */ +#define _dev_emerg(dev, format, arg...) \ + __KMSG_DEV(KERN_EMERG _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_alert(dev, format, arg...) \ + __KMSG_DEV(KERN_ALERT _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_crit(dev, format, arg...) \ + __KMSG_DEV(KERN_CRIT _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_err(dev, format, arg...) \ + __KMSG_DEV(KERN_ERR _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_warn(dev, format, arg...) \ + __KMSG_DEV(KERN_WARNING _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_notice(dev, format, arg...) \ + __KMSG_DEV(KERN_NOTICE _FMT_ format _ARGS_ dev, ## arg _END_) +#define _dev_info(dev, format, arg...) \ + __KMSG_DEV(KERN_INFO _FMT_ format _ARGS_ dev, ## arg _END_) + +#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT) + +extern int dev_printk_hash(const char *level, const struct device *dev, + const char *fmt, ...); +extern __printf(2,3) +int dev_emerg_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int dev_alert_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int dev_crit_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int dev_err_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int dev_warn_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int dev_notice_hash(const struct device *dev, const char *fmt, ...); +extern __printf(2,3) +int _dev_info_hash(const struct device *dev, const char *fmt, ...); + +#define dev_printk(level, dev, format, arg...) \ + dev_printk_hash(level, dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_emerg(dev, format, arg...) \ + dev_emerg_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_alert(dev, format, arg...) \ + dev_alert_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_crit(dev, format, arg...) \ + dev_crit_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_err(dev, format, arg...) \ + dev_err_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_warn(dev, format, arg...) \ + dev_warn_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_notice(dev, format, arg...) \ + dev_notice_hash(dev, "%s: " format, dev_name(dev), ## arg) +#define _dev_info(dev, format, arg...) \ + _dev_info_hash(dev, "%s: " format, dev_name(dev), ## arg) + +#else /* !defined(CONFIG_KMSG_IDS) */ + __printf(3, 0) __cold int dev_vprintk_emit(int level, const struct device *dev, const char *fmt, va_list args); @@ -47,7 +103,9 @@ __printf(2, 3) __cold void _dev_info(const struct device *dev, const char *fmt, ...); -#else +#endif /* !defined(CONFIG_KMSG_IDS) */ + +#else /* !defined(CONFIG_PRINTK) */ static inline __printf(3, 0) int dev_vprintk_emit(int level, const struct device *dev, @@ -87,7 +145,7 @@ void _dev_info(const struct device *dev, const char *fmt, ...) {} -#endif +#endif /* !defined(CONFIG_PRINTK) */ /* * #defines for all the dev_ macros to prefix with whatever --- linux-riscv-5.8-5.8.0.orig/include/linux/device-mapper.h +++ linux-riscv-5.8-5.8.0/include/linux/device-mapper.h @@ -247,11 +247,24 @@ #define dm_target_passes_integrity(type) ((type)->features & DM_TARGET_PASSES_INTEGRITY) /* - * Indicates that a target supports host-managed zoned block devices. + * Indicates support for zoned block devices: + * - DM_TARGET_ZONED_HM: the target also supports host-managed zoned + * block devices but does not support combining different zoned models. + * - DM_TARGET_MIXED_ZONED_MODEL: the target supports combining multiple + * devices with different zoned models. */ #define DM_TARGET_ZONED_HM 0x00000040 #define dm_target_supports_zoned_hm(type) ((type)->features & DM_TARGET_ZONED_HM) +#ifdef CONFIG_BLK_DEV_ZONED +#define DM_TARGET_MIXED_ZONED_MODEL 0x00000200 +#define dm_target_supports_mixed_zoned_model(type) \ + ((type)->features & DM_TARGET_MIXED_ZONED_MODEL) +#else +#define DM_TARGET_MIXED_ZONED_MODEL 0x00000000 +#define dm_target_supports_mixed_zoned_model(type) (false) +#endif + struct dm_target { struct dm_table *table; struct target_type *type; @@ -320,6 +333,11 @@ * whether or not its underlying devices have support. */ bool discards_supported:1; + + /* + * Set if we need to limit the number of in-flight bios when swapping. + */ + bool limit_swap_bios:1; }; /* Each target can link one of these into the table */ --- linux-riscv-5.8-5.8.0.orig/include/linux/device.h +++ linux-riscv-5.8-5.8.0/include/linux/device.h @@ -288,6 +288,7 @@ * sg limitations. */ unsigned int max_segment_size; + unsigned int min_align_mask; unsigned long segment_boundary_mask; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/dm-bufio.h +++ linux-riscv-5.8-5.8.0/include/linux/dm-bufio.h @@ -150,6 +150,7 @@ unsigned dm_bufio_get_block_size(struct dm_bufio_client *c); sector_t dm_bufio_get_device_size(struct dm_bufio_client *c); +struct dm_io_client *dm_bufio_get_dm_io_client(struct dm_bufio_client *c); sector_t dm_bufio_get_block_number(struct dm_buffer *b); void *dm_bufio_get_block_data(struct dm_buffer *b); void *dm_bufio_get_aux_data(struct dm_buffer *b); --- linux-riscv-5.8-5.8.0.orig/include/linux/dma-direct.h +++ linux-riscv-5.8-5.8.0/include/linux/dma-direct.h @@ -67,9 +67,6 @@ } u64 dma_direct_get_required_mask(struct device *dev); -gfp_t dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, - u64 *phys_mask); -bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size); void *dma_direct_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp, unsigned long attrs); void dma_direct_free(struct device *dev, size_t size, void *cpu_addr, --- linux-riscv-5.8-5.8.0.orig/include/linux/dma-mapping.h +++ linux-riscv-5.8-5.8.0/include/linux/dma-mapping.h @@ -715,8 +715,9 @@ pgprot_t prot, const void *caller); void dma_common_free_remap(void *cpu_addr, size_t size); -void *dma_alloc_from_pool(struct device *dev, size_t size, - struct page **ret_page, gfp_t flags); +struct page *dma_alloc_from_pool(struct device *dev, size_t size, + void **cpu_addr, gfp_t flags, + bool (*phys_addr_ok)(struct device *, phys_addr_t, size_t)); bool dma_free_from_pool(struct device *dev, void *start, size_t size); int @@ -833,6 +834,22 @@ return -EIO; } +static inline unsigned int dma_get_min_align_mask(struct device *dev) +{ + if (dev->dma_parms) + return dev->dma_parms->min_align_mask; + return 0; +} + +static inline int dma_set_min_align_mask(struct device *dev, + unsigned int min_align_mask) +{ + if (WARN_ON_ONCE(!dev->dma_parms)) + return -EIO; + dev->dma_parms->min_align_mask = min_align_mask; + return 0; +} + static inline int dma_get_cache_alignment(void) { #ifdef ARCH_DMA_MINALIGN --- linux-riscv-5.8-5.8.0.orig/include/linux/dmar.h +++ linux-riscv-5.8-5.8.0/include/linux/dmar.h @@ -48,6 +48,7 @@ u16 segment; /* PCI domain */ u8 ignored:1; /* ignore drhd */ u8 include_all:1; + u8 gfx_dedicated:1; /* graphic dedicated */ struct intel_iommu *iommu; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/eeprom_93xx46.h +++ linux-riscv-5.8-5.8.0/include/linux/eeprom_93xx46.h @@ -16,6 +16,8 @@ #define EEPROM_93XX46_QUIRK_SINGLE_WORD_READ (1 << 0) /* Instructions such as EWEN are (addrlen + 2) in length. */ #define EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH (1 << 1) +/* Add extra cycle after address during a read */ +#define EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE BIT(2) /* * optional hooks to control additional logic --- linux-riscv-5.8-5.8.0.orig/include/linux/efi.h +++ linux-riscv-5.8-5.8.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 */ @@ -72,8 +74,10 @@ */ typedef guid_t efi_guid_t __aligned(__alignof__(u32)); -#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \ - GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) +#define EFI_GUID(a, b, c, d...) (efi_guid_t){ { \ + (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \ + (b) & 0xff, ((b) >> 8) & 0xff, \ + (c) & 0xff, ((c) >> 8) & 0xff, d } } /* * Generic EFI table header @@ -606,7 +610,11 @@ extern void efi_map_pal_code (void); extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg); extern void efi_gettimeofday (struct timespec64 *ts); +#ifdef CONFIG_EFI extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */ +#else +static inline void efi_enter_virtual_mode (void) {} +#endif #ifdef CONFIG_X86 extern efi_status_t efi_query_variable_store(u32 attributes, unsigned long size, @@ -779,6 +787,22 @@ #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 /* @@ -790,6 +814,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) @@ -816,6 +842,8 @@ return false; } +static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} + static inline bool efi_soft_reserve_enabled(void) { return false; @@ -828,6 +856,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 @@ -1087,12 +1116,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, -}; enum efi_secureboot_mode efi_get_secureboot(void); #ifdef CONFIG_RESET_ATTACK_MITIGATION --- linux-riscv-5.8-5.8.0.orig/include/linux/efi_embedded_fw.h +++ linux-riscv-5.8-5.8.0/include/linux/efi_embedded_fw.h @@ -8,8 +8,8 @@ #define EFI_EMBEDDED_FW_PREFIX_LEN 8 /* - * This struct and efi_embedded_fw_list are private to the efi-embedded fw - * implementation they are in this header for use by lib/test_firmware.c only! + * This struct is private to the efi-embedded fw implementation. + * They are in this header for use by lib/test_firmware.c only! */ struct efi_embedded_fw { struct list_head list; @@ -18,8 +18,6 @@ size_t length; }; -extern struct list_head efi_embedded_fw_list; - /** * struct efi_embedded_fw_desc - This struct is used by the EFI embedded-fw * code to search for embedded firmwares. --- linux-riscv-5.8-5.8.0.orig/include/linux/elfcore.h +++ linux-riscv-5.8-5.8.0/include/linux/elfcore.h @@ -58,6 +58,7 @@ } #endif +#if defined(CONFIG_UM) || defined(CONFIG_IA64) /* * These functions parameterize elf_core_dump in fs/binfmt_elf.c to write out * extra segments containing the gate DSO contents. Dumping its @@ -72,5 +73,26 @@ extern int elf_core_write_extra_data(struct coredump_params *cprm); extern size_t elf_core_extra_data_size(void); +#else +static inline Elf_Half elf_core_extra_phdrs(void) +{ + return 0; +} + +static inline int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset) +{ + return 1; +} + +static inline int elf_core_write_extra_data(struct coredump_params *cprm) +{ + return 1; +} + +static inline size_t elf_core_extra_data_size(void) +{ + return 0; +} +#endif #endif /* _LINUX_ELFCORE_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/eventpoll.h +++ linux-riscv-5.8-5.8.0/include/linux/eventpoll.h @@ -18,7 +18,7 @@ #ifdef CONFIG_EPOLL -#ifdef CONFIG_CHECKPOINT_RESTORE +#ifdef CONFIG_KCMP struct file *get_epoll_tfile_raw_ptr(struct file *file, int tfd, unsigned long toff); #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/extcon.h +++ linux-riscv-5.8-5.8.0/include/linux/extcon.h @@ -271,6 +271,29 @@ struct extcon_dev *edev, unsigned int id, struct notifier_block *nb) { } +static inline int extcon_register_notifier_all(struct extcon_dev *edev, + struct notifier_block *nb) +{ + return 0; +} + +static inline int extcon_unregister_notifier_all(struct extcon_dev *edev, + struct notifier_block *nb) +{ + return 0; +} + +static inline int devm_extcon_register_notifier_all(struct device *dev, + struct extcon_dev *edev, + struct notifier_block *nb) +{ + return 0; +} + +static inline void devm_extcon_unregister_notifier_all(struct device *dev, + struct extcon_dev *edev, + struct notifier_block *nb) { } + static inline struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name) { return ERR_PTR(-ENODEV); --- linux-riscv-5.8-5.8.0.orig/include/linux/fb.h +++ linux-riscv-5.8-5.8.0/include/linux/fb.h @@ -400,8 +400,6 @@ #define FBINFO_HWACCEL_YPAN 0x2000 /* optional */ #define FBINFO_HWACCEL_YWRAP 0x4000 /* optional */ -#define FBINFO_MISC_USEREVENT 0x10000 /* event request - from userspace */ #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ /* A driver may set this flag to indicate that it does want a set_par to be --- linux-riscv-5.8-5.8.0.orig/include/linux/filter.h +++ linux-riscv-5.8-5.8.0/include/linux/filter.h @@ -877,7 +877,7 @@ u64 __bpf_call_base(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); #define __bpf_call_base_args \ ((u64 (*)(u64, u64, u64, u64, u64, const struct bpf_insn *)) \ - __bpf_call_base) + (void *)__bpf_call_base) struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog); void bpf_jit_compile(struct bpf_prog *prog); --- linux-riscv-5.8-5.8.0.orig/include/linux/firmware/xlnx-zynqmp.h +++ linux-riscv-5.8-5.8.0/include/linux/firmware/xlnx-zynqmp.h @@ -50,10 +50,6 @@ #define ZYNQMP_PM_CAPABILITY_WAKEUP 0x4U #define ZYNQMP_PM_CAPABILITY_UNUSABLE 0x8U -/* Feature check status */ -#define PM_FEATURE_INVALID -1 -#define PM_FEATURE_UNCHECKED 0 - /* * Firmware FPGA Manager flags * XILINX_ZYNQMP_PM_FPGA_FULL: FPGA full reconfiguration --- linux-riscv-5.8-5.8.0.orig/include/linux/font.h +++ linux-riscv-5.8-5.8.0/include/linux/font.h @@ -59,4 +59,17 @@ /* Max. length for the name of a predefined font */ #define MAX_FONT_NAME 32 +/* Extra word getters */ +#define REFCOUNT(fd) (((int *)(fd))[-1]) +#define FNTSIZE(fd) (((int *)(fd))[-2]) +#define FNTCHARCNT(fd) (((int *)(fd))[-3]) +#define FNTSUM(fd) (((int *)(fd))[-4]) + +#define FONT_EXTRA_WORDS 4 + +struct font_data { + unsigned int extra[FONT_EXTRA_WORDS]; + const unsigned char data[]; +} __packed; + #endif /* _VIDEO_FONT_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/fs.h +++ linux-riscv-5.8-5.8.0/include/linux/fs.h @@ -549,6 +549,16 @@ up_read(&mapping->i_mmap_rwsem); } +static inline void i_mmap_assert_locked(struct address_space *mapping) +{ + lockdep_assert_held(&mapping->i_mmap_rwsem); +} + +static inline void i_mmap_assert_write_locked(struct address_space *mapping) +{ + lockdep_assert_held_write(&mapping->i_mmap_rwsem); +} + /* * Might pages of this file be mapped into userspace? */ @@ -1360,6 +1370,7 @@ /* can be called from interrupts */ extern void kill_fasync(struct fasync_struct **, int, int); +extern int setfl(int fd, struct file *filp, unsigned long arg); extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force); extern int f_setown(struct file *filp, unsigned long arg, int force); extern void f_delown(struct file *filp); @@ -1413,6 +1424,7 @@ #define SB_I_USERNS_VISIBLE 0x00000010 /* fstype already mounted */ #define SB_I_IMA_UNVERIFIABLE_SIGNATURE 0x00000020 #define SB_I_UNTRUSTED_MOUNTER 0x00000040 +#define SB_I_NOSUID 0x80000000 /* Ignore suid on this fs */ #define SB_I_SKIP_SYNC 0x00000100 /* Skip superblock at global sync */ @@ -1848,6 +1860,7 @@ ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); int (*check_flags)(int); + int (*setfl)(struct file *, unsigned long); int (*flock) (struct file *, int, struct file_lock *); ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); @@ -1918,6 +1931,12 @@ struct iovec *fast_pointer, struct iovec **ret_pointer); +typedef ssize_t (*vfs_readf_t)(struct file *, char __user *, size_t, loff_t *); +typedef ssize_t (*vfs_writef_t)(struct file *, const char __user *, size_t, + loff_t *); +vfs_readf_t vfs_readf(struct file *file); +vfs_writef_t vfs_writef(struct file *file); + extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *); extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *); extern ssize_t vfs_readv(struct file *, const struct iovec __user *, @@ -1977,6 +1996,10 @@ struct shrink_control *); long (*free_cached_objects)(struct super_block *, struct shrink_control *); +#if IS_ENABLED(CONFIG_BLK_DEV_LOOP) || IS_ENABLED(CONFIG_BLK_DEV_LOOP_MODULE) + /* and aufs */ + struct file *(*real_loop)(struct file *); +#endif }; /* @@ -2158,6 +2181,10 @@ * * I_DONTCACHE Evict inode as soon as it is not used anymore. * + * I_SYNC_QUEUED Inode is queued in b_io or b_more_io writeback lists. + * Used to detect that mark_inode_dirty() should not move + * inode between dirty lists. + * * Q: What is the difference between I_WILL_FREE and I_FREEING? */ #define I_DIRTY_SYNC (1 << 0) @@ -2175,12 +2202,11 @@ #define I_DIO_WAKEUP (1 << __I_DIO_WAKEUP) #define I_LINKABLE (1 << 10) #define I_DIRTY_TIME (1 << 11) -#define __I_DIRTY_TIME_EXPIRED 12 -#define I_DIRTY_TIME_EXPIRED (1 << __I_DIRTY_TIME_EXPIRED) #define I_WB_SWITCH (1 << 13) #define I_OVL_INUSE (1 << 14) #define I_CREATING (1 << 15) #define I_DONTCACHE (1 << 16) +#define I_SYNC_QUEUED (1 << 17) #define I_DIRTY_INODE (I_DIRTY_SYNC | I_DIRTY_DATASYNC) #define I_DIRTY (I_DIRTY_INODE | I_DIRTY_PAGES) @@ -2352,6 +2378,7 @@ extern void ihold(struct inode * inode); extern void iput(struct inode *); extern int generic_update_time(struct inode *, struct timespec64 *, int); +extern int update_time(struct inode *, struct timespec64 *, int); /* /sys/fs */ extern struct kobject *fs_kobj; @@ -2633,6 +2660,7 @@ return false; } #endif +extern int __sync_filesystem(struct super_block *, int); extern int sync_filesystem(struct super_block *); extern const struct file_operations def_blk_fops; extern const struct file_operations def_chr_fops; @@ -2996,8 +3024,6 @@ #define __kernel_read_file_id(id) \ id(UNKNOWN, unknown) \ id(FIRMWARE, firmware) \ - id(FIRMWARE_PREALLOC_BUFFER, firmware) \ - id(FIRMWARE_EFI_EMBEDDED, firmware) \ id(MODULE, kernel-module) \ id(KEXEC_IMAGE, kexec-image) \ id(KEXEC_INITRAMFS, kexec-initramfs) \ @@ -3060,8 +3086,7 @@ extern int generic_delete_inode(struct inode *inode); static inline int generic_drop_inode(struct inode *inode) { - return !inode->i_nlink || inode_unhashed(inode) || - (inode->i_state & I_DONTCACHE); + return !inode->i_nlink || inode_unhashed(inode); } extern void d_mark_dontcache(struct inode *inode); @@ -3624,6 +3649,7 @@ } extern bool path_noexec(const struct path *path); +extern bool path_nosuid(const struct path *path); extern void inode_nohighmem(struct inode *inode); /* mm/fadvise.c */ --- linux-riscv-5.8-5.8.0.orig/include/linux/fscrypt.h +++ linux-riscv-5.8-5.8.0/include/linux/fscrypt.h @@ -102,15 +102,44 @@ } /* - * When d_splice_alias() moves a directory's encrypted alias to its decrypted - * alias as a result of the encryption key being added, DCACHE_ENCRYPTED_NAME - * must be cleared. Note that we don't have to support arbitrary moves of this - * flag because fscrypt doesn't allow encrypted aliases to be the source or - * target of a rename(). + * When d_splice_alias() moves a directory's no-key alias to its plaintext alias + * as a result of the encryption key being added, DCACHE_NOKEY_NAME must be + * cleared. Note that we don't have to support arbitrary moves of this flag + * because fscrypt doesn't allow no-key names to be the source or target of a + * rename(). */ static inline void fscrypt_handle_d_move(struct dentry *dentry) { - dentry->d_flags &= ~DCACHE_ENCRYPTED_NAME; + dentry->d_flags &= ~DCACHE_NOKEY_NAME; +} + +/** + * fscrypt_is_nokey_name() - test whether a dentry is a no-key name + * @dentry: the dentry to check + * + * This returns true if the dentry is a no-key dentry. A no-key dentry is a + * dentry that was created in an encrypted directory that hasn't had its + * encryption key added yet. Such dentries may be either positive or negative. + * + * When a filesystem is asked to create a new filename in an encrypted directory + * and the new filename's dentry is a no-key dentry, it must fail the operation + * with ENOKEY. This includes ->create(), ->mkdir(), ->mknod(), ->symlink(), + * ->rename(), and ->link(). (However, ->rename() and ->link() are already + * handled by fscrypt_prepare_rename() and fscrypt_prepare_link().) + * + * This is necessary because creating a filename requires the directory's + * encryption key, but just checking for the key on the directory inode during + * the final filesystem operation doesn't guarantee that the key was available + * during the preceding dentry lookup. And the key must have already been + * available during the dentry lookup in order for it to have been checked + * whether the filename already exists in the directory and for the new file's + * dentry not to be invalidated due to it incorrectly having the no-key flag. + * + * Return: %true if the dentry is a no-key name + */ +static inline bool fscrypt_is_nokey_name(const struct dentry *dentry) +{ + return dentry->d_flags & DCACHE_NOKEY_NAME; } /* crypto.c */ @@ -251,6 +280,11 @@ { } +static inline bool fscrypt_is_nokey_name(const struct dentry *dentry) +{ + return false; +} + /* crypto.c */ static inline void fscrypt_enqueue_decrypt_work(struct work_struct *work) { --- linux-riscv-5.8-5.8.0.orig/include/linux/genhd.h +++ linux-riscv-5.8-5.8.0/include/linux/genhd.h @@ -316,7 +316,7 @@ extern void disk_block_events(struct gendisk *disk); extern void disk_unblock_events(struct gendisk *disk); extern void disk_flush_events(struct gendisk *disk, unsigned int mask); -extern void set_capacity_revalidate_and_notify(struct gendisk *disk, +extern bool set_capacity_revalidate_and_notify(struct gendisk *disk, sector_t size, bool revalidate); extern unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask); --- linux-riscv-5.8-5.8.0.orig/include/linux/gpio/consumer.h +++ linux-riscv-5.8-5.8.0/include/linux/gpio/consumer.h @@ -674,6 +674,8 @@ * get GpioIo type explicitly, this quirk may be used. */ #define ACPI_GPIO_QUIRK_ONLY_GPIOIO BIT(1) +/* Use given pin as an absolute GPIO number in the system */ +#define ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER BIT(2) unsigned int quirks; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/gpio/driver.h +++ linux-riscv-5.8-5.8.0/include/linux/gpio/driver.h @@ -509,8 +509,16 @@ gpiochip_add_data_with_key(gc, data, &lock_key, \ &request_key); \ }) +#define devm_gpiochip_add_data(dev, gc, data) ({ \ + static struct lock_class_key lock_key; \ + static struct lock_class_key request_key; \ + devm_gpiochip_add_data_with_key(dev, gc, data, &lock_key, \ + &request_key); \ + }) #else #define gpiochip_add_data(gc, data) gpiochip_add_data_with_key(gc, data, NULL, NULL) +#define devm_gpiochip_add_data(dev, gc, data) \ + devm_gpiochip_add_data_with_key(dev, gc, data, NULL, NULL) #endif /* CONFIG_LOCKDEP */ static inline int gpiochip_add(struct gpio_chip *gc) @@ -518,8 +526,9 @@ return gpiochip_add_data(gc, NULL); } extern void gpiochip_remove(struct gpio_chip *gc); -extern int devm_gpiochip_add_data(struct device *dev, struct gpio_chip *gc, - void *data); +extern int devm_gpiochip_add_data_with_key(struct device *dev, struct gpio_chip *gc, void *data, + struct lock_class_key *lock_key, + struct lock_class_key *request_key); extern struct gpio_chip *gpiochip_find(void *data, int (*match)(struct gpio_chip *gc, void *data)); --- linux-riscv-5.8-5.8.0.orig/include/linux/gpio/regmap.h +++ linux-riscv-5.8-5.8.0/include/linux/gpio/regmap.h @@ -8,7 +8,7 @@ struct irq_domain; struct regmap; -#define GPIO_REGMAP_ADDR_ZERO ((unsigned long)(-1)) +#define GPIO_REGMAP_ADDR_ZERO ((unsigned int)(-1)) #define GPIO_REGMAP_ADDR(addr) ((addr) ? : GPIO_REGMAP_ADDR_ZERO) /** --- linux-riscv-5.8-5.8.0.orig/include/linux/hid.h +++ linux-riscv-5.8-5.8.0/include/linux/hid.h @@ -959,34 +959,49 @@ * @max: maximal valid usage->code to consider later (out parameter) * @type: input event type (EV_KEY, EV_REL, ...) * @c: code which corresponds to this usage and type + * + * The value pointed to by @bit will be set to NULL if either @type is + * an unhandled event type, or if @c is out of range for @type. This + * can be used as an error condition. */ static inline void hid_map_usage(struct hid_input *hidinput, struct hid_usage *usage, unsigned long **bit, int *max, - __u8 type, __u16 c) + __u8 type, unsigned int c) { struct input_dev *input = hidinput->input; - - usage->type = type; - usage->code = c; + unsigned long *bmap = NULL; + unsigned int limit = 0; switch (type) { case EV_ABS: - *bit = input->absbit; - *max = ABS_MAX; + bmap = input->absbit; + limit = ABS_MAX; break; case EV_REL: - *bit = input->relbit; - *max = REL_MAX; + bmap = input->relbit; + limit = REL_MAX; break; case EV_KEY: - *bit = input->keybit; - *max = KEY_MAX; + bmap = input->keybit; + limit = KEY_MAX; break; case EV_LED: - *bit = input->ledbit; - *max = LED_MAX; + bmap = input->ledbit; + limit = LED_MAX; break; } + + if (unlikely(c > limit || !bmap)) { + pr_warn_ratelimited("%s: Invalid code %d type %d\n", + input->name, c, type); + *bit = NULL; + return; + } + + usage->type = type; + usage->code = c; + *max = limit; + *bit = bmap; } /** @@ -1000,7 +1015,8 @@ __u8 type, __u16 c) { hid_map_usage(hidinput, usage, bit, max, type, c); - clear_bit(c, *bit); + if (*bit) + clear_bit(usage->code, *bit); } /** --- linux-riscv-5.8-5.8.0.orig/include/linux/hil_mlc.h +++ linux-riscv-5.8-5.8.0/include/linux/hil_mlc.h @@ -103,7 +103,7 @@ /* Methods for back-end drivers, e.g. hp_sdc_mlc */ typedef int (hil_mlc_cts) (hil_mlc *mlc); -typedef void (hil_mlc_out) (hil_mlc *mlc); +typedef int (hil_mlc_out) (hil_mlc *mlc); typedef int (hil_mlc_in) (hil_mlc *mlc, suseconds_t timeout); struct hil_mlc_devinfo { --- linux-riscv-5.8-5.8.0.orig/include/linux/host1x.h +++ linux-riscv-5.8-5.8.0/include/linux/host1x.h @@ -320,7 +320,14 @@ int host1x_device_init(struct host1x_device *device); int host1x_device_exit(struct host1x_device *device); -int host1x_client_register(struct host1x_client *client); +int __host1x_client_register(struct host1x_client *client, + struct lock_class_key *key); +#define host1x_client_register(class) \ + ({ \ + static struct lock_class_key __key; \ + __host1x_client_register(class, &__key); \ + }) + int host1x_client_unregister(struct host1x_client *client); int host1x_client_suspend(struct host1x_client *client); --- linux-riscv-5.8-5.8.0.orig/include/linux/huge_mm.h +++ linux-riscv-5.8-5.8.0/include/linux/huge_mm.h @@ -265,6 +265,19 @@ else return NULL; } + +/** + * thp_order - Order of a transparent huge page. + * @page: Head page of a transparent huge page. + */ +static inline unsigned int thp_order(struct page *page) +{ + VM_BUG_ON_PGFLAGS(PageTail(page), page); + if (PageHead(page)) + return HPAGE_PMD_ORDER; + return 0; +} + static inline int hpage_nr_pages(struct page *page) { if (unlikely(PageTransHuge(page))) @@ -324,6 +337,12 @@ #define HPAGE_PUD_MASK ({ BUILD_BUG(); 0; }) #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) +static inline unsigned int thp_order(struct page *page) +{ + VM_BUG_ON_PGFLAGS(PageTail(page), page); + return 0; +} + static inline int hpage_nr_pages(struct page *page) { VM_BUG_ON_PAGE(PageTail(page), page); @@ -450,4 +469,15 @@ } #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ +/** + * thp_size - Size of a transparent huge page. + * @page: Head page of a transparent huge page. + * + * Return: Number of bytes in this page. + */ +static inline unsigned long thp_size(struct page *page) +{ + return PAGE_SIZE << thp_order(page); +} + #endif /* _LINUX_HUGE_MM_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/hugetlb.h +++ linux-riscv-5.8-5.8.0/include/linux/hugetlb.h @@ -164,7 +164,8 @@ unsigned long addr, unsigned long sz); pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr, unsigned long sz); -int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep); +int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, + unsigned long *addr, pte_t *ptep); void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, unsigned long *start, unsigned long *end); struct page *follow_huge_addr(struct mm_struct *mm, unsigned long address, @@ -203,8 +204,9 @@ return NULL; } -static inline int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, - pte_t *ptep) +static inline int huge_pmd_unshare(struct mm_struct *mm, + struct vm_area_struct *vma, + unsigned long *addr, pte_t *ptep) { return 0; } @@ -749,6 +751,8 @@ } #endif +void set_page_huge_active(struct page *page); + #else /* CONFIG_HUGETLB_PAGE */ struct hstate {}; --- linux-riscv-5.8-5.8.0.orig/include/linux/hugetlb_cgroup.h +++ linux-riscv-5.8-5.8.0/include/linux/hugetlb_cgroup.h @@ -113,6 +113,11 @@ return !cgroup_subsys_enabled(hugetlb_cgrp_subsys); } +static inline void hugetlb_cgroup_put_rsvd_cgroup(struct hugetlb_cgroup *h_cg) +{ + css_put(&h_cg->css); +} + extern int hugetlb_cgroup_charge_cgroup(int idx, unsigned long nr_pages, struct hugetlb_cgroup **ptr); extern int hugetlb_cgroup_charge_cgroup_rsvd(int idx, unsigned long nr_pages, @@ -138,7 +143,8 @@ extern void hugetlb_cgroup_uncharge_file_region(struct resv_map *resv, struct file_region *rg, - unsigned long nr_pages); + unsigned long nr_pages, + bool region_del); extern void hugetlb_cgroup_file_init(void) __init; extern void hugetlb_cgroup_migrate(struct page *oldhpage, @@ -147,7 +153,8 @@ #else static inline void hugetlb_cgroup_uncharge_file_region(struct resv_map *resv, struct file_region *rg, - unsigned long nr_pages) + unsigned long nr_pages, + bool region_del) { } @@ -185,6 +192,10 @@ return true; } +static inline void hugetlb_cgroup_put_rsvd_cgroup(struct hugetlb_cgroup *h_cg) +{ +} + static inline int hugetlb_cgroup_charge_cgroup(int idx, unsigned long nr_pages, struct hugetlb_cgroup **ptr) { --- linux-riscv-5.8-5.8.0.orig/include/linux/i2c-algo-pca.h +++ linux-riscv-5.8-5.8.0/include/linux/i2c-algo-pca.h @@ -53,6 +53,20 @@ #define I2C_PCA_CON_SI 0x08 /* Serial Interrupt */ #define I2C_PCA_CON_CR 0x07 /* Clock Rate (MASK) */ +/** + * struct pca_i2c_bus_settings - The configured PCA i2c bus settings + * @mode: Configured i2c bus mode + * @tlow: Configured SCL LOW period + * @thi: Configured SCL HIGH period + * @clock_freq: The configured clock frequency + */ +struct pca_i2c_bus_settings { + int mode; + int tlow; + int thi; + int clock_freq; +}; + struct i2c_algo_pca_data { void *data; /* private low level data */ void (*write_byte) (void *data, int reg, int val); @@ -64,6 +78,7 @@ * For PCA9665, use the frequency you want here. */ unsigned int i2c_clock; unsigned int chip; + struct pca_i2c_bus_settings bus_settings; }; int i2c_pca_add_bus(struct i2c_adapter *); --- linux-riscv-5.8-5.8.0.orig/include/linux/icmpv6.h +++ linux-riscv-5.8-5.8.0/include/linux/icmpv6.h @@ -13,12 +13,32 @@ #include #if IS_ENABLED(CONFIG_IPV6) -extern void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); typedef void ip6_icmp_send_t(struct sk_buff *skb, u8 type, u8 code, __u32 info, const struct in6_addr *force_saddr); +#if IS_BUILTIN(CONFIG_IPV6) +void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct in6_addr *force_saddr); +static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info) +{ + icmp6_send(skb, type, code, info, NULL); +} +static inline int inet6_register_icmp_sender(ip6_icmp_send_t *fn) +{ + BUILD_BUG_ON(fn != icmp6_send); + return 0; +} +static inline int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn) +{ + BUILD_BUG_ON(fn != icmp6_send); + return 0; +} +#else +extern void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info); extern int inet6_register_icmp_sender(ip6_icmp_send_t *fn); extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn); +#endif + int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, unsigned int data_len); --- linux-riscv-5.8-5.8.0.orig/include/linux/idr.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/include/linux/if_macvlan.h +++ linux-riscv-5.8-5.8.0/include/linux/if_macvlan.h @@ -42,13 +42,14 @@ if (likely(success)) { struct vlan_pcpu_stats *pcpu_stats; - pcpu_stats = this_cpu_ptr(vlan->pcpu_stats); + pcpu_stats = get_cpu_ptr(vlan->pcpu_stats); u64_stats_update_begin(&pcpu_stats->syncp); pcpu_stats->rx_packets++; pcpu_stats->rx_bytes += len; if (multicast) pcpu_stats->rx_multicast++; u64_stats_update_end(&pcpu_stats->syncp); + put_cpu_ptr(vlan->pcpu_stats); } else { this_cpu_inc(vlan->pcpu_stats->rx_errors); } --- linux-riscv-5.8-5.8.0.orig/include/linux/iio/adc/ad_sigma_delta.h +++ linux-riscv-5.8-5.8.0/include/linux/iio/adc/ad_sigma_delta.h @@ -79,8 +79,12 @@ /* * DMA (thus cache coherency maintenance) requires the * transfer buffers to live in their own cache lines. + * 'tx_buf' is up to 32 bits. + * 'rx_buf' is up to 32 bits per sample + 64 bit timestamp, + * rounded to 16 bytes to take into account padding. */ - uint8_t data[4] ____cacheline_aligned; + uint8_t tx_buf[4] ____cacheline_aligned; + uint8_t rx_buf[16] __aligned(8); }; static inline int ad_sigma_delta_set_channel(struct ad_sigma_delta *sd, --- linux-riscv-5.8-5.8.0.orig/include/linux/intel-iommu.h +++ linux-riscv-5.8-5.8.0/include/linux/intel-iommu.h @@ -381,8 +381,8 @@ #define QI_DEV_EIOTLB_ADDR(a) ((u64)(a) & VTD_PAGE_MASK) #define QI_DEV_EIOTLB_SIZE (((u64)1) << 11) -#define QI_DEV_EIOTLB_GLOB(g) ((u64)g) -#define QI_DEV_EIOTLB_PASID(p) (((u64)p) << 32) +#define QI_DEV_EIOTLB_GLOB(g) ((u64)(g) & 0x1) +#define QI_DEV_EIOTLB_PASID(p) ((u64)((p) & 0xfffff) << 32) #define QI_DEV_EIOTLB_SID(sid) ((u64)((sid) & 0xffff) << 16) #define QI_DEV_EIOTLB_QDEP(qd) ((u64)((qd) & 0x1f) << 4) #define QI_DEV_EIOTLB_PFSID(pfsid) (((u64)(pfsid & 0xf) << 12) | \ @@ -600,6 +600,8 @@ struct iommu_device iommu; /* IOMMU core code handle */ int node; u32 flags; /* Software defined flags */ + + struct dmar_drhd_unit *drhd; }; /* PCI domain-device relationship */ @@ -746,6 +748,7 @@ struct list_head list; struct rcu_head rcu; struct device *dev; + struct intel_iommu *iommu; struct svm_dev_ops *ops; struct iommu_sva sva; int pasid; @@ -759,7 +762,6 @@ struct mmu_notifier notifier; struct mm_struct *mm; - struct intel_iommu *iommu; int flags; int pasid; int gpasid; /* In case that guest PASID is different from host PASID */ @@ -788,7 +790,7 @@ extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu); extern int dmar_disabled; extern int intel_iommu_enabled; -extern int intel_iommu_tboot_noforce; +extern int intel_iommu_gfx_mapped; #else static inline int iommu_calculate_agaw(struct intel_iommu *iommu) { --- linux-riscv-5.8-5.8.0.orig/include/linux/io_uring.h +++ linux-riscv-5.8-5.8.0/include/linux/io_uring.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +#ifndef _LINUX_IO_URING_H +#define _LINUX_IO_URING_H + +#include +#include +#include + +struct io_uring_task { + /* submission side */ + struct xarray xa; + struct wait_queue_head wait; + struct file *last; + atomic_long_t req_issue; + + /* completion side */ + bool in_idle ____cacheline_aligned_in_smp; + atomic_long_t req_complete; +}; + +#if defined(CONFIG_IO_URING) +void __io_uring_task_cancel(void); +void __io_uring_files_cancel(struct files_struct *files); +void __io_uring_free(struct task_struct *tsk); + +static inline void io_uring_task_cancel(void) +{ + if (current->io_uring && !xa_empty(¤t->io_uring->xa)) + __io_uring_task_cancel(); +} +static inline void io_uring_files_cancel(struct files_struct *files) +{ + if (current->io_uring && !xa_empty(¤t->io_uring->xa)) + __io_uring_files_cancel(files); +} +static inline void io_uring_free(struct task_struct *tsk) +{ + if (tsk->io_uring) + __io_uring_free(tsk); +} +#else +static inline void io_uring_task_cancel(void) +{ +} +static inline void io_uring_files_cancel(struct files_struct *files) +{ +} +static inline void io_uring_free(struct task_struct *tsk) +{ +} +#endif + +#endif --- linux-riscv-5.8-5.8.0.orig/include/linux/iommu.h +++ linux-riscv-5.8-5.8.0/include/linux/iommu.h @@ -175,7 +175,7 @@ * struct iommu_iotlb_gather - Range information for a pending IOTLB flush * * @start: IOVA representing the start of the range to be flushed - * @end: IOVA representing the end of the range to be flushed (exclusive) + * @end: IOVA representing the end of the range to be flushed (inclusive) * @pgsize: The interval at which to perform the flush * * This structure is intended to be updated by multiple calls to the @@ -555,7 +555,7 @@ struct iommu_iotlb_gather *gather, unsigned long iova, size_t size) { - unsigned long start = iova, end = start + size; + unsigned long start = iova, end = start + size - 1; /* * If the new page is disjoint from the current range or is mapped at @@ -633,7 +633,10 @@ static inline void *dev_iommu_priv_get(struct device *dev) { - return dev->iommu->priv; + if (dev->iommu) + return dev->iommu->priv; + else + return NULL; } static inline void dev_iommu_priv_set(struct device *dev, void *priv) --- linux-riscv-5.8-5.8.0.orig/include/linux/ipc_namespace.h +++ linux-riscv-5.8-5.8.0/include/linux/ipc_namespace.h @@ -121,6 +121,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-riscv-5.8-5.8.0.orig/include/linux/irq.h +++ linux-riscv-5.8-5.8.0/include/linux/irq.h @@ -213,6 +213,8 @@ * required * IRQD_HANDLE_ENFORCE_IRQCTX - Enforce that handle_irq_*() is only invoked * from actual interrupt context. + * IRQD_AFFINITY_ON_ACTIVATE - Affinity is set on activation. Don't call + * irq_chip::irq_set_affinity() when deactivated. */ enum { IRQD_TRIGGER_MASK = 0xf, @@ -237,6 +239,7 @@ IRQD_CAN_RESERVE = (1 << 26), IRQD_MSI_NOMASK_QUIRK = (1 << 27), IRQD_HANDLE_ENFORCE_IRQCTX = (1 << 28), + IRQD_AFFINITY_ON_ACTIVATE = (1 << 29), }; #define __irqd_to_state(d) ACCESS_PRIVATE((d)->common, state_use_accessors) @@ -421,6 +424,16 @@ return __irqd_to_state(d) & IRQD_MSI_NOMASK_QUIRK; } +static inline void irqd_set_affinity_on_activate(struct irq_data *d) +{ + __irqd_to_state(d) |= IRQD_AFFINITY_ON_ACTIVATE; +} + +static inline bool irqd_affinity_on_activate(struct irq_data *d) +{ + return __irqd_to_state(d) & IRQD_AFFINITY_ON_ACTIVATE; +} + #undef __irqd_to_state static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d) @@ -895,7 +908,7 @@ __irq_alloc_descs(irq, from, cnt, node, THIS_MODULE, NULL) #define irq_alloc_desc(node) \ - irq_alloc_descs(-1, 0, 1, node) + irq_alloc_descs(-1, 1, 1, node) #define irq_alloc_desc_at(at, node) \ irq_alloc_descs(at, at, 1, node) @@ -910,7 +923,7 @@ __devm_irq_alloc_descs(dev, irq, from, cnt, node, THIS_MODULE, NULL) #define devm_irq_alloc_desc(dev, node) \ - devm_irq_alloc_descs(dev, -1, 0, 1, node) + devm_irq_alloc_descs(dev, -1, 1, 1, node) #define devm_irq_alloc_desc_at(dev, at, node) \ devm_irq_alloc_descs(dev, at, at, 1, node) --- linux-riscv-5.8-5.8.0.orig/include/linux/irqdomain.h +++ linux-riscv-5.8-5.8.0/include/linux/irqdomain.h @@ -383,11 +383,19 @@ extern void irq_domain_disassociate(struct irq_domain *domain, unsigned int irq); -extern unsigned int irq_create_mapping(struct irq_domain *host, - irq_hw_number_t hwirq); +extern unsigned int irq_create_mapping_affinity(struct irq_domain *host, + irq_hw_number_t hwirq, + const struct irq_affinity_desc *affinity); extern unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); extern void irq_dispose_mapping(unsigned int virq); +static inline unsigned int irq_create_mapping(struct irq_domain *host, + irq_hw_number_t hwirq) +{ + return irq_create_mapping_affinity(host, hwirq, NULL); +} + + /** * irq_linear_revmap() - Find a linux irq from a hw irq number. * @domain: domain owning this hardware interrupt --- linux-riscv-5.8-5.8.0.orig/include/linux/kdev_t.h +++ linux-riscv-5.8-5.8.0/include/linux/kdev_t.h @@ -21,61 +21,61 @@ }) /* acceptable for old filesystems */ -static inline bool old_valid_dev(dev_t dev) +static __always_inline bool old_valid_dev(dev_t dev) { return MAJOR(dev) < 256 && MINOR(dev) < 256; } -static inline u16 old_encode_dev(dev_t dev) +static __always_inline u16 old_encode_dev(dev_t dev) { return (MAJOR(dev) << 8) | MINOR(dev); } -static inline dev_t old_decode_dev(u16 val) +static __always_inline dev_t old_decode_dev(u16 val) { return MKDEV((val >> 8) & 255, val & 255); } -static inline u32 new_encode_dev(dev_t dev) +static __always_inline u32 new_encode_dev(dev_t dev) { unsigned major = MAJOR(dev); unsigned minor = MINOR(dev); return (minor & 0xff) | (major << 8) | ((minor & ~0xff) << 12); } -static inline dev_t new_decode_dev(u32 dev) +static __always_inline dev_t new_decode_dev(u32 dev) { unsigned major = (dev & 0xfff00) >> 8; unsigned minor = (dev & 0xff) | ((dev >> 12) & 0xfff00); return MKDEV(major, minor); } -static inline u64 huge_encode_dev(dev_t dev) +static __always_inline u64 huge_encode_dev(dev_t dev) { return new_encode_dev(dev); } -static inline dev_t huge_decode_dev(u64 dev) +static __always_inline dev_t huge_decode_dev(u64 dev) { return new_decode_dev(dev); } -static inline int sysv_valid_dev(dev_t dev) +static __always_inline int sysv_valid_dev(dev_t dev) { return MAJOR(dev) < (1<<14) && MINOR(dev) < (1<<18); } -static inline u32 sysv_encode_dev(dev_t dev) +static __always_inline u32 sysv_encode_dev(dev_t dev) { return MINOR(dev) | (MAJOR(dev) << 18); } -static inline unsigned sysv_major(u32 dev) +static __always_inline unsigned sysv_major(u32 dev) { return (dev >> 18) & 0x3fff; } -static inline unsigned sysv_minor(u32 dev) +static __always_inline unsigned sysv_minor(u32 dev) { return dev & 0x3ffff; } --- linux-riscv-5.8-5.8.0.orig/include/linux/kexec.h +++ linux-riscv-5.8-5.8.0/include/linux/kexec.h @@ -293,6 +293,11 @@ /* Information for loading purgatory */ struct purgatory_info purgatory_info; #endif + +#ifdef CONFIG_IMA_KEXEC + /* Virtual address of IMA measurement buffer for kexec syscall */ + void *ima_buffer; +#endif }; /* kexec interface functions */ --- linux-riscv-5.8-5.8.0.orig/include/linux/key.h +++ linux-riscv-5.8-5.8.0/include/linux/key.h @@ -289,6 +289,7 @@ #define KEY_ALLOC_BUILT_IN 0x0004 /* Key is built into kernel */ #define KEY_ALLOC_BYPASS_RESTRICTION 0x0008 /* Override the check on restricted keyrings */ #define KEY_ALLOC_UID_KEYRING 0x0010 /* allocating a user or user session keyring */ +#define KEY_ALLOC_SET_KEEP 0x0020 /* Set the KEEP flag on the key/keyring */ extern void key_revoke(struct key *key); extern void key_invalidate(struct key *key); --- linux-riscv-5.8-5.8.0.orig/include/linux/kgdb.h +++ linux-riscv-5.8-5.8.0/include/linux/kgdb.h @@ -342,9 +342,11 @@ extern bool dbg_is_early; extern void __init dbg_late_init(void); extern void kgdb_panic(const char *msg); +extern void kgdb_free_init_mem(void); #else /* ! CONFIG_KGDB */ #define in_dbg_master() (0) #define dbg_late_init() static inline void kgdb_panic(const char *msg) {} +static inline void kgdb_free_init_mem(void) { } #endif /* ! CONFIG_KGDB */ #endif /* _KGDB_H_ */ --- linux-riscv-5.8-5.8.0.orig/include/linux/khugepaged.h +++ linux-riscv-5.8-5.8.0/include/linux/khugepaged.h @@ -3,6 +3,7 @@ #define _LINUX_KHUGEPAGED_H #include /* MMF_VM_HUGEPAGE */ +#include #ifdef CONFIG_TRANSPARENT_HUGEPAGE @@ -15,6 +16,7 @@ extern void __khugepaged_exit(struct mm_struct *mm); extern int khugepaged_enter_vma_merge(struct vm_area_struct *vma, unsigned long vm_flags); +extern void khugepaged_min_free_kbytes_update(void); #ifdef CONFIG_SHMEM extern void collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr); #else @@ -56,6 +58,7 @@ { if (!test_bit(MMF_VM_HUGEPAGE, &vma->vm_mm->flags)) if ((khugepaged_always() || + (shmem_file(vma->vm_file) && shmem_huge_enabled(vma)) || (khugepaged_req_madv() && (vm_flags & VM_HUGEPAGE))) && !(vm_flags & VM_NOHUGEPAGE) && !test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags)) @@ -85,6 +88,10 @@ unsigned long addr) { } + +static inline void khugepaged_min_free_kbytes_update(void) +{ +} #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ #endif /* _LINUX_KHUGEPAGED_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/kprobes.h +++ linux-riscv-5.8-5.8.0/include/linux/kprobes.h @@ -232,7 +232,7 @@ extern bool arch_within_kprobe_blacklist(unsigned long addr); extern int arch_populate_kprobe_blacklist(void); extern bool arch_kprobe_on_func_entry(unsigned long offset); -extern bool kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset); +extern int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset); extern bool within_kprobe_blacklist(unsigned long addr); extern int kprobe_add_ksym_blacklist(unsigned long entry); @@ -369,6 +369,8 @@ void kprobe_flush_task(struct task_struct *tk); void recycle_rp_inst(struct kretprobe_instance *ri, struct hlist_head *head); +void kprobe_free_init_mem(void); + int disable_kprobe(struct kprobe *kp); int enable_kprobe(struct kprobe *kp); @@ -426,6 +428,9 @@ static inline void kprobe_flush_task(struct task_struct *tk) { } +static inline void kprobe_free_init_mem(void) +{ +} static inline int disable_kprobe(struct kprobe *kp) { return -ENOSYS; --- linux-riscv-5.8-5.8.0.orig/include/linux/kthread.h +++ linux-riscv-5.8-5.8.0/include/linux/kthread.h @@ -33,6 +33,9 @@ unsigned int cpu, const char *namefmt); +void kthread_set_per_cpu(struct task_struct *k, int cpu); +bool kthread_is_per_cpu(struct task_struct *k); + /** * kthread_run - create and wake a thread. * @threadfn: the function to run until signal_pending(current). --- linux-riscv-5.8-5.8.0.orig/include/linux/libata.h +++ linux-riscv-5.8-5.8.0/include/linux/libata.h @@ -421,6 +421,7 @@ ATA_HORKAGE_NO_DMA_LOG = (1 << 23), /* don't use DMA for log read */ ATA_HORKAGE_NOTRIM = (1 << 24), /* don't use TRIM */ ATA_HORKAGE_MAX_SEC_1024 = (1 << 25), /* Limit max sects to 1024 */ + ATA_HORKAGE_MAX_TRIM_128M = (1 << 26), /* Limit max trim size to 128M */ /* DMA mask for user DMA control: User visible values; DO NOT renumber */ --- linux-riscv-5.8-5.8.0.orig/include/linux/libnvdimm.h +++ linux-riscv-5.8-5.8.0/include/linux/libnvdimm.h @@ -78,6 +78,8 @@ const struct attribute_group **attr_groups; unsigned long bus_dsm_mask; unsigned long cmd_mask; + unsigned long dimm_family_mask; + unsigned long bus_family_mask; struct module *module; char *provider_name; struct device_node *of_node; --- linux-riscv-5.8-5.8.0.orig/include/linux/linkage.h +++ linux-riscv-5.8-5.8.0/include/linux/linkage.h @@ -178,6 +178,11 @@ * Objtool generates debug info for both FUNC & CODE, but needs special * annotations for each CODE's start (to describe the actual stack frame). * + * Objtool requires that all code must be contained in an ELF symbol. Symbol + * names that have a .L prefix do not emit symbol table entries. .L + * prefixed symbols can be used within a code region, but should be avoided for + * denoting a range of code via ``SYM_*_START/END`` annotations. + * * ALIAS -- does not generate debug info -- the aliased function will */ --- linux-riscv-5.8-5.8.0.orig/include/linux/lockdep.h +++ linux-riscv-5.8-5.8.0/include/linux/lockdep.h @@ -395,6 +395,8 @@ return lock->key == key; } +struct lock_class *lockdep_hlock_class(struct held_lock *hlock); + /* * Acquire a lock. * @@ -540,6 +542,7 @@ #define lockdep_depth(tsk) (0) +#define lockdep_is_held(lock) (1) #define lockdep_is_held_type(l, r) (1) #define lockdep_assert_held(l) do { (void)(l); } while (0) --- linux-riscv-5.8-5.8.0.orig/include/linux/log2.h +++ linux-riscv-5.8-5.8.0/include/linux/log2.h @@ -173,7 +173,7 @@ #define roundup_pow_of_two(n) \ ( \ __builtin_constant_p(n) ? ( \ - (n == 1) ? 1 : \ + ((n) == 1) ? 1 : \ (1UL << (ilog2((n) - 1) + 1)) \ ) : \ __roundup_pow_of_two(n) \ --- linux-riscv-5.8-5.8.0.orig/include/linux/lsm_hook_defs.h +++ linux-riscv-5.8-5.8.0/include/linux/lsm_hook_defs.h @@ -383,6 +383,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) --- linux-riscv-5.8-5.8.0.orig/include/linux/lsm_hooks.h +++ linux-riscv-5.8-5.8.0/include/linux/lsm_hooks.h @@ -1359,6 +1359,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 @@ -1507,6 +1513,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: @@ -1533,6 +1545,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. */ @@ -1540,7 +1560,7 @@ struct hlist_node list; struct hlist_head *head; union security_list_options hook; - char *lsm; + struct lsm_id *lsmid; } __randomize_layout; /* @@ -1550,6 +1570,7 @@ int lbs_cred; int lbs_file; int lbs_inode; + int lbs_sock; int lbs_ipc; int lbs_msg_msg; int lbs_task; @@ -1574,7 +1595,7 @@ extern char *lsm_names; extern void security_add_hooks(struct security_hook_list *hooks, int count, - char *lsm); + struct lsm_id *lsmid); #define LSM_FLAG_LEGACY_MAJOR BIT(0) #define LSM_FLAG_EXCLUSIVE BIT(1) @@ -1638,4 +1659,21 @@ extern int lsm_inode_alloc(struct inode *inode); +/** + * lsm_task_display - the "display" LSM for this task + * @task: The task to report on + * + * Returns the task's display LSM slot. + */ +static inline int lsm_task_display(struct task_struct *task) +{ +#ifdef CONFIG_SECURITY + int *display = task->security; + + if (display) + return *display; +#endif + return LSMBLOB_INVALID; +} + #endif /* ! __LINUX_LSM_HOOKS_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/mailbox/mtk-cmdq-mailbox.h +++ linux-riscv-5.8-5.8.0/include/linux/mailbox/mtk-cmdq-mailbox.h @@ -27,8 +27,7 @@ * bit 16-27: update value * bit 31: 1 - update, 0 - no update */ -#define CMDQ_WFE_OPTION (CMDQ_WFE_UPDATE | CMDQ_WFE_WAIT | \ - CMDQ_WFE_WAIT_VALUE) +#define CMDQ_WFE_OPTION (CMDQ_WFE_WAIT | CMDQ_WFE_WAIT_VALUE) /** cmdq event maximum */ #define CMDQ_MAX_EVENT 0x3ff --- linux-riscv-5.8-5.8.0.orig/include/linux/marvell_phy.h +++ linux-riscv-5.8-5.8.0/include/linux/marvell_phy.h @@ -23,11 +23,12 @@ #define MARVELL_PHY_ID_88X3310 0x002b09a0 #define MARVELL_PHY_ID_88E2110 0x002b09b0 -/* The MV88e6390 Ethernet switch contains embedded PHYs. These PHYs do +/* These Ethernet switch families contain embedded PHYs, but they do * not have a model ID. So the switch driver traps reads to the ID2 * register and returns the switch family ID */ -#define MARVELL_PHY_ID_88E6390 0x01410f90 +#define MARVELL_PHY_ID_88E6341_FAMILY 0x01410f41 +#define MARVELL_PHY_ID_88E6390_FAMILY 0x01410f90 #define MARVELL_PHY_FAMILY_ID(id) ((id) >> 4) --- linux-riscv-5.8-5.8.0.orig/include/linux/memcontrol.h +++ linux-riscv-5.8-5.8.0/include/linux/memcontrol.h @@ -764,12 +764,19 @@ static inline void memcg_memory_event(struct mem_cgroup *memcg, enum memcg_memory_event event) { + bool swap_event = event == MEMCG_SWAP_HIGH || event == MEMCG_SWAP_MAX || + event == MEMCG_SWAP_FAIL; + atomic_long_inc(&memcg->memory_events_local[event]); - cgroup_file_notify(&memcg->events_local_file); + if (!swap_event) + cgroup_file_notify(&memcg->events_local_file); do { atomic_long_inc(&memcg->memory_events[event]); - cgroup_file_notify(&memcg->events_file); + if (swap_event) + cgroup_file_notify(&memcg->swap_events_file); + else + cgroup_file_notify(&memcg->events_file); if (!cgroup_subsys_on_dfl(memory_cgrp_subsys)) break; --- linux-riscv-5.8-5.8.0.orig/include/linux/memory.h +++ linux-riscv-5.8-5.8.0/include/linux/memory.h @@ -27,9 +27,8 @@ unsigned long start_section_nr; unsigned long state; /* serialized by the dev->lock */ int online_type; /* for passing data to online routine */ - int phys_device; /* to which fru does this belong? */ - struct device dev; int nid; /* NID for this memory block */ + struct device dev; }; int arch_get_memory_phys_device(unsigned long start_pfn); --- linux-riscv-5.8-5.8.0.orig/include/linux/memory_hotplug.h +++ linux-riscv-5.8-5.8.0/include/linux/memory_hotplug.h @@ -235,6 +235,11 @@ void mem_hotplug_begin(void); void mem_hotplug_done(void); +extern void set_zone_contiguous(struct zone *zone); +extern void clear_zone_contiguous(struct zone *zone); + +void set_default_mem_hotplug_zone(enum zone_type zone); + #else /* ! CONFIG_MEMORY_HOTPLUG */ #define pfn_to_online_page(pfn) \ ({ \ @@ -278,6 +283,8 @@ static inline void mem_hotplug_begin(void) {} static inline void mem_hotplug_done(void) {} +static inline void set_default_mem_hotplug_zone(enum zone_type zone) {} + static inline bool movable_node_is_enabled(void) { return false; --- linux-riscv-5.8-5.8.0.orig/include/linux/memstick.h +++ linux-riscv-5.8-5.8.0/include/linux/memstick.h @@ -281,6 +281,7 @@ struct memstick_dev *card; unsigned int retries; + bool removing; /* Notify the host that some requests are pending. */ void (*request)(struct memstick_host *host); --- linux-riscv-5.8-5.8.0.orig/include/linux/mfd/rohm-generic.h +++ linux-riscv-5.8-5.8.0/include/linux/mfd/rohm-generic.h @@ -20,14 +20,12 @@ struct regmap *regmap; }; -enum { - ROHM_DVS_LEVEL_UNKNOWN, - ROHM_DVS_LEVEL_RUN, - ROHM_DVS_LEVEL_IDLE, - ROHM_DVS_LEVEL_SUSPEND, - ROHM_DVS_LEVEL_LPSR, - ROHM_DVS_LEVEL_MAX = ROHM_DVS_LEVEL_LPSR, -}; +#define ROHM_DVS_LEVEL_RUN BIT(0) +#define ROHM_DVS_LEVEL_IDLE BIT(1) +#define ROHM_DVS_LEVEL_SUSPEND BIT(2) +#define ROHM_DVS_LEVEL_LPSR BIT(3) +#define ROHM_DVS_LEVEL_VALID_AMOUNT 4 +#define ROHM_DVS_LEVEL_UNKNOWN 0 /** * struct rohm_dvs_config - dynamic voltage scaling register descriptions --- linux-riscv-5.8-5.8.0.orig/include/linux/mlx5/device.h +++ linux-riscv-5.8-5.8.0/include/linux/mlx5/device.h @@ -458,6 +458,15 @@ MLX5_OPC_MOD_TLS_TIR_PROGRESS_PARAMS = 0x2, }; +struct mlx5_wqe_tls_static_params_seg { + u8 ctx[MLX5_ST_SZ_BYTES(tls_static_params)]; +}; + +struct mlx5_wqe_tls_progress_params_seg { + __be32 tis_tir_num; + u8 ctx[MLX5_ST_SZ_BYTES(tls_progress_params)]; +}; + enum { MLX5_SET_PORT_RESET_QKEY = 0, MLX5_SET_PORT_GUID0 = 16, --- linux-riscv-5.8-5.8.0.orig/include/linux/mlx5/driver.h +++ linux-riscv-5.8-5.8.0/include/linux/mlx5/driver.h @@ -764,6 +764,8 @@ u64 ts2; u16 op; bool polling; + /* Track the max comp handlers */ + refcount_t refcnt; }; struct mlx5_pas { --- linux-riscv-5.8-5.8.0.orig/include/linux/mlx5/mlx5_ifc.h +++ linux-riscv-5.8-5.8.0/include/linux/mlx5/mlx5_ifc.h @@ -429,11 +429,11 @@ u8 reserved_at_60[0x18]; u8 log_max_ft_num[0x8]; - u8 reserved_at_80[0x18]; + u8 reserved_at_80[0x10]; + u8 log_max_flow_counter[0x8]; u8 log_max_destination[0x8]; - u8 log_max_flow_counter[0x8]; - u8 reserved_at_a8[0x10]; + u8 reserved_at_a0[0x18]; u8 log_max_flow[0x8]; u8 reserved_at_c0[0x40]; @@ -1194,6 +1194,11 @@ #define MLX5_FC_BULK_NUM_FCS(fc_enum) (MLX5_FC_BULK_SIZE_FACTOR * (fc_enum)) +enum { + MLX5_STEERING_FORMAT_CONNECTX_5 = 0, + MLX5_STEERING_FORMAT_CONNECTX_6DX = 1, +}; + struct mlx5_ifc_cmd_hca_cap_bits { u8 reserved_at_0[0x30]; u8 vhca_id[0x10]; @@ -1212,7 +1217,9 @@ u8 ece_support[0x1]; u8 reserved_at_a4[0x7]; u8 log_max_srq[0x5]; - u8 reserved_at_b0[0x10]; + u8 reserved_at_b0[0x1]; + u8 uplink_follow[0x1]; + u8 reserved_at_b2[0xe]; u8 max_sgl_for_optimized_performance[0x8]; u8 log_max_cq_sz[0x8]; @@ -1484,7 +1491,9 @@ u8 general_obj_types[0x40]; - u8 reserved_at_440[0x20]; + u8 reserved_at_440[0x4]; + u8 steering_format_version[0x4]; + u8 create_qp_start_hint[0x18]; u8 reserved_at_460[0x3]; u8 log_max_uctx[0x5]; @@ -8666,6 +8675,8 @@ u8 fec_override_admin_100g_2x[0x10]; u8 fec_override_admin_50g_1x[0x10]; + + u8 reserved_at_140[0x140]; }; struct mlx5_ifc_ppcnt_reg_bits { @@ -10003,7 +10014,7 @@ struct mlx5_ifc_bufferx_reg_bits buffer[10]; - u8 reserved_at_2e0[0x40]; + u8 reserved_at_2e0[0x80]; }; struct mlx5_ifc_qtct_reg_bits { @@ -10669,16 +10680,13 @@ }; struct mlx5_ifc_tls_progress_params_bits { - u8 reserved_at_0[0x8]; - u8 tisn[0x18]; - u8 next_record_tcp_sn[0x20]; u8 hw_resync_tcp_sn[0x20]; u8 record_tracker_state[0x2]; u8 auth_state[0x2]; - u8 reserved_at_64[0x4]; + u8 reserved_at_44[0x4]; u8 hw_offset_record_number[0x18]; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/mlx5/qp.h +++ linux-riscv-5.8-5.8.0/include/linux/mlx5/qp.h @@ -209,7 +209,7 @@ __be32 general_id; __be32 imm; __be32 umr_mkey; - __be32 tisn; + __be32 tis_tir_num; }; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/mm.h +++ linux-riscv-5.8-5.8.0/include/linux/mm.h @@ -1388,13 +1388,26 @@ #endif /* CONFIG_NUMA_BALANCING */ #ifdef CONFIG_KASAN_SW_TAGS + +/* + * KASAN per-page tags are stored xor'ed with 0xff. This allows to avoid + * setting tags for all pages to native kernel tag value 0xff, as the default + * value 0x00 maps to 0xff. + */ + static inline u8 page_kasan_tag(const struct page *page) { - return (page->flags >> KASAN_TAG_PGSHIFT) & KASAN_TAG_MASK; + u8 tag; + + tag = (page->flags >> KASAN_TAG_PGSHIFT) & KASAN_TAG_MASK; + tag ^= 0xff; + + return tag; } static inline void page_kasan_tag_set(struct page *page, u8 tag) { + tag ^= 0xff; page->flags &= ~(KASAN_TAG_MASK << KASAN_TAG_PGSHIFT); page->flags |= (tag & KASAN_TAG_MASK) << KASAN_TAG_PGSHIFT; } @@ -1628,9 +1641,11 @@ unsigned long end, unsigned long floor, unsigned long ceiling); int copy_page_range(struct mm_struct *dst, struct mm_struct *src, struct vm_area_struct *vma); -int follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp); +int follow_invalidate_pte(struct mm_struct *mm, unsigned long address, + struct mmu_notifier_range *range, pte_t **ptepp, + pmd_t **pmdpp, spinlock_t **ptlp); +int follow_pte(struct mm_struct *mm, unsigned long address, + pte_t **ptepp, spinlock_t **ptlp); int follow_pfn(struct vm_area_struct *vma, unsigned long address, unsigned long *pfn); int follow_phys(struct vm_area_struct *vma, unsigned long address, @@ -1684,6 +1699,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, @@ -2444,8 +2481,9 @@ #endif extern void set_dma_reserve(unsigned long new_dma_reserve); -extern void memmap_init_zone(unsigned long, int, unsigned long, unsigned long, - enum memmap_context, struct vmem_altmap *); +extern void memmap_init_zone(unsigned long, int, unsigned long, + unsigned long, unsigned long, enum meminit_context, + struct vmem_altmap *); extern void setup_per_zone_wmarks(void); extern int __meminit init_per_zone_wmark_min(void); extern void mem_init(void); @@ -2774,6 +2812,15 @@ return VM_FAULT_NOPAGE; } +#ifndef io_remap_pfn_range +static inline int io_remap_pfn_range(struct vm_area_struct *vma, + unsigned long addr, unsigned long pfn, + unsigned long size, pgprot_t prot) +{ + return remap_pfn_range(vma, addr, pfn, size, pgprot_decrypted(prot)); +} +#endif + static inline vm_fault_t vmf_error(int err) { if (err == -ENOMEM) --- linux-riscv-5.8-5.8.0.orig/include/linux/mm_types.h +++ linux-riscv-5.8-5.8.0/include/linux/mm_types.h @@ -276,6 +276,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 @@ -355,6 +356,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-riscv-5.8-5.8.0.orig/include/linux/mmu_notifier.h +++ linux-riscv-5.8-5.8.0/include/linux/mmu_notifier.h @@ -164,11 +164,11 @@ * the last refcount is dropped. * * If blockable argument is set to false then the callback cannot - * sleep and has to return with -EAGAIN. 0 should be returned - * otherwise. Please note that if invalidate_range_start approves - * a non-blocking behavior then the same applies to - * invalidate_range_end. - * + * sleep and has to return with -EAGAIN if sleeping would be required. + * 0 should be returned otherwise. Please note that notifiers that can + * fail invalidate_range_start are not allowed to implement + * invalidate_range_end, as there is no mechanism for informing the + * notifier that its start failed. */ int (*invalidate_range_start)(struct mmu_notifier *subscription, const struct mmu_notifier_range *range); --- linux-riscv-5.8-5.8.0.orig/include/linux/mmzone.h +++ linux-riscv-5.8-5.8.0/include/linux/mmzone.h @@ -328,26 +328,6 @@ * DMA mask is assumed when ZONE_DMA32 is defined. Some 64-bit * platforms may need both zones as they support peripherals with * different DMA addressing limitations. - * - * Some examples: - * - * - i386 and x86_64 have a fixed 16M ZONE_DMA and ZONE_DMA32 for the - * rest of the lower 4G. - * - * - arm only uses ZONE_DMA, the size, up to 4G, may vary depending on - * the specific device. - * - * - arm64 has a fixed 1G ZONE_DMA and ZONE_DMA32 for the rest of the - * lower 4G. - * - * - powerpc only uses ZONE_DMA, the size, up to 2G, may vary - * depending on the specific device. - * - * - s390 uses ZONE_DMA fixed to the lower 2G. - * - * - ia64 and riscv only use ZONE_DMA32. - * - * - parisc uses neither. */ #ifdef CONFIG_ZONE_DMA ZONE_DMA, @@ -799,10 +779,15 @@ unsigned int alloc_flags); bool zone_watermark_ok_safe(struct zone *z, unsigned int order, unsigned long mark, int highest_zoneidx); -enum memmap_context { - MEMMAP_EARLY, - MEMMAP_HOTPLUG, +/* + * Memory initialization context, use to differentiate memory added by + * the platform statically or via memory hotplug interface. + */ +enum meminit_context { + MEMINIT_EARLY, + MEMINIT_HOTPLUG, }; + extern void init_currently_empty_zone(struct zone *zone, unsigned long start_pfn, unsigned long size); --- linux-riscv-5.8-5.8.0.orig/include/linux/mnt_namespace.h +++ linux-riscv-5.8-5.8.0/include/linux/mnt_namespace.h @@ -7,12 +7,15 @@ struct fs_struct; struct user_namespace; struct ns_common; +struct vfsmount; extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, struct user_namespace *, struct fs_struct *); extern void put_mnt_ns(struct mnt_namespace *ns); extern struct ns_common *from_mnt_ns(struct mnt_namespace *); +extern int is_current_mnt_ns(struct vfsmount *mnt); + extern const struct file_operations proc_mounts_operations; extern const struct file_operations proc_mountinfo_operations; extern const struct file_operations proc_mountstats_operations; --- linux-riscv-5.8-5.8.0.orig/include/linux/msi.h +++ linux-riscv-5.8-5.8.0/include/linux/msi.h @@ -139,6 +139,12 @@ list_for_each_entry((desc), dev_to_msi_list((dev)), list) #define for_each_msi_entry_safe(desc, tmp, dev) \ list_for_each_entry_safe((desc), (tmp), dev_to_msi_list((dev)), list) +#define for_each_msi_vector(desc, __irq, dev) \ + for_each_msi_entry((desc), (dev)) \ + if ((desc)->irq) \ + for (__irq = (desc)->irq; \ + __irq < ((desc)->irq + (desc)->nvec_used); \ + __irq++) #ifdef CONFIG_IRQ_MSI_IOMMU static inline const void *msi_desc_get_iommu_cookie(struct msi_desc *desc) --- linux-riscv-5.8-5.8.0.orig/include/linux/mtd/pfow.h +++ linux-riscv-5.8-5.8.0/include/linux/mtd/pfow.h @@ -128,7 +128,7 @@ if (!(dsr & DSR_AVAILABLE)) printk(KERN_NOTICE"DSR.15: (0) Device not Available\n"); - if (prog_status & 0x03) + if ((prog_status & 0x03) == 0x03) printk(KERN_NOTICE"DSR.9,8: (11) Attempt to program invalid " "half with 41h command\n"); else if (prog_status & 0x02) --- linux-riscv-5.8-5.8.0.orig/include/linux/mutex.h +++ linux-riscv-5.8-5.8.0/include/linux/mutex.h @@ -174,7 +174,7 @@ # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) # define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock) # define mutex_lock_nest_lock(lock, nest_lock) mutex_lock(lock) -# define mutex_lock_io_nested(lock, subclass) mutex_lock(lock) +# define mutex_lock_io_nested(lock, subclass) mutex_lock_io(lock) #endif /* --- linux-riscv-5.8-5.8.0.orig/include/linux/net.h +++ linux-riscv-5.8-5.8.0/include/linux/net.h @@ -21,6 +21,7 @@ #include #include #include +#include #include @@ -290,6 +291,21 @@ #define net_get_random_once_wait(buf, nbytes) \ get_random_once_wait((buf), (nbytes)) +/* + * E.g. XFS meta- & log-data is in slab pages, or bcache meta + * data pages, or other high order pages allocated by + * __get_free_pages() without __GFP_COMP, which have a page_count + * of 0 and/or have PageSlab() set. We cannot use send_page for + * those, as that does get_page(); put_page(); and would cause + * either a VM_BUG directly, or __page_cache_release a page that + * would actually still be referenced by someone, leading to some + * obscure delayed Oops somewhere else. + */ +static inline bool sendpage_ok(struct page *page) +{ + return !PageSlab(page) && page_count(page) >= 1; +} + int kernel_sendmsg(struct socket *sock, struct msghdr *msg, struct kvec *vec, size_t num, size_t len); int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg, --- linux-riscv-5.8-5.8.0.orig/include/linux/netdevice.h +++ linux-riscv-5.8-5.8.0/include/linux/netdevice.h @@ -1598,6 +1598,12 @@ #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER #define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK +/* Specifies the type of the struct net_device::ml_priv pointer */ +enum netdev_ml_priv_type { + ML_PRIV_NONE, + ML_PRIV_CAN, +}; + /** * struct net_device - The DEVICE structure. * @@ -1790,6 +1796,7 @@ * @nd_net: Network namespace this network device is inside * * @ml_priv: Mid-layer private + * @ml_priv_type: Mid-layer private type * @lstats: Loopback statistics * @tstats: Tunnel statistics * @dstats: Dummy statistics @@ -2082,8 +2089,10 @@ possible_net_t nd_net; /* mid-layer private */ + void *ml_priv; + enum netdev_ml_priv_type ml_priv_type; + union { - void *ml_priv; struct pcpu_lstats __percpu *lstats; struct pcpu_sw_netstats __percpu *tstats; struct pcpu_dstats __percpu *dstats; @@ -2252,6 +2261,29 @@ netdev_set_rx_headroom(dev, -1); } +static inline void *netdev_get_ml_priv(struct net_device *dev, + enum netdev_ml_priv_type type) +{ + if (dev->ml_priv_type != type) + return NULL; + + return dev->ml_priv; +} + +static inline void netdev_set_ml_priv(struct net_device *dev, + void *ml_priv, + enum netdev_ml_priv_type type) +{ + WARN(dev->ml_priv_type && dev->ml_priv_type != type, + "Overwriting already set ml_priv_type (%u) with different ml_priv_type (%u)!\n", + dev->ml_priv_type, type); + WARN(!dev->ml_priv_type && dev->ml_priv, + "Overwriting already set ml_priv and ml_priv_type is ML_PRIV_NONE!\n"); + + dev->ml_priv = ml_priv; + dev->ml_priv_type = type; +} + /* * Net namespace inlines */ @@ -2743,9 +2775,21 @@ struct net_device *sb_dev); u16 dev_pick_tx_cpu_id(struct net_device *dev, struct sk_buff *skb, struct net_device *sb_dev); + int dev_queue_xmit(struct sk_buff *skb); int dev_queue_xmit_accel(struct sk_buff *skb, struct net_device *sb_dev); -int dev_direct_xmit(struct sk_buff *skb, u16 queue_id); +int __dev_direct_xmit(struct sk_buff *skb, u16 queue_id); + +static inline int dev_direct_xmit(struct sk_buff *skb, u16 queue_id) +{ + int ret; + + ret = __dev_direct_xmit(skb, queue_id); + if (!dev_xmit_complete(ret)) + kfree_skb(skb); + return ret; +} + int register_netdevice(struct net_device *dev); void unregister_netdevice_queue(struct net_device *dev, struct list_head *head); void unregister_netdevice_many(struct list_head *head); @@ -3068,6 +3112,11 @@ return false; } +static inline bool dev_has_header(const struct net_device *dev) +{ + return dev->header_ops && dev->header_ops->create; +} + typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len, int size); int register_gifconf(unsigned int family, gifconf_func_t *gifconf); @@ -3792,6 +3841,9 @@ struct netlink_ext_ack *extack); int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa, struct netlink_ext_ack *extack); +int dev_set_mac_address_user(struct net_device *dev, struct sockaddr *sa, + struct netlink_ext_ack *extack); +int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name); int dev_change_carrier(struct net_device *, bool new_carrier); int dev_get_phys_port_id(struct net_device *dev, struct netdev_phys_item_id *ppid); @@ -4223,6 +4275,7 @@ local_bh_disable(); cpu = smp_processor_id(); + spin_lock(&dev->tx_global_lock); for (i = 0; i < dev->num_tx_queues; i++) { struct netdev_queue *txq = netdev_get_tx_queue(dev, i); @@ -4230,6 +4283,7 @@ netif_tx_stop_queue(txq); __netif_tx_unlock(txq); } + spin_unlock(&dev->tx_global_lock); local_bh_enable(); } --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter/nf_conntrack_sctp.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter/nf_conntrack_sctp.h @@ -9,6 +9,8 @@ enum sctp_conntrack state; __be32 vtag[IP_CT_DIR_MAX]; + u8 last_dir; + u8 flags; }; #endif /* _NF_CONNTRACK_SCTP_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter/nfnetlink.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter/nfnetlink.h @@ -24,6 +24,12 @@ const u_int16_t attr_count; /* number of nlattr's */ }; +enum nfnl_abort_action { + NFNL_ABORT_NONE = 0, + NFNL_ABORT_AUTOLOAD, + NFNL_ABORT_VALIDATE, +}; + struct nfnetlink_subsystem { const char *name; __u8 subsys_id; /* nfnetlink subsystem ID */ @@ -31,7 +37,8 @@ const struct nfnl_callback *cb; /* callback for individual types */ struct module *owner; int (*commit)(struct net *net, struct sk_buff *skb); - int (*abort)(struct net *net, struct sk_buff *skb, bool autoload); + int (*abort)(struct net *net, struct sk_buff *skb, + enum nfnl_abort_action action); void (*cleanup)(struct net *net); bool (*valid_genid)(struct net *net, u32 genid); }; @@ -43,8 +50,7 @@ int nfnetlink_send(struct sk_buff *skb, struct net *net, u32 portid, unsigned int group, int echo, gfp_t flags); int nfnetlink_set_err(struct net *net, u32 portid, u32 group, int error); -int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u32 portid, - int flags); +int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u32 portid); static inline u16 nfnl_msg_type(u8 subsys, u8 msg_type) { --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter/x_tables.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter/x_tables.h @@ -376,7 +376,7 @@ * since addend is most likely 1 */ __this_cpu_add(xt_recseq.sequence, addend); - smp_wmb(); + smp_mb(); return addend; } --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter_arp/arp_tables.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter_arp/arp_tables.h @@ -52,8 +52,9 @@ int arpt_register_table(struct net *net, const struct xt_table *table, const struct arpt_replace *repl, const struct nf_hook_ops *ops, struct xt_table **res); -void arpt_unregister_table(struct net *net, struct xt_table *table, - const struct nf_hook_ops *ops); +void arpt_unregister_table(struct net *net, struct xt_table *table); +void arpt_unregister_table_pre_exit(struct net *net, struct xt_table *table, + const struct nf_hook_ops *ops); extern unsigned int arpt_do_table(struct sk_buff *skb, const struct nf_hook_state *state, struct xt_table *table); --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter_bridge/ebtables.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter_bridge/ebtables.h @@ -110,8 +110,9 @@ const struct ebt_table *table, const struct nf_hook_ops *ops, struct ebt_table **res); -extern void ebt_unregister_table(struct net *net, struct ebt_table *table, - const struct nf_hook_ops *); +extern void ebt_unregister_table(struct net *net, struct ebt_table *table); +void ebt_unregister_table_pre_exit(struct net *net, const char *tablename, + const struct nf_hook_ops *ops); extern unsigned int ebt_do_table(struct sk_buff *skb, const struct nf_hook_state *state, struct ebt_table *table); --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter_ipv4.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter_ipv4.h @@ -16,7 +16,7 @@ u_int32_t mark; }; -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned addr_type); +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type); struct nf_queue_entry; --- linux-riscv-5.8-5.8.0.orig/include/linux/netfilter_ipv6.h +++ linux-riscv-5.8-5.8.0/include/linux/netfilter_ipv6.h @@ -42,7 +42,7 @@ #if IS_MODULE(CONFIG_IPV6) int (*chk_addr)(struct net *net, const struct in6_addr *addr, const struct net_device *dev, int strict); - int (*route_me_harder)(struct net *net, struct sk_buff *skb); + int (*route_me_harder)(struct net *net, struct sock *sk, struct sk_buff *skb); int (*dev_get_saddr)(struct net *net, const struct net_device *dev, const struct in6_addr *daddr, unsigned int srcprefs, struct in6_addr *saddr); @@ -58,7 +58,6 @@ int (*output)(struct net *, struct sock *, struct sk_buff *)); int (*reroute)(struct sk_buff *skb, const struct nf_queue_entry *entry); #if IS_MODULE(CONFIG_IPV6) - int (*br_defrag)(struct net *net, struct sk_buff *skb, u32 user); int (*br_fragment)(struct net *net, struct sock *sk, struct sk_buff *skb, struct nf_bridge_frag_data *data, @@ -117,23 +116,6 @@ #include -static inline int nf_ipv6_br_defrag(struct net *net, struct sk_buff *skb, - u32 user) -{ -#if IS_MODULE(CONFIG_IPV6) - const struct nf_ipv6_ops *v6_ops = nf_get_ipv6_ops(); - - if (!v6_ops) - return 1; - - return v6_ops->br_defrag(net, skb, user); -#elif IS_BUILTIN(CONFIG_IPV6) - return nf_ct_frag6_gather(net, skb, user); -#else - return 1; -#endif -} - int br_ip6_fragment(struct net *net, struct sock *sk, struct sk_buff *skb, struct nf_bridge_frag_data *data, int (*output)(struct net *, struct sock *sk, @@ -161,9 +143,9 @@ #endif } -int ip6_route_me_harder(struct net *net, struct sk_buff *skb); +int ip6_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb); -static inline int nf_ip6_route_me_harder(struct net *net, struct sk_buff *skb) +static inline int nf_ip6_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb) { #if IS_MODULE(CONFIG_IPV6) const struct nf_ipv6_ops *v6_ops = nf_get_ipv6_ops(); @@ -171,9 +153,9 @@ if (!v6_ops) return -EHOSTUNREACH; - return v6_ops->route_me_harder(net, skb); + return v6_ops->route_me_harder(net, sk, skb); #elif IS_BUILTIN(CONFIG_IPV6) - return ip6_route_me_harder(net, skb); + return ip6_route_me_harder(net, sk, skb); #else return -EHOSTUNREACH; #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/node.h +++ linux-riscv-5.8-5.8.0/include/linux/node.h @@ -99,11 +99,13 @@ typedef void (*node_registration_func_t)(struct node *); #if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_NUMA) -extern int link_mem_sections(int nid, unsigned long start_pfn, - unsigned long end_pfn); +int link_mem_sections(int nid, unsigned long start_pfn, + unsigned long end_pfn, + enum meminit_context context); #else static inline int link_mem_sections(int nid, unsigned long start_pfn, - unsigned long end_pfn) + unsigned long end_pfn, + enum meminit_context context) { return 0; } @@ -128,7 +130,8 @@ if (error) return error; /* link memory sections under this node */ - error = link_mem_sections(nid, start_pfn, end_pfn); + error = link_mem_sections(nid, start_pfn, end_pfn, + MEMINIT_EARLY); } return error; --- linux-riscv-5.8-5.8.0.orig/include/linux/nvme.h +++ linux-riscv-5.8-5.8.0/include/linux/nvme.h @@ -116,6 +116,9 @@ NVME_REG_BPMBL = 0x0048, /* Boot Partition Memory Buffer * Location */ + NVME_REG_CMBMSC = 0x0050, /* Controller Memory Buffer Memory + * Space Control + */ NVME_REG_PMRCAP = 0x0e00, /* Persistent Memory Capabilities */ NVME_REG_PMRCTL = 0x0e04, /* Persistent Memory Region Control */ NVME_REG_PMRSTS = 0x0e08, /* Persistent Memory Region Status */ @@ -134,6 +137,7 @@ #define NVME_CAP_NSSRC(cap) (((cap) >> 36) & 0x1) #define NVME_CAP_MPSMIN(cap) (((cap) >> 48) & 0xf) #define NVME_CAP_MPSMAX(cap) (((cap) >> 52) & 0xf) +#define NVME_CAP_CMBS(cap) (((cap) >> 57) & 0x1) #define NVME_CMB_BIR(cmbloc) ((cmbloc) & 0x7) #define NVME_CMB_OFST(cmbloc) (((cmbloc) >> 12) & 0xfffff) @@ -187,6 +191,8 @@ NVME_CSTS_SHST_OCCUR = 1 << 2, NVME_CSTS_SHST_CMPLT = 2 << 2, NVME_CSTS_SHST_MASK = 3 << 2, + NVME_CMBMSC_CRE = 1 << 0, + NVME_CMBMSC_CMSE = 1 << 1, }; struct nvme_id_power_state { --- linux-riscv-5.8-5.8.0.orig/include/linux/of.h +++ linux-riscv-5.8-5.8.0/include/linux/of.h @@ -558,6 +558,8 @@ const char *map_name, const char *map_mask_name, struct device_node **target, u32 *id_out); +phys_addr_t of_dma_get_max_cpu_address(struct device_node *np); + #else /* CONFIG_OF */ static inline void of_core_init(void) @@ -985,6 +987,11 @@ return -EINVAL; } +static inline phys_addr_t of_dma_get_max_cpu_address(struct device_node *np) +{ + return PHYS_ADDR_MAX; +} + #define of_match_ptr(_ptr) NULL #define of_match_node(_matches, _node) NULL #endif /* CONFIG_OF */ @@ -1290,6 +1297,7 @@ #define _OF_DECLARE(table, name, compat, fn, fn_type) \ static const struct of_device_id __of_table_##name \ __used __section(__##table##_of_table) \ + __aligned(__alignof__(struct of_device_id)) \ = { .compatible = compat, \ .data = (fn == (fn_type)NULL) ? fn : fn } #else --- linux-riscv-5.8-5.8.0.orig/include/linux/oom.h +++ linux-riscv-5.8-5.8.0/include/linux/oom.h @@ -55,6 +55,7 @@ }; extern struct mutex oom_lock; +extern struct mutex oom_adj_mutex; static inline void set_current_oom_origin(void) { --- linux-riscv-5.8-5.8.0.orig/include/linux/overflow.h +++ linux-riscv-5.8-5.8.0/include/linux/overflow.h @@ -3,6 +3,7 @@ #define __LINUX_OVERFLOW_H #include +#include /* * In the fallback code below, we need to compute the minimum and --- linux-riscv-5.8-5.8.0.orig/include/linux/page_owner.h +++ linux-riscv-5.8-5.8.0/include/linux/page_owner.h @@ -11,7 +11,7 @@ extern void __reset_page_owner(struct page *page, unsigned int order); extern void __set_page_owner(struct page *page, unsigned int order, gfp_t gfp_mask); -extern void __split_page_owner(struct page *page, unsigned int order); +extern void __split_page_owner(struct page *page, unsigned int nr); extern void __copy_page_owner(struct page *oldpage, struct page *newpage); extern void __set_page_owner_migrate_reason(struct page *page, int reason); extern void __dump_page_owner(struct page *page); @@ -31,10 +31,10 @@ __set_page_owner(page, order, gfp_mask); } -static inline void split_page_owner(struct page *page, unsigned int order) +static inline void split_page_owner(struct page *page, unsigned int nr) { if (static_branch_unlikely(&page_owner_inited)) - __split_page_owner(page, order); + __split_page_owner(page, nr); } static inline void copy_page_owner(struct page *oldpage, struct page *newpage) { --- linux-riscv-5.8-5.8.0.orig/include/linux/pagemap.h +++ linux-riscv-5.8-5.8.0/include/linux/pagemap.h @@ -54,7 +54,8 @@ __filemap_set_wb_err(mapping, error); /* Record it in superblock */ - errseq_set(&mapping->host->i_sb->s_wb_err, error); + if (mapping->host) + errseq_set(&mapping->host->i_sb->s_wb_err, error); /* Record it in flags for now, for legacy callers */ if (error == -ENOSPC) @@ -750,6 +751,8 @@ xas_set(&xas, rac->_index); rcu_read_lock(); xas_for_each(&xas, page, rac->_index + rac->_nr_pages - 1) { + if (xas_retry(&xas, page)) + continue; VM_BUG_ON_PAGE(!PageLocked(page), page); VM_BUG_ON_PAGE(PageTail(page), page); array[i++] = page; --- linux-riscv-5.8-5.8.0.orig/include/linux/pci-ats.h +++ linux-riscv-5.8-5.8.0/include/linux/pci-ats.h @@ -28,6 +28,10 @@ void pci_disable_pri(struct pci_dev *pdev); int pci_reset_pri(struct pci_dev *pdev); int pci_prg_resp_pasid_required(struct pci_dev *pdev); +bool pci_pri_supported(struct pci_dev *pdev); +#else +static inline bool pci_pri_supported(struct pci_dev *pdev) +{ return false; } #endif /* CONFIG_PCI_PRI */ #ifdef CONFIG_PCI_PASID --- linux-riscv-5.8-5.8.0.orig/include/linux/pci-ecam.h +++ linux-riscv-5.8-5.8.0/include/linux/pci-ecam.h @@ -51,6 +51,7 @@ #if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) extern const struct pci_ecam_ops pci_32b_ops; /* 32-bit accesses only */ +extern const struct pci_ecam_ops pci_32b_read_ops; /* 32-bit read only */ extern const struct pci_ecam_ops hisi_pcie_ops; /* HiSilicon */ extern const struct pci_ecam_ops thunder_pem_ecam_ops; /* Cavium ThunderX 1.x & 2.x */ extern const struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */ --- linux-riscv-5.8-5.8.0.orig/include/linux/pci.h +++ linux-riscv-5.8-5.8.0/include/linux/pci.h @@ -227,6 +227,8 @@ PCI_DEV_FLAGS_NO_FLR_RESET = (__force pci_dev_flags_t) (1 << 10), /* Don't use Relaxed Ordering for TLPs directed at this device */ PCI_DEV_FLAGS_NO_RELAXED_ORDERING = (__force pci_dev_flags_t) (1 << 11), + /* Enable ASPM regardless of how LnkCtl is programmed */ + PCI_DEV_FLAGS_ENABLE_ASPM = (__force pci_dev_flags_t) (1 << 12), }; enum pci_irq_reroute_variant { @@ -439,6 +441,7 @@ unsigned int is_probed:1; /* Device probing in progress */ unsigned int link_active_reporting:1;/* Device capable of reporting link active */ unsigned int no_vf_scan:1; /* Don't scan for VFs after IOV enablement */ + unsigned int no_command_memory:1; /* No PCI_COMMAND_MEMORY */ pci_dev_flags_t dev_flags; atomic_t enable_cnt; /* pci_enable_device has been called */ --- linux-riscv-5.8-5.8.0.orig/include/linux/percpu-rwsem.h +++ linux-riscv-5.8-5.8.0/include/linux/percpu-rwsem.h @@ -60,7 +60,7 @@ * anything we did within this RCU-sched read-size critical section. */ if (likely(rcu_sync_is_idle(&sem->rss))) - __this_cpu_inc(*sem->read_count); + this_cpu_inc(*sem->read_count); else __percpu_down_read(sem, false); /* Unconditional memory barrier */ /* @@ -79,7 +79,7 @@ * Same as in percpu_down_read(). */ if (likely(rcu_sync_is_idle(&sem->rss))) - __this_cpu_inc(*sem->read_count); + this_cpu_inc(*sem->read_count); else ret = __percpu_down_read(sem, true); /* Unconditional memory barrier */ preempt_enable(); @@ -103,7 +103,7 @@ * Same as in percpu_down_read(). */ if (likely(rcu_sync_is_idle(&sem->rss))) { - __this_cpu_dec(*sem->read_count); + this_cpu_dec(*sem->read_count); } else { /* * slowpath; reader will only ever wake a single blocked @@ -115,7 +115,7 @@ * aggregate zero, as that is the only time it matters) they * will also see our critical section. */ - __this_cpu_dec(*sem->read_count); + this_cpu_dec(*sem->read_count); rcuwait_wake_up(&sem->writer); } preempt_enable(); --- linux-riscv-5.8-5.8.0.orig/include/linux/perf_event.h +++ linux-riscv-5.8-5.8.0/include/linux/perf_event.h @@ -1294,6 +1294,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-riscv-5.8-5.8.0.orig/include/linux/pgtable.h +++ linux-riscv-5.8-5.8.0/include/linux/pgtable.h @@ -117,7 +117,9 @@ * a shortcut which implies the use of the kernel's pgd, instead * of a process's */ +#ifndef pgd_offset_k #define pgd_offset_k(address) pgd_offset(&init_mm, (address)) +#endif /* * In many cases it is known that a virtual address is mapped at PMD or PTE @@ -1394,8 +1396,17 @@ #endif /* !__ASSEMBLY__ */ -#ifndef io_remap_pfn_range -#define io_remap_pfn_range remap_pfn_range +#if !defined(MAX_POSSIBLE_PHYSMEM_BITS) && !defined(CONFIG_64BIT) +#ifdef CONFIG_PHYS_ADDR_T_64BIT +/* + * ZSMALLOC needs to know the highest PFN on 32-bit architectures + * with physical address space extension, but falls back to + * BITS_PER_LONG otherwise. + */ +#error Missing MAX_POSSIBLE_PHYSMEM_BITS definition +#else +#define MAX_POSSIBLE_PHYSMEM_BITS 32 +#endif #endif #ifndef has_transparent_hugepage @@ -1422,6 +1433,16 @@ #define mm_pmd_folded(mm) __is_defined(__PAGETABLE_PMD_FOLDED) #endif +#ifndef p4d_offset_lockless +#define p4d_offset_lockless(pgdp, pgd, address) p4d_offset(&(pgd), address) +#endif +#ifndef pud_offset_lockless +#define pud_offset_lockless(p4dp, p4d, address) pud_offset(&(p4d), address) +#endif +#ifndef pmd_offset_lockless +#define pmd_offset_lockless(pudp, pud, address) pmd_offset(&(pud), address) +#endif + /* * p?d_leaf() - true if this entry is a final mapping to a physical address. * This differs from p?d_huge() by the fact that they are always available (if --- linux-riscv-5.8-5.8.0.orig/include/linux/phy.h +++ linux-riscv-5.8-5.8.0/include/linux/phy.h @@ -478,6 +478,7 @@ */ int speed; int duplex; + int port; int pause; int asym_pause; u8 master_slave_get; --- linux-riscv-5.8-5.8.0.orig/include/linux/pipe_fs_i.h +++ linux-riscv-5.8-5.8.0/include/linux/pipe_fs_i.h @@ -240,8 +240,9 @@ extern unsigned long pipe_user_pages_hard; extern unsigned long pipe_user_pages_soft; -/* Drop the inode semaphore and wait for a pipe event, atomically */ -void pipe_wait(struct pipe_inode_info *pipe); +/* Wait for a pipe to be readable/writable while dropping the pipe lock */ +void pipe_wait_readable(struct pipe_inode_info *); +void pipe_wait_writable(struct pipe_inode_info *); struct pipe_inode_info *alloc_pipe_info(void); void free_pipe_info(struct pipe_inode_info *); --- linux-riscv-5.8-5.8.0.orig/include/linux/platform_data/dma-dw.h +++ linux-riscv-5.8-5.8.0/include/linux/platform_data/dma-dw.h @@ -21,6 +21,7 @@ * @dst_id: dst request line * @m_master: memory master for transfers on allocated channel * @p_master: peripheral master for transfers on allocated channel + * @channels: mask of the channels permitted for allocation (zero value means any) * @hs_polarity:set active low polarity of handshake interface */ struct dw_dma_slave { @@ -29,6 +30,7 @@ u8 dst_id; u8 m_master; u8 p_master; + u8 channels; bool hs_polarity; }; --- linux-riscv-5.8-5.8.0.orig/include/linux/platform_data/gpio-omap.h +++ linux-riscv-5.8-5.8.0/include/linux/platform_data/gpio-omap.h @@ -85,6 +85,7 @@ * omap2+ specific GPIO registers */ #define OMAP24XX_GPIO_REVISION 0x0000 +#define OMAP24XX_GPIO_SYSCONFIG 0x0010 #define OMAP24XX_GPIO_IRQSTATUS1 0x0018 #define OMAP24XX_GPIO_IRQSTATUS2 0x0028 #define OMAP24XX_GPIO_IRQENABLE2 0x002c @@ -108,6 +109,7 @@ #define OMAP24XX_GPIO_SETDATAOUT 0x0094 #define OMAP4_GPIO_REVISION 0x0000 +#define OMAP4_GPIO_SYSCONFIG 0x0010 #define OMAP4_GPIO_EOI 0x0020 #define OMAP4_GPIO_IRQSTATUSRAW0 0x0024 #define OMAP4_GPIO_IRQSTATUSRAW1 0x0028 @@ -148,6 +150,7 @@ #ifndef __ASSEMBLER__ struct omap_gpio_reg_offs { u16 revision; + u16 sysconfig; u16 direction; u16 datain; u16 dataout; --- linux-riscv-5.8-5.8.0.orig/include/linux/platform_data/ti-sysc.h +++ linux-riscv-5.8-5.8.0/include/linux/platform_data/ti-sysc.h @@ -50,6 +50,8 @@ s8 emufree_shift; }; +#define SYSC_QUIRK_GPMC_DEBUG BIT(26) +#define SYSC_MODULE_QUIRK_ENA_RESETDONE BIT(25) #define SYSC_MODULE_QUIRK_PRUSS BIT(24) #define SYSC_MODULE_QUIRK_DSS_RESET BIT(23) #define SYSC_MODULE_QUIRK_RTC_UNLOCK BIT(22) --- linux-riscv-5.8-5.8.0.orig/include/linux/pm.h +++ linux-riscv-5.8-5.8.0/include/linux/pm.h @@ -584,7 +584,7 @@ #endif #ifdef CONFIG_PM struct hrtimer suspend_timer; - unsigned long timer_expires; + u64 timer_expires; struct work_struct work; wait_queue_head_t wait_queue; struct wake_irq *wakeirq; --- linux-riscv-5.8-5.8.0.orig/include/linux/pm_runtime.h +++ linux-riscv-5.8-5.8.0/include/linux/pm_runtime.h @@ -54,11 +54,10 @@ extern void pm_runtime_update_max_time_suspended(struct device *dev, s64 delta_ns); extern void pm_runtime_set_memalloc_noio(struct device *dev, bool enable); -extern void pm_runtime_clean_up_links(struct device *dev); extern void pm_runtime_get_suppliers(struct device *dev); extern void pm_runtime_put_suppliers(struct device *dev); extern void pm_runtime_new_link(struct device *dev); -extern void pm_runtime_drop_link(struct device *dev); +extern void pm_runtime_drop_link(struct device_link *link); static inline int pm_runtime_get_if_in_use(struct device *dev) { @@ -183,11 +182,10 @@ struct device *dev) { return 0; } static inline void pm_runtime_set_memalloc_noio(struct device *dev, bool enable){} -static inline void pm_runtime_clean_up_links(struct device *dev) {} static inline void pm_runtime_get_suppliers(struct device *dev) {} static inline void pm_runtime_put_suppliers(struct device *dev) {} static inline void pm_runtime_new_link(struct device *dev) {} -static inline void pm_runtime_drop_link(struct device *dev) {} +static inline void pm_runtime_drop_link(struct device_link *link) {} #endif /* !CONFIG_PM */ @@ -236,6 +234,27 @@ return __pm_runtime_resume(dev, RPM_GET_PUT); } +/** + * pm_runtime_resume_and_get - Bump up usage counter of a device and resume it. + * @dev: Target device. + * + * Resume @dev synchronously and if that is successful, increment its runtime + * PM usage counter. Return 0 if the runtime PM usage counter of @dev has been + * incremented or a negative error code otherwise. + */ +static inline int pm_runtime_resume_and_get(struct device *dev) +{ + int ret; + + ret = __pm_runtime_resume(dev, RPM_GET_PUT); + if (ret < 0) { + pm_runtime_put_noidle(dev); + return ret; + } + + return 0; +} + static inline int pm_runtime_put(struct device *dev) { return __pm_runtime_idle(dev, RPM_GET_PUT | RPM_ASYNC); --- linux-riscv-5.8-5.8.0.orig/include/linux/prandom.h +++ linux-riscv-5.8-5.8.0/include/linux/prandom.h @@ -0,0 +1,110 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * include/linux/prandom.h + * + * Include file for the fast pseudo-random 32-bit + * generation. + */ +#ifndef _LINUX_PRANDOM_H +#define _LINUX_PRANDOM_H + +#include +#include + +u32 prandom_u32(void); +void prandom_bytes(void *buf, size_t nbytes); +void prandom_seed(u32 seed); +void prandom_reseed_late(void); + +#if BITS_PER_LONG == 64 +/* + * The core SipHash round function. Each line can be executed in + * parallel given enough CPU resources. + */ +#define PRND_SIPROUND(v0, v1, v2, v3) ( \ + v0 += v1, v1 = rol64(v1, 13), v2 += v3, v3 = rol64(v3, 16), \ + v1 ^= v0, v0 = rol64(v0, 32), v3 ^= v2, \ + v0 += v3, v3 = rol64(v3, 21), v2 += v1, v1 = rol64(v1, 17), \ + v3 ^= v0, v1 ^= v2, v2 = rol64(v2, 32) \ +) + +#define PRND_K0 (0x736f6d6570736575 ^ 0x6c7967656e657261) +#define PRND_K1 (0x646f72616e646f6d ^ 0x7465646279746573) + +#elif BITS_PER_LONG == 32 +/* + * On 32-bit machines, we use HSipHash, a reduced-width version of SipHash. + * This is weaker, but 32-bit machines are not used for high-traffic + * applications, so there is less output for an attacker to analyze. + */ +#define PRND_SIPROUND(v0, v1, v2, v3) ( \ + v0 += v1, v1 = rol32(v1, 5), v2 += v3, v3 = rol32(v3, 8), \ + v1 ^= v0, v0 = rol32(v0, 16), v3 ^= v2, \ + v0 += v3, v3 = rol32(v3, 7), v2 += v1, v1 = rol32(v1, 13), \ + v3 ^= v0, v1 ^= v2, v2 = rol32(v2, 16) \ +) +#define PRND_K0 0x6c796765 +#define PRND_K1 0x74656462 + +#else +#error Unsupported BITS_PER_LONG +#endif + +struct rnd_state { + __u32 s1, s2, s3, s4; +}; + +u32 prandom_u32_state(struct rnd_state *state); +void prandom_bytes_state(struct rnd_state *state, void *buf, size_t nbytes); +void prandom_seed_full_state(struct rnd_state __percpu *pcpu_state); + +#define prandom_init_once(pcpu_state) \ + DO_ONCE(prandom_seed_full_state, (pcpu_state)) + +/** + * prandom_u32_max - returns a pseudo-random number in interval [0, ep_ro) + * @ep_ro: right open interval endpoint + * + * Returns a pseudo-random number that is in interval [0, ep_ro). Note + * that the result depends on PRNG being well distributed in [0, ~0U] + * u32 space. Here we use maximally equidistributed combined Tausworthe + * generator, that is, prandom_u32(). This is useful when requesting a + * random index of an array containing ep_ro elements, for example. + * + * Returns: pseudo-random number in interval [0, ep_ro) + */ +static inline u32 prandom_u32_max(u32 ep_ro) +{ + return (u32)(((u64) prandom_u32() * ep_ro) >> 32); +} + +/* + * Handle minimum values for seeds + */ +static inline u32 __seed(u32 x, u32 m) +{ + return (x < m) ? x + m : x; +} + +/** + * prandom_seed_state - set seed for prandom_u32_state(). + * @state: pointer to state structure to receive the seed. + * @seed: arbitrary 64-bit value to use as a seed. + */ +static inline void prandom_seed_state(struct rnd_state *state, u64 seed) +{ + u32 i = (seed >> 32) ^ (seed << 10) ^ seed; + + state->s1 = __seed(i, 2U); + state->s2 = __seed(i, 8U); + state->s3 = __seed(i, 16U); + state->s4 = __seed(i, 128U); +} + +/* Pseudo random number generator from numerical recipes. */ +static inline u32 next_pseudo_random32(u32 seed) +{ + return seed * 1664525 + 1013904223; +} + +#endif --- linux-riscv-5.8-5.8.0.orig/include/linux/prefetch.h +++ linux-riscv-5.8-5.8.0/include/linux/prefetch.h @@ -15,6 +15,7 @@ #include #include +struct page; /* prefetch(x) attempts to pre-emptively get the memory pointed to by address "x" into the CPU L1 cache. @@ -62,4 +63,11 @@ #endif } +static inline void prefetch_page_address(struct page *page) +{ +#if defined(WANT_PAGE_VIRTUAL) || defined(HASHED_PAGE_VIRTUAL) + prefetch(page); +#endif +} + #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/printk.h +++ linux-riscv-5.8-5.8.0/include/linux/printk.h @@ -296,6 +296,27 @@ #define pr_fmt(fmt) fmt #endif +#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT) + +/* generate magic string for scripts/kmsg-doc to parse */ +#define pr_printk_hash(level, format, ...) \ + __KMSG_PRINT(level _FMT_ format _ARGS_ __VA_ARGS__ _END_) + +#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT) + +/* format element '%pj' prints the six digit jhash of a string */ +#define _pr_printk_hash(pfx, fmt, ...) \ + printk(pfx fmt, pfx fmt + __builtin_strlen(pfx), ##__VA_ARGS__) +#define pr_printk_hash(level, format, ...) \ + _pr_printk_hash(level KMSG_COMPONENT ".%pj: ", format, ##__VA_ARGS__) + +#else /* !defined(CONFIG_KMSG_IDS) */ + +#define pr_printk_hash(level, format, ...) \ + printk(level pr_fmt(format), ##__VA_ARGS__) + +#endif + /** * pr_emerg - Print an emergency-level message * @fmt: format string @@ -305,7 +326,7 @@ * generate the format string. */ #define pr_emerg(fmt, ...) \ - printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_EMERG, fmt, ##__VA_ARGS__) /** * pr_alert - Print an alert-level message * @fmt: format string @@ -315,7 +336,7 @@ * generate the format string. */ #define pr_alert(fmt, ...) \ - printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_ALERT, fmt, ##__VA_ARGS__) /** * pr_crit - Print a critical-level message * @fmt: format string @@ -325,7 +346,7 @@ * generate the format string. */ #define pr_crit(fmt, ...) \ - printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_CRIT, fmt, ##__VA_ARGS__) /** * pr_err - Print an error-level message * @fmt: format string @@ -335,7 +356,7 @@ * generate the format string. */ #define pr_err(fmt, ...) \ - printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_ERR, fmt, ##__VA_ARGS__) /** * pr_warn - Print a warning-level message * @fmt: format string @@ -345,7 +366,7 @@ * to generate the format string. */ #define pr_warn(fmt, ...) \ - printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_WARNING, fmt, ##__VA_ARGS__) /** * pr_notice - Print a notice-level message * @fmt: format string @@ -355,7 +376,7 @@ * generate the format string. */ #define pr_notice(fmt, ...) \ - printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_NOTICE, fmt, ##__VA_ARGS__) /** * pr_info - Print an info-level message * @fmt: format string @@ -365,7 +386,7 @@ * generate the format string. */ #define pr_info(fmt, ...) \ - printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) + pr_printk_hash(KERN_INFO, fmt, ##__VA_ARGS__) /** * pr_cont - Continues a previous log message in the same line. --- linux-riscv-5.8-5.8.0.orig/include/linux/proc_fs.h +++ linux-riscv-5.8-5.8.0/include/linux/proc_fs.h @@ -79,6 +79,7 @@ extern struct proc_dir_entry *proc_symlink(const char *, struct proc_dir_entry *, const char *); +struct proc_dir_entry *_proc_mkdir(const char *, umode_t, struct proc_dir_entry *, void *, bool); extern struct proc_dir_entry *proc_mkdir(const char *, struct proc_dir_entry *); extern struct proc_dir_entry *proc_mkdir_data(const char *, umode_t, struct proc_dir_entry *, void *); @@ -160,6 +161,11 @@ static inline struct proc_dir_entry *proc_mkdir(const char *name, struct proc_dir_entry *parent) {return NULL;} static inline struct proc_dir_entry *proc_create_mount_point(const char *name) { return NULL; } +static inline struct proc_dir_entry *_proc_mkdir(const char *name, umode_t mode, + struct proc_dir_entry *parent, void *data, bool force_lookup) +{ + return NULL; +} static inline struct proc_dir_entry *proc_mkdir_data(const char *name, umode_t mode, struct proc_dir_entry *parent, void *data) { return NULL; } static inline struct proc_dir_entry *proc_mkdir_mode(const char *name, @@ -197,7 +203,7 @@ static inline struct proc_dir_entry *proc_net_mkdir( struct net *net, const char *name, struct proc_dir_entry *parent) { - return proc_mkdir_data(name, 0, parent, net); + return _proc_mkdir(name, 0, parent, net, true); } struct ns_common; --- linux-riscv-5.8-5.8.0.orig/include/linux/qcom-geni-se.h +++ linux-riscv-5.8-5.8.0/include/linux/qcom-geni-se.h @@ -229,6 +229,9 @@ #define GENI_SE_VERSION_MINOR(ver) ((ver & HW_VER_MINOR_MASK) >> HW_VER_MINOR_SHFT) #define GENI_SE_VERSION_STEP(ver) (ver & HW_VER_STEP_MASK) +/* QUP SE VERSION value for major number 2 and minor number 5 */ +#define QUP_SE_VERSION_2_5 0x20050000 + #if IS_ENABLED(CONFIG_QCOM_GENI_SE) u32 geni_se_get_qup_hw_version(struct geni_se *se); --- linux-riscv-5.8-5.8.0.orig/include/linux/qed/qed_if.h +++ linux-riscv-5.8-5.8.0/include/linux/qed/qed_if.h @@ -648,6 +648,7 @@ #define QED_MFW_VERSION_3_OFFSET 24 u32 flash_size; + bool b_arfs_capable; bool b_inter_pf_switch; bool tx_switching; bool rdma_supported; --- linux-riscv-5.8-5.8.0.orig/include/linux/radix-tree.h +++ linux-riscv-5.8-5.8.0/include/linux/radix-tree.h @@ -16,20 +16,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: @@ -254,7 +245,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-riscv-5.8-5.8.0.orig/include/linux/random.h +++ linux-riscv-5.8-5.8.0/include/linux/random.h @@ -11,7 +11,6 @@ #include #include #include -#include #include @@ -111,63 +110,12 @@ unsigned long randomize_page(unsigned long start, unsigned long range); -u32 prandom_u32(void); -void prandom_bytes(void *buf, size_t nbytes); -void prandom_seed(u32 seed); -void prandom_reseed_late(void); - -struct rnd_state { - __u32 s1, s2, s3, s4; -}; - -DECLARE_PER_CPU(struct rnd_state, net_rand_state); - -u32 prandom_u32_state(struct rnd_state *state); -void prandom_bytes_state(struct rnd_state *state, void *buf, size_t nbytes); -void prandom_seed_full_state(struct rnd_state __percpu *pcpu_state); - -#define prandom_init_once(pcpu_state) \ - DO_ONCE(prandom_seed_full_state, (pcpu_state)) - -/** - * prandom_u32_max - returns a pseudo-random number in interval [0, ep_ro) - * @ep_ro: right open interval endpoint - * - * Returns a pseudo-random number that is in interval [0, ep_ro). Note - * that the result depends on PRNG being well distributed in [0, ~0U] - * u32 space. Here we use maximally equidistributed combined Tausworthe - * generator, that is, prandom_u32(). This is useful when requesting a - * random index of an array containing ep_ro elements, for example. - * - * Returns: pseudo-random number in interval [0, ep_ro) - */ -static inline u32 prandom_u32_max(u32 ep_ro) -{ - return (u32)(((u64) prandom_u32() * ep_ro) >> 32); -} - /* - * Handle minimum values for seeds - */ -static inline u32 __seed(u32 x, u32 m) -{ - return (x < m) ? x + m : x; -} - -/** - * prandom_seed_state - set seed for prandom_u32_state(). - * @state: pointer to state structure to receive the seed. - * @seed: arbitrary 64-bit value to use as a seed. + * This is designed to be standalone for just prandom + * users, but for now we include it from + * for legacy reasons. */ -static inline void prandom_seed_state(struct rnd_state *state, u64 seed) -{ - u32 i = (seed >> 32) ^ (seed << 10) ^ seed; - - state->s1 = __seed(i, 2U); - state->s2 = __seed(i, 8U); - state->s3 = __seed(i, 16U); - state->s4 = __seed(i, 128U); -} +#include #ifdef CONFIG_ARCH_RANDOM # include @@ -210,10 +158,4 @@ } #endif -/* Pseudo random number generator from numerical recipes. */ -static inline u32 next_pseudo_random32(u32 seed) -{ - return seed * 1664525 + 1013904223; -} - #endif /* _LINUX_RANDOM_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/rcupdate.h +++ linux-riscv-5.8-5.8.0/include/linux/rcupdate.h @@ -97,8 +97,10 @@ #ifdef CONFIG_RCU_NOCB_CPU void rcu_init_nohz(void); +void rcu_nocb_flush_deferred_wakeup(void); #else /* #ifdef CONFIG_RCU_NOCB_CPU */ static inline void rcu_init_nohz(void) { } +static inline void rcu_nocb_flush_deferred_wakeup(void) { } #endif /* #else #ifdef CONFIG_RCU_NOCB_CPU */ /** --- linux-riscv-5.8-5.8.0.orig/include/linux/rcupdate_trace.h +++ linux-riscv-5.8-5.8.0/include/linux/rcupdate_trace.h @@ -50,6 +50,7 @@ struct task_struct *t = current; WRITE_ONCE(t->trc_reader_nesting, READ_ONCE(t->trc_reader_nesting) + 1); + barrier(); if (IS_ENABLED(CONFIG_TASKS_TRACE_RCU_READ_MB) && t->trc_reader_special.b.need_mb) smp_mb(); // Pairs with update-side barriers @@ -72,6 +73,9 @@ rcu_lock_release(&rcu_trace_lock_map); nesting = READ_ONCE(t->trc_reader_nesting) - 1; + barrier(); // Critical section before disabling. + // Disable IPI-based setting of .need_qs. + WRITE_ONCE(t->trc_reader_nesting, INT_MIN); if (likely(!READ_ONCE(t->trc_reader_special.s)) || nesting) { WRITE_ONCE(t->trc_reader_nesting, nesting); return; // We assume shallow reader nesting. --- linux-riscv-5.8-5.8.0.orig/include/linux/rmap.h +++ linux-riscv-5.8-5.8.0/include/linux/rmap.h @@ -91,7 +91,6 @@ TTU_SPLIT_HUGE_PMD = 0x4, /* split huge PMD if any */ TTU_IGNORE_MLOCK = 0x8, /* ignore mlock */ - TTU_IGNORE_ACCESS = 0x10, /* don't age */ TTU_IGNORE_HWPOISON = 0x20, /* corrupted page is recoverable */ TTU_BATCH_FLUSH = 0x40, /* Batch TLB flushes where possible * and caller guarantees they will @@ -214,7 +213,8 @@ static inline void page_vma_mapped_walk_done(struct page_vma_mapped_walk *pvmw) { - if (pvmw->pte) + /* HugeTLB pte is set to the relevant page table entry without pte_mapped. */ + if (pvmw->pte && !PageHuge(pvmw->page)) pte_unmap(pvmw->pte); if (pvmw->ptl) spin_unlock(pvmw->ptl); --- linux-riscv-5.8-5.8.0.orig/include/linux/rwsem.h +++ linux-riscv-5.8-5.8.0/include/linux/rwsem.h @@ -123,6 +123,7 @@ * lock for reading */ extern void down_read(struct rw_semaphore *sem); +extern int __must_check down_read_interruptible(struct rw_semaphore *sem); extern int __must_check down_read_killable(struct rw_semaphore *sem); /* @@ -171,6 +172,7 @@ * See Documentation/locking/lockdep-design.rst for more details.) */ extern void down_read_nested(struct rw_semaphore *sem, int subclass); +extern int __must_check down_read_killable_nested(struct rw_semaphore *sem, int subclass); extern void down_write_nested(struct rw_semaphore *sem, int subclass); extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass); extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock); @@ -191,6 +193,7 @@ extern void up_read_non_owner(struct rw_semaphore *sem); #else # define down_read_nested(sem, subclass) down_read(sem) +# define down_read_killable_nested(sem, subclass) down_read_killable(sem) # define down_write_nest_lock(sem, nest_lock) down_write(sem) # define down_write_nested(sem, subclass) down_write(sem) # define down_write_killable_nested(sem, subclass) down_write_killable(sem) --- linux-riscv-5.8-5.8.0.orig/include/linux/sched.h +++ linux-riscv-5.8-5.8.0/include/linux/sched.h @@ -61,6 +61,7 @@ struct signal_struct; struct task_delay_info; struct task_group; +struct io_uring_task; /* * Task state bitmask. NOTE! These bits are also @@ -761,7 +762,6 @@ unsigned sched_reset_on_fork:1; unsigned sched_contributes_to_load:1; unsigned sched_migrated:1; - unsigned sched_remote_wakeup:1; #ifdef CONFIG_PSI unsigned sched_psi_wake_requeue:1; #endif @@ -771,6 +771,21 @@ /* Unserialized, strictly 'current' */ + /* + * This field must not be in the scheduler word above due to wakelist + * queueing no longer being serialized by p->on_cpu. However: + * + * p->XXX = X; ttwu() + * schedule() if (p->on_rq && ..) // false + * smp_mb__after_spinlock(); if (smp_load_acquire(&p->on_cpu) && //true + * deactivate_task() ttwu_queue_wakelist()) + * p->on_rq = 0; p->sched_remote_wakeup = Y; + * + * guarantees all stores of 'current' are visible before + * ->sched_remote_wakeup gets used, so it can be in this word. + */ + unsigned sched_remote_wakeup:1; + /* Bit to tell LSMs we're in execve(): */ unsigned in_execve:1; unsigned in_iowait:1; @@ -923,6 +938,10 @@ /* Open file information: */ struct files_struct *files; +#ifdef CONFIG_IO_URING + struct io_uring_task *io_uring; +#endif + /* Namespaces: */ struct nsproxy *nsproxy; --- linux-riscv-5.8-5.8.0.orig/include/linux/sched/coredump.h +++ linux-riscv-5.8-5.8.0/include/linux/sched/coredump.h @@ -72,6 +72,7 @@ #define MMF_DISABLE_THP 24 /* disable THP for all VMAs */ #define MMF_OOM_VICTIM 25 /* mm is the oom victim */ #define MMF_OOM_REAP_QUEUED 26 /* mm was queued for oom_reaper */ +#define MMF_MULTIPROCESS 27 /* mm is shared between processes */ #define MMF_DISABLE_THP_MASK (1 << MMF_DISABLE_THP) #define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK |\ --- linux-riscv-5.8-5.8.0.orig/include/linux/sched/mm.h +++ linux-riscv-5.8-5.8.0/include/linux/sched/mm.h @@ -167,7 +167,8 @@ * another oom-unkillable task does this it should blame itself. */ rcu_read_lock(); - ret = tsk->vfork_done && tsk->real_parent->mm == tsk->mm; + ret = tsk->vfork_done && + rcu_dereference(tsk->real_parent)->mm == tsk->mm; rcu_read_unlock(); return ret; --- linux-riscv-5.8-5.8.0.orig/include/linux/sched/signal.h +++ linux-riscv-5.8-5.8.0/include/linux/sched/signal.h @@ -228,12 +228,13 @@ * credential calculations * (notably. ptrace) * Deprecated do not use in new code. - * Use exec_update_mutex instead. - */ - struct mutex exec_update_mutex; /* Held while task_struct is being - * updated during exec, and may have - * inconsistent permissions. + * Use exec_update_lock instead. */ + struct rw_semaphore exec_update_lock; /* Held while task_struct is + * being updated during exec, + * and may have inconsistent + * permissions. + */ } __randomize_layout; /* --- linux-riscv-5.8-5.8.0.orig/include/linux/sched/user.h +++ linux-riscv-5.8-5.8.0/include/linux/sched/user.h @@ -36,6 +36,9 @@ defined(CONFIG_NET) || defined(CONFIG_IO_URING) atomic_long_t locked_vm; #endif +#ifdef CONFIG_WATCH_QUEUE + atomic_t nr_watches; /* The number of watches this user currently has */ +#endif /* Miscellaneous per-user rate limit */ struct ratelimit_state ratelimit; --- linux-riscv-5.8-5.8.0.orig/include/linux/security.h +++ linux-riscv-5.8-5.8.0/include/linux/security.h @@ -131,6 +131,130 @@ 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 */ +}; + +/** + * lsmcontext_init - initialize an lsmcontext structure. + * @cp: Pointer to the context to initialize + * @context: Initial context, or NULL + * @size: Size of context, or 0 + * @slot: Which LSM provided the context + * + * Fill in the lsmcontext from the provided information. + * This is a scaffolding function that will be removed when + * lsmcontext integration is complete. + */ +static inline void lsmcontext_init(struct lsmcontext *cp, char *context, + u32 size, int slot) +{ + cp->slot = slot; + cp->context = context; + cp->len = size; +} + +/* + * 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 "display" slot */ +#define LSMBLOB_FIRST -5 /* Use the default "display" slot */ + +/** + * lsmblob_init - initialize an 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 an 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) +{ + 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(struct lsmblob *bloba, struct lsmblob *blobb) +{ + return !memcmp(bloba, blobb, sizeof(*bloba)); +} + +/** + * 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; +} + +const char *security_lsm_slot_name(int slot); + +static inline bool lsm_multiple_contexts(void) +{ +#ifdef CONFIG_SECURITY + return security_lsm_slot_name(1) != NULL; +#else + return false; +#endif +} + /* These functions are in security/commoncap.c */ extern int cap_capable(const struct cred *cred, struct user_namespace *ns, int cap, unsigned int opts); @@ -355,7 +479,7 @@ int security_inode_getsecurity(struct inode *inode, const char *name, 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, @@ -382,8 +506,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); @@ -397,7 +521,7 @@ 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_task_getsecid(struct task_struct *p, u32 *secid); +void security_task_getsecid(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); @@ -414,7 +538,7 @@ unsigned long arg4, unsigned long arg5); void security_task_to_inode(struct task_struct *p, struct inode *inode); 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); @@ -443,14 +567,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 display); +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) @@ -864,7 +991,7 @@ static inline int security_inode_getsecurity(struct inode *inode, const char *name, void **buffer, bool alloc) { - return -EOPNOTSUPP; + return cap_inode_getsecurity(inode, name, buffer, alloc); } static inline int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags) @@ -877,9 +1004,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) @@ -997,7 +1125,8 @@ { } -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; } @@ -1060,9 +1189,10 @@ return 0; } -static inline void security_task_getsecid(struct task_struct *p, u32 *secid) +static inline void security_task_getsecid(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) @@ -1133,9 +1263,10 @@ 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) @@ -1255,19 +1386,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 display) { 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) { } @@ -1283,7 +1415,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; } @@ -1291,6 +1424,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) @@ -1338,7 +1475,8 @@ int security_sock_rcv_skb(struct sock *sk, struct sk_buff *skb); int security_socket_getpeersec_stream(struct socket *sock, char __user *optval, int __user *optlen, unsigned len); -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, + struct lsmblob *blob); int security_sk_alloc(struct sock *sk, int family, gfp_t priority); void security_sk_free(struct sock *sk); void security_sk_clone(const struct sock *sk, struct sock *newsk); @@ -1351,7 +1489,7 @@ const struct request_sock *req); void security_inet_conn_established(struct sock *sk, struct sk_buff *skb); -int security_secmark_relabel_packet(u32 secid); +int security_secmark_relabel_packet(struct lsmblob *blob); void security_secmark_refcount_inc(void); void security_secmark_refcount_dec(void); int security_tun_dev_alloc_security(void **security); @@ -1476,7 +1614,9 @@ return -ENOPROTOOPT; } -static inline int security_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *skb, u32 *secid) +static inline int security_socket_getpeersec_dgram(struct socket *sock, + struct sk_buff *skb, + struct lsmblob *blob) { return -ENOPROTOOPT; } @@ -1522,7 +1662,7 @@ { } -static inline int security_secmark_relabel_packet(u32 secid) +static inline int security_secmark_relabel_packet(struct lsmblob *blob) { return 0; } @@ -1820,8 +1960,9 @@ #ifdef CONFIG_SECURITY int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule); 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, + void **lsmrule); +void security_audit_rule_free(void **lsmrule); #else @@ -1836,13 +1977,13 @@ 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, void **lsmrule) { return 0; } -static inline void security_audit_rule_free(void *lsmrule) +static inline void security_audit_rule_free(void **lsmrule) { } #endif /* CONFIG_SECURITY */ --- linux-riscv-5.8-5.8.0.orig/include/linux/seq_buf.h +++ linux-riscv-5.8-5.8.0/include/linux/seq_buf.h @@ -30,7 +30,7 @@ } static inline void -seq_buf_init(struct seq_buf *s, unsigned char *buf, unsigned int size) +seq_buf_init(struct seq_buf *s, char *buf, unsigned int size) { s->buffer = buf; s->size = size; --- linux-riscv-5.8-5.8.0.orig/include/linux/seq_file.h +++ linux-riscv-5.8-5.8.0/include/linux/seq_file.h @@ -107,6 +107,7 @@ char *mangle_path(char *s, const char *p, const char *esc); int seq_open(struct file *, const struct seq_operations *); ssize_t seq_read(struct file *, char __user *, size_t, loff_t *); +ssize_t seq_read_iter(struct kiocb *iocb, struct iov_iter *iter); loff_t seq_lseek(struct file *, loff_t, int); int seq_release(struct inode *, struct file *); int seq_write(struct seq_file *seq, const void *data, size_t len); --- linux-riscv-5.8-5.8.0.orig/include/linux/serial_core.h +++ linux-riscv-5.8-5.8.0/include/linux/serial_core.h @@ -248,6 +248,7 @@ unsigned char hub6; /* this should be in the 8250 driver */ unsigned char suspended; + unsigned char console_reinit; const char *name; /* port name */ struct attribute_group *attr_group; /* port specific attributes */ const struct attribute_group **tty_groups; /* all attributes (serial core use only) */ --- linux-riscv-5.8-5.8.0.orig/include/linux/shmem_fs.h +++ linux-riscv-5.8-5.8.0/include/linux/shmem_fs.h @@ -27,10 +27,13 @@ }; struct shmem_sb_info { + struct mutex idr_lock; + bool idr_nouse; + struct idr idr; /* manages inode-number */ unsigned long max_blocks; /* How many blocks are allowed */ struct percpu_counter used_blocks; /* How many are allocated */ - unsigned long max_inodes; /* How many inodes are allowed */ - unsigned long free_inodes; /* How many are left for allocation */ + int max_inodes; /* How many inodes are allowed */ + int free_inodes; /* How many are left for allocation */ spinlock_t stat_lock; /* Serialize shmem_sb_info changes */ umode_t mode; /* Mount mode for root directory */ unsigned char huge; /* Whether to try for hugepages */ --- linux-riscv-5.8-5.8.0.orig/include/linux/skbuff.h +++ linux-riscv-5.8-5.8.0/include/linux/skbuff.h @@ -3208,8 +3208,9 @@ * is untouched. Otherwise it is extended. Returns zero on * success. The skb is freed on error if @free_on_error is true. */ -static inline int __skb_put_padto(struct sk_buff *skb, unsigned int len, - bool free_on_error) +static inline int __must_check __skb_put_padto(struct sk_buff *skb, + unsigned int len, + bool free_on_error) { unsigned int size = skb->len; @@ -3232,7 +3233,7 @@ * is untouched. Otherwise it is extended. Returns zero on * success. The skb is freed on error. */ -static inline int skb_put_padto(struct sk_buff *skb, unsigned int len) +static inline int __must_check skb_put_padto(struct sk_buff *skb, unsigned int len) { return __skb_put_padto(skb, len, true); } --- linux-riscv-5.8-5.8.0.orig/include/linux/skmsg.h +++ linux-riscv-5.8-5.8.0/include/linux/skmsg.h @@ -364,8 +364,13 @@ static inline void sk_psock_restore_proto(struct sock *sk, struct sk_psock *psock) { - sk->sk_prot->unhash = psock->saved_unhash; if (inet_csk_has_ulp(sk)) { + /* TLS does not have an unhash proto in SW cases, but we need + * to ensure we stop using the sock_map unhash routine because + * the associated psock is being removed. So use the original + * unhash handler. + */ + WRITE_ONCE(sk->sk_prot->unhash, psock->saved_unhash); tcp_update_ulp(sk, psock->sk_proto, psock->saved_write_space); } else { sk->sk_write_space = psock->saved_write_space; --- linux-riscv-5.8-5.8.0.orig/include/linux/soc/mediatek/mtk-cmdq.h +++ linux-riscv-5.8-5.8.0/include/linux/soc/mediatek/mtk-cmdq.h @@ -105,11 +105,12 @@ /** * cmdq_pkt_wfe() - append wait for event command to the CMDQ packet * @pkt: the CMDQ packet - * @event: the desired event type to "wait and CLEAR" + * @event: the desired event type to wait + * @clear: clear event or not after event arrive * * Return: 0 for success; else the error code is returned */ -int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event); +int cmdq_pkt_wfe(struct cmdq_pkt *pkt, u16 event, bool clear); /** * cmdq_pkt_clear_event() - append clear event command to the CMDQ packet --- linux-riscv-5.8-5.8.0.orig/include/linux/soundwire/sdw.h +++ linux-riscv-5.8-5.8.0/include/linux/soundwire/sdw.h @@ -964,6 +964,8 @@ int sdw_read(struct sdw_slave *slave, u32 addr); int sdw_write(struct sdw_slave *slave, u32 addr, u8 value); +int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value); +int sdw_read_no_pm(struct sdw_slave *slave, u32 addr); int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val); int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, u8 *val); --- linux-riscv-5.8-5.8.0.orig/include/linux/spi/spi.h +++ linux-riscv-5.8-5.8.0/include/linux/spi/spi.h @@ -728,6 +728,25 @@ return __spi_alloc_controller(host, size, true); } +struct spi_controller *__devm_spi_alloc_controller(struct device *dev, + unsigned int size, + bool slave); + +static inline struct spi_controller *devm_spi_alloc_master(struct device *dev, + unsigned int size) +{ + return __devm_spi_alloc_controller(dev, size, false); +} + +static inline struct spi_controller *devm_spi_alloc_slave(struct device *dev, + unsigned int size) +{ + if (!IS_ENABLED(CONFIG_SPI_SLAVE)) + return NULL; + + return __devm_spi_alloc_controller(dev, size, true); +} + extern int spi_register_controller(struct spi_controller *ctlr); extern int devm_spi_register_controller(struct device *dev, struct spi_controller *ctlr); --- linux-riscv-5.8-5.8.0.orig/include/linux/splice.h +++ linux-riscv-5.8-5.8.0/include/linux/splice.h @@ -93,4 +93,10 @@ extern const struct pipe_buf_operations page_cache_pipe_buf_ops; extern const struct pipe_buf_operations default_pipe_buf_ops; + +extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + loff_t *ppos, size_t len, unsigned int flags); +extern long do_splice_to(struct file *in, loff_t *ppos, + struct pipe_inode_info *pipe, size_t len, + unsigned int flags); #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/stmmac.h +++ linux-riscv-5.8-5.8.0/include/linux/stmmac.h @@ -170,6 +170,7 @@ int unicast_filter_entries; int tx_fifo_size; int rx_fifo_size; + u32 addr64; u32 rx_queues_to_use; u32 tx_queues_to_use; u8 rx_sched_algorithm; --- linux-riscv-5.8-5.8.0.orig/include/linux/stop_machine.h +++ linux-riscv-5.8-5.8.0/include/linux/stop_machine.h @@ -123,7 +123,7 @@ const struct cpumask *cpus); #else /* CONFIG_SMP || CONFIG_HOTPLUG_CPU */ -static inline int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, +static __always_inline int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus) { unsigned long flags; @@ -134,14 +134,15 @@ return ret; } -static inline int stop_machine(cpu_stop_fn_t fn, void *data, - const struct cpumask *cpus) +static __always_inline int +stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus) { return stop_machine_cpuslocked(fn, data, cpus); } -static inline int stop_machine_from_inactive_cpu(cpu_stop_fn_t fn, void *data, - const struct cpumask *cpus) +static __always_inline int +stop_machine_from_inactive_cpu(cpu_stop_fn_t fn, void *data, + const struct cpumask *cpus) { return stop_machine(fn, data, cpus); } --- linux-riscv-5.8-5.8.0.orig/include/linux/string.h +++ linux-riscv-5.8-5.8.0/include/linux/string.h @@ -161,20 +161,13 @@ #ifndef __HAVE_ARCH_MEMCHR extern void * memchr(const void *,int,__kernel_size_t); #endif -#ifndef __HAVE_ARCH_MEMCPY_MCSAFE -static inline __must_check unsigned long memcpy_mcsafe(void *dst, - const void *src, size_t cnt) -{ - memcpy(dst, src, cnt); - return 0; -} -#endif #ifndef __HAVE_ARCH_MEMCPY_FLUSHCACHE static inline void memcpy_flushcache(void *dst, const void *src, size_t cnt) { memcpy(dst, src, cnt); } #endif + void *memchr_inv(const void *s, int c, size_t n); char *strreplace(char *s, char old, char new); --- linux-riscv-5.8-5.8.0.orig/include/linux/sunrpc/xdr.h +++ linux-riscv-5.8-5.8.0/include/linux/sunrpc/xdr.h @@ -25,8 +25,7 @@ #define XDR_QUADLEN(l) (((l) + 3) >> 2) /* - * Generic opaque `network object.' At the kernel level, this type - * is used only by lockd. + * Generic opaque `network object.' */ #define XDR_MAX_NETOBJ 1024 struct xdr_netobj { --- linux-riscv-5.8-5.8.0.orig/include/linux/sunrpc/xprt.h +++ linux-riscv-5.8-5.8.0/include/linux/sunrpc/xprt.h @@ -329,6 +329,7 @@ struct rpc_xprt * (*setup)(struct xprt_create *); struct module *owner; char name[32]; + const char * netid[]; }; /* --- linux-riscv-5.8-5.8.0.orig/include/linux/swap.h +++ linux-riscv-5.8-5.8.0/include/linux/swap.h @@ -480,6 +480,7 @@ extern int init_swap_address_space(unsigned int type, unsigned long nr_pages); extern void exit_swap_address_space(unsigned int type); extern struct swap_info_struct *get_swap_device(swp_entry_t entry); +sector_t swap_page_sector(struct page *page); static inline void put_swap_device(struct swap_info_struct *si) { --- linux-riscv-5.8-5.8.0.orig/include/linux/swiotlb.h +++ linux-riscv-5.8-5.8.0/include/linux/swiotlb.h @@ -5,6 +5,7 @@ #include #include #include +#include struct device; struct page; @@ -28,6 +29,7 @@ * controllable. */ #define IO_TLB_SHIFT 11 +#define IO_TLB_SIZE (1 << IO_TLB_SHIFT) extern void swiotlb_init(int verbose); int swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); --- linux-riscv-5.8-5.8.0.orig/include/linux/syscalls.h +++ linux-riscv-5.8-5.8.0/include/linux/syscalls.h @@ -252,6 +252,30 @@ static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) #endif /* __SYSCALL_DEFINEx */ +/* For split 64-bit arguments on 32-bit architectures */ +#ifdef __LITTLE_ENDIAN +#define SC_ARG64(name) u32, name##_lo, u32, name##_hi +#else +#define SC_ARG64(name) u32, name##_hi, u32, name##_lo +#endif +#define SC_VAL64(type, name) ((type) name##_hi << 32 | name##_lo) + +#ifdef CONFIG_COMPAT +#define SYSCALL32_DEFINE1 COMPAT_SYSCALL_DEFINE1 +#define SYSCALL32_DEFINE2 COMPAT_SYSCALL_DEFINE2 +#define SYSCALL32_DEFINE3 COMPAT_SYSCALL_DEFINE3 +#define SYSCALL32_DEFINE4 COMPAT_SYSCALL_DEFINE4 +#define SYSCALL32_DEFINE5 COMPAT_SYSCALL_DEFINE5 +#define SYSCALL32_DEFINE6 COMPAT_SYSCALL_DEFINE6 +#else +#define SYSCALL32_DEFINE1 SYSCALL_DEFINE1 +#define SYSCALL32_DEFINE2 SYSCALL_DEFINE2 +#define SYSCALL32_DEFINE3 SYSCALL_DEFINE3 +#define SYSCALL32_DEFINE4 SYSCALL_DEFINE4 +#define SYSCALL32_DEFINE5 SYSCALL_DEFINE5 +#define SYSCALL32_DEFINE6 SYSCALL_DEFINE6 +#endif + /* * Called before coming back to user-mode. Returning to user-mode with an * address limit different than USER_DS can allow to overwrite kernel memory. --- linux-riscv-5.8-5.8.0.orig/include/linux/sysfs.h +++ linux-riscv-5.8-5.8.0/include/linux/sysfs.h @@ -322,6 +322,10 @@ int sysfs_group_change_owner(struct kobject *kobj, const struct attribute_group *groups, kuid_t kuid, kgid_t kgid); +__printf(2, 3) +int sysfs_emit(char *buf, const char *fmt, ...); +__printf(3, 4) +int sysfs_emit_at(char *buf, int at, const char *fmt, ...); #else /* CONFIG_SYSFS */ @@ -569,6 +573,17 @@ return 0; } +__printf(2, 3) +static inline int sysfs_emit(char *buf, const char *fmt, ...) +{ + return 0; +} + +__printf(3, 4) +static inline int sysfs_emit_at(char *buf, int at, const char *fmt, ...) +{ + return 0; +} #endif /* CONFIG_SYSFS */ static inline int __must_check sysfs_create_file(struct kobject *kobj, --- linux-riscv-5.8-5.8.0.orig/include/linux/task_work.h +++ linux-riscv-5.8-5.8.0/include/linux/task_work.h @@ -13,9 +13,14 @@ twork->func = func; } -#define TWA_RESUME 1 -#define TWA_SIGNAL 2 -int task_work_add(struct task_struct *task, struct callback_head *twork, int); +enum task_work_notify_mode { + TWA_NONE, + TWA_RESUME, + TWA_SIGNAL, +}; + +int task_work_add(struct task_struct *task, struct callback_head *twork, + enum task_work_notify_mode mode); struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t); void task_work_run(void); --- linux-riscv-5.8-5.8.0.orig/include/linux/thermal.h +++ linux-riscv-5.8-5.8.0/include/linux/thermal.h @@ -92,6 +92,8 @@ enum thermal_trend *); int (*notify) (struct thermal_zone_device *, int, enum thermal_trip_type); + void (*hot)(struct thermal_zone_device *); + void (*critical)(struct thermal_zone_device *); }; struct thermal_cooling_device_ops { @@ -416,6 +418,7 @@ void thermal_cdev_update(struct thermal_cooling_device *); void thermal_notify_framework(struct thermal_zone_device *, int); +void thermal_zone_device_critical(struct thermal_zone_device *tz); #else static inline struct thermal_zone_device *thermal_zone_device_register( const char *type, int trips, int mask, void *devdata, --- linux-riscv-5.8-5.8.0.orig/include/linux/thread_info.h +++ linux-riscv-5.8-5.8.0/include/linux/thread_info.h @@ -11,6 +11,7 @@ #include #include #include +#include #ifdef CONFIG_THREAD_INFO_IN_TASK /* @@ -39,6 +40,18 @@ #ifdef __KERNEL__ +#ifndef arch_set_restart_data +#define arch_set_restart_data(restart) do { } while (0) +#endif + +static inline long set_restart_fn(struct restart_block *restart, + long (*fn)(struct restart_block *)) +{ + restart->fn = fn; + arch_set_restart_data(restart); + return -ERESTART_RESTARTBLOCK; +} + #ifndef THREAD_ALIGN #define THREAD_ALIGN THREAD_SIZE #endif --- linux-riscv-5.8-5.8.0.orig/include/linux/time64.h +++ linux-riscv-5.8-5.8.0/include/linux/time64.h @@ -124,6 +124,10 @@ */ static inline s64 timespec64_to_ns(const struct timespec64 *ts) { + /* Prevent multiplication overflow */ + if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX) + return KTIME_MAX; + return ((s64) ts->tv_sec * NSEC_PER_SEC) + ts->tv_nsec; } --- linux-riscv-5.8-5.8.0.orig/include/linux/tpm.h +++ linux-riscv-5.8-5.8.0/include/linux/tpm.h @@ -96,6 +96,7 @@ u8 *context_buf; u32 session_tbl[3]; u8 *session_buf; + u32 buf_size; }; struct tpm_bios_log { @@ -396,6 +397,10 @@ #if defined(CONFIG_TCG_TPM) || defined(CONFIG_TCG_TPM_MODULE) extern int tpm_is_tpm2(struct tpm_chip *chip); +extern __must_check int tpm_try_get_ops(struct tpm_chip *chip); +extern void tpm_put_ops(struct tpm_chip *chip); +extern ssize_t tpm_transmit_cmd(struct tpm_chip *chip, struct tpm_buf *buf, + size_t min_rsp_body_length, const char *desc); extern int tpm_pcr_read(struct tpm_chip *chip, u32 pcr_idx, struct tpm_digest *digest); extern int tpm_pcr_extend(struct tpm_chip *chip, u32 pcr_idx, @@ -409,7 +414,6 @@ { return -ENODEV; } - static inline int tpm_pcr_read(struct tpm_chip *chip, int pcr_idx, struct tpm_digest *digest) { --- linux-riscv-5.8-5.8.0.orig/include/linux/tpm_eventlog.h +++ linux-riscv-5.8-5.8.0/include/linux/tpm_eventlog.h @@ -211,9 +211,16 @@ efispecid = (struct tcg_efi_specid_event_head *)event_header->event; - /* Check if event is malformed. */ + /* + * Perform validation of the event in order to identify malformed + * events. This function may be asked to parse arbitrary byte sequences + * immediately following a valid event log. The caller expects this + * function to recognize that the byte sequence is not a valid event + * and to return an event size of 0. + */ if (memcmp(efispecid->signature, TCG_SPECID_SIG, - sizeof(TCG_SPECID_SIG)) || count > efispecid->num_algs) { + sizeof(TCG_SPECID_SIG)) || + !efispecid->num_algs || count != efispecid->num_algs) { size = 0; goto out; } --- linux-riscv-5.8-5.8.0.orig/include/linux/trace_seq.h +++ linux-riscv-5.8-5.8.0/include/linux/trace_seq.h @@ -12,7 +12,7 @@ */ struct trace_seq { - unsigned char buffer[PAGE_SIZE]; + char buffer[PAGE_SIZE]; struct seq_buf seq; int full; }; @@ -51,7 +51,7 @@ * that is about to be written to and then return the result * of that write. */ -static inline unsigned char * +static inline char * trace_seq_buffer_ptr(struct trace_seq *s) { return s->buffer + seq_buf_used(&s->seq); --- linux-riscv-5.8-5.8.0.orig/include/linux/tracepoint.h +++ linux-riscv-5.8-5.8.0/include/linux/tracepoint.h @@ -361,7 +361,7 @@ static const char *___tp_str __tracepoint_string = str; \ ___tp_str; \ }) -#define __tracepoint_string __attribute__((section("__tracepoint_str"))) +#define __tracepoint_string __attribute__((section("__tracepoint_str"), used)) #else /* * tracepoint_string() is used to save the string address for userspace --- linux-riscv-5.8-5.8.0.orig/include/linux/tty.h +++ linux-riscv-5.8-5.8.0/include/linux/tty.h @@ -306,6 +306,10 @@ struct termiox *termiox; /* May be NULL for unsupported */ char name[64]; struct pid *pgrp; /* Protected by ctrl lock */ + /* + * Writes protected by both ctrl lock and legacy mutex, readers must use + * at least one of them. + */ struct pid *session; unsigned long flags; int count; @@ -418,6 +422,7 @@ extern int tty_dev_name_to_number(const char *name, dev_t *number); extern int tty_ldisc_lock(struct tty_struct *tty, unsigned long timeout); extern void tty_ldisc_unlock(struct tty_struct *tty); +extern ssize_t redirected_tty_write(struct kiocb *, struct iov_iter *); #else static inline void tty_kref_put(struct tty_struct *tty) { } --- linux-riscv-5.8-5.8.0.orig/include/linux/u64_stats_sync.h +++ linux-riscv-5.8-5.8.0/include/linux/u64_stats_sync.h @@ -115,12 +115,13 @@ } #endif +#if BITS_PER_LONG == 32 && defined(CONFIG_SMP) +#define u64_stats_init(syncp) seqcount_init(&(syncp)->seq) +#else static inline void u64_stats_init(struct u64_stats_sync *syncp) { -#if BITS_PER_LONG == 32 && defined(CONFIG_SMP) - seqcount_init(&syncp->seq); -#endif } +#endif static inline void u64_stats_update_begin(struct u64_stats_sync *syncp) { --- linux-riscv-5.8-5.8.0.orig/include/linux/uaccess.h +++ linux-riscv-5.8-5.8.0/include/linux/uaccess.h @@ -163,6 +163,19 @@ } #endif +#ifndef copy_mc_to_kernel +/* + * Without arch opt-in this generic copy_mc_to_kernel() will not handle + * #MC (or arch equivalent) during source read. + */ +static inline unsigned long __must_check +copy_mc_to_kernel(void *dst, const void *src, size_t cnt) +{ + memcpy(dst, src, cnt); + return 0; +} +#endif + static __always_inline void pagefault_disabled_inc(void) { current->pagefault_disabled++; --- linux-riscv-5.8-5.8.0.orig/include/linux/uio.h +++ linux-riscv-5.8-5.8.0/include/linux/uio.h @@ -186,10 +186,10 @@ #define _copy_from_iter_flushcache _copy_from_iter_nocache #endif -#ifdef CONFIG_ARCH_HAS_UACCESS_MCSAFE -size_t _copy_to_iter_mcsafe(const void *addr, size_t bytes, struct iov_iter *i); +#ifdef CONFIG_ARCH_HAS_COPY_MC +size_t _copy_mc_to_iter(const void *addr, size_t bytes, struct iov_iter *i); #else -#define _copy_to_iter_mcsafe _copy_to_iter +#define _copy_mc_to_iter _copy_to_iter #endif static __always_inline __must_check @@ -202,12 +202,12 @@ } static __always_inline __must_check -size_t copy_to_iter_mcsafe(void *addr, size_t bytes, struct iov_iter *i) +size_t copy_mc_to_iter(void *addr, size_t bytes, struct iov_iter *i) { if (unlikely(!check_copy_size(addr, bytes, true))) return 0; else - return _copy_to_iter_mcsafe(addr, bytes, i); + return _copy_mc_to_iter(addr, bytes, i); } size_t iov_iter_zero(size_t bytes, struct iov_iter *); @@ -261,7 +261,13 @@ { i->count = count; } -size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *csump, struct iov_iter *i); + +struct csum_state { + __wsum csum; + size_t off; +}; + +size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *csstate, struct iov_iter *i); size_t csum_and_copy_from_iter(void *addr, size_t bytes, __wsum *csum, struct iov_iter *i); bool csum_and_copy_from_iter_full(void *addr, size_t bytes, __wsum *csum, struct iov_iter *i); size_t hash_and_copy_to_iter(const void *addr, size_t bytes, void *hashp, --- linux-riscv-5.8-5.8.0.orig/include/linux/usb.h +++ linux-riscv-5.8-5.8.0/include/linux/usb.h @@ -746,6 +746,8 @@ extern int usb_reset_device(struct usb_device *dev); extern void usb_queue_reset_device(struct usb_interface *dev); +extern struct device *usb_intf_get_dma_device(struct usb_interface *intf); + #ifdef CONFIG_ACPI extern int usb_acpi_set_power_state(struct usb_device *hdev, int index, bool enable); --- linux-riscv-5.8-5.8.0.orig/include/linux/usb/pd.h +++ linux-riscv-5.8-5.8.0/include/linux/usb/pd.h @@ -473,6 +473,7 @@ #define PD_T_ERROR_RECOVERY 100 /* minimum 25 is insufficient */ #define PD_T_SRCSWAPSTDBY 625 /* Maximum of 650ms */ #define PD_T_NEWSRC 250 /* Maximum of 275ms */ +#define PD_T_SWAP_SRC_START 20 /* Minimum of 20ms */ #define PD_T_DRP_TRY 100 /* 75 - 150 ms */ #define PD_T_DRP_TRYWAIT 600 /* 400 - 800 ms */ --- linux-riscv-5.8-5.8.0.orig/include/linux/usb_usual.h +++ linux-riscv-5.8-5.8.0/include/linux/usb_usual.h @@ -84,6 +84,10 @@ /* Cannot handle REPORT_LUNS */ \ US_FLAG(ALWAYS_SYNC, 0x20000000) \ /* lies about caching, so always sync */ \ + US_FLAG(NO_SAME, 0x40000000) \ + /* Cannot handle WRITE_SAME */ \ + US_FLAG(SENSE_AFTER_SYNC, 0x80000000) \ + /* Do REQUEST_SENSE after SYNCHRONIZE_CACHE */ \ #define US_FLAG(name, value) US_FL_##name = value , enum { US_DO_ALL_FLAGS }; --- linux-riscv-5.8-5.8.0.orig/include/linux/user_namespace.h +++ linux-riscv-5.8-5.8.0/include/linux/user_namespace.h @@ -64,6 +64,9 @@ kgid_t group; struct ns_common ns; unsigned long flags; + /* parent_could_setfcap: true if the creator if this ns had CAP_SETFCAP + * in its effective capability set at the child ns creation time. */ + bool parent_could_setfcap; #ifdef CONFIG_KEYS /* List of joinable keyrings in this namespace. Modification access of @@ -137,6 +140,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-riscv-5.8-5.8.0.orig/include/linux/virtio_net.h +++ linux-riscv-5.8-5.8.0/include/linux/virtio_net.h @@ -62,6 +62,8 @@ return -EINVAL; } + skb_reset_mac_header(skb); + if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) { u16 start = __virtio16_to_cpu(little_endian, hdr->csum_start); u16 off = __virtio16_to_cpu(little_endian, hdr->csum_offset); @@ -79,8 +81,13 @@ if (gso_type && skb->network_header) { struct flow_keys_basic keys; - if (!skb->protocol) + if (!skb->protocol) { + __be16 protocol = dev_parse_header_protocol(skb); + virtio_net_hdr_set_proto(skb, hdr); + if (protocol && protocol != skb->protocol) + return -EINVAL; + } retry: if (!skb_flow_dissect_flow_keys_basic(NULL, skb, &keys, NULL, 0, 0, 0, --- linux-riscv-5.8-5.8.0.orig/include/linux/vt_kern.h +++ linux-riscv-5.8-5.8.0/include/linux/vt_kern.h @@ -131,7 +131,7 @@ void vt_event_post(unsigned int event, unsigned int old, unsigned int new); int vt_waitactive(int n); void change_console(struct vc_data *new_vc); -void reset_vc(struct vc_data *vc); +void reset_vc(struct vc_data *vc, int mode); int do_unbind_con_driver(const struct consw *csw, int first, int last, int deflt); int vty_init(const struct file_operations *console_fops); --- linux-riscv-5.8-5.8.0.orig/include/linux/watch_queue.h +++ linux-riscv-5.8-5.8.0/include/linux/watch_queue.h @@ -122,6 +122,12 @@ */ #define watch_sizeof(STRUCT) (sizeof(STRUCT) << WATCH_INFO_LENGTH__SHIFT) +#else +static inline int watch_queue_init(struct pipe_inode_info *pipe) +{ + return -ENOPKG; +} + #endif #endif /* _LINUX_WATCH_QUEUE_H */ --- linux-riscv-5.8-5.8.0.orig/include/linux/ww_mutex.h +++ linux-riscv-5.8-5.8.0/include/linux/ww_mutex.h @@ -181,9 +181,10 @@ */ static inline void ww_acquire_fini(struct ww_acquire_ctx *ctx) { -#ifdef CONFIG_DEBUG_MUTEXES +#ifdef CONFIG_DEBUG_LOCK_ALLOC mutex_release(&ctx->dep_map, _THIS_IP_); - +#endif +#ifdef CONFIG_DEBUG_MUTEXES DEBUG_LOCKS_WARN_ON(ctx->acquired); if (!IS_ENABLED(CONFIG_PROVE_LOCKING)) /* --- linux-riscv-5.8-5.8.0.orig/include/linux/xattr.h +++ linux-riscv-5.8-5.8.0/include/linux/xattr.h @@ -52,8 +52,11 @@ ssize_t vfs_listxattr(struct dentry *d, char *list, size_t size); int __vfs_setxattr(struct dentry *, struct inode *, const char *, const void *, size_t, int); int __vfs_setxattr_noperm(struct dentry *, const char *, const void *, size_t, int); +int __vfs_setxattr_locked(struct dentry *, const char *, const void *, size_t, int, struct inode **); int vfs_setxattr(struct dentry *, const char *, const void *, size_t, int); int __vfs_removexattr(struct dentry *, const char *); +int __vfs_removexattr_noperm(struct dentry *dentry, const char *name); +int __vfs_removexattr_locked(struct dentry *, const char *, struct inode **); int vfs_removexattr(struct dentry *, const char *); ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size); --- linux-riscv-5.8-5.8.0.orig/include/linux/zsmalloc.h +++ linux-riscv-5.8-5.8.0/include/linux/zsmalloc.h @@ -20,7 +20,6 @@ * zsmalloc mapping modes * * NOTE: These only make a difference when a mapped object spans pages. - * They also have no effect when ZSMALLOC_PGTABLE_MAPPING is selected. */ enum zs_mapmode { ZS_MM_RW, /* normal read-write mapping */ @@ -36,7 +35,7 @@ struct zs_pool_stats { /* How many pages were migrated (freed) */ - unsigned long pages_compacted; + atomic_long_t pages_compacted; }; struct zs_pool; --- linux-riscv-5.8-5.8.0.orig/include/media/rc-map.h +++ linux-riscv-5.8-5.8.0/include/media/rc-map.h @@ -175,6 +175,13 @@ struct rc_map map; }; +#ifdef CONFIG_MEDIA_CEC_RC +/* + * rc_map_list from rc-cec.c + */ +extern struct rc_map_list cec_map; +#endif + /* Routines from rc-map.c */ /** --- linux-riscv-5.8-5.8.0.orig/include/media/v4l2-mediabus.h +++ linux-riscv-5.8-5.8.0/include/media/v4l2-mediabus.h @@ -78,6 +78,7 @@ * @V4L2_MBUS_CCP2: CCP2 (Compact Camera Port 2) * @V4L2_MBUS_CSI2_DPHY: MIPI CSI-2 serial interface, with D-PHY * @V4L2_MBUS_CSI2_CPHY: MIPI CSI-2 serial interface, with C-PHY + * @V4L2_MBUS_INVALID: invalid bus type (keep as last) */ enum v4l2_mbus_type { V4L2_MBUS_UNKNOWN, @@ -87,6 +88,7 @@ V4L2_MBUS_CCP2, V4L2_MBUS_CSI2_DPHY, V4L2_MBUS_CSI2_CPHY, + V4L2_MBUS_INVALID, }; /** --- linux-riscv-5.8-5.8.0.orig/include/net/act_api.h +++ linux-riscv-5.8-5.8.0/include/net/act_api.h @@ -166,8 +166,7 @@ struct nlattr *est, struct tc_action **a, const struct tc_action_ops *ops, int bind, u32 flags); -void tcf_idr_insert(struct tc_action_net *tn, struct tc_action *a); - +void tcf_idr_insert_many(struct tc_action *actions[]); void tcf_idr_cleanup(struct tc_action_net *tn, u32 index); int tcf_idr_check_alloc(struct tc_action_net *tn, u32 *index, struct tc_action **a, int bind); @@ -186,12 +185,12 @@ int nr_actions, struct tcf_result *res); int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla, struct nlattr *est, char *name, int ovr, int bind, - struct tc_action *actions[], size_t *attr_size, + struct tc_action *actions[], int init_res[], size_t *attr_size, bool rtnl_held, struct netlink_ext_ack *extack); struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, struct nlattr *nla, struct nlattr *est, char *name, int ovr, int bind, - bool rtnl_held, + int *init_res, bool rtnl_held, struct netlink_ext_ack *extack); int tcf_action_dump(struct sk_buff *skb, struct tc_action *actions[], int bind, int ref, bool terse); --- linux-riscv-5.8-5.8.0.orig/include/net/af_rxrpc.h +++ linux-riscv-5.8-5.8.0/include/net/af_rxrpc.h @@ -59,7 +59,7 @@ void rxrpc_kernel_end_call(struct socket *, struct rxrpc_call *); void rxrpc_kernel_get_peer(struct socket *, struct rxrpc_call *, struct sockaddr_rxrpc *); -u32 rxrpc_kernel_get_srtt(struct socket *, struct rxrpc_call *); +bool rxrpc_kernel_get_srtt(struct socket *, struct rxrpc_call *, u32 *); int rxrpc_kernel_charge_accept(struct socket *, rxrpc_notify_rx_t, rxrpc_user_attach_call_t, unsigned long, gfp_t, unsigned int); --- linux-riscv-5.8-5.8.0.orig/include/net/af_unix.h +++ linux-riscv-5.8-5.8.0/include/net/af_unix.h @@ -36,7 +36,7 @@ kgid_t gid; struct scm_fp_list *fp; /* Passed files */ #ifdef CONFIG_SECURITY_NETWORK - u32 secid; /* Security ID */ + struct lsmblob lsmblob; /* Security LSM data */ #endif u32 consumed; } __randomize_layout; --- linux-riscv-5.8-5.8.0.orig/include/net/bluetooth/bluetooth.h +++ linux-riscv-5.8-5.8.0/include/net/bluetooth/bluetooth.h @@ -41,6 +41,8 @@ #define BLUETOOTH_VER_1_1 1 #define BLUETOOTH_VER_1_2 2 #define BLUETOOTH_VER_2_0 3 +#define BLUETOOTH_VER_2_1 4 +#define BLUETOOTH_VER_4_0 6 /* Reserv for core and drivers use */ #define BT_SKB_RESERVE 8 --- linux-riscv-5.8-5.8.0.orig/include/net/bluetooth/hci.h +++ linux-riscv-5.8-5.8.0/include/net/bluetooth/hci.h @@ -227,6 +227,25 @@ * supported. */ HCI_QUIRK_VALID_LE_STATES, + + /* When this quirk is set, then erroneous data reporting + * is ignored. This is mainly due to the fact that the HCI + * Read Default Erroneous Data Reporting command is advertised, + * but not supported; these controllers often reply with unknown + * command and tend to lock up randomly. Needing a hard reset. + * + * This quirk can be set before hci_register_dev is called or + * during the hdev->setup vendor callback. + */ + HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, + + /* + * When this quirk is set, then the hci_suspend_notifier is not + * registered. This is intended for devices which drop completely + * from the bus on system-suspend and which will show up as a new + * HCI after resume. + */ + HCI_QUIRK_NO_SUSPEND_NOTIFIER, }; /* HCI device flags */ --- linux-riscv-5.8-5.8.0.orig/include/net/bluetooth/hci_core.h +++ linux-riscv-5.8-5.8.0/include/net/bluetooth/hci_core.h @@ -1387,7 +1387,7 @@ __u8 encrypt; if (conn->state == BT_CONFIG) { - if (status) + if (!status) conn->state = BT_CONNECTED; hci_connect_cfm(conn, status); @@ -1402,11 +1402,13 @@ else encrypt = 0x01; - if (conn->sec_level == BT_SECURITY_SDP) - conn->sec_level = BT_SECURITY_LOW; + if (!status) { + if (conn->sec_level == BT_SECURITY_SDP) + conn->sec_level = BT_SECURITY_LOW; - if (conn->pending_sec_level > conn->sec_level) - conn->sec_level = conn->pending_sec_level; + if (conn->pending_sec_level > conn->sec_level) + conn->sec_level = conn->pending_sec_level; + } mutex_lock(&hci_cb_list_lock); list_for_each_entry(cb, &hci_cb_list, list) { --- linux-riscv-5.8-5.8.0.orig/include/net/bluetooth/l2cap.h +++ linux-riscv-5.8-5.8.0/include/net/bluetooth/l2cap.h @@ -665,6 +665,8 @@ struct sk_buff *(*alloc_skb) (struct l2cap_chan *chan, unsigned long hdr_len, unsigned long len, int nb); + int (*filter) (struct l2cap_chan * chan, + struct sk_buff *skb); }; struct l2cap_conn { --- linux-riscv-5.8-5.8.0.orig/include/net/bonding.h +++ linux-riscv-5.8-5.8.0/include/net/bonding.h @@ -180,6 +180,11 @@ struct rtnl_link_stats64 slave_stats; }; +static inline struct slave *to_slave(struct kobject *kobj) +{ + return container_of(kobj, struct slave, kobj); +} + struct bond_up_slave { unsigned int count; struct rcu_head rcu; @@ -742,6 +747,9 @@ /* exported from bond_netlink.c */ extern struct rtnl_link_ops bond_link_ops; +/* exported from bond_sysfs_slave.c */ +extern const struct sysfs_ops slave_sysfs_ops; + static inline netdev_tx_t bond_tx_drop(struct net_device *dev, struct sk_buff *skb) { atomic_long_inc(&dev->tx_dropped); --- linux-riscv-5.8-5.8.0.orig/include/net/cfg80211.h +++ linux-riscv-5.8-5.8.0/include/net/cfg80211.h @@ -5486,7 +5486,7 @@ */ int ieee80211_data_to_8023_exthdr(struct sk_buff *skb, struct ethhdr *ehdr, const u8 *addr, enum nl80211_iftype iftype, - u8 data_offset); + u8 data_offset, bool is_amsdu); /** * ieee80211_data_to_8023 - convert an 802.11 data frame to 802.3 @@ -5498,7 +5498,7 @@ static inline int ieee80211_data_to_8023(struct sk_buff *skb, const u8 *addr, enum nl80211_iftype iftype) { - return ieee80211_data_to_8023_exthdr(skb, NULL, addr, iftype, 0); + return ieee80211_data_to_8023_exthdr(skb, NULL, addr, iftype, 0, false); } /** --- linux-riscv-5.8-5.8.0.orig/include/net/dst.h +++ linux-riscv-5.8-5.8.0/include/net/dst.h @@ -545,4 +545,15 @@ skb_dst_update_pmtu_no_confirm(skb, encap_mtu - headroom); } +struct dst_entry *dst_blackhole_check(struct dst_entry *dst, u32 cookie); +void dst_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, + struct sk_buff *skb, u32 mtu, bool confirm_neigh); +void dst_blackhole_redirect(struct dst_entry *dst, struct sock *sk, + struct sk_buff *skb); +u32 *dst_blackhole_cow_metrics(struct dst_entry *dst, unsigned long old); +struct neighbour *dst_blackhole_neigh_lookup(const struct dst_entry *dst, + struct sk_buff *skb, + const void *daddr); +unsigned int dst_blackhole_mtu(const struct dst_entry *dst); + #endif /* _NET_DST_H */ --- linux-riscv-5.8-5.8.0.orig/include/net/flow.h +++ linux-riscv-5.8-5.8.0/include/net/flow.h @@ -116,6 +116,7 @@ fl4->saddr = saddr; fl4->fl4_dport = dport; fl4->fl4_sport = sport; + fl4->flowi4_multipath_hash = 0; } /* Reset some input parameters after previous lookup */ --- linux-riscv-5.8-5.8.0.orig/include/net/inet_connection_sock.h +++ linux-riscv-5.8-5.8.0/include/net/inet_connection_sock.h @@ -83,6 +83,8 @@ * @icsk_ext_hdr_len: Network protocol overhead (IP/IPv6 options) * @icsk_ack: Delayed ACK control data * @icsk_mtup; MTU probing control data + * @icsk_probes_tstamp: Probe timestamp (cleared by non-zero window ack) + * @icsk_user_timeout: TCP_USER_TIMEOUT value */ struct inet_connection_sock { /* inet_sock has to be the first member! */ @@ -133,6 +135,7 @@ u32 probe_timestamp; } icsk_mtup; + u32 icsk_probes_tstamp; u32 icsk_user_timeout; u64 icsk_ca_priv[104 / sizeof(u64)]; @@ -284,7 +287,7 @@ return inet_csk_reqsk_queue_len(sk) >= sk->sk_max_ack_backlog; } -void inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req); +bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req); void inet_csk_reqsk_queue_drop_and_put(struct sock *sk, struct request_sock *req); static inline void inet_csk_prepare_for_destroy_sock(struct sock *sk) @@ -316,6 +319,10 @@ int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname, char __user *optval, unsigned int optlen); +/* update the fast reuse flag when adding a socket */ +void inet_csk_update_fastreuse(struct inet_bind_bucket *tb, + struct sock *sk); + struct dst_entry *inet_csk_update_pmtu(struct sock *sk, u32 mtu); #define TCP_PINGPONG_THRESH 3 --- linux-riscv-5.8-5.8.0.orig/include/net/inet_ecn.h +++ linux-riscv-5.8-5.8.0/include/net/inet_ecn.h @@ -107,7 +107,7 @@ if ((iph->tos & INET_ECN_MASK) != INET_ECN_ECT_0) return 0; - check += (__force u16)htons(0x100); + check += (__force u16)htons(0x1); iph->check = (__force __sum16)(check + (check>=0xFFFF)); iph->tos ^= INET_ECN_MASK; --- linux-riscv-5.8-5.8.0.orig/include/net/ip.h +++ linux-riscv-5.8-5.8.0/include/net/ip.h @@ -439,12 +439,18 @@ bool forwarding) { struct net *net = dev_net(dst->dev); + unsigned int mtu; if (net->ipv4.sysctl_ip_fwd_use_pmtu || ip_mtu_locked(dst) || !forwarding) return dst_mtu(dst); + /* 'forwarding = true' case should always honour route mtu */ + mtu = dst_metric_raw(dst, RTAX_MTU); + if (mtu) + return mtu; + return min(READ_ONCE(dst->dev->mtu), IP_MAX_MTU); } --- linux-riscv-5.8-5.8.0.orig/include/net/ip_tunnels.h +++ linux-riscv-5.8-5.8.0/include/net/ip_tunnels.h @@ -100,6 +100,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; @@ -137,6 +159,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; @@ -144,6 +167,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; @@ -476,9 +504,11 @@ const void *from, int len, __be16 flags) { - memcpy(ip_tunnel_info_opts(info), from, len); info->options_len = len; - info->key.tun_flags |= flags; + if (len > 0) { + memcpy(ip_tunnel_info_opts(info), from, len); + info->key.tun_flags |= flags; + } } static inline struct ip_tunnel_info *lwt_tun_info(struct lwtunnel_state *lwtstate) @@ -524,7 +554,6 @@ __be16 flags) { info->options_len = 0; - info->key.tun_flags |= flags; } #endif /* CONFIG_INET */ --- linux-riscv-5.8-5.8.0.orig/include/net/ip_vs.h +++ linux-riscv-5.8-5.8.0/include/net/ip_vs.h @@ -1624,18 +1624,16 @@ } #endif /* CONFIG_IP_VS_NFCT */ -/* Really using conntrack? */ -static inline bool ip_vs_conn_uses_conntrack(struct ip_vs_conn *cp, - struct sk_buff *skb) +/* Using old conntrack that can not be redirected to another real server? */ +static inline bool ip_vs_conn_uses_old_conntrack(struct ip_vs_conn *cp, + struct sk_buff *skb) { #ifdef CONFIG_IP_VS_NFCT enum ip_conntrack_info ctinfo; struct nf_conn *ct; - if (!(cp->flags & IP_VS_CONN_F_NFCT)) - return false; ct = nf_ct_get(skb, &ctinfo); - if (ct) + if (ct && nf_ct_is_confirmed(ct)) return true; #endif return false; --- linux-riscv-5.8-5.8.0.orig/include/net/neighbour.h +++ linux-riscv-5.8-5.8.0/include/net/neighbour.h @@ -204,6 +204,7 @@ int (*pconstructor)(struct pneigh_entry *); void (*pdestructor)(struct pneigh_entry *); void (*proxy_redo)(struct sk_buff *skb); + int (*is_multicast)(const void *pkey); bool (*allow_add)(const struct net_device *dev, struct netlink_ext_ack *extack); char *id; --- linux-riscv-5.8-5.8.0.orig/include/net/netfilter/nf_log.h +++ linux-riscv-5.8-5.8.0/include/net/netfilter/nf_log.h @@ -108,6 +108,7 @@ unsigned int logflags); void nf_log_dump_sk_uid_gid(struct net *net, struct nf_log_buf *m, struct sock *sk); +void nf_log_dump_vlan(struct nf_log_buf *m, const struct sk_buff *skb); void nf_log_dump_packet_common(struct nf_log_buf *m, u_int8_t pf, unsigned int hooknum, const struct sk_buff *skb, const struct net_device *in, --- linux-riscv-5.8-5.8.0.orig/include/net/netfilter/nf_tables.h +++ linux-riscv-5.8-5.8.0/include/net/netfilter/nf_tables.h @@ -143,6 +143,8 @@ static inline void nft_data_copy(u32 *dst, const struct nft_data *src, unsigned int len) { + if (len % NFT_REG32_SIZE) + dst[len / NFT_REG32_SIZE] = 0; memcpy(dst, src, len); } @@ -894,6 +896,12 @@ return (struct nft_expr *)&rule->data[rule->dlen]; } +static inline bool nft_expr_more(const struct nft_rule *rule, + const struct nft_expr *expr) +{ + return expr != nft_expr_last(rule) && expr->ops; +} + static inline struct nft_userdata *nft_userdata(const struct nft_rule *rule) { return (void *)&rule->data[rule->dlen]; @@ -1484,6 +1492,7 @@ struct nft_flowtable *flowtable; bool update; struct list_head hook_list; + u32 flags; }; #define nft_trans_flowtable(trans) \ @@ -1492,10 +1501,18 @@ (((struct nft_trans_flowtable *)trans->data)->update) #define nft_trans_flowtable_hooks(trans) \ (((struct nft_trans_flowtable *)trans->data)->hook_list) +#define nft_trans_flowtable_flags(trans) \ + (((struct nft_trans_flowtable *)trans->data)->flags) int __init nft_chain_filter_init(void); void nft_chain_filter_fini(void); void __init nft_chain_route_init(void); void nft_chain_route_fini(void); + +void nf_tables_trans_destroy_flush_work(void); + +int nf_msecs_to_jiffies64(const struct nlattr *nla, u64 *result); +__be64 nf_jiffies64_to_msecs(u64 input); + #endif /* _NET_NF_TABLES_H */ --- linux-riscv-5.8-5.8.0.orig/include/net/netfilter/nf_tables_offload.h +++ linux-riscv-5.8-5.8.0/include/net/netfilter/nf_tables_offload.h @@ -37,6 +37,7 @@ struct nft_flow_key { struct flow_dissector_key_basic basic; + struct flow_dissector_key_control control; union { struct flow_dissector_key_ipv4_addrs ipv4; struct flow_dissector_key_ipv6_addrs ipv6; @@ -62,6 +63,9 @@ #define NFT_OFFLOAD_F_ACTION (1 << 0) +void nft_flow_rule_set_addr_type(struct nft_flow_rule *flow, + enum flow_dissector_key_id addr_type); + struct nft_rule; struct nft_flow_rule *nft_flow_rule_create(struct net *net, const struct nft_rule *rule); void nft_flow_rule_destroy(struct nft_flow_rule *flow); @@ -74,6 +78,9 @@ offsetof(struct nft_flow_key, __base.__field); \ (__reg)->len = __len; \ (__reg)->key = __key; \ + +#define NFT_OFFLOAD_MATCH_EXACT(__key, __base, __field, __len, __reg) \ + NFT_OFFLOAD_MATCH(__key, __base, __field, __len, __reg) \ memset(&(__reg)->mask, 0xff, (__reg)->len); int nft_chain_offload_priority(struct nft_base_chain *basechain); --- linux-riscv-5.8-5.8.0.orig/include/net/netlabel.h +++ linux-riscv-5.8-5.8.0/include/net/netlabel.h @@ -97,7 +97,7 @@ /* NetLabel audit information */ struct netlbl_audit { - u32 secid; + struct lsmblob lsmdata; 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-riscv-5.8-5.8.0.orig/include/net/netlink.h +++ linux-riscv-5.8-5.8.0/include/net/netlink.h @@ -1936,7 +1936,8 @@ int netlink_policy_dump_start(const struct nla_policy *policy, unsigned int maxtype, unsigned long *state); -bool netlink_policy_dump_loop(unsigned long *state); +bool netlink_policy_dump_loop(unsigned long state); int netlink_policy_dump_write(struct sk_buff *skb, unsigned long state); +void netlink_policy_dump_free(unsigned long state); #endif --- linux-riscv-5.8-5.8.0.orig/include/net/netns/xfrm.h +++ linux-riscv-5.8-5.8.0/include/net/netns/xfrm.h @@ -72,7 +72,9 @@ #if IS_ENABLED(CONFIG_IPV6) struct dst_ops xfrm6_dst_ops; #endif - spinlock_t xfrm_state_lock; + spinlock_t xfrm_state_lock; + seqcount_t xfrm_state_hash_generation; + spinlock_t xfrm_policy_lock; struct mutex xfrm_cfg_mutex; }; --- linux-riscv-5.8-5.8.0.orig/include/net/nexthop.h +++ linux-riscv-5.8-5.8.0/include/net/nexthop.h @@ -366,6 +366,7 @@ int fib6_check_nexthop(struct nexthop *nh, struct fib6_config *cfg, struct netlink_ext_ack *extack); +/* Caller should either hold rcu_read_lock(), or RTNL. */ static inline struct fib6_nh *nexthop_fib6_nh(struct nexthop *nh) { struct nh_info *nhi; @@ -383,6 +384,29 @@ if (nhi->family == AF_INET6) return &nhi->fib6_nh; + return NULL; +} + +/* Variant of nexthop_fib6_nh(). + * Caller should either hold rcu_read_lock_bh(), or RTNL. + */ +static inline struct fib6_nh *nexthop_fib6_nh_bh(struct nexthop *nh) +{ + struct nh_info *nhi; + + if (nh->is_group) { + struct nh_group *nh_grp; + + nh_grp = rcu_dereference_bh_rtnl(nh->nh_grp); + nh = nexthop_mpath_select(nh_grp, 0); + if (!nh) + return NULL; + } + + nhi = rcu_dereference_bh_rtnl(nh->nh_info); + if (nhi->family == AF_INET6) + return &nhi->fib6_nh; + return NULL; } --- linux-riscv-5.8-5.8.0.orig/include/net/red.h +++ linux-riscv-5.8-5.8.0/include/net/red.h @@ -168,14 +168,24 @@ v->qcount = -1; } -static inline bool red_check_params(u32 qth_min, u32 qth_max, u8 Wlog) +static inline bool red_check_params(u32 qth_min, u32 qth_max, u8 Wlog, + u8 Scell_log, u8 *stab) { - if (fls(qth_min) + Wlog > 32) + if (fls(qth_min) + Wlog >= 32) return false; - if (fls(qth_max) + Wlog > 32) + if (fls(qth_max) + Wlog >= 32) + return false; + if (Scell_log >= 32) return false; if (qth_max < qth_min) return false; + if (stab) { + int i; + + for (i = 0; i < RED_STAB_SIZE; i++) + if (stab[i] >= 32) + return false; + } return true; } --- linux-riscv-5.8-5.8.0.orig/include/net/rtnetlink.h +++ linux-riscv-5.8-5.8.0/include/net/rtnetlink.h @@ -33,6 +33,7 @@ * * @list: Used internally * @kind: Identifier + * @netns_refund: Physical device, move to init_net on netns exit * @maxtype: Highest device specific netlink attribute number * @policy: Netlink policy for device specific attribute validation * @validate: Optional validation function for netlink/changelink parameters @@ -64,6 +65,7 @@ size_t priv_size; void (*setup)(struct net_device *dev); + bool netns_refund; unsigned int maxtype; const struct nla_policy *policy; int (*validate)(struct nlattr *tb[], --- linux-riscv-5.8-5.8.0.orig/include/net/sch_generic.h +++ linux-riscv-5.8-5.8.0/include/net/sch_generic.h @@ -1157,7 +1157,7 @@ old = *pold; *pold = new; if (old != NULL) - qdisc_tree_flush_backlog(old); + qdisc_purge_queue(old); sch_tree_unlock(sch); return old; --- linux-riscv-5.8-5.8.0.orig/include/net/scm.h +++ linux-riscv-5.8-5.8.0/include/net/scm.h @@ -33,7 +33,7 @@ struct scm_fp_list *fp; /* Passed files */ struct scm_creds creds; /* Skb credentials */ #ifdef CONFIG_SECURITY_NETWORK - u32 secid; /* Passed security ID */ + struct lsmblob lsmblob; /* Passed LSM data */ #endif }; @@ -46,7 +46,7 @@ #ifdef CONFIG_SECURITY_NETWORK static __inline__ void unix_get_peersec_dgram(struct socket *sock, struct scm_cookie *scm) { - security_socket_getpeersec_dgram(sock, NULL, &scm->secid); + security_socket_getpeersec_dgram(sock, NULL, &scm->lsmblob); } #else static __inline__ void unix_get_peersec_dgram(struct socket *sock, struct scm_cookie *scm) @@ -92,16 +92,17 @@ #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; int err; if (test_bit(SOCK_PASSSEC, &sock->flags)) { - err = security_secid_to_secctx(scm->secid, &secdata, &seclen); + err = security_secid_to_secctx(&scm->lsmblob, &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-riscv-5.8-5.8.0.orig/include/net/sctp/structs.h +++ linux-riscv-5.8-5.8.0/include/net/sctp/structs.h @@ -226,12 +226,14 @@ data_ready_signalled:1; atomic_t pd_mode; + + /* Fields after this point will be skipped on copies, like on accept + * and peeloff operations + */ + /* Receive to here while partial delivery is in effect. */ struct sk_buff_head pd_lobby; - /* These must be the last fields, as they will skipped on copies, - * like on accept and peeloff operations - */ struct list_head auto_asconf_list; int do_auto_asconf; }; --- linux-riscv-5.8-5.8.0.orig/include/net/sock.h +++ linux-riscv-5.8-5.8.0/include/net/sock.h @@ -891,6 +891,8 @@ { return static_branch_unlikely(&memalloc_socks_key); } + +void __receive_sock(struct file *file); #else static inline int sk_memalloc_socks(void) @@ -898,6 +900,8 @@ return 0; } +static inline void __receive_sock(struct file *file) +{ } #endif static inline gfp_t sk_gfp_mask(const struct sock *sk, gfp_t gfp_mask) @@ -1905,10 +1909,13 @@ sk->sk_txhash = net_tx_rndhash(); } -static inline void sk_rethink_txhash(struct sock *sk) +static inline bool sk_rethink_txhash(struct sock *sk) { - if (sk->sk_txhash) + if (sk->sk_txhash) { sk_set_txhash(sk); + return true; + } + return false; } static inline struct dst_entry * @@ -1931,12 +1938,10 @@ return dst; } -static inline void dst_negative_advice(struct sock *sk) +static inline void __dst_negative_advice(struct sock *sk) { struct dst_entry *ndst, *dst = __sk_dst_get(sk); - sk_rethink_txhash(sk); - if (dst && dst->ops->negative_advice) { ndst = dst->ops->negative_advice(dst); @@ -1948,6 +1953,12 @@ } } +static inline void dst_negative_advice(struct sock *sk) +{ + sk_rethink_txhash(sk); + __dst_negative_advice(sk); +} + static inline void __sk_dst_set(struct sock *sk, struct dst_entry *dst) { @@ -2192,6 +2203,15 @@ sk_mem_charge(sk, skb->truesize); } +static inline void skb_set_owner_sk_safe(struct sk_buff *skb, struct sock *sk) +{ + if (sk && refcount_inc_not_zero(&sk->sk_refcnt)) { + skb_orphan(skb); + skb->destructor = sock_efree; + skb->sk = sk; + } +} + void sk_reset_timer(struct sock *sk, struct timer_list *timer, unsigned long expires); --- linux-riscv-5.8-5.8.0.orig/include/net/switchdev.h +++ linux-riscv-5.8-5.8.0/include/net/switchdev.h @@ -41,7 +41,6 @@ SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED, SWITCHDEV_ATTR_ID_BRIDGE_MROUTER, #if IS_ENABLED(CONFIG_BRIDGE_MRP) - SWITCHDEV_ATTR_ID_MRP_PORT_STATE, SWITCHDEV_ATTR_ID_MRP_PORT_ROLE, #endif }; @@ -60,7 +59,6 @@ bool vlan_filtering; /* BRIDGE_VLAN_FILTERING */ bool mc_disabled; /* MC_DISABLED */ #if IS_ENABLED(CONFIG_BRIDGE_MRP) - u8 mrp_port_state; /* MRP_PORT_STATE */ u8 mrp_port_role; /* MRP_PORT_ROLE */ #endif } u; --- linux-riscv-5.8-5.8.0.orig/include/net/tc_act/tc_tunnel_key.h +++ linux-riscv-5.8-5.8.0/include/net/tc_act/tc_tunnel_key.h @@ -56,7 +56,10 @@ { #ifdef CONFIG_NET_CLS_ACT struct tcf_tunnel_key *t = to_tunnel_key(a); - struct tcf_tunnel_key_params *params = rtnl_dereference(t->params); + struct tcf_tunnel_key_params *params; + + params = rcu_dereference_protected(t->params, + lockdep_is_held(&a->tcfa_lock)); return ¶ms->tcft_enc_metadata->u.tun_info; #else --- linux-riscv-5.8-5.8.0.orig/include/net/tcp.h +++ linux-riscv-5.8-5.8.0/include/net/tcp.h @@ -625,6 +625,7 @@ unsigned int tcp_sync_mss(struct sock *sk, u32 pmtu); unsigned int tcp_current_mss(struct sock *sk); +u32 tcp_clamp_probe0_to_user_timeout(const struct sock *sk, u32 when); /* Bound MSS / TSO packet size with the half of the window */ static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize) @@ -1422,8 +1423,13 @@ */ static inline bool tcp_rmem_pressure(const struct sock *sk) { - int rcvbuf = READ_ONCE(sk->sk_rcvbuf); - int threshold = rcvbuf - (rcvbuf >> 3); + int rcvbuf, threshold; + + if (tcp_under_memory_pressure(sk)) + return true; + + rcvbuf = READ_ONCE(sk->sk_rcvbuf); + threshold = rcvbuf - (rcvbuf >> 3); return atomic_read(&sk->sk_rmem_alloc) > threshold; } @@ -1664,6 +1670,8 @@ void tcp_fastopen_ctx_destroy(struct net *net); int tcp_fastopen_reset_cipher(struct net *net, struct sock *sk, void *primary_key, void *backup_key); +int tcp_fastopen_get_cipher(struct net *net, struct inet_connection_sock *icsk, + u64 *key); void tcp_fastopen_add_skb(struct sock *sk, struct sk_buff *skb); struct sock *tcp_try_fastopen(struct sock *sk, struct sk_buff *skb, struct request_sock *req, @@ -2056,7 +2064,7 @@ void tcp_newreno_mark_lost(struct sock *sk, bool snd_una_advanced); extern s32 tcp_rack_skb_timeout(struct tcp_sock *tp, struct sk_buff *skb, u32 reo_wnd); -extern void tcp_rack_mark_lost(struct sock *sk); +extern bool tcp_rack_mark_lost(struct sock *sk); extern void tcp_rack_advance(struct tcp_sock *tp, u8 sacked, u32 end_seq, u64 xmit_time); extern void tcp_rack_reo_timeout(struct sock *sk); --- linux-riscv-5.8-5.8.0.orig/include/net/tls.h +++ linux-riscv-5.8-5.8.0/include/net/tls.h @@ -199,6 +199,12 @@ * to be atomic. */ TLS_TX_SYNC_SCHED = 1, + /* tls_dev_del was called for the RX side, device state was released, + * but tls_ctx->netdev might still be kept, because TX-side driver + * resources might not be released yet. Used to prevent the second + * tls_dev_del call in tls_device_down if it happens simultaneously. + */ + TLS_RX_DEV_CLOSED = 2, }; struct cipher_context { @@ -291,11 +297,20 @@ enum tls_offload_sync_type { TLS_OFFLOAD_SYNC_TYPE_DRIVER_REQ = 0, TLS_OFFLOAD_SYNC_TYPE_CORE_NEXT_HINT = 1, + TLS_OFFLOAD_SYNC_TYPE_DRIVER_REQ_ASYNC = 2, }; #define TLS_DEVICE_RESYNC_NH_START_IVAL 2 #define TLS_DEVICE_RESYNC_NH_MAX_IVAL 128 +#define TLS_DEVICE_RESYNC_ASYNC_LOGMAX 13 +struct tls_offload_resync_async { + atomic64_t req; + u16 loglen; + u16 rcd_delta; + u32 log[TLS_DEVICE_RESYNC_ASYNC_LOGMAX]; +}; + struct tls_offload_context_rx { /* sw must be the first member of tls_offload_context_rx */ struct tls_sw_context_rx sw; @@ -314,6 +329,10 @@ u32 decrypted_failed; u32 decrypted_tgt; } resync_nh; + /* TLS_OFFLOAD_SYNC_TYPE_DRIVER_REQ_ASYNC */ + struct { + struct tls_offload_resync_async *resync_async; + }; }; u8 driver_state[] __aligned(8); /* The TLS layer reserves room for driver specific state @@ -459,6 +478,18 @@ return (i == -1); } +static inline void tls_bigint_subtract(unsigned char *seq, int n) +{ + u64 rcd_sn; + __be64 *p; + + BUILD_BUG_ON(TLS_MAX_REC_SEQ_SIZE != 8); + + p = (__be64 *)seq; + rcd_sn = be64_to_cpu(*p); + *p = cpu_to_be64(rcd_sn - n); +} + static inline struct tls_context *tls_get_ctx(const struct sock *sk) { struct inet_connection_sock *icsk = inet_csk(sk); @@ -606,9 +637,9 @@ } #endif +#define RESYNC_REQ BIT(0) +#define RESYNC_REQ_ASYNC BIT(1) /* The TLS context is valid until sk_destruct is called */ -#define RESYNC_REQ (1 << 0) -#define RESYNC_REQ_FORCE (1 << 1) static inline void tls_offload_rx_resync_request(struct sock *sk, __be32 seq) { struct tls_context *tls_ctx = tls_get_ctx(sk); @@ -617,12 +648,27 @@ atomic64_set(&rx_ctx->resync_req, ((u64)ntohl(seq) << 32) | RESYNC_REQ); } -static inline void tls_offload_rx_force_resync_request(struct sock *sk) +/* Log all TLS record header TCP sequences in [seq, seq+len] */ +static inline void +tls_offload_rx_resync_async_request_start(struct sock *sk, __be32 seq, u16 len) +{ + struct tls_context *tls_ctx = tls_get_ctx(sk); + struct tls_offload_context_rx *rx_ctx = tls_offload_ctx_rx(tls_ctx); + + atomic64_set(&rx_ctx->resync_async->req, ((u64)ntohl(seq) << 32) | + (len << 16) | RESYNC_REQ | RESYNC_REQ_ASYNC); + rx_ctx->resync_async->loglen = 0; + rx_ctx->resync_async->rcd_delta = 0; +} + +static inline void +tls_offload_rx_resync_async_request_end(struct sock *sk, __be32 seq) { struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_offload_context_rx *rx_ctx = tls_offload_ctx_rx(tls_ctx); - atomic64_set(&rx_ctx->resync_req, RESYNC_REQ | RESYNC_REQ_FORCE); + atomic64_set(&rx_ctx->resync_async->req, + ((u64)ntohl(seq) << 32) | RESYNC_REQ); } static inline void --- linux-riscv-5.8-5.8.0.orig/include/net/udp.h +++ linux-riscv-5.8-5.8.0/include/net/udp.h @@ -171,7 +171,7 @@ int udp_gro_complete(struct sk_buff *skb, int nhoff, udp_lookup_t lookup); struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, - netdev_features_t features); + netdev_features_t features, bool is_ipv6); static inline struct udphdr *udp_gro_udphdr(struct sk_buff *skb) { --- linux-riscv-5.8-5.8.0.orig/include/net/vxlan.h +++ linux-riscv-5.8-5.8.0/include/net/vxlan.h @@ -243,6 +243,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-riscv-5.8-5.8.0.orig/include/net/xfrm.h +++ linux-riscv-5.8-5.8.0/include/net/xfrm.h @@ -672,11 +672,13 @@ if (audit_enabled == AUDIT_OFF) return NULL; + audit_stamp_context(audit_context()); audit_buf = audit_log_start(audit_context(), GFP_ATOMIC, AUDIT_MAC_IPSEC_EVENT); if (audit_buf == NULL) return NULL; audit_log_format(audit_buf, "op=%s", op); + audit_log_lsm(NULL, false); return audit_buf; } @@ -690,7 +692,7 @@ AUDIT_SID_UNSET; audit_log_format(audit_buf, " auid=%u ses=%u", auid, ses); - audit_log_task_context(audit_buf); + audit_log_task_context(audit_buf, NULL); } void xfrm_audit_policy_add(struct xfrm_policy *xp, int result, bool task_valid); @@ -1094,7 +1096,7 @@ return __xfrm_policy_check(sk, ndir, skb, family); return (!net->xfrm.policy_count[dir] && !secpath_exists(skb)) || - (skb_dst(skb)->flags & DST_NOPOLICY) || + (skb_dst(skb) && (skb_dst(skb)->flags & DST_NOPOLICY)) || __xfrm_policy_check(sk, ndir, skb, family); } @@ -1552,7 +1554,7 @@ int xfrm_trans_queue(struct sk_buff *skb, int (*finish)(struct net *, struct sock *, struct sk_buff *)); -int xfrm_output_resume(struct sk_buff *skb, int err); +int xfrm_output_resume(struct sock *sk, struct sk_buff *skb, int err); int xfrm_output(struct sock *sk, struct sk_buff *skb); #if IS_ENABLED(CONFIG_NET_PKTGEN) @@ -1767,21 +1769,17 @@ static inline int xfrm_replay_clone(struct xfrm_state *x, struct xfrm_state *orig) { - x->replay_esn = kzalloc(xfrm_replay_state_esn_len(orig->replay_esn), + + x->replay_esn = kmemdup(orig->replay_esn, + xfrm_replay_state_esn_len(orig->replay_esn), GFP_KERNEL); if (!x->replay_esn) return -ENOMEM; - - x->replay_esn->bmp_len = orig->replay_esn->bmp_len; - x->replay_esn->replay_window = orig->replay_esn->replay_window; - - x->preplay_esn = kmemdup(x->replay_esn, - xfrm_replay_state_esn_len(x->replay_esn), + x->preplay_esn = kmemdup(orig->preplay_esn, + xfrm_replay_state_esn_len(orig->preplay_esn), GFP_KERNEL); - if (!x->preplay_esn) { - kfree(x->replay_esn); + if (!x->preplay_esn) return -ENOMEM; - } return 0; } --- linux-riscv-5.8-5.8.0.orig/include/rdma/ib_umem.h +++ linux-riscv-5.8-5.8.0/include/rdma/ib_umem.h @@ -95,10 +95,11 @@ size_t length) { return -EINVAL; } -static inline int ib_umem_find_best_pgsz(struct ib_umem *umem, - unsigned long pgsz_bitmap, - unsigned long virt) { - return -EINVAL; +static inline unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem, + unsigned long pgsz_bitmap, + unsigned long virt) +{ + return 0; } #endif /* CONFIG_INFINIBAND_USER_MEM */ --- linux-riscv-5.8-5.8.0.orig/include/rdma/ib_verbs.h +++ linux-riscv-5.8-5.8.0/include/rdma/ib_verbs.h @@ -1489,11 +1489,6 @@ RDMA_REMOVE_DRIVER_REMOVE, /* uobj is being cleaned-up before being committed */ RDMA_REMOVE_ABORT, - /* - * uobj has been fully created, with the uobj->object set, but is being - * cleaned up before being comitted - */ - RDMA_REMOVE_ABORT_HWOBJ, }; struct ib_rdmacg_object { @@ -2465,7 +2460,7 @@ int (*create_cq)(struct ib_cq *cq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); int (*modify_cq)(struct ib_cq *cq, u16 cq_count, u16 cq_period); - void (*destroy_cq)(struct ib_cq *cq, struct ib_udata *udata); + int (*destroy_cq)(struct ib_cq *cq, struct ib_udata *udata); int (*resize_cq)(struct ib_cq *cq, int cqe, struct ib_udata *udata); struct ib_mr *(*get_dma_mr)(struct ib_pd *pd, int mr_access_flags); struct ib_mr *(*reg_user_mr)(struct ib_pd *pd, u64 start, u64 length, @@ -3834,46 +3829,15 @@ return qp->device->ops.post_recv(qp, recv_wr, bad_recv_wr ? : &dummy); } -struct ib_cq *__ib_alloc_cq_user(struct ib_device *dev, void *private, - int nr_cqe, int comp_vector, - enum ib_poll_context poll_ctx, - const char *caller, struct ib_udata *udata); - -/** - * ib_alloc_cq_user: Allocate kernel/user CQ - * @dev: The IB device - * @private: Private data attached to the CQE - * @nr_cqe: Number of CQEs in the CQ - * @comp_vector: Completion vector used for the IRQs - * @poll_ctx: Context used for polling the CQ - * @udata: Valid user data or NULL for kernel objects - */ -static inline struct ib_cq *ib_alloc_cq_user(struct ib_device *dev, - void *private, int nr_cqe, - int comp_vector, - enum ib_poll_context poll_ctx, - struct ib_udata *udata) -{ - return __ib_alloc_cq_user(dev, private, nr_cqe, comp_vector, poll_ctx, - KBUILD_MODNAME, udata); -} - -/** - * ib_alloc_cq: Allocate kernel CQ - * @dev: The IB device - * @private: Private data attached to the CQE - * @nr_cqe: Number of CQEs in the CQ - * @comp_vector: Completion vector used for the IRQs - * @poll_ctx: Context used for polling the CQ - * - * NOTE: for user cq use ib_alloc_cq_user with valid udata! - */ +struct ib_cq *__ib_alloc_cq(struct ib_device *dev, void *private, int nr_cqe, + int comp_vector, enum ib_poll_context poll_ctx, + const char *caller); static inline struct ib_cq *ib_alloc_cq(struct ib_device *dev, void *private, int nr_cqe, int comp_vector, enum ib_poll_context poll_ctx) { - return ib_alloc_cq_user(dev, private, nr_cqe, comp_vector, poll_ctx, - NULL); + return __ib_alloc_cq(dev, private, nr_cqe, comp_vector, poll_ctx, + KBUILD_MODNAME); } struct ib_cq *__ib_alloc_cq_any(struct ib_device *dev, void *private, @@ -3895,26 +3859,7 @@ KBUILD_MODNAME); } -/** - * ib_free_cq_user - Free kernel/user CQ - * @cq: The CQ to free - * @udata: Valid user data or NULL for kernel objects - * - * NOTE: This function shouldn't be called on shared CQs. - */ -void ib_free_cq_user(struct ib_cq *cq, struct ib_udata *udata); - -/** - * ib_free_cq - Free kernel CQ - * @cq: The CQ to free - * - * NOTE: for user cq use ib_free_cq_user with valid udata! - */ -static inline void ib_free_cq(struct ib_cq *cq) -{ - ib_free_cq_user(cq, NULL); -} - +void ib_free_cq(struct ib_cq *cq); int ib_process_cq_direct(struct ib_cq *cq, int budget); /** @@ -3972,7 +3917,9 @@ */ static inline void ib_destroy_cq(struct ib_cq *cq) { - ib_destroy_cq_user(cq, NULL); + int ret = ib_destroy_cq_user(cq, NULL); + + WARN_ONCE(ret, "Destroy of kernel CQ shouldn't fail"); } /** @@ -4741,6 +4688,19 @@ } /** + * ibdev_to_node - return the NUMA node for a given ib_device + * @dev: device to get the NUMA node for. + */ +static inline int ibdev_to_node(struct ib_device *ibdev) +{ + struct device *parent = ibdev->dev.parent; + + if (!parent) + return NUMA_NO_NODE; + return dev_to_node(parent); +} + +/** * rdma_device_to_drv_device - Helper macro to reach back to driver's * ib_device holder structure from device pointer. * --- linux-riscv-5.8-5.8.0.orig/include/scsi/libiscsi.h +++ linux-riscv-5.8-5.8.0/include/scsi/libiscsi.h @@ -132,6 +132,9 @@ void *dd_data; /* driver/transport data */ }; +/* invalid scsi_task pointer */ +#define INVALID_SCSI_TASK (struct iscsi_task *)-1l + static inline int iscsi_task_has_unsol_data(struct iscsi_task *task) { return task->unsol_r2t.data_length > task->unsol_r2t.sent; --- linux-riscv-5.8-5.8.0.orig/include/scsi/scsi_cmnd.h +++ linux-riscv-5.8-5.8.0/include/scsi/scsi_cmnd.h @@ -165,7 +165,8 @@ size_t *offset, size_t *len); extern void scsi_kunmap_atomic_sg(void *virt); -extern blk_status_t scsi_init_io(struct scsi_cmnd *cmd); +blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *cmd); +void scsi_free_sgtables(struct scsi_cmnd *cmd); #ifdef CONFIG_SCSI_DMA extern int scsi_dma_map(struct scsi_cmnd *cmd); --- linux-riscv-5.8-5.8.0.orig/include/scsi/scsi_common.h +++ linux-riscv-5.8-5.8.0/include/scsi/scsi_common.h @@ -25,6 +25,13 @@ scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]); } +static inline unsigned char +scsi_command_control(const unsigned char *cmnd) +{ + return (cmnd[0] == VARIABLE_LENGTH_CMD) ? + cmnd[1] : cmnd[COMMAND_SIZE(cmnd[0]) - 1]; +} + /* Returns a human-readable name for the device */ extern const char *scsi_device_type(unsigned type); --- linux-riscv-5.8-5.8.0.orig/include/soc/mscc/ocelot.h +++ linux-riscv-5.8-5.8.0/include/soc/mscc/ocelot.h @@ -468,6 +468,7 @@ struct ocelot_ops { int (*reset)(struct ocelot *ocelot); + u16 (*wm_enc)(u16 value); }; struct ocelot_acl_block { --- linux-riscv-5.8-5.8.0.orig/include/soc/nps/common.h +++ linux-riscv-5.8-5.8.0/include/soc/nps/common.h @@ -45,6 +45,12 @@ #define CTOP_INST_MOV2B_FLIP_R3_B1_B2_INST 0x5B60 #define CTOP_INST_MOV2B_FLIP_R3_B1_B2_LIMM 0x00010422 +#ifndef AUX_IENABLE +#define AUX_IENABLE 0x40c +#endif + +#define CTOP_AUX_IACK (0xFFFFF800 + 0x088) + #ifndef __ASSEMBLY__ /* In order to increase compilation test coverage */ --- linux-riscv-5.8-5.8.0.orig/include/sound/hda_codec.h +++ linux-riscv-5.8-5.8.0/include/sound/hda_codec.h @@ -253,6 +253,7 @@ unsigned int force_pin_prefix:1; /* Add location prefix */ unsigned int link_down_at_suspend:1; /* link down at runtime suspend */ 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 */ #ifdef CONFIG_PM --- linux-riscv-5.8-5.8.0.orig/include/sound/intel-nhlt.h +++ linux-riscv-5.8-5.8.0/include/sound/intel-nhlt.h @@ -113,6 +113,11 @@ } __packed; enum { + NHLT_CONFIG_TYPE_GENERIC = 0, + NHLT_CONFIG_TYPE_MIC_ARRAY = 1 +}; + +enum { NHLT_MIC_ARRAY_2CH_SMALL = 0xa, NHLT_MIC_ARRAY_2CH_BIG = 0xb, NHLT_MIC_ARRAY_4CH_1ST_GEOM = 0xc, --- linux-riscv-5.8-5.8.0.orig/include/sound/soc.h +++ linux-riscv-5.8-5.8.0/include/sound/soc.h @@ -1205,6 +1205,8 @@ ((i) < (rtd)->num_cpus + (rtd)->num_codecs) && \ ((dai) = (rtd)->dais[i]); \ (i)++) +#define for_each_rtd_dais_rollback(rtd, i, dai) \ + for (; (--(i) >= 0) && ((dai) = (rtd)->dais[i]);) void snd_soc_close_delayed_work(struct snd_soc_pcm_runtime *rtd); @@ -1373,6 +1375,8 @@ struct snd_soc_dai *snd_soc_find_dai( const struct snd_soc_dai_link_component *dlc); +struct snd_soc_dai *snd_soc_find_dai_with_mutex( + const struct snd_soc_dai_link_component *dlc); #include --- linux-riscv-5.8-5.8.0.orig/include/target/target_core_backend.h +++ linux-riscv-5.8-5.8.0/include/target/target_core_backend.h @@ -70,6 +70,7 @@ void target_backend_unregister(const struct target_backend_ops *); void target_complete_cmd(struct se_cmd *, u8); +void target_set_cmd_data_length(struct se_cmd *, int); void target_complete_cmd_with_length(struct se_cmd *, u8, int); void transport_copy_sense_to_cmd(struct se_cmd *, unsigned char *); --- linux-riscv-5.8-5.8.0.orig/include/trace/events/afs.h +++ linux-riscv-5.8-5.8.0/include/trace/events/afs.h @@ -40,6 +40,7 @@ afs_server_trace_get_new_cbi, afs_server_trace_get_probe, afs_server_trace_give_up_cb, + afs_server_trace_purging, afs_server_trace_put_call, afs_server_trace_put_cbi, afs_server_trace_put_find_rsq, @@ -270,6 +271,7 @@ EM(afs_server_trace_get_new_cbi, "GET cbi ") \ EM(afs_server_trace_get_probe, "GET probe") \ EM(afs_server_trace_give_up_cb, "giveup-cb") \ + EM(afs_server_trace_purging, "PURGE ") \ EM(afs_server_trace_put_call, "PUT call ") \ EM(afs_server_trace_put_cbi, "PUT cbi ") \ EM(afs_server_trace_put_find_rsq, "PUT f-rsq") \ @@ -884,19 +886,6 @@ __entry->vnode, __entry->off, __entry->i_size) ); -/* - * We use page->private to hold the amount of the page that we've written to, - * splitting the field into two parts. However, we need to represent a range - * 0...PAGE_SIZE inclusive, so we can't support 64K pages on a 32-bit system. - */ -#if PAGE_SIZE > 32768 -#define AFS_PRIV_MAX 0xffffffff -#define AFS_PRIV_SHIFT 32 -#else -#define AFS_PRIV_MAX 0xffff -#define AFS_PRIV_SHIFT 16 -#endif - TRACE_EVENT(afs_page_dirty, TP_PROTO(struct afs_vnode *vnode, const char *where, pgoff_t page, unsigned long priv), @@ -917,10 +906,11 @@ __entry->priv = priv; ), - TP_printk("vn=%p %lx %s %lu-%lu", + TP_printk("vn=%p %lx %s %zx-%zx%s", __entry->vnode, __entry->page, __entry->where, - __entry->priv & AFS_PRIV_MAX, - __entry->priv >> AFS_PRIV_SHIFT) + afs_page_dirty_from(__entry->priv), + afs_page_dirty_to(__entry->priv), + afs_is_page_dirty_mmapped(__entry->priv) ? " M" : "") ); TRACE_EVENT(afs_call_state, --- linux-riscv-5.8-5.8.0.orig/include/trace/events/btrfs.h +++ linux-riscv-5.8-5.8.0/include/trace/events/btrfs.h @@ -1159,25 +1159,27 @@ TRACE_EVENT(find_free_extent, - TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, + TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size, u64 data), - TP_ARGS(fs_info, num_bytes, empty_size, data), + TP_ARGS(root, num_bytes, empty_size, data), TP_STRUCT__entry_btrfs( + __field( u64, root_objectid ) __field( u64, num_bytes ) __field( u64, empty_size ) __field( u64, data ) ), - TP_fast_assign_btrfs(fs_info, + TP_fast_assign_btrfs(root->fs_info, + __entry->root_objectid = root->root_key.objectid; __entry->num_bytes = num_bytes; __entry->empty_size = empty_size; __entry->data = data; ), TP_printk_btrfs("root=%llu(%s) len=%llu empty_size=%llu flags=%llu(%s)", - show_root_type(BTRFS_EXTENT_TREE_OBJECTID), + show_root_type(__entry->root_objectid), __entry->num_bytes, __entry->empty_size, __entry->data, __print_flags((unsigned long)__entry->data, "|", BTRFS_GROUP_FLAGS)) --- linux-riscv-5.8-5.8.0.orig/include/trace/events/ext4.h +++ linux-riscv-5.8-5.8.0/include/trace/events/ext4.h @@ -746,24 +746,29 @@ ); TRACE_EVENT(ext4_discard_preallocations, - TP_PROTO(struct inode *inode), + TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed), - TP_ARGS(inode), + TP_ARGS(inode, len, needed), TP_STRUCT__entry( - __field( dev_t, dev ) - __field( ino_t, ino ) + __field( dev_t, dev ) + __field( ino_t, ino ) + __field( unsigned int, len ) + __field( unsigned int, needed ) ), TP_fast_assign( __entry->dev = inode->i_sb->s_dev; __entry->ino = inode->i_ino; + __entry->len = len; + __entry->needed = needed; ), - TP_printk("dev %d,%d ino %lu", + TP_printk("dev %d,%d ino %lu len: %u needed %u", MAJOR(__entry->dev), MINOR(__entry->dev), - (unsigned long) __entry->ino) + (unsigned long) __entry->ino, __entry->len, + __entry->needed) ); TRACE_EVENT(ext4_mb_discard_preallocations, --- linux-riscv-5.8-5.8.0.orig/include/trace/events/rxrpc.h +++ linux-riscv-5.8-5.8.0/include/trace/events/rxrpc.h @@ -138,11 +138,16 @@ }; enum rxrpc_rtt_tx_trace { + rxrpc_rtt_tx_cancel, rxrpc_rtt_tx_data, + rxrpc_rtt_tx_no_slot, rxrpc_rtt_tx_ping, }; enum rxrpc_rtt_rx_trace { + rxrpc_rtt_rx_cancel, + rxrpc_rtt_rx_lost, + rxrpc_rtt_rx_obsolete, rxrpc_rtt_rx_ping_response, rxrpc_rtt_rx_requested_ack, }; @@ -339,10 +344,15 @@ E_(rxrpc_recvmsg_wait, "WAIT") #define rxrpc_rtt_tx_traces \ + EM(rxrpc_rtt_tx_cancel, "CNCE") \ EM(rxrpc_rtt_tx_data, "DATA") \ + EM(rxrpc_rtt_tx_no_slot, "FULL") \ E_(rxrpc_rtt_tx_ping, "PING") #define rxrpc_rtt_rx_traces \ + EM(rxrpc_rtt_rx_cancel, "CNCL") \ + EM(rxrpc_rtt_rx_obsolete, "OBSL") \ + EM(rxrpc_rtt_rx_lost, "LOST") \ EM(rxrpc_rtt_rx_ping_response, "PONG") \ E_(rxrpc_rtt_rx_requested_ack, "RACK") @@ -1087,38 +1097,43 @@ TRACE_EVENT(rxrpc_rtt_tx, TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_tx_trace why, - rxrpc_serial_t send_serial), + int slot, rxrpc_serial_t send_serial), - TP_ARGS(call, why, send_serial), + TP_ARGS(call, why, slot, send_serial), TP_STRUCT__entry( __field(unsigned int, call ) __field(enum rxrpc_rtt_tx_trace, why ) + __field(int, slot ) __field(rxrpc_serial_t, send_serial ) ), TP_fast_assign( __entry->call = call->debug_id; __entry->why = why; + __entry->slot = slot; __entry->send_serial = send_serial; ), - TP_printk("c=%08x %s sr=%08x", + TP_printk("c=%08x [%d] %s sr=%08x", __entry->call, + __entry->slot, __print_symbolic(__entry->why, rxrpc_rtt_tx_traces), __entry->send_serial) ); TRACE_EVENT(rxrpc_rtt_rx, TP_PROTO(struct rxrpc_call *call, enum rxrpc_rtt_rx_trace why, + int slot, rxrpc_serial_t send_serial, rxrpc_serial_t resp_serial, u32 rtt, u32 rto), - TP_ARGS(call, why, send_serial, resp_serial, rtt, rto), + TP_ARGS(call, why, slot, send_serial, resp_serial, rtt, rto), TP_STRUCT__entry( __field(unsigned int, call ) __field(enum rxrpc_rtt_rx_trace, why ) + __field(int, slot ) __field(rxrpc_serial_t, send_serial ) __field(rxrpc_serial_t, resp_serial ) __field(u32, rtt ) @@ -1128,14 +1143,16 @@ TP_fast_assign( __entry->call = call->debug_id; __entry->why = why; + __entry->slot = slot; __entry->send_serial = send_serial; __entry->resp_serial = resp_serial; __entry->rtt = rtt; __entry->rto = rto; ), - TP_printk("c=%08x %s sr=%08x rr=%08x rtt=%u rto=%u", + TP_printk("c=%08x [%d] %s sr=%08x rr=%08x rtt=%u rto=%u", __entry->call, + __entry->slot, __print_symbolic(__entry->why, rxrpc_rtt_rx_traces), __entry->send_serial, __entry->resp_serial, --- linux-riscv-5.8-5.8.0.orig/include/trace/events/sunrpc.h +++ linux-riscv-5.8-5.8.0/include/trace/events/sunrpc.h @@ -68,7 +68,8 @@ TP_fast_assign( __entry->task_id = task->tk_pid; - __entry->client_id = task->tk_client->cl_clid; + __entry->client_id = task->tk_client ? + task->tk_client->cl_clid : -1; __entry->head_base = xdr->head[0].iov_base; __entry->head_len = xdr->head[0].iov_len; __entry->tail_base = xdr->tail[0].iov_base; @@ -607,10 +608,10 @@ __field(size_t, tail_len) __field(unsigned int, page_len) __field(unsigned int, len) - __string(progname, - xdr->rqst->rq_task->tk_client->cl_program->name) - __string(procedure, - xdr->rqst->rq_task->tk_msg.rpc_proc->p_name) + __string(progname, xdr->rqst ? + xdr->rqst->rq_task->tk_client->cl_program->name : "unknown") + __string(procedure, xdr->rqst ? + xdr->rqst->rq_task->tk_msg.rpc_proc->p_name : "unknown") ), TP_fast_assign( --- linux-riscv-5.8-5.8.0.orig/include/trace/events/target.h +++ linux-riscv-5.8-5.8.0/include/trace/events/target.h @@ -141,6 +141,7 @@ __field( unsigned int, opcode ) __field( unsigned int, data_length ) __field( unsigned int, task_attribute ) + __field( unsigned char, control ) __array( unsigned char, cdb, TCM_MAX_COMMAND_SIZE ) __string( initiator, cmd->se_sess->se_node_acl->initiatorname ) ), @@ -151,6 +152,7 @@ __entry->opcode = cmd->t_task_cdb[0]; __entry->data_length = cmd->data_length; __entry->task_attribute = cmd->sam_task_attr; + __entry->control = scsi_command_control(cmd->t_task_cdb); memcpy(__entry->cdb, cmd->t_task_cdb, TCM_MAX_COMMAND_SIZE); __assign_str(initiator, cmd->se_sess->se_node_acl->initiatorname); ), @@ -160,9 +162,7 @@ __entry->tag, show_opcode_name(__entry->opcode), __entry->data_length, __print_hex(__entry->cdb, 16), show_task_attribute_name(__entry->task_attribute), - scsi_command_size(__entry->cdb) <= 16 ? - __entry->cdb[scsi_command_size(__entry->cdb) - 1] : - __entry->cdb[1] + __entry->control ) ); @@ -178,6 +178,7 @@ __field( unsigned int, opcode ) __field( unsigned int, data_length ) __field( unsigned int, task_attribute ) + __field( unsigned char, control ) __field( unsigned char, scsi_status ) __field( unsigned char, sense_length ) __array( unsigned char, cdb, TCM_MAX_COMMAND_SIZE ) @@ -191,6 +192,7 @@ __entry->opcode = cmd->t_task_cdb[0]; __entry->data_length = cmd->data_length; __entry->task_attribute = cmd->sam_task_attr; + __entry->control = scsi_command_control(cmd->t_task_cdb); __entry->scsi_status = cmd->scsi_status; __entry->sense_length = cmd->scsi_status == SAM_STAT_CHECK_CONDITION ? min(18, ((u8 *) cmd->sense_buffer)[SPC_ADD_SENSE_LEN_OFFSET] + 8) : 0; @@ -208,9 +210,7 @@ show_opcode_name(__entry->opcode), __entry->data_length, __print_hex(__entry->cdb, 16), show_task_attribute_name(__entry->task_attribute), - scsi_command_size(__entry->cdb) <= 16 ? - __entry->cdb[scsi_command_size(__entry->cdb) - 1] : - __entry->cdb[1] + __entry->control ) ); --- linux-riscv-5.8-5.8.0.orig/include/trace/events/writeback.h +++ linux-riscv-5.8-5.8.0/include/trace/events/writeback.h @@ -20,7 +20,6 @@ {I_CLEAR, "I_CLEAR"}, \ {I_SYNC, "I_SYNC"}, \ {I_DIRTY_TIME, "I_DIRTY_TIME"}, \ - {I_DIRTY_TIME_EXPIRED, "I_DIRTY_TIME_EXPIRED"}, \ {I_REFERENCED, "I_REFERENCED"} \ ) @@ -191,7 +190,7 @@ ), TP_fast_assign( - strncpy(__entry->name, bdi_dev_name(inode_to_bdi(inode)), 32); + strscpy_pad(__entry->name, bdi_dev_name(inode_to_bdi(inode)), 32); __entry->ino = inode->i_ino; __entry->cgroup_ino = __trace_wbc_assign_cgroup(wbc); __entry->history = history; @@ -220,7 +219,7 @@ ), TP_fast_assign( - strncpy(__entry->name, bdi_dev_name(old_wb->bdi), 32); + strscpy_pad(__entry->name, bdi_dev_name(old_wb->bdi), 32); __entry->ino = inode->i_ino; __entry->old_cgroup_ino = __trace_wb_assign_cgroup(old_wb); __entry->new_cgroup_ino = __trace_wb_assign_cgroup(new_wb); @@ -253,7 +252,7 @@ struct address_space *mapping = page_mapping(page); struct inode *inode = mapping ? mapping->host : NULL; - strncpy(__entry->name, bdi_dev_name(wb->bdi), 32); + strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); __entry->bdi_id = wb->bdi->id; __entry->ino = inode ? inode->i_ino : 0; __entry->memcg_id = wb->memcg_css->id; @@ -286,7 +285,7 @@ ), TP_fast_assign( - strncpy(__entry->name, bdi_dev_name(wb->bdi), 32); + strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); __entry->cgroup_ino = __trace_wb_assign_cgroup(wb); __entry->frn_bdi_id = frn_bdi_id; __entry->frn_memcg_id = frn_memcg_id; @@ -498,8 +497,9 @@ TRACE_EVENT(writeback_queue_io, TP_PROTO(struct bdi_writeback *wb, struct wb_writeback_work *work, + unsigned long dirtied_before, int moved), - TP_ARGS(wb, work, moved), + TP_ARGS(wb, work, dirtied_before, moved), TP_STRUCT__entry( __array(char, name, 32) __field(unsigned long, older) @@ -509,19 +509,17 @@ __field(ino_t, cgroup_ino) ), TP_fast_assign( - unsigned long *older_than_this = work->older_than_this; strscpy_pad(__entry->name, bdi_dev_name(wb->bdi), 32); - __entry->older = older_than_this ? *older_than_this : 0; - __entry->age = older_than_this ? - (jiffies - *older_than_this) * 1000 / HZ : -1; + __entry->older = dirtied_before; + __entry->age = (jiffies - dirtied_before) * 1000 / HZ; __entry->moved = moved; __entry->reason = work->reason; __entry->cgroup_ino = __trace_wb_assign_cgroup(wb); ), TP_printk("bdi %s: older=%lu age=%ld enqueue=%d reason=%s cgroup_ino=%lu", __entry->name, - __entry->older, /* older_than_this in jiffies */ - __entry->age, /* older_than_this in relative milliseconds */ + __entry->older, /* dirtied_before in jiffies */ + __entry->age, /* dirtied_before in relative milliseconds */ __entry->moved, __print_symbolic(__entry->reason, WB_WORK_REASON), (unsigned long)__entry->cgroup_ino --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/android/binder.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/android/binder.h @@ -248,6 +248,7 @@ TF_ROOT_OBJECT = 0x04, /* contents are the component's root object */ TF_STATUS_CODE = 0x08, /* contents are a 32-bit status code */ TF_ACCEPT_FDS = 0x10, /* allow replies with file descriptors */ + TF_CLEAR_BUF = 0x20, /* clear buffer on txn complete */ }; struct binder_transaction_data { --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/audit.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/audit.h @@ -139,6 +139,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 contexts */ +#define AUDIT_MAC_OBJ_CONTEXTS 1421 /* Multiple LSM object contexts */ #define AUDIT_FIRST_KERN_ANOM_MSG 1700 #define AUDIT_LAST_KERN_ANOM_MSG 1799 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/aufs_type.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/aufs_type.h @@ -0,0 +1,452 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2005-2020 Junjiro R. Okajima + * + * This program, aufs 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. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef __AUFS_TYPE_H__ +#define __AUFS_TYPE_H__ + +#define AUFS_NAME "aufs" + +#ifdef __KERNEL__ +/* + * define it before including all other headers. + * sched.h may use pr_* macros before defining "current", so define the + * no-current version first, and re-define later. + */ +#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__ +#include +#undef pr_fmt +#define pr_fmt(fmt) \ + AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \ + (int)sizeof(current->comm), current->comm, current->pid +#include +#else +#include +#include +#include +#endif /* __KERNEL__ */ + +#define AUFS_VERSION "5.x-rcN-20200622" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') + +/* ---------------------------------------------------------------------- */ + +#ifdef __KERNEL__ +#ifdef CONFIG_AUFS_BRANCH_MAX_127 +typedef int8_t aufs_bindex_t; +#define AUFS_BRANCH_MAX 127 +#else +typedef int16_t aufs_bindex_t; +#ifdef CONFIG_AUFS_BRANCH_MAX_511 +#define AUFS_BRANCH_MAX 511 +#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) +#define AUFS_BRANCH_MAX 1023 +#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) +#define AUFS_BRANCH_MAX 32767 +#endif +#endif + +#ifndef AUFS_BRANCH_MAX +#error unknown CONFIG_AUFS_BRANCH_MAX value +#endif +#endif /* __KERNEL__ */ + +/* ---------------------------------------------------------------------- */ + +#define AUFS_FSTYPE AUFS_NAME + +#define AUFS_ROOT_INO 2 +#define AUFS_FIRST_INO 11 + +#define AUFS_WH_PFX ".wh." +#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) +#define AUFS_WH_TMP_LEN 4 +/* a limit for rmdir/rename a dir and copyup */ +#define AUFS_MAX_NAMELEN (NAME_MAX \ + - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ + - 1 /* dot */\ + - AUFS_WH_TMP_LEN) /* hex */ +#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" +#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME +#define AUFS_XINO_DEF_SEC 30 /* seconds */ +#define AUFS_XINO_DEF_TRUNC 45 /* percentage */ +#define AUFS_DIRWH_DEF 3 +#define AUFS_RDCACHE_DEF 10 /* seconds */ +#define AUFS_RDCACHE_MAX 3600 /* seconds */ +#define AUFS_RDBLK_DEF 512 /* bytes */ +#define AUFS_RDHASH_DEF 32 +#define AUFS_WKQ_NAME AUFS_NAME "d" +#define AUFS_MFS_DEF_SEC 30 /* seconds */ +#define AUFS_MFS_MAX_SEC 3600 /* seconds */ +#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */ +#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */ + +/* pseudo-link maintenace under /proc */ +#define AUFS_PLINK_MAINT_NAME "plink_maint" +#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME +#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME + +/* dirren, renamed dir */ +#define AUFS_DR_INFO_PFX AUFS_WH_PFX ".dr." +#define AUFS_DR_BRHINO_NAME AUFS_WH_PFX "hino" +/* whiteouted doubly */ +#define AUFS_WH_DR_INFO_PFX AUFS_WH_PFX AUFS_DR_INFO_PFX +#define AUFS_WH_DR_BRHINO AUFS_WH_PFX AUFS_DR_BRHINO_NAME + +#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ +#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME + +#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME +#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" +#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" + +/* doubly whiteouted */ +#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME +#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME +#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME + +/* branch permissions and attributes */ +#define AUFS_BRPERM_RW "rw" +#define AUFS_BRPERM_RO "ro" +#define AUFS_BRPERM_RR "rr" +#define AUFS_BRATTR_COO_REG "coo_reg" +#define AUFS_BRATTR_COO_ALL "coo_all" +#define AUFS_BRATTR_FHSM "fhsm" +#define AUFS_BRATTR_UNPIN "unpin" +#define AUFS_BRATTR_ICEX "icex" +#define AUFS_BRATTR_ICEX_SEC "icexsec" +#define AUFS_BRATTR_ICEX_SYS "icexsys" +#define AUFS_BRATTR_ICEX_TR "icextr" +#define AUFS_BRATTR_ICEX_USR "icexusr" +#define AUFS_BRATTR_ICEX_OTH "icexoth" +#define AUFS_BRRATTR_WH "wh" +#define AUFS_BRWATTR_NLWH "nolwh" +#define AUFS_BRWATTR_MOO "moo" + +#define AuBrPerm_RW 1 /* writable, hardlinkable wh */ +#define AuBrPerm_RO (1 << 1) /* readonly */ +#define AuBrPerm_RR (1 << 2) /* natively readonly */ +#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR) + +#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */ +#define AuBrAttr_COO_ALL (1 << 4) +#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL) + +#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */ +#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of + branch. meaningless since + linux-3.18-rc1 */ + +/* ignore error in copying XATTR */ +#define AuBrAttr_ICEX_SEC (1 << 7) +#define AuBrAttr_ICEX_SYS (1 << 8) +#define AuBrAttr_ICEX_TR (1 << 9) +#define AuBrAttr_ICEX_USR (1 << 10) +#define AuBrAttr_ICEX_OTH (1 << 11) +#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \ + | AuBrAttr_ICEX_SYS \ + | AuBrAttr_ICEX_TR \ + | AuBrAttr_ICEX_USR \ + | AuBrAttr_ICEX_OTH) + +#define AuBrRAttr_WH (1 << 12) /* whiteout-able */ +#define AuBrRAttr_Mask AuBrRAttr_WH + +#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */ +#define AuBrWAttr_MOO (1 << 14) /* move-up on open */ +#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO) + +#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO) + +/* #warning test userspace */ +#ifdef __KERNEL__ +#ifndef CONFIG_AUFS_FHSM +#undef AuBrAttr_FHSM +#define AuBrAttr_FHSM 0 +#endif +#ifndef CONFIG_AUFS_XATTR +#undef AuBrAttr_ICEX +#define AuBrAttr_ICEX 0 +#undef AuBrAttr_ICEX_SEC +#define AuBrAttr_ICEX_SEC 0 +#undef AuBrAttr_ICEX_SYS +#define AuBrAttr_ICEX_SYS 0 +#undef AuBrAttr_ICEX_TR +#define AuBrAttr_ICEX_TR 0 +#undef AuBrAttr_ICEX_USR +#define AuBrAttr_ICEX_USR 0 +#undef AuBrAttr_ICEX_OTH +#define AuBrAttr_ICEX_OTH 0 +#endif +#endif + +/* the longest combination */ +/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */ +#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \ + "+" AUFS_BRATTR_COO_REG \ + "+" AUFS_BRATTR_FHSM \ + "+" AUFS_BRATTR_UNPIN \ + "+" AUFS_BRATTR_ICEX_SEC \ + "+" AUFS_BRATTR_ICEX_SYS \ + "+" AUFS_BRATTR_ICEX_USR \ + "+" AUFS_BRATTR_ICEX_OTH \ + "+" AUFS_BRWATTR_NLWH) + +typedef struct { + char a[AuBrPermStrSz]; +} au_br_perm_str_t; + +static inline int au_br_writable(int brperm) +{ + return brperm & AuBrPerm_RW; +} + +static inline int au_br_whable(int brperm) +{ + return brperm & (AuBrPerm_RW | AuBrRAttr_WH); +} + +static inline int au_br_wh_linkable(int brperm) +{ + return !(brperm & AuBrWAttr_NoLinkWH); +} + +static inline int au_br_cmoo(int brperm) +{ + return brperm & AuBrAttr_CMOO_Mask; +} + +static inline int au_br_fhsm(int brperm) +{ + return brperm & AuBrAttr_FHSM; +} + +/* ---------------------------------------------------------------------- */ + +/* ioctl */ +enum { + /* readdir in userspace */ + AuCtl_RDU, + AuCtl_RDU_INO, + + AuCtl_WBR_FD, /* pathconf wrapper */ + AuCtl_IBUSY, /* busy inode */ + AuCtl_MVDOWN, /* move-down */ + AuCtl_BR, /* info about branches */ + AuCtl_FHSM_FD /* connection for fhsm */ +}; + +/* borrowed from linux/include/linux/kernel.h */ +#ifndef ALIGN +#ifdef _GNU_SOURCE +#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) +#else +#define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) +#endif +#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) +#endif + +/* borrowed from linux/include/linux/compiler-gcc3.h */ +#ifndef __aligned +#define __aligned(x) __attribute__((aligned(x))) +#endif + +#ifdef __KERNEL__ +#ifndef __packed +#define __packed __attribute__((packed)) +#endif +#endif + +struct au_rdu_cookie { + uint64_t h_pos; + int16_t bindex; + uint8_t flags; + uint8_t pad; + uint32_t generation; +} __aligned(8); + +struct au_rdu_ent { + uint64_t ino; + int16_t bindex; + uint8_t type; + uint8_t nlen; + uint8_t wh; + char name[]; +} __aligned(8); + +static inline int au_rdu_len(int nlen) +{ + /* include the terminating NULL */ + return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, + sizeof(uint64_t)); +} + +union au_rdu_ent_ul { + struct au_rdu_ent __user *e; + uint64_t ul; +}; + +enum { + AufsCtlRduV_SZ, + AufsCtlRduV_End +}; + +struct aufs_rdu { + /* input */ + union { + uint64_t sz; /* AuCtl_RDU */ + uint64_t nent; /* AuCtl_RDU_INO */ + }; + union au_rdu_ent_ul ent; + uint16_t verify[AufsCtlRduV_End]; + + /* input/output */ + uint32_t blk; + + /* output */ + union au_rdu_ent_ul tail; + /* number of entries which were added in a single call */ + uint64_t rent; + uint8_t full; + uint8_t shwh; + + struct au_rdu_cookie cookie; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +/* dirren. the branch is identified by the filename who contains this */ +struct au_drinfo { + uint64_t ino; + union { + uint8_t oldnamelen; + uint64_t _padding; + }; + uint8_t oldname[]; +} __aligned(8); + +struct au_drinfo_fdata { + uint32_t magic; + struct au_drinfo drinfo; +} __aligned(8); + +#define AUFS_DRINFO_MAGIC_V1 ('a' << 24 | 'd' << 16 | 'r' << 8 | 0x01) +/* future */ +#define AUFS_DRINFO_MAGIC_V2 ('a' << 24 | 'd' << 16 | 'r' << 8 | 0x02) + +/* ---------------------------------------------------------------------- */ + +struct aufs_wbr_fd { + uint32_t oflags; + int16_t brid; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +struct aufs_ibusy { + uint64_t ino, h_ino; + int16_t bindex; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +/* error code for move-down */ +/* the actual message strings are implemented in aufs-util.git */ +enum { + EAU_MVDOWN_OPAQUE = 1, + EAU_MVDOWN_WHITEOUT, + EAU_MVDOWN_UPPER, + EAU_MVDOWN_BOTTOM, + EAU_MVDOWN_NOUPPER, + EAU_MVDOWN_NOLOWERBR, + EAU_Last +}; + +/* flags for move-down */ +#define AUFS_MVDOWN_DMSG 1 +#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */ +#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */ +#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */ +#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */ +#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */ +#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */ +#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */ +#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */ +#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */ +#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */ +#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */ +#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */ + +/* index for move-down */ +enum { + AUFS_MVDOWN_UPPER, + AUFS_MVDOWN_LOWER, + AUFS_MVDOWN_NARRAY +}; + +/* + * additional info of move-down + * number of free blocks and inodes. + * subset of struct kstatfs, but smaller and always 64bit. + */ +struct aufs_stfs { + uint64_t f_blocks; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; +}; + +struct aufs_stbr { + int16_t brid; /* optional input */ + int16_t bindex; /* output */ + struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */ +} __aligned(8); + +struct aufs_mvdown { + uint32_t flags; /* input/output */ + struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */ + int8_t au_errno; /* output */ +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +union aufs_brinfo { + /* PATH_MAX may differ between kernel-space and user-space */ + char _spacer[4096]; + struct { + int16_t id; + int perm; + char path[]; + }; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +#define AuCtlType 'A' +#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) +#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) +#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ + struct aufs_wbr_fd) +#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) +#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \ + struct aufs_mvdown) +#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo) +#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int) + +#endif /* __AUFS_TYPE_H__ */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/blkzoned.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/blkzoned.h @@ -74,6 +74,15 @@ }; /** + * enum blk_zone_report_flags - Feature flags of reported zone descriptors. + * + * @BLK_ZONE_REP_CAPACITY: Zone descriptor has capacity field. + */ +enum blk_zone_report_flags { + BLK_ZONE_REP_CAPACITY = (1 << 0), +}; + +/** * struct blk_zone - Zone descriptor for BLKREPORTZONE ioctl. * * @start: Zone start in 512 B sector units @@ -99,7 +108,9 @@ __u8 cond; /* Zone condition */ __u8 non_seq; /* Non-sequential write resources active */ __u8 reset; /* Reset write pointer recommended */ - __u8 reserved[36]; + __u8 resv[4]; + __u64 capacity; /* Zone capacity in number of sectors */ + __u8 reserved[24]; }; /** @@ -115,7 +126,7 @@ struct blk_zone_report { __u64 sector; __u32 nr_zones; - __u8 reserved[4]; + __u32 flags; struct blk_zone zones[0]; }; --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/bpf.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/bpf.h @@ -1416,8 +1416,8 @@ * Return * The return value depends on the result of the test, and can be: * - * * 0, if the *skb* task belongs to the cgroup2. - * * 1, if the *skb* task does not belong to the cgroup2. + * * 0, if current task belongs to the cgroup2. + * * 1, if current task does not belong to the cgroup2. * * A negative error code, if an error occurred. * * int bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags) @@ -3168,7 +3168,7 @@ * Return * The id is returned or 0 in case the id could not be retrieved. * - * int bpf_ringbuf_output(void *ringbuf, void *data, u64 size, u64 flags) + * long bpf_ringbuf_output(void *ringbuf, void *data, u64 size, u64 flags) * Description * Copy *size* bytes from *data* into a ring buffer *ringbuf*. * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/btrfs.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/btrfs.h @@ -243,6 +243,13 @@ __u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */ }; +/* + * Retrieve information about the filesystem + */ + +/* Request information about checksum type and size */ +#define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0) + struct btrfs_ioctl_fs_info_args { __u64 max_id; /* out */ __u64 num_devices; /* out */ @@ -250,8 +257,11 @@ __u32 nodesize; /* out */ __u32 sectorsize; /* out */ __u32 clone_alignment; /* out */ - __u32 reserved32; - __u64 reserved[122]; /* pad to 1k */ + /* See BTRFS_FS_INFO_FLAG_* */ + __u16 csum_type; /* out */ + __u16 csum_size; /* out */ + __u64 flags; /* in/out */ + __u8 reserved[968]; /* pad to 1k */ }; /* --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/btrfs_tree.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/btrfs_tree.h @@ -4,6 +4,11 @@ #include #include +#ifdef __KERNEL__ +#include +#else +#include +#endif /* * This header contains the structure definitions and constants used @@ -645,6 +650,15 @@ } __attribute__ ((__packed__)); /* + * Btrfs root item used to be smaller than current size. The old format ends + * at where member generation_v2 is. + */ +static inline __u32 btrfs_legacy_root_item_size(void) +{ + return offsetof(struct btrfs_root_item, generation_v2); +} + +/* * this is used for both forward and backward root refs */ struct btrfs_root_ref { --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/capability.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/capability.h @@ -333,7 +333,8 @@ #define CAP_AUDIT_CONTROL 30 -/* Set or remove capabilities on files */ +/* Set or remove capabilities on files. + Map uid=0 into a child user namespace. */ #define CAP_SETFCAP 31 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/const.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/const.h @@ -28,4 +28,9 @@ #define _BITUL(x) (_UL(1) << (x)) #define _BITULL(x) (_ULL(1) << (x)) +#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1) +#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) + +#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) + #endif /* _UAPI_LINUX_CONST_H */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/ethtool.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/ethtool.h @@ -14,7 +14,7 @@ #ifndef _UAPI_LINUX_ETHTOOL_H #define _UAPI_LINUX_ETHTOOL_H -#include +#include #include #include --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/fscrypt.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/fscrypt.h @@ -20,7 +20,6 @@ #define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04 #define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 0x08 #define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 0x10 -#define FSCRYPT_POLICY_FLAGS_VALID 0x1F /* Encryption algorithms */ #define FSCRYPT_MODE_AES_256_XTS 1 @@ -28,7 +27,7 @@ #define FSCRYPT_MODE_AES_128_CBC 5 #define FSCRYPT_MODE_AES_128_CTS 6 #define FSCRYPT_MODE_ADIANTUM 9 -#define __FSCRYPT_MODE_MAX 9 +/* If adding a mode number > 9, update FSCRYPT_MODE_MAX in fscrypt_private.h */ /* * Legacy policy version; ad-hoc KDF and no key verification. @@ -177,7 +176,7 @@ #define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32 #define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK #define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY -#define FS_POLICY_FLAGS_VALID FSCRYPT_POLICY_FLAGS_VALID +#define FS_POLICY_FLAGS_VALID 0x07 /* contains old flags only */ #define FS_ENCRYPTION_MODE_INVALID 0 /* never used */ #define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS #define FS_ENCRYPTION_MODE_AES_256_GCM 2 /* never used */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/icmpv6.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/icmpv6.h @@ -137,6 +137,7 @@ #define ICMPV6_HDR_FIELD 0 #define ICMPV6_UNK_NEXTHDR 1 #define ICMPV6_UNK_OPTION 2 +#define ICMPV6_HDR_INCOMP 3 /* * constants for (set|get)sockopt --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/idxd.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/idxd.h @@ -181,8 +181,8 @@ uint32_t bytes_completed; uint64_t fault_addr; union { - uint16_t delta_rec_size; - uint16_t crc_val; + uint32_t delta_rec_size; + uint32_t crc_val; /* DIF check & strip */ struct { --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/if_alg.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/if_alg.h @@ -24,6 +24,22 @@ __u8 salg_name[64]; }; +/* + * Linux v4.12 and later removed the 64-byte limit on salg_name[]; it's now an + * arbitrary-length field. We had to keep the original struct above for source + * compatibility with existing userspace programs, though. Use the new struct + * below if support for very long algorithm names is needed. To do this, + * allocate 'sizeof(struct sockaddr_alg_new) + strlen(algname) + 1' bytes, and + * copy algname (including the null terminator) into salg_name. + */ +struct sockaddr_alg_new { + __u16 salg_family; + __u8 salg_type[14]; + __u32 salg_feat; + __u32 salg_mask; + __u8 salg_name[]; +}; + struct af_alg_iv { __u32 ivlen; __u8 iv[0]; --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/if_link.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/if_link.h @@ -548,6 +548,7 @@ IFLA_VXLAN_GPE, IFLA_VXLAN_TTL_INHERIT, IFLA_VXLAN_DF, + IFLA_VXLAN_FAN_MAP = 33, __IFLA_VXLAN_MAX }; #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/if_tunnel.h +++ linux-riscv-5.8-5.8.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) @@ -180,4 +184,19 @@ #define TUNNEL_OPTIONS_PRESENT \ (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_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-riscv-5.8-5.8.0.orig/include/uapi/linux/kd.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/kd.h @@ -46,6 +46,8 @@ #define KD_GRAPHICS 0x01 #define KD_TEXT0 0x02 /* obsolete */ #define KD_TEXT1 0x03 /* obsolete */ +#define KD_TRANSPARENT 0x04 + #define KDGETMODE 0x4B3B /* get current mode */ #define KDMAPDISP 0x4B3C /* map display into address space */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/kernel.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/kernel.h @@ -3,13 +3,6 @@ #define _UAPI_LINUX_KERNEL_H #include - -/* - * 'kernel.h' contains some often-used function prototypes etc - */ -#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1) -#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) - -#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) +#include #endif /* _UAPI_LINUX_KERNEL_H */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/kvm.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/kvm.h @@ -789,9 +789,10 @@ #define KVM_VM_PPC_HV 1 #define KVM_VM_PPC_PR 2 -/* on MIPS, 0 forces trap & emulate, 1 forces VZ ASE */ -#define KVM_VM_MIPS_TE 0 +/* on MIPS, 0 indicates auto, 1 forces VZ ASE, 2 forces trap & emulate */ +#define KVM_VM_MIPS_AUTO 0 #define KVM_VM_MIPS_VZ 1 +#define KVM_VM_MIPS_TE 2 #define KVM_S390_SIE_PAGE_OFFSET 1 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/lightnvm.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/lightnvm.h @@ -21,7 +21,7 @@ #define _UAPI_LINUX_LIGHTNVM_H #ifdef __KERNEL__ -#include +#include #include #else /* __KERNEL__ */ #include --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/magic.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/magic.h @@ -98,4 +98,6 @@ #define Z3FOLD_MAGIC 0x33 #define PPC_CMM_MAGIC 0xc7571590 +#define SHIFTFS_MAGIC 0x6a656a62 + #endif /* __LINUX_MAGIC_H__ */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/mroute6.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/mroute6.h @@ -2,7 +2,7 @@ #ifndef _UAPI__LINUX_MROUTE6_H #define _UAPI__LINUX_MROUTE6_H -#include +#include #include #include #include /* For struct sockaddr_in6. */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/ndctl.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/ndctl.h @@ -245,6 +245,10 @@ #define NVDIMM_FAMILY_MSFT 3 #define NVDIMM_FAMILY_HYPERV 4 #define NVDIMM_FAMILY_PAPR 5 +#define NVDIMM_FAMILY_MAX NVDIMM_FAMILY_PAPR + +#define NVDIMM_BUS_FAMILY_NFIT 0 +#define NVDIMM_BUS_FAMILY_MAX NVDIMM_BUS_FAMILY_NFIT #define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\ struct nd_cmd_pkg) --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/netfilter/nf_tables.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/netfilter/nf_tables.h @@ -133,7 +133,7 @@ * @NFTA_LIST_ELEM: list element (NLA_NESTED) */ enum nft_list_attributes { - NFTA_LIST_UNPEC, + NFTA_LIST_UNSPEC, NFTA_LIST_ELEM, __NFTA_LIST_MAX }; --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/netfilter/nfnetlink_cthelper.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/netfilter/nfnetlink_cthelper.h @@ -5,7 +5,7 @@ #define NFCT_HELPER_STATUS_DISABLED 0 #define NFCT_HELPER_STATUS_ENABLED 1 -enum nfnl_acct_msg_types { +enum nfnl_cthelper_msg_types { NFNL_MSG_CTHELPER_NEW, NFNL_MSG_CTHELPER_GET, NFNL_MSG_CTHELPER_DEL, --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/netfilter/x_tables.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/netfilter/x_tables.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI_X_TABLES_H #define _UAPI_X_TABLES_H -#include +#include #include #define XT_FUNCTION_MAXNAMELEN 30 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/netlink.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/netlink.h @@ -2,7 +2,7 @@ #ifndef _UAPI__LINUX_NETLINK_H #define _UAPI__LINUX_NETLINK_H -#include +#include #include /* for __kernel_sa_family_t */ #include --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/nfs4.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/nfs4.h @@ -136,6 +136,8 @@ #define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000 #define EXCHGID4_FLAG_CONFIRMED_R 0x80000000 + +#define EXCHGID4_FLAG_SUPP_FENCE_OPS 0x00000004 /* * Since the validity of these bits depends on whether * they're set in the argument or response, have separate @@ -143,6 +145,7 @@ */ #define EXCHGID4_FLAG_MASK_A 0x40070103 #define EXCHGID4_FLAG_MASK_R 0x80070103 +#define EXCHGID4_2_FLAG_MASK_R 0x80070107 #define SEQ4_STATUS_CB_PATH_DOWN 0x00000001 #define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/openvswitch.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/openvswitch.h @@ -1057,4 +1057,6 @@ __OVS_DEC_TTL_ATTR_MAX }; +#define OVS_DEC_TTL_ATTR_MAX (__OVS_DEC_TTL_ATTR_MAX - 1) + #endif /* _LINUX_OPENVSWITCH_H */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/pci_regs.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/pci_regs.h @@ -76,6 +76,7 @@ #define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */ #define PCI_LATENCY_TIMER 0x0d /* 8 bits */ #define PCI_HEADER_TYPE 0x0e /* 8 bits */ +#define PCI_HEADER_TYPE_MASK 0x7f #define PCI_HEADER_TYPE_NORMAL 0 #define PCI_HEADER_TYPE_BRIDGE 1 #define PCI_HEADER_TYPE_CARDBUS 2 --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/perf_event.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/perf_event.h @@ -1155,7 +1155,7 @@ #define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ /* 1 free */ -#define PERF_MEM_SNOOPX_SHIFT 37 +#define PERF_MEM_SNOOPX_SHIFT 38 /* locked instruction */ #define PERF_MEM_LOCK_NA 0x01 /* not available */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/psample.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/psample.h @@ -3,7 +3,6 @@ #define __UAPI_PSAMPLE_H enum { - /* sampled packet metadata */ PSAMPLE_ATTR_IIFINDEX, PSAMPLE_ATTR_OIFINDEX, PSAMPLE_ATTR_ORIGSIZE, @@ -11,10 +10,8 @@ PSAMPLE_ATTR_GROUP_SEQ, PSAMPLE_ATTR_SAMPLE_RATE, PSAMPLE_ATTR_DATA, - PSAMPLE_ATTR_TUNNEL, - - /* commands attributes */ PSAMPLE_ATTR_GROUP_REFCOUNT, + PSAMPLE_ATTR_TUNNEL, __PSAMPLE_ATTR_MAX }; --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/ptrace.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/ptrace.h @@ -81,7 +81,8 @@ struct ptrace_syscall_info { __u8 op; /* PTRACE_SYSCALL_INFO_* */ - __u32 arch __attribute__((__aligned__(sizeof(__u32)))); + __u8 pad[3]; + __u32 arch; __u64 instruction_pointer; __u64 stack_pointer; union { --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/rpl.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/rpl.h @@ -28,10 +28,10 @@ pad:4, reserved1:16; #elif defined(__BIG_ENDIAN_BITFIELD) - __u32 reserved:20, + __u32 cmpri:4, + cmpre:4, pad:4, - cmpri:4, - cmpre:4; + reserved:20; #else #error "Please fix " #endif --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/seccomp.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/seccomp.h @@ -123,5 +123,6 @@ #define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif) #define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \ struct seccomp_notif_resp) -#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOR(2, __u64) +#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64) + #endif /* _UAPI_LINUX_SECCOMP_H */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/stat.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/stat.h @@ -171,9 +171,12 @@ * be of use to ordinary userspace programs such as GUIs or ls rather than * specialised tools. * - * Note that the flags marked [I] correspond to generic FS_IOC_FLAGS + * Note that the flags marked [I] correspond to the FS_IOC_SETFLAGS flags * semantically. Where possible, the numerical value is picked to correspond - * also. + * also. Note that the DAX attribute indicates that the file is in the CPU + * direct access state. It does not correspond to the per-inode flag that + * some filesystems support. + * */ #define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */ #define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */ @@ -183,7 +186,7 @@ #define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */ #define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */ #define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */ -#define STATX_ATTR_DAX 0x00002000 /* [I] File is DAX */ +#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */ #endif /* _UAPI_LINUX_STAT_H */ --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/sysctl.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/sysctl.h @@ -23,7 +23,7 @@ #ifndef _UAPI_LINUX_SYSCTL_H #define _UAPI_LINUX_SYSCTL_H -#include +#include #include #include @@ -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-riscv-5.8-5.8.0.orig/include/uapi/linux/usb/ch9.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/usb/ch9.h @@ -364,6 +364,9 @@ /*-------------------------------------------------------------------------*/ +/* USB String descriptors can contain at most 126 characters. */ +#define USB_MAX_STRING_LEN 126 + /* USB_DT_STRING: String descriptor */ struct usb_string_descriptor { __u8 bLength; --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/v4l2-subdev.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/v4l2-subdev.h @@ -168,7 +168,7 @@ }; /* The v4l2 sub-device video device node is registered in read-only mode. */ -#define V4L2_SUBDEV_CAP_RO_SUBDEV BIT(0) +#define V4L2_SUBDEV_CAP_RO_SUBDEV 0x00000001 /* Backwards compatibility define --- to be removed */ #define v4l2_subdev_edid v4l2_edid --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/vfio.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/vfio.h @@ -1039,6 +1039,21 @@ __u64 max_dirty_bitmap_size; /* in bytes */ }; +/* + * The DMA available capability allows to report the current number of + * simultaneously outstanding DMA mappings that are allowed. + * + * The structure below defines version 1 of this capability. + * + * avail: specifies the current number of outstanding DMA mappings allowed. + */ +#define VFIO_IOMMU_TYPE1_INFO_DMA_AVAIL 3 + +struct vfio_iommu_type1_info_dma_avail { + struct vfio_info_cap_header header; + __u32 avail; +}; + #define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) /** --- linux-riscv-5.8-5.8.0.orig/include/uapi/linux/videodev2.h +++ linux-riscv-5.8-5.8.0/include/uapi/linux/videodev2.h @@ -371,9 +371,9 @@ enum v4l2_quantization { /* - * The default for R'G'B' quantization is always full range, except - * for the BT2020 colorspace. For Y'CbCr the quantization is always - * limited range, except for COLORSPACE_JPEG: this is full range. + * The default for R'G'B' quantization is always full range. + * For Y'CbCr the quantization is always limited range, except + * for COLORSPACE_JPEG: this is full range. */ V4L2_QUANTIZATION_DEFAULT = 0, V4L2_QUANTIZATION_FULL_RANGE = 1, @@ -382,14 +382,13 @@ /* * Determine how QUANTIZATION_DEFAULT should map to a proper quantization. - * This depends on whether the image is RGB or not, the colorspace and the - * Y'CbCr encoding. + * This depends on whether the image is RGB or not, the colorspace. + * The Y'CbCr encoding is not used anymore, but is still there for backwards + * compatibility. */ #define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb_or_hsv, colsp, ycbcr_enc) \ - (((is_rgb_or_hsv) && (colsp) == V4L2_COLORSPACE_BT2020) ? \ - V4L2_QUANTIZATION_LIM_RANGE : \ - (((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? \ - V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE)) + (((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? \ + V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE) /* * Deprecated names for opRGB colorspace (IEC 61966-2-5) --- linux-riscv-5.8-5.8.0.orig/include/uapi/rdma/efa-abi.h +++ linux-riscv-5.8-5.8.0/include/uapi/rdma/efa-abi.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */ /* - * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved. + * Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All rights reserved. */ #ifndef EFA_ABI_USER_H @@ -20,6 +20,16 @@ * hex bit offset of the field. */ +enum { + EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH = 1 << 0, + EFA_ALLOC_UCONTEXT_CMD_COMP_MIN_SQ_WR = 1 << 1, +}; + +struct efa_ibv_alloc_ucontext_cmd { + __u32 comp_mask; + __u8 reserved_20[4]; +}; + enum efa_ibv_user_cmds_supp_udata { EFA_USER_CMDS_SUPP_UDATA_QUERY_DEVICE = 1 << 0, EFA_USER_CMDS_SUPP_UDATA_CREATE_AH = 1 << 1, @@ -31,6 +41,9 @@ __u16 sub_cqs_per_cq; __u16 inline_buf_size; __u32 max_llq_size; /* bytes */ + __u16 max_tx_batch; /* units of 64 bytes */ + __u16 min_sq_wr; + __u8 reserved_a0[4]; }; struct efa_ibv_alloc_pd_resp { --- linux-riscv-5.8-5.8.0.orig/include/uapi/rdma/qedr-abi.h +++ linux-riscv-5.8-5.8.0/include/uapi/rdma/qedr-abi.h @@ -39,8 +39,9 @@ /* user kernel communication data structures. */ enum qedr_alloc_ucontext_flags { - QEDR_ALLOC_UCTX_RESERVED = 1 << 0, - QEDR_ALLOC_UCTX_DB_REC = 1 << 1 + QEDR_ALLOC_UCTX_EDPM_MODE = 1 << 0, + QEDR_ALLOC_UCTX_DB_REC = 1 << 1, + QEDR_SUPPORT_DPM_SIZES = 1 << 2, }; struct qedr_alloc_ucontext_req { @@ -50,13 +51,14 @@ #define QEDR_LDPM_MAX_SIZE (8192) #define QEDR_EDPM_TRANS_SIZE (64) +#define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE) enum qedr_rdma_dpm_type { QEDR_DPM_TYPE_NONE = 0, QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0, QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1, QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2, - QEDR_DPM_TYPE_RESERVED = 1 << 3, + QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3, QEDR_DPM_SIZES_SET = 1 << 4, }; @@ -77,6 +79,8 @@ __u16 ldpm_limit_size; __u8 edpm_trans_size; __u8 reserved; + __u16 edpm_limit_size; + __u8 padding[6]; }; struct qedr_alloc_pd_ureq { --- linux-riscv-5.8-5.8.0.orig/include/uapi/rdma/vmw_pvrdma-abi.h +++ linux-riscv-5.8-5.8.0/include/uapi/rdma/vmw_pvrdma-abi.h @@ -133,6 +133,13 @@ PVRDMA_WC_FLAGS_MAX = PVRDMA_WC_WITH_NETWORK_HDR_TYPE, }; +enum pvrdma_network_type { + PVRDMA_NETWORK_IB, + PVRDMA_NETWORK_ROCE_V1 = PVRDMA_NETWORK_IB, + PVRDMA_NETWORK_IPV4, + PVRDMA_NETWORK_IPV6 +}; + struct pvrdma_alloc_ucontext_resp { __u32 qp_tab_size; __u32 reserved; --- linux-riscv-5.8-5.8.0.orig/include/xen/events.h +++ linux-riscv-5.8-5.8.0/include/xen/events.h @@ -15,10 +15,15 @@ unsigned xen_evtchn_nr_channels(void); int bind_evtchn_to_irq(evtchn_port_t evtchn); +int bind_evtchn_to_irq_lateeoi(evtchn_port_t evtchn); int bind_evtchn_to_irqhandler(evtchn_port_t evtchn, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id); +int bind_evtchn_to_irqhandler_lateeoi(evtchn_port_t evtchn, + irq_handler_t handler, + unsigned long irqflags, const char *devname, + void *dev_id); int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu); int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu, irq_handler_t handler, @@ -32,12 +37,20 @@ void *dev_id); int bind_interdomain_evtchn_to_irq(unsigned int remote_domain, evtchn_port_t remote_port); +int bind_interdomain_evtchn_to_irq_lateeoi(unsigned int remote_domain, + evtchn_port_t remote_port); int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain, evtchn_port_t remote_port, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id); +int bind_interdomain_evtchn_to_irqhandler_lateeoi(unsigned int remote_domain, + evtchn_port_t remote_port, + irq_handler_t handler, + unsigned long irqflags, + const char *devname, + void *dev_id); /* * Common unbind function for all event sources. Takes IRQ to unbind from. @@ -46,6 +59,14 @@ */ void unbind_from_irqhandler(unsigned int irq, void *dev_id); +/* + * Send late EOI for an IRQ bound to an event channel via one of the *_lateeoi + * functions above. + */ +void xen_irq_lateeoi(unsigned int irq, unsigned int eoi_flags); +/* Signal an event was spurious, i.e. there was no action resulting from it. */ +#define XEN_EOI_FLAG_SPURIOUS 0x00000001 + #define XEN_IRQ_PRIORITY_MAX EVTCHN_FIFO_PRIORITY_MAX #define XEN_IRQ_PRIORITY_DEFAULT EVTCHN_FIFO_PRIORITY_DEFAULT #define XEN_IRQ_PRIORITY_MIN EVTCHN_FIFO_PRIORITY_MIN --- linux-riscv-5.8-5.8.0.orig/include/xen/grant_table.h +++ linux-riscv-5.8-5.8.0/include/xen/grant_table.h @@ -157,6 +157,7 @@ map->flags = flags; map->ref = ref; map->dom = domid; + map->status = 1; /* arbitrary positive value */ } static inline void @@ -198,6 +199,19 @@ int gnttab_alloc_pages(int nr_pages, struct page **pages); void gnttab_free_pages(int nr_pages, struct page **pages); +struct gnttab_page_cache { + spinlock_t lock; + struct list_head pages; + unsigned int num_pages; +}; + +void gnttab_page_cache_init(struct gnttab_page_cache *cache); +int gnttab_page_cache_get(struct gnttab_page_cache *cache, struct page **page); +void gnttab_page_cache_put(struct gnttab_page_cache *cache, struct page **page, + unsigned int num); +void gnttab_page_cache_shrink(struct gnttab_page_cache *cache, + unsigned int num); + #ifdef CONFIG_XEN_GRANT_DMA_ALLOC struct gnttab_dma_alloc_args { /* Device for which DMA memory will be/was allocated. */ --- linux-riscv-5.8-5.8.0.orig/include/xen/xenbus.h +++ linux-riscv-5.8-5.8.0/include/xen/xenbus.h @@ -61,6 +61,15 @@ /* Path being watched. */ const char *node; + unsigned int nr_pending; + + /* + * Called just before enqueing new event while a spinlock is held. + * The event will be discarded if this callback returns false. + */ + bool (*will_handle)(struct xenbus_watch *, + const char *path, const char *token); + /* Callback (executed in a process context with no locks held). */ void (*callback)(struct xenbus_watch *, const char *path, const char *token); @@ -183,8 +192,6 @@ struct work_struct; -void xenbus_probe(struct work_struct *); - #define XENBUS_IS_ERR_READ(str) ({ \ if (!IS_ERR(str) && strlen(str) == 0) { \ kfree(str); \ @@ -197,10 +204,14 @@ int xenbus_watch_path(struct xenbus_device *dev, const char *path, struct xenbus_watch *watch, + bool (*will_handle)(struct xenbus_watch *, + const char *, const char *), void (*callback)(struct xenbus_watch *, const char *, const char *)); -__printf(4, 5) +__printf(5, 6) int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch, + bool (*will_handle)(struct xenbus_watch *, + const char *, const char *), void (*callback)(struct xenbus_watch *, const char *, const char *), const char *pathfmt, ...); --- linux-riscv-5.8-5.8.0.orig/init/Kconfig +++ linux-riscv-5.8-5.8.0/init/Kconfig @@ -110,8 +110,7 @@ config COMPILE_TEST bool "Compile also drivers which will not load" - depends on !UML - default n + depends on HAS_IOMEM help Some drivers can be compiled on a different platform than they are intended to be run on. Despite they cannot be loaded there (or even @@ -314,6 +313,15 @@ config ARCH_NO_SWAP bool +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 SWAP bool "Support for paging of anonymous memory (swap)" depends on MMU && BLOCK && !ARCH_NO_SWAP @@ -654,7 +662,8 @@ config LOG_BUF_SHIFT int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" - range 12 25 + range 12 25 if !H8300 + range 12 19 if H8300 default 17 depends on PRINTK help @@ -1161,6 +1170,7 @@ config CHECKPOINT_RESTORE bool "Checkpoint/restore support" select PROC_CHILDREN + select KCMP default n help Enables additional kernel features in a sake of checkpoint/restore. @@ -1695,6 +1705,16 @@ config ARCH_HAS_MEMBARRIER_SYNC_CORE bool +config KCMP + bool "Enable kcmp() system call" if EXPERT + help + Enable the kernel resource comparison system call. It provides + user-space with the ability to compare two processes to see if they + share a common resource, such as a file descriptor or even virtual + memory space. + + If unsure, say N. + config RSEQ bool "Enable rseq() system call" if EXPERT default y --- linux-riscv-5.8-5.8.0.orig/init/do_mounts.c +++ linux-riscv-5.8-5.8.0/init/do_mounts.c @@ -631,6 +631,7 @@ void __init prepare_namespace(void) { int is_floppy; + int err; if (root_delay) { printk(KERN_INFO "Waiting %d sec before mounting root device...\n", @@ -684,6 +685,13 @@ devtmpfs_mount(); do_mount(".", "/", NULL, MS_MOVE, NULL); ksys_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-riscv-5.8-5.8.0.orig/init/init_task.c +++ linux-riscv-5.8-5.8.0/init/init_task.c @@ -26,7 +26,7 @@ .multiprocess = HLIST_HEAD_INIT, .rlim = INIT_RLIMITS, .cred_guard_mutex = __MUTEX_INITIALIZER(init_signals.cred_guard_mutex), - .exec_update_mutex = __MUTEX_INITIALIZER(init_signals.exec_update_mutex), + .exec_update_lock = __RWSEM_INITIALIZER(init_signals.exec_update_lock), #ifdef CONFIG_POSIX_TIMERS .posix_timers = LIST_HEAD_INIT(init_signals.posix_timers), .cputimer = { @@ -113,6 +113,9 @@ .thread = INIT_THREAD, .fs = &init_fs, .files = &init_files, +#ifdef CONFIG_IO_URING + .io_uring = NULL, +#endif .signal = &init_signals, .sighand = &init_sighand, .nsproxy = &init_nsproxy, @@ -193,7 +196,8 @@ .lockdep_recursion = 0, #endif #ifdef CONFIG_FUNCTION_GRAPH_TRACER - .ret_stack = NULL, + .ret_stack = NULL, + .tracing_graph_pause = ATOMIC_INIT(0), #endif #if defined(CONFIG_TRACING) && defined(CONFIG_PREEMPTION) .trace_recursion = 0, --- linux-riscv-5.8-5.8.0.orig/init/initramfs.c +++ linux-riscv-5.8-5.8.0/init/initramfs.c @@ -528,7 +528,7 @@ #include #include -void __weak free_initrd_mem(unsigned long start, unsigned long end) +void __weak __init free_initrd_mem(unsigned long start, unsigned long end) { #ifdef CONFIG_ARCH_KEEP_MEMBLOCK unsigned long aligned_start = ALIGN_DOWN(start, PAGE_SIZE); --- linux-riscv-5.8-5.8.0.orig/init/main.c +++ linux-riscv-5.8-5.8.0/init/main.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -265,14 +266,24 @@ u32 size, csum; char *data; u32 *hdr; + int i; if (!initrd_end) return NULL; data = (char *)initrd_end - BOOTCONFIG_MAGIC_LEN; - if (memcmp(data, BOOTCONFIG_MAGIC, BOOTCONFIG_MAGIC_LEN)) - return NULL; + /* + * Since Grub may align the size of initrd to 4, we must + * check the preceding 3 bytes as well. + */ + for (i = 0; i < 4; i++) { + if (!memcmp(data, BOOTCONFIG_MAGIC, BOOTCONFIG_MAGIC_LEN)) + goto found; + data--; + } + return NULL; +found: hdr = (u32 *)(data - 8); size = hdr[0]; csum = hdr[1]; @@ -387,8 +398,6 @@ { if (strcmp(param, "bootconfig") == 0) { bootconfig_found = true; - } else if (strcmp(param, "--") == 0) { - initargs_found = true; } return 0; } @@ -399,19 +408,23 @@ const char *msg; int pos; u32 size, csum; - char *data, *copy; + char *data, *copy, *err; int ret; /* Cut out the bootconfig data even if we have no bootconfig option */ data = get_boot_config_from_initrd(&size, &csum); strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE); - parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL, - bootconfig_params); + err = parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL, + bootconfig_params); - if (!bootconfig_found) + if (IS_ERR(err) || !bootconfig_found) return; + /* parse_args() stops at '--' and returns an address */ + if (err) + initargs_found = true; + if (!data) { pr_err("'bootconfig' found on command line, but no bootconfig found\n"); return; @@ -1136,22 +1149,22 @@ static __init_or_module void trace_initcall_start_cb(void *data, initcall_t fn) { - ktime_t *calltime = (ktime_t *)data; + unsigned long *calltime = (unsigned long *)data; printk(KERN_DEBUG "calling %pS @ %i\n", fn, task_pid_nr(current)); - *calltime = ktime_get(); + *calltime = local_clock(); } static __init_or_module void trace_initcall_finish_cb(void *data, initcall_t fn, int ret) { - ktime_t *calltime = (ktime_t *)data; - ktime_t delta, rettime; + unsigned long *calltime = (unsigned long *)data; + unsigned long delta, rettime; unsigned long long duration; - rettime = ktime_get(); - delta = ktime_sub(rettime, *calltime); - duration = (unsigned long long) ktime_to_ns(delta) >> 10; + rettime = local_clock(); + delta = rettime - *calltime; + duration = delta >> 10; printk(KERN_DEBUG "initcall %pS returned %d after %lld usecs\n", fn, ret, duration); } @@ -1399,7 +1412,9 @@ kernel_init_freeable(); /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); + kprobe_free_init_mem(); ftrace_free_init_mem(); + kgdb_free_init_mem(); free_initmem(); mark_readonly(); --- linux-riscv-5.8-5.8.0.orig/init/version.c +++ linux-riscv-5.8-5.8.0/init/version.c @@ -45,7 +45,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-riscv-5.8-5.8.0.orig/ipc/namespace.c +++ linux-riscv-5.8-5.8.0/ipc/namespace.c @@ -172,6 +172,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-riscv-5.8-5.8.0.orig/kernel/Makefile +++ linux-riscv-5.8-5.8.0/kernel/Makefile @@ -49,7 +49,7 @@ obj-y += livepatch/ obj-y += dma/ -obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o +obj-$(CONFIG_KCMP) += kcmp.o obj-$(CONFIG_FREEZER) += freezer.o obj-$(CONFIG_PROFILING) += profile.o obj-$(CONFIG_STACKTRACE) += stacktrace.o @@ -98,7 +98,6 @@ obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o obj-$(CONFIG_TRACEPOINTS) += tracepoint.o obj-$(CONFIG_LATENCYTOP) += latencytop.o -obj-$(CONFIG_ELFCORE) += elfcore.o obj-$(CONFIG_FUNCTION_TRACER) += trace/ obj-$(CONFIG_TRACING) += trace/ obj-$(CONFIG_TRACE_CLOCK) += trace/ @@ -125,6 +124,7 @@ obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o +CFLAGS_stackleak.o += $(DISABLE_STACKLEAK_PLUGIN) obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o KASAN_SANITIZE_stackleak.o := n KCSAN_SANITIZE_stackleak.o := n --- linux-riscv-5.8-5.8.0.orig/kernel/audit.c +++ linux-riscv-5.8-5.8.0/kernel/audit.c @@ -125,7 +125,7 @@ /* The identity of the user shutting down the audit system. */ kuid_t audit_sig_uid = INVALID_UID; pid_t audit_sig_pid = -1; -u32 audit_sig_sid = 0; +struct lsmblob audit_sig_lsm; /* Records can be lost in several ways: 0) [suppressed in audit_alloc] @@ -389,10 +389,11 @@ return rc; audit_log_format(ab, "op=set %s=%u old=%u ", function_name, new, old); audit_log_session_info(ab); - rc = audit_log_task_context(ab); + rc = audit_log_task_context(ab, NULL); if (rc) allow_changes = 0; /* Something weird, deny request */ audit_log_format(ab, " res=%d", allow_changes); + audit_log_lsm(NULL, false); audit_log_end(ab); return rc; } @@ -1065,13 +1066,31 @@ return; audit_log_format(*ab, "pid=%d uid=%u ", pid, uid); audit_log_session_info(*ab); - audit_log_task_context(*ab); + audit_log_task_context(*ab, NULL); } static inline void audit_log_user_recv_msg(struct audit_buffer **ab, u16 msg_type) { - audit_log_common_recv_msg(NULL, ab, msg_type); + struct audit_context *context; + + if (!lsm_multiple_contexts()) { + audit_log_common_recv_msg(NULL, ab, msg_type); + return; + } + + context = audit_context(); + if (context) { + if (!context->in_syscall) + audit_stamp_context(context); + audit_log_common_recv_msg(context, ab, msg_type); + return; + } + + audit_alloc(current); + context = audit_context(); + + audit_log_common_recv_msg(context, ab, msg_type); } int is_audit_feature_set(int i) @@ -1186,8 +1205,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) @@ -1362,6 +1379,7 @@ audit_log_n_untrustedstring(ab, str, data_len); } audit_log_end(ab); + audit_log_lsm(NULL, false); } break; case AUDIT_ADD_RULE: @@ -1428,29 +1446,34 @@ 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 = { }; + int len = 0; + + 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(sizeof(*sig_data) + len, GFP_KERNEL); + sig_data = kmalloc(sizeof(*sig_data) + 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)) { + len = context.len; + memcpy(sig_data->ctx, context.context, len); + security_release_secctx(&context); } audit_send_reply(skb, seq, AUDIT_SIGNAL_INFO, 0, 0, sig_data, sizeof(*sig_data) + len); kfree(sig_data); break; + } case AUDIT_TTY_GET: { struct audit_tty_status s; unsigned int t; @@ -1557,7 +1580,7 @@ tty ? tty_name(tty) : "(none)", audit_get_sessionid(current)); audit_put_tty(tty); - audit_log_task_context(ab); /* subj= */ + audit_log_task_context(ab, NULL); /* subj= */ audit_log_format(ab, " comm="); audit_log_untrustedstring(ab, get_task_comm(comm, current)); audit_log_d_path_exe(ab, current->mm); /* exe= */ @@ -1851,6 +1874,11 @@ } audit_get_stamp(ab->ctx, &t, &serial); + if (type == AUDIT_MAC_TASK_CONTEXTS && ab->ctx && + ab->ctx->serial == 0) { + audit_stamp_context(ab->ctx); + audit_get_stamp(ab->ctx, &t, &serial); + } audit_log_format(ab, "audit(%llu.%03lu:%u): ", (unsigned long long)t.tv_sec, t.tv_nsec/1000000, serial); @@ -2108,34 +2136,103 @@ audit_log_format(ab, "(null)"); } -int audit_log_task_context(struct audit_buffer *ab) +int audit_log_task_context(struct audit_buffer *ab, struct lsmblob *blob) { - char *ctx = NULL; - unsigned len; + int i; int error; - u32 sid; + struct lsmblob localblob; + struct lsmcontext lsmdata; - security_task_getsecid(current, &sid); - if (!sid) + /* + * If there is more than one security module that has a + * subject "context" it's necessary to put the subject data + * into a separate record to maintain compatibility. + */ + if (lsm_multiple_contexts()) { + audit_log_format(ab, " subj=?"); return 0; + } - error = security_secid_to_secctx(sid, &ctx, &len); - if (error) { - if (error != -EINVAL) - goto error_path; - return 0; + if (blob == NULL) { + security_task_getsecid(current, &localblob); + if (!lsmblob_is_set(&localblob)) { + audit_log_format(ab, " subj=?"); + return 0; + } + blob = &localblob; } - audit_log_format(ab, " subj=%s", ctx); - security_release_secctx(ctx, len); - return 0; + for (i = 0; i < LSMBLOB_ENTRIES; i++) { + if (blob->secid[i] == 0) + continue; + error = security_secid_to_secctx(blob, &lsmdata, i); + if (error && error != -EINVAL) { + audit_panic("error in audit_log_task_context"); + return error; + } -error_path: - audit_panic("error in audit_log_task_context"); - return error; + audit_log_format(ab, " subj=%s", lsmdata.context); + security_release_secctx(&lsmdata); + break; + } + + return 0; } EXPORT_SYMBOL(audit_log_task_context); +int audit_log_object_context(struct audit_buffer *ab, + struct lsmblob *blob) +{ + int i; + int error; + bool sep = false; + struct lsmcontext lsmdata; + struct audit_buffer *lsmab = NULL; + struct audit_context *context = NULL; + + /* + * If there is more than one security module that has a + * object "context" it's necessary to put the object data + * into a separate record to maintain compatibility. + */ + if (lsm_multiple_contexts()) { + audit_log_format(ab, " obj=?"); + context = ab->ctx; + if (context) + lsmab = audit_log_start(context, GFP_KERNEL, + AUDIT_MAC_OBJ_CONTEXTS); + } + + for (i = 0; i < LSMBLOB_ENTRIES; i++) { + if (blob->secid[i] == 0) + continue; + error = security_secid_to_secctx(blob, &lsmdata, i); + if (error && error != -EINVAL) { + audit_panic("error in audit_log_object_context"); + return error; + } + + if (context) { + audit_log_format(lsmab, "%sobj_%s=%s", + sep ? " " : "", + security_lsm_slot_name(i), + lsmdata.context); + sep = true; + } else + audit_log_format(ab, " obj=%s", lsmdata.context); + + security_release_secctx(&lsmdata); + if (!context) + break; + } + + if (context) + audit_log_end(lsmab); + + return 0; +} +EXPORT_SYMBOL(audit_log_object_context); + void audit_log_d_path_exe(struct audit_buffer *ab, struct mm_struct *mm) { @@ -2204,7 +2301,7 @@ audit_log_format(ab, " comm="); audit_log_untrustedstring(ab, get_task_comm(comm, current)); audit_log_d_path_exe(ab, current->mm); - audit_log_task_context(ab); + audit_log_task_context(ab, NULL); } EXPORT_SYMBOL(audit_log_task_info); @@ -2262,6 +2359,7 @@ if (!audit_enabled) return; + audit_stamp_context(audit_context()); ab = audit_log_start(audit_context(), GFP_KERNEL, AUDIT_LOGIN); if (!ab) return; @@ -2272,11 +2370,12 @@ tty = audit_get_tty(); audit_log_format(ab, "pid=%d uid=%u", task_tgid_nr(current), uid); - audit_log_task_context(ab); + audit_log_task_context(ab, NULL); audit_log_format(ab, " old-auid=%u auid=%u tty=%s old-ses=%u ses=%u res=%d", oldloginuid, loginuid, tty ? tty_name(tty) : "(none)", oldsessionid, sessionid, !rc); audit_put_tty(tty); + audit_log_lsm(NULL, true); audit_log_end(ab); } @@ -2336,7 +2435,7 @@ audit_sig_uid = auid; else audit_sig_uid = uid; - security_task_getsecid(current, &audit_sig_sid); + security_task_getsecid(current, &audit_sig_lsm); } return audit_signal_info_syscall(t); --- linux-riscv-5.8-5.8.0.orig/kernel/audit.h +++ linux-riscv-5.8-5.8.0/kernel/audit.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -77,7 +78,7 @@ kuid_t uid; kgid_t gid; dev_t rdev; - u32 osid; + struct lsmblob oblob; struct audit_cap_data fcap; unsigned int fcap_ver; unsigned char type; /* record type */ @@ -134,7 +135,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; @@ -151,7 +152,7 @@ kuid_t uid; kgid_t gid; umode_t mode; - u32 osid; + struct lsmblob oblob; int has_perm; uid_t perm_uid; gid_t perm_gid; @@ -329,7 +330,7 @@ extern pid_t audit_sig_pid; extern kuid_t audit_sig_uid; -extern u32 audit_sig_sid; +extern struct lsmblob audit_sig_lsm; extern int audit_filter(int msgtype, unsigned int listtype); --- linux-riscv-5.8-5.8.0.orig/kernel/auditfilter.c +++ linux-riscv-5.8-5.8.0/kernel/auditfilter.c @@ -74,7 +74,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); } } @@ -519,9 +519,10 @@ goto exit_free; } entry->rule.buflen += f_val; + f->lsm_isset = true; 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) { @@ -774,7 +775,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) @@ -788,9 +789,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) { @@ -842,7 +843,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) { @@ -1106,7 +1107,7 @@ if (!ab) return; audit_log_session_info(ab); - audit_log_task_context(ab); + audit_log_task_context(ab, NULL); audit_log_format(ab, " op=%s", action); audit_log_key(ab, rule->filterkey); audit_log_format(ab, " list=%d res=%d", rule->listnr, res); @@ -1329,7 +1330,7 @@ for (i = 0; i < e->rule.field_count; i++) { struct audit_field *f = &e->rule.fields[i]; pid_t pid; - u32 sid; + struct lsmblob blob; switch (f->type) { case AUDIT_PID: @@ -1358,10 +1359,11 @@ case AUDIT_SUBJ_TYPE: case AUDIT_SUBJ_SEN: case AUDIT_SUBJ_CLR: - if (f->lsm_rule) { - security_task_getsecid(current, &sid); - result = security_audit_rule_match(sid, - f->type, f->op, f->lsm_rule); + if (f->lsm_isset) { + security_task_getsecid(current, &blob); + result = security_audit_rule_match( + &blob, f->type, f->op, + f->lsm_rules); } break; case AUDIT_EXE: @@ -1388,7 +1390,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; @@ -1420,7 +1422,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 @@ -1435,7 +1437,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-riscv-5.8-5.8.0.orig/kernel/auditsc.c +++ linux-riscv-5.8-5.8.0/kernel/auditsc.c @@ -112,7 +112,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; }; @@ -455,7 +455,7 @@ { const struct cred *cred; int i, need_sid = 1; - u32 sid; + struct lsmblob blob = { }; unsigned int sessionid; cred = rcu_dereference_check(tsk->cred, tsk == current || task_creation); @@ -649,14 +649,15 @@ 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_isset) { if (need_sid) { - security_task_getsecid(tsk, &sid); + security_task_getsecid(tsk, &blob); need_sid = 0; } - result = security_audit_rule_match(sid, f->type, + result = security_audit_rule_match(&blob, + f->type, f->op, - f->lsm_rule); + f->lsm_rules); } break; case AUDIT_OBJ_USER: @@ -666,21 +667,21 @@ 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_isset) { /* Find files that match */ if (name) { result = security_audit_rule_match( - name->osid, + &blob, 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, + &blob, f->type, f->op, - f->lsm_rule)) { + f->lsm_rules)) { ++result; break; } @@ -689,9 +690,9 @@ /* Find ipc objects that match */ if (!ctx || ctx->type != AUDIT_IPC) break; - if (security_audit_rule_match(ctx->ipc.osid, + if (security_audit_rule_match(&ctx->ipc.oblob, f->type, f->op, - f->lsm_rule)) + f->lsm_rules)) ++result; } break; @@ -933,10 +934,12 @@ return 0; /* Return if not auditing. */ state = audit_filter_task(tsk, &key); - if (state == AUDIT_DISABLED) { + if (!lsm_multiple_contexts() && state == AUDIT_DISABLED) { clear_tsk_thread_flag(tsk, TIF_SYSCALL_AUDIT); return 0; } + if (state == AUDIT_DISABLED) + clear_tsk_thread_flag(tsk, TIF_SYSCALL_AUDIT); if (!(context = audit_alloc_context(state))) { kfree(key); @@ -964,12 +967,11 @@ } 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) + 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); @@ -979,15 +981,7 @@ 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); - } - } + rc = audit_log_object_context(ab, blob); audit_log_format(ab, " ocomm="); audit_log_untrustedstring(ab, comm); audit_log_end(ab); @@ -1214,23 +1208,14 @@ context->socketcall.args[i]); break; } case AUDIT_IPC: { - u32 osid = context->ipc.osid; + struct lsmblob *oblob = &context->ipc.oblob; audit_log_format(ab, "ouid=%u ogid=%u mode=%#ho", from_kuid(&init_user_ns, context->ipc.uid), from_kgid(&init_user_ns, context->ipc.gid), context->ipc.mode); - if (osid) { - char *ctx = NULL; - u32 len; - 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); - } - } + if (audit_log_object_context(ab, oblob)) + *call_panic = 1; if (context->ipc.has_perm) { audit_log_end(ab); ab = audit_log_start(context, GFP_KERNEL, @@ -1370,20 +1355,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 (audit_log_object_context(ab, &n->oblob) && call_panic) + *call_panic = 2; /* log the audit_names record type */ switch (n->type) { @@ -1452,6 +1425,52 @@ audit_log_end(ab); } +void audit_log_lsm(struct lsmblob *blob, bool exiting) +{ + struct audit_context *context = audit_context(); + struct lsmcontext lsmdata; + struct audit_buffer *ab; + struct lsmblob localblob; + bool sep = false; + int error; + int i; + + if (!lsm_multiple_contexts()) + return; + + if (context && context->in_syscall && !exiting) + return; + + ab = audit_log_start(context, GFP_ATOMIC, AUDIT_MAC_TASK_CONTEXTS); + if (!ab) + return; /* audit_panic or being filtered */ + + if (blob == NULL) { + security_task_getsecid(current, &localblob); + if (!lsmblob_is_set(&localblob)) + return; + blob = &localblob; + } + + for (i = 0; i < LSMBLOB_ENTRIES; i++) { + if (blob->secid[i] == 0) + continue; + error = security_secid_to_secctx(blob, &lsmdata, i); + if (error && error != -EINVAL) { + audit_panic("error in audit_log_lsm"); + return; + } + + audit_log_format(ab, "%ssubj_%s=%s", sep ? " " : "", + security_lsm_slot_name(i), lsmdata.context); + sep = true; + + security_release_secctx(&lsmdata); + } + + audit_log_end(ab); +} + static void audit_log_exit(void) { int i, call_panic = 0; @@ -1547,7 +1566,7 @@ axs->target_auid[i], axs->target_uid[i], axs->target_sessionid[i], - axs->target_sid[i], + &axs->target_lsm[i], axs->target_comm[i])) call_panic = 1; } @@ -1556,7 +1575,7 @@ audit_log_pid_context(context, context->target_pid, context->target_auid, context->target_uid, context->target_sessionid, - context->target_sid, context->target_comm)) + &context->target_lsm, context->target_comm)) call_panic = 1; if (context->pwd.dentry && context->pwd.mnt) { @@ -1575,6 +1594,7 @@ } audit_log_proctitle(); + audit_log_lsm(NULL, true); /* Send end of event record to help user space know we are finished */ ab = audit_log_start(context, GFP_KERNEL, AUDIT_EOE); @@ -1734,7 +1754,7 @@ context->aux = NULL; context->aux_pids = NULL; context->target_pid = 0; - context->target_sid = 0; + lsmblob_init(&context->target_lsm, 0); context->sockaddr_len = 0; context->type = 0; context->fds[0] = -1; @@ -1938,7 +1958,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->oblob); if (flags & AUDIT_INODE_NOEVAL) { name->fcap_ver = -1; return; @@ -2170,6 +2190,21 @@ EXPORT_SYMBOL_GPL(__audit_inode_child); /** + * audit_stamp_context - set the timestamp+serial in an audit context + * @ctx: audit_context to set + */ +void audit_stamp_context(struct audit_context *ctx) +{ + /* ctx will be NULL unless lsm_multiple_contexts() is true */ + if (!ctx) + return; + + ktime_get_coarse_real_ts64(&ctx->ctime); + ctx->serial = audit_serial(); + ctx->current_state = AUDIT_BUILD_CONTEXT; +} + +/** * 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 @@ -2180,6 +2215,12 @@ int auditsc_get_stamp(struct audit_context *ctx, struct timespec64 *t, unsigned int *serial) { + if (ctx->serial && !ctx->in_syscall) { + t->tv_sec = ctx->ctime.tv_sec; + t->tv_nsec = ctx->ctime.tv_nsec; + *serial = ctx->serial; + return 1; + } if (!ctx->in_syscall) return 0; if (!ctx->serial) @@ -2288,7 +2329,7 @@ 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, &context->ipc.oblob); context->type = AUDIT_IPC; } @@ -2383,7 +2424,7 @@ context->target_auid = audit_get_loginuid(t); context->target_uid = task_uid(t); context->target_sessionid = audit_get_sessionid(t); - security_task_getsecid(t, &context->target_sid); + security_task_getsecid(t, &context->target_lsm); memcpy(context->target_comm, t->comm, TASK_COMM_LEN); } @@ -2410,7 +2451,7 @@ ctx->target_auid = audit_get_loginuid(t); ctx->target_uid = t_uid; ctx->target_sessionid = audit_get_sessionid(t); - security_task_getsecid(t, &ctx->target_sid); + security_task_getsecid(t, &ctx->target_lsm); memcpy(ctx->target_comm, t->comm, TASK_COMM_LEN); return 0; } @@ -2431,7 +2472,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(t, &axp->target_sid[axp->pid_count]); + security_task_getsecid(t, &axp->target_lsm[axp->pid_count]); memcpy(axp->target_comm[axp->pid_count], t->comm, TASK_COMM_LEN); axp->pid_count++; @@ -2569,7 +2610,7 @@ name, af, nentries, audit_nfcfgs[op].s); audit_log_format(ab, " pid=%u", task_pid_nr(current)); - audit_log_task_context(ab); /* subj= */ + audit_log_task_context(ab, NULL); /* subj= */ audit_log_format(ab, " comm="); audit_log_untrustedstring(ab, get_task_comm(comm, current)); audit_log_end(ab); @@ -2592,7 +2633,7 @@ from_kuid(&init_user_ns, uid), from_kgid(&init_user_ns, gid), sessionid); - audit_log_task_context(ab); + audit_log_task_context(ab, NULL); audit_log_format(ab, " pid=%d comm=", task_tgid_nr(current)); audit_log_untrustedstring(ab, get_task_comm(comm, current)); audit_log_d_path_exe(ab, current->mm); @@ -2615,11 +2656,13 @@ if (signr == SIGQUIT) /* don't care for those */ return; + audit_stamp_context(audit_context()); ab = audit_log_start(audit_context(), GFP_KERNEL, AUDIT_ANOM_ABEND); if (unlikely(!ab)) return; audit_log_task(ab); audit_log_format(ab, " sig=%ld res=1", signr); + audit_log_lsm(NULL, true); audit_log_end(ab); } --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/Makefile +++ linux-riscv-5.8-5.8.0/kernel/bpf/Makefile @@ -1,6 +1,10 @@ # SPDX-License-Identifier: GPL-2.0 obj-y := core.o -CFLAGS_core.o += $(call cc-disable-warning, override-init) +ifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y) +# ___bpf_prog_run() needs GCSE disabled on x86; see 3193c0836f203 for details +cflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) := -fno-gcse +endif +CFLAGS_core.o += $(call cc-disable-warning, override-init) $(cflags-nogcse-yy) obj-$(CONFIG_BPF_SYSCALL) += syscall.o verifier.o inode.o helpers.o tnum.o bpf_iter.o map_iter.o task_iter.o obj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o lpm_trie.o map_in_map.o --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/bpf_iter.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/bpf_iter.c @@ -64,6 +64,9 @@ iter_priv->done_stop = true; } +/* maximum visited objects before bailing out */ +#define MAX_ITER_OBJECTS 1000000 + /* bpf_seq_read, a customized and simpler version for bpf iterator. * no_llseek is assumed for this file. * The following are differences from seq_read(): @@ -76,7 +79,7 @@ { struct seq_file *seq = file->private_data; size_t n, offs, copied = 0; - int err = 0; + int err = 0, num_objs = 0; void *p; mutex_lock(&seq->lock); @@ -132,6 +135,7 @@ while (1) { loff_t pos = seq->index; + num_objs++; offs = seq->count; p = seq->op->next(seq, p, &seq->index); if (pos == seq->index) { @@ -150,6 +154,15 @@ if (seq->count >= size) break; + if (num_objs >= MAX_ITER_OBJECTS) { + if (offs == 0) { + err = -EAGAIN; + seq->op->stop(seq, p); + goto done; + } + break; + } + err = seq->op->show(seq, p); if (err > 0) { bpf_iter_dec_seq_num(seq); @@ -243,7 +256,7 @@ { struct bpf_iter_target_info *tinfo; - tinfo = kmalloc(sizeof(*tinfo), GFP_KERNEL); + tinfo = kzalloc(sizeof(*tinfo), GFP_KERNEL); if (!tinfo) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/bpf_lru_list.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/bpf_lru_list.c @@ -502,13 +502,14 @@ static void bpf_common_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) { + u8 node_type = READ_ONCE(node->type); unsigned long flags; - if (WARN_ON_ONCE(node->type == BPF_LRU_LIST_T_FREE) || - WARN_ON_ONCE(node->type == BPF_LRU_LOCAL_LIST_T_FREE)) + if (WARN_ON_ONCE(node_type == BPF_LRU_LIST_T_FREE) || + WARN_ON_ONCE(node_type == BPF_LRU_LOCAL_LIST_T_FREE)) return; - if (node->type == BPF_LRU_LOCAL_LIST_T_PENDING) { + if (node_type == BPF_LRU_LOCAL_LIST_T_PENDING) { struct bpf_lru_locallist *loc_l; loc_l = per_cpu_ptr(lru->common_lru.local_list, node->cpu); --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/cgroup.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/cgroup.c @@ -1367,12 +1367,13 @@ if (ctx.optlen != 0) { *optlen = ctx.optlen; *kernel_optval = ctx.optval; + /* export and don't free sockopt buf */ + return 0; } } out: - if (ret) - sockopt_free_buf(&ctx); + sockopt_free_buf(&ctx); return ret; } @@ -1417,6 +1418,11 @@ goto out; } + if (ctx.optlen < 0) { + ret = -EFAULT; + goto out; + } + if (copy_from_user(ctx.optval, optval, min(ctx.optlen, max_optlen)) != 0) { ret = -EFAULT; @@ -1434,7 +1440,7 @@ goto out; } - if (ctx.optlen > max_optlen) { + if (ctx.optlen > max_optlen || ctx.optlen < 0) { ret = -EFAULT; goto out; } --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/core.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/core.c @@ -1364,7 +1364,7 @@ * * Decode and execute eBPF instructions. */ -static u64 __no_fgcse ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn, u64 *stack) +static u64 ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn, u64 *stack) { #define BPF_INSN_2_LBL(x, y) [BPF_##x | BPF_##y] = &&x##_##y #define BPF_INSN_3_LBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = &&x##_##y##_##z --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/devmap.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/devmap.c @@ -808,9 +808,7 @@ break; /* will be freed in free_netdev() */ - netdev->xdp_bulkq = - __alloc_percpu_gfp(sizeof(struct xdp_dev_bulk_queue), - sizeof(void *), GFP_ATOMIC); + netdev->xdp_bulkq = alloc_percpu(struct xdp_dev_bulk_queue); if (!netdev->xdp_bulkq) return NOTIFY_BAD; --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/hashtab.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/hashtab.c @@ -821,6 +821,32 @@ } } +static void pcpu_init_value(struct bpf_htab *htab, void __percpu *pptr, + void *value, bool onallcpus) +{ + /* When using prealloc and not setting the initial value on all cpus, + * zero-fill element values for other cpus (just as what happens when + * not using prealloc). Otherwise, bpf program has no way to ensure + * known initial values for cpus other than current one + * (onallcpus=false always when coming from bpf prog). + */ + if (htab_is_prealloc(htab) && !onallcpus) { + u32 size = round_up(htab->map.value_size, 8); + int current_cpu = raw_smp_processor_id(); + int cpu; + + for_each_possible_cpu(cpu) { + if (cpu == current_cpu) + bpf_long_memcpy(per_cpu_ptr(pptr, cpu), value, + size); + else + memset(per_cpu_ptr(pptr, cpu), 0, size); + } + } else { + pcpu_copy_value(htab, pptr, value, onallcpus); + } +} + static bool fd_htab_map_needs_adjust(const struct bpf_htab *htab) { return htab->map.map_type == BPF_MAP_TYPE_HASH_OF_MAPS && @@ -891,7 +917,7 @@ } } - pcpu_copy_value(htab, pptr, value, onallcpus); + pcpu_init_value(htab, pptr, value, onallcpus); if (!prealloc) htab_elem_set_ptr(l_new, key_size, pptr); @@ -1183,7 +1209,7 @@ pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), value, onallcpus); } else { - pcpu_copy_value(htab, htab_elem_get_ptr(l_new, key_size), + pcpu_init_value(htab, htab_elem_get_ptr(l_new, key_size), value, onallcpus); hlist_nulls_add_head_rcu(&l_new->hash_node, head); l_new = NULL; --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/helpers.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/helpers.c @@ -108,7 +108,7 @@ } const struct bpf_func_proto bpf_map_peek_elem_proto = { - .func = bpf_map_pop_elem, + .func = bpf_map_peek_elem, .gpl_only = false, .ret_type = RET_INTEGER, .arg1_type = ARG_CONST_MAP_PTR, --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/inode.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/inode.c @@ -226,10 +226,12 @@ else prev_key = key; + rcu_read_lock(); if (map->ops->map_get_next_key(map, prev_key, key)) { map_iter(m)->done = true; - return NULL; + key = NULL; } + rcu_read_unlock(); return key; } @@ -521,7 +523,7 @@ else if (type == BPF_TYPE_MAP) ret = bpf_map_new_fd(raw, f_flags); else if (type == BPF_TYPE_LINK) - ret = bpf_link_new_fd(raw); + ret = (f_flags != O_RDWR) ? -EINVAL : bpf_link_new_fd(raw); else return -ENOENT; --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/map_iter.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/map_iter.c @@ -6,7 +6,7 @@ #include struct bpf_iter_seq_map_info { - u32 mid; + u32 map_id; }; static void *bpf_map_seq_start(struct seq_file *seq, loff_t *pos) @@ -14,27 +14,23 @@ struct bpf_iter_seq_map_info *info = seq->private; struct bpf_map *map; - map = bpf_map_get_curr_or_next(&info->mid); + map = bpf_map_get_curr_or_next(&info->map_id); if (!map) return NULL; - ++*pos; + if (*pos == 0) + ++*pos; return map; } static void *bpf_map_seq_next(struct seq_file *seq, void *v, loff_t *pos) { struct bpf_iter_seq_map_info *info = seq->private; - struct bpf_map *map; ++*pos; - ++info->mid; + ++info->map_id; bpf_map_put((struct bpf_map *)v); - map = bpf_map_get_curr_or_next(&info->mid); - if (!map) - return NULL; - - return map; + return bpf_map_get_curr_or_next(&info->map_id); } struct bpf_iter__bpf_map { --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/percpu_freelist.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/percpu_freelist.c @@ -17,6 +17,8 @@ raw_spin_lock_init(&head->lock); head->first = NULL; } + raw_spin_lock_init(&s->extralist.lock); + s->extralist.first = NULL; return 0; } @@ -40,12 +42,50 @@ raw_spin_unlock(&head->lock); } +static inline bool pcpu_freelist_try_push_extra(struct pcpu_freelist *s, + struct pcpu_freelist_node *node) +{ + if (!raw_spin_trylock(&s->extralist.lock)) + return false; + + pcpu_freelist_push_node(&s->extralist, node); + raw_spin_unlock(&s->extralist.lock); + return true; +} + +static inline void ___pcpu_freelist_push_nmi(struct pcpu_freelist *s, + struct pcpu_freelist_node *node) +{ + int cpu, orig_cpu; + + orig_cpu = cpu = raw_smp_processor_id(); + while (1) { + struct pcpu_freelist_head *head; + + head = per_cpu_ptr(s->freelist, cpu); + if (raw_spin_trylock(&head->lock)) { + pcpu_freelist_push_node(head, node); + raw_spin_unlock(&head->lock); + return; + } + cpu = cpumask_next(cpu, cpu_possible_mask); + if (cpu >= nr_cpu_ids) + cpu = 0; + + /* cannot lock any per cpu lock, try extralist */ + if (cpu == orig_cpu && + pcpu_freelist_try_push_extra(s, node)) + return; + } +} + void __pcpu_freelist_push(struct pcpu_freelist *s, struct pcpu_freelist_node *node) { - struct pcpu_freelist_head *head = this_cpu_ptr(s->freelist); - - ___pcpu_freelist_push(head, node); + if (in_nmi()) + ___pcpu_freelist_push_nmi(s, node); + else + ___pcpu_freelist_push(this_cpu_ptr(s->freelist), node); } void pcpu_freelist_push(struct pcpu_freelist *s, @@ -81,7 +121,7 @@ } } -struct pcpu_freelist_node *__pcpu_freelist_pop(struct pcpu_freelist *s) +static struct pcpu_freelist_node *___pcpu_freelist_pop(struct pcpu_freelist *s) { struct pcpu_freelist_head *head; struct pcpu_freelist_node *node; @@ -102,8 +142,59 @@ if (cpu >= nr_cpu_ids) cpu = 0; if (cpu == orig_cpu) - return NULL; + break; + } + + /* per cpu lists are all empty, try extralist */ + raw_spin_lock(&s->extralist.lock); + node = s->extralist.first; + if (node) + s->extralist.first = node->next; + raw_spin_unlock(&s->extralist.lock); + return node; +} + +static struct pcpu_freelist_node * +___pcpu_freelist_pop_nmi(struct pcpu_freelist *s) +{ + struct pcpu_freelist_head *head; + struct pcpu_freelist_node *node; + int orig_cpu, cpu; + + orig_cpu = cpu = raw_smp_processor_id(); + while (1) { + head = per_cpu_ptr(s->freelist, cpu); + if (raw_spin_trylock(&head->lock)) { + node = head->first; + if (node) { + head->first = node->next; + raw_spin_unlock(&head->lock); + return node; + } + raw_spin_unlock(&head->lock); + } + cpu = cpumask_next(cpu, cpu_possible_mask); + if (cpu >= nr_cpu_ids) + cpu = 0; + if (cpu == orig_cpu) + break; } + + /* cannot pop from per cpu lists, try extralist */ + if (!raw_spin_trylock(&s->extralist.lock)) + return NULL; + node = s->extralist.first; + if (node) + s->extralist.first = node->next; + raw_spin_unlock(&s->extralist.lock); + return node; +} + +struct pcpu_freelist_node *__pcpu_freelist_pop(struct pcpu_freelist *s) +{ + if (in_nmi()) + return ___pcpu_freelist_pop_nmi(s); + return ___pcpu_freelist_pop(s); } struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *s) --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/percpu_freelist.h +++ linux-riscv-5.8-5.8.0/kernel/bpf/percpu_freelist.h @@ -13,6 +13,7 @@ struct pcpu_freelist { struct pcpu_freelist_head __percpu *freelist; + struct pcpu_freelist_head extralist; }; struct pcpu_freelist_node { --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/ringbuf.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/ringbuf.c @@ -247,25 +247,20 @@ return -ENOTSUPP; } -static size_t bpf_ringbuf_mmap_page_cnt(const struct bpf_ringbuf *rb) -{ - size_t data_pages = (rb->mask + 1) >> PAGE_SHIFT; - - /* consumer page + producer page + 2 x data pages */ - return RINGBUF_POS_PAGES + 2 * data_pages; -} - static int ringbuf_map_mmap(struct bpf_map *map, struct vm_area_struct *vma) { struct bpf_ringbuf_map *rb_map; - size_t mmap_sz; rb_map = container_of(map, struct bpf_ringbuf_map, map); - mmap_sz = bpf_ringbuf_mmap_page_cnt(rb_map->rb) << PAGE_SHIFT; - - if (vma->vm_pgoff * PAGE_SIZE + (vma->vm_end - vma->vm_start) > mmap_sz) - return -EINVAL; + if (vma->vm_flags & VM_WRITE) { + /* allow writable mapping for the consumer_pos only */ + if (vma->vm_pgoff != 0 || vma->vm_end - vma->vm_start != PAGE_SIZE) + return -EPERM; + } else { + vma->vm_flags &= ~VM_MAYWRITE; + } + /* remap_vmalloc_range() checks size and offset constraints */ return remap_vmalloc_range(vma, rb_map->rb, vma->vm_pgoff + RINGBUF_PGOFF); } @@ -337,6 +332,9 @@ return NULL; len = round_up(size + BPF_RINGBUF_HDR_SZ, 8); + if (len > rb->mask + 1) + return NULL; + cons_pos = smp_load_acquire(&rb->consumer_pos); if (in_nmi()) { --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/stackmap.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/stackmap.c @@ -114,6 +114,8 @@ /* hash table size must be power of 2 */ n_buckets = roundup_pow_of_two(attr->max_entries); + if (!n_buckets) + return ERR_PTR(-E2BIG); cost = n_buckets * sizeof(struct stack_map_bucket *) + sizeof(*smap); cost += n_buckets * (value_size + sizeof(struct stack_map_bucket)); --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/syscall.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/syscall.c @@ -2629,7 +2629,7 @@ u32 ulen = info->raw_tracepoint.tp_name_len; size_t tp_len = strlen(tp_name); - if (ulen && !ubuf) + if (!ulen ^ !ubuf) return -EINVAL; info->raw_tracepoint.tp_name_len = tp_len + 1; --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/sysfs_btf.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/sysfs_btf.c @@ -30,15 +30,15 @@ static int __init btf_vmlinux_init(void) { - if (!__start_BTF) + bin_attr_btf_vmlinux.size = __stop_BTF - __start_BTF; + + if (!__start_BTF || bin_attr_btf_vmlinux.size == 0) return 0; btf_kobj = kobject_create_and_add("btf", kernel_kobj); if (!btf_kobj) return -ENOMEM; - bin_attr_btf_vmlinux.size = __stop_BTF - __start_BTF; - return sysfs_create_bin_file(btf_kobj, &bin_attr_btf_vmlinux); } --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/task_iter.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/task_iter.c @@ -28,8 +28,9 @@ rcu_read_lock(); retry: - pid = idr_get_next(&ns->idr, tid); + pid = find_ge_pid(*tid, ns); if (pid) { + *tid = pid_nr_ns(pid, ns); task = get_pid_task(pid, PIDTYPE_PID); if (!task) { ++*tid; @@ -50,7 +51,8 @@ if (!task) return NULL; - ++*pos; + if (*pos == 0) + ++*pos; return task; } @@ -126,8 +128,7 @@ }; static struct file * -task_file_seq_get_next(struct bpf_iter_seq_task_file_info *info, - struct task_struct **task, struct files_struct **fstruct) +task_file_seq_get_next(struct bpf_iter_seq_task_file_info *info) { struct pid_namespace *ns = info->common.ns; u32 curr_tid = info->tid, max_fds; @@ -140,26 +141,29 @@ * Otherwise, it does not hold any reference. */ again: - if (*task) { - curr_task = *task; - curr_files = *fstruct; + if (info->task) { + curr_task = info->task; + curr_files = info->files; curr_fd = info->fd; } else { curr_task = task_seq_get_next(ns, &curr_tid); - if (!curr_task) + if (!curr_task) { + info->task = NULL; + info->files = NULL; + info->tid = curr_tid; return NULL; + } curr_files = get_files_struct(curr_task); if (!curr_files) { put_task_struct(curr_task); - curr_tid = ++(info->tid); + curr_tid = curr_tid + 1; info->fd = 0; goto again; } - /* set *fstruct, *task and info->tid */ - *fstruct = curr_files; - *task = curr_task; + info->files = curr_files; + info->task = curr_task; if (curr_tid == info->tid) { curr_fd = info->fd; } else { @@ -176,10 +180,11 @@ f = fcheck_files(curr_files, curr_fd); if (!f) continue; + if (!get_file_rcu(f)) + continue; /* set info->fd */ info->fd = curr_fd; - get_file(f); rcu_read_unlock(); return f; } @@ -188,8 +193,8 @@ rcu_read_unlock(); put_files_struct(curr_files); put_task_struct(curr_task); - *task = NULL; - *fstruct = NULL; + info->task = NULL; + info->files = NULL; info->fd = 0; curr_tid = ++(info->tid); goto again; @@ -198,20 +203,13 @@ static void *task_file_seq_start(struct seq_file *seq, loff_t *pos) { struct bpf_iter_seq_task_file_info *info = seq->private; - struct files_struct *files = NULL; - struct task_struct *task = NULL; struct file *file; - file = task_file_seq_get_next(info, &task, &files); - if (!file) { - info->files = NULL; - info->task = NULL; - return NULL; - } - - ++*pos; - info->task = task; - info->files = files; + info->task = NULL; + info->files = NULL; + file = task_file_seq_get_next(info); + if (file && *pos == 0) + ++*pos; return file; } @@ -219,24 +217,11 @@ static void *task_file_seq_next(struct seq_file *seq, void *v, loff_t *pos) { struct bpf_iter_seq_task_file_info *info = seq->private; - struct files_struct *files = info->files; - struct task_struct *task = info->task; - struct file *file; ++*pos; ++info->fd; fput((struct file *)v); - file = task_file_seq_get_next(info, &task, &files); - if (!file) { - info->files = NULL; - info->task = NULL; - return NULL; - } - - info->task = task; - info->files = files; - - return file; + return task_file_seq_get_next(info); } struct bpf_iter__task_file { --- linux-riscv-5.8-5.8.0.orig/kernel/bpf/verifier.c +++ linux-riscv-5.8-5.8.0/kernel/bpf/verifier.c @@ -1267,30 +1267,26 @@ static bool __reg64_bound_s32(s64 a) { - if (a > S32_MIN && a < S32_MAX) - return true; - return false; + return a > S32_MIN && a < S32_MAX; } static bool __reg64_bound_u32(u64 a) { - if (a > U32_MIN && a < U32_MAX) - return true; - return false; + return a > U32_MIN && a < U32_MAX; } static void __reg_combine_64_into_32(struct bpf_reg_state *reg) { __mark_reg32_unbounded(reg); - if (__reg64_bound_s32(reg->smin_value)) + if (__reg64_bound_s32(reg->smin_value) && __reg64_bound_s32(reg->smax_value)) { reg->s32_min_value = (s32)reg->smin_value; - if (__reg64_bound_s32(reg->smax_value)) reg->s32_max_value = (s32)reg->smax_value; - if (__reg64_bound_u32(reg->umin_value)) + } + if (__reg64_bound_u32(reg->umin_value) && __reg64_bound_u32(reg->umax_value)) { reg->u32_min_value = (u32)reg->umin_value; - if (__reg64_bound_u32(reg->umax_value)) reg->u32_max_value = (u32)reg->umax_value; + } /* Intersecting with the old var_off might have improved our bounds * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), @@ -1470,6 +1466,10 @@ for (i = 0; i < insn_cnt; i++) { u8 code = insn[i].code; + if (code == (BPF_JMP | BPF_CALL) && + insn[i].imm == BPF_FUNC_tail_call && + insn[i].src_reg != BPF_PSEUDO_CALL) + subprog[cur_subprog].has_tail_call = true; if (BPF_CLASS(code) != BPF_JMP && BPF_CLASS(code) != BPF_JMP32) goto next; if (BPF_OP(code) == BPF_EXIT || BPF_OP(code) == BPF_CALL) @@ -2160,6 +2160,8 @@ case PTR_TO_XDP_SOCK: case PTR_TO_BTF_ID: case PTR_TO_BTF_ID_OR_NULL: + case PTR_TO_MEM: + case PTR_TO_MEM_OR_NULL: return true; default: return false; @@ -2951,6 +2953,31 @@ int ret_prog[MAX_CALL_FRAMES]; process_func: + /* protect against potential stack overflow that might happen when + * bpf2bpf calls get combined with tailcalls. Limit the caller's stack + * depth for such case down to 256 so that the worst case scenario + * would result in 8k stack size (32 which is tailcall limit * 256 = + * 8k). + * + * To get the idea what might happen, see an example: + * func1 -> sub rsp, 128 + * subfunc1 -> sub rsp, 256 + * tailcall1 -> add rsp, 256 + * func2 -> sub rsp, 192 (total stack size = 128 + 192 = 320) + * subfunc2 -> sub rsp, 64 + * subfunc22 -> sub rsp, 128 + * tailcall2 -> add rsp, 128 + * func3 -> sub rsp, 32 (total stack size 128 + 192 + 64 + 32 = 416) + * + * tailcall will unwind the current stack frame but it will not get rid + * of caller's stack as shown on the example above. + */ + if (idx && subprog[idx].has_tail_call && depth >= 256) { + verbose(env, + "tail_calls are not allowed when call stack of previous frames is %d bytes. Too large\n", + depth); + return -EACCES; + } /* round up to 32-bytes, since this is granularity * of interpreter stack size */ @@ -3551,7 +3578,8 @@ goto mark; if (state->stack[spi].slot_type[0] == STACK_SPILL && - state->stack[spi].spilled_ptr.type == SCALAR_VALUE) { + (state->stack[spi].spilled_ptr.type == SCALAR_VALUE || + env->allow_ptr_leaks)) { __mark_reg_unknown(env, &state->stack[spi].spilled_ptr); for (j = 0; j < BPF_REG_SIZE; j++) state->stack[spi].slot_type[j] = STACK_MISC; @@ -4385,8 +4413,9 @@ subprog); clear_caller_saved_regs(env, caller->regs); - /* All global functions return SCALAR_VALUE */ + /* All global functions return a 64-bit SCALAR_VALUE */ mark_reg_unknown(env, caller->regs, BPF_REG_0); + caller->regs[BPF_REG_0].subreg_def = DEF_NOT_SUBREG; /* continue with next insn after call */ return 0; @@ -4494,6 +4523,8 @@ ret_reg->smax_value = meta->msize_max_value; ret_reg->s32_max_value = meta->msize_max_value; + ret_reg->smin_value = -MAX_ERRNO; + ret_reg->s32_min_value = -MAX_ERRNO; __reg_deduce_bounds(ret_reg); __reg_bound_offset(ret_reg); __update_reg_bounds(ret_reg); @@ -4808,7 +4839,7 @@ return res < a; } -static bool signed_add32_overflows(s64 a, s64 b) +static bool signed_add32_overflows(s32 a, s32 b) { /* Do the add in u32, where overflow is well-defined */ s32 res = (s32)((u32)a + (u32)b); @@ -4818,7 +4849,7 @@ return res < a; } -static bool signed_sub_overflows(s32 a, s32 b) +static bool signed_sub_overflows(s64 a, s64 b) { /* Do the sub in u64, where overflow is well-defined */ s64 res = (s64)((u64)a - (u64)b); @@ -4830,7 +4861,7 @@ static bool signed_sub32_overflows(s32 a, s32 b) { - /* Do the sub in u64, where overflow is well-defined */ + /* Do the sub in u32, where overflow is well-defined */ s32 res = (s32)((u32)a - (u32)b); if (b < 0) @@ -4878,35 +4909,43 @@ return &env->insn_aux_data[env->insn_idx]; } +enum { + REASON_BOUNDS = -1, + REASON_TYPE = -2, + REASON_PATHS = -3, + REASON_LIMIT = -4, + REASON_STACK = -5, +}; + static int retrieve_ptr_limit(const struct bpf_reg_state *ptr_reg, - u32 *ptr_limit, u8 opcode, bool off_is_neg) + u32 *alu_limit, bool mask_to_left) { - bool mask_to_left = (opcode == BPF_ADD && off_is_neg) || - (opcode == BPF_SUB && !off_is_neg); - u32 off; + u32 max = 0, ptr_limit = 0; switch (ptr_reg->type) { case PTR_TO_STACK: - /* Indirect variable offset stack access is prohibited in - * unprivileged mode so it's not handled here. + /* Offset 0 is out-of-bounds, but acceptable start for the + * left direction, see BPF_REG_FP. Also, unknown scalar + * offset where we would need to deal with min/max bounds is + * currently prohibited for unprivileged. */ - off = ptr_reg->off + ptr_reg->var_off.value; - if (mask_to_left) - *ptr_limit = MAX_BPF_STACK + off; - else - *ptr_limit = -off; - return 0; + max = MAX_BPF_STACK + mask_to_left; + ptr_limit = -(ptr_reg->var_off.value + ptr_reg->off); + break; case PTR_TO_MAP_VALUE: - if (mask_to_left) { - *ptr_limit = ptr_reg->umax_value + ptr_reg->off; - } else { - off = ptr_reg->smin_value + ptr_reg->off; - *ptr_limit = ptr_reg->map_ptr->value_size - off; - } - return 0; + max = ptr_reg->map_ptr->value_size; + ptr_limit = (mask_to_left ? + ptr_reg->smin_value : + ptr_reg->umax_value) + ptr_reg->off; + break; default: - return -EINVAL; + return REASON_TYPE; } + + if (ptr_limit >= max) + return REASON_LIMIT; + *alu_limit = ptr_limit; + return 0; } static bool can_skip_alu_sanitation(const struct bpf_verifier_env *env, @@ -4924,7 +4963,7 @@ if (aux->alu_state && (aux->alu_state != alu_state || aux->alu_limit != alu_limit)) - return -EACCES; + return REASON_PATHS; /* Corresponding fixup done in fixup_bpf_calls(). */ aux->alu_state = alu_state; @@ -4943,19 +4982,34 @@ return update_alu_sanitation_state(aux, BPF_ALU_NON_POINTER, 0); } +static bool sanitize_needed(u8 opcode) +{ + return opcode == BPF_ADD || opcode == BPF_SUB; +} + +struct bpf_sanitize_info { + struct bpf_insn_aux_data aux; + bool mask_to_left; +}; + static int sanitize_ptr_alu(struct bpf_verifier_env *env, struct bpf_insn *insn, const struct bpf_reg_state *ptr_reg, + const struct bpf_reg_state *off_reg, struct bpf_reg_state *dst_reg, - bool off_is_neg) + struct bpf_sanitize_info *info, + const bool commit_window) { + struct bpf_insn_aux_data *aux = commit_window ? cur_aux(env) : &info->aux; struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_insn_aux_data *aux = cur_aux(env); + bool off_is_imm = tnum_is_const(off_reg->var_off); + bool off_is_neg = off_reg->smin_value < 0; bool ptr_is_dst_reg = ptr_reg == dst_reg; u8 opcode = BPF_OP(insn->code); u32 alu_state, alu_limit; struct bpf_reg_state tmp; bool ret; + int err; if (can_skip_alu_sanitation(env, insn)) return 0; @@ -4967,15 +5021,47 @@ if (vstate->speculative) goto do_sim; - alu_state = off_is_neg ? BPF_ALU_NEG_VALUE : 0; - alu_state |= ptr_is_dst_reg ? - BPF_ALU_SANITIZE_SRC : BPF_ALU_SANITIZE_DST; + if (!commit_window) { + if (!tnum_is_const(off_reg->var_off) && + (off_reg->smin_value < 0) != (off_reg->smax_value < 0)) + return REASON_BOUNDS; - if (retrieve_ptr_limit(ptr_reg, &alu_limit, opcode, off_is_neg)) - return 0; - if (update_alu_sanitation_state(aux, alu_state, alu_limit)) - return -EACCES; + info->mask_to_left = (opcode == BPF_ADD && off_is_neg) || + (opcode == BPF_SUB && !off_is_neg); + } + + err = retrieve_ptr_limit(ptr_reg, &alu_limit, info->mask_to_left); + if (err < 0) + return err; + + if (commit_window) { + /* In commit phase we narrow the masking window based on + * the observed pointer move after the simulated operation. + */ + alu_state = info->aux.alu_state; + alu_limit = abs(info->aux.alu_limit - alu_limit); + } else { + alu_state = off_is_neg ? BPF_ALU_NEG_VALUE : 0; + alu_state |= off_is_imm ? BPF_ALU_IMMEDIATE : 0; + alu_state |= ptr_is_dst_reg ? + BPF_ALU_SANITIZE_SRC : BPF_ALU_SANITIZE_DST; + } + + err = update_alu_sanitation_state(aux, alu_state, alu_limit); + if (err < 0) + return err; do_sim: + /* If we're in commit phase, we're done here given we already + * pushed the truncated dst_reg into the speculative verification + * stack. + * + * Also, when register is a known constant, we rewrite register-based + * operation to immediate-based, and thus do not need masking (and as + * a consequence, do not need to simulate the zero-truncation either). + */ + if (commit_window || off_is_imm) + return 0; + /* Simulate and find potential out-of-bounds access under * speculative execution from truncation as a result of * masking when off was not within expected range. If off @@ -4992,7 +5078,81 @@ ret = push_stack(env, env->insn_idx + 1, env->insn_idx, true); if (!ptr_is_dst_reg && ret) *dst_reg = tmp; - return !ret ? -EFAULT : 0; + return !ret ? REASON_STACK : 0; +} + +static int sanitize_err(struct bpf_verifier_env *env, + const struct bpf_insn *insn, int reason, + const struct bpf_reg_state *off_reg, + const struct bpf_reg_state *dst_reg) +{ + static const char *err = "pointer arithmetic with it prohibited for !root"; + const char *op = BPF_OP(insn->code) == BPF_ADD ? "add" : "sub"; + u32 dst = insn->dst_reg, src = insn->src_reg; + + switch (reason) { + case REASON_BOUNDS: + verbose(env, "R%d has unknown scalar with mixed signed bounds, %s\n", + off_reg == dst_reg ? dst : src, err); + break; + case REASON_TYPE: + verbose(env, "R%d has pointer with unsupported alu operation, %s\n", + off_reg == dst_reg ? src : dst, err); + break; + case REASON_PATHS: + verbose(env, "R%d tried to %s from different maps, paths or scalars, %s\n", + dst, op, err); + break; + case REASON_LIMIT: + verbose(env, "R%d tried to %s beyond pointer bounds, %s\n", + dst, op, err); + break; + case REASON_STACK: + verbose(env, "R%d could not be pushed for speculative verification, %s\n", + dst, err); + break; + default: + verbose(env, "verifier internal error: unknown reason (%d)\n", + reason); + break; + } + + return -EACCES; +} + +static int sanitize_check_bounds(struct bpf_verifier_env *env, + const struct bpf_insn *insn, + const struct bpf_reg_state *dst_reg) +{ + u32 dst = insn->dst_reg; + + /* For unprivileged we require that resulting offset must be in bounds + * in order to be able to sanitize access later on. + */ + if (env->bypass_spec_v1) + return 0; + + switch (dst_reg->type) { + case PTR_TO_STACK: + if (check_stack_access(env, dst_reg, dst_reg->off + + dst_reg->var_off.value, 1)) { + verbose(env, "R%d stack pointer arithmetic goes out of range, " + "prohibited for !root\n", dst); + return -EACCES; + } + break; + case PTR_TO_MAP_VALUE: + if (check_map_access(env, dst, dst_reg->off, 1, false)) { + verbose(env, "R%d pointer arithmetic of map value goes out of range, " + "prohibited for !root\n", dst); + return -EACCES; + } + break; + default: + break; + } + + return 0; } /* Handles arithmetic on a pointer and a scalar: computes new min/max and var_off. @@ -5013,8 +5173,9 @@ smin_ptr = ptr_reg->smin_value, smax_ptr = ptr_reg->smax_value; u64 umin_val = off_reg->umin_value, umax_val = off_reg->umax_value, umin_ptr = ptr_reg->umin_value, umax_ptr = ptr_reg->umax_value; - u32 dst = insn->dst_reg, src = insn->src_reg; + struct bpf_sanitize_info info = {}; u8 opcode = BPF_OP(insn->code); + u32 dst = insn->dst_reg; int ret; dst_reg = ®s[dst]; @@ -5042,6 +5203,10 @@ dst, reg_type_str[ptr_reg->type]); return -EACCES; case CONST_PTR_TO_MAP: + /* smin_val represents the known value */ + if (known && smin_val == 0 && opcode == BPF_ADD) + break; + /* fall-through */ case PTR_TO_PACKET_END: case PTR_TO_SOCKET: case PTR_TO_SOCKET_OR_NULL: @@ -5053,13 +5218,6 @@ verbose(env, "R%d pointer arithmetic on %s prohibited\n", dst, reg_type_str[ptr_reg->type]); return -EACCES; - case PTR_TO_MAP_VALUE: - if (!env->allow_ptr_leaks && !known && (smin_val < 0) != (smax_val < 0)) { - verbose(env, "R%d has unknown scalar with mixed signed bounds, pointer arithmetic with it prohibited for !root\n", - off_reg == dst_reg ? dst : src); - return -EACCES; - } - /* fall-through */ default: break; } @@ -5077,13 +5235,15 @@ /* pointer types do not carry 32-bit bounds at the moment. */ __mark_reg32_unbounded(dst_reg); + if (sanitize_needed(opcode)) { + ret = sanitize_ptr_alu(env, insn, ptr_reg, off_reg, dst_reg, + &info, false); + if (ret < 0) + return sanitize_err(env, insn, ret, off_reg, dst_reg); + } + switch (opcode) { case BPF_ADD: - ret = sanitize_ptr_alu(env, insn, ptr_reg, dst_reg, smin_val < 0); - if (ret < 0) { - verbose(env, "R%d tried to add from different maps or paths\n", dst); - return ret; - } /* We can take a fixed offset as long as it doesn't overflow * the s32 'off' field */ @@ -5134,11 +5294,6 @@ } break; case BPF_SUB: - ret = sanitize_ptr_alu(env, insn, ptr_reg, dst_reg, smin_val < 0); - if (ret < 0) { - verbose(env, "R%d tried to sub from different maps or paths\n", dst); - return ret; - } if (dst_reg == off_reg) { /* scalar -= pointer. Creates an unknown scalar */ verbose(env, "R%d tried to subtract pointer from scalar\n", @@ -5219,22 +5374,13 @@ __reg_deduce_bounds(dst_reg); __reg_bound_offset(dst_reg); - /* For unprivileged we require that resulting offset must be in bounds - * in order to be able to sanitize access later on. - */ - if (!env->bypass_spec_v1) { - if (dst_reg->type == PTR_TO_MAP_VALUE && - check_map_access(env, dst, dst_reg->off, 1, false)) { - verbose(env, "R%d pointer arithmetic of map value goes out of range, " - "prohibited for !root\n", dst); - return -EACCES; - } else if (dst_reg->type == PTR_TO_STACK && - check_stack_access(env, dst_reg, dst_reg->off + - dst_reg->var_off.value, 1)) { - verbose(env, "R%d stack pointer arithmetic goes out of range, " - "prohibited for !root\n", dst); - return -EACCES; - } + if (sanitize_check_bounds(env, insn, dst_reg) < 0) + return -EACCES; + if (sanitize_needed(opcode)) { + ret = sanitize_ptr_alu(env, insn, dst_reg, off_reg, dst_reg, + &info, true); + if (ret < 0) + return sanitize_err(env, insn, ret, off_reg, dst_reg); } return 0; @@ -5421,11 +5567,10 @@ s32 smin_val = src_reg->s32_min_value; u32 umax_val = src_reg->u32_max_value; - /* Assuming scalar64_min_max_and will be called so its safe - * to skip updating register for known 32-bit case. - */ - if (src_known && dst_known) + if (src_known && dst_known) { + __mark_reg32_known(dst_reg, var32_off.value); return; + } /* We get our minimum from the var_off, since that's inherently * bitwise. Our maximum is the minimum of the operands' maxima. @@ -5445,7 +5590,6 @@ dst_reg->s32_min_value = dst_reg->u32_min_value; dst_reg->s32_max_value = dst_reg->u32_max_value; } - } static void scalar_min_max_and(struct bpf_reg_state *dst_reg, @@ -5490,14 +5634,13 @@ bool src_known = tnum_subreg_is_const(src_reg->var_off); bool dst_known = tnum_subreg_is_const(dst_reg->var_off); struct tnum var32_off = tnum_subreg(dst_reg->var_off); - s32 smin_val = src_reg->smin_value; - u32 umin_val = src_reg->umin_value; + s32 smin_val = src_reg->s32_min_value; + u32 umin_val = src_reg->u32_min_value; - /* Assuming scalar64_min_max_or will be called so it is safe - * to skip updating register for known case. - */ - if (src_known && dst_known) + if (src_known && dst_known) { + __mark_reg32_known(dst_reg, var32_off.value); return; + } /* We get our maximum from the var_off, and our minimum is the * maximum of the operands' minima @@ -5514,8 +5657,8 @@ /* ORing two positives gives a positive, so safe to * cast result into s64. */ - dst_reg->s32_min_value = dst_reg->umin_value; - dst_reg->s32_max_value = dst_reg->umax_value; + dst_reg->s32_min_value = dst_reg->u32_min_value; + dst_reg->s32_max_value = dst_reg->u32_max_value; } } @@ -5555,6 +5698,66 @@ __update_reg_bounds(dst_reg); } +static void scalar32_min_max_xor(struct bpf_reg_state *dst_reg, + struct bpf_reg_state *src_reg) +{ + bool src_known = tnum_subreg_is_const(src_reg->var_off); + bool dst_known = tnum_subreg_is_const(dst_reg->var_off); + struct tnum var32_off = tnum_subreg(dst_reg->var_off); + s32 smin_val = src_reg->s32_min_value; + + if (src_known && dst_known) { + __mark_reg32_known(dst_reg, var32_off.value); + return; + } + + /* We get both minimum and maximum from the var32_off. */ + dst_reg->u32_min_value = var32_off.value; + dst_reg->u32_max_value = var32_off.value | var32_off.mask; + + if (dst_reg->s32_min_value >= 0 && smin_val >= 0) { + /* XORing two positive sign numbers gives a positive, + * so safe to cast u32 result into s32. + */ + dst_reg->s32_min_value = dst_reg->u32_min_value; + dst_reg->s32_max_value = dst_reg->u32_max_value; + } else { + dst_reg->s32_min_value = S32_MIN; + dst_reg->s32_max_value = S32_MAX; + } +} + +static void scalar_min_max_xor(struct bpf_reg_state *dst_reg, + struct bpf_reg_state *src_reg) +{ + bool src_known = tnum_is_const(src_reg->var_off); + bool dst_known = tnum_is_const(dst_reg->var_off); + s64 smin_val = src_reg->smin_value; + + if (src_known && dst_known) { + /* dst_reg->var_off.value has been updated earlier */ + __mark_reg_known(dst_reg, dst_reg->var_off.value); + return; + } + + /* We get both minimum and maximum from the var_off. */ + dst_reg->umin_value = dst_reg->var_off.value; + dst_reg->umax_value = dst_reg->var_off.value | dst_reg->var_off.mask; + + if (dst_reg->smin_value >= 0 && smin_val >= 0) { + /* XORing two positive sign numbers gives a positive, + * so safe to cast u64 result into s64. + */ + dst_reg->smin_value = dst_reg->umin_value; + dst_reg->smax_value = dst_reg->umax_value; + } else { + dst_reg->smin_value = S64_MIN; + dst_reg->smax_value = S64_MAX; + } + + __update_reg_bounds(dst_reg); +} + static void __scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) { @@ -5769,9 +5972,8 @@ s32 s32_min_val, s32_max_val; u32 u32_min_val, u32_max_val; u64 insn_bitness = (BPF_CLASS(insn->code) == BPF_ALU64) ? 64 : 32; - u32 dst = insn->dst_reg; - int ret; bool alu32 = (BPF_CLASS(insn->code) != BPF_ALU64); + int ret; smin_val = src_reg.smin_value; smax_val = src_reg.smax_value; @@ -5813,6 +6015,12 @@ return 0; } + if (sanitize_needed(opcode)) { + ret = sanitize_val_alu(env, insn); + if (ret < 0) + return sanitize_err(env, insn, ret, NULL, NULL); + } + /* Calculate sign/unsigned bounds and tnum for alu32 and alu64 bit ops. * There are two classes of instructions: The first class we track both * alu32 and alu64 sign/unsigned bounds independently this provides the @@ -5829,21 +6037,11 @@ */ switch (opcode) { case BPF_ADD: - ret = sanitize_val_alu(env, insn); - if (ret < 0) { - verbose(env, "R%d tried to add from different pointers or scalars\n", dst); - return ret; - } scalar32_min_max_add(dst_reg, &src_reg); scalar_min_max_add(dst_reg, &src_reg); dst_reg->var_off = tnum_add(dst_reg->var_off, src_reg.var_off); break; case BPF_SUB: - ret = sanitize_val_alu(env, insn); - if (ret < 0) { - verbose(env, "R%d tried to sub from different pointers or scalars\n", dst); - return ret; - } scalar32_min_max_sub(dst_reg, &src_reg); scalar_min_max_sub(dst_reg, &src_reg); dst_reg->var_off = tnum_sub(dst_reg->var_off, src_reg.var_off); @@ -5863,6 +6061,11 @@ scalar32_min_max_or(dst_reg, &src_reg); scalar_min_max_or(dst_reg, &src_reg); break; + case BPF_XOR: + dst_reg->var_off = tnum_xor(dst_reg->var_off, src_reg.var_off); + scalar32_min_max_xor(dst_reg, &src_reg); + scalar_min_max_xor(dst_reg, &src_reg); + break; case BPF_LSH: if (umax_val >= insn_bitness) { /* Shifts greater than 31 or 63 are undefined. @@ -6284,7 +6487,7 @@ case BPF_JSGT: if (reg->s32_min_value > sval) return 1; - else if (reg->s32_max_value < sval) + else if (reg->s32_max_value <= sval) return 0; break; case BPF_JLT: @@ -6357,7 +6560,7 @@ case BPF_JSGT: if (reg->smin_value > sval) return 1; - else if (reg->smax_value < sval) + else if (reg->smax_value <= sval) return 0; break; case BPF_JLT: @@ -7820,7 +8023,11 @@ return old->umin_value <= cur->umin_value && old->umax_value >= cur->umax_value && old->smin_value <= cur->smin_value && - old->smax_value >= cur->smax_value; + old->smax_value >= cur->smax_value && + old->u32_min_value <= cur->u32_min_value && + old->u32_max_value >= cur->u32_max_value && + old->s32_min_value <= cur->s32_min_value && + old->s32_max_value >= cur->s32_max_value; } /* Maximum number of register states that can exist at once */ @@ -10033,30 +10240,30 @@ insn->code == (BPF_ALU | BPF_MOD | BPF_X) || insn->code == (BPF_ALU | BPF_DIV | BPF_X)) { bool is64 = BPF_CLASS(insn->code) == BPF_ALU64; - struct bpf_insn mask_and_div[] = { - BPF_MOV32_REG(insn->src_reg, insn->src_reg), - /* Rx div 0 -> 0 */ - BPF_JMP_IMM(BPF_JNE, insn->src_reg, 0, 2), + bool isdiv = BPF_OP(insn->code) == BPF_DIV; + struct bpf_insn *patchlet; + struct bpf_insn chk_and_div[] = { + /* [R,W]x div 0 -> 0 */ + BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) | + BPF_JNE | BPF_K, insn->src_reg, + 0, 2, 0), BPF_ALU32_REG(BPF_XOR, insn->dst_reg, insn->dst_reg), BPF_JMP_IMM(BPF_JA, 0, 0, 1), *insn, }; - struct bpf_insn mask_and_mod[] = { - BPF_MOV32_REG(insn->src_reg, insn->src_reg), - /* Rx mod 0 -> Rx */ - BPF_JMP_IMM(BPF_JEQ, insn->src_reg, 0, 1), + struct bpf_insn chk_and_mod[] = { + /* [R,W]x mod 0 -> [R,W]x */ + BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) | + BPF_JEQ | BPF_K, insn->src_reg, + 0, 1 + (is64 ? 0 : 1), 0), *insn, + BPF_JMP_IMM(BPF_JA, 0, 0, 1), + BPF_MOV32_REG(insn->dst_reg, insn->dst_reg), }; - struct bpf_insn *patchlet; - if (insn->code == (BPF_ALU64 | BPF_DIV | BPF_X) || - insn->code == (BPF_ALU | BPF_DIV | BPF_X)) { - patchlet = mask_and_div + (is64 ? 1 : 0); - cnt = ARRAY_SIZE(mask_and_div) - (is64 ? 1 : 0); - } else { - patchlet = mask_and_mod + (is64 ? 1 : 0); - cnt = ARRAY_SIZE(mask_and_mod) - (is64 ? 1 : 0); - } + patchlet = isdiv ? chk_and_div : chk_and_mod; + cnt = isdiv ? ARRAY_SIZE(chk_and_div) : + ARRAY_SIZE(chk_and_mod) - (is64 ? 2 : 0); new_prog = bpf_patch_insn_data(env, i + delta, patchlet, cnt); if (!new_prog) @@ -10093,7 +10300,7 @@ const u8 code_sub = BPF_ALU64 | BPF_SUB | BPF_X; struct bpf_insn insn_buf[16]; struct bpf_insn *patch = &insn_buf[0]; - bool issrc, isneg; + bool issrc, isneg, isimm; u32 off_reg; aux = &env->insn_aux_data[i + delta]; @@ -10104,28 +10311,29 @@ isneg = aux->alu_state & BPF_ALU_NEG_VALUE; issrc = (aux->alu_state & BPF_ALU_SANITIZE) == BPF_ALU_SANITIZE_SRC; + isimm = aux->alu_state & BPF_ALU_IMMEDIATE; off_reg = issrc ? insn->src_reg : insn->dst_reg; - if (isneg) - *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); - *patch++ = BPF_MOV32_IMM(BPF_REG_AX, aux->alu_limit - 1); - *patch++ = BPF_ALU64_REG(BPF_SUB, BPF_REG_AX, off_reg); - *patch++ = BPF_ALU64_REG(BPF_OR, BPF_REG_AX, off_reg); - *patch++ = BPF_ALU64_IMM(BPF_NEG, BPF_REG_AX, 0); - *patch++ = BPF_ALU64_IMM(BPF_ARSH, BPF_REG_AX, 63); - if (issrc) { - *patch++ = BPF_ALU64_REG(BPF_AND, BPF_REG_AX, - off_reg); - insn->src_reg = BPF_REG_AX; + if (isimm) { + *patch++ = BPF_MOV32_IMM(BPF_REG_AX, aux->alu_limit); } else { - *patch++ = BPF_ALU64_REG(BPF_AND, off_reg, - BPF_REG_AX); - } + if (isneg) + *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); + *patch++ = BPF_MOV32_IMM(BPF_REG_AX, aux->alu_limit); + *patch++ = BPF_ALU64_REG(BPF_SUB, BPF_REG_AX, off_reg); + *patch++ = BPF_ALU64_REG(BPF_OR, BPF_REG_AX, off_reg); + *patch++ = BPF_ALU64_IMM(BPF_NEG, BPF_REG_AX, 0); + *patch++ = BPF_ALU64_IMM(BPF_ARSH, BPF_REG_AX, 63); + *patch++ = BPF_ALU64_REG(BPF_AND, BPF_REG_AX, off_reg); + } + if (!issrc) + *patch++ = BPF_MOV64_REG(insn->dst_reg, insn->src_reg); + insn->src_reg = BPF_REG_AX; if (isneg) insn->code = insn->code == code_add ? code_sub : code_add; *patch++ = *insn; - if (issrc && isneg) + if (issrc && isneg && !isimm) *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); cnt = patch - insn_buf; @@ -10582,6 +10790,11 @@ u32 btf_id, member_idx; const char *mname; + if (!prog->gpl_compatible) { + verbose(env, "struct ops programs must have a GPL compatible license\n"); + return -EINVAL; + } + btf_id = prog->aux->attach_btf_id; st_ops = bpf_struct_ops_find(btf_id); if (!st_ops) { @@ -10862,6 +11075,11 @@ } if (prog->expected_attach_type == BPF_MODIFY_RETURN) { + if (tgt_prog) { + verbose(env, "can't modify return codes of BPF programs\n"); + ret = -EINVAL; + goto out; + } ret = check_attach_modify_return(prog, addr); if (ret) verbose(env, "%s() is not modifiable\n", --- linux-riscv-5.8-5.8.0.orig/kernel/cgroup/cgroup-v1.c +++ linux-riscv-5.8-5.8.0/kernel/cgroup/cgroup-v1.c @@ -908,6 +908,8 @@ opt = fs_parse(fc, cgroup1_fs_parameters, param, &result); if (opt == -ENOPARAM) { if (strcmp(param->key, "source") == 0) { + if (fc->source) + return invalf(fc, "Multiple sources not supported"); fc->source = param->string; param->string = NULL; return 0; @@ -915,6 +917,9 @@ for_each_subsys(ss, i) { if (strcmp(param->key, ss->legacy_name)) continue; + if (!cgroup_ssid_enabled(i) || cgroup1_ssid_disabled(i)) + return invalfc(fc, "Disabled controller '%s'", + param->key); ctx->subsys_mask |= (1 << i); return 0; } --- linux-riscv-5.8-5.8.0.orig/kernel/cgroup/cgroup.c +++ linux-riscv-5.8-5.8.0/kernel/cgroup/cgroup.c @@ -3568,6 +3568,7 @@ { struct psi_trigger *new; struct cgroup *cgrp; + struct psi_group *psi; cgrp = cgroup_kn_lock_live(of->kn, false); if (!cgrp) @@ -3576,7 +3577,8 @@ cgroup_get(cgrp); cgroup_kn_unlock(of->kn); - new = psi_trigger_create(&cgrp->psi, buf, nbytes, res); + psi = cgroup_ino(cgrp) == 1 ? &psi_system : &cgrp->psi; + new = psi_trigger_create(psi, buf, nbytes, res); if (IS_ERR(new)) { cgroup_put(cgrp); return PTR_ERR(new); --- linux-riscv-5.8-5.8.0.orig/kernel/cgroup/cpuset.c +++ linux-riscv-5.8-5.8.0/kernel/cgroup/cpuset.c @@ -983,25 +983,48 @@ */ static void rebuild_sched_domains_locked(void) { + struct cgroup_subsys_state *pos_css; struct sched_domain_attr *attr; cpumask_var_t *doms; + struct cpuset *cs; int ndoms; lockdep_assert_cpus_held(); percpu_rwsem_assert_held(&cpuset_rwsem); /* - * We have raced with CPU hotplug. Don't do anything to avoid + * If we have raced with CPU hotplug, return early to avoid * passing doms with offlined cpu to partition_sched_domains(). - * Anyways, hotplug work item will rebuild sched domains. + * Anyways, cpuset_hotplug_workfn() will rebuild sched domains. + * + * With no CPUs in any subpartitions, top_cpuset's effective CPUs + * should be the same as the active CPUs, so checking only top_cpuset + * is enough to detect racing CPU offlines. */ if (!top_cpuset.nr_subparts_cpus && !cpumask_equal(top_cpuset.effective_cpus, cpu_active_mask)) return; - if (top_cpuset.nr_subparts_cpus && - !cpumask_subset(top_cpuset.effective_cpus, cpu_active_mask)) - return; + /* + * With subpartition CPUs, however, the effective CPUs of a partition + * root should be only a subset of the active CPUs. Since a CPU in any + * partition root could be offlined, all must be checked. + */ + if (top_cpuset.nr_subparts_cpus) { + rcu_read_lock(); + cpuset_for_each_descendant_pre(cs, pos_css, &top_cpuset) { + if (!is_partition_root(cs)) { + pos_css = css_rightmost_descendant(pos_css); + continue; + } + if (!cpumask_subset(cs->effective_cpus, + cpu_active_mask)) { + rcu_read_unlock(); + return; + } + } + rcu_read_unlock(); + } /* Generate domain masks and attrs */ ndoms = generate_sched_domains(&doms, &attr); --- linux-riscv-5.8-5.8.0.orig/kernel/cpu.c +++ linux-riscv-5.8-5.8.0/kernel/cpu.c @@ -815,6 +815,10 @@ } #ifdef CONFIG_HOTPLUG_CPU +#ifndef arch_clear_mm_cpumask_cpu +#define arch_clear_mm_cpumask_cpu(cpu, mm) cpumask_clear_cpu(cpu, mm_cpumask(mm)) +#endif + /** * clear_tasks_mm_cpumask - Safely clear tasks' mm_cpumask for a CPU * @cpu: a CPU id @@ -850,7 +854,7 @@ t = find_lock_task_mm(p); if (!t) continue; - cpumask_clear_cpu(cpu, mm_cpumask(t->mm)); + arch_clear_mm_cpumask_cpu(cpu, t->mm); task_unlock(t); } rcu_read_unlock(); --- linux-riscv-5.8-5.8.0.orig/kernel/cred.c +++ linux-riscv-5.8-5.8.0/kernel/cred.c @@ -733,14 +733,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); @@ -756,14 +756,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-riscv-5.8-5.8.0.orig/kernel/debug/debug_core.c +++ linux-riscv-5.8-5.8.0/kernel/debug/debug_core.c @@ -94,14 +94,6 @@ /* Use kdb or gdbserver mode */ int dbg_kdb_mode = 1; -static int __init opt_kgdb_con(char *str) -{ - kgdb_use_con = 1; - return 0; -} - -early_param("kgdbcon", opt_kgdb_con); - module_param(kgdb_use_con, int, 0644); module_param(kgdbreboot, int, 0644); @@ -451,6 +443,17 @@ return 0; } +void kgdb_free_init_mem(void) +{ + int i; + + /* Clear init memory breakpoints. */ + for (i = 0; i < KGDB_MAX_BREAKPOINTS; i++) { + if (init_section_contains((void *)kgdb_break[i].bpt_addr, 0)) + kgdb_break[i].state = BP_UNDEFINED; + } +} + #ifdef CONFIG_KGDB_KDB void kdb_dump_stack_on_cpu(int cpu) { @@ -920,6 +923,20 @@ .index = -1, }; +static int __init opt_kgdb_con(char *str) +{ + kgdb_use_con = 1; + + if (kgdb_io_module_registered && !kgdb_con_registered) { + register_console(&kgdbcons); + kgdb_con_registered = 1; + } + + return 0; +} + +early_param("kgdbcon", opt_kgdb_con); + #ifdef CONFIG_MAGIC_SYSRQ static void sysrq_handle_dbg(int key) { --- linux-riscv-5.8-5.8.0.orig/kernel/debug/kdb/kdb_io.c +++ linux-riscv-5.8-5.8.0/kernel/debug/kdb/kdb_io.c @@ -706,12 +706,16 @@ size_avail = sizeof(kdb_buffer) - len; goto kdb_print_out; } - if (kdb_grepping_flag >= KDB_GREPPING_FLAG_SEARCH) + if (kdb_grepping_flag >= KDB_GREPPING_FLAG_SEARCH) { /* * This was a interactive search (using '/' at more - * prompt) and it has completed. Clear the flag. + * prompt) and it has completed. Replace the \0 with + * its original value to ensure multi-line strings + * are handled properly, and return to normal mode. */ + *cphold = replaced_byte; kdb_grepping_flag = 0; + } /* * at this point the string is a full line and * should be printed, up to the null. --- linux-riscv-5.8-5.8.0.orig/kernel/debug/kdb/kdb_private.h +++ linux-riscv-5.8-5.8.0/kernel/debug/kdb/kdb_private.h @@ -234,7 +234,7 @@ #define kdb_do_each_thread(g, p) do_each_thread(g, p) #define kdb_while_each_thread(g, p) while_each_thread(g, p) -#define GFP_KDB (in_interrupt() ? GFP_ATOMIC : GFP_KERNEL) +#define GFP_KDB (in_dbg_master() ? GFP_ATOMIC : GFP_KERNEL) extern void *debug_kmalloc(size_t size, gfp_t flags); extern void debug_kfree(void *); --- linux-riscv-5.8-5.8.0.orig/kernel/dma/direct.c +++ linux-riscv-5.8-5.8.0/kernel/dma/direct.c @@ -45,7 +45,7 @@ return (1ULL << (fls64(max_dma) - 1)) * 2 - 1; } -gfp_t dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, +static gfp_t dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, u64 *phys_limit) { u64 dma_limit = min_not_zero(dma_mask, dev->bus_dma_limit); @@ -70,7 +70,7 @@ return 0; } -bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size) +static bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size) { return phys_to_dma_direct(dev, phys) + size - 1 <= min_not_zero(dev->coherent_dma_mask, dev->bus_dma_limit); @@ -163,8 +163,13 @@ size = PAGE_ALIGN(size); if (dma_should_alloc_from_pool(dev, gfp, attrs)) { - ret = dma_alloc_from_pool(dev, size, &page, gfp); - if (!ret) + u64 phys_mask; + + gfp |= dma_direct_optimal_gfp_mask(dev, dev->coherent_dma_mask, + &phys_mask); + page = dma_alloc_from_pool(dev, size, &ret, gfp, + dma_coherent_ok); + if (!page) return NULL; goto done; } --- linux-riscv-5.8-5.8.0.orig/kernel/dma/pool.c +++ linux-riscv-5.8-5.8.0/kernel/dma/pool.c @@ -3,7 +3,9 @@ * Copyright (C) 2012 ARM Ltd. * Copyright (C) 2020 Google LLC */ +#include #include +#include #include #include #include @@ -55,11 +57,34 @@ pool_size_kernel += size; } +static bool cma_in_zone(gfp_t gfp) +{ + unsigned long size; + phys_addr_t end; + struct cma *cma; + + cma = dev_get_cma_area(NULL); + if (!cma) + return false; + + size = cma_get_size(cma); + if (!size) + return false; + + /* CMA can't cross zone boundaries, see cma_activate_area() */ + end = cma_get_base(cma) + size - 1; + if (IS_ENABLED(CONFIG_ZONE_DMA) && (gfp & GFP_DMA)) + return end <= DMA_BIT_MASK(zone_dma_bits); + if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32)) + return end <= DMA_BIT_MASK(32); + return true; +} + static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size, gfp_t gfp) { unsigned int order; - struct page *page; + struct page *page = NULL; void *addr; int ret = -ENOMEM; @@ -68,7 +93,11 @@ do { pool_size = 1 << (PAGE_SHIFT + order); - page = alloc_pages(gfp, order); + if (cma_in_zone(gfp)) + page = dma_alloc_from_contiguous(NULL, 1 << order, + order, false); + if (!page) + page = alloc_pages(gfp, order); } while (!page && order-- > 0); if (!page) goto out; @@ -196,93 +225,75 @@ } postcore_initcall(dma_atomic_pool_init); -static inline struct gen_pool *dma_guess_pool_from_device(struct device *dev) +static inline struct gen_pool *dma_guess_pool(struct gen_pool *prev, gfp_t gfp) { - u64 phys_mask; - gfp_t gfp; - - gfp = dma_direct_optimal_gfp_mask(dev, dev->coherent_dma_mask, - &phys_mask); - if (IS_ENABLED(CONFIG_ZONE_DMA) && gfp == GFP_DMA) + if (prev == NULL) { + if (IS_ENABLED(CONFIG_ZONE_DMA32) && (gfp & GFP_DMA32)) + return atomic_pool_dma32; + if (IS_ENABLED(CONFIG_ZONE_DMA) && (gfp & GFP_DMA)) + return atomic_pool_dma; + return atomic_pool_kernel; + } + if (prev == atomic_pool_kernel) + return atomic_pool_dma32 ? atomic_pool_dma32 : atomic_pool_dma; + if (prev == atomic_pool_dma32) return atomic_pool_dma; - if (IS_ENABLED(CONFIG_ZONE_DMA32) && gfp == GFP_DMA32) - return atomic_pool_dma32; - return atomic_pool_kernel; + return NULL; } -static inline struct gen_pool *dma_get_safer_pool(struct gen_pool *bad_pool) +static struct page *__dma_alloc_from_pool(struct device *dev, size_t size, + struct gen_pool *pool, void **cpu_addr, + bool (*phys_addr_ok)(struct device *, phys_addr_t, size_t)) { - if (bad_pool == atomic_pool_kernel) - return atomic_pool_dma32 ? : atomic_pool_dma; + unsigned long addr; + phys_addr_t phys; - if (bad_pool == atomic_pool_dma32) - return atomic_pool_dma; + addr = gen_pool_alloc(pool, size); + if (!addr) + return NULL; - return NULL; -} + phys = gen_pool_virt_to_phys(pool, addr); + if (phys_addr_ok && !phys_addr_ok(dev, phys, size)) { + gen_pool_free(pool, addr, size); + return NULL; + } -static inline struct gen_pool *dma_guess_pool(struct device *dev, - struct gen_pool *bad_pool) -{ - if (bad_pool) - return dma_get_safer_pool(bad_pool); + if (gen_pool_avail(pool) < atomic_pool_size) + schedule_work(&atomic_pool_work); - return dma_guess_pool_from_device(dev); + *cpu_addr = (void *)addr; + memset(*cpu_addr, 0, size); + return pfn_to_page(__phys_to_pfn(phys)); } -void *dma_alloc_from_pool(struct device *dev, size_t size, - struct page **ret_page, gfp_t flags) +struct page *dma_alloc_from_pool(struct device *dev, size_t size, + void **cpu_addr, gfp_t gfp, + bool (*phys_addr_ok)(struct device *, phys_addr_t, size_t)) { struct gen_pool *pool = NULL; - unsigned long val = 0; - void *ptr = NULL; - phys_addr_t phys; - - while (1) { - pool = dma_guess_pool(dev, pool); - if (!pool) { - WARN(1, "Failed to get suitable pool for %s\n", - dev_name(dev)); - break; - } - - val = gen_pool_alloc(pool, size); - if (!val) - continue; - - phys = gen_pool_virt_to_phys(pool, val); - if (dma_coherent_ok(dev, phys, size)) - break; - - gen_pool_free(pool, val, size); - val = 0; - } - - - if (val) { - *ret_page = pfn_to_page(__phys_to_pfn(phys)); - ptr = (void *)val; - memset(ptr, 0, size); + struct page *page; - if (gen_pool_avail(pool) < atomic_pool_size) - schedule_work(&atomic_pool_work); + while ((pool = dma_guess_pool(pool, gfp))) { + page = __dma_alloc_from_pool(dev, size, pool, cpu_addr, + phys_addr_ok); + if (page) + return page; } - return ptr; + WARN(1, "Failed to get suitable pool for %s\n", dev_name(dev)); + return NULL; } bool dma_free_from_pool(struct device *dev, void *start, size_t size) { struct gen_pool *pool = NULL; - while (1) { - pool = dma_guess_pool(dev, pool); - if (!pool) - return false; - - if (gen_pool_has_addr(pool, (unsigned long)start, size)) { - gen_pool_free(pool, (unsigned long)start, size); - return true; - } + while ((pool = dma_guess_pool(pool, 0))) { + if (!gen_pool_has_addr(pool, (unsigned long)start, size)) + continue; + gen_pool_free(pool, (unsigned long)start, size); + return true; } + + return false; } --- linux-riscv-5.8-5.8.0.orig/kernel/dma/swiotlb.c +++ linux-riscv-5.8-5.8.0/kernel/dma/swiotlb.c @@ -50,9 +50,6 @@ #define CREATE_TRACE_POINTS #include -#define OFFSET(val,align) ((unsigned long) \ - ( (val) & ( (align) - 1))) - #define SLABS_PER_PAGE (1 << (PAGE_SHIFT - IO_TLB_SHIFT)) /* @@ -178,6 +175,16 @@ bytes >> 20); } +static inline unsigned long io_tlb_offset(unsigned long val) +{ + return val & (IO_TLB_SEGSIZE - 1); +} + +static inline unsigned long nr_slots(u64 val) +{ + return DIV_ROUND_UP(val, IO_TLB_SIZE); +} + /* * Early SWIOTLB allocation may be too early to allow an architecture to * perform the desired operations. This function allows the architecture to @@ -227,10 +234,11 @@ __func__, alloc_size, PAGE_SIZE); for (i = 0; i < io_tlb_nslabs; i++) { - io_tlb_list[i] = IO_TLB_SEGSIZE - OFFSET(i, IO_TLB_SEGSIZE); + io_tlb_list[i] = IO_TLB_SEGSIZE - io_tlb_offset(i); io_tlb_orig_addr[i] = INVALID_PHYS_ADDR; } io_tlb_index = 0; + no_iotlb_memory = false; if (verbose) swiotlb_print_info(); @@ -262,9 +270,11 @@ if (vstart && !swiotlb_init_with_tbl(vstart, io_tlb_nslabs, verbose)) return; - if (io_tlb_start) + if (io_tlb_start) { memblock_free_early(io_tlb_start, PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT)); + io_tlb_start = 0; + } pr_warn("Cannot allocate buffer"); no_iotlb_memory = true; } @@ -358,10 +368,11 @@ goto cleanup4; for (i = 0; i < io_tlb_nslabs; i++) { - io_tlb_list[i] = IO_TLB_SEGSIZE - OFFSET(i, IO_TLB_SEGSIZE); + io_tlb_list[i] = IO_TLB_SEGSIZE - io_tlb_offset(i); io_tlb_orig_addr[i] = INVALID_PHYS_ADDR; } io_tlb_index = 0; + no_iotlb_memory = false; swiotlb_print_info(); @@ -476,20 +487,20 @@ tbl_dma_addr &= mask; - offset_slots = ALIGN(tbl_dma_addr, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; + offset_slots = nr_slots(tbl_dma_addr); /* * Carefully handle integer overflow which can occur when mask == ~0UL. */ max_slots = mask + 1 - ? ALIGN(mask + 1, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT + ? nr_slots(mask + 1) : 1UL << (BITS_PER_LONG - IO_TLB_SHIFT); /* * For mappings greater than or equal to a page, we limit the stride * (and hence alignment) to a page size. */ - nslots = ALIGN(alloc_size, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; + nslots = nr_slots(alloc_size); if (alloc_size >= PAGE_SIZE) stride = (1 << (PAGE_SHIFT - IO_TLB_SHIFT)); else @@ -531,7 +542,9 @@ for (i = index; i < (int) (index + nslots); i++) io_tlb_list[i] = 0; - for (i = index - 1; (OFFSET(i, IO_TLB_SEGSIZE) != IO_TLB_SEGSIZE - 1) && io_tlb_list[i]; i--) + for (i = index - 1; + io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 && + io_tlb_list[i]; i--) io_tlb_list[i] = ++count; tlb_addr = io_tlb_start + (index << IO_TLB_SHIFT); @@ -583,7 +596,7 @@ enum dma_data_direction dir, unsigned long attrs) { unsigned long flags; - int i, count, nslots = ALIGN(alloc_size, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; + int i, count, nslots = nr_slots(alloc_size); int index = (tlb_addr - io_tlb_start) >> IO_TLB_SHIFT; phys_addr_t orig_addr = io_tlb_orig_addr[index]; @@ -602,26 +615,29 @@ * with slots below and above the pool being returned. */ spin_lock_irqsave(&io_tlb_lock, flags); - { - count = ((index + nslots) < ALIGN(index + 1, IO_TLB_SEGSIZE) ? - io_tlb_list[index + nslots] : 0); - /* - * Step 1: return the slots to the free list, merging the - * slots with superceeding slots - */ - for (i = index + nslots - 1; i >= index; i--) { - io_tlb_list[i] = ++count; - io_tlb_orig_addr[i] = INVALID_PHYS_ADDR; - } - /* - * Step 2: merge the returned slots with the preceding slots, - * if available (non zero) - */ - for (i = index - 1; (OFFSET(i, IO_TLB_SEGSIZE) != IO_TLB_SEGSIZE -1) && io_tlb_list[i]; i--) - io_tlb_list[i] = ++count; + if (index + nslots < ALIGN(index + 1, IO_TLB_SEGSIZE)) + count = io_tlb_list[index + nslots]; + else + count = 0; - io_tlb_used -= nslots; + /* + * Step 1: return the slots to the free list, merging the slots with + * superceeding slots + */ + for (i = index + nslots - 1; i >= index; i--) { + io_tlb_list[i] = ++count; + io_tlb_orig_addr[i] = INVALID_PHYS_ADDR; } + + /* + * Step 2: merge the returned slots with the preceding slots, if + * available (non zero) + */ + for (i = index - 1; + io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 && io_tlb_list[i]; + i--) + io_tlb_list[i] = ++count; + io_tlb_used -= nslots; spin_unlock_irqrestore(&io_tlb_lock, flags); } @@ -634,7 +650,6 @@ if (orig_addr == INVALID_PHYS_ADDR) return; - orig_addr += (unsigned long)tlb_addr & ((1 << IO_TLB_SHIFT) - 1); switch (target) { case SYNC_FOR_CPU: @@ -693,7 +708,7 @@ size_t swiotlb_max_mapping_size(struct device *dev) { - return ((size_t)1 << IO_TLB_SHIFT) * IO_TLB_SEGSIZE; + return ((size_t)IO_TLB_SIZE) * IO_TLB_SEGSIZE; } bool is_swiotlb_active(void) --- linux-riscv-5.8-5.8.0.orig/kernel/events/core.c +++ linux-riscv-5.8-5.8.0/kernel/events/core.c @@ -99,7 +99,7 @@ * retry due to any failures in smp_call_function_single(), such as if the * task_cpu() goes offline concurrently. * - * returns @func return value or -ESRCH when the process isn't running + * returns @func return value or -ESRCH or -ENXIO when the process isn't running */ static int task_function_call(struct task_struct *p, remote_function_f func, void *info) @@ -115,7 +115,8 @@ for (;;) { ret = smp_call_function_single(task_cpu(p), remote_function, &data, 1); - ret = !ret ? data.ret : -EAGAIN; + if (!ret) + ret = data.ret; if (ret != -EAGAIN) break; @@ -406,8 +407,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 */ @@ -1310,7 +1316,7 @@ * function. * * Lock order: - * exec_update_mutex + * exec_update_lock * task_struct::perf_event_mutex * perf_event_context::mutex * perf_event::child_mutex; @@ -2549,11 +2555,8 @@ pmu->start_txn(pmu, PERF_PMU_TXN_ADD); - if (event_sched_in(group_event, cpuctx, ctx)) { - pmu->cancel_txn(pmu); - perf_mux_hrtimer_restart(cpuctx); - return -EAGAIN; - } + if (event_sched_in(group_event, cpuctx, ctx)) + goto error; /* * Schedule in siblings as one group (if any): @@ -2582,10 +2585,8 @@ } event_sched_out(group_event, cpuctx, ctx); +error: pmu->cancel_txn(pmu); - - perf_mux_hrtimer_restart(cpuctx); - return -EAGAIN; } @@ -3641,6 +3642,7 @@ *can_add_hw = 0; ctx->rotate_necessary = 1; + perf_mux_hrtimer_restart(cpuctx); } return 0; @@ -5851,11 +5853,11 @@ static void perf_mmap_close(struct vm_area_struct *vma) { struct perf_event *event = vma->vm_file->private_data; - struct perf_buffer *rb = ring_buffer_get(event); struct user_struct *mmap_user = rb->mmap_user; int mmap_locked = rb->mmap_locked; unsigned long size = perf_data_size(rb); + bool detach_rest = false; if (event->pmu->event_unmapped) event->pmu->event_unmapped(event, vma->vm_mm); @@ -5886,7 +5888,8 @@ mutex_unlock(&event->mmap_mutex); } - atomic_dec(&rb->mmap_count); + if (atomic_dec_and_test(&rb->mmap_count)) + detach_rest = true; if (!atomic_dec_and_mutex_lock(&event->mmap_count, &event->mmap_mutex)) goto out_put; @@ -5895,7 +5898,7 @@ mutex_unlock(&event->mmap_mutex); /* If there's still other mmap()s of this buffer, we're done. */ - if (atomic_read(&rb->mmap_count)) + if (!detach_rest) goto out_put; /* @@ -9939,6 +9942,7 @@ if (token == IF_SRC_FILE || token == IF_SRC_FILEADDR) { int fpos = token == IF_SRC_FILE ? 2 : 1; + kfree(filename); filename = match_strdup(&args[fpos]); if (!filename) { ret = -ENOMEM; @@ -9985,16 +9989,13 @@ */ ret = -EOPNOTSUPP; if (!event->ctx->task) - goto fail_free_name; + goto fail; /* look up the path and grab its inode */ ret = kern_path(filename, LOOKUP_FOLLOW, &filter->path); if (ret) - goto fail_free_name; - - kfree(filename); - filename = NULL; + goto fail; ret = -EINVAL; if (!filter->path.dentry || @@ -10014,13 +10015,13 @@ if (state != IF_STATE_ACTION) goto fail; + kfree(filename); kfree(orig); return 0; -fail_free_name: - kfree(filename); fail: + kfree(filename); free_filters_list(filters); kfree(orig); @@ -11503,6 +11504,9 @@ if (err) return err; + if (perf_paranoid_any() && !capable(CAP_SYS_ADMIN)) + return -EACCES; + err = perf_copy_attr(attr_uptr, &attr); if (err) return err; @@ -11533,12 +11537,12 @@ return err; } - err = security_locked_down(LOCKDOWN_PERF); - if (err && (attr.sample_type & PERF_SAMPLE_REGS_INTR)) - /* REGS_INTR can leak data, lockdown must prevent this */ - return err; - - err = 0; + /* REGS_INTR can leak data, lockdown must prevent this */ + if (attr.sample_type & PERF_SAMPLE_REGS_INTR) { + err = security_locked_down(LOCKDOWN_PERF); + if (err) + return err; + } /* * In cgroup mode, the pid argument is used to pass the fd @@ -11582,14 +11586,14 @@ } if (task) { - err = mutex_lock_interruptible(&task->signal->exec_update_mutex); + err = down_read_interruptible(&task->signal->exec_update_lock); if (err) goto err_task; /* * Reuse ptrace permission checks for now. * - * We must hold exec_update_mutex across this and any potential + * We must hold exec_update_lock across this and any potential * perf_install_in_context() call for this new event to * serialize against exec() altering our credentials (and the * perf_event_exit_task() that could imply). @@ -11878,7 +11882,7 @@ mutex_unlock(&ctx->mutex); if (task) { - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); put_task_struct(task); } @@ -11914,7 +11918,7 @@ free_event(event); err_cred: if (task) - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); err_task: if (task) put_task_struct(task); @@ -12219,7 +12223,7 @@ /* * When a child task exits, feed back event values to parent events. * - * Can be called with exec_update_mutex held when called from + * Can be called with exec_update_lock held when called from * setup_new_exec(). */ void perf_event_exit_task(struct task_struct *child) --- linux-riscv-5.8-5.8.0.orig/kernel/events/internal.h +++ linux-riscv-5.8-5.8.0/kernel/events/internal.h @@ -211,7 +211,7 @@ rctx = 3; else if (in_irq()) rctx = 2; - else if (in_softirq()) + else if (in_serving_softirq()) rctx = 1; else rctx = 0; --- linux-riscv-5.8-5.8.0.orig/kernel/events/uprobes.c +++ linux-riscv-5.8-5.8.0/kernel/events/uprobes.c @@ -205,7 +205,7 @@ try_to_free_swap(old_page); page_vma_mapped_walk_done(&pvmw); - if (vma->vm_flags & VM_LOCKED) + if ((vma->vm_flags & VM_LOCKED) && !PageCompound(old_page)) munlock_vma_page(old_page); put_page(old_page); @@ -1823,7 +1823,7 @@ t->utask->dup_xol_addr = area->vaddr; init_task_work(&t->utask->dup_xol_work, dup_xol_work); - task_work_add(t, &t->utask->dup_xol_work, true); + task_work_add(t, &t->utask->dup_xol_work, TWA_RESUME); } /* --- linux-riscv-5.8-5.8.0.orig/kernel/exit.c +++ linux-riscv-5.8-5.8.0/kernel/exit.c @@ -63,6 +63,7 @@ #include #include #include +#include #include #include @@ -453,7 +454,10 @@ mmap_read_unlock(mm); self.task = current; - self.next = xchg(&core_state->dumper.next, &self); + if (self.task->flags & PF_SIGNALED) + self.next = xchg(&core_state->dumper.next, &self); + else + self.task = NULL; /* * Implies mb(), the result of xchg() must be visible * to core_state->dumper. @@ -758,6 +762,7 @@ schedule(); } + io_uring_files_cancel(tsk->files); exit_signals(tsk); /* sets PF_EXITING */ /* sync mm's RSS info before statistics gathering */ --- linux-riscv-5.8-5.8.0.orig/kernel/fail_function.c +++ linux-riscv-5.8-5.8.0/kernel/fail_function.c @@ -253,7 +253,7 @@ if (copy_from_user(buf, buffer, count)) { ret = -EFAULT; - goto out; + goto out_free; } buf[count] = '\0'; sym = strstrip(buf); @@ -307,8 +307,9 @@ ret = count; } out: - kfree(buf); mutex_unlock(&fei_lock); +out_free: + kfree(buf); return ret; } --- linux-riscv-5.8-5.8.0.orig/kernel/fork.c +++ linux-riscv-5.8-5.8.0/kernel/fork.c @@ -95,6 +95,7 @@ #include #include #include +#include #include #include @@ -106,6 +107,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 @@ -570,7 +576,7 @@ struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; - get_file(file); + vma_get_file(tmp); if (tmp->vm_flags & VM_DENYWRITE) atomic_dec(&inode->i_writecount); i_mmap_lock_write(mapping); @@ -745,6 +751,7 @@ WARN_ON(refcount_read(&tsk->usage)); WARN_ON(tsk == current); + io_uring_free(tsk); cgroup_free(tsk); task_numa_free(tsk, true); security_task_free(tsk); @@ -1131,6 +1138,7 @@ schedule_work(&mm->async_put_work); } } +EXPORT_SYMBOL(mmput_async); #endif /** @@ -1235,7 +1243,7 @@ struct mm_struct *mm; int err; - err = mutex_lock_killable(&task->signal->exec_update_mutex); + err = down_read_killable(&task->signal->exec_update_lock); if (err) return ERR_PTR(err); @@ -1245,7 +1253,7 @@ mmput(mm); mm = ERR_PTR(-EACCES); } - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); return mm; } @@ -1605,7 +1613,7 @@ sig->oom_score_adj_min = current->signal->oom_score_adj_min; mutex_init(&sig->cred_guard_mutex); - mutex_init(&sig->exec_update_mutex); + init_rwsem(&sig->exec_update_lock); return 0; } @@ -1830,6 +1838,25 @@ free_task(tsk); } +static void copy_oom_score_adj(u64 clone_flags, struct task_struct *tsk) +{ + /* Skip if kernel thread */ + if (!tsk->mm) + return; + + /* Skip if spawning a thread or using vfork */ + if ((clone_flags & (CLONE_VM | CLONE_THREAD | CLONE_VFORK)) != CLONE_VM) + return; + + /* We need to synchronize with __set_oom_adj */ + mutex_lock(&oom_adj_mutex); + set_bit(MMF_MULTIPROCESS, &tsk->mm->flags); + /* Update the values in case they were changed after copy_signal */ + tsk->signal->oom_score_adj = current->signal->oom_score_adj; + tsk->signal->oom_score_adj_min = current->signal->oom_score_adj_min; + mutex_unlock(&oom_adj_mutex); +} + /* * This creates a new process as a copy of the old one, * but does not actually start it yet. @@ -1861,6 +1888,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. @@ -2003,6 +2034,10 @@ p->vtime.state = VTIME_INACTIVE; #endif +#ifdef CONFIG_IO_URING + p->io_uring = NULL; +#endif + #if defined(SPLIT_RSS_COUNTING) memset(&p->rss_stat, 0, sizeof(p->rss_stat)); #endif @@ -2171,14 +2206,9 @@ /* ok, now we should be set up.. */ p->pid = pid_nr(pid); if (clone_flags & CLONE_THREAD) { - p->exit_signal = -1; p->group_leader = current->group_leader; p->tgid = current->tgid; } else { - if (clone_flags & CLONE_PARENT) - p->exit_signal = current->group_leader->exit_signal; - else - p->exit_signal = args->exit_signal; p->group_leader = p; p->tgid = p->pid; } @@ -2222,9 +2252,14 @@ if (clone_flags & (CLONE_PARENT|CLONE_THREAD)) { p->real_parent = current->real_parent; p->parent_exec_id = current->parent_exec_id; + if (clone_flags & CLONE_THREAD) + p->exit_signal = -1; + else + p->exit_signal = current->group_leader->exit_signal; } else { p->real_parent = current; p->parent_exec_id = current->self_exec_id; + p->exit_signal = args->exit_signal; } klp_copy_process(p); @@ -2310,6 +2345,8 @@ trace_task_newtask(p, clone_flags); uprobe_copy_process(p, clone_flags); + copy_oom_score_adj(clone_flags, p); + return p; bad_fork_cancel_cgroup: @@ -2961,6 +2998,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-riscv-5.8-5.8.0.orig/kernel/futex.c +++ linux-riscv-5.8-5.8.0/kernel/futex.c @@ -56,6 +56,7 @@ #include #include #include +#include #include @@ -677,10 +678,6 @@ return err; } -static inline void put_futex_key(union futex_key *key) -{ -} - /** * fault_in_user_writeable() - Fault in user address and verify RW access * @uaddr: pointer to faulting user space address @@ -785,6 +782,29 @@ return pi_state; } +static void pi_state_update_owner(struct futex_pi_state *pi_state, + struct task_struct *new_owner) +{ + struct task_struct *old_owner = pi_state->owner; + + lockdep_assert_held(&pi_state->pi_mutex.wait_lock); + + if (old_owner) { + raw_spin_lock(&old_owner->pi_lock); + WARN_ON(list_empty(&pi_state->list)); + list_del_init(&pi_state->list); + raw_spin_unlock(&old_owner->pi_lock); + } + + if (new_owner) { + raw_spin_lock(&new_owner->pi_lock); + WARN_ON(!list_empty(&pi_state->list)); + list_add(&pi_state->list, &new_owner->pi_state_list); + pi_state->owner = new_owner; + raw_spin_unlock(&new_owner->pi_lock); + } +} + static void get_pi_state(struct futex_pi_state *pi_state) { WARN_ON_ONCE(!refcount_inc_not_zero(&pi_state->refcount)); @@ -807,17 +827,12 @@ * and has cleaned up the pi_state already */ if (pi_state->owner) { - struct task_struct *owner; + unsigned long flags; - raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); - owner = pi_state->owner; - if (owner) { - raw_spin_lock(&owner->pi_lock); - list_del_init(&pi_state->list); - raw_spin_unlock(&owner->pi_lock); - } - rt_mutex_proxy_unlock(&pi_state->pi_mutex, owner); - raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); + raw_spin_lock_irqsave(&pi_state->pi_mutex.wait_lock, flags); + pi_state_update_owner(pi_state, NULL); + rt_mutex_proxy_unlock(&pi_state->pi_mutex); + raw_spin_unlock_irqrestore(&pi_state->pi_mutex.wait_lock, flags); } if (current->pi_state_cache) { @@ -962,7 +977,8 @@ * FUTEX_OWNER_DIED bit. See [4] * * [10] There is no transient state which leaves owner and user space - * TID out of sync. + * TID out of sync. Except one error case where the kernel is denied + * write access to the user address, see fixup_pi_state_owner(). * * * Serialization and lifetime rules: @@ -1523,8 +1539,10 @@ */ newval = FUTEX_WAITERS | task_pid_vnr(new_owner); - if (unlikely(should_fail_futex(true))) + if (unlikely(should_fail_futex(true))) { ret = -EFAULT; + goto out_unlock; + } ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, newval); if (!ret && (curval != uval)) { @@ -1540,26 +1558,15 @@ ret = -EINVAL; } - if (ret) - goto out_unlock; - - /* - * This is a point of no return; once we modify the uval there is no - * going back and subsequent operations must not fail. - */ - - raw_spin_lock(&pi_state->owner->pi_lock); - WARN_ON(list_empty(&pi_state->list)); - list_del_init(&pi_state->list); - raw_spin_unlock(&pi_state->owner->pi_lock); - - raw_spin_lock(&new_owner->pi_lock); - WARN_ON(!list_empty(&pi_state->list)); - list_add(&pi_state->list, &new_owner->pi_state_list); - pi_state->owner = new_owner; - raw_spin_unlock(&new_owner->pi_lock); - - postunlock = __rt_mutex_futex_unlock(&pi_state->pi_mutex, &wake_q); + if (!ret) { + /* + * This is a point of no return; once we modified the uval + * there is no going back and subsequent operations must + * not fail. + */ + pi_state_update_owner(pi_state, new_owner); + postunlock = __rt_mutex_futex_unlock(&pi_state->pi_mutex, &wake_q); + } out_unlock: raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); @@ -1611,13 +1618,13 @@ ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &key, FUTEX_READ); if (unlikely(ret != 0)) - goto out; + return ret; hb = hash_futex(&key); /* Make sure we really have tasks to wakeup */ if (!hb_waiters_pending(hb)) - goto out_put_key; + return ret; spin_lock(&hb->lock); @@ -1640,9 +1647,6 @@ spin_unlock(&hb->lock); wake_up_q(&wake_q); -out_put_key: - put_futex_key(&key); -out: return ret; } @@ -1709,10 +1713,10 @@ retry: ret = get_futex_key(uaddr1, flags & FLAGS_SHARED, &key1, FUTEX_READ); if (unlikely(ret != 0)) - goto out; + return ret; ret = get_futex_key(uaddr2, flags & FLAGS_SHARED, &key2, FUTEX_WRITE); if (unlikely(ret != 0)) - goto out_put_key1; + return ret; hb1 = hash_futex(&key1); hb2 = hash_futex(&key2); @@ -1730,13 +1734,13 @@ * an MMU, but we might get them from range checking */ ret = op_ret; - goto out_put_keys; + return ret; } if (op_ret == -EFAULT) { ret = fault_in_user_writeable(uaddr2); if (ret) - goto out_put_keys; + return ret; } if (!(flags & FLAGS_SHARED)) { @@ -1744,8 +1748,6 @@ goto retry_private; } - put_futex_key(&key2); - put_futex_key(&key1); cond_resched(); goto retry; } @@ -1781,11 +1783,6 @@ out_unlock: double_unlock_hb(hb1, hb2); wake_up_q(&wake_q); -out_put_keys: - put_futex_key(&key2); -out_put_key1: - put_futex_key(&key1); -out: return ret; } @@ -1992,20 +1989,18 @@ retry: ret = get_futex_key(uaddr1, flags & FLAGS_SHARED, &key1, FUTEX_READ); if (unlikely(ret != 0)) - goto out; + return ret; ret = get_futex_key(uaddr2, flags & FLAGS_SHARED, &key2, requeue_pi ? FUTEX_WRITE : FUTEX_READ); if (unlikely(ret != 0)) - goto out_put_key1; + return ret; /* * The check above which compares uaddrs is not sufficient for * shared futexes. We need to compare the keys: */ - if (requeue_pi && match_futex(&key1, &key2)) { - ret = -EINVAL; - goto out_put_keys; - } + if (requeue_pi && match_futex(&key1, &key2)) + return -EINVAL; hb1 = hash_futex(&key1); hb2 = hash_futex(&key2); @@ -2025,13 +2020,11 @@ ret = get_user(curval, uaddr1); if (ret) - goto out_put_keys; + return ret; if (!(flags & FLAGS_SHARED)) goto retry_private; - put_futex_key(&key2); - put_futex_key(&key1); goto retry; } if (curval != *cmpval) { @@ -2090,12 +2083,10 @@ case -EFAULT: double_unlock_hb(hb1, hb2); hb_waiters_dec(hb2); - put_futex_key(&key2); - put_futex_key(&key1); ret = fault_in_user_writeable(uaddr2); if (!ret) goto retry; - goto out; + return ret; case -EBUSY: case -EAGAIN: /* @@ -2106,8 +2097,6 @@ */ double_unlock_hb(hb1, hb2); hb_waiters_dec(hb2); - put_futex_key(&key2); - put_futex_key(&key1); /* * Handle the case where the owner is in the middle of * exiting. Wait for the exit to complete otherwise @@ -2216,12 +2205,6 @@ double_unlock_hb(hb1, hb2); wake_up_q(&wake_q); hb_waiters_dec(hb2); - -out_put_keys: - put_futex_key(&key2); -out_put_key1: - put_futex_key(&key1); -out: return ret ? ret : task_count; } @@ -2366,18 +2349,13 @@ spin_unlock(q->lock_ptr); } -static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, - struct task_struct *argowner) +static int __fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, + struct task_struct *argowner) { struct futex_pi_state *pi_state = q->pi_state; - u32 uval, uninitialized_var(curval), newval; struct task_struct *oldowner, *newowner; - u32 newtid; - int ret, err = 0; - - lockdep_assert_held(q->lock_ptr); - - raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); + u32 uval, curval, newval, newtid; + int err = 0; oldowner = pi_state->owner; @@ -2411,21 +2389,31 @@ * We raced against a concurrent self; things are * already fixed up. Nothing to do. */ - ret = 0; - goto out_unlock; + return 0; } if (__rt_mutex_futex_trylock(&pi_state->pi_mutex)) { - /* We got the lock after all, nothing to fix. */ - ret = 0; - goto out_unlock; + /* We got the lock. pi_state is correct. Tell caller. */ + return 1; } /* - * Since we just failed the trylock; there must be an owner. + * The trylock just failed, so either there is an owner or + * there is a higher priority waiter than this one. */ newowner = rt_mutex_owner(&pi_state->pi_mutex); - BUG_ON(!newowner); + /* + * If the higher priority waiter has not yet taken over the + * rtmutex then newowner is NULL. We can't return here with + * that state because it's inconsistent vs. the user space + * state. So drop the locks and try again. It's a valid + * situation and not any different from the other retry + * conditions. + */ + if (unlikely(!newowner)) { + err = -EAGAIN; + goto handle_err; + } } else { WARN_ON_ONCE(argowner != current); if (oldowner == current) { @@ -2433,8 +2421,7 @@ * We raced against a concurrent self; things are * already fixed up. Nothing to do. */ - ret = 0; - goto out_unlock; + return 1; } newowner = argowner; } @@ -2464,22 +2451,9 @@ * We fixed up user space. Now we need to fix the pi_state * itself. */ - if (pi_state->owner != NULL) { - raw_spin_lock(&pi_state->owner->pi_lock); - WARN_ON(list_empty(&pi_state->list)); - list_del_init(&pi_state->list); - raw_spin_unlock(&pi_state->owner->pi_lock); - } + pi_state_update_owner(pi_state, newowner); - pi_state->owner = newowner; - - raw_spin_lock(&newowner->pi_lock); - WARN_ON(!list_empty(&pi_state->list)); - list_add(&pi_state->list, &newowner->pi_state_list); - raw_spin_unlock(&newowner->pi_lock); - raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); - - return 0; + return argowner == current; /* * In order to reschedule or handle a page fault, we need to drop the @@ -2500,17 +2474,16 @@ switch (err) { case -EFAULT: - ret = fault_in_user_writeable(uaddr); + err = fault_in_user_writeable(uaddr); break; case -EAGAIN: cond_resched(); - ret = 0; + err = 0; break; default: WARN_ON_ONCE(1); - ret = err; break; } @@ -2520,17 +2493,44 @@ /* * Check if someone else fixed it for us: */ - if (pi_state->owner != oldowner) { - ret = 0; - goto out_unlock; - } + if (pi_state->owner != oldowner) + return argowner == current; - if (ret) - goto out_unlock; + /* Retry if err was -EAGAIN or the fault in succeeded */ + if (!err) + goto retry; - goto retry; + /* + * fault_in_user_writeable() failed so user state is immutable. At + * best we can make the kernel state consistent but user state will + * be most likely hosed and any subsequent unlock operation will be + * rejected due to PI futex rule [10]. + * + * Ensure that the rtmutex owner is also the pi_state owner despite + * the user space value claiming something different. There is no + * point in unlocking the rtmutex if current is the owner as it + * would need to wait until the next waiter has taken the rtmutex + * to guarantee consistent state. Keep it simple. Userspace asked + * for this wreckaged state. + * + * The rtmutex has an owner - either current or some other + * task. See the EAGAIN loop above. + */ + pi_state_update_owner(pi_state, rt_mutex_owner(&pi_state->pi_mutex)); -out_unlock: + return err; +} + +static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, + struct task_struct *argowner) +{ + struct futex_pi_state *pi_state = q->pi_state; + int ret; + + lockdep_assert_held(q->lock_ptr); + + raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); + ret = __fixup_pi_state_owner(uaddr, q, argowner); raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); return ret; } @@ -2554,8 +2554,6 @@ */ static int fixup_owner(u32 __user *uaddr, struct futex_q *q, int locked) { - int ret = 0; - if (locked) { /* * Got the lock. We might not be the anticipated owner if we @@ -2566,8 +2564,8 @@ * stable state, anything else needs more attention. */ if (q->pi_state->owner != current) - ret = fixup_pi_state_owner(uaddr, q, current); - goto out; + return fixup_pi_state_owner(uaddr, q, current); + return 1; } /* @@ -2578,24 +2576,17 @@ * Another speculative read; pi_state->owner == current is unstable * but needs our attention. */ - if (q->pi_state->owner == current) { - ret = fixup_pi_state_owner(uaddr, q, NULL); - goto out; - } + if (q->pi_state->owner == current) + return fixup_pi_state_owner(uaddr, q, NULL); /* * Paranoia check. If we did not take the lock, then we should not be - * the owner of the rt_mutex. + * the owner of the rt_mutex. Warn and establish consistent state. */ - if (rt_mutex_owner(&q->pi_state->pi_mutex) == current) { - printk(KERN_ERR "fixup_owner: ret = %d pi-mutex: %p " - "pi-state %p\n", ret, - q->pi_state->pi_mutex.owner, - q->pi_state->owner); - } + if (WARN_ON_ONCE(rt_mutex_owner(&q->pi_state->pi_mutex) == current)) + return fixup_pi_state_owner(uaddr, q, current); -out: - return ret ? ret : locked; + return 0; } /** @@ -2692,12 +2683,11 @@ ret = get_user(uval, uaddr); if (ret) - goto out; + return ret; if (!(flags & FLAGS_SHARED)) goto retry_private; - put_futex_key(&q->key); goto retry; } @@ -2706,9 +2696,6 @@ ret = -EWOULDBLOCK; } -out: - if (ret) - put_futex_key(&q->key); return ret; } @@ -2760,14 +2747,13 @@ goto out; restart = ¤t->restart_block; - restart->fn = futex_wait_restart; restart->futex.uaddr = uaddr; restart->futex.val = val; restart->futex.time = *abs_time; restart->futex.bitset = bitset; restart->futex.flags = flags | FLAGS_HAS_TIMEOUT; - ret = -ERESTART_RESTARTBLOCK; + ret = set_restart_fn(restart, futex_wait_restart); out: if (to) { @@ -2807,7 +2793,6 @@ ktime_t *time, int trylock) { struct hrtimer_sleeper timeout, *to; - struct futex_pi_state *pi_state = NULL; struct task_struct *exiting = NULL; struct rt_mutex_waiter rt_waiter; struct futex_hash_bucket *hb; @@ -2853,7 +2838,6 @@ * - EAGAIN: The user space value changed. */ queue_unlock(hb); - put_futex_key(&q.key); /* * Handle the case where the owner is in the middle of * exiting. Wait for the exit to complete otherwise @@ -2944,30 +2928,13 @@ if (res) ret = (res < 0) ? res : 0; - /* - * If fixup_owner() faulted and was unable to handle the fault, unlock - * it and return the fault to userspace. - */ - if (ret && (rt_mutex_owner(&q.pi_state->pi_mutex) == current)) { - pi_state = q.pi_state; - get_pi_state(pi_state); - } - /* Unqueue and drop the lock */ unqueue_me_pi(&q); - - if (pi_state) { - rt_mutex_futex_unlock(&pi_state->pi_mutex); - put_pi_state(pi_state); - } - - goto out_put_key; + goto out; out_unlock_put_key: queue_unlock(hb); -out_put_key: - put_futex_key(&q.key); out: if (to) { hrtimer_cancel(&to->timer); @@ -2980,12 +2947,11 @@ ret = fault_in_user_writeable(uaddr); if (ret) - goto out_put_key; + goto out; if (!(flags & FLAGS_SHARED)) goto retry_private; - put_futex_key(&q.key); goto retry; } @@ -3114,16 +3080,13 @@ out_unlock: spin_unlock(&hb->lock); out_putkey: - put_futex_key(&key); return ret; pi_retry: - put_futex_key(&key); cond_resched(); goto retry; pi_faulted: - put_futex_key(&key); ret = fault_in_user_writeable(uaddr); if (!ret) @@ -3226,7 +3189,6 @@ u32 __user *uaddr2) { struct hrtimer_sleeper timeout, *to; - struct futex_pi_state *pi_state = NULL; struct rt_mutex_waiter rt_waiter; struct futex_hash_bucket *hb; union futex_key key2 = FUTEX_KEY_INIT; @@ -3265,7 +3227,7 @@ */ ret = futex_wait_setup(uaddr, val, flags, &q, &hb); if (ret) - goto out_key2; + goto out; /* * The check above which compares uaddrs is not sufficient for @@ -3274,7 +3236,7 @@ if (match_futex(&q.key, &key2)) { queue_unlock(hb); ret = -EINVAL; - goto out_put_keys; + goto out; } /* Queue the futex_q, drop the hb lock, wait for wakeup. */ @@ -3284,7 +3246,7 @@ ret = handle_early_requeue_pi_wakeup(hb, &q, &key2, to); spin_unlock(&hb->lock); if (ret) - goto out_put_keys; + goto out; /* * In order for us to be here, we know our q.key == key2, and since @@ -3304,16 +3266,17 @@ if (q.pi_state && (q.pi_state->owner != current)) { spin_lock(q.lock_ptr); ret = fixup_pi_state_owner(uaddr2, &q, current); - if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { - pi_state = q.pi_state; - get_pi_state(pi_state); - } /* * Drop the reference to the pi state which * the requeue_pi() code acquired for us. */ put_pi_state(q.pi_state); spin_unlock(q.lock_ptr); + /* + * Adjust the return value. It's either -EFAULT or + * success (1) but the caller expects 0 for success. + */ + ret = ret < 0 ? ret : 0; } } else { struct rt_mutex *pi_mutex; @@ -3344,25 +3307,10 @@ if (res) ret = (res < 0) ? res : 0; - /* - * If fixup_pi_state_owner() faulted and was unable to handle - * the fault, unlock the rt_mutex and return the fault to - * userspace. - */ - if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { - pi_state = q.pi_state; - get_pi_state(pi_state); - } - /* Unqueue and drop the lock. */ unqueue_me_pi(&q); } - if (pi_state) { - rt_mutex_futex_unlock(&pi_state->pi_mutex); - put_pi_state(pi_state); - } - if (ret == -EINTR) { /* * We've already been requeued, but cannot restart by calling @@ -3374,11 +3322,6 @@ ret = -EWOULDBLOCK; } -out_put_keys: - put_futex_key(&q.key); -out_key2: - put_futex_key(&key2); - out: if (to) { hrtimer_cancel(&to->timer); @@ -3859,6 +3802,8 @@ t = timespec64_to_ktime(ts); if (cmd == FUTEX_WAIT) t = ktime_add_safe(ktime_get(), t); + else if (!(op & FUTEX_CLOCK_REALTIME)) + t = timens_ktime_to_host(CLOCK_MONOTONIC, t); tp = &t; } /* @@ -4051,6 +3996,8 @@ t = timespec64_to_ktime(ts); if (cmd == FUTEX_WAIT) t = ktime_add_safe(ktime_get(), t); + else if (!(op & FUTEX_CLOCK_REALTIME)) + t = timens_ktime_to_host(CLOCK_MONOTONIC, t); tp = &t; } if (cmd == FUTEX_REQUEUE || cmd == FUTEX_CMP_REQUEUE || --- linux-riscv-5.8-5.8.0.orig/kernel/gcov/clang.c +++ linux-riscv-5.8-5.8.0/kernel/gcov/clang.c @@ -70,12 +70,16 @@ u32 ident; u32 checksum; +#if CONFIG_CLANG_VERSION < 110000 u8 use_extra_checksum; +#endif u32 cfg_checksum; u32 num_counters; u64 *counters; +#if CONFIG_CLANG_VERSION < 110000 const char *function_name; +#endif }; static struct gcov_info *current_info; @@ -105,6 +109,7 @@ } EXPORT_SYMBOL(llvm_gcov_init); +#if CONFIG_CLANG_VERSION < 110000 void llvm_gcda_start_file(const char *orig_filename, const char version[4], u32 checksum) { @@ -113,7 +118,17 @@ current_info->checksum = checksum; } EXPORT_SYMBOL(llvm_gcda_start_file); +#else +void llvm_gcda_start_file(const char *orig_filename, u32 version, u32 checksum) +{ + current_info->filename = orig_filename; + current_info->version = version; + current_info->checksum = checksum; +} +EXPORT_SYMBOL(llvm_gcda_start_file); +#endif +#if CONFIG_CLANG_VERSION < 110000 void llvm_gcda_emit_function(u32 ident, const char *function_name, u32 func_checksum, u8 use_extra_checksum, u32 cfg_checksum) { @@ -132,6 +147,21 @@ list_add_tail(&info->head, ¤t_info->functions); } +#else +void llvm_gcda_emit_function(u32 ident, u32 func_checksum, u32 cfg_checksum) +{ + struct gcov_fn_info *info = kzalloc(sizeof(*info), GFP_KERNEL); + + if (!info) + return; + + INIT_LIST_HEAD(&info->head); + info->ident = ident; + info->checksum = func_checksum; + info->cfg_checksum = cfg_checksum; + list_add_tail(&info->head, ¤t_info->functions); +} +#endif EXPORT_SYMBOL(llvm_gcda_emit_function); void llvm_gcda_emit_arcs(u32 num_counters, u64 *counters) @@ -262,11 +292,16 @@ !list_is_last(&fn_ptr2->head, &info2->functions)) { if (fn_ptr1->checksum != fn_ptr2->checksum) return false; +#if CONFIG_CLANG_VERSION < 110000 if (fn_ptr1->use_extra_checksum != fn_ptr2->use_extra_checksum) return false; if (fn_ptr1->use_extra_checksum && fn_ptr1->cfg_checksum != fn_ptr2->cfg_checksum) return false; +#else + if (fn_ptr1->cfg_checksum != fn_ptr2->cfg_checksum) + return false; +#endif fn_ptr1 = list_next_entry(fn_ptr1, head); fn_ptr2 = list_next_entry(fn_ptr2, head); } @@ -295,6 +330,7 @@ } } +#if CONFIG_CLANG_VERSION < 110000 static struct gcov_fn_info *gcov_fn_info_dup(struct gcov_fn_info *fn) { size_t cv_size; /* counter values size */ @@ -322,6 +358,28 @@ kfree(fn_dup); return NULL; } +#else +static struct gcov_fn_info *gcov_fn_info_dup(struct gcov_fn_info *fn) +{ + size_t cv_size; /* counter values size */ + struct gcov_fn_info *fn_dup = kmemdup(fn, sizeof(*fn), + GFP_KERNEL); + if (!fn_dup) + return NULL; + INIT_LIST_HEAD(&fn_dup->head); + + cv_size = fn->num_counters * sizeof(fn->counters[0]); + fn_dup->counters = vmalloc(cv_size); + if (!fn_dup->counters) { + kfree(fn_dup); + return NULL; + } + + memcpy(fn_dup->counters, fn->counters, cv_size); + + return fn_dup; +} +#endif /** * gcov_info_dup - duplicate profiling data set @@ -362,6 +420,7 @@ * gcov_info_free - release memory for profiling data set duplicate * @info: profiling data set duplicate to free */ +#if CONFIG_CLANG_VERSION < 110000 void gcov_info_free(struct gcov_info *info) { struct gcov_fn_info *fn, *tmp; @@ -375,6 +434,20 @@ kfree(info->filename); kfree(info); } +#else +void gcov_info_free(struct gcov_info *info) +{ + struct gcov_fn_info *fn, *tmp; + + list_for_each_entry_safe(fn, tmp, &info->functions, head) { + vfree(fn->counters); + list_del(&fn->head); + kfree(fn); + } + kfree(info->filename); + kfree(info); +} +#endif #define ITER_STRIDE PAGE_SIZE @@ -460,17 +533,22 @@ list_for_each_entry(fi_ptr, &info->functions, head) { u32 i; - u32 len = 2; - - if (fi_ptr->use_extra_checksum) - len++; pos += store_gcov_u32(buffer, pos, GCOV_TAG_FUNCTION); - pos += store_gcov_u32(buffer, pos, len); +#if CONFIG_CLANG_VERSION < 110000 + pos += store_gcov_u32(buffer, pos, + fi_ptr->use_extra_checksum ? 3 : 2); +#else + pos += store_gcov_u32(buffer, pos, 3); +#endif pos += store_gcov_u32(buffer, pos, fi_ptr->ident); pos += store_gcov_u32(buffer, pos, fi_ptr->checksum); +#if CONFIG_CLANG_VERSION < 110000 if (fi_ptr->use_extra_checksum) pos += store_gcov_u32(buffer, pos, fi_ptr->cfg_checksum); +#else + pos += store_gcov_u32(buffer, pos, fi_ptr->cfg_checksum); +#endif pos += store_gcov_u32(buffer, pos, GCOV_TAG_COUNTER_BASE); pos += store_gcov_u32(buffer, pos, fi_ptr->num_counters * 2); --- linux-riscv-5.8-5.8.0.orig/kernel/gcov/gcc_4_7.c +++ linux-riscv-5.8-5.8.0/kernel/gcov/gcc_4_7.c @@ -19,7 +19,9 @@ #include #include "gcov.h" -#if (__GNUC__ >= 7) +#if (__GNUC__ >= 10) +#define GCOV_COUNTERS 8 +#elif (__GNUC__ >= 7) #define GCOV_COUNTERS 9 #elif (__GNUC__ > 5) || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) #define GCOV_COUNTERS 10 --- linux-riscv-5.8-5.8.0.orig/kernel/irq/Kconfig +++ linux-riscv-5.8-5.8.0/kernel/irq/Kconfig @@ -86,6 +86,7 @@ # Generic IRQ IPI support config GENERIC_IRQ_IPI bool + select IRQ_DOMAIN_HIERARCHY # Generic MSI interrupt support config GENERIC_MSI_IRQ @@ -116,6 +117,10 @@ config IRQ_FORCED_THREADING bool +config IRQ_FORCED_THREADING_DEFAULT + bool "Use IRQ threading by default" + depends on IRQ_FORCED_THREADING + config SPARSE_IRQ bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ help --- linux-riscv-5.8-5.8.0.orig/kernel/irq/irqdomain.c +++ linux-riscv-5.8-5.8.0/kernel/irq/irqdomain.c @@ -623,17 +623,19 @@ EXPORT_SYMBOL_GPL(irq_create_direct_mapping); /** - * irq_create_mapping() - Map a hardware interrupt into linux irq space + * irq_create_mapping_affinity() - Map a hardware interrupt into linux irq space * @domain: domain owning this hardware interrupt or NULL for default domain * @hwirq: hardware irq number in that domain space + * @affinity: irq affinity * * Only one mapping per hardware interrupt is permitted. Returns a linux * irq number. * If the sense/trigger is to be specified, set_irq_type() should be called * on the number returned from that call. */ -unsigned int irq_create_mapping(struct irq_domain *domain, - irq_hw_number_t hwirq) +unsigned int irq_create_mapping_affinity(struct irq_domain *domain, + irq_hw_number_t hwirq, + const struct irq_affinity_desc *affinity) { struct device_node *of_node; int virq; @@ -659,7 +661,8 @@ } /* Allocate a virtual interrupt number */ - virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), NULL); + 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; @@ -675,7 +678,7 @@ return virq; } -EXPORT_SYMBOL_GPL(irq_create_mapping); +EXPORT_SYMBOL_GPL(irq_create_mapping_affinity); /** * irq_create_strict_mappings() - Map a range of hw irqs to fixed linux irqs @@ -1287,8 +1290,15 @@ unsigned int irq_base, unsigned int nr_irqs) { - if (domain->ops->free) - domain->ops->free(domain, irq_base, nr_irqs); + unsigned int i; + + if (!domain->ops->free) + return; + + for (i = 0; i < nr_irqs; i++) { + if (irq_domain_get_irq_data(domain, irq_base + i)) + domain->ops->free(domain, irq_base + i, 1); + } } int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain, --- linux-riscv-5.8-5.8.0.orig/kernel/irq/manage.c +++ linux-riscv-5.8-5.8.0/kernel/irq/manage.c @@ -25,7 +25,7 @@ #include "internals.h" #if defined(CONFIG_IRQ_FORCED_THREADING) && !defined(CONFIG_PREEMPT_RT) -__read_mostly bool force_irqthreads; +__read_mostly bool force_irqthreads = IS_ENABLED(CONFIG_IRQ_FORCED_THREADING_DEFAULT); EXPORT_SYMBOL_GPL(force_irqthreads); static int __init setup_forced_irqthreads(char *arg) @@ -33,7 +33,13 @@ force_irqthreads = true; return 0; } +static int __init setup_no_irqthreads(char *arg) +{ + force_irqthreads = false; + return 0; +} early_param("threadirqs", setup_forced_irqthreads); +early_param("nothreadirqs", setup_no_irqthreads); #endif static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip) @@ -320,12 +326,16 @@ struct irq_desc *desc = irq_data_to_desc(data); /* + * Handle irq chips which can handle affinity only in activated + * state correctly + * * If the interrupt is not yet activated, just store the affinity * mask and do not call the chip driver at all. On activation the * driver has to make sure anyway that the interrupt is in a * useable state so startup works. */ - if (!IS_ENABLED(CONFIG_IRQ_DOMAIN_HIERARCHY) || irqd_is_activated(data)) + if (!IS_ENABLED(CONFIG_IRQ_DOMAIN_HIERARCHY) || + irqd_is_activated(data) || !irqd_affinity_on_activate(data)) return false; cpumask_copy(desc->irq_common_data.affinity, mask); @@ -1068,11 +1078,15 @@ irqreturn_t ret; local_bh_disable(); + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) + local_irq_disable(); ret = action->thread_fn(action->irq, action->dev_id); if (ret == IRQ_HANDLED) atomic_inc(&desc->threads_handled); irq_finalize_oneshot(desc, action); + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) + local_irq_enable(); local_bh_enable(); return ret; } @@ -1158,7 +1172,7 @@ handler_fn = irq_thread_fn; init_task_work(&on_exit_work, irq_thread_dtor); - task_work_add(current, &on_exit_work, false); + task_work_add(current, &on_exit_work, TWA_NONE); irq_thread_check_affinity(desc, action); @@ -2731,8 +2745,10 @@ do { chip = irq_data_get_irq_chip(data); - if (WARN_ON_ONCE(!chip)) - return -ENODEV; + if (WARN_ON_ONCE(!chip)) { + err = -ENODEV; + goto out_unlock; + } if (chip->irq_set_irqchip_state) break; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY @@ -2745,6 +2761,7 @@ if (data) err = chip->irq_set_irqchip_state(data, which, val); +out_unlock: irq_put_desc_busunlock(desc, flags); return err; } --- linux-riscv-5.8-5.8.0.orig/kernel/irq/matrix.c +++ linux-riscv-5.8-5.8.0/kernel/irq/matrix.c @@ -380,6 +380,13 @@ unsigned int cpu, bit; struct cpumap *cm; + /* + * Not required in theory, but matrix_find_best_cpu() uses + * for_each_cpu() which ignores the cpumask on UP . + */ + if (cpumask_empty(msk)) + return -EINVAL; + cpu = matrix_find_best_cpu(m, msk); if (cpu == UINT_MAX) return -ENOSPC; --- linux-riscv-5.8-5.8.0.orig/kernel/irq/msi.c +++ linux-riscv-5.8-5.8.0/kernel/irq/msi.c @@ -437,22 +437,22 @@ can_reserve = msi_check_reservation_mode(domain, info, dev); - for_each_msi_entry(desc, dev) { - virq = desc->irq; - if (desc->nvec_used == 1) - dev_dbg(dev, "irq %d for MSI\n", virq); - else + /* + * This flag is set by the PCI layer as we need to activate + * the MSI entries before the PCI layer enables MSI in the + * card. Otherwise the card latches a random msi message. + */ + if (!(info->flags & MSI_FLAG_ACTIVATE_EARLY)) + goto skip_activate; + + for_each_msi_vector(desc, i, dev) { + if (desc->irq == i) { + virq = desc->irq; dev_dbg(dev, "irq [%d-%d] for MSI\n", virq, virq + desc->nvec_used - 1); - /* - * This flag is set by the PCI layer as we need to activate - * the MSI entries before the PCI layer enables MSI in the - * card. Otherwise the card latches a random msi message. - */ - if (!(info->flags & MSI_FLAG_ACTIVATE_EARLY)) - continue; + } - irq_data = irq_domain_get_irq_data(domain, desc->irq); + irq_data = irq_domain_get_irq_data(domain, i); if (!can_reserve) { irqd_clr_can_reserve(irq_data); if (domain->flags & IRQ_DOMAIN_MSI_NOMASK_QUIRK) @@ -463,28 +463,24 @@ goto cleanup; } +skip_activate: /* * If these interrupts use reservation mode, clear the activated bit * so request_irq() will assign the final vector. */ if (can_reserve) { - for_each_msi_entry(desc, dev) { - irq_data = irq_domain_get_irq_data(domain, desc->irq); + for_each_msi_vector(desc, i, dev) { + irq_data = irq_domain_get_irq_data(domain, i); irqd_clr_activated(irq_data); } } return 0; cleanup: - for_each_msi_entry(desc, dev) { - struct irq_data *irqd; - - if (desc->irq == virq) - break; - - irqd = irq_domain_get_irq_data(domain, desc->irq); - if (irqd_is_activated(irqd)) - irq_domain_deactivate_irq(irqd); + for_each_msi_vector(desc, i, dev) { + irq_data = irq_domain_get_irq_data(domain, i); + if (irqd_is_activated(irq_data)) + irq_domain_deactivate_irq(irq_data); } msi_domain_free_irqs(domain, dev); return ret; --- linux-riscv-5.8-5.8.0.orig/kernel/irq/pm.c +++ linux-riscv-5.8-5.8.0/kernel/irq/pm.c @@ -185,14 +185,18 @@ unsigned long flags; struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); - if (!desc || !(desc->istate & IRQS_SUSPENDED) || - !irqd_is_wakeup_set(&desc->irq_data)) + if (!desc) return; + if (!(desc->istate & IRQS_SUSPENDED) || + !irqd_is_wakeup_set(&desc->irq_data)) + goto unlock; + desc->istate &= ~IRQS_SUSPENDED; irqd_set(&desc->irq_data, IRQD_WAKEUP_ARMED); __enable_irq(desc); +unlock: irq_put_desc_busunlock(desc, flags); } --- linux-riscv-5.8-5.8.0.orig/kernel/kcmp.c +++ linux-riscv-5.8-5.8.0/kernel/kcmp.c @@ -75,25 +75,25 @@ return file; } -static void kcmp_unlock(struct mutex *m1, struct mutex *m2) +static void kcmp_unlock(struct rw_semaphore *l1, struct rw_semaphore *l2) { - if (likely(m2 != m1)) - mutex_unlock(m2); - mutex_unlock(m1); + if (likely(l2 != l1)) + up_read(l2); + up_read(l1); } -static int kcmp_lock(struct mutex *m1, struct mutex *m2) +static int kcmp_lock(struct rw_semaphore *l1, struct rw_semaphore *l2) { int err; - if (m2 > m1) - swap(m1, m2); + if (l2 > l1) + swap(l1, l2); - err = mutex_lock_killable(m1); - if (!err && likely(m1 != m2)) { - err = mutex_lock_killable_nested(m2, SINGLE_DEPTH_NESTING); + err = down_read_killable(l1); + if (!err && likely(l1 != l2)) { + err = down_read_killable_nested(l2, SINGLE_DEPTH_NESTING); if (err) - mutex_unlock(m1); + up_read(l1); } return err; @@ -173,8 +173,8 @@ /* * One should have enough rights to inspect task details. */ - ret = kcmp_lock(&task1->signal->exec_update_mutex, - &task2->signal->exec_update_mutex); + ret = kcmp_lock(&task1->signal->exec_update_lock, + &task2->signal->exec_update_lock); if (ret) goto err; if (!ptrace_may_access(task1, PTRACE_MODE_READ_REALCREDS) || @@ -229,8 +229,8 @@ } err_unlock: - kcmp_unlock(&task1->signal->exec_update_mutex, - &task2->signal->exec_update_mutex); + kcmp_unlock(&task1->signal->exec_update_lock, + &task2->signal->exec_update_lock); err: put_task_struct(task1); put_task_struct(task2); --- linux-riscv-5.8-5.8.0.orig/kernel/kexec_core.c +++ linux-riscv-5.8-5.8.0/kernel/kexec_core.c @@ -1135,7 +1135,6 @@ #ifdef CONFIG_KEXEC_JUMP if (kexec_image->preserve_context) { - lock_system_sleep(); pm_prepare_console(); error = freeze_processes(); if (error) { @@ -1198,7 +1197,6 @@ thaw_processes(); Restore_console: pm_restore_console(); - unlock_system_sleep(); } #endif --- linux-riscv-5.8-5.8.0.orig/kernel/kexec_file.c +++ linux-riscv-5.8-5.8.0/kernel/kexec_file.c @@ -165,6 +165,11 @@ vfree(pi->sechdrs); pi->sechdrs = NULL; +#ifdef CONFIG_IMA_KEXEC + vfree(image->ima_buffer); + image->ima_buffer = NULL; +#endif /* CONFIG_IMA_KEXEC */ + /* See if architecture has anything to cleanup post load */ arch_kimage_file_post_load_cleanup(image); --- linux-riscv-5.8-5.8.0.orig/kernel/kprobes.c +++ linux-riscv-5.8-5.8.0/kernel/kprobes.c @@ -1079,9 +1079,20 @@ ipmodify ? &kprobe_ipmodify_enabled : &kprobe_ftrace_enabled); } #else /* !CONFIG_KPROBES_ON_FTRACE */ -#define prepare_kprobe(p) arch_prepare_kprobe(p) -#define arm_kprobe_ftrace(p) (-ENODEV) -#define disarm_kprobe_ftrace(p) (-ENODEV) +static inline int prepare_kprobe(struct kprobe *p) +{ + return arch_prepare_kprobe(p); +} + +static inline int arm_kprobe_ftrace(struct kprobe *p) +{ + return -ENODEV; +} + +static inline int disarm_kprobe_ftrace(struct kprobe *p) +{ + return -ENODEV; +} #endif /* Arm a kprobe with text_mutex */ @@ -1207,7 +1218,13 @@ *head = &kretprobe_inst_table[hash]; hlist_lock = kretprobe_table_lock_ptr(hash); - raw_spin_lock_irqsave(hlist_lock, *flags); + /* + * Nested is a workaround that will soon not be needed. + * There's other protections that make sure the same lock + * is not taken on the same CPU that lockdep is unaware of. + * Differentiate when it is taken in NMI context. + */ + raw_spin_lock_irqsave_nested(hlist_lock, *flags, !!in_nmi()); } NOKPROBE_SYMBOL(kretprobe_hash_lock); @@ -1216,7 +1233,13 @@ __acquires(hlist_lock) { raw_spinlock_t *hlist_lock = kretprobe_table_lock_ptr(hash); - raw_spin_lock_irqsave(hlist_lock, *flags); + /* + * Nested is a workaround that will soon not be needed. + * There's other protections that make sure the same lock + * is not taken on the same CPU that lockdep is unaware of. + * Differentiate when it is taken in NMI context. + */ + raw_spin_lock_irqsave_nested(hlist_lock, *flags, !!in_nmi()); } NOKPROBE_SYMBOL(kretprobe_table_lock); @@ -1316,7 +1339,8 @@ struct hlist_node *next; struct hlist_head *head; - /* No race here */ + /* To avoid recursive kretprobe by NMI, set kprobe busy here */ + kprobe_busy_begin(); for (hash = 0; hash < KPROBE_TABLE_SIZE; hash++) { kretprobe_table_lock(hash, &flags); head = &kretprobe_inst_table[hash]; @@ -1326,6 +1350,8 @@ } kretprobe_table_unlock(hash, &flags); } + kprobe_busy_end(); + free_rp_inst(rp); } NOKPROBE_SYMBOL(cleanup_rp_inst); @@ -1894,20 +1920,14 @@ unsigned long hash, flags = 0; struct kretprobe_instance *ri; - /* - * To avoid deadlocks, prohibit return probing in NMI contexts, - * just skip the probe and increase the (inexact) 'nmissed' - * statistical counter, so that the user is informed that - * something happened: - */ - if (unlikely(in_nmi())) { - rp->nmissed++; - return 0; - } - /* TODO: consider to only swap the RA after the last pre_handler fired */ hash = hash_ptr(current, KPROBE_HASH_BITS); - raw_spin_lock_irqsave(&rp->lock, flags); + /* + * Nested is a workaround that will soon not be needed. + * There's other protections that make sure the same lock + * is not taken on the same CPU that lockdep is unaware of. + */ + raw_spin_lock_irqsave_nested(&rp->lock, flags, 1); if (!hlist_empty(&rp->free_instances)) { ri = hlist_entry(rp->free_instances.first, struct kretprobe_instance, hlist); @@ -1918,7 +1938,7 @@ ri->task = current; if (rp->entry_handler && rp->entry_handler(ri, regs)) { - raw_spin_lock_irqsave(&rp->lock, flags); + raw_spin_lock_irqsave_nested(&rp->lock, flags, 1); hlist_add_head(&ri->hlist, &rp->free_instances); raw_spin_unlock_irqrestore(&rp->lock, flags); return 0; @@ -1944,28 +1964,48 @@ return !offset; } -bool kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset) +/** + * kprobe_on_func_entry() -- check whether given address is function entry + * @addr: Target address + * @sym: Target symbol name + * @offset: The offset from the symbol or the address + * + * This checks whether the given @addr+@offset or @sym+@offset is on the + * function entry address or not. + * This returns 0 if it is the function entry, or -EINVAL if it is not. + * And also it returns -ENOENT if it fails the symbol or address lookup. + * Caller must pass @addr or @sym (either one must be NULL), or this + * returns -EINVAL. + */ +int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset) { kprobe_opcode_t *kp_addr = _kprobe_addr(addr, sym, offset); if (IS_ERR(kp_addr)) - return false; + return PTR_ERR(kp_addr); - if (!kallsyms_lookup_size_offset((unsigned long)kp_addr, NULL, &offset) || - !arch_kprobe_on_func_entry(offset)) - return false; + if (!kallsyms_lookup_size_offset((unsigned long)kp_addr, NULL, &offset)) + return -ENOENT; - return true; + if (!arch_kprobe_on_func_entry(offset)) + return -EINVAL; + + return 0; } int register_kretprobe(struct kretprobe *rp) { - int ret = 0; + int ret; struct kretprobe_instance *inst; int i; void *addr; - if (!kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset)) + ret = kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset); + if (ret) + return ret; + + /* If only rp->kp.addr is specified, check reregistering kprobes */ + if (rp->kp.addr && check_kprobe_rereg(&rp->kp)) return -EINVAL; if (kretprobe_blacklist_size) { @@ -2097,6 +2137,9 @@ lockdep_assert_held(&kprobe_mutex); + if (WARN_ON_ONCE(kprobe_gone(p))) + return; + p->flags |= KPROBE_FLAG_GONE; if (kprobe_aggrprobe(p)) { /* @@ -2113,6 +2156,14 @@ * 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 */ @@ -2347,7 +2398,10 @@ mutex_lock(&kprobe_mutex); for (i = 0; i < KPROBE_TABLE_SIZE; i++) { head = &kprobe_table[i]; - hlist_for_each_entry(p, head, hlist) + hlist_for_each_entry(p, head, hlist) { + if (kprobe_gone(p)) + continue; + if (within_module_init((unsigned long)p->addr, mod) || (checkcore && within_module_core((unsigned long)p->addr, mod))) { @@ -2364,6 +2418,7 @@ */ kill_kprobe(p); } + } } if (val == MODULE_STATE_GOING) remove_module_kprobe_blacklist(mod); @@ -2380,6 +2435,28 @@ extern unsigned long __start_kprobe_blacklist[]; extern unsigned long __stop_kprobe_blacklist[]; +void kprobe_free_init_mem(void) +{ + void *start = (void *)(&__init_begin); + void *end = (void *)(&__init_end); + struct hlist_head *head; + struct kprobe *p; + int i; + + mutex_lock(&kprobe_mutex); + + /* Kill all kprobes on initmem */ + for (i = 0; i < KPROBE_TABLE_SIZE; i++) { + head = &kprobe_table[i]; + hlist_for_each_entry(p, head, hlist) { + if (start <= (void *)p->addr && (void *)p->addr < end) + kill_kprobe(p); + } + } + + mutex_unlock(&kprobe_mutex); +} + static int __init init_kprobes(void) { int i, err = 0; --- linux-riscv-5.8-5.8.0.orig/kernel/kthread.c +++ linux-riscv-5.8-5.8.0/kernel/kthread.c @@ -354,6 +354,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 SIGKILLed before kthreadd (or new kernel thread) * calls complete(), leave the cleanup of this structure to @@ -367,6 +378,7 @@ */ wait_for_completion(&done); } +ready: task = create->result; if (!IS_ERR(task)) { static const struct sched_param param = { .sched_priority = 0 }; @@ -492,11 +504,36 @@ return p; kthread_bind(p, cpu); /* CPU hotplug need to bind once again when unparking the thread. */ - set_bit(KTHREAD_IS_PER_CPU, &to_kthread(p)->flags); to_kthread(p)->cpu = cpu; return p; } +void kthread_set_per_cpu(struct task_struct *k, int cpu) +{ + struct kthread *kthread = to_kthread(k); + if (!kthread) + return; + + WARN_ON_ONCE(!(k->flags & PF_NO_SETAFFINITY)); + + if (cpu < 0) { + clear_bit(KTHREAD_IS_PER_CPU, &kthread->flags); + return; + } + + kthread->cpu = cpu; + set_bit(KTHREAD_IS_PER_CPU, &kthread->flags); +} + +bool kthread_is_per_cpu(struct task_struct *k) +{ + struct kthread *kthread = to_kthread(k); + if (!kthread) + return false; + + return test_bit(KTHREAD_IS_PER_CPU, &kthread->flags); +} + /** * kthread_unpark - unpark a thread created by kthread_create(). * @k: thread created by kthread_create(). @@ -896,7 +933,8 @@ /* Move the work from worker->delayed_work_list. */ WARN_ON_ONCE(list_empty(&work->node)); list_del_init(&work->node); - kthread_insert_work(worker, work, &worker->work_list); + if (!work->canceling) + kthread_insert_work(worker, work, &worker->work_list); raw_spin_unlock_irqrestore(&worker->lock, flags); } @@ -1239,13 +1277,16 @@ WARN_ON_ONCE(tsk->mm); task_lock(tsk); + /* Hold off tlb flush IPIs while switching mm's */ + local_irq_disable(); active_mm = tsk->active_mm; if (active_mm != mm) { mmgrab(mm); tsk->active_mm = mm; } tsk->mm = mm; - switch_mm(active_mm, mm, tsk); + switch_mm_irqs_off(active_mm, mm, tsk); + local_irq_enable(); task_unlock(tsk); #ifdef finish_arch_post_lock_switch finish_arch_post_lock_switch(); @@ -1274,9 +1315,11 @@ task_lock(tsk); sync_mm_rss(mm); + local_irq_disable(); tsk->mm = NULL; /* active_mm is still 'mm' */ enter_lazy_tlb(mm, tsk); + local_irq_enable(); task_unlock(tsk); } EXPORT_SYMBOL_GPL(kthread_unuse_mm); --- linux-riscv-5.8-5.8.0.orig/kernel/locking/lockdep.c +++ linux-riscv-5.8-5.8.0/kernel/locking/lockdep.c @@ -169,7 +169,7 @@ struct lock_class lock_classes[MAX_LOCKDEP_KEYS]; static DECLARE_BITMAP(lock_classes_in_use, MAX_LOCKDEP_KEYS); -static inline struct lock_class *hlock_class(struct held_lock *hlock) +inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock) { unsigned int class_idx = hlock->class_idx; @@ -190,6 +190,8 @@ */ return lock_classes + class_idx; } +EXPORT_SYMBOL_GPL(lockdep_hlock_class); +#define hlock_class(hlock) lockdep_hlock_class(hlock) #ifdef CONFIG_LOCK_STAT static DEFINE_PER_CPU(struct lock_class_stats[MAX_LOCKDEP_KEYS], cpu_lock_stats); @@ -664,7 +666,7 @@ printk(KERN_CONT " ("); __print_lock_name(class); - printk(KERN_CONT "){%s}-{%hd:%hd}", usage, + printk(KERN_CONT "){%s}-{%d:%d}", usage, class->wait_type_outer ?: class->wait_type_inner, class->wait_type_inner); } @@ -889,7 +891,8 @@ /* Debug-check: all keys must be persistent! */ debug_locks_off(); pr_err("INFO: trying to register non-static key.\n"); - pr_err("the code is fine but needs lockdep annotation.\n"); + pr_err("The code is fine but needs lockdep annotation, or maybe\n"); + pr_err("you didn't initialize this object before use?\n"); pr_err("turning off the locking correctness validator.\n"); dump_stack(); return false; @@ -3317,7 +3320,7 @@ print_usage_bug(struct task_struct *curr, struct held_lock *this, enum lock_usage_bit prev_bit, enum lock_usage_bit new_bit) { - if (!debug_locks_off_graph_unlock() || debug_locks_silent) + if (!debug_locks_off() || debug_locks_silent) return; pr_warn("\n"); @@ -3358,6 +3361,7 @@ enum lock_usage_bit new_bit, enum lock_usage_bit bad_bit) { if (unlikely(hlock_class(this)->usage_mask & (1 << bad_bit))) { + graph_unlock(); print_usage_bug(curr, this, bad_bit, new_bit); return 0; } @@ -3923,13 +3927,18 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, enum lock_usage_bit new_bit) { - unsigned int new_mask = 1 << new_bit, ret = 1; + unsigned int old_mask, new_mask, ret = 1; if (new_bit >= LOCK_USAGE_STATES) { DEBUG_LOCKS_WARN_ON(1); return 0; } + if (new_bit == LOCK_USED && this->read) + new_bit = LOCK_USED_READ; + + new_mask = 1 << new_bit; + /* * If already set then do not dirty the cacheline, * nor do any checks: @@ -3942,13 +3951,22 @@ /* * Make sure we didn't race: */ - if (unlikely(hlock_class(this)->usage_mask & new_mask)) { - graph_unlock(); - return 1; - } + if (unlikely(hlock_class(this)->usage_mask & new_mask)) + goto unlock; + old_mask = hlock_class(this)->usage_mask; hlock_class(this)->usage_mask |= new_mask; + /* + * Save one usage_traces[] entry and map both LOCK_USED and + * LOCK_USED_READ onto the same entry. + */ + if (new_bit == LOCK_USED || new_bit == LOCK_USED_READ) { + if (old_mask & (LOCKF_USED | LOCKF_USED_READ)) + goto unlock; + new_bit = LOCK_USED; + } + if (!(hlock_class(this)->usage_traces[new_bit] = save_trace())) return 0; @@ -3962,6 +3980,7 @@ return 0; } +unlock: graph_unlock(); /* @@ -4819,12 +4838,15 @@ /* * Check whether we follow the irq-flags state precisely: */ -static void check_flags(unsigned long flags) +static noinstr void check_flags(unsigned long flags) { #if defined(CONFIG_PROVE_LOCKING) && defined(CONFIG_DEBUG_LOCKDEP) if (!debug_locks) return; + /* Get the warning out.. */ + instrumentation_begin(); + if (irqs_disabled_flags(flags)) { if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) { printk("possible reason: unannotated irqs-off.\n"); @@ -4852,6 +4874,8 @@ if (!debug_locks) print_irqtrace_events(current); + + instrumentation_end(); #endif } @@ -4896,12 +4920,20 @@ { #ifdef CONFIG_PROVE_LOCKING struct lock_class *class = look_up_lock_class(lock, subclass); + unsigned long mask = LOCKF_USED; /* if it doesn't have a class (yet), it certainly hasn't been used yet */ if (!class) return; - if (!(class->usage_mask & LOCK_USED)) + /* + * READ locks only conflict with USED, such that if we only ever use + * READ locks, there is no deadlock possible -- RCU. + */ + if (!hlock->read) + mask |= LOCKF_USED_READ; + + if (!(class->usage_mask & mask)) return; hlock->class_idx = class - lock_classes; --- linux-riscv-5.8-5.8.0.orig/kernel/locking/lockdep_internals.h +++ linux-riscv-5.8-5.8.0/kernel/locking/lockdep_internals.h @@ -19,6 +19,7 @@ #include "lockdep_states.h" #undef LOCKDEP_STATE LOCK_USED, + LOCK_USED_READ, LOCK_USAGE_STATES }; @@ -40,6 +41,7 @@ #include "lockdep_states.h" #undef LOCKDEP_STATE __LOCKF(USED) + __LOCKF(USED_READ) }; #define LOCKDEP_STATE(__STATE) LOCKF_ENABLED_##__STATE | --- linux-riscv-5.8-5.8.0.orig/kernel/locking/lockdep_proc.c +++ linux-riscv-5.8-5.8.0/kernel/locking/lockdep_proc.c @@ -423,7 +423,7 @@ seq_time(m, lt->min); seq_time(m, lt->max); seq_time(m, lt->total); - seq_time(m, lt->nr ? div_s64(lt->total, lt->nr) : 0); + seq_time(m, lt->nr ? div64_u64(lt->total, lt->nr) : 0); } static void seq_stats(struct seq_file *m, struct lock_stat_data *data) --- linux-riscv-5.8-5.8.0.orig/kernel/locking/mutex.c +++ linux-riscv-5.8-5.8.0/kernel/locking/mutex.c @@ -636,7 +636,7 @@ */ static __always_inline bool mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, - const bool use_ww_ctx, struct mutex_waiter *waiter) + struct mutex_waiter *waiter) { if (!waiter) { /* @@ -712,7 +712,7 @@ #else static __always_inline bool mutex_optimistic_spin(struct mutex *lock, struct ww_acquire_ctx *ww_ctx, - const bool use_ww_ctx, struct mutex_waiter *waiter) + struct mutex_waiter *waiter) { return false; } @@ -932,6 +932,9 @@ struct ww_mutex *ww; int ret; + if (!use_ww_ctx) + ww_ctx = NULL; + might_sleep(); #ifdef CONFIG_DEBUG_MUTEXES @@ -939,7 +942,7 @@ #endif ww = container_of(lock, struct ww_mutex, base); - if (use_ww_ctx && ww_ctx) { + if (ww_ctx) { if (unlikely(ww_ctx == READ_ONCE(ww->ctx))) return -EALREADY; @@ -956,10 +959,10 @@ mutex_acquire_nest(&lock->dep_map, subclass, 0, nest_lock, ip); if (__mutex_trylock(lock) || - mutex_optimistic_spin(lock, ww_ctx, use_ww_ctx, NULL)) { + mutex_optimistic_spin(lock, ww_ctx, NULL)) { /* got the lock, yay! */ lock_acquired(&lock->dep_map, ip); - if (use_ww_ctx && ww_ctx) + if (ww_ctx) ww_mutex_set_context_fastpath(ww, ww_ctx); preempt_enable(); return 0; @@ -970,7 +973,7 @@ * After waiting to acquire the wait_lock, try again. */ if (__mutex_trylock(lock)) { - if (use_ww_ctx && ww_ctx) + if (ww_ctx) __ww_mutex_check_waiters(lock, ww_ctx); goto skip_wait; @@ -1023,7 +1026,7 @@ goto err; } - if (use_ww_ctx && ww_ctx) { + if (ww_ctx) { ret = __ww_mutex_check_kill(lock, &waiter, ww_ctx); if (ret) goto err; @@ -1036,7 +1039,7 @@ * ww_mutex needs to always recheck its position since its waiter * list is not FIFO ordered. */ - if ((use_ww_ctx && ww_ctx) || !first) { + if (ww_ctx || !first) { first = __mutex_waiter_is_first(lock, &waiter); if (first) __mutex_set_flag(lock, MUTEX_FLAG_HANDOFF); @@ -1049,7 +1052,7 @@ * or we must see its unlock and acquire. */ if (__mutex_trylock(lock) || - (first && mutex_optimistic_spin(lock, ww_ctx, use_ww_ctx, &waiter))) + (first && mutex_optimistic_spin(lock, ww_ctx, &waiter))) break; spin_lock(&lock->wait_lock); @@ -1058,7 +1061,7 @@ acquired: __set_current_state(TASK_RUNNING); - if (use_ww_ctx && ww_ctx) { + if (ww_ctx) { /* * Wound-Wait; we stole the lock (!first_waiter), check the * waiters as anyone might want to wound us. @@ -1078,7 +1081,7 @@ /* got the lock - cleanup and rejoice! */ lock_acquired(&lock->dep_map, ip); - if (use_ww_ctx && ww_ctx) + if (ww_ctx) ww_mutex_lock_acquired(ww, ww_ctx); spin_unlock(&lock->wait_lock); --- linux-riscv-5.8-5.8.0.orig/kernel/locking/percpu-rwsem.c +++ linux-riscv-5.8-5.8.0/kernel/locking/percpu-rwsem.c @@ -45,7 +45,7 @@ static bool __percpu_down_read_trylock(struct percpu_rw_semaphore *sem) { - __this_cpu_inc(*sem->read_count); + this_cpu_inc(*sem->read_count); /* * Due to having preemption disabled the decrement happens on @@ -71,7 +71,7 @@ if (likely(!atomic_read_acquire(&sem->block))) return true; - __this_cpu_dec(*sem->read_count); + this_cpu_dec(*sem->read_count); /* Prod writer to re-evaluate readers_active_check() */ rcuwait_wake_up(&sem->writer); --- linux-riscv-5.8-5.8.0.orig/kernel/locking/qrwlock.c +++ linux-riscv-5.8-5.8.0/kernel/locking/qrwlock.c @@ -61,6 +61,8 @@ */ void queued_write_lock_slowpath(struct qrwlock *lock) { + int cnts; + /* Put the writer into the wait queue */ arch_spin_lock(&lock->wait_lock); @@ -74,9 +76,8 @@ /* When no more readers or writers, set the locked flag */ do { - atomic_cond_read_acquire(&lock->cnts, VAL == _QW_WAITING); - } while (atomic_cmpxchg_relaxed(&lock->cnts, _QW_WAITING, - _QW_LOCKED) != _QW_WAITING); + cnts = atomic_cond_read_relaxed(&lock->cnts, VAL == _QW_WAITING); + } while (!atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, _QW_LOCKED)); unlock: arch_spin_unlock(&lock->wait_lock); } --- linux-riscv-5.8-5.8.0.orig/kernel/locking/rtmutex.c +++ linux-riscv-5.8-5.8.0/kernel/locking/rtmutex.c @@ -1716,8 +1716,7 @@ * possible because it belongs to the pi_state which is about to be freed * and it is not longer visible to other tasks. */ -void rt_mutex_proxy_unlock(struct rt_mutex *lock, - struct task_struct *proxy_owner) +void rt_mutex_proxy_unlock(struct rt_mutex *lock) { debug_rt_mutex_proxy_unlock(lock); rt_mutex_set_owner(lock, NULL); --- linux-riscv-5.8-5.8.0.orig/kernel/locking/rtmutex_common.h +++ linux-riscv-5.8-5.8.0/kernel/locking/rtmutex_common.h @@ -133,8 +133,7 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); -extern void rt_mutex_proxy_unlock(struct rt_mutex *lock, - struct task_struct *proxy_owner); +extern void rt_mutex_proxy_unlock(struct rt_mutex *lock); extern void rt_mutex_init_waiter(struct rt_mutex_waiter *waiter); extern int __rt_mutex_start_proxy_lock(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, --- linux-riscv-5.8-5.8.0.orig/kernel/locking/rwsem.c +++ linux-riscv-5.8-5.8.0/kernel/locking/rwsem.c @@ -1345,6 +1345,18 @@ } } +static inline int __down_read_interruptible(struct rw_semaphore *sem) +{ + if (!rwsem_read_trylock(sem)) { + if (IS_ERR(rwsem_down_read_slowpath(sem, TASK_INTERRUPTIBLE))) + return -EINTR; + DEBUG_RWSEMS_WARN_ON(!is_rwsem_reader_owned(sem), sem); + } else { + rwsem_set_reader_owned(sem); + } + return 0; +} + static inline int __down_read_killable(struct rw_semaphore *sem) { if (!rwsem_read_trylock(sem)) { @@ -1495,6 +1507,20 @@ } EXPORT_SYMBOL(down_read); +int __sched down_read_interruptible(struct rw_semaphore *sem) +{ + might_sleep(); + rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_); + + if (LOCK_CONTENDED_RETURN(sem, __down_read_trylock, __down_read_interruptible)) { + rwsem_release(&sem->dep_map, _RET_IP_); + return -EINTR; + } + + return 0; +} +EXPORT_SYMBOL(down_read_interruptible); + int __sched down_read_killable(struct rw_semaphore *sem) { might_sleep(); @@ -1605,6 +1631,20 @@ } EXPORT_SYMBOL(down_read_nested); +int down_read_killable_nested(struct rw_semaphore *sem, int subclass) +{ + might_sleep(); + rwsem_acquire_read(&sem->dep_map, subclass, 0, _RET_IP_); + + if (LOCK_CONTENDED_RETURN(sem, __down_read_trylock, __down_read_killable)) { + rwsem_release(&sem->dep_map, _RET_IP_); + return -EINTR; + } + + return 0; +} +EXPORT_SYMBOL(down_read_killable_nested); + void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest) { might_sleep(); --- linux-riscv-5.8-5.8.0.orig/kernel/module.c +++ linux-riscv-5.8-5.8.0/kernel/module.c @@ -91,8 +91,9 @@ static LIST_HEAD(modules); /* Work queue for freeing init sections in success case */ -static struct work_struct init_free_wq; -static struct llist_head init_free_list; +static void do_free_init(struct work_struct *w); +static DECLARE_WORK(init_free_wq, do_free_init); +static LLIST_HEAD(init_free_list); #ifdef CONFIG_MODULES_TREE_LOOKUP @@ -1520,18 +1521,34 @@ struct module_sect_attr attrs[]; }; +#define MODULE_SECT_READ_SIZE (3 /* "0x", "\n" */ + (BITS_PER_LONG / 4)) static ssize_t module_sect_read(struct file *file, struct kobject *kobj, struct bin_attribute *battr, char *buf, loff_t pos, size_t count) { struct module_sect_attr *sattr = container_of(battr, struct module_sect_attr, battr); + char bounce[MODULE_SECT_READ_SIZE + 1]; + size_t wrote; if (pos != 0) return -EINVAL; - return sprintf(buf, "0x%px\n", - kallsyms_show_value(file->f_cred) ? (void *)sattr->address : NULL); + /* + * Since we're a binary read handler, we must account for the + * trailing NUL byte that sprintf will write: if "buf" is + * too small to hold the NUL, or the NUL is exactly the last + * byte, the read will look like it got truncated by one byte. + * Since there is no way to ask sprintf nicely to not write + * the NUL, we have to use a bounce buffer. + */ + wrote = scnprintf(bounce, sizeof(bounce), "0x%px\n", + kallsyms_show_value(file->f_cred) + ? (void *)sattr->address : NULL); + count = min(count, wrote); + memcpy(buf, bounce, count); + + return count; } static void free_sect_attrs(struct module_sect_attrs *sect_attrs) @@ -1580,7 +1597,7 @@ goto out; sect_attrs->nsections++; sattr->battr.read = module_sect_read; - sattr->battr.size = 3 /* "0x", "\n" */ + (BITS_PER_LONG / 4); + sattr->battr.size = MODULE_SECT_READ_SIZE; sattr->battr.attr.mode = 0400; *(gattr++) = &(sattr++)->battr; } @@ -1849,7 +1866,6 @@ if (err) mod_kobject_put(mod); - /* delay uevent until full sysfs population */ out: return err; } @@ -1886,7 +1902,6 @@ add_sect_attrs(mod, info); add_notes_attrs(mod, info); - kobject_uevent(&mod->mkobj.kobj, KOBJ_ADD); return 0; out_unreg_modinfo_attrs: @@ -2268,6 +2283,21 @@ return 0; } +static bool ignore_undef_symbol(Elf_Half emachine, const char *name) +{ + /* + * On x86, PIC code and Clang non-PIC code may have call foo@PLT. GNU as + * before 2.37 produces an unreferenced _GLOBAL_OFFSET_TABLE_ on x86-64. + * i386 has a similar problem but may not deserve a fix. + * + * If we ever have to ignore many symbols, consider refactoring the code to + * only warn if referenced by a relocation. + */ + if (emachine == EM_386 || emachine == EM_X86_64) + return !strcmp(name, "_GLOBAL_OFFSET_TABLE_"); + return false; +} + /* Change all symbols so that st_value encodes the pointer directly. */ static int simplify_symbols(struct module *mod, const struct load_info *info) { @@ -2313,8 +2343,10 @@ break; } - /* Ok if weak. */ - if (!ksym && ELF_ST_BIND(sym[i].st_info) == STB_WEAK) + /* Ok if weak or ignored. */ + if (!ksym && + (ELF_ST_BIND(sym[i].st_info) == STB_WEAK || + ignore_undef_symbol(info->hdr->e_machine, name))) break; ret = PTR_ERR(ksym) ?: -ENOENT; @@ -2858,20 +2890,14 @@ * enforcing, certain errors are non-fatal. */ case -ENODATA: - reason = "Loading of unsigned module"; - goto decide; + reason = "unsigned module"; + break; case -ENOPKG: - reason = "Loading of module with unsupported crypto"; - goto decide; + reason = "module with unsupported crypto"; + break; case -ENOKEY: - reason = "Loading of module with unavailable key"; - decide: - if (is_module_sig_enforced()) { - pr_notice("%s: %s is rejected\n", info->name, reason); - return -EKEYREJECTED; - } - - return security_locked_down(LOCKDOWN_MODULE_SIGNATURE); + reason = "module with unavailable key"; + break; /* All other errors are fatal, including nomem, unparseable * signatures and signature check failures - even if signatures @@ -2880,6 +2906,13 @@ default: return err; } + + if (is_module_sig_enforced()) { + pr_notice("Loading of %s is rejected\n", reason); + return -EKEYREJECTED; + } + + return security_locked_down(LOCKDOWN_MODULE_SIGNATURE); } #else /* !CONFIG_MODULE_SIG */ static int module_sig_check(struct load_info *info, int flags) @@ -2888,9 +2921,33 @@ } #endif /* !CONFIG_MODULE_SIG */ -/* Sanity checks against invalid binaries, wrong arch, weird elf version. */ -static int elf_header_check(struct load_info *info) +static int validate_section_offset(struct load_info *info, Elf_Shdr *shdr) { + unsigned long secend; + + /* + * Check for both overflow and offset/size being + * too large. + */ + secend = shdr->sh_offset + shdr->sh_size; + if (secend < shdr->sh_offset || secend > info->len) + return -ENOEXEC; + + return 0; +} + +/* + * Sanity checks against invalid binaries, wrong arch, weird elf version. + * + * Also do basic validity checks against section offsets and sizes, the + * section name string table, and the indices used for it (sh_name). + */ +static int elf_validity_check(struct load_info *info) +{ + unsigned int i; + Elf_Shdr *shdr, *strhdr; + int err; + if (info->len < sizeof(*(info->hdr))) return -ENOEXEC; @@ -2900,11 +2957,78 @@ || info->hdr->e_shentsize != sizeof(Elf_Shdr)) return -ENOEXEC; + /* + * e_shnum is 16 bits, and sizeof(Elf_Shdr) is + * known and small. So e_shnum * sizeof(Elf_Shdr) + * will not overflow unsigned long on any platform. + */ if (info->hdr->e_shoff >= info->len || (info->hdr->e_shnum * sizeof(Elf_Shdr) > info->len - info->hdr->e_shoff)) return -ENOEXEC; + info->sechdrs = (void *)info->hdr + info->hdr->e_shoff; + + /* + * Verify if the section name table index is valid. + */ + if (info->hdr->e_shstrndx == SHN_UNDEF + || info->hdr->e_shstrndx >= info->hdr->e_shnum) + return -ENOEXEC; + + strhdr = &info->sechdrs[info->hdr->e_shstrndx]; + err = validate_section_offset(info, strhdr); + if (err < 0) + return err; + + /* + * The section name table must be NUL-terminated, as required + * by the spec. This makes strcmp and pr_* calls that access + * strings in the section safe. + */ + info->secstrings = (void *)info->hdr + strhdr->sh_offset; + if (info->secstrings[strhdr->sh_size - 1] != '\0') + return -ENOEXEC; + + /* + * The code assumes that section 0 has a length of zero and + * an addr of zero, so check for it. + */ + if (info->sechdrs[0].sh_type != SHT_NULL + || info->sechdrs[0].sh_size != 0 + || info->sechdrs[0].sh_addr != 0) + return -ENOEXEC; + + for (i = 1; i < info->hdr->e_shnum; i++) { + shdr = &info->sechdrs[i]; + switch (shdr->sh_type) { + case SHT_NULL: + case SHT_NOBITS: + continue; + case SHT_SYMTAB: + if (shdr->sh_link == SHN_UNDEF + || shdr->sh_link >= info->hdr->e_shnum) + return -ENOEXEC; + fallthrough; + default: + err = validate_section_offset(info, shdr); + if (err < 0) { + pr_err("Invalid ELF section in module (section %u type %u)\n", + i, shdr->sh_type); + return err; + } + + if (shdr->sh_flags & SHF_ALLOC) { + if (shdr->sh_name >= strhdr->sh_size) { + pr_err("Invalid ELF section name in module (section %u type %u)\n", + i, shdr->sh_type); + return -ENOEXEC; + } + } + break; + } + } + return 0; } @@ -3000,11 +3124,6 @@ for (i = 1; i < info->hdr->e_shnum; i++) { Elf_Shdr *shdr = &info->sechdrs[i]; - if (shdr->sh_type != SHT_NOBITS - && info->len < shdr->sh_offset + shdr->sh_size) { - pr_err("Module len %lu truncated\n", info->len); - return -ENOEXEC; - } /* Mark all sections sh_addr with their address in the temporary image. */ @@ -3036,11 +3155,6 @@ { unsigned int i; - /* Set up the convenience variables */ - info->sechdrs = (void *)info->hdr + info->hdr->e_shoff; - info->secstrings = (void *)info->hdr - + info->sechdrs[info->hdr->e_shstrndx].sh_offset; - /* Try to find a name early so we can log errors with a module name */ info->index.info = find_sec(info, ".modinfo"); if (info->index.info) @@ -3535,14 +3649,6 @@ } } -static int __init modules_wq_init(void) -{ - INIT_WORK(&init_free_wq, do_free_init); - init_llist_head(&init_free_list); - return 0; -} -module_init(modules_wq_init); - /* * This is where the real work happens. * @@ -3587,6 +3693,9 @@ blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_LIVE, mod); + /* Delay uevent until module has finished its init routine */ + kobject_uevent(&mod->mkobj.kobj, KOBJ_ADD); + /* * We need to finish all async code before the module init sequence * is done. This has potential to deadlock. For example, a newly @@ -3780,23 +3889,49 @@ long err = 0; char *after_dashes; - err = elf_header_check(info); + /* + * Do the signature check (if any) first. All that + * the signature check needs is info->len, it does + * not need any of the section info. That can be + * set up later. This will minimize the chances + * of a corrupt module causing problems before + * we even get to the signature check. + * + * The check will also adjust info->len by stripping + * off the sig length at the end of the module, making + * checks against info->len more correct. + */ + err = module_sig_check(info, flags); if (err) goto free_copy; + /* + * Do basic sanity checks against the ELF header and + * sections. + */ + err = elf_validity_check(info); + if (err) { + pr_err("Module has invalid ELF structures\n"); + goto free_copy; + } + + /* + * Everything checks out, so set up the section info + * in the info structure. + */ err = setup_load_info(info, flags); if (err) goto free_copy; + /* + * Now that we know we have the correct module name, check + * if it's blacklisted. + */ if (blacklisted(info->name)) { err = -EPERM; goto free_copy; } - err = module_sig_check(info, flags); - if (err) - goto free_copy; - err = rewrite_section_headers(info, flags); if (err) goto free_copy; @@ -3932,6 +4067,7 @@ MODULE_STATE_GOING, mod); klp_module_going(mod); bug_cleanup: + mod->state = MODULE_STATE_GOING; /* module_bug_cleanup needs module_mutex protection */ mutex_lock(&module_mutex); module_bug_cleanup(mod); @@ -3991,7 +4127,7 @@ { struct load_info info = { }; loff_t size; - void *hdr; + void *hdr = NULL; int err; err = may_init_module(); --- linux-riscv-5.8-5.8.0.orig/kernel/module_signature.c +++ linux-riscv-5.8-5.8.0/kernel/module_signature.c @@ -25,7 +25,7 @@ return -EBADMSG; if (ms->id_type != PKEY_ID_PKCS7) { - pr_err("%s: Module is not signed with expected PKCS#7 message\n", + pr_err("%s: not signed with expected PKCS#7 message\n", name); return -ENOPKG; } --- linux-riscv-5.8-5.8.0.orig/kernel/module_signing.c +++ linux-riscv-5.8-5.8.0/kernel/module_signing.c @@ -30,7 +30,7 @@ memcpy(&ms, mod + (modlen - sizeof(ms)), sizeof(ms)); - ret = mod_check_sig(&ms, modlen, info->name); + ret = mod_check_sig(&ms, modlen, "module"); if (ret) return ret; @@ -38,8 +38,15 @@ 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; } --- linux-riscv-5.8-5.8.0.orig/kernel/padata.c +++ linux-riscv-5.8-5.8.0/kernel/padata.c @@ -215,12 +215,13 @@ padata->pd = pd; padata->cb_cpu = *cb_cpu; - rcu_read_unlock_bh(); - spin_lock(&padata_works_lock); padata->seq_nr = ++pd->seq_nr; pw = padata_work_alloc(); spin_unlock(&padata_works_lock); + + rcu_read_unlock_bh(); + if (pw) { padata_work_init(pw, padata_parallel_worker, padata, 0); queue_work(pinst->parallel_wq, &pw->pw_work); --- linux-riscv-5.8-5.8.0.orig/kernel/pid.c +++ linux-riscv-5.8-5.8.0/kernel/pid.c @@ -42,6 +42,7 @@ #include #include #include +#include struct pid init_struct_pid = { .count = REFCOUNT_INIT(1), @@ -606,7 +607,7 @@ struct file *file; int ret; - ret = mutex_lock_killable(&task->signal->exec_update_mutex); + ret = down_read_killable(&task->signal->exec_update_lock); if (ret) return ERR_PTR(ret); @@ -615,7 +616,7 @@ else file = ERR_PTR(-EPERM); - mutex_unlock(&task->signal->exec_update_mutex); + up_read(&task->signal->exec_update_lock); return file ?: ERR_PTR(-EBADF); } @@ -642,10 +643,12 @@ } ret = get_unused_fd_flags(O_CLOEXEC); - if (ret < 0) + if (ret < 0) { fput(file); - else + } else { + __receive_sock(file); fd_install(ret, file); + } return ret; } --- linux-riscv-5.8-5.8.0.orig/kernel/power/energy_model.c +++ linux-riscv-5.8-5.8.0/kernel/power/energy_model.c @@ -74,7 +74,7 @@ return 0; } -core_initcall(em_debug_init); +fs_initcall(em_debug_init); #else /* CONFIG_DEBUG_FS */ static void em_debug_create_pd(struct em_perf_domain *pd, int cpu) {} #endif --- linux-riscv-5.8-5.8.0.orig/kernel/power/hibernate.c +++ linux-riscv-5.8-5.8.0/kernel/power/hibernate.c @@ -851,17 +851,6 @@ /* Check if the device is there */ swsusp_resume_device = name_to_dev_t(resume_file); - - /* - * name_to_dev_t is ineffective to verify parition if resume_file is in - * integer format. (e.g. major:minor) - */ - if (isdigit(resume_file[0]) && resume_wait) { - int partno; - while (!get_gendisk(swsusp_resume_device, &partno)) - msleep(10); - } - if (!swsusp_resume_device) { /* * Some device discovery might still be in progress; we need --- linux-riscv-5.8-5.8.0.orig/kernel/power/swap.c +++ linux-riscv-5.8-5.8.0/kernel/power/swap.c @@ -489,10 +489,10 @@ unsigned int flags, int error) { if (!error) { - flush_swap_writer(handle); pr_info("S"); error = mark_swapfiles(handle, flags); pr_cont("|\n"); + flush_swap_writer(handle); } if (error) --- linux-riscv-5.8-5.8.0.orig/kernel/printk/printk_safe.c +++ linux-riscv-5.8-5.8.0/kernel/printk/printk_safe.c @@ -45,6 +45,8 @@ static DEFINE_PER_CPU(struct printk_safe_seq_buf, safe_print_seq); static DEFINE_PER_CPU(int, printk_context); +static DEFINE_RAW_SPINLOCK(safe_read_lock); + #ifdef CONFIG_PRINTK_NMI static DEFINE_PER_CPU(struct printk_safe_seq_buf, nmi_print_seq); #endif @@ -180,8 +182,6 @@ */ static void __printk_safe_flush(struct irq_work *work) { - static raw_spinlock_t read_lock = - __RAW_SPIN_LOCK_INITIALIZER(read_lock); struct printk_safe_seq_buf *s = container_of(work, struct printk_safe_seq_buf, work); unsigned long flags; @@ -195,7 +195,7 @@ * different CPUs. This is especially important when printing * a backtrace. */ - raw_spin_lock_irqsave(&read_lock, flags); + raw_spin_lock_irqsave(&safe_read_lock, flags); i = 0; more: @@ -232,7 +232,7 @@ out: report_message_lost(s); - raw_spin_unlock_irqrestore(&read_lock, flags); + raw_spin_unlock_irqrestore(&safe_read_lock, flags); } /** @@ -278,6 +278,14 @@ raw_spin_lock_init(&logbuf_lock); } + if (raw_spin_is_locked(&safe_read_lock)) { + if (num_online_cpus() > 1) + return; + + debug_locks_off(); + raw_spin_lock_init(&safe_read_lock); + } + printk_safe_flush(); } --- linux-riscv-5.8-5.8.0.orig/kernel/ptrace.c +++ linux-riscv-5.8-5.8.0/kernel/ptrace.c @@ -264,17 +264,11 @@ return ret; } -static bool ptrace_has_cap(const struct cred *cred, struct user_namespace *ns, - unsigned int mode) +static bool ptrace_has_cap(struct user_namespace *ns, unsigned int mode) { - int ret; - if (mode & PTRACE_MODE_NOAUDIT) - ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NOAUDIT); - else - ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NONE); - - return ret == 0; + return ns_capable_noaudit(ns, CAP_SYS_PTRACE); + return ns_capable(ns, CAP_SYS_PTRACE); } /* Returns 0 on success, -errno on denial. */ @@ -326,7 +320,7 @@ gid_eq(caller_gid, tcred->sgid) && gid_eq(caller_gid, tcred->gid)) goto ok; - if (ptrace_has_cap(cred, tcred->user_ns, mode)) + if (ptrace_has_cap(tcred->user_ns, mode)) goto ok; rcu_read_unlock(); return -EPERM; @@ -345,7 +339,7 @@ mm = task->mm; if (mm && ((get_dumpable(mm) != SUID_DUMP_USER) && - !ptrace_has_cap(cred, mm->user_ns, mode))) + !ptrace_has_cap(mm->user_ns, mode))) return -EPERM; return security_ptrace_access_check(task, mode); --- linux-riscv-5.8-5.8.0.orig/kernel/rcu/rcutorture.c +++ linux-riscv-5.8-5.8.0/kernel/rcu/rcutorture.c @@ -2154,9 +2154,20 @@ return -ENOMEM; spin_lock_init(&rfp->rcu_fwd_lock); rfp->rcu_fwd_cb_tail = &rfp->rcu_fwd_cb_head; + rcu_fwds = rfp; return torture_create_kthread(rcu_torture_fwd_prog, rfp, fwd_prog_task); } +static void rcu_torture_fwd_prog_cleanup(void) +{ + struct rcu_fwd *rfp; + + torture_stop_kthread(rcu_torture_fwd_prog, fwd_prog_task); + rfp = rcu_fwds; + rcu_fwds = NULL; + kfree(rfp); +} + /* Callback function for RCU barrier testing. */ static void rcu_torture_barrier_cbf(struct rcu_head *rcu) { @@ -2360,7 +2371,7 @@ show_rcu_gp_kthreads(); rcu_torture_barrier_cleanup(); - torture_stop_kthread(rcu_torture_fwd_prog, fwd_prog_task); + rcu_torture_fwd_prog_cleanup(); torture_stop_kthread(rcu_torture_stall, stall_task); torture_stop_kthread(rcu_torture_writer, writer_task); --- linux-riscv-5.8-5.8.0.orig/kernel/rcu/tasks.h +++ linux-riscv-5.8-5.8.0/kernel/rcu/tasks.h @@ -811,6 +811,12 @@ WRITE_ONCE(t->trc_reader_checked, true); goto reset_ipi; } + // If we are racing with an rcu_read_unlock_trace(), try again later. + if (unlikely(t->trc_reader_nesting < 0)) { + if (WARN_ON_ONCE(atomic_dec_and_test(&trc_n_readers_need_end))) + wake_up(&trc_wait); + goto reset_ipi; + } WRITE_ONCE(t->trc_reader_checked, true); // Get here if the task is in a read-side critical section. Set @@ -1062,15 +1068,17 @@ if (ret) break; // Count reached zero. // Stall warning time, so make a list of the offenders. + rcu_read_lock(); for_each_process_thread(g, t) if (READ_ONCE(t->trc_reader_special.b.need_qs)) trc_add_holdout(t, &holdouts); + rcu_read_unlock(); firstreport = true; - list_for_each_entry_safe(t, g, &holdouts, trc_holdout_list) - if (READ_ONCE(t->trc_reader_special.b.need_qs)) { + list_for_each_entry_safe(t, g, &holdouts, trc_holdout_list) { + if (READ_ONCE(t->trc_reader_special.b.need_qs)) show_stalled_task_trace(t, &firstreport); - trc_del_holdout(t); - } + trc_del_holdout(t); // Release task_struct reference. + } if (firstreport) pr_err("INFO: rcu_tasks_trace detected stalls? (Counter/taskslist mismatch?)\n"); show_stalled_ipi_trace(); --- linux-riscv-5.8-5.8.0.orig/kernel/rcu/tree.c +++ linux-riscv-5.8-5.8.0/kernel/rcu/tree.c @@ -404,7 +404,7 @@ * * The caller must have disabled interrupts and must not be idle. */ -void rcu_momentary_dyntick_idle(void) +notrace void rcu_momentary_dyntick_idle(void) { int special; @@ -630,7 +630,6 @@ trace_rcu_dyntick(TPS("Start"), rdp->dynticks_nesting, 0, atomic_read(&rdp->dynticks)); WARN_ON_ONCE(IS_ENABLED(CONFIG_RCU_EQS_DEBUG) && !user && !is_idle_task(current)); rdp = this_cpu_ptr(&rcu_data); - do_nocb_deferred_wakeup(rdp); rcu_prepare_for_idle(); rcu_preempt_deferred_qs(current); @@ -676,7 +675,14 @@ */ noinstr void rcu_user_enter(void) { + struct rcu_data *rdp = this_cpu_ptr(&rcu_data); + lockdep_assert_irqs_disabled(); + + instrumentation_begin(); + do_nocb_deferred_wakeup(rdp); + instrumentation_end(); + rcu_eqs_enter(true); } #endif /* CONFIG_NO_HZ_FULL */ @@ -920,8 +926,8 @@ { struct rcu_data *rdp = this_cpu_ptr(&rcu_data); - // Enabling the tick is unsafe in NMI handlers. - if (WARN_ON_ONCE(in_nmi())) + // If we're here from NMI there's nothing to do. + if (in_nmi()) return; RCU_LOCKDEP_WARN(rcu_dynticks_curr_cpu_in_eqs(), @@ -1088,8 +1094,11 @@ * CPU can safely enter RCU read-side critical sections. In other words, * if the current CPU is not in its idle loop or is in an interrupt or * NMI handler, return true. + * + * Make notrace because it can be called by the internal functions of + * ftrace, and making this notrace removes unnecessary recursion calls. */ -bool rcu_is_watching(void) +notrace bool rcu_is_watching(void) { bool ret; @@ -1882,7 +1891,7 @@ break; /* If time for quiescent-state forcing, do it. */ if (!time_after(rcu_state.jiffies_force_qs, jiffies) || - (gf & RCU_GP_FLAG_FQS)) { + (gf & (RCU_GP_FLAG_FQS | RCU_GP_FLAG_OVLD))) { trace_rcu_grace_period(rcu_state.name, rcu_state.gp_seq, TPS("fqsstart")); rcu_gp_fqs(first_gp_fqs); @@ -3105,7 +3114,7 @@ static inline bool queue_kfree_rcu_work(struct kfree_rcu_cpu *krcp) { struct kfree_rcu_cpu_work *krwp; - bool queued = false; + bool repeat = false; int i; lockdep_assert_held(&krcp->lock); @@ -3143,11 +3152,14 @@ * been detached following each other, one by one. */ queue_rcu_work(system_wq, &krwp->rcu_work); - queued = true; } + + /* Repeat if any "free" corresponding channel is still busy. */ + if (krcp->bhead || krcp->head) + repeat = true; } - return queued; + return !repeat; } static inline void kfree_rcu_drain_unlock(struct kfree_rcu_cpu *krcp, @@ -3877,7 +3889,6 @@ smp_mb(); /* Ensure RCU read-side usage follows above initialization. */ } -#ifdef CONFIG_HOTPLUG_CPU /* * The outgoing function has no further need of RCU, so remove it from * the rcu_node tree's ->qsmaskinitnext bit masks. @@ -3917,6 +3928,7 @@ per_cpu(rcu_cpu_started, cpu) = 0; } +#ifdef CONFIG_HOTPLUG_CPU /* * The outgoing CPU has just passed through the dying-idle state, and we * are being invoked from the CPU that was IPIed to continue the offline --- linux-riscv-5.8-5.8.0.orig/kernel/rcu/tree_plugin.h +++ linux-riscv-5.8-5.8.0/kernel/rcu/tree_plugin.h @@ -2158,6 +2158,11 @@ do_nocb_deferred_wakeup_common(rdp); } +void rcu_nocb_flush_deferred_wakeup(void) +{ + do_nocb_deferred_wakeup(this_cpu_ptr(&rcu_data)); +} + void __init rcu_init_nohz(void) { int cpu; --- linux-riscv-5.8-5.8.0.orig/kernel/rcu/tree_stall.h +++ linux-riscv-5.8-5.8.0/kernel/rcu/tree_stall.h @@ -251,13 +251,16 @@ /* * Scan the current list of tasks blocked within RCU read-side critical - * sections, printing out the tid of each. + * sections, printing out the tid of each of the first few of them. */ -static int rcu_print_task_stall(struct rcu_node *rnp) +static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) + __releases(rnp->lock) { + int i = 0; int ndetected = 0; struct rcu_stall_chk_rdr rscr; struct task_struct *t; + struct task_struct *ts[8]; if (!rcu_preempt_blocked_readers_cgp(rnp)) return 0; @@ -266,6 +269,14 @@ t = list_entry(rnp->gp_tasks->prev, struct task_struct, rcu_node_entry); list_for_each_entry_continue(t, &rnp->blkd_tasks, rcu_node_entry) { + get_task_struct(t); + ts[i++] = t; + if (i >= ARRAY_SIZE(ts)) + break; + } + raw_spin_unlock_irqrestore_rcu_node(rnp, flags); + for (i--; i; i--) { + t = ts[i]; if (!try_invoke_on_locked_down_task(t, check_slow_task, &rscr)) pr_cont(" P%d", t->pid); else @@ -275,6 +286,7 @@ ".q"[rscr.rs.b.need_qs], ".e"[rscr.rs.b.exp_hint], ".l"[rscr.on_blkd_list]); + put_task_struct(t); ndetected++; } pr_cont("\n"); @@ -295,8 +307,9 @@ * Because preemptible RCU does not exist, we never have to check for * tasks blocked within RCU read-side critical sections. */ -static int rcu_print_task_stall(struct rcu_node *rnp) +static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) { + raw_spin_unlock_irqrestore_rcu_node(rnp, flags); return 0; } #endif /* #else #ifdef CONFIG_PREEMPT_RCU */ @@ -474,7 +487,6 @@ pr_err("INFO: %s detected stalls on CPUs/tasks:\n", rcu_state.name); rcu_for_each_leaf_node(rnp) { raw_spin_lock_irqsave_rcu_node(rnp, flags); - ndetected += rcu_print_task_stall(rnp); if (rnp->qsmask != 0) { for_each_leaf_node_possible_cpu(rnp, cpu) if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { @@ -482,7 +494,7 @@ ndetected++; } } - raw_spin_unlock_irqrestore_rcu_node(rnp, flags); + ndetected += rcu_print_task_stall(rnp, flags); // Releases rnp->lock. } for_each_possible_cpu(cpu) --- linux-riscv-5.8-5.8.0.orig/kernel/reboot.c +++ linux-riscv-5.8-5.8.0/kernel/reboot.c @@ -244,6 +244,8 @@ void kernel_restart(char *cmd) { kernel_restart_prepare(cmd); + if (pm_power_off_prepare) + pm_power_off_prepare(); migrate_to_reboot_cpu(); syscore_shutdown(); if (!cmd) @@ -551,22 +553,22 @@ break; case 's': - { - int rc; - - if (isdigit(*(str+1))) { - rc = kstrtoint(str+1, 0, &reboot_cpu); - if (rc) - return rc; - } else if (str[1] == 'm' && str[2] == 'p' && - isdigit(*(str+3))) { - rc = kstrtoint(str+3, 0, &reboot_cpu); - if (rc) - return rc; - } else + if (isdigit(*(str+1))) + reboot_cpu = simple_strtoul(str+1, NULL, 0); + else if (str[1] == 'm' && str[2] == 'p' && + isdigit(*(str+3))) + reboot_cpu = simple_strtoul(str+3, NULL, 0); + else *mode = REBOOT_SOFT; + if (reboot_cpu >= num_possible_cpus()) { + pr_err("Ignoring the CPU number in reboot= option. " + "CPU %d exceeds possible cpu number %d\n", + reboot_cpu, num_possible_cpus()); + reboot_cpu = 0; + break; + } break; - } + case 'g': *mode = REBOOT_GPIO; break; --- linux-riscv-5.8-5.8.0.orig/kernel/relay.c +++ linux-riscv-5.8-5.8.0/kernel/relay.c @@ -197,6 +197,7 @@ static void relay_destroy_channel(struct kref *kref) { struct rchan *chan = container_of(kref, struct rchan, kref); + free_percpu(chan->buf); kfree(chan); } --- linux-riscv-5.8-5.8.0.orig/kernel/sched/core.c +++ linux-riscv-5.8-5.8.0/kernel/sched/core.c @@ -39,7 +39,7 @@ DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); -#if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_JUMP_LABEL) +#ifdef CONFIG_SCHED_DEBUG /* * Debugging: various feature bits * @@ -264,8 +264,9 @@ static void __hrtick_restart(struct rq *rq) { struct hrtimer *timer = &rq->hrtick_timer; + ktime_t time = rq->hrtick_time; - hrtimer_start_expires(timer, HRTIMER_MODE_ABS_PINNED_HARD); + hrtimer_start(timer, time, HRTIMER_MODE_ABS_PINNED_HARD); } /* @@ -289,7 +290,6 @@ void hrtick_start(struct rq *rq, u64 delay) { struct hrtimer *timer = &rq->hrtick_timer; - ktime_t time; s64 delta; /* @@ -297,9 +297,7 @@ * doesn't make sense and can cause timer DoS. */ delta = max_t(s64, delay, 10000LL); - time = ktime_add_ns(timer->base->get_time(), delta); - - hrtimer_set_expires(timer, time); + rq->hrtick_time = ktime_add_ns(timer->base->get_time(), delta); if (rq == this_rq()) __hrtick_restart(rq); @@ -794,6 +792,26 @@ /* All clamps are required to be less or equal than these values */ static struct uclamp_se uclamp_default[UCLAMP_CNT]; +/* + * This static key is used to reduce the uclamp overhead in the fast path. It + * primarily disables the call to uclamp_rq_{inc, dec}() in + * enqueue/dequeue_task(). + * + * This allows users to continue to enable uclamp in their kernel config with + * minimum uclamp overhead in the fast path. + * + * As soon as userspace modifies any of the uclamp knobs, the static key is + * enabled, since we have an actual users that make use of uclamp + * functionality. + * + * The knobs that would enable this static key are: + * + * * A task modifying its uclamp value with sched_setattr(). + * * An admin modifying the sysctl_sched_uclamp_{min, max} via procfs. + * * An admin modifying the cgroup cpu.uclamp.{min, max} + */ +DEFINE_STATIC_KEY_FALSE(sched_uclamp_used); + /* Integer rounded range for each bucket */ #define UCLAMP_BUCKET_DELTA DIV_ROUND_CLOSEST(SCHED_CAPACITY_SCALE, UCLAMP_BUCKETS) @@ -990,10 +1008,38 @@ lockdep_assert_held(&rq->lock); + /* + * If sched_uclamp_used was enabled after task @p was enqueued, + * we could end up with unbalanced call to uclamp_rq_dec_id(). + * + * In this case the uc_se->active flag should be false since no uclamp + * accounting was performed at enqueue time and we can just return + * here. + * + * Need to be careful of the following enqeueue/dequeue ordering + * problem too + * + * enqueue(taskA) + * // sched_uclamp_used gets enabled + * enqueue(taskB) + * dequeue(taskA) + * // Must not decrement bukcet->tasks here + * dequeue(taskB) + * + * where we could end up with stale data in uc_se and + * bucket[uc_se->bucket_id]. + * + * The following check here eliminates the possibility of such race. + */ + if (unlikely(!uc_se->active)) + return; + bucket = &uc_rq->bucket[uc_se->bucket_id]; + SCHED_WARN_ON(!bucket->tasks); if (likely(bucket->tasks)) bucket->tasks--; + uc_se->active = false; /* @@ -1021,6 +1067,15 @@ { enum uclamp_id clamp_id; + /* + * Avoid any overhead until uclamp is actually used by the userspace. + * + * The condition is constructed such that a NOP is generated when + * sched_uclamp_used is disabled. + */ + if (!static_branch_unlikely(&sched_uclamp_used)) + return; + if (unlikely(!p->sched_class->uclamp_enabled)) return; @@ -1036,6 +1091,15 @@ { enum uclamp_id clamp_id; + /* + * Avoid any overhead until uclamp is actually used by the userspace. + * + * The condition is constructed such that a NOP is generated when + * sched_uclamp_used is disabled. + */ + if (!static_branch_unlikely(&sched_uclamp_used)) + return; + if (unlikely(!p->sched_class->uclamp_enabled)) return; @@ -1144,8 +1208,10 @@ update_root_tg = true; } - if (update_root_tg) + if (update_root_tg) { + static_branch_enable(&sched_uclamp_used); uclamp_update_root_tg(); + } /* * We update all RUNNABLE tasks only when task groups are in use. @@ -1180,6 +1246,15 @@ if (upper_bound > SCHED_CAPACITY_SCALE) return -EINVAL; + /* + * We have valid uclamp attributes; make sure uclamp is enabled. + * + * We need to do that here, because enabling static branches is a + * blocking operation which obviously cannot be done while holding + * scheduler locks. + */ + static_branch_enable(&sched_uclamp_used); + return 0; } @@ -1237,6 +1312,20 @@ } } +static void __init init_uclamp_rq(struct rq *rq) +{ + enum uclamp_id clamp_id; + struct uclamp_rq *uc_rq = rq->uclamp; + + for_each_clamp_id(clamp_id) { + uc_rq[clamp_id] = (struct uclamp_rq) { + .value = uclamp_none(clamp_id) + }; + } + + rq->uclamp_flags = 0; +} + static void __init init_uclamp(void) { struct uclamp_se uc_max = {}; @@ -1245,11 +1334,8 @@ mutex_init(&uclamp_mutex); - for_each_possible_cpu(cpu) { - memset(&cpu_rq(cpu)->uclamp, 0, - sizeof(struct uclamp_rq)*UCLAMP_CNT); - cpu_rq(cpu)->uclamp_flags = 0; - } + for_each_possible_cpu(cpu) + init_uclamp_rq(cpu_rq(cpu)); for_each_clamp_id(clamp_id) { uclamp_se_set(&init_task.uclamp_req[clamp_id], @@ -2236,7 +2322,12 @@ #ifdef CONFIG_SMP if (wake_flags & WF_MIGRATED) en_flags |= ENQUEUE_MIGRATED; + else #endif + if (p->in_iowait) { + delayacct_blkio_end(p); + atomic_dec(&task_rq(p)->nr_iowait); + } activate_task(rq, p, en_flags); ttwu_do_wakeup(rq, p, wake_flags, rf); @@ -2580,11 +2671,6 @@ if (READ_ONCE(p->on_rq) && ttwu_remote(p, wake_flags)) goto unlock; - if (p->in_iowait) { - delayacct_blkio_end(p); - atomic_dec(&task_rq(p)->nr_iowait); - } - #ifdef CONFIG_SMP /* * Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be @@ -2655,6 +2741,11 @@ cpu = select_task_rq(p, p->wake_cpu, SD_BALANCE_WAKE, wake_flags); if (task_cpu(p) != cpu) { + if (p->in_iowait) { + delayacct_blkio_end(p); + atomic_dec(&task_rq(p)->nr_iowait); + } + wake_flags |= WF_MIGRATED; psi_ttwu_dequeue(p); set_task_cpu(p, cpu); @@ -2676,7 +2767,7 @@ /** * try_invoke_on_locked_down_task - Invoke a function on task in fixed state - * @p: Process for which the function is to be invoked. + * @p: Process for which the function is to be invoked, can be @current. * @func: Function to invoke. * @arg: Argument to function. * @@ -2694,12 +2785,11 @@ */ bool try_invoke_on_locked_down_task(struct task_struct *p, bool (*func)(struct task_struct *t, void *arg), void *arg) { - bool ret = false; struct rq_flags rf; + bool ret = false; struct rq *rq; - lockdep_assert_irqs_enabled(); - raw_spin_lock_irq(&p->pi_lock); + raw_spin_lock_irqsave(&p->pi_lock, rf.flags); if (p->on_rq) { rq = __task_rq_lock(p, &rf); if (task_rq(p) == rq) @@ -2716,7 +2806,7 @@ ret = func(p, arg); } } - raw_spin_unlock_irq(&p->pi_lock); + raw_spin_unlock_irqrestore(&p->pi_lock, rf.flags); return ret; } @@ -4709,6 +4799,7 @@ return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || capable(CAP_SYS_NICE)); } +EXPORT_SYMBOL(can_nice); #ifdef __ARCH_WANT_SYS_NICE @@ -5738,12 +5829,8 @@ schedstat_inc(rq->yld_count); current->sched_class->yield_task(rq); - /* - * Since we are going to call schedule() anyway, there's - * no need to preempt or enable interrupts: - */ preempt_disable(); - rq_unlock(rq, &rf); + rq_unlock_irq(rq, &rf); sched_preempt_enable_no_resched(); schedule(); @@ -7431,6 +7518,8 @@ if (req.ret) return req.ret; + static_branch_enable(&sched_uclamp_used); + mutex_lock(&uclamp_mutex); rcu_read_lock(); --- linux-riscv-5.8-5.8.0.orig/kernel/sched/cpufreq_schedutil.c +++ linux-riscv-5.8-5.8.0/kernel/sched/cpufreq_schedutil.c @@ -102,7 +102,8 @@ static bool sugov_update_next_freq(struct sugov_policy *sg_policy, u64 time, unsigned int next_freq) { - if (sg_policy->next_freq == next_freq) + if (sg_policy->next_freq == next_freq && + !cpufreq_driver_test_flags(CPUFREQ_NEED_UPDATE_LIMITS)) return false; sg_policy->next_freq = next_freq; @@ -175,7 +176,8 @@ freq = map_util_freq(util, freq, max); - if (freq == sg_policy->cached_raw_freq && !sg_policy->need_freq_update) + if (freq == sg_policy->cached_raw_freq && !sg_policy->need_freq_update && + !cpufreq_driver_test_flags(CPUFREQ_NEED_UPDATE_LIMITS)) return sg_policy->next_freq; sg_policy->need_freq_update = false; @@ -210,7 +212,7 @@ unsigned long dl_util, util, irq; struct rq *rq = cpu_rq(cpu); - if (!IS_BUILTIN(CONFIG_UCLAMP_TASK) && + if (!uclamp_is_used() && type == FREQUENCY_UTIL && rt_rq_is_runnable(&rq->rt)) { return max; } @@ -894,7 +896,7 @@ struct cpufreq_governor schedutil_gov = { .name = "schedutil", .owner = THIS_MODULE, - .dynamic_switching = true, + .flags = CPUFREQ_GOV_DYNAMIC_SWITCHING, .init = sugov_init, .exit = sugov_exit, .start = sugov_start, --- linux-riscv-5.8-5.8.0.orig/kernel/sched/deadline.c +++ linux-riscv-5.8-5.8.0/kernel/sched/deadline.c @@ -2468,7 +2468,7 @@ u64 period = global_rt_period(); u64 new_bw = to_ratio(period, runtime); struct dl_bw *dl_b; - int cpu, ret = 0; + int cpu, cpus, ret = 0; unsigned long flags; /* @@ -2483,9 +2483,10 @@ for_each_possible_cpu(cpu) { rcu_read_lock_sched(); dl_b = dl_bw_of(cpu); + cpus = dl_bw_cpus(cpu); raw_spin_lock_irqsave(&dl_b->lock, flags); - if (new_bw < dl_b->total_bw) + if (new_bw * cpus < dl_b->total_bw) ret = -EBUSY; raw_spin_unlock_irqrestore(&dl_b->lock, flags); --- linux-riscv-5.8-5.8.0.orig/kernel/sched/fair.c +++ linux-riscv-5.8-5.8.0/kernel/sched/fair.c @@ -1550,7 +1550,7 @@ static unsigned long cpu_load(struct rq *rq); static unsigned long cpu_util(int cpu); -static inline long adjust_numa_imbalance(int imbalance, int src_nr_running); +static inline long adjust_numa_imbalance(int imbalance, int nr_running); static inline enum numa_type numa_classify(unsigned int imbalance_pct, @@ -1927,7 +1927,7 @@ src_running = env->src_stats.nr_running - 1; dst_running = env->dst_stats.nr_running + 1; imbalance = max(0, dst_running - src_running); - imbalance = adjust_numa_imbalance(imbalance, src_running); + imbalance = adjust_numa_imbalance(imbalance, dst_running); /* Use idle CPU if there is no imbalance */ if (!imbalance) { @@ -2925,7 +2925,7 @@ curr->node_stamp += period; if (!time_before(jiffies, curr->mm->numa_next_scan)) - task_work_add(curr, work, true); + task_work_add(curr, work, TWA_RESUME); } } @@ -3924,6 +3924,20 @@ WRITE_ONCE(cfs_rq->avg.util_est.enqueued, enqueued); } +static inline void util_est_dequeue(struct cfs_rq *cfs_rq, + struct task_struct *p) +{ + unsigned int enqueued; + + if (!sched_feat(UTIL_EST)) + return; + + /* Update root cfs_rq's estimated utilization */ + enqueued = cfs_rq->avg.util_est.enqueued; + enqueued -= min_t(unsigned int, enqueued, _task_util_est(p)); + WRITE_ONCE(cfs_rq->avg.util_est.enqueued, enqueued); +} + /* * Check if a (signed) value is within a specified (unsigned) margin, * based on the observation that: @@ -3937,21 +3951,16 @@ return ((unsigned int)(value + margin - 1) < (2 * margin - 1)); } -static void -util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p, bool task_sleep) +static inline void util_est_update(struct cfs_rq *cfs_rq, + struct task_struct *p, + bool task_sleep) { long last_ewma_diff; struct util_est ue; - int cpu; if (!sched_feat(UTIL_EST)) return; - /* Update root cfs_rq's estimated utilization */ - ue.enqueued = cfs_rq->avg.util_est.enqueued; - ue.enqueued -= min_t(unsigned int, ue.enqueued, _task_util_est(p)); - WRITE_ONCE(cfs_rq->avg.util_est.enqueued, ue.enqueued); - /* * Skip update of task's estimated utilization when the task has not * yet completed an activation, e.g. being migrated. @@ -3991,8 +4000,7 @@ * To avoid overestimation of actual task utilization, skip updates if * we cannot grant there is idle time in this CPU. */ - cpu = cpu_of(rq_of(cfs_rq)); - if (task_util(p) > capacity_orig_of(cpu)) + if (task_util(p) > capacity_orig_of(cpu_of(rq_of(cfs_rq)))) return; /* @@ -4029,7 +4037,7 @@ if (!static_branch_unlikely(&sched_asym_cpucapacity)) return; - if (!p) { + if (!p || p->nr_cpus_allowed == 1) { rq->misfit_task_load = 0; return; } @@ -4073,8 +4081,11 @@ util_est_enqueue(struct cfs_rq *cfs_rq, struct task_struct *p) {} static inline void -util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p, - bool task_sleep) {} +util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p) {} + +static inline void +util_est_update(struct cfs_rq *cfs_rq, struct task_struct *p, + bool task_sleep) {} static inline void update_misfit_status(struct task_struct *p, struct rq *rq) {} #endif /* CONFIG_SMP */ @@ -5465,6 +5476,7 @@ struct cfs_rq *cfs_rq; struct sched_entity *se = &p->se; int idle_h_nr_running = task_has_idle_policy(p); + int task_new = !(flags & ENQUEUE_WAKEUP); /* * The code below (indirectly) updates schedutil which looks at @@ -5537,7 +5549,7 @@ * into account, but that is not straightforward to implement, * and the following generally works well enough in practice. */ - if (flags & ENQUEUE_WAKEUP) + if (!task_new) update_overutilized_status(rq); enqueue_throttle: @@ -5576,6 +5588,8 @@ int idle_h_nr_running = task_has_idle_policy(p); bool was_sched_idle = sched_idle_rq(rq); + util_est_dequeue(&rq->cfs, p); + for_each_sched_entity(se) { cfs_rq = cfs_rq_of(se); dequeue_entity(cfs_rq, se, flags); @@ -5626,7 +5640,7 @@ if (unlikely(!was_sched_idle && sched_idle_rq(rq))) rq->next_balance = jiffies; - util_est_dequeue(&rq->cfs, p, task_sleep); + util_est_update(&rq->cfs, p, task_sleep); hrtick_update(rq); } @@ -6067,7 +6081,7 @@ /* * Scan the local SMT mask for idle CPUs. */ -static int select_idle_smt(struct task_struct *p, int target) +static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int target) { int cpu; @@ -6075,7 +6089,8 @@ return -1; for_each_cpu(cpu, cpu_smt_mask(target)) { - if (!cpumask_test_cpu(cpu, p->cpus_ptr)) + if (!cpumask_test_cpu(cpu, p->cpus_ptr) || + !cpumask_test_cpu(cpu, sched_domain_span(sd))) continue; if (available_idle_cpu(cpu) || sched_idle_cpu(cpu)) return cpu; @@ -6091,7 +6106,7 @@ return -1; } -static inline int select_idle_smt(struct task_struct *p, int target) +static inline int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int target) { return -1; } @@ -6266,7 +6281,7 @@ if ((unsigned)i < nr_cpumask_bits) return i; - i = select_idle_smt(p, target); + i = select_idle_smt(p, sd, target); if ((unsigned)i < nr_cpumask_bits) return i; @@ -6586,7 +6601,8 @@ util = cpu_util_next(cpu, p, cpu); cpu_cap = capacity_of(cpu); - spare_cap = cpu_cap - util; + spare_cap = cpu_cap; + lsub_positive(&spare_cap, util); /* * Skip CPUs that cannot satisfy the capacity request. @@ -8943,7 +8959,7 @@ } } -static inline long adjust_numa_imbalance(int imbalance, int src_nr_running) +static inline long adjust_numa_imbalance(int imbalance, int nr_running) { unsigned int imbalance_min; @@ -8952,7 +8968,7 @@ * tasks that remain local when the source domain is almost idle. */ imbalance_min = 2; - if (src_nr_running <= imbalance_min) + if (nr_running <= imbalance_min) return 0; return imbalance; @@ -10027,7 +10043,12 @@ { int ilb_cpu; - nohz.next_balance++; + /* + * Increase nohz.next_balance only when if full ilb is triggered but + * not if we only update stats. + */ + if (flags & NOHZ_BALANCE_KICK) + nohz.next_balance = jiffies+1; ilb_cpu = find_new_ilb(); @@ -10348,6 +10369,14 @@ } } + /* + * next_balance will be updated only when there is a need. + * When the CPU is attached to null domain for ex, it will not be + * updated. + */ + if (likely(update_next_balance)) + nohz.next_balance = next_balance; + /* Newly idle CPU doesn't need an update */ if (idle != CPU_NEWLY_IDLE) { update_blocked_averages(this_cpu); @@ -10368,14 +10397,6 @@ if (has_blocked_load) WRITE_ONCE(nohz.has_blocked, 1); - /* - * next_balance will be updated only when there is a need. - * When the CPU is attached to null domain for ex, it will not be - * updated. - */ - if (likely(update_next_balance)) - nohz.next_balance = next_balance; - return ret; } --- linux-riscv-5.8-5.8.0.orig/kernel/sched/idle.c +++ linux-riscv-5.8-5.8.0/kernel/sched/idle.c @@ -262,6 +262,7 @@ } arch_cpu_idle_enter(); + rcu_nocb_flush_deferred_wakeup(); /* * In poll mode we reenable interrupts and spin. Also if we --- linux-riscv-5.8-5.8.0.orig/kernel/sched/membarrier.c +++ linux-riscv-5.8-5.8.0/kernel/sched/membarrier.c @@ -30,6 +30,23 @@ smp_mb(); /* IPIs should be serializing but paranoid. */ } +static void ipi_sync_core(void *info) +{ + /* + * The smp_mb() in membarrier after all the IPIs is supposed to + * ensure that memory on remote CPUs that occur before the IPI + * become visible to membarrier()'s caller -- see scenario B in + * the big comment at the top of this file. + * + * A sync_core() would provide this guarantee, but + * sync_core_before_usermode() might end up being deferred until + * after membarrier()'s smp_mb(). + */ + smp_mb(); /* IPIs should be serializing but paranoid. */ + + sync_core_before_usermode(); +} + static void ipi_sync_rq_state(void *info) { struct mm_struct *mm = (struct mm_struct *) info; @@ -134,6 +151,7 @@ int cpu; cpumask_var_t tmpmask; struct mm_struct *mm = current->mm; + smp_call_func_t ipi_func = ipi_mb; if (flags & MEMBARRIER_FLAG_SYNC_CORE) { if (!IS_ENABLED(CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE)) @@ -141,6 +159,7 @@ if (!(atomic_read(&mm->membarrier_state) & MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY)) return -EPERM; + ipi_func = ipi_sync_core; } else { if (!(atomic_read(&mm->membarrier_state) & MEMBARRIER_STATE_PRIVATE_EXPEDITED_READY)) @@ -181,7 +200,7 @@ rcu_read_unlock(); preempt_disable(); - smp_call_function_many(tmpmask, ipi_mb, NULL, 1); + smp_call_function_many(tmpmask, ipi_func, NULL, 1); preempt_enable(); free_cpumask_var(tmpmask); @@ -246,9 +265,7 @@ } rcu_read_unlock(); - preempt_disable(); - smp_call_function_many(tmpmask, ipi_sync_rq_state, mm, 1); - preempt_enable(); + on_each_cpu_mask(tmpmask, ipi_sync_rq_state, mm, true); free_cpumask_var(tmpmask); cpus_read_unlock(); --- linux-riscv-5.8-5.8.0.orig/kernel/sched/sched.h +++ linux-riscv-5.8-5.8.0/kernel/sched/sched.h @@ -253,30 +253,6 @@ void __dl_clear_params(struct task_struct *p); -/* - * To keep the bandwidth of -deadline tasks and groups under control - * we need some place where: - * - store the maximum -deadline bandwidth of the system (the group); - * - cache the fraction of that bandwidth that is currently allocated. - * - * This is all done in the data structure below. It is similar to the - * one used for RT-throttling (rt_bandwidth), with the main difference - * that, since here we are only interested in admission control, we - * do not decrease any runtime while the group "executes", neither we - * need a timer to replenish it. - * - * With respect to SMP, the bandwidth is given on a per-CPU basis, - * meaning that: - * - dl_bw (< 100%) is the bandwidth of the system (group) on each CPU; - * - dl_total_bw array contains, in the i-eth element, the currently - * allocated bandwidth on the i-eth CPU. - * Moreover, groups consume bandwidth on each CPU, while tasks only - * consume bandwidth on the CPU they're running on. - * Finally, dl_total_bw_cpu is used to cache the index of dl_total_bw - * that will be shown the next time the proc or cgroup controls will - * be red. It on its turn can be changed by writing on its own - * control. - */ struct dl_bandwidth { raw_spinlock_t dl_runtime_lock; u64 dl_runtime; @@ -288,6 +264,24 @@ return sysctl_sched_rt_runtime >= 0; } +/* + * To keep the bandwidth of -deadline tasks under control + * we need some place where: + * - store the maximum -deadline bandwidth of each cpu; + * - cache the fraction of bandwidth that is currently allocated in + * each root domain; + * + * This is all done in the data structure below. It is similar to the + * one used for RT-throttling (rt_bandwidth), with the main difference + * that, since here we are only interested in admission control, we + * do not decrease any runtime while the group "executes", neither we + * need a timer to replenish it. + * + * With respect to SMP, bandwidth is given on a per root domain basis, + * meaning that: + * - bw (< 100%) is the deadline bandwidth of each CPU; + * - total_bw is the currently allocated bandwidth in each root domain; + */ struct dl_bw { raw_spinlock_t lock; u64 bw; @@ -862,6 +856,8 @@ unsigned int value; struct uclamp_bucket bucket[UCLAMP_BUCKETS]; }; + +DECLARE_STATIC_KEY_FALSE(sched_uclamp_used); #endif /* CONFIG_UCLAMP_TASK */ /* @@ -1003,6 +999,7 @@ call_single_data_t hrtick_csd; #endif struct hrtimer hrtick_timer; + ktime_t hrtick_time; #endif #ifdef CONFIG_SCHEDSTATS @@ -1598,7 +1595,7 @@ #undef SCHED_FEAT -#if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_JUMP_LABEL) +#ifdef CONFIG_SCHED_DEBUG /* * To support run-time toggling of sched features, all the translation units @@ -1606,6 +1603,7 @@ */ extern const_debug unsigned int sysctl_sched_features; +#ifdef CONFIG_JUMP_LABEL #define SCHED_FEAT(name, enabled) \ static __always_inline bool static_branch_##name(struct static_key *key) \ { \ @@ -1618,7 +1616,13 @@ extern struct static_key sched_feat_keys[__SCHED_FEAT_NR]; #define sched_feat(x) (static_branch_##x(&sched_feat_keys[__SCHED_FEAT_##x])) -#else /* !(SCHED_DEBUG && CONFIG_JUMP_LABEL) */ +#else /* !CONFIG_JUMP_LABEL */ + +#define sched_feat(x) (sysctl_sched_features & (1UL << __SCHED_FEAT_##x)) + +#endif /* CONFIG_JUMP_LABEL */ + +#else /* !SCHED_DEBUG */ /* * Each translation unit has its own copy of sysctl_sched_features to allow @@ -1634,7 +1638,7 @@ #define sched_feat(x) !!(sysctl_sched_features & (1UL << __SCHED_FEAT_##x)) -#endif /* SCHED_DEBUG && CONFIG_JUMP_LABEL */ +#endif /* SCHED_DEBUG */ extern struct static_key_false sched_numa_balancing; extern struct static_key_false sched_schedstats; @@ -2349,12 +2353,35 @@ #ifdef CONFIG_UCLAMP_TASK unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id); +/** + * uclamp_rq_util_with - clamp @util with @rq and @p effective uclamp values. + * @rq: The rq to clamp against. Must not be NULL. + * @util: The util value to clamp. + * @p: The task to clamp against. Can be NULL if you want to clamp + * against @rq only. + * + * Clamps the passed @util to the max(@rq, @p) effective uclamp values. + * + * If sched_uclamp_used static key is disabled, then just return the util + * without any clamping since uclamp aggregation at the rq level in the fast + * path is disabled, rendering this operation a NOP. + * + * Use uclamp_eff_value() if you don't care about uclamp values at rq level. It + * will return the correct effective uclamp value of the task even if the + * static key is disabled. + */ static __always_inline unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util, struct task_struct *p) { - unsigned long min_util = READ_ONCE(rq->uclamp[UCLAMP_MIN].value); - unsigned long max_util = READ_ONCE(rq->uclamp[UCLAMP_MAX].value); + unsigned long min_util; + unsigned long max_util; + + if (!static_branch_likely(&sched_uclamp_used)) + return util; + + min_util = READ_ONCE(rq->uclamp[UCLAMP_MIN].value); + max_util = READ_ONCE(rq->uclamp[UCLAMP_MAX].value); if (p) { min_util = max(min_util, uclamp_eff_value(p, UCLAMP_MIN)); @@ -2371,6 +2398,19 @@ return clamp(util, min_util, max_util); } + +/* + * When uclamp is compiled in, the aggregation at rq level is 'turned off' + * by default in the fast path and only gets turned on once userspace performs + * an operation that requires it. + * + * Returns true if userspace opted-in to use uclamp and aggregation at rq level + * hence is active. + */ +static inline bool uclamp_is_used(void) +{ + return static_branch_likely(&sched_uclamp_used); +} #else /* CONFIG_UCLAMP_TASK */ static inline unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util, @@ -2378,6 +2418,11 @@ { return util; } + +static inline bool uclamp_is_used(void) +{ + return false; +} #endif /* CONFIG_UCLAMP_TASK */ #ifdef arch_scale_freq_capacity --- linux-riscv-5.8-5.8.0.orig/kernel/sched/topology.c +++ linux-riscv-5.8-5.8.0/kernel/sched/topology.c @@ -1328,7 +1328,7 @@ sd_flags = (*tl->sd_flags)(); if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, "wrong sd_flags in topology description\n")) - sd_flags &= ~TOPOLOGY_SD_FLAGS; + sd_flags &= TOPOLOGY_SD_FLAGS; /* Apply detected topology flags */ sd_flags |= dflags; --- linux-riscv-5.8-5.8.0.orig/kernel/seccomp.c +++ linux-riscv-5.8-5.8.0/kernel/seccomp.c @@ -37,11 +37,19 @@ #include #include #include -#include +#include #include #include #include +/* + * When SECCOMP_IOCTL_NOTIF_ID_VALID was first introduced, it had the + * wrong direction flag in the ioctl number. This is the broken one, + * which the kernel needs to keep supporting until all userspaces stop + * using the wrong command number. + */ +#define SECCOMP_IOCTL_NOTIF_ID_VALID_WRONG_DIR SECCOMP_IOR(2, __u64) + enum notify_state { SECCOMP_NOTIFY_INIT, SECCOMP_NOTIFY_SENT, @@ -444,8 +452,7 @@ * behavior of privileged children. */ if (!task_no_new_privs(current) && - security_capable(current_cred(), current_user_ns(), - CAP_SYS_ADMIN, CAP_OPT_NOAUDIT) != 0) + !ns_capable_noaudit(current_user_ns(), CAP_SYS_ADMIN)) return ERR_PTR(-EACCES); /* Allocate a new seccomp_filter */ @@ -927,6 +934,8 @@ const bool recheck_after_trace) { BUG(); + + return -1; } #endif @@ -989,13 +998,12 @@ } #ifdef CONFIG_SECCOMP_FILTER -static int seccomp_notify_release(struct inode *inode, struct file *file) +static void seccomp_notify_detach(struct seccomp_filter *filter) { - struct seccomp_filter *filter = file->private_data; struct seccomp_knotif *knotif; if (!filter) - return 0; + return; mutex_lock(&filter->notify_lock); @@ -1017,6 +1025,13 @@ kfree(filter->notif); filter->notif = NULL; mutex_unlock(&filter->notify_lock); +} + +static int seccomp_notify_release(struct inode *inode, struct file *file) +{ + struct seccomp_filter *filter = file->private_data; + + seccomp_notify_detach(filter); __put_seccomp_filter(filter); return 0; } @@ -1186,6 +1201,7 @@ return seccomp_notify_recv(filter, buf); case SECCOMP_IOCTL_NOTIF_SEND: return seccomp_notify_send(filter, buf); + case SECCOMP_IOCTL_NOTIF_ID_VALID_WRONG_DIR: case SECCOMP_IOCTL_NOTIF_ID_VALID: return seccomp_notify_id_valid(filter, buf); default: @@ -1228,13 +1244,7 @@ static struct file *init_listener(struct seccomp_filter *filter) { - struct file *ret = ERR_PTR(-EBUSY); - struct seccomp_filter *cur; - - for (cur = current->seccomp.filter; cur; cur = cur->prev) { - if (cur->notif) - goto out; - } + struct file *ret; ret = ERR_PTR(-ENOMEM); filter->notif = kzalloc(sizeof(*(filter->notif)), GFP_KERNEL); @@ -1261,6 +1271,31 @@ return ret; } +/* + * Does @new_child have a listener while an ancestor also has a listener? + * If so, we'll want to reject this filter. + * This only has to be tested for the current process, even in the TSYNC case, + * because TSYNC installs @child with the same parent on all threads. + * Note that @new_child is not hooked up to its parent at this point yet, so + * we use current->seccomp.filter. + */ +static bool has_duplicate_listener(struct seccomp_filter *new_child) +{ + struct seccomp_filter *cur; + + /* must be protected against concurrent TSYNC */ + lockdep_assert_held(¤t->sighand->siglock); + + if (!new_child->notif) + return false; + for (cur = current->seccomp.filter; cur; cur = cur->prev) { + if (cur->notif) + return true; + } + + return false; +} + /** * seccomp_set_mode_filter: internal function for setting seccomp filter * @flags: flags to change filter behavior @@ -1332,6 +1367,11 @@ if (!seccomp_may_assign_mode(seccomp_mode)) goto out; + if (has_duplicate_listener(prepared)) { + ret = -EBUSY; + goto out; + } + ret = seccomp_attach_filter(flags, prepared); if (ret) goto out; @@ -1349,6 +1389,7 @@ listener_f->private_data = NULL; fput(listener_f); put_unused_fd(listener); + seccomp_notify_detach(prepared); } else { fd_install(listener, listener_f); ret = listener; --- linux-riscv-5.8-5.8.0.orig/kernel/signal.c +++ linux-riscv-5.8-5.8.0/kernel/signal.c @@ -391,16 +391,17 @@ void task_join_group_stop(struct task_struct *task) { + unsigned long mask = current->jobctl & JOBCTL_STOP_SIGMASK; + struct signal_struct *sig = current->signal; + + if (sig->group_stop_count) { + sig->group_stop_count++; + mask |= JOBCTL_STOP_CONSUME; + } else if (!(sig->flags & SIGNAL_STOP_STOPPED)) + return; + /* Have the new thread join an on-going signal group stop */ - unsigned long jobctl = current->jobctl; - if (jobctl & JOBCTL_STOP_PENDING) { - struct signal_struct *sig = current->signal; - unsigned long signr = jobctl & JOBCTL_STOP_SIGMASK; - unsigned long gstop = JOBCTL_STOP_PENDING | JOBCTL_STOP_CONSUME; - if (task_set_jobctl_pending(task, signr | gstop)) { - sig->group_stop_count++; - } - } + task_set_jobctl_pending(task, mask | JOBCTL_STOP_PENDING); } /* @@ -2541,7 +2542,21 @@ relock: spin_lock_irq(&sighand->siglock); - current->jobctl &= ~JOBCTL_TASK_WORK; + /* + * Make sure we can safely read ->jobctl() in task_work add. As Oleg + * states: + * + * It pairs with mb (implied by cmpxchg) before READ_ONCE. So we + * roughly have + * + * task_work_add: get_signal: + * STORE(task->task_works, new_work); STORE(task->jobctl); + * mb(); mb(); + * LOAD(task->jobctl); LOAD(task->task_works); + * + * and we can rely on STORE-MB-LOAD [ in task_work_add]. + */ + smp_store_mb(current->jobctl, current->jobctl & ~JOBCTL_TASK_WORK); if (unlikely(current->task_works)) { spin_unlock_irq(&sighand->siglock); task_work_run(); --- linux-riscv-5.8-5.8.0.orig/kernel/smp.c +++ linux-riscv-5.8-5.8.0/kernel/smp.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -323,6 +324,9 @@ local_irq_save(flags); flush_smp_call_function_queue(true); + if (local_softirq_pending()) + do_softirq(); + local_irq_restore(flags); } --- linux-riscv-5.8-5.8.0.orig/kernel/smpboot.c +++ linux-riscv-5.8-5.8.0/kernel/smpboot.c @@ -188,6 +188,7 @@ kfree(td); return PTR_ERR(tsk); } + kthread_set_per_cpu(tsk, cpu); /* * Park the thread so that it could start right on the CPU * when it is available. --- linux-riscv-5.8-5.8.0.orig/kernel/stop_machine.c +++ linux-riscv-5.8-5.8.0/kernel/stop_machine.c @@ -178,7 +178,7 @@ set_state(msdata, msdata->state + 1); } -void __weak stop_machine_yield(const struct cpumask *cpumask) +notrace void __weak stop_machine_yield(const struct cpumask *cpumask) { cpu_relax(); } --- linux-riscv-5.8-5.8.0.orig/kernel/sys.c +++ linux-riscv-5.8-5.8.0/kernel/sys.c @@ -1210,6 +1210,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, \ --- linux-riscv-5.8-5.8.0.orig/kernel/sysctl.c +++ linux-riscv-5.8-5.8.0/kernel/sysctl.c @@ -71,6 +71,7 @@ #include #include #include +#include #include "../lib/kstrtox.h" @@ -1882,6 +1883,15 @@ .proc_handler = proc_dointvec, }, #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 = "tainted", @@ -2914,7 +2924,7 @@ .data = &block_dump, .maxlen = sizeof(block_dump), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, }, { @@ -2922,7 +2932,7 @@ .data = &sysctl_vfs_cache_pressure, .maxlen = sizeof(sysctl_vfs_cache_pressure), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, }, #if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \ @@ -2932,7 +2942,7 @@ .data = &sysctl_legacy_va_layout, .maxlen = sizeof(sysctl_legacy_va_layout), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, }, #endif @@ -2942,7 +2952,7 @@ .data = &node_reclaim_mode, .maxlen = sizeof(node_reclaim_mode), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, }, { --- linux-riscv-5.8-5.8.0.orig/kernel/task_work.c +++ linux-riscv-5.8-5.8.0/kernel/task_work.c @@ -9,23 +9,28 @@ * task_work_add - ask the @task to execute @work->func() * @task: the task which should run the callback * @work: the callback to run - * @notify: send the notification if true + * @notify: how to notify the targeted task * - * Queue @work for task_work_run() below and notify the @task if @notify. - * Fails if the @task is exiting/exited and thus it can't process this @work. - * Otherwise @work->func() will be called when the @task returns from kernel - * mode or exits. + * Queue @work for task_work_run() below and notify the @task if @notify + * is @TWA_RESUME or @TWA_SIGNAL. @TWA_SIGNAL works like signals, in that the + * it will interrupt the targeted task and run the task_work. @TWA_RESUME + * work is run only when the task exits the kernel and returns to user mode, + * or before entering guest mode. Fails if the @task is exiting/exited and thus + * it can't process this @work. Otherwise @work->func() will be called when the + * @task goes through one of the aforementioned transitions, or exits. + * + * If the targeted task is exiting, then an error is returned and the work item + * is not queued. It's up to the caller to arrange for an alternative mechanism + * in that case. * - * This is like the signal handler which runs in kernel mode, but it doesn't - * try to wake up the @task. - * - * Note: there is no ordering guarantee on works queued here. + * Note: there is no ordering guarantee on works queued here. The task_work + * list is LIFO. * * RETURNS: * 0 if succeeds or -ESRCH. */ -int -task_work_add(struct task_struct *task, struct callback_head *work, int notify) +int task_work_add(struct task_struct *task, struct callback_head *work, + enum task_work_notify_mode notify) { struct callback_head *head; unsigned long flags; @@ -38,20 +43,32 @@ } while (cmpxchg(&task->task_works, head, work) != head); switch (notify) { + case TWA_NONE: + break; case TWA_RESUME: set_notify_resume(task); break; case TWA_SIGNAL: - if (lock_task_sighand(task, &flags)) { + /* + * Only grab the sighand lock if we don't already have some + * task_work pending. This pairs with the smp_store_mb() + * in get_signal(), see comment there. + */ + if (!(READ_ONCE(task->jobctl) & JOBCTL_TASK_WORK) && + lock_task_sighand(task, &flags)) { task->jobctl |= JOBCTL_TASK_WORK; signal_wake_up(task, 0); unlock_task_sighand(task, &flags); } break; + default: + WARN_ON_ONCE(1); + break; } return 0; } +EXPORT_SYMBOL(task_work_add); /** * task_work_cancel - cancel a pending work added by task_work_add() @@ -138,3 +155,4 @@ } while (work); } } +EXPORT_SYMBOL_GPL(task_work_run); --- linux-riscv-5.8-5.8.0.orig/kernel/time/alarmtimer.c +++ linux-riscv-5.8-5.8.0/kernel/time/alarmtimer.c @@ -848,9 +848,9 @@ if (flags == TIMER_ABSTIME) return -ERESTARTNOHAND; - restart->fn = alarm_timer_nsleep_restart; restart->nanosleep.clockid = type; restart->nanosleep.expires = exp; + set_restart_fn(restart, alarm_timer_nsleep_restart); return ret; } --- linux-riscv-5.8-5.8.0.orig/kernel/time/hrtimer.c +++ linux-riscv-5.8-5.8.0/kernel/time/hrtimer.c @@ -547,8 +547,11 @@ } /* - * Recomputes cpu_base::*next_timer and returns the earliest expires_next but - * does not set cpu_base::*expires_next, that is done by hrtimer_reprogram. + * Recomputes cpu_base::*next_timer and returns the earliest expires_next + * but does not set cpu_base::*expires_next, that is done by + * hrtimer[_force]_reprogram and hrtimer_interrupt only. When updating + * cpu_base::*expires_next right away, reprogramming logic would no longer + * work. * * When a softirq is pending, we can ignore the HRTIMER_ACTIVE_SOFT bases, * those timers will get run whenever the softirq gets handled, at the end of @@ -589,6 +592,37 @@ return expires_next; } +static ktime_t hrtimer_update_next_event(struct hrtimer_cpu_base *cpu_base) +{ + ktime_t expires_next, soft = KTIME_MAX; + + /* + * If the soft interrupt has already been activated, ignore the + * soft bases. They will be handled in the already raised soft + * interrupt. + */ + if (!cpu_base->softirq_activated) { + soft = __hrtimer_get_next_event(cpu_base, HRTIMER_ACTIVE_SOFT); + /* + * Update the soft expiry time. clock_settime() might have + * affected it. + */ + cpu_base->softirq_expires_next = soft; + } + + expires_next = __hrtimer_get_next_event(cpu_base, HRTIMER_ACTIVE_HARD); + /* + * If a softirq timer is expiring first, update cpu_base->next_timer + * and program the hardware with the soft expiry time. + */ + if (expires_next > soft) { + cpu_base->next_timer = cpu_base->softirq_next_timer; + expires_next = soft; + } + + return expires_next; +} + static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base) { ktime_t *offs_real = &base->clock_base[HRTIMER_BASE_REALTIME].offset; @@ -629,23 +663,7 @@ { ktime_t expires_next; - /* - * Find the current next expiration time. - */ - expires_next = __hrtimer_get_next_event(cpu_base, HRTIMER_ACTIVE_ALL); - - if (cpu_base->next_timer && cpu_base->next_timer->is_soft) { - /* - * When the softirq is activated, hrtimer has to be - * programmed with the first hard hrtimer because soft - * timer interrupt could occur too late. - */ - if (cpu_base->softirq_activated) - expires_next = __hrtimer_get_next_event(cpu_base, - HRTIMER_ACTIVE_HARD); - else - cpu_base->softirq_expires_next = expires_next; - } + expires_next = hrtimer_update_next_event(cpu_base); if (skip_equal && expires_next == cpu_base->expires_next) return; @@ -1645,8 +1663,8 @@ __hrtimer_run_queues(cpu_base, now, flags, HRTIMER_ACTIVE_HARD); - /* Reevaluate the clock bases for the next expiry */ - expires_next = __hrtimer_get_next_event(cpu_base, HRTIMER_ACTIVE_ALL); + /* Reevaluate the clock bases for the [soft] next expiry */ + expires_next = hrtimer_update_next_event(cpu_base); /* * Store the new expiry value so the migration code can verify * against it. @@ -1940,9 +1958,9 @@ } restart = ¤t->restart_block; - restart->fn = hrtimer_nanosleep_restart; restart->nanosleep.clockid = t.timer.base->clockid; restart->nanosleep.expires = hrtimer_get_expires_tv64(&t.timer); + set_restart_fn(restart, hrtimer_nanosleep_restart); out: destroy_hrtimer_on_stack(&t.timer); return ret; --- linux-riscv-5.8-5.8.0.orig/kernel/time/itimer.c +++ linux-riscv-5.8-5.8.0/kernel/time/itimer.c @@ -172,10 +172,6 @@ u64 oval, nval, ointerval, ninterval; struct cpu_itimer *it = &tsk->signal->it[clock_id]; - /* - * Use the to_ktime conversion because that clamps the maximum - * value to KTIME_MAX and avoid multiplication overflows. - */ nval = timespec64_to_ns(&value->it_value); ninterval = timespec64_to_ns(&value->it_interval); --- linux-riscv-5.8-5.8.0.orig/kernel/time/posix-cpu-timers.c +++ linux-riscv-5.8-5.8.0/kernel/time/posix-cpu-timers.c @@ -1314,8 +1314,8 @@ if (flags & TIMER_ABSTIME) return -ERESTARTNOHAND; - restart_block->fn = posix_cpu_nsleep_restart; restart_block->nanosleep.clockid = which_clock; + set_restart_fn(restart_block, posix_cpu_nsleep_restart); } return error; } --- linux-riscv-5.8-5.8.0.orig/kernel/time/tick-sched.c +++ linux-riscv-5.8-5.8.0/kernel/time/tick-sched.c @@ -351,16 +351,24 @@ EXPORT_SYMBOL_GPL(tick_nohz_dep_clear_cpu); /* - * Set a per-task tick dependency. Posix CPU timers need this in order to elapse - * per task timers. + * Set a per-task tick dependency. RCU need this. Also posix CPU timers + * in order to elapse per task timers. */ void tick_nohz_dep_set_task(struct task_struct *tsk, enum tick_dep_bits bit) { - /* - * We could optimize this with just kicking the target running the task - * if that noise matters for nohz full users. - */ - tick_nohz_dep_set_all(&tsk->tick_dep_mask, bit); + if (!atomic_fetch_or(BIT(bit), &tsk->tick_dep_mask)) { + if (tsk == current) { + preempt_disable(); + tick_nohz_full_kick(); + preempt_enable(); + } else { + /* + * Some future tick_nohz_full_kick_task() + * should optimize this. + */ + tick_nohz_full_kick_all(); + } + } } EXPORT_SYMBOL_GPL(tick_nohz_dep_set_task); @@ -933,13 +941,6 @@ */ if (tick_do_timer_cpu == cpu) return false; - /* - * Boot safety: make sure the timekeeping duty has been - * assigned before entering dyntick-idle mode, - * tick_do_timer_cpu is TICK_DO_TIMER_BOOT - */ - if (unlikely(tick_do_timer_cpu == TICK_DO_TIMER_BOOT)) - return false; /* Should not happen for nohz-full */ if (WARN_ON_ONCE(tick_do_timer_cpu == TICK_DO_TIMER_NONE)) --- linux-riscv-5.8-5.8.0.orig/kernel/time/timer.c +++ linux-riscv-5.8-5.8.0/kernel/time/timer.c @@ -1743,13 +1743,6 @@ scheduler_tick(); if (IS_ENABLED(CONFIG_POSIX_TIMERS)) run_posix_cpu_timers(); - - /* The current CPU might make use of net randoms without receiving IRQs - * to renew them often enough. Let's update the net_rand_state from a - * non-constant value that's not affine to the number of calls to make - * sure it's updated when there's some activity (we don't care in idle). - */ - this_cpu_add(net_rand_state.s1, rol32(jiffies, 24) + user_tick); } /** --- linux-riscv-5.8-5.8.0.orig/kernel/trace/Kconfig +++ linux-riscv-5.8-5.8.0/kernel/trace/Kconfig @@ -202,7 +202,7 @@ config DYNAMIC_FTRACE_WITH_DIRECT_CALLS def_bool y - depends on DYNAMIC_FTRACE + depends on DYNAMIC_FTRACE_WITH_REGS depends on HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS config FUNCTION_PROFILER @@ -531,7 +531,7 @@ config KPROBE_EVENTS_ON_NOTRACE bool "Do NOT protect notrace function from kprobe events" depends on KPROBE_EVENTS - depends on KPROBES_ON_FTRACE + depends on DYNAMIC_FTRACE default n help This is only for the developers who want to debug ftrace itself --- linux-riscv-5.8-5.8.0.orig/kernel/trace/blktrace.c +++ linux-riscv-5.8-5.8.0/kernel/trace/blktrace.c @@ -522,12 +522,32 @@ if (!bt->msg_data) goto err; - ret = -ENOENT; - - dir = debugfs_lookup(buts->name, blk_debugfs_root); - if (!dir) +#ifdef CONFIG_BLK_DEBUG_FS + /* + * When tracing whole make_request drivers (multiqueue) block devices, + * reuse the existing debugfs directory created by the block layer on + * init. For request-based block devices, all partitions block devices, + * and scsi-generic block devices we create a temporary new debugfs + * directory that will be removed once the trace ends. + */ + if (queue_is_mq(q) && bdev && bdev == bdev->bd_contains) + dir = q->debugfs_dir; + else +#endif bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root); + /* + * As blktrace relies on debugfs for its interface the debugfs directory + * is required, contrary to the usual mantra of not checking for debugfs + * files or directories. + */ + if (IS_ERR_OR_NULL(dir)) { + pr_warn("debugfs_dir not present for %s so skipping\n", + buts->name); + ret = -ENOENT; + goto err; + } + bt->dev = dev; atomic_set(&bt->dropped, 0); INIT_LIST_HEAD(&bt->running_list); @@ -563,8 +583,6 @@ ret = 0; err: - if (dir && !bt->dir) - dput(dir); if (ret) blk_trace_free(bt); return ret; --- linux-riscv-5.8-5.8.0.orig/kernel/trace/bpf_trace.c +++ linux-riscv-5.8-5.8.0/kernel/trace/bpf_trace.c @@ -80,9 +80,6 @@ { unsigned int ret; - if (in_nmi()) /* not supported yet */ - return 1; - cant_sleep(); if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1)) { @@ -168,6 +165,16 @@ { int ret; + /* + * NB: We rely on strncpy_from_user() not copying junk past the NUL + * terminator into `dst`. + * + * strncpy_from_user() does long-sized strides in the fast path. If the + * strncpy does not mask out the bytes after the NUL in `unsafe_ptr`, + * then there could be junk after the NUL in `dst`. If user takes `dst` + * and keys a hash map with it, then semantically identical strings can + * occupy multiple entries in the map. + */ ret = strncpy_from_user_nofault(dst, unsafe_ptr, size); if (unlikely(ret < 0)) memset(dst, 0, size); @@ -1815,10 +1822,12 @@ void bpf_put_raw_tracepoint(struct bpf_raw_event_map *btp) { - struct module *mod = __module_address((unsigned long)btp); + struct module *mod; - if (mod) - module_put(mod); + preempt_disable(); + mod = __module_address((unsigned long)btp); + module_put(mod); + preempt_enable(); } static __always_inline --- linux-riscv-5.8-5.8.0.orig/kernel/trace/fgraph.c +++ linux-riscv-5.8-5.8.0/kernel/trace/fgraph.c @@ -395,7 +395,6 @@ } if (t->ret_stack == NULL) { - atomic_set(&t->tracing_graph_pause, 0); atomic_set(&t->trace_overrun, 0); t->curr_ret_stack = -1; t->curr_ret_depth = -1; @@ -490,7 +489,6 @@ static void graph_init_task(struct task_struct *t, struct ftrace_ret_stack *ret_stack) { - atomic_set(&t->tracing_graph_pause, 0); atomic_set(&t->trace_overrun, 0); t->ftrace_timestamp = 0; /* make curr_ret_stack visible before we add the ret_stack */ --- linux-riscv-5.8-5.8.0.orig/kernel/trace/ftrace.c +++ linux-riscv-5.8-5.8.0/kernel/trace/ftrace.c @@ -139,9 +139,6 @@ #endif } -#define FTRACE_PID_IGNORE -1 -#define FTRACE_PID_TRACE -2 - static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *op, struct pt_regs *regs) { @@ -1632,6 +1629,8 @@ static struct ftrace_ops * ftrace_find_tramp_ops_any(struct dyn_ftrace *rec); static struct ftrace_ops * +ftrace_find_tramp_ops_any_other(struct dyn_ftrace *rec, struct ftrace_ops *op_exclude); +static struct ftrace_ops * ftrace_find_tramp_ops_next(struct dyn_ftrace *rec, struct ftrace_ops *ops); static bool __ftrace_hash_rec_update(struct ftrace_ops *ops, @@ -1781,7 +1780,7 @@ * to it. */ if (ftrace_rec_count(rec) == 1 && - ftrace_find_tramp_ops_any(rec)) + ftrace_find_tramp_ops_any_other(rec, ops)) rec->flags |= FTRACE_FL_TRAMP; else rec->flags &= ~FTRACE_FL_TRAMP; @@ -2248,6 +2247,24 @@ } static struct ftrace_ops * +ftrace_find_tramp_ops_any_other(struct dyn_ftrace *rec, struct ftrace_ops *op_exclude) +{ + struct ftrace_ops *op; + unsigned long ip = rec->ip; + + do_for_each_ftrace_op(op, ftrace_ops_list) { + + if (op == op_exclude || !op->trampoline) + continue; + + if (hash_contains_ip(ip, op->func_hash)) + return op; + } while_for_each_ftrace_op(op); + + return NULL; +} + +static struct ftrace_ops * ftrace_find_tramp_ops_next(struct dyn_ftrace *rec, struct ftrace_ops *op) { @@ -3156,7 +3173,8 @@ pg = start_pg; while (pg) { order = get_count_order(pg->size / ENTRIES_PER_PAGE); - free_pages((unsigned long)pg->records, order); + if (order >= 0) + free_pages((unsigned long)pg->records, order); start_pg = pg->next; kfree(pg); pg = start_pg; @@ -4971,6 +4989,20 @@ return NULL; } +static struct ftrace_direct_func *ftrace_alloc_direct_func(unsigned long addr) +{ + struct ftrace_direct_func *direct; + + direct = kmalloc(sizeof(*direct), GFP_KERNEL); + if (!direct) + return NULL; + direct->addr = addr; + direct->count = 0; + list_add_rcu(&direct->next, &ftrace_direct_funcs); + ftrace_direct_func_count++; + return direct; +} + /** * register_ftrace_direct - Call a custom trampoline directly * @ip: The address of the nop at the beginning of a function @@ -5046,15 +5078,11 @@ direct = ftrace_find_direct_func(addr); if (!direct) { - direct = kmalloc(sizeof(*direct), GFP_KERNEL); + direct = ftrace_alloc_direct_func(addr); if (!direct) { kfree(entry); goto out_unlock; } - direct->addr = addr; - direct->count = 0; - list_add_rcu(&direct->next, &ftrace_direct_funcs); - ftrace_direct_func_count++; } entry->ip = ip; @@ -5255,6 +5283,7 @@ int modify_ftrace_direct(unsigned long ip, unsigned long old_addr, unsigned long new_addr) { + struct ftrace_direct_func *direct, *new_direct = NULL; struct ftrace_func_entry *entry; struct dyn_ftrace *rec; int ret = -ENODEV; @@ -5270,6 +5299,20 @@ if (entry->direct != old_addr) goto out_unlock; + direct = ftrace_find_direct_func(old_addr); + if (WARN_ON(!direct)) + goto out_unlock; + if (direct->count > 1) { + ret = -ENOMEM; + new_direct = ftrace_alloc_direct_func(new_addr); + if (!new_direct) + goto out_unlock; + direct->count--; + new_direct->count++; + } else { + direct->addr = new_addr; + } + /* * If there's no other ftrace callback on the rec->ip location, * then it can be changed directly by the architecture. @@ -5283,6 +5326,14 @@ ret = 0; } + if (unlikely(ret && new_direct)) { + direct->count++; + list_del_rcu(&new_direct->next); + synchronize_rcu_tasks(); + kfree(new_direct); + ftrace_direct_func_count--; + } + out_unlock: mutex_unlock(&ftrace_lock); mutex_unlock(&direct_mutex); @@ -6190,8 +6241,11 @@ int cnt = 0; for (ops = ftrace_ops_list; ops != &ftrace_list_end; ops = ops->next) { - if (ops_references_rec(ops, rec)) - cnt++; + if (ops_references_rec(ops, rec)) { + cnt++; + if (ops->flags & FTRACE_OPS_FL_SAVE_REGS) + rec->flags |= FTRACE_FL_REGS; + } } return cnt; @@ -6313,7 +6367,8 @@ clear_mod_from_hashes(pg); order = get_count_order(pg->size / ENTRIES_PER_PAGE); - free_pages((unsigned long)pg->records, order); + if (order >= 0) + free_pages((unsigned long)pg->records, order); tmp_page = pg->next; kfree(pg); ftrace_number_of_pages -= 1 << order; @@ -6370,8 +6425,8 @@ if (ftrace_start_up) cnt += referenced_filters(rec); - /* This clears FTRACE_FL_DISABLED */ - rec->flags = cnt; + rec->flags &= ~FTRACE_FL_DISABLED; + rec->flags += cnt; if (ftrace_start_up && cnt) { int failed = __ftrace_replace_code(rec, 1); @@ -6658,7 +6713,8 @@ if (!pg->index) { *last_pg = pg->next; order = get_count_order(pg->size / ENTRIES_PER_PAGE); - free_pages((unsigned long)pg->records, order); + if (order >= 0) + free_pages((unsigned long)pg->records, order); ftrace_number_of_pages -= 1 << order; ftrace_number_of_groups--; kfree(pg); @@ -6877,16 +6933,14 @@ { int bit; - if ((op->flags & FTRACE_OPS_FL_RCU) && !rcu_is_watching()) - return; - bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX); if (bit < 0) return; preempt_disable_notrace(); - op->func(ip, parent_ip, op, regs); + if (!(op->flags & FTRACE_OPS_FL_RCU) || rcu_is_watching()) + op->func(ip, parent_ip, op, regs); preempt_enable_notrace(); trace_clear_recursion(bit); @@ -6969,12 +7023,12 @@ if (enable) { register_trace_sched_process_fork(ftrace_pid_follow_sched_process_fork, tr); - register_trace_sched_process_exit(ftrace_pid_follow_sched_process_exit, + register_trace_sched_process_free(ftrace_pid_follow_sched_process_exit, tr); } else { unregister_trace_sched_process_fork(ftrace_pid_follow_sched_process_fork, tr); - unregister_trace_sched_process_exit(ftrace_pid_follow_sched_process_exit, + unregister_trace_sched_process_free(ftrace_pid_follow_sched_process_exit, tr); } } --- linux-riscv-5.8-5.8.0.orig/kernel/trace/ring_buffer.c +++ linux-riscv-5.8-5.8.0/kernel/trace/ring_buffer.c @@ -129,7 +129,16 @@ #define RB_ALIGNMENT 4U #define RB_MAX_SMALL_DATA (RB_ALIGNMENT * RINGBUF_TYPE_DATA_TYPE_LEN_MAX) #define RB_EVNT_MIN_SIZE 8U /* two 32bit words */ -#define RB_ALIGN_DATA __aligned(RB_ALIGNMENT) + +#ifndef CONFIG_HAVE_64BIT_ALIGNED_ACCESS +# define RB_FORCE_8BYTE_ALIGNMENT 0 +# define RB_ARCH_ALIGNMENT RB_ALIGNMENT +#else +# define RB_FORCE_8BYTE_ALIGNMENT 1 +# define RB_ARCH_ALIGNMENT 8U +#endif + +#define RB_ALIGN_DATA __aligned(RB_ARCH_ALIGNMENT) /* define RINGBUF_TYPE_DATA for 'case RINGBUF_TYPE_DATA:' */ #define RINGBUF_TYPE_DATA 0 ... RINGBUF_TYPE_DATA_TYPE_LEN_MAX @@ -420,14 +429,16 @@ /* * Used for which event context the event is in. - * NMI = 0 - * IRQ = 1 - * SOFTIRQ = 2 - * NORMAL = 3 + * TRANSITION = 0 + * NMI = 1 + * IRQ = 2 + * SOFTIRQ = 3 + * NORMAL = 4 * * See trace_recursive_lock() comment below for more details. */ enum { + RB_CTX_TRANSITION, RB_CTX_NMI, RB_CTX_IRQ, RB_CTX_SOFTIRQ, @@ -1720,18 +1731,18 @@ { struct ring_buffer_per_cpu *cpu_buffer; unsigned long nr_pages; - int cpu, err = 0; + int cpu, err; /* * Always succeed at resizing a non-existent buffer: */ if (!buffer) - return size; + return 0; /* Make sure the requested buffer exists */ if (cpu_id != RING_BUFFER_ALL_CPUS && !cpumask_test_cpu(cpu_id, buffer->cpumask)) - return size; + return 0; nr_pages = DIV_ROUND_UP(size, BUF_PAGE_SIZE); @@ -1887,7 +1898,7 @@ } mutex_unlock(&buffer->mutex); - return size; + return 0; out_err: for_each_buffer_cpu(buffer, cpu) { @@ -2434,7 +2445,7 @@ event->time_delta = delta; length -= RB_EVNT_HDR_SIZE; - if (length > RB_MAX_SMALL_DATA) { + if (length > RB_MAX_SMALL_DATA || RB_FORCE_8BYTE_ALIGNMENT) { event->type_len = 0; event->array[0] = length; } else @@ -2449,11 +2460,11 @@ if (!length) length++; - if (length > RB_MAX_SMALL_DATA) + if (length > RB_MAX_SMALL_DATA || RB_FORCE_8BYTE_ALIGNMENT) length += sizeof(event.array[0]); length += RB_EVNT_HDR_SIZE; - length = ALIGN(length, RB_ALIGNMENT); + length = ALIGN(length, RB_ARCH_ALIGNMENT); /* * In case the time delta is larger than the 27 bits for it @@ -2729,10 +2740,10 @@ * a bit of overhead in something as critical as function tracing, * we use a bitmask trick. * - * bit 0 = NMI context - * bit 1 = IRQ context - * bit 2 = SoftIRQ context - * bit 3 = normal context. + * bit 1 = NMI context + * bit 2 = IRQ context + * bit 3 = SoftIRQ context + * bit 4 = normal context. * * This works because this is the order of contexts that can * preempt other contexts. A SoftIRQ never preempts an IRQ @@ -2755,6 +2766,30 @@ * The least significant bit can be cleared this way, and it * just so happens that it is the same bit corresponding to * the current context. + * + * Now the TRANSITION bit breaks the above slightly. The TRANSITION bit + * is set when a recursion is detected at the current context, and if + * the TRANSITION bit is already set, it will fail the recursion. + * This is needed because there's a lag between the changing of + * interrupt context and updating the preempt count. In this case, + * a false positive will be found. To handle this, one extra recursion + * is allowed, and this is done by the TRANSITION bit. If the TRANSITION + * bit is already set, then it is considered a recursion and the function + * ends. Otherwise, the TRANSITION bit is set, and that bit is returned. + * + * On the trace_recursive_unlock(), the TRANSITION bit will be the first + * to be cleared. Even if it wasn't the context that set it. That is, + * if an interrupt comes in while NORMAL bit is set and the ring buffer + * is called before preempt_count() is updated, since the check will + * be on the NORMAL bit, the TRANSITION bit will then be set. If an + * NMI then comes in, it will set the NMI bit, but when the NMI code + * does the trace_recursive_unlock() it will clear the TRANSTION bit + * and leave the NMI bit set. But this is fine, because the interrupt + * code that set the TRANSITION bit will then clear the NMI bit when it + * calls trace_recursive_unlock(). If another NMI comes in, it will + * set the TRANSITION bit and continue. + * + * Note: The TRANSITION bit only handles a single transition between context. */ static __always_inline int @@ -2770,8 +2805,16 @@ bit = pc & NMI_MASK ? RB_CTX_NMI : pc & HARDIRQ_MASK ? RB_CTX_IRQ : RB_CTX_SOFTIRQ; - if (unlikely(val & (1 << (bit + cpu_buffer->nest)))) - return 1; + if (unlikely(val & (1 << (bit + cpu_buffer->nest)))) { + /* + * It is possible that this was called by transitioning + * between interrupt context, and preempt_count() has not + * been updated yet. In this case, use the TRANSITION bit. + */ + bit = RB_CTX_TRANSITION; + if (val & (1 << (bit + cpu_buffer->nest))) + return 1; + } val |= (1 << (bit + cpu_buffer->nest)); cpu_buffer->current_context = val; @@ -2786,8 +2829,8 @@ cpu_buffer->current_context - (1 << cpu_buffer->nest); } -/* The recursive locking above uses 4 bits */ -#define NESTED_BITS 4 +/* The recursive locking above uses 5 bits */ +#define NESTED_BITS 5 /** * ring_buffer_nest_start - Allow to trace while nested --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace.c @@ -68,10 +68,21 @@ static bool __read_mostly tracing_selftest_running; /* - * If a tracer is running, we do not want to run SELFTEST. + * If boot-time tracing including tracers/events via kernel cmdline + * is running, we do not want to run SELFTEST. */ bool __read_mostly tracing_selftest_disabled; +#ifdef CONFIG_FTRACE_STARTUP_TEST +void __init disable_tracing_selftest(const char *reason) +{ + if (!tracing_selftest_disabled) { + tracing_selftest_disabled = true; + pr_info("Ftrace startup test is disabled due to %s\n", reason); + } +} +#endif + /* Pipe tracepoints to printk */ struct trace_iterator *tracepoint_print_iter; int tracepoint_printk; @@ -163,7 +174,8 @@ #endif /* CONFIG_TRACE_EVAL_MAP_FILE */ int tracing_set_tracer(struct trace_array *tr, const char *buf); -static void ftrace_trace_userstack(struct trace_buffer *buffer, +static void ftrace_trace_userstack(struct trace_array *tr, + struct trace_buffer *buffer, unsigned long flags, int pc); #define MAX_TRACER_SIZE 100 @@ -1974,11 +1986,7 @@ apply_trace_boot_options(); /* disable other selftests, since this will break it. */ - tracing_selftest_disabled = true; -#ifdef CONFIG_FTRACE_STARTUP_TEST - printk(KERN_INFO "Disabling FTRACE selftests due to running tracer '%s'\n", - type->name); -#endif + disable_tracing_selftest("running a tracer"); out_unlock: return ret; @@ -2601,7 +2609,7 @@ (entry = this_cpu_read(trace_buffered_event))) { /* Try to use the per cpu buffer first */ val = this_cpu_inc_return(trace_buffered_event_cnt); - if (val == 1) { + if ((len < (PAGE_SIZE - sizeof(*entry))) && val == 1) { trace_event_setup(entry, type, flags, pc); entry->array[0] = len; return entry; @@ -2614,7 +2622,7 @@ /* * If tracing is off, but we have triggers enabled * we still need to look at the event data. Use the temp_buffer - * to store the trace event for the tigger to use. It's recusive + * to store the trace event for the trigger to use. It's recursive * safe and will not be recorded anywhere. */ if (!entry && trace_file->flags & EVENT_FILE_FL_TRIGGER_COND) { @@ -2732,7 +2740,7 @@ * two. They are not that meaningful. */ ftrace_trace_stack(tr, buffer, flags, regs ? 0 : STACK_SKIP, pc, regs); - ftrace_trace_userstack(buffer, flags, pc); + ftrace_trace_userstack(tr, buffer, flags, pc); } /* @@ -2943,7 +2951,7 @@ stackidx = __this_cpu_inc_return(ftrace_stack_reserve) - 1; /* This should never happen. If it does, yell once and skip */ - if (WARN_ON_ONCE(stackidx > FTRACE_KSTACK_NESTING)) + if (WARN_ON_ONCE(stackidx >= FTRACE_KSTACK_NESTING)) goto out; /* @@ -2967,7 +2975,8 @@ size = nr_entries * sizeof(unsigned long); event = __trace_buffer_lock_reserve(buffer, TRACE_STACK, - sizeof(*entry) + size, flags, pc); + (sizeof(*entry) - sizeof(entry->caller)) + size, + flags, pc); if (!event) goto out; entry = ring_buffer_event_data(event); @@ -3047,13 +3056,14 @@ static DEFINE_PER_CPU(int, user_stack_count); static void -ftrace_trace_userstack(struct trace_buffer *buffer, unsigned long flags, int pc) +ftrace_trace_userstack(struct trace_array *tr, + struct trace_buffer *buffer, unsigned long flags, int pc) { struct trace_event_call *call = &event_user_stack; struct ring_buffer_event *event; struct userstack_entry *entry; - if (!(global_trace.trace_flags & TRACE_ITER_USERSTACKTRACE)) + if (!(tr->trace_flags & TRACE_ITER_USERSTACKTRACE)) return; /* @@ -3092,7 +3102,8 @@ preempt_enable(); } #else /* CONFIG_USER_STACKTRACE_SUPPORT */ -static void ftrace_trace_userstack(struct trace_buffer *buffer, +static void ftrace_trace_userstack(struct trace_array *tr, + struct trace_buffer *buffer, unsigned long flags, int pc) { } @@ -3123,7 +3134,7 @@ /* Interrupts must see nesting incremented before we use the buffer */ barrier(); - return &buffer->buffer[buffer->nesting][0]; + return &buffer->buffer[buffer->nesting - 1][0]; } static void put_trace_buf(void) @@ -3477,7 +3488,7 @@ } #define STATIC_TEMP_BUF_SIZE 128 -static char static_temp_buf[STATIC_TEMP_BUF_SIZE]; +static char static_temp_buf[STATIC_TEMP_BUF_SIZE] __aligned(4); /* Find the next real entry, without updating the iterator itself */ struct trace_entry *trace_find_next_entry(struct trace_iterator *iter, @@ -3507,13 +3518,15 @@ if (iter->ent && iter->ent != iter->temp) { if ((!iter->temp || iter->temp_size < iter->ent_size) && !WARN_ON_ONCE(iter->temp == static_temp_buf)) { - kfree(iter->temp); - iter->temp = kmalloc(iter->ent_size, GFP_KERNEL); - if (!iter->temp) + void *temp; + temp = kmalloc(iter->ent_size, GFP_KERNEL); + if (!temp) return NULL; + kfree(iter->temp); + iter->temp = temp; + iter->temp_size = iter->ent_size; } memcpy(iter->temp, iter->ent, iter->ent_size); - iter->temp_size = iter->ent_size; iter->ent = iter->temp; } entry = __find_next_entry(iter, ent_cpu, NULL, ent_ts); @@ -3743,14 +3756,14 @@ static void print_lat_help_header(struct seq_file *m) { - seq_puts(m, "# _------=> CPU# \n" - "# / _-----=> irqs-off \n" - "# | / _----=> need-resched \n" - "# || / _---=> hardirq/softirq \n" - "# ||| / _--=> preempt-depth \n" - "# |||| / delay \n" - "# cmd pid ||||| time | caller \n" - "# \\ / ||||| \\ | / \n"); + seq_puts(m, "# _------=> CPU# \n" + "# / _-----=> irqs-off \n" + "# | / _----=> need-resched \n" + "# || / _---=> hardirq/softirq \n" + "# ||| / _--=> preempt-depth \n" + "# |||| / delay \n" + "# cmd pid ||||| time | caller \n" + "# \\ / ||||| \\ | / \n"); } static void print_event_info(struct array_buffer *buf, struct seq_file *m) @@ -3771,26 +3784,26 @@ print_event_info(buf, m); - seq_printf(m, "# TASK-PID %s CPU# TIMESTAMP FUNCTION\n", tgid ? "TGID " : ""); - seq_printf(m, "# | | %s | | |\n", tgid ? " | " : ""); + seq_printf(m, "# TASK-PID %s CPU# TIMESTAMP FUNCTION\n", tgid ? " TGID " : ""); + seq_printf(m, "# | | %s | | |\n", tgid ? " | " : ""); } static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file *m, unsigned int flags) { bool tgid = flags & TRACE_ITER_RECORD_TGID; - const char *space = " "; - int prec = tgid ? 10 : 2; + const char *space = " "; + int prec = tgid ? 12 : 2; print_event_info(buf, m); - seq_printf(m, "# %.*s _-----=> irqs-off\n", prec, space); - seq_printf(m, "# %.*s / _----=> need-resched\n", prec, space); - seq_printf(m, "# %.*s| / _---=> hardirq/softirq\n", prec, space); - seq_printf(m, "# %.*s|| / _--=> preempt-depth\n", prec, space); - seq_printf(m, "# %.*s||| / delay\n", prec, space); - seq_printf(m, "# TASK-PID %.*sCPU# |||| TIMESTAMP FUNCTION\n", prec, " TGID "); - seq_printf(m, "# | | %.*s | |||| | |\n", prec, " | "); + seq_printf(m, "# %.*s _-----=> irqs-off\n", prec, space); + seq_printf(m, "# %.*s / _----=> need-resched\n", prec, space); + seq_printf(m, "# %.*s| / _---=> hardirq/softirq\n", prec, space); + seq_printf(m, "# %.*s|| / _--=> preempt-depth\n", prec, space); + seq_printf(m, "# %.*s||| / delay\n", prec, space); + seq_printf(m, "# TASK-PID %.*s CPU# |||| TIMESTAMP FUNCTION\n", prec, " TGID "); + seq_printf(m, "# | | %.*s | |||| | |\n", prec, " | "); } void @@ -5887,7 +5900,7 @@ } /* If trace pipe files are being read, we can't change the tracer */ - if (tr->current_trace->ref) { + if (tr->trace_ref) { ret = -EBUSY; goto out; } @@ -6103,7 +6116,7 @@ nonseekable_open(inode, filp); - tr->current_trace->ref++; + tr->trace_ref++; out: mutex_unlock(&trace_types_lock); return ret; @@ -6122,7 +6135,7 @@ mutex_lock(&trace_types_lock); - tr->current_trace->ref--; + tr->trace_ref--; if (iter->trace->pipe_close) iter->trace->pipe_close(iter); @@ -7424,7 +7437,7 @@ filp->private_data = info; - tr->current_trace->ref++; + tr->trace_ref++; mutex_unlock(&trace_types_lock); @@ -7525,7 +7538,7 @@ mutex_lock(&trace_types_lock); - iter->tr->current_trace->ref--; + iter->tr->trace_ref--; __trace_array_put(iter->tr); @@ -8733,7 +8746,7 @@ int i; /* Reference counter for a newly created trace array = 1. */ - if (tr->ref > 1 || (tr->current_trace && tr->current_trace->ref)) + if (tr->ref > 1 || (tr->current_trace && tr->trace_ref)) return -EBUSY; list_del(&tr->list); --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace.h +++ linux-riscv-5.8-5.8.0/kernel/trace/trace.h @@ -356,6 +356,7 @@ struct trace_event_file *trace_marker_file; cpumask_var_t tracing_cpumask; /* only trace on set CPUs */ int ref; + int trace_ref; #ifdef CONFIG_FUNCTION_TRACER struct ftrace_ops *ops; struct trace_pid_list __rcu *function_pids; @@ -547,7 +548,6 @@ struct tracer *next; struct tracer_flags *flags; int enabled; - int ref; bool print_max; bool allow_instances; #ifdef CONFIG_TRACER_MAX_TRACE @@ -636,6 +636,12 @@ * function is called to clear it. */ TRACE_GRAPH_NOTRACE_BIT, + + /* + * When transitioning between context, the preempt_count() may + * not be correct. Allow for a single recursion to cover this case. + */ + TRACE_TRANSITION_BIT, }; #define trace_recursion_set(bit) do { (current)->trace_recursion |= (1<<(bit)); } while (0) @@ -690,14 +696,27 @@ return 0; bit = trace_get_context_bit() + start; - if (unlikely(val & (1 << bit))) - return -1; + if (unlikely(val & (1 << bit))) { + /* + * It could be that preempt_count has not been updated during + * a switch between contexts. Allow for a single recursion. + */ + bit = TRACE_TRANSITION_BIT; + if (trace_recursion_test(bit)) + return -1; + trace_recursion_set(bit); + barrier(); + return bit + 1; + } + + /* Normal check passed, clear the transition to allow it again */ + trace_recursion_clear(TRACE_TRANSITION_BIT); val |= 1 << bit; current->trace_recursion = val; barrier(); - return bit; + return bit + 1; } static __always_inline void trace_clear_recursion(int bit) @@ -707,6 +726,7 @@ if (!bit) return; + bit--; bit = 1 << bit; val &= ~bit; @@ -875,6 +895,8 @@ extern bool tracing_selftest_disabled; #ifdef CONFIG_FTRACE_STARTUP_TEST +extern void __init disable_tracing_selftest(const char *reason); + extern int trace_selftest_startup_function(struct tracer *trace, struct trace_array *tr); extern int trace_selftest_startup_function_graph(struct tracer *trace, @@ -898,6 +920,9 @@ */ #define __tracer_data __refdata #else +static inline void __init disable_tracing_selftest(const char *reason) +{ +} /* Tracers are seldom changed. Optimize when selftests are disabled. */ #define __tracer_data __read_mostly #endif /* CONFIG_FTRACE_STARTUP_TEST */ @@ -1103,6 +1128,10 @@ extern struct list_head ftrace_pids; #ifdef CONFIG_FUNCTION_TRACER + +#define FTRACE_PID_IGNORE -1 +#define FTRACE_PID_TRACE -2 + struct ftrace_func_command { struct list_head list; char *name; @@ -1114,7 +1143,8 @@ extern bool ftrace_filter_param __initdata; static inline int ftrace_trace_task(struct trace_array *tr) { - return !this_cpu_read(tr->array_buffer.data->ftrace_ignore_pid); + return this_cpu_read(tr->array_buffer.data->ftrace_ignore_pid) != + FTRACE_PID_IGNORE; } extern int ftrace_is_dead(void); int ftrace_create_function_files(struct trace_array *tr, --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_boot.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_boot.c @@ -328,6 +328,8 @@ trace_boot_init_one_instance(tr, trace_node); trace_boot_init_instances(trace_node); + disable_tracing_selftest("running boot-time tracing"); + return 0; } --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_events.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_events.c @@ -538,12 +538,12 @@ if (enable) { register_trace_prio_sched_process_fork(event_filter_pid_sched_process_fork, tr, INT_MIN); - register_trace_prio_sched_process_exit(event_filter_pid_sched_process_exit, + register_trace_prio_sched_process_free(event_filter_pid_sched_process_exit, tr, INT_MAX); } else { unregister_trace_sched_process_fork(event_filter_pid_sched_process_fork, tr); - unregister_trace_sched_process_exit(event_filter_pid_sched_process_exit, + unregister_trace_sched_process_free(event_filter_pid_sched_process_exit, tr); } } @@ -1211,7 +1211,8 @@ mutex_lock(&event_mutex); list_for_each_entry(file, &tr->events, list) { call = file->event_call; - if (!trace_event_name(call) || !call->class || !call->class->reg) + if ((call->flags & TRACE_EVENT_FL_IGNORE_ENABLE) || + !trace_event_name(call) || !call->class || !call->class->reg) continue; if (system && strcmp(call->class->system, system->name) != 0) @@ -3188,7 +3189,7 @@ { strlcpy(bootup_event_buf, str, COMMAND_LINE_SIZE); ring_buffer_expanded = true; - tracing_selftest_disabled = true; + disable_tracing_selftest("running event tracing"); return 1; } --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_events_hist.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_events_hist.c @@ -3865,7 +3865,6 @@ s = kstrdup(field_str, GFP_KERNEL); if (!s) { - kfree(hist_data->attrs->var_defs.name[n_vars]); ret = -ENOMEM; goto free; } --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_events_synth.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_events_synth.c @@ -132,7 +132,7 @@ start += sizeof("char[") - 1; end = strchr(type, ']'); - if (!end || end < start) + if (!end || end < start || type + strlen(type) > end + 1) return -EINVAL; len = end - start; @@ -465,6 +465,8 @@ struct synth_field *field; const char *prefix = NULL, *field_type = argv[0], *field_name, *array; int len, ret = 0; + struct seq_buf s; + ssize_t size; if (field_type[0] == ';') field_type++; @@ -501,8 +503,10 @@ if (field_type[0] == ';') field_type++; len = strlen(field_type) + 1; + if (array) len += strlen(array); + if (prefix) len += strlen(prefix); @@ -511,20 +515,25 @@ ret = -ENOMEM; goto free; } + seq_buf_init(&s, field->type, len); if (prefix) - strcat(field->type, prefix); - strcat(field->type, field_type); + seq_buf_puts(&s, prefix); + seq_buf_puts(&s, field_type); if (array) { - strcat(field->type, array); - if (field->type[len - 1] == ';') - field->type[len - 1] = '\0'; + seq_buf_puts(&s, array); + if (s.buffer[s.len - 1] == ';') + s.len--; } + if (WARN_ON_ONCE(!seq_buf_buffer_left(&s))) + goto free; + s.buffer[s.len] = '\0'; - field->size = synth_field_size(field->type); - if (!field->size) { + size = synth_field_size(field->type); + if (size <= 0) { ret = -EINVAL; goto free; } + field->size = size; if (synth_field_is_string(field->type)) field->is_string = true; --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_hwlat.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_hwlat.c @@ -283,6 +283,7 @@ static void move_to_next_cpu(void) { struct cpumask *current_mask = &save_cpumask; + struct trace_array *tr = hwlat_trace; int next_cpu; if (disable_migrate) @@ -296,7 +297,7 @@ goto disable; get_online_cpus(); - cpumask_and(current_mask, cpu_online_mask, tracing_buffer_mask); + cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask); next_cpu = cpumask_next(smp_processor_id(), current_mask); put_online_cpus(); @@ -367,13 +368,13 @@ struct task_struct *kthread; int next_cpu; - if (WARN_ON(hwlat_kthread)) + if (hwlat_kthread) return 0; /* Just pick the first CPU on first iteration */ current_mask = &save_cpumask; get_online_cpus(); - cpumask_and(current_mask, cpu_online_mask, tracing_buffer_mask); + cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask); put_online_cpus(); next_cpu = cpumask_first(current_mask); --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_irqsoff.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_irqsoff.c @@ -562,6 +562,8 @@ /* non overwrite screws up the latency tracers */ set_tracer_flag(tr, TRACE_ITER_OVERWRITE, 1); set_tracer_flag(tr, TRACE_ITER_LATENCY_FMT, 1); + /* without pause, we will produce garbage if another latency occurs */ + set_tracer_flag(tr, TRACE_ITER_PAUSE_ON_TRACE, 1); tr->max_latency = 0; irqsoff_trace = tr; @@ -583,11 +585,13 @@ { int lat_flag = save_flags & TRACE_ITER_LATENCY_FMT; int overwrite_flag = save_flags & TRACE_ITER_OVERWRITE; + int pause_flag = save_flags & TRACE_ITER_PAUSE_ON_TRACE; stop_irqsoff_tracer(tr, is_graph(tr)); set_tracer_flag(tr, TRACE_ITER_LATENCY_FMT, lat_flag); set_tracer_flag(tr, TRACE_ITER_OVERWRITE, overwrite_flag); + set_tracer_flag(tr, TRACE_ITER_PAUSE_ON_TRACE, pause_flag); ftrace_reset_array_ops(tr); irqsoff_busy = false; --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_kprobe.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_kprobe.c @@ -25,11 +25,12 @@ /* Kprobe early definition from command line */ static char kprobe_boot_events_buf[COMMAND_LINE_SIZE] __initdata; -static bool kprobe_boot_events_enabled __initdata; static int __init set_kprobe_boot_events(char *str) { strlcpy(kprobe_boot_events_buf, str, COMMAND_LINE_SIZE); + disable_tracing_selftest("running kprobe events"); + return 0; } __setup("kprobe_event=", set_kprobe_boot_events); @@ -219,9 +220,9 @@ { struct trace_kprobe *tk = trace_kprobe_primary_from_call(call); - return tk ? kprobe_on_func_entry(tk->rp.kp.addr, + return tk ? (kprobe_on_func_entry(tk->rp.kp.addr, tk->rp.kp.addr ? NULL : tk->rp.kp.symbol_name, - tk->rp.kp.addr ? 0 : tk->rp.kp.offset) : false; + tk->rp.kp.addr ? 0 : tk->rp.kp.offset) == 0) : false; } bool trace_kprobe_error_injectable(struct trace_event_call *call) @@ -432,7 +433,7 @@ return 0; } -#if defined(CONFIG_KPROBES_ON_FTRACE) && \ +#if defined(CONFIG_DYNAMIC_FTRACE) && \ !defined(CONFIG_KPROBE_EVENTS_ON_NOTRACE) static bool __within_notrace_func(unsigned long addr) { @@ -810,9 +811,11 @@ trace_probe_log_err(0, BAD_PROBE_ADDR); goto parse_error; } - if (kprobe_on_func_entry(NULL, symbol, offset)) + ret = kprobe_on_func_entry(NULL, symbol, offset); + if (ret == 0) flags |= TPARG_FL_FENTRY; - if (offset && is_return && !(flags & TPARG_FL_FENTRY)) { + /* Defer the ENOENT case until register kprobe */ + if (ret == -EINVAL && is_return) { trace_probe_log_err(0, BAD_RETPROBE); goto parse_error; } @@ -1870,8 +1873,6 @@ ret = trace_run_command(cmd, create_or_delete_trace_kprobe); if (ret) pr_warn("Failed to add event(%d): %s\n", ret, cmd); - else - kprobe_boot_events_enabled = true; cmd = p; } @@ -1956,10 +1957,8 @@ if (tracing_is_disabled()) return -ENODEV; - if (kprobe_boot_events_enabled) { - pr_info("Skipping kprobe tests due to kprobe_event on cmdline\n"); + if (tracing_selftest_disabled) return 0; - } target = kprobe_trace_selftest_target; --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_output.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_output.c @@ -497,7 +497,7 @@ trace_find_cmdline(entry->pid, comm); - trace_seq_printf(s, "%8.8s-%-5d %3d", + trace_seq_printf(s, "%8.8s-%-7d %3d", comm, entry->pid, cpu); return trace_print_lat_fmt(s, entry); @@ -588,15 +588,15 @@ trace_find_cmdline(entry->pid, comm); - trace_seq_printf(s, "%16s-%-5d ", comm, entry->pid); + trace_seq_printf(s, "%16s-%-7d ", comm, entry->pid); if (tr->trace_flags & TRACE_ITER_RECORD_TGID) { unsigned int tgid = trace_find_tgid(entry->pid); if (!tgid) - trace_seq_printf(s, "(-----) "); + trace_seq_printf(s, "(-------) "); else - trace_seq_printf(s, "(%5d) ", tgid); + trace_seq_printf(s, "(%7d) ", tgid); } trace_seq_printf(s, "[%03d] ", iter->cpu); @@ -636,7 +636,7 @@ trace_find_cmdline(entry->pid, comm); trace_seq_printf( - s, "%16s %5d %3d %d %08x %08lx ", + s, "%16s %7d %3d %d %08x %08lx ", comm, entry->pid, iter->cpu, entry->flags, entry->preempt_count, iter->idx); } else { @@ -917,7 +917,7 @@ S = task_index_to_char(field->prev_state); trace_find_cmdline(field->next_pid, comm); trace_seq_printf(&iter->seq, - " %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n", + " %7d:%3d:%c %s [%03d] %7d:%3d:%c %s\n", field->prev_pid, field->prev_prio, S, delim, --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_preemptirq.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_preemptirq.c @@ -102,14 +102,14 @@ __visible void trace_hardirqs_off_caller(unsigned long caller_addr) { + lockdep_hardirqs_off(CALLER_ADDR0); + if (!this_cpu_read(tracing_irq_cpu)) { this_cpu_write(tracing_irq_cpu, 1); tracer_hardirqs_off(CALLER_ADDR0, caller_addr); if (!in_nmi()) trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr); } - - lockdep_hardirqs_off(CALLER_ADDR0); } EXPORT_SYMBOL(trace_hardirqs_off_caller); NOKPROBE_SYMBOL(trace_hardirqs_off_caller); --- linux-riscv-5.8-5.8.0.orig/kernel/trace/trace_selftest.c +++ linux-riscv-5.8-5.8.0/kernel/trace/trace_selftest.c @@ -492,8 +492,13 @@ unregister_ftrace_function(&test_rec_probe); ret = -1; - if (trace_selftest_recursion_cnt != 1) { - pr_cont("*callback not called once (%d)* ", + /* + * Recursion allows for transitions between context, + * and may call the callback twice. + */ + if (trace_selftest_recursion_cnt != 1 && + trace_selftest_recursion_cnt != 2) { + pr_cont("*callback not called once (or twice) (%d)* ", trace_selftest_recursion_cnt); goto out; } @@ -782,7 +787,7 @@ /* Have we just recovered from a hang? */ if (graph_hang_thresh > GRAPH_MAX_FUNC_TEST) { - tracing_selftest_disabled = true; + disable_tracing_selftest("recovering from a hang"); ret = -1; goto out; } --- linux-riscv-5.8-5.8.0.orig/kernel/tracepoint.c +++ linux-riscv-5.8-5.8.0/kernel/tracepoint.c @@ -53,6 +53,12 @@ struct tracepoint_func probes[0]; }; +/* Called in removal of a func but failed to allocate a new tp_funcs */ +static void tp_stub_func(void) +{ + return; +} + static inline void *allocate_probes(int count) { struct tp_probes *p = kmalloc(struct_size(p, probes, count), @@ -131,6 +137,7 @@ { struct tracepoint_func *old, *new; int nr_probes = 0; + int stub_funcs = 0; int pos = -1; if (WARN_ON(!tp_func->func)) @@ -147,14 +154,34 @@ if (old[nr_probes].func == tp_func->func && old[nr_probes].data == tp_func->data) return ERR_PTR(-EEXIST); + if (old[nr_probes].func == tp_stub_func) + stub_funcs++; } } - /* + 2 : one for new probe, one for NULL func */ - new = allocate_probes(nr_probes + 2); + /* + 2 : one for new probe, one for NULL func - stub functions */ + new = allocate_probes(nr_probes + 2 - stub_funcs); if (new == NULL) return ERR_PTR(-ENOMEM); if (old) { - if (pos < 0) { + if (stub_funcs) { + /* Need to copy one at a time to remove stubs */ + int probes = 0; + + pos = -1; + for (nr_probes = 0; old[nr_probes].func; nr_probes++) { + if (old[nr_probes].func == tp_stub_func) + continue; + if (pos < 0 && old[nr_probes].prio < prio) + pos = probes++; + new[probes++] = old[nr_probes]; + } + nr_probes = probes; + if (pos < 0) + pos = probes; + else + nr_probes--; /* Account for insertion */ + + } else if (pos < 0) { pos = nr_probes; memcpy(new, old, nr_probes * sizeof(struct tracepoint_func)); } else { @@ -188,8 +215,9 @@ /* (N -> M), (N > 1, M >= 0) probes */ if (tp_func->func) { for (nr_probes = 0; old[nr_probes].func; nr_probes++) { - if (old[nr_probes].func == tp_func->func && - old[nr_probes].data == tp_func->data) + if ((old[nr_probes].func == tp_func->func && + old[nr_probes].data == tp_func->data) || + old[nr_probes].func == tp_stub_func) nr_del++; } } @@ -208,14 +236,32 @@ /* N -> M, (N > 1, M > 0) */ /* + 1 for NULL */ new = allocate_probes(nr_probes - nr_del + 1); - if (new == NULL) - return ERR_PTR(-ENOMEM); - for (i = 0; old[i].func; i++) - if (old[i].func != tp_func->func - || old[i].data != tp_func->data) - new[j++] = old[i]; - new[nr_probes - nr_del].func = NULL; - *funcs = new; + if (new) { + for (i = 0; old[i].func; i++) + if ((old[i].func != tp_func->func + || old[i].data != tp_func->data) + && old[i].func != tp_stub_func) + new[j++] = old[i]; + new[nr_probes - nr_del].func = NULL; + *funcs = new; + } else { + /* + * Failed to allocate, replace the old function + * with calls to tp_stub_func. + */ + for (i = 0; old[i].func; i++) + if (old[i].func == tp_func->func && + old[i].data == tp_func->data) { + old[i].func = tp_stub_func; + /* Set the prio to the next event. */ + if (old[i + 1].func) + old[i].prio = + old[i + 1].prio; + else + old[i].prio = -1; + } + *funcs = old; + } } debug_print_probes(*funcs); return old; @@ -271,10 +317,12 @@ tp_funcs = rcu_dereference_protected(tp->funcs, lockdep_is_held(&tracepoints_mutex)); old = func_remove(&tp_funcs, func); - if (IS_ERR(old)) { - WARN_ON_ONCE(PTR_ERR(old) != -ENOMEM); + if (WARN_ON_ONCE(IS_ERR(old))) return PTR_ERR(old); - } + + if (tp_funcs == old) + /* Failed allocating new tp_funcs, replaced func with stub */ + return 0; if (!tp_funcs) { /* Removed last function */ --- linux-riscv-5.8-5.8.0.orig/kernel/umh.c +++ linux-riscv-5.8-5.8.0/kernel/umh.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -76,6 +77,14 @@ spin_unlock_irq(¤t->sighand->siglock); /* + * Initial kernel threads share ther FS with init, in order to + * get the init root directory. But we've now created a new + * thread that is going to execve a user process and has its own + * 'struct fs_struct'. Reset umask to the default. + */ + current->fs->umask = 0022; + + /* * Our parent (unbound workqueue) runs with elevated scheduling * priority. Avoid propagating that into the userspace child. */ --- linux-riscv-5.8-5.8.0.orig/kernel/user_namespace.c +++ linux-riscv-5.8-5.8.0/kernel/user_namespace.c @@ -21,6 +21,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); @@ -106,6 +112,7 @@ if (!ns) goto fail_dec; + ns->parent_could_setfcap = cap_raised(new->cap_effective, CAP_SETFCAP); ret = ns_alloc_inum(&ns->ns); if (ret) goto fail_free; @@ -841,6 +848,60 @@ return 0; } +/** + * verify_root_map() - check the uid 0 mapping + * @file: idmapping file + * @map_ns: user namespace of the target process + * @new_map: requested idmap + * + * If a process requests mapping parent uid 0 into the new ns, verify that the + * process writing the map had the CAP_SETFCAP capability as the target process + * will be able to write fscaps that are valid in ancestor user namespaces. + * + * Return: true if the mapping is allowed, false if not. + */ +static bool verify_root_map(const struct file *file, + struct user_namespace *map_ns, + struct uid_gid_map *new_map) +{ + int idx; + const struct user_namespace *file_ns = file->f_cred->user_ns; + struct uid_gid_extent *extent0 = NULL; + + for (idx = 0; idx < new_map->nr_extents; idx++) { + if (new_map->nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) + extent0 = &new_map->extent[idx]; + else + extent0 = &new_map->forward[idx]; + if (extent0->lower_first == 0) + break; + + extent0 = NULL; + } + + if (!extent0) + return true; + + if (map_ns == file_ns) { + /* The process unshared its ns and is writing to its own + * /proc/self/uid_map. User already has full capabilites in + * the new namespace. Verify that the parent had CAP_SETFCAP + * when it unshared. + * */ + if (!file_ns->parent_could_setfcap) + return false; + } else { + /* Process p1 is writing to uid_map of p2, who is in a child + * user namespace to p1's. Verify that the opener of the map + * file has CAP_SETFCAP against the parent of the new map + * namespace */ + if (!file_ns_capable(file, map_ns->parent, CAP_SETFCAP)) + return false; + } + + return true; +} + static ssize_t map_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos, int cap_setid, @@ -848,7 +909,7 @@ struct uid_gid_map *parent_map) { struct seq_file *seq = file->private_data; - struct user_namespace *ns = seq->private; + struct user_namespace *map_ns = seq->private; struct uid_gid_map new_map; unsigned idx; struct uid_gid_extent extent; @@ -895,7 +956,7 @@ /* * Adjusting namespace settings requires capabilities on the target. */ - if (cap_valid(cap_setid) && !file_ns_capable(file, ns, CAP_SYS_ADMIN)) + if (cap_valid(cap_setid) && !file_ns_capable(file, map_ns, CAP_SYS_ADMIN)) goto out; /* Parse the user data */ @@ -965,7 +1026,7 @@ ret = -EPERM; /* Validate the user is allowed to use user id's mapped to. */ - if (!new_idmap_permitted(file, ns, cap_setid, &new_map)) + if (!new_idmap_permitted(file, map_ns, cap_setid, &new_map)) goto out; ret = -EPERM; @@ -1086,6 +1147,10 @@ struct uid_gid_map *new_map) { const struct cred *cred = file->f_cred; + + if (cap_setid == CAP_SETUID && !verify_root_map(file, ns, new_map)) + return false; + /* Don't allow mappings that would allow anything that wouldn't * be allowed without the establishment of unprivileged mappings. */ --- linux-riscv-5.8-5.8.0.orig/kernel/watch_queue.c +++ linux-riscv-5.8-5.8.0/kernel/watch_queue.c @@ -393,6 +393,7 @@ struct watch *watch = container_of(rcu, struct watch, rcu); put_watch_queue(rcu_access_pointer(watch->queue)); + atomic_dec(&watch->cred->user->nr_watches); put_cred(watch->cred); } @@ -452,6 +453,13 @@ watch->cred = get_current_cred(); rcu_assign_pointer(watch->watch_list, wlist); + if (atomic_inc_return(&watch->cred->user->nr_watches) > + task_rlimit(current, RLIMIT_NOFILE)) { + atomic_dec(&watch->cred->user->nr_watches); + put_cred(watch->cred); + return -EAGAIN; + } + spin_lock_bh(&wqueue->lock); kref_get(&wqueue->usage); kref_get(&watch->usage); --- linux-riscv-5.8-5.8.0.orig/kernel/watchdog.c +++ linux-riscv-5.8-5.8.0/kernel/watchdog.c @@ -44,8 +44,6 @@ int __read_mostly watchdog_thresh = 10; static int __read_mostly nmi_watchdog_available; -static struct cpumask watchdog_allowed_mask __read_mostly; - struct cpumask watchdog_cpumask __read_mostly; unsigned long *watchdog_cpumask_bits = cpumask_bits(&watchdog_cpumask); @@ -162,6 +160,8 @@ int __read_mostly sysctl_softlockup_all_cpu_backtrace; #endif +static struct cpumask watchdog_allowed_mask __read_mostly; + /* Global variables, exported for sysctl */ unsigned int __read_mostly softlockup_panic = CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE; --- linux-riscv-5.8-5.8.0.orig/kernel/workqueue.c +++ linux-riscv-5.8-5.8.0/kernel/workqueue.c @@ -1406,7 +1406,6 @@ */ lockdep_assert_irqs_disabled(); - debug_work_activate(work); /* if draining, only works from the same workqueue are allowed */ if (unlikely(wq->flags & __WQ_DRAINING) && @@ -1488,6 +1487,7 @@ worklist = &pwq->delayed_works; } + debug_work_activate(work); insert_work(pwq, work, worklist, work_flags); out: @@ -1843,12 +1843,6 @@ mutex_lock(&wq_pool_attach_mutex); /* - * set_cpus_allowed_ptr() will fail if the cpumask doesn't have any - * online CPUs. It'll be re-applied when any of the CPUs come up. - */ - set_cpus_allowed_ptr(worker->task, pool->attrs->cpumask); - - /* * The wq_pool_attach_mutex ensures %POOL_DISASSOCIATED remains * stable across this function. See the comments above the flag * definition for details. @@ -1856,6 +1850,9 @@ if (pool->flags & POOL_DISASSOCIATED) worker->flags |= WORKER_UNBOUND; + if (worker->rescue_wq) + set_cpus_allowed_ptr(worker->task, pool->attrs->cpumask); + list_add_tail(&worker->node, &pool->workers); worker->pool = pool; @@ -3725,17 +3722,24 @@ * is updated and visible. */ if (!freezable || !workqueue_freezing) { + bool kick = false; + pwq->max_active = wq->saved_max_active; while (!list_empty(&pwq->delayed_works) && - pwq->nr_active < pwq->max_active) + pwq->nr_active < pwq->max_active) { pwq_activate_first_delayed(pwq); + kick = true; + } /* * Need to kick a worker after thawed or an unbound wq's - * max_active is bumped. It's a slow path. Do it always. + * max_active is bumped. In realtime scenarios, always kicking a + * worker will cause interference on the isolated cpu cores, so + * let's kick iff work items were activated. */ - wake_up_worker(pwq->pool); + if (kick) + wake_up_worker(pwq->pool); } else { pwq->max_active = 0; } --- linux-riscv-5.8-5.8.0.orig/lib/Kconfig +++ linux-riscv-5.8-5.8.0/lib/Kconfig @@ -631,7 +631,12 @@ config ARCH_HAS_UACCESS_FLUSHCACHE bool -config ARCH_HAS_UACCESS_MCSAFE +# arch has a concept of a recoverable synchronous exception due to a +# memory-read error like x86 machine-check or ARM data-abort, and +# implements copy_mc_to_{user,kernel} to abort and report +# 'bytes-transferred' if that exception fires when accessing the source +# buffer. +config ARCH_HAS_COPY_MC bool # Temporary. Goes away when all archs are cleaned up --- linux-riscv-5.8-5.8.0.orig/lib/Kconfig.debug +++ linux-riscv-5.8-5.8.0/lib/Kconfig.debug @@ -1259,7 +1259,7 @@ bool depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT select STACKTRACE - select FRAME_POINTER if !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86 + depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86 select KALLSYMS select KALLSYMS_ALL @@ -1526,7 +1526,7 @@ depends on DEBUG_KERNEL depends on STACKTRACE_SUPPORT depends on PROC_FS - select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86 + depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86 select KALLSYMS select KALLSYMS_ALL select STACKTRACE @@ -1774,7 +1774,7 @@ depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT depends on !X86_64 select STACKTRACE - select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86 + depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86 help Provide stacktrace filter for fault-injection capabilities --- linux-riscv-5.8-5.8.0.orig/lib/Makefile +++ linux-riscv-5.8-5.8.0/lib/Makefile @@ -34,7 +34,7 @@ flex_proportions.o ratelimit.o show_mem.o \ is_single_threaded.o plist.o decompress.o kobject_uevent.o \ earlycpio.o seq_buf.o siphash.o dec_and_lock.o \ - nmi_backtrace.o nodemask.o win_minmax.o memcat_p.o + nmi_backtrace.o nodemask.o win_minmax.o lib-$(CONFIG_PRINTK) += dump_stack.o lib-$(CONFIG_MMU) += ioremap.o @@ -49,7 +49,7 @@ bsearch.o find_bit.o llist.o memweight.o kfifo.o \ percpu-refcount.o rhashtable.o \ once.o refcount.o usercopy.o errseq.o bucket_locks.o \ - generic-radix-tree.o + generic-radix-tree.o memcat_p.o obj-$(CONFIG_STRING_SELFTEST) += test_string.o obj-y += string_helpers.o obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o --- linux-riscv-5.8-5.8.0.orig/lib/bootconfig.c +++ linux-riscv-5.8-5.8.0/lib/bootconfig.c @@ -31,6 +31,8 @@ static struct xbc_node *last_parent __initdata; static const char *xbc_err_msg __initdata; static int xbc_err_pos __initdata; +static int open_brace[XBC_DEPTH_MAX] __initdata; +static int brace_index __initdata; static int __init xbc_parse_error(const char *msg, const char *p) { @@ -423,27 +425,27 @@ return p; } -static int __init __xbc_open_brace(void) +static int __init __xbc_open_brace(char *p) { - /* Mark the last key as open brace */ - last_parent->next = XBC_NODE_MAX; + /* Push the last key as open brace */ + open_brace[brace_index++] = xbc_node_index(last_parent); + if (brace_index >= XBC_DEPTH_MAX) + return xbc_parse_error("Exceed max depth of braces", p); return 0; } static int __init __xbc_close_brace(char *p) { - struct xbc_node *node; - - if (!last_parent || last_parent->next != XBC_NODE_MAX) + brace_index--; + if (!last_parent || brace_index < 0 || + (open_brace[brace_index] != xbc_node_index(last_parent))) return xbc_parse_error("Unexpected closing brace", p); - node = last_parent; - node->next = 0; - do { - node = xbc_node_get_parent(node); - } while (node && node->next != XBC_NODE_MAX); - last_parent = node; + if (brace_index == 0) + last_parent = NULL; + else + last_parent = &xbc_nodes[open_brace[brace_index - 1]]; return 0; } @@ -484,8 +486,8 @@ break; } if (strchr(",;\n#}", c)) { - v = strim(v); *p++ = '\0'; + v = strim(v); break; } } @@ -651,7 +653,7 @@ return ret; *k = n; - return __xbc_open_brace(); + return __xbc_open_brace(n - 1); } static int __init xbc_close_brace(char **k, char *n) @@ -671,6 +673,13 @@ int i, depth, len, wlen; struct xbc_node *n, *m; + /* Brace closing */ + if (brace_index) { + n = &xbc_nodes[open_brace[brace_index]]; + return xbc_parse_error("Brace is not closed", + xbc_node_get_data(n)); + } + /* Empty tree */ if (xbc_node_num == 0) { xbc_parse_error("Empty config", xbc_data); @@ -735,6 +744,7 @@ xbc_node_num = 0; memblock_free(__pa(xbc_nodes), sizeof(struct xbc_node) * XBC_NODE_MAX); xbc_nodes = NULL; + brace_index = 0; } /** --- linux-riscv-5.8-5.8.0.orig/lib/crc-t10dif.c +++ linux-riscv-5.8-5.8.0/lib/crc-t10dif.c @@ -19,39 +19,46 @@ static struct crypto_shash __rcu *crct10dif_tfm; static struct static_key crct10dif_fallback __read_mostly; static DEFINE_MUTEX(crc_t10dif_mutex); +static struct work_struct crct10dif_rehash_work; -static int crc_t10dif_rehash(struct notifier_block *self, unsigned long val, void *data) +static int crc_t10dif_notify(struct notifier_block *self, unsigned long val, void *data) { struct crypto_alg *alg = data; - struct crypto_shash *new, *old; if (val != CRYPTO_MSG_ALG_LOADED || static_key_false(&crct10dif_fallback) || strncmp(alg->cra_name, CRC_T10DIF_STRING, strlen(CRC_T10DIF_STRING))) return 0; + schedule_work(&crct10dif_rehash_work); + return 0; +} + +static void crc_t10dif_rehash(struct work_struct *work) +{ + struct crypto_shash *new, *old; + mutex_lock(&crc_t10dif_mutex); old = rcu_dereference_protected(crct10dif_tfm, lockdep_is_held(&crc_t10dif_mutex)); if (!old) { mutex_unlock(&crc_t10dif_mutex); - return 0; + return; } new = crypto_alloc_shash("crct10dif", 0, 0); if (IS_ERR(new)) { mutex_unlock(&crc_t10dif_mutex); - return 0; + return; } rcu_assign_pointer(crct10dif_tfm, new); mutex_unlock(&crc_t10dif_mutex); synchronize_rcu(); crypto_free_shash(old); - return 0; } static struct notifier_block crc_t10dif_nb = { - .notifier_call = crc_t10dif_rehash, + .notifier_call = crc_t10dif_notify, }; __u16 crc_t10dif_update(__u16 crc, const unsigned char *buffer, size_t len) @@ -86,19 +93,26 @@ static int __init crc_t10dif_mod_init(void) { + struct crypto_shash *tfm; + + INIT_WORK(&crct10dif_rehash_work, crc_t10dif_rehash); crypto_register_notifier(&crc_t10dif_nb); - crct10dif_tfm = crypto_alloc_shash("crct10dif", 0, 0); - if (IS_ERR(crct10dif_tfm)) { + mutex_lock(&crc_t10dif_mutex); + tfm = crypto_alloc_shash("crct10dif", 0, 0); + if (IS_ERR(tfm)) { static_key_slow_inc(&crct10dif_fallback); - crct10dif_tfm = NULL; + tfm = NULL; } + RCU_INIT_POINTER(crct10dif_tfm, tfm); + mutex_unlock(&crc_t10dif_mutex); return 0; } static void __exit crc_t10dif_mod_fini(void) { crypto_unregister_notifier(&crc_t10dif_nb); - crypto_free_shash(crct10dif_tfm); + cancel_work_sync(&crct10dif_rehash_work); + crypto_free_shash(rcu_dereference_protected(crct10dif_tfm, 1)); } module_init(crc_t10dif_mod_init); @@ -106,11 +120,27 @@ static int crc_t10dif_transform_show(char *buffer, const struct kernel_param *kp) { + struct crypto_shash *tfm; + const char *name; + int len; + if (static_key_false(&crct10dif_fallback)) return sprintf(buffer, "fallback\n"); - return sprintf(buffer, "%s\n", - crypto_tfm_alg_driver_name(crypto_shash_tfm(crct10dif_tfm))); + rcu_read_lock(); + tfm = rcu_dereference(crct10dif_tfm); + if (!tfm) { + len = sprintf(buffer, "init\n"); + goto unlock; + } + + name = crypto_tfm_alg_driver_name(crypto_shash_tfm(tfm)); + len = sprintf(buffer, "%s\n", name); + +unlock: + rcu_read_unlock(); + + return len; } module_param_call(transform, NULL, crc_t10dif_transform_show, NULL, 0644); --- linux-riscv-5.8-5.8.0.orig/lib/crc32.c +++ linux-riscv-5.8-5.8.0/lib/crc32.c @@ -331,7 +331,7 @@ return crc; } -#if CRC_LE_BITS == 1 +#if CRC_BE_BITS == 1 u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len) { return crc32_be_generic(crc, p, len, NULL, CRC32_POLY_BE); --- linux-riscv-5.8-5.8.0.orig/lib/crc32test.c +++ linux-riscv-5.8-5.8.0/lib/crc32test.c @@ -683,7 +683,6 @@ /* reduce OS noise */ local_irq_save(flags); - local_irq_disable(); nsec = ktime_get_ns(); for (i = 0; i < 100; i++) { @@ -694,7 +693,6 @@ nsec = ktime_get_ns() - nsec; local_irq_restore(flags); - local_irq_enable(); pr_info("crc32c: CRC_LE_BITS = %d\n", CRC_LE_BITS); @@ -768,7 +766,6 @@ /* reduce OS noise */ local_irq_save(flags); - local_irq_disable(); nsec = ktime_get_ns(); for (i = 0; i < 100; i++) { @@ -783,7 +780,6 @@ nsec = ktime_get_ns() - nsec; local_irq_restore(flags); - local_irq_enable(); pr_info("crc32: CRC_LE_BITS = %d, CRC_BE BITS = %d\n", CRC_LE_BITS, CRC_BE_BITS); --- linux-riscv-5.8-5.8.0.orig/lib/decompress_unlz4.c +++ linux-riscv-5.8-5.8.0/lib/decompress_unlz4.c @@ -112,6 +112,9 @@ error("data corrupted"); goto exit_2; } + } else if (size < 4) { + /* empty or end-of-file */ + goto exit_3; } chunksize = get_unaligned_le32(inp); @@ -125,6 +128,10 @@ continue; } + if (!fill && chunksize == 0) { + /* empty or end-of-file */ + goto exit_3; + } if (posp) *posp += 4; @@ -184,6 +191,7 @@ } } +exit_3: ret = 0; exit_2: if (!input) --- linux-riscv-5.8-5.8.0.orig/lib/devres.c +++ linux-riscv-5.8-5.8.0/lib/devres.c @@ -119,6 +119,7 @@ { resource_size_t size; void __iomem *dest_ptr; + char *pretty_name; BUG_ON(!dev); @@ -129,7 +130,15 @@ size = resource_size(res); - if (!devm_request_mem_region(dev, res->start, size, dev_name(dev))) { + if (res->name) + pretty_name = devm_kasprintf(dev, GFP_KERNEL, "%s %s", + dev_name(dev), res->name); + else + pretty_name = devm_kstrdup(dev, dev_name(dev), GFP_KERNEL); + if (!pretty_name) + return IOMEM_ERR_PTR(-ENOMEM); + + if (!devm_request_mem_region(dev, res->start, size, pretty_name)) { dev_err(dev, "can't request region for resource %pR\n", res); return IOMEM_ERR_PTR(-EBUSY); } --- linux-riscv-5.8-5.8.0.orig/lib/dynamic_debug.c +++ linux-riscv-5.8-5.8.0/lib/dynamic_debug.c @@ -87,22 +87,22 @@ { _DPRINTK_FLAGS_NONE, '_' }, }; +struct flagsbuf { char buf[ARRAY_SIZE(opt_array)+1]; }; + /* format a string into buf[] which describes the _ddebug's flags */ -static char *ddebug_describe_flags(struct _ddebug *dp, char *buf, - size_t maxlen) +static char *ddebug_describe_flags(unsigned int flags, struct flagsbuf *fb) { - char *p = buf; + char *p = fb->buf; int i; - BUG_ON(maxlen < 6); for (i = 0; i < ARRAY_SIZE(opt_array); ++i) - if (dp->flags & opt_array[i].flag) + if (flags & opt_array[i].flag) *p++ = opt_array[i].opt_char; - if (p == buf) + if (p == fb->buf) *p++ = '_'; *p = '\0'; - return buf; + return fb->buf; } #define vpr_info(fmt, ...) \ @@ -144,7 +144,7 @@ struct ddebug_table *dt; unsigned int newflags; unsigned int nfound = 0; - char flagbuf[10]; + struct flagsbuf fbuf; /* search for matching ddebugs */ mutex_lock(&ddebug_lock); @@ -201,8 +201,7 @@ vpr_info("changed %s:%d [%s]%s =%s\n", trim_prefix(dp->filename), dp->lineno, dt->mod_name, dp->function, - ddebug_describe_flags(dp, flagbuf, - sizeof(flagbuf))); + ddebug_describe_flags(dp->flags, &fbuf)); } } mutex_unlock(&ddebug_lock); @@ -816,7 +815,7 @@ { struct ddebug_iter *iter = m->private; struct _ddebug *dp = p; - char flagsbuf[10]; + struct flagsbuf flags; vpr_info("called m=%p p=%p\n", m, p); @@ -829,7 +828,7 @@ seq_printf(m, "%s:%u [%s]%s =%s \"", trim_prefix(dp->filename), dp->lineno, iter->table->mod_name, dp->function, - ddebug_describe_flags(dp, flagsbuf, sizeof(flagsbuf))); + ddebug_describe_flags(dp->flags, &flags)); seq_escape(m, dp->format, "\t\r\n\""); seq_puts(m, "\"\n"); --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_10x18.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_10x18.c @@ -8,8 +8,8 @@ #define FONTDATAMAX 9216 -static const unsigned char fontdata_10x18[FONTDATAMAX] = { - +static const struct font_data fontdata_10x18 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, 0x00, /* 0000000000 */ 0x00, 0x00, /* 0000000000 */ @@ -5129,8 +5129,7 @@ 0x00, 0x00, /* 0000000000 */ 0x00, 0x00, /* 0000000000 */ 0x00, 0x00, /* 0000000000 */ - -}; +} }; const struct font_desc font_10x18 = { @@ -5138,7 +5137,7 @@ .name = "10x18", .width = 10, .height = 18, - .data = fontdata_10x18, + .data = fontdata_10x18.data, #ifdef __sparc__ .pref = 5, #else --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_6x10.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_6x10.c @@ -1,8 +1,10 @@ // SPDX-License-Identifier: GPL-2.0 #include -static const unsigned char fontdata_6x10[] = { +#define FONTDATAMAX 2560 +static const struct font_data fontdata_6x10 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ @@ -3074,14 +3076,13 @@ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ - -}; +} }; const struct font_desc font_6x10 = { .idx = FONT6x10_IDX, .name = "6x10", .width = 6, .height = 10, - .data = fontdata_6x10, + .data = fontdata_6x10.data, .pref = 0, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_6x11.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_6x11.c @@ -9,8 +9,8 @@ #define FONTDATAMAX (11*256) -static const unsigned char fontdata_6x11[FONTDATAMAX] = { - +static const struct font_data fontdata_6x11 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ @@ -3338,8 +3338,7 @@ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ - -}; +} }; const struct font_desc font_vga_6x11 = { @@ -3347,7 +3346,7 @@ .name = "ProFont6x11", .width = 6, .height = 11, - .data = fontdata_6x11, + .data = fontdata_6x11.data, /* Try avoiding this font if possible unless on MAC */ .pref = -2000, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_7x14.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_7x14.c @@ -8,8 +8,8 @@ #define FONTDATAMAX 3584 -static const unsigned char fontdata_7x14[FONTDATAMAX] = { - +static const struct font_data fontdata_7x14 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 0000000 */ 0x00, /* 0000000 */ @@ -4105,8 +4105,7 @@ 0x00, /* 0000000 */ 0x00, /* 0000000 */ 0x00, /* 0000000 */ - -}; +} }; const struct font_desc font_7x14 = { @@ -4114,6 +4113,6 @@ .name = "7x14", .width = 7, .height = 14, - .data = fontdata_7x14, + .data = fontdata_7x14.data, .pref = 0, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_8x16.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_8x16.c @@ -10,8 +10,8 @@ #define FONTDATAMAX 4096 -static const unsigned char fontdata_8x16[FONTDATAMAX] = { - +static const struct font_data fontdata_8x16 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ @@ -4619,8 +4619,7 @@ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ - -}; +} }; const struct font_desc font_vga_8x16 = { @@ -4628,7 +4627,7 @@ .name = "VGA8x16", .width = 8, .height = 16, - .data = fontdata_8x16, + .data = fontdata_8x16.data, .pref = 0, }; EXPORT_SYMBOL(font_vga_8x16); --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_8x8.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_8x8.c @@ -9,8 +9,8 @@ #define FONTDATAMAX 2048 -static const unsigned char fontdata_8x8[FONTDATAMAX] = { - +static const struct font_data fontdata_8x8 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ @@ -2570,8 +2570,7 @@ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ - -}; +} }; const struct font_desc font_vga_8x8 = { @@ -2579,6 +2578,6 @@ .name = "VGA8x8", .width = 8, .height = 8, - .data = fontdata_8x8, + .data = fontdata_8x8.data, .pref = 0, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_acorn_8x8.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_acorn_8x8.c @@ -3,7 +3,10 @@ #include -static const unsigned char acorndata_8x8[] = { +#define FONTDATAMAX 2048 + +static const struct font_data acorndata_8x8 = { +{ 0, 0, FONTDATAMAX, 0 }, { /* 00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ^@ */ /* 01 */ 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e, /* ^A */ /* 02 */ 0x7e, 0xff, 0xbd, 0xff, 0xc3, 0xe7, 0xff, 0x7e, /* ^B */ @@ -260,14 +263,14 @@ /* FD */ 0x38, 0x04, 0x18, 0x20, 0x3c, 0x00, 0x00, 0x00, /* FE */ 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, /* FF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; +} }; const struct font_desc font_acorn_8x8 = { .idx = ACORN8x8_IDX, .name = "Acorn8x8", .width = 8, .height = 8, - .data = acorndata_8x8, + .data = acorndata_8x8.data, #ifdef CONFIG_ARCH_ACORN .pref = 20, #else --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_mini_4x6.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_mini_4x6.c @@ -43,8 +43,8 @@ #define FONTDATAMAX 1536 -static const unsigned char fontdata_mini_4x6[FONTDATAMAX] = { - +static const struct font_data fontdata_mini_4x6 = { + { 0, 0, FONTDATAMAX, 0 }, { /*{*/ /* Char 0: ' ' */ 0xee, /*= [*** ] */ @@ -2145,14 +2145,14 @@ 0xee, /*= [*** ] */ 0x00, /*= [ ] */ /*}*/ -}; +} }; const struct font_desc font_mini_4x6 = { .idx = MINI4x6_IDX, .name = "MINI4x6", .width = 4, .height = 6, - .data = fontdata_mini_4x6, + .data = fontdata_mini_4x6.data, .pref = 3, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_pearl_8x8.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_pearl_8x8.c @@ -14,8 +14,8 @@ #define FONTDATAMAX 2048 -static const unsigned char fontdata_pearl8x8[FONTDATAMAX] = { - +static const struct font_data fontdata_pearl8x8 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ @@ -2575,14 +2575,13 @@ 0x00, /* 00000000 */ 0x00, /* 00000000 */ 0x00, /* 00000000 */ - -}; +} }; const struct font_desc font_pearl_8x8 = { .idx = PEARL8x8_IDX, .name = "PEARL8x8", .width = 8, .height = 8, - .data = fontdata_pearl8x8, + .data = fontdata_pearl8x8.data, .pref = 2, }; --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_sun12x22.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_sun12x22.c @@ -3,8 +3,8 @@ #define FONTDATAMAX 11264 -static const unsigned char fontdata_sun12x22[FONTDATAMAX] = { - +static const struct font_data fontdata_sun12x22 = { + { 0, 0, FONTDATAMAX, 0 }, { /* 0 0x00 '^@' */ 0x00, 0x00, /* 000000000000 */ 0x00, 0x00, /* 000000000000 */ @@ -6148,8 +6148,7 @@ 0x00, 0x00, /* 000000000000 */ 0x00, 0x00, /* 000000000000 */ 0x00, 0x00, /* 000000000000 */ - -}; +} }; const struct font_desc font_sun_12x22 = { @@ -6157,7 +6156,7 @@ .name = "SUN12x22", .width = 12, .height = 22, - .data = fontdata_sun12x22, + .data = fontdata_sun12x22.data, #ifdef __sparc__ .pref = 5, #else --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_sun8x16.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_sun8x16.c @@ -3,7 +3,8 @@ #define FONTDATAMAX 4096 -static const unsigned char fontdata_sun8x16[FONTDATAMAX] = { +static const struct font_data fontdata_sun8x16 = { +{ 0, 0, FONTDATAMAX, 0 }, { /* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* */ 0x00,0x00,0x7e,0x81,0xa5,0x81,0x81,0xbd,0x99,0x81,0x81,0x7e,0x00,0x00,0x00,0x00, /* */ 0x00,0x00,0x7e,0xff,0xdb,0xff,0xff,0xc3,0xe7,0xff,0xff,0x7e,0x00,0x00,0x00,0x00, @@ -260,14 +261,14 @@ /* */ 0x00,0x70,0xd8,0x30,0x60,0xc8,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* */ 0x00,0x00,0x00,0x00,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x00,0x00,0x00,0x00,0x00, /* */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -}; +} }; const struct font_desc font_sun_8x16 = { .idx = SUN8x16_IDX, .name = "SUN8x16", .width = 8, .height = 16, - .data = fontdata_sun8x16, + .data = fontdata_sun8x16.data, #ifdef __sparc__ .pref = 10, #else --- linux-riscv-5.8-5.8.0.orig/lib/fonts/font_ter16x32.c +++ linux-riscv-5.8-5.8.0/lib/fonts/font_ter16x32.c @@ -4,8 +4,8 @@ #define FONTDATAMAX 16384 -static const unsigned char fontdata_ter16x32[FONTDATAMAX] = { - +static const struct font_data fontdata_ter16x32 = { + { 0, 0, FONTDATAMAX, 0 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x7f, 0xfc, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, @@ -2054,8 +2054,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 255 */ - -}; +} }; const struct font_desc font_ter_16x32 = { @@ -2063,7 +2062,7 @@ .name = "TER16x32", .width = 16, .height = 32, - .data = fontdata_ter16x32, + .data = fontdata_ter16x32.data, #ifdef __sparc__ .pref = 5, #else --- linux-riscv-5.8-5.8.0.orig/lib/genalloc.c +++ linux-riscv-5.8-5.8.0/lib/genalloc.c @@ -81,14 +81,14 @@ * users set the same bit, one user will return remain bits, otherwise * return 0. */ -static int bitmap_set_ll(unsigned long *map, int start, int nr) +static int bitmap_set_ll(unsigned long *map, unsigned long start, unsigned long nr) { unsigned long *p = map + BIT_WORD(start); - const int size = start + nr; + const unsigned long size = start + nr; int bits_to_set = BITS_PER_LONG - (start % BITS_PER_LONG); unsigned long mask_to_set = BITMAP_FIRST_WORD_MASK(start); - while (nr - bits_to_set >= 0) { + while (nr >= bits_to_set) { if (set_bits_ll(p, mask_to_set)) return nr; nr -= bits_to_set; @@ -116,14 +116,15 @@ * users clear the same bit, one user will return remain bits, * otherwise return 0. */ -static int bitmap_clear_ll(unsigned long *map, int start, int nr) +static unsigned long +bitmap_clear_ll(unsigned long *map, unsigned long start, unsigned long nr) { unsigned long *p = map + BIT_WORD(start); - const int size = start + nr; + const unsigned long size = start + nr; int bits_to_clear = BITS_PER_LONG - (start % BITS_PER_LONG); unsigned long mask_to_clear = BITMAP_FIRST_WORD_MASK(start); - while (nr - bits_to_clear >= 0) { + while (nr >= bits_to_clear) { if (clear_bits_ll(p, mask_to_clear)) return nr; nr -= bits_to_clear; @@ -183,8 +184,8 @@ size_t size, int nid, void *owner) { struct gen_pool_chunk *chunk; - int nbits = size >> pool->min_alloc_order; - int nbytes = sizeof(struct gen_pool_chunk) + + unsigned long nbits = size >> pool->min_alloc_order; + unsigned long nbytes = sizeof(struct gen_pool_chunk) + BITS_TO_LONGS(nbits) * sizeof(long); chunk = vzalloc_node(nbytes, nid); @@ -242,7 +243,7 @@ struct list_head *_chunk, *_next_chunk; struct gen_pool_chunk *chunk; int order = pool->min_alloc_order; - int bit, end_bit; + unsigned long bit, end_bit; list_for_each_safe(_chunk, _next_chunk, &pool->chunks) { chunk = list_entry(_chunk, struct gen_pool_chunk, next_chunk); @@ -278,7 +279,7 @@ struct gen_pool_chunk *chunk; unsigned long addr = 0; int order = pool->min_alloc_order; - int nbits, start_bit, end_bit, remain; + unsigned long nbits, start_bit, end_bit, remain; #ifndef CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG BUG_ON(in_nmi()); @@ -487,7 +488,7 @@ { struct gen_pool_chunk *chunk; int order = pool->min_alloc_order; - int start_bit, nbits, remain; + unsigned long start_bit, nbits, remain; #ifndef CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG BUG_ON(in_nmi()); @@ -755,7 +756,7 @@ index = bitmap_find_next_zero_area(map, size, start, nr, 0); while (index < size) { - int next_bit = find_next_bit(map, size, index + nr); + unsigned long next_bit = find_next_bit(map, size, index + nr); if ((next_bit - index) < len) { len = next_bit - index; start_bit = index; --- linux-riscv-5.8-5.8.0.orig/lib/idr.c +++ linux-riscv-5.8-5.8.0/lib/idr.c @@ -470,6 +470,7 @@ goto retry; nospc: xas_unlock_irqrestore(&xas, flags); + kfree(alloc); return -ENOSPC; } EXPORT_SYMBOL(ida_alloc_range); --- linux-riscv-5.8-5.8.0.orig/lib/iov_iter.c +++ linux-riscv-5.8-5.8.0/lib/iov_iter.c @@ -585,14 +585,15 @@ } static size_t csum_and_copy_to_pipe_iter(const void *addr, size_t bytes, - __wsum *csum, struct iov_iter *i) + struct csum_state *csstate, + struct iov_iter *i) { struct pipe_inode_info *pipe = i->pipe; unsigned int p_mask = pipe->ring_size - 1; + __wsum sum = csstate->csum; + size_t off = csstate->off; unsigned int i_head; size_t n, r; - size_t off = 0; - __wsum sum = *csum; if (!sanity(i)) return 0; @@ -614,7 +615,8 @@ i_head++; } while (n); i->count -= bytes; - *csum = sum; + csstate->csum = sum; + csstate->off = off; return bytes; } @@ -636,30 +638,30 @@ } EXPORT_SYMBOL(_copy_to_iter); -#ifdef CONFIG_ARCH_HAS_UACCESS_MCSAFE -static int copyout_mcsafe(void __user *to, const void *from, size_t n) +#ifdef CONFIG_ARCH_HAS_COPY_MC +static int copyout_mc(void __user *to, const void *from, size_t n) { if (access_ok(to, n)) { instrument_copy_to_user(to, from, n); - n = copy_to_user_mcsafe((__force void *) to, from, n); + n = copy_mc_to_user((__force void *) to, from, n); } return n; } -static unsigned long memcpy_mcsafe_to_page(struct page *page, size_t offset, +static unsigned long copy_mc_to_page(struct page *page, size_t offset, const char *from, size_t len) { unsigned long ret; char *to; to = kmap_atomic(page); - ret = memcpy_mcsafe(to + offset, from, len); + ret = copy_mc_to_kernel(to + offset, from, len); kunmap_atomic(to); return ret; } -static size_t copy_pipe_to_iter_mcsafe(const void *addr, size_t bytes, +static size_t copy_mc_pipe_to_iter(const void *addr, size_t bytes, struct iov_iter *i) { struct pipe_inode_info *pipe = i->pipe; @@ -677,7 +679,7 @@ size_t chunk = min_t(size_t, n, PAGE_SIZE - off); unsigned long rem; - rem = memcpy_mcsafe_to_page(pipe->bufs[i_head & p_mask].page, + rem = copy_mc_to_page(pipe->bufs[i_head & p_mask].page, off, addr, chunk); i->head = i_head; i->iov_offset = off + chunk - rem; @@ -694,18 +696,17 @@ } /** - * _copy_to_iter_mcsafe - copy to user with source-read error exception handling + * _copy_mc_to_iter - copy to iter with source memory error exception handling * @addr: source kernel address * @bytes: total transfer length * @iter: destination iterator * - * The pmem driver arranges for filesystem-dax to use this facility via - * dax_copy_to_iter() for protecting read/write to persistent memory. - * Unless / until an architecture can guarantee identical performance - * between _copy_to_iter_mcsafe() and _copy_to_iter() it would be a - * performance regression to switch more users to the mcsafe version. + * The pmem driver deploys this for the dax operation + * (dax_copy_to_iter()) for dax reads (bypass page-cache and the + * block-layer). Upon #MC read(2) aborts and returns EIO or the bytes + * successfully copied. * - * Otherwise, the main differences between this and typical _copy_to_iter(). + * The main differences between this and typical _copy_to_iter(). * * * Typical tail/residue handling after a fault retries the copy * byte-by-byte until the fault happens again. Re-triggering machine @@ -716,23 +717,22 @@ * * ITER_KVEC, ITER_PIPE, and ITER_BVEC can return short copies. * Compare to copy_to_iter() where only ITER_IOVEC attempts might return * a short copy. - * - * See MCSAFE_TEST for self-test. */ -size_t _copy_to_iter_mcsafe(const void *addr, size_t bytes, struct iov_iter *i) +size_t _copy_mc_to_iter(const void *addr, size_t bytes, struct iov_iter *i) { const char *from = addr; unsigned long rem, curr_addr, s_addr = (unsigned long) addr; if (unlikely(iov_iter_is_pipe(i))) - return copy_pipe_to_iter_mcsafe(addr, bytes, i); + return copy_mc_pipe_to_iter(addr, bytes, i); if (iter_is_iovec(i)) might_fault(); iterate_and_advance(i, bytes, v, - copyout_mcsafe(v.iov_base, (from += v.iov_len) - v.iov_len, v.iov_len), + copyout_mc(v.iov_base, (from += v.iov_len) - v.iov_len, + v.iov_len), ({ - rem = memcpy_mcsafe_to_page(v.bv_page, v.bv_offset, - (from += v.bv_len) - v.bv_len, v.bv_len); + rem = copy_mc_to_page(v.bv_page, v.bv_offset, + (from += v.bv_len) - v.bv_len, v.bv_len); if (rem) { curr_addr = (unsigned long) from; bytes = curr_addr - s_addr - rem; @@ -740,8 +740,8 @@ } }), ({ - rem = memcpy_mcsafe(v.iov_base, (from += v.iov_len) - v.iov_len, - v.iov_len); + rem = copy_mc_to_kernel(v.iov_base, (from += v.iov_len) + - v.iov_len, v.iov_len); if (rem) { curr_addr = (unsigned long) from; bytes = curr_addr - s_addr - rem; @@ -752,8 +752,8 @@ return bytes; } -EXPORT_SYMBOL_GPL(_copy_to_iter_mcsafe); -#endif /* CONFIG_ARCH_HAS_UACCESS_MCSAFE */ +EXPORT_SYMBOL_GPL(_copy_mc_to_iter); +#endif /* CONFIG_ARCH_HAS_COPY_MC */ size_t _copy_from_iter(void *addr, size_t bytes, struct iov_iter *i) { @@ -1519,18 +1519,19 @@ } EXPORT_SYMBOL(csum_and_copy_from_iter_full); -size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *csump, +size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *_csstate, struct iov_iter *i) { + struct csum_state *csstate = _csstate; const char *from = addr; - __wsum *csum = csump; __wsum sum, next; - size_t off = 0; + size_t off; if (unlikely(iov_iter_is_pipe(i))) - return csum_and_copy_to_pipe_iter(addr, bytes, csum, i); + return csum_and_copy_to_pipe_iter(addr, bytes, _csstate, i); - sum = *csum; + sum = csstate->csum; + off = csstate->off; if (unlikely(iov_iter_is_discard(i))) { WARN_ON(1); /* for now */ return 0; @@ -1559,7 +1560,8 @@ off += v.iov_len; }) ) - *csum = sum; + csstate->csum = sum; + csstate->off = off; return bytes; } EXPORT_SYMBOL(csum_and_copy_to_iter); --- linux-riscv-5.8-5.8.0.orig/lib/kobject.c +++ linux-riscv-5.8-5.8.0/lib/kobject.c @@ -599,14 +599,7 @@ } EXPORT_SYMBOL_GPL(kobject_move); -/** - * kobject_del() - Unlink kobject from hierarchy. - * @kobj: object. - * - * This is the function that should be called to delete an object - * successfully added via kobject_add(). - */ -void kobject_del(struct kobject *kobj) +static void __kobject_del(struct kobject *kobj) { struct kernfs_node *sd; const struct kobj_type *ktype; @@ -632,9 +625,27 @@ kobj->state_in_sysfs = 0; kobj_kset_leave(kobj); - kobject_put(kobj->parent); kobj->parent = NULL; } + +/** + * kobject_del() - Unlink kobject from hierarchy. + * @kobj: object. + * + * This is the function that should be called to delete an object + * successfully added via kobject_add(). + */ +void kobject_del(struct kobject *kobj) +{ + struct kobject *parent; + + if (!kobj) + return; + + parent = kobj->parent; + __kobject_del(kobj); + kobject_put(parent); +} EXPORT_SYMBOL(kobject_del); /** @@ -670,6 +681,7 @@ */ static void kobject_cleanup(struct kobject *kobj) { + struct kobject *parent = kobj->parent; struct kobj_type *t = get_ktype(kobj); const char *name = kobj->name; @@ -684,7 +696,10 @@ if (kobj->state_in_sysfs) { pr_debug("kobject: '%s' (%p): auto cleanup kobject_del\n", kobject_name(kobj), kobj); - kobject_del(kobj); + __kobject_del(kobj); + } else { + /* avoid dropping the parent reference unnecessarily */ + parent = NULL; } if (t && t->release) { @@ -698,6 +713,8 @@ pr_debug("kobject: '%s': free name\n", name); kfree_const(name); } + + kobject_put(parent); } #ifdef CONFIG_DEBUG_KOBJECT_RELEASE --- linux-riscv-5.8-5.8.0.orig/lib/logic_pio.c +++ linux-riscv-5.8-5.8.0/lib/logic_pio.c @@ -28,6 +28,8 @@ * @new_range: pointer to the IO range to be registered. * * Returns 0 on success, the error code in case of failure. + * If the range already exists, -EEXIST will be returned, which should be + * considered a success. * * Register a new IO range node in the IO range list. */ @@ -51,6 +53,7 @@ list_for_each_entry(range, &io_range_list, list) { if (range->fwnode == new_range->fwnode) { /* range already there */ + ret = -EEXIST; goto end_register; } if (range->flags == LOGIC_PIO_CPU_MMIO && --- linux-riscv-5.8-5.8.0.orig/lib/radix-tree.c +++ linux-riscv-5.8-5.8.0/lib/radix-tree.c @@ -20,7 +20,6 @@ #include #include #include -#include #include /* in_interrupt() */ #include #include @@ -28,6 +27,7 @@ #include #include + /* * Radix tree node cache. */ @@ -58,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) { @@ -330,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; @@ -379,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 +1470,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-riscv-5.8-5.8.0.orig/lib/raid6/Makefile +++ linux-riscv-5.8-5.8.0/lib/raid6/Makefile @@ -48,7 +48,7 @@ endif quiet_cmd_unroll = UNROLL $@ - cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$* < $< > $@ + cmd_unroll = $(AWK) -v N=$* -f $(srctree)/$(src)/unroll.awk < $< > $@ targets += int1.c int2.c int4.c int8.c int16.c int32.c $(obj)/int%.c: $(src)/int.uc $(src)/unroll.awk FORCE --- linux-riscv-5.8-5.8.0.orig/lib/random32.c +++ linux-riscv-5.8-5.8.0/lib/random32.c @@ -40,16 +40,6 @@ #include #include -#ifdef CONFIG_RANDOM32_SELFTEST -static void __init prandom_state_selftest(void); -#else -static inline void prandom_state_selftest(void) -{ -} -#endif - -DEFINE_PER_CPU(struct rnd_state, net_rand_state); - /** * prandom_u32_state - seeded pseudo-random number generator. * @state: pointer to state structure holding seeded state. @@ -70,25 +60,6 @@ EXPORT_SYMBOL(prandom_u32_state); /** - * prandom_u32 - pseudo random number generator - * - * A 32 bit pseudo-random number is generated using a fast - * algorithm suitable for simulation. This algorithm is NOT - * considered safe for cryptographic use. - */ -u32 prandom_u32(void) -{ - struct rnd_state *state = &get_cpu_var(net_rand_state); - u32 res; - - res = prandom_u32_state(state); - put_cpu_var(net_rand_state); - - return res; -} -EXPORT_SYMBOL(prandom_u32); - -/** * prandom_bytes_state - get the requested number of pseudo-random bytes * * @state: pointer to state structure holding seeded state. @@ -119,20 +90,6 @@ } EXPORT_SYMBOL(prandom_bytes_state); -/** - * prandom_bytes - get the requested number of pseudo-random bytes - * @buf: where to copy the pseudo-random bytes to - * @bytes: the requested number of bytes - */ -void prandom_bytes(void *buf, size_t bytes) -{ - struct rnd_state *state = &get_cpu_var(net_rand_state); - - prandom_bytes_state(state, buf, bytes); - put_cpu_var(net_rand_state); -} -EXPORT_SYMBOL(prandom_bytes); - static void prandom_warmup(struct rnd_state *state) { /* Calling RNG ten times to satisfy recurrence condition */ @@ -148,96 +105,6 @@ prandom_u32_state(state); } -static u32 __extract_hwseed(void) -{ - unsigned int val = 0; - - (void)(arch_get_random_seed_int(&val) || - arch_get_random_int(&val)); - - return val; -} - -static void prandom_seed_early(struct rnd_state *state, u32 seed, - bool mix_with_hwseed) -{ -#define LCG(x) ((x) * 69069U) /* super-duper LCG */ -#define HWSEED() (mix_with_hwseed ? __extract_hwseed() : 0) - state->s1 = __seed(HWSEED() ^ LCG(seed), 2U); - state->s2 = __seed(HWSEED() ^ LCG(state->s1), 8U); - state->s3 = __seed(HWSEED() ^ LCG(state->s2), 16U); - state->s4 = __seed(HWSEED() ^ LCG(state->s3), 128U); -} - -/** - * prandom_seed - add entropy to pseudo random number generator - * @entropy: entropy value - * - * Add some additional entropy to the prandom pool. - */ -void prandom_seed(u32 entropy) -{ - int i; - /* - * No locking on the CPUs, but then somewhat random results are, well, - * expected. - */ - for_each_possible_cpu(i) { - struct rnd_state *state = &per_cpu(net_rand_state, i); - - state->s1 = __seed(state->s1 ^ entropy, 2U); - prandom_warmup(state); - } -} -EXPORT_SYMBOL(prandom_seed); - -/* - * Generate some initially weak seeding values to allow - * to start the prandom_u32() engine. - */ -static int __init prandom_init(void) -{ - int i; - - prandom_state_selftest(); - - for_each_possible_cpu(i) { - struct rnd_state *state = &per_cpu(net_rand_state, i); - u32 weak_seed = (i + jiffies) ^ random_get_entropy(); - - prandom_seed_early(state, weak_seed, true); - prandom_warmup(state); - } - - return 0; -} -core_initcall(prandom_init); - -static void __prandom_timer(struct timer_list *unused); - -static DEFINE_TIMER(seed_timer, __prandom_timer); - -static void __prandom_timer(struct timer_list *unused) -{ - u32 entropy; - unsigned long expires; - - get_random_bytes(&entropy, sizeof(entropy)); - prandom_seed(entropy); - - /* reseed every ~60 seconds, in [40 .. 80) interval with slack */ - expires = 40 + prandom_u32_max(40); - seed_timer.expires = jiffies + msecs_to_jiffies(expires * MSEC_PER_SEC); - - add_timer(&seed_timer); -} - -static void __init __prandom_start_seed_timer(void) -{ - seed_timer.expires = jiffies + msecs_to_jiffies(40 * MSEC_PER_SEC); - add_timer(&seed_timer); -} - void prandom_seed_full_state(struct rnd_state __percpu *pcpu_state) { int i; @@ -257,51 +124,6 @@ } EXPORT_SYMBOL(prandom_seed_full_state); -/* - * Generate better values after random number generator - * is fully initialized. - */ -static void __prandom_reseed(bool late) -{ - unsigned long flags; - static bool latch = false; - static DEFINE_SPINLOCK(lock); - - /* Asking for random bytes might result in bytes getting - * moved into the nonblocking pool and thus marking it - * as initialized. In this case we would double back into - * this function and attempt to do a late reseed. - * Ignore the pointless attempt to reseed again if we're - * already waiting for bytes when the nonblocking pool - * got initialized. - */ - - /* only allow initial seeding (late == false) once */ - if (!spin_trylock_irqsave(&lock, flags)) - return; - - if (latch && !late) - goto out; - - latch = true; - prandom_seed_full_state(&net_rand_state); -out: - spin_unlock_irqrestore(&lock, flags); -} - -void prandom_reseed_late(void) -{ - __prandom_reseed(true); -} - -static int __init prandom_reseed(void) -{ - __prandom_reseed(false); - __prandom_start_seed_timer(); - return 0; -} -late_initcall(prandom_reseed); - #ifdef CONFIG_RANDOM32_SELFTEST static struct prandom_test1 { u32 seed; @@ -421,7 +243,28 @@ { 407983964U, 921U, 728767059U }, }; -static void __init prandom_state_selftest(void) +static u32 __extract_hwseed(void) +{ + unsigned int val = 0; + + (void)(arch_get_random_seed_int(&val) || + arch_get_random_int(&val)); + + return val; +} + +static void prandom_seed_early(struct rnd_state *state, u32 seed, + bool mix_with_hwseed) +{ +#define LCG(x) ((x) * 69069U) /* super-duper LCG */ +#define HWSEED() (mix_with_hwseed ? __extract_hwseed() : 0) + state->s1 = __seed(HWSEED() ^ LCG(seed), 2U); + state->s2 = __seed(HWSEED() ^ LCG(state->s1), 8U); + state->s3 = __seed(HWSEED() ^ LCG(state->s2), 16U); + state->s4 = __seed(HWSEED() ^ LCG(state->s3), 128U); +} + +static int __init prandom_state_selftest(void) { int i, j, errors = 0, runs = 0; bool error = false; @@ -461,5 +304,266 @@ pr_warn("prandom: %d/%d self tests failed\n", errors, runs); else pr_info("prandom: %d self tests passed\n", runs); + return 0; } +core_initcall(prandom_state_selftest); #endif + +/* + * The prandom_u32() implementation is now completely separate from the + * prandom_state() functions, which are retained (for now) for compatibility. + * + * Because of (ab)use in the networking code for choosing random TCP/UDP port + * numbers, which open DoS possibilities if guessable, we want something + * stronger than a standard PRNG. But the performance requirements of + * the network code do not allow robust crypto for this application. + * + * So this is a homebrew Junior Spaceman implementation, based on the + * lowest-latency trustworthy crypto primitive available, SipHash. + * (The authors of SipHash have not been consulted about this abuse of + * their work.) + * + * Standard SipHash-2-4 uses 2n+4 rounds to hash n words of input to + * one word of output. This abbreviated version uses 2 rounds per word + * of output. + */ + +struct siprand_state { + unsigned long v0; + unsigned long v1; + unsigned long v2; + unsigned long v3; +}; + +static DEFINE_PER_CPU(struct siprand_state, net_rand_state) __latent_entropy; + +/* + * This is the core CPRNG function. As "pseudorandom", this is not used + * for truly valuable things, just intended to be a PITA to guess. + * For maximum speed, we do just two SipHash rounds per word. This is + * the same rate as 4 rounds per 64 bits that SipHash normally uses, + * so hopefully it's reasonably secure. + * + * There are two changes from the official SipHash finalization: + * - We omit some constants XORed with v2 in the SipHash spec as irrelevant; + * they are there only to make the output rounds distinct from the input + * rounds, and this application has no input rounds. + * - Rather than returning v0^v1^v2^v3, return v1+v3. + * If you look at the SipHash round, the last operation on v3 is + * "v3 ^= v0", so "v0 ^ v3" just undoes that, a waste of time. + * Likewise "v1 ^= v2". (The rotate of v2 makes a difference, but + * it still cancels out half of the bits in v2 for no benefit.) + * Second, since the last combining operation was xor, continue the + * pattern of alternating xor/add for a tiny bit of extra non-linearity. + */ +static inline u32 siprand_u32(struct siprand_state *s) +{ + unsigned long v0 = s->v0, v1 = s->v1, v2 = s->v2, v3 = s->v3; + + PRND_SIPROUND(v0, v1, v2, v3); + PRND_SIPROUND(v0, v1, v2, v3); + s->v0 = v0; s->v1 = v1; s->v2 = v2; s->v3 = v3; + return v1 + v3; +} + + +/** + * prandom_u32 - pseudo random number generator + * + * A 32 bit pseudo-random number is generated using a fast + * algorithm suitable for simulation. This algorithm is NOT + * considered safe for cryptographic use. + */ +u32 prandom_u32(void) +{ + struct siprand_state *state = get_cpu_ptr(&net_rand_state); + u32 res = siprand_u32(state); + + put_cpu_ptr(&net_rand_state); + return res; +} +EXPORT_SYMBOL(prandom_u32); + +/** + * prandom_bytes - get the requested number of pseudo-random bytes + * @buf: where to copy the pseudo-random bytes to + * @bytes: the requested number of bytes + */ +void prandom_bytes(void *buf, size_t bytes) +{ + struct siprand_state *state = get_cpu_ptr(&net_rand_state); + u8 *ptr = buf; + + while (bytes >= sizeof(u32)) { + put_unaligned(siprand_u32(state), (u32 *)ptr); + ptr += sizeof(u32); + bytes -= sizeof(u32); + } + + if (bytes > 0) { + u32 rem = siprand_u32(state); + + do { + *ptr++ = (u8)rem; + rem >>= BITS_PER_BYTE; + } while (--bytes > 0); + } + put_cpu_ptr(&net_rand_state); +} +EXPORT_SYMBOL(prandom_bytes); + +/** + * prandom_seed - add entropy to pseudo random number generator + * @entropy: entropy value + * + * Add some additional seed material to the prandom pool. + * The "entropy" is actually our IP address (the only caller is + * the network code), not for unpredictability, but to ensure that + * different machines are initialized differently. + */ +void prandom_seed(u32 entropy) +{ + int i; + + add_device_randomness(&entropy, sizeof(entropy)); + + for_each_possible_cpu(i) { + struct siprand_state *state = per_cpu_ptr(&net_rand_state, i); + unsigned long v0 = state->v0, v1 = state->v1; + unsigned long v2 = state->v2, v3 = state->v3; + + do { + v3 ^= entropy; + PRND_SIPROUND(v0, v1, v2, v3); + PRND_SIPROUND(v0, v1, v2, v3); + v0 ^= entropy; + } while (unlikely(!v0 || !v1 || !v2 || !v3)); + + WRITE_ONCE(state->v0, v0); + WRITE_ONCE(state->v1, v1); + WRITE_ONCE(state->v2, v2); + WRITE_ONCE(state->v3, v3); + } +} +EXPORT_SYMBOL(prandom_seed); + +/* + * Generate some initially weak seeding values to allow + * the prandom_u32() engine to be started. + */ +static int __init prandom_init_early(void) +{ + int i; + unsigned long v0, v1, v2, v3; + + if (!arch_get_random_long(&v0)) + v0 = jiffies; + if (!arch_get_random_long(&v1)) + v1 = random_get_entropy(); + v2 = v0 ^ PRND_K0; + v3 = v1 ^ PRND_K1; + + for_each_possible_cpu(i) { + struct siprand_state *state; + + v3 ^= i; + PRND_SIPROUND(v0, v1, v2, v3); + PRND_SIPROUND(v0, v1, v2, v3); + v0 ^= i; + + state = per_cpu_ptr(&net_rand_state, i); + state->v0 = v0; state->v1 = v1; + state->v2 = v2; state->v3 = v3; + } + + return 0; +} +core_initcall(prandom_init_early); + + +/* Stronger reseeding when available, and periodically thereafter. */ +static void prandom_reseed(struct timer_list *unused); + +static DEFINE_TIMER(seed_timer, prandom_reseed); + +static void prandom_reseed(struct timer_list *unused) +{ + unsigned long expires; + int i; + + /* + * Reinitialize each CPU's PRNG with 128 bits of key. + * No locking on the CPUs, but then somewhat random results are, + * well, expected. + */ + for_each_possible_cpu(i) { + struct siprand_state *state; + unsigned long v0 = get_random_long(), v2 = v0 ^ PRND_K0; + unsigned long v1 = get_random_long(), v3 = v1 ^ PRND_K1; +#if BITS_PER_LONG == 32 + int j; + + /* + * On 32-bit machines, hash in two extra words to + * approximate 128-bit key length. Not that the hash + * has that much security, but this prevents a trivial + * 64-bit brute force. + */ + for (j = 0; j < 2; j++) { + unsigned long m = get_random_long(); + + v3 ^= m; + PRND_SIPROUND(v0, v1, v2, v3); + PRND_SIPROUND(v0, v1, v2, v3); + v0 ^= m; + } +#endif + /* + * Probably impossible in practice, but there is a + * theoretical risk that a race between this reseeding + * and the target CPU writing its state back could + * create the all-zero SipHash fixed point. + * + * To ensure that never happens, ensure the state + * we write contains no zero words. + */ + state = per_cpu_ptr(&net_rand_state, i); + WRITE_ONCE(state->v0, v0 ? v0 : -1ul); + WRITE_ONCE(state->v1, v1 ? v1 : -1ul); + WRITE_ONCE(state->v2, v2 ? v2 : -1ul); + WRITE_ONCE(state->v3, v3 ? v3 : -1ul); + } + + /* reseed every ~60 seconds, in [40 .. 80) interval with slack */ + expires = round_jiffies(jiffies + 40 * HZ + prandom_u32_max(40 * HZ)); + mod_timer(&seed_timer, expires); +} + +/* + * The random ready callback can be called from almost any interrupt. + * To avoid worrying about whether it's safe to delay that interrupt + * long enough to seed all CPUs, just schedule an immediate timer event. + */ +static void prandom_timer_start(struct random_ready_callback *unused) +{ + mod_timer(&seed_timer, jiffies); +} + +/* + * Start periodic full reseeding as soon as strong + * random numbers are available. + */ +static int __init prandom_init_late(void) +{ + static struct random_ready_callback random_ready = { + .func = prandom_timer_start + }; + int ret = add_random_ready_callback(&random_ready); + + if (ret == -EALREADY) { + prandom_timer_start(&random_ready); + ret = 0; + } + return ret; +} +late_initcall(prandom_init_late); --- linux-riscv-5.8-5.8.0.orig/lib/scatterlist.c +++ linux-riscv-5.8-5.8.0/lib/scatterlist.c @@ -514,7 +514,7 @@ elem_len = min_t(u64, length, PAGE_SIZE << order); page = alloc_pages(gfp, order); if (!page) { - sgl_free(sgl); + sgl_free_order(sgl, order); return NULL; } --- linux-riscv-5.8-5.8.0.orig/lib/string.c +++ linux-riscv-5.8-5.8.0/lib/string.c @@ -272,6 +272,30 @@ } EXPORT_SYMBOL(strscpy_pad); +/** + * stpcpy - copy a string from src to dest returning a pointer to the new end + * of dest, including src's %NUL-terminator. May overrun dest. + * @dest: pointer to end of string being copied into. Must be large enough + * to receive copy. + * @src: pointer to the beginning of string being copied from. Must not overlap + * dest. + * + * stpcpy differs from strcpy in a key way: the return value is a pointer + * to the new %NUL-terminating character in @dest. (For strcpy, the return + * value is a pointer to the start of @dest). This interface is considered + * unsafe as it doesn't perform bounds checking of the inputs. As such it's + * not recommended for usage. Instead, its definition is provided in case + * the compiler lowers other libcalls to stpcpy. + */ +char *stpcpy(char *__restrict__ dest, const char *__restrict__ src); +char *stpcpy(char *__restrict__ dest, const char *__restrict__ src) +{ + while ((*dest++ = *src++) != '\0') + /* nothing */; + return --dest; +} +EXPORT_SYMBOL(stpcpy); + #ifndef __HAVE_ARCH_STRCAT /** * strcat - Append one %NUL-terminated string to another --- linux-riscv-5.8-5.8.0.orig/lib/strncpy_from_user.c +++ linux-riscv-5.8-5.8.0/lib/strncpy_from_user.c @@ -34,17 +34,32 @@ goto byte_at_a_time; while (max >= sizeof(unsigned long)) { - unsigned long c, data; + unsigned long c, data, mask; /* Fall back to byte-at-a-time if we get a page fault */ unsafe_get_user(c, (unsigned long __user *)(src+res), byte_at_a_time); - *(unsigned long *)(dst+res) = c; + /* + * Note that we mask out the bytes following the NUL. This is + * important to do because string oblivious code may read past + * the NUL. For those routines, we don't want to give them + * potentially random bytes after the NUL in `src`. + * + * One example of such code is BPF map keys. BPF treats map keys + * as an opaque set of bytes. Without the post-NUL mask, any BPF + * maps keyed by strings returned from strncpy_from_user() may + * have multiple entries for semantically identical strings. + */ if (has_zero(c, &data, &constants)) { data = prep_zero_mask(c, data, &constants); data = create_zero_mask(data); + mask = zero_bytemask(data); + *(unsigned long *)(dst+res) = c & mask; return res + find_zero(data); } + + *(unsigned long *)(dst+res) = c; + res += sizeof(unsigned long); max -= sizeof(unsigned long); } --- linux-riscv-5.8-5.8.0.orig/lib/syscall.c +++ linux-riscv-5.8-5.8.0/lib/syscall.c @@ -7,6 +7,7 @@ static int collect_syscall(struct task_struct *target, struct syscall_info *info) { + unsigned long args[6] = { }; struct pt_regs *regs; if (!try_get_task_stack(target)) { @@ -27,8 +28,14 @@ info->data.nr = syscall_get_nr(target, regs); if (info->data.nr != -1L) - syscall_get_arguments(target, regs, - (unsigned long *)&info->data.args[0]); + syscall_get_arguments(target, regs, args); + + info->data.args[0] = args[0]; + info->data.args[1] = args[1]; + info->data.args[2] = args[2]; + info->data.args[3] = args[3]; + info->data.args[4] = args[4]; + info->data.args[5] = args[5]; put_task_stack(target); return 0; --- linux-riscv-5.8-5.8.0.orig/lib/test_bpf.c +++ linux-riscv-5.8-5.8.0/lib/test_bpf.c @@ -5275,31 +5275,21 @@ { /* Mainly checking JIT here. */ "BPF_MAXINSNS: Ctx heavy transformations", { }, -#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390) - CLASSIC | FLAG_EXPECTED_FAIL, -#else CLASSIC, -#endif { }, { { 1, SKB_VLAN_PRESENT }, { 10, SKB_VLAN_PRESENT } }, .fill_helper = bpf_fill_maxinsns6, - .expected_errcode = -ENOTSUPP, }, { /* Mainly checking JIT here. */ "BPF_MAXINSNS: Call heavy transformations", { }, -#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390) - CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL, -#else CLASSIC | FLAG_NO_DATA, -#endif { }, { { 1, 0 }, { 10, 0 } }, .fill_helper = bpf_fill_maxinsns7, - .expected_errcode = -ENOTSUPP, }, { /* Mainly checking JIT here. */ "BPF_MAXINSNS: Jump heavy test", @@ -5350,28 +5340,18 @@ { "BPF_MAXINSNS: exec all MSH", { }, -#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390) - CLASSIC | FLAG_EXPECTED_FAIL, -#else CLASSIC, -#endif { 0xfa, 0xfb, 0xfc, 0xfd, }, { { 4, 0xababab83 } }, .fill_helper = bpf_fill_maxinsns13, - .expected_errcode = -ENOTSUPP, }, { "BPF_MAXINSNS: ld_abs+get_processor_id", { }, -#if defined(CONFIG_BPF_JIT_ALWAYS_ON) && defined(CONFIG_S390) - CLASSIC | FLAG_EXPECTED_FAIL, -#else CLASSIC, -#endif { }, { { 1, 0xbee } }, .fill_helper = bpf_fill_ld_abs_get_processor_id, - .expected_errcode = -ENOTSUPP, }, /* * LD_IND / LD_ABS on fragmented SKBs --- linux-riscv-5.8-5.8.0.orig/lib/test_firmware.c +++ linux-riscv-5.8-5.8.0/lib/test_firmware.c @@ -26,6 +26,8 @@ #include #include +MODULE_IMPORT_NS(TEST_FIRMWARE); + #define TEST_FIRMWARE_NAME "test-firmware.bin" #define TEST_FIRMWARE_NUM_REQS 4 #define TEST_FIRMWARE_BUF_SIZE SZ_1K @@ -489,6 +491,9 @@ static DEVICE_ATTR_WO(trigger_request); #ifdef CONFIG_EFI_EMBEDDED_FIRMWARE +extern struct list_head efi_embedded_fw_list; +extern bool efi_embedded_fw_checked; + static ssize_t trigger_request_platform_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) @@ -501,6 +506,7 @@ }; struct efi_embedded_fw efi_embedded_fw; const struct firmware *firmware = NULL; + bool saved_efi_embedded_fw_checked; char *name; int rc; @@ -513,6 +519,8 @@ efi_embedded_fw.data = (void *)test_data; efi_embedded_fw.length = sizeof(test_data); list_add(&efi_embedded_fw.list, &efi_embedded_fw_list); + saved_efi_embedded_fw_checked = efi_embedded_fw_checked; + efi_embedded_fw_checked = true; pr_info("loading '%s'\n", name); rc = firmware_request_platform(&firmware, name, dev); @@ -530,6 +538,7 @@ rc = count; out: + efi_embedded_fw_checked = saved_efi_embedded_fw_checked; release_firmware(firmware); list_del(&efi_embedded_fw.list); kfree(name); --- linux-riscv-5.8-5.8.0.orig/lib/test_kmod.c +++ linux-riscv-5.8-5.8.0/lib/test_kmod.c @@ -745,7 +745,7 @@ break; case TEST_KMOD_FS_TYPE: kfree_const(config->test_fs); - config->test_driver = NULL; + config->test_fs = NULL; copied = config_copy_test_fs(config, test_str, strlen(test_str)); break; --- linux-riscv-5.8-5.8.0.orig/lib/test_lockup.c +++ linux-riscv-5.8-5.8.0/lib/test_lockup.c @@ -512,8 +512,8 @@ if (test_file_path[0]) { test_file = filp_open(test_file_path, O_RDONLY, 0); if (IS_ERR(test_file)) { - pr_err("cannot find file_path\n"); - return -EINVAL; + pr_err("failed to open %s: %ld\n", test_file_path, PTR_ERR(test_file)); + return PTR_ERR(test_file); } test_inode = file_inode(test_file); } else if (test_lock_inode || --- linux-riscv-5.8-5.8.0.orig/lib/ubsan.c +++ linux-riscv-5.8-5.8.0/lib/ubsan.c @@ -427,3 +427,34 @@ ubsan_epilogue(); } EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); + +void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, + unsigned long align, + unsigned long offset); +void __ubsan_handle_alignment_assumption(void *_data, unsigned long ptr, + unsigned long align, + unsigned long offset) +{ + struct alignment_assumption_data *data = _data; + unsigned long real_ptr; + + if (suppress_report(&data->location)) + return; + + ubsan_prologue(&data->location, "alignment-assumption"); + + if (offset) + pr_err("assumption of %lu byte alignment (with offset of %lu byte) for pointer of type %s failed", + align, offset, data->type->type_name); + else + pr_err("assumption of %lu byte alignment for pointer of type %s failed", + align, data->type->type_name); + + real_ptr = ptr - offset; + pr_err("%saddress is %lu aligned, misalignment offset is %lu bytes", + offset ? "offset " : "", BIT(real_ptr ? __ffs(real_ptr) : 0), + real_ptr & (align - 1)); + + ubsan_epilogue(); +} +EXPORT_SYMBOL(__ubsan_handle_alignment_assumption); --- linux-riscv-5.8-5.8.0.orig/lib/ubsan.h +++ linux-riscv-5.8-5.8.0/lib/ubsan.h @@ -78,6 +78,12 @@ struct type_descriptor *type; }; +struct alignment_assumption_data { + struct source_location location; + struct source_location assumption_location; + struct type_descriptor *type; +}; + #if defined(CONFIG_ARCH_SUPPORTS_INT128) typedef __int128 s_max; typedef unsigned __int128 u_max; --- linux-riscv-5.8-5.8.0.orig/lib/vsprintf.c +++ linux-riscv-5.8-5.8.0/lib/vsprintf.c @@ -2092,6 +2092,29 @@ return widen_string(buf, buf - buf_start, end, spec); } +#ifdef CONFIG_KMSG_IDS + +unsigned long long __jhash_string(const char *str); + +static noinline_for_stack +char *jhash_string(char *buf, char *end, const char *str, const char *fmt) +{ + struct printf_spec spec; + unsigned long long num; + + num = __jhash_string(str); + + spec.type = FORMAT_TYPE_PTR; + spec.field_width = 6; + spec.flags = SMALL | ZEROPAD; + spec.base = 16; + spec.precision = -1; + + return number(buf, end, num, spec); +} + +#endif + /* * Show a '%p' thing. A kernel extension is that the '%p' is followed * by an extra set of alphanumeric characters that are extended format @@ -2201,6 +2224,7 @@ * Without an option prints the full name of the node * f full name * P node name, including a possible unit address + * - 'j' Kernel message catalog jhash for System z * - 'x' For printing the address. Equivalent to "%lx". * - '[ku]s' For a BPF/tracing related format specifier, e.g. used out of * bpf_trace_printk() where [ku] prefix specifies either kernel (k) @@ -2297,6 +2321,10 @@ default: return error_string(buf, end, "(einval)", spec); } +#ifdef CONFIG_KMSG_IDS + case 'j': + return jhash_string(buf, end, ptr, fmt); +#endif } /* default is to _not_ leak addresses, hash before printing */ --- linux-riscv-5.8-5.8.0.orig/lib/zlib_dfltcc/Makefile +++ linux-riscv-5.8-5.8.0/lib/zlib_dfltcc/Makefile @@ -8,4 +8,4 @@ obj-$(CONFIG_ZLIB_DFLTCC) += zlib_dfltcc.o -zlib_dfltcc-objs := dfltcc.o dfltcc_deflate.o dfltcc_inflate.o dfltcc_syms.o +zlib_dfltcc-objs := dfltcc.o dfltcc_deflate.o dfltcc_inflate.o --- linux-riscv-5.8-5.8.0.orig/lib/zlib_dfltcc/dfltcc.c +++ linux-riscv-5.8-5.8.0/lib/zlib_dfltcc/dfltcc.c @@ -1,7 +1,8 @@ // SPDX-License-Identifier: Zlib /* dfltcc.c - SystemZ DEFLATE CONVERSION CALL support. */ -#include +#include +#include #include "dfltcc_util.h" #include "dfltcc.h" @@ -53,3 +54,6 @@ dfltcc_state->dht_threshold = DFLTCC_DHT_MIN_SAMPLE_SIZE; dfltcc_state->param.ribm = DFLTCC_RIBM; } +EXPORT_SYMBOL(dfltcc_reset); + +MODULE_LICENSE("GPL"); --- linux-riscv-5.8-5.8.0.orig/lib/zlib_dfltcc/dfltcc_deflate.c +++ linux-riscv-5.8-5.8.0/lib/zlib_dfltcc/dfltcc_deflate.c @@ -4,6 +4,7 @@ #include "dfltcc_util.h" #include "dfltcc.h" #include +#include #include /* @@ -34,6 +35,7 @@ return 1; } +EXPORT_SYMBOL(dfltcc_can_deflate); static void dfltcc_gdht( z_streamp strm @@ -277,3 +279,4 @@ goto again; /* deflate() must use all input or all output */ return 1; } +EXPORT_SYMBOL(dfltcc_deflate); --- linux-riscv-5.8-5.8.0.orig/lib/zlib_dfltcc/dfltcc_inflate.c +++ linux-riscv-5.8-5.8.0/lib/zlib_dfltcc/dfltcc_inflate.c @@ -4,6 +4,7 @@ #include "dfltcc_util.h" #include "dfltcc.h" #include +#include #include /* @@ -29,6 +30,7 @@ return is_bit_set(dfltcc_state->af.fns, DFLTCC_XPND) && is_bit_set(dfltcc_state->af.fmts, DFLTCC_FMT0); } +EXPORT_SYMBOL(dfltcc_can_inflate); static int dfltcc_was_inflate_used( z_streamp strm @@ -123,7 +125,7 @@ param->ho = (state->write - state->whave) & ((1 << HB_BITS) - 1); if (param->hl) param->nt = 0; /* Honor history for the first block */ - param->cv = state->flags ? REVERSE(state->check) : state->check; + param->cv = state->check; /* Inflate */ do { @@ -136,7 +138,7 @@ state->bits = param->sbb; state->whave = param->hl; state->write = (param->ho + param->hl) & ((1 << HB_BITS) - 1); - state->check = state->flags ? REVERSE(param->cv) : param->cv; + state->check = param->cv; if (cc == DFLTCC_CC_OP2_CORRUPT && param->oesc != 0) { /* Report an error if stream is corrupted */ state->mode = BAD; @@ -147,3 +149,4 @@ return (cc == DFLTCC_CC_OP1_TOO_SHORT || cc == DFLTCC_CC_OP2_TOO_SHORT) ? DFLTCC_INFLATE_BREAK : DFLTCC_INFLATE_CONTINUE; } +EXPORT_SYMBOL(dfltcc_inflate); --- linux-riscv-5.8-5.8.0.orig/mm/Kconfig +++ linux-riscv-5.8-5.8.0/mm/Kconfig @@ -710,19 +710,6 @@ returned by an alloc(). This handle must be mapped in order to access the allocated space. -config ZSMALLOC_PGTABLE_MAPPING - bool "Use page table mapping to access object in zsmalloc" - depends on ZSMALLOC=y - help - By default, zsmalloc uses a copy-based object mapping method to - access allocations that span two pages. However, if a particular - architecture (ex, ARM) performs VM mapping faster than copying, - then you should select this. This causes zsmalloc to use page table - mapping rather than copying for object mapping. - - You can check speed with zsmalloc benchmark: - https://github.com/spartacus06/zsmapbench - config ZSMALLOC_STAT bool "Export zsmalloc statistics" depends on ZSMALLOC --- linux-riscv-5.8-5.8.0.orig/mm/Makefile +++ linux-riscv-5.8-5.8.0/mm/Makefile @@ -52,7 +52,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 $(mmu-y) + prfile.o debug.o gup.o $(mmu-y) # Give 'page_alloc' its own module-parameter namespace page-alloc-y := page_alloc.o --- linux-riscv-5.8-5.8.0.orig/mm/cma.c +++ linux-riscv-5.8-5.8.0/mm/cma.c @@ -93,17 +93,15 @@ mutex_unlock(&cma->lock); } -static int __init cma_activate_area(struct cma *cma) +static void __init cma_activate_area(struct cma *cma) { unsigned long base_pfn = cma->base_pfn, pfn = base_pfn; unsigned i = cma->count >> pageblock_order; struct zone *zone; cma->bitmap = bitmap_zalloc(cma_bitmap_maxno(cma), GFP_KERNEL); - if (!cma->bitmap) { - cma->count = 0; - return -ENOMEM; - } + if (!cma->bitmap) + goto out_error; WARN_ON_ONCE(!pfn_valid(pfn)); zone = page_zone(pfn_to_page(pfn)); @@ -133,25 +131,22 @@ spin_lock_init(&cma->mem_head_lock); #endif - return 0; + return; not_in_zone: - pr_err("CMA area %s could not be activated\n", cma->name); bitmap_free(cma->bitmap); +out_error: cma->count = 0; - return -EINVAL; + pr_err("CMA area %s could not be activated\n", cma->name); + return; } static int __init cma_init_reserved_areas(void) { int i; - for (i = 0; i < cma_area_count; i++) { - int ret = cma_activate_area(&cma_areas[i]); - - if (ret) - return ret; - } + for (i = 0; i < cma_area_count; i++) + cma_activate_area(&cma_areas[i]); return 0; } @@ -491,7 +486,7 @@ page_kasan_tag_reset(page + i); } - if (ret && !no_warn) { + if (ret && !no_warn && printk_ratelimit()) { pr_err("%s: alloc failed, req-size: %zu pages, ret: %d\n", __func__, count, ret); cma_debug_show_areas(cma); --- linux-riscv-5.8-5.8.0.orig/mm/compaction.c +++ linux-riscv-5.8-5.8.0/mm/compaction.c @@ -800,6 +800,10 @@ * delay for some time until fewer pages are isolated */ while (unlikely(too_many_isolated(pgdat))) { + /* stop isolation if there are still pages not migrated */ + if (cc->nr_migratepages) + return 0; + /* async migration should just abort */ if (cc->mode == MIGRATE_ASYNC) return 0; @@ -995,8 +999,8 @@ isolate_success: list_add(&page->lru, &cc->migratepages); - cc->nr_migratepages++; - nr_isolated++; + cc->nr_migratepages += compound_nr(page); + nr_isolated += compound_nr(page); /* * Avoid isolating too much unless this block is being @@ -1004,7 +1008,7 @@ * or a lock is contended. For contention, isolate quickly to * potentially remove one source of contention. */ - if (cc->nr_migratepages == COMPACT_CLUSTER_MAX && + if (cc->nr_migratepages >= COMPACT_CLUSTER_MAX && !cc->rescan && !cc->contended) { ++low_pfn; break; @@ -1115,7 +1119,7 @@ if (!pfn) break; - if (cc->nr_migratepages == COMPACT_CLUSTER_MAX) + if (cc->nr_migratepages >= COMPACT_CLUSTER_MAX) break; } @@ -1227,7 +1231,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long nr_isolated) { unsigned long start_pfn, end_pfn; - struct page *page = pfn_to_page(pfn); + struct page *page; /* Do not search around if there are enough pages already */ if (cc->nr_freepages >= cc->nr_migratepages) @@ -1238,8 +1242,12 @@ return; /* Pageblock boundaries */ - start_pfn = pageblock_start_pfn(pfn); - end_pfn = min(pageblock_end_pfn(pfn), zone_end_pfn(cc->zone)) - 1; + start_pfn = max(pageblock_start_pfn(pfn), cc->zone->zone_start_pfn); + end_pfn = min(pageblock_end_pfn(pfn), zone_end_pfn(cc->zone)); + + page = pageblock_pfn_to_page(start_pfn, end_pfn, cc->zone); + if (!page) + return; /* Scan before */ if (start_pfn != pfn) { @@ -1281,7 +1289,7 @@ { unsigned int limit = min(1U, freelist_scan_limit(cc) >> 1); unsigned int nr_scanned = 0; - unsigned long low_pfn, min_pfn, high_pfn = 0, highest = 0; + unsigned long low_pfn, min_pfn, highest = 0; unsigned long nr_isolated = 0; unsigned long distance; struct page *page = NULL; @@ -1326,6 +1334,7 @@ struct page *freepage; unsigned long flags; unsigned int order_scanned = 0; + unsigned long high_pfn = 0; if (!area->nr_free) continue; @@ -1340,7 +1349,8 @@ pfn = page_to_pfn(freepage); if (pfn >= highest) - highest = pageblock_start_pfn(pfn); + highest = max(pageblock_start_pfn(pfn), + cc->zone->zone_start_pfn); if (pfn >= low_pfn) { cc->fast_search_fail = 0; @@ -1410,7 +1420,8 @@ } else { if (cc->direct_compaction && pfn_valid(min_pfn)) { page = pageblock_pfn_to_page(min_pfn, - pageblock_end_pfn(min_pfn), + min(pageblock_end_pfn(min_pfn), + zone_end_pfn(cc->zone)), cc->zone); cc->free_pfn = min_pfn; } @@ -1640,6 +1651,7 @@ unsigned long pfn = cc->migrate_pfn; unsigned long high_pfn; int order; + bool found_block = false; /* Skip hints are relied on to avoid repeats on the fast search */ if (cc->ignore_skip_hint) @@ -1682,7 +1694,7 @@ high_pfn = pageblock_start_pfn(cc->migrate_pfn + distance); for (order = cc->order - 1; - order >= PAGE_ALLOC_COSTLY_ORDER && pfn == cc->migrate_pfn && nr_scanned < limit; + order >= PAGE_ALLOC_COSTLY_ORDER && !found_block && nr_scanned < limit; order--) { struct free_area *area = &cc->zone->free_area[order]; struct list_head *freelist; @@ -1697,7 +1709,11 @@ list_for_each_entry(freepage, freelist, lru) { unsigned long free_pfn; - nr_scanned++; + if (nr_scanned++ >= limit) { + move_freelist_tail(freelist, freepage); + break; + } + free_pfn = page_to_pfn(freepage); if (free_pfn < high_pfn) { /* @@ -1706,12 +1722,8 @@ * the list assumes an entry is deleted, not * reordered. */ - if (get_pageblock_skip(freepage)) { - if (list_is_last(freelist, &freepage->lru)) - break; - + if (get_pageblock_skip(freepage)) continue; - } /* Reorder to so a future search skips recent pages */ move_freelist_tail(freelist, freepage); @@ -1719,15 +1731,10 @@ update_fast_start_pfn(cc, free_pfn); pfn = pageblock_start_pfn(free_pfn); cc->fast_search_fail = 0; + found_block = true; set_pageblock_skip(freepage); break; } - - if (nr_scanned >= limit) { - cc->fast_search_fail++; - move_freelist_tail(freelist, freepage); - break; - } } spin_unlock_irqrestore(&cc->zone->lock, flags); } @@ -1738,9 +1745,10 @@ * If fast scanning failed then use a cached entry for a page block * that had free pages as the basis for starting a linear scan. */ - if (pfn == cc->migrate_pfn) + if (!found_block) { + cc->fast_search_fail++; pfn = reinit_migrate_pfn(cc); - + } return pfn; } --- linux-riscv-5.8-5.8.0.orig/mm/filemap.c +++ linux-riscv-5.8-5.8.0/mm/filemap.c @@ -826,15 +826,16 @@ } EXPORT_SYMBOL_GPL(replace_page_cache_page); -static int __add_to_page_cache_locked(struct page *page, - struct address_space *mapping, - pgoff_t offset, gfp_t gfp_mask, - void **shadowp) +noinline int __add_to_page_cache_locked(struct page *page, + struct address_space *mapping, + pgoff_t offset, gfp_t gfp_mask, + void **shadowp) { XA_STATE(xas, &mapping->i_pages, offset); int huge = PageHuge(page); int error; void *old; + bool charged = false; VM_BUG_ON_PAGE(!PageLocked(page), page); VM_BUG_ON_PAGE(PageSwapBacked(page), page); @@ -848,6 +849,7 @@ error = mem_cgroup_charge(page, current->mm, gfp_mask); if (error) goto error; + charged = true; } do { @@ -875,6 +877,8 @@ if (xas_error(&xas)) { error = xas_error(&xas); + if (charged) + mem_cgroup_uncharge(page); goto error; } @@ -1311,11 +1315,19 @@ rotate_reclaimable_page(page); } + /* + * Writeback does not hold a page reference of its own, relying + * on truncation to wait for the clearing of PG_writeback. + * But here we must make sure that the page is not freed and + * reused before the wake_up_page(). + */ + get_page(page); if (!test_clear_page_writeback(page)) BUG(); smp_mb__after_atomic(); wake_up_page(page, PG_writeback); + put_page(page); } EXPORT_SYMBOL(end_page_writeback); @@ -2676,7 +2688,7 @@ vm_fault_t ret = VM_FAULT_LOCKED; sb_start_pagefault(inode->i_sb); - file_update_time(vmf->vma->vm_file); + vma_file_update_time(vmf->vma); lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); --- linux-riscv-5.8-5.8.0.orig/mm/gup.c +++ linux-riscv-5.8-5.8.0/mm/gup.c @@ -123,6 +123,28 @@ return NULL; } +static void put_compound_head(struct page *page, int refs, unsigned int flags) +{ + if (flags & FOLL_PIN) { + mod_node_page_state(page_pgdat(page), NR_FOLL_PIN_RELEASED, + refs); + + if (hpage_pincount_available(page)) + hpage_pincount_sub(page, refs); + else + refs *= GUP_PIN_COUNTING_BIAS; + } + + VM_BUG_ON_PAGE(page_ref_count(page) < refs, page); + /* + * Calling put_page() for each ref is unnecessarily slow. Only the last + * ref needs a put_page(). + */ + if (refs > 1) + page_ref_sub(page, refs - 1); + put_page(page); +} + /** * try_grab_page() - elevate a page's refcount by a flag-dependent amount * @@ -177,41 +199,6 @@ return true; } -#ifdef CONFIG_DEV_PAGEMAP_OPS -static bool __unpin_devmap_managed_user_page(struct page *page) -{ - int count, refs = 1; - - if (!page_is_devmap_managed(page)) - return false; - - if (hpage_pincount_available(page)) - hpage_pincount_sub(page, 1); - else - refs = GUP_PIN_COUNTING_BIAS; - - count = page_ref_sub_return(page, refs); - - mod_node_page_state(page_pgdat(page), NR_FOLL_PIN_RELEASED, 1); - /* - * devmap page refcounts are 1-based, rather than 0-based: if - * refcount is 1, then the page is free and the refcount is - * stable because nobody holds a reference on the page. - */ - if (count == 1) - free_devmap_managed_page(page); - else if (!count) - __put_page(page); - - return true; -} -#else -static bool __unpin_devmap_managed_user_page(struct page *page) -{ - return false; -} -#endif /* CONFIG_DEV_PAGEMAP_OPS */ - /** * unpin_user_page() - release a dma-pinned page * @page: pointer to page to be released @@ -223,28 +210,7 @@ */ void unpin_user_page(struct page *page) { - int refs = 1; - - page = compound_head(page); - - /* - * For devmap managed pages we need to catch refcount transition from - * GUP_PIN_COUNTING_BIAS to 1, when refcount reach one it means the - * page is free and we need to inform the device driver through - * callback. See include/linux/memremap.h and HMM for details. - */ - if (__unpin_devmap_managed_user_page(page)) - return; - - if (hpage_pincount_available(page)) - hpage_pincount_sub(page, 1); - else - refs = GUP_PIN_COUNTING_BIAS; - - if (page_ref_sub_and_test(page, refs)) - __put_page(page); - - mod_node_page_state(page_pgdat(page), NR_FOLL_PIN_RELEASED, 1); + put_compound_head(compound_head(page), 1, FOLL_PIN); } EXPORT_SYMBOL(unpin_user_page); @@ -843,7 +809,7 @@ goto unmap; *page = pte_page(*pte); } - if (unlikely(!try_get_page(*page))) { + if (unlikely(!try_grab_page(*page, gup_flags))) { ret = -ENOMEM; goto unmap; } @@ -1715,8 +1681,11 @@ /* * drop the above get_user_pages reference. */ - for (i = 0; i < nr_pages; i++) - put_page(pages[i]); + if (gup_flags & FOLL_PIN) + unpin_user_pages(pages, nr_pages); + else + for (i = 0; i < nr_pages; i++) + put_page(pages[i]); if (migrate_pages(&cma_page_list, new_non_cma_page, NULL, 0, MIGRATE_SYNC, MR_CONTIG_RANGE)) { @@ -1799,8 +1768,11 @@ goto out; if (check_dax_vmas(vmas_tmp, rc)) { - for (i = 0; i < rc; i++) - put_page(pages[i]); + if (gup_flags & FOLL_PIN) + unpin_user_pages(pages, rc); + else + for (i = 0; i < rc; i++) + put_page(pages[i]); rc = -EOPNOTSUPP; goto out; } @@ -2121,29 +2093,6 @@ * This code is based heavily on the PowerPC implementation by Nick Piggin. */ #ifdef CONFIG_HAVE_FAST_GUP - -static void put_compound_head(struct page *page, int refs, unsigned int flags) -{ - if (flags & FOLL_PIN) { - mod_node_page_state(page_pgdat(page), NR_FOLL_PIN_RELEASED, - refs); - - if (hpage_pincount_available(page)) - hpage_pincount_sub(page, refs); - else - refs *= GUP_PIN_COUNTING_BIAS; - } - - VM_BUG_ON_PAGE(page_ref_count(page) < refs, page); - /* - * Calling put_page() for each ref is unnecessarily slow. Only the last - * ref needs a put_page(). - */ - if (refs > 1) - page_ref_sub(page, refs - 1); - put_page(page); -} - #ifdef CONFIG_GUP_GET_PTE_LOW_HIGH /* @@ -2574,13 +2523,13 @@ return 1; } -static int gup_pmd_range(pud_t pud, unsigned long addr, unsigned long end, +static int gup_pmd_range(pud_t *pudp, pud_t pud, unsigned long addr, unsigned long end, unsigned int flags, struct page **pages, int *nr) { unsigned long next; pmd_t *pmdp; - pmdp = pmd_offset(&pud, addr); + pmdp = pmd_offset_lockless(pudp, pud, addr); do { pmd_t pmd = READ_ONCE(*pmdp); @@ -2617,13 +2566,13 @@ return 1; } -static int gup_pud_range(p4d_t p4d, unsigned long addr, unsigned long end, +static int gup_pud_range(p4d_t *p4dp, p4d_t p4d, unsigned long addr, unsigned long end, unsigned int flags, struct page **pages, int *nr) { unsigned long next; pud_t *pudp; - pudp = pud_offset(&p4d, addr); + pudp = pud_offset_lockless(p4dp, p4d, addr); do { pud_t pud = READ_ONCE(*pudp); @@ -2638,20 +2587,20 @@ if (!gup_huge_pd(__hugepd(pud_val(pud)), addr, PUD_SHIFT, next, flags, pages, nr)) return 0; - } else if (!gup_pmd_range(pud, addr, next, flags, pages, nr)) + } else if (!gup_pmd_range(pudp, pud, addr, next, flags, pages, nr)) return 0; } while (pudp++, addr = next, addr != end); return 1; } -static int gup_p4d_range(pgd_t pgd, unsigned long addr, unsigned long end, +static int gup_p4d_range(pgd_t *pgdp, pgd_t pgd, unsigned long addr, unsigned long end, unsigned int flags, struct page **pages, int *nr) { unsigned long next; p4d_t *p4dp; - p4dp = p4d_offset(&pgd, addr); + p4dp = p4d_offset_lockless(pgdp, pgd, addr); do { p4d_t p4d = READ_ONCE(*p4dp); @@ -2663,7 +2612,7 @@ if (!gup_huge_pd(__hugepd(p4d_val(p4d)), addr, P4D_SHIFT, next, flags, pages, nr)) return 0; - } else if (!gup_pud_range(p4d, addr, next, flags, pages, nr)) + } else if (!gup_pud_range(p4dp, p4d, addr, next, flags, pages, nr)) return 0; } while (p4dp++, addr = next, addr != end); @@ -2691,7 +2640,7 @@ if (!gup_huge_pd(__hugepd(pgd_val(pgd)), addr, PGDIR_SHIFT, next, flags, pages, nr)) return; - } else if (!gup_p4d_range(pgd, addr, next, flags, pages, nr)) + } else if (!gup_p4d_range(pgdp, pgd, addr, next, flags, pages, nr)) return; } while (pgdp++, addr = next, addr != end); } --- linux-riscv-5.8-5.8.0.orig/mm/huge_memory.c +++ linux-riscv-5.8-5.8.0/mm/huge_memory.c @@ -731,7 +731,6 @@ transparent_hugepage_use_zero_page()) { pgtable_t pgtable; struct page *zero_page; - bool set; vm_fault_t ret; pgtable = pte_alloc_one(vma->vm_mm); if (unlikely(!pgtable)) @@ -744,25 +743,25 @@ } vmf->ptl = pmd_lock(vma->vm_mm, vmf->pmd); ret = 0; - set = false; if (pmd_none(*vmf->pmd)) { ret = check_stable_address_space(vma->vm_mm); if (ret) { spin_unlock(vmf->ptl); + pte_free(vma->vm_mm, pgtable); } else if (userfaultfd_missing(vma)) { spin_unlock(vmf->ptl); + pte_free(vma->vm_mm, pgtable); ret = handle_userfault(vmf, VM_UFFD_MISSING); VM_BUG_ON(ret & VM_FAULT_FALLBACK); } else { set_huge_zero_page(pgtable, vma->vm_mm, vma, haddr, vmf->pmd, zero_page); spin_unlock(vmf->ptl); - set = true; } - } else + } else { spin_unlock(vmf->ptl); - if (!set) pte_free(vma->vm_mm, pgtable); + } return ret; } gfp = alloc_hugepage_direct_gfpmask(vma); @@ -2048,7 +2047,7 @@ put_page(page); add_mm_counter(mm, mm_counter_file(page), -HPAGE_PMD_NR); return; - } else if (is_huge_zero_pmd(*pmd)) { + } else if (pmd_trans_huge(*pmd) && is_huge_zero_pmd(*pmd)) { /* * FIXME: Do we want to invalidate secondary mmu by calling * mmu_notifier_invalidate_range() see comments below inside @@ -2142,30 +2141,34 @@ pte = pte_offset_map(&_pmd, addr); BUG_ON(!pte_none(*pte)); set_pte_at(mm, addr, pte, entry); - atomic_inc(&page[i]._mapcount); - pte_unmap(pte); - } - - /* - * Set PG_double_map before dropping compound_mapcount to avoid - * false-negative page_mapped(). - */ - if (compound_mapcount(page) > 1 && !TestSetPageDoubleMap(page)) { - for (i = 0; i < HPAGE_PMD_NR; i++) + if (!pmd_migration) atomic_inc(&page[i]._mapcount); + pte_unmap(pte); } - lock_page_memcg(page); - if (atomic_add_negative(-1, compound_mapcount_ptr(page))) { - /* Last compound_mapcount is gone. */ - __dec_lruvec_page_state(page, NR_ANON_THPS); - if (TestClearPageDoubleMap(page)) { - /* No need in mapcount reference anymore */ + if (!pmd_migration) { + /* + * Set PG_double_map before dropping compound_mapcount to avoid + * false-negative page_mapped(). + */ + if (compound_mapcount(page) > 1 && + !TestSetPageDoubleMap(page)) { for (i = 0; i < HPAGE_PMD_NR; i++) - atomic_dec(&page[i]._mapcount); + atomic_inc(&page[i]._mapcount); + } + + lock_page_memcg(page); + if (atomic_add_negative(-1, compound_mapcount_ptr(page))) { + /* Last compound_mapcount is gone. */ + __dec_lruvec_page_state(page, NR_ANON_THPS); + if (TestClearPageDoubleMap(page)) { + /* No need in mapcount reference anymore */ + for (i = 0; i < HPAGE_PMD_NR; i++) + atomic_dec(&page[i]._mapcount); + } } + unlock_page_memcg(page); } - unlock_page_memcg(page); smp_wmb(); /* make pte visible before pmd */ pmd_populate(mm, pmd, pgtable); @@ -2183,7 +2186,7 @@ { spinlock_t *ptl; struct mmu_notifier_range range; - bool was_locked = false; + bool do_unlock_page = false; pmd_t _pmd; mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, vma, vma->vm_mm, @@ -2199,7 +2202,6 @@ VM_BUG_ON(freeze && !page); if (page) { VM_WARN_ON_ONCE(!PageLocked(page)); - was_locked = true; if (page != pmd_page(*pmd)) goto out; } @@ -2208,19 +2210,29 @@ if (pmd_trans_huge(*pmd)) { if (!page) { page = pmd_page(*pmd); - if (unlikely(!trylock_page(page))) { - get_page(page); - _pmd = *pmd; - spin_unlock(ptl); - lock_page(page); - spin_lock(ptl); - if (unlikely(!pmd_same(*pmd, _pmd))) { - unlock_page(page); + /* + * An anonymous page must be locked, to ensure that a + * concurrent reuse_swap_page() sees stable mapcount; + * but reuse_swap_page() is not used on shmem or file, + * and page lock must not be taken when zap_pmd_range() + * calls __split_huge_pmd() while i_mmap_lock is held. + */ + if (PageAnon(page)) { + if (unlikely(!trylock_page(page))) { + get_page(page); + _pmd = *pmd; + spin_unlock(ptl); + lock_page(page); + spin_lock(ptl); + if (unlikely(!pmd_same(*pmd, _pmd))) { + unlock_page(page); + put_page(page); + page = NULL; + goto repeat; + } put_page(page); - page = NULL; - goto repeat; } - put_page(page); + do_unlock_page = true; } } if (PageMlocked(page)) @@ -2230,7 +2242,7 @@ __split_huge_pmd_locked(vma, pmd, range.start, freeze); out: spin_unlock(ptl); - if (!was_locked && page) + if (do_unlock_page) unlock_page(page); /* * No need to double call mmu_notifier->invalidate_range() callback. @@ -2316,7 +2328,7 @@ static void unmap_page(struct page *page) { - enum ttu_flags ttu_flags = TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS | + enum ttu_flags ttu_flags = TTU_IGNORE_MLOCK | TTU_RMAP_LOCKED | TTU_SPLIT_HUGE_PMD; bool unmap_success; @@ -2445,7 +2457,7 @@ ClearPageCompound(head); - split_page_owner(head, HPAGE_PMD_ORDER); + split_page_owner(head, HPAGE_PMD_NR); /* See comment in __split_huge_page_tail() */ if (PageAnon(head)) { --- linux-riscv-5.8-5.8.0.orig/mm/hugetlb.c +++ linux-riscv-5.8-5.8.0/mm/hugetlb.c @@ -77,6 +77,21 @@ static int num_fault_mutexes; struct mutex *hugetlb_fault_mutex_table ____cacheline_aligned_in_smp; +static inline bool PageHugeFreed(struct page *head) +{ + return page_private(head + 4) == -1UL; +} + +static inline void SetPageHugeFreed(struct page *head) +{ + set_page_private(head + 4, -1UL); +} + +static inline void ClearPageHugeFreed(struct page *head) +{ + set_page_private(head + 4, 0); +} + /* Forward declaration */ static int hugetlb_acct_memory(struct hstate *h, long delta); @@ -269,6 +284,17 @@ nrg->reservation_counter = &h_cg->rsvd_hugepage[hstate_index(h)]; nrg->css = &h_cg->css; + /* + * The caller will hold exactly one h_cg->css reference for the + * whole contiguous reservation region. But this area might be + * scattered when there are already some file_regions reside in + * it. As a result, many file_regions may share only one css + * reference. In order to ensure that one file_region must hold + * exactly one h_cg->css reference, we should do css_get for + * each file_region and leave the reference held by caller + * untouched. + */ + css_get(&h_cg->css); if (!resv->pages_per_hpage) resv->pages_per_hpage = pages_per_huge_page(h); /* pages_per_hpage should be the same for all entries in @@ -282,6 +308,14 @@ #endif } +static void put_uncharge_info(struct file_region *rg) +{ +#ifdef CONFIG_CGROUP_HUGETLB + if (rg->css) + css_put(rg->css); +#endif +} + static bool has_same_uncharge_info(struct file_region *rg, struct file_region *org) { @@ -305,6 +339,7 @@ prg->to = rg->to; list_del(&rg->link); + put_uncharge_info(rg); kfree(rg); coalesce_file_region(resv, prg); @@ -317,6 +352,7 @@ nrg->from = rg->from; list_del(&rg->link); + put_uncharge_info(rg); kfree(rg); coalesce_file_region(resv, nrg); @@ -653,6 +689,8 @@ } del += t - f; + hugetlb_cgroup_uncharge_file_region( + resv, rg, t - f, false); /* New entry for end of split region */ nrg->from = t; @@ -665,9 +703,6 @@ /* Original entry is trimmed */ rg->to = f; - hugetlb_cgroup_uncharge_file_region( - resv, rg, nrg->to - nrg->from); - list_add(&nrg->link, &rg->link); nrg = NULL; break; @@ -676,24 +711,24 @@ if (f <= rg->from && t >= rg->to) { /* Remove entire region */ del += rg->to - rg->from; hugetlb_cgroup_uncharge_file_region(resv, rg, - rg->to - rg->from); + rg->to - rg->from, true); list_del(&rg->link); kfree(rg); continue; } if (f <= rg->from) { /* Trim beginning of region */ + hugetlb_cgroup_uncharge_file_region(resv, rg, + t - rg->from, false); + del += t - rg->from; rg->from = t; - - hugetlb_cgroup_uncharge_file_region(resv, rg, - t - rg->from); } else { /* Trim end of region */ + hugetlb_cgroup_uncharge_file_region(resv, rg, + rg->to - f, false); + del += rg->to - f; rg->to = f; - - hugetlb_cgroup_uncharge_file_region(resv, rg, - rg->to - f); } } @@ -1034,6 +1069,7 @@ list_move(&page->lru, &h->hugepage_freelists[nid]); h->free_huge_pages++; h->free_huge_pages_node[nid]++; + SetPageHugeFreed(page); } static struct page *dequeue_huge_page_node_exact(struct hstate *h, int nid) @@ -1051,6 +1087,7 @@ return NULL; list_move(&page->lru, &h->hugepage_activelist); set_page_refcounted(page); + ClearPageHugeFreed(page); h->free_huge_pages--; h->free_huge_pages_node[nid]--; return page; @@ -1251,21 +1288,32 @@ int nid, nodemask_t *nodemask) { unsigned long nr_pages = 1UL << huge_page_order(h); + if (nid == NUMA_NO_NODE) + nid = numa_mem_id(); #ifdef CONFIG_CMA { struct page *page; int node; - for_each_node_mask(node, *nodemask) { - if (!hugetlb_cma[node]) - continue; - - page = cma_alloc(hugetlb_cma[node], nr_pages, - huge_page_order(h), true); + if (hugetlb_cma[nid]) { + page = cma_alloc(hugetlb_cma[nid], nr_pages, + huge_page_order(h), true); if (page) return page; } + + if (!(gfp_mask & __GFP_THISNODE)) { + for_each_node_mask(node, *nodemask) { + if (node == nid || !hugetlb_cma[node]) + continue; + + page = cma_alloc(hugetlb_cma[node], nr_pages, + huge_page_order(h), true); + if (page) + return page; + } + } } #endif @@ -1296,14 +1344,16 @@ static void update_and_free_page(struct hstate *h, struct page *page) { int i; + struct page *subpage = page; if (hstate_is_gigantic(h) && !gigantic_page_runtime_supported()) return; h->nr_huge_pages--; h->nr_huge_pages_node[page_to_nid(page)]--; - for (i = 0; i < pages_per_huge_page(h); i++) { - page[i].flags &= ~(1 << PG_locked | 1 << PG_error | + for (i = 0; i < pages_per_huge_page(h); + i++, subpage = mem_map_next(subpage, page, i)) { + subpage->flags &= ~(1 << PG_locked | 1 << PG_error | 1 << PG_referenced | 1 << PG_dirty | 1 << PG_active | 1 << PG_private | 1 << PG_writeback); @@ -1345,12 +1395,11 @@ */ bool page_huge_active(struct page *page) { - VM_BUG_ON_PAGE(!PageHuge(page), page); - return PageHead(page) && PagePrivate(&page[1]); + return PageHeadHuge(page) && PagePrivate(&page[1]); } /* never called for tail page */ -static void set_page_huge_active(struct page *page) +void set_page_huge_active(struct page *page) { VM_BUG_ON_PAGE(!PageHeadHuge(page), page); SetPagePrivate(&page[1]); @@ -1506,6 +1555,7 @@ set_hugetlb_cgroup_rsvd(page, NULL); h->nr_huge_pages++; h->nr_huge_pages_node[nid]++; + ClearPageHugeFreed(page); spin_unlock(&hugetlb_lock); } @@ -1570,103 +1620,23 @@ } /* - * Find address_space associated with hugetlbfs page. - * Upon entry page is locked and page 'was' mapped although mapped state - * could change. If necessary, use anon_vma to find vma and associated - * address space. The returned mapping may be stale, but it can not be - * invalid as page lock (which is held) is required to destroy mapping. - */ -static struct address_space *_get_hugetlb_page_mapping(struct page *hpage) -{ - struct anon_vma *anon_vma; - pgoff_t pgoff_start, pgoff_end; - struct anon_vma_chain *avc; - struct address_space *mapping = page_mapping(hpage); - - /* Simple file based mapping */ - if (mapping) - return mapping; - - /* - * Even anonymous hugetlbfs mappings are associated with an - * underlying hugetlbfs file (see hugetlb_file_setup in mmap - * code). Find a vma associated with the anonymous vma, and - * use the file pointer to get address_space. - */ - anon_vma = page_lock_anon_vma_read(hpage); - if (!anon_vma) - return mapping; /* NULL */ - - /* Use first found vma */ - pgoff_start = page_to_pgoff(hpage); - pgoff_end = pgoff_start + pages_per_huge_page(page_hstate(hpage)) - 1; - anon_vma_interval_tree_foreach(avc, &anon_vma->rb_root, - pgoff_start, pgoff_end) { - struct vm_area_struct *vma = avc->vma; - - mapping = vma->vm_file->f_mapping; - break; - } - - anon_vma_unlock_read(anon_vma); - return mapping; -} - -/* * Find and lock address space (mapping) in write mode. * - * Upon entry, the page is locked which allows us to find the mapping - * even in the case of an anon page. However, locking order dictates - * the i_mmap_rwsem be acquired BEFORE the page lock. This is hugetlbfs - * specific. So, we first try to lock the sema while still holding the - * page lock. If this works, great! If not, then we need to drop the - * page lock and then acquire i_mmap_rwsem and reacquire page lock. Of - * course, need to revalidate state along the way. + * Upon entry, the page is locked which means that page_mapping() is + * stable. Due to locking order, we can only trylock_write. If we can + * not get the lock, simply return NULL to caller. */ struct address_space *hugetlb_page_mapping_lock_write(struct page *hpage) { - struct address_space *mapping, *mapping2; + struct address_space *mapping = page_mapping(hpage); - mapping = _get_hugetlb_page_mapping(hpage); -retry: if (!mapping) return mapping; - /* - * If no contention, take lock and return - */ if (i_mmap_trylock_write(mapping)) return mapping; - /* - * Must drop page lock and wait on mapping sema. - * Note: Once page lock is dropped, mapping could become invalid. - * As a hack, increase map count until we lock page again. - */ - atomic_inc(&hpage->_mapcount); - unlock_page(hpage); - i_mmap_lock_write(mapping); - lock_page(hpage); - atomic_add_negative(-1, &hpage->_mapcount); - - /* verify page is still mapped */ - if (!page_mapped(hpage)) { - i_mmap_unlock_write(mapping); - return NULL; - } - - /* - * Get address space again and verify it is the same one - * we locked. If not, drop lock and retry. - */ - mapping2 = _get_hugetlb_page_mapping(hpage); - if (mapping2 != mapping) { - i_mmap_unlock_write(mapping); - mapping = mapping2; - goto retry; - } - - return mapping; + return NULL; } pgoff_t __basepage_index(struct page *page) @@ -1836,6 +1806,7 @@ { int rc = -EBUSY; +retry: /* Not to disrupt normal path by vainly holding hugetlb_lock */ if (!PageHuge(page)) return 0; @@ -1852,6 +1823,26 @@ int nid = page_to_nid(head); if (h->free_huge_pages - h->resv_huge_pages == 0) goto out; + + /* + * We should make sure that the page is already on the free list + * when it is dissolved. + */ + if (unlikely(!PageHugeFreed(head))) { + spin_unlock(&hugetlb_lock); + cond_resched(); + + /* + * Theoretically, we should return -EBUSY when we + * encounter this race. In fact, we have a chance + * to successfully dissolve the page if we do a + * retry. Because the race window is quite small. + * If we seize this opportunity, it is an optimization + * for increasing the success rate of dissolving page. + */ + goto retry; + } + /* * Move PageHWPoison flag from head page to the raw error page, * which makes any subpages rather than the error page reusable. @@ -2466,6 +2457,9 @@ rsv_adjust = hugepage_subpool_put_pages(spool, 1); hugetlb_acct_memory(h, -rsv_adjust); + if (deferred_reserve) + hugetlb_cgroup_uncharge_page_rsvd(hstate_index(h), + pages_per_huge_page(h), page); } return page; @@ -2579,7 +2573,7 @@ if (hstate_is_gigantic(h)) { if (hugetlb_cma_size) { pr_warn_once("HugeTLB: hugetlb_cma is enabled, skip boot time allocation\n"); - break; + goto free; } if (!alloc_bootmem_huge_page(h)) break; @@ -2597,7 +2591,7 @@ h->max_huge_pages, buf, i); h->max_huge_pages = i; } - +free: kfree(node_alloc_noretry); } @@ -3046,8 +3040,10 @@ return -ENOMEM; retval = sysfs_create_group(hstate_kobjs[hi], hstate_attr_group); - if (retval) + if (retval) { kobject_put(hstate_kobjs[hi]); + hstate_kobjs[hi] = NULL; + } return retval; } @@ -3469,6 +3465,22 @@ } #ifdef CONFIG_SYSCTL +static int proc_hugetlb_doulongvec_minmax(struct ctl_table *table, int write, + void *buffer, size_t *length, + loff_t *ppos, unsigned long *out) +{ + struct ctl_table dup_table; + + /* + * In order to avoid races with __do_proc_doulongvec_minmax(), we + * can duplicate the @table and alter the duplicate of it. + */ + dup_table = *table; + dup_table.data = out; + + return proc_doulongvec_minmax(&dup_table, write, buffer, length, ppos); +} + static int hugetlb_sysctl_handler_common(bool obey_mempolicy, struct ctl_table *table, int write, void *buffer, size_t *length, loff_t *ppos) @@ -3480,9 +3492,8 @@ if (!hugepages_supported()) return -EOPNOTSUPP; - table->data = &tmp; - table->maxlen = sizeof(unsigned long); - ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); + ret = proc_hugetlb_doulongvec_minmax(table, write, buffer, length, ppos, + &tmp); if (ret) goto out; @@ -3525,9 +3536,8 @@ if (write && hstate_is_gigantic(h)) return -EINVAL; - table->data = &tmp; - table->maxlen = sizeof(unsigned long); - ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); + ret = proc_hugetlb_doulongvec_minmax(table, write, buffer, length, ppos, + &tmp); if (ret) goto out; @@ -3952,7 +3962,7 @@ continue; ptl = huge_pte_lock(h, mm, ptep); - if (huge_pmd_unshare(mm, &address, ptep)) { + if (huge_pmd_unshare(mm, vma, &address, ptep)) { spin_unlock(ptl); /* * We just unmapped a page of PMDs by clearing a PUD. @@ -4176,10 +4186,30 @@ * may get SIGKILLed if it later faults. */ if (outside_reserve) { + struct address_space *mapping = vma->vm_file->f_mapping; + pgoff_t idx; + u32 hash; + put_page(old_page); BUG_ON(huge_pte_none(pte)); + /* + * Drop hugetlb_fault_mutex and i_mmap_rwsem before + * unmapping. unmapping needs to hold i_mmap_rwsem + * in write mode. Dropping i_mmap_rwsem in read mode + * here is OK as COW mappings do not interact with + * PMD sharing. + * + * Reacquire both after unmap operation. + */ + idx = vma_hugecache_offset(h, vma, haddr); + hash = hugetlb_fault_mutex_hash(mapping, idx); + mutex_unlock(&hugetlb_fault_mutex_table[hash]); + i_mmap_unlock_read(mapping); + unmap_ref_private(mm, vma, old_page, haddr); - BUG_ON(huge_pte_none(pte)); + + i_mmap_lock_read(mapping); + mutex_lock(&hugetlb_fault_mutex_table[hash]); spin_lock(ptl); ptep = huge_pte_offset(mm, haddr, huge_page_size(h)); if (likely(ptep && @@ -4422,7 +4452,7 @@ * So we need to block hugepage fault by PG_hwpoison bit check. */ if (unlikely(PageHWPoison(page))) { - ret = VM_FAULT_HWPOISON | + ret = VM_FAULT_HWPOISON_LARGE | VM_FAULT_SET_HINDEX(hstate_index(h)); goto backout_unlocked; } @@ -4539,10 +4569,6 @@ } else if (unlikely(is_hugetlb_entry_hwpoisoned(entry))) return VM_FAULT_HWPOISON_LARGE | VM_FAULT_SET_HINDEX(hstate_index(h)); - } else { - ptep = huge_pte_alloc(mm, haddr, huge_page_size(h)); - if (!ptep) - return VM_FAULT_OOM; } /* @@ -5019,7 +5045,7 @@ if (!ptep) continue; ptl = huge_pte_lock(h, mm, ptep); - if (huge_pmd_unshare(mm, &address, ptep)) { + if (huge_pmd_unshare(mm, vma, &address, ptep)) { pages++; spin_unlock(ptl); shared_pmd = true; @@ -5189,6 +5215,7 @@ if (unlikely(add < 0)) { hugetlb_acct_memory(h, -gbl_reserve); + ret = add; goto out_put_pages; } else if (unlikely(chg > add)) { /* @@ -5200,6 +5227,10 @@ */ long rsv_adjust; + /* + * hugetlb_cgroup_uncharge_cgroup_rsvd() will put the + * reference to h_cg->css. See comment below for detail. + */ hugetlb_cgroup_uncharge_cgroup_rsvd( hstate_index(h), (chg - add) * pages_per_huge_page(h), h_cg); @@ -5207,6 +5238,14 @@ rsv_adjust = hugepage_subpool_put_pages(spool, chg - add); hugetlb_acct_memory(h, -rsv_adjust); + } else if (h_cg) { + /* + * The file_regions will hold their own reference to + * h_cg->css. So we should release the reference held + * via hugetlb_cgroup_charge_cgroup_rsvd() when we are + * done. + */ + hugetlb_cgroup_put_rsvd_cgroup(h_cg); } } return 0; @@ -5313,25 +5352,23 @@ void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma, unsigned long *start, unsigned long *end) { - unsigned long check_addr; + unsigned long v_start = ALIGN(vma->vm_start, PUD_SIZE), + v_end = ALIGN_DOWN(vma->vm_end, PUD_SIZE); - if (!(vma->vm_flags & VM_MAYSHARE)) + /* + * vma need span at least one aligned PUD size and the start,end range + * must at least partialy within it. + */ + if (!(vma->vm_flags & VM_MAYSHARE) || !(v_end > v_start) || + (*end <= v_start) || (*start >= v_end)) return; - for (check_addr = *start; check_addr < *end; check_addr += PUD_SIZE) { - unsigned long a_start = check_addr & PUD_MASK; - unsigned long a_end = a_start + PUD_SIZE; + /* Extend the range to be PUD aligned for a worst case scenario */ + if (*start > v_start) + *start = ALIGN_DOWN(*start, PUD_SIZE); - /* - * If sharing is possible, adjust start/end if necessary. - */ - if (range_in_vma(vma, a_start, a_end)) { - if (a_start < *start) - *start = a_start; - if (a_end > *end) - *end = a_end; - } - } + if (*end < v_end) + *end = ALIGN(*end, PUD_SIZE); } /* @@ -5404,12 +5441,14 @@ * returns: 1 successfully unmapped a shared pte page * 0 the underlying pte page is not shared, or it is the last user */ -int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep) +int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, + unsigned long *addr, pte_t *ptep) { pgd_t *pgd = pgd_offset(mm, *addr); p4d_t *p4d = p4d_offset(pgd, *addr); pud_t *pud = pud_offset(p4d, *addr); + i_mmap_assert_write_locked(vma->vm_file->f_mapping); BUG_ON(page_count(virt_to_page(ptep)) == 0); if (page_count(virt_to_page(ptep)) == 1) return 0; @@ -5427,7 +5466,8 @@ return NULL; } -int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep) +int huge_pmd_unshare(struct mm_struct *mm, struct vm_area_struct *vma, + unsigned long *addr, pte_t *ptep) { return 0; } @@ -5603,9 +5643,9 @@ { bool ret = true; - VM_BUG_ON_PAGE(!PageHead(page), page); spin_lock(&hugetlb_lock); - if (!page_huge_active(page) || !get_page_unless_zero(page)) { + if (!PageHeadHuge(page) || !page_huge_active(page) || + !get_page_unless_zero(page)) { ret = false; goto unlock; } --- linux-riscv-5.8-5.8.0.orig/mm/hugetlb_cgroup.c +++ linux-riscv-5.8-5.8.0/mm/hugetlb_cgroup.c @@ -82,11 +82,8 @@ for (idx = 0; idx < hugetlb_max_hstate; idx++) { if (page_counter_read( - hugetlb_cgroup_counter_from_cgroup(h_cg, idx)) || - page_counter_read(hugetlb_cgroup_counter_from_cgroup_rsvd( - h_cg, idx))) { + hugetlb_cgroup_counter_from_cgroup(h_cg, idx))) return true; - } } return false; } @@ -202,9 +199,10 @@ struct hugetlb_cgroup *h_cg = hugetlb_cgroup_from_css(css); struct hstate *h; struct page *page; - int idx = 0; + int idx; do { + idx = 0; for_each_hstate(h) { spin_lock(&hugetlb_lock); list_for_each_entry(page, &h->hugepage_activelist, lru) @@ -393,7 +391,8 @@ void hugetlb_cgroup_uncharge_file_region(struct resv_map *resv, struct file_region *rg, - unsigned long nr_pages) + unsigned long nr_pages, + bool region_del) { if (hugetlb_cgroup_disabled() || !resv || !rg || !nr_pages) return; @@ -402,7 +401,12 @@ !resv->reservation_counter) { page_counter_uncharge(rg->reservation_counter, nr_pages * resv->pages_per_hpage); - css_put(rg->css); + /* + * Only do css_put(rg->css) when we delete the entire region + * because one file_region must hold exactly one css reference. + */ + if (region_del) + css_put(rg->css); } } --- linux-riscv-5.8-5.8.0.orig/mm/internal.h +++ linux-riscv-5.8-5.8.0/mm/internal.h @@ -395,7 +395,7 @@ unsigned long start, end; start = __vma_address(page, vma); - end = start + PAGE_SIZE * (hpage_nr_pages(page) - 1); + end = start + thp_size(page) - PAGE_SIZE; /* page should be within @vma mapping range */ VM_BUG_ON_VMA(end < vma->vm_start || start >= vma->vm_end, vma); --- linux-riscv-5.8-5.8.0.orig/mm/kasan/init.c +++ linux-riscv-5.8-5.8.0/mm/kasan/init.c @@ -377,9 +377,10 @@ if (kasan_pte_table(*pmd)) { if (IS_ALIGNED(addr, PMD_SIZE) && - IS_ALIGNED(next, PMD_SIZE)) + IS_ALIGNED(next, PMD_SIZE)) { pmd_clear(pmd); - continue; + continue; + } } pte = pte_offset_kernel(pmd, addr); kasan_remove_pte_table(pte, addr, next); @@ -402,9 +403,10 @@ if (kasan_pmd_table(*pud)) { if (IS_ALIGNED(addr, PUD_SIZE) && - IS_ALIGNED(next, PUD_SIZE)) + IS_ALIGNED(next, PUD_SIZE)) { pud_clear(pud); - continue; + continue; + } } pmd = pmd_offset(pud, addr); pmd_base = pmd_offset(pud, 0); @@ -428,9 +430,10 @@ if (kasan_pud_table(*p4d)) { if (IS_ALIGNED(addr, P4D_SIZE) && - IS_ALIGNED(next, P4D_SIZE)) + IS_ALIGNED(next, P4D_SIZE)) { p4d_clear(p4d); - continue; + continue; + } } pud = pud_offset(p4d, addr); kasan_remove_pud_table(pud, addr, next); @@ -462,9 +465,10 @@ if (kasan_p4d_table(*pgd)) { if (IS_ALIGNED(addr, PGDIR_SIZE) && - IS_ALIGNED(next, PGDIR_SIZE)) + IS_ALIGNED(next, PGDIR_SIZE)) { pgd_clear(pgd); - continue; + continue; + } } p4d = p4d_offset(pgd, addr); @@ -488,7 +492,6 @@ ret = kasan_populate_early_shadow(shadow_start, shadow_end); if (ret) - kasan_remove_zero_shadow(shadow_start, - size >> KASAN_SHADOW_SCALE_SHIFT); + kasan_remove_zero_shadow(start, size); return ret; } --- linux-riscv-5.8-5.8.0.orig/mm/khugepaged.c +++ linux-riscv-5.8-5.8.0/mm/khugepaged.c @@ -56,6 +56,9 @@ #define CREATE_TRACE_POINTS #include +static struct task_struct *khugepaged_thread __read_mostly; +static DEFINE_MUTEX(khugepaged_mutex); + /* default scan 8*512 pte (or vmas) every 30 second */ static unsigned int khugepaged_pages_to_scan __read_mostly; static unsigned int khugepaged_pages_collapsed; @@ -431,24 +434,34 @@ static inline int khugepaged_test_exit(struct mm_struct *mm) { - return atomic_read(&mm->mm_users) == 0; + return atomic_read(&mm->mm_users) == 0 || !mmget_still_valid(mm); } static bool hugepage_vma_check(struct vm_area_struct *vma, unsigned long vm_flags) { - if ((!(vm_flags & VM_HUGEPAGE) && !khugepaged_always()) || - (vm_flags & VM_NOHUGEPAGE) || + /* Explicitly disabled through madvise. */ + if ((vm_flags & VM_NOHUGEPAGE) || test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags)) return false; - if (shmem_file(vma->vm_file) || - (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && - vma->vm_file && - (vm_flags & VM_DENYWRITE))) { + /* Enabled via shmem mount options or sysfs settings. */ + if (shmem_file(vma->vm_file) && shmem_huge_enabled(vma)) { + return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, + HPAGE_PMD_NR); + } + + /* THP settings require madvise. */ + if (!(vm_flags & VM_HUGEPAGE) && !khugepaged_always()) + return false; + + /* Read-only file mappings need to be aligned for THP to work. */ + if (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && vma->vm_file && + (vm_flags & VM_DENYWRITE)) { return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff, HPAGE_PMD_NR); } + if (!vma->anon_vma || vma->vm_ops) return false; if (vma_is_temporary_stack(vma)) @@ -466,7 +479,7 @@ return -ENOMEM; /* __khugepaged_exit() must not run from under us */ - VM_BUG_ON_MM(khugepaged_test_exit(mm), mm); + VM_BUG_ON_MM(atomic_read(&mm->mm_users) == 0, mm); if (unlikely(test_and_set_bit(MMF_VM_HUGEPAGE, &mm->flags))) { free_mm_slot(mm_slot); return 0; @@ -914,6 +927,18 @@ static bool khugepaged_prealloc_page(struct page **hpage, bool *wait) { + /* + * If the hpage allocated earlier was briefly exposed in page cache + * before collapse_file() failed, it is possible that racing lookups + * have not yet completed, and would then be unpleasantly surprised by + * finding the hpage reused for the same mapping at a different offset. + * Just release the previous allocation if there is any danger of that. + */ + if (*hpage && page_count(*hpage) > 1) { + put_page(*hpage); + *hpage = NULL; + } + if (!*hpage) *hpage = khugepaged_alloc_hugepage(wait); @@ -1100,9 +1125,6 @@ * handled by the anon_vma lock + PG_lock. */ mmap_write_lock(mm); - result = SCAN_ANY_PROCESS; - if (!mmget_still_valid(mm)) - goto out; result = hugepage_vma_revalidate(mm, address, &vma); if (result) goto out; @@ -1412,7 +1434,7 @@ { unsigned long haddr = addr & HPAGE_PMD_MASK; struct vm_area_struct *vma = find_vma(mm, haddr); - struct page *hpage = NULL; + struct page *hpage; pte_t *start_pte, *pte; pmd_t *pmd, _pmd; spinlock_t *ptl; @@ -1432,9 +1454,17 @@ if (!hugepage_vma_check(vma, vma->vm_flags | VM_HUGEPAGE)) return; + hpage = find_lock_page(vma->vm_file->f_mapping, + linear_page_index(vma, haddr)); + if (!hpage) + return; + + if (!PageHead(hpage)) + goto drop_hpage; + pmd = mm_find_pmd(mm, haddr); if (!pmd) - return; + goto drop_hpage; start_pte = pte_offset_map_lock(mm, pmd, haddr, &ptl); @@ -1453,30 +1483,11 @@ page = vm_normal_page(vma, addr, *pte); - if (!page || !PageCompound(page)) - goto abort; - - if (!hpage) { - hpage = compound_head(page); - /* - * The mapping of the THP should not change. - * - * Note that uprobe, debugger, or MAP_PRIVATE may - * change the page table, but the new page will - * not pass PageCompound() check. - */ - if (WARN_ON(hpage->mapping != vma->vm_file->f_mapping)) - goto abort; - } - /* - * Confirm the page maps to the correct subpage. - * - * Note that uprobe, debugger, or MAP_PRIVATE may change - * the page table, but the new page will not pass - * PageCompound() check. + * Note that uprobe, debugger, or MAP_PRIVATE may change the + * page table, but the new page will not be a subpage of hpage. */ - if (WARN_ON(hpage + i != page)) + if (hpage + i != page) goto abort; count++; } @@ -1495,21 +1506,26 @@ pte_unmap_unlock(start_pte, ptl); /* step 3: set proper refcount and mm_counters. */ - if (hpage) { + if (count) { page_ref_sub(hpage, count); add_mm_counter(vma->vm_mm, mm_counter_file(hpage), -count); } /* step 4: collapse pmd */ ptl = pmd_lock(vma->vm_mm, pmd); - _pmd = pmdp_collapse_flush(vma, addr, pmd); + _pmd = pmdp_collapse_flush(vma, haddr, pmd); spin_unlock(ptl); mm_dec_nr_ptes(mm); pte_free(mm, pmd_pgtable(_pmd)); + +drop_hpage: + unlock_page(hpage); + put_page(hpage); return; abort: pte_unmap_unlock(start_pte, ptl); + goto drop_hpage; } static int khugepaged_collapse_pte_mapped_thps(struct mm_slot *mm_slot) @@ -1538,6 +1554,7 @@ static void retract_page_tables(struct address_space *mapping, pgoff_t pgoff) { struct vm_area_struct *vma; + struct mm_struct *mm; unsigned long addr; pmd_t *pmd, _pmd; @@ -1566,7 +1583,8 @@ continue; if (vma->vm_end < addr + HPAGE_PMD_SIZE) continue; - pmd = mm_find_pmd(vma->vm_mm, addr); + mm = vma->vm_mm; + pmd = mm_find_pmd(mm, addr); if (!pmd) continue; /* @@ -1576,17 +1594,19 @@ * mmap_lock while holding page lock. Fault path does it in * reverse order. Trylock is a way to avoid deadlock. */ - if (mmap_write_trylock(vma->vm_mm)) { - spinlock_t *ptl = pmd_lock(vma->vm_mm, pmd); - /* assume page table is clear */ - _pmd = pmdp_collapse_flush(vma, addr, pmd); - spin_unlock(ptl); - mmap_write_unlock(vma->vm_mm); - mm_dec_nr_ptes(vma->vm_mm); - pte_free(vma->vm_mm, pmd_pgtable(_pmd)); + if (mmap_write_trylock(mm)) { + if (!khugepaged_test_exit(mm)) { + spinlock_t *ptl = pmd_lock(mm, pmd); + /* assume page table is clear */ + _pmd = pmdp_collapse_flush(vma, addr, pmd); + spin_unlock(ptl); + mm_dec_nr_ptes(mm); + pte_free(mm, pmd_pgtable(_pmd)); + } + mmap_write_unlock(mm); } else { /* Try again later */ - khugepaged_add_pte_mapped_thp(vma->vm_mm, addr); + khugepaged_add_pte_mapped_thp(mm, addr); } } i_mmap_unlock_write(mapping); @@ -1714,7 +1734,7 @@ xas_unlock_irq(&xas); page_cache_sync_readahead(mapping, &file->f_ra, file, index, - PAGE_SIZE); + end - index); /* drain pagevecs to help isolate_lru_page() */ lru_add_drain(); page = find_lock_page(mapping, index); @@ -2297,8 +2317,6 @@ int start_stop_khugepaged(void) { - static struct task_struct *khugepaged_thread __read_mostly; - static DEFINE_MUTEX(khugepaged_mutex); int err = 0; mutex_lock(&khugepaged_mutex); @@ -2325,3 +2343,11 @@ mutex_unlock(&khugepaged_mutex); return err; } + +void khugepaged_min_free_kbytes_update(void) +{ + mutex_lock(&khugepaged_mutex); + if (khugepaged_enabled() && khugepaged_thread) + set_recommended_min_free_kbytes(); + mutex_unlock(&khugepaged_mutex); +} --- linux-riscv-5.8-5.8.0.orig/mm/ksm.c +++ linux-riscv-5.8-5.8.0/mm/ksm.c @@ -2422,9 +2422,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()); @@ -2585,6 +2590,10 @@ return page; /* let do_swap_page report the error */ new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address); + if (new_page && mem_cgroup_charge(new_page, vma->vm_mm, GFP_KERNEL)) { + put_page(new_page); + new_page = NULL; + } if (new_page) { copy_user_highpage(new_page, page, address, vma); --- linux-riscv-5.8-5.8.0.orig/mm/list_lru.c +++ linux-riscv-5.8-5.8.0/mm/list_lru.c @@ -534,7 +534,6 @@ struct list_lru_node *nlru = &lru->node[nid]; int dst_idx = dst_memcg->kmemcg_id; struct list_lru_one *src, *dst; - bool set; /* * Since list_lru_{add,del} may be called under an IRQ-safe lock, @@ -546,11 +545,12 @@ dst = list_lru_from_memcg_idx(nlru, dst_idx); list_splice_init(&src->list, &dst->list); - set = (!dst->nr_items && src->nr_items); - dst->nr_items += src->nr_items; - if (set) + + if (src->nr_items) { + dst->nr_items += src->nr_items; memcg_set_shrinker_bit(dst_memcg, nid, lru_shrinker_id(lru)); - src->nr_items = 0; + src->nr_items = 0; + } spin_unlock_irq(&nlru->lock); } --- linux-riscv-5.8-5.8.0.orig/mm/madvise.c +++ linux-riscv-5.8-5.8.0/mm/madvise.c @@ -289,9 +289,9 @@ */ *prev = NULL; /* tell sys_madvise we drop mmap_lock */ get_file(file); - mmap_read_unlock(current->mm); offset = (loff_t)(start - vma->vm_start) + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); + mmap_read_unlock(current->mm); vfs_fadvise(file, offset, end - start, POSIX_FADV_WILLNEED); fput(file); mmap_read_lock(current->mm); @@ -381,9 +381,9 @@ return 0; } +regular_page: if (pmd_trans_unstable(pmd)) return 0; -regular_page: #endif tlb_change_page_size(tlb, PAGE_SIZE); orig_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); @@ -911,14 +911,7 @@ pr_info("Injecting memory failure for pfn %#lx at process virtual address %#lx\n", pfn, start); - /* - * Drop the page reference taken by get_user_pages_fast(). In - * the absence of MF_COUNT_INCREASED the memory_failure() - * routine is responsible for pinning the page to prevent it - * from being released back to the page allocator. - */ - put_page(page); - ret = memory_failure(pfn, 0); + ret = memory_failure(pfn, MF_COUNT_INCREASED); if (ret) return ret; } --- linux-riscv-5.8-5.8.0.orig/mm/memblock.c +++ linux-riscv-5.8-5.8.0/mm/memblock.c @@ -253,14 +253,6 @@ * * Find @size free area aligned to @align in the specified range and node. * - * When allocation direction is bottom-up, the @start should be greater - * than the end of the kernel image. Otherwise, it will be trimmed. The - * reason is that we want the bottom-up allocation just near the kernel - * image so it is highly likely that the allocated memory and the kernel - * will reside in the same node. - * - * If bottom-up allocation failed, will try to allocate memory top-down. - * * Return: * Found address on success, 0 on failure. */ @@ -269,8 +261,6 @@ phys_addr_t end, int nid, enum memblock_flags flags) { - phys_addr_t kernel_end, ret; - /* pump up @end */ if (end == MEMBLOCK_ALLOC_ACCESSIBLE || end == MEMBLOCK_ALLOC_KASAN) @@ -279,40 +269,13 @@ /* avoid allocating the first page */ start = max_t(phys_addr_t, start, PAGE_SIZE); end = max(start, end); - kernel_end = __pa_symbol(_end); - - /* - * try bottom-up allocation only when bottom-up mode - * is set and @end is above the kernel image. - */ - if (memblock_bottom_up() && end > kernel_end) { - phys_addr_t bottom_up_start; - - /* make sure we will allocate above the kernel */ - bottom_up_start = max(start, kernel_end); - - /* ok, try bottom-up allocation first */ - ret = __memblock_find_range_bottom_up(bottom_up_start, end, - size, align, nid, flags); - if (ret) - return ret; - - /* - * we always limit bottom-up allocation above the kernel, - * but top-down allocation doesn't have the limit, so - * retrying top-down allocation may succeed when bottom-up - * allocation failed. - * - * bottom-up allocation is expected to be fail very rarely, - * so we use WARN_ONCE() here to see the stack trace if - * fail happens. - */ - WARN_ONCE(IS_ENABLED(CONFIG_MEMORY_HOTREMOVE), - "memblock: bottom-up allocation failed, memory hotremove may be affected\n"); - } - return __memblock_find_range_top_down(start, end, size, align, nid, - flags); + if (memblock_bottom_up()) + return __memblock_find_range_bottom_up(start, end, size, align, + nid, flags); + else + return __memblock_find_range_top_down(start, end, size, align, + nid, flags); } /** --- linux-riscv-5.8-5.8.0.orig/mm/memcontrol.c +++ linux-riscv-5.8-5.8.0/mm/memcontrol.c @@ -766,8 +766,13 @@ rcu_read_lock(); memcg = mem_cgroup_from_obj(p); - /* Untracked pages have no memcg, no lruvec. Update only the node */ - if (!memcg || memcg == root_mem_cgroup) { + /* + * Untracked pages have no memcg, no lruvec. Update only the + * node. If we reparent the slab objects to the root memcg, + * when we free the slab object, we need to update the per-memcg + * vmstats to keep it correct for the root memcg. + */ + if (!memcg) { __mod_node_page_state(pgdat, idx, val); } else { lruvec = mem_cgroup_lruvec(memcg, pgdat); @@ -3834,11 +3839,17 @@ (u64)memsw * PAGE_SIZE); for (i = 0; i < ARRAY_SIZE(memcg1_stats); i++) { + unsigned long nr; + if (memcg1_stats[i] == MEMCG_SWAP && !do_memsw_account()) continue; + nr = memcg_page_state(memcg, memcg1_stats[i]); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + if (memcg1_stats[i] == NR_ANON_THPS) + nr *= HPAGE_PMD_NR; +#endif seq_printf(m, "total_%s %llu\n", memcg1_stat_names[i], - (u64)memcg_page_state(memcg, memcg1_stats[i]) * - PAGE_SIZE); + (u64)nr * PAGE_SIZE); } for (i = 0; i < ARRAY_SIZE(memcg1_events); i++) @@ -5060,7 +5071,13 @@ memcg->swappiness = mem_cgroup_swappiness(parent); memcg->oom_kill_disable = parent->oom_kill_disable; } - if (parent && parent->use_hierarchy) { + if (!parent) { + page_counter_init(&memcg->memory, NULL); + page_counter_init(&memcg->swap, NULL); + page_counter_init(&memcg->memsw, NULL); + page_counter_init(&memcg->kmem, NULL); + page_counter_init(&memcg->tcpmem, NULL); + } else if (parent->use_hierarchy) { memcg->use_hierarchy = true; page_counter_init(&memcg->memory, &parent->memory); page_counter_init(&memcg->swap, &parent->swap); @@ -5068,11 +5085,11 @@ page_counter_init(&memcg->kmem, &parent->kmem); page_counter_init(&memcg->tcpmem, &parent->tcpmem); } else { - page_counter_init(&memcg->memory, NULL); - page_counter_init(&memcg->swap, NULL); - page_counter_init(&memcg->memsw, NULL); - page_counter_init(&memcg->kmem, NULL); - page_counter_init(&memcg->tcpmem, NULL); + page_counter_init(&memcg->memory, &root_mem_cgroup->memory); + page_counter_init(&memcg->swap, &root_mem_cgroup->swap); + page_counter_init(&memcg->memsw, &root_mem_cgroup->memsw); + page_counter_init(&memcg->kmem, &root_mem_cgroup->kmem); + page_counter_init(&memcg->tcpmem, &root_mem_cgroup->tcpmem); /* * Deeper hierachy with use_hierarchy == false doesn't make * much sense so let cgroup subsystem know about this @@ -5276,7 +5293,7 @@ struct page *page = NULL; swp_entry_t ent = pte_to_swp_entry(ptent); - if (!(mc.flags & MOVE_ANON) || non_swap_entry(ent)) + if (!(mc.flags & MOVE_ANON)) return NULL; /* @@ -5295,6 +5312,9 @@ return page; } + if (non_swap_entry(ent)) + return NULL; + /* * Because lookup_swap_cache() updates some statistics counter, * we call find_get_page() with swapper_space directly. @@ -5395,10 +5415,8 @@ __mod_lruvec_state(from_vec, NR_ANON_MAPPED, -nr_pages); __mod_lruvec_state(to_vec, NR_ANON_MAPPED, nr_pages); if (PageTransHuge(page)) { - __mod_lruvec_state(from_vec, NR_ANON_THPS, - -nr_pages); - __mod_lruvec_state(to_vec, NR_ANON_THPS, - nr_pages); + __dec_lruvec_state(from_vec, NR_ANON_THPS); + __inc_lruvec_state(to_vec, NR_ANON_THPS); } } @@ -6505,7 +6523,19 @@ memcg_check_events(memcg, page); local_irq_enable(); - if (PageSwapCache(page)) { + /* + * Cgroup1's unified memory+swap counter has been charged with the + * new swapcache page, finish the transfer by uncharging the swap + * slot. The swap slot would also get uncharged when it dies, but + * it can stick around indefinitely and we'd count the page twice + * the entire time. + * + * Cgroup2 has separate resource counters for memory and swap, + * so this is a non-issue here. Memory and swap charge lifetimes + * correspond 1:1 to page and swap slot lifetimes: we charge the + * page to memory here, and uncharge swap when the slot is freed. + */ + if (do_memsw_account() && PageSwapCache(page)) { swp_entry_t entry = { .val = page_private(page) }; /* * The swap entry might not get freed for a long time, --- linux-riscv-5.8-5.8.0.orig/mm/memory-failure.c +++ linux-riscv-5.8-5.8.0/mm/memory-failure.c @@ -963,7 +963,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn, int flags, struct page **hpagep) { - enum ttu_flags ttu = TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS; + enum ttu_flags ttu = TTU_IGNORE_MLOCK; struct address_space *mapping; LIST_HEAD(tokill); bool unmap_success = true; @@ -1031,27 +1031,25 @@ if (!PageHuge(hpage)) { unmap_success = try_to_unmap(hpage, ttu); } else { - /* - * For hugetlb pages, try_to_unmap could potentially call - * huge_pmd_unshare. Because of this, take semaphore in - * write mode here and set TTU_RMAP_LOCKED to indicate we - * have taken the lock at this higer level. - * - * Note that the call to hugetlb_page_mapping_lock_write - * is necessary even if mapping is already set. It handles - * ugliness of potentially having to drop page lock to obtain - * i_mmap_rwsem. - */ - mapping = hugetlb_page_mapping_lock_write(hpage); - - if (mapping) { - unmap_success = try_to_unmap(hpage, + if (!PageAnon(hpage)) { + /* + * For hugetlb pages in shared mappings, try_to_unmap + * could potentially call huge_pmd_unshare. Because of + * this, take semaphore in write mode here and set + * TTU_RMAP_LOCKED to indicate we have taken the lock + * at this higer level. + */ + mapping = hugetlb_page_mapping_lock_write(hpage); + if (mapping) { + unmap_success = try_to_unmap(hpage, ttu|TTU_RMAP_LOCKED); - i_mmap_unlock_write(mapping); + i_mmap_unlock_write(mapping); + } else { + pr_info("Memory failure: %#lx: could not lock mapping for mapped huge page\n", pfn); + unmap_success = false; + } } else { - pr_info("Memory failure: %#lx: could not find mapping for mapped huge page\n", - pfn); - unmap_success = false; + unmap_success = try_to_unmap(hpage, ttu); } } if (!unmap_success) @@ -1188,6 +1186,12 @@ loff_t start; dax_entry_t cookie; + if (flags & MF_COUNT_INCREASED) + /* + * Drop the extra refcount in case we come from madvise(). + */ + put_page(page); + /* * Prevent the inode from being freed while we are interrogating * the address_space, typically this would be handled by --- linux-riscv-5.8-5.8.0.orig/mm/memory.c +++ linux-riscv-5.8-5.8.0/mm/memory.c @@ -71,6 +71,7 @@ #include #include #include +#include #include @@ -151,7 +152,7 @@ zero_pfn = page_to_pfn(ZERO_PAGE(0)); return 0; } -core_initcall(init_zero_pfn); +early_initcall(init_zero_pfn); void mm_trace_rss_stat(struct mm_struct *mm, int member, long count) { @@ -1367,6 +1368,7 @@ mmu_notifier_invalidate_range_end(&range); tlb_finish_mmu(&tlb, start, range.end); } +EXPORT_SYMBOL(zap_page_range); /** * zap_page_range_single - remove user pages in a given range @@ -1990,11 +1992,11 @@ unsigned long addr, unsigned long end, unsigned long pfn, pgprot_t prot) { - pte_t *pte; + pte_t *pte, *mapped_pte; spinlock_t *ptl; int err = 0; - pte = pte_alloc_map_lock(mm, pmd, addr, &ptl); + mapped_pte = pte = pte_alloc_map_lock(mm, pmd, addr, &ptl); if (!pte) return -ENOMEM; arch_enter_lazy_mmu_mode(); @@ -2008,7 +2010,7 @@ pfn++; } while (pte++, addr += PAGE_SIZE, addr != end); arch_leave_lazy_mmu_mode(); - pte_unmap_unlock(pte - 1, ptl); + pte_unmap_unlock(mapped_pte, ptl); return err; } @@ -2201,7 +2203,8 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, unsigned long end, - pte_fn_t fn, void *data, bool create) + pte_fn_t fn, void *data, bool create, + pgtbl_mod_mask *mask) { pte_t *pte; int err = 0; @@ -2209,7 +2212,7 @@ if (create) { pte = (mm == &init_mm) ? - pte_alloc_kernel(pmd, addr) : + pte_alloc_kernel_track(pmd, addr, mask) : pte_alloc_map_lock(mm, pmd, addr, &ptl); if (!pte) return -ENOMEM; @@ -2230,6 +2233,7 @@ break; } } while (addr += PAGE_SIZE, addr != end); + *mask |= PGTBL_PTE_MODIFIED; arch_leave_lazy_mmu_mode(); @@ -2240,7 +2244,8 @@ static int apply_to_pmd_range(struct mm_struct *mm, pud_t *pud, unsigned long addr, unsigned long end, - pte_fn_t fn, void *data, bool create) + pte_fn_t fn, void *data, bool create, + pgtbl_mod_mask *mask) { pmd_t *pmd; unsigned long next; @@ -2249,7 +2254,7 @@ BUG_ON(pud_huge(*pud)); if (create) { - pmd = pmd_alloc(mm, pud, addr); + pmd = pmd_alloc_track(mm, pud, addr, mask); if (!pmd) return -ENOMEM; } else { @@ -2259,7 +2264,7 @@ next = pmd_addr_end(addr, end); if (create || !pmd_none_or_clear_bad(pmd)) { err = apply_to_pte_range(mm, pmd, addr, next, fn, data, - create); + create, mask); if (err) break; } @@ -2269,14 +2274,15 @@ static int apply_to_pud_range(struct mm_struct *mm, p4d_t *p4d, unsigned long addr, unsigned long end, - pte_fn_t fn, void *data, bool create) + pte_fn_t fn, void *data, bool create, + pgtbl_mod_mask *mask) { pud_t *pud; unsigned long next; int err = 0; if (create) { - pud = pud_alloc(mm, p4d, addr); + pud = pud_alloc_track(mm, p4d, addr, mask); if (!pud) return -ENOMEM; } else { @@ -2286,7 +2292,7 @@ next = pud_addr_end(addr, end); if (create || !pud_none_or_clear_bad(pud)) { err = apply_to_pmd_range(mm, pud, addr, next, fn, data, - create); + create, mask); if (err) break; } @@ -2296,14 +2302,15 @@ static int apply_to_p4d_range(struct mm_struct *mm, pgd_t *pgd, unsigned long addr, unsigned long end, - pte_fn_t fn, void *data, bool create) + pte_fn_t fn, void *data, bool create, + pgtbl_mod_mask *mask) { p4d_t *p4d; unsigned long next; int err = 0; if (create) { - p4d = p4d_alloc(mm, pgd, addr); + p4d = p4d_alloc_track(mm, pgd, addr, mask); if (!p4d) return -ENOMEM; } else { @@ -2313,7 +2320,7 @@ next = p4d_addr_end(addr, end); if (create || !p4d_none_or_clear_bad(p4d)) { err = apply_to_pud_range(mm, p4d, addr, next, fn, data, - create); + create, mask); if (err) break; } @@ -2326,8 +2333,9 @@ void *data, bool create) { pgd_t *pgd; - unsigned long next; + unsigned long start = addr, next; unsigned long end = addr + size; + pgtbl_mod_mask mask = 0; int err = 0; if (WARN_ON(addr >= end)) @@ -2338,11 +2346,14 @@ next = pgd_addr_end(addr, end); if (!create && pgd_none_or_clear_bad(pgd)) continue; - err = apply_to_p4d_range(mm, pgd, addr, next, fn, data, create); + err = apply_to_p4d_range(mm, pgd, addr, next, fn, data, create, &mask); if (err) break; } while (pgd++, addr = next, addr != end); + if (mask & ARCH_PAGE_TABLE_SYNC_MASK) + arch_sync_kernel_mappings(start, start + size); + return err; } @@ -2902,6 +2913,14 @@ return handle_userfault(vmf, VM_UFFD_WP); } + /* + * Userfaultfd write-protect can defer flushes. Ensure the TLB + * is flushed in this case before copying. + */ + if (unlikely(userfaultfd_wp(vmf->vma) && + mm_tlb_flush_pending(vmf->vma->vm_mm))) + flush_tlb_page(vmf->vma, vmf->address); + vmf->page = vm_normal_page(vma, vmf->address, vmf->orig_pte); if (!vmf->page) { /* @@ -4248,6 +4267,9 @@ vmf->flags & FAULT_FLAG_WRITE)) { update_mmu_cache(vmf->vma, vmf->address, vmf->pte); } else { + /* Skip spurious TLB flush for retried page fault */ + if (vmf->flags & FAULT_FLAG_TRIED) + goto unlock; /* * This is needed only for protection faults but the arch code * is not yet telling us if this is a protection fault or not. @@ -4481,9 +4503,9 @@ } #endif /* __PAGETABLE_PMD_FOLDED */ -static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp) +int follow_invalidate_pte(struct mm_struct *mm, unsigned long address, + struct mmu_notifier_range *range, pte_t **ptepp, + pmd_t **pmdpp, spinlock_t **ptlp) { pgd_t *pgd; p4d_t *p4d; @@ -4548,31 +4570,33 @@ return -EINVAL; } -static inline int follow_pte(struct mm_struct *mm, unsigned long address, - pte_t **ptepp, spinlock_t **ptlp) -{ - int res; - - /* (void) is needed to make gcc happy */ - (void) __cond_lock(*ptlp, - !(res = __follow_pte_pmd(mm, address, NULL, - ptepp, NULL, ptlp))); - return res; -} - -int follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp) +/** + * follow_pte - look up PTE at a user virtual address + * @mm: the mm_struct of the target address space + * @address: user virtual address + * @ptepp: location to store found PTE + * @ptlp: location to store the lock for the PTE + * + * On a successful return, the pointer to the PTE is stored in @ptepp; + * the corresponding lock is taken and its location is stored in @ptlp. + * The contents of the PTE are only stable until @ptlp is released; + * any further use, if any, must be protected against invalidation + * with MMU notifiers. + * + * Only IO mappings and raw PFN mappings are allowed. The mmap semaphore + * should be taken for read. + * + * KVM uses this function. While it is arguably less bad than ``follow_pfn``, + * it is not a good general-purpose API. + * + * Return: zero on success, -ve otherwise. + */ +int follow_pte(struct mm_struct *mm, unsigned long address, + pte_t **ptepp, spinlock_t **ptlp) { - int res; - - /* (void) is needed to make gcc happy */ - (void) __cond_lock(*ptlp, - !(res = __follow_pte_pmd(mm, address, range, - ptepp, pmdpp, ptlp))); - return res; + return follow_invalidate_pte(mm, address, NULL, ptepp, NULL, ptlp); } -EXPORT_SYMBOL(follow_pte_pmd); +EXPORT_SYMBOL_GPL(follow_pte); /** * follow_pfn - look up PFN at a user virtual address @@ -4582,6 +4606,9 @@ * * Only IO mappings and raw PFN mappings are allowed. * + * This function does not allow the caller to read the permissions + * of the PTE. Do not use it. + * * Return: zero and the pfn at @pfn on success, -ve otherwise. */ int follow_pfn(struct vm_area_struct *vma, unsigned long address, @@ -4972,17 +4999,19 @@ void *page_kaddr; unsigned long i, rc = 0; unsigned long ret_val = pages_per_huge_page * PAGE_SIZE; + struct page *subpage = dst_page; - for (i = 0; i < pages_per_huge_page; i++) { + for (i = 0; i < pages_per_huge_page; + i++, subpage = mem_map_next(subpage, dst_page, i)) { if (allow_pagefault) - page_kaddr = kmap(dst_page + i); + page_kaddr = kmap(subpage); else - page_kaddr = kmap_atomic(dst_page + i); + page_kaddr = kmap_atomic(subpage); rc = copy_from_user(page_kaddr, (const void __user *)(src + i * PAGE_SIZE), PAGE_SIZE); if (allow_pagefault) - kunmap(dst_page + i); + kunmap(subpage); else kunmap_atomic(page_kaddr); --- linux-riscv-5.8-5.8.0.orig/mm/memory_hotplug.c +++ linux-riscv-5.8-5.8.0/mm/memory_hotplug.c @@ -54,6 +54,8 @@ DEFINE_STATIC_PERCPU_RWSEM(mem_hotplug_lock); +static int default_kernel_zone = ZONE_NORMAL; + void get_online_mems(void) { percpu_down_read(&mem_hotplug_lock); @@ -718,16 +720,27 @@ * expects the zone spans the pfn range. All the pages in the range * are reserved so nobody should be touching them so we should be safe */ - memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, - MEMMAP_HOTPLUG, altmap); + memmap_init_zone(nr_pages, nid, zone_idx(zone), start_pfn, 0, + MEMINIT_HOTPLUG, altmap); set_zone_contiguous(zone); } +void set_default_mem_hotplug_zone(enum zone_type zone) +{ + default_kernel_zone = zone; +} + +#ifdef CONFIG_HIGHMEM +#define MAX_KERNEL_ZONE ZONE_HIGHMEM +#else +#define MAX_KERNEL_ZONE ZONE_NORMAL +#endif + /* * Returns a default kernel memory zone for the given pfn range. * If no kernel zone covers this pfn range it will automatically go - * to the ZONE_NORMAL. + * to the MAX_KERNEL_ZONE. */ static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn, unsigned long nr_pages) @@ -735,14 +748,14 @@ struct pglist_data *pgdat = NODE_DATA(nid); int zid; - for (zid = 0; zid <= ZONE_NORMAL; zid++) { + for (zid = 0; zid <= MAX_KERNEL_ZONE; zid++) { struct zone *zone = &pgdat->node_zones[zid]; if (zone_intersects(zone, start_pfn, nr_pages)) return zone; } - return &pgdat->node_zones[ZONE_NORMAL]; + return &pgdat->node_zones[default_kernel_zone]; } static inline struct zone *default_zone_for_pfn(int nid, unsigned long start_pfn, @@ -1065,7 +1078,8 @@ } /* link memory sections under this node.*/ - ret = link_mem_sections(nid, PFN_DOWN(start), PFN_UP(start + size - 1)); + ret = link_mem_sections(nid, PFN_DOWN(start), PFN_UP(start + size - 1), + MEMINIT_HOTPLUG); BUG_ON(ret); /* create new memmap entry */ @@ -1309,7 +1323,7 @@ if (WARN_ON(PageLRU(page))) isolate_lru_page(page); if (page_mapped(page)) - try_to_unmap(page, TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS); + try_to_unmap(page, TTU_IGNORE_MLOCK); continue; } @@ -1557,6 +1571,20 @@ /* check again */ ret = walk_system_ram_range(start_pfn, end_pfn - start_pfn, NULL, check_pages_isolated_cb); + /* + * per-cpu pages are drained in start_isolate_page_range, but if + * there are still pages that are not free, make sure that we + * drain again, because when we isolated range we might + * have raced with another thread that was adding pages to pcp + * list. + * + * Forward progress should be still guaranteed because + * pages on the pcp list can only belong to MOVABLE_ZONE + * because has_unmovable_pages explicitly checks for + * PageBuddy on freed pages on other zones. + */ + if (ret) + drain_all_pages(zone); } while (ret); /* Ok, all of our target is isolated. @@ -1742,7 +1770,7 @@ */ rc = walk_memory_blocks(start, size, NULL, check_memblock_offlined_cb); if (rc) - goto done; + return rc; /* remove memmap entry */ firmware_map_remove(start, start + size, "System RAM"); @@ -1766,9 +1794,8 @@ try_offline_node(nid); -done: mem_hotplug_done(); - return rc; + return 0; } /** --- linux-riscv-5.8-5.8.0.orig/mm/mempolicy.c +++ linux-riscv-5.8-5.8.0/mm/mempolicy.c @@ -525,7 +525,7 @@ unsigned long flags = qp->flags; int ret; bool has_unmovable = false; - pte_t *pte; + pte_t *pte, *mapped_pte; spinlock_t *ptl; ptl = pmd_trans_huge_lock(pmd, vma); @@ -539,7 +539,7 @@ if (pmd_trans_unstable(pmd)) return 0; - pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); + mapped_pte = pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); for (; addr != end; pte++, addr += PAGE_SIZE) { if (!pte_present(*pte)) continue; @@ -571,7 +571,7 @@ } else break; } - pte_unmap_unlock(pte - 1, ptl); + pte_unmap_unlock(mapped_pte, ptl); cond_resched(); if (has_unmovable) --- linux-riscv-5.8-5.8.0.orig/mm/migrate.c +++ linux-riscv-5.8-5.8.0/mm/migrate.c @@ -251,7 +251,7 @@ entry = make_device_private_entry(new, pte_write(pte)); pte = swp_entry_to_pte(entry); if (pte_swp_uffd_wp(*pvmw.pte)) - pte = pte_mkuffd_wp(pte); + pte = pte_swp_mkuffd_wp(pte); } } @@ -1121,8 +1121,7 @@ /* Establish migration ptes */ VM_BUG_ON_PAGE(PageAnon(page) && !PageKsm(page) && !anon_vma, page); - try_to_unmap(page, - TTU_MIGRATION|TTU_IGNORE_MLOCK|TTU_IGNORE_ACCESS); + try_to_unmap(page, TTU_MIGRATION|TTU_IGNORE_MLOCK); page_was_mapped = 1; } @@ -1332,34 +1331,37 @@ goto put_anon; if (page_mapped(hpage)) { - /* - * try_to_unmap could potentially call huge_pmd_unshare. - * Because of this, take semaphore in write mode here and - * set TTU_RMAP_LOCKED to let lower levels know we have - * taken the lock. - */ - mapping = hugetlb_page_mapping_lock_write(hpage); - if (unlikely(!mapping)) - goto unlock_put_anon; - - try_to_unmap(hpage, - TTU_MIGRATION|TTU_IGNORE_MLOCK|TTU_IGNORE_ACCESS| - TTU_RMAP_LOCKED); + bool mapping_locked = false; + enum ttu_flags ttu = TTU_MIGRATION|TTU_IGNORE_MLOCK; + + if (!PageAnon(hpage)) { + /* + * In shared mappings, try_to_unmap could potentially + * call huge_pmd_unshare. Because of this, take + * semaphore in write mode here and set TTU_RMAP_LOCKED + * to let lower levels know we have taken the lock. + */ + mapping = hugetlb_page_mapping_lock_write(hpage); + if (unlikely(!mapping)) + goto unlock_put_anon; + + mapping_locked = true; + ttu |= TTU_RMAP_LOCKED; + } + + try_to_unmap(hpage, ttu); page_was_mapped = 1; - /* - * Leave mapping locked until after subsequent call to - * remove_migration_ptes() - */ + + if (mapping_locked) + i_mmap_unlock_write(mapping); } if (!page_mapped(hpage)) rc = move_to_new_page(new_hpage, hpage, mode); - if (page_was_mapped) { + if (page_was_mapped) remove_migration_ptes(hpage, - rc == MIGRATEPAGE_SUCCESS ? new_hpage : hpage, true); - i_mmap_unlock_write(mapping); - } + rc == MIGRATEPAGE_SUCCESS ? new_hpage : hpage, false); unlock_put_anon: unlock_page(new_hpage); @@ -2330,10 +2332,17 @@ entry = make_migration_entry(page, mpfn & MIGRATE_PFN_WRITE); swp_pte = swp_entry_to_pte(entry); - if (pte_soft_dirty(pte)) - swp_pte = pte_swp_mksoft_dirty(swp_pte); - if (pte_uffd_wp(pte)) - swp_pte = pte_swp_mkuffd_wp(swp_pte); + if (pte_present(pte)) { + if (pte_soft_dirty(pte)) + swp_pte = pte_swp_mksoft_dirty(swp_pte); + if (pte_uffd_wp(pte)) + swp_pte = pte_swp_mkuffd_wp(swp_pte); + } else { + if (pte_swp_soft_dirty(pte)) + swp_pte = pte_swp_mksoft_dirty(swp_pte); + if (pte_swp_uffd_wp(pte)) + swp_pte = pte_swp_mkuffd_wp(swp_pte); + } set_pte_at(mm, addr, ptep, swp_pte); /* @@ -2564,7 +2573,7 @@ */ static void migrate_vma_unmap(struct migrate_vma *migrate) { - int flags = TTU_MIGRATION | TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS; + int flags = TTU_MIGRATION | TTU_IGNORE_MLOCK; const unsigned long npages = migrate->npages; const unsigned long start = migrate->start; unsigned long addr, i, restore = 0; --- linux-riscv-5.8-5.8.0.orig/mm/mmap.c +++ linux-riscv-5.8-5.8.0/mm/mmap.c @@ -179,7 +179,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; @@ -910,7 +910,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); @@ -1831,8 +1831,8 @@ return addr; unmap_and_free_vma: + vma_fput(vma); vma->vm_file = NULL; - fput(file); /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); @@ -2694,7 +2694,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); @@ -2713,7 +2713,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)); @@ -2906,7 +2906,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); @@ -2981,10 +2981,27 @@ } } - file = get_file(vma->vm_file); + vma_get_file(vma); + file = vma->vm_file; + prfile = vma->vm_prfile; ret = do_mmap_pgoff(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) @@ -3171,6 +3188,7 @@ if (vma->vm_flags & VM_ACCOUNT) nr_accounted += vma_pages(vma); vma = remove_vma(vma); + cond_resched(); } vm_unacct_memory(nr_accounted); } @@ -3275,7 +3293,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-riscv-5.8-5.8.0.orig/mm/mmu_notifier.c +++ linux-riscv-5.8-5.8.0/mm/mmu_notifier.c @@ -501,10 +501,33 @@ ""); WARN_ON(mmu_notifier_range_blockable(range) || _ret != -EAGAIN); + /* + * We call all the notifiers on any EAGAIN, + * there is no way for a notifier to know if + * its start method failed, thus a start that + * does EAGAIN can't also do end. + */ + WARN_ON(ops->invalidate_range_end); ret = _ret; } } } + + if (ret) { + /* + * Must be non-blocking to get here. If there are multiple + * notifiers and one or more failed start, any that succeeded + * start are expecting their end to be called. Do so now. + */ + hlist_for_each_entry_rcu(subscription, &subscriptions->list, + hlist, srcu_read_lock_held(&srcu)) { + if (!subscription->ops->invalidate_range_end) + continue; + + subscription->ops->invalidate_range_end(subscription, + range); + } + } srcu_read_unlock(&srcu, id); return ret; --- linux-riscv-5.8-5.8.0.orig/mm/nommu.c +++ linux-riscv-5.8-5.8.0/mm/nommu.c @@ -540,7 +540,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 */ @@ -672,7 +672,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); } @@ -1195,7 +1195,7 @@ goto error_just_free; } } - fput(region->vm_file); + vmr_fput(region); kmem_cache_free(vm_region_jar, region); region = pregion; result = start; @@ -1272,10 +1272,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-riscv-5.8-5.8.0.orig/mm/oom_kill.c +++ linux-riscv-5.8-5.8.0/mm/oom_kill.c @@ -64,6 +64,8 @@ * and mark_oom_victim */ DEFINE_MUTEX(oom_lock); +/* Serializes oom_score_adj and oom_score_adj_min updates */ +DEFINE_MUTEX(oom_adj_mutex); static inline bool is_memcg_oom(struct oom_control *oc) { --- linux-riscv-5.8-5.8.0.orig/mm/page-writeback.c +++ linux-riscv-5.8-5.8.0/mm/page-writeback.c @@ -2756,12 +2756,6 @@ } else { ret = TestClearPageWriteback(page); } - /* - * NOTE: Page might be free now! Writeback doesn't hold a page - * reference on its own, it relies on truncation to wait for - * the clearing of PG_writeback. The below can only access - * page state that is static across allocation cycles. - */ if (ret) { dec_lruvec_state(lruvec, NR_WRITEBACK); dec_zone_page_state(page, NR_ZONE_WRITE_PENDING); @@ -2834,7 +2828,7 @@ */ void wait_on_page_writeback(struct page *page) { - if (PageWriteback(page)) { + while (PageWriteback(page)) { trace_wait_on_page_writeback(page, page_mapping(page)); wait_on_page_bit(page, PG_writeback); } --- linux-riscv-5.8-5.8.0.orig/mm/page_alloc.c +++ linux-riscv-5.8-5.8.0/mm/page_alloc.c @@ -69,6 +69,7 @@ #include #include #include +#include #include #include @@ -316,20 +317,7 @@ int min_free_kbytes = 1024; int user_min_free_kbytes = -1; -#ifdef CONFIG_DISCONTIGMEM -/* - * DiscontigMem defines memory ranges as separate pg_data_t even if the ranges - * are not on separate NUMA nodes. Functionally this works but with - * watermark_boost_factor, it can reclaim prematurely as the ranges can be - * quite small. By default, do not boost watermarks on discontigmem as in - * many cases very high-order allocations like THP are likely to be - * unsupported and the premature reclaim offsets the advantage of long-term - * fragmentation avoidance. - */ int watermark_boost_factor __read_mostly; -#else -int watermark_boost_factor __read_mostly = 15000; -#endif int watermark_scale_factor = 10; static unsigned long nr_kernel_pages __initdata; @@ -418,6 +406,8 @@ if (end_pfn < pgdat_end_pfn(NODE_DATA(nid))) return false; + if (NODE_DATA(nid)->first_deferred_pfn != ULONG_MAX) + return true; /* * We start only with one section of pages, more pages are added as * needed until the rest of deferred pages are initialized. @@ -1306,6 +1296,11 @@ struct page *page, *tmp; LIST_HEAD(head); + /* + * Ensure proper count is passed which otherwise would stuck in the + * below while (list_empty(list)) loop. + */ + count = min(pcp->count, count); while (count) { struct list_head *list; @@ -2411,12 +2406,12 @@ return false; } -static inline void boost_watermark(struct zone *zone) +static inline bool boost_watermark(struct zone *zone) { unsigned long max_boost; if (!watermark_boost_factor) - return; + return false; /* * Don't bother in zones that are unlikely to produce results. * On small machines, including kdump capture kernels running @@ -2424,7 +2419,7 @@ * memory situation immediately. */ if ((pageblock_nr_pages * 4) > zone_managed_pages(zone)) - return; + return false; max_boost = mult_frac(zone->_watermark[WMARK_HIGH], watermark_boost_factor, 10000); @@ -2438,12 +2433,14 @@ * boosted watermark resulting in a hang. */ if (!max_boost) - return; + return false; max_boost = max(pageblock_nr_pages, max_boost); zone->watermark_boost = min(zone->watermark_boost + pageblock_nr_pages, max_boost); + + return true; } /* @@ -2481,8 +2478,7 @@ * likelihood of future fallbacks. Wake kswapd now as the node * may be balanced overall and kswapd will not wake naturally. */ - boost_watermark(zone); - if (alloc_flags & ALLOC_KSWAPD) + if (boost_watermark(zone) && (alloc_flags & ALLOC_KSWAPD)) set_bit(ZONE_BOOSTED_WATERMARK, &zone->flags); /* We are not allowed to try stealing from the whole block */ @@ -2784,20 +2780,20 @@ { struct page *page; -#ifdef CONFIG_CMA - /* - * Balance movable allocations between regular and CMA areas by - * allocating from CMA when over half of the zone's free memory - * is in the CMA area. - */ - if (migratetype == MIGRATE_MOVABLE && - zone_page_state(zone, NR_FREE_CMA_PAGES) > - zone_page_state(zone, NR_FREE_PAGES) / 2) { - page = __rmqueue_cma_fallback(zone, order); - if (page) - return page; + if (IS_ENABLED(CONFIG_CMA)) { + /* + * Balance movable allocations between regular and CMA areas by + * allocating from CMA when over half of the zone's free memory + * is in the CMA area. + */ + if (migratetype == MIGRATE_MOVABLE && + zone_page_state(zone, NR_FREE_CMA_PAGES) > + zone_page_state(zone, NR_FREE_PAGES) / 2) { + page = __rmqueue_cma_fallback(zone, order); + if (page) + goto out; + } } -#endif retry: page = __rmqueue_smallest(zone, order, migratetype); if (unlikely(!page)) { @@ -2808,8 +2804,9 @@ alloc_flags)) goto retry; } - - trace_mm_page_alloc_zone_locked(page, order, migratetype); +out: + if (page) + trace_mm_page_alloc_zone_locked(page, order, migratetype); return page; } @@ -3207,7 +3204,7 @@ for (i = 1; i < (1 << order); i++) set_page_refcounted(page + i); - split_page_owner(page, order); + split_page_owner(page, 1 << order); } EXPORT_SYMBOL_GPL(split_page); @@ -3481,7 +3478,7 @@ #endif /* CONFIG_FAIL_PAGE_ALLOC */ -static noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) +noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) { return __should_fail_alloc_page(gfp_mask, order); } @@ -4998,6 +4995,11 @@ if (!page_ref_sub_and_test(page, nc->pagecnt_bias)) goto refill; + if (unlikely(nc->pfmemalloc)) { + free_the_page(page, compound_order(page)); + goto refill; + } + #if (PAGE_SIZE < PAGE_FRAG_CACHE_MAX_SIZE) /* if size can vary use size else just use PAGE_SIZE */ size = nc->size; @@ -5947,7 +5949,8 @@ * done. Non-atomic initialization, single-pass. */ void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long zone, - unsigned long start_pfn, enum memmap_context context, + unsigned long start_pfn, unsigned long zone_end_pfn, + enum meminit_context context, struct vmem_altmap *altmap) { unsigned long pfn, end_pfn = start_pfn + size; @@ -5979,16 +5982,16 @@ * There can be holes in boot-time mem_map[]s handed to this * function. They do not exist on hotplugged memory. */ - if (context == MEMMAP_EARLY) { + if (context == MEMINIT_EARLY) { if (overlap_memmap_init(zone, &pfn)) continue; - if (defer_init(nid, pfn, end_pfn)) + if (defer_init(nid, pfn, zone_end_pfn)) break; } page = pfn_to_page(pfn); __init_single_page(page, pfn, zone, nid); - if (context == MEMMAP_HOTPLUG) + if (context == MEMINIT_HOTPLUG) __SetPageReserved(page); /* @@ -6071,7 +6074,7 @@ * check here not to call set_pageblock_migratetype() against * pfn out of zone. * - * Please note that MEMMAP_HOTPLUG path doesn't clear memmap + * Please note that MEMINIT_HOTPLUG path doesn't clear memmap * because this is done early in section_activate() */ if (!(pfn & (pageblock_nr_pages - 1))) { @@ -6094,13 +6097,66 @@ } } +#if !defined(CONFIG_FLAT_NODE_MEM_MAP) +/* + * Only struct pages that correspond to ranges defined by memblock.memory + * are zeroed and initialized by going through __init_single_page() during + * memmap_init_zone(). + * + * But, there could be struct pages that correspond to holes in + * memblock.memory. This can happen because of the following reasons: + * - physical memory bank size is not necessarily the exact multiple of the + * arbitrary section size + * - early reserved memory may not be listed in memblock.memory + * - memory layouts defined with memmap= kernel parameter may not align + * nicely with memmap sections + * + * Explicitly initialize those struct pages so that: + * - PG_Reserved is set + * - zone and node links point to zone and node that span the page if the + * hole is in the middle of a zone + * - zone and node links point to adjacent zone/node if the hole falls on + * the zone boundary; the pages in such holes will be prepended to the + * zone/node above the hole except for the trailing pages in the last + * section that will be appended to the zone/node below. + */ +static u64 __meminit init_unavailable_range(unsigned long spfn, + unsigned long epfn, + int zone, int node) +{ + unsigned long pfn; + u64 pgcnt = 0; + + for (pfn = spfn; pfn < epfn; pfn++) { + if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) { + pfn = ALIGN_DOWN(pfn, pageblock_nr_pages) + + pageblock_nr_pages - 1; + continue; + } + __init_single_page(pfn_to_page(pfn), pfn, zone, node); + __SetPageReserved(pfn_to_page(pfn)); + pgcnt++; + } + + return pgcnt; +} +#else +static inline u64 init_unavailable_range(unsigned long spfn, unsigned long epfn, + int zone, int node) +{ + return 0; +} +#endif + void __meminit __weak memmap_init(unsigned long size, int nid, unsigned long zone, unsigned long range_start_pfn) { + static unsigned long hole_pfn; unsigned long start_pfn, end_pfn; unsigned long range_end_pfn = range_start_pfn + size; int i; + u64 pgcnt = 0; for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) { start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn); @@ -6108,10 +6164,32 @@ if (end_pfn > start_pfn) { size = end_pfn - start_pfn; - memmap_init_zone(size, nid, zone, start_pfn, - MEMMAP_EARLY, NULL); + memmap_init_zone(size, nid, zone, start_pfn, range_end_pfn, + MEMINIT_EARLY, NULL); } + + if (hole_pfn < start_pfn) + pgcnt += init_unavailable_range(hole_pfn, start_pfn, + zone, nid); + hole_pfn = end_pfn; } + +#ifdef CONFIG_SPARSEMEM + /* + * Initialize the hole in the range [zone_end_pfn, section_end]. + * If zone boundary falls in the middle of a section, this hole + * will be re-initialized during the call to this function for the + * higher zone. + */ + end_pfn = round_up(range_end_pfn, PAGES_PER_SECTION); + if (hole_pfn < end_pfn) + pgcnt += init_unavailable_range(hole_pfn, end_pfn, + zone, nid); +#endif + + if (pgcnt) + pr_info(" %s zone: %llu pages in unavailable ranges\n", + zone_names[zone], pgcnt); } static int zone_batchsize(struct zone *zone) @@ -6920,89 +6998,6 @@ free_area_init_node(nid); } -#if !defined(CONFIG_FLAT_NODE_MEM_MAP) -/* - * Initialize all valid struct pages in the range [spfn, epfn) and mark them - * PageReserved(). Return the number of struct pages that were initialized. - */ -static u64 __init init_unavailable_range(unsigned long spfn, unsigned long epfn) -{ - unsigned long pfn; - u64 pgcnt = 0; - - for (pfn = spfn; pfn < epfn; pfn++) { - if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) { - pfn = ALIGN_DOWN(pfn, pageblock_nr_pages) - + pageblock_nr_pages - 1; - continue; - } - /* - * Use a fake node/zone (0) for now. Some of these pages - * (in memblock.reserved but not in memblock.memory) will - * get re-initialized via reserve_bootmem_region() later. - */ - __init_single_page(pfn_to_page(pfn), pfn, 0, 0); - __SetPageReserved(pfn_to_page(pfn)); - pgcnt++; - } - - return pgcnt; -} - -/* - * Only struct pages that are backed by physical memory are zeroed and - * initialized by going through __init_single_page(). But, there are some - * struct pages which are reserved in memblock allocator and their fields - * may be accessed (for example page_to_pfn() on some configuration accesses - * flags). We must explicitly initialize those struct pages. - * - * This function also addresses a similar issue where struct pages are left - * uninitialized because the physical address range is not covered by - * memblock.memory or memblock.reserved. That could happen when memblock - * layout is manually configured via memmap=, or when the highest physical - * address (max_pfn) does not end on a section boundary. - */ -static void __init init_unavailable_mem(void) -{ - phys_addr_t start, end; - u64 i, pgcnt; - phys_addr_t next = 0; - - /* - * Loop through unavailable ranges not covered by memblock.memory. - */ - pgcnt = 0; - for_each_mem_range(i, &memblock.memory, NULL, - NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, NULL) { - if (next < start) - pgcnt += init_unavailable_range(PFN_DOWN(next), - PFN_UP(start)); - next = end; - } - - /* - * Early sections always have a fully populated memmap for the whole - * section - see pfn_valid(). If the last section has holes at the - * end and that section is marked "online", the memmap will be - * considered initialized. Make sure that memmap has a well defined - * state. - */ - pgcnt += init_unavailable_range(PFN_DOWN(next), - round_up(max_pfn, PAGES_PER_SECTION)); - - /* - * Struct pages that do not have backing memory. This could be because - * firmware is using some of this memory, or for some other reasons. - */ - if (pgcnt) - pr_info("Zeroed struct page in unavailable ranges: %lld pages", pgcnt); -} -#else -static inline void __init init_unavailable_mem(void) -{ -} -#endif /* !CONFIG_FLAT_NODE_MEM_MAP */ - #if MAX_NUMNODES > 1 /* * Figure out the number of possible node ids. @@ -7426,7 +7421,6 @@ /* Initialise every node */ mminit_verify_pageflags_layout(); setup_nr_node_ids(); - init_unavailable_mem(); for_each_online_node(nid) { pg_data_t *pgdat = NODE_DATA(nid); free_area_init_node(nid); @@ -7879,9 +7873,11 @@ setup_min_slab_ratio(); #endif + khugepaged_min_free_kbytes_update(); + return 0; } -core_initcall(init_per_zone_wmark_min) +postcore_initcall(init_per_zone_wmark_min) /* * min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so --- linux-riscv-5.8-5.8.0.orig/mm/page_counter.c +++ linux-riscv-5.8-5.8.0/mm/page_counter.c @@ -72,13 +72,13 @@ long new; new = atomic_long_add_return(nr_pages, &c->usage); - propagate_protected_usage(counter, new); + propagate_protected_usage(c, new); /* * This is indeed racy, but we can live with some * inaccuracy in the watermark. */ - if (new > c->watermark) - c->watermark = new; + if (new > READ_ONCE(c->watermark)) + WRITE_ONCE(c->watermark, new); } } @@ -116,22 +116,23 @@ new = atomic_long_add_return(nr_pages, &c->usage); if (new > c->max) { atomic_long_sub(nr_pages, &c->usage); - propagate_protected_usage(counter, new); + propagate_protected_usage(c, new); /* * This is racy, but we can live with some - * inaccuracy in the failcnt. + * inaccuracy in the failcnt which is only used + * to report stats. */ - c->failcnt++; + data_race(c->failcnt++); *fail = c; goto failed; } - propagate_protected_usage(counter, new); + propagate_protected_usage(c, new); /* * Just like with failcnt, we can live with some * inaccuracy in the watermark. */ - if (new > c->watermark) - c->watermark = new; + if (new > READ_ONCE(c->watermark)) + WRITE_ONCE(c->watermark, new); } return true; --- linux-riscv-5.8-5.8.0.orig/mm/page_io.c +++ linux-riscv-5.8-5.8.0/mm/page_io.c @@ -40,7 +40,7 @@ bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9; bio->bi_end_io = end_io; - bio_add_page(bio, page, PAGE_SIZE * hpage_nr_pages(page), 0); + bio_add_page(bio, page, thp_size(page), 0); } return bio; } @@ -263,11 +263,6 @@ return ret; } -static sector_t swap_page_sector(struct page *page) -{ - return (sector_t)__page_file_index(page) << (PAGE_SHIFT - 9); -} - static inline void count_swpout_vm_event(struct page *page) { #ifdef CONFIG_TRANSPARENT_HUGEPAGE --- linux-riscv-5.8-5.8.0.orig/mm/page_isolation.c +++ linux-riscv-5.8-5.8.0/mm/page_isolation.c @@ -170,6 +170,14 @@ * pageblocks we may have modified and return -EBUSY to caller. This * prevents two threads from simultaneously working on overlapping ranges. * + * Please note that there is no strong synchronization with the page allocator + * either. Pages might be freed while their page blocks are marked ISOLATED. + * In some cases pages might still end up on pcp lists and that would allow + * for their allocation even when they are in fact isolated already. Depending + * on how strong of a guarantee the caller needs drain_all_pages might be needed + * (e.g. __offline_pages will need to call it after check for isolated range for + * a next retry). + * * Return: the number of isolated pageblocks on success and -EBUSY if any part * of range cannot be isolated. */ --- linux-riscv-5.8-5.8.0.orig/mm/page_owner.c +++ linux-riscv-5.8-5.8.0/mm/page_owner.c @@ -204,7 +204,7 @@ page_owner->last_migrate_reason = reason; } -void __split_page_owner(struct page *page, unsigned int order) +void __split_page_owner(struct page *page, unsigned int nr) { int i; struct page_ext *page_ext = lookup_page_ext(page); @@ -213,7 +213,7 @@ if (unlikely(!page_ext)) return; - for (i = 0; i < (1 << order); i++) { + for (i = 0; i < nr; i++) { page_owner = get_page_owner(page_ext); page_owner->order = 0; page_ext = page_ext_next(page_ext); --- linux-riscv-5.8-5.8.0.orig/mm/page_vma_mapped.c +++ linux-riscv-5.8-5.8.0/mm/page_vma_mapped.c @@ -227,7 +227,7 @@ if (pvmw->address >= pvmw->vma->vm_end || pvmw->address >= __vma_address(pvmw->page, pvmw->vma) + - hpage_nr_pages(pvmw->page) * PAGE_SIZE) + thp_size(pvmw->page)) return not_found(pvmw); /* Did we cross page table boundary? */ if (pvmw->address % PMD_SIZE == 0) { @@ -268,7 +268,7 @@ unsigned long start, end; start = __vma_address(page, vma); - end = start + PAGE_SIZE * (hpage_nr_pages(page) - 1); + end = start + thp_size(page) - PAGE_SIZE; if (unlikely(end < vma->vm_start || start >= vma->vm_end)) return 0; --- linux-riscv-5.8-5.8.0.orig/mm/percpu.c +++ linux-riscv-5.8-5.8.0/mm/percpu.c @@ -1300,7 +1300,7 @@ /* allocate chunk */ alloc_size = sizeof(struct pcpu_chunk) + - BITS_TO_LONGS(region_size >> PAGE_SHIFT); + BITS_TO_LONGS(region_size >> PAGE_SHIFT) * sizeof(unsigned long); chunk = memblock_alloc(alloc_size, SMP_CACHE_BYTES); if (!chunk) panic("%s: Failed to allocate %zu bytes\n", __func__, --- linux-riscv-5.8-5.8.0.orig/mm/prfile.c +++ linux-riscv-5.8-5.8.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-2020 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-riscv-5.8-5.8.0.orig/mm/process_vm_access.c +++ linux-riscv-5.8-5.8.0/mm/process_vm_access.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/mm/ptdump.c +++ linux-riscv-5.8-5.8.0/mm/ptdump.c @@ -108,7 +108,7 @@ unsigned long next, struct mm_walk *walk) { struct ptdump_state *st = walk->private; - pte_t val = READ_ONCE(*pte); + pte_t val = ptep_get(pte); if (st->effective_prot) st->effective_prot(st, 4, pte_val(val)); --- linux-riscv-5.8-5.8.0.orig/mm/rmap.c +++ linux-riscv-5.8-5.8.0/mm/rmap.c @@ -1413,9 +1413,6 @@ /* * If sharing is possible, start and end will be adjusted * accordingly. - * - * If called for a huge page, caller must hold i_mmap_rwsem - * in write mode as it is possible to call huge_pmd_unshare. */ adjust_range_if_pmd_sharing_possible(vma, &range.start, &range.end); @@ -1462,14 +1459,14 @@ subpage = page - page_to_pfn(page) + pte_pfn(*pvmw.pte); address = pvmw.address; - if (PageHuge(page)) { + if (PageHuge(page) && !PageAnon(page)) { /* * To call huge_pmd_unshare, i_mmap_rwsem must be * held in write mode. Caller needs to explicitly * do this outside rmap routines. */ VM_BUG_ON(!(flags & TTU_RMAP_LOCKED)); - if (huge_pmd_unshare(mm, &address, pvmw.pte)) { + if (huge_pmd_unshare(mm, vma, &address, pvmw.pte)) { /* * huge_pmd_unshare unmapped an entire PMD * page. There is no way of knowing exactly @@ -1511,9 +1508,14 @@ */ entry = make_migration_entry(page, 0); swp_pte = swp_entry_to_pte(entry); - if (pte_soft_dirty(pteval)) + + /* + * pteval maps a zone device page and is therefore + * a swap pte. + */ + if (pte_swp_soft_dirty(pteval)) swp_pte = pte_swp_mksoft_dirty(swp_pte); - if (pte_uffd_wp(pteval)) + if (pte_swp_uffd_wp(pteval)) swp_pte = pte_swp_mkuffd_wp(swp_pte); set_pte_at(mm, pvmw.address, pvmw.pte, swp_pte); /* @@ -1531,15 +1533,6 @@ goto discard; } - if (!(flags & TTU_IGNORE_ACCESS)) { - if (ptep_clear_flush_young_notify(vma, address, - pvmw.pte)) { - ret = false; - page_vma_mapped_walk_done(&pvmw); - break; - } - } - /* Nuke the page table entry. */ flush_cache_page(vma, address, pte_pfn(*pvmw.pte)); if (should_defer_flush(mm, flags)) { --- linux-riscv-5.8-5.8.0.orig/mm/shmem.c +++ linux-riscv-5.8-5.8.0/mm/shmem.c @@ -109,7 +109,7 @@ struct shmem_options { unsigned long long blocks; - unsigned long long inodes; + int inodes; struct mempolicy *mpol; kuid_t uid; kgid_t gid; @@ -127,11 +127,14 @@ return totalram_pages() / 2; } -static unsigned long shmem_default_max_inodes(void) +static int shmem_default_max_inodes(void) { unsigned long nr_pages = totalram_pages(); + unsigned long ul; - return min(nr_pages - totalhigh_pages(), nr_pages / 2); + ul = INT_MAX; + ul = min3(ul, nr_pages - totalhigh_pages(), nr_pages / 2); + return ul; } #endif @@ -1116,6 +1119,11 @@ simple_xattrs_free(&info->xattrs); WARN_ON(inode->i_blocks); + if (!sbinfo->idr_nouse && inode->i_ino) { + mutex_lock(&sbinfo->idr_lock); + idr_remove(&sbinfo->idr, inode->i_ino); + mutex_unlock(&sbinfo->idr_lock); + } shmem_free_inode(inode->i_sb); clear_inode(inode); } @@ -2222,13 +2230,13 @@ struct inode *inode; struct shmem_inode_info *info; struct shmem_sb_info *sbinfo = SHMEM_SB(sb); + int ino; if (shmem_reserve_inode(sb)) return NULL; inode = new_inode(sb); if (inode) { - inode->i_ino = get_next_ino(); inode_init_owner(inode, dir, mode); inode->i_blocks = 0; inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode); @@ -2272,6 +2280,25 @@ break; } + if (!sbinfo->idr_nouse) { + /* inum 0 and 1 are unused */ + mutex_lock(&sbinfo->idr_lock); + ino = idr_alloc(&sbinfo->idr, inode, 2, INT_MAX, + GFP_NOFS); + if (ino > 0) { + inode->i_ino = ino; + mutex_unlock(&sbinfo->idr_lock); + __insert_inode_hash(inode, inode->i_ino); + } else { + inode->i_ino = 0; + mutex_unlock(&sbinfo->idr_lock); + iput(inode); + /* shmem_free_inode() will be called */ + inode = NULL; + } + } else + inode->i_ino = get_next_ino(); + lockdep_annotate_inode_mutex_key(inode); } else shmem_free_inode(sb); @@ -3265,8 +3292,7 @@ static int shmem_match(struct inode *ino, void *vfh) { __u32 *fh = vfh; - __u64 inum = fh[2]; - inum = (inum << 32) | fh[1]; + __u64 inum = fh[1]; return ino->i_ino == inum && fh[0] == ino->i_generation; } @@ -3286,14 +3312,11 @@ struct dentry *dentry = NULL; u64 inum; - if (fh_len < 3) + if (fh_len < 2) return NULL; - inum = fid->raw[2]; - inum = (inum << 32) | fid->raw[1]; - - inode = ilookup5(sb, (unsigned long)(inum + fid->raw[0]), - shmem_match, fid->raw); + inum = fid->raw[1]; + inode = ilookup5(sb, inum, shmem_match, fid->raw); if (inode) { dentry = shmem_find_alias(inode); iput(inode); @@ -3305,30 +3328,15 @@ static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len, struct inode *parent) { - if (*len < 3) { - *len = 3; + if (*len < 2) { + *len = 2; return FILEID_INVALID; } - if (inode_unhashed(inode)) { - /* Unfortunately insert_inode_hash is not idempotent, - * so as we hash inodes here rather than at creation - * time, we need a lock to ensure we only try - * to do it once - */ - static DEFINE_SPINLOCK(lock); - spin_lock(&lock); - if (inode_unhashed(inode)) - __insert_inode_hash(inode, - inode->i_ino + inode->i_generation); - spin_unlock(&lock); - } - fh[0] = inode->i_generation; fh[1] = inode->i_ino; - fh[2] = ((__u64)inode->i_ino) >> 32; - *len = 3; + *len = 2; return 1; } @@ -3403,7 +3411,7 @@ break; case Opt_nr_inodes: ctx->inodes = memparse(param->string, &rest); - if (*rest) + if (*rest || ctx->inodes < 2) goto bad_value; ctx->seen |= SHMEM_SEEN_INODES; break; @@ -3501,7 +3509,7 @@ { struct shmem_options *ctx = fc->fs_private; struct shmem_sb_info *sbinfo = SHMEM_SB(fc->root->d_sb); - unsigned long inodes; + int inodes; const char *err; spin_lock(&sbinfo->stat_lock); @@ -3560,7 +3568,7 @@ seq_printf(seq, ",size=%luk", sbinfo->max_blocks << (PAGE_SHIFT - 10)); if (sbinfo->max_inodes != shmem_default_max_inodes()) - seq_printf(seq, ",nr_inodes=%lu", sbinfo->max_inodes); + seq_printf(seq, ",nr_inodes=%d", sbinfo->max_inodes); if (sbinfo->mode != (0777 | S_ISVTX)) seq_printf(seq, ",mode=%03ho", sbinfo->mode); if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID)) @@ -3584,6 +3592,8 @@ { struct shmem_sb_info *sbinfo = SHMEM_SB(sb); + if (!sbinfo->idr_nouse) + idr_destroy(&sbinfo->idr); percpu_counter_destroy(&sbinfo->used_blocks); mpol_put(sbinfo->mpol); kfree(sbinfo); @@ -3624,6 +3634,8 @@ #else sb->s_flags |= SB_NOUSER; #endif + mutex_init(&sbinfo->idr_lock); + idr_init(&sbinfo->idr); sbinfo->max_blocks = ctx->blocks; sbinfo->free_inodes = sbinfo->max_inodes = ctx->inodes; sbinfo->uid = ctx->uid; @@ -3735,6 +3747,15 @@ kmem_cache_destroy(shmem_inode_cachep); } +static __init void shmem_no_idr(struct super_block *sb) +{ + struct shmem_sb_info *sbinfo; + + sbinfo = SHMEM_SB(sb); + sbinfo->idr_nouse = true; + idr_destroy(&sbinfo->idr); +} + static const struct address_space_operations shmem_aops = { .writepage = shmem_writepage, .set_page_dirty = __set_page_dirty_no_writeback, @@ -3875,6 +3896,7 @@ pr_err("Could not kern_mount tmpfs\n"); goto out1; } + shmem_no_idr(shm_mnt->mnt_sb); #ifdef CONFIG_TRANSPARENT_HUGEPAGE if (has_transparent_hugepage() && shmem_huge > SHMEM_HUGE_DENY) @@ -4158,6 +4180,7 @@ return 0; } +EXPORT_SYMBOL_GPL(shmem_zero_setup); /** * shmem_read_mapping_page_gfp - read into page cache, using specified page allocation flags. --- linux-riscv-5.8-5.8.0.orig/mm/shuffle.c +++ linux-riscv-5.8-5.8.0/mm/shuffle.c @@ -58,25 +58,25 @@ * For two pages to be swapped in the shuffle, they must be free (on a * 'free_area' lru), have the same order, and have the same migratetype. */ -static struct page * __meminit shuffle_valid_page(unsigned long pfn, int order) +static struct page * __meminit shuffle_valid_page(struct zone *zone, + unsigned long pfn, int order) { - struct page *page; + struct page *page = pfn_to_online_page(pfn); /* * Given we're dealing with randomly selected pfns in a zone we * need to ask questions like... */ - /* ...is the pfn even in the memmap? */ - if (!pfn_valid_within(pfn)) + /* ... is the page managed by the buddy? */ + if (!page) return NULL; - /* ...is the pfn in a present section or a hole? */ - if (!pfn_in_present_section(pfn)) + /* ... is the page assigned to the same zone? */ + if (page_zone(page) != zone) return NULL; /* ...is the page free and currently on a free_area list? */ - page = pfn_to_page(pfn); if (!PageBuddy(page)) return NULL; @@ -123,7 +123,7 @@ * page_j randomly selected in the span @zone_start_pfn to * @spanned_pages. */ - page_i = shuffle_valid_page(i, order); + page_i = shuffle_valid_page(z, i, order); if (!page_i) continue; @@ -137,7 +137,7 @@ j = z->zone_start_pfn + ALIGN_DOWN(get_random_long() % z->spanned_pages, order_pages); - page_j = shuffle_valid_page(j, order); + page_j = shuffle_valid_page(z, j, order); if (page_j && page_j != page_i) break; } --- linux-riscv-5.8-5.8.0.orig/mm/slab_common.c +++ linux-riscv-5.8-5.8.0/mm/slab_common.c @@ -326,14 +326,6 @@ if (s->refcount < 0) return 1; -#ifdef CONFIG_MEMCG_KMEM - /* - * Skip the dying kmem_cache. - */ - if (s->memcg_params.dying) - return 1; -#endif - return 0; } @@ -894,15 +886,12 @@ return 0; } -static void memcg_set_kmem_cache_dying(struct kmem_cache *s) +static void flush_memcg_workqueue(struct kmem_cache *s) { spin_lock_irq(&memcg_kmem_wq_lock); s->memcg_params.dying = true; spin_unlock_irq(&memcg_kmem_wq_lock); -} -static void flush_memcg_workqueue(struct kmem_cache *s) -{ /* * SLAB and SLUB deactivate the kmem_caches through call_rcu. Make * sure all registered rcu callbacks have been invoked. @@ -934,6 +923,10 @@ { return 0; } + +static inline void flush_memcg_workqueue(struct kmem_cache *s) +{ +} #endif /* CONFIG_MEMCG_KMEM */ void slab_kmem_cache_release(struct kmem_cache *s) @@ -951,6 +944,8 @@ if (unlikely(!s)) return; + flush_memcg_workqueue(s); + get_online_cpus(); get_online_mems(); @@ -960,22 +955,6 @@ if (s->refcount) goto out_unlock; -#ifdef CONFIG_MEMCG_KMEM - memcg_set_kmem_cache_dying(s); - - mutex_unlock(&slab_mutex); - - put_online_mems(); - put_online_cpus(); - - flush_memcg_workqueue(s); - - get_online_cpus(); - get_online_mems(); - - mutex_lock(&slab_mutex); -#endif - err = shutdown_memcg_caches(s); if (!err) err = shutdown_cache(s); --- linux-riscv-5.8-5.8.0.orig/mm/slub.c +++ linux-riscv-5.8-5.8.0/mm/slub.c @@ -680,12 +680,12 @@ } static bool freelist_corrupted(struct kmem_cache *s, struct page *page, - void *freelist, void *nextfree) + void **freelist, void *nextfree) { if ((s->flags & SLAB_CONSISTENCY_CHECKS) && - !check_valid_pointer(s, page, nextfree)) { - object_err(s, page, freelist, "Freechain corrupt"); - freelist = NULL; + !check_valid_pointer(s, page, nextfree) && freelist) { + object_err(s, page, *freelist, "Freechain corrupt"); + *freelist = NULL; slab_fix(s, "Isolate corrupted freechain"); return true; } @@ -1425,7 +1425,7 @@ int objects) {} static bool freelist_corrupted(struct kmem_cache *s, struct page *page, - void *freelist, void *nextfree) + void **freelist, void *nextfree) { return false; } @@ -2117,7 +2117,7 @@ * 'freelist' is already corrupted. So isolate all objects * starting at 'freelist'. */ - if (freelist_corrupted(s, page, freelist, nextfree)) + if (freelist_corrupted(s, page, &freelist, nextfree)) break; do { @@ -2784,7 +2784,7 @@ object = c->freelist; page = c->page; - if (unlikely(!object || !node_match(page, node))) { + if (unlikely(!object || !page || !node_match(page, node))) { object = __slab_alloc(s, gfpflags, node, addr, c); stat(s, ALLOC_SLOWPATH); } else { @@ -5824,10 +5824,8 @@ s->kobj.kset = kset; err = kobject_init_and_add(&s->kobj, &slab_ktype, NULL, "%s", name); - if (err) { - kobject_put(&s->kobj); + if (err) goto out; - } err = sysfs_create_group(&s->kobj, &slab_attr_group); if (err) --- linux-riscv-5.8-5.8.0.orig/mm/swap_state.c +++ linux-riscv-5.8-5.8.0/mm/swap_state.c @@ -37,7 +37,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-riscv-5.8-5.8.0.orig/mm/swapfile.c +++ linux-riscv-5.8-5.8.0/mm/swapfile.c @@ -220,6 +220,19 @@ BUG(); } +sector_t swap_page_sector(struct page *page) +{ + struct swap_info_struct *sis = page_swap_info(page); + struct swap_extent *se; + sector_t sector; + pgoff_t offset; + + offset = __page_file_index(page); + se = offset_to_swap_extent(sis, offset); + sector = se->start_block + (offset - se->start_page); + return sector << (PAGE_SHIFT - 9); +} + /* * swap allocation tell device that a cluster of swap can now be discarded, * to allow the swap device to optimize its wear-levelling. @@ -1040,16 +1053,18 @@ /* Only single cluster request supported */ WARN_ON_ONCE(n_goal > 1 && size == SWAPFILE_CLUSTER); + spin_lock(&swap_avail_lock); + avail_pgs = atomic_long_read(&nr_swap_pages) / size; - if (avail_pgs <= 0) + if (avail_pgs <= 0) { + spin_unlock(&swap_avail_lock); goto noswap; + } n_goal = min3((long)n_goal, (long)SWAP_BATCH, avail_pgs); atomic_long_sub(n_goal * size, &nr_swap_pages); - spin_lock(&swap_avail_lock); - start_over: node = numa_node_id(); plist_for_each_entry_safe(si, next, &swap_avail_heads[node], avail_lists[node]) { @@ -1074,7 +1089,7 @@ goto nextsi; } if (size == SWAPFILE_CLUSTER) { - if (!(si->flags & SWP_FS)) + if (si->flags & SWP_BLKDEV) n_ret = swap_alloc_cluster(si, swp_entries); } else n_ret = scan_swap_map_slots(si, SWAP_HAS_CACHE, @@ -1123,14 +1138,13 @@ spin_lock(&si->lock); if (si->flags & SWP_WRITEOK) { - atomic_long_dec(&nr_swap_pages); /* This is called for allocating swap entry, not cache */ offset = scan_swap_map(si, 1); if (offset) { + atomic_long_dec(&nr_swap_pages); spin_unlock(&si->lock); return swp_entry(type, offset); } - atomic_long_inc(&nr_swap_pages); } spin_unlock(&si->lock); fail: @@ -2861,6 +2875,7 @@ static struct swap_info_struct *alloc_swap_info(void) { struct swap_info_struct *p; + struct swap_info_struct *defer = NULL; unsigned int type; int i; @@ -2889,7 +2904,7 @@ smp_wmb(); WRITE_ONCE(nr_swapfiles, nr_swapfiles + 1); } else { - kvfree(p); + defer = p; p = swap_info[type]; /* * Do not memset this entry: a racing procfs swap_next() @@ -2902,6 +2917,7 @@ plist_node_init(&p->avail_lists[i], 0); p->flags = SWP_USED; spin_unlock(&swap_lock); + kvfree(defer); spin_lock_init(&p->lock); spin_lock_init(&p->cont_lock); @@ -3336,7 +3352,7 @@ error = inode_drain_writes(inode); if (error) { inode->i_flags &= ~S_SWAPFILE; - goto bad_swap_unlock_inode; + goto free_swap_address_space; } mutex_lock(&swapon_mutex); @@ -3361,6 +3377,8 @@ error = 0; goto out; +free_swap_address_space: + exit_swap_address_space(p->type); bad_swap_unlock_inode: inode_unlock(inode); bad_swap: --- linux-riscv-5.8-5.8.0.orig/mm/vmalloc.c +++ linux-riscv-5.8-5.8.0/mm/vmalloc.c @@ -102,6 +102,8 @@ if (pmd_none_or_clear_bad(pmd)) continue; vunmap_pte_range(pmd, addr, next, mask); + + cond_resched(); } while (pmd++, addr = next, addr != end); } @@ -315,6 +317,7 @@ return 0; } +EXPORT_SYMBOL(map_kernel_range_noflush); int map_kernel_range(unsigned long start, unsigned long size, pgprot_t prot, struct page **pages) @@ -2147,6 +2150,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) @@ -2288,7 +2292,7 @@ debug_check_no_locks_freed(area->addr, get_vm_area_size(area)); debug_check_no_obj_freed(area->addr, get_vm_area_size(area)); - kasan_poison_vmalloc(area->addr, area->size); + kasan_poison_vmalloc(area->addr, get_vm_area_size(area)); vm_remove_mappings(area, deallocate_pages); @@ -3477,11 +3481,11 @@ } static void s_stop(struct seq_file *m, void *p) - __releases(&vmap_purge_lock) __releases(&vmap_area_lock) + __releases(&vmap_purge_lock) { - mutex_unlock(&vmap_purge_lock); spin_unlock(&vmap_area_lock); + mutex_unlock(&vmap_purge_lock); } static void show_numa_info(struct seq_file *m, struct vm_struct *v) --- linux-riscv-5.8-5.8.0.orig/mm/vmscan.c +++ linux-riscv-5.8-5.8.0/mm/vmscan.c @@ -1076,7 +1076,6 @@ static unsigned int shrink_page_list(struct list_head *page_list, struct pglist_data *pgdat, struct scan_control *sc, - enum ttu_flags ttu_flags, struct reclaim_stat *stat, bool ignore_references) { @@ -1245,6 +1244,8 @@ if (!PageSwapCache(page)) { if (!(sc->gfp_mask & __GFP_IO)) goto keep_locked; + if (page_maybe_dma_pinned(page)) + goto keep_locked; if (PageTransHuge(page)) { /* cannot split THP, skip it */ if (!can_split_huge_page(page, NULL)) @@ -1301,7 +1302,7 @@ * processes. Try to unmap it here. */ if (page_mapped(page)) { - enum ttu_flags flags = ttu_flags | TTU_BATCH_FLUSH; + enum ttu_flags flags = TTU_BATCH_FLUSH; bool was_swapbacked = PageSwapBacked(page); if (unlikely(PageTransHuge(page))) @@ -1518,9 +1519,10 @@ } nr_reclaimed = shrink_page_list(&clean_pages, zone->zone_pgdat, &sc, - TTU_IGNORE_ACCESS, &stat, true); + &stat, true); list_splice(&clean_pages, page_list); - mod_node_page_state(zone->zone_pgdat, NR_ISOLATED_FILE, -nr_reclaimed); + mod_node_page_state(zone->zone_pgdat, NR_ISOLATED_FILE, + -(long)nr_reclaimed); /* * Since lazyfree pages are isolated from file LRU from the beginning, * they will rotate back to anonymous LRU in the end if it failed to @@ -1530,7 +1532,7 @@ mod_node_page_state(zone->zone_pgdat, NR_ISOLATED_ANON, stat.nr_lazyfree_fail); mod_node_page_state(zone->zone_pgdat, NR_ISOLATED_FILE, - -stat.nr_lazyfree_fail); + -(long)stat.nr_lazyfree_fail); return nr_reclaimed; } @@ -1961,8 +1963,7 @@ if (nr_taken == 0) return 0; - nr_reclaimed = shrink_page_list(&page_list, pgdat, sc, 0, - &stat, false); + nr_reclaimed = shrink_page_list(&page_list, pgdat, sc, &stat, false); spin_lock_irq(&pgdat->lru_lock); @@ -2133,8 +2134,7 @@ nr_reclaimed += shrink_page_list(&node_page_list, NODE_DATA(nid), - &sc, 0, - &dummy_stat, false); + &sc, &dummy_stat, false); while (!list_empty(&node_page_list)) { page = lru_to_page(&node_page_list); list_del(&page->lru); @@ -2147,8 +2147,7 @@ if (!list_empty(&node_page_list)) { nr_reclaimed += shrink_page_list(&node_page_list, NODE_DATA(nid), - &sc, 0, - &dummy_stat, false); + &sc, &dummy_stat, false); while (!list_empty(&node_page_list)) { page = lru_to_page(&node_page_list); list_del(&page->lru); @@ -2619,6 +2618,14 @@ unsigned long reclaimed; unsigned long scanned; + /* + * This loop can become CPU-bound when target memcgs + * aren't eligible for reclaim - either because they + * don't have any reclaimable pages, or because their + * memory is explicitly protected. Avoid soft lockups. + */ + cond_resched(); + switch (mem_cgroup_protected(target_memcg, memcg)) { case MEMCG_PROT_MIN: /* @@ -4089,8 +4096,13 @@ */ int node_reclaim_mode __read_mostly; -#define RECLAIM_WRITE (1<<0) /* Writeout pages during reclaim */ -#define RECLAIM_UNMAP (1<<1) /* Unmap pages during reclaim */ +/* + * These bit locations are exposed in the vm.zone_reclaim_mode sysctl + * ABI. New bits are OK, but existing bits can never change. + */ +#define RECLAIM_ZONE (1<<0) /* Run shrink_inactive_list on the zone */ +#define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ +#define RECLAIM_UNMAP (1<<2) /* Unmap pages during reclaim */ /* * Priority for NODE_RECLAIM. This determines the fraction of pages --- linux-riscv-5.8-5.8.0.orig/mm/vmstat.c +++ linux-riscv-5.8-5.8.0/mm/vmstat.c @@ -1596,12 +1596,6 @@ zone->present_pages, zone_managed_pages(zone)); - /* If unpopulated, no other information is useful */ - if (!populated_zone(zone)) { - seq_putc(m, '\n'); - return; - } - seq_printf(m, "\n protection: (%ld", zone->lowmem_reserve[0]); @@ -1609,6 +1603,12 @@ seq_printf(m, ", %ld", zone->lowmem_reserve[i]); seq_putc(m, ')'); + /* If unpopulated, no other information is useful */ + if (!populated_zone(zone)) { + seq_putc(m, '\n'); + return; + } + for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++) seq_printf(m, "\n %-12s %lu", zone_stat_name(i), zone_page_state(zone, i)); --- linux-riscv-5.8-5.8.0.orig/mm/z3fold.c +++ linux-riscv-5.8-5.8.0/mm/z3fold.c @@ -90,7 +90,7 @@ * be enough slots to hold all possible variants */ unsigned long slot[BUDDY_MASK + 1]; - unsigned long pool; /* back link + flags */ + unsigned long pool; /* back link */ rwlock_t lock; }; #define HANDLE_FLAG_MASK (0x03) @@ -185,7 +185,7 @@ * handle flags, go under HANDLE_FLAG_MASK */ enum z3fold_handle_flags { - HANDLES_ORPHANED = 0, + HANDLES_NOFREE = 0, }; /* @@ -304,10 +304,9 @@ z3fold_page_unlock(zhdr); } -static inline void free_handle(unsigned long handle) +static inline void free_handle(unsigned long handle, struct z3fold_header *zhdr) { struct z3fold_buddy_slots *slots; - struct z3fold_header *zhdr; int i; bool is_free; @@ -317,22 +316,19 @@ if (WARN_ON(*(unsigned long *)handle == 0)) return; - zhdr = handle_to_z3fold_header(handle); slots = handle_to_slots(handle); write_lock(&slots->lock); *(unsigned long *)handle = 0; - if (zhdr->slots == slots) { + + if (test_bit(HANDLES_NOFREE, &slots->pool)) { write_unlock(&slots->lock); return; /* simple case, nothing else to do */ } - /* we are freeing a foreign handle if we are here */ - zhdr->foreign_handles--; + if (zhdr->slots != slots) + zhdr->foreign_handles--; + is_free = true; - if (!test_bit(HANDLES_ORPHANED, &slots->pool)) { - write_unlock(&slots->lock); - return; - } for (i = 0; i <= BUDDY_MASK; i++) { if (slots->slot[i]) { is_free = false; @@ -344,6 +340,8 @@ if (is_free) { struct z3fold_pool *pool = slots_to_pool(slots); + if (zhdr->slots == slots) + zhdr->slots = NULL; kmem_cache_free(pool->c_handle, slots); } } @@ -526,8 +524,6 @@ { struct page *page = virt_to_page(zhdr); struct z3fold_pool *pool = zhdr_to_pool(zhdr); - bool is_free = true; - int i; WARN_ON(!list_empty(&zhdr->buddy)); set_bit(PAGE_STALE, &page->private); @@ -537,21 +533,6 @@ list_del_init(&page->lru); spin_unlock(&pool->lock); - /* If there are no foreign handles, free the handles array */ - read_lock(&zhdr->slots->lock); - for (i = 0; i <= BUDDY_MASK; i++) { - if (zhdr->slots->slot[i]) { - is_free = false; - break; - } - } - if (!is_free) - set_bit(HANDLES_ORPHANED, &zhdr->slots->pool); - read_unlock(&zhdr->slots->lock); - - if (is_free) - kmem_cache_free(pool->c_handle, zhdr->slots); - if (locked) z3fold_page_unlock(zhdr); @@ -654,6 +635,28 @@ } } +static inline enum buddy get_free_buddy(struct z3fold_header *zhdr, int chunks) +{ + enum buddy bud = HEADLESS; + + if (zhdr->middle_chunks) { + if (!zhdr->first_chunks && + chunks <= zhdr->start_middle - ZHDR_CHUNKS) + bud = FIRST; + else if (!zhdr->last_chunks) + bud = LAST; + } else { + if (!zhdr->first_chunks) + bud = FIRST; + else if (!zhdr->last_chunks) + bud = LAST; + else + bud = MIDDLE; + } + + return bud; +} + static inline void *mchunk_memmove(struct z3fold_header *zhdr, unsigned short dst_chunk) { @@ -715,18 +718,7 @@ if (WARN_ON(new_zhdr == zhdr)) goto out_fail; - if (new_zhdr->first_chunks == 0) { - if (new_zhdr->middle_chunks != 0 && - chunks >= new_zhdr->start_middle) { - new_bud = LAST; - } else { - new_bud = FIRST; - } - } else if (new_zhdr->last_chunks == 0) { - new_bud = LAST; - } else if (new_zhdr->middle_chunks == 0) { - new_bud = MIDDLE; - } + new_bud = get_free_buddy(new_zhdr, chunks); q = new_zhdr; switch (new_bud) { case FIRST: @@ -848,9 +840,8 @@ return; } - if (unlikely(PageIsolated(page) || - test_bit(PAGE_CLAIMED, &page->private) || - test_bit(PAGE_STALE, &page->private))) { + if (test_bit(PAGE_STALE, &page->private) || + test_and_set_bit(PAGE_CLAIMED, &page->private)) { z3fold_page_unlock(zhdr); return; } @@ -859,13 +850,16 @@ zhdr->mapped_count == 0 && compact_single_buddy(zhdr)) { if (kref_put(&zhdr->refcount, release_z3fold_page_locked)) atomic64_dec(&pool->pages_nr); - else + else { + clear_bit(PAGE_CLAIMED, &page->private); z3fold_page_unlock(zhdr); + } return; } z3fold_compact_page(zhdr); add_to_unbuddied(pool, zhdr); + clear_bit(PAGE_CLAIMED, &page->private); z3fold_page_unlock(zhdr); } @@ -974,6 +968,9 @@ } } + if (zhdr && !zhdr->slots) + zhdr->slots = alloc_slots(pool, + can_sleep ? GFP_NOIO : GFP_ATOMIC); return zhdr; } @@ -1110,17 +1107,8 @@ retry: zhdr = __z3fold_alloc(pool, size, can_sleep); if (zhdr) { - if (zhdr->first_chunks == 0) { - if (zhdr->middle_chunks != 0 && - chunks >= zhdr->start_middle) - bud = LAST; - else - bud = FIRST; - } else if (zhdr->last_chunks == 0) - bud = LAST; - else if (zhdr->middle_chunks == 0) - bud = MIDDLE; - else { + bud = get_free_buddy(zhdr, chunks); + if (bud == HEADLESS) { if (kref_put(&zhdr->refcount, release_z3fold_page_locked)) atomic64_dec(&pool->pages_nr); @@ -1266,12 +1254,11 @@ pr_err("%s: unknown bud %d\n", __func__, bud); WARN_ON(1); put_z3fold_header(zhdr); - clear_bit(PAGE_CLAIMED, &page->private); return; } if (!page_claimed) - free_handle(handle); + free_handle(handle, zhdr); if (kref_put(&zhdr->refcount, release_z3fold_page_locked_list)) { atomic64_dec(&pool->pages_nr); return; @@ -1281,8 +1268,7 @@ z3fold_page_unlock(zhdr); return; } - if (unlikely(PageIsolated(page)) || - test_and_set_bit(NEEDS_COMPACTING, &page->private)) { + if (test_and_set_bit(NEEDS_COMPACTING, &page->private)) { put_z3fold_header(zhdr); clear_bit(PAGE_CLAIMED, &page->private); return; @@ -1346,6 +1332,10 @@ struct page *page = NULL; struct list_head *pos; unsigned long first_handle = 0, middle_handle = 0, last_handle = 0; + struct z3fold_buddy_slots slots __attribute__((aligned(SLOTS_ALIGN))); + + rwlock_init(&slots.lock); + slots.pool = (unsigned long)pool | (1 << HANDLES_NOFREE); spin_lock(&pool->lock); if (!pool->ops || !pool->ops->evict || retries == 0) { @@ -1360,35 +1350,50 @@ list_for_each_prev(pos, &pool->lru) { page = list_entry(pos, struct page, lru); - /* this bit could have been set by free, in which case - * we pass over to the next page in the pool. - */ - if (test_and_set_bit(PAGE_CLAIMED, &page->private)) { - page = NULL; - continue; - } - - if (unlikely(PageIsolated(page))) { - clear_bit(PAGE_CLAIMED, &page->private); - page = NULL; - continue; - } zhdr = page_address(page); - if (test_bit(PAGE_HEADLESS, &page->private)) + if (test_bit(PAGE_HEADLESS, &page->private)) { + /* + * For non-headless pages, we wait to do this + * until we have the page lock to avoid racing + * with __z3fold_alloc(). Headless pages don't + * have a lock (and __z3fold_alloc() will never + * see them), but we still need to test and set + * PAGE_CLAIMED to avoid racing with + * z3fold_free(), so just do it now before + * leaving the loop. + */ + if (test_and_set_bit(PAGE_CLAIMED, &page->private)) + continue; + break; + } + if (kref_get_unless_zero(&zhdr->refcount) == 0) { + zhdr = NULL; + break; + } if (!z3fold_page_trylock(zhdr)) { - clear_bit(PAGE_CLAIMED, &page->private); + if (kref_put(&zhdr->refcount, + release_z3fold_page)) + atomic64_dec(&pool->pages_nr); zhdr = NULL; continue; /* can't evict at this point */ } - if (zhdr->foreign_handles) { - clear_bit(PAGE_CLAIMED, &page->private); - z3fold_page_unlock(zhdr); + + /* test_and_set_bit is of course atomic, but we still + * need to do it under page lock, otherwise checking + * that bit in __z3fold_alloc wouldn't make sense + */ + if (zhdr->foreign_handles || + test_and_set_bit(PAGE_CLAIMED, &page->private)) { + if (kref_put(&zhdr->refcount, + release_z3fold_page)) + atomic64_dec(&pool->pages_nr); + else + z3fold_page_unlock(zhdr); zhdr = NULL; continue; /* can't evict such page */ } - kref_get(&zhdr->refcount); list_del_init(&zhdr->buddy); zhdr->cpu = -1; break; @@ -1410,12 +1415,16 @@ first_handle = 0; last_handle = 0; middle_handle = 0; + memset(slots.slot, 0, sizeof(slots.slot)); if (zhdr->first_chunks) - first_handle = encode_handle(zhdr, FIRST); + first_handle = __encode_handle(zhdr, &slots, + FIRST); if (zhdr->middle_chunks) - middle_handle = encode_handle(zhdr, MIDDLE); + middle_handle = __encode_handle(zhdr, &slots, + MIDDLE); if (zhdr->last_chunks) - last_handle = encode_handle(zhdr, LAST); + last_handle = __encode_handle(zhdr, &slots, + LAST); /* * it's safe to unlock here because we hold a * reference to this page @@ -1430,19 +1439,16 @@ ret = pool->ops->evict(pool, middle_handle); if (ret) goto next; - free_handle(middle_handle); } if (first_handle) { ret = pool->ops->evict(pool, first_handle); if (ret) goto next; - free_handle(first_handle); } if (last_handle) { ret = pool->ops->evict(pool, last_handle); if (ret) goto next; - free_handle(last_handle); } next: if (test_bit(PAGE_HEADLESS, &page->private)) { @@ -1456,9 +1462,11 @@ spin_unlock(&pool->lock); clear_bit(PAGE_CLAIMED, &page->private); } else { + struct z3fold_buddy_slots *slots = zhdr->slots; z3fold_page_lock(zhdr); if (kref_put(&zhdr->refcount, release_z3fold_page_locked)) { + kmem_cache_free(pool->c_handle, slots); atomic64_dec(&pool->pages_nr); return 0; } @@ -1574,8 +1582,7 @@ VM_BUG_ON_PAGE(!PageMovable(page), page); VM_BUG_ON_PAGE(PageIsolated(page), page); - if (test_bit(PAGE_HEADLESS, &page->private) || - test_bit(PAGE_CLAIMED, &page->private)) + if (test_bit(PAGE_HEADLESS, &page->private)) return false; zhdr = page_address(page); @@ -1587,6 +1594,8 @@ if (zhdr->mapped_count != 0 || zhdr->foreign_handles != 0) goto out; + if (test_and_set_bit(PAGE_CLAIMED, &page->private)) + goto out; pool = zhdr_to_pool(zhdr); spin_lock(&pool->lock); if (!list_empty(&zhdr->buddy)) @@ -1613,16 +1622,17 @@ VM_BUG_ON_PAGE(!PageMovable(page), page); VM_BUG_ON_PAGE(!PageIsolated(page), page); + VM_BUG_ON_PAGE(!test_bit(PAGE_CLAIMED, &page->private), page); VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); zhdr = page_address(page); pool = zhdr_to_pool(zhdr); - if (!z3fold_page_trylock(zhdr)) { + if (!z3fold_page_trylock(zhdr)) return -EAGAIN; - } if (zhdr->mapped_count != 0 || zhdr->foreign_handles != 0) { z3fold_page_unlock(zhdr); + clear_bit(PAGE_CLAIMED, &page->private); return -EBUSY; } if (work_pending(&zhdr->work)) { @@ -1664,6 +1674,7 @@ queue_work_on(new_zhdr->cpu, pool->compact_wq, &new_zhdr->work); page_mapcount_reset(page); + clear_bit(PAGE_CLAIMED, &page->private); put_page(page); return 0; } @@ -1687,6 +1698,7 @@ spin_lock(&pool->lock); list_add(&page->lru, &pool->lru); spin_unlock(&pool->lock); + clear_bit(PAGE_CLAIMED, &page->private); z3fold_page_unlock(zhdr); } --- linux-riscv-5.8-5.8.0.orig/mm/zsmalloc.c +++ linux-riscv-5.8-5.8.0/mm/zsmalloc.c @@ -293,11 +293,7 @@ }; struct mapping_area { -#ifdef CONFIG_ZSMALLOC_PGTABLE_MAPPING - struct vm_struct *vm; /* vm area for mapping object that span pages */ -#else char *vm_buf; /* copy buffer for objects that span pages */ -#endif char *vm_addr; /* address of kmap_atomic()'ed pages */ enum zs_mapmode vm_mm; /* mapping mode */ }; @@ -1113,48 +1109,6 @@ return zspage; } -#ifdef CONFIG_ZSMALLOC_PGTABLE_MAPPING -static inline int __zs_cpu_up(struct mapping_area *area) -{ - /* - * Make sure we don't leak memory if a cpu UP notification - * and zs_init() race and both call zs_cpu_up() on the same cpu - */ - if (area->vm) - return 0; - area->vm = alloc_vm_area(PAGE_SIZE * 2, NULL); - if (!area->vm) - return -ENOMEM; - return 0; -} - -static inline void __zs_cpu_down(struct mapping_area *area) -{ - if (area->vm) - free_vm_area(area->vm); - area->vm = NULL; -} - -static inline void *__zs_map_object(struct mapping_area *area, - struct page *pages[2], int off, int size) -{ - unsigned long addr = (unsigned long)area->vm->addr; - - BUG_ON(map_kernel_range(addr, PAGE_SIZE * 2, PAGE_KERNEL, pages) < 0); - area->vm_addr = area->vm->addr; - return area->vm_addr + off; -} - -static inline void __zs_unmap_object(struct mapping_area *area, - struct page *pages[2], int off, int size) -{ - unsigned long addr = (unsigned long)area->vm_addr; - - unmap_kernel_range(addr, PAGE_SIZE * 2); -} - -#else /* CONFIG_ZSMALLOC_PGTABLE_MAPPING */ - static inline int __zs_cpu_up(struct mapping_area *area) { /* @@ -1235,8 +1189,6 @@ pagefault_enable(); } -#endif /* CONFIG_ZSMALLOC_PGTABLE_MAPPING */ - static int zs_cpu_prepare(unsigned int cpu) { struct mapping_area *area; @@ -2264,11 +2216,13 @@ return obj_wasted * class->pages_per_zspage; } -static void __zs_compact(struct zs_pool *pool, struct size_class *class) +static unsigned long __zs_compact(struct zs_pool *pool, + struct size_class *class) { struct zs_compact_control cc; struct zspage *src_zspage; struct zspage *dst_zspage = NULL; + unsigned long pages_freed = 0; spin_lock(&class->lock); while ((src_zspage = isolate_zspage(class, true))) { @@ -2298,7 +2252,7 @@ putback_zspage(class, dst_zspage); if (putback_zspage(class, src_zspage) == ZS_EMPTY) { free_zspage(pool, class, src_zspage); - pool->stats.pages_compacted += class->pages_per_zspage; + pages_freed += class->pages_per_zspage; } spin_unlock(&class->lock); cond_resched(); @@ -2309,12 +2263,15 @@ putback_zspage(class, src_zspage); spin_unlock(&class->lock); + + return pages_freed; } unsigned long zs_compact(struct zs_pool *pool) { int i; struct size_class *class; + unsigned long pages_freed = 0; for (i = ZS_SIZE_CLASSES - 1; i >= 0; i--) { class = pool->size_class[i]; @@ -2322,10 +2279,11 @@ continue; if (class->index != i) continue; - __zs_compact(pool, class); + pages_freed += __zs_compact(pool, class); } + atomic_long_add(pages_freed, &pool->stats.pages_compacted); - return pool->stats.pages_compacted; + return pages_freed; } EXPORT_SYMBOL_GPL(zs_compact); @@ -2342,13 +2300,12 @@ struct zs_pool *pool = container_of(shrinker, struct zs_pool, shrinker); - pages_freed = pool->stats.pages_compacted; /* * Compact classes and calculate compaction delta. * Can run concurrently with a manually triggered * (by user) compaction. */ - pages_freed = zs_compact(pool) - pages_freed; + pages_freed = zs_compact(pool); return pages_freed ? pages_freed : SHRINK_STOP; } --- linux-riscv-5.8-5.8.0.orig/net/8021q/vlan.c +++ linux-riscv-5.8-5.8.0/net/8021q/vlan.c @@ -280,7 +280,8 @@ return 0; out_free_newdev: - if (new_dev->reg_state == NETREG_UNINITIALIZED) + if (new_dev->reg_state == NETREG_UNINITIALIZED || + new_dev->reg_state == NETREG_UNREGISTERED) free_netdev(new_dev); return err; } --- linux-riscv-5.8-5.8.0.orig/net/9p/client.c +++ linux-riscv-5.8-5.8.0/net/9p/client.c @@ -1617,10 +1617,6 @@ } p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", count); - if (!count) { - p9_tag_remove(clnt, req); - return 0; - } if (non_zc) { int n = copy_to_iter(dataptr, count, to); --- linux-riscv-5.8-5.8.0.orig/net/9p/trans_fd.c +++ linux-riscv-5.8-5.8.0/net/9p/trans_fd.c @@ -1023,7 +1023,7 @@ csocket = NULL; - if (addr == NULL) + if (!addr || !strlen(addr)) return -EINVAL; if (strlen(addr) >= UNIX_PATH_MAX) { --- linux-riscv-5.8-5.8.0.orig/net/appletalk/atalk_proc.c +++ linux-riscv-5.8-5.8.0/net/appletalk/atalk_proc.c @@ -229,6 +229,8 @@ sizeof(struct aarp_iter_state), NULL)) goto out; + return 0; + out: remove_proc_subtree("atalk", init_net.proc_net); return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/net/appletalk/ddp.c +++ linux-riscv-5.8-5.8.0/net/appletalk/ddp.c @@ -1576,8 +1576,8 @@ struct sk_buff *skb; struct net_device *dev; struct ddpehdr *ddp; - int size; - struct atalk_route *rt; + int size, hard_header_len; + struct atalk_route *rt, *rt_lo = NULL; int err; if (flags & ~(MSG_DONTWAIT|MSG_CMSG_COMPAT)) @@ -1640,7 +1640,22 @@ SOCK_DEBUG(sk, "SK %p: Size needed %d, device %s\n", sk, size, dev->name); - size += dev->hard_header_len; + hard_header_len = dev->hard_header_len; + /* Leave room for loopback hardware header if necessary */ + if (usat->sat_addr.s_node == ATADDR_BCAST && + (dev->flags & IFF_LOOPBACK || !(rt->flags & RTF_GATEWAY))) { + struct atalk_addr at_lo; + + at_lo.s_node = 0; + at_lo.s_net = 0; + + rt_lo = atrtr_find(&at_lo); + + if (rt_lo && rt_lo->dev->hard_header_len > hard_header_len) + hard_header_len = rt_lo->dev->hard_header_len; + } + + size += hard_header_len; release_sock(sk); skb = sock_alloc_send_skb(sk, size, (flags & MSG_DONTWAIT), &err); lock_sock(sk); @@ -1648,7 +1663,7 @@ goto out; skb_reserve(skb, ddp_dl->header_length); - skb_reserve(skb, dev->hard_header_len); + skb_reserve(skb, hard_header_len); skb->dev = dev; SOCK_DEBUG(sk, "SK %p: Begin build.\n", sk); @@ -1699,18 +1714,12 @@ /* loop back */ skb_orphan(skb); if (ddp->deh_dnode == ATADDR_BCAST) { - struct atalk_addr at_lo; - - at_lo.s_node = 0; - at_lo.s_net = 0; - - rt = atrtr_find(&at_lo); - if (!rt) { + if (!rt_lo) { kfree_skb(skb); err = -ENETUNREACH; goto out; } - dev = rt->dev; + dev = rt_lo->dev; skb->dev = dev; } ddp_dl->request(ddp_dl, skb, dev->dev_addr); --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/bat_v_ogm.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/bat_v_ogm.c @@ -874,6 +874,12 @@ ntohl(ogm_packet->seqno), ogm_throughput, ogm_packet->ttl, ogm_packet->version, ntohs(ogm_packet->tvlv_len)); + if (batadv_is_my_mac(bat_priv, ogm_packet->orig)) { + batadv_dbg(BATADV_DBG_BATMAN, bat_priv, + "Drop packet: originator packet from ourself\n"); + return; + } + /* If the throughput metric is 0, immediately drop the packet. No need * to create orig_node / neigh_node for an unusable route. */ @@ -1001,11 +1007,6 @@ if (batadv_is_my_mac(bat_priv, ethhdr->h_source)) goto free_skb; - ogm_packet = (struct batadv_ogm2_packet *)skb->data; - - if (batadv_is_my_mac(bat_priv, ogm_packet->orig)) - goto free_skb; - batadv_inc_counter(bat_priv, BATADV_CNT_MGMT_RX); batadv_add_counter(bat_priv, BATADV_CNT_MGMT_RX_BYTES, skb->len + ETH_HLEN); --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/bridge_loop_avoidance.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/bridge_loop_avoidance.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -83,11 +84,12 @@ */ static inline u32 batadv_choose_backbone_gw(const void *data, u32 size) { - const struct batadv_bla_claim *claim = (struct batadv_bla_claim *)data; + const struct batadv_bla_backbone_gw *gw; u32 hash = 0; - hash = jhash(&claim->addr, sizeof(claim->addr), hash); - hash = jhash(&claim->vid, sizeof(claim->vid), hash); + gw = (struct batadv_bla_backbone_gw *)data; + hash = jhash(&gw->orig, sizeof(gw->orig), hash); + hash = jhash(&gw->vid, sizeof(gw->vid), hash); return hash % size; } @@ -437,7 +439,10 @@ batadv_add_counter(bat_priv, BATADV_CNT_RX_BYTES, skb->len + ETH_HLEN); - netif_rx(skb); + if (in_interrupt()) + netif_rx(skb); + else + netif_rx_ni(skb); out: if (primary_if) batadv_hardif_put(primary_if); @@ -1576,13 +1581,16 @@ } /** - * batadv_bla_check_bcast_duplist() - Check if a frame is in the broadcast dup. + * batadv_bla_check_duplist() - Check if a frame is in the broadcast dup. * @bat_priv: the bat priv with all the soft interface information - * @skb: contains the bcast_packet to be checked - * - * check if it is on our broadcast list. Another gateway might - * have sent the same packet because it is connected to the same backbone, - * so we have to remove this duplicate. + * @skb: contains the multicast packet to be checked + * @payload_ptr: pointer to position inside the head buffer of the skb + * marking the start of the data to be CRC'ed + * @orig: originator mac address, NULL if unknown + * + * Check if it is on our broadcast list. Another gateway might have sent the + * same packet because it is connected to the same backbone, so we have to + * remove this duplicate. * * This is performed by checking the CRC, which will tell us * with a good chance that it is the same packet. If it is furthermore @@ -1591,19 +1599,17 @@ * * Return: true if a packet is in the duplicate list, false otherwise. */ -bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, - struct sk_buff *skb) +static bool batadv_bla_check_duplist(struct batadv_priv *bat_priv, + struct sk_buff *skb, u8 *payload_ptr, + const u8 *orig) { - int i, curr; - __be32 crc; - struct batadv_bcast_packet *bcast_packet; struct batadv_bcast_duplist_entry *entry; bool ret = false; - - bcast_packet = (struct batadv_bcast_packet *)skb->data; + int i, curr; + __be32 crc; /* calculate the crc ... */ - crc = batadv_skb_crc32(skb, (u8 *)(bcast_packet + 1)); + crc = batadv_skb_crc32(skb, payload_ptr); spin_lock_bh(&bat_priv->bla.bcast_duplist_lock); @@ -1622,8 +1628,21 @@ if (entry->crc != crc) continue; - if (batadv_compare_eth(entry->orig, bcast_packet->orig)) - continue; + /* are the originators both known and not anonymous? */ + if (orig && !is_zero_ether_addr(orig) && + !is_zero_ether_addr(entry->orig)) { + /* If known, check if the new frame came from + * the same originator: + * We are safe to take identical frames from the + * same orig, if known, as multiplications in + * the mesh are detected via the (orig, seqno) pair. + * So we can be a bit more liberal here and allow + * identical frames from the same orig which the source + * host might have sent multiple times on purpose. + */ + if (batadv_compare_eth(entry->orig, orig)) + continue; + } /* this entry seems to match: same crc, not too old, * and from another gw. therefore return true to forbid it. @@ -1639,7 +1658,14 @@ entry = &bat_priv->bla.bcast_duplist[curr]; entry->crc = crc; entry->entrytime = jiffies; - ether_addr_copy(entry->orig, bcast_packet->orig); + + /* known originator */ + if (orig) + ether_addr_copy(entry->orig, orig); + /* anonymous originator */ + else + eth_zero_addr(entry->orig); + bat_priv->bla.bcast_duplist_curr = curr; out: @@ -1649,6 +1675,48 @@ } /** + * batadv_bla_check_ucast_duplist() - Check if a frame is in the broadcast dup. + * @bat_priv: the bat priv with all the soft interface information + * @skb: contains the multicast packet to be checked, decapsulated from a + * unicast_packet + * + * Check if it is on our broadcast list. Another gateway might have sent the + * same packet because it is connected to the same backbone, so we have to + * remove this duplicate. + * + * Return: true if a packet is in the duplicate list, false otherwise. + */ +static bool batadv_bla_check_ucast_duplist(struct batadv_priv *bat_priv, + struct sk_buff *skb) +{ + return batadv_bla_check_duplist(bat_priv, skb, (u8 *)skb->data, NULL); +} + +/** + * batadv_bla_check_bcast_duplist() - Check if a frame is in the broadcast dup. + * @bat_priv: the bat priv with all the soft interface information + * @skb: contains the bcast_packet to be checked + * + * Check if it is on our broadcast list. Another gateway might have sent the + * same packet because it is connected to the same backbone, so we have to + * remove this duplicate. + * + * Return: true if a packet is in the duplicate list, false otherwise. + */ +bool batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv, + struct sk_buff *skb) +{ + struct batadv_bcast_packet *bcast_packet; + u8 *payload_ptr; + + bcast_packet = (struct batadv_bcast_packet *)skb->data; + payload_ptr = (u8 *)(bcast_packet + 1); + + return batadv_bla_check_duplist(bat_priv, skb, payload_ptr, + bcast_packet->orig); +} + +/** * batadv_bla_is_backbone_gw_orig() - Check if the originator is a gateway for * the VLAN identified by vid. * @bat_priv: the bat priv with all the soft interface information @@ -1809,7 +1877,7 @@ * @bat_priv: the bat priv with all the soft interface information * @skb: the frame to be checked * @vid: the VLAN ID of the frame - * @is_bcast: the packet came in a broadcast packet type. + * @packet_type: the batman packet type this frame came in * * batadv_bla_rx avoidance checks if: * * we have to race for a claim @@ -1821,7 +1889,7 @@ * further process the skb. */ bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb, - unsigned short vid, bool is_bcast) + unsigned short vid, int packet_type) { struct batadv_bla_backbone_gw *backbone_gw; struct ethhdr *ethhdr; @@ -1843,9 +1911,32 @@ goto handled; if (unlikely(atomic_read(&bat_priv->bla.num_requests))) - /* don't allow broadcasts while requests are in flight */ - if (is_multicast_ether_addr(ethhdr->h_dest) && is_bcast) - goto handled; + /* don't allow multicast packets while requests are in flight */ + if (is_multicast_ether_addr(ethhdr->h_dest)) + /* Both broadcast flooding or multicast-via-unicasts + * delivery might send to multiple backbone gateways + * sharing the same LAN and therefore need to coordinate + * which backbone gateway forwards into the LAN, + * by claiming the payload source address. + * + * Broadcast flooding and multicast-via-unicasts + * delivery use the following two batman packet types. + * Note: explicitly exclude BATADV_UNICAST_4ADDR, + * as the DHCP gateway feature will send explicitly + * to only one BLA gateway, so the claiming process + * should be avoided there. + */ + if (packet_type == BATADV_BCAST || + packet_type == BATADV_UNICAST) + goto handled; + + /* potential duplicates from foreign BLA backbone gateways via + * multicast-in-unicast packets + */ + if (is_multicast_ether_addr(ethhdr->h_dest) && + packet_type == BATADV_UNICAST && + batadv_bla_check_ucast_duplist(bat_priv, skb)) + goto handled; ether_addr_copy(search_claim.addr, ethhdr->h_source); search_claim.vid = vid; @@ -1880,13 +1971,14 @@ goto allow; } - /* if it is a broadcast ... */ - if (is_multicast_ether_addr(ethhdr->h_dest) && is_bcast) { + /* if it is a multicast ... */ + if (is_multicast_ether_addr(ethhdr->h_dest) && + (packet_type == BATADV_BCAST || packet_type == BATADV_UNICAST)) { /* ... drop it. the responsible gateway is in charge. * - * We need to check is_bcast because with the gateway + * We need to check packet type because with the gateway * feature, broadcasts (like DHCP requests) may be sent - * using a unicast packet type. + * using a unicast 4 address packet type. See comment above. */ goto handled; } else { --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/bridge_loop_avoidance.h +++ linux-riscv-5.8-5.8.0/net/batman-adv/bridge_loop_avoidance.h @@ -35,7 +35,7 @@ #ifdef CONFIG_BATMAN_ADV_BLA bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb, - unsigned short vid, bool is_bcast); + unsigned short vid, int packet_type); bool batadv_bla_tx(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid); bool batadv_bla_is_backbone_gw(struct sk_buff *skb, @@ -66,7 +66,7 @@ static inline bool batadv_bla_rx(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid, - bool is_bcast) + int packet_type) { return false; } --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/fragmentation.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/fragmentation.c @@ -391,6 +391,7 @@ /** * batadv_frag_create() - create a fragment from skb + * @net_dev: outgoing device for fragment * @skb: skb to create fragment from * @frag_head: header to use in new fragment * @fragment_size: size of new fragment @@ -401,22 +402,25 @@ * * Return: the new fragment, NULL on error. */ -static struct sk_buff *batadv_frag_create(struct sk_buff *skb, +static struct sk_buff *batadv_frag_create(struct net_device *net_dev, + struct sk_buff *skb, struct batadv_frag_packet *frag_head, unsigned int fragment_size) { + unsigned int ll_reserved = LL_RESERVED_SPACE(net_dev); + unsigned int tailroom = net_dev->needed_tailroom; struct sk_buff *skb_fragment; unsigned int header_size = sizeof(*frag_head); unsigned int mtu = fragment_size + header_size; - skb_fragment = netdev_alloc_skb(NULL, mtu + ETH_HLEN); + skb_fragment = dev_alloc_skb(ll_reserved + mtu + tailroom); if (!skb_fragment) goto err; skb_fragment->priority = skb->priority; /* Eat the last mtu-bytes of the skb */ - skb_reserve(skb_fragment, header_size + ETH_HLEN); + skb_reserve(skb_fragment, ll_reserved + header_size); skb_split(skb, skb_fragment, skb->len - fragment_size); /* Add the header */ @@ -439,11 +443,12 @@ struct batadv_orig_node *orig_node, struct batadv_neigh_node *neigh_node) { + struct net_device *net_dev = neigh_node->if_incoming->net_dev; struct batadv_priv *bat_priv; struct batadv_hard_iface *primary_if = NULL; struct batadv_frag_packet frag_header; struct sk_buff *skb_fragment; - unsigned int mtu = neigh_node->if_incoming->net_dev->mtu; + unsigned int mtu = net_dev->mtu; unsigned int header_size = sizeof(frag_header); unsigned int max_fragment_size, num_fragments; int ret; @@ -503,7 +508,7 @@ goto put_primary_if; } - skb_fragment = batadv_frag_create(skb, &frag_header, + skb_fragment = batadv_frag_create(net_dev, skb, &frag_header, max_fragment_size); if (!skb_fragment) { ret = -ENOMEM; @@ -522,13 +527,14 @@ frag_header.no++; } - /* Make room for the fragment header. */ - if (batadv_skb_head_push(skb, header_size) < 0 || - pskb_expand_head(skb, header_size + ETH_HLEN, 0, GFP_ATOMIC) < 0) { - ret = -ENOMEM; + /* make sure that there is at least enough head for the fragmentation + * and ethernet headers + */ + ret = skb_cow_head(skb, ETH_HLEN + header_size); + if (ret < 0) goto put_primary_if; - } + skb_push(skb, header_size); memcpy(skb->data, &frag_header, header_size); /* Send the last fragment */ --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/gateway_client.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/gateway_client.c @@ -703,8 +703,10 @@ chaddr_offset = *header_len + BATADV_DHCP_CHADDR_OFFSET; /* store the client address if the message is going to a client */ - if (ret == BATADV_DHCP_TO_CLIENT && - pskb_may_pull(skb, chaddr_offset + ETH_ALEN)) { + if (ret == BATADV_DHCP_TO_CLIENT) { + if (!pskb_may_pull(skb, chaddr_offset + ETH_ALEN)) + return BATADV_DHCP_NO; + /* check if the DHCP packet carries an Ethernet DHCP */ p = skb->data + *header_len + BATADV_DHCP_HTYPE_OFFSET; if (*p != BATADV_DHCP_HTYPE_ETHERNET) --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/hard-interface.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/hard-interface.c @@ -554,6 +554,9 @@ needed_headroom = lower_headroom + (lower_header_len - ETH_HLEN); needed_headroom += batadv_max_header_len(); + /* fragmentation headers don't strip the unicast/... header */ + needed_headroom += sizeof(struct batadv_frag_packet); + soft_iface->needed_headroom = needed_headroom; soft_iface->needed_tailroom = lower_tailroom; } --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/log.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/log.c @@ -180,6 +180,7 @@ .read = batadv_log_read, .poll = batadv_log_poll, .llseek = no_llseek, + .owner = THIS_MODULE, }; /** --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/multicast.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/multicast.c @@ -51,6 +51,7 @@ #include #include +#include "bridge_loop_avoidance.h" #include "hard-interface.h" #include "hash.h" #include "log.h" @@ -1435,6 +1436,35 @@ } /** + * batadv_mcast_forw_send_orig() - send a multicast packet to an originator + * @bat_priv: the bat priv with all the soft interface information + * @skb: the multicast packet to send + * @vid: the vlan identifier + * @orig_node: the originator to send the packet to + * + * Return: NET_XMIT_DROP in case of error or NET_XMIT_SUCCESS otherwise. + */ +int batadv_mcast_forw_send_orig(struct batadv_priv *bat_priv, + struct sk_buff *skb, + unsigned short vid, + struct batadv_orig_node *orig_node) +{ + /* Avoid sending multicast-in-unicast packets to other BLA + * gateways - they already got the frame from the LAN side + * we share with them. + * TODO: Refactor to take BLA into account earlier, to avoid + * reducing the mcast_fanout count. + */ + if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) { + dev_kfree_skb(skb); + return NET_XMIT_SUCCESS; + } + + return batadv_send_skb_unicast(bat_priv, skb, BATADV_UNICAST, 0, + orig_node, vid); +} + +/** * batadv_mcast_forw_tt() - forwards a packet to multicast listeners * @bat_priv: the bat priv with all the soft interface information * @skb: the multicast packet to transmit @@ -1471,8 +1501,8 @@ break; } - batadv_send_skb_unicast(bat_priv, newskb, BATADV_UNICAST, 0, - orig_entry->orig_node, vid); + batadv_mcast_forw_send_orig(bat_priv, newskb, vid, + orig_entry->orig_node); } rcu_read_unlock(); @@ -1513,8 +1543,7 @@ break; } - batadv_send_skb_unicast(bat_priv, newskb, BATADV_UNICAST, 0, - orig_node, vid); + batadv_mcast_forw_send_orig(bat_priv, newskb, vid, orig_node); } rcu_read_unlock(); return ret; @@ -1551,8 +1580,7 @@ break; } - batadv_send_skb_unicast(bat_priv, newskb, BATADV_UNICAST, 0, - orig_node, vid); + batadv_mcast_forw_send_orig(bat_priv, newskb, vid, orig_node); } rcu_read_unlock(); return ret; @@ -1618,8 +1646,7 @@ break; } - batadv_send_skb_unicast(bat_priv, newskb, BATADV_UNICAST, 0, - orig_node, vid); + batadv_mcast_forw_send_orig(bat_priv, newskb, vid, orig_node); } rcu_read_unlock(); return ret; @@ -1656,8 +1683,7 @@ break; } - batadv_send_skb_unicast(bat_priv, newskb, BATADV_UNICAST, 0, - orig_node, vid); + batadv_mcast_forw_send_orig(bat_priv, newskb, vid, orig_node); } rcu_read_unlock(); return ret; --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/multicast.h +++ linux-riscv-5.8-5.8.0/net/batman-adv/multicast.h @@ -46,6 +46,11 @@ batadv_mcast_forw_mode(struct batadv_priv *bat_priv, struct sk_buff *skb, struct batadv_orig_node **mcast_single_orig); +int batadv_mcast_forw_send_orig(struct batadv_priv *bat_priv, + struct sk_buff *skb, + unsigned short vid, + struct batadv_orig_node *orig_node); + int batadv_mcast_forw_send(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid); @@ -72,6 +77,16 @@ } static inline int +batadv_mcast_forw_send_orig(struct batadv_priv *bat_priv, + struct sk_buff *skb, + unsigned short vid, + struct batadv_orig_node *orig_node) +{ + kfree_skb(skb); + return NET_XMIT_DROP; +} + +static inline int batadv_mcast_forw_send(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid) { --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/routing.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/routing.c @@ -826,6 +826,10 @@ vid = batadv_get_vid(skb, hdr_len); ethhdr = (struct ethhdr *)(skb->data + hdr_len); + /* do not reroute multicast frames in a unicast header */ + if (is_multicast_ether_addr(ethhdr->h_dest)) + return true; + /* check if the destination client was served by this node and it is now * roaming. In this case, it means that the node has got a ROAM_ADV * message and that it knows the new destination in the mesh to re-route --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/soft-interface.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/soft-interface.c @@ -364,9 +364,8 @@ goto dropped; ret = batadv_send_skb_via_gw(bat_priv, skb, vid); } else if (mcast_single_orig) { - ret = batadv_send_skb_unicast(bat_priv, skb, - BATADV_UNICAST, 0, - mcast_single_orig, vid); + ret = batadv_mcast_forw_send_orig(bat_priv, skb, vid, + mcast_single_orig); } else if (forw_mode == BATADV_FORW_SOME) { ret = batadv_mcast_forw_send(bat_priv, skb, vid); } else { @@ -425,10 +424,10 @@ struct vlan_ethhdr *vhdr; struct ethhdr *ethhdr; unsigned short vid; - bool is_bcast; + int packet_type; batadv_bcast_packet = (struct batadv_bcast_packet *)skb->data; - is_bcast = (batadv_bcast_packet->packet_type == BATADV_BCAST); + packet_type = batadv_bcast_packet->packet_type; skb_pull_rcsum(skb, hdr_size); skb_reset_mac_header(skb); @@ -471,7 +470,7 @@ /* Let the bridge loop avoidance check the packet. If will * not handle it, we can safely push it up. */ - if (batadv_bla_rx(bat_priv, skb, vid, is_bcast)) + if (batadv_bla_rx(bat_priv, skb, vid, packet_type)) goto out; if (orig_node) --- linux-riscv-5.8-5.8.0.orig/net/batman-adv/translation-table.c +++ linux-riscv-5.8-5.8.0/net/batman-adv/translation-table.c @@ -891,6 +891,7 @@ hlist_for_each_entry(vlan, &orig_node->vlan_list, list) { tt_vlan->vid = htons(vlan->vid); tt_vlan->crc = htonl(vlan->tt.crc); + tt_vlan->reserved = 0; tt_vlan++; } @@ -974,6 +975,7 @@ tt_vlan->vid = htons(vlan->vid); tt_vlan->crc = htonl(vlan->tt.crc); + tt_vlan->reserved = 0; tt_vlan++; } --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/6lowpan.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/6lowpan.c @@ -50,6 +50,7 @@ /* We are listening incoming connections via this channel */ static struct l2cap_chan *listen_chan; +static DEFINE_MUTEX(set_lock); struct lowpan_peer { struct list_head list; @@ -1078,12 +1079,14 @@ enable_6lowpan = set_enable->flag; + mutex_lock(&set_lock); if (listen_chan) { l2cap_chan_close(listen_chan, 0); l2cap_chan_put(listen_chan); } listen_chan = bt_6lowpan_listen(); + mutex_unlock(&set_lock); kfree(set_enable); } @@ -1135,11 +1138,13 @@ if (ret == -EINVAL) return ret; + mutex_lock(&set_lock); if (listen_chan) { l2cap_chan_close(listen_chan, 0); l2cap_chan_put(listen_chan); listen_chan = NULL; } + mutex_unlock(&set_lock); if (conn) { struct lowpan_peer *peer; --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/Kconfig +++ linux-riscv-5.8-5.8.0/net/bluetooth/Kconfig @@ -64,7 +64,6 @@ config BT_HS bool "Bluetooth High Speed (HS) features" depends on BT_BREDR - default y help Bluetooth High Speed includes support for off-loading Bluetooth connections via 802.11 (wifi) physical layer --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/a2mp.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/a2mp.c @@ -226,6 +226,9 @@ struct a2mp_info_req req; found = true; + + memset(&req, 0, sizeof(req)); + req.id = cl->id; a2mp_send(mgr, A2MP_GETINFO_REQ, __next_ident(mgr), sizeof(req), &req); @@ -305,6 +308,8 @@ if (!hdev || hdev->dev_type != HCI_AMP) { struct a2mp_info_rsp rsp; + memset(&rsp, 0, sizeof(rsp)); + rsp.id = req->id; rsp.status = A2MP_STATUS_INVALID_CTRL_ID; @@ -348,6 +353,8 @@ if (!ctrl) return -ENOMEM; + memset(&req, 0, sizeof(req)); + req.id = rsp->id; a2mp_send(mgr, A2MP_GETAMPASSOC_REQ, __next_ident(mgr), sizeof(req), &req); @@ -374,6 +381,8 @@ hdev = hci_dev_get(req->id); if (!hdev || hdev->amp_type == AMP_TYPE_BREDR || tmp) { struct a2mp_amp_assoc_rsp rsp; + + memset(&rsp, 0, sizeof(rsp)); rsp.id = req->id; if (tmp) { @@ -464,7 +473,6 @@ struct a2mp_cmd *hdr) { struct a2mp_physlink_req *req = (void *) skb->data; - struct a2mp_physlink_rsp rsp; struct hci_dev *hdev; struct hci_conn *hcon; @@ -475,6 +483,8 @@ BT_DBG("local_id %d, remote_id %d", req->local_id, req->remote_id); + memset(&rsp, 0, sizeof(rsp)); + rsp.local_id = req->remote_id; rsp.remote_id = req->local_id; @@ -502,6 +512,7 @@ assoc = kmemdup(req->amp_assoc, assoc_len, GFP_KERNEL); if (!assoc) { amp_ctrl_put(ctrl); + hci_dev_put(hdev); return -ENOMEM; } @@ -553,6 +564,8 @@ BT_DBG("local_id %d remote_id %d", req->local_id, req->remote_id); + memset(&rsp, 0, sizeof(rsp)); + rsp.local_id = req->remote_id; rsp.remote_id = req->local_id; rsp.status = A2MP_STATUS_SUCCESS; @@ -675,6 +688,8 @@ if (err) { struct a2mp_cmd_rej rej; + memset(&rej, 0, sizeof(rej)); + rej.reason = cpu_to_le16(0); hdr = (void *) skb->data; @@ -898,6 +913,8 @@ BT_DBG("%s mgr %p", hdev->name, mgr); + memset(&rsp, 0, sizeof(rsp)); + rsp.id = hdev->id; rsp.status = A2MP_STATUS_INVALID_CTRL_ID; @@ -995,6 +1012,8 @@ if (!mgr) return; + memset(&rsp, 0, sizeof(rsp)); + hs_hcon = hci_conn_hash_lookup_state(hdev, AMP_LINK, BT_CONNECT); if (!hs_hcon) { rsp.status = A2MP_STATUS_UNABLE_START_LINK_CREATION; @@ -1027,6 +1046,8 @@ mgr->bredr_chan = chan; + memset(&req, 0, sizeof(req)); + req.mtu = cpu_to_le16(L2CAP_A2MP_DEFAULT_MTU); req.ext_feat = 0; a2mp_send(mgr, A2MP_DISCOVER_REQ, 1, sizeof(req), &req); --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/amp.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/amp.c @@ -297,6 +297,9 @@ struct hci_request req; int err; + if (!mgr) + return; + cp.phy_handle = hcon->handle; cp.len_so_far = cpu_to_le16(0); cp.max_len = cpu_to_le16(hdev->amp_assoc_size); --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/hci_conn.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/hci_conn.c @@ -1323,6 +1323,23 @@ return 0; } + /* AES encryption is required for Level 4: + * + * BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part C + * page 1319: + * + * 128-bit equivalent strength for link and encryption keys + * required using FIPS approved algorithms (E0 not allowed, + * SAFER+ not allowed, and P-192 not allowed; encryption key + * not shortened) + */ + if (conn->sec_level == BT_SECURITY_FIPS && + !test_bit(HCI_CONN_AES_CCM, &conn->flags)) { + bt_dev_err(conn->hdev, + "Invalid security: Missing AES-CCM usage"); + return 0; + } + if (hci_conn_ssp_enabled(conn) && !test_bit(HCI_CONN_ENCRYPT, &conn->flags)) return 0; --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/hci_core.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/hci_core.c @@ -606,7 +606,8 @@ if (hdev->commands[8] & 0x01) hci_req_add(req, HCI_OP_READ_PAGE_SCAN_ACTIVITY, 0, NULL); - if (hdev->commands[18] & 0x04) + if (hdev->commands[18] & 0x04 && + !test_bit(HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, &hdev->quirks)) hci_req_add(req, HCI_OP_READ_DEF_ERR_DATA_REPORTING, 0, NULL); /* Some older Broadcom based Bluetooth 1.2 controllers do not @@ -851,7 +852,8 @@ /* Set erroneous data reporting if supported to the wideband speech * setting value */ - if (hdev->commands[18] & 0x08) { + if (hdev->commands[18] & 0x08 && + !test_bit(HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, &hdev->quirks)) { bool enabled = hci_dev_test_flag(hdev, HCI_WIDEBAND_SPEECH_ENABLED); @@ -1347,8 +1349,10 @@ * cleared). If it is interrupted by a signal, return -EINTR. */ if (wait_on_bit(&hdev->flags, HCI_INQUIRY, - TASK_INTERRUPTIBLE)) - return -EINTR; + TASK_INTERRUPTIBLE)) { + err = -EINTR; + goto done; + } } /* for unlimited number of responses we will use buffer with @@ -3278,6 +3282,16 @@ } } +static void hci_suspend_clear_tasks(struct hci_dev *hdev) +{ + int i; + + for (i = 0; i < __SUSPEND_NUM_TASKS; i++) + clear_bit(i, hdev->suspend_tasks); + + wake_up(&hdev->suspend_wait_q); +} + static int hci_suspend_wait_event(struct hci_dev *hdev) { #define WAKE_COND \ @@ -3289,10 +3303,10 @@ WAKE_COND, SUSPEND_NOTIFIER_TIMEOUT); if (ret == 0) { - bt_dev_dbg(hdev, "Timed out waiting for suspend"); + bt_dev_err(hdev, "Timed out waiting for suspend events"); for (i = 0; i < __SUSPEND_NUM_TASKS; ++i) { if (test_bit(i, hdev->suspend_tasks)) - bt_dev_dbg(hdev, "Bit %d is set", i); + bt_dev_err(hdev, "Suspend timeout bit: %d", i); clear_bit(i, hdev->suspend_tasks); } @@ -3339,7 +3353,8 @@ } /* Suspend notifier should only act on events when powered. */ - if (!hdev_is_powered(hdev)) + if (!hdev_is_powered(hdev) || + hci_dev_test_flag(hdev, HCI_UNREGISTER)) goto done; if (action == PM_SUSPEND_PREPARE) { @@ -3360,12 +3375,15 @@ ret = hci_change_suspend_state(hdev, BT_RUNNING); } - /* If suspend failed, restore it to running */ - if (ret && action == PM_SUSPEND_PREPARE) - hci_change_suspend_state(hdev, BT_RUNNING); - done: - return ret ? notifier_from_errno(-EBUSY) : NOTIFY_STOP; + /* We always allow suspend even if suspend preparation failed and + * attempt to recover in resume. + */ + if (ret) + bt_dev_err(hdev, "Suspend notifier action (%lu) failed: %d", + action, ret); + + return NOTIFY_DONE; } /* Alloc HCI device */ @@ -3567,10 +3585,12 @@ hci_sock_dev_event(hdev, HCI_DEV_REG); hci_dev_hold(hdev); - hdev->suspend_notifier.notifier_call = hci_suspend_notifier; - error = register_pm_notifier(&hdev->suspend_notifier); - if (error) - goto err_wqueue; + if (!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) + goto err_wqueue; + } queue_work(hdev->req_workqueue, &hdev->power_on); @@ -3603,9 +3623,13 @@ cancel_work_sync(&hdev->power_on); - hci_dev_do_close(hdev); + if (!test_bit(HCI_QUIRK_NO_SUSPEND_NOTIFIER, &hdev->quirks)) { + hci_suspend_clear_tasks(hdev); + unregister_pm_notifier(&hdev->suspend_notifier); + cancel_work_sync(&hdev->suspend_prepare); + } - unregister_pm_notifier(&hdev->suspend_notifier); + hci_dev_do_close(hdev); if (!test_bit(HCI_INIT, &hdev->flags) && !hci_dev_test_flag(hdev, HCI_SETUP) && --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/hci_event.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/hci_event.c @@ -2520,7 +2520,7 @@ BT_DBG("%s num_rsp %d", hdev->name, num_rsp); - if (!num_rsp) + if (!num_rsp || skb->len < num_rsp * sizeof(*info) + 1) return; if (hci_dev_test_flag(hdev, HCI_PERIODIC_INQ)) @@ -3068,27 +3068,23 @@ clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags); + /* Check link security requirements are met */ + if (!hci_conn_check_link_mode(conn)) + ev->status = HCI_ERROR_AUTH_FAILURE; + if (ev->status && conn->state == BT_CONNECTED) { if (ev->status == HCI_ERROR_PIN_OR_KEY_MISSING) set_bit(HCI_CONN_AUTH_FAILURE, &conn->flags); + /* Notify upper layers so they can cleanup before + * disconnecting. + */ + hci_encrypt_cfm(conn, ev->status); hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE); hci_conn_drop(conn); goto unlock; } - /* In Secure Connections Only mode, do not allow any connections - * that are not encrypted with AES-CCM using a P-256 authenticated - * combination key. - */ - if (hci_dev_test_flag(hdev, HCI_SC_ONLY) && - (!test_bit(HCI_CONN_AES_CCM, &conn->flags) || - conn->key_type != HCI_LK_AUTH_COMBINATION_P256)) { - hci_connect_cfm(conn, HCI_ERROR_AUTH_FAILURE); - hci_conn_drop(conn); - goto unlock; - } - /* Try reading the encryption key size for encrypted ACL links */ if (!ev->status && ev->encrypt && conn->type == ACL_LINK) { struct hci_cp_read_enc_key_size cp; @@ -4166,6 +4162,9 @@ struct inquiry_info_with_rssi_and_pscan_mode *info; info = (void *) (skb->data + 1); + if (skb->len < num_rsp * sizeof(*info) + 1) + goto unlock; + for (; num_rsp; num_rsp--, info++) { u32 flags; @@ -4187,6 +4186,9 @@ } else { struct inquiry_info_with_rssi *info = (void *) (skb->data + 1); + if (skb->len < num_rsp * sizeof(*info) + 1) + goto unlock; + for (; num_rsp; num_rsp--, info++) { u32 flags; @@ -4207,6 +4209,7 @@ } } +unlock: hci_dev_unlock(hdev); } @@ -4382,7 +4385,7 @@ BT_DBG("%s num_rsp %d", hdev->name, num_rsp); - if (!num_rsp) + if (!num_rsp || skb->len < num_rsp * sizeof(*info) + 1) return; if (hci_dev_test_flag(hdev, HCI_PERIODIC_INQ)) @@ -4917,6 +4920,11 @@ return; } + if (!hcon->amp_mgr) { + hci_dev_unlock(hdev); + return; + } + if (ev->status) { hci_conn_del(hcon); hci_dev_unlock(hdev); @@ -5838,21 +5846,19 @@ struct sk_buff *skb) { u8 num_reports = skb->data[0]; - void *ptr = &skb->data[1]; + struct hci_ev_le_direct_adv_info *ev = (void *)&skb->data[1]; - hci_dev_lock(hdev); + if (!num_reports || skb->len < num_reports * sizeof(*ev) + 1) + return; - while (num_reports--) { - struct hci_ev_le_direct_adv_info *ev = ptr; + hci_dev_lock(hdev); + for (; num_reports; num_reports--, ev++) process_adv_report(hdev, ev->evt_type, &ev->bdaddr, ev->bdaddr_type, &ev->direct_addr, ev->direct_addr_type, ev->rssi, NULL, 0, false); - ptr += sizeof(*ev); - } - hci_dev_unlock(hdev); } --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/l2cap_core.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/l2cap_core.c @@ -7302,9 +7302,10 @@ goto drop; } - if ((chan->mode == L2CAP_MODE_ERTM || - chan->mode == L2CAP_MODE_STREAMING) && sk_filter(chan->data, skb)) - goto drop; + if (chan->ops->filter) { + if (chan->ops->filter(chan, skb)) + goto drop; + } if (!control->sframe) { int err; --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/l2cap_sock.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/l2cap_sock.c @@ -1521,8 +1521,6 @@ parent = bt_sk(sk)->parent; - sock_set_flag(sk, SOCK_ZAPPED); - switch (chan->state) { case BT_OPEN: case BT_BOUND: @@ -1549,8 +1547,11 @@ break; } - release_sock(sk); + + /* Only zap after cleanup to avoid use after free race */ + sock_set_flag(sk, SOCK_ZAPPED); + } static void l2cap_sock_state_change_cb(struct l2cap_chan *chan, int state, @@ -1663,6 +1664,19 @@ sk->sk_state_change(sk); } +static int l2cap_sock_filter(struct l2cap_chan *chan, struct sk_buff *skb) +{ + struct sock *sk = chan->data; + + switch (chan->mode) { + case L2CAP_MODE_ERTM: + case L2CAP_MODE_STREAMING: + return sk_filter(sk, skb); + } + + return 0; +} + static const struct l2cap_ops l2cap_chan_ops = { .name = "L2CAP Socket Interface", .new_connection = l2cap_sock_new_connection_cb, @@ -1678,6 +1692,7 @@ .get_sndtimeo = l2cap_sock_get_sndtimeo_cb, .get_peer_pid = l2cap_sock_get_peer_pid_cb, .alloc_skb = l2cap_sock_alloc_skb_cb, + .filter = l2cap_sock_filter, }; static void l2cap_sock_destruct(struct sock *sk) --- linux-riscv-5.8-5.8.0.orig/net/bluetooth/mgmt.c +++ linux-riscv-5.8-5.8.0/net/bluetooth/mgmt.c @@ -766,7 +766,8 @@ if (lmp_ssp_capable(hdev)) { settings |= MGMT_SETTING_SSP; - settings |= MGMT_SETTING_HS; + if (IS_ENABLED(CONFIG_BT_HS)) + settings |= MGMT_SETTING_HS; } if (lmp_sc_capable(hdev)) @@ -1794,6 +1795,10 @@ bt_dev_dbg(hdev, "sock %p", sk); + if (!IS_ENABLED(CONFIG_BT_HS)) + return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, + MGMT_STATUS_NOT_SUPPORTED); + status = mgmt_bredr_support(hdev); if (status) return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, status); --- linux-riscv-5.8-5.8.0.orig/net/bpfilter/bpfilter_kern.c +++ linux-riscv-5.8-5.8.0/net/bpfilter/bpfilter_kern.c @@ -50,6 +50,7 @@ req.len = optlen; if (!bpfilter_ops.info.pid) goto out; + pos = 0; n = kernel_write(bpfilter_ops.info.pipe_to_umh, &req, sizeof(req), &pos); if (n != sizeof(req)) { --- linux-riscv-5.8-5.8.0.orig/net/bridge/br.c +++ linux-riscv-5.8-5.8.0/net/bridge/br.c @@ -43,7 +43,10 @@ if (event == NETDEV_REGISTER) { /* register of bridge completed, add sysfs entries */ - br_sysfs_addbr(dev); + err = br_sysfs_addbr(dev); + if (err) + return notifier_from_errno(err); + return NOTIFY_DONE; } } --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_device.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_device.c @@ -175,6 +175,9 @@ br_stp_enable_bridge(br); br_multicast_open(br); + if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) + br_multicast_join_snoopers(br); + return 0; } @@ -195,6 +198,9 @@ br_stp_disable_bridge(br); br_multicast_stop(br); + if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) + br_multicast_leave_snoopers(br); + netif_stop_queue(dev); return 0; @@ -221,6 +227,7 @@ sum.rx_packets += tmp.rx_packets; } + netdev_stats_to_stats64(stats, &dev->stats); stats->tx_bytes = sum.tx_bytes; stats->tx_packets = sum.tx_packets; stats->rx_bytes = sum.rx_bytes; --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_fdb.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_fdb.c @@ -404,6 +404,8 @@ if (!do_all) if (test_bit(BR_FDB_STATIC, &f->flags) || + (test_bit(BR_FDB_ADDED_BY_EXT_LEARN, &f->flags) && + !test_bit(BR_FDB_OFFLOADED, &f->flags)) || (vid && f->key.vlan_id != vid)) continue; --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_mrp.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_mrp.c @@ -378,19 +378,22 @@ int br_mrp_set_port_state(struct net_bridge_port *p, enum br_mrp_port_state_type state) { + u32 port_state; + if (!p || !(p->flags & BR_MRP_AWARE)) return -EINVAL; spin_lock_bh(&p->br->lock); if (state == BR_MRP_PORT_STATE_FORWARDING) - p->state = BR_STATE_FORWARDING; + port_state = BR_STATE_FORWARDING; else - p->state = BR_STATE_BLOCKING; + port_state = BR_STATE_BLOCKING; + p->state = port_state; spin_unlock_bh(&p->br->lock); - br_mrp_port_switchdev_set_state(p, state); + br_mrp_port_switchdev_set_state(p, port_state); return 0; } --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_mrp_switchdev.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_mrp_switchdev.c @@ -107,13 +107,12 @@ return 0; } -int br_mrp_port_switchdev_set_state(struct net_bridge_port *p, - enum br_mrp_port_state_type state) +int br_mrp_port_switchdev_set_state(struct net_bridge_port *p, u32 state) { struct switchdev_attr attr = { .orig_dev = p->dev, - .id = SWITCHDEV_ATTR_ID_MRP_PORT_STATE, - .u.mrp_port_state = state, + .id = SWITCHDEV_ATTR_ID_PORT_STP_STATE, + .u.stp_state = state, }; int err; --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_multicast.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_multicast.c @@ -1848,7 +1848,7 @@ } #endif -static void br_multicast_join_snoopers(struct net_bridge *br) +void br_multicast_join_snoopers(struct net_bridge *br) { br_ip4_multicast_join_snoopers(br); br_ip6_multicast_join_snoopers(br); @@ -1879,7 +1879,7 @@ } #endif -static void br_multicast_leave_snoopers(struct net_bridge *br) +void br_multicast_leave_snoopers(struct net_bridge *br) { br_ip4_multicast_leave_snoopers(br); br_ip6_multicast_leave_snoopers(br); @@ -1898,9 +1898,6 @@ void br_multicast_open(struct net_bridge *br) { - if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) - br_multicast_join_snoopers(br); - __br_multicast_open(br, &br->ip4_own_query); #if IS_ENABLED(CONFIG_IPV6) __br_multicast_open(br, &br->ip6_own_query); @@ -1916,9 +1913,6 @@ del_timer_sync(&br->ip6_other_query.timer); del_timer_sync(&br->ip6_own_query.timer); #endif - - if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) - br_multicast_leave_snoopers(br); } void br_multicast_dev_del(struct net_bridge *br) @@ -2049,6 +2043,7 @@ int br_multicast_toggle(struct net_bridge *br, unsigned long val) { struct net_bridge_port *port; + bool change_snoopers = false; spin_lock_bh(&br->multicast_lock); if (!!br_opt_get(br, BROPT_MULTICAST_ENABLED) == !!val) @@ -2057,7 +2052,7 @@ br_mc_disabled_update(br->dev, val); br_opt_toggle(br, BROPT_MULTICAST_ENABLED, !!val); if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) { - br_multicast_leave_snoopers(br); + change_snoopers = true; goto unlock; } @@ -2068,9 +2063,30 @@ list_for_each_entry(port, &br->port_list, list) __br_multicast_enable_port(port); + change_snoopers = true; + unlock: spin_unlock_bh(&br->multicast_lock); + /* br_multicast_join_snoopers has the potential to cause + * an MLD Report/Leave to be delivered to br_multicast_rcv, + * which would in turn call br_multicast_add_group, which would + * attempt to acquire multicast_lock. This function should be + * called after the lock has been released to avoid deadlocks on + * multicast_lock. + * + * br_multicast_leave_snoopers does not have the problem since + * br_multicast_rcv first checks BROPT_MULTICAST_ENABLED, and + * returns without calling br_multicast_ipv4/6_rcv if it's not + * enabled. Moved both functions out just for symmetry. + */ + if (change_snoopers) { + if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) + br_multicast_join_snoopers(br); + else + br_multicast_leave_snoopers(br); + } + return 0; } --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_netfilter_hooks.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_netfilter_hooks.c @@ -735,6 +735,11 @@ mtu_reserved = nf_bridge_mtu_reduction(skb); mtu = skb->dev->mtu; + if (nf_bridge->pkt_otherhost) { + skb->pkt_type = PACKET_OTHERHOST; + nf_bridge->pkt_otherhost = false; + } + if (nf_bridge->frag_max_size && nf_bridge->frag_max_size < mtu) mtu = nf_bridge->frag_max_size; @@ -835,8 +840,6 @@ else return NF_ACCEPT; - /* We assume any code from br_dev_queue_push_xmit onwards doesn't care - * about the value of skb->pkt_type. */ if (skb->pkt_type == PACKET_OTHERHOST) { skb->pkt_type = PACKET_HOST; nf_bridge->pkt_otherhost = true; --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_private.h +++ linux-riscv-5.8-5.8.0/net/bridge/br_private.h @@ -741,6 +741,8 @@ void br_multicast_enable_port(struct net_bridge_port *port); void br_multicast_disable_port(struct net_bridge_port *port); void br_multicast_init(struct net_bridge *br); +void br_multicast_join_snoopers(struct net_bridge *br); +void br_multicast_leave_snoopers(struct net_bridge *br); void br_multicast_open(struct net_bridge *br); void br_multicast_stop(struct net_bridge *br); void br_multicast_dev_del(struct net_bridge *br); @@ -868,6 +870,14 @@ { } +static inline void br_multicast_join_snoopers(struct net_bridge *br) +{ +} + +static inline void br_multicast_leave_snoopers(struct net_bridge *br) +{ +} + static inline void br_multicast_open(struct net_bridge *br) { } --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_private_mrp.h +++ linux-riscv-5.8-5.8.0/net/bridge/br_private_mrp.h @@ -55,8 +55,7 @@ int br_mrp_switchdev_send_ring_test(struct net_bridge *br, struct br_mrp *mrp, u32 interval, u8 max_miss, u32 period, bool monitor); -int br_mrp_port_switchdev_set_state(struct net_bridge_port *p, - enum br_mrp_port_state_type state); +int br_mrp_port_switchdev_set_state(struct net_bridge_port *p, u32 state); int br_mrp_port_switchdev_set_role(struct net_bridge_port *p, enum br_mrp_port_role_type role); --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_switchdev.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_switchdev.c @@ -123,6 +123,8 @@ { if (!fdb->dst) return; + if (test_bit(BR_FDB_LOCAL, &fdb->flags)) + return; switch (type) { case RTM_DELNEIGH: --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_sysfs_if.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_sysfs_if.c @@ -55,9 +55,8 @@ static int store_flag(struct net_bridge_port *p, unsigned long v, unsigned long mask) { - unsigned long flags; - - flags = p->flags; + unsigned long flags = p->flags; + int err; if (v) flags |= mask; @@ -65,6 +64,10 @@ flags &= ~mask; if (flags != p->flags) { + err = br_switchdev_set_port_flag(p, flags, mask); + if (err) + return err; + p->flags = flags; br_port_flags_change(p, mask); } --- linux-riscv-5.8-5.8.0.orig/net/bridge/br_vlan.c +++ linux-riscv-5.8-5.8.0/net/bridge/br_vlan.c @@ -266,8 +266,10 @@ } masterv = br_vlan_get_master(br, v->vid, extack); - if (!masterv) + if (!masterv) { + err = -ENOMEM; goto out_filt; + } v->brvlan = masterv; if (br_opt_get(br, BROPT_VLAN_STATS_PER_PORT)) { v->stats = netdev_alloc_pcpu_stats(struct br_vlan_stats); @@ -1288,11 +1290,13 @@ } } -static int __br_vlan_get_pvid(const struct net_device *dev, - struct net_bridge_port *p, u16 *p_pvid) +int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid) { struct net_bridge_vlan_group *vg; + struct net_bridge_port *p; + ASSERT_RTNL(); + p = br_port_get_check_rtnl(dev); if (p) vg = nbp_vlan_group(p); else if (netif_is_bridge_master(dev)) @@ -1303,18 +1307,23 @@ *p_pvid = br_get_pvid(vg); return 0; } - -int br_vlan_get_pvid(const struct net_device *dev, u16 *p_pvid) -{ - ASSERT_RTNL(); - - return __br_vlan_get_pvid(dev, br_port_get_check_rtnl(dev), p_pvid); -} EXPORT_SYMBOL_GPL(br_vlan_get_pvid); int br_vlan_get_pvid_rcu(const struct net_device *dev, u16 *p_pvid) { - return __br_vlan_get_pvid(dev, br_port_get_check_rcu(dev), p_pvid); + struct net_bridge_vlan_group *vg; + struct net_bridge_port *p; + + p = br_port_get_check_rcu(dev); + if (p) + vg = nbp_vlan_group_rcu(p); + else if (netif_is_bridge_master(dev)) + vg = br_vlan_group_rcu(netdev_priv(dev)); + else + return -EINVAL; + + *p_pvid = br_get_pvid(vg); + return 0; } EXPORT_SYMBOL_GPL(br_vlan_get_pvid_rcu); --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebt_dnat.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebt_dnat.c @@ -21,7 +21,7 @@ { const struct ebt_nat_info *info = par->targinfo; - if (skb_ensure_writable(skb, ETH_ALEN)) + if (skb_ensure_writable(skb, 0)) return EBT_DROP; ether_addr_copy(eth_hdr(skb)->h_dest, info->mac); --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebt_redirect.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebt_redirect.c @@ -21,7 +21,7 @@ { const struct ebt_redirect_info *info = par->targinfo; - if (skb_ensure_writable(skb, ETH_ALEN)) + if (skb_ensure_writable(skb, 0)) return EBT_DROP; if (xt_hooknum(par) != NF_BR_BROUTING) --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebt_snat.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebt_snat.c @@ -22,7 +22,7 @@ { const struct ebt_nat_info *info = par->targinfo; - if (skb_ensure_writable(skb, ETH_ALEN * 2)) + if (skb_ensure_writable(skb, 0)) return EBT_DROP; ether_addr_copy(eth_hdr(skb)->h_source, info->mac); --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebtable_broute.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebtable_broute.c @@ -105,14 +105,20 @@ &net->xt.broute_table); } +static void __net_exit broute_net_pre_exit(struct net *net) +{ + ebt_unregister_table_pre_exit(net, "broute", &ebt_ops_broute); +} + static void __net_exit broute_net_exit(struct net *net) { - ebt_unregister_table(net, net->xt.broute_table, &ebt_ops_broute); + ebt_unregister_table(net, net->xt.broute_table); } static struct pernet_operations broute_net_ops = { .init = broute_net_init, .exit = broute_net_exit, + .pre_exit = broute_net_pre_exit, }; static int __init ebtable_broute_init(void) --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebtable_filter.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebtable_filter.c @@ -99,14 +99,20 @@ &net->xt.frame_filter); } +static void __net_exit frame_filter_net_pre_exit(struct net *net) +{ + ebt_unregister_table_pre_exit(net, "filter", ebt_ops_filter); +} + static void __net_exit frame_filter_net_exit(struct net *net) { - ebt_unregister_table(net, net->xt.frame_filter, ebt_ops_filter); + ebt_unregister_table(net, net->xt.frame_filter); } static struct pernet_operations frame_filter_net_ops = { .init = frame_filter_net_init, .exit = frame_filter_net_exit, + .pre_exit = frame_filter_net_pre_exit, }; static int __init ebtable_filter_init(void) --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebtable_nat.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebtable_nat.c @@ -99,14 +99,20 @@ &net->xt.frame_nat); } +static void __net_exit frame_nat_net_pre_exit(struct net *net) +{ + ebt_unregister_table_pre_exit(net, "nat", ebt_ops_nat); +} + static void __net_exit frame_nat_net_exit(struct net *net) { - ebt_unregister_table(net, net->xt.frame_nat, ebt_ops_nat); + ebt_unregister_table(net, net->xt.frame_nat); } static struct pernet_operations frame_nat_net_ops = { .init = frame_nat_net_init, .exit = frame_nat_net_exit, + .pre_exit = frame_nat_net_pre_exit, }; static int __init ebtable_nat_init(void) --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/ebtables.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/ebtables.c @@ -1233,10 +1233,34 @@ return ret; } -void ebt_unregister_table(struct net *net, struct ebt_table *table, - const struct nf_hook_ops *ops) +static struct ebt_table *__ebt_find_table(struct net *net, const char *name) +{ + struct ebt_table *t; + + mutex_lock(&ebt_mutex); + + list_for_each_entry(t, &net->xt.tables[NFPROTO_BRIDGE], list) { + if (strcmp(t->name, name) == 0) { + mutex_unlock(&ebt_mutex); + return t; + } + } + + mutex_unlock(&ebt_mutex); + return NULL; +} + +void ebt_unregister_table_pre_exit(struct net *net, const char *name, const struct nf_hook_ops *ops) +{ + struct ebt_table *table = __ebt_find_table(net, name); + + if (table) + nf_unregister_net_hooks(net, ops, hweight32(table->valid_hooks)); +} +EXPORT_SYMBOL(ebt_unregister_table_pre_exit); + +void ebt_unregister_table(struct net *net, struct ebt_table *table) { - nf_unregister_net_hooks(net, ops, hweight32(table->valid_hooks)); __ebt_unregister_table(net, table); } --- linux-riscv-5.8-5.8.0.orig/net/bridge/netfilter/nf_conntrack_bridge.c +++ linux-riscv-5.8-5.8.0/net/bridge/netfilter/nf_conntrack_bridge.c @@ -168,6 +168,7 @@ static unsigned int nf_ct_br_defrag6(struct sk_buff *skb, const struct nf_hook_state *state) { +#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) u16 zone_id = NF_CT_DEFAULT_ZONE_ID; enum ip_conntrack_info ctinfo; struct br_input_skb_cb cb; @@ -180,14 +181,17 @@ br_skb_cb_save(skb, &cb, sizeof(struct inet6_skb_parm)); - err = nf_ipv6_br_defrag(state->net, skb, - IP_DEFRAG_CONNTRACK_BRIDGE_IN + zone_id); + err = nf_ct_frag6_gather(state->net, skb, + IP_DEFRAG_CONNTRACK_BRIDGE_IN + zone_id); /* queued */ if (err == -EINPROGRESS) return NF_STOLEN; br_skb_cb_restore(skb, &cb, IP6CB(skb)->frag_max_size); return err == 0 ? NF_ACCEPT : NF_DROP; +#else + return NF_ACCEPT; +#endif } static int nf_ct_br_ip_check(const struct sk_buff *skb) --- linux-riscv-5.8-5.8.0.orig/net/can/af_can.c +++ linux-riscv-5.8-5.8.0/net/can/af_can.c @@ -304,8 +304,8 @@ struct net_device *dev) { if (dev) { - struct can_ml_priv *ml_priv = dev->ml_priv; - return &ml_priv->dev_rcv_lists; + struct can_ml_priv *can_ml = can_get_ml_priv(dev); + return &can_ml->dev_rcv_lists; } else { return net->can.rx_alldev_list; } @@ -539,10 +539,13 @@ /* Check for bugs in CAN protocol implementations using af_can.c: * 'rcv' will be NULL if no matching list item was found for removal. + * As this case may potentially happen when closing a socket while + * the notifier for removing the CAN netdev is running we just print + * a warning here. */ if (!rcv) { - WARN(1, "BUG: receive list entry not found for dev %s, id %03X, mask %03X\n", - DNAME(dev), can_id, mask); + pr_warn("can: receive list entry not found for dev %s, id %03X, mask %03X\n", + DNAME(dev), can_id, mask); goto out; } @@ -675,16 +678,25 @@ { struct canfd_frame *cfd = (struct canfd_frame *)skb->data; - if (unlikely(dev->type != ARPHRD_CAN || skb->len != CAN_MTU || - cfd->len > CAN_MAX_DLEN)) { - pr_warn_once("PF_CAN: dropped non conform CAN skbuf: dev type %d, len %d, datalen %d\n", + if (unlikely(dev->type != ARPHRD_CAN || 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; + } + + /* This check is made separately since cfd->len would be uninitialized if skb->len = 0. */ + if (unlikely(cfd->len > CAN_MAX_DLEN)) { + pr_warn_once("PF_CAN: dropped non conform CAN skbuff: dev type %d, len %d, datalen %d\n", dev->type, skb->len, cfd->len); - kfree_skb(skb); - return NET_RX_DROP; + goto free_skb; } can_receive(skb, dev); return NET_RX_SUCCESS; + +free_skb: + kfree_skb(skb); + return NET_RX_DROP; } static int canfd_rcv(struct sk_buff *skb, struct net_device *dev, @@ -692,16 +704,25 @@ { struct canfd_frame *cfd = (struct canfd_frame *)skb->data; - if (unlikely(dev->type != ARPHRD_CAN || skb->len != CANFD_MTU || - cfd->len > CANFD_MAX_DLEN)) { - pr_warn_once("PF_CAN: dropped non conform CAN FD skbuf: dev type %d, len %d, datalen %d\n", + if (unlikely(dev->type != ARPHRD_CAN || 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; + } + + /* This check is made separately since cfd->len would be uninitialized if skb->len = 0. */ + if (unlikely(cfd->len > CANFD_MAX_DLEN)) { + pr_warn_once("PF_CAN: dropped non conform CAN FD skbuff: dev type %d, len %d, datalen %d\n", dev->type, skb->len, cfd->len); - kfree_skb(skb); - return NET_RX_DROP; + goto free_skb; } can_receive(skb, dev); return NET_RX_SUCCESS; + +free_skb: + kfree_skb(skb); + return NET_RX_DROP; } /* af_can protocol functions */ @@ -767,25 +788,6 @@ } EXPORT_SYMBOL(can_proto_unregister); -/* af_can notifier to create/remove CAN netdevice specific structs */ -static int can_notifier(struct notifier_block *nb, unsigned long msg, - void *ptr) -{ - struct net_device *dev = netdev_notifier_info_to_dev(ptr); - - if (dev->type != ARPHRD_CAN) - return NOTIFY_DONE; - - switch (msg) { - case NETDEV_REGISTER: - WARN(!dev->ml_priv, - "No CAN mid layer private allocated, please fix your driver and use alloc_candev()!\n"); - break; - } - - return NOTIFY_DONE; -} - static int can_pernet_init(struct net *net) { spin_lock_init(&net->can.rcvlists_lock); @@ -853,11 +855,6 @@ .owner = THIS_MODULE, }; -/* notifier block for netdevice event */ -static struct notifier_block can_netdev_notifier __read_mostly = { - .notifier_call = can_notifier, -}; - static struct pernet_operations can_pernet_ops __read_mostly = { .init = can_pernet_init, .exit = can_pernet_exit, @@ -888,17 +885,12 @@ err = sock_register(&can_family_ops); if (err) goto out_sock; - err = register_netdevice_notifier(&can_netdev_notifier); - if (err) - goto out_notifier; dev_add_pack(&can_packet); dev_add_pack(&canfd_packet); return 0; -out_notifier: - sock_unregister(PF_CAN); out_sock: unregister_pernet_subsys(&can_pernet_ops); out_pernet: @@ -912,7 +904,6 @@ /* protocol unregister */ dev_remove_pack(&canfd_packet); dev_remove_pack(&can_packet); - unregister_netdevice_notifier(&can_netdev_notifier); sock_unregister(PF_CAN); unregister_pernet_subsys(&can_pernet_ops); --- linux-riscv-5.8-5.8.0.orig/net/can/bcm.c +++ linux-riscv-5.8-5.8.0/net/can/bcm.c @@ -88,6 +88,8 @@ MODULE_AUTHOR("Oliver Hartkopp "); MODULE_ALIAS("can-proto-2"); +#define BCM_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_ifindex) + /* * easy access to the first 64 bit of can(fd)_frame payload. cp->data is * 64 bit aligned so the offset has to be multiples of 8 which is ensured @@ -778,6 +780,7 @@ bcm_rx_handler, op); list_del(&op->list); + synchronize_rcu(); bcm_remove_op(op); return 1; /* done */ } @@ -1294,7 +1297,7 @@ /* no bound device as default => check msg_name */ DECLARE_SOCKADDR(struct sockaddr_can *, addr, msg->msg_name); - if (msg->msg_namelen < CAN_REQUIRED_SIZE(*addr, can_ifindex)) + if (msg->msg_namelen < BCM_MIN_NAMELEN) return -EINVAL; if (addr->can_family != AF_CAN) @@ -1503,6 +1506,11 @@ REGMASK(op->can_id), bcm_rx_handler, op); + } + + synchronize_rcu(); + + list_for_each_entry_safe(op, next, &bo->rx_ops, list) { bcm_remove_op(op); } @@ -1536,7 +1544,7 @@ struct net *net = sock_net(sk); int ret = 0; - if (len < CAN_REQUIRED_SIZE(*addr, can_ifindex)) + if (len < BCM_MIN_NAMELEN) return -EINVAL; lock_sock(sk); @@ -1618,8 +1626,8 @@ sock_recv_ts_and_drops(msg, sk, skb); if (msg->msg_name) { - __sockaddr_check_size(sizeof(struct sockaddr_can)); - msg->msg_namelen = sizeof(struct sockaddr_can); + __sockaddr_check_size(BCM_MIN_NAMELEN); + msg->msg_namelen = BCM_MIN_NAMELEN; memcpy(msg->msg_name, skb->cb, msg->msg_namelen); } --- linux-riscv-5.8-5.8.0.orig/net/can/j1939/main.c +++ linux-riscv-5.8-5.8.0/net/can/j1939/main.c @@ -140,9 +140,9 @@ static inline void j1939_priv_set(struct net_device *ndev, struct j1939_priv *priv) { - struct can_ml_priv *can_ml_priv = ndev->ml_priv; + struct can_ml_priv *can_ml = can_get_ml_priv(ndev); - can_ml_priv->j1939_priv = priv; + can_ml->j1939_priv = priv; } static void __j1939_priv_release(struct kref *kref) @@ -192,8 +192,6 @@ can_rx_unregister(dev_net(ndev), ndev, J1939_CAN_ID, J1939_CAN_MASK, j1939_can_recv, priv); - - j1939_priv_put(priv); } static void __j1939_rx_release(struct kref *kref) @@ -206,17 +204,16 @@ j1939_ecu_unmap_all(priv); j1939_priv_set(priv->ndev, NULL); spin_unlock(&j1939_netdev_lock); + synchronize_rcu(); + j1939_priv_put(priv); } /* get pointer to priv without increasing ref counter */ static inline struct j1939_priv *j1939_ndev_to_priv(struct net_device *ndev) { - struct can_ml_priv *can_ml_priv = ndev->ml_priv; - - if (!can_ml_priv) - return NULL; + struct can_ml_priv *can_ml = can_get_ml_priv(ndev); - return can_ml_priv->j1939_priv; + return can_ml->j1939_priv; } static struct j1939_priv *j1939_priv_get_by_ndev_locked(struct net_device *ndev) @@ -225,9 +222,6 @@ lockdep_assert_held(&j1939_netdev_lock); - if (ndev->type != ARPHRD_CAN) - return NULL; - priv = j1939_ndev_to_priv(ndev); if (priv) j1939_priv_get(priv); @@ -348,15 +342,16 @@ unsigned long msg, void *data) { struct net_device *ndev = netdev_notifier_info_to_dev(data); + struct can_ml_priv *can_ml = can_get_ml_priv(ndev); struct j1939_priv *priv; + if (!can_ml) + goto notify_done; + priv = j1939_priv_get_by_ndev(ndev); if (!priv) goto notify_done; - if (ndev->type != ARPHRD_CAN) - goto notify_put; - switch (msg) { case NETDEV_DOWN: j1939_cancel_active_session(priv, NULL); @@ -365,7 +360,6 @@ break; } -notify_put: j1939_priv_put(priv); notify_done: --- linux-riscv-5.8-5.8.0.orig/net/can/j1939/socket.c +++ linux-riscv-5.8-5.8.0/net/can/j1939/socket.c @@ -12,6 +12,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +#include #include #include #include @@ -398,6 +399,7 @@ spin_lock_init(&jsk->sk_session_queue_lock); INIT_LIST_HEAD(&jsk->sk_session_queue); sk->sk_destruct = j1939_sk_sock_destruct; + sk->sk_protocol = CAN_J1939; return 0; } @@ -452,6 +454,7 @@ j1939_jsk_del(priv, jsk); j1939_local_ecu_put(priv, jsk->addr.src_name, jsk->addr.sa); } else { + struct can_ml_priv *can_ml; struct net_device *ndev; ndev = dev_get_by_index(net, addr->can_ifindex); @@ -460,12 +463,19 @@ goto out_release_sock; } - if (ndev->type != ARPHRD_CAN) { + can_ml = can_get_ml_priv(ndev); + if (!can_ml) { dev_put(ndev); ret = -ENODEV; goto out_release_sock; } + if (!(ndev->flags & IFF_UP)) { + dev_put(ndev); + ret = -ENETDOWN; + goto out_release_sock; + } + priv = j1939_netdev_start(ndev); dev_put(ndev); if (IS_ERR(priv)) { @@ -553,6 +563,11 @@ static void j1939_sk_sock2sockaddr_can(struct sockaddr_can *addr, const struct j1939_sock *jsk, int peer) { + /* There are two holes (2 bytes and 3 bytes) to clear to avoid + * leaking kernel information to user space. + */ + memset(addr, 0, J1939_MIN_NAMELEN); + addr->can_family = AF_CAN; addr->can_ifindex = jsk->ifindex; addr->can_addr.j1939.pgn = jsk->addr.pgn; --- linux-riscv-5.8-5.8.0.orig/net/can/j1939/transport.c +++ linux-riscv-5.8-5.8.0/net/can/j1939/transport.c @@ -352,17 +352,16 @@ skb_queue_tail(&session->skb_queue, skb); } -static struct sk_buff *j1939_session_skb_find(struct j1939_session *session) +static struct +sk_buff *j1939_session_skb_find_by_offset(struct j1939_session *session, + unsigned int offset_start) { struct j1939_priv *priv = session->priv; + struct j1939_sk_buff_cb *do_skcb; struct sk_buff *skb = NULL; struct sk_buff *do_skb; - struct j1939_sk_buff_cb *do_skcb; - unsigned int offset_start; unsigned long flags; - offset_start = session->pkt.dpo * 7; - spin_lock_irqsave(&session->skb_queue.lock, flags); skb_queue_walk(&session->skb_queue, do_skb) { do_skcb = j1939_skb_to_cb(do_skb); @@ -382,6 +381,14 @@ return skb; } +static struct sk_buff *j1939_session_skb_find(struct j1939_session *session) +{ + unsigned int offset_start; + + offset_start = session->pkt.dpo * 7; + return j1939_session_skb_find_by_offset(session, offset_start); +} + /* see if we are receiver * returns 0 for broadcasts, although we will receive them */ @@ -573,6 +580,7 @@ skb->dev = priv->ndev; can_skb_reserve(skb); can_skb_prv(skb)->ifindex = priv->ndev->ifindex; + can_skb_prv(skb)->skbcnt = 0; /* reserve CAN header */ skb_reserve(skb, offsetof(struct can_frame, data)); @@ -716,10 +724,12 @@ return ret; session->last_txcmd = dat[0]; - if (dat[0] == J1939_TP_CMD_BAM) + if (dat[0] == J1939_TP_CMD_BAM) { j1939_tp_schedule_txtimer(session, 50); - - j1939_tp_set_rxtimeout(session, 1250); + j1939_tp_set_rxtimeout(session, 250); + } else { + j1939_tp_set_rxtimeout(session, 1250); + } netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); @@ -766,7 +776,7 @@ int ret = 0; u8 dat[8]; - se_skb = j1939_session_skb_find(session); + se_skb = j1939_session_skb_find_by_offset(session, session->pkt.tx * 7); if (!se_skb) return -ENOBUFS; @@ -787,6 +797,18 @@ if (len > 7) len = 7; + if (offset + len > se_skb->len) { + netdev_err_once(priv->ndev, + "%s: 0x%p: requested data outside of queued buffer: offset %i, len %i, pkt.tx: %i\n", + __func__, session, skcb->offset, se_skb->len , session->pkt.tx); + return -EOVERFLOW; + } + + if (!len) { + ret = -ENOBUFS; + break; + } + memcpy(&dat[1], &tpdat[offset], len); ret = j1939_tp_tx_dat(session, dat, len + 1); if (ret < 0) { @@ -1055,9 +1077,9 @@ lockdep_assert_held(&session->priv->active_session_list_lock); session->err = j1939_xtp_abort_to_errno(priv, err); + session->state = J1939_SESSION_WAITING_ABORT; /* do not send aborts on incoming broadcasts */ if (!j1939_cb_is_broadcast(&session->skcb)) { - session->state = J1939_SESSION_WAITING_ABORT; j1939_xtp_tx_abort(priv, &session->skcb, !session->transmission, err, session->skcb.addr.pgn); @@ -1120,6 +1142,9 @@ * cleanup including propagation of the error to user space. */ break; + case -EOVERFLOW: + j1939_session_cancel(session, J1939_XTP_ABORT_ECTS_TOO_BIG); + break; case 0: session->tx_retry = 0; break; @@ -1463,6 +1488,7 @@ skb->dev = priv->ndev; can_skb_reserve(skb); can_skb_prv(skb)->ifindex = priv->ndev->ifindex; + can_skb_prv(skb)->skbcnt = 0; skcb = j1939_skb_to_cb(skb); memcpy(skcb, rel_skcb, sizeof(*skcb)); @@ -1651,8 +1677,12 @@ return; } session = j1939_xtp_rx_rts_session_new(priv, skb); - if (!session) + if (!session) { + if (cmd == J1939_TP_CMD_BAM && j1939_sk_recv_match(priv, skcb)) + netdev_info(priv->ndev, "%s: failed to create TP BAM session\n", + __func__); return; + } } else { if (j1939_xtp_rx_rts_session_active(session, skb)) { j1939_session_put(session); @@ -1661,11 +1691,15 @@ } session->last_cmd = cmd; - j1939_tp_set_rxtimeout(session, 1250); - - if (cmd != J1939_TP_CMD_BAM && !session->transmission) { - j1939_session_txtimer_cancel(session); - j1939_tp_schedule_txtimer(session, 0); + if (cmd == J1939_TP_CMD_BAM) { + if (!session->transmission) + j1939_tp_set_rxtimeout(session, 750); + } else { + if (!session->transmission) { + j1939_session_txtimer_cancel(session); + j1939_tp_schedule_txtimer(session, 0); + } + j1939_tp_set_rxtimeout(session, 1250); } j1939_session_put(session); @@ -1716,6 +1750,7 @@ int offset; int nbytes; bool final = false; + bool remain = false; bool do_cts_eoma = false; int packet; @@ -1750,7 +1785,8 @@ __func__, session); goto out_session_cancel; } - se_skb = j1939_session_skb_find(session); + + se_skb = j1939_session_skb_find_by_offset(session, packet * 7); if (!se_skb) { netdev_warn(priv->ndev, "%s: 0x%p: no skb found\n", __func__, session); @@ -1769,7 +1805,20 @@ } tpdat = se_skb->data; - memcpy(&tpdat[offset], &dat[1], nbytes); + if (!session->transmission) { + memcpy(&tpdat[offset], &dat[1], nbytes); + } else { + int err; + + err = memcmp(&tpdat[offset], &dat[1], nbytes); + if (err) + netdev_err_once(priv->ndev, + "%s: 0x%p: Data of RX-looped back packet (%*ph) doesn't match TX data (%*ph)!\n", + __func__, session, + nbytes, &dat[1], + nbytes, &tpdat[offset]); + } + if (packet == session->pkt.rx) session->pkt.rx++; @@ -1777,6 +1826,8 @@ j1939_cb_is_broadcast(&session->skcb)) { if (session->pkt.rx >= session->pkt.total) final = true; + else + remain = true; } else { /* never final, an EOMA must follow */ if (session->pkt.rx >= session->pkt.last) @@ -1784,7 +1835,11 @@ } if (final) { + j1939_session_timers_cancel(session); j1939_session_completed(session); + } else if (remain) { + if (!session->transmission) + j1939_tp_set_rxtimeout(session, 750); } else if (do_cts_eoma) { j1939_tp_set_rxtimeout(session, 1250); if (!session->transmission) @@ -1829,6 +1884,13 @@ else j1939_xtp_rx_dat_one(session, skb); } + + if (j1939_cb_is_broadcast(skcb)) { + session = j1939_session_get_by_addr(priv, &skcb->addr, false, + false); + if (session) + j1939_xtp_rx_dat_one(session, skb); + } } /* j1939 main intf */ @@ -1920,7 +1982,7 @@ if (j1939_tp_im_transmitter(skcb)) j1939_xtp_rx_rts(priv, skb, true); - if (j1939_tp_im_receiver(skcb)) + if (j1939_tp_im_receiver(skcb) || j1939_cb_is_broadcast(skcb)) j1939_xtp_rx_rts(priv, skb, false); break; @@ -1984,7 +2046,7 @@ { struct j1939_sk_buff_cb *skcb = j1939_skb_to_cb(skb); - if (!j1939_tp_im_involved_anydir(skcb)) + if (!j1939_tp_im_involved_anydir(skcb) && !j1939_cb_is_broadcast(skcb)) return 0; switch (skcb->addr.pgn) { @@ -2017,6 +2079,10 @@ if (!skb->sk) return; + if (skb->sk->sk_family != AF_CAN || + skb->sk->sk_protocol != CAN_J1939) + return; + j1939_session_list_lock(priv); session = j1939_session_get_simple(priv, skb); j1939_session_list_unlock(priv); --- linux-riscv-5.8-5.8.0.orig/net/can/proc.c +++ linux-riscv-5.8-5.8.0/net/can/proc.c @@ -329,8 +329,11 @@ /* receive list for registered CAN devices */ for_each_netdev_rcu(net, dev) { - if (dev->type == ARPHRD_CAN && dev->ml_priv) - can_rcvlist_proc_show_one(m, idx, dev, dev->ml_priv); + struct can_ml_priv *can_ml = can_get_ml_priv(dev); + + if (can_ml) + can_rcvlist_proc_show_one(m, idx, dev, + &can_ml->dev_rcv_lists); } rcu_read_unlock(); @@ -382,8 +385,10 @@ /* sff receive list for registered CAN devices */ for_each_netdev_rcu(net, dev) { - if (dev->type == ARPHRD_CAN && dev->ml_priv) { - dev_rcv_lists = dev->ml_priv; + struct can_ml_priv *can_ml = can_get_ml_priv(dev); + + if (can_ml) { + dev_rcv_lists = &can_ml->dev_rcv_lists; can_rcvlist_proc_show_array(m, dev, dev_rcv_lists->rx_sff, ARRAY_SIZE(dev_rcv_lists->rx_sff)); } @@ -413,8 +418,10 @@ /* eff receive list for registered CAN devices */ for_each_netdev_rcu(net, dev) { - if (dev->type == ARPHRD_CAN && dev->ml_priv) { - dev_rcv_lists = dev->ml_priv; + struct can_ml_priv *can_ml = can_get_ml_priv(dev); + + if (can_ml) { + dev_rcv_lists = &can_ml->dev_rcv_lists; can_rcvlist_proc_show_array(m, dev, dev_rcv_lists->rx_eff, ARRAY_SIZE(dev_rcv_lists->rx_eff)); } @@ -471,6 +478,9 @@ */ void can_remove_proc(struct net *net) { + if (!net->can.proc_dir) + return; + if (net->can.pde_version) remove_proc_entry(CAN_PROC_VERSION, net->can.proc_dir); @@ -498,6 +508,5 @@ if (net->can.pde_rcvlist_sff) remove_proc_entry(CAN_PROC_RCVLIST_SFF, net->can.proc_dir); - if (net->can.proc_dir) - remove_proc_entry("can", net->proc_net); + remove_proc_entry("can", net->proc_net); } --- linux-riscv-5.8-5.8.0.orig/net/can/raw.c +++ linux-riscv-5.8-5.8.0/net/can/raw.c @@ -62,6 +62,8 @@ MODULE_AUTHOR("Urs Thuermann "); MODULE_ALIAS("can-proto-1"); +#define RAW_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_ifindex) + #define MASK_ALL 0 /* A raw socket has a list of can_filters attached to it, each receiving @@ -396,7 +398,7 @@ int err = 0; int notify_enetdown = 0; - if (len < CAN_REQUIRED_SIZE(*addr, can_ifindex)) + if (len < RAW_MIN_NAMELEN) return -EINVAL; if (addr->can_family != AF_CAN) return -EINVAL; @@ -477,11 +479,11 @@ if (peer) return -EOPNOTSUPP; - memset(addr, 0, sizeof(*addr)); + memset(addr, 0, RAW_MIN_NAMELEN); addr->can_family = AF_CAN; addr->can_ifindex = ro->ifindex; - return sizeof(*addr); + return RAW_MIN_NAMELEN; } static int raw_setsockopt(struct socket *sock, int level, int optname, @@ -733,7 +735,7 @@ if (msg->msg_name) { DECLARE_SOCKADDR(struct sockaddr_can *, addr, msg->msg_name); - if (msg->msg_namelen < CAN_REQUIRED_SIZE(*addr, can_ifindex)) + if (msg->msg_namelen < RAW_MIN_NAMELEN) return -EINVAL; if (addr->can_family != AF_CAN) @@ -822,8 +824,8 @@ sock_recv_ts_and_drops(msg, sk, skb); if (msg->msg_name) { - __sockaddr_check_size(sizeof(struct sockaddr_can)); - msg->msg_namelen = sizeof(struct sockaddr_can); + __sockaddr_check_size(RAW_MIN_NAMELEN); + msg->msg_namelen = RAW_MIN_NAMELEN; memcpy(msg->msg_name, skb->cb, msg->msg_namelen); } --- linux-riscv-5.8-5.8.0.orig/net/ceph/messenger.c +++ linux-riscv-5.8-5.8.0/net/ceph/messenger.c @@ -2998,6 +2998,11 @@ ceph_msg_put(con->in_msg); con->in_msg = NULL; } + if (con->out_msg) { + BUG_ON(con->out_msg->con != con); + ceph_msg_put(con->out_msg); + con->out_msg = NULL; + } /* Requeue anything that hasn't been acked */ list_splice_init(&con->out_sent, &con->out_queue); --- linux-riscv-5.8-5.8.0.orig/net/compat.c +++ linux-riscv-5.8-5.8.0/net/compat.c @@ -309,6 +309,7 @@ break; } /* Bump the usage count and install the file. */ + __receive_sock(fp[i]); fd_install(new_fd, get_file(fp[i])); } --- linux-riscv-5.8-5.8.0.orig/net/core/datagram.c +++ linux-riscv-5.8-5.8.0/net/core/datagram.c @@ -696,8 +696,16 @@ struct iov_iter *to, int len, __wsum *csump) { - return __skb_datagram_iter(skb, offset, to, len, true, - csum_and_copy_to_iter, csump); + struct csum_state csdata = { .csum = *csump }; + int ret; + + ret = __skb_datagram_iter(skb, offset, to, len, true, + csum_and_copy_to_iter, &csdata); + if (ret) + return ret; + + *csump = csdata.csum; + return 0; } /** --- linux-riscv-5.8-5.8.0.orig/net/core/dev.c +++ linux-riscv-5.8-5.8.0/net/core/dev.c @@ -1192,6 +1192,18 @@ return -ENOMEM; for_each_netdev(net, d) { + struct netdev_name_node *name_node; + list_for_each_entry(name_node, &d->name_node->list, list) { + if (!sscanf(name_node->name, name, &i)) + continue; + if (i < 0 || i >= max_netdevices) + continue; + + /* avoid cases where sscanf is not exact inverse of printf */ + snprintf(buf, IFNAMSIZ, name, i); + if (!strncmp(buf, name_node->name, IFNAMSIZ)) + set_bit(i, inuse); + } if (!sscanf(d->name, name, &i)) continue; if (i < 0 || i >= max_netdevices) @@ -4171,7 +4183,7 @@ } EXPORT_SYMBOL(dev_queue_xmit_accel); -int dev_direct_xmit(struct sk_buff *skb, u16 queue_id) +int __dev_direct_xmit(struct sk_buff *skb, u16 queue_id) { struct net_device *dev = skb->dev; struct sk_buff *orig_skb = skb; @@ -4200,17 +4212,13 @@ dev_xmit_recursion_dec(); local_bh_enable(); - - if (!dev_xmit_complete(ret)) - kfree_skb(skb); - return ret; drop: atomic_long_inc(&dev->tx_dropped); kfree_skb_list(skb); return NET_XMIT_DROP; } -EXPORT_SYMBOL(dev_direct_xmit); +EXPORT_SYMBOL(__dev_direct_xmit); /************************************************************************* * Receiver routines @@ -5647,10 +5655,11 @@ /* Queue one GRO_NORMAL SKB up for list processing. If batch size exceeded, * pass the whole batch up to the stack. */ -static void gro_normal_one(struct napi_struct *napi, struct sk_buff *skb) +static void gro_normal_one(struct napi_struct *napi, struct sk_buff *skb, int segs) { list_add_tail(&skb->list, &napi->rx_list); - if (++napi->rx_count >= gro_normal_batch) + napi->rx_count += segs; + if (napi->rx_count >= gro_normal_batch) gro_normal_list(napi); } @@ -5689,7 +5698,7 @@ } out: - gro_normal_one(napi, skb); + gro_normal_one(napi, skb, NAPI_GRO_CB(skb)->count); return NET_RX_SUCCESS; } @@ -5776,7 +5785,8 @@ NAPI_GRO_CB(skb)->frag0_len = 0; if (!skb_headlen(skb) && pinfo->nr_frags && - !PageHighMem(skb_frag_page(frag0))) { + !PageHighMem(skb_frag_page(frag0)) && + (!NET_IP_ALIGN || !(skb_frag_off(frag0) & 3))) { NAPI_GRO_CB(skb)->frag0 = skb_frag_address(frag0); NAPI_GRO_CB(skb)->frag0_len = min_t(unsigned int, skb_frag_size(frag0), @@ -5979,7 +5989,7 @@ { switch (ret) { case GRO_NORMAL: - gro_normal_one(napi, skb); + gro_normal_one(napi, skb, 1); break; case GRO_DROP: @@ -6067,7 +6077,7 @@ __skb_push(skb, ETH_HLEN); skb->protocol = eth_type_trans(skb, skb->dev); if (ret == GRO_NORMAL) - gro_normal_one(napi, skb); + gro_normal_one(napi, skb, 1); break; case GRO_DROP: @@ -6609,12 +6619,13 @@ netdev_err_once(dev, "%s() called with weight %d\n", __func__, weight); napi->weight = weight; - list_add(&napi->dev_list, &dev->napi_list); napi->dev = dev; #ifdef CONFIG_NETPOLL napi->poll_owner = -1; #endif set_bit(NAPI_STATE_SCHED, &napi->state); + set_bit(NAPI_STATE_NPSVC, &napi->state); + list_add_rcu(&napi->dev_list, &dev->napi_list); napi_hash_add(napi); } EXPORT_SYMBOL(netif_napi_add); @@ -6685,7 +6696,9 @@ trace_napi_poll(n, work, weight); } - WARN_ON_ONCE(work > weight); + if (unlikely(work > weight)) + pr_err_once("NAPI poll function %pS returned %d, exceeding its budget of %d.\n", + n->poll, work, weight); if (likely(work < weight)) goto out_unlock; @@ -8542,6 +8555,48 @@ } EXPORT_SYMBOL(dev_set_mac_address); +static DECLARE_RWSEM(dev_addr_sem); + +int dev_set_mac_address_user(struct net_device *dev, struct sockaddr *sa, + struct netlink_ext_ack *extack) +{ + int ret; + + down_write(&dev_addr_sem); + ret = dev_set_mac_address(dev, sa, extack); + up_write(&dev_addr_sem); + return ret; +} +EXPORT_SYMBOL(dev_set_mac_address_user); + +int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) +{ + size_t size = sizeof(sa->sa_data); + struct net_device *dev; + int ret = 0; + + down_read(&dev_addr_sem); + rcu_read_lock(); + + dev = dev_get_by_name_rcu(net, dev_name); + if (!dev) { + ret = -ENODEV; + goto unlock; + } + if (!dev->addr_len) + memset(sa->sa_data, 0, size); + else + memcpy(sa->sa_data, dev->dev_addr, + min_t(size_t, size, dev->addr_len)); + sa->sa_family = dev->type; + +unlock: + rcu_read_unlock(); + up_read(&dev_addr_sem); + return ret; +} +EXPORT_SYMBOL(dev_get_mac_address); + /** * dev_change_carrier - Change device carrier * @dev: device @@ -8640,7 +8695,7 @@ if (!first.id_len) first = *ppid; else if (memcmp(&first, ppid, sizeof(*ppid))) - return -ENODATA; + return -EOPNOTSUPP; } return err; @@ -9134,6 +9189,11 @@ } } + if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) { + netdev_dbg(dev, "Dropping TLS RX HW offload feature since no RXCSUM feature.\n"); + features &= ~NETIF_F_HW_TLS_RX; + } + return features; } @@ -10517,7 +10577,7 @@ continue; /* Leave virtual devices for the generic cleanup */ - if (dev->rtnl_link_ops) + if (dev->rtnl_link_ops && !dev->rtnl_link_ops->netns_refund) continue; /* Push remaining network devices to init_net */ --- linux-riscv-5.8-5.8.0.orig/net/core/dev_ioctl.c +++ linux-riscv-5.8-5.8.0/net/core/dev_ioctl.c @@ -122,17 +122,6 @@ ifr->ifr_mtu = dev->mtu; return 0; - case SIOCGIFHWADDR: - if (!dev->addr_len) - memset(ifr->ifr_hwaddr.sa_data, 0, - sizeof(ifr->ifr_hwaddr.sa_data)); - else - memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, - min(sizeof(ifr->ifr_hwaddr.sa_data), - (size_t)dev->addr_len)); - ifr->ifr_hwaddr.sa_family = dev->type; - return 0; - case SIOCGIFSLAVE: err = -EINVAL; break; @@ -253,7 +242,7 @@ case SIOCSIFHWADDR: if (dev->addr_len > sizeof(struct sockaddr)) return -EINVAL; - return dev_set_mac_address(dev, &ifr->ifr_hwaddr, NULL); + return dev_set_mac_address_user(dev, &ifr->ifr_hwaddr, NULL); case SIOCSIFHWBROADCAST: if (ifr->ifr_hwaddr.sa_family != dev->type) @@ -403,6 +392,12 @@ */ switch (cmd) { + case SIOCGIFHWADDR: + dev_load(net, ifr->ifr_name); + ret = dev_get_mac_address(&ifr->ifr_hwaddr, net, ifr->ifr_name); + if (colon) + *colon = ':'; + return ret; /* * These ioctl calls: * - can be done by all. @@ -412,7 +407,6 @@ case SIOCGIFFLAGS: case SIOCGIFMETRIC: case SIOCGIFMTU: - case SIOCGIFHWADDR: case SIOCGIFSLAVE: case SIOCGIFMAP: case SIOCGIFINDEX: --- linux-riscv-5.8-5.8.0.orig/net/core/devlink.c +++ linux-riscv-5.8-5.8.0/net/core/devlink.c @@ -579,6 +579,8 @@ if (nla_put_u32(msg, DEVLINK_ATTR_PORT_INDEX, devlink_port->index)) goto nla_put_failure; + /* Hold rtnl lock while accessing port's netdev attributes. */ + rtnl_lock(); spin_lock_bh(&devlink_port->type_lock); if (nla_put_u16(msg, DEVLINK_ATTR_PORT_TYPE, devlink_port->type)) goto nla_put_failure_type_locked; @@ -587,9 +589,10 @@ devlink_port->desired_type)) goto nla_put_failure_type_locked; if (devlink_port->type == DEVLINK_PORT_TYPE_ETH) { + struct net *net = devlink_net(devlink_port->devlink); struct net_device *netdev = devlink_port->type_dev; - if (netdev && + if (netdev && net_eq(net, dev_net(netdev)) && (nla_put_u32(msg, DEVLINK_ATTR_PORT_NETDEV_IFINDEX, netdev->ifindex) || nla_put_string(msg, DEVLINK_ATTR_PORT_NETDEV_NAME, @@ -605,6 +608,7 @@ goto nla_put_failure_type_locked; } spin_unlock_bh(&devlink_port->type_lock); + rtnl_unlock(); if (devlink_nl_port_attrs_put(msg, devlink_port)) goto nla_put_failure; @@ -613,6 +617,7 @@ nla_put_failure_type_locked: spin_unlock_bh(&devlink_port->type_lock); + rtnl_unlock(); nla_put_failure: genlmsg_cancel(msg, hdr); return -EMSGSIZE; @@ -1166,7 +1171,7 @@ err = ops->sb_occ_port_pool_get(devlink_port, devlink_sb->index, pool_index, &cur, &max); if (err && err != -EOPNOTSUPP) - return err; + goto sb_occ_get_failure; if (!err) { if (nla_put_u32(msg, DEVLINK_ATTR_SB_OCC_CUR, cur)) goto nla_put_failure; @@ -1179,8 +1184,10 @@ return 0; nla_put_failure: + err = -EMSGSIZE; +sb_occ_get_failure: genlmsg_cancel(msg, hdr); - return -EMSGSIZE; + return err; } static int devlink_nl_cmd_sb_port_pool_get_doit(struct sk_buff *skb, @@ -3601,7 +3608,7 @@ static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb, struct genl_info *info) { - struct devlink_port *devlink_port = info->user_ptr[0]; + struct devlink_port *devlink_port = info->user_ptr[1]; struct devlink_param_item *param_item; struct sk_buff *msg; int err; @@ -3630,7 +3637,7 @@ static int devlink_nl_cmd_port_param_set_doit(struct sk_buff *skb, struct genl_info *info) { - struct devlink_port *devlink_port = info->user_ptr[0]; + struct devlink_port *devlink_port = info->user_ptr[1]; return __devlink_nl_cmd_param_set_doit(devlink_port->devlink, devlink_port->index, --- linux-riscv-5.8-5.8.0.orig/net/core/dst.c +++ linux-riscv-5.8-5.8.0/net/core/dst.c @@ -237,37 +237,62 @@ } EXPORT_SYMBOL(__dst_destroy_metrics_generic); -static struct dst_ops md_dst_ops = { - .family = AF_UNSPEC, -}; +struct dst_entry *dst_blackhole_check(struct dst_entry *dst, u32 cookie) +{ + return NULL; +} + +u32 *dst_blackhole_cow_metrics(struct dst_entry *dst, unsigned long old) +{ + return NULL; +} + +struct neighbour *dst_blackhole_neigh_lookup(const struct dst_entry *dst, + struct sk_buff *skb, + const void *daddr) +{ + return NULL; +} -static int dst_md_discard_out(struct net *net, struct sock *sk, struct sk_buff *skb) +void dst_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { - WARN_ONCE(1, "Attempting to call output on metadata dst\n"); - kfree_skb(skb); - return 0; } +EXPORT_SYMBOL_GPL(dst_blackhole_update_pmtu); -static int dst_md_discard(struct sk_buff *skb) +void dst_blackhole_redirect(struct dst_entry *dst, struct sock *sk, + struct sk_buff *skb) { - WARN_ONCE(1, "Attempting to call input on metadata dst\n"); - kfree_skb(skb); - return 0; } +EXPORT_SYMBOL_GPL(dst_blackhole_redirect); + +unsigned int dst_blackhole_mtu(const struct dst_entry *dst) +{ + unsigned int mtu = dst_metric_raw(dst, RTAX_MTU); + + return mtu ? : dst->dev->mtu; +} +EXPORT_SYMBOL_GPL(dst_blackhole_mtu); + +static struct dst_ops dst_blackhole_ops = { + .family = AF_UNSPEC, + .neigh_lookup = dst_blackhole_neigh_lookup, + .check = dst_blackhole_check, + .cow_metrics = dst_blackhole_cow_metrics, + .update_pmtu = dst_blackhole_update_pmtu, + .redirect = dst_blackhole_redirect, + .mtu = dst_blackhole_mtu, +}; static void __metadata_dst_init(struct metadata_dst *md_dst, enum metadata_type type, u8 optslen) - { struct dst_entry *dst; dst = &md_dst->dst; - dst_init(dst, &md_dst_ops, NULL, 1, DST_OBSOLETE_NONE, + dst_init(dst, &dst_blackhole_ops, NULL, 1, DST_OBSOLETE_NONE, DST_METADATA | DST_NOCOUNT); - - dst->input = dst_md_discard; - dst->output = dst_md_discard_out; - memset(dst + 1, 0, sizeof(*md_dst) + optslen - sizeof(*dst)); md_dst->type = type; } --- linux-riscv-5.8-5.8.0.orig/net/core/filter.c +++ linux-riscv-5.8-5.8.0/net/core/filter.c @@ -1464,7 +1464,7 @@ if (copy_from_user(prog->insns, fprog->filter, fsize)) { __bpf_prog_free(prog); - return ERR_PTR(-EFAULT); + return ERR_PTR(-EINVAL); } prog->len = fprog->len; @@ -3183,18 +3183,14 @@ return 0; } -static u32 __bpf_skb_max_len(const struct sk_buff *skb) -{ - return skb->dev ? skb->dev->mtu + skb->dev->hard_header_len : - SKB_MAX_ALLOC; -} +#define BPF_SKB_MAX_LEN SKB_MAX_ALLOC BPF_CALL_4(bpf_skb_adjust_room, struct sk_buff *, skb, s32, len_diff, u32, mode, u64, flags) { u32 len_cur, len_diff_abs = abs(len_diff); u32 len_min = bpf_skb_net_base_len(skb); - u32 len_max = __bpf_skb_max_len(skb); + u32 len_max = BPF_SKB_MAX_LEN; __be16 proto = skb->protocol; bool shrink = len_diff < 0; u32 off; @@ -3277,7 +3273,7 @@ static inline int __bpf_skb_change_tail(struct sk_buff *skb, u32 new_len, u64 flags) { - u32 max_len = __bpf_skb_max_len(skb); + u32 max_len = BPF_SKB_MAX_LEN; u32 min_len = __bpf_skb_min_len(skb); int ret; @@ -3353,7 +3349,7 @@ static inline int __bpf_skb_change_head(struct sk_buff *skb, u32 head_room, u64 flags) { - u32 max_len = __bpf_skb_max_len(skb); + u32 max_len = BPF_SKB_MAX_LEN; u32 new_len = skb->len + head_room; int ret; @@ -4323,7 +4319,8 @@ cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED); - sk->sk_max_pacing_rate = (val == ~0U) ? ~0UL : val; + sk->sk_max_pacing_rate = (val == ~0U) ? + ~0UL : (unsigned int)val; sk->sk_pacing_rate = min(sk->sk_pacing_rate, sk->sk_max_pacing_rate); break; @@ -4774,6 +4771,7 @@ fl4.saddr = params->ipv4_src; fl4.fl4_sport = params->sport; fl4.fl4_dport = params->dport; + fl4.flowi4_multipath_hash = 0; if (flags & BPF_FIB_LOOKUP_DIRECT) { u32 tbid = l3mdev_fib_table_rcu(dev) ? : RT_TABLE_MAIN; @@ -5002,6 +5000,7 @@ { struct net *net = dev_net(skb->dev); int rc = -EAFNOSUPPORT; + bool check_mtu = false; if (plen < sizeof(*params)) return -EINVAL; @@ -5009,22 +5008,28 @@ if (flags & ~(BPF_FIB_LOOKUP_DIRECT | BPF_FIB_LOOKUP_OUTPUT)) return -EINVAL; + if (params->tot_len) + check_mtu = true; + switch (params->family) { #if IS_ENABLED(CONFIG_INET) case AF_INET: - rc = bpf_ipv4_fib_lookup(net, params, flags, false); + rc = bpf_ipv4_fib_lookup(net, params, flags, check_mtu); break; #endif #if IS_ENABLED(CONFIG_IPV6) case AF_INET6: - rc = bpf_ipv6_fib_lookup(net, params, flags, false); + rc = bpf_ipv6_fib_lookup(net, params, flags, check_mtu); break; #endif } - if (!rc) { + if (rc == BPF_FIB_LKUP_RET_SUCCESS && !check_mtu) { struct net_device *dev; + /* When tot_len isn't provided by user, check skb + * against MTU of FIB lookup resulting net_device + */ dev = dev_get_by_index_rcu(net, params->ifindex); if (!is_skb_forwardable(dev, skb)) rc = BPF_FIB_LKUP_RET_FRAG_NEEDED; @@ -6997,8 +7002,6 @@ bool indirect = BPF_MODE(orig->code) == BPF_IND; struct bpf_insn *insn = insn_buf; - /* We're guaranteed here that CTX is in R6. */ - *insn++ = BPF_MOV64_REG(BPF_REG_1, BPF_REG_CTX); if (!indirect) { *insn++ = BPF_MOV64_IMM(BPF_REG_2, orig->imm); } else { @@ -7006,6 +7009,8 @@ if (orig->imm) *insn++ = BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, orig->imm); } + /* We're guaranteed here that CTX is in R6. */ + *insn++ = BPF_MOV64_REG(BPF_REG_1, BPF_REG_CTX); switch (BPF_SIZE(orig->code)) { case BPF_B: @@ -8249,15 +8254,31 @@ /* Helper macro for adding read access to tcp_sock or sock fields. */ #define SOCK_OPS_GET_FIELD(BPF_FIELD, OBJ_FIELD, OBJ) \ do { \ + int fullsock_reg = si->dst_reg, reg = BPF_REG_9, jmp = 2; \ BUILD_BUG_ON(sizeof_field(OBJ, OBJ_FIELD) > \ sizeof_field(struct bpf_sock_ops, BPF_FIELD)); \ + if (si->dst_reg == reg || si->src_reg == reg) \ + reg--; \ + if (si->dst_reg == reg || si->src_reg == reg) \ + reg--; \ + if (si->dst_reg == si->src_reg) { \ + *insn++ = BPF_STX_MEM(BPF_DW, si->src_reg, reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ + fullsock_reg = reg; \ + jmp += 2; \ + } \ *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( \ struct bpf_sock_ops_kern, \ is_fullsock), \ - si->dst_reg, si->src_reg, \ + fullsock_reg, si->src_reg, \ offsetof(struct bpf_sock_ops_kern, \ is_fullsock)); \ - *insn++ = BPF_JMP_IMM(BPF_JEQ, si->dst_reg, 0, 2); \ + *insn++ = BPF_JMP_IMM(BPF_JEQ, fullsock_reg, 0, jmp); \ + if (si->dst_reg == si->src_reg) \ + *insn++ = BPF_LDX_MEM(BPF_DW, reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( \ struct bpf_sock_ops_kern, sk),\ si->dst_reg, si->src_reg, \ @@ -8266,6 +8287,49 @@ OBJ_FIELD), \ si->dst_reg, si->dst_reg, \ offsetof(OBJ, OBJ_FIELD)); \ + if (si->dst_reg == si->src_reg) { \ + *insn++ = BPF_JMP_A(1); \ + *insn++ = BPF_LDX_MEM(BPF_DW, reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ + } \ + } while (0) + +#define SOCK_OPS_GET_SK() \ + do { \ + int fullsock_reg = si->dst_reg, reg = BPF_REG_9, jmp = 1; \ + if (si->dst_reg == reg || si->src_reg == reg) \ + reg--; \ + if (si->dst_reg == reg || si->src_reg == reg) \ + reg--; \ + if (si->dst_reg == si->src_reg) { \ + *insn++ = BPF_STX_MEM(BPF_DW, si->src_reg, reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ + fullsock_reg = reg; \ + jmp += 2; \ + } \ + *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( \ + struct bpf_sock_ops_kern, \ + is_fullsock), \ + fullsock_reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, \ + is_fullsock)); \ + *insn++ = BPF_JMP_IMM(BPF_JEQ, fullsock_reg, 0, jmp); \ + if (si->dst_reg == si->src_reg) \ + *insn++ = BPF_LDX_MEM(BPF_DW, reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ + *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( \ + struct bpf_sock_ops_kern, sk),\ + si->dst_reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, sk));\ + if (si->dst_reg == si->src_reg) { \ + *insn++ = BPF_JMP_A(1); \ + *insn++ = BPF_LDX_MEM(BPF_DW, reg, si->src_reg, \ + offsetof(struct bpf_sock_ops_kern, \ + temp)); \ + } \ } while (0) #define SOCK_OPS_GET_TCP_SOCK_FIELD(FIELD) \ @@ -8552,17 +8616,7 @@ SOCK_OPS_GET_TCP_SOCK_FIELD(bytes_acked); break; case offsetof(struct bpf_sock_ops, sk): - *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( - struct bpf_sock_ops_kern, - is_fullsock), - si->dst_reg, si->src_reg, - offsetof(struct bpf_sock_ops_kern, - is_fullsock)); - *insn++ = BPF_JMP_IMM(BPF_JEQ, si->dst_reg, 0, 1); - *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF( - struct bpf_sock_ops_kern, sk), - si->dst_reg, si->src_reg, - offsetof(struct bpf_sock_ops_kern, sk)); + SOCK_OPS_GET_SK(); break; } return insn - insn_buf; --- linux-riscv-5.8-5.8.0.orig/net/core/flow_dissector.c +++ linux-riscv-5.8-5.8.0/net/core/flow_dissector.c @@ -175,7 +175,7 @@ * avoid confusion with packets without such field */ if (icmp_has_id(ih->type)) - key_icmp->id = ih->un.echo.id ? : 1; + key_icmp->id = ih->un.echo.id ? ntohs(ih->un.echo.id) : 1; else key_icmp->id = 0; } @@ -1027,6 +1027,9 @@ key_control->addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; } + __skb_flow_dissect_ipv4(skb, flow_dissector, + target_container, data, iph); + if (ip_is_fragment(iph)) { key_control->flags |= FLOW_DIS_IS_FRAGMENT; @@ -1043,9 +1046,6 @@ } } - __skb_flow_dissect_ipv4(skb, flow_dissector, - target_container, data, iph); - break; } case htons(ETH_P_IPV6): { --- linux-riscv-5.8-5.8.0.orig/net/core/flow_offload.c +++ linux-riscv-5.8-5.8.0/net/core/flow_offload.c @@ -381,10 +381,8 @@ list_for_each_entry_safe(this, next, &flow_block_indr_list, indr.list) { if (this->release == release && - this->indr.cb_priv == cb_priv) { + this->indr.cb_priv == cb_priv) list_move(&this->indr.list, cleanup_list); - return; - } } } --- linux-riscv-5.8-5.8.0.orig/net/core/gen_estimator.c +++ linux-riscv-5.8-5.8.0/net/core/gen_estimator.c @@ -80,11 +80,11 @@ u64 rate, brate; est_fetch_counters(est, &b); - brate = (b.bytes - est->last_bytes) << (10 - est->ewma_log - est->intvl_log); - brate -= (est->avbps >> est->ewma_log); + brate = (b.bytes - est->last_bytes) << (10 - est->intvl_log); + brate = (brate >> est->ewma_log) - (est->avbps >> est->ewma_log); - rate = (b.packets - est->last_packets) << (10 - est->ewma_log - est->intvl_log); - rate -= (est->avpps >> est->ewma_log); + rate = (b.packets - est->last_packets) << (10 - est->intvl_log); + rate = (rate >> est->ewma_log) - (est->avpps >> est->ewma_log); write_seqcount_begin(&est->seq); est->avbps += brate; @@ -143,6 +143,9 @@ if (parm->interval < -2 || parm->interval > 3) return -EINVAL; + if (parm->ewma_log == 0 || parm->ewma_log >= 31) + return -EINVAL; + est = kzalloc(sizeof(*est), GFP_KERNEL); if (!est) return -ENOBUFS; --- linux-riscv-5.8-5.8.0.orig/net/core/lwt_bpf.c +++ linux-riscv-5.8-5.8.0/net/core/lwt_bpf.c @@ -39,12 +39,11 @@ { int ret; - /* Preempt disable is needed to protect per-cpu redirect_info between - * BPF prog and skb_do_redirect(). The call_rcu in bpf_prog_put() and - * access to maps strictly require a rcu_read_lock() for protection, - * mixing with BH RCU lock doesn't work. + /* Preempt disable and BH disable are needed to protect per-cpu + * redirect_info between BPF prog and skb_do_redirect(). */ preempt_disable(); + local_bh_disable(); bpf_compute_data_pointers(skb); ret = bpf_prog_run_save_cb(lwt->prog, skb); @@ -78,6 +77,7 @@ break; } + local_bh_enable(); preempt_enable(); return ret; --- linux-riscv-5.8-5.8.0.orig/net/core/neighbour.c +++ linux-riscv-5.8-5.8.0/net/core/neighbour.c @@ -235,6 +235,8 @@ write_lock(&n->lock); if ((n->nud_state == NUD_FAILED) || + (tbl->is_multicast && + tbl->is_multicast(n->primary_key)) || time_after(tref, n->updated)) remove = true; write_unlock(&n->lock); @@ -1243,13 +1245,14 @@ old = neigh->nud_state; err = -EPERM; - if (!(flags & NEIGH_UPDATE_F_ADMIN) && - (old & (NUD_NOARP | NUD_PERMANENT))) - goto out; if (neigh->dead) { NL_SET_ERR_MSG(extack, "Neighbor entry is now dead"); + new = old; goto out; } + if (!(flags & NEIGH_UPDATE_F_ADMIN) && + (old & (NUD_NOARP | NUD_PERMANENT))) + goto out; ext_learn_change = neigh_update_ext_learned(neigh, flags, ¬ify); @@ -1377,7 +1380,7 @@ * we can reinject the packet there. */ n2 = NULL; - if (dst) { + if (dst && dst->obsolete != DST_OBSOLETE_DEAD) { n2 = dst_neigh_lookup_skb(dst, skb); if (n2) n1 = n2; --- linux-riscv-5.8-5.8.0.orig/net/core/net-sysfs.c +++ linux-riscv-5.8-5.8.0/net/core/net-sysfs.c @@ -1307,8 +1307,8 @@ static ssize_t xps_cpus_show(struct netdev_queue *queue, char *buf) { + int cpu, len, ret, num_tc = 1, tc = 0; struct net_device *dev = queue->dev; - int cpu, len, num_tc = 1, tc = 0; struct xps_dev_maps *dev_maps; cpumask_var_t mask; unsigned long index; @@ -1318,22 +1318,31 @@ index = get_netdev_queue_index(queue); + if (!rtnl_trylock()) + return restart_syscall(); + if (dev->num_tc) { /* Do not allow XPS on subordinate device directly */ num_tc = dev->num_tc; - if (num_tc < 0) - return -EINVAL; + if (num_tc < 0) { + ret = -EINVAL; + goto err_rtnl_unlock; + } /* If queue belongs to subordinate dev use its map */ dev = netdev_get_tx_queue(dev, index)->sb_dev ? : dev; tc = netdev_txq_to_tc(dev, index); - if (tc < 0) - return -EINVAL; + if (tc < 0) { + ret = -EINVAL; + goto err_rtnl_unlock; + } } - if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) - return -ENOMEM; + if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) { + ret = -ENOMEM; + goto err_rtnl_unlock; + } rcu_read_lock(); dev_maps = rcu_dereference(dev->xps_cpus_map); @@ -1356,9 +1365,15 @@ } rcu_read_unlock(); + rtnl_unlock(); + len = snprintf(buf, PAGE_SIZE, "%*pb\n", cpumask_pr_args(mask)); free_cpumask_var(mask); return len < PAGE_SIZE ? len : -EINVAL; + +err_rtnl_unlock: + rtnl_unlock(); + return ret; } static ssize_t xps_cpus_store(struct netdev_queue *queue, @@ -1386,7 +1401,13 @@ return err; } + if (!rtnl_trylock()) { + free_cpumask_var(mask); + return restart_syscall(); + } + err = netif_set_xps_queue(dev, mask, index); + rtnl_unlock(); free_cpumask_var(mask); @@ -1398,22 +1419,29 @@ static ssize_t xps_rxqs_show(struct netdev_queue *queue, char *buf) { + int j, len, ret, num_tc = 1, tc = 0; struct net_device *dev = queue->dev; struct xps_dev_maps *dev_maps; unsigned long *mask, index; - int j, len, num_tc = 1, tc = 0; index = get_netdev_queue_index(queue); + if (!rtnl_trylock()) + return restart_syscall(); + if (dev->num_tc) { num_tc = dev->num_tc; tc = netdev_txq_to_tc(dev, index); - if (tc < 0) - return -EINVAL; + if (tc < 0) { + ret = -EINVAL; + goto err_rtnl_unlock; + } } mask = bitmap_zalloc(dev->num_rx_queues, GFP_KERNEL); - if (!mask) - return -ENOMEM; + if (!mask) { + ret = -ENOMEM; + goto err_rtnl_unlock; + } rcu_read_lock(); dev_maps = rcu_dereference(dev->xps_rxqs_map); @@ -1439,10 +1467,16 @@ out_no_maps: rcu_read_unlock(); + rtnl_unlock(); + len = bitmap_print_to_pagebuf(false, buf, mask, dev->num_rx_queues); bitmap_free(mask); return len < PAGE_SIZE ? len : -EINVAL; + +err_rtnl_unlock: + rtnl_unlock(); + return ret; } static ssize_t xps_rxqs_store(struct netdev_queue *queue, const char *buf, @@ -1468,10 +1502,17 @@ return err; } + if (!rtnl_trylock()) { + bitmap_free(mask); + return restart_syscall(); + } + cpus_read_lock(); err = __netif_set_xps_queue(dev, mask, index, true); cpus_read_unlock(); + rtnl_unlock(); + bitmap_free(mask); return err ? : len; } --- linux-riscv-5.8-5.8.0.orig/net/core/net_namespace.c +++ linux-riscv-5.8-5.8.0/net/core/net_namespace.c @@ -251,10 +251,10 @@ if (refcount_read(&net->count) == 0) return NETNSA_NSID_NOT_ASSIGNED; - spin_lock(&net->nsid_lock); + spin_lock_bh(&net->nsid_lock); id = __peernet2id(net, peer); if (id >= 0) { - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); return id; } @@ -264,12 +264,12 @@ * just been idr_remove()'d from there in cleanup_net(). */ if (!maybe_get_net(peer)) { - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); return NETNSA_NSID_NOT_ASSIGNED; } id = alloc_netid(net, peer, -1); - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); put_net(peer); if (id < 0) @@ -534,20 +534,20 @@ for_each_net(tmp) { int id; - spin_lock(&tmp->nsid_lock); + spin_lock_bh(&tmp->nsid_lock); id = __peernet2id(tmp, net); if (id >= 0) idr_remove(&tmp->netns_ids, id); - spin_unlock(&tmp->nsid_lock); + spin_unlock_bh(&tmp->nsid_lock); if (id >= 0) rtnl_net_notifyid(tmp, RTM_DELNSID, id, 0, NULL, GFP_KERNEL); if (tmp == last) break; } - spin_lock(&net->nsid_lock); + spin_lock_bh(&net->nsid_lock); idr_destroy(&net->netns_ids); - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); } static LLIST_HEAD(cleanup_list); @@ -760,9 +760,9 @@ return PTR_ERR(peer); } - spin_lock(&net->nsid_lock); + spin_lock_bh(&net->nsid_lock); if (__peernet2id(net, peer) >= 0) { - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); err = -EEXIST; NL_SET_BAD_ATTR(extack, nla); NL_SET_ERR_MSG(extack, @@ -771,7 +771,7 @@ } err = alloc_netid(net, peer, nsid); - spin_unlock(&net->nsid_lock); + spin_unlock_bh(&net->nsid_lock); if (err >= 0) { rtnl_net_notifyid(net, RTM_NEWNSID, err, NETLINK_CB(skb).portid, nlh, GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/net/core/netpoll.c +++ linux-riscv-5.8-5.8.0/net/core/netpoll.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -162,7 +163,7 @@ struct napi_struct *napi; int cpu = smp_processor_id(); - list_for_each_entry(napi, &dev->napi_list, dev_list) { + list_for_each_entry_rcu(napi, &dev->napi_list, dev_list) { if (cmpxchg(&napi->poll_owner, -1, cpu) == -1) { poll_one_napi(napi); smp_store_release(&napi->poll_owner, -1); @@ -657,15 +658,15 @@ int netpoll_setup(struct netpoll *np) { - struct net_device *ndev = NULL; + struct net_device *ndev = NULL, *dev = NULL; + struct net *net = current->nsproxy->net_ns; struct in_device *in_dev; int err; rtnl_lock(); - if (np->dev_name[0]) { - struct net *net = current->nsproxy->net_ns; + if (np->dev_name[0]) ndev = __dev_get_by_name(net, np->dev_name); - } + if (!ndev) { np_err(np, "%s doesn't exist, aborting\n", np->dev_name); err = -ENODEV; @@ -673,6 +674,19 @@ } dev_hold(ndev); + /* bring up DSA management network devices up first */ + for_each_netdev(net, dev) { + if (!netdev_uses_dsa(dev)) + continue; + + err = dev_change_flags(dev, dev->flags | IFF_UP, NULL); + if (err < 0) { + np_err(np, "%s failed to open %s\n", + np->dev_name, dev->name); + goto put; + } + } + if (netdev_master_upper_dev_get(ndev)) { np_err(np, "%s is a slave device, aborting\n", np->dev_name); err = -EBUSY; --- linux-riscv-5.8-5.8.0.orig/net/core/netprio_cgroup.c +++ linux-riscv-5.8-5.8.0/net/core/netprio_cgroup.c @@ -236,8 +236,6 @@ struct task_struct *p; struct cgroup_subsys_state *css; - cgroup_sk_alloc_disable(); - cgroup_taskset_for_each(p, css, tset) { void *v = (void *)(unsigned long)css->id; --- linux-riscv-5.8-5.8.0.orig/net/core/pktgen.c +++ linux-riscv-5.8-5.8.0/net/core/pktgen.c @@ -3464,7 +3464,7 @@ struct pktgen_dev *pkt_dev = NULL; int cpu = t->cpu; - BUG_ON(smp_processor_id() != cpu); + WARN_ON(smp_processor_id() != cpu); init_waitqueue_head(&t->queue); complete(&t->start_done); --- linux-riscv-5.8-5.8.0.orig/net/core/rtnetlink.c +++ linux-riscv-5.8-5.8.0/net/core/rtnetlink.c @@ -2556,7 +2556,7 @@ sa->sa_family = dev->type; memcpy(sa->sa_data, nla_data(tb[IFLA_ADDRESS]), dev->addr_len); - err = dev_set_mac_address(dev, sa, extack); + err = dev_set_mac_address_user(dev, sa, extack); kfree(sa); if (err) goto errout; --- linux-riscv-5.8-5.8.0.orig/net/core/skbuff.c +++ linux-riscv-5.8-5.8.0/net/core/skbuff.c @@ -432,7 +432,11 @@ len += NET_SKB_PAD; - if ((len > SKB_WITH_OVERHEAD(PAGE_SIZE)) || + /* If requested length is either too small or too big, + * we use kmalloc() for skb->head allocation. + */ + if (len <= SKB_WITH_OVERHEAD(1024) || + len > SKB_WITH_OVERHEAD(PAGE_SIZE) || (gfp_mask & (__GFP_DIRECT_RECLAIM | GFP_DMA))) { skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); if (!skb) @@ -496,13 +500,17 @@ struct sk_buff *__napi_alloc_skb(struct napi_struct *napi, unsigned int len, gfp_t gfp_mask) { - struct napi_alloc_cache *nc = this_cpu_ptr(&napi_alloc_cache); + struct napi_alloc_cache *nc; struct sk_buff *skb; void *data; len += NET_SKB_PAD + NET_IP_ALIGN; - if ((len > SKB_WITH_OVERHEAD(PAGE_SIZE)) || + /* If requested length is either too small or too big, + * we use kmalloc() for skb->head allocation. + */ + if (len <= SKB_WITH_OVERHEAD(1024) || + len > SKB_WITH_OVERHEAD(PAGE_SIZE) || (gfp_mask & (__GFP_DIRECT_RECLAIM | GFP_DMA))) { skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); if (!skb) @@ -510,6 +518,7 @@ goto skb_success; } + nc = this_cpu_ptr(&napi_alloc_cache); len += SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); len = SKB_DATA_ALIGN(len); @@ -2016,6 +2025,12 @@ skb->csum = csum_block_sub(skb->csum, skb_checksum(skb, len, delta, 0), len); + } else if (skb->ip_summed == CHECKSUM_PARTIAL) { + int hdlen = (len > skb_headlen(skb)) ? skb_headlen(skb) : len; + int offset = skb_checksum_start_offset(skb) + skb->csum_offset; + + if (offset + sizeof(__sum16) > hdlen) + return -EINVAL; } return __pskb_trim(skb, len); } @@ -3274,7 +3289,19 @@ */ static int skb_prepare_for_shift(struct sk_buff *skb) { - return skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC); + int ret = 0; + + if (skb_cloned(skb)) { + /* Save and restore truesize: pskb_expand_head() may reallocate + * memory where ksize(kmalloc(S)) != ksize(kmalloc(S)), but we + * cannot change truesize at this point. + */ + unsigned int save_truesize = skb->truesize; + + ret = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); + skb->truesize = save_truesize; + } + return ret; } /** @@ -3646,7 +3673,8 @@ unsigned int delta_truesize = 0; unsigned int delta_len = 0; struct sk_buff *tail = NULL; - struct sk_buff *nskb; + struct sk_buff *nskb, *tmp; + int err; skb_push(skb, -skb_network_offset(skb) + offset); @@ -3656,11 +3684,28 @@ nskb = list_skb; list_skb = list_skb->next; + err = 0; + if (skb_shared(nskb)) { + tmp = skb_clone(nskb, GFP_ATOMIC); + if (tmp) { + consume_skb(nskb); + nskb = tmp; + err = skb_unclone(nskb, GFP_ATOMIC); + } else { + err = -ENOMEM; + } + } + if (!tail) skb->next = nskb; else tail->next = nskb; + if (unlikely(err)) { + nskb->next = list_skb; + goto err_linearize; + } + tail = nskb; delta_len += nskb->len; @@ -4554,7 +4599,7 @@ if (skb && (skb_next = skb_peek(q))) { icmp_next = is_icmp_err_skb(skb_next); if (icmp_next) - sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_origin; + sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_errno; } spin_unlock_irqrestore(&q->lock, flags); @@ -5419,8 +5464,8 @@ skb = skb_share_check(skb, GFP_ATOMIC); if (unlikely(!skb)) goto err_free; - - if (unlikely(!pskb_may_pull(skb, VLAN_HLEN))) + /* We may access the two bytes after vlan_hdr in vlan_set_encap_proto(). */ + if (unlikely(!pskb_may_pull(skb, VLAN_HLEN + sizeof(unsigned short)))) goto err_free; vhdr = (struct vlan_hdr *)skb->data; @@ -5621,7 +5666,7 @@ lse->label_stack_entry = mpls_lse; skb_postpush_rcsum(skb, lse, MPLS_HLEN); - if (ethernet) + if (ethernet && mac_len >= ETH_HLEN) skb_mod_eth_type(skb, eth_hdr(skb), mpls_proto); skb->protocol = mpls_proto; @@ -5661,7 +5706,7 @@ skb_reset_mac_header(skb); skb_set_network_header(skb, mac_len); - if (ethernet) { + if (ethernet && mac_len >= ETH_HLEN) { struct ethhdr *hdr; /* use mpls_hdr() to get ethertype to account for VLANs. */ @@ -5724,6 +5769,9 @@ if (unlikely(!eth_p_mpls(skb->protocol))) return -EINVAL; + if (!pskb_may_pull(skb, skb_network_offset(skb) + MPLS_HLEN)) + return -ENOMEM; + lse = be32_to_cpu(mpls_hdr(skb)->label_stack_entry); ttl = (lse & MPLS_LS_TTL_MASK) >> MPLS_LS_TTL_SHIFT; if (!--ttl) @@ -5988,9 +6036,13 @@ if (skb_has_frag_list(skb)) skb_clone_fraglist(skb); - if (k == 0) { - /* split line is in frag list */ - pskb_carve_frag_list(skb, shinfo, off - pos, gfp_mask); + /* split line is in frag list */ + if (k == 0 && pskb_carve_frag_list(skb, shinfo, off - pos, gfp_mask)) { + /* skb_frag_unref() is not needed here as shinfo->nr_frags = 0. */ + if (skb_has_frag_list(skb)) + kfree_skb_list(skb_shinfo(skb)->frag_list); + kfree(data); + return -ENOMEM; } skb_release_data(skb); --- linux-riscv-5.8-5.8.0.orig/net/core/skmsg.c +++ linux-riscv-5.8-5.8.0/net/core/skmsg.c @@ -170,10 +170,12 @@ struct scatterlist *sge = sk_msg_elem(msg, i); u32 len = sge->length; - if (charge) - sk_mem_uncharge(sk, len); - if (!msg->skb) + /* When the skb owns the memory we free it from consume_skb path. */ + if (!msg->skb) { + if (charge) + sk_mem_uncharge(sk, len); put_page(sg_page(sge)); + } memset(sge, 0, sizeof(*sge)); return len; } @@ -397,28 +399,38 @@ } EXPORT_SYMBOL_GPL(sk_msg_memcopy_from_iter); -static int sk_psock_skb_ingress(struct sk_psock *psock, struct sk_buff *skb) +static struct sk_msg *sk_psock_create_ingress_msg(struct sock *sk, + struct sk_buff *skb) { - struct sock *sk = psock->sk; - int copied = 0, num_sge; struct sk_msg *msg; + if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf) + return NULL; + + if (!sk_rmem_schedule(sk, skb, skb->truesize)) + return NULL; + msg = kzalloc(sizeof(*msg), __GFP_NOWARN | GFP_ATOMIC); if (unlikely(!msg)) - return -EAGAIN; - if (!sk_rmem_schedule(sk, skb, skb->len)) { - kfree(msg); - return -EAGAIN; - } + return NULL; sk_msg_init(msg); - num_sge = skb_to_sgvec(skb, msg->sg.data, 0, skb->len); + return msg; +} + +static int sk_psock_skb_ingress_enqueue(struct sk_buff *skb, + struct sk_psock *psock, + struct sock *sk, + struct sk_msg *msg) +{ + int num_sge = skb_to_sgvec(skb, msg->sg.data, 0, skb->len); + int copied; + if (unlikely(num_sge < 0)) { kfree(msg); return num_sge; } - sk_mem_charge(sk, skb->len); copied = skb->len; msg->sg.start = 0; msg->sg.size = copied; @@ -430,6 +442,40 @@ return copied; } +static int sk_psock_skb_ingress(struct sk_psock *psock, struct sk_buff *skb) +{ + struct sock *sk = psock->sk; + struct sk_msg *msg; + + msg = sk_psock_create_ingress_msg(sk, skb); + if (!msg) + return -EAGAIN; + + /* This will transition ownership of the data from the socket where + * the BPF program was run initiating the redirect to the socket + * we will eventually receive this data on. The data will be released + * from skb_consume found in __tcp_bpf_recvmsg() after its been copied + * into user buffers. + */ + skb_set_owner_r(skb, sk); + return sk_psock_skb_ingress_enqueue(skb, psock, sk, msg); +} + +/* Puts an skb on the ingress queue of the socket already assigned to the + * skb. In this case we do not need to check memory limits or skb_set_owner_r + * because the skb is already accounted for here. + */ +static int sk_psock_skb_ingress_self(struct sk_psock *psock, struct sk_buff *skb) +{ + struct sk_msg *msg = kzalloc(sizeof(*msg), __GFP_NOWARN | GFP_ATOMIC); + struct sock *sk = psock->sk; + + if (unlikely(!msg)) + return -EAGAIN; + sk_msg_init(msg); + return sk_psock_skb_ingress_enqueue(skb, psock, sk, msg); +} + static int sk_psock_handle_skb(struct sk_psock *psock, struct sk_buff *skb, u32 off, u32 len, bool ingress) { @@ -662,15 +708,16 @@ { int ret; + /* strparser clones the skb before handing it to a upper layer, + * meaning we have the same data, but sk is NULL. We do want an + * sk pointer though when we run the BPF program. So we set it + * here and then NULL it to ensure we don't trigger a BUG_ON() + * in skb/sk operations later if kfree_skb is called with a + * valid skb->sk pointer and no destructor assigned. + */ skb->sk = psock->sk; bpf_compute_data_end_sk_skb(skb); ret = bpf_prog_run_pin_on_cpu(prog, skb); - /* strparser clones the skb before handing it to a upper layer, - * meaning skb_orphan has been called. We NULL sk on the way out - * to ensure we don't trigger a BUG_ON() in skb/sk operations - * later and because we are not charging the memory of this skb - * to any socket yet. - */ skb->sk = NULL; return ret; } @@ -749,7 +796,9 @@ static void sk_psock_verdict_apply(struct sk_psock *psock, struct sk_buff *skb, int verdict) { + struct tcp_skb_cb *tcp; struct sock *sk_other; + int err = -EIO; switch (verdict) { case __SK_PASS: @@ -758,16 +807,24 @@ !sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED)) { goto out_free; } - if (atomic_read(&sk_other->sk_rmem_alloc) <= - sk_other->sk_rcvbuf) { - struct tcp_skb_cb *tcp = TCP_SKB_CB(skb); - tcp->bpf.flags |= BPF_F_INGRESS; + tcp = TCP_SKB_CB(skb); + tcp->bpf.flags |= BPF_F_INGRESS; + + /* If the queue is empty then we can submit directly + * into the msg queue. If its not empty we have to + * queue work otherwise we may get OOO data. Otherwise, + * if sk_psock_skb_ingress errors will be handled by + * retrying later from workqueue. + */ + if (skb_queue_empty(&psock->ingress_skb)) { + err = sk_psock_skb_ingress_self(psock, skb); + } + if (err < 0) { skb_queue_tail(&psock->ingress_skb, skb); schedule_work(&psock->work); - break; } - goto out_free; + break; case __SK_REDIRECT: sk_psock_skb_redirect(skb); break; @@ -795,7 +852,6 @@ } prog = READ_ONCE(psock->progs.skb_verdict); if (likely(prog)) { - skb_orphan(skb); tcp_skb_bpf_redirect_clear(skb); ret = sk_psock_bpf_run(psock, prog, skb); ret = sk_psock_map_verd(ret, tcp_skb_bpf_redirect_fetch(skb)); --- linux-riscv-5.8-5.8.0.orig/net/core/sock.c +++ linux-riscv-5.8-5.8.0/net/core/sock.c @@ -777,7 +777,6 @@ } else { sock_reset_flag(sk, SOCK_RCVTSTAMP); sock_reset_flag(sk, SOCK_RCVTSTAMPNS); - sock_reset_flag(sk, SOCK_TSTAMP_NEW); } } @@ -1007,8 +1006,6 @@ __sock_set_timestamps(sk, valbool, true, true); break; case SO_TIMESTAMPING_NEW: - sock_set_flag(sk, SOCK_TSTAMP_NEW); - /* fall through */ case SO_TIMESTAMPING_OLD: if (val & ~SOF_TIMESTAMPING_MASK) { ret = -EINVAL; @@ -1037,16 +1034,14 @@ } sk->sk_tsflags = val; + sock_valbool_flag(sk, SOCK_TSTAMP_NEW, optname == SO_TIMESTAMPING_NEW); + if (val & SOF_TIMESTAMPING_RX_SOFTWARE) sock_enable_timestamp(sk, SOCK_TIMESTAMPING_RX_SOFTWARE); - else { - if (optname == SO_TIMESTAMPING_NEW) - sock_reset_flag(sk, SOCK_TSTAMP_NEW); - + else sock_disable_timestamp(sk, (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE)); - } break; case SO_RCVLOWAT: @@ -1189,7 +1184,7 @@ case SO_MAX_PACING_RATE: { - unsigned long ulval = (val == ~0U) ? ~0UL : val; + unsigned long ulval = (val == ~0U) ? ~0UL : (unsigned int)val; if (sizeof(ulval) != sizeof(val) && optlen >= sizeof(ulval) && @@ -2126,16 +2121,10 @@ if (skb_is_tcp_pure_ack(skb)) return; - if (can_skb_orphan_partial(skb)) { - struct sock *sk = skb->sk; - - if (refcount_inc_not_zero(&sk->sk_refcnt)) { - WARN_ON(refcount_sub_and_test(skb->truesize, &sk->sk_wmem_alloc)); - skb->destructor = sock_efree; - } - } else { + if (can_skb_orphan_partial(skb)) + skb_set_owner_sk_safe(skb, skb->sk); + else skb_orphan(skb); - } } EXPORT_SYMBOL(skb_orphan_partial); @@ -2842,6 +2831,27 @@ } EXPORT_SYMBOL(sock_no_mmap); +/* + * When a file is received (via SCM_RIGHTS, etc), we must bump the + * various sock-based usage counts. + */ +void __receive_sock(struct file *file) +{ + struct socket *sock; + int error; + + /* + * The resulting value of "error" is ignored here since we only + * need to take action when the file is a socket and testing + * "sock" for NULL is sufficient. + */ + sock = sock_from_file(file, &error); + if (sock) { + sock_update_netprioidx(&sock->sk->sk_cgrp_data); + sock_update_classid(&sock->sk->sk_cgrp_data); + } +} + ssize_t sock_no_sendpage(struct socket *sock, struct page *page, int offset, size_t size, int flags) { ssize_t res; @@ -3443,6 +3453,16 @@ } #endif +static void tw_prot_cleanup(struct timewait_sock_ops *twsk_prot) +{ + if (!twsk_prot) + return; + kfree(twsk_prot->twsk_slab_name); + twsk_prot->twsk_slab_name = NULL; + kmem_cache_destroy(twsk_prot->twsk_slab); + twsk_prot->twsk_slab = NULL; +} + static void req_prot_cleanup(struct request_sock_ops *rsk_prot) { if (!rsk_prot) @@ -3513,7 +3533,7 @@ prot->slab_flags, NULL); if (prot->twsk_prot->twsk_slab == NULL) - goto out_free_timewait_sock_slab_name; + goto out_free_timewait_sock_slab; } } @@ -3521,15 +3541,15 @@ ret = assign_proto_idx(prot); if (ret) { mutex_unlock(&proto_list_mutex); - goto out_free_timewait_sock_slab_name; + goto out_free_timewait_sock_slab; } list_add(&prot->node, &proto_list); mutex_unlock(&proto_list_mutex); return ret; -out_free_timewait_sock_slab_name: +out_free_timewait_sock_slab: if (alloc_slab && prot->twsk_prot) - kfree(prot->twsk_prot->twsk_slab_name); + tw_prot_cleanup(prot->twsk_prot); out_free_request_sock_slab: if (alloc_slab) { req_prot_cleanup(prot->rsk_prot); @@ -3553,12 +3573,7 @@ prot->slab = NULL; req_prot_cleanup(prot->rsk_prot); - - if (prot->twsk_prot != NULL && prot->twsk_prot->twsk_slab != NULL) { - kmem_cache_destroy(prot->twsk_prot->twsk_slab); - kfree(prot->twsk_prot->twsk_slab_name); - prot->twsk_prot->twsk_slab = NULL; - } + tw_prot_cleanup(prot->twsk_prot); } EXPORT_SYMBOL(proto_unregister); --- linux-riscv-5.8-5.8.0.orig/net/core/sock_reuseport.c +++ linux-riscv-5.8-5.8.0/net/core/sock_reuseport.c @@ -293,7 +293,7 @@ i = j = reciprocal_scale(hash, socks); while (reuse->socks[i]->sk_state == TCP_ESTABLISHED) { i++; - if (i >= reuse->num_socks) + if (i >= socks) i = 0; if (i == j) goto out; --- linux-riscv-5.8-5.8.0.orig/net/core/xdp.c +++ linux-riscv-5.8-5.8.0/net/core/xdp.c @@ -350,7 +350,8 @@ /* mem->id is valid, checked in xdp_rxq_info_reg_mem_model() */ xa = rhashtable_lookup(mem_id_ht, &mem->id, mem_id_rht_params); page = virt_to_head_page(data); - napi_direct &= !xdp_return_frame_no_direct(); + if (napi_direct && xdp_return_frame_no_direct()) + napi_direct = false; page_pool_put_full_page(xa->page_pool, page, napi_direct); rcu_read_unlock(); break; --- linux-riscv-5.8-5.8.0.orig/net/dcb/dcbnl.c +++ linux-riscv-5.8-5.8.0/net/dcb/dcbnl.c @@ -1426,6 +1426,7 @@ { const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; struct nlattr *ieee[DCB_ATTR_IEEE_MAX + 1]; + int prio; int err; if (!ops) @@ -1475,6 +1476,13 @@ struct dcbnl_buffer *buffer = nla_data(ieee[DCB_ATTR_DCB_BUFFER]); + for (prio = 0; prio < ARRAY_SIZE(buffer->prio2buffer); prio++) { + if (buffer->prio2buffer[prio] >= DCBX_MAX_BUFFERS) { + err = -EINVAL; + goto err; + } + } + err = ops->dcbnl_setbuffer(netdev, buffer); if (err) goto err; @@ -1757,6 +1765,8 @@ fn = &reply_funcs[dcb->cmd]; if (!fn->cb) return -EOPNOTSUPP; + if (fn->type == RTM_SETDCB && !netlink_capable(skb, CAP_NET_ADMIN)) + return -EPERM; if (!tb[DCB_ATTR_IFNAME]) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/net/dccp/ipv6.c +++ linux-riscv-5.8-5.8.0/net/dccp/ipv6.c @@ -319,6 +319,11 @@ if (!ipv6_unicast_destination(skb)) return 0; /* discard, don't send a reset here */ + if (ipv6_addr_v4mapped(&ipv6_hdr(skb)->saddr)) { + __IP6_INC_STATS(sock_net(sk), NULL, IPSTATS_MIB_INHDRERRORS); + return 0; + } + if (dccp_bad_service_code(sk, service)) { dcb->dccpd_reset_code = DCCP_RESET_CODE_BAD_SERVICE_CODE; goto drop; --- linux-riscv-5.8-5.8.0.orig/net/dccp/minisocks.c +++ linux-riscv-5.8-5.8.0/net/dccp/minisocks.c @@ -93,6 +93,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_service = dreq->dreq_service; newdp->dccps_timestamp_echo = dreq->dreq_timestamp_echo; --- linux-riscv-5.8-5.8.0.orig/net/dsa/dsa2.c +++ linux-riscv-5.8-5.8.0/net/dsa/dsa2.c @@ -419,20 +419,23 @@ ds->slave_mii_bus = devm_mdiobus_alloc(ds->dev); if (!ds->slave_mii_bus) { err = -ENOMEM; - goto unregister_notifier; + goto teardown; } dsa_slave_mii_bus_init(ds); err = mdiobus_register(ds->slave_mii_bus); if (err < 0) - goto unregister_notifier; + goto teardown; } ds->setup = true; return 0; +teardown: + if (ds->ops->teardown) + ds->ops->teardown(ds); unregister_notifier: dsa_switch_unregister_notifier(ds); unregister_devlink: --- linux-riscv-5.8-5.8.0.orig/net/dsa/master.c +++ linux-riscv-5.8-5.8.0/net/dsa/master.c @@ -331,8 +331,18 @@ int dsa_master_setup(struct net_device *dev, struct dsa_port *cpu_dp) { + struct dsa_switch *ds = cpu_dp->ds; + struct device_link *consumer_link; int ret; + /* The DSA master must use SET_NETDEV_DEV for this to work. */ + consumer_link = device_link_add(ds->dev, dev->dev.parent, + DL_FLAG_AUTOREMOVE_CONSUMER); + if (!consumer_link) + netdev_err(dev, + "Failed to create a device link to DSA switch %s\n", + dev_name(ds->dev)); + rtnl_lock(); ret = dev_set_mtu(dev, ETH_DATA_LEN + cpu_dp->tag_ops->overhead); rtnl_unlock(); --- linux-riscv-5.8-5.8.0.orig/net/dsa/slave.c +++ linux-riscv-5.8-5.8.0/net/dsa/slave.c @@ -1801,15 +1801,27 @@ dsa_slave_notify(slave_dev, DSA_PORT_REGISTER); - ret = register_netdev(slave_dev); + rtnl_lock(); + + ret = register_netdevice(slave_dev); if (ret) { netdev_err(master, "error %d registering interface %s\n", ret, slave_dev->name); + rtnl_unlock(); goto out_phy; } + ret = netdev_upper_dev_link(master, slave_dev, NULL); + + rtnl_unlock(); + + if (ret) + goto out_unregister; + return 0; +out_unregister: + unregister_netdev(slave_dev); out_phy: rtnl_lock(); phylink_disconnect_phy(p->dp->pl); @@ -1826,16 +1838,18 @@ void dsa_slave_destroy(struct net_device *slave_dev) { + struct net_device *master = dsa_slave_to_master(slave_dev); struct dsa_port *dp = dsa_slave_to_port(slave_dev); struct dsa_slave_priv *p = netdev_priv(slave_dev); netif_carrier_off(slave_dev); rtnl_lock(); + netdev_upper_dev_unlink(master, slave_dev); + unregister_netdevice(slave_dev); phylink_disconnect_phy(dp->pl); rtnl_unlock(); dsa_slave_notify(slave_dev, DSA_PORT_UNREGISTER); - unregister_netdev(slave_dev); phylink_destroy(dp->pl); gro_cells_destroy(&p->gcells); free_percpu(p->stats64); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_ar9331.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_ar9331.c @@ -31,9 +31,6 @@ __le16 *phdr; u16 hdr; - if (skb_cow_head(skb, AR9331_HDR_LEN) < 0) - return NULL; - phdr = skb_push(skb, AR9331_HDR_LEN); hdr = FIELD_PREP(AR9331_HDR_VERSION_MASK, AR9331_HDR_VERSION); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_brcm.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_brcm.c @@ -66,9 +66,6 @@ u16 queue = skb_get_queue_mapping(skb); u8 *brcm_tag; - if (skb_cow_head(skb, BRCM_TAG_LEN) < 0) - return NULL; - /* The Ethernet switch we are interfaced with needs packets to be at * least 64 bytes (including FCS) otherwise they will be discarded when * they enter the switch port logic. When Broadcom tags are enabled, we --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_dsa.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_dsa.c @@ -23,9 +23,6 @@ * the ethertype field for untagged packets. */ if (skb->protocol == htons(ETH_P_8021Q)) { - if (skb_cow_head(skb, 0) < 0) - return NULL; - /* * Construct tagged FROM_CPU DSA tag from 802.1q tag. */ @@ -41,8 +38,6 @@ dsa_header[2] &= ~0x10; } } else { - if (skb_cow_head(skb, DSA_HLEN) < 0) - return NULL; skb_push(skb, DSA_HLEN); memmove(skb->data, skb->data + DSA_HLEN, 2 * ETH_ALEN); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_edsa.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_edsa.c @@ -35,8 +35,6 @@ * current ethertype field if the packet is untagged. */ if (skb->protocol == htons(ETH_P_8021Q)) { - if (skb_cow_head(skb, DSA_HLEN) < 0) - return NULL; skb_push(skb, DSA_HLEN); memmove(skb->data, skb->data + DSA_HLEN, 2 * ETH_ALEN); @@ -60,8 +58,6 @@ edsa_header[6] &= ~0x10; } } else { - if (skb_cow_head(skb, EDSA_HLEN) < 0) - return NULL; skb_push(skb, EDSA_HLEN); memmove(skb->data, skb->data + EDSA_HLEN, 2 * ETH_ALEN); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_gswip.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_gswip.c @@ -60,13 +60,8 @@ struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); - int err; u8 *gswip_tag; - err = skb_cow_head(skb, GSWIP_TX_HEADER_LEN); - if (err) - return NULL; - skb_push(skb, GSWIP_TX_HEADER_LEN); gswip_tag = skb->data; --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_ksz.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_ksz.c @@ -14,46 +14,6 @@ #define KSZ_EGRESS_TAG_LEN 1 #define KSZ_INGRESS_TAG_LEN 1 -static struct sk_buff *ksz_common_xmit(struct sk_buff *skb, - struct net_device *dev, int len) -{ - struct sk_buff *nskb; - int padlen; - - padlen = (skb->len >= ETH_ZLEN) ? 0 : ETH_ZLEN - skb->len; - - if (skb_tailroom(skb) >= padlen + len) { - /* Let dsa_slave_xmit() free skb */ - if (__skb_put_padto(skb, skb->len + padlen, false)) - return NULL; - - nskb = skb; - } else { - nskb = alloc_skb(NET_IP_ALIGN + skb->len + - padlen + len, GFP_ATOMIC); - if (!nskb) - return NULL; - skb_reserve(nskb, NET_IP_ALIGN); - - skb_reset_mac_header(nskb); - skb_set_network_header(nskb, - skb_network_header(skb) - skb->head); - skb_set_transport_header(nskb, - skb_transport_header(skb) - skb->head); - skb_copy_and_csum_dev(skb, skb_put(nskb, skb->len)); - - /* Let skb_put_padto() free nskb, and let dsa_slave_xmit() free - * skb - */ - if (skb_put_padto(nskb, nskb->len + padlen)) - return NULL; - - consume_skb(skb); - } - - return nskb; -} - static struct sk_buff *ksz_common_rcv(struct sk_buff *skb, struct net_device *dev, unsigned int port, unsigned int len) @@ -90,23 +50,18 @@ static struct sk_buff *ksz8795_xmit(struct sk_buff *skb, struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); - struct sk_buff *nskb; u8 *tag; u8 *addr; - nskb = ksz_common_xmit(skb, dev, KSZ_INGRESS_TAG_LEN); - if (!nskb) - return NULL; - /* Tag encoding */ - tag = skb_put(nskb, KSZ_INGRESS_TAG_LEN); - addr = skb_mac_header(nskb); + tag = skb_put(skb, KSZ_INGRESS_TAG_LEN); + addr = skb_mac_header(skb); *tag = 1 << dp->index; if (is_link_local_ether_addr(addr)) *tag |= KSZ8795_TAIL_TAG_OVERRIDE; - return nskb; + return skb; } static struct sk_buff *ksz8795_rcv(struct sk_buff *skb, struct net_device *dev, @@ -155,17 +110,12 @@ struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); - struct sk_buff *nskb; u16 *tag; u8 *addr; - nskb = ksz_common_xmit(skb, dev, KSZ9477_INGRESS_TAG_LEN); - if (!nskb) - return NULL; - /* Tag encoding */ - tag = skb_put(nskb, KSZ9477_INGRESS_TAG_LEN); - addr = skb_mac_header(nskb); + tag = skb_put(skb, KSZ9477_INGRESS_TAG_LEN); + addr = skb_mac_header(skb); *tag = BIT(dp->index); @@ -174,7 +124,7 @@ *tag = cpu_to_be16(*tag); - return nskb; + return skb; } static struct sk_buff *ksz9477_rcv(struct sk_buff *skb, struct net_device *dev, @@ -210,24 +160,19 @@ struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); - struct sk_buff *nskb; u8 *addr; u8 *tag; - nskb = ksz_common_xmit(skb, dev, KSZ_INGRESS_TAG_LEN); - if (!nskb) - return NULL; - /* Tag encoding */ - tag = skb_put(nskb, KSZ_INGRESS_TAG_LEN); - addr = skb_mac_header(nskb); + tag = skb_put(skb, KSZ_INGRESS_TAG_LEN); + addr = skb_mac_header(skb); *tag = BIT(dp->index); if (is_link_local_ether_addr(addr)) *tag |= KSZ9893_TAIL_TAG_OVERRIDE; - return nskb; + return skb; } static const struct dsa_device_ops ksz9893_netdev_ops = { --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_lan9303.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_lan9303.c @@ -57,15 +57,6 @@ struct dsa_port *dp = dsa_slave_to_port(dev); u16 *lan9303_tag; - /* insert a special VLAN tag between the MAC addresses - * and the current ethertype field. - */ - if (skb_cow_head(skb, LAN9303_TAG_LEN) < 0) { - dev_dbg(&dev->dev, - "Cannot make room for the special tag. Dropping packet\n"); - return NULL; - } - /* provide 'LAN9303_TAG_LEN' bytes additional space */ skb_push(skb, LAN9303_TAG_LEN); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_mtk.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_mtk.c @@ -13,6 +13,7 @@ #define MTK_HDR_LEN 4 #define MTK_HDR_XMIT_UNTAGGED 0 #define MTK_HDR_XMIT_TAGGED_TPID_8100 1 +#define MTK_HDR_XMIT_TAGGED_TPID_88A8 2 #define MTK_HDR_RECV_SOURCE_PORT_MASK GENMASK(2, 0) #define MTK_HDR_XMIT_DP_BIT_MASK GENMASK(5, 0) #define MTK_HDR_XMIT_SA_DIS BIT(6) @@ -21,8 +22,8 @@ struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); + u8 xmit_tpid; u8 *mtk_tag; - bool is_vlan_skb = true; unsigned char *dest = eth_hdr(skb)->h_dest; bool is_multicast_skb = is_multicast_ether_addr(dest) && !is_broadcast_ether_addr(dest); @@ -33,13 +34,17 @@ * the both special and VLAN tag at the same time and then look up VLAN * table with VID. */ - if (!skb_vlan_tagged(skb)) { - if (skb_cow_head(skb, MTK_HDR_LEN) < 0) - return NULL; - + switch (skb->protocol) { + case htons(ETH_P_8021Q): + xmit_tpid = MTK_HDR_XMIT_TAGGED_TPID_8100; + break; + case htons(ETH_P_8021AD): + xmit_tpid = MTK_HDR_XMIT_TAGGED_TPID_88A8; + break; + default: + xmit_tpid = MTK_HDR_XMIT_UNTAGGED; skb_push(skb, MTK_HDR_LEN); memmove(skb->data, skb->data + MTK_HDR_LEN, 2 * ETH_ALEN); - is_vlan_skb = false; } mtk_tag = skb->data + 2 * ETH_ALEN; @@ -47,8 +52,7 @@ /* Mark tag attribute on special tag insertion to notify hardware * whether that's a combined special tag with 802.1Q header. */ - mtk_tag[0] = is_vlan_skb ? MTK_HDR_XMIT_TAGGED_TPID_8100 : - MTK_HDR_XMIT_UNTAGGED; + mtk_tag[0] = xmit_tpid; mtk_tag[1] = (1 << dp->index) & MTK_HDR_XMIT_DP_BIT_MASK; /* Disable SA learning for multicast frames */ @@ -56,7 +60,7 @@ mtk_tag[1] |= MTK_HDR_XMIT_SA_DIS; /* Tag control information is kept for 802.1Q */ - if (!is_vlan_skb) { + if (xmit_tpid == MTK_HDR_XMIT_UNTAGGED) { mtk_tag[2] = 0; mtk_tag[3] = 0; } --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_ocelot.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_ocelot.c @@ -144,11 +144,6 @@ struct ocelot_port *ocelot_port = ocelot->ports[port]; u8 *injection; - if (unlikely(skb_cow_head(skb, OCELOT_TAG_LEN) < 0)) { - netdev_err(netdev, "Cannot make room for tag.\n"); - return NULL; - } - injection = skb_push(skb, OCELOT_TAG_LEN); memset(injection, 0, OCELOT_TAG_LEN); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_qca.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_qca.c @@ -33,9 +33,6 @@ struct dsa_port *dp = dsa_slave_to_port(dev); u16 *phdr, hdr; - if (skb_cow_head(skb, QCA_HDR_LEN) < 0) - return NULL; - skb_push(skb, QCA_HDR_LEN); memmove(skb->data, skb->data + QCA_HDR_LEN, 2 * ETH_ALEN); --- linux-riscv-5.8-5.8.0.orig/net/dsa/tag_trailer.c +++ linux-riscv-5.8-5.8.0/net/dsa/tag_trailer.c @@ -13,42 +13,15 @@ static struct sk_buff *trailer_xmit(struct sk_buff *skb, struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); - struct sk_buff *nskb; - int padlen; u8 *trailer; - /* - * We have to make sure that the trailer ends up as the very - * last 4 bytes of the packet. This means that we have to pad - * the packet to the minimum ethernet frame size, if necessary, - * before adding the trailer. - */ - padlen = 0; - if (skb->len < 60) - padlen = 60 - skb->len; - - nskb = alloc_skb(NET_IP_ALIGN + skb->len + padlen + 4, GFP_ATOMIC); - if (!nskb) - return NULL; - skb_reserve(nskb, NET_IP_ALIGN); - - skb_reset_mac_header(nskb); - skb_set_network_header(nskb, skb_network_header(skb) - skb->head); - skb_set_transport_header(nskb, skb_transport_header(skb) - skb->head); - skb_copy_and_csum_dev(skb, skb_put(nskb, skb->len)); - consume_skb(skb); - - if (padlen) { - skb_put_zero(nskb, padlen); - } - - trailer = skb_put(nskb, 4); + trailer = skb_put(skb, 4); trailer[0] = 0x80; trailer[1] = 1 << dp->index; trailer[2] = 0x10; trailer[3] = 0x00; - return nskb; + return skb; } static struct sk_buff *trailer_rcv(struct sk_buff *skb, struct net_device *dev, --- linux-riscv-5.8-5.8.0.orig/net/ethtool/bitset.c +++ linux-riscv-5.8-5.8.0/net/ethtool/bitset.c @@ -630,6 +630,8 @@ return ret; change_bits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]); + if (change_bits > nbits) + change_bits = nbits; bitmap_from_arr32(val, nla_data(tb[ETHTOOL_A_BITSET_VALUE]), change_bits); if (change_bits < nbits) --- linux-riscv-5.8-5.8.0.orig/net/ethtool/channels.c +++ linux-riscv-5.8-5.8.0/net/ethtool/channels.c @@ -132,10 +132,9 @@ bool mod = false, mod_combined = false; struct ethtool_channels channels = {}; struct ethnl_req_info req_info = {}; - const struct nlattr *err_attr; + u32 err_attr, max_rx_in_use = 0; const struct ethtool_ops *ops; struct net_device *dev; - u32 max_rx_in_use = 0; int ret; ret = nlmsg_parse(info->nlhdr, GENL_HDRLEN, tb, @@ -178,34 +177,35 @@ /* ensure new channel counts are within limits */ if (channels.rx_count > channels.max_rx) - err_attr = tb[ETHTOOL_A_CHANNELS_RX_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_RX_COUNT; else if (channels.tx_count > channels.max_tx) - err_attr = tb[ETHTOOL_A_CHANNELS_TX_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_TX_COUNT; else if (channels.other_count > channels.max_other) - err_attr = tb[ETHTOOL_A_CHANNELS_OTHER_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_OTHER_COUNT; else if (channels.combined_count > channels.max_combined) - err_attr = tb[ETHTOOL_A_CHANNELS_COMBINED_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_COMBINED_COUNT; else - err_attr = NULL; + err_attr = 0; if (err_attr) { ret = -EINVAL; - NL_SET_ERR_MSG_ATTR(info->extack, err_attr, + NL_SET_ERR_MSG_ATTR(info->extack, tb[err_attr], "requested channel count exceeds maximum"); goto out_ops; } /* ensure there is at least one RX and one TX channel */ if (!channels.combined_count && !channels.rx_count) - err_attr = tb[ETHTOOL_A_CHANNELS_RX_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_RX_COUNT; else if (!channels.combined_count && !channels.tx_count) - err_attr = tb[ETHTOOL_A_CHANNELS_TX_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_TX_COUNT; else - err_attr = NULL; + err_attr = 0; if (err_attr) { if (mod_combined) - err_attr = tb[ETHTOOL_A_CHANNELS_COMBINED_COUNT]; + err_attr = ETHTOOL_A_CHANNELS_COMBINED_COUNT; ret = -EINVAL; - NL_SET_ERR_MSG_ATTR(info->extack, err_attr, "requested channel counts would result in no RX or TX channel being configured"); + NL_SET_ERR_MSG_ATTR(info->extack, tb[err_attr], + "requested channel counts would result in no RX or TX channel being configured"); goto out_ops; } @@ -215,8 +215,9 @@ if (netif_is_rxfh_configured(dev) && !ethtool_get_max_rxfh_channel(dev, &max_rx_in_use) && (channels.combined_count + channels.rx_count) <= max_rx_in_use) { + ret = -EINVAL; GENL_SET_ERR_MSG(info, "requested channel counts are too low for existing indirection table settings"); - return -EINVAL; + goto out_ops; } /* Disabling channels, query zero-copy AF_XDP sockets */ @@ -224,8 +225,9 @@ min(channels.rx_count, channels.tx_count); for (i = from_channel; i < old_total; i++) if (xdp_get_umem_from_qid(dev, i)) { + ret = -EINVAL; GENL_SET_ERR_MSG(info, "requested channel counts are too low for existing zerocopy AF_XDP sockets"); - return -EINVAL; + goto out_ops; } ret = dev->ethtool_ops->set_channels(dev, &channels); --- linux-riscv-5.8-5.8.0.orig/net/ethtool/eee.c +++ linux-riscv-5.8-5.8.0/net/ethtool/eee.c @@ -185,8 +185,8 @@ ethnl_update_bool32(&eee.eee_enabled, tb[ETHTOOL_A_EEE_ENABLED], &mod); ethnl_update_bool32(&eee.tx_lpi_enabled, tb[ETHTOOL_A_EEE_TX_LPI_ENABLED], &mod); - ethnl_update_bool32(&eee.tx_lpi_timer, tb[ETHTOOL_A_EEE_TX_LPI_TIMER], - &mod); + ethnl_update_u32(&eee.tx_lpi_timer, tb[ETHTOOL_A_EEE_TX_LPI_TIMER], + &mod); ret = 0; if (!mod) goto out_ops; --- linux-riscv-5.8-5.8.0.orig/net/ethtool/features.c +++ linux-riscv-5.8-5.8.0/net/ethtool/features.c @@ -224,7 +224,9 @@ DECLARE_BITMAP(wanted_diff_mask, NETDEV_FEATURE_COUNT); DECLARE_BITMAP(active_diff_mask, NETDEV_FEATURE_COUNT); DECLARE_BITMAP(old_active, NETDEV_FEATURE_COUNT); + DECLARE_BITMAP(old_wanted, NETDEV_FEATURE_COUNT); DECLARE_BITMAP(new_active, NETDEV_FEATURE_COUNT); + DECLARE_BITMAP(new_wanted, NETDEV_FEATURE_COUNT); DECLARE_BITMAP(req_wanted, NETDEV_FEATURE_COUNT); DECLARE_BITMAP(req_mask, NETDEV_FEATURE_COUNT); struct nlattr *tb[ETHTOOL_A_FEATURES_MAX + 1]; @@ -250,6 +252,7 @@ rtnl_lock(); ethnl_features_to_bitmap(old_active, dev->features); + ethnl_features_to_bitmap(old_wanted, dev->wanted_features); ret = ethnl_parse_bitset(req_wanted, req_mask, NETDEV_FEATURE_COUNT, tb[ETHTOOL_A_FEATURES_WANTED], netdev_features_strings, info->extack); @@ -261,17 +264,15 @@ goto out_rtnl; } - /* set req_wanted bits not in req_mask from old_active */ + /* set req_wanted bits not in req_mask from old_wanted */ bitmap_and(req_wanted, req_wanted, req_mask, NETDEV_FEATURE_COUNT); - bitmap_andnot(new_active, old_active, req_mask, NETDEV_FEATURE_COUNT); - bitmap_or(req_wanted, new_active, req_wanted, NETDEV_FEATURE_COUNT); - if (bitmap_equal(req_wanted, old_active, NETDEV_FEATURE_COUNT)) { - ret = 0; - goto out_rtnl; + bitmap_andnot(new_wanted, old_wanted, req_mask, NETDEV_FEATURE_COUNT); + bitmap_or(req_wanted, new_wanted, req_wanted, NETDEV_FEATURE_COUNT); + if (!bitmap_equal(req_wanted, old_wanted, NETDEV_FEATURE_COUNT)) { + dev->wanted_features &= ~dev->hw_features; + dev->wanted_features |= ethnl_bitmap_to_features(req_wanted) & dev->hw_features; + __netdev_update_features(dev); } - - dev->wanted_features = ethnl_bitmap_to_features(req_wanted); - __netdev_update_features(dev); ethnl_features_to_bitmap(new_active, dev->features); mod = !bitmap_equal(old_active, new_active, NETDEV_FEATURE_COUNT); @@ -295,7 +296,7 @@ active_diff_mask, compact); } if (mod) - ethtool_notify(dev, ETHTOOL_MSG_FEATURES_NTF, NULL); + netdev_features_change(dev); out_rtnl: rtnl_unlock(); --- linux-riscv-5.8-5.8.0.orig/net/ethtool/strset.c +++ linux-riscv-5.8-5.8.0/net/ethtool/strset.c @@ -181,7 +181,7 @@ ret = strset_get_id(attr, &id, extack); if (ret < 0) return ret; - if (ret >= ETH_SS_COUNT) { + if (id >= ETH_SS_COUNT) { NL_SET_ERR_MSG_ATTR(extack, attr, "unknown string set id"); return -EOPNOTSUPP; --- linux-riscv-5.8-5.8.0.orig/net/hsr/hsr_device.c +++ linux-riscv-5.8-5.8.0/net/hsr/hsr_device.c @@ -218,6 +218,7 @@ master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); if (master) { skb->dev = master->dev; + skb_reset_mac_header(skb); hsr_forward_skb(skb, master); } else { atomic_long_inc(&dev->tx_dropped); --- linux-riscv-5.8-5.8.0.orig/net/hsr/hsr_forward.c +++ linux-riscv-5.8-5.8.0/net/hsr/hsr_forward.c @@ -357,12 +357,6 @@ { struct hsr_frame_info frame; - if (skb_mac_header(skb) != skb->data) { - WARN_ONCE(1, "%s:%d: Malformed frame (port_src %s)\n", - __FILE__, __LINE__, port->dev->name); - goto out_drop; - } - if (hsr_fill_frame_info(&frame, skb, port) < 0) goto out_drop; hsr_register_frame_in(frame.node_src, port, frame.sequence_nr); --- linux-riscv-5.8-5.8.0.orig/net/hsr/hsr_framereg.c +++ linux-riscv-5.8-5.8.0/net/hsr/hsr_framereg.c @@ -149,8 +149,10 @@ * as initialization. (0 could trigger an spurious ring error warning). */ now = jiffies; - for (i = 0; i < HSR_PT_PORTS; i++) + for (i = 0; i < HSR_PT_PORTS; i++) { new_node->time_in[i] = now; + new_node->time_out[i] = now; + } for (i = 0; i < HSR_PT_PORTS; i++) new_node->seq_out[i] = seq_out; @@ -354,9 +356,12 @@ int hsr_register_frame_out(struct hsr_port *port, struct hsr_node *node, u16 sequence_nr) { - if (seq_nr_before_or_eq(sequence_nr, node->seq_out[port->type])) + 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))) return 1; + node->time_out[port->type] = jiffies; node->seq_out[port->type] = sequence_nr; return 0; } --- linux-riscv-5.8-5.8.0.orig/net/hsr/hsr_framereg.h +++ linux-riscv-5.8-5.8.0/net/hsr/hsr_framereg.h @@ -55,6 +55,7 @@ enum hsr_port_type addr_B_port; unsigned long time_in[HSR_PT_PORTS]; bool time_in_stale[HSR_PT_PORTS]; + unsigned long time_out[HSR_PT_PORTS]; u16 seq_out[HSR_PT_PORTS]; struct rcu_head rcu_head; }; --- linux-riscv-5.8-5.8.0.orig/net/hsr/hsr_main.h +++ linux-riscv-5.8-5.8.0/net/hsr/hsr_main.h @@ -18,6 +18,7 @@ #define HSR_LIFE_CHECK_INTERVAL 2000 /* ms */ #define HSR_NODE_FORGET_TIME 60000 /* ms */ #define HSR_ANNOUNCE_INTERVAL 100 /* ms */ +#define HSR_ENTRY_FORGET_TIME 400 /* ms */ /* By how much may slave1 and slave2 timestamps of latest received frame from * each node differ before we notify of communication problem? --- linux-riscv-5.8-5.8.0.orig/net/ieee802154/nl-mac.c +++ linux-riscv-5.8-5.8.0/net/ieee802154/nl-mac.c @@ -551,9 +551,7 @@ desc->mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]); if (desc->mode == IEEE802154_SCF_KEY_IMPLICIT) { - if (!info->attrs[IEEE802154_ATTR_PAN_ID] && - !(info->attrs[IEEE802154_ATTR_SHORT_ADDR] || - info->attrs[IEEE802154_ATTR_HW_ADDR])) + if (!info->attrs[IEEE802154_ATTR_PAN_ID]) return -EINVAL; desc->device_addr.pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]); @@ -562,6 +560,9 @@ desc->device_addr.mode = IEEE802154_ADDR_SHORT; desc->device_addr.short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]); } else { + if (!info->attrs[IEEE802154_ATTR_HW_ADDR]) + return -EINVAL; + desc->device_addr.mode = IEEE802154_ADDR_LONG; desc->device_addr.extended_addr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]); } --- linux-riscv-5.8-5.8.0.orig/net/ieee802154/nl802154.c +++ linux-riscv-5.8-5.8.0/net/ieee802154/nl802154.c @@ -820,8 +820,13 @@ goto nla_put_failure; #ifdef CONFIG_IEEE802154_NL802154_EXPERIMENTAL + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + goto out; + if (nl802154_get_llsec_params(msg, rdev, wpan_dev) < 0) goto nla_put_failure; + +out: #endif /* CONFIG_IEEE802154_NL802154_EXPERIMENTAL */ genlmsg_end(msg, hdr); @@ -1384,6 +1389,9 @@ u32 changed = 0; int ret; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + if (info->attrs[NL802154_ATTR_SEC_ENABLED]) { u8 enabled; @@ -1490,6 +1498,11 @@ if (err) return err; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) { + err = skb->len; + goto out_err; + } + if (!wpan_dev->netdev) { err = -EINVAL; goto out_err; @@ -1544,7 +1557,11 @@ struct ieee802154_llsec_key_id id = { }; u32 commands[NL802154_CMD_FRAME_NR_IDS / 32] = { }; - if (nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack)) + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + + if (!info->attrs[NL802154_ATTR_SEC_KEY] || + nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack)) return -EINVAL; if (!attrs[NL802154_KEY_ATTR_USAGE_FRAMES] || @@ -1592,7 +1609,11 @@ struct nlattr *attrs[NL802154_KEY_ATTR_MAX + 1]; struct ieee802154_llsec_key_id id; - if (nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack)) + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + + if (!info->attrs[NL802154_ATTR_SEC_KEY] || + nla_parse_nested_deprecated(attrs, NL802154_KEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_KEY], nl802154_key_policy, info->extack)) return -EINVAL; if (ieee802154_llsec_parse_key_id(attrs[NL802154_KEY_ATTR_ID], &id) < 0) @@ -1656,6 +1677,11 @@ if (err) return err; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) { + err = skb->len; + goto out_err; + } + if (!wpan_dev->netdev) { err = -EINVAL; goto out_err; @@ -1742,6 +1768,9 @@ struct wpan_dev *wpan_dev = dev->ieee802154_ptr; struct ieee802154_llsec_device dev_desc; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + if (ieee802154_llsec_parse_device(info->attrs[NL802154_ATTR_SEC_DEVICE], &dev_desc) < 0) return -EINVAL; @@ -1757,7 +1786,11 @@ struct nlattr *attrs[NL802154_DEV_ATTR_MAX + 1]; __le64 extended_addr; - if (nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVICE], nl802154_dev_policy, info->extack)) + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + + if (!info->attrs[NL802154_ATTR_SEC_DEVICE] || + nla_parse_nested_deprecated(attrs, NL802154_DEV_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVICE], nl802154_dev_policy, info->extack)) return -EINVAL; if (!attrs[NL802154_DEV_ATTR_EXTENDED_ADDR]) @@ -1825,6 +1858,11 @@ if (err) return err; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) { + err = skb->len; + goto out_err; + } + if (!wpan_dev->netdev) { err = -EINVAL; goto out_err; @@ -1882,6 +1920,9 @@ struct ieee802154_llsec_device_key key; __le64 extended_addr; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack) < 0) return -EINVAL; @@ -1913,7 +1954,11 @@ struct ieee802154_llsec_device_key key; __le64 extended_addr; - if (nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack)) + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + + if (!info->attrs[NL802154_ATTR_SEC_DEVKEY] || + nla_parse_nested_deprecated(attrs, NL802154_DEVKEY_ATTR_MAX, info->attrs[NL802154_ATTR_SEC_DEVKEY], nl802154_devkey_policy, info->extack)) return -EINVAL; if (!attrs[NL802154_DEVKEY_ATTR_EXTENDED_ADDR]) @@ -1986,6 +2031,11 @@ if (err) return err; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) { + err = skb->len; + goto out_err; + } + if (!wpan_dev->netdev) { err = -EINVAL; goto out_err; @@ -2070,6 +2120,9 @@ struct wpan_dev *wpan_dev = dev->ieee802154_ptr; struct ieee802154_llsec_seclevel sl; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + if (llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], &sl) < 0) return -EINVAL; @@ -2085,6 +2138,9 @@ struct wpan_dev *wpan_dev = dev->ieee802154_ptr; struct ieee802154_llsec_seclevel sl; + if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR) + return -EOPNOTSUPP; + if (!info->attrs[NL802154_ATTR_SEC_LEVEL] || llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL], &sl) < 0) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ah4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ah4.c @@ -141,7 +141,7 @@ } kfree(AH_SKB_CB(skb)->tmp); - xfrm_output_resume(skb, err); + xfrm_output_resume(skb->sk, skb, err); } static int ah_output(struct xfrm_state *x, struct sk_buff *skb) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/arp.c +++ linux-riscv-5.8-5.8.0/net/ipv4/arp.c @@ -125,6 +125,7 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb); static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb); static void parp_redo(struct sk_buff *skb); +static int arp_is_multicast(const void *pkey); static const struct neigh_ops arp_generic_ops = { .family = AF_INET, @@ -156,6 +157,7 @@ .key_eq = arp_key_eq, .constructor = arp_constructor, .proxy_redo = parp_redo, + .is_multicast = arp_is_multicast, .id = "arp_cache", .parms = { .tbl = &arp_tbl, @@ -928,6 +930,10 @@ arp_process(dev_net(skb->dev), NULL, skb); } +static int arp_is_multicast(const void *pkey) +{ + return ipv4_is_multicast(*((__be32 *)pkey)); +} /* * Receive an arp request from the device layer. --- linux-riscv-5.8-5.8.0.orig/net/ipv4/cipso_ipv4.c +++ linux-riscv-5.8-5.8.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 @@ -519,16 +521,10 @@ ret_val = -ENOENT; goto doi_remove_return; } - if (!refcount_dec_and_test(&doi_def->refcount)) { - spin_unlock(&cipso_v4_doi_list_lock); - ret_val = -EBUSY; - goto doi_remove_return; - } list_del_rcu(&doi_def->list); spin_unlock(&cipso_v4_doi_list_lock); - cipso_v4_cache_invalidate(); - call_rcu(&doi_def->rcu, cipso_v4_doi_free_rcu); + cipso_v4_doi_putdef(doi_def); ret_val = 0; doi_remove_return: @@ -585,9 +581,6 @@ if (!refcount_dec_and_test(&doi_def->refcount)) return; - spin_lock(&cipso_v4_doi_list_lock); - list_del_rcu(&doi_def->list); - spin_unlock(&cipso_v4_doi_list_lock); cipso_v4_cache_invalidate(); call_rcu(&doi_def->rcu, cipso_v4_doi_free_rcu); @@ -1469,7 +1462,12 @@ 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. This should never become an issue. + * The check is made from an abundance of caution. */ + 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; } @@ -1489,7 +1487,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-riscv-5.8-5.8.0.orig/net/ipv4/esp4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/esp4.c @@ -279,7 +279,7 @@ x->encap && x->encap->encap_type == TCP_ENCAP_ESPINTCP) esp_output_tail_tcp(x, skb); else - xfrm_output_resume(skb, err); + xfrm_output_resume(skb->sk, skb, err); } } @@ -443,7 +443,6 @@ int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp) { u8 *tail; - u8 *vaddr; int nfrags; int esph_offset; struct page *page; @@ -485,14 +484,10 @@ page = pfrag->page; get_page(page); - vaddr = kmap_atomic(page); - - tail = vaddr + pfrag->offset; + tail = page_address(page) + pfrag->offset; esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto); - kunmap_atomic(vaddr); - nfrags = skb_shinfo(skb)->nr_frags; __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, --- linux-riscv-5.8-5.8.0.orig/net/ipv4/esp4_offload.c +++ linux-riscv-5.8-5.8.0/net/ipv4/esp4_offload.c @@ -217,10 +217,12 @@ if ((!(skb->dev->gso_partial_features & NETIF_F_HW_ESP) && !(features & NETIF_F_HW_ESP)) || x->xso.dev != skb->dev) - esp_features = features & ~(NETIF_F_SG | NETIF_F_CSUM_MASK); + esp_features = features & ~(NETIF_F_SG | NETIF_F_CSUM_MASK | + NETIF_F_SCTP_CRC); else if (!(features & NETIF_F_HW_ESP_TX_CSUM) && !(skb->dev->gso_partial_features & NETIF_F_HW_ESP_TX_CSUM)) - esp_features = features & ~NETIF_F_CSUM_MASK; + esp_features = features & ~(NETIF_F_CSUM_MASK | + NETIF_F_SCTP_CRC); xo->flags |= XFRM_GSO_SEGMENT; @@ -312,8 +314,17 @@ ip_hdr(skb)->tot_len = htons(skb->len); ip_send_check(ip_hdr(skb)); - if (hw_offload) + if (hw_offload) { + if (!skb_ext_add(skb, SKB_EXT_SEC_PATH)) + return -ENOMEM; + + xo = xfrm_offload(skb); + if (!xo) + return -EINVAL; + + xo->flags |= XFRM_XMIT; return 0; + } err = esp_output_tail(x, skb, &esp); if (err) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/fib_frontend.c +++ linux-riscv-5.8-5.8.0/net/ipv4/fib_frontend.c @@ -292,7 +292,7 @@ .flowi4_iif = LOOPBACK_IFINDEX, .flowi4_oif = l3mdev_master_ifindex_rcu(dev), .daddr = ip_hdr(skb)->saddr, - .flowi4_tos = RT_TOS(ip_hdr(skb)->tos), + .flowi4_tos = ip_hdr(skb)->tos & IPTOS_RT_MASK, .flowi4_scope = scope, .flowi4_mark = vmark ? skb->mark : 0, }; @@ -362,6 +362,7 @@ fl4.flowi4_tun_key.tun_id = 0; fl4.flowi4_flags = 0; fl4.flowi4_uid = sock_net_uid(net, NULL); + fl4.flowi4_multipath_hash = 0; no_addr = idev->ifa_list == NULL; @@ -695,7 +696,7 @@ cfg->fc_gw4 = *((__be32 *)via->rtvia_addr); break; case AF_INET6: -#ifdef CONFIG_IPV6 +#if IS_ENABLED(CONFIG_IPV6) if (alen != sizeof(struct in6_addr)) { NL_SET_ERR_MSG(extack, "Invalid IPv6 address in RTA_VIA"); return -EINVAL; @@ -824,7 +825,7 @@ if (has_gw && has_via) { NL_SET_ERR_MSG(extack, "Nexthop configuration can not contain both GATEWAY and VIA"); - goto errout; + return -EINVAL; } return 0; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/fib_trie.c +++ linux-riscv-5.8-5.8.0/net/ipv4/fib_trie.c @@ -2121,7 +2121,8 @@ struct hlist_head *head = &net->ipv4.fib_table_hash[h]; struct fib_table *tb; - hlist_for_each_entry_rcu(tb, head, tb_hlist) + hlist_for_each_entry_rcu(tb, head, tb_hlist, + lockdep_rtnl_is_held()) __fib_info_notify_update(net, tb, info); } } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/gre_demux.c +++ linux-riscv-5.8-5.8.0/net/ipv4/gre_demux.c @@ -128,7 +128,7 @@ * to 0 and sets the configured key in the * inner erspan header field */ - if (greh->protocol == htons(ETH_P_ERSPAN) || + if ((greh->protocol == htons(ETH_P_ERSPAN) && hdr_len != 4) || greh->protocol == htons(ETH_P_ERSPAN2)) { struct erspan_base_hdr *ershdr; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/icmp.c +++ linux-riscv-5.8-5.8.0/net/ipv4/icmp.c @@ -239,7 +239,7 @@ /** * icmp_global_allow - Are we allowed to send one more ICMP message ? * - * Uses a token bucket to limit our ICMP messages to sysctl_icmp_msgs_per_sec. + * Uses a token bucket to limit our ICMP messages to ~sysctl_icmp_msgs_per_sec. * Returns false if we reached the limit and can not send another packet. * Note: called with BH disabled */ @@ -267,7 +267,10 @@ } credit = min_t(u32, icmp_global.credit + incr, sysctl_icmp_msgs_burst); if (credit) { - credit--; + /* We want to use a credit of one in average, but need to randomize + * it for security reasons. + */ + credit = max_t(int, credit - prandom_u32_max(3), 0); rc = true; } WRITE_ONCE(icmp_global.credit, credit); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/inet_connection_sock.c +++ linux-riscv-5.8-5.8.0/net/ipv4/inet_connection_sock.c @@ -296,6 +296,57 @@ ipv6_only_sock(sk), true, false); } +void inet_csk_update_fastreuse(struct inet_bind_bucket *tb, + struct sock *sk) +{ + kuid_t uid = sock_i_uid(sk); + bool reuse = sk->sk_reuse && sk->sk_state != TCP_LISTEN; + + if (hlist_empty(&tb->owners)) { + tb->fastreuse = reuse; + if (sk->sk_reuseport) { + tb->fastreuseport = FASTREUSEPORT_ANY; + tb->fastuid = uid; + tb->fast_rcv_saddr = sk->sk_rcv_saddr; + tb->fast_ipv6_only = ipv6_only_sock(sk); + tb->fast_sk_family = sk->sk_family; +#if IS_ENABLED(CONFIG_IPV6) + tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; +#endif + } else { + tb->fastreuseport = 0; + } + } else { + if (!reuse) + tb->fastreuse = 0; + if (sk->sk_reuseport) { + /* We didn't match or we don't have fastreuseport set on + * the tb, but we have sk_reuseport set on this socket + * and we know that there are no bind conflicts with + * this socket in this tb, so reset our tb's reuseport + * settings so that any subsequent sockets that match + * our current socket will be put on the fast path. + * + * If we reset we need to set FASTREUSEPORT_STRICT so we + * do extra checking for all subsequent sk_reuseport + * socks. + */ + if (!sk_reuseport_match(tb, sk)) { + tb->fastreuseport = FASTREUSEPORT_STRICT; + tb->fastuid = uid; + tb->fast_rcv_saddr = sk->sk_rcv_saddr; + tb->fast_ipv6_only = ipv6_only_sock(sk); + tb->fast_sk_family = sk->sk_family; +#if IS_ENABLED(CONFIG_IPV6) + tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; +#endif + } + } else { + tb->fastreuseport = 0; + } + } +} + /* Obtain a reference to a local port for the given sock, * if snum is zero it means select any available local port. * We try to allocate an odd port (and leave even ports for connect()) @@ -308,7 +359,6 @@ struct inet_bind_hashbucket *head; struct net *net = sock_net(sk); struct inet_bind_bucket *tb = NULL; - kuid_t uid = sock_i_uid(sk); int l3mdev; l3mdev = inet_sk_bound_l3mdev(sk); @@ -345,49 +395,8 @@ goto fail_unlock; } success: - if (hlist_empty(&tb->owners)) { - tb->fastreuse = reuse; - if (sk->sk_reuseport) { - tb->fastreuseport = FASTREUSEPORT_ANY; - tb->fastuid = uid; - tb->fast_rcv_saddr = sk->sk_rcv_saddr; - tb->fast_ipv6_only = ipv6_only_sock(sk); - tb->fast_sk_family = sk->sk_family; -#if IS_ENABLED(CONFIG_IPV6) - tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; -#endif - } else { - tb->fastreuseport = 0; - } - } else { - if (!reuse) - tb->fastreuse = 0; - if (sk->sk_reuseport) { - /* We didn't match or we don't have fastreuseport set on - * the tb, but we have sk_reuseport set on this socket - * and we know that there are no bind conflicts with - * this socket in this tb, so reset our tb's reuseport - * settings so that any subsequent sockets that match - * our current socket will be put on the fast path. - * - * If we reset we need to set FASTREUSEPORT_STRICT so we - * do extra checking for all subsequent sk_reuseport - * socks. - */ - if (!sk_reuseport_match(tb, sk)) { - tb->fastreuseport = FASTREUSEPORT_STRICT; - tb->fastuid = uid; - tb->fast_rcv_saddr = sk->sk_rcv_saddr; - tb->fast_ipv6_only = ipv6_only_sock(sk); - tb->fast_sk_family = sk->sk_family; -#if IS_ENABLED(CONFIG_IPV6) - tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; -#endif - } - } else { - tb->fastreuseport = 0; - } - } + inet_csk_update_fastreuse(tb, sk); + if (!inet_csk(sk)->icsk_bind_hash) inet_bind_hash(sk, tb, port); WARN_ON(inet_csk(sk)->icsk_bind_hash != tb); @@ -697,12 +706,15 @@ return found; } -void inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req) +bool inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req) { - if (reqsk_queue_unlink(req)) { + bool unlinked = reqsk_queue_unlink(req); + + if (unlinked) { reqsk_queue_removed(&inet_csk(sk)->icsk_accept_queue, req); reqsk_put(req); } + return unlinked; } EXPORT_SYMBOL(inet_csk_reqsk_queue_drop); @@ -849,6 +861,7 @@ newicsk->icsk_retransmits = 0; newicsk->icsk_backoff = 0; newicsk->icsk_probes_out = 0; + newicsk->icsk_probes_tstamp = 0; /* Deinitialize accept_queue to trap illegal accesses. */ memset(&newicsk->icsk_accept_queue, 0, sizeof(newicsk->icsk_accept_queue)); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/inet_diag.c +++ linux-riscv-5.8-5.8.0/net/ipv4/inet_diag.c @@ -431,8 +431,10 @@ r->idiag_inode = 0; if (net_admin && nla_put_u32(skb, INET_DIAG_MARK, - inet_rsk(reqsk)->ir_mark)) + inet_rsk(reqsk)->ir_mark)) { + nlmsg_cancel(skb, nlh); return -EMSGSIZE; + } nlmsg_end(skb, nlh); return 0; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/inet_hashtables.c +++ linux-riscv-5.8-5.8.0/net/ipv4/inet_hashtables.c @@ -163,6 +163,7 @@ return -ENOMEM; } } + inet_csk_update_fastreuse(tb, child); } inet_bind_hash(child, tb, port); spin_unlock(&head->lock); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ip_gre.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ip_gre.c @@ -625,9 +625,7 @@ } if (dev->header_ops) { - /* Need space for new headers */ - if (skb_cow_head(skb, dev->needed_headroom - - (tunnel->hlen + sizeof(struct iphdr)))) + if (skb_cow_head(skb, 0)) goto free_skb; tnl_params = (const struct iphdr *)skb->data; @@ -748,7 +746,11 @@ len = tunnel->tun_hlen - len; tunnel->hlen = tunnel->hlen + len; - dev->needed_headroom = dev->needed_headroom + len; + if (dev->header_ops) + dev->hard_header_len += len; + else + dev->needed_headroom += len; + if (set_mtu) dev->mtu = max_t(int, dev->mtu - len, 68); @@ -944,6 +946,7 @@ tunnel->parms.iph.protocol = IPPROTO_GRE; tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; + dev->needed_headroom = tunnel->hlen + sizeof(tunnel->parms.iph); dev->features |= GRE_FEATURES; dev->hw_features |= GRE_FEATURES; @@ -987,10 +990,14 @@ return -EINVAL; dev->flags = IFF_BROADCAST; dev->header_ops = &ipgre_header_ops; + dev->hard_header_len = tunnel->hlen + sizeof(*iph); + dev->needed_headroom = 0; } #endif } else if (!tunnel->collect_md) { dev->header_ops = &ipgre_header_ops; + dev->hard_header_len = tunnel->hlen + sizeof(*iph); + dev->needed_headroom = 0; } return ip_tunnel_init(dev); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ip_output.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ip_output.c @@ -74,6 +74,7 @@ #include #include #include +#include #include #include #include @@ -300,7 +301,7 @@ if (skb_is_gso(skb)) return ip_finish_output_gso(net, sk, skb, mtu); - if (skb->len > mtu || (IPCB(skb)->flags & IPSKB_FRAG_PMTU)) + if (skb->len > mtu || IPCB(skb)->frag_max_size) return ip_fragment(net, sk, skb, mtu, ip_finish_output2); return ip_finish_output2(net, sk, skb); @@ -1697,7 +1698,7 @@ if (IS_ERR(rt)) return; - inet_sk(sk)->tos = arg->tos; + inet_sk(sk)->tos = arg->tos & ~INET_ECN_MASK; sk->sk_protocol = ip_hdr(skb)->protocol; sk->sk_bound_dev_if = arg->bound_dev_if; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ip_sockglue.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ip_sockglue.c @@ -130,20 +130,20 @@ static void ip_cmsg_recv_security(struct msghdr *msg, struct sk_buff *skb) { - char *secdata; - u32 seclen, secid; + struct lsmcontext context; + struct lsmblob lb; int err; - err = security_socket_getpeersec_dgram(NULL, skb, &secid); + err = security_socket_getpeersec_dgram(NULL, skb, &lb); if (err) return; - err = security_secid_to_secctx(secid, &secdata, &seclen); + 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) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ip_tunnel.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ip_tunnel.c @@ -317,7 +317,7 @@ } dev->needed_headroom = t_hlen + hlen; - mtu -= (dev->hard_header_len + t_hlen); + mtu -= t_hlen; if (mtu < IPV4_MIN_MTU) mtu = IPV4_MIN_MTU; @@ -347,7 +347,7 @@ nt = netdev_priv(dev); t_hlen = nt->hlen + sizeof(struct iphdr); dev->min_mtu = ETH_MIN_MTU; - dev->max_mtu = IP_MAX_MTU - dev->hard_header_len - t_hlen; + dev->max_mtu = IP_MAX_MTU - t_hlen; ip_tunnel_add(itn, nt); return nt; @@ -494,11 +494,10 @@ int mtu; tunnel_hlen = md ? tunnel_hlen : tunnel->hlen; - pkt_size = skb->len - tunnel_hlen - dev->hard_header_len; + pkt_size = skb->len - tunnel_hlen; if (df) - mtu = dst_mtu(&rt->dst) - dev->hard_header_len - - sizeof(struct iphdr) - tunnel_hlen; + mtu = dst_mtu(&rt->dst) - (sizeof(struct iphdr) + tunnel_hlen); else mtu = skb_valid_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu; @@ -509,8 +508,7 @@ if (!skb_is_gso(skb) && (inner_iph->frag_off & htons(IP_DF)) && mtu < pkt_size) { - memset(IPCB(skb), 0, sizeof(*IPCB(skb))); - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu)); return -E2BIG; } } @@ -534,7 +532,7 @@ if (!skb_is_gso(skb) && mtu >= IPV6_MIN_MTU && mtu < pkt_size) { - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); return -E2BIG; } } @@ -614,9 +612,6 @@ ttl = ip4_dst_hoplimit(&rt->dst); } - if (!df && skb->protocol == htons(ETH_P_IP)) - df = inner_iph->frag_off & htons(IP_DF); - headroom += LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len; if (headroom > dev->needed_headroom) dev->needed_headroom = headroom; @@ -768,8 +763,11 @@ goto tx_error; } - if (tnl_update_pmtu(dev, skb, rt, tnl_params->frag_off, inner_iph, - 0, 0, false)) { + df = tnl_params->frag_off; + if (skb->protocol == htons(ETH_P_IP) && !tunnel->ignore_df) + df |= (inner_iph->frag_off & htons(IP_DF)); + + if (tnl_update_pmtu(dev, skb, rt, df, inner_iph, 0, 0, false)) { ip_rt_put(rt); goto tx_error; } @@ -797,10 +795,6 @@ ttl = ip4_dst_hoplimit(&rt->dst); } - df = tnl_params->frag_off; - if (skb->protocol == htons(ETH_P_IP) && !tunnel->ignore_df) - df |= (inner_iph->frag_off&htons(IP_DF)); - max_headroom = LL_RESERVED_SPACE(rt->dst.dev) + sizeof(struct iphdr) + rt->dst.header_len + ip_encap_hlen(&tunnel->encap); if (max_headroom > dev->needed_headroom) @@ -982,7 +976,7 @@ { struct ip_tunnel *tunnel = netdev_priv(dev); int t_hlen = tunnel->hlen + sizeof(struct iphdr); - int max_mtu = IP_MAX_MTU - dev->hard_header_len - t_hlen; + int max_mtu = IP_MAX_MTU - t_hlen; if (new_mtu < ETH_MIN_MTU) return -EINVAL; @@ -1159,10 +1153,9 @@ mtu = ip_tunnel_bind_dev(dev); if (tb[IFLA_MTU]) { - unsigned int max = IP_MAX_MTU - dev->hard_header_len - nt->hlen; + unsigned int max = IP_MAX_MTU - (nt->hlen + sizeof(struct iphdr)); - mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU, - (unsigned int)(max - sizeof(struct iphdr))); + mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU, max); } err = dev_set_mtu(dev, mtu); @@ -1188,7 +1181,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-riscv-5.8-5.8.0.orig/net/ipv4/ip_vti.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ip_vti.c @@ -268,13 +268,13 @@ if (skb->len > mtu) { skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->protocol == htons(ETH_P_IP)) { - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, - htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); } else { if (mtu < IPV6_MIN_MTU) mtu = IPV6_MIN_MTU; - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); } dst_release(dst); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ipconfig.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ipconfig.c @@ -1441,7 +1441,7 @@ int retries = CONF_OPEN_RETRIES; #endif int err; - unsigned int i; + unsigned int i, count; /* Initialise all name servers and NTP servers to NONE (but only if the * "ip=" or "nfsaddrs=" kernel command line parameters weren't decoded, @@ -1575,7 +1575,7 @@ if (ic_dev_mtu) pr_cont(", mtu=%d", ic_dev_mtu); /* Name servers (if any): */ - for (i = 0; i < CONF_NAMESERVERS_MAX; i++) { + for (i = 0, count = 0; i < CONF_NAMESERVERS_MAX; i++) { if (ic_nameservers[i] != NONE) { if (i == 0) pr_info(" nameserver%u=%pI4", @@ -1583,12 +1583,14 @@ else pr_cont(", nameserver%u=%pI4", i, &ic_nameservers[i]); + + count++; } - if (i + 1 == CONF_NAMESERVERS_MAX) + if ((i + 1 == CONF_NAMESERVERS_MAX) && count > 0) pr_cont("\n"); } /* NTP servers (if any): */ - for (i = 0; i < CONF_NTP_SERVERS_MAX; i++) { + for (i = 0, count = 0; i < CONF_NTP_SERVERS_MAX; i++) { if (ic_ntp_servers[i] != NONE) { if (i == 0) pr_info(" ntpserver%u=%pI4", @@ -1596,8 +1598,10 @@ else pr_cont(", ntpserver%u=%pI4", i, &ic_ntp_servers[i]); + + count++; } - if (i + 1 == CONF_NTP_SERVERS_MAX) + if ((i + 1 == CONF_NTP_SERVERS_MAX) && count > 0) pr_cont("\n"); } #endif /* !SILENT */ --- linux-riscv-5.8-5.8.0.orig/net/ipv4/ipip.c +++ linux-riscv-5.8-5.8.0/net/ipv4/ipip.c @@ -101,6 +101,8 @@ #include #include #include +#include +#include #include #include @@ -264,6 +266,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. @@ -274,6 +417,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; @@ -297,6 +441,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) @@ -360,6 +512,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; @@ -372,6 +526,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) @@ -480,6 +635,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) @@ -488,15 +730,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); } @@ -509,9 +755,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; @@ -520,6 +767,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)) @@ -557,6 +807,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; } @@ -589,6 +841,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: @@ -609,6 +881,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 = { @@ -657,6 +932,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; @@ -682,9 +974,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); @@ -699,6 +1004,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-riscv-5.8-5.8.0.orig/net/ipv4/netfilter.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter.c @@ -17,17 +17,19 @@ #include /* route_me_harder function, used by iptable_nat, iptable_mangle + ip_queue */ -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned int addr_type) +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned int addr_type) { const struct iphdr *iph = ip_hdr(skb); struct rtable *rt; struct flowi4 fl4 = {}; __be32 saddr = iph->saddr; - const struct sock *sk = skb_to_full_sk(skb); - __u8 flags = sk ? inet_sk_flowi_flags(sk) : 0; + __u8 flags; struct net_device *dev = skb_dst(skb)->dev; unsigned int hh_len; + sk = sk_to_full_sk(sk); + flags = sk ? inet_sk_flowi_flags(sk) : 0; + if (addr_type == RTN_UNSPEC) addr_type = inet_addr_type_dev_table(net, dev, saddr); if (addr_type == RTN_LOCAL || addr_type == RTN_UNICAST) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/arp_tables.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/arp_tables.c @@ -295,6 +295,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. */ @@ -353,6 +364,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; @@ -374,6 +387,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; @@ -1196,6 +1213,8 @@ if (!newinfo) goto out_unlock; + memset(newinfo->entries, 0, size); + newinfo->number = compatr->num_entries; for (i = 0; i < NF_ARP_NUMHOOKS; i++) { newinfo->hook_entry[i] = compatr->hook_entry[i]; @@ -1578,10 +1597,15 @@ return ret; } -void arpt_unregister_table(struct net *net, struct xt_table *table, - const struct nf_hook_ops *ops) +void arpt_unregister_table_pre_exit(struct net *net, struct xt_table *table, + const struct nf_hook_ops *ops) { nf_unregister_net_hooks(net, ops, hweight32(table->valid_hooks)); +} +EXPORT_SYMBOL(arpt_unregister_table_pre_exit); + +void arpt_unregister_table(struct net *net, struct xt_table *table) +{ __arpt_unregister_table(net, table); } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/arptable_filter.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/arptable_filter.c @@ -56,16 +56,24 @@ return err; } +static void __net_exit arptable_filter_net_pre_exit(struct net *net) +{ + if (net->ipv4.arptable_filter) + arpt_unregister_table_pre_exit(net, net->ipv4.arptable_filter, + arpfilter_ops); +} + static void __net_exit arptable_filter_net_exit(struct net *net) { if (!net->ipv4.arptable_filter) return; - arpt_unregister_table(net, net->ipv4.arptable_filter, arpfilter_ops); + arpt_unregister_table(net, net->ipv4.arptable_filter); net->ipv4.arptable_filter = NULL; } static struct pernet_operations arptable_filter_net_ops = { .exit = arptable_filter_net_exit, + .pre_exit = arptable_filter_net_pre_exit, }; static int __init arptable_filter_init(void) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/ip_tables.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/ip_tables.c @@ -362,6 +362,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 @@ -417,6 +428,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; @@ -438,6 +451,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; @@ -1430,6 +1447,8 @@ if (!newinfo) goto out_unlock; + memset(newinfo->entries, 0, size); + newinfo->number = compatr->num_entries; for (i = 0; i < NF_INET_NUMHOOKS; i++) { newinfo->hook_entry[i] = compatr->hook_entry[i]; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/ipt_rpfilter.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/ipt_rpfilter.c @@ -76,7 +76,7 @@ flow.daddr = iph->saddr; flow.saddr = rpfilter_get_saddr(iph->daddr); flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; - flow.flowi4_tos = RT_TOS(iph->tos); + flow.flowi4_tos = iph->tos & IPTOS_RT_MASK; flow.flowi4_scope = RT_SCOPE_UNIVERSE; flow.flowi4_oif = l3mdev_master_ifindex_rcu(xt_in(par)); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/iptable_mangle.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/iptable_mangle.c @@ -62,7 +62,7 @@ iph->daddr != daddr || skb->mark != mark || iph->tos != tos) { - err = ip_route_me_harder(state->net, skb, RTN_UNSPEC); + err = ip_route_me_harder(state->net, state->sk, skb, RTN_UNSPEC); if (err < 0) ret = NF_DROP_ERR(err); } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/nf_log_arp.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/nf_log_arp.c @@ -43,16 +43,31 @@ const struct nf_loginfo *info, const struct sk_buff *skb, unsigned int nhoff) { - const struct arphdr *ah; - struct arphdr _arph; const struct arppayload *ap; struct arppayload _arpp; + const struct arphdr *ah; + unsigned int logflags; + struct arphdr _arph; ah = skb_header_pointer(skb, 0, sizeof(_arph), &_arph); if (ah == NULL) { nf_log_buf_add(m, "TRUNCATED"); return; } + + if (info->type == NF_LOG_TYPE_LOG) + logflags = info->u.log.logflags; + else + logflags = NF_LOG_DEFAULT_MASK; + + if (logflags & NF_LOG_MACDECODE) { + nf_log_buf_add(m, "MACSRC=%pM MACDST=%pM ", + eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest); + nf_log_dump_vlan(m, skb); + nf_log_buf_add(m, "MACPROTO=%04x ", + ntohs(eth_hdr(skb)->h_proto)); + } + nf_log_buf_add(m, "ARP HTYPE=%d PTYPE=0x%04x OPCODE=%d", ntohs(ah->ar_hrd), ntohs(ah->ar_pro), ntohs(ah->ar_op)); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/nf_log_ipv4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/nf_log_ipv4.c @@ -284,8 +284,10 @@ switch (dev->type) { case ARPHRD_ETHER: - nf_log_buf_add(m, "MACSRC=%pM MACDST=%pM MACPROTO=%04x ", - eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest, + nf_log_buf_add(m, "MACSRC=%pM MACDST=%pM ", + eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest); + nf_log_dump_vlan(m, skb); + nf_log_buf_add(m, "MACPROTO=%04x ", ntohs(eth_hdr(skb)->h_proto)); return; default: --- linux-riscv-5.8-5.8.0.orig/net/ipv4/netfilter/nf_reject_ipv4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/netfilter/nf_reject_ipv4.c @@ -127,7 +127,7 @@ ip4_dst_hoplimit(skb_dst(nskb))); nf_reject_ip_tcphdr_put(nskb, oldskb, oth); - if (ip_route_me_harder(net, nskb, RTN_UNSPEC)) + if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC)) goto free_nskb; niph = ip_hdr(nskb); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/nexthop.c +++ linux-riscv-5.8-5.8.0/net/ipv4/nexthop.c @@ -446,7 +446,7 @@ unsigned int i, j; u8 nhg_fdb = 0; - if (len & (sizeof(struct nexthop_grp) - 1)) { + if (!len || len & (sizeof(struct nexthop_grp) - 1)) { NL_SET_ERR_MSG(extack, "Invalid length for nexthop group attribute"); return -EINVAL; @@ -499,7 +499,7 @@ for (i = NHA_GROUP_TYPE + 1; i < __NHA_MAX; ++i) { if (!tb[i]) continue; - if (tb[NHA_FDB]) + if (i == NHA_FDB) continue; NL_SET_ERR_MSG(extack, "No other attributes can be set in nexthop groups"); @@ -842,7 +842,7 @@ remove_nh_grp_entry(net, nhge, nlinfo); /* make sure all see the newly published array before releasing rtnl */ - synchronize_rcu(); + synchronize_net(); } static void remove_nexthop_group(struct nexthop *nh, struct nl_info *nlinfo) @@ -1147,7 +1147,7 @@ /* rtnl */ /* remove all nexthops tied to a device being deleted */ -static void nexthop_flush_dev(struct net_device *dev) +static void nexthop_flush_dev(struct net_device *dev, unsigned long event) { unsigned int hash = nh_dev_hashfn(dev->ifindex); struct net *net = dev_net(dev); @@ -1159,6 +1159,10 @@ if (nhi->fib_nhc.nhc_dev != dev) continue; + if (nhi->reject_nh && + (event == NETDEV_DOWN || event == NETDEV_CHANGE)) + continue; + remove_nexthop(net, nhi->nh_parent, NULL); } } @@ -1187,6 +1191,9 @@ struct nexthop *nh; int i; + if (WARN_ON(!num_nh)) + return ERR_PTR(-EINVAL); + nh = nexthop_alloc(); if (!nh) return ERR_PTR(-ENOMEM); @@ -1239,8 +1246,10 @@ return nh; out_no_nh: - for (; i >= 0; --i) + for (i--; i >= 0; --i) { + list_del(&nhg->nh_entries[i].nh_list); nexthop_put(nhg->nh_entries[i].nh); + } kfree(nhg->spare); kfree(nhg); @@ -1900,11 +1909,11 @@ switch (event) { case NETDEV_DOWN: case NETDEV_UNREGISTER: - nexthop_flush_dev(dev); + nexthop_flush_dev(dev, event); break; case NETDEV_CHANGE: if (!(dev_get_flags(dev) & (IFF_RUNNING | IFF_LOWER_UP))) - nexthop_flush_dev(dev); + nexthop_flush_dev(dev, event); break; case NETDEV_CHANGEMTU: info_ext = ptr; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/route.c +++ linux-riscv-5.8-5.8.0/net/ipv4/route.c @@ -786,8 +786,10 @@ neigh_event_send(n, NULL); } else { if (fib_lookup(net, fl4, &res, 0) == 0) { - struct fib_nh_common *nhc = FIB_RES_NHC(res); + struct fib_nh_common *nhc; + fib_select_path(net, &res, fl4, skb); + nhc = FIB_RES_NHC(res); update_or_create_fnhe(nhc, fl4->daddr, new_gw, 0, false, jiffies + ip_rt_gc_timeout); @@ -1013,6 +1015,7 @@ static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu) { struct dst_entry *dst = &rt->dst; + struct net *net = dev_net(dst->dev); u32 old_mtu = ipv4_mtu(dst); struct fib_result res; bool lock = false; @@ -1033,9 +1036,11 @@ return; rcu_read_lock(); - if (fib_lookup(dev_net(dst->dev), fl4, &res, 0) == 0) { - struct fib_nh_common *nhc = FIB_RES_NHC(res); + if (fib_lookup(net, fl4, &res, 0) == 0) { + struct fib_nh_common *nhc; + fib_select_path(net, &res, fl4, NULL); + nhc = FIB_RES_NHC(res); update_or_create_fnhe(nhc, fl4->daddr, 0, mtu, lock, jiffies + ip_rt_mtu_expires); } @@ -2142,6 +2147,7 @@ fl4.daddr = daddr; fl4.saddr = saddr; fl4.flowi4_uid = sock_net_uid(net, NULL); + fl4.flowi4_multipath_hash = 0; if (fib4_rules_early_flow_dissect(net, skb, &fl4, &_flkeys)) { flkeys = &_flkeys; @@ -2662,8 +2668,6 @@ fib_select_path(net, res, fl4, skb); dev_out = FIB_RES_DEV(*res); - fl4->flowi4_oif = dev_out->ifindex; - make_route: rth = __mkroute_output(res, fl4, orig_oif, dev_out, flags); @@ -2672,44 +2676,15 @@ return rth; } -static struct dst_entry *ipv4_blackhole_dst_check(struct dst_entry *dst, u32 cookie) -{ - return NULL; -} - -static unsigned int ipv4_blackhole_mtu(const struct dst_entry *dst) -{ - unsigned int mtu = dst_metric_raw(dst, RTAX_MTU); - - return mtu ? : dst->dev->mtu; -} - -static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu, - bool confirm_neigh) -{ -} - -static void ipv4_rt_blackhole_redirect(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb) -{ -} - -static u32 *ipv4_rt_blackhole_cow_metrics(struct dst_entry *dst, - unsigned long old) -{ - return NULL; -} - static struct dst_ops ipv4_dst_blackhole_ops = { - .family = AF_INET, - .check = ipv4_blackhole_dst_check, - .mtu = ipv4_blackhole_mtu, - .default_advmss = ipv4_default_advmss, - .update_pmtu = ipv4_rt_blackhole_update_pmtu, - .redirect = ipv4_rt_blackhole_redirect, - .cow_metrics = ipv4_rt_blackhole_cow_metrics, - .neigh_lookup = ipv4_neigh_lookup, + .family = AF_INET, + .default_advmss = ipv4_default_advmss, + .neigh_lookup = ipv4_neigh_lookup, + .check = dst_blackhole_check, + .cow_metrics = dst_blackhole_cow_metrics, + .update_pmtu = dst_blackhole_update_pmtu, + .redirect = dst_blackhole_redirect, + .mtu = dst_blackhole_mtu, }; struct dst_entry *ipv4_blackhole_route(struct net *net, struct dst_entry *dst_orig) @@ -2760,10 +2735,12 @@ if (IS_ERR(rt)) return rt; - if (flp4->flowi4_proto) + if (flp4->flowi4_proto) { + flp4->flowi4_oif = rt->dst.dev->ifindex; rt = (struct rtable *)xfrm_lookup_route(net, &rt->dst, flowi4_to_flowi(flp4), sk, 0); + } return rt; } @@ -3210,7 +3187,7 @@ fl4.daddr = dst; fl4.saddr = src; - fl4.flowi4_tos = rtm->rtm_tos; + fl4.flowi4_tos = rtm->rtm_tos & IPTOS_RT_MASK; fl4.flowi4_oif = tb[RTA_OIF] ? nla_get_u32(tb[RTA_OIF]) : 0; fl4.flowi4_mark = mark; fl4.flowi4_uid = uid; @@ -3234,8 +3211,9 @@ fl4.flowi4_iif = iif; /* for rt_fill_info */ skb->dev = dev; skb->mark = mark; - err = ip_route_input_rcu(skb, dst, src, rtm->rtm_tos, - dev, &res); + err = ip_route_input_rcu(skb, dst, src, + rtm->rtm_tos & IPTOS_RT_MASK, dev, + &res); rt = skb_rtable(skb); if (err == 0 && rt->dst.error) --- linux-riscv-5.8-5.8.0.orig/net/ipv4/syncookies.c +++ linux-riscv-5.8-5.8.0/net/ipv4/syncookies.c @@ -291,7 +291,7 @@ __u32 cookie = ntohl(th->ack_seq) - 1; struct sock *ret = sk; struct request_sock *req; - int mss; + int full_space, mss; struct rtable *rt; __u8 rcv_wscale; struct flowi4 fl4; @@ -390,8 +390,13 @@ /* Try to redo what tcp_v4_send_synack did. */ req->rsk_window_clamp = tp->window_clamp ? :dst_metric(&rt->dst, RTAX_WINDOW); + /* limit the window selection if the user enforce a smaller rx buffer */ + full_space = tcp_full_space(sk); + if (sk->sk_userlocks & SOCK_RCVBUF_LOCK && + (req->rsk_window_clamp > full_space || req->rsk_window_clamp == 0)) + req->rsk_window_clamp = full_space; - tcp_select_initial_window(sk, tcp_full_space(sk), req->mss, + tcp_select_initial_window(sk, full_space, req->mss, &req->rsk_rcv_wnd, &req->rsk_window_clamp, ireq->wscale_ok, &rcv_wscale, dst_metric(&rt->dst, RTAX_INITRWND)); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/sysctl_net_ipv4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/sysctl_net_ipv4.c @@ -301,24 +301,16 @@ struct ctl_table tbl = { .maxlen = ((TCP_FASTOPEN_KEY_LENGTH * 2 * TCP_FASTOPEN_KEY_MAX) + (TCP_FASTOPEN_KEY_MAX * 5)) }; - struct tcp_fastopen_context *ctx; - u32 user_key[TCP_FASTOPEN_KEY_MAX * 4]; - __le32 key[TCP_FASTOPEN_KEY_MAX * 4]; + u32 user_key[TCP_FASTOPEN_KEY_BUF_LENGTH / sizeof(u32)]; + __le32 key[TCP_FASTOPEN_KEY_BUF_LENGTH / sizeof(__le32)]; char *backup_data; - int ret, i = 0, off = 0, n_keys = 0; + int ret, i = 0, off = 0, n_keys; tbl.data = kmalloc(tbl.maxlen, GFP_KERNEL); if (!tbl.data) return -ENOMEM; - rcu_read_lock(); - ctx = rcu_dereference(net->ipv4.tcp_fastopen_ctx); - if (ctx) { - n_keys = tcp_fastopen_context_len(ctx); - memcpy(&key[0], &ctx->key[0], TCP_FASTOPEN_KEY_LENGTH * n_keys); - } - rcu_read_unlock(); - + n_keys = tcp_fastopen_get_cipher(net, NULL, (u64 *)key); if (!n_keys) { memset(&key[0], 0, TCP_FASTOPEN_KEY_LENGTH); n_keys = 1; @@ -1368,9 +1360,19 @@ if (!table) goto err_alloc; - /* Update the variables to point into the current struct net */ - for (i = 0; i < ARRAY_SIZE(ipv4_net_table) - 1; i++) - table[i].data += (void *)net - (void *)&init_net; + for (i = 0; i < ARRAY_SIZE(ipv4_net_table) - 1; i++) { + if (table[i].data) { + /* Update the variables to point into + * the current struct net + */ + table[i].data += (void *)net - (void *)&init_net; + } else { + /* Entries without data pointer are global; + * Make them read-only in non-init_net ns + */ + table[i].mode &= ~0222; + } + } } net->ipv4.ipv4_hdr = register_net_sysctl(net, "net/ipv4", table); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp.c @@ -483,6 +483,8 @@ return true; if (tcp_rmem_pressure(sk)) return true; + if (tcp_receive_window(tp) <= inet_csk(sk)->icsk_ack.rcv_mss) + return true; } if (sk->sk_prot->stream_memory_read) return sk->sk_prot->stream_memory_read(sk); @@ -970,7 +972,8 @@ long timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT); if (IS_ENABLED(CONFIG_DEBUG_VM) && - WARN_ONCE(PageSlab(page), "page must not be a Slab one")) + WARN_ONCE(!sendpage_ok(page), + "page must not be a Slab one and have page_count > 0")) return -EINVAL; /* Wait for a connection to finish. One exception is TCP Fast Open @@ -2684,6 +2687,7 @@ icsk->icsk_backoff = 0; icsk->icsk_probes_out = 0; + icsk->icsk_probes_tstamp = 0; icsk->icsk_rto = TCP_TIMEOUT_INIT; tp->snd_ssthresh = TCP_INFINITE_SSTHRESH; tp->snd_cwnd = TCP_INIT_CWND; @@ -3158,16 +3162,23 @@ break; case TCP_QUEUE_SEQ: - if (sk->sk_state != TCP_CLOSE) + if (sk->sk_state != TCP_CLOSE) { err = -EPERM; - else if (tp->repair_queue == TCP_SEND_QUEUE) - WRITE_ONCE(tp->write_seq, val); - else if (tp->repair_queue == TCP_RECV_QUEUE) { - WRITE_ONCE(tp->rcv_nxt, val); - WRITE_ONCE(tp->copied_seq, val); - } - else + } else if (tp->repair_queue == TCP_SEND_QUEUE) { + if (!tcp_rtx_queue_empty(sk)) + err = -EPERM; + else + WRITE_ONCE(tp->write_seq, val); + } else if (tp->repair_queue == TCP_RECV_QUEUE) { + if (tp->rcv_nxt != tp->copied_seq) { + err = -EPERM; + } else { + WRITE_ONCE(tp->rcv_nxt, val); + WRITE_ONCE(tp->copied_seq, val); + } + } else { err = -EINVAL; + } break; case TCP_REPAIR_OPTIONS: @@ -3694,22 +3705,14 @@ return 0; case TCP_FASTOPEN_KEY: { - __u8 key[TCP_FASTOPEN_KEY_BUF_LENGTH]; - struct tcp_fastopen_context *ctx; - unsigned int key_len = 0; + u64 key[TCP_FASTOPEN_KEY_BUF_LENGTH / sizeof(u64)]; + unsigned int key_len; if (get_user(len, optlen)) return -EFAULT; - rcu_read_lock(); - ctx = rcu_dereference(icsk->icsk_accept_queue.fastopenq.ctx); - if (ctx) { - key_len = tcp_fastopen_context_len(ctx) * - TCP_FASTOPEN_KEY_LENGTH; - memcpy(&key[0], &ctx->key[0], key_len); - } - rcu_read_unlock(); - + key_len = tcp_fastopen_get_cipher(net, icsk, key) * + TCP_FASTOPEN_KEY_LENGTH; len = min_t(unsigned int, len, key_len); if (put_user(len, optlen)) return -EFAULT; @@ -3839,7 +3842,8 @@ if (get_user(len, optlen)) return -EFAULT; - if (len < offsetofend(struct tcp_zerocopy_receive, length)) + if (len < 0 || + len < offsetofend(struct tcp_zerocopy_receive, length)) return -EINVAL; if (len > sizeof(zc)) { len = sizeof(zc); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_bbr.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_bbr.c @@ -945,7 +945,7 @@ filter_expired = after(tcp_jiffies32, bbr->min_rtt_stamp + bbr_min_rtt_win_sec * HZ); if (rs->rtt_us >= 0 && - (rs->rtt_us <= bbr->min_rtt_us || + (rs->rtt_us < bbr->min_rtt_us || (filter_expired && !rs->is_ack_delayed))) { bbr->min_rtt_us = rs->rtt_us; bbr->min_rtt_stamp = tcp_jiffies32; --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_bpf.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_bpf.c @@ -15,8 +15,8 @@ { struct iov_iter *iter = &msg->msg_iter; int peek = flags & MSG_PEEK; - int i, ret, copied = 0; struct sk_msg *msg_rx; + int i, copied = 0; msg_rx = list_first_entry_or_null(&psock->ingress_msg, struct sk_msg, list); @@ -37,17 +37,16 @@ page = sg_page(sge); if (copied + copy > len) copy = len - copied; - ret = copy_page_to_iter(page, sge->offset, copy, iter); - if (ret != copy) { - msg_rx->sg.start = i; - return -EFAULT; - } + copy = copy_page_to_iter(page, sge->offset, copy, iter); + if (!copy) + return copied ? copied : -EFAULT; copied += copy; if (likely(!peek)) { sge->offset += copy; sge->length -= copy; - sk_mem_uncharge(sk, copy); + if (!msg_rx->skb) + sk_mem_uncharge(sk, copy); msg_rx->sg.size -= copy; if (!sge->length) { @@ -56,6 +55,11 @@ put_page(page); } } else { + /* Lets not optimize peek case if copy_page_to_iter + * didn't copy the entire length lets just break. + */ + if (copy != sge->length) + return copied; sk_msg_iter_var_next(i); } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_cong.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_cong.c @@ -197,6 +197,11 @@ icsk->icsk_ca_setsockopt = 1; memset(icsk->icsk_ca_priv, 0, sizeof(icsk->icsk_ca_priv)); + if (ca->flags & TCP_CONG_NEEDS_ECN) + INET_ECN_xmit(sk); + else + INET_ECN_dontxmit(sk); + if (!((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_LISTEN))) tcp_init_congestion_control(sk); } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_fastopen.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_fastopen.c @@ -108,6 +108,29 @@ return err; } +int tcp_fastopen_get_cipher(struct net *net, struct inet_connection_sock *icsk, + u64 *key) +{ + struct tcp_fastopen_context *ctx; + int n_keys = 0, i; + + rcu_read_lock(); + if (icsk) + ctx = rcu_dereference(icsk->icsk_accept_queue.fastopenq.ctx); + else + ctx = rcu_dereference(net->ipv4.tcp_fastopen_ctx); + if (ctx) { + n_keys = tcp_fastopen_context_len(ctx); + for (i = 0; i < n_keys; i++) { + put_unaligned_le64(ctx->key[i].key[0], key + (i * 2)); + put_unaligned_le64(ctx->key[i].key[1], key + (i * 2) + 1); + } + } + rcu_read_unlock(); + + return n_keys; +} + static bool __tcp_fastopen_cookie_gen_cipher(struct request_sock *req, struct sk_buff *syn, const siphash_key_t *key, --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_input.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_input.c @@ -447,7 +447,6 @@ if (!(sk->sk_userlocks & SOCK_SNDBUF_LOCK)) tcp_sndbuf_expand(sk); - tp->rcvq_space.space = min_t(u32, tp->rcv_wnd, TCP_INIT_CWND * tp->advmss); tcp_mstamp_refresh(tp); tp->rcvq_space.time = tp->tcp_mstamp; tp->rcvq_space.seq = tp->copied_seq; @@ -471,6 +470,8 @@ tp->rcv_ssthresh = min(tp->rcv_ssthresh, tp->window_clamp); tp->snd_cwnd_stamp = tcp_jiffies32; + tp->rcvq_space.space = min3(tp->rcv_ssthresh, tp->rcv_wnd, + (u32)TCP_INIT_CWND * tp->advmss); } /* 4. Recalculate window clamp after socket hit its memory bounds. */ @@ -2747,7 +2748,8 @@ } else if (tcp_is_rack(sk)) { u32 prior_retrans = tp->retrans_out; - tcp_rack_mark_lost(sk); + if (tcp_rack_mark_lost(sk)) + *ack_flag &= ~FLAG_SET_XMIT_TIMER; if (prior_retrans > tp->retrans_out) *ack_flag |= FLAG_LOST_RETRANS; } @@ -3266,6 +3268,7 @@ return; if (!after(TCP_SKB_CB(head)->end_seq, tcp_wnd_end(tp))) { icsk->icsk_backoff = 0; + icsk->icsk_probes_tstamp = 0; inet_csk_clear_xmit_timer(sk, ICSK_TIME_PROBE0); /* Socket must be waked up by subsequent tcp_data_snd_check(). * This function is not for random using! @@ -3273,8 +3276,8 @@ } else { unsigned long when = tcp_probe0_when(sk, TCP_RTO_MAX); - tcp_reset_xmit_timer(sk, ICSK_TIME_PROBE0, - when, TCP_RTO_MAX); + when = tcp_clamp_probe0_to_user_timeout(sk, when); + tcp_reset_xmit_timer(sk, ICSK_TIME_PROBE0, when, TCP_RTO_MAX); } } @@ -3692,9 +3695,6 @@ if (tp->tlp_high_seq) tcp_process_tlp_ack(sk, ack, flag); - /* If needed, reset TLP/RTO timer; RACK may later override this. */ - if (flag & FLAG_SET_XMIT_TIMER) - tcp_set_xmit_timer(sk); if (tcp_ack_is_dubious(sk, flag)) { if (!(flag & (FLAG_SND_UNA_ADVANCED | FLAG_NOT_DUP))) { @@ -3707,6 +3707,10 @@ &rexmit); } + /* If needed, reset TLP/RTO timer when RACK doesn't set. */ + if (flag & FLAG_SET_XMIT_TIMER) + tcp_set_xmit_timer(sk); + if ((flag & FLAG_FORWARD_PROGRESS) || !(flag & FLAG_NOT_DUP)) sk_dst_confirm(sk); @@ -4260,10 +4264,9 @@ * The receiver remembers and reflects via DSACKs. Leverage the * DSACK state and change the txhash to re-route speculatively. */ - if (TCP_SKB_CB(skb)->seq == tcp_sk(sk)->duplicate_sack[0].start_seq) { - sk_rethink_txhash(sk); + if (TCP_SKB_CB(skb)->seq == tcp_sk(sk)->duplicate_sack[0].start_seq && + sk_rethink_txhash(sk)) NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPDUPLICATEDATAREHASH); - } } static void tcp_send_dupack(struct sock *sk, const struct sk_buff *skb) @@ -4790,7 +4793,8 @@ int avail = tp->rcv_nxt - tp->copied_seq; if (avail < sk->sk_rcvlowat && !tcp_rmem_pressure(sk) && - !sock_flag(sk, SOCK_DONE)) + !sock_flag(sk, SOCK_DONE) && + tcp_receive_window(tp) > inet_csk(sk)->icsk_ack.rcv_mss) return; sk->sk_data_ready(sk); @@ -5716,6 +5720,8 @@ tcp_data_snd_check(sk); if (!inet_csk_ack_scheduled(sk)) goto no_ack; + } else { + tcp_update_wl(tp, TCP_SKB_CB(skb)->seq); } __tcp_ack_snd_check(sk, 0); --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_ipv4.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_ipv4.c @@ -1725,6 +1725,7 @@ bool tcp_add_backlog(struct sock *sk, struct sk_buff *skb) { u32 limit = READ_ONCE(sk->sk_rcvbuf) + READ_ONCE(sk->sk_sndbuf); + u32 tail_gso_size, tail_gso_segs; struct skb_shared_info *shinfo; const struct tcphdr *th; struct tcphdr *thtail; @@ -1732,6 +1733,7 @@ unsigned int hdrlen; bool fragstolen; u32 gso_segs; + u32 gso_size; int delta; /* In case all data was pulled from skb frags (in __pskb_pull_tail()), @@ -1757,13 +1759,6 @@ */ th = (const struct tcphdr *)skb->data; hdrlen = th->doff * 4; - shinfo = skb_shinfo(skb); - - if (!shinfo->gso_size) - shinfo->gso_size = skb->len - hdrlen; - - if (!shinfo->gso_segs) - shinfo->gso_segs = 1; tail = sk->sk_backlog.tail; if (!tail) @@ -1786,13 +1781,22 @@ goto no_coalesce; __skb_pull(skb, hdrlen); - if (skb_try_coalesce(tail, skb, &fragstolen, &delta)) { - thtail->window = th->window; + shinfo = skb_shinfo(skb); + gso_size = shinfo->gso_size ?: skb->len; + gso_segs = shinfo->gso_segs ?: 1; + + shinfo = skb_shinfo(tail); + tail_gso_size = shinfo->gso_size ?: (tail->len - hdrlen); + tail_gso_segs = shinfo->gso_segs ?: 1; + + if (skb_try_coalesce(tail, skb, &fragstolen, &delta)) { TCP_SKB_CB(tail)->end_seq = TCP_SKB_CB(skb)->end_seq; - if (after(TCP_SKB_CB(skb)->ack_seq, TCP_SKB_CB(tail)->ack_seq)) + if (likely(!before(TCP_SKB_CB(skb)->ack_seq, TCP_SKB_CB(tail)->ack_seq))) { TCP_SKB_CB(tail)->ack_seq = TCP_SKB_CB(skb)->ack_seq; + thtail->window = th->window; + } /* We have to update both TCP_SKB_CB(tail)->tcp_flags and * thtail->fin, so that the fast path in tcp_rcv_established() @@ -1812,11 +1816,8 @@ } /* Not as strict as GRO. We only need to carry mss max value */ - skb_shinfo(tail)->gso_size = max(shinfo->gso_size, - skb_shinfo(tail)->gso_size); - - gso_segs = skb_shinfo(tail)->gso_segs + shinfo->gso_segs; - skb_shinfo(tail)->gso_segs = min_t(u32, gso_segs, 0xFFFF); + shinfo->gso_size = max(gso_size, tail_gso_size); + shinfo->gso_segs = min_t(u32, gso_segs + tail_gso_segs, 0xFFFF); sk->sk_backlog.len += delta; __NET_INC_STATS(sock_net(sk), --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_minisocks.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_minisocks.c @@ -804,8 +804,11 @@ tcp_reset(sk); } if (!fastopen) { - inet_csk_reqsk_queue_drop(sk, req); - __NET_INC_STATS(sock_net(sk), LINUX_MIB_EMBRYONICRSTS); + bool unlinked = inet_csk_reqsk_queue_drop(sk, req); + + if (unlinked) + __NET_INC_STATS(sock_net(sk), LINUX_MIB_EMBRYONICRSTS); + *req_stolen = !unlinked; } return NULL; } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_output.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_output.c @@ -1715,7 +1715,8 @@ * 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) { + tp->packets_out > tp->max_packets_out || + is_cwnd_limited) { tp->max_packets_out = tp->packets_out; tp->max_packets_seq = tp->snd_nxt; tp->is_cwnd_limited = is_cwnd_limited; @@ -2537,6 +2538,10 @@ else tcp_chrono_stop(sk, TCP_CHRONO_RWND_LIMITED); + is_cwnd_limited |= (tcp_packets_in_flight(tp) >= tp->snd_cwnd); + if (likely(sent_pkts || is_cwnd_limited)) + tcp_cwnd_validate(sk, is_cwnd_limited); + if (likely(sent_pkts)) { if (tcp_in_cwnd_reduction(sk)) tp->prr_out += sent_pkts; @@ -2544,8 +2549,6 @@ /* Send one loss probe per tail loss episode. */ if (push_one != 2) tcp_schedule_loss_probe(sk, false); - is_cwnd_limited |= (tcp_packets_in_flight(tp) >= tp->snd_cwnd); - tcp_cwnd_validate(sk, is_cwnd_limited); return false; } return !tp->packets_out && !tcp_write_queue_empty(sk); @@ -3900,6 +3903,7 @@ /* Cancel probe timer, if it is not required. */ icsk->icsk_probes_out = 0; icsk->icsk_backoff = 0; + icsk->icsk_probes_tstamp = 0; return; } @@ -3914,6 +3918,8 @@ */ timeout = TCP_RESOURCE_PROBE_INTERVAL; } + + timeout = tcp_clamp_probe0_to_user_timeout(sk, timeout); tcp_reset_xmit_timer(sk, ICSK_TIME_PROBE0, timeout, TCP_RTO_MAX); } --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_recovery.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_recovery.c @@ -110,13 +110,13 @@ } } -void tcp_rack_mark_lost(struct sock *sk) +bool tcp_rack_mark_lost(struct sock *sk) { struct tcp_sock *tp = tcp_sk(sk); u32 timeout; if (!tp->rack.advanced) - return; + return false; /* Reset the advanced flag to avoid unnecessary queue scanning */ tp->rack.advanced = 0; @@ -126,6 +126,7 @@ inet_csk_reset_xmit_timer(sk, ICSK_TIME_REO_TIMEOUT, timeout, inet_csk(sk)->icsk_rto); } + return !!timeout; } /* Record the most recently (re)sent time among the (s)acked packets --- linux-riscv-5.8-5.8.0.orig/net/ipv4/tcp_timer.c +++ linux-riscv-5.8-5.8.0/net/ipv4/tcp_timer.c @@ -40,6 +40,24 @@ return min_t(u32, icsk->icsk_rto, msecs_to_jiffies(remaining)); } +u32 tcp_clamp_probe0_to_user_timeout(const struct sock *sk, u32 when) +{ + struct inet_connection_sock *icsk = inet_csk(sk); + u32 remaining; + s32 elapsed; + + if (!icsk->icsk_user_timeout || !icsk->icsk_probes_tstamp) + return when; + + elapsed = tcp_jiffies32 - icsk->icsk_probes_tstamp; + if (unlikely(elapsed < 0)) + elapsed = 0; + remaining = msecs_to_jiffies(icsk->icsk_user_timeout) - elapsed; + remaining = max_t(u32, remaining, TCP_TIMEOUT_MIN); + + return min_t(u32, remaining, when); +} + /** * tcp_write_err() - close socket and save error info * @sk: The socket the error has appeared on. @@ -219,14 +237,8 @@ int retry_until; if ((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV)) { - if (icsk->icsk_retransmits) { - dst_negative_advice(sk); - } else { - sk_rethink_txhash(sk); - tp->timeout_rehash++; - __NET_INC_STATS(sock_net(sk), - LINUX_MIB_TCPTIMEOUTREHASH); - } + if (icsk->icsk_retransmits) + __dst_negative_advice(sk); retry_until = icsk->icsk_syn_retries ? : net->ipv4.sysctl_tcp_syn_retries; expired = icsk->icsk_retransmits >= retry_until; } else { @@ -234,12 +246,7 @@ /* Black hole detection */ tcp_mtu_probing(icsk, sk); - dst_negative_advice(sk); - } else { - sk_rethink_txhash(sk); - tp->timeout_rehash++; - __NET_INC_STATS(sock_net(sk), - LINUX_MIB_TCPTIMEOUTREHASH); + __dst_negative_advice(sk); } retry_until = net->ipv4.sysctl_tcp_retries2; @@ -270,6 +277,11 @@ return 1; } + if (sk_rethink_txhash(sk)) { + tp->timeout_rehash++; + __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPTIMEOUTREHASH); + } + return 0; } @@ -350,6 +362,7 @@ if (tp->packets_out || !skb) { icsk->icsk_probes_out = 0; + icsk->icsk_probes_tstamp = 0; return; } @@ -361,13 +374,12 @@ * corresponding system limit. We also implement similar policy when * we use RTO to probe window in tcp_retransmit_timer(). */ - if (icsk->icsk_user_timeout) { - u32 elapsed = tcp_model_timeout(sk, icsk->icsk_probes_out, - tcp_probe0_base(sk)); - - if (elapsed >= icsk->icsk_user_timeout) - goto abort; - } + if (!icsk->icsk_probes_tstamp) + icsk->icsk_probes_tstamp = tcp_jiffies32; + else if (icsk->icsk_user_timeout && + (s32)(tcp_jiffies32 - icsk->icsk_probes_tstamp) >= + msecs_to_jiffies(icsk->icsk_user_timeout)) + goto abort; max_probes = sock_net(sk)->ipv4.sysctl_tcp_retries2; if (sock_flag(sk, SOCK_DEAD)) { --- linux-riscv-5.8-5.8.0.orig/net/ipv4/udp.c +++ linux-riscv-5.8-5.8.0/net/ipv4/udp.c @@ -2122,7 +2122,7 @@ __skb_pull(skb, skb_transport_offset(skb)); ret = udp_queue_rcv_one_skb(sk, skb); if (ret > 0) - ip_protocol_deliver_rcu(dev_net(skb->dev), skb, -ret); + ip_protocol_deliver_rcu(dev_net(skb->dev), skb, ret); } return 0; } @@ -2502,7 +2502,8 @@ */ if (!inet_sk(sk)->inet_daddr && in_dev) return ip_mc_validate_source(skb, iph->daddr, - iph->saddr, iph->tos, + iph->saddr, + iph->tos & IPTOS_RT_MASK, skb->dev, in_dev, &itag); } return 0; @@ -2705,6 +2706,10 @@ val = up->gso_size; break; + case UDP_GRO: + val = up->gro_enabled; + break; + /* The following two cannot be changed on UDP sockets, the return is * always 0 (which corresponds to the full checksum coverage of UDP). */ case UDPLITE_SEND_CSCOV: --- linux-riscv-5.8-5.8.0.orig/net/ipv4/udp_offload.c +++ linux-riscv-5.8-5.8.0/net/ipv4/udp_offload.c @@ -184,8 +184,67 @@ } EXPORT_SYMBOL(skb_udp_tunnel_segment); +static void __udpv4_gso_segment_csum(struct sk_buff *seg, + __be32 *oldip, __be32 *newip, + __be16 *oldport, __be16 *newport) +{ + struct udphdr *uh; + struct iphdr *iph; + + if (*oldip == *newip && *oldport == *newport) + return; + + uh = udp_hdr(seg); + iph = ip_hdr(seg); + + if (uh->check) { + inet_proto_csum_replace4(&uh->check, seg, *oldip, *newip, + true); + inet_proto_csum_replace2(&uh->check, seg, *oldport, *newport, + false); + if (!uh->check) + uh->check = CSUM_MANGLED_0; + } + *oldport = *newport; + + csum_replace4(&iph->check, *oldip, *newip); + *oldip = *newip; +} + +static struct sk_buff *__udpv4_gso_segment_list_csum(struct sk_buff *segs) +{ + struct sk_buff *seg; + struct udphdr *uh, *uh2; + struct iphdr *iph, *iph2; + + seg = segs; + uh = udp_hdr(seg); + iph = ip_hdr(seg); + + if ((udp_hdr(seg)->dest == udp_hdr(seg->next)->dest) && + (udp_hdr(seg)->source == udp_hdr(seg->next)->source) && + (ip_hdr(seg)->daddr == ip_hdr(seg->next)->daddr) && + (ip_hdr(seg)->saddr == ip_hdr(seg->next)->saddr)) + return segs; + + while ((seg = seg->next)) { + uh2 = udp_hdr(seg); + iph2 = ip_hdr(seg); + + __udpv4_gso_segment_csum(seg, + &iph2->saddr, &iph->saddr, + &uh2->source, &uh->source); + __udpv4_gso_segment_csum(seg, + &iph2->daddr, &iph->daddr, + &uh2->dest, &uh->dest); + } + + return segs; +} + static struct sk_buff *__udp_gso_segment_list(struct sk_buff *skb, - netdev_features_t features) + netdev_features_t features, + bool is_ipv6) { unsigned int mss = skb_shinfo(skb)->gso_size; @@ -195,11 +254,11 @@ udp_hdr(skb)->len = htons(sizeof(struct udphdr) + mss); - return skb; + return is_ipv6 ? skb : __udpv4_gso_segment_list_csum(skb); } struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, - netdev_features_t features) + netdev_features_t features, bool is_ipv6) { struct sock *sk = gso_skb->sk; unsigned int sum_truesize = 0; @@ -211,7 +270,7 @@ __be16 newlen; if (skb_shinfo(gso_skb)->gso_type & SKB_GSO_FRAGLIST) - return __udp_gso_segment_list(gso_skb, features); + return __udp_gso_segment_list(gso_skb, features, is_ipv6); mss = skb_shinfo(gso_skb)->gso_size; if (gso_skb->len <= sizeof(*uh) + mss) @@ -325,7 +384,7 @@ goto out; if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) - return __udp_gso_segment(skb, features); + return __udp_gso_segment(skb, features, false); mss = skb_shinfo(skb)->gso_size; if (unlikely(skb->len <= mss)) @@ -366,7 +425,7 @@ static struct sk_buff *udp_gro_receive_segment(struct list_head *head, struct sk_buff *skb) { - struct udphdr *uh = udp_hdr(skb); + struct udphdr *uh = udp_gro_udphdr(skb); struct sk_buff *pp = NULL; struct udphdr *uh2; struct sk_buff *p; @@ -463,7 +522,7 @@ } if (!sk || NAPI_GRO_CB(skb)->encap_mark || - (skb->ip_summed != CHECKSUM_PARTIAL && + (uh->check && skb->ip_summed != CHECKSUM_PARTIAL && NAPI_GRO_CB(skb)->csum_cnt == 0 && !NAPI_GRO_CB(skb)->csum_valid) || !udp_sk(sk)->gro_receive) @@ -500,12 +559,22 @@ } EXPORT_SYMBOL(udp_gro_receive); +static struct sock *udp4_gro_lookup_skb(struct sk_buff *skb, __be16 sport, + __be16 dport) +{ + const struct iphdr *iph = skb_gro_network_header(skb); + + return __udp4_lib_lookup(dev_net(skb->dev), iph->saddr, sport, + iph->daddr, dport, inet_iif(skb), + inet_sdif(skb), &udp_table, NULL); +} + INDIRECT_CALLABLE_SCOPE struct sk_buff *udp4_gro_receive(struct list_head *head, struct sk_buff *skb) { struct udphdr *uh = udp_gro_udphdr(skb); + struct sock *sk = NULL; struct sk_buff *pp; - struct sock *sk; if (unlikely(!uh)) goto flush; @@ -523,7 +592,10 @@ skip: NAPI_GRO_CB(skb)->is_ipv6 = 0; rcu_read_lock(); - sk = static_branch_unlikely(&udp_encap_needed_key) ? udp4_lib_lookup_skb(skb, uh->source, uh->dest) : NULL; + + if (static_branch_unlikely(&udp_encap_needed_key)) + sk = udp4_gro_lookup_skb(skb, uh->source, uh->dest); + pp = udp_gro_receive(head, skb, uh, sk); rcu_read_unlock(); return pp; --- linux-riscv-5.8-5.8.0.orig/net/ipv6/Kconfig +++ linux-riscv-5.8-5.8.0/net/ipv6/Kconfig @@ -303,6 +303,7 @@ config IPV6_SEG6_HMAC bool "IPv6: Segment Routing HMAC support" depends on IPV6 + select CRYPTO select CRYPTO_HMAC select CRYPTO_SHA1 select CRYPTO_SHA256 --- linux-riscv-5.8-5.8.0.orig/net/ipv6/addrconf.c +++ linux-riscv-5.8-5.8.0/net/ipv6/addrconf.c @@ -2441,8 +2441,9 @@ .fc_ifindex = dev->ifindex, .fc_dst_len = 8, .fc_flags = RTF_UP, - .fc_type = RTN_UNICAST, + .fc_type = RTN_MULTICAST, .fc_nlinfo.nl_net = dev_net(dev), + .fc_protocol = RTPROT_KERNEL, }; ipv6_addr_set(&cfg.fc_dst, htonl(0xFF000000), 0, 0, 0); @@ -4997,8 +4998,10 @@ return -EMSGSIZE; if (args->netnsid >= 0 && - nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) + nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) { + nlmsg_cancel(skb, nlh); return -EMSGSIZE; + } put_ifaddrmsg(nlh, 128, IFA_F_PERMANENT, scope, ifindex); if (nla_put_in6_addr(skb, IFA_MULTICAST, &ifmca->mca_addr) < 0 || @@ -5029,8 +5032,10 @@ return -EMSGSIZE; if (args->netnsid >= 0 && - nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) + nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) { + nlmsg_cancel(skb, nlh); return -EMSGSIZE; + } put_ifaddrmsg(nlh, 128, IFA_F_PERMANENT, scope, ifindex); if (nla_put_in6_addr(skb, IFA_ANYCAST, &ifaca->aca_addr) < 0 || --- linux-riscv-5.8-5.8.0.orig/net/ipv6/addrlabel.c +++ linux-riscv-5.8-5.8.0/net/ipv6/addrlabel.c @@ -306,7 +306,9 @@ /* add default label */ static int __net_init ip6addrlbl_net_init(struct net *net) { - int err = 0; + struct ip6addrlbl_entry *p = NULL; + struct hlist_node *n; + int err; int i; ADDRLABEL(KERN_DEBUG "%s\n", __func__); @@ -315,14 +317,20 @@ INIT_HLIST_HEAD(&net->ipv6.ip6addrlbl_table.head); for (i = 0; i < ARRAY_SIZE(ip6addrlbl_init_table); i++) { - int ret = ip6addrlbl_add(net, - ip6addrlbl_init_table[i].prefix, - ip6addrlbl_init_table[i].prefixlen, - 0, - ip6addrlbl_init_table[i].label, 0); - /* XXX: should we free all rules when we catch an error? */ - if (ret && (!err || err != -ENOMEM)) - err = ret; + err = ip6addrlbl_add(net, + ip6addrlbl_init_table[i].prefix, + ip6addrlbl_init_table[i].prefixlen, + 0, + ip6addrlbl_init_table[i].label, 0); + if (err) + goto err_ip6addrlbl_add; + } + return 0; + +err_ip6addrlbl_add: + hlist_for_each_entry_safe(p, n, &net->ipv6.ip6addrlbl_table.head, list) { + hlist_del_rcu(&p->list); + kfree_rcu(p, rcu); } return err; } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ah6.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ah6.c @@ -316,7 +316,7 @@ } kfree(AH_SKB_CB(skb)->tmp); - xfrm_output_resume(skb, err); + xfrm_output_resume(skb->sk, skb, err); } static int ah6_output(struct xfrm_state *x, struct sk_buff *skb) @@ -588,7 +588,8 @@ memcpy(auth_data, ah->auth_data, ahp->icv_trunc_len); memset(ah->auth_data, 0, ahp->icv_trunc_len); - if (ipv6_clear_mutable_options(ip6h, hdr_len, XFRM_POLICY_IN)) + err = ipv6_clear_mutable_options(ip6h, hdr_len, XFRM_POLICY_IN); + if (err) goto out_free; ip6h->priority = 0; --- linux-riscv-5.8-5.8.0.orig/net/ipv6/calipso.c +++ linux-riscv-5.8-5.8.0/net/ipv6/calipso.c @@ -83,6 +83,9 @@ static struct calipso_map_cache_bkt *calipso_cache; +static void calipso_cache_invalidate(void); +static void calipso_doi_putdef(struct calipso_doi *doi_def); + /* Label Mapping Cache Functions */ @@ -444,15 +447,10 @@ ret_val = -ENOENT; goto doi_remove_return; } - if (!refcount_dec_and_test(&doi_def->refcount)) { - spin_unlock(&calipso_doi_list_lock); - ret_val = -EBUSY; - goto doi_remove_return; - } list_del_rcu(&doi_def->list); spin_unlock(&calipso_doi_list_lock); - call_rcu(&doi_def->rcu, calipso_doi_free_rcu); + calipso_doi_putdef(doi_def); ret_val = 0; doi_remove_return: @@ -508,10 +506,8 @@ if (!refcount_dec_and_test(&doi_def->refcount)) return; - spin_lock(&calipso_doi_list_lock); - list_del_rcu(&doi_def->list); - spin_unlock(&calipso_doi_list_lock); + calipso_cache_invalidate(); call_rcu(&doi_def->rcu, calipso_doi_free_rcu); } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/esp6.c +++ linux-riscv-5.8-5.8.0/net/ipv6/esp6.c @@ -314,7 +314,7 @@ x->encap && x->encap->encap_type == TCP_ENCAP_ESPINTCP) esp_output_tail_tcp(x, skb); else - xfrm_output_resume(skb, err); + xfrm_output_resume(skb->sk, skb, err); } } @@ -478,7 +478,6 @@ int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp) { u8 *tail; - u8 *vaddr; int nfrags; int esph_offset; struct page *page; @@ -519,14 +518,10 @@ page = pfrag->page; get_page(page); - vaddr = kmap_atomic(page); - - tail = vaddr + pfrag->offset; + tail = page_address(page) + pfrag->offset; esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto); - kunmap_atomic(vaddr); - nfrags = skb_shinfo(skb)->nr_frags; __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, --- linux-riscv-5.8-5.8.0.orig/net/ipv6/esp6_offload.c +++ linux-riscv-5.8-5.8.0/net/ipv6/esp6_offload.c @@ -254,9 +254,11 @@ skb->encap_hdr_csum = 1; if (!(features & NETIF_F_HW_ESP) || x->xso.dev != skb->dev) - esp_features = features & ~(NETIF_F_SG | NETIF_F_CSUM_MASK); + esp_features = features & ~(NETIF_F_SG | NETIF_F_CSUM_MASK | + NETIF_F_SCTP_CRC); else if (!(features & NETIF_F_HW_ESP_TX_CSUM)) - esp_features = features & ~NETIF_F_CSUM_MASK; + esp_features = features & ~(NETIF_F_CSUM_MASK | + NETIF_F_SCTP_CRC); xo->flags |= XFRM_GSO_SEGMENT; @@ -346,8 +348,17 @@ ipv6_hdr(skb)->payload_len = htons(len); - if (hw_offload) + if (hw_offload) { + if (!skb_ext_add(skb, SKB_EXT_SEC_PATH)) + return -ENOMEM; + + xo = xfrm_offload(skb); + if (!xo) + return -EINVAL; + + xo->flags |= XFRM_XMIT; return 0; + } err = esp6_output_tail(x, skb, &esp); if (err) --- linux-riscv-5.8-5.8.0.orig/net/ipv6/icmp.c +++ linux-riscv-5.8-5.8.0/net/ipv6/icmp.c @@ -158,7 +158,13 @@ tp = skb_header_pointer(skb, ptr+offsetof(struct icmp6hdr, icmp6_type), sizeof(_type), &_type); - if (!tp || !(*tp & ICMPV6_INFOMSG_MASK)) + + /* Based on RFC 8200, Section 4.5 Fragment Header, return + * false if this is a fragment packet with no icmp header info. + */ + if (!tp && frag_off != 0) + return false; + else if (!tp || !(*tp & ICMPV6_INFOMSG_MASK)) return true; } return false; @@ -439,8 +445,8 @@ /* * Send an ICMP message in response to a packet in error */ -static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, - const struct in6_addr *force_saddr) +void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info, + const struct in6_addr *force_saddr) { struct inet6_dev *idev = NULL; struct ipv6hdr *hdr = ipv6_hdr(skb); @@ -625,6 +631,7 @@ out_bh_enable: local_bh_enable(); } +EXPORT_SYMBOL(icmp6_send); /* Slightly more convenient version of icmp6_send. */ --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_fib.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_fib.c @@ -1024,6 +1024,8 @@ { struct fib6_table *table = rt->fib6_table; + /* Flush all cached dst in exception table */ + rt6_flush_exceptions(rt); fib6_drop_pcpu_from(rt, table); if (rt->nh && !list_empty(&rt->nh_list)) @@ -1922,9 +1924,6 @@ net->ipv6.rt6_stats->fib_rt_entries--; net->ipv6.rt6_stats->fib_discarded_routes++; - /* Flush all cached dst in exception table */ - rt6_flush_exceptions(rt); - /* Reset round-robin state, if necessary */ if (rcu_access_pointer(fn->rr_ptr) == rt) fn->rr_ptr = NULL; @@ -1992,14 +1991,19 @@ /* Need to own table->tb6_lock */ int fib6_del(struct fib6_info *rt, struct nl_info *info) { - struct fib6_node *fn = rcu_dereference_protected(rt->fib6_node, - lockdep_is_held(&rt->fib6_table->tb6_lock)); - struct fib6_table *table = rt->fib6_table; struct net *net = info->nl_net; struct fib6_info __rcu **rtp; struct fib6_info __rcu **rtp_next; + struct fib6_table *table; + struct fib6_node *fn; - if (!fn || rt == net->ipv6.fib6_null_entry) + if (rt == net->ipv6.fib6_null_entry) + return -ENOENT; + + table = rt->fib6_table; + fn = rcu_dereference_protected(rt->fib6_node, + lockdep_is_held(&table->tb6_lock)); + if (!fn) return -ENOENT; WARN_ON(!(fn->fn_flags & RTN_RTINFO)); @@ -2476,7 +2480,7 @@ const struct net_device *dev; if (rt->nh) - fib6_nh = nexthop_fib6_nh(rt->nh); + fib6_nh = nexthop_fib6_nh_bh(rt->nh); seq_printf(seq, "%pi6 %02x ", &rt->fib6_dst.addr, rt->fib6_dst.plen); @@ -2612,8 +2616,10 @@ iter->skip = *pos; if (iter->tbl) { + loff_t p = 0; + ipv6_route_seq_setup_walk(iter, net); - return ipv6_route_seq_next(seq, NULL, pos); + return ipv6_route_seq_next(seq, NULL, &p); } else { return NULL; } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_gre.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_gre.c @@ -678,8 +678,8 @@ tel = (struct ipv6_tlv_tnl_enc_lim *)&skb_network_header(skb)[offset]; if (tel->encap_limit == 0) { - icmpv6_send(skb, ICMPV6_PARAMPROB, - ICMPV6_HDR_FIELD, offset + 2); + icmpv6_ndo_send(skb, ICMPV6_PARAMPROB, + ICMPV6_HDR_FIELD, offset + 2); return -1; } *encap_limit = tel->encap_limit - 1; @@ -795,8 +795,8 @@ if (err != 0) { /* XXX: send ICMP error even if DF is not set. */ if (err == -EMSGSIZE) - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, - htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); return -1; } @@ -827,7 +827,7 @@ &mtu, skb->protocol); if (err != 0) { if (err == -EMSGSIZE) - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); return -1; } @@ -1053,10 +1053,10 @@ /* XXX: send ICMP error even if DF is not set. */ if (err == -EMSGSIZE) { if (skb->protocol == htons(ETH_P_IP)) - icmp_send(skb, ICMP_DEST_UNREACH, - ICMP_FRAG_NEEDED, htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, + ICMP_FRAG_NEEDED, htonl(mtu)); else - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); } goto tx_err; @@ -1122,8 +1122,13 @@ return; if (rt->dst.dev) { - dev->needed_headroom = rt->dst.dev->hard_header_len + - t_hlen; + unsigned short dst_len = rt->dst.dev->hard_header_len + + t_hlen; + + if (t->dev->header_ops) + dev->hard_header_len = dst_len; + else + dev->needed_headroom = dst_len; if (set_mtu) { dev->mtu = rt->dst.dev->mtu - t_hlen; @@ -1148,7 +1153,12 @@ tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; t_hlen = tunnel->hlen + sizeof(struct ipv6hdr); - tunnel->dev->needed_headroom = LL_MAX_HEADER + t_hlen; + + if (tunnel->dev->header_ops) + tunnel->dev->hard_header_len = LL_MAX_HEADER + t_hlen; + else + tunnel->dev->needed_headroom = LL_MAX_HEADER + t_hlen; + return t_hlen; } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_icmp.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_icmp.c @@ -9,6 +9,8 @@ #if IS_ENABLED(CONFIG_IPV6) +#if !IS_BUILTIN(CONFIG_IPV6) + static ip6_icmp_send_t __rcu *ip6_icmp_send; int inet6_register_icmp_sender(ip6_icmp_send_t *fn) @@ -37,14 +39,12 @@ rcu_read_lock(); send = rcu_dereference(ip6_icmp_send); - - if (!send) - goto out; - send(skb, type, code, info, NULL); -out: + if (send) + send(skb, type, code, info, NULL); rcu_read_unlock(); } EXPORT_SYMBOL(icmpv6_send); +#endif #if IS_ENABLED(CONFIG_NF_NAT) #include --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_input.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_input.c @@ -245,16 +245,6 @@ if (ipv6_addr_is_multicast(&hdr->saddr)) goto err; - /* While RFC4291 is not explicit about v4mapped addresses - * in IPv6 headers, it seems clear linux dual-stack - * model can not deal properly with these. - * Security models could be fooled by ::ffff:127.0.0.1 for example. - * - * https://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02 - */ - if (ipv6_addr_v4mapped(&hdr->saddr)) - goto err; - skb->transport_header = skb->network_header + sizeof(*hdr); IP6CB(skb)->nhoff = offsetof(struct ipv6hdr, nexthdr); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_output.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_output.c @@ -125,8 +125,43 @@ return -EINVAL; } +static int +ip6_finish_output_gso_slowpath_drop(struct net *net, struct sock *sk, + struct sk_buff *skb, unsigned int mtu) +{ + struct sk_buff *segs, *nskb; + netdev_features_t features; + int ret = 0; + + /* Please see corresponding comment in ip_finish_output_gso + * describing the cases where GSO segment length exceeds the + * egress MTU. + */ + features = netif_skb_features(skb); + segs = skb_gso_segment(skb, features & ~NETIF_F_GSO_MASK); + if (IS_ERR_OR_NULL(segs)) { + kfree_skb(skb); + return -ENOMEM; + } + + consume_skb(skb); + + skb_list_walk_safe(segs, segs, nskb) { + int err; + + skb_mark_not_on_list(segs); + err = ip6_fragment(net, sk, segs, ip6_finish_output2); + if (err && ret == 0) + ret = err; + } + + return ret; +} + static int __ip6_finish_output(struct net *net, struct sock *sk, struct sk_buff *skb) { + unsigned int mtu; + #if defined(CONFIG_NETFILTER) && defined(CONFIG_XFRM) /* Policy lookup after SNAT yielded a new policy */ if (skb_dst(skb)->xfrm) { @@ -135,7 +170,11 @@ } #endif - if ((skb->len > ip6_skb_dst_mtu(skb) && !skb_is_gso(skb)) || + mtu = ip6_skb_dst_mtu(skb); + if (skb_is_gso(skb) && !skb_gso_validate_network_len(skb, mtu)) + return ip6_finish_output_gso_slowpath_drop(net, sk, skb, mtu); + + if ((skb->len > mtu && !skb_is_gso(skb)) || dst_allfrag(skb_dst(skb)) || (IP6CB(skb)->frag_max_size && skb->len > IP6CB(skb)->frag_max_size)) return ip6_fragment(net, sk, skb, ip6_finish_output2); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_tunnel.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_tunnel.c @@ -913,7 +913,15 @@ struct metadata_dst *tun_dst, bool log_ecn_err) { - return __ip6_tnl_rcv(t, skb, tpi, tun_dst, ip6ip6_dscp_ecn_decapsulate, + int (*dscp_ecn_decapsulate)(const struct ip6_tnl *t, + const struct ipv6hdr *ipv6h, + struct sk_buff *skb); + + dscp_ecn_decapsulate = ip6ip6_dscp_ecn_decapsulate; + if (tpi->proto == htons(ETH_P_IP)) + dscp_ecn_decapsulate = ip4ip6_dscp_ecn_decapsulate; + + return __ip6_tnl_rcv(t, skb, tpi, tun_dst, dscp_ecn_decapsulate, log_ecn_err); } EXPORT_SYMBOL(ip6_tnl_rcv); @@ -1261,6 +1269,8 @@ if (max_headroom > dev->needed_headroom) dev->needed_headroom = max_headroom; + skb_set_inner_ipproto(skb, proto); + err = ip6_tnl_encap(skb, t, &proto, fl6); if (err) return err; @@ -1270,8 +1280,6 @@ ipv6_push_frag_opts(skb, &opt.ops, &proto); } - skb_set_inner_ipproto(skb, proto); - skb_push(skb, sizeof(struct ipv6hdr)); skb_reset_network_header(skb); ipv6h = ipv6_hdr(skb); @@ -1353,8 +1361,8 @@ tel = (void *)&skb_network_header(skb)[offset]; if (tel->encap_limit == 0) { - icmpv6_send(skb, ICMPV6_PARAMPROB, - ICMPV6_HDR_FIELD, offset + 2); + icmpv6_ndo_send(skb, ICMPV6_PARAMPROB, + ICMPV6_HDR_FIELD, offset + 2); return -1; } encap_limit = tel->encap_limit - 1; @@ -1406,11 +1414,11 @@ if (err == -EMSGSIZE) switch (protocol) { case IPPROTO_IPIP: - icmp_send(skb, ICMP_DEST_UNREACH, - ICMP_FRAG_NEEDED, htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, + ICMP_FRAG_NEEDED, htonl(mtu)); break; case IPPROTO_IPV6: - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); break; default: break; @@ -2265,6 +2273,16 @@ t = rtnl_dereference(t->next); } } + + t = rtnl_dereference(ip6n->tnls_wc[0]); + while (t) { + /* If dev is in the same netns, it has already + * been added to the list by the previous loop. + */ + if (!net_eq(dev_net(t->dev), net)) + unregister_netdevice_queue(t->dev, list); + t = rtnl_dereference(t->next); + } } static int __net_init ip6_tnl_init_net(struct net *net) --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ip6_vti.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ip6_vti.c @@ -515,6 +515,10 @@ goto tx_err_dst_release; } + skb_scrub_packet(skb, !net_eq(t->net, dev_net(dev))); + skb_dst_set(skb, dst); + skb->dev = skb_dst(skb)->dev; + mtu = dst_mtu(dst); if (skb->len > mtu) { skb_dst_update_pmtu_no_confirm(skb, mtu); @@ -523,20 +527,15 @@ if (mtu < IPV6_MIN_MTU) mtu = IPV6_MIN_MTU; - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); } else { - icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, - htonl(mtu)); + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); } - err = -EMSGSIZE; - goto tx_err_dst_release; + return -EMSGSIZE; } - skb_scrub_packet(skb, !net_eq(t->net, dev_net(dev))); - skb_dst_set(skb, dst); - skb->dev = skb_dst(skb)->dev; - err = dst_output(t->net, skb->sk, skb); if (net_xmit_eval(err) == 0) err = pkt_len; --- linux-riscv-5.8-5.8.0.orig/net/ipv6/ndisc.c +++ linux-riscv-5.8-5.8.0/net/ipv6/ndisc.c @@ -81,6 +81,7 @@ static int pndisc_constructor(struct pneigh_entry *n); static void pndisc_destructor(struct pneigh_entry *n); static void pndisc_redo(struct sk_buff *skb); +static int ndisc_is_multicast(const void *pkey); static const struct neigh_ops ndisc_generic_ops = { .family = AF_INET6, @@ -115,6 +116,7 @@ .pconstructor = pndisc_constructor, .pdestructor = pndisc_destructor, .proxy_redo = pndisc_redo, + .is_multicast = ndisc_is_multicast, .allow_add = ndisc_allow_add, .id = "ndisc_cache", .parms = { @@ -1706,6 +1708,11 @@ kfree_skb(skb); } +static int ndisc_is_multicast(const void *pkey) +{ + return ipv6_addr_is_multicast((struct in6_addr *)pkey); +} + static bool ndisc_suppress_frag_ndisc(struct sk_buff *skb) { struct inet6_dev *idev = __in6_dev_get(skb->dev); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/netfilter.c +++ linux-riscv-5.8-5.8.0/net/ipv6/netfilter.c @@ -20,10 +20,10 @@ #include #include "../bridge/br_private.h" -int ip6_route_me_harder(struct net *net, struct sk_buff *skb) +int ip6_route_me_harder(struct net *net, struct sock *sk_partial, struct sk_buff *skb) { const struct ipv6hdr *iph = ipv6_hdr(skb); - struct sock *sk = sk_to_full_sk(skb->sk); + struct sock *sk = sk_to_full_sk(sk_partial); unsigned int hh_len; struct dst_entry *dst; int strict = (ipv6_addr_type(&iph->daddr) & @@ -84,7 +84,7 @@ if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) || skb->mark != rt_info->mark) - return ip6_route_me_harder(entry->state.net, skb); + return ip6_route_me_harder(entry->state.net, entry->state.sk, skb); } return 0; } @@ -245,9 +245,6 @@ .route_input = ip6_route_input, .fragment = ip6_fragment, .reroute = nf_ip6_reroute, -#if IS_MODULE(CONFIG_IPV6) && IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) - .br_defrag = nf_ct_frag6_gather, -#endif #if IS_MODULE(CONFIG_IPV6) .br_fragment = br_ip6_fragment, #endif --- linux-riscv-5.8-5.8.0.orig/net/ipv6/netfilter/ip6_tables.c +++ linux-riscv-5.8-5.8.0/net/ipv6/netfilter/ip6_tables.c @@ -380,6 +380,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 @@ -435,6 +446,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; @@ -456,6 +469,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; @@ -1445,6 +1462,8 @@ if (!newinfo) goto out_unlock; + memset(newinfo->entries, 0, size); + newinfo->number = compatr->num_entries; for (i = 0; i < NF_INET_NUMHOOKS; i++) { newinfo->hook_entry[i] = compatr->hook_entry[i]; --- linux-riscv-5.8-5.8.0.orig/net/ipv6/netfilter/ip6table_mangle.c +++ linux-riscv-5.8-5.8.0/net/ipv6/netfilter/ip6table_mangle.c @@ -57,7 +57,7 @@ skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { - err = ip6_route_me_harder(state->net, skb); + err = ip6_route_me_harder(state->net, state->sk, skb); if (err < 0) ret = NF_DROP_ERR(err); } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/netfilter/nf_log_ipv6.c +++ linux-riscv-5.8-5.8.0/net/ipv6/netfilter/nf_log_ipv6.c @@ -297,9 +297,11 @@ switch (dev->type) { case ARPHRD_ETHER: - nf_log_buf_add(m, "MACSRC=%pM MACDST=%pM MACPROTO=%04x ", - eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest, - ntohs(eth_hdr(skb)->h_proto)); + nf_log_buf_add(m, "MACSRC=%pM MACDST=%pM ", + eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest); + nf_log_dump_vlan(m, skb); + nf_log_buf_add(m, "MACPROTO=%04x ", + ntohs(eth_hdr(skb)->h_proto)); return; default: break; --- linux-riscv-5.8-5.8.0.orig/net/ipv6/raw.c +++ linux-riscv-5.8-5.8.0/net/ipv6/raw.c @@ -298,7 +298,7 @@ */ v4addr = LOOPBACK4_IPV6; if (!(addr_type & IPV6_ADDR_MULTICAST) && - !sock_net(sk)->ipv6.sysctl.ip_nonlocal_bind) { + !ipv6_can_nonlocal_bind(sock_net(sk), inet)) { err = -EADDRNOTAVAIL; if (!ipv6_chk_addr(sock_net(sk), &addr->sin6_addr, dev, 0)) { --- linux-riscv-5.8-5.8.0.orig/net/ipv6/reassembly.c +++ linux-riscv-5.8-5.8.0/net/ipv6/reassembly.c @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include #include @@ -322,7 +324,9 @@ struct frag_queue *fq; const struct ipv6hdr *hdr = ipv6_hdr(skb); struct net *net = dev_net(skb_dst(skb)->dev); - int iif; + __be16 frag_off; + int iif, offset; + u8 nexthdr; if (IP6CB(skb)->flags & IP6SKB_FRAGMENTED) goto fail_hdr; @@ -351,6 +355,33 @@ return 1; } + /* RFC 8200, Section 4.5 Fragment Header: + * If the first fragment does not include all headers through an + * Upper-Layer header, then that fragment should be discarded and + * an ICMP Parameter Problem, Code 3, message should be sent to + * the source of the fragment, with the Pointer field set to zero. + */ + nexthdr = hdr->nexthdr; + offset = ipv6_skip_exthdr(skb, skb_transport_offset(skb), &nexthdr, &frag_off); + if (offset >= 0) { + /* Check some common protocols' header */ + if (nexthdr == IPPROTO_TCP) + offset += sizeof(struct tcphdr); + else if (nexthdr == IPPROTO_UDP) + offset += sizeof(struct udphdr); + else if (nexthdr == IPPROTO_ICMPV6) + offset += sizeof(struct icmp6hdr); + else + offset += 1; + + if (!(frag_off & htons(IP6_OFFSET)) && offset > skb->len) { + __IP6_INC_STATS(net, __in6_dev_get_safely(skb->dev), + IPSTATS_MIB_INHDRERRORS); + icmpv6_param_prob(skb, ICMPV6_HDR_INCOMP, 0); + return -1; + } + } + iif = skb->dev ? skb->dev->ifindex : 0; fq = fq_find(net, fhdr->identification, hdr, iif); if (fq) { --- linux-riscv-5.8-5.8.0.orig/net/ipv6/route.c +++ linux-riscv-5.8-5.8.0/net/ipv6/route.c @@ -257,34 +257,16 @@ .confirm_neigh = ip6_confirm_neigh, }; -static unsigned int ip6_blackhole_mtu(const struct dst_entry *dst) -{ - unsigned int mtu = dst_metric_raw(dst, RTAX_MTU); - - return mtu ? : dst->dev->mtu; -} - -static void ip6_rt_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu, - bool confirm_neigh) -{ -} - -static void ip6_rt_blackhole_redirect(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb) -{ -} - static struct dst_ops ip6_dst_blackhole_ops = { - .family = AF_INET6, - .destroy = ip6_dst_destroy, - .check = ip6_dst_check, - .mtu = ip6_blackhole_mtu, - .default_advmss = ip6_default_advmss, - .update_pmtu = ip6_rt_blackhole_update_pmtu, - .redirect = ip6_rt_blackhole_redirect, - .cow_metrics = dst_cow_metrics_generic, - .neigh_lookup = ip6_dst_neigh_lookup, + .family = AF_INET6, + .default_advmss = ip6_default_advmss, + .neigh_lookup = ip6_dst_neigh_lookup, + .check = ip6_dst_check, + .destroy = ip6_dst_destroy, + .cow_metrics = dst_cow_metrics_generic, + .update_pmtu = dst_blackhole_update_pmtu, + .redirect = dst_blackhole_redirect, + .mtu = dst_blackhole_mtu, }; static const u32 ip6_template_metrics[RTAX_MAX] = { @@ -5219,9 +5201,11 @@ * nexthops have been replaced by first new, the rest should * be added to it. */ - cfg->fc_nlinfo.nlh->nlmsg_flags &= ~(NLM_F_EXCL | - NLM_F_REPLACE); - cfg->fc_nlinfo.nlh->nlmsg_flags |= NLM_F_CREATE; + if (cfg->fc_nlinfo.nlh) { + cfg->fc_nlinfo.nlh->nlmsg_flags &= ~(NLM_F_EXCL | + NLM_F_REPLACE); + cfg->fc_nlinfo.nlh->nlmsg_flags |= NLM_F_CREATE; + } nhn++; } --- linux-riscv-5.8-5.8.0.orig/net/ipv6/sit.c +++ linux-riscv-5.8-5.8.0/net/ipv6/sit.c @@ -987,7 +987,7 @@ skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->len > mtu && !skb_is_gso(skb)) { - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); ip_rt_put(rt); goto tx_error; } @@ -1128,7 +1128,6 @@ if (tdev && !netif_is_l3_master(tdev)) { int t_hlen = tunnel->hlen + sizeof(struct iphdr); - dev->hard_header_len = tdev->hard_header_len + sizeof(struct iphdr); dev->mtu = tdev->mtu - t_hlen; if (dev->mtu < IPV6_MIN_MTU) dev->mtu = IPV6_MIN_MTU; @@ -1426,7 +1425,6 @@ dev->priv_destructor = ipip6_dev_free; dev->type = ARPHRD_SIT; - dev->hard_header_len = LL_MAX_HEADER + t_hlen; dev->mtu = ETH_DATA_LEN - t_hlen; dev->min_mtu = IPV6_MIN_MTU; dev->max_mtu = IP6_MAX_MTU - t_hlen; @@ -1647,8 +1645,11 @@ } #ifdef CONFIG_IPV6_SIT_6RD - if (ipip6_netlink_6rd_parms(data, &ip6rd)) + if (ipip6_netlink_6rd_parms(data, &ip6rd)) { err = ipip6_tunnel_update_6rd(nt, &ip6rd); + if (err < 0) + unregister_netdevice_queue(dev, NULL); + } #endif return err; @@ -1866,9 +1867,9 @@ if (dev->rtnl_link_ops == &sit_link_ops) unregister_netdevice_queue(dev, head); - for (prio = 1; prio < 4; prio++) { + for (prio = 0; prio < 4; prio++) { int h; - for (h = 0; h < IP6_SIT_HASH_SIZE; h++) { + for (h = 0; h < (prio ? IP6_SIT_HASH_SIZE : 1); h++) { struct ip_tunnel *t; t = rtnl_dereference(sitn->tunnels[prio][h]); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/syncookies.c +++ linux-riscv-5.8-5.8.0/net/ipv6/syncookies.c @@ -136,7 +136,7 @@ __u32 cookie = ntohl(th->ack_seq) - 1; struct sock *ret = sk; struct request_sock *req; - int mss; + int full_space, mss; struct dst_entry *dst; __u8 rcv_wscale; u32 tsoff = 0; @@ -244,7 +244,13 @@ } req->rsk_window_clamp = tp->window_clamp ? :dst_metric(dst, RTAX_WINDOW); - tcp_select_initial_window(sk, tcp_full_space(sk), req->mss, + /* limit the window selection if the user enforce a smaller rx buffer */ + full_space = tcp_full_space(sk); + if (sk->sk_userlocks & SOCK_RCVBUF_LOCK && + (req->rsk_window_clamp > full_space || req->rsk_window_clamp == 0)) + req->rsk_window_clamp = full_space; + + tcp_select_initial_window(sk, full_space, req->mss, &req->rsk_rcv_wnd, &req->rsk_window_clamp, ireq->wscale_ok, &rcv_wscale, dst_metric(dst, RTAX_INITRWND)); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/sysctl_net_ipv6.c +++ linux-riscv-5.8-5.8.0/net/ipv6/sysctl_net_ipv6.c @@ -21,6 +21,7 @@ #include #endif +static int two = 2; static int flowlabel_reflect_max = 0x7; static int auto_flowlabels_min; static int auto_flowlabels_max = IP6_AUTO_FLOW_LABEL_MAX; @@ -150,7 +151,7 @@ .mode = 0644, .proc_handler = proc_rt6_multipath_hash_policy, .extra1 = SYSCTL_ZERO, - .extra2 = SYSCTL_ONE, + .extra2 = &two, }, { .procname = "seg6_flowlabel", --- linux-riscv-5.8-5.8.0.orig/net/ipv6/tcp_ipv6.c +++ linux-riscv-5.8-5.8.0/net/ipv6/tcp_ipv6.c @@ -1159,6 +1159,11 @@ if (!ipv6_unicast_destination(skb)) goto drop; + if (ipv6_addr_v4mapped(&ipv6_hdr(skb)->saddr)) { + __IP6_INC_STATS(sock_net(sk), NULL, IPSTATS_MIB_INHDRERRORS); + return 0; + } + return tcp_conn_request(&tcp6_request_sock_ops, &tcp_request_sock_ipv6_ops, sk, skb); --- linux-riscv-5.8-5.8.0.orig/net/ipv6/udp_offload.c +++ linux-riscv-5.8-5.8.0/net/ipv6/udp_offload.c @@ -46,7 +46,7 @@ goto out; if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) - return __udp_gso_segment(skb, features); + return __udp_gso_segment(skb, features, true); /* Do software UFO. Complete and fill in the UDP checksum as HW cannot * do checksum of UDP packets sent as multiple IP fragments. @@ -111,12 +111,22 @@ return segs; } +static struct sock *udp6_gro_lookup_skb(struct sk_buff *skb, __be16 sport, + __be16 dport) +{ + const struct ipv6hdr *iph = skb_gro_network_header(skb); + + return __udp6_lib_lookup(dev_net(skb->dev), &iph->saddr, sport, + &iph->daddr, dport, inet6_iif(skb), + inet6_sdif(skb), &udp_table, NULL); +} + INDIRECT_CALLABLE_SCOPE struct sk_buff *udp6_gro_receive(struct list_head *head, struct sk_buff *skb) { struct udphdr *uh = udp_gro_udphdr(skb); + struct sock *sk = NULL; struct sk_buff *pp; - struct sock *sk; if (unlikely(!uh)) goto flush; @@ -135,7 +145,10 @@ skip: NAPI_GRO_CB(skb)->is_ipv6 = 1; rcu_read_lock(); - sk = static_branch_unlikely(&udpv6_encap_needed_key) ? udp6_lib_lookup_skb(skb, uh->source, uh->dest) : NULL; + + if (static_branch_unlikely(&udpv6_encap_needed_key)) + sk = udp6_gro_lookup_skb(skb, uh->source, uh->dest); + pp = udp_gro_receive(head, skb, uh, sk); rcu_read_unlock(); return pp; --- linux-riscv-5.8-5.8.0.orig/net/iucv/af_iucv.c +++ linux-riscv-5.8-5.8.0/net/iucv/af_iucv.c @@ -1434,7 +1434,8 @@ break; } - if (how == SEND_SHUTDOWN || how == SHUTDOWN_MASK) { + if ((how == SEND_SHUTDOWN || how == SHUTDOWN_MASK) && + sk->sk_state == IUCV_CONNECTED) { if (iucv->transport == AF_IUCV_TRANS_IUCV) { txmsg.class = 0; txmsg.tag = 0; @@ -1644,7 +1645,7 @@ } /* Create the new socket */ - nsk = iucv_sock_alloc(NULL, sk->sk_type, GFP_ATOMIC, 0); + nsk = iucv_sock_alloc(NULL, sk->sk_protocol, GFP_ATOMIC, 0); if (!nsk) { err = pr_iucv->path_sever(path, user_data); iucv_path_free(path); @@ -1850,7 +1851,7 @@ goto out; } - nsk = iucv_sock_alloc(NULL, sk->sk_type, GFP_ATOMIC, 0); + nsk = iucv_sock_alloc(NULL, sk->sk_protocol, GFP_ATOMIC, 0); bh_lock_sock(sk); if ((sk->sk_state != IUCV_LISTEN) || sk_acceptq_is_full(sk) || @@ -2035,7 +2036,6 @@ char nullstring[8]; if (!pskb_may_pull(skb, sizeof(*trans_hdr))) { - WARN_ONCE(1, "AF_IUCV failed to receive skb, len=%u", skb->len); kfree_skb(skb); return NET_RX_SUCCESS; } --- linux-riscv-5.8-5.8.0.orig/net/key/af_key.c +++ linux-riscv-5.8-5.8.0/net/key/af_key.c @@ -2902,7 +2902,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 +2920,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,7 +2931,7 @@ if (!aalg->pfkey_supported) continue; - if (aalg_tmpl_set(t, aalg) && aalg->available) + if (aalg_tmpl_set(t, aalg)) sz += sizeof(struct sadb_comb); } } --- linux-riscv-5.8-5.8.0.orig/net/lapb/lapb_out.c +++ linux-riscv-5.8-5.8.0/net/lapb/lapb_out.c @@ -82,7 +82,8 @@ skb = skb_dequeue(&lapb->write_queue); do { - if ((skbn = skb_clone(skb, GFP_ATOMIC)) == NULL) { + skbn = skb_copy(skb, GFP_ATOMIC); + if (!skbn) { skb_queue_head(&lapb->write_queue, skb); break; } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/aead_api.c +++ linux-riscv-5.8-5.8.0/net/mac80211/aead_api.c @@ -23,6 +23,7 @@ struct aead_request *aead_req; int reqsize = sizeof(*aead_req) + crypto_aead_reqsize(tfm); u8 *__aad; + int ret; aead_req = kzalloc(reqsize + aad_len, GFP_ATOMIC); if (!aead_req) @@ -40,10 +41,10 @@ aead_request_set_crypt(aead_req, sg, sg, data_len, b_0); aead_request_set_ad(aead_req, sg[0].length); - crypto_aead_encrypt(aead_req); + ret = crypto_aead_encrypt(aead_req); kzfree(aead_req); - return 0; + return ret; } int aead_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, size_t aad_len, --- linux-riscv-5.8-5.8.0.orig/net/mac80211/aes_gmac.c +++ linux-riscv-5.8-5.8.0/net/mac80211/aes_gmac.c @@ -22,6 +22,7 @@ struct aead_request *aead_req; int reqsize = sizeof(*aead_req) + crypto_aead_reqsize(tfm); const __le16 *fc; + int ret; if (data_len < GMAC_MIC_LEN) return -EINVAL; @@ -59,10 +60,10 @@ aead_request_set_crypt(aead_req, sg, sg, 0, iv); aead_request_set_ad(aead_req, GMAC_AAD_LEN + data_len); - crypto_aead_encrypt(aead_req); + ret = crypto_aead_encrypt(aead_req); kzfree(aead_req); - return 0; + return ret; } struct crypto_aead *ieee80211_aes_gmac_key_setup(const u8 key[], --- linux-riscv-5.8-5.8.0.orig/net/mac80211/cfg.c +++ linux-riscv-5.8-5.8.0/net/mac80211/cfg.c @@ -709,7 +709,8 @@ u16 brate; sband = ieee80211_get_sband(sta->sdata); - if (sband) { + WARN_ON_ONCE(sband && !sband->bitrates); + if (sband && sband->bitrates) { brate = sband->bitrates[rate->idx].bitrate; rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift); } @@ -1697,8 +1698,10 @@ } if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && - sta->sdata->u.vlan.sta) + sta->sdata->u.vlan.sta) { + ieee80211_clear_fast_rx(sta); RCU_INIT_POINTER(sta->sdata->u.vlan.sta, NULL); + } if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) ieee80211_vif_dec_num_mcast(sta->sdata); @@ -2864,14 +2867,14 @@ continue; for (j = 0; j < IEEE80211_HT_MCS_MASK_LEN; j++) { - if (~sdata->rc_rateidx_mcs_mask[i][j]) { + if (sdata->rc_rateidx_mcs_mask[i][j] != 0xff) { sdata->rc_has_mcs_mask[i] = true; break; } } for (j = 0; j < NL80211_VHT_NSS_MAX; j++) { - if (~sdata->rc_rateidx_vht_mcs_mask[i][j]) { + if (sdata->rc_rateidx_vht_mcs_mask[i][j] != 0xffff) { sdata->rc_has_vht_mcs_mask[i] = true; break; } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/debugfs.c +++ linux-riscv-5.8-5.8.0/net/mac80211/debugfs.c @@ -120,18 +120,17 @@ { struct ieee80211_local *local = file->private_data; char buf[100]; - size_t len; - if (count > sizeof(buf)) + if (count >= sizeof(buf)) return -EINVAL; if (copy_from_user(buf, user_buf, count)) return -EFAULT; - buf[sizeof(buf) - 1] = '\0'; - len = strlen(buf); - if (len > 0 && buf[len-1] == '\n') - buf[len-1] = 0; + if (count && buf[count - 1] == '\n') + buf[count - 1] = '\0'; + else + buf[count] = '\0'; if (sscanf(buf, "fq_limit %u", &local->fq.limit) == 1) return count; @@ -177,18 +176,17 @@ { struct ieee80211_local *local = file->private_data; char buf[16]; - size_t len; - if (count > sizeof(buf)) + if (count >= sizeof(buf)) return -EINVAL; if (copy_from_user(buf, user_buf, count)) return -EFAULT; - buf[sizeof(buf) - 1] = 0; - len = strlen(buf); - if (len > 0 && buf[len - 1] == '\n') - buf[len - 1] = 0; + if (count && buf[count - 1] == '\n') + buf[count - 1] = '\0'; + else + buf[count] = '\0'; if (kstrtou16(buf, 0, &local->airtime_flags)) return -EINVAL; @@ -237,20 +235,19 @@ { struct ieee80211_local *local = file->private_data; char buf[100]; - size_t len; u32 ac, q_limit_low, q_limit_high, q_limit_low_old, q_limit_high_old; struct sta_info *sta; - if (count > sizeof(buf)) + if (count >= sizeof(buf)) return -EINVAL; if (copy_from_user(buf, user_buf, count)) return -EFAULT; - buf[sizeof(buf) - 1] = 0; - len = strlen(buf); - if (len > 0 && buf[len - 1] == '\n') - buf[len - 1] = 0; + if (count && buf[count - 1] == '\n') + buf[count - 1] = '\0'; + else + buf[count] = '\0'; if (sscanf(buf, "%u %u %u", &ac, &q_limit_low, &q_limit_high) != 3) return -EINVAL; @@ -306,18 +303,17 @@ { struct ieee80211_local *local = file->private_data; char buf[3]; - size_t len; - if (count > sizeof(buf)) + if (count >= sizeof(buf)) return -EINVAL; if (copy_from_user(buf, user_buf, count)) return -EFAULT; - buf[sizeof(buf) - 1] = '\0'; - len = strlen(buf); - if (len > 0 && buf[len - 1] == '\n') - buf[len - 1] = 0; + if (count && buf[count - 1] == '\n') + buf[count - 1] = '\0'; + else + buf[count] = '\0'; if (buf[0] == '0' && buf[1] == '\0') local->force_tx_status = 0; --- linux-riscv-5.8-5.8.0.orig/net/mac80211/driver-ops.c +++ linux-riscv-5.8-5.8.0/net/mac80211/driver-ops.c @@ -125,8 +125,11 @@ } else if (old_state == IEEE80211_STA_AUTH && new_state == IEEE80211_STA_ASSOC) { ret = drv_sta_add(local, sdata, &sta->sta); - if (ret == 0) + if (ret == 0) { sta->uploaded = true; + if (rcu_access_pointer(sta->sta.rates)) + drv_sta_rate_tbl_update(local, sdata, &sta->sta); + } } else if (old_state == IEEE80211_STA_ASSOC && new_state == IEEE80211_STA_AUTH) { drv_sta_remove(local, sdata, &sta->sta); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/ibss.c +++ linux-riscv-5.8-5.8.0/net/mac80211/ibss.c @@ -1873,6 +1873,8 @@ /* remove beacon */ kfree(sdata->u.ibss.ie); + sdata->u.ibss.ie = NULL; + sdata->u.ibss.ie_len = 0; /* on the next join, re-program HT parameters */ memset(&ifibss->ht_capa, 0, sizeof(ifibss->ht_capa)); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/ieee80211_i.h +++ linux-riscv-5.8-5.8.0/net/mac80211/ieee80211_i.h @@ -50,12 +50,6 @@ #define IEEE80211_ENCRYPT_HEADROOM 8 #define IEEE80211_ENCRYPT_TAILROOM 18 -/* IEEE 802.11 (Ch. 9.5 Defragmentation) requires support for concurrent - * reception of at least three fragmented frames. This limit can be increased - * by changing this define, at the cost of slower frame reassembly and - * increased memory use (about 2 kB of RAM per entry). */ -#define IEEE80211_FRAGMENT_MAX 4 - /* power level hasn't been configured (or set to automatic) */ #define IEEE80211_UNSET_POWER_LEVEL INT_MIN @@ -88,18 +82,6 @@ #define IEEE80211_MAX_NAN_INSTANCE_ID 255 -struct ieee80211_fragment_entry { - struct sk_buff_head skb_list; - unsigned long first_frag_time; - u16 seq; - u16 extra_len; - u16 last_frag; - u8 rx_queue; - bool check_sequential_pn; /* needed for CCMP/GCMP */ - u8 last_pn[6]; /* PN of the last fragment if CCMP was used */ -}; - - struct ieee80211_bss { u32 device_ts_beacon, device_ts_presp; @@ -242,8 +224,15 @@ */ int security_idx; - u32 tkip_iv32; - u16 tkip_iv16; + union { + struct { + u32 iv32; + u16 iv16; + } tkip; + struct { + u8 pn[IEEE80211_CCMP_PN_LEN]; + } ccm_gcm; + }; }; struct ieee80211_csa_settings { @@ -891,9 +880,7 @@ char name[IFNAMSIZ]; - /* Fragment table for host-based reassembly */ - struct ieee80211_fragment_entry fragments[IEEE80211_FRAGMENT_MAX]; - unsigned int fragment_next; + struct ieee80211_fragment_cache frags; /* TID bitmap for NoAck policy */ u16 noack_map; @@ -1069,6 +1056,7 @@ IEEE80211_QUEUE_STOP_REASON_FLUSH, IEEE80211_QUEUE_STOP_REASON_TDLS_TEARDOWN, IEEE80211_QUEUE_STOP_REASON_RESERVE_TID, + IEEE80211_QUEUE_STOP_REASON_IFTYPE_CHANGE, IEEE80211_QUEUE_STOP_REASONS, }; @@ -2297,4 +2285,7 @@ #define debug_noinline #endif +void ieee80211_init_frag_cache(struct ieee80211_fragment_cache *cache); +void ieee80211_destroy_frag_cache(struct ieee80211_fragment_cache *cache); + #endif /* IEEE80211_I_H */ --- linux-riscv-5.8-5.8.0.orig/net/mac80211/iface.c +++ linux-riscv-5.8-5.8.0/net/mac80211/iface.c @@ -8,7 +8,7 @@ * Copyright 2008, Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright (c) 2016 Intel Deutschland GmbH - * Copyright (C) 2018-2020 Intel Corporation + * Copyright (C) 2018-2021 Intel Corporation */ #include #include @@ -1112,16 +1112,12 @@ */ static void ieee80211_teardown_sdata(struct ieee80211_sub_if_data *sdata) { - int i; - /* free extra data */ ieee80211_free_keys(sdata, false); ieee80211_debugfs_remove_netdev(sdata); - for (i = 0; i < IEEE80211_FRAGMENT_MAX; i++) - __skb_queue_purge(&sdata->fragments[i].skb_list); - sdata->fragment_next = 0; + ieee80211_destroy_frag_cache(&sdata->frags); if (ieee80211_vif_is_mesh(&sdata->vif)) ieee80211_mesh_teardown_sdata(sdata); @@ -1608,6 +1604,10 @@ if (ret) return ret; + ieee80211_stop_vif_queues(local, sdata, + IEEE80211_QUEUE_STOP_REASON_IFTYPE_CHANGE); + synchronize_net(); + ieee80211_do_stop(sdata, false); ieee80211_teardown_sdata(sdata); @@ -1628,6 +1628,8 @@ err = ieee80211_do_open(&sdata->wdev, false); WARN(err, "type change: do_open returned %d", err); + ieee80211_wake_vif_queues(local, sdata, + IEEE80211_QUEUE_STOP_REASON_IFTYPE_CHANGE); return ret; } @@ -1896,8 +1898,7 @@ sdata->wdev.wiphy = local->hw.wiphy; sdata->local = local; - for (i = 0; i < IEEE80211_FRAGMENT_MAX; i++) - skb_queue_head_init(&sdata->fragments[i].skb_list); + ieee80211_init_frag_cache(&sdata->frags); INIT_LIST_HEAD(&sdata->key_list); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/key.c +++ linux-riscv-5.8-5.8.0/net/mac80211/key.c @@ -814,6 +814,7 @@ struct ieee80211_sub_if_data *sdata, struct sta_info *sta) { + static atomic_t key_color = ATOMIC_INIT(0); struct ieee80211_key *old_key; int idx = key->conf.keyidx; bool pairwise = key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE; @@ -865,6 +866,12 @@ key->sdata = sdata; key->sta = sta; + /* + * Assign a unique ID to every key so we can easily prevent mixed + * key and fragment cache attacks. + */ + key->color = atomic_inc_return(&key_color); + increment_tailroom_need_count(sdata); ret = ieee80211_key_replace(sdata, sta, pairwise, old_key, key); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/key.h +++ linux-riscv-5.8-5.8.0/net/mac80211/key.h @@ -128,6 +128,8 @@ } debugfs; #endif + unsigned int color; + /* * key config, must be last because it contains key * material as variable length member --- linux-riscv-5.8-5.8.0.orig/net/mac80211/main.c +++ linux-riscv-5.8-5.8.0/net/mac80211/main.c @@ -982,8 +982,19 @@ continue; if (!dflt_chandef.chan) { + /* + * Assign the first enabled channel to dflt_chandef + * from the list of channels + */ + for (i = 0; i < sband->n_channels; i++) + if (!(sband->channels[i].flags & + IEEE80211_CHAN_DISABLED)) + break; + /* if none found then use the first anyway */ + if (i == sband->n_channels) + i = 0; cfg80211_chandef_create(&dflt_chandef, - &sband->channels[0], + &sband->channels[i], NL80211_CHAN_NO_HT); /* init channel we're on */ if (!local->use_chanctx && !local->_oper_chandef.chan) { --- linux-riscv-5.8-5.8.0.orig/net/mac80211/mesh_hwmp.c +++ linux-riscv-5.8-5.8.0/net/mac80211/mesh_hwmp.c @@ -356,7 +356,7 @@ */ tx_time = (device_constant + 10 * test_frame_len / rate); estimated_retx = ((1 << (2 * ARITH_SHIFT)) / (s_unit - err)); - result = (tx_time * estimated_retx) >> (2 * ARITH_SHIFT); + result = ((u64)tx_time * estimated_retx) >> (2 * ARITH_SHIFT); return (u32)result; } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/mesh_pathtbl.c +++ linux-riscv-5.8-5.8.0/net/mac80211/mesh_pathtbl.c @@ -60,6 +60,7 @@ atomic_set(&newtbl->entries, 0); spin_lock_init(&newtbl->gates_lock); spin_lock_init(&newtbl->walk_lock); + rhashtable_init(&newtbl->rhead, &mesh_rht_params); return newtbl; } @@ -775,9 +776,6 @@ goto free_path; } - rhashtable_init(&tbl_path->rhead, &mesh_rht_params); - rhashtable_init(&tbl_mpp->rhead, &mesh_rht_params); - sdata->u.mesh.mesh_paths = tbl_path; sdata->u.mesh.mpp_paths = tbl_mpp; --- linux-riscv-5.8-5.8.0.orig/net/mac80211/mlme.c +++ linux-riscv-5.8-5.8.0/net/mac80211/mlme.c @@ -4853,6 +4853,7 @@ struct ieee80211_supported_band *sband; struct cfg80211_chan_def chandef; bool is_6ghz = cbss->channel->band == NL80211_BAND_6GHZ; + bool is_5ghz = cbss->channel->band == NL80211_BAND_5GHZ; struct ieee80211_bss *bss = (void *)cbss->priv; int ret; u32 i; @@ -4871,7 +4872,7 @@ ifmgd->flags |= IEEE80211_STA_DISABLE_HE; } - if (!sband->vht_cap.vht_supported && !is_6ghz) { + if (!sband->vht_cap.vht_supported && is_5ghz) { ifmgd->flags |= IEEE80211_STA_DISABLE_VHT; ifmgd->flags |= IEEE80211_STA_DISABLE_HE; } @@ -4929,7 +4930,7 @@ he_oper_ie = cfg80211_find_ext_ie(WLAN_EID_EXT_HE_OPERATION, ies->data, ies->len); if (he_oper_ie && - he_oper_ie[1] == ieee80211_he_oper_size(&he_oper_ie[3])) + he_oper_ie[1] >= ieee80211_he_oper_size(&he_oper_ie[3])) he_oper = (void *)(he_oper_ie + 3); else he_oper = NULL; @@ -5350,6 +5351,7 @@ struct cfg80211_assoc_request *req) { bool is_6ghz = req->bss->channel->band == NL80211_BAND_6GHZ; + bool is_5ghz = req->bss->channel->band == NL80211_BAND_5GHZ; struct ieee80211_local *local = sdata->local; struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; struct ieee80211_bss *bss = (void *)req->bss->priv; @@ -5498,7 +5500,7 @@ if (vht_ie && vht_ie[1] >= sizeof(struct ieee80211_vht_cap)) memcpy(&assoc_data->ap_vht_cap, vht_ie + 2, sizeof(struct ieee80211_vht_cap)); - else if (!is_6ghz) + else if (is_5ghz) ifmgd->flags |= IEEE80211_STA_DISABLE_VHT | IEEE80211_STA_DISABLE_HE; rcu_read_unlock(); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/rate.c +++ linux-riscv-5.8-5.8.0/net/mac80211/rate.c @@ -934,7 +934,8 @@ if (old) kfree_rcu(old, rcu_head); - drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta); + if (sta->uploaded) + drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta); ieee80211_sta_set_expected_throughput(pubsta, sta_get_expected_throughput(sta)); --- linux-riscv-5.8-5.8.0.orig/net/mac80211/rc80211_minstrel.c +++ linux-riscv-5.8-5.8.0/net/mac80211/rc80211_minstrel.c @@ -274,7 +274,7 @@ success = !!(info->flags & IEEE80211_TX_STAT_ACK); for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { - if (ar[i].idx < 0) + if (ar[i].idx < 0 || !ar[i].count) break; ndx = rix_to_ndx(mi, ar[i].idx); @@ -287,12 +287,6 @@ mi->r[ndx].stats.success += success; } - if ((info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) && (i >= 0)) - mi->sample_packets++; - - if (mi->sample_deferred > 0) - mi->sample_deferred--; - if (time_after(jiffies, mi->last_stats_update + mp->update_interval / (mp->new_avg ? 2 : 1))) minstrel_update_stats(mp, mi); @@ -367,7 +361,7 @@ return; delta = (mi->total_packets * sampling_ratio / 100) - - (mi->sample_packets + mi->sample_deferred / 2); + mi->sample_packets; /* delta < 0: no sampling required */ prev_sample = mi->prev_sample; @@ -376,7 +370,6 @@ return; if (mi->total_packets >= 10000) { - mi->sample_deferred = 0; mi->sample_packets = 0; mi->total_packets = 0; } else if (delta > mi->n_rates * 2) { @@ -401,19 +394,8 @@ * rate sampling method should be used. * Respect such rates that are not sampled for 20 interations. */ - if (mrr_capable && - msr->perfect_tx_time > mr->perfect_tx_time && - msr->stats.sample_skipped < 20) { - /* Only use IEEE80211_TX_CTL_RATE_CTRL_PROBE to mark - * packets that have the sampling rate deferred to the - * second MRR stage. Increase the sample counter only - * if the deferred sample rate was actually used. - * Use the sample_deferred counter to make sure that - * the sampling is not done in large bursts */ - info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE; - rate++; - mi->sample_deferred++; - } else { + if (msr->perfect_tx_time < mr->perfect_tx_time || + msr->stats.sample_skipped >= 20) { if (!msr->sample_limit) return; @@ -433,6 +415,7 @@ rate->idx = mi->r[ndx].rix; rate->count = minstrel_get_retry_count(&mi->r[ndx], info); + info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE; } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/rc80211_minstrel.h +++ linux-riscv-5.8-5.8.0/net/mac80211/rc80211_minstrel.h @@ -126,7 +126,6 @@ u8 max_prob_rate; unsigned int total_packets; unsigned int sample_packets; - int sample_deferred; unsigned int sample_row; unsigned int sample_column; --- linux-riscv-5.8-5.8.0.orig/net/mac80211/rx.c +++ linux-riscv-5.8-5.8.0/net/mac80211/rx.c @@ -6,7 +6,7 @@ * Copyright 2007-2010 Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright(c) 2015 - 2017 Intel Deutschland GmbH - * Copyright (C) 2018-2020 Intel Corporation + * Copyright (C) 2018-2021 Intel Corporation */ #include @@ -451,7 +451,8 @@ else if (status->bw == RATE_INFO_BW_5) channel_flags |= IEEE80211_CHAN_QUARTER; - if (status->band == NL80211_BAND_5GHZ) + if (status->band == NL80211_BAND_5GHZ || + status->band == NL80211_BAND_6GHZ) channel_flags |= IEEE80211_CHAN_OFDM | IEEE80211_CHAN_5GHZ; else if (status->encoding != RX_ENC_LEGACY) channel_flags |= IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ; @@ -2173,19 +2174,34 @@ return result; } +void ieee80211_init_frag_cache(struct ieee80211_fragment_cache *cache) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(cache->entries); i++) + skb_queue_head_init(&cache->entries[i].skb_list); +} + +void ieee80211_destroy_frag_cache(struct ieee80211_fragment_cache *cache) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(cache->entries); i++) + __skb_queue_purge(&cache->entries[i].skb_list); +} + static inline struct ieee80211_fragment_entry * -ieee80211_reassemble_add(struct ieee80211_sub_if_data *sdata, +ieee80211_reassemble_add(struct ieee80211_fragment_cache *cache, unsigned int frag, unsigned int seq, int rx_queue, struct sk_buff **skb) { struct ieee80211_fragment_entry *entry; - entry = &sdata->fragments[sdata->fragment_next++]; - if (sdata->fragment_next >= IEEE80211_FRAGMENT_MAX) - sdata->fragment_next = 0; + entry = &cache->entries[cache->next++]; + if (cache->next >= IEEE80211_FRAGMENT_MAX) + cache->next = 0; - if (!skb_queue_empty(&entry->skb_list)) - __skb_queue_purge(&entry->skb_list); + __skb_queue_purge(&entry->skb_list); __skb_queue_tail(&entry->skb_list, *skb); /* no need for locking */ *skb = NULL; @@ -2200,14 +2216,14 @@ } static inline struct ieee80211_fragment_entry * -ieee80211_reassemble_find(struct ieee80211_sub_if_data *sdata, +ieee80211_reassemble_find(struct ieee80211_fragment_cache *cache, unsigned int frag, unsigned int seq, int rx_queue, struct ieee80211_hdr *hdr) { struct ieee80211_fragment_entry *entry; int i, idx; - idx = sdata->fragment_next; + idx = cache->next; for (i = 0; i < IEEE80211_FRAGMENT_MAX; i++) { struct ieee80211_hdr *f_hdr; struct sk_buff *f_skb; @@ -2216,7 +2232,7 @@ if (idx < 0) idx = IEEE80211_FRAGMENT_MAX - 1; - entry = &sdata->fragments[idx]; + entry = &cache->entries[idx]; if (skb_queue_empty(&entry->skb_list) || entry->seq != seq || entry->rx_queue != rx_queue || entry->last_frag + 1 != frag) @@ -2244,15 +2260,27 @@ return NULL; } +static bool requires_sequential_pn(struct ieee80211_rx_data *rx, __le16 fc) +{ + return rx->key && + (rx->key->conf.cipher == WLAN_CIPHER_SUITE_CCMP || + rx->key->conf.cipher == WLAN_CIPHER_SUITE_CCMP_256 || + rx->key->conf.cipher == WLAN_CIPHER_SUITE_GCMP || + rx->key->conf.cipher == WLAN_CIPHER_SUITE_GCMP_256) && + ieee80211_has_protected(fc); +} + static ieee80211_rx_result debug_noinline ieee80211_rx_h_defragment(struct ieee80211_rx_data *rx) { + struct ieee80211_fragment_cache *cache = &rx->sdata->frags; struct ieee80211_hdr *hdr; u16 sc; __le16 fc; unsigned int frag, seq; struct ieee80211_fragment_entry *entry; struct sk_buff *skb; + struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb); hdr = (struct ieee80211_hdr *)rx->skb->data; fc = hdr->frame_control; @@ -2268,6 +2296,9 @@ goto out_no_led; } + if (rx->sta) + cache = &rx->sta->frags; + if (likely(!ieee80211_has_morefrags(fc) && frag == 0)) goto out; @@ -2286,20 +2317,17 @@ if (frag == 0) { /* This is the first fragment of a new frame. */ - entry = ieee80211_reassemble_add(rx->sdata, frag, seq, + entry = ieee80211_reassemble_add(cache, frag, seq, rx->seqno_idx, &(rx->skb)); - if (rx->key && - (rx->key->conf.cipher == WLAN_CIPHER_SUITE_CCMP || - rx->key->conf.cipher == WLAN_CIPHER_SUITE_CCMP_256 || - rx->key->conf.cipher == WLAN_CIPHER_SUITE_GCMP || - rx->key->conf.cipher == WLAN_CIPHER_SUITE_GCMP_256) && - ieee80211_has_protected(fc)) { + if (requires_sequential_pn(rx, fc)) { int queue = rx->security_idx; /* Store CCMP/GCMP PN so that we can verify that the * next fragment has a sequential PN value. */ entry->check_sequential_pn = true; + entry->is_protected = true; + entry->key_color = rx->key->color; memcpy(entry->last_pn, rx->key->u.ccmp.rx_pn[queue], IEEE80211_CCMP_PN_LEN); @@ -2311,6 +2339,11 @@ sizeof(rx->key->u.gcmp.rx_pn[queue])); BUILD_BUG_ON(IEEE80211_CCMP_PN_LEN != IEEE80211_GCMP_PN_LEN); + } else if (rx->key && + (ieee80211_has_protected(fc) || + (status->flag & RX_FLAG_DECRYPTED))) { + entry->is_protected = true; + entry->key_color = rx->key->color; } return RX_QUEUED; } @@ -2318,7 +2351,7 @@ /* This is a fragment for a frame that should already be pending in * fragment cache. Add this fragment to the end of the pending entry. */ - entry = ieee80211_reassemble_find(rx->sdata, frag, seq, + entry = ieee80211_reassemble_find(cache, frag, seq, rx->seqno_idx, hdr); if (!entry) { I802_DEBUG_INC(rx->local->rx_handlers_drop_defrag); @@ -2333,25 +2366,39 @@ if (entry->check_sequential_pn) { int i; u8 pn[IEEE80211_CCMP_PN_LEN], *rpn; - int queue; - if (!rx->key || - (rx->key->conf.cipher != WLAN_CIPHER_SUITE_CCMP && - rx->key->conf.cipher != WLAN_CIPHER_SUITE_CCMP_256 && - rx->key->conf.cipher != WLAN_CIPHER_SUITE_GCMP && - rx->key->conf.cipher != WLAN_CIPHER_SUITE_GCMP_256)) + if (!requires_sequential_pn(rx, fc)) + return RX_DROP_UNUSABLE; + + /* Prevent mixed key and fragment cache attacks */ + if (entry->key_color != rx->key->color) return RX_DROP_UNUSABLE; + memcpy(pn, entry->last_pn, IEEE80211_CCMP_PN_LEN); for (i = IEEE80211_CCMP_PN_LEN - 1; i >= 0; i--) { pn[i]++; if (pn[i]) break; } - queue = rx->security_idx; - rpn = rx->key->u.ccmp.rx_pn[queue]; + + rpn = rx->ccm_gcm.pn; if (memcmp(pn, rpn, IEEE80211_CCMP_PN_LEN)) return RX_DROP_UNUSABLE; memcpy(entry->last_pn, pn, IEEE80211_CCMP_PN_LEN); + } else if (entry->is_protected && + (!rx->key || + (!ieee80211_has_protected(fc) && + !(status->flag & RX_FLAG_DECRYPTED)) || + rx->key->color != entry->key_color)) { + /* Drop this as a mixed key or fragment cache attack, even + * if for TKIP Michael MIC should protect us, and WEP is a + * lost cause anyway. + */ + return RX_DROP_UNUSABLE; + } else if (entry->is_protected && rx->key && + entry->key_color != rx->key->color && + (status->flag & RX_FLAG_DECRYPTED)) { + return RX_DROP_UNUSABLE; } skb_pull(rx->skb, ieee80211_hdrlen(fc)); @@ -2544,13 +2591,13 @@ struct ethhdr *ehdr = (struct ethhdr *) rx->skb->data; /* - * Allow EAPOL frames to us/the PAE group address regardless - * of whether the frame was encrypted or not. + * Allow EAPOL frames to us/the PAE group address regardless of + * whether the frame was encrypted or not, and always disallow + * all other destination addresses for them. */ - if (ehdr->h_proto == rx->sdata->control_port_protocol && - (ether_addr_equal(ehdr->h_dest, rx->sdata->vif.addr) || - ether_addr_equal(ehdr->h_dest, pae_group_addr))) - return true; + if (unlikely(ehdr->h_proto == rx->sdata->control_port_protocol)) + return ether_addr_equal(ehdr->h_dest, rx->sdata->vif.addr) || + ether_addr_equal(ehdr->h_dest, pae_group_addr); if (ieee80211_802_1x_port_control(rx) || ieee80211_drop_unencrypted(rx, fc)) @@ -2575,8 +2622,28 @@ cfg80211_rx_control_port(dev, skb, noencrypt); dev_kfree_skb(skb); } else { + struct ethhdr *ehdr = (void *)skb_mac_header(skb); + memset(skb->cb, 0, sizeof(skb->cb)); + /* + * 802.1X over 802.11 requires that the authenticator address + * be used for EAPOL frames. However, 802.1X allows the use of + * the PAE group address instead. If the interface is part of + * a bridge and we pass the frame with the PAE group address, + * then the bridge will forward it to the network (even if the + * client was not associated yet), which isn't supposed to + * happen. + * To avoid that, rewrite the destination address to our own + * address, so that the authenticator (e.g. hostapd) will see + * the frame, but bridge won't forward it anywhere else. Note + * that due to earlier filtering, the only other address can + * be the PAE group address. + */ + if (unlikely(skb->protocol == sdata->control_port_protocol && + !ether_addr_equal(ehdr->h_dest, sdata->vif.addr))) + ether_addr_copy(ehdr->h_dest, sdata->vif.addr); + /* deliver to local stack */ if (rx->napi) napi_gro_receive(rx->napi, skb); @@ -2616,6 +2683,7 @@ if ((sdata->vif.type == NL80211_IFTYPE_AP || sdata->vif.type == NL80211_IFTYPE_AP_VLAN) && !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) && + ehdr->h_proto != rx->sdata->control_port_protocol && (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) { if (is_multicast_ether_addr(ehdr->h_dest) && ieee80211_vif_get_num_mcast_if(sdata) != 0) { @@ -2725,7 +2793,7 @@ if (ieee80211_data_to_8023_exthdr(skb, ðhdr, rx->sdata->vif.addr, rx->sdata->vif.type, - data_offset)) + data_offset, true)) return RX_DROP_UNUSABLE; ieee80211_amsdu_to_8023s(skb, &frame_list, dev->dev_addr, @@ -2782,6 +2850,23 @@ if (is_multicast_ether_addr(hdr->addr1)) return RX_DROP_UNUSABLE; + if (rx->key) { + /* + * We should not receive A-MSDUs on pre-HT connections, + * and HT connections cannot use old ciphers. Thus drop + * them, as in those cases we couldn't even have SPP + * A-MSDUs or such. + */ + switch (rx->key->conf.cipher) { + case WLAN_CIPHER_SUITE_WEP40: + case WLAN_CIPHER_SUITE_WEP104: + case WLAN_CIPHER_SUITE_TKIP: + return RX_DROP_UNUSABLE; + default: + break; + } + } + return __ieee80211_rx_h_amsdu(rx, 0); } @@ -4207,6 +4292,8 @@ rcu_read_lock(); key = rcu_dereference(sta->ptk[sta->ptk_idx]); + if (!key) + key = rcu_dereference(sdata->default_unicast_key); if (key) { switch (key->conf.cipher) { case WLAN_CIPHER_SUITE_TKIP: --- linux-riscv-5.8-5.8.0.orig/net/mac80211/spectmgmt.c +++ linux-riscv-5.8-5.8.0/net/mac80211/spectmgmt.c @@ -133,16 +133,20 @@ } if (wide_bw_chansw_ie) { + u8 new_seg1 = wide_bw_chansw_ie->new_center_freq_seg1; struct ieee80211_vht_operation vht_oper = { .chan_width = wide_bw_chansw_ie->new_channel_width, .center_freq_seg0_idx = wide_bw_chansw_ie->new_center_freq_seg0, - .center_freq_seg1_idx = - wide_bw_chansw_ie->new_center_freq_seg1, + .center_freq_seg1_idx = new_seg1, /* .basic_mcs_set doesn't matter */ }; - struct ieee80211_ht_operation ht_oper = {}; + struct ieee80211_ht_operation ht_oper = { + .operation_mode = + cpu_to_le16(new_seg1 << + IEEE80211_HT_OP_MODE_CCFS2_SHIFT), + }; /* default, for the case of IEEE80211_VHT_CHANWIDTH_USE_HT, * to the previously parsed chandef --- linux-riscv-5.8-5.8.0.orig/net/mac80211/sta_info.c +++ linux-riscv-5.8-5.8.0/net/mac80211/sta_info.c @@ -4,7 +4,7 @@ * Copyright 2006-2007 Jiri Benc * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright (C) 2015 - 2017 Intel Deutschland GmbH - * Copyright (C) 2018-2020 Intel Corporation + * Copyright (C) 2018-2021 Intel Corporation */ #include @@ -258,6 +258,24 @@ */ void sta_info_free(struct ieee80211_local *local, struct sta_info *sta) { + /* + * If we had used sta_info_pre_move_state() then we might not + * have gone through the state transitions down again, so do + * it here now (and warn if it's inserted). + * + * This will clear state such as fast TX/RX that may have been + * allocated during state transitions. + */ + while (sta->sta_state > IEEE80211_STA_NONE) { + int ret; + + WARN_ON_ONCE(test_sta_flag(sta, WLAN_STA_INSERTED)); + + ret = sta_info_move_state(sta, sta->sta_state - 1); + if (WARN_ONCE(ret, "sta_info_move_state() returned %d\n", ret)) + break; + } + if (sta->rate_ctrl) rate_control_free_sta(sta); @@ -374,6 +392,8 @@ u64_stats_init(&sta->rx_stats.syncp); + ieee80211_init_frag_cache(&sta->frags); + sta->sta_state = IEEE80211_STA_NONE; /* Mark TID as unreserved */ @@ -687,7 +707,7 @@ out_drop_sta: local->num_sta--; synchronize_net(); - __cleanup_single_sta(sta); + cleanup_single_sta(sta); out_err: mutex_unlock(&local->sta_mtx); kfree(sinfo); @@ -706,19 +726,13 @@ err = sta_info_insert_check(sta); if (err) { + sta_info_free(local, sta); mutex_unlock(&local->sta_mtx); rcu_read_lock(); - goto out_free; + return err; } - err = sta_info_insert_finish(sta); - if (err) - goto out_free; - - return 0; - out_free: - sta_info_free(local, sta); - return err; + return sta_info_insert_finish(sta); } int sta_info_insert(struct sta_info *sta) @@ -1050,7 +1064,7 @@ might_sleep(); lockdep_assert_held(&local->sta_mtx); - while (sta->sta_state == IEEE80211_STA_AUTHORIZED) { + if (sta->sta_state == IEEE80211_STA_AUTHORIZED) { ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC); WARN_ON_ONCE(ret); } @@ -1090,6 +1104,8 @@ ieee80211_sta_debugfs_remove(sta); + ieee80211_destroy_frag_cache(&sta->frags); + cleanup_single_sta(sta); } @@ -2122,6 +2138,10 @@ int rate_idx = STA_STATS_GET(LEGACY_IDX, rate); sband = local->hw.wiphy->bands[band]; + + if (WARN_ON_ONCE(!sband->bitrates)) + break; + brate = sband->bitrates[rate_idx].bitrate; if (rinfo->bw == RATE_INFO_BW_5) shift = 2; --- linux-riscv-5.8-5.8.0.orig/net/mac80211/sta_info.h +++ linux-riscv-5.8-5.8.0/net/mac80211/sta_info.h @@ -3,7 +3,7 @@ * Copyright 2002-2005, Devicescape Software, Inc. * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright(c) 2015-2017 Intel Deutschland GmbH - * Copyright(c) 2020 Intel Corporation + * Copyright(c) 2020-2021 Intel Corporation */ #ifndef STA_INFO_H @@ -437,6 +437,34 @@ }; /* + * IEEE 802.11-2016 (10.6 "Defragmentation") recommends support for "concurrent + * reception of at least one MSDU per access category per associated STA" + * on APs, or "at least one MSDU per access category" on other interface types. + * + * This limit can be increased by changing this define, at the cost of slower + * frame reassembly and increased memory use while fragments are pending. + */ +#define IEEE80211_FRAGMENT_MAX 4 + +struct ieee80211_fragment_entry { + struct sk_buff_head skb_list; + unsigned long first_frag_time; + u16 seq; + u16 extra_len; + u16 last_frag; + u8 rx_queue; + u8 check_sequential_pn:1, /* needed for CCMP/GCMP */ + is_protected:1; + u8 last_pn[6]; /* PN of the last fragment if CCMP was used */ + unsigned int key_color; +}; + +struct ieee80211_fragment_cache { + struct ieee80211_fragment_entry entries[IEEE80211_FRAGMENT_MAX]; + unsigned int next; +}; + +/* * The bandwidth threshold below which the per-station CoDel parameters will be * scaled to be more lenient (to prevent starvation of slow stations). This * value will be scaled by the number of active stations when it is being @@ -522,13 +550,14 @@ * @status_stats.retry_failed: # of frames that failed after retry * @status_stats.retry_count: # of retries attempted * @status_stats.lost_packets: # of lost packets - * @status_stats.last_tdls_pkt_time: timestamp of last TDLS packet + * @status_stats.last_pkt_time: timestamp of last ACKed packet * @status_stats.msdu_retries: # of MSDU retries * @status_stats.msdu_failed: # of failed MSDUs * @status_stats.last_ack: last ack timestamp (jiffies) * @status_stats.last_ack_signal: last ACK signal * @status_stats.ack_signal_filled: last ACK signal validity * @status_stats.avg_ack_signal: average ACK signal + * @frags: fragment cache */ struct sta_info { /* General information, mostly static */ @@ -595,7 +624,7 @@ unsigned long filtered; unsigned long retry_failed, retry_count; unsigned int lost_packets; - unsigned long last_tdls_pkt_time; + unsigned long last_pkt_time; u64 msdu_retries[IEEE80211_NUM_TIDS + 1]; u64 msdu_failed[IEEE80211_NUM_TIDS + 1]; unsigned long last_ack; @@ -636,6 +665,8 @@ struct cfg80211_chan_def tdls_chandef; + struct ieee80211_fragment_cache frags; + /* keep last! */ struct ieee80211_sta sta; }; --- linux-riscv-5.8-5.8.0.orig/net/mac80211/status.c +++ linux-riscv-5.8-5.8.0/net/mac80211/status.c @@ -755,12 +755,16 @@ * - current throughput (higher value for higher tpt)? */ #define STA_LOST_PKT_THRESHOLD 50 +#define STA_LOST_PKT_TIME HZ /* 1 sec since last ACK */ #define STA_LOST_TDLS_PKT_THRESHOLD 10 #define STA_LOST_TDLS_PKT_TIME (10*HZ) /* 10secs since last ACK */ static void ieee80211_lost_packet(struct sta_info *sta, struct ieee80211_tx_info *info) { + unsigned long pkt_time = STA_LOST_PKT_TIME; + unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD; + /* If driver relies on its own algorithm for station kickout, skip * mac80211 packet loss mechanism. */ @@ -773,21 +777,20 @@ return; sta->status_stats.lost_packets++; - if (!sta->sta.tdls && - sta->status_stats.lost_packets < STA_LOST_PKT_THRESHOLD) - return; + if (sta->sta.tdls) { + pkt_time = STA_LOST_TDLS_PKT_TIME; + pkt_thr = STA_LOST_PKT_THRESHOLD; + } /* * If we're in TDLS mode, make sure that all STA_LOST_TDLS_PKT_THRESHOLD * of the last packets were lost, and that no ACK was received in the * last STA_LOST_TDLS_PKT_TIME ms, before triggering the CQM packet-loss * mechanism. + * For non-TDLS, use STA_LOST_PKT_THRESHOLD and STA_LOST_PKT_TIME */ - if (sta->sta.tdls && - (sta->status_stats.lost_packets < STA_LOST_TDLS_PKT_THRESHOLD || - time_before(jiffies, - sta->status_stats.last_tdls_pkt_time + - STA_LOST_TDLS_PKT_TIME))) + if (sta->status_stats.lost_packets < pkt_thr || + !time_after(jiffies, sta->status_stats.last_pkt_time + pkt_time)) return; cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr, @@ -1035,9 +1038,7 @@ sta->status_stats.lost_packets = 0; /* Track when last TDLS packet was ACKed */ - if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) - sta->status_stats.last_tdls_pkt_time = - jiffies; + sta->status_stats.last_pkt_time = jiffies; } else if (noack_success) { /* nothing to do here, do not account as lost */ } else { @@ -1170,9 +1171,8 @@ if (sta->status_stats.lost_packets) sta->status_stats.lost_packets = 0; - /* Track when last TDLS packet was ACKed */ - if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) - sta->status_stats.last_tdls_pkt_time = jiffies; + /* Track when last packet was ACKed */ + sta->status_stats.last_pkt_time = jiffies; } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) { return; } else if (noack_success) { @@ -1261,8 +1261,7 @@ if (sta->status_stats.lost_packets) sta->status_stats.lost_packets = 0; - if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) - sta->status_stats.last_tdls_pkt_time = jiffies; + sta->status_stats.last_pkt_time = jiffies; } else { ieee80211_lost_packet(sta, info); } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/tx.c +++ linux-riscv-5.8-5.8.0/net/mac80211/tx.c @@ -657,7 +657,7 @@ if (!skip_hw && tx->key && tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) info->control.hw_key = &tx->key->conf; - } else if (!ieee80211_is_mgmt(hdr->frame_control) && tx->sta && + } else if (ieee80211_is_data_present(hdr->frame_control) && tx->sta && test_sta_flag(tx->sta, WLAN_STA_USES_ENCRYPTION)) { return TX_DROP; } @@ -1938,19 +1938,24 @@ /* device xmit handlers */ +enum ieee80211_encrypt { + ENCRYPT_NO, + ENCRYPT_MGMT, + ENCRYPT_DATA, +}; + static int ieee80211_skb_resize(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, - int head_need, bool may_encrypt) + int head_need, + enum ieee80211_encrypt encrypt) { struct ieee80211_local *local = sdata->local; - struct ieee80211_hdr *hdr; bool enc_tailroom; int tail_need = 0; - hdr = (struct ieee80211_hdr *) skb->data; - enc_tailroom = may_encrypt && - (sdata->crypto_tx_tailroom_needed_cnt || - ieee80211_is_mgmt(hdr->frame_control)); + enc_tailroom = encrypt == ENCRYPT_MGMT || + (encrypt == ENCRYPT_DATA && + sdata->crypto_tx_tailroom_needed_cnt); if (enc_tailroom) { tail_need = IEEE80211_ENCRYPT_TAILROOM; @@ -1982,23 +1987,29 @@ { struct ieee80211_local *local = sdata->local; struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_hdr *hdr; + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; int headroom; - bool may_encrypt; + enum ieee80211_encrypt encrypt; - may_encrypt = !(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT); + if (info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT) + encrypt = ENCRYPT_NO; + else if (ieee80211_is_mgmt(hdr->frame_control)) + encrypt = ENCRYPT_MGMT; + else + encrypt = ENCRYPT_DATA; headroom = local->tx_headroom; - if (may_encrypt) + if (encrypt != ENCRYPT_NO) headroom += sdata->encrypt_headroom; headroom -= skb_headroom(skb); headroom = max_t(int, 0, headroom); - if (ieee80211_skb_resize(sdata, skb, headroom, may_encrypt)) { + if (ieee80211_skb_resize(sdata, skb, headroom, encrypt)) { ieee80211_free_txskb(&local->hw, skb); return; } + /* reload after potential resize */ hdr = (struct ieee80211_hdr *) skb->data; info->control.vif = &sdata->vif; @@ -2827,7 +2838,7 @@ head_need += sdata->encrypt_headroom; head_need += local->tx_headroom; head_need = max_t(int, 0, head_need); - if (ieee80211_skb_resize(sdata, skb, head_need, true)) { + if (ieee80211_skb_resize(sdata, skb, head_need, ENCRYPT_DATA)) { ieee80211_free_txskb(&local->hw, skb); skb = NULL; return ERR_PTR(-ENOMEM); @@ -3501,7 +3512,7 @@ if (unlikely(ieee80211_skb_resize(sdata, skb, max_t(int, extra_head + hw_headroom - skb_headroom(skb), 0), - false))) { + ENCRYPT_NO))) { kfree_skb(skb); return true; } @@ -3593,7 +3604,7 @@ test_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags)) goto out; - if (vif->txqs_stopped[ieee80211_ac_from_tid(txq->tid)]) { + if (vif->txqs_stopped[txq->ac]) { set_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags); goto out; } @@ -3822,7 +3833,7 @@ * get immediately moved to the back of the list on the next * call to ieee80211_next_txq(). */ - if (txqi->txq.sta && + if (txqi->txq.sta && local->airtime_flags && wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AIRTIME_FAIRNESS)) list_add(&txqi->schedule_order, @@ -4212,6 +4223,12 @@ if (is_zero_ether_addr(ra)) goto out_free; + if (local->ops->wake_tx_queue) { + u16 queue = __ieee80211_select_queue(sdata, sta, skb); + skb_set_queue_mapping(skb, queue); + skb_get_hash(skb); + } + multicast = is_multicast_ether_addr(ra); if (sta) --- linux-riscv-5.8-5.8.0.orig/net/mac80211/util.c +++ linux-riscv-5.8-5.8.0/net/mac80211/util.c @@ -912,7 +912,7 @@ break; case WLAN_EID_EXT_HE_OPERATION: if (len >= sizeof(*elems->he_operation) && - len == ieee80211_he_oper_size(data) - 1) { + len >= ieee80211_he_oper_size(data) - 1) { if (crc) *crc = crc32_be(*crc, (void *)elem, elem->datalen + 2); @@ -3354,9 +3354,10 @@ he_chandef.center_freq1 = ieee80211_channel_to_frequency(he_6ghz_oper->ccfs0, NL80211_BAND_6GHZ); - he_chandef.center_freq2 = - ieee80211_channel_to_frequency(he_6ghz_oper->ccfs1, - NL80211_BAND_6GHZ); + if (support_80_80 || support_160) + he_chandef.center_freq2 = + ieee80211_channel_to_frequency(he_6ghz_oper->ccfs1, + NL80211_BAND_6GHZ); } if (!cfg80211_chandef_valid(&he_chandef)) { --- linux-riscv-5.8-5.8.0.orig/net/mac80211/vht.c +++ linux-riscv-5.8-5.8.0/net/mac80211/vht.c @@ -168,10 +168,7 @@ /* take some capabilities as-is */ cap_info = le32_to_cpu(vht_cap_ie->vht_cap_info); vht_cap->cap = cap_info; - vht_cap->cap &= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 | - IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 | - IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | - IEEE80211_VHT_CAP_RXLDPC | + vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC | IEEE80211_VHT_CAP_VHT_TXOP_PS | IEEE80211_VHT_CAP_HTC_VHT | IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK | @@ -180,6 +177,9 @@ IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN | IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN; + vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK, + own_cap.cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK); + /* and some based on our own capabilities */ switch (own_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) { case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ: @@ -469,12 +469,18 @@ * IEEE80211-2016 specification makes higher bandwidth operation * possible on the TDLS link if the peers have wider bandwidth * capability. + * + * However, in this case, and only if the TDLS peer is authorized, + * limit to the tdls_chandef so that the configuration here isn't + * wider than what's actually requested on the channel context. */ if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) && - test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW)) - return bw; - - bw = min(bw, ieee80211_chan_width_to_rx_bw(bss_width)); + test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW) && + test_sta_flag(sta, WLAN_STA_AUTHORIZED) && + sta->tdls_chandef.chan) + bw = min(bw, ieee80211_chan_width_to_rx_bw(sta->tdls_chandef.width)); + else + bw = min(bw, ieee80211_chan_width_to_rx_bw(bss_width)); return bw; } --- linux-riscv-5.8-5.8.0.orig/net/mac80211/wpa.c +++ linux-riscv-5.8-5.8.0/net/mac80211/wpa.c @@ -3,6 +3,7 @@ * Copyright 2002-2004, Instant802 Networks, Inc. * Copyright 2008, Jouni Malinen * Copyright (C) 2016-2017 Intel Deutschland GmbH + * Copyright (C) 2020-2021 Intel Corporation */ #include @@ -167,8 +168,8 @@ update_iv: /* update IV in key information to be able to detect replays */ - rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32; - rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16; + rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip.iv32; + rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip.iv16; return RX_CONTINUE; @@ -294,8 +295,8 @@ key, skb->data + hdrlen, skb->len - hdrlen, rx->sta->sta.addr, hdr->addr1, hwaccel, rx->security_idx, - &rx->tkip_iv32, - &rx->tkip_iv16); + &rx->tkip.iv32, + &rx->tkip.iv16); if (res != TKIP_DECRYPT_OK) return RX_DROP_UNUSABLE; @@ -553,6 +554,8 @@ } memcpy(key->u.ccmp.rx_pn[queue], pn, IEEE80211_CCMP_PN_LEN); + if (unlikely(ieee80211_is_frag(hdr))) + memcpy(rx->ccm_gcm.pn, pn, IEEE80211_CCMP_PN_LEN); } /* Remove CCMP header and MIC */ @@ -781,6 +784,8 @@ } memcpy(key->u.gcmp.rx_pn[queue], pn, IEEE80211_GCMP_PN_LEN); + if (unlikely(ieee80211_is_frag(hdr))) + memcpy(rx->ccm_gcm.pn, pn, IEEE80211_CCMP_PN_LEN); } /* Remove GCMP header and MIC */ --- linux-riscv-5.8-5.8.0.orig/net/mac802154/llsec.c +++ linux-riscv-5.8-5.8.0/net/mac802154/llsec.c @@ -152,7 +152,7 @@ crypto_free_sync_skcipher(key->tfm0); err_tfm: for (i = 0; i < ARRAY_SIZE(key->tfm); i++) - if (key->tfm[i]) + if (!IS_ERR_OR_NULL(key->tfm[i])) crypto_free_aead(key->tfm[i]); kzfree(key); --- linux-riscv-5.8-5.8.0.orig/net/mac802154/tx.c +++ linux-riscv-5.8-5.8.0/net/mac802154/tx.c @@ -34,11 +34,11 @@ if (res) goto err_tx; - ieee802154_xmit_complete(&local->hw, skb, false); - dev->stats.tx_packets++; dev->stats.tx_bytes += skb->len; + ieee802154_xmit_complete(&local->hw, skb, false); + return; err_tx: @@ -78,6 +78,8 @@ /* async is priority, otherwise sync is fallback */ if (local->ops->xmit_async) { + unsigned int len = skb->len; + ret = drv_xmit_async(local, skb); if (ret) { ieee802154_wake_queue(&local->hw); @@ -85,7 +87,7 @@ } dev->stats.tx_packets++; - dev->stats.tx_bytes += skb->len; + dev->stats.tx_bytes += len; } else { local->tx_skb = skb; queue_work(local->workqueue, &local->tx_work); --- linux-riscv-5.8-5.8.0.orig/net/mpls/mpls_gso.c +++ linux-riscv-5.8-5.8.0/net/mpls/mpls_gso.c @@ -14,6 +14,7 @@ #include #include #include +#include static struct sk_buff *mpls_gso_segment(struct sk_buff *skb, netdev_features_t features) @@ -27,6 +28,8 @@ skb_reset_network_header(skb); mpls_hlen = skb_inner_network_header(skb) - skb_network_header(skb); + if (unlikely(!mpls_hlen || mpls_hlen % MPLS_HLEN)) + goto out; if (unlikely(!pskb_may_pull(skb, mpls_hlen))) goto out; --- linux-riscv-5.8-5.8.0.orig/net/mptcp/mib.c +++ linux-riscv-5.8-5.8.0/net/mptcp/mib.c @@ -58,6 +58,7 @@ for (i = 0; mptcp_snmp_list[i].name; i++) seq_puts(seq, " 0"); + seq_putc(seq, '\n'); return; } --- linux-riscv-5.8-5.8.0.orig/net/mptcp/options.c +++ linux-riscv-5.8-5.8.0/net/mptcp/options.c @@ -296,6 +296,7 @@ mp_opt->mp_capable = 0; mp_opt->mp_join = 0; mp_opt->add_addr = 0; + mp_opt->ahmac = 0; mp_opt->rm_addr = 0; mp_opt->dss = 0; @@ -517,7 +518,7 @@ return ret; } - if (subflow->use_64bit_ack) { + if (READ_ONCE(msk->use_64bit_ack)) { ack_size = TCPOLEN_MPTCP_DSS_ACK64; opts->ext_copy.data_ack = msk->ack_seq; opts->ext_copy.ack64 = 1; --- linux-riscv-5.8-5.8.0.orig/net/mptcp/protocol.c +++ linux-riscv-5.8-5.8.0/net/mptcp/protocol.c @@ -605,8 +605,10 @@ if (!psize) return -EINVAL; - if (!sk_wmem_schedule(sk, psize + dfrag->overhead)) + if (!sk_wmem_schedule(sk, psize + dfrag->overhead)) { + iov_iter_revert(&msg->msg_iter, psize); return -ENOMEM; + } } else { offset = dfrag->offset; psize = min_t(size_t, dfrag->data_len, avail_size); @@ -617,8 +619,10 @@ */ ret = do_tcp_sendpages(ssk, page, offset, psize, msg->msg_flags | MSG_SENDPAGE_NOTLAST | MSG_DONTWAIT); - if (ret <= 0) + if (ret <= 0) { + iov_iter_revert(&msg->msg_iter, psize); return ret; + } frag_truesize += ret; if (!retransmission) { @@ -772,7 +776,6 @@ restart: mptcp_clean_una(sk); -wait_for_sndbuf: __mptcp_flush_join_list(msk); ssk = mptcp_subflow_get_send(msk); while (!sk_stream_memory_free(sk) || @@ -873,7 +876,7 @@ */ mptcp_set_timeout(sk, ssk); release_sock(ssk); - goto wait_for_sndbuf; + goto restart; } } } @@ -1127,8 +1130,11 @@ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); /* still data outstanding at TCP level? Don't retransmit. */ - if (!tcp_write_queue_empty(ssk)) + if (!tcp_write_queue_empty(ssk)) { + if (inet_csk(ssk)->icsk_ca_state >= TCP_CA_Loss) + continue; return NULL; + } if (subflow->backup) { if (!backup) @@ -1475,6 +1481,8 @@ sock_reset_flag(nsk, SOCK_RCU_FREE); /* will be fully established after successful MPC subflow creation */ inet_sk_state_store(nsk, TCP_SYN_RECV); + + security_inet_csk_clone(nsk, req); bh_unlock_sock(nsk); /* keep a single reference */ @@ -1554,6 +1562,48 @@ sk_sockets_allocated_dec(sk); } +static bool mptcp_unsupported(int level, int optname) +{ + if (level == SOL_IP) { + switch (optname) { + case IP_ADD_MEMBERSHIP: + case IP_ADD_SOURCE_MEMBERSHIP: + case IP_DROP_MEMBERSHIP: + case IP_DROP_SOURCE_MEMBERSHIP: + case IP_BLOCK_SOURCE: + case IP_UNBLOCK_SOURCE: + case MCAST_JOIN_GROUP: + case MCAST_LEAVE_GROUP: + case MCAST_JOIN_SOURCE_GROUP: + case MCAST_LEAVE_SOURCE_GROUP: + case MCAST_BLOCK_SOURCE: + case MCAST_UNBLOCK_SOURCE: + case MCAST_MSFILTER: + return true; + } + return false; + } + if (level == SOL_IPV6) { + switch (optname) { + case IPV6_ADDRFORM: + case IPV6_ADD_MEMBERSHIP: + case IPV6_DROP_MEMBERSHIP: + case IPV6_JOIN_ANYCAST: + case IPV6_LEAVE_ANYCAST: + case MCAST_JOIN_GROUP: + case MCAST_LEAVE_GROUP: + case MCAST_JOIN_SOURCE_GROUP: + case MCAST_LEAVE_SOURCE_GROUP: + case MCAST_BLOCK_SOURCE: + case MCAST_UNBLOCK_SOURCE: + case MCAST_MSFILTER: + return true; + } + return false; + } + return false; +} + static int mptcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval, unsigned int optlen) { @@ -1562,6 +1612,9 @@ pr_debug("msk=%p", msk); + if (mptcp_unsupported(level, optname)) + return -ENOPROTOOPT; + /* @@ the meaning of setsockopt() when the socket is connected and * there are multiple subflows is not yet defined. It is up to the * MPTCP-level socket to configure the subflows until the subflow --- linux-riscv-5.8-5.8.0.orig/net/mptcp/protocol.h +++ linux-riscv-5.8-5.8.0/net/mptcp/protocol.h @@ -199,6 +199,7 @@ u32 token; unsigned long flags; bool can_ack; + bool use_64bit_ack; /* Set when we received a 64-bit DSN */ spinlock_t join_list_lock; struct work_struct work; struct list_head conn_list; @@ -285,7 +286,6 @@ data_avail : 1, rx_eof : 1, data_fin_tx_enable : 1, - use_64bit_ack : 1, /* Set when we received a 64-bit DSN */ can_ack : 1; /* only after processing the remote a key */ u64 data_fin_tx_seq; u32 remote_nonce; --- linux-riscv-5.8-5.8.0.orig/net/mptcp/subflow.c +++ linux-riscv-5.8-5.8.0/net/mptcp/subflow.c @@ -337,6 +337,11 @@ if (!ipv6_unicast_destination(skb)) goto drop; + if (ipv6_addr_v4mapped(&ipv6_hdr(skb)->saddr)) { + __IP6_INC_STATS(sock_net(sk), NULL, IPSTATS_MIB_INHDRERRORS); + return 0; + } + return tcp_conn_request(&subflow_request_sock_ops, &subflow_request_sock_ipv6_ops, sk, skb); @@ -682,12 +687,11 @@ if (!mpext->dsn64) { map_seq = expand_seq(subflow->map_seq, subflow->map_data_len, mpext->data_seq); - subflow->use_64bit_ack = 0; pr_debug("expanded seq=%llu", subflow->map_seq); } else { map_seq = mpext->data_seq; - subflow->use_64bit_ack = 1; } + WRITE_ONCE(mptcp_sk(subflow->conn)->use_64bit_ack, !!mpext->dsn64); if (subflow->map_valid) { /* Allow replacing only with an identical map */ --- linux-riscv-5.8-5.8.0.orig/net/ncsi/ncsi-manage.c +++ linux-riscv-5.8-5.8.0/net/ncsi/ncsi-manage.c @@ -105,13 +105,20 @@ monitor_state = nc->monitor.state; spin_unlock_irqrestore(&nc->lock, flags); - if (!enabled || chained) { - ncsi_stop_channel_monitor(nc); - return; - } + if (!enabled) + return; /* expected race disabling timer */ + if (WARN_ON_ONCE(chained)) + goto bad_state; + if (state != NCSI_CHANNEL_INACTIVE && state != NCSI_CHANNEL_ACTIVE) { - ncsi_stop_channel_monitor(nc); +bad_state: + netdev_warn(ndp->ndev.dev, + "Bad NCSI monitor state channel %d 0x%x %s queue\n", + nc->id, state, chained ? "on" : "off"); + spin_lock_irqsave(&nc->lock, flags); + nc->monitor.enabled = false; + spin_unlock_irqrestore(&nc->lock, flags); return; } @@ -136,10 +143,9 @@ ncsi_report_link(ndp, true); ndp->flags |= NCSI_DEV_RESHUFFLE; - ncsi_stop_channel_monitor(nc); - ncm = &nc->modes[NCSI_MODE_LINK]; spin_lock_irqsave(&nc->lock, flags); + nc->monitor.enabled = false; nc->state = NCSI_CHANNEL_INVISIBLE; ncm->data[2] &= ~0x1; spin_unlock_irqrestore(&nc->lock, flags); @@ -1726,9 +1732,6 @@ ndp->ptype.dev = dev; dev_add_pack(&ndp->ptype); - /* Set up generic netlink interface */ - ncsi_init_netlink(dev); - pdev = to_platform_device(dev->dev.parent); if (pdev) { np = pdev->dev.of_node; @@ -1892,8 +1895,6 @@ list_del_rcu(&ndp->node); spin_unlock_irqrestore(&ncsi_dev_lock, flags); - ncsi_unregister_netlink(nd->dev); - kfree(ndp); } EXPORT_SYMBOL_GPL(ncsi_unregister_dev); --- linux-riscv-5.8-5.8.0.orig/net/ncsi/ncsi-netlink.c +++ linux-riscv-5.8-5.8.0/net/ncsi/ncsi-netlink.c @@ -766,24 +766,8 @@ .n_ops = ARRAY_SIZE(ncsi_ops), }; -int ncsi_init_netlink(struct net_device *dev) +static int __init ncsi_init_netlink(void) { - int rc; - - rc = genl_register_family(&ncsi_genl_family); - if (rc) - netdev_err(dev, "ncsi: failed to register netlink family\n"); - - return rc; -} - -int ncsi_unregister_netlink(struct net_device *dev) -{ - int rc; - - rc = genl_unregister_family(&ncsi_genl_family); - if (rc) - netdev_err(dev, "ncsi: failed to unregister netlink family\n"); - - return rc; + return genl_register_family(&ncsi_genl_family); } +subsys_initcall(ncsi_init_netlink); --- linux-riscv-5.8-5.8.0.orig/net/ncsi/ncsi-netlink.h +++ linux-riscv-5.8-5.8.0/net/ncsi/ncsi-netlink.h @@ -22,7 +22,4 @@ struct nlmsghdr *nlhdr, int err); -int ncsi_init_netlink(struct net_device *dev); -int ncsi_unregister_netlink(struct net_device *dev); - #endif /* __NCSI_NETLINK_H__ */ --- linux-riscv-5.8-5.8.0.orig/net/ncsi/ncsi-rsp.c +++ linux-riscv-5.8-5.8.0/net/ncsi/ncsi-rsp.c @@ -1120,7 +1120,7 @@ int payload, i, ret; /* Find the NCSI device */ - nd = ncsi_find_dev(dev); + nd = ncsi_find_dev(orig_dev); ndp = nd ? TO_NCSI_DEV_PRIV(nd) : NULL; if (!ndp) return -ENODEV; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/ipset/ip_set_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/ipset/ip_set_core.c @@ -286,8 +286,7 @@ static const struct nla_policy ipaddr_policy[IPSET_ATTR_IPADDR_MAX + 1] = { [IPSET_ATTR_IPADDR_IPV4] = { .type = NLA_U32 }, - [IPSET_ATTR_IPADDR_IPV6] = { .type = NLA_BINARY, - .len = sizeof(struct in6_addr) }, + [IPSET_ATTR_IPADDR_IPV6] = NLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)), }; int @@ -652,13 +651,14 @@ if (SET_WITH_COUNTER(set)) { struct ip_set_counter *counter = ext_counter(data, set); + ip_set_update_counter(counter, ext, flags); + if (flags & IPSET_FLAG_MATCH_COUNTERS && !(ip_set_match_counter(ip_set_get_packets(counter), mext->packets, mext->packets_op) && ip_set_match_counter(ip_set_get_bytes(counter), mext->bytes, mext->bytes_op))) return false; - ip_set_update_counter(counter, ext, flags); } if (SET_WITH_SKBINFO(set)) ip_set_get_skbinfo(ext_skbinfo(data, set), --- linux-riscv-5.8-5.8.0.orig/net/netfilter/ipset/ip_set_hash_gen.h +++ linux-riscv-5.8-5.8.0/net/netfilter/ipset/ip_set_hash_gen.h @@ -143,20 +143,6 @@ return hsize * sizeof(struct hbucket *) + sizeof(struct htable); } -/* Compute htable_bits from the user input parameter hashsize */ -static u8 -htable_bits(u32 hashsize) -{ - /* Assume that hashsize == 2^htable_bits */ - u8 bits = fls(hashsize - 1); - - if (jhash_size(bits) != hashsize) - /* Round up to the first 2^n value */ - bits = fls(hashsize); - - return bits; -} - #ifdef IP_SET_HASH_WITH_NETS #if IPSET_NET_COUNT > 1 #define __CIDR(cidr, i) (cidr[i]) @@ -644,7 +630,7 @@ struct htype *h = set->data; struct htable *t, *orig; u8 htable_bits; - size_t dsize = set->dsize; + size_t hsize, dsize = set->dsize; #ifdef IP_SET_HASH_WITH_NETS u8 flags; struct mtype_elem *tmp; @@ -668,14 +654,12 @@ retry: ret = 0; htable_bits++; - if (!htable_bits) { - /* In case we have plenty of memory :-) */ - pr_warn("Cannot increase the hashsize of set %s further\n", - set->name); - ret = -IPSET_ERR_HASH_FULL; - goto out; - } - t = ip_set_alloc(htable_size(htable_bits)); + if (!htable_bits) + goto hbwarn; + hsize = htable_size(htable_bits); + if (!hsize) + goto hbwarn; + t = ip_set_alloc(hsize); if (!t) { ret = -ENOMEM; goto out; @@ -817,6 +801,12 @@ if (ret == -EAGAIN) goto retry; goto out; + +hbwarn: + /* In case we have plenty of memory :-) */ + pr_warn("Cannot increase the hashsize of set %s further\n", set->name); + ret = -IPSET_ERR_HASH_FULL; + goto out; } /* Get the current number of elements and ext_size in the set */ @@ -1520,7 +1510,11 @@ if (!h) return -ENOMEM; - hbits = htable_bits(hashsize); + /* Compute htable_bits from the user input parameter hashsize. + * Assume that hashsize == 2^htable_bits, + * otherwise round up to the first 2^n value. + */ + hbits = fls(hashsize - 1); hsize = htable_size(hbits); if (hsize == 0) { kfree(h); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/ipvs/ip_vs_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/ipvs/ip_vs_core.c @@ -748,12 +748,12 @@ struct dst_entry *dst = skb_dst(skb); if (dst->dev && !(dst->dev->flags & IFF_LOOPBACK) && - ip6_route_me_harder(ipvs->net, skb) != 0) + ip6_route_me_harder(ipvs->net, skb->sk, skb) != 0) return 1; } else #endif if (!(skb_rtable(skb)->rt_flags & RTCF_LOCAL) && - ip_route_me_harder(ipvs->net, skb, RTN_LOCAL) != 0) + ip_route_me_harder(ipvs->net, skb->sk, skb, RTN_LOCAL) != 0) return 1; return 0; @@ -2066,14 +2066,14 @@ conn_reuse_mode = sysctl_conn_reuse_mode(ipvs); if (conn_reuse_mode && !iph.fragoffs && is_new_conn(skb, &iph) && cp) { - bool uses_ct = false, resched = false; + bool old_ct = false, resched = false; if (unlikely(sysctl_expire_nodest_conn(ipvs)) && cp->dest && unlikely(!atomic_read(&cp->dest->weight))) { resched = true; - uses_ct = ip_vs_conn_uses_conntrack(cp, skb); + old_ct = ip_vs_conn_uses_old_conntrack(cp, skb); } else if (is_new_conn_expected(cp, conn_reuse_mode)) { - uses_ct = ip_vs_conn_uses_conntrack(cp, skb); + old_ct = ip_vs_conn_uses_old_conntrack(cp, skb); if (!atomic_read(&cp->n_control)) { resched = true; } else { @@ -2081,15 +2081,17 @@ * that uses conntrack while it is still * referenced by controlled connection(s). */ - resched = !uses_ct; + resched = !old_ct; } } if (resched) { + if (!old_ct) + cp->flags &= ~IP_VS_CONN_F_NFCT; if (!atomic_read(&cp->n_control)) ip_vs_conn_expire_now(cp); __ip_vs_conn_put(cp); - if (uses_ct) + if (old_ct) return NF_DROP; cp = NULL; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/ipvs/ip_vs_ctl.c +++ linux-riscv-5.8-5.8.0/net/netfilter/ipvs/ip_vs_ctl.c @@ -2471,6 +2471,10 @@ /* Set timeout values for (tcp tcpfin udp) */ ret = ip_vs_set_timeout(ipvs, (struct ip_vs_timeout_user *)arg); goto out_unlock; + } else if (!len) { + /* No more commands with len == 0 below */ + ret = -EINVAL; + goto out_unlock; } usvc_compat = (struct ip_vs_service_user *)arg; @@ -2547,9 +2551,6 @@ break; case IP_VS_SO_SET_DELDEST: ret = ip_vs_del_dest(svc, &udest); - break; - default: - ret = -EINVAL; } out_unlock: @@ -4123,12 +4124,18 @@ spin_lock_init(&ipvs->tot_stats.lock); - proc_create_net("ip_vs", 0, ipvs->net->proc_net, &ip_vs_info_seq_ops, - sizeof(struct ip_vs_iter)); - proc_create_net_single("ip_vs_stats", 0, ipvs->net->proc_net, - ip_vs_stats_show, NULL); - proc_create_net_single("ip_vs_stats_percpu", 0, ipvs->net->proc_net, - ip_vs_stats_percpu_show, NULL); +#ifdef CONFIG_PROC_FS + if (!proc_create_net("ip_vs", 0, ipvs->net->proc_net, + &ip_vs_info_seq_ops, sizeof(struct ip_vs_iter))) + goto err_vs; + if (!proc_create_net_single("ip_vs_stats", 0, ipvs->net->proc_net, + ip_vs_stats_show, NULL)) + goto err_stats; + if (!proc_create_net_single("ip_vs_stats_percpu", 0, + ipvs->net->proc_net, + ip_vs_stats_percpu_show, NULL)) + goto err_percpu; +#endif if (ip_vs_control_net_init_sysctl(ipvs)) goto err; @@ -4136,6 +4143,17 @@ return 0; err: +#ifdef CONFIG_PROC_FS + remove_proc_entry("ip_vs_stats_percpu", ipvs->net->proc_net); + +err_percpu: + remove_proc_entry("ip_vs_stats", ipvs->net->proc_net); + +err_stats: + remove_proc_entry("ip_vs", ipvs->net->proc_net); + +err_vs: +#endif free_percpu(ipvs->tot_stats.cpustats); return -ENOMEM; } @@ -4144,9 +4162,11 @@ { ip_vs_trash_cleanup(ipvs); ip_vs_control_net_cleanup_sysctl(ipvs); +#ifdef CONFIG_PROC_FS remove_proc_entry("ip_vs_stats_percpu", ipvs->net->proc_net); remove_proc_entry("ip_vs_stats", ipvs->net->proc_net); remove_proc_entry("ip_vs", ipvs->net->proc_net); +#endif free_percpu(ipvs->tot_stats.cpustats); } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/ipvs/ip_vs_xmit.c +++ linux-riscv-5.8-5.8.0/net/netfilter/ipvs/ip_vs_xmit.c @@ -609,6 +609,8 @@ if (ret == NF_ACCEPT) { nf_reset_ct(skb); skb_forward_csum(skb); + if (skb->dev) + skb->tstamp = 0; } return ret; } @@ -649,6 +651,8 @@ if (!local) { skb_forward_csum(skb); + if (skb->dev) + skb->tstamp = 0; NF_HOOK(pf, NF_INET_LOCAL_OUT, cp->ipvs->net, NULL, skb, NULL, skb_dst(skb)->dev, dst_output); } else @@ -669,6 +673,8 @@ if (!local) { ip_vs_drop_early_demux_sk(skb); skb_forward_csum(skb); + if (skb->dev) + skb->tstamp = 0; NF_HOOK(pf, NF_INET_LOCAL_OUT, cp->ipvs->net, NULL, skb, NULL, skb_dst(skb)->dev, dst_output); } else --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_core.c @@ -1229,7 +1229,8 @@ * Let nf_ct_resolve_clash() deal with this later. */ if (nf_ct_tuple_equal(&ignored_conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple, - &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple)) + &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple) && + nf_ct_zone_equal(ct, zone, IP_CT_DIR_ORIGINAL)) continue; NF_CT_STAT_INC_ATOMIC(net, found); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_netlink.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_netlink.c @@ -331,10 +331,15 @@ 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; @@ -343,13 +348,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 @@ -647,11 +652,16 @@ { #ifdef CONFIG_NF_CONNTRACK_SECMARK int len, ret; + struct lsmblob blob; + struct lsmcontext context; - ret = security_secid_to_secctx(ct->secmark, NULL, &len); + ret = security_secid_to_secctx(&blob, &context, LSMBLOB_DISPLAY); if (ret) return 0; + len = context.len; + security_release_secctx(&context); + return nla_total_size(0) /* CTA_SECCTX */ + nla_total_size(sizeof(char) * len); /* CTA_SECCTX_NAME */ #else @@ -851,7 +861,6 @@ } struct ctnetlink_filter { - u_int32_t cta_flags; u8 family; u_int32_t orig_flags; @@ -906,10 +915,6 @@ struct nf_conntrack_zone *zone, u_int32_t flags); -/* applied on filters */ -#define CTA_FILTER_F_CTA_MARK (1 << 0) -#define CTA_FILTER_F_CTA_MARK_MASK (1 << 1) - static struct ctnetlink_filter * ctnetlink_alloc_filter(const struct nlattr * const cda[], u8 family) { @@ -930,14 +935,10 @@ #ifdef CONFIG_NF_CONNTRACK_MARK if (cda[CTA_MARK]) { filter->mark.val = ntohl(nla_get_be32(cda[CTA_MARK])); - filter->cta_flags |= CTA_FILTER_FLAG(CTA_MARK); - - if (cda[CTA_MARK_MASK]) { + if (cda[CTA_MARK_MASK]) filter->mark.mask = ntohl(nla_get_be32(cda[CTA_MARK_MASK])); - filter->cta_flags |= CTA_FILTER_FLAG(CTA_MARK_MASK); - } else { + else filter->mark.mask = 0xffffffff; - } } else if (cda[CTA_MARK_MASK]) { err = -EINVAL; goto err_filter; @@ -1117,11 +1118,7 @@ } #ifdef CONFIG_NF_CONNTRACK_MARK - if ((filter->cta_flags & CTA_FILTER_FLAG(CTA_MARK_MASK)) && - (ct->mark & filter->mark.mask) != filter->mark.val) - goto ignore_entry; - else if ((filter->cta_flags & CTA_FILTER_FLAG(CTA_MARK)) && - ct->mark != filter->mark.val) + if ((ct->mark & filter->mark.mask) != filter->mark.val) goto ignore_entry; #endif @@ -1404,7 +1401,8 @@ if (err < 0) return err; - + if (l3num != NFPROTO_IPV4 && l3num != NFPROTO_IPV6) + return -EOPNOTSUPP; tuple->src.l3num = l3num; if (flags & CTA_FILTER_FLAG(CTA_IP_DST) || @@ -2971,6 +2969,7 @@ memset(&m, 0xFF, sizeof(m)); memcpy(&m.src.u3, &mask->src.u3, sizeof(m.src.u3)); m.src.u.all = mask->src.u.all; + m.src.l3num = tuple->src.l3num; m.dst.protonum = tuple->dst.protonum; nest_parms = nla_nest_start(skb, CTA_EXPECT_MASK); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_proto.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_proto.c @@ -565,6 +565,7 @@ int err; err = nf_ct_netns_do_get(net, NFPROTO_IPV4); +#if IS_ENABLED(CONFIG_IPV6) if (err < 0) goto err1; err = nf_ct_netns_do_get(net, NFPROTO_IPV6); @@ -575,6 +576,7 @@ err2: nf_ct_netns_put(net, NFPROTO_IPV4); err1: +#endif return err; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_proto_gre.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_proto_gre.c @@ -218,9 +218,6 @@ enum ip_conntrack_info ctinfo, const struct nf_hook_state *state) { - if (state->pf != NFPROTO_IPV4) - return -NF_ACCEPT; - if (!nf_ct_is_confirmed(ct)) { unsigned int *timeouts = nf_ct_timeout_lookup(ct); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_proto_sctp.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_proto_sctp.c @@ -62,6 +62,8 @@ [SCTP_CONNTRACK_HEARTBEAT_ACKED] = 210 SECS, }; +#define SCTP_FLAG_HEARTBEAT_VTAG_FAILED 1 + #define sNO SCTP_CONNTRACK_NONE #define sCL SCTP_CONNTRACK_CLOSED #define sCW SCTP_CONNTRACK_COOKIE_WAIT @@ -369,6 +371,7 @@ u_int32_t offset, count; unsigned int *timeouts; unsigned long map[256 / sizeof(unsigned long)] = { 0 }; + bool ignore = false; if (sctp_error(skb, dataoff, state)) return -NF_ACCEPT; @@ -427,15 +430,39 @@ /* Sec 8.5.1 (D) */ if (sh->vtag != ct->proto.sctp.vtag[dir]) goto out_unlock; - } else if (sch->type == SCTP_CID_HEARTBEAT || - sch->type == SCTP_CID_HEARTBEAT_ACK) { + } else if (sch->type == SCTP_CID_HEARTBEAT) { + if (ct->proto.sctp.vtag[dir] == 0) { + pr_debug("Setting %d vtag %x for dir %d\n", sch->type, sh->vtag, dir); + ct->proto.sctp.vtag[dir] = sh->vtag; + } else if (sh->vtag != ct->proto.sctp.vtag[dir]) { + if (test_bit(SCTP_CID_DATA, map) || ignore) + goto out_unlock; + + ct->proto.sctp.flags |= SCTP_FLAG_HEARTBEAT_VTAG_FAILED; + ct->proto.sctp.last_dir = dir; + ignore = true; + continue; + } else if (ct->proto.sctp.flags & SCTP_FLAG_HEARTBEAT_VTAG_FAILED) { + ct->proto.sctp.flags &= ~SCTP_FLAG_HEARTBEAT_VTAG_FAILED; + } + } else if (sch->type == SCTP_CID_HEARTBEAT_ACK) { if (ct->proto.sctp.vtag[dir] == 0) { pr_debug("Setting vtag %x for dir %d\n", sh->vtag, dir); ct->proto.sctp.vtag[dir] = sh->vtag; } else if (sh->vtag != ct->proto.sctp.vtag[dir]) { - pr_debug("Verification tag check failed\n"); - goto out_unlock; + if (test_bit(SCTP_CID_DATA, map) || ignore) + goto out_unlock; + + if ((ct->proto.sctp.flags & SCTP_FLAG_HEARTBEAT_VTAG_FAILED) == 0 || + ct->proto.sctp.last_dir == dir) + goto out_unlock; + + ct->proto.sctp.flags &= ~SCTP_FLAG_HEARTBEAT_VTAG_FAILED; + ct->proto.sctp.vtag[dir] = sh->vtag; + ct->proto.sctp.vtag[!dir] = 0; + } else if (ct->proto.sctp.flags & SCTP_FLAG_HEARTBEAT_VTAG_FAILED) { + ct->proto.sctp.flags &= ~SCTP_FLAG_HEARTBEAT_VTAG_FAILED; } } @@ -470,6 +497,10 @@ } spin_unlock_bh(&ct->lock); + /* allow but do not refresh timeout */ + if (ignore) + return NF_ACCEPT; + timeouts = nf_ct_timeout_lookup(ct); if (!timeouts) timeouts = nf_sctp_pernet(nf_ct_net(ct))->timeouts; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_proto_tcp.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_proto_tcp.c @@ -541,13 +541,20 @@ swin = win << sender->td_scale; sender->td_maxwin = (swin == 0 ? 1 : swin); sender->td_maxend = end + sender->td_maxwin; - /* - * We haven't seen traffic in the other direction yet - * but we have to tweak window tracking to pass III - * and IV until that happens. - */ - if (receiver->td_maxwin == 0) + if (receiver->td_maxwin == 0) { + /* We haven't seen traffic in the other + * direction yet but we have to tweak window + * tracking to pass III and IV until that + * happens. + */ receiver->td_end = receiver->td_maxend = sack; + } else if (sack == receiver->td_end + 1) { + /* Likely a reply to a keepalive. + * Needed for III. + */ + receiver->td_end++; + } + } } else if (((state->state == TCP_CONNTRACK_SYN_SENT && dir == IP_CT_DIR_ORIGINAL) --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_proto_udp.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_proto_udp.c @@ -81,18 +81,6 @@ return false; } -static void nf_conntrack_udp_refresh_unreplied(struct nf_conn *ct, - struct sk_buff *skb, - enum ip_conntrack_info ctinfo, - u32 extra_jiffies) -{ - if (unlikely(ctinfo == IP_CT_ESTABLISHED_REPLY && - ct->status & IPS_NAT_CLASH)) - nf_ct_kill(ct); - else - nf_ct_refresh_acct(ct, ctinfo, skb, extra_jiffies); -} - /* Returns verdict for packet, and may modify conntracktype */ int nf_conntrack_udp_packet(struct nf_conn *ct, struct sk_buff *skb, @@ -124,12 +112,15 @@ nf_ct_refresh_acct(ct, ctinfo, skb, extra); + /* never set ASSURED for IPS_NAT_CLASH, they time out soon */ + if (unlikely((ct->status & IPS_NAT_CLASH))) + return NF_ACCEPT; + /* Also, more likely to be important, and not a probe */ if (!test_and_set_bit(IPS_ASSURED_BIT, &ct->status)) nf_conntrack_event_cache(IPCT_ASSURED, ct); } else { - nf_conntrack_udp_refresh_unreplied(ct, skb, ctinfo, - timeouts[UDP_CT_UNREPLIED]); + nf_ct_refresh_acct(ct, ctinfo, skb, timeouts[UDP_CT_UNREPLIED]); } return NF_ACCEPT; } @@ -206,12 +197,15 @@ if (test_bit(IPS_SEEN_REPLY_BIT, &ct->status)) { nf_ct_refresh_acct(ct, ctinfo, skb, timeouts[UDP_CT_REPLIED]); + + if (unlikely((ct->status & IPS_NAT_CLASH))) + return NF_ACCEPT; + /* Also, more likely to be important, and not a probe */ if (!test_and_set_bit(IPS_ASSURED_BIT, &ct->status)) nf_conntrack_event_cache(IPCT_ASSURED, ct); } else { - nf_conntrack_udp_refresh_unreplied(ct, skb, ctinfo, - timeouts[UDP_CT_UNREPLIED]); + nf_ct_refresh_acct(ct, ctinfo, skb, timeouts[UDP_CT_UNREPLIED]); } return NF_ACCEPT; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_conntrack_standalone.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_conntrack_standalone.c @@ -173,16 +173,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) @@ -266,6 +267,7 @@ case IPPROTO_GRE: return "gre"; case IPPROTO_SCTP: return "sctp"; case IPPROTO_UDPLITE: return "udplite"; + case IPPROTO_ICMPV6: return "icmpv6"; } return "unknown"; @@ -523,6 +525,9 @@ { int ret; + /* module_param hashsize could have changed value */ + nf_conntrack_htable_size_user = nf_conntrack_htable_size; + ret = proc_dointvec(table, write, buffer, lenp, ppos); if (ret < 0 || !write) return ret; @@ -1056,16 +1061,10 @@ nf_conntrack_standalone_init_dccp_sysctl(net, table); nf_conntrack_standalone_init_gre_sysctl(net, table); - /* Don't allow unprivileged users to alter certain sysctls */ - if (net->user_ns != &init_user_ns) { + /* Don't allow non-init_net ns to alter global sysctls */ + if (!net_eq(&init_net, net)) { table[NF_SYSCTL_CT_MAX].mode = 0444; table[NF_SYSCTL_CT_EXPECT_MAX].mode = 0444; - table[NF_SYSCTL_CT_HELPER].mode = 0444; -#ifdef CONFIG_NF_CONNTRACK_EVENTS - table[NF_SYSCTL_CT_EVENTS].mode = 0444; -#endif - table[NF_SYSCTL_CT_BUCKETS].mode = 0444; - } else if (!net_eq(&init_net, net)) { table[NF_SYSCTL_CT_BUCKETS].mode = 0444; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_dup_netdev.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_dup_netdev.c @@ -19,6 +19,7 @@ skb_push(skb, skb->mac_len); skb->dev = dev; + skb->tstamp = 0; dev_queue_xmit(skb); } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_flow_table_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_flow_table_core.c @@ -398,7 +398,7 @@ return -1; tcph = (void *)(skb_network_header(skb) + thoff); - inet_proto_csum_replace2(&tcph->check, skb, port, new_port, true); + inet_proto_csum_replace2(&tcph->check, skb, port, new_port, false); return 0; } @@ -415,7 +415,7 @@ udph = (void *)(skb_network_header(skb) + thoff); if (udph->check || skb->ip_summed == CHECKSUM_PARTIAL) { inet_proto_csum_replace2(&udph->check, skb, port, - new_port, true); + new_port, false); if (!udph->check) udph->check = CSUM_MANGLED_0; } @@ -508,7 +508,7 @@ { int err; - INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); + INIT_DELAYED_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); flow_block_init(&flowtable->flow_block); init_rwsem(&flowtable->flow_block_lock); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_flow_table_offload.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_flow_table_offload.c @@ -305,12 +305,12 @@ const __be32 *addr, const __be32 *mask) { struct flow_action_entry *entry; - int i; + int i, j; - for (i = 0; i < sizeof(struct in6_addr) / sizeof(u32); i += sizeof(u32)) { + for (i = 0, j = 0; i < sizeof(struct in6_addr) / sizeof(u32); i += sizeof(u32), j++) { entry = flow_action_entry_next(flow_rule); flow_offload_mangle(entry, FLOW_ACT_MANGLE_HDR_TYPE_IP6, - offset + i, &addr[i], mask); + offset + i, &addr[j], mask); } } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_log_common.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_log_common.c @@ -171,6 +171,18 @@ } EXPORT_SYMBOL_GPL(nf_log_dump_packet_common); +void nf_log_dump_vlan(struct nf_log_buf *m, const struct sk_buff *skb) +{ + u16 vid; + + if (!skb_vlan_tag_present(skb)) + return; + + vid = skb_vlan_tag_get(skb); + nf_log_buf_add(m, "VPROTO=%04x VID=%u ", ntohs(skb->vlan_proto), vid); +} +EXPORT_SYMBOL_GPL(nf_log_dump_vlan); + /* bridge and netdev logging families share this code. */ void nf_log_l2packet(struct net *net, u_int8_t pf, __be16 protocol, --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_nat_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_nat_core.c @@ -1174,6 +1174,7 @@ ret = register_pernet_subsys(&nat_net_ops); if (ret < 0) { nf_ct_extend_unregister(&nat_extend); + kvfree(nf_nat_bysource); return ret; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_nat_proto.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_nat_proto.c @@ -646,8 +646,8 @@ } static unsigned int -nf_nat_ipv4_in(void *priv, struct sk_buff *skb, - const struct nf_hook_state *state) +nf_nat_ipv4_pre_routing(void *priv, struct sk_buff *skb, + const struct nf_hook_state *state) { unsigned int ret; __be32 daddr = ip_hdr(skb)->daddr; @@ -660,6 +660,23 @@ } static unsigned int +nf_nat_ipv4_local_in(void *priv, struct sk_buff *skb, + const struct nf_hook_state *state) +{ + __be32 saddr = ip_hdr(skb)->saddr; + struct sock *sk = skb->sk; + unsigned int ret; + + ret = nf_nat_ipv4_fn(priv, skb, state); + + if (ret == NF_ACCEPT && sk && saddr != ip_hdr(skb)->saddr && + !inet_sk_transparent(sk)) + skb_orphan(skb); /* TCP edemux obtained wrong socket */ + + return ret; +} + +static unsigned int nf_nat_ipv4_out(void *priv, struct sk_buff *skb, const struct nf_hook_state *state) { @@ -715,7 +732,7 @@ if (ct->tuplehash[dir].tuple.dst.u3.ip != ct->tuplehash[!dir].tuple.src.u3.ip) { - err = ip_route_me_harder(state->net, skb, RTN_UNSPEC); + err = ip_route_me_harder(state->net, state->sk, skb, RTN_UNSPEC); if (err < 0) ret = NF_DROP_ERR(err); } @@ -736,7 +753,7 @@ static const struct nf_hook_ops nf_nat_ipv4_ops[] = { /* Before packet filtering, change destination */ { - .hook = nf_nat_ipv4_in, + .hook = nf_nat_ipv4_pre_routing, .pf = NFPROTO_IPV4, .hooknum = NF_INET_PRE_ROUTING, .priority = NF_IP_PRI_NAT_DST, @@ -757,7 +774,7 @@ }, /* After packet filtering, change source */ { - .hook = nf_nat_ipv4_fn, + .hook = nf_nat_ipv4_local_in, .pf = NFPROTO_IPV4, .hooknum = NF_INET_LOCAL_IN, .priority = NF_IP_PRI_NAT_SRC, @@ -953,7 +970,7 @@ if (!nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3, &ct->tuplehash[!dir].tuple.src.u3)) { - err = nf_ip6_route_me_harder(state->net, skb); + err = nf_ip6_route_me_harder(state->net, state->sk, skb); if (err < 0) ret = NF_DROP_ERR(err); } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_synproxy_core.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_synproxy_core.c @@ -446,7 +446,7 @@ skb_dst_set_noref(nskb, skb_dst(skb)); nskb->protocol = htons(ETH_P_IP); - if (ip_route_me_harder(net, nskb, RTN_UNSPEC)) + if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC)) goto free_nskb; if (nfct) { --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_tables_api.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_tables_api.c @@ -295,7 +295,7 @@ struct nft_expr *expr; expr = nft_expr_first(rule); - while (expr != nft_expr_last(rule) && expr->ops) { + while (nft_expr_more(rule, expr)) { if (expr->ops->activate) expr->ops->activate(ctx, expr); @@ -310,7 +310,7 @@ struct nft_expr *expr; expr = nft_expr_first(rule); - while (expr != nft_expr_last(rule) && expr->ops) { + while (nft_expr_more(rule, expr)) { if (expr->ops->deactivate) expr->ops->deactivate(ctx, expr, phase); @@ -612,7 +612,8 @@ static void lockdep_nfnl_nft_mutex_not_held(void) { #ifdef CONFIG_PROVE_LOCKING - WARN_ON_ONCE(lockdep_nfnl_is_held(NFNL_SUBSYS_NFTABLES)); + if (debug_locks) + WARN_ON_ONCE(lockdep_nfnl_is_held(NFNL_SUBSYS_NFTABLES)); #endif } @@ -797,11 +798,11 @@ nlh->nlmsg_seq, NFT_MSG_NEWTABLE, 0, family, table); if (err < 0) - goto err; + goto err_fill_table_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); -err: +err_fill_table_info: kfree_skb(skb2); return err; } @@ -1527,11 +1528,11 @@ nlh->nlmsg_seq, NFT_MSG_NEWCHAIN, 0, family, table, chain); if (err < 0) - goto err; + goto err_fill_chain_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); -err: +err_fill_chain_info: kfree_skb(skb2); return err; } @@ -2037,7 +2038,7 @@ if (nla[NFTA_CHAIN_HOOK]) { if (!nft_is_base_chain(chain)) - return -EBUSY; + return -EEXIST; err = nft_chain_parse_hook(ctx->net, nla, &hook, ctx->family, false); @@ -2047,21 +2048,21 @@ basechain = nft_base_chain(chain); if (basechain->type != hook.type) { nft_chain_release_hook(&hook); - return -EBUSY; + return -EEXIST; } if (ctx->family == NFPROTO_NETDEV) { if (!nft_hook_list_equal(&basechain->hook_list, &hook.list)) { nft_chain_release_hook(&hook); - return -EBUSY; + return -EEXIST; } } else { ops = &basechain->ops; if (ops->hooknum != hook.num || ops->priority != hook.priority) { nft_chain_release_hook(&hook); - return -EBUSY; + return -EEXIST; } } nft_chain_release_hook(&hook); @@ -2898,11 +2899,11 @@ nlh->nlmsg_seq, NFT_MSG_NEWRULE, 0, family, table, chain, rule, NULL); if (err < 0) - goto err; + goto err_fill_rule_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); -err: +err_fill_rule_info: kfree_skb(skb2); return err; } @@ -2917,7 +2918,7 @@ * is called on error from nf_tables_newrule(). */ expr = nft_expr_first(rule); - while (expr != nft_expr_last(rule) && expr->ops) { + while (nft_expr_more(rule, expr)) { next = nft_expr_next(expr); nf_tables_expr_destroy(ctx, expr); expr = next; @@ -3538,7 +3539,7 @@ return 0; } -static int nf_msecs_to_jiffies64(const struct nlattr *nla, u64 *result) +int nf_msecs_to_jiffies64(const struct nlattr *nla, u64 *result) { u64 ms = be64_to_cpu(nla_get_be64(nla)); u64 max = (u64)(~((u64)0)); @@ -3552,7 +3553,7 @@ return 0; } -static __be64 nf_jiffies64_to_msecs(u64 input) +__be64 nf_jiffies64_to_msecs(u64 input) { return cpu_to_be64(jiffies64_to_msecs(input)); } @@ -3643,7 +3644,8 @@ goto nla_put_failure; } - if (nla_put(skb, NFTA_SET_USERDATA, set->udlen, set->udata)) + if (set->udata && + nla_put(skb, NFTA_SET_USERDATA, set->udlen, set->udata)) goto nla_put_failure; nest = nla_nest_start_noflag(skb, NFTA_SET_DESC); @@ -3828,11 +3830,11 @@ err = nf_tables_fill_set(skb2, &ctx, set, NFT_MSG_NEWSET, 0); if (err < 0) - goto err; + goto err_fill_set_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); -err: +err_fill_set_info: kfree_skb(skb2); return err; } @@ -4720,24 +4722,18 @@ err = -ENOMEM; skb = nlmsg_new(NLMSG_GOODSIZE, GFP_ATOMIC); if (skb == NULL) - goto err1; + return err; err = nf_tables_fill_setelem_info(skb, ctx, ctx->seq, ctx->portid, NFT_MSG_NEWSETELEM, 0, set, &elem); if (err < 0) - goto err2; + goto err_fill_setelem; - err = nfnetlink_unicast(skb, ctx->net, ctx->portid, MSG_DONTWAIT); - /* This avoids a loop in nfnetlink. */ - if (err < 0) - goto err1; + return nfnetlink_unicast(skb, ctx->net, ctx->portid); - return 0; -err2: +err_fill_setelem: kfree_skb(skb); -err1: - /* this avoids a loop in nfnetlink. */ - return err == -EAGAIN ? -ENOBUFS : err; + return err; } /* called with rcu_read_lock held */ @@ -5160,10 +5156,8 @@ if (nft_set_ext_exists(ext, NFT_SET_EXT_DATA) ^ nft_set_ext_exists(ext2, NFT_SET_EXT_DATA) || nft_set_ext_exists(ext, NFT_SET_EXT_OBJREF) ^ - nft_set_ext_exists(ext2, NFT_SET_EXT_OBJREF)) { - err = -EBUSY; + nft_set_ext_exists(ext2, NFT_SET_EXT_OBJREF)) goto err_element_clash; - } if ((nft_set_ext_exists(ext, NFT_SET_EXT_DATA) && nft_set_ext_exists(ext2, NFT_SET_EXT_DATA) && memcmp(nft_set_ext_data(ext), @@ -5171,7 +5165,7 @@ (nft_set_ext_exists(ext, NFT_SET_EXT_OBJREF) && nft_set_ext_exists(ext2, NFT_SET_EXT_OBJREF) && *nft_set_ext_obj(ext) != *nft_set_ext_obj(ext2))) - err = -EBUSY; + goto err_element_clash; else if (!(nlmsg_flags & NLM_F_EXCL)) err = 0; } else if (err == -ENOTEMPTY) { @@ -5993,10 +5987,11 @@ nlh->nlmsg_seq, NFT_MSG_NEWOBJ, 0, family, table, obj, reset); if (err < 0) - goto err; + goto err_fill_obj_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); -err: + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); + +err_fill_obj_info: kfree_skb(skb2); return err; } @@ -6305,10 +6300,13 @@ list_for_each_entry(hook, hook_list, list) { list_for_each_entry(ft, &table->flowtables, list) { + if (!nft_is_active_next(net, ft)) + continue; + list_for_each_entry(hook2, &ft->hook_list, list) { if (hook->ops.dev == hook2->ops.dev && hook->ops.pf == hook2->ops.pf) { - err = -EBUSY; + err = -EEXIST; goto err_unregister_net_hooks; } } @@ -6364,6 +6362,7 @@ struct nft_hook *hook, *next; struct nft_trans *trans; bool unregister = false; + u32 flags; int err; err = nft_flowtable_parse_hook(ctx, nla[NFTA_FLOWTABLE_HOOK], @@ -6378,6 +6377,17 @@ } } + if (nla[NFTA_FLOWTABLE_FLAGS]) { + flags = ntohl(nla_get_be32(nla[NFTA_FLOWTABLE_FLAGS])); + if (flags & ~NFT_FLOWTABLE_MASK) + return -EOPNOTSUPP; + if ((flowtable->data.flags & NFT_FLOWTABLE_HW_OFFLOAD) ^ + (flags & NFT_FLOWTABLE_HW_OFFLOAD)) + return -EOPNOTSUPP; + } else { + flags = flowtable->data.flags; + } + err = nft_register_flowtable_net_hooks(ctx->net, ctx->table, &flowtable_hook.list, flowtable); if (err < 0) @@ -6391,6 +6401,7 @@ goto err_flowtable_update_hook; } + nft_trans_flowtable_flags(trans) = flags; nft_trans_flowtable(trans) = flowtable; nft_trans_flowtable_update(trans) = true; INIT_LIST_HEAD(&nft_trans_flowtable_hooks(trans)); @@ -6485,8 +6496,10 @@ if (nla[NFTA_FLOWTABLE_FLAGS]) { flowtable->data.flags = ntohl(nla_get_be32(nla[NFTA_FLOWTABLE_FLAGS])); - if (flowtable->data.flags & ~NFT_FLOWTABLE_MASK) + if (flowtable->data.flags & ~NFT_FLOWTABLE_MASK) { + err = -EOPNOTSUPP; goto err3; + } } write_pnet(&flowtable->data.net, net); @@ -6845,10 +6858,11 @@ NFT_MSG_NEWFLOWTABLE, 0, family, flowtable, &flowtable->hook_list); if (err < 0) - goto err; + goto err_fill_flowtable_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); -err: + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); + +err_fill_flowtable_info: kfree_skb(skb2); return err; } @@ -6861,7 +6875,7 @@ struct sk_buff *skb; int err; - if (ctx->report && + if (!ctx->report && !nfnetlink_has_listeners(ctx->net, NFNLGRP_NFTABLES)) return; @@ -6981,7 +6995,7 @@ struct sk_buff *skb2; int err; - if (nlmsg_report(nlh) && + if (!nlmsg_report(nlh) && !nfnetlink_has_listeners(net, NFNLGRP_NFTABLES)) return; @@ -7019,10 +7033,11 @@ err = nf_tables_fill_gen_info(skb2, net, NETLINK_CB(skb).portid, nlh->nlmsg_seq); if (err < 0) - goto err; + goto err_fill_gen_info; - return nlmsg_unicast(nlsk, skb2, NETLINK_CB(skb).portid); -err: + return nfnetlink_unicast(skb2, net, NETLINK_CB(skb).portid); + +err_fill_gen_info: kfree_skb(skb2); return err; } @@ -7290,6 +7305,12 @@ } } +void nf_tables_trans_destroy_flush_work(void) +{ + flush_work(&trans_destroy_work); +} +EXPORT_SYMBOL_GPL(nf_tables_trans_destroy_flush_work); + static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *chain) { struct nft_rule *rule; @@ -7472,9 +7493,9 @@ spin_unlock(&nf_tables_destroy_list_lock); nf_tables_module_autoload_cleanup(net); - mutex_unlock(&net->nft.commit_mutex); - schedule_work(&trans_destroy_work); + + mutex_unlock(&net->nft.commit_mutex); } static int nf_tables_commit(struct net *net, struct sk_buff *skb) @@ -7641,6 +7662,8 @@ break; case NFT_MSG_NEWFLOWTABLE: if (nft_trans_flowtable_update(trans)) { + nft_trans_flowtable(trans)->data.flags = + nft_trans_flowtable_flags(trans); nf_tables_flowtable_notify(&trans->ctx, nft_trans_flowtable(trans), &nft_trans_flowtable_hooks(trans), @@ -7732,12 +7755,16 @@ kfree(trans); } -static int __nf_tables_abort(struct net *net, bool autoload) +static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) { struct nft_trans *trans, *next; struct nft_trans_elem *te; struct nft_hook *hook; + if (action == NFNL_ABORT_VALIDATE && + nf_tables_validate(net) < 0) + return -EAGAIN; + list_for_each_entry_safe_reverse(trans, next, &net->nft.commit_list, list) { switch (trans->msg_type) { @@ -7865,7 +7892,7 @@ nf_tables_abort_release(trans); } - if (autoload) + if (action == NFNL_ABORT_AUTOLOAD) nf_tables_module_autoload(net); else nf_tables_module_autoload_cleanup(net); @@ -7878,9 +7905,10 @@ nft_validate_state_update(net, NFT_VALIDATE_SKIP); } -static int nf_tables_abort(struct net *net, struct sk_buff *skb, bool autoload) +static int nf_tables_abort(struct net *net, struct sk_buff *skb, + enum nfnl_abort_action action) { - int ret = __nf_tables_abort(net, autoload); + int ret = __nf_tables_abort(net, action); mutex_unlock(&net->nft.commit_mutex); @@ -8417,6 +8445,17 @@ } EXPORT_SYMBOL_GPL(__nft_release_basechain); +static void __nft_release_hooks(struct net *net) +{ + struct nft_table *table; + struct nft_chain *chain; + + list_for_each_entry(table, &net->nft.tables, list) { + list_for_each_entry(chain, &table->chains, list) + nf_tables_unregister_hook(net, table, chain); + } +} + static void __nft_release_tables(struct net *net) { struct nft_flowtable *flowtable, *nf; @@ -8432,10 +8471,6 @@ list_for_each_entry_safe(table, nt, &net->nft.tables, list) { ctx.family = table->family; - - list_for_each_entry(chain, &table->chains, list) - nf_tables_unregister_hook(net, table, chain); - /* No packets are walking on these chains anymore. */ ctx.table = table; list_for_each_entry(chain, &table->chains, list) { ctx.chain = chain; @@ -8483,11 +8518,16 @@ return 0; } +static void __net_exit nf_tables_pre_exit_net(struct net *net) +{ + __nft_release_hooks(net); +} + static void __net_exit nf_tables_exit_net(struct net *net) { mutex_lock(&net->nft.commit_mutex); if (!list_empty(&net->nft.commit_list)) - __nf_tables_abort(net, false); + __nf_tables_abort(net, NFNL_ABORT_NONE); __nft_release_tables(net); mutex_unlock(&net->nft.commit_mutex); WARN_ON_ONCE(!list_empty(&net->nft.tables)); @@ -8495,8 +8535,9 @@ } static struct pernet_operations nf_tables_net_ops = { - .init = nf_tables_init_net, - .exit = nf_tables_exit_net, + .init = nf_tables_init_net, + .pre_exit = nf_tables_pre_exit_net, + .exit = nf_tables_exit_net, }; static int __init nf_tables_module_init(void) --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nf_tables_offload.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nf_tables_offload.c @@ -28,6 +28,23 @@ return flow; } +void nft_flow_rule_set_addr_type(struct nft_flow_rule *flow, + enum flow_dissector_key_id addr_type) +{ + struct nft_flow_match *match = &flow->match; + struct nft_flow_key *mask = &match->mask; + struct nft_flow_key *key = &match->key; + + if (match->dissector.used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) + return; + + key->control.addr_type = addr_type; + mask->control.addr_type = 0xffff; + match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_CONTROL); + match->dissector.offset[FLOW_DISSECTOR_KEY_CONTROL] = + offsetof(struct nft_flow_key, control); +} + struct nft_flow_rule *nft_flow_rule_create(struct net *net, const struct nft_rule *rule) { @@ -37,7 +54,7 @@ struct nft_expr *expr; expr = nft_expr_first(rule); - while (expr->ops && expr != nft_expr_last(rule)) { + while (nft_expr_more(rule, expr)) { if (expr->ops->offload_flags & NFT_OFFLOAD_F_ACTION) num_actions++; @@ -61,7 +78,7 @@ ctx->net = net; ctx->dep.type = NFT_OFFLOAD_DEP_UNSPEC; - while (expr->ops && expr != nft_expr_last(rule)) { + while (nft_expr_more(rule, expr)) { if (!expr->ops->offload) { err = -EOPNOTSUPP; goto err_out; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nfnetlink.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nfnetlink.c @@ -149,10 +149,15 @@ } EXPORT_SYMBOL_GPL(nfnetlink_set_err); -int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u32 portid, - int flags) +int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u32 portid) { - return netlink_unicast(net->nfnl, skb, portid, flags); + int err; + + err = nlmsg_unicast(net->nfnl, skb, portid); + if (err == -EAGAIN) + err = -ENOBUFS; + + return err; } EXPORT_SYMBOL_GPL(nfnetlink_unicast); @@ -311,7 +316,7 @@ return netlink_ack(skb, nlh, -EINVAL, NULL); replay: status = 0; - +replay_abort: skb = netlink_skb_clone(oskb, GFP_KERNEL); if (!skb) return netlink_ack(oskb, nlh, -ENOMEM, NULL); @@ -477,7 +482,7 @@ } done: if (status & NFNL_BATCH_REPLAY) { - ss->abort(net, oskb, true); + ss->abort(net, oskb, NFNL_ABORT_AUTOLOAD); nfnl_err_reset(&err_list); kfree_skb(skb); module_put(ss->owner); @@ -488,11 +493,25 @@ status |= NFNL_BATCH_REPLAY; goto done; } else if (err) { - ss->abort(net, oskb, false); + ss->abort(net, oskb, NFNL_ABORT_NONE); netlink_ack(oskb, nlmsg_hdr(oskb), err, NULL); } } else { - ss->abort(net, oskb, false); + enum nfnl_abort_action abort_action; + + if (status & NFNL_BATCH_FAILURE) + abort_action = NFNL_ABORT_NONE; + else + abort_action = NFNL_ABORT_VALIDATE; + + err = ss->abort(net, oskb, abort_action); + if (err == -EAGAIN) { + nfnl_err_reset(&err_list); + kfree_skb(skb); + module_put(ss->owner); + status |= NFNL_BATCH_FAILURE; + goto replay_abort; + } } if (ss->cleanup) ss->cleanup(net); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nfnetlink_log.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nfnetlink_log.c @@ -356,8 +356,7 @@ goto out; } } - nfnetlink_unicast(inst->skb, inst->net, inst->peer_portid, - MSG_DONTWAIT); + nfnetlink_unicast(inst->skb, inst->net, inst->peer_portid); out: inst->qlen = 0; inst->skb = NULL; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nfnetlink_queue.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nfnetlink_queue.c @@ -301,21 +301,29 @@ return -1; } -static u32 nfqnl_get_sk_secctx(struct sk_buff *skb, char **secdata) +static u32 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; 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); + return context->len; +#else + return 0; #endif - return seclen; } static u32 nfqnl_get_bridge_size(struct nf_queue_entry *entry) @@ -391,7 +399,7 @@ enum ip_conntrack_info uninitialized_var(ctinfo); struct nfnl_ct_hook *nfnl_ct; bool csum_verify; - char *secdata = NULL; + struct lsmcontext context = { }; u32 seclen = 0; size = nlmsg_total_size(sizeof(struct nfgenmsg)) @@ -458,7 +466,7 @@ } if ((queue->flags & NFQA_CFG_F_SECCTX) && entskb->sk) { - seclen = nfqnl_get_sk_secctx(entskb, &secdata); + seclen = nfqnl_get_sk_secctx(entskb, &context); if (seclen) size += nla_total_size(seclen); } @@ -593,7 +601,7 @@ nfqnl_put_sk_uidgid(skb, entskb->sk) < 0) goto nla_put_failure; - if (seclen && nla_put(skb, NFQA_SECCTX, seclen, secdata)) + if (seclen && 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) @@ -622,7 +630,7 @@ nlh->nlmsg_len = skb->len; if (seclen) - security_release_secctx(secdata, seclen); + security_release_secctx(&context); return skb; nla_put_failure: @@ -631,7 +639,7 @@ net_err_ratelimited("nf_queue: error creating packet message\n"); nlmsg_failure: if (seclen) - security_release_secctx(secdata, seclen); + security_release_secctx(&context); return NULL; } @@ -681,7 +689,7 @@ *packet_id_ptr = htonl(entry->id); /* nfnetlink_unicast will either free the nskb or add it to a socket */ - err = nfnetlink_unicast(nskb, net, queue->peer_portid, MSG_DONTWAIT); + err = nfnetlink_unicast(nskb, net, queue->peer_portid); if (err < 0) { if (queue->flags & NFQA_CFG_F_FAIL_OPEN) { failopen = 1; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_chain_route.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_chain_route.c @@ -42,7 +42,7 @@ iph->daddr != daddr || skb->mark != mark || iph->tos != tos) { - err = ip_route_me_harder(state->net, skb, RTN_UNSPEC); + err = ip_route_me_harder(state->net, state->sk, skb, RTN_UNSPEC); if (err < 0) ret = NF_DROP_ERR(err); } @@ -92,7 +92,7 @@ skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u32 *)ipv6_hdr(skb)))) { - err = nf_ip6_route_me_harder(state->net, skb); + err = nf_ip6_route_me_harder(state->net, state->sk, skb); if (err < 0) ret = NF_DROP_ERR(err); } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_cmp.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_cmp.c @@ -123,11 +123,11 @@ u8 *mask = (u8 *)&flow->match.mask; u8 *key = (u8 *)&flow->match.key; - if (priv->op != NFT_CMP_EQ || reg->len != priv->len) + if (priv->op != NFT_CMP_EQ || priv->len > reg->len) return -EOPNOTSUPP; - memcpy(key + reg->offset, &priv->data, priv->len); - memcpy(mask + reg->offset, ®->mask, priv->len); + memcpy(key + reg->offset, &priv->data, reg->len); + memcpy(mask + reg->offset, ®->mask, reg->len); flow->match.dissector.used_keys |= BIT(reg->key); flow->match.dissector.offset[reg->key] = reg->base_offset; @@ -137,7 +137,7 @@ nft_reg_load16(priv->data.data) != ARPHRD_ETHER) return -EOPNOTSUPP; - nft_offload_update_dependency(ctx, &priv->data, priv->len); + nft_offload_update_dependency(ctx, &priv->data, reg->len); return 0; } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_compat.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_compat.c @@ -213,6 +213,17 @@ return 0; } +static void nft_compat_wait_for_destructors(void) +{ + /* xtables matches or targets can have side effects, e.g. + * creation/destruction of /proc files. + * The xt ->destroy functions are run asynchronously from + * work queue. If we have pending invocations we thus + * need to wait for those to finish. + */ + nf_tables_trans_destroy_flush_work(); +} + static int nft_target_init(const struct nft_ctx *ctx, const struct nft_expr *expr, const struct nlattr * const tb[]) @@ -236,6 +247,8 @@ nft_target_set_tgchk_param(&par, ctx, target, info, &e, proto, inv); + nft_compat_wait_for_destructors(); + ret = xt_check_target(&par, size, proto, inv); if (ret < 0) return ret; @@ -247,6 +260,12 @@ return 0; } +static void __nft_mt_tg_destroy(struct module *me, const struct nft_expr *expr) +{ + module_put(me); + kfree(expr->ops); +} + static void nft_target_destroy(const struct nft_ctx *ctx, const struct nft_expr *expr) { @@ -262,8 +281,7 @@ if (par.target->destroy != NULL) par.target->destroy(&par); - module_put(me); - kfree(expr->ops); + __nft_mt_tg_destroy(me, expr); } static int nft_extension_dump_info(struct sk_buff *skb, int attr, @@ -451,6 +469,8 @@ nft_match_set_mtchk_param(&par, ctx, match, info, &e, proto, inv); + nft_compat_wait_for_destructors(); + return xt_check_match(&par, size, proto, inv); } @@ -494,8 +514,7 @@ if (par.match->destroy != NULL) par.match->destroy(&par); - module_put(me); - kfree(expr->ops); + __nft_mt_tg_destroy(me, expr); } static void --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_ct.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_ct.c @@ -177,8 +177,6 @@ } #endif case NFT_CT_ID: - if (!nf_ct_is_confirmed(ct)) - goto err; *dest = nf_ct_get_id(ct); return; default: --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_dynset.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_dynset.c @@ -123,7 +123,7 @@ u32 flags = ntohl(nla_get_be32(tb[NFTA_DYNSET_FLAGS])); if (flags & ~NFT_DYNSET_F_INV) - return -EINVAL; + return -EOPNOTSUPP; if (flags & NFT_DYNSET_F_INV) priv->invert = true; } @@ -156,9 +156,11 @@ timeout = 0; if (tb[NFTA_DYNSET_TIMEOUT] != NULL) { if (!(set->flags & NFT_SET_TIMEOUT)) - return -EINVAL; - timeout = msecs_to_jiffies(be64_to_cpu(nla_get_be64( - tb[NFTA_DYNSET_TIMEOUT]))); + return -EOPNOTSUPP; + + err = nf_msecs_to_jiffies64(tb[NFTA_DYNSET_TIMEOUT], &timeout); + if (err) + return err; } priv->sreg_key = nft_parse_register(tb[NFTA_DYNSET_SREG_KEY]); @@ -168,7 +170,7 @@ if (tb[NFTA_DYNSET_SREG_DATA] != NULL) { if (!(set->flags & NFT_SET_MAP)) - return -EINVAL; + return -EOPNOTSUPP; if (set->dtype == NFT_DATA_VERDICT) return -EOPNOTSUPP; @@ -202,8 +204,10 @@ nft_set_ext_add_length(&priv->tmpl, NFT_SET_EXT_EXPR, priv->expr->ops->size); if (set->flags & NFT_SET_TIMEOUT) { - if (timeout || set->timeout) + if (timeout || set->timeout) { + nft_set_ext_add(&priv->tmpl, NFT_SET_EXT_TIMEOUT); nft_set_ext_add(&priv->tmpl, NFT_SET_EXT_EXPIRATION); + } } priv->timeout = timeout; @@ -267,7 +271,7 @@ if (nla_put_string(skb, NFTA_DYNSET_SET_NAME, priv->set->name)) goto nla_put_failure; if (nla_put_be64(skb, NFTA_DYNSET_TIMEOUT, - cpu_to_be64(jiffies_to_msecs(priv->timeout)), + nf_jiffies64_to_msecs(priv->timeout), NFTA_DYNSET_PAD)) goto nla_put_failure; if (priv->expr && nft_expr_dump(skb, NFTA_DYNSET_EXPR, priv->expr)) --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_exthdr.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_exthdr.c @@ -44,7 +44,7 @@ err = ipv6_find_hdr(pkt->skb, &offset, priv->type, NULL, NULL); if (priv->flags & NFT_EXTHDR_F_PRESENT) { - *dest = (err >= 0); + nft_reg_store8(dest, err >= 0); return; } else if (err < 0) { goto err; @@ -141,7 +141,7 @@ err = ipv4_find_option(nft_net(pkt), skb, &offset, priv->type); if (priv->flags & NFT_EXTHDR_F_PRESENT) { - *dest = (err >= 0); + nft_reg_store8(dest, err >= 0); return; } else if (err < 0) { goto err; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_flow_offload.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_flow_offload.c @@ -102,7 +102,7 @@ } if (nf_ct_ext_exist(ct, NF_CT_EXT_HELPER) || - ct->status & IPS_SEQ_ADJUST) + ct->status & (IPS_SEQ_ADJUST | IPS_NAT_CLASH)) goto out; if (!nf_ct_is_confirmed(ct)) --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_fwd_netdev.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_fwd_netdev.c @@ -138,6 +138,7 @@ return; skb->dev = dev; + skb->tstamp = 0; neigh_xmit(neigh_table, dev, addr, skb); out: regs->verdict.code = verdict; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_limit.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_limit.c @@ -76,13 +76,13 @@ return -EOVERFLOW; if (pkts) { - tokens = div_u64(limit->nsecs, limit->rate) * limit->burst; + tokens = div64_u64(limit->nsecs, limit->rate) * limit->burst; } else { /* The token bucket size limits the number of tokens can be * accumulated. tokens_max specifies the bucket size. * tokens_max = unit * (rate + burst) / rate. */ - tokens = div_u64(limit->nsecs * (limit->rate + limit->burst), + tokens = div64_u64(limit->nsecs * (limit->rate + limit->burst), limit->rate); } --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_meta.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_meta.c @@ -147,11 +147,11 @@ switch (key) { case NFT_META_SKUID: - *dest = from_kuid_munged(&init_user_ns, + *dest = from_kuid_munged(sock_net(sk)->user_ns, sock->file->f_cred->fsuid); break; case NFT_META_SKGID: - *dest = from_kgid_munged(&init_user_ns, + *dest = from_kgid_munged(sock_net(sk)->user_ns, sock->file->f_cred->fsgid); break; default: @@ -253,7 +253,7 @@ return false; break; case NFT_META_IIFGROUP: - if (!nft_meta_store_ifgroup(dest, nft_out(pkt))) + if (!nft_meta_store_ifgroup(dest, nft_in(pkt))) return false; break; case NFT_META_OIFGROUP: @@ -724,22 +724,22 @@ switch (priv->key) { case NFT_META_PROTOCOL: - NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_BASIC, basic, n_proto, - sizeof(__u16), reg); + NFT_OFFLOAD_MATCH_EXACT(FLOW_DISSECTOR_KEY_BASIC, basic, n_proto, + sizeof(__u16), reg); nft_offload_set_dependency(ctx, NFT_OFFLOAD_DEP_NETWORK); break; case NFT_META_L4PROTO: - NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_BASIC, basic, ip_proto, - sizeof(__u8), reg); + NFT_OFFLOAD_MATCH_EXACT(FLOW_DISSECTOR_KEY_BASIC, basic, ip_proto, + sizeof(__u8), reg); nft_offload_set_dependency(ctx, NFT_OFFLOAD_DEP_TRANSPORT); break; case NFT_META_IIF: - NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_META, meta, - ingress_ifindex, sizeof(__u32), reg); + NFT_OFFLOAD_MATCH_EXACT(FLOW_DISSECTOR_KEY_META, meta, + ingress_ifindex, sizeof(__u32), reg); break; case NFT_META_IIFTYPE: - NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_META, meta, - ingress_iftype, sizeof(__u16), reg); + NFT_OFFLOAD_MATCH_EXACT(FLOW_DISSECTOR_KEY_META, meta, + ingress_iftype, sizeof(__u16), reg); break; default: return -EOPNOTSUPP; @@ -801,7 +801,7 @@ #ifdef CONFIG_NETWORK_SECMARK struct nft_secmark { - u32 secid; + struct lsmblob lsmdata; char *ctx; }; @@ -811,21 +811,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(&blob); if (err) return err; - priv->secid = tmp_secid; + priv->lsmdata = blob; return 0; } @@ -835,7 +835,11 @@ const struct nft_secmark *priv = nft_obj_data(obj); struct sk_buff *skb = pkt->skb; - skb->secmark = priv->secid; + /* It is not possible for more than one secid to be set in + * the lsmblob structure because it is set using + * security_secctx_to_secid(). Any secid that is set must therefore + * be the one that should go in the secmark. */ + skb->secmark = lsmblob_value(&priv->lsmdata); } static int nft_secmark_obj_init(const struct nft_ctx *ctx, --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_payload.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_payload.c @@ -87,7 +87,9 @@ u32 *dest = ®s->data[priv->dreg]; int offset; - dest[priv->len / NFT_REG32_SIZE] = 0; + if (priv->len % NFT_REG32_SIZE) + dest[priv->len / NFT_REG32_SIZE] = 0; + switch (priv->base) { case NFT_PAYLOAD_LL_HEADER: if (!skb_mac_header_was_set(skb)) @@ -162,6 +164,34 @@ return -1; } +static bool nft_payload_offload_mask(struct nft_offload_reg *reg, + u32 priv_len, u32 field_len) +{ + unsigned int remainder, delta, k; + struct nft_data mask = {}; + __be32 remainder_mask; + + if (priv_len == field_len) { + memset(®->mask, 0xff, priv_len); + return true; + } else if (priv_len > field_len) { + return false; + } + + memset(&mask, 0xff, field_len); + remainder = priv_len % sizeof(u32); + if (remainder) { + k = priv_len / sizeof(u32); + delta = field_len - priv_len; + remainder_mask = htonl(~((1 << (delta * BITS_PER_BYTE)) - 1)); + mask.data[k] = (__force u32)remainder_mask; + } + + memcpy(®->mask, &mask, field_len); + + return true; +} + static int nft_payload_offload_ll(struct nft_offload_ctx *ctx, struct nft_flow_rule *flow, const struct nft_payload *priv) @@ -170,21 +200,21 @@ switch (priv->offset) { case offsetof(struct ethhdr, h_source): - if (priv->len != ETH_ALEN) + if (!nft_payload_offload_mask(reg, priv->len, ETH_ALEN)) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_ETH_ADDRS, eth_addrs, src, ETH_ALEN, reg); break; case offsetof(struct ethhdr, h_dest): - if (priv->len != ETH_ALEN) + if (!nft_payload_offload_mask(reg, priv->len, ETH_ALEN)) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_ETH_ADDRS, eth_addrs, dst, ETH_ALEN, reg); break; case offsetof(struct ethhdr, h_proto): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_BASIC, basic, @@ -192,14 +222,14 @@ nft_offload_set_dependency(ctx, NFT_OFFLOAD_DEP_NETWORK); break; case offsetof(struct vlan_ethhdr, h_vlan_TCI): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_VLAN, vlan, vlan_tci, sizeof(__be16), reg); break; case offsetof(struct vlan_ethhdr, h_vlan_encapsulated_proto): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_VLAN, vlan, @@ -207,7 +237,7 @@ nft_offload_set_dependency(ctx, NFT_OFFLOAD_DEP_NETWORK); break; case offsetof(struct vlan_ethhdr, h_vlan_TCI) + sizeof(struct vlan_hdr): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_CVLAN, vlan, @@ -215,7 +245,7 @@ break; case offsetof(struct vlan_ethhdr, h_vlan_encapsulated_proto) + sizeof(struct vlan_hdr): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_CVLAN, vlan, @@ -236,21 +266,25 @@ switch (priv->offset) { case offsetof(struct iphdr, saddr): - if (priv->len != sizeof(struct in_addr)) + if (!nft_payload_offload_mask(reg, priv->len, + sizeof(struct in_addr))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_IPV4_ADDRS, ipv4, src, sizeof(struct in_addr), reg); + nft_flow_rule_set_addr_type(flow, FLOW_DISSECTOR_KEY_IPV4_ADDRS); break; case offsetof(struct iphdr, daddr): - if (priv->len != sizeof(struct in_addr)) + if (!nft_payload_offload_mask(reg, priv->len, + sizeof(struct in_addr))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_IPV4_ADDRS, ipv4, dst, sizeof(struct in_addr), reg); + nft_flow_rule_set_addr_type(flow, FLOW_DISSECTOR_KEY_IPV4_ADDRS); break; case offsetof(struct iphdr, protocol): - if (priv->len != sizeof(__u8)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__u8))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_BASIC, basic, ip_proto, @@ -272,21 +306,25 @@ switch (priv->offset) { case offsetof(struct ipv6hdr, saddr): - if (priv->len != sizeof(struct in6_addr)) + if (!nft_payload_offload_mask(reg, priv->len, + sizeof(struct in6_addr))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_IPV6_ADDRS, ipv6, src, sizeof(struct in6_addr), reg); + nft_flow_rule_set_addr_type(flow, FLOW_DISSECTOR_KEY_IPV6_ADDRS); break; case offsetof(struct ipv6hdr, daddr): - if (priv->len != sizeof(struct in6_addr)) + if (!nft_payload_offload_mask(reg, priv->len, + sizeof(struct in6_addr))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_IPV6_ADDRS, ipv6, dst, sizeof(struct in6_addr), reg); + nft_flow_rule_set_addr_type(flow, FLOW_DISSECTOR_KEY_IPV6_ADDRS); break; case offsetof(struct ipv6hdr, nexthdr): - if (priv->len != sizeof(__u8)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__u8))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_BASIC, basic, ip_proto, @@ -328,14 +366,14 @@ switch (priv->offset) { case offsetof(struct tcphdr, source): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, src, sizeof(__be16), reg); break; case offsetof(struct tcphdr, dest): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, dst, @@ -356,14 +394,14 @@ switch (priv->offset) { case offsetof(struct udphdr, source): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, src, sizeof(__be16), reg); break; case offsetof(struct udphdr, dest): - if (priv->len != sizeof(__be16)) + if (!nft_payload_offload_mask(reg, priv->len, sizeof(__be16))) return -EOPNOTSUPP; NFT_OFFLOAD_MATCH(FLOW_DISSECTOR_KEY_PORTS, tp, dst, --- linux-riscv-5.8-5.8.0.orig/net/netfilter/nft_set_rbtree.c +++ linux-riscv-5.8-5.8.0/net/netfilter/nft_set_rbtree.c @@ -218,11 +218,11 @@ struct nft_rbtree_elem *new, struct nft_set_ext **ext) { + bool overlap = false, dup_end_left = false, dup_end_right = false; struct nft_rbtree *priv = nft_set_priv(set); u8 genmask = nft_genmask_next(net); struct nft_rbtree_elem *rbe; struct rb_node *parent, **p; - bool overlap = false; int d; /* Detect overlaps as we descend the tree. Set the flag in these cases: @@ -238,24 +238,44 @@ * * b1. _ _ __>| !_ _ __| (insert end before existing start) * b2. _ _ ___| !_ _ _>| (insert end after existing start) - * b3. _ _ ___! >|_ _ __| (insert start after existing end) + * 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. Note that end elements are - * always inserted after corresponding start elements. + * - 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: * - * b4. |__ _ _!|<_ _ _ (insert start right before existing end) - * b5. |__ _ >|!__ _ _ (insert end right after existing start) + * 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. */ parent = NULL; @@ -272,26 +292,41 @@ 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)) + !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 (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); - } else if (nft_rbtree_interval_end(rbe) && - nft_set_elem_active(&rbe->ext, genmask) && + + if (overlap) { + dup_end_left = true; + continue; + } + } else if (nft_set_elem_active(&rbe->ext, genmask) && !nft_set_elem_expired(&rbe->ext)) { - overlap = true; + overlap = nft_rbtree_interval_end(rbe); } } else { if (nft_rbtree_interval_end(rbe) && @@ -316,6 +351,8 @@ p = &parent->rb_left; } } + + dup_end_left = dup_end_right = false; } if (overlap) --- linux-riscv-5.8-5.8.0.orig/net/netfilter/utils.c +++ linux-riscv-5.8-5.8.0/net/netfilter/utils.c @@ -191,8 +191,8 @@ skb->mark == rt_info->mark && iph->daddr == rt_info->daddr && iph->saddr == rt_info->saddr)) - return ip_route_me_harder(entry->state.net, skb, - RTN_UNSPEC); + return ip_route_me_harder(entry->state.net, entry->state.sk, + skb, RTN_UNSPEC); } #endif return 0; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/x_tables.c +++ linux-riscv-5.8-5.8.0/net/netfilter/x_tables.c @@ -330,6 +330,7 @@ const struct xt_match *m; int have_rev = 0; + mutex_lock(&xt[af].mutex); list_for_each_entry(m, &xt[af].match, list) { if (strcmp(m->name, name) == 0) { if (m->revision > *bestp) @@ -338,6 +339,7 @@ have_rev = 1; } } + mutex_unlock(&xt[af].mutex); if (af != NFPROTO_UNSPEC && !have_rev) return match_revfn(NFPROTO_UNSPEC, name, revision, bestp); @@ -350,6 +352,7 @@ const struct xt_target *t; int have_rev = 0; + mutex_lock(&xt[af].mutex); list_for_each_entry(t, &xt[af].target, list) { if (strcmp(t->name, name) == 0) { if (t->revision > *bestp) @@ -358,6 +361,7 @@ have_rev = 1; } } + mutex_unlock(&xt[af].mutex); if (af != NFPROTO_UNSPEC && !have_rev) return target_revfn(NFPROTO_UNSPEC, name, revision, bestp); @@ -371,12 +375,10 @@ { int have_rev, best = -1; - mutex_lock(&xt[af].mutex); if (target == 1) have_rev = target_revfn(af, name, revision, &best); else have_rev = match_revfn(af, name, revision, &best); - mutex_unlock(&xt[af].mutex); /* Nothing at all? Return 0 to try loading module. */ if (best == -1) { @@ -731,7 +733,7 @@ { const struct xt_match *match = m->u.kernel.match; struct compat_xt_entry_match *cm = (struct compat_xt_entry_match *)m; - int pad, off = xt_compat_match_offset(match); + int off = xt_compat_match_offset(match); u_int16_t msize = cm->u.user.match_size; char name[sizeof(m->u.user.name)]; @@ -741,9 +743,6 @@ match->compat_from_user(m->data, cm->data); else memcpy(m->data, cm->data, msize - sizeof(*cm)); - pad = XT_ALIGN(match->matchsize) - match->matchsize; - if (pad > 0) - memset(m->data + match->matchsize, 0, pad); msize += off; m->u.user.match_size = msize; @@ -1114,7 +1113,7 @@ { const struct xt_target *target = t->u.kernel.target; struct compat_xt_entry_target *ct = (struct compat_xt_entry_target *)t; - int pad, off = xt_compat_target_offset(target); + int off = xt_compat_target_offset(target); u_int16_t tsize = ct->u.user.target_size; char name[sizeof(t->u.user.name)]; @@ -1124,9 +1123,6 @@ target->compat_from_user(t->data, ct->data); else memcpy(t->data, ct->data, tsize - sizeof(*ct)); - pad = XT_ALIGN(target->targetsize) - target->targetsize; - if (pad > 0) - memset(t->data + target->targetsize, 0, pad); tsize += off; t->u.user.target_size = tsize; @@ -1387,7 +1383,7 @@ table->private = newinfo; /* make sure all cpus see new ->private value */ - smp_wmb(); + smp_mb(); /* * Even though table entries have now been swapped, other CPU's --- linux-riscv-5.8-5.8.0.orig/net/netfilter/xt_RATEEST.c +++ linux-riscv-5.8-5.8.0/net/netfilter/xt_RATEEST.c @@ -115,6 +115,9 @@ } cfg; int ret; + if (strnlen(info->name, sizeof(est->name)) >= sizeof(est->name)) + return -ENAMETOOLONG; + net_get_random_once(&jhash_rnd, sizeof(jhash_rnd)); mutex_lock(&xn->hash_lock); --- linux-riscv-5.8-5.8.0.orig/net/netfilter/xt_SECMARK.c +++ linux-riscv-5.8-5.8.0/net/netfilter/xt_SECMARK.c @@ -43,13 +43,14 @@ static int checkentry_lsm(struct xt_secmark_target_info *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", @@ -57,13 +58,17 @@ 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); return -ENOENT; } - err = security_secmark_relabel_packet(info->secid); + err = security_secmark_relabel_packet(&blob); if (err) { pr_info_ratelimited("unable to obtain relabeling permission\n"); return err; --- linux-riscv-5.8-5.8.0.orig/net/netfilter/xt_recent.c +++ linux-riscv-5.8-5.8.0/net/netfilter/xt_recent.c @@ -152,7 +152,8 @@ /* * Drop entries with timestamps older then 'time'. */ -static void recent_entry_reap(struct recent_table *t, unsigned long time) +static void recent_entry_reap(struct recent_table *t, unsigned long time, + struct recent_entry *working, bool update) { struct recent_entry *e; @@ -162,6 +163,12 @@ e = list_entry(t->lru_list.next, struct recent_entry, lru_list); /* + * Do not reap the entry which are going to be updated. + */ + if (e == working && update) + return; + + /* * The last time stamp is the most recent. */ if (time_after(time, e->stamps[e->index-1])) @@ -303,7 +310,8 @@ /* info->seconds must be non-zero */ if (info->check_set & XT_RECENT_REAP) - recent_entry_reap(t, time); + recent_entry_reap(t, time, e, + info->check_set & XT_RECENT_UPDATE && ret); } if (info->check_set & XT_RECENT_SET || --- linux-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_cipso_v4.c +++ linux-riscv-5.8-5.8.0/net/netlabel/netlabel_cipso_v4.c @@ -575,6 +575,7 @@ break; } + cipso_v4_doi_putdef(doi_def); rcu_read_unlock(); genlmsg_end(ans_skb, data); @@ -583,12 +584,14 @@ list_retry: /* XXX - this limit is a guesstimate */ if (nlsze_mult < 4) { + cipso_v4_doi_putdef(doi_def); rcu_read_unlock(); kfree_skb(ans_skb); nlsze_mult *= 2; goto list_start; } list_failure_lock: + cipso_v4_doi_putdef(doi_def); rcu_read_unlock(); list_failure: kfree_skb(ans_skb); --- linux-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_domainhash.c +++ linux-riscv-5.8-5.8.0/net/netlabel/netlabel_domainhash.c @@ -85,6 +85,7 @@ kfree(netlbl_domhsh_addr6_entry(iter6)); } #endif /* IPv6 */ + kfree(ptr->def.addrsel); } kfree(ptr->domain); kfree(ptr); @@ -537,6 +538,8 @@ goto add_return; } #endif /* IPv6 */ + /* cleanup the new entry since we've moved everything over */ + netlbl_domhsh_free_entry(&entry->rcu); } else ret_val = -EINVAL; @@ -580,6 +583,12 @@ { int ret_val = 0; struct audit_buffer *audit_buf; + struct netlbl_af4list *iter4; + struct netlbl_domaddr4_map *map4; +#if IS_ENABLED(CONFIG_IPV6) + struct netlbl_af6list *iter6; + struct netlbl_domaddr6_map *map6; +#endif /* IPv6 */ if (entry == NULL) return -ENOENT; @@ -597,6 +606,9 @@ ret_val = -ENOENT; spin_unlock(&netlbl_domhsh_lock); + if (ret_val) + return ret_val; + audit_buf = netlbl_audit_start_common(AUDIT_MAC_MAP_DEL, audit_info); if (audit_buf != NULL) { audit_log_format(audit_buf, @@ -606,40 +618,29 @@ audit_log_end(audit_buf); } - if (ret_val == 0) { - struct netlbl_af4list *iter4; - struct netlbl_domaddr4_map *map4; -#if IS_ENABLED(CONFIG_IPV6) - struct netlbl_af6list *iter6; - struct netlbl_domaddr6_map *map6; -#endif /* IPv6 */ - - switch (entry->def.type) { - case NETLBL_NLTYPE_ADDRSELECT: - netlbl_af4list_foreach_rcu(iter4, - &entry->def.addrsel->list4) { - map4 = netlbl_domhsh_addr4_entry(iter4); - cipso_v4_doi_putdef(map4->def.cipso); - } + switch (entry->def.type) { + case NETLBL_NLTYPE_ADDRSELECT: + netlbl_af4list_foreach_rcu(iter4, &entry->def.addrsel->list4) { + map4 = netlbl_domhsh_addr4_entry(iter4); + cipso_v4_doi_putdef(map4->def.cipso); + } #if IS_ENABLED(CONFIG_IPV6) - netlbl_af6list_foreach_rcu(iter6, - &entry->def.addrsel->list6) { - map6 = netlbl_domhsh_addr6_entry(iter6); - calipso_doi_putdef(map6->def.calipso); - } + netlbl_af6list_foreach_rcu(iter6, &entry->def.addrsel->list6) { + map6 = netlbl_domhsh_addr6_entry(iter6); + calipso_doi_putdef(map6->def.calipso); + } #endif /* IPv6 */ - break; - case NETLBL_NLTYPE_CIPSOV4: - cipso_v4_doi_putdef(entry->def.cipso); - break; + break; + case NETLBL_NLTYPE_CIPSOV4: + cipso_v4_doi_putdef(entry->def.cipso); + break; #if IS_ENABLED(CONFIG_IPV6) - case NETLBL_NLTYPE_CALIPSO: - calipso_doi_putdef(entry->def.calipso); - break; + case NETLBL_NLTYPE_CALIPSO: + calipso_doi_putdef(entry->def.calipso); + break; #endif /* IPv6 */ - } - call_rcu(&entry->rcu, netlbl_domhsh_free_entry); } + call_rcu(&entry->rcu, netlbl_domhsh_free_entry); return ret_val; } --- linux-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_kapi.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_unlabeled.c +++ linux-riscv-5.8-5.8.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, @@ -495,10 +493,11 @@ if (dev != NULL) 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); @@ -535,8 +534,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); @@ -556,10 +554,11 @@ if (dev != NULL) 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); @@ -882,7 +881,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 @@ -906,13 +905,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); } /** @@ -933,7 +931,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 @@ -955,12 +953,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); } @@ -1071,10 +1068,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, @@ -1112,7 +1108,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, @@ -1126,17 +1122,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; @@ -1166,12 +1162,13 @@ struct netlbl_unlhsh_walk_arg cb_arg; u32 skip_bkt = cb->args[0]; u32 skip_chain = cb->args[1]; - u32 iter_bkt; - u32 iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0; + u32 skip_addr4 = cb->args[2]; + u32 iter_bkt, iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0; struct netlbl_unlhsh_iface *iface; struct list_head *iter_list; struct netlbl_af4list *addr4; #if IS_ENABLED(CONFIG_IPV6) + u32 skip_addr6 = cb->args[3]; struct netlbl_af6list *addr6; #endif @@ -1182,7 +1179,7 @@ rcu_read_lock(); for (iter_bkt = skip_bkt; iter_bkt < rcu_dereference(netlbl_unlhsh)->size; - iter_bkt++, iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0) { + iter_bkt++) { iter_list = &rcu_dereference(netlbl_unlhsh)->tbl[iter_bkt]; list_for_each_entry_rcu(iface, iter_list, list) { if (!iface->valid || @@ -1190,7 +1187,7 @@ continue; netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) { - if (iter_addr4++ < cb->args[2]) + if (iter_addr4++ < skip_addr4) continue; if (netlbl_unlabel_staticlist_gen( NLBL_UNLABEL_C_STATICLIST, @@ -1203,10 +1200,12 @@ goto unlabel_staticlist_return; } } + iter_addr4 = 0; + skip_addr4 = 0; #if IS_ENABLED(CONFIG_IPV6) netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) { - if (iter_addr6++ < cb->args[3]) + if (iter_addr6++ < skip_addr6) continue; if (netlbl_unlabel_staticlist_gen( NLBL_UNLABEL_C_STATICLIST, @@ -1219,8 +1218,12 @@ goto unlabel_staticlist_return; } } + iter_addr6 = 0; + skip_addr6 = 0; #endif /* IPv6 */ } + iter_chain = 0; + skip_chain = 0; } unlabel_staticlist_return: @@ -1481,7 +1484,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) @@ -1494,7 +1497,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 */ @@ -1532,7 +1535,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_task_getsecid(current, &audit_info.secid); + security_task_getsecid(current, &audit_info.lsmdata); audit_info.loginuid = GLOBAL_ROOT_UID; audit_info.sessionid = 0; --- linux-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_unlabeled.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_user.c +++ linux-riscv-5.8-5.8.0/net/netlabel/netlabel_user.c @@ -84,12 +84,12 @@ struct netlbl_audit *audit_info) { struct audit_buffer *audit_buf; - char *secctx; - u32 secctx_len; if (audit_enabled == AUDIT_OFF) return NULL; + audit_stamp_context(audit_context()); + audit_buf = audit_log_start(audit_context(), GFP_ATOMIC, type); if (audit_buf == NULL) return NULL; @@ -98,13 +98,8 @@ 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_task_context(audit_buf, &audit_info->lsmdata); + audit_log_lsm(&audit_info->lsmdata, false); return audit_buf; } --- linux-riscv-5.8-5.8.0.orig/net/netlabel/netlabel_user.h +++ linux-riscv-5.8-5.8.0/net/netlabel/netlabel_user.h @@ -34,7 +34,7 @@ static inline void netlbl_netlink_auditinfo(struct sk_buff *skb, struct netlbl_audit *audit_info) { - security_task_getsecid(current, &audit_info->secid); + security_task_getsecid(current, &audit_info->lsmdata); audit_info->loginuid = audit_get_loginuid(current); audit_info->sessionid = audit_get_sessionid(current); } --- linux-riscv-5.8-5.8.0.orig/net/netlink/genetlink.c +++ linux-riscv-5.8-5.8.0/net/netlink/genetlink.c @@ -1079,7 +1079,7 @@ if (err) return err; - while (netlink_policy_dump_loop(&cb->args[1])) { + while (netlink_policy_dump_loop(cb->args[1])) { void *hdr; struct nlattr *nest; @@ -1113,6 +1113,12 @@ return skb->len; } +static int ctrl_dumppolicy_done(struct netlink_callback *cb) +{ + netlink_policy_dump_free(cb->args[1]); + return 0; +} + static const struct genl_ops genl_ctrl_ops[] = { { .cmd = CTRL_CMD_GETFAMILY, @@ -1123,6 +1129,7 @@ { .cmd = CTRL_CMD_GETPOLICY, .dumpit = ctrl_dumppolicy, + .done = ctrl_dumppolicy_done, }, }; --- linux-riscv-5.8-5.8.0.orig/net/netlink/policy.c +++ linux-riscv-5.8-5.8.0/net/netlink/policy.c @@ -51,6 +51,9 @@ if (!state) return -ENOMEM; + memset(&state->policies[state->n_alloc], 0, + flex_array_size(state, policies, n_alloc - state->n_alloc)); + state->policies[state->n_alloc].policy = policy; state->policies[state->n_alloc].maxtype = maxtype; state->n_alloc = n_alloc; @@ -81,7 +84,6 @@ unsigned int policy_idx; int err; - /* also returns 0 if "*_state" is our ERR_PTR() end marker */ if (*_state) return 0; @@ -137,21 +139,11 @@ !state->policies[state->policy_idx].policy; } -bool netlink_policy_dump_loop(unsigned long *_state) +bool netlink_policy_dump_loop(unsigned long _state) { - struct nl_policy_dump *state = (void *)*_state; - - if (IS_ERR(state)) - return false; - - if (netlink_policy_dump_finished(state)) { - kfree(state); - /* store end marker instead of freed state */ - *_state = (unsigned long)ERR_PTR(-ENOENT); - return false; - } + struct nl_policy_dump *state = (void *)_state; - return true; + return !netlink_policy_dump_finished(state); } int netlink_policy_dump_write(struct sk_buff *skb, unsigned long _state) @@ -306,3 +298,10 @@ nla_nest_cancel(skb, policy); return -ENOBUFS; } + +void netlink_policy_dump_free(unsigned long _state) +{ + struct nl_policy_dump *state = (void *)_state; + + kfree(state); +} --- linux-riscv-5.8-5.8.0.orig/net/nfc/llcp_sock.c +++ linux-riscv-5.8-5.8.0/net/nfc/llcp_sock.c @@ -108,11 +108,13 @@ llcp_sock->service_name_len, GFP_KERNEL); if (!llcp_sock->service_name) { + nfc_llcp_local_put(llcp_sock->local); ret = -ENOMEM; goto put_dev; } llcp_sock->ssap = nfc_llcp_get_sdp_ssap(local, llcp_sock); if (llcp_sock->ssap == LLCP_SAP_MAX) { + nfc_llcp_local_put(llcp_sock->local); kfree(llcp_sock->service_name); llcp_sock->service_name = NULL; ret = -EADDRINUSE; @@ -671,6 +673,10 @@ ret = -EISCONN; goto error; } + if (sk->sk_state == LLCP_CONNECTING) { + ret = -EINPROGRESS; + goto error; + } dev = nfc_get_device(addr->dev_idx); if (dev == NULL) { @@ -702,6 +708,7 @@ llcp_sock->local = nfc_llcp_local_get(local); llcp_sock->ssap = nfc_llcp_get_local_ssap(local); if (llcp_sock->ssap == LLCP_SAP_MAX) { + nfc_llcp_local_put(llcp_sock->local); ret = -ENOMEM; goto put_dev; } @@ -743,9 +750,12 @@ sock_unlink: nfc_llcp_sock_unlink(&local->connecting_sockets, sk); + kfree(llcp_sock->service_name); + llcp_sock->service_name = NULL; sock_llcp_release: nfc_llcp_put_ssap(local, llcp_sock->ssap); + nfc_llcp_local_put(llcp_sock->local); put_dev: nfc_put_device(dev); --- linux-riscv-5.8-5.8.0.orig/net/nfc/netlink.c +++ linux-riscv-5.8-5.8.0/net/nfc/netlink.c @@ -852,6 +852,7 @@ if (!dev->polling) { device_unlock(&dev->dev); + nfc_put_device(dev); return -EINVAL; } @@ -1217,7 +1218,7 @@ u32 idx; char firmware_name[NFC_FIRMWARE_NAME_MAXSIZE + 1]; - if (!info->attrs[NFC_ATTR_DEVICE_INDEX]) + if (!info->attrs[NFC_ATTR_DEVICE_INDEX] || !info->attrs[NFC_ATTR_FIRMWARE_NAME]) return -EINVAL; idx = nla_get_u32(info->attrs[NFC_ATTR_DEVICE_INDEX]); --- linux-riscv-5.8-5.8.0.orig/net/nfc/rawsock.c +++ linux-riscv-5.8-5.8.0/net/nfc/rawsock.c @@ -105,7 +105,7 @@ if (addr->target_idx > dev->target_next_idx - 1 || addr->target_idx < dev->target_next_idx - dev->n_targets) { rc = -EINVAL; - goto error; + goto put_dev; } rc = nfc_activate_target(dev, addr->target_idx, addr->nfc_protocol); @@ -332,10 +332,13 @@ if ((sock->type != SOCK_SEQPACKET) && (sock->type != SOCK_RAW)) return -ESOCKTNOSUPPORT; - if (sock->type == SOCK_RAW) + if (sock->type == SOCK_RAW) { + if (!capable(CAP_NET_RAW)) + return -EPERM; sock->ops = &rawsock_raw_ops; - else + } else { sock->ops = &rawsock_ops; + } sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto, kern); if (!sk) --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/actions.c +++ linux-riscv-5.8-5.8.0/net/openvswitch/actions.c @@ -200,6 +200,9 @@ __be32 lse; int err; + if (!pskb_may_pull(skb, skb_network_offset(skb) + MPLS_HLEN)) + return -ENOMEM; + stack = mpls_hdr(skb); lse = OVS_MASKED(stack->label_stack_entry, *mpls_lse, *mask); err = skb_mpls_update_lse(skb, lse); @@ -968,17 +971,13 @@ struct sw_flow_key *key, const struct nlattr *attr, bool last) { - /* The first action is always 'OVS_DEC_TTL_ATTR_ARG'. */ - struct nlattr *dec_ttl_arg = nla_data(attr); - int rem = nla_len(attr); + /* The first attribute is always 'OVS_DEC_TTL_ATTR_ACTION'. */ + struct nlattr *actions = nla_data(attr); - if (nla_len(dec_ttl_arg)) { - struct nlattr *actions = nla_next(dec_ttl_arg, &rem); + if (nla_len(actions)) + return clone_execute(dp, skb, key, 0, nla_data(actions), + nla_len(actions), last, false); - if (actions) - return clone_execute(dp, skb, key, 0, actions, rem, - last, false); - } consume_skb(skb); return 0; } @@ -1222,7 +1221,7 @@ return -EHOSTUNREACH; key->ip.ttl = --nh->hop_limit; - } else { + } else if (skb->protocol == htons(ETH_P_IP)) { struct iphdr *nh; u8 old_ttl; --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/conntrack.c +++ linux-riscv-5.8-5.8.0/net/openvswitch/conntrack.c @@ -903,15 +903,19 @@ } err = ovs_ct_nat_execute(skb, ct, ctinfo, &info->range, maniptype); - if (err == NF_ACCEPT && - ct->status & IPS_SRC_NAT && ct->status & IPS_DST_NAT) { - if (maniptype == NF_NAT_MANIP_SRC) - maniptype = NF_NAT_MANIP_DST; - else - maniptype = NF_NAT_MANIP_SRC; - - err = ovs_ct_nat_execute(skb, ct, ctinfo, &info->range, - maniptype); + if (err == NF_ACCEPT && ct->status & IPS_DST_NAT) { + if (ct->status & IPS_SRC_NAT) { + if (maniptype == NF_NAT_MANIP_SRC) + maniptype = NF_NAT_MANIP_DST; + else + maniptype = NF_NAT_MANIP_SRC; + + err = ovs_ct_nat_execute(skb, ct, ctinfo, &info->range, + maniptype); + } else if (CTINFO2DIR(ctinfo) == IP_CT_DIR_ORIGINAL) { + err = ovs_ct_nat_execute(skb, ct, ctinfo, NULL, + NF_NAT_MANIP_SRC); + } } /* Mark NAT done if successful and update the flow key. */ @@ -2018,16 +2022,12 @@ static int ovs_ct_limit_get_default_limit(struct ovs_ct_limit_info *info, struct sk_buff *reply) { - struct ovs_zone_limit zone_limit; - int err; + struct ovs_zone_limit zone_limit = { + .zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE, + .limit = info->default_limit, + }; - zone_limit.zone_id = OVS_ZONE_LIMIT_DEFAULT_ZONE; - zone_limit.limit = info->default_limit; - err = nla_put_nohdr(reply, sizeof(zone_limit), &zone_limit); - if (err) - return err; - - return 0; + return nla_put_nohdr(reply, sizeof(zone_limit), &zone_limit); } static int __ovs_ct_limit_get_zone_limit(struct net *net, --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/datapath.c +++ linux-riscv-5.8-5.8.0/net/openvswitch/datapath.c @@ -1736,6 +1736,7 @@ /* Called with ovs_mutex. */ static void __dp_destroy(struct datapath *dp) { + struct flow_table *table = &dp->table; int i; for (i = 0; i < DP_VPORT_HASH_BUCKETS; i++) { @@ -1754,7 +1755,14 @@ */ ovs_dp_detach_port(ovs_vport_ovsl(dp, OVSP_LOCAL)); - /* RCU destroy the flow table */ + /* Flush sw_flow in the tables. RCU cb only releases resource + * such as dp, ports and tables. That may avoid some issues + * such as RCU usage warning. + */ + table_instance_flow_flush(table, ovsl_dereference(table->ti), + ovsl_dereference(table->ufid_ti)); + + /* RCU destroy the ports, meters and flow tables. */ call_rcu(&dp->rcu, destroy_dp_rcu); } --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/flow_netlink.c +++ linux-riscv-5.8-5.8.0/net/openvswitch/flow_netlink.c @@ -2503,28 +2503,42 @@ __be16 eth_type, __be16 vlan_tci, u32 mpls_label_count, bool log) { - int start, err; - u32 nested = true; + const struct nlattr *attrs[OVS_DEC_TTL_ATTR_MAX + 1]; + int start, action_start, err, rem; + const struct nlattr *a, *actions; + + memset(attrs, 0, sizeof(attrs)); + nla_for_each_nested(a, attr, rem) { + int type = nla_type(a); + + /* Ignore unknown attributes to be future proof. */ + if (type > OVS_DEC_TTL_ATTR_MAX) + continue; - if (!nla_len(attr)) - return ovs_nla_add_action(sfa, OVS_ACTION_ATTR_DEC_TTL, - NULL, 0, log); + if (!type || attrs[type]) + return -EINVAL; + + attrs[type] = a; + } + + actions = attrs[OVS_DEC_TTL_ATTR_ACTION]; + if (rem || !actions || (nla_len(actions) && nla_len(actions) < NLA_HDRLEN)) + return -EINVAL; start = add_nested_action_start(sfa, OVS_ACTION_ATTR_DEC_TTL, log); if (start < 0) return start; - err = ovs_nla_add_action(sfa, OVS_DEC_TTL_ATTR_ACTION, &nested, - sizeof(nested), log); - - if (err) - return err; + action_start = add_nested_action_start(sfa, OVS_DEC_TTL_ATTR_ACTION, log); + if (action_start < 0) + return start; - err = __ovs_nla_copy_actions(net, attr, key, sfa, eth_type, + err = __ovs_nla_copy_actions(net, actions, key, sfa, eth_type, vlan_tci, mpls_label_count, log); if (err) return err; + add_nested_action_end(*sfa, action_start); add_nested_action_end(*sfa, start); return 0; } @@ -3487,20 +3501,42 @@ static int dec_ttl_action_to_attr(const struct nlattr *attr, struct sk_buff *skb) { - int err = 0, rem = nla_len(attr); - struct nlattr *start; + struct nlattr *start, *action_start; + const struct nlattr *a; + int err = 0, rem; start = nla_nest_start_noflag(skb, OVS_ACTION_ATTR_DEC_TTL); - if (!start) return -EMSGSIZE; - err = ovs_nla_put_actions(nla_data(attr), rem, skb); - if (err) - nla_nest_cancel(skb, start); - else - nla_nest_end(skb, start); + nla_for_each_attr(a, nla_data(attr), nla_len(attr), rem) { + switch (nla_type(a)) { + case OVS_DEC_TTL_ATTR_ACTION: + + action_start = nla_nest_start_noflag(skb, OVS_DEC_TTL_ATTR_ACTION); + if (!action_start) { + err = -EMSGSIZE; + goto out; + } + err = ovs_nla_put_actions(nla_data(a), nla_len(a), skb); + if (err) + goto out; + + nla_nest_end(skb, action_start); + break; + + default: + /* Ignore all other option to be future compatible */ + break; + } + } + + nla_nest_end(skb, start); + return 0; + +out: + nla_nest_cancel(skb, start); return err; } --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/flow_table.c +++ linux-riscv-5.8-5.8.0/net/openvswitch/flow_table.c @@ -345,19 +345,15 @@ flow_mask_remove(table, flow->mask); } -static void table_instance_destroy(struct flow_table *table, - struct table_instance *ti, - struct table_instance *ufid_ti, - bool deferred) +/* Must be called with OVS mutex held. */ +void table_instance_flow_flush(struct flow_table *table, + struct table_instance *ti, + struct table_instance *ufid_ti) { int i; - if (!ti) - return; - - BUG_ON(!ufid_ti); if (ti->keep_flows) - goto skip_flows; + return; for (i = 0; i < ti->n_buckets; i++) { struct sw_flow *flow; @@ -369,18 +365,16 @@ table_instance_flow_free(table, ti, ufid_ti, flow, false); - ovs_flow_free(flow, deferred); + ovs_flow_free(flow, true); } } +} -skip_flows: - if (deferred) { - call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); - call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); - } else { - __table_instance_destroy(ti); - __table_instance_destroy(ufid_ti); - } +static void table_instance_destroy(struct table_instance *ti, + struct table_instance *ufid_ti) +{ + call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); + call_rcu(&ufid_ti->rcu, flow_tbl_destroy_rcu_cb); } /* No need for locking this function is called from RCU callback or @@ -393,7 +387,7 @@ free_percpu(table->mask_cache); kfree_rcu(rcu_dereference_raw(table->mask_array), rcu); - table_instance_destroy(table, ti, ufid_ti, false); + table_instance_destroy(ti, ufid_ti); } struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *ti, @@ -511,7 +505,8 @@ flow_table->count = 0; flow_table->ufid_count = 0; - table_instance_destroy(flow_table, old_ti, old_ufid_ti, true); + table_instance_flow_flush(flow_table, old_ti, old_ufid_ti); + table_instance_destroy(old_ti, old_ufid_ti); return 0; err_free_ti: --- linux-riscv-5.8-5.8.0.orig/net/openvswitch/flow_table.h +++ linux-riscv-5.8-5.8.0/net/openvswitch/flow_table.h @@ -86,4 +86,7 @@ void ovs_flow_mask_key(struct sw_flow_key *dst, const struct sw_flow_key *src, bool full, const struct sw_flow_mask *mask); +void table_instance_flow_flush(struct flow_table *table, + struct table_instance *ti, + struct table_instance *ufid_ti); #endif /* flow_table.h */ --- linux-riscv-5.8-5.8.0.orig/net/packet/af_packet.c +++ linux-riscv-5.8-5.8.0/net/packet/af_packet.c @@ -93,38 +93,42 @@ /* Assumptions: - - if device has no dev->hard_header routine, it adds and removes ll header - inside itself. In this case ll header is invisible outside of device, - but higher levels still should reserve dev->hard_header_len. - Some devices are enough clever to reallocate skb, when header - will not fit to reserved space (tunnel), another ones are silly - (PPP). + - If the device has no dev->header_ops->create, there is no LL header + visible above the device. In this case, its hard_header_len should be 0. + The device may prepend its own header internally. In this case, its + needed_headroom should be set to the space needed for it to add its + internal header. + For example, a WiFi driver pretending to be an Ethernet driver should + set its hard_header_len to be the Ethernet header length, and set its + needed_headroom to be (the real WiFi header length - the fake Ethernet + header length). - packet socket receives packets with pulled ll header, so that SOCK_RAW should push it back. On receive: ----------- -Incoming, dev->hard_header!=NULL +Incoming, dev_has_header(dev) == true mac_header -> ll header data -> data -Outgoing, dev->hard_header!=NULL +Outgoing, dev_has_header(dev) == true mac_header -> ll header data -> ll header -Incoming, dev->hard_header==NULL - mac_header -> UNKNOWN position. It is very likely, that it points to ll - header. PPP makes it, that is wrong, because introduce - assymetry between rx and tx paths. +Incoming, dev_has_header(dev) == false + mac_header -> data + However drivers often make it point to the ll header. + This is incorrect because the ll header should be invisible to us. data -> data -Outgoing, dev->hard_header==NULL - mac_header -> data. ll header is still not built! +Outgoing, dev_has_header(dev) == false + mac_header -> data. ll header is invisible to us. data -> data Resume - If dev->hard_header==NULL we are unlikely to restore sensible ll header. + If dev_has_header(dev) == false we are unable to restore the ll header, + because it is invisible to us. On transmit: @@ -942,6 +946,7 @@ } static void prb_clear_blk_fill_status(struct packet_ring_buffer *rb) + __releases(&pkc->blk_fill_in_prog_lock) { struct tpacket_kbdq_core *pkc = GET_PBDQC_FROM_RB(rb); atomic_dec(&pkc->blk_fill_in_prog); @@ -989,6 +994,7 @@ struct tpacket_kbdq_core *pkc, struct tpacket_block_desc *pbd, unsigned int len) + __acquires(&pkc->blk_fill_in_prog_lock) { struct tpacket3_hdr *ppd; @@ -2064,7 +2070,7 @@ skb->dev = dev; - if (dev->header_ops) { + if (dev_has_header(dev)) { /* The device has an explicit notion of ll header, * exported to higher levels. * @@ -2168,7 +2174,8 @@ int skb_len = skb->len; unsigned int snaplen, res; unsigned long status = TP_STATUS_USER; - unsigned short macoff, netoff, hdrlen; + unsigned short macoff, hdrlen; + unsigned int netoff; struct sk_buff *copy_skb = NULL; struct timespec64 ts; __u32 ts_status; @@ -2192,7 +2199,7 @@ if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; - if (dev->header_ops) { + if (dev_has_header(dev)) { if (sk->sk_type != SOCK_DGRAM) skb_push(skb, skb->data - skb_mac_header(skb)); else if (skb->pkt_type == PACKET_OUTGOING) { @@ -2237,6 +2244,10 @@ } macoff = netoff - maclen; } + if (netoff > USHRT_MAX) { + atomic_inc(&po->tp_drops); + goto drop_n_restore; + } if (po->tp_version <= TPACKET_V2) { if (macoff + snaplen > po->rx_ring.frame_size) { if (po->copy_thresh && @@ -2286,8 +2297,11 @@ if (do_vnet && virtio_net_hdr_from_skb(skb, h.raw + macoff - sizeof(struct virtio_net_hdr), - vio_le(), true, 0)) + vio_le(), true, 0)) { + if (po->tp_version == TPACKET_V3) + prb_clear_blk_fill_status(&po->rx_ring); goto drop_n_account; + } if (po->tp_version <= TPACKET_V2) { packet_increment_rx_head(po, &po->rx_ring); @@ -2393,7 +2407,7 @@ __clear_bit(slot_id, po->rx_ring.rx_owner_map); spin_unlock(&sk->sk_receive_queue.lock); sk->sk_data_ready(sk); - } else { + } else if (po->tp_version == TPACKET_V3) { prb_clear_blk_fill_status(&po->rx_ring); } @@ -4628,9 +4642,11 @@ mutex_init(&net->packet.sklist_lock); INIT_HLIST_HEAD(&net->packet.sklist); +#ifdef CONFIG_PROC_FS if (!proc_create_net("packet", 0, net->proc_net, &packet_seq_ops, sizeof(struct seq_net_private))) return -ENOMEM; +#endif /* CONFIG_PROC_FS */ return 0; } --- linux-riscv-5.8-5.8.0.orig/net/psample/psample.c +++ linux-riscv-5.8-5.8.0/net/psample/psample.c @@ -309,10 +309,10 @@ unsigned short tun_proto = ip_tunnel_info_af(tun_info); const struct ip_tunnel_key *tun_key = &tun_info->key; int tun_opts_len = tun_info->options_len; - int sum = 0; + int sum = nla_total_size(0); /* PSAMPLE_ATTR_TUNNEL */ if (tun_key->tun_flags & TUNNEL_KEY) - sum += nla_total_size(sizeof(u64)); + sum += nla_total_size_64bit(sizeof(u64)); if (tun_info->mode & IP_TUNNEL_INFO_BRIDGE) sum += nla_total_size(0); --- linux-riscv-5.8-5.8.0.orig/net/qrtr/mhi.c +++ linux-riscv-5.8-5.8.0/net/qrtr/mhi.c @@ -50,6 +50,9 @@ struct qrtr_mhi_dev *qdev = container_of(ep, struct qrtr_mhi_dev, ep); int rc; + if (skb->sk) + sock_hold(skb->sk); + rc = skb_linearize(skb); if (rc) goto free_skb; @@ -59,12 +62,11 @@ if (rc) goto free_skb; - if (skb->sk) - sock_hold(skb->sk); - return rc; free_skb: + if (skb->sk) + sock_put(skb->sk); kfree_skb(skb); return rc; --- linux-riscv-5.8-5.8.0.orig/net/qrtr/ns.c +++ linux-riscv-5.8-5.8.0/net/qrtr/ns.c @@ -193,12 +193,13 @@ struct qrtr_server *srv; struct qrtr_node *node; void __rcu **slot; - int ret; + int ret = 0; node = node_get(qrtr_ns.local_node); if (!node) return 0; + rcu_read_lock(); /* Announce the list of servers registered in this node */ radix_tree_for_each_slot(slot, &node->servers, &iter, 0) { srv = radix_tree_deref_slot(slot); @@ -206,11 +207,14 @@ ret = service_announce_new(sq, srv); if (ret < 0) { pr_err("failed to announce new service\n"); - return ret; + goto err_out; } } - return 0; +err_out: + rcu_read_unlock(); + + return ret; } static struct qrtr_server *server_add(unsigned int service, @@ -335,7 +339,7 @@ struct qrtr_node *node; void __rcu **slot; struct kvec iv; - int ret; + int ret = 0; iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); @@ -344,11 +348,13 @@ if (!node) return 0; + rcu_read_lock(); /* Advertise removal of this client to all servers of remote node */ radix_tree_for_each_slot(slot, &node->servers, &iter, 0) { srv = radix_tree_deref_slot(slot); server_del(node, srv->port); } + rcu_read_unlock(); /* Advertise the removal of this client to all local servers */ local_node = node_get(qrtr_ns.local_node); @@ -359,6 +365,7 @@ pkt.cmd = cpu_to_le32(QRTR_TYPE_BYE); pkt.client.node = cpu_to_le32(from->sq_node); + rcu_read_lock(); radix_tree_for_each_slot(slot, &local_node->servers, &iter, 0) { srv = radix_tree_deref_slot(slot); @@ -372,11 +379,14 @@ ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); if (ret < 0) { pr_err("failed to send bye cmd\n"); - return ret; + goto err_out; } } - return 0; +err_out: + rcu_read_unlock(); + + return ret; } static int ctrl_cmd_del_client(struct sockaddr_qrtr *from, @@ -394,7 +404,7 @@ struct list_head *li; void __rcu **slot; struct kvec iv; - int ret; + int ret = 0; iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); @@ -434,6 +444,7 @@ pkt.client.node = cpu_to_le32(node_id); pkt.client.port = cpu_to_le32(port); + rcu_read_lock(); radix_tree_for_each_slot(slot, &local_node->servers, &iter, 0) { srv = radix_tree_deref_slot(slot); @@ -447,11 +458,14 @@ ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); if (ret < 0) { pr_err("failed to send del client cmd\n"); - return ret; + goto err_out; } } - return 0; +err_out: + rcu_read_unlock(); + + return ret; } static int ctrl_cmd_new_server(struct sockaddr_qrtr *from, @@ -554,6 +568,7 @@ filter.service = service; filter.instance = instance; + rcu_read_lock(); radix_tree_for_each_slot(node_slot, &nodes, &node_iter, 0) { node = radix_tree_deref_slot(node_slot); @@ -568,6 +583,7 @@ lookup_notify(from, srv, true); } } + rcu_read_unlock(); /* Empty notification, to indicate end of listing */ lookup_notify(from, NULL, true); --- linux-riscv-5.8-5.8.0.orig/net/qrtr/qrtr.c +++ linux-riscv-5.8-5.8.0/net/qrtr/qrtr.c @@ -266,7 +266,10 @@ flow = kzalloc(sizeof(*flow), GFP_KERNEL); if (flow) { init_waitqueue_head(&flow->resume_tx); - radix_tree_insert(&node->qrtr_tx_flow, key, flow); + if (radix_tree_insert(&node->qrtr_tx_flow, key, flow)) { + kfree(flow); + flow = NULL; + } } } mutex_unlock(&node->qrtr_tx_lock); @@ -332,8 +335,7 @@ { struct qrtr_hdr_v1 *hdr; size_t len = skb->len; - int rc = -ENODEV; - int confirm_rx; + int rc, confirm_rx; confirm_rx = qrtr_tx_wait(node, to->sq_node, to->sq_port, type); if (confirm_rx < 0) { @@ -348,7 +350,7 @@ hdr->src_port_id = cpu_to_le32(from->sq_port); if (to->sq_port == QRTR_PORT_CTRL) { hdr->dst_node_id = cpu_to_le32(node->nid); - hdr->dst_port_id = cpu_to_le32(QRTR_NODE_BCAST); + hdr->dst_port_id = cpu_to_le32(QRTR_PORT_CTRL); } else { hdr->dst_node_id = cpu_to_le32(to->sq_node); hdr->dst_port_id = cpu_to_le32(to->sq_port); @@ -357,15 +359,17 @@ hdr->size = cpu_to_le32(len); hdr->confirm_rx = !!confirm_rx; - skb_put_padto(skb, ALIGN(len, 4) + sizeof(*hdr)); - - mutex_lock(&node->ep_lock); - if (node->ep) - rc = node->ep->xmit(node->ep, skb); - else - kfree_skb(skb); - mutex_unlock(&node->ep_lock); + rc = skb_put_padto(skb, ALIGN(len, 4) + sizeof(*hdr)); + if (!rc) { + mutex_lock(&node->ep_lock); + rc = -ENODEV; + if (node->ep) + rc = node->ep->xmit(node->ep, skb); + else + kfree_skb(skb); + mutex_unlock(&node->ep_lock); + } /* Need to ensure that a subsequent message carries the otherwise lost * confirm_rx flag if we dropped this one */ if (rc && confirm_rx) @@ -432,7 +436,7 @@ if (len == 0 || len & 3) return -EINVAL; - skb = netdev_alloc_skb(NULL, len); + skb = __netdev_alloc_skb(NULL, len, GFP_ATOMIC | __GFP_NOWARN); if (!skb) return -ENOMEM; @@ -692,23 +696,25 @@ */ static int qrtr_port_assign(struct qrtr_sock *ipc, int *port) { + u32 min_port; int rc; mutex_lock(&qrtr_port_lock); if (!*port) { - rc = idr_alloc(&qrtr_ports, ipc, - QRTR_MIN_EPH_SOCKET, QRTR_MAX_EPH_SOCKET + 1, - GFP_ATOMIC); - if (rc >= 0) - *port = rc; + min_port = QRTR_MIN_EPH_SOCKET; + rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, QRTR_MAX_EPH_SOCKET, GFP_ATOMIC); + if (!rc) + *port = min_port; } else if (*port < QRTR_MIN_EPH_SOCKET && !capable(CAP_NET_ADMIN)) { rc = -EACCES; } else if (*port == QRTR_PORT_CTRL) { - rc = idr_alloc(&qrtr_ports, ipc, 0, 1, GFP_ATOMIC); + min_port = 0; + rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, 0, GFP_ATOMIC); } else { - rc = idr_alloc(&qrtr_ports, ipc, *port, *port + 1, GFP_ATOMIC); - if (rc >= 0) - *port = rc; + min_port = *port; + rc = idr_alloc_u32(&qrtr_ports, ipc, &min_port, *port, GFP_ATOMIC); + if (!rc) + *port = min_port; } mutex_unlock(&qrtr_port_lock); @@ -932,8 +938,10 @@ plen = (len + 3) & ~3; skb = sock_alloc_send_skb(sk, plen + QRTR_HDR_MAX_SIZE, msg->msg_flags & MSG_DONTWAIT, &rc); - if (!skb) + if (!skb) { + rc = -ENOMEM; goto out_node; + } skb_reserve(skb, QRTR_HDR_MAX_SIZE); @@ -1030,6 +1038,11 @@ rc = copied; if (addr) { + /* There is an anonymous 2-byte hole after sq_family, + * make sure to clear it. + */ + memset(addr, 0, sizeof(*addr)); + addr->sq_family = AF_QIPCRTR; addr->sq_node = cb->src_node; addr->sq_port = cb->src_port; --- linux-riscv-5.8-5.8.0.orig/net/qrtr/tun.c +++ linux-riscv-5.8-5.8.0/net/qrtr/tun.c @@ -31,6 +31,7 @@ static int qrtr_tun_open(struct inode *inode, struct file *filp) { struct qrtr_tun *tun; + int ret; tun = kzalloc(sizeof(*tun), GFP_KERNEL); if (!tun) @@ -43,7 +44,16 @@ filp->private_data = tun; - return qrtr_endpoint_register(&tun->ep, QRTR_EP_NID_AUTO); + ret = qrtr_endpoint_register(&tun->ep, QRTR_EP_NID_AUTO); + if (ret) + goto out; + + return 0; + +out: + filp->private_data = NULL; + kfree(tun); + return ret; } static ssize_t qrtr_tun_read_iter(struct kiocb *iocb, struct iov_iter *to) @@ -80,6 +90,12 @@ ssize_t ret; void *kbuf; + if (!len) + return -EINVAL; + + if (len > KMALLOC_MAX_SIZE) + return -ENOMEM; + kbuf = kzalloc(len, GFP_KERNEL); if (!kbuf) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/net/rds/ib.h +++ linux-riscv-5.8-5.8.0/net/rds/ib.h @@ -264,13 +264,6 @@ int *vector_load; }; -static inline int ibdev_to_node(struct ib_device *ibdev) -{ - struct device *parent; - - parent = ibdev->dev.parent; - return parent ? dev_to_node(parent) : NUMA_NO_NODE; -} #define rdsibdev_to_node(rdsibdev) ibdev_to_node(rdsibdev->dev) /* bits for i_ack_flags */ --- linux-riscv-5.8-5.8.0.orig/net/rds/ib_send.c +++ linux-riscv-5.8-5.8.0/net/rds/ib_send.c @@ -504,7 +504,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-riscv-5.8-5.8.0.orig/net/rds/message.c +++ linux-riscv-5.8-5.8.0/net/rds/message.c @@ -347,8 +347,9 @@ rm->data.op_nents = DIV_ROUND_UP(total_len, PAGE_SIZE); rm->data.op_sg = rds_message_alloc_sgs(rm, num_sgs); if (IS_ERR(rm->data.op_sg)) { + void *err = ERR_CAST(rm->data.op_sg); rds_message_put(rm); - return ERR_CAST(rm->data.op_sg); + return err; } for (i = 0; i < rm->data.op_nents; ++i) { --- linux-riscv-5.8-5.8.0.orig/net/rds/rdma.c +++ linux-riscv-5.8-5.8.0/net/rds/rdma.c @@ -567,6 +567,9 @@ if (args->nr_local == 0) return -EINVAL; + if (args->nr_local > UIO_MAXIOV) + return -EMSGSIZE; + iov->iov = kcalloc(args->nr_local, sizeof(struct rds_iovec), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/net/rfkill/core.c +++ linux-riscv-5.8-5.8.0/net/rfkill/core.c @@ -876,6 +876,9 @@ rfkill->suspended = false; + if (!rfkill->registered) + return 0; + if (!rfkill->persistent) { cur = !!(rfkill->state & RFKILL_BLOCK_SW); rfkill_set_block(rfkill, cur); --- linux-riscv-5.8-5.8.0.orig/net/rose/rose_loopback.c +++ linux-riscv-5.8-5.8.0/net/rose/rose_loopback.c @@ -96,10 +96,19 @@ } if (frametype == ROSE_CALL_REQUEST) { - if ((dev = rose_dev_get(dest)) != NULL) { - if (rose_rx_call_request(skb, dev, rose_loopback_neigh, lci_o) == 0) - kfree_skb(skb); - } else { + if (!rose_loopback_neigh->dev) { + kfree_skb(skb); + continue; + } + + dev = rose_dev_get(dest); + if (!dev) { + kfree_skb(skb); + continue; + } + + if (rose_rx_call_request(skb, dev, rose_loopback_neigh, lci_o) == 0) { + dev_put(dev); kfree_skb(skb); } } else { --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/af_rxrpc.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/af_rxrpc.c @@ -989,7 +989,7 @@ goto error_security; } - ret = register_pernet_subsys(&rxrpc_net_ops); + ret = register_pernet_device(&rxrpc_net_ops); if (ret) goto error_pernet; @@ -1034,7 +1034,7 @@ error_sock: proto_unregister(&rxrpc_proto); error_proto: - unregister_pernet_subsys(&rxrpc_net_ops); + unregister_pernet_device(&rxrpc_net_ops); error_pernet: rxrpc_exit_security(); error_security: @@ -1056,7 +1056,7 @@ unregister_key_type(&key_type_rxrpc); sock_unregister(PF_RXRPC); proto_unregister(&rxrpc_proto); - unregister_pernet_subsys(&rxrpc_net_ops); + unregister_pernet_device(&rxrpc_net_ops); ASSERTCMP(atomic_read(&rxrpc_n_tx_skbs), ==, 0); ASSERTCMP(atomic_read(&rxrpc_n_rx_skbs), ==, 0); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/ar-internal.h +++ linux-riscv-5.8-5.8.0/net/rxrpc/ar-internal.h @@ -488,7 +488,6 @@ RXRPC_CALL_RX_LAST, /* Received the last packet (at rxtx_top) */ RXRPC_CALL_TX_LAST, /* Last packet in Tx buffer (at rxtx_top) */ RXRPC_CALL_SEND_PING, /* A ping will need to be sent */ - RXRPC_CALL_PINGING, /* Ping in process */ RXRPC_CALL_RETRANS_TIMEOUT, /* Retransmission due to timeout occurred */ RXRPC_CALL_BEGAN_RX_TIMER, /* We began the expect_rx_by timer */ RXRPC_CALL_RX_HEARD, /* The peer responded at least once to this call */ @@ -673,9 +672,13 @@ rxrpc_seq_t ackr_consumed; /* Highest packet shown consumed */ rxrpc_seq_t ackr_seen; /* Highest packet shown seen */ - /* ping management */ - rxrpc_serial_t ping_serial; /* Last ping sent */ - ktime_t ping_time; /* Time last ping sent */ + /* RTT management */ + rxrpc_serial_t rtt_serial[4]; /* Serial number of DATA or PING sent */ + ktime_t rtt_sent_at[4]; /* Time packet sent */ + unsigned long rtt_avail; /* Mask of available slots in bits 0-3, + * Mask of pending samples in 8-11 */ +#define RXRPC_CALL_RTT_AVAIL_MASK 0xf +#define RXRPC_CALL_RTT_PEND_SHIFT 8 /* transmission-phase ACK management */ ktime_t acks_latest_ts; /* Timestamp of latest ACK received */ @@ -1037,7 +1040,7 @@ /* * rtt.c */ -void rxrpc_peer_add_rtt(struct rxrpc_call *, enum rxrpc_rtt_rx_trace, +void rxrpc_peer_add_rtt(struct rxrpc_call *, enum rxrpc_rtt_rx_trace, int, rxrpc_serial_t, rxrpc_serial_t, ktime_t, ktime_t); unsigned long rxrpc_get_rto_backoff(struct rxrpc_peer *, bool); void rxrpc_peer_init_rtt(struct rxrpc_peer *); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/call_accept.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/call_accept.c @@ -207,6 +207,7 @@ tail = b->peer_backlog_tail; while (CIRC_CNT(head, tail, size) > 0) { struct rxrpc_peer *peer = b->peer_backlog[tail]; + rxrpc_put_local(peer->local); kfree(peer); tail = (tail + 1) & (size - 1); } --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/call_object.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/call_object.c @@ -153,6 +153,7 @@ call->cong_ssthresh = RXRPC_RXTX_BUFF_SIZE - 1; call->rxnet = rxnet; + call->rtt_avail = RXRPC_CALL_RTT_AVAIL_MASK; atomic_inc(&rxnet->nr_calls); return call; @@ -507,8 +508,6 @@ rxrpc_disconnect_call(call); if (call->security) call->security->free_call_crypto(call); - - rxrpc_cleanup_ring(call); _leave(""); } --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/conn_event.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/conn_event.c @@ -340,18 +340,18 @@ return ret; spin_lock(&conn->channel_lock); - spin_lock(&conn->state_lock); + spin_lock_bh(&conn->state_lock); if (conn->state == RXRPC_CONN_SERVICE_CHALLENGING) { conn->state = RXRPC_CONN_SERVICE; - spin_unlock(&conn->state_lock); + spin_unlock_bh(&conn->state_lock); for (loop = 0; loop < RXRPC_MAXCALLS; loop++) rxrpc_call_is_secure( rcu_dereference_protected( conn->channels[loop].call, lockdep_is_held(&conn->channel_lock))); } else { - spin_unlock(&conn->state_lock); + spin_unlock_bh(&conn->state_lock); } spin_unlock(&conn->channel_lock); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/input.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/input.c @@ -430,7 +430,7 @@ return; } - if (call->state == RXRPC_CALL_SERVER_RECV_REQUEST) { + if (state == RXRPC_CALL_SERVER_RECV_REQUEST) { unsigned long timo = READ_ONCE(call->next_req_timo); unsigned long now, expect_req_by; @@ -608,36 +608,57 @@ } /* - * Process a requested ACK. + * See if there's a cached RTT probe to complete. */ -static void rxrpc_input_requested_ack(struct rxrpc_call *call, - ktime_t resp_time, - rxrpc_serial_t orig_serial, - rxrpc_serial_t ack_serial) +static void rxrpc_complete_rtt_probe(struct rxrpc_call *call, + ktime_t resp_time, + rxrpc_serial_t acked_serial, + rxrpc_serial_t ack_serial, + enum rxrpc_rtt_rx_trace type) { - struct rxrpc_skb_priv *sp; - struct sk_buff *skb; + rxrpc_serial_t orig_serial; + unsigned long avail; ktime_t sent_at; - int ix; + bool matched = false; + int i; - for (ix = 0; ix < RXRPC_RXTX_BUFF_SIZE; ix++) { - skb = call->rxtx_buffer[ix]; - if (!skb) - continue; + avail = READ_ONCE(call->rtt_avail); + smp_rmb(); /* Read avail bits before accessing data. */ - sent_at = skb->tstamp; - smp_rmb(); /* Read timestamp before serial. */ - sp = rxrpc_skb(skb); - if (sp->hdr.serial != orig_serial) + for (i = 0; i < ARRAY_SIZE(call->rtt_serial); i++) { + if (!test_bit(i + RXRPC_CALL_RTT_PEND_SHIFT, &avail)) continue; - goto found; - } - return; + sent_at = call->rtt_sent_at[i]; + orig_serial = call->rtt_serial[i]; + + if (orig_serial == acked_serial) { + clear_bit(i + RXRPC_CALL_RTT_PEND_SHIFT, &call->rtt_avail); + smp_mb(); /* Read data before setting avail bit */ + set_bit(i, &call->rtt_avail); + if (type != rxrpc_rtt_rx_cancel) + rxrpc_peer_add_rtt(call, type, i, acked_serial, ack_serial, + sent_at, resp_time); + else + trace_rxrpc_rtt_rx(call, rxrpc_rtt_rx_cancel, i, + orig_serial, acked_serial, 0, 0); + matched = true; + } + + /* If a later serial is being acked, then mark this slot as + * being available. + */ + if (after(acked_serial, orig_serial)) { + trace_rxrpc_rtt_rx(call, rxrpc_rtt_rx_obsolete, i, + orig_serial, acked_serial, 0, 0); + clear_bit(i + RXRPC_CALL_RTT_PEND_SHIFT, &call->rtt_avail); + smp_wmb(); + set_bit(i, &call->rtt_avail); + } + } -found: - rxrpc_peer_add_rtt(call, rxrpc_rtt_rx_requested_ack, - orig_serial, ack_serial, sent_at, resp_time); + if (!matched) + trace_rxrpc_rtt_rx(call, rxrpc_rtt_rx_lost, 9, 0, acked_serial, 0, 0); } /* @@ -682,27 +703,11 @@ */ static void rxrpc_input_ping_response(struct rxrpc_call *call, ktime_t resp_time, - rxrpc_serial_t orig_serial, + rxrpc_serial_t acked_serial, rxrpc_serial_t ack_serial) { - rxrpc_serial_t ping_serial; - ktime_t ping_time; - - ping_time = call->ping_time; - smp_rmb(); - ping_serial = READ_ONCE(call->ping_serial); - - if (orig_serial == call->acks_lost_ping) + if (acked_serial == call->acks_lost_ping) rxrpc_input_check_for_lost_ack(call); - - if (before(orig_serial, ping_serial) || - !test_and_clear_bit(RXRPC_CALL_PINGING, &call->flags)) - return; - if (after(orig_serial, ping_serial)) - return; - - rxrpc_peer_add_rtt(call, rxrpc_rtt_rx_ping_response, - orig_serial, ack_serial, ping_time, resp_time); } /* @@ -843,7 +848,7 @@ struct rxrpc_ackinfo info; u8 acks[RXRPC_MAXACKS]; } buf; - rxrpc_serial_t acked_serial; + rxrpc_serial_t ack_serial, acked_serial; rxrpc_seq_t first_soft_ack, hard_ack, prev_pkt; int nr_acks, offset, ioffset; @@ -856,6 +861,7 @@ } offset += sizeof(buf.ack); + ack_serial = sp->hdr.serial; acked_serial = ntohl(buf.ack.serial); first_soft_ack = ntohl(buf.ack.firstPacket); prev_pkt = ntohl(buf.ack.previousPacket); @@ -864,31 +870,42 @@ summary.ack_reason = (buf.ack.reason < RXRPC_ACK__INVALID ? buf.ack.reason : RXRPC_ACK__INVALID); - trace_rxrpc_rx_ack(call, sp->hdr.serial, acked_serial, + trace_rxrpc_rx_ack(call, ack_serial, acked_serial, first_soft_ack, prev_pkt, summary.ack_reason, nr_acks); - if (buf.ack.reason == RXRPC_ACK_PING_RESPONSE) + switch (buf.ack.reason) { + case RXRPC_ACK_PING_RESPONSE: rxrpc_input_ping_response(call, skb->tstamp, acked_serial, - sp->hdr.serial); - if (buf.ack.reason == RXRPC_ACK_REQUESTED) - rxrpc_input_requested_ack(call, skb->tstamp, acked_serial, - sp->hdr.serial); + ack_serial); + rxrpc_complete_rtt_probe(call, skb->tstamp, acked_serial, ack_serial, + rxrpc_rtt_rx_ping_response); + break; + case RXRPC_ACK_REQUESTED: + rxrpc_complete_rtt_probe(call, skb->tstamp, acked_serial, ack_serial, + rxrpc_rtt_rx_requested_ack); + break; + default: + if (acked_serial != 0) + rxrpc_complete_rtt_probe(call, skb->tstamp, acked_serial, ack_serial, + rxrpc_rtt_rx_cancel); + break; + } if (buf.ack.reason == RXRPC_ACK_PING) { - _proto("Rx ACK %%%u PING Request", sp->hdr.serial); + _proto("Rx ACK %%%u PING Request", ack_serial); rxrpc_propose_ACK(call, RXRPC_ACK_PING_RESPONSE, - sp->hdr.serial, true, true, + ack_serial, true, true, rxrpc_propose_ack_respond_to_ping); } else if (sp->hdr.flags & RXRPC_REQUEST_ACK) { rxrpc_propose_ACK(call, RXRPC_ACK_REQUESTED, - sp->hdr.serial, true, true, + ack_serial, true, true, rxrpc_propose_ack_respond_to_ack); } /* Discard any out-of-order or duplicate ACKs (outside lock). */ if (!rxrpc_is_ack_valid(call, first_soft_ack, prev_pkt)) { - trace_rxrpc_rx_discard_ack(call->debug_id, sp->hdr.serial, + trace_rxrpc_rx_discard_ack(call->debug_id, ack_serial, first_soft_ack, call->ackr_first_seq, prev_pkt, call->ackr_prev_seq); return; @@ -904,7 +921,7 @@ /* Discard any out-of-order or duplicate ACKs (inside lock). */ if (!rxrpc_is_ack_valid(call, first_soft_ack, prev_pkt)) { - trace_rxrpc_rx_discard_ack(call->debug_id, sp->hdr.serial, + trace_rxrpc_rx_discard_ack(call->debug_id, ack_serial, first_soft_ack, call->ackr_first_seq, prev_pkt, call->ackr_prev_seq); goto out; @@ -964,7 +981,7 @@ RXRPC_TX_ANNO_LAST && summary.nr_acks == call->tx_top - hard_ack && rxrpc_is_client_call(call)) - rxrpc_propose_ACK(call, RXRPC_ACK_PING, sp->hdr.serial, + rxrpc_propose_ACK(call, RXRPC_ACK_PING, ack_serial, false, true, rxrpc_propose_ack_ping_for_lost_reply); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/key.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/key.c @@ -903,7 +903,7 @@ _enter(""); - if (optlen <= 0 || optlen > PAGE_SIZE - 1) + if (optlen <= 0 || optlen > PAGE_SIZE - 1 || rx->securities) return -EINVAL; description = memdup_user_nul(optval, optlen); @@ -941,7 +941,7 @@ if (IS_ERR(description)) return PTR_ERR(description); - key = request_key_net(&key_type_keyring, description, sock_net(&rx->sk), NULL); + key = request_key(&key_type_keyring, description, NULL); if (IS_ERR(key)) { kfree(description); _leave(" = %ld", PTR_ERR(key)); @@ -1073,7 +1073,7 @@ switch (token->security_index) { case RXRPC_SECURITY_RXKAD: - toksize += 9 * 4; /* viceid, kvno, key*2 + len, begin, + toksize += 8 * 4; /* viceid, kvno, key*2, begin, * end, primary, tktlen */ toksize += RND(token->kad->ticket_len); break; @@ -1108,8 +1108,9 @@ break; default: /* we have a ticket we can't encode */ - BUG(); - continue; + pr_err("Unsupported key token type (%u)\n", + token->security_index); + return -ENOPKG; } _debug("token[%u]: toksize=%u", ntoks, toksize); @@ -1139,6 +1140,14 @@ memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \ xdr += (_l + 3) >> 2; \ } while(0) +#define ENCODE_BYTES(l, s) \ + do { \ + u32 _l = (l); \ + memcpy(xdr, (s), _l); \ + if (_l & 3) \ + memcpy((u8 *)xdr + _l, &zero, 4 - (_l & 3)); \ + xdr += (_l + 3) >> 2; \ + } while(0) #define ENCODE64(x) \ do { \ __be64 y = cpu_to_be64(x); \ @@ -1166,7 +1175,7 @@ case RXRPC_SECURITY_RXKAD: ENCODE(token->kad->vice_id); ENCODE(token->kad->kvno); - ENCODE_DATA(8, token->kad->session_key); + ENCODE_BYTES(8, token->kad->session_key); ENCODE(token->kad->start); ENCODE(token->kad->expiry); ENCODE(token->kad->primary_flag); @@ -1216,8 +1225,9 @@ break; default: - BUG(); - break; + pr_err("Unsupported key token type (%u)\n", + token->security_index); + return -ENOPKG; } ASSERTCMP((unsigned long)xdr - (unsigned long)oldxdr, ==, --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/output.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/output.c @@ -124,6 +124,49 @@ } /* + * Record the beginning of an RTT probe. + */ +static int rxrpc_begin_rtt_probe(struct rxrpc_call *call, rxrpc_serial_t serial, + enum rxrpc_rtt_tx_trace why) +{ + unsigned long avail = call->rtt_avail; + int rtt_slot = 9; + + if (!(avail & RXRPC_CALL_RTT_AVAIL_MASK)) + goto no_slot; + + rtt_slot = __ffs(avail & RXRPC_CALL_RTT_AVAIL_MASK); + if (!test_and_clear_bit(rtt_slot, &call->rtt_avail)) + goto no_slot; + + call->rtt_serial[rtt_slot] = serial; + call->rtt_sent_at[rtt_slot] = ktime_get_real(); + smp_wmb(); /* Write data before avail bit */ + set_bit(rtt_slot + RXRPC_CALL_RTT_PEND_SHIFT, &call->rtt_avail); + + trace_rxrpc_rtt_tx(call, why, rtt_slot, serial); + return rtt_slot; + +no_slot: + trace_rxrpc_rtt_tx(call, rxrpc_rtt_tx_no_slot, rtt_slot, serial); + return -1; +} + +/* + * Cancel an RTT probe. + */ +static void rxrpc_cancel_rtt_probe(struct rxrpc_call *call, + rxrpc_serial_t serial, int rtt_slot) +{ + if (rtt_slot != -1) { + clear_bit(rtt_slot + RXRPC_CALL_RTT_PEND_SHIFT, &call->rtt_avail); + smp_wmb(); /* Clear pending bit before setting slot */ + set_bit(rtt_slot, &call->rtt_avail); + trace_rxrpc_rtt_tx(call, rxrpc_rtt_tx_cancel, rtt_slot, serial); + } +} + +/* * Send an ACK call packet. */ int rxrpc_send_ack_packet(struct rxrpc_call *call, bool ping, @@ -136,7 +179,7 @@ rxrpc_serial_t serial; rxrpc_seq_t hard_ack, top; size_t len, n; - int ret; + int ret, rtt_slot = -1; u8 reason; if (test_bit(RXRPC_CALL_DISCONNECTED, &call->flags)) @@ -196,18 +239,8 @@ if (_serial) *_serial = serial; - if (ping) { - call->ping_serial = serial; - smp_wmb(); - /* We need to stick a time in before we send the packet in case - * the reply gets back before kernel_sendmsg() completes - but - * asking UDP to send the packet can take a relatively long - * time. - */ - call->ping_time = ktime_get_real(); - set_bit(RXRPC_CALL_PINGING, &call->flags); - trace_rxrpc_rtt_tx(call, rxrpc_rtt_tx_ping, serial); - } + if (ping) + rtt_slot = rxrpc_begin_rtt_probe(call, serial, rxrpc_rtt_tx_ping); ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); conn->params.peer->last_tx_at = ktime_get_seconds(); @@ -221,8 +254,7 @@ if (call->state < RXRPC_CALL_COMPLETE) { if (ret < 0) { - if (ping) - clear_bit(RXRPC_CALL_PINGING, &call->flags); + rxrpc_cancel_rtt_probe(call, serial, rtt_slot); rxrpc_propose_ACK(call, pkt->ack.reason, ntohl(pkt->ack.serial), false, true, @@ -321,7 +353,7 @@ struct kvec iov[2]; rxrpc_serial_t serial; size_t len; - int ret; + int ret, rtt_slot = -1; _enter(",{%d}", skb->len); @@ -397,6 +429,8 @@ sp->hdr.serial = serial; smp_wmb(); /* Set serial before timestamp */ skb->tstamp = ktime_get_real(); + if (whdr.flags & RXRPC_REQUEST_ACK) + rtt_slot = rxrpc_begin_rtt_probe(call, serial, rxrpc_rtt_tx_data); /* send the packet by UDP * - returns -EMSGSIZE if UDP would have to fragment the packet @@ -408,12 +442,15 @@ conn->params.peer->last_tx_at = ktime_get_seconds(); up_read(&conn->params.local->defrag_sem); - if (ret < 0) + if (ret < 0) { + rxrpc_cancel_rtt_probe(call, serial, rtt_slot); trace_rxrpc_tx_fail(call->debug_id, serial, ret, rxrpc_tx_point_call_data_nofrag); - else + } else { trace_rxrpc_tx_packet(call->debug_id, &whdr, rxrpc_tx_point_call_data_nofrag); + } + rxrpc_tx_backoff(call, ret); if (ret == -EMSGSIZE) goto send_fragmentable; @@ -422,7 +459,6 @@ if (ret >= 0) { if (whdr.flags & RXRPC_REQUEST_ACK) { call->peer->rtt_last_req = skb->tstamp; - trace_rxrpc_rtt_tx(call, rxrpc_rtt_tx_data, serial); if (call->peer->rtt_count > 1) { unsigned long nowj = jiffies, ack_lost_at; @@ -469,6 +505,8 @@ sp->hdr.serial = serial; smp_wmb(); /* Set serial before timestamp */ skb->tstamp = ktime_get_real(); + if (whdr.flags & RXRPC_REQUEST_ACK) + rtt_slot = rxrpc_begin_rtt_probe(call, serial, rxrpc_rtt_tx_data); switch (conn->params.local->srx.transport.family) { case AF_INET6: @@ -487,12 +525,14 @@ BUG(); } - if (ret < 0) + if (ret < 0) { + rxrpc_cancel_rtt_probe(call, serial, rtt_slot); trace_rxrpc_tx_fail(call->debug_id, serial, ret, rxrpc_tx_point_call_data_frag); - else + } else { trace_rxrpc_tx_packet(call->debug_id, &whdr, rxrpc_tx_point_call_data_frag); + } rxrpc_tx_backoff(call, ret); up_write(&conn->params.local->defrag_sem); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/peer_object.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/peer_object.c @@ -502,11 +502,21 @@ * rxrpc_kernel_get_srtt - Get a call's peer smoothed RTT * @sock: The socket on which the call is in progress. * @call: The call to query + * @_srtt: Where to store the SRTT value. * - * Get the call's peer smoothed RTT. + * Get the call's peer smoothed RTT in uS. */ -u32 rxrpc_kernel_get_srtt(struct socket *sock, struct rxrpc_call *call) +bool rxrpc_kernel_get_srtt(struct socket *sock, struct rxrpc_call *call, + u32 *_srtt) { - return call->peer->srtt_us >> 3; + struct rxrpc_peer *peer = call->peer; + + if (peer->rtt_count == 0) { + *_srtt = 1000000; /* 1S */ + return false; + } + + *_srtt = call->peer->srtt_us >> 3; + return true; } EXPORT_SYMBOL(rxrpc_kernel_get_srtt); --- linux-riscv-5.8-5.8.0.orig/net/rxrpc/rtt.c +++ linux-riscv-5.8-5.8.0/net/rxrpc/rtt.c @@ -146,6 +146,7 @@ * exclusive access to the peer RTT data. */ void rxrpc_peer_add_rtt(struct rxrpc_call *call, enum rxrpc_rtt_rx_trace why, + int rtt_slot, rxrpc_serial_t send_serial, rxrpc_serial_t resp_serial, ktime_t send_time, ktime_t resp_time) { @@ -162,7 +163,7 @@ peer->rtt_count++; spin_unlock(&peer->rtt_input_lock); - trace_rxrpc_rtt_rx(call, why, send_serial, resp_serial, + trace_rxrpc_rtt_rx(call, why, rtt_slot, send_serial, resp_serial, peer->srtt_us >> 3, peer->rto_j); } --- linux-riscv-5.8-5.8.0.orig/net/sched/Kconfig +++ linux-riscv-5.8-5.8.0/net/sched/Kconfig @@ -809,7 +809,7 @@ config NET_ACT_IPT tristate "IPtables targets" - depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES + depends on NET_CLS_ACT && NETFILTER && NETFILTER_XTABLES help Say Y here to be able to invoke iptables targets after successful classification. @@ -908,7 +908,7 @@ config NET_ACT_CONNMARK tristate "Netfilter Connection Mark Retriever" - depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES + depends on NET_CLS_ACT && NETFILTER depends on NF_CONNTRACK && NF_CONNTRACK_MARK help Say Y here to allow retrieving of conn mark @@ -920,7 +920,7 @@ config NET_ACT_CTINFO tristate "Netfilter Connection Mark Actions" - depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES + depends on NET_CLS_ACT && NETFILTER depends on NF_CONNTRACK && NF_CONNTRACK_MARK help Say Y here to allow transfer of a connmark stored information. --- linux-riscv-5.8-5.8.0.orig/net/sched/act_api.c +++ linux-riscv-5.8-5.8.0/net/sched/act_api.c @@ -307,6 +307,8 @@ mutex_lock(&idrinfo->lock); idr_for_each_entry_ul(idr, p, tmp, id) { + if (IS_ERR(p)) + continue; ret = tcf_idr_release_unsafe(p); if (ret == ACT_P_DELETED) { module_put(ops->owner); @@ -467,17 +469,6 @@ } EXPORT_SYMBOL(tcf_idr_create_from_flags); -void tcf_idr_insert(struct tc_action_net *tn, struct tc_action *a) -{ - struct tcf_idrinfo *idrinfo = tn->idrinfo; - - mutex_lock(&idrinfo->lock); - /* Replace ERR_PTR(-EBUSY) allocated by tcf_idr_check_alloc */ - WARN_ON(!IS_ERR(idr_replace(&idrinfo->action_idr, a, a->tcfa_index))); - mutex_unlock(&idrinfo->lock); -} -EXPORT_SYMBOL(tcf_idr_insert); - /* Cleanup idr index that was allocated but not initialized. */ void tcf_idr_cleanup(struct tc_action_net *tn, u32 index) @@ -731,13 +722,6 @@ return ret; } -static int tcf_action_destroy_1(struct tc_action *a, int bind) -{ - struct tc_action *actions[] = { a, NULL }; - - return tcf_action_destroy(actions, bind); -} - static int tcf_action_put(struct tc_action *p) { return __tcf_action_put(p, false); @@ -902,10 +886,30 @@ [TCA_ACT_HW_STATS] = NLA_POLICY_BITFIELD32(TCA_ACT_HW_STATS_ANY), }; +void tcf_idr_insert_many(struct tc_action *actions[]) +{ + int i; + + for (i = 0; i < TCA_ACT_MAX_PRIO; i++) { + struct tc_action *a = actions[i]; + struct tcf_idrinfo *idrinfo; + + if (!a) + continue; + idrinfo = a->idrinfo; + mutex_lock(&idrinfo->lock); + /* Replace ERR_PTR(-EBUSY) allocated by tcf_idr_check_alloc if + * it is just created, otherwise this is just a nop. + */ + idr_replace(&idrinfo->action_idr, a, a->tcfa_index); + mutex_unlock(&idrinfo->lock); + } +} + struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, struct nlattr *nla, struct nlattr *est, char *name, int ovr, int bind, - bool rtnl_held, + int *init_res, bool rtnl_held, struct netlink_ext_ack *extack) { struct nla_bitfield32 flags = { 0, 0 }; @@ -988,6 +992,7 @@ tp, flags.value, extack); if (err < 0) goto err_mod; + *init_res = err; if (!name && tb[TCA_ACT_COOKIE]) tcf_set_action_cookie(&a->act_cookie, cookie); @@ -1002,13 +1007,6 @@ if (err != ACT_P_CREATED) module_put(a_o->owner); - if (TC_ACT_EXT_CMP(a->tcfa_action, TC_ACT_GOTO_CHAIN) && - !rcu_access_pointer(a->goto_chain)) { - tcf_action_destroy_1(a, bind); - NL_SET_ERR_MSG(extack, "can't use goto chain with NULL chain"); - return ERR_PTR(-EINVAL); - } - return a; err_mod: @@ -1025,7 +1023,7 @@ int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla, struct nlattr *est, char *name, int ovr, int bind, - struct tc_action *actions[], size_t *attr_size, + struct tc_action *actions[], int init_res[], size_t *attr_size, bool rtnl_held, struct netlink_ext_ack *extack) { struct nlattr *tb[TCA_ACT_MAX_PRIO + 1]; @@ -1041,7 +1039,7 @@ for (i = 1; i <= TCA_ACT_MAX_PRIO && tb[i]; i++) { act = tcf_action_init_1(net, tp, tb[i], est, name, ovr, bind, - rtnl_held, extack); + &init_res[i - 1], rtnl_held, extack); if (IS_ERR(act)) { err = PTR_ERR(act); goto err; @@ -1051,6 +1049,11 @@ actions[i - 1] = act; } + /* We have to commit them all together, because if any error happened in + * between, we could not handle the failure gracefully. + */ + tcf_idr_insert_many(actions); + *attr_size = tcf_action_full_attrs_size(sz); return i - 1; @@ -1446,12 +1449,13 @@ struct netlink_ext_ack *extack) { size_t attr_size = 0; - int loop, ret; + int loop, ret, i; struct tc_action *actions[TCA_ACT_MAX_PRIO] = {}; + int init_res[TCA_ACT_MAX_PRIO] = {}; for (loop = 0; loop < 10; loop++) { ret = tcf_action_init(net, NULL, nla, NULL, NULL, ovr, 0, - actions, &attr_size, true, extack); + actions, init_res, &attr_size, true, extack); if (ret != -EAGAIN) break; } @@ -1459,8 +1463,12 @@ if (ret < 0) return ret; ret = tcf_add_notify(net, n, actions, portid, attr_size, extack); - if (ovr) - tcf_action_put_many(actions); + + /* only put existing actions */ + for (i = 0; i < TCA_ACT_MAX_PRIO; i++) + if (init_res[i] == ACT_P_CREATED) + actions[i] = NULL; + tcf_action_put_many(actions); return ret; } --- linux-riscv-5.8-5.8.0.orig/net/sched/act_bpf.c +++ linux-riscv-5.8-5.8.0/net/sched/act_bpf.c @@ -365,9 +365,7 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (res == ACT_P_CREATED) { - tcf_idr_insert(tn, *act); - } else { + if (res != ACT_P_CREATED) { /* make sure the program being replaced is no longer executing */ synchronize_rcu(); tcf_bpf_cfg_cleanup(&old); --- linux-riscv-5.8-5.8.0.orig/net/sched/act_connmark.c +++ linux-riscv-5.8-5.8.0/net/sched/act_connmark.c @@ -139,7 +139,6 @@ ci->net = net; ci->zone = parm->zone; - tcf_idr_insert(tn, *a); ret = ACT_P_CREATED; } else if (ret > 0) { ci = to_connmark(*a); --- linux-riscv-5.8-5.8.0.orig/net/sched/act_csum.c +++ linux-riscv-5.8-5.8.0/net/sched/act_csum.c @@ -110,9 +110,6 @@ if (params_new) kfree_rcu(params_new, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_ct.c +++ linux-riscv-5.8-5.8.0/net/sched/act_ct.c @@ -156,11 +156,11 @@ __be16 target_dst = target.dst.u.udp.port; if (target_src != tuple->src.u.udp.port) - tcf_ct_add_mangle_action(action, FLOW_ACT_MANGLE_HDR_TYPE_TCP, + tcf_ct_add_mangle_action(action, FLOW_ACT_MANGLE_HDR_TYPE_UDP, offsetof(struct udphdr, source), 0xFFFF, be16_to_cpu(target_src)); if (target_dst != tuple->dst.u.udp.port) - tcf_ct_add_mangle_action(action, FLOW_ACT_MANGLE_HDR_TYPE_TCP, + tcf_ct_add_mangle_action(action, FLOW_ACT_MANGLE_HDR_TYPE_UDP, offsetof(struct udphdr, dest), 0xFFFF, be16_to_cpu(target_dst)); } @@ -704,7 +704,7 @@ err = ip_defrag(net, skb, user); local_bh_enable(); if (err && err != -EINPROGRESS) - goto out_free; + return err; if (!err) *defrag = true; @@ -1293,8 +1293,6 @@ tcf_chain_put_by_act(goto_ch); if (params) call_rcu(¶ms->rcu, tcf_ct_params_free); - if (res == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return res; --- linux-riscv-5.8-5.8.0.orig/net/sched/act_ctinfo.c +++ linux-riscv-5.8-5.8.0/net/sched/act_ctinfo.c @@ -269,9 +269,6 @@ if (cp_new) kfree_rcu(cp_new, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; put_chain: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_gact.c +++ linux-riscv-5.8-5.8.0/net/sched/act_gact.c @@ -140,8 +140,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; release_idr: tcf_idr_release(*a, bind); --- linux-riscv-5.8-5.8.0.orig/net/sched/act_gate.c +++ linux-riscv-5.8-5.8.0/net/sched/act_gate.c @@ -437,9 +437,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; chain_put: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_ife.c +++ linux-riscv-5.8-5.8.0/net/sched/act_ife.c @@ -436,6 +436,25 @@ kfree_rcu(p, rcu); } +static int load_metalist(struct nlattr **tb, bool rtnl_held) +{ + int i; + + for (i = 1; i < max_metacnt; i++) { + if (tb[i]) { + void *val = nla_data(tb[i]); + int len = nla_len(tb[i]); + int rc; + + rc = load_metaops_and_vet(i, val, len, rtnl_held); + if (rc != 0) + return rc; + } + } + + return 0; +} + static int populate_metalist(struct tcf_ife_info *ife, struct nlattr **tb, bool exists, bool rtnl_held) { @@ -449,10 +468,6 @@ val = nla_data(tb[i]); len = nla_len(tb[i]); - rc = load_metaops_and_vet(i, val, len, rtnl_held); - if (rc != 0) - return rc; - rc = add_metainfo(ife, i, val, len, exists); if (rc) return rc; @@ -509,6 +524,21 @@ if (!p) return -ENOMEM; + if (tb[TCA_IFE_METALST]) { + err = nla_parse_nested_deprecated(tb2, IFE_META_MAX, + tb[TCA_IFE_METALST], NULL, + NULL); + if (err) { + kfree(p); + return err; + } + err = load_metalist(tb2, rtnl_held); + if (err) { + kfree(p); + return err; + } + } + index = parm->index; err = tcf_idr_check_alloc(tn, &index, a, bind); if (err < 0) { @@ -570,15 +600,9 @@ } if (tb[TCA_IFE_METALST]) { - err = nla_parse_nested_deprecated(tb2, IFE_META_MAX, - tb[TCA_IFE_METALST], NULL, - NULL); - if (err) - goto metadata_parse_err; err = populate_metalist(ife, tb2, exists, rtnl_held); if (err) goto metadata_parse_err; - } else { /* if no passed metadata allow list or passed allow-all * then here we process by adding as many supported metadatum @@ -603,9 +627,6 @@ if (p) kfree_rcu(p, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; metadata_parse_err: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_ipt.c +++ linux-riscv-5.8-5.8.0/net/sched/act_ipt.c @@ -189,8 +189,6 @@ ipt->tcfi_t = t; ipt->tcfi_hook = hook; spin_unlock_bh(&ipt->tcf_lock); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; err3: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_mirred.c +++ linux-riscv-5.8-5.8.0/net/sched/act_mirred.c @@ -194,8 +194,6 @@ spin_lock(&mirred_list_lock); list_add(&m->tcfm_list, &mirred_list); spin_unlock(&mirred_list_lock); - - tcf_idr_insert(tn, *a); } return ret; --- linux-riscv-5.8-5.8.0.orig/net/sched/act_mpls.c +++ linux-riscv-5.8-5.8.0/net/sched/act_mpls.c @@ -88,6 +88,9 @@ goto drop; break; case TCA_MPLS_ACT_MODIFY: + if (!pskb_may_pull(skb, + skb_network_offset(skb) + MPLS_HLEN)) + goto drop; new_lse = tcf_mpls_get_lse(mpls_hdr(skb), p, false); if (skb_mpls_update_lse(skb, new_lse)) goto drop; @@ -273,8 +276,6 @@ if (p) kfree_rcu(p, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) @@ -410,6 +411,7 @@ module_init(mpls_init_module); module_exit(mpls_cleanup_module); +MODULE_SOFTDEP("post: mpls_gso"); MODULE_AUTHOR("Netronome Systems "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("MPLS manipulation actions"); --- linux-riscv-5.8-5.8.0.orig/net/sched/act_nat.c +++ linux-riscv-5.8-5.8.0/net/sched/act_nat.c @@ -93,9 +93,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; release_idr: tcf_idr_release(*a, bind); --- linux-riscv-5.8-5.8.0.orig/net/sched/act_pedit.c +++ linux-riscv-5.8-5.8.0/net/sched/act_pedit.c @@ -238,8 +238,6 @@ spin_unlock_bh(&p->tcf_lock); if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_police.c +++ linux-riscv-5.8-5.8.0/net/sched/act_police.c @@ -201,8 +201,6 @@ if (new) kfree_rcu(new, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; failure: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_sample.c +++ linux-riscv-5.8-5.8.0/net/sched/act_sample.c @@ -116,8 +116,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_simple.c +++ linux-riscv-5.8-5.8.0/net/sched/act_simple.c @@ -157,8 +157,6 @@ goto release_idr; } - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_skbedit.c +++ linux-riscv-5.8-5.8.0/net/sched/act_skbedit.c @@ -224,8 +224,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_skbmod.c +++ linux-riscv-5.8-5.8.0/net/sched/act_skbmod.c @@ -190,8 +190,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/act_tunnel_key.c +++ linux-riscv-5.8-5.8.0/net/sched/act_tunnel_key.c @@ -458,7 +458,7 @@ metadata = __ipv6_tun_set_dst(&saddr, &daddr, tos, ttl, dst_port, 0, flags, - key_id, 0); + key_id, opts_len); } else { NL_SET_ERR_MSG(extack, "Missing either ipv4 or ipv6 src and dst"); ret = -EINVAL; @@ -536,9 +536,6 @@ if (goto_ch) tcf_chain_put_by_act(goto_ch); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); - return ret; put_chain: --- linux-riscv-5.8-5.8.0.orig/net/sched/act_vlan.c +++ linux-riscv-5.8-5.8.0/net/sched/act_vlan.c @@ -229,8 +229,6 @@ if (p) kfree_rcu(p, rcu); - if (ret == ACT_P_CREATED) - tcf_idr_insert(tn, *a); return ret; put_chain: if (goto_ch) --- linux-riscv-5.8-5.8.0.orig/net/sched/cls_api.c +++ linux-riscv-5.8-5.8.0/net/sched/cls_api.c @@ -644,18 +644,18 @@ struct tcf_block *block = block_cb->indr.data; struct net_device *dev = block_cb->indr.dev; struct netlink_ext_ack extack = {}; - struct flow_block_offload bo; + struct flow_block_offload bo = {}; tcf_block_offload_init(&bo, dev, FLOW_BLOCK_UNBIND, block_cb->indr.binder_type, &block->flow_block, tcf_block_shared(block), &extack); + rtnl_lock(); down_write(&block->cb_lock); list_del(&block_cb->driver_list); list_move(&block_cb->list, &bo.cb_list); - up_write(&block->cb_lock); - rtnl_lock(); tcf_block_unbind(block, &bo); + up_write(&block->cb_lock); rtnl_unlock(); } @@ -3048,27 +3048,29 @@ { #ifdef CONFIG_NET_CLS_ACT { + int init_res[TCA_ACT_MAX_PRIO] = {}; struct tc_action *act; size_t attr_size = 0; if (exts->police && tb[exts->police]) { act = tcf_action_init_1(net, tp, tb[exts->police], rate_tlv, "police", ovr, - TCA_ACT_BIND, rtnl_held, - extack); + TCA_ACT_BIND, init_res, + rtnl_held, extack); if (IS_ERR(act)) return PTR_ERR(act); act->type = exts->type = TCA_OLD_COMPAT; exts->actions[0] = act; exts->nr_actions = 1; + tcf_idr_insert_many(exts->actions); } else if (exts->action && tb[exts->action]) { int err; err = tcf_action_init(net, tp, tb[exts->action], rate_tlv, NULL, ovr, TCA_ACT_BIND, - exts->actions, &attr_size, - rtnl_held, extack); + exts->actions, init_res, + &attr_size, rtnl_held, extack); if (err < 0) return err; exts->nr_actions = err; @@ -3707,7 +3709,7 @@ entry->gate.num_entries = tcf_gate_num_entries(act); err = tcf_gate_get_entries(entry, act); if (err) - goto err_out; + goto err_out_locked; } else { err = -EOPNOTSUPP; goto err_out_locked; --- linux-riscv-5.8-5.8.0.orig/net/sched/cls_flower.c +++ linux-riscv-5.8-5.8.0/net/sched/cls_flower.c @@ -1215,6 +1215,7 @@ } if (tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX]) { nla = tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX]; + memset(&md->u, 0x00, sizeof(md->u)); md->u.index = nla_get_be32(nla); } } else if (md->version == 2) { @@ -1263,6 +1264,10 @@ nla_opt_msk = nla_data(tb[TCA_FLOWER_KEY_ENC_OPTS_MASK]); msk_depth = nla_len(tb[TCA_FLOWER_KEY_ENC_OPTS_MASK]); + if (!nla_ok(nla_opt_msk, msk_depth)) { + NL_SET_ERR_MSG(extack, "Invalid nested attribute for masks"); + return -EINVAL; + } } nla_for_each_attr(nla_opt_key, nla_enc_key, @@ -1298,9 +1303,6 @@ NL_SET_ERR_MSG(extack, "Key and mask miss aligned"); return -EINVAL; } - - if (msk_depth) - nla_opt_msk = nla_next(nla_opt_msk, &msk_depth); break; case TCA_FLOWER_KEY_ENC_OPTS_VXLAN: if (key->enc_opts.dst_opt_type) { @@ -1331,9 +1333,6 @@ NL_SET_ERR_MSG(extack, "Key and mask miss aligned"); return -EINVAL; } - - if (msk_depth) - nla_opt_msk = nla_next(nla_opt_msk, &msk_depth); break; case TCA_FLOWER_KEY_ENC_OPTS_ERSPAN: if (key->enc_opts.dst_opt_type) { @@ -1364,14 +1363,20 @@ NL_SET_ERR_MSG(extack, "Key and mask miss aligned"); return -EINVAL; } - - if (msk_depth) - nla_opt_msk = nla_next(nla_opt_msk, &msk_depth); break; default: NL_SET_ERR_MSG(extack, "Unknown tunnel option type"); return -EINVAL; } + + if (!msk_depth) + continue; + + if (!nla_ok(nla_opt_msk, msk_depth)) { + NL_SET_ERR_MSG(extack, "A mask attribute is invalid"); + return -EINVAL; + } + nla_opt_msk = nla_next(nla_opt_msk, &msk_depth); } return 0; @@ -2409,8 +2414,8 @@ return err; } if (lse_mask->mpls_label) { - err = nla_put_u8(skb, TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL, - lse_key->mpls_label); + err = nla_put_u32(skb, TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL, + lse_key->mpls_label); if (err) return err; } --- linux-riscv-5.8-5.8.0.orig/net/sched/cls_tcindex.c +++ linux-riscv-5.8-5.8.0/net/sched/cls_tcindex.c @@ -366,9 +366,13 @@ if (tb[TCA_TCINDEX_MASK]) cp->mask = nla_get_u16(tb[TCA_TCINDEX_MASK]); - if (tb[TCA_TCINDEX_SHIFT]) + if (tb[TCA_TCINDEX_SHIFT]) { cp->shift = nla_get_u32(tb[TCA_TCINDEX_SHIFT]); - + if (cp->shift > 16) { + err = -EINVAL; + goto errout; + } + } if (!cp->hash) { /* Hash not specified, use perfect hash if the upper limit * of the hashing index is below the threshold. --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_api.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_api.c @@ -411,7 +411,8 @@ { struct qdisc_rate_table *rtab; - if (tab == NULL || r->rate == 0 || r->cell_log == 0 || + if (tab == NULL || r->rate == 0 || + r->cell_log == 0 || r->cell_log >= 32 || nla_len(tab) != TC_RTAB_SIZE) { NL_SET_ERR_MSG(extack, "Invalid rate table parameters for searching"); return NULL; @@ -2166,7 +2167,7 @@ static int tc_dump_tclass_root(struct Qdisc *root, struct sk_buff *skb, struct tcmsg *tcm, struct netlink_callback *cb, - int *t_p, int s_t) + int *t_p, int s_t, bool recur) { struct Qdisc *q; int b; @@ -2177,7 +2178,7 @@ if (tc_dump_tclass_qdisc(root, skb, tcm, cb, t_p, s_t) < 0) return -1; - if (!qdisc_dev(root)) + if (!qdisc_dev(root) || !recur) return 0; if (tcm->tcm_parent) { @@ -2212,13 +2213,13 @@ s_t = cb->args[0]; t = 0; - if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, &t, s_t) < 0) + if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, &t, s_t, true) < 0) goto done; dev_queue = dev_ingress_queue(dev); if (dev_queue && tc_dump_tclass_root(dev_queue->qdisc_sleeping, skb, tcm, cb, - &t, s_t) < 0) + &t, s_t, false) < 0) goto done; done: --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_choke.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_choke.c @@ -345,6 +345,7 @@ struct sk_buff **old = NULL; unsigned int mask; u32 max_P; + u8 *stab; if (opt == NULL) return -EINVAL; @@ -361,8 +362,8 @@ max_P = tb[TCA_CHOKE_MAX_P] ? nla_get_u32(tb[TCA_CHOKE_MAX_P]) : 0; ctl = nla_data(tb[TCA_CHOKE_PARMS]); - - if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog)) + stab = nla_data(tb[TCA_CHOKE_STAB]); + if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog, ctl->Scell_log, stab)) return -EINVAL; if (ctl->limit > CHOKE_MAX_QUEUE) @@ -412,7 +413,7 @@ red_set_parms(&q->parms, ctl->qth_min, ctl->qth_max, ctl->Wlog, ctl->Plog, ctl->Scell_log, - nla_data(tb[TCA_CHOKE_STAB]), + stab, max_P); red_set_vars(&q->vars); --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_fq_pie.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_fq_pie.c @@ -401,6 +401,7 @@ INIT_LIST_HEAD(&q->new_flows); INIT_LIST_HEAD(&q->old_flows); + timer_setup(&q->adapt_timer, fq_pie_timer, 0); if (opt) { err = fq_pie_change(sch, opt, extack); @@ -426,7 +427,6 @@ pie_vars_init(&flow->vars); } - timer_setup(&q->adapt_timer, fq_pie_timer, 0); mod_timer(&q->adapt_timer, jiffies + HZ / 2); return 0; --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_generic.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_generic.c @@ -1131,24 +1131,10 @@ static void qdisc_deactivate(struct Qdisc *qdisc) { - bool nolock = qdisc->flags & TCQ_F_NOLOCK; - if (qdisc->flags & TCQ_F_BUILTIN) return; - if (test_bit(__QDISC_STATE_DEACTIVATED, &qdisc->state)) - return; - - if (nolock) - spin_lock_bh(&qdisc->seqlock); - spin_lock_bh(qdisc_lock(qdisc)); set_bit(__QDISC_STATE_DEACTIVATED, &qdisc->state); - - qdisc_reset(qdisc); - - spin_unlock_bh(qdisc_lock(qdisc)); - if (nolock) - spin_unlock_bh(&qdisc->seqlock); } static void dev_deactivate_queue(struct net_device *dev, @@ -1165,6 +1151,30 @@ } } +static void dev_reset_queue(struct net_device *dev, + struct netdev_queue *dev_queue, + void *_unused) +{ + struct Qdisc *qdisc; + bool nolock; + + qdisc = dev_queue->qdisc_sleeping; + if (!qdisc) + return; + + nolock = qdisc->flags & TCQ_F_NOLOCK; + + if (nolock) + spin_lock_bh(&qdisc->seqlock); + spin_lock_bh(qdisc_lock(qdisc)); + + qdisc_reset(qdisc); + + spin_unlock_bh(qdisc_lock(qdisc)); + if (nolock) + spin_unlock_bh(&qdisc->seqlock); +} + static bool some_qdisc_is_busy(struct net_device *dev) { unsigned int i; @@ -1213,12 +1223,20 @@ dev_watchdog_down(dev); } - /* Wait for outstanding qdisc-less dev_queue_xmit calls. + /* Wait for outstanding qdisc-less dev_queue_xmit calls or + * outstanding qdisc enqueuing calls. * This is avoided if all devices are in dismantle phase : * Caller will call synchronize_net() for us */ synchronize_net(); + list_for_each_entry(dev, head, close_list) { + netdev_for_each_tx_queue(dev, dev_reset_queue, NULL); + + if (dev_ingress_queue(dev)) + dev_reset_queue(dev, dev_ingress_queue(dev), NULL); + } + /* Wait for outstanding qdisc_run calls. */ list_for_each_entry(dev, head, close_list) { while (some_qdisc_is_busy(dev)) { --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_gred.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_gred.c @@ -480,7 +480,7 @@ struct gred_sched *table = qdisc_priv(sch); struct gred_sched_data *q = table->tab[dp]; - if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog)) { + if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog, ctl->Scell_log, stab)) { NL_SET_ERR_MSG_MOD(extack, "invalid RED parameters"); return -EINVAL; } --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_netem.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_netem.c @@ -330,7 +330,7 @@ /* default uniform distribution */ if (dist == NULL) - return ((rnd % (2 * sigma)) + mu) - sigma; + return ((rnd % (2 * (u32)sigma)) + mu) - sigma; t = dist->table[rnd % dist->size]; x = (sigma % NETEM_DIST_SCALE) * t; @@ -812,6 +812,10 @@ q->slot_config.max_packets = INT_MAX; if (q->slot_config.max_bytes == 0) q->slot_config.max_bytes = INT_MAX; + + /* capping dist_jitter to the range acceptable by tabledist() */ + q->slot_config.dist_jitter = min_t(__s64, INT_MAX, abs(q->slot_config.dist_jitter)); + q->slot.packets_left = q->slot_config.max_packets; q->slot.bytes_left = q->slot_config.max_bytes; if (q->slot_config.min_delay | q->slot_config.max_delay | @@ -1037,6 +1041,9 @@ if (tb[TCA_NETEM_SLOT]) get_slot(q, tb[TCA_NETEM_SLOT]); + /* capping jitter to the range acceptable by tabledist() */ + q->jitter = min_t(s64, abs(q->jitter), INT_MAX); + return ret; get_table_failure: --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_red.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_red.c @@ -227,6 +227,7 @@ unsigned char flags; int err; u32 max_P; + u8 *stab; if (opt == NULL) return -EINVAL; @@ -243,7 +244,9 @@ max_P = tb[TCA_RED_MAX_P] ? nla_get_u32(tb[TCA_RED_MAX_P]) : 0; ctl = nla_data(tb[TCA_RED_PARMS]); - if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog)) + stab = nla_data(tb[TCA_RED_STAB]); + if (!red_check_params(ctl->qth_min, ctl->qth_max, ctl->Wlog, + ctl->Scell_log, stab)) return -EINVAL; err = red_get_flags(ctl->flags, TC_RED_HISTORIC_FLAGS, @@ -281,7 +284,7 @@ red_set_parms(&q->parms, ctl->qth_min, ctl->qth_max, ctl->Wlog, ctl->Plog, ctl->Scell_log, - nla_data(tb[TCA_RED_STAB]), + stab, max_P); red_set_vars(&q->vars); --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_sfq.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_sfq.c @@ -647,7 +647,7 @@ } if (ctl_v1 && !red_check_params(ctl_v1->qth_min, ctl_v1->qth_max, - ctl_v1->Wlog)) + ctl_v1->Wlog, ctl_v1->Scell_log, NULL)) return -EINVAL; if (ctl_v1 && ctl_v1->qth_min) { p = kmalloc(sizeof(*p), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_taprio.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_taprio.c @@ -777,9 +777,11 @@ [TCA_TAPRIO_ATTR_TXTIME_DELAY] = { .type = NLA_U32 }, }; -static int fill_sched_entry(struct nlattr **tb, struct sched_entry *entry, +static int fill_sched_entry(struct taprio_sched *q, struct nlattr **tb, + struct sched_entry *entry, struct netlink_ext_ack *extack) { + int min_duration = length_to_duration(q, ETH_ZLEN); u32 interval = 0; if (tb[TCA_TAPRIO_SCHED_ENTRY_CMD]) @@ -794,7 +796,10 @@ interval = nla_get_u32( tb[TCA_TAPRIO_SCHED_ENTRY_INTERVAL]); - if (interval == 0) { + /* The interval should allow at least the minimum ethernet + * frame to go out. + */ + if (interval < min_duration) { NL_SET_ERR_MSG(extack, "Invalid interval for schedule entry"); return -EINVAL; } @@ -804,8 +809,9 @@ return 0; } -static int parse_sched_entry(struct nlattr *n, struct sched_entry *entry, - int index, struct netlink_ext_ack *extack) +static int parse_sched_entry(struct taprio_sched *q, struct nlattr *n, + struct sched_entry *entry, int index, + struct netlink_ext_ack *extack) { struct nlattr *tb[TCA_TAPRIO_SCHED_ENTRY_MAX + 1] = { }; int err; @@ -819,10 +825,10 @@ entry->index = index; - return fill_sched_entry(tb, entry, extack); + return fill_sched_entry(q, tb, entry, extack); } -static int parse_sched_list(struct nlattr *list, +static int parse_sched_list(struct taprio_sched *q, struct nlattr *list, struct sched_gate_list *sched, struct netlink_ext_ack *extack) { @@ -847,7 +853,7 @@ return -ENOMEM; } - err = parse_sched_entry(n, entry, i, extack); + err = parse_sched_entry(q, n, entry, i, extack); if (err < 0) { kfree(entry); return err; @@ -862,7 +868,7 @@ return i; } -static int parse_taprio_schedule(struct nlattr **tb, +static int parse_taprio_schedule(struct taprio_sched *q, struct nlattr **tb, struct sched_gate_list *new, struct netlink_ext_ack *extack) { @@ -883,8 +889,8 @@ new->cycle_time = nla_get_s64(tb[TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME]); if (tb[TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST]) - err = parse_sched_list( - tb[TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST], new, extack); + err = parse_sched_list(q, tb[TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST], + new, extack); if (err < 0) return err; @@ -1177,9 +1183,27 @@ spin_unlock(&q->current_entry_lock); } -static void taprio_sched_to_offload(struct taprio_sched *q, +static u32 tc_map_to_queue_mask(struct net_device *dev, u32 tc_mask) +{ + u32 i, queue_mask = 0; + + for (i = 0; i < dev->num_tc; i++) { + u32 offset, count; + + if (!(tc_mask & BIT(i))) + continue; + + offset = dev->tc_to_txq[i].offset; + count = dev->tc_to_txq[i].count; + + queue_mask |= GENMASK(offset + count - 1, offset); + } + + return queue_mask; +} + +static void taprio_sched_to_offload(struct net_device *dev, struct sched_gate_list *sched, - const struct tc_mqprio_qopt *mqprio, struct tc_taprio_qopt_offload *offload) { struct sched_entry *entry; @@ -1194,7 +1218,8 @@ e->command = entry->command; e->interval = entry->interval; - e->gate_mask = entry->gate_mask; + e->gate_mask = tc_map_to_queue_mask(dev, entry->gate_mask); + i++; } @@ -1202,7 +1227,6 @@ } static int taprio_enable_offload(struct net_device *dev, - struct tc_mqprio_qopt *mqprio, struct taprio_sched *q, struct sched_gate_list *sched, struct netlink_ext_ack *extack) @@ -1224,7 +1248,7 @@ return -ENOMEM; } offload->enable = 1; - taprio_sched_to_offload(q, sched, mqprio, offload); + taprio_sched_to_offload(dev, sched, offload); err = ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TAPRIO, offload); if (err < 0) { @@ -1456,7 +1480,7 @@ goto free_sched; } - err = parse_taprio_schedule(tb, new_admin, extack); + err = parse_taprio_schedule(q, tb, new_admin, extack); if (err < 0) goto free_sched; @@ -1486,7 +1510,7 @@ } if (FULL_OFFLOAD_IS_ENABLED(q->flags)) - err = taprio_enable_offload(dev, mqprio, q, new_admin, extack); + err = taprio_enable_offload(dev, q, new_admin, extack); else err = taprio_disable_offload(dev, q, extack); if (err) @@ -1573,6 +1597,22 @@ return err; } +static void taprio_reset(struct Qdisc *sch) +{ + struct taprio_sched *q = qdisc_priv(sch); + struct net_device *dev = qdisc_dev(sch); + 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) { struct taprio_sched *q = qdisc_priv(sch); @@ -1583,12 +1623,11 @@ list_del(&q->taprio_list); spin_unlock(&taprio_list_lock); - hrtimer_cancel(&q->advance_timer); taprio_disable_offload(dev, q, NULL); if (q->qdiscs) { - for (i = 0; i < dev->num_tx_queues && q->qdiscs[i]; i++) + for (i = 0; i < dev->num_tx_queues; i++) qdisc_put(q->qdiscs[i]); kfree(q->qdiscs); @@ -1930,6 +1969,7 @@ .init = taprio_init, .change = taprio_change, .destroy = taprio_destroy, + .reset = taprio_reset, .peek = taprio_peek, .dequeue = taprio_dequeue, .enqueue = taprio_enqueue, --- linux-riscv-5.8-5.8.0.orig/net/sched/sch_teql.c +++ linux-riscv-5.8-5.8.0/net/sched/sch_teql.c @@ -134,6 +134,9 @@ struct teql_sched_data *dat = qdisc_priv(sch); struct teql_master *master = dat->m; + if (!master) + return; + prev = master->slaves; if (prev) { do { --- linux-riscv-5.8-5.8.0.orig/net/sctp/auth.c +++ linux-riscv-5.8-5.8.0/net/sctp/auth.c @@ -494,6 +494,7 @@ out_err: /* Clean up any successful allocations */ sctp_auth_destroy_hmacs(ep->auth_hmacs); + ep->auth_hmacs = NULL; return -ENOMEM; } --- linux-riscv-5.8-5.8.0.orig/net/sctp/input.c +++ linux-riscv-5.8-5.8.0/net/sctp/input.c @@ -449,7 +449,7 @@ else { if (!mod_timer(&t->proto_unreach_timer, jiffies + (HZ/20))) - sctp_association_hold(asoc); + sctp_transport_hold(t); } } else { struct net *net = sock_net(sk); @@ -458,7 +458,7 @@ "encountered!\n", __func__); if (del_timer(&t->proto_unreach_timer)) - sctp_association_put(asoc); + sctp_transport_put(t); sctp_do_sm(net, SCTP_EVENT_T_OTHER, SCTP_ST_OTHER(SCTP_EVENT_ICMP_PROTO_UNREACH), --- linux-riscv-5.8-5.8.0.orig/net/sctp/ipv6.c +++ linux-riscv-5.8-5.8.0/net/sctp/ipv6.c @@ -643,8 +643,8 @@ if (!(type & IPV6_ADDR_UNICAST)) return 0; - return sp->inet.freebind || net->ipv6.sysctl.ip_nonlocal_bind || - ipv6_chk_addr(net, in6, NULL, 0); + return ipv6_can_nonlocal_bind(net, &sp->inet) || + ipv6_chk_addr(net, in6, NULL, 0); } /* This function checks if the address is a valid address to be used for @@ -933,8 +933,7 @@ net = sock_net(&opt->inet.sk); rcu_read_lock(); dev = dev_get_by_index_rcu(net, addr->v6.sin6_scope_id); - if (!dev || !(opt->inet.freebind || - net->ipv6.sysctl.ip_nonlocal_bind || + if (!dev || !(ipv6_can_nonlocal_bind(net, &opt->inet) || ipv6_chk_addr(net, &addr->v6.sin6_addr, dev, 0))) { rcu_read_unlock(); --- linux-riscv-5.8-5.8.0.orig/net/sctp/proc.c +++ linux-riscv-5.8-5.8.0/net/sctp/proc.c @@ -215,6 +215,12 @@ { struct sctp_ht_iter *iter = seq->private; + if (v && v != SEQ_START_TOKEN) { + struct sctp_transport *transport = v; + + sctp_transport_put(transport); + } + sctp_transport_walk_stop(&iter->hti); } @@ -222,6 +228,12 @@ { struct sctp_ht_iter *iter = seq->private; + if (v && v != SEQ_START_TOKEN) { + struct sctp_transport *transport = v; + + sctp_transport_put(transport); + } + ++*pos; return sctp_transport_get_next(seq_file_net(seq), &iter->hti); @@ -277,8 +289,6 @@ sk->sk_rcvbuf); seq_printf(seq, "\n"); - sctp_transport_put(transport); - return 0; } @@ -354,8 +364,6 @@ seq_printf(seq, "\n"); } - sctp_transport_put(transport); - return 0; } --- linux-riscv-5.8-5.8.0.orig/net/sctp/sm_sideeffect.c +++ linux-riscv-5.8-5.8.0/net/sctp/sm_sideeffect.c @@ -419,7 +419,7 @@ /* Try again later. */ if (!mod_timer(&transport->proto_unreach_timer, jiffies + (HZ/20))) - sctp_association_hold(asoc); + sctp_transport_hold(transport); goto out_unlock; } @@ -435,7 +435,7 @@ out_unlock: bh_unlock_sock(sk); - sctp_association_put(asoc); + sctp_transport_put(transport); } /* Handle the timeout of the RE-CONFIG timer. */ @@ -1601,12 +1601,12 @@ break; case SCTP_CMD_INIT_FAILED: - sctp_cmd_init_failed(commands, asoc, cmd->obj.u32); + sctp_cmd_init_failed(commands, asoc, cmd->obj.u16); break; case SCTP_CMD_ASSOC_FAILED: sctp_cmd_assoc_failed(commands, asoc, event_type, - subtype, chunk, cmd->obj.u32); + subtype, chunk, cmd->obj.u16); break; case SCTP_CMD_INIT_COUNTER_INC: --- linux-riscv-5.8-5.8.0.orig/net/sctp/socket.c +++ linux-riscv-5.8-5.8.0/net/sctp/socket.c @@ -357,6 +357,18 @@ return af; } +static void sctp_auto_asconf_init(struct sctp_sock *sp) +{ + struct net *net = sock_net(&sp->inet.sk); + + if (net->sctp.default_auto_asconf) { + spin_lock(&net->sctp.addr_wq_lock); + list_add_tail(&sp->auto_asconf_list, &net->sctp.auto_asconf_splist); + spin_unlock(&net->sctp.addr_wq_lock); + sp->do_auto_asconf = 1; + } +} + /* Bind a local address either to an endpoint or to an association. */ static int sctp_do_bind(struct sock *sk, union sctp_addr *addr, int len) { @@ -418,8 +430,10 @@ return -EADDRINUSE; /* Refresh ephemeral port. */ - if (!bp->port) + if (!bp->port) { bp->port = inet_sk(sk)->inet_num; + sctp_auto_asconf_init(sp); + } /* Add the address to the bind address list. * Use GFP_ATOMIC since BHs will be disabled. @@ -1325,7 +1339,7 @@ kaddrs = memdup_user(addrs, addrs_size); if (IS_ERR(kaddrs)) - return PTR_ERR(kaddrs); + return PTR_ERR(kaddrs) == -EFAULT ? -EINVAL : PTR_ERR(kaddrs); /* Allow security module to validate connectx addresses. */ err = security_sctp_bind_connect(sk, SCTP_SOCKOPT_CONNECTX, @@ -5176,19 +5190,6 @@ sk_sockets_allocated_inc(sk); sock_prot_inuse_add(net, sk->sk_prot, 1); - /* Nothing can fail after this block, otherwise - * sctp_destroy_sock() will be called without addr_wq_lock held - */ - if (net->sctp.default_auto_asconf) { - spin_lock(&sock_net(sk)->sctp.addr_wq_lock); - list_add_tail(&sp->auto_asconf_list, - &net->sctp.auto_asconf_splist); - sp->do_auto_asconf = 1; - spin_unlock(&sock_net(sk)->sctp.addr_wq_lock); - } else { - sp->do_auto_asconf = 0; - } - local_bh_enable(); return 0; @@ -8297,8 +8298,6 @@ pr_debug("%s: begins, snum:%d\n", __func__, snum); - local_bh_disable(); - if (snum == 0) { /* Search for an available port. */ int low, high, remaining, index; @@ -8316,20 +8315,21 @@ continue; index = sctp_phashfn(net, rover); head = &sctp_port_hashtable[index]; - spin_lock(&head->lock); + spin_lock_bh(&head->lock); sctp_for_each_hentry(pp, &head->chain) if ((pp->port == rover) && net_eq(net, pp->net)) goto next; break; next: - spin_unlock(&head->lock); + spin_unlock_bh(&head->lock); + cond_resched(); } while (--remaining > 0); /* Exhausted local port range during search? */ ret = 1; if (remaining <= 0) - goto fail; + return ret; /* OK, here is the one we will use. HEAD (the port * hash table list entry) is non-NULL and we hold it's @@ -8344,7 +8344,7 @@ * port iterator, pp being NULL. */ head = &sctp_port_hashtable[sctp_phashfn(net, snum)]; - spin_lock(&head->lock); + spin_lock_bh(&head->lock); sctp_for_each_hentry(pp, &head->chain) { if ((pp->port == snum) && net_eq(pp->net, net)) goto pp_found; @@ -8444,10 +8444,7 @@ ret = 0; fail_unlock: - spin_unlock(&head->lock); - -fail: - local_bh_enable(); + spin_unlock_bh(&head->lock); return ret; } @@ -9461,13 +9458,10 @@ static inline void sctp_copy_descendant(struct sock *sk_to, const struct sock *sk_from) { - int ancestor_size = sizeof(struct inet_sock) + - sizeof(struct sctp_sock) - - offsetof(struct sctp_sock, pd_lobby); - - if (sk_from->sk_family == PF_INET6) - ancestor_size += sizeof(struct ipv6_pinfo); + size_t ancestor_size = sizeof(struct inet_sock); + ancestor_size += sk_from->sk_prot->obj_size; + ancestor_size -= offsetof(struct sctp_sock, pd_lobby); __inet_sk_copy_descendant(sk_to, sk_from, ancestor_size); } @@ -9529,6 +9523,8 @@ return err; } + sctp_auto_asconf_init(newsp); + /* Move any messages in the old socket's receive queue that are for the * peeled off association to the new socket's receive queue. */ --- linux-riscv-5.8-5.8.0.orig/net/sctp/stream.c +++ linux-riscv-5.8-5.8.0/net/sctp/stream.c @@ -88,12 +88,13 @@ int ret; if (outcnt <= stream->outcnt) - return 0; + goto out; ret = genradix_prealloc(&stream->out, outcnt, gfp); if (ret) return ret; +out: stream->outcnt = outcnt; return 0; } @@ -104,12 +105,13 @@ int ret; if (incnt <= stream->incnt) - return 0; + goto out; ret = genradix_prealloc(&stream->in, incnt, gfp); if (ret) return ret; +out: stream->incnt = incnt; return 0; } --- linux-riscv-5.8-5.8.0.orig/net/sctp/transport.c +++ linux-riscv-5.8-5.8.0/net/sctp/transport.c @@ -133,7 +133,7 @@ /* Delete the ICMP proto unreachable timer if it's active. */ if (del_timer(&transport->proto_unreach_timer)) - sctp_association_put(transport->asoc); + sctp_transport_put(transport); sctp_transport_put(transport); } --- linux-riscv-5.8-5.8.0.orig/net/smc/smc_core.c +++ linux-riscv-5.8-5.8.0/net/smc/smc_core.c @@ -1595,7 +1595,7 @@ return rc; } -#define SMCD_DMBE_SIZES 7 /* 0 -> 16KB, 1 -> 32KB, .. 6 -> 1MB */ +#define SMCD_DMBE_SIZES 6 /* 0 -> 16KB, 1 -> 32KB, .. 6 -> 1MB */ static struct smc_buf_desc *smcd_new_buf_create(struct smc_link_group *lgr, bool is_dmb, int bufsize) --- linux-riscv-5.8-5.8.0.orig/net/smc/smc_diag.c +++ linux-riscv-5.8-5.8.0/net/smc/smc_diag.c @@ -170,13 +170,15 @@ (req->diag_ext & (1 << (SMC_DIAG_DMBINFO - 1))) && !list_empty(&smc->conn.lgr->list)) { struct smc_connection *conn = &smc->conn; - struct smcd_diag_dmbinfo dinfo = { - .linkid = *((u32 *)conn->lgr->id), - .peer_gid = conn->lgr->peer_gid, - .my_gid = conn->lgr->smcd->local_gid, - .token = conn->rmb_desc->token, - .peer_token = conn->peer_token - }; + struct smcd_diag_dmbinfo dinfo; + + memset(&dinfo, 0, sizeof(dinfo)); + + dinfo.linkid = *((u32 *)conn->lgr->id); + dinfo.peer_gid = conn->lgr->peer_gid; + dinfo.my_gid = conn->lgr->smcd->local_gid; + dinfo.token = conn->rmb_desc->token; + dinfo.peer_token = conn->peer_token; if (nla_put(skb, SMC_DIAG_DMBINFO, sizeof(dinfo), &dinfo) < 0) goto errout; --- linux-riscv-5.8-5.8.0.orig/net/smc/smc_ib.c +++ linux-riscv-5.8-5.8.0/net/smc/smc_ib.c @@ -198,9 +198,9 @@ rcu_read_lock(); ndev = rdma_read_gid_attr_ndev_rcu(attr); if (!IS_ERR(ndev) && - ((!vlan_id && !is_vlan_dev(attr->ndev)) || - (vlan_id && is_vlan_dev(attr->ndev) && - vlan_dev_vlan_id(attr->ndev) == vlan_id)) && + ((!vlan_id && !is_vlan_dev(ndev)) || + (vlan_id && is_vlan_dev(ndev) && + vlan_dev_vlan_id(ndev) == vlan_id)) && attr->gid_type == IB_GID_TYPE_ROCE) { rcu_read_unlock(); if (gid) --- linux-riscv-5.8-5.8.0.orig/net/smc/smc_llc.c +++ linux-riscv-5.8-5.8.0/net/smc/smc_llc.c @@ -233,8 +233,6 @@ default: flow->type = SMC_LLC_FLOW_NONE; } - if (qentry == lgr->delayed_event) - lgr->delayed_event = NULL; smc_llc_flow_qentry_set(flow, qentry); spin_unlock_bh(&lgr->llc_flow_lock); return true; @@ -1590,13 +1588,12 @@ struct smc_llc_qentry *qentry; if (!lgr->llc_flow_lcl.type && lgr->delayed_event) { - if (smc_link_usable(lgr->delayed_event->link)) { - smc_llc_event_handler(lgr->delayed_event); - } else { - qentry = lgr->delayed_event; - lgr->delayed_event = NULL; + qentry = lgr->delayed_event; + lgr->delayed_event = NULL; + if (smc_link_usable(qentry->link)) + smc_llc_event_handler(qentry); + else kfree(qentry); - } } again: --- linux-riscv-5.8-5.8.0.orig/net/socket.c +++ linux-riscv-5.8-5.8.0/net/socket.c @@ -500,7 +500,7 @@ if (f.file) { sock = sock_from_file(f.file, err); if (likely(sock)) { - *fput_needed = f.flags; + *fput_needed = f.flags & FDPUT_FPUT; return sock; } fdput(f); --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/addr.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/addr.c @@ -185,7 +185,7 @@ scope_id = dev->ifindex; dev_put(dev); } else { - if (kstrtou32(p, 10, &scope_id) == 0) { + if (kstrtou32(p, 10, &scope_id) != 0) { kfree(p); return 0; } --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/auth_gss/auth_gss.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/auth_gss/auth_gss.c @@ -29,6 +29,7 @@ #include #include +#include "auth_gss_internal.h" #include "../netns.h" #include @@ -125,35 +126,6 @@ clear_bit(RPCAUTH_CRED_NEW, &cred->cr_flags); } -static const void * -simple_get_bytes(const void *p, const void *end, void *res, size_t len) -{ - const void *q = (const void *)((const char *)p + len); - if (unlikely(q > end || q < p)) - return ERR_PTR(-EFAULT); - memcpy(res, p, len); - return q; -} - -static inline const void * -simple_get_netobj(const void *p, const void *end, struct xdr_netobj *dest) -{ - const void *q; - unsigned int len; - - p = simple_get_bytes(p, end, &len, sizeof(len)); - if (IS_ERR(p)) - return p; - q = (const void *)((const char *)p + len); - if (unlikely(q > end || q < p)) - return ERR_PTR(-EFAULT); - dest->data = kmemdup(p, len, GFP_NOFS); - if (unlikely(dest->data == NULL)) - return ERR_PTR(-ENOMEM); - dest->len = len; - return q; -} - static struct gss_cl_ctx * gss_cred_get_ctx(struct rpc_cred *cred) { --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/auth_gss/auth_gss_internal.h +++ linux-riscv-5.8-5.8.0/net/sunrpc/auth_gss/auth_gss_internal.h @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * linux/net/sunrpc/auth_gss/auth_gss_internal.h + * + * Internal definitions for RPCSEC_GSS client authentication + * + * Copyright (c) 2000 The Regents of the University of Michigan. + * All rights reserved. + * + */ +#include +#include +#include + +static inline const void * +simple_get_bytes(const void *p, const void *end, void *res, size_t len) +{ + const void *q = (const void *)((const char *)p + len); + if (unlikely(q > end || q < p)) + return ERR_PTR(-EFAULT); + memcpy(res, p, len); + return q; +} + +static inline const void * +simple_get_netobj(const void *p, const void *end, struct xdr_netobj *dest) +{ + const void *q; + unsigned int len; + + p = simple_get_bytes(p, end, &len, sizeof(len)); + if (IS_ERR(p)) + return p; + q = (const void *)((const char *)p + len); + if (unlikely(q > end || q < p)) + return ERR_PTR(-EFAULT); + if (len) { + dest->data = kmemdup(p, len, GFP_NOFS); + if (unlikely(dest->data == NULL)) + return ERR_PTR(-ENOMEM); + } else + dest->data = NULL; + dest->len = len; + return q; +} --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/auth_gss/gss_krb5_mech.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/auth_gss/gss_krb5_mech.c @@ -21,6 +21,8 @@ #include #include +#include "auth_gss_internal.h" + #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) # define RPCDBG_FACILITY RPCDBG_AUTH #endif @@ -164,35 +166,6 @@ return NULL; } -static const void * -simple_get_bytes(const void *p, const void *end, void *res, int len) -{ - const void *q = (const void *)((const char *)p + len); - if (unlikely(q > end || q < p)) - return ERR_PTR(-EFAULT); - memcpy(res, p, len); - return q; -} - -static const void * -simple_get_netobj(const void *p, const void *end, struct xdr_netobj *res) -{ - const void *q; - unsigned int len; - - p = simple_get_bytes(p, end, &len, sizeof(len)); - if (IS_ERR(p)) - return p; - q = (const void *)((const char *)p + len); - if (unlikely(q > end || q < p)) - return ERR_PTR(-EFAULT); - res->data = kmemdup(p, len, GFP_NOFS); - if (unlikely(res->data == NULL)) - return ERR_PTR(-ENOMEM); - res->len = len; - return q; -} - static inline const void * get_key(const void *p, const void *end, struct krb5_ctx *ctx, struct crypto_sync_skcipher **res) --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/auth_gss/gss_krb5_wrap.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/auth_gss/gss_krb5_wrap.c @@ -584,7 +584,7 @@ buf->head[0].iov_len); memmove(ptr, ptr + GSS_KRB5_TOK_HDR_LEN + headskip, movelen); buf->head[0].iov_len -= GSS_KRB5_TOK_HDR_LEN + headskip; - buf->len = len - GSS_KRB5_TOK_HDR_LEN + headskip; + buf->len = len - (GSS_KRB5_TOK_HDR_LEN + headskip); /* Trim off the trailing "extra count" and checksum blob */ xdr_buf_trim(buf, ec + GSS_KRB5_TOK_HDR_LEN + tailskip); --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/auth_gss/svcauth_gss.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/auth_gss/svcauth_gss.c @@ -958,7 +958,6 @@ maj_stat = gss_unwrap(ctx, 0, priv_len, buf); pad = priv_len - buf->len; - buf->len -= pad; /* The upper layers assume the buffer is aligned on 4-byte boundaries. * In the krb5p case, at least, the data ends up offset, so we need to * move it around. */ @@ -1105,9 +1104,9 @@ struct gssp_in_token *in_token) { struct kvec *argv = &rqstp->rq_arg.head[0]; - unsigned int page_base, length; - int pages, i, res; - size_t inlen; + unsigned int length, pgto_offs, pgfrom_offs; + int pages, i, res, pgto, pgfrom; + size_t inlen, to_offs, from_offs; res = gss_read_common_verf(gc, argv, authp, in_handle); if (res) @@ -1135,17 +1134,24 @@ memcpy(page_address(in_token->pages[0]), argv->iov_base, length); inlen -= length; - i = 1; - page_base = rqstp->rq_arg.page_base; + to_offs = length; + from_offs = rqstp->rq_arg.page_base; while (inlen) { - length = min_t(unsigned int, inlen, PAGE_SIZE); - memcpy(page_address(in_token->pages[i]), - page_address(rqstp->rq_arg.pages[i]) + page_base, + pgto = to_offs >> PAGE_SHIFT; + pgfrom = from_offs >> PAGE_SHIFT; + pgto_offs = to_offs & ~PAGE_MASK; + pgfrom_offs = from_offs & ~PAGE_MASK; + + length = min_t(unsigned int, inlen, + min_t(unsigned int, PAGE_SIZE - pgto_offs, + PAGE_SIZE - pgfrom_offs)); + memcpy(page_address(in_token->pages[pgto]) + pgto_offs, + page_address(rqstp->rq_arg.pages[pgfrom]) + pgfrom_offs, length); + to_offs += length; + from_offs += length; inlen -= length; - page_base = 0; - i++; } return 0; } @@ -1778,11 +1784,14 @@ svcauth_gss_release(struct svc_rqst *rqstp) { struct gss_svc_data *gsd = (struct gss_svc_data *)rqstp->rq_auth_data; - struct rpc_gss_wire_cred *gc = &gsd->clcred; + struct rpc_gss_wire_cred *gc; struct xdr_buf *resbuf = &rqstp->rq_res; int stat = -EINVAL; struct sunrpc_net *sn = net_generic(SVC_NET(rqstp), sunrpc_net_id); + if (!gsd) + goto out; + gc = &gsd->clcred; if (gc->gc_proc != RPC_GSS_PROC_DATA) goto out; /* Release can be called twice, but we only wrap once. */ @@ -1823,10 +1832,10 @@ if (rqstp->rq_cred.cr_group_info) put_group_info(rqstp->rq_cred.cr_group_info); rqstp->rq_cred.cr_group_info = NULL; - if (gsd->rsci) + if (gsd && gsd->rsci) { cache_put(&gsd->rsci->h, sn->rsc_cache); - gsd->rsci = NULL; - + gsd->rsci = NULL; + } return stat; } --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/debugfs.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/debugfs.c @@ -128,13 +128,13 @@ return 0; len = snprintf(name, sizeof(name), "../../rpc_xprt/%s", xprt->debugfs->d_name.name); - if (len > sizeof(name)) + if (len >= sizeof(name)) return -1; if (*nump == 0) strcpy(link, "xprt"); else { len = snprintf(link, sizeof(link), "xprt%d", *nump); - if (len > sizeof(link)) + if (len >= sizeof(link)) return -1; } debugfs_create_symlink(link, clnt->cl_debugfs, name); --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/rpcb_clnt.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/rpcb_clnt.c @@ -982,8 +982,8 @@ p = xdr_inline_decode(xdr, len); if (unlikely(p == NULL)) goto out_fail; - dprintk("RPC: %5u RPCB_%s reply: %s\n", req->rq_task->tk_pid, - req->rq_task->tk_msg.rpc_proc->p_name, (char *)p); + dprintk("RPC: %5u RPCB_%s reply: %*pE\n", req->rq_task->tk_pid, + req->rq_task->tk_msg.rpc_proc->p_name, len, (char *)p); if (rpc_uaddr2sockaddr(req->rq_xprt->xprt_net, (char *)p, len, sap, sizeof(address)) == 0) --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/sched.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/sched.c @@ -700,6 +700,23 @@ EXPORT_SYMBOL_GPL(rpc_wake_up_next); /** + * rpc_wake_up_locked - wake up all rpc_tasks + * @queue: rpc_wait_queue on which the tasks are sleeping + * + */ +static void rpc_wake_up_locked(struct rpc_wait_queue *queue) +{ + struct rpc_task *task; + + for (;;) { + task = __rpc_find_next_queued(queue); + if (task == NULL) + break; + rpc_wake_up_task_queue_locked(queue, task); + } +} + +/** * rpc_wake_up - wake up all rpc_tasks * @queue: rpc_wait_queue on which the tasks are sleeping * @@ -707,25 +724,28 @@ */ void rpc_wake_up(struct rpc_wait_queue *queue) { - struct list_head *head; - spin_lock(&queue->lock); - head = &queue->tasks[queue->maxpriority]; + rpc_wake_up_locked(queue); + spin_unlock(&queue->lock); +} +EXPORT_SYMBOL_GPL(rpc_wake_up); + +/** + * rpc_wake_up_status_locked - wake up all rpc_tasks and set their status value. + * @queue: rpc_wait_queue on which the tasks are sleeping + * @status: status value to set + */ +static void rpc_wake_up_status_locked(struct rpc_wait_queue *queue, int status) +{ + struct rpc_task *task; + for (;;) { - while (!list_empty(head)) { - struct rpc_task *task; - task = list_first_entry(head, - struct rpc_task, - u.tk_wait.list); - rpc_wake_up_task_queue_locked(queue, task); - } - if (head == &queue->tasks[0]) + task = __rpc_find_next_queued(queue); + if (task == NULL) break; - head--; + rpc_wake_up_task_queue_set_status_locked(queue, task, status); } - spin_unlock(&queue->lock); } -EXPORT_SYMBOL_GPL(rpc_wake_up); /** * rpc_wake_up_status - wake up all rpc_tasks and set their status value. @@ -736,23 +756,8 @@ */ void rpc_wake_up_status(struct rpc_wait_queue *queue, int status) { - struct list_head *head; - spin_lock(&queue->lock); - head = &queue->tasks[queue->maxpriority]; - for (;;) { - while (!list_empty(head)) { - struct rpc_task *task; - task = list_first_entry(head, - struct rpc_task, - u.tk_wait.list); - task->tk_status = status; - rpc_wake_up_task_queue_locked(queue, task); - } - if (head == &queue->tasks[0]) - break; - head--; - } + rpc_wake_up_status_locked(queue, status); spin_unlock(&queue->lock); } EXPORT_SYMBOL_GPL(rpc_wake_up_status); @@ -987,8 +992,11 @@ rpc_set_active(task); rpc_make_runnable(rpciod_workqueue, task); - if (!is_async) + if (!is_async) { + unsigned int pflags = memalloc_nofs_save(); __rpc_execute(task); + memalloc_nofs_restore(pflags); + } } static void rpc_async_schedule(struct work_struct *work) --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/svc.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/svc.c @@ -1408,7 +1408,7 @@ sendit: if (svc_authorise(rqstp)) - goto close; + goto close_xprt; return 1; /* Caller can now send it */ release_dropit: @@ -1420,6 +1420,8 @@ return 0; close: + svc_authorise(rqstp); +close_xprt: if (rqstp->rq_xprt && test_bit(XPT_TEMP, &rqstp->rq_xprt->xpt_flags)) svc_close_xprt(rqstp->rq_xprt); dprintk("svc: svc_process close\n"); @@ -1428,7 +1430,7 @@ err_short_len: svc_printk(rqstp, "short len %zd, dropping request\n", argv->iov_len); - goto close; + goto close_xprt; err_bad_rpc: serv->sv_stats->rpcbadfmt++; --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/svc_xprt.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/svc_xprt.c @@ -1062,7 +1062,7 @@ struct svc_xprt *xprt; int ret = 0; - spin_lock(&serv->sv_lock); + spin_lock_bh(&serv->sv_lock); list_for_each_entry(xprt, xprt_list, xpt_list) { if (xprt->xpt_net != net) continue; @@ -1070,7 +1070,7 @@ set_bit(XPT_CLOSE, &xprt->xpt_flags); svc_xprt_enqueue(xprt); } - spin_unlock(&serv->sv_lock); + spin_unlock_bh(&serv->sv_lock); return ret; } --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/svcsock.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/svcsock.c @@ -228,7 +228,7 @@ static void svc_flush_bvec(const struct bio_vec *bvec, size_t size, size_t seek) { struct bvec_iter bi = { - .bi_size = size, + .bi_size = size + seek, }; struct bio_vec bv; @@ -1062,6 +1062,91 @@ return 0; /* record not complete */ } +static int svc_tcp_send_kvec(struct socket *sock, const struct kvec *vec, + int flags) +{ + return kernel_sendpage(sock, virt_to_page(vec->iov_base), + offset_in_page(vec->iov_base), + vec->iov_len, flags); +} + +/* + * kernel_sendpage() is used exclusively to reduce the number of + * copy operations in this path. Therefore the caller must ensure + * that the pages backing @xdr are unchanging. + * + * In addition, the logic assumes that * .bv_len is never larger + * than PAGE_SIZE. + */ +static int svc_tcp_sendmsg(struct socket *sock, struct msghdr *msg, + struct xdr_buf *xdr, rpc_fraghdr marker, + unsigned int *sentp) +{ + const struct kvec *head = xdr->head; + const struct kvec *tail = xdr->tail; + struct kvec rm = { + .iov_base = &marker, + .iov_len = sizeof(marker), + }; + int flags, ret; + + *sentp = 0; + xdr_alloc_bvec(xdr, GFP_KERNEL); + + msg->msg_flags = MSG_MORE; + ret = kernel_sendmsg(sock, msg, &rm, 1, rm.iov_len); + if (ret < 0) + return ret; + *sentp += ret; + if (ret != rm.iov_len) + return -EAGAIN; + + flags = head->iov_len < xdr->len ? MSG_MORE | MSG_SENDPAGE_NOTLAST : 0; + ret = svc_tcp_send_kvec(sock, head, flags); + if (ret < 0) + return ret; + *sentp += ret; + if (ret != head->iov_len) + goto out; + + if (xdr->page_len) { + unsigned int offset, len, remaining; + struct bio_vec *bvec; + + bvec = xdr->bvec + (xdr->page_base >> PAGE_SHIFT); + offset = offset_in_page(xdr->page_base); + remaining = xdr->page_len; + flags = MSG_MORE | MSG_SENDPAGE_NOTLAST; + while (remaining > 0) { + if (remaining <= PAGE_SIZE && tail->iov_len == 0) + flags = 0; + + len = min(remaining, bvec->bv_len - offset); + ret = kernel_sendpage(sock, bvec->bv_page, + bvec->bv_offset + offset, + len, flags); + if (ret < 0) + return ret; + *sentp += ret; + if (ret != len) + goto out; + remaining -= len; + offset = 0; + bvec++; + } + } + + if (tail->iov_len) { + ret = svc_tcp_send_kvec(sock, tail, 0); + if (ret < 0) + return ret; + *sentp += ret; + } + +out: + return 0; +} + /** * svc_tcp_sendto - Send out a reply on a TCP socket * @rqstp: completed svc_rqst @@ -1089,7 +1174,7 @@ mutex_lock(&xprt->xpt_mutex); if (svc_xprt_is_dead(xprt)) goto out_notconn; - err = xprt_sock_sendmsg(svsk->sk_sock, &msg, xdr, 0, marker, &sent); + err = svc_tcp_sendmsg(svsk->sk_sock, &msg, xdr, marker, &sent); xdr_free_bvec(xdr); trace_svcsock_tcp_send(xprt, err < 0 ? err : sent); if (err < 0 || sent != (xdr->len + sizeof(marker))) --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/sysctl.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/sysctl.c @@ -70,7 +70,13 @@ return 0; } len = svc_print_xprts(tmpbuf, sizeof(tmpbuf)); - return memory_read_from_buffer(buffer, *lenp, ppos, tmpbuf, len); + *lenp = memory_read_from_buffer(buffer, *lenp, ppos, tmpbuf, len); + + if (*lenp < 0) { + *lenp = 0; + return -EINVAL; + } + return 0; } static int --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprt.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprt.c @@ -151,31 +151,64 @@ } EXPORT_SYMBOL_GPL(xprt_unregister_transport); +static void +xprt_class_release(const struct xprt_class *t) +{ + module_put(t->owner); +} + +static const struct xprt_class * +xprt_class_find_by_netid_locked(const char *netid) +{ + const struct xprt_class *t; + unsigned int i; + + list_for_each_entry(t, &xprt_list, list) { + for (i = 0; t->netid[i][0] != '\0'; i++) { + if (strcmp(t->netid[i], netid) != 0) + continue; + if (!try_module_get(t->owner)) + continue; + return t; + } + } + return NULL; +} + +static const struct xprt_class * +xprt_class_find_by_netid(const char *netid) +{ + const struct xprt_class *t; + + spin_lock(&xprt_list_lock); + t = xprt_class_find_by_netid_locked(netid); + if (!t) { + spin_unlock(&xprt_list_lock); + request_module("rpc%s", netid); + spin_lock(&xprt_list_lock); + t = xprt_class_find_by_netid_locked(netid); + } + spin_unlock(&xprt_list_lock); + return t; +} + /** * xprt_load_transport - load a transport implementation - * @transport_name: transport to load + * @netid: transport to load * * Returns: * 0: transport successfully loaded * -ENOENT: transport module not available */ -int xprt_load_transport(const char *transport_name) +int xprt_load_transport(const char *netid) { - struct xprt_class *t; - int result; + const struct xprt_class *t; - result = 0; - spin_lock(&xprt_list_lock); - list_for_each_entry(t, &xprt_list, list) { - if (strcmp(t->name, transport_name) == 0) { - spin_unlock(&xprt_list_lock); - goto out; - } - } - spin_unlock(&xprt_list_lock); - result = request_module("xprt%s", transport_name); -out: - return result; + t = xprt_class_find_by_netid(netid); + if (!t) + return -ENOENT; + xprt_class_release(t); + return 0; } EXPORT_SYMBOL_GPL(xprt_load_transport); @@ -1511,10 +1544,13 @@ { struct rpc_rqst *next, *req = task->tk_rqstp; struct rpc_xprt *xprt = req->rq_xprt; - int status; + int counter, status; spin_lock(&xprt->queue_lock); + counter = 0; while (!list_empty(&xprt->xmit_queue)) { + if (++counter == 20) + break; next = list_first_entry(&xprt->xmit_queue, struct rpc_rqst, rq_xmit); xprt_pin_rqst(next); @@ -1522,7 +1558,6 @@ status = xprt_request_transmit(next, task); if (status == -EBADMSG && next != req) status = 0; - cond_resched(); spin_lock(&xprt->queue_lock); xprt_unpin_rqst(next); if (status == 0) { --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/module.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/module.c @@ -24,6 +24,7 @@ MODULE_LICENSE("Dual BSD/GPL"); MODULE_ALIAS("svcrdma"); MODULE_ALIAS("xprtrdma"); +MODULE_ALIAS("rpcrdma6"); static void __exit rpc_rdma_cleanup(void) { --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/rpc_rdma.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/rpc_rdma.c @@ -179,6 +179,31 @@ r_xprt->rx_ep->re_max_inline_recv; } +/* ACL likes to be lazy in allocating pages. For TCP, these + * pages can be allocated during receive processing. Not true + * for RDMA, which must always provision receive buffers + * up front. + */ +static noinline int +rpcrdma_alloc_sparse_pages(struct xdr_buf *buf) +{ + struct page **ppages; + int len; + + len = buf->page_len; + ppages = buf->pages + (buf->page_base >> PAGE_SHIFT); + while (len > 0) { + if (!*ppages) + *ppages = alloc_page(GFP_NOWAIT | __GFP_NOWARN); + if (!*ppages) + return -ENOBUFS; + ppages++; + len -= PAGE_SIZE; + } + + return 0; +} + /* Split @vec on page boundaries into SGEs. FMR registers pages, not * a byte range. Other modes coalesce these SGEs into a single MR * when they can. @@ -233,15 +258,6 @@ ppages = xdrbuf->pages + (xdrbuf->page_base >> PAGE_SHIFT); page_base = offset_in_page(xdrbuf->page_base); while (len) { - /* ACL likes to be lazy in allocating pages - ACLs - * are small by default but can get huge. - */ - if (unlikely(xdrbuf->flags & XDRBUF_SPARSE_PAGES)) { - if (!*ppages) - *ppages = alloc_page(GFP_NOWAIT | __GFP_NOWARN); - if (!*ppages) - return -ENOBUFS; - } seg->mr_page = *ppages; seg->mr_offset = (char *)page_base; seg->mr_len = min_t(u32, PAGE_SIZE - page_base, len); @@ -875,6 +891,12 @@ __be32 *p; int ret; + if (unlikely(rqst->rq_rcv_buf.flags & XDRBUF_SPARSE_PAGES)) { + ret = rpcrdma_alloc_sparse_pages(&rqst->rq_rcv_buf); + if (ret) + return ret; + } + rpcrdma_set_xdrlen(&req->rl_hdrbuf, 0); xdr_init_encode(xdr, &req->rl_hdrbuf, rdmab_data(req->rl_rdmabuf), rqst); --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/svc_rdma_backchannel.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/svc_rdma_backchannel.c @@ -246,9 +246,9 @@ xprt->timeout = &xprt_rdma_bc_timeout; xprt_set_bound(xprt); xprt_set_connected(xprt); - xprt->bind_timeout = RPCRDMA_BIND_TO; - xprt->reestablish_timeout = RPCRDMA_INIT_REEST_TO; - xprt->idle_timeout = RPCRDMA_IDLE_DISC_TO; + xprt->bind_timeout = 0; + xprt->reestablish_timeout = 0; + xprt->idle_timeout = 0; xprt->prot = XPRT_TRANSPORT_BC_RDMA; xprt->ops = &xprt_rdma_bc_procs; --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c @@ -265,6 +265,8 @@ { struct svc_rdma_recv_ctxt *ctxt; + if (test_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags)) + return 0; ctxt = svc_rdma_recv_ctxt_get(rdma); if (!ctxt) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/svc_rdma_rw.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/svc_rdma_rw.c @@ -684,7 +684,6 @@ struct svc_rdma_read_info *info, __be32 *p) { - unsigned int i; int ret; ret = -EINVAL; @@ -707,12 +706,6 @@ info->ri_chunklen += rs_length; } - /* Pages under I/O have been copied to head->rc_pages. - * Prevent their premature release by svc_xprt_release() . - */ - for (i = 0; i < info->ri_readctxt->rc_page_count; i++) - rqstp->rq_pages[i] = NULL; - return ret; } @@ -807,6 +800,26 @@ return ret; } +/* Pages under I/O have been copied to head->rc_pages. Ensure they + * are not released by svc_xprt_release() until the I/O is complete. + * + * This has to be done after all Read WRs are constructed to properly + * handle a page that is part of I/O on behalf of two different RDMA + * segments. + * + * Do this only if I/O has been posted. Otherwise, we do indeed want + * svc_xprt_release() to clean things up properly. + */ +static void svc_rdma_save_io_pages(struct svc_rqst *rqstp, + const unsigned int start, + const unsigned int num_pages) +{ + unsigned int i; + + for (i = start; i < num_pages + start; i++) + rqstp->rq_pages[i] = NULL; +} + /** * svc_rdma_recv_read_chunk - Pull a Read chunk from the client * @rdma: controlling RDMA transport @@ -860,6 +873,7 @@ ret = svc_rdma_post_chunk_ctxt(&info->ri_cc); if (ret < 0) goto out_err; + svc_rdma_save_io_pages(rqstp, 0, head->rc_page_count); return 0; out_err: --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/svc_rdma_sendto.c @@ -637,10 +637,11 @@ while (remaining) { len = min_t(u32, PAGE_SIZE - pageoff, remaining); - memcpy(dst, page_address(*ppages), len); + memcpy(dst, page_address(*ppages) + pageoff, len); remaining -= len; dst += len; pageoff = 0; + ppages++; } } --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/transport.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/transport.c @@ -775,6 +775,7 @@ .owner = THIS_MODULE, .ident = XPRT_TRANSPORT_RDMA, .setup = xprt_setup_rdma, + .netid = { "rdma", "rdma6", "" }, }; void xprt_rdma_cleanup(void) --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtrdma/verbs.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtrdma/verbs.c @@ -933,6 +933,8 @@ rpcrdma_regbuf_dma_unmap(req->rl_sendbuf); rpcrdma_regbuf_dma_unmap(req->rl_recvbuf); + + frwr_reset(req); } /* ASSUMPTION: the rb_allreqs list is stable for the duration, --- linux-riscv-5.8-5.8.0.orig/net/sunrpc/xprtsock.c +++ linux-riscv-5.8-5.8.0/net/sunrpc/xprtsock.c @@ -433,7 +433,8 @@ if (ret <= 0) goto sock_err; xs_flush_bvec(buf->bvec, ret, seek + buf->page_base); - offset += ret - buf->page_base; + ret -= buf->page_base; + offset += ret; if (offset == count || msg->msg_flags & (MSG_EOR|MSG_TRUNC)) goto out; if (ret != want) @@ -3062,6 +3063,7 @@ .owner = THIS_MODULE, .ident = XPRT_TRANSPORT_LOCAL, .setup = xs_setup_local, + .netid = { "" }, }; static struct xprt_class xs_udp_transport = { @@ -3070,6 +3072,7 @@ .owner = THIS_MODULE, .ident = XPRT_TRANSPORT_UDP, .setup = xs_setup_udp, + .netid = { "udp", "udp6", "" }, }; static struct xprt_class xs_tcp_transport = { @@ -3078,6 +3081,7 @@ .owner = THIS_MODULE, .ident = XPRT_TRANSPORT_TCP, .setup = xs_setup_tcp, + .netid = { "tcp", "tcp6", "" }, }; static struct xprt_class xs_bc_tcp_transport = { @@ -3086,6 +3090,7 @@ .owner = THIS_MODULE, .ident = XPRT_TRANSPORT_BC_TCP, .setup = xs_setup_bc_tcp, + .netid = { "" }, }; /** --- linux-riscv-5.8-5.8.0.orig/net/switchdev/switchdev.c +++ linux-riscv-5.8-5.8.0/net/switchdev/switchdev.c @@ -461,10 +461,11 @@ extack = switchdev_notifier_info_to_extack(&port_obj_info->info); if (check_cb(dev)) { - /* This flag is only checked if the return value is success. */ - port_obj_info->handled = true; - return add_cb(dev, port_obj_info->obj, port_obj_info->trans, - extack); + err = add_cb(dev, port_obj_info->obj, port_obj_info->trans, + extack); + if (err != -EOPNOTSUPP) + port_obj_info->handled = true; + return err; } /* Switch ports might be stacked under e.g. a LAG. Ignore the @@ -516,9 +517,10 @@ int err = -EOPNOTSUPP; if (check_cb(dev)) { - /* This flag is only checked if the return value is success. */ - port_obj_info->handled = true; - return del_cb(dev, port_obj_info->obj); + err = del_cb(dev, port_obj_info->obj); + if (err != -EOPNOTSUPP) + port_obj_info->handled = true; + return err; } /* Switch ports might be stacked under e.g. a LAG. Ignore the @@ -569,9 +571,10 @@ int err = -EOPNOTSUPP; if (check_cb(dev)) { - port_attr_info->handled = true; - return set_cb(dev, port_attr_info->attr, - port_attr_info->trans); + err = set_cb(dev, port_attr_info->attr, port_attr_info->trans); + if (err != -EOPNOTSUPP) + port_attr_info->handled = true; + return err; } /* Switch ports might be stacked under e.g. a LAG. Ignore the --- linux-riscv-5.8-5.8.0.orig/net/tipc/bcast.c +++ linux-riscv-5.8-5.8.0/net/tipc/bcast.c @@ -108,6 +108,8 @@ { struct tipc_bc_base *bb = tipc_bc_base(net); int all_dests = tipc_link_bc_peers(bb->link); + int max_win = tipc_link_max_win(bb->link); + int min_win = tipc_link_min_win(bb->link); int i, mtu, prim; bb->primary_bearer = INVALID_BEARER_ID; @@ -121,8 +123,12 @@ continue; mtu = tipc_bearer_mtu(net, i); - if (mtu < tipc_link_mtu(bb->link)) + if (mtu < tipc_link_mtu(bb->link)) { tipc_link_set_mtu(bb->link, mtu); + tipc_link_set_queue_limits(bb->link, + min_win, + max_win); + } bb->bcast_support &= tipc_bearer_bcast_support(net, i); if (bb->dests[i] < all_dests) continue; @@ -585,7 +591,7 @@ if (max_win > TIPC_MAX_LINK_WIN) return -EINVAL; tipc_bcast_lock(net); - tipc_link_set_queue_limits(l, BCLINK_WIN_MIN, max_win); + tipc_link_set_queue_limits(l, tipc_link_min_win(l), max_win); tipc_bcast_unlock(net); return 0; } --- linux-riscv-5.8-5.8.0.orig/net/tipc/core.c +++ linux-riscv-5.8-5.8.0/net/tipc/core.c @@ -60,6 +60,7 @@ tn->trial_addr = 0; tn->addr_trial_end = 0; tn->capabilities = TIPC_NODE_CAPABILITIES; + INIT_WORK(&tn->final_work.work, tipc_net_finalize_work); memset(tn->node_id, 0, sizeof(tn->node_id)); memset(tn->node_id_string, 0, sizeof(tn->node_id_string)); tn->mon_threshold = TIPC_DEF_MON_THRESHOLD; @@ -107,8 +108,13 @@ static void __net_exit tipc_exit_net(struct net *net) { + struct tipc_net *tn = tipc_net(net); + tipc_detach_loopback(net); + /* Make sure the tipc_net_finalize_work() finished */ + cancel_work_sync(&tn->final_work.work); tipc_net_stop(net); + tipc_bcast_stop(net); tipc_nametbl_stop(net); tipc_sk_rht_destroy(net); --- linux-riscv-5.8-5.8.0.orig/net/tipc/core.h +++ linux-riscv-5.8-5.8.0/net/tipc/core.h @@ -90,6 +90,12 @@ extern int sysctl_tipc_rmem[3] __read_mostly; extern int sysctl_tipc_named_timeout __read_mostly; +struct tipc_net_work { + struct work_struct work; + struct net *net; + u32 addr; +}; + struct tipc_net { u8 node_id[NODE_ID_LEN]; u32 node_addr; @@ -143,6 +149,8 @@ /* TX crypto handler */ struct tipc_crypto *crypto_tx; #endif + /* Work item for net finalize */ + struct tipc_net_work final_work; }; static inline struct tipc_net *tipc_net(struct net *net) --- linux-riscv-5.8-5.8.0.orig/net/tipc/crypto.c +++ linux-riscv-5.8-5.8.0/net/tipc/crypto.c @@ -326,7 +326,8 @@ if (aead->cloned) { tipc_aead_put(aead->cloned); } else { - head = *this_cpu_ptr(aead->tfm_entry); + head = *get_cpu_ptr(aead->tfm_entry); + put_cpu_ptr(aead->tfm_entry); list_for_each_entry_safe(tfm_entry, tmp, &head->list, list) { crypto_free_aead(tfm_entry->tfm); list_del(&tfm_entry->list); @@ -399,10 +400,15 @@ */ static struct crypto_aead *tipc_aead_tfm_next(struct tipc_aead *aead) { - struct tipc_tfm **tfm_entry = this_cpu_ptr(aead->tfm_entry); + struct tipc_tfm **tfm_entry; + struct crypto_aead *tfm; + tfm_entry = get_cpu_ptr(aead->tfm_entry); *tfm_entry = list_next_entry(*tfm_entry, list); - return (*tfm_entry)->tfm; + tfm = (*tfm_entry)->tfm; + put_cpu_ptr(tfm_entry); + + return tfm; } /** @@ -757,10 +763,12 @@ switch (err) { case 0: this_cpu_inc(tx->stats->stat[STAT_ASYNC_OK]); + rcu_read_lock(); if (likely(test_bit(0, &b->up))) b->media->send_msg(net, skb, b, &tx_ctx->dst); else kfree_skb(skb); + rcu_read_unlock(); break; case -EINPROGRESS: return; @@ -1781,12 +1789,13 @@ goto rcv; if (tipc_aead_clone(&tmp, aead) < 0) goto rcv; + WARN_ON(!refcount_inc_not_zero(&tmp->refcnt)); if (tipc_crypto_key_attach(rx, tmp, ehdr->tx_key) < 0) { tipc_aead_free(&tmp->rcu); goto rcv; } tipc_aead_put(aead); - aead = tipc_aead_get(tmp); + aead = tmp; } if (unlikely(err)) { --- linux-riscv-5.8-5.8.0.orig/net/tipc/group.c +++ linux-riscv-5.8-5.8.0/net/tipc/group.c @@ -273,8 +273,8 @@ return NULL; } -static void tipc_group_add_to_tree(struct tipc_group *grp, - struct tipc_member *m) +static int tipc_group_add_to_tree(struct tipc_group *grp, + struct tipc_member *m) { u64 nkey, key = (u64)m->node << 32 | m->port; struct rb_node **n, *parent = NULL; @@ -291,10 +291,11 @@ else if (key > nkey) n = &(*n)->rb_right; else - return; + return -EEXIST; } rb_link_node(&m->tree_node, parent, n); rb_insert_color(&m->tree_node, &grp->members); + return 0; } static struct tipc_member *tipc_group_create_member(struct tipc_group *grp, @@ -302,6 +303,7 @@ u32 instance, int state) { struct tipc_member *m; + int ret; m = kzalloc(sizeof(*m), GFP_ATOMIC); if (!m) @@ -314,8 +316,12 @@ m->port = port; m->instance = instance; m->bc_acked = grp->bc_snd_nxt - 1; + ret = tipc_group_add_to_tree(grp, m); + if (ret < 0) { + kfree(m); + return NULL; + } grp->member_cnt++; - tipc_group_add_to_tree(grp, m); tipc_nlist_add(&grp->dests, m->node); m->state = state; return m; --- linux-riscv-5.8-5.8.0.orig/net/tipc/link.c +++ linux-riscv-5.8-5.8.0/net/tipc/link.c @@ -1000,7 +1000,6 @@ int tipc_link_xmit(struct tipc_link *l, struct sk_buff_head *list, struct sk_buff_head *xmitq) { - struct tipc_msg *hdr = buf_msg(skb_peek(list)); struct sk_buff_head *backlogq = &l->backlogq; struct sk_buff_head *transmq = &l->transmq; struct sk_buff *skb, *_skb; @@ -1008,13 +1007,18 @@ u16 ack = l->rcv_nxt - 1; u16 seqno = l->snd_nxt; int pkt_cnt = skb_queue_len(list); - int imp = msg_importance(hdr); unsigned int mss = tipc_link_mss(l); unsigned int cwin = l->window; unsigned int mtu = l->mtu; + struct tipc_msg *hdr; bool new_bundle; int rc = 0; + int imp; + if (pkt_cnt <= 0) + return 0; + + hdr = buf_msg(skb_peek(list)); if (unlikely(msg_size(hdr) > mtu)) { pr_warn("Too large msg, purging xmit list %d %d %d %d %d!\n", skb_queue_len(list), msg_user(hdr), @@ -1023,6 +1027,7 @@ return -EMSGSIZE; } + imp = msg_importance(hdr); /* Allow oversubscription of one data msg per source at congestion */ if (unlikely(l->backlog[imp].len >= l->backlog[imp].limit)) { if (imp == TIPC_SYSTEM_IMPORTANCE) { --- linux-riscv-5.8-5.8.0.orig/net/tipc/msg.c +++ linux-riscv-5.8-5.8.0/net/tipc/msg.c @@ -150,10 +150,11 @@ if (fragid == FIRST_FRAGMENT) { if (unlikely(head)) goto err; - if (unlikely(skb_unclone(frag, GFP_ATOMIC))) + *buf = NULL; + frag = skb_unshare(frag, GFP_ATOMIC); + if (unlikely(!frag)) goto err; head = *headbuf = frag; - *buf = NULL; TIPC_SKB_CB(head)->tail = NULL; if (skb_is_nonlinear(head)) { skb_walk_frags(head, tail) { --- linux-riscv-5.8-5.8.0.orig/net/tipc/net.c +++ linux-riscv-5.8-5.8.0/net/tipc/net.c @@ -105,12 +105,6 @@ * - A local spin_lock protecting the queue of subscriber events. */ -struct tipc_net_work { - struct work_struct work; - struct net *net; - u32 addr; -}; - static void tipc_net_finalize(struct net *net, u32 addr); int tipc_net_init(struct net *net, u8 *node_id, u32 addr) @@ -142,25 +136,21 @@ TIPC_CLUSTER_SCOPE, 0, addr); } -static void tipc_net_finalize_work(struct work_struct *work) +void tipc_net_finalize_work(struct work_struct *work) { struct tipc_net_work *fwork; fwork = container_of(work, struct tipc_net_work, work); tipc_net_finalize(fwork->net, fwork->addr); - kfree(fwork); } void tipc_sched_net_finalize(struct net *net, u32 addr) { - struct tipc_net_work *fwork = kzalloc(sizeof(*fwork), GFP_ATOMIC); + struct tipc_net *tn = tipc_net(net); - if (!fwork) - return; - INIT_WORK(&fwork->work, tipc_net_finalize_work); - fwork->net = net; - fwork->addr = addr; - schedule_work(&fwork->work); + tn->final_work.net = net; + tn->final_work.addr = addr; + schedule_work(&tn->final_work.work); } void tipc_net_stop(struct net *net) --- linux-riscv-5.8-5.8.0.orig/net/tipc/net.h +++ linux-riscv-5.8-5.8.0/net/tipc/net.h @@ -42,6 +42,7 @@ extern const struct nla_policy tipc_nl_net_policy[]; int tipc_net_init(struct net *net, u8 *node_id, u32 addr); +void tipc_net_finalize_work(struct work_struct *work); void tipc_sched_net_finalize(struct net *net, u32 addr); void tipc_net_stop(struct net *net); int tipc_nl_net_dump(struct sk_buff *skb, struct netlink_callback *cb); --- linux-riscv-5.8-5.8.0.orig/net/tipc/netlink_compat.c +++ linux-riscv-5.8-5.8.0/net/tipc/netlink_compat.c @@ -275,8 +275,9 @@ static int tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd, struct tipc_nl_compat_msg *msg) { - int err; + struct nlmsghdr *nlh; struct sk_buff *arg; + int err; if (msg->req_type && (!msg->req_size || !TLV_CHECK_TYPE(msg->req, msg->req_type))) @@ -305,6 +306,15 @@ return -ENOMEM; } + nlh = nlmsg_put(arg, 0, 0, tipc_genl_family.id, 0, NLM_F_MULTI); + if (!nlh) { + kfree_skb(arg); + kfree_skb(msg->rep); + msg->rep = NULL; + return -EMSGSIZE; + } + nlmsg_end(arg, nlh); + err = __tipc_nl_compat_dumpit(cmd, msg, arg); if (err) { kfree_skb(msg->rep); --- linux-riscv-5.8-5.8.0.orig/net/tipc/node.c +++ linux-riscv-5.8-5.8.0/net/tipc/node.c @@ -2153,7 +2153,11 @@ &xmitq); else if (prop == TIPC_NLA_PROP_MTU) tipc_link_set_mtu(e->link, b->mtu); + + /* Update MTU for node link entry */ + e->mtu = tipc_link_mss(e->link); } + tipc_node_write_unlock(n); tipc_bearer_xmit(net, bearer_id, &xmitq, &e->maddr, NULL); } @@ -2823,17 +2827,22 @@ #ifdef CONFIG_TIPC_CRYPTO static int tipc_nl_retrieve_key(struct nlattr **attrs, - struct tipc_aead_key **key) + struct tipc_aead_key **pkey) { struct nlattr *attr = attrs[TIPC_NLA_NODE_KEY]; + struct tipc_aead_key *key; if (!attr) return -ENODATA; - *key = (struct tipc_aead_key *)nla_data(attr); - if (nla_len(attr) < tipc_aead_key_size(*key)) + if (nla_len(attr) < sizeof(*key)) + return -EINVAL; + key = (struct tipc_aead_key *)nla_data(attr); + if (key->keylen > TIPC_AEAD_KEYLEN_MAX || + nla_len(attr) < tipc_aead_key_size(key)) return -EINVAL; + *pkey = key; return 0; } --- linux-riscv-5.8-5.8.0.orig/net/tipc/socket.c +++ linux-riscv-5.8-5.8.0/net/tipc/socket.c @@ -1246,7 +1246,7 @@ spin_lock_bh(&inputq->lock); if (skb_peek(arrvq) == skb) { skb_queue_splice_tail_init(&tmpq, inputq); - kfree_skb(__skb_dequeue(arrvq)); + __skb_dequeue(arrvq); } spin_unlock_bh(&inputq->lock); __skb_queue_purge(&tmpq); @@ -2773,18 +2773,18 @@ trace_tipc_sk_shutdown(sk, NULL, TIPC_DUMP_ALL, " "); __tipc_shutdown(sock, TIPC_CONN_SHUTDOWN); - sk->sk_shutdown = SEND_SHUTDOWN; + sk->sk_shutdown = SHUTDOWN_MASK; if (sk->sk_state == TIPC_DISCONNECTING) { /* Discard any unreceived messages */ __skb_queue_purge(&sk->sk_receive_queue); - /* Wake up anyone sleeping in poll */ - sk->sk_state_change(sk); res = 0; } else { res = -ENOTCONN; } + /* Wake up anyone sleeping in poll. */ + sk->sk_state_change(sk); release_sock(sk); return res; --- linux-riscv-5.8-5.8.0.orig/net/tipc/topsrv.c +++ linux-riscv-5.8-5.8.0/net/tipc/topsrv.c @@ -665,12 +665,18 @@ ret = tipc_topsrv_work_start(srv); if (ret < 0) - return ret; + goto err_start; ret = tipc_topsrv_create_listener(srv); if (ret < 0) - tipc_topsrv_work_stop(srv); + goto err_create; + return 0; + +err_create: + tipc_topsrv_work_stop(srv); +err_start: + kfree(srv); return ret; } --- linux-riscv-5.8-5.8.0.orig/net/tls/tls_device.c +++ linux-riscv-5.8-5.8.0/net/tls/tls_device.c @@ -418,14 +418,14 @@ struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_prot_info *prot = &tls_ctx->prot_info; struct tls_offload_context_tx *ctx = tls_offload_ctx_tx(tls_ctx); - int more = flags & (MSG_SENDPAGE_NOTLAST | MSG_MORE); struct tls_record_info *record = ctx->open_record; int tls_push_record_flags; struct page_frag *pfrag; size_t orig_size = size; u32 max_open_record_len; - int copy, rc = 0; + bool more = false; bool done = false; + int copy, rc = 0; long timeo; if (flags & @@ -492,9 +492,8 @@ if (!size) { last_record: tls_push_record_flags = flags; - if (more) { - tls_ctx->pending_open_record_frags = - !!record->num_frags; + if (flags & (MSG_SENDPAGE_NOTLAST | MSG_MORE)) { + more = true; break; } @@ -526,6 +525,8 @@ } } while (!done); + tls_ctx->pending_open_record_frags = more; + if (orig_size - size > 0) rc = orig_size - size; @@ -561,7 +562,7 @@ { struct tls_context *tls_ctx = tls_get_ctx(sk); struct iov_iter msg_iter; - char *kaddr = kmap(page); + char *kaddr; struct kvec iov; int rc; @@ -576,6 +577,7 @@ goto out; } + kaddr = kmap(page); iov.iov_base = kaddr + offset; iov.iov_len = size; iov_iter_kvec(&msg_iter, WRITE, &iov, 1, size); @@ -690,15 +692,71 @@ TLS_INC_STATS(sock_net(sk), LINUX_MIB_TLSRXDEVICERESYNC); } +static bool +tls_device_rx_resync_async(struct tls_offload_resync_async *resync_async, + s64 resync_req, u32 *seq, u16 *rcd_delta) +{ + u32 is_async = resync_req & RESYNC_REQ_ASYNC; + u32 req_seq = resync_req >> 32; + u32 req_end = req_seq + ((resync_req >> 16) & 0xffff); + u16 i; + + *rcd_delta = 0; + + if (is_async) { + /* shouldn't get to wraparound: + * too long in async stage, something bad happened + */ + if (WARN_ON_ONCE(resync_async->rcd_delta == USHRT_MAX)) + return false; + + /* asynchronous stage: log all headers seq such that + * req_seq <= seq <= end_seq, and wait for real resync request + */ + if (before(*seq, req_seq)) + return false; + if (!after(*seq, req_end) && + resync_async->loglen < TLS_DEVICE_RESYNC_ASYNC_LOGMAX) + resync_async->log[resync_async->loglen++] = *seq; + + resync_async->rcd_delta++; + + return false; + } + + /* synchronous stage: check against the logged entries and + * proceed to check the next entries if no match was found + */ + for (i = 0; i < resync_async->loglen; i++) + if (req_seq == resync_async->log[i] && + atomic64_try_cmpxchg(&resync_async->req, &resync_req, 0)) { + *rcd_delta = resync_async->rcd_delta - i; + *seq = req_seq; + resync_async->loglen = 0; + resync_async->rcd_delta = 0; + return true; + } + + resync_async->loglen = 0; + resync_async->rcd_delta = 0; + + if (req_seq == *seq && + atomic64_try_cmpxchg(&resync_async->req, + &resync_req, 0)) + return true; + + return false; +} + void tls_device_rx_resync_new_rec(struct sock *sk, u32 rcd_len, u32 seq) { struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_offload_context_rx *rx_ctx; - bool is_req_pending, is_force_resync; u8 rcd_sn[TLS_MAX_REC_SEQ_SIZE]; + u32 sock_data, is_req_pending; struct tls_prot_info *prot; s64 resync_req; - u32 sock_data; + u16 rcd_delta; u32 req_seq; if (tls_ctx->rx_conf != TLS_HW) @@ -713,11 +771,9 @@ resync_req = atomic64_read(&rx_ctx->resync_req); req_seq = resync_req >> 32; seq += TLS_HEADER_SIZE - 1; - is_req_pending = resync_req & RESYNC_REQ; - is_force_resync = resync_req & RESYNC_REQ_FORCE; + is_req_pending = resync_req; - if (likely(!is_req_pending) || - (!is_force_resync && req_seq != seq) || + if (likely(!is_req_pending) || req_seq != seq || !atomic64_try_cmpxchg(&rx_ctx->resync_req, &resync_req, 0)) return; break; @@ -739,6 +795,17 @@ seq += rcd_len; tls_bigint_increment(rcd_sn, prot->rec_seq_size); break; + case TLS_OFFLOAD_SYNC_TYPE_DRIVER_REQ_ASYNC: + resync_req = atomic64_read(&rx_ctx->resync_async->req); + is_req_pending = resync_req; + if (likely(!is_req_pending)) + return; + + if (!tls_device_rx_resync_async(rx_ctx->resync_async, + resync_req, &seq, &rcd_delta)) + return; + tls_bigint_subtract(rcd_sn, rcd_delta); + break; } tls_device_resync_rx(tls_ctx, sk, seq, rcd_sn); @@ -1195,6 +1262,8 @@ if (tls_ctx->tx_conf != TLS_HW) { dev_put(netdev); tls_ctx->netdev = NULL; + } else { + set_bit(TLS_RX_DEV_CLOSED, &tls_ctx->flags); } out: up_read(&device_offload_lock); @@ -1224,7 +1293,8 @@ if (ctx->tx_conf == TLS_HW) netdev->tlsdev_ops->tls_dev_del(netdev, ctx, TLS_OFFLOAD_CTX_DIR_TX); - if (ctx->rx_conf == TLS_HW) + if (ctx->rx_conf == TLS_HW && + !test_bit(TLS_RX_DEV_CLOSED, &ctx->flags)) netdev->tlsdev_ops->tls_dev_del(netdev, ctx, TLS_OFFLOAD_CTX_DIR_RX); WRITE_ONCE(ctx->netdev, NULL); --- linux-riscv-5.8-5.8.0.orig/net/tls/tls_proc.c +++ linux-riscv-5.8-5.8.0/net/tls/tls_proc.c @@ -37,9 +37,12 @@ int __net_init tls_proc_init(struct net *net) { +#ifdef CONFIG_PROC_FS if (!proc_create_net_single("tls_stat", 0444, net->proc_net, tls_statistics_seq_show, NULL)) return -ENOMEM; +#endif /* CONFIG_PROC_FS */ + return 0; } --- linux-riscv-5.8-5.8.0.orig/net/tls/tls_sw.c +++ linux-riscv-5.8-5.8.0/net/tls/tls_sw.c @@ -1294,6 +1294,12 @@ return NULL; } + if (!skb_queue_empty(&sk->sk_receive_queue)) { + __strp_unpause(&ctx->strp); + if (ctx->recv_pkt) + return ctx->recv_pkt; + } + if (sk->sk_shutdown & RCV_SHUTDOWN) return NULL; @@ -1912,7 +1918,7 @@ * another message type */ msg->msg_flags |= MSG_EOR; - if (ctx->control != TLS_RECORD_TYPE_DATA) + if (control != TLS_RECORD_TYPE_DATA) goto recv_end; } else { break; @@ -2142,10 +2148,15 @@ struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_sw_context_tx *ctx = tls_sw_ctx_tx(tls_ctx); struct tls_rec *rec, *tmp; + int pending; /* Wait for any pending async encryptions to complete */ - smp_store_mb(ctx->async_notify, true); - if (atomic_read(&ctx->encrypt_pending)) + spin_lock_bh(&ctx->encrypt_compl_lock); + ctx->async_notify = true; + pending = atomic_read(&ctx->encrypt_pending); + spin_unlock_bh(&ctx->encrypt_compl_lock); + + if (pending) crypto_wait_req(-EINPROGRESS, &ctx->async_wait); tls_tx_records(sk, -1); --- linux-riscv-5.8-5.8.0.orig/net/unix/af_unix.c +++ linux-riscv-5.8-5.8.0/net/unix/af_unix.c @@ -138,17 +138,17 @@ #ifdef CONFIG_SECURITY_NETWORK static void unix_get_secdata(struct scm_cookie *scm, struct sk_buff *skb) { - UNIXCB(skb).secid = scm->secid; + UNIXCB(skb).lsmblob = scm->lsmblob; } static inline void unix_set_secdata(struct scm_cookie *scm, struct sk_buff *skb) { - scm->secid = UNIXCB(skb).secid; + scm->lsmblob = UNIXCB(skb).lsmblob; } static inline bool unix_secdata_eq(struct scm_cookie *scm, struct sk_buff *skb) { - return (scm->secid == UNIXCB(skb).secid); + return lsmblob_equal(&scm->lsmblob, &(UNIXCB(skb).lsmblob)); } #else static inline void unix_get_secdata(struct scm_cookie *scm, struct sk_buff *skb) --- linux-riscv-5.8-5.8.0.orig/net/vmw_vsock/af_vsock.c +++ linux-riscv-5.8-5.8.0/net/vmw_vsock/af_vsock.c @@ -438,7 +438,7 @@ case SOCK_STREAM: if (vsock_use_local_transport(remote_cid)) new_transport = transport_local; - else if (remote_cid <= VMADDR_CID_HOST) + else if (remote_cid <= VMADDR_CID_HOST || !transport_h2g) new_transport = transport_g2h; else new_transport = transport_h2g; @@ -738,8 +738,9 @@ vsk->buffer_size = psk->buffer_size; vsk->buffer_min_size = psk->buffer_min_size; vsk->buffer_max_size = psk->buffer_max_size; + security_sk_clone(parent, sk); } else { - vsk->trusted = capable(CAP_NET_ADMIN); + vsk->trusted = ns_capable_noaudit(&init_user_ns, CAP_NET_ADMIN); vsk->owner = get_current_cred(); vsk->connect_timeout = VSOCK_DEFAULT_CONNECT_TIMEOUT; vsk->buffer_size = VSOCK_DEFAULT_BUFFER_SIZE; @@ -926,10 +927,12 @@ */ sk = sock->sk; + + lock_sock(sk); if (sock->state == SS_UNCONNECTED) { err = -ENOTCONN; if (sk->sk_type == SOCK_STREAM) - return err; + goto out; } else { sock->state = SS_DISCONNECTING; err = 0; @@ -938,10 +941,8 @@ /* Receive and send shutdowns are treated alike. */ mode = mode & (RCV_SHUTDOWN | SEND_SHUTDOWN); if (mode) { - lock_sock(sk); sk->sk_shutdown |= mode; sk->sk_state_change(sk); - release_sock(sk); if (sk->sk_type == SOCK_STREAM) { sock_reset_flag(sk, SOCK_DONE); @@ -949,6 +950,8 @@ } } +out: + release_sock(sk); return err; } @@ -997,9 +1000,12 @@ mask |= EPOLLOUT | EPOLLWRNORM | EPOLLWRBAND; } else if (sock->type == SOCK_STREAM) { - const struct vsock_transport *transport = vsk->transport; + const struct vsock_transport *transport; + lock_sock(sk); + transport = vsk->transport; + /* Listening sockets that have connections in their accept * queue can be read. */ @@ -1032,7 +1038,7 @@ } /* Connected sockets that can produce data can be written. */ - if (sk->sk_state == TCP_ESTABLISHED) { + if (transport && sk->sk_state == TCP_ESTABLISHED) { if (!(sk->sk_shutdown & SEND_SHUTDOWN)) { bool space_avail_now = false; int ret = transport->notify_poll_out( @@ -1082,10 +1088,11 @@ err = 0; sk = sock->sk; vsk = vsock_sk(sk); - transport = vsk->transport; lock_sock(sk); + transport = vsk->transport; + err = vsock_auto_bind(vsk); if (err) goto out; @@ -1214,7 +1221,7 @@ { const struct vsock_transport *transport = vsk->transport; - if (!transport->cancel_pkt) + if (!transport || !transport->cancel_pkt) return -EOPNOTSUPP; return transport->cancel_pkt(vsk); @@ -1224,7 +1231,6 @@ { struct sock *sk; struct vsock_sock *vsk; - int cancel = 0; vsk = container_of(work, struct vsock_sock, connect_work.work); sk = sk_vsock(vsk); @@ -1235,11 +1241,9 @@ sk->sk_state = TCP_CLOSE; sk->sk_err = ETIMEDOUT; sk->sk_error_report(sk); - cancel = 1; + vsock_transport_cancel_pkt(vsk); } release_sock(sk); - if (cancel) - vsock_transport_cancel_pkt(vsk); sock_put(sk); } @@ -1546,10 +1550,11 @@ err = 0; sk = sock->sk; vsk = vsock_sk(sk); - transport = vsk->transport; lock_sock(sk); + transport = vsk->transport; + switch (optname) { case SO_VM_SOCKETS_BUFFER_SIZE: COPY_IN(val); @@ -1682,7 +1687,6 @@ sk = sock->sk; vsk = vsock_sk(sk); - transport = vsk->transport; total_written = 0; err = 0; @@ -1691,6 +1695,8 @@ lock_sock(sk); + transport = vsk->transport; + /* Callers should not provide a destination with stream sockets. */ if (msg->msg_namelen) { err = sk->sk_state == TCP_ESTABLISHED ? -EISCONN : -EOPNOTSUPP; @@ -1825,11 +1831,12 @@ sk = sock->sk; vsk = vsock_sk(sk); - transport = vsk->transport; err = 0; lock_sock(sk); + transport = vsk->transport; + if (!transport || sk->sk_state != TCP_ESTABLISHED) { /* Recvmsg is supposed to return 0 if a peer performs an * orderly shutdown. Differentiate between that case and when a --- linux-riscv-5.8-5.8.0.orig/net/vmw_vsock/hyperv_transport.c +++ linux-riscv-5.8-5.8.0/net/vmw_vsock/hyperv_transport.c @@ -474,14 +474,10 @@ static int hvs_shutdown(struct vsock_sock *vsk, int mode) { - struct sock *sk = sk_vsock(vsk); - if (!(mode & SEND_SHUTDOWN)) return 0; - lock_sock(sk); hvs_shutdown_lock_held(vsk->trans, mode); - release_sock(sk); return 0; } --- linux-riscv-5.8-5.8.0.orig/net/vmw_vsock/virtio_transport_common.c +++ linux-riscv-5.8-5.8.0/net/vmw_vsock/virtio_transport_common.c @@ -841,8 +841,10 @@ virtio_transport_free_pkt(pkt); } - if (remove_sock) + if (remove_sock) { + sock_set_flag(sk, SOCK_DONE); vsock_remove_sock(vsk); + } } EXPORT_SYMBOL_GPL(virtio_transport_release); @@ -1128,18 +1130,18 @@ vsk = vsock_sk(sk); - space_available = virtio_transport_space_update(sk, pkt); - lock_sock(sk); - /* Check if sk has been released before lock_sock */ - if (sk->sk_shutdown == SHUTDOWN_MASK) { + /* Check if sk has been closed before lock_sock */ + if (sock_flag(sk, SOCK_DONE)) { (void)virtio_transport_reset_no_sock(t, pkt); release_sock(sk); sock_put(sk); goto free_pkt; } + space_available = virtio_transport_space_update(sk, pkt); + /* Update CID in case it has changed after a transport reset event */ vsk->local_addr.svm_cid = dst.svm_cid; --- linux-riscv-5.8-5.8.0.orig/net/wireless/Kconfig +++ linux-riscv-5.8-5.8.0/net/wireless/Kconfig @@ -21,6 +21,7 @@ tristate "cfg80211 - wireless configuration API" depends on RFKILL || !RFKILL select FW_LOADER + select CRC32 # may need to update this when certificates are changed and are # using a different algorithm, though right now they shouldn't # (this is here rather than below to allow it to be a module) @@ -217,6 +218,7 @@ config LIB80211_CRYPT_CCMP tristate + select CRYPTO select CRYPTO_AES select CRYPTO_CCM --- linux-riscv-5.8-5.8.0.orig/net/wireless/chan.c +++ linux-riscv-5.8-5.8.0/net/wireless/chan.c @@ -10,6 +10,7 @@ */ #include +#include #include #include "core.h" #include "rdev-ops.h" @@ -892,6 +893,7 @@ struct ieee80211_sta_vht_cap *vht_cap; struct ieee80211_edmg *edmg_cap; u32 width, control_freq, cap; + bool support_80_80 = false; if (WARN_ON(!cfg80211_chandef_valid(chandef))) return false; @@ -944,9 +946,13 @@ return false; break; case NL80211_CHAN_WIDTH_80P80: - cap = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK; - if (chandef->chan->band != NL80211_BAND_6GHZ && - cap != IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ) + cap = vht_cap->cap; + support_80_80 = + (cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ) || + (cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ && + cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK) || + u32_get_bits(cap, IEEE80211_VHT_CAP_EXT_NSS_BW_MASK) > 1; + if (chandef->chan->band != NL80211_BAND_6GHZ && !support_80_80) return false; /* fall through */ case NL80211_CHAN_WIDTH_80: @@ -966,7 +972,8 @@ return false; cap = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK; if (cap != IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ && - cap != IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ) + cap != IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ && + !(vht_cap->cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK)) return false; break; default: --- linux-riscv-5.8-5.8.0.orig/net/wireless/core.c +++ linux-riscv-5.8-5.8.0/net/wireless/core.c @@ -1247,8 +1247,7 @@ } EXPORT_SYMBOL(cfg80211_stop_iface); -void cfg80211_init_wdev(struct cfg80211_registered_device *rdev, - struct wireless_dev *wdev) +void cfg80211_init_wdev(struct wireless_dev *wdev) { mutex_init(&wdev->mtx); INIT_LIST_HEAD(&wdev->event_list); @@ -1259,6 +1258,30 @@ spin_lock_init(&wdev->pmsr_lock); INIT_WORK(&wdev->pmsr_free_wk, cfg80211_pmsr_free_wk); +#ifdef CONFIG_CFG80211_WEXT + wdev->wext.default_key = -1; + wdev->wext.default_mgmt_key = -1; + wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC; +#endif + + if (wdev->wiphy->flags & WIPHY_FLAG_PS_ON_BY_DEFAULT) + wdev->ps = true; + else + wdev->ps = false; + /* allow mac80211 to determine the timeout */ + wdev->ps_timeout = -1; + + if ((wdev->iftype == NL80211_IFTYPE_STATION || + wdev->iftype == NL80211_IFTYPE_P2P_CLIENT || + wdev->iftype == NL80211_IFTYPE_ADHOC) && !wdev->use_4addr) + wdev->netdev->priv_flags |= IFF_DONT_BRIDGE; + + INIT_WORK(&wdev->disconnect_wk, cfg80211_autodisconnect_wk); +} + +void cfg80211_register_wdev(struct cfg80211_registered_device *rdev, + struct wireless_dev *wdev) +{ /* * We get here also when the interface changes network namespaces, * as it's registered into the new one, but we don't want it to @@ -1292,6 +1315,11 @@ switch (state) { case NETDEV_POST_INIT: SET_NETDEV_DEVTYPE(dev, &wiphy_type); + wdev->netdev = dev; + /* can only change netns with wiphy */ + dev->features |= NETIF_F_NETNS_LOCAL; + + cfg80211_init_wdev(wdev); break; case NETDEV_REGISTER: /* @@ -1299,35 +1327,12 @@ * called within code protected by it when interfaces * are added with nl80211. */ - /* can only change netns with wiphy */ - dev->features |= NETIF_F_NETNS_LOCAL; - if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj, "phy80211")) { pr_err("failed to add phy80211 symlink to netdev!\n"); } - wdev->netdev = dev; -#ifdef CONFIG_CFG80211_WEXT - wdev->wext.default_key = -1; - wdev->wext.default_mgmt_key = -1; - wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC; -#endif - - if (wdev->wiphy->flags & WIPHY_FLAG_PS_ON_BY_DEFAULT) - wdev->ps = true; - else - wdev->ps = false; - /* allow mac80211 to determine the timeout */ - wdev->ps_timeout = -1; - - if ((wdev->iftype == NL80211_IFTYPE_STATION || - wdev->iftype == NL80211_IFTYPE_P2P_CLIENT || - wdev->iftype == NL80211_IFTYPE_ADHOC) && !wdev->use_4addr) - dev->priv_flags |= IFF_DONT_BRIDGE; - - INIT_WORK(&wdev->disconnect_wk, cfg80211_autodisconnect_wk); - cfg80211_init_wdev(rdev, wdev); + cfg80211_register_wdev(rdev, wdev); break; case NETDEV_GOING_DOWN: cfg80211_leave(rdev, wdev); --- linux-riscv-5.8-5.8.0.orig/net/wireless/core.h +++ linux-riscv-5.8-5.8.0/net/wireless/core.h @@ -208,8 +208,9 @@ int cfg80211_switch_netns(struct cfg80211_registered_device *rdev, struct net *net); -void cfg80211_init_wdev(struct cfg80211_registered_device *rdev, - struct wireless_dev *wdev); +void cfg80211_init_wdev(struct wireless_dev *wdev); +void cfg80211_register_wdev(struct cfg80211_registered_device *rdev, + struct wireless_dev *wdev); static inline void wdev_lock(struct wireless_dev *wdev) __acquires(wdev) @@ -431,6 +432,8 @@ /* internal helpers */ bool cfg80211_supported_cipher_suite(struct wiphy *wiphy, u32 cipher); +bool cfg80211_valid_key_idx(struct cfg80211_registered_device *rdev, + int key_idx, bool pairwise); int cfg80211_validate_key_settings(struct cfg80211_registered_device *rdev, struct key_params *params, int key_idx, bool pairwise, const u8 *mac_addr); --- linux-riscv-5.8-5.8.0.orig/net/wireless/nl80211.c +++ linux-riscv-5.8-5.8.0/net/wireless/nl80211.c @@ -2355,7 +2355,10 @@ * case we'll continue with more data in the next round, * but break unconditionally so unsplit data stops here. */ - state->split_start++; + if (state->split) + state->split_start++; + else + state->split_start = 0; break; case 9: if (rdev->wiphy.extended_capabilities && @@ -3798,7 +3801,8 @@ * P2P Device and NAN do not have a netdev, so don't go * through the netdev notifier and must be added here */ - cfg80211_init_wdev(rdev, wdev); + cfg80211_init_wdev(wdev); + cfg80211_register_wdev(rdev, wdev); break; default: break; @@ -4187,6 +4191,10 @@ key.type != NL80211_KEYTYPE_GROUP) return -EINVAL; + if (!cfg80211_valid_key_idx(rdev, key.idx, + key.type == NL80211_KEYTYPE_PAIRWISE)) + return -EINVAL; + if (!rdev->ops->del_key) return -EOPNOTSUPP; @@ -4680,16 +4688,14 @@ if (err) return err; - if (!tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET] || - !tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]) - return -EINVAL; - - he_obss_pd->min_offset = - nla_get_u32(tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]); - he_obss_pd->max_offset = - nla_get_u32(tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]); + if (tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]) + he_obss_pd->min_offset = + nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]); + if (tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]) + he_obss_pd->max_offset = + nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]); - if (he_obss_pd->min_offset >= he_obss_pd->max_offset) + if (he_obss_pd->min_offset > he_obss_pd->max_offset) return -EINVAL; he_obss_pd->enable = true; @@ -6010,7 +6016,7 @@ if (info->attrs[NL80211_ATTR_HE_6GHZ_CAPABILITY]) params.he_6ghz_capa = - nla_data(info->attrs[NL80211_ATTR_HE_CAPABILITY]); + nla_data(info->attrs[NL80211_ATTR_HE_6GHZ_CAPABILITY]); if (info->attrs[NL80211_ATTR_AIRTIME_WEIGHT]) params.airtime_weight = @@ -12338,7 +12344,7 @@ struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; struct nlattr *tb[NUM_NL80211_REKEY_DATA]; - struct cfg80211_gtk_rekey_data rekey_data; + struct cfg80211_gtk_rekey_data rekey_data = {}; int err; if (!info->attrs[NL80211_ATTR_REKEY_DATA]) --- linux-riscv-5.8-5.8.0.orig/net/wireless/reg.c +++ linux-riscv-5.8-5.8.0/net/wireless/reg.c @@ -2944,6 +2944,9 @@ if (WARN_ON(!alpha2)) return -EINVAL; + if (!is_world_regdom(alpha2) && !is_an_alpha2(alpha2)) + return -EINVAL; + request = kzalloc(sizeof(struct regulatory_request), GFP_KERNEL); if (!request) return -ENOMEM; @@ -3406,7 +3409,7 @@ power_rule = ®_rule->power_rule; if (reg_rule->flags & NL80211_RRF_AUTO_BW) - snprintf(bw, sizeof(bw), "%d KHz, %d KHz AUTO", + snprintf(bw, sizeof(bw), "%d KHz, %u KHz AUTO", freq_range->max_bandwidth_khz, reg_get_max_bandwidth(rd, reg_rule)); else --- linux-riscv-5.8-5.8.0.orig/net/wireless/sme.c +++ linux-riscv-5.8-5.8.0/net/wireless/sme.c @@ -530,7 +530,7 @@ cfg80211_sme_free(wdev); } - if (WARN_ON(wdev->conn)) + if (wdev->conn) return -EINPROGRESS; wdev->conn = kzalloc(sizeof(*wdev->conn), GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/net/wireless/util.c +++ linux-riscv-5.8-5.8.0/net/wireless/util.c @@ -95,7 +95,7 @@ /* see 802.11ax D6.1 27.3.23.2 */ if (chan == 2) return MHZ_TO_KHZ(5935); - if (chan <= 253) + if (chan <= 233) return MHZ_TO_KHZ(5950 + chan * 5); break; case NL80211_BAND_60GHZ: @@ -121,11 +121,13 @@ return (freq - 2407) / 5; else if (freq >= 4910 && freq <= 4980) return (freq - 4000) / 5; - else if (freq < 5945) + else if (freq < 5925) return (freq - 5000) / 5; + else if (freq == 5935) + return 2; else if (freq <= 45000) /* DMG band lower limit */ - /* see 802.11ax D4.1 27.3.22.2 */ - return (freq - 5940) / 5; + /* see 802.11ax D6.1 27.3.22.2 */ + return (freq - 5950) / 5; else if (freq >= 58320 && freq <= 70200) return (freq - 56160) / 2160; else @@ -235,18 +237,53 @@ return false; } -int cfg80211_validate_key_settings(struct cfg80211_registered_device *rdev, - struct key_params *params, int key_idx, - bool pairwise, const u8 *mac_addr) +static bool +cfg80211_igtk_cipher_supported(struct cfg80211_registered_device *rdev) { - int max_key_idx = 5; + struct wiphy *wiphy = &rdev->wiphy; + int i; + + for (i = 0; i < wiphy->n_cipher_suites; i++) { + switch (wiphy->cipher_suites[i]) { + case WLAN_CIPHER_SUITE_AES_CMAC: + case WLAN_CIPHER_SUITE_BIP_CMAC_256: + case WLAN_CIPHER_SUITE_BIP_GMAC_128: + case WLAN_CIPHER_SUITE_BIP_GMAC_256: + return true; + } + } - if (wiphy_ext_feature_isset(&rdev->wiphy, - NL80211_EXT_FEATURE_BEACON_PROTECTION) || - wiphy_ext_feature_isset(&rdev->wiphy, - NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT)) + return false; +} + +bool cfg80211_valid_key_idx(struct cfg80211_registered_device *rdev, + int key_idx, bool pairwise) +{ + int max_key_idx; + + if (pairwise) + max_key_idx = 3; + else if (wiphy_ext_feature_isset(&rdev->wiphy, + NL80211_EXT_FEATURE_BEACON_PROTECTION) || + wiphy_ext_feature_isset(&rdev->wiphy, + NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT)) max_key_idx = 7; + else if (cfg80211_igtk_cipher_supported(rdev)) + max_key_idx = 5; + else + max_key_idx = 3; + if (key_idx < 0 || key_idx > max_key_idx) + return false; + + return true; +} + +int cfg80211_validate_key_settings(struct cfg80211_registered_device *rdev, + struct key_params *params, int key_idx, + bool pairwise, const u8 *mac_addr) +{ + if (!cfg80211_valid_key_idx(rdev, key_idx, pairwise)) return -EINVAL; if (!pairwise && mac_addr && !(rdev->wiphy.flags & WIPHY_FLAG_IBSS_RSN)) @@ -464,7 +501,7 @@ int ieee80211_data_to_8023_exthdr(struct sk_buff *skb, struct ethhdr *ehdr, const u8 *addr, enum nl80211_iftype iftype, - u8 data_offset) + u8 data_offset, bool is_amsdu) { struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; struct { @@ -552,7 +589,7 @@ skb_copy_bits(skb, hdrlen, &payload, sizeof(payload)); tmp.h_proto = payload.proto; - if (likely((ether_addr_equal(payload.hdr, rfc1042_header) && + if (likely((!is_amsdu && ether_addr_equal(payload.hdr, rfc1042_header) && tmp.h_proto != htons(ETH_P_AARP) && tmp.h_proto != htons(ETH_P_IPX)) || ether_addr_equal(payload.hdr, bridge_tunnel_header))) @@ -694,6 +731,9 @@ remaining = skb->len - offset; if (subframe_len > remaining) goto purge; + /* mitigate A-MSDU aggregation injection attacks */ + if (ether_addr_equal(eth.h_dest, rfc1042_header)) + goto purge; offset += sizeof(struct ethhdr); last = remaining <= subframe_len + padding; --- linux-riscv-5.8-5.8.0.orig/net/wireless/wext-core.c +++ linux-riscv-5.8-5.8.0/net/wireless/wext-core.c @@ -896,8 +896,9 @@ int call_commit_handler(struct net_device *dev) { #ifdef CONFIG_WIRELESS_EXT - if ((netif_running(dev)) && - (dev->wireless_handlers->standard[0] != NULL)) + if (netif_running(dev) && + dev->wireless_handlers && + dev->wireless_handlers->standard[0]) /* Call the commit handler on the driver */ return dev->wireless_handlers->standard[0](dev, NULL, NULL, NULL); --- linux-riscv-5.8-5.8.0.orig/net/x25/af_x25.c +++ linux-riscv-5.8-5.8.0/net/x25/af_x25.c @@ -681,7 +681,8 @@ int len, i, rc = 0; if (addr_len != sizeof(struct sockaddr_x25) || - addr->sx25_family != AF_X25) { + addr->sx25_family != AF_X25 || + strnlen(addr->sx25_addr.x25_addr, X25_ADDR_LEN) == X25_ADDR_LEN) { rc = -EINVAL; goto out; } @@ -775,7 +776,8 @@ rc = -EINVAL; if (addr_len != sizeof(struct sockaddr_x25) || - addr->sx25_family != AF_X25) + addr->sx25_family != AF_X25 || + strnlen(addr->sx25_addr.x25_addr, X25_ADDR_LEN) == X25_ADDR_LEN) goto out; rc = -ENETUNREACH; @@ -825,7 +827,7 @@ sock->state = SS_CONNECTED; rc = 0; out_put_neigh: - if (rc) { + if (rc && x25->neighbour) { read_lock_bh(&x25_list_lock); x25_neigh_put(x25->neighbour); x25->neighbour = NULL; @@ -1050,6 +1052,7 @@ makex25->lci = lci; makex25->dest_addr = dest_addr; makex25->source_addr = source_addr; + x25_neigh_hold(nb); makex25->neighbour = nb; makex25->facilities = facilities; makex25->dte_facilities= dte_facilities; --- linux-riscv-5.8-5.8.0.orig/net/xdp/xdp_umem.c +++ linux-riscv-5.8-5.8.0/net/xdp/xdp_umem.c @@ -303,10 +303,10 @@ static int xdp_umem_reg(struct xdp_umem *umem, struct xdp_umem_reg *mr) { + u32 npgs_rem, chunk_size = mr->chunk_size, headroom = mr->headroom; bool unaligned_chunks = mr->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG; - u32 chunk_size = mr->chunk_size, headroom = mr->headroom; u64 npgs, addr = mr->addr, size = mr->len; - unsigned int chunks, chunks_per_page; + unsigned int chunks, chunks_rem; int err; if (chunk_size < XDP_UMEM_MIN_CHUNK_SIZE || chunk_size > PAGE_SIZE) { @@ -336,19 +336,18 @@ if ((addr + size) < addr) return -EINVAL; - npgs = size >> PAGE_SHIFT; + npgs = div_u64_rem(size, PAGE_SIZE, &npgs_rem); + if (npgs_rem) + npgs++; if (npgs > U32_MAX) return -EINVAL; - chunks = (unsigned int)div_u64(size, chunk_size); + chunks = (unsigned int)div_u64_rem(size, chunk_size, &chunks_rem); if (chunks == 0) return -EINVAL; - if (!unaligned_chunks) { - chunks_per_page = PAGE_SIZE / chunk_size; - if (chunks < chunks_per_page || chunks % chunks_per_page) - return -EINVAL; - } + if (!unaligned_chunks && chunks_rem) + return -EINVAL; if (headroom >= chunk_size - XDP_PACKET_HEADROOM) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/net/xdp/xsk.c +++ linux-riscv-5.8-5.8.0/net/xdp/xsk.c @@ -375,10 +375,19 @@ skb_shinfo(skb)->destructor_arg = (void *)(long)desc.addr; skb->destructor = xsk_destruct_skb; - err = dev_direct_xmit(skb, xs->queue_id); + err = __dev_direct_xmit(skb, xs->queue_id); + if (err == NETDEV_TX_BUSY) { + /* Tell user-space to retry the send */ + skb->destructor = sock_wfree; + /* Free skb without triggering the perf drop trace */ + consume_skb(skb); + err = -EAGAIN; + goto out; + } + xskq_cons_release(xs->tx); /* Ignore NET_XMIT_CN as packet might have been sent */ - if (err == NET_XMIT_DROP || err == NETDEV_TX_BUSY) { + if (err == NET_XMIT_DROP) { /* SKB completed but not sent */ err = -EBUSY; goto out; @@ -424,11 +433,13 @@ static __poll_t xsk_poll(struct file *file, struct socket *sock, struct poll_table_struct *wait) { - __poll_t mask = datagram_poll(file, sock, wait); + __poll_t mask = 0; struct sock *sk = sock->sk; struct xdp_sock *xs = xdp_sk(sk); struct xdp_umem *umem; + sock_poll_wait(file, sock, wait); + if (unlikely(!xsk_is_bound(xs))) return mask; --- linux-riscv-5.8-5.8.0.orig/net/xfrm/espintcp.c +++ linux-riscv-5.8-5.8.0/net/xfrm/espintcp.c @@ -29,8 +29,12 @@ static void handle_esp(struct sk_buff *skb, struct sock *sk) { + struct tcp_skb_cb *tcp_cb = (struct tcp_skb_cb *)skb->cb; + skb_reset_transport_header(skb); - memset(skb->cb, 0, sizeof(skb->cb)); + + /* restore IP CB, we need at least IP6CB->nhoff */ + memmove(skb->cb, &tcp_cb->header, sizeof(tcp_cb->header)); rcu_read_lock(); skb->dev = dev_get_by_index_rcu(sock_net(sk), skb->skb_iif); --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_device.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_device.c @@ -129,8 +129,6 @@ return skb; } - xo->flags |= XFRM_XMIT; - if (skb_is_gso(skb)) { struct net_device *dev = skb->dev; --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_input.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_input.c @@ -658,7 +658,7 @@ /* only the first xfrm gets the encap type */ encap_type = 0; - if (async && x->repl->recheck(x, skb, seq)) { + if (x->repl->recheck(x, skb, seq)) { XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATESEQERROR); goto drop_unlock; } --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_interface.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_interface.c @@ -292,7 +292,7 @@ } mtu = dst_mtu(dst); - if (!skb->ignore_df && skb->len > mtu) { + if (skb->len > mtu) { skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->protocol == htons(ETH_P_IPV6)) { @@ -301,6 +301,8 @@ icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); } else { + if (!(ip_hdr(skb)->frag_off & htons(IP_DF))) + goto xmit; icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu)); } @@ -309,6 +311,7 @@ return -EMSGSIZE; } +xmit: xfrmi_scrub_packet(skb, !net_eq(xi->net, dev_net(dev))); skb_dst_set(skb, dst); skb->dev = tdev; --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_output.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_output.c @@ -503,22 +503,22 @@ return err; } -int xfrm_output_resume(struct sk_buff *skb, int err) +int xfrm_output_resume(struct sock *sk, struct sk_buff *skb, int err) { struct net *net = xs_net(skb_dst(skb)->xfrm); while (likely((err = xfrm_output_one(skb, err)) == 0)) { nf_reset_ct(skb); - err = skb_dst(skb)->ops->local_out(net, skb->sk, skb); + err = skb_dst(skb)->ops->local_out(net, sk, skb); if (unlikely(err != 1)) goto out; if (!skb_dst(skb)->xfrm) - return dst_output(net, skb->sk, skb); + return dst_output(net, sk, skb); err = nf_hook(skb_dst(skb)->ops->family, - NF_INET_POST_ROUTING, net, skb->sk, skb, + NF_INET_POST_ROUTING, net, sk, skb, NULL, skb_dst(skb)->dev, xfrm_output2); if (unlikely(err != 1)) goto out; @@ -534,7 +534,7 @@ static int xfrm_output2(struct net *net, struct sock *sk, struct sk_buff *skb) { - return xfrm_output_resume(skb, 1); + return xfrm_output_resume(sk, skb, 1); } static int xfrm_output_gso(struct net *net, struct sock *sk, struct sk_buff *skb) @@ -660,6 +660,12 @@ { int err; + if (x->outer_mode.encap == XFRM_MODE_BEET && + ip_is_fragment(ip_hdr(skb))) { + net_warn_ratelimited("BEET mode doesn't support inner IPv4 fragments\n"); + return -EAFNOSUPPORT; + } + err = xfrm4_tunnel_check_size(skb); if (err) return err; @@ -705,8 +711,15 @@ static int xfrm6_extract_output(struct xfrm_state *x, struct sk_buff *skb) { #if IS_ENABLED(CONFIG_IPV6) + unsigned int ptr = 0; int err; + if (x->outer_mode.encap == XFRM_MODE_BEET && + ipv6_find_hdr(skb, &ptr, NEXTHDR_FRAGMENT, NULL, NULL) >= 0) { + net_warn_ratelimited("BEET mode doesn't support inner IPv6 fragments\n"); + return -EAFNOSUPPORT; + } + err = xfrm6_tunnel_check_size(skb); if (err) return err; --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_policy.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_policy.c @@ -793,15 +793,22 @@ const xfrm_address_t *b, u8 prefixlen, u16 family) { + u32 ma, mb, mask; unsigned int pdw, pbi; int delta = 0; switch (family) { case AF_INET: - if (sizeof(long) == 4 && prefixlen == 0) - return ntohl(a->a4) - ntohl(b->a4); - return (ntohl(a->a4) & ((~0UL << (32 - prefixlen)))) - - (ntohl(b->a4) & ((~0UL << (32 - prefixlen)))); + if (prefixlen == 0) + return 0; + mask = ~0U << (32 - prefixlen); + ma = ntohl(a->a4) & mask; + mb = ntohl(b->a4) & mask; + if (ma < mb) + delta = -1; + else if (ma > mb) + delta = 1; + break; case AF_INET6: pdw = prefixlen >> 5; pbi = prefixlen & 0x1f; @@ -812,10 +819,13 @@ return delta; } if (pbi) { - u32 mask = ~0u << (32 - pbi); - - delta = (ntohl(a->a6[pdw]) & mask) - - (ntohl(b->a6[pdw]) & mask); + mask = ~0U << (32 - pbi); + ma = ntohl(a->a6[pdw]) & mask; + mb = ntohl(b->a6[pdw]) & mask; + if (ma < mb) + delta = -1; + else if (ma > mb) + delta = 1; } break; default: @@ -3067,8 +3077,8 @@ xflo.flags = flags; /* To accelerate a bit... */ - if ((dst_orig->flags & DST_NOXFRM) || - !net->xfrm.policy_count[XFRM_POLICY_OUT]) + if (!if_id && ((dst_orig->flags & DST_NOXFRM) || + !net->xfrm.policy_count[XFRM_POLICY_OUT])) goto nopol; xdst = xfrm_bundle_lookup(net, fl, family, dir, &xflo, if_id); --- linux-riscv-5.8-5.8.0.orig/net/xfrm/xfrm_state.c +++ linux-riscv-5.8-5.8.0/net/xfrm/xfrm_state.c @@ -44,7 +44,6 @@ */ static unsigned int xfrm_state_hashmax __read_mostly = 1 * 1024 * 1024; -static __read_mostly seqcount_t xfrm_state_hash_generation = SEQCNT_ZERO(xfrm_state_hash_generation); static struct kmem_cache *xfrm_state_cache __ro_after_init; static DECLARE_WORK(xfrm_state_gc_work, xfrm_state_gc_task); @@ -140,7 +139,7 @@ } spin_lock_bh(&net->xfrm.xfrm_state_lock); - write_seqcount_begin(&xfrm_state_hash_generation); + write_seqcount_begin(&net->xfrm.xfrm_state_hash_generation); nhashmask = (nsize / sizeof(struct hlist_head)) - 1U; odst = xfrm_state_deref_prot(net->xfrm.state_bydst, net); @@ -156,7 +155,7 @@ rcu_assign_pointer(net->xfrm.state_byspi, nspi); net->xfrm.state_hmask = nhashmask; - write_seqcount_end(&xfrm_state_hash_generation); + write_seqcount_end(&net->xfrm.xfrm_state_hash_generation); spin_unlock_bh(&net->xfrm.xfrm_state_lock); osize = (ohashmask + 1) * sizeof(struct hlist_head); @@ -1019,7 +1018,8 @@ */ if (x->km.state == XFRM_STATE_VALID) { if ((x->sel.family && - !xfrm_selector_match(&x->sel, fl, x->sel.family)) || + (x->sel.family != family || + !xfrm_selector_match(&x->sel, fl, family))) || !security_xfrm_state_pol_flow_match(x, pol, fl)) return; @@ -1032,7 +1032,9 @@ *acq_in_progress = 1; } else if (x->km.state == XFRM_STATE_ERROR || x->km.state == XFRM_STATE_EXPIRED) { - if (xfrm_selector_match(&x->sel, fl, x->sel.family) && + if ((!x->sel.family || + (x->sel.family == family && + xfrm_selector_match(&x->sel, fl, family))) && security_xfrm_state_pol_flow_match(x, pol, fl)) *error = -ESRCH; } @@ -1058,7 +1060,7 @@ to_put = NULL; - sequence = read_seqcount_begin(&xfrm_state_hash_generation); + sequence = read_seqcount_begin(&net->xfrm.xfrm_state_hash_generation); rcu_read_lock(); h = xfrm_dst_hash(net, daddr, saddr, tmpl->reqid, encap_family); @@ -1072,7 +1074,7 @@ tmpl->mode == x->props.mode && tmpl->id.proto == x->id.proto && (tmpl->id.spi == x->id.spi || !tmpl->id.spi)) - xfrm_state_look_at(pol, x, fl, encap_family, + xfrm_state_look_at(pol, x, fl, family, &best, &acquire_in_progress, &error); } if (best || acquire_in_progress) @@ -1089,7 +1091,7 @@ tmpl->mode == x->props.mode && tmpl->id.proto == x->id.proto && (tmpl->id.spi == x->id.spi || !tmpl->id.spi)) - xfrm_state_look_at(pol, x, fl, encap_family, + xfrm_state_look_at(pol, x, fl, family, &best, &acquire_in_progress, &error); } @@ -1171,7 +1173,7 @@ if (to_put) xfrm_state_put(to_put); - if (read_seqcount_retry(&xfrm_state_hash_generation, sequence)) { + if (read_seqcount_retry(&net->xfrm.xfrm_state_hash_generation, sequence)) { *err = -EAGAIN; if (x) { xfrm_state_put(x); @@ -1441,6 +1443,30 @@ EXPORT_SYMBOL(xfrm_state_add); #ifdef CONFIG_XFRM_MIGRATE +static inline int clone_security(struct xfrm_state *x, struct xfrm_sec_ctx *security) +{ + struct xfrm_user_sec_ctx *uctx; + int size = sizeof(*uctx) + security->ctx_len; + int err; + + uctx = kmalloc(size, GFP_KERNEL); + if (!uctx) + return -ENOMEM; + + uctx->exttype = XFRMA_SEC_CTX; + uctx->len = size; + uctx->ctx_doi = security->ctx_doi; + uctx->ctx_alg = security->ctx_alg; + uctx->ctx_len = security->ctx_len; + memcpy(uctx + 1, security->ctx_str, security->ctx_len); + err = security_xfrm_state_alloc(x, uctx); + kfree(uctx); + if (err) + return err; + + return 0; +} + static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig, struct xfrm_encap_tmpl *encap) { @@ -1497,6 +1523,10 @@ goto error; } + if (orig->security) + if (clone_security(x, orig->security)) + goto error; + if (orig->coaddr) { x->coaddr = kmemdup(orig->coaddr, sizeof(*x->coaddr), GFP_KERNEL); @@ -1510,6 +1540,7 @@ } memcpy(&x->mark, &orig->mark, sizeof(x->mark)); + memcpy(&x->props.smark, &orig->props.smark, sizeof(x->props.smark)); if (xfrm_init_state(x) < 0) goto error; @@ -1521,7 +1552,7 @@ x->tfcpad = orig->tfcpad; x->replay_maxdiff = orig->replay_maxdiff; x->replay_maxage = orig->replay_maxage; - x->curlft.add_time = orig->curlft.add_time; + memcpy(&x->curlft, &orig->curlft, sizeof(x->curlft)); x->km.state = orig->km.state; x->km.seq = orig->km.seq; x->replay = orig->replay; @@ -1972,6 +2003,7 @@ int err = -ENOENT; __be32 minspi = htonl(low); __be32 maxspi = htonl(high); + __be32 newspi = 0; u32 mark = x->mark.v & x->mark.m; spin_lock_bh(&x->lock); @@ -1990,21 +2022,22 @@ xfrm_state_put(x0); goto unlock; } - x->id.spi = minspi; + newspi = minspi; } else { u32 spi = 0; for (h = 0; h < high-low+1; h++) { spi = low + prandom_u32()%(high-low+1); x0 = xfrm_state_lookup(net, mark, &x->id.daddr, htonl(spi), x->id.proto, x->props.family); if (x0 == NULL) { - x->id.spi = htonl(spi); + newspi = htonl(spi); break; } xfrm_state_put(x0); } } - if (x->id.spi) { + if (newspi) { spin_lock_bh(&net->xfrm.xfrm_state_lock); + x->id.spi = newspi; h = xfrm_spi_hash(net, &x->id.daddr, x->id.spi, x->id.proto, x->props.family); hlist_add_head_rcu(&x->byspi, net->xfrm.state_byspi + h); spin_unlock_bh(&net->xfrm.xfrm_state_lock); @@ -2557,6 +2590,7 @@ net->xfrm.state_num = 0; INIT_WORK(&net->xfrm.state_hash_work, xfrm_hash_resize); spin_lock_init(&net->xfrm.xfrm_state_lock); + seqcount_init(&net->xfrm.xfrm_state_hash_generation); return 0; out_byspi: --- linux-riscv-5.8-5.8.0.orig/samples/Kconfig +++ linux-riscv-5.8-5.8.0/samples/Kconfig @@ -210,7 +210,7 @@ depends on CC_CAN_LINK config SAMPLE_WATCH_QUEUE - bool "Build example /dev/watch_queue notification consumer" + bool "Build example watch_queue notification API consumer" depends on CC_CAN_LINK && HEADERS_INSTALL help Build example userspace program to use the new mount_notify(), --- linux-riscv-5.8-5.8.0.orig/samples/bpf/fds_example.c +++ linux-riscv-5.8-5.8.0/samples/bpf/fds_example.c @@ -30,6 +30,8 @@ #define BPF_M_MAP 1 #define BPF_M_PROG 2 +char bpf_log_buf[BPF_LOG_BUF_SIZE]; + static void usage(void) { printf("Usage: fds_example [...]\n"); @@ -57,7 +59,6 @@ BPF_EXIT_INSN(), }; size_t insns_cnt = sizeof(insns) / sizeof(struct bpf_insn); - char bpf_log_buf[BPF_LOG_BUF_SIZE]; struct bpf_object *obj; int prog_fd; --- linux-riscv-5.8-5.8.0.orig/samples/bpf/lwt_len_hist.sh +++ linux-riscv-5.8-5.8.0/samples/bpf/lwt_len_hist.sh @@ -8,6 +8,8 @@ TRACE_ROOT=/sys/kernel/debug/tracing function cleanup { + # To reset saved histogram, remove pinned map + rm /sys/fs/bpf/tc/globals/lwt_len_hist_map ip route del 192.168.253.2/32 dev $VETH0 2> /dev/null ip link del $VETH0 2> /dev/null ip link del $VETH1 2> /dev/null --- linux-riscv-5.8-5.8.0.orig/samples/bpf/map_perf_test_kern.c +++ linux-riscv-5.8-5.8.0/samples/bpf/map_perf_test_kern.c @@ -11,6 +11,8 @@ #include #include "bpf_legacy.h" #include +#include +#include "trace_common.h" #define MAX_ENTRIES 1000 #define MAX_NR_CPUS 1024 @@ -154,9 +156,10 @@ return 0; } -SEC("kprobe/sys_connect") +SEC("kprobe/" SYSCALL(sys_connect)) int stress_lru_hmap_alloc(struct pt_regs *ctx) { + struct pt_regs *real_regs = (struct pt_regs *)PT_REGS_PARM1_CORE(ctx); char fmt[] = "Failed at stress_lru_hmap_alloc. ret:%dn"; union { u16 dst6[8]; @@ -175,8 +178,8 @@ long val = 1; u32 key = 0; - in6 = (struct sockaddr_in6 *)PT_REGS_PARM2(ctx); - addrlen = (int)PT_REGS_PARM3(ctx); + in6 = (struct sockaddr_in6 *)PT_REGS_PARM2_CORE(real_regs); + addrlen = (int)PT_REGS_PARM3_CORE(real_regs); if (addrlen != sizeof(*in6)) return 0; --- linux-riscv-5.8-5.8.0.orig/samples/bpf/test_map_in_map_kern.c +++ linux-riscv-5.8-5.8.0/samples/bpf/test_map_in_map_kern.c @@ -13,6 +13,8 @@ #include #include "bpf_legacy.h" #include +#include +#include "trace_common.h" #define MAX_NR_PORTS 65536 @@ -102,9 +104,10 @@ return result ? *result : -ENOENT; } -SEC("kprobe/sys_connect") +SEC("kprobe/" SYSCALL(sys_connect)) int trace_sys_connect(struct pt_regs *ctx) { + struct pt_regs *real_regs = (struct pt_regs *)PT_REGS_PARM1_CORE(ctx); struct sockaddr_in6 *in6; u16 test_case, port, dst6[8]; int addrlen, ret, inline_ret, ret_key = 0; @@ -112,8 +115,8 @@ void *outer_map, *inner_map; bool inline_hash = false; - in6 = (struct sockaddr_in6 *)PT_REGS_PARM2(ctx); - addrlen = (int)PT_REGS_PARM3(ctx); + in6 = (struct sockaddr_in6 *)PT_REGS_PARM2_CORE(real_regs); + addrlen = (int)PT_REGS_PARM3_CORE(real_regs); if (addrlen != sizeof(*in6)) return 0; --- linux-riscv-5.8-5.8.0.orig/samples/bpf/test_probe_write_user_kern.c +++ linux-riscv-5.8-5.8.0/samples/bpf/test_probe_write_user_kern.c @@ -10,6 +10,8 @@ #include #include #include +#include +#include "trace_common.h" struct bpf_map_def SEC("maps") dnat_map = { .type = BPF_MAP_TYPE_HASH, @@ -26,13 +28,14 @@ * This example sits on a syscall, and the syscall ABI is relatively stable * of course, across platforms, and over time, the ABI may change. */ -SEC("kprobe/sys_connect") +SEC("kprobe/" SYSCALL(sys_connect)) int bpf_prog1(struct pt_regs *ctx) { + struct pt_regs *real_regs = (struct pt_regs *)PT_REGS_PARM1_CORE(ctx); + void *sockaddr_arg = (void *)PT_REGS_PARM2_CORE(real_regs); + int sockaddr_len = (int)PT_REGS_PARM3_CORE(real_regs); struct sockaddr_in new_addr, orig_addr = {}; struct sockaddr_in *mapped_addr; - void *sockaddr_arg = (void *)PT_REGS_PARM2(ctx); - int sockaddr_len = (int)PT_REGS_PARM3(ctx); if (sockaddr_len > sizeof(orig_addr)) return 0; --- linux-riscv-5.8-5.8.0.orig/samples/bpf/xdpsock_user.c +++ linux-riscv-5.8-5.8.0/samples/bpf/xdpsock_user.c @@ -921,7 +921,7 @@ } } -static void tx_only(struct xsk_socket_info *xsk, u32 frame_nb, int batch_size) +static void tx_only(struct xsk_socket_info *xsk, u32 *frame_nb, int batch_size) { u32 idx; unsigned int i; @@ -929,19 +929,21 @@ while (xsk_ring_prod__reserve(&xsk->tx, batch_size, &idx) < batch_size) { complete_tx_only(xsk, batch_size); + if (benchmark_done) + return; } for (i = 0; i < batch_size; i++) { struct xdp_desc *tx_desc = xsk_ring_prod__tx_desc(&xsk->tx, idx + i); - tx_desc->addr = (frame_nb + i) << XSK_UMEM__DEFAULT_FRAME_SHIFT; + tx_desc->addr = (*frame_nb + i) << XSK_UMEM__DEFAULT_FRAME_SHIFT; tx_desc->len = PKT_SIZE; } xsk_ring_prod__submit(&xsk->tx, batch_size); xsk->outstanding_tx += batch_size; - frame_nb += batch_size; - frame_nb %= NUM_FRAMES; + *frame_nb += batch_size; + *frame_nb %= NUM_FRAMES; complete_tx_only(xsk, batch_size); } @@ -997,7 +999,7 @@ } for (i = 0; i < num_socks; i++) - tx_only(xsks[i], frame_nb[i], batch_size); + tx_only(xsks[i], &frame_nb[i], batch_size); pkt_cnt += batch_size; @@ -1028,6 +1030,7 @@ while (ret != rcvd) { if (ret < 0) exit_with_error(-ret); + complete_tx_l2fwd(xsk, fds); if (xsk_ring_prod__needs_wakeup(&xsk->tx)) kick_tx(xsk); ret = xsk_ring_prod__reserve(&xsk->tx, rcvd, &idx_tx); @@ -1208,5 +1211,7 @@ xdpsock_cleanup(); + munmap(bufs, NUM_FRAMES * opt_xsk_frame_size); + return 0; } --- linux-riscv-5.8-5.8.0.orig/samples/ftrace/ftrace-direct-modify.c +++ linux-riscv-5.8-5.8.0/samples/ftrace/ftrace-direct-modify.c @@ -21,6 +21,7 @@ asm ( " .pushsection .text, \"ax\", @progbits\n" " .type my_tramp1, @function\n" +" .globl my_tramp1\n" " my_tramp1:" " pushq %rbp\n" " movq %rsp, %rbp\n" @@ -29,6 +30,7 @@ " .size my_tramp1, .-my_tramp1\n" " ret\n" " .type my_tramp2, @function\n" +" .globl my_tramp2\n" " my_tramp2:" " pushq %rbp\n" " movq %rsp, %rbp\n" --- linux-riscv-5.8-5.8.0.orig/samples/ftrace/ftrace-direct-too.c +++ linux-riscv-5.8-5.8.0/samples/ftrace/ftrace-direct-too.c @@ -16,6 +16,7 @@ asm ( " .pushsection .text, \"ax\", @progbits\n" " .type my_tramp, @function\n" +" .globl my_tramp\n" " my_tramp:" " pushq %rbp\n" " movq %rsp, %rbp\n" --- linux-riscv-5.8-5.8.0.orig/samples/ftrace/ftrace-direct.c +++ linux-riscv-5.8-5.8.0/samples/ftrace/ftrace-direct.c @@ -14,6 +14,7 @@ asm ( " .pushsection .text, \"ax\", @progbits\n" " .type my_tramp, @function\n" +" .globl my_tramp\n" " my_tramp:" " pushq %rbp\n" " movq %rsp, %rbp\n" --- linux-riscv-5.8-5.8.0.orig/samples/mic/mpssd/mpssd.c +++ linux-riscv-5.8-5.8.0/samples/mic/mpssd/mpssd.c @@ -403,9 +403,9 @@ static inline unsigned _vring_size(unsigned int num, unsigned long align) { - return ((sizeof(struct vring_desc) * num + sizeof(__u16) * (3 + num) + return _ALIGN_UP(((sizeof(struct vring_desc) * num + sizeof(__u16) * (3 + num) + align - 1) & ~(align - 1)) - + sizeof(__u16) * 3 + sizeof(struct vring_used_elem) * num; + + sizeof(__u16) * 3 + sizeof(struct vring_used_elem) * num, 4); } /* --- linux-riscv-5.8-5.8.0.orig/samples/watch_queue/watch_test.c +++ linux-riscv-5.8-5.8.0/samples/watch_queue/watch_test.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 -/* Use /dev/watch_queue to watch for notifications. +/* Use watch_queue API to watch for notifications. * * Copyright (C) 2020 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) --- linux-riscv-5.8-5.8.0.orig/scripts/Makefile +++ linux-riscv-5.8-5.8.0/scripts/Makefile @@ -3,6 +3,9 @@ # scripts contains sources for various helper programs used throughout # the kernel for the build process. +CRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto) +CRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null) + always-$(CONFIG_BUILD_BIN2C) += bin2c always-$(CONFIG_KALLSYMS) += kallsyms always-$(BUILD_C_RECORDMCOUNT) += recordmcount @@ -14,8 +17,10 @@ HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include -HOSTLDLIBS_sign-file = -lcrypto -HOSTLDLIBS_extract-cert = -lcrypto +HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS) +HOSTLDLIBS_sign-file = $(CRYPTO_LIBS) +HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS) +HOSTLDLIBS_extract-cert = $(CRYPTO_LIBS) ifdef CONFIG_UNWINDER_ORC ifeq ($(ARCH),x86_64) --- linux-riscv-5.8-5.8.0.orig/scripts/Makefile.build +++ linux-riscv-5.8-5.8.0/scripts/Makefile.build @@ -249,6 +249,15 @@ ifdef CONFIG_TRIM_UNUSED_KSYMS cmd_gen_ksymdeps = \ $(CONFIG_SHELL) $(srctree)/scripts/gen_ksymdeps.sh $@ >> $(dot-target).cmd + +# List module undefined symbols +undefined_syms = $(NM) $< | $(AWK) '$$1 == "U" { printf("%s%s", x++ ? " " : "", $$2) }'; +endif + +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 @@ -258,6 +267,7 @@ $(call cmd,checkdoc) $(call cmd,objtool) $(call cmd,modversions_c) + $(call cmd,ubuntu-retpoline) $(call cmd,record_mcount) endef @@ -266,23 +276,18 @@ $(call cmd,gen_ksymdeps) $(call cmd,objtool) $(call cmd,modversions_S) + $(call cmd,ubuntu-retpoline) endef -# List module undefined symbols (or empty line if not enabled) -ifdef CONFIG_TRIM_UNUSED_KSYMS -cmd_undef_syms = $(NM) $< | sed -n 's/^ *U //p' | xargs echo -else -cmd_undef_syms = echo -endif - # Built-in and composite module parts $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE $(call cmd,force_checksrc) + $(call cmd,force_check_kmsg) $(call if_changed_rule,cc_o_c) cmd_mod = { \ echo $(if $($*-objs)$($*-y)$($*-m), $(addprefix $(obj)/, $($*-objs) $($*-y) $($*-m)), $(@:.mod=.o)); \ - $(cmd_undef_syms); \ + $(undefined_syms) echo; \ } > $@ $(obj)/%.mod: $(obj)/%.o FORCE @@ -489,6 +494,19 @@ endif +# kmsg check tool +ifneq ($(KBUILD_KMSG_CHECK),0) + ifeq ($(KBUILD_KMSG_CHECK),2) + kmsg_cmd := print + quiet_cmd_force_check_kmsg = KMSG_PRINT $< + $(shell [ -d $(objtree)/man ] || mkdir -p $(objtree)/man) + else + kmsg_cmd := check + quiet_cmd_force_check_kmsg = KMSG_CHECK $< + endif + cmd_force_check_kmsg = $(KMSG_CHECK) $(kmsg_cmd) $(CC) $(c_flags) $< ; +endif + # Descending # --------------------------------------------------------------------------- --- linux-riscv-5.8-5.8.0.orig/scripts/Makefile.kasan +++ linux-riscv-5.8-5.8.0/scripts/Makefile.kasan @@ -4,6 +4,8 @@ KASAN_SHADOW_OFFSET ?= $(CONFIG_KASAN_SHADOW_OFFSET) endif +cc-param = $(call cc-option, -mllvm -$(1), $(call cc-option, --param $(1))) + ifdef CONFIG_KASAN_GENERIC ifdef CONFIG_KASAN_INLINE @@ -14,8 +16,6 @@ CFLAGS_KASAN_MINIMAL := -fsanitize=kernel-address -cc-param = $(call cc-option, -mllvm -$(1), $(call cc-option, --param $(1))) - # -fasan-shadow-offset fails without -fsanitize CFLAGS_KASAN_SHADOW := $(call cc-option, -fsanitize=kernel-address \ -fasan-shadow-offset=$(KASAN_SHADOW_OFFSET), \ @@ -38,13 +38,14 @@ ifdef CONFIG_KASAN_SW_TAGS ifdef CONFIG_KASAN_INLINE - instrumentation_flags := -mllvm -hwasan-mapping-offset=$(KASAN_SHADOW_OFFSET) + instrumentation_flags := $(call cc-param,hwasan-mapping-offset=$(KASAN_SHADOW_OFFSET)) else - instrumentation_flags := -mllvm -hwasan-instrument-with-calls=1 + instrumentation_flags := $(call cc-param,hwasan-instrument-with-calls=1) endif CFLAGS_KASAN := -fsanitize=kernel-hwaddress \ - -mllvm -hwasan-instrument-stack=0 \ + $(call cc-param,hwasan-instrument-stack=$(CONFIG_KASAN_STACK)) \ + $(call cc-param,hwasan-use-short-granules=0) \ $(instrumentation_flags) endif # CONFIG_KASAN_SW_TAGS --- linux-riscv-5.8-5.8.0.orig/scripts/Makefile.modinst +++ linux-riscv-5.8-5.8.0/scripts/Makefile.modinst @@ -20,8 +20,12 @@ mkdir -p $(2) ; \ cp $@ $(2) ; \ $(mod_strip_cmd) $(2)/$(notdir $@) ; \ - $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \ - $(mod_compress_cmd) $(2)/$(notdir $@) + if (echo "$(2)/$(notdir $@)" | egrep -q "\/drivers\/staging\/") && \ + [ -f $(srctree)/drivers/staging/signature-inclusion ] && \ + (! egrep -x "$(notdir $@)" $(srctree)/drivers/staging/signature-inclusion) ; \ + then echo Not signing "$(2)/$(notdir $@)"; \ + else $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) ; \ + $(mod_compress_cmd) $(2)/$(notdir $@); fi # Modules built outside the kernel source tree go into extra by default INSTALL_MOD_DIR ?= extra --- linux-riscv-5.8-5.8.0.orig/scripts/checkpatch.pl +++ linux-riscv-5.8-5.8.0/scripts/checkpatch.pl @@ -2636,8 +2636,8 @@ # Check if the commit log has what seems like a diff which can confuse patch if ($in_commit_log && !$commit_log_has_diff && - (($line =~ m@^\s+diff\b.*a/[\w/]+@ && - $line =~ m@^\s+diff\b.*a/([\w/]+)\s+b/$1\b@) || + (($line =~ m@^\s+diff\b.*a/([\w/]+)@ && + $line =~ m@^\s+diff\b.*a/[\w/]+\s+b/$1\b@) || $line =~ m@^\s*(?:\-\-\-\s+a/|\+\+\+\s+b/)@ || $line =~ m/^\s*\@\@ \-\d+,\d+ \+\d+,\d+ \@\@/)) { ERROR("DIFF_IN_COMMIT_MSG", @@ -4265,7 +4265,7 @@ $fix) { fix_delete_line($fixlinenr, $rawline); my $fixed_line = $rawline; - $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/; + $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*)\{(.*)$/; my $line1 = $1; my $line2 = $2; fix_insert_line($fixlinenr, ltrim($line1)); --- linux-riscv-5.8-5.8.0.orig/scripts/coccinelle/misc/add_namespace.cocci +++ linux-riscv-5.8-5.8.0/scripts/coccinelle/misc/add_namespace.cocci @@ -6,6 +6,7 @@ /// add a missing namespace tag to a module source file. /// +virtual nsdeps virtual report @has_ns_import@ @@ -16,10 +17,15 @@ // Add missing imports, but only adjacent to a MODULE_LICENSE statement. // That ensures we are adding it only to the main module source file. -@do_import depends on !has_ns_import@ +@do_import depends on !has_ns_import && nsdeps@ declarer name MODULE_LICENSE; expression license; identifier virtual.ns; @@ MODULE_LICENSE(license); + MODULE_IMPORT_NS(ns); + +// Dummy rule for report mode that would otherwise be empty and make spatch +// fail ("No rules apply.") +@script:python depends on report@ +@@ --- linux-riscv-5.8-5.8.0.orig/scripts/depmod.sh +++ linux-riscv-5.8-5.8.0/scripts/depmod.sh @@ -15,6 +15,8 @@ exit 0 fi +# legacy behavior: "depmod" in /sbin, no /sbin in PATH +PATH="$PATH:/sbin" if [ -z $(command -v $DEPMOD) ]; then echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2 echo "This is probably in the kmod package." >&2 --- linux-riscv-5.8-5.8.0.orig/scripts/dtc/Makefile +++ linux-riscv-5.8-5.8.0/scripts/dtc/Makefile @@ -10,7 +10,7 @@ dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o # Source files need to get at the userspace version of libfdt_env.h to compile -HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt +HOST_EXTRACFLAGS += -I $(srctree)/$(src)/libfdt ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),) ifneq ($(CHECK_DT_BINDING)$(CHECK_DTBS),) --- linux-riscv-5.8-5.8.0.orig/scripts/dummy-tools/gcc +++ linux-riscv-5.8-5.8.0/scripts/dummy-tools/gcc @@ -89,3 +89,8 @@ echo $plugin_dir exit 0 fi + +# inverted return value +if arg_contain -D__SIZEOF_INT128__=0 "$@"; then + exit 1 +fi --- linux-riscv-5.8-5.8.0.orig/scripts/gen_autoksyms.sh +++ linux-riscv-5.8-5.8.0/scripts/gen_autoksyms.sh @@ -43,6 +43,9 @@ sed 's/ko$/mod/' $modlist | xargs -n1 sed -n -e '2{s/ /\n/g;/^$/!p;}' -- | cat - "$ksym_wl" | +# Remove the dot prefix for ppc64; symbol names with a dot (.) hold entry +# point addresses. +sed -e 's/^\.//' | sort -u | sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$output_file" --- linux-riscv-5.8-5.8.0.orig/scripts/insert-sys-cert.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/scripts/kallsyms.c +++ linux-riscv-5.8-5.8.0/scripts/kallsyms.c @@ -82,6 +82,7 @@ static bool is_ignored_symbol(const char *name, char type) { + /* Symbol names that exactly match to the following are ignored.*/ static const char * const ignored_symbols[] = { /* * Symbols which vary between passes. Passes 1 and 2 must have @@ -104,14 +105,22 @@ NULL }; + /* Symbol names that begin with the following are ignored.*/ static const char * const ignored_prefixes[] = { "$", /* local symbols for ARM, MIPS, etc. */ ".LASANPC", /* s390 kasan local symbols */ "__crc_", /* modversions */ "__efistub_", /* arm64 EFI stub namespace */ + "__AArch64ADRPThunk_", /* arm64 lld */ + "__ARMV5PILongThunk_", /* arm lld */ + "__ARMV7PILongThunk_", + "__ThumbV7PILongThunk_", + "__LA25Thunk_", /* mips lld */ + "__microLA25Thunk_", NULL }; + /* Symbol names that end with the following are ignored.*/ static const char * const ignored_suffixes[] = { "_from_arm", /* arm */ "_from_thumb", /* arm */ @@ -119,9 +128,15 @@ NULL }; + /* Symbol names that contain the following are ignored.*/ + static const char * const ignored_matches[] = { + ".long_branch.", /* ppc stub */ + ".plt_branch.", /* ppc stub */ + NULL + }; + const char * const *p; - /* Exclude symbols which vary between passes. */ for (p = ignored_symbols; *p; p++) if (!strcmp(name, *p)) return true; @@ -137,6 +152,11 @@ return true; } + for (p = ignored_matches; *p; p++) { + if (strstr(name, *p)) + return true; + } + if (type == 'U' || type == 'u') return true; /* exclude debugging symbols */ --- linux-riscv-5.8-5.8.0.orig/scripts/kconfig/lkc.h +++ linux-riscv-5.8-5.8.0/scripts/kconfig/lkc.h @@ -60,7 +60,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-riscv-5.8-5.8.0.orig/scripts/kconfig/preprocess.c +++ linux-riscv-5.8-5.8.0/scripts/kconfig/preprocess.c @@ -114,7 +114,7 @@ if (!strcmp(argv[0], "y")) pperror("%s", argv[1]); - return NULL; + return xstrdup(""); } static char *do_filename(int argc, char *argv[]) --- linux-riscv-5.8-5.8.0.orig/scripts/kconfig/qconf.cc +++ linux-riscv-5.8-5.8.0/scripts/kconfig/qconf.cc @@ -864,40 +864,40 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e) { - if (e->y() <= header()->geometry().bottom()) { - if (!headerPopup) { - QAction *action; - - headerPopup = new QMenu(this); - action = new QAction("Show Name", this); - action->setCheckable(true); - connect(action, SIGNAL(toggled(bool)), - parent(), SLOT(setShowName(bool))); - connect(parent(), SIGNAL(showNameChanged(bool)), - action, SLOT(setOn(bool))); - action->setChecked(showName); - headerPopup->addAction(action); - action = new QAction("Show Range", this); - action->setCheckable(true); - connect(action, SIGNAL(toggled(bool)), - parent(), SLOT(setShowRange(bool))); - connect(parent(), SIGNAL(showRangeChanged(bool)), - action, SLOT(setOn(bool))); - action->setChecked(showRange); - headerPopup->addAction(action); - action = new QAction("Show Data", this); - action->setCheckable(true); - connect(action, SIGNAL(toggled(bool)), - parent(), SLOT(setShowData(bool))); - connect(parent(), SIGNAL(showDataChanged(bool)), - action, SLOT(setOn(bool))); - action->setChecked(showData); - headerPopup->addAction(action); - } - headerPopup->exec(e->globalPos()); - e->accept(); - } else - e->ignore(); + if (!headerPopup) { + QAction *action; + + headerPopup = new QMenu(this); + action = new QAction("Show Name", this); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), + parent(), SLOT(setShowName(bool))); + connect(parent(), SIGNAL(showNameChanged(bool)), + action, SLOT(setChecked(bool))); + action->setChecked(showName); + headerPopup->addAction(action); + + action = new QAction("Show Range", this); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), + parent(), SLOT(setShowRange(bool))); + connect(parent(), SIGNAL(showRangeChanged(bool)), + action, SLOT(setChecked(bool))); + action->setChecked(showRange); + headerPopup->addAction(action); + + action = new QAction("Show Data", this); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), + parent(), SLOT(setShowData(bool))); + connect(parent(), SIGNAL(showDataChanged(bool)), + action, SLOT(setChecked(bool))); + action->setChecked(showData); + headerPopup->addAction(action); + } + + headerPopup->exec(e->globalPos()); + e->accept(); } ConfigView*ConfigView::viewList; @@ -1228,7 +1228,6 @@ struct menu *m = NULL; if (count < 1) { - qInfo() << "Clicked link is empty"; delete[] data; return; } @@ -1241,7 +1240,6 @@ strcat(data, "$"); result = sym_re_search(data); if (!result) { - qInfo() << "Clicked symbol is invalid:" << data; delete[] data; return; } @@ -1265,7 +1263,7 @@ } free(result); - delete data; + delete[] data; } QMenu* ConfigInfoView::createStandardContextMenu(const QPoint & pos) @@ -1275,7 +1273,7 @@ action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool))); - connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool))); + connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setChecked(bool))); action->setChecked(showDebug()); popup->addSeparator(); popup->addAction(action); --- linux-riscv-5.8-5.8.0.orig/scripts/kconfig/streamline_config.pl +++ linux-riscv-5.8-5.8.0/scripts/kconfig/streamline_config.pl @@ -593,7 +593,10 @@ } my %setconfigs; -my @preserved_kconfigs = split(/:/,$ENV{LMC_KEEP}); +my @preserved_kconfigs; +if (defined($ENV{'LMC_KEEP'})) { + @preserved_kconfigs = split(/:/,$ENV{LMC_KEEP}); +} sub in_preserved_kconfigs { my $kconfig = $config2kfile{$_[0]}; --- linux-riscv-5.8-5.8.0.orig/scripts/kmsg-doc +++ linux-riscv-5.8-5.8.0/scripts/kmsg-doc @@ -0,0 +1,478 @@ +#!/usr/bin/perl -w +# +# kmsg kernel messages check and print tool. +# +# To check the source code for missing messages the script is called +# with check, the name compiler and the compile parameters +# kmsg-doc check $(CC) $(c_flags) $< +# To create man pages for the messages the script is called with +# kmsg-doc print $(CC) $(c_flags) $< +# +# Copyright IBM Corp. 2008 +# Author(s): Martin Schwidefsky +# Michael Holzheu +# + +use Cwd; +use bigint; + +my $errors = 0; +my $warnings = 0; +my $srctree = ""; +my $objtree = ""; +my $kmsg_count = 0; + +sub remove_quotes($) +{ + my ($string) = @_; + my $inside = 0; + my $slash = 0; + my $result = ""; + + foreach my $str (split(/([\\"])/, $string)) { + if ($inside && ($str ne "\"" || $slash)) { + $result .= $str; + } + # Check for backslash before quote + if ($str eq "\"") { + if (!$slash) { + $inside = !$inside; + } + $slash = 0; + } elsif ($str eq "\\") { + $slash = !$slash; + } elsif ($str ne "") { + $slash = 0; + } + } + return $result; +} + +sub string_to_bytes($) +{ + my ($string) = @_; + my %is_escape = ('"', 0x22, '\'', 0x27, 'n', 0x0a, 'r', 0x0d, 'b', 0x08, + 't', 0x09, 'f', 0x0c, 'a', 0x07, 'v', 0x0b, '?', 0x3f); + my (@ar, $slash, $len); + + # scan string, interpret backslash escapes and write bytes to @ar + $len = 0; + foreach my $ch (split(//, $string)) { + if ($ch eq '\\') { + $slash = !$slash; + if (!$slash) { + $ar[$len] = ord('\\'); + $len++; + } + } elsif ($slash && defined $is_escape{$ch}) { + # C99 backslash escapes: \\ \" \' \n \r \b \t \f \a \v \? + $ar[$len] = $is_escape{$ch}; + $len++; + $slash = 0; + } elsif ($slash) { + # FIXME: C99 backslash escapes \nnn \xhh + die("Unknown backslash escape in message $string."); + } else { + # normal character + $ar[$len] = ord($ch); + $len++; + } + } + return @ar; +} + +sub calc_jhash($) +{ + my ($string) = @_; + my @ar; + my ($a, $b, $c, $i, $length, $len); + + @ar = string_to_bytes($string); + $length = @ar; + # add dummy elements to @ar to avoid if then else hell + push @ar, (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + $a = 0x9e3779b9; + $b = 0x9e3779b9; + $c = 0; + $i = 0; + for ($len = $length + 12; $len >= 12; $len -= 12) { + if ($len < 24) { + # add length for last round + $c += $length; + } + $a += $ar[$i] + ($ar[$i+1]<<8) + ($ar[$i+2]<<16) + ($ar[$i+3]<<24); + $b += $ar[$i+4] + ($ar[$i+5]<<8) + ($ar[$i+6]<<16) + ($ar[$i+7]<<24); + if ($len >= 24) { + $c += $ar[$i+8] + ($ar[$i+9]<<8) + ($ar[$i+10]<<16) + ($ar[$i+11]<<24); + } else { + $c += ($ar[$i+8]<<8) + ($ar[$i+9]<<16) + ($ar[$i+10]<<24); + } + $a &= 0xffffffff; $b &= 0xffffffff; $c &= 0xffffffff; + $a -= $b; $a -= $c; $a ^= ($c >> 13); $a &= 0xffffffff; + $b -= $c; $b -= $a; $b ^= ($a << 8); $b &= 0xffffffff; + $c -= $a; $c -= $b; $c ^= ($b >> 13); $c &= 0xffffffff; + $a -= $b; $a -= $c; $a ^= ($c >> 12); $a &= 0xffffffff; + $b -= $c; $b -= $a; $b ^= ($a << 16); $b &= 0xffffffff; + $c -= $a; $c -= $b; $c ^= ($b >> 5); $c &= 0xffffffff; + $a -= $b; $a -= $c; $a ^= ($c >> 3); $a &= 0xffffffff; + $b -= $c; $b -= $a; $b ^= ($a << 10); $b &= 0xffffffff; + $c -= $a; $c -= $b; $c ^= ($b >> 15); $c &= 0xffffffff; + $i += 12; + } + return $c; +} + +sub add_kmsg_desc($$$$$$) +{ + my ($component, $text, $sev, $argv, $desc, $user) = @_; + my ($hash, $tag); + + $text = remove_quotes($text); + $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6); + $tag = $component . "." . $hash; + + if ($kmsg_desc{$tag}) { + if ($text ne $kmsg_desc{$tag}->{'TEXT'}) { + warn "Duplicate message with tag $tag\n"; + warn " --- $kmsg_desc{$tag}->{'TEXT'}\n"; + warn " +++ $text\n"; + } else { + warn "Duplicate message description for \"$text\"\n"; + } + $errors++; + return; + } + $kmsg_desc{$tag}->{'TEXT'} = $text; + $kmsg_desc{$tag}->{'SEV'} = $sev; + $kmsg_desc{$tag}->{'ARGV'} = $argv; + $kmsg_desc{$tag}->{'DESC'} = $desc; + $kmsg_desc{$tag}->{'USER'} = $user; +} + +sub add_kmsg_print($$$$) +{ + my ($component, $sev, $text, $argv) = @_; + my ($hash, $tag, $count, $parm); + + $text = remove_quotes($text); + $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6); + $tag = $component . "." . $hash; + + # Pretty print severity + $sev =~ s/"0"/Emerg/; + $sev =~ s/"1"/Alert/; + $sev =~ s/"2"/Critical/; + $sev =~ s/"3"/Error/; + $sev =~ s/"4"/Warning/; + $sev =~ s/"5"/Notice/; + $sev =~ s/"6"/Informational/; + $sev =~ s/"7"/Debug/; + $kmsg_print{$kmsg_count}->{'TAG'} = $tag; + $kmsg_print{$kmsg_count}->{'TEXT'} = $text; + $kmsg_print{$kmsg_count}->{'SEV'} = $sev; + $kmsg_print{$kmsg_count}->{'ARGV'} = $argv; + $kmsg_count += 1; +} + +sub process_source_file($$) +{ + my ($component, $file) = @_; + my $state; + my ($text, $sev, $argv, $desc, $user); + + if (!open(FD, "$file")) { + return ""; + } + + $state = 0; + while () { + chomp; + # kmsg message component: #define KMSG_COMPONENT "" + if (/^#define\s+KMSG_COMPONENT\s+\"(.*)\"[^\"]*$/o) { + $component = $1; + } + if ($state == 0) { + # single line kmsg for undocumented messages, format: + # /*? Text: "" */ + if (/^\s*\/\*\?\s*Text:\s*(\".*\")\s*\*\/\s*$/o) { + add_kmsg_desc($component, $1, "", "", "", ""); + } + # kmsg message start: '/*?' + if (/^\s*\/\*\?\s*$/o) { + $state = 1; + ($text, $sev, $argv, $desc, $user) = ( "", "", "", "", "" ); + } + } elsif ($state == 1) { + # kmsg message end: ' */' + if (/^\s*\*\/\s*/o) { + add_kmsg_desc($component, $text, $sev, $argv, $desc, $user); + $state = 0; + } + # kmsg message text: ' * Text: ""' + elsif (/^\s*\*\s*Text:\s*(\".*\")\s*$/o) { + $text = $1; + } + # kmsg message severity: ' * Severity: ' + elsif (/^\s*\*\s*Severity:\s*(\S*)\s*$/o) { + $sev = $1; + } + # kmsg message parameter: ' * Parameter: ' + elsif (/^\s*\*\s*Parameter:\s*(\S*)\s*$/o) { + if (!defined($1)) { + $argv = ""; + } else { + $argv = $1; + } + $state = 2; + } + # kmsg message description start: ' * Description:' + elsif (/^\s*\*\s*Description:\s*(\S*)\s*$/o) { + if (!defined($1)) { + $desc = ""; + } else { + $desc = $1; + } + $state = 3; + } + # kmsg has unrecognizable lines + else { + warn "Warning(${file}:$.): Cannot understand $_"; + $warnings++; + $state = 0; + } + } elsif ($state == 2) { + # kmsg message end: ' */' + if (/^\s*\*\//o) { + warn "Warning(${file}:$.): Missing description, skipping message"; + $warnings++; + $state = 0; + } + # kmsg message description start: ' * Description:' + elsif (/^\s*\*\s*Description:\s*$/o) { + $desc = $1; + $state = 3; + } + # kmsg message parameter line: ' * ' + elsif (/^\s*\*(.*)$/o) { + $argv .= "\n" . $1; + } else { + warn "Warning(${file}:$.): Cannot understand $_"; + $warnings++; + $state = 0; + } + } elsif ($state == 3) { + # kmsg message end: ' */' + if (/^\s*\*\/\s*/o) { + add_kmsg_desc($component, $text, $sev, $argv, $desc, $user); + $state = 0; + } + # kmsg message description start: ' * User action:' + elsif (/^\s*\*\s*User action:\s*$/o) { + $user = $1; + $state = 4; + } + # kmsg message description line: ' * ' + elsif (/^\s*\*\s*(.*)$/o) { + $desc .= "\n" . $1; + } else { + warn "Warning(${file}:$.): Cannot understand $_"; + $warnings++; + $state = 0; + } + } elsif ($state == 4) { + # kmsg message end: ' */' + if (/^\s*\*\/\s*/o) { + add_kmsg_desc($component, $text, $sev, $argv, $desc, $user); + $state = 0; + } + # kmsg message user action line: ' * ' + elsif (/^\s*\*\s*(.*)$/o) { + $user .= "\n" . $1; + } else { + warn "Warning(${file}:$.): Cannot understand $_"; + $warnings++; + $state = 0; + } + } + } + return $component; +} + +sub process_cpp_file($$$$) +{ + my ($cc, $options, $file, $component) = @_; + + open(FD, "$cc $gcc_options|") or die ("Preprocessing failed."); + + while () { + chomp; + if (/.*__KMSG_PRINT\(\s*(\S*)\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) { + if ($component ne "") { + add_kmsg_print($component, $2, $3, $4); + } else { + warn "Error(${file}:$.): kmsg without component\n"; + $errors++; + } + } elsif (/.*__KMSG_DEV\(\s*(\S*)\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) { + if ($component ne "") { + add_kmsg_print($component, $2, "\"%s: \"" . $3, $4); + } else { + warn "Error(${file}:$.): kmsg without component\n"; + $errors++; + } + } + } +} + +sub check_messages($) +{ + my $component = "@_"; + my $failed = 0; + + for ($i = 0; $i < $kmsg_count; $i++) { + $tag = $kmsg_print{$i}->{'TAG'}; + if (!defined($kmsg_desc{$tag})) { + add_kmsg_desc($component, + "\"" . $kmsg_print{$i}->{'TEXT'} . "\"", + $kmsg_print{$i}->{'SEV'}, + $kmsg_print{$i}->{'ARGV'}, + "Please insert description here", + "What is the user supposed to do"); + $kmsg_desc{$tag}->{'CHECK'} = 1; + $failed = 1; + warn "$component: Missing description for: ". + $kmsg_print{$i}->{'TEXT'}."\n"; + $errors++; + next; + } + if ($kmsg_desc{$tag}->{'SEV'} ne "" && + $kmsg_desc{$tag}->{'SEV'} ne $kmsg_print{$i}->{'SEV'}) { + warn "Message severity mismatch for \"$kmsg_print{$i}->{'TEXT'}\"\n"; + warn " --- $kmsg_desc{$tag}->{'SEV'}\n"; + warn " +++ $kmsg_print{$i}->{'SEV'}\n"; + } + } + return $failed; +} + +sub print_templates() +{ + print "Templates for missing messages:\n"; + foreach $tag ( sort { $kmsg_desc{$a} <=> $kmsg_desc{$b} } keys %kmsg_desc ) { + if (!defined($kmsg_desc{$tag}->{'CHECK'})) { + next; + } + print "/*?\n"; + print " * Text: \"$kmsg_desc{$tag}->{'TEXT'}\"\n"; + print " * Severity: $kmsg_desc{$tag}->{'SEV'}\n"; + $argv = $kmsg_desc{$tag}->{'ARGV'}; + if ($argv ne "") { + print " * Parameter:\n"; + @parms = split(/\s*,\s*/,$kmsg_desc{$tag}->{'ARGV'}); + $count = 0; + foreach $parm (@parms) { + $count += 1; + if (!($parm eq "")) { + print " * \@$count: $parm\n"; + } + } + } + print " * Description:\n"; + print " * $kmsg_desc{$tag}->{'DESC'}\n"; + print " * User action:\n"; + print " * $kmsg_desc{$tag}->{'USER'}\n"; + print " */\n\n"; + } +} + +sub write_man_pages() +{ + my ($i, $file); + + for ($i = 0; $i < $kmsg_count; $i++) { + $tag = $kmsg_print{$i}->{'TAG'}; + if (!defined($kmsg_desc{$tag}) || + defined($kmsg_desc{$tag}->{'CHECK'}) || + $kmsg_desc{$tag}->{'DESC'} eq "") { + next; + } + $file = $objtree . "man/" . $tag . ".9"; + if (!open(WR, ">$file")) { + warn "Error: Cannot open file $file\n"; + $errors++; + return; + } + print WR ".TH \"$tag\" 9 \"Linux Messages\" LINUX\n"; + print WR ".SH Message\n"; + print WR $tag . ": " . $kmsg_desc{$tag}->{'TEXT'} . "\n"; + print WR ".SH Severity\n"; + print WR "$kmsg_desc{$tag}->{'SEV'}\n"; + $argv = $kmsg_desc{$tag}->{'ARGV'}; + if ($argv ne "") { + print WR ".SH Parameters\n"; + @parms = split(/\s*\n\s*/,$kmsg_desc{$tag}->{'ARGV'}); + foreach $parm (@parms) { + $parm =~ s/^\s*(.*)\s*$/$1/; + if (!($parm eq "")) { + print WR "$parm\n\n"; + } + } + } + print WR ".SH Description"; + print WR "$kmsg_desc{$tag}->{'DESC'}\n"; + $user = $kmsg_desc{$tag}->{'USER'}; + if ($user ne "") { + print WR ".SH User action"; + print WR "$user\n"; + } + } +} + +if (defined($ENV{'srctree'})) { + $srctree = "$ENV{'srctree'}" . "/"; +} else { + $srctree = getcwd; +} + +if (defined($ENV{'objtree'})) { + $objtree = "$ENV{'objtree'}" . "/"; +} else { + $objtree = getcwd; +} + +if (defined($ENV{'SRCARCH'})) { + $srcarch = "$ENV{'SRCARCH'}" . "/"; +} else { + print "kmsg-doc called without a valid \$SRCARCH\n"; + exit 1; +} + +$option = shift; + +$cc = shift; +$gcc_options = "-E -D __KMSG_CHECKER "; +foreach $tmp (@ARGV) { + $tmp =~ s/\(/\\\(/; + $tmp =~ s/\)/\\\)/; + $gcc_options .= " $tmp"; + $filename = $tmp; +} + +$component = process_source_file("", $filename); +if ($component ne "") { + process_source_file($component, $srctree . "Documentation/kmsg/" . + $srcarch . $component); + process_source_file($component, $srctree . "Documentation/kmsg/" . + $component); +} + +process_cpp_file($cc, $gcc_options, $filename, $component); +if ($option eq "check") { + if (check_messages($component)) { + print_templates(); + } +} elsif ($option eq "print") { + write_man_pages(); +} + +exit($errors); --- linux-riscv-5.8-5.8.0.orig/scripts/nsdeps +++ linux-riscv-5.8-5.8.0/scripts/nsdeps @@ -29,7 +29,7 @@ generate_deps_for_ns() { $SPATCH --very-quiet --in-place --sp-file \ - $srctree/scripts/coccinelle/misc/add_namespace.cocci -D ns=$1 $2 + $srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps -D ns=$1 $2 } generate_deps() { --- linux-riscv-5.8-5.8.0.orig/scripts/package/builddeb +++ linux-riscv-5.8-5.8.0/scripts/package/builddeb @@ -202,8 +202,10 @@ done if [ "$ARCH" != "um" ]; then - deploy_kernel_headers debian/linux-headers - create_package linux-headers-$version debian/linux-headers + if is_enabled CONFIG_MODULES; then + deploy_kernel_headers debian/linux-headers + create_package linux-headers-$version debian/linux-headers + fi deploy_libc_headers debian/linux-libc-dev create_package linux-libc-dev debian/linux-libc-dev --- linux-riscv-5.8-5.8.0.orig/scripts/package/mkdebian +++ linux-riscv-5.8-5.8.0/scripts/package/mkdebian @@ -183,13 +183,6 @@ This package contains the Linux kernel, modules and corresponding other files, version: $version. -Package: $kernel_headers_packagename -Architecture: $debarch -Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . - This is useful for people who need to build external modules - Package: linux-libc-dev Section: devel Provides: linux-kernel-headers @@ -200,6 +193,18 @@ Multi-Arch: same EOF +if is_enabled CONFIG_MODULES; then +cat <> debian/control + +Package: $kernel_headers_packagename +Architecture: $debarch +Description: Linux kernel headers for $version on $debarch + This package provides kernel header files for $version on $debarch + . + This is useful for people who need to build external modules +EOF +fi + if is_enabled CONFIG_DEBUG_INFO; then cat <> debian/control --- linux-riscv-5.8-5.8.0.orig/scripts/recordmcount.c +++ linux-riscv-5.8-5.8.0/scripts/recordmcount.c @@ -42,6 +42,8 @@ #define R_ARM_THM_CALL 10 #define R_ARM_CALL 28 +#define R_AARCH64_CALL26 283 + static int fd_map; /* File descriptor for file being modified. */ static int mmap_failed; /* Boolean flag. */ static char gpfx; /* prefix for global symbol name (sometimes '_') */ @@ -434,6 +436,11 @@ return 1; } +static int arm64_is_fake_mcount(Elf64_Rel const *rp) +{ + return ELF64_R_TYPE(w8(rp->r_info)) != R_AARCH64_CALL26; +} + /* 64-bit EM_MIPS has weird ELF64_Rela.r_info. * http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf * We interpret Table 29 Relocation Operation (Elf64_Rel, Elf64_Rela) [p.40] @@ -547,6 +554,7 @@ make_nop = make_nop_arm64; rel_type_nop = R_AARCH64_NONE; ideal_nop = ideal_nop4_arm64; + is_fake_mcount64 = arm64_is_fake_mcount; break; case EM_IA_64: reltype = R_IA64_IMM64; break; case EM_MIPS: /* reltype: e_class */ break; --- linux-riscv-5.8-5.8.0.orig/scripts/recordmcount.pl +++ linux-riscv-5.8-5.8.0/scripts/recordmcount.pl @@ -268,7 +268,11 @@ # force flags for this arch $ld .= " -m shlelf_linux"; - $objcopy .= " -O elf32-sh-linux"; + if ($endian eq "big") { + $objcopy .= " -O elf32-shbig-linux"; + } else { + $objcopy .= " -O elf32-sh-linux"; + } } elsif ($arch eq "powerpc") { my $ldemulation; --- linux-riscv-5.8-5.8.0.orig/scripts/selinux/mdp/mdp.c +++ linux-riscv-5.8-5.8.0/scripts/selinux/mdp/mdp.c @@ -67,8 +67,14 @@ initial_sid_to_string_len = sizeof(initial_sid_to_string) / sizeof (char *); /* print out the sids */ - for (i = 1; i < initial_sid_to_string_len; i++) - fprintf(fout, "sid %s\n", initial_sid_to_string[i]); + for (i = 1; i < initial_sid_to_string_len; i++) { + const char *name = initial_sid_to_string[i]; + + if (name) + fprintf(fout, "sid %s\n", name); + else + fprintf(fout, "sid unused%d\n", i); + } fprintf(fout, "\n"); /* print out the class permissions */ @@ -126,9 +132,16 @@ #define OBJUSERROLETYPE "user_u:object_r:base_t" /* default sids */ - for (i = 1; i < initial_sid_to_string_len; i++) - fprintf(fout, "sid %s " SUBJUSERROLETYPE "%s\n", - initial_sid_to_string[i], mls ? ":" SYSTEMLOW : ""); + for (i = 1; i < initial_sid_to_string_len; i++) { + const char *name = initial_sid_to_string[i]; + + if (name) + fprintf(fout, "sid %s ", name); + else + fprintf(fout, "sid unused%d\n", i); + fprintf(fout, SUBJUSERROLETYPE "%s\n", + mls ? ":" SYSTEMLOW : ""); + } fprintf(fout, "\n"); #define FS_USE(behavior, fstype) \ --- linux-riscv-5.8-5.8.0.orig/scripts/setlocalversion +++ linux-riscv-5.8-5.8.0/scripts/setlocalversion @@ -45,7 +45,7 @@ # Check for git and a git repo. if test -z "$(git rev-parse --show-cdup 2>/dev/null)" && - head=$(git rev-parse --verify --short HEAD 2>/dev/null); then + head=$(git rev-parse --verify HEAD 2>/dev/null); then # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore # it, because this version is defined in the top level Makefile. @@ -59,11 +59,22 @@ fi # If we are past a tagged commit (like # "v2.6.30-rc5-302-g72357d5"), we pretty print it. - if atag="$(git describe 2>/dev/null)"; then - echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' + # + # Ensure the abbreviated sha1 has exactly 12 + # hex characters, to make the output + # independent of git version, local + # core.abbrev settings and/or total number of + # objects in the current repository - passing + # --abbrev=12 ensures a minimum of 12, and the + # awk substr() then picks the 'g' and first 12 + # hex chars. + if atag="$(git describe --abbrev=12 2>/dev/null)"; then + echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),substr($(NF),0,13))}' - # If we don't have a tag at all we print -g{commitish}. + # If we don't have a tag at all we print -g{commitish}, + # again using exactly 12 hex chars. else + head="$(echo $head | cut -c1-12)" printf '%s%s' -g $head fi fi --- linux-riscv-5.8-5.8.0.orig/scripts/ubuntu-retpoline-extract-one +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/Kconfig +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/apparmor/Makefile +++ linux-riscv-5.8-5.8.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 \ + af_unix.o apparmor-$(CONFIG_SECURITY_APPARMOR_HASH) += crypto.o clean-files := capability_names.h rlim_names.h net_names.h --- linux-riscv-5.8-5.8.0.orig/security/apparmor/af_unix.c +++ linux-riscv-5.8-5.8.0/security/apparmor/af_unix.c @@ -0,0 +1,652 @@ +/* + * 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 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 = { }; + 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_profile *profile, + 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(profile->policy.dfa, state, (char *) &buffer, + 4); + if (!state) + *info = "failed type and protocol match"; + return state; +} + +static unsigned int match_addr(struct aa_profile *profile, unsigned int state, + struct sockaddr_un *addr, int addrlen) +{ + if (addr) + /* include leading \0 */ + state = aa_dfa_match_len(profile->policy.dfa, state, + addr->sun_path, + unix_addr_len(addrlen)); + else + /* anonymous end point */ + state = aa_dfa_match_len(profile->policy.dfa, state, "\x01", + 1); + /* todo change to out of band */ + state = aa_dfa_null_transition(profile->policy.dfa, state); + return state; +} + +static unsigned int match_to_local(struct aa_profile *profile, + unsigned int state, int type, int protocol, + struct sockaddr_un *addr, int addrlen, + const char **info) +{ + state = match_to_prot(profile, state, type, protocol, info); + if (state) { + state = match_addr(profile, state, addr, addrlen); + if (state) { + /* todo: local label matching */ + state = aa_dfa_null_transition(profile->policy.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_profile *profile, + 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(profile, 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_profile *profile, + unsigned int state, struct unix_sock *u, + char cmd, const char **info) +{ + state = match_to_sk(profile, state, u, info); + if (state) { + state = aa_dfa_match_len(profile->policy.dfa, state, &cmd, 1); + if (!state) + *info = "failed cmd selection match"; + } + + return state; +} + +static inline unsigned int match_to_peer(struct aa_profile *profile, + unsigned int state, + struct unix_sock *u, + struct sockaddr_un *peer_addr, + int peer_addrlen, + const char **info) +{ + state = match_to_cmd(profile, state, u, CMD_ADDR, info); + if (state) { + state = match_addr(profile, state, peer_addr, peer_addrlen); + if (!state) + *info = "failed peer address match"; + } + return state; +} + +static int do_perms(struct aa_profile *profile, unsigned int state, u32 request, + struct common_audit_data *sa) +{ + struct aa_perms perms; + + AA_BUG(!profile); + + aa_compute_perms(profile->policy.dfa, state, &perms); + 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_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(profile->policy.dfa, state, + peer->base.hname); + if (!state) + aad(sa)->info = "failed peer label match"; + } + return do_perms(profile, 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) +{ + unsigned int state; + DEFINE_AUDIT_NET(sa, OP_CREATE, NULL, family, type, protocol); + + AA_BUG(!profile); + AA_BUG(profile_unconfined(profile)); + + if ((state = PROFILE_MEDIATES_AF(profile, AF_UNIX))) { + state = match_to_prot(profile, state, type, protocol, + &aad(&sa)->info); + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, AF_UNIX); + if (state) { + state = match_to_sk(profile, state, unix_sk(sk), + &aad(&sa)->info); + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, AF_UNIX); + if (state) { + /* bind for abstract socket */ + aad(&sa)->net.addr = unix_addr(addr); + aad(&sa)->net.addrlen = addrlen; + + state = match_to_local(profile, state, + sk->sk_type, sk->sk_protocol, + unix_addr(addr), addrlen, + &aad(&sa)->info); + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, AF_UNIX); + if (state) { + __be16 b = cpu_to_be16(backlog); + + state = match_to_cmd(profile, state, unix_sk(sk), CMD_LISTEN, + &aad(&sa)->info); + if (state) { + state = aa_dfa_match_len(profile->policy.dfa, state, + (char *) &b, 2); + if (!state) + aad(&sa)->info = "failed listen backlog match"; + } + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, AF_UNIX); + if (state) { + state = match_to_sk(profile, state, unix_sk(sk), + &aad(&sa)->info); + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, AF_UNIX); + if (state) { + __be16 b = cpu_to_be16(optname); + + state = match_to_cmd(profile, state, unix_sk(sk), CMD_OPT, + &aad(&sa)->info); + if (state) { + state = aa_dfa_match_len(profile->policy.dfa, state, + (char *) &b, 2); + if (!state) + aad(&sa)->info = "failed sockopt match"; + } + return do_perms(profile, 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) +{ + 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 = PROFILE_MEDIATES_AF(profile, 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(profile, 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, 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-riscv-5.8-5.8.0.orig/security/apparmor/apparmorfs.c +++ linux-riscv-5.8-5.8.0/security/apparmor/apparmorfs.c @@ -2348,6 +2348,11 @@ { } }; +static struct aa_sfs_entry aa_sfs_entry_dbus[] = { + AA_SFS_FILE_STRING("mask", "acquire send receive"), + { } +}; + static struct aa_sfs_entry aa_sfs_entry_query_label[] = { AA_SFS_FILE_STRING("perms", "allow deny audit quiet"), AA_SFS_FILE_BOOLEAN("data", 1), @@ -2364,6 +2369,7 @@ AA_SFS_DIR("domain", aa_sfs_entry_domain), AA_SFS_DIR("file", aa_sfs_entry_file), 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), @@ -2371,6 +2377,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), { } }; --- linux-riscv-5.8-5.8.0.orig/security/apparmor/crypto.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/apparmor/file.c +++ linux-riscv-5.8-5.8.0/security/apparmor/file.c @@ -12,6 +12,7 @@ #include #include +#include "include/af_unix.h" #include "include/apparmor.h" #include "include/audit.h" #include "include/cred.h" @@ -280,7 +281,8 @@ { int e = 0; - if (profile_unconfined(profile)) + if (profile_unconfined(profile) || + ((flags & PATH_SOCK_COND) && !PROFILE_MEDIATES_AF(profile, AF_UNIX))) return 0; aa_str_perms(profile->file.dfa, profile->file.start, name, cond, perms); if (request & ~perms->allow) --- linux-riscv-5.8-5.8.0.orig/security/apparmor/include/af_unix.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/apparmor/include/apparmor.h +++ linux-riscv-5.8-5.8.0/security/apparmor/include/apparmor.h @@ -20,7 +20,7 @@ #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 @@ -28,8 +28,9 @@ #define AA_CLASS_SIGNAL 10 #define AA_CLASS_NET 14 #define AA_CLASS_LABEL 16 +#define AA_CLASS_DISPLAY_LSM 17 -#define AA_CLASS_LAST AA_CLASS_LABEL +#define AA_CLASS_LAST AA_CLASS_DISPLAY_LSM /* Control parameters settable through module/boot flags */ extern enum audit_mode aa_g_audit; --- linux-riscv-5.8-5.8.0.orig/security/apparmor/include/crypto.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/apparmor/include/net.h +++ linux-riscv-5.8-5.8.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), \ @@ -68,11 +73,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 +105,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-riscv-5.8-5.8.0.orig/security/apparmor/include/path.h +++ linux-riscv-5.8-5.8.0/security/apparmor/include/path.h @@ -13,6 +13,7 @@ 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 */ --- linux-riscv-5.8-5.8.0.orig/security/apparmor/include/policy.h +++ linux-riscv-5.8-5.8.0/security/apparmor/include/policy.h @@ -108,6 +108,7 @@ * @policy: general match rules governing policy * @file: The set of rules governing basic file access and domain transitions * @caps: capabilities for the profile + * @net_compat: v2 compat network controls for the profile * @rlimits: rlimits for the profile * * @dents: dentries for the profiles file entries in apparmorfs @@ -145,6 +146,7 @@ struct aa_policydb policy; struct aa_file_rules file; struct aa_caps caps; + struct aa_net_compat *net_compat; int xattr_count; char **xattrs; @@ -228,9 +230,13 @@ unsigned int state = PROFILE_MEDIATES(profile, 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 = PROFILE_MEDIATES(profile, AA_CLASS_NET_COMPAT); + if (!state) + return 0; + } + state = aa_dfa_match_len(profile->policy.dfa, state, (char *) &be_af, 2); + return state; } /** --- linux-riscv-5.8-5.8.0.orig/security/apparmor/include/procattr.h +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/apparmor/include/secid.h +++ linux-riscv-5.8-5.8.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); --- linux-riscv-5.8-5.8.0.orig/security/apparmor/label.c +++ linux-riscv-5.8-5.8.0/security/apparmor/label.c @@ -1632,13 +1632,10 @@ AA_BUG(!str && size != 0); AA_BUG(!label); - if (flags & FLAG_ABS_ROOT) { + if (flags & FLAG_ABS_ROOT) ns = root_ns; - len = snprintf(str, size, "="); - update_for_len(total, len, size, str); - } else if (!ns) { + else if (!ns) ns = labels_ns(label); - } label_for_each(i, label, profile) { if (aa_ns_visible(ns, profile->ns, flags & FLAG_VIEW_SUBNS)) { --- linux-riscv-5.8-5.8.0.orig/security/apparmor/lib.c +++ linux-riscv-5.8-5.8.0/security/apparmor/lib.c @@ -334,7 +334,7 @@ /* 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->allow |= map_other(dfa_other_allow(dfa, state)) | AA_MAY_LOCK; 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); --- linux-riscv-5.8-5.8.0.orig/security/apparmor/lsm.c +++ linux-riscv-5.8-5.8.0/security/apparmor/lsm.c @@ -25,6 +25,7 @@ #include #include +#include "include/af_unix.h" #include "include/apparmor.h" #include "include/apparmorfs.h" #include "include/audit.h" @@ -593,6 +594,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)); @@ -600,11 +602,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); @@ -612,6 +617,25 @@ return error; } + +static int profile_display_lsm(struct aa_profile *profile, + struct common_audit_data *sa) +{ + struct aa_perms perms = { }; + unsigned int state; + + state = PROFILE_MEDIATES(profile, AA_CLASS_DISPLAY_LSM); + if (state) { + aa_compute_perms(profile->policy.dfa, state, &perms); + 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) { @@ -623,6 +647,19 @@ if (size == 0) return -EINVAL; + /* LSM infrastructure does actual setting of display if allowed */ + if (!strcmp(name, "display")) { + struct aa_profile *profile; + struct aa_label *label; + + aad(&sa)->info = "set display lsm"; + label = begin_current_label_crit_section(); + error = fn_for_each_confined(label, profile, + profile_display_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 */ @@ -767,32 +804,15 @@ } /** - * 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) -{ - struct aa_sk_ctx *ctx; - - ctx = kzalloc(sizeof(*ctx), flags); - if (!ctx) - return -ENOMEM; - - SK_CTX(sk) = ctx; - - return 0; -} - -/** * apparmor_sk_free_security - free the sk_security field */ 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); } /** @@ -801,8 +821,8 @@ 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); @@ -811,6 +831,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; } /** @@ -858,7 +971,7 @@ 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); @@ -1043,7 +1156,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; @@ -1056,12 +1169,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; } /** @@ -1105,6 +1234,7 @@ } + aa_put_label(peer); done: end_current_label_crit_section(label); @@ -1112,22 +1242,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 @@ -1140,7 +1254,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(); @@ -1150,7 +1264,7 @@ static int apparmor_inet_conn_request(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; @@ -1167,6 +1281,12 @@ .lbs_cred = sizeof(struct aa_task_ctx *), .lbs_file = sizeof(struct aa_file_ctx), .lbs_task = sizeof(struct aa_task_ctx), + .lbs_sock = sizeof(struct aa_sk_ctx), +}; + +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 = { @@ -1203,10 +1323,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), @@ -1225,8 +1347,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), @@ -1724,6 +1844,14 @@ .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, + }, + { } }; @@ -1754,7 +1882,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; @@ -1870,7 +1998,7 @@ goto buffers_out; } security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), - "apparmor"); + &apparmor_lsmid); /* Report that AppArmor successfully initialized */ apparmor_initialized = 1; @@ -1895,7 +2023,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-riscv-5.8-5.8.0.orig/security/apparmor/net.c +++ linux-riscv-5.8-5.8.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, + 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) @@ -95,6 +132,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, @@ -116,14 +170,26 @@ if (profile_unconfined(profile)) return 0; state = PROFILE_MEDIATES(profile, AA_CLASS_NET); - if (!state) - return 0; + if (state) { + if (!state) + return 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 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); @@ -183,7 +249,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 --- linux-riscv-5.8-5.8.0.orig/security/apparmor/policy.c +++ linux-riscv-5.8-5.8.0/security/apparmor/policy.c @@ -222,6 +222,7 @@ aa_free_file_rules(&profile->file); aa_free_cap_rules(&profile->caps); aa_free_rlimit_rules(&profile->rlimits); + kzfree(profile->net_compat); for (i = 0; i < profile->xattr_count; i++) kzfree(profile->xattrs[i]); --- linux-riscv-5.8-5.8.0.orig/security/apparmor/policy_unpack.c +++ linux-riscv-5.8-5.8.0/security/apparmor/policy_unpack.c @@ -34,7 +34,7 @@ #define v5 5 /* base version */ #define v6 6 /* per entry policydb mediation check */ -#define v7 7 +#define v7 7 /* v2 compat networking */ #define v8 8 /* full network masking */ /* @@ -314,6 +314,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; @@ -676,7 +689,7 @@ struct aa_profile *profile = NULL; const char *tmpname, *tmpns = NULL, *name = NULL; const char *info = "failed to unpack profile"; - size_t ns_len; + size_t size = 0, ns_len; struct rhashtable_params params = { 0 }; char *key = NULL; struct aa_data *data; @@ -823,6 +836,43 @@ goto fail; } + size = unpack_array(e, "net_allowed_af"); + if (size || VERSION_LT(e->version, v8)) { + 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"; --- linux-riscv-5.8-5.8.0.orig/security/apparmor/procattr.c +++ linux-riscv-5.8-5.8.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. * * Returns: length of @string on success else error on failure * @@ -30,20 +31,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); @@ -52,19 +54,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; } /** --- linux-riscv-5.8-5.8.0.orig/security/apparmor/secid.c +++ linux-riscv-5.8-5.8.0/security/apparmor/secid.c @@ -32,6 +32,8 @@ static DEFINE_IDR(aa_secids); static DEFINE_SPINLOCK(secid_lock); +int apparmor_display_secid_mode = 0; + /* * TODO: allow policy to reserve a secid range? * TODO: add secid pinning @@ -71,6 +73,7 @@ { /* 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 +81,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; --- linux-riscv-5.8-5.8.0.orig/security/bpf/hooks.c +++ linux-riscv-5.8-5.8.0/security/bpf/hooks.c @@ -13,9 +13,19 @@ #undef LSM_HOOK }; +/* + * 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-riscv-5.8-5.8.0.orig/security/commoncap.c +++ linux-riscv-5.8-5.8.0/security/commoncap.c @@ -371,10 +371,11 @@ { int size, ret; kuid_t kroot; + u32 nsmagic, magic; uid_t root, mappedroot; char *tmpbuf = NULL; struct vfs_cap_data *cap; - struct vfs_ns_cap_data *nscap; + struct vfs_ns_cap_data *nscap = NULL; struct dentry *dentry; struct user_namespace *fs_ns; @@ -396,46 +397,61 @@ fs_ns = inode->i_sb->s_user_ns; cap = (struct vfs_cap_data *) tmpbuf; if (is_v2header((size_t) ret, cap)) { - /* If this is sizeof(vfs_cap_data) then we're ok with the - * on-disk value, so return that. */ - if (alloc) - *buffer = tmpbuf; - else - kfree(tmpbuf); - return ret; - } else if (!is_v3header((size_t) ret, cap)) { - kfree(tmpbuf); - return -EINVAL; + root = 0; + } else if (is_v3header((size_t) ret, cap)) { + nscap = (struct vfs_ns_cap_data *) tmpbuf; + root = le32_to_cpu(nscap->rootid); + } else { + size = -EINVAL; + goto out_free; } - nscap = (struct vfs_ns_cap_data *) tmpbuf; - root = le32_to_cpu(nscap->rootid); kroot = make_kuid(fs_ns, root); /* If the root kuid maps to a valid uid in current ns, then return * this as a nscap. */ mappedroot = from_kuid(current_user_ns(), kroot); if (mappedroot != (uid_t)-1 && mappedroot != (uid_t)0) { + size = sizeof(struct vfs_ns_cap_data); if (alloc) { - *buffer = tmpbuf; + if (!nscap) { + /* v2 -> v3 conversion */ + nscap = kzalloc(size, GFP_ATOMIC); + if (!nscap) { + size = -ENOMEM; + goto out_free; + } + nsmagic = VFS_CAP_REVISION_3; + magic = le32_to_cpu(cap->magic_etc); + if (magic & VFS_CAP_FLAGS_EFFECTIVE) + nsmagic |= VFS_CAP_FLAGS_EFFECTIVE; + memcpy(&nscap->data, &cap->data, sizeof(__le32) * 2 * VFS_CAP_U32); + nscap->magic_etc = cpu_to_le32(nsmagic); + } else { + /* use allocated v3 buffer */ + tmpbuf = NULL; + } nscap->rootid = cpu_to_le32(mappedroot); - } else - kfree(tmpbuf); - return size; + *buffer = nscap; + } + goto out_free; } if (!rootid_owns_currentns(kroot)) { - kfree(tmpbuf); - return -EOPNOTSUPP; + size = -EOVERFLOW; + goto out_free; } /* This comes from a parent namespace. Return as a v2 capability */ size = sizeof(struct vfs_cap_data); if (alloc) { - *buffer = kmalloc(size, GFP_ATOMIC); - if (*buffer) { - struct vfs_cap_data *cap = *buffer; - __le32 nsmagic, magic; + if (nscap) { + /* v3 -> v2 conversion */ + cap = kzalloc(size, GFP_ATOMIC); + if (!cap) { + size = -ENOMEM; + goto out_free; + } magic = VFS_CAP_REVISION_2; nsmagic = le32_to_cpu(nscap->magic_etc); if (nsmagic & VFS_CAP_FLAGS_EFFECTIVE) @@ -443,9 +459,12 @@ memcpy(&cap->data, &nscap->data, sizeof(__le32) * 2 * VFS_CAP_U32); cap->magic_etc = cpu_to_le32(magic); } else { - size = -ENOMEM; + /* use unconverted v2 */ + tmpbuf = NULL; } + *buffer = cap; } +out_free: kfree(tmpbuf); return size; } @@ -473,7 +492,7 @@ * * If all is ok, we return the new size, on error return < 0. */ -int cap_convert_nscap(struct dentry *dentry, void **ivalue, size_t size) +int cap_convert_nscap(struct dentry *dentry, const void **ivalue, size_t size) { struct vfs_ns_cap_data *nscap; uid_t nsrootid; @@ -516,7 +535,6 @@ nscap->magic_etc = cpu_to_le32(nsmagic); memcpy(&nscap->data, &cap->data, sizeof(__le32) * 2 * VFS_CAP_U32); - kvfree(*ivalue); *ivalue = nscap; return newsize; } @@ -658,7 +676,7 @@ if (!file_caps_enabled) return 0; - if (!mnt_may_suid(file->f_path.mnt)) + if (path_nosuid(&file->f_path)) return 0; /* @@ -1341,6 +1359,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), @@ -1365,7 +1388,7 @@ static int __init capability_init(void) { security_add_hooks(capability_hooks, ARRAY_SIZE(capability_hooks), - "capability"); + &capability_lsmid); return 0; } --- linux-riscv-5.8-5.8.0.orig/security/device_cgroup.c +++ linux-riscv-5.8-5.8.0/security/device_cgroup.c @@ -354,7 +354,8 @@ { struct dev_exception_item *ex; - list_for_each_entry_rcu(ex, exceptions, list) { + list_for_each_entry_rcu(ex, exceptions, list, + lockdep_is_held(&devcgroup_mutex)) { if ((type & DEVCG_DEV_BLOCK) && !(ex->type & DEVCG_DEV_BLOCK)) continue; if ((type & DEVCG_DEV_CHAR) && !(ex->type & DEVCG_DEV_CHAR)) --- linux-riscv-5.8-5.8.0.orig/security/integrity/digsig.c +++ linux-riscv-5.8-5.8.0/security/integrity/digsig.c @@ -169,7 +169,7 @@ int __init integrity_load_x509(const unsigned int id, const char *path) { - void *data; + void *data = NULL; loff_t size; int rc; key_perm_t perm; @@ -177,7 +177,7 @@ rc = kernel_read_file_from_path(path, &data, &size, 0, 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; } --- linux-riscv-5.8-5.8.0.orig/security/integrity/evm/evm_crypto.c +++ linux-riscv-5.8-5.8.0/security/integrity/evm/evm_crypto.c @@ -73,7 +73,7 @@ { long rc; const char *algo; - struct crypto_shash **tfm, *tmp_tfm; + struct crypto_shash **tfm, *tmp_tfm = NULL; struct shash_desc *desc; if (type == EVM_XATTR_HMAC) { @@ -118,13 +118,16 @@ alloc: desc = kmalloc(sizeof(*desc) + crypto_shash_descsize(*tfm), GFP_KERNEL); - if (!desc) + if (!desc) { + crypto_free_shash(tmp_tfm); return ERR_PTR(-ENOMEM); + } desc->tfm = *tfm; rc = crypto_shash_init(desc); if (rc) { + crypto_free_shash(tmp_tfm); kfree(desc); return ERR_PTR(rc); } --- linux-riscv-5.8-5.8.0.orig/security/integrity/evm/evm_main.c +++ linux-riscv-5.8-5.8.0/security/integrity/evm/evm_main.c @@ -181,6 +181,12 @@ break; case EVM_IMA_XATTR_DIGSIG: case EVM_XATTR_PORTABLE_DIGSIG: + /* accept xattr with non-empty signature field */ + if (xattr_len <= sizeof(struct signature_v2_hdr)) { + evm_status = INTEGRITY_FAIL; + goto out; + } + hdr = (struct signature_v2_hdr *)xattr_data; digest.hdr.algo = hdr->hash_algo; rc = evm_calc_hash(dentry, xattr_name, xattr_value, --- linux-riscv-5.8-5.8.0.orig/security/integrity/iint.c +++ linux-riscv-5.8-5.8.0/security/integrity/iint.c @@ -98,6 +98,14 @@ struct rb_node *node, *parent = NULL; struct integrity_iint_cache *iint, *test_iint; + /* + * The integrity's "iint_cache" is initialized at security_init(), + * unless it is not included in the ordered list of LSMs enabled + * on the boot command line. + */ + if (!iint_cache) + panic("%s: lsm=integrity required.\n", __func__); + iint = integrity_iint_find(inode); if (iint) return iint; --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/Kconfig +++ linux-riscv-5.8-5.8.0/security/integrity/ima/Kconfig @@ -232,7 +232,7 @@ config IMA_APPRAISE_BOOTPARAM bool "ima_appraise boot parameter" - depends on IMA_APPRAISE && !IMA_ARCH_POLICY + depends on IMA_APPRAISE default y help This option enables the different "ima_appraise=" modes --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima.h +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima.h @@ -236,9 +236,9 @@ #endif /* CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS */ /* LIM API function definitions */ -int ima_get_action(struct inode *inode, const struct cred *cred, u32 secid, - int mask, enum ima_hooks func, int *pcr, - struct ima_template_desc **template_desc, +int ima_get_action(struct inode *inode, const struct cred *cred, + struct lsmblob *blob, int mask, enum ima_hooks func, + int *pcr, struct ima_template_desc **template_desc, const char *keyring); int ima_must_measure(struct inode *inode, int mask, enum ima_hooks func); int ima_collect_measurement(struct integrity_iint_cache *iint, @@ -264,8 +264,9 @@ const char *ima_d_path(const struct path *path, char **pathbuf, char *filename); /* IMA policy related functions */ -int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid, - enum ima_hooks func, int mask, int flags, int *pcr, +int ima_match_policy(struct inode *inode, 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 *keyring); void ima_init_policy(void); @@ -404,6 +405,7 @@ #ifdef CONFIG_IMA_LSM_RULES #define security_filter_rule_init security_audit_rule_init +#define security_filter_rule_free security_audit_rule_free #define security_filter_rule_match security_audit_rule_match #else @@ -414,7 +416,11 @@ return -EINVAL; } -static inline int security_filter_rule_match(u32 secid, u32 field, u32 op, +static inline void security_filter_rule_free(void *lsmrule) +{ +} + +static inline int security_filter_rule_match(strcut lsmblob *blob, u32 field, u32 op, void *lsmrule) { return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_api.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_api.c @@ -164,7 +164,7 @@ * ima_get_action - appraise & measure decision based on policy. * @inode: pointer to inode to measure * @cred: pointer to credentials structure to validate - * @secid: secid of the task being validated + * @blob: LSM data of the task being validated * @mask: contains the permission mask (MAY_READ, MAY_WRITE, MAY_EXEC, * MAY_APPEND) * @func: caller identifier @@ -183,16 +183,16 @@ * Returns IMA_MEASURE, IMA_APPRAISE mask. * */ -int ima_get_action(struct inode *inode, const struct cred *cred, u32 secid, - int mask, enum ima_hooks func, int *pcr, - struct ima_template_desc **template_desc, +int ima_get_action(struct inode *inode, const struct cred *cred, + struct lsmblob *blob, int mask, enum ima_hooks func, + int *pcr, struct ima_template_desc **template_desc, const char *keyring) { int flags = IMA_MEASURE | IMA_AUDIT | IMA_APPRAISE | IMA_HASH; flags &= ima_policy_flag; - return ima_match_policy(inode, cred, secid, func, mask, flags, pcr, + return ima_match_policy(inode, cred, blob, func, mask, flags, pcr, template_desc, keyring); } --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_appraise.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_appraise.c @@ -19,6 +19,12 @@ static int __init default_appraise_setup(char *str) { #ifdef CONFIG_IMA_APPRAISE_BOOTPARAM + if (arch_ima_get_secureboot()) { + pr_info("Secure boot enabled: ignoring ima_appraise=%s boot parameter option", + str); + return 1; + } + if (strncmp(str, "off", 3) == 0) ima_appraise = 0; else if (strncmp(str, "log", 3) == 0) @@ -48,13 +54,13 @@ */ int ima_must_appraise(struct inode *inode, int mask, enum ima_hooks func) { - u32 secid; + struct lsmblob blob; if (!ima_appraise) return 0; - security_task_getsecid(current, &secid); - return ima_match_policy(inode, current_cred(), secid, func, mask, + security_task_getsecid(current, &blob); + return ima_match_policy(inode, current_cred(), &blob, func, mask, IMA_APPRAISE | IMA_HASH, NULL, NULL, NULL); } --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_crypto.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_crypto.c @@ -537,7 +537,7 @@ loff_t i_size; int rc; struct file *f = file; - bool new_file_instance = false, modified_mode = false; + bool new_file_instance = false; /* * For consistency, fail file's opened with the O_DIRECT flag on @@ -555,18 +555,10 @@ O_TRUNC | O_CREAT | O_NOCTTY | O_EXCL); flags |= O_RDONLY; f = dentry_open(&file->f_path, flags, file->f_cred); - if (IS_ERR(f)) { - /* - * Cannot open the file again, lets modify f_mode - * of original and continue - */ - pr_info_ratelimited("Unable to reopen file for reading.\n"); - f = file; - f->f_mode |= FMODE_READ; - modified_mode = true; - } else { - new_file_instance = true; - } + if (IS_ERR(f)) + return PTR_ERR(f); + + new_file_instance = true; } i_size = i_size_read(file_inode(f)); @@ -581,8 +573,6 @@ out: if (new_file_instance) fput(f); - else if (modified_mode) - f->f_mode &= ~FMODE_READ; return rc; } @@ -829,6 +819,8 @@ /* now accumulate with current aggregate */ rc = crypto_shash_update(shash, d.digest, crypto_shash_digestsize(tfm)); + if (rc != 0) + return rc; } /* * Extend cumulative digest over TPM registers 8-9, which contain --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_fs.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_fs.c @@ -272,7 +272,7 @@ static ssize_t ima_read_policy(char *path) { - void *data; + void *data = NULL; char *datap; loff_t size; int rc, pathlen = strlen(path); @@ -285,7 +285,7 @@ rc = kernel_read_file_from_path(path, &data, &size, 0, 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; } --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_kexec.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_kexec.c @@ -119,6 +119,7 @@ ret = kexec_add_buffer(&kbuf); if (ret) { pr_err("Error passing over kexec measurement buffer.\n"); + vfree(kexec_buffer); return; } @@ -128,6 +129,8 @@ return; } + image->ima_buffer = kexec_buffer; + pr_debug("kexec measurement buffer for the loaded kernel at 0x%lx.\n", kbuf.mem); } --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_main.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_main.c @@ -188,8 +188,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; @@ -212,7 +212,7 @@ * bitmask based on the appraise/audit/measurement policy. * Included is the appraise submask. */ - action = ima_get_action(inode, cred, secid, mask, func, &pcr, + action = ima_get_action(inode, cred, blob, mask, func, &pcr, &template_desc, NULL); violation_check = ((func == FILE_CHECK || func == MMAP_CHECK) && (ima_policy_flag & IMA_MEASURE)); @@ -382,12 +382,12 @@ */ int ima_file_mmap(struct file *file, unsigned long prot) { - u32 secid; + struct lsmblob blob; if (file && (prot & PROT_EXEC)) { - security_task_getsecid(current, &secid); - return process_measurement(file, current_cred(), secid, NULL, - 0, MAY_EXEC, MMAP_CHECK); + security_task_getsecid(current, &blob); + return process_measurement(file, current_cred(), &blob, + NULL, 0, MAY_EXEC, MMAP_CHECK); } return 0; @@ -413,9 +413,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? */ @@ -423,9 +423,9 @@ !(prot & PROT_EXEC) || (vma->vm_flags & VM_EXEC)) return 0; - security_task_getsecid(current, &secid); + security_task_getsecid(current, &blob); inode = file_inode(vma->vm_file); - action = ima_get_action(inode, current_cred(), secid, MAY_EXEC, + action = ima_get_action(NULL, current_cred(), &blob, 0, MMAP_CHECK, &pcr, &template, 0); /* Is the mmap'ed file in policy? */ @@ -461,16 +461,16 @@ int ima_bprm_check(struct linux_binprm *bprm) { int ret; - u32 secid; + struct lsmblob blob; - security_task_getsecid(current, &secid); - ret = process_measurement(bprm->file, current_cred(), secid, NULL, 0, + security_task_getsecid(current, &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); } @@ -486,10 +486,10 @@ */ int ima_file_check(struct file *file, int mask) { - u32 secid; + struct lsmblob blob; - security_task_getsecid(current, &secid); - return process_measurement(file, current_cred(), secid, NULL, 0, + security_task_getsecid(current, &blob); + return process_measurement(file, current_cred(), &blob, NULL, 0, mask & (MAY_READ | MAY_WRITE | MAY_EXEC | MAY_APPEND), FILE_CHECK); } @@ -531,6 +531,16 @@ return -EOPNOTSUPP; mutex_lock(&iint->mutex); + + /* + * ima_file_hash can be called when ima_collect_measurement has still + * not been called, we might not always have a hash. + */ + if (!iint->ima_hash) { + mutex_unlock(&iint->mutex); + return -EOPNOTSUPP; + } + if (buf) { size_t copied_size; @@ -611,19 +621,17 @@ int ima_read_file(struct file *file, enum kernel_read_file_id read_id) { /* - * READING_FIRMWARE_PREALLOC_BUFFER - * * Do devices using pre-allocated memory run the risk of the * firmware being accessible to the device prior to the completion * of IMA's signature verification any more than when using two - * buffers? + * buffers? It may be desirable to include the buffer address + * in this API and walk all the dma_map_single() mappings to check. */ return 0; } const int read_idmap[READING_MAX_ID] = { [READING_FIRMWARE] = FIRMWARE_CHECK, - [READING_FIRMWARE_PREALLOC_BUFFER] = FIRMWARE_CHECK, [READING_MODULE] = MODULE_CHECK, [READING_KEXEC_IMAGE] = KEXEC_KERNEL_CHECK, [READING_KEXEC_INITRAMFS] = KEXEC_INITRAMFS_CHECK, @@ -647,7 +655,7 @@ enum kernel_read_file_id read_id) { enum ima_hooks func; - u32 secid; + struct lsmblob blob; if (!file && read_id == READING_FIRMWARE) { if ((ima_appraise & IMA_APPRAISE_FIRMWARE) && @@ -669,8 +677,8 @@ } func = read_idmap[read_id] ?: FILE_CHECK; - security_task_getsecid(current, &secid); - return process_measurement(file, current_cred(), secid, buf, size, + security_task_getsecid(current, &blob); + return process_measurement(file, current_cred(), &blob, buf, size, MAY_READ, func); } @@ -753,7 +761,7 @@ } hash = {}; int violation = 0; int action = 0; - u32 secid; + struct lsmblob blob; if (!ima_policy_flag) return; @@ -766,8 +774,8 @@ * buffer measurements. */ if (func) { - security_task_getsecid(current, &secid); - action = ima_get_action(NULL, current_cred(), secid, 0, func, + security_task_getsecid(current, &blob); + action = ima_get_action(NULL, current_cred(), &blob, 0, func, &pcr, &template, keyring); if (!(action & IMA_MEASURE)) return; --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_mok.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_mok.c @@ -38,13 +38,12 @@ (KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_VIEW | KEY_USR_READ | KEY_USR_WRITE | KEY_USR_SEARCH, - KEY_ALLOC_NOT_IN_QUOTA, + KEY_ALLOC_NOT_IN_QUOTA | + KEY_ALLOC_SET_KEEP, restriction, NULL); if (IS_ERR(ima_blacklist_keyring)) panic("Can't allocate IMA blacklist keyring."); - - set_bit(KEY_FLAG_KEEP, &ima_blacklist_keyring->flags); return 0; } device_initcall(ima_mok_init); --- linux-riscv-5.8-5.8.0.orig/security/integrity/ima/ima_policy.c +++ linux-riscv-5.8-5.8.0/security/integrity/ima/ima_policy.c @@ -73,7 +73,7 @@ bool (*fowner_op)(kuid_t, kuid_t); /* uid_eq(), uid_gt(), uid_lt() */ int pcr; struct { - void *rule; /* LSM file metadata specific */ + void *rules[LSMBLOB_ENTRIES]; /* LSM file metadata specific */ void *args_p; /* audit value */ int type; /* audit type */ } lsm[MAX_LSM_RULES]; @@ -82,6 +82,22 @@ struct ima_template_desc *template; }; +/** + * ima_lsm_isset - Is a rule set for any of the active security modules + * @rules: The set of IMA rules to check. + * + * If a rule is set for any LSM return true, otherwise return false. + */ +static inline bool ima_lsm_isset(void *rules[]) +{ + int i; + + for (i = 0; i < LSMBLOB_ENTRIES; i++) + if (rules[i]) + return true; + return false; +} + /* * Without LSM specific knowledge, the default policy can only be * written in terms of .action, .func, .mask, .fsmagic, .uid, and .fowner @@ -256,11 +272,28 @@ static void ima_lsm_free_rule(struct ima_rule_entry *entry) { int i; + int r; for (i = 0; i < MAX_LSM_RULES; i++) { - kfree(entry->lsm[i].rule); + for (r = 0; r < LSMBLOB_ENTRIES; r++) + security_filter_rule_free(entry->lsm[i].rules); kfree(entry->lsm[i].args_p); } +} + +static void ima_free_rule(struct ima_rule_entry *entry) +{ + if (!entry) + return; + + /* + * entry->template->fields may be allocated in ima_parse_rule() but that + * reference is owned by the corresponding ima_template_desc element in + * the defined_templates list and cannot be freed here + */ + kfree(entry->fsname); + kfree(entry->keyrings); + ima_lsm_free_rule(entry); kfree(entry); } @@ -293,8 +326,8 @@ security_filter_rule_init(nentry->lsm[i].type, Audit_equal, nentry->lsm[i].args_p, - &nentry->lsm[i].rule); - if (!nentry->lsm[i].rule) + &nentry->lsm[i].rules[0]); + if (!ima_lsm_isset(nentry->lsm[i].rules)) pr_warn("rule for LSM \'%s\' is undefined\n", (char *)entry->lsm[i].args_p); } @@ -302,6 +335,7 @@ out_err: ima_lsm_free_rule(nentry); + kfree(nentry); return NULL; } @@ -315,11 +349,29 @@ list_replace_rcu(&entry->list, &nentry->list); synchronize_rcu(); + /* + * ima_lsm_copy_rule() shallow copied all references, except for the + * LSM references, from entry to nentry so we only want to free the LSM + * references and the entry itself. All other memory refrences will now + * be owned by nentry. + */ ima_lsm_free_rule(entry); + kfree(entry); return 0; } +static bool ima_rule_contains_lsm_cond(struct ima_rule_entry *entry) +{ + int i; + + for (i = 0; i < MAX_LSM_RULES; i++) + if (entry->lsm[i].args_p) + return true; + + return false; +} + /* * The LSM policy can be reloaded, leaving the IMA LSM based rules referring * to the old, stale LSM policy. Update the IMA LSM based rules to reflect @@ -404,7 +456,7 @@ * @rule: a pointer to a rule * @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 lsm data of the task to be validated * @func: LIM hook identifier * @mask: requested action (MAY_READ | MAY_WRITE | MAY_APPEND | MAY_EXEC) * @keyring: keyring name to check in policy for KEY_CHECK func @@ -412,7 +464,7 @@ * Returns true on rule match, false on failure. */ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode, - const struct cred *cred, u32 secid, + const struct cred *cred, struct lsmblob *blob, enum ima_hooks func, int mask, const char *keyring) { @@ -461,9 +513,9 @@ return false; for (i = 0; i < MAX_LSM_RULES; i++) { int rc = 0; - u32 osid; + struct lsmblob lsmdata; - if (!rule->lsm[i].rule) { + if (!ima_lsm_isset(rule->lsm[i].rules)) { if (!rule->lsm[i].args_p) continue; else @@ -473,19 +525,19 @@ case LSM_OBJ_USER: case LSM_OBJ_ROLE: case LSM_OBJ_TYPE: - security_inode_getsecid(inode, &osid); - rc = security_filter_rule_match(osid, + security_inode_getsecid(inode, &lsmdata); + rc = security_filter_rule_match(&lsmdata, rule->lsm[i].type, Audit_equal, - rule->lsm[i].rule); + rule->lsm[i].rules); break; case LSM_SUBJ_USER: case LSM_SUBJ_ROLE: case LSM_SUBJ_TYPE: - rc = security_filter_rule_match(secid, + rc = security_filter_rule_match(&lsmdata, rule->lsm[i].type, Audit_equal, - rule->lsm[i].rule); + rule->lsm[i].rules); default: break; } @@ -525,7 +577,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 data 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 @@ -540,8 +592,9 @@ * list when walking it. Reads are many orders of magnitude more numerous * than writes so ima_match_policy() is classical RCU candidate. */ -int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid, - enum ima_hooks func, int mask, int flags, int *pcr, +int ima_match_policy(struct inode *inode, 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 *keyring) { @@ -557,7 +610,7 @@ if (!(entry->action & actmask)) continue; - if (!ima_match_rules(entry, inode, cred, secid, func, mask, + if (!ima_match_rules(entry, inode, cred, blob, func, mask, keyring)) continue; @@ -872,7 +925,7 @@ { int result; - if (entry->lsm[lsm_rule].rule) + if (ima_lsm_isset(entry->lsm[lsm_rule].rules)) return -EINVAL; entry->lsm[lsm_rule].args_p = match_strdup(args); @@ -883,13 +936,14 @@ result = security_filter_rule_init(entry->lsm[lsm_rule].type, Audit_equal, entry->lsm[lsm_rule].args_p, - &entry->lsm[lsm_rule].rule); - if (!entry->lsm[lsm_rule].rule) { + &entry->lsm[lsm_rule].rules[0]); + if (!ima_lsm_isset(entry->lsm[lsm_rule].rules)) { pr_warn("rule for LSM \'%s\' is undefined\n", (char *)entry->lsm[lsm_rule].args_p); if (ima_rules == &ima_default_rules) { kfree(entry->lsm[lsm_rule].args_p); + entry->lsm[lsm_rule].args_p = NULL; result = -EINVAL; } else result = 0; @@ -949,6 +1003,65 @@ #undef MSG } +static bool ima_validate_rule(struct ima_rule_entry *entry) +{ + /* Ensure that the action is set */ + if (entry->action == UNKNOWN) + return false; + + /* + * Ensure that the hook function is compatible with the other + * components of the rule + */ + switch (entry->func) { + case NONE: + case FILE_CHECK: + case MMAP_CHECK: + case BPRM_CHECK: + case CREDS_CHECK: + case POST_SETATTR: + case MODULE_CHECK: + case FIRMWARE_CHECK: + case KEXEC_KERNEL_CHECK: + case KEXEC_INITRAMFS_CHECK: + case POLICY_CHECK: + /* Validation of these hook functions is in ima_parse_rule() */ + break; + case KEXEC_CMDLINE: + if (entry->action & ~(MEASURE | DONT_MEASURE)) + return false; + + if (entry->flags & ~(IMA_FUNC | IMA_PCR)) + return false; + + if (ima_rule_contains_lsm_cond(entry)) + return false; + + break; + case KEY_CHECK: + if (entry->action & ~(MEASURE | DONT_MEASURE)) + return false; + + if (entry->flags & ~(IMA_FUNC | IMA_UID | IMA_PCR | + IMA_KEYRINGS)) + return false; + + if (ima_rule_contains_lsm_cond(entry)) + return false; + + break; + default: + return false; + } + + /* Ensure that combinations of flags are compatible with each other */ + if (entry->flags & IMA_CHECK_BLACKLIST && + !(entry->flags & IMA_MODSIG_ALLOWED)) + return false; + + return true; +} + static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) { struct audit_buffer *ab; @@ -1126,7 +1239,6 @@ keyrings_len = strlen(args[0].from) + 1; if ((entry->keyrings) || - (entry->action != MEASURE) || (entry->func != KEY_CHECK) || (keyrings_len < 2)) { result = -EINVAL; @@ -1283,9 +1395,17 @@ result = -EINVAL; break; case Opt_appraise_flag: + if (entry->action != APPRAISE) { + result = -EINVAL; + break; + } + ima_log_string(ab, "appraise_flag", args[0].from); - if (strstr(args[0].from, "blacklist")) + if (IS_ENABLED(CONFIG_IMA_APPRAISE_MODSIG) && + strstr(args[0].from, "blacklist")) entry->flags |= IMA_CHECK_BLACKLIST; + else + result = -EINVAL; break; case Opt_permit_directio: entry->flags |= IMA_PERMIT_DIRECTIO; @@ -1332,7 +1452,7 @@ break; } } - if (!result && (entry->action == UNKNOWN)) + if (!result && !ima_validate_rule(entry)) result = -EINVAL; else if (entry->action == APPRAISE) temp_ima_appraise |= ima_appraise_flag(entry->func); @@ -1381,7 +1501,7 @@ result = ima_parse_rule(p, entry); if (result) { - kfree(entry); + ima_free_rule(entry); integrity_audit_msg(AUDIT_INTEGRITY_STATUS, NULL, NULL, op, "invalid-policy", result, audit_info); @@ -1402,15 +1522,11 @@ void ima_delete_rules(void) { struct ima_rule_entry *entry, *tmp; - int i; temp_ima_appraise = 0; list_for_each_entry_safe(entry, tmp, &ima_temp_rules, list) { - for (i = 0; i < MAX_LSM_RULES; i++) - kfree(entry->lsm[i].args_p); - list_del(&entry->list); - kfree(entry); + ima_free_rule(entry); } } @@ -1585,7 +1701,7 @@ } for (i = 0; i < MAX_LSM_RULES; i++) { - if (entry->lsm[i].rule) { + if (ima_lsm_isset(entry->lsm[i].rules)) { switch (i) { case LSM_OBJ_USER: seq_printf(m, pt(Opt_obj_user), --- linux-riscv-5.8-5.8.0.orig/security/integrity/integrity_audit.c +++ linux-riscv-5.8-5.8.0/security/integrity/integrity_audit.c @@ -41,7 +41,7 @@ from_kuid(&init_user_ns, current_cred()->uid), from_kuid(&init_user_ns, audit_get_loginuid(current)), audit_get_sessionid(current)); - audit_log_task_context(ab); + audit_log_task_context(ab, NULL); audit_log_format(ab, " op=%s cause=%s comm=", op, cause); audit_log_untrustedstring(ab, get_task_comm(name, current)); if (fname) { --- linux-riscv-5.8-5.8.0.orig/security/integrity/platform_certs/load_uefi.c +++ linux-riscv-5.8-5.8.0/security/integrity/platform_certs/load_uefi.c @@ -46,7 +46,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; } @@ -57,7 +58,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; } --- linux-riscv-5.8-5.8.0.orig/security/keys/Kconfig +++ linux-riscv-5.8-5.8.0/security/keys/Kconfig @@ -119,7 +119,7 @@ bool "Provide key/keyring change notifications" depends on KEYS && WATCH_QUEUE help - This option provides support for getting change notifications on keys - and keyrings on which the caller has View permission. This makes use - of the /dev/watch_queue misc device to handle the notification - buffer and provides KEYCTL_WATCH_KEY to enable/disable watches. + This option provides support for getting change notifications + on keys and keyrings on which the caller has View permission. + This makes use of pipes to handle the notification buffer and + provides KEYCTL_WATCH_KEY to enable/disable watches. --- linux-riscv-5.8-5.8.0.orig/security/keys/key.c +++ linux-riscv-5.8-5.8.0/security/keys/key.c @@ -303,6 +303,8 @@ key->flags |= 1 << KEY_FLAG_BUILTIN; if (flags & KEY_ALLOC_UID_KEYRING) key->flags |= 1 << KEY_FLAG_UID_KEYRING; + if (flags & KEY_ALLOC_SET_KEEP) + key->flags |= 1 << KEY_FLAG_KEEP; #ifdef KEY_DEBUGGING key->magic = KEY_DEBUG_MAGIC; --- linux-riscv-5.8-5.8.0.orig/security/keys/keyctl.c +++ linux-riscv-5.8-5.8.0/security/keys/keyctl.c @@ -1693,7 +1693,7 @@ /* the replacement session keyring is applied just prior to userspace * restarting */ - ret = task_work_add(parent, newwork, true); + ret = task_work_add(parent, newwork, TWA_RESUME); if (!ret) newwork = NULL; unlock: --- linux-riscv-5.8-5.8.0.orig/security/keys/trusted-keys/trusted_tpm1.c +++ linux-riscv-5.8-5.8.0/security/keys/trusted-keys/trusted_tpm1.c @@ -403,9 +403,12 @@ int ret; ret = tpm_get_random(chip, ononce, TPM_NONCE_SIZE); - if (ret != TPM_NONCE_SIZE) + if (ret < 0) return ret; + if (ret != TPM_NONCE_SIZE) + return -EIO; + tpm_buf_reset(tb, TPM_TAG_RQU_COMMAND, TPM_ORD_OSAP); tpm_buf_append_u16(tb, type); tpm_buf_append_u32(tb, handle); @@ -496,8 +499,12 @@ goto out; ret = tpm_get_random(chip, td->nonceodd, TPM_NONCE_SIZE); + if (ret < 0) + return ret; + if (ret != TPM_NONCE_SIZE) - goto out; + return -EIO; + ordinal = htonl(TPM_ORD_SEAL); datsize = htonl(datalen); pcrsize = htonl(pcrinfosize); @@ -601,9 +608,12 @@ ordinal = htonl(TPM_ORD_UNSEAL); ret = tpm_get_random(chip, nonceodd, TPM_NONCE_SIZE); + if (ret < 0) + return ret; + if (ret != TPM_NONCE_SIZE) { pr_info("trusted_key: tpm_get_random failed (%d)\n", ret); - return ret; + return -EIO; } ret = TSS_authhmac(authdata1, keyauth, TPM_NONCE_SIZE, enonce1, nonceodd, cont, sizeof(uint32_t), @@ -791,7 +801,7 @@ case Opt_migratable: if (*args[0].from == '0') pay->migratable = 0; - else + else if (*args[0].from != '1') return -EINVAL; break; case Opt_pcrlock: @@ -1013,8 +1023,12 @@ case Opt_new: key_len = payload->key_len; ret = tpm_get_random(chip, payload->key, key_len); + if (ret < 0) + goto out; + if (ret != key_len) { pr_info("trusted_key: key_create failed (%d)\n", ret); + ret = -EIO; goto out; } if (tpm2) --- linux-riscv-5.8-5.8.0.orig/security/keys/trusted-keys/trusted_tpm2.c +++ linux-riscv-5.8-5.8.0/security/keys/trusted-keys/trusted_tpm2.c @@ -79,10 +79,16 @@ if (i == ARRAY_SIZE(tpm2_hash_map)) return -EINVAL; - rc = tpm_buf_init(&buf, TPM2_ST_SESSIONS, TPM2_CC_CREATE); + rc = tpm_try_get_ops(chip); if (rc) return rc; + rc = tpm_buf_init(&buf, TPM2_ST_SESSIONS, TPM2_CC_CREATE); + if (rc) { + tpm_put_ops(chip); + return rc; + } + tpm_buf_append_u32(&buf, options->keyhandle); tpm2_buf_append_auth(&buf, TPM2_RS_PW, NULL /* nonce */, 0, @@ -130,7 +136,7 @@ goto out; } - rc = tpm_send(chip, buf.data, tpm_buf_length(&buf)); + rc = tpm_transmit_cmd(chip, &buf, 4, "sealing data"); if (rc) goto out; @@ -157,6 +163,7 @@ rc = -EPERM; } + tpm_put_ops(chip); return rc; } @@ -211,7 +218,7 @@ goto out; } - rc = tpm_send(chip, buf.data, tpm_buf_length(&buf)); + rc = tpm_transmit_cmd(chip, &buf, 4, "loading blob"); if (!rc) *blob_handle = be32_to_cpup( (__be32 *) &buf.data[TPM_HEADER_SIZE]); @@ -260,7 +267,7 @@ options->blobauth /* hmac */, TPM_DIGEST_SIZE); - rc = tpm_send(chip, buf.data, tpm_buf_length(&buf)); + rc = tpm_transmit_cmd(chip, &buf, 6, "unsealing"); if (rc > 0) rc = -EPERM; @@ -304,12 +311,19 @@ u32 blob_handle; int rc; - rc = tpm2_load_cmd(chip, payload, options, &blob_handle); + rc = tpm_try_get_ops(chip); if (rc) return rc; + rc = tpm2_load_cmd(chip, payload, options, &blob_handle); + if (rc) + goto out; + rc = tpm2_unseal_cmd(chip, payload, options, blob_handle); tpm2_flush_context(chip, blob_handle); +out: + tpm_put_ops(chip); + return rc; } --- linux-riscv-5.8-5.8.0.orig/security/loadpin/loadpin.c +++ linux-riscv-5.8-5.8.0/security/loadpin/loadpin.c @@ -180,6 +180,11 @@ return loadpin_read_file(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), @@ -227,7 +232,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-riscv-5.8-5.8.0.orig/security/lockdown/Kconfig +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/lockdown/lockdown.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/security/lsm_audit.c +++ linux-riscv-5.8-5.8.0/security/lsm_audit.c @@ -275,7 +275,9 @@ struct inode *inode; audit_log_format(ab, " name="); + spin_lock(&a->u.dentry->d_lock); audit_log_untrustedstring(ab, a->u.dentry->d_name.name); + spin_unlock(&a->u.dentry->d_lock); inode = d_backing_inode(a->u.dentry); if (inode) { @@ -293,8 +295,9 @@ dentry = d_find_alias(inode); if (dentry) { audit_log_format(ab, " name="); - audit_log_untrustedstring(ab, - dentry->d_name.name); + spin_lock(&dentry->d_lock); + audit_log_untrustedstring(ab, dentry->d_name.name); + spin_unlock(&dentry->d_lock); dput(dentry); } audit_log_format(ab, " dev="); --- linux-riscv-5.8-5.8.0.orig/security/safesetid/lsm.c +++ linux-riscv-5.8-5.8.0/security/safesetid/lsm.c @@ -149,6 +149,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(capable, safesetid_security_capable) @@ -157,7 +162,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-riscv-5.8-5.8.0.orig/security/security.c +++ linux-riscv-5.8-5.8.0/security/security.c @@ -28,6 +28,7 @@ #include #include #include +#include #define MAX_LSM_EVM_XATTR 2 @@ -74,7 +75,14 @@ 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 "display" slot used for + * chosing which module presents contexts. + */ +static struct lsm_blob_sizes blob_sizes __lsm_ro_after_init = { + .lbs_task = sizeof(int), +}; /* Boot-time LSM user choice */ static __initdata const char *chosen_lsm_order; @@ -201,6 +209,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_task, &blob_sizes.lbs_task); } @@ -336,7 +345,9 @@ 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("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 @@ -464,21 +475,63 @@ return 0; } +/* + * Current index to use while initializing the lsmblob secid list. + * Pointers to the LSM id structures for local use. + */ +static int lsm_slot __lsm_ro_after_init; +static struct lsm_id *lsm_slotlist[LSMBLOB_ENTRIES] __lsm_ro_after_init; + +/** + * security_lsm_slot_name - Get the name of the security module in a slot + * @slot: index into the "display" slot list. + * + * Provide the name of the security module associated with + * a display 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 *security_lsm_slot_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; +} + /** * 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 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, - char *lsm) + struct lsm_id *lsmid) { int i; + 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); + } + for (i = 0; i < count; i++) { - hooks[i].lsm = lsm; + hooks[i].lsmid = lsmid; hlist_add_tail_rcu(&hooks[i].list, hooks[i].head); } @@ -487,7 +540,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__); } } @@ -601,6 +654,8 @@ */ static int lsm_task_alloc(struct task_struct *task) { + int *display; + if (blob_sizes.lbs_task == 0) { task->security = NULL; return 0; @@ -609,6 +664,15 @@ task->security = kzalloc(blob_sizes.lbs_task, GFP_KERNEL); if (task->security == NULL) return -ENOMEM; + + /* + * The start of the task blob contains the "display" LSM slot number. + * Start with it set to the invalid slot number, indicating that the + * default first registered LSM be displayed. + */ + display = task->security; + *display = LSMBLOB_INVALID; + return 0; } @@ -655,6 +719,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 * @@ -668,6 +754,57 @@ panic("%s: Early task alloc failed.\n", __func__); } +/** + * 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: @@ -725,24 +862,57 @@ { return call_int_hook(binder_set_context_mgr, 0, mgr); } +EXPORT_SYMBOL(security_binder_set_context_mgr); +/** + * security_binder_transaction - Binder driver transaction check + * @from: source of the transaction + * @to: destination of the transaction + * + * Verify that the tasks have the same LSM "display", then + * call the security module hooks. + * + * Returns -EINVAL if the displays don't match, or the + * result of the security module checks. + */ int security_binder_transaction(struct task_struct *from, struct task_struct *to) { + int from_display = lsm_task_display(from); + int to_display = lsm_task_display(to); + + /* + * If the display is LSMBLOB_INVALID the first module that has + * an entry is used. This will be in the 0 slot. + * + * This is currently only required if the server has requested + * peer contexts, but it would be unwieldly to have too much of + * the binder driver detail here. + */ + if (from_display == LSMBLOB_INVALID) + from_display = 0; + if (to_display == LSMBLOB_INVALID) + to_display = 0; + if (from_display != to_display) + return -EINVAL; + return call_int_hook(binder_transaction, 0, from, to); } +EXPORT_SYMBOL(security_binder_transaction); int security_binder_transfer_binder(struct task_struct *from, struct task_struct *to) { return call_int_hook(binder_transfer_binder, 0, from, to); } +EXPORT_SYMBOL(security_binder_transfer_binder); int security_binder_transfer_file(struct task_struct *from, struct task_struct *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) { @@ -1092,6 +1262,7 @@ return 0; return call_int_hook(path_rmdir, 0, dir, dentry); } +EXPORT_SYMBOL_GPL(security_path_rmdir); int security_path_unlink(const struct path *dir, struct dentry *dentry) { @@ -1108,6 +1279,7 @@ return 0; return call_int_hook(path_symlink, 0, dir, dentry, old_name); } +EXPORT_SYMBOL_GPL(security_path_symlink); int security_path_link(struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry) @@ -1116,6 +1288,7 @@ return 0; return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry); } +EXPORT_SYMBOL_GPL(security_path_link); int security_path_rename(const struct path *old_dir, struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry, @@ -1143,6 +1316,7 @@ return 0; return call_int_hook(path_truncate, 0, path); } +EXPORT_SYMBOL_GPL(security_path_truncate); int security_path_chmod(const struct path *path, umode_t mode) { @@ -1150,6 +1324,7 @@ return 0; return call_int_hook(path_chmod, 0, path, mode); } +EXPORT_SYMBOL_GPL(security_path_chmod); int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) { @@ -1157,6 +1332,7 @@ return 0; return call_int_hook(path_chown, 0, path, uid, gid); } +EXPORT_SYMBOL_GPL(security_path_chown); int security_path_chroot(const struct path *path) { @@ -1257,6 +1433,7 @@ return 0; return call_int_hook(inode_permission, 0, inode, mask); } +EXPORT_SYMBOL_GPL(security_inode_permission); int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { @@ -1401,9 +1578,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) @@ -1449,6 +1633,7 @@ return fsnotify_perm(file, mask); } +EXPORT_SYMBOL_GPL(security_file_permission); int security_file_alloc(struct file *file) { @@ -1580,14 +1765,26 @@ int security_task_alloc(struct task_struct *task, unsigned long clone_flags) { + int *odisplay = current->security; + int *ndisplay; 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 (odisplay) { + ndisplay = task->security; + if (ndisplay) + *ndisplay = *odisplay; + } + + return 0; } void security_task_free(struct task_struct *task) @@ -1644,16 +1841,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) @@ -1732,10 +1945,16 @@ return call_int_hook(task_getsid, 0, p); } -void security_task_getsecid(struct task_struct *p, u32 *secid) +void security_task_getsecid(struct task_struct *p, struct lsmblob *blob) { - *secid = 0; - call_void_hook(task_getsecid, p, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.task_getsecid, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.task_getsecid(p, &blob->secid[hp->lsmid->slot]); + } } EXPORT_SYMBOL(security_task_getsecid); @@ -1815,10 +2034,16 @@ 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) @@ -1962,22 +2187,137 @@ char **value) { struct security_hook_list *hp; + char *final = NULL; + char *cp; + int rc = 0; + int finallen = 0; + int display = lsm_task_display(current); + int slot = 0; + + if (!strcmp(name, "display")) { + /* + * lsm_slot will be 0 if there are no displaying modules. + */ + if (lsm_slot == 0) + return -EINVAL; + + /* + * Only allow getting the current process' display. + * There are too few reasons to get another process' + * display and too many LSM policy issues. + */ + if (current != p) + return -EINVAL; + + display = lsm_task_display(p); + if (display != LSMBLOB_INVALID) + slot = display; + *value = kstrdup(lsm_slotlist[slot]->lsm, 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 && display != LSMBLOB_INVALID && + display != 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; + char *termed; + char *copy; + int *display = current->security; + int rc = -EINVAL; + int slot = 0; + + if (!strcmp(name, "display")) { + /* + * Change the "display" 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 != -EINVAL) + 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++) + if (!strcmp(termed, lsm_slotlist[slot]->lsm)) { + *display = lsm_slotlist[slot]->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 && *display != LSMBLOB_INVALID && + *display != hp->lsmid->slot) continue; return hp->hook.setprocattr(name, value, size); } @@ -1995,35 +2335,76 @@ } EXPORT_SYMBOL(security_ismaclabel); -int security_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) +int security_secid_to_secctx(struct lsmblob *blob, struct lsmcontext *cp, + int display) { struct security_hook_list *hp; - int rc; + + memset(cp, 0, sizeof(*cp)); /* - * Currently, only one LSM can implement secid_to_secctx (i.e this - * LSM hook is not "stackable"). + * display either is the slot number use for formatting + * or an instruction on which relative slot to use. */ + if (display == LSMBLOB_DISPLAY) + display = lsm_task_display(current); + else if (display == LSMBLOB_FIRST) + display = LSMBLOB_INVALID; + else if (display < 0) { + WARN_ONCE(true, + "LSM: %s unknown display\n", __func__); + display = LSMBLOB_INVALID; + } else if (display >= lsm_slot) { + WARN_ONCE(true, + "LSM: %s invalid display\n", __func__); + display = 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 (display == LSMBLOB_INVALID || display == hp->lsmid->slot) { + 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 display = lsm_task_display(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 (display == LSMBLOB_INVALID || display == hp->lsmid->slot) + return hp->hook.secctx_to_secid(secdata, seclen, + &blob->secid[hp->lsmid->slot]); + } + return -EOPNOTSUPP; } 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); @@ -2045,9 +2426,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); @@ -2164,25 +2554,53 @@ 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 display = lsm_task_display(current); + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.socket_getpeersec_stream, + list) + if (display == LSMBLOB_INVALID || display == 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, + struct lsmblob *blob) { - return call_int_hook(socket_getpeersec_dgram, -ENOPROTOOPT, sock, - skb, secid); + struct security_hook_list *hp; + int rc = -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, + &blob->secid[hp->lsmid->slot]); + if (rc != 0) + 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) @@ -2229,9 +2647,21 @@ } EXPORT_SYMBOL(security_inet_conn_established); -int security_secmark_relabel_packet(u32 secid) +int security_secmark_relabel_packet(struct lsmblob *blob) { - return call_int_hook(secmark_relabel_packet, 0, secid); + struct security_hook_list *hp; + int rc = 0; + + hlist_for_each_entry(hp, &security_hook_heads.secmark_relabel_packet, + list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + rc = hp->hook.secmark_relabel_packet( + blob->secid[hp->lsmid->slot]); + if (rc != 0) + break; + } + return rc; } EXPORT_SYMBOL(security_secmark_relabel_packet); @@ -2460,7 +2890,18 @@ int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule) { - return call_int_hook(audit_rule_init, 0, field, op, rulestr, lsmrule); + struct security_hook_list *hp; + int display = lsm_task_display(current); + + 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; + if (display != LSMBLOB_INVALID && display != hp->lsmid->slot) + continue; + return hp->hook.audit_rule_init(field, op, rulestr, + &lsmrule[hp->lsmid->slot]); + } + return 0; } int security_audit_rule_known(struct audit_krule *krule) @@ -2468,14 +2909,39 @@ return call_int_hook(audit_rule_known, 0, krule); } -void security_audit_rule_free(void *lsmrule) +void security_audit_rule_free(void **lsmrule) { - 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 (lsmrule[hp->lsmid->slot] == NULL) + continue; + hp->hook.audit_rule_free(lsmrule[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, + void **lsmrule) { - 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 (lsmrule[hp->lsmid->slot] == NULL) + continue; + if (lsmrule[hp->lsmid->slot] == NULL) + continue; + rc = hp->hook.audit_rule_match(blob->secid[hp->lsmid->slot], + field, op, + &lsmrule[hp->lsmid->slot]); + if (rc) + return rc; + } + return 0; } #endif /* CONFIG_AUDIT */ @@ -2516,6 +2982,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) { --- linux-riscv-5.8-5.8.0.orig/security/selinux/hooks.c +++ linux-riscv-5.8-5.8.0/security/selinux/hooks.c @@ -1450,7 +1450,7 @@ * inode_doinit with a dentry, before these inodes could * be used again by userspace. */ - goto out; + goto out_invalid; } rc = inode_doinit_use_xattr(inode, dentry, sbsec->def_sid, @@ -1507,7 +1507,7 @@ * could be used again by userspace. */ if (!dentry) - goto out; + goto out_invalid; rc = selinux_genfs_get_sid(dentry, sclass, sbsec->flags, &sid); if (rc) { @@ -1532,11 +1532,10 @@ out: spin_lock(&isec->lock); if (isec->initialized == LABEL_PENDING) { - if (!sid || rc) { + if (rc) { isec->initialized = LABEL_INVALID; goto out_unlock; } - isec->initialized = LABEL_INITIALIZED; isec->sid = sid; } @@ -1544,6 +1543,15 @@ out_unlock: spin_unlock(&isec->lock); return rc; + +out_invalid: + spin_lock(&isec->lock); + if (isec->initialized == LABEL_PENDING) { + isec->initialized = LABEL_INVALID; + isec->sid = sid; + } + spin_unlock(&isec->lock); + return 0; } /* Convert a Linux signal to an access vector. */ @@ -2237,7 +2245,7 @@ const struct task_security_struct *new_tsec) { int nnp = (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS); - int nosuid = !mnt_may_suid(bprm->file->f_path.mnt); + int nosuid = path_nosuid(&bprm->file->f_path); int rc; u32 av; @@ -3397,6 +3405,10 @@ static int selinux_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size) { const int len = sizeof(XATTR_NAME_SELINUX); + + if (!selinux_initialized(&selinux_state)) + return 0; + if (buffer && len <= buffer_size) memcpy(buffer, XATTR_NAME_SELINUX, len); return len; @@ -4472,7 +4484,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,}; @@ -4529,7 +4541,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 */ @@ -4545,8 +4557,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; @@ -4561,7 +4573,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; @@ -4696,7 +4708,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); @@ -4875,9 +4887,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; @@ -4909,8 +4921,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,}; @@ -4952,7 +4964,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,}; @@ -4985,7 +4997,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; @@ -5053,13 +5065,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 || @@ -5119,34 +5133,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; @@ -5160,7 +5167,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; } @@ -5170,7 +5177,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) @@ -5185,7 +5192,7 @@ static int selinux_sctp_assoc_request(struct sctp_endpoint *ep, struct sk_buff *skb) { - struct sk_security_struct *sksec = ep->base.sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(ep->base.sk); struct common_audit_data ad; struct lsm_network_audit net = {0,}; u8 peerlbl_active; @@ -5336,8 +5343,8 @@ static void selinux_sctp_sk_clone(struct sctp_endpoint *ep, 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. @@ -5354,7 +5361,7 @@ static int selinux_inet_conn_request(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; @@ -5375,7 +5382,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; @@ -5392,7 +5399,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)) @@ -5476,7 +5483,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 @@ -5620,7 +5627,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; @@ -5659,7 +5666,7 @@ if (sk == NULL) return NF_ACCEPT; - sksec = sk->sk_security; + sksec = selinux_sock(sk); ad.type = LSM_AUDIT_DATA_NET; ad.u.net = &net; @@ -5751,7 +5758,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 @@ -5780,7 +5787,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; } @@ -5845,7 +5852,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; @@ -6293,7 +6300,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; @@ -6335,6 +6342,17 @@ /* * Basic control over ability to set these attributes at all. */ + + /* + * For setting display, we only perform a permission check; + * the actual update to the display value is handled by the + * LSM framework. + */ + if (!strcmp(name, "display")) + return avc_has_perm(&selinux_state, + mysid, mysid, SECCLASS_PROCESS2, + PROCESS2__SETDISPLAY, NULL); + if (!strcmp(name, "exec")) error = avc_has_perm(&selinux_state, mysid, mysid, SECCLASS_PROCESS, @@ -6870,6 +6888,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), }; #ifdef CONFIG_PERF_EVENTS @@ -6933,6 +6952,11 @@ } #endif +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, @@ -7244,7 +7268,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-riscv-5.8-5.8.0.orig/security/selinux/ibpkey.c +++ linux-riscv-5.8-5.8.0/security/selinux/ibpkey.c @@ -151,8 +151,10 @@ * is valid, it just won't be added to the cache. */ new = kzalloc(sizeof(*new), GFP_ATOMIC); - if (!new) + if (!new) { + ret = -ENOMEM; goto out; + } new->psec.subnet_prefix = subnet_prefix; new->psec.pkey = pkey_num; --- linux-riscv-5.8-5.8.0.orig/security/selinux/include/classmap.h +++ linux-riscv-5.8-5.8.0/security/selinux/include/classmap.h @@ -52,7 +52,7 @@ "execmem", "execstack", "execheap", "setkeycreate", "setsockcreate", "getrlimit", NULL } }, { "process2", - { "nnp_transition", "nosuid_transition", NULL } }, + { "nnp_transition", "nosuid_transition", "setdisplay", NULL } }, { "system", { "ipc_info", "syslog_read", "syslog_mod", "syslog_console", "module_request", "module_load", NULL } }, --- linux-riscv-5.8-5.8.0.orig/security/selinux/include/objsec.h +++ linux-riscv-5.8-5.8.0/security/selinux/include/objsec.h @@ -189,4 +189,9 @@ return tsec->sid; } +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-riscv-5.8-5.8.0.orig/security/selinux/include/security.h +++ linux-riscv-5.8-5.8.0/security/selinux/include/security.h @@ -71,6 +71,7 @@ struct netlbl_lsm_secattr; extern int selinux_enabled_boot; +extern struct lsm_id selinux_lsmid; /* Policy capabilities */ enum { @@ -177,49 +178,49 @@ { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_NETPEER]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_NETPEER]); } static inline bool selinux_policycap_openperm(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_OPENPERM]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_OPENPERM]); } static inline bool selinux_policycap_extsockclass(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_EXTSOCKCLASS]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_EXTSOCKCLASS]); } static inline bool selinux_policycap_alwaysnetwork(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_ALWAYSNETWORK]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_ALWAYSNETWORK]); } static inline bool selinux_policycap_cgroupseclabel(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_CGROUPSECLABEL]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_CGROUPSECLABEL]); } static inline bool selinux_policycap_nnp_nosuid_transition(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION]); } static inline bool selinux_policycap_genfs_seclabel_symlinks(void) { struct selinux_state *state = &selinux_state; - return state->policycap[POLICYDB_CAPABILITY_GENFS_SECLABEL_SYMLINKS]; + return READ_ONCE(state->policycap[POLICYDB_CAPABILITY_GENFS_SECLABEL_SYMLINKS]); } int security_mls_enabled(struct selinux_state *state); --- linux-riscv-5.8-5.8.0.orig/security/selinux/netlabel.c +++ linux-riscv-5.8-5.8.0/security/selinux/netlabel.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -67,7 +68,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) @@ -100,14 +101,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; @@ -235,7 +236,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; @@ -273,7 +274,7 @@ { int rc; struct netlbl_lsm_secattr secattr; - struct sk_security_struct *sksec = ep->base.sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(ep->base.sk); struct sockaddr_in addr4; struct sockaddr_in6 addr6; @@ -352,7 +353,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; @@ -370,8 +371,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; } @@ -389,7 +390,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) @@ -504,7 +505,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) && @@ -542,7 +543,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 @@ -581,7 +582,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-riscv-5.8-5.8.0.orig/security/selinux/ss/avtab.c +++ linux-riscv-5.8-5.8.0/security/selinux/ss/avtab.c @@ -109,7 +109,7 @@ struct avtab_node *prev, *cur, *newnode; u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); - if (!h) + if (!h || !h->nslot) return -EINVAL; hvalue = avtab_hash(key, h->mask); @@ -154,7 +154,7 @@ struct avtab_node *prev, *cur; u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); - if (!h) + if (!h || !h->nslot) return NULL; hvalue = avtab_hash(key, h->mask); for (prev = NULL, cur = h->htable[hvalue]; @@ -184,7 +184,7 @@ struct avtab_node *cur; u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); - if (!h) + if (!h || !h->nslot) return NULL; hvalue = avtab_hash(key, h->mask); @@ -220,7 +220,7 @@ struct avtab_node *cur; u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); - if (!h) + if (!h || !h->nslot) return NULL; hvalue = avtab_hash(key, h->mask); @@ -295,6 +295,7 @@ } kvfree(h->htable); h->htable = NULL; + h->nel = 0; h->nslot = 0; h->mask = 0; } @@ -304,14 +305,15 @@ kvfree(h->htable); h->htable = NULL; h->nel = 0; + h->nslot = 0; + h->mask = 0; } int avtab_alloc(struct avtab *h, u32 nrules) { - u32 mask = 0; u32 shift = 0; u32 work = nrules; - u32 nslot = 0; + u32 nslot; if (nrules == 0) goto avtab_alloc_out; @@ -325,16 +327,15 @@ nslot = 1 << shift; if (nslot > MAX_AVTAB_HASH_BUCKETS) nslot = MAX_AVTAB_HASH_BUCKETS; - mask = nslot - 1; h->htable = kvcalloc(nslot, sizeof(void *), GFP_KERNEL); if (!h->htable) return -ENOMEM; - avtab_alloc_out: - h->nel = 0; h->nslot = nslot; - h->mask = mask; + h->mask = nslot - 1; + +avtab_alloc_out: pr_debug("SELinux: %d avtab hash slots, %d rules.\n", h->nslot, nrules); return 0; --- linux-riscv-5.8-5.8.0.orig/security/selinux/ss/services.c +++ linux-riscv-5.8-5.8.0/security/selinux/ss/services.c @@ -2103,7 +2103,8 @@ struct ebitmap_node *node; for (i = 0; i < ARRAY_SIZE(state->policycap); i++) - state->policycap[i] = ebitmap_get_bit(&p->policycaps, i); + WRITE_ONCE(state->policycap[i], + ebitmap_get_bit(&p->policycaps, i)); for (i = 0; i < ARRAY_SIZE(selinux_policycap_names); i++) pr_info("SELinux: policy capability %s=%d\n", @@ -3637,7 +3638,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); @@ -3710,7 +3711,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); --- linux-riscv-5.8-5.8.0.orig/security/smack/smack.h +++ linux-riscv-5.8-5.8.0/security/smack/smack.h @@ -310,6 +310,7 @@ * Shared data. */ extern int smack_enabled; +extern struct lsm_id smack_lsmid; extern int smack_cipso_direct; extern int smack_cipso_mapped; extern struct smack_known *smack_net_ambient; @@ -364,6 +365,11 @@ return ipc->security + smack_blob_sizes.lbs_ipc; } +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-riscv-5.8-5.8.0.orig/security/smack/smack_access.c +++ linux-riscv-5.8-5.8.0/security/smack/smack_access.c @@ -669,9 +669,10 @@ bool smack_privileged(int cap) { /* - * All kernel tasks are privileged + * Kernel threads may not have credentials we can use. + * The io_uring kernel threads do have reliable credentials. */ - if (unlikely(current->flags & PF_KTHREAD)) + if ((current->flags & (PF_KTHREAD | PF_IO_WORKER)) == PF_KTHREAD) return true; return smack_privileged_cred(cap, current_cred()); --- linux-riscv-5.8-5.8.0.orig/security/smack/smack_lsm.c +++ linux-riscv-5.8-5.8.0/security/smack/smack_lsm.c @@ -1444,7 +1444,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; @@ -1826,7 +1826,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 @@ -2233,11 +2233,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. @@ -2251,11 +2247,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 @@ -2264,7 +2259,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) { @@ -2277,9 +2271,8 @@ } rcu_read_unlock(); } -#endif - kfree(sk->sk_security); } +#endif /** * smack_ipv4host_label - check host based restrictions @@ -2395,7 +2388,7 @@ static int smack_netlabel(struct sock *sk, int labeled) { struct smack_known *skp; - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); int rc = 0; /* @@ -2440,7 +2433,7 @@ int rc; int sk_lbl; 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(); @@ -2514,7 +2507,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; @@ -2603,7 +2596,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; @@ -2696,7 +2689,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; @@ -2744,7 +2737,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; } @@ -2769,8 +2762,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; @@ -2833,7 +2826,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); @@ -3470,7 +3463,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); @@ -3501,6 +3494,13 @@ struct smack_known_list_elem *sklep; int rc; + /* + * Allow the /proc/.../attr/current and SO_PEERSEC "display" + * to be reset at will. + */ + if (strcmp(name, "display") == 0) + return 0; + if (!smack_privileged(CAP_MAC_ADMIN) && list_empty(&tsp->smk_relabel)) return -EPERM; @@ -3561,9 +3561,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 @@ -3609,8 +3609,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; @@ -3647,7 +3647,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; @@ -3751,7 +3751,8 @@ /* * 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]); /* * Without guidance regarding the smack value * for the packet fall back on the network @@ -3820,7 +3821,7 @@ static int smack_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) { struct netlbl_lsm_secattr secattr; - 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; @@ -3941,7 +3942,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; @@ -3991,7 +3992,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: @@ -4004,7 +4005,7 @@ * Translate what netlabel gave us. */ if (sock != NULL && sock->sk != NULL) - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); netlbl_secattr_init(&secattr); rc = netlbl_skbuff_getattr(skb, family, &secattr); if (rc == 0) { @@ -4042,7 +4043,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() */ @@ -4062,7 +4063,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 netlbl_lsm_secattr secattr; struct sockaddr_in addr; struct iphdr *hdr; @@ -4161,7 +4162,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) { @@ -4653,6 +4654,12 @@ .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), +}; + +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 = { @@ -4762,7 +4769,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), @@ -4852,7 +4861,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-riscv-5.8-5.8.0.orig/security/smack/smack_netfilter.c +++ linux-riscv-5.8-5.8.0/security/smack/smack_netfilter.c @@ -28,8 +28,8 @@ struct socket_smack *ssp; struct smack_known *skp; - if (sk && sk->sk_security) { - ssp = sk->sk_security; + if (sk && smack_sock(sk)) { + ssp = smack_sock(sk); skp = ssp->smk_out; skb->secmark = skp->smk_secid; } @@ -46,8 +46,8 @@ struct socket_smack *ssp; struct smack_known *skp; - if (sk && sk->sk_security) { - ssp = sk->sk_security; + if (sk && smack_sock(sk)) { + ssp = smack_sock(sk); skp = ssp->smk_out; skb->secmark = skp->smk_secid; } --- linux-riscv-5.8-5.8.0.orig/security/smack/smackfs.c +++ linux-riscv-5.8-5.8.0/security/smack/smackfs.c @@ -185,7 +185,8 @@ nap->loginuid = audit_get_loginuid(current); nap->sessionid = audit_get_sessionid(current); - nap->secid = skp->smk_secid; + lsmblob_init(&nap->lsmdata, 0); + nap->lsmdata.secid[smack_lsmid.slot] = skp->smk_secid; } /* @@ -884,7 +885,7 @@ } ret = sscanf(rule, "%d", &maplevel); - if (ret != 1 || maplevel > SMACK_CIPSO_MAXLEVEL) + if (ret != 1 || maplevel < 0 || maplevel > SMACK_CIPSO_MAXLEVEL) goto out; rule += SMK_DIGITLEN; @@ -905,6 +906,10 @@ for (i = 0; i < catlen; i++) { rule += SMK_DIGITLEN; + if (rule > data + count) { + rc = -EOVERFLOW; + goto out; + } ret = sscanf(rule, "%u", &cat); if (ret != 1 || cat > SMACK_CIPSO_MAXCATNUM) goto out; @@ -1132,6 +1137,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; @@ -1159,7 +1165,7 @@ return -EPERM; if (*ppos != 0) return -EINVAL; - if (count < SMK_NETLBLADDRMIN) + if (count < SMK_NETLBLADDRMIN || count > PAGE_SIZE - 1) return -EINVAL; data = memdup_user_nul(buf, count); @@ -1263,10 +1269,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; @@ -1419,7 +1428,7 @@ return -EPERM; if (*ppos != 0) return -EINVAL; - if (count < SMK_NETLBLADDRMIN) + if (count < SMK_NETLBLADDRMIN || count > PAGE_SIZE - 1) return -EINVAL; data = memdup_user_nul(buf, count); @@ -1826,6 +1835,10 @@ if (!smack_privileged(CAP_MAC_ADMIN)) return -EPERM; + /* Enough data must be present */ + if (count == 0 || count > PAGE_SIZE) + return -EINVAL; + data = memdup_user_nul(buf, count); if (IS_ERR(data)) return PTR_ERR(data); @@ -1997,6 +2010,9 @@ if (!smack_privileged(CAP_MAC_ADMIN)) return -EPERM; + if (count > PAGE_SIZE) + return -EINVAL; + data = memdup_user_nul(buf, count); if (IS_ERR(data)) return PTR_ERR(data); @@ -2084,6 +2100,9 @@ if (!smack_privileged(CAP_MAC_ADMIN)) return -EPERM; + if (count > PAGE_SIZE) + return -EINVAL; + data = memdup_user_nul(buf, count); if (IS_ERR(data)) return PTR_ERR(data); @@ -2639,6 +2658,10 @@ if (!smack_privileged(CAP_MAC_ADMIN)) return -EPERM; + /* Enough data must be present */ + if (count == 0 || count > PAGE_SIZE) + return -EINVAL; + data = memdup_user_nul(buf, count); if (IS_ERR(data)) return PTR_ERR(data); @@ -2720,7 +2743,6 @@ static ssize_t smk_write_relabel_self(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { - struct task_smack *tsp = smack_cred(current_cred()); char *data; int rc; LIST_HEAD(list_tmp); @@ -2732,10 +2754,13 @@ return -EPERM; /* + * No partial write. * Enough data must be present. */ if (*ppos != 0) return -EINVAL; + if (count == 0 || count > PAGE_SIZE) + return -EINVAL; data = memdup_user_nul(buf, count); if (IS_ERR(data)) @@ -2745,11 +2770,21 @@ kfree(data); if (!rc || (rc == -EINVAL && list_empty(&list_tmp))) { + struct cred *new; + struct task_smack *tsp; + + new = prepare_creds(); + if (!new) { + rc = -ENOMEM; + goto out; + } + tsp = smack_cred(new); smk_destroy_label_list(&tsp->smk_relabel); list_splice(&list_tmp, &tsp->smk_relabel); + commit_creds(new); return count; } - +out: smk_destroy_label_list(&list_tmp); return rc; } --- linux-riscv-5.8-5.8.0.orig/security/tomoyo/file.c +++ linux-riscv-5.8-5.8.0/security/tomoyo/file.c @@ -362,14 +362,14 @@ { u16 * const a_perm = &container_of(a, struct tomoyo_path_acl, head) ->perm; - u16 perm = *a_perm; + u16 perm = READ_ONCE(*a_perm); const u16 b_perm = container_of(b, struct tomoyo_path_acl, head)->perm; if (is_delete) perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } @@ -437,7 +437,7 @@ { u8 *const a_perm = &container_of(a, struct tomoyo_mkdev_acl, head)->perm; - u8 perm = *a_perm; + u8 perm = READ_ONCE(*a_perm); const u8 b_perm = container_of(b, struct tomoyo_mkdev_acl, head) ->perm; @@ -445,7 +445,7 @@ perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } @@ -517,14 +517,14 @@ { u8 * const a_perm = &container_of(a, struct tomoyo_path2_acl, head) ->perm; - u8 perm = *a_perm; + u8 perm = READ_ONCE(*a_perm); const u8 b_perm = container_of(b, struct tomoyo_path2_acl, head)->perm; if (is_delete) perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } @@ -655,7 +655,7 @@ { u8 * const a_perm = &container_of(a, struct tomoyo_path_number_acl, head)->perm; - u8 perm = *a_perm; + u8 perm = READ_ONCE(*a_perm); const u8 b_perm = container_of(b, struct tomoyo_path_number_acl, head) ->perm; @@ -663,7 +663,7 @@ perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } --- linux-riscv-5.8-5.8.0.orig/security/tomoyo/network.c +++ linux-riscv-5.8-5.8.0/security/tomoyo/network.c @@ -233,14 +233,14 @@ { u8 * const a_perm = &container_of(a, struct tomoyo_inet_acl, head)->perm; - u8 perm = *a_perm; + u8 perm = READ_ONCE(*a_perm); const u8 b_perm = container_of(b, struct tomoyo_inet_acl, head)->perm; if (is_delete) perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } @@ -259,14 +259,14 @@ { u8 * const a_perm = &container_of(a, struct tomoyo_unix_acl, head)->perm; - u8 perm = *a_perm; + u8 perm = READ_ONCE(*a_perm); const u8 b_perm = container_of(b, struct tomoyo_unix_acl, head)->perm; if (is_delete) perm &= ~b_perm; else perm |= b_perm; - *a_perm = perm; + WRITE_ONCE(*a_perm, perm); return !perm; } @@ -613,7 +613,7 @@ static bool tomoyo_kernel_service(void) { /* Nothing to do if I am a kernel service. */ - return uaccess_kernel(); + return (current->flags & (PF_KTHREAD | PF_IO_WORKER)) == PF_KTHREAD; } /** --- linux-riscv-5.8-5.8.0.orig/security/tomoyo/tomoyo.c +++ linux-riscv-5.8-5.8.0/security/tomoyo/tomoyo.c @@ -523,6 +523,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. @@ -575,7 +580,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-riscv-5.8-5.8.0.orig/security/tomoyo/util.c +++ linux-riscv-5.8-5.8.0/security/tomoyo/util.c @@ -1036,30 +1036,30 @@ if (ptr->is_deleted) continue; + /* + * Reading perm bitmap might race with tomoyo_merge_*() because + * caller does not hold tomoyo_policy_lock mutex. But exceeding + * max_learning_entry parameter by a few entries does not harm. + */ switch (ptr->type) { case TOMOYO_TYPE_PATH_ACL: - perm = container_of(ptr, struct tomoyo_path_acl, head) - ->perm; + data_race(perm = container_of(ptr, struct tomoyo_path_acl, head)->perm); break; case TOMOYO_TYPE_PATH2_ACL: - perm = container_of(ptr, struct tomoyo_path2_acl, head) - ->perm; + data_race(perm = container_of(ptr, struct tomoyo_path2_acl, head)->perm); break; case TOMOYO_TYPE_PATH_NUMBER_ACL: - perm = container_of(ptr, struct tomoyo_path_number_acl, - head)->perm; + data_race(perm = container_of(ptr, struct tomoyo_path_number_acl, head) + ->perm); break; case TOMOYO_TYPE_MKDEV_ACL: - perm = container_of(ptr, struct tomoyo_mkdev_acl, - head)->perm; + data_race(perm = container_of(ptr, struct tomoyo_mkdev_acl, head)->perm); break; case TOMOYO_TYPE_INET_ACL: - perm = container_of(ptr, struct tomoyo_inet_acl, - head)->perm; + data_race(perm = container_of(ptr, struct tomoyo_inet_acl, head)->perm); break; case TOMOYO_TYPE_UNIX_ACL: - perm = container_of(ptr, struct tomoyo_unix_acl, - head)->perm; + data_race(perm = container_of(ptr, struct tomoyo_unix_acl, head)->perm); break; case TOMOYO_TYPE_MANUAL_TASK_ACL: perm = 0; --- linux-riscv-5.8-5.8.0.orig/security/yama/yama_lsm.c +++ linux-riscv-5.8-5.8.0/security/yama/yama_lsm.c @@ -99,7 +99,7 @@ info->access = access; info->target = target; info->agent = agent; - if (task_work_add(current, &info->work, true) == 0) + if (task_work_add(current, &info->work, TWA_RESUME) == 0) return; /* success */ WARN(1, "report_access called from exiting task"); @@ -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-riscv-5.8-5.8.0.orig/snapcraft.yaml +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/sound/core/control.c +++ linux-riscv-5.8-5.8.0/sound/core/control.c @@ -1527,7 +1527,7 @@ unlock: up_write(&card->controls_rwsem); - return 0; + return err; } static int snd_ctl_elem_add_user(struct snd_ctl_file *file, --- linux-riscv-5.8-5.8.0.orig/sound/core/init.c +++ linux-riscv-5.8-5.8.0/sound/core/init.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -415,6 +416,9 @@ /* notify all devices that we are disconnected */ snd_device_disconnect_all(card); + if (card->sync_irq > 0) + synchronize_irq(card->sync_irq); + snd_info_card_disconnect(card); if (card->registered) { device_del(&card->card_dev); --- linux-riscv-5.8-5.8.0.orig/sound/core/memalloc.c +++ linux-riscv-5.8-5.8.0/sound/core/memalloc.c @@ -77,7 +77,8 @@ /* Assign the pool into private_data field */ dmab->private_data = pool; - dmab->area = gen_pool_dma_alloc(pool, size, &dmab->addr); + dmab->area = gen_pool_dma_alloc_align(pool, size, &dmab->addr, + PAGE_SIZE); } /** --- linux-riscv-5.8-5.8.0.orig/sound/core/oss/mulaw.c +++ linux-riscv-5.8-5.8.0/sound/core/oss/mulaw.c @@ -329,8 +329,8 @@ snd_BUG(); return -EINVAL; } - if (snd_BUG_ON(!snd_pcm_format_linear(format->format))) - return -ENXIO; + if (!snd_pcm_format_linear(format->format)) + return -EINVAL; err = snd_pcm_plugin_build(plug, "Mu-Law<->linear conversion", src_format, dst_format, --- linux-riscv-5.8-5.8.0.orig/sound/core/oss/pcm_oss.c +++ linux-riscv-5.8-5.8.0/sound/core/oss/pcm_oss.c @@ -693,6 +693,8 @@ oss_buffer_size = snd_pcm_plug_client_size(substream, snd_pcm_hw_param_value_max(slave_params, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, NULL)) * oss_frame_size; + if (!oss_buffer_size) + return -EINVAL; oss_buffer_size = rounddown_pow_of_two(oss_buffer_size); if (atomic_read(&substream->mmap_count)) { if (oss_buffer_size > runtime->oss.mmap_bytes) @@ -728,17 +730,21 @@ min_period_size = snd_pcm_plug_client_size(substream, snd_pcm_hw_param_value_min(slave_params, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, NULL)); - min_period_size *= oss_frame_size; - min_period_size = roundup_pow_of_two(min_period_size); - if (oss_period_size < min_period_size) - oss_period_size = min_period_size; + if (min_period_size) { + min_period_size *= oss_frame_size; + min_period_size = roundup_pow_of_two(min_period_size); + if (oss_period_size < min_period_size) + oss_period_size = min_period_size; + } max_period_size = snd_pcm_plug_client_size(substream, snd_pcm_hw_param_value_max(slave_params, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, NULL)); - max_period_size *= oss_frame_size; - max_period_size = rounddown_pow_of_two(max_period_size); - if (oss_period_size > max_period_size) - oss_period_size = max_period_size; + if (max_period_size) { + max_period_size *= oss_frame_size; + max_period_size = rounddown_pow_of_two(max_period_size); + if (oss_period_size > max_period_size) + oss_period_size = max_period_size; + } oss_periods = oss_buffer_size / oss_period_size; @@ -1935,11 +1941,15 @@ static int snd_pcm_oss_set_fragment1(struct snd_pcm_substream *substream, unsigned int val) { struct snd_pcm_runtime *runtime; + int fragshift; runtime = substream->runtime; if (runtime->oss.subdivision || runtime->oss.fragshift) return -EINVAL; - runtime->oss.fragshift = val & 0xffff; + fragshift = val & 0xffff; + if (fragshift >= 31) + return -EINVAL; + runtime->oss.fragshift = fragshift; runtime->oss.maxfrags = (val >> 16) & 0xffff; if (runtime->oss.fragshift < 4) /* < 16 */ runtime->oss.fragshift = 4; --- linux-riscv-5.8-5.8.0.orig/sound/core/pcm.c +++ linux-riscv-5.8-5.8.0/sound/core/pcm.c @@ -1109,6 +1109,10 @@ } } + for (cidx = 0; cidx < 2; cidx++) + for (substream = pcm->streams[cidx].substream; substream; substream = substream->next) + snd_pcm_sync_stop(substream, false); + pcm_call_notify(pcm, n_disconnect); for (cidx = 0; cidx < 2; cidx++) { snd_unregister_device(&pcm->streams[cidx].dev); --- linux-riscv-5.8-5.8.0.orig/sound/core/pcm_local.h +++ linux-riscv-5.8-5.8.0/sound/core/pcm_local.h @@ -63,6 +63,7 @@ void __snd_pcm_xrun(struct snd_pcm_substream *substream); void snd_pcm_group_init(struct snd_pcm_group *group); +void snd_pcm_sync_stop(struct snd_pcm_substream *substream, bool sync_irq); #ifdef CONFIG_SND_DMA_SGBUF struct page *snd_pcm_sgbuf_ops_page(struct snd_pcm_substream *substream, --- linux-riscv-5.8-5.8.0.orig/sound/core/pcm_native.c +++ linux-riscv-5.8-5.8.0/sound/core/pcm_native.c @@ -583,13 +583,13 @@ #endif } -static void snd_pcm_sync_stop(struct snd_pcm_substream *substream) +void snd_pcm_sync_stop(struct snd_pcm_substream *substream, bool sync_irq) { - if (substream->runtime->stop_operating) { + if (substream->runtime && substream->runtime->stop_operating) { substream->runtime->stop_operating = false; - if (substream->ops->sync_stop) + if (substream->ops && substream->ops->sync_stop) substream->ops->sync_stop(substream); - else if (substream->pcm->card->sync_irq > 0) + else if (sync_irq && substream->pcm->card->sync_irq > 0) synchronize_irq(substream->pcm->card->sync_irq); } } @@ -686,7 +686,7 @@ if (atomic_read(&substream->mmap_count)) return -EBADFD; - snd_pcm_sync_stop(substream); + snd_pcm_sync_stop(substream, true); params->rmask = ~0U; err = snd_pcm_hw_refine(substream, params); @@ -755,8 +755,13 @@ runtime->boundary *= 2; /* clear the buffer for avoiding possible kernel info leaks */ - if (runtime->dma_area && !substream->ops->copy_user) - memset(runtime->dma_area, 0, runtime->dma_bytes); + if (runtime->dma_area && !substream->ops->copy_user) { + size_t size = runtime->dma_bytes; + + if (runtime->info & SNDRV_PCM_INFO_MMAP) + size = PAGE_ALIGN(size); + memset(runtime->dma_area, 0, size); + } snd_pcm_timer_resolution_change(substream); snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP); @@ -804,7 +809,7 @@ { int result = 0; - snd_pcm_sync_stop(substream); + snd_pcm_sync_stop(substream, true); if (substream->ops->hw_free) result = substream->ops->hw_free(substream); if (substream->managed_buffer_alloc) @@ -1416,8 +1421,10 @@ snd_pcm_state_t state) { if (substream->runtime->trigger_master == substream && - snd_pcm_running(substream)) + snd_pcm_running(substream)) { substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_STOP); + substream->runtime->stop_operating = true; + } return 0; /* unconditonally stop all substreams */ } @@ -1430,7 +1437,6 @@ runtime->status->state = state; snd_pcm_timer_notify(substream, SNDRV_TIMER_EVENT_MSTOP); } - runtime->stop_operating = true; wake_up(&runtime->sleep); wake_up(&runtime->tsleep); } @@ -1610,6 +1616,7 @@ if (! snd_pcm_running(substream)) return 0; substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_SUSPEND); + runtime->stop_operating = true; return 0; /* suspend unconditionally */ } @@ -1686,6 +1693,12 @@ return err; } } + + for (stream = 0; stream < 2; stream++) + for (substream = pcm->streams[stream].substream; + substream; substream = substream->next) + snd_pcm_sync_stop(substream, false); + return 0; } EXPORT_SYMBOL(snd_pcm_suspend_all); @@ -1731,7 +1744,6 @@ snd_pcm_trigger_tstamp(substream); runtime->status->state = runtime->status->suspended_state; snd_pcm_timer_notify(substream, SNDRV_TIMER_EVENT_MRESUME); - snd_pcm_sync_stop(substream); } static const struct action_ops snd_pcm_action_resume = { @@ -1861,7 +1873,7 @@ snd_pcm_state_t state) { int err; - snd_pcm_sync_stop(substream); + snd_pcm_sync_stop(substream, true); err = substream->ops->prepare(substream); if (err < 0) return err; --- linux-riscv-5.8-5.8.0.orig/sound/core/rawmidi.c +++ linux-riscv-5.8-5.8.0/sound/core/rawmidi.c @@ -95,11 +95,21 @@ } } -static inline int snd_rawmidi_ready(struct snd_rawmidi_substream *substream) +static inline bool __snd_rawmidi_ready(struct snd_rawmidi_runtime *runtime) +{ + return runtime->avail >= runtime->avail_min; +} + +static bool snd_rawmidi_ready(struct snd_rawmidi_substream *substream) { struct snd_rawmidi_runtime *runtime = substream->runtime; + unsigned long flags; + bool ready; - return runtime->avail >= runtime->avail_min; + spin_lock_irqsave(&runtime->lock, flags); + ready = __snd_rawmidi_ready(runtime); + spin_unlock_irqrestore(&runtime->lock, flags); + return ready; } static inline int snd_rawmidi_ready_append(struct snd_rawmidi_substream *substream, @@ -1019,7 +1029,7 @@ if (result > 0) { if (runtime->event) schedule_work(&runtime->event_work); - else if (snd_rawmidi_ready(substream)) + else if (__snd_rawmidi_ready(runtime)) wake_up(&runtime->sleep); } spin_unlock_irqrestore(&runtime->lock, flags); @@ -1098,7 +1108,7 @@ result = 0; while (count > 0) { spin_lock_irq(&runtime->lock); - while (!snd_rawmidi_ready(substream)) { + while (!__snd_rawmidi_ready(runtime)) { wait_queue_entry_t wait; if ((file->f_flags & O_NONBLOCK) != 0 || result > 0) { @@ -1115,9 +1125,11 @@ return -ENODEV; if (signal_pending(current)) return result > 0 ? result : -ERESTARTSYS; - if (!runtime->avail) - return result > 0 ? result : -EIO; spin_lock_irq(&runtime->lock); + if (!runtime->avail) { + spin_unlock_irq(&runtime->lock); + return result > 0 ? result : -EIO; + } } spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_read1(substream, @@ -1255,7 +1267,7 @@ runtime->avail += count; substream->bytes += count; if (count > 0) { - if (runtime->drain || snd_rawmidi_ready(substream)) + if (runtime->drain || __snd_rawmidi_ready(runtime)) wake_up(&runtime->sleep); } return count; @@ -1444,9 +1456,11 @@ return -ENODEV; if (signal_pending(current)) return result > 0 ? result : -ERESTARTSYS; - if (!runtime->avail && !timeout) - return result > 0 ? result : -EIO; spin_lock_irq(&runtime->lock); + if (!runtime->avail && !timeout) { + spin_unlock_irq(&runtime->lock); + return result > 0 ? result : -EIO; + } } spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_write1(substream, buf, NULL, count); @@ -1526,6 +1540,7 @@ struct snd_rawmidi *rmidi; struct snd_rawmidi_substream *substream; struct snd_rawmidi_runtime *runtime; + unsigned long buffer_size, avail, xruns; rmidi = entry->private_data; snd_iprintf(buffer, "%s\n\n", rmidi->name); @@ -1544,13 +1559,16 @@ " Owner PID : %d\n", pid_vnr(substream->pid)); runtime = substream->runtime; + spin_lock_irq(&runtime->lock); + buffer_size = runtime->buffer_size; + avail = runtime->avail; + spin_unlock_irq(&runtime->lock); snd_iprintf(buffer, " Mode : %s\n" " Buffer size : %lu\n" " Avail : %lu\n", runtime->oss ? "OSS compatible" : "native", - (unsigned long) runtime->buffer_size, - (unsigned long) runtime->avail); + buffer_size, avail); } } } @@ -1568,13 +1586,16 @@ " Owner PID : %d\n", pid_vnr(substream->pid)); runtime = substream->runtime; + spin_lock_irq(&runtime->lock); + buffer_size = runtime->buffer_size; + avail = runtime->avail; + xruns = runtime->xruns; + spin_unlock_irq(&runtime->lock); snd_iprintf(buffer, " Buffer size : %lu\n" " Avail : %lu\n" " Overruns : %lu\n", - (unsigned long) runtime->buffer_size, - (unsigned long) runtime->avail, - (unsigned long) runtime->xruns); + buffer_size, avail, xruns); } } } --- linux-riscv-5.8-5.8.0.orig/sound/core/seq/oss/seq_oss.c +++ linux-riscv-5.8-5.8.0/sound/core/seq/oss/seq_oss.c @@ -168,10 +168,19 @@ odev_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { struct seq_oss_devinfo *dp; + long rc; + dp = file->private_data; if (snd_BUG_ON(!dp)) return -ENXIO; - return snd_seq_oss_ioctl(dp, cmd, arg); + + if (cmd != SNDCTL_SEQ_SYNC && + mutex_lock_interruptible(®ister_mutex)) + return -ERESTARTSYS; + rc = snd_seq_oss_ioctl(dp, cmd, arg); + if (cmd != SNDCTL_SEQ_SYNC) + mutex_unlock(®ister_mutex); + return rc; } #ifdef CONFIG_COMPAT --- linux-riscv-5.8-5.8.0.orig/sound/core/seq/oss/seq_oss_synth.c +++ linux-riscv-5.8-5.8.0/sound/core/seq/oss/seq_oss_synth.c @@ -611,7 +611,8 @@ if (info->is_midi) { struct midi_info minf; - snd_seq_oss_midi_make_info(dp, info->midi_mapped, &minf); + if (snd_seq_oss_midi_make_info(dp, info->midi_mapped, &minf)) + return -ENXIO; inf->synth_type = SYNTH_TYPE_MIDI; inf->synth_subtype = 0; inf->nr_voices = 16; --- linux-riscv-5.8-5.8.0.orig/sound/core/seq/seq_queue.h +++ linux-riscv-5.8-5.8.0/sound/core/seq/seq_queue.h @@ -26,10 +26,10 @@ struct snd_seq_timer *timer; /* time keeper for this queue */ int owner; /* client that 'owns' the timer */ - unsigned int locked:1, /* timer is only accesibble by owner if set */ - klocked:1, /* kernel lock (after START) */ - check_again:1, - check_blocked:1; + bool locked; /* timer is only accesibble by owner if set */ + bool klocked; /* kernel lock (after START) */ + bool check_again; /* concurrent access happened during check */ + bool check_blocked; /* queue being checked */ unsigned int flags; /* status flags */ unsigned int info_flags; /* info for sync */ --- linux-riscv-5.8-5.8.0.orig/sound/drivers/aloop.c +++ linux-riscv-5.8-5.8.0/sound/drivers/aloop.c @@ -1573,6 +1573,14 @@ return -ENOMEM; kctl->id.device = dev; kctl->id.subdevice = substr; + + /* Add the control before copying the id so that + * the numid field of the id is set in the copy. + */ + err = snd_ctl_add(card, kctl); + if (err < 0) + return err; + switch (idx) { case ACTIVE_IDX: setup->active_id = kctl->id; @@ -1589,9 +1597,6 @@ default: break; } - err = snd_ctl_add(card, kctl); - if (err < 0) - return err; } } } --- linux-riscv-5.8-5.8.0.orig/sound/firewire/bebob/bebob_hwdep.c +++ linux-riscv-5.8-5.8.0/sound/firewire/bebob/bebob_hwdep.c @@ -36,12 +36,11 @@ } memset(&event, 0, sizeof(event)); + count = min_t(long, count, sizeof(event.lock_status)); if (bebob->dev_lock_changed) { event.lock_status.type = SNDRV_FIREWIRE_EVENT_LOCK_STATUS; event.lock_status.status = (bebob->dev_lock_count > 0); bebob->dev_lock_changed = false; - - count = min_t(long, count, sizeof(event.lock_status)); } spin_unlock_irq(&bebob->lock); --- linux-riscv-5.8-5.8.0.orig/sound/firewire/dice/dice-stream.c +++ linux-riscv-5.8-5.8.0/sound/firewire/dice/dice-stream.c @@ -493,11 +493,10 @@ struct reg_params tx_params, rx_params; if (dice->substreams_counter == 0) { - if (get_register_params(dice, &tx_params, &rx_params) >= 0) { - amdtp_domain_stop(&dice->domain); + if (get_register_params(dice, &tx_params, &rx_params) >= 0) finish_session(dice, &tx_params, &rx_params); - } + amdtp_domain_stop(&dice->domain); release_resources(dice); } } --- linux-riscv-5.8-5.8.0.orig/sound/firewire/digi00x/digi00x.c +++ linux-riscv-5.8-5.8.0/sound/firewire/digi00x/digi00x.c @@ -14,6 +14,7 @@ #define VENDOR_DIGIDESIGN 0x00a07e #define MODEL_CONSOLE 0x000001 #define MODEL_RACK 0x000002 +#define SPEC_VERSION 0x000001 static int name_card(struct snd_dg00x *dg00x) { @@ -175,14 +176,18 @@ /* Both of 002/003 use the same ID. */ { .match_flags = IEEE1394_MATCH_VENDOR_ID | + IEEE1394_MATCH_VERSION | IEEE1394_MATCH_MODEL_ID, .vendor_id = VENDOR_DIGIDESIGN, + .version = SPEC_VERSION, .model_id = MODEL_CONSOLE, }, { .match_flags = IEEE1394_MATCH_VENDOR_ID | + IEEE1394_MATCH_VERSION | IEEE1394_MATCH_MODEL_ID, .vendor_id = VENDOR_DIGIDESIGN, + .version = SPEC_VERSION, .model_id = MODEL_RACK, }, {} --- linux-riscv-5.8-5.8.0.orig/sound/firewire/fireface/ff-protocol-latter.c +++ linux-riscv-5.8-5.8.0/sound/firewire/fireface/ff-protocol-latter.c @@ -15,6 +15,61 @@ #define LATTER_FETCH_MODE 0xffff00000010ULL #define LATTER_SYNC_STATUS 0x0000801c0000ULL +// The content of sync status register differs between models. +// +// Fireface UCX: +// 0xf0000000: (unidentified) +// 0x0f000000: effective rate of sampling clock +// 0x00f00000: detected rate of word clock on BNC interface +// 0x000f0000: detected rate of ADAT or S/PDIF on optical interface +// 0x0000f000: detected rate of S/PDIF on coaxial interface +// 0x00000e00: effective source of sampling clock +// 0x00000e00: Internal +// 0x00000800: (unidentified) +// 0x00000600: Word clock on BNC interface +// 0x00000400: ADAT on optical interface +// 0x00000200: S/PDIF on coaxial or optical interface +// 0x00000100: Optical interface is used for ADAT signal +// 0x00000080: (unidentified) +// 0x00000040: Synchronized to word clock on BNC interface +// 0x00000020: Synchronized to ADAT or S/PDIF on optical interface +// 0x00000010: Synchronized to S/PDIF on coaxial interface +// 0x00000008: (unidentified) +// 0x00000004: Lock word clock on BNC interface +// 0x00000002: Lock ADAT or S/PDIF on optical interface +// 0x00000001: Lock S/PDIF on coaxial interface +// +// Fireface 802 (and perhaps UFX): +// 0xf0000000: effective rate of sampling clock +// 0x0f000000: detected rate of ADAT-B on 2nd optical interface +// 0x00f00000: detected rate of ADAT-A on 1st optical interface +// 0x000f0000: detected rate of AES/EBU on XLR or coaxial interface +// 0x0000f000: detected rate of word clock on BNC interface +// 0x00000e00: effective source of sampling clock +// 0x00000e00: internal +// 0x00000800: ADAT-B +// 0x00000600: ADAT-A +// 0x00000400: AES/EBU +// 0x00000200: Word clock +// 0x00000080: Synchronized to ADAT-B on 2nd optical interface +// 0x00000040: Synchronized to ADAT-A on 1st optical interface +// 0x00000020: Synchronized to AES/EBU on XLR or 2nd optical interface +// 0x00000010: Synchronized to word clock on BNC interface +// 0x00000008: Lock ADAT-B on 2nd optical interface +// 0x00000004: Lock ADAT-A on 1st optical interface +// 0x00000002: Lock AES/EBU on XLR or 2nd optical interface +// 0x00000001: Lock word clock on BNC interface +// +// The pattern for rate bits: +// 0x00: 32.0 kHz +// 0x01: 44.1 kHz +// 0x02: 48.0 kHz +// 0x04: 64.0 kHz +// 0x05: 88.2 kHz +// 0x06: 96.0 kHz +// 0x08: 128.0 kHz +// 0x09: 176.4 kHz +// 0x0a: 192.0 kHz static int parse_clock_bits(u32 data, unsigned int *rate, enum snd_ff_clock_src *src, enum snd_ff_unit_version unit_version) @@ -23,35 +78,48 @@ unsigned int rate; u32 flag; } *rate_entry, rate_entries[] = { - { 32000, 0x00000000, }, - { 44100, 0x01000000, }, - { 48000, 0x02000000, }, - { 64000, 0x04000000, }, - { 88200, 0x05000000, }, - { 96000, 0x06000000, }, - { 128000, 0x08000000, }, - { 176400, 0x09000000, }, - { 192000, 0x0a000000, }, + { 32000, 0x00, }, + { 44100, 0x01, }, + { 48000, 0x02, }, + { 64000, 0x04, }, + { 88200, 0x05, }, + { 96000, 0x06, }, + { 128000, 0x08, }, + { 176400, 0x09, }, + { 192000, 0x0a, }, }; static const struct { enum snd_ff_clock_src src; u32 flag; - } *clk_entry, clk_entries[] = { + } *clk_entry, *clk_entries, ucx_clk_entries[] = { { SND_FF_CLOCK_SRC_SPDIF, 0x00000200, }, { SND_FF_CLOCK_SRC_ADAT1, 0x00000400, }, { SND_FF_CLOCK_SRC_WORD, 0x00000600, }, { SND_FF_CLOCK_SRC_INTERNAL, 0x00000e00, }, + }, ufx_ff802_clk_entries[] = { + { SND_FF_CLOCK_SRC_WORD, 0x00000200, }, + { SND_FF_CLOCK_SRC_SPDIF, 0x00000400, }, + { SND_FF_CLOCK_SRC_ADAT1, 0x00000600, }, + { SND_FF_CLOCK_SRC_ADAT2, 0x00000800, }, + { SND_FF_CLOCK_SRC_INTERNAL, 0x00000e00, }, }; + u32 rate_bits; + unsigned int clk_entry_count; int i; - if (unit_version != SND_FF_UNIT_VERSION_UCX) { - // e.g. 0x00fe0f20 but expected 0x00eff002. - data = ((data & 0xf0f0f0f0) >> 4) | ((data & 0x0f0f0f0f) << 4); + if (unit_version == SND_FF_UNIT_VERSION_UCX) { + rate_bits = (data & 0x0f000000) >> 24; + clk_entries = ucx_clk_entries; + clk_entry_count = ARRAY_SIZE(ucx_clk_entries); + } else { + rate_bits = (data & 0xf0000000) >> 28; + clk_entries = ufx_ff802_clk_entries; + clk_entry_count = ARRAY_SIZE(ufx_ff802_clk_entries); } for (i = 0; i < ARRAY_SIZE(rate_entries); ++i) { rate_entry = rate_entries + i; - if ((data & 0x0f000000) == rate_entry->flag) { + if (rate_bits == rate_entry->flag) { *rate = rate_entry->rate; break; } @@ -59,14 +127,14 @@ if (i == ARRAY_SIZE(rate_entries)) return -EIO; - for (i = 0; i < ARRAY_SIZE(clk_entries); ++i) { + for (i = 0; i < clk_entry_count; ++i) { clk_entry = clk_entries + i; if ((data & 0x000e00) == clk_entry->flag) { *src = clk_entry->src; break; } } - if (i == ARRAY_SIZE(clk_entries)) + if (i == clk_entry_count) return -EIO; return 0; @@ -249,16 +317,22 @@ char *const label; u32 locked_mask; u32 synced_mask; - } *clk_entry, clk_entries[] = { + } *clk_entry, *clk_entries, ucx_clk_entries[] = { { "S/PDIF", 0x00000001, 0x00000010, }, { "ADAT", 0x00000002, 0x00000020, }, { "WDClk", 0x00000004, 0x00000040, }, + }, ufx_ff802_clk_entries[] = { + { "WDClk", 0x00000001, 0x00000010, }, + { "AES/EBU", 0x00000002, 0x00000020, }, + { "ADAT-A", 0x00000004, 0x00000040, }, + { "ADAT-B", 0x00000008, 0x00000080, }, }; __le32 reg; u32 data; unsigned int rate; enum snd_ff_clock_src src; const char *label; + unsigned int clk_entry_count; int i; int err; @@ -270,7 +344,15 @@ snd_iprintf(buffer, "External source detection:\n"); - for (i = 0; i < ARRAY_SIZE(clk_entries); ++i) { + if (ff->unit_version == SND_FF_UNIT_VERSION_UCX) { + clk_entries = ucx_clk_entries; + clk_entry_count = ARRAY_SIZE(ucx_clk_entries); + } else { + clk_entries = ufx_ff802_clk_entries; + clk_entry_count = ARRAY_SIZE(ufx_ff802_clk_entries); + } + + for (i = 0; i < clk_entry_count; ++i) { clk_entry = clk_entries + i; snd_iprintf(buffer, "%s: ", clk_entry->label); if (data & clk_entry->locked_mask) { --- linux-riscv-5.8-5.8.0.orig/sound/firewire/fireface/ff-transaction.c +++ linux-riscv-5.8-5.8.0/sound/firewire/fireface/ff-transaction.c @@ -88,7 +88,7 @@ /* Set interval to next transaction. */ ff->next_ktime[port] = ktime_add_ns(ktime_get(), - ff->rx_bytes[port] * 8 * NSEC_PER_SEC / 31250); + ff->rx_bytes[port] * 8 * (NSEC_PER_SEC / 31250)); if (quad_count == 1) tcode = TCODE_WRITE_QUADLET_REQUEST; --- linux-riscv-5.8-5.8.0.orig/sound/firewire/fireworks/fireworks_transaction.c +++ linux-riscv-5.8-5.8.0/sound/firewire/fireworks/fireworks_transaction.c @@ -123,7 +123,7 @@ t = (struct snd_efw_transaction *)data; length = min_t(size_t, be32_to_cpu(t->length) * sizeof(u32), length); - spin_lock_irq(&efw->lock); + spin_lock(&efw->lock); if (efw->push_ptr < efw->pull_ptr) capacity = (unsigned int)(efw->pull_ptr - efw->push_ptr); @@ -190,7 +190,7 @@ copy_resp_to_buf(efw, data, length, rcode); end: - spin_unlock_irq(&instances_lock); + spin_unlock(&instances_lock); } static void --- linux-riscv-5.8-5.8.0.orig/sound/firewire/tascam/tascam-transaction.c +++ linux-riscv-5.8-5.8.0/sound/firewire/tascam/tascam-transaction.c @@ -209,7 +209,7 @@ /* Set interval to next transaction. */ port->next_ktime = ktime_add_ns(ktime_get(), - port->consume_bytes * 8 * NSEC_PER_SEC / 31250); + port->consume_bytes * 8 * (NSEC_PER_SEC / 31250)); /* Start this transaction. */ port->idling = false; --- linux-riscv-5.8-5.8.0.orig/sound/firewire/tascam/tascam.c +++ linux-riscv-5.8-5.8.0/sound/firewire/tascam/tascam.c @@ -39,9 +39,6 @@ .midi_capture_ports = 2, .midi_playback_ports = 4, }, - // This kernel module doesn't support FE-8 because the most of features - // can be implemented in userspace without any specific support of this - // module. }; static int identify_model(struct snd_tscm *tscm) @@ -211,11 +208,39 @@ } static const struct ieee1394_device_id snd_tscm_id_table[] = { + // Tascam, FW-1884. + { + .match_flags = IEEE1394_MATCH_VENDOR_ID | + IEEE1394_MATCH_SPECIFIER_ID | + IEEE1394_MATCH_VERSION, + .vendor_id = 0x00022e, + .specifier_id = 0x00022e, + .version = 0x800000, + }, + // Tascam, FE-8 (.version = 0x800001) + // This kernel module doesn't support FE-8 because the most of features + // can be implemented in userspace without any specific support of this + // module. + // + // .version = 0x800002 is unknown. + // + // Tascam, FW-1082. + { + .match_flags = IEEE1394_MATCH_VENDOR_ID | + IEEE1394_MATCH_SPECIFIER_ID | + IEEE1394_MATCH_VERSION, + .vendor_id = 0x00022e, + .specifier_id = 0x00022e, + .version = 0x800003, + }, + // Tascam, FW-1804. { .match_flags = IEEE1394_MATCH_VENDOR_ID | - IEEE1394_MATCH_SPECIFIER_ID, + IEEE1394_MATCH_SPECIFIER_ID | + IEEE1394_MATCH_VERSION, .vendor_id = 0x00022e, .specifier_id = 0x00022e, + .version = 0x800004, }, {} }; --- linux-riscv-5.8-5.8.0.orig/sound/hda/ext/hdac_ext_controller.c +++ linux-riscv-5.8-5.8.0/sound/hda/ext/hdac_ext_controller.c @@ -148,6 +148,8 @@ return NULL; if (bus->idx != bus_idx) return NULL; + if (addr < 0 || addr > 31) + return NULL; list_for_each_entry(hlink, &bus->hlink_list, list) { for (i = 0; i < HDA_MAX_CODECS; i++) { --- linux-riscv-5.8-5.8.0.orig/sound/hda/hdac_bus.c +++ linux-riscv-5.8-5.8.0/sound/hda/hdac_bus.c @@ -46,6 +46,18 @@ INIT_LIST_HEAD(&bus->hlink_list); init_waitqueue_head(&bus->rirb_wq); bus->irq = -1; + + /* + * Default value of '8' is as per the HD audio specification (Rev 1.0a). + * Following relation is used to derive STRIPE control value. + * For sample rate <= 48K: + * { ((num_channels * bits_per_sample) / number of SDOs) >= 8 } + * For sample rate > 48K: + * { ((num_channels * bits_per_sample * rate/48000) / + * number of SDOs) >= 8 } + */ + bus->sdo_limit = 8; + return 0; } EXPORT_SYMBOL_GPL(snd_hdac_bus_init); --- linux-riscv-5.8-5.8.0.orig/sound/hda/hdac_controller.c +++ linux-riscv-5.8-5.8.0/sound/hda/hdac_controller.c @@ -529,17 +529,6 @@ bus->chip_init = true; - /* - * Default value of '8' is as per the HD audio specification (Rev 1.0a). - * Following relation is used to derive STRIPE control value. - * For sample rate <= 48K: - * { ((num_channels * bits_per_sample) / number of SDOs) >= 8 } - * For sample rate > 48K: - * { ((num_channels * bits_per_sample * rate/48000) / - * number of SDOs) >= 8 } - */ - bus->sdo_limit = 8; - return true; } EXPORT_SYMBOL_GPL(snd_hdac_bus_init_chip); --- linux-riscv-5.8-5.8.0.orig/sound/hda/hdac_device.c +++ linux-riscv-5.8-5.8.0/sound/hda/hdac_device.c @@ -127,6 +127,8 @@ void snd_hdac_device_exit(struct hdac_device *codec) { pm_runtime_put_noidle(&codec->dev); + /* keep balance of runtime PM child_count in parent device */ + pm_runtime_set_suspended(&codec->dev); snd_hdac_bus_remove_device(codec->bus, codec); kfree(codec->vendor_name); kfree(codec->chip_name); --- linux-riscv-5.8-5.8.0.orig/sound/hda/intel-dsp-config.c +++ linux-riscv-5.8-5.8.0/sound/hda/intel-dsp-config.c @@ -54,7 +54,7 @@ #endif /* * Apollolake (Broxton-P) - * the legacy HDaudio driver is used except on Up Squared (SOF) and + * the legacy HDAudio driver is used except on Up Squared (SOF) and * Chromebooks (SST) */ #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) @@ -89,7 +89,7 @@ }, #endif /* - * Skylake and Kabylake use legacy HDaudio driver except for Google + * Skylake and Kabylake use legacy HDAudio driver except for Google * Chromebooks (SST) */ @@ -135,7 +135,7 @@ #endif /* - * Geminilake uses legacy HDaudio driver except for Google + * Geminilake uses legacy HDAudio driver except for Google * Chromebooks */ /* Geminilake */ @@ -157,7 +157,7 @@ /* * CoffeeLake, CannonLake, CometLake, IceLake, TigerLake use legacy - * HDaudio driver except for Google Chromebooks and when DMICs are + * HDAudio driver except for Google Chromebooks and when DMICs are * present. Two cases are required since Coreboot does not expose NHLT * tables. * @@ -306,6 +306,10 @@ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, .device = 0xa0c8, }, + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, + .device = 0x43c8, + }, #endif /* Elkhart Lake */ @@ -391,7 +395,7 @@ if (pci->class == 0x040300) return SND_INTEL_DSP_DRIVER_LEGACY; if (pci->class != 0x040100 && pci->class != 0x040380) { - dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, selecting HDA legacy driver\n", pci->class); + dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, selecting HDAudio legacy driver\n", pci->class); return SND_INTEL_DSP_DRIVER_LEGACY; } --- linux-riscv-5.8-5.8.0.orig/sound/hda/intel-nhlt.c +++ linux-riscv-5.8-5.8.0/sound/hda/intel-nhlt.c @@ -31,18 +31,49 @@ struct nhlt_endpoint *epnt; struct nhlt_dmic_array_config *cfg; struct nhlt_vendor_dmic_array_config *cfg_vendor; + struct nhlt_fmt *fmt_configs; unsigned int dmic_geo = 0; - u8 j; + u16 max_ch = 0; + u8 i, j; if (!nhlt) return 0; - epnt = (struct nhlt_endpoint *)nhlt->desc; + if (nhlt->header.length <= sizeof(struct acpi_table_header)) { + dev_warn(dev, "Invalid DMIC description table\n"); + return 0; + } + + for (j = 0, epnt = nhlt->desc; j < nhlt->endpoint_count; j++, + epnt = (struct nhlt_endpoint *)((u8 *)epnt + epnt->length)) { + + if (epnt->linktype != NHLT_LINK_DMIC) + continue; + + cfg = (struct nhlt_dmic_array_config *)(epnt->config.caps); + fmt_configs = (struct nhlt_fmt *)(epnt->config.caps + epnt->config.size); + + /* find max number of channels based on format_configuration */ + if (fmt_configs->fmt_count) { + dev_dbg(dev, "%s: found %d format definitions\n", + __func__, 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; - for (j = 0; j < nhlt->endpoint_count; j++) { - if (epnt->linktype == NHLT_LINK_DMIC) { - cfg = (struct nhlt_dmic_array_config *) - (epnt->config.caps); + if (fmt_ext->fmt.channels > max_ch) + max_ch = fmt_ext->fmt.channels; + } + dev_dbg(dev, "%s: max channels found %d\n", __func__, max_ch); + } else { + dev_dbg(dev, "%s: No format information found\n", __func__); + } + + if (cfg->device_config.config_type != NHLT_CONFIG_TYPE_MIC_ARRAY) { + dmic_geo = max_ch; + } else { switch (cfg->array_type) { case NHLT_MIC_ARRAY_2CH_SMALL: case NHLT_MIC_ARRAY_2CH_BIG: @@ -59,13 +90,23 @@ dmic_geo = cfg_vendor->nb_mics; break; default: - dev_warn(dev, "undefined DMIC array_type 0x%0x\n", - cfg->array_type); + dev_warn(dev, "%s: undefined DMIC array_type 0x%0x\n", + __func__, cfg->array_type); + } + + if (dmic_geo > 0) { + dev_dbg(dev, "%s: Array with %d dmics\n", __func__, dmic_geo); + } + if (max_ch > dmic_geo) { + dev_dbg(dev, "%s: max channels %d exceed dmic number %d\n", + __func__, max_ch, dmic_geo); } } - epnt = (struct nhlt_endpoint *)((u8 *)epnt + epnt->length); } + dev_dbg(dev, "%s: dmic number %d max_ch %d\n", + __func__, dmic_geo, max_ch); + return dmic_geo; } EXPORT_SYMBOL_GPL(intel_nhlt_get_dmic_geo); --- linux-riscv-5.8-5.8.0.orig/sound/pci/asihpi/hpioctl.c +++ linux-riscv-5.8-5.8.0/sound/pci/asihpi/hpioctl.c @@ -343,7 +343,7 @@ struct hpi_message hm; struct hpi_response hr; struct hpi_adapter adapter; - struct hpi_pci pci; + struct hpi_pci pci = { 0 }; memset(&adapter, 0, sizeof(adapter)); @@ -499,7 +499,7 @@ return 0; err: - for (idx = 0; idx < HPI_MAX_ADAPTER_MEM_SPACES; idx++) { + while (--idx >= 0) { if (pci.ap_mem_base[idx]) { iounmap(pci.ap_mem_base[idx]); pci.ap_mem_base[idx] = NULL; --- linux-riscv-5.8-5.8.0.orig/sound/pci/ca0106/ca0106_main.c +++ linux-riscv-5.8-5.8.0/sound/pci/ca0106/ca0106_main.c @@ -537,7 +537,8 @@ else /* Power down */ chip->spi_dac_reg[reg] |= bit; - return snd_ca0106_spi_write(chip, chip->spi_dac_reg[reg]); + if (snd_ca0106_spi_write(chip, chip->spi_dac_reg[reg]) != 0) + return -ENXIO; } return 0; } --- linux-riscv-5.8-5.8.0.orig/sound/pci/cs46xx/cs46xx_lib.c +++ linux-riscv-5.8-5.8.0/sound/pci/cs46xx/cs46xx_lib.c @@ -766,7 +766,7 @@ rate = 48000 / 9; /* - * We can not capture at at rate greater than the Input Rate (48000). + * We can not capture at a rate greater than the Input Rate (48000). * Return an error if an attempt is made to stray outside that limit. */ if (rate > 48000) --- linux-riscv-5.8-5.8.0.orig/sound/pci/cs46xx/dsp_spos_scb_lib.c +++ linux-riscv-5.8-5.8.0/sound/pci/cs46xx/dsp_spos_scb_lib.c @@ -1716,7 +1716,7 @@ struct dsp_spos_instance * ins = chip->dsp_spos_instance; if ( ins->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED ) { - /* remove AsynchFGTxSCB and and PCMSerialInput_II */ + /* remove AsynchFGTxSCB and PCMSerialInput_II */ cs46xx_dsp_disable_spdif_out (chip); /* save state */ --- linux-riscv-5.8-5.8.0.orig/sound/pci/ctxfi/cthw20k2.c +++ linux-riscv-5.8-5.8.0/sound/pci/ctxfi/cthw20k2.c @@ -991,7 +991,7 @@ if (idx < 4) { /* S/PDIF output */ - switch ((conf & 0x7)) { + switch ((conf & 0xf)) { case 1: set_field(&ctl->txctl[idx], ATXCTL_NUC, 0); break; --- linux-riscv-5.8-5.8.0.orig/sound/pci/echoaudio/echoaudio.c +++ linux-riscv-5.8-5.8.0/sound/pci/echoaudio/echoaudio.c @@ -2158,7 +2158,6 @@ if (err < 0) { kfree(commpage_bak); dev_err(dev, "resume init_hw err=%d\n", err); - snd_echo_free(chip); return err; } @@ -2185,7 +2184,6 @@ if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED, KBUILD_MODNAME, chip)) { dev_err(chip->card->dev, "cannot grab irq\n"); - snd_echo_free(chip); return -EBUSY; } chip->irq = pci->irq; --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/Kconfig +++ linux-riscv-5.8-5.8.0/sound/pci/hda/Kconfig @@ -8,6 +8,9 @@ select SND_JACK select SND_HDA_CORE +config SND_HDA_GENERIC_LEDS + bool + config SND_HDA_INTEL tristate "HD Audio PCI" depends on SND_PCI @@ -91,6 +94,7 @@ config SND_HDA_CODEC_REALTEK tristate "Build Realtek HD-audio codec support" select SND_HDA_GENERIC + select SND_HDA_GENERIC_LEDS help Say Y or M here to include Realtek HD-audio codec support in snd-hda-intel driver, such as ALC880. @@ -111,6 +115,7 @@ config SND_HDA_CODEC_SIGMATEL tristate "Build IDT/Sigmatel HD-audio codec support" select SND_HDA_GENERIC + select SND_HDA_GENERIC_LEDS help Say Y or M here to include IDT (Sigmatel) HD-audio codec support in snd-hda-intel driver, such as STAC9200. @@ -155,6 +160,7 @@ config SND_HDA_CODEC_CONEXANT tristate "Build Conexant HD-audio codec support" select SND_HDA_GENERIC + select SND_HDA_GENERIC_LEDS help Say Y or M here to include Conexant HD-audio codec support in snd-hda-intel driver, such as CX20549. @@ -215,6 +221,9 @@ config SND_HDA_GENERIC tristate "Enable generic HD-audio codec parser" + select LEDS_CLASS if SND_HDA_GENERIC_LEDS + select LEDS_TRIGGERS if SND_HDA_GENERIC_LEDS + select LEDS_TRIGGER_AUDIO if SND_HDA_GENERIC_LEDS help Say Y or M here to enable the generic HD-audio codec parser in snd-hda-intel driver. --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_bind.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_bind.c @@ -47,6 +47,10 @@ if (codec->bus->shutdown) return; + /* ignore unsol events during system suspend/resume */ + if (codec->core.dev.power.power_state.event != PM_EVENT_ON) + return; + if (codec->patch_ops.unsol_event) codec->patch_ops.unsol_event(codec, ev); } --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_codec.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_codec.c @@ -1799,7 +1799,7 @@ return -EBUSY; /* OK, let it free */ - snd_hdac_device_unregister(&codec->core); + device_release_driver(hda_codec_dev(codec)); /* allow device access again */ snd_hda_unlock_devices(bus); @@ -2963,21 +2963,22 @@ pm_runtime_mark_last_busy(dev); return 0; } + #endif /* CONFIG_PM */ #ifdef CONFIG_PM_SLEEP -static int hda_codec_force_resume(struct device *dev) +static int hda_codec_pm_prepare(struct device *dev) +{ + return pm_runtime_suspended(dev); +} + +static void hda_codec_pm_complete(struct device *dev) { struct hda_codec *codec = dev_to_hda_codec(dev); - int ret; - ret = pm_runtime_force_resume(dev); - /* schedule jackpoll work for jack detection update */ - if (codec->jackpoll_interval || - (pm_runtime_suspended(dev) && hda_codec_need_resume(codec))) - schedule_delayed_work(&codec->jackpoll_work, - codec->jackpoll_interval); - return ret; + if (pm_runtime_suspended(dev) && (codec->jackpoll_interval || + hda_codec_need_resume(codec) || codec->forced_resume)) + pm_request_resume(dev); } static int hda_codec_pm_suspend(struct device *dev) @@ -2989,7 +2990,7 @@ static int hda_codec_pm_resume(struct device *dev) { dev->power.power_state = PMSG_RESUME; - return hda_codec_force_resume(dev); + return pm_runtime_force_resume(dev); } static int hda_codec_pm_freeze(struct device *dev) @@ -3001,19 +3002,21 @@ static int hda_codec_pm_thaw(struct device *dev) { dev->power.power_state = PMSG_THAW; - return hda_codec_force_resume(dev); + return pm_runtime_force_resume(dev); } static int hda_codec_pm_restore(struct device *dev) { dev->power.power_state = PMSG_RESTORE; - return hda_codec_force_resume(dev); + return pm_runtime_force_resume(dev); } #endif /* CONFIG_PM_SLEEP */ /* referred in hda_bind.c */ const struct dev_pm_ops hda_codec_driver_pm = { #ifdef CONFIG_PM_SLEEP + .prepare = hda_codec_pm_prepare, + .complete = hda_codec_pm_complete, .suspend = hda_codec_pm_suspend, .resume = hda_codec_pm_resume, .freeze = hda_codec_pm_freeze, @@ -3427,7 +3430,7 @@ * @nid: NID to check / update * * Check whether the given NID is in the amp list. If it's in the list, - * check the current AMP status, and update the the power-status according + * check the current AMP status, and update the power-status according * to the mute status. * * This function is supposed to be set or called from the check_power_status --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_controller.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_controller.c @@ -609,13 +609,6 @@ 20, 178000000); - /* by some reason, the playback stream stalls on PulseAudio with - * tsched=1 when a capture stream triggers. Until we figure out the - * real cause, disable tsched mode by telling the PCM info flag. - */ - if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND) - runtime->hw.info |= SNDRV_PCM_INFO_BATCH; - if (chip->align_buffer_size) /* constrain buffer sizes to be multiple of 128 bytes. This is more efficient in terms of memory --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_controller.h +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_controller.h @@ -41,7 +41,7 @@ /* 24 unused */ #define AZX_DCAPS_COUNT_LPIB_DELAY (1 << 25) /* Take LPIB as delay */ #define AZX_DCAPS_PM_RUNTIME (1 << 26) /* runtime PM support */ -#define AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP (1 << 27) /* Workaround for spurious wakeups after suspend */ +/* 27 unused */ #define AZX_DCAPS_CORBRP_SELF_CLEAR (1 << 28) /* CORBRP clears itself after reset */ #define AZX_DCAPS_NO_MSI64 (1 << 29) /* Stick to 32-bit MSIs */ #define AZX_DCAPS_SEPARATE_STREAM_TAG (1 << 30) /* capture and playback use separate stream tag */ @@ -143,6 +143,7 @@ unsigned int align_buffer_size:1; unsigned int region_requested:1; unsigned int disabled:1; /* disabled by vga_switcheroo */ + unsigned int pm_prepared:1; /* GTS present */ unsigned int gts_present:1; --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_generic.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_generic.c @@ -813,7 +813,7 @@ } } -/* sync power of each widget in the the given path */ +/* sync power of each widget in the given path */ static hda_nid_t path_power_update(struct hda_codec *codec, struct nid_path *path, bool allow_powerdown) @@ -1364,16 +1364,20 @@ struct nid_path *path; hda_nid_t pin = pins[i]; - path = snd_hda_get_path_from_idx(codec, path_idx[i]); - if (path) { - badness += assign_out_path_ctls(codec, path); - continue; + if (!spec->obey_preferred_dacs) { + path = snd_hda_get_path_from_idx(codec, path_idx[i]); + if (path) { + badness += assign_out_path_ctls(codec, path); + continue; + } } dacs[i] = get_preferred_dac(codec, pin); if (dacs[i]) { if (is_dac_already_used(codec, dacs[i])) badness += bad->shared_primary; + } else if (spec->obey_preferred_dacs) { + badness += BAD_NO_PRIMARY_DAC; } if (!dacs[i]) @@ -3887,6 +3891,66 @@ return 0; } +#ifdef CONFIG_SND_HDA_GENERIC_LEDS +/* + * vmaster mute LED hook helpers + */ + +static int create_mute_led_cdev(struct hda_codec *codec, + int (*callback)(struct led_classdev *, + enum led_brightness), + bool micmute) +{ + struct led_classdev *cdev; + + cdev = devm_kzalloc(&codec->core.dev, sizeof(*cdev), GFP_KERNEL); + if (!cdev) + return -ENOMEM; + + cdev->name = micmute ? "hda::micmute" : "hda::mute"; + cdev->max_brightness = 1; + cdev->default_trigger = micmute ? "audio-micmute" : "audio-mute"; + cdev->brightness_set_blocking = callback; + cdev->brightness = ledtrig_audio_get(micmute ? LED_AUDIO_MICMUTE : LED_AUDIO_MUTE); + cdev->flags = LED_CORE_SUSPENDRESUME; + + return devm_led_classdev_register(&codec->core.dev, cdev); +} + +static void vmaster_update_mute_led(void *private_data, int enabled) +{ + ledtrig_audio_set(LED_AUDIO_MUTE, enabled ? LED_OFF : LED_ON); +} + +/** + * snd_dha_gen_add_mute_led_cdev - Create a LED classdev and enable as vmaster mute LED + * @codec: the HDA codec + * @callback: the callback for LED classdev brightness_set_blocking + */ +int snd_hda_gen_add_mute_led_cdev(struct hda_codec *codec, + int (*callback)(struct led_classdev *, + enum led_brightness)) +{ + struct hda_gen_spec *spec = codec->spec; + int err; + + if (callback) { + err = create_mute_led_cdev(codec, callback, false); + if (err) { + codec_warn(codec, "failed to create a mute LED cdev\n"); + return err; + } + } + + if (spec->vmaster_mute.hook) + codec_err(codec, "vmaster hook already present before cdev!\n"); + + spec->vmaster_mute.hook = vmaster_update_mute_led; + spec->vmaster_mute_enum = 1; + return 0; +} +EXPORT_SYMBOL_GPL(snd_hda_gen_add_mute_led_cdev); + /* * mic mute LED hook helpers */ @@ -3921,8 +3985,8 @@ if (val == spec->micmute_led.led_value) return; spec->micmute_led.led_value = val; - if (spec->micmute_led.update) - spec->micmute_led.update(codec); + ledtrig_audio_set(LED_AUDIO_MICMUTE, + spec->micmute_led.led_value ? LED_ON : LED_OFF); } static void update_micmute_led(struct hda_codec *codec, @@ -3994,69 +4058,53 @@ .put = micmute_led_mode_put, }; -/** - * snd_hda_gen_add_micmute_led - helper for setting up mic mute LED hook - * @codec: the HDA codec - * @hook: the callback for updating LED - * - * Called from the codec drivers for offering the mic mute LED controls. - * When established, it sets up cap_sync_hook and triggers the callback at - * each time when the capture mixer switch changes. The callback is supposed - * to update the LED accordingly. - * - * Returns 0 if the hook is established or a negative error code. - */ -int snd_hda_gen_add_micmute_led(struct hda_codec *codec, - void (*hook)(struct hda_codec *)) +/* Set up the capture sync hook for controlling the mic-mute LED */ +static int add_micmute_led_hook(struct hda_codec *codec) { struct hda_gen_spec *spec = codec->spec; spec->micmute_led.led_mode = MICMUTE_LED_FOLLOW_MUTE; spec->micmute_led.capture = 0; - spec->micmute_led.led_value = 0; + spec->micmute_led.led_value = -1; spec->micmute_led.old_hook = spec->cap_sync_hook; - spec->micmute_led.update = hook; spec->cap_sync_hook = update_micmute_led; if (!snd_hda_gen_add_kctl(spec, NULL, &micmute_led_mode_ctl)) return -ENOMEM; return 0; } -EXPORT_SYMBOL_GPL(snd_hda_gen_add_micmute_led); - -#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) -static void call_ledtrig_micmute(struct hda_codec *codec) -{ - struct hda_gen_spec *spec = codec->spec; - - ledtrig_audio_set(LED_AUDIO_MICMUTE, - spec->micmute_led.led_value ? LED_ON : LED_OFF); -} -#endif /** - * snd_hda_gen_fixup_micmute_led - A fixup for mic-mute LED trigger - * - * Pass this function to the quirk entry if another driver supports the - * audio mic-mute LED trigger. Then this will bind the mixer capture switch - * change with the LED. + * snd_dha_gen_add_micmute_led_cdev - Create a LED classdev and enable as mic-mute LED + * @codec: the HDA codec + * @callback: the callback for LED classdev brightness_set_blocking * - * Note that this fixup has to be called after other fixup that sets - * cap_sync_hook. Otherwise the chaining wouldn't work. + * Called from the codec drivers for offering the mic mute LED controls. + * This creates a LED classdev and sets up the cap_sync_hook that is called at + * each time when the capture mixer switch changes. * - * @codec: the HDA codec - * @fix: fixup pointer - * @action: only supports HDA_FIXUP_ACT_PROBE value + * When NULL is passed to @callback, no classdev is created but only the + * LED-trigger is set up. * + * Returns 0 or a negative error. */ -void snd_hda_gen_fixup_micmute_led(struct hda_codec *codec, - const struct hda_fixup *fix, int action) +int snd_hda_gen_add_micmute_led_cdev(struct hda_codec *codec, + int (*callback)(struct led_classdev *, + enum led_brightness)) { -#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) - if (action == HDA_FIXUP_ACT_PROBE) - snd_hda_gen_add_micmute_led(codec, call_ledtrig_micmute); -#endif + int err; + + if (callback) { + err = create_mute_led_cdev(codec, callback, true); + if (err) { + codec_warn(codec, "failed to create a mic-mute LED cdev\n"); + return err; + } + } + + return add_micmute_led_hook(codec); } -EXPORT_SYMBOL_GPL(snd_hda_gen_fixup_micmute_led); +EXPORT_SYMBOL_GPL(snd_hda_gen_add_micmute_led_cdev); +#endif /* CONFIG_SND_HDA_GENERIC_LEDS */ /* * parse digital I/Os and set up NIDs in BIOS auto-parse mode --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_generic.h +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_generic.h @@ -8,6 +8,8 @@ #ifndef __SOUND_HDA_GENERIC_H #define __SOUND_HDA_GENERIC_H +#include + /* table entry for multi-io paths */ struct hda_multi_io { hda_nid_t pin; /* multi-io widget pin NID */ @@ -86,7 +88,6 @@ unsigned int led_mode; unsigned int capture; unsigned int led_value; - void (*update)(struct hda_codec *codec); void (*old_hook)(struct hda_codec *codec, struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); @@ -236,6 +237,7 @@ unsigned int power_down_unused:1; /* power down unused widgets */ unsigned int dac_min_mute:1; /* minimal = mute for DACs */ unsigned int suppress_vmaster:1; /* don't create vmaster kctls */ + unsigned int obey_preferred_dacs:1; /* obey preferred_dacs assignment */ /* other internal flags */ unsigned int no_analog:1; /* digital I/O only */ @@ -353,9 +355,11 @@ void snd_hda_gen_stream_pm(struct hda_codec *codec, hda_nid_t nid, bool on); int snd_hda_gen_fix_pin_power(struct hda_codec *codec, hda_nid_t pin); -int snd_hda_gen_add_micmute_led(struct hda_codec *codec, - void (*hook)(struct hda_codec *)); -void snd_hda_gen_fixup_micmute_led(struct hda_codec *codec, - const struct hda_fixup *fix, int action); +int snd_hda_gen_add_mute_led_cdev(struct hda_codec *codec, + int (*callback)(struct led_classdev *, + enum led_brightness)); +int snd_hda_gen_add_micmute_led_cdev(struct hda_codec *codec, + int (*callback)(struct led_classdev *, + enum led_brightness)); #endif /* __SOUND_HDA_GENERIC_H */ --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_intel.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_intel.c @@ -298,8 +298,7 @@ /* PCH for HSW/BDW; with runtime PM */ /* no i915 binding for this as HSW/BDW has another controller for HDMI */ #define AZX_DCAPS_INTEL_PCH \ - (AZX_DCAPS_INTEL_PCH_BASE | AZX_DCAPS_PM_RUNTIME |\ - AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP) + (AZX_DCAPS_INTEL_PCH_BASE | AZX_DCAPS_PM_RUNTIME) /* HSW HDMI */ #define AZX_DCAPS_INTEL_HASWELL \ @@ -986,7 +985,7 @@ display_power(chip, false); } -static void __azx_runtime_resume(struct azx *chip, bool from_rt) +static void __azx_runtime_resume(struct azx *chip) { struct hda_intel *hda = container_of(chip, struct hda_intel, chip); struct hdac_bus *bus = azx_bus(chip); @@ -1003,12 +1002,15 @@ azx_init_pci(chip); hda_intel_init_chip(chip, true); - if (status && from_rt) { - list_for_each_codec(codec, &chip->bus) - if (!codec->relaxed_resume && - (status & (1 << codec->addr))) - schedule_delayed_work(&codec->jackpoll_work, - codec->jackpoll_interval); + /* Avoid codec resume if runtime resume is for system suspend */ + if (!chip->pm_prepared) { + list_for_each_codec(codec, &chip->bus) { + if (codec->relaxed_resume) + continue; + + if (codec->forced_resume || (status & (1 << codec->addr))) + pm_request_resume(hda_codec_dev(codec)); + } } /* power down again for link-controlled chips */ @@ -1017,6 +1019,39 @@ } #ifdef CONFIG_PM_SLEEP +static int azx_prepare(struct device *dev) +{ + struct snd_card *card = dev_get_drvdata(dev); + struct azx *chip; + + if (!azx_is_pm_ready(card)) + return 0; + + chip = card->private_data; + chip->pm_prepared = 1; + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + + flush_work(&azx_bus(chip)->unsol_work); + + /* HDA controller always requires different WAKEEN for runtime suspend + * and system suspend, so don't use direct-complete here. + */ + return 0; +} + +static void azx_complete(struct device *dev) +{ + struct snd_card *card = dev_get_drvdata(dev); + struct azx *chip; + + if (!azx_is_pm_ready(card)) + return; + + chip = card->private_data; + snd_power_change_state(card, SNDRV_CTL_POWER_D0); + chip->pm_prepared = 0; +} + static int azx_suspend(struct device *dev) { struct snd_card *card = dev_get_drvdata(dev); @@ -1028,15 +1063,7 @@ chip = card->private_data; bus = azx_bus(chip); - snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); - /* An ugly workaround: direct call of __azx_runtime_suspend() and - * __azx_runtime_resume() for old Intel platforms that suffer from - * spurious wakeups after S3 suspend - */ - if (chip->driver_caps & AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP) - __azx_runtime_suspend(chip); - else - pm_runtime_force_suspend(dev); + __azx_runtime_suspend(chip); if (bus->irq >= 0) { free_irq(bus->irq, chip); bus->irq = -1; @@ -1065,11 +1092,7 @@ if (azx_acquire_irq(chip, 1) < 0) return -EIO; - if (chip->driver_caps & AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP) - __azx_runtime_resume(chip, false); - else - pm_runtime_force_resume(dev); - snd_power_change_state(card, SNDRV_CTL_POWER_D0); + __azx_runtime_resume(chip); trace_azx_resume(chip); return 0; @@ -1117,10 +1140,7 @@ chip = card->private_data; /* enable controller wake up event */ - if (snd_power_get_state(card) == SNDRV_CTL_POWER_D0) { - azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) | - STATESTS_INT_MASK); - } + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) | STATESTS_INT_MASK); __azx_runtime_suspend(chip); trace_azx_runtime_suspend(chip); @@ -1131,18 +1151,14 @@ { struct snd_card *card = dev_get_drvdata(dev); struct azx *chip; - bool from_rt = snd_power_get_state(card) == SNDRV_CTL_POWER_D0; if (!azx_is_pm_ready(card)) return 0; chip = card->private_data; - __azx_runtime_resume(chip, from_rt); + __azx_runtime_resume(chip); /* disable controller Wake Up event*/ - if (from_rt) { - azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) & - ~STATESTS_INT_MASK); - } + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) & ~STATESTS_INT_MASK); trace_azx_runtime_resume(chip); return 0; @@ -1176,6 +1192,8 @@ static const struct dev_pm_ops azx_pm = { SET_SYSTEM_SLEEP_PM_OPS(azx_suspend, azx_resume) #ifdef CONFIG_PM_SLEEP + .prepare = azx_prepare, + .complete = azx_complete, .freeze_noirq = azx_freeze_noirq, .thaw_noirq = azx_thaw_noirq, #endif @@ -2212,8 +2230,6 @@ SND_PCI_QUIRK(0x1849, 0x7662, "Asrock H81M-HDS", 0), /* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */ SND_PCI_QUIRK(0x1043, 0x8733, "Asus Prime X370-Pro", 0), - /* https://bugzilla.redhat.com/show_bug.cgi?id=1581607 */ - SND_PCI_QUIRK(0x1558, 0x3501, "Clevo W35xSS_370SS", 0), /* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */ SND_PCI_QUIRK(0x1558, 0x6504, "Clevo W65_67SB", 0), /* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */ @@ -2475,9 +2491,14 @@ /* CometLake-H */ { PCI_DEVICE(0x8086, 0x06C8), .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, + { PCI_DEVICE(0x8086, 0xf1c8), + .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, /* CometLake-S */ { PCI_DEVICE(0x8086, 0xa3f0), .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, + /* CometLake-R */ + { PCI_DEVICE(0x8086, 0xf0c8), + .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, /* Icelake */ { PCI_DEVICE(0x8086, 0x34c8), .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, @@ -2495,6 +2516,15 @@ /* Tigerlake-H */ { PCI_DEVICE(0x8086, 0x43c8), .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, + /* DG1 */ + { PCI_DEVICE(0x8086, 0x490d), + .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, + /* Alderlake-S */ + { PCI_DEVICE(0x8086, 0x7ad0), + .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, + /* Alderlake-P */ + { PCI_DEVICE(0x8086, 0x51c8), + .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, /* Elkhart Lake */ { PCI_DEVICE(0x8086, 0x4b55), .driver_data = AZX_DRIVER_SKL | AZX_DCAPS_INTEL_SKYLAKE}, --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_jack.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_jack.c @@ -275,6 +275,23 @@ } EXPORT_SYMBOL_GPL(snd_hda_jack_detect_state_mst); +static struct hda_jack_callback * +find_callback_from_list(struct hda_jack_tbl *jack, + hda_jack_callback_fn func) +{ + struct hda_jack_callback *cb; + + if (!func) + return NULL; + + for (cb = jack->callback; cb; cb = cb->next) { + if (cb->func == func) + return cb; + } + + return NULL; +} + /** * snd_hda_jack_detect_enable_mst - enable the jack-detection * @codec: the HDA codec @@ -297,7 +314,10 @@ jack = snd_hda_jack_tbl_new(codec, nid, dev_id); if (!jack) return ERR_PTR(-ENOMEM); - if (func) { + + callback = find_callback_from_list(jack, func); + + if (func && !callback) { callback = kzalloc(sizeof(*callback), GFP_KERNEL); if (!callback) return ERR_PTR(-ENOMEM); --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_sysfs.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_sysfs.c @@ -139,7 +139,7 @@ "The codec is being used, can't reconfigure.\n"); goto error; } - err = snd_hda_codec_configure(codec); + err = device_reprobe(hda_codec_dev(codec)); if (err < 0) goto error; err = snd_card_register(codec->card); --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/hda_tegra.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/hda_tegra.c @@ -179,6 +179,10 @@ struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); if (chip && chip->running) { + /* enable controller wake up event */ + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) | + STATESTS_INT_MASK); + azx_stop_chip(chip); azx_enter_link_reset(chip); } @@ -200,6 +204,9 @@ if (chip && chip->running) { hda_tegra_init(hda); azx_init_chip(chip, 1); + /* disable controller wake up event*/ + azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) & + ~STATESTS_INT_MASK); } return 0; @@ -378,7 +385,7 @@ * in powers of 2, next available ratio is 16 which can be * used as a limiting factor here. */ - if (of_device_is_compatible(np, "nvidia,tegra194-hda")) + if (of_device_is_compatible(np, "nvidia,tegra30-hda")) chip->bus.core.sdo_limit = 16; /* codec detection */ --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_ca0132.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_ca0132.c @@ -93,7 +93,7 @@ }; /* Strings for Input Source Enum Control */ -static const char *const in_src_str[3] = {"Rear Mic", "Line", "Front Mic" }; +static const char *const in_src_str[3] = { "Microphone", "Line In", "Front Microphone" }; #define IN_SRC_NUM_OF_INPUTS 3 enum { REAR_MIC, @@ -1065,6 +1065,7 @@ QUIRK_R3DI, QUIRK_R3D, QUIRK_AE5, + QUIRK_AE7, }; #ifdef CONFIG_PCI @@ -1146,7 +1147,7 @@ { 0x0e, 0x01c510f0 }, /* SPDIF In */ { 0x0f, 0x01017114 }, /* Port A -- Rear L/R. */ { 0x10, 0x01017012 }, /* Port D -- Center/LFE or FP Hp */ - { 0x11, 0x01a170ff }, /* Port B -- LineMicIn2 / Rear Headphone */ + { 0x11, 0x012170ff }, /* Port B -- LineMicIn2 / Rear Headphone */ { 0x12, 0x01a170f0 }, /* Port C -- LineIn1 */ { 0x13, 0x908700f0 }, /* What U Hear In*/ { 0x18, 0x50d000f0 }, /* N/A */ @@ -1182,7 +1183,10 @@ 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(0x1102, 0x0013, "Recon3D", QUIRK_R3D), + SND_PCI_QUIRK(0x1102, 0x0018, "Recon3D", QUIRK_R3D), SND_PCI_QUIRK(0x1102, 0x0051, "Sound Blaster AE-5", QUIRK_AE5), + SND_PCI_QUIRK(0x1102, 0x0191, "Sound Blaster AE-5 Plus", QUIRK_AE5), + SND_PCI_QUIRK(0x1102, 0x0081, "Sound Blaster AE-7", QUIRK_AE7), {} }; @@ -4671,9 +4675,18 @@ tmp = FLOAT_ONE; break; case QUIRK_AE5: - ca0113_mmio_command_set(codec, 0x48, 0x28, 0x00); + ca0113_mmio_command_set(codec, 0x30, 0x28, 0x00); tmp = FLOAT_THREE; break; + case QUIRK_AE7: + ca0113_mmio_command_set(codec, 0x30, 0x28, 0x00); + tmp = FLOAT_THREE; + chipio_set_conn_rate(codec, MEM_CONNID_MICIN2, + SR_96_000); + chipio_set_conn_rate(codec, MEM_CONNID_MICOUT2, + SR_96_000); + dspio_set_uint_param(codec, 0x80, 0x01, FLOAT_ZERO); + break; default: tmp = FLOAT_ONE; break; @@ -4717,7 +4730,15 @@ r3di_gpio_mic_set(codec, R3DI_REAR_MIC); break; case QUIRK_AE5: - ca0113_mmio_command_set(codec, 0x48, 0x28, 0x00); + ca0113_mmio_command_set(codec, 0x30, 0x28, 0x00); + break; + case QUIRK_AE7: + ca0113_mmio_command_set(codec, 0x30, 0x28, 0x3f); + chipio_set_conn_rate(codec, MEM_CONNID_MICIN2, + SR_96_000); + chipio_set_conn_rate(codec, MEM_CONNID_MICOUT2, + SR_96_000); + dspio_set_uint_param(codec, 0x80, 0x01, FLOAT_ZERO); break; default: break; @@ -4728,7 +4749,10 @@ if (ca0132_quirk(spec) == QUIRK_R3DI) chipio_set_conn_rate(codec, 0x0F, SR_96_000); - tmp = FLOAT_ZERO; + if (ca0132_quirk(spec) == QUIRK_AE7) + tmp = FLOAT_THREE; + else + tmp = FLOAT_ZERO; dspio_set_uint_param(codec, 0x80, 0x00, tmp); switch (ca0132_quirk(spec)) { @@ -4756,7 +4780,7 @@ tmp = FLOAT_ONE; break; case QUIRK_AE5: - ca0113_mmio_command_set(codec, 0x48, 0x28, 0x3f); + ca0113_mmio_command_set(codec, 0x30, 0x28, 0x3f); tmp = FLOAT_THREE; break; default: @@ -5748,6 +5772,11 @@ return 0; } + if (nid == ZXR_HEADPHONE_GAIN) { + *valp = spec->zxr_gain_set; + return 0; + } + return 0; } --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_conexant.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_conexant.c @@ -137,14 +137,31 @@ } /* turn on/off EAPD according to Master switch (inversely!) for mute LED */ -static void cx_auto_vmaster_hook_mute_led(void *private_data, int enabled) +static int cx_auto_vmaster_mute_led(struct led_classdev *led_cdev, + enum led_brightness brightness) { - struct hda_codec *codec = private_data; + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct conexant_spec *spec = codec->spec; snd_hda_codec_write(codec, spec->mute_led_eapd, 0, AC_VERB_SET_EAPD_BTLENABLE, - enabled ? 0x00 : 0x02); + brightness ? 0x02 : 0x00); + return 0; +} + +static void cxt_init_gpio_led(struct hda_codec *codec) +{ + struct conexant_spec *spec = codec->spec; + unsigned int mask = spec->gpio_mute_led_mask | spec->gpio_mic_led_mask; + + if (mask) { + snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_MASK, + mask); + snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DIRECTION, + mask); + snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, + spec->gpio_led); + } } static int cx_auto_init(struct hda_codec *codec) @@ -154,6 +171,7 @@ if (!spec->dynamic_eapd) cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, true); + cxt_init_gpio_led(codec); snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_INIT); return 0; @@ -213,6 +231,7 @@ CXT_FIXUP_HP_SPECTRE, CXT_FIXUP_HP_GATE_MIC, CXT_FIXUP_MUTE_LED_GPIO, + CXT_FIXUP_HP_ZBOOK_MUTE_LED, CXT_FIXUP_HEADSET_MIC, CXT_FIXUP_HP_MIC_NO_PRESENCE, }; @@ -566,7 +585,7 @@ if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->mute_led_eapd = 0x1b; spec->dynamic_eapd = 1; - spec->gen.vmaster_mute.hook = cx_auto_vmaster_hook_mute_led; + snd_hda_gen_add_mute_led_cdev(codec, cx_auto_vmaster_mute_led); } } @@ -631,48 +650,57 @@ } /* turn on/off mute LED via GPIO per vmaster hook */ -static void cxt_fixup_gpio_mute_hook(void *private_data, int enabled) +static int cxt_gpio_mute_update(struct led_classdev *led_cdev, + enum led_brightness brightness) { - struct hda_codec *codec = private_data; + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct conexant_spec *spec = codec->spec; - /* muted -> LED on */ - cxt_update_gpio_led(codec, spec->gpio_mute_led_mask, !enabled); + + cxt_update_gpio_led(codec, spec->gpio_mute_led_mask, brightness); + return 0; } /* turn on/off mic-mute LED via GPIO per capture hook */ -static void cxt_gpio_micmute_update(struct hda_codec *codec) +static int cxt_gpio_micmute_update(struct led_classdev *led_cdev, + enum led_brightness brightness) { + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct conexant_spec *spec = codec->spec; - cxt_update_gpio_led(codec, spec->gpio_mic_led_mask, - spec->gen.micmute_led.led_value); + cxt_update_gpio_led(codec, spec->gpio_mic_led_mask, brightness); + return 0; } - -static void cxt_fixup_mute_led_gpio(struct hda_codec *codec, - const struct hda_fixup *fix, int action) +static void cxt_setup_mute_led(struct hda_codec *codec, + unsigned int mute, unsigned int mic_mute) { struct conexant_spec *spec = codec->spec; - static const struct hda_verb gpio_init[] = { - { 0x01, AC_VERB_SET_GPIO_MASK, 0x03 }, - { 0x01, AC_VERB_SET_GPIO_DIRECTION, 0x03 }, - {} - }; - if (action == HDA_FIXUP_ACT_PRE_PROBE) { - spec->gen.vmaster_mute.hook = cxt_fixup_gpio_mute_hook; - spec->gpio_led = 0; - spec->mute_led_polarity = 0; - spec->gpio_mute_led_mask = 0x01; - spec->gpio_mic_led_mask = 0x02; - snd_hda_gen_add_micmute_led(codec, cxt_gpio_micmute_update); + spec->gpio_led = 0; + spec->mute_led_polarity = 0; + if (mute) { + snd_hda_gen_add_mute_led_cdev(codec, cxt_gpio_mute_update); + spec->gpio_mute_led_mask = mute; + } + if (mic_mute) { + snd_hda_gen_add_micmute_led_cdev(codec, cxt_gpio_micmute_update); + spec->gpio_mic_led_mask = mic_mute; } - snd_hda_add_verbs(codec, gpio_init); - if (spec->gpio_led) - snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, - spec->gpio_led); } +static void cxt_fixup_mute_led_gpio(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) + cxt_setup_mute_led(codec, 0x01, 0x02); +} + +static void cxt_fixup_hp_zbook_mute_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) + cxt_setup_mute_led(codec, 0x10, 0x20); +} /* ThinkPad X200 & co with cxt5051 */ static const struct hda_pintbl cxt_pincfg_lenovo_x200[] = { @@ -833,6 +861,10 @@ .type = HDA_FIXUP_FUNC, .v.func = cxt_fixup_mute_led_gpio, }, + [CXT_FIXUP_HP_ZBOOK_MUTE_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = cxt_fixup_hp_zbook_mute_led, + }, [CXT_FIXUP_HEADSET_MIC] = { .type = HDA_FIXUP_FUNC, .v.func = cxt_fixup_headset_mic, @@ -911,6 +943,8 @@ SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO), + SND_PCI_QUIRK(0x103c, 0x8427, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x844f, "HP ZBook Studio G5", CXT_FIXUP_HP_ZBOOK_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8455, "HP Z2 G4", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x8456, "HP Z2 G4 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x8457, "HP Z2 G4 mini", CXT_FIXUP_HP_MIC_NO_PRESENCE), @@ -950,6 +984,7 @@ { .id = CXT_FIXUP_MUTE_LED_EAPD, .name = "mute-led-eapd" }, { .id = CXT_FIXUP_HP_DOCK, .name = "hp-dock" }, { .id = CXT_FIXUP_MUTE_LED_GPIO, .name = "mute-led-gpio" }, + { .id = CXT_FIXUP_HP_ZBOOK_MUTE_LED, .name = "hp-zbook-mute-led" }, { .id = CXT_FIXUP_HP_MIC_NO_PRESENCE, .name = "hp-mic-fix" }, {} }; @@ -988,8 +1023,6 @@ cx_auto_parse_eapd(codec); spec->gen.own_eapd_ctl = 1; - if (spec->dynamic_eapd) - spec->gen.vmaster_mute.hook = cx_auto_vmaster_hook; switch (codec->core.vendor_id) { case 0x14f15045: @@ -1022,17 +1055,8 @@ break; } - /* Show mute-led control only on HP laptops - * This is a sort of white-list: on HP laptops, EAPD corresponds - * only to the mute-LED without actualy amp function. Meanwhile, - * others may use EAPD really as an amp switch, so it might be - * not good to expose it blindly. - */ - switch (codec->core.subsystem_id >> 16) { - case 0x103c: - spec->gen.vmaster_mute_enum = 1; - break; - } + if (!spec->gen.vmaster_mute.hook && spec->dynamic_eapd) + spec->gen.vmaster_mute.hook = cx_auto_vmaster_hook; snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); @@ -1075,6 +1099,7 @@ static const struct hda_device_id snd_hda_id_conexant[] = { HDA_CODEC_ENTRY(0x14f11f86, "CX8070", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f12008, "CX8200", patch_conexant_auto), + HDA_CODEC_ENTRY(0x14f120d0, "CX11970", 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-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_hdmi.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_hdmi.c @@ -151,6 +151,7 @@ bool dyn_pin_out; bool dyn_pcm_assign; + bool dyn_pcm_no_legacy; bool intel_hsw_fixup; /* apply Intel platform-specific fixups */ /* * Non-generic VIA/NVIDIA specific @@ -160,6 +161,7 @@ bool use_acomp_notifier; /* use eld_notify callback for hotplug */ bool acomp_registered; /* audio component registered in this driver */ + bool force_connect; /* force connectivity */ struct drm_audio_component_audio_ops drm_audio_ops; int (*port2pin)(struct hda_codec *, int); /* reverse port/pin mapping */ @@ -1333,6 +1335,12 @@ { int i; + /* on the new machines, try to assign the pcm slot dynamically, + * not use the preferred fixed map (legacy way) anymore. + */ + if (spec->dyn_pcm_no_legacy) + goto last_try; + /* * generic_hdmi_build_pcms() may allocate extra PCMs on some * platforms (with maximum of 'num_nids + dev_num - 1') @@ -1362,6 +1370,7 @@ return i; } + last_try: /* the last try; check the empty slots in pins */ for (i = 0; i < spec->num_nids; i++) { if (!test_bit(i, &spec->pcm_bitmap)) @@ -1701,7 +1710,8 @@ * all device entries on the same pin */ config = snd_hda_codec_get_pincfg(codec, pin_nid); - if (get_defcfg_connect(config) == AC_JACK_PORT_NONE) + if (get_defcfg_connect(config) == AC_JACK_PORT_NONE && + !spec->force_connect) return 0; /* @@ -1803,11 +1813,19 @@ return 0; } +static const struct snd_pci_quirk force_connect_list[] = { + SND_PCI_QUIRK(0x103c, 0x870f, "HP", 1), + SND_PCI_QUIRK(0x103c, 0x871a, "HP", 1), + {} +}; + static int hdmi_parse_codec(struct hda_codec *codec) { + struct hdmi_spec *spec = codec->spec; hda_nid_t start_nid; unsigned int caps; int i, nodes; + const struct snd_pci_quirk *q; nodes = snd_hda_get_sub_nodes(codec, codec->core.afg, &start_nid); if (!start_nid || nodes < 0) { @@ -1815,6 +1833,11 @@ return -EINVAL; } + q = snd_pci_quirk_lookup(codec->bus->pci, force_connect_list); + + if (q && q->value) + spec->force_connect = true; + /* * hdmi_add_pin() assumes total amount of converters to * be known, so first discover all converters @@ -1974,22 +1997,24 @@ int pinctl; int err = 0; + mutex_lock(&spec->pcm_lock); if (hinfo->nid) { pcm_idx = hinfo_to_pcm_index(codec, hinfo); - if (snd_BUG_ON(pcm_idx < 0)) - return -EINVAL; + if (snd_BUG_ON(pcm_idx < 0)) { + err = -EINVAL; + goto unlock; + } cvt_idx = cvt_nid_to_cvt_index(codec, hinfo->nid); - if (snd_BUG_ON(cvt_idx < 0)) - return -EINVAL; + if (snd_BUG_ON(cvt_idx < 0)) { + err = -EINVAL; + goto unlock; + } per_cvt = get_cvt(spec, cvt_idx); - - snd_BUG_ON(!per_cvt->assigned); per_cvt->assigned = 0; hinfo->nid = 0; azx_stream(get_azx_dev(substream))->stripe = 0; - mutex_lock(&spec->pcm_lock); snd_hda_spdif_ctls_unassign(codec, pcm_idx); clear_bit(pcm_idx, &spec->pcm_in_use); pin_idx = hinfo_to_pin_index(codec, hinfo); @@ -2019,10 +2044,11 @@ per_pin->setup = false; per_pin->channels = 0; mutex_unlock(&per_pin->lock); - unlock: - mutex_unlock(&spec->pcm_lock); } +unlock: + mutex_unlock(&spec->pcm_lock); + return err; } @@ -2326,6 +2352,18 @@ } #ifdef CONFIG_PM +static int generic_hdmi_suspend(struct hda_codec *codec) +{ + struct hdmi_spec *spec = codec->spec; + int pin_idx; + + for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { + struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx); + cancel_delayed_work_sync(&per_pin->work); + } + return 0; +} + static int generic_hdmi_resume(struct hda_codec *codec) { struct hdmi_spec *spec = codec->spec; @@ -2349,6 +2387,7 @@ .build_controls = generic_hdmi_build_controls, .unsol_event = hdmi_unsol_event, #ifdef CONFIG_PM + .suspend = generic_hdmi_suspend, .resume = generic_hdmi_resume, #endif }; @@ -2722,6 +2761,7 @@ hda_nid_t cvt_nid) { if (per_pin) { + haswell_verify_D0(codec, per_pin->cvt_nid, per_pin->pin_nid); snd_hda_set_dev_select(codec, per_pin->pin_nid, per_pin->dev_id); intel_verify_pin_cvt_connect(codec, per_pin); @@ -2833,8 +2873,16 @@ * the index indicate the port number. */ static const int map[] = {0x4, 0x6, 0x8, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; + int ret; - return intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map)); + ret = intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map)); + if (!ret) { + struct hdmi_spec *spec = codec->spec; + + spec->dyn_pcm_no_legacy = true; + } + + return ret; } /* Intel Baytrail and Braswell; with eld notifier */ @@ -3655,6 +3703,7 @@ static int patch_tegra_hdmi(struct hda_codec *codec) { + struct hdmi_spec *spec; int err; err = patch_generic_hdmi(codec); @@ -3662,6 +3711,10 @@ return err; codec->patch_ops.build_pcms = tegra_hdmi_build_pcms; + spec = codec->spec; + spec->chmap.ops.chmap_cea_alloc_validate_get_type = + nvhdmi_chmap_cea_alloc_validate_get_type; + spec->chmap.ops.chmap_validate = nvhdmi_chmap_validate; return 0; } @@ -4184,6 +4237,10 @@ HDA_CODEC_ENTRY(0x8086280d, "Geminilake HDMI", patch_i915_glk_hdmi), HDA_CODEC_ENTRY(0x8086280f, "Icelake HDMI", patch_i915_icl_hdmi), HDA_CODEC_ENTRY(0x80862812, "Tigerlake HDMI", patch_i915_tgl_hdmi), +HDA_CODEC_ENTRY(0x80862814, "DG1 HDMI", patch_i915_tgl_hdmi), +HDA_CODEC_ENTRY(0x80862815, "Alderlake HDMI", patch_i915_tgl_hdmi), +HDA_CODEC_ENTRY(0x8086281c, "Alderlake-P HDMI", patch_i915_tgl_hdmi), +HDA_CODEC_ENTRY(0x80862816, "Rocketlake HDMI", patch_i915_tgl_hdmi), HDA_CODEC_ENTRY(0x8086281a, "Jasperlake HDMI", patch_i915_icl_hdmi), HDA_CODEC_ENTRY(0x8086281b, "Elkhartlake HDMI", patch_i915_icl_hdmi), HDA_CODEC_ENTRY(0x80862880, "CedarTrail HDMI", patch_generic_hdmi), --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_realtek.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_realtek.c @@ -67,6 +67,13 @@ unsigned int fixup:1; /* Means that this sku is set by driver, not read from hw */ }; +struct alc_coef_led { + unsigned int idx; + unsigned int mask; + unsigned int on; + unsigned int off; +}; + struct alc_spec { struct hda_gen_spec gen; /* must be at head */ @@ -80,7 +87,7 @@ unsigned int gpio_data; bool gpio_write_delay; /* add a delay before writing gpio_data */ - /* mute LED for HP laptops, see alc269_fixup_mic_mute_hook() */ + /* mute LED for HP laptops, see vref_mute_led_set() */ int mute_led_polarity; int micmute_led_polarity; hda_nid_t mute_led_nid; @@ -88,14 +95,8 @@ unsigned int gpio_mute_led_mask; unsigned int gpio_mic_led_mask; - unsigned int mute_led_coef_idx; - unsigned int mute_led_coefbit_mask; - unsigned int mute_led_coefbit_on; - unsigned int mute_led_coefbit_off; - unsigned int mic_led_coef_idx; - unsigned int mic_led_coefbit_mask; - unsigned int mic_led_coefbit_on; - unsigned int mic_led_coefbit_off; + struct alc_coef_led mute_led_coef; + struct alc_coef_led mic_led_coef; hda_nid_t headset_mic_pin; hda_nid_t headphone_mic_pin; @@ -118,6 +119,7 @@ unsigned int no_shutup_pins:1; unsigned int ultra_low_power:1; unsigned int has_hs_key:1; + unsigned int no_internal_mic_pin:1; /* for PLL fix */ hda_nid_t pll_nid; @@ -287,6 +289,13 @@ alc_fixup_gpio(codec, action, 0x04); } +static void alc_fixup_micmute_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PROBE) + snd_hda_gen_add_micmute_led_cdev(codec, NULL); +} + /* * Fix hardware PLL issue * On some codecs, the analog PLL gating control must be off while @@ -437,6 +446,7 @@ alc_update_coef_idx(codec, 0x7, 1<<5, 0); break; case 0x10ec0892: + case 0x10ec0897: alc_update_coef_idx(codec, 0x7, 1<<5, 0); break; case 0x10ec0899: @@ -1142,6 +1152,7 @@ codec->single_adc_amp = 1; /* FIXME: do we need this for all Realtek codec models? */ codec->spdif_status_reset = 1; + codec->forced_resume = 1; codec->patch_ops = alc_patch_ops; err = alc_codec_rename_from_preset(codec); @@ -1894,6 +1905,7 @@ ALC889_FIXUP_FRONT_HP_NO_PRESENCE, ALC889_FIXUP_VAIO_TT, ALC888_FIXUP_EEE1601, + ALC886_FIXUP_EAPD, ALC882_FIXUP_EAPD, ALC883_FIXUP_EAPD, ALC883_FIXUP_ACER_EAPD, @@ -1921,6 +1933,8 @@ ALC1220_FIXUP_CLEVO_P950, ALC1220_FIXUP_CLEVO_PB51ED, ALC1220_FIXUP_CLEVO_PB51ED_PINS, + ALC887_FIXUP_ASUS_AUDIO, + ALC887_FIXUP_ASUS_HMIC, }; static void alc889_fixup_coef(struct hda_codec *codec, @@ -2133,6 +2147,31 @@ alc_fixup_headset_mode_no_hp_mic(codec, fix, action); } +static void alc887_asus_hp_automute_hook(struct hda_codec *codec, + struct hda_jack_callback *jack) +{ + struct alc_spec *spec = codec->spec; + unsigned int vref; + + snd_hda_gen_hp_automute(codec, jack); + + if (spec->gen.hp_jack_present) + vref = AC_PINCTL_VREF_80; + else + vref = AC_PINCTL_VREF_HIZ; + snd_hda_set_pin_ctl(codec, 0x19, PIN_HP | vref); +} + +static void alc887_fixup_asus_jack(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + if (action != HDA_FIXUP_ACT_PROBE) + return; + snd_hda_set_pin_ctl_cache(codec, 0x1b, PIN_HP); + spec->gen.hp_automute_hook = alc887_asus_hp_automute_hook; +} + static const struct hda_fixup alc882_fixups[] = { [ALC882_FIXUP_ABIT_AW9D_MAX] = { .type = HDA_FIXUP_PINS, @@ -2200,6 +2239,15 @@ { } } }, + [ALC886_FIXUP_EAPD] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + /* change to EAPD mode */ + { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0068 }, + { } + } + }, [ALC882_FIXUP_EAPD] = { .type = HDA_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -2390,6 +2438,20 @@ .chained = true, .chain_id = ALC1220_FIXUP_CLEVO_PB51ED, }, + [ALC887_FIXUP_ASUS_AUDIO] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x15, 0x02a14150 }, /* use as headset mic, without its own jack detect */ + { 0x19, 0x22219420 }, + {} + }, + }, + [ALC887_FIXUP_ASUS_HMIC] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc887_fixup_asus_jack, + .chained = true, + .chain_id = ALC887_FIXUP_ASUS_AUDIO, + }, }; static const struct snd_pci_quirk alc882_fixup_tbl[] = { @@ -2423,6 +2485,7 @@ SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD), SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_FIXUP_ASUS_W2JC), + SND_PCI_QUIRK(0x1043, 0x2390, "Asus D700SA", ALC887_FIXUP_ASUS_HMIC), SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601), SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS), SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3), @@ -2457,27 +2520,40 @@ SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_MBA11_VREF), SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD), + SND_PCI_QUIRK(0x13fe, 0x1009, "Advantech MIT-W101", ALC886_FIXUP_EAPD), SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE), SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS), SND_PCI_QUIRK(0x1458, 0xa0cd, "Gigabyte X570 Aorus Master", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1458, 0xa0ce, "Gigabyte X570 Aorus Xtreme", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x11f7, "MSI-GE63", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x1228, "MSI-GP63", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1462, 0x1229, "MSI-GP73", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x1275, "MSI-GL63", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD), + SND_PCI_QUIRK(0x1462, 0xcc34, "MSI Godlike X570", ALC1220_FIXUP_GB_DUAL_CODECS), SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS), SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3), SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX), SND_PCI_QUIRK(0x1558, 0x9501, "Clevo P950HR", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x9506, "Clevo P955HQ", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x950A, "Clevo P955H[PR]", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1558, 0x95e1, "Clevo P95xER", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1558, 0x95e2, "Clevo P950ER", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x95e3, "Clevo P955[ER]T", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x95e4, "Clevo P955ER", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x95e5, "Clevo P955EE6", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x95e6, "Clevo P950R[CDF]", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1558, 0x96e1, "Clevo P960[ER][CDFN]-K", ALC1220_FIXUP_CLEVO_P950), SND_PCI_QUIRK(0x1558, 0x97e1, "Clevo P970[ER][CDFN]", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x97e2, "Clevo P970RC-M", ALC1220_FIXUP_CLEVO_P950), + SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), SND_PCI_QUIRK(0x1558, 0x65d1, "Clevo PB51[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), + SND_PCI_QUIRK(0x1558, 0x65d2, "Clevo PB51R[CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), + SND_PCI_QUIRK(0x1558, 0x65e1, "Clevo PB51[ED][DF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), SND_PCI_QUIRK(0x1558, 0x67d1, "Clevo PB71[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), - SND_PCI_QUIRK(0x1558, 0x50d3, "Clevo PC50[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), + SND_PCI_QUIRK(0x1558, 0x67e1, "Clevo PB71[DE][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), SND_PCI_QUIRK(0x1558, 0x70d1, "Clevo PC70[ER][CDF]", ALC1220_FIXUP_CLEVO_PB51ED_PINS), SND_PCI_QUIRK(0x1558, 0x7714, "Clevo X170", ALC1220_FIXUP_CLEVO_PB51ED_PINS), SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD), @@ -3041,6 +3117,7 @@ case 0x10ec0215: case 0x10ec0225: case 0x10ec0285: + case 0x10ec0287: case 0x10ec0295: case 0x10ec0289: case 0x10ec0299: @@ -3067,6 +3144,7 @@ case 0x10ec0215: case 0x10ec0225: case 0x10ec0285: + case 0x10ec0287: case 0x10ec0295: case 0x10ec0289: case 0x10ec0299: @@ -3419,7 +3497,11 @@ /* 3k pull low control for Headset jack. */ /* NOTE: call this before clearing the pin, otherwise codec stalls */ - alc_update_coef_idx(codec, 0x46, 0, 3 << 12); + /* If disable 3k pulldown control for alc257, the Mic detection will not work correctly + * when booting with headset plugged. So skip setting it for the codec alc257 + */ + if (codec->core.vendor_id != 0x10ec0257) + alc_update_coef_idx(codec, 0x46, 0, 3 << 12); if (!spec->no_shutup_pins) snd_hda_codec_write(codec, hp_pin, 0, @@ -3845,6 +3927,15 @@ snd_hda_sequence_write(codec, verbs); } +/* Fix the speaker amp after resume, etc */ +static void alc269vb_fixup_aspire_e1_coef(struct hda_codec *codec, + const struct hda_fixup *fix, + int action) +{ + if (action == HDA_FIXUP_ACT_INIT) + alc_update_coef_idx(codec, 0x0d, 0x6000, 0x6000); +} + static void alc269_fixup_pcm_44k(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -3982,25 +4073,34 @@ } } +static void alc_update_vref_led(struct hda_codec *codec, hda_nid_t pin, + bool polarity, bool on) +{ + unsigned int pinval; + + if (!pin) + return; + if (polarity) + on = !on; + pinval = snd_hda_codec_get_pin_target(codec, pin); + pinval &= ~AC_PINCTL_VREFEN; + pinval |= on ? AC_PINCTL_VREF_80 : AC_PINCTL_VREF_HIZ; + /* temporarily power up/down for setting VREF */ + snd_hda_power_up_pm(codec); + snd_hda_set_pin_ctl_cache(codec, pin, pinval); + snd_hda_power_down_pm(codec); +} /* update mute-LED according to the speaker mute state via mic VREF pin */ -static void alc269_fixup_mic_mute_hook(void *private_data, int enabled) +static int vref_mute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) { - struct hda_codec *codec = private_data; + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct alc_spec *spec = codec->spec; - unsigned int pinval; - if (spec->mute_led_polarity) - enabled = !enabled; - pinval = snd_hda_codec_get_pin_target(codec, spec->mute_led_nid); - pinval &= ~AC_PINCTL_VREFEN; - pinval |= enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80; - if (spec->mute_led_nid) { - /* temporarily power up/down for setting VREF */ - snd_hda_power_up_pm(codec); - snd_hda_set_pin_ctl_cache(codec, spec->mute_led_nid, pinval); - snd_hda_power_down_pm(codec); - } + alc_update_vref_led(codec, spec->mute_led_nid, + spec->mute_led_polarity, brightness); + return 0; } /* Make sure the led works even in runtime suspend */ @@ -4038,8 +4138,7 @@ break; spec->mute_led_polarity = pol; spec->mute_led_nid = pin - 0x0a + 0x18; - spec->gen.vmaster_mute.hook = alc269_fixup_mic_mute_hook; - spec->gen.vmaster_mute_enum = 1; + snd_hda_gen_add_mute_led_cdev(codec, vref_mute_led_set); codec->power_filter = led_power_filter; codec_dbg(codec, "Detected mute LED for %x:%d\n", spec->mute_led_nid, @@ -4057,8 +4156,7 @@ if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->mute_led_polarity = 0; spec->mute_led_nid = pin; - spec->gen.vmaster_mute.hook = alc269_fixup_mic_mute_hook; - spec->gen.vmaster_mute_enum = 1; + snd_hda_gen_add_mute_led_cdev(codec, vref_mute_led_set); codec->power_filter = led_power_filter; } } @@ -4091,26 +4189,18 @@ } /* turn on/off mute LED via GPIO per vmaster hook */ -static void alc_fixup_gpio_mute_hook(void *private_data, int enabled) +static int gpio_mute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) { - struct hda_codec *codec = private_data; + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct alc_spec *spec = codec->spec; alc_update_gpio_led(codec, spec->gpio_mute_led_mask, - spec->mute_led_polarity, enabled); + spec->mute_led_polarity, !brightness); + return 0; } /* turn on/off mic-mute LED via GPIO per capture hook */ -static void alc_gpio_micmute_update(struct hda_codec *codec) -{ - struct alc_spec *spec = codec->spec; - - alc_update_gpio_led(codec, spec->gpio_mic_led_mask, - spec->micmute_led_polarity, - spec->gen.micmute_led.led_value); -} - -#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) static int micmute_led_set(struct led_classdev *led_cdev, enum led_brightness brightness) { @@ -4118,18 +4208,10 @@ struct alc_spec *spec = codec->spec; alc_update_gpio_led(codec, spec->gpio_mic_led_mask, - spec->micmute_led_polarity, !!brightness); + spec->micmute_led_polarity, !brightness); return 0; } -static struct led_classdev micmute_led_cdev = { - .name = "hda::micmute", - .max_brightness = 1, - .brightness_set_blocking = micmute_led_set, - .default_trigger = "audio-micmute", -}; -#endif - /* setup mute and mic-mute GPIO bits, add hooks appropriately */ static void alc_fixup_hp_gpio_led(struct hda_codec *codec, int action, @@ -4137,9 +4219,6 @@ unsigned int micmute_mask) { struct alc_spec *spec = codec->spec; -#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) - int err; -#endif alc_fixup_gpio(codec, action, mute_mask | micmute_mask); @@ -4147,21 +4226,20 @@ return; if (mute_mask) { spec->gpio_mute_led_mask = mute_mask; - spec->gen.vmaster_mute.hook = alc_fixup_gpio_mute_hook; + snd_hda_gen_add_mute_led_cdev(codec, gpio_mute_led_set); } if (micmute_mask) { spec->gpio_mic_led_mask = micmute_mask; - snd_hda_gen_add_micmute_led(codec, alc_gpio_micmute_update); - -#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) - micmute_led_cdev.brightness = ledtrig_audio_get(LED_AUDIO_MICMUTE); - err = devm_led_classdev_register(&codec->core.dev, &micmute_led_cdev); - if (err) - codec_warn(codec, "failed to register micmute LED\n"); -#endif + snd_hda_gen_add_micmute_led_cdev(codec, micmute_led_set); } } +static void alc236_fixup_hp_gpio_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + alc_fixup_hp_gpio_led(codec, action, 0x02, 0x01); +} + static void alc269_fixup_hp_gpio_led(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -4171,10 +4249,6 @@ static void alc285_fixup_hp_gpio_led(struct hda_codec *codec, const struct hda_fixup *fix, int action) { - struct alc_spec *spec = codec->spec; - - spec->micmute_led_polarity = 1; - alc_fixup_hp_gpio_led(codec, action, 0x04, 0x01); } @@ -4184,21 +4258,22 @@ alc_fixup_hp_gpio_led(codec, action, 0x02, 0x20); } -/* turn on/off mic-mute LED per capture hook */ -static void alc_cap_micmute_update(struct hda_codec *codec) +static void alc287_fixup_hp_gpio_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + alc_fixup_hp_gpio_led(codec, action, 0x10, 0); +} + +/* turn on/off mic-mute LED per capture hook via VREF change */ +static int vref_micmute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) { + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct alc_spec *spec = codec->spec; - unsigned int pinval; - if (!spec->cap_mute_led_nid) - return; - pinval = snd_hda_codec_get_pin_target(codec, spec->cap_mute_led_nid); - pinval &= ~AC_PINCTL_VREFEN; - if (spec->gen.micmute_led.led_value) - pinval |= AC_PINCTL_VREF_80; - else - pinval |= AC_PINCTL_VREF_HIZ; - snd_hda_set_pin_ctl_cache(codec, spec->cap_mute_led_nid, pinval); + alc_update_vref_led(codec, spec->cap_mute_led_nid, + spec->micmute_led_polarity, brightness); + return 0; } static void alc269_fixup_hp_gpio_mic1_led(struct hda_codec *codec, @@ -4214,7 +4289,7 @@ spec->gpio_mask |= 0x10; spec->gpio_dir |= 0x10; spec->cap_mute_led_nid = 0x18; - snd_hda_gen_add_micmute_led(codec, alc_cap_micmute_update); + snd_hda_gen_add_micmute_led_cdev(codec, vref_micmute_led_set); codec->power_filter = led_power_filter; } } @@ -4227,25 +4302,54 @@ alc_fixup_hp_gpio_led(codec, action, 0x08, 0); if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->cap_mute_led_nid = 0x18; - snd_hda_gen_add_micmute_led(codec, alc_cap_micmute_update); + snd_hda_gen_add_micmute_led_cdev(codec, vref_micmute_led_set); codec->power_filter = led_power_filter; } } -/* update mute-LED according to the speaker mute state via COEF bit */ -static void alc_fixup_mute_led_coefbit_hook(void *private_data, int enabled) +/* HP Spectre x360 14 model needs a unique workaround for enabling the amp; + * it needs to toggle the GPIO0 once on and off at each time (bko#210633) + */ +static void alc245_fixup_hp_x360_amp(struct hda_codec *codec, + const struct hda_fixup *fix, int action) { - struct hda_codec *codec = private_data; struct alc_spec *spec = codec->spec; - if (spec->mute_led_polarity) - enabled = !enabled; + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + spec->gpio_mask |= 0x01; + spec->gpio_dir |= 0x01; + break; + case HDA_FIXUP_ACT_INIT: + /* need to toggle GPIO to enable the amp */ + alc_update_gpio_data(codec, 0x01, true); + msleep(100); + alc_update_gpio_data(codec, 0x01, false); + break; + } +} +static void alc_update_coef_led(struct hda_codec *codec, + struct alc_coef_led *led, + bool polarity, bool on) +{ + if (polarity) + on = !on; /* temporarily power up/down for setting COEF bit */ - enabled ? alc_update_coef_idx(codec, spec->mute_led_coef_idx, - spec->mute_led_coefbit_mask, spec->mute_led_coefbit_off) : - alc_update_coef_idx(codec, spec->mute_led_coef_idx, - spec->mute_led_coefbit_mask, spec->mute_led_coefbit_on); + alc_update_coef_idx(codec, led->idx, led->mask, + on ? led->on : led->off); +} + +/* update mute-LED according to the speaker mute state via COEF bit */ +static int coef_mute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) +{ + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); + struct alc_spec *spec = codec->spec; + + alc_update_coef_led(codec, &spec->mute_led_coef, + spec->mute_led_polarity, brightness); + return 0; } static void alc285_fixup_hp_mute_led_coefbit(struct hda_codec *codec, @@ -4256,12 +4360,11 @@ if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->mute_led_polarity = 0; - spec->mute_led_coef_idx = 0x0b; - spec->mute_led_coefbit_mask = 1<<3; - spec->mute_led_coefbit_on = 1<<3; - spec->mute_led_coefbit_off = 0; - spec->gen.vmaster_mute.hook = alc_fixup_mute_led_coefbit_hook; - spec->gen.vmaster_mute_enum = 1; + spec->mute_led_coef.idx = 0x0b; + spec->mute_led_coef.mask = 1 << 3; + spec->mute_led_coef.on = 1 << 3; + spec->mute_led_coef.off = 0; + snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set); } } @@ -4273,26 +4376,24 @@ if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->mute_led_polarity = 0; - spec->mute_led_coef_idx = 0x34; - spec->mute_led_coefbit_mask = 1<<5; - spec->mute_led_coefbit_on = 0; - spec->mute_led_coefbit_off = 1<<5; - spec->gen.vmaster_mute.hook = alc_fixup_mute_led_coefbit_hook; - spec->gen.vmaster_mute_enum = 1; + spec->mute_led_coef.idx = 0x34; + spec->mute_led_coef.mask = 1 << 5; + spec->mute_led_coef.on = 0; + spec->mute_led_coef.off = 1 << 5; + snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set); } } /* turn on/off mic-mute LED per capture hook by coef bit */ -static void alc_hp_cap_micmute_update(struct hda_codec *codec) +static int coef_micmute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) { + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct alc_spec *spec = codec->spec; - if (spec->gen.micmute_led.led_value) - alc_update_coef_idx(codec, spec->mic_led_coef_idx, - spec->mic_led_coefbit_mask, spec->mic_led_coefbit_on); - else - alc_update_coef_idx(codec, spec->mic_led_coef_idx, - spec->mic_led_coefbit_mask, spec->mic_led_coefbit_off); + alc_update_coef_led(codec, &spec->mic_led_coef, + spec->micmute_led_polarity, brightness); + return 0; } static void alc285_fixup_hp_coef_micmute_led(struct hda_codec *codec, @@ -4301,11 +4402,11 @@ struct alc_spec *spec = codec->spec; if (action == HDA_FIXUP_ACT_PRE_PROBE) { - spec->mic_led_coef_idx = 0x19; - spec->mic_led_coefbit_mask = 1<<13; - spec->mic_led_coefbit_on = 1<<13; - spec->mic_led_coefbit_off = 0; - snd_hda_gen_add_micmute_led(codec, alc_hp_cap_micmute_update); + spec->mic_led_coef.idx = 0x19; + spec->mic_led_coef.mask = 1 << 13; + spec->mic_led_coef.on = 1 << 13; + spec->mic_led_coef.off = 0; + snd_hda_gen_add_micmute_led_cdev(codec, coef_micmute_led_set); } } @@ -4315,11 +4416,11 @@ struct alc_spec *spec = codec->spec; if (action == HDA_FIXUP_ACT_PRE_PROBE) { - spec->mic_led_coef_idx = 0x35; - spec->mic_led_coefbit_mask = 3<<2; - spec->mic_led_coefbit_on = 2<<2; - spec->mic_led_coefbit_off = 1<<2; - snd_hda_gen_add_micmute_led(codec, alc_hp_cap_micmute_update); + spec->mic_led_coef.idx = 0x35; + spec->mic_led_coef.mask = 3 << 2; + spec->mic_led_coef.on = 2 << 2; + spec->mic_led_coef.off = 1 << 2; + snd_hda_gen_add_micmute_led_cdev(codec, coef_micmute_led_set); } } @@ -4459,7 +4560,7 @@ alc269_fixup_hp_mute_led_micx(codec, fix, action, 0x1a); if (action == HDA_FIXUP_ACT_PRE_PROBE) { spec->cap_mute_led_nid = 0x18; - snd_hda_gen_add_micmute_led(codec, alc_cap_micmute_update); + snd_hda_gen_add_micmute_led_cdev(codec, vref_micmute_led_set); } } @@ -4476,6 +4577,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec) { + struct alc_spec *spec = codec->spec; static const struct coef_fw coef0255[] = { WRITE_COEF(0x1b, 0x0c0b), /* LDO and MISC control */ WRITE_COEF(0x45, 0xd089), /* UAJ function set to menual mode */ @@ -4550,6 +4652,11 @@ {} }; + if (spec->no_internal_mic_pin) { + alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12); + return; + } + switch (codec->core.vendor_id) { case 0x10ec0255: alc_process_coef_fw(codec, coef0255); @@ -5116,6 +5223,11 @@ {} }; + if (spec->no_internal_mic_pin) { + alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12); + return; + } + switch (codec->core.vendor_id) { case 0x10ec0255: alc_process_coef_fw(codec, coef0255); @@ -5153,7 +5265,7 @@ case 0x10ec0274: case 0x10ec0294: alc_process_coef_fw(codec, coef0274); - msleep(80); + msleep(850); val = alc_read_coef_idx(codec, 0x46); is_ctia = (val & 0x00f0) == 0x00f0; break; @@ -5337,6 +5449,7 @@ struct hda_jack_callback *jack) { snd_hda_gen_hp_automute(codec, jack); + alc_update_headset_mode(codec); } static void alc_probe_headset_mode(struct hda_codec *codec) @@ -5883,6 +5996,39 @@ } } +/* Quirk for Thinkpad X1 7th and 8th Gen + * The following fixed routing needed + * DAC1 (NID 0x02) -> Speaker (NID 0x14); some eq applied secretly + * DAC2 (NID 0x03) -> Bass (NID 0x17) & Headphone (NID 0x21); sharing a DAC + * DAC3 (NID 0x06) -> Unused, due to the lack of volume amp + */ +static void alc285_fixup_thinkpad_x1_gen7(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + static const hda_nid_t conn[] = { 0x02, 0x03 }; /* exclude 0x06 */ + static const hda_nid_t preferred_pairs[] = { + 0x14, 0x02, 0x17, 0x03, 0x21, 0x03, 0 + }; + struct alc_spec *spec = codec->spec; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); + spec->gen.preferred_dacs = preferred_pairs; + break; + case HDA_FIXUP_ACT_BUILD: + /* The generic parser creates somewhat unintuitive volume ctls + * with the fixed routing above, and the shared DAC2 may be + * confusing for PA. + * Rename those to unique names so that PA doesn't touch them + * and use only Master volume. + */ + rename_ctl(codec, "Front Playback Volume", "DAC1 Playback Volume"); + rename_ctl(codec, "Bass Speaker Playback Volume", "DAC2 Playback Volume"); + break; + } +} + static void alc233_alc662_fixup_lenovo_dual_codecs(struct hda_codec *codec, const struct hda_fixup *fix, int action) @@ -5934,6 +6080,21 @@ codec->power_save_node = 0; } +/* avoid DAC 0x06 for bass speaker 0x17; it has no volume control */ +static void alc289_fixup_asus_ga401(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + static const hda_nid_t preferred_pairs[] = { + 0x14, 0x02, 0x17, 0x02, 0x21, 0x03, 0 + }; + struct alc_spec *spec = codec->spec; + + if (action == HDA_FIXUP_ACT_PRE_PROBE) { + spec->gen.preferred_dacs = preferred_pairs; + spec->gen.obey_preferred_dacs = 1; + } +} + /* The DAC of NID 0x3 will introduce click/pop noise on headphones, so invalidate it */ static void alc285_fixup_invalidate_dacs(struct hda_codec *codec, const struct hda_fixup *fix, int action) @@ -5944,6 +6105,27 @@ snd_hda_override_wcaps(codec, 0x03, 0); } +static void alc_combo_jack_hp_jd_restart(struct hda_codec *codec) +{ + switch (codec->core.vendor_id) { + case 0x10ec0274: + case 0x10ec0294: + case 0x10ec0225: + case 0x10ec0295: + case 0x10ec0299: + alc_update_coef_idx(codec, 0x4a, 0x8000, 1 << 15); /* Reset HP JD */ + alc_update_coef_idx(codec, 0x4a, 0x8000, 0 << 15); + break; + case 0x10ec0235: + case 0x10ec0236: + case 0x10ec0255: + case 0x10ec0256: + alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */ + alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15); + break; + } +} + static void alc295_fixup_chromebook(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -5954,16 +6136,7 @@ spec->ultra_low_power = true; break; case HDA_FIXUP_ACT_INIT: - switch (codec->core.vendor_id) { - case 0x10ec0295: - alc_update_coef_idx(codec, 0x4a, 0x8000, 1 << 15); /* Reset HP JD */ - alc_update_coef_idx(codec, 0x4a, 0x8000, 0 << 15); - break; - case 0x10ec0236: - alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */ - alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15); - break; - } + alc_combo_jack_hp_jd_restart(codec); break; } } @@ -5975,6 +6148,40 @@ snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREFHIZ); } + +static void alc294_gx502_toggle_output(struct hda_codec *codec, + struct hda_jack_callback *cb) +{ + /* The Windows driver sets the codec up in a very different way where + * it appears to leave 0x10 = 0x8a20 set. For Linux we need to toggle it + */ + if (snd_hda_jack_detect_state(codec, 0x21) == HDA_JACK_PRESENT) + alc_write_coef_idx(codec, 0x10, 0x8a20); + else + alc_write_coef_idx(codec, 0x10, 0x0a20); +} + +static void alc294_fixup_gx502_hp(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + /* Pin 0x21: headphones/headset mic */ + if (!is_jack_detectable(codec, 0x21)) + return; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_jack_detect_enable_callback(codec, 0x21, + alc294_gx502_toggle_output); + break; + case HDA_FIXUP_ACT_INIT: + /* Make sure to start in a correct state, i.e. if + * headphones have been plugged in before powering up the system + */ + alc294_gx502_toggle_output(codec, NULL); + break; + } +} + static void alc285_fixup_hp_gpio_amp_init(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -5985,6 +6192,33 @@ alc_write_coef_idx(codec, 0x65, 0x0); } +static void alc274_fixup_hp_headset_mic(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + switch (action) { + case HDA_FIXUP_ACT_INIT: + alc_combo_jack_hp_jd_restart(codec); + break; + } +} + +static void alc_fixup_no_int_mic(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + /* Mic RING SLEEVE swap for combo jack */ + alc_update_coef_idx(codec, 0x45, 0xf<<12 | 1<<10, 5<<12); + spec->no_internal_mic_pin = true; + break; + case HDA_FIXUP_ACT_INIT: + alc_combo_jack_hp_jd_restart(codec); + break; + } +} + /* for hda_fixup_thinkpad_acpi() */ #include "thinkpad_helper.c" @@ -5999,6 +6233,7 @@ #include "hp_x360_helper.c" enum { + ALC269_FIXUP_GPIO2, ALC269_FIXUP_SONY_VAIO, ALC275_FIXUP_SONY_VAIO_GPIO2, ALC269_FIXUP_DELL_M101Z, @@ -6075,12 +6310,14 @@ ALC283_FIXUP_HEADSET_MIC, ALC255_FIXUP_MIC_MUTE_LED, ALC282_FIXUP_ASPIRE_V5_PINS, + ALC269VB_FIXUP_ASPIRE_E1_COEF, ALC280_FIXUP_HP_GPIO4, ALC286_FIXUP_HP_GPIO_LED, ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY, ALC280_FIXUP_HP_DOCK_PINS, ALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED, ALC280_FIXUP_HP_9480M, + ALC245_FIXUP_HP_X360_AMP, ALC288_FIXUP_DELL_HEADSET_MODE, ALC288_FIXUP_DELL1_MIC_NO_PRESENCE, ALC288_FIXUP_DELL_XPS_13, @@ -6104,6 +6341,7 @@ ALC221_FIXUP_HP_FRONT_MIC, ALC292_FIXUP_TPT460, ALC298_FIXUP_SPK_VOLUME, + ALC298_FIXUP_LENOVO_SPK_VOLUME, ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER, ALC269_FIXUP_ATIV_BOOK_8, ALC221_FIXUP_HP_MIC_NO_PRESENCE, @@ -6151,11 +6389,16 @@ ALC289_FIXUP_DUAL_SPK, ALC294_FIXUP_SPK2_TO_DAC1, ALC294_FIXUP_ASUS_DUAL_SPK, + ALC285_FIXUP_THINKPAD_X1_GEN7, ALC285_FIXUP_THINKPAD_HEADSET_JACK, ALC294_FIXUP_ASUS_HPE, ALC294_FIXUP_ASUS_COEF_1B, + ALC294_FIXUP_ASUS_GX502_HP, + ALC294_FIXUP_ASUS_GX502_PINS, + ALC294_FIXUP_ASUS_GX502_VERBS, ALC285_FIXUP_HP_GPIO_LED, ALC285_FIXUP_HP_MUTE_LED, + ALC236_FIXUP_HP_GPIO_LED, ALC236_FIXUP_HP_MUTE_LED, ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, ALC295_FIXUP_ASUS_MIC_NO_PRESENCE, @@ -6166,9 +6409,31 @@ ALC289_FIXUP_ASUS_GA502, ALC256_FIXUP_ACER_MIC_NO_PRESENCE, ALC285_FIXUP_HP_GPIO_AMP_INIT, + ALC269_FIXUP_CZC_B20, + ALC269_FIXUP_CZC_TMI, + ALC269_FIXUP_CZC_L101, + ALC269_FIXUP_LEMOTE_A1802, + ALC269_FIXUP_LEMOTE_A190X, + ALC256_FIXUP_INTEL_NUC8_RUGGED, + ALC256_FIXUP_INTEL_NUC10, + ALC255_FIXUP_XIAOMI_HEADSET_MIC, + ALC274_FIXUP_HP_MIC, + ALC274_FIXUP_HP_HEADSET_MIC, + ALC256_FIXUP_ASUS_HPE, + ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK, + ALC287_FIXUP_HP_GPIO_LED, + ALC256_FIXUP_HP_HEADSET_MIC, + ALC236_FIXUP_DELL_AIO_HEADSET_MIC, + ALC282_FIXUP_ACER_DISABLE_LINEOUT, + ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST, + ALC256_FIXUP_ACER_HEADSET_MIC, }; static const struct hda_fixup alc269_fixups[] = { + [ALC269_FIXUP_GPIO2] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_gpio2, + }, [ALC269_FIXUP_SONY_VAIO] = { .type = HDA_FIXUP_PINCTLS, .v.pins = (const struct hda_pintbl[]) { @@ -6706,7 +6971,7 @@ }, [ALC255_FIXUP_MIC_MUTE_LED] = { .type = HDA_FIXUP_FUNC, - .v.func = snd_hda_gen_fixup_micmute_led, + .v.func = alc_fixup_micmute_led, }, [ALC282_FIXUP_ASPIRE_V5_PINS] = { .type = HDA_FIXUP_PINS, @@ -6724,6 +6989,10 @@ { }, }, }, + [ALC269VB_FIXUP_ASPIRE_E1_COEF] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc269vb_fixup_aspire_e1_coef, + }, [ALC280_FIXUP_HP_GPIO4] = { .type = HDA_FIXUP_FUNC, .v.func = alc280_fixup_hp_gpio4, @@ -6761,6 +7030,10 @@ .type = HDA_FIXUP_FUNC, .v.func = alc280_fixup_hp_9480m, }, + [ALC245_FIXUP_HP_X360_AMP] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc245_fixup_hp_x360_amp, + }, [ALC288_FIXUP_DELL_HEADSET_MODE] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_headset_mode_dell_alc288, @@ -6809,7 +7082,7 @@ }, [ALC292_FIXUP_DELL_E7X] = { .type = HDA_FIXUP_FUNC, - .v.func = snd_hda_gen_fixup_micmute_led, + .v.func = alc_fixup_micmute_led, /* micmute fixup must be applied at last */ .chained_before = true, .chain_id = ALC292_FIXUP_DELL_E7X_AAMIX, @@ -6911,6 +7184,10 @@ .chained = true, .chain_id = ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, }, + [ALC298_FIXUP_LENOVO_SPK_VOLUME] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc298_fixup_speaker_volume, + }, [ALC295_FIXUP_DISABLE_DAC3] = { .type = HDA_FIXUP_FUNC, .v.func = alc295_fixup_disable_dac3, @@ -6988,6 +7265,8 @@ [ALC233_FIXUP_LENOVO_MULTI_CODECS] = { .type = HDA_FIXUP_FUNC, .v.func = alc233_alc662_fixup_lenovo_dual_codecs, + .chained = true, + .chain_id = ALC269_FIXUP_GPIO2 }, [ALC233_FIXUP_ACER_HEADSET_MIC] = { .type = HDA_FIXUP_VERBS, @@ -7290,11 +7569,17 @@ .chained = true, .chain_id = ALC294_FIXUP_SPK2_TO_DAC1 }, + [ALC285_FIXUP_THINKPAD_X1_GEN7] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_thinkpad_x1_gen7, + .chained = true, + .chain_id = ALC269_FIXUP_THINKPAD_ACPI + }, [ALC285_FIXUP_THINKPAD_HEADSET_JACK] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_headset_jack, .chained = true, - .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1 + .chain_id = ALC285_FIXUP_THINKPAD_X1_GEN7 }, [ALC294_FIXUP_ASUS_HPE] = { .type = HDA_FIXUP_VERBS, @@ -7307,6 +7592,33 @@ .chained = true, .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC }, + [ALC294_FIXUP_ASUS_GX502_PINS] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x03a11050 }, /* front HP mic */ + { 0x1a, 0x01a11830 }, /* rear external mic */ + { 0x21, 0x03211020 }, /* front HP out */ + { } + }, + .chained = true, + .chain_id = ALC294_FIXUP_ASUS_GX502_VERBS + }, + [ALC294_FIXUP_ASUS_GX502_VERBS] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + /* set 0x15 to HP-OUT ctrl */ + { 0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 }, + /* unmute the 0x15 amp */ + { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000 }, + { } + }, + .chained = true, + .chain_id = ALC294_FIXUP_ASUS_GX502_HP + }, + [ALC294_FIXUP_ASUS_GX502_HP] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc294_fixup_gx502_hp, + }, [ALC294_FIXUP_ASUS_COEF_1B] = { .type = HDA_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -7326,6 +7638,10 @@ .type = HDA_FIXUP_FUNC, .v.func = alc285_fixup_hp_mute_led, }, + [ALC236_FIXUP_HP_GPIO_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc236_fixup_hp_gpio_led, + }, [ALC236_FIXUP_HP_MUTE_LED] = { .type = HDA_FIXUP_FUNC, .v.func = alc236_fixup_hp_mute_led, @@ -7376,11 +7692,10 @@ .chain_id = ALC269_FIXUP_HEADSET_MIC }, [ALC289_FIXUP_ASUS_GA401] = { - .type = HDA_FIXUP_PINS, - .v.pins = (const struct hda_pintbl[]) { - { 0x19, 0x03a11020 }, /* headset mic with jack detect */ - { } - }, + .type = HDA_FIXUP_FUNC, + .v.func = alc289_fixup_asus_ga401, + .chained = true, + .chain_id = ALC289_FIXUP_ASUS_GA502, }, [ALC289_FIXUP_ASUS_GA502] = { .type = HDA_FIXUP_PINS, @@ -7404,6 +7719,188 @@ .chained = true, .chain_id = ALC285_FIXUP_HP_GPIO_LED }, + [ALC269_FIXUP_CZC_B20] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x12, 0x411111f0 }, + { 0x14, 0x90170110 }, /* speaker */ + { 0x15, 0x032f1020 }, /* HP out */ + { 0x17, 0x411111f0 }, + { 0x18, 0x03ab1040 }, /* mic */ + { 0x19, 0xb7a7013f }, + { 0x1a, 0x0181305f }, + { 0x1b, 0x411111f0 }, + { 0x1d, 0x411111f0 }, + { 0x1e, 0x411111f0 }, + { } + }, + .chain_id = ALC269_FIXUP_DMIC, + }, + [ALC269_FIXUP_CZC_TMI] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x12, 0x4000c000 }, + { 0x14, 0x90170110 }, /* speaker */ + { 0x15, 0x0421401f }, /* HP out */ + { 0x17, 0x411111f0 }, + { 0x18, 0x04a19020 }, /* mic */ + { 0x19, 0x411111f0 }, + { 0x1a, 0x411111f0 }, + { 0x1b, 0x411111f0 }, + { 0x1d, 0x40448505 }, + { 0x1e, 0x411111f0 }, + { 0x20, 0x8000ffff }, + { } + }, + .chain_id = ALC269_FIXUP_DMIC, + }, + [ALC269_FIXUP_CZC_L101] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x12, 0x40000000 }, + { 0x14, 0x01014010 }, /* speaker */ + { 0x15, 0x411111f0 }, /* HP out */ + { 0x16, 0x411111f0 }, + { 0x18, 0x01a19020 }, /* mic */ + { 0x19, 0x02a19021 }, + { 0x1a, 0x0181302f }, + { 0x1b, 0x0221401f }, + { 0x1c, 0x411111f0 }, + { 0x1d, 0x4044c601 }, + { 0x1e, 0x411111f0 }, + { } + }, + .chain_id = ALC269_FIXUP_DMIC, + }, + [ALC269_FIXUP_LEMOTE_A1802] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x12, 0x40000000 }, + { 0x14, 0x90170110 }, /* speaker */ + { 0x17, 0x411111f0 }, + { 0x18, 0x03a19040 }, /* mic1 */ + { 0x19, 0x90a70130 }, /* mic2 */ + { 0x1a, 0x411111f0 }, + { 0x1b, 0x411111f0 }, + { 0x1d, 0x40489d2d }, + { 0x1e, 0x411111f0 }, + { 0x20, 0x0003ffff }, + { 0x21, 0x03214020 }, + { } + }, + .chain_id = ALC269_FIXUP_DMIC, + }, + [ALC269_FIXUP_LEMOTE_A190X] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x14, 0x99130110 }, /* speaker */ + { 0x15, 0x0121401f }, /* HP out */ + { 0x18, 0x01a19c20 }, /* rear mic */ + { 0x19, 0x99a3092f }, /* front mic */ + { 0x1b, 0x0201401f }, /* front lineout */ + { } + }, + .chain_id = ALC269_FIXUP_DMIC, + }, + [ALC256_FIXUP_INTEL_NUC8_RUGGED] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x1b, 0x01a1913c }, /* use as headset mic, without its own jack detect */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE + }, + [ALC256_FIXUP_INTEL_NUC10] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE + }, + [ALC255_FIXUP_XIAOMI_HEADSET_MIC] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 }, + { } + }, + .chained = true, + .chain_id = ALC289_FIXUP_ASUS_GA502 + }, + [ALC274_FIXUP_HP_MIC] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + { 0x20, AC_VERB_SET_COEF_INDEX, 0x45 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x5089 }, + { } + }, + }, + [ALC274_FIXUP_HP_HEADSET_MIC] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc274_fixup_hp_headset_mic, + .chained = true, + .chain_id = ALC274_FIXUP_HP_MIC + }, + [ALC256_FIXUP_ASUS_HPE] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + /* Set EAPD high */ + { 0x20, AC_VERB_SET_COEF_INDEX, 0x0f }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x7778 }, + { } + }, + .chained = true, + .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC + }, + [ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_headset_jack, + .chained = true, + .chain_id = ALC269_FIXUP_THINKPAD_ACPI + }, + [ALC287_FIXUP_HP_GPIO_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc287_fixup_hp_gpio_led, + }, + [ALC256_FIXUP_HP_HEADSET_MIC] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc274_fixup_hp_headset_mic, + }, + [ALC236_FIXUP_DELL_AIO_HEADSET_MIC] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_no_int_mic, + .chained = true, + .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE + }, + [ALC282_FIXUP_ACER_DISABLE_LINEOUT] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x1b, 0x411111f0 }, + { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */ + { }, + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE + }, + [ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc269_fixup_limit_int_mic_boost, + .chained = true, + .chain_id = ALC255_FIXUP_ACER_MIC_NO_PRESENCE, + }, + [ALC256_FIXUP_ACER_HEADSET_MIC] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x02a1113c }, /* use as headset mic, without its own jack detect */ + { 0x1a, 0x90a1092f }, /* use as internal mic */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7418,17 +7915,24 @@ SND_PCI_QUIRK(0x1025, 0x0762, "Acer Aspire E1-472", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS), + SND_PCI_QUIRK(0x1025, 0x0840, "Acer Aspire E1", ALC269VB_FIXUP_ASPIRE_E1_COEF), + SND_PCI_QUIRK(0x1025, 0x101c, "Acer Veriton N2510G", ALC269_FIXUP_LIFEBOOK), SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1025, 0x1065, "Acer Aspire C20-820", ALC269VC_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK), + SND_PCI_QUIRK(0x1025, 0x1094, "Acer Aspire E5-575T", ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x1025, 0x1099, "Acer Aspire E5-523G", ALC255_FIXUP_ACER_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1025, 0x110e, "Acer Aspire ES1-432", ALC255_FIXUP_ACER_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1025, 0x1166, "Acer Veriton N4640G", ALC269_FIXUP_LIFEBOOK), + SND_PCI_QUIRK(0x1025, 0x1167, "Acer Veriton N6640G", ALC269_FIXUP_LIFEBOOK), SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK), SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS), SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), + SND_PCI_QUIRK(0x1025, 0x129c, "Acer SWIFT SF314-55", ALC256_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1308, "Acer Aspire Z24-890", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC), @@ -7481,6 +7985,9 @@ SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK), SND_PCI_QUIRK(0x1028, 0x098d, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x09bf, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x0a2e, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC), + SND_PCI_QUIRK(0x1028, 0x0a30, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC), + SND_PCI_QUIRK(0x1028, 0x0a58, "Dell", ALC255_FIXUP_DELL_HEADSET_MIC), 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), @@ -7547,16 +8054,31 @@ SND_PCI_QUIRK(0x103c, 0x820d, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC), SND_PCI_QUIRK(0x103c, 0x827e, "HP x360", ALC295_FIXUP_HP_X360), + SND_PCI_QUIRK(0x103c, 0x827f, "HP x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x82bf, "HP G3 mini", ALC221_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x82c0, "HP G3 mini premium", ALC221_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8729, "HP", ALC285_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_AMP_INIT), + SND_PCI_QUIRK(0x103c, 0x8760, "HP", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x877a, "HP", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x877d, "HP", ALC236_FIXUP_HP_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x8780, "HP ZBook Fury 17 G7 Mobile Workstation", + 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, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x87e5, "HP ProBook 440 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x87f2, "HP ProBook 640 G8 Notebook PC", ALC236_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x87f7, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP), + SND_PCI_QUIRK(0x103c, 0x8846, "HP EliteBook 850 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x884c, "HP EliteBook 840 G8 Notebook PC", ALC285_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), @@ -7565,6 +8087,7 @@ SND_PCI_QUIRK(0x1043, 0x10d0, "ASUS X540LA/X540LJ", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), + 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, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC), @@ -7577,6 +8100,7 @@ SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x194e, "ASUS UX563FD", ALC294_FIXUP_ASUS_HPE), + SND_PCI_QUIRK(0x1043, 0x1982, "ASUS B1400CEPE", ALC256_FIXUP_ASUS_HPE), SND_PCI_QUIRK(0x1043, 0x19ce, "ASUS B9450FA", ALC294_FIXUP_ASUS_HPE), SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), @@ -7585,9 +8109,12 @@ 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, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE), SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502), SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS), 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), @@ -7608,20 +8135,65 @@ SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC), SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE), SND_PCI_QUIRK(0x10ec, 0x1230, "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, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), 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(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), + SND_PCI_QUIRK(0x152d, 0x1082, "Quanta NL3", ALC269_FIXUP_LIFEBOOK), + SND_PCI_QUIRK(0x1558, 0x1323, "Clevo N130ZU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x1325, "System76 Darter Pro (darp5)", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x1401, "Clevo L140[CZ]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x1403, "Clevo N140CU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x1404, "Clevo N150CU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x14a1, "Clevo L141MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + 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, 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), + SND_PCI_QUIRK(0x1558, 0x50a3, "Clevo NJ51GU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50b3, "Clevo NK50S[BEZ]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50b6, "Clevo NK50S5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50b8, "Clevo NK50SZ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50d5, "Clevo NP50D5", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50f0, "Clevo NH50A[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x50f3, "Clevo NH58DPQ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x5101, "Clevo S510WU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x51a1, "Clevo NS50MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_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), + SND_PCI_QUIRK(0x1558, 0x8521, "Clevo NH77D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8535, "Clevo NH50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8536, "Clevo NH79D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8550, "System76 Gazelle (gaze14)", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8551, "System76 Gazelle (gaze14)", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8560, "System76 Gazelle (gaze14)", ALC269_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x1558, 0x8561, "System76 Gazelle (gaze14)", ALC269_FIXUP_HEADSET_MIC), + SND_PCI_QUIRK(0x1558, 0x8562, "Clevo NH[5|7][0-9]RZ[Q]", ALC269_FIXUP_DMIC), + SND_PCI_QUIRK(0x1558, 0x8668, "Clevo NP50B[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8680, "Clevo NJ50LU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8686, "Clevo NH50[CZ]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8a20, "Clevo NH55DCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8a51, "Clevo NH70RCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x8d50, "Clevo NH55RCQ-M", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x951d, "Clevo N950T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x961d, "Clevo N960S[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL53RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS), SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), @@ -7659,6 +8231,8 @@ SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK), SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK), + SND_PCI_QUIRK(0x17aa, 0x22c1, "Thinkpad P1 Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK), + SND_PCI_QUIRK(0x17aa, 0x22c2, "Thinkpad X1 Extreme Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK), SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), @@ -7669,6 +8243,7 @@ SND_PCI_QUIRK(0x17aa, 0x3151, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), 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, 0x3818, "Lenovo C940", ALC298_FIXUP_LENOVO_SPK_VOLUME), SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI), SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC), SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI), @@ -7693,9 +8268,19 @@ SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K), SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), + 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(0x1d72, 0x1602, "RedmiBook", ALC255_FIXUP_XIAOMI_HEADSET_MIC), + SND_PCI_QUIRK(0x1d72, 0x1701, "XiaomiNotebook Pro", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC), + SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC), SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE), + 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(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED), + SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10), #if 0 /* Below is a quirk table taken from the old code. @@ -7825,6 +8410,7 @@ {.id = ALC283_FIXUP_HEADSET_MIC, .name = "alc283-headset"}, {.id = ALC255_FIXUP_MIC_MUTE_LED, .name = "alc255-dell-mute"}, {.id = ALC282_FIXUP_ASPIRE_V5_PINS, .name = "aspire-v5"}, + {.id = ALC269VB_FIXUP_ASPIRE_E1_COEF, .name = "aspire-e1-coef"}, {.id = ALC280_FIXUP_HP_GPIO4, .name = "hp-gpio4"}, {.id = ALC286_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"}, {.id = ALC280_FIXUP_HP_GPIO2_MIC_HOTKEY, .name = "hp-gpio2-hotkey"}, @@ -7867,6 +8453,10 @@ {.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 = ALC255_FIXUP_XIAOMI_HEADSET_MIC, .name = "alc255-xiaomi-headset"}, + {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"}, + {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"}, {} }; #define ALC225_STANDARD_PINS \ @@ -7961,6 +8551,12 @@ {0x19, 0x02a11020}, {0x1a, 0x02a11030}, {0x21, 0x0221101f}), + SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC236_FIXUP_DELL_AIO_HEADSET_MIC, + {0x21, 0x02211010}), + SND_HDA_PIN_QUIRK(0x10ec0236, 0x103c, "HP", ALC256_FIXUP_HP_HEADSET_MIC, + {0x14, 0x90170110}, + {0x19, 0x02a11020}, + {0x21, 0x02211030}), SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE, {0x14, 0x90170110}, {0x21, 0x02211020}), @@ -8063,6 +8659,14 @@ {0x1a, 0x90a70130}, {0x1b, 0x90170110}, {0x21, 0x03211020}), + SND_HDA_PIN_QUIRK(0x10ec0256, 0x103c, "HP", ALC256_FIXUP_HP_HEADSET_MIC, + {0x14, 0x90170110}, + {0x19, 0x02a11020}, + {0x21, 0x0221101f}), + SND_HDA_PIN_QUIRK(0x10ec0274, 0x103c, "HP", ALC274_FIXUP_HP_HEADSET_MIC, + {0x17, 0x90170110}, + {0x19, 0x03a11030}, + {0x21, 0x03211020}), SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4, {0x12, 0x90a60130}, {0x14, 0x90170110}, @@ -8100,6 +8704,22 @@ {0x12, 0x90a60140}, {0x19, 0x04a11030}, {0x21, 0x04211020}), + SND_HDA_PIN_QUIRK(0x10ec0282, 0x1025, "Acer", ALC282_FIXUP_ACER_DISABLE_LINEOUT, + ALC282_STANDARD_PINS, + {0x12, 0x90a609c0}, + {0x18, 0x03a11830}, + {0x19, 0x04a19831}, + {0x1a, 0x0481303f}, + {0x1b, 0x04211020}, + {0x21, 0x0321101f}), + SND_HDA_PIN_QUIRK(0x10ec0282, 0x1025, "Acer", ALC282_FIXUP_ACER_DISABLE_LINEOUT, + ALC282_STANDARD_PINS, + {0x12, 0x90a60940}, + {0x18, 0x03a11830}, + {0x19, 0x04a19831}, + {0x1a, 0x0481303f}, + {0x1b, 0x04211020}, + {0x21, 0x0321101f}), SND_HDA_PIN_QUIRK(0x10ec0283, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, ALC282_STANDARD_PINS, {0x12, 0x90a60130}, @@ -8113,11 +8733,20 @@ {0x12, 0x90a60130}, {0x19, 0x03a11020}, {0x21, 0x0321101f}), + SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK, + {0x14, 0x90170110}, + {0x19, 0x04a11040}, + {0x21, 0x04211020}), SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE, {0x12, 0x90a60130}, {0x14, 0x90170110}, {0x19, 0x04a11040}, {0x21, 0x04211020}), + SND_HDA_PIN_QUIRK(0x10ec0287, 0x17aa, "Lenovo", ALC285_FIXUP_THINKPAD_HEADSET_JACK, + {0x14, 0x90170110}, + {0x17, 0x90170111}, + {0x19, 0x03a11030}, + {0x21, 0x03211020}), SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE, {0x12, 0x90a60130}, {0x17, 0x90170110}, @@ -8181,6 +8810,9 @@ SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, ALC292_STANDARD_PINS, {0x13, 0x90a60140}), + SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_HPE, + {0x17, 0x90170110}, + {0x21, 0x04211020}), SND_HDA_PIN_QUIRK(0x10ec0294, 0x1043, "ASUS", ALC294_FIXUP_ASUS_MIC, {0x14, 0x90170110}, {0x1b, 0x90a70130}, @@ -8951,6 +9583,7 @@ ALC662_FIXUP_LED_GPIO1, ALC662_FIXUP_IDEAPAD, ALC272_FIXUP_MARIO, + ALC662_FIXUP_CZC_ET26, ALC662_FIXUP_CZC_P10T, ALC662_FIXUP_SKU_IGNORE, ALC662_FIXUP_HP_RP5800, @@ -9020,6 +9653,25 @@ .type = HDA_FIXUP_FUNC, .v.func = alc272_fixup_mario, }, + [ALC662_FIXUP_CZC_ET26] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + {0x12, 0x403cc000}, + {0x14, 0x90170110}, /* speaker */ + {0x15, 0x411111f0}, + {0x16, 0x411111f0}, + {0x18, 0x01a19030}, /* mic */ + {0x19, 0x90a7013f}, /* int-mic */ + {0x1a, 0x01014020}, + {0x1b, 0x0121401f}, + {0x1c, 0x411111f0}, + {0x1d, 0x411111f0}, + {0x1e, 0x40478e35}, + {} + }, + .chained = true, + .chain_id = ALC662_FIXUP_SKU_IGNORE + }, [ALC662_FIXUP_CZC_P10T] = { .type = HDA_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -9381,6 +10033,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, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE), SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_ASUS_Nx50), SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A), @@ -9403,6 +10056,7 @@ SND_PCI_QUIRK(0x1849, 0x5892, "ASRock B150M", ALC892_FIXUP_ASROCK_MOBO), SND_PCI_QUIRK(0x19da, 0xa130, "Zotac Z68", ALC662_FIXUP_ZOTAC_Z68), SND_PCI_QUIRK(0x1b0a, 0x01b8, "ACER Veriton", ALC662_FIXUP_ACER_VERITON), + SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26), SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), SND_PCI_QUIRK(0x1025, 0x0566, "Acer Aspire Ethos 8951G", ALC669_FIXUP_ACER_ASPIRE_ETHOS), @@ -9745,6 +10399,7 @@ HDA_CODEC_ENTRY(0x10ec0888, "ALC888", patch_alc882), HDA_CODEC_ENTRY(0x10ec0889, "ALC889", patch_alc882), HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662), + HDA_CODEC_ENTRY(0x10ec0897, "ALC897", patch_alc662), HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882), HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882), HDA_CODEC_ENTRY(0x10ec0b00, "ALCS1200A", patch_alc882), --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_sigmatel.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_sigmatel.c @@ -320,15 +320,18 @@ } /* hook for controlling mic-mute LED GPIO */ -static void stac_capture_led_update(struct hda_codec *codec) +static int stac_capture_led_update(struct led_classdev *led_cdev, + enum led_brightness brightness) { + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); struct sigmatel_spec *spec = codec->spec; - if (spec->gen.micmute_led.led_value) + if (brightness) spec->gpio_data |= spec->mic_mute_led_gpio; else spec->gpio_data &= ~spec->mic_mute_led_gpio; stac_gpio_set(codec, spec->gpio_mask, spec->gpio_dir, spec->gpio_data); + return 0; } static int stac_vrefout_set(struct hda_codec *codec, @@ -366,10 +369,9 @@ } /* update mute-LED accoring to the master switch */ -static void stac_update_led_status(struct hda_codec *codec, int enabled) +static void stac_update_led_status(struct hda_codec *codec, bool muted) { struct sigmatel_spec *spec = codec->spec; - int muted = !enabled; if (!spec->gpio_led) return; @@ -393,9 +395,13 @@ } /* vmaster hook to update mute LED */ -static void stac_vmaster_hook(void *private_data, int val) +static int stac_vmaster_hook(struct led_classdev *led_cdev, + enum led_brightness brightness) { - stac_update_led_status(private_data, val); + struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent); + + stac_update_led_status(codec, brightness); + return 0; } /* automute hook to handle GPIO mute and EAPD updates */ @@ -832,7 +838,7 @@ static const struct snd_kcontrol_new beep_vol_ctl = HDA_CODEC_VOLUME(NULL, 0, 0, 0); - /* check for mute support for the the amp */ + /* check for mute support for the amp */ if ((caps & AC_AMPCAP_MUTE) >> AC_AMPCAP_MUTE_SHIFT) { const struct snd_kcontrol_new *temp; if (spec->anabeep_nid == nid) @@ -4313,7 +4319,7 @@ #endif if (spec->gpio_led) - spec->gen.vmaster_mute.hook = stac_vmaster_hook; + snd_hda_gen_add_mute_led_cdev(codec, stac_vmaster_hook); if (spec->aloopback_ctl && snd_hda_get_bool_hint(codec, "loopback") == 1) { @@ -4636,7 +4642,7 @@ spec->gpio_dir |= spec->mic_mute_led_gpio; spec->mic_enabled = 0; spec->gpio_data |= spec->mic_mute_led_gpio; - snd_hda_gen_add_micmute_led(codec, stac_capture_led_update); + snd_hda_gen_add_micmute_led_cdev(codec, stac_capture_led_update); } } --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/patch_via.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/patch_via.c @@ -113,6 +113,7 @@ spec->codec_type = VT1708S; spec->gen.indep_hp = 1; spec->gen.keep_eapd_on = 1; + spec->gen.dac_min_mute = 1; spec->gen.pcm_playback_hook = via_playback_pcm_hook; spec->gen.add_stereo_mix_input = HDA_HINT_STEREO_MIX_AUTO; codec->power_save_node = 1; @@ -1002,6 +1003,7 @@ enum { VIA_FIXUP_INTMIC_BOOST, VIA_FIXUP_ASUS_G75, + VIA_FIXUP_POWER_SAVE, }; static void via_fixup_intmic_boost(struct hda_codec *codec, @@ -1011,6 +1013,13 @@ override_mic_boost(codec, 0x30, 0, 2, 40); } +static void via_fixup_power_save(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) + codec->power_save_node = 0; +} + static const struct hda_fixup via_fixups[] = { [VIA_FIXUP_INTMIC_BOOST] = { .type = HDA_FIXUP_FUNC, @@ -1025,11 +1034,16 @@ { } } }, + [VIA_FIXUP_POWER_SAVE] = { + .type = HDA_FIXUP_FUNC, + .v.func = via_fixup_power_save, + }, }; static const struct snd_pci_quirk vt2002p_fixups[] = { SND_PCI_QUIRK(0x1043, 0x1487, "Asus G75", VIA_FIXUP_ASUS_G75), SND_PCI_QUIRK(0x1043, 0x8532, "Asus X202E", VIA_FIXUP_INTMIC_BOOST), + SND_PCI_QUIRK_VENDOR(0x1558, "Clevo", VIA_FIXUP_POWER_SAVE), {} }; --- linux-riscv-5.8-5.8.0.orig/sound/pci/hda/thinkpad_helper.c +++ linux-riscv-5.8-5.8.0/sound/pci/hda/thinkpad_helper.c @@ -3,13 +3,11 @@ * to be included from codec driver */ -#if IS_ENABLED(CONFIG_THINKPAD_ACPI) && IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) +#if IS_ENABLED(CONFIG_THINKPAD_ACPI) #include #include -static void (*old_vmaster_hook)(void *, int); - static bool is_thinkpad(struct hda_codec *codec) { return (codec->core.subsystem_id >> 16 == 0x17aa) && @@ -17,25 +15,14 @@ acpi_dev_found("IBM0068")); } -static void update_tpacpi_mute_led(void *private_data, int enabled) -{ - if (old_vmaster_hook) - old_vmaster_hook(private_data, enabled); - - ledtrig_audio_set(LED_AUDIO_MUTE, enabled ? LED_OFF : LED_ON); -} - static void hda_fixup_thinkpad_acpi(struct hda_codec *codec, const struct hda_fixup *fix, int action) { - struct hda_gen_spec *spec = codec->spec; - if (action == HDA_FIXUP_ACT_PROBE) { if (!is_thinkpad(codec)) return; - old_vmaster_hook = spec->vmaster_mute.hook; - spec->vmaster_mute.hook = update_tpacpi_mute_led; - snd_hda_gen_fixup_micmute_led(codec, fix, action); + snd_hda_gen_add_mute_led_cdev(codec, NULL); + snd_hda_gen_add_micmute_led_cdev(codec, NULL); } } --- linux-riscv-5.8-5.8.0.orig/sound/pci/ice1712/prodigy192.c +++ linux-riscv-5.8-5.8.0/sound/pci/ice1712/prodigy192.c @@ -32,7 +32,7 @@ * Experimentally I found out that only a combination of * OCKS0=1, OCKS1=1 (128fs, 64fs output) and ice1724 - * VT1724_MT_I2S_MCLK_128X=0 (256fs input) yields correct - * sampling rate. That means the the FPGA doubles the + * sampling rate. That means that the FPGA doubles the * MCK01 rate. * * Copyright (c) 2003 Takashi Iwai --- linux-riscv-5.8-5.8.0.orig/sound/pci/mixart/mixart_core.c +++ linux-riscv-5.8-5.8.0/sound/pci/mixart/mixart_core.c @@ -70,7 +70,6 @@ unsigned int i; #endif - mutex_lock(&mgr->msg_lock); err = 0; /* copy message descriptor from miXart to driver */ @@ -119,8 +118,6 @@ writel_be(headptr, MIXART_MEM(mgr, MSG_OUTBOUND_FREE_HEAD)); _clean_exit: - mutex_unlock(&mgr->msg_lock); - return err; } @@ -258,7 +255,9 @@ resp.data = resp_data; resp.size = max_resp_size; + mutex_lock(&mgr->msg_lock); err = get_msg(mgr, &resp, msg_frame); + mutex_unlock(&mgr->msg_lock); if( request->message_id != resp.message_id ) dev_err(&mgr->pci->dev, "RESPONSE ERROR!\n"); --- linux-riscv-5.8-5.8.0.orig/sound/pci/oxygen/xonar_dg.c +++ linux-riscv-5.8-5.8.0/sound/pci/oxygen/xonar_dg.c @@ -29,7 +29,7 @@ * GPIO 4 <- headphone detect * GPIO 5 -> enable ADC analog circuit for the left channel * GPIO 6 -> enable ADC analog circuit for the right channel - * GPIO 7 -> switch green rear output jack between CS4245 and and the first + * GPIO 7 -> switch green rear output jack between CS4245 and the first * channel of CS4361 (mechanical relay) * GPIO 8 -> enable output to speakers * --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/acp-da7219-max98357a.c +++ linux-riscv-5.8-5.8.0/sound/soc/amd/acp-da7219-max98357a.c @@ -73,8 +73,13 @@ return ret; } - da7219_dai_wclk = clk_get(component->dev, "da7219-dai-wclk"); - da7219_dai_bclk = clk_get(component->dev, "da7219-dai-bclk"); + da7219_dai_wclk = devm_clk_get(component->dev, "da7219-dai-wclk"); + if (IS_ERR(da7219_dai_wclk)) + return PTR_ERR(da7219_dai_wclk); + + da7219_dai_bclk = devm_clk_get(component->dev, "da7219-dai-bclk"); + if (IS_ERR(da7219_dai_bclk)) + return PTR_ERR(da7219_dai_bclk); ret = snd_soc_card_jack_new(card, "Headset Jack", SND_JACK_HEADSET | SND_JACK_LINEOUT | --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/acp3x-rt5682-max9836.c +++ linux-riscv-5.8-5.8.0/sound/soc/amd/acp3x-rt5682-max9836.c @@ -346,12 +346,17 @@ ret = devm_snd_soc_register_card(&pdev->dev, &acp3x_card); if (ret) { - dev_err(&pdev->dev, + if (ret != -EPROBE_DEFER) + dev_err(&pdev->dev, "devm_snd_soc_register_card(%s) failed: %d\n", acp3x_card.name, ret); - return ret; + else + dev_dbg(&pdev->dev, + "devm_snd_soc_register_card(%s) probe deferred: %d\n", + card->name, ret); } - return 0; + + return ret; } static const struct acpi_device_id acp3x_audio_acpi_match[] = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/raven/pci-acp3x.c +++ linux-riscv-5.8-5.8.0/sound/soc/amd/raven/pci-acp3x.c @@ -115,6 +115,10 @@ int ret, i; u32 addr, val; + /* Raven device detection */ + if (pci->revision != 0x00) + return -ENODEV; + if (pci_enable_device(pci)) { dev_err(&pci->dev, "pci_enable_device failed\n"); return -ENODEV; --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/renoir/acp3x-pdm-dma.c +++ linux-riscv-5.8-5.8.0/sound/soc/amd/renoir/acp3x-pdm-dma.c @@ -314,40 +314,30 @@ return 0; } -static int acp_pdm_dai_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params, - struct snd_soc_dai *dai) +static int acp_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; - switch (params_channels(params)) { + ret = 0; + switch (substream->runtime->channels) { case TWO_CH: ch_mask = 0x00; break; default: return -EINVAL; } - rn_writel(ch_mask, rtd->acp_base + ACP_WOV_PDM_NO_OF_CHANNELS); - rn_writel(PDM_DECIMATION_FACTOR, rtd->acp_base + - ACP_WOV_PDM_DECIMATION_FACTOR); - return 0; -} - -static int acp_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; - - rtd = substream->runtime->private_data; - ret = 0; switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + rn_writel(ch_mask, rtd->acp_base + ACP_WOV_PDM_NO_OF_CHANNELS); + rn_writel(PDM_DECIMATION_FACTOR, rtd->acp_base + + ACP_WOV_PDM_DECIMATION_FACTOR); rtd->bytescount = acp_pdm_get_byte_count(rtd, substream->stream); pdm_status = check_pdm_dma_status(rtd->acp_base); @@ -369,7 +359,6 @@ } static struct snd_soc_dai_ops acp_pdm_dai_ops = { - .hw_params = acp_pdm_dai_hw_params, .trigger = acp_pdm_dai_trigger, }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/renoir/rn-pci-acp3x.c +++ linux-riscv-5.8-5.8.0/sound/soc/amd/renoir/rn-pci-acp3x.c @@ -5,6 +5,8 @@ //Copyright 2020 Advanced Micro Devices, Inc. #include +#include +#include #include #include #include @@ -18,6 +20,15 @@ module_param(acp_power_gating, int, 0644); MODULE_PARM_DESC(acp_power_gating, "Enable acp power gating"); +/** + * dmic_acpi_check = -1 - Use ACPI/DMI method to detect the DMIC hardware presence at runtime + * = 0 - Skip the DMIC device creation and return probe failure + * = 1 - Force DMIC support + */ +static int dmic_acpi_check = ACP_DMIC_AUTO; +module_param(dmic_acpi_check, bint, 0644); +MODULE_PARM_DESC(dmic_acpi_check, "Digital microphone presence (-1=auto, 0=none, 1=force)"); + struct acp_dev_data { void __iomem *acp_base; struct resource *res; @@ -152,15 +163,56 @@ return 0; } +static const struct dmi_system_id rn_acp_quirk_table[] = { + { + /* Lenovo IdeaPad S340-14API */ + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "81NB"), + } + }, + { + /* Lenovo IdeaPad Flex 5 14ARE05 */ + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "81X2"), + } + }, + { + /* Lenovo IdeaPad 5 15ARE05 */ + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "81YQ"), + } + }, + { + /* Lenovo ThinkPad X395 */ + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "20NLCTO1WW"), + } + }, + {} +}; + static int snd_rn_acp_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { struct acp_dev_data *adata; struct platform_device_info pdevinfo[ACP_DEVS]; +#if defined(CONFIG_ACPI) + acpi_handle handle; + acpi_integer dmic_status; +#endif + const struct dmi_system_id *dmi_id; unsigned int irqflags; int ret, index; u32 addr; + /* Renoir device check */ + if (pci->revision != 0x01) + return -ENODEV; + if (pci_enable_device(pci)) { dev_err(&pci->dev, "pci_enable_device failed\n"); return -ENODEV; @@ -201,6 +253,30 @@ if (ret) goto disable_msi; + if (!dmic_acpi_check) { + ret = -ENODEV; + goto de_init; + } else if (dmic_acpi_check == ACP_DMIC_AUTO) { +#if defined(CONFIG_ACPI) + handle = ACPI_HANDLE(&pci->dev); + ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status); + if (ACPI_FAILURE(ret)) { + ret = -EINVAL; + goto de_init; + } + if (!dmic_status) { + ret = -ENODEV; + goto de_init; + } +#endif + dmi_id = dmi_first_match(rn_acp_quirk_table); + if (dmi_id && !dmi_id->driver_data) { + dev_info(&pci->dev, "ACPI settings override using DMI (ACP mic is not present)"); + ret = -ENODEV; + goto de_init; + } + } + adata->res = devm_kzalloc(&pci->dev, sizeof(struct resource) * 2, GFP_KERNEL); --- linux-riscv-5.8-5.8.0.orig/sound/soc/amd/renoir/rn_acp3x.h +++ linux-riscv-5.8-5.8.0/sound/soc/amd/renoir/rn_acp3x.h @@ -55,6 +55,8 @@ #define MAX_BUFFER (CAPTURE_MAX_PERIOD_SIZE * CAPTURE_MAX_NUM_PERIODS) #define MIN_BUFFER MAX_BUFFER +#define ACP_DMIC_AUTO -1 + struct pdm_dev_data { u32 pdm_irq; void __iomem *acp_base; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/Kconfig +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/Kconfig @@ -539,6 +539,7 @@ config SND_SOC_CROS_EC_CODEC tristate "codec driver for ChromeOS EC" depends on CROS_EC + select CRYPTO select CRYPTO_LIB_SHA256 help If you say yes here you will get support for the --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/ak4458.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/ak4458.c @@ -523,18 +523,10 @@ .ops = &ak4458_dai_ops, }; -static void ak4458_power_off(struct ak4458_priv *ak4458) +static void ak4458_reset(struct ak4458_priv *ak4458, bool active) { if (ak4458->reset_gpiod) { - gpiod_set_value_cansleep(ak4458->reset_gpiod, 0); - usleep_range(1000, 2000); - } -} - -static void ak4458_power_on(struct ak4458_priv *ak4458) -{ - if (ak4458->reset_gpiod) { - gpiod_set_value_cansleep(ak4458->reset_gpiod, 1); + gpiod_set_value_cansleep(ak4458->reset_gpiod, active); usleep_range(1000, 2000); } } @@ -548,7 +540,7 @@ if (ak4458->mute_gpiod) gpiod_set_value_cansleep(ak4458->mute_gpiod, 1); - ak4458_power_on(ak4458); + ak4458_reset(ak4458, false); ret = snd_soc_component_update_bits(component, AK4458_00_CONTROL1, 0x80, 0x80); /* ACKS bit = 1; 10000000 */ @@ -571,7 +563,7 @@ { struct ak4458_priv *ak4458 = snd_soc_component_get_drvdata(component); - ak4458_power_off(ak4458); + ak4458_reset(ak4458, true); } #ifdef CONFIG_PM @@ -581,7 +573,7 @@ regcache_cache_only(ak4458->regmap, true); - ak4458_power_off(ak4458); + ak4458_reset(ak4458, true); if (ak4458->mute_gpiod) gpiod_set_value_cansleep(ak4458->mute_gpiod, 0); @@ -596,8 +588,8 @@ if (ak4458->mute_gpiod) gpiod_set_value_cansleep(ak4458->mute_gpiod, 1); - ak4458_power_off(ak4458); - ak4458_power_on(ak4458); + ak4458_reset(ak4458, true); + ak4458_reset(ak4458, false); regcache_cache_only(ak4458->regmap, false); regcache_mark_dirty(ak4458->regmap); @@ -715,6 +707,7 @@ { .compatible = "asahi-kasei,ak4497", .data = &ak4497_drvdata}, { }, }; +MODULE_DEVICE_TABLE(of, ak4458_of_match); static struct i2c_driver ak4458_i2c_driver = { .driver = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/ak5558.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/ak5558.c @@ -389,6 +389,7 @@ { .compatible = "asahi-kasei,ak5558"}, { } }; +MODULE_DEVICE_TABLE(of, ak5558_i2c_dt_ids); static struct i2c_driver ak5558_i2c_driver = { .driver = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cpcap.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cpcap.c @@ -1263,12 +1263,12 @@ if (direction == SNDRV_PCM_STREAM_CAPTURE) { mask = 0x0000; - mask |= CPCAP_BIT_MIC1_RX_TIMESLOT0; - mask |= CPCAP_BIT_MIC1_RX_TIMESLOT1; - mask |= CPCAP_BIT_MIC1_RX_TIMESLOT2; - mask |= CPCAP_BIT_MIC2_TIMESLOT0; - mask |= CPCAP_BIT_MIC2_TIMESLOT1; - mask |= CPCAP_BIT_MIC2_TIMESLOT2; + mask |= BIT(CPCAP_BIT_MIC1_RX_TIMESLOT0); + mask |= BIT(CPCAP_BIT_MIC1_RX_TIMESLOT1); + mask |= BIT(CPCAP_BIT_MIC1_RX_TIMESLOT2); + mask |= BIT(CPCAP_BIT_MIC2_TIMESLOT0); + mask |= BIT(CPCAP_BIT_MIC2_TIMESLOT1); + mask |= BIT(CPCAP_BIT_MIC2_TIMESLOT2); val = 0x0000; if (channels >= 2) val = BIT(CPCAP_BIT_MIC1_RX_TIMESLOT0); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cros_ec_codec.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cros_ec_codec.c @@ -354,7 +354,7 @@ snd_soc_dapm_to_component(w->dapm); struct cros_ec_codec_priv *priv = snd_soc_component_get_drvdata(component); - struct ec_param_ec_codec_i2s_rx p; + struct ec_param_ec_codec_i2s_rx p = {}; switch (event) { case SND_SOC_DAPM_PRE_PMU: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cs42l42.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cs42l42.c @@ -401,7 +401,7 @@ }; static DECLARE_TLV_DB_SCALE(adc_tlv, -9600, 100, false); -static DECLARE_TLV_DB_SCALE(mixer_tlv, -6200, 100, false); +static DECLARE_TLV_DB_SCALE(mixer_tlv, -6300, 100, true); static const char * const cs42l42_hpf_freq_text[] = { "1.86Hz", "120Hz", "235Hz", "466Hz" @@ -458,7 +458,7 @@ CS42L42_DAC_HPF_EN_SHIFT, true, false), SOC_DOUBLE_R_TLV("Mixer Volume", CS42L42_MIXER_CHA_VOL, CS42L42_MIXER_CHB_VOL, CS42L42_MIXER_CH_VOL_SHIFT, - 0x3e, 1, mixer_tlv) + 0x3f, 1, mixer_tlv) }; static int cs42l42_hpdrv_evt(struct snd_soc_dapm_widget *w, @@ -691,24 +691,6 @@ CS42L42_CLK_OASRC_SEL_MASK, CS42L42_CLK_OASRC_SEL_12 << CS42L42_CLK_OASRC_SEL_SHIFT); - /* channel 1 on low LRCLK, 32 bit */ - snd_soc_component_update_bits(component, - CS42L42_ASP_RX_DAI0_CH1_AP_RES, - CS42L42_ASP_RX_CH_AP_MASK | - CS42L42_ASP_RX_CH_RES_MASK, - (CS42L42_ASP_RX_CH_AP_LOW << - CS42L42_ASP_RX_CH_AP_SHIFT) | - (CS42L42_ASP_RX_CH_RES_32 << - CS42L42_ASP_RX_CH_RES_SHIFT)); - /* Channel 2 on high LRCLK, 32 bit */ - snd_soc_component_update_bits(component, - CS42L42_ASP_RX_DAI0_CH2_AP_RES, - CS42L42_ASP_RX_CH_AP_MASK | - CS42L42_ASP_RX_CH_RES_MASK, - (CS42L42_ASP_RX_CH_AP_HI << - CS42L42_ASP_RX_CH_AP_SHIFT) | - (CS42L42_ASP_RX_CH_RES_32 << - CS42L42_ASP_RX_CH_RES_SHIFT)); if (pll_ratio_table[i].mclk_src_sel == 0) { /* Pass the clock straight through */ snd_soc_component_update_bits(component, @@ -797,27 +779,23 @@ /* Bitclock/frame inversion */ switch (fmt & SND_SOC_DAIFMT_INV_MASK) { case SND_SOC_DAIFMT_NB_NF: + asp_cfg_val |= CS42L42_ASP_SCPOL_NOR << CS42L42_ASP_SCPOL_SHIFT; break; case SND_SOC_DAIFMT_NB_IF: - asp_cfg_val |= CS42L42_ASP_POL_INV << - CS42L42_ASP_LCPOL_IN_SHIFT; + asp_cfg_val |= CS42L42_ASP_SCPOL_NOR << CS42L42_ASP_SCPOL_SHIFT; + asp_cfg_val |= CS42L42_ASP_LCPOL_INV << CS42L42_ASP_LCPOL_SHIFT; break; case SND_SOC_DAIFMT_IB_NF: - asp_cfg_val |= CS42L42_ASP_POL_INV << - CS42L42_ASP_SCPOL_IN_DAC_SHIFT; break; case SND_SOC_DAIFMT_IB_IF: - asp_cfg_val |= CS42L42_ASP_POL_INV << - CS42L42_ASP_LCPOL_IN_SHIFT; - asp_cfg_val |= CS42L42_ASP_POL_INV << - CS42L42_ASP_SCPOL_IN_DAC_SHIFT; + asp_cfg_val |= CS42L42_ASP_LCPOL_INV << CS42L42_ASP_LCPOL_SHIFT; break; } - snd_soc_component_update_bits(component, CS42L42_ASP_CLK_CFG, - CS42L42_ASP_MODE_MASK | - CS42L42_ASP_SCPOL_IN_DAC_MASK | - CS42L42_ASP_LCPOL_IN_MASK, asp_cfg_val); + snd_soc_component_update_bits(component, CS42L42_ASP_CLK_CFG, CS42L42_ASP_MODE_MASK | + CS42L42_ASP_SCPOL_MASK | + CS42L42_ASP_LCPOL_MASK, + asp_cfg_val); return 0; } @@ -828,14 +806,29 @@ { struct snd_soc_component *component = dai->component; struct cs42l42_private *cs42l42 = snd_soc_component_get_drvdata(component); - int retval; + unsigned int width = (params_width(params) / 8) - 1; + unsigned int val = 0; cs42l42->srate = params_rate(params); - cs42l42->swidth = params_width(params); - retval = cs42l42_pll_config(component); + switch(substream->stream) { + case SNDRV_PCM_STREAM_PLAYBACK: + val |= width << CS42L42_ASP_RX_CH_RES_SHIFT; + /* channel 1 on low LRCLK */ + snd_soc_component_update_bits(component, CS42L42_ASP_RX_DAI0_CH1_AP_RES, + CS42L42_ASP_RX_CH_AP_MASK | + CS42L42_ASP_RX_CH_RES_MASK, val); + /* Channel 2 on high LRCLK */ + val |= CS42L42_ASP_RX_CH_AP_HI << CS42L42_ASP_RX_CH_AP_SHIFT; + snd_soc_component_update_bits(component, CS42L42_ASP_RX_DAI0_CH2_AP_RES, + CS42L42_ASP_RX_CH_AP_MASK | + CS42L42_ASP_RX_CH_RES_MASK, val); + break; + default: + break; + } - return retval; + return cs42l42_pll_config(component); } static int cs42l42_set_sysclk(struct snd_soc_dai *dai, @@ -900,9 +893,9 @@ return 0; } -#define CS42L42_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S18_3LE | \ - SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE | \ - SNDRV_PCM_FMTBIT_S32_LE) +#define CS42L42_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |\ + SNDRV_PCM_FMTBIT_S24_LE |\ + SNDRV_PCM_FMTBIT_S32_LE ) static const struct snd_soc_dai_ops cs42l42_ops = { @@ -1803,7 +1796,7 @@ dev_dbg(&i2c_client->dev, "Found reset GPIO\n"); gpiod_set_value_cansleep(cs42l42->reset_gpio, 1); } - mdelay(3); + usleep_range(CS42L42_BOOT_TIME_US, CS42L42_BOOT_TIME_US * 2); /* Request IRQ */ ret = devm_request_threaded_irq(&i2c_client->dev, @@ -1928,6 +1921,7 @@ } gpiod_set_value_cansleep(cs42l42->reset_gpio, 1); + usleep_range(CS42L42_BOOT_TIME_US, CS42L42_BOOT_TIME_US * 2); regcache_cache_only(cs42l42->regmap, false); regcache_sync(cs42l42->regmap); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cs42l42.h +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cs42l42.h @@ -258,11 +258,12 @@ #define CS42L42_ASP_SLAVE_MODE 0x00 #define CS42L42_ASP_MODE_SHIFT 4 #define CS42L42_ASP_MODE_MASK (1 << CS42L42_ASP_MODE_SHIFT) -#define CS42L42_ASP_SCPOL_IN_DAC_SHIFT 2 -#define CS42L42_ASP_SCPOL_IN_DAC_MASK (1 << CS42L42_ASP_SCPOL_IN_DAC_SHIFT) -#define CS42L42_ASP_LCPOL_IN_SHIFT 0 -#define CS42L42_ASP_LCPOL_IN_MASK (1 << CS42L42_ASP_LCPOL_IN_SHIFT) -#define CS42L42_ASP_POL_INV 1 +#define CS42L42_ASP_SCPOL_SHIFT 2 +#define CS42L42_ASP_SCPOL_MASK (3 << CS42L42_ASP_SCPOL_SHIFT) +#define CS42L42_ASP_SCPOL_NOR 3 +#define CS42L42_ASP_LCPOL_SHIFT 0 +#define CS42L42_ASP_LCPOL_MASK (3 << CS42L42_ASP_LCPOL_SHIFT) +#define CS42L42_ASP_LCPOL_INV 3 #define CS42L42_ASP_FRM_CFG (CS42L42_PAGE_12 + 0x08) #define CS42L42_ASP_STP_SHIFT 4 @@ -739,6 +740,7 @@ #define CS42L42_FRAC2_VAL(val) (((val) & 0xff0000) >> 16) #define CS42L42_NUM_SUPPLIES 5 +#define CS42L42_BOOT_TIME_US 3000 static const char *const cs42l42_supply_names[CS42L42_NUM_SUPPLIES] = { "VA", @@ -756,7 +758,6 @@ struct completion pdn_done; u32 sclk; u32 srate; - u32 swidth; u8 plug_state; u8 hs_type; u8 ts_inv; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cs42l51.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cs42l51.c @@ -245,8 +245,28 @@ &cs42l51_adcr_mux_controls), }; +static int mclk_event(struct snd_soc_dapm_widget *w, + struct snd_kcontrol *kcontrol, int event) +{ + struct snd_soc_component *comp = snd_soc_dapm_to_component(w->dapm); + struct cs42l51_private *cs42l51 = snd_soc_component_get_drvdata(comp); + + switch (event) { + case SND_SOC_DAPM_PRE_PMU: + return clk_prepare_enable(cs42l51->mclk_handle); + case SND_SOC_DAPM_POST_PMD: + /* Delay mclk shutdown to fulfill power-down sequence requirements */ + msleep(20); + clk_disable_unprepare(cs42l51->mclk_handle); + break; + } + + return 0; +} + static const struct snd_soc_dapm_widget cs42l51_dapm_mclk_widgets[] = { - SND_SOC_DAPM_CLOCK_SUPPLY("MCLK") + SND_SOC_DAPM_SUPPLY("MCLK", SND_SOC_NOPM, 0, 0, mclk_event, + SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), }; static const struct snd_soc_dapm_route cs42l51_routes[] = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cs42l56.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cs42l56.c @@ -1248,6 +1248,7 @@ dev_err(&i2c_client->dev, "CS42L56 Device ID (%X). Expected %X\n", devid, CS42L56_DEVID); + ret = -EINVAL; goto err_enable; } alpha_rev = reg & CS42L56_AREV_MASK; @@ -1305,7 +1306,7 @@ ret = devm_snd_soc_register_component(&i2c_client->dev, &soc_component_dev_cs42l56, &cs42l56_dai, 1); if (ret < 0) - return ret; + goto err_enable; return 0; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/cx2072x.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/cx2072x.c @@ -1579,7 +1579,7 @@ .id = CX2072X_DAI_DSP, .probe = cx2072x_dsp_dai_probe, .playback = { - .stream_name = "Playback", + .stream_name = "DSP Playback", .channels_min = 2, .channels_max = 2, .rates = CX2072X_RATES_DSP, @@ -1591,7 +1591,7 @@ .name = "cx2072x-aec", .id = 3, .capture = { - .stream_name = "Capture", + .stream_name = "AEC Capture", .channels_min = 2, .channels_max = 2, .rates = CX2072X_RATES_DSP, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/es8316.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/es8316.c @@ -63,13 +63,8 @@ 1, 1, TLV_DB_SCALE_ITEM(0, 0, 0), 2, 2, TLV_DB_SCALE_ITEM(250, 0, 0), 3, 3, TLV_DB_SCALE_ITEM(450, 0, 0), - 4, 4, TLV_DB_SCALE_ITEM(700, 0, 0), - 5, 5, TLV_DB_SCALE_ITEM(1000, 0, 0), - 6, 6, TLV_DB_SCALE_ITEM(1300, 0, 0), - 7, 7, TLV_DB_SCALE_ITEM(1600, 0, 0), - 8, 8, TLV_DB_SCALE_ITEM(1800, 0, 0), - 9, 9, TLV_DB_SCALE_ITEM(2100, 0, 0), - 10, 10, TLV_DB_SCALE_ITEM(2400, 0, 0), + 4, 7, TLV_DB_SCALE_ITEM(700, 300, 0), + 8, 10, TLV_DB_SCALE_ITEM(1800, 300, 0), ); static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(hpout_vol_tlv, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/hdac_hda.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/hdac_hda.c @@ -289,7 +289,6 @@ struct hdac_hda_priv *hda_pvt; struct hda_pcm_stream *hda_stream; struct hda_pcm *pcm; - int ret; hda_pvt = snd_soc_component_get_drvdata(component); pcm = snd_soc_find_pcm_from_dai(hda_pvt, dai); @@ -300,11 +299,7 @@ hda_stream = &pcm->stream[substream->stream]; - ret = hda_stream->ops.open(hda_stream, &hda_pvt->codec, substream); - if (ret < 0) - snd_hda_codec_pcm_put(pcm); - - return ret; + return hda_stream->ops.open(hda_stream, &hda_pvt->codec, substream); } static void hdac_hda_dai_close(struct snd_pcm_substream *substream, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/max98373.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/max98373.c @@ -410,11 +410,13 @@ regmap_update_bits(max98373->regmap, MAX98373_R20FF_GLOBAL_SHDN, MAX98373_GLOBAL_EN_MASK, 1); + usleep_range(30000, 31000); break; case SND_SOC_DAPM_POST_PMD: regmap_update_bits(max98373->regmap, MAX98373_R20FF_GLOBAL_SHDN, MAX98373_GLOBAL_EN_MASK, 0); + usleep_range(30000, 31000); max98373->tdm_mode = false; break; default: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/max98390.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/max98390.c @@ -784,6 +784,7 @@ if (fw->size < MAX98390_DSM_PARAM_MIN_SIZE) { dev_err(component->dev, "param fw is invalid.\n"); + ret = -EINVAL; goto err_alloc; } dsm_param = (char *)fw->data; @@ -794,6 +795,7 @@ fw->size < param_size + MAX98390_DSM_PAYLOAD_OFFSET) { dev_err(component->dev, "param fw is invalid.\n"); + ret = -EINVAL; goto err_alloc; } regmap_write(max98390->regmap, MAX98390_R203A_AMP_EN, 0x80); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/msm8916-wcd-analog.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/msm8916-wcd-analog.c @@ -19,8 +19,8 @@ #define CDC_D_REVISION1 (0xf000) #define CDC_D_PERPH_SUBTYPE (0xf005) -#define CDC_D_INT_EN_SET (0x015) -#define CDC_D_INT_EN_CLR (0x016) +#define CDC_D_INT_EN_SET (0xf015) +#define CDC_D_INT_EN_CLR (0xf016) #define MBHC_SWITCH_INT BIT(7) #define MBHC_MIC_ELECTRICAL_INS_REM_DET BIT(6) #define MBHC_BUTTON_PRESS_DET BIT(5) --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/pcm3168a.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/pcm3168a.c @@ -306,6 +306,13 @@ struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(dai->component); int ret; + /* + * Some sound card sets 0 Hz as reset, + * but it is impossible to set. Ignore it here + */ + if (freq == 0) + return 0; + if (freq > PCM3168A_MAX_SYSCLK) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt1015.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt1015.c @@ -203,6 +203,7 @@ case RT1015_VENDOR_ID: case RT1015_DEVICE_ID: case RT1015_PRO_ALT: + case RT1015_MAN_I2C: case RT1015_DAC3: case RT1015_VBAT_TEST_OUT1: case RT1015_VBAT_TEST_OUT2: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt1308-sdw.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt1308-sdw.c @@ -684,8 +684,8 @@ /* Regmap Initialization */ regmap = devm_regmap_init_sdw(slave, &rt1308_sdw_regmap); - if (!regmap) - return -EINVAL; + if (IS_ERR(regmap)) + return PTR_ERR(regmap); rt1308_sdw_init(&slave->dev, regmap, slave); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt5640.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt5640.c @@ -339,9 +339,9 @@ } static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); -static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); +static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); -static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); +static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); static const DECLARE_TLV_DB_SCALE(adc_bst_tlv, 0, 1200, 0); /* {0, +20, +24, +30, +35, +40, +44, +50, +52} dB */ --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt5651.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt5651.c @@ -285,9 +285,9 @@ } static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); -static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); +static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); -static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); +static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); static const DECLARE_TLV_DB_SCALE(adc_bst_tlv, 0, 1200, 0); /* {0, +20, +24, +30, +35, +40, +44, +50, +52} dB */ --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt5659.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt5659.c @@ -3463,12 +3463,17 @@ { struct rt5659_priv *rt5659 = snd_soc_component_get_drvdata(component); unsigned int reg_val = 0; + int ret; if (freq == rt5659->sysclk && clk_id == rt5659->sysclk_src) return 0; switch (clk_id) { case RT5659_SCLK_S_MCLK: + ret = clk_set_rate(rt5659->mclk, freq); + if (ret) + return ret; + reg_val |= RT5659_SCLK_SRC_MCLK; break; case RT5659_SCLK_S_PLL1: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt5682-i2c.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt5682-i2c.c @@ -268,6 +268,9 @@ { struct rt5682_priv *rt5682 = i2c_get_clientdata(client); + cancel_delayed_work_sync(&rt5682->jack_detect_work); + cancel_delayed_work_sync(&rt5682->jd_check_work); + rt5682_reset(rt5682); } --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt700-sdw.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt700-sdw.c @@ -452,8 +452,8 @@ /* Regmap Initialization */ sdw_regmap = devm_regmap_init_sdw(slave, &rt700_sdw_regmap); - if (!sdw_regmap) - return -EINVAL; + if (IS_ERR(sdw_regmap)) + return PTR_ERR(sdw_regmap); regmap = devm_regmap_init(&slave->dev, NULL, &slave->dev, &rt700_regmap); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt711-sdw.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt711-sdw.c @@ -452,8 +452,8 @@ /* Regmap Initialization */ sdw_regmap = devm_regmap_init_sdw(slave, &rt711_sdw_regmap); - if (!sdw_regmap) - return -EINVAL; + if (IS_ERR(sdw_regmap)) + return PTR_ERR(sdw_regmap); regmap = devm_regmap_init(&slave->dev, NULL, &slave->dev, &rt711_regmap); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt711.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt711.c @@ -462,6 +462,8 @@ unsigned int read_ll, read_rl; int i; + mutex_lock(&rt711->calibrate_mutex); + /* Can't use update bit function, so read the original value first */ addr_h = mc->reg; addr_l = mc->rreg; @@ -547,6 +549,8 @@ if (dapm->bias_level <= SND_SOC_BIAS_STANDBY) regmap_write(rt711->regmap, RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); + + mutex_unlock(&rt711->calibrate_mutex); return 0; } @@ -859,9 +863,11 @@ break; case SND_SOC_BIAS_STANDBY: + mutex_lock(&rt711->calibrate_mutex); regmap_write(rt711->regmap, RT711_SET_AUDIO_POWER_STATE, AC_PWRST_D3); + mutex_unlock(&rt711->calibrate_mutex); break; default: @@ -889,6 +895,13 @@ return 0; } +static void rt711_remove(struct snd_soc_component *component) +{ + struct rt711_priv *rt711 = snd_soc_component_get_drvdata(component); + + regcache_cache_only(rt711->regmap, true); +} + static const struct snd_soc_component_driver soc_codec_dev_rt711 = { .probe = rt711_probe, .set_bias_level = rt711_set_bias_level, @@ -899,6 +912,7 @@ .dapm_routes = rt711_audio_map, .num_dapm_routes = ARRAY_SIZE(rt711_audio_map), .set_jack = rt711_set_jack_detect, + .remove = rt711_remove, }; static int rt711_set_sdw_stream(struct snd_soc_dai *dai, void *sdw_stream, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/rt715-sdw.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/rt715-sdw.c @@ -527,8 +527,8 @@ /* Regmap Initialization */ sdw_regmap = devm_regmap_init_sdw(slave, &rt715_sdw_regmap); - if (!sdw_regmap) - return -EINVAL; + if (IS_ERR(sdw_regmap)) + return PTR_ERR(sdw_regmap); regmap = devm_regmap_init(&slave->dev, NULL, &slave->dev, &rt715_regmap); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/sgtl5000.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/sgtl5000.c @@ -71,7 +71,7 @@ { SGTL5000_DAP_EQ_BASS_BAND4, 0x002f }, { SGTL5000_DAP_MAIN_CHAN, 0x8000 }, { SGTL5000_DAP_MIX_CHAN, 0x0000 }, - { SGTL5000_DAP_AVC_CTRL, 0x0510 }, + { SGTL5000_DAP_AVC_CTRL, 0x5100 }, { SGTL5000_DAP_AVC_THRESHOLD, 0x1473 }, { SGTL5000_DAP_AVC_ATTACK, 0x0028 }, { SGTL5000_DAP_AVC_DECAY, 0x0050 }, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/tas2770.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/tas2770.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -57,7 +56,12 @@ 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, @@ -135,23 +139,18 @@ TAS2770_PWR_CTRL, TAS2770_PWR_CTRL_MASK, TAS2770_PWR_CTRL_MUTE); - if (ret) - goto end; 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); - if (ret) - goto end; break; default: dev_err(tas2770->dev, "Not supported evevt\n"); return -EINVAL; } -end: if (ret < 0) return ret; @@ -243,6 +242,9 @@ return -EINVAL; } + if (ret < 0) + return ret; + tas2770->channel_size = bitwidth; ret = snd_soc_component_update_bits(component, @@ -251,16 +253,15 @@ TAS2770_TDM_CFG_REG5_50_MASK, TAS2770_TDM_CFG_REG5_VSNS_ENABLE | tas2770->v_sense_slot); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG6, TAS2770_TDM_CFG_REG6_ISNS_MASK | TAS2770_TDM_CFG_REG6_50_MASK, TAS2770_TDM_CFG_REG6_ISNS_ENABLE | tas2770->i_sense_slot); - -end: if (ret < 0) return ret; @@ -278,36 +279,35 @@ TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_48KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, TAS2770_TDM_CFG_REG0_31_44_1_48KHZ); - if (ret) - goto end; break; case 44100: ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_44_1KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, TAS2770_TDM_CFG_REG0_31_44_1_48KHZ); - if (ret) - goto end; break; case 96000: ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_48KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, @@ -318,8 +318,9 @@ TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_44_1KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, @@ -330,22 +331,22 @@ TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_48KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, TAS2770_TDM_CFG_REG0_31_176_4_192KHZ); - if (ret) - goto end; break; case 17640: ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_SMP_MASK, TAS2770_TDM_CFG_REG0_SMP_44_1KHZ); - if (ret) - goto end; + if (ret < 0) + return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, TAS2770_TDM_CFG_REG0_31_MASK, @@ -355,7 +356,6 @@ ret = -EINVAL; } -end: if (ret < 0) return ret; @@ -574,6 +574,8 @@ tas2770->component = component; + tas2770_reset(tas2770); + return 0; } @@ -700,29 +702,28 @@ rc = fwnode_property_read_u32(dev->fwnode, "ti,asi-format", &tas2770->asi_format); if (rc) { - dev_err(tas2770->dev, "Looking up %s property failed %d\n", - "ti,asi-format", rc); - goto end; + dev_info(tas2770->dev, "Property %s is missing setting default slot\n", + "ti,asi-format"); + tas2770->asi_format = 0; } rc = fwnode_property_read_u32(dev->fwnode, "ti,imon-slot-no", &tas2770->i_sense_slot); if (rc) { - dev_err(tas2770->dev, "Looking up %s property failed %d\n", - "ti,imon-slot-no", rc); - goto end; + dev_info(tas2770->dev, "Property %s is missing setting default slot\n", + "ti,imon-slot-no"); + tas2770->i_sense_slot = 0; } rc = fwnode_property_read_u32(dev->fwnode, "ti,vmon-slot-no", &tas2770->v_sense_slot); if (rc) { - dev_err(tas2770->dev, "Looking up %s property failed %d\n", - "ti,vmon-slot-no", rc); - goto end; + dev_info(tas2770->dev, "Property %s is missing setting default slot\n", + "ti,vmon-slot-no"); + tas2770->v_sense_slot = 2; } -end: - return rc; + return 0; } static int tas2770_i2c_probe(struct i2c_client *client, @@ -758,8 +759,7 @@ } } - tas2770->reset_gpio = devm_gpiod_get_optional(tas2770->dev, - "reset-gpio", + tas2770->reset_gpio = devm_gpiod_get_optional(tas2770->dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(tas2770->reset_gpio)) { if (PTR_ERR(tas2770->reset_gpio) == -EPROBE_DEFER) { @@ -771,8 +771,6 @@ tas2770->channel_size = 0; tas2770->slot_width = 0; - tas2770_reset(tas2770); - result = tas2770_register_codec(tas2770); if (result) dev_err(tas2770->dev, "Register codec failed.\n"); @@ -781,13 +779,6 @@ return result; } -static int tas2770_i2c_remove(struct i2c_client *client) -{ - pm_runtime_disable(&client->dev); - return 0; -} - - static const struct i2c_device_id tas2770_i2c_id[] = { { "tas2770", 0}, { } @@ -808,7 +799,6 @@ .of_match_table = of_match_ptr(tas2770_of_match), }, .probe = tas2770_i2c_probe, - .remove = tas2770_i2c_remove, .id_table = tas2770_i2c_id, }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/tlv320adcx140.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/tlv320adcx140.c @@ -154,7 +154,7 @@ }; /* Digital Volume control. From -100 to 27 dB in 0.5 dB steps */ -static DECLARE_TLV_DB_SCALE(dig_vol_tlv, -10000, 50, 0); +static DECLARE_TLV_DB_SCALE(dig_vol_tlv, -10050, 50, 0); /* ADC gain. From 0 to 42 dB in 1 dB steps */ static DECLARE_TLV_DB_SCALE(adc_tlv, 0, 100, 0); @@ -930,6 +930,8 @@ if (!adcx140) return -ENOMEM; + adcx140->dev = &i2c->dev; + adcx140->gpio_reset = devm_gpiod_get_optional(adcx140->dev, "reset", GPIOD_OUT_LOW); if (IS_ERR(adcx140->gpio_reset)) @@ -957,7 +959,7 @@ ret); return ret; } - adcx140->dev = &i2c->dev; + i2c_set_clientdata(i2c, adcx140); return devm_snd_soc_register_component(&i2c->dev, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/tlv320aic32x4.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/tlv320aic32x4.c @@ -665,7 +665,7 @@ } static int aic32x4_setup_clocks(struct snd_soc_component *component, - unsigned int sample_rate) + unsigned int sample_rate, unsigned int channels) { u8 aosr; u16 dosr; @@ -753,7 +753,9 @@ dosr); clk_set_rate(clocks[5].clk, - sample_rate * 32); + sample_rate * 32 * + channels); + return 0; } } @@ -775,7 +777,8 @@ u8 iface1_reg = 0; u8 dacsetup_reg = 0; - aic32x4_setup_clocks(component, params_rate(params)); + aic32x4_setup_clocks(component, params_rate(params), + params_channels(params)); switch (params_width(params)) { case 16: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wcd9335.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wcd9335.c @@ -618,7 +618,7 @@ "ZERO", "RX_MIX_TX8", "DEC8", "DEC8_192" }; -static const DECLARE_TLV_DB_SCALE(digital_gain, 0, 1, 0); +static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); static const DECLARE_TLV_DB_SCALE(line_gain, 0, 7, 1); static const DECLARE_TLV_DB_SCALE(analog_gain, 0, 25, 1); static const DECLARE_TLV_DB_SCALE(ear_pa_gain, 0, 150, 0); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wcd934x.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wcd934x.c @@ -551,7 +551,7 @@ struct soc_bytes_ext bytes_ext; }; -static const DECLARE_TLV_DB_SCALE(digital_gain, 0, 1, 0); +static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); static const DECLARE_TLV_DB_SCALE(line_gain, 0, 7, 1); static const DECLARE_TLV_DB_SCALE(analog_gain, 0, 25, 1); static const DECLARE_TLV_DB_SCALE(ear_pa_gain, 0, 150, 0); @@ -1873,6 +1873,12 @@ wcd = snd_soc_component_get_drvdata(dai->component); + if (tx_num > WCD934X_TX_MAX || rx_num > WCD934X_RX_MAX) { + dev_err(wcd->dev, "Invalid tx %d or rx %d channel count\n", + tx_num, rx_num); + return -EINVAL; + } + if (!tx_slot || !rx_slot) { dev_err(wcd->dev, "Invalid tx_slot=%p, rx_slot=%p\n", tx_slot, rx_slot); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm8958-dsp2.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm8958-dsp2.c @@ -412,8 +412,12 @@ struct snd_kcontrol *kcontrol, int event) { struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct wm8994 *control = dev_get_drvdata(component->dev->parent); int i; + if (control->type != WM8958) + return 0; + switch (event) { case SND_SOC_DAPM_POST_PMU: case SND_SOC_DAPM_PRE_PMU: --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm8960.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm8960.c @@ -707,7 +707,13 @@ best_freq_out = -EINVAL; *sysclk_idx = *dac_idx = *bclk_idx = -1; - for (i = 0; i < ARRAY_SIZE(sysclk_divs); ++i) { + /* + * From Datasheet, the PLL performs best when f2 is between + * 90MHz and 100MHz, the desired sysclk output is 11.2896MHz + * or 12.288MHz, then sysclkdiv = 2 is the best choice. + * So search sysclk_divs from 2 to 1 other than from 1 to 2. + */ + for (i = ARRAY_SIZE(sysclk_divs) - 1; i >= 0; --i) { if (sysclk_divs[i] == -1) continue; for (j = 0; j < ARRAY_SIZE(dac_divs); ++j) { --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm8994.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm8994.c @@ -3491,6 +3491,8 @@ return -EINVAL; } + pm_runtime_get_sync(component->dev); + switch (micbias) { case 1: micdet = &wm8994->micdet[0]; @@ -3538,6 +3540,8 @@ snd_soc_dapm_sync(dapm); + pm_runtime_put(component->dev); + return 0; } EXPORT_SYMBOL_GPL(wm8994_mic_detect); @@ -3905,6 +3909,8 @@ return -EINVAL; } + pm_runtime_get_sync(component->dev); + if (jack) { snd_soc_dapm_force_enable_pin(dapm, "CLK_SYS"); snd_soc_dapm_sync(dapm); @@ -3973,6 +3979,8 @@ snd_soc_dapm_sync(dapm); } + pm_runtime_put(component->dev); + return 0; } EXPORT_SYMBOL_GPL(wm8958_mic_detect); @@ -4166,11 +4174,13 @@ wm8994->hubs.dcs_readback_mode = 2; break; } + wm8994->hubs.micd_scthr = true; break; case WM8958: wm8994->hubs.dcs_readback_mode = 1; wm8994->hubs.hp_startup_mode = 1; + wm8994->hubs.micd_scthr = true; switch (control->revision) { case 0: @@ -4600,8 +4610,12 @@ pm_runtime_enable(&pdev->dev); pm_runtime_idle(&pdev->dev); - return devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_wm8994, + ret = devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_wm8994, wm8994_dai, ARRAY_SIZE(wm8994_dai)); + if (ret < 0) + pm_runtime_disable(&pdev->dev); + + return ret; } static int wm8994_remove(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm8997.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm8997.c @@ -1177,6 +1177,8 @@ goto err_spk_irqs; } + return ret; + err_spk_irqs: arizona_free_spk_irqs(arizona); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm8998.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm8998.c @@ -1375,7 +1375,7 @@ ret = arizona_init_spk_irqs(arizona); if (ret < 0) - return ret; + goto err_pm_disable; ret = devm_snd_soc_register_component(&pdev->dev, &soc_component_dev_wm8998, @@ -1390,6 +1390,8 @@ err_spk_irqs: arizona_free_spk_irqs(arizona); +err_pm_disable: + pm_runtime_disable(&pdev->dev); return ret; } --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm_adsp.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm_adsp.c @@ -1513,7 +1513,7 @@ ctl_work = kzalloc(sizeof(*ctl_work), GFP_KERNEL); if (!ctl_work) { ret = -ENOMEM; - goto err_ctl_cache; + goto err_list_del; } ctl_work->dsp = dsp; @@ -1523,7 +1523,8 @@ return 0; -err_ctl_cache: +err_list_del: + list_del(&ctl->list); kfree(ctl->cache); err_ctl_subname: kfree(ctl->subname); @@ -1931,6 +1932,7 @@ mem = wm_adsp_find_region(dsp, type); if (!mem) { adsp_err(dsp, "No region of type: %x\n", type); + ret = -EINVAL; goto out_fw; } @@ -2023,11 +2025,14 @@ unsigned int alg) { struct wm_coeff_ctl *pos, *rslt = NULL; + const char *fw_txt = wm_adsp_fw_text[dsp->fw]; list_for_each_entry(pos, &dsp->ctl_list, list) { if (!pos->subname) continue; if (strncmp(pos->subname, name, pos->subname_len) == 0 && + strncmp(pos->fw_name, fw_txt, + SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == 0 && pos->alg_region.alg == alg && pos->alg_region.type == type) { rslt = pos; @@ -2043,6 +2048,7 @@ { struct wm_coeff_ctl *ctl; struct snd_kcontrol *kcontrol; + char ctl_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; int ret; ctl = wm_adsp_get_ctl(dsp, name, type, alg); @@ -2053,8 +2059,25 @@ return -EINVAL; ret = wm_coeff_write_ctrl(ctl, buf, len); + if (ret) + return ret; + + if (ctl->flags & WMFW_CTL_FLAG_SYS) + return 0; + + if (dsp->component->name_prefix) + snprintf(ctl_name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN, "%s %s", + dsp->component->name_prefix, ctl->name); + else + snprintf(ctl_name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN, "%s", + ctl->name); + + kcontrol = snd_soc_card_get_kcontrol(dsp->component->card, ctl_name); + if (!kcontrol) { + adsp_err(dsp, "Can't find kcontrol %s\n", ctl_name); + return -EINVAL; + } - kcontrol = snd_soc_card_get_kcontrol(dsp->component->card, ctl->name); snd_ctl_notify(dsp->component->card->snd_card, SNDRV_CTL_EVENT_MASK_VALUE, &kcontrol->id); --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm_hubs.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm_hubs.c @@ -1223,6 +1223,9 @@ snd_soc_component_update_bits(component, WM8993_ADDITIONAL_CONTROL, WM8993_LINEOUT2_FB, WM8993_LINEOUT2_FB); + if (!hubs->micd_scthr) + return 0; + snd_soc_component_update_bits(component, WM8993_MICBIAS, WM8993_JD_SCTHR_MASK | WM8993_JD_THR_MASK | WM8993_MICB1_LVL | WM8993_MICB2_LVL, --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wm_hubs.h +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wm_hubs.h @@ -27,6 +27,7 @@ int hp_startup_mode; int series_startup; int no_series_update; + bool micd_scthr; bool no_cache_dac_hp_direct; struct list_head dcs_cache; --- linux-riscv-5.8-5.8.0.orig/sound/soc/codecs/wsa881x.c +++ linux-riscv-5.8-5.8.0/sound/soc/codecs/wsa881x.c @@ -640,6 +640,7 @@ .val_bits = 8, .cache_type = REGCACHE_RBTREE, .reg_defaults = wsa881x_defaults, + .max_register = WSA881X_SPKR_STATUS3, .num_reg_defaults = ARRAY_SIZE(wsa881x_defaults), .volatile_reg = wsa881x_volatile_register, .readable_reg = wsa881x_readable_register, @@ -1026,6 +1027,8 @@ .id = 0, .playback = { .stream_name = "SPKR Playback", + .rates = SNDRV_PCM_RATE_48000, + .formats = SNDRV_PCM_FMTBIT_S16_LE, .rate_max = 48000, .rate_min = 48000, .channels_min = 1, --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/fsl_easrc.c +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/fsl_easrc.c @@ -1133,7 +1133,7 @@ struct fsl_easrc_ctx_priv *ctx_priv = ctx->private; struct fsl_easrc_data_fmt *in_fmt = &ctx_priv->in_params.fmt; struct fsl_easrc_data_fmt *out_fmt = &ctx_priv->out_params.fmt; - int ret; + int ret = 0; /* Get the bitfield values for input data format */ if (in_raw_format && out_raw_format) { --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/fsl_esai.c +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/fsl_esai.c @@ -520,11 +520,13 @@ ESAI_SAICR_SYNC, esai_priv->synchronous ? ESAI_SAICR_SYNC : 0); - /* Set a default slot number -- 2 */ + /* Set slots count */ regmap_update_bits(esai_priv->regmap, REG_ESAI_TCCR, - ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(2)); + ESAI_xCCR_xDC_MASK, + ESAI_xCCR_xDC(esai_priv->slots)); regmap_update_bits(esai_priv->regmap, REG_ESAI_RCCR, - ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(2)); + ESAI_xCCR_xDC_MASK, + ESAI_xCCR_xDC(esai_priv->slots)); } return 0; --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/fsl_sai.c +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/fsl_sai.c @@ -680,10 +680,11 @@ regmap_write(sai->regmap, FSL_SAI_RCSR(ofs), 0); regmap_update_bits(sai->regmap, FSL_SAI_TCR1(ofs), - FSL_SAI_CR1_RFW_MASK, + FSL_SAI_CR1_RFW_MASK(sai->soc_data->fifo_depth), sai->soc_data->fifo_depth - FSL_SAI_MAXBURST_TX); regmap_update_bits(sai->regmap, FSL_SAI_RCR1(ofs), - FSL_SAI_CR1_RFW_MASK, FSL_SAI_MAXBURST_RX - 1); + FSL_SAI_CR1_RFW_MASK(sai->soc_data->fifo_depth), + FSL_SAI_MAXBURST_RX - 1); snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx, &sai->dma_params_rx); @@ -693,7 +694,7 @@ return 0; } -static struct snd_soc_dai_driver fsl_sai_dai = { +static struct snd_soc_dai_driver fsl_sai_dai_template = { .probe = fsl_sai_dai_probe, .playback = { .stream_name = "CPU-Playback", @@ -965,12 +966,15 @@ return ret; } + memcpy(&sai->cpu_dai_drv, &fsl_sai_dai_template, + sizeof(fsl_sai_dai_template)); + /* Sync Tx with Rx as default by following old DT binding */ sai->synchronous[RX] = true; sai->synchronous[TX] = false; - fsl_sai_dai.symmetric_rates = 1; - fsl_sai_dai.symmetric_channels = 1; - fsl_sai_dai.symmetric_samplebits = 1; + sai->cpu_dai_drv.symmetric_rates = 1; + sai->cpu_dai_drv.symmetric_channels = 1; + sai->cpu_dai_drv.symmetric_samplebits = 1; if (of_find_property(np, "fsl,sai-synchronous-rx", NULL) && of_find_property(np, "fsl,sai-asynchronous", NULL)) { @@ -987,9 +991,9 @@ /* Discard all settings for asynchronous mode */ sai->synchronous[RX] = false; sai->synchronous[TX] = false; - fsl_sai_dai.symmetric_rates = 0; - fsl_sai_dai.symmetric_channels = 0; - fsl_sai_dai.symmetric_samplebits = 0; + sai->cpu_dai_drv.symmetric_rates = 0; + sai->cpu_dai_drv.symmetric_channels = 0; + sai->cpu_dai_drv.symmetric_samplebits = 0; } if (of_find_property(np, "fsl,sai-mclk-direction-output", NULL) && @@ -1018,7 +1022,7 @@ pm_runtime_enable(&pdev->dev); ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, - &fsl_sai_dai, 1); + &sai->cpu_dai_drv, 1); if (ret) goto err_pm_disable; --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/fsl_sai.h +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/fsl_sai.h @@ -94,7 +94,7 @@ #define FSL_SAI_CSR_FRDE BIT(0) /* SAI Transmit and Receive Configuration 1 Register */ -#define FSL_SAI_CR1_RFW_MASK 0x1f +#define FSL_SAI_CR1_RFW_MASK(x) ((x) - 1) /* SAI Transmit and Receive Configuration 2 Register */ #define FSL_SAI_CR2_SYNC BIT(30) @@ -180,6 +180,7 @@ unsigned int bclk_ratio; const struct fsl_sai_soc_data *soc_data; + struct snd_soc_dai_driver cpu_dai_drv; struct snd_dmaengine_dai_dma_data dma_params_rx; struct snd_dmaengine_dai_dma_data dma_params_tx; }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/fsl_ssi.c +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/fsl_ssi.c @@ -873,6 +873,7 @@ static int _fsl_ssi_set_dai_fmt(struct fsl_ssi *ssi, unsigned int fmt) { u32 strcr = 0, scr = 0, stcr, srcr, mask; + unsigned int slots; ssi->dai_fmt = fmt; @@ -904,10 +905,11 @@ return -EINVAL; } + slots = ssi->slots ? : 2; regmap_update_bits(ssi->regs, REG_SSI_STCCR, - SSI_SxCCR_DC_MASK, SSI_SxCCR_DC(2)); + SSI_SxCCR_DC_MASK, SSI_SxCCR_DC(slots)); regmap_update_bits(ssi->regs, REG_SSI_SRCCR, - SSI_SxCCR_DC_MASK, SSI_SxCCR_DC(2)); + SSI_SxCCR_DC_MASK, SSI_SxCCR_DC(slots)); /* Data on rising edge of bclk, frame low, 1clk before data */ strcr |= SSI_STCR_TFSI | SSI_STCR_TSCKP | SSI_STCR_TEFS; --- linux-riscv-5.8-5.8.0.orig/sound/soc/fsl/imx-es8328.c +++ linux-riscv-5.8-5.8.0/sound/soc/fsl/imx-es8328.c @@ -145,13 +145,13 @@ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); if (!data) { ret = -ENOMEM; - goto fail; + goto put_device; } comp = devm_kzalloc(dev, 3 * sizeof(*comp), GFP_KERNEL); if (!comp) { ret = -ENOMEM; - goto fail; + goto put_device; } data->dev = dev; @@ -182,12 +182,12 @@ ret = snd_soc_of_parse_card_name(&data->card, "model"); if (ret) { dev_err(dev, "Unable to parse card name\n"); - goto fail; + goto put_device; } ret = snd_soc_of_parse_audio_routing(&data->card, "audio-routing"); if (ret) { dev_err(dev, "Unable to parse routing: %d\n", ret); - goto fail; + goto put_device; } data->card.num_links = 1; data->card.owner = THIS_MODULE; @@ -196,10 +196,12 @@ ret = snd_soc_register_card(&data->card); if (ret) { dev_err(dev, "Unable to register: %d\n", ret); - goto fail; + goto put_device; } platform_set_drvdata(pdev, data); +put_device: + put_device(&ssi_pdev->dev); fail: of_node_put(ssi_np); of_node_put(codec_np); --- linux-riscv-5.8-5.8.0.orig/sound/soc/img/img-i2s-in.c +++ linux-riscv-5.8-5.8.0/sound/soc/img/img-i2s-in.c @@ -343,8 +343,10 @@ chan_control_mask = IMG_I2S_IN_CH_CTL_CLK_TRANS_MASK; ret = pm_runtime_get_sync(i2s->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(i2s->dev); return ret; + } for (i = 0; i < i2s->active_channels; i++) img_i2s_in_ch_disable(i2s, i); --- linux-riscv-5.8-5.8.0.orig/sound/soc/img/img-parallel-out.c +++ linux-riscv-5.8-5.8.0/sound/soc/img/img-parallel-out.c @@ -163,8 +163,10 @@ } ret = pm_runtime_get_sync(prl->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_noidle(prl->dev); return ret; + } reg = img_prl_out_readl(prl, IMG_PRL_OUT_CTL); reg = (reg & ~IMG_PRL_OUT_CTL_EDGE_MASK) | control_set; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/atom/sst-mfld-platform-pcm.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/atom/sst-mfld-platform-pcm.c @@ -331,7 +331,7 @@ ret_val = power_up_sst(stream); if (ret_val < 0) - return ret_val; + goto out_power_up; /* Make sure, that the period size is always even */ snd_pcm_hw_constraint_step(substream->runtime, 0, @@ -340,8 +340,9 @@ return snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); out_ops: - kfree(stream); mutex_unlock(&sst_lock); +out_power_up: + kfree(stream); return ret_val; } @@ -476,14 +477,14 @@ .channels_min = SST_STEREO, .channels_max = SST_STEREO, .rates = SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000, - .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE, }, .capture = { .stream_name = "Headset Capture", .channels_min = 1, .channels_max = 2, .rates = SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000, - .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE, }, }, { @@ -494,7 +495,7 @@ .channels_min = SST_STEREO, .channels_max = SST_STEREO, .rates = SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000, - .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S16_LE, }, }, { --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/bxt_rt298.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/bxt_rt298.c @@ -565,6 +565,7 @@ /* broxton audio machine driver for SPT + RT298S */ static struct snd_soc_card broxton_rt298 = { .name = "broxton-rt298", + .owner = THIS_MODULE, .dai_link = broxton_rt298_dais, .num_links = ARRAY_SIZE(broxton_rt298_dais), .controls = broxton_controls, @@ -580,6 +581,7 @@ static struct snd_soc_card geminilake_rt298 = { .name = "geminilake-rt298", + .owner = THIS_MODULE, .dai_link = broxton_rt298_dais, .num_links = ARRAY_SIZE(broxton_rt298_dais), .controls = broxton_controls, --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/bytcr_rt5640.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/bytcr_rt5640.c @@ -72,6 +72,7 @@ #define BYT_RT5640_SSP0_AIF2 BIT(21) #define BYT_RT5640_MCLK_EN BIT(22) #define BYT_RT5640_MCLK_25MHZ BIT(23) +#define BYT_RT5640_NO_SPEAKERS BIT(24) #define BYTCR_INPUT_DEFAULTS \ (BYT_RT5640_IN3_MAP | \ @@ -133,6 +134,8 @@ dev_info(dev, "quirk JD_NOT_INV enabled\n"); if (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) dev_info(dev, "quirk MONO_SPEAKER enabled\n"); + if (byt_rt5640_quirk & BYT_RT5640_NO_SPEAKERS) + dev_info(dev, "quirk NO_SPEAKERS enabled\n"); if (byt_rt5640_quirk & BYT_RT5640_DIFF_MIC) dev_info(dev, "quirk DIFF_MIC enabled\n"); if (byt_rt5640_quirk & BYT_RT5640_SSP0_AIF1) { @@ -400,6 +403,19 @@ BYT_RT5640_SSP0_AIF1 | BYT_RT5640_MCLK_EN), }, + { /* Acer One 10 S1002 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "One S1002"), + }, + .driver_data = (void *)(BYT_RT5640_IN1_MAP | + BYT_RT5640_JD_SRC_JD2_IN4N | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_DIFF_MIC | + BYT_RT5640_SSP0_AIF2 | + BYT_RT5640_MCLK_EN), + }, { .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), @@ -424,6 +440,18 @@ }, { .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ARCHOS"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ARCHOS 140 CESIUM"), + }, + .driver_data = (void *)(BYT_RT5640_IN1_MAP | + BYT_RT5640_JD_SRC_JD2_IN4N | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), + }, + { + .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ME176C"), }, @@ -513,6 +541,16 @@ BYT_RT5640_MONO_SPEAKER | BYT_RT5640_MCLK_EN), }, + { /* Estar Beauty HD MID 7316R */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Estar"), + DMI_MATCH(DMI_PRODUCT_NAME, "eSTAR BEAUTY HD Intel Quad core"), + }, + .driver_data = (void *)(BYTCR_INPUT_DEFAULTS | + BYT_RT5640_MONO_SPEAKER | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), + }, { .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), @@ -521,10 +559,10 @@ .driver_data = (void *)(BYT_RT5640_IN1_MAP | BYT_RT5640_MCLK_EN), }, - { /* HP Pavilion x2 10-n000nd */ + { /* HP Pavilion x2 10-k0XX, 10-n0XX */ .matches = { - DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"), + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion x2 Detachable"), }, .driver_data = (void *)(BYT_RT5640_DMIC1_MAP | BYT_RT5640_JD_SRC_JD2_IN4N | @@ -533,6 +571,17 @@ BYT_RT5640_SSP0_AIF1 | BYT_RT5640_MCLK_EN), }, + { /* HP Pavilion x2 10-p0XX */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "HP"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP x2 Detachable 10-p0XX"), + }, + .driver_data = (void *)(BYT_RT5640_DMIC1_MAP | + BYT_RT5640_JD_SRC_JD1_IN4P | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_MCLK_EN), + }, { /* HP Stream 7 */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), @@ -591,6 +640,16 @@ BYT_RT5640_SSP0_AIF1 | BYT_RT5640_MCLK_EN), }, + { /* MPMAN Converter 9, similar hw as the I.T.Works TW891 2-in-1 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MPMAN"), + DMI_MATCH(DMI_PRODUCT_NAME, "Converter9"), + }, + .driver_data = (void *)(BYTCR_INPUT_DEFAULTS | + BYT_RT5640_MONO_SPEAKER | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), + }, { /* MPMAN MPWIN895CL */ .matches = { @@ -766,6 +825,20 @@ BYT_RT5640_SSP0_AIF2 | BYT_RT5640_MCLK_EN), }, + { /* Voyo Winpad A15 */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), + /* Above strings are too generic, also match on BIOS date */ + DMI_MATCH(DMI_BIOS_DATE, "11/20/2014"), + }, + .driver_data = (void *)(BYT_RT5640_IN1_MAP | + BYT_RT5640_JD_SRC_JD2_IN4N | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_DIFF_MIC | + BYT_RT5640_MCLK_EN), + }, { /* Catch-all for generic Insyde tablets, must be last */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), @@ -914,7 +987,7 @@ ret = snd_soc_dapm_add_routes(&card->dapm, byt_rt5640_mono_spk_map, ARRAY_SIZE(byt_rt5640_mono_spk_map)); - } else { + } else if (!(byt_rt5640_quirk & BYT_RT5640_NO_SPEAKERS)) { ret = snd_soc_dapm_add_routes(&card->dapm, byt_rt5640_stereo_spk_map, ARRAY_SIZE(byt_rt5640_stereo_spk_map)); @@ -1149,6 +1222,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) { static const char * const map_name[] = { "dmic1", "dmic2", "in1", "in3" }; + __maybe_unused const char *spk_type; const struct dmi_system_id *dmi_id; struct byt_rt5640_private *priv; struct snd_soc_acpi_mach *mach; @@ -1156,7 +1230,7 @@ struct acpi_device *adev; int ret_val = 0; int dai_index = 0; - int i; + int i, cfg_spk; is_bytcr = false; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); @@ -1295,16 +1369,24 @@ } } + if (byt_rt5640_quirk & BYT_RT5640_NO_SPEAKERS) { + cfg_spk = 0; + spk_type = "none"; + } else if (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) { + cfg_spk = 1; + spk_type = "mono"; + } else { + cfg_spk = 2; + spk_type = "stereo"; + } + snprintf(byt_rt5640_components, sizeof(byt_rt5640_components), - "cfg-spk:%s cfg-mic:%s", - (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2", + "cfg-spk:%d cfg-mic:%s", cfg_spk, map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); byt_rt5640_card.components = byt_rt5640_components; #if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name), - "bytcr-rt5640-%s-spk-%s-mic", - (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? - "mono" : "stereo", + "bytcr-rt5640-%s-spk-%s-mic", spk_type, map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); byt_rt5640_card.long_name = byt_rt5640_long_name; #endif --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/bytcr_rt5651.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/bytcr_rt5651.c @@ -436,6 +436,19 @@ BYT_RT5651_MONO_SPEAKER), }, { + /* Jumper EZpad 7 */ + .callback = byt_rt5651_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Jumper"), + DMI_MATCH(DMI_PRODUCT_NAME, "EZpad"), + /* Jumper12x.WJ2012.bsBKRCP05 with the version dropped */ + DMI_MATCH(DMI_BIOS_VERSION, "Jumper12x.WJ2012.bsBKRCP"), + }, + .driver_data = (void *)(BYT_RT5651_DEFAULT_QUIRKS | + BYT_RT5651_IN2_MAP | + BYT_RT5651_JD_NOT_INV), + }, + { /* KIANO SlimNote 14.2 */ .callback = byt_rt5651_quirk_cb, .matches = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/cml_rt1011_rt5682.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/cml_rt1011_rt5682.c @@ -34,7 +34,6 @@ #define SOF_RT1011_SPEAKER_WR BIT(1) #define SOF_RT1011_SPEAKER_TL BIT(2) #define SOF_RT1011_SPEAKER_TR BIT(3) -#define SPK_CH 4 /* Default: Woofer speakers */ static unsigned long sof_rt1011_quirk = SOF_RT1011_SPEAKER_WL | @@ -376,10 +375,17 @@ SND_SOC_DAILINK_DEF(ssp1_pin, DAILINK_COMP_ARRAY(COMP_CPU("SSP1 Pin"))); -SND_SOC_DAILINK_DEF(ssp1_codec, +SND_SOC_DAILINK_DEF(ssp1_codec_2spk, DAILINK_COMP_ARRAY( /* WL */ COMP_CODEC("i2c-10EC1011:00", CML_RT1011_CODEC_DAI), /* WR */ COMP_CODEC("i2c-10EC1011:01", CML_RT1011_CODEC_DAI))); +SND_SOC_DAILINK_DEF(ssp1_codec_4spk, + DAILINK_COMP_ARRAY( + /* WL */ COMP_CODEC("i2c-10EC1011:00", CML_RT1011_CODEC_DAI), + /* WR */ COMP_CODEC("i2c-10EC1011:01", CML_RT1011_CODEC_DAI), + /* TL */ COMP_CODEC("i2c-10EC1011:02", CML_RT1011_CODEC_DAI), + /* TR */ COMP_CODEC("i2c-10EC1011:03", CML_RT1011_CODEC_DAI))); + SND_SOC_DAILINK_DEF(dmic_pin, DAILINK_COMP_ARRAY(COMP_CPU("DMIC01 Pin"))); @@ -475,7 +481,7 @@ .no_pcm = 1, .init = cml_rt1011_spk_init, .ops = &cml_rt1011_ops, - SND_SOC_DAILINK_REG(ssp1_pin, ssp1_codec, platform), + SND_SOC_DAILINK_REG(ssp1_pin, ssp1_codec_2spk, platform), }, }; @@ -488,11 +494,21 @@ .dlc = COMP_CODEC_CONF("i2c-10EC1011:01"), .name_prefix = "WR", }, + /* single configuration structure for 2 and 4 channels */ + { + .dlc = COMP_CODEC_CONF("i2c-10EC1011:02"), + .name_prefix = "TL", + }, + { + .dlc = COMP_CODEC_CONF("i2c-10EC1011:03"), + .name_prefix = "TR", + }, }; /* Cometlake audio machine driver for RT1011 and RT5682 */ static struct snd_soc_card snd_soc_card_cml = { .name = "cml_rt1011_rt5682", + .owner = THIS_MODULE, .dai_link = cml_rt1011_rt5682_dailink, .num_links = ARRAY_SIZE(cml_rt1011_rt5682_dailink), .codec_conf = rt1011_conf, @@ -509,8 +525,6 @@ static int snd_cml_rt1011_probe(struct platform_device *pdev) { - struct snd_soc_dai_link_component *rt1011_dais_components; - struct snd_soc_codec_conf *rt1011_dais_confs; struct card_private *ctx; struct snd_soc_acpi_mach *mach; const char *platform_name; @@ -529,65 +543,15 @@ dev_info(&pdev->dev, "sof_rt1011_quirk = %lx\n", sof_rt1011_quirk); + /* when 4 speaker is available, update codec config */ if (sof_rt1011_quirk & (SOF_RT1011_SPEAKER_TL | SOF_RT1011_SPEAKER_TR)) { - rt1011_dais_confs = devm_kzalloc(&pdev->dev, - sizeof(struct snd_soc_codec_conf) * - SPK_CH, GFP_KERNEL); - - if (!rt1011_dais_confs) - return -ENOMEM; - - rt1011_dais_components = devm_kzalloc(&pdev->dev, - sizeof(struct snd_soc_dai_link_component) * - SPK_CH, GFP_KERNEL); - - if (!rt1011_dais_components) - return -ENOMEM; - - for (i = 0; i < SPK_CH; i++) { - rt1011_dais_confs[i].dlc.name = devm_kasprintf(&pdev->dev, - GFP_KERNEL, - "i2c-10EC1011:0%d", - i); - - if (!rt1011_dais_confs[i].dlc.name) - return -ENOMEM; - - switch (i) { - case 0: - rt1011_dais_confs[i].name_prefix = "WL"; - break; - case 1: - rt1011_dais_confs[i].name_prefix = "WR"; - break; - case 2: - rt1011_dais_confs[i].name_prefix = "TL"; - break; - case 3: - rt1011_dais_confs[i].name_prefix = "TR"; - break; - default: - return -EINVAL; - } - rt1011_dais_components[i].name = devm_kasprintf(&pdev->dev, - GFP_KERNEL, - "i2c-10EC1011:0%d", - i); - if (!rt1011_dais_components[i].name) - return -ENOMEM; - - rt1011_dais_components[i].dai_name = CML_RT1011_CODEC_DAI; - } - - snd_soc_card_cml.codec_conf = rt1011_dais_confs; - snd_soc_card_cml.num_configs = SPK_CH; - for (i = 0; i < ARRAY_SIZE(cml_rt1011_rt5682_dailink); i++) { if (!strcmp(cml_rt1011_rt5682_dailink[i].codecs->dai_name, - CML_RT1011_CODEC_DAI)) { - cml_rt1011_rt5682_dailink[i].codecs = rt1011_dais_components; - cml_rt1011_rt5682_dailink[i].num_codecs = SPK_CH; + CML_RT1011_CODEC_DAI)) { + cml_rt1011_rt5682_dailink[i].codecs = ssp1_codec_4spk; + cml_rt1011_rt5682_dailink[i].num_codecs = + ARRAY_SIZE(ssp1_codec_4spk); } } } --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/haswell.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/haswell.c @@ -205,6 +205,7 @@ .probe = haswell_audio_probe, .driver = { .name = "haswell-audio", + .pm = &snd_soc_pm_ops, }, }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/kbl_rt5663_max98927.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/kbl_rt5663_max98927.c @@ -401,17 +401,40 @@ struct snd_interval *chan = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); struct snd_mask *fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); - struct snd_soc_dpcm *dpcm = container_of( - params, struct snd_soc_dpcm, hw_params); - struct snd_soc_dai_link *fe_dai_link = dpcm->fe->dai_link; - struct snd_soc_dai_link *be_dai_link = dpcm->be->dai_link; + struct snd_soc_dpcm *dpcm, *rtd_dpcm = NULL; + + /* + * The following loop will be called only for playback stream + * In this platform, there is only one playback device on every SSP + */ + for_each_dpcm_fe(rtd, SNDRV_PCM_STREAM_PLAYBACK, dpcm) { + rtd_dpcm = dpcm; + break; + } + + /* + * This following loop will be called only for capture stream + * In this platform, there is only one capture device on every SSP + */ + for_each_dpcm_fe(rtd, SNDRV_PCM_STREAM_CAPTURE, dpcm) { + rtd_dpcm = dpcm; + break; + } + + if (!rtd_dpcm) + return -EINVAL; + + /* + * The above 2 loops are mutually exclusive based on the stream direction, + * thus rtd_dpcm variable will never be overwritten + */ /* * The ADSP will convert the FE rate to 48k, stereo, 24 bit */ - if (!strcmp(fe_dai_link->name, "Kbl Audio Port") || - !strcmp(fe_dai_link->name, "Kbl Audio Headset Playback") || - !strcmp(fe_dai_link->name, "Kbl Audio Capture Port")) { + if (!strcmp(rtd_dpcm->fe->dai_link->name, "Kbl Audio Port") || + !strcmp(rtd_dpcm->fe->dai_link->name, "Kbl Audio Headset Playback") || + !strcmp(rtd_dpcm->fe->dai_link->name, "Kbl Audio Capture Port")) { rate->min = rate->max = 48000; chan->min = chan->max = 2; snd_mask_none(fmt); @@ -421,7 +444,7 @@ * The speaker on the SSP0 supports S16_LE and not S24_LE. * thus changing the mask here */ - if (!strcmp(be_dai_link->name, "SSP0-Codec")) + if (!strcmp(rtd_dpcm->be->dai_link->name, "SSP0-Codec")) snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S16_LE); return 0; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c @@ -677,6 +677,8 @@ switch (level) { case SND_SOC_BIAS_PREPARE: if (dapm->bias_level == SND_SOC_BIAS_ON) { + if (!__clk_is_enabled(priv->mclk)) + return 0; dev_dbg(card->dev, "Disable mclk"); clk_disable_unprepare(priv->mclk); } else { --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/skl_hda_dsp_common.h +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/skl_hda_dsp_common.h @@ -33,6 +33,7 @@ int dai_index; const char *platform_name; bool common_hdmi_codec_drv; + bool idisp_codec; }; extern struct snd_soc_dai_link skl_hda_be_dai_links[HDA_DSP_MAX_BE_DAI_LINKS]; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -79,6 +79,9 @@ link->platforms->name = ctx->platform_name; link->nonatomic = 1; + if (!ctx->idisp_codec) + return 0; + if (strstr(link->name, "HDMI")) { ret = skl_hda_hdmi_add_pcm(card, ctx->pcm_count); @@ -118,19 +121,20 @@ static int skl_hda_fill_card_info(struct snd_soc_acpi_mach_params *mach_params) { struct snd_soc_card *card = &hda_soc_card; + struct skl_hda_private *ctx = snd_soc_card_get_drvdata(card); struct snd_soc_dai_link *dai_link; - u32 codec_count, codec_mask, idisp_mask; + u32 codec_count, codec_mask; int i, num_links, num_route; codec_mask = mach_params->codec_mask; codec_count = hweight_long(codec_mask); - idisp_mask = codec_mask & IDISP_CODEC_MASK; + ctx->idisp_codec = !!(codec_mask & IDISP_CODEC_MASK); if (!codec_count || codec_count > 2 || - (codec_count == 2 && !idisp_mask)) + (codec_count == 2 && !ctx->idisp_codec)) return -EINVAL; - if (codec_mask == idisp_mask) { + if (codec_mask == IDISP_CODEC_MASK) { /* topology with iDisp as the only HDA codec */ num_links = IDISP_DAI_COUNT + DMIC_DAI_COUNT; num_route = IDISP_ROUTE_COUNT; @@ -152,7 +156,7 @@ num_route = ARRAY_SIZE(skl_hda_map); card->dapm_widgets = skl_hda_widgets; card->num_dapm_widgets = ARRAY_SIZE(skl_hda_widgets); - if (!idisp_mask) { + if (!ctx->idisp_codec) { for (i = 0; i < IDISP_DAI_COUNT; i++) { skl_hda_be_dai_links[i].codecs = dummy_codec; skl_hda_be_dai_links[i].num_codecs = @@ -177,7 +181,7 @@ struct snd_soc_dai *dai; for_each_card_rtds(card, rtd) { - if (!strstr(rtd->dai_link->codecs->name, "ehdaudio")) + if (!strstr(rtd->dai_link->codecs->name, "ehdaudio0D0")) continue; dai = asoc_rtd_to_codec(rtd, 0); hda_pvt = snd_soc_component_get_drvdata(dai->component); @@ -211,6 +215,8 @@ if (!mach) return -EINVAL; + snd_soc_card_set_drvdata(&hda_soc_card, ctx); + ret = skl_hda_fill_card_info(&mach->mach_params); if (ret < 0) { dev_err(&pdev->dev, "Unsupported HDAudio/iDisp configuration found\n"); @@ -223,7 +229,6 @@ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; hda_soc_card.dev = &pdev->dev; - snd_soc_card_set_drvdata(&hda_soc_card, ctx); if (mach->mach_params.dmic_num > 0) { snprintf(hda_soc_components, sizeof(hda_soc_components), --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/sof_rt5682.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/sof_rt5682.c @@ -118,6 +118,19 @@ .driver_data = (void *)(SOF_RT5682_MCLK_EN | SOF_RT5682_SSP_CODEC(0)), }, + { + .callback = sof_rt5682_quirk_cb, + .matches = { + DMI_MATCH(DMI_PRODUCT_FAMILY, "Google_Volteer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Terrador"), + }, + .driver_data = (void *)(SOF_RT5682_MCLK_EN | + SOF_RT5682_SSP_CODEC(0) | + SOF_SPEAKER_AMP_PRESENT | + SOF_MAX98373_SPEAKER_AMP_PRESENT | + SOF_RT5682_SSP_AMP(2) | + SOF_RT5682_NUM_HDMIDEV(4)), + }, {} }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/sof_sdw.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/sof_sdw.c @@ -29,6 +29,17 @@ .callback = sof_sdw_quirk_cb, .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A32") + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + SOF_RT711_JD_SRC_JD2 | + SOF_RT715_DAI_ID_FIX | + SOF_SDW_FOUR_SPK), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "09C6") }, .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 | @@ -48,6 +59,17 @@ .callback = sof_sdw_quirk_cb, .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5E") + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + SOF_RT711_JD_SRC_JD2 | + SOF_RT715_DAI_ID_FIX | + SOF_SDW_FOUR_SPK), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "098F"), }, .driver_data = (void *)(SOF_RT711_JD_SRC_JD2 | @@ -184,6 +206,7 @@ .direction = {true, true}, .dai_name = "rt711-aif1", .init = sof_sdw_rt711_init, + .exit = sof_sdw_rt711_exit, }, { .id = 0x1308, @@ -707,7 +730,7 @@ } /* enable dmic01 & dmic16k */ - dmic_num = (sof_sdw_quirk & SOF_SDW_PCH_DMIC) ? 2 : 0; + dmic_num = (sof_sdw_quirk & SOF_SDW_PCH_DMIC || mach_params->dmic_num) ? 2 : 0; comp_num += dmic_num; dev_dbg(dev, "sdw %d, ssp %d, dmic %d, hdmi %d", sdw_be_num, ssp_num, @@ -893,6 +916,7 @@ static struct snd_soc_card card_sof_sdw = { .name = "soundwire", + .owner = THIS_MODULE, .late_probe = sof_sdw_hdmi_card_late_probe, .codec_conf = codec_conf, .num_configs = ARRAY_SIZE(codec_conf), --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/sof_sdw_common.h +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/sof_sdw_common.h @@ -84,6 +84,7 @@ struct snd_soc_dai_link *dai_links, struct sof_sdw_codec_info *info, bool playback); +int sof_sdw_rt711_exit(struct device *dev, struct snd_soc_dai_link *dai_link); /* RT700 support */ int sof_sdw_rt700_init(const struct snd_soc_acpi_link_adr *link, --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/boards/sof_sdw_rt711.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/boards/sof_sdw_rt711.c @@ -133,6 +133,21 @@ return ret; } +int sof_sdw_rt711_exit(struct device *dev, struct snd_soc_dai_link *dai_link) +{ + struct device *sdw_dev; + + sdw_dev = bus_find_device_by_name(&sdw_bus_type, NULL, + dai_link->codecs[0].name); + if (!sdw_dev) + return -EINVAL; + + device_remove_properties(sdw_dev); + put_device(sdw_dev); + + return 0; +} + int sof_sdw_rt711_init(const struct snd_soc_acpi_link_adr *link, struct snd_soc_dai_link *dai_links, struct sof_sdw_codec_info *info, --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/common/soc-intel-quirks.h +++ linux-riscv-5.8-5.8.0/sound/soc/intel/common/soc-intel-quirks.h @@ -11,6 +11,7 @@ #if IS_ENABLED(CONFIG_X86) +#include #include #include #include @@ -38,12 +39,36 @@ static inline bool soc_intel_is_byt_cr(struct platform_device *pdev) { + /* + * List of systems which: + * 1. Use a non CR version of the Bay Trail SoC + * 2. Contain at least 6 interrupt resources so that the + * platform_get_resource(pdev, IORESOURCE_IRQ, 5) check below + * succeeds + * 3. Despite 1. and 2. still have their IPC IRQ at index 0 rather then 5 + * + * This needs to be here so that it can be shared between the SST and + * SOF drivers. We rely on the compiler to optimize this out in files + * where soc_intel_is_byt_cr is not used. + */ + static const struct dmi_system_id force_bytcr_table[] = { + { /* Lenovo Yoga Tablet 2 series */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"), + }, + }, + {} + }; struct device *dev = &pdev->dev; int status = 0; if (!soc_intel_is_byt()) return false; + if (dmi_check_system(force_bytcr_table)) + return true; + if (iosf_mbi_available()) { u32 bios_status; --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/haswell/sst-haswell-dsp.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/haswell/sst-haswell-dsp.c @@ -243,92 +243,45 @@ return ret; } -#define CSR_DEFAULT_VALUE 0x8480040E -#define ISC_DEFAULT_VALUE 0x0 -#define ISD_DEFAULT_VALUE 0x0 -#define IMC_DEFAULT_VALUE 0x7FFF0003 -#define IMD_DEFAULT_VALUE 0x7FFF0003 -#define IPCC_DEFAULT_VALUE 0x0 -#define IPCD_DEFAULT_VALUE 0x0 -#define CLKCTL_DEFAULT_VALUE 0x7FF -#define CSR2_DEFAULT_VALUE 0x0 -#define LTR_CTRL_DEFAULT_VALUE 0x0 -#define HMD_CTRL_DEFAULT_VALUE 0x0 - -static void hsw_set_shim_defaults(struct sst_dsp *sst) -{ - sst_dsp_shim_write_unlocked(sst, SST_CSR, CSR_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_ISRX, ISC_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_ISRD, ISD_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_IMRX, IMC_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_IMRD, IMD_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_IPCX, IPCC_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_IPCD, IPCD_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_CLKCTL, CLKCTL_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_CSR2, CSR2_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_LTRC, LTR_CTRL_DEFAULT_VALUE); - sst_dsp_shim_write_unlocked(sst, SST_HMDC, HMD_CTRL_DEFAULT_VALUE); -} - -/* all clock-gating minus DCLCGE and DTCGE */ -#define SST_VDRTCL2_CG_OTHER 0xB7D - static void hsw_set_dsp_D3(struct sst_dsp *sst) { + u32 val; u32 reg; - /* disable clock core gating */ + /* Disable core clock gating (VDRTCTL2.DCLCGE = 0) */ reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg &= ~(SST_VDRTCL2_DCLCGE); + reg &= ~(SST_VDRTCL2_DCLCGE | SST_VDRTCL2_DTCGE); writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - /* stall, reset and set 24MHz XOSC */ - sst_dsp_shim_update_bits_unlocked(sst, SST_CSR, - SST_CSR_24MHZ_LPCS | SST_CSR_STALL | SST_CSR_RST, - SST_CSR_24MHZ_LPCS | SST_CSR_STALL | SST_CSR_RST); + /* enable power gating and switch off DRAM & IRAM blocks */ + val = readl(sst->addr.pci_cfg + SST_VDRTCTL0); + val |= SST_VDRTCL0_DSRAMPGE_MASK | + SST_VDRTCL0_ISRAMPGE_MASK; + val &= ~(SST_VDRTCL0_D3PGD | SST_VDRTCL0_D3SRAMPGD); + writel(val, sst->addr.pci_cfg + SST_VDRTCTL0); - /* DRAM power gating all */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL0); - reg |= SST_VDRTCL0_ISRAMPGE_MASK | - SST_VDRTCL0_DSRAMPGE_MASK; - reg &= ~(SST_VDRTCL0_D3SRAMPGD); - reg |= SST_VDRTCL0_D3PGD; - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL0); - udelay(50); - - /* PLL shutdown enable */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_APLLSE_MASK; - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); + /* switch off audio PLL */ + val = readl(sst->addr.pci_cfg + SST_VDRTCTL2); + val |= SST_VDRTCL2_APLLSE_MASK; + writel(val, sst->addr.pci_cfg + SST_VDRTCTL2); - /* disable MCLK */ + /* disable MCLK(clkctl.smos = 0) */ sst_dsp_shim_update_bits_unlocked(sst, SST_CLKCTL, - SST_CLKCTL_MASK, 0); + SST_CLKCTL_MASK, 0); - /* switch clock gating */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_CG_OTHER; - reg &= ~(SST_VDRTCL2_DTCGE); - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - /* enable DTCGE separatelly */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_DTCGE; - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - - /* set shim defaults */ - hsw_set_shim_defaults(sst); - - /* set D3 */ - reg = readl(sst->addr.pci_cfg + SST_PMCS); - reg |= SST_PMCS_PS_MASK; - writel(reg, sst->addr.pci_cfg + SST_PMCS); + /* Set D3 state, delay 50 us */ + val = readl(sst->addr.pci_cfg + SST_PMCS); + val |= SST_PMCS_PS_MASK; + writel(val, sst->addr.pci_cfg + SST_PMCS); udelay(50); - /* enable clock core gating */ + /* Enable core clock gating (VDRTCTL2.DCLCGE = 1), delay 50 us */ reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_DCLCGE; + reg |= SST_VDRTCL2_DCLCGE | SST_VDRTCL2_DTCGE; writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); + udelay(50); + } static void hsw_reset(struct sst_dsp *sst) @@ -346,62 +299,75 @@ SST_CSR_RST | SST_CSR_STALL, SST_CSR_STALL); } -/* recommended CSR state for power-up */ -#define SST_CSR_D0_MASK (0x18A09C0C | SST_CSR_DCS_MASK) - static int hsw_set_dsp_D0(struct sst_dsp *sst) { - u32 reg; + int tries = 10; + u32 reg, fw_dump_bit; - /* disable clock core gating */ + /* Disable core clock gating (VDRTCTL2.DCLCGE = 0) */ reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg &= ~(SST_VDRTCL2_DCLCGE); + reg &= ~(SST_VDRTCL2_DCLCGE | SST_VDRTCL2_DTCGE); writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - /* switch clock gating */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_CG_OTHER; - reg &= ~(SST_VDRTCL2_DTCGE); - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); + /* Disable D3PG (VDRTCTL0.D3PGD = 1) */ + reg = readl(sst->addr.pci_cfg + SST_VDRTCTL0); + reg |= SST_VDRTCL0_D3PGD; + writel(reg, sst->addr.pci_cfg + SST_VDRTCTL0); - /* set D0 */ + /* Set D0 state */ reg = readl(sst->addr.pci_cfg + SST_PMCS); - reg &= ~(SST_PMCS_PS_MASK); + reg &= ~SST_PMCS_PS_MASK; writel(reg, sst->addr.pci_cfg + SST_PMCS); - /* DRAM power gating none */ - reg = readl(sst->addr.pci_cfg + SST_VDRTCTL0); - reg &= ~(SST_VDRTCL0_ISRAMPGE_MASK | - SST_VDRTCL0_DSRAMPGE_MASK); - reg |= SST_VDRTCL0_D3SRAMPGD; - reg |= SST_VDRTCL0_D3PGD; - writel(reg, sst->addr.pci_cfg + SST_VDRTCTL0); - mdelay(10); + /* check that ADSP shim is enabled */ + while (tries--) { + reg = readl(sst->addr.pci_cfg + SST_PMCS) & SST_PMCS_PS_MASK; + if (reg == 0) + goto finish; + + msleep(1); + } - /* set shim defaults */ - hsw_set_shim_defaults(sst); + return -ENODEV; - /* restore MCLK */ +finish: + /* select SSP1 19.2MHz base clock, SSP clock 0, turn off Low Power Clock */ + sst_dsp_shim_update_bits_unlocked(sst, SST_CSR, + SST_CSR_S1IOCS | SST_CSR_SBCS1 | SST_CSR_LPCS, 0x0); + + /* stall DSP core, set clk to 192/96Mhz */ + sst_dsp_shim_update_bits_unlocked(sst, + SST_CSR, SST_CSR_STALL | SST_CSR_DCS_MASK, + SST_CSR_STALL | SST_CSR_DCS(4)); + + /* Set 24MHz MCLK, prevent local clock gating, enable SSP0 clock */ sst_dsp_shim_update_bits_unlocked(sst, SST_CLKCTL, - SST_CLKCTL_MASK, SST_CLKCTL_MASK); + SST_CLKCTL_MASK | SST_CLKCTL_DCPLCG | SST_CLKCTL_SCOE0, + SST_CLKCTL_MASK | SST_CLKCTL_DCPLCG | SST_CLKCTL_SCOE0); - /* PLL shutdown disable */ + /* Stall and reset core, set CSR */ + hsw_reset(sst); + + /* Enable core clock gating (VDRTCTL2.DCLCGE = 1), delay 50 us */ reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg &= ~(SST_VDRTCL2_APLLSE_MASK); + reg |= SST_VDRTCL2_DCLCGE | SST_VDRTCL2_DTCGE; writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - sst_dsp_shim_update_bits_unlocked(sst, SST_CSR, - SST_CSR_D0_MASK, SST_CSR_SBCS0 | SST_CSR_SBCS1 | - SST_CSR_STALL | SST_CSR_DCS(4)); udelay(50); - /* enable clock core gating */ + /* switch on audio PLL */ reg = readl(sst->addr.pci_cfg + SST_VDRTCTL2); - reg |= SST_VDRTCL2_DCLCGE; + reg &= ~SST_VDRTCL2_APLLSE_MASK; writel(reg, sst->addr.pci_cfg + SST_VDRTCTL2); - /* clear reset */ - sst_dsp_shim_update_bits_unlocked(sst, SST_CSR, SST_CSR_RST, 0); + /* set default power gating control, enable power gating control for all blocks. that is, + can't be accessed, please enable each block before accessing. */ + reg = readl(sst->addr.pci_cfg + SST_VDRTCTL0); + reg |= SST_VDRTCL0_DSRAMPGE_MASK | SST_VDRTCL0_ISRAMPGE_MASK; + /* for D0, always enable the block(DSRAM[0]) used for FW dump */ + fw_dump_bit = 1 << SST_VDRTCL0_DSRAMPGE_SHIFT; + writel(reg & ~fw_dump_bit, sst->addr.pci_cfg + SST_VDRTCTL0); + /* disable DMA finish function for SSP0 & SSP1 */ sst_dsp_shim_update_bits_unlocked(sst, SST_CSR2, SST_CSR2_SDFD_SSP1, @@ -418,6 +384,12 @@ sst_dsp_shim_update_bits(sst, SST_IMRD, (SST_IMRD_DONE | SST_IMRD_BUSY | SST_IMRD_SSP0 | SST_IMRD_DMAC), 0x0); + /* clear IPC registers */ + sst_dsp_shim_write(sst, SST_IPCX, 0x0); + sst_dsp_shim_write(sst, SST_IPCD, 0x0); + sst_dsp_shim_write(sst, 0x80, 0x6); + sst_dsp_shim_write(sst, 0xe0, 0x300a); + return 0; } @@ -443,6 +415,11 @@ { dev_dbg(sst->dev, "HSW_PM dsp runtime suspend\n"); + /* put DSP into reset and stall */ + sst_dsp_shim_update_bits(sst, SST_CSR, + SST_CSR_24MHZ_LPCS | SST_CSR_RST | SST_CSR_STALL, + SST_CSR_RST | SST_CSR_STALL | SST_CSR_24MHZ_LPCS); + hsw_set_dsp_D3(sst); dev_dbg(sst->dev, "HSW_PM dsp runtime suspend exit\n"); } --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/skylake/cnl-sst.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/skylake/cnl-sst.c @@ -224,6 +224,7 @@ "dsp boot timeout, status=%#x error=%#x\n", sst_dsp_shim_read(ctx, CNL_ADSP_FW_STATUS), sst_dsp_shim_read(ctx, CNL_ADSP_ERROR_CODE)); + ret = -ETIMEDOUT; goto err; } } else { --- linux-riscv-5.8-5.8.0.orig/sound/soc/intel/skylake/skl-topology.c +++ linux-riscv-5.8-5.8.0/sound/soc/intel/skylake/skl-topology.c @@ -3619,19 +3619,20 @@ list_for_each_entry(dobj, &component->dobj_list, list) { struct snd_kcontrol *kcontrol = dobj->control.kcontrol; - struct soc_enum *se = - (struct soc_enum *)kcontrol->private_value; - char **texts = dobj->control.dtexts; + struct soc_enum *se; + char **texts; char chan_text[4]; - if (dobj->type != SND_SOC_DOBJ_ENUM || - dobj->control.kcontrol->put != - skl_tplg_multi_config_set_dmic) + if (dobj->type != SND_SOC_DOBJ_ENUM || !kcontrol || + kcontrol->put != skl_tplg_multi_config_set_dmic) continue; + + se = (struct soc_enum *)kcontrol->private_value; + texts = dobj->control.dtexts; sprintf(chan_text, "c%d", mach->mach_params.dmic_num); for (i = 0; i < se->items; i++) { - struct snd_ctl_elem_value val; + struct snd_ctl_elem_value val = {}; if (strstr(texts[i], chan_text)) { val.value.enumerated.item[0] = i; --- linux-riscv-5.8-5.8.0.orig/sound/soc/jz4740/jz4740-i2s.c +++ linux-riscv-5.8-5.8.0/sound/soc/jz4740/jz4740-i2s.c @@ -312,10 +312,14 @@ switch (clk_id) { case JZ4740_I2S_CLKSRC_EXT: parent = clk_get(NULL, "ext"); + if (IS_ERR(parent)) + return PTR_ERR(parent); clk_set_parent(i2s->clk_i2s, parent); break; case JZ4740_I2S_CLKSRC_PLL: parent = clk_get(NULL, "pll half"); + if (IS_ERR(parent)) + return PTR_ERR(parent); clk_set_parent(i2s->clk_i2s, parent); ret = clk_set_rate(i2s->clk_i2s, freq); break; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/Kconfig +++ linux-riscv-5.8-5.8.0/sound/soc/meson/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only menu "ASoC support for Amlogic platforms" - depends on ARCH_MESON || COMPILE_TEST + depends on ARCH_MESON || (COMPILE_TEST && COMMON_CLK) config SND_MESON_AIU tristate "Amlogic AIU" --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-card.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-card.c @@ -116,7 +116,7 @@ lb = &card->dai_link[*index + 1]; - lb->name = kasprintf(GFP_KERNEL, "%s-lb", pad->name); + lb->name = devm_kasprintf(card->dev, GFP_KERNEL, "%s-lb", pad->name); if (!lb->name) return -ENOMEM; @@ -327,20 +327,22 @@ return ret; if (axg_card_cpu_is_playback_fe(dai_link->cpus->of_node)) - ret = meson_card_set_fe_link(card, dai_link, np, true); + return meson_card_set_fe_link(card, dai_link, np, true); else if (axg_card_cpu_is_capture_fe(dai_link->cpus->of_node)) - ret = meson_card_set_fe_link(card, dai_link, np, false); - else - ret = meson_card_set_be_link(card, dai_link, np); + return meson_card_set_fe_link(card, dai_link, np, false); + + ret = meson_card_set_be_link(card, dai_link, np); if (ret) return ret; - if (axg_card_cpu_is_tdm_iface(dai_link->cpus->of_node)) - ret = axg_card_parse_tdm(card, np, index); - else if (axg_card_cpu_is_codec(dai_link->cpus->of_node)) { + if (axg_card_cpu_is_codec(dai_link->cpus->of_node)) { dai_link->params = &codec_params; - dai_link->no_pcm = 0; /* link is not a DPCM BE */ + } else { + dai_link->no_pcm = 1; + snd_soc_dai_link_set_capabilities(dai_link); + if (axg_card_cpu_is_tdm_iface(dai_link->cpus->of_node)) + ret = axg_card_parse_tdm(card, np, index); } return ret; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-tdm-formatter.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-tdm-formatter.c @@ -70,7 +70,7 @@ static int axg_tdm_formatter_enable(struct axg_tdm_formatter *formatter) { struct axg_tdm_stream *ts = formatter->stream; - bool invert = formatter->drv->quirks->invert_sclk; + bool invert; int ret; /* Do nothing if the formatter is already enabled */ @@ -96,11 +96,12 @@ return ret; /* - * If sclk is inverted, invert it back and provide the inversion - * required by the formatter + * If sclk is inverted, it means the bit should latched on the + * rising edge which is what our HW expects. If not, we need to + * invert it before the formatter. */ - invert ^= axg_tdm_sclk_invert(ts->iface->fmt); - ret = clk_set_phase(formatter->sclk, invert ? 180 : 0); + invert = axg_tdm_sclk_invert(ts->iface->fmt); + ret = clk_set_phase(formatter->sclk, invert ? 0 : 180); if (ret) return ret; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-tdm-formatter.h +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-tdm-formatter.h @@ -16,7 +16,6 @@ struct axg_tdm_formatter_hw { unsigned int skew_offset; - bool invert_sclk; }; struct axg_tdm_formatter_ops { --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-tdm-interface.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-tdm-interface.c @@ -119,18 +119,25 @@ { struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); - /* These modes are not supported */ - if (fmt & (SND_SOC_DAIFMT_CBS_CFM | SND_SOC_DAIFMT_CBM_CFS)) { + switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { + case SND_SOC_DAIFMT_CBS_CFS: + if (!iface->mclk) { + dev_err(dai->dev, "cpu clock master: mclk missing\n"); + return -ENODEV; + } + break; + + case SND_SOC_DAIFMT_CBM_CFM: + break; + + case SND_SOC_DAIFMT_CBS_CFM: + case SND_SOC_DAIFMT_CBM_CFS: dev_err(dai->dev, "only CBS_CFS and CBM_CFM are supported\n"); + /* Fall-through */ + default: return -EINVAL; } - /* If the TDM interface is the clock master, it requires mclk */ - if (!iface->mclk && (fmt & SND_SOC_DAIFMT_CBS_CFS)) { - dev_err(dai->dev, "cpu clock master: mclk missing\n"); - return -ENODEV; - } - iface->fmt = fmt; return 0; } @@ -319,7 +326,8 @@ if (ret) return ret; - if (iface->fmt & SND_SOC_DAIFMT_CBS_CFS) { + if ((iface->fmt & SND_SOC_DAIFMT_MASTER_MASK) == + SND_SOC_DAIFMT_CBS_CFS) { ret = axg_tdm_iface_set_sclk(dai, params); if (ret) return ret; @@ -459,8 +467,20 @@ return ret; } +static const struct snd_soc_dapm_widget axg_tdm_iface_dapm_widgets[] = { + SND_SOC_DAPM_SIGGEN("Playback Signal"), +}; + +static const struct snd_soc_dapm_route axg_tdm_iface_dapm_routes[] = { + { "Loopback", NULL, "Playback Signal" }, +}; + static const struct snd_soc_component_driver axg_tdm_iface_component_drv = { - .set_bias_level = axg_tdm_iface_set_bias_level, + .dapm_widgets = axg_tdm_iface_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(axg_tdm_iface_dapm_widgets), + .dapm_routes = axg_tdm_iface_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(axg_tdm_iface_dapm_routes), + .set_bias_level = axg_tdm_iface_set_bias_level, }; static const struct of_device_id axg_tdm_iface_of_match[] = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-tdmin.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-tdmin.c @@ -228,8 +228,7 @@ .regmap_cfg = &axg_tdmin_regmap_cfg, .ops = &axg_tdmin_ops, .quirks = &(const struct axg_tdm_formatter_hw) { - .invert_sclk = false, - .skew_offset = 2, + .skew_offset = 3, }, }; @@ -237,6 +236,12 @@ { .compatible = "amlogic,axg-tdmin", .data = &axg_tdmin_drv, + }, { + .compatible = "amlogic,g12a-tdmin", + .data = &axg_tdmin_drv, + }, { + .compatible = "amlogic,sm1-tdmin", + .data = &axg_tdmin_drv, }, {} }; MODULE_DEVICE_TABLE(of, axg_tdmin_of_match); --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-tdmout.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-tdmout.c @@ -238,7 +238,6 @@ .regmap_cfg = &axg_tdmout_regmap_cfg, .ops = &axg_tdmout_ops, .quirks = &(const struct axg_tdm_formatter_hw) { - .invert_sclk = true, .skew_offset = 1, }, }; @@ -248,7 +247,6 @@ .regmap_cfg = &axg_tdmout_regmap_cfg, .ops = &axg_tdmout_ops, .quirks = &(const struct axg_tdm_formatter_hw) { - .invert_sclk = true, .skew_offset = 2, }, }; @@ -309,7 +307,6 @@ .regmap_cfg = &axg_tdmout_regmap_cfg, .ops = &axg_tdmout_ops, .quirks = &(const struct axg_tdm_formatter_hw) { - .invert_sclk = true, .skew_offset = 2, }, }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/axg-toddr.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/axg-toddr.c @@ -18,6 +18,7 @@ #define CTRL0_TODDR_SEL_RESAMPLE BIT(30) #define CTRL0_TODDR_EXT_SIGNED BIT(29) #define CTRL0_TODDR_PP_MODE BIT(28) +#define CTRL0_TODDR_SYNC_CH BIT(27) #define CTRL0_TODDR_TYPE_MASK GENMASK(15, 13) #define CTRL0_TODDR_TYPE(x) ((x) << 13) #define CTRL0_TODDR_MSB_POS_MASK GENMASK(12, 8) @@ -189,10 +190,31 @@ .dai_drv = &axg_toddr_dai_drv }; +static int g12a_toddr_dai_startup(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai) +{ + struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); + int ret; + + ret = axg_toddr_dai_startup(substream, dai); + if (ret) + return ret; + + /* + * Make sure the first channel ends up in the at beginning of the output + * As weird as it looks, without this the first channel may be misplaced + * in memory, with a random shift of 2 channels. + */ + regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SYNC_CH, + CTRL0_TODDR_SYNC_CH); + + return 0; +} + static const struct snd_soc_dai_ops g12a_toddr_ops = { .prepare = g12a_toddr_dai_prepare, .hw_params = axg_toddr_dai_hw_params, - .startup = axg_toddr_dai_startup, + .startup = g12a_toddr_dai_startup, .shutdown = axg_toddr_dai_shutdown, }; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/gx-card.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/gx-card.c @@ -96,21 +96,21 @@ return ret; if (gx_card_cpu_identify(dai_link->cpus, "FIFO")) - ret = meson_card_set_fe_link(card, dai_link, np, true); - else - ret = meson_card_set_be_link(card, dai_link, np); + return meson_card_set_fe_link(card, dai_link, np, true); + ret = meson_card_set_be_link(card, dai_link, np); if (ret) return ret; - /* Check if the cpu is the i2s encoder and parse i2s data */ - if (gx_card_cpu_identify(dai_link->cpus, "I2S Encoder")) - ret = gx_card_parse_i2s(card, np, index); - /* Or apply codec to codec params if necessary */ - else if (gx_card_cpu_identify(dai_link->cpus, "CODEC CTRL")) { + if (gx_card_cpu_identify(dai_link->cpus, "CODEC CTRL")) { dai_link->params = &codec_params; - dai_link->no_pcm = 0; /* link is not a DPCM BE */ + } else { + dai_link->no_pcm = 1; + snd_soc_dai_link_set_capabilities(dai_link); + /* Check if the cpu is the i2s encoder and parse i2s data */ + if (gx_card_cpu_identify(dai_link->cpus, "I2S Encoder")) + ret = gx_card_parse_i2s(card, np, index); } return ret; --- linux-riscv-5.8-5.8.0.orig/sound/soc/meson/meson-card-utils.c +++ linux-riscv-5.8-5.8.0/sound/soc/meson/meson-card-utils.c @@ -147,10 +147,6 @@ struct device_node *np; int ret, num_codecs; - link->no_pcm = 1; - link->dpcm_playback = 1; - link->dpcm_capture = 1; - num_codecs = of_get_child_count(node); if (!num_codecs) { dev_err(card->dev, "be link %s has no codec\n", --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/Kconfig +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/Kconfig @@ -90,6 +90,7 @@ config SND_SOC_MSM8996 tristate "SoC Machine driver for MSM8996 and APQ8096 boards" depends on QCOM_APR + depends on COMMON_CLK select SND_SOC_QDSP6 select SND_SOC_QCOM_COMMON help --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/apq8016_sbc.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/apq8016_sbc.c @@ -234,6 +234,7 @@ return -ENOMEM; card->dev = dev; + card->owner = THIS_MODULE; card->dapm_widgets = apq8016_sbc_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(apq8016_sbc_dapm_widgets); data = apq8016_sbc_parse_of(card); --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/apq8096.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/apq8096.c @@ -114,6 +114,7 @@ return -ENOMEM; card->dev = dev; + card->owner = THIS_MODULE; dev_set_drvdata(dev, card); ret = qcom_snd_parse_of(card); if (ret) --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/common.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/common.c @@ -45,8 +45,10 @@ for_each_child_of_node(dev->of_node, np) { dlc = devm_kzalloc(dev, 2 * sizeof(*dlc), GFP_KERNEL); - if (!dlc) - return -ENOMEM; + if (!dlc) { + ret = -ENOMEM; + goto err_put_np; + } link->cpus = &dlc[0]; link->platforms = &dlc[1]; @@ -57,7 +59,7 @@ ret = of_property_read_string(np, "link-name", &link->name); if (ret) { dev_err(card->dev, "error getting codec dai_link name\n"); - goto err; + goto err_put_np; } cpu = of_get_child_by_name(np, "cpu"); @@ -113,8 +115,10 @@ } else { dlc = devm_kzalloc(dev, sizeof(*dlc), GFP_KERNEL); - if (!dlc) - return -ENOMEM; + if (!dlc) { + ret = -ENOMEM; + goto err; + } link->codecs = dlc; link->num_codecs = 1; @@ -139,10 +143,11 @@ return 0; err: - of_node_put(np); of_node_put(cpu); of_node_put(codec); of_node_put(platform); +err_put_np: + of_node_put(np); kfree(card->dai_link); return ret; } --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/lpass-cpu.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/lpass-cpu.c @@ -209,21 +209,6 @@ return 0; } -static int lpass_cpu_daiops_hw_free(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) -{ - struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); - int ret; - - ret = regmap_write(drvdata->lpaif_map, - LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), - 0); - if (ret) - dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret); - - return ret; -} - static int lpass_cpu_daiops_prepare(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { @@ -304,7 +289,6 @@ .startup = lpass_cpu_daiops_startup, .shutdown = lpass_cpu_daiops_shutdown, .hw_params = lpass_cpu_daiops_hw_params, - .hw_free = lpass_cpu_daiops_hw_free, .prepare = lpass_cpu_daiops_prepare, .trigger = lpass_cpu_daiops_trigger, }; @@ -501,7 +485,7 @@ for_each_child_of_node(dev->of_node, node) { ret = of_property_read_u32(node, "reg", &id); - if (ret || id < 0 || id >= data->variant->num_dai) { + if (ret || id < 0) { dev_err(dev, "valid dai id not found: %d\n", ret); continue; } --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/lpass-platform.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/lpass-platform.c @@ -61,7 +61,7 @@ int ret, dma_ch, dir = substream->stream; struct lpass_pcm_data *data; - data = devm_kzalloc(soc_runtime->dev, sizeof(*data), GFP_KERNEL); + data = kzalloc(sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM; @@ -73,8 +73,10 @@ else dma_ch = 0; - if (dma_ch < 0) + if (dma_ch < 0) { + kfree(data); return dma_ch; + } drvdata->substream[dma_ch] = substream; @@ -95,6 +97,7 @@ ret = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); if (ret < 0) { + kfree(data); dev_err(soc_runtime->dev, "setting constraints failed: %d\n", ret); return -EINVAL; @@ -118,6 +121,7 @@ if (v->free_dma_channel) v->free_dma_channel(drvdata, data->dma_ch); + kfree(data); return 0; } --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/qdsp6/q6afe-dai.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/qdsp6/q6afe-dai.c @@ -1150,206 +1150,206 @@ } static const struct snd_soc_dapm_widget q6afe_dai_widgets[] = { - SND_SOC_DAPM_AIF_IN("HDMI_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_0_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_1_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_2_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_3_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_4_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_5_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("SLIMBUS_6_RX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_0_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_1_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_2_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_3_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_TX", NULL, 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_TX", NULL, 0, 0, 0, 0), + SND_SOC_DAPM_AIF_IN("HDMI_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_0_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_1_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_2_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_3_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_4_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_5_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SLIMBUS_6_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_0_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_1_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_2_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_3_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_MI2S_RX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_MI2S_TX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_MI2S_RX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_MI2S_TX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_MI2S_RX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_MI2S_TX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_MI2S_RX_SD1", "Secondary MI2S Playback SD1", - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRI_MI2S_RX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRI_MI2S_TX", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("PRIMARY_TDM_RX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("PRIMARY_TDM_TX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("SEC_TDM_RX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SEC_TDM_TX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("TERT_TDM_RX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("TERT_TDM_TX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUAT_TDM_RX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUAT_TDM_TX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_TDM_RX_7", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_0", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_1", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_2", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_3", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_4", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_5", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_6", NULL, - 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_TDM_TX_7", NULL, - 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT_RX", "NULL", 0, 0, 0, 0), + 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("DISPLAY_PORT_RX", "NULL", 0, SND_SOC_NOPM, 0, 0), }; static const struct snd_soc_component_driver q6afe_dai_component = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/qdsp6/q6asm-dai.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -1015,6 +1015,25 @@ } } +static const struct snd_soc_dapm_widget q6asm_dapm_widgets[] = { + SND_SOC_DAPM_AIF_IN("MM_DL1", "MultiMedia1 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL2", "MultiMedia2 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL3", "MultiMedia3 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL4", "MultiMedia4 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL5", "MultiMedia5 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL6", "MultiMedia6 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL7", "MultiMedia7 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("MM_DL8", "MultiMedia8 Playback", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL2", "MultiMedia2 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL3", "MultiMedia3 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL4", "MultiMedia4 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL5", "MultiMedia5 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL6", "MultiMedia6 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL7", "MultiMedia7 Capture", 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("MM_UL8", "MultiMedia8 Capture", 0, SND_SOC_NOPM, 0, 0), +}; + static const struct snd_soc_component_driver q6asm_fe_dai_component = { .name = DRV_NAME, .open = q6asm_dai_open, @@ -1027,6 +1046,8 @@ .pcm_construct = q6asm_dai_pcm_new, .pcm_destruct = q6asm_dai_pcm_free, .compress_ops = &q6asm_dai_compress_ops, + .dapm_widgets = q6asm_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(q6asm_dapm_widgets), }; static struct snd_soc_dai_driver q6asm_fe_dais_template[] = { --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/qdsp6/q6routing.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/qdsp6/q6routing.c @@ -635,24 +635,6 @@ Q6ROUTING_TX_MIXERS(MSM_FRONTEND_DAI_MULTIMEDIA8) }; static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { - /* Frontend AIF */ - SND_SOC_DAPM_AIF_IN("MM_DL1", "MultiMedia1 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL2", "MultiMedia2 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL3", "MultiMedia3 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL4", "MultiMedia4 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL5", "MultiMedia5 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL6", "MultiMedia6 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL7", "MultiMedia7 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_IN("MM_DL8", "MultiMedia8 Playback", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL2", "MultiMedia2 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL3", "MultiMedia3 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL4", "MultiMedia4 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL5", "MultiMedia5 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL6", "MultiMedia6 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL7", "MultiMedia7 Capture", 0, 0, 0, 0), - SND_SOC_DAPM_AIF_OUT("MM_UL8", "MultiMedia8 Capture", 0, 0, 0, 0), - /* Mixer definitions */ SND_SOC_DAPM_MIXER("HDMI Mixer", SND_SOC_NOPM, 0, 0, hdmi_mixer_controls, @@ -973,6 +955,20 @@ return 0; } +static unsigned int q6routing_reg_read(struct snd_soc_component *component, + unsigned int reg) +{ + /* default value */ + return 0; +} + +static int q6routing_reg_write(struct snd_soc_component *component, + unsigned int reg, unsigned int val) +{ + /* dummy */ + return 0; +} + static const struct snd_soc_component_driver msm_soc_routing_component = { .probe = msm_routing_probe, .name = DRV_NAME, @@ -981,6 +977,8 @@ .num_dapm_widgets = ARRAY_SIZE(msm_qdsp6_widgets), .dapm_routes = intercon, .num_dapm_routes = ARRAY_SIZE(intercon), + .read = q6routing_reg_read, + .write = q6routing_reg_write, }; static int q6pcm_routing_probe(struct platform_device *pdev) --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/sdm845.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/sdm845.c @@ -17,6 +17,7 @@ #include "qdsp6/q6afe.h" #include "../codecs/rt5663.h" +#define DRIVER_NAME "sdm845" #define DEFAULT_SAMPLE_RATE_48K 48000 #define DEFAULT_MCLK_RATE 24576000 #define TDM_BCLK_RATE 6144000 @@ -26,18 +27,18 @@ #define SPK_TDM_RX_MASK 0x03 #define NUM_TDM_SLOTS 8 #define SLIM_MAX_TX_PORTS 16 -#define SLIM_MAX_RX_PORTS 16 +#define SLIM_MAX_RX_PORTS 13 #define WCD934X_DEFAULT_MCLK_RATE 9600000 struct sdm845_snd_data { struct snd_soc_jack jack; bool jack_setup; - bool stream_prepared[SLIM_MAX_RX_PORTS]; + bool stream_prepared[AFE_PORT_MAX]; struct snd_soc_card *card; uint32_t pri_mi2s_clk_count; uint32_t sec_mi2s_clk_count; uint32_t quat_tdm_clk_count; - struct sdw_stream_runtime *sruntime[SLIM_MAX_RX_PORTS]; + struct sdw_stream_runtime *sruntime[AFE_PORT_MAX]; }; static unsigned int tdm_slot_offset[8] = {0, 4, 8, 12, 16, 20, 24, 28}; @@ -554,9 +555,11 @@ goto data_alloc_fail; } + card->driver_name = DRIVER_NAME; card->dapm_widgets = sdm845_snd_widgets; card->num_dapm_widgets = ARRAY_SIZE(sdm845_snd_widgets); card->dev = dev; + card->owner = THIS_MODULE; dev_set_drvdata(dev, card); ret = qcom_snd_parse_of(card); if (ret) --- linux-riscv-5.8-5.8.0.orig/sound/soc/qcom/storm.c +++ linux-riscv-5.8-5.8.0/sound/soc/qcom/storm.c @@ -96,6 +96,7 @@ return -ENOMEM; card->dev = &pdev->dev; + card->owner = THIS_MODULE; ret = snd_soc_of_parse_card_name(card, "qcom,model"); if (ret) { --- linux-riscv-5.8-5.8.0.orig/sound/soc/sh/siu.h +++ linux-riscv-5.8-5.8.0/sound/soc/sh/siu.h @@ -169,7 +169,7 @@ #define SIU_BRGBSEL (0x108 / sizeof(u32)) #define SIU_BRRB (0x10c / sizeof(u32)) -extern struct snd_soc_component_driver siu_component; +extern const struct snd_soc_component_driver siu_component; extern struct siu_info *siu_i2s_data; int siu_init_port(int port, struct siu_port **port_info, struct snd_card *card); --- linux-riscv-5.8-5.8.0.orig/sound/soc/sh/siu_pcm.c +++ linux-riscv-5.8-5.8.0/sound/soc/sh/siu_pcm.c @@ -544,7 +544,7 @@ dev_dbg(pcm->card->dev, "%s\n", __func__); } -struct const snd_soc_component_driver siu_component = { +const struct snd_soc_component_driver siu_component = { .name = DRV_NAME, .open = siu_pcm_open, .close = siu_pcm_close, --- linux-riscv-5.8-5.8.0.orig/sound/soc/soc-core.c +++ linux-riscv-5.8-5.8.0/sound/soc/soc-core.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -446,7 +447,6 @@ dev->parent = card->dev; dev->release = soc_release_rtd_dev; - dev->groups = soc_dev_attr_groups; dev_set_name(dev, "%s", dai_link->name); @@ -503,6 +503,10 @@ /* see for_each_card_rtds */ list_add_tail(&rtd->list, &card->rtd_list); + ret = device_add_groups(dev, soc_dev_attr_groups); + if (ret < 0) + goto free_rtd; + return rtd; free_rtd: @@ -831,6 +835,19 @@ } EXPORT_SYMBOL_GPL(snd_soc_find_dai); +struct snd_soc_dai *snd_soc_find_dai_with_mutex( + const struct snd_soc_dai_link_component *dlc) +{ + struct snd_soc_dai *dai; + + mutex_lock(&client_mutex); + dai = snd_soc_find_dai(dlc); + mutex_unlock(&client_mutex); + + return dai; +} +EXPORT_SYMBOL_GPL(snd_soc_find_dai_with_mutex); + static int soc_dai_link_sanity_check(struct snd_soc_card *card, struct snd_soc_dai_link *link) { @@ -1563,6 +1580,9 @@ if (card->long_name) return 0; /* long name already set by driver or from DMI */ + if (!is_acpi_device_node(card->dev->fwnode)) + return 0; + /* make up dmi long name as: vendor-product-version-board */ vendor = dmi_get_system_info(DMI_BOARD_VENDOR); if (!vendor || !is_dmi_valid(vendor)) { --- linux-riscv-5.8-5.8.0.orig/sound/soc/soc-dai.c +++ linux-riscv-5.8-5.8.0/sound/soc/soc-dai.c @@ -400,28 +400,30 @@ struct snd_soc_dai_link_component *codec; struct snd_soc_dai *dai; bool supported[SNDRV_PCM_STREAM_LAST + 1]; + bool supported_cpu; + bool supported_codec; int direction; int i; for_each_pcm_streams(direction) { - supported[direction] = true; + supported_cpu = false; + supported_codec = false; for_each_link_cpus(dai_link, i, cpu) { - dai = snd_soc_find_dai(cpu); - if (!dai || !snd_soc_dai_stream_valid(dai, direction)) { - supported[direction] = false; + dai = snd_soc_find_dai_with_mutex(cpu); + if (dai && snd_soc_dai_stream_valid(dai, direction)) { + supported_cpu = true; break; } } - if (!supported[direction]) - continue; for_each_link_codecs(dai_link, i, codec) { - dai = snd_soc_find_dai(codec); - if (!dai || !snd_soc_dai_stream_valid(dai, direction)) { - supported[direction] = false; + dai = snd_soc_find_dai_with_mutex(codec); + if (dai && snd_soc_dai_stream_valid(dai, direction)) { + supported_codec = true; break; } } + supported[direction] = supported_cpu && supported_codec; } dai_link->dpcm_playback = supported[SNDRV_PCM_STREAM_PLAYBACK]; --- linux-riscv-5.8-5.8.0.orig/sound/soc/soc-dapm.c +++ linux-riscv-5.8-5.8.0/sound/soc/soc-dapm.c @@ -2487,6 +2487,7 @@ enum snd_soc_dapm_direction dir; list_del(&w->list); + list_del(&w->dirty); /* * remove source and sink paths associated to this widget. * While removing the path, remove reference to it from both --- linux-riscv-5.8-5.8.0.orig/sound/soc/soc-pcm.c +++ linux-riscv-5.8-5.8.0/sound/soc/soc-pcm.c @@ -811,7 +811,7 @@ return 0; config_err: - for_each_rtd_dais(rtd, i, dai) + for_each_rtd_dais_rollback(rtd, i, dai) snd_soc_dai_shutdown(dai, substream); snd_soc_link_shutdown(substream); @@ -2329,6 +2329,7 @@ case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_DRAIN: ret = dpcm_dai_trigger_fe_be(substream, cmd, true); break; case SNDRV_PCM_TRIGGER_STOP: @@ -2346,6 +2347,7 @@ case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_DRAIN: ret = dpcm_dai_trigger_fe_be(substream, cmd, false); break; case SNDRV_PCM_TRIGGER_STOP: @@ -2802,30 +2804,36 @@ if (rtd->dai_link->dpcm_playback) { stream = SNDRV_PCM_STREAM_PLAYBACK; - for_each_rtd_cpu_dais(rtd, i, cpu_dai) - if (!snd_soc_dai_stream_valid(cpu_dai, - stream)) { - dev_err(rtd->card->dev, - "CPU DAI %s for rtd %s does not support playback\n", - cpu_dai->name, - rtd->dai_link->stream_name); - return -EINVAL; + for_each_rtd_cpu_dais(rtd, i, cpu_dai) { + if (snd_soc_dai_stream_valid(cpu_dai, stream)) { + playback = 1; + break; } - playback = 1; + } + + if (!playback) { + dev_err(rtd->card->dev, + "No CPU DAIs support playback for stream %s\n", + rtd->dai_link->stream_name); + return -EINVAL; + } } if (rtd->dai_link->dpcm_capture) { stream = SNDRV_PCM_STREAM_CAPTURE; - for_each_rtd_cpu_dais(rtd, i, cpu_dai) - if (!snd_soc_dai_stream_valid(cpu_dai, - stream)) { - dev_err(rtd->card->dev, - "CPU DAI %s for rtd %s does not support capture\n", - cpu_dai->name, - rtd->dai_link->stream_name); - return -EINVAL; + for_each_rtd_cpu_dais(rtd, i, cpu_dai) { + if (snd_soc_dai_stream_valid(cpu_dai, stream)) { + capture = 1; + break; } - capture = 1; + } + + if (!capture) { + dev_err(rtd->card->dev, + "No CPU DAIs support capture for stream %s\n", + rtd->dai_link->stream_name); + return -EINVAL; + } } } else { /* Adapt stream for codec2codec links */ --- linux-riscv-5.8-5.8.0.orig/sound/soc/soc-topology.c +++ linux-riscv-5.8-5.8.0/sound/soc/soc-topology.c @@ -506,7 +506,7 @@ { struct snd_soc_dai_driver *dai_drv = container_of(dobj, struct snd_soc_dai_driver, dobj); - struct snd_soc_dai *dai; + struct snd_soc_dai *dai, *_dai; if (pass != SOC_TPLG_PASS_PCM_DAI) return; @@ -514,9 +514,9 @@ if (dobj->ops && dobj->ops->dai_unload) dobj->ops->dai_unload(comp, dobj); - for_each_component_dais(comp, dai) + for_each_component_dais_safe(comp, dai, _dai) if (dai->driver == dai_drv) - dai->driver = NULL; + snd_soc_unregister_dai(dai); kfree(dai_drv->playback.stream_name); kfree(dai_drv->capture.stream_name); @@ -592,6 +592,17 @@ k->info = snd_soc_bytes_info_ext; k->tlv.c = snd_soc_bytes_tlv_callback; + /* + * When a topology-based implementation abuses the + * control interface and uses bytes_ext controls of + * more than 512 bytes, we need to disable the size + * checks, otherwise accesses to such controls will + * return an -EINVAL error and prevent the card from + * being configured. + */ + if (IS_ENABLED(CONFIG_SND_CTL_VALIDATION) && sbe->max > 512) + k->access |= SNDRV_CTL_ELEM_ACCESS_SKIP_CHECK; + ext_ops = tplg->bytes_ext_ops; num_ops = tplg->bytes_ext_ops_count; for (i = 0; i < num_ops; i++) { @@ -973,7 +984,7 @@ return -EINVAL; se->dobj.control.dvalues = kzalloc(le32_to_cpu(ec->items) * - sizeof(u32), + sizeof(*se->dobj.control.dvalues), GFP_KERNEL); if (!se->dobj.control.dvalues) return -ENOMEM; @@ -1863,7 +1874,7 @@ list_add(&dai_drv->dobj.list, &tplg->comp->dobj_list); /* register the DAI to the component */ - dai = devm_snd_soc_register_dai(tplg->comp->dev, tplg->comp, dai_drv, false); + dai = snd_soc_register_dai(tplg->comp, dai_drv, false); if (!dai) return -ENOMEM; @@ -1871,6 +1882,7 @@ ret = snd_soc_dapm_new_dai_widgets(dapm, dai); if (ret != 0) { dev_err(dai->dev, "Failed to create DAI widgets %d\n", ret); + snd_soc_unregister_dai(dai); return ret; } --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/control.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/control.c @@ -298,6 +298,10 @@ const struct snd_ctl_tlv __user *tlvd = (const struct snd_ctl_tlv __user *)binary_data; + /* make sure we have at least a header */ + if (size < sizeof(struct snd_ctl_tlv)) + return -EINVAL; + /* * The beginning of bytes data contains a header from where * the length (as bytes) is needed to know the correct copy @@ -306,6 +310,13 @@ if (copy_from_user(&header, tlvd, sizeof(const struct snd_ctl_tlv))) return -EFAULT; + /* make sure TLV info is consistent */ + if (header.length + sizeof(struct snd_ctl_tlv) > size) { + dev_err_ratelimited(scomp->dev, "error: inconsistent TLV, data %d + header %zu > %d\n", + header.length, sizeof(struct snd_ctl_tlv), size); + return -EINVAL; + } + /* be->max is coming from topology */ if (header.length > be->max) { dev_err_ratelimited(scomp->dev, "error: Bytes data size %d exceeds max %d.\n", --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/debug.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/debug.c @@ -350,7 +350,7 @@ char *string; int ret; - string = kzalloc(count, GFP_KERNEL); + string = kzalloc(count+1, GFP_KERNEL); if (!string) return -ENOMEM; --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/intel/Kconfig +++ linux-riscv-5.8-5.8.0/sound/soc/sof/intel/Kconfig @@ -84,7 +84,7 @@ config SND_SOC_SOF_BROADWELL_SUPPORT bool "SOF support for Broadwell" - depends on SND_SOC_INTEL_HASWELL=n + depends on SND_SOC_INTEL_CATPT=n help This adds support for Sound Open Firmware for Intel(R) platforms using the Broadwell processors. @@ -265,6 +265,7 @@ config SND_SOC_SOF_HDA_COMMON tristate + select SND_INTEL_DSP_CONFIG select SND_SOC_SOF_INTEL_COMMON select SND_SOC_SOF_HDA_LINK_BASELINE help @@ -324,7 +325,6 @@ tristate select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC - select SND_INTEL_DSP_CONFIG help This option is not user-selectable but automagically handled by 'select' statements at a higher level --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/intel/hda-codec.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/intel/hda-codec.c @@ -63,16 +63,18 @@ } /* enable controller wake up event for all codecs with jack connectors */ -void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev) +void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev, bool enable) { struct hda_bus *hbus = sof_to_hbus(sdev); struct hdac_bus *bus = sof_to_bus(sdev); struct hda_codec *codec; unsigned int mask = 0; - list_for_each_codec(codec, hbus) - if (codec->jacktbl.used) - mask |= BIT(codec->core.addr); + if (enable) { + list_for_each_codec(codec, hbus) + if (codec->jacktbl.used) + mask |= BIT(codec->core.addr); + } snd_hdac_chip_updatew(bus, WAKEEN, STATESTS_INT_MASK, mask); } @@ -81,23 +83,18 @@ void hda_codec_jack_check(struct snd_sof_dev *sdev) { struct hda_bus *hbus = sof_to_hbus(sdev); - struct hdac_bus *bus = sof_to_bus(sdev); struct hda_codec *codec; - /* disable controller Wake Up event*/ - snd_hdac_chip_updatew(bus, WAKEEN, STATESTS_INT_MASK, 0); - list_for_each_codec(codec, hbus) /* * Wake up all jack-detecting codecs regardless whether an event * has been recorded in STATESTS */ if (codec->jacktbl.used) - schedule_delayed_work(&codec->jackpoll_work, - codec->jackpoll_interval); + pm_request_resume(&codec->core.dev); } #else -void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev) {} +void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev, bool enable) {} void hda_codec_jack_check(struct snd_sof_dev *sdev) {} #endif /* CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC */ EXPORT_SYMBOL_NS(hda_codec_jack_wake_enable, SND_SOC_SOF_HDA_AUDIO_CODEC); @@ -151,7 +148,8 @@ if (!hdev->bus->audio_component) { dev_dbg(sdev->dev, "iDisp hw present but no driver\n"); - return -ENOENT; + ret = -ENOENT; + goto out; } hda_priv->need_display_power = true; } @@ -177,16 +175,20 @@ ret = -ENOENT; } - return ret; +out: + if (ret < 0) { + snd_hdac_device_unregister(hdev); + put_device(&hdev->dev); + } #else hdev = devm_kzalloc(sdev->dev, sizeof(*hdev), GFP_KERNEL); if (!hdev) return -ENOMEM; ret = snd_hdac_ext_bus_device_init(&hbus->core, address, hdev); +#endif return ret; -#endif } /* Codec initialization */ --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/intel/hda-dsp.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/intel/hda-dsp.c @@ -207,7 +207,7 @@ ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, HDA_DSP_REG_ADSPCS, adspcs, - !(adspcs & HDA_DSP_ADSPCS_SPA_MASK(core_mask)), + !(adspcs & HDA_DSP_ADSPCS_CPA_MASK(core_mask)), HDA_DSP_REG_POLL_INTERVAL_US, HDA_DSP_PD_TIMEOUT * USEC_PER_MSEC); if (ret < 0) @@ -226,10 +226,17 @@ val = snd_sof_dsp_read(sdev, HDA_DSP_BAR, HDA_DSP_REG_ADSPCS); - is_enable = (val & HDA_DSP_ADSPCS_CPA_MASK(core_mask)) && - (val & HDA_DSP_ADSPCS_SPA_MASK(core_mask)) && - !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && - !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); +#define MASK_IS_EQUAL(v, m, field) ({ \ + u32 _m = field(m); \ + ((v) & _m) == _m; \ +}) + + is_enable = MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_CPA_MASK) && + MASK_IS_EQUAL(val, core_mask, HDA_DSP_ADSPCS_SPA_MASK) && + !(val & HDA_DSP_ADSPCS_CRST_MASK(core_mask)) && + !(val & HDA_DSP_ADSPCS_CSTALL_MASK(core_mask)); + +#undef MASK_IS_EQUAL dev_dbg(sdev->dev, "DSP core(s) enabled? %d : core_mask %x\n", is_enable, core_mask); @@ -601,7 +608,7 @@ #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) if (runtime_suspend) - hda_codec_jack_wake_enable(sdev); + hda_codec_jack_wake_enable(sdev, true); /* power down all hda link */ snd_hdac_ext_bus_link_power_down_all(bus); @@ -667,8 +674,11 @@ #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) /* check jack status */ - if (runtime_resume) - hda_codec_jack_check(sdev); + 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) { @@ -760,11 +770,15 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev) { + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; const struct sof_dsp_power_state target_state = { .state = SOF_DSP_PM_D3, }; int ret; + /* cancel any attempt for DSP D0I3 */ + cancel_delayed_work_sync(&hda->d0i3_work); + /* stop hda controller and power dsp off */ ret = hda_suspend(sdev, true); if (ret < 0) --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/intel/hda.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/intel/hda.c @@ -544,7 +544,7 @@ if (nhlt) { dmic_num = intel_nhlt_get_dmic_geo(sdev->dev, nhlt); intel_nhlt_free(nhlt); - if (dmic_num == 2 || dmic_num == 4) + if (dmic_num >= 1 && dmic_num <= 4) return dmic_num; } @@ -874,6 +874,7 @@ /* dsp_unmap: not currently used */ iounmap(sdev->bar[HDA_DSP_BAR]); hdac_bus_unmap: + platform_device_unregister(hdev->dmic_dev); iounmap(bus->remap_addr); hda_codec_i915_exit(sdev); err: @@ -992,9 +993,15 @@ dmic_num = hda_dmic_num; switch (dmic_num) { + case 1: + dmic_str = "-1ch"; + break; case 2: dmic_str = "-2ch"; break; + case 3: + dmic_str = "-3ch"; + break; case 4: dmic_str = "-4ch"; break; @@ -1179,7 +1186,13 @@ mach = snd_soc_acpi_find_machine(desc->machines); if (mach) { - sof_pdata->tplg_filename = mach->sof_tplg_filename; + /* + * If tplg file name is overridden, use it instead of + * the one set in mach table + */ + if (!sof_pdata->tplg_filename) + sof_pdata->tplg_filename = mach->sof_tplg_filename; + sof_pdata->machine = mach; if (mach->link_mask) { --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/intel/hda.h +++ linux-riscv-5.8-5.8.0/sound/soc/sof/intel/hda.h @@ -636,7 +636,7 @@ */ void hda_codec_probe_bus(struct snd_sof_dev *sdev, bool hda_codec_use_common_hdmi); -void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev); +void hda_codec_jack_wake_enable(struct snd_sof_dev *sdev, bool enable); void hda_codec_jack_check(struct snd_sof_dev *sdev); #endif /* CONFIG_SND_SOC_SOF_HDA */ --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/loader.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/loader.c @@ -118,6 +118,11 @@ case SOF_IPC_EXT_CC_INFO: ret = get_cc_info(sdev, ext_hdr); break; + case SOF_IPC_EXT_UNUSED: + case SOF_IPC_EXT_PROBE_INFO: + case SOF_IPC_EXT_USER_ABI_INFO: + /* They are supported but we don't do anything here */ + break; default: dev_warn(sdev->dev, "warning: unknown ext header type %d size 0x%x\n", ext_hdr->type, ext_hdr->hdr.size); --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/nocodec.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/nocodec.c @@ -14,6 +14,7 @@ static struct snd_soc_card sof_nocodec_card = { .name = "nocodec", /* the sof- prefix is added by the core */ + .owner = THIS_MODULE }; static int sof_nocodec_bes_setup(struct device *dev, --- linux-riscv-5.8-5.8.0.orig/sound/soc/sof/sof-pci-dev.c +++ linux-riscv-5.8-5.8.0/sound/soc/sof/sof-pci-dev.c @@ -35,8 +35,28 @@ module_param_named(sof_pci_debug, sof_pci_debug, int, 0444); MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)"); +static const char *sof_override_tplg_name; + #define SOF_PCI_DISABLE_PM_RUNTIME BIT(0) +static int sof_tplg_cb(const struct dmi_system_id *id) +{ + sof_override_tplg_name = id->driver_data; + return 1; +} + +static const struct dmi_system_id sof_tplg_table[] = { + { + .callback = sof_tplg_cb, + .matches = { + DMI_MATCH(DMI_PRODUCT_FAMILY, "Google_Volteer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Terrador"), + }, + .driver_data = "sof-tgl-rt5682-ssp0-max98373-ssp2.tplg", + }, + {} +}; + static const struct dmi_system_id community_key_platforms[] = { { .ident = "Up Squared", @@ -46,6 +66,13 @@ } }, { + .ident = "Up Extreme", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), + DMI_MATCH(DMI_BOARD_NAME, "UP-WHL01"), + } + }, + { .ident = "Google Chromebooks", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Google"), @@ -347,6 +374,10 @@ sof_pdata->tplg_filename_prefix = sof_pdata->desc->default_tplg_path; + dmi_check_system(sof_tplg_table); + if (sof_override_tplg_name) + sof_pdata->tplg_filename = sof_override_tplg_name; + #if IS_ENABLED(CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE) /* set callback to enable runtime_pm */ sof_pdata->sof_probe_complete = sof_pci_probe_complete; --- linux-riscv-5.8-5.8.0.orig/sound/soc/sunxi/sun4i-codec.c +++ linux-riscv-5.8-5.8.0/sound/soc/sunxi/sun4i-codec.c @@ -1364,6 +1364,7 @@ return ERR_PTR(-ENOMEM); card->dev = dev; + card->owner = THIS_MODULE; card->name = "sun4i-codec"; card->dapm_widgets = sun4i_codec_card_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(sun4i_codec_card_dapm_widgets); @@ -1396,6 +1397,7 @@ return ERR_PTR(-ENOMEM); card->dev = dev; + card->owner = THIS_MODULE; card->name = "A31 Audio Codec"; card->dapm_widgets = sun6i_codec_card_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(sun6i_codec_card_dapm_widgets); @@ -1449,6 +1451,7 @@ return ERR_PTR(-ENOMEM); card->dev = dev; + card->owner = THIS_MODULE; card->name = "A23 Audio Codec"; card->dapm_widgets = sun6i_codec_card_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(sun6i_codec_card_dapm_widgets); @@ -1487,6 +1490,7 @@ return ERR_PTR(-ENOMEM); card->dev = dev; + card->owner = THIS_MODULE; card->name = "H3 Audio Codec"; card->dapm_widgets = sun6i_codec_card_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(sun6i_codec_card_dapm_widgets); @@ -1525,6 +1529,7 @@ return ERR_PTR(-ENOMEM); card->dev = dev; + card->owner = THIS_MODULE; card->name = "V3s Audio Codec"; card->dapm_widgets = sun6i_codec_card_dapm_widgets; card->num_dapm_widgets = ARRAY_SIZE(sun6i_codec_card_dapm_widgets); --- linux-riscv-5.8-5.8.0.orig/sound/soc/sunxi/sun4i-i2s.c +++ linux-riscv-5.8-5.8.0/sound/soc/sunxi/sun4i-i2s.c @@ -442,11 +442,11 @@ switch (i2s->format & SND_SOC_DAIFMT_FORMAT_MASK) { case SND_SOC_DAIFMT_DSP_A: case SND_SOC_DAIFMT_DSP_B: - case SND_SOC_DAIFMT_LEFT_J: - case SND_SOC_DAIFMT_RIGHT_J: lrck_period = params_physical_width(params) * slots; break; + case SND_SOC_DAIFMT_LEFT_J: + case SND_SOC_DAIFMT_RIGHT_J: case SND_SOC_DAIFMT_I2S: lrck_period = params_physical_width(params); break; --- linux-riscv-5.8-5.8.0.orig/sound/soc/tegra/tegra30_ahub.c +++ linux-riscv-5.8-5.8.0/sound/soc/tegra/tegra30_ahub.c @@ -643,8 +643,10 @@ int ret; ret = pm_runtime_get_sync(dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put(dev); return ret; + } ret = regcache_sync(ahub->regmap_ahub); ret |= regcache_sync(ahub->regmap_apbif); pm_runtime_put(dev); --- linux-riscv-5.8-5.8.0.orig/sound/soc/tegra/tegra30_i2s.c +++ linux-riscv-5.8-5.8.0/sound/soc/tegra/tegra30_i2s.c @@ -567,8 +567,10 @@ int ret; ret = pm_runtime_get_sync(dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put(dev); return ret; + } ret = regcache_sync(i2s->regmap); pm_runtime_put(dev); --- linux-riscv-5.8-5.8.0.orig/sound/usb/card.h +++ linux-riscv-5.8-5.8.0/sound/usb/card.h @@ -137,6 +137,7 @@ unsigned int tx_length_quirk:1; /* add length specifier to transfers */ unsigned int fmt_type; /* USB audio format type (1-3) */ unsigned int pkt_offset_adj; /* Bytes to drop from beginning of packets (for non-compliant devices) */ + unsigned int stream_offset_adj; /* Bytes to drop from beginning of stream (for non-compliant devices) */ unsigned int running: 1; /* running status */ --- linux-riscv-5.8-5.8.0.orig/sound/usb/clock.c +++ linux-riscv-5.8-5.8.0/sound/usb/clock.c @@ -531,6 +531,12 @@ } crate = data[0] | (data[1] << 8) | (data[2] << 16); + if (!crate) { + dev_info(&dev->dev, "failed to read current rate; disabling the check\n"); + chip->sample_rate_read_error = 3; /* three strikes, see above */ + return 0; + } + if (crate != rate) { dev_warn(&dev->dev, "current rate %d is different from the runtime rate %d\n", crate, rate); // runtime->rate = crate; --- linux-riscv-5.8-5.8.0.orig/sound/usb/endpoint.c +++ linux-riscv-5.8-5.8.0/sound/usb/endpoint.c @@ -576,9 +576,6 @@ { unsigned int i; - if (!force && atomic_read(&ep->chip->shutdown)) /* to be sure... */ - return -EBADFD; - clear_bit(EP_FLAG_RUNNING, &ep->flags); INIT_LIST_HEAD(&ep->ready_playback_urbs); --- linux-riscv-5.8-5.8.0.orig/sound/usb/format.c +++ linux-riscv-5.8-5.8.0/sound/usb/format.c @@ -40,6 +40,8 @@ case UAC_VERSION_1: default: { struct uac_format_type_i_discrete_descriptor *fmt = _fmt; + if (format >= 64) + return 0; /* invalid format */ sample_width = fmt->bBitResolution; sample_bytes = fmt->bSubframeSize; format = 1ULL << format; @@ -406,6 +408,7 @@ case USB_ID(0x0e41, 0x4242): /* Line6 Helix Rack */ case USB_ID(0x0e41, 0x4244): /* Line6 Helix LT */ case USB_ID(0x0e41, 0x4246): /* Line6 HX-Stomp */ + case USB_ID(0x0e41, 0x4247): /* Line6 Pod Go */ case USB_ID(0x0e41, 0x4248): /* Line6 Helix >= fw 2.82 */ case USB_ID(0x0e41, 0x4249): /* Line6 Helix Rack >= fw 2.82 */ case USB_ID(0x0e41, 0x424a): /* Line6 Helix LT >= fw 2.82 */ --- linux-riscv-5.8-5.8.0.orig/sound/usb/midi.c +++ linux-riscv-5.8-5.8.0/sound/usb/midi.c @@ -1889,6 +1889,8 @@ ms_ep = find_usb_ms_endpoint_descriptor(hostep); if (!ms_ep) continue; + if (ms_ep->bNumEmbMIDIJack > 0x10) + continue; if (usb_endpoint_dir_out(ep)) { if (endpoints[epidx].out_ep) { if (++epidx >= MIDI_MAX_ENDPOINTS) { @@ -2141,6 +2143,8 @@ cs_desc[1] == USB_DT_CS_INTERFACE && cs_desc[2] == 0xf1 && cs_desc[3] == 0x02) { + if (cs_desc[4] > 0x10 || cs_desc[5] > 0x10) + continue; endpoint->in_cables = (1 << cs_desc[4]) - 1; endpoint->out_cables = (1 << cs_desc[5]) - 1; return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); --- linux-riscv-5.8-5.8.0.orig/sound/usb/mixer.c +++ linux-riscv-5.8-5.8.0/sound/usb/mixer.c @@ -1301,6 +1301,17 @@ /* totally crap, return an error */ return -EINVAL; } + } else { + /* if the max volume is too low, it's likely a bogus range; + * here we use -96dB as the threshold + */ + if (cval->dBmax <= -9600) { + usb_audio_info(cval->head.mixer->chip, + "%d:%d: bogus dB values (%d/%d), disabling dB reporting\n", + cval->head.id, mixer_ctrl_intf(cval->head.mixer), + cval->dBmin, cval->dBmax); + cval->dBmin = cval->dBmax = 0; + } } return 0; @@ -1463,6 +1474,10 @@ snd_usb_unlock_shutdown(chip); if (ret < 0) { + if (strstr(kcontrol->id.name, "Speaker")) { + ucontrol->value.integer.value[0] = 1; + return 0; + } error: usb_audio_err(chip, "cannot get connectors status: req = %#x, wValue = %#x, wIndex = %#x, type = %d\n", @@ -2367,7 +2382,7 @@ int num_ins; struct usb_mixer_elem_info *cval; struct snd_kcontrol *kctl; - int i, err, nameid, type, len; + int i, err, nameid, type, len, val; const struct procunit_info *info; const struct procunit_value_info *valinfo; const struct usbmix_name_map *map; @@ -2470,6 +2485,12 @@ break; } + err = get_cur_ctl_value(cval, cval->control << 8, &val); + if (err < 0) { + usb_mixer_elem_info_free(cval); + return -EINVAL; + } + kctl = snd_ctl_new1(&mixer_procunit_ctl, cval); if (!kctl) { usb_mixer_elem_info_free(cval); --- linux-riscv-5.8-5.8.0.orig/sound/usb/mixer_maps.c +++ linux-riscv-5.8-5.8.0/sound/usb/mixer_maps.c @@ -370,6 +370,12 @@ {} }; +static const struct usbmix_name_map lenovo_p620_rear_map[] = { + { 19, NULL, 2 }, /* FU, Volume */ + { 19, NULL, 12 }, /* FU, Input Gain Pad */ + {} +}; + /* TRX40 mobos with Realtek ALC1220-VB */ static const struct usbmix_name_map trx40_mobo_map[] = { { 18, NULL }, /* OT, IEC958 - broken response, disabled */ @@ -532,6 +538,16 @@ .map = bose_companion5_map, }, { + /* Corsair Virtuoso SE (wired mode) */ + .id = USB_ID(0x1b1c, 0x0a3d), + .map = corsair_virtuoso_map, + }, + { + /* Corsair Virtuoso SE (wireless mode) */ + .id = USB_ID(0x1b1c, 0x0a3e), + .map = corsair_virtuoso_map, + }, + { /* Corsair Virtuoso (wired mode) */ .id = USB_ID(0x1b1c, 0x0a41), .map = corsair_virtuoso_map, @@ -573,6 +589,10 @@ .map = trx40_mobo_map, .connector_map = trx40_mobo_connector_map, }, + { /* Lenovo ThinkStation P620 Rear */ + .id = USB_ID(0x17aa, 0x1046), + .map = lenovo_p620_rear_map, + }, { 0 } /* terminator */ }; --- linux-riscv-5.8-5.8.0.orig/sound/usb/mixer_quirks.c +++ linux-riscv-5.8-5.8.0/sound/usb/mixer_quirks.c @@ -185,6 +185,7 @@ { USB_ID(0x041e, 0x3042), 0, 1, 1, 1, 1, 0x000d }, /* Usb X-Fi S51 */ { USB_ID(0x041e, 0x30df), 0, 1, 1, 1, 1, 0x000d }, /* Usb X-Fi S51 Pro */ { USB_ID(0x041e, 0x3237), 0, 1, 1, 1, 1, 0x000d }, /* Usb X-Fi S51 Pro */ + { USB_ID(0x041e, 0x3263), 0, 1, 1, 1, 1, 0x000d }, /* Usb X-Fi S51 Pro */ { USB_ID(0x041e, 0x3048), 2, 2, 6, 6, 2, 0x6e91 }, /* Toshiba SB0500 */ }; --- linux-riscv-5.8-5.8.0.orig/sound/usb/mixer_us16x08.c +++ linux-riscv-5.8-5.8.0/sound/usb/mixer_us16x08.c @@ -607,7 +607,7 @@ static int snd_us16x08_meter_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { - uinfo->count = 1; + uinfo->count = 34; uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; uinfo->value.integer.max = 0x7FFF; uinfo->value.integer.min = 0; --- linux-riscv-5.8-5.8.0.orig/sound/usb/pcm.c +++ linux-riscv-5.8-5.8.0/sound/usb/pcm.c @@ -280,10 +280,7 @@ { struct snd_usb_substream *subs = substream->runtime->private_data; - if (!snd_usb_lock_shutdown(subs->stream->chip)) { - sync_pending_stops(subs); - snd_usb_unlock_shutdown(subs->stream->chip); - } + sync_pending_stops(subs); return 0; } @@ -336,6 +333,7 @@ switch (subs->stream->chip->usb_id) { case USB_ID(0x0763, 0x2030): /* M-Audio Fast Track C400 */ case USB_ID(0x0763, 0x2031): /* M-Audio Fast Track C600 */ + case USB_ID(0x22f0, 0x0006): /* Allen&Heath Qu-16 */ ep = 0x81; ifnum = 3; goto add_sync_ep_from_ifnum; @@ -345,6 +343,7 @@ ifnum = 2; goto add_sync_ep_from_ifnum; case USB_ID(0x2466, 0x8003): /* Fractal Audio Axe-Fx II */ + case USB_ID(0x0499, 0x172a): /* Yamaha MODX */ ep = 0x86; ifnum = 2; goto add_sync_ep_from_ifnum; @@ -352,6 +351,10 @@ ep = 0x81; ifnum = 2; goto add_sync_ep_from_ifnum; + case USB_ID(0x1686, 0xf029): /* Zoom UAC-2 */ + ep = 0x82; + ifnum = 2; + goto add_sync_ep_from_ifnum; case USB_ID(0x1397, 0x0001): /* Behringer UFX1604 */ case USB_ID(0x1397, 0x0002): /* Behringer UFX1204 */ ep = 0x81; @@ -369,11 +372,13 @@ case USB_ID(0x07fd, 0x0008): /* MOTU M Series */ case USB_ID(0x31e9, 0x0001): /* Solid State Logic SSL2 */ case USB_ID(0x31e9, 0x0002): /* Solid State Logic SSL2+ */ + case USB_ID(0x0499, 0x172f): /* Steinberg UR22C */ case USB_ID(0x0d9a, 0x00df): /* RTX6001 */ ep = 0x81; ifnum = 2; goto add_sync_ep_from_ifnum; case USB_ID(0x2b73, 0x000a): /* Pioneer DJ DJM-900NXS2 */ + case USB_ID(0x2b73, 0x0017): /* Pioneer DJ DJM-250MK2 */ ep = 0x82; ifnum = 0; goto add_sync_ep_from_ifnum; @@ -1420,6 +1425,12 @@ // continue; } bytes = urb->iso_frame_desc[i].actual_length; + if (subs->stream_offset_adj > 0) { + unsigned int adj = min(subs->stream_offset_adj, bytes); + cp += adj; + bytes -= adj; + subs->stream_offset_adj -= adj; + } frames = bytes / stride; if (!subs->txfr_quirk) bytes = frames * stride; @@ -1847,7 +1858,7 @@ { struct snd_pcm *pcm = subs->stream->pcm; struct snd_pcm_substream *s = pcm->streams[subs->direction].substream; - struct device *dev = subs->dev->bus->controller; + struct device *dev = subs->dev->bus->sysdev; if (snd_usb_use_vmalloc) snd_pcm_set_managed_buffer(s, SNDRV_DMA_TYPE_VMALLOC, --- linux-riscv-5.8-5.8.0.orig/sound/usb/quirks-table.h +++ linux-riscv-5.8-5.8.0/sound/usb/quirks-table.h @@ -2480,6 +2480,16 @@ } }, +{ + USB_DEVICE_VENDOR_SPEC(0x0944, 0x0204), + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { + .vendor_name = "KORG, Inc.", + /* .product_name = "ToneLab EX", */ + .ifnum = 3, + .type = QUIRK_MIDI_STANDARD_INTERFACE, + } +}, + /* AKAI devices */ { USB_DEVICE(0x09e8, 0x0062), @@ -2680,6 +2690,10 @@ .data = (const struct snd_usb_audio_quirk[]) { { .ifnum = 0, + .type = QUIRK_AUDIO_STANDARD_MIXER, + }, + { + .ifnum = 0, .type = QUIRK_AUDIO_FIXED_ENDPOINT, .data = &(const struct audioformat) { .formats = SNDRV_PCM_FMTBIT_S24_3LE, @@ -2690,6 +2704,32 @@ .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, .endpoint = 0x01, .ep_attr = USB_ENDPOINT_XFER_ISOC, + .datainterval = 1, + .maxpacksize = 0x024c, + .rates = SNDRV_PCM_RATE_44100 | + SNDRV_PCM_RATE_48000, + .rate_min = 44100, + .rate_max = 48000, + .nr_rates = 2, + .rate_table = (unsigned int[]) { + 44100, 48000 + } + } + }, + { + .ifnum = 0, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 2, + .iface = 0, + .altsetting = 1, + .altset_idx = 1, + .attributes = 0, + .endpoint = 0x82, + .ep_attr = USB_ENDPOINT_XFER_ISOC, + .datainterval = 1, + .maxpacksize = 0x0126, .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, .rate_min = 44100, @@ -2794,6 +2834,19 @@ QUIRK_RENAME_DEVICE("Rane", "SL-1") }, +/* Lenovo ThinkStation P620 Rear Line-in, Line-out and Microphone */ +{ + USB_DEVICE(0x17aa, 0x1046), + QUIRK_DEVICE_PROFILE("Lenovo", "ThinkStation P620 Rear", + "Lenovo-ThinkStation-P620-Rear"), +}, +/* Lenovo ThinkStation P620 Internal Speaker + Front Headset */ +{ + USB_DEVICE(0x17aa, 0x104d), + QUIRK_DEVICE_PROFILE("Lenovo", "ThinkStation P620 Main", + "Lenovo-ThinkStation-P620-Main"), +}, + /* Native Instruments MK2 series */ { /* Komplete Audio 6 */ @@ -3502,14 +3555,40 @@ { /* * Pioneer DJ DJM-250MK2 - * PCM is 8 channels out @ 48 fixed (endpoints 0x01). - * The output from computer to the mixer is usable. + * PCM is 8 channels out @ 48 fixed (endpoint 0x01) + * and 8 channels in @ 48 fixed (endpoint 0x82). * - * The input (phono or line to computer) is not working. - * It should be at endpoint 0x82 and probably also 8 channels, - * but it seems that it works only with Pioneer proprietary software. - * Even on officially supported OS, the Audacity was unable to record - * and Mixxx to recognize the control vinyls. + * Both playback and recording is working, even simultaneously. + * + * Playback channels could be mapped to: + * - CH1 + * - CH2 + * - AUX + * + * Recording channels could be mapped to: + * - Post CH1 Fader + * - Post CH2 Fader + * - Cross Fader A + * - Cross Fader B + * - MIC + * - AUX + * - REC OUT + * + * There is remaining problem with recording directly from PHONO/LINE. + * If we map a channel to: + * - CH1 Control Tone PHONO + * - CH1 Control Tone LINE + * - CH2 Control Tone PHONO + * - CH2 Control Tone LINE + * it is silent. + * There is no signal even on other operating systems with official drivers. + * The signal appears only when a supported application is started. + * This needs to be investigated yet... + * (there is quite a lot communication on the USB in both directions) + * + * In current version this mixer could be used for playback + * and for recording from vinyls (through Post CH* Fader) + * but not for DVS (Digital Vinyl Systems) like in Mixxx. */ USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0017), .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { @@ -3533,6 +3612,82 @@ .rate_max = 48000, .nr_rates = 1, .rate_table = (unsigned int[]) { 48000 } + } + }, + { + .ifnum = 0, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 8, // inputs + .iface = 0, + .altsetting = 1, + .altset_idx = 1, + .endpoint = 0x82, + .ep_attr = USB_ENDPOINT_XFER_ISOC| + USB_ENDPOINT_SYNC_ASYNC| + USB_ENDPOINT_USAGE_IMPLICIT_FB, + .rates = SNDRV_PCM_RATE_48000, + .rate_min = 48000, + .rate_max = 48000, + .nr_rates = 1, + .rate_table = (unsigned int[]) { 48000 } + } + }, + { + .ifnum = -1 + } + } + } +}, +{ + /* + * PIONEER DJ DDJ-RB + * PCM is 4 channels out, 2 dummy channels in @ 44.1 fixed + * The feedback for the output is the dummy input. + */ + USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000e), + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = (const struct snd_usb_audio_quirk[]) { + { + .ifnum = 0, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 4, + .iface = 0, + .altsetting = 1, + .altset_idx = 1, + .endpoint = 0x01, + .ep_attr = USB_ENDPOINT_XFER_ISOC| + USB_ENDPOINT_SYNC_ASYNC, + .rates = SNDRV_PCM_RATE_44100, + .rate_min = 44100, + .rate_max = 44100, + .nr_rates = 1, + .rate_table = (unsigned int[]) { 44100 } + } + }, + { + .ifnum = 0, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 2, + .iface = 0, + .altsetting = 1, + .altset_idx = 1, + .endpoint = 0x82, + .ep_attr = USB_ENDPOINT_XFER_ISOC| + USB_ENDPOINT_SYNC_ASYNC| + USB_ENDPOINT_USAGE_IMPLICIT_FB, + .rates = SNDRV_PCM_RATE_44100, + .rate_min = 44100, + .rate_max = 44100, + .nr_rates = 1, + .rate_table = (unsigned int[]) { 44100 } } }, { @@ -3641,11 +3796,17 @@ * they pretend to be 96kHz mono as a workaround for stereo being broken * by that... * - * They also have swapped L-R channels, but that's for userspace to deal - * with. + * They also have an issue with initial stream alignment that causes the + * channels to be swapped and out of phase, which is dealt with in quirks.c. */ { - USB_DEVICE(0x534d, 0x2109), + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | + USB_DEVICE_ID_MATCH_INT_CLASS | + USB_DEVICE_ID_MATCH_INT_SUBCLASS, + .idVendor = 0x534d, + .idProduct = 0x2109, + .bInterfaceClass = USB_CLASS_AUDIO, + .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL, .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { .vendor_name = "MacroSilicon", .product_name = "MS2109", --- linux-riscv-5.8-5.8.0.orig/sound/usb/quirks.c +++ linux-riscv-5.8-5.8.0/sound/usb/quirks.c @@ -1493,8 +1493,12 @@ set_format_emu_quirk(subs, fmt); break; case USB_ID(0x2b73, 0x000a): /* Pioneer DJ DJM-900NXS2 */ + case USB_ID(0x2b73, 0x0017): /* Pioneer DJ DJM-250MK2 */ pioneer_djm_set_format_quirk(subs); break; + case USB_ID(0x534d, 0x2109): /* MacroSilicon MS2109 */ + subs->stream_offset_adj = 2; + break; } } @@ -1512,6 +1516,8 @@ case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */ case USB_ID(0x21b4, 0x0081): /* AudioQuest DragonFly */ case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */ + case USB_ID(0x413c, 0xa506): /* Dell AE515 sound bar */ + case USB_ID(0x046d, 0x084c): /* Logitech ConferenceCam Connect */ return true; } @@ -1664,12 +1670,21 @@ && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) msleep(20); - /* Zoom R16/24, Logitech H650e, Jabra 550a, Kingston HyperX needs a tiny - * delay here, otherwise requests like get/set frequency return as - * failed despite actually succeeding. + /* + * Plantronics headsets (C320, C320-M, etc) need a delay to avoid + * random microhpone failures. + */ + if (USB_ID_VENDOR(chip->usb_id) == 0x047f && + (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) + msleep(20); + + /* Zoom R16/24, many Logitech(at least H650e/H570e/BCC950), + * Jabra 550a, Kingston HyperX needs a tiny delay here, + * otherwise requests like get/set frequency return + * as failed despite actually succeeding. */ if ((chip->usb_id == USB_ID(0x1686, 0x00dd) || - chip->usb_id == USB_ID(0x046d, 0x0a46) || + USB_ID_VENDOR(chip->usb_id) == 0x046d || /* Logitech */ chip->usb_id == USB_ID(0x0b0e, 0x0349) || chip->usb_id == USB_ID(0x0951, 0x16ad)) && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) @@ -1790,7 +1805,9 @@ case 0x25ce: /* Mytek devices */ case 0x278b: /* Rotel? */ case 0x292b: /* Gustard/Ess based devices */ + case 0x2972: /* FiiO devices */ case 0x2ab6: /* T+A devices */ + case 0x3353: /* Khadas devices */ case 0x3842: /* EVGA */ case 0xc502: /* HiBy devices */ if (fp->dsd_raw) --- linux-riscv-5.8-5.8.0.orig/sound/usb/stream.c +++ linux-riscv-5.8-5.8.0/sound/usb/stream.c @@ -94,6 +94,7 @@ subs->tx_length_quirk = as->chip->tx_length_quirk; subs->speed = snd_usb_get_speed(subs->dev); subs->pkt_offset_adj = 0; + subs->stream_offset_adj = 0; snd_usb_set_pcm_ops(as->pcm, stream); @@ -192,16 +193,16 @@ struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol); struct snd_usb_substream *subs = info->private_data; struct snd_pcm_chmap_elem *chmap = NULL; - int i; + int i = 0; - memset(ucontrol->value.integer.value, 0, - sizeof(ucontrol->value.integer.value)); if (subs->cur_audiofmt) chmap = subs->cur_audiofmt->chmap; if (chmap) { for (i = 0; i < chmap->channels; i++) ucontrol->value.integer.value[i] = chmap->map[i]; } + for (; i < subs->channels_max; i++) + ucontrol->value.integer.value[i] = 0; return 0; } --- linux-riscv-5.8-5.8.0.orig/sound/x86/Kconfig +++ linux-riscv-5.8-5.8.0/sound/x86/Kconfig @@ -9,7 +9,7 @@ if SND_X86 config HDMI_LPE_AUDIO - tristate "HDMI audio without HDaudio on Intel Atom platforms" + tristate "HDMI audio without HDAudio on Intel Atom platforms" depends on DRM_I915 select SND_PCM help --- linux-riscv-5.8-5.8.0.orig/tools/arch/ia64/include/asm/barrier.h +++ linux-riscv-5.8-5.8.0/tools/arch/ia64/include/asm/barrier.h @@ -39,9 +39,6 @@ * sequential memory pages only. */ -/* XXX From arch/ia64/include/uapi/asm/gcc_intrin.h */ -#define ia64_mf() asm volatile ("mf" ::: "memory") - #define mb() ia64_mf() #define rmb() mb() #define wmb() mb() --- linux-riscv-5.8-5.8.0.orig/tools/arch/x86/include/asm/insn.h +++ linux-riscv-5.8-5.8.0/tools/arch/x86/include/asm/insn.h @@ -201,6 +201,21 @@ return insn_offset_displacement(insn) + insn->displacement.nbytes; } +/** + * for_each_insn_prefix() -- Iterate prefixes in the instruction + * @insn: Pointer to struct insn. + * @idx: Index storage. + * @prefix: Prefix byte. + * + * Iterate prefix bytes of given @insn. Each prefix byte is stored in @prefix + * and the index is stored in @idx (note that this @idx is just for a cursor, + * do not change it.) + * Since prefixes.nbytes can be bigger than 4 if some prefixes + * are repeated, it cannot be used for looping over the prefixes. + */ +#define for_each_insn_prefix(insn, idx, prefix) \ + for (idx = 0; idx < ARRAY_SIZE(insn->prefixes.bytes) && (prefix = insn->prefixes.bytes[idx]) != 0; idx++) + #define POP_SS_OPCODE 0x1f #define MOV_SREG_OPCODE 0x8e --- linux-riscv-5.8-5.8.0.orig/tools/arch/x86/lib/memcpy_64.S +++ linux-riscv-5.8-5.8.0/tools/arch/x86/lib/memcpy_64.S @@ -4,7 +4,6 @@ #include #include #include -#include #include #include @@ -187,117 +186,3 @@ SYM_FUNC_END(memcpy_orig) .popsection - -#ifndef CONFIG_UML - -MCSAFE_TEST_CTL - -/* - * __memcpy_mcsafe - memory copy with machine check exception handling - * Note that we only catch machine checks when reading the source addresses. - * Writes to target are posted and don't generate machine checks. - */ -SYM_FUNC_START(__memcpy_mcsafe) - cmpl $8, %edx - /* Less than 8 bytes? Go to byte copy loop */ - jb .L_no_whole_words - - /* Check for bad alignment of source */ - testl $7, %esi - /* Already aligned */ - jz .L_8byte_aligned - - /* Copy one byte at a time until source is 8-byte aligned */ - movl %esi, %ecx - andl $7, %ecx - subl $8, %ecx - negl %ecx - subl %ecx, %edx -.L_read_leading_bytes: - movb (%rsi), %al - MCSAFE_TEST_SRC %rsi 1 .E_leading_bytes - MCSAFE_TEST_DST %rdi 1 .E_leading_bytes -.L_write_leading_bytes: - movb %al, (%rdi) - incq %rsi - incq %rdi - decl %ecx - jnz .L_read_leading_bytes - -.L_8byte_aligned: - movl %edx, %ecx - andl $7, %edx - shrl $3, %ecx - jz .L_no_whole_words - -.L_read_words: - movq (%rsi), %r8 - MCSAFE_TEST_SRC %rsi 8 .E_read_words - MCSAFE_TEST_DST %rdi 8 .E_write_words -.L_write_words: - movq %r8, (%rdi) - addq $8, %rsi - addq $8, %rdi - decl %ecx - jnz .L_read_words - - /* Any trailing bytes? */ -.L_no_whole_words: - andl %edx, %edx - jz .L_done_memcpy_trap - - /* Copy trailing bytes */ - movl %edx, %ecx -.L_read_trailing_bytes: - movb (%rsi), %al - MCSAFE_TEST_SRC %rsi 1 .E_trailing_bytes - MCSAFE_TEST_DST %rdi 1 .E_trailing_bytes -.L_write_trailing_bytes: - movb %al, (%rdi) - incq %rsi - incq %rdi - decl %ecx - jnz .L_read_trailing_bytes - - /* Copy successful. Return zero */ -.L_done_memcpy_trap: - xorl %eax, %eax -.L_done: - ret -SYM_FUNC_END(__memcpy_mcsafe) -EXPORT_SYMBOL_GPL(__memcpy_mcsafe) - - .section .fixup, "ax" - /* - * Return number of bytes not copied for any failure. Note that - * there is no "tail" handling since the source buffer is 8-byte - * aligned and poison is cacheline aligned. - */ -.E_read_words: - shll $3, %ecx -.E_leading_bytes: - addl %edx, %ecx -.E_trailing_bytes: - mov %ecx, %eax - jmp .L_done - - /* - * For write fault handling, given the destination is unaligned, - * we handle faults on multi-byte writes with a byte-by-byte - * copy up to the write-protected page. - */ -.E_write_words: - shll $3, %ecx - addl %edx, %ecx - movl %ecx, %edx - jmp mcsafe_handle_tail - - .previous - - _ASM_EXTABLE_FAULT(.L_read_leading_bytes, .E_leading_bytes) - _ASM_EXTABLE_FAULT(.L_read_words, .E_read_words) - _ASM_EXTABLE_FAULT(.L_read_trailing_bytes, .E_trailing_bytes) - _ASM_EXTABLE(.L_write_leading_bytes, .E_leading_bytes) - _ASM_EXTABLE(.L_write_words, .E_write_words) - _ASM_EXTABLE(.L_write_trailing_bytes, .E_trailing_bytes) -#endif --- linux-riscv-5.8-5.8.0.orig/tools/bootconfig/main.c +++ linux-riscv-5.8-5.8.0/tools/bootconfig/main.c @@ -274,6 +274,7 @@ int apply_xbc(const char *path, const char *xbc_path) { + struct stat stat; u32 size, csum; char *buf, *data; int ret, fd; @@ -330,16 +331,26 @@ return fd; } /* TODO: Ensure the @path is initramfs/initrd image */ + if (fstat(fd, &stat) < 0) { + pr_err("Failed to get the size of %s\n", path); + goto out; + } ret = write(fd, data, size + 8); - if (ret < 0) { + if (ret < size + 8) { + if (ret < 0) + ret = -errno; pr_err("Failed to apply a boot config: %d\n", ret); - goto out; + if (ret < 0) + goto out; + goto out_rollback; } /* Write a magic word of the bootconfig */ ret = write(fd, BOOTCONFIG_MAGIC, BOOTCONFIG_MAGIC_LEN); - if (ret < 0) { + if (ret < BOOTCONFIG_MAGIC_LEN) { + if (ret < 0) + ret = -errno; pr_err("Failed to apply a boot config magic: %d\n", ret); - goto out; + goto out_rollback; } ret = 0; out: @@ -347,6 +358,17 @@ free(data); return ret; + +out_rollback: + /* Map the partial write to -ENOSPC */ + if (ret >= 0) + ret = -ENOSPC; + if (ftruncate(fd, stat.st_size) < 0) { + ret = -errno; + pr_err("Failed to rollback the write error: %d\n", ret); + pr_err("The initrd %s may be corrupted. Recommend to rebuild.\n", path); + } + goto out; } int usage(void) --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/btf.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/btf.c @@ -596,7 +596,7 @@ goto done; } if (!btf) { - err = ENOENT; + err = -ENOENT; p_err("can't find btf with ID (%u)", btf_id); goto done; } @@ -745,6 +745,7 @@ obj_node = calloc(1, sizeof(*obj_node)); if (!obj_node) { p_err("failed to allocate memory: %s", strerror(errno)); + err = -ENOMEM; goto err_free; } --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/btf_dumper.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/btf_dumper.c @@ -67,7 +67,7 @@ if (!info->btf_id || !info->nr_func_info || btf__get_from_id(info->btf_id, &prog_btf)) goto print; - finfo = (struct bpf_func_info *)info->func_info; + finfo = u64_to_ptr(info->func_info); func_type = btf__type_by_id(prog_btf, finfo->type_id); if (!func_type || !btf_is_func(func_type)) goto print; --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/feature.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/feature.c @@ -835,9 +835,14 @@ else p_err("missing %s%s%s%s%s%s%s%srequired for full feature probing; run as root or use 'unprivileged'", capability_msg(bpf_caps, 0), +#ifdef CAP_BPF capability_msg(bpf_caps, 1), capability_msg(bpf_caps, 2), - capability_msg(bpf_caps, 3)); + capability_msg(bpf_caps, 3) +#else + "", "", "", "", "", "" +#endif /* CAP_BPF */ + ); goto exit_free; } --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/gen.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/gen.c @@ -305,8 +305,11 @@ opts.object_name = obj_name; obj = bpf_object__open_mem(obj_data, file_sz, &opts); if (IS_ERR(obj)) { + char err_buf[256]; + + libbpf_strerror(PTR_ERR(obj), err_buf, sizeof(err_buf)); + p_err("failed to open BPF object file: %s", err_buf); obj = NULL; - p_err("failed to open BPF object file: %ld", PTR_ERR(obj)); goto out; } @@ -397,7 +400,7 @@ { \n\ struct %1$s *obj; \n\ \n\ - obj = (typeof(obj))calloc(1, sizeof(*obj)); \n\ + obj = (struct %1$s *)calloc(1, sizeof(*obj)); \n\ if (!obj) \n\ return NULL; \n\ if (%1$s__create_skeleton(obj)) \n\ @@ -461,7 +464,7 @@ { \n\ struct bpf_object_skeleton *s; \n\ \n\ - s = (typeof(s))calloc(1, sizeof(*s)); \n\ + s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s));\n\ if (!s) \n\ return -1; \n\ obj->skeleton = s; \n\ @@ -479,7 +482,7 @@ /* maps */ \n\ s->map_cnt = %zu; \n\ s->map_skel_sz = sizeof(*s->maps); \n\ - s->maps = (typeof(s->maps))calloc(s->map_cnt, s->map_skel_sz);\n\ + s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, s->map_skel_sz);\n\ if (!s->maps) \n\ goto err; \n\ ", @@ -515,7 +518,7 @@ /* programs */ \n\ s->prog_cnt = %zu; \n\ s->prog_skel_sz = sizeof(*s->progs); \n\ - s->progs = (typeof(s->progs))calloc(s->prog_cnt, s->prog_skel_sz);\n\ + s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz);\n\ if (!s->progs) \n\ goto err; \n\ ", --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/link.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/link.c @@ -101,7 +101,7 @@ switch (info->type) { case BPF_LINK_TYPE_RAW_TRACEPOINT: jsonw_string_field(json_wtr, "tp_name", - (const char *)info->raw_tracepoint.tp_name); + u64_to_ptr(info->raw_tracepoint.tp_name)); break; case BPF_LINK_TYPE_TRACING: err = get_prog_info(info->prog_id, &prog_info); @@ -177,7 +177,7 @@ switch (info->type) { case BPF_LINK_TYPE_RAW_TRACEPOINT: printf("\n\ttp '%s' ", - (const char *)info->raw_tracepoint.tp_name); + (const char *)u64_to_ptr(info->raw_tracepoint.tp_name)); break; case BPF_LINK_TYPE_TRACING: err = get_prog_info(info->prog_id, &prog_info); --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/main.h +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/main.h @@ -21,7 +21,15 @@ /* Make sure we do not use kernel-only integer typedefs */ #pragma GCC poison u8 u16 u32 u64 s8 s16 s32 s64 -#define ptr_to_u64(ptr) ((__u64)(unsigned long)(ptr)) +static inline __u64 ptr_to_u64(const void *ptr) +{ + return (__u64)(unsigned long)ptr; +} + +static inline void *u64_to_ptr(__u64 ptr) +{ + return (void *)(unsigned long)ptr; +} #define NEXT_ARG() ({ argc--; argv++; if (argc < 0) usage(); }) #define NEXT_ARGP() ({ (*argc)--; (*argv)++; if (*argc < 0) usage(); }) --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/net.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/net.c @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -313,8 +312,8 @@ ifindex = net_parse_dev(&argc, &argv); if (ifindex < 1) { - close(progfd); - return -EINVAL; + err = -EINVAL; + goto cleanup; } if (argc) { @@ -322,8 +321,8 @@ overwrite = true; } else { p_err("expected 'overwrite', got: '%s'?", *argv); - close(progfd); - return -EINVAL; + err = -EINVAL; + goto cleanup; } } @@ -331,17 +330,17 @@ if (is_prefix("xdp", attach_type_strings[attach_type])) err = do_attach_detach_xdp(progfd, attach_type, ifindex, overwrite); - - if (err < 0) { + if (err) { p_err("interface %s attach failed: %s", attach_type_strings[attach_type], strerror(-err)); - return err; + goto cleanup; } if (json_output) jsonw_null(json_wtr); - - return 0; +cleanup: + close(progfd); + return err; } static int do_detach(int argc, char **argv) --- linux-riscv-5.8-5.8.0.orig/tools/bpf/bpftool/prog.c +++ linux-riscv-5.8-5.8.0/tools/bpf/bpftool/prog.c @@ -537,14 +537,14 @@ p_info("no instructions returned"); return -1; } - buf = (unsigned char *)(info->jited_prog_insns); + buf = u64_to_ptr(info->jited_prog_insns); member_len = info->jited_prog_len; } else { /* DUMP_XLATED */ if (info->xlated_prog_len == 0 || !info->xlated_prog_insns) { p_err("error retrieving insn dump: kernel.kptr_restrict set?"); return -1; } - buf = (unsigned char *)info->xlated_prog_insns; + buf = u64_to_ptr(info->xlated_prog_insns); member_len = info->xlated_prog_len; } @@ -553,7 +553,7 @@ return -1; } - func_info = (void *)info->func_info; + func_info = u64_to_ptr(info->func_info); if (info->nr_line_info) { prog_linfo = bpf_prog_linfo__new(info); @@ -571,7 +571,7 @@ n = write(fd, buf, member_len); close(fd); - if (n != member_len) { + if (n != (ssize_t)member_len) { p_err("error writing output file: %s", n < 0 ? strerror(errno) : "short write"); return -1; @@ -601,13 +601,13 @@ __u32 i; if (info->nr_jited_ksyms) { kernel_syms_load(&dd); - ksyms = (__u64 *) info->jited_ksyms; + ksyms = u64_to_ptr(info->jited_ksyms); } if (json_output) jsonw_start_array(json_wtr); - lens = (__u32 *) info->jited_func_lens; + lens = u64_to_ptr(info->jited_func_lens); for (i = 0; i < info->nr_jited_func_lens; i++) { if (ksyms) { sym = kernel_syms_search(&dd, ksyms[i]); @@ -668,7 +668,7 @@ } else { kernel_syms_load(&dd); dd.nr_jited_ksyms = info->nr_jited_ksyms; - dd.jited_ksyms = (__u64 *) info->jited_ksyms; + dd.jited_ksyms = u64_to_ptr(info->jited_ksyms); dd.btf = btf; dd.func_info = func_info; dd.finfo_rec_size = info->func_info_rec_size; @@ -850,7 +850,7 @@ } if (*attach_type == BPF_FLOW_DISSECTOR) { - *mapfd = -1; + *mapfd = 0; return 0; } @@ -1790,7 +1790,7 @@ goto out; } - func_info = (struct bpf_func_info *)(info_linear->info.func_info); + func_info = u64_to_ptr(info_linear->info.func_info); t = btf__type_by_id(btf, func_info[0].type_id); if (!t) { p_err("btf %d doesn't have type %d", --- linux-riscv-5.8-5.8.0.orig/tools/build/Build.include +++ linux-riscv-5.8-5.8.0/tools/build/Build.include @@ -74,7 +74,8 @@ # dependencies in the cmd file if_changed_dep = $(if $(strip $(any-prereq) $(arg-check)), \ @set -e; \ - $(echo-cmd) $(cmd_$(1)) && $(dep-cmd)) + $(echo-cmd) $(cmd_$(1)); \ + $(dep-cmd)) # if_changed - execute command if any prerequisite is newer than # target, or command line has changed --- linux-riscv-5.8-5.8.0.orig/tools/build/Makefile +++ linux-riscv-5.8-5.8.0/tools/build/Makefile @@ -15,10 +15,6 @@ $(call allow-override,CC,$(CROSS_COMPILE)gcc) $(call allow-override,LD,$(CROSS_COMPILE)ld) -HOSTCC ?= gcc -HOSTLD ?= ld -HOSTAR ?= ar - export HOSTCC HOSTLD HOSTAR ifeq ($(V),1) --- linux-riscv-5.8-5.8.0.orig/tools/build/Makefile.feature +++ linux-riscv-5.8-5.8.0/tools/build/Makefile.feature @@ -8,7 +8,7 @@ feature_check = $(eval $(feature_check_code)) define feature_check_code - feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" CXXFLAGS="$(EXTRA_CXXFLAGS) $(FEATURE_CHECK_CXXFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin >/dev/null 2>/dev/null && echo 1 || echo 0) + feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" CXXFLAGS="$(EXTRA_CXXFLAGS) $(FEATURE_CHECK_CXXFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin >/dev/null 2>/dev/null && echo 1 || echo 0) endef feature_set = $(eval $(feature_set_code)) @@ -38,8 +38,6 @@ get_current_dir_name \ gettid \ glibc \ - gtk2 \ - gtk2-infobar \ libbfd \ libcap \ libelf \ @@ -81,6 +79,8 @@ compile-32 \ compile-x32 \ cplus-demangle \ + gtk2 \ + gtk2-infobar \ hello \ libbabeltrace \ libbfd-liberty \ @@ -110,7 +110,6 @@ dwarf \ dwarf_getlocations \ glibc \ - gtk2 \ libbfd \ libcap \ libelf \ --- linux-riscv-5.8-5.8.0.orig/tools/build/feature/Makefile +++ linux-riscv-5.8-5.8.0/tools/build/feature/Makefile @@ -74,8 +74,6 @@ FILES := $(addprefix $(OUTPUT),$(FILES)) -CC ?= $(CROSS_COMPILE)gcc -CXX ?= $(CROSS_COMPILE)g++ PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config LLVM_CONFIG ?= llvm-config CLANG ?= clang @@ -91,7 +89,7 @@ ############################### $(OUTPUT)test-all.bin: - $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -I/usr/include/slang -lslang $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz -llzma + $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -I/usr/include/slang -lslang $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz -llzma -lzstd -lcap $(OUTPUT)test-hello.bin: $(BUILD) --- linux-riscv-5.8-5.8.0.orig/tools/build/feature/test-all.c +++ linux-riscv-5.8-5.8.0/tools/build/feature/test-all.c @@ -78,14 +78,6 @@ # include "test-libslang.c" #undef main -#define main main_test_gtk2 -# include "test-gtk2.c" -#undef main - -#define main main_test_gtk2_infobar -# include "test-gtk2-infobar.c" -#undef main - #define main main_test_libbfd # include "test-libbfd.c" #undef main @@ -205,8 +197,6 @@ main_test_libelf_getshdrstrndx(); main_test_libunwind(); main_test_libslang(); - main_test_gtk2(argc, argv); - main_test_gtk2_infobar(argc, argv); main_test_libbfd(); main_test_backtrace(); main_test_libnuma(); --- linux-riscv-5.8-5.8.0.orig/tools/hv/hv_kvp_daemon.8 +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/hv/lsvmbus +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/hv/lsvmbus.8 +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/include/uapi/asm/errno.h +++ linux-riscv-5.8-5.8.0/tools/include/uapi/asm/errno.h @@ -9,8 +9,6 @@ #include "../../../arch/alpha/include/uapi/asm/errno.h" #elif defined(__mips__) #include "../../../arch/mips/include/uapi/asm/errno.h" -#elif defined(__ia64__) -#include "../../../arch/ia64/include/uapi/asm/errno.h" #elif defined(__xtensa__) #include "../../../arch/xtensa/include/uapi/asm/errno.h" #else --- linux-riscv-5.8-5.8.0.orig/tools/include/uapi/linux/bpf.h +++ linux-riscv-5.8-5.8.0/tools/include/uapi/linux/bpf.h @@ -1416,8 +1416,8 @@ * Return * The return value depends on the result of the test, and can be: * - * * 0, if the *skb* task belongs to the cgroup2. - * * 1, if the *skb* task does not belong to the cgroup2. + * * 0, if current task belongs to the cgroup2. + * * 1, if current task does not belong to the cgroup2. * * A negative error code, if an error occurred. * * int bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags) @@ -3168,7 +3168,7 @@ * Return * The id is returned or 0 in case the id could not be retrieved. * - * int bpf_ringbuf_output(void *ringbuf, void *data, u64 size, u64 flags) + * long bpf_ringbuf_output(void *ringbuf, void *data, u64 size, u64 flags) * Description * Copy *size* bytes from *data* into a ring buffer *ringbuf*. * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification --- linux-riscv-5.8-5.8.0.orig/tools/include/uapi/linux/const.h +++ linux-riscv-5.8-5.8.0/tools/include/uapi/linux/const.h @@ -28,4 +28,9 @@ #define _BITUL(x) (_UL(1) << (x)) #define _BITULL(x) (_ULL(1) << (x)) +#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1) +#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) + +#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) + #endif /* _UAPI_LINUX_CONST_H */ --- linux-riscv-5.8-5.8.0.orig/tools/include/uapi/linux/fscrypt.h +++ linux-riscv-5.8-5.8.0/tools/include/uapi/linux/fscrypt.h @@ -20,7 +20,6 @@ #define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04 #define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 0x08 #define FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 0x10 -#define FSCRYPT_POLICY_FLAGS_VALID 0x1F /* Encryption algorithms */ #define FSCRYPT_MODE_AES_256_XTS 1 @@ -28,7 +27,7 @@ #define FSCRYPT_MODE_AES_128_CBC 5 #define FSCRYPT_MODE_AES_128_CTS 6 #define FSCRYPT_MODE_ADIANTUM 9 -#define __FSCRYPT_MODE_MAX 9 +/* If adding a mode number > 9, update FSCRYPT_MODE_MAX in fscrypt_private.h */ /* * Legacy policy version; ad-hoc KDF and no key verification. @@ -177,7 +176,7 @@ #define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32 #define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK #define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY -#define FS_POLICY_FLAGS_VALID FSCRYPT_POLICY_FLAGS_VALID +#define FS_POLICY_FLAGS_VALID 0x07 /* contains old flags only */ #define FS_ENCRYPTION_MODE_INVALID 0 /* never used */ #define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS #define FS_ENCRYPTION_MODE_AES_256_GCM 2 /* never used */ --- linux-riscv-5.8-5.8.0.orig/tools/include/uapi/linux/perf_event.h +++ linux-riscv-5.8-5.8.0/tools/include/uapi/linux/perf_event.h @@ -1155,7 +1155,7 @@ #define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ /* 1 free */ -#define PERF_MEM_SNOOPX_SHIFT 37 +#define PERF_MEM_SNOOPX_SHIFT 38 /* locked instruction */ #define PERF_MEM_LOCK_NA 0x01 /* not available */ --- linux-riscv-5.8-5.8.0.orig/tools/io_uring/io_uring-bench.c +++ linux-riscv-5.8-5.8.0/tools/io_uring/io_uring-bench.c @@ -130,7 +130,7 @@ s->nr_files); } -static int gettid(void) +static int lk_gettid(void) { return syscall(__NR_gettid); } @@ -281,7 +281,7 @@ struct io_sq_ring *ring = &s->sq_ring; int ret, prepped; - printf("submitter=%d\n", gettid()); + printf("submitter=%d\n", lk_gettid()); srand48_r(pthread_self(), &s->rand); --- linux-riscv-5.8-5.8.0.orig/tools/kvm/kvm_stat/kvm_stat.service +++ linux-riscv-5.8-5.8.0/tools/kvm/kvm_stat/kvm_stat.service @@ -9,6 +9,7 @@ ExecStart=/usr/bin/kvm_stat -dtcz -s 10 -L /var/log/kvm_stat.csv ExecReload=/bin/kill -HUP $MAINPID Restart=always +RestartSec=60s SyslogIdentifier=kvm_stat SyslogLevel=debug --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/Makefile +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/Makefile @@ -59,7 +59,7 @@ FEATURE_TESTS = libelf libelf-mmap zlib bpf reallocarray FEATURE_DISPLAY = libelf zlib bpf -INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(ARCH)/include/uapi -I$(srctree)/tools/include/uapi +INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/tools/include/uapi FEATURE_CHECK_CFLAGS-bpf = $(INCLUDES) check_feat := 1 @@ -152,6 +152,8 @@ awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \ sort -u | wc -l) VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \ + sed 's/\[.*\]//' | \ + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \ grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | sort -u | wc -l) CMD_TARGETS = $(LIB_TARGET) $(PC_FILE) @@ -219,6 +221,8 @@ awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \ sort -u > $(OUTPUT)libbpf_global_syms.tmp; \ readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \ + sed 's/\[.*\]//' | \ + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \ grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | \ sort -u > $(OUTPUT)libbpf_versioned_syms.tmp; \ diff -u $(OUTPUT)libbpf_global_syms.tmp \ @@ -238,7 +242,7 @@ if [ ! -d '$(DESTDIR_SQ)$2' ]; then \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$2'; \ fi; \ - $(INSTALL) $1 $(if $3,-m $3,) '$(DESTDIR_SQ)$2' + $(INSTALL) $(if $3,-m $3,) $1 '$(DESTDIR_SQ)$2' endef install_lib: all_cmd --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/bpf_tracing.h +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/bpf_tracing.h @@ -215,7 +215,7 @@ #define PT_REGS_PARM5(x) ((x)->regs[8]) #define PT_REGS_RET(x) ((x)->regs[31]) #define PT_REGS_FP(x) ((x)->regs[30]) /* Works only with CONFIG_FRAME_POINTER */ -#define PT_REGS_RC(x) ((x)->regs[1]) +#define PT_REGS_RC(x) ((x)->regs[2]) #define PT_REGS_SP(x) ((x)->regs[29]) #define PT_REGS_IP(x) ((x)->cp0_epc) @@ -226,7 +226,7 @@ #define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), regs[8]) #define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), regs[31]) #define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), regs[30]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), regs[1]) +#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), regs[2]) #define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), regs[29]) #define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), cp0_epc) --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/btf_dump.c +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/btf_dump.c @@ -448,7 +448,7 @@ return err; case BTF_KIND_ARRAY: - return btf_dump_order_type(d, btf_array(t)->type, through_ptr); + return btf_dump_order_type(d, btf_array(t)->type, false); case BTF_KIND_STRUCT: case BTF_KIND_UNION: { --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/hashmap.h +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/hashmap.h @@ -15,6 +15,9 @@ static inline size_t hash_bits(size_t h, int bits) { /* shuffle bits and return requested number of upper bits */ + if (bits == 0) + return 0; + #if (__SIZEOF_SIZE_T__ == __SIZEOF_LONG_LONG__) /* LP64 case */ return (h * 11400714819323198485llu) >> (__SIZEOF_LONG_LONG__ * 8 - bits); @@ -162,17 +165,17 @@ * @key: key to iterate entries for */ #define hashmap__for_each_key_entry(map, cur, _key) \ - for (cur = ({ size_t bkt = hash_bits(map->hash_fn((_key), map->ctx),\ - map->cap_bits); \ - map->buckets ? map->buckets[bkt] : NULL; }); \ + for (cur = map->buckets \ + ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ + : NULL; \ cur; \ cur = cur->next) \ if (map->equal_fn(cur->key, (_key), map->ctx)) #define hashmap__for_each_key_entry_safe(map, cur, tmp, _key) \ - for (cur = ({ size_t bkt = hash_bits(map->hash_fn((_key), map->ctx),\ - map->cap_bits); \ - cur = map->buckets ? map->buckets[bkt] : NULL; }); \ + for (cur = map->buckets \ + ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ + : NULL; \ cur && ({ tmp = cur->next; true; }); \ cur = tmp) \ if (map->equal_fn(cur->key, (_key), map->ctx)) --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/libbpf.c +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/libbpf.c @@ -811,24 +811,24 @@ if (btf_is_ptr(mtype)) { struct bpf_program *prog; - mtype = skip_mods_and_typedefs(btf, mtype->type, &mtype_id); + prog = st_ops->progs[i]; + if (!prog) + continue; + kern_mtype = skip_mods_and_typedefs(kern_btf, kern_mtype->type, &kern_mtype_id); - if (!btf_is_func_proto(mtype) || - !btf_is_func_proto(kern_mtype)) { - pr_warn("struct_ops init_kern %s: non func ptr %s is not supported\n", + + /* mtype->type must be a func_proto which was + * guaranteed in bpf_object__collect_st_ops_relos(), + * so only check kern_mtype for func_proto here. + */ + if (!btf_is_func_proto(kern_mtype)) { + pr_warn("struct_ops init_kern %s: kernel member %s is not a func ptr\n", map->name, mname); return -ENOTSUP; } - prog = st_ops->progs[i]; - if (!prog) { - pr_debug("struct_ops init_kern %s: func ptr %s is not set\n", - map->name, mname); - continue; - } - prog->attach_btf_id = kern_type_id; prog->expected_attach_type = kern_member_idx; @@ -2237,7 +2237,7 @@ data = elf_getdata(scn, NULL); if (!scn || !data) { pr_warn("failed to get Elf_Data from map section %d (%s)\n", - obj->efile.maps_shndx, MAPS_ELF_SEC); + obj->efile.btf_maps_shndx, MAPS_ELF_SEC); return -EINVAL; } @@ -3319,10 +3319,11 @@ map = bpf_create_map_xattr(&map_attr); if (map < 0) { - cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg)); + ret = -errno; + cp = libbpf_strerror_r(ret, errmsg, sizeof(errmsg)); pr_warn("Error in %s():%s(%d). Couldn't create simple array map.\n", - __func__, cp, errno); - return -errno; + __func__, cp, -ret); + return ret; } insns[0].imm = map; @@ -3676,6 +3677,36 @@ return 0; } +static int init_map_slots(struct bpf_map *map) +{ + const struct bpf_map *targ_map; + unsigned int i; + int fd, err; + + for (i = 0; i < map->init_slots_sz; i++) { + if (!map->init_slots[i]) + continue; + + targ_map = map->init_slots[i]; + fd = bpf_map__fd(targ_map); + err = bpf_map_update_elem(map->fd, &i, &fd, 0); + if (err) { + err = -errno; + pr_warn("map '%s': failed to initialize slot [%d] to map '%s' fd=%d: %d\n", + map->name, i, targ_map->name, + fd, err); + return err; + } + pr_debug("map '%s': slot [%d] set to map '%s' fd=%d\n", + map->name, i, targ_map->name, fd); + } + + zfree(&map->init_slots); + map->init_slots_sz = 0; + + return 0; +} + static int bpf_object__create_maps(struct bpf_object *obj) { @@ -3718,28 +3749,11 @@ } if (map->init_slots_sz) { - for (j = 0; j < map->init_slots_sz; j++) { - const struct bpf_map *targ_map; - int fd; - - if (!map->init_slots[j]) - continue; - - targ_map = map->init_slots[j]; - fd = bpf_map__fd(targ_map); - err = bpf_map_update_elem(map->fd, &j, &fd, 0); - if (err) { - err = -errno; - pr_warn("map '%s': failed to initialize slot [%d] to map '%s' fd=%d: %d\n", - map->name, j, targ_map->name, - fd, err); - goto err_out; - } - pr_debug("map '%s': slot [%d] set to map '%s' fd=%d\n", - map->name, j, targ_map->name, fd); + err = init_map_slots(map); + if (err < 0) { + zclose(map->fd); + goto err_out; } - zfree(&map->init_slots); - map->init_slots_sz = 0; } if (map->pin_path && !map->pinned) { @@ -5025,11 +5039,12 @@ static int bpf_object__collect_map_relos(struct bpf_object *obj, GElf_Shdr *shdr, Elf_Data *data) { - int i, j, nrels, new_sz, ptr_sz = sizeof(void *); + const int bpf_ptr_sz = 8, host_ptr_sz = sizeof(void *); + int i, j, nrels, new_sz; const struct btf_var_secinfo *vi = NULL; const struct btf_type *sec, *var, *def; + struct bpf_map *map = NULL, *targ_map; const struct btf_member *member; - struct bpf_map *map, *targ_map; const char *name, *mname; Elf_Data *symbols; unsigned int moff; @@ -5074,7 +5089,7 @@ vi = btf_var_secinfos(sec) + map->btf_var_idx; if (vi->offset <= rel.r_offset && - rel.r_offset + sizeof(void *) <= vi->offset + vi->size) + rel.r_offset + bpf_ptr_sz <= vi->offset + vi->size) break; } if (j == obj->nr_maps) { @@ -5110,17 +5125,20 @@ return -EINVAL; moff = rel.r_offset - vi->offset - moff; - if (moff % ptr_sz) + /* here we use BPF pointer size, which is always 64 bit, as we + * are parsing ELF that was built for BPF target + */ + if (moff % bpf_ptr_sz) return -EINVAL; - moff /= ptr_sz; + moff /= bpf_ptr_sz; if (moff >= map->init_slots_sz) { new_sz = moff + 1; - tmp = realloc(map->init_slots, new_sz * ptr_sz); + tmp = realloc(map->init_slots, new_sz * host_ptr_sz); if (!tmp) return -ENOMEM; map->init_slots = tmp; memset(map->init_slots + map->init_slots_sz, 0, - (new_sz - map->init_slots_sz) * ptr_sz); + (new_sz - map->init_slots_sz) * host_ptr_sz); map->init_slots_sz = new_sz; } map->init_slots[moff] = targ_map; @@ -5248,7 +5266,7 @@ free(log_buf); goto retry_load; } - ret = -errno; + ret = errno ? -errno : -LIBBPF_ERRNO__LOAD; cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg)); pr_warn("load bpf program failed: %s\n", cp); pr_perm_msg(ret); @@ -5775,9 +5793,10 @@ } if (bpf_obj_pin(prog->instances.fds[instance], path)) { - cp = libbpf_strerror_r(errno, errmsg, sizeof(errmsg)); + err = -errno; + cp = libbpf_strerror_r(err, errmsg, sizeof(errmsg)); pr_warn("failed to pin program: %s\n", cp); - return -errno; + return err; } pr_debug("pinned program '%s'\n", path); @@ -6047,6 +6066,16 @@ return map->pinned; } +static void sanitize_pin_path(char *s) +{ + /* bpffs disallows periods in path names */ + while (*s) { + if (*s == '.') + *s = '_'; + s++; + } +} + int bpf_object__pin_maps(struct bpf_object *obj, const char *path) { struct bpf_map *map; @@ -6076,6 +6105,7 @@ err = -ENAMETOOLONG; goto err_unpin_maps; } + sanitize_pin_path(buf); pin_path = buf; } else if (!map->pin_path) { continue; @@ -6120,6 +6150,7 @@ return -EINVAL; else if (len >= PATH_MAX) return -ENAMETOOLONG; + sanitize_pin_path(buf); pin_path = buf; } else if (!map->pin_path) { continue; --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/netlink.c +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/netlink.c @@ -41,7 +41,7 @@ memset(&sa, 0, sizeof(sa)); sa.nl_family = AF_NETLINK; - sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); + sock = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE); if (sock < 0) return -errno; --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/ringbuf.c +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/ringbuf.c @@ -231,7 +231,7 @@ if ((len & BPF_RINGBUF_DISCARD_BIT) == 0) { sample = (void *)len_ptr + BPF_RINGBUF_HDR_SZ; err = r->sample_cb(r->ctx, sample, len); - if (err) { + if (err < 0) { /* update consumer pos and bail out */ smp_store_release(r->consumer_pos, cons_pos); --- linux-riscv-5.8-5.8.0.orig/tools/lib/bpf/xsk.c +++ linux-riscv-5.8-5.8.0/tools/lib/bpf/xsk.c @@ -54,6 +54,8 @@ struct xsk_umem_config config; int fd; int refcount; + bool rx_ring_setup_done; + bool tx_ring_setup_done; }; struct xsk_socket { @@ -516,15 +518,16 @@ if (fd < 0) continue; + memset(&map_info, 0, map_len); err = bpf_obj_get_info_by_fd(fd, &map_info, &map_len); if (err) { close(fd); continue; } - if (!strcmp(map_info.name, "xsks_map")) { + if (!strncmp(map_info.name, "xsks_map", sizeof(map_info.name))) { xsk->xsks_map_fd = fd; - continue; + break; } close(fd); @@ -597,6 +600,7 @@ struct xdp_mmap_offsets off; struct xsk_socket *xsk; int err; + bool rx_setup_done = false, tx_setup_done = false; if (!umem || !xsk_ptr || !(rx || tx)) return -EFAULT; @@ -624,6 +628,8 @@ } } else { xsk->fd = umem->fd; + rx_setup_done = umem->rx_ring_setup_done; + tx_setup_done = umem->tx_ring_setup_done; } xsk->outstanding_tx = 0; @@ -637,7 +643,7 @@ memcpy(xsk->ifname, ifname, IFNAMSIZ - 1); xsk->ifname[IFNAMSIZ - 1] = '\0'; - if (rx) { + if (rx && !rx_setup_done) { err = setsockopt(xsk->fd, SOL_XDP, XDP_RX_RING, &xsk->config.rx_size, sizeof(xsk->config.rx_size)); @@ -645,8 +651,10 @@ err = -errno; goto out_socket; } + if (xsk->fd == umem->fd) + umem->rx_ring_setup_done = true; } - if (tx) { + if (tx && !tx_setup_done) { err = setsockopt(xsk->fd, SOL_XDP, XDP_TX_RING, &xsk->config.tx_size, sizeof(xsk->config.tx_size)); @@ -654,6 +662,8 @@ err = -errno; goto out_socket; } + if (xsk->fd == umem->fd) + umem->rx_ring_setup_done = true; } err = xsk_get_mmap_offsets(xsk->fd, &off); --- linux-riscv-5.8-5.8.0.orig/tools/lib/perf/evlist.c +++ linux-riscv-5.8-5.8.0/tools/lib/perf/evlist.c @@ -45,6 +45,9 @@ if (!evsel->own_cpus || evlist->has_user_cpus) { perf_cpu_map__put(evsel->cpus); evsel->cpus = perf_cpu_map__get(evlist->cpus); + } else if (!evsel->system_wide && perf_cpu_map__empty(evlist->cpus)) { + perf_cpu_map__put(evsel->cpus); + evsel->cpus = perf_cpu_map__get(evlist->cpus); } else if (evsel->cpus != evsel->own_cpus) { perf_cpu_map__put(evsel->cpus); evsel->cpus = perf_cpu_map__get(evsel->own_cpus); @@ -364,21 +367,13 @@ return map; } -static void perf_evlist__set_sid_idx(struct perf_evlist *evlist, - struct perf_evsel *evsel, int idx, int cpu, - int thread) +static void perf_evsel__set_sid_idx(struct perf_evsel *evsel, int idx, int cpu, int thread) { struct perf_sample_id *sid = SID(evsel, cpu, thread); sid->idx = idx; - if (evlist->cpus && cpu >= 0) - sid->cpu = evlist->cpus->map[cpu]; - else - sid->cpu = -1; - if (!evsel->system_wide && evlist->threads && thread >= 0) - sid->tid = perf_thread_map__pid(evlist->threads, thread); - else - sid->tid = -1; + sid->cpu = perf_cpu_map__cpu(evsel->cpus, cpu); + sid->tid = perf_thread_map__pid(evsel->threads, thread); } static struct perf_mmap* @@ -497,8 +492,7 @@ if (perf_evlist__id_add_fd(evlist, evsel, cpu, thread, fd) < 0) return -1; - perf_evlist__set_sid_idx(evlist, evsel, idx, cpu, - thread); + perf_evsel__set_sid_idx(evsel, idx, cpu, thread); } } --- linux-riscv-5.8-5.8.0.orig/tools/lib/perf/tests/test-cpumap.c +++ linux-riscv-5.8-5.8.0/tools/lib/perf/tests/test-cpumap.c @@ -27,5 +27,5 @@ perf_cpu_map__put(cpus); __T_END; - return 0; + return tests_failed == 0 ? 0 : -1; } --- linux-riscv-5.8-5.8.0.orig/tools/lib/perf/tests/test-evlist.c +++ linux-riscv-5.8-5.8.0/tools/lib/perf/tests/test-evlist.c @@ -215,6 +215,7 @@ sysfs__mountpoint()); if (filename__read_int(path, &id)) { + tests_failed++; fprintf(stderr, "error: failed to get tracepoint id: %s\n", path); return -1; } @@ -409,5 +410,5 @@ test_mmap_cpus(); __T_END; - return 0; + return tests_failed == 0 ? 0 : -1; } --- linux-riscv-5.8-5.8.0.orig/tools/lib/perf/tests/test-evsel.c +++ linux-riscv-5.8-5.8.0/tools/lib/perf/tests/test-evsel.c @@ -131,5 +131,5 @@ test_stat_thread_enable(); __T_END; - return 0; + return tests_failed == 0 ? 0 : -1; } --- linux-riscv-5.8-5.8.0.orig/tools/lib/perf/tests/test-threadmap.c +++ linux-riscv-5.8-5.8.0/tools/lib/perf/tests/test-threadmap.c @@ -27,5 +27,5 @@ perf_thread_map__put(threads); __T_END; - return 0; + return tests_failed == 0 ? 0 : -1; } --- linux-riscv-5.8-5.8.0.orig/tools/objtool/Makefile +++ linux-riscv-5.8-5.8.0/tools/objtool/Makefile @@ -3,15 +3,6 @@ include ../scripts/Makefile.arch # always use the host compiler -ifneq ($(LLVM),) -HOSTAR ?= llvm-ar -HOSTCC ?= clang -HOSTLD ?= ld.lld -else -HOSTAR ?= ar -HOSTCC ?= gcc -HOSTLD ?= ld -endif AR = $(HOSTAR) CC = $(HOSTCC) LD = $(HOSTLD) --- linux-riscv-5.8-5.8.0.orig/tools/objtool/check.c +++ linux-riscv-5.8-5.8.0/tools/objtool/check.c @@ -548,8 +548,9 @@ "__ubsan_handle_shift_out_of_bounds", /* misc */ "csum_partial_copy_generic", - "__memcpy_mcsafe", - "mcsafe_handle_tail", + "copy_mc_fragile", + "copy_mc_fragile_handle_tail", + "copy_mc_enhanced_fast_string", "ftrace_likely_update", /* CONFIG_TRACE_BRANCH_PROFILING */ NULL }; @@ -619,7 +620,7 @@ if (!is_static_jump(insn)) continue; - if (insn->ignore || insn->offset == FAKE_JUMP_OFFSET) + if (insn->offset == FAKE_JUMP_OFFSET) continue; rela = find_rela_by_dest_range(file->elf, insn->sec, @@ -690,8 +691,8 @@ * case where the parent function's only reference to a * subfunction is through a jump table. */ - if (!strstr(insn->func->name, ".cold.") && - strstr(insn->jump_dest->func->name, ".cold.")) { + if (!strstr(insn->func->name, ".cold") && + strstr(insn->jump_dest->func->name, ".cold")) { insn->func->cfunc = insn->jump_dest->func; insn->jump_dest->func->pfunc = insn->func; @@ -2501,15 +2502,19 @@ break; case INSN_STD: - if (state.df) + if (state.df) { WARN_FUNC("recursive STD", sec, insn->offset); + return 1; + } state.df = true; break; case INSN_CLD: - if (!state.df && func) + if (!state.df && func) { WARN_FUNC("redundant CLD", sec, insn->offset); + return 1; + } state.df = false; break; @@ -2855,14 +2860,10 @@ } out: - if (ret < 0) { - /* - * Fatal error. The binary is corrupt or otherwise broken in - * some way, or objtool itself is broken. Fail the kernel - * build. - */ - return ret; - } - + /* + * For now, don't fail the kernel build on fatal warnings. These + * errors are still fairly common due to the growing matrix of + * supported toolchains and their recent pace of change. + */ return 0; } --- linux-riscv-5.8-5.8.0.orig/tools/objtool/elf.c +++ linux-riscv-5.8-5.8.0/tools/objtool/elf.c @@ -354,8 +354,11 @@ symtab = find_section_by_name(elf, ".symtab"); if (!symtab) { - WARN("missing symbol table"); - return -1; + /* + * A missing symbol table is actually possible if it's an empty + * .o file. This can happen for thunk_64.o. + */ + return 0; } symtab_shndx = find_section_by_name(elf, ".symtab_shndx"); @@ -422,6 +425,13 @@ list_add(&sym->list, entry); elf_hash_add(elf->symbol_hash, &sym->hash, sym->idx); elf_hash_add(elf->symbol_name_hash, &sym->name_hash, str_hash(sym->name)); + + /* + * Don't store empty STT_NOTYPE symbols in the rbtree. They + * can exist within a function, confusing the sorting. + */ + if (!sym->len) + rb_erase(&sym->node, &sym->sec->symbol_tree); } if (stats) --- linux-riscv-5.8-5.8.0.orig/tools/perf/Documentation/perf-record.txt +++ linux-riscv-5.8-5.8.0/tools/perf/Documentation/perf-record.txt @@ -33,6 +33,10 @@ - a raw PMU event (eventsel+umask) in the form of rNNN where NNN is a hexadecimal event descriptor. + - a symbolic or raw PMU event followed by an optional colon + and a list of event modifiers, e.g., cpu-cycles:p. See the + linkperf:perf-list[1] man page for details on event modifiers. + - a symbolically formed PMU event like 'pmu/param1=0x3,param2/' where 'param1', 'param2', etc are defined as formats for the PMU in /sys/bus/event_source/devices//format/*. --- linux-riscv-5.8-5.8.0.orig/tools/perf/Documentation/perf-stat.txt +++ linux-riscv-5.8-5.8.0/tools/perf/Documentation/perf-stat.txt @@ -39,6 +39,10 @@ - a raw PMU event (eventsel+umask) in the form of rNNN where NNN is a hexadecimal event descriptor. + - a symbolic or raw PMU event followed by an optional colon + and a list of event modifiers, e.g., cpu-cycles:p. See the + linkperf:perf-list[1] man page for details on event modifiers. + - a symbolically formed event like 'pmu/param1=0x3,param2/' where param1 and param2 are defined as formats for the PMU in /sys/bus/event_source/devices//format/* @@ -376,6 +380,9 @@ hardware thread. This is essentially a replacement for the any bit and convenient for post processing. +--summary:: +Print summary for interval mode (-I). + EXAMPLES -------- --- linux-riscv-5.8-5.8.0.orig/tools/perf/Makefile.config +++ linux-riscv-5.8-5.8.0/tools/perf/Makefile.config @@ -716,12 +716,14 @@ endif endif -ifndef NO_GTK2 +ifdef GTK2 FLAGS_GTK2=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) + $(call feature_check,gtk2) ifneq ($(feature-gtk2), 1) msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev); NO_GTK2 := 1 else + $(call feature_check,gtk2-infobar) ifeq ($(feature-gtk2-infobar), 1) GTK_CFLAGS := -DHAVE_GTK_INFO_BAR_SUPPORT endif @@ -794,6 +796,11 @@ endif endif +ifdef HAVE_NO_LIBBFD + feature-libbfd := 0 + $(info libbfd overidden OFF) +else + ifeq ($(feature-libbfd), 1) EXTLIBS += -lbfd -lopcodes else @@ -817,6 +824,8 @@ $(call feature_check,disassembler-four-args) endif +endif + ifdef NO_DEMANGLE CFLAGS += -DNO_DEMANGLE else --- linux-riscv-5.8-5.8.0.orig/tools/perf/Makefile.perf +++ linux-riscv-5.8-5.8.0/tools/perf/Makefile.perf @@ -48,7 +48,7 @@ # # Define NO_SLANG if you do not want TUI support. # -# Define NO_GTK2 if you do not want GTK+ GUI support. +# Define GTK2 if you want GTK+ GUI support. # # Define NO_DEMANGLE if you do not want C++ symbol demangling. # @@ -173,10 +173,6 @@ LD += $(EXTRA_LDFLAGS) -HOSTCC ?= gcc -HOSTLD ?= ld -HOSTAR ?= ar - PKG_CONFIG = $(CROSS_COMPILE)pkg-config LLVM_CONFIG ?= llvm-config @@ -384,7 +380,7 @@ CFLAGS += -I$(OUTPUT) endif -ifndef NO_GTK2 +ifdef GTK2 ALL_PROGRAMS += $(OUTPUT)libperf-gtk.so GTK_IN := $(OUTPUT)gtk-in.o endif @@ -582,7 +578,7 @@ arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh $(arch_errno_name_array): $(arch_errno_tbl) - $(Q)$(SHELL) '$(arch_errno_tbl)' $(firstword $(CC)) $(arch_errno_hdr_dir) > $@ + $(Q)$(SHELL) '$(arch_errno_tbl)' '$(patsubst -%,,$(CC))' $(arch_errno_hdr_dir) > $@ sync_file_range_arrays := $(beauty_outdir)/sync_file_range_arrays.c sync_file_range_tbls := $(srctree)/tools/perf/trace/beauty/sync_file_range.sh @@ -876,7 +872,7 @@ ### Installation rules -ifndef NO_GTK2 +ifdef GTK2 install-gtk: $(OUTPUT)libperf-gtk.so $(call QUIET_INSTALL, 'GTK UI') \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(libdir_SQ)'; \ --- linux-riscv-5.8-5.8.0.orig/tools/perf/bench/Build +++ linux-riscv-5.8-5.8.0/tools/perf/bench/Build @@ -11,7 +11,6 @@ perf-y += synthesize.o perf-y += kallsyms-parse.o -perf-$(CONFIG_X86_64) += mem-memcpy-x86-64-lib.o perf-$(CONFIG_X86_64) += mem-memcpy-x86-64-asm.o perf-$(CONFIG_X86_64) += mem-memset-x86-64-asm.o --- linux-riscv-5.8-5.8.0.orig/tools/perf/bench/mem-functions.c +++ linux-riscv-5.8-5.8.0/tools/perf/bench/mem-functions.c @@ -223,12 +223,8 @@ return 0; } -static u64 do_memcpy_cycles(const struct function *r, size_t size, void *src, void *dst) +static void memcpy_prefault(memcpy_t fn, size_t size, void *src, void *dst) { - u64 cycle_start = 0ULL, cycle_end = 0ULL; - memcpy_t fn = r->fn.memcpy; - int i; - /* Make sure to always prefault zero pages even if MMAP_THRESH is crossed: */ memset(src, 0, size); @@ -237,6 +233,15 @@ * to not measure page fault overhead: */ fn(dst, src, size); +} + +static u64 do_memcpy_cycles(const struct function *r, size_t size, void *src, void *dst) +{ + u64 cycle_start = 0ULL, cycle_end = 0ULL; + memcpy_t fn = r->fn.memcpy; + int i; + + memcpy_prefault(fn, size, src, dst); cycle_start = get_cycles(); for (i = 0; i < nr_loops; ++i) @@ -252,11 +257,7 @@ memcpy_t fn = r->fn.memcpy; int i; - /* - * We prefault the freshly allocated memory range here, - * to not measure page fault overhead: - */ - fn(dst, src, size); + memcpy_prefault(fn, size, src, dst); BUG_ON(gettimeofday(&tv_start, NULL)); for (i = 0; i < nr_loops; ++i) --- linux-riscv-5.8-5.8.0.orig/tools/perf/bench/synthesize.c +++ linux-riscv-5.8-5.8.0/tools/perf/bench/synthesize.c @@ -162,8 +162,8 @@ init_stats(&event_stats); for (i = 0; i < multi_iterations; i++) { session = perf_session__new(NULL, false, NULL); - if (!session) - return -ENOMEM; + if (IS_ERR(session)) + return PTR_ERR(session); atomic_set(&event_count, 0); gettimeofday(&start, NULL); --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-ftrace.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-ftrace.c @@ -162,7 +162,7 @@ for (i = 0; i < perf_thread_map__nr(ftrace->evlist->core.threads); i++) { scnprintf(buf, sizeof(buf), "%d", - ftrace->evlist->core.threads->map[i]); + perf_thread_map__pid(ftrace->evlist->core.threads, i)); if (append_tracing_file("set_ftrace_pid", buf) < 0) return -1; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-inject.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-inject.c @@ -798,7 +798,7 @@ inject.tool.ordered_events = inject.sched_stat; data.path = inject.input_name; - inject.session = perf_session__new(&data, true, &inject.tool); + inject.session = perf_session__new(&data, inject.output.is_pipe, &inject.tool); if (IS_ERR(inject.session)) return PTR_ERR(inject.session); --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-lock.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-lock.c @@ -406,7 +406,7 @@ struct lock_seq_stat *seq; const char *name = evsel__strval(evsel, sample, "name"); u64 tmp = evsel__intval(evsel, sample, "lockdep_addr"); - int flag = evsel__intval(evsel, sample, "flag"); + int flag = evsel__intval(evsel, sample, "flags"); memcpy(&addr, &tmp, sizeof(void *)); @@ -621,7 +621,7 @@ case SEQ_STATE_READ_ACQUIRED: seq->read_count--; BUG_ON(seq->read_count < 0); - if (!seq->read_count) { + if (seq->read_count) { ls->nr_release++; goto end; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-record.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-record.c @@ -1489,7 +1489,7 @@ evlist__set_cb(rec->sb_evlist, record__process_signal_event, rec); rec->thread_id = pthread_self(); } - +#ifdef HAVE_LIBBPF_SUPPORT if (!opts->no_bpf_event) { if (rec->sb_evlist == NULL) { rec->sb_evlist = evlist__new(); @@ -1505,7 +1505,7 @@ return -1; } } - +#endif if (perf_evlist__start_sb_thread(rec->sb_evlist, &rec->opts.target)) { pr_debug("Couldn't start the BPF side band thread:\nBPF programs starting from now on won't be annotatable\n"); opts->no_bpf_event = true; @@ -2417,7 +2417,7 @@ OPT_BOOLEAN(0, "tail-synthesize", &record.opts.tail_synthesize, "synthesize non-sample events at the end of output"), OPT_BOOLEAN(0, "overwrite", &record.opts.overwrite, "use overwrite mode"), - OPT_BOOLEAN(0, "no-bpf-event", &record.opts.no_bpf_event, "record bpf events"), + OPT_BOOLEAN(0, "no-bpf-event", &record.opts.no_bpf_event, "do not record bpf events"), OPT_BOOLEAN(0, "strict-freq", &record.opts.strict_freq, "Fail if the specified frequency can't be used"), OPT_CALLBACK('F', "freq", &record.opts, "freq or 'max'", --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-sched.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-sched.c @@ -2575,7 +2575,8 @@ } if (!sched->idle_hist || thread->tid == 0) { - timehist_update_runtime_stats(tr, t, tprev); + if (!cpu_list || test_bit(sample->cpu, cpu_bitmap)) + timehist_update_runtime_stats(tr, t, tprev); if (sched->idle_hist) { struct idle_thread_runtime *itr = (void *)tr; @@ -2848,6 +2849,9 @@ printf("\nIdle stats:\n"); for (i = 0; i < idle_max_cpu; ++i) { + if (cpu_list && !test_bit(i, cpu_bitmap)) + continue; + t = idle_threads[i]; if (!t) continue; --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-stat.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-stat.c @@ -402,7 +402,7 @@ { struct evsel *counter; - if (!stat_config.summary && (read_affinity_counters(rs) < 0)) + if (!stat_config.stop_read_counter && (read_affinity_counters(rs) < 0)) return; evlist__for_each_entry(evsel_list, counter) { @@ -826,9 +826,9 @@ if (stat_config.walltime_run_table) stat_config.walltime_run[run_idx] = t1 - t0; - if (interval) { + if (interval && stat_config.summary) { stat_config.interval = 0; - stat_config.summary = true; + stat_config.stop_read_counter = true; init_stats(&walltime_nsecs_stats); update_stats(&walltime_nsecs_stats, t1 - t0); @@ -1066,6 +1066,8 @@ "Use with 'percore' event qualifier to show the event " "counts of one hardware thread by sum up total hardware " "threads of same physical core"), + OPT_BOOLEAN(0, "summary", &stat_config.summary, + "print summary for interval mode"), #ifdef HAVE_LIBPFM OPT_CALLBACK(0, "pfm-events", &evsel_list, "event", "libpfm4 event selector. use 'perf list' to list available events", @@ -1961,8 +1963,10 @@ struct evsel *counter; evlist__for_each_entry(evsel_list, counter) { - if (!counter->core.system_wide) + if (!counter->core.system_wide && + strcmp(counter->name, "duration_time")) { return; + } } if (evsel_list->core.nr_entries) --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-top.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-top.c @@ -1746,6 +1746,7 @@ goto out_delete_evlist; } +#ifdef HAVE_LIBBPF_SUPPORT if (!top.record_opts.no_bpf_event) { top.sb_evlist = evlist__new(); @@ -1759,6 +1760,7 @@ goto out_delete_evlist; } } +#endif if (perf_evlist__start_sb_thread(top.sb_evlist, target)) { pr_debug("Couldn't start the BPF side band thread:\nBPF programs starting from now on won't be annotatable\n"); --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-trace.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-trace.c @@ -1762,7 +1762,11 @@ if (table == NULL) return -ENOMEM; - memset(table + trace->sctbl->syscalls.max_id, 0, (id - trace->sctbl->syscalls.max_id) * sizeof(*sc)); + // Need to memset from offset 0 and +1 members if brand new + if (trace->syscalls.table == NULL) + memset(table, 0, (id + 1) * sizeof(*sc)); + else + memset(table + trace->sctbl->syscalls.max_id + 1, 0, (id - trace->sctbl->syscalls.max_id) * sizeof(*sc)); trace->syscalls.table = table; trace->sctbl->syscalls.max_id = id; @@ -4636,9 +4640,9 @@ err = 0; if (lists[0]) { - struct option o = OPT_CALLBACK('e', "event", &trace->evlist, "event", - "event selector. use 'perf list' to list available events", - parse_events_option); + struct option o = { + .value = &trace->evlist, + }; err = parse_events_option(&o, lists[0], 0); } out: @@ -4652,9 +4656,12 @@ { struct trace *trace = opt->value; - if (!list_empty(&trace->evlist->core.entries)) - return parse_cgroups(opt, str, unset); - + if (!list_empty(&trace->evlist->core.entries)) { + struct option o = { + .value = &trace->evlist, + }; + return parse_cgroups(&o, str, unset); + } trace->cgroup = evlist__findnew_cgroup(trace->evlist, str); return 0; --- linux-riscv-5.8-5.8.0.orig/tools/perf/builtin-version.c +++ linux-riscv-5.8-5.8.0/tools/perf/builtin-version.c @@ -60,7 +60,6 @@ STATUS(HAVE_DWARF_SUPPORT, dwarf); STATUS(HAVE_DWARF_GETLOCATIONS_SUPPORT, dwarf_getlocations); STATUS(HAVE_GLIBC_SUPPORT, glibc); - STATUS(HAVE_GTK2_SUPPORT, gtk2); #ifndef HAVE_SYSCALL_TABLE_SUPPORT STATUS(HAVE_LIBAUDIT_SUPPORT, libaudit); #endif --- linux-riscv-5.8-5.8.0.orig/tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json +++ linux-riscv-5.8-5.8.0/tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json @@ -114,7 +114,7 @@ "PublicDescription": "Level 2 access to instruciton TLB that caused a page table walk. This event counts on any instruciton access which causes L2I_TLB_REFILL to count", "EventCode": "0x35", "EventName": "L2I_TLB_ACCESS", - "BriefDescription": "L2D TLB access" + "BriefDescription": "L2I TLB access" }, { "PublicDescription": "Branch target buffer misprediction", --- linux-riscv-5.8-5.8.0.orig/tools/perf/pmu-events/arch/x86/amdzen1/cache.json +++ linux-riscv-5.8-5.8.0/tools/perf/pmu-events/arch/x86/amdzen1/cache.json @@ -250,6 +250,24 @@ "UMask": "0x1" }, { + "EventName": "l2_pf_hit_l2", + "EventCode": "0x70", + "BriefDescription": "L2 prefetch hit in L2.", + "UMask": "0xff" + }, + { + "EventName": "l2_pf_miss_l2_hit_l3", + "EventCode": "0x71", + "BriefDescription": "L2 prefetcher hits in L3. Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 cache and hit the L3.", + "UMask": "0xff" + }, + { + "EventName": "l2_pf_miss_l2_l3", + "EventCode": "0x72", + "BriefDescription": "L2 prefetcher misses in L3. All L2 prefetches accepted by the L2 pipeline which miss the L2 and the L3 caches.", + "UMask": "0xff" + }, + { "EventName": "l3_request_g1.caching_l3_cache_accesses", "EventCode": "0x01", "BriefDescription": "Caching: L3 cache accesses", --- linux-riscv-5.8-5.8.0.orig/tools/perf/pmu-events/jevents.c +++ linux-riscv-5.8-5.8.0/tools/perf/pmu-events/jevents.c @@ -137,7 +137,7 @@ return s; /* allocate space for a new string */ - fixed = (char *) malloc(len + 1); + fixed = (char *) malloc(len + esc_count + 1); if (!fixed) return NULL; --- linux-riscv-5.8-5.8.0.orig/tools/perf/tests/bp_signal.c +++ linux-riscv-5.8-5.8.0/tools/perf/tests/bp_signal.c @@ -45,10 +45,13 @@ #if defined (__x86_64__) extern void __test_function(volatile long *ptr); asm ( + ".pushsection .text;" ".globl __test_function\n" + ".type __test_function, @function;" "__test_function:\n" "incq (%rdi)\n" - "ret\n"); + "ret\n" + ".popsection\n"); #else static void __test_function(volatile long *ptr) { --- linux-riscv-5.8-5.8.0.orig/tools/perf/tests/parse-events.c +++ linux-riscv-5.8-5.8.0/tools/perf/tests/parse-events.c @@ -631,6 +631,34 @@ TEST_ASSERT_VAL("wrong val", term->val.num == 1); TEST_ASSERT_VAL("wrong config", !strcmp(term->config, "umask")); + /* + * read + * + * The perf_pmu__test_parse_init injects 'read' term into + * perf_pmu_events_list, so 'read' is evaluated as read term + * and not as raw event with 'ead' hex value. + */ + term = list_entry(term->list.next, struct parse_events_term, list); + TEST_ASSERT_VAL("wrong type term", + term->type_term == PARSE_EVENTS__TERM_TYPE_USER); + TEST_ASSERT_VAL("wrong type val", + term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); + TEST_ASSERT_VAL("wrong val", term->val.num == 1); + TEST_ASSERT_VAL("wrong config", !strcmp(term->config, "read")); + + /* + * r0xead + * + * To be still able to pass 'ead' value with 'r' syntax, + * we added support to parse 'r0xHEX' event. + */ + term = list_entry(term->list.next, struct parse_events_term, list); + TEST_ASSERT_VAL("wrong type term", + term->type_term == PARSE_EVENTS__TERM_TYPE_CONFIG); + TEST_ASSERT_VAL("wrong type val", + term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); + TEST_ASSERT_VAL("wrong val", term->val.num == 0xead); + TEST_ASSERT_VAL("wrong config", !term->config); return 0; } @@ -1776,7 +1804,7 @@ static struct terms_test test__terms[] = { [0] = { - .str = "config=10,config1,config2=3,umask=1", + .str = "config=10,config1,config2=3,umask=1,read,r0xead", .check = test__checkterms_simple, }, }; @@ -1836,6 +1864,13 @@ INIT_LIST_HEAD(&terms); + /* + * The perf_pmu__test_parse_init prepares perf_pmu_events_list + * which gets freed in parse_events_terms. + */ + if (perf_pmu__test_parse_init()) + return -1; + ret = parse_events_terms(&terms, t->str); if (ret) { pr_debug("failed to parse terms '%s', err %d\n", --- linux-riscv-5.8-5.8.0.orig/tools/perf/tests/pmu-events.c +++ linux-riscv-5.8-5.8.0/tools/perf/tests/pmu-events.c @@ -274,6 +274,7 @@ int res = 0; bool use_uncore_table; struct pmu_events_map *map = __test_pmu_get_events_map(); + struct perf_pmu_alias *a, *tmp; if (!map) return -1; @@ -347,6 +348,10 @@ pmu_name, alias->name); } + list_for_each_entry_safe(a, tmp, &aliases, list) { + list_del(&a->list); + perf_pmu_free_alias(a); + } free(pmu); return res; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/tests/pmu.c +++ linux-riscv-5.8-5.8.0/tools/perf/tests/pmu.c @@ -173,6 +173,7 @@ ret = 0; } while (0); + perf_pmu__del_formats(&formats); test_format_dir_put(format); return ret; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/tests/sample-parsing.c +++ linux-riscv-5.8-5.8.0/tools/perf/tests/sample-parsing.c @@ -193,7 +193,7 @@ .data = {1, -1ULL, 211, 212, 213}, }; u64 regs[64]; - const u64 raw_data[] = {0x123456780a0b0c0dULL, 0x1102030405060708ULL}; + const u32 raw_data[] = {0x12345678, 0x0a0b0c0d, 0x11020304, 0x05060708, 0 }; const u64 data[] = {0x2211443366558877ULL, 0, 0xaabbccddeeff4321ULL}; const u64 aux_data[] = {0xa55a, 0, 0xeeddee, 0x0282028202820282}; struct perf_sample sample = { --- linux-riscv-5.8-5.8.0.orig/tools/perf/ui/browsers/hists.c +++ linux-riscv-5.8-5.8.0/tools/perf/ui/browsers/hists.c @@ -2963,7 +2963,7 @@ struct popup_action actions[MAX_OPTIONS]; int nr_options = 0; int key = -1; - char buf[64]; + char buf[128]; int delay_secs = hbt ? hbt->refresh : 0; #define HIST_BROWSER_HELP_COMMON \ @@ -3629,8 +3629,8 @@ { int nr_entries = evlist->core.nr_entries; -single_entry: if (perf_evlist__single_entry(evlist)) { +single_entry: { struct evsel *first = evlist__first(evlist); return perf_evsel__hists_browse(first, nr_entries, help, @@ -3638,6 +3638,7 @@ env, warn_lost_event, annotation_opts); } + } if (symbol_conf.event_group) { struct evsel *pos; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/auxtrace.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/auxtrace.c @@ -300,10 +300,6 @@ queue->set = true; queue->tid = buffer->tid; queue->cpu = buffer->cpu; - } else if (buffer->cpu != queue->cpu || buffer->tid != queue->tid) { - pr_err("auxtrace queue conflict: cpu %d, tid %d vs cpu %d, tid %d\n", - queue->cpu, queue->tid, buffer->cpu, buffer->tid); - return -EINVAL; } buffer->buffer_nr = queues->next_buffer_nr++; @@ -640,7 +636,7 @@ break; } - if (itr) + if (itr && itr->parse_snapshot_options) return itr->parse_snapshot_options(itr, opts, str); pr_err("No AUX area tracing to snapshot\n"); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/block-info.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/block-info.c @@ -201,7 +201,7 @@ double ratio = 0.0; if (block_fmt->total_cycles) - ratio = (double)bi->cycles / (double)block_fmt->total_cycles; + ratio = (double)bi->cycles_aggr / (double)block_fmt->total_cycles; return color_pct(hpp, block_fmt->width, 100.0 * ratio); } @@ -216,9 +216,9 @@ double l, r; if (block_fmt->total_cycles) { - l = ((double)bi_l->cycles / + l = ((double)bi_l->cycles_aggr / (double)block_fmt->total_cycles) * 100000.0; - r = ((double)bi_r->cycles / + r = ((double)bi_r->cycles_aggr / (double)block_fmt->total_cycles) * 100000.0; return (int64_t)l - (int64_t)r; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/cs-etm.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/cs-etm.c @@ -1344,8 +1344,15 @@ attr.sample_type &= ~(u64)PERF_SAMPLE_ADDR; } - if (etm->synth_opts.last_branch) + if (etm->synth_opts.last_branch) { attr.sample_type |= PERF_SAMPLE_BRANCH_STACK; + /* + * We don't use the hardware index, but the sample generation + * code uses the new format branch_stack with this field, + * so the event attributes must indicate that it's present. + */ + attr.branch_sample_type |= PERF_SAMPLE_BRANCH_HW_INDEX; + } if (etm->synth_opts.instructions) { attr.config = PERF_COUNT_HW_INSTRUCTIONS; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/data.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/data.c @@ -35,7 +35,7 @@ int perf_data__create_dir(struct perf_data *data, int nr) { struct perf_data_file *files = NULL; - int i, ret = -1; + int i, ret; if (WARN_ON(!data->is_dir)) return -EINVAL; @@ -51,7 +51,8 @@ for (i = 0; i < nr; i++) { struct perf_data_file *file = &files[i]; - if (asprintf(&file->path, "%s/data.%d", data->path, i) < 0) + ret = asprintf(&file->path, "%s/data.%d", data->path, i); + if (ret < 0) goto out_err; ret = open(file->path, O_RDWR|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/dwarf-aux.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/dwarf-aux.c @@ -373,6 +373,7 @@ int die_entrypc(Dwarf_Die *dw_die, Dwarf_Addr *addr) { Dwarf_Addr base, end; + Dwarf_Attribute attr; if (!addr) return -EINVAL; @@ -380,6 +381,13 @@ if (dwarf_entrypc(dw_die, addr) == 0) return 0; + /* + * Since the dwarf_ranges() will return 0 if there is no + * DW_AT_ranges attribute, we should check it first. + */ + if (!dwarf_attr(dw_die, DW_AT_ranges, &attr)) + return -ENOENT; + return dwarf_ranges(dw_die, 0, &base, addr, &end) < 0 ? -ENOENT : 0; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/event.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/event.c @@ -615,6 +615,8 @@ } al->sym = map__find_symbol(al->map, al->addr); + } else if (symbol_conf.dso_list) { + al->filtered |= (1 << HIST_FILTER__DSO); } if (symbol_conf.sym_list) { --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/evlist.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/evlist.c @@ -946,6 +946,10 @@ perf_evlist__set_maps(&evlist->core, cpus, threads); + /* as evlist now has references, put count here */ + perf_cpu_map__put(cpus); + perf_thread_map__put(threads); + return 0; out_delete_threads: @@ -1273,11 +1277,12 @@ goto out_put; perf_evlist__set_maps(&evlist->core, cpus, threads); -out: - return err; + + perf_thread_map__put(threads); out_put: perf_cpu_map__put(cpus); - goto out; +out: + return err; } int evlist__open(struct evlist *evlist) --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/evsel.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/evsel.c @@ -1014,12 +1014,14 @@ if (callchain && callchain->enabled && !evsel->no_aux_samples) evsel__config_callchain(evsel, opts, callchain); - if (opts->sample_intr_regs && !evsel->no_aux_samples) { + if (opts->sample_intr_regs && !evsel->no_aux_samples && + !evsel__is_dummy_event(evsel)) { attr->sample_regs_intr = opts->sample_intr_regs; evsel__set_sample_bit(evsel, REGS_INTR); } - if (opts->sample_user_regs && !evsel->no_aux_samples) { + if (opts->sample_user_regs && !evsel->no_aux_samples && + !evsel__is_dummy_event(evsel)) { attr->sample_regs_user |= opts->sample_user_regs; evsel__set_sample_bit(evsel, REGS_USER); } --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c @@ -24,6 +24,13 @@ #include "intel-pt-decoder.h" #include "intel-pt-log.h" +#define BITULL(x) (1ULL << (x)) + +/* IA32_RTIT_CTL MSR bits */ +#define INTEL_PT_CYC_ENABLE BITULL(1) +#define INTEL_PT_CYC_THRESHOLD (BITULL(22) | BITULL(21) | BITULL(20) | BITULL(19)) +#define INTEL_PT_CYC_THRESHOLD_SHIFT 19 + #define INTEL_PT_BLK_SIZE 1024 #define BIT63 (((uint64_t)1 << 63)) @@ -162,6 +169,8 @@ uint64_t sample_tot_cyc_cnt; uint64_t base_cyc_cnt; uint64_t cyc_cnt_timestamp; + uint64_t ctl; + uint64_t cyc_threshold; double tsc_to_cyc; bool continuous_period; bool overflow; @@ -199,6 +208,14 @@ return x << i; } +static uint64_t intel_pt_cyc_threshold(uint64_t ctl) +{ + if (!(ctl & INTEL_PT_CYC_ENABLE)) + return 0; + + return (ctl & INTEL_PT_CYC_THRESHOLD) >> INTEL_PT_CYC_THRESHOLD_SHIFT; +} + static void intel_pt_setup_period(struct intel_pt_decoder *decoder) { if (decoder->period_type == INTEL_PT_PERIOD_TICKS) { @@ -238,12 +255,15 @@ decoder->flags = params->flags; + decoder->ctl = params->ctl; decoder->period = params->period; decoder->period_type = params->period_type; decoder->max_non_turbo_ratio = params->max_non_turbo_ratio; decoder->max_non_turbo_ratio_fp = params->max_non_turbo_ratio; + decoder->cyc_threshold = intel_pt_cyc_threshold(decoder->ctl); + intel_pt_setup_period(decoder); decoder->mtc_shift = params->mtc_period; @@ -1164,6 +1184,7 @@ return 0; if (err == -EAGAIN || intel_pt_fup_with_nlip(decoder, &intel_pt_insn, ip, err)) { + decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; if (intel_pt_fup_event(decoder)) return 0; return -EAGAIN; @@ -1744,6 +1765,9 @@ break; case INTEL_PT_CYC: + intel_pt_calc_cyc_timestamp(decoder); + break; + case INTEL_PT_VMCS: case INTEL_PT_MNT: case INTEL_PT_PAD: @@ -1876,6 +1900,7 @@ static int intel_pt_walk_trace(struct intel_pt_decoder *decoder) { + int last_packet_type = INTEL_PT_PAD; bool no_tip = false; int err; @@ -1884,6 +1909,12 @@ if (err) return err; next: + if (decoder->cyc_threshold) { + if (decoder->sample_cyc && last_packet_type != INTEL_PT_CYC) + decoder->sample_cyc = false; + last_packet_type = decoder->packet.type; + } + switch (decoder->packet.type) { case INTEL_PT_TNT: if (!decoder->packet.count) @@ -1942,17 +1973,13 @@ } if (decoder->set_fup_mwait) no_tip = true; + if (no_tip) + decoder->pkt_state = INTEL_PT_STATE_FUP_NO_TIP; + else + decoder->pkt_state = INTEL_PT_STATE_FUP; err = intel_pt_walk_fup(decoder); - if (err != -EAGAIN) { - if (err) - return err; - if (no_tip) - decoder->pkt_state = - INTEL_PT_STATE_FUP_NO_TIP; - else - decoder->pkt_state = INTEL_PT_STATE_FUP; - return 0; - } + if (err != -EAGAIN) + return err; if (no_tip) { no_tip = false; break; @@ -1980,8 +2007,10 @@ * possibility of another CBR change that gets caught up * in the PSB+. */ - if (decoder->cbr != decoder->cbr_seen) + if (decoder->cbr != decoder->cbr_seen) { + decoder->state.type = 0; return 0; + } break; case INTEL_PT_PIP: @@ -2022,8 +2051,10 @@ case INTEL_PT_CBR: intel_pt_calc_cbr(decoder); - if (decoder->cbr != decoder->cbr_seen) + if (decoder->cbr != decoder->cbr_seen) { + decoder->state.type = 0; return 0; + } break; case INTEL_PT_MODE_EXEC: @@ -2599,15 +2630,11 @@ err = intel_pt_walk_tip(decoder); break; case INTEL_PT_STATE_FUP: - decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; err = intel_pt_walk_fup(decoder); if (err == -EAGAIN) err = intel_pt_walk_fup_tip(decoder); - else if (!err) - decoder->pkt_state = INTEL_PT_STATE_FUP; break; case INTEL_PT_STATE_FUP_NO_TIP: - decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; err = intel_pt_walk_fup(decoder); if (err == -EAGAIN) err = intel_pt_walk_trace(decoder); @@ -2637,9 +2664,18 @@ } if (intel_pt_sample_time(decoder->pkt_state)) { intel_pt_update_sample_time(decoder); - if (decoder->sample_cyc) + if (decoder->sample_cyc) { decoder->sample_tot_cyc_cnt = decoder->tot_cyc_cnt; + decoder->state.flags |= INTEL_PT_SAMPLE_IPC; + decoder->sample_cyc = false; + } } + /* + * When using only TSC/MTC to compute cycles, IPC can be + * sampled as soon as the cycle count changes. + */ + if (!decoder->have_cyc) + decoder->state.flags |= INTEL_PT_SAMPLE_IPC; } decoder->state.timestamp = decoder->sample_timestamp; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/intel-pt-decoder/intel-pt-decoder.h +++ linux-riscv-5.8-5.8.0/tools/perf/util/intel-pt-decoder/intel-pt-decoder.h @@ -17,6 +17,7 @@ #define INTEL_PT_ABORT_TX (1 << 1) #define INTEL_PT_ASYNC (1 << 2) #define INTEL_PT_FUP_IP (1 << 3) +#define INTEL_PT_SAMPLE_IPC (1 << 4) enum intel_pt_sample_type { INTEL_PT_BRANCH = 1 << 0, @@ -243,6 +244,7 @@ void *data; bool return_compression; bool branch_enable; + uint64_t ctl; uint64_t period; enum intel_pt_period_type period_type; unsigned max_non_turbo_ratio; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/intel-pt.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/intel-pt.c @@ -864,6 +864,18 @@ return false; } +static u64 intel_pt_ctl(struct intel_pt *pt) +{ + struct evsel *evsel; + u64 config; + + evlist__for_each_entry(pt->session->evlist, evsel) { + if (intel_pt_get_config(pt, &evsel->core.attr, &config)) + return config; + } + return 0; +} + static u64 intel_pt_ns_to_ticks(const struct intel_pt *pt, u64 ns) { u64 quot, rem; @@ -997,6 +1009,7 @@ params.data = ptq; params.return_compression = intel_pt_return_compression(pt); params.branch_enable = intel_pt_branch_enable(pt); + params.ctl = intel_pt_ctl(pt); params.max_non_turbo_ratio = pt->max_non_turbo_ratio; params.mtc_period = intel_pt_mtc_period(pt); params.tsc_ctc_ratio_n = pt->tsc_ctc_ratio_n; @@ -1071,6 +1084,8 @@ if (queue->tid == -1 || pt->have_sched_switch) { ptq->tid = machine__get_current_tid(pt->machine, ptq->cpu); + if (ptq->tid == -1) + ptq->pid = -1; thread__zput(ptq->thread); } @@ -1349,7 +1364,8 @@ sample.branch_stack = (struct branch_stack *)&dummy_bs; } - sample.cyc_cnt = ptq->ipc_cyc_cnt - ptq->last_br_cyc_cnt; + if (ptq->state->flags & INTEL_PT_SAMPLE_IPC) + sample.cyc_cnt = ptq->ipc_cyc_cnt - ptq->last_br_cyc_cnt; if (sample.cyc_cnt) { sample.insn_cnt = ptq->ipc_insn_cnt - ptq->last_br_insn_cnt; ptq->last_br_insn_cnt = ptq->ipc_insn_cnt; @@ -1396,7 +1412,8 @@ sample.stream_id = ptq->pt->instructions_id; sample.period = ptq->state->tot_insn_cnt - ptq->last_insn_cnt; - sample.cyc_cnt = ptq->ipc_cyc_cnt - ptq->last_in_cyc_cnt; + if (ptq->state->flags & INTEL_PT_SAMPLE_IPC) + sample.cyc_cnt = ptq->ipc_cyc_cnt - ptq->last_in_cyc_cnt; if (sample.cyc_cnt) { sample.insn_cnt = ptq->ipc_insn_cnt - ptq->last_in_insn_cnt; ptq->last_in_insn_cnt = ptq->ipc_insn_cnt; @@ -1922,14 +1939,8 @@ ptq->have_sample = false; - if (ptq->state->tot_cyc_cnt > ptq->ipc_cyc_cnt) { - /* - * Cycle count and instruction count only go together to create - * a valid IPC ratio when the cycle count changes. - */ - ptq->ipc_insn_cnt = ptq->state->tot_insn_cnt; - ptq->ipc_cyc_cnt = ptq->state->tot_cyc_cnt; - } + ptq->ipc_insn_cnt = ptq->state->tot_insn_cnt; + ptq->ipc_cyc_cnt = ptq->state->tot_cyc_cnt; /* * Do PEBS first to allow for the possibility that the PEBS timestamp @@ -2561,10 +2572,8 @@ tid = sample->tid; } - if (tid == -1) { - pr_err("context_switch event has no tid\n"); - return -EINVAL; - } + if (tid == -1) + intel_pt_log("context_switch event has no tid\n"); intel_pt_log("context_switch: cpu %d pid %d tid %d time %"PRIu64" tsc %#"PRIx64"\n", cpu, pid, tid, sample->time, perf_time_to_tsc(sample->time, @@ -2913,8 +2922,15 @@ if (pt->synth_opts.callchain) attr.sample_type |= PERF_SAMPLE_CALLCHAIN; - if (pt->synth_opts.last_branch) + if (pt->synth_opts.last_branch) { attr.sample_type |= PERF_SAMPLE_BRANCH_STACK; + /* + * We don't use the hardware index, but the sample generation + * code uses the new format branch_stack with this field, + * so the event attributes must indicate that it's present. + */ + attr.branch_sample_type |= PERF_SAMPLE_BRANCH_HW_INDEX; + } if (pt->synth_opts.instructions) { attr.config = PERF_COUNT_HW_INSTRUCTIONS; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/machine.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/machine.c @@ -2921,7 +2921,7 @@ pid_t machine__get_current_tid(struct machine *machine, int cpu) { - int nr_cpus = min(machine->env->nr_cpus_online, MAX_NR_CPUS); + int nr_cpus = min(machine->env->nr_cpus_avail, MAX_NR_CPUS); if (cpu < 0 || cpu >= nr_cpus || !machine->current_tid) return -1; @@ -2933,7 +2933,7 @@ pid_t tid) { struct thread *thread; - int nr_cpus = min(machine->env->nr_cpus_online, MAX_NR_CPUS); + int nr_cpus = min(machine->env->nr_cpus_avail, MAX_NR_CPUS); if (cpu < 0) return -EINVAL; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/map.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/map.c @@ -92,8 +92,7 @@ if (strstarts(filename, "/system/lib/")) { char *ndk, *app; const char *arch; - size_t ndk_length; - size_t app_length; + int ndk_length, app_length; ndk = getenv("NDK_ROOT"); app = getenv("APP_PLATFORM"); @@ -121,8 +120,8 @@ if (new_length > PATH_MAX) return false; snprintf(newfilename, new_length, - "%s/platforms/%s/arch-%s/usr/lib/%s", - ndk, app, arch, libname); + "%.*s/platforms/%.*s/arch-%s/usr/lib/%s", + ndk_length, ndk, app_length, app, arch, libname); return true; } @@ -833,15 +832,18 @@ int maps__clone(struct thread *thread, struct maps *parent) { struct maps *maps = thread->maps; - int err = -ENOMEM; + int err; struct map *map; down_read(&parent->lock); maps__for_each_entry(parent, map) { struct map *new = map__clone(map); - if (new == NULL) + + if (new == NULL) { + err = -ENOMEM; goto out_unlock; + } err = unwind__prepare_access(maps, new, NULL); if (err) --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/metricgroup.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/metricgroup.c @@ -443,6 +443,9 @@ continue; strlist__add(me->metrics, s); } + + if (!raw) + free(s); } free(omg); } @@ -726,7 +729,7 @@ ret = metricgroup__add_metric_list(str, metric_no_group, &extra_events, &group_list); if (ret) - return ret; + goto out; pr_debug("adding %s\n", extra_events.buf); bzero(&parse_error, sizeof(parse_error)); ret = parse_events(perf_evlist, extra_events.buf, &parse_error); @@ -734,11 +737,11 @@ parse_events_print_error(&parse_error, extra_events.buf); goto out; } - strbuf_release(&extra_events); ret = metricgroup__setup_events(&group_list, metric_no_merge, perf_evlist, metric_events); out: metricgroup__free_egroups(&group_list); + strbuf_release(&extra_events); return ret; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/parse-events.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/parse-events.c @@ -410,7 +410,7 @@ return -ENOMEM; evsel->tool_event = tool_event; if (tool_event == PERF_TOOL_DURATION_TIME) - evsel->unit = strdup("ns"); + evsel->unit = "ns"; return 0; } @@ -2017,6 +2017,32 @@ perf_pmu__parse_cleanup(); } +/* + * This function injects special term in + * perf_pmu_events_list so the test code + * can check on this functionality. + */ +int perf_pmu__test_parse_init(void) +{ + struct perf_pmu_event_symbol *list; + + list = malloc(sizeof(*list) * 1); + if (!list) + return -ENOMEM; + + list->type = PMU_EVENT_SYMBOL; + list->symbol = strdup("read"); + + if (!list->symbol) { + free(list); + return -ENOMEM; + } + + perf_pmu_events_list = list; + perf_pmu_events_list_num = 1; + return 0; +} + enum perf_pmu_event_symbol_type perf_pmu__parse_check(const char *name) { @@ -2078,6 +2104,8 @@ int ret; ret = parse_events__scanner(str, &parse_state); + perf_pmu__parse_cleanup(); + if (!ret) { list_splice(parse_state.terms, terms); zfree(&parse_state.terms); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/parse-events.h +++ linux-riscv-5.8-5.8.0/tools/perf/util/parse-events.h @@ -253,4 +253,6 @@ } #endif /* HAVE_LIBELF_SUPPORT */ +int perf_pmu__test_parse_init(void); + #endif /* __PERF_PARSE_EVENTS_H */ --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/parse-events.l +++ linux-riscv-5.8-5.8.0/tools/perf/util/parse-events.l @@ -41,14 +41,6 @@ return __value(yylval, text, base, PE_VALUE); } -static int raw(yyscan_t scanner) -{ - YYSTYPE *yylval = parse_events_get_lval(scanner); - char *text = parse_events_get_text(scanner); - - return __value(yylval, text + 1, 16, PE_RAW); -} - static int str(yyscan_t scanner, int token) { YYSTYPE *yylval = parse_events_get_lval(scanner); @@ -72,6 +64,17 @@ return token; } +static int raw(yyscan_t scanner) +{ + YYSTYPE *yylval = parse_events_get_lval(scanner); + char *text = parse_events_get_text(scanner); + + if (perf_pmu__parse_check(text) == PMU_EVENT_SYMBOL) + return str(scanner, PE_NAME); + + return __value(yylval, text + 1, 16, PE_RAW); +} + static bool isbpf_suffix(char *text) { int len = strlen(text); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/parse-regs-options.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/parse-regs-options.c @@ -54,7 +54,7 @@ #endif fputc('\n', stderr); /* just printing available regs */ - return -1; + goto error; } #ifdef HAVE_PERF_REGS_SUPPORT for (r = sample_reg_masks; r->name; r++) { --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/pmu.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/pmu.c @@ -272,7 +272,7 @@ } /* Delete an alias entry. */ -static void perf_pmu_free_alias(struct perf_pmu_alias *newalias) +void perf_pmu_free_alias(struct perf_pmu_alias *newalias) { zfree(&newalias->name); zfree(&newalias->desc); @@ -1352,6 +1352,17 @@ set_bit(b, bits); } +void perf_pmu__del_formats(struct list_head *formats) +{ + struct perf_pmu_format *fmt, *tmp; + + list_for_each_entry_safe(fmt, tmp, formats, list) { + list_del(&fmt->list); + free(fmt->name); + free(fmt); + } +} + static int sub_non_neg(int a, int b) { if (b > a) --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/pmu.h +++ linux-riscv-5.8-5.8.0/tools/perf/util/pmu.h @@ -92,6 +92,7 @@ int config, unsigned long *bits); void perf_pmu__set_format(unsigned long *bits, long from, long to); int perf_pmu__format_parse(char *dir, struct list_head *head); +void perf_pmu__del_formats(struct list_head *formats); struct perf_pmu *perf_pmu__scan(struct perf_pmu *pmu); @@ -111,6 +112,7 @@ struct pmu_events_map *perf_pmu__find_map(struct perf_pmu *pmu); bool pmu_uncore_alias_match(const char *pmu_name, const char *name); +void perf_pmu_free_alias(struct perf_pmu_alias *alias); int perf_pmu__convert_scale(const char *scale, char **end, double *sval); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/print_binary.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/print_binary.c @@ -50,7 +50,7 @@ len--; - for (i = 0; i < len; i++) { + for (i = 0; i < len && p[i]; i++) { if (!isprint(p[i]) && !isspace(p[i])) return 0; } --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/probe-file.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/probe-file.c @@ -791,7 +791,7 @@ const char *sdtgrp) { struct strbuf buf; - char *ret = NULL, **args; + char *ret = NULL; int i, args_count, err; unsigned long long ref_ctr_offset; @@ -813,12 +813,19 @@ goto out; if (note->args) { - args = argv_split(note->args, &args_count); + char **args = argv_split(note->args, &args_count); + + if (args == NULL) + goto error; for (i = 0; i < args_count; ++i) { - if (synthesize_sdt_probe_arg(&buf, i, args[i]) < 0) + if (synthesize_sdt_probe_arg(&buf, i, args[i]) < 0) { + argv_free(args); goto error; + } } + + argv_free(args); } out: --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/probe-finder.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/probe-finder.c @@ -1408,6 +1408,9 @@ char *type; int i, j, ret; + if (!ntevs) + return -ENOENT; + for (i = 0; i < pev->nargs; i++) { type = NULL; for (j = 0; j < ntevs; j++) { @@ -1464,7 +1467,7 @@ if (ret >= 0 && tf.pf.skip_empty_arg) ret = fill_empty_trace_arg(pev, tf.tevs, tf.ntevs); - if (ret < 0) { + if (ret < 0 || tf.ntevs == 0) { for (i = 0; i < tf.ntevs; i++) clear_probe_trace_event(&tf.tevs[i]); zfree(tevs); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/record.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/record.c @@ -2,6 +2,7 @@ #include "debug.h" #include "evlist.h" #include "evsel.h" +#include "evsel_config.h" #include "parse-events.h" #include #include @@ -33,11 +34,24 @@ return leader; } +static u64 evsel__config_term_mask(struct evsel *evsel) +{ + struct evsel_config_term *term; + struct list_head *config_terms = &evsel->config_terms; + u64 term_types = 0; + + list_for_each_entry(term, config_terms, list) { + term_types |= 1 << term->type; + } + return term_types; +} + static void evsel__config_leader_sampling(struct evsel *evsel, struct evlist *evlist) { struct perf_event_attr *attr = &evsel->core.attr; struct evsel *leader = evsel->leader; struct evsel *read_sampler; + u64 term_types, freq_mask; if (!leader->sample_read) return; @@ -47,16 +61,20 @@ if (evsel == read_sampler) return; + term_types = evsel__config_term_mask(evsel); /* - * Disable sampling for all group members other than the leader in - * case the leader 'leads' the sampling, except when the leader is an - * AUX area event, in which case the 2nd event in the group is the one - * that 'leads' the sampling. + * Disable sampling for all group members except those with explicit + * config terms or the leader. In the case of an AUX area event, the 2nd + * event in the group is the one that 'leads' the sampling. */ - attr->freq = 0; - attr->sample_freq = 0; - attr->sample_period = 0; - attr->write_backward = 0; + freq_mask = (1 << EVSEL__CONFIG_TERM_FREQ) | (1 << EVSEL__CONFIG_TERM_PERIOD); + if ((term_types & freq_mask) == 0) { + attr->freq = 0; + attr->sample_freq = 0; + attr->sample_period = 0; + } + if ((term_types & (1 << EVSEL__CONFIG_TERM_OVERWRITE)) == 0) + attr->write_backward = 0; /* * We don't get a sample for slave events, we make them when delivering --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/scripting-engines/trace-event-python.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/scripting-engines/trace-event-python.c @@ -1592,7 +1592,6 @@ static int python_start_script(const char *script, int argc, const char **argv) { struct tables *tables = &tables_global; - PyMODINIT_FUNC (*initfunc)(void); #if PY_MAJOR_VERSION < 3 const char **command_line; #else @@ -1607,20 +1606,18 @@ FILE *fp; #if PY_MAJOR_VERSION < 3 - initfunc = initperf_trace_context; command_line = malloc((argc + 1) * sizeof(const char *)); command_line[0] = script; for (i = 1; i < argc + 1; i++) command_line[i] = argv[i - 1]; + PyImport_AppendInittab(name, initperf_trace_context); #else - initfunc = PyInit_perf_trace_context; command_line = malloc((argc + 1) * sizeof(wchar_t *)); command_line[0] = Py_DecodeLocale(script, NULL); for (i = 1; i < argc + 1; i++) command_line[i] = Py_DecodeLocale(argv[i - 1], NULL); + PyImport_AppendInittab(name, PyInit_perf_trace_context); #endif - - PyImport_AppendInittab(name, initfunc); Py_Initialize(); #if PY_MAJOR_VERSION < 3 --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/session.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/session.c @@ -87,7 +87,7 @@ session->decomp_last = decomp; } - pr_debug("decomp (B): %ld to %ld\n", src_size, decomp_size); + pr_debug("decomp (B): %zd to %zd\n", src_size, decomp_size); return 0; } @@ -593,6 +593,7 @@ event->mmap2.maj = bswap_32(event->mmap2.maj); event->mmap2.min = bswap_32(event->mmap2.min); event->mmap2.ino = bswap_64(event->mmap2.ino); + event->mmap2.ino_generation = bswap_64(event->mmap2.ino_generation); if (sample_id_all) { void *data = &event->mmap2.filename; @@ -690,6 +691,18 @@ swap_sample_id_all(event, &event->namespaces.link_info[i]); } +static void perf_event__cgroup_swap(union perf_event *event, bool sample_id_all) +{ + event->cgroup.id = bswap_64(event->cgroup.id); + + if (sample_id_all) { + void *data = &event->cgroup.path; + + data += PERF_ALIGN(strlen(data) + 1, sizeof(u64)); + swap_sample_id_all(event, data); + } +} + static u8 revbyte(u8 b) { int rev = (b >> 4) | ((b & 0xf) << 4); @@ -932,6 +945,7 @@ [PERF_RECORD_SWITCH] = perf_event__switch_swap, [PERF_RECORD_SWITCH_CPU_WIDE] = perf_event__switch_swap, [PERF_RECORD_NAMESPACES] = perf_event__namespaces_swap, + [PERF_RECORD_CGROUP] = perf_event__cgroup_swap, [PERF_RECORD_HEADER_ATTR] = perf_event__hdr_attr_swap, [PERF_RECORD_HEADER_EVENT_TYPE] = perf_event__event_type_swap, [PERF_RECORD_HEADER_TRACING_DATA] = perf_event__tracing_data_swap, @@ -2360,7 +2374,7 @@ { int i, err = -1; struct perf_cpu_map *map; - int nr_cpus = min(session->header.env.nr_cpus_online, MAX_NR_CPUS); + int nr_cpus = min(session->header.env.nr_cpus_avail, MAX_NR_CPUS); for (i = 0; i < PERF_TYPE_MAX; ++i) { struct evsel *evsel; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/sort.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/sort.c @@ -3003,7 +3003,7 @@ if (strncasecmp(tok, sd->name, strlen(tok))) continue; - if (sort__mode != SORT_MODE__MEMORY) + if (sort__mode != SORT_MODE__BRANCH) return -EINVAL; return __sort_dimension__add_output(list, sd); @@ -3015,7 +3015,7 @@ if (strncasecmp(tok, sd->name, strlen(tok))) continue; - if (sort__mode != SORT_MODE__BRANCH) + if (sort__mode != SORT_MODE__MEMORY) return -EINVAL; return __sort_dimension__add_output(list, sd); --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/stat-display.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/stat-display.c @@ -118,10 +118,11 @@ config->csv_output ? 0 : -3, cpu_map__id_to_cpu(id), config->csv_sep); } else { - fprintf(config->output, "CPU%*d%s", - config->csv_output ? 0 : -7, - evsel__cpus(evsel)->map[id], - config->csv_sep); + if (id > -1) + fprintf(config->output, "CPU%*d%s", + config->csv_output ? 0 : -7, + evsel__cpus(evsel)->map[id], + config->csv_sep); } break; case AGGR_THREAD: @@ -324,13 +325,10 @@ struct evlist *evlist = evsel->evlist; int i; - if (!config->aggr_get_id) - return 0; - if (config->aggr_mode == AGGR_NONE) return id; - if (config->aggr_mode == AGGR_GLOBAL) + if (!config->aggr_get_id) return 0; for (i = 0; i < evsel__nr_cpus(evsel); i++) { --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/stat.h +++ linux-riscv-5.8-5.8.0/tools/perf/util/stat.h @@ -113,6 +113,7 @@ bool summary; bool metric_no_group; bool metric_no_merge; + bool stop_read_counter; FILE *output; unsigned int interval; unsigned int timeout; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/synthetic-events.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/synthetic-events.c @@ -384,7 +384,7 @@ while (!io.eof) { static const char anonstr[] = "//anon"; - size_t size; + size_t size, aligned_size; /* ensure null termination since stack will be reused. */ event->mmap2.filename[0] = '\0'; @@ -444,11 +444,12 @@ } size = strlen(event->mmap2.filename) + 1; - size = PERF_ALIGN(size, sizeof(u64)); + aligned_size = PERF_ALIGN(size, sizeof(u64)); event->mmap2.len -= event->mmap.start; event->mmap2.header.size = (sizeof(event->mmap2) - - (sizeof(event->mmap2.filename) - size)); - memset(event->mmap2.filename + size, 0, machine->id_hdr_size); + (sizeof(event->mmap2.filename) - aligned_size)); + memset(event->mmap2.filename + size, 0, machine->id_hdr_size + + (aligned_size - size)); event->mmap2.header.size += machine->id_hdr_size; event->mmap2.pid = tgid; event->mmap2.tid = pid; @@ -563,6 +564,9 @@ char cgrp_root[PATH_MAX]; size_t mount_len; /* length of mount point in the path */ + if (!tool || !tool->cgroup_events) + return 0; + if (cgroupfs_find_mountpoint(cgrp_root, PATH_MAX, "perf_event") < 0) { pr_debug("cannot find cgroup mount point\n"); return -1; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/trace-event-read.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/trace-event-read.c @@ -361,6 +361,7 @@ pr_debug("error reading saved cmdlines\n"); goto out; } + buf[ret] = '\0'; parse_saved_cmdline(pevent, buf, size); ret = 0; --- linux-riscv-5.8-5.8.0.orig/tools/perf/util/zstd.c +++ linux-riscv-5.8-5.8.0/tools/perf/util/zstd.c @@ -99,7 +99,7 @@ while (input.pos < input.size) { ret = ZSTD_decompressStream(data->dstream, &output, &input); if (ZSTD_isError(ret)) { - pr_err("failed to decompress (B): %ld -> %ld, dst_size %ld : %s\n", + pr_err("failed to decompress (B): %zd -> %zd, dst_size %zd : %s\n", src_size, output.size, dst_size, ZSTD_getErrorName(ret)); break; } --- linux-riscv-5.8-5.8.0.orig/tools/power/acpi/Makefile.config +++ linux-riscv-5.8-5.8.0/tools/power/acpi/Makefile.config @@ -54,7 +54,6 @@ CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc- CROSS_COMPILE ?= $(CROSS) LD = $(CC) -HOSTCC = gcc # check if compiler option is supported cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} --- linux-riscv-5.8-5.8.0.orig/tools/power/acpi/Makefile.rules +++ linux-riscv-5.8-5.8.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) $(LDFLAGS) $(toolobjs) -L$(OUTPUT) -o $@ + $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(toolobjs) -L$(OUTPUT) -o $@ $(ECHO) " STRIP " $(subst $(OUTPUT),,$@) $(QUIET) $(STRIPCMD) $@ --- linux-riscv-5.8-5.8.0.orig/tools/power/x86/intel-speed-select/isst-config.c +++ linux-riscv-5.8-5.8.0/tools/power/x86/intel-speed-select/isst-config.c @@ -1224,6 +1224,8 @@ isst_ctdp_display_information_end(outf); } +static void adjust_scaling_max_from_base_freq(int cpu); + static void set_tdp_level_for_cpu(int cpu, void *arg1, void *arg2, void *arg3, void *arg4) { @@ -1242,6 +1244,9 @@ int pkg_id = get_physical_package_id(cpu); int die_id = get_physical_die_id(cpu); + /* Wait for updated base frequencies */ + usleep(2000); + fprintf(stderr, "Option is set to online/offline\n"); ctdp_level.core_cpumask_size = alloc_cpu_set(&ctdp_level.core_cpumask); @@ -1254,6 +1259,7 @@ if (CPU_ISSET_S(i, ctdp_level.core_cpumask_size, ctdp_level.core_cpumask)) { fprintf(stderr, "online cpu %d\n", i); set_cpu_online_offline(i, 1); + adjust_scaling_max_from_base_freq(i); } else { fprintf(stderr, "offline cpu %d\n", i); set_cpu_online_offline(i, 0); @@ -1411,6 +1417,31 @@ return 0; } +static int no_turbo(void) +{ + return parse_int_file(0, "/sys/devices/system/cpu/intel_pstate/no_turbo"); +} + +static void adjust_scaling_max_from_base_freq(int cpu) +{ + int base_freq, scaling_max_freq; + + scaling_max_freq = parse_int_file(0, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_max_freq", cpu); + base_freq = get_cpufreq_base_freq(cpu); + if (scaling_max_freq < base_freq || no_turbo()) + set_cpufreq_scaling_min_max(cpu, 1, base_freq); +} + +static void adjust_scaling_min_from_base_freq(int cpu) +{ + int base_freq, scaling_min_freq; + + scaling_min_freq = parse_int_file(0, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_min_freq", cpu); + base_freq = get_cpufreq_base_freq(cpu); + if (scaling_min_freq < base_freq) + set_cpufreq_scaling_min_max(cpu, 0, base_freq); +} + static int set_clx_pbf_cpufreq_scaling_min_max(int cpu) { struct isst_pkg_ctdp_level_info *ctdp_level; @@ -1508,6 +1539,7 @@ continue; set_cpufreq_scaling_min_max_from_cpuinfo(i, 1, 0); + adjust_scaling_min_from_base_freq(i); } } --- linux-riscv-5.8-5.8.0.orig/tools/power/x86/turbostat/Makefile +++ linux-riscv-5.8-5.8.0/tools/power/x86/turbostat/Makefile @@ -16,7 +16,7 @@ %: %.c @mkdir -p $(BUILD_OUTPUT) - $(CC) $(CFLAGS) $< -o $(BUILD_OUTPUT)/$@ $(LDFLAGS) -lcap + $(CC) $(CFLAGS) $< -o $(BUILD_OUTPUT)/$@ $(LDFLAGS) .PHONY : clean clean : --- linux-riscv-5.8-5.8.0.orig/tools/power/x86/turbostat/turbostat.c +++ linux-riscv-5.8-5.8.0/tools/power/x86/turbostat/turbostat.c @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include @@ -3150,42 +3150,28 @@ err(-5, "no /dev/cpu/0/msr, Try \"# modprobe msr\" "); } -/* - * check for CAP_SYS_RAWIO - * return 0 on success - * return 1 on fail - */ -int check_for_cap_sys_rawio(void) +void check_permissions() { - cap_t caps; - cap_flag_value_t cap_flag_value; - - caps = cap_get_proc(); - if (caps == NULL) - err(-6, "cap_get_proc\n"); + struct __user_cap_header_struct cap_header_data; + cap_user_header_t cap_header = &cap_header_data; + struct __user_cap_data_struct cap_data_data; + cap_user_data_t cap_data = &cap_data_data; + extern int capget(cap_user_header_t hdrp, cap_user_data_t datap); + int do_exit = 0; + char pathname[32]; - if (cap_get_flag(caps, CAP_SYS_RAWIO, CAP_EFFECTIVE, &cap_flag_value)) - err(-6, "cap_get\n"); + /* check for CAP_SYS_RAWIO */ + cap_header->pid = getpid(); + cap_header->version = _LINUX_CAPABILITY_VERSION; + if (capget(cap_header, cap_data) < 0) + err(-6, "capget(2) failed"); - if (cap_flag_value != CAP_SET) { + if ((cap_data->effective & (1 << CAP_SYS_RAWIO)) == 0) { + do_exit++; warnx("capget(CAP_SYS_RAWIO) failed," " try \"# setcap cap_sys_rawio=ep %s\"", progname); - return 1; } - if (cap_free(caps) == -1) - err(-6, "cap_free\n"); - - return 0; -} -void check_permissions(void) -{ - int do_exit = 0; - char pathname[32]; - - /* check for CAP_SYS_RAWIO */ - do_exit += check_for_cap_sys_rawio(); - /* test file permissions */ sprintf(pathname, "/dev/cpu/%d/msr", base_cpu); if (euidaccess(pathname, R_OK)) { --- linux-riscv-5.8-5.8.0.orig/tools/scripts/Makefile.include +++ linux-riscv-5.8-5.8.0/tools/scripts/Makefile.include @@ -59,6 +59,16 @@ $(call allow-override,CXX,$(CROSS_COMPILE)g++) $(call allow-override,STRIP,$(CROSS_COMPILE)strip) +ifneq ($(LLVM),) +HOSTAR ?= llvm-ar +HOSTCC ?= clang +HOSTLD ?= ld.lld +else +HOSTAR ?= ar +HOSTCC ?= gcc +HOSTLD ?= ld +endif + ifeq ($(CC_NO_CLANG), 1) EXTRA_WARNINGS += -Wstrict-aliasing=3 endif --- linux-riscv-5.8-5.8.0.orig/tools/testing/ktest/ktest.pl +++ linux-riscv-5.8-5.8.0/tools/testing/ktest/ktest.pl @@ -2008,7 +2008,7 @@ if ($reboot_type eq "grub") { run_ssh "'(echo \"savedefault --default=$grub_number --once\" | grub --batch)'"; - } elsif ($reboot_type eq "grub2") { + } elsif (($reboot_type eq "grub2") or ($reboot_type eq "grub2bls")) { run_ssh "$grub_reboot $grub_number"; } elsif ($reboot_type eq "syslinux") { run_ssh "$syslinux --once \\\"$syslinux_label\\\" $syslinux_path"; @@ -4197,7 +4197,12 @@ $mail_command =~ s/\$SUBJECT/$subject/g; $mail_command =~ s/\$MESSAGE/$message/g; - run_command $mail_command; + my $ret = run_command $mail_command; + if (!$ret && defined($file)) { + # try again without the file + $message .= "\n\n*** FAILED TO SEND LOG ***\n\n"; + do_send_email($subject, $message); + } } sub send_email { --- linux-riscv-5.8-5.8.0.orig/tools/testing/kunit/kunit.py +++ linux-riscv-5.8-5.8.0/tools/testing/kunit/kunit.py @@ -240,12 +240,6 @@ if cli_args.subcommand == 'run': if not os.path.exists(cli_args.build_dir): os.mkdir(cli_args.build_dir) - kunit_kernel.kunitconfig_path = os.path.join( - cli_args.build_dir, - kunit_kernel.kunitconfig_path) - - if not os.path.exists(kunit_kernel.kunitconfig_path): - create_default_kunitconfig() if not linux: linux = kunit_kernel.LinuxSourceTree() @@ -263,12 +257,6 @@ if cli_args.build_dir: if not os.path.exists(cli_args.build_dir): os.mkdir(cli_args.build_dir) - kunit_kernel.kunitconfig_path = os.path.join( - cli_args.build_dir, - kunit_kernel.kunitconfig_path) - - if not os.path.exists(kunit_kernel.kunitconfig_path): - create_default_kunitconfig() if not linux: linux = kunit_kernel.LinuxSourceTree() @@ -285,12 +273,6 @@ if cli_args.build_dir: if not os.path.exists(cli_args.build_dir): os.mkdir(cli_args.build_dir) - kunit_kernel.kunitconfig_path = os.path.join( - cli_args.build_dir, - kunit_kernel.kunitconfig_path) - - if not os.path.exists(kunit_kernel.kunitconfig_path): - create_default_kunitconfig() if not linux: linux = kunit_kernel.LinuxSourceTree() @@ -309,12 +291,6 @@ if cli_args.build_dir: if not os.path.exists(cli_args.build_dir): os.mkdir(cli_args.build_dir) - kunit_kernel.kunitconfig_path = os.path.join( - cli_args.build_dir, - kunit_kernel.kunitconfig_path) - - if not os.path.exists(kunit_kernel.kunitconfig_path): - create_default_kunitconfig() if not linux: linux = kunit_kernel.LinuxSourceTree() --- linux-riscv-5.8-5.8.0.orig/tools/testing/kunit/kunit_config.py +++ linux-riscv-5.8-5.8.0/tools/testing/kunit/kunit_config.py @@ -12,7 +12,7 @@ CONFIG_IS_NOT_SET_PATTERN = r'^# CONFIG_(\w+) is not set$' CONFIG_PATTERN = r'^CONFIG_(\w+)=(\S+|".*")$' -KconfigEntryBase = collections.namedtuple('KconfigEntry', ['name', 'value']) +KconfigEntryBase = collections.namedtuple('KconfigEntryBase', ['name', 'value']) class KconfigEntry(KconfigEntryBase): --- linux-riscv-5.8-5.8.0.orig/tools/testing/kunit/kunit_kernel.py +++ linux-riscv-5.8-5.8.0/tools/testing/kunit/kunit_kernel.py @@ -34,7 +34,7 @@ def make_mrproper(self): try: - subprocess.check_output(['make', 'mrproper']) + subprocess.check_output(['make', 'mrproper'], stderr=subprocess.STDOUT) except OSError as e: raise ConfigError('Could not call make command: ' + e) except subprocess.CalledProcessError as e: @@ -47,7 +47,7 @@ if build_dir: command += ['O=' + build_dir] try: - subprocess.check_output(command, stderr=subprocess.PIPE) + subprocess.check_output(command, stderr=subprocess.STDOUT) except OSError as e: raise ConfigError('Could not call make command: ' + e) except subprocess.CalledProcessError as e: @@ -77,7 +77,7 @@ if build_dir: command += ['O=' + build_dir] try: - subprocess.check_output(command) + subprocess.check_output(command, stderr=subprocess.STDOUT) except OSError as e: raise BuildError('Could not call execute make: ' + e) except subprocess.CalledProcessError as e: --- linux-riscv-5.8-5.8.0.orig/tools/testing/kunit/kunit_parser.py +++ linux-riscv-5.8-5.8.0/tools/testing/kunit/kunit_parser.py @@ -65,7 +65,6 @@ def raw_output(kernel_output): for line in kernel_output: print(line) - yield line DIVIDER = '=' * 60 @@ -233,7 +232,7 @@ return None test_suite.name = name expected_test_case_num = parse_subtest_plan(lines) - if not expected_test_case_num: + if expected_test_case_num is None: return None while expected_test_case_num > 0: test_case = parse_test_case(lines) --- linux-riscv-5.8-5.8.0.orig/tools/testing/kunit/kunit_tool_test.py +++ linux-riscv-5.8-5.8.0/tools/testing/kunit/kunit_tool_test.py @@ -237,35 +237,33 @@ class KUnitMainTest(unittest.TestCase): def setUp(self): path = get_absolute_path('test_data/test_is_test_passed-all_passed.log') - file = open(path) - all_passed_log = file.readlines() - self.print_patch = mock.patch('builtins.print') - self.print_mock = self.print_patch.start() + with open(path) as file: + all_passed_log = file.readlines() + + self.print_mock = mock.patch('builtins.print').start() + self.addCleanup(mock.patch.stopall) + self.linux_source_mock = mock.Mock() self.linux_source_mock.build_reconfig = mock.Mock(return_value=True) self.linux_source_mock.build_um_kernel = mock.Mock(return_value=True) self.linux_source_mock.run_kernel = mock.Mock(return_value=all_passed_log) - def tearDown(self): - self.print_patch.stop() - pass - def test_config_passes_args_pass(self): - kunit.main(['config'], self.linux_source_mock) + kunit.main(['config', '--build_dir=.kunit'], self.linux_source_mock) assert self.linux_source_mock.build_reconfig.call_count == 1 assert self.linux_source_mock.run_kernel.call_count == 0 def test_build_passes_args_pass(self): kunit.main(['build'], self.linux_source_mock) assert self.linux_source_mock.build_reconfig.call_count == 0 - self.linux_source_mock.build_um_kernel.assert_called_once_with(False, 8, '', None) + self.linux_source_mock.build_um_kernel.assert_called_once_with(False, 8, '.kunit', None) assert self.linux_source_mock.run_kernel.call_count == 0 def test_exec_passes_args_pass(self): kunit.main(['exec'], self.linux_source_mock) assert self.linux_source_mock.build_reconfig.call_count == 0 assert self.linux_source_mock.run_kernel.call_count == 1 - self.linux_source_mock.run_kernel.assert_called_once_with(build_dir='', timeout=300) + self.linux_source_mock.run_kernel.assert_called_once_with(build_dir='.kunit', timeout=300) self.print_mock.assert_any_call(StrContains('Testing complete.')) def test_run_passes_args_pass(self): @@ -273,7 +271,7 @@ assert self.linux_source_mock.build_reconfig.call_count == 1 assert self.linux_source_mock.run_kernel.call_count == 1 self.linux_source_mock.run_kernel.assert_called_once_with( - build_dir='', timeout=300) + build_dir='.kunit', timeout=300) self.print_mock.assert_any_call(StrContains('Testing complete.')) def test_exec_passes_args_fail(self): @@ -313,7 +311,7 @@ def test_exec_timeout(self): timeout = 3453 kunit.main(['exec', '--timeout', str(timeout)], self.linux_source_mock) - self.linux_source_mock.run_kernel.assert_called_once_with(build_dir='', timeout=timeout) + self.linux_source_mock.run_kernel.assert_called_once_with(build_dir='.kunit', timeout=timeout) self.print_mock.assert_any_call(StrContains('Testing complete.')) def test_run_timeout(self): @@ -321,12 +319,12 @@ kunit.main(['run', '--timeout', str(timeout)], self.linux_source_mock) assert self.linux_source_mock.build_reconfig.call_count == 1 self.linux_source_mock.run_kernel.assert_called_once_with( - build_dir='', timeout=timeout) + build_dir='.kunit', timeout=timeout) self.print_mock.assert_any_call(StrContains('Testing complete.')) def test_run_builddir(self): build_dir = '.kunit' - kunit.main(['run', '--build_dir', build_dir], self.linux_source_mock) + kunit.main(['run', '--build_dir=.kunit'], self.linux_source_mock) assert self.linux_source_mock.build_reconfig.call_count == 1 self.linux_source_mock.run_kernel.assert_called_once_with( build_dir=build_dir, timeout=300) --- linux-riscv-5.8-5.8.0.orig/tools/testing/nvdimm/test/nfit.c +++ linux-riscv-5.8-5.8.0/tools/testing/nvdimm/test/nfit.c @@ -23,7 +23,8 @@ #include "nfit_test.h" #include "../watermark.h" -#include +#include +#include /* * Generate an NFIT table to describe the following topology: @@ -3052,7 +3053,7 @@ .id_table = nfit_test_id, }; -static char mcsafe_buf[PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE))); +static char copy_mc_buf[PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE))); enum INJECT { INJECT_NONE, @@ -3060,7 +3061,7 @@ INJECT_DST, }; -static void mcsafe_test_init(char *dst, char *src, size_t size) +static void copy_mc_test_init(char *dst, char *src, size_t size) { size_t i; @@ -3069,7 +3070,7 @@ src[i] = (char) i; } -static bool mcsafe_test_validate(unsigned char *dst, unsigned char *src, +static bool copy_mc_test_validate(unsigned char *dst, unsigned char *src, size_t size, unsigned long rem) { size_t i; @@ -3090,12 +3091,12 @@ return true; } -void mcsafe_test(void) +void copy_mc_test(void) { char *inject_desc[] = { "none", "source", "destination" }; enum INJECT inj; - if (IS_ENABLED(CONFIG_MCSAFE_TEST)) { + if (IS_ENABLED(CONFIG_COPY_MC_TEST)) { pr_info("%s: run...\n", __func__); } else { pr_info("%s: disabled, skip.\n", __func__); @@ -3113,31 +3114,31 @@ switch (inj) { case INJECT_NONE: - mcsafe_inject_src(NULL); - mcsafe_inject_dst(NULL); - dst = &mcsafe_buf[2048]; - src = &mcsafe_buf[1024 - i]; + copy_mc_inject_src(NULL); + copy_mc_inject_dst(NULL); + dst = ©_mc_buf[2048]; + src = ©_mc_buf[1024 - i]; expect = 0; break; case INJECT_SRC: - mcsafe_inject_src(&mcsafe_buf[1024]); - mcsafe_inject_dst(NULL); - dst = &mcsafe_buf[2048]; - src = &mcsafe_buf[1024 - i]; + copy_mc_inject_src(©_mc_buf[1024]); + copy_mc_inject_dst(NULL); + dst = ©_mc_buf[2048]; + src = ©_mc_buf[1024 - i]; expect = 512 - i; break; case INJECT_DST: - mcsafe_inject_src(NULL); - mcsafe_inject_dst(&mcsafe_buf[2048]); - dst = &mcsafe_buf[2048 - i]; - src = &mcsafe_buf[1024]; + copy_mc_inject_src(NULL); + copy_mc_inject_dst(©_mc_buf[2048]); + dst = ©_mc_buf[2048 - i]; + src = ©_mc_buf[1024]; expect = 512 - i; break; } - mcsafe_test_init(dst, src, 512); - rem = __memcpy_mcsafe(dst, src, 512); - valid = mcsafe_test_validate(dst, src, 512, expect); + copy_mc_test_init(dst, src, 512); + rem = copy_mc_fragile(dst, src, 512); + valid = copy_mc_test_validate(dst, src, 512, expect); if (rem == expect && valid) continue; pr_info("%s: copy(%#lx, %#lx, %d) off: %d rem: %ld %s expect: %ld\n", @@ -3149,8 +3150,8 @@ } } - mcsafe_inject_src(NULL); - mcsafe_inject_dst(NULL); + copy_mc_inject_src(NULL); + copy_mc_inject_dst(NULL); } static __init int nfit_test_init(void) @@ -3161,7 +3162,7 @@ libnvdimm_test(); acpi_nfit_test(); device_dax_test(); - mcsafe_test(); + copy_mc_test(); dax_pmem_test(); dax_pmem_core_test(); #ifdef CONFIG_DEV_DAX_PMEM_COMPAT --- linux-riscv-5.8-5.8.0.orig/tools/testing/radix-tree/idr-test.c +++ linux-riscv-5.8-5.8.0/tools/testing/radix-tree/idr-test.c @@ -301,16 +301,20 @@ pthread_t throbber; time_t start = time(NULL); - pthread_create(&throbber, NULL, idr_throbber, &throbber_id); - BUG_ON(idr_alloc(&find_idr, xa_mk_value(anchor_id), anchor_id, anchor_id + 1, GFP_KERNEL) != anchor_id); + pthread_create(&throbber, NULL, idr_throbber, &throbber_id); + + rcu_read_lock(); do { int id = 0; void *entry = idr_get_next(&find_idr, &id); + rcu_read_unlock(); BUG_ON(entry != xa_mk_value(id)); + rcu_read_lock(); } while (time(NULL) < start + 11); + rcu_read_unlock(); pthread_join(throbber, NULL); @@ -523,8 +527,27 @@ return NULL; } +static void *ida_leak_fn(void *arg) +{ + struct ida *ida = arg; + time_t s = time(NULL); + int i, ret; + + rcu_register_thread(); + + do for (i = 0; i < 1000; i++) { + ret = ida_alloc_range(ida, 128, 128, GFP_KERNEL); + if (ret >= 0) + ida_free(ida, 128); + } while (time(NULL) < s + 2); + + rcu_unregister_thread(); + return NULL; +} + void ida_thread_tests(void) { + DEFINE_IDA(ida); pthread_t threads[20]; int i; @@ -536,6 +559,16 @@ while (i--) pthread_join(threads[i], NULL); + + for (i = 0; i < ARRAY_SIZE(threads); i++) + if (pthread_create(&threads[i], NULL, ida_leak_fn, &ida)) { + perror("creating ida thread"); + exit(1); + } + + while (i--) + pthread_join(threads[i], NULL); + assert(ida_is_empty(&ida)); } void ida_tests(void) @@ -548,6 +581,7 @@ int __weak main(void) { + rcu_register_thread(); radix_tree_init(); idr_checks(); ida_tests(); @@ -555,5 +589,6 @@ rcu_barrier(); if (nr_allocated) printf("nr_allocated = %d\n", nr_allocated); + rcu_unregister_thread(); return 0; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/radix-tree/multiorder.c +++ linux-riscv-5.8-5.8.0/tools/testing/radix-tree/multiorder.c @@ -224,7 +224,9 @@ int __weak main(void) { + rcu_register_thread(); radix_tree_init(); multiorder_checks(); + rcu_unregister_thread(); return 0; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/radix-tree/xarray.c +++ linux-riscv-5.8-5.8.0/tools/testing/radix-tree/xarray.c @@ -25,11 +25,13 @@ int __weak main(void) { + rcu_register_thread(); radix_tree_init(); xarray_tests(); radix_tree_cpu_dead(1); rcu_barrier(); if (nr_allocated) printf("nr_allocated = %d\n", nr_allocated); + rcu_unregister_thread(); return 0; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/Makefile @@ -71,8 +71,10 @@ TARGETS_HOTPLUG = cpu-hotplug TARGETS_HOTPLUG += memory-hotplug -# User can optionally provide a TARGETS skiplist. -SKIP_TARGETS ?= +# User can optionally provide a TARGETS skiplist. By default we skip +# BPF since it has cutting edge build time dependencies which require +# more effort to install. +SKIP_TARGETS ?= bpf ifneq ($(SKIP_TARGETS),) TMP := $(filter-out $(SKIP_TARGETS), $(TARGETS)) override TARGETS := $(TMP) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/Makefile @@ -32,7 +32,7 @@ # Order correspond to 'make run_tests' order TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test_progs \ - test_align test_verifier_log test_dev_cgroup test_tcpbpf_user \ + test_verifier_log test_dev_cgroup test_tcpbpf_user \ test_sock test_btf test_sockmap get_cgroup_id_user test_socket_cookie \ test_cgroup_storage \ test_netcnt test_tcpnotify_user test_sock_fields test_sysctl \ @@ -102,7 +102,7 @@ OVERRIDE_TARGETS := 1 override define CLEAN $(call msg,CLEAN) - $(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN) + $(Q)$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN) endef include ../lib.mk @@ -122,17 +122,21 @@ $(TEST_GEN_PROGS_EXTENDED) \ $(TEST_CUSTOM_PROGS)): %: $(OUTPUT)/% ; +$(OUTPUT)/%.o: %.c + $(call msg,CC,,$@) + $(Q)$(CC) $(CFLAGS) -c $(filter %.c,$^) $(LDLIBS) -o $@ + $(OUTPUT)/%:%.c $(call msg,BINARY,,$@) - $(LINK.c) $^ $(LDLIBS) -o $@ + $(Q)$(LINK.c) $^ $(LDLIBS) -o $@ $(OUTPUT)/urandom_read: urandom_read.c $(call msg,BINARY,,$@) - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) -Wl,--build-id + $(Q)$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) -Wl,--build-id=sha1 $(OUTPUT)/test_stub.o: test_stub.c $(BPFOBJ) $(call msg,CC,,$@) - $(CC) -c $(CFLAGS) -o $@ $< + $(Q)$(CC) -c $(CFLAGS) -o $@ $< VMLINUX_BTF_PATHS := $(if $(O),$(O)/vmlinux) \ $(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux) \ @@ -140,8 +144,13 @@ /sys/kernel/btf/vmlinux \ /boot/vmlinux-$(shell uname -r) VMLINUX_BTF := $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS)))) +ifeq ($(VMLINUX_BTF),) +$(error Cannot find a vmlinux for VMLINUX_BTF at any of "$(VMLINUX_BTF_PATHS)") +endif -$(OUTPUT)/runqslower: $(BPFOBJ) +DEFAULT_BPFTOOL := $(SCRATCH_DIR)/sbin/bpftool + +$(OUTPUT)/runqslower: $(BPFOBJ) | $(DEFAULT_BPFTOOL) $(Q)$(MAKE) $(submake_extras) -C $(TOOLSDIR)/bpf/runqslower \ OUTPUT=$(SCRATCH_DIR)/ VMLINUX_BTF=$(VMLINUX_BTF) \ BPFOBJ=$(BPFOBJ) BPF_INCLUDE=$(INCLUDE_DIR) && \ @@ -163,7 +172,6 @@ $(OUTPUT)/test_sock_fields: cgroup_helpers.c $(OUTPUT)/test_sysctl: cgroup_helpers.c -DEFAULT_BPFTOOL := $(SCRATCH_DIR)/sbin/bpftool BPFTOOL ?= $(DEFAULT_BPFTOOL) $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \ $(BPFOBJ) | $(BUILD_DIR)/bpftool @@ -179,11 +187,11 @@ $(BUILD_DIR)/libbpf $(BUILD_DIR)/bpftool $(INCLUDE_DIR): $(call msg,MKDIR,,$@) - mkdir -p $@ + $(Q)mkdir -p $@ $(INCLUDE_DIR)/vmlinux.h: $(VMLINUX_BTF) | $(BPFTOOL) $(INCLUDE_DIR) $(call msg,GEN,,$@) - $(BPFTOOL) btf dump file $(VMLINUX_BTF) format c > $@ + $(Q)$(BPFTOOL) btf dump file $(VMLINUX_BTF) format c > $@ # Get Clang's default includes on this system, as opposed to those seen by # '-target bpf'. This fixes "missing" files on some architectures/distros, @@ -193,7 +201,8 @@ # build would have failed anyways. define get_sys_includes $(shell $(1) -v -E - &1 \ - | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') + | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') \ +$(shell $(1) -dM -E - $$@ + $(Q)$$(BPFTOOL) gen skeleton $$< > $$@ endif # ensure we set up tests.h header generation rule just once @@ -328,7 +337,7 @@ $(TRUNNER_BPF_SKELS) \ $$(BPFOBJ) | $(TRUNNER_OUTPUT) $$(call msg,TEST-OBJ,$(TRUNNER_BINARY),$$@) - cd $$(@D) && $$(CC) -I. $$(CFLAGS) -c $(CURDIR)/$$< $$(LDLIBS) -o $$(@F) + $(Q)cd $$(@D) && $$(CC) -I. $$(CFLAGS) -c $(CURDIR)/$$< $$(LDLIBS) -o $$(@F) $(TRUNNER_EXTRA_OBJS): $(TRUNNER_OUTPUT)/%.o: \ %.c \ @@ -336,20 +345,20 @@ $(TRUNNER_TESTS_HDR) \ $$(BPFOBJ) | $(TRUNNER_OUTPUT) $$(call msg,EXT-OBJ,$(TRUNNER_BINARY),$$@) - $$(CC) $$(CFLAGS) -c $$< $$(LDLIBS) -o $$@ + $(Q)$$(CC) $$(CFLAGS) -c $$< $$(LDLIBS) -o $$@ # only copy extra resources if in flavored build $(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT) ifneq ($2,) $$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_FILES)) - cp -a $$^ $(TRUNNER_OUTPUT)/ + $(Q)cp -a $$^ $(TRUNNER_OUTPUT)/ endif $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS) \ $(TRUNNER_EXTRA_OBJS) $$(BPFOBJ) \ | $(TRUNNER_BINARY)-extras $$(call msg,BINARY,,$$@) - $$(CC) $$(CFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) -o $$@ + $(Q)$$(CC) $$(CFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) -o $$@ endef @@ -402,17 +411,17 @@ ) > verifier/tests.h) $(OUTPUT)/test_verifier: test_verifier.c verifier/tests.h $(BPFOBJ) | $(OUTPUT) $(call msg,BINARY,,$@) - $(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@ + $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@ # Make sure we are able to include and link libbpf against c++. $(OUTPUT)/test_cpp: test_cpp.cpp $(OUTPUT)/test_core_extern.skel.h $(BPFOBJ) $(call msg,CXX,,$@) - $(CXX) $(CFLAGS) $^ $(LDLIBS) -o $@ + $(Q)$(CXX) $(CFLAGS) $^ $(LDLIBS) -o $@ # Benchmark runner $(OUTPUT)/bench_%.o: benchs/bench_%.c bench.h $(call msg,CC,,$@) - $(CC) $(CFLAGS) -c $(filter %.c,$^) $(LDLIBS) -o $@ + $(Q)$(CC) $(CFLAGS) -c $(filter %.c,$^) $(LDLIBS) -o $@ $(OUTPUT)/bench_rename.o: $(OUTPUT)/test_overhead.skel.h $(OUTPUT)/bench_trigger.o: $(OUTPUT)/trigger_bench.skel.h $(OUTPUT)/bench_ringbufs.o: $(OUTPUT)/ringbuf_bench.skel.h \ @@ -425,7 +434,7 @@ $(OUTPUT)/bench_trigger.o \ $(OUTPUT)/bench_ringbufs.o $(call msg,BINARY,,$@) - $(CC) $(LDFLAGS) -o $@ $(filter %.a %.o,$^) $(LDLIBS) + $(Q)$(CC) $(LDFLAGS) -o $@ $(filter %.a %.o,$^) $(LDLIBS) EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) \ prog_tests/tests.h map_tests/tests.h verifier/tests.h \ --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/bench.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/bench.c @@ -311,7 +311,6 @@ extern const struct bench bench_rename_rawtp; extern const struct bench bench_rename_fentry; extern const struct bench bench_rename_fexit; -extern const struct bench bench_rename_fmodret; extern const struct bench bench_trig_base; extern const struct bench bench_trig_tp; extern const struct bench bench_trig_rawtp; @@ -332,7 +331,6 @@ &bench_rename_rawtp, &bench_rename_fentry, &bench_rename_fexit, - &bench_rename_fmodret, &bench_trig_base, &bench_trig_tp, &bench_trig_rawtp, @@ -462,4 +460,3 @@ return 0; } - --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/benchs/bench_rename.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/benchs/bench_rename.c @@ -106,12 +106,6 @@ attach_bpf(ctx.skel->progs.prog5); } -static void setup_fmodret() -{ - setup_ctx(); - attach_bpf(ctx.skel->progs.prog6); -} - static void *consumer(void *input) { return NULL; @@ -179,17 +173,6 @@ .producer_thread = producer, .consumer_thread = consumer, .measure = measure, - .report_progress = hits_drops_report_progress, - .report_final = hits_drops_report_final, -}; - -const struct bench bench_rename_fmodret = { - .name = "rename-fmodret", - .validate = validate, - .setup = setup_fmodret, - .producer_thread = producer, - .consumer_thread = consumer, - .measure = measure, .report_progress = hits_drops_report_progress, .report_final = hits_drops_report_final, }; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c @@ -159,15 +159,15 @@ /* Check getting link info */ info_len = sizeof(struct bpf_link_info) * 2; bzero(&link_infos[i], info_len); - link_infos[i].raw_tracepoint.tp_name = (__u64)&tp_name; + link_infos[i].raw_tracepoint.tp_name = ptr_to_u64(&tp_name); link_infos[i].raw_tracepoint.tp_name_len = sizeof(tp_name); err = bpf_obj_get_info_by_fd(bpf_link__fd(links[i]), &link_infos[i], &info_len); if (CHECK(err || link_infos[i].type != BPF_LINK_TYPE_RAW_TRACEPOINT || link_infos[i].prog_id != prog_infos[i].id || - link_infos[i].raw_tracepoint.tp_name != (__u64)&tp_name || - strcmp((char *)link_infos[i].raw_tracepoint.tp_name, + link_infos[i].raw_tracepoint.tp_name != ptr_to_u64(&tp_name) || + strcmp(u64_to_ptr(link_infos[i].raw_tracepoint.tp_name), "sys_enter") || info_len != sizeof(struct bpf_link_info), "get-link-info(fd)", @@ -178,7 +178,7 @@ link_infos[i].type, BPF_LINK_TYPE_RAW_TRACEPOINT, link_infos[i].id, link_infos[i].prog_id, prog_infos[i].id, - (char *)link_infos[i].raw_tracepoint.tp_name, + (const char *)u64_to_ptr(link_infos[i].raw_tracepoint.tp_name), "sys_enter")) goto done; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/core_extern.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/core_extern.c @@ -159,8 +159,8 @@ exp = (uint64_t *)&t->data; for (j = 0; j < n; j++) { CHECK(got[j] != exp[j], "check_res", - "result #%d: expected %lx, but got %lx\n", - j, exp[j], got[j]); + "result #%d: expected %llx, but got %llx\n", + j, (__u64)exp[j], (__u64)got[j]); } cleanup: test_core_extern__destroy(skel); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/core_reloc.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/core_reloc.c @@ -237,8 +237,8 @@ .union_sz = sizeof(((type *)0)->union_field), \ .arr_sz = sizeof(((type *)0)->arr_field), \ .arr_elem_sz = sizeof(((type *)0)->arr_field[0]), \ - .ptr_sz = sizeof(((type *)0)->ptr_field), \ - .enum_sz = sizeof(((type *)0)->enum_field), \ + .ptr_sz = 8, /* always 8-byte pointer for BPF */ \ + .enum_sz = sizeof(((type *)0)->enum_field), \ } #define SIZE_CASE(name) { \ @@ -432,20 +432,20 @@ .sb4 = -1, .sb20 = -0x17654321, .u32 = 0xBEEF, - .s32 = -0x3FEDCBA987654321, + .s32 = -0x3FEDCBA987654321LL, }), BITFIELDS_CASE(bitfields___bitfield_vs_int, { - .ub1 = 0xFEDCBA9876543210, + .ub1 = 0xFEDCBA9876543210LL, .ub2 = 0xA6, - .ub7 = -0x7EDCBA987654321, - .sb4 = -0x6123456789ABCDE, - .sb20 = 0xD00D, + .ub7 = -0x7EDCBA987654321LL, + .sb4 = -0x6123456789ABCDELL, + .sb20 = 0xD00DLL, .u32 = -0x76543, - .s32 = 0x0ADEADBEEFBADB0B, + .s32 = 0x0ADEADBEEFBADB0BLL, }), BITFIELDS_CASE(bitfields___just_big_enough, { - .ub1 = 0xF, - .ub2 = 0x0812345678FEDCBA, + .ub1 = 0xFLL, + .ub2 = 0x0812345678FEDCBALL, }), BITFIELDS_ERR_CASE(bitfields___err_too_big_bitfield), --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c @@ -16,7 +16,7 @@ __u32 duration = 0, retval; struct bpf_map *data_map; const int zero = 0; - u64 *result = NULL; + __u64 *result = NULL; err = bpf_prog_load(target_obj_file, BPF_PROG_TYPE_UNSPEC, &pkt_obj, &pkt_fd); @@ -29,7 +29,7 @@ link = calloc(sizeof(struct bpf_link *), prog_cnt); prog = calloc(sizeof(struct bpf_program *), prog_cnt); - result = malloc((prog_cnt + 32 /* spare */) * sizeof(u64)); + result = malloc((prog_cnt + 32 /* spare */) * sizeof(__u64)); if (CHECK(!link || !prog || !result, "alloc_memory", "failed to alloc memory")) goto close_prog; @@ -72,7 +72,7 @@ goto close_prog; for (i = 0; i < prog_cnt; i++) - if (CHECK(result[i] != 1, "result", "fexit_bpf2bpf failed err %ld\n", + if (CHECK(result[i] != 1, "result", "fexit_bpf2bpf failed err %llu\n", result[i])) goto close_prog; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/flow_dissector.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/flow_dissector.c @@ -591,7 +591,7 @@ CHECK_ATTR(tattr.data_size_out != sizeof(flow_keys) || err || tattr.retval != 1, tests[i].name, - "err %d errno %d retval %d duration %d size %u/%lu\n", + "err %d errno %d retval %d duration %d size %u/%zu\n", err, errno, tattr.retval, tattr.duration, tattr.data_size_out, sizeof(flow_keys)); CHECK_FLOW_KEYS(tests[i].name, flow_keys, tests[i].keys); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/global_data.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/global_data.c @@ -5,7 +5,7 @@ static void test_global_data_number(struct bpf_object *obj, __u32 duration) { int i, err, map_fd; - uint64_t num; + __u64 num; map_fd = bpf_find_map(__func__, obj, "result_number"); if (CHECK_FAIL(map_fd < 0)) @@ -14,7 +14,7 @@ struct { char *name; uint32_t key; - uint64_t num; + __u64 num; } tests[] = { { "relocate .bss reference", 0, 0 }, { "relocate .data reference", 1, 42 }, @@ -32,7 +32,7 @@ for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) { err = bpf_map_lookup_elem(map_fd, &tests[i].key, &num); CHECK(err || num != tests[i].num, tests[i].name, - "err %d result %lx expected %lx\n", + "err %d result %llx expected %llx\n", err, num, tests[i].num); } } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/mmap.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/mmap.c @@ -21,7 +21,7 @@ const long page_size = sysconf(_SC_PAGE_SIZE); int err, duration = 0, i, data_map_fd, data_map_id, tmp_fd, rdmap_fd; struct bpf_map *data_map, *bss_map; - void *bss_mmaped = NULL, *map_mmaped = NULL, *tmp1, *tmp2; + void *bss_mmaped = NULL, *map_mmaped = NULL, *tmp0, *tmp1, *tmp2; struct test_mmap__bss *bss_data; struct bpf_map_info map_info; __u32 map_info_sz = sizeof(map_info); @@ -183,16 +183,23 @@ /* check some more advanced mmap() manipulations */ + tmp0 = mmap(NULL, 4 * page_size, PROT_READ, MAP_SHARED | MAP_ANONYMOUS, + -1, 0); + if (CHECK(tmp0 == MAP_FAILED, "adv_mmap0", "errno %d\n", errno)) + goto cleanup; + /* map all but last page: pages 1-3 mapped */ - tmp1 = mmap(NULL, 3 * page_size, PROT_READ, MAP_SHARED, + tmp1 = mmap(tmp0, 3 * page_size, PROT_READ, MAP_SHARED | MAP_FIXED, data_map_fd, 0); - if (CHECK(tmp1 == MAP_FAILED, "adv_mmap1", "errno %d\n", errno)) + if (CHECK(tmp0 != tmp1, "adv_mmap1", "tmp0: %p, tmp1: %p\n", tmp0, tmp1)) { + munmap(tmp0, 4 * page_size); goto cleanup; + } /* unmap second page: pages 1, 3 mapped */ err = munmap(tmp1 + page_size, page_size); if (CHECK(err, "adv_mmap2", "errno %d\n", errno)) { - munmap(tmp1, map_sz); + munmap(tmp1, 4 * page_size); goto cleanup; } @@ -201,7 +208,7 @@ MAP_SHARED | MAP_FIXED, data_map_fd, 0); if (CHECK(tmp2 == MAP_FAILED, "adv_mmap3", "errno %d\n", errno)) { munmap(tmp1, page_size); - munmap(tmp1 + 2*page_size, page_size); + munmap(tmp1 + 2*page_size, 2 * page_size); goto cleanup; } CHECK(tmp1 + page_size != tmp2, "adv_mmap4", @@ -211,7 +218,7 @@ tmp2 = mmap(tmp1, 4 * page_size, PROT_READ, MAP_SHARED | MAP_FIXED, data_map_fd, 0); if (CHECK(tmp2 == MAP_FAILED, "adv_mmap5", "errno %d\n", errno)) { - munmap(tmp1, 3 * page_size); /* unmap page 1 */ + munmap(tmp1, 4 * page_size); /* unmap page 1 */ goto cleanup; } CHECK(tmp1 != tmp2, "adv_mmap6", "tmp1: %p, tmp2: %p\n", tmp1, tmp2); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/prog_run_xattr.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/prog_run_xattr.c @@ -28,7 +28,7 @@ "err %d errno %d retval %d\n", err, errno, tattr.retval); CHECK_ATTR(tattr.data_size_out != sizeof(pkt_v4), "data_size_out", - "incorrect output size, want %lu have %u\n", + "incorrect output size, want %zu have %u\n", sizeof(pkt_v4), tattr.data_size_out); CHECK_ATTR(buf[5] != 0, "overflow", --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/sk_assign.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/sk_assign.c @@ -265,7 +265,7 @@ TEST("ipv6 udp port redir", AF_INET6, SOCK_DGRAM, false), TEST("ipv6 udp addr redir", AF_INET6, SOCK_DGRAM, true), }; - int server = -1; + __s64 server = -1; int server_map; int self_net; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/skb_ctx.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/skb_ctx.c @@ -80,7 +80,7 @@ CHECK_ATTR(tattr.ctx_size_out != sizeof(skb), "ctx_size_out", - "incorrect output size, want %lu have %u\n", + "incorrect output size, want %zu have %u\n", sizeof(skb), tattr.ctx_size_out); for (i = 0; i < 5; i++) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/sockopt_multi.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/sockopt_multi.c @@ -138,7 +138,8 @@ */ buf = 0x40; - if (setsockopt(sock_fd, SOL_IP, IP_TOS, &buf, 1) < 0) { + err = setsockopt(sock_fd, SOL_IP, IP_TOS, &buf, 1); + if (err < 0) { log_err("Failed to call setsockopt(IP_TOS)"); goto detach; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/sockopt_sk.c @@ -45,9 +45,9 @@ goto err; } - if (*(int *)big_buf != 0x08) { + if (*big_buf != 0x08) { log_err("Unexpected getsockopt(IP_TOS) optval 0x%x != 0x08", - *(int *)big_buf); + (int)*big_buf); goto err; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c @@ -19,7 +19,7 @@ log_buf = va_arg(args, char *); if (!log_buf) goto out; - if (strstr(log_buf, err_str) == 0) + if (err_str && strstr(log_buf, err_str) == 0) found = true; out: printf(format, log_buf); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/prog_tests/test_overhead.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/prog_tests/test_overhead.c @@ -61,10 +61,9 @@ const char *raw_tp_name = "raw_tp/task_rename"; const char *fentry_name = "fentry/__set_task_comm"; const char *fexit_name = "fexit/__set_task_comm"; - const char *fmodret_name = "fmod_ret/__set_task_comm"; const char *kprobe_func = "__set_task_comm"; struct bpf_program *kprobe_prog, *kretprobe_prog, *raw_tp_prog; - struct bpf_program *fentry_prog, *fexit_prog, *fmodret_prog; + struct bpf_program *fentry_prog, *fexit_prog; struct bpf_object *obj; struct bpf_link *link; int err, duration = 0; @@ -97,11 +96,6 @@ if (CHECK(!fexit_prog, "find_probe", "prog '%s' not found\n", fexit_name)) goto cleanup; - fmodret_prog = bpf_object__find_program_by_title(obj, fmodret_name); - if (CHECK(!fmodret_prog, "find_probe", - "prog '%s' not found\n", fmodret_name)) - goto cleanup; - err = bpf_object__load(obj); if (CHECK(err, "obj_load", "err %d\n", err)) goto cleanup; @@ -148,12 +142,6 @@ test_run("fexit"); bpf_link__destroy(link); - /* attach fmod_ret */ - link = bpf_program__attach_trace(fmodret_prog); - if (CHECK(IS_ERR(link), "attach fmod_ret", "err %ld\n", PTR_ERR(link))) - goto cleanup; - test_run("fmod_ret"); - bpf_link__destroy(link); cleanup: prctl(PR_SET_NAME, comm, 0L, 0L, 0L); bpf_object__close(obj); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/core_reloc_types.h +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/core_reloc_types.h @@ -1,5 +1,10 @@ #include #include + +void preserce_ptr_sz_fn(long x) {} + +#define __bpf_aligned __attribute__((aligned(8))) + /* * KERNEL */ @@ -444,51 +449,51 @@ char a; int b; enum core_reloc_primitives_enum c; - void *d; - int (*f)(const char *); + void *d __bpf_aligned; + int (*f)(const char *) __bpf_aligned; }; struct core_reloc_primitives___diff_enum_def { char a; int b; - void *d; - int (*f)(const char *); + void *d __bpf_aligned; + int (*f)(const char *) __bpf_aligned; enum { X = 100, Y = 200, - } c; /* inline enum def with differing set of values */ + } c __bpf_aligned; /* inline enum def with differing set of values */ }; struct core_reloc_primitives___diff_func_proto { - void (*f)(int); /* incompatible function prototype */ - void *d; - enum core_reloc_primitives_enum c; + void (*f)(int) __bpf_aligned; /* incompatible function prototype */ + void *d __bpf_aligned; + enum core_reloc_primitives_enum c __bpf_aligned; int b; char a; }; struct core_reloc_primitives___diff_ptr_type { - const char * const d; /* different pointee type + modifiers */ - char a; + const char * const d __bpf_aligned; /* different pointee type + modifiers */ + char a __bpf_aligned; int b; enum core_reloc_primitives_enum c; - int (*f)(const char *); + int (*f)(const char *) __bpf_aligned; }; struct core_reloc_primitives___err_non_enum { char a[1]; int b; int c; /* int instead of enum */ - void *d; - int (*f)(const char *); + void *d __bpf_aligned; + int (*f)(const char *) __bpf_aligned; }; struct core_reloc_primitives___err_non_int { char a[1]; - int *b; /* ptr instead of int */ - enum core_reloc_primitives_enum c; - void *d; - int (*f)(const char *); + int *b __bpf_aligned; /* ptr instead of int */ + enum core_reloc_primitives_enum c __bpf_aligned; + void *d __bpf_aligned; + int (*f)(const char *) __bpf_aligned; }; struct core_reloc_primitives___err_non_ptr { @@ -496,7 +501,7 @@ int b; enum core_reloc_primitives_enum c; int d; /* int instead of ptr */ - int (*f)(const char *); + int (*f)(const char *) __bpf_aligned; }; /* @@ -507,7 +512,7 @@ }; typedef const int int_t; -typedef const char *char_ptr_t; +typedef const char *char_ptr_t __bpf_aligned; typedef const int arr_t[7]; struct core_reloc_mods_substruct { @@ -523,9 +528,9 @@ struct core_reloc_mods { int a; int_t b; - char *c; + char *c __bpf_aligned; char_ptr_t d; - int e[3]; + int e[3] __bpf_aligned; arr_t f; struct core_reloc_mods_substruct g; core_reloc_mods_substruct_t h; @@ -535,9 +540,9 @@ struct core_reloc_mods___mod_swap { int b; int_t a; - char *d; + char *d __bpf_aligned; char_ptr_t c; - int f[3]; + int f[3] __bpf_aligned; arr_t e; struct { int y; @@ -555,7 +560,7 @@ typedef arr2_t arr3_t; typedef arr3_t arr4_t; -typedef const char * const volatile fancy_char_ptr_t; +typedef const char * const volatile fancy_char_ptr_t __bpf_aligned; typedef core_reloc_mods_substruct_t core_reloc_mods_substruct_tt; @@ -567,7 +572,7 @@ arr4_t e; fancy_char_ptr_t d; fancy_char_ptr_t c; - int3_t b; + int3_t b __bpf_aligned; int3_t a; }; @@ -739,19 +744,19 @@ int8_t sb4: 1; /* 4 -> 1 */ int32_t sb20: 30; /* 20 -> 30 */ /* non-bitfields */ - uint16_t u32; /* 32 -> 16 */ - int64_t s32; /* 32 -> 64 */ + uint16_t u32; /* 32 -> 16 */ + int64_t s32 __bpf_aligned; /* 32 -> 64 */ }; /* turn bitfield into non-bitfield and vice versa */ struct core_reloc_bitfields___bitfield_vs_int { uint64_t ub1; /* 3 -> 64 non-bitfield */ uint8_t ub2; /* 20 -> 8 non-bitfield */ - int64_t ub7; /* 7 -> 64 non-bitfield signed */ - int64_t sb4; /* 4 -> 64 non-bitfield signed */ - uint64_t sb20; /* 20 -> 16 non-bitfield unsigned */ - int32_t u32: 20; /* 32 non-bitfield -> 20 bitfield */ - uint64_t s32: 60; /* 32 non-bitfield -> 60 bitfield */ + int64_t ub7 __bpf_aligned; /* 7 -> 64 non-bitfield signed */ + int64_t sb4 __bpf_aligned; /* 4 -> 64 non-bitfield signed */ + uint64_t sb20 __bpf_aligned; /* 20 -> 16 non-bitfield unsigned */ + int32_t u32: 20; /* 32 non-bitfield -> 20 bitfield */ + uint64_t s32: 60 __bpf_aligned; /* 32 non-bitfield -> 60 bitfield */ }; struct core_reloc_bitfields___just_big_enough { --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_overhead.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_overhead.c @@ -39,10 +39,4 @@ return 0; } -SEC("fmod_ret/__set_task_comm") -int BPF_PROG(prog6, struct task_struct *tsk, const char *buf, bool exec) -{ - return !tsk; -} - char _license[] SEC("license") = "GPL"; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c @@ -18,11 +18,11 @@ #define MAX_ULONG_STR_LEN 7 #define MAX_VALUE_STR_LEN (TCP_MEM_LOOPS * MAX_ULONG_STR_LEN) +const char tcp_mem_name[] = "net/ipv4/tcp_mem/very_very_very_very_long_pointless_string"; static __always_inline int is_tcp_mem(struct bpf_sysctl *ctx) { - volatile char tcp_mem_name[] = "net/ipv4/tcp_mem/very_very_very_very_long_pointless_string"; unsigned char i; - char name[64]; + char name[sizeof(tcp_mem_name)]; int ret; memset(name, 0, sizeof(name)); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_sysctl_loop2.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_sysctl_loop2.c @@ -18,11 +18,11 @@ #define MAX_ULONG_STR_LEN 7 #define MAX_VALUE_STR_LEN (TCP_MEM_LOOPS * MAX_ULONG_STR_LEN) +const char tcp_mem_name[] = "net/ipv4/tcp_mem/very_very_very_very_long_pointless_string_to_stress_byte_loop"; static __attribute__((noinline)) int is_tcp_mem(struct bpf_sysctl *ctx) { - volatile char tcp_mem_name[] = "net/ipv4/tcp_mem/very_very_very_very_long_pointless_string_to_stress_byte_loop"; unsigned char i; - char name[64]; + char name[sizeof(tcp_mem_name)]; int ret; memset(name, 0, sizeof(name)); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_sysctl_prog.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_sysctl_prog.c @@ -19,11 +19,11 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #endif +const char tcp_mem_name[] = "net/ipv4/tcp_mem"; static __always_inline int is_tcp_mem(struct bpf_sysctl *ctx) { - char tcp_mem_name[] = "net/ipv4/tcp_mem"; unsigned char i; - char name[64]; + char name[sizeof(tcp_mem_name)]; int ret; memset(name, 0, sizeof(name)); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_tunnel_kern.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_tunnel_kern.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -447,10 +446,8 @@ } ret = bpf_skb_get_tunnel_opt(skb, &gopt, sizeof(gopt)); - if (ret < 0) { - ERROR(ret); - return TC_ACT_SHOT; - } + if (ret < 0) + gopt.opt_class = 0; bpf_trace_printk(fmt, sizeof(fmt), key.tunnel_id, key.remote_ipv4, gopt.opt_class); @@ -511,10 +508,8 @@ } ret = bpf_skb_get_tunnel_opt(skb, &gopt, sizeof(gopt)); - if (ret < 0) { - ERROR(ret); - return TC_ACT_SHOT; - } + if (ret < 0) + gopt.opt_class = 0; bpf_trace_printk(fmt, sizeof(fmt), key.tunnel_id, key.remote_ipv4, gopt.opt_class); @@ -528,12 +523,11 @@ struct bpf_tunnel_key key = {}; void *data = (void *)(long)skb->data; struct iphdr *iph = data; - struct tcphdr *tcp = data + sizeof(*iph); void *data_end = (void *)(long)skb->data_end; int ret; /* single length check */ - if (data + sizeof(*iph) + sizeof(*tcp) > data_end) { + if (data + sizeof(*iph) > data_end) { ERROR(1); return TC_ACT_SHOT; } @@ -541,16 +535,6 @@ key.tunnel_ttl = 64; if (iph->protocol == IPPROTO_ICMP) { key.remote_ipv4 = 0xac100164; /* 172.16.1.100 */ - } else { - if (iph->protocol != IPPROTO_TCP || iph->ihl != 5) - return TC_ACT_SHOT; - - if (tcp->dest == bpf_htons(5200)) - key.remote_ipv4 = 0xac100164; /* 172.16.1.100 */ - else if (tcp->dest == bpf_htons(5201)) - key.remote_ipv4 = 0xac100165; /* 172.16.1.101 */ - else - return TC_ACT_SHOT; } ret = bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0); @@ -585,19 +569,20 @@ struct bpf_tunnel_key key = {}; void *data = (void *)(long)skb->data; struct iphdr *iph = data; - struct tcphdr *tcp = data + sizeof(*iph); void *data_end = (void *)(long)skb->data_end; int ret; /* single length check */ - if (data + sizeof(*iph) + sizeof(*tcp) > data_end) { + if (data + sizeof(*iph) > data_end) { ERROR(1); return TC_ACT_SHOT; } __builtin_memset(&key, 0x0, sizeof(key)); - key.remote_ipv6[3] = bpf_htonl(0x11); /* ::11 */ key.tunnel_ttl = 64; + if (iph->protocol == IPPROTO_ICMP) { + key.remote_ipv6[3] = bpf_htonl(0x11); /* ::11 */ + } ret = bpf_skb_set_tunnel_key(skb, &key, sizeof(key), BPF_F_TUNINFO_IPV6); @@ -634,35 +619,18 @@ struct bpf_tunnel_key key = {}; void *data = (void *)(long)skb->data; struct ipv6hdr *iph = data; - struct tcphdr *tcp = data + sizeof(*iph); void *data_end = (void *)(long)skb->data_end; int ret; /* single length check */ - if (data + sizeof(*iph) + sizeof(*tcp) > data_end) { + if (data + sizeof(*iph) > data_end) { ERROR(1); return TC_ACT_SHOT; } - key.remote_ipv6[0] = bpf_htonl(0x2401db00); key.tunnel_ttl = 64; - if (iph->nexthdr == 58 /* NEXTHDR_ICMP */) { - key.remote_ipv6[3] = bpf_htonl(1); - } else { - if (iph->nexthdr != 6 /* NEXTHDR_TCP */) { - ERROR(iph->nexthdr); - return TC_ACT_SHOT; - } - - if (tcp->dest == bpf_htons(5200)) { - key.remote_ipv6[3] = bpf_htonl(1); - } else if (tcp->dest == bpf_htons(5201)) { - key.remote_ipv6[3] = bpf_htonl(2); - } else { - ERROR(tcp->dest); - return TC_ACT_SHOT; - } + key.remote_ipv6[3] = bpf_htonl(0x11); /* ::11 */ } ret = bpf_skb_set_tunnel_key(skb, &key, sizeof(key), --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/progs/test_vmlinux.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/progs/test_vmlinux.c @@ -19,12 +19,14 @@ int handle__tp(struct trace_event_raw_sys_enter *args) { struct __kernel_timespec *ts; + long tv_nsec; if (args->id != __NR_nanosleep) return 0; ts = (void *)args->args[0]; - if (BPF_CORE_READ(ts, tv_nsec) != MY_TV_NSEC) + if (bpf_probe_read_user(&tv_nsec, sizeof(ts->tv_nsec), &ts->tv_nsec) || + tv_nsec != MY_TV_NSEC) return 0; tp_called = true; @@ -35,12 +37,14 @@ int BPF_PROG(handle__raw_tp, struct pt_regs *regs, long id) { struct __kernel_timespec *ts; + long tv_nsec; if (id != __NR_nanosleep) return 0; ts = (void *)PT_REGS_PARM1_CORE(regs); - if (BPF_CORE_READ(ts, tv_nsec) != MY_TV_NSEC) + if (bpf_probe_read_user(&tv_nsec, sizeof(ts->tv_nsec), &ts->tv_nsec) || + tv_nsec != MY_TV_NSEC) return 0; raw_tp_called = true; @@ -51,12 +55,14 @@ int BPF_PROG(handle__tp_btf, struct pt_regs *regs, long id) { struct __kernel_timespec *ts; + long tv_nsec; if (id != __NR_nanosleep) return 0; ts = (void *)PT_REGS_PARM1_CORE(regs); - if (BPF_CORE_READ(ts, tv_nsec) != MY_TV_NSEC) + if (bpf_probe_read_user(&tv_nsec, sizeof(ts->tv_nsec), &ts->tv_nsec) || + tv_nsec != MY_TV_NSEC) return 0; tp_btf_called = true; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_btf.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_btf.c @@ -3883,7 +3883,7 @@ info_garbage.garbage = 0; err = bpf_obj_get_info_by_fd(btf_fd, info, &info_len); if (CHECK(err || info_len != sizeof(*info), - "err:%d errno:%d info_len:%u sizeof(*info):%lu", + "err:%d errno:%d info_len:%u sizeof(*info):%zu", err, errno, info_len, sizeof(*info))) { err = -1; goto done; @@ -4094,7 +4094,7 @@ if (CHECK(err || !info.id || info_len != sizeof(info) || info.btf_size != raw_btf_size || (ret = memcmp(raw_btf, user_btf, expected_nbytes)), - "err:%d errno:%d info.id:%u info_len:%u sizeof(info):%lu raw_btf_size:%u info.btf_size:%u expected_nbytes:%u memcmp:%d", + "err:%d errno:%d info.id:%u info_len:%u sizeof(info):%zu raw_btf_size:%u info.btf_size:%u expected_nbytes:%u memcmp:%d", err, errno, info.id, info_len, sizeof(info), raw_btf_size, info.btf_size, expected_nbytes, ret)) { err = -1; @@ -4730,7 +4730,7 @@ nexpected_line = snprintf(expected_line, line_size, "%s%u: {%u,0,%d,0x%x,0x%x,0x%x," - "{%lu|[%u,%u,%u,%u,%u,%u,%u,%u]},%s," + "{%llu|[%u,%u,%u,%u,%u,%u,%u,%u]},%s," "%u,0x%x,[[%d,%d],[%d,%d]]}\n", percpu_map ? "\tcpu" : "", percpu_map ? cpu : next_key, @@ -4738,7 +4738,7 @@ v->unused_bits2a, v->bits28, v->unused_bits2b, - v->ui64, + (__u64)v->ui64, v->ui8a[0], v->ui8a[1], v->ui8a[2], v->ui8a[3], v->ui8a[4], v->ui8a[5], --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_maps.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_maps.c @@ -1274,6 +1274,8 @@ pid_t pid[tasks]; int i; + fflush(stdout); + for (i = 0; i < tasks; i++) { pid[i] = fork(); if (pid[i] == 0) { --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_offload.py +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_offload.py @@ -941,6 +941,7 @@ start_test("Test disabling TC offloads is rejected while filters installed...") ret, _ = sim.set_ethtool_tc_offloads(False, fail=False) fail(ret == 0, "Driver should refuse to disable TC offloads with filters installed...") + sim.set_ethtool_tc_offloads(True) start_test("Test qdisc removal frees things...") sim.tc_flush_filters() --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_progs.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_progs.c @@ -12,6 +12,9 @@ #include #include /* backtrace */ +#define EXIT_NO_TEST 2 +#define EXIT_ERR_SETUP_INFRA 3 + /* defined in test_progs.h */ struct test_env env = {}; @@ -111,13 +114,31 @@ if (err < 0) { stdio_restore(); fprintf(stderr, "Failed to reset process affinity: %d!\n", err); - exit(-1); + exit(EXIT_ERR_SETUP_INFRA); } err = pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset); if (err < 0) { stdio_restore(); fprintf(stderr, "Failed to reset thread affinity: %d!\n", err); - exit(-1); + exit(EXIT_ERR_SETUP_INFRA); + } +} + +static void save_netns(void) +{ + env.saved_netns_fd = open("/proc/self/ns/net", O_RDONLY); + if (env.saved_netns_fd == -1) { + perror("open(/proc/self/ns/net)"); + exit(EXIT_ERR_SETUP_INFRA); + } +} + +static void restore_netns(void) +{ + if (setns(env.saved_netns_fd, CLONE_NEWNET) == -1) { + stdio_restore(); + perror("setns(CLONE_NEWNS)"); + exit(EXIT_ERR_SETUP_INFRA); } } @@ -138,8 +159,6 @@ test->test_num, test->subtest_num, test->subtest_name, sub_error_cnt ? "FAIL" : "OK"); - reset_affinity(); - free(test->subtest_name); test->subtest_name = NULL; } @@ -643,6 +662,7 @@ return -1; } + save_netns(); stdio_hijack(); for (i = 0; i < prog_test_cnt; i++) { struct prog_test_def *test = &prog_test_defs[i]; @@ -673,6 +693,7 @@ test->error_cnt ? "FAIL" : "OK"); reset_affinity(); + restore_netns(); if (test->need_cgroup_cleanup) cleanup_cgroup_environment(); } @@ -686,6 +707,10 @@ free_str_set(&env.subtest_selector.blacklist); free_str_set(&env.subtest_selector.whitelist); free(env.subtest_selector.num_set); + close(env.saved_netns_fd); + + if (env.succ_cnt + env.fail_cnt + env.skip_cnt == 0) + return EXIT_NO_TEST; return env.fail_cnt ? EXIT_FAILURE : EXIT_SUCCESS; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_progs.h +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_progs.h @@ -78,6 +78,8 @@ int sub_succ_cnt; /* successful sub-tests */ int fail_cnt; /* total failed tests + sub-tests */ int skip_cnt; /* skipped tests */ + + int saved_netns_fd; }; extern struct test_env env; @@ -131,6 +133,11 @@ return (__u64) (unsigned long) ptr; } +static inline void *u64_to_ptr(__u64 ptr) +{ + return (void *) (unsigned long) ptr; +} + int bpf_find_map(const char *test, struct bpf_object *obj, const char *name); int compare_map_keys(int map1_fd, int map2_fd); int compare_stack_ips(int smap_fd, int amap_fd, int stack_trace_len); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_sockmap.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_sockmap.c @@ -1281,6 +1281,16 @@ return "unknown"; } +static void append_str(char *dst, const char *src, size_t dst_cap) +{ + size_t avail = dst_cap - strlen(dst); + + if (avail <= 1) /* just zero byte could be written */ + return; + + strncat(dst, src, avail - 1); /* strncat() adds + 1 for zero byte */ +} + #define OPTSTRING 60 static void test_options(char *options) { @@ -1289,42 +1299,42 @@ memset(options, 0, OPTSTRING); if (txmsg_pass) - strncat(options, "pass,", OPTSTRING); + append_str(options, "pass,", OPTSTRING); if (txmsg_redir) - strncat(options, "redir,", OPTSTRING); + append_str(options, "redir,", OPTSTRING); if (txmsg_drop) - strncat(options, "drop,", OPTSTRING); + append_str(options, "drop,", OPTSTRING); if (txmsg_apply) { snprintf(tstr, OPTSTRING, "apply %d,", txmsg_apply); - strncat(options, tstr, OPTSTRING); + append_str(options, tstr, OPTSTRING); } if (txmsg_cork) { snprintf(tstr, OPTSTRING, "cork %d,", txmsg_cork); - strncat(options, tstr, OPTSTRING); + append_str(options, tstr, OPTSTRING); } if (txmsg_start) { snprintf(tstr, OPTSTRING, "start %d,", txmsg_start); - strncat(options, tstr, OPTSTRING); + append_str(options, tstr, OPTSTRING); } if (txmsg_end) { snprintf(tstr, OPTSTRING, "end %d,", txmsg_end); - strncat(options, tstr, OPTSTRING); + append_str(options, tstr, OPTSTRING); } if (txmsg_start_pop) { snprintf(tstr, OPTSTRING, "pop (%d,%d),", txmsg_start_pop, txmsg_start_pop + txmsg_pop); - strncat(options, tstr, OPTSTRING); + append_str(options, tstr, OPTSTRING); } if (txmsg_ingress) - strncat(options, "ingress,", OPTSTRING); + append_str(options, "ingress,", OPTSTRING); if (txmsg_redir_skb) - strncat(options, "redir_skb,", OPTSTRING); + append_str(options, "redir_skb,", OPTSTRING); if (txmsg_ktls_skb) - strncat(options, "ktls_skb,", OPTSTRING); + append_str(options, "ktls_skb,", OPTSTRING); if (ktls) - strncat(options, "ktls,", OPTSTRING); + append_str(options, "ktls,", OPTSTRING); if (peek_flag) - strncat(options, "peek,", OPTSTRING); + append_str(options, "peek,", OPTSTRING); } static int __test_exec(int cgrp, int test, struct sockmap_options *opt) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/test_tunnel.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/test_tunnel.sh @@ -24,12 +24,12 @@ # Root namespace with metadata-mode tunnel + BPF # Device names and addresses: # veth1 IP: 172.16.1.200, IPv6: 00::22 (underlay) -# tunnel dev 11, ex: gre11, IPv4: 10.1.1.200 (overlay) +# tunnel dev 11, ex: gre11, IPv4: 10.1.1.200, IPv6: 1::22 (overlay) # # Namespace at_ns0 with native tunnel # Device names and addresses: # veth0 IPv4: 172.16.1.100, IPv6: 00::11 (underlay) -# tunnel dev 00, ex: gre00, IPv4: 10.1.1.100 (overlay) +# tunnel dev 00, ex: gre00, IPv4: 10.1.1.100, IPv6: 1::11 (overlay) # # # End-to-end ping packet flow @@ -250,7 +250,7 @@ ip addr add dev $DEV 10.1.1.200/24 } -add_ipip6tnl_tunnel() +add_ip6tnl_tunnel() { ip netns exec at_ns0 ip addr add ::11/96 dev veth0 ip netns exec at_ns0 ip link set dev veth0 up @@ -262,11 +262,13 @@ ip link add dev $DEV_NS type $TYPE \ local ::11 remote ::22 ip netns exec at_ns0 ip addr add dev $DEV_NS 10.1.1.100/24 + ip netns exec at_ns0 ip addr add dev $DEV_NS 1::11/96 ip netns exec at_ns0 ip link set dev $DEV_NS up # root namespace ip link add dev $DEV type $TYPE external ip addr add dev $DEV 10.1.1.200/24 + ip addr add dev $DEV 1::22/96 ip link set dev $DEV up } @@ -534,7 +536,7 @@ check $TYPE config_device - add_ipip6tnl_tunnel + add_ip6tnl_tunnel ip link set dev veth1 mtu 1500 attach_bpf $DEV ipip6_set_tunnel ipip6_get_tunnel # underlay @@ -553,6 +555,34 @@ echo -e ${GREEN}"PASS: $TYPE"${NC} } +test_ip6ip6() +{ + TYPE=ip6tnl + DEV_NS=ip6ip6tnl00 + DEV=ip6ip6tnl11 + ret=0 + + check $TYPE + config_device + add_ip6tnl_tunnel + ip link set dev veth1 mtu 1500 + attach_bpf $DEV ip6ip6_set_tunnel ip6ip6_get_tunnel + # underlay + ping6 $PING_ARG ::11 + # ip6 over ip6 + ping6 $PING_ARG 1::11 + check_err $? + ip netns exec at_ns0 ping6 $PING_ARG 1::22 + check_err $? + cleanup + + if [ $ret -ne 0 ]; then + echo -e ${RED}"FAIL: ip6$TYPE"${NC} + return 1 + fi + echo -e ${GREEN}"PASS: ip6$TYPE"${NC} +} + setup_xfrm_tunnel() { auth=0x$(printf '1%.0s' {1..40}) @@ -646,6 +676,7 @@ ip link del veth1 2> /dev/null ip link del ipip11 2> /dev/null ip link del ipip6tnl11 2> /dev/null + ip link del ip6ip6tnl11 2> /dev/null ip link del gretap11 2> /dev/null ip link del ip6gre11 2> /dev/null ip link del ip6gretap11 2> /dev/null @@ -742,6 +773,10 @@ test_ipip6 errors=$(( $errors + $? )) + echo "Testing IP6IP6 tunnel..." + test_ip6ip6 + errors=$(( $errors + $? )) + echo "Testing IPSec tunnel..." test_xfrm_tunnel errors=$(( $errors + $? )) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/verifier/array_access.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/verifier/array_access.c @@ -186,7 +186,7 @@ }, .fixup_map_hash_48b = { 3 }, .errstr_unpriv = "R0 leaks addr", - .errstr = "invalid access to map value, value_size=48 off=44 size=8", + .errstr = "R0 unbounded memory access", .result_unpriv = REJECT, .result = REJECT, .flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS, @@ -250,12 +250,13 @@ BPF_MOV64_IMM(BPF_REG_5, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_csum_diff), + BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xffff), BPF_EXIT_INSN(), }, .prog_type = BPF_PROG_TYPE_SCHED_CLS, .fixup_map_array_ro = { 3 }, .result = ACCEPT, - .retval = -29, + .retval = 65507, }, { "invalid write map access into a read-only array 1", --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/verifier/bounds_deduction.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/verifier/bounds_deduction.c @@ -6,8 +6,9 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "R0 tried to subtract pointer from scalar", + .result = REJECT, }, { "check deducing bounds from const, 2", @@ -20,6 +21,8 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_1, BPF_REG_0), BPF_EXIT_INSN(), }, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", + .result_unpriv = REJECT, .result = ACCEPT, .retval = 1, }, @@ -31,20 +34,24 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "R0 tried to subtract pointer from scalar", + .result = REJECT, }, { "check deducing bounds from const, 4", .insns = { + BPF_MOV64_REG(BPF_REG_6, BPF_REG_1), BPF_MOV64_IMM(BPF_REG_0, 0), BPF_JMP_IMM(BPF_JSLE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), - BPF_ALU64_REG(BPF_SUB, BPF_REG_1, BPF_REG_0), + BPF_ALU64_REG(BPF_SUB, BPF_REG_6, BPF_REG_0), BPF_EXIT_INSN(), }, + .errstr_unpriv = "R6 has pointer with unsupported alu operation", + .result_unpriv = REJECT, .result = ACCEPT, }, { @@ -55,8 +62,9 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "R0 tried to subtract pointer from scalar", + .result = REJECT, }, { "check deducing bounds from const, 6", @@ -67,8 +75,9 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "R0 tried to subtract pointer from scalar", + .result = REJECT, }, { "check deducing bounds from const, 7", @@ -80,8 +89,9 @@ offsetof(struct __sk_buff, mark)), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "dereference of modified ctx ptr", + .result = REJECT, .flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS, }, { @@ -94,8 +104,9 @@ offsetof(struct __sk_buff, mark)), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "dereference of modified ctx ptr", + .result = REJECT, .flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS, }, { @@ -106,8 +117,9 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, + .errstr_unpriv = "R1 has pointer with unsupported alu operation", .errstr = "R0 tried to subtract pointer from scalar", + .result = REJECT, }, { "check deducing bounds from const, 10", @@ -119,6 +131,6 @@ BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), BPF_EXIT_INSN(), }, - .result = REJECT, .errstr = "math between ctx pointer and register with unbounded min value is not allowed", + .result = REJECT, }, --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c @@ -19,7 +19,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -43,7 +42,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -69,7 +67,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R8 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -94,7 +91,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R8 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -141,7 +137,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -210,7 +205,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -260,7 +254,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -287,7 +280,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -313,7 +305,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -342,7 +333,6 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R7 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -372,7 +362,6 @@ }, .fixup_map_hash_8b = { 4 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, }, { @@ -400,7 +389,5 @@ }, .fixup_map_hash_8b = { 3 }, .errstr = "unbounded min value", - .errstr_unpriv = "R1 has unknown scalar with mixed signed bounds", .result = REJECT, - .result_unpriv = REJECT, }, --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/verifier/unpriv.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/verifier/unpriv.c @@ -495,7 +495,7 @@ .result = ACCEPT, }, { - "unpriv: adding of fp", + "unpriv: adding of fp, reg", .insns = { BPF_MOV64_IMM(BPF_REG_0, 0), BPF_MOV64_IMM(BPF_REG_1, 0), @@ -503,6 +503,19 @@ BPF_STX_MEM(BPF_DW, BPF_REG_1, BPF_REG_0, -8), BPF_EXIT_INSN(), }, + .errstr_unpriv = "R1 stack pointer arithmetic goes out of range", + .result_unpriv = REJECT, + .result = ACCEPT, +}, +{ + "unpriv: adding of fp, imm", + .insns = { + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_MOV64_REG(BPF_REG_1, BPF_REG_10), + BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0), + BPF_STX_MEM(BPF_DW, BPF_REG_1, BPF_REG_0, -8), + BPF_EXIT_INSN(), + }, .errstr_unpriv = "R1 stack pointer arithmetic goes out of range", .result_unpriv = REJECT, .result = ACCEPT, --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/bpf/verifier/value_ptr_arith.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/bpf/verifier/value_ptr_arith.c @@ -21,8 +21,6 @@ .fixup_map_hash_16b = { 5 }, .fixup_map_array_48b = { 8 }, .result = ACCEPT, - .result_unpriv = REJECT, - .errstr_unpriv = "R1 tried to add from different maps", .retval = 1, }, { @@ -122,7 +120,7 @@ .fixup_map_array_48b = { 1 }, .result = ACCEPT, .result_unpriv = REJECT, - .errstr_unpriv = "R2 tried to add from different pointers or scalars", + .errstr_unpriv = "R2 tried to add from different maps, paths or scalars", .retval = 0, }, { @@ -169,7 +167,7 @@ .fixup_map_array_48b = { 1 }, .result = ACCEPT, .result_unpriv = REJECT, - .errstr_unpriv = "R2 tried to add from different maps or paths", + .errstr_unpriv = "R2 tried to add from different maps, paths or scalars", .retval = 0, }, { @@ -517,6 +515,27 @@ .retval = 0xabcdef12, }, { + "map access: value_ptr += N, value_ptr -= N known scalar", + .insns = { + BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), + BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), + BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), + BPF_LD_MAP_FD(BPF_REG_1, 0), + BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), + BPF_MOV32_IMM(BPF_REG_1, 0x12345678), + BPF_STX_MEM(BPF_W, BPF_REG_0, BPF_REG_1, 0), + BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 2), + BPF_MOV64_IMM(BPF_REG_1, 2), + BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_1), + BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .fixup_map_array_48b = { 3 }, + .result = ACCEPT, + .retval = 0x12345678, +}, +{ "map access: unknown scalar += value_ptr, 1", .insns = { BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/cgroup/cgroup_util.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/cgroup/cgroup_util.c @@ -106,7 +106,7 @@ /* Handle the case of comparing against empty string */ if (!expected) - size = 32; + return -1; else size = strlen(expected) + 1; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/dmabuf-heaps/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/dmabuf-heaps/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS += -static -O3 -Wl,-no-as-needed -Wall -I../../../../usr/include +CFLAGS += -static -O3 -Wl,-no-as-needed -Wall TEST_GEN_PROGS = dmabuf-heap --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc @@ -9,12 +9,16 @@ :;: "user-memory access syntax and ustring working on user memory";: echo 'p:myevent do_sys_open path=+0($arg2):ustring path2=+u0($arg2):string' \ > kprobe_events +echo 'p:myevent2 do_sys_openat2 path=+0($arg2):ustring path2=+u0($arg2):string' \ + >> kprobe_events grep myevent kprobe_events | \ grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string' echo 1 > events/kprobes/myevent/enable +echo 1 > events/kprobes/myevent2/enable echo > /dev/null echo 0 > events/kprobes/myevent/enable +echo 0 > events/kprobes/myevent2/enable grep myevent trace | grep -q 'path="/dev/null" path2="/dev/null"' --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-inter-event-combined-hist.tc +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-inter-event-combined-hist.tc @@ -25,12 +25,12 @@ echo 'hist:keys=pid:ts1=common_timestamp.usecs if comm=="ping"' >> events/sched/sched_wakeup/trigger echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts1:onmatch(sched.sched_wakeup).wakeup_latency($wakeup_lat,next_pid) if next_comm=="ping"' > events/sched/sched_switch/trigger -echo 'waking+wakeup_latency u64 lat; pid_t pid' >> synthetic_events -echo 'hist:keys=pid,lat:sort=pid,lat:ww_lat=$waking_lat+$wakeup_lat:onmatch(synthetic.wakeup_latency).waking+wakeup_latency($ww_lat,pid)' >> events/synthetic/wakeup_latency/trigger -echo 'hist:keys=pid,lat:sort=pid,lat' >> events/synthetic/waking+wakeup_latency/trigger +echo 'waking_plus_wakeup_latency u64 lat; pid_t pid' >> synthetic_events +echo 'hist:keys=pid,lat:sort=pid,lat:ww_lat=$waking_lat+$wakeup_lat:onmatch(synthetic.wakeup_latency).waking_plus_wakeup_latency($ww_lat,pid)' >> events/synthetic/wakeup_latency/trigger +echo 'hist:keys=pid,lat:sort=pid,lat' >> events/synthetic/waking_plus_wakeup_latency/trigger ping $LOCALHOST -c 3 -if ! grep -q "pid:" events/synthetic/waking+wakeup_latency/hist; then +if ! grep -q "pid:" events/synthetic/waking_plus_wakeup_latency/hist; then fail "Failed to create combined histogram" fi --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/testing/selftests/kselftest/runner.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/kselftest/runner.sh @@ -32,7 +32,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-riscv-5.8-5.8.0.orig/tools/testing/selftests/kvm/include/x86_64/processor.h +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -59,7 +59,7 @@ struct desc64 { uint16_t limit0; uint16_t base0; - unsigned base1:8, s:1, type:4, dpl:2, p:1; + unsigned base1:8, type:4, s:1, dpl:2, p:1; unsigned limit1:4, avl:1, l:1, db:1, g:1, base2:8; uint32_t base3; uint32_t zero1; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/kvm/lib/x86_64/processor.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/kvm/lib/x86_64/processor.c @@ -392,11 +392,12 @@ desc->limit0 = segp->limit & 0xFFFF; desc->base0 = segp->base & 0xFFFF; desc->base1 = segp->base >> 16; - desc->s = segp->s; desc->type = segp->type; + desc->s = segp->s; desc->dpl = segp->dpl; desc->p = segp->present; desc->limit1 = segp->limit >> 16; + desc->avl = segp->avl; desc->l = segp->l; desc->db = segp->db; desc->g = segp->g; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/kvm/x86_64/debug_regs.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/kvm/x86_64/debug_regs.c @@ -40,11 +40,11 @@ /* Single step test, covers 2 basic instructions and 2 emulated */ asm volatile("ss_start: " - "xor %%rax,%%rax\n\t" + "xor %%eax,%%eax\n\t" "cpuid\n\t" "movl $0x1a0,%%ecx\n\t" "rdmsr\n\t" - : : : "rax", "ecx"); + : : : "eax", "ebx", "ecx", "edx"); /* DR6.BD test */ asm volatile("bd_start: mov %%dr0, %%rax" : : : "rax"); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/lib.mk +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/lib.mk @@ -139,7 +139,7 @@ ifeq ($(OVERRIDE_TARGETS),) LOCAL_HDRS := $(selfdir)/kselftest_harness.h $(selfdir)/kselftest.h $(OUTPUT)/%:%.c $(LOCAL_HDRS) - $(LINK.c) $^ $(LDLIBS) -o $@ + $(LINK.c) $(filter-out $(LOCAL_HDRS),$^) $(LDLIBS) -o $@ $(OUTPUT)/%.o:%.S $(COMPILE.S) $^ -o $@ --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/lkdtm/run.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/lkdtm/run.sh @@ -8,6 +8,7 @@ # set -e TRIGGER=/sys/kernel/debug/provoke-crash/DIRECT +CLEAR_ONCE=/sys/kernel/debug/clear_warn_once KSELFTEST_SKIP_TEST=4 # Verify we have LKDTM available in the kernel. @@ -67,6 +68,11 @@ } trap cleanup EXIT +# Reset WARN_ONCE counters so we trip it each time this runs. +if [ -w $CLEAR_ONCE ] ; then + echo 1 > $CLEAR_ONCE +fi + # Save existing dmesg so we can detect new content below dmesg > "$DMESG" @@ -76,7 +82,7 @@ ($SHELL -c 'cat <(echo '"$test"') >'"$TRIGGER" 2>/dev/null) || true # Record and dump the results -dmesg | diff --changed-group-format='%>' --unchanged-group-format='' "$DMESG" - > "$LOG" || true +dmesg | comm --nocheck-order -13 "$DMESG" - > "$LOG" || true cat "$LOG" # Check for expected output --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/lkdtm/tests.txt +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/lkdtm/tests.txt @@ -14,6 +14,7 @@ STACK_GUARD_PAGE_TRAILING UNSET_SMEP CR4 bits went missing DOUBLE_FAULT +CORRUPT_PAC UNALIGNED_LOAD_STORE_WRITE #OVERWRITE_ALLOCATION Corrupts memory on failure #WRITE_AFTER_FREE Corrupts memory on failure --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/memfd/fuse_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/memfd/fuse_test.c @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/memfd/memfd_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/memfd/memfd_test.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/Makefile @@ -10,7 +10,7 @@ TEST_PROGS += udpgso_bench.sh fib_rule_tests.sh msg_zerocopy.sh psock_snd.sh TEST_PROGS += udpgro_bench.sh udpgro.sh test_vxlan_under_vrf.sh reuseport_addr_any.sh TEST_PROGS += test_vxlan_fdb_changelink.sh so_txtime.sh ipv6_flowlabel.sh -TEST_PROGS += tcp_fastopen_backup_key.sh fcnal-test.sh l2tp.sh traceroute.sh +TEST_PROGS += tcp_fastopen_backup_key.sh fcnal-test.sh traceroute.sh TEST_PROGS += fin_ack_lat.sh fib_nexthop_multiprefix.sh fib_nexthops.sh TEST_PROGS += altnames.sh icmp_redirect.sh ip6_gre_headroom.sh TEST_PROGS += route_localnet.sh @@ -30,6 +30,8 @@ TEST_GEN_PROGS = reuseport_bpf reuseport_bpf_cpu reuseport_bpf_numa TEST_GEN_PROGS += reuseport_dualstack reuseaddr_conflict tls +TEST_FILES := settings + KSFT_KHDR_INSTALL := 1 include ../lib.mk --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/config +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/config @@ -31,3 +31,4 @@ CONFIG_NET_SCH_NETEM=y CONFIG_TEST_BLACKHOLE_DEV=m CONFIG_KALLSYMS=y +CONFIG_NET_FOU=m --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/fcnal-test.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/fcnal-test.sh @@ -256,6 +256,28 @@ fi } +setup_cmd_nsc() +{ + local cmd="$*" + local rc + + run_cmd_nsc ${cmd} + rc=$? + if [ $rc -ne 0 ]; then + # show user the command if not done so already + if [ "$VERBOSE" = "0" ]; then + echo "setup command: $cmd" + fi + echo "failed. stopping tests" + if [ "${PAUSE_ON_FAIL}" = "yes" ]; then + echo + echo "hit enter to continue" + read a + fi + exit $rc + fi +} + # set sysctl values in NS-A set_sysctl() { @@ -471,6 +493,36 @@ sleep 1 } +setup_lla_only() +{ + # make sure we are starting with a clean slate + kill_procs + cleanup 2>/dev/null + + log_debug "Configuring network namespaces" + set -e + + create_ns ${NSA} "-" "-" + create_ns ${NSB} "-" "-" + create_ns ${NSC} "-" "-" + connect_ns ${NSA} ${NSA_DEV} "-" "-" \ + ${NSB} ${NSB_DEV} "-" "-" + connect_ns ${NSA} ${NSA_DEV2} "-" "-" \ + ${NSC} ${NSC_DEV} "-" "-" + + NSA_LINKIP6=$(get_linklocal ${NSA} ${NSA_DEV}) + NSB_LINKIP6=$(get_linklocal ${NSB} ${NSB_DEV}) + NSC_LINKIP6=$(get_linklocal ${NSC} ${NSC_DEV}) + + create_vrf ${NSA} ${VRF} ${VRF_TABLE} "-" "-" + ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF} + ip -netns ${NSA} link set dev ${NSA_DEV2} vrf ${VRF} + + set +e + + sleep 1 +} + ################################################################################ # IPv4 @@ -3787,10 +3839,53 @@ setup_cmd_nsb ip li del vlan100 2>/dev/null } +# VRF only. +# ns-A device is connected to both ns-B and ns-C on a single VRF but only has +# LLA on the interfaces +use_case_ping_lla_multi() +{ + setup_lla_only + # only want reply from ns-A + setup_cmd_nsb sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1 + setup_cmd_nsc sysctl -qw net.ipv6.icmp.echo_ignore_multicast=1 + + log_start + run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV} + log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Pre cycle, ping out ns-B" + + run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV} + log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Pre cycle, ping out ns-C" + + # cycle/flap the first ns-A interface + setup_cmd ip link set ${NSA_DEV} down + setup_cmd ip link set ${NSA_DEV} up + sleep 1 + + log_start + run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV} + log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-B" + run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV} + log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV}, ping out ns-C" + + # cycle/flap the second ns-A interface + setup_cmd ip link set ${NSA_DEV2} down + setup_cmd ip link set ${NSA_DEV2} up + sleep 1 + + log_start + run_cmd_nsb ping -c1 -w1 ${MCAST}%${NSB_DEV} + log_test_addr ${MCAST}%${NSB_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-B" + run_cmd_nsc ping -c1 -w1 ${MCAST}%${NSC_DEV} + log_test_addr ${MCAST}%${NSC_DEV} $? 0 "Post cycle ${NSA} ${NSA_DEV2}, ping out ns-C" +} + use_cases() { log_section "Use cases" + log_subsection "Device enslaved to bridge" use_case_br + log_subsection "Ping LLA with multiple interfaces" + use_case_ping_lla_multi } ################################################################################ --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/fib_nexthops.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/fib_nexthops.sh @@ -825,7 +825,7 @@ pid3=$! ip netns exec me ping -f 2001:db8:101::2 >/dev/null 2>&1 & pid4=$! - ip netns exec me mausezahn veth1 -B 2001:db8:101::2 -A 2001:db8:91::1 -c 0 -t tcp "dp=1-1023, flags=syn" >/dev/null 2>&1 & + ip netns exec me mausezahn -6 veth1 -B 2001:db8:101::2 -A 2001:db8:91::1 -c 0 -t tcp "dp=1-1023, flags=syn" >/dev/null 2>&1 & pid5=$! sleep 300 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/fib_rule_tests.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/fib_rule_tests.sh @@ -59,6 +59,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 } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/fib_tests.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/fib_tests.sh @@ -449,6 +449,7 @@ $IP link add dummy1 type dummy $IP link set dummy1 address 52:54:00:6a:c7:5e $IP link set dev dummy1 up + $IP address add 192.0.2.1/24 dev dummy1 $NS_EXEC sysctl -qw net.ipv4.conf.all.rp_filter=1 $NS_EXEC sysctl -qw net.ipv4.conf.all.accept_local=1 $NS_EXEC sysctl -qw net.ipv4.conf.all.route_localnet=1 @@ -1055,7 +1056,6 @@ check_route6 "2001:db8:104::1 dev dummy2 proto kernel metric 260" log_test $? 0 "Set metric with peer route on local side" - log_test $? 0 "User specified metric on local address" check_route6 "2001:db8:104::2 dev dummy2 proto kernel metric 260" log_test $? 0 "Set metric with peer route on peer side" --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d_vlan.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d_vlan.sh @@ -86,11 +86,20 @@ test_gretap_stp() { + # Sometimes after mirror installation, the neighbor's state is not valid. + # The reason is that there is no SW datapath activity related to the + # neighbor for the remote GRE address. Therefore whether the corresponding + # neighbor will be valid is a matter of luck, and the test is thus racy. + # Set the neighbor's state to permanent, so it would be always valid. + ip neigh replace 192.0.2.130 lladdr $(mac_get $h3) \ + nud permanent dev br2 full_test_span_gre_stp gt4 $swp3.555 "mirror to gretap" } test_ip6gretap_stp() { + ip neigh replace 2001:db8:2::2 lladdr $(mac_get $h3) \ + nud permanent dev br2 full_test_span_gre_stp gt6 $swp3.555 "mirror to ip6gretap" } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/router_mpath_nh.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/router_mpath_nh.sh @@ -197,7 +197,7 @@ t0_rp12=$(link_stats_tx_packets_get $rp12) t0_rp13=$(link_stats_tx_packets_get $rp13) - ip vrf exec vrf-h1 $MZ -q -p 64 -A 192.0.2.2 -B 198.51.100.2 \ + ip vrf exec vrf-h1 $MZ $h1 -q -p 64 -A 192.0.2.2 -B 198.51.100.2 \ -d 1msec -t udp "sp=1024,dp=0-32768" t1_rp12=$(link_stats_tx_packets_get $rp12) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/router_multipath.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/router_multipath.sh @@ -178,7 +178,7 @@ t0_rp12=$(link_stats_tx_packets_get $rp12) t0_rp13=$(link_stats_tx_packets_get $rp13) - ip vrf exec vrf-h1 $MZ -q -p 64 -A 192.0.2.2 -B 198.51.100.2 \ + ip vrf exec vrf-h1 $MZ $h1 -q -p 64 -A 192.0.2.2 -B 198.51.100.2 \ -d 1msec -t udp "sp=1024,dp=0-32768" t1_rp12=$(link_stats_tx_packets_get $rp12) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/tc_flower.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/tc_flower.sh @@ -3,7 +3,7 @@ ALL_TESTS="match_dst_mac_test match_src_mac_test match_dst_ip_test \ match_src_ip_test match_ip_flags_test match_pcp_test match_vlan_test \ - match_ip_tos_test match_indev_test" + match_ip_tos_test match_indev_test match_ip_ttl_test" NUM_NETIFS=2 source tc_common.sh source lib.sh @@ -310,6 +310,42 @@ log_test "ip_tos match ($tcflags)" } +match_ip_ttl_test() +{ + RET=0 + + tc filter add dev $h2 ingress protocol ip pref 1 handle 101 flower \ + $tcflags dst_ip 192.0.2.2 ip_ttl 63 action drop + tc filter add dev $h2 ingress protocol ip pref 2 handle 102 flower \ + $tcflags dst_ip 192.0.2.2 action drop + + $MZ $h1 -c 1 -p 64 -a $h1mac -b $h2mac -A 192.0.2.1 -B 192.0.2.2 \ + -t ip "ttl=63" -q + + $MZ $h1 -c 1 -p 64 -a $h1mac -b $h2mac -A 192.0.2.1 -B 192.0.2.2 \ + -t ip "ttl=63,mf,frag=256" -q + + tc_check_packets "dev $h2 ingress" 102 1 + check_fail $? "Matched on the wrong filter (no check on ttl)" + + tc_check_packets "dev $h2 ingress" 101 2 + check_err $? "Did not match on correct filter (ttl=63)" + + $MZ $h1 -c 1 -p 64 -a $h1mac -b $h2mac -A 192.0.2.1 -B 192.0.2.2 \ + -t ip "ttl=255" -q + + tc_check_packets "dev $h2 ingress" 101 3 + check_fail $? "Matched on a wrong filter (ttl=63)" + + tc_check_packets "dev $h2 ingress" 102 1 + check_err $? "Did not match on correct filter (no check on ttl)" + + tc filter del dev $h2 ingress protocol ip pref 2 handle 102 flower + tc filter del dev $h2 ingress protocol ip pref 1 handle 101 flower + + log_test "ip_ttl match ($tcflags)" +} + match_indev_test() { RET=0 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/vxlan_asymmetric.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/vxlan_asymmetric.sh @@ -215,10 +215,16 @@ bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 + + sysctl_set net.ipv4.conf.all.rp_filter 0 + sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0 + sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0 } switch_destroy() { + sysctl_restore net.ipv4.conf.all.rp_filter + bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10 @@ -359,6 +365,10 @@ bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 + + sysctl_set net.ipv4.conf.all.rp_filter 0 + sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0 + sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0 } export -f ns_switch_create --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh @@ -658,7 +658,7 @@ # In accordance with INET_ECN_decapsulate() __test_ecn_decap 00 00 0x00 __test_ecn_decap 01 01 0x01 - __test_ecn_decap 02 01 0x02 + __test_ecn_decap 02 01 0x01 __test_ecn_decap 01 03 0x03 __test_ecn_decap 02 03 0x03 test_ecn_decap_error --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/forwarding/vxlan_symmetric.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/forwarding/vxlan_symmetric.sh @@ -237,10 +237,16 @@ bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 + + sysctl_set net.ipv4.conf.all.rp_filter 0 + sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0 + sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0 } switch_destroy() { + sysctl_restore net.ipv4.conf.all.rp_filter + bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20 bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10 @@ -402,6 +408,10 @@ bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10 bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20 + + sysctl_set net.ipv4.conf.all.rp_filter 0 + sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0 + sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0 } export -f ns_switch_create --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/icmp_redirect.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/icmp_redirect.sh @@ -180,6 +180,8 @@ ;; r[12]) ip netns exec $ns sysctl -q -w net.ipv4.ip_forward=1 ip netns exec $ns sysctl -q -w net.ipv4.conf.all.send_redirects=1 + ip netns exec $ns sysctl -q -w net.ipv4.conf.default.rp_filter=0 + ip netns exec $ns sysctl -q -w net.ipv4.conf.all.rp_filter=0 ip netns exec $ns sysctl -q -w net.ipv6.conf.all.forwarding=1 ip netns exec $ns sysctl -q -w net.ipv6.route.mtu_expires=10 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -421,9 +421,9 @@ duration=$(printf "(duration %05sms)" $duration) if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then echo "$duration [ FAIL ] client exit code $retc, server $rets" 1>&2 - echo "\nnetns ${listener_ns} socket stat for $port:" 1>&2 + echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 ip netns exec ${listener_ns} ss -nita 1>&2 -o "sport = :$port" - echo "\nnetns ${connector_ns} socket stat for $port:" 1>&2 + echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2 ip netns exec ${connector_ns} ss -nita 1>&2 -o "dport = :$port" cat "$capout" --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -167,9 +167,9 @@ if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then echo " client exit code $retc, server $rets" 1>&2 - echo "\nnetns ${listener_ns} socket stat for $port:" 1>&2 + echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 ip netns exec ${listener_ns} ss -nita 1>&2 -o "sport = :$port" - echo "\nnetns ${connector_ns} socket stat for $port:" 1>&2 + echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2 ip netns exec ${connector_ns} ss -nita 1>&2 -o "dport = :$port" cat "$capout" --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/msg_zerocopy.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/msg_zerocopy.c @@ -125,9 +125,8 @@ CPU_ZERO(&mask); CPU_SET(cpu, &mask); if (sched_setaffinity(0, sizeof(mask), &mask)) - error(1, 0, "setaffinity %d", cpu); - - if (cfg_verbose) + fprintf(stderr, "cpu: unable to pin, may increase variance.\n"); + else if (cfg_verbose) fprintf(stderr, "cpu: %u\n", cpu); return 0; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/pmtu.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/pmtu.sh @@ -123,7 +123,15 @@ # - list_flush_ipv6_exception # Using the same topology as in pmtu_ipv6, create exceptions, and check # they are shown when listing exception caches, gone after flushing them - +# +# - pmtu_ipv4_route_change +# Use the same topology as in pmtu_ipv4, but issue a route replacement +# command and delete the corresponding device afterward. This tests for +# proper cleanup of the PMTU exceptions by the route replacement path. +# Device unregistration should complete successfully +# +# - pmtu_ipv6_route_change +# Same as above but with IPv6 # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 @@ -169,7 +177,9 @@ cleanup_ipv4_exception ipv4: cleanup of cached exceptions 1 cleanup_ipv6_exception ipv6: cleanup of cached exceptions 1 list_flush_ipv4_exception ipv4: list and flush cached exceptions 1 - list_flush_ipv6_exception ipv6: list and flush cached exceptions 1" + list_flush_ipv6_exception ipv6: list and flush cached exceptions 1 + pmtu_ipv4_route_change ipv4: PMTU exception w/route replace 1 + pmtu_ipv6_route_change ipv6: PMTU exception w/route replace 1" NS_A="ns-A" NS_B="ns-B" @@ -296,7 +306,7 @@ encap="${3}" if [ "${outer}" = "4" ]; then - modprobe fou || return 2 + modprobe fou || return $ksft_skip a_addr="${prefix4}.${a_r1}.1" b_addr="${prefix4}.${b_r1}.1" if [ "${inner}" = "4" ]; then @@ -307,7 +317,7 @@ ipproto="41" fi else - modprobe fou6 || return 2 + modprobe fou6 || return $ksft_skip a_addr="${prefix6}:${a_r1}::1" b_addr="${prefix6}:${b_r1}::1" if [ "${inner}" = "4" ]; then @@ -321,8 +331,8 @@ fi fi - run_cmd ${ns_a} ip fou add port 5555 ipproto ${ipproto} || return 2 - run_cmd ${ns_a} ip link add ${encap}_a type ${type} ${mode} local ${a_addr} remote ${b_addr} encap ${encap} encap-sport auto encap-dport 5556 || return 2 + run_cmd ${ns_a} ip fou add port 5555 ipproto ${ipproto} || return $ksft_skip + run_cmd ${ns_a} ip link add ${encap}_a type ${type} ${mode} local ${a_addr} remote ${b_addr} encap ${encap} encap-sport auto encap-dport 5556 || return $ksft_skip run_cmd ${ns_b} ip fou add port 5556 ipproto ${ipproto} run_cmd ${ns_b} ip link add ${encap}_b type ${type} ${mode} local ${b_addr} remote ${a_addr} encap ${encap} encap-sport auto encap-dport 5555 @@ -396,7 +406,7 @@ fi fi - run_cmd ${ns_a} ip link add ip_a type ${type} local ${a_addr} remote ${b_addr} mode ${mode} || return 2 + run_cmd ${ns_a} ip link add ip_a type ${type} local ${a_addr} remote ${b_addr} mode ${mode} || return $ksft_skip run_cmd ${ns_b} ip link add ip_b type ${type} local ${b_addr} remote ${a_addr} mode ${mode} run_cmd ${ns_a} ip link set ip_a up @@ -726,7 +736,7 @@ test_pmtu_ipvX() { family=${1} - setup namespaces routing || return 2 + setup namespaces routing || return $ksft_skip trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ "${ns_r1}" veth_R1-B "${ns_b}" veth_B-R1 \ "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \ @@ -824,11 +834,11 @@ ll_mtu=4000 if [ ${outer_family} -eq 4 ]; then - setup namespaces routing ${type}4 || return 2 + setup namespaces routing ${type}4 || return $ksft_skip # IPv4 header UDP header VXLAN/GENEVE header Ethernet header exp_mtu=$((${ll_mtu} - 20 - 8 - 8 - 14)) else - setup namespaces routing ${type}6 || return 2 + setup namespaces routing ${type}6 || return $ksft_skip # IPv6 header UDP header VXLAN/GENEVE header Ethernet header exp_mtu=$((${ll_mtu} - 40 - 8 - 8 - 14)) fi @@ -898,7 +908,7 @@ encap=${3} ll_mtu=4000 - setup namespaces routing ${encap}${outer_family}${inner_family} || return 2 + setup namespaces routing ${encap}${outer_family}${inner_family} || return $ksft_skip trace "${ns_a}" ${encap}_a "${ns_b}" ${encap}_b \ "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ "${ns_b}" veth_B-R1 "${ns_r1}" veth_R1-B @@ -977,7 +987,7 @@ outer=${2} ll_mtu=4000 - setup namespaces routing ip${inner}ip${outer} || return 2 + setup namespaces routing ip${inner}ip${outer} || return $ksft_skip trace "${ns_a}" ip_a "${ns_b}" ip_b \ "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ @@ -1031,7 +1041,7 @@ } test_pmtu_vti4_exception() { - setup namespaces veth vti4 xfrm4 || return 2 + setup namespaces veth vti4 xfrm4 || return $ksft_skip trace "${ns_a}" veth_a "${ns_b}" veth_b \ "${ns_a}" vti4_a "${ns_b}" vti4_b @@ -1061,7 +1071,7 @@ } test_pmtu_vti6_exception() { - setup namespaces veth vti6 xfrm6 || return 2 + setup namespaces veth vti6 xfrm6 || return $ksft_skip trace "${ns_a}" veth_a "${ns_b}" veth_b \ "${ns_a}" vti6_a "${ns_b}" vti6_b fail=0 @@ -1091,7 +1101,7 @@ } test_pmtu_vti4_default_mtu() { - setup namespaces veth vti4 || return 2 + setup namespaces veth vti4 || return $ksft_skip # Check that MTU of vti device is MTU of veth minus IPv4 header length veth_mtu="$(link_get_mtu "${ns_a}" veth_a)" @@ -1103,7 +1113,7 @@ } test_pmtu_vti6_default_mtu() { - setup namespaces veth vti6 || return 2 + setup namespaces veth vti6 || return $ksft_skip # Check that MTU of vti device is MTU of veth minus IPv6 header length veth_mtu="$(link_get_mtu "${ns_a}" veth_a)" @@ -1115,10 +1125,10 @@ } test_pmtu_vti4_link_add_mtu() { - setup namespaces || return 2 + setup namespaces || return $ksft_skip run_cmd ${ns_a} ip link add vti4_a type vti local ${veth4_a_addr} remote ${veth4_b_addr} key 10 - [ $? -ne 0 ] && err " vti not supported" && return 2 + [ $? -ne 0 ] && err " vti not supported" && return $ksft_skip run_cmd ${ns_a} ip link del vti4_a fail=0 @@ -1153,10 +1163,10 @@ } test_pmtu_vti6_link_add_mtu() { - setup namespaces || return 2 + setup namespaces || return $ksft_skip run_cmd ${ns_a} ip link add vti6_a type vti6 local ${veth6_a_addr} remote ${veth6_b_addr} key 10 - [ $? -ne 0 ] && err " vti6 not supported" && return 2 + [ $? -ne 0 ] && err " vti6 not supported" && return $ksft_skip run_cmd ${ns_a} ip link del vti6_a fail=0 @@ -1191,10 +1201,10 @@ } test_pmtu_vti6_link_change_mtu() { - setup namespaces || return 2 + setup namespaces || return $ksft_skip run_cmd ${ns_a} ip link add dummy0 mtu 1500 type dummy - [ $? -ne 0 ] && err " dummy not supported" && return 2 + [ $? -ne 0 ] && err " dummy not supported" && return $ksft_skip run_cmd ${ns_a} ip link add dummy1 mtu 3000 type dummy run_cmd ${ns_a} ip link set dummy0 up run_cmd ${ns_a} ip link set dummy1 up @@ -1247,10 +1257,10 @@ encap="vxlan" ll_mtu=4000 - check_command taskset || return 2 + check_command taskset || return $ksft_skip cpu_list=$(grep -m 2 processor /proc/cpuinfo | cut -d ' ' -f 2) - setup namespaces routing ${encap}${outer} || return 2 + setup namespaces routing ${encap}${outer} || return $ksft_skip trace "${ns_a}" ${encap}_a "${ns_b}" ${encap}_b \ "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ "${ns_b}" veth_B-R1 "${ns_r1}" veth_R1-B @@ -1312,7 +1322,7 @@ fi err_flush exit 1 - elif [ $ret -eq 2 ]; then + elif [ $ret -eq $ksft_skip ]; then printf "TEST: %-60s [SKIP]\n" "${tdesc}" err_flush fi @@ -1335,7 +1345,7 @@ } test_list_flush_ipv4_exception() { - setup namespaces routing || return 2 + setup namespaces routing || return $ksft_skip trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ "${ns_r1}" veth_R1-B "${ns_b}" veth_B-R1 \ "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \ @@ -1389,7 +1399,7 @@ } test_list_flush_ipv6_exception() { - setup namespaces routing || return 2 + setup namespaces routing || return $ksft_skip trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ "${ns_r1}" veth_R1-B "${ns_b}" veth_B-R1 \ "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \ @@ -1438,6 +1448,63 @@ return ${fail} } +test_pmtu_ipvX_route_change() { + family=${1} + + setup namespaces routing || return 2 + trace "${ns_a}" veth_A-R1 "${ns_r1}" veth_R1-A \ + "${ns_r1}" veth_R1-B "${ns_b}" veth_B-R1 \ + "${ns_a}" veth_A-R2 "${ns_r2}" veth_R2-A \ + "${ns_r2}" veth_R2-B "${ns_b}" veth_B-R2 + + if [ ${family} -eq 4 ]; then + ping=ping + dst1="${prefix4}.${b_r1}.1" + dst2="${prefix4}.${b_r2}.1" + gw="${prefix4}.${a_r1}.2" + else + ping=${ping6} + dst1="${prefix6}:${b_r1}::1" + dst2="${prefix6}:${b_r2}::1" + gw="${prefix6}:${a_r1}::2" + fi + + # Set up initial MTU values + mtu "${ns_a}" veth_A-R1 2000 + mtu "${ns_r1}" veth_R1-A 2000 + mtu "${ns_r1}" veth_R1-B 1400 + mtu "${ns_b}" veth_B-R1 1400 + + mtu "${ns_a}" veth_A-R2 2000 + mtu "${ns_r2}" veth_R2-A 2000 + mtu "${ns_r2}" veth_R2-B 1500 + mtu "${ns_b}" veth_B-R2 1500 + + # Create route exceptions + run_cmd ${ns_a} ${ping} -q -M want -i 0.1 -w 1 -s 1800 ${dst1} + run_cmd ${ns_a} ${ping} -q -M want -i 0.1 -w 1 -s 1800 ${dst2} + + # Check that exceptions have been created with the correct PMTU + pmtu_1="$(route_get_dst_pmtu_from_exception "${ns_a}" ${dst1})" + check_pmtu_value "1400" "${pmtu_1}" "exceeding MTU" || return 1 + pmtu_2="$(route_get_dst_pmtu_from_exception "${ns_a}" ${dst2})" + check_pmtu_value "1500" "${pmtu_2}" "exceeding MTU" || return 1 + + # Replace the route from A to R1 + run_cmd ${ns_a} ip route change default via ${gw} + + # Delete the device in A + run_cmd ${ns_a} ip link del "veth_A-R1" +} + +test_pmtu_ipv4_route_change() { + test_pmtu_ipvX_route_change 4 +} + +test_pmtu_ipv6_route_change() { + test_pmtu_ipvX_route_change 6 +} + usage() { echo echo "$0 [OPTIONS] [TEST]..." @@ -1508,7 +1575,7 @@ if [ $run_this -eq 1 ]; then run_test "${name}" "${desc}" # if test was skipped no need to retry with nexthop objects - [ $? -eq 2 ] && rerun_nh=0 + [ $? -eq $ksft_skip ] && rerun_nh=0 if [ "${rerun_nh}" = "1" ]; then run_test_nh "${name}" "${desc}" --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/psock_snd.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/psock_snd.sh @@ -45,7 +45,7 @@ echo "raw csum_off" ./in_netns.sh ./psock_snd -v -c -echo "raw csum_off with bad offset (fails)" +echo "raw csum_off with bad offset (expected to fail)" (! ./in_netns.sh ./psock_snd -v -c -C) @@ -57,7 +57,7 @@ echo "raw mtu size" ./in_netns.sh ./psock_snd -l "${mss}" -echo "raw mtu size + 1 (fails)" +echo "raw mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -l "${mss_exceeds}") # fails due to ARPHRD_ETHER check in packet_extra_vlan_len_allowed @@ -65,19 +65,19 @@ # echo "raw vlan mtu size" # ./in_netns.sh ./psock_snd -V -l "${mss}" -echo "raw vlan mtu size + 1 (fails)" +echo "raw vlan mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -V -l "${mss_exceeds}") echo "dgram mtu size" ./in_netns.sh ./psock_snd -d -l "${mss}" -echo "dgram mtu size + 1 (fails)" +echo "dgram mtu size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -d -l "${mss_exceeds}") -echo "raw truncate hlen (fails: does not arrive)" +echo "raw truncate hlen (expected to fail: does not arrive)" (! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen}))") -echo "raw truncate hlen - 1 (fails: EINVAL)" +echo "raw truncate hlen - 1 (expected to fail: EINVAL)" (! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen} - 1))") @@ -86,13 +86,13 @@ echo "raw gso min size" ./in_netns.sh ./psock_snd -v -c -g -l "${mss_exceeds}" -echo "raw gso min size - 1 (fails)" +echo "raw gso min size - 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -v -c -g -l "${mss}") echo "raw gso max size" ./in_netns.sh ./psock_snd -v -c -g -l "${max_mss}" -echo "raw gso max size + 1 (fails)" +echo "raw gso max size + 1 (expected to fail)" (! ./in_netns.sh ./psock_snd -v -c -g -l "${max_mss_exceeds}") echo "OK. All tests passed" --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/reuseaddr_ports_exhausted.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/reuseaddr_ports_exhausted.c @@ -30,25 +30,25 @@ }; struct reuse_opts unreusable_opts[12] = { - {0, 0, 0, 0}, - {0, 0, 0, 1}, - {0, 0, 1, 0}, - {0, 0, 1, 1}, - {0, 1, 0, 0}, - {0, 1, 0, 1}, - {0, 1, 1, 0}, - {0, 1, 1, 1}, - {1, 0, 0, 0}, - {1, 0, 0, 1}, - {1, 0, 1, 0}, - {1, 0, 1, 1}, + {{0, 0}, {0, 0}}, + {{0, 0}, {0, 1}}, + {{0, 0}, {1, 0}}, + {{0, 0}, {1, 1}}, + {{0, 1}, {0, 0}}, + {{0, 1}, {0, 1}}, + {{0, 1}, {1, 0}}, + {{0, 1}, {1, 1}}, + {{1, 0}, {0, 0}}, + {{1, 0}, {0, 1}}, + {{1, 0}, {1, 0}}, + {{1, 0}, {1, 1}}, }; struct reuse_opts reusable_opts[4] = { - {1, 1, 0, 0}, - {1, 1, 0, 1}, - {1, 1, 1, 0}, - {1, 1, 1, 1}, + {{1, 1}, {0, 0}}, + {{1, 1}, {0, 1}}, + {{1, 1}, {1, 0}}, + {{1, 1}, {1, 1}}, }; int bind_port(struct __test_metadata *_metadata, int reuseaddr, int reuseport) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/rtnetlink.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/rtnetlink.sh @@ -5,7 +5,6 @@ # set -e devdummy="test-dummy0" -ret=0 # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 @@ -66,7 +65,7 @@ devbr="test-br0" vlandev="testbr-vlan1" - ret=0 + local ret=0 ip link add name "$devbr" type bridge check_err $? @@ -113,7 +112,7 @@ rem=10.42.42.1 loc=10.0.0.1 - ret=0 + local ret=0 ip tunnel add $gredev mode gre remote $rem local $loc ttl 1 check_err $? ip link set $gredev up @@ -149,7 +148,7 @@ kci_test_tc() { dev=lo - ret=0 + local ret=0 tc qdisc add dev "$dev" root handle 1: htb check_err $? @@ -184,7 +183,7 @@ kci_test_polrouting() { - ret=0 + local ret=0 ip rule add fwmark 1 lookup 100 check_err $? ip route add local 0.0.0.0/0 dev lo table 100 @@ -207,7 +206,7 @@ { local hash_policy=$(sysctl -n net.ipv4.fib_multipath_hash_policy) - ret=0 + local ret=0 ip route get 127.0.0.1 > /dev/null check_err $? @@ -290,7 +289,7 @@ kci_test_addrlabel() { - ret=0 + local ret=0 ip addrlabel add prefix dead::/64 dev lo label 1 check_err $? @@ -330,7 +329,7 @@ kci_test_ifalias() { - ret=0 + local ret=0 namewant=$(uuidgen) syspathname="/sys/class/net/$devdummy/ifalias" @@ -385,7 +384,7 @@ kci_test_vrf() { vrfname="test-vrf" - ret=0 + local ret=0 ip link show type vrf 2>/dev/null if [ $? -ne 0 ]; then @@ -425,7 +424,7 @@ kci_test_encap_vxlan() { - ret=0 + local ret=0 vxlan="test-vxlan0" vlan="test-vlan0" testns="$1" @@ -511,7 +510,7 @@ kci_test_encap_fou() { - ret=0 + local ret=0 name="test-fou" testns="$1" @@ -521,6 +520,11 @@ return $ksft_skip fi + if ! /sbin/modprobe -q -n fou; then + echo "SKIP: module fou is not found" + return $ksft_skip + fi + /sbin/modprobe -q fou ip -netns "$testns" fou add port 7777 ipproto 47 2>/dev/null if [ $? -ne 0 ];then echo "FAIL: can't add fou port 7777, skipping test" @@ -548,7 +552,7 @@ kci_test_encap() { testns="testns" - ret=0 + local ret=0 ip netns add "$testns" if [ $? -ne 0 ]; then @@ -565,15 +569,18 @@ check_err $? kci_test_encap_vxlan "$testns" + check_err $? kci_test_encap_fou "$testns" + check_err $? ip netns del "$testns" + return $ret } kci_test_macsec() { msname="test_macsec0" - ret=0 + local ret=0 ip macsec help 2>&1 | grep -q "^Usage: ip macsec" if [ $? -ne 0 ]; then @@ -631,7 +638,7 @@ #------------------------------------------------------------------- kci_test_ipsec() { - ret=0 + local ret=0 algo="aead rfc4106(gcm(aes)) 0x3132333435363738393031323334353664636261 128" srcip=192.168.123.1 dstip=192.168.123.2 @@ -731,7 +738,7 @@ #------------------------------------------------------------------- kci_test_ipsec_offload() { - ret=0 + local ret=0 algo="aead rfc4106(gcm(aes)) 0x3132333435363738393031323334353664636261 128" srcip=192.168.123.3 dstip=192.168.123.4 @@ -841,7 +848,7 @@ { testns="testns" DEV_NS=gretap00 - ret=0 + local ret=0 ip netns add "$testns" if [ $? -ne 0 ]; then @@ -891,7 +898,7 @@ { testns="testns" DEV_NS=ip6gretap00 - ret=0 + local ret=0 ip netns add "$testns" if [ $? -ne 0 ]; then @@ -941,7 +948,7 @@ { testns="testns" DEV_NS=erspan00 - ret=0 + local ret=0 ip link help erspan 2>&1 | grep -q "^Usage:" if [ $? -ne 0 ];then @@ -1006,7 +1013,7 @@ { testns="testns" DEV_NS=ip6erspan00 - ret=0 + local ret=0 ip link help ip6erspan 2>&1 | grep -q "^Usage:" if [ $? -ne 0 ];then @@ -1077,7 +1084,7 @@ test_mac=de:ad:be:ef:13:37 localip="10.0.2.2" dstip="10.0.2.3" - ret=0 + local ret=0 bridge fdb help 2>&1 |grep -q 'bridge fdb get' if [ $? -ne 0 ];then @@ -1125,7 +1132,7 @@ dstmac=de:ad:be:ef:13:37 dstip=10.0.2.4 dstip6=dead::2 - ret=0 + local ret=0 ip neigh help 2>&1 |grep -q 'ip neigh get' if [ $? -ne 0 ];then @@ -1175,6 +1182,7 @@ kci_test_rtnl() { + local ret=0 kci_add_dummy if [ $ret -ne 0 ];then echo "FAIL: cannot add dummy interface" @@ -1182,27 +1190,48 @@ fi kci_test_polrouting + check_err $? kci_test_route_get + check_err $? kci_test_addrlft + check_err $? kci_test_promote_secondaries + check_err $? kci_test_tc + check_err $? kci_test_gre + check_err $? kci_test_gretap + check_err $? kci_test_ip6gretap + check_err $? kci_test_erspan + check_err $? kci_test_ip6erspan + check_err $? kci_test_bridge + check_err $? kci_test_addrlabel + check_err $? kci_test_ifalias + check_err $? kci_test_vrf + check_err $? kci_test_encap + check_err $? kci_test_macsec + check_err $? kci_test_ipsec + check_err $? kci_test_ipsec_offload + check_err $? kci_test_fdb_get + check_err $? kci_test_neigh_get + check_err $? kci_del_dummy + return $ret } #check for needed privileges @@ -1221,4 +1250,4 @@ kci_test_rtnl -exit $ret +exit $? --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/settings +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/settings @@ -0,0 +1 @@ +timeout=0 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/socket.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/socket.c @@ -6,6 +6,7 @@ #include #include #include +#include struct socket_testcase { int domain; @@ -24,7 +25,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-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/test_bpf.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/test_bpf.sh @@ -2,7 +2,10 @@ # SPDX-License-Identifier: GPL-2.0 # Runs bpf test using test_bpf kernel module -if /sbin/modprobe -q test_bpf ; then +# Test whether test_bpf module exists +if ! /sbin/modprobe -q -n test_bpf; then + echo "SKIP: test_bpf module not found" +elif /sbin/modprobe -q test_bpf ; then /sbin/modprobe -q -r test_bpf; echo "test_bpf: ok"; else --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/test_vxlan_under_vrf.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/test_vxlan_under_vrf.sh @@ -50,7 +50,7 @@ ip link del veth-tap 2>/dev/null || true for ns in hv-1 hv-2 vm-1 vm-2; do - ip netns del $ns || true + ip netns del $ns 2>/dev/null || true done } @@ -125,5 +125,8 @@ ip -netns hv-2 link set veth0 up echo -n "Check VM connectivity through VXLAN (underlay in a VRF) " -ip netns exec vm-1 ping -c 1 -W 1 10.0.0.2 &> /dev/null || (echo "[FAIL]"; false) -echo "[ OK ]" +if ! ip netns exec vm-1 ping -c 1 -W 1 10.0.0.2 &> /dev/null; then + echo "[XFAIL]" +else + echo "[ OK ]" +fi --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/txtimestamp.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/txtimestamp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -34,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -493,12 +493,12 @@ total_len = cfg_payload_len; if (cfg_use_pf_packet || cfg_proto == SOCK_RAW) { total_len += sizeof(struct udphdr); - if (cfg_use_pf_packet || cfg_ipproto == IPPROTO_RAW) + if (cfg_use_pf_packet || cfg_ipproto == IPPROTO_RAW) { if (family == PF_INET) total_len += sizeof(struct iphdr); else total_len += sizeof(struct ipv6hdr); - + } /* special case, only rawv6_sendmsg: * pass proto in sin6_port if not connected * also see ANK comment in net/ipv4/raw.c --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/udpgro.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/udpgro.sh @@ -5,6 +5,14 @@ readonly PEER_NS="ns-peer-$(mktemp -u XXXXXX)" +# set global exit status, but never reset nonzero one. +check_err() +{ + if [ $ret -eq 0 ]; then + ret=$1 + fi +} + cleanup() { local -r jobs="$(jobs -p)" local -r ns="$(ip netns list|grep $PEER_NS)" @@ -44,7 +52,9 @@ # Hack: let bg programs complete the startup sleep 0.1 ./udpgso_bench_tx ${tx_args} + ret=$? wait $(jobs -p) + return $ret } run_test() { @@ -87,8 +97,10 @@ sleep 0.1 ./udpgso_bench_tx ${tx_args} + ret=$? kill -INT $pid wait $(jobs -p) + return $ret } run_one_2sock() { @@ -110,7 +122,9 @@ sleep 0.1 # first UDP GSO socket should be closed at this point ./udpgso_bench_tx ${tx_args} + ret=$? wait $(jobs -p) + return $ret } run_nat_test() { @@ -131,36 +145,54 @@ local -r core_args="-l 4" local -r ipv4_args="${core_args} -4 -D 192.168.1.1" local -r ipv6_args="${core_args} -6 -D 2001:db8::1" + ret=0 echo "ipv4" run_test "no GRO" "${ipv4_args} -M 10 -s 1400" "-4 -n 10 -l 1400" + check_err $? # explicitly check we are not receiving UDP_SEGMENT cmsg (-S -1) # when GRO does not take place run_test "no GRO chk cmsg" "${ipv4_args} -M 10 -s 1400" "-4 -n 10 -l 1400 -S -1" + check_err $? # the GSO packets are aggregated because: # * veth schedule napi after each xmit # * segmentation happens in BH context, veth napi poll is delayed after # the transmission of the last segment run_test "GRO" "${ipv4_args} -M 1 -s 14720 -S 0 " "-4 -n 1 -l 14720" + check_err $? run_test "GRO chk cmsg" "${ipv4_args} -M 1 -s 14720 -S 0 " "-4 -n 1 -l 14720 -S 1472" + check_err $? run_test "GRO with custom segment size" "${ipv4_args} -M 1 -s 14720 -S 500 " "-4 -n 1 -l 14720" + check_err $? run_test "GRO with custom segment size cmsg" "${ipv4_args} -M 1 -s 14720 -S 500 " "-4 -n 1 -l 14720 -S 500" + check_err $? run_nat_test "bad GRO lookup" "${ipv4_args} -M 1 -s 14720 -S 0" "-n 10 -l 1472" + check_err $? run_2sock_test "multiple GRO socks" "${ipv4_args} -M 1 -s 14720 -S 0 " "-4 -n 1 -l 14720 -S 1472" + check_err $? echo "ipv6" run_test "no GRO" "${ipv6_args} -M 10 -s 1400" "-n 10 -l 1400" + check_err $? run_test "no GRO chk cmsg" "${ipv6_args} -M 10 -s 1400" "-n 10 -l 1400 -S -1" + check_err $? run_test "GRO" "${ipv6_args} -M 1 -s 14520 -S 0" "-n 1 -l 14520" + check_err $? run_test "GRO chk cmsg" "${ipv6_args} -M 1 -s 14520 -S 0" "-n 1 -l 14520 -S 1452" + check_err $? run_test "GRO with custom segment size" "${ipv6_args} -M 1 -s 14520 -S 500" "-n 1 -l 14520" + check_err $? run_test "GRO with custom segment size cmsg" "${ipv6_args} -M 1 -s 14520 -S 500" "-n 1 -l 14520 -S 500" + check_err $? run_nat_test "bad GRO lookup" "${ipv6_args} -M 1 -s 14520 -S 0" "-n 10 -l 1452" + check_err $? run_2sock_test "multiple GRO socks" "${ipv6_args} -M 1 -s 14520 -S 0 " "-n 1 -l 14520 -S 1452" + check_err $? + return $ret } if [ ! -f ../bpf/xdp_dummy.o ]; then @@ -180,3 +212,5 @@ shift run_one_2sock $@ fi + +exit $? --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/udpgso_bench_rx.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/udpgso_bench_rx.c @@ -113,6 +113,9 @@ interrupted = true; break; } + + /* no events and more time to wait, do poll again */ + continue; } if (pfd.revents != POLLIN) error(1, errno, "poll: 0x%x expected 0x%x\n", --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/net/xfrm_policy.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/net/xfrm_policy.sh @@ -202,7 +202,7 @@ # 1: iptables -m policy rule count != 0 rval=$1 ip=$2 - lret=0 + local lret=0 ip netns exec ns1 ping -q -c 1 10.0.2.$ip > /dev/null @@ -287,6 +287,47 @@ return 0 } +# insert non-overlapping policies in a random order and check that +# all of them can be fetched using the traffic selectors. +check_random_order() +{ + local ns=$1 + local log=$2 + + for i in $(seq 100); do + ip -net $ns xfrm policy flush + for j in $(seq 0 16 255 | sort -R); do + ip -net $ns xfrm policy add dst $j.0.0.0/24 dir out priority 10 action allow + done + for j in $(seq 0 16 255); do + if ! ip -net $ns xfrm policy get dst $j.0.0.0/24 dir out > /dev/null; then + echo "FAIL: $log" 1>&2 + return 1 + fi + done + done + + for i in $(seq 100); do + ip -net $ns xfrm policy flush + for j in $(seq 0 16 255 | sort -R); do + local addr=$(printf "e000:0000:%02x00::/56" $j) + ip -net $ns xfrm policy add dst $addr dir out priority 10 action allow + done + for j in $(seq 0 16 255); do + local addr=$(printf "e000:0000:%02x00::/56" $j) + if ! ip -net $ns xfrm policy get dst $addr dir out > /dev/null; then + echo "FAIL: $log" 1>&2 + return 1 + fi + done + done + + ip -net $ns xfrm policy flush + + echo "PASS: $log" + return 0 +} + #check for needed privileges if [ "$(id -u)" -ne 0 ];then echo "SKIP: Need root privileges" @@ -438,6 +479,8 @@ check_hthresh_repeat "policies with repeated htresh change" +check_random_order ns3 "policies inserted in random order" + for i in 1 2 3 4;do ip netns del ns$i;done exit $ret --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/netfilter/nft_conntrack_helper.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/netfilter/nft_conntrack_helper.sh @@ -94,7 +94,13 @@ local message=$2 local port=$3 - ip netns exec ${netns} conntrack -L -p tcp --dport $port 2> /dev/null |grep -q 'helper=ftp' + if echo $message |grep -q 'ipv6';then + local family="ipv6" + else + local family="ipv4" + fi + + ip netns exec ${netns} conntrack -L -f $family -p tcp --dport $port 2> /dev/null |grep -q 'helper=ftp' if [ $? -ne 0 ] ; then echo "FAIL: ${netns} did not show attached helper $message" 1>&2 ret=1 @@ -111,8 +117,8 @@ sleep 3 | ip netns exec ${ns2} nc -w 2 -l -p $port > /dev/null & - sleep 1 sleep 1 | ip netns exec ${ns1} nc -w 2 10.0.1.2 $port > /dev/null & + sleep 1 check_for_helper "$ns1" "ip $msg" $port check_for_helper "$ns2" "ip $msg" $port @@ -128,8 +134,8 @@ sleep 3 | ip netns exec ${ns2} nc -w 2 -6 -l -p $port > /dev/null & - sleep 1 sleep 1 | ip netns exec ${ns1} nc -w 2 -6 dead:1::2 $port > /dev/null & + sleep 1 check_for_helper "$ns1" "ipv6 $msg" $port check_for_helper "$ns2" "ipv6 $msg" $port --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/pidfd/pidfd_open_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/pidfd/pidfd_open_test.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/pidfd/pidfd_poll_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/pidfd/pidfd_poll_test.c @@ -3,7 +3,6 @@ #define _GNU_SOURCE #include #include -#include #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/alignment/alignment_handler.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/alignment/alignment_handler.c @@ -226,8 +226,12 @@ } rc = 0; - /* offset = 0 no alignment fault, so skip */ - for (offset = 1; offset < 16; offset++) { + /* + * offset = 0 is aligned but tests the workaround for the P9N + * DD2.1 vector CI load issue (see 5080332c2c89 "powerpc/64s: + * Add workaround for P9 vector CI load issue") + */ + for (offset = 0; offset < 16; offset++) { width = 16; /* vsx == 16 bytes */ r = 0; @@ -380,7 +384,6 @@ LOAD_DFORM_TEST(ldu); LOAD_XFORM_TEST(ldx); LOAD_XFORM_TEST(ldux); - LOAD_DFORM_TEST(lmw); STORE_DFORM_TEST(stb); STORE_XFORM_TEST(stbx); STORE_DFORM_TEST(stbu); @@ -399,7 +402,11 @@ STORE_XFORM_TEST(stdx); STORE_DFORM_TEST(stdu); STORE_XFORM_TEST(stdux); + +#ifdef __BIG_ENDIAN__ + LOAD_DFORM_TEST(lmw); STORE_DFORM_TEST(stmw); +#endif return rc; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/benchmarks/context_switch.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/benchmarks/context_switch.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -104,8 +105,9 @@ static void start_process_on(void *(*fn)(void *), void *arg, unsigned long cpu) { - int pid; - cpu_set_t cpuset; + int pid, ncpus; + cpu_set_t *cpuset; + size_t size; pid = fork(); if (pid == -1) { @@ -116,14 +118,23 @@ if (pid) return; - CPU_ZERO(&cpuset); - CPU_SET(cpu, &cpuset); + ncpus = get_nprocs(); + size = CPU_ALLOC_SIZE(ncpus); + cpuset = CPU_ALLOC(ncpus); + if (!cpuset) { + perror("malloc"); + exit(1); + } + CPU_ZERO_S(size, cpuset); + CPU_SET_S(cpu, size, cpuset); - if (sched_setaffinity(0, sizeof(cpuset), &cpuset)) { + if (sched_setaffinity(0, size, cpuset)) { perror("sched_setaffinity"); + CPU_FREE(cpuset); exit(1); } + CPU_FREE(cpuset); fn(arg); exit(0); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/copyloops/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/copyloops/Makefile @@ -12,7 +12,7 @@ TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ copyuser_p7_t0 copyuser_p7_t1 \ memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \ - memcpy_p7_t0 memcpy_p7_t1 memcpy_mcsafe_64 \ + memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \ copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 EXTRA_SOURCES := validate.c ../harness.c stubs.S @@ -45,9 +45,9 @@ -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ -o $@ $^ -$(OUTPUT)/memcpy_mcsafe_64: memcpy_mcsafe_64.S $(EXTRA_SOURCES) +$(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES) $(CC) $(CPPFLAGS) $(CFLAGS) \ - -D COPY_LOOP=test_memcpy_mcsafe \ + -D COPY_LOOP=test_copy_mc_generic \ -o $@ $^ $(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \ --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/copyloops/copy_mc_64.S +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/copyloops/copy_mc_64.S @@ -0,0 +1,242 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) IBM Corporation, 2011 + * Derived from copyuser_power7.s by Anton Blanchard + * Author - Balbir Singh + */ +#include +#include +#include + + .macro err1 +100: + EX_TABLE(100b,.Ldo_err1) + .endm + + .macro err2 +200: + EX_TABLE(200b,.Ldo_err2) + .endm + + .macro err3 +300: EX_TABLE(300b,.Ldone) + .endm + +.Ldo_err2: + ld r22,STK_REG(R22)(r1) + ld r21,STK_REG(R21)(r1) + ld r20,STK_REG(R20)(r1) + ld r19,STK_REG(R19)(r1) + ld r18,STK_REG(R18)(r1) + ld r17,STK_REG(R17)(r1) + ld r16,STK_REG(R16)(r1) + ld r15,STK_REG(R15)(r1) + ld r14,STK_REG(R14)(r1) + addi r1,r1,STACKFRAMESIZE +.Ldo_err1: + /* Do a byte by byte copy to get the exact remaining size */ + mtctr r7 +46: +err3; lbz r0,0(r4) + addi r4,r4,1 +err3; stb r0,0(r3) + addi r3,r3,1 + bdnz 46b + li r3,0 + blr + +.Ldone: + mfctr r3 + blr + + +_GLOBAL(copy_mc_generic) + mr r7,r5 + cmpldi r5,16 + blt .Lshort_copy + +.Lcopy: + /* Get the source 8B aligned */ + neg r6,r4 + mtocrf 0x01,r6 + clrldi r6,r6,(64-3) + + bf cr7*4+3,1f +err1; lbz r0,0(r4) + addi r4,r4,1 +err1; stb r0,0(r3) + addi r3,r3,1 + subi r7,r7,1 + +1: bf cr7*4+2,2f +err1; lhz r0,0(r4) + addi r4,r4,2 +err1; sth r0,0(r3) + addi r3,r3,2 + subi r7,r7,2 + +2: bf cr7*4+1,3f +err1; lwz r0,0(r4) + addi r4,r4,4 +err1; stw r0,0(r3) + addi r3,r3,4 + subi r7,r7,4 + +3: sub r5,r5,r6 + cmpldi r5,128 + + mflr r0 + stdu r1,-STACKFRAMESIZE(r1) + std r14,STK_REG(R14)(r1) + std r15,STK_REG(R15)(r1) + std r16,STK_REG(R16)(r1) + std r17,STK_REG(R17)(r1) + std r18,STK_REG(R18)(r1) + std r19,STK_REG(R19)(r1) + std r20,STK_REG(R20)(r1) + std r21,STK_REG(R21)(r1) + std r22,STK_REG(R22)(r1) + std r0,STACKFRAMESIZE+16(r1) + + blt 5f + srdi r6,r5,7 + mtctr r6 + + /* Now do cacheline (128B) sized loads and stores. */ + .align 5 +4: +err2; ld r0,0(r4) +err2; ld r6,8(r4) +err2; ld r8,16(r4) +err2; ld r9,24(r4) +err2; ld r10,32(r4) +err2; ld r11,40(r4) +err2; ld r12,48(r4) +err2; ld r14,56(r4) +err2; ld r15,64(r4) +err2; ld r16,72(r4) +err2; ld r17,80(r4) +err2; ld r18,88(r4) +err2; ld r19,96(r4) +err2; ld r20,104(r4) +err2; ld r21,112(r4) +err2; ld r22,120(r4) + addi r4,r4,128 +err2; std r0,0(r3) +err2; std r6,8(r3) +err2; std r8,16(r3) +err2; std r9,24(r3) +err2; std r10,32(r3) +err2; std r11,40(r3) +err2; std r12,48(r3) +err2; std r14,56(r3) +err2; std r15,64(r3) +err2; std r16,72(r3) +err2; std r17,80(r3) +err2; std r18,88(r3) +err2; std r19,96(r3) +err2; std r20,104(r3) +err2; std r21,112(r3) +err2; std r22,120(r3) + addi r3,r3,128 + subi r7,r7,128 + bdnz 4b + + clrldi r5,r5,(64-7) + + /* Up to 127B to go */ +5: srdi r6,r5,4 + mtocrf 0x01,r6 + +6: bf cr7*4+1,7f +err2; ld r0,0(r4) +err2; ld r6,8(r4) +err2; ld r8,16(r4) +err2; ld r9,24(r4) +err2; ld r10,32(r4) +err2; ld r11,40(r4) +err2; ld r12,48(r4) +err2; ld r14,56(r4) + addi r4,r4,64 +err2; std r0,0(r3) +err2; std r6,8(r3) +err2; std r8,16(r3) +err2; std r9,24(r3) +err2; std r10,32(r3) +err2; std r11,40(r3) +err2; std r12,48(r3) +err2; std r14,56(r3) + addi r3,r3,64 + subi r7,r7,64 + +7: ld r14,STK_REG(R14)(r1) + ld r15,STK_REG(R15)(r1) + ld r16,STK_REG(R16)(r1) + ld r17,STK_REG(R17)(r1) + ld r18,STK_REG(R18)(r1) + ld r19,STK_REG(R19)(r1) + ld r20,STK_REG(R20)(r1) + ld r21,STK_REG(R21)(r1) + ld r22,STK_REG(R22)(r1) + addi r1,r1,STACKFRAMESIZE + + /* Up to 63B to go */ + bf cr7*4+2,8f +err1; ld r0,0(r4) +err1; ld r6,8(r4) +err1; ld r8,16(r4) +err1; ld r9,24(r4) + addi r4,r4,32 +err1; std r0,0(r3) +err1; std r6,8(r3) +err1; std r8,16(r3) +err1; std r9,24(r3) + addi r3,r3,32 + subi r7,r7,32 + + /* Up to 31B to go */ +8: bf cr7*4+3,9f +err1; ld r0,0(r4) +err1; ld r6,8(r4) + addi r4,r4,16 +err1; std r0,0(r3) +err1; std r6,8(r3) + addi r3,r3,16 + subi r7,r7,16 + +9: clrldi r5,r5,(64-4) + + /* Up to 15B to go */ +.Lshort_copy: + mtocrf 0x01,r5 + bf cr7*4+0,12f +err1; lwz r0,0(r4) /* Less chance of a reject with word ops */ +err1; lwz r6,4(r4) + addi r4,r4,8 +err1; stw r0,0(r3) +err1; stw r6,4(r3) + addi r3,r3,8 + subi r7,r7,8 + +12: bf cr7*4+1,13f +err1; lwz r0,0(r4) + addi r4,r4,4 +err1; stw r0,0(r3) + addi r3,r3,4 + subi r7,r7,4 + +13: bf cr7*4+2,14f +err1; lhz r0,0(r4) + addi r4,r4,2 +err1; sth r0,0(r3) + addi r3,r3,2 + subi r7,r7,2 + +14: bf cr7*4+3,15f +err1; lbz r0,0(r4) +err1; stb r0,0(r3) + +15: li r3,0 + blr + +EXPORT_SYMBOL_GPL(copy_mc_generic); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/eeh/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/eeh/Makefile @@ -3,7 +3,7 @@ $(MAKE) -C ../ TEST_PROGS := eeh-basic.sh -TEST_FILES := eeh-functions.sh +TEST_FILES := eeh-functions.sh settings top_srcdir = ../../../../.. include ../../lib.mk --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/eeh/eeh-basic.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/eeh/eeh-basic.sh @@ -1,17 +1,19 @@ #!/bin/sh # SPDX-License-Identifier: GPL-2.0-only +KSELFTESTS_SKIP=4 + . ./eeh-functions.sh if ! eeh_supported ; then echo "EEH not supported on this system, skipping" - exit 0; + exit $KSELFTESTS_SKIP; fi if [ ! -e "/sys/kernel/debug/powerpc/eeh_dev_check" ] && \ [ ! -e "/sys/kernel/debug/powerpc/eeh_dev_break" ] ; then echo "debugfs EEH testing files are missing. Is debugfs mounted?" - exit 1; + exit $KSELFTESTS_SKIP; fi pre_lspci=`mktemp` @@ -84,4 +86,5 @@ lspci | diff -u $pre_lspci - rm -f $pre_lspci -exit $failed +test "$failed" -eq 0 +exit $? --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/eeh/eeh-functions.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/eeh/eeh-functions.sh @@ -5,12 +5,17 @@ local dev="$1" local path="/sys/bus/pci/devices/$dev/eeh_pe_state" - if ! [ -e "$path" ] ; then + # if a driver doesn't support the error handling callbacks then the + # device is recovered by removing and re-probing it. This causes the + # sysfs directory to disappear so read the PE state once and squash + # any potential error messages + local eeh_state="$(cat $path 2>/dev/null)" + if [ -z "$eeh_state" ]; then return 1; fi - local fw_state="$(cut -d' ' -f1 < $path)" - local sw_state="$(cut -d' ' -f2 < $path)" + local fw_state="$(echo $eeh_state | cut -d' ' -f1)" + local sw_state="$(echo $eeh_state | cut -d' ' -f2)" # If EEH_PE_ISOLATED or EEH_PE_RECOVERING are set then the PE is in an # error state or being recovered. Either way, not ok. --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/eeh/settings +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/eeh/settings @@ -0,0 +1 @@ +timeout=300 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/back_to_back_ebbs_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/back_to_back_ebbs_test.c @@ -91,8 +91,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); event_close(&event); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/cycles_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/cycles_test.c @@ -42,8 +42,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); event_close(&event); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_freeze_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_freeze_test.c @@ -99,8 +99,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); printf("EBBs while frozen %d\n", ebbs_while_frozen); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_mmcr2_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_mmcr2_test.c @@ -71,8 +71,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); event_close(&event); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/ebb.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/ebb.c @@ -396,8 +396,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); event_close(&event); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/ebb_on_willing_child_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/ebb_on_willing_child_test.c @@ -38,8 +38,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); FAIL_IF(ebb_state.stats.ebb_count == 0); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/lost_exception_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/lost_exception_test.c @@ -75,7 +75,6 @@ ebb_freeze_pmcs(); ebb_global_disable(); - count_pmc(4, sample_period); mtspr(SPRN_PMC4, 0xdead); dump_summary_ebb_state(); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/multi_counter_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/multi_counter_test.c @@ -70,13 +70,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - count_pmc(2, sample_period); - count_pmc(3, sample_period); - count_pmc(4, sample_period); - count_pmc(5, sample_period); - count_pmc(6, sample_period); - dump_ebb_state(); for (i = 0; i < 6; i++) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/multi_ebb_procs_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/multi_ebb_procs_test.c @@ -61,8 +61,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_summary_ebb_state(); event_close(&event); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/pmae_handling_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/pmae_handling_test.c @@ -82,8 +82,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(1, sample_period); - dump_ebb_state(); if (mmcr0_mismatch) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/pmu/ebb/pmc56_overflow_test.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/pmu/ebb/pmc56_overflow_test.c @@ -76,8 +76,6 @@ ebb_global_disable(); ebb_freeze_pmcs(); - count_pmc(2, sample_period); - dump_ebb_state(); printf("PMC5/6 overflow %d\n", pmc56_overflowed); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/ptrace/Makefile +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c @@ -44,7 +44,7 @@ unsigned long amr2; /* AMR value that ptrace should refuse to write to the child. */ - unsigned long amr3; + unsigned long invalid_amr; /* IAMR value the parent expects to read from the child. */ unsigned long expected_iamr; @@ -57,8 +57,8 @@ * (even though they're valid ones) because userspace doesn't have * access to those registers. */ - unsigned long new_iamr; - unsigned long new_uamor; + unsigned long invalid_iamr; + unsigned long invalid_uamor; }; static int sys_pkey_alloc(unsigned long flags, unsigned long init_access_rights) @@ -66,11 +66,6 @@ return syscall(__NR_pkey_alloc, flags, init_access_rights); } -static int sys_pkey_free(int pkey) -{ - return syscall(__NR_pkey_free, pkey); -} - static int child(struct shared_info *info) { unsigned long reg; @@ -100,28 +95,32 @@ info->amr1 |= 3ul << pkeyshift(pkey1); info->amr2 |= 3ul << pkeyshift(pkey2); - info->amr3 |= info->amr2 | 3ul << pkeyshift(pkey3); + /* + * invalid amr value where we try to force write + * things which are deined by a uamor setting. + */ + info->invalid_amr = info->amr2 | (~0x0UL & ~info->expected_uamor); + /* + * if PKEY_DISABLE_EXECUTE succeeded we should update the expected_iamr + */ if (disable_execute) info->expected_iamr |= 1ul << pkeyshift(pkey1); else info->expected_iamr &= ~(1ul << pkeyshift(pkey1)); - info->expected_iamr &= ~(1ul << pkeyshift(pkey2) | 1ul << pkeyshift(pkey3)); - - info->expected_uamor |= 3ul << pkeyshift(pkey1) | - 3ul << pkeyshift(pkey2); - info->new_iamr |= 1ul << pkeyshift(pkey1) | 1ul << pkeyshift(pkey2); - info->new_uamor |= 3ul << pkeyshift(pkey1); + /* + * We allocated pkey2 and pkey 3 above. Clear the IAMR bits. + */ + info->expected_iamr &= ~(1ul << pkeyshift(pkey2)); + info->expected_iamr &= ~(1ul << pkeyshift(pkey3)); /* - * We won't use pkey3. We just want a plausible but invalid key to test - * whether ptrace will let us write to AMR bits we are not supposed to. - * - * This also tests whether the kernel restores the UAMOR permissions - * after a key is freed. + * Create an IAMR value different from expected value. + * Kernel will reject an IAMR and UAMOR change. */ - sys_pkey_free(pkey3); + info->invalid_iamr = info->expected_iamr | (1ul << pkeyshift(pkey1) | 1ul << pkeyshift(pkey2)); + info->invalid_uamor = info->expected_uamor & ~(0x3ul << pkeyshift(pkey1)); printf("%-30s AMR: %016lx pkey1: %d pkey2: %d pkey3: %d\n", user_write, info->amr1, pkey1, pkey2, pkey3); @@ -196,9 +195,9 @@ PARENT_SKIP_IF_UNSUPPORTED(ret, &info->child_sync); PARENT_FAIL_IF(ret, &info->child_sync); - info->amr1 = info->amr2 = info->amr3 = regs[0]; - info->expected_iamr = info->new_iamr = regs[1]; - info->expected_uamor = info->new_uamor = regs[2]; + info->amr1 = info->amr2 = regs[0]; + info->expected_iamr = regs[1]; + info->expected_uamor = regs[2]; /* Wake up child so that it can set itself up. */ ret = prod_child(&info->child_sync); @@ -234,10 +233,10 @@ return ret; /* Write invalid AMR value in child. */ - ret = ptrace_write_regs(pid, NT_PPC_PKEY, &info->amr3, 1); + ret = ptrace_write_regs(pid, NT_PPC_PKEY, &info->invalid_amr, 1); PARENT_FAIL_IF(ret, &info->child_sync); - printf("%-30s AMR: %016lx\n", ptrace_write_running, info->amr3); + printf("%-30s AMR: %016lx\n", ptrace_write_running, info->invalid_amr); /* Wake up child so that it can verify it didn't change. */ ret = prod_child(&info->child_sync); @@ -249,7 +248,7 @@ /* Try to write to IAMR. */ regs[0] = info->amr1; - regs[1] = info->new_iamr; + regs[1] = info->invalid_iamr; ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 2); PARENT_FAIL_IF(!ret, &info->child_sync); @@ -257,7 +256,7 @@ ptrace_write_running, regs[0], regs[1]); /* Try to write to IAMR and UAMOR. */ - regs[2] = info->new_uamor; + regs[2] = info->invalid_uamor; ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 3); PARENT_FAIL_IF(!ret, &info->child_sync); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/security/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/security/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0+ -TEST_GEN_PROGS := rfi_flush spectre_v2 +TEST_GEN_PROGS := rfi_flush entry_flush spectre_v2 top_srcdir = ../../../../.. CFLAGS += -I../../../../../usr/include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/security/entry_flush.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/security/entry_flush.c @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * Copyright 2018 IBM Corporation. + */ + +#define __SANE_USERSPACE_TYPES__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "utils.h" + +#define CACHELINE_SIZE 128 + +struct perf_event_read { + __u64 nr; + __u64 l1d_misses; +}; + +static inline __u64 load(void *addr) +{ + __u64 tmp; + + asm volatile("ld %0,0(%1)" : "=r"(tmp) : "b"(addr)); + + return tmp; +} + +static void syscall_loop(char *p, unsigned long iterations, + unsigned long zero_size) +{ + for (unsigned long i = 0; i < iterations; i++) { + for (unsigned long j = 0; j < zero_size; j += CACHELINE_SIZE) + load(p + j); + getppid(); + } +} + +int entry_flush_test(void) +{ + char *p; + int repetitions = 10; + int fd, passes = 0, iter, rc = 0; + struct perf_event_read v; + __u64 l1d_misses_total = 0; + unsigned long iterations = 100000, zero_size = 24 * 1024; + unsigned long l1d_misses_expected; + int rfi_flush_orig; + int entry_flush, entry_flush_orig; + + SKIP_IF(geteuid() != 0); + + // The PMU event we use only works on Power7 or later + SKIP_IF(!have_hwcap(PPC_FEATURE_ARCH_2_06)); + + if (read_debugfs_file("powerpc/rfi_flush", &rfi_flush_orig) < 0) { + perror("Unable to read powerpc/rfi_flush debugfs file"); + SKIP_IF(1); + } + + if (read_debugfs_file("powerpc/entry_flush", &entry_flush_orig) < 0) { + perror("Unable to read powerpc/entry_flush debugfs file"); + SKIP_IF(1); + } + + if (rfi_flush_orig != 0) { + if (write_debugfs_file("powerpc/rfi_flush", 0) < 0) { + perror("error writing to powerpc/rfi_flush debugfs file"); + FAIL_IF(1); + } + } + + entry_flush = entry_flush_orig; + + fd = perf_event_open_counter(PERF_TYPE_RAW, /* L1d miss */ 0x400f0, -1); + FAIL_IF(fd < 0); + + p = (char *)memalign(zero_size, CACHELINE_SIZE); + + FAIL_IF(perf_event_enable(fd)); + + // disable L1 prefetching + set_dscr(1); + + iter = repetitions; + + /* + * We expect to see l1d miss for each cacheline access when entry_flush + * is set. Allow a small variation on this. + */ + l1d_misses_expected = iterations * (zero_size / CACHELINE_SIZE - 2); + +again: + FAIL_IF(perf_event_reset(fd)); + + syscall_loop(p, iterations, zero_size); + + FAIL_IF(read(fd, &v, sizeof(v)) != sizeof(v)); + + if (entry_flush && v.l1d_misses >= l1d_misses_expected) + passes++; + else if (!entry_flush && v.l1d_misses < (l1d_misses_expected / 2)) + passes++; + + l1d_misses_total += v.l1d_misses; + + while (--iter) + goto again; + + if (passes < repetitions) { + printf("FAIL (L1D misses with entry_flush=%d: %llu %c %lu) [%d/%d failures]\n", + entry_flush, l1d_misses_total, entry_flush ? '<' : '>', + entry_flush ? repetitions * l1d_misses_expected : + repetitions * l1d_misses_expected / 2, + repetitions - passes, repetitions); + rc = 1; + } else { + printf("PASS (L1D misses with entry_flush=%d: %llu %c %lu) [%d/%d pass]\n", + entry_flush, l1d_misses_total, entry_flush ? '>' : '<', + entry_flush ? repetitions * l1d_misses_expected : + repetitions * l1d_misses_expected / 2, + passes, repetitions); + } + + if (entry_flush == entry_flush_orig) { + entry_flush = !entry_flush_orig; + if (write_debugfs_file("powerpc/entry_flush", entry_flush) < 0) { + perror("error writing to powerpc/entry_flush debugfs file"); + return 1; + } + iter = repetitions; + l1d_misses_total = 0; + passes = 0; + goto again; + } + + perf_event_disable(fd); + close(fd); + + set_dscr(0); + + if (write_debugfs_file("powerpc/rfi_flush", rfi_flush_orig) < 0) { + perror("unable to restore original value of powerpc/rfi_flush debugfs file"); + return 1; + } + + if (write_debugfs_file("powerpc/entry_flush", entry_flush_orig) < 0) { + perror("unable to restore original value of powerpc/entry_flush debugfs file"); + return 1; + } + + return rc; +} + +int main(int argc, char *argv[]) +{ + return test_harness(entry_flush_test, "entry_flush_test"); +} --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/security/rfi_flush.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/security/rfi_flush.c @@ -50,16 +50,30 @@ __u64 l1d_misses_total = 0; unsigned long iterations = 100000, zero_size = 24 * 1024; unsigned long l1d_misses_expected; - int rfi_flush_org, rfi_flush; + int rfi_flush_orig, rfi_flush; + int have_entry_flush, entry_flush_orig; SKIP_IF(geteuid() != 0); - if (read_debugfs_file("powerpc/rfi_flush", &rfi_flush_org)) { + if (read_debugfs_file("powerpc/rfi_flush", &rfi_flush_orig) < 0) { perror("Unable to read powerpc/rfi_flush debugfs file"); SKIP_IF(1); } - rfi_flush = rfi_flush_org; + if (read_debugfs_file("powerpc/entry_flush", &entry_flush_orig) < 0) { + have_entry_flush = 0; + } else { + have_entry_flush = 1; + + if (entry_flush_orig != 0) { + if (write_debugfs_file("powerpc/entry_flush", 0) < 0) { + perror("error writing to powerpc/entry_flush debugfs file"); + return 1; + } + } + } + + rfi_flush = rfi_flush_orig; fd = perf_event_open_counter(PERF_TYPE_RAW, /* L1d miss */ 0x400f0, -1); FAIL_IF(fd < 0); @@ -68,6 +82,7 @@ FAIL_IF(perf_event_enable(fd)); + // disable L1 prefetching set_dscr(1); iter = repetitions; @@ -109,8 +124,8 @@ repetitions * l1d_misses_expected / 2, passes, repetitions); - if (rfi_flush == rfi_flush_org) { - rfi_flush = !rfi_flush_org; + if (rfi_flush == rfi_flush_orig) { + rfi_flush = !rfi_flush_orig; if (write_debugfs_file("powerpc/rfi_flush", rfi_flush) < 0) { perror("error writing to powerpc/rfi_flush debugfs file"); return 1; @@ -126,11 +141,19 @@ set_dscr(0); - if (write_debugfs_file("powerpc/rfi_flush", rfi_flush_org) < 0) { + if (write_debugfs_file("powerpc/rfi_flush", rfi_flush_orig) < 0) { perror("unable to restore original value of powerpc/rfi_flush debugfs file"); return 1; } + if (have_entry_flush) { + if (write_debugfs_file("powerpc/entry_flush", entry_flush_orig) < 0) { + perror("unable to restore original value of powerpc/entry_flush " + "debugfs file"); + return 1; + } + } + return rc; } --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/security/spectre_v2.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/security/spectre_v2.c @@ -183,6 +183,14 @@ if (miss_percent > 15) { printf("Branch misses > 15%% unexpected in this configuration!\n"); printf("Possible mis-match between reported & actual mitigation\n"); + /* Such a mismatch may be caused by a guest system + * reporting as vulnerable when the host is mitigated. + * Return skip code to avoid detecting this as an + * error. We are not vulnerable and reporting otherwise, + * so missing such a mismatch is safe. + */ + if (state == VULNERABLE) + return 4; return 1; } break; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/powerpc/utils.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/powerpc/utils.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -88,28 +89,40 @@ int pick_online_cpu(void) { - cpu_set_t mask; - int cpu; + int ncpus, cpu = -1; + cpu_set_t *mask; + size_t size; + + ncpus = get_nprocs_conf(); + size = CPU_ALLOC_SIZE(ncpus); + mask = CPU_ALLOC(ncpus); + if (!mask) { + perror("malloc"); + return -1; + } - CPU_ZERO(&mask); + CPU_ZERO_S(size, mask); - if (sched_getaffinity(0, sizeof(mask), &mask)) { + if (sched_getaffinity(0, size, mask)) { perror("sched_getaffinity"); - return -1; + goto done; } /* We prefer a primary thread, but skip 0 */ - for (cpu = 8; cpu < CPU_SETSIZE; cpu += 8) - if (CPU_ISSET(cpu, &mask)) - return cpu; + for (cpu = 8; cpu < ncpus; cpu += 8) + if (CPU_ISSET_S(cpu, size, mask)) + goto done; /* Search for anything, but in reverse */ - for (cpu = CPU_SETSIZE - 1; cpu >= 0; cpu--) - if (CPU_ISSET(cpu, &mask)) - return cpu; + for (cpu = ncpus - 1; cpu >= 0; cpu--) + if (CPU_ISSET_S(cpu, size, mask)) + goto done; printf("No cpus in affinity mask?!\n"); - return -1; + +done: + CPU_FREE(mask); + return cpu; } bool is_ppc64le(void) --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/proc/proc-loadavg-001.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/proc/proc-loadavg-001.c @@ -14,7 +14,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Test that /proc/loadavg correctly reports last pid in pid namespace. */ -#define _GNU_SOURCE #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/proc/proc-self-syscall.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/proc/proc-self-syscall.c @@ -13,7 +13,6 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define _GNU_SOURCE #include #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/proc/proc-uptime-002.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/proc/proc-uptime-002.c @@ -15,7 +15,6 @@ */ // Test that values in /proc/uptime increment monotonically // while shifting across CPUs. -#define _GNU_SOURCE #undef NDEBUG #include #include --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/seccomp/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/seccomp/Makefile @@ -2,5 +2,7 @@ CFLAGS += -Wl,-no-as-needed -Wall LDFLAGS += -lpthread +TEST_FILES := settings + TEST_GEN_PROGS := seccomp_bpf seccomp_benchmark include ../lib.mk --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/seccomp/config +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/seccomp/config @@ -1,2 +1,3 @@ +CONFIG_PID_NS=y CONFIG_SECCOMP=y CONFIG_SECCOMP_FILTER=y --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/seccomp/seccomp_bpf.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -180,7 +180,7 @@ #define SECCOMP_IOCTL_NOTIF_RECV SECCOMP_IOWR(0, struct seccomp_notif) #define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, \ struct seccomp_notif_resp) -#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOR(2, __u64) +#define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64) struct seccomp_notif { __u64 id; @@ -1738,6 +1738,14 @@ TH_LOG("Can't modify syscall return on this architecture"); #else regs.SYSCALL_RET = result; +# if defined(__powerpc__) + if (result < 0) { + regs.SYSCALL_RET = -result; + regs.ccr |= 0x10000000; + } else { + regs.ccr &= ~0x10000000; + } +# endif #endif #ifdef HAVE_GETREGS @@ -1796,6 +1804,7 @@ int ret, nr; unsigned long msg; static bool entry; + int *syscall_nr = args; /* * The traditional way to tell PTRACE_SYSCALL entry/exit @@ -1809,10 +1818,15 @@ EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY : PTRACE_EVENTMSG_SYSCALL_EXIT, msg); - if (!entry) + if (!entry && !syscall_nr) return; - nr = get_syscall(_metadata, tracee); + if (entry) + nr = get_syscall(_metadata, tracee); + else + nr = *syscall_nr; + if (syscall_nr) + *syscall_nr = nr; if (nr == __NR_getpid) change_syscall(_metadata, tracee, __NR_getppid, 0); @@ -1889,9 +1903,10 @@ TEST_F(TRACE_syscall, ptrace_syscall_errno) { + int syscall_nr = -1; /* Swap SECCOMP_RET_TRACE tracer for PTRACE_SYSCALL tracer. */ teardown_trace_fixture(_metadata, self->tracer); - self->tracer = setup_trace_fixture(_metadata, tracer_ptrace, NULL, + self->tracer = setup_trace_fixture(_metadata, tracer_ptrace, &syscall_nr, true); /* Tracer should skip the open syscall, resulting in ESRCH. */ @@ -1900,9 +1915,10 @@ TEST_F(TRACE_syscall, ptrace_syscall_faked) { + int syscall_nr = -1; /* Swap SECCOMP_RET_TRACE tracer for PTRACE_SYSCALL tracer. */ teardown_trace_fixture(_metadata, self->tracer); - self->tracer = setup_trace_fixture(_metadata, tracer_ptrace, NULL, + self->tracer = setup_trace_fixture(_metadata, tracer_ptrace, &syscall_nr, true); /* Tracer should skip the gettid syscall, resulting fake pid. */ @@ -3258,6 +3274,11 @@ int ret; unsigned int flags; + 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!"); + } + /* these were exclusive */ flags = SECCOMP_FILTER_FLAG_NEW_LISTENER | SECCOMP_FILTER_FLAG_TSYNC; --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/seccomp/settings +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/seccomp/settings @@ -0,0 +1 @@ +timeout=90 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/tc-testing/tc-tests/filters/tests.json +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/tc-testing/tc-tests/filters/tests.json @@ -100,7 +100,7 @@ ], "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip pref 1 ingress flower dst_mac e4:11:22:11:4a:51 action drop", "expExitCode": "0", - "verifyCmd": "$TC filter show terse dev $DEV2 ingress", + "verifyCmd": "$TC -br filter show dev $DEV2 ingress", "matchPattern": "filter protocol ip pref 1 flower.*handle", "matchCount": "1", "teardown": [ @@ -119,7 +119,7 @@ ], "cmdUnderTest": "$TC filter add dev $DEV2 protocol ip pref 1 ingress flower dst_mac e4:11:22:11:4a:51 action drop", "expExitCode": "0", - "verifyCmd": "$TC filter show terse dev $DEV2 ingress", + "verifyCmd": "$TC -br filter show dev $DEV2 ingress", "matchPattern": " dst_mac e4:11:22:11:4a:51", "matchCount": "0", "teardown": [ --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/timers/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/timers/Makefile @@ -13,6 +13,7 @@ TEST_GEN_PROGS_EXTENDED = $(DESTRUCTIVE_TESTS) +TEST_FILES := settings include ../lib.mk --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/timers/settings +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/timers/settings @@ -0,0 +1 @@ +timeout=0 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/vm/Makefile +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/vm/Makefile @@ -78,7 +78,7 @@ ifeq ($(CAN_BUILD_I386),1) $(BINARIES_32): CFLAGS += -m32 $(BINARIES_32): LDLIBS += -lrt -ldl -lm -$(BINARIES_32): %_32: %.c +$(BINARIES_32): $(OUTPUT)/%_32: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ $(foreach t,$(TARGETS),$(eval $(call gen-target-rule-32,$(t)))) endif @@ -86,7 +86,7 @@ ifeq ($(CAN_BUILD_X86_64),1) $(BINARIES_64): CFLAGS += -m64 $(BINARIES_64): LDLIBS += -lrt -ldl -$(BINARIES_64): %_64: %.c +$(BINARIES_64): $(OUTPUT)/%_64: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ $(foreach t,$(TARGETS),$(eval $(call gen-target-rule-64,$(t)))) endif --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/vm/config +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/vm/config @@ -3,3 +3,4 @@ CONFIG_TEST_VMALLOC=m CONFIG_DEVICE_PRIVATE=y CONFIG_TEST_HMM=m +CONFIG_GUP_BENCHMARK=y --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/vm/map_hugetlb.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/vm/map_hugetlb.c @@ -83,7 +83,7 @@ } if (shift) - printf("%u kB hugepages\n", 1 << shift); + printf("%u kB hugepages\n", 1 << (shift - 10)); else printf("Default size hugepages\n"); printf("Mapping %lu Mbytes\n", (unsigned long)length >> 20); --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/wireguard/netns.sh +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/wireguard/netns.sh @@ -39,7 +39,7 @@ ip1() { pretty 1 "ip $*"; ip -n $netns1 "$@"; } ip2() { pretty 2 "ip $*"; ip -n $netns2 "$@"; } sleep() { read -t "$1" -N 1 || true; } -waitiperf() { pretty "${1//*-}" "wait for iperf:5201 pid $2"; while [[ $(ss -N "$1" -tlpH 'sport = 5201') != *\"iperf3\",pid=$2,fd=* ]]; do sleep 0.1; done; } +waitiperf() { pretty "${1//*-}" "wait for iperf:${3:-5201} pid $2"; while [[ $(ss -N "$1" -tlpH "sport = ${3:-5201}") != *\"iperf3\",pid=$2,fd=* ]]; do sleep 0.1; done; } waitncatudp() { pretty "${1//*-}" "wait for udp:1111 pid $2"; while [[ $(ss -N "$1" -ulpH 'sport = 1111') != *\"ncat\",pid=$2,fd=* ]]; do sleep 0.1; done; } waitiface() { pretty "${1//*-}" "wait for $2 to come up"; ip netns exec "$1" bash -c "while [[ \$(< \"/sys/class/net/$2/operstate\") != up ]]; do read -t .1 -N 0 || true; done;"; } @@ -141,6 +141,19 @@ n2 iperf3 -s -1 -B fd00::2 & waitiperf $netns2 $! n1 iperf3 -Z -t 3 -b 0 -u -c fd00::2 + + # TCP over IPv4, in parallel + for max in 4 5 50; do + local pids=( ) + for ((i=0; i < max; ++i)) do + n2 iperf3 -p $(( 5200 + i )) -s -1 -B 192.168.241.2 & + pids+=( $! ); waitiperf $netns2 $! $(( 5200 + i )) + done + for ((i=0; i < max; ++i)) do + n1 iperf3 -Z -t 3 -p $(( 5200 + i )) -c 192.168.241.2 & + done + wait "${pids[@]}" + done } [[ $(ip1 link show dev wg0) =~ mtu\ ([0-9]+) ]] && orig_mtu="${BASH_REMATCH[1]}" @@ -316,6 +329,14 @@ n2 ping -W 1 -c 1 192.168.241.1 n1 wg set wg0 peer "$pub2" persistent-keepalive 0 +# Test that sk_bound_dev_if works +n1 ping -I wg0 -c 1 -W 1 192.168.241.2 +# What about when the mark changes and the packet must be rerouted? +n1 iptables -t mangle -I OUTPUT -j MARK --set-xmark 1 +n1 ping -c 1 -W 1 192.168.241.2 # First the boring case +n1 ping -I wg0 -c 1 -W 1 192.168.241.2 # Then the sk_bound_dev_if case +n1 iptables -t mangle -D OUTPUT -j MARK --set-xmark 1 + # Test that onion routing works, even when it loops n1 wg set wg0 peer "$pub3" allowed-ips 192.168.242.2/32 endpoint 192.168.241.2:5 ip1 addr add 192.168.242.1/24 dev wg0 --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/wireguard/qemu/kernel.config +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/wireguard/qemu/kernel.config @@ -18,10 +18,12 @@ CONFIG_NETFILTER_XTABLES=y CONFIG_NETFILTER_XT_NAT=y CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MARK=y CONFIG_NF_CONNTRACK_IPV4=y CONFIG_NF_NAT_IPV4=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_NAT=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/x86/fsgsbase.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/x86/fsgsbase.c @@ -442,6 +442,68 @@ #define USER_REGS_OFFSET(r) offsetof(struct user_regs_struct, r) +static void test_ptrace_write_gs_read_base(void) +{ + int status; + pid_t child = fork(); + + if (child < 0) + err(1, "fork"); + + if (child == 0) { + printf("[RUN]\tPTRACE_POKE GS, read GSBASE back\n"); + + printf("[RUN]\tARCH_SET_GS to 1\n"); + if (syscall(SYS_arch_prctl, ARCH_SET_GS, 1) != 0) + err(1, "ARCH_SET_GS"); + + if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) != 0) + err(1, "PTRACE_TRACEME"); + + raise(SIGTRAP); + _exit(0); + } + + wait(&status); + + if (WSTOPSIG(status) == SIGTRAP) { + unsigned long base; + unsigned long gs_offset = USER_REGS_OFFSET(gs); + unsigned long base_offset = USER_REGS_OFFSET(gs_base); + + /* Read the initial base. It should be 1. */ + base = ptrace(PTRACE_PEEKUSER, child, base_offset, NULL); + if (base == 1) { + printf("[OK]\tGSBASE started at 1\n"); + } else { + nerrs++; + printf("[FAIL]\tGSBASE started at 0x%lx\n", base); + } + + printf("[RUN]\tSet GS = 0x7, read GSBASE\n"); + + /* Poke an LDT selector into GS. */ + if (ptrace(PTRACE_POKEUSER, child, gs_offset, 0x7) != 0) + err(1, "PTRACE_POKEUSER"); + + /* And read the base. */ + base = ptrace(PTRACE_PEEKUSER, child, base_offset, NULL); + + if (base == 0 || base == 1) { + printf("[OK]\tGSBASE reads as 0x%lx with invalid GS\n", base); + } else { + nerrs++; + printf("[FAIL]\tGSBASE=0x%lx (should be 0 or 1)\n", base); + } + } + + ptrace(PTRACE_CONT, child, NULL, NULL); + + wait(&status); + if (!WIFEXITED(status)) + printf("[WARN]\tChild didn't exit cleanly.\n"); +} + static void test_ptrace_write_gsbase(void) { int status; @@ -499,6 +561,9 @@ END: ptrace(PTRACE_CONT, child, NULL, NULL); + wait(&status); + if (!WIFEXITED(status)) + printf("[WARN]\tChild didn't exit cleanly.\n"); } int main() @@ -508,6 +573,9 @@ shared_scratch = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); + /* Do these tests before we have an LDT. */ + test_ptrace_write_gs_read_base(); + /* Probe FSGSBASE */ sethandler(SIGILL, sigill, 0); if (sigsetjmp(jmpbuf, 1) == 0) { --- linux-riscv-5.8-5.8.0.orig/tools/testing/selftests/x86/test_vsyscall.c +++ linux-riscv-5.8-5.8.0/tools/testing/selftests/x86/test_vsyscall.c @@ -462,6 +462,17 @@ return 0; } +/* + * Debuggers expect ptrace() to be able to peek at the vsyscall page. + * Use process_vm_readv() as a proxy for ptrace() to test this. We + * want it to work in the vsyscall=emulate case and to fail in the + * vsyscall=xonly case. + * + * It's worth noting that this ABI is a bit nutty. write(2) can't + * read from the vsyscall page on any kernel version or mode. The + * fact that ptrace() ever worked was a nice courtesy of old kernels, + * but the code to support it is fairly gross. + */ static int test_process_vm_readv(void) { #ifdef __x86_64__ @@ -477,8 +488,12 @@ remote.iov_len = 4096; ret = process_vm_readv(getpid(), &local, 1, &remote, 1, 0); if (ret != 4096) { - printf("[OK]\tprocess_vm_readv() failed (ret = %d, errno = %d)\n", ret, errno); - return 0; + /* + * We expect process_vm_readv() to work if and only if the + * vsyscall page is readable. + */ + printf("[%s]\tprocess_vm_readv() failed (ret = %d, errno = %d)\n", vsyscall_map_r ? "FAIL" : "OK", ret, errno); + return vsyscall_map_r ? 1 : 0; } if (vsyscall_map_r) { @@ -488,6 +503,9 @@ printf("[FAIL]\tIt worked but returned incorrect data\n"); return 1; } + } else { + printf("[FAIL]\tprocess_rm_readv() succeeded, but it should have failed in this configuration\n"); + return 1; } #endif --- linux-riscv-5.8-5.8.0.orig/tools/usb/usbip/configure.ac +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/tools/usb/usbip/libsrc/usbip_host_common.c +++ linux-riscv-5.8-5.8.0/tools/usb/usbip/libsrc/usbip_host_common.c @@ -23,7 +23,7 @@ #include "list.h" #include "sysfs_utils.h" -struct udev *udev_context; +extern struct udev *udev_context; static int32_t read_attr_usbip_status(struct usbip_usb_device *udev) { --- linux-riscv-5.8-5.8.0.orig/ubuntu/Kconfig +++ linux-riscv-5.8-5.8.0/ubuntu/Kconfig @@ -0,0 +1,25 @@ +menu "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. +# + +## +## +## +source "ubuntu/hio/Kconfig" +## +## +## +source "ubuntu/ubuntu-host/Kconfig" +## +## +## +## +## +## + +endmenu --- linux-riscv-5.8-5.8.0.orig/ubuntu/Makefile +++ linux-riscv-5.8-5.8.0/ubuntu/Makefile @@ -0,0 +1,37 @@ +# +# 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_HIO) += hio/ +## +## +## +obj-$(CONFIG_UBUNTU_HOST) += ubuntu-host/ +## +## +## +ifeq ($(ARCH),x86) +obj-y += xr-usb-serial/ +endif +## +## +## +## +## +## + +# This is a stupid trick to get kbuild to create ubuntu/built-in.o +obj- += foo.o --- linux-riscv-5.8-5.8.0.orig/ubuntu/hio/Kconfig +++ linux-riscv-5.8-5.8.0/ubuntu/hio/Kconfig @@ -0,0 +1,4 @@ +config HIO + tristate "ES3000 V2 High-Performance PCIe SSD" + ---help--- + Driver for ES3000 V2 High-Performance PCIe SSD. --- linux-riscv-5.8-5.8.0.orig/ubuntu/hio/Makefile +++ linux-riscv-5.8-5.8.0/ubuntu/hio/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_HIO) += hio.o --- linux-riscv-5.8-5.8.0.orig/ubuntu/hio/hio.c +++ linux-riscv-5.8-5.8.0/ubuntu/hio/hio.c @@ -0,0 +1,13285 @@ +/* +* Huawei SSD device driver +* Copyright (c) 2016, Huawei Technologies Co., Ltd. +* +* This program is free software; you can redistribute it and/or modify it +* under the terms and conditions of the GNU General Public License, +* version 2, as published by the Free Software Foundation. +* +* This program is distributed in the hope 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 LINUX_VERSION_CODE +#include +#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)) +#include +#endif +#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 /* HDIO_GETGEO */ +#include +#include +#include +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) +#include +#endif +#include +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) +#include +#include +#else +#include +#endif +#include +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)) +#include +#endif +#if (LINUX_VERSION_CODE > KERNEL_VERSION(5,6,0)) +#include +#endif + +/* driver */ +#define MODULE_NAME "hio" +#define DRIVER_VERSION "2.1.0.40" +#define DRIVER_VERSION_LEN 16 + +#define SSD_FW_MIN 0x1 + +#define SSD_DEV_NAME MODULE_NAME +#define SSD_DEV_NAME_LEN 16 +#define SSD_CDEV_NAME "c"SSD_DEV_NAME +#define SSD_SDEV_NAME "s"SSD_DEV_NAME + + +#define SSD_CMAJOR 0 +#define SSD_MAJOR 0 +#define SSD_MAJOR_SL 0 +#define SSD_MINORS 16 + +#define SSD_MAX_DEV 702 +#define SSD_ALPHABET_NUM 26 + +#define hio_info(f, arg...) printk(KERN_INFO MODULE_NAME"info: " f , ## arg) +#define hio_note(f, arg...) printk(KERN_NOTICE MODULE_NAME"note: " f , ## arg) +#define hio_warn(f, arg...) printk(KERN_WARNING MODULE_NAME"warn: " f , ## arg) +#define hio_err(f, arg...) printk(KERN_ERR MODULE_NAME"err: " f , ## arg) + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(5,6,0)) +struct hd_struct *disk_map_sector_rcu(struct gendisk *disk, sector_t sector); +#endif + +/* slave port */ +#define SSD_SLAVE_PORT_DEVID 0x000a + +/* int mode */ + +/* 2.6.9 msi affinity bug, should turn msi & msi-x off */ +//#define SSD_MSI +#define SSD_ESCAPE_IRQ + +//#define SSD_MSIX +#ifndef MODULE +#define SSD_MSIX +#endif +#define SSD_MSIX_VEC 8 +#ifdef SSD_MSIX +#undef SSD_MSI +#undef SSD_ESCAPE_IRQ +#define SSD_MSIX_AFFINITY_FORCE +#endif + +#define SSD_TRIM + +/* Over temperature protect */ +#define SSD_OT_PROTECT + +#ifdef SSD_QUEUE_PBIO +#define BIO_SSD_PBIO 20 +#endif + +/* debug */ +//#define SSD_DEBUG_ERR + +/* cmd timer */ +#define SSD_CMD_TIMEOUT (60*HZ) + +/* i2c & smbus */ +#define SSD_SPI_TIMEOUT (5*HZ) +#define SSD_I2C_TIMEOUT (5*HZ) + +#define SSD_I2C_MAX_DATA (127) +#define SSD_SMBUS_BLOCK_MAX (32) +#define SSD_SMBUS_DATA_MAX (SSD_SMBUS_BLOCK_MAX + 2) + +/* wait for init */ +#define SSD_INIT_WAIT (1000) //1s +#define SSD_CONTROLLER_WAIT (20*1000/SSD_INIT_WAIT) //20s +#define SSD_INIT_MAX_WAIT (500*1000/SSD_INIT_WAIT) //500s +#define SSD_INIT_MAX_WAIT_V3_2 (1400*1000/SSD_INIT_WAIT) //1400s +#define SSD_RAM_INIT_MAX_WAIT (10*1000/SSD_INIT_WAIT) //10s +#define SSD_CH_INFO_MAX_WAIT (10*1000/SSD_INIT_WAIT) //10s + +/* blkdev busy wait */ +#define SSD_DEV_BUSY_WAIT 1000 //ms +#define SSD_DEV_BUSY_MAX_WAIT (8*1000/SSD_DEV_BUSY_WAIT) //8s + +/* smbus retry */ +#define SSD_SMBUS_RETRY_INTERVAL (5) //ms +#define SSD_SMBUS_RETRY_MAX (1000/SSD_SMBUS_RETRY_INTERVAL) + +#define SSD_BM_RETRY_MAX 7 + +/* bm routine interval */ +#define SSD_BM_CAP_LEARNING_DELAY (10*60*1000) + +/* routine interval */ +#define SSD_ROUTINE_INTERVAL (10*1000) //10s +#define SSD_HWMON_ROUTINE_TICK (60*1000/SSD_ROUTINE_INTERVAL) +#define SSD_CAPMON_ROUTINE_TICK ((3600*1000/SSD_ROUTINE_INTERVAL)*24*30) +#define SSD_CAPMON2_ROUTINE_TICK (10*60*1000/SSD_ROUTINE_INTERVAL) //fault recover + +/* dma align */ +#define SSD_DMA_ALIGN (16) + +/* some hw defalut */ +#define SSD_LOG_MAX_SZ 4096 + +#define SSD_NAND_OOB_SZ 1024 +#define SSD_NAND_ID_SZ 8 +#define SSD_NAND_ID_BUFF_SZ 1024 +#define SSD_NAND_MAX_CE 2 + +#define SSD_BBT_RESERVED 8 + +#define SSD_ECC_MAX_FLIP (64+1) + +#define SSD_RAM_ALIGN 16 + + +#define SSD_RELOAD_FLAG 0x3333CCCC +#define SSD_RELOAD_FW 0xAA5555AA +#define SSD_RESET_NOINIT 0xAA5555AA +#define SSD_RESET 0x55AAAA55 +#define SSD_RESET_FULL 0x5A +//#define SSD_RESET_WAIT 1000 //1s +//#define SSD_RESET_MAX_WAIT (200*1000/SSD_RESET_WAIT) //200s + + +/* reverion 1 */ +#define SSD_PROTOCOL_V1 0x0 + +#define SSD_ROM_SIZE (16*1024*1024) +#define SSD_ROM_BLK_SIZE (256*1024) +#define SSD_ROM_PAGE_SIZE (256) +#define SSD_ROM_NR_BRIDGE_FW 2 +#define SSD_ROM_NR_CTRL_FW 2 +#define SSD_ROM_BRIDGE_FW_BASE 0 +#define SSD_ROM_BRIDGE_FW_SIZE (2*1024*1024) +#define SSD_ROM_CTRL_FW_BASE (SSD_ROM_NR_BRIDGE_FW*SSD_ROM_BRIDGE_FW_SIZE) +#define SSD_ROM_CTRL_FW_SIZE (5*1024*1024) +#define SSD_ROM_LABEL_BASE (SSD_ROM_CTRL_FW_BASE+SSD_ROM_CTRL_FW_SIZE*SSD_ROM_NR_CTRL_FW) +#define SSD_ROM_VP_BASE (SSD_ROM_LABEL_BASE+SSD_ROM_BLK_SIZE) + +/* reverion 3 */ +#define SSD_PROTOCOL_V3 0x3000000 +#define SSD_PROTOCOL_V3_1_1 0x3010001 +#define SSD_PROTOCOL_V3_1_3 0x3010003 +#define SSD_PROTOCOL_V3_2 0x3020000 +#define SSD_PROTOCOL_V3_2_1 0x3020001 /* <4KB improved */ +#define SSD_PROTOCOL_V3_2_2 0x3020002 /* ot protect */ +#define SSD_PROTOCOL_V3_2_4 0x3020004 + + +#define SSD_PV3_ROM_NR_BM_FW 1 +#define SSD_PV3_ROM_BM_FW_SZ (64*1024*8) + +#define SSD_ROM_LOG_SZ (64*1024*4) + +#define SSD_ROM_NR_SMART_MAX 2 +#define SSD_PV3_ROM_NR_SMART SSD_ROM_NR_SMART_MAX +#define SSD_PV3_ROM_SMART_SZ (64*1024) + +/* reverion 3.2 */ +#define SSD_PV3_2_ROM_LOG_SZ (64*1024*80) /* 5MB */ +#define SSD_PV3_2_ROM_SEC_SZ (256*1024) /* 256KB */ + + +/* register */ +#define SSD_REQ_FIFO_REG 0x0000 +#define SSD_RESP_FIFO_REG 0x0008 //0x0010 +#define SSD_RESP_PTR_REG 0x0010 //0x0018 +#define SSD_INTR_INTERVAL_REG 0x0018 +#define SSD_READY_REG 0x001C +#define SSD_BRIDGE_TEST_REG 0x0020 +#define SSD_STRIPE_SIZE_REG 0x0028 +#define SSD_CTRL_VER_REG 0x0030 //controller +#define SSD_BRIDGE_VER_REG 0x0034 //bridge +#define SSD_PCB_VER_REG 0x0038 +#define SSD_BURN_FLAG_REG 0x0040 +#define SSD_BRIDGE_INFO_REG 0x0044 + +#define SSD_WL_VAL_REG 0x0048 //32-bit + +#define SSD_BB_INFO_REG 0x004C + +#define SSD_ECC_TEST_REG 0x0050 //test only +#define SSD_ERASE_TEST_REG 0x0058 //test only +#define SSD_WRITE_TEST_REG 0x0060 //test only + +#define SSD_RESET_REG 0x0068 +#define SSD_RELOAD_FW_REG 0x0070 + +#define SSD_RESERVED_BLKS_REG 0x0074 +#define SSD_VALID_PAGES_REG 0x0078 +#define SSD_CH_INFO_REG 0x007C + +#define SSD_CTRL_TEST_REG_SZ 0x8 +#define SSD_CTRL_TEST_REG0 0x0080 +#define SSD_CTRL_TEST_REG1 0x0088 +#define SSD_CTRL_TEST_REG2 0x0090 +#define SSD_CTRL_TEST_REG3 0x0098 +#define SSD_CTRL_TEST_REG4 0x00A0 +#define SSD_CTRL_TEST_REG5 0x00A8 +#define SSD_CTRL_TEST_REG6 0x00B0 +#define SSD_CTRL_TEST_REG7 0x00B8 + +#define SSD_FLASH_INFO_REG0 0x00C0 +#define SSD_FLASH_INFO_REG1 0x00C8 +#define SSD_FLASH_INFO_REG2 0x00D0 +#define SSD_FLASH_INFO_REG3 0x00D8 +#define SSD_FLASH_INFO_REG4 0x00E0 +#define SSD_FLASH_INFO_REG5 0x00E8 +#define SSD_FLASH_INFO_REG6 0x00F0 +#define SSD_FLASH_INFO_REG7 0x00F8 + +#define SSD_RESP_INFO_REG 0x01B8 +#define SSD_NAND_BUFF_BASE 0x01BC //for nand write + +#define SSD_CHIP_INFO_REG_SZ 0x10 +#define SSD_CHIP_INFO_REG0 0x0100 //128 bit +#define SSD_CHIP_INFO_REG1 0x0110 +#define SSD_CHIP_INFO_REG2 0x0120 +#define SSD_CHIP_INFO_REG3 0x0130 +#define SSD_CHIP_INFO_REG4 0x0140 +#define SSD_CHIP_INFO_REG5 0x0150 +#define SSD_CHIP_INFO_REG6 0x0160 +#define SSD_CHIP_INFO_REG7 0x0170 + +#define SSD_RAM_INFO_REG 0x01C4 + +#define SSD_BBT_BASE_REG 0x01C8 +#define SSD_ECT_BASE_REG 0x01CC + +#define SSD_CLEAR_INTR_REG 0x01F0 + +#define SSD_INIT_STATE_REG_SZ 0x8 +#define SSD_INIT_STATE_REG0 0x0200 +#define SSD_INIT_STATE_REG1 0x0208 +#define SSD_INIT_STATE_REG2 0x0210 +#define SSD_INIT_STATE_REG3 0x0218 +#define SSD_INIT_STATE_REG4 0x0220 +#define SSD_INIT_STATE_REG5 0x0228 +#define SSD_INIT_STATE_REG6 0x0230 +#define SSD_INIT_STATE_REG7 0x0238 + +#define SSD_ROM_INFO_REG 0x0600 +#define SSD_ROM_BRIDGE_FW_INFO_REG 0x0604 +#define SSD_ROM_CTRL_FW_INFO_REG 0x0608 +#define SSD_ROM_VP_INFO_REG 0x060C + +#define SSD_LOG_INFO_REG 0x0610 +#define SSD_LED_REG 0x0614 +#define SSD_MSG_BASE_REG 0x06F8 + +/*spi reg */ +#define SSD_SPI_REG_CMD 0x0180 +#define SSD_SPI_REG_CMD_HI 0x0184 +#define SSD_SPI_REG_WDATA 0x0188 +#define SSD_SPI_REG_ID 0x0190 +#define SSD_SPI_REG_STATUS 0x0198 +#define SSD_SPI_REG_RDATA 0x01A0 +#define SSD_SPI_REG_READY 0x01A8 + +/* i2c register */ +#define SSD_I2C_CTRL_REG 0x06F0 +#define SSD_I2C_RDATA_REG 0x06F4 + +/* temperature reg */ +#define SSD_BRIGE_TEMP_REG 0x0618 + +#define SSD_CTRL_TEMP_REG0 0x0700 +#define SSD_CTRL_TEMP_REG1 0x0708 +#define SSD_CTRL_TEMP_REG2 0x0710 +#define SSD_CTRL_TEMP_REG3 0x0718 +#define SSD_CTRL_TEMP_REG4 0x0720 +#define SSD_CTRL_TEMP_REG5 0x0728 +#define SSD_CTRL_TEMP_REG6 0x0730 +#define SSD_CTRL_TEMP_REG7 0x0738 + +/* reversion 3 reg */ +#define SSD_PROTOCOL_VER_REG 0x01B4 + +#define SSD_FLUSH_TIMEOUT_REG 0x02A4 +#define SSD_BM_FAULT_REG 0x0660 + +#define SSD_PV3_RAM_STATUS_REG_SZ 0x4 +#define SSD_PV3_RAM_STATUS_REG0 0x0260 +#define SSD_PV3_RAM_STATUS_REG1 0x0264 +#define SSD_PV3_RAM_STATUS_REG2 0x0268 +#define SSD_PV3_RAM_STATUS_REG3 0x026C +#define SSD_PV3_RAM_STATUS_REG4 0x0270 +#define SSD_PV3_RAM_STATUS_REG5 0x0274 +#define SSD_PV3_RAM_STATUS_REG6 0x0278 +#define SSD_PV3_RAM_STATUS_REG7 0x027C + +#define SSD_PV3_CHIP_INFO_REG_SZ 0x40 +#define SSD_PV3_CHIP_INFO_REG0 0x0300 +#define SSD_PV3_CHIP_INFO_REG1 0x0340 +#define SSD_PV3_CHIP_INFO_REG2 0x0380 +#define SSD_PV3_CHIP_INFO_REG3 0x03B0 +#define SSD_PV3_CHIP_INFO_REG4 0x0400 +#define SSD_PV3_CHIP_INFO_REG5 0x0440 +#define SSD_PV3_CHIP_INFO_REG6 0x0480 +#define SSD_PV3_CHIP_INFO_REG7 0x04B0 + +#define SSD_PV3_INIT_STATE_REG_SZ 0x20 +#define SSD_PV3_INIT_STATE_REG0 0x0500 +#define SSD_PV3_INIT_STATE_REG1 0x0520 +#define SSD_PV3_INIT_STATE_REG2 0x0540 +#define SSD_PV3_INIT_STATE_REG3 0x0560 +#define SSD_PV3_INIT_STATE_REG4 0x0580 +#define SSD_PV3_INIT_STATE_REG5 0x05A0 +#define SSD_PV3_INIT_STATE_REG6 0x05C0 +#define SSD_PV3_INIT_STATE_REG7 0x05E0 + +/* reversion 3.1.1 reg */ +#define SSD_FULL_RESET_REG 0x01B0 + +#define SSD_CTRL_REG_ZONE_SZ 0x800 + +#define SSD_BB_THRESHOLD_L1_REG 0x2C0 +#define SSD_BB_THRESHOLD_L2_REG 0x2C4 + +#define SSD_BB_ACC_REG_SZ 0x4 +#define SSD_BB_ACC_REG0 0x21C0 +#define SSD_BB_ACC_REG1 0x29C0 +#define SSD_BB_ACC_REG2 0x31C0 + +#define SSD_EC_THRESHOLD_L1_REG 0x2C8 +#define SSD_EC_THRESHOLD_L2_REG 0x2CC + +#define SSD_EC_ACC_REG_SZ 0x4 +#define SSD_EC_ACC_REG0 0x21E0 +#define SSD_EC_ACC_REG1 0x29E0 +#define SSD_EC_ACC_REG2 0x31E0 + +/* reversion 3.1.2 & 3.1.3 reg */ +#define SSD_HW_STATUS_REG 0x02AC + +#define SSD_PLP_INFO_REG 0x0664 + +/*reversion 3.2 reg*/ +#define SSD_POWER_ON_REG 0x01EC +#define SSD_PCIE_LINKSTATUS_REG 0x01F8 +#define SSD_PL_CAP_LEARN_REG 0x01FC + +#define SSD_FPGA_1V0_REG0 0x2070 +#define SSD_FPGA_1V8_REG0 0x2078 +#define SSD_FPGA_1V0_REG1 0x2870 +#define SSD_FPGA_1V8_REG1 0x2878 + +/*reversion 3.2 reg*/ +#define SSD_READ_OT_REG0 0x2260 +#define SSD_WRITE_OT_REG0 0x2264 +#define SSD_READ_OT_REG1 0x2A60 +#define SSD_WRITE_OT_REG1 0x2A64 + + +/* function */ +#define SSD_FUNC_READ 0x01 +#define SSD_FUNC_WRITE 0x02 +#define SSD_FUNC_NAND_READ_WOOB 0x03 +#define SSD_FUNC_NAND_READ 0x04 +#define SSD_FUNC_NAND_WRITE 0x05 +#define SSD_FUNC_NAND_ERASE 0x06 +#define SSD_FUNC_NAND_READ_ID 0x07 +#define SSD_FUNC_READ_LOG 0x08 +#define SSD_FUNC_TRIM 0x09 +#define SSD_FUNC_RAM_READ 0x10 +#define SSD_FUNC_RAM_WRITE 0x11 +#define SSD_FUNC_FLUSH 0x12 //cache / bbt + +/* spi function */ +#define SSD_SPI_CMD_PROGRAM 0x02 +#define SSD_SPI_CMD_READ 0x03 +#define SSD_SPI_CMD_W_DISABLE 0x04 +#define SSD_SPI_CMD_READ_STATUS 0x05 +#define SSD_SPI_CMD_W_ENABLE 0x06 +#define SSD_SPI_CMD_ERASE 0xd8 +#define SSD_SPI_CMD_CLSR 0x30 +#define SSD_SPI_CMD_READ_ID 0x9f + +/* i2c */ +#define SSD_I2C_CTRL_READ 0x00 +#define SSD_I2C_CTRL_WRITE 0x01 + +/* i2c internal register */ +#define SSD_I2C_CFG_REG 0x00 +#define SSD_I2C_DATA_REG 0x01 +#define SSD_I2C_CMD_REG 0x02 +#define SSD_I2C_STATUS_REG 0x03 +#define SSD_I2C_SADDR_REG 0x04 +#define SSD_I2C_LEN_REG 0x05 +#define SSD_I2C_RLEN_REG 0x06 +#define SSD_I2C_WLEN_REG 0x07 +#define SSD_I2C_RESET_REG 0x08 //write for reset +#define SSD_I2C_PRER_REG 0x09 + + +/* hw mon */ +/* FPGA volt = ADC_value / 4096 * 3v */ +#define SSD_FPGA_1V0_ADC_MIN 1228 // 0.9v +#define SSD_FPGA_1V0_ADC_MAX 1502 // 1.1v +#define SSD_FPGA_1V8_ADC_MIN 2211 // 1.62v +#define SSD_FPGA_1V8_ADC_MAX 2703 // 1.98 + +/* ADC value */ +#define SSD_FPGA_VOLT_MAX(val) (((val) & 0xffff) >> 4) +#define SSD_FPGA_VOLT_MIN(val) (((val >> 16) & 0xffff) >> 4) +#define SSD_FPGA_VOLT_CUR(val) (((val >> 32) & 0xffff) >> 4) +#define SSD_FPGA_VOLT(val) ((val * 3000) >> 12) + +#define SSD_VOLT_LOG_DATA(idx, ctrl, volt) (((uint32_t)idx << 24) | ((uint32_t)ctrl << 16) | ((uint32_t)volt)) + +enum ssd_fpga_volt +{ + SSD_FPGA_1V0 = 0, + SSD_FPGA_1V8, + SSD_FPGA_VOLT_NR +}; + +enum ssd_clock +{ + SSD_CLOCK_166M_LOST = 0, + SSD_CLOCK_166M_SKEW, + SSD_CLOCK_156M_LOST, + SSD_CLOCK_156M_SKEW, + SSD_CLOCK_NR +}; + +/* sensor */ +#define SSD_SENSOR_LM75_SADDRESS (0x49 << 1) +#define SSD_SENSOR_LM80_SADDRESS (0x28 << 1) + +#define SSD_SENSOR_CONVERT_TEMP(val) ((int)(val >> 8)) + +#define SSD_INLET_OT_TEMP (55) //55 DegC +#define SSD_INLET_OT_HYST (50) //50 DegC +#define SSD_FLASH_OT_TEMP (70) //70 DegC +#define SSD_FLASH_OT_HYST (65) //65 DegC + +enum ssd_sensor +{ + SSD_SENSOR_LM80 = 0, + SSD_SENSOR_LM75, + SSD_SENSOR_NR +}; + + +/* lm75 */ +enum ssd_lm75_reg +{ + SSD_LM75_REG_TEMP = 0, + SSD_LM75_REG_CONF, + SSD_LM75_REG_THYST, + SSD_LM75_REG_TOS +}; + +/* lm96080 */ +#define SSD_LM80_REG_IN_MAX(nr) (0x2a + (nr) * 2) +#define SSD_LM80_REG_IN_MIN(nr) (0x2b + (nr) * 2) +#define SSD_LM80_REG_IN(nr) (0x20 + (nr)) + +#define SSD_LM80_REG_FAN1 0x28 +#define SSD_LM80_REG_FAN2 0x29 +#define SSD_LM80_REG_FAN_MIN(nr) (0x3b + (nr)) + +#define SSD_LM80_REG_TEMP 0x27 +#define SSD_LM80_REG_TEMP_HOT_MAX 0x38 +#define SSD_LM80_REG_TEMP_HOT_HYST 0x39 +#define SSD_LM80_REG_TEMP_OS_MAX 0x3a +#define SSD_LM80_REG_TEMP_OS_HYST 0x3b + +#define SSD_LM80_REG_CONFIG 0x00 +#define SSD_LM80_REG_ALARM1 0x01 +#define SSD_LM80_REG_ALARM2 0x02 +#define SSD_LM80_REG_MASK1 0x03 +#define SSD_LM80_REG_MASK2 0x04 +#define SSD_LM80_REG_FANDIV 0x05 +#define SSD_LM80_REG_RES 0x06 + +#define SSD_LM80_CONVERT_VOLT(val) ((val * 10) >> 8) + +#define SSD_LM80_3V3_VOLT(val) ((val)*33/19) + +#define SSD_LM80_CONV_INTERVAL (1000) + +enum ssd_lm80_in +{ + SSD_LM80_IN_CAP = 0, + SSD_LM80_IN_1V2, + SSD_LM80_IN_1V2a, + SSD_LM80_IN_1V5, + SSD_LM80_IN_1V8, + SSD_LM80_IN_FPGA_3V3, + SSD_LM80_IN_3V3, + SSD_LM80_IN_NR +}; + +struct ssd_lm80_limit +{ + uint8_t low; + uint8_t high; +}; + +/* +/- 5% except cap in*/ +static struct ssd_lm80_limit ssd_lm80_limit[SSD_LM80_IN_NR] = { + {171, 217}, /* CAP in: 1710 ~ 2170 */ + {114, 126}, + {114, 126}, + {142, 158}, + {171, 189}, + {180, 200}, + {180, 200}, +}; + +/* temperature sensors */ +enum ssd_temp_sensor +{ + SSD_TEMP_INLET = 0, + SSD_TEMP_FLASH, + SSD_TEMP_CTRL, + SSD_TEMP_NR +}; + + +#ifdef SSD_OT_PROTECT +#define SSD_OT_DELAY (60) //ms + +#define SSD_OT_TEMP (90) //90 DegC + +#define SSD_OT_TEMP_HYST (85) //85 DegC +#endif + +/* fpga temperature */ +//#define CONVERT_TEMP(val) ((float)(val)*503.975f/4096.0f-273.15f) +#define CONVERT_TEMP(val) ((val)*504/4096-273) + +#define MAX_TEMP(val) CONVERT_TEMP(((val & 0xffff) >> 4)) +#define MIN_TEMP(val) CONVERT_TEMP((((val>>16) & 0xffff) >> 4)) +#define CUR_TEMP(val) CONVERT_TEMP((((val>>32) & 0xffff) >> 4)) + + +/* CAP monitor */ +#define SSD_PL_CAP_U1 SSD_LM80_REG_IN(SSD_LM80_IN_CAP) +#define SSD_PL_CAP_U2 SSD_LM80_REG_IN(SSD_LM80_IN_1V8) +#define SSD_PL_CAP_LEARN(u1, u2, t) ((t*(u1+u2))/(2*162*(u1-u2))) +#define SSD_PL_CAP_LEARN_WAIT (20) //20ms +#define SSD_PL_CAP_LEARN_MAX_WAIT (1000/SSD_PL_CAP_LEARN_WAIT) //1s + +#define SSD_PL_CAP_CHARGE_WAIT (1000) +#define SSD_PL_CAP_CHARGE_MAX_WAIT ((120*1000)/SSD_PL_CAP_CHARGE_WAIT) //120s + +#define SSD_PL_CAP_VOLT(val) (val*7) + +#define SSD_PL_CAP_VOLT_FULL (13700) +#define SSD_PL_CAP_VOLT_READY (12880) + +#define SSD_PL_CAP_THRESHOLD (8900) +#define SSD_PL_CAP_CP_THRESHOLD (5800) +#define SSD_PL_CAP_THRESHOLD_HYST (100) + +enum ssd_pl_cap_status +{ + SSD_PL_CAP = 0, + SSD_PL_CAP_NR +}; + +enum ssd_pl_cap_type +{ + SSD_PL_CAP_DEFAULT = 0, /* 4 cap */ + SSD_PL_CAP_CP /* 3 cap */ +}; + + +/* hwmon offset */ +#define SSD_HWMON_OFFS_TEMP (0) +#define SSD_HWMON_OFFS_SENSOR (SSD_HWMON_OFFS_TEMP + SSD_TEMP_NR) +#define SSD_HWMON_OFFS_PL_CAP (SSD_HWMON_OFFS_SENSOR + SSD_SENSOR_NR) +#define SSD_HWMON_OFFS_LM80 (SSD_HWMON_OFFS_PL_CAP + SSD_PL_CAP_NR) +#define SSD_HWMON_OFFS_CLOCK (SSD_HWMON_OFFS_LM80 + SSD_LM80_IN_NR) +#define SSD_HWMON_OFFS_FPGA (SSD_HWMON_OFFS_CLOCK + SSD_CLOCK_NR) + +#define SSD_HWMON_TEMP(idx) (SSD_HWMON_OFFS_TEMP + idx) +#define SSD_HWMON_SENSOR(idx) (SSD_HWMON_OFFS_SENSOR + idx) +#define SSD_HWMON_PL_CAP(idx) (SSD_HWMON_OFFS_PL_CAP + idx) +#define SSD_HWMON_LM80(idx) (SSD_HWMON_OFFS_LM80 + idx) +#define SSD_HWMON_CLOCK(idx) (SSD_HWMON_OFFS_CLOCK + idx) +#define SSD_HWMON_FPGA(ctrl, idx) (SSD_HWMON_OFFS_FPGA + (ctrl * SSD_FPGA_VOLT_NR) + idx) + + + +/* fifo */ +typedef struct sfifo +{ + uint32_t in; + uint32_t out; + uint32_t size; + uint32_t esize; + uint32_t mask; + spinlock_t lock; + void *data; +} sfifo_t; + +static int sfifo_alloc(struct sfifo *fifo, uint32_t size, uint32_t esize) +{ + uint32_t __size = 1; + + if (!fifo || size > INT_MAX || esize == 0) { + return -EINVAL; + } + + while (__size < size) __size <<= 1; + + if (__size < 2) { + return -EINVAL; + } + + fifo->data = vmalloc(esize * __size); + if (!fifo->data) { + return -ENOMEM; + } + + fifo->in = 0; + fifo->out = 0; + fifo->mask = __size - 1; + fifo->size = __size; + fifo->esize = esize; + spin_lock_init(&fifo->lock); + + return 0; +} + +static void sfifo_free(struct sfifo *fifo) +{ + if (!fifo) { + return; + } + + vfree(fifo->data); + fifo->data = NULL; + fifo->in = 0; + fifo->out = 0; + fifo->mask = 0; + fifo->size = 0; + fifo->esize = 0; +} + +static int __sfifo_put(struct sfifo *fifo, void *val) +{ + if (((fifo->in + 1) & fifo->mask) == fifo->out) { + return -1; + } + + memcpy((fifo->data + (fifo->in * fifo->esize)), val, fifo->esize); + fifo->in = (fifo->in + 1) & fifo->mask; + + return 0; +} + +static int sfifo_put(struct sfifo *fifo, void *val) +{ + int ret = 0; + + if (!fifo || !val) { + return -EINVAL; + } + + if (!in_interrupt()) { + spin_lock_irq(&fifo->lock); + ret = __sfifo_put(fifo, val); + spin_unlock_irq(&fifo->lock); + } else { + spin_lock(&fifo->lock); + ret = __sfifo_put(fifo, val); + spin_unlock(&fifo->lock); + } + + return ret; +} + +static int __sfifo_get(struct sfifo *fifo, void *val) +{ + if (fifo->out == fifo->in) { + return -1; + } + + memcpy(val, (fifo->data + (fifo->out * fifo->esize)), fifo->esize); + fifo->out = (fifo->out + 1) & fifo->mask; + + return 0; +} + +static int sfifo_get(struct sfifo *fifo, void *val) +{ + int ret = 0; + + if (!fifo || !val) { + return -EINVAL; + } + + if (!in_interrupt()) { + spin_lock_irq(&fifo->lock); + ret = __sfifo_get(fifo, val); + spin_unlock_irq(&fifo->lock); + } else { + spin_lock(&fifo->lock); + ret = __sfifo_get(fifo, val); + spin_unlock(&fifo->lock); + } + + return ret; +} + +/* bio list */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)) +struct ssd_blist { + struct bio *prev; + struct bio *next; +}; + +static inline void ssd_blist_init(struct ssd_blist *ssd_bl) +{ + ssd_bl->prev = NULL; + ssd_bl->next = NULL; +} + +static inline struct bio *ssd_blist_get(struct ssd_blist *ssd_bl) +{ + struct bio *bio = ssd_bl->prev; + + ssd_bl->prev = NULL; + ssd_bl->next = NULL; + + return bio; +} + +static inline void ssd_blist_add(struct ssd_blist *ssd_bl, struct bio *bio) +{ + bio->bi_next = NULL; + + if (ssd_bl->next) { + ssd_bl->next->bi_next = bio; + } else { + ssd_bl->prev = bio; + } + + ssd_bl->next = bio; +} + +#else +#define ssd_blist bio_list +#define ssd_blist_init bio_list_init +#define ssd_blist_get bio_list_get +#define ssd_blist_add bio_list_add +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)) +#define bio_start(bio) (bio->bi_sector) +#else +#define bio_start(bio) (bio->bi_iter.bi_sector) +#endif + +/* mutex */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)) +#define mutex_lock down +#define mutex_unlock up +#define mutex semaphore +#define mutex_init init_MUTEX +#endif + +/* i2c */ +typedef union ssd_i2c_ctrl { + uint32_t val; + struct { + uint8_t wdata; + uint8_t addr; + uint16_t rw:1; + uint16_t pad:15; + } bits; +}__attribute__((packed)) ssd_i2c_ctrl_t; + +typedef union ssd_i2c_data { + uint32_t val; + struct { + uint32_t rdata:8; + uint32_t valid:1; + uint32_t pad:23; + } bits; +}__attribute__((packed)) ssd_i2c_data_t; + +/* write mode */ +enum ssd_write_mode +{ + SSD_WMODE_BUFFER = 0, + SSD_WMODE_BUFFER_EX, + SSD_WMODE_FUA, + /* dummy */ + SSD_WMODE_AUTO, + SSD_WMODE_DEFAULT +}; + +/* reset type */ +enum ssd_reset_type +{ + SSD_RST_NOINIT = 0, + SSD_RST_NORMAL, + SSD_RST_FULL +}; + +/* ssd msg */ +typedef struct ssd_sg_entry +{ + uint64_t block:48; + uint64_t length:16; + uint64_t buf; +}__attribute__((packed))ssd_sg_entry_t; + +typedef struct ssd_rw_msg +{ + uint8_t tag; + uint8_t flag; + uint8_t nsegs; + uint8_t fun; + uint32_t reserved; //for 64-bit align + struct ssd_sg_entry sge[1]; //base +}__attribute__((packed))ssd_rw_msg_t; + +typedef struct ssd_resp_msg +{ + uint8_t tag; + uint8_t status:2; + uint8_t bitflip:6; + uint8_t log; + uint8_t fun; + uint32_t reserved; +}__attribute__((packed))ssd_resp_msg_t; + +typedef struct ssd_flush_msg +{ + uint8_t tag; + uint8_t flag:2; //flash cache 0 or bbt 1 + uint8_t flash:6; + uint8_t ctrl_idx; + uint8_t fun; + uint32_t reserved; //align +}__attribute__((packed))ssd_flush_msg_t; + +typedef struct ssd_nand_op_msg +{ + uint8_t tag; + uint8_t flag; + uint8_t ctrl_idx; + uint8_t fun; + uint32_t reserved; //align + uint16_t page_count; + uint8_t chip_ce; + uint8_t chip_no; + uint32_t page_no; + uint64_t buf; +}__attribute__((packed))ssd_nand_op_msg_t; + +typedef struct ssd_ram_op_msg +{ + uint8_t tag; + uint8_t flag; + uint8_t ctrl_idx; + uint8_t fun; + uint32_t reserved; //align + uint32_t start; + uint32_t length; + uint64_t buf; +}__attribute__((packed))ssd_ram_op_msg_t; + + +/* log msg */ +typedef struct ssd_log_msg +{ + uint8_t tag; + uint8_t flag; + uint8_t ctrl_idx; + uint8_t fun; + uint32_t reserved; //align + uint64_t buf; +}__attribute__((packed))ssd_log_msg_t; + +typedef struct ssd_log_op_msg +{ + uint8_t tag; + uint8_t flag; + uint8_t ctrl_idx; + uint8_t fun; + uint32_t reserved; //align + uint64_t reserved1; //align + uint64_t buf; +}__attribute__((packed))ssd_log_op_msg_t; + +typedef struct ssd_log_resp_msg +{ + uint8_t tag; + uint16_t status :2; + uint16_t reserved1 :2; //align with the normal resp msg + uint16_t nr_log :12; + uint8_t fun; + uint32_t reserved; +}__attribute__((packed))ssd_log_resp_msg_t; + + +/* resp msg */ +typedef union ssd_response_msq +{ + ssd_resp_msg_t resp_msg; + ssd_log_resp_msg_t log_resp_msg; + uint64_t u64_msg; + uint32_t u32_msg[2]; +} ssd_response_msq_t; + + +/* custom struct */ +typedef struct ssd_protocol_info +{ + uint32_t ver; + uint32_t init_state_reg; + uint32_t init_state_reg_sz; + uint32_t chip_info_reg; + uint32_t chip_info_reg_sz; +} ssd_protocol_info_t; + +typedef struct ssd_hw_info +{ + uint32_t bridge_ver; + uint32_t ctrl_ver; + + uint32_t cmd_fifo_sz; + uint32_t cmd_fifo_sz_mask; + uint32_t cmd_max_sg; + uint32_t sg_max_sec; + uint32_t resp_ptr_sz; + uint32_t resp_msg_sz; + + uint16_t nr_ctrl; + + uint16_t nr_data_ch; + uint16_t nr_ch; + uint16_t max_ch; + uint16_t nr_chip; + + uint8_t pcb_ver; + uint8_t upper_pcb_ver; + + uint8_t nand_vendor_id; + uint8_t nand_dev_id; + + uint8_t max_ce; + uint8_t id_size; + uint16_t oob_size; + + uint16_t bbf_pages; + uint16_t bbf_seek; // + + uint16_t page_count; //per block + uint32_t page_size; + uint32_t block_count; //per flash + + uint64_t ram_size; + uint32_t ram_align; + uint32_t ram_max_len; + + uint64_t bbt_base; + uint32_t bbt_size; + uint64_t md_base; //metadata + uint32_t md_size; + uint32_t md_entry_sz; + + uint32_t log_sz; + + uint64_t nand_wbuff_base; + + uint32_t md_reserved_blks; + uint32_t reserved_blks; + uint32_t valid_pages; + uint32_t max_valid_pages; + uint64_t size; +} ssd_hw_info_t; + +typedef struct ssd_hw_info_extend +{ + uint8_t board_type; + uint8_t cap_type; + uint8_t plp_type; + uint8_t work_mode; + uint8_t form_factor; + + uint8_t pad[59]; +}ssd_hw_info_extend_t; + +typedef struct ssd_rom_info +{ + uint32_t size; + uint32_t block_size; + uint16_t page_size; + uint8_t nr_bridge_fw; + uint8_t nr_ctrl_fw; + uint8_t nr_bm_fw; + uint8_t nr_smart; + uint32_t bridge_fw_base; + uint32_t bridge_fw_sz; + uint32_t ctrl_fw_base; + uint32_t ctrl_fw_sz; + uint32_t bm_fw_base; + uint32_t bm_fw_sz; + uint32_t log_base; + uint32_t log_sz; + uint32_t smart_base; + uint32_t smart_sz; + uint32_t vp_base; + uint32_t label_base; +} ssd_rom_info_t; + +/* debug info */ +enum ssd_debug_type +{ + SSD_DEBUG_NONE = 0, + SSD_DEBUG_READ_ERR, + SSD_DEBUG_WRITE_ERR, + SSD_DEBUG_RW_ERR, + SSD_DEBUG_READ_TO, + SSD_DEBUG_WRITE_TO, + SSD_DEBUG_RW_TO, + SSD_DEBUG_LOG, + SSD_DEBUG_OFFLINE, + SSD_DEBUG_NR +}; + +typedef struct ssd_debug_info +{ + int type; + union { + struct { + uint64_t off; + uint32_t len; + } loc; + struct { + int event; + uint32_t extra; + } log; + } data; +}ssd_debug_info_t; + +/* label */ +#define SSD_LABEL_FIELD_SZ 32 +#define SSD_SN_SZ 16 + +typedef struct ssd_label +{ + char date[SSD_LABEL_FIELD_SZ]; + char sn[SSD_LABEL_FIELD_SZ]; + char part[SSD_LABEL_FIELD_SZ]; + char desc[SSD_LABEL_FIELD_SZ]; + char other[SSD_LABEL_FIELD_SZ]; + char maf[SSD_LABEL_FIELD_SZ]; +} ssd_label_t; + +#define SSD_LABEL_DESC_SZ 256 + +typedef struct ssd_labelv3 +{ + char boardtype[SSD_LABEL_FIELD_SZ]; + char barcode[SSD_LABEL_FIELD_SZ]; + char item[SSD_LABEL_FIELD_SZ]; + char description[SSD_LABEL_DESC_SZ]; + char manufactured[SSD_LABEL_FIELD_SZ]; + char vendorname[SSD_LABEL_FIELD_SZ]; + char issuenumber[SSD_LABEL_FIELD_SZ]; + char cleicode[SSD_LABEL_FIELD_SZ]; + char bom[SSD_LABEL_FIELD_SZ]; +} ssd_labelv3_t; + +/* battery */ +typedef struct ssd_battery_info +{ + uint32_t fw_ver; +} ssd_battery_info_t; + +/* ssd power stat */ +typedef struct ssd_power_stat +{ + uint64_t nr_poweron; + uint64_t nr_powerloss; + uint64_t init_failed; +} ssd_power_stat_t; + +/* io stat */ +typedef struct ssd_io_stat +{ + uint64_t run_time; + uint64_t nr_to; + uint64_t nr_ioerr; + uint64_t nr_rwerr; + uint64_t nr_read; + uint64_t nr_write; + uint64_t rsectors; + uint64_t wsectors; +} ssd_io_stat_t; + +/* ecc */ +typedef struct ssd_ecc_info +{ + uint64_t bitflip[SSD_ECC_MAX_FLIP]; +} ssd_ecc_info_t; + +/* log */ +enum ssd_log_level +{ + SSD_LOG_LEVEL_INFO = 0, + SSD_LOG_LEVEL_NOTICE, + SSD_LOG_LEVEL_WARNING, + SSD_LOG_LEVEL_ERR, + SSD_LOG_NR_LEVEL +}; + +typedef struct ssd_log_info +{ + uint64_t nr_log; + uint64_t stat[SSD_LOG_NR_LEVEL]; +} ssd_log_info_t; + +/* S.M.A.R.T. */ +#define SSD_SMART_MAGIC (0x5452414D53445353ull) + +typedef struct ssd_smart +{ + struct ssd_power_stat pstat; + struct ssd_io_stat io_stat; + struct ssd_ecc_info ecc_info; + struct ssd_log_info log_info; + uint64_t version; + uint64_t magic; +} ssd_smart_t; + +/* internal log */ +typedef struct ssd_internal_log +{ + uint32_t nr_log; + void *log; +} ssd_internal_log_t; + +/* ssd cmd */ +typedef struct ssd_cmd +{ + struct bio *bio; + struct scatterlist *sgl; + struct list_head list; + void *dev; + int nsegs; + int flag; /*pbio(1) or bio(0)*/ + + int tag; + void *msg; + dma_addr_t msg_dma; + + unsigned long start_time; + + int errors; + unsigned int nr_log; + + struct timer_list cmd_timer; + struct completion *waiting; +} ssd_cmd_t; + +typedef void (*send_cmd_func)(struct ssd_cmd *); +typedef int (*ssd_event_call)(struct gendisk *, int, int); /* gendisk, event id, event level */ + +/* dcmd sz */ +#define SSD_DCMD_MAX_SZ 32 + +typedef struct ssd_dcmd +{ + struct list_head list; + void *dev; + uint8_t msg[SSD_DCMD_MAX_SZ]; +} ssd_dcmd_t; + + +enum ssd_state { + SSD_INIT_WORKQ, + SSD_INIT_BD, + SSD_ONLINE, + /* full reset */ + SSD_RESETING, + /* hw log */ + SSD_LOG_HW, + /* log err */ + SSD_LOG_ERR, +}; + +#define SSD_QUEUE_NAME_LEN 16 +typedef struct ssd_queue { + char name[SSD_QUEUE_NAME_LEN]; + void *dev; + + int idx; + + uint32_t resp_idx; + uint32_t resp_idx_mask; + uint32_t resp_msg_sz; + + void *resp_msg; + void *resp_ptr; + + struct ssd_cmd *cmd; + + struct ssd_io_stat io_stat; + struct ssd_ecc_info ecc_info; +} ssd_queue_t; + +typedef struct ssd_device { + char name[SSD_DEV_NAME_LEN]; + + int idx; + int major; + int readonly; + + int int_mode; +#ifdef SSD_ESCAPE_IRQ + int irq_cpu; +#endif + + int reload_fw; + + int ot_delay; //in ms + + atomic_t refcnt; + atomic_t tocnt; + atomic_t in_flight[2]; //r&w + + uint64_t uptime; + + struct list_head list; + struct pci_dev *pdev; + + unsigned long mmio_base; + unsigned long mmio_len; + void __iomem *ctrlp; + + struct mutex spi_mutex; + struct mutex i2c_mutex; + + struct ssd_protocol_info protocol_info; + struct ssd_hw_info hw_info; + struct ssd_rom_info rom_info; + struct ssd_label label; + + struct ssd_smart smart; + + atomic_t in_sendq; + spinlock_t sendq_lock; + struct ssd_blist sendq; + struct task_struct *send_thread; + wait_queue_head_t send_waitq; + + atomic_t in_doneq; + spinlock_t doneq_lock; + struct ssd_blist doneq; + struct task_struct *done_thread; + wait_queue_head_t done_waitq; + + struct ssd_dcmd *dcmd; + spinlock_t dcmd_lock; + struct list_head dcmd_list; /* direct cmd list */ + wait_queue_head_t dcmd_wq; + + unsigned long *tag_map; + wait_queue_head_t tag_wq; + + spinlock_t cmd_lock; + struct ssd_cmd *cmd; + send_cmd_func scmd; + + ssd_event_call event_call; + void *msg_base; + dma_addr_t msg_base_dma; + + uint32_t resp_idx; + void *resp_msg_base; + void *resp_ptr_base; + dma_addr_t resp_msg_base_dma; + dma_addr_t resp_ptr_base_dma; + + int nr_queue; + struct msix_entry entry[SSD_MSIX_VEC]; + struct ssd_queue queue[SSD_MSIX_VEC]; + + struct request_queue *rq; /* The device request queue */ + struct gendisk *gd; /* The gendisk structure */ + + struct mutex internal_log_mutex; + struct ssd_internal_log internal_log; + struct workqueue_struct *workq; + struct work_struct log_work; /* get log */ + void *log_buf; + + unsigned long state; /* device state, for example, block device inited */ + + struct module *owner; + + /* extend */ + + int slave; + int cmajor; + int save_md; + int ot_protect; + + struct kref kref; + + struct mutex gd_mutex; + struct ssd_log_info log_info; /* volatile */ + + atomic_t queue_depth; + struct mutex barrier_mutex; + struct mutex fw_mutex; + + struct ssd_hw_info_extend hw_info_ext; + struct ssd_labelv3 labelv3; + + int wmode; + int user_wmode; + struct mutex bm_mutex; + struct work_struct bm_work; /* check bm */ + struct timer_list bm_timer; + struct sfifo log_fifo; + + struct timer_list routine_timer; + unsigned long routine_tick; + unsigned long hwmon; + + struct work_struct hwmon_work; /* check hw */ + struct work_struct capmon_work; /* check battery */ + struct work_struct tempmon_work; /* check temp */ + + /* debug info */ + struct ssd_debug_info db_info; + uint64_t reset_time; + int has_non_0x98_reg_access; + spinlock_t in_flight_lock; + + uint64_t last_poweron_id; + +} ssd_device_t; + + +/* Ioctl struct */ +typedef struct ssd_acc_info { + uint32_t threshold_l1; + uint32_t threshold_l2; + uint32_t val; +} ssd_acc_info_t; + +typedef struct ssd_reg_op_info +{ + uint32_t offset; + uint32_t value; +} ssd_reg_op_info_t; + +typedef struct ssd_spi_op_info +{ + void __user *buf; + uint32_t off; + uint32_t len; +} ssd_spi_op_info_t; + +typedef struct ssd_i2c_op_info +{ + uint8_t saddr; + uint8_t wsize; + uint8_t rsize; + void __user *wbuf; + void __user *rbuf; +} ssd_i2c_op_info_t; + +typedef struct ssd_smbus_op_info +{ + uint8_t saddr; + uint8_t cmd; + uint8_t size; + void __user *buf; +} ssd_smbus_op_info_t; + +typedef struct ssd_ram_op_info { + uint8_t ctrl_idx; + uint32_t length; + uint64_t start; + uint8_t __user *buf; +} ssd_ram_op_info_t; + +typedef struct ssd_flash_op_info { + uint32_t page; + uint16_t flash; + uint8_t chip; + uint8_t ctrl_idx; + uint8_t __user *buf; +} ssd_flash_op_info_t; + +typedef struct ssd_sw_log_info { + uint16_t event; + uint16_t pad; + uint32_t data; +} ssd_sw_log_info_t; + +typedef struct ssd_version_info +{ + uint32_t bridge_ver; /* bridge fw version */ + uint32_t ctrl_ver; /* controller fw version */ + uint32_t bm_ver; /* battery manager fw version */ + uint8_t pcb_ver; /* main pcb version */ + uint8_t upper_pcb_ver; + uint8_t pad0; + uint8_t pad1; +} ssd_version_info_t; + +typedef struct pci_addr +{ + uint16_t domain; + uint8_t bus; + uint8_t slot; + uint8_t func; +} pci_addr_t; + +typedef struct ssd_drv_param_info { + int mode; + int status_mask; + int int_mode; + int threaded_irq; + int log_level; + int wmode; + int ot_protect; + int finject; + int pad[8]; +} ssd_drv_param_info_t; + + +/* form factor */ +enum ssd_form_factor +{ + SSD_FORM_FACTOR_HHHL = 0, + SSD_FORM_FACTOR_FHHL +}; + + +/* ssd power loss protect */ +enum ssd_plp_type +{ + SSD_PLP_SCAP = 0, + SSD_PLP_CAP, + SSD_PLP_NONE +}; + +/* ssd bm */ +#define SSD_BM_SLAVE_ADDRESS 0x16 +#define SSD_BM_CAP 5 + +/* SBS cmd */ +#define SSD_BM_SAFETYSTATUS 0x51 +#define SSD_BM_OPERATIONSTATUS 0x54 + +/* ManufacturerAccess */ +#define SSD_BM_MANUFACTURERACCESS 0x00 +#define SSD_BM_ENTER_CAP_LEARNING 0x0023 /* cap learning */ + +/* Data flash access */ +#define SSD_BM_DATA_FLASH_SUBCLASS_ID 0x77 +#define SSD_BM_DATA_FLASH_SUBCLASS_ID_PAGE1 0x78 +#define SSD_BM_SYSTEM_DATA_SUBCLASS_ID 56 +#define SSD_BM_CONFIGURATION_REGISTERS_ID 64 + +/* min cap voltage */ +#define SSD_BM_CAP_VOLT_MIN 500 + +/* +enum ssd_bm_cap +{ + SSD_BM_CAP_VINA = 1, + SSD_BM_CAP_JH = 3 +};*/ + +enum ssd_bmstatus +{ + SSD_BMSTATUS_OK = 0, + SSD_BMSTATUS_CHARGING, /* not fully charged */ + SSD_BMSTATUS_WARNING +}; + +enum sbs_unit { + SBS_UNIT_VALUE = 0, + SBS_UNIT_TEMPERATURE, + SBS_UNIT_VOLTAGE, + SBS_UNIT_CURRENT, + SBS_UNIT_ESR, + SBS_UNIT_PERCENT, + SBS_UNIT_CAPACITANCE +}; + +enum sbs_size { + SBS_SIZE_BYTE = 1, + SBS_SIZE_WORD, + SBS_SIZE_BLK, +}; + +struct sbs_cmd { + uint8_t cmd; + uint8_t size; + uint8_t unit; + uint8_t off; + uint16_t mask; + char *desc; +}; + +struct ssd_bm { + uint16_t temp; + uint16_t volt; + uint16_t curr; + uint16_t esr; + uint16_t rsoc; + uint16_t health; + uint16_t cap; + uint16_t chg_curr; + uint16_t chg_volt; + uint16_t cap_volt[SSD_BM_CAP]; + uint16_t sf_alert; + uint16_t sf_status; + uint16_t op_status; + uint16_t sys_volt; +}; + +struct ssd_bm_manufacturer_data +{ + uint16_t pack_lot_code; + uint16_t pcb_lot_code; + uint16_t firmware_ver; + uint16_t hardware_ver; +}; + +struct ssd_bm_configuration_registers +{ + struct { + uint16_t cc:3; + uint16_t rsvd:5; + uint16_t stack:1; + uint16_t rsvd1:2; + uint16_t temp:2; + uint16_t rsvd2:1; + uint16_t lt_en:1; + uint16_t rsvd3:1; + } operation_cfg; + uint16_t pad; + uint16_t fet_action; + uint16_t pad1; + uint16_t fault; +}; + +#define SBS_VALUE_MASK 0xffff + +#define bm_var_offset(var) ((size_t) &((struct ssd_bm *)0)->var) +#define bm_var(start, offset) ((void *) start + (offset)) + +static struct sbs_cmd ssd_bm_sbs[] = { + {0x08, SBS_SIZE_WORD, SBS_UNIT_TEMPERATURE, bm_var_offset(temp), SBS_VALUE_MASK, "Temperature"}, + {0x09, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, bm_var_offset(volt), SBS_VALUE_MASK, "Voltage"}, + {0x0a, SBS_SIZE_WORD, SBS_UNIT_CURRENT, bm_var_offset(curr), SBS_VALUE_MASK, "Current"}, + {0x0b, SBS_SIZE_WORD, SBS_UNIT_ESR, bm_var_offset(esr), SBS_VALUE_MASK, "ESR"}, + {0x0d, SBS_SIZE_BYTE, SBS_UNIT_PERCENT, bm_var_offset(rsoc), SBS_VALUE_MASK, "RelativeStateOfCharge"}, + {0x0e, SBS_SIZE_BYTE, SBS_UNIT_PERCENT, bm_var_offset(health), SBS_VALUE_MASK, "Health"}, + {0x10, SBS_SIZE_WORD, SBS_UNIT_CAPACITANCE, bm_var_offset(cap), SBS_VALUE_MASK, "Capacitance"}, + {0x14, SBS_SIZE_WORD, SBS_UNIT_CURRENT, bm_var_offset(chg_curr), SBS_VALUE_MASK, "ChargingCurrent"}, + {0x15, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, bm_var_offset(chg_volt), SBS_VALUE_MASK, "ChargingVoltage"}, + {0x3b, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, (uint8_t)bm_var_offset(cap_volt[4]), SBS_VALUE_MASK, "CapacitorVoltage5"}, + {0x3c, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, (uint8_t)bm_var_offset(cap_volt[3]), SBS_VALUE_MASK, "CapacitorVoltage4"}, + {0x3d, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, (uint8_t)bm_var_offset(cap_volt[2]), SBS_VALUE_MASK, "CapacitorVoltage3"}, + {0x3e, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, (uint8_t)bm_var_offset(cap_volt[1]), SBS_VALUE_MASK, "CapacitorVoltage2"}, + {0x3f, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, (uint8_t)bm_var_offset(cap_volt[0]), SBS_VALUE_MASK, "CapacitorVoltage1"}, + {0x50, SBS_SIZE_WORD, SBS_UNIT_VALUE, bm_var_offset(sf_alert), 0x870F, "SafetyAlert"}, + {0x51, SBS_SIZE_WORD, SBS_UNIT_VALUE, bm_var_offset(sf_status), 0xE7BF, "SafetyStatus"}, + {0x54, SBS_SIZE_WORD, SBS_UNIT_VALUE, bm_var_offset(op_status), 0x79F4, "OperationStatus"}, + {0x5a, SBS_SIZE_WORD, SBS_UNIT_VOLTAGE, bm_var_offset(sys_volt), SBS_VALUE_MASK, "SystemVoltage"}, + {0, 0, 0, 0, 0, NULL}, +}; + +/* ssd ioctl */ +#define SSD_CMD_GET_PROTOCOL_INFO _IOR('H', 100, struct ssd_protocol_info) +#define SSD_CMD_GET_HW_INFO _IOR('H', 101, struct ssd_hw_info) +#define SSD_CMD_GET_ROM_INFO _IOR('H', 102, struct ssd_rom_info) +#define SSD_CMD_GET_SMART _IOR('H', 103, struct ssd_smart) +#define SSD_CMD_GET_IDX _IOR('H', 105, int) +#define SSD_CMD_GET_AMOUNT _IOR('H', 106, int) +#define SSD_CMD_GET_TO_INFO _IOR('H', 107, int) +#define SSD_CMD_GET_DRV_VER _IOR('H', 108, char[DRIVER_VERSION_LEN]) + +#define SSD_CMD_GET_BBACC_INFO _IOR('H', 109, struct ssd_acc_info) +#define SSD_CMD_GET_ECACC_INFO _IOR('H', 110, struct ssd_acc_info) + +#define SSD_CMD_GET_HW_INFO_EXT _IOR('H', 111, struct ssd_hw_info_extend) + +#define SSD_CMD_REG_READ _IOWR('H', 120, struct ssd_reg_op_info) +#define SSD_CMD_REG_WRITE _IOWR('H', 121, struct ssd_reg_op_info) + +#define SSD_CMD_SPI_READ _IOWR('H', 125, struct ssd_spi_op_info) +#define SSD_CMD_SPI_WRITE _IOWR('H', 126, struct ssd_spi_op_info) +#define SSD_CMD_SPI_ERASE _IOWR('H', 127, struct ssd_spi_op_info) + +#define SSD_CMD_I2C_READ _IOWR('H', 128, struct ssd_i2c_op_info) +#define SSD_CMD_I2C_WRITE _IOWR('H', 129, struct ssd_i2c_op_info) +#define SSD_CMD_I2C_WRITE_READ _IOWR('H', 130, struct ssd_i2c_op_info) + +#define SSD_CMD_SMBUS_SEND_BYTE _IOWR('H', 131, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_RECEIVE_BYTE _IOWR('H', 132, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_WRITE_BYTE _IOWR('H', 133, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_READ_BYTE _IOWR('H', 135, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_WRITE_WORD _IOWR('H', 136, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_READ_WORD _IOWR('H', 137, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_WRITE_BLOCK _IOWR('H', 138, struct ssd_smbus_op_info) +#define SSD_CMD_SMBUS_READ_BLOCK _IOWR('H', 139, struct ssd_smbus_op_info) + +#define SSD_CMD_BM_GET_VER _IOR('H', 140, uint16_t) +#define SSD_CMD_BM_GET_NR_CAP _IOR('H', 141, int) +#define SSD_CMD_BM_CAP_LEARNING _IOW('H', 142, int) +#define SSD_CMD_CAP_LEARN _IOR('H', 143, uint32_t) +#define SSD_CMD_GET_CAP_STATUS _IOR('H', 144, int) + +#define SSD_CMD_RAM_READ _IOWR('H', 150, struct ssd_ram_op_info) +#define SSD_CMD_RAM_WRITE _IOWR('H', 151, struct ssd_ram_op_info) + +#define SSD_CMD_NAND_READ_ID _IOR('H', 160, struct ssd_flash_op_info) +#define SSD_CMD_NAND_READ _IOWR('H', 161, struct ssd_flash_op_info) //with oob +#define SSD_CMD_NAND_WRITE _IOWR('H', 162, struct ssd_flash_op_info) +#define SSD_CMD_NAND_ERASE _IOWR('H', 163, struct ssd_flash_op_info) +#define SSD_CMD_NAND_READ_EXT _IOWR('H', 164, struct ssd_flash_op_info) //ingore EIO + +#define SSD_CMD_UPDATE_BBT _IOW('H', 180, struct ssd_flash_op_info) + +#define SSD_CMD_CLEAR_ALARM _IOW('H', 190, int) +#define SSD_CMD_SET_ALARM _IOW('H', 191, int) + +#define SSD_CMD_RESET _IOW('H', 200, int) +#define SSD_CMD_RELOAD_FW _IOW('H', 201, int) +#define SSD_CMD_UNLOAD_DEV _IOW('H', 202, int) +#define SSD_CMD_LOAD_DEV _IOW('H', 203, int) +#define SSD_CMD_UPDATE_VP _IOWR('H', 205, uint32_t) +#define SSD_CMD_FULL_RESET _IOW('H', 206, int) + +#define SSD_CMD_GET_NR_LOG _IOR('H', 220, uint32_t) +#define SSD_CMD_GET_LOG _IOR('H', 221, void *) +#define SSD_CMD_LOG_LEVEL _IOW('H', 222, int) + +#define SSD_CMD_OT_PROTECT _IOW('H', 223, int) +#define SSD_CMD_GET_OT_STATUS _IOR('H', 224, int) + +#define SSD_CMD_CLEAR_LOG _IOW('H', 230, int) +#define SSD_CMD_CLEAR_SMART _IOW('H', 231, int) + +#define SSD_CMD_SW_LOG _IOW('H', 232, struct ssd_sw_log_info) + +#define SSD_CMD_GET_LABEL _IOR('H', 235, struct ssd_label) +#define SSD_CMD_GET_VERSION _IOR('H', 236, struct ssd_version_info) +#define SSD_CMD_GET_TEMPERATURE _IOR('H', 237, int) +#define SSD_CMD_GET_BMSTATUS _IOR('H', 238, int) +#define SSD_CMD_GET_LABEL2 _IOR('H', 239, void *) + + +#define SSD_CMD_FLUSH _IOW('H', 240, int) +#define SSD_CMD_SAVE_MD _IOW('H', 241, int) + +#define SSD_CMD_SET_WMODE _IOW('H', 242, int) +#define SSD_CMD_GET_WMODE _IOR('H', 243, int) +#define SSD_CMD_GET_USER_WMODE _IOR('H', 244, int) + +#define SSD_CMD_DEBUG _IOW('H', 250, struct ssd_debug_info) +#define SSD_CMD_DRV_PARAM_INFO _IOR('H', 251, struct ssd_drv_param_info) + +#define SSD_CMD_CLEAR_WARNING _IOW('H', 260, int) + + +/* log */ +#define SSD_LOG_MAX_SZ 4096 +#define SSD_LOG_LEVEL SSD_LOG_LEVEL_NOTICE +#define SSD_DIF_WITH_OLD_LOG 0x3f + +enum ssd_log_data +{ + SSD_LOG_DATA_NONE = 0, + SSD_LOG_DATA_LOC, + SSD_LOG_DATA_HEX +}; + +typedef struct ssd_log_entry +{ + union { + struct { + uint32_t page:10; + uint32_t block:14; + uint32_t flash:8; + } loc; + struct { + uint32_t page:12; + uint32_t block:12; + uint32_t flash:8; + } loc1; + uint32_t val; + } data; + uint16_t event:10; + uint16_t mod:6; + uint16_t idx; +}__attribute__((packed))ssd_log_entry_t; + +typedef struct ssd_log +{ + uint64_t time:56; + uint64_t ctrl_idx:8; + ssd_log_entry_t le; +} __attribute__((packed)) ssd_log_t; + +typedef struct ssd_log_desc +{ + uint16_t event; + uint8_t level; + uint8_t data; + uint8_t sblock; + uint8_t spage; + char *desc; +} __attribute__((packed)) ssd_log_desc_t; + +#define SSD_LOG_SW_IDX 0xF +#define SSD_UNKNOWN_EVENT ((uint16_t)-1) +static struct ssd_log_desc ssd_log_desc[] = { + /* event, level, show flash, show block, show page, desc */ + {0x0, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_LOC, 0, 0, "Create BBT failure"}, //g3 + {0x1, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_LOC, 0, 0, "Read BBT failure"}, //g3 + {0x2, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Mark bad block"}, + {0x3, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Flush BBT failure"}, + {0x4, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0x7, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "No available blocks"}, + {0x8, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Bad EC header"}, + {0x9, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_LOC, 1, 0, "Bad VID header"}, //g3 + {0xa, SSD_LOG_LEVEL_INFO, SSD_LOG_DATA_LOC, 1, 0, "Wear leveling"}, + {0xb, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "WL read back failure"}, + {0x11, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Data recovery failure"}, // err + {0x20, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Init: scan mapping table failure"}, // err g3 + {0x21, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0x22, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0x23, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0x24, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Merge: read mapping page failure"}, + {0x25, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Merge: read back failure"}, + {0x26, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0x27, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_LOC, 1, 1, "Data corrupted for abnormal power down"}, //g3 + {0x28, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Merge: mapping page corrupted"}, + {0x29, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Init: no mapping page"}, + {0x2a, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: mapping pages incomplete"}, + {0x2b, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Read back failure after programming failure"}, // err + {0xf1, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Read failure without recovery"}, // err + {0xf2, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 0, 0, "No available blocks"}, // maybe err g3 + {0xf3, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 0, "Init: RAID incomplete"}, // err g3 + {0xf4, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0xf5, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read failure in moving data"}, + {0xf6, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Program failure"}, + {0xf7, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_LOC, 1, 1, "Init: RAID not complete"}, + {0xf8, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Init: data moving interrupted"}, + {0xfe, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Data inspection failure"}, + {0xff, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "IO: ECC failed"}, + + /* new */ + {0x2e, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 0, 0, "No available reserved blocks" }, // err + {0x30, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Init: PMT membership not found"}, + {0x31, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Init: PMT corrupted"}, + {0x32, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Init: PBT membership not found"}, + {0x33, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Init: PBT not found"}, + {0x34, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Init: PBT corrupted"}, + {0x35, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PMT page read failure"}, + {0x36, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PBT page read failure"}, + {0x37, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PBT backup page read failure"}, + {0x38, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PBMT read failure"}, + {0x39, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Init: PBMT scan failure"}, // err + {0x3a, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: first page read failure"}, + {0x3b, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Init: first page scan failure"}, // err + {0x3c, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Init: scan unclosed block failure"}, // err + {0x3d, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: write pointer mismatch"}, + {0x3e, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PMT recovery: PBMT read failure"}, + {0x3f, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Init: PMT recovery: PBMT scan failure"}, + {0x40, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "Init: PMT recovery: data page read failure"}, //err + {0x41, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PBT write pointer mismatch"}, + {0x42, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: PBT latest version corrupted"}, + {0x43, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 0, "Init: too many unclosed blocks"}, + {0x44, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Init: PDW block found"}, + {0x45, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "Init: more than one PDW block found"}, //err + {0x46, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Init: first page is blank or read failure"}, + {0x47, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Init: PDW block not found"}, + + {0x50, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 0, "Cache: hit error data"}, // err + {0x51, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 0, "Cache: read back failure"}, // err + {0x52, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Cache: unknown command"}, //? + {0x53, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_LOC, 1, 1, "GC/WL read back failure"}, // err + + {0x60, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "Erase failure"}, + + {0x70, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "LPA not matched"}, + {0x71, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "PBN not matched"}, + {0x72, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read retry failure"}, + {0x73, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Need raid recovery"}, + {0x74, SSD_LOG_LEVEL_INFO, SSD_LOG_DATA_LOC, 1, 1, "Need read retry"}, + {0x75, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read invalid data page"}, + {0x76, SSD_LOG_LEVEL_INFO, SSD_LOG_DATA_LOC, 1, 1, "ECC error, data in cache, PBN matched"}, + {0x77, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "ECC error, data in cache, PBN not matched"}, + {0x78, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "ECC error, data in flash, PBN not matched"}, + {0x79, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "ECC ok, data in cache, LPA not matched"}, + {0x7a, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "ECC ok, data in flash, LPA not matched"}, + {0x7b, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID data in cache, LPA not matched"}, + {0x7c, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID data in flash, LPA not matched"}, + {0x7d, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read data page status error"}, + {0x7e, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read blank page"}, + {0x7f, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Access flash timeout"}, + + {0x80, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "EC overflow"}, + {0x81, SSD_LOG_LEVEL_INFO, SSD_LOG_DATA_NONE, 0, 0, "Scrubbing completed"}, + {0x82, SSD_LOG_LEVEL_INFO, SSD_LOG_DATA_LOC, 1, 0, "Unstable block(too much bit flip)"}, + {0x83, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "GC: ram error"}, //? + {0x84, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "GC: one PBMT read failure"}, + + {0x88, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "GC: mark bad block"}, + {0x89, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 0, "GC: invalid page count error"}, // maybe err + {0x8a, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_NONE, 0, 0, "Warning: Bad Block close to limit"}, + {0x8b, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "Error: Bad Block over limit"}, + {0x8c, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_NONE, 0, 0, "Warning: P/E cycles close to limit"}, + {0x8d, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "Error: P/E cycles over limit"}, + + {0x90, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Warning: Over temperature"}, //90 + {0x91, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Temperature is OK"}, //80 + {0x92, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_NONE, 0, 0, "Battery fault"}, + {0x93, SSD_LOG_LEVEL_WARNING, SSD_LOG_DATA_NONE, 0, 0, "SEU fault"}, //err + {0x94, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "DDR error"}, //err + {0x95, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "Controller serdes error"}, //err + {0x96, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "Bridge serdes 1 error"}, //err + {0x97, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_NONE, 0, 0, "Bridge serdes 2 error"}, //err + {0x98, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "SEU fault (corrected)"}, //err + {0x99, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Battery is OK"}, + {0x9a, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Temperature close to limit"}, //85 + + {0x9b, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "SEU fault address (low)"}, + {0x9c, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "SEU fault address (high)"}, + {0x9d, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "I2C fault" }, + {0x9e, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "DDR single bit error" }, + {0x9f, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Board voltage fault" }, + + {0xa0, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "LPA not matched"}, + {0xa1, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Re-read data in cache"}, + {0xa2, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read blank page"}, + {0xa3, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: Read blank page"}, + {0xa4, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: new data in cache"}, + {0xa5, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: PBN not matched"}, + {0xa6, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Read data with error flag"}, + {0xa7, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: recoverd data with error flag"}, + {0xa8, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Blank page in cache, PBN matched"}, + {0xa9, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: Blank page in cache, PBN matched"}, + {0xaa, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 0, 0, "Flash init failure"}, + {0xab, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "Mapping table recovery failure"}, + {0xac, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_LOC, 1, 1, "RAID recovery: ECC failed"}, + {0xb0, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Warning: Temperature is 95 degrees C"}, + {0xb1, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Warning: Temperature is 100 degrees C"}, + + {0x300, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "CMD timeout"}, + {0x301, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Power on"}, + {0x302, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Power off"}, + {0x303, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Clear log"}, + {0x304, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Set capacity"}, + {0x305, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Clear data"}, + {0x306, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "BM safety status"}, + {0x307, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "I/O error"}, + {0x308, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "CMD error"}, + {0x309, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Set wmode"}, + {0x30a, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "DDR init failed" }, + {0x30b, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "PCIe link status" }, + {0x30c, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "Controller reset sync error" }, + {0x30d, SSD_LOG_LEVEL_ERR, SSD_LOG_DATA_HEX, 0, 0, "Clock fault" }, + {0x30e, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "FPGA voltage fault status" }, + {0x30f, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Set capacity finished"}, + {0x310, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Clear data finished"}, + {0x311, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Reset"}, + {0x312, SSD_LOG_LEVEL_WARNING,SSD_LOG_DATA_HEX, 0, 0, "CAP: voltage fault"}, + {0x313, SSD_LOG_LEVEL_WARNING,SSD_LOG_DATA_NONE, 0, 0, "CAP: learn fault"}, + {0x314, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "CAP status"}, + {0x315, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Board voltage fault status"}, + {0x316, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Inlet temperature is 55 degrees C"}, //55 + {0x317, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Inlet temperature is 50 degrees C"}, //50 + {0x318, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Flash over temperature"}, //70 + {0x319, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Info: Flash temperature is OK"}, //65 + {0x31a, SSD_LOG_LEVEL_WARNING,SSD_LOG_DATA_NONE, 0, 0, "CAP: short circuit"}, + {0x31b, SSD_LOG_LEVEL_WARNING,SSD_LOG_DATA_HEX, 0, 0, "Sensor fault"}, + {0x31c, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Erase all data"}, + {0x31d, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Erase all data finished"}, + {0x320, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "Temperature sensor event"}, + + {0x350, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Clear smart"}, + {0x351, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_NONE, 0, 0, "Clear warning"}, + + {SSD_UNKNOWN_EVENT, SSD_LOG_LEVEL_NOTICE, SSD_LOG_DATA_HEX, 0, 0, "unknown event"}, +}; +/* */ +#define SSD_LOG_OVER_TEMP 0x90 +#define SSD_LOG_NORMAL_TEMP 0x91 +#define SSD_LOG_WARN_TEMP 0x9a +#define SSD_LOG_SEU_FAULT 0x93 +#define SSD_LOG_SEU_FAULT1 0x98 +#define SSD_LOG_BATTERY_FAULT 0x92 +#define SSD_LOG_BATTERY_OK 0x99 +#define SSD_LOG_BOARD_VOLT_FAULT 0x9f + +/* software log */ +#define SSD_LOG_TIMEOUT 0x300 +#define SSD_LOG_POWER_ON 0x301 +#define SSD_LOG_POWER_OFF 0x302 +#define SSD_LOG_CLEAR_LOG 0x303 +#define SSD_LOG_SET_CAPACITY 0x304 +#define SSD_LOG_CLEAR_DATA 0x305 +#define SSD_LOG_BM_SFSTATUS 0x306 +#define SSD_LOG_EIO 0x307 +#define SSD_LOG_ECMD 0x308 +#define SSD_LOG_SET_WMODE 0x309 +#define SSD_LOG_DDR_INIT_ERR 0x30a +#define SSD_LOG_PCIE_LINK_STATUS 0x30b +#define SSD_LOG_CTRL_RST_SYNC 0x30c +#define SSD_LOG_CLK_FAULT 0x30d +#define SSD_LOG_VOLT_FAULT 0x30e +#define SSD_LOG_SET_CAPACITY_END 0x30F +#define SSD_LOG_CLEAR_DATA_END 0x310 +#define SSD_LOG_RESET 0x311 +#define SSD_LOG_CAP_VOLT_FAULT 0x312 +#define SSD_LOG_CAP_LEARN_FAULT 0x313 +#define SSD_LOG_CAP_STATUS 0x314 +#define SSD_LOG_VOLT_STATUS 0x315 +#define SSD_LOG_INLET_OVER_TEMP 0x316 +#define SSD_LOG_INLET_NORMAL_TEMP 0x317 +#define SSD_LOG_FLASH_OVER_TEMP 0x318 +#define SSD_LOG_FLASH_NORMAL_TEMP 0x319 +#define SSD_LOG_CAP_SHORT_CIRCUIT 0x31a +#define SSD_LOG_SENSOR_FAULT 0x31b +#define SSD_LOG_ERASE_ALL 0x31c +#define SSD_LOG_ERASE_ALL_END 0x31d +#define SSD_LOG_TEMP_SENSOR_EVENT 0x320 +#define SSD_LOG_CLEAR_SMART 0x350 +#define SSD_LOG_CLEAR_WARNING 0x351 + + +/* sw log fifo depth */ +#define SSD_LOG_FIFO_SZ 1024 + + +/* done queue */ +static DEFINE_PER_CPU(struct list_head, ssd_doneq); +static DEFINE_PER_CPU(struct tasklet_struct, ssd_tasklet); + + +/* unloading driver */ +static volatile int ssd_exiting = 0; + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) +static struct class_simple *ssd_class; +#else +static struct class *ssd_class; +#endif + +static int ssd_cmajor = SSD_CMAJOR; + +/* ssd block device major, minors */ +static int ssd_major = SSD_MAJOR; +static int ssd_major_sl = SSD_MAJOR_SL; +static int ssd_minors = SSD_MINORS; + +/* ssd device list */ +static struct list_head ssd_list; +static unsigned long ssd_index_bits[SSD_MAX_DEV / BITS_PER_LONG + 1]; +static unsigned long ssd_index_bits_sl[SSD_MAX_DEV / BITS_PER_LONG + 1]; +static atomic_t ssd_nr; + +/* module param */ +enum ssd_drv_mode +{ + SSD_DRV_MODE_STANDARD = 0, /* full */ + SSD_DRV_MODE_DEBUG = 2, /* debug */ + SSD_DRV_MODE_BASE /* base only */ +}; + +enum ssd_int_mode +{ + SSD_INT_LEGACY = 0, + SSD_INT_MSI, + SSD_INT_MSIX +}; + +#if (defined SSD_MSIX) +#define SSD_INT_MODE_DEFAULT SSD_INT_MSIX +#elif (defined SSD_MSI) +#define SSD_INT_MODE_DEFAULT SSD_INT_MSI +#else +/* auto select the defaut int mode according to the kernel version*/ +/* suse 11 sp1 irqbalance bug: use msi instead*/ +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) || (defined RHEL_MAJOR && RHEL_MAJOR >= 6) || (defined RHEL_MAJOR && RHEL_MAJOR == 5 && RHEL_MINOR >= 5)) +#define SSD_INT_MODE_DEFAULT SSD_INT_MSIX +#else +#define SSD_INT_MODE_DEFAULT SSD_INT_MSI +#endif +#endif + +static int mode = SSD_DRV_MODE_STANDARD; +static int status_mask = 0xFF; +static int int_mode = SSD_INT_MODE_DEFAULT; +static int threaded_irq = 0; +static int log_level = SSD_LOG_LEVEL_WARNING; +static int ot_protect = 1; +static int wmode = SSD_WMODE_DEFAULT; +static int finject = 0; + +module_param(mode, int, 0); +module_param(status_mask, int, 0); +module_param(int_mode, int, 0); +module_param(threaded_irq, int, 0); +module_param(log_level, int, 0); +module_param(ot_protect, int, 0); +module_param(wmode, int, 0); +module_param(finject, int, 0); + + +MODULE_PARM_DESC(mode, "driver mode, 0 - standard, 1 - debug, 2 - debug without IO, 3 - basic debug mode"); +MODULE_PARM_DESC(status_mask, "command status mask, 0 - without command error, 0xff - with command error"); +MODULE_PARM_DESC(int_mode, "preferred interrupt mode, 0 - legacy, 1 - msi, 2 - msix"); +MODULE_PARM_DESC(threaded_irq, "threaded irq, 0 - normal irq, 1 - threaded irq"); +MODULE_PARM_DESC(log_level, "log level to display, 0 - info and above, 1 - notice and above, 2 - warning and above, 3 - error only"); +MODULE_PARM_DESC(ot_protect, "over temperature protect, 0 - disable, 1 - enable"); +MODULE_PARM_DESC(wmode, "write mode, 0 - write buffer (with risk for the 6xx firmware), 1 - write buffer ex, 2 - write through, 3 - auto, 4 - default"); +MODULE_PARM_DESC(finject, "enable fault simulation, 0 - off, 1 - on, for debug purpose only"); + +// API adaption layer +static inline void ssd_bio_endio(struct bio *bio, int error) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)) +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,13,0)) + bio->bi_error = error; +#else + bio->bi_status = errno_to_blk_status(error); +#endif + bio_endio(bio); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + bio_endio(bio, error); +#else + bio_endio(bio, bio->bi_size, error); +#endif +} + +static inline int ssd_bio_has_discard(struct bio *bio) +{ +#ifndef SSD_TRIM + return 0; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + return bio_op(bio) == REQ_OP_DISCARD; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) + return bio->bi_rw & REQ_DISCARD; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) + return bio_rw_flagged(bio, BIO_RW_DISCARD); +#else + return 0; +#endif +} + +static inline int ssd_bio_has_flush(struct bio *bio) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + return bio_op(bio) == REQ_OP_FLUSH; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) + return bio->bi_rw & REQ_FLUSH; +#else + return 0; +#endif +} + +static inline int ssd_bio_has_barrier_or_fua(struct bio * bio) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + return bio->bi_opf & REQ_FUA; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) + return bio->bi_rw & REQ_FUA; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) + return bio->bi_rw & REQ_HARDBARRIER; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) + return bio_rw_flagged(bio, BIO_RW_BARRIER); +#else + return bio_barrier(bio); +#endif +} + +#ifndef MODULE +static int __init ssd_drv_mode(char *str) +{ + mode = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_status_mask(char *str) +{ + status_mask = (int)simple_strtoul(str, NULL, 16); + + return 1; +} + +static int __init ssd_int_mode(char *str) +{ + int_mode = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_threaded_irq(char *str) +{ + threaded_irq = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_log_level(char *str) +{ + log_level = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_ot_protect(char *str) +{ + ot_protect = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_wmode(char *str) +{ + wmode = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +static int __init ssd_finject(char *str) +{ + finject = (int)simple_strtoul(str, NULL, 0); + + return 1; +} + +__setup(MODULE_NAME"_mode=", ssd_drv_mode); +__setup(MODULE_NAME"_status_mask=", ssd_status_mask); +__setup(MODULE_NAME"_int_mode=", ssd_int_mode); +__setup(MODULE_NAME"_threaded_irq=", ssd_threaded_irq); +__setup(MODULE_NAME"_log_level=", ssd_log_level); +__setup(MODULE_NAME"_ot_protect=", ssd_ot_protect); +__setup(MODULE_NAME"_wmode=", ssd_wmode); +__setup(MODULE_NAME"_finject=", ssd_finject); +#endif + + +#ifdef CONFIG_PROC_FS +#include +#include + +#define SSD_PROC_DIR MODULE_NAME +#define SSD_PROC_INFO "info" + +static struct proc_dir_entry *ssd_proc_dir = NULL; +static struct proc_dir_entry *ssd_proc_info = NULL; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)) +static int ssd_proc_read(char *page, char **start, + off_t off, int count, int *eof, void *data) +{ + struct ssd_device *dev = NULL; + struct ssd_device *n = NULL; + uint64_t size; + int idx; + int len = 0; + //char type; //xx + + if (ssd_exiting || off != 0) { + return 0; + } + + len += snprintf((page + len), (count - len), "Driver Version:\t%s\n", DRIVER_VERSION); + + list_for_each_entry_safe(dev, n, &ssd_list, list) { + idx = dev->idx + 1; + size = dev->hw_info.size ; + do_div(size, 1000000000); + + len += snprintf((page + len), (count - len), "\n"); + + len += snprintf((page + len), (count - len), "HIO %d Size:\t%uGB\n", idx, (uint32_t)size); + + len += snprintf((page + len), (count - len), "HIO %d Bridge FW VER:\t%03X\n", idx, dev->hw_info.bridge_ver); + if (dev->hw_info.ctrl_ver != 0) { + len += snprintf((page + len), (count - len), "HIO %d Controller FW VER:\t%03X\n", idx, dev->hw_info.ctrl_ver); + } + + len += snprintf((page + len), (count - len), "HIO %d PCB VER:\t.%c\n", idx, dev->hw_info.pcb_ver); + + if (dev->hw_info.upper_pcb_ver >= 'A') { + len += snprintf((page + len), (count - len), "HIO %d Upper PCB VER:\t.%c\n", idx, dev->hw_info.upper_pcb_ver); + } + + len += snprintf((page + len), (count - len), "HIO %d Device:\t%s\n", idx, dev->name); + } + + *eof = 1; + return len; +} + +#else + +static int ssd_proc_show(struct seq_file *m, void *v) +{ + struct ssd_device *dev = NULL; + struct ssd_device *n = NULL; + uint64_t size; + int idx; + + if (ssd_exiting) { + return 0; + } + + seq_printf(m, "Driver Version:\t%s\n", DRIVER_VERSION); + + list_for_each_entry_safe(dev, n, &ssd_list, list) { + idx = dev->idx + 1; + size = dev->hw_info.size ; + do_div(size, 1000000000); + + seq_printf(m, "\n"); + + seq_printf(m, "HIO %d Size:\t%uGB\n", idx, (uint32_t)size); + + seq_printf(m, "HIO %d Bridge FW VER:\t%03X\n", idx, dev->hw_info.bridge_ver); + if (dev->hw_info.ctrl_ver != 0) { + seq_printf(m, "HIO %d Controller FW VER:\t%03X\n", idx, dev->hw_info.ctrl_ver); + } + + seq_printf(m, "HIO %d PCB VER:\t.%c\n", idx, dev->hw_info.pcb_ver); + + if (dev->hw_info.upper_pcb_ver >= 'A') { + seq_printf(m, "HIO %d Upper PCB VER:\t.%c\n", idx, dev->hw_info.upper_pcb_ver); + } + + seq_printf(m, "HIO %d Device:\t%s\n", idx, dev->name); + } + + return 0; +} + +static int ssd_proc_open(struct inode *inode, struct file *file) +{ +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3,9,0)) + return single_open(file, ssd_proc_show, PDE(inode)->data); +#else + return single_open(file, ssd_proc_show, PDE_DATA(inode)); +#endif +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)) +static const struct file_operations ssd_proc_fops = { + .open = ssd_proc_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; +#else +static const struct proc_ops ssd_proc_fops = { + .proc_open = ssd_proc_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; +#endif +#endif + + +static void ssd_cleanup_proc(void) +{ + if (ssd_proc_info) { + remove_proc_entry(SSD_PROC_INFO, ssd_proc_dir); + ssd_proc_info = NULL; + } + if (ssd_proc_dir) { + remove_proc_entry(SSD_PROC_DIR, NULL); + ssd_proc_dir = NULL; + } +} +static int ssd_init_proc(void) +{ + ssd_proc_dir = proc_mkdir(SSD_PROC_DIR, NULL); + if (!ssd_proc_dir) + goto out_proc_mkdir; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)) + ssd_proc_info = create_proc_entry(SSD_PROC_INFO, S_IFREG | S_IRUGO | S_IWUSR, ssd_proc_dir); + if (!ssd_proc_info) + goto out_create_proc_entry; + + ssd_proc_info->read_proc = ssd_proc_read; + +/* kernel bug */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)) + ssd_proc_info->owner = THIS_MODULE; +#endif +#else + ssd_proc_info = proc_create(SSD_PROC_INFO, 0600, ssd_proc_dir, &ssd_proc_fops); + if (!ssd_proc_info) + goto out_create_proc_entry; +#endif + + return 0; + +out_create_proc_entry: + remove_proc_entry(SSD_PROC_DIR, NULL); +out_proc_mkdir: + return -ENOMEM; +} + +#else +static void ssd_cleanup_proc(void) +{ + return; +} +static int ssd_init_proc(void) +{ + return 0; +} +#endif /* CONFIG_PROC_FS */ + +/* sysfs */ +static void ssd_unregister_sysfs(struct ssd_device *dev) +{ + return; +} + +static int ssd_register_sysfs(struct ssd_device *dev) +{ + return 0; +} + +static void ssd_cleanup_sysfs(void) +{ + return; +} + +static int ssd_init_sysfs(void) +{ + return 0; +} + +static inline void ssd_put_index(int slave, int index) +{ + unsigned long *index_bits = ssd_index_bits; + + if (slave) { + index_bits = ssd_index_bits_sl; + } + + if (test_and_clear_bit(index, index_bits)) { + atomic_dec(&ssd_nr); + } +} + +static inline int ssd_get_index(int slave) +{ + unsigned long *index_bits = ssd_index_bits; + int index; + + if (slave) { + index_bits = ssd_index_bits_sl; + } + +find_index: + if ((index = find_first_zero_bit(index_bits, SSD_MAX_DEV)) >= SSD_MAX_DEV) { + return -1; + } + + if (test_and_set_bit(index, index_bits)) { + goto find_index; + } + + atomic_inc(&ssd_nr); + + return index; +} + +static void ssd_cleanup_index(void) +{ + return; +} + +static int ssd_init_index(void) +{ + INIT_LIST_HEAD(&ssd_list); + atomic_set(&ssd_nr, 0); + memset(ssd_index_bits, 0, sizeof(ssd_index_bits)); + memset(ssd_index_bits_sl, 0, sizeof(ssd_index_bits_sl)); + + return 0; +} + +static void ssd_set_dev_name(char *name, size_t size, int idx) +{ + if(idx < SSD_ALPHABET_NUM) { + snprintf(name, size, "%c", 'a'+idx); + } else { + idx -= SSD_ALPHABET_NUM; + snprintf(name, size, "%c%c", 'a'+(idx/SSD_ALPHABET_NUM), 'a'+(idx%SSD_ALPHABET_NUM)); + } +} + +/* pci register r&w */ +static inline void ssd_reg_write(void *addr, uint64_t val) +{ + iowrite32((uint32_t)val, addr); + iowrite32((uint32_t)(val >> 32), addr + 4); + wmb(); +} + +static inline uint64_t ssd_reg_read(void *addr) +{ + uint64_t val; + uint32_t val_lo, val_hi; + + val_lo = ioread32(addr); + val_hi = ioread32(addr + 4); + + rmb(); + val = val_lo | ((uint64_t)val_hi << 32); + + return val; +} + + +#define ssd_reg32_write(addr, val) writel(val, addr) +#define ssd_reg32_read(addr) readl(addr) + +/* alarm led */ +static void ssd_clear_alarm(struct ssd_device *dev) +{ + uint32_t val; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_LED_REG); + + /* firmware control */ + val &= ~0x2; + + ssd_reg32_write(dev->ctrlp + SSD_LED_REG, val); +} + +static void ssd_set_alarm(struct ssd_device *dev) +{ + uint32_t val; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_LED_REG); + + /* light up */ + val &= ~0x1; + /* software control */ + val |= 0x2; + + ssd_reg32_write(dev->ctrlp + SSD_LED_REG, val); +} + +#define u32_swap(x) \ + ((uint32_t)( \ + (((uint32_t)(x) & (uint32_t)0x000000ffUL) << 24) | \ + (((uint32_t)(x) & (uint32_t)0x0000ff00UL) << 8) | \ + (((uint32_t)(x) & (uint32_t)0x00ff0000UL) >> 8) | \ + (((uint32_t)(x) & (uint32_t)0xff000000UL) >> 24))) + +#define u16_swap(x) \ + ((uint16_t)( \ + (((uint16_t)(x) & (uint16_t)0x00ff) << 8) | \ + (((uint16_t)(x) & (uint16_t)0xff00) >> 8) )) + + +#if 0 +/* No lock, for init only*/ +static int ssd_spi_read_id(struct ssd_device *dev, uint32_t *id) +{ + uint32_t val; + unsigned long st; + int ret = 0; + + if (!dev || !id) { + return -EINVAL; + } + + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_READ_ID); + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + + st = jiffies; + for (;;) { + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + if (val == 0x1000000) { + break; + } + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_ID); + *id = val; + +out: + return ret; +} +#endif + +/* spi access */ +static int ssd_init_spi(struct ssd_device *dev) +{ + uint32_t val; + unsigned long st; + int ret = 0; + + mutex_lock(&dev->spi_mutex); + st = jiffies; + for(;;) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_READ_STATUS); + + do { + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } while (val != 0x1000000); + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_STATUS); + if (!(val & 0x1)) { + break; + } + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + +out: + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (val & 0x1) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_CLSR); + } + } + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_DISABLE); + mutex_unlock(&dev->spi_mutex); + + ret = 0; + + return ret; +} + +static int ssd_spi_page_read(struct ssd_device *dev, void *buf, uint32_t off, uint32_t size) +{ + uint32_t val; + uint32_t rlen = 0; + unsigned long st; + int ret = 0; + + if (!dev || !buf) { + return -EINVAL; + } + + if ((off % sizeof(uint32_t)) != 0 || (size % sizeof(uint32_t)) != 0 || size == 0 || + ((uint64_t)off + (uint64_t)size) > dev->rom_info.size || size > dev->rom_info.page_size) { + return -EINVAL; + } + + mutex_lock(&dev->spi_mutex); + while (rlen < size) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD_HI, ((off + rlen) >> 24)); + wmb(); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, (((off + rlen) << 8) | SSD_SPI_CMD_READ)); + + (void)ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + (void)ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + (void)ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + (void)ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + + st = jiffies; + for (;;) { + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + if (val == 0x1000000) { + break; + } + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_RDATA); + *(uint32_t *)(buf + rlen)= u32_swap(val); + + rlen += sizeof(uint32_t); + } + +out: + mutex_unlock(&dev->spi_mutex); + return ret; +} + +static int ssd_spi_page_write(struct ssd_device *dev, void *buf, uint32_t off, uint32_t size) +{ + uint32_t val; + uint32_t wlen; + unsigned long st; + int i; + int ret = 0; + + if (!dev || !buf) { + return -EINVAL; + } + + if ((off % sizeof(uint32_t)) != 0 || (size % sizeof(uint32_t)) != 0 || size == 0 || + ((uint64_t)off + (uint64_t)size) > dev->rom_info.size || size > dev->rom_info.page_size || + (off / dev->rom_info.page_size) != ((off + size - 1) / dev->rom_info.page_size)) { + return -EINVAL; + } + + mutex_lock(&dev->spi_mutex); + + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_ENABLE); + + wlen = size / sizeof(uint32_t); + for (i=0; i<(int)wlen; i++) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_WDATA, u32_swap(*((uint32_t *)buf + i))); + } + + wmb(); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD_HI, (off >> 24)); + wmb(); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, ((off << 8) | SSD_SPI_CMD_PROGRAM)); + + udelay(1); + + st = jiffies; + for (;;) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_READ_STATUS); + do { + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } while (val != 0x1000000); + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_STATUS); + if (!(val & 0x1)) { + break; + } + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if ((val >> 6) & 0x1) { + ret = -EIO; + goto out; + } + } + +out: + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (val & 0x1) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_CLSR); + } + } + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_DISABLE); + + mutex_unlock(&dev->spi_mutex); + + return ret; +} + +static int ssd_spi_block_erase(struct ssd_device *dev, uint32_t off) +{ + uint32_t val; + unsigned long st; + int ret = 0; + + if (!dev) { + return -EINVAL; + } + + if ((off % dev->rom_info.block_size) != 0 || off >= dev->rom_info.size) { + return -EINVAL; + } + + mutex_lock(&dev->spi_mutex); + + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_ENABLE); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_ENABLE); + + wmb(); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD_HI, (off >> 24)); + wmb(); + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, ((off << 8) | SSD_SPI_CMD_ERASE)); + + st = jiffies; + for (;;) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_READ_STATUS); + + do { + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_READY); + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } while (val != 0x1000000); + + val = ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_STATUS); + if (!(val & 0x1)) { + break; + } + + if (time_after(jiffies, (st + SSD_SPI_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if ((val >> 5) & 0x1) { + ret = -EIO; + goto out; + } + } + +out: + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (val & 0x1) { + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_CLSR); + } + } + ssd_reg32_write(dev->ctrlp + SSD_SPI_REG_CMD, SSD_SPI_CMD_W_DISABLE); + + mutex_unlock(&dev->spi_mutex); + + return ret; +} + +static int ssd_spi_read(struct ssd_device *dev, void *buf, uint32_t off, uint32_t size) +{ + uint32_t len = 0; + uint32_t roff; + uint32_t rsize; + int ret = 0; + + if (!dev || !buf) { + return -EINVAL; + } + + if ((off % sizeof(uint32_t)) != 0 || (size % sizeof(uint32_t)) != 0 || size == 0 || + ((uint64_t)off + (uint64_t)size) > dev->rom_info.size) { + return -EINVAL; + } + + while (len < size) { + roff = (off + len) % dev->rom_info.page_size; + rsize = dev->rom_info.page_size - roff; + if ((size - len) < rsize) { + rsize = (size - len); + } + roff = off + len; + + ret = ssd_spi_page_read(dev, (buf + len), roff, rsize); + if (ret) { + goto out; + } + + len += rsize; + + cond_resched(); + } + +out: + return ret; +} + +static int ssd_spi_write(struct ssd_device *dev, void *buf, uint32_t off, uint32_t size) +{ + uint32_t len = 0; + uint32_t woff; + uint32_t wsize; + int ret = 0; + + if (!dev || !buf) { + return -EINVAL; + } + + if ((off % sizeof(uint32_t)) != 0 || (size % sizeof(uint32_t)) != 0 || size == 0 || + ((uint64_t)off + (uint64_t)size) > dev->rom_info.size) { + return -EINVAL; + } + + while (len < size) { + woff = (off + len) % dev->rom_info.page_size; + wsize = dev->rom_info.page_size - woff; + if ((size - len) < wsize) { + wsize = (size - len); + } + woff = off + len; + + ret = ssd_spi_page_write(dev, (buf + len), woff, wsize); + if (ret) { + goto out; + } + + len += wsize; + + cond_resched(); + } + +out: + return ret; +} + +static int ssd_spi_erase(struct ssd_device *dev, uint32_t off, uint32_t size) +{ + uint32_t len = 0; + uint32_t eoff; + int ret = 0; + + if (!dev) { + return -EINVAL; + } + + if (size == 0 || ((uint64_t)off + (uint64_t)size) > dev->rom_info.size || + (off % dev->rom_info.block_size) != 0 || (size % dev->rom_info.block_size) != 0) { + return -EINVAL; + } + + while (len < size) { + eoff = (off + len); + + ret = ssd_spi_block_erase(dev, eoff); + if (ret) { + goto out; + } + + len += dev->rom_info.block_size; + + cond_resched(); + } + +out: + return ret; +} + +/* i2c access */ +static uint32_t __ssd_i2c_reg32_read(void *addr) +{ + return ssd_reg32_read(addr); +} + +static void __ssd_i2c_reg32_write(void *addr, uint32_t val) +{ + ssd_reg32_write(addr, val); + ssd_reg32_read(addr); +} + +static int __ssd_i2c_clear(struct ssd_device *dev, uint8_t saddr) +{ + ssd_i2c_ctrl_t ctrl; + ssd_i2c_data_t data; + uint8_t status = 0; + int nr_data = 0; + unsigned long st; + int ret = 0; + +check_status: + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_STATUS_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + st = jiffies; + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + status = data.bits.rdata; + + if (!(status & 0x4)) { + /* clear read fifo data */ + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_DATA_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + st = jiffies; + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out; + } + cond_resched(); + } + + nr_data++; + if (nr_data <= SSD_I2C_MAX_DATA) { + goto check_status; + } else { + goto out_reset; + } + } + + if (status & 0x3) { + /* clear int */ + ctrl.bits.wdata = 0x04; + ctrl.bits.addr = SSD_I2C_CMD_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + } + + if (!(status & 0x8)) { +out_reset: + /* reset i2c controller */ + ctrl.bits.wdata = 0x0; + ctrl.bits.addr = SSD_I2C_RESET_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + } + +out: + return ret; +} + +static int ssd_i2c_write(struct ssd_device *dev, uint8_t saddr, uint8_t size, uint8_t *buf) +{ + ssd_i2c_ctrl_t ctrl; + ssd_i2c_data_t data; + uint8_t off = 0; + uint8_t status = 0; + unsigned long st; + int ret = 0; + + mutex_lock(&dev->i2c_mutex); + + ctrl.val = 0; + + /* slave addr */ + ctrl.bits.wdata = saddr; + ctrl.bits.addr = SSD_I2C_SADDR_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* data */ + while (off < size) { + ctrl.bits.wdata = buf[off]; + ctrl.bits.addr = SSD_I2C_DATA_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + off++; + } + + /* write */ + ctrl.bits.wdata = 0x01; + ctrl.bits.addr = SSD_I2C_CMD_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* wait */ + st = jiffies; + for (;;) { + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_STATUS_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + status = data.bits.rdata; + if (status & 0x1) { + break; + } + + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + if (!(status & 0x1)) { + ret = -1; + goto out_clear; + } + + /* busy ? */ + if (status & 0x20) { + ret = -2; + goto out_clear; + } + + /* ack ? */ + if (status & 0x10) { + ret = -3; + goto out_clear; + } + + /* clear */ +out_clear: + if (__ssd_i2c_clear(dev, saddr)) { + if (!ret) ret = -4; + } + + mutex_unlock(&dev->i2c_mutex); + + return ret; +} + +static int ssd_i2c_read(struct ssd_device *dev, uint8_t saddr, uint8_t size, uint8_t *buf) +{ + ssd_i2c_ctrl_t ctrl; + ssd_i2c_data_t data; + uint8_t off = 0; + uint8_t status = 0; + unsigned long st; + int ret = 0; + + mutex_lock(&dev->i2c_mutex); + + ctrl.val = 0; + + /* slave addr */ + ctrl.bits.wdata = saddr; + ctrl.bits.addr = SSD_I2C_SADDR_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* read len */ + ctrl.bits.wdata = size; + ctrl.bits.addr = SSD_I2C_LEN_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* read */ + ctrl.bits.wdata = 0x02; + ctrl.bits.addr = SSD_I2C_CMD_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* wait */ + st = jiffies; + for (;;) { + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_STATUS_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + status = data.bits.rdata; + if (status & 0x2) { + break; + } + + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + if (!(status & 0x2)) { + ret = -1; + goto out_clear; + } + + /* busy ? */ + if (status & 0x20) { + ret = -2; + goto out_clear; + } + + /* ack ? */ + if (status & 0x10) { + ret = -3; + goto out_clear; + } + + /* data */ + while (off < size) { + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_DATA_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + st = jiffies; + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + buf[off] = data.bits.rdata; + + off++; + } + + /* clear */ +out_clear: + if (__ssd_i2c_clear(dev, saddr)) { + if (!ret) ret = -4; + } + + mutex_unlock(&dev->i2c_mutex); + + return ret; +} + +static int ssd_i2c_write_read(struct ssd_device *dev, uint8_t saddr, uint8_t wsize, uint8_t *wbuf, uint8_t rsize, uint8_t *rbuf) +{ + ssd_i2c_ctrl_t ctrl; + ssd_i2c_data_t data; + uint8_t off = 0; + uint8_t status = 0; + unsigned long st; + int ret = 0; + + mutex_lock(&dev->i2c_mutex); + + ctrl.val = 0; + + /* slave addr */ + ctrl.bits.wdata = saddr; + ctrl.bits.addr = SSD_I2C_SADDR_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* data */ + off = 0; + while (off < wsize) { + ctrl.bits.wdata = wbuf[off]; + ctrl.bits.addr = SSD_I2C_DATA_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + off++; + } + + /* read len */ + ctrl.bits.wdata = rsize; + ctrl.bits.addr = SSD_I2C_LEN_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* write -> read */ + ctrl.bits.wdata = 0x03; + ctrl.bits.addr = SSD_I2C_CMD_REG; + ctrl.bits.rw = SSD_I2C_CTRL_WRITE; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + /* wait */ + st = jiffies; + for (;;) { + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_STATUS_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + status = data.bits.rdata; + if (status & 0x2) { + break; + } + + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + if (!(status & 0x2)) { + ret = -1; + goto out_clear; + } + + /* busy ? */ + if (status & 0x20) { + ret = -2; + goto out_clear; + } + + /* ack ? */ + if (status & 0x10) { + ret = -3; + goto out_clear; + } + + /* data */ + off = 0; + while (off < rsize) { + ctrl.bits.wdata = 0; + ctrl.bits.addr = SSD_I2C_DATA_REG; + ctrl.bits.rw = SSD_I2C_CTRL_READ; + __ssd_i2c_reg32_write(dev->ctrlp + SSD_I2C_CTRL_REG, ctrl.val); + + st = jiffies; + for (;;) { + data.val = __ssd_i2c_reg32_read(dev->ctrlp + SSD_I2C_RDATA_REG); + if (data.bits.valid == 0) { + break; + } + + /* retry */ + if (time_after(jiffies, (st + SSD_I2C_TIMEOUT))) { + ret = -ETIMEDOUT; + goto out_clear; + } + cond_resched(); + } + + rbuf[off] = data.bits.rdata; + + off++; + } + + /* clear */ +out_clear: + if (__ssd_i2c_clear(dev, saddr)) { + if (!ret) ret = -4; + } + mutex_unlock(&dev->i2c_mutex); + + return ret; +} + +static int ssd_smbus_send_byte(struct ssd_device *dev, uint8_t saddr, uint8_t *buf) +{ + int i = 0; + int ret = 0; + + for (;;) { + ret = ssd_i2c_write(dev, saddr, 1, buf); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_receive_byte(struct ssd_device *dev, uint8_t saddr, uint8_t *buf) +{ + int i = 0; + int ret = 0; + + for (;;) { + ret = ssd_i2c_read(dev, saddr, 1, buf); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_write_byte(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + memcpy((smb_data + 1), buf, 1); + + for (;;) { + ret = ssd_i2c_write(dev, saddr, 2, smb_data); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_read_byte(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + + for (;;) { + ret = ssd_i2c_write_read(dev, saddr, 1, smb_data, 1, buf); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_write_word(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + memcpy((smb_data + 1), buf, 2); + + for (;;) { + ret = ssd_i2c_write(dev, saddr, 3, smb_data); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_read_word(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + + for (;;) { + ret = ssd_i2c_write_read(dev, saddr, 1, smb_data, 2, buf); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_write_block(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t size, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + smb_data[1] = size; + memcpy((smb_data + 2), buf, size); + + for (;;) { + ret = ssd_i2c_write(dev, saddr, (2 + size), smb_data); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + + return ret; +} + +static int ssd_smbus_read_block(struct ssd_device *dev, uint8_t saddr, uint8_t cmd, uint8_t size, uint8_t *buf) +{ + uint8_t smb_data[SSD_SMBUS_DATA_MAX] = {0}; + uint8_t rsize; + int i = 0; + int ret = 0; + + smb_data[0] = cmd; + + for (;;) { + ret = ssd_i2c_write_read(dev, saddr, 1, smb_data, (SSD_SMBUS_BLOCK_MAX + 1), (smb_data + 1)); + if (!ret || -ETIMEDOUT == ret) { + break; + } + + i++; + if (i >= SSD_SMBUS_RETRY_MAX) { + break; + } + msleep(SSD_SMBUS_RETRY_INTERVAL); + } + if (ret) { + return ret; + } + + rsize = smb_data[1]; + + if (rsize > size ) { + rsize = size; + } + + memcpy(buf, (smb_data + 2), rsize); + + return 0; +} + + +static int ssd_gen_swlog(struct ssd_device *dev, uint16_t event, uint32_t data); + +/* sensor */ +static int ssd_init_lm75(struct ssd_device *dev, uint8_t saddr) +{ + uint8_t conf = 0; + int ret = 0; + + ret = ssd_smbus_read_byte(dev, saddr, SSD_LM75_REG_CONF, &conf); + if (ret) { + goto out; + } + + conf &= (uint8_t)(~1u); + + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM75_REG_CONF, &conf); + if (ret) { + goto out; + } + +out: + return ret; +} + +static int ssd_lm75_read(struct ssd_device *dev, uint8_t saddr, uint16_t *data) +{ + uint16_t val = 0; + int ret; + + ret = ssd_smbus_read_word(dev, saddr, SSD_LM75_REG_TEMP, (uint8_t *)&val); + if (ret) { + return ret; + } + + *data = u16_swap(val); + + return 0; +} + +static int ssd_init_lm80(struct ssd_device *dev, uint8_t saddr) +{ + uint8_t val; + uint8_t low, high; + int i; + int ret = 0; + + /* init */ + val = 0x80; + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_CONFIG, &val); + if (ret) { + goto out; + } + + /* 11-bit temp */ + val = 0x08; + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_RES, &val); + if (ret) { + goto out; + } + + /* set volt limit */ + for (i=0; ihw_info.nr_ctrl <= 1 && SSD_LM80_IN_1V2 == i) { + high = 0xFF; + low = 0; + } + + /* high limit */ + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_IN_MAX(i), &high); + if (ret) { + goto out; + } + + /* low limit*/ + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_IN_MIN(i), &low); + if (ret) { + goto out; + } + } + + /* set interrupt mask: allow volt in interrupt except cap in*/ + val = 0x81; + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_MASK1, &val); + if (ret) { + goto out; + } + + /* set interrupt mask: disable others */ + val = 0xFF; + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_MASK2, &val); + if (ret) { + goto out; + } + + /* start */ + val = 0x03; + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_CONFIG, &val); + if (ret) { + goto out; + } + +out: + return ret; +} + +static int ssd_lm80_enable_in(struct ssd_device *dev, uint8_t saddr, int idx) +{ + uint8_t val = 0; + int ret = 0; + + if (idx >= SSD_LM80_IN_NR || idx < 0) { + return -EINVAL; + } + + ret = ssd_smbus_read_byte(dev, saddr, SSD_LM80_REG_MASK1, &val); + if (ret) { + goto out; + } + + val &= ~(1UL << (uint32_t)idx); + + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_MASK1, &val); + if (ret) { + goto out; + } + +out: + return ret; +} + +static int ssd_lm80_disable_in(struct ssd_device *dev, uint8_t saddr, int idx) +{ + uint8_t val = 0; + int ret = 0; + + if (idx >= SSD_LM80_IN_NR || idx < 0) { + return -EINVAL; + } + + ret = ssd_smbus_read_byte(dev, saddr, SSD_LM80_REG_MASK1, &val); + if (ret) { + goto out; + } + + val |= (1UL << (uint32_t)idx); + + ret = ssd_smbus_write_byte(dev, saddr, SSD_LM80_REG_MASK1, &val); + if (ret) { + goto out; + } + +out: + return ret; +} + +static int ssd_lm80_read_temp(struct ssd_device *dev, uint8_t saddr, uint16_t *data) +{ + uint16_t val = 0; + int ret; + + ret = ssd_smbus_read_word(dev, saddr, SSD_LM80_REG_TEMP, (uint8_t *)&val); + if (ret) { + return ret; + } + + *data = u16_swap(val); + + return 0; +} +static int ssd_generate_sensor_fault_log(struct ssd_device *dev, uint16_t event, uint8_t addr,uint32_t ret) +{ + uint32_t data; + data = ((ret & 0xffff) << 16) | (addr << 8) | addr; + ssd_gen_swlog(dev,event,data); + return 0; +} +static int ssd_lm80_check_event(struct ssd_device *dev, uint8_t saddr) +{ + uint32_t volt; + uint16_t val = 0, status; + uint8_t alarm1 = 0, alarm2 = 0; + uint32_t low, high; + int i,j=0; + int ret = 0; + + /* read interrupt status to clear interrupt */ + ret = ssd_smbus_read_byte(dev, saddr, SSD_LM80_REG_ALARM1, &alarm1); + if (ret) { + goto out; + } + + ret = ssd_smbus_read_byte(dev, saddr, SSD_LM80_REG_ALARM2, &alarm2); + if (ret) { + goto out; + } + + status = (uint16_t)alarm1 | ((uint16_t)alarm2 << 8); + + /* parse inetrrupt status */ + for (i=0; i> (uint32_t)i) & 0x1)) { + if (test_and_clear_bit(SSD_HWMON_LM80(i), &dev->hwmon)) { + /* enable INx irq */ + ret = ssd_lm80_enable_in(dev, saddr, i); + if (ret) { + goto out; + } + } + + continue; + } + + /* disable INx irq */ + ret = ssd_lm80_disable_in(dev, saddr, i); + if (ret) { + goto out; + } + + if (test_and_set_bit(SSD_HWMON_LM80(i), &dev->hwmon)) { + continue; + } + + high = (uint32_t)ssd_lm80_limit[i].high * (uint32_t)10; + low = (uint32_t)ssd_lm80_limit[i].low * (uint32_t)10; + + for (j=0; j<3; j++) { + ret = ssd_smbus_read_word(dev, saddr, SSD_LM80_REG_IN(i), (uint8_t *)&val); + if (ret) { + goto out; + } + volt = SSD_LM80_CONVERT_VOLT(u16_swap(val)); + if ((volt>high) || (volt<=low)) { + if(j<2) { + msleep(SSD_LM80_CONV_INTERVAL); + } + } else { + break; + } + } + + if (j<3) { + continue; + } + + switch (i) { + case SSD_LM80_IN_CAP: { + if (0 == volt) { + ssd_gen_swlog(dev, SSD_LOG_CAP_SHORT_CIRCUIT, 0); + } else { + ssd_gen_swlog(dev, SSD_LOG_CAP_VOLT_FAULT, SSD_PL_CAP_VOLT(volt)); + } + break; + } + + case SSD_LM80_IN_1V2: + case SSD_LM80_IN_1V2a: + case SSD_LM80_IN_1V5: + case SSD_LM80_IN_1V8: { + ssd_gen_swlog(dev, SSD_LOG_VOLT_STATUS, SSD_VOLT_LOG_DATA(i, 0, volt)); + break; + } + case SSD_LM80_IN_FPGA_3V3: + case SSD_LM80_IN_3V3: { + ssd_gen_swlog(dev, SSD_LOG_VOLT_STATUS, SSD_VOLT_LOG_DATA(i, 0, SSD_LM80_3V3_VOLT(volt))); + break; + } + default: + break; + } + } + +out: + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, (uint32_t)saddr,ret); + } + } else { + test_and_clear_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon); + } + return ret; +} + + +static int ssd_init_sensor(struct ssd_device *dev) +{ + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + goto out; + } + + ret = ssd_init_lm75(dev, SSD_SENSOR_LM75_SADDRESS); + if (ret) { + hio_warn("%s: init lm75 failed\n", dev->name); + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM75), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM75_SADDRESS,ret); + } + goto out; + } + + if (dev->hw_info.pcb_ver >= 'B' || dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_HHHL) { + ret = ssd_init_lm80(dev, SSD_SENSOR_LM80_SADDRESS); + if (ret) { + hio_warn("%s: init lm80 failed\n", dev->name); + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +/* board volt */ +static int ssd_mon_boardvolt(struct ssd_device *dev) +{ + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + return 0; + } + + return ssd_lm80_check_event(dev, SSD_SENSOR_LM80_SADDRESS); +} + +/* temperature */ +static int ssd_mon_temp(struct ssd_device *dev) +{ + int cur; + uint16_t val = 0; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + return 0; + } + + /* inlet */ + ret = ssd_lm80_read_temp(dev, SSD_SENSOR_LM80_SADDRESS, &val); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_TEMP_SENSOR_EVENT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + test_and_clear_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon); + + cur = SSD_SENSOR_CONVERT_TEMP(val); + if (cur >= SSD_INLET_OT_TEMP) { + if (!test_and_set_bit(SSD_HWMON_TEMP(SSD_TEMP_INLET), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_INLET_OVER_TEMP, (uint32_t)cur); + } + } else if(cur < SSD_INLET_OT_HYST) { + if (test_and_clear_bit(SSD_HWMON_TEMP(SSD_TEMP_INLET), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_INLET_NORMAL_TEMP, (uint32_t)cur); + } + } + + /* flash */ + ret = ssd_lm75_read(dev, SSD_SENSOR_LM75_SADDRESS, &val); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM75), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_TEMP_SENSOR_EVENT, SSD_SENSOR_LM75_SADDRESS,ret); + } + goto out; + } + test_and_clear_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM75), &dev->hwmon); + + cur = SSD_SENSOR_CONVERT_TEMP(val); + if (cur >= SSD_FLASH_OT_TEMP) { + if (!test_and_set_bit(SSD_HWMON_TEMP(SSD_TEMP_FLASH), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_FLASH_OVER_TEMP, (uint32_t)cur); + } + } else if(cur < SSD_FLASH_OT_HYST) { + if (test_and_clear_bit(SSD_HWMON_TEMP(SSD_TEMP_FLASH), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_FLASH_NORMAL_TEMP, (uint32_t)cur); + } + } + +out: + return ret; +} + +/* cmd tag */ +static inline void ssd_put_tag(struct ssd_device *dev, int tag) +{ + test_and_clear_bit(tag, dev->tag_map); + wake_up(&dev->tag_wq); +} + +static inline int ssd_get_tag(struct ssd_device *dev, int wait) +{ + int tag; + +find_tag: + while ((tag = find_first_zero_bit(dev->tag_map, dev->hw_info.cmd_fifo_sz)) >= atomic_read(&dev->queue_depth)) { + DEFINE_WAIT(__wait); + + if (!wait) { + return -1; + } + + prepare_to_wait_exclusive(&dev->tag_wq, &__wait, TASK_UNINTERRUPTIBLE); + schedule(); + + finish_wait(&dev->tag_wq, &__wait); + } + + if (test_and_set_bit(tag, dev->tag_map)) { + goto find_tag; + } + + return tag; +} + +static void ssd_barrier_put_tag(struct ssd_device *dev, int tag) +{ + test_and_clear_bit(tag, dev->tag_map); +} + +static int ssd_barrier_get_tag(struct ssd_device *dev) +{ + int tag = 0; + + if (test_and_set_bit(tag, dev->tag_map)) { + return -1; + } + + return tag; +} + +static void ssd_barrier_end(struct ssd_device *dev) +{ + atomic_set(&dev->queue_depth, dev->hw_info.cmd_fifo_sz); + wake_up_all(&dev->tag_wq); + + mutex_unlock(&dev->barrier_mutex); +} + +static int ssd_barrier_start(struct ssd_device *dev) +{ + int i; + + mutex_lock(&dev->barrier_mutex); + + atomic_set(&dev->queue_depth, 0); + + for (i=0; itag_map, dev->hw_info.cmd_fifo_sz) >= dev->hw_info.cmd_fifo_sz) { + return 0; + } + + __set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(1); + } + + atomic_set(&dev->queue_depth, dev->hw_info.cmd_fifo_sz); + wake_up_all(&dev->tag_wq); + + mutex_unlock(&dev->barrier_mutex); + + return -EBUSY; +} + +static int ssd_busy(struct ssd_device *dev) +{ + if (find_first_bit(dev->tag_map, dev->hw_info.cmd_fifo_sz) >= dev->hw_info.cmd_fifo_sz) { + return 0; + } + + return 1; +} + +static int ssd_wait_io(struct ssd_device *dev) +{ + int i; + + for (i=0; itag_map, dev->hw_info.cmd_fifo_sz) >= dev->hw_info.cmd_fifo_sz) { + return 0; + } + + __set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(1); + } + + return -EBUSY; +} + +#if 0 +static int ssd_in_barrier(struct ssd_device *dev) +{ + return (0 == atomic_read(&dev->queue_depth)); +} +#endif + +static void ssd_cleanup_tag(struct ssd_device *dev) +{ + kfree(dev->tag_map); +} + +static int ssd_init_tag(struct ssd_device *dev) +{ + int nr_ulongs = ALIGN(dev->hw_info.cmd_fifo_sz, BITS_PER_LONG) / BITS_PER_LONG; + + mutex_init(&dev->barrier_mutex); + + atomic_set(&dev->queue_depth, dev->hw_info.cmd_fifo_sz); + + dev->tag_map = kmalloc(nr_ulongs * sizeof(unsigned long), GFP_ATOMIC); + if (!dev->tag_map) { + return -ENOMEM; + } + + memset(dev->tag_map, 0, nr_ulongs * sizeof(unsigned long)); + + init_waitqueue_head(&dev->tag_wq); + + return 0; +} + +/* io stat */ +static void ssd_end_io_acct(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = cmd->dev; + struct bio *bio = cmd->bio; + unsigned long dur = jiffies - cmd->start_time; + int rw = bio_data_dir(bio); +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6 && RHEL_MINOR >= 7)) +#else + unsigned long flag; +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) + bio_end_io_acct(bio, cmd->start_time); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) + struct hd_struct *part = disk_map_sector_rcu(dev->gd, bio_start(bio)); + generic_end_io_acct(dev->rq, rw, part, cmd->start_time); +#elif ((LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6 && RHEL_MINOR >= 7)) + int cpu = part_stat_lock(); + struct hd_struct *part = disk_map_sector_rcu(dev->gd, bio_start(bio)); + part_round_stats(cpu, part); + part_stat_add(cpu, part, ticks[rw], dur); + part_dec_in_flight(part, rw); + part_stat_unlock(); +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) + int cpu = part_stat_lock(); + struct hd_struct *part = &dev->gd->part0; + part_round_stats(cpu, part); + part_stat_add(cpu, part, ticks[rw], dur); + + spin_lock_irqsave(&dev->in_flight_lock,flag); + part->in_flight[rw]--; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + part_stat_unlock(); + +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,14)) + preempt_disable(); + disk_round_stats(dev->gd); + disk_stat_add(dev->gd, ticks[rw], dur); + + spin_lock_irqsave(&dev->in_flight_lock,flag); + dev->gd->in_flight--; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + preempt_enable(); + +#else + preempt_disable(); + disk_round_stats(dev->gd); + if (rw == WRITE) { + disk_stat_add(dev->gd, write_ticks, dur); + } else { + disk_stat_add(dev->gd, read_ticks, dur); + } + spin_lock_irqsave(&dev->in_flight_lock,flag); + dev->gd->in_flight--; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + preempt_enable(); + +#endif +} + +static void ssd_start_io_acct(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = cmd->dev; + struct bio *bio = cmd->bio; + int rw = bio_data_dir(bio); +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6 && RHEL_MINOR >= 7)) +#else + unsigned long flag; +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0)) + cmd->start_time = bio_start_io_acct(bio); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) + struct hd_struct *part = disk_map_sector_rcu(dev->gd, bio_start(bio)); + generic_start_io_acct(dev->rq, rw, bio_sectors(bio), part); + cmd->start_time = jiffies; +#elif ((LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6 && RHEL_MINOR >= 7)) + int cpu = part_stat_lock(); + struct hd_struct *part = disk_map_sector_rcu(dev->gd, bio_start(bio)); + part_round_stats(cpu, part); + part_stat_inc(cpu, part, ios[rw]); + part_stat_add(cpu, part, sectors[rw], bio_sectors(bio)); + part_inc_in_flight(part, rw); + part_stat_unlock(); + cmd->start_time = jiffies; +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) + int cpu = part_stat_lock(); + struct hd_struct *part = &dev->gd->part0; + part_round_stats(cpu, part); + part_stat_inc(cpu, part, ios[rw]); + part_stat_add(cpu, part, sectors[rw], bio_sectors(bio)); + + spin_lock_irqsave(&dev->in_flight_lock,flag); + part->in_flight[rw]++; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + part_stat_unlock(); + cmd->start_time = jiffies; + +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,14)) + preempt_disable(); + disk_round_stats(dev->gd); + disk_stat_inc(dev->gd, ios[rw]); + disk_stat_add(dev->gd, sectors[rw], bio_sectors(bio)); + + spin_lock_irqsave(&dev->in_flight_lock,flag); + dev->gd->in_flight++; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + preempt_enable(); + cmd->start_time = jiffies; +#else + preempt_disable(); + disk_round_stats(dev->gd); + if (rw == WRITE) { + disk_stat_inc(dev->gd, writes); + disk_stat_add(dev->gd, write_sectors, bio_sectors(bio)); + } else { + disk_stat_inc(dev->gd, reads); + disk_stat_add(dev->gd, read_sectors, bio_sectors(bio)); + } + + spin_lock_irqsave(&dev->in_flight_lock,flag); + dev->gd->in_flight++; + spin_unlock_irqrestore(&dev->in_flight_lock,flag); + + preempt_enable(); + cmd->start_time = jiffies; +#endif +} + +/* io */ +static void ssd_queue_bio(struct ssd_device *dev, struct bio *bio) +{ + spin_lock(&dev->sendq_lock); + ssd_blist_add(&dev->sendq, bio); + spin_unlock(&dev->sendq_lock); + + atomic_inc(&dev->in_sendq); + wake_up(&dev->send_waitq); +} + +static inline void ssd_end_request(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = cmd->dev; + struct bio *bio = cmd->bio; + int errors = cmd->errors; + int tag = cmd->tag; + + if (bio) { + if (!ssd_bio_has_discard(bio)) { + ssd_end_io_acct(cmd); + if (!cmd->flag) { + pci_unmap_sg(dev->pdev, cmd->sgl, cmd->nsegs, + bio_data_dir(bio) == READ ? PCI_DMA_FROMDEVICE : PCI_DMA_TODEVICE); + } + } + + cmd->bio = NULL; + ssd_put_tag(dev, tag); + + if (SSD_INT_MSIX == dev->int_mode || tag < 16 || errors) { + ssd_bio_endio(bio, errors); + } else /* if (bio->bi_idx >= bio->bi_vcnt)*/ { + spin_lock(&dev->doneq_lock); + ssd_blist_add(&dev->doneq, bio); + spin_unlock(&dev->doneq_lock); + + atomic_inc(&dev->in_doneq); + wake_up(&dev->done_waitq); + } + } else { + if (cmd->waiting) { + complete(cmd->waiting); + } + } +} + +static void ssd_end_timeout_request(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = cmd->dev; + struct ssd_rw_msg *msg = (struct ssd_rw_msg *)cmd->msg; + int i; + + for (i=0; inr_queue; i++) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + disable_irq(dev->entry[i].vector); +#else + disable_irq(pci_irq_vector(dev->pdev, i)); +#endif + } + + atomic_inc(&dev->tocnt); + //if (cmd->bio) { + hio_err("%s: cmd timeout: tag %d fun %#x\n", dev->name, msg->tag, msg->fun); + cmd->errors = -ETIMEDOUT; + ssd_end_request(cmd); + //} + + for (i=0; inr_queue; i++) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + enable_irq(dev->entry[i].vector); +#else + enable_irq(pci_irq_vector(dev->pdev, i)); +#endif + } + + /* alarm led */ + ssd_set_alarm(dev); +} + +/* cmd timer */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) +static void ssd_cmd_add_timer(struct ssd_cmd *cmd, int timeout, void (*complt)(struct ssd_cmd *)) +#else +static void ssd_cmd_add_timer(struct ssd_cmd *cmd, int timeout, void (*complt)(struct timer_list *)) +#endif +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) + init_timer(&cmd->cmd_timer); + + cmd->cmd_timer.data = (unsigned long)cmd; + cmd->cmd_timer.function = (void (*)(unsigned long)) complt; +#else + timer_setup(&cmd->cmd_timer, complt, 0); +#endif + + cmd->cmd_timer.expires = jiffies + timeout; + add_timer(&cmd->cmd_timer); +} + +static int ssd_cmd_del_timer(struct ssd_cmd *cmd) +{ + return del_timer(&cmd->cmd_timer); +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) +static void ssd_add_timer(struct timer_list *timer, int timeout, void (*complt)(void *), void *data) +#else +static void ssd_add_timer(struct timer_list *timer, int timeout, void (*complt)(struct timer_list *), void *data) +#endif +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) + init_timer(timer); + + timer->data = (unsigned long)data; + timer->function = (void (*)(unsigned long)) complt; +#else + timer_setup(timer, complt, 0); +#endif + + timer->expires = jiffies + timeout; + add_timer(timer); +} + +static int ssd_del_timer(struct timer_list *timer) +{ + return del_timer(timer); +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) +static void ssd_cmd_timeout(struct ssd_cmd *cmd) +#else +static void ssd_cmd_timeout(struct timer_list *t) +#endif +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) + struct ssd_cmd *cmd = from_timer(cmd, t, cmd_timer); +#endif + struct ssd_device *dev = cmd->dev; + uint32_t msg = *(uint32_t *)cmd->msg; + + ssd_end_timeout_request(cmd); + + ssd_gen_swlog(dev, SSD_LOG_TIMEOUT, msg); +} + + +static void __ssd_done(unsigned long data) +{ + struct ssd_cmd *cmd; + LIST_HEAD(localq); + + local_irq_disable(); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)) + list_splice_init(&__get_cpu_var(ssd_doneq), &localq); +#else + list_splice_init(this_cpu_ptr(&ssd_doneq), &localq); +#endif + local_irq_enable(); + + while (!list_empty(&localq)) { + cmd = list_entry(localq.next, struct ssd_cmd, list); + list_del_init(&cmd->list); + + ssd_end_request(cmd); + } +} + +static void __ssd_done_db(unsigned long data) +{ + struct ssd_cmd *cmd; + struct ssd_device *dev; + struct bio *bio; + LIST_HEAD(localq); + + local_irq_disable(); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)) + list_splice_init(&__get_cpu_var(ssd_doneq), &localq); +#else + list_splice_init(this_cpu_ptr(&ssd_doneq), &localq); +#endif + local_irq_enable(); + + while (!list_empty(&localq)) { + cmd = list_entry(localq.next, struct ssd_cmd, list); + list_del_init(&cmd->list); + + dev = (struct ssd_device *)cmd->dev; + bio = cmd->bio; + + if (bio) { + sector_t off = dev->db_info.data.loc.off; + uint32_t len = dev->db_info.data.loc.len; + + switch (dev->db_info.type) { + case SSD_DEBUG_READ_ERR: + if (bio_data_dir(bio) == READ && + !((off + len) <= bio_start(bio) || off >= (bio_start(bio) + bio_sectors(bio)))) { + cmd->errors = -EIO; + } + break; + case SSD_DEBUG_WRITE_ERR: + if (bio_data_dir(bio) == WRITE && + !((off + len) <= bio_start(bio) || off >= (bio_start(bio) + bio_sectors(bio)))) { + cmd->errors = -EROFS; + } + break; + case SSD_DEBUG_RW_ERR: + if (!((off + len) <= bio_start(bio) || off >= (bio_start(bio) + bio_sectors(bio)))) { + if (bio_data_dir(bio) == READ) { + cmd->errors = -EIO; + } else { + cmd->errors = -EROFS; + } + } + break; + default: + break; + } + } + + ssd_end_request(cmd); + } +} + +static inline void ssd_done_bh(struct ssd_cmd *cmd) +{ + unsigned long flags = 0; + + if (unlikely(!ssd_cmd_del_timer(cmd))) { + struct ssd_device *dev = cmd->dev; + struct ssd_rw_msg *msg = (struct ssd_rw_msg *)cmd->msg; + hio_err("%s: unknown cmd: tag %d fun %#x\n", dev->name, msg->tag, msg->fun); + + /* alarm led */ + ssd_set_alarm(dev); + return; + } + + local_irq_save(flags); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)) + list_add_tail(&cmd->list, &__get_cpu_var(ssd_doneq)); + tasklet_hi_schedule(&__get_cpu_var(ssd_tasklet)); +#else + list_add_tail(&cmd->list, this_cpu_ptr(&ssd_doneq)); + tasklet_hi_schedule(this_cpu_ptr(&ssd_tasklet)); +#endif + local_irq_restore(flags); + + return; +} + +static inline void ssd_done(struct ssd_cmd *cmd) +{ + if (unlikely(!ssd_cmd_del_timer(cmd))) { + struct ssd_device *dev = cmd->dev; + struct ssd_rw_msg *msg = (struct ssd_rw_msg *)cmd->msg; + hio_err("%s: unknown cmd: tag %d fun %#x\n", dev->name, msg->tag, msg->fun); + + /* alarm led */ + ssd_set_alarm(dev); + return; + } + + ssd_end_request(cmd); + + return; +} + +static inline void ssd_dispatch_cmd(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = (struct ssd_device *)cmd->dev; + + ssd_cmd_add_timer(cmd, SSD_CMD_TIMEOUT, ssd_cmd_timeout); + + spin_lock(&dev->cmd_lock); + ssd_reg_write(dev->ctrlp + SSD_REQ_FIFO_REG, cmd->msg_dma); + spin_unlock(&dev->cmd_lock); +} + +static inline void ssd_send_cmd(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = (struct ssd_device *)cmd->dev; + + ssd_cmd_add_timer(cmd, SSD_CMD_TIMEOUT, ssd_cmd_timeout); + + ssd_reg32_write(dev->ctrlp + SSD_REQ_FIFO_REG, ((uint32_t)cmd->tag | ((uint32_t)cmd->nsegs << 16))); +} + +static inline void ssd_send_cmd_db(struct ssd_cmd *cmd) +{ + struct ssd_device *dev = (struct ssd_device *)cmd->dev; + struct bio *bio = cmd->bio; + + ssd_cmd_add_timer(cmd, SSD_CMD_TIMEOUT, ssd_cmd_timeout); + + if (bio) { + switch (dev->db_info.type) { + case SSD_DEBUG_READ_TO: + if (bio_data_dir(bio) == READ) { + return; + } + break; + case SSD_DEBUG_WRITE_TO: + if (bio_data_dir(bio) == WRITE) { + return; + } + break; + case SSD_DEBUG_RW_TO: + return; + break; + default: + break; + } + } + + ssd_reg32_write(dev->ctrlp + SSD_REQ_FIFO_REG, ((uint32_t)cmd->tag | ((uint32_t)cmd->nsegs << 16))); +} + + +/* fixed for BIOVEC_PHYS_MERGEABLE */ +#ifdef SSD_BIOVEC_PHYS_MERGEABLE_FIXED +#include +#include +#include + +static bool xen_biovec_phys_mergeable_fixed(const struct bio_vec *vec1, + const struct bio_vec *vec2) +{ + unsigned long mfn1 = pfn_to_mfn(page_to_pfn(vec1->bv_page)); + unsigned long mfn2 = pfn_to_mfn(page_to_pfn(vec2->bv_page)); + + return __BIOVEC_PHYS_MERGEABLE(vec1, vec2) && + ((mfn1 == mfn2) || ((mfn1+1) == mfn2)); +} + +#ifdef BIOVEC_PHYS_MERGEABLE +#undef BIOVEC_PHYS_MERGEABLE +#endif +#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ + (__BIOVEC_PHYS_MERGEABLE(vec1, vec2) && \ + (!xen_domain() || xen_biovec_phys_mergeable_fixed(vec1, vec2))) + +#endif + +/* + * BIOVEC_PHYS_MERGEABLE not available from 4.20 onward, and it seems likely + * that all the merging that can be done has been done by the block core + * already. Just stub it out. + */ +#if (LINUX_VERSION_CODE > KERNEL_VERSION(4,20,0)) +# ifdef BIOVEC_PHYS_MERGEABLE +# undef BIOVEC_PHYS_MERGEABLE +# endif +# define BIOVEC_PHYS_MERGEABLE(vec1, vec2) (0) +#endif + +static inline int ssd_bio_map_sg(struct ssd_device *dev, struct bio *bio, struct scatterlist *sgl) +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)) + struct bio_vec *bvec, *bvprv = NULL; + struct scatterlist *sg = NULL; + int i = 0, nsegs = 0; + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) + sg_init_table(sgl, dev->hw_info.cmd_max_sg); +#endif + + /* + * for each segment in bio + */ + bio_for_each_segment(bvec, bio, i) { + if (bvprv && BIOVEC_PHYS_MERGEABLE(bvprv, bvec)) { + sg->length += bvec->bv_len; + } else { + if (unlikely(nsegs >= (int)dev->hw_info.cmd_max_sg)) { + break; + } + + sg = sg ? (sg + 1) : sgl; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + sg_set_page(sg, bvec->bv_page, bvec->bv_len, bvec->bv_offset); +#else + sg->page = bvec->bv_page; + sg->length = bvec->bv_len; + sg->offset = bvec->bv_offset; +#endif + nsegs++; + } + bvprv = bvec; + } + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) + if (sg) { + sg_mark_end(sg); + } +#endif + + bio->bi_idx = i; + + return nsegs; +#else + struct bio_vec bvec, bvprv; + struct bvec_iter iter; + struct scatterlist *sg = NULL; + int nsegs = 0; + int first = 1; + + sg_init_table(sgl, dev->hw_info.cmd_max_sg); + + /* + * for each segment in bio + */ + bio_for_each_segment(bvec, bio, iter) { + if (!first && BIOVEC_PHYS_MERGEABLE(&bvprv, &bvec)) { + sg->length += bvec.bv_len; + } else { + if (unlikely(nsegs >= (int)dev->hw_info.cmd_max_sg)) { + break; + } + + sg = sg ? (sg + 1) : sgl; + + sg_set_page(sg, bvec.bv_page, bvec.bv_len, bvec.bv_offset); + + nsegs++; + first = 0; + } + bvprv = bvec; + } + + if (sg) { + sg_mark_end(sg); + } + + return nsegs; +#endif +} + + +static int __ssd_submit_pbio(struct ssd_device *dev, struct bio *bio, int wait) +{ + struct ssd_cmd *cmd; + struct ssd_rw_msg *msg; + struct ssd_sg_entry *sge; + sector_t block = bio_start(bio); + int tag; + int i; + + tag = ssd_get_tag(dev, wait); + if (tag < 0) { + return -EBUSY; + } + + cmd = &dev->cmd[tag]; + cmd->bio = bio; + cmd->flag = 1; + + msg = (struct ssd_rw_msg *)cmd->msg; + + if (ssd_bio_has_discard(bio)) { + unsigned int length = bio_sectors(bio); + + //printk(KERN_WARNING "%s: discard len %u, block %llu\n", dev->name, bio_sectors(bio), block); + msg->tag = tag; + msg->fun = SSD_FUNC_TRIM; + + sge = msg->sge; + for (i=0; i<(dev->hw_info.cmd_max_sg); i++) { + sge->block = block; + sge->length = (length >= dev->hw_info.sg_max_sec) ? dev->hw_info.sg_max_sec : length; + sge->buf = 0; + + block += sge->length; + length -= sge->length; + sge++; + + if (length <= 0) { + ++i; + break; + } + } + msg->nsegs = cmd->nsegs = i; + + dev->scmd(cmd); + return 0; + } + + //msg->nsegs = cmd->nsegs = ssd_bio_map_sg(dev, bio, sgl); + msg->nsegs = cmd->nsegs = bio->bi_vcnt; + + //xx + if (bio_data_dir(bio) == READ) { + msg->fun = SSD_FUNC_READ; + msg->flag = 0; + } else { + msg->fun = SSD_FUNC_WRITE; + msg->flag = dev->wmode; + } + + sge = msg->sge; + for (i=0; ibi_vcnt; i++) { + sge->block = block; + sge->length = bio->bi_io_vec[i].bv_len >> 9; + sge->buf = (uint64_t)((void *)bio->bi_io_vec[i].bv_page + bio->bi_io_vec[i].bv_offset); + + block += sge->length; + sge++; + } + + msg->tag = tag; + +#ifdef SSD_OT_PROTECT + if (unlikely(dev->ot_delay > 0 && dev->ot_protect != 0)) { + msleep_interruptible(dev->ot_delay); + } +#endif + + ssd_start_io_acct(cmd); + dev->scmd(cmd); + + return 0; +} + +static inline int ssd_submit_bio(struct ssd_device *dev, struct bio *bio, int wait) +{ + struct ssd_cmd *cmd; + struct ssd_rw_msg *msg; + struct ssd_sg_entry *sge; + struct scatterlist *sgl; + sector_t block = bio_start(bio); + int tag; + int i; + + tag = ssd_get_tag(dev, wait); + if (tag < 0) { + return -EBUSY; + } + + cmd = &dev->cmd[tag]; + cmd->bio = bio; + cmd->flag = 0; + + msg = (struct ssd_rw_msg *)cmd->msg; + + sgl = cmd->sgl; + + if (ssd_bio_has_discard(bio)) { + unsigned int length = bio_sectors(bio); + + //printk(KERN_WARNING "%s: discard len %u, block %llu\n", dev->name, bio_sectors(bio), block); + msg->tag = tag; + msg->fun = SSD_FUNC_TRIM; + + sge = msg->sge; + for (i=0; i<(dev->hw_info.cmd_max_sg); i++) { + sge->block = block; + sge->length = (length >= dev->hw_info.sg_max_sec) ? dev->hw_info.sg_max_sec : length; + sge->buf = 0; + + block += sge->length; + length -= sge->length; + sge++; + + if (length <= 0) { + ++i; + break; + } + } + msg->nsegs = cmd->nsegs = i; + + dev->scmd(cmd); + return 0; + } + + msg->nsegs = cmd->nsegs = ssd_bio_map_sg(dev, bio, sgl); + + //xx + if (bio_data_dir(bio) == READ) { + msg->fun = SSD_FUNC_READ; + msg->flag = 0; + pci_map_sg(dev->pdev, sgl, cmd->nsegs, PCI_DMA_FROMDEVICE); + } else { + msg->fun = SSD_FUNC_WRITE; + msg->flag = dev->wmode; + pci_map_sg(dev->pdev, sgl, cmd->nsegs, PCI_DMA_TODEVICE); + } + + sge = msg->sge; + for (i=0; insegs; i++) { + sge->block = block; + sge->length = sg_dma_len(sgl) >> 9; + sge->buf = sg_dma_address(sgl); + + block += sge->length; + sgl++; + sge++; + } + + msg->tag = tag; + +#ifdef SSD_OT_PROTECT + if (unlikely(dev->ot_delay > 0 && dev->ot_protect != 0)) { + msleep_interruptible(dev->ot_delay); + } +#endif + + ssd_start_io_acct(cmd); + dev->scmd(cmd); + + return 0; +} + +/* threads */ +static int ssd_done_thread(void *data) +{ + struct ssd_device *dev; + struct bio *bio; + struct bio *next; + + if (!data) { + return -EINVAL; + } + dev = data; + + current->flags |= PF_NOFREEZE; + //set_user_nice(current, -5); + + while (!kthread_should_stop()) { + wait_event_interruptible(dev->done_waitq, (atomic_read(&dev->in_doneq) || kthread_should_stop())); + + while (atomic_read(&dev->in_doneq)) { + if (threaded_irq) { + spin_lock(&dev->doneq_lock); + bio = ssd_blist_get(&dev->doneq); + spin_unlock(&dev->doneq_lock); + } else { + spin_lock_irq(&dev->doneq_lock); + bio = ssd_blist_get(&dev->doneq); + spin_unlock_irq(&dev->doneq_lock); + } + + while (bio) { + next = bio->bi_next; + bio->bi_next = NULL; + ssd_bio_endio(bio, 0); + atomic_dec(&dev->in_doneq); + bio = next; + } + + cond_resched(); + +#ifdef SSD_ESCAPE_IRQ + if (unlikely(smp_processor_id() == dev->irq_cpu)) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)) + cpumask_var_t new_mask; + if (alloc_cpumask_var(&new_mask, GFP_ATOMIC)) { + cpumask_setall(new_mask); + cpumask_clear_cpu(dev->irq_cpu, new_mask); + set_cpus_allowed_ptr(current, new_mask); + free_cpumask_var(new_mask); + } +#else + cpumask_t new_mask; + cpus_setall(new_mask); + cpu_clear(dev->irq_cpu, new_mask); + set_cpus_allowed(current, new_mask); +#endif + } +#endif + } + } + return 0; +} + +static int ssd_send_thread(void *data) +{ + struct ssd_device *dev; + struct bio *bio; + struct bio *next; + + if (!data) { + return -EINVAL; + } + dev = data; + + current->flags |= PF_NOFREEZE; + //set_user_nice(current, -5); + + while (!kthread_should_stop()) { + wait_event_interruptible(dev->send_waitq, (atomic_read(&dev->in_sendq) || kthread_should_stop())); + + while (atomic_read(&dev->in_sendq)) { + spin_lock(&dev->sendq_lock); + bio = ssd_blist_get(&dev->sendq); + spin_unlock(&dev->sendq_lock); + + while (bio) { + next = bio->bi_next; + bio->bi_next = NULL; +#ifdef SSD_QUEUE_PBIO + if (test_and_clear_bit(BIO_SSD_PBIO, &bio->bi_flags)) { + __ssd_submit_pbio(dev, bio, 1); + } else { + ssd_submit_bio(dev, bio, 1); + } +#else + ssd_submit_bio(dev, bio, 1); +#endif + atomic_dec(&dev->in_sendq); + bio = next; + } + + cond_resched(); + +#ifdef SSD_ESCAPE_IRQ + if (unlikely(smp_processor_id() == dev->irq_cpu)) { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)) + cpumask_var_t new_mask; + if (alloc_cpumask_var(&new_mask, GFP_ATOMIC)) { + cpumask_setall(new_mask); + cpumask_clear_cpu(dev->irq_cpu, new_mask); + set_cpus_allowed_ptr(current, new_mask); + free_cpumask_var(new_mask); + } +#else + cpumask_t new_mask; + cpus_setall(new_mask); + cpu_clear(dev->irq_cpu, new_mask); + set_cpus_allowed(current, new_mask); +#endif + } +#endif + } + } + + return 0; +} + +static void ssd_cleanup_thread(struct ssd_device *dev) +{ + kthread_stop(dev->send_thread); + kthread_stop(dev->done_thread); +} + +static int ssd_init_thread(struct ssd_device *dev) +{ + int ret; + + atomic_set(&dev->in_doneq, 0); + atomic_set(&dev->in_sendq, 0); + + spin_lock_init(&dev->doneq_lock); + spin_lock_init(&dev->sendq_lock); + + ssd_blist_init(&dev->doneq); + ssd_blist_init(&dev->sendq); + + init_waitqueue_head(&dev->done_waitq); + init_waitqueue_head(&dev->send_waitq); + + dev->done_thread = kthread_run(ssd_done_thread, dev, "%s/d", dev->name); + if (IS_ERR(dev->done_thread)) { + ret = PTR_ERR(dev->done_thread); + goto out_done_thread; + } + + dev->send_thread = kthread_run(ssd_send_thread, dev, "%s/s", dev->name); + if (IS_ERR(dev->send_thread)) { + ret = PTR_ERR(dev->send_thread); + goto out_send_thread; + } + + return 0; + +out_send_thread: + kthread_stop(dev->done_thread); +out_done_thread: + return ret; +} + +/* dcmd pool */ +static void ssd_put_dcmd(struct ssd_dcmd *dcmd) +{ + struct ssd_device *dev = (struct ssd_device *)dcmd->dev; + + spin_lock(&dev->dcmd_lock); + list_add_tail(&dcmd->list, &dev->dcmd_list); + spin_unlock(&dev->dcmd_lock); +} + +static struct ssd_dcmd *ssd_get_dcmd(struct ssd_device *dev) +{ + struct ssd_dcmd *dcmd = NULL; + + spin_lock(&dev->dcmd_lock); + if (!list_empty(&dev->dcmd_list)) { + dcmd = list_entry(dev->dcmd_list.next, + struct ssd_dcmd, list); + list_del_init(&dcmd->list); + } + spin_unlock(&dev->dcmd_lock); + + return dcmd; +} + +static void ssd_cleanup_dcmd(struct ssd_device *dev) +{ + kfree(dev->dcmd); +} + +static int ssd_init_dcmd(struct ssd_device *dev) +{ + struct ssd_dcmd *dcmd; + int dcmd_sz = sizeof(struct ssd_dcmd)*dev->hw_info.cmd_fifo_sz; + int i; + + spin_lock_init(&dev->dcmd_lock); + INIT_LIST_HEAD(&dev->dcmd_list); + init_waitqueue_head(&dev->dcmd_wq); + + dev->dcmd = kmalloc(dcmd_sz, GFP_KERNEL); + if (!dev->dcmd) { + hio_warn("%s: can not alloc dcmd\n", dev->name); + goto out_alloc_dcmd; + } + memset(dev->dcmd, 0, dcmd_sz); + + for (i=0, dcmd=dev->dcmd; i<(int)dev->hw_info.cmd_fifo_sz; i++, dcmd++) { + dcmd->dev = dev; + INIT_LIST_HEAD(&dcmd->list); + list_add_tail(&dcmd->list, &dev->dcmd_list); + } + + return 0; + +out_alloc_dcmd: + return -ENOMEM; +} + +static void ssd_put_dmsg(void *msg) +{ + struct ssd_dcmd *dcmd = container_of(msg, struct ssd_dcmd, msg); + struct ssd_device *dev = (struct ssd_device *)dcmd->dev; + + memset(dcmd->msg, 0, SSD_DCMD_MAX_SZ); + ssd_put_dcmd(dcmd); + wake_up(&dev->dcmd_wq); +} + +static void *ssd_get_dmsg(struct ssd_device *dev) +{ + struct ssd_dcmd *dcmd = ssd_get_dcmd(dev); + + while (!dcmd) { + DEFINE_WAIT(wait); + prepare_to_wait_exclusive(&dev->dcmd_wq, &wait, TASK_UNINTERRUPTIBLE); + schedule(); + + dcmd = ssd_get_dcmd(dev); + + finish_wait(&dev->dcmd_wq, &wait); + } + return dcmd->msg; +} + +/* do direct cmd */ +static int ssd_do_request(struct ssd_device *dev, int rw, void *msg, int *done) +{ + DECLARE_COMPLETION(wait); + struct ssd_cmd *cmd; + int tag; + int ret = 0; + + tag = ssd_get_tag(dev, 1); + if (tag < 0) { + return -EBUSY; + } + + cmd = &dev->cmd[tag]; + cmd->nsegs = 1; + memcpy(cmd->msg, msg, SSD_DCMD_MAX_SZ); + ((struct ssd_rw_msg *)cmd->msg)->tag = tag; + + cmd->waiting = &wait; + + dev->scmd(cmd); + + wait_for_completion(cmd->waiting); + cmd->waiting = NULL; + + if (cmd->errors == -ETIMEDOUT) { + ret = cmd->errors; + } else if (cmd->errors) { + ret = -EIO; + } + + if (done != NULL) { + *done = cmd->nr_log; + } + ssd_put_tag(dev, cmd->tag); + + return ret; +} + +static int ssd_do_barrier_request(struct ssd_device *dev, int rw, void *msg, int *done) +{ + DECLARE_COMPLETION(wait); + struct ssd_cmd *cmd; + int tag; + int ret = 0; + + tag = ssd_barrier_get_tag(dev); + if (tag < 0) { + return -EBUSY; + } + + cmd = &dev->cmd[tag]; + cmd->nsegs = 1; + memcpy(cmd->msg, msg, SSD_DCMD_MAX_SZ); + ((struct ssd_rw_msg *)cmd->msg)->tag = tag; + + cmd->waiting = &wait; + + dev->scmd(cmd); + + wait_for_completion(cmd->waiting); + cmd->waiting = NULL; + + if (cmd->errors == -ETIMEDOUT) { + ret = cmd->errors; + } else if (cmd->errors) { + ret = -EIO; + } + + if (done != NULL) { + *done = cmd->nr_log; + } + ssd_barrier_put_tag(dev, cmd->tag); + + return ret; +} + +#ifdef SSD_OT_PROTECT +static void ssd_check_temperature(struct ssd_device *dev, int temp) +{ + uint64_t val; + uint32_t off; + int cur; + int i; + + if (mode != SSD_DRV_MODE_STANDARD) { + return; + } + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + } + + for (i=0; ihw_info.nr_ctrl; i++) { + off = SSD_CTRL_TEMP_REG0 + i * sizeof(uint64_t); + + val = ssd_reg_read(dev->ctrlp + off); + if (val == 0xffffffffffffffffull) { + continue; + } + + cur = (int)CUR_TEMP(val); + if (cur >= temp) { + if (!test_and_set_bit(SSD_HWMON_TEMP(SSD_TEMP_CTRL), &dev->hwmon)) { + if (dev->protocol_info.ver > SSD_PROTOCOL_V3 && dev->protocol_info.ver < SSD_PROTOCOL_V3_2_2) { + hio_warn("%s: Over temperature, please check the fans.\n", dev->name); + dev->ot_delay = SSD_OT_DELAY; + } + } + return; + } + } + + if (test_and_clear_bit(SSD_HWMON_TEMP(SSD_TEMP_CTRL), &dev->hwmon)) { + if (dev->protocol_info.ver > SSD_PROTOCOL_V3 && dev->protocol_info.ver < SSD_PROTOCOL_V3_2_2) { + hio_warn("%s: Temperature is OK.\n", dev->name); + dev->ot_delay = 0; + } + } +} +#endif + +static int ssd_get_ot_status(struct ssd_device *dev, int *status) +{ + uint32_t off; + uint32_t val; + int i; + + if (!dev || !status) { + return -EINVAL; + } + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2_2) { + for (i=0; ihw_info.nr_ctrl; i++) { + off = SSD_READ_OT_REG0 + (i * SSD_CTRL_REG_ZONE_SZ); + val = ssd_reg32_read(dev->ctrlp + off); + if ((val >> 22) & 0x1) { + *status = 1; + goto out; + } + + + off = SSD_WRITE_OT_REG0 + (i * SSD_CTRL_REG_ZONE_SZ); + val = ssd_reg32_read(dev->ctrlp + off); + if ((val >> 22) & 0x1) { + *status = 1; + goto out; + } + } + } else { + *status = !!dev->ot_delay; + } + +out: + return 0; +} + +static void ssd_set_ot_protect(struct ssd_device *dev, int protect) +{ + uint32_t off; + uint32_t val; + int i; + + mutex_lock(&dev->fw_mutex); + + dev->ot_protect = !!protect; + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2_2) { + for (i=0; ihw_info.nr_ctrl; i++) { + off = SSD_READ_OT_REG0 + (i * SSD_CTRL_REG_ZONE_SZ); + val = ssd_reg32_read(dev->ctrlp + off); + if (dev->ot_protect) { + val |= (1U << 21); + } else { + val &= ~(1U << 21); + } + ssd_reg32_write(dev->ctrlp + off, val); + + + off = SSD_WRITE_OT_REG0 + (i * SSD_CTRL_REG_ZONE_SZ); + val = ssd_reg32_read(dev->ctrlp + off); + if (dev->ot_protect) { + val |= (1U << 21); + } else { + val &= ~(1U << 21); + } + ssd_reg32_write(dev->ctrlp + off, val); + } + } + + mutex_unlock(&dev->fw_mutex); +} + +static int ssd_init_ot_protect(struct ssd_device *dev) +{ + ssd_set_ot_protect(dev, ot_protect); + +#ifdef SSD_OT_PROTECT + ssd_check_temperature(dev, SSD_OT_TEMP); +#endif + + return 0; +} + +/* log */ +static int ssd_read_log(struct ssd_device *dev, int ctrl_idx, void *buf, int *nr_log) +{ + struct ssd_log_op_msg *msg; + struct ssd_log_msg *lmsg; + dma_addr_t buf_dma; + size_t length = dev->hw_info.log_sz; + int ret = 0; + + if (ctrl_idx >= dev->hw_info.nr_ctrl) { + return -EINVAL; + } + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map read DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + msg = (struct ssd_log_op_msg *)ssd_get_dmsg(dev); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + lmsg = (struct ssd_log_msg *)msg; + lmsg->fun = SSD_FUNC_READ_LOG; + lmsg->ctrl_idx = ctrl_idx; + lmsg->buf = buf_dma; + } else { + msg->fun = SSD_FUNC_READ_LOG; + msg->ctrl_idx = ctrl_idx; + msg->buf = buf_dma; + } + + ret = ssd_do_request(dev, READ, msg, nr_log); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_FROMDEVICE); + +out_dma_mapping: + return ret; +} + +#define SSD_LOG_PRINT_BUF_SZ 256 +static int ssd_parse_log(struct ssd_device *dev, struct ssd_log *log, int print) +{ + struct ssd_log_desc *log_desc = ssd_log_desc; + struct ssd_log_entry *le; + char *sn = NULL; + char print_buf[SSD_LOG_PRINT_BUF_SZ]; + int print_len; + + le = &log->le; + + /* find desc */ + while (log_desc->event != SSD_UNKNOWN_EVENT) { + if (log_desc->event == le->event) { + break; + } + log_desc++; + } + + if (!print) { + goto out; + } + + if (log_desc->level < log_level) { + goto out; + } + + /* parse */ + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + sn = dev->label.sn; + } else { + sn = dev->labelv3.barcode; + } + + print_len = snprintf(print_buf, SSD_LOG_PRINT_BUF_SZ, "%s (%s): <%#x>", dev->name, sn, le->event); + + if (log->ctrl_idx != SSD_LOG_SW_IDX) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " controller %d", log->ctrl_idx); + } + + switch (log_desc->data) { + case SSD_LOG_DATA_NONE: + break; + case SSD_LOG_DATA_LOC: + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " flash %d", le->data.loc.flash); + if (log_desc->sblock) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " block %d", le->data.loc.block); + } + if (log_desc->spage) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " page %d", le->data.loc.page); + } + } else { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " flash %d", le->data.loc1.flash); + if (log_desc->sblock) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " block %d", le->data.loc1.block); + } + if (log_desc->spage) { + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " page %d", le->data.loc1.page); + } + } + break; + case SSD_LOG_DATA_HEX: + print_len += snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), " info %#x", le->data.val); + break; + default: + break; + } + /*print_len += */snprintf((print_buf + print_len), (SSD_LOG_PRINT_BUF_SZ - print_len), ": %s", log_desc->desc); + + switch (log_desc->level) { + case SSD_LOG_LEVEL_INFO: + hio_info("%s\n", print_buf); + break; + case SSD_LOG_LEVEL_NOTICE: + hio_note("%s\n", print_buf); + break; + case SSD_LOG_LEVEL_WARNING: + hio_warn("%s\n", print_buf); + break; + case SSD_LOG_LEVEL_ERR: + hio_err("%s\n", print_buf); + //printk(KERN_ERR MODULE_NAME": some exception occurred, please check the data or refer to FAQ."); + break; + default: + hio_warn("%s\n", print_buf); + break; + } + +out: + return log_desc->level; +} + +static int ssd_bm_get_sfstatus(struct ssd_device *dev, uint16_t *status); +static int ssd_switch_wmode(struct ssd_device *dev, int wmode); + + +static int ssd_handle_event(struct ssd_device *dev, uint16_t event, int level) +{ + int ret = 0; + + switch (event) { + case SSD_LOG_OVER_TEMP: { +#ifdef SSD_OT_PROTECT + if (!test_and_set_bit(SSD_HWMON_TEMP(SSD_TEMP_CTRL), &dev->hwmon)) { + if (dev->protocol_info.ver > SSD_PROTOCOL_V3 && dev->protocol_info.ver < SSD_PROTOCOL_V3_2_2) { + hio_warn("%s: Over temperature, please check the fans.\n", dev->name); + dev->ot_delay = SSD_OT_DELAY; + } + } +#endif + break; + } + + case SSD_LOG_NORMAL_TEMP: { +#ifdef SSD_OT_PROTECT + /* need to check all controller's temperature */ + ssd_check_temperature(dev, SSD_OT_TEMP_HYST); +#endif + break; + } + + case SSD_LOG_BATTERY_FAULT: { + uint16_t sfstatus; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + if (!ssd_bm_get_sfstatus(dev, &sfstatus)) { + ssd_gen_swlog(dev, SSD_LOG_BM_SFSTATUS, sfstatus); + } + } + + if (!test_and_set_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ssd_switch_wmode(dev, dev->user_wmode); + } + break; + } + + case SSD_LOG_BATTERY_OK: { + if (test_and_clear_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ssd_switch_wmode(dev, dev->user_wmode); + } + break; + } + + case SSD_LOG_BOARD_VOLT_FAULT: { + ssd_mon_boardvolt(dev); + break; + } + + case SSD_LOG_CLEAR_LOG: { + /* update smart */ + memset(&dev->smart.log_info, 0, sizeof(struct ssd_log_info)); + break; + } + + case SSD_LOG_CAP_VOLT_FAULT: + case SSD_LOG_CAP_LEARN_FAULT: + case SSD_LOG_CAP_SHORT_CIRCUIT: { + if (!test_and_set_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ssd_switch_wmode(dev, dev->user_wmode); + } + break; + } + + default: + break; + } + + /* ssd event call */ + if (dev->event_call) { + dev->event_call(dev->gd, event, level); + + /* FIXME */ + if (SSD_LOG_CAP_VOLT_FAULT == event || SSD_LOG_CAP_LEARN_FAULT == event || SSD_LOG_CAP_SHORT_CIRCUIT == event) { + dev->event_call(dev->gd, SSD_LOG_BATTERY_FAULT, level); + } + } + + return ret; +} + +static int ssd_save_log(struct ssd_device *dev, struct ssd_log *log) +{ + uint32_t off, size; + void *internal_log; + int ret = 0; + + mutex_lock(&dev->internal_log_mutex); + + size = sizeof(struct ssd_log); + off = dev->internal_log.nr_log * size; + + if (off == dev->rom_info.log_sz) { + if (dev->internal_log.nr_log == dev->smart.log_info.nr_log) { + hio_warn("%s: internal log is full\n", dev->name); + } + goto out; + } + + internal_log = dev->internal_log.log + off; + memcpy(internal_log, log, size); + + if (dev->protocol_info.ver > SSD_PROTOCOL_V3) { + off += dev->rom_info.log_base; + + ret = ssd_spi_write(dev, log, off, size); + if (ret) { + goto out; + } + } + + dev->internal_log.nr_log++; + +out: + mutex_unlock(&dev->internal_log_mutex); + return ret; +} + +/** CRC table for the CRC-16. The poly is 0x8005 (x^16 + x^15 + x^2 + 1) */ +static unsigned short const crc16_table[256] = { + 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, + 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, + 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, + 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, + 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, + 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, + 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, + 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, + 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, + 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, + 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, + 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, + 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, + 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, + 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, + 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, + 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, + 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, + 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, + 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, + 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, + 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, + 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, + 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, + 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, + 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, + 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, + 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, + 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, + 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, + 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, + 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 +}; + +static unsigned short crc16_byte(unsigned short crc, const unsigned char data) +{ + return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff]; +} +/** + * crc16 - compute the CRC-16 for the data buffer + * @crc: previous CRC value + * @buffer: data pointer + * @len: number of bytes in the buffer + * + * Returns the updated CRC value. + */ +static unsigned short crc16(unsigned short crc, unsigned char const *buffer, int len) +{ + while (len--) + crc = crc16_byte(crc, *buffer++); + return crc; +} + +static int ssd_save_swlog(struct ssd_device *dev, uint16_t event, uint32_t data) +{ + struct ssd_log log; + int level; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + memset(&log, 0, sizeof(struct ssd_log)); + + log.ctrl_idx = SSD_LOG_SW_IDX; + log.time = ktime_get_real_seconds(); + log.le.event = event; + log.le.data.val = data; + + log.le.mod = SSD_DIF_WITH_OLD_LOG; + log.le.idx = crc16(0,(const unsigned char *)&log,14); + level = ssd_parse_log(dev, &log, 0); + if (level >= SSD_LOG_LEVEL) { + ret = ssd_save_log(dev, &log); + } + + /* set alarm */ + if (SSD_LOG_LEVEL_ERR == level) { + ssd_set_alarm(dev); + } + + /* update smart */ + dev->smart.log_info.nr_log++; + dev->smart.log_info.stat[level]++; + + /* handle event */ + ssd_handle_event(dev, event, level); + + return ret; +} + +static int ssd_gen_swlog(struct ssd_device *dev, uint16_t event, uint32_t data) +{ + struct ssd_log_entry le; + int ret; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + /* slave port ? */ + if (dev->slave) { + return 0; + } + + memset(&le, 0, sizeof(struct ssd_log_entry)); + le.event = event; + le.data.val = data; + + ret = sfifo_put(&dev->log_fifo, &le); + if (ret) { + return ret; + } + + if (test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->log_work); + } + + return 0; +} + +static int ssd_do_swlog(struct ssd_device *dev) +{ + struct ssd_log_entry le; + int ret = 0; + + memset(&le, 0, sizeof(struct ssd_log_entry)); + while (!sfifo_get(&dev->log_fifo, &le)) { + ret = ssd_save_swlog(dev, le.event, le.data.val); + if (ret) { + break; + } + } + + return ret; +} + +static int __ssd_clear_log(struct ssd_device *dev) +{ + uint32_t off, length; + int ret; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + if (dev->internal_log.nr_log == 0) { + return 0; + } + + mutex_lock(&dev->internal_log_mutex); + + off = dev->rom_info.log_base; + length = dev->rom_info.log_sz; + + ret = ssd_spi_erase(dev, off, length); + if (ret) { + hio_warn("%s: log erase: failed\n", dev->name); + goto out; + } + + dev->internal_log.nr_log = 0; + +out: + mutex_unlock(&dev->internal_log_mutex); + return ret; +} + +static int ssd_clear_log(struct ssd_device *dev) +{ + int ret; + + ret = __ssd_clear_log(dev); + if(!ret) { + ssd_gen_swlog(dev, SSD_LOG_CLEAR_LOG, 0); + } + + return ret; +} + +static int ssd_do_log(struct ssd_device *dev, int ctrl_idx, void *buf) +{ + struct ssd_log_entry *le; + struct ssd_log log; + int nr_log = 0; + int level; + int ret = 0; + + ret = ssd_read_log(dev, ctrl_idx, buf, &nr_log); + if (ret) { + return ret; + } + + log.time = ktime_get_real_seconds(); + log.ctrl_idx = ctrl_idx; + + le = (ssd_log_entry_t *)buf; + while (nr_log > 0) { + memcpy(&log.le, le, sizeof(struct ssd_log_entry)); + + log.le.mod = SSD_DIF_WITH_OLD_LOG; + log.le.idx = crc16(0,(const unsigned char *)&log,14); + level = ssd_parse_log(dev, &log, 1); + if (level >= SSD_LOG_LEVEL) { + ssd_save_log(dev, &log); + } + + /* set alarm */ + if (SSD_LOG_LEVEL_ERR == level) { + ssd_set_alarm(dev); + } + + dev->smart.log_info.nr_log++; + if (SSD_LOG_SEU_FAULT != le->event && SSD_LOG_SEU_FAULT1 != le->event) { + dev->smart.log_info.stat[level]++; + } else { + /* SEU fault */ + + /* log to the volatile log info */ + dev->log_info.nr_log++; + dev->log_info.stat[level]++; + + /* do something */ + dev->reload_fw = 1; + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FLAG); + if (le->event != SSD_LOG_SEU_FAULT1) { + dev->has_non_0x98_reg_access = 1; + } + + /*dev->readonly = 1; + set_disk_ro(dev->gd, 1); + hio_warn("%s: switched to read-only mode.\n", dev->name);*/ + } + + /* handle event */ + ssd_handle_event(dev, le->event, level); + + le++; + nr_log--; + } + + return 0; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static void ssd_log_worker(void *data) +{ + struct ssd_device *dev = (struct ssd_device *)data; +#else +static void ssd_log_worker(struct work_struct *work) +{ + struct ssd_device *dev = container_of(work, struct ssd_device, log_work); +#endif + int i; + int ret; + + if (!test_bit(SSD_LOG_ERR, &dev->state) && test_bit(SSD_ONLINE, &dev->state)) { + /* alloc log buf */ + if (!dev->log_buf) { + dev->log_buf = kmalloc(dev->hw_info.log_sz, GFP_KERNEL); + if (!dev->log_buf) { + hio_warn("%s: ssd_log_worker: no mem\n", dev->name); + return; + } + } + + /* get log */ + if (test_and_clear_bit(SSD_LOG_HW, &dev->state)) { + for (i=0; ihw_info.nr_ctrl; i++) { + ret = ssd_do_log(dev, i, dev->log_buf); + if (ret) { + (void)test_and_set_bit(SSD_LOG_ERR, &dev->state); + hio_warn("%s: do log fail\n", dev->name); + } + } + } + } + + ret = ssd_do_swlog(dev); + if (ret) { + hio_warn("%s: do swlog fail\n", dev->name); + } +} + +static void ssd_cleanup_log(struct ssd_device *dev) +{ + if (dev->log_buf) { + kfree(dev->log_buf); + dev->log_buf = NULL; + } + + sfifo_free(&dev->log_fifo); + + if (dev->internal_log.log) { + vfree(dev->internal_log.log); + dev->internal_log.nr_log = 0; + dev->internal_log.log = NULL; + } +} + +static int ssd_init_log(struct ssd_device *dev) +{ + struct ssd_log *log; + uint32_t off, size; + uint32_t len = 0; + int ret = 0; + + mutex_init(&dev->internal_log_mutex); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) + INIT_WORK(&dev->log_work, ssd_log_worker, dev); +#else + INIT_WORK(&dev->log_work, ssd_log_worker); +#endif + + off = dev->rom_info.log_base; + size = dev->rom_info.log_sz; + + dev->internal_log.nr_log = 0; + dev->internal_log.log = vmalloc(size); + if (!dev->internal_log.log) { + ret = -ENOMEM; + goto out_alloc_log; + } + + ret = sfifo_alloc(&dev->log_fifo, SSD_LOG_FIFO_SZ, sizeof(struct ssd_log_entry)); + if (ret < 0) { + goto out_alloc_log_fifo; + } + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + log = (struct ssd_log *)dev->internal_log.log; + while (len < size) { + ret = ssd_spi_read(dev, log, off, sizeof(struct ssd_log)); + if (ret) { + goto out_read_log; + } + + if (log->ctrl_idx == 0xff) { + break; + } + + if (log->le.event == SSD_LOG_POWER_ON) { + if (dev->internal_log.nr_log > dev->last_poweron_id) { + dev->last_poweron_id = dev->internal_log.nr_log; + } + } + + dev->internal_log.nr_log++; + log++; + len += sizeof(struct ssd_log); + off += sizeof(struct ssd_log); + } + + return 0; + +out_read_log: + sfifo_free(&dev->log_fifo); +out_alloc_log_fifo: + vfree(dev->internal_log.log); + dev->internal_log.log = NULL; + dev->internal_log.nr_log = 0; +out_alloc_log: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +/* work queue */ +static void ssd_stop_workq(struct ssd_device *dev) +{ + test_and_clear_bit(SSD_INIT_WORKQ, &dev->state); + flush_workqueue(dev->workq); +} + +static void ssd_start_workq(struct ssd_device *dev) +{ + (void)test_and_set_bit(SSD_INIT_WORKQ, &dev->state); + + /* log ? */ + queue_work(dev->workq, &dev->log_work); +} + +static void ssd_cleanup_workq(struct ssd_device *dev) +{ + flush_workqueue(dev->workq); + destroy_workqueue(dev->workq); + dev->workq = NULL; +} + +static int ssd_init_workq(struct ssd_device *dev) +{ + int ret = 0; + + dev->workq = create_singlethread_workqueue(dev->name); + if (!dev->workq) { + ret = -ESRCH; + goto out; + } + +out: + return ret; +} + +/* rom */ +static int ssd_init_rom_info(struct ssd_device *dev) +{ + uint32_t val; + + mutex_init(&dev->spi_mutex); + mutex_init(&dev->i2c_mutex); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + /* fix bug: read data to clear status */ + (void)ssd_reg32_read(dev->ctrlp + SSD_SPI_REG_RDATA); + + dev->rom_info.size = SSD_ROM_SIZE; + dev->rom_info.block_size = SSD_ROM_BLK_SIZE; + dev->rom_info.page_size = SSD_ROM_PAGE_SIZE; + + dev->rom_info.bridge_fw_base = SSD_ROM_BRIDGE_FW_BASE; + dev->rom_info.bridge_fw_sz = SSD_ROM_BRIDGE_FW_SIZE; + dev->rom_info.nr_bridge_fw = SSD_ROM_NR_BRIDGE_FW; + + dev->rom_info.ctrl_fw_base = SSD_ROM_CTRL_FW_BASE; + dev->rom_info.ctrl_fw_sz = SSD_ROM_CTRL_FW_SIZE; + dev->rom_info.nr_ctrl_fw = SSD_ROM_NR_CTRL_FW; + + dev->rom_info.log_sz = SSD_ROM_LOG_SZ; + + dev->rom_info.vp_base = SSD_ROM_VP_BASE; + dev->rom_info.label_base = SSD_ROM_LABEL_BASE; + } else if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_INFO_REG); + dev->rom_info.size = 0x100000 * (1U << (val & 0xFF)); + dev->rom_info.block_size = 0x10000 * (1U << ((val>>8) & 0xFF)); + dev->rom_info.page_size = (val>>16) & 0xFFFF; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_BRIDGE_FW_INFO_REG); + dev->rom_info.bridge_fw_base = dev->rom_info.block_size * (val & 0xFFFF); + dev->rom_info.bridge_fw_sz = dev->rom_info.block_size * ((val>>16) & 0x3FFF); + dev->rom_info.nr_bridge_fw = ((val >> 30) & 0x3) + 1; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_CTRL_FW_INFO_REG); + dev->rom_info.ctrl_fw_base = dev->rom_info.block_size * (val & 0xFFFF); + dev->rom_info.ctrl_fw_sz = dev->rom_info.block_size * ((val>>16) & 0x3FFF); + dev->rom_info.nr_ctrl_fw = ((val >> 30) & 0x3) + 1; + + dev->rom_info.bm_fw_base = dev->rom_info.ctrl_fw_base + (dev->rom_info.nr_ctrl_fw * dev->rom_info.ctrl_fw_sz); + dev->rom_info.bm_fw_sz = SSD_PV3_ROM_BM_FW_SZ; + dev->rom_info.nr_bm_fw = SSD_PV3_ROM_NR_BM_FW; + + dev->rom_info.log_base = dev->rom_info.bm_fw_base + (dev->rom_info.nr_bm_fw * dev->rom_info.bm_fw_sz); + dev->rom_info.log_sz = SSD_ROM_LOG_SZ; + + dev->rom_info.smart_base = dev->rom_info.log_base + dev->rom_info.log_sz; + dev->rom_info.smart_sz = SSD_PV3_ROM_SMART_SZ; + dev->rom_info.nr_smart = SSD_PV3_ROM_NR_SMART; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_VP_INFO_REG); + dev->rom_info.vp_base = dev->rom_info.block_size * val; + dev->rom_info.label_base = dev->rom_info.vp_base + dev->rom_info.block_size; + if (dev->rom_info.label_base >= dev->rom_info.size) { + dev->rom_info.label_base = dev->rom_info.vp_base - dev->rom_info.block_size; + } + } else { + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_INFO_REG); + dev->rom_info.size = 0x100000 * (1U << (val & 0xFF)); + dev->rom_info.block_size = 0x10000 * (1U << ((val>>8) & 0xFF)); + dev->rom_info.page_size = (val>>16) & 0xFFFF; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_BRIDGE_FW_INFO_REG); + dev->rom_info.bridge_fw_base = dev->rom_info.block_size * (val & 0xFFFF); + dev->rom_info.bridge_fw_sz = dev->rom_info.block_size * ((val>>16) & 0x3FFF); + dev->rom_info.nr_bridge_fw = ((val >> 30) & 0x3) + 1; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_CTRL_FW_INFO_REG); + dev->rom_info.ctrl_fw_base = dev->rom_info.block_size * (val & 0xFFFF); + dev->rom_info.ctrl_fw_sz = dev->rom_info.block_size * ((val>>16) & 0x3FFF); + dev->rom_info.nr_ctrl_fw = ((val >> 30) & 0x3) + 1; + + val = ssd_reg32_read(dev->ctrlp + SSD_ROM_VP_INFO_REG); + dev->rom_info.vp_base = dev->rom_info.block_size * val; + dev->rom_info.label_base = dev->rom_info.vp_base - SSD_PV3_2_ROM_SEC_SZ; + + dev->rom_info.nr_smart = SSD_PV3_ROM_NR_SMART; + dev->rom_info.smart_sz = SSD_PV3_2_ROM_SEC_SZ; + dev->rom_info.smart_base = dev->rom_info.label_base - (dev->rom_info.smart_sz * dev->rom_info.nr_smart); + if (dev->rom_info.smart_sz > dev->rom_info.block_size) { + dev->rom_info.smart_sz = dev->rom_info.block_size; + } + + dev->rom_info.log_sz = SSD_PV3_2_ROM_LOG_SZ; + dev->rom_info.log_base = dev->rom_info.smart_base - dev->rom_info.log_sz; + } + + return ssd_init_spi(dev); +} + +/* smart */ +static int ssd_update_smart(struct ssd_device *dev, struct ssd_smart *smart) +{ + uint64_t cur_time, run_time; +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) + struct hd_struct *part; + int cpu; +#endif + int i, j; + int ret = 0; + + if (!test_bit(SSD_INIT_BD, &dev->state)) { + return 0; + } + + cur_time = (uint64_t)ktime_get_real_seconds(); + if (cur_time < dev->uptime) { + run_time = 0; + } else { + run_time = cur_time - dev->uptime; + } + + /* avoid frequently update */ + if (run_time >= 60) { + ret = 1; + } + + /* io stat */ + smart->io_stat.run_time += run_time; + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0)) + cpu = part_stat_lock(); + part = &dev->gd->part0; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)) + part_round_stats(dev->rq, cpu, part); +#else + part_round_stats(cpu, part); +#endif + part_stat_unlock(); +#endif + + smart->io_stat.nr_read += part_stat_read(part, ios[READ]); + smart->io_stat.nr_write += part_stat_read(part, ios[WRITE]); + smart->io_stat.rsectors += part_stat_read(part, sectors[READ]); + smart->io_stat.wsectors += part_stat_read(part, sectors[WRITE]); +#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,14)) + preempt_disable(); + disk_round_stats(dev->gd); + preempt_enable(); + + smart->io_stat.nr_read += disk_stat_read(dev->gd, ios[READ]); + smart->io_stat.nr_write += disk_stat_read(dev->gd, ios[WRITE]); + smart->io_stat.rsectors += disk_stat_read(dev->gd, sectors[READ]); + smart->io_stat.wsectors += disk_stat_read(dev->gd, sectors[WRITE]); +#else + preempt_disable(); + disk_round_stats(dev->gd); + preempt_enable(); + + smart->io_stat.nr_read += disk_stat_read(dev->gd, reads); + smart->io_stat.nr_write += disk_stat_read(dev->gd, writes); + smart->io_stat.rsectors += disk_stat_read(dev->gd, read_sectors); + smart->io_stat.wsectors += disk_stat_read(dev->gd, write_sectors); +#endif + + smart->io_stat.nr_to += atomic_read(&dev->tocnt); + + for (i=0; inr_queue; i++) { + smart->io_stat.nr_rwerr += dev->queue[i].io_stat.nr_rwerr; + smart->io_stat.nr_ioerr += dev->queue[i].io_stat.nr_ioerr; + } + + for (i=0; inr_queue; i++) { + for (j=0; jecc_info.bitflip[j] += dev->queue[i].ecc_info.bitflip[j]; + } + } + + //dev->uptime = tv.tv_sec; + + return ret; +} + +static int __ssd_clear_smart(struct ssd_device *dev) +{ + uint64_t sversion; + uint32_t off, length; + int i; + int ret; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + /* clear smart */ + off = dev->rom_info.smart_base; + length = dev->rom_info.smart_sz * dev->rom_info.nr_smart; + + ret = ssd_spi_erase(dev, off, length); + if (ret) { + hio_warn("%s: info erase: failed\n", dev->name); + goto out; + } + + sversion = dev->smart.version; + + memset(&dev->smart, 0, sizeof(struct ssd_smart)); + dev->smart.version = sversion + 1; + dev->smart.magic = SSD_SMART_MAGIC; + + /* clear all tmp acc */ + for (i=0; inr_queue; i++) { + memset(&(dev->queue[i].io_stat), 0, sizeof(struct ssd_io_stat)); + memset(&(dev->queue[i].ecc_info), 0, sizeof(struct ssd_ecc_info)); + } + + atomic_set(&dev->tocnt, 0); + + /* clear tmp log info */ + memset(&dev->log_info, 0, sizeof(struct ssd_log_info)); + + dev->uptime = (uint64_t)ktime_get_real_seconds(); + + /* clear alarm ? */ + //ssd_clear_alarm(dev); +out: + return ret; +} + +static int __ssd_clear_warning(struct ssd_device *dev) +{ + uint32_t off, size; + int i, ret = 0; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + /* clear log_info warning */ + memset(&dev->smart.log_info, 0, sizeof(dev->smart.log_info)); + + /* clear io_stat warning */ + dev->smart.io_stat.nr_to = 0; + dev->smart.io_stat.nr_rwerr = 0; + dev->smart.io_stat.nr_ioerr = 0; + + /* clear ecc_info warning */ + memset(&dev->smart.ecc_info, 0, sizeof(dev->smart.ecc_info)); + + /* clear queued warnings */ + for (i=0; inr_queue; i++) { + /* queued io_stat warning */ + dev->queue[i].io_stat.nr_to = 0; + dev->queue[i].io_stat.nr_rwerr = 0; + dev->queue[i].io_stat.nr_ioerr = 0; + + /* queued ecc_info warning */ + memset(&(dev->queue[i].ecc_info), 0, sizeof(dev->queue[i].ecc_info)); + } + + /* write smart back to nor */ + for (i = 0; i < dev->rom_info.nr_smart; i++) { + off = dev->rom_info.smart_base + (dev->rom_info.smart_sz * i); + size = dev->rom_info.smart_sz; + + ret = ssd_spi_erase(dev, off, size); + if (ret) { + hio_warn("%s: warning erase: failed with code 1\n", dev->name); + goto out; + } + + size = sizeof(struct ssd_smart); + + ret = ssd_spi_write(dev, &dev->smart, off, size); + if (ret) { + hio_warn("%s: warning erase: failed with code 2\n", dev->name); + goto out; + } + } + + dev->smart.version++; + + /* clear cmd timeout warning */ + atomic_set(&dev->tocnt, 0); + + /* clear tmp log info */ + memset(&dev->log_info, 0, sizeof(dev->log_info)); + +out: + return ret; +} + +static int ssd_clear_smart(struct ssd_device *dev) +{ + int ret; + + ret = __ssd_clear_smart(dev); + if(!ret) { + ssd_gen_swlog(dev, SSD_LOG_CLEAR_SMART, 0); + } + + return ret; +} + +static int ssd_clear_warning(struct ssd_device *dev) +{ + int ret; + + ret = __ssd_clear_warning(dev); + if(!ret) { + ssd_gen_swlog(dev, SSD_LOG_CLEAR_WARNING, 0); + } + + return ret; +} + +static int ssd_save_smart(struct ssd_device *dev) +{ + uint32_t off, size; + int i; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + if (!ssd_update_smart(dev, &dev->smart)) { + return 0; + } + + dev->smart.version++; + + for (i=0; irom_info.nr_smart; i++) { + off = dev->rom_info.smart_base + (dev->rom_info.smart_sz * i); + size = dev->rom_info.smart_sz; + + ret = ssd_spi_erase(dev, off, size); + if (ret) { + hio_warn("%s: info erase failed\n", dev->name); + goto out; + } + + size = sizeof(struct ssd_smart); + + ret = ssd_spi_write(dev, &dev->smart, off, size); + if (ret) { + hio_warn("%s: info write failed\n", dev->name); + goto out; + } + + //xx + } + +out: + return ret; +} + +static int ssd_init_smart(struct ssd_device *dev) +{ + struct ssd_smart *smart; + uint32_t off, size, val; + int i; + int ret = 0; + int update_smart = 0; + + dev->uptime = (uint64_t)ktime_get_real_seconds(); + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + smart = kmalloc(sizeof(struct ssd_smart) * SSD_ROM_NR_SMART_MAX, GFP_KERNEL); + if (!smart) { + ret = -ENOMEM; + goto out_nomem; + } + + memset(&dev->smart, 0, sizeof(struct ssd_smart)); + + /* read smart */ + for (i=0; irom_info.nr_smart; i++) { + memset(&smart[i], 0, sizeof(struct ssd_smart)); + + off = dev->rom_info.smart_base + (dev->rom_info.smart_sz * i); + size = sizeof(struct ssd_smart); + + ret = ssd_spi_read(dev, &smart[i], off, size); + if (ret) { + hio_warn("%s: info read failed\n", dev->name); + goto out; + } + + if (smart[i].magic != SSD_SMART_MAGIC) { + smart[i].magic = 0; + smart[i].version = 0; + continue; + } + + if (smart[i].version > dev->smart.version) { + memcpy(&dev->smart, &smart[i], sizeof(struct ssd_smart)); + } + } + + if (dev->smart.magic != SSD_SMART_MAGIC) { + /* first time power up */ + dev->smart.magic = SSD_SMART_MAGIC; + dev->smart.version = 1; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_INTR_INTERVAL_REG); + if (!val) { + dev->last_poweron_id = ~0; + ssd_gen_swlog(dev, SSD_LOG_POWER_ON, dev->hw_info.bridge_ver); + if (dev->smart.io_stat.nr_to) { + dev->smart.io_stat.nr_to = 0; + update_smart = 1; + } + } + + /* check log info */ + { + struct ssd_log_info log_info; + struct ssd_log *log = (struct ssd_log *)dev->internal_log.log; + + memset(&log_info, 0, sizeof(struct ssd_log_info)); + + while (log_info.nr_log < dev->internal_log.nr_log) { + int skip = 0; + + switch (log->le.event) { + /* skip the volatile log info */ + case SSD_LOG_SEU_FAULT: + case SSD_LOG_SEU_FAULT1: + skip = 1; + break; + case SSD_LOG_TIMEOUT: + skip = (dev->last_poweron_id >= log_info.nr_log); + break; + } + + if (!skip) { + log_info.stat[ssd_parse_log(dev, log, 0)]++; + } + + log_info.nr_log++; + log++; + } + + /* check */ + for (i=(SSD_LOG_NR_LEVEL-1); i>=0; i--) { + if (log_info.stat[i] != dev->smart.log_info.stat[i]) { + /* unclean */ + memcpy(&dev->smart.log_info, &log_info, sizeof(struct ssd_log_info)); + update_smart = 1; + break; + } + } + + if (update_smart) { + ++dev->smart.version; + } + } + + for (i=0; irom_info.nr_smart; i++) { + if (smart[i].magic == SSD_SMART_MAGIC && smart[i].version == dev->smart.version) { + continue; + } + + off = dev->rom_info.smart_base + (dev->rom_info.smart_sz * i); + size = dev->rom_info.smart_sz; + + ret = ssd_spi_erase(dev, off, size); + if (ret) { + hio_warn("%s: info erase failed\n", dev->name); + goto out; + } + + size = sizeof(struct ssd_smart); + ret = ssd_spi_write(dev, &dev->smart, off, size); + if (ret) { + hio_warn("%s: info write failed\n", dev->name); + goto out; + } + + //xx + } + + /* sync smart with alarm led */ + if (dev->smart.io_stat.nr_to || dev->smart.io_stat.nr_rwerr || dev->smart.log_info.stat[SSD_LOG_LEVEL_ERR]) { + hio_warn("%s: some fault found in the history info\n", dev->name); + ssd_set_alarm(dev); + } + +out: + kfree(smart); +out_nomem: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +/* bm */ +static int __ssd_bm_get_version(struct ssd_device *dev, uint16_t *ver) +{ + struct ssd_bm_manufacturer_data bm_md = {0}; + uint16_t sc_id = SSD_BM_SYSTEM_DATA_SUBCLASS_ID; + uint8_t cmd; + int ret = 0; + + if (!dev || !ver) { + return -EINVAL; + } + + mutex_lock(&dev->bm_mutex); + + cmd = SSD_BM_DATA_FLASH_SUBCLASS_ID; + ret = ssd_smbus_write_word(dev, SSD_BM_SLAVE_ADDRESS, cmd, (uint8_t *)&sc_id); + if (ret) { + goto out; + } + + cmd = SSD_BM_DATA_FLASH_SUBCLASS_ID_PAGE1; + ret = ssd_smbus_read_block(dev, SSD_BM_SLAVE_ADDRESS, cmd, sizeof(struct ssd_bm_manufacturer_data), (uint8_t *)&bm_md); + if (ret) { + goto out; + } + + if (bm_md.firmware_ver & 0xF000) { + ret = -EIO; + goto out; + } + + *ver = bm_md.firmware_ver; + +out: + mutex_unlock(&dev->bm_mutex); + return ret; +} + +static int ssd_bm_get_version(struct ssd_device *dev, uint16_t *ver) +{ + uint16_t tmp = 0; + int i = SSD_BM_RETRY_MAX; + int ret = 0; + + while (i-- > 0) { + ret = __ssd_bm_get_version(dev, &tmp); + if (!ret) { + break; + } + } + if (ret) { + return ret; + } + + *ver = tmp; + + return 0; +} + +static int __ssd_bm_nr_cap(struct ssd_device *dev, int *nr_cap) +{ + struct ssd_bm_configuration_registers bm_cr; + uint16_t sc_id = SSD_BM_CONFIGURATION_REGISTERS_ID; + uint8_t cmd; + int ret; + + mutex_lock(&dev->bm_mutex); + + cmd = SSD_BM_DATA_FLASH_SUBCLASS_ID; + ret = ssd_smbus_write_word(dev, SSD_BM_SLAVE_ADDRESS, cmd, (uint8_t *)&sc_id); + if (ret) { + goto out; + } + + cmd = SSD_BM_DATA_FLASH_SUBCLASS_ID_PAGE1; + ret = ssd_smbus_read_block(dev, SSD_BM_SLAVE_ADDRESS, cmd, sizeof(struct ssd_bm_configuration_registers), (uint8_t *)&bm_cr); + if (ret) { + goto out; + } + + if (bm_cr.operation_cfg.cc == 0 || bm_cr.operation_cfg.cc > 4) { + ret = -EIO; + goto out; + } + + *nr_cap = bm_cr.operation_cfg.cc + 1; + +out: + mutex_unlock(&dev->bm_mutex); + return ret; +} + +static int ssd_bm_nr_cap(struct ssd_device *dev, int *nr_cap) +{ + int tmp = 0; + int i = SSD_BM_RETRY_MAX; + int ret = 0; + + while (i-- > 0) { + ret = __ssd_bm_nr_cap(dev, &tmp); + if (!ret) { + break; + } + } + if (ret) { + return ret; + } + + *nr_cap = tmp; + + return 0; +} + +static int ssd_bm_enter_cap_learning(struct ssd_device *dev) +{ + uint16_t buf = SSD_BM_ENTER_CAP_LEARNING; + uint8_t cmd = SSD_BM_MANUFACTURERACCESS; + int ret; + + ret = ssd_smbus_write_word(dev, SSD_BM_SLAVE_ADDRESS, cmd, (uint8_t *)&buf); + if (ret) { + goto out; + } + +out: + return ret; +} + +static int ssd_bm_get_sfstatus(struct ssd_device *dev, uint16_t *status) +{ + uint16_t val = 0; + uint8_t cmd = SSD_BM_SAFETYSTATUS; + int ret; + + ret = ssd_smbus_read_word(dev, SSD_BM_SLAVE_ADDRESS, cmd, (uint8_t *)&val); + if (ret) { + goto out; + } + + *status = val; +out: + return ret; +} + +static int ssd_bm_get_opstatus(struct ssd_device *dev, uint16_t *status) +{ + uint16_t val = 0; + uint8_t cmd = SSD_BM_OPERATIONSTATUS; + int ret; + + ret = ssd_smbus_read_word(dev, SSD_BM_SLAVE_ADDRESS, cmd, (uint8_t *)&val); + if (ret) { + goto out; + } + + *status = val; +out: + return ret; +} + +static int ssd_get_bmstruct(struct ssd_device *dev, struct ssd_bm *bm_status_out) +{ + struct sbs_cmd *bm_sbs = ssd_bm_sbs; + struct ssd_bm bm_status; + uint8_t buf[2] = {0, }; + uint16_t val = 0; + uint16_t cval; + int ret = 0; + + memset(&bm_status, 0, sizeof(struct ssd_bm)); + + while (bm_sbs->desc != NULL) { + switch (bm_sbs->size) { + case SBS_SIZE_BYTE: + ret = ssd_smbus_read_byte(dev, SSD_BM_SLAVE_ADDRESS, bm_sbs->cmd, buf); + if (ret) { + //printf("Error: smbus read byte %#x\n", bm_sbs->cmd); + goto out; + } + val = buf[0]; + break; + case SBS_SIZE_WORD: + ret = ssd_smbus_read_word(dev, SSD_BM_SLAVE_ADDRESS, bm_sbs->cmd, (uint8_t *)&val); + if (ret) { + //printf("Error: smbus read word %#x\n", bm_sbs->cmd); + goto out; + } + //val = *(uint16_t *)buf; + break; + default: + ret = -1; + goto out; + break; + } + + switch (bm_sbs->unit) { + case SBS_UNIT_VALUE: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val & bm_sbs->mask; + break; + case SBS_UNIT_TEMPERATURE: + cval = (uint16_t)(val - 2731) / 10; + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = cval; + break; + case SBS_UNIT_VOLTAGE: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val; + break; + case SBS_UNIT_CURRENT: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val; + break; + case SBS_UNIT_ESR: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val; + break; + case SBS_UNIT_PERCENT: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val; + break; + case SBS_UNIT_CAPACITANCE: + *(uint16_t *)bm_var(&bm_status, bm_sbs->off) = val; + break; + default: + ret = -1; + goto out; + break; + } + + bm_sbs++; + } + + memcpy(bm_status_out, &bm_status, sizeof(struct ssd_bm)); + +out: + return ret; +} + +static int __ssd_bm_status(struct ssd_device *dev, int *status) +{ + struct ssd_bm bm_status = {0}; + int nr_cap = 0; + int i; + int ret = 0; + + ret = ssd_get_bmstruct(dev, &bm_status); + if (ret) { + goto out; + } + + /* capacitor voltage */ + ret = ssd_bm_nr_cap(dev, &nr_cap); + if (ret) { + goto out; + } + + for (i=0; i> 12) & 0x1)) { + *status = SSD_BMSTATUS_CHARGING; + }else{ + *status = SSD_BMSTATUS_OK; + } + +out: + return ret; +} + +static void ssd_set_flush_timeout(struct ssd_device *dev, int mode); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static void ssd_bm_worker(void *data) +{ + struct ssd_device *dev = (struct ssd_device *)data; +#else +static void ssd_bm_worker(struct work_struct *work) +{ + struct ssd_device *dev = container_of(work, struct ssd_device, bm_work); +#endif + + uint16_t opstatus; + int ret = 0; + + if (mode != SSD_DRV_MODE_STANDARD) { + return; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_1) { + return; + } + + if (dev->hw_info_ext.plp_type != SSD_PLP_SCAP) { + return; + } + + ret = ssd_bm_get_opstatus(dev, &opstatus); + if (ret) { + hio_warn("%s: get bm operationstatus failed\n", dev->name); + return; + } + + /* need cap learning ? */ + if (!(opstatus & 0xF0)) { + ret = ssd_bm_enter_cap_learning(dev); + if (ret) { + hio_warn("%s: enter capacitance learning failed\n", dev->name); + return; + } + } +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) +static void ssd_bm_routine_start(void *data) +#else +static void ssd_bm_routine_start(struct timer_list *t) +#endif +{ + struct ssd_device *dev; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) + if (!data) { + return; + } + dev = data; +#else + dev = from_timer(dev, t, bm_timer); +#endif + + if (test_bit(SSD_INIT_WORKQ, &dev->state)) { + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + queue_work(dev->workq, &dev->bm_work); + } else { + queue_work(dev->workq, &dev->capmon_work); + } + } +} + +/* CAP */ +static int ssd_do_cap_learn(struct ssd_device *dev, uint32_t *cap) +{ + uint32_t u1, u2, t; + uint16_t val = 0; + int wait = 0; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + *cap = 0; + return 0; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + *cap = 0; + return 0; + } + + /* make sure the lm80 voltage value is updated */ + msleep(SSD_LM80_CONV_INTERVAL); + + /* check if full charged */ + wait = 0; + for (;;) { + ret = ssd_smbus_read_word(dev, SSD_SENSOR_LM80_SADDRESS, SSD_PL_CAP_U1, (uint8_t *)&val); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + u1 = SSD_LM80_CONVERT_VOLT(u16_swap(val)); + if (SSD_PL_CAP_VOLT(u1) >= SSD_PL_CAP_VOLT_FULL) { + break; + } + + wait++; + if (wait > SSD_PL_CAP_CHARGE_MAX_WAIT) { + ret = -ETIMEDOUT; + goto out; + } + msleep(SSD_PL_CAP_CHARGE_WAIT); + } + + ret = ssd_smbus_read_word(dev, SSD_SENSOR_LM80_SADDRESS, SSD_PL_CAP_U2, (uint8_t *)&val); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + u2 = SSD_LM80_CONVERT_VOLT(u16_swap(val)); + + if (u1 == u2) { + ret = -EINVAL; + goto out; + } + + /* enter cap learn */ + ssd_reg32_write(dev->ctrlp + SSD_PL_CAP_LEARN_REG, 0x1); + + wait = 0; + for (;;) { + msleep(SSD_PL_CAP_LEARN_WAIT); + + t = ssd_reg32_read(dev->ctrlp + SSD_PL_CAP_LEARN_REG); + if (!((t >> 1) & 0x1)) { + break; + } + + wait++; + if (wait > SSD_PL_CAP_LEARN_MAX_WAIT) { + ret = -ETIMEDOUT; + goto out; + } + } + + if ((t >> 4) & 0x1) { + ret = -ETIMEDOUT; + goto out; + } + + t = (t >> 8); + if (0 == t) { + ret = -EINVAL; + goto out; + } + + *cap = SSD_PL_CAP_LEARN(u1, u2, t); + +out: + return ret; +} + +static int ssd_cap_learn(struct ssd_device *dev, uint32_t *cap) +{ + int ret = 0; + + if (!dev || !cap) { + return -EINVAL; + } + + mutex_lock(&dev->bm_mutex); + + ssd_stop_workq(dev); + + ret = ssd_do_cap_learn(dev, cap); + if (ret) { + ssd_gen_swlog(dev, SSD_LOG_CAP_LEARN_FAULT, 0); + goto out; + } + + ssd_gen_swlog(dev, SSD_LOG_CAP_STATUS, *cap); + +out: + ssd_start_workq(dev); + mutex_unlock(&dev->bm_mutex); + + return ret; +} + +static int ssd_check_pl_cap(struct ssd_device *dev) +{ + uint32_t u1; + uint16_t val = 0; + uint8_t low = 0; + int wait = 0; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + return 0; + } + + /* cap ready ? */ + wait = 0; + for (;;) { + ret = ssd_smbus_read_word(dev, SSD_SENSOR_LM80_SADDRESS, SSD_PL_CAP_U1, (uint8_t *)&val); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + u1 = SSD_LM80_CONVERT_VOLT(u16_swap(val)); + if (SSD_PL_CAP_VOLT(u1) >= SSD_PL_CAP_VOLT_READY) { + break; + } + + wait++; + if (wait > SSD_PL_CAP_CHARGE_MAX_WAIT) { + ret = -ETIMEDOUT; + ssd_gen_swlog(dev, SSD_LOG_CAP_VOLT_FAULT, SSD_PL_CAP_VOLT(u1)); + goto out; + } + msleep(SSD_PL_CAP_CHARGE_WAIT); + } + + low = ssd_lm80_limit[SSD_LM80_IN_CAP].low; + ret = ssd_smbus_write_byte(dev, SSD_SENSOR_LM80_SADDRESS, SSD_LM80_REG_IN_MIN(SSD_LM80_IN_CAP), &low); + if (ret) { + goto out; + } + + /* enable cap INx */ + ret = ssd_lm80_enable_in(dev, SSD_SENSOR_LM80_SADDRESS, SSD_LM80_IN_CAP); + if (ret) { + if (!test_and_set_bit(SSD_HWMON_SENSOR(SSD_SENSOR_LM80), &dev->hwmon)) { + ssd_generate_sensor_fault_log(dev, SSD_LOG_SENSOR_FAULT, SSD_SENSOR_LM80_SADDRESS,ret); + } + goto out; + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +static int ssd_check_pl_cap_fast(struct ssd_device *dev) +{ + uint32_t u1; + uint16_t val = 0; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + return 0; + } + + /* cap ready ? */ + ret = ssd_smbus_read_word(dev, SSD_SENSOR_LM80_SADDRESS, SSD_PL_CAP_U1, (uint8_t *)&val); + if (ret) { + goto out; + } + u1 = SSD_LM80_CONVERT_VOLT(u16_swap(val)); + if (SSD_PL_CAP_VOLT(u1) < SSD_PL_CAP_VOLT_READY) { + ret = 1; + } + +out: + return ret; +} + +static int ssd_init_pl_cap(struct ssd_device *dev) +{ + int ret = 0; + + /* set here: user write mode */ + dev->user_wmode = wmode; + + mutex_init(&dev->bm_mutex); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + uint32_t val; + val = ssd_reg32_read(dev->ctrlp + SSD_BM_FAULT_REG); + if ((val >> 1) & 0x1) { + (void)test_and_set_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon); + } + } else { + ret = ssd_check_pl_cap(dev); + if (ret) { + (void)test_and_set_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon); + } + } + + return 0; +} + +/* label */ +static void __end_str(char *str, int len) +{ + int i; + + for(i=0; irom_info.label_base; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + size = sizeof(struct ssd_label); + + /* read label */ + ret = ssd_spi_read(dev, &dev->label, off, size); + if (ret) { + memset(&dev->label, 0, size); + goto out; + } + + __end_str(dev->label.date, SSD_LABEL_FIELD_SZ); + __end_str(dev->label.sn, SSD_LABEL_FIELD_SZ); + __end_str(dev->label.part, SSD_LABEL_FIELD_SZ); + __end_str(dev->label.desc, SSD_LABEL_FIELD_SZ); + __end_str(dev->label.other, SSD_LABEL_FIELD_SZ); + __end_str(dev->label.maf, SSD_LABEL_FIELD_SZ); + } else { + size = sizeof(struct ssd_labelv3); + + /* read label */ + ret = ssd_spi_read(dev, &dev->labelv3, off, size); + if (ret) { + memset(&dev->labelv3, 0, size); + goto out; + } + + __end_str(dev->labelv3.boardtype, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.barcode, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.item, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.description, SSD_LABEL_DESC_SZ); + __end_str(dev->labelv3.manufactured, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.vendorname, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.issuenumber, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.cleicode, SSD_LABEL_FIELD_SZ); + __end_str(dev->labelv3.bom, SSD_LABEL_FIELD_SZ); + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +int ssd_get_label(struct block_device *bdev, struct ssd_label *label) +{ + struct ssd_device *dev; + + if (!bdev || !label || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + memset(label, 0, sizeof(struct ssd_label)); + memcpy(label->date, dev->labelv3.manufactured, SSD_LABEL_FIELD_SZ); + memcpy(label->sn, dev->labelv3.barcode, SSD_LABEL_FIELD_SZ); + memcpy(label->desc, dev->labelv3.boardtype, SSD_LABEL_FIELD_SZ); + memcpy(label->maf, dev->labelv3.vendorname, SSD_LABEL_FIELD_SZ); + } else { + memcpy(label, &dev->label, sizeof(struct ssd_label)); + } + + return 0; +} + +static int __ssd_get_version(struct ssd_device *dev, struct ssd_version_info *ver) +{ + uint16_t bm_ver = 0; + int ret = 0; + + if (dev->protocol_info.ver > SSD_PROTOCOL_V3 && dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + ret = ssd_bm_get_version(dev, &bm_ver); + if(ret){ + goto out; + } + } + + ver->bridge_ver = dev->hw_info.bridge_ver; + ver->ctrl_ver = dev->hw_info.ctrl_ver; + ver->bm_ver = bm_ver; + ver->pcb_ver = dev->hw_info.pcb_ver; + ver->upper_pcb_ver = dev->hw_info.upper_pcb_ver; + +out: + return ret; + +} + +int ssd_get_version(struct block_device *bdev, struct ssd_version_info *ver) +{ + struct ssd_device *dev; + int ret; + + if (!bdev || !ver || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + mutex_lock(&dev->fw_mutex); + ret = __ssd_get_version(dev, ver); + mutex_unlock(&dev->fw_mutex); + + return ret; +} + +static int __ssd_get_temperature(struct ssd_device *dev, int *temp) +{ + uint64_t val; + uint32_t off; + int max = -300; + int cur; + int i; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + *temp = 0; + return 0; + } + + if (finject) { + if (dev->db_info.type == SSD_DEBUG_LOG && + (dev->db_info.data.log.event == SSD_LOG_OVER_TEMP || + dev->db_info.data.log.event == SSD_LOG_NORMAL_TEMP || + dev->db_info.data.log.event == SSD_LOG_WARN_TEMP)) { + *temp = (int)dev->db_info.data.log.extra; + return 0; + } + } + + for (i=0; ihw_info.nr_ctrl; i++) { + off = SSD_CTRL_TEMP_REG0 + i * sizeof(uint64_t); + + val = ssd_reg_read(dev->ctrlp + off); + if (val == 0xffffffffffffffffull) { + continue; + } + + cur = (int)CUR_TEMP(val); + if (cur >= max) { + max = cur; + } + } + + *temp = max; + + return 0; +} + +int ssd_get_temperature(struct block_device *bdev, int *temp) +{ + struct ssd_device *dev; + int ret; + + if (!bdev || !temp || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + + mutex_lock(&dev->fw_mutex); + ret = __ssd_get_temperature(dev, temp); + mutex_unlock(&dev->fw_mutex); + + return ret; +} + +int ssd_set_otprotect(struct block_device *bdev, int otprotect) + { + struct ssd_device *dev; + + if (!bdev || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + ssd_set_ot_protect(dev, !!otprotect); + + return 0; + } + +int ssd_bm_status(struct block_device *bdev, int *status) +{ + struct ssd_device *dev; + int ret = 0; + + if (!bdev || !status || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + mutex_lock(&dev->fw_mutex); + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + *status = SSD_BMSTATUS_WARNING; + } else { + *status = SSD_BMSTATUS_OK; + } + } else if(dev->protocol_info.ver > SSD_PROTOCOL_V3) { + ret = __ssd_bm_status(dev, status); + } else { + *status = SSD_BMSTATUS_OK; + } + mutex_unlock(&dev->fw_mutex); + + return ret; +} + +int ssd_get_pciaddr(struct block_device *bdev, struct pci_addr *paddr) +{ + struct ssd_device *dev; + + if (!bdev || !paddr || !bdev->bd_disk) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + paddr->domain = pci_domain_nr(dev->pdev->bus); + paddr->bus = dev->pdev->bus->number; + paddr->slot = PCI_SLOT(dev->pdev->devfn); + paddr->func= PCI_FUNC(dev->pdev->devfn); + + return 0; +} + +/* acc */ +static int ssd_bb_acc(struct ssd_device *dev, struct ssd_acc_info *acc) +{ + uint32_t val; + int ctrl, chip; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_1) { + return -EOPNOTSUPP; + } + + acc->threshold_l1 = ssd_reg32_read(dev->ctrlp + SSD_BB_THRESHOLD_L1_REG); + if (0xffffffffull == acc->threshold_l1) { + return -EIO; + } + acc->threshold_l2 = ssd_reg32_read(dev->ctrlp + SSD_BB_THRESHOLD_L2_REG); + if (0xffffffffull == acc->threshold_l2) { + return -EIO; + } + acc->val = 0; + + for (ctrl=0; ctrlhw_info.nr_ctrl; ctrl++) { + for (chip=0; chiphw_info.nr_chip; chip++) { + val = ssd_reg32_read(dev->ctrlp + SSD_BB_ACC_REG0 + (SSD_CTRL_REG_ZONE_SZ * ctrl) + (SSD_BB_ACC_REG_SZ * chip)); + if (0xffffffffull == acc->val) { + return -EIO; + } + if (val > acc->val) { + acc->val = val; + } + } + } + + return 0; +} + +static int ssd_ec_acc(struct ssd_device *dev, struct ssd_acc_info *acc) +{ + uint32_t val; + int ctrl, chip; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_1) { + return -EOPNOTSUPP; + } + + acc->threshold_l1 = ssd_reg32_read(dev->ctrlp + SSD_EC_THRESHOLD_L1_REG); + if (0xffffffffull == acc->threshold_l1) { + return -EIO; + } + acc->threshold_l2 = ssd_reg32_read(dev->ctrlp + SSD_EC_THRESHOLD_L2_REG); + if (0xffffffffull == acc->threshold_l2) { + return -EIO; + } + acc->val = 0; + + for (ctrl=0; ctrlhw_info.nr_ctrl; ctrl++) { + for (chip=0; chiphw_info.nr_chip; chip++) { + val = ssd_reg32_read(dev->ctrlp + SSD_EC_ACC_REG0 + (SSD_CTRL_REG_ZONE_SZ * ctrl) + (SSD_EC_ACC_REG_SZ * chip)); + if (0xffffffffull == acc->val) { + return -EIO; + } + + if (val > acc->val) { + acc->val = val; + } + } + } + + return 0; +} + + +/* ram r&w */ +static int ssd_ram_read_4k(struct ssd_device *dev, void *buf, size_t length, loff_t ofs, int ctrl_idx) +{ + struct ssd_ram_op_msg *msg; + dma_addr_t buf_dma; + size_t len = length; + loff_t ofs_w = ofs; + int ret = 0; + + if (ctrl_idx >= dev->hw_info.nr_ctrl || (uint64_t)(ofs + length) > dev->hw_info.ram_size + || !length || length > dev->hw_info.ram_max_len + || (length & (dev->hw_info.ram_align - 1)) != 0 || ((uint64_t)ofs & (dev->hw_info.ram_align - 1)) != 0) { + return -EINVAL; + } + + len /= dev->hw_info.ram_align; + do_div(ofs_w, dev->hw_info.ram_align); + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map read DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + msg = (struct ssd_ram_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_RAM_READ; + msg->ctrl_idx = ctrl_idx; + msg->start = (uint32_t)ofs_w; + msg->length = len; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, READ, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_FROMDEVICE); + +out_dma_mapping: + return ret; +} + +static int ssd_ram_write_4k(struct ssd_device *dev, void *buf, size_t length, loff_t ofs, int ctrl_idx) +{ + struct ssd_ram_op_msg *msg; + dma_addr_t buf_dma; + size_t len = length; + loff_t ofs_w = ofs; + int ret = 0; + + if (ctrl_idx >= dev->hw_info.nr_ctrl || (uint64_t)(ofs + length) > dev->hw_info.ram_size + || !length || length > dev->hw_info.ram_max_len + || (length & (dev->hw_info.ram_align - 1)) != 0 || ((uint64_t)ofs & (dev->hw_info.ram_align - 1)) != 0) { + return -EINVAL; + } + + len /= dev->hw_info.ram_align; + do_div(ofs_w, dev->hw_info.ram_align); + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_TODEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map write DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + msg = (struct ssd_ram_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_RAM_WRITE; + msg->ctrl_idx = ctrl_idx; + msg->start = (uint32_t)ofs_w; + msg->length = len; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_TODEVICE); + +out_dma_mapping: + return ret; + +} + +static int ssd_ram_read(struct ssd_device *dev, void *buf, size_t length, loff_t ofs, int ctrl_idx) +{ + int left = length; + size_t len; + loff_t off = ofs; + int ret = 0; + + if (ctrl_idx >= dev->hw_info.nr_ctrl || (uint64_t)(ofs + length) > dev->hw_info.ram_size || !length + || (length & (dev->hw_info.ram_align - 1)) != 0 || ((uint64_t)ofs & (dev->hw_info.ram_align - 1)) != 0) { + return -EINVAL; + } + + while (left > 0) { + len = dev->hw_info.ram_max_len; + if (left < (int)dev->hw_info.ram_max_len) { + len = left; + } + + ret = ssd_ram_read_4k(dev, buf, len, off, ctrl_idx); + if (ret) { + break; + } + + left -= len; + off += len; + buf += len; + } + + return ret; +} + +static int ssd_ram_write(struct ssd_device *dev, void *buf, size_t length, loff_t ofs, int ctrl_idx) +{ + int left = length; + size_t len; + loff_t off = ofs; + int ret = 0; + + if (ctrl_idx >= dev->hw_info.nr_ctrl || (uint64_t)(ofs + length) > dev->hw_info.ram_size || !length + || (length & (dev->hw_info.ram_align - 1)) != 0 || ((uint64_t)ofs & (dev->hw_info.ram_align - 1)) != 0) { + return -EINVAL; + } + + while (left > 0) { + len = dev->hw_info.ram_max_len; + if (left < (int)dev->hw_info.ram_max_len) { + len = left; + } + + ret = ssd_ram_write_4k(dev, buf, len, off, ctrl_idx); + if (ret) { + break; + } + + left -= len; + off += len; + buf += len; + } + + return ret; +} + + +/* flash op */ +static int ssd_check_flash(struct ssd_device *dev, int flash, int page, int ctrl_idx) +{ + int cur_ch = flash % dev->hw_info.max_ch; + int cur_chip = flash /dev->hw_info.max_ch; + + if (ctrl_idx >= dev->hw_info.nr_ctrl) { + return -EINVAL; + } + + if (cur_ch >= dev->hw_info.nr_ch || cur_chip >= dev->hw_info.nr_chip) { + return -EINVAL; + } + + if (page >= (int)(dev->hw_info.block_count * dev->hw_info.page_count)) { + return -EINVAL; + } + return 0; +} + +static int ssd_nand_read_id(struct ssd_device *dev, void *id, int flash, int chip, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + dma_addr_t buf_dma; + int ret = 0; + + if (unlikely(!id)) + return -EINVAL; + + buf_dma = pci_map_single(dev->pdev, id, SSD_NAND_ID_BUFF_SZ, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map read DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + flash = ((uint32_t)flash << 1) | (uint32_t)chip; + chip = 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_NAND_READ_ID; + msg->chip_no = flash; + msg->chip_ce = chip; + msg->ctrl_idx = ctrl_idx; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, READ, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, SSD_NAND_ID_BUFF_SZ, PCI_DMA_FROMDEVICE); + +out_dma_mapping: + return ret; +} + +#if 0 +static int ssd_nand_read(struct ssd_device *dev, void *buf, + int flash, int chip, int page, int page_count, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + dma_addr_t buf_dma; + int length; + int ret = 0; + + if (!buf) { + return -EINVAL; + } + + if ((page + page_count) > dev->hw_info.block_count*dev->hw_info.page_count) { + return -EINVAL; + } + + ret = ssd_check_flash(dev, flash, page, ctrl_idx); + if (ret) { + return ret; + } + + length = page_count * dev->hw_info.page_size; + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map read DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + flash = (flash << 1) | chip; + chip = 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_NAND_READ; + msg->ctrl_idx = ctrl_idx; + msg->chip_no = flash; + msg->chip_ce = chip; + msg->page_no = page; + msg->page_count = page_count; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, READ, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_FROMDEVICE); + +out_dma_mapping: + return ret; +} +#endif + +static int ssd_nand_read_w_oob(struct ssd_device *dev, void *buf, + int flash, int chip, int page, int count, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + dma_addr_t buf_dma; + int length; + int ret = 0; + + if (!buf) { + return -EINVAL; + } + + if ((page + count) > (int)(dev->hw_info.block_count * dev->hw_info.page_count)) { + return -EINVAL; + } + + ret = ssd_check_flash(dev, flash, page, ctrl_idx); + if (ret) { + return ret; + } + + length = count * (dev->hw_info.page_size + dev->hw_info.oob_size); + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map read DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + flash = ((uint32_t)flash << 1) | (uint32_t)chip; + chip = 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_NAND_READ_WOOB; + msg->ctrl_idx = ctrl_idx; + msg->chip_no = flash; + msg->chip_ce = chip; + msg->page_no = page; + msg->page_count = count; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, READ, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_FROMDEVICE); + +out_dma_mapping: + return ret; +} + +/* write 1 page */ +static int ssd_nand_write(struct ssd_device *dev, void *buf, + int flash, int chip, int page, int count, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + dma_addr_t buf_dma; + int length; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + return -EINVAL; + } + + if (!buf) { + return -EINVAL; + } + + if (count != 1) { + return -EINVAL; + } + + ret = ssd_check_flash(dev, flash, page, ctrl_idx); + if (ret) { + return ret; + } + + length = count * (dev->hw_info.page_size + dev->hw_info.oob_size); + + /* write data to ram */ + /*ret = ssd_ram_write(dev, buf, length, dev->hw_info.nand_wbuff_base, ctrl_idx); + if (ret) { + return ret; + }*/ + + buf_dma = pci_map_single(dev->pdev, buf, length, PCI_DMA_TODEVICE); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + ret = dma_mapping_error(buf_dma); +#else + ret = dma_mapping_error(&(dev->pdev->dev), buf_dma); +#endif + if (ret) { + hio_warn("%s: unable to map write DMA buffer\n", dev->name); + goto out_dma_mapping; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + flash = ((uint32_t)flash << 1) | (uint32_t)chip; + chip = 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_NAND_WRITE; + msg->ctrl_idx = ctrl_idx; + msg->chip_no = flash; + msg->chip_ce = chip; + + msg->page_no = page; + msg->page_count = count; + msg->buf = buf_dma; + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + pci_unmap_single(dev->pdev, buf_dma, length, PCI_DMA_TODEVICE); + +out_dma_mapping: + return ret; +} + +static int ssd_nand_erase(struct ssd_device *dev, int flash, int chip, int page, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + int ret = 0; + + ret = ssd_check_flash(dev, flash, page, ctrl_idx); + if (ret) { + return ret; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + flash = ((uint32_t)flash << 1) | (uint32_t)chip; + chip = 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_NAND_ERASE; + msg->ctrl_idx = ctrl_idx; + msg->chip_no = flash; + msg->chip_ce = chip; + msg->page_no = page; + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +static int ssd_update_bbt(struct ssd_device *dev, int flash, int ctrl_idx) +{ + struct ssd_nand_op_msg *msg; + struct ssd_flush_msg *fmsg; + int ret = 0; + + ret = ssd_check_flash(dev, flash, 0, ctrl_idx); + if (ret) { + return ret; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + fmsg = (struct ssd_flush_msg *)msg; + + fmsg->fun = SSD_FUNC_FLUSH; + fmsg->flag = 0x1; + fmsg->flash = flash; + fmsg->ctrl_idx = ctrl_idx; + } else { + msg->fun = SSD_FUNC_FLUSH; + msg->flag = 0x1; + msg->chip_no = flash; + msg->ctrl_idx = ctrl_idx; + } + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +/* flash controller init state */ +static int __ssd_check_init_state(struct ssd_device *dev) +{ + uint32_t *init_state = NULL; + int reg_base, reg_sz; + int max_wait = SSD_INIT_MAX_WAIT; + int init_wait = 0; + int i, j, k; + int ch_start = 0; + +/* + for (i=0; ihw_info.nr_ctrl; i++) { + ssd_reg32_write(dev->ctrlp + SSD_CTRL_TEST_REG0 + i * 8, test_data); + read_data = ssd_reg32_read(dev->ctrlp + SSD_CTRL_TEST_REG0 + i * 8); + if (read_data == ~test_data) { + //dev->hw_info.nr_ctrl++; + dev->hw_info.nr_ctrl_map |= 1<ctrlp + SSD_READY_REG); + j=0; + for (i=0; ihw_info.nr_ctrl; i++) { + if (((read_data>>i) & 0x1) == 0) { + j++; + } + } + + if (dev->hw_info.nr_ctrl != j) { + printk(KERN_WARNING "%s: nr_ctrl mismatch: %d %d\n", dev->name, dev->hw_info.nr_ctrl, j); + return -1; + } +*/ + +/* + init_state = ssd_reg_read(dev->ctrlp + SSD_FLASH_INFO_REG0); + for (j=1; jhw_info.nr_ctrl;j++) { + if (init_state != ssd_reg_read(dev->ctrlp + SSD_FLASH_INFO_REG0 + j*8)) { + printk(KERN_WARNING "SSD_FLASH_INFO_REG[%d], not match\n", j); + return -1; + } + } +*/ + +/* init_state = ssd_reg_read(dev->ctrlp + SSD_CHIP_INFO_REG0); + for (j=1; jhw_info.nr_ctrl; j++) { + if (init_state != ssd_reg_read(dev->ctrlp + SSD_CHIP_INFO_REG0 + j*16)) { + printk(KERN_WARNING "SSD_CHIP_INFO_REG Lo [%d], not match\n", j); + return -1; + } + } + + init_state = ssd_reg_read(dev->ctrlp + SSD_CHIP_INFO_REG0 + 8); + for (j=1; jhw_info.nr_ctrl; j++) { + if (init_state != ssd_reg_read(dev->ctrlp + SSD_CHIP_INFO_REG0 + 8 + j*16)) { + printk(KERN_WARNING "SSD_CHIP_INFO_REG Hi [%d], not match\n", j); + return -1; + } + } +*/ + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + max_wait = SSD_INIT_MAX_WAIT_V3_2; + } + + reg_base = dev->protocol_info.init_state_reg; + reg_sz = dev->protocol_info.init_state_reg_sz; + + init_state = (uint32_t *)kmalloc(reg_sz, GFP_KERNEL); + if (!init_state) { + return -ENOMEM; + } + + for (i=0; ihw_info.nr_ctrl; i++) { +check_init: + for (j=0, k=0; jctrlp + reg_base + j); + } + + if (dev->protocol_info.ver > SSD_PROTOCOL_V3) { + /* just check the last bit, no need to check all channel */ + ch_start = dev->hw_info.max_ch - 1; + } else { + ch_start = 0; + } + + for (j=0; jhw_info.nr_chip; j++) { + for (k=ch_start; khw_info.max_ch; k++) { + if (test_bit((j*dev->hw_info.max_ch + k), (void *)init_state)) { + continue; + } + + init_wait++; + if (init_wait <= max_wait) { + msleep(SSD_INIT_WAIT); + goto check_init; + } else { + if (k < dev->hw_info.nr_ch) { + hio_warn("%s: controller %d chip %d ch %d init failed\n", + dev->name, i, j, k); + } else { + hio_warn("%s: controller %d chip %d init failed\n", + dev->name, i, j); + } + + kfree(init_state); + return -1; + } + } + } + reg_base += reg_sz; + } + //printk(KERN_WARNING "%s: init wait %d\n", dev->name, init_wait); + + kfree(init_state); + return 0; +} + +static int ssd_check_init_state(struct ssd_device *dev) +{ + if (mode != SSD_DRV_MODE_STANDARD) { + return 0; + } + + return __ssd_check_init_state(dev); +} + +static void ssd_reset_resp_ptr(struct ssd_device *dev); + +/* reset flash controller etc */ +static int __ssd_reset(struct ssd_device *dev, int type) +{ + if (type < SSD_RST_NOINIT || type > SSD_RST_FULL) { + return -EINVAL; + } + + mutex_lock(&dev->fw_mutex); + + if (type == SSD_RST_NOINIT) { //no init + ssd_reg32_write(dev->ctrlp + SSD_RESET_REG, SSD_RESET_NOINIT); + } else if (type == SSD_RST_NORMAL) { //reset & init + ssd_reg32_write(dev->ctrlp + SSD_RESET_REG, SSD_RESET); + } else { // full reset + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + mutex_unlock(&dev->fw_mutex); + return -EINVAL; + } + + ssd_reg32_write(dev->ctrlp + SSD_FULL_RESET_REG, SSD_RESET_FULL); + + /* ?? */ + ssd_reset_resp_ptr(dev); + } + +#ifdef SSD_OT_PROTECT + dev->ot_delay = 0; +#endif + + msleep(1000); + + /* xx */ + ssd_set_flush_timeout(dev, dev->wmode); + + mutex_unlock(&dev->fw_mutex); + ssd_gen_swlog(dev, SSD_LOG_RESET, (uint32_t)type); + dev->reset_time = (uint64_t)ktime_get_real_seconds(); + + return __ssd_check_init_state(dev); +} + +static int ssd_save_md(struct ssd_device *dev) +{ + struct ssd_nand_op_msg *msg; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + if (!dev->save_md) { + return 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_FLUSH; + msg->flag = 0x2; + msg->ctrl_idx = 0; + msg->chip_no = 0; + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +static int ssd_barrier_save_md(struct ssd_device *dev) +{ + struct ssd_nand_op_msg *msg; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return 0; + } + + if (!dev->save_md) { + return 0; + } + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + msg->fun = SSD_FUNC_FLUSH; + msg->flag = 0x2; + msg->ctrl_idx = 0; + msg->chip_no = 0; + + ret = ssd_do_barrier_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +static int ssd_flush(struct ssd_device *dev) +{ + struct ssd_nand_op_msg *msg; + struct ssd_flush_msg *fmsg; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + fmsg = (struct ssd_flush_msg *)msg; + + fmsg->fun = SSD_FUNC_FLUSH; + fmsg->flag = 0; + fmsg->ctrl_idx = 0; + fmsg->flash = 0; + } else { + msg->fun = SSD_FUNC_FLUSH; + msg->flag = 0; + msg->ctrl_idx = 0; + msg->chip_no = 0; + } + + ret = ssd_do_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +static int ssd_barrier_flush(struct ssd_device *dev) +{ + struct ssd_nand_op_msg *msg; + struct ssd_flush_msg *fmsg; + int ret = 0; + + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + + msg = (struct ssd_nand_op_msg *)ssd_get_dmsg(dev); + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + fmsg = (struct ssd_flush_msg *)msg; + + fmsg->fun = SSD_FUNC_FLUSH; + fmsg->flag = 0; + fmsg->ctrl_idx = 0; + fmsg->flash = 0; + } else { + msg->fun = SSD_FUNC_FLUSH; + msg->flag = 0; + msg->ctrl_idx = 0; + msg->chip_no = 0; + } + + ret = ssd_do_barrier_request(dev, WRITE, msg, NULL); + ssd_put_dmsg(msg); + + return ret; +} + +#define SSD_WMODE_BUFFER_TIMEOUT 0x00c82710 +#define SSD_WMODE_BUFFER_EX_TIMEOUT 0x000500c8 +#define SSD_WMODE_FUA_TIMEOUT 0x000503E8 +static void ssd_set_flush_timeout(struct ssd_device *dev, int m) +{ + uint32_t to; + uint32_t val = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_1) { + return; + } + + switch(m) { + case SSD_WMODE_BUFFER: + to = SSD_WMODE_BUFFER_TIMEOUT; + break; + case SSD_WMODE_BUFFER_EX: + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2_1) { + to = SSD_WMODE_BUFFER_EX_TIMEOUT; + } else { + to = SSD_WMODE_BUFFER_TIMEOUT; + } + break; + case SSD_WMODE_FUA: + to = SSD_WMODE_FUA_TIMEOUT; + break; + default: + return; + } + + val = (((uint32_t)((uint32_t)m & 0x3) << 28) | to); + + ssd_reg32_write(dev->ctrlp + SSD_FLUSH_TIMEOUT_REG, val); +} + +static int ssd_do_switch_wmode(struct ssd_device *dev, int m) +{ + int ret = 0; + + ret = ssd_barrier_start(dev); + if (ret) { + goto out; + } + + ret = ssd_barrier_flush(dev); + if (ret) { + goto out_barrier_end; + } + + /* set contoller flush timeout */ + ssd_set_flush_timeout(dev, m); + + dev->wmode = m; + mb(); + +out_barrier_end: + ssd_barrier_end(dev); +out: + return ret; +} + +static int ssd_switch_wmode(struct ssd_device *dev, int m) +{ + int default_wmode; + int next_wmode; + int ret = 0; + + if (!test_bit(SSD_ONLINE, &dev->state)) { + return -ENODEV; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + default_wmode = SSD_WMODE_BUFFER; + } else { + default_wmode = SSD_WMODE_BUFFER_EX; + } + + if (SSD_WMODE_AUTO == m) { + /* battery fault ? */ + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + next_wmode = SSD_WMODE_FUA; + } else { + next_wmode = default_wmode; + } + } else if (SSD_WMODE_DEFAULT == m) { + next_wmode = default_wmode; + } else { + next_wmode = m; + } + + if (next_wmode != dev->wmode) { + hio_warn("%s: switch write mode (%d -> %d)\n", dev->name, dev->wmode, next_wmode); + ret = ssd_do_switch_wmode(dev, next_wmode); + if (ret) { + hio_err("%s: can not switch write mode (%d -> %d)\n", dev->name, dev->wmode, next_wmode); + } + } + + return ret; +} + +static int ssd_init_wmode(struct ssd_device *dev) +{ + int default_wmode; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + default_wmode = SSD_WMODE_BUFFER; + } else { + default_wmode = SSD_WMODE_BUFFER_EX; + } + + /* dummy mode */ + if (SSD_WMODE_AUTO == dev->user_wmode) { + /* battery fault ? */ + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + dev->wmode = SSD_WMODE_FUA; + } else { + dev->wmode = default_wmode; + } + } else if (SSD_WMODE_DEFAULT == dev->user_wmode) { + dev->wmode = default_wmode; + } else { + dev->wmode = dev->user_wmode; + } + ssd_set_flush_timeout(dev, dev->wmode); + + return ret; +} + +static int __ssd_set_wmode(struct ssd_device *dev, int m) +{ + int ret = 0; + + /* not support old fw*/ + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_1) { + ret = -EOPNOTSUPP; + goto out; + } + + if (m < SSD_WMODE_BUFFER || m > SSD_WMODE_DEFAULT) { + ret = -EINVAL; + goto out; + } + + ssd_gen_swlog(dev, SSD_LOG_SET_WMODE, m); + + dev->user_wmode = m; + + ret = ssd_switch_wmode(dev, dev->user_wmode); + if (ret) { + goto out; + } + +out: + return ret; +} + +int ssd_set_wmode(struct block_device *bdev, int m) +{ + struct ssd_device *dev; + + if (!bdev || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + return __ssd_set_wmode(dev, m); +} + +static int ssd_do_reset(struct ssd_device *dev) +{ + int ret = 0; + + if (test_and_set_bit(SSD_RESETING, &dev->state)) { + return 0; + } + + ssd_stop_workq(dev); + + ret = ssd_barrier_start(dev); + if (ret) { + goto out; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + /* old reset */ + ret = __ssd_reset(dev, SSD_RST_NORMAL); + } else { + /* full reset */ + //ret = __ssd_reset(dev, SSD_RST_FULL); + ret = __ssd_reset(dev, SSD_RST_NORMAL); + } + if (ret) { + goto out_barrier_end; + } + +out_barrier_end: + ssd_barrier_end(dev); +out: + ssd_start_workq(dev); + test_and_clear_bit(SSD_RESETING, &dev->state); + return ret; +} + +static int ssd_full_reset(struct ssd_device *dev) +{ + int ret = 0; + + if (test_and_set_bit(SSD_RESETING, &dev->state)) { + return 0; + } + + ssd_stop_workq(dev); + + ret = ssd_barrier_start(dev); + if (ret) { + goto out; + } + + ret = ssd_barrier_flush(dev); + if (ret) { + goto out_barrier_end; + } + + ret = ssd_barrier_save_md(dev); + if (ret) { + goto out_barrier_end; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + /* old reset */ + ret = __ssd_reset(dev, SSD_RST_NORMAL); + } else { + /* full reset */ + //ret = __ssd_reset(dev, SSD_RST_FULL); + ret = __ssd_reset(dev, SSD_RST_NORMAL); + } + if (ret) { + goto out_barrier_end; + } + +out_barrier_end: + ssd_barrier_end(dev); +out: + ssd_start_workq(dev); + test_and_clear_bit(SSD_RESETING, &dev->state); + return ret; +} + +int ssd_reset(struct block_device *bdev) +{ + int ret; + struct ssd_device *dev; + + if (!bdev || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + + ret = ssd_full_reset(dev); + if (!ret) { + if (!dev->has_non_0x98_reg_access) { + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, 0); + } + } + + return ret ; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static int ssd_issue_flush_fn(struct request_queue *q, struct gendisk *disk, + sector_t *error_sector) +{ + struct ssd_device *dev = q->queuedata; + + return ssd_flush(dev); +} +#endif + +void ssd_submit_pbio(struct request_queue *q, struct bio *bio) +{ + struct ssd_device *dev = q->queuedata; +#ifdef SSD_QUEUE_PBIO + int ret = -EBUSY; +#endif + + if (!test_bit(SSD_ONLINE, &dev->state)) { + ssd_bio_endio(bio, -ENODEV); + goto out; + } + +#ifdef SSD_DEBUG_ERR + if (atomic_read(&dev->tocnt)) { + hio_warn("%s: IO rejected because of IO timeout!\n", dev->name); + ssd_bio_endio(bio, -EIO); + goto out; + } +#endif + + if (unlikely(ssd_bio_has_barrier_or_fua(bio))) { + ssd_bio_endio(bio, -EOPNOTSUPP); + goto out; + } + + if (unlikely(dev->readonly && bio_data_dir(bio) == WRITE)) { + ssd_bio_endio(bio, -EROFS); + goto out; + } + +#ifdef SSD_QUEUE_PBIO + if (0 == atomic_read(&dev->in_sendq)) { + ret = __ssd_submit_pbio(dev, bio, 0); + } + + if (ret) { + (void)test_and_set_bit(BIO_SSD_PBIO, &bio->bi_flags); + ssd_queue_bio(dev, bio); + } +#else + __ssd_submit_pbio(dev, bio, 1); +#endif + +out: + return; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)) +static blk_qc_t ssd_make_request(struct request_queue *q, struct bio *bio) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) +static void ssd_make_request(struct request_queue *q, struct bio *bio) +#else +static int ssd_make_request(struct request_queue *q, struct bio *bio) +#endif +{ + struct ssd_device *dev = q->queuedata; + int ret = -EBUSY; + + if (!test_bit(SSD_ONLINE, &dev->state)) { + ssd_bio_endio(bio, -ENODEV); + goto out; + } + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0)) + blk_queue_split(q, &bio); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) + blk_queue_split(q, &bio, q->bio_split); +#endif + +#ifdef SSD_DEBUG_ERR + if (atomic_read(&dev->tocnt)) { + hio_warn("%s: IO rejected because of IO timeout!\n", dev->name); + ssd_bio_endio(bio, -EIO); + goto out; + } +#endif + + if (unlikely(ssd_bio_has_barrier_or_fua(bio))) { + ssd_bio_endio(bio, -EOPNOTSUPP); + goto out; + } + + /* writeback_cache_control.txt: REQ_FLUSH requests without data can be completed successfully without doing any work */ + if (unlikely(ssd_bio_has_flush(bio) && !bio_sectors(bio))) { + ssd_bio_endio(bio, 0); + goto out; + } + + if (0 == atomic_read(&dev->in_sendq)) { + ret = ssd_submit_bio(dev, bio, 0); + } + + if (ret) { + ssd_queue_bio(dev, bio); + } + +out: +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)) + return BLK_QC_T_NONE; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) + return; +#else + return 0; +#endif +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)) +static int ssd_block_getgeo(struct block_device *bdev, struct hd_geometry *geo) +{ + struct ssd_device *dev; + + if (!bdev) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } + + geo->heads = 4; + geo->sectors = 16; + geo->cylinders = (dev->hw_info.size & ~0x3f) >> 6; + return 0; +} +#endif + +static int ssd_init_queue(struct ssd_device *dev); +static void ssd_cleanup_queue(struct ssd_device *dev); +static void ssd_cleanup_blkdev(struct ssd_device *dev); +static int ssd_init_blkdev(struct ssd_device *dev); +static int ssd_ioctl_common(struct ssd_device *dev, unsigned int cmd, unsigned long arg) +{ + void __user *argp = (void __user *)arg; + void __user *buf = NULL; + void *kbuf = NULL; + int ret = 0; + + switch (cmd) { + case SSD_CMD_GET_PROTOCOL_INFO: + if (copy_to_user(argp, &dev->protocol_info, sizeof(struct ssd_protocol_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_GET_HW_INFO: + if (copy_to_user(argp, &dev->hw_info, sizeof(struct ssd_hw_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_GET_ROM_INFO: + if (copy_to_user(argp, &dev->rom_info, sizeof(struct ssd_rom_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_GET_SMART: { + struct ssd_smart smart; + int i; + + memcpy(&smart, &dev->smart, sizeof(struct ssd_smart)); + + mutex_lock(&dev->gd_mutex); + ssd_update_smart(dev, &smart); + mutex_unlock(&dev->gd_mutex); + + /* combine the volatile log info */ + if (dev->log_info.nr_log) { + for (i=0; ilog_info.stat[i]; + } + } + + if (copy_to_user(argp, &smart, sizeof(struct ssd_smart))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_GET_IDX: + if (copy_to_user(argp, &dev->idx, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_GET_AMOUNT: { + int nr_ssd = atomic_read(&ssd_nr); + if (copy_to_user(argp, &nr_ssd, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_TO_INFO: { + int tocnt = atomic_read(&dev->tocnt); + + if (copy_to_user(argp, &tocnt, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_DRV_VER: { + char ver[] = DRIVER_VERSION; + int len = sizeof(ver); + + if (len > (DRIVER_VERSION_LEN - 1)) { + len = (DRIVER_VERSION_LEN - 1); + } + if (copy_to_user(argp, ver, len)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_BBACC_INFO: { + struct ssd_acc_info acc; + + mutex_lock(&dev->fw_mutex); + ret = ssd_bb_acc(dev, &acc); + mutex_unlock(&dev->fw_mutex); + if (ret) { + break; + } + + if (copy_to_user(argp, &acc, sizeof(struct ssd_acc_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_ECACC_INFO: { + struct ssd_acc_info acc; + + mutex_lock(&dev->fw_mutex); + ret = ssd_ec_acc(dev, &acc); + mutex_unlock(&dev->fw_mutex); + if (ret) { + break; + } + + if (copy_to_user(argp, &acc, sizeof(struct ssd_acc_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_HW_INFO_EXT: + if (copy_to_user(argp, &dev->hw_info_ext, sizeof(struct ssd_hw_info_extend))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_REG_READ: { + struct ssd_reg_op_info reg_info; + + if (copy_from_user(®_info, argp, sizeof(struct ssd_reg_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + if (reg_info.offset > dev->mmio_len-sizeof(uint32_t)) { + ret = -EINVAL; + break; + } + + reg_info.value = ssd_reg32_read(dev->ctrlp + reg_info.offset); + if (copy_to_user(argp, ®_info, sizeof(struct ssd_reg_op_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_REG_WRITE: { + struct ssd_reg_op_info reg_info; + + if (copy_from_user(®_info, argp, sizeof(struct ssd_reg_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + if (reg_info.offset > dev->mmio_len-sizeof(uint32_t)) { + ret = -EINVAL; + break; + } + + ssd_reg32_write(dev->ctrlp + reg_info.offset, reg_info.value); + + break; + } + + case SSD_CMD_SPI_READ: { + struct ssd_spi_op_info spi_info; + uint32_t off, size; + + if (copy_from_user(&spi_info, argp, sizeof(struct ssd_spi_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + off = spi_info.off; + size = spi_info.len; + buf = spi_info.buf; + + if (size > dev->rom_info.size || 0 == size || (off + size) > dev->rom_info.size) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(size, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + ret = ssd_spi_page_read(dev, kbuf, off, size); + if (ret) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, size)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_SPI_WRITE: { + struct ssd_spi_op_info spi_info; + uint32_t off, size; + + if (copy_from_user(&spi_info, argp, sizeof(struct ssd_spi_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + off = spi_info.off; + size = spi_info.len; + buf = spi_info.buf; + + if (size > dev->rom_info.size || 0 == size || (off + size) > dev->rom_info.size) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(size, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + if (copy_from_user(kbuf, buf, size)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + ret = ssd_spi_page_write(dev, kbuf, off, size); + if (ret) { + kfree(kbuf); + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_SPI_ERASE: { + struct ssd_spi_op_info spi_info; + uint32_t off; + + if (copy_from_user(&spi_info, argp, sizeof(struct ssd_spi_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + off = spi_info.off; + + if ((off + dev->rom_info.block_size) > dev->rom_info.size) { + ret = -EINVAL; + break; + } + + ret = ssd_spi_block_erase(dev, off); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_I2C_READ: { + struct ssd_i2c_op_info i2c_info; + uint8_t saddr; + uint8_t rsize; + + if (copy_from_user(&i2c_info, argp, sizeof(struct ssd_i2c_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = i2c_info.saddr; + rsize = i2c_info.rsize; + buf = i2c_info.rbuf; + + if (rsize <= 0 || rsize > SSD_I2C_MAX_DATA) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(rsize, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + ret = ssd_i2c_read(dev, saddr, rsize, kbuf); + if (ret) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, rsize)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_I2C_WRITE: { + struct ssd_i2c_op_info i2c_info; + uint8_t saddr; + uint8_t wsize; + + if (copy_from_user(&i2c_info, argp, sizeof(struct ssd_i2c_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = i2c_info.saddr; + wsize = i2c_info.wsize; + buf = i2c_info.wbuf; + + if (wsize <= 0 || wsize > SSD_I2C_MAX_DATA) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(wsize, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + if (copy_from_user(kbuf, buf, wsize)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + ret = ssd_i2c_write(dev, saddr, wsize, kbuf); + if (ret) { + kfree(kbuf); + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_I2C_WRITE_READ: { + struct ssd_i2c_op_info i2c_info; + uint8_t saddr; + uint8_t wsize; + uint8_t rsize; + uint8_t size; + + if (copy_from_user(&i2c_info, argp, sizeof(struct ssd_i2c_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = i2c_info.saddr; + wsize = i2c_info.wsize; + rsize = i2c_info.rsize; + buf = i2c_info.wbuf; + + if (wsize <= 0 || wsize > SSD_I2C_MAX_DATA) { + ret = -EINVAL; + break; + } + + if (rsize <= 0 || rsize > SSD_I2C_MAX_DATA) { + ret = -EINVAL; + break; + } + + size = wsize + rsize; + + kbuf = kmalloc(size, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + if (copy_from_user((kbuf + rsize), buf, wsize)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + buf = i2c_info.rbuf; + + ret = ssd_i2c_write_read(dev, saddr, wsize, (kbuf + rsize), rsize, kbuf); + if (ret) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, rsize)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + kfree(kbuf); + ret = -EFAULT; + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_SMBUS_SEND_BYTE: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + buf = smbus_info.buf; + size = 1; + + if (copy_from_user(smb_data, buf, size)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = ssd_smbus_send_byte(dev, saddr, smb_data); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_SMBUS_RECEIVE_BYTE: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + buf = smbus_info.buf; + size = 1; + + ret = ssd_smbus_receive_byte(dev, saddr, smb_data); + if (ret) { + break; + } + + if (copy_to_user(buf, smb_data, size)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_SMBUS_WRITE_BYTE: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = 1; + + if (copy_from_user(smb_data, buf, size)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = ssd_smbus_write_byte(dev, saddr, command, smb_data); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_SMBUS_READ_BYTE: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = 1; + + ret = ssd_smbus_read_byte(dev, saddr, command, smb_data); + if (ret) { + break; + } + + if (copy_to_user(buf, smb_data, size)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_SMBUS_WRITE_WORD: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = 2; + + if (copy_from_user(smb_data, buf, size)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = ssd_smbus_write_word(dev, saddr, command, smb_data); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_SMBUS_READ_WORD: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = 2; + + ret = ssd_smbus_read_word(dev, saddr, command, smb_data); + if (ret) { + break; + } + + if (copy_to_user(buf, smb_data, size)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_SMBUS_WRITE_BLOCK: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = smbus_info.size; + + if (size > SSD_SMBUS_BLOCK_MAX) { + ret = -EINVAL; + break; + } + + if (copy_from_user(smb_data, buf, size)) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = ssd_smbus_write_block(dev, saddr, command, size, smb_data); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_SMBUS_READ_BLOCK: { + struct ssd_smbus_op_info smbus_info; + uint8_t smb_data[SSD_SMBUS_BLOCK_MAX]; + uint8_t saddr; + uint8_t command; + uint8_t size; + + if (copy_from_user(&smbus_info, argp, sizeof(struct ssd_smbus_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + saddr = smbus_info.saddr; + command = smbus_info.cmd; + buf = smbus_info.buf; + size = smbus_info.size; + + if (size > SSD_SMBUS_BLOCK_MAX) { + ret = -EINVAL; + break; + } + + ret = ssd_smbus_read_block(dev, saddr, command, size, smb_data); + if (ret) { + break; + } + + if (copy_to_user(buf, smb_data, size)) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_BM_GET_VER: { + uint16_t ver; + + ret = ssd_bm_get_version(dev, &ver); + if (ret) { + break; + } + + if (copy_to_user(argp, &ver, sizeof(uint16_t))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_BM_GET_NR_CAP: { + int nr_cap; + + ret = ssd_bm_nr_cap(dev, &nr_cap); + if (ret) { + break; + } + + if (copy_to_user(argp, &nr_cap, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_BM_CAP_LEARNING: { + ret = ssd_bm_enter_cap_learning(dev); + + if (ret) { + break; + } + + break; + } + + case SSD_CMD_CAP_LEARN: { + uint32_t cap = 0; + + ret = ssd_cap_learn(dev, &cap); + if (ret) { + break; + } + + if (copy_to_user(argp, &cap, sizeof(uint32_t))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_GET_CAP_STATUS: { + int cap_status = 0; + + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + cap_status = 1; + } + + if (copy_to_user(argp, &cap_status, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_RAM_READ: { + struct ssd_ram_op_info ram_info; + uint64_t ofs; + uint32_t length; + size_t rlen, len = dev->hw_info.ram_max_len; + int ctrl_idx; + + if (copy_from_user(&ram_info, argp, sizeof(struct ssd_ram_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ofs = ram_info.start; + length = ram_info.length; + buf = ram_info.buf; + ctrl_idx = ram_info.ctrl_idx; + + if (ofs >= dev->hw_info.ram_size || length > dev->hw_info.ram_size || 0 == length || (ofs + length) > dev->hw_info.ram_size) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(len, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + for (rlen=0; rlenhw_info.ram_max_len; + int ctrl_idx; + + if (copy_from_user(&ram_info, argp, sizeof(struct ssd_ram_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + ofs = ram_info.start; + length = ram_info.length; + buf = ram_info.buf; + ctrl_idx = ram_info.ctrl_idx; + + if (ofs >= dev->hw_info.ram_size || length > dev->hw_info.ram_size || 0 == length || (ofs + length) > dev->hw_info.ram_size) { + ret = -EINVAL; + break; + } + + kbuf = kmalloc(len, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + for (wlen=0; wlenname); + ret = -EFAULT; + break; + } + + chip_no = flash_info.flash; + chip_ce = flash_info.chip; + ctrl_idx = flash_info.ctrl_idx; + buf = flash_info.buf; + length = dev->hw_info.id_size; + + //kbuf = kmalloc(length, GFP_KERNEL); + kbuf = kmalloc(SSD_NAND_ID_BUFF_SZ, GFP_KERNEL); //xx + if (!kbuf) { + ret = -ENOMEM; + break; + } + memset(kbuf, 0, length); + + ret = ssd_nand_read_id(dev, kbuf, chip_no, chip_ce, ctrl_idx); + if (ret) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, length)) { + kfree(kbuf); + ret = -EFAULT; + break; + } + + kfree(kbuf); + + break; + } + + case SSD_CMD_NAND_READ: { //with oob + struct ssd_flash_op_info flash_info; + uint32_t length; + int flash, chip, page, ctrl_idx; + int err = 0; + + if (copy_from_user(&flash_info, argp, sizeof(struct ssd_flash_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + flash = flash_info.flash; + chip = flash_info.chip; + page = flash_info.page; + buf = flash_info.buf; + ctrl_idx = flash_info.ctrl_idx; + + length = dev->hw_info.page_size + dev->hw_info.oob_size; + + kbuf = kmalloc(length, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + err = ret = ssd_nand_read_w_oob(dev, kbuf, flash, chip, page, 1, ctrl_idx); + if (ret && (-EIO != ret)) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, length)) { + kfree(kbuf); + ret = -EFAULT; + break; + } + + ret = err; + + kfree(kbuf); + break; + } + + case SSD_CMD_NAND_WRITE: { + struct ssd_flash_op_info flash_info; + int flash, chip, page, ctrl_idx; + uint32_t length; + + if (copy_from_user(&flash_info, argp, sizeof(struct ssd_flash_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + flash = flash_info.flash; + chip = flash_info.chip; + page = flash_info.page; + buf = flash_info.buf; + ctrl_idx = flash_info.ctrl_idx; + + length = dev->hw_info.page_size + dev->hw_info.oob_size; + + kbuf = kmalloc(length, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + if (copy_from_user(kbuf, buf, length)) { + kfree(kbuf); + ret = -EFAULT; + break; + } + + ret = ssd_nand_write(dev, kbuf, flash, chip, page, 1, ctrl_idx); + if (ret) { + kfree(kbuf); + break; + } + + kfree(kbuf); + break; + } + + case SSD_CMD_NAND_ERASE: { + struct ssd_flash_op_info flash_info; + int flash, chip, page, ctrl_idx; + + if (copy_from_user(&flash_info, argp, sizeof(struct ssd_flash_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + flash = flash_info.flash; + chip = flash_info.chip; + page = flash_info.page; + ctrl_idx = flash_info.ctrl_idx; + + if ((page % dev->hw_info.page_count) != 0) { + ret = -EINVAL; + break; + } + + //hio_warn("erase fs = %llx\n", ofs); + ret = ssd_nand_erase(dev, flash, chip, page, ctrl_idx); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_NAND_READ_EXT: { //ingore EIO + struct ssd_flash_op_info flash_info; + uint32_t length; + int flash, chip, page, ctrl_idx; + + if (copy_from_user(&flash_info, argp, sizeof(struct ssd_flash_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + flash = flash_info.flash; + chip = flash_info.chip; + page = flash_info.page; + buf = flash_info.buf; + ctrl_idx = flash_info.ctrl_idx; + + length = dev->hw_info.page_size + dev->hw_info.oob_size; + + kbuf = kmalloc(length, GFP_KERNEL); + if (!kbuf) { + ret = -ENOMEM; + break; + } + + ret = ssd_nand_read_w_oob(dev, kbuf, flash, chip, page, 1, ctrl_idx); + if (-EIO == ret) { //ingore EIO + ret = 0; + } + if (ret) { + kfree(kbuf); + break; + } + + if (copy_to_user(buf, kbuf, length)) { + kfree(kbuf); + ret = -EFAULT; + break; + } + + kfree(kbuf); + break; + } + + case SSD_CMD_UPDATE_BBT: { + struct ssd_flash_op_info flash_info; + int ctrl_idx, flash; + + if (copy_from_user(&flash_info, argp, sizeof(struct ssd_flash_op_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ctrl_idx = flash_info.ctrl_idx; + flash = flash_info.flash; + ret = ssd_update_bbt(dev, flash, ctrl_idx); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_CLEAR_ALARM: + ssd_clear_alarm(dev); + break; + + case SSD_CMD_SET_ALARM: + ssd_set_alarm(dev); + break; + + case SSD_CMD_RESET: + ret = ssd_do_reset(dev); + break; + + case SSD_CMD_RELOAD_FW: + dev->reload_fw = 1; + dev->has_non_0x98_reg_access = 1; + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FLAG); + } else if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_1_1) { + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FW); + + } + break; + + case SSD_CMD_UNLOAD_DEV: { + if (atomic_read(&dev->refcnt)) { + ret = -EBUSY; + break; + } + + /* save smart */ + ssd_save_smart(dev); + + ret = ssd_flush(dev); + if (ret) { + break; + } + + /* cleanup the block device */ + if (test_and_clear_bit(SSD_INIT_BD, &dev->state)) { + mutex_lock(&dev->gd_mutex); + ssd_cleanup_blkdev(dev); + ssd_cleanup_queue(dev); + mutex_unlock(&dev->gd_mutex); + } + + break; + } + + case SSD_CMD_LOAD_DEV: { + + if (test_bit(SSD_INIT_BD, &dev->state)) { + ret = -EINVAL; + break; + } + + ret = ssd_init_smart(dev); + if (ret) { + hio_warn("%s: init info: failed\n", dev->name); + break; + } + + ret = ssd_init_queue(dev); + if (ret) { + hio_warn("%s: init queue failed\n", dev->name); + break; + } + ret = ssd_init_blkdev(dev); + if (ret) { + hio_warn("%s: register block device: failed\n", dev->name); + break; + } + (void)test_and_set_bit(SSD_INIT_BD, &dev->state); + + break; + } + + case SSD_CMD_UPDATE_VP: { + uint32_t val; + uint32_t new_vp, new_vp1 = 0; + + if (test_bit(SSD_INIT_BD, &dev->state)) { + ret = -EINVAL; + break; + } + + if (copy_from_user(&new_vp, argp, sizeof(uint32_t))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + if (new_vp > dev->hw_info.max_valid_pages || new_vp <= 0) { + ret = -EINVAL; + break; + } + + while (new_vp <= dev->hw_info.max_valid_pages) { + ssd_reg32_write(dev->ctrlp + SSD_VALID_PAGES_REG, new_vp); + msleep(10); + val = ssd_reg32_read(dev->ctrlp + SSD_VALID_PAGES_REG); + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + new_vp1 = val & 0x3FF; + } else { + new_vp1 = val & 0x7FFF; + } + + if (new_vp1 == new_vp) { + break; + } + + new_vp++; + /*if (new_vp == dev->hw_info.valid_pages) { + new_vp++; + }*/ + } + + if (new_vp1 != new_vp || new_vp > dev->hw_info.max_valid_pages) { + /* restore */ + ssd_reg32_write(dev->ctrlp + SSD_VALID_PAGES_REG, dev->hw_info.valid_pages); + ret = -EINVAL; + break; + } + + if (copy_to_user(argp, &new_vp, sizeof(uint32_t))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ssd_reg32_write(dev->ctrlp + SSD_VALID_PAGES_REG, dev->hw_info.valid_pages); + ret = -EFAULT; + break; + } + + /* new */ + dev->hw_info.valid_pages = new_vp; + dev->hw_info.size = (uint64_t)dev->hw_info.valid_pages * dev->hw_info.page_size; + dev->hw_info.size *= (dev->hw_info.block_count - dev->hw_info.reserved_blks); + dev->hw_info.size *= ((uint64_t)dev->hw_info.nr_data_ch * (uint64_t)dev->hw_info.nr_chip * (uint64_t)dev->hw_info.nr_ctrl); + + break; + } + + case SSD_CMD_FULL_RESET: { + ret = ssd_full_reset(dev); + break; + } + + case SSD_CMD_GET_NR_LOG: { + if (copy_to_user(argp, &dev->internal_log.nr_log, sizeof(dev->internal_log.nr_log))) { + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_LOG: { + uint32_t length = dev->rom_info.log_sz; + + buf = argp; + + if (copy_to_user(buf, dev->internal_log.log, length)) { + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_LOG_LEVEL: { + int level = 0; + if (copy_from_user(&level, argp, sizeof(int))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + if (level >= SSD_LOG_NR_LEVEL || level < SSD_LOG_LEVEL_INFO) { + level = SSD_LOG_LEVEL_ERR; + } + + //just for showing log, no need to protect + log_level = level; + break; + } + + case SSD_CMD_OT_PROTECT: { + int protect = 0; + + if (copy_from_user(&protect, argp, sizeof(int))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ssd_set_ot_protect(dev, !!protect); + break; + } + + case SSD_CMD_GET_OT_STATUS: { + int status = ssd_get_ot_status(dev, &status); + + if (copy_to_user(argp, &status, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_CLEAR_LOG: { + ret = ssd_clear_log(dev); + break; + } + + case SSD_CMD_CLEAR_SMART: { + ret = ssd_clear_smart(dev); + break; + } + + case SSD_CMD_CLEAR_WARNING: { + ret = ssd_clear_warning(dev); + break; + } + + case SSD_CMD_SW_LOG: { + struct ssd_sw_log_info sw_log; + + if (copy_from_user(&sw_log, argp, sizeof(struct ssd_sw_log_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = ssd_gen_swlog(dev, sw_log.event, sw_log.data); + break; + } + + case SSD_CMD_GET_LABEL: { + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + ret = -EINVAL; + break; + } + + if (copy_to_user(argp, &dev->label, sizeof(struct ssd_label))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_VERSION: { + struct ssd_version_info ver; + + mutex_lock(&dev->fw_mutex); + ret = __ssd_get_version(dev, &ver); + mutex_unlock(&dev->fw_mutex); + if (ret) { + break; + } + + if (copy_to_user(argp, &ver, sizeof(struct ssd_version_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_TEMPERATURE: { + int temp; + + mutex_lock(&dev->fw_mutex); + ret = __ssd_get_temperature(dev, &temp); + mutex_unlock(&dev->fw_mutex); + if (ret) { + break; + } + + if (copy_to_user(argp, &temp, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_BMSTATUS: { + int status; + + mutex_lock(&dev->fw_mutex); + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + status = SSD_BMSTATUS_WARNING; + } else { + status = SSD_BMSTATUS_OK; + } + } else if(dev->protocol_info.ver > SSD_PROTOCOL_V3) { + ret = __ssd_bm_status(dev, &status); + } else { + status = SSD_BMSTATUS_OK; + } + mutex_unlock(&dev->fw_mutex); + if (ret) { + break; + } + + if (copy_to_user(argp, &status, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_GET_LABEL2: { + void *label; + int length; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + label = &dev->label; + length = sizeof(struct ssd_label); + } else { + label = &dev->labelv3; + length = sizeof(struct ssd_labelv3); + } + + if (copy_to_user(argp, label, length)) { + ret = -EFAULT; + break; + } + break; + } + + case SSD_CMD_FLUSH: + ret = ssd_flush(dev); + if (ret) { + hio_warn("%s: ssd_flush: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + case SSD_CMD_SAVE_MD: { + int save_md = 0; + + if (copy_from_user(&save_md, argp, sizeof(int))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + dev->save_md = !!save_md; + break; + } + + case SSD_CMD_SET_WMODE: { + int new_wmode = 0; + + if (copy_from_user(&new_wmode, argp, sizeof(int))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + ret = __ssd_set_wmode(dev, new_wmode); + if (ret) { + break; + } + + break; + } + + case SSD_CMD_GET_WMODE: { + if (copy_to_user(argp, &dev->wmode, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_GET_USER_WMODE: { + if (copy_to_user(argp, &dev->user_wmode, sizeof(int))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + break; + } + + case SSD_CMD_DEBUG: { + struct ssd_debug_info db_info; + + if (!finject) { + ret = -EOPNOTSUPP; + break; + } + + if (copy_from_user(&db_info, argp, sizeof(struct ssd_debug_info))) { + hio_warn("%s: copy_from_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + + if (db_info.type < SSD_DEBUG_NONE || db_info.type >= SSD_DEBUG_NR) { + ret = -EINVAL; + break; + } + + /* IO */ + if (db_info.type >= SSD_DEBUG_READ_ERR && db_info.type <= SSD_DEBUG_RW_ERR && + (db_info.data.loc.off + db_info.data.loc.len) > (dev->hw_info.size >> 9)) { + ret = -EINVAL; + break; + } + + memcpy(&dev->db_info, &db_info, sizeof(struct ssd_debug_info)); + +#ifdef SSD_OT_PROTECT + /* temperature */ + if (db_info.type == SSD_DEBUG_NONE) { + ssd_check_temperature(dev, SSD_OT_TEMP); + } else if (db_info.type == SSD_DEBUG_LOG) { + if (db_info.data.log.event == SSD_LOG_OVER_TEMP) { + dev->ot_delay = SSD_OT_DELAY; + } else if (db_info.data.log.event == SSD_LOG_NORMAL_TEMP) { + dev->ot_delay = 0; + } + } +#endif + + /* offline */ + if (db_info.type == SSD_DEBUG_OFFLINE) { + test_and_clear_bit(SSD_ONLINE, &dev->state); + } else if (db_info.type == SSD_DEBUG_NONE) { + (void)test_and_set_bit(SSD_ONLINE, &dev->state); + } + + /* log */ + if (db_info.type == SSD_DEBUG_LOG && dev->event_call && dev->gd) { + dev->event_call(dev->gd, db_info.data.log.event, 0); + } + + break; + } + + case SSD_CMD_DRV_PARAM_INFO: { + struct ssd_drv_param_info drv_param; + + memset(&drv_param, 0, sizeof(struct ssd_drv_param_info)); + + drv_param.mode = mode; + drv_param.status_mask = status_mask; + drv_param.int_mode = int_mode; + drv_param.threaded_irq = threaded_irq; + drv_param.log_level = log_level; + drv_param.wmode = wmode; + drv_param.ot_protect = ot_protect; + drv_param.finject = finject; + + if (copy_to_user(argp, &drv_param, sizeof(struct ssd_drv_param_info))) { + hio_warn("%s: copy_to_user: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + } + + default: + ret = -EINVAL; + break; + } + + return ret; +} + + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27)) +static int ssd_block_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + struct ssd_device *dev; + void __user *argp = (void __user *)arg; + int ret = 0; + + if (!inode) { + return -EINVAL; + } + dev = inode->i_bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } +#else +static int ssd_block_ioctl(struct block_device *bdev, fmode_t mode, + unsigned int cmd, unsigned long arg) +{ + struct ssd_device *dev; + void __user *argp = (void __user *)arg; + int ret = 0; + + if (!bdev) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } +#endif + + switch (cmd) { + case HDIO_GETGEO: { + struct hd_geometry geo; + geo.cylinders = (dev->hw_info.size & ~0x3f) >> 6; + geo.heads = 4; + geo.sectors = 16; +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27)) + geo.start = get_start_sect(inode->i_bdev); +#else + geo.start = get_start_sect(bdev); +#endif + if (copy_to_user(argp, &geo, sizeof(geo))) { + ret = -EFAULT; + break; + } + + break; + } + + case BLKFLSBUF: + ret = ssd_flush(dev); + if (ret) { + hio_warn("%s: ssd_flush: failed\n", dev->name); + ret = -EFAULT; + break; + } + break; + + default: + if (!dev->slave) { + ret = ssd_ioctl_common(dev, cmd, arg); + } else { + ret = -EFAULT; + } + break; + } + + return ret; +} + + +static void ssd_free_dev(struct kref *kref) +{ + struct ssd_device *dev; + + if (!kref) { + return; + } + + dev = container_of(kref, struct ssd_device, kref); + + put_disk(dev->gd); + + ssd_put_index(dev->slave, dev->idx); + + kfree(dev); +} + +static void ssd_put(struct ssd_device *dev) +{ + kref_put(&dev->kref, ssd_free_dev); +} + +static int ssd_get(struct ssd_device *dev) +{ + kref_get(&dev->kref); + return 0; +} + +/* block device */ +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27)) +static int ssd_block_open(struct inode *inode, struct file *filp) +{ + struct ssd_device *dev; + + if (!inode) { + return -EINVAL; + } + + dev = inode->i_bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } +#else +static int ssd_block_open(struct block_device *bdev, fmode_t mode) +{ + struct ssd_device *dev; + + if (!bdev) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } +#endif + + /*if (!try_module_get(dev->owner)) + return -ENODEV; + */ + + ssd_get(dev); + + atomic_inc(&dev->refcnt); + + return 0; +} + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27)) +static int ssd_block_release(struct inode *inode, struct file *filp) +{ + struct ssd_device *dev; + + if (!inode) { + return -EINVAL; + } + + dev = inode->i_bdev->bd_disk->private_data; + if (!dev) { + return -EINVAL; + } +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(3,9,0)) +static int ssd_block_release(struct gendisk *disk, fmode_t mode) +{ + struct ssd_device *dev; + + if (!disk) { + return -EINVAL; + } + + dev = disk->private_data; + if (!dev) { + return -EINVAL; + } +#else +static void ssd_block_release(struct gendisk *disk, fmode_t mode) +{ + struct ssd_device *dev; + + if (!disk) { + return; + } + + dev = disk->private_data; + if (!dev) { + return; + } +#endif + + atomic_dec(&dev->refcnt); + + ssd_put(dev); + + //module_put(dev->owner); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(3,9,0)) + return 0; +#endif +} + +static struct block_device_operations ssd_fops = { + .owner = THIS_MODULE, + .open = ssd_block_open, + .release = ssd_block_release, + .ioctl = ssd_block_ioctl, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)) + .getgeo = ssd_block_getgeo, +#endif +}; + +static void ssd_init_trim(ssd_device_t *dev) +{ +#if (defined SSD_TRIM && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))) + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + return; + } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)) + blk_queue_flag_set(QUEUE_FLAG_DISCARD, dev->rq); +#else + queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, dev->rq); +#endif + +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)) || (defined RHEL_MAJOR && RHEL_MAJOR >= 6)) +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0)) + dev->rq->limits.discard_zeroes_data = 1; +#endif + dev->rq->limits.discard_alignment = 4096; + dev->rq->limits.discard_granularity = 4096; +#endif + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2_4) { + dev->rq->limits.max_discard_sectors = dev->hw_info.sg_max_sec; + } else { + dev->rq->limits.max_discard_sectors = (dev->hw_info.sg_max_sec) * (dev->hw_info.cmd_max_sg); + } +#endif +} + +static void ssd_cleanup_queue(struct ssd_device *dev) +{ + ssd_wait_io(dev); + + blk_cleanup_queue(dev->rq); + dev->rq = NULL; +} + +static int ssd_init_queue(struct ssd_device *dev) +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,7,0)) + dev->rq = blk_alloc_queue(GFP_KERNEL); + if (dev->rq == NULL) { + hio_warn("%s: alloc queue: failed\n ", dev->name); + goto out_init_queue; + } + + /* must be first */ + blk_queue_make_request(dev->rq, ssd_make_request); +#else + dev->rq = blk_alloc_queue(ssd_make_request, NUMA_NO_NODE); + if (dev->rq == NULL) { + hio_warn("%s: blk_alloc_queue(): failed\n ", dev->name); + goto out_init_queue; + } +#endif +#if ((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) && !(defined RHEL_MAJOR && RHEL_MAJOR == 6)) + blk_queue_max_hw_segments(dev->rq, dev->hw_info.cmd_max_sg); + blk_queue_max_phys_segments(dev->rq, dev->hw_info.cmd_max_sg); + blk_queue_max_sectors(dev->rq, dev->hw_info.sg_max_sec); +#else + blk_queue_max_segments(dev->rq, dev->hw_info.cmd_max_sg); + blk_queue_max_hw_sectors(dev->rq, dev->hw_info.sg_max_sec); +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)) + blk_queue_hardsect_size(dev->rq, 512); +#else + blk_queue_logical_block_size(dev->rq, 512); +#endif + /* not work for make_request based drivers(bio) */ + blk_queue_max_segment_size(dev->rq, dev->hw_info.sg_max_sec << 9); + + blk_queue_bounce_limit(dev->rq, BLK_BOUNCE_HIGH); + + dev->rq->queuedata = dev; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) + blk_queue_issue_flush_fn(dev->rq, ssd_issue_flush_fn); +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)) + blk_queue_flag_set(QUEUE_FLAG_NONROT, dev->rq); +#else + queue_flag_set_unlocked(QUEUE_FLAG_NONROT, dev->rq); +#endif +#endif + + ssd_init_trim(dev); + + return 0; + +out_init_queue: + return -ENOMEM; +} + +static void ssd_cleanup_blkdev(struct ssd_device *dev) +{ + del_gendisk(dev->gd); +} + +static int ssd_init_blkdev(struct ssd_device *dev) +{ + if (dev->gd) { + put_disk(dev->gd); + } + + dev->gd = alloc_disk(ssd_minors); + if (!dev->gd) { + hio_warn("%s: alloc_disk fail\n", dev->name); + goto out_alloc_gd; + } + dev->gd->major = dev->major; + dev->gd->first_minor = dev->idx * ssd_minors; + dev->gd->fops = &ssd_fops; + dev->gd->queue = dev->rq; + dev->gd->private_data = dev; + + snprintf (dev->gd->disk_name, sizeof(dev->gd->disk_name), "%s", dev->name); + + set_capacity(dev->gd, dev->hw_info.size >> 9); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) + device_add_disk(&dev->pdev->dev, dev->gd, NULL); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + device_add_disk(&dev->pdev->dev, dev->gd); +#else + dev->gd->driverfs_dev = &dev->pdev->dev; + add_disk(dev->gd); +#endif + + return 0; + +out_alloc_gd: + return -ENOMEM; +} + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,10)) +static int ssd_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +#else +static long ssd_ioctl(struct file *file, + unsigned int cmd, unsigned long arg) +#endif +{ + struct ssd_device *dev; + + if (!file) { + return -EINVAL; + } + + dev = file->private_data; + if (!dev) { + return -EINVAL; + } + + return (long)ssd_ioctl_common(dev, cmd, arg); +} + +static int ssd_open(struct inode *inode, struct file *file) +{ + struct ssd_device *dev = NULL; + struct ssd_device *n = NULL; + int idx; + int ret = -ENODEV; + + if (!inode || !file) { + return -EINVAL; + } + + idx = iminor(inode); + + list_for_each_entry_safe(dev, n, &ssd_list, list) { + if (dev->idx == idx) { + ret = 0; + break; + } + } + + if (ret) { + return ret; + } + + file->private_data = dev; + + ssd_get(dev); + + return 0; +} + +static int ssd_release(struct inode *inode, struct file *file) +{ + struct ssd_device *dev; + + if (!file) { + return -EINVAL; + } + + dev = file->private_data; + if (!dev) { + return -EINVAL; + } + + ssd_put(dev); + + file->private_data = NULL; + + return 0; +} + +static int ssd_reload_ssd_ptr(struct ssd_device *dev) +{ + ssd_reset_resp_ptr(dev); + + //update base reg address + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3) { + + ssd_reg_write(dev->ctrlp + SSD_MSG_BASE_REG, dev->msg_base_dma); + } + + //update response base reg address + ssd_reg_write(dev->ctrlp + SSD_RESP_FIFO_REG, dev->resp_msg_base_dma); + ssd_reg_write(dev->ctrlp + SSD_RESP_PTR_REG, dev->resp_ptr_base_dma); + + return 0; +} + +static struct file_operations ssd_cfops = { + .owner = THIS_MODULE, + .open = ssd_open, + .release = ssd_release, +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,10)) + .ioctl = ssd_ioctl, +#else + .unlocked_ioctl = ssd_ioctl, +#endif +}; + +static void ssd_cleanup_chardev(struct ssd_device *dev) +{ + if (dev->slave) { + return; + } + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) + class_simple_device_remove(MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx)); + devfs_remove("c%s", dev->name); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,14)) + class_device_destroy(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx)); + devfs_remove("c%s", dev->name); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)) + class_device_destroy(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx)); + devfs_remove("c%s", dev->name); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,24)) + class_device_destroy(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx)); +#else + device_destroy(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx)); +#endif +} + +static int ssd_init_chardev(struct ssd_device *dev) +{ + int ret = 0; + + if (dev->slave) { + return 0; + } + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) + ret = devfs_mk_cdev(MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), S_IFCHR|S_IRUSR|S_IWUSR, "c%s", dev->name); + if (ret) { + goto out; + } + class_simple_device_add(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +out: +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,14)) + ret = devfs_mk_cdev(MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), S_IFCHR|S_IRUSR|S_IWUSR, "c%s", dev->name); + if (ret) { + goto out; + } + class_device_create(ssd_class, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +out: +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)) + ret = devfs_mk_cdev(MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), S_IFCHR|S_IRUSR|S_IWUSR, "c%s", dev->name); + if (ret) { + goto out; + } + class_device_create(ssd_class, NULL, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +out: +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,24)) + class_device_create(ssd_class, NULL, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26)) + device_create(ssd_class, NULL, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), "c%s", dev->name); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27)) + device_create_drvdata(ssd_class, NULL, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +#else + device_create(ssd_class, NULL, MKDEV((dev_t)dev->cmajor, (dev_t)dev->idx), NULL, "c%s", dev->name); +#endif + + return ret; +} + +static int ssd_check_hw(struct ssd_device *dev) +{ + uint32_t test_data = 0x55AA5AA5; + uint32_t read_data; + + ssd_reg32_write(dev->ctrlp + SSD_BRIDGE_TEST_REG, test_data); + read_data = ssd_reg32_read(dev->ctrlp + SSD_BRIDGE_TEST_REG); + if (read_data != ~(test_data)) { + //hio_warn("%s: check bridge error: %#x\n", dev->name, read_data); + return -1; + } + + return 0; +} + +static int ssd_check_fw(struct ssd_device *dev) +{ + uint32_t val = 0; + int i; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_3) { + return 0; + } + + for (i=0; ictrlp + SSD_HW_STATUS_REG); + if ((val & 0x1) && ((val >> 8) & 0x1)) { + break; + } + + msleep(SSD_INIT_WAIT); + } + + if (!(val & 0x1)) { + /* controller fw status */ + hio_warn("%s: controller firmware load failed: %#x\n", dev->name, val); + return -1; + } else if (!((val >> 8) & 0x1)) { + /* controller state */ + hio_warn("%s: controller state error: %#x\n", dev->name, val); + return -1; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_RELOAD_FW_REG); + if (val) { + dev->reload_fw = 1; + } + + return 0; +} + +static int ssd_init_fw_info(struct ssd_device *dev) +{ + uint32_t val; + int ret = 0; + + val = ssd_reg32_read(dev->ctrlp + SSD_BRIDGE_VER_REG); + dev->hw_info.bridge_ver = val & 0xFFF; + if (dev->hw_info.bridge_ver < SSD_FW_MIN) { + hio_warn("%s: bridge firmware version %03X is not supported\n", dev->name, dev->hw_info.bridge_ver); + return -EINVAL; + } + hio_info("%s: bridge firmware version: %03X\n", dev->name, dev->hw_info.bridge_ver); + + ret = ssd_check_fw(dev); + if (ret) { + goto out; + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +static int ssd_check_clock(struct ssd_device *dev) +{ + uint32_t val; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_3) { + return 0; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_HW_STATUS_REG); + + /* clock status */ + if (!((val >> 4 ) & 0x1)) { + if (!test_and_set_bit(SSD_HWMON_CLOCK(SSD_CLOCK_166M_LOST), &dev->hwmon)) { + hio_warn("%s: 166MHz clock losed: %#x\n", dev->name, val); + ssd_gen_swlog(dev, SSD_LOG_CLK_FAULT, val); + } + ret = -1; + } + + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + if (!((val >> 5 ) & 0x1)) { + if (!test_and_set_bit(SSD_HWMON_CLOCK(SSD_CLOCK_166M_SKEW), &dev->hwmon)) { + hio_warn("%s: 166MHz clock is skew: %#x\n", dev->name, val); + ssd_gen_swlog(dev, SSD_LOG_CLK_FAULT, val); + } + ret = -1; + } + if (!((val >> 6 ) & 0x1)) { + if (!test_and_set_bit(SSD_HWMON_CLOCK(SSD_CLOCK_156M_LOST), &dev->hwmon)) { + hio_warn("%s: 156.25MHz clock lost: %#x\n", dev->name, val); + ssd_gen_swlog(dev, SSD_LOG_CLK_FAULT, val); + } + ret = -1; + } + if (!((val >> 7 ) & 0x1)) { + if (!test_and_set_bit(SSD_HWMON_CLOCK(SSD_CLOCK_156M_SKEW), &dev->hwmon)) { + hio_warn("%s: 156.25MHz clock is skew: %#x\n", dev->name, val); + ssd_gen_swlog(dev, SSD_LOG_CLK_FAULT, val); + } + ret = -1; + } + } + + return ret; +} + +static int ssd_check_volt(struct ssd_device *dev) +{ + int i = 0; + uint64_t val; + uint32_t adc_val; + int ret =0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + for (i=0; ihw_info.nr_ctrl; i++) { + /* 1.0v */ + if (!test_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V0), &dev->hwmon)) { + val = ssd_reg_read(dev->ctrlp + SSD_FPGA_1V0_REG0 + i * SSD_CTRL_REG_ZONE_SZ); + adc_val = SSD_FPGA_VOLT_MAX(val); + if (adc_val < SSD_FPGA_1V0_ADC_MIN || adc_val > SSD_FPGA_1V0_ADC_MAX) { + (void)test_and_set_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V0), &dev->hwmon); + hio_warn("%s: controller %d 1.0V fault: %d mV.\n", dev->name, i, SSD_FPGA_VOLT(adc_val)); + ssd_gen_swlog(dev, SSD_LOG_VOLT_FAULT, SSD_VOLT_LOG_DATA(SSD_FPGA_1V0, i, adc_val)); + ret = -1; + } + + adc_val = SSD_FPGA_VOLT_MIN(val); + if (adc_val < SSD_FPGA_1V0_ADC_MIN || adc_val > SSD_FPGA_1V0_ADC_MAX) { + (void)test_and_set_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V0), &dev->hwmon); + hio_warn("%s: controller %d 1.0V fault: %d mV.\n", dev->name, i, SSD_FPGA_VOLT(adc_val)); + ssd_gen_swlog(dev, SSD_LOG_VOLT_FAULT, SSD_VOLT_LOG_DATA(SSD_FPGA_1V0, i, adc_val)); + ret = -2; + } + } + + /* 1.8v */ + if (!test_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V8), &dev->hwmon)) { + val = ssd_reg_read(dev->ctrlp + SSD_FPGA_1V8_REG0 + i * SSD_CTRL_REG_ZONE_SZ); + adc_val = SSD_FPGA_VOLT_MAX(val); + if (adc_val < SSD_FPGA_1V8_ADC_MIN || adc_val > SSD_FPGA_1V8_ADC_MAX) { + (void)test_and_set_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V8), &dev->hwmon); + hio_warn("%s: controller %d 1.8V fault: %d mV.\n", dev->name, i, SSD_FPGA_VOLT(adc_val)); + ssd_gen_swlog(dev, SSD_LOG_VOLT_FAULT, SSD_VOLT_LOG_DATA(SSD_FPGA_1V8, i, adc_val)); + ret = -3; + } + + adc_val = SSD_FPGA_VOLT_MIN(val); + if (adc_val < SSD_FPGA_1V8_ADC_MIN || adc_val > SSD_FPGA_1V8_ADC_MAX) { + (void)test_and_set_bit(SSD_HWMON_FPGA(i, SSD_FPGA_1V8), &dev->hwmon); + hio_warn("%s: controller %d 1.8V fault: %d mV.\n", dev->name, i, SSD_FPGA_VOLT(adc_val)); + ssd_gen_swlog(dev, SSD_LOG_VOLT_FAULT, SSD_VOLT_LOG_DATA(SSD_FPGA_1V8, i, adc_val)); + ret = -4; + } + } + } + + return ret; +} + +static int ssd_check_reset_sync(struct ssd_device *dev) +{ + uint32_t val; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_3) { + return 0; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_HW_STATUS_REG); + if (!((val >> 8) & 0x1)) { + /* controller state */ + hio_warn("%s: controller state error: %#x\n", dev->name, val); + return -1; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return 0; + } + + if (((val >> 9 ) & 0x1)) { + hio_warn("%s: controller reset asynchronously: %#x\n", dev->name, val); + ssd_gen_swlog(dev, SSD_LOG_CTRL_RST_SYNC, val); + return -1; + } + + return 0; +} + +static int ssd_check_hw_bh(struct ssd_device *dev) +{ + int ret; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_3) { + return 0; + } + + /* clock status */ + ret = ssd_check_clock(dev); + if (ret) { + goto out; + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +static int ssd_check_controller(struct ssd_device *dev) +{ + int ret; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_1_3) { + return 0; + } + + /* sync reset */ + ret = ssd_check_reset_sync(dev); + if (ret) { + goto out; + } + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +static int ssd_check_controller_bh(struct ssd_device *dev) +{ + uint32_t test_data = 0x55AA5AA5; + uint32_t val; + int reg_base, reg_sz; + int init_wait = 0; + int i; + int ret = 0; + + if (mode != SSD_DRV_MODE_STANDARD) { + return 0; + } + + /* controller */ + val = ssd_reg32_read(dev->ctrlp + SSD_READY_REG); + if (val & 0x1) { + hio_warn("%s: controller 0 not ready\n", dev->name); + return -1; + } + + for (i=0; ihw_info.nr_ctrl; i++) { + reg_base = SSD_CTRL_TEST_REG0 + i * SSD_CTRL_TEST_REG_SZ; + ssd_reg32_write(dev->ctrlp + reg_base, test_data); + val = ssd_reg32_read(dev->ctrlp + reg_base); + if (val != ~(test_data)) { + hio_warn("%s: check controller %d error: %#x\n", dev->name, i, val); + return -1; + } + } + + /* clock */ + ret = ssd_check_volt(dev); + if (ret) { + return ret; + } + + /* ddr */ + if (dev->protocol_info.ver > SSD_PROTOCOL_V3) { + reg_base = SSD_PV3_RAM_STATUS_REG0; + reg_sz = SSD_PV3_RAM_STATUS_REG_SZ; + + for (i=0; ihw_info.nr_ctrl; i++) { +check_ram_status: + val = ssd_reg32_read(dev->ctrlp + reg_base); + + if (!((val >> 1) & 0x1)) { + init_wait++; + if (init_wait <= SSD_RAM_INIT_MAX_WAIT) { + msleep(SSD_INIT_WAIT); + goto check_ram_status; + } else { + hio_warn("%s: controller %d ram init failed: %#x\n", dev->name, i, val); + ssd_gen_swlog(dev, SSD_LOG_DDR_INIT_ERR, i); + return -1; + } + } + + reg_base += reg_sz; + } + } + + /* ch info */ + for (i=0; ictrlp + SSD_CH_INFO_REG); + if (!((val >> 31) & 0x1)) { + break; + } + + msleep(SSD_INIT_WAIT); + } + if ((val >> 31) & 0x1) { + hio_warn("%s: channel info init failed: %#x\n", dev->name, val); + return -1; + } + + return 0; +} + +static int ssd_init_protocol_info(struct ssd_device *dev) +{ + uint32_t val; + + val = ssd_reg32_read(dev->ctrlp + SSD_PROTOCOL_VER_REG); + if (val == (uint32_t)-1) { + hio_warn("%s: protocol version error: %#x\n", dev->name, val); + return -EINVAL; + } + dev->protocol_info.ver = val; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + dev->protocol_info.init_state_reg = SSD_INIT_STATE_REG0; + dev->protocol_info.init_state_reg_sz = SSD_INIT_STATE_REG_SZ; + + dev->protocol_info.chip_info_reg = SSD_CHIP_INFO_REG0; + dev->protocol_info.chip_info_reg_sz = SSD_CHIP_INFO_REG_SZ; + } else { + dev->protocol_info.init_state_reg = SSD_PV3_INIT_STATE_REG0; + dev->protocol_info.init_state_reg_sz = SSD_PV3_INIT_STATE_REG_SZ; + + dev->protocol_info.chip_info_reg = SSD_PV3_CHIP_INFO_REG0; + dev->protocol_info.chip_info_reg_sz = SSD_PV3_CHIP_INFO_REG_SZ; + } + + return 0; +} + +static int ssd_init_hw_info(struct ssd_device *dev) +{ + uint64_t val64; + uint32_t val; + uint32_t nr_ctrl; + int ret = 0; + + /* base info */ + val = ssd_reg32_read(dev->ctrlp + SSD_RESP_INFO_REG); + dev->hw_info.resp_ptr_sz = 16 * (1U << (val & 0xFF)); + dev->hw_info.resp_msg_sz = 16 * (1U << ((val >> 8) & 0xFF)); + + if (0 == dev->hw_info.resp_ptr_sz || 0 == dev->hw_info.resp_msg_sz) { + hio_warn("%s: response info error\n", dev->name); + ret = -EINVAL; + goto out; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_BRIDGE_INFO_REG); + dev->hw_info.cmd_fifo_sz = 1U << ((val >> 4) & 0xF); + dev->hw_info.cmd_max_sg = 1U << ((val >> 8) & 0xF); + dev->hw_info.sg_max_sec = 1U << ((val >> 12) & 0xF); + dev->hw_info.cmd_fifo_sz_mask = dev->hw_info.cmd_fifo_sz - 1; + + if (0 == dev->hw_info.cmd_fifo_sz || 0 == dev->hw_info.cmd_max_sg || 0 == dev->hw_info.sg_max_sec) { + hio_warn("%s: cmd info error\n", dev->name); + ret = -EINVAL; + goto out; + } + + /* check hw */ + if (ssd_check_hw_bh(dev)) { + hio_warn("%s: check hardware status failed\n", dev->name); + ret = -EINVAL; + goto out; + } + + if (ssd_check_controller(dev)) { + hio_warn("%s: check controller state failed\n", dev->name); + ret = -EINVAL; + goto out; + } + + /* nr controller : read again*/ + val = ssd_reg32_read(dev->ctrlp + SSD_BRIDGE_INFO_REG); + dev->hw_info.nr_ctrl = (val >> 16) & 0xF; + + /* nr ctrl configured */ + nr_ctrl = (val >> 20) & 0xF; + if (0 == dev->hw_info.nr_ctrl) { + hio_warn("%s: nr controller error: %u\n", dev->name, dev->hw_info.nr_ctrl); + ret = -EINVAL; + goto out; + } else if (0 != nr_ctrl && nr_ctrl != dev->hw_info.nr_ctrl) { + hio_warn("%s: nr controller error: configured %u but found %u\n", dev->name, nr_ctrl, dev->hw_info.nr_ctrl); + if (mode <= SSD_DRV_MODE_STANDARD) { + ret = -EINVAL; + goto out; + } + } + + if (ssd_check_controller_bh(dev)) { + hio_warn("%s: check controller failed\n", dev->name); + ret = -EINVAL; + goto out; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_PCB_VER_REG); + dev->hw_info.pcb_ver = (uint8_t) ((val >> 4) & 0xF) + 'A' -1; + if ((val & 0xF) != 0xF) { + dev->hw_info.upper_pcb_ver = (uint8_t) (val & 0xF) + 'A' -1; + } + + if (dev->hw_info.pcb_ver < 'A' || (0 != dev->hw_info.upper_pcb_ver && dev->hw_info.upper_pcb_ver < 'A')) { + hio_warn("%s: PCB version error: %#x %#x\n", dev->name, dev->hw_info.pcb_ver, dev->hw_info.upper_pcb_ver); + ret = -EINVAL; + goto out; + } + + /* channel info */ + if (mode <= SSD_DRV_MODE_DEBUG) { + val = ssd_reg32_read(dev->ctrlp + SSD_CH_INFO_REG); + dev->hw_info.nr_data_ch = val & 0xFF; + dev->hw_info.nr_ch = dev->hw_info.nr_data_ch + ((val >> 8) & 0xFF); + dev->hw_info.nr_chip = (val >> 16) & 0xFF; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + dev->hw_info.max_ch = 1; + while (dev->hw_info.max_ch < dev->hw_info.nr_ch) dev->hw_info.max_ch <<= 1; + } else { + /* set max channel 32 */ + dev->hw_info.max_ch = 32; + } + + if (0 == dev->hw_info.nr_chip) { + //for debug mode + dev->hw_info.nr_chip = 1; + } + + //xx + dev->hw_info.id_size = SSD_NAND_ID_SZ; + dev->hw_info.max_ce = SSD_NAND_MAX_CE; + + if (0 == dev->hw_info.nr_data_ch || 0 == dev->hw_info.nr_ch || 0 == dev->hw_info.nr_chip) { + hio_warn("%s: channel info error: data_ch %u ch %u chip %u\n", dev->name, dev->hw_info.nr_data_ch, dev->hw_info.nr_ch, dev->hw_info.nr_chip); + ret = -EINVAL; + goto out; + } + } + + /* ram info */ + if (mode <= SSD_DRV_MODE_DEBUG) { + val = ssd_reg32_read(dev->ctrlp + SSD_RAM_INFO_REG); + dev->hw_info.ram_size = 0x4000000ull * (1ULL << (val & 0xF)); + dev->hw_info.ram_align = 1U << ((val >> 12) & 0xF); + if (dev->hw_info.ram_align < SSD_RAM_ALIGN) { + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + dev->hw_info.ram_align = SSD_RAM_ALIGN; + } else { + hio_warn("%s: ram align error: %u\n", dev->name, dev->hw_info.ram_align); + ret = -EINVAL; + goto out; + } + } + dev->hw_info.ram_max_len = 0x1000 * (1U << ((val >> 16) & 0xF)); + + if (0 == dev->hw_info.ram_size || 0 == dev->hw_info.ram_align || 0 == dev->hw_info.ram_max_len || dev->hw_info.ram_align > dev->hw_info.ram_max_len) { + hio_warn("%s: ram info error\n", dev->name); + ret = -EINVAL; + goto out; + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + dev->hw_info.log_sz = SSD_LOG_MAX_SZ; + } else { + val = ssd_reg32_read(dev->ctrlp + SSD_LOG_INFO_REG); + dev->hw_info.log_sz = 0x1000 * (1U << (val & 0xFF)); + } + if (0 == dev->hw_info.log_sz) { + hio_warn("%s: log size error\n", dev->name); + ret = -EINVAL; + goto out; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_BBT_BASE_REG); + dev->hw_info.bbt_base = 0x40000ull * (val & 0xFFFF); + dev->hw_info.bbt_size = 0x40000 * (((val >> 16) & 0xFFFF) + 1) / (dev->hw_info.max_ch * dev->hw_info.nr_chip); + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + if (dev->hw_info.bbt_base > dev->hw_info.ram_size || 0 == dev->hw_info.bbt_size) { + hio_warn("%s: bbt info error\n", dev->name); + ret = -EINVAL; + goto out; + } + } + + val = ssd_reg32_read(dev->ctrlp + SSD_ECT_BASE_REG); + dev->hw_info.md_base = 0x40000ull * (val & 0xFFFF); + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + dev->hw_info.md_size = 0x40000 * (((val >> 16) & 0xFFF) + 1) / (dev->hw_info.max_ch * dev->hw_info.nr_chip); + } else { + dev->hw_info.md_size = 0x40000 * (((val >> 16) & 0xFFF) + 1) / (dev->hw_info.nr_chip); + } + dev->hw_info.md_entry_sz = 8 * (1U << ((val >> 28) & 0xF)); + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3) { + if (dev->hw_info.md_base > dev->hw_info.ram_size || 0 == dev->hw_info.md_size || + 0 == dev->hw_info.md_entry_sz || dev->hw_info.md_entry_sz > dev->hw_info.md_size) { + hio_warn("%s: md info error\n", dev->name); + ret = -EINVAL; + goto out; + } + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + dev->hw_info.nand_wbuff_base = dev->hw_info.ram_size + 1; + } else { + val = ssd_reg32_read(dev->ctrlp + SSD_NAND_BUFF_BASE); + dev->hw_info.nand_wbuff_base = 0x8000ull * val; + } + } + + /* flash info */ + if (mode <= SSD_DRV_MODE_DEBUG) { + if (dev->hw_info.nr_ctrl > 1) { + val = ssd_reg32_read(dev->ctrlp + SSD_CTRL_VER_REG); + dev->hw_info.ctrl_ver = val & 0xFFF; + hio_info("%s: controller firmware version: %03X\n", dev->name, dev->hw_info.ctrl_ver); + } + + val64 = ssd_reg_read(dev->ctrlp + SSD_FLASH_INFO_REG0); + dev->hw_info.nand_vendor_id = ((val64 >> 56) & 0xFF); + dev->hw_info.nand_dev_id = ((val64 >> 48) & 0xFF); + + dev->hw_info.block_count = (((val64 >> 32) & 0xFFFF) + 1); + dev->hw_info.page_count = ((val64>>16) & 0xFFFF); + dev->hw_info.page_size = (val64 & 0xFFFF); + + val = ssd_reg32_read(dev->ctrlp + SSD_BB_INFO_REG); + dev->hw_info.bbf_pages = val & 0xFF; + dev->hw_info.bbf_seek = (val >> 8) & 0x1; + + if (0 == dev->hw_info.block_count || 0 == dev->hw_info.page_count || 0 == dev->hw_info.page_size || dev->hw_info.block_count > INT_MAX) { + hio_warn("%s: flash info error\n", dev->name); + ret = -EINVAL; + goto out; + } + + //xx + dev->hw_info.oob_size = SSD_NAND_OOB_SZ; //(dev->hw_info.page_size) >> 5; + + val = ssd_reg32_read(dev->ctrlp + SSD_VALID_PAGES_REG); + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + dev->hw_info.valid_pages = val & 0x3FF; + dev->hw_info.max_valid_pages = (val>>20) & 0x3FF; + } else { + dev->hw_info.valid_pages = val & 0x7FFF; + dev->hw_info.max_valid_pages = (val>>15) & 0x7FFF; + } + if (0 == dev->hw_info.valid_pages || 0 == dev->hw_info.max_valid_pages || + dev->hw_info.valid_pages > dev->hw_info.max_valid_pages || dev->hw_info.max_valid_pages > dev->hw_info.page_count) { + hio_warn("%s: valid page info error: valid_pages %d, max_valid_pages %d\n", dev->name, dev->hw_info.valid_pages, dev->hw_info.max_valid_pages); + ret = -EINVAL; + goto out; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_RESERVED_BLKS_REG); + dev->hw_info.reserved_blks = val & 0xFFFF; + dev->hw_info.md_reserved_blks = (val >> 16) & 0xFF; + if (dev->protocol_info.ver <= SSD_PROTOCOL_V3) { + dev->hw_info.md_reserved_blks = SSD_BBT_RESERVED; + } + if (dev->hw_info.reserved_blks > dev->hw_info.block_count || dev->hw_info.md_reserved_blks > dev->hw_info.block_count) { + hio_warn("%s: reserved blocks info error: reserved_blks %d, md_reserved_blks %d\n", dev->name, dev->hw_info.reserved_blks, dev->hw_info.md_reserved_blks); + ret = -EINVAL; + goto out; + } + } + + /* size */ + if (mode < SSD_DRV_MODE_DEBUG) { + dev->hw_info.size = (uint64_t)dev->hw_info.valid_pages * dev->hw_info.page_size; + dev->hw_info.size *= (dev->hw_info.block_count - dev->hw_info.reserved_blks); + dev->hw_info.size *= ((uint64_t)dev->hw_info.nr_data_ch * (uint64_t)dev->hw_info.nr_chip * (uint64_t)dev->hw_info.nr_ctrl); + } + + /* extend hardware info */ + val = ssd_reg32_read(dev->ctrlp + SSD_PCB_VER_REG); + dev->hw_info_ext.board_type = (val >> 24) & 0xF; + + dev->hw_info_ext.form_factor = SSD_FORM_FACTOR_FHHL; + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2_1) { + dev->hw_info_ext.form_factor = (val >> 31) & 0x1; + } + /* + dev->hw_info_ext.cap_type = (val >> 28) & 0x3; + if (SSD_BM_CAP_VINA != dev->hw_info_ext.cap_type && SSD_BM_CAP_JH != dev->hw_info_ext.cap_type) { + dev->hw_info_ext.cap_type = SSD_BM_CAP_VINA; + }*/ + + /* power loss protect */ + val = ssd_reg32_read(dev->ctrlp + SSD_PLP_INFO_REG); + dev->hw_info_ext.plp_type = (val & 0x3); + if (dev->protocol_info.ver >= SSD_PROTOCOL_V3_2) { + /* 3 or 4 cap */ + dev->hw_info_ext.cap_type = ((val >> 2)& 0x1); + } + + /* work mode */ + val = ssd_reg32_read(dev->ctrlp + SSD_CH_INFO_REG); + dev->hw_info_ext.work_mode = (val >> 25) & 0x1; + +out: + /* skip error if not in standard mode */ + if (mode != SSD_DRV_MODE_STANDARD) { + ret = 0; + } + return ret; +} + +static void ssd_cleanup_response(struct ssd_device *dev) +{ + int resp_msg_sz = dev->hw_info.resp_msg_sz * dev->hw_info.cmd_fifo_sz * SSD_MSIX_VEC; + int resp_ptr_sz = dev->hw_info.resp_ptr_sz * SSD_MSIX_VEC; + + pci_free_consistent(dev->pdev, resp_ptr_sz, dev->resp_ptr_base, dev->resp_ptr_base_dma); + pci_free_consistent(dev->pdev, resp_msg_sz, dev->resp_msg_base, dev->resp_msg_base_dma); +} + +static int ssd_init_response(struct ssd_device *dev) +{ + int resp_msg_sz = dev->hw_info.resp_msg_sz * dev->hw_info.cmd_fifo_sz * SSD_MSIX_VEC; + int resp_ptr_sz = dev->hw_info.resp_ptr_sz * SSD_MSIX_VEC; + + dev->resp_msg_base = pci_alloc_consistent(dev->pdev, resp_msg_sz, &(dev->resp_msg_base_dma)); + if (!dev->resp_msg_base) { + hio_warn("%s: unable to allocate resp msg DMA buffer\n", dev->name); + goto out_alloc_resp_msg; + } + memset(dev->resp_msg_base, 0xFF, resp_msg_sz); + + dev->resp_ptr_base = pci_alloc_consistent(dev->pdev, resp_ptr_sz, &(dev->resp_ptr_base_dma)); + if (!dev->resp_ptr_base){ + hio_warn("%s: unable to allocate resp ptr DMA buffer\n", dev->name); + goto out_alloc_resp_ptr; + } + memset(dev->resp_ptr_base, 0, resp_ptr_sz); + dev->resp_idx = *(uint32_t *)(dev->resp_ptr_base) = dev->hw_info.cmd_fifo_sz * 2 - 1; + + ssd_reg_write(dev->ctrlp + SSD_RESP_FIFO_REG, dev->resp_msg_base_dma); + ssd_reg_write(dev->ctrlp + SSD_RESP_PTR_REG, dev->resp_ptr_base_dma); + + return 0; + +out_alloc_resp_ptr: + pci_free_consistent(dev->pdev, resp_msg_sz, dev->resp_msg_base, dev->resp_msg_base_dma); +out_alloc_resp_msg: + return -ENOMEM; +} + +static int ssd_cleanup_cmd(struct ssd_device *dev) +{ + int msg_sz = ALIGN(sizeof(struct ssd_rw_msg) + (dev->hw_info.cmd_max_sg - 1) * sizeof(struct ssd_sg_entry), SSD_DMA_ALIGN); + int i; + + for (i=0; i<(int)dev->hw_info.cmd_fifo_sz; i++) { + kfree(dev->cmd[i].sgl); + } + kfree(dev->cmd); + pci_free_consistent(dev->pdev, (msg_sz * dev->hw_info.cmd_fifo_sz), dev->msg_base, dev->msg_base_dma); + return 0; +} + +static int ssd_init_cmd(struct ssd_device *dev) +{ + int sgl_sz = sizeof(struct scatterlist) * dev->hw_info.cmd_max_sg; + int cmd_sz = sizeof(struct ssd_cmd) * dev->hw_info.cmd_fifo_sz; + int msg_sz = ALIGN(sizeof(struct ssd_rw_msg) + (dev->hw_info.cmd_max_sg - 1) * sizeof(struct ssd_sg_entry), SSD_DMA_ALIGN); + int i; + + spin_lock_init(&dev->cmd_lock); + + dev->msg_base = pci_alloc_consistent(dev->pdev, (msg_sz * dev->hw_info.cmd_fifo_sz), &dev->msg_base_dma); + if (!dev->msg_base) { + hio_warn("%s: can not alloc cmd msg\n", dev->name); + goto out_alloc_msg; + } + + dev->cmd = kmalloc(cmd_sz, GFP_KERNEL); + if (!dev->cmd) { + hio_warn("%s: can not alloc cmd\n", dev->name); + goto out_alloc_cmd; + } + memset(dev->cmd, 0, cmd_sz); + + for (i=0; i<(int)dev->hw_info.cmd_fifo_sz; i++) { + dev->cmd[i].sgl = kmalloc(sgl_sz, GFP_KERNEL); + if (!dev->cmd[i].sgl) { + hio_warn("%s: can not alloc cmd sgl %d\n", dev->name, i); + goto out_alloc_sgl; + } + + dev->cmd[i].msg = dev->msg_base + (msg_sz * i); + dev->cmd[i].msg_dma = dev->msg_base_dma + ((dma_addr_t)msg_sz * i); + + dev->cmd[i].dev = dev; + dev->cmd[i].tag = i; + dev->cmd[i].flag = 0; + + INIT_LIST_HEAD(&dev->cmd[i].list); + } + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3) { + dev->scmd = ssd_dispatch_cmd; + } else { + ssd_reg_write(dev->ctrlp + SSD_MSG_BASE_REG, dev->msg_base_dma); + if (finject) { + dev->scmd = ssd_send_cmd_db; + } else { + dev->scmd = ssd_send_cmd; + } + } + + return 0; + +out_alloc_sgl: + for (i--; i>=0; i--) { + kfree(dev->cmd[i].sgl); + } + kfree(dev->cmd); +out_alloc_cmd: + pci_free_consistent(dev->pdev, (msg_sz * dev->hw_info.cmd_fifo_sz), dev->msg_base, dev->msg_base_dma); +out_alloc_msg: + return -ENOMEM; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)) +static irqreturn_t ssd_interrupt_check(int irq, void *dev_id) +{ + struct ssd_queue *queue = (struct ssd_queue *)dev_id; + + if (*(uint32_t *)queue->resp_ptr == queue->resp_idx) { + return IRQ_NONE; + } + + return IRQ_WAKE_THREAD; +} + +static irqreturn_t ssd_interrupt_threaded(int irq, void *dev_id) +{ + struct ssd_queue *queue = (struct ssd_queue *)dev_id; + struct ssd_device *dev = (struct ssd_device *)queue->dev; + struct ssd_cmd *cmd; + union ssd_response_msq __msg; + union ssd_response_msq *msg = &__msg; + uint64_t *u64_msg; + uint32_t resp_idx = queue->resp_idx; + uint32_t new_resp_idx = *(uint32_t *)queue->resp_ptr; + uint32_t end_resp_idx; + + if (unlikely(resp_idx == new_resp_idx)) { + return IRQ_NONE; + } + + end_resp_idx = new_resp_idx & queue->resp_idx_mask; + + do { + resp_idx = (resp_idx + 1) & queue->resp_idx_mask; + + /* the resp msg */ + u64_msg = (uint64_t *)(queue->resp_msg + queue->resp_msg_sz * resp_idx); + msg->u64_msg = *u64_msg; + + if (unlikely(msg->u64_msg == (uint64_t)(-1))) { + hio_err("%s: empty resp msg: queue %d idx %u\n", dev->name, queue->idx, resp_idx); + continue; + } + /* clear the resp msg */ + *u64_msg = (uint64_t)(-1); + + cmd = &queue->cmd[msg->resp_msg.tag]; + /*if (unlikely(!cmd->bio)) { + printk(KERN_WARNING "%s: unknown tag %d fun %#x\n", + dev->name, msg->resp_msg.tag, msg->resp_msg.fun); + continue; + }*/ + + if(unlikely(msg->resp_msg.status & (uint32_t)status_mask)) { + cmd->errors = -EIO; + } else { + cmd->errors = 0; + } + cmd->nr_log = msg->log_resp_msg.nr_log; + + ssd_done(cmd); + + if (unlikely(msg->resp_msg.fun != SSD_FUNC_READ_LOG && msg->resp_msg.log > 0)) { + (void)test_and_set_bit(SSD_LOG_HW, &dev->state); + if (test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->log_work); + } + } + + if (unlikely(msg->resp_msg.status)) { + if (msg->resp_msg.fun == SSD_FUNC_READ || msg->resp_msg.fun == SSD_FUNC_WRITE) { + hio_err("%s: I/O error %d: tag %d fun %#x\n", + dev->name, msg->resp_msg.status, msg->resp_msg.tag, msg->resp_msg.fun); + + /* alarm led */ + ssd_set_alarm(dev); + queue->io_stat.nr_rwerr++; + ssd_gen_swlog(dev, SSD_LOG_EIO, msg->u32_msg[0]); + } else { + hio_info("%s: CMD error %d: tag %d fun %#x\n", + dev->name, msg->resp_msg.status, msg->resp_msg.tag, msg->resp_msg.fun); + + ssd_gen_swlog(dev, SSD_LOG_ECMD, msg->u32_msg[0]); + } + queue->io_stat.nr_ioerr++; + } + + if (msg->resp_msg.fun == SSD_FUNC_READ || + msg->resp_msg.fun == SSD_FUNC_NAND_READ_WOOB || + msg->resp_msg.fun == SSD_FUNC_NAND_READ) { + + queue->ecc_info.bitflip[msg->resp_msg.bitflip]++; + } + }while (resp_idx != end_resp_idx); + + queue->resp_idx = new_resp_idx; + + return IRQ_HANDLED; +} +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) +static irqreturn_t ssd_interrupt(int irq, void *dev_id, struct pt_regs *regs) +#else +static irqreturn_t ssd_interrupt(int irq, void *dev_id) +#endif +{ + struct ssd_queue *queue = (struct ssd_queue *)dev_id; + struct ssd_device *dev = (struct ssd_device *)queue->dev; + struct ssd_cmd *cmd; + union ssd_response_msq __msg; + union ssd_response_msq *msg = &__msg; + uint64_t *u64_msg; + uint32_t resp_idx = queue->resp_idx; + uint32_t new_resp_idx = *(uint32_t *)queue->resp_ptr; + uint32_t end_resp_idx; + + if (unlikely(resp_idx == new_resp_idx)) { + return IRQ_NONE; + } + +#if (defined SSD_ESCAPE_IRQ) + if (SSD_INT_MSIX != dev->int_mode) { + dev->irq_cpu = smp_processor_id(); + } +#endif + + end_resp_idx = new_resp_idx & queue->resp_idx_mask; + + do { + resp_idx = (resp_idx + 1) & queue->resp_idx_mask; + + /* the resp msg */ + u64_msg = (uint64_t *)(queue->resp_msg + queue->resp_msg_sz * resp_idx); + msg->u64_msg = *u64_msg; + + if (unlikely(msg->u64_msg == (uint64_t)(-1))) { + hio_err("%s: empty resp msg: queue %d idx %u\n", dev->name, queue->idx, resp_idx); + continue; + } + /* clear the resp msg */ + *u64_msg = (uint64_t)(-1); + + cmd = &queue->cmd[msg->resp_msg.tag]; + /*if (unlikely(!cmd->bio)) { + printk(KERN_WARNING "%s: unknown tag %d fun %#x\n", + dev->name, msg->resp_msg.tag, msg->resp_msg.fun); + continue; + }*/ + + if(unlikely(msg->resp_msg.status & (uint32_t)status_mask)) { + cmd->errors = -EIO; + } else { + cmd->errors = 0; + } + cmd->nr_log = msg->log_resp_msg.nr_log; + + ssd_done_bh(cmd); + + if (unlikely(msg->resp_msg.fun != SSD_FUNC_READ_LOG && msg->resp_msg.log > 0)) { + (void)test_and_set_bit(SSD_LOG_HW, &dev->state); + if (test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->log_work); + } + } + + if (unlikely(msg->resp_msg.status)) { + if (msg->resp_msg.fun == SSD_FUNC_READ || msg->resp_msg.fun == SSD_FUNC_WRITE) { + hio_err("%s: I/O error %d: tag %d fun %#x\n", + dev->name, msg->resp_msg.status, msg->resp_msg.tag, msg->resp_msg.fun); + + /* alarm led */ + ssd_set_alarm(dev); + queue->io_stat.nr_rwerr++; + ssd_gen_swlog(dev, SSD_LOG_EIO, msg->u32_msg[0]); + } else { + hio_info("%s: CMD error %d: tag %d fun %#x\n", + dev->name, msg->resp_msg.status, msg->resp_msg.tag, msg->resp_msg.fun); + + ssd_gen_swlog(dev, SSD_LOG_ECMD, msg->u32_msg[0]); + } + queue->io_stat.nr_ioerr++; + } + + if (msg->resp_msg.fun == SSD_FUNC_READ || + msg->resp_msg.fun == SSD_FUNC_NAND_READ_WOOB || + msg->resp_msg.fun == SSD_FUNC_NAND_READ) { + + queue->ecc_info.bitflip[msg->resp_msg.bitflip]++; + } + }while (resp_idx != end_resp_idx); + + queue->resp_idx = new_resp_idx; + + return IRQ_HANDLED; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) +static irqreturn_t ssd_interrupt_legacy(int irq, void *dev_id, struct pt_regs *regs) +#else +static irqreturn_t ssd_interrupt_legacy(int irq, void *dev_id) +#endif +{ + irqreturn_t ret; + struct ssd_queue *queue = (struct ssd_queue *)dev_id; + struct ssd_device *dev = (struct ssd_device *)queue->dev; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) + ret = ssd_interrupt(irq, dev_id, regs); +#else + ret = ssd_interrupt(irq, dev_id); +#endif + + /* clear intr */ + if (IRQ_HANDLED == ret) { + ssd_reg32_write(dev->ctrlp + SSD_CLEAR_INTR_REG, 1); + } + + return ret; +} + +static void ssd_reset_resp_ptr(struct ssd_device *dev) +{ + int i; + + for (i=0; inr_queue; i++) { + *(uint32_t *)dev->queue[i].resp_ptr = dev->queue[i].resp_idx = (dev->hw_info.cmd_fifo_sz * 2) - 1; + } +} + +static void ssd_free_irq(struct ssd_device *dev) +{ + int i; + +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + if (SSD_INT_MSIX == dev->int_mode) { + for (i=0; inr_queue; i++) { + irq_set_affinity_hint(dev->entry[i].vector, NULL); + } + } +#endif + + for (i=0; inr_queue; i++) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + free_irq(dev->entry[i].vector, &dev->queue[i]); +#else + free_irq(pci_irq_vector(dev->pdev, i), &dev->queue[i]); +#endif + } + + if (SSD_INT_MSIX == dev->int_mode) { + pci_disable_msix(dev->pdev); + } else if (SSD_INT_MSI == dev->int_mode) { + pci_disable_msi(dev->pdev); + } + +} + +static int ssd_init_irq(struct ssd_device *dev) +{ +#if (!defined MODULE) && (defined SSD_MSIX_AFFINITY_FORCE) && (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + const struct cpumask *cpu_mask = NULL; + static int cpu_affinity = 0; +#endif +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + const struct cpumask *mask = NULL; + static int cpu = 0; + int j; +#endif + int i; + unsigned long flags = 0; + int ret = 0; + + ssd_reg32_write(dev->ctrlp + SSD_INTR_INTERVAL_REG, 0x800); + +#ifdef SSD_ESCAPE_IRQ + dev->irq_cpu = -1; +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + if (int_mode >= SSD_INT_MSIX && pci_find_capability(dev->pdev, PCI_CAP_ID_MSIX)) { + dev->nr_queue = SSD_MSIX_VEC; + + for (i=0; inr_queue; i++) { + dev->entry[i].entry = i; + } + for (;;) { + ret = pci_enable_msix(dev->pdev, dev->entry, dev->nr_queue); + if (ret == 0) { + break; + } else if (ret > 0) { + dev->nr_queue = ret; + } else { + hio_warn("%s: can not enable msix\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out; + } + } + +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6)) + mask = (dev_to_node(&dev->pdev->dev) == -1) ? cpu_online_mask : cpumask_of_node(dev_to_node(&dev->pdev->dev)); + if ((0 == cpu) || (!cpumask_intersects(mask, cpumask_of(cpu)))) { + cpu = cpumask_first(mask); + } + for (i=0; inr_queue; i++) { + irq_set_affinity_hint(dev->entry[i].vector, cpumask_of(cpu)); + cpu = cpumask_next(cpu, mask); + if (cpu >= nr_cpu_ids) { + cpu = cpumask_first(mask); + } + } +#endif + + dev->int_mode = SSD_INT_MSIX; + } else if (int_mode >= SSD_INT_MSI && pci_find_capability(dev->pdev, PCI_CAP_ID_MSI)) { + ret = pci_enable_msi(dev->pdev); + if (ret) { + hio_warn("%s: can not enable msi\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out; + } + + dev->nr_queue = 1; + dev->entry[0].vector = dev->pdev->irq; + + dev->int_mode = SSD_INT_MSI; + } else { + dev->nr_queue = 1; + dev->entry[0].vector = dev->pdev->irq; + + dev->int_mode = SSD_INT_LEGACY; + } +#else + if (int_mode >= SSD_INT_MSIX && pci_find_capability(dev->pdev, PCI_CAP_ID_MSIX)) { + dev->nr_queue = SSD_MSIX_VEC; + + dev->nr_queue = pci_alloc_irq_vectors(dev->pdev, 1, dev->nr_queue, PCI_IRQ_MSIX | PCI_IRQ_AFFINITY); + if (dev->nr_queue <= 0) { + ret = -EIO; + hio_warn("%s: can not enable msix\n", dev->name); + ssd_set_alarm(dev); + goto out; + } + + dev->int_mode = SSD_INT_MSIX; + } else if (int_mode >= SSD_INT_MSI && pci_find_capability(dev->pdev, PCI_CAP_ID_MSI)) { + + ret = pci_alloc_irq_vectors(dev->pdev, 1, 1, PCI_IRQ_MSI | PCI_IRQ_AFFINITY); + if (ret <= 0) { + ret = -EIO; + hio_warn("%s: can not enable msi\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out; + } + dev->nr_queue = 1; + + dev->int_mode = SSD_INT_MSI; + } else { + ret = pci_alloc_irq_vectors(dev->pdev, 1, 1, PCI_IRQ_LEGACY); + + if (ret <= 0) { + ret = -EIO; + hio_warn("%s: can not enable msi\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out; + } + dev->nr_queue = 1; + + dev->int_mode = SSD_INT_LEGACY; + } +#endif + + for (i=0; inr_queue; i++) { + if (dev->nr_queue > 1) { + snprintf(dev->queue[i].name, SSD_QUEUE_NAME_LEN, "%s_e100-%d", dev->name, i); + } else { + snprintf(dev->queue[i].name, SSD_QUEUE_NAME_LEN, "%s_e100", dev->name); + } + + dev->queue[i].dev = dev; + dev->queue[i].idx = i; + + dev->queue[i].resp_idx = (dev->hw_info.cmd_fifo_sz * 2) - 1; + dev->queue[i].resp_idx_mask = dev->hw_info.cmd_fifo_sz - 1; + + dev->queue[i].resp_msg_sz = dev->hw_info.resp_msg_sz; + dev->queue[i].resp_msg = dev->resp_msg_base + dev->hw_info.resp_msg_sz * dev->hw_info.cmd_fifo_sz * i; + dev->queue[i].resp_ptr = dev->resp_ptr_base + dev->hw_info.resp_ptr_sz * i; + *(uint32_t *)dev->queue[i].resp_ptr = dev->queue[i].resp_idx; + + dev->queue[i].cmd = dev->cmd; + } + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) + flags = IRQF_SHARED; +#else + flags = SA_SHIRQ; +#endif + + for (i=0; inr_queue; i++) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)) + if (dev->int_mode == SSD_INT_LEGACY) { + ret = request_irq(dev->entry[i].vector, &ssd_interrupt_legacy, flags, dev->queue[i].name, &dev->queue[i]); + } else { + ret = request_irq(dev->entry[i].vector, &ssd_interrupt, flags, dev->queue[i].name, &dev->queue[i]); + } +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + if (threaded_irq) { + ret = request_threaded_irq(dev->entry[i].vector, ssd_interrupt_check, ssd_interrupt_threaded, flags, dev->queue[i].name, &dev->queue[i]); + } else if (dev->int_mode == SSD_INT_LEGACY) { + ret = request_irq(dev->entry[i].vector, &ssd_interrupt_legacy, flags, dev->queue[i].name, &dev->queue[i]); + } else { + ret = request_irq(dev->entry[i].vector, &ssd_interrupt, flags, dev->queue[i].name, &dev->queue[i]); + } +#else + if (threaded_irq) { + ret = request_threaded_irq(pci_irq_vector(dev->pdev, i), ssd_interrupt_check, ssd_interrupt_threaded, flags, dev->queue[i].name, &dev->queue[i]); + } else if (dev->int_mode == SSD_INT_LEGACY) { + ret = request_irq(pci_irq_vector(dev->pdev, i), &ssd_interrupt_legacy, flags, dev->queue[i].name, &dev->queue[i]); + } else { + ret = request_irq(pci_irq_vector(dev->pdev, i), &ssd_interrupt, flags, dev->queue[i].name, &dev->queue[i]); + } +#endif + if (ret) { + hio_warn("%s: request irq failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_request_irq; + } + +#if (!defined MODULE) && (defined SSD_MSIX_AFFINITY_FORCE) && (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + cpu_mask = (dev_to_node(&dev->pdev->dev) == -1) ? cpu_online_mask : cpumask_of_node(dev_to_node(&dev->pdev->dev)); + if (SSD_INT_MSIX == dev->int_mode) { + if ((0 == cpu_affinity) || (!cpumask_intersects(mask, cpumask_of(cpu_affinity)))) { + cpu_affinity = cpumask_first(cpu_mask); + } + + irq_set_affinity(dev->entry[i].vector, cpumask_of(cpu_affinity)); + cpu_affinity = cpumask_next(cpu_affinity, cpu_mask); + if (cpu_affinity >= nr_cpu_ids) { + cpu_affinity = cpumask_first(cpu_mask); + } + } +#endif + } + + return ret; + +out_request_irq: +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) || (defined RHEL_MAJOR && RHEL_MAJOR == 6)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + if (SSD_INT_MSIX == dev->int_mode) { + for (j=0; jnr_queue; j++) { + irq_set_affinity_hint(dev->entry[j].vector, NULL); + } + } +#endif + + for (i--; i>=0; i--) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)) + free_irq(dev->entry[i].vector, &dev->queue[i]); +#else + free_irq(pci_irq_vector(dev->pdev, i), &dev->queue[i]); +#endif + } + + if (SSD_INT_MSIX == dev->int_mode) { + pci_disable_msix(dev->pdev); + } else if (SSD_INT_MSI == dev->int_mode) { + pci_disable_msi(dev->pdev); + } + +out: + return ret; +} + +static void ssd_initial_log(struct ssd_device *dev) +{ + uint32_t val; + uint32_t speed, width; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return; + } + + val = ssd_reg32_read(dev->ctrlp + SSD_POWER_ON_REG); + if (val) { + // Poweron detection switched to SSD_INTR_INTERVAL_REG in 'ssd_init_smart' + //ssd_gen_swlog(dev, SSD_LOG_POWER_ON, dev->hw_info.bridge_ver); + } + + val = ssd_reg32_read(dev->ctrlp + SSD_PCIE_LINKSTATUS_REG); + speed = val & 0xF; + width = (val >> 4)& 0x3F; + if (0x1 == speed) { + hio_info("%s: PCIe: 2.5GT/s, x%u\n", dev->name, width); + } else if (0x2 == speed) { + hio_info("%s: PCIe: 5GT/s, x%u\n", dev->name, width); + } else { + hio_info("%s: PCIe: unknown GT/s, x%u\n", dev->name, width); + } + ssd_gen_swlog(dev, SSD_LOG_PCIE_LINK_STATUS, val); + + return; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static void ssd_hwmon_worker(void *data) +{ + struct ssd_device *dev = (struct ssd_device *)data; +#else +static void ssd_hwmon_worker(struct work_struct *work) +{ + struct ssd_device *dev = container_of(work, struct ssd_device, hwmon_work); +#endif + + if (ssd_check_hw(dev)) { + //hio_err("%s: check hardware failed\n", dev->name); + return; + } + + ssd_check_clock(dev); + ssd_check_volt(dev); + + ssd_mon_boardvolt(dev); +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static void ssd_tempmon_worker(void *data) +{ + struct ssd_device *dev = (struct ssd_device *)data; +#else +static void ssd_tempmon_worker(struct work_struct *work) +{ + struct ssd_device *dev = container_of(work, struct ssd_device, tempmon_work); +#endif + + if (ssd_check_hw(dev)) { + //hio_err("%s: check hardware failed\n", dev->name); + return; + } + + ssd_mon_temp(dev); +} + + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) +static void ssd_capmon_worker(void *data) +{ + struct ssd_device *dev = (struct ssd_device *)data; +#else +static void ssd_capmon_worker(struct work_struct *work) +{ + struct ssd_device *dev = container_of(work, struct ssd_device, capmon_work); +#endif + uint32_t cap = 0; + uint32_t cap_threshold = SSD_PL_CAP_THRESHOLD; + int ret = 0; + + if (dev->protocol_info.ver < SSD_PROTOCOL_V3_2) { + return; + } + + if (dev->hw_info_ext.form_factor == SSD_FORM_FACTOR_FHHL && dev->hw_info.pcb_ver < 'B') { + return; + } + + /* fault before? */ + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ret = ssd_check_pl_cap_fast(dev); + if (ret) { + return; + } + } + + /* learn */ + ret = ssd_do_cap_learn(dev, &cap); + if (ret) { + hio_err("%s: cap learn failed\n", dev->name); + ssd_gen_swlog(dev, SSD_LOG_CAP_LEARN_FAULT, 0); + return; + } + + ssd_gen_swlog(dev, SSD_LOG_CAP_STATUS, cap); + + if (SSD_PL_CAP_CP == dev->hw_info_ext.cap_type) { + cap_threshold = SSD_PL_CAP_CP_THRESHOLD; + } + + //use the fw event id? + if (cap < cap_threshold) { + if (!test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_BATTERY_FAULT, 0); + } + } else if (cap >= (cap_threshold + SSD_PL_CAP_THRESHOLD_HYST)) { + if (test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon)) { + ssd_gen_swlog(dev, SSD_LOG_BATTERY_OK, 0); + } + } +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) +static void ssd_routine_start(void *data) +#else +static void ssd_routine_start(struct timer_list *t) +#endif +{ + struct ssd_device *dev; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)) + if (!data) { + return; + } + dev = data; +#else + dev = from_timer(dev, t, routine_timer); +#endif + + dev->routine_tick++; + + if (test_bit(SSD_INIT_WORKQ, &dev->state) && !ssd_busy(dev)) { + (void)test_and_set_bit(SSD_LOG_HW, &dev->state); + queue_work(dev->workq, &dev->log_work); + } + + if ((dev->routine_tick % SSD_HWMON_ROUTINE_TICK) == 0 && test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->hwmon_work); + } + + if ((dev->routine_tick % SSD_CAPMON_ROUTINE_TICK) == 0 && test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->capmon_work); + } + + if ((dev->routine_tick % SSD_CAPMON2_ROUTINE_TICK) == 0 && test_bit(SSD_HWMON_PL_CAP(SSD_PL_CAP), &dev->hwmon) && test_bit(SSD_INIT_WORKQ, &dev->state)) { + /* CAP fault? check again */ + queue_work(dev->workq, &dev->capmon_work); + } + + if (test_bit(SSD_INIT_WORKQ, &dev->state)) { + queue_work(dev->workq, &dev->tempmon_work); + } + + /* schedule routine */ + mod_timer(&dev->routine_timer, jiffies + msecs_to_jiffies(SSD_ROUTINE_INTERVAL)); +} + +static void ssd_cleanup_routine(struct ssd_device *dev) +{ + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return; + + (void)ssd_del_timer(&dev->routine_timer); + + (void)ssd_del_timer(&dev->bm_timer); +} + +static int ssd_init_routine(struct ssd_device *dev) +{ + if (unlikely(mode != SSD_DRV_MODE_STANDARD)) + return 0; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) + INIT_WORK(&dev->bm_work, ssd_bm_worker, dev); + INIT_WORK(&dev->hwmon_work, ssd_hwmon_worker, dev); + INIT_WORK(&dev->capmon_work, ssd_capmon_worker, dev); + INIT_WORK(&dev->tempmon_work, ssd_tempmon_worker, dev); +#else + INIT_WORK(&dev->bm_work, ssd_bm_worker); + INIT_WORK(&dev->hwmon_work, ssd_hwmon_worker); + INIT_WORK(&dev->capmon_work, ssd_capmon_worker); + INIT_WORK(&dev->tempmon_work, ssd_tempmon_worker); +#endif + + /* initial log */ + ssd_initial_log(dev); + + /* schedule bm routine */ + ssd_add_timer(&dev->bm_timer, msecs_to_jiffies(SSD_BM_CAP_LEARNING_DELAY), ssd_bm_routine_start, dev); + + /* schedule routine */ + ssd_add_timer(&dev->routine_timer, msecs_to_jiffies(SSD_ROUTINE_INTERVAL), ssd_routine_start, dev); + + return 0; +} + +static void +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)) +__devexit +#endif +ssd_remove_one (struct pci_dev *pdev) +{ + struct ssd_device *dev; + + if (!pdev) { + return; + } + + dev = pci_get_drvdata(pdev); + if (!dev) { + return; + } + + list_del_init(&dev->list); + + ssd_unregister_sysfs(dev); + + /* offline firstly */ + test_and_clear_bit(SSD_ONLINE, &dev->state); + + /* clean work queue first */ + if (!dev->slave) { + test_and_clear_bit(SSD_INIT_WORKQ, &dev->state); + ssd_cleanup_workq(dev); + } + + /* flush cache */ + (void)ssd_flush(dev); + (void)ssd_save_md(dev); + + /* save smart */ + if (!dev->slave) { + ssd_save_smart(dev); + } + + if (test_and_clear_bit(SSD_INIT_BD, &dev->state)) { + ssd_cleanup_blkdev(dev); + } + + if (!dev->slave) { + ssd_cleanup_chardev(dev); + } + + /* clean routine */ + if (!dev->slave) { + ssd_cleanup_routine(dev); + } + + ssd_cleanup_queue(dev); + + ssd_cleanup_tag(dev); + ssd_cleanup_thread(dev); + + ssd_free_irq(dev); + + ssd_cleanup_dcmd(dev); + ssd_cleanup_cmd(dev); + ssd_cleanup_response(dev); + + if (!dev->slave) { + ssd_cleanup_log(dev); + } + + if (dev->reload_fw) { //reload fw + dev->has_non_0x98_reg_access = 1; + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FW); + } + + /* unmap physical adress */ +#ifdef LINUX_SUSE_OS + iounmap(dev->ctrlp); +#else + pci_iounmap(pdev, dev->ctrlp); +#endif + + release_mem_region(dev->mmio_base, dev->mmio_len); + + pci_disable_device(pdev); + + pci_set_drvdata(pdev, NULL); + + ssd_put(dev); +} + +static int +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)) +__devinit +#endif +ssd_init_one(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + struct ssd_device *dev; + int ret = 0; + + if (!pdev || !ent) { + ret = -EINVAL; + goto out; + } + + dev = kmalloc(sizeof(struct ssd_device), GFP_KERNEL); + if (!dev) { + ret = -ENOMEM; + goto out_alloc_dev; + } + memset(dev, 0, sizeof(struct ssd_device)); + + dev->owner = THIS_MODULE; + + if (SSD_SLAVE_PORT_DEVID == ent->device) { + dev->slave = 1; + } + + dev->idx = ssd_get_index(dev->slave); + if (dev->idx < 0) { + ret = -ENOMEM; + goto out_get_index; + } + + if (!dev->slave) { + snprintf(dev->name, SSD_DEV_NAME_LEN, SSD_DEV_NAME); + ssd_set_dev_name(&dev->name[strlen(SSD_DEV_NAME)], SSD_DEV_NAME_LEN-strlen(SSD_DEV_NAME), dev->idx); + + dev->major = ssd_major; + dev->cmajor = ssd_cmajor; + } else { + snprintf(dev->name, SSD_DEV_NAME_LEN, SSD_SDEV_NAME); + ssd_set_dev_name(&dev->name[strlen(SSD_SDEV_NAME)], SSD_DEV_NAME_LEN-strlen(SSD_SDEV_NAME), dev->idx); + dev->major = ssd_major_sl; + dev->cmajor = 0; + } + + dev->reset_time = (uint64_t)ktime_get_real_seconds(); + + atomic_set(&(dev->refcnt), 0); + atomic_set(&(dev->tocnt), 0); + + mutex_init(&dev->fw_mutex); + + //xx + mutex_init(&dev->gd_mutex); + dev->has_non_0x98_reg_access = 0; + + //init in_flight lock + spin_lock_init(&dev->in_flight_lock); + + dev->pdev = pdev; + pci_set_drvdata(pdev, dev); + + kref_init(&dev->kref); + + ret = pci_enable_device(pdev); + if (ret) { + hio_warn("%s: can not enable device\n", dev->name); + goto out_enable_device; + } + + pci_set_master(pdev); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)) + ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); +#else + ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); +#endif + if (ret) { + hio_warn("%s: set dma mask: failed\n", dev->name); + goto out_set_dma_mask; + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)) + ret = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); +#else + ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); +#endif + if (ret) { + hio_warn("%s: set consistent dma mask: failed\n", dev->name); + goto out_set_dma_mask; + } + + dev->mmio_base = pci_resource_start(pdev, 0); + dev->mmio_len = pci_resource_len(pdev, 0); + + if (!request_mem_region(dev->mmio_base, dev->mmio_len, SSD_DEV_NAME)) { + hio_warn("%s: can not reserve MMIO region 0\n", dev->name); + ret = -EBUSY; + goto out_request_mem_region; + } + + /* 2.6.9 kernel bug */ + dev->ctrlp = pci_iomap(pdev, 0, 0); + if (!dev->ctrlp) { + hio_warn("%s: can not remap IO region 0\n", dev->name); + ret = -ENOMEM; + goto out_pci_iomap; + } + + ret = ssd_check_hw(dev); + if (ret) { + hio_err("%s: check hardware failed\n", dev->name); + goto out_check_hw; + } + + ret = ssd_init_protocol_info(dev); + if (ret) { + hio_err("%s: init protocol info failed\n", dev->name); + goto out_init_protocol_info; + } + + /* alarm led ? */ + ssd_clear_alarm(dev); + + ret = ssd_init_fw_info(dev); + if (ret) { + hio_err("%s: init firmware info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_fw_info; + } + + /* slave port ? */ + if (dev->slave) { + goto init_next1; + } + + ret = ssd_init_rom_info(dev); + if (ret) { + hio_err("%s: init rom info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_rom_info; + } + + ret = ssd_init_label(dev); + if (ret) { + hio_err("%s: init label failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_label; + } + + ret = ssd_init_workq(dev); + if (ret) { + hio_warn("%s: init workq failed\n", dev->name); + goto out_init_workq; + } + (void)test_and_set_bit(SSD_INIT_WORKQ, &dev->state); + + ret = ssd_init_log(dev); + if (ret) { + hio_err("%s: init log failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_log; + } + + ret = ssd_init_smart(dev); + if (ret) { + hio_err("%s: init info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_smart; + } + +init_next1: + ret = ssd_init_hw_info(dev); + if (ret) { + hio_err("%s: init hardware info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_hw_info; + } + + /* slave port ? */ + if (dev->slave) { + goto init_next2; + } + + ret = ssd_init_sensor(dev); + if (ret) { + hio_err("%s: init sensor failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_sensor; + } + + ret = ssd_init_pl_cap(dev); + if (ret) { + hio_err("%s: int pl_cap failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_pl_cap; + } + +init_next2: + ret = ssd_check_init_state(dev); + if (ret) { + hio_err("%s: check init state failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_check_init_state; + } + + ret = ssd_init_response(dev); + if (ret) { + hio_warn("%s: init resp_msg failed\n", dev->name); + goto out_init_response; + } + + ret = ssd_init_cmd(dev); + if (ret) { + hio_warn("%s: init msg failed\n", dev->name); + goto out_init_cmd; + } + + ret = ssd_init_dcmd(dev); + if (ret) { + hio_warn("%s: init cmd failed\n", dev->name); + goto out_init_dcmd; + } + + ret = ssd_init_irq(dev); + if (ret) { + hio_warn("%s: init irq failed\n", dev->name); + goto out_init_irq; + } + + ret = ssd_init_thread(dev); + if (ret) { + hio_warn("%s: init thread failed\n", dev->name); + goto out_init_thread; + } + + ret = ssd_init_tag(dev); + if(ret) { + hio_warn("%s: init tags failed\n", dev->name); + goto out_init_tags; + } + + /* */ + (void)test_and_set_bit(SSD_ONLINE, &dev->state); + + ret = ssd_init_queue(dev); + if (ret) { + hio_warn("%s: init queue failed\n", dev->name); + goto out_init_queue; + } + + /* slave port ? */ + if (dev->slave) { + goto init_next3; + } + + ret = ssd_init_ot_protect(dev); + if (ret) { + hio_err("%s: int ot_protect failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_int_ot_protect; + } + + ret = ssd_init_wmode(dev); + if (ret) { + hio_warn("%s: init write mode\n", dev->name); + goto out_init_wmode; + } + + /* init routine after hw is ready */ + ret = ssd_init_routine(dev); + if (ret) { + hio_warn("%s: init routine\n", dev->name); + goto out_init_routine; + } + + ret = ssd_init_chardev(dev); + if (ret) { + hio_warn("%s: register char device failed\n", dev->name); + goto out_init_chardev; + } + +init_next3: + ret = ssd_init_blkdev(dev); + if (ret) { + hio_warn("%s: register block device failed\n", dev->name); + goto out_init_blkdev; + } + (void)test_and_set_bit(SSD_INIT_BD, &dev->state); + + ret = ssd_register_sysfs(dev); + if (ret) { + hio_warn("%s: register sysfs failed\n", dev->name); + goto out_register_sysfs; + } + + dev->save_md = 1; + + list_add_tail(&dev->list, &ssd_list); + + return 0; + +out_register_sysfs: + test_and_clear_bit(SSD_INIT_BD, &dev->state); + ssd_cleanup_blkdev(dev); +out_init_blkdev: + /* slave port ? */ + if (!dev->slave) { + ssd_cleanup_chardev(dev); + } +out_init_chardev: + /* slave port ? */ + if (!dev->slave) { + ssd_cleanup_routine(dev); + } +out_init_routine: +out_init_wmode: +out_int_ot_protect: + ssd_cleanup_queue(dev); +out_init_queue: + test_and_clear_bit(SSD_ONLINE, &dev->state); + ssd_cleanup_tag(dev); +out_init_tags: + ssd_cleanup_thread(dev); +out_init_thread: + ssd_free_irq(dev); +out_init_irq: + ssd_cleanup_dcmd(dev); +out_init_dcmd: + ssd_cleanup_cmd(dev); +out_init_cmd: + ssd_cleanup_response(dev); +out_init_response: +out_check_init_state: +out_init_pl_cap: +out_init_sensor: +out_init_hw_info: +out_init_smart: + /* slave port ? */ + if (!dev->slave) { + ssd_cleanup_log(dev); + } +out_init_log: + /* slave port ? */ + if (!dev->slave) { + test_and_clear_bit(SSD_INIT_WORKQ, &dev->state); + ssd_cleanup_workq(dev); + } +out_init_workq: +out_init_label: +out_init_rom_info: +out_init_fw_info: +out_init_protocol_info: +out_check_hw: +#ifdef LINUX_SUSE_OS + iounmap(dev->ctrlp); +#else + pci_iounmap(pdev, dev->ctrlp); +#endif +out_pci_iomap: + release_mem_region(dev->mmio_base, dev->mmio_len); +out_request_mem_region: +out_set_dma_mask: + pci_disable_device(pdev); +out_enable_device: + pci_set_drvdata(pdev, NULL); +out_get_index: + kfree(dev); +out_alloc_dev: +out: + return ret; +} + +static void ssd_cleanup_tasklet(void) +{ + int i; + for_each_online_cpu(i) { + tasklet_kill(&per_cpu(ssd_tasklet, i)); + } +} + +static int ssd_init_tasklet(void) +{ + int i; + + for_each_online_cpu(i) { + INIT_LIST_HEAD(&per_cpu(ssd_doneq, i)); + + if (finject) { + tasklet_init(&per_cpu(ssd_tasklet, i), __ssd_done_db, 0); + } else { + tasklet_init(&per_cpu(ssd_tasklet, i), __ssd_done, 0); + } + } + + return 0; +} + +static struct pci_device_id ssd_pci_tbl[] = { + { 0x10ee, 0x0007, PCI_ANY_ID, PCI_ANY_ID, }, /* g3 */ + { 0x19e5, 0x0007, PCI_ANY_ID, PCI_ANY_ID, }, /* v1 */ + //{ 0x19e5, 0x0008, PCI_ANY_ID, PCI_ANY_ID, }, /* v1 sp*/ + { 0x19e5, 0x0009, PCI_ANY_ID, PCI_ANY_ID, }, /* v2 */ + { 0x19e5, 0x000a, PCI_ANY_ID, PCI_ANY_ID, }, /* v2 dp slave*/ + { 0, } +}; + +/*driver power management handler for pm_ops*/ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) +static int ssd_hio_suspend(struct pci_dev *pdev, pm_message_t state) +{ +#else +static int ssd_hio_suspend(struct device *ddev) +{ + struct pci_dev *pdev = to_pci_dev(ddev); +#endif + struct ssd_device *dev; + + + if (!pdev) { + return -EINVAL; + } + + dev = pci_get_drvdata(pdev); + if (!dev) { + return -EINVAL; + } + + hio_warn("%s: suspend disk start.\n", dev->name); + ssd_unregister_sysfs(dev); + + /* offline firstly */ + test_and_clear_bit(SSD_ONLINE, &dev->state); + + /* clean work queue first */ + if (!dev->slave) { + test_and_clear_bit(SSD_INIT_WORKQ, &dev->state); + ssd_cleanup_workq(dev); + } + + /* flush cache */ + (void)ssd_flush(dev); + (void)ssd_save_md(dev); + + /* save smart */ + if (!dev->slave) { + ssd_save_smart(dev); + } + + /* clean routine */ + if (!dev->slave) { + ssd_cleanup_routine(dev); + } + + ssd_cleanup_thread(dev); + + ssd_free_irq(dev); + + if (!dev->slave) { + ssd_cleanup_log(dev); + } + + if (dev->reload_fw) { //reload fw + dev->has_non_0x98_reg_access = 1; + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FW); + } + + /* unmap physical adress */ + if (dev->ctrlp) { +#ifdef LINUX_SUSE_OS + iounmap(dev->ctrlp); +#else + pci_iounmap(pdev, dev->ctrlp); +#endif + dev->ctrlp = NULL; + } + + if (dev->mmio_base) { + release_mem_region(dev->mmio_base, dev->mmio_len); + dev->mmio_base = 0; + } + + pci_disable_device(pdev); + + hio_warn("%s: suspend disk finish.\n", dev->name); + + return 0; +} + + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) +static int ssd_hio_resume(struct pci_dev *pdev) +{ +#else +static int ssd_hio_resume(struct device *ddev) +{ + struct pci_dev *pdev = to_pci_dev(ddev); +#endif + struct ssd_device *dev = NULL; + int ret = 0; + + if (!pdev ) { + ret = -EINVAL; + goto out; + } + + dev = pci_get_drvdata(pdev); + if (!dev) { + ret = -ENOMEM; + goto out_alloc_dev; + } + + hio_warn("%s: resume disk start.\n", dev->name); + ret = pci_enable_device(pdev); + if (ret) { + hio_warn("%s: can not enable device\n", dev->name); + goto out_enable_device; + } + + pci_set_master(pdev); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)) + ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); +#else + ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); +#endif + if (ret) { + hio_warn("%s: set dma mask: failed\n", dev->name); + goto out_set_dma_mask; + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)) + ret = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); +#else + ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); +#endif + if (ret) { + hio_warn("%s: set consistent dma mask: failed\n", dev->name); + goto out_set_dma_mask; + } + + dev->mmio_base = pci_resource_start(pdev, 0); + dev->mmio_len = pci_resource_len(pdev, 0); + + if (!request_mem_region(dev->mmio_base, dev->mmio_len, SSD_DEV_NAME)) { + hio_warn("%s: can not reserve MMIO region 0\n", dev->name); + ret = -EBUSY; + goto out_request_mem_region; + } + + /* 2.6.9 kernel bug */ + dev->ctrlp = pci_iomap(pdev, 0, 0); + if (!dev->ctrlp) { + hio_warn("%s: can not remap IO region 0\n", dev->name); + ret = -ENOMEM; + goto out_pci_iomap; + } + + ret = ssd_check_hw(dev); + if (ret) { + hio_err("%s: check hardware failed\n", dev->name); + goto out_check_hw; + } + + /* alarm led ? */ + ssd_clear_alarm(dev); + + ret = ssd_init_fw_info(dev); + if (ret) { + hio_err("%s: init firmware info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_fw_info; + } + + /* slave port ? */ + if (dev->slave) { + goto init_next1; + } + + ret = ssd_init_rom_info(dev); + if (ret) { + hio_err("%s: init rom info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_rom_info; + } + + ret = ssd_init_label(dev); + if (ret) { + hio_err("%s: init label failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_label; + } + + ret = ssd_init_workq(dev); + if (ret) { + hio_warn("%s: init workq failed\n", dev->name); + goto out_init_workq; + } + (void)test_and_set_bit(SSD_INIT_WORKQ, &dev->state); + + ret = ssd_init_log(dev); + if (ret) { + hio_err("%s: init log failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_log; + } + + ret = ssd_init_smart(dev); + if (ret) { + hio_err("%s: init info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_smart; + } + +init_next1: + ret = ssd_init_hw_info(dev); + if (ret) { + hio_err("%s: init hardware info failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_hw_info; + } + + /* slave port ? */ + if (dev->slave) { + goto init_next2; + } + + ret = ssd_init_sensor(dev); + if (ret) { + hio_err("%s: init sensor failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_sensor; + } + + ret = ssd_init_pl_cap(dev); + if (ret) { + hio_err("%s: int pl_cap failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_init_pl_cap; + } + +init_next2: + ret = ssd_check_init_state(dev); + if (ret) { + hio_err("%s: check init state failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_check_init_state; + } + + //flush all base pointer to ssd + (void)ssd_reload_ssd_ptr(dev); + + ret = ssd_init_irq(dev); + if (ret) { + hio_warn("%s: init irq failed\n", dev->name); + goto out_init_irq; + } + + ret = ssd_init_thread(dev); + if (ret) { + hio_warn("%s: init thread failed\n", dev->name); + goto out_init_thread; + } + + /* */ + (void)test_and_set_bit(SSD_ONLINE, &dev->state); + + /* slave port ? */ + if (dev->slave) { + goto init_next3; + } + + ret = ssd_init_ot_protect(dev); + if (ret) { + hio_err("%s: int ot_protect failed\n", dev->name); + /* alarm led */ + ssd_set_alarm(dev); + goto out_int_ot_protect; + } + + ret = ssd_init_wmode(dev); + if (ret) { + hio_warn("%s: init write mode\n", dev->name); + goto out_init_wmode; + } + + /* init routine after hw is ready */ + ret = ssd_init_routine(dev); + if (ret) { + hio_warn("%s: init routine\n", dev->name); + goto out_init_routine; + } + +init_next3: + (void)test_and_set_bit(SSD_INIT_BD, &dev->state); + + dev->save_md = 1; + + hio_warn("%s: resume disk finish.\n", dev->name); + + return 0; + +out_init_routine: +out_init_wmode: +out_int_ot_protect: + ssd_cleanup_thread(dev); +out_init_thread: + ssd_free_irq(dev); +out_init_irq: +out_check_init_state: +out_init_pl_cap: +out_init_sensor: +out_init_hw_info: +out_init_smart: + /* slave port ? */ + if (!dev->slave) { + ssd_cleanup_log(dev); + } +out_init_log: + /* slave port ? */ + if (!dev->slave) { + test_and_clear_bit(SSD_INIT_WORKQ, &dev->state); + ssd_cleanup_workq(dev); + } +out_init_workq: +out_init_label: +out_init_rom_info: +out_init_fw_info: +out_check_hw: +#ifdef LINUX_SUSE_OS + iounmap(dev->ctrlp); +#else + pci_iounmap(pdev, dev->ctrlp); +#endif +out_pci_iomap: + release_mem_region(dev->mmio_base, dev->mmio_len); +out_request_mem_region: +out_set_dma_mask: + pci_disable_device(pdev); +out_enable_device: +out_alloc_dev: +out: + + hio_warn("%s: resume disk fail.\n", dev->name); + + return ret; +} + +MODULE_DEVICE_TABLE(pci, ssd_pci_tbl); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) +#else +SIMPLE_DEV_PM_OPS(hio_pm_ops, ssd_hio_suspend, ssd_hio_resume); +#endif + +struct pci_driver ssd_driver = { + .name = MODULE_NAME, + .id_table = ssd_pci_tbl, + .probe = ssd_init_one, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)) + .remove = __devexit_p(ssd_remove_one), +#else + .remove = ssd_remove_one, +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) + .suspend = ssd_hio_suspend, + .resume = ssd_hio_resume, +#else + .driver = { + .pm = &hio_pm_ops, + }, +#endif +}; + +/* notifier block to get a notify on system shutdown/halt/reboot */ +static int ssd_notify_reboot(struct notifier_block *nb, unsigned long event, void *buf) +{ + struct ssd_device *dev = NULL; + struct ssd_device *n = NULL; + + list_for_each_entry_safe(dev, n, &ssd_list, list) { + ssd_gen_swlog(dev, SSD_LOG_POWER_OFF, 0); + + (void)ssd_flush(dev); + (void)ssd_save_md(dev); + + /* slave port ? */ + if (!dev->slave) { + ssd_save_smart(dev); + + ssd_stop_workq(dev); + + if (dev->reload_fw) { + dev->has_non_0x98_reg_access = 1; + ssd_reg32_write(dev->ctrlp + SSD_RELOAD_FW_REG, SSD_RELOAD_FW); + } + } + } + + return NOTIFY_OK; +} + +static struct notifier_block ssd_notifier = { + ssd_notify_reboot, NULL, 0 +}; + +static int __init ssd_init_module(void) +{ + int ret = 0; + + hio_info("driver version: %s\n", DRIVER_VERSION); + + ret = ssd_init_index(); + if (ret) { + hio_warn("init index failed\n"); + goto out_init_index; + } + + ret = ssd_init_proc(); + if (ret) { + hio_warn("init proc failed\n"); + goto out_init_proc; + } + + ret = ssd_init_sysfs(); + if (ret) { + hio_warn("init sysfs failed\n"); + goto out_init_sysfs; + } + + ret = ssd_init_tasklet(); + if (ret) { + hio_warn("init tasklet failed\n"); + goto out_init_tasklet; + } + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) + ssd_class = class_simple_create(THIS_MODULE, SSD_DEV_NAME); +#else + ssd_class = class_create(THIS_MODULE, SSD_DEV_NAME); +#endif + if (IS_ERR(ssd_class)) { + ret = PTR_ERR(ssd_class); + goto out_class_create; + } + + if (ssd_cmajor > 0) { + ret = register_chrdev(ssd_cmajor, SSD_CDEV_NAME, &ssd_cfops); + } else { + ret = ssd_cmajor = register_chrdev(ssd_cmajor, SSD_CDEV_NAME, &ssd_cfops); + } + if (ret < 0) { + hio_warn("unable to register chardev major number\n"); + goto out_register_chardev; + } + + if (ssd_major > 0) { + ret = register_blkdev(ssd_major, SSD_DEV_NAME); + } else { + ret = ssd_major = register_blkdev(ssd_major, SSD_DEV_NAME); + } + if (ret < 0) { + hio_warn("unable to register major number\n"); + goto out_register_blkdev; + } + + if (ssd_major_sl > 0) { + ret = register_blkdev(ssd_major_sl, SSD_SDEV_NAME); + } else { + ret = ssd_major_sl = register_blkdev(ssd_major_sl, SSD_SDEV_NAME); + } + if (ret < 0) { + hio_warn("unable to register slave major number\n"); + goto out_register_blkdev_sl; + } + + if (mode < SSD_DRV_MODE_STANDARD || mode > SSD_DRV_MODE_BASE) { + mode = SSD_DRV_MODE_STANDARD; + } + + /* for debug */ + if (mode != SSD_DRV_MODE_STANDARD) { + ssd_minors = 1; + } + + if (int_mode < SSD_INT_LEGACY || int_mode > SSD_INT_MSIX) { + int_mode = SSD_INT_MODE_DEFAULT; + } + + if (threaded_irq) { + int_mode = SSD_INT_MSI; + } + + if (log_level >= SSD_LOG_NR_LEVEL || log_level < SSD_LOG_LEVEL_INFO) { + log_level = SSD_LOG_LEVEL_ERR; + } + + if (wmode < SSD_WMODE_BUFFER || wmode > SSD_WMODE_DEFAULT) { + wmode = SSD_WMODE_DEFAULT; + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) + ret = pci_module_init(&ssd_driver); +#else + ret = pci_register_driver(&ssd_driver); +#endif + if (ret) { + hio_warn("pci init failed\n"); + goto out_pci_init; + } + + ret = register_reboot_notifier(&ssd_notifier); + if (ret) { + hio_warn("register reboot notifier failed\n"); + goto out_register_reboot_notifier; + } + + return 0; + +out_register_reboot_notifier: +out_pci_init: + pci_unregister_driver(&ssd_driver); + unregister_blkdev(ssd_major_sl, SSD_SDEV_NAME); +out_register_blkdev_sl: + unregister_blkdev(ssd_major, SSD_DEV_NAME); +out_register_blkdev: + unregister_chrdev(ssd_cmajor, SSD_CDEV_NAME); +out_register_chardev: +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) + class_simple_destroy(ssd_class); +#else + class_destroy(ssd_class); +#endif +out_class_create: + ssd_cleanup_tasklet(); +out_init_tasklet: + ssd_cleanup_sysfs(); +out_init_sysfs: + ssd_cleanup_proc(); +out_init_proc: + ssd_cleanup_index(); +out_init_index: + return ret; + +} + +static void __exit ssd_cleanup_module(void) +{ + + hio_info("unload driver: %s\n", DRIVER_VERSION); + /* exiting */ + ssd_exiting = 1; + + unregister_reboot_notifier(&ssd_notifier); + + pci_unregister_driver(&ssd_driver); + + unregister_blkdev(ssd_major_sl, SSD_SDEV_NAME); + unregister_blkdev(ssd_major, SSD_DEV_NAME); + unregister_chrdev(ssd_cmajor, SSD_CDEV_NAME); +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)) + class_simple_destroy(ssd_class); +#else + class_destroy(ssd_class); +#endif + + ssd_cleanup_tasklet(); + ssd_cleanup_sysfs(); + ssd_cleanup_proc(); + ssd_cleanup_index(); +} + +int ssd_register_event_notifier(struct block_device *bdev, ssd_event_call event_call) +{ + struct ssd_device *dev; + struct ssd_log *le, *temp_le = NULL; + uint64_t cur; + int temp = 0; + int log_nr; + + if (!bdev || !event_call || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + dev->event_call = event_call; + + cur = (uint64_t)ktime_get_real_seconds(); + + le = (struct ssd_log *)(dev->internal_log.log); + log_nr = dev->internal_log.nr_log; + + while (log_nr--) { + if (le->time <= cur && le->time >= dev->uptime) { + if ((le->le.event == SSD_LOG_SEU_FAULT1) && (le->time < dev->reset_time)) { + le++; + continue; + } + if (le->le.event == SSD_LOG_OVER_TEMP || le->le.event == SSD_LOG_NORMAL_TEMP || le->le.event == SSD_LOG_WARN_TEMP) { + if (!temp_le || le->time >= temp_le->time) { + temp_le = le; + } + le++; + continue; + } + (void)dev->event_call(dev->gd, le->le.event, ssd_parse_log(dev, le, 0)); + } + le++; + } + + ssd_get_temperature(bdev, &temp); + if (temp_le && (temp >= SSD_OT_TEMP_HYST)) { + (void)dev->event_call(dev->gd, temp_le->le.event, ssd_parse_log(dev, temp_le, 0)); + } + + return 0; +} + +int ssd_unregister_event_notifier(struct block_device *bdev) +{ + struct ssd_device *dev; + + if (!bdev || !(bdev->bd_disk)) { + return -EINVAL; + } + + dev = bdev->bd_disk->private_data; + dev->event_call = NULL; + + return 0; +} + +EXPORT_SYMBOL(ssd_get_label); +EXPORT_SYMBOL(ssd_get_version); +EXPORT_SYMBOL(ssd_set_otprotect); +EXPORT_SYMBOL(ssd_bm_status); +EXPORT_SYMBOL(ssd_submit_pbio); +EXPORT_SYMBOL(ssd_get_pciaddr); +EXPORT_SYMBOL(ssd_get_temperature); +EXPORT_SYMBOL(ssd_register_event_notifier); +EXPORT_SYMBOL(ssd_unregister_event_notifier); +EXPORT_SYMBOL(ssd_reset); +EXPORT_SYMBOL(ssd_set_wmode); + + + +module_init(ssd_init_module); +module_exit(ssd_cleanup_module); +MODULE_VERSION(DRIVER_VERSION); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Huawei SSD DEV Team"); +MODULE_DESCRIPTION("Huawei SSD driver"); --- linux-riscv-5.8-5.8.0.orig/ubuntu/hio/hio.h +++ linux-riscv-5.8-5.8.0/ubuntu/hio/hio.h @@ -0,0 +1,104 @@ +/* +* Huawei SSD device driver +* Copyright (c) 2016, Huawei Technologies Co., Ltd. +* +* This program is free software; you can redistribute it and/or modify it +* under the terms and conditions of the GNU General Public License, +* version 2, as published by the Free Software Foundation. +* +* This program is distributed in the hope 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 _HIO_H +#define _HIO_H + +#include +#include +#include +#include + + + +typedef int (*ssd_event_call)(struct gendisk *, int, int); /* gendisk, event id, event level */ +extern int ssd_register_event_notifier(struct block_device *bdev, ssd_event_call event_call); +/* unregister event notifier before module exit */ +extern int ssd_unregister_event_notifier(struct block_device *bdev); + + +/* label */ +#define SSD_LABEL_FIELD_SZ 32 +#define SSD_SN_SZ 16 + +typedef struct ssd_label +{ + char date[SSD_LABEL_FIELD_SZ]; + char sn[SSD_LABEL_FIELD_SZ]; + char part[SSD_LABEL_FIELD_SZ]; + char desc[SSD_LABEL_FIELD_SZ]; + char other[SSD_LABEL_FIELD_SZ]; + char maf[SSD_LABEL_FIELD_SZ]; +} ssd_label_t; + + +/* version */ +typedef struct ssd_version_info +{ + uint32_t bridge_ver; /* bridge fw version: hex */ + uint32_t ctrl_ver; /* controller fw version: hex */ + uint32_t bm_ver; /* battery manager fw version: hex */ + uint8_t pcb_ver; /* main pcb version: char */ + uint8_t upper_pcb_ver; + uint8_t pad0; + uint8_t pad1; +} ssd_version_info_t; + +extern int ssd_get_label(struct block_device *bdev, struct ssd_label *label); +extern int ssd_get_version(struct block_device *bdev, struct ssd_version_info *ver); +extern int ssd_get_temperature(struct block_device *bdev, int *temp); + + +enum ssd_bmstatus +{ + SSD_BMSTATUS_OK = 0, + SSD_BMSTATUS_CHARGING, + SSD_BMSTATUS_WARNING +}; +extern int ssd_bm_status(struct block_device *bdev, int *status); + +enum ssd_otprotect +{ + SSD_OTPROTECT_OFF = 0, + SSD_OTPROTECT_ON +}; +extern int ssd_set_otprotect(struct block_device *bdev, int otprotect); + +typedef struct pci_addr +{ + uint16_t domain; + uint8_t bus; + uint8_t slot; + uint8_t func; +} pci_addr_t; +extern int ssd_get_pciaddr(struct block_device *bdev, struct pci_addr *paddr); + +/* submit phys bio: phys addr in iovec */ +extern void ssd_submit_pbio(struct request_queue *q, struct bio *bio); + +extern int ssd_reset(struct block_device *bdev); + +enum ssd_write_mode +{ + SSD_WMODE_BUFFER = 0, + SSD_WMODE_BUFFER_EX, + SSD_WMODE_FUA, + /* dummy */ + SSD_WMODE_AUTO, + SSD_WMODE_DEFAULT +}; +extern int ssd_set_wmode(struct block_device *bdev, int wmode); + +#endif + --- linux-riscv-5.8-5.8.0.orig/ubuntu/include/Kbuild +++ linux-riscv-5.8-5.8.0/ubuntu/include/Kbuild @@ -0,0 +1,2 @@ + + --- linux-riscv-5.8-5.8.0.orig/ubuntu/include/README +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/ubuntu/ubuntu-host/Kconfig +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/ubuntu/ubuntu-host/Makefile +++ linux-riscv-5.8-5.8.0/ubuntu/ubuntu-host/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_UBUNTU_HOST) += ubuntu-host.o --- linux-riscv-5.8-5.8.0.orig/ubuntu/ubuntu-host/ubuntu-host.c +++ linux-riscv-5.8-5.8.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-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/Makefile +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/Makefile @@ -0,0 +1,15 @@ +obj-m := xr_usb_serial_common.o + +KERNELDIR ?= /lib/modules/$(shell uname -r)/build +PWD := $(shell pwd) + +EXTRA_CFLAGS := -DDEBUG=0 + +all: + $(MAKE) -C $(KERNELDIR) M=$(PWD) + +modules_install: + $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install + +clean: + rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions vtty --- linux-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/README.txt +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/README.txt @@ -0,0 +1,50 @@ +Exar USB Serial Driver +====================== +Version 1A, 1/9/2015 + +This driver will work with any USB UART function in these Exar devices: + XR21V1410/1412/1414 + XR21B1411 + XR21B1420/1422/1424 + XR22801/802/804 + +The source code has been tested on various Linux kernels from 3.6.x to 3.17.x. +This may also work with newer kernels as well. + + +Installation +------------ + +* Compile and install the common usb serial driver module + + # make + # insmod ./xr_usb_serial_common.ko + + +* Plug the device into the USB host. You should see up to four devices created, + typically /dev/ttyXRUSB[0-3]. + + +Tips for Debugging +------------------ + +* Check that the USB UART is detected by the system + + # lsusb + +* Check that the CDC-ACM driver was not installed for the Exar USB UART + + # ls /dev/tty* + + To remove the CDC-ACM driver and install the driver: + + # rmmod cdc-acm + # modprobe -r usbserial + # modprobe usbserial + # insmod ./xr_usb_serial_common.ko + + +Technical Support +----------------- +Send any technical questions/issues to uarttechsupport@exar.com. + --- linux-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/xr_usb_serial_common.c +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/xr_usb_serial_common.c @@ -0,0 +1,1802 @@ +/* + * 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. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + /* + * Copyright (c) 2015 Exar Corporation, Inc. + * + * This driver will work with any USB UART function in these Exar devices: + * XR21V1410/1412/1414 + * XR21B1411 + * XR21B1420/1422/1424 + * XR22801/802/804 + * + * The driver has been tested on various kernel versions from 3.6.x to 3.17.x. + * This driver may work on newer versions as well. There is a different driver available + * from www.exar.com that will work with kernel versions 2.6.18 to 3.4.x. + * + * ChangeLog: + * Version 1A - Initial released version. + */ + +//#undef DEBUG +#undef VERBOSE_DEBUG + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "linux/version.h" + +#include "xr_usb_serial_common.h" +#include "xr_usb_serial_ioctl.h" + + +#define DRIVER_AUTHOR "" +#define DRIVER_DESC "Exar USB UART (serial port) driver" + +static struct usb_driver xr_usb_serial_driver; +static struct tty_driver *xr_usb_serial_tty_driver; +static struct xr_usb_serial *xr_usb_serial_table[XR_USB_SERIAL_TTY_MINORS]; + +static DEFINE_MUTEX(xr_usb_serial_table_lock); + +/* + * xr_usb_serial_table accessors + */ + +/* + * Look up an XR_USB_SERIAL structure by index. If found and not disconnected, increment + * its refcount and return it with its mutex held. + */ +static struct xr_usb_serial *xr_usb_serial_get_by_index(unsigned index) +{ + struct xr_usb_serial *xr_usb_serial; + + mutex_lock(&xr_usb_serial_table_lock); + xr_usb_serial = xr_usb_serial_table[index]; + if (xr_usb_serial) { + mutex_lock(&xr_usb_serial->mutex); + if (xr_usb_serial->disconnected) { + mutex_unlock(&xr_usb_serial->mutex); + xr_usb_serial = NULL; + } else { + tty_port_get(&xr_usb_serial->port); + mutex_unlock(&xr_usb_serial->mutex); + } + } + mutex_unlock(&xr_usb_serial_table_lock); + return xr_usb_serial; +} + +/* + * Try to find an available minor number and if found, associate it with 'xr_usb_serial'. + */ +static int xr_usb_serial_alloc_minor(struct xr_usb_serial *xr_usb_serial) +{ + int minor; + + mutex_lock(&xr_usb_serial_table_lock); + for (minor = 0; minor < XR_USB_SERIAL_TTY_MINORS; minor++) { + if (!xr_usb_serial_table[minor]) { + xr_usb_serial_table[minor] = xr_usb_serial; + break; + } + } + mutex_unlock(&xr_usb_serial_table_lock); + + return minor; +} + +/* Release the minor number associated with 'xr_usb_serial'. */ +static void xr_usb_serial_release_minor(struct xr_usb_serial *xr_usb_serial) +{ + mutex_lock(&xr_usb_serial_table_lock); + xr_usb_serial_table[xr_usb_serial->minor] = NULL; + mutex_unlock(&xr_usb_serial_table_lock); +} + +/* + * Functions for XR_USB_SERIAL control messages. + */ + +static int xr_usb_serial_ctrl_msg(struct xr_usb_serial *xr_usb_serial, int request, int value, + void *buf, int len) +{ + int retval = usb_control_msg(xr_usb_serial->dev, usb_sndctrlpipe(xr_usb_serial->dev, 0), + request, USB_RT_XR_USB_SERIAL, value, + xr_usb_serial->control->altsetting[0].desc.bInterfaceNumber, + buf, len, 5000); + dev_dbg(&xr_usb_serial->control->dev, + "%s - rq 0x%02x, val %#x, len %#x, result %d\n", + __func__, request, value, len, retval); + return retval < 0 ? retval : 0; +} + +#include "xr_usb_serial_hal.c" + + +/* + * Write buffer management. + * All of these assume proper locks taken by the caller. + */ + +static int xr_usb_serial_wb_alloc(struct xr_usb_serial *xr_usb_serial) +{ + int i, wbn; + struct xr_usb_serial_wb *wb; + + wbn = 0; + i = 0; + for (;;) { + wb = &xr_usb_serial->wb[wbn]; + if (!wb->use) { + wb->use = 1; + return wbn; + } + wbn = (wbn + 1) % XR_USB_SERIAL_NW; + if (++i >= XR_USB_SERIAL_NW) + return -1; + } +} + +static int xr_usb_serial_wb_is_avail(struct xr_usb_serial *xr_usb_serial) +{ + int i, n; + unsigned long flags; + + n = XR_USB_SERIAL_NW; + spin_lock_irqsave(&xr_usb_serial->write_lock, flags); + for (i = 0; i < XR_USB_SERIAL_NW; i++) + n -= xr_usb_serial->wb[i].use; + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + return n; +} + +/* + * Finish write. Caller must hold xr_usb_serial->write_lock + */ +static void xr_usb_serial_write_done(struct xr_usb_serial *xr_usb_serial, struct xr_usb_serial_wb *wb) +{ + wb->use = 0; + xr_usb_serial->transmitting--; + usb_autopm_put_interface_async(xr_usb_serial->control); +} + +/* + * Poke write. + * + * the caller is responsible for locking + */ + +static int xr_usb_serial_start_wb(struct xr_usb_serial *xr_usb_serial, struct xr_usb_serial_wb *wb) +{ + int rc; + + xr_usb_serial->transmitting++; + + wb->urb->transfer_buffer = wb->buf; + wb->urb->transfer_dma = wb->dmah; + wb->urb->transfer_buffer_length = wb->len; + wb->urb->dev = xr_usb_serial->dev; + + rc = usb_submit_urb(wb->urb, GFP_ATOMIC); + if (rc < 0) { + dev_err(&xr_usb_serial->data->dev, + "%s - usb_submit_urb(write bulk) failed: %d\n", + __func__, rc); + xr_usb_serial_write_done(xr_usb_serial, wb); + } + return rc; +} + +/* + * attributes exported through sysfs + */ +static ssize_t show_caps +(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + + return sprintf(buf, "%d", xr_usb_serial->ctrl_caps); +} +static DEVICE_ATTR(bmCapabilities, S_IRUGO, show_caps, NULL); + +static ssize_t show_country_codes +(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + + memcpy(buf, xr_usb_serial->country_codes, xr_usb_serial->country_code_size); + return xr_usb_serial->country_code_size; +} + +static DEVICE_ATTR(wCountryCodes, S_IRUGO, show_country_codes, NULL); + +static ssize_t show_country_rel_date +(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + + return sprintf(buf, "%d", xr_usb_serial->country_rel_date); +} + +static DEVICE_ATTR(iCountryCodeRelDate, S_IRUGO, show_country_rel_date, NULL); + +static ssize_t set_rs485_422_en(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t count) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + int error, value = 0; + + error = kstrtoint(buf, 0, &value); + if (error) + return error; + + if (value == 0) { + xr_usb_serial->rs485_422_en = false; + } else if (value == 1) { + // RS485,RS422 HD/FD mode + xr_usb_serial->rs485_422_en = true; + } + + return count; +} + +static ssize_t show_rs485_422_en(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + + if (xr_usb_serial->rs485_422_en == false) { + return sprintf(buf, "0"); + } else if (xr_usb_serial->rs485_422_en == true) { + // RS485,RS422 HD/FD mode + return sprintf(buf, "1"); + } + return 0; +} + +static DEVICE_ATTR(bRS485_422_en, 0644, show_rs485_422_en, set_rs485_422_en); + +/* + * Interrupt handlers for various XR_USB_SERIAL device responses + */ + +/* control interface reports status changes with "interrupt" transfers */ +static void xr_usb_serial_ctrl_irq(struct urb *urb) +{ + struct xr_usb_serial *xr_usb_serial = urb->context; + struct usb_cdc_notification *dr = urb->transfer_buffer; + struct tty_struct *tty; + unsigned char *data; + int newctrl; + int retval; + int status = urb->status; + int i; + unsigned char *p; + + switch (status) { + case 0: + p = (unsigned char *)(urb->transfer_buffer); + for(i=0;iactual_length;i++) + { + dev_dbg(&xr_usb_serial->control->dev,"0x%02x\n",p[i]); + } + /* success */ + break; + case -ECONNRESET: + case -ENOENT: + case -ESHUTDOWN: + /* this urb is terminated, clean up */ + dev_dbg(&xr_usb_serial->control->dev, + "%s - urb shutting down with status: %d\n", + __func__, status); + return; + default: + dev_dbg(&xr_usb_serial->control->dev, + "%s - nonzero urb status received: %d\n", + __func__, status); + goto exit; + } + + usb_mark_last_busy(xr_usb_serial->dev); + + data = (unsigned char *)(dr + 1); + switch (dr->bNotificationType) { + case USB_CDC_NOTIFY_NETWORK_CONNECTION: + dev_dbg(&xr_usb_serial->control->dev, "%s - network connection: %d\n", + __func__, dr->wValue); + break; + + case USB_CDC_NOTIFY_SERIAL_STATE: +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 9, 0) + newctrl = get_unaligned_le16(data); + if (!xr_usb_serial->clocal && (xr_usb_serial->ctrlin & ~newctrl & XR_USB_SERIAL_CTRL_DCD)) { + dev_dbg(&xr_usb_serial->control->dev, "%s - calling hangup\n", + __func__); + tty_port_tty_hangup(&xr_usb_serial->port, false); + } +#else + tty = tty_port_tty_get(&xr_usb_serial->port); + newctrl = get_unaligned_le16(data); + if (tty) + { + if (!xr_usb_serial->clocal && + (xr_usb_serial->ctrlin & ~newctrl & XR_USB_SERIAL_CTRL_DCD)) { + dev_dbg(&xr_usb_serial->control->dev, + "%s - calling hangup\n", __func__); + tty_hangup(tty); + } + tty_kref_put(tty); + } +#endif + xr_usb_serial->ctrlin = newctrl; + + dev_dbg(&xr_usb_serial->control->dev, + "%s - input control lines: dcd%c dsr%c break%c " + "ring%c framing%c parity%c overrun%c\n", + __func__, + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_DCD ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_DSR ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_BRK ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_RI ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_FRAMING ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_PARITY ? '+' : '-', + xr_usb_serial->ctrlin & XR_USB_SERIAL_CTRL_OVERRUN ? '+' : '-'); + break; + + default: + dev_dbg(&xr_usb_serial->control->dev, + "%s - unknown notification %d received: index %d " + "len %d data0 %d data1 %d\n", + __func__, + dr->bNotificationType, dr->wIndex, + dr->wLength, data[0], data[1]); + break; + } +exit: + retval = usb_submit_urb(urb, GFP_ATOMIC); + if (retval) + dev_err(&xr_usb_serial->control->dev, "%s - usb_submit_urb failed: %d\n", + __func__, retval); +} + +static int xr_usb_serial_submit_read_urb(struct xr_usb_serial *xr_usb_serial, int index, gfp_t mem_flags) +{ + int res; + + if (!test_and_clear_bit(index, &xr_usb_serial->read_urbs_free)) + return 0; + + dev_vdbg(&xr_usb_serial->data->dev, "%s - urb %d\n", __func__, index); + + res = usb_submit_urb(xr_usb_serial->read_urbs[index], mem_flags); + if (res) { + if (res != -EPERM) { + dev_err(&xr_usb_serial->data->dev, + "%s - usb_submit_urb failed: %d\n", + __func__, res); + } + set_bit(index, &xr_usb_serial->read_urbs_free); + return res; + } + + return 0; +} + +static int xr_usb_serial_submit_read_urbs(struct xr_usb_serial *xr_usb_serial, gfp_t mem_flags) +{ + int res; + int i; + + for (i = 0; i < xr_usb_serial->rx_buflimit; ++i) { + res = xr_usb_serial_submit_read_urb(xr_usb_serial, i, mem_flags); + if (res) + return res; + } + + return 0; +} +static void xr_usb_serial_process_read_urb(struct xr_usb_serial *xr_usb_serial, struct urb *urb) +{ + struct tty_struct *tty; + if (!urb->actual_length) + return; +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 9, 0) + tty_insert_flip_string(&xr_usb_serial->port, urb->transfer_buffer, + urb->actual_length); + tty_flip_buffer_push(&xr_usb_serial->port); +#else + tty = tty_port_tty_get(&xr_usb_serial->port); + if (!tty) + return; + tty_insert_flip_string(tty, urb->transfer_buffer, urb->actual_length); + tty_flip_buffer_push(tty); + + tty_kref_put(tty); +#endif +} + +static void xr_usb_serial_read_bulk_callback(struct urb *urb) +{ + struct xr_usb_serial_rb *rb = urb->context; + struct xr_usb_serial *xr_usb_serial = rb->instance; + unsigned long flags; + + dev_vdbg(&xr_usb_serial->data->dev, "%s - urb %d, len %d\n", __func__, + rb->index, urb->actual_length); + set_bit(rb->index, &xr_usb_serial->read_urbs_free); + + if (!xr_usb_serial->dev) { + dev_dbg(&xr_usb_serial->data->dev, "%s - disconnected\n", __func__); + return; + } + usb_mark_last_busy(xr_usb_serial->dev); + + if (urb->status) { + dev_dbg(&xr_usb_serial->data->dev, "%s - non-zero urb status: %d\n", + __func__, urb->status); + return; + } + xr_usb_serial_process_read_urb(xr_usb_serial, urb); + + /* throttle device if requested by tty */ + spin_lock_irqsave(&xr_usb_serial->read_lock, flags); + xr_usb_serial->throttled = xr_usb_serial->throttle_req; + if (!xr_usb_serial->throttled && !xr_usb_serial->susp_count) { + spin_unlock_irqrestore(&xr_usb_serial->read_lock, flags); + xr_usb_serial_submit_read_urb(xr_usb_serial, rb->index, GFP_ATOMIC); + } else { + spin_unlock_irqrestore(&xr_usb_serial->read_lock, flags); + } +} + +/* data interface wrote those outgoing bytes */ +static void xr_usb_serial_write_bulk(struct urb *urb) +{ + struct xr_usb_serial_wb *wb = urb->context; + struct xr_usb_serial *xr_usb_serial = wb->instance; + unsigned long flags; + + if (urb->status || (urb->actual_length != urb->transfer_buffer_length)) + dev_vdbg(&xr_usb_serial->data->dev, "%s - len %d/%d, status %d\n", + __func__, + urb->actual_length, + urb->transfer_buffer_length, + urb->status); + + spin_lock_irqsave(&xr_usb_serial->write_lock, flags); + xr_usb_serial_write_done(xr_usb_serial, wb); + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + schedule_work(&xr_usb_serial->work); +} + +static void xr_usb_serial_softint(struct work_struct *work) +{ + struct xr_usb_serial *xr_usb_serial = container_of(work, struct xr_usb_serial, work); + struct tty_struct *tty; + + dev_vdbg(&xr_usb_serial->data->dev, "%s\n", __func__); +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 9, 0) + tty_port_tty_wakeup(&xr_usb_serial->port); +#else + tty = tty_port_tty_get(&xr_usb_serial->port); + if (!tty) + return; + tty_wakeup(tty); + tty_kref_put(tty); +#endif +} + +/* + * TTY handlers + */ + +static int xr_usb_serial_tty_install(struct tty_driver *driver, struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial; + int retval; + + dev_dbg(tty->dev, "%s\n", __func__); + + xr_usb_serial = xr_usb_serial_get_by_index(tty->index); + if (!xr_usb_serial) + return -ENODEV; + + retval = tty_standard_install(driver, tty); + if (retval) + goto error_init_termios; + + tty->driver_data = xr_usb_serial; + + return 0; + +error_init_termios: + tty_port_put(&xr_usb_serial->port); + return retval; +} + +static int xr_usb_serial_tty_open(struct tty_struct *tty, struct file *filp) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + + dev_dbg(tty->dev, "%s\n", __func__); + + return tty_port_open(&xr_usb_serial->port, tty, filp); +} + +static int xr_usb_serial_port_activate(struct tty_port *port, struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = container_of(port, struct xr_usb_serial, port); + int retval = -ENODEV; + + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + + mutex_lock(&xr_usb_serial->mutex); + if (xr_usb_serial->disconnected) + goto disconnected; + + retval = usb_autopm_get_interface(xr_usb_serial->control); + if (retval) + goto error_get_interface; + + /* + * FIXME: Why do we need this? Allocating 64K of physically contiguous + * memory is really nasty... + */ + set_bit(TTY_NO_WRITE_SPLIT, &tty->flags); + xr_usb_serial->control->needs_remote_wakeup = 1; + + xr_usb_serial->ctrlurb->dev = xr_usb_serial->dev; + if (usb_submit_urb(xr_usb_serial->ctrlurb, GFP_KERNEL)) { + dev_err(&xr_usb_serial->control->dev, + "%s - usb_submit_urb(ctrl irq) failed\n", __func__); + goto error_submit_urb; + } + + xr_usb_serial->ctrlout = XR_USB_SERIAL_CTRL_DTR | XR_USB_SERIAL_CTRL_RTS; + if (xr_usb_serial_set_control(xr_usb_serial, xr_usb_serial->ctrlout) < 0 && + (xr_usb_serial->ctrl_caps & USB_CDC_CAP_LINE)) + goto error_set_control; + + usb_autopm_put_interface(xr_usb_serial->control); + + /* + * Unthrottle device in case the TTY was closed while throttled. + */ + spin_lock_irq(&xr_usb_serial->read_lock); + xr_usb_serial->throttled = 0; + xr_usb_serial->throttle_req = 0; + spin_unlock_irq(&xr_usb_serial->read_lock); + + if (xr_usb_serial_submit_read_urbs(xr_usb_serial, GFP_KERNEL)) + goto error_submit_read_urbs; + + mutex_unlock(&xr_usb_serial->mutex); + + return 0; + +error_submit_read_urbs: + xr_usb_serial->ctrlout = 0; + xr_usb_serial_set_control(xr_usb_serial, xr_usb_serial->ctrlout); +error_set_control: + usb_kill_urb(xr_usb_serial->ctrlurb); +error_submit_urb: + usb_autopm_put_interface(xr_usb_serial->control); +error_get_interface: +disconnected: + mutex_unlock(&xr_usb_serial->mutex); + return retval; +} + +static void xr_usb_serial_port_destruct(struct tty_port *port) +{ + struct xr_usb_serial *xr_usb_serial = container_of(port, struct xr_usb_serial, port); + + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + tty_unregister_device(xr_usb_serial_tty_driver, xr_usb_serial->minor); + #endif + xr_usb_serial_release_minor(xr_usb_serial); + usb_put_intf(xr_usb_serial->control); + kfree(xr_usb_serial->country_codes); + kfree(xr_usb_serial); +} + +static void xr_usb_serial_port_shutdown(struct tty_port *port) +{ + struct xr_usb_serial *xr_usb_serial = container_of(port, struct xr_usb_serial, port); + int i; + + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + + mutex_lock(&xr_usb_serial->mutex); + if (!xr_usb_serial->disconnected) { + usb_autopm_get_interface(xr_usb_serial->control); + xr_usb_serial_set_control(xr_usb_serial, xr_usb_serial->ctrlout = 0); + usb_kill_urb(xr_usb_serial->ctrlurb); + for (i = 0; i < XR_USB_SERIAL_NW; i++) + usb_kill_urb(xr_usb_serial->wb[i].urb); + for (i = 0; i < xr_usb_serial->rx_buflimit; i++) + usb_kill_urb(xr_usb_serial->read_urbs[i]); + xr_usb_serial->control->needs_remote_wakeup = 0; + usb_autopm_put_interface(xr_usb_serial->control); + } + mutex_unlock(&xr_usb_serial->mutex); +} + +static void xr_usb_serial_tty_cleanup(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + tty_port_put(&xr_usb_serial->port); +} + +static void xr_usb_serial_tty_hangup(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + tty_port_hangup(&xr_usb_serial->port); +} + +static void xr_usb_serial_tty_close(struct tty_struct *tty, struct file *filp) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + tty_port_close(&xr_usb_serial->port, tty, filp); +} + +static int xr_usb_serial_tty_write(struct tty_struct *tty, + const unsigned char *buf, int count) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + int stat; + unsigned long flags; + int wbn; + struct xr_usb_serial_wb *wb; + + if (!count) + return 0; + + dev_vdbg(&xr_usb_serial->data->dev, "%s - count %d\n", __func__, count); + + spin_lock_irqsave(&xr_usb_serial->write_lock, flags); + wbn = xr_usb_serial_wb_alloc(xr_usb_serial); + if (wbn < 0) { + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + return 0; + } + wb = &xr_usb_serial->wb[wbn]; + + if (!xr_usb_serial->dev) { + wb->use = 0; + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + return -ENODEV; + } + + count = (count > xr_usb_serial->writesize) ? xr_usb_serial->writesize : count; + dev_vdbg(&xr_usb_serial->data->dev, "%s - write %d\n", __func__, count); + memcpy(wb->buf, buf, count); + wb->len = count; + + usb_autopm_get_interface_async(xr_usb_serial->control); + if (xr_usb_serial->susp_count) { + if (!xr_usb_serial->delayed_wb) + xr_usb_serial->delayed_wb = wb; + else + usb_autopm_put_interface_async(xr_usb_serial->control); + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + return count; /* A white lie */ + } + usb_mark_last_busy(xr_usb_serial->dev); + + stat = xr_usb_serial_start_wb(xr_usb_serial, wb); + spin_unlock_irqrestore(&xr_usb_serial->write_lock, flags); + + if (stat < 0) + return stat; + return count; +} + +static int xr_usb_serial_tty_write_room(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + /* + * Do not let the line discipline to know that we have a reserve, + * or it might get too enthusiastic. + */ + return xr_usb_serial_wb_is_avail(xr_usb_serial) ? xr_usb_serial->writesize : 0; +} + +static int xr_usb_serial_tty_chars_in_buffer(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + /* + * if the device was unplugged then any remaining characters fell out + * of the connector ;) + */ + if (xr_usb_serial->disconnected) + return 0; + /* + * This is inaccurate (overcounts), but it works. + */ + return (XR_USB_SERIAL_NW - xr_usb_serial_wb_is_avail(xr_usb_serial)) * xr_usb_serial->writesize; +} + +static void xr_usb_serial_tty_throttle(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + + spin_lock_irq(&xr_usb_serial->read_lock); + xr_usb_serial->throttle_req = 1; + spin_unlock_irq(&xr_usb_serial->read_lock); +} + +static void xr_usb_serial_tty_unthrottle(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + unsigned int was_throttled; + + spin_lock_irq(&xr_usb_serial->read_lock); + was_throttled = xr_usb_serial->throttled; + xr_usb_serial->throttled = 0; + xr_usb_serial->throttle_req = 0; + spin_unlock_irq(&xr_usb_serial->read_lock); + + if (was_throttled) + xr_usb_serial_submit_read_urbs(xr_usb_serial, GFP_KERNEL); +} + +static int xr_usb_serial_tty_break_ctl(struct tty_struct *tty, int state) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + int retval; + + retval = xr_usb_serial_send_break(xr_usb_serial, state ? 0xffff : 0); + if (retval < 0) + dev_dbg(&xr_usb_serial->control->dev, "%s - send break failed\n", + __func__); + return retval; +} + +static int xr_usb_serial_tty_tiocmget(struct tty_struct *tty) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_tty_tiocmget\n"); + return xr_usb_serial_tiocmget(xr_usb_serial); + +} + +static int xr_usb_serial_tty_tiocmset(struct tty_struct *tty, + unsigned int set, unsigned int clear) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_tty_tiocmset set=0x%x clear=0x%x\n",set,clear); + return xr_usb_serial_tiocmset(xr_usb_serial,set,clear); + +} + +static int get_serial_info(struct xr_usb_serial *xr_usb_serial, struct serial_struct __user *info) +{ + struct serial_struct tmp; + + if (!info) + return -EINVAL; + + memset(&tmp, 0, sizeof(tmp)); + tmp.flags = ASYNC_LOW_LATENCY; + tmp.xmit_fifo_size = xr_usb_serial->writesize; + tmp.baud_base = le32_to_cpu(xr_usb_serial->line.dwDTERate); + tmp.close_delay = xr_usb_serial->port.close_delay / 10; + tmp.closing_wait = xr_usb_serial->port.closing_wait == ASYNC_CLOSING_WAIT_NONE ? + ASYNC_CLOSING_WAIT_NONE : + xr_usb_serial->port.closing_wait / 10; + + if (copy_to_user(info, &tmp, sizeof(tmp))) + return -EFAULT; + else + return 0; +} + +static int set_serial_info(struct xr_usb_serial *xr_usb_serial, + struct serial_struct __user *newinfo) +{ + struct serial_struct new_serial; + unsigned int closing_wait, close_delay; + int retval = 0; + + if (copy_from_user(&new_serial, newinfo, sizeof(new_serial))) + return -EFAULT; + + close_delay = new_serial.close_delay * 10; + closing_wait = new_serial.closing_wait == ASYNC_CLOSING_WAIT_NONE ? + ASYNC_CLOSING_WAIT_NONE : new_serial.closing_wait * 10; + + mutex_lock(&xr_usb_serial->port.mutex); + + if (!capable(CAP_SYS_ADMIN)) { + if ((close_delay != xr_usb_serial->port.close_delay) || + (closing_wait != xr_usb_serial->port.closing_wait)) + retval = -EPERM; + else + retval = -EOPNOTSUPP; + } else { + xr_usb_serial->port.close_delay = close_delay; + xr_usb_serial->port.closing_wait = closing_wait; + } + + mutex_unlock(&xr_usb_serial->port.mutex); + return retval; +} + +static int xr_usb_serial_tty_ioctl(struct tty_struct *tty, + unsigned int cmd, unsigned long arg) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; + int rv = -ENOIOCTLCMD; + unsigned int channel, reg, val; + + short *data; + switch (cmd) { + case TIOCGSERIAL: /* gets serial port data */ + rv = get_serial_info(xr_usb_serial, (struct serial_struct __user *) arg); + break; + case TIOCSSERIAL: + rv = set_serial_info(xr_usb_serial, (struct serial_struct __user *) arg); + break; + case XR_USB_SERIAL_GET_REG: + if (get_user(channel, (int __user *)arg)) + return -EFAULT; + if (get_user(reg, (int __user *)(arg + sizeof(int)))) + return -EFAULT; + + data = kmalloc(2, GFP_KERNEL); + if (data == NULL) { + dev_err(&xr_usb_serial->control->dev, "%s - Cannot allocate USB buffer.\n", __func__); + return -ENOMEM; + } + + if (channel == -1) + { + rv = xr_usb_serial_get_reg(xr_usb_serial,reg, data); + } + else + { + rv = xr_usb_serial_get_reg_ext(xr_usb_serial,channel,reg, data); + } + if (rv != 1) { + dev_err(&xr_usb_serial->control->dev, "Cannot get register (%d)\n", rv); + kfree(data); + return -EFAULT; + } + if (put_user(le16_to_cpu(*data), (int __user *)(arg + 2 * sizeof(int)))) + { + dev_err(&xr_usb_serial->control->dev, "Cannot put user result\n"); + kfree(data); + return -EFAULT; + } + rv = 0; + kfree(data); + break; + + case XR_USB_SERIAL_SET_REG: + if (get_user(channel, (int __user *)arg)) + return -EFAULT; + if (get_user(reg, (int __user *)(arg + sizeof(int)))) + return -EFAULT; + if (get_user(val, (int __user *)(arg + 2 * sizeof(int)))) + return -EFAULT; + + if (channel == -1) + { + rv = xr_usb_serial_set_reg(xr_usb_serial,reg, val); + } + else + { + rv = xr_usb_serial_set_reg_ext(xr_usb_serial,channel,reg, val); + + } + if (rv < 0) + return -EFAULT; + rv = 0; + break; + case XR_USB_SERIAL_LOOPBACK: + if (get_user(channel, (int __user *)arg)) + return -EFAULT; + if (channel == -1) + channel = xr_usb_serial->channel; + rv = xr_usb_serial_set_loopback(xr_usb_serial,channel); + if (rv < 0) + return -EFAULT; + rv = 0; + break; + + } + + return rv; +} + +static void xr_usb_serial_tty_set_termios(struct tty_struct *tty, + struct ktermios *termios_old) +{ + struct xr_usb_serial *xr_usb_serial = tty->driver_data; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + struct ktermios *termios = tty->termios; +#else + struct ktermios *termios = &tty->termios; +#endif + unsigned int cflag = termios->c_cflag; + struct usb_cdc_line_coding newline; + int newctrl = xr_usb_serial->ctrlout; + xr_usb_serial_disable(xr_usb_serial); + newline.dwDTERate = cpu_to_le32(tty_get_baud_rate(tty)); + newline.bCharFormat = termios->c_cflag & CSTOPB ? 1 : 0; + newline.bParityType = termios->c_cflag & PARENB ? + (termios->c_cflag & PARODD ? 1 : 2) + + (termios->c_cflag & CMSPAR ? 2 : 0) : 0; + switch (termios->c_cflag & CSIZE) { + case CS5:/*using CS5 replace of the 9 bit data mode*/ + newline.bDataBits = 9; + break; + case CS6: + newline.bDataBits = 6; + break; + case CS7: + newline.bDataBits = 7; + break; + case CS8: + default: + newline.bDataBits = 8; + break; + } + /* FIXME: Needs to clear unsupported bits in the termios */ + xr_usb_serial->clocal = ((termios->c_cflag & CLOCAL) != 0); + + if (!newline.dwDTERate) { + newline.dwDTERate = xr_usb_serial->line.dwDTERate; + newctrl &= ~XR_USB_SERIAL_CTRL_DTR; + } else + newctrl |= XR_USB_SERIAL_CTRL_DTR; + + if (newctrl != xr_usb_serial->ctrlout) + xr_usb_serial_set_control(xr_usb_serial, xr_usb_serial->ctrlout = newctrl); + + xr_usb_serial_set_flow_mode(xr_usb_serial,tty,cflag);/*set the serial flow mode*/ + + if (memcmp(&xr_usb_serial->line, &newline, sizeof newline)) + { + memcpy(&xr_usb_serial->line, &newline, sizeof newline); + dev_dbg(&xr_usb_serial->control->dev, "%s - set line: %d %d %d %d\n", + __func__, + le32_to_cpu(newline.dwDTERate), + newline.bCharFormat, newline.bParityType, + newline.bDataBits); + xr_usb_serial_set_line(xr_usb_serial, &xr_usb_serial->line); + } + xr_usb_serial_enable(xr_usb_serial); +} + +static const struct tty_port_operations xr_usb_serial_port_ops = { + .shutdown = xr_usb_serial_port_shutdown, + .activate = xr_usb_serial_port_activate, + .destruct = xr_usb_serial_port_destruct, +}; + +/* + * USB probe and disconnect routines. + */ + +/* Little helpers: write/read buffers free */ +static void xr_usb_serial_write_buffers_free(struct xr_usb_serial *xr_usb_serial) +{ + int i; + struct xr_usb_serial_wb *wb; + struct usb_device *usb_dev = interface_to_usbdev(xr_usb_serial->control); + + for (wb = &xr_usb_serial->wb[0], i = 0; i < XR_USB_SERIAL_NW; i++, wb++) + usb_free_coherent(usb_dev, xr_usb_serial->writesize, wb->buf, wb->dmah); +} + +static void xr_usb_serial_read_buffers_free(struct xr_usb_serial *xr_usb_serial) +{ + struct usb_device *usb_dev = interface_to_usbdev(xr_usb_serial->control); + int i; + + for (i = 0; i < xr_usb_serial->rx_buflimit; i++) + usb_free_coherent(usb_dev, xr_usb_serial->readsize, + xr_usb_serial->read_buffers[i].base, xr_usb_serial->read_buffers[i].dma); +} + +/* Little helper: write buffers allocate */ +static int xr_usb_serial_write_buffers_alloc(struct xr_usb_serial *xr_usb_serial) +{ + int i; + struct xr_usb_serial_wb *wb; + + for (wb = &xr_usb_serial->wb[0], i = 0; i < XR_USB_SERIAL_NW; i++, wb++) { + wb->buf = usb_alloc_coherent(xr_usb_serial->dev, xr_usb_serial->writesize, GFP_KERNEL, + &wb->dmah); + if (!wb->buf) { + while (i != 0) { + --i; + --wb; + usb_free_coherent(xr_usb_serial->dev, xr_usb_serial->writesize, + wb->buf, wb->dmah); + } + return -ENOMEM; + } + } + return 0; +} + +static int xr_usb_serial_probe(struct usb_interface *intf, + const struct usb_device_id *id) +{ + struct usb_cdc_union_desc *union_header = NULL; + struct usb_cdc_country_functional_desc *cfd = NULL; + unsigned char *buffer = intf->altsetting->extra; + int buflen = intf->altsetting->extralen; + struct usb_interface *control_interface; + struct usb_interface *data_interface; + struct usb_endpoint_descriptor *epctrl = NULL; + struct usb_endpoint_descriptor *epread = NULL; + struct usb_endpoint_descriptor *epwrite = NULL; + struct usb_device *usb_dev = interface_to_usbdev(intf); + struct xr_usb_serial *xr_usb_serial; + int minor; + int ctrlsize, readsize; + u8 *buf; + u8 ac_management_function = 0; + u8 call_management_function = 0; + int call_interface_num = -1; + int data_interface_num = -1; + unsigned long quirks; + int num_rx_buf; + int i; + int combined_interfaces = 0; + struct device *tty_dev; + int rv = -ENOMEM; + + /* normal quirks */ + quirks = (unsigned long)id->driver_info; + + if (quirks == IGNORE_DEVICE) + return -ENODEV; + + num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : XR_USB_SERIAL_NR; + + dev_dbg(&intf->dev, "USB_device_id idVendor:%04x, idProduct %04x\n",id->idVendor,id->idProduct); + + /* handle quirks deadly to normal probing*/ + if (quirks == NO_UNION_NORMAL) { + data_interface = usb_ifnum_to_if(usb_dev, 1); + control_interface = usb_ifnum_to_if(usb_dev, 0); + goto skip_normal_probe; + } + + /* normal probing*/ + if (!buffer) { + dev_err(&intf->dev, "Weird descriptor references\n"); + return -EINVAL; + } + + if (!buflen) { + if (intf->cur_altsetting->endpoint && + intf->cur_altsetting->endpoint->extralen && + intf->cur_altsetting->endpoint->extra) { + dev_dbg(&intf->dev, + "Seeking extra descriptors on endpoint\n"); + buflen = intf->cur_altsetting->endpoint->extralen; + buffer = intf->cur_altsetting->endpoint->extra; + } else { + dev_err(&intf->dev, + "Zero length descriptor references\n"); + return -EINVAL; + } + } + + while (buflen > 0) { + if (buffer[1] != USB_DT_CS_INTERFACE) { + dev_err(&intf->dev, "skipping garbage\n"); + goto next_desc; + } + + switch (buffer[2]) { + case USB_CDC_UNION_TYPE: /* we've found it */ + if (union_header) { + dev_err(&intf->dev, "More than one " + "union descriptor, skipping ...\n"); + goto next_desc; + } + union_header = (struct usb_cdc_union_desc *)buffer; + break; + case USB_CDC_COUNTRY_TYPE: /* export through sysfs*/ + cfd = (struct usb_cdc_country_functional_desc *)buffer; + break; + case USB_CDC_HEADER_TYPE: /* maybe check version */ + break; /* for now we ignore it */ + case USB_CDC_ACM_TYPE: + ac_management_function = buffer[3]; + break; + case USB_CDC_CALL_MANAGEMENT_TYPE: + call_management_function = buffer[3]; + call_interface_num = buffer[4]; + if ((quirks & NOT_A_MODEM) == 0 && (call_management_function & 3) != 3) + dev_err(&intf->dev, "This device cannot do calls on its own. It is not a modem.\n"); + break; + default: + /* there are LOTS more CDC descriptors that + * could legitimately be found here. + */ + dev_dbg(&intf->dev, "Ignoring descriptor: " + "type %02x, length %d\n", + buffer[2], buffer[0]); + break; + } +next_desc: + buflen -= buffer[0]; + buffer += buffer[0]; + } + + if (!union_header) { + if (call_interface_num > 0) { + dev_dbg(&intf->dev, "No union descriptor, using call management descriptor\n"); + /* quirks for Droids MuIn LCD */ + if (quirks & NO_DATA_INTERFACE) + data_interface = usb_ifnum_to_if(usb_dev, 0); + else + data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); + control_interface = intf; + } else { + if (intf->cur_altsetting->desc.bNumEndpoints != 3) { + dev_dbg(&intf->dev,"No union descriptor, giving up\n"); + return -ENODEV; + } else { + dev_warn(&intf->dev,"No union descriptor, testing for castrated device\n"); + combined_interfaces = 1; + control_interface = data_interface = intf; + goto look_for_collapsed_interface; + } + } + } else { + control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); + data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = union_header->bSlaveInterface0)); + if (!control_interface || !data_interface) { + dev_dbg(&intf->dev, "no interfaces\n"); + return -ENODEV; + } + } + + if (data_interface_num != call_interface_num) + dev_dbg(&intf->dev, "Separate call control interface. That is not fully supported.\n"); + + if (control_interface == data_interface) { + /* some broken devices designed for windows work this way */ + dev_warn(&intf->dev,"Control and data interfaces are not separated!\n"); + combined_interfaces = 1; + /* a popular other OS doesn't use it */ + quirks |= NO_CAP_LINE; + if (data_interface->cur_altsetting->desc.bNumEndpoints != 3) { + dev_err(&intf->dev, "This needs exactly 3 endpoints\n"); + return -EINVAL; + } +look_for_collapsed_interface: + for (i = 0; i < 3; i++) { + struct usb_endpoint_descriptor *ep; + ep = &data_interface->cur_altsetting->endpoint[i].desc; + + if (usb_endpoint_is_int_in(ep)) + epctrl = ep; + else if (usb_endpoint_is_bulk_out(ep)) + epwrite = ep; + else if (usb_endpoint_is_bulk_in(ep)) + epread = ep; + else + return -EINVAL; + } + if (!epctrl || !epread || !epwrite) + return -ENODEV; + else + goto made_compressed_probe; + } + +skip_normal_probe: + + /*workaround for switched interfaces */ + if (data_interface->cur_altsetting->desc.bInterfaceClass + != CDC_DATA_INTERFACE_TYPE) { + if (control_interface->cur_altsetting->desc.bInterfaceClass + == CDC_DATA_INTERFACE_TYPE) { + struct usb_interface *t; + dev_dbg(&intf->dev, + "Your device has switched interfaces.\n"); + t = control_interface; + control_interface = data_interface; + data_interface = t; + } else { + return -EINVAL; + } + } + + /* Accept probe requests only for the control interface */ + if (!combined_interfaces && intf != control_interface) + return -ENODEV; + + if (!combined_interfaces && usb_interface_claimed(data_interface)) { + /* valid in this context */ + dev_dbg(&intf->dev, "The data interface isn't available\n"); + return -EBUSY; + } + + + if (data_interface->cur_altsetting->desc.bNumEndpoints < 2 || + control_interface->cur_altsetting->desc.bNumEndpoints == 0) + return -EINVAL; + + epctrl = &control_interface->cur_altsetting->endpoint[0].desc; + epread = &data_interface->cur_altsetting->endpoint[0].desc; + epwrite = &data_interface->cur_altsetting->endpoint[1].desc; + + + /* workaround for switched endpoints */ + if (!usb_endpoint_dir_in(epread)) { + /* descriptors are swapped */ + struct usb_endpoint_descriptor *t; + dev_dbg(&intf->dev, + "The data interface has switched endpoints\n"); + t = epread; + epread = epwrite; + epwrite = t; + } +made_compressed_probe: + dev_dbg(&intf->dev, "interfaces are valid\n"); + + xr_usb_serial = kzalloc(sizeof(struct xr_usb_serial), GFP_KERNEL); + if (xr_usb_serial == NULL) { + dev_err(&intf->dev, "out of memory (xr_usb_serial kzalloc)\n"); + goto alloc_fail; + } + + minor = xr_usb_serial_alloc_minor(xr_usb_serial); + if (minor == XR_USB_SERIAL_TTY_MINORS) { + dev_err(&intf->dev, "no more free xr_usb_serial devices\n"); + kfree(xr_usb_serial); + return -ENODEV; + } + + ctrlsize = usb_endpoint_maxp(epctrl); + readsize = usb_endpoint_maxp(epread) * + (quirks == SINGLE_RX_URB ? 1 : 2); + xr_usb_serial->combined_interfaces = combined_interfaces; + xr_usb_serial->writesize = usb_endpoint_maxp(epwrite) * 20; + xr_usb_serial->control = control_interface; + xr_usb_serial->data = data_interface; + xr_usb_serial->minor = minor; + xr_usb_serial->dev = usb_dev; + xr_usb_serial->ctrl_caps = ac_management_function; + if (quirks & NO_CAP_LINE) + xr_usb_serial->ctrl_caps &= ~USB_CDC_CAP_LINE; + xr_usb_serial->ctrlsize = ctrlsize; + xr_usb_serial->readsize = readsize; + xr_usb_serial->rx_buflimit = num_rx_buf; + INIT_WORK(&xr_usb_serial->work, xr_usb_serial_softint); + spin_lock_init(&xr_usb_serial->write_lock); + spin_lock_init(&xr_usb_serial->read_lock); + mutex_init(&xr_usb_serial->mutex); + xr_usb_serial->rx_endpoint = usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress); + xr_usb_serial->is_int_ep = usb_endpoint_xfer_int(epread); + if (xr_usb_serial->is_int_ep) + xr_usb_serial->bInterval = epread->bInterval; + tty_port_init(&xr_usb_serial->port); + xr_usb_serial->port.ops = &xr_usb_serial_port_ops; + xr_usb_serial->DeviceVendor = id->idVendor; + xr_usb_serial->DeviceProduct = id->idProduct; + #if 0 + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1410) + {//map the serial port A B C D to blocknum 0 1 2 3 for the xr21v141x device + xr_usb_serial->channel = epwrite->bEndpointAddress - 1; + } + else if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1420) + {//map the serial port A B C D to blocknum 0 2 4 6 for the xr21B142x device + xr_usb_serial->channel = (epwrite->bEndpointAddress - 4)*2; + } + else + { + xr_usb_serial->channel = epwrite->bEndpointAddress; + } + #else + xr_usb_serial->channel = epwrite->bEndpointAddress; + dev_dbg(&intf->dev, "epwrite->bEndpointAddress =%d\n",epwrite->bEndpointAddress); + #endif + buf = usb_alloc_coherent(usb_dev, ctrlsize, GFP_KERNEL, &xr_usb_serial->ctrl_dma); + if (!buf) { + dev_err(&intf->dev, "out of memory (ctrl buffer alloc)\n"); + goto alloc_fail2; + } + xr_usb_serial->ctrl_buffer = buf; + + if (xr_usb_serial_write_buffers_alloc(xr_usb_serial) < 0) { + dev_err(&intf->dev, "out of memory (write buffer alloc)\n"); + goto alloc_fail4; + } + + xr_usb_serial->ctrlurb = usb_alloc_urb(0, GFP_KERNEL); + if (!xr_usb_serial->ctrlurb) { + dev_err(&intf->dev, "out of memory (ctrlurb kmalloc)\n"); + goto alloc_fail5; + } + for (i = 0; i < num_rx_buf; i++) { + struct xr_usb_serial_rb *rb = &(xr_usb_serial->read_buffers[i]); + struct urb *urb; + + rb->base = usb_alloc_coherent(xr_usb_serial->dev, readsize, GFP_KERNEL, + &rb->dma); + if (!rb->base) { + dev_err(&intf->dev, "out of memory " + "(read bufs usb_alloc_coherent)\n"); + goto alloc_fail6; + } + rb->index = i; + rb->instance = xr_usb_serial; + + urb = usb_alloc_urb(0, GFP_KERNEL); + if (!urb) { + dev_err(&intf->dev, + "out of memory (read urbs usb_alloc_urb)\n"); + goto alloc_fail6; + } + urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + urb->transfer_dma = rb->dma; + if (xr_usb_serial->is_int_ep) { + usb_fill_int_urb(urb, xr_usb_serial->dev, + xr_usb_serial->rx_endpoint, + rb->base, + xr_usb_serial->readsize, + xr_usb_serial_read_bulk_callback, rb, + xr_usb_serial->bInterval); + } else { + usb_fill_bulk_urb(urb, xr_usb_serial->dev, + xr_usb_serial->rx_endpoint, + rb->base, + xr_usb_serial->readsize, + xr_usb_serial_read_bulk_callback, rb); + } + + xr_usb_serial->read_urbs[i] = urb; + __set_bit(i, &xr_usb_serial->read_urbs_free); + } + for (i = 0; i < XR_USB_SERIAL_NW; i++) { + struct xr_usb_serial_wb *snd = &(xr_usb_serial->wb[i]); + + snd->urb = usb_alloc_urb(0, GFP_KERNEL); + if (snd->urb == NULL) { + dev_err(&intf->dev, + "out of memory (write urbs usb_alloc_urb)\n"); + goto alloc_fail7; + } + + if (usb_endpoint_xfer_int(epwrite)) + usb_fill_int_urb(snd->urb, usb_dev, +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), +#else + usb_sndintpipe(usb_dev, epwrite->bEndpointAddress), +#endif + NULL, xr_usb_serial->writesize, xr_usb_serial_write_bulk, snd, epwrite->bInterval); + else + usb_fill_bulk_urb(snd->urb, usb_dev, + usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), + NULL, xr_usb_serial->writesize, xr_usb_serial_write_bulk, snd); + snd->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + snd->instance = xr_usb_serial; + } + + usb_set_intfdata(intf, xr_usb_serial); + + xr_usb_serial->rs485_422_en = false; //default enable rs232 + i = device_create_file(&intf->dev, &dev_attr_bRS485_422_en); + if (i < 0) + goto alloc_fail7; + + i = device_create_file(&intf->dev, &dev_attr_bmCapabilities); + if (i < 0) + goto alloc_fail8; + + if (cfd) { /* export the country data */ + xr_usb_serial->country_codes = kmalloc(cfd->bLength - 4, GFP_KERNEL); + if (!xr_usb_serial->country_codes) + goto skip_countries; + xr_usb_serial->country_code_size = cfd->bLength - 4; + memcpy(xr_usb_serial->country_codes, (u8 *)&cfd->wCountyCode0, + cfd->bLength - 4); + xr_usb_serial->country_rel_date = cfd->iCountryCodeRelDate; + + i = device_create_file(&intf->dev, &dev_attr_wCountryCodes); + if (i < 0) { + kfree(xr_usb_serial->country_codes); + xr_usb_serial->country_codes = NULL; + xr_usb_serial->country_code_size = 0; + goto skip_countries; + } + + i = device_create_file(&intf->dev, + &dev_attr_iCountryCodeRelDate); + if (i < 0) { + device_remove_file(&intf->dev, &dev_attr_wCountryCodes); + kfree(xr_usb_serial->country_codes); + xr_usb_serial->country_codes = NULL; + xr_usb_serial->country_code_size = 0; + goto skip_countries; + } + } + +skip_countries: + usb_fill_int_urb(xr_usb_serial->ctrlurb, usb_dev, + usb_rcvintpipe(usb_dev, epctrl->bEndpointAddress), + xr_usb_serial->ctrl_buffer, ctrlsize, xr_usb_serial_ctrl_irq, xr_usb_serial, + /* works around buggy devices */ + epctrl->bInterval ? epctrl->bInterval : 0xff); + xr_usb_serial->ctrlurb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + xr_usb_serial->ctrlurb->transfer_dma = xr_usb_serial->ctrl_dma; + + dev_info(&intf->dev, "ttyXR_USB_SERIAL%d: USB XR_USB_SERIAL device\n", minor); + + xr_usb_serial_pre_setup(xr_usb_serial); + + xr_usb_serial_set_control(xr_usb_serial, xr_usb_serial->ctrlout); + + xr_usb_serial->line.dwDTERate = cpu_to_le32(9600); + xr_usb_serial->line.bDataBits = 8; + xr_usb_serial_set_line(xr_usb_serial, &xr_usb_serial->line); + + usb_driver_claim_interface(&xr_usb_serial_driver, data_interface, xr_usb_serial); + usb_set_intfdata(data_interface, xr_usb_serial); + + usb_get_intf(control_interface); +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + tty_register_device(xr_usb_serial_tty_driver, minor, &control_interface->dev); +#else + tty_dev = tty_port_register_device(&xr_usb_serial->port, xr_usb_serial_tty_driver, minor, + &control_interface->dev); + if (IS_ERR(tty_dev)) { + rv = PTR_ERR(tty_dev); + goto alloc_fail9; + } +#endif + + return 0; +alloc_fail9: + if (xr_usb_serial->country_codes) { + device_remove_file(&xr_usb_serial->control->dev, + &dev_attr_wCountryCodes); + device_remove_file(&xr_usb_serial->control->dev, + &dev_attr_iCountryCodeRelDate); + } + device_remove_file(&xr_usb_serial->control->dev, &dev_attr_bmCapabilities); +alloc_fail8: + device_remove_file(&xr_usb_serial->control->dev, &dev_attr_bRS485_422_en); +alloc_fail7: + usb_set_intfdata(intf, NULL); + for (i = 0; i < XR_USB_SERIAL_NW; i++) + usb_free_urb(xr_usb_serial->wb[i].urb); +alloc_fail6: + for (i = 0; i < num_rx_buf; i++) + usb_free_urb(xr_usb_serial->read_urbs[i]); + xr_usb_serial_read_buffers_free(xr_usb_serial); + usb_free_urb(xr_usb_serial->ctrlurb); +alloc_fail5: + xr_usb_serial_write_buffers_free(xr_usb_serial); +alloc_fail4: + usb_free_coherent(usb_dev, ctrlsize, xr_usb_serial->ctrl_buffer, xr_usb_serial->ctrl_dma); +alloc_fail2: + xr_usb_serial_release_minor(xr_usb_serial); + kfree(xr_usb_serial); +alloc_fail: + return rv; +} + +static void stop_data_traffic(struct xr_usb_serial *xr_usb_serial) +{ + int i; + + dev_dbg(&xr_usb_serial->control->dev, "%s\n", __func__); + + usb_kill_urb(xr_usb_serial->ctrlurb); + for (i = 0; i < XR_USB_SERIAL_NW; i++) + usb_kill_urb(xr_usb_serial->wb[i].urb); + for (i = 0; i < xr_usb_serial->rx_buflimit; i++) + usb_kill_urb(xr_usb_serial->read_urbs[i]); + + cancel_work_sync(&xr_usb_serial->work); +} + +static void xr_usb_serial_disconnect(struct usb_interface *intf) +{ + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + struct usb_device *usb_dev = interface_to_usbdev(intf); + struct tty_struct *tty; + int i; + + dev_dbg(&intf->dev, "%s\n", __func__); + + /* sibling interface is already cleaning up */ + if (!xr_usb_serial) + return; + + mutex_lock(&xr_usb_serial->mutex); + xr_usb_serial->disconnected = true; + if (xr_usb_serial->country_codes) { + device_remove_file(&xr_usb_serial->control->dev, + &dev_attr_wCountryCodes); + device_remove_file(&xr_usb_serial->control->dev, + &dev_attr_iCountryCodeRelDate); + } + device_remove_file(&xr_usb_serial->control->dev, &dev_attr_bmCapabilities); + device_remove_file(&xr_usb_serial->control->dev, &dev_attr_bRS485_422_en); + usb_set_intfdata(xr_usb_serial->control, NULL); + usb_set_intfdata(xr_usb_serial->data, NULL); + mutex_unlock(&xr_usb_serial->mutex); + + tty = tty_port_tty_get(&xr_usb_serial->port); + if (tty) { + tty_vhangup(tty); + tty_kref_put(tty); + } + stop_data_traffic(xr_usb_serial); +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 7, 0) + tty_unregister_device(xr_usb_serial_tty_driver, xr_usb_serial->minor); +#endif + + usb_free_urb(xr_usb_serial->ctrlurb); + for (i = 0; i < XR_USB_SERIAL_NW; i++) + usb_free_urb(xr_usb_serial->wb[i].urb); + for (i = 0; i < xr_usb_serial->rx_buflimit; i++) + usb_free_urb(xr_usb_serial->read_urbs[i]); + xr_usb_serial_write_buffers_free(xr_usb_serial); + usb_free_coherent(usb_dev, xr_usb_serial->ctrlsize, xr_usb_serial->ctrl_buffer, xr_usb_serial->ctrl_dma); + xr_usb_serial_read_buffers_free(xr_usb_serial); + + if (!xr_usb_serial->combined_interfaces) + usb_driver_release_interface(&xr_usb_serial_driver, intf == xr_usb_serial->control ? + xr_usb_serial->data : xr_usb_serial->control); + + tty_port_put(&xr_usb_serial->port); +} + +#ifdef CONFIG_PM +static int xr_usb_serial_suspend(struct usb_interface *intf, pm_message_t message) +{ + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + int cnt; + + if (PMSG_IS_AUTO(message)) { + int b; + + spin_lock_irq(&xr_usb_serial->write_lock); + b = xr_usb_serial->transmitting; + spin_unlock_irq(&xr_usb_serial->write_lock); + if (b) + return -EBUSY; + } + + spin_lock_irq(&xr_usb_serial->read_lock); + spin_lock(&xr_usb_serial->write_lock); + cnt = xr_usb_serial->susp_count++; + spin_unlock(&xr_usb_serial->write_lock); + spin_unlock_irq(&xr_usb_serial->read_lock); + + if (cnt) + return 0; + + if (test_bit(ASYNCB_INITIALIZED, &xr_usb_serial->port.flags)) + stop_data_traffic(xr_usb_serial); + + return 0; +} + +static int xr_usb_serial_resume(struct usb_interface *intf) +{ + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + struct xr_usb_serial_wb *wb; + int rv = 0; + int cnt; + + spin_lock_irq(&xr_usb_serial->read_lock); + xr_usb_serial->susp_count -= 1; + cnt = xr_usb_serial->susp_count; + spin_unlock_irq(&xr_usb_serial->read_lock); + + if (cnt) + return 0; + + if (test_bit(ASYNCB_INITIALIZED, &xr_usb_serial->port.flags)) { + rv = usb_submit_urb(xr_usb_serial->ctrlurb, GFP_NOIO); + + spin_lock_irq(&xr_usb_serial->write_lock); + if (xr_usb_serial->delayed_wb) { + wb = xr_usb_serial->delayed_wb; + xr_usb_serial->delayed_wb = NULL; + spin_unlock_irq(&xr_usb_serial->write_lock); + xr_usb_serial_start_wb(xr_usb_serial, wb); + } else { + spin_unlock_irq(&xr_usb_serial->write_lock); + } + + /* + * delayed error checking because we must + * do the write path at all cost + */ + if (rv < 0) + goto err_out; + + rv = xr_usb_serial_submit_read_urbs(xr_usb_serial, GFP_NOIO); + } + +err_out: + return rv; +} + +static int xr_usb_serial_reset_resume(struct usb_interface *intf) +{ + struct xr_usb_serial *xr_usb_serial = usb_get_intfdata(intf); + struct tty_struct *tty; + if (test_bit(ASYNCB_INITIALIZED, &xr_usb_serial->port.flags)){ +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 9, 0) + tty_port_tty_hangup(&xr_usb_serial->port, false); +#else + tty = tty_port_tty_get(&xr_usb_serial->port); + if (tty) { + tty_hangup(tty); + tty_kref_put(tty); + } +#endif + } + return xr_usb_serial_resume(intf); +} + +#endif /* CONFIG_PM */ + +/* + * USB driver structure. + */ +static const struct usb_device_id xr_usb_serial_ids[] = { + { USB_DEVICE(0x04e2, 0x1410)}, + { USB_DEVICE(0x04e2, 0x1411)}, + { USB_DEVICE(0x04e2, 0x1412)}, + { USB_DEVICE(0x04e2, 0x1414)}, + { USB_DEVICE(0x04e2, 0x1420)}, + { USB_DEVICE(0x04e2, 0x1421)}, + { USB_DEVICE(0x04e2, 0x1422)}, + { USB_DEVICE(0x04e2, 0x1424)}, + { USB_DEVICE(0x04e2, 0x1400)}, + { USB_DEVICE(0x04e2, 0x1401)}, + { USB_DEVICE(0x04e2, 0x1402)}, + { USB_DEVICE(0x04e2, 0x1403)}, + { } +}; + +MODULE_DEVICE_TABLE(usb, xr_usb_serial_ids); + +static struct usb_driver xr_usb_serial_driver = { + .name = "cdc_xr_usb_serial", + .probe = xr_usb_serial_probe, + .disconnect = xr_usb_serial_disconnect, +#ifdef CONFIG_PM + .suspend = xr_usb_serial_suspend, + .resume = xr_usb_serial_resume, + .reset_resume = xr_usb_serial_reset_resume, +#endif + .id_table = xr_usb_serial_ids, +#ifdef CONFIG_PM + .supports_autosuspend = 1, +#endif + .disable_hub_initiated_lpm = 1, +}; + +/* + * TTY driver structures. + */ + +static const struct tty_operations xr_usb_serial_ops = { + .install = xr_usb_serial_tty_install, + .open = xr_usb_serial_tty_open, + .close = xr_usb_serial_tty_close, + .cleanup = xr_usb_serial_tty_cleanup, + .hangup = xr_usb_serial_tty_hangup, + .write = xr_usb_serial_tty_write, + .write_room = xr_usb_serial_tty_write_room, + .ioctl = xr_usb_serial_tty_ioctl, + .throttle = xr_usb_serial_tty_throttle, + .unthrottle = xr_usb_serial_tty_unthrottle, + .chars_in_buffer = xr_usb_serial_tty_chars_in_buffer, + .break_ctl = xr_usb_serial_tty_break_ctl, + .set_termios = xr_usb_serial_tty_set_termios, + .tiocmget = xr_usb_serial_tty_tiocmget, + .tiocmset = xr_usb_serial_tty_tiocmset, +}; + +/* + * Init / exit. + */ + +static int __init xr_usb_serial_init(void) +{ + int retval; + xr_usb_serial_tty_driver = alloc_tty_driver(XR_USB_SERIAL_TTY_MINORS); + if (!xr_usb_serial_tty_driver) + return -ENOMEM; + xr_usb_serial_tty_driver->driver_name = "xr_usb_serial", + xr_usb_serial_tty_driver->name = "ttyXRUSB", + xr_usb_serial_tty_driver->major = XR_USB_SERIAL_TTY_MAJOR, + xr_usb_serial_tty_driver->minor_start = 0, + xr_usb_serial_tty_driver->type = TTY_DRIVER_TYPE_SERIAL, + xr_usb_serial_tty_driver->subtype = SERIAL_TYPE_NORMAL, + xr_usb_serial_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; + xr_usb_serial_tty_driver->init_termios = tty_std_termios; + xr_usb_serial_tty_driver->init_termios.c_cflag = B9600 | CS8 | CREAD | + HUPCL | CLOCAL; + tty_set_operations(xr_usb_serial_tty_driver, &xr_usb_serial_ops); + + retval = tty_register_driver(xr_usb_serial_tty_driver); + if (retval) { + put_tty_driver(xr_usb_serial_tty_driver); + return retval; + } + + retval = usb_register(&xr_usb_serial_driver); + if (retval) { + tty_unregister_driver(xr_usb_serial_tty_driver); + put_tty_driver(xr_usb_serial_tty_driver); + return retval; + } + + printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n"); + + return 0; +} + +static void __exit xr_usb_serial_exit(void) +{ + usb_deregister(&xr_usb_serial_driver); + tty_unregister_driver(xr_usb_serial_tty_driver); + put_tty_driver(xr_usb_serial_tty_driver); +} + +module_init(xr_usb_serial_init); +module_exit(xr_usb_serial_exit); + +MODULE_AUTHOR(DRIVER_AUTHOR); +MODULE_DESCRIPTION(DRIVER_DESC); +MODULE_LICENSE("GPL"); +MODULE_ALIAS_CHARDEV_MAJOR(XR_USB_SERIAL_TTY_MAJOR); --- linux-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/xr_usb_serial_common.h +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/xr_usb_serial_common.h @@ -0,0 +1,187 @@ +/* + * 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. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * CMSPAR, some architectures can't have space and mark parity. + */ + +#ifndef CMSPAR +#define CMSPAR 0 +#endif + +/* + * Major and minor numbers. + */ + +#define XR_USB_SERIAL_TTY_MAJOR 266 +#define XR_USB_SERIAL_TTY_MINORS 32 + +/* + * Requests. + */ + +#define USB_RT_XR_USB_SERIAL (USB_TYPE_CLASS | USB_RECIP_INTERFACE) + +/* + * Output control lines. + */ + +#define XR_USB_SERIAL_CTRL_DTR 0x01 +#define XR_USB_SERIAL_CTRL_RTS 0x02 + +/* + * Input control lines and line errors. + */ + +#define XR_USB_SERIAL_CTRL_DCD 0x01 +#define XR_USB_SERIAL_CTRL_DSR 0x02 +#define XR_USB_SERIAL_CTRL_BRK 0x04 +#define XR_USB_SERIAL_CTRL_RI 0x08 + +#define XR_USB_SERIAL_CTRL_FRAMING 0x10 +#define XR_USB_SERIAL_CTRL_PARITY 0x20 +#define XR_USB_SERIAL_CTRL_OVERRUN 0x40 + +/* + * Internal driver structures. + */ + +/* + * The only reason to have several buffers is to accommodate assumptions + * in line disciplines. They ask for empty space amount, receive our URB size, + * and proceed to issue several 1-character writes, assuming they will fit. + * The very first write takes a complete URB. Fortunately, this only happens + * when processing onlcr, so we only need 2 buffers. These values must be + * powers of 2. + */ +#define XR_USB_SERIAL_NW 16 +#define XR_USB_SERIAL_NR 16 + +struct xr_usb_serial_wb { + unsigned char *buf; + dma_addr_t dmah; + int len; + int use; + struct urb *urb; + struct xr_usb_serial *instance; +}; + +struct xr_usb_serial_rb { + int size; + unsigned char *base; + dma_addr_t dma; + int index; + struct xr_usb_serial *instance; +}; + +struct reg_addr_map { + unsigned int uart_enable_addr; + unsigned int uart_format_addr; + unsigned int uart_flow_addr; + unsigned int uart_loopback_addr; + unsigned int uart_xon_char_addr; + unsigned int uart_xoff_char_addr; + unsigned int uart_gpio_mode_addr; + unsigned int uart_gpio_dir_addr; + unsigned int uart_gpio_set_addr; + unsigned int uart_gpio_clr_addr; + unsigned int uart_gpio_status_addr; + unsigned int tx_break_addr; + unsigned int uart_custom_driver; + unsigned int uart_low_latency; +}; + +struct xr_usb_serial { + struct usb_device *dev; /* the corresponding usb device */ + struct usb_interface *control; /* control interface */ + struct usb_interface *data; /* data interface */ + struct tty_port port; /* our tty port data */ + struct urb *ctrlurb; /* urbs */ + u8 *ctrl_buffer; /* buffers of urbs */ + dma_addr_t ctrl_dma; /* dma handles of buffers */ + u8 *country_codes; /* country codes from device */ + unsigned int country_code_size; /* size of this buffer */ + unsigned int country_rel_date; /* release date of version */ + struct xr_usb_serial_wb wb[XR_USB_SERIAL_NW]; + unsigned long read_urbs_free; + struct urb *read_urbs[XR_USB_SERIAL_NR]; + struct xr_usb_serial_rb read_buffers[XR_USB_SERIAL_NR]; + int rx_buflimit; + int rx_endpoint; + spinlock_t read_lock; + int write_used; /* number of non-empty write buffers */ + int transmitting; + spinlock_t write_lock; + struct mutex mutex; + bool disconnected; + struct usb_cdc_line_coding line; /* bits, stop, parity */ + struct work_struct work; /* work queue entry for line discipline waking up */ + unsigned int ctrlin; /* input control lines (DCD, DSR, RI, break, overruns) */ + unsigned int ctrlout; /* output control lines (DTR, RTS) */ + unsigned int writesize; /* max packet size for the output bulk endpoint */ + unsigned int readsize,ctrlsize; /* buffer sizes for freeing */ + unsigned int minor; /* xr_usb_serial minor number */ + unsigned char clocal; /* termios CLOCAL */ + unsigned int ctrl_caps; /* control capabilities from the class specific header */ + unsigned int susp_count; /* number of suspended interfaces */ + unsigned int combined_interfaces:1; /* control and data collapsed */ + unsigned int is_int_ep:1; /* interrupt endpoints contrary to spec used */ + unsigned int throttled:1; /* actually throttled */ + unsigned int throttle_req:1; /* throttle requested */ + u8 bInterval; + struct xr_usb_serial_wb *delayed_wb; /* write queued for a device about to be woken */ + unsigned int channel; + unsigned short DeviceVendor; + unsigned short DeviceProduct; + struct reg_addr_map reg_map; + bool rs485_422_en; +}; + +#define CDC_DATA_INTERFACE_TYPE 0x0a + +/* constants describing various quirks and errors */ +#define NO_UNION_NORMAL 1 +#define SINGLE_RX_URB 2 +#define NO_CAP_LINE 4 +#define NOT_A_MODEM 8 +#define NO_DATA_INTERFACE 16 +#define IGNORE_DEVICE 32 + + +#define UART_ENABLE_TX 1 +#define UART_ENABLE_RX 2 + +#define UART_GPIO_CLR_DTR 0x8 +#define UART_GPIO_SET_DTR 0x8 +#define UART_GPIO_CLR_RTS 0x20 +#define UART_GPIO_SET_RTS 0x20 + +#define LOOPBACK_ENABLE_TX_RX 1 +#define LOOPBACK_ENABLE_RTS_CTS 2 +#define LOOPBACK_ENABLE_DTR_DSR 4 + +#define UART_FLOW_MODE_NONE 0x0 +#define UART_FLOW_MODE_HW 0x1 +#define UART_FLOW_MODE_SW 0x2 + +#define UART_GPIO_MODE_SEL_GPIO 0x0 +#define UART_GPIO_MODE_SEL_RTS_CTS 0x1 + +#define XR2280x_FUNC_MGR_OFFSET 0x40 + + + + --- linux-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/xr_usb_serial_hal.c +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/xr_usb_serial_hal.c @@ -0,0 +1,724 @@ +/* + * 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. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#define XR_SET_MAP_XR2280X 5 +#define XR_GET_MAP_XR2280X 5 + +#define XR_SET_MAP_XR21B142X 0 +#define XR_GET_MAP_XR21B142X 0 + +#define XR_SET_MAP_XR21V141X 0 +#define XR_GET_MAP_XR21V141X 1 + +#define XR_SET_MAP_XR21B1411 0 +#define XR_GET_MAP_XR21B1411 1 + + +int xr_usb_serial_set_reg(struct xr_usb_serial *xr_usb_serial,int regnum, int value) +{ + int result; + int channel = 0; + dev_dbg(&xr_usb_serial->control->dev, "%s Channel:%d 0x%02x = 0x%02x\n", __func__,channel,regnum, value); + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1400) + { + int XR2280xaddr = XR2280x_FUNC_MGR_OFFSET + regnum; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR2280X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR, /* request_type */ + value, /* request value */ + XR2280xaddr, /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + + } + else if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + + if(xr_usb_serial->channel) + channel = xr_usb_serial->channel - 1; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21V141X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR, /* request_type */ + value, /* request value */ + regnum | (channel << 8), /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else if(xr_usb_serial->DeviceProduct == 0x1411) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21B1411, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR , /* request_type */ + value, /* request value */ + regnum , /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else if((xr_usb_serial->DeviceProduct == 0x1420)|| + (xr_usb_serial->DeviceProduct == 0x1422)|| + (xr_usb_serial->DeviceProduct == 0x1424)) + + { + + channel = (xr_usb_serial->channel - 4)*2; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21B142X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR | 1, /* request_type */ + value, /* request value */ + regnum | (channel << 8), /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else + { + result = -1; + } + if(result < 0) + dev_dbg(&xr_usb_serial->control->dev, "%s Error:%d\n", __func__,result); + return result; + + +} +int xr_usb_serial_set_reg_ext(struct xr_usb_serial *xr_usb_serial,int channel,int regnum, int value) +{ + int result; + int XR2280xaddr = XR2280x_FUNC_MGR_OFFSET + regnum; + dev_dbg(&xr_usb_serial->control->dev, "%s channel:%d 0x%02x = 0x%02x\n", __func__,channel,regnum, value); + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1400) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR2280X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR, /* request_type */ + value, /* request value */ + XR2280xaddr, /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + + } + else if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21V141X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR, /* request_type */ + value, /* request value */ + regnum | (channel << 8), /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else if(xr_usb_serial->DeviceProduct == 0x1411) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21B1411, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR , /* request_type */ + value, /* request value */ + regnum , /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else if((xr_usb_serial->DeviceProduct == 0x1420)|| + (xr_usb_serial->DeviceProduct == 0x1422)|| + (xr_usb_serial->DeviceProduct == 0x1424)) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_sndctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_SET_MAP_XR21B142X, /* request */ + USB_DIR_OUT | USB_TYPE_VENDOR | 1, /* request_type */ + value, /* request value */ + regnum | (channel << 8), /* index */ + NULL, /* data */ + 0, /* size */ + 5000); /* timeout */ + } + else + { + result = -1; + } + if(result < 0) + dev_dbg(&xr_usb_serial->control->dev, "%s Error:%d\n", __func__,result); + return result; + + +} + +int xr_usb_serial_get_reg(struct xr_usb_serial *xr_usb_serial,int regnum, short *value) +{ + int result; + int channel = 0; + + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1400) + { + int XR2280xaddr = XR2280x_FUNC_MGR_OFFSET + regnum; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR2280X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR , /* request_type */ + 0, /* request value */ + XR2280xaddr, /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + + + + } + else if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + if(xr_usb_serial->channel) + channel = xr_usb_serial->channel -1; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21V141X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR, /* request_type */ + 0, /* request value */ + regnum | (channel << 8), /* index */ + value, /* data */ + 1, /* size */ + 5000); /* timeout */ + } + else if(xr_usb_serial->DeviceProduct == 0x1411) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21B1411, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR, /* request_type */ + 0, /* request value */ + regnum, /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + } + else if((xr_usb_serial->DeviceProduct == 0x1420)|| + (xr_usb_serial->DeviceProduct == 0x1422)|| + (xr_usb_serial->DeviceProduct == 0x1424)) + + { + channel = (xr_usb_serial->channel -4)*2; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21B142X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR | 1, /* request_type */ + 0, /* request value */ + regnum | (channel << 8), /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + } + else + { + result = -1; + } + + if(result < 0) + dev_dbg(&xr_usb_serial->control->dev, "%s channel:%d Reg 0x%x Error:%d\n", __func__,channel,regnum,result); + else + dev_dbg(&xr_usb_serial->control->dev, "%s channel:%d 0x%x = 0x%04x\n", __func__,channel,regnum, *value); + + return result; + +} + + +int xr_usb_serial_get_reg_ext(struct xr_usb_serial *xr_usb_serial,int channel,int regnum, short *value) +{ + int result; + int XR2280xaddr = XR2280x_FUNC_MGR_OFFSET + regnum; + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1400) + { + + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR2280X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR , /* request_type */ + 0, /* request value */ + XR2280xaddr, /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + + + + } + else if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + unsigned char reg_value = 0; + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21V141X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR, /* request_type */ + 0, /* request value */ + regnum | (channel << 8), /* index */ + ®_value, /* data */ + 1, /* size */ + 5000); /* timeout */ + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_get_reg_ext reg:%x\n",reg_value); + *value = reg_value; + } + else if(xr_usb_serial->DeviceProduct == 0x1411) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21B1411, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR , /* request_type */ + 0, /* request value */ + regnum | (channel << 8), /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + } + else if((xr_usb_serial->DeviceProduct == 0x1420)|| + (xr_usb_serial->DeviceProduct == 0x1422)|| + (xr_usb_serial->DeviceProduct == 0x1424)) + { + result = usb_control_msg(xr_usb_serial->dev, /* usb device */ + usb_rcvctrlpipe(xr_usb_serial->dev, 0), /* endpoint pipe */ + XR_GET_MAP_XR21B142X, /* request */ + USB_DIR_IN | USB_TYPE_VENDOR | 1, /* request_type */ + 0, /* request value */ + regnum | (channel << 8), /* index */ + value, /* data */ + 2, /* size */ + 5000); /* timeout */ + } + else + { + result = -1; + } + + if(result < 0) + dev_dbg(&xr_usb_serial->control->dev, "%s Error:%d\n", __func__,result); + else + dev_dbg(&xr_usb_serial->control->dev, "%s channel:%d 0x%x = 0x%04x\n", __func__,channel,regnum, *value); + + return result; + +} + +struct xr21v141x_baud_rate +{ + unsigned int tx; + unsigned int rx0; + unsigned int rx1; +}; + +static struct xr21v141x_baud_rate xr21v141x_baud_rates[] = { + { 0x000, 0x000, 0x000 }, + { 0x000, 0x000, 0x000 }, + { 0x100, 0x000, 0x100 }, + { 0x020, 0x400, 0x020 }, + { 0x010, 0x100, 0x010 }, + { 0x208, 0x040, 0x208 }, + { 0x104, 0x820, 0x108 }, + { 0x844, 0x210, 0x884 }, + { 0x444, 0x110, 0x444 }, + { 0x122, 0x888, 0x224 }, + { 0x912, 0x448, 0x924 }, + { 0x492, 0x248, 0x492 }, + { 0x252, 0x928, 0x292 }, + { 0X94A, 0X4A4, 0XA52 }, + { 0X52A, 0XAA4, 0X54A }, + { 0XAAA, 0x954, 0X4AA }, + { 0XAAA, 0x554, 0XAAA }, + { 0x555, 0XAD4, 0X5AA }, + { 0XB55, 0XAB4, 0X55A }, + { 0X6B5, 0X5AC, 0XB56 }, + { 0X5B5, 0XD6C, 0X6D6 }, + { 0XB6D, 0XB6A, 0XDB6 }, + { 0X76D, 0X6DA, 0XBB6 }, + { 0XEDD, 0XDDA, 0X76E }, + { 0XDDD, 0XBBA, 0XEEE }, + { 0X7BB, 0XF7A, 0XDDE }, + { 0XF7B, 0XEF6, 0X7DE }, + { 0XDF7, 0XBF6, 0XF7E }, + { 0X7F7, 0XFEE, 0XEFE }, + { 0XFDF, 0XFBE, 0X7FE }, + { 0XF7F, 0XEFE, 0XFFE }, + { 0XFFF, 0XFFE, 0XFFD }, +}; +#define UART_CLOCK_DIVISOR_0 0x004 +#define UART_CLOCK_DIVISOR_1 0x005 +#define UART_CLOCK_DIVISOR_2 0x006 +#define UART_TX_CLOCK_MASK_0 0x007 +#define UART_TX_CLOCK_MASK_1 0x008 +#define UART_RX_CLOCK_MASK_0 0x009 +#define UART_RX_CLOCK_MASK_1 0x00a + +static int xr21v141x_set_baud_rate(struct xr_usb_serial *xr_usb_serial, unsigned int rate) +{ + unsigned int divisor = 48000000 / rate; + unsigned int i = ((32 * 48000000) / rate) & 0x1f; + unsigned int tx_mask = xr21v141x_baud_rates[i].tx; + unsigned int rx_mask = (divisor & 1) ? xr21v141x_baud_rates[i].rx1 : xr21v141x_baud_rates[i].rx0; + + dev_dbg(&xr_usb_serial->control->dev, "Setting baud rate to %d: i=%u div=%u tx=%03x rx=%03x\n", rate, i, divisor, tx_mask, rx_mask); + + xr_usb_serial_set_reg(xr_usb_serial,UART_CLOCK_DIVISOR_0, (divisor >> 0) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_CLOCK_DIVISOR_1, (divisor >> 8) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_CLOCK_DIVISOR_2, (divisor >> 16) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_TX_CLOCK_MASK_0, (tx_mask >> 0) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_TX_CLOCK_MASK_1, (tx_mask >> 8) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_RX_CLOCK_MASK_0, (rx_mask >> 0) & 0xff); + xr_usb_serial_set_reg(xr_usb_serial,UART_RX_CLOCK_MASK_1, (rx_mask >> 8) & 0xff); + + return 0; +} +/* devices aren't required to support these requests. + * the cdc xr_usb_serial descriptor tells whether they do... + */ +int xr_usb_serial_set_control(struct xr_usb_serial *xr_usb_serial, unsigned int control) +{ + int ret = 0; + + if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + if (control & XR_USB_SERIAL_CTRL_DTR) + xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_gpio_clr_addr, 0x08); + else + xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_gpio_set_addr, 0x08); + + if (control & XR_USB_SERIAL_CTRL_RTS) + xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_gpio_clr_addr, 0x20); + else + xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_gpio_set_addr, 0x20); + } + else + { + ret = xr_usb_serial_ctrl_msg(xr_usb_serial, USB_CDC_REQ_SET_CONTROL_LINE_STATE, control, NULL, 0); + } + + return ret; +} + +int xr_usb_serial_set_line(struct xr_usb_serial *xr_usb_serial, struct usb_cdc_line_coding* line) + { + int ret = 0; + unsigned int format_size; + unsigned int format_parity; + unsigned int format_stop; + if((xr_usb_serial->DeviceProduct == 0x1410) || + (xr_usb_serial->DeviceProduct == 0x1412) || + (xr_usb_serial->DeviceProduct == 0x1414)) + { + xr21v141x_set_baud_rate(xr_usb_serial,line->dwDTERate); + format_size = line->bDataBits; + format_parity = line->bParityType; + format_stop = line->bCharFormat; + xr_usb_serial_set_reg(xr_usb_serial, + xr_usb_serial->reg_map.uart_format_addr, + (format_size << 0) | (format_parity << 4) | (format_stop << 7) ); + + } + else + { + ret = xr_usb_serial_ctrl_msg(xr_usb_serial, USB_CDC_REQ_SET_LINE_CODING, 0, line, sizeof *(line)); + } + return ret; + } + int xr_usb_serial_set_flow_mode(struct xr_usb_serial *xr_usb_serial, + struct tty_struct *tty, unsigned int cflag) + { + unsigned int flow; + unsigned int gpio_mode; + + if (cflag & CRTSCTS) + { + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_set_flow_mode:hardware\n"); + flow = UART_FLOW_MODE_HW; + gpio_mode = UART_GPIO_MODE_SEL_RTS_CTS; + } + else if (I_IXOFF(tty) || I_IXON(tty)) + { + unsigned char start_char = START_CHAR(tty); + unsigned char stop_char = STOP_CHAR(tty); + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_set_flow_mode:software\n"); + flow = UART_FLOW_MODE_SW; + gpio_mode = UART_GPIO_MODE_SEL_GPIO; + + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_xon_char_addr, start_char); + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_xoff_char_addr, stop_char); + } + else + { + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_set_flow_mode:none\n"); + flow = UART_FLOW_MODE_NONE; + gpio_mode = UART_GPIO_MODE_SEL_GPIO; + } + // rs485,rs422 FD/HD mode + if (xr_usb_serial->rs485_422_en) { + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_flow_addr, 0x00); + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, 0x0B); + } else { + //rs232, default mode + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_flow_addr, flow); + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, gpio_mode); + } + return 0; + + + } + +int xr_usb_serial_send_break(struct xr_usb_serial *xr_usb_serial, int state) +{ + int ret = 0; + if((xr_usb_serial->DeviceProduct == 0x1410)|| + (xr_usb_serial->DeviceProduct == 0x1412)|| + (xr_usb_serial->DeviceProduct == 0x1414)) + { + if(state) + ret = xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.tx_break_addr,0xffff); + else + ret = xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.tx_break_addr,0); + } + else + { + ret = xr_usb_serial_ctrl_msg(xr_usb_serial, USB_CDC_REQ_SEND_BREAK, state, NULL, 0); + } + return ret; +} + +#define URM_REG_BLOCK 4 +#define URM_ENABLE_BASE 0x010 +#define URM_ENABLE_0_TX 0x001 +#define URM_ENABLE_0_RX 0x002 + +int xr_usb_serial_enable(struct xr_usb_serial *xr_usb_serial) +{ + int ret = 0; + int channel = xr_usb_serial->channel; + if((xr_usb_serial->DeviceProduct == 0x1410)|| + (xr_usb_serial->DeviceProduct == 0x1412)|| + (xr_usb_serial->DeviceProduct == 0x1414)) + { + ret = xr_usb_serial_set_reg_ext(xr_usb_serial,URM_REG_BLOCK,URM_ENABLE_BASE + channel,URM_ENABLE_0_TX); + ret = xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_enable_addr,UART_ENABLE_TX | UART_ENABLE_RX); + ret = xr_usb_serial_set_reg_ext(xr_usb_serial,URM_REG_BLOCK,URM_ENABLE_BASE + channel,URM_ENABLE_0_TX | URM_ENABLE_0_RX); + } + else + { + ret = xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_enable_addr,UART_ENABLE_TX | UART_ENABLE_RX); + } + + return ret; +} +int xr_usb_serial_disable(struct xr_usb_serial *xr_usb_serial) +{ + int ret = 0; + int channel = xr_usb_serial->channel; + ret = xr_usb_serial_set_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_enable_addr,0); + if((xr_usb_serial->DeviceProduct == 0x1410)|| + (xr_usb_serial->DeviceProduct == 0x1412)|| + (xr_usb_serial->DeviceProduct == 0x1414)) + { + ret = xr_usb_serial_set_reg_ext(xr_usb_serial,URM_REG_BLOCK,URM_ENABLE_BASE + channel,URM_ENABLE_0_TX); + } + + return ret; +} +int xr_usb_serial_set_loopback(struct xr_usb_serial *xr_usb_serial, int channel) +{ + int ret = 0; + xr_usb_serial_disable(xr_usb_serial); + ret = xr_usb_serial_set_reg_ext(xr_usb_serial,channel, + xr_usb_serial->reg_map.uart_loopback_addr,0x07); + xr_usb_serial_enable(xr_usb_serial); + return ret; +} + + +static int xr_usb_serial_tiocmget(struct xr_usb_serial *xr_usb_serial) + +{ + short data; + int result; + result = xr_usb_serial_get_reg(xr_usb_serial,xr_usb_serial->reg_map.uart_gpio_status_addr, &data); + dev_dbg(&xr_usb_serial->control->dev, "xr_usb_serial_tiocmget uart_gpio_status_addr:0x%04x\n",data); + if (result) + return ((data & 0x8) ? 0: TIOCM_DTR) | ((data & 0x20) ? 0:TIOCM_RTS ) | ((data & 0x4) ? 0:TIOCM_DSR) | ((data & 0x1) ? 0 : TIOCM_RI) | ((data & 0x2) ? 0:TIOCM_CD) | ((data & 0x10) ? 0 : TIOCM_CTS); + else + return -EFAULT; +} +static int xr_usb_serial_tiocmset(struct xr_usb_serial *xr_usb_serial, + + unsigned int set, unsigned int clear) + +{ + unsigned int newctrl = 0; + newctrl = xr_usb_serial->ctrlout; + + set = (set & TIOCM_DTR ? XR_USB_SERIAL_CTRL_DTR : 0) | (set & TIOCM_RTS ? XR_USB_SERIAL_CTRL_RTS : 0); + + clear = (clear & TIOCM_DTR ? XR_USB_SERIAL_CTRL_DTR : 0) | (clear & TIOCM_RTS ? XR_USB_SERIAL_CTRL_RTS : 0); + + newctrl = (newctrl & ~clear) | set; + + if (xr_usb_serial->ctrlout == newctrl) + return 0; + + xr_usb_serial->ctrlout = newctrl; + + if (newctrl & XR_USB_SERIAL_CTRL_DTR) + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_clr_addr, 0x08); + else + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_set_addr, 0x08); + + if (newctrl & XR_USB_SERIAL_CTRL_RTS) + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_clr_addr, 0x20); + else + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_set_addr, 0x20); + + return 0; +} + + +static struct reg_addr_map xr21b140x_reg_map; +static struct reg_addr_map xr21b1411_reg_map; +static struct reg_addr_map xr21v141x_reg_map; +static struct reg_addr_map xr21b142x_reg_map; + +static void init_xr21b140x_reg_map(void) +{ + xr21b140x_reg_map.uart_enable_addr = 0x00; + xr21b140x_reg_map.uart_format_addr = 0x05; + xr21b140x_reg_map.uart_flow_addr = 0x06; + xr21b140x_reg_map.uart_loopback_addr = 0x16; + xr21b140x_reg_map.uart_xon_char_addr = 0x07; + xr21b140x_reg_map.uart_xoff_char_addr = 0x08; + xr21b140x_reg_map.uart_gpio_mode_addr = 0x0c; + xr21b140x_reg_map.uart_gpio_dir_addr = 0x0d; + xr21b140x_reg_map.uart_gpio_set_addr = 0x0e; + xr21b140x_reg_map.uart_gpio_clr_addr = 0x0f; + xr21b140x_reg_map.uart_gpio_status_addr = 0x10; + xr21b140x_reg_map.tx_break_addr = 0x0a; + xr21b140x_reg_map.uart_custom_driver = 0x41; +} + +static void init_xr21b1411_reg_map(void) +{ + xr21b1411_reg_map.uart_enable_addr = 0xc00; + xr21b1411_reg_map.uart_flow_addr = 0xc06; + xr21b1411_reg_map.uart_loopback_addr = 0xc16; + xr21b1411_reg_map.uart_xon_char_addr = 0xc07; + xr21b1411_reg_map.uart_xoff_char_addr = 0xc08; + xr21b1411_reg_map.uart_gpio_mode_addr = 0xc0c; + xr21b1411_reg_map.uart_gpio_dir_addr = 0xc0d; + xr21b1411_reg_map.uart_gpio_set_addr = 0xc0e; + xr21b1411_reg_map.uart_gpio_clr_addr = 0xc0f; + xr21b1411_reg_map.uart_gpio_status_addr = 0xc10; + xr21b1411_reg_map.tx_break_addr = 0xc0a; + xr21b1411_reg_map.uart_custom_driver = 0x20d; +} + +static void init_xr21v141x_reg_map(void) +{ + xr21v141x_reg_map.uart_enable_addr = 0x03; + xr21v141x_reg_map.uart_format_addr = 0x0b; + xr21v141x_reg_map.uart_flow_addr = 0x0c; + xr21v141x_reg_map.uart_loopback_addr = 0x12; + xr21v141x_reg_map.uart_xon_char_addr = 0x10; + xr21v141x_reg_map.uart_xoff_char_addr = 0x11; + xr21v141x_reg_map.uart_gpio_mode_addr = 0x1a; + xr21v141x_reg_map.uart_gpio_dir_addr = 0x1b; + xr21v141x_reg_map.uart_gpio_set_addr = 0x1d; + xr21v141x_reg_map.uart_gpio_clr_addr = 0x1e; + xr21v141x_reg_map.uart_gpio_status_addr = 0x1f; + xr21v141x_reg_map.tx_break_addr = 0x14; +} +static void init_xr21b142x_reg_map(void) +{ + xr21b142x_reg_map.uart_enable_addr = 0x00; + xr21b142x_reg_map.uart_flow_addr = 0x06; + xr21b142x_reg_map.uart_loopback_addr = 0x16; + xr21b142x_reg_map.uart_xon_char_addr = 0x07; + xr21b142x_reg_map.uart_xoff_char_addr = 0x08; + xr21b142x_reg_map.uart_gpio_mode_addr = 0x0c; + xr21b142x_reg_map.uart_gpio_dir_addr = 0x0d; + xr21b142x_reg_map.uart_gpio_set_addr = 0x0e; + xr21b142x_reg_map.uart_gpio_clr_addr = 0x0f; + xr21b142x_reg_map.uart_gpio_status_addr = 0x10; + xr21b140x_reg_map.tx_break_addr = 0x0a; + xr21b140x_reg_map.uart_custom_driver = 0x60; + xr21b140x_reg_map.uart_low_latency = 0x46; +} + +int xr_usb_serial_pre_setup(struct xr_usb_serial *xr_usb_serial) +{ + int ret = 0; + + init_xr21b140x_reg_map(); + init_xr21b1411_reg_map(); + init_xr21v141x_reg_map(); + init_xr21b142x_reg_map(); + if((xr_usb_serial->DeviceProduct&0xfff0) == 0x1400) + { + memcpy(&(xr_usb_serial->reg_map),&xr21b140x_reg_map,sizeof(struct reg_addr_map)); + + } + else if(xr_usb_serial->DeviceProduct == 0x1411) + { + memcpy(&(xr_usb_serial->reg_map),&xr21b1411_reg_map,sizeof(struct reg_addr_map)); + } + else if((xr_usb_serial->DeviceProduct == 0x1410)|| + (xr_usb_serial->DeviceProduct == 0x1412)|| + (xr_usb_serial->DeviceProduct == 0x1414)) + { + memcpy(&(xr_usb_serial->reg_map),&xr21v141x_reg_map,sizeof(struct reg_addr_map)); + } + else if((xr_usb_serial->DeviceProduct == 0x1420)|| + (xr_usb_serial->DeviceProduct == 0x1422)|| + (xr_usb_serial->DeviceProduct == 0x1424)) + { + memcpy(&(xr_usb_serial->reg_map),&xr21b142x_reg_map,sizeof(struct reg_addr_map)); + } + else + { + ret = -1; + } + if(xr_usb_serial->reg_map.uart_custom_driver) + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_custom_driver, 1); + + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, 0); + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_dir_addr, 0x28); + xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_set_addr, UART_GPIO_SET_DTR | UART_GPIO_SET_RTS); + + return ret; + +} + + + --- linux-riscv-5.8-5.8.0.orig/ubuntu/xr-usb-serial/xr_usb_serial_ioctl.h +++ linux-riscv-5.8-5.8.0/ubuntu/xr-usb-serial/xr_usb_serial_ioctl.h @@ -0,0 +1,31 @@ +/* + * 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. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +#define XR_USB_SERIAL_IOC_MAGIC 'v' + +#define XR_USB_SERIAL_GET_REG _IOWR(XR_USB_SERIAL_IOC_MAGIC, 1, int) +#define XR_USB_SERIAL_SET_REG _IOWR(XR_USB_SERIAL_IOC_MAGIC, 2, int) +#define XR_USB_SERIAL_SET_ADDRESS_MATCH _IO(XR_USB_SERIAL_IOC_MAGIC, 3) +#define XR_USB_SERIAL_SET_PRECISE_FLAGS _IO(XR_USB_SERIAL_IOC_MAGIC, 4) +#define XR_USB_SERIAL_TEST_MODE _IO(XR_USB_SERIAL_IOC_MAGIC, 5) +#define XR_USB_SERIAL_LOOPBACK _IO(XR_USB_SERIAL_IOC_MAGIC, 6) + +#define VZ_ADDRESS_UNICAST_S 0 +#define VZ_ADDRESS_BROADCAST_S 8 +#define VZ_ADDRESS_MATCH(U, B) (0x8000000 | ((B) << VZ_ADDRESS_BROADCAST_S) | ((U) << VZ_ADDRESS_UNICAST_S)) +#define VZ_ADDRESS_MATCH_DISABLE 0 --- linux-riscv-5.8-5.8.0.orig/update-version-dkms +++ linux-riscv-5.8-5.8.0/update-version-dkms @@ -0,0 +1,58 @@ +#!/bin/bash + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi +pocket="$1" + +case "$pocket" in +proposed) pocket_list="-$pocket -updates -release" ;; +updates|security) pocket_list="-$pocket -release" ;; +release) pocket_list="-release" ;; +*) + echo "$0: $pocket: unknown archive pocket" 1>&2 + exit 1 + ;; +esac + +# find our changelog. +debian=$(awk -F= '($1 == "DEBIAN") { print $2 }' "debian/dkms-versions.new" +while read package version remainder +do + for pocket_raw in $pocket_list + do + pocket="${pocket_raw#-release}" + read x x pocket_version x <&2 + exit 1 + else + echo "$package: $pocket_version found in $pocket_raw" + fi + if [ "$version" != "$pocket_version" ]; then + echo "$package: updated to $pocket_version" + fi + echo "$package $pocket_version $remainder" | sed -e 's/ *$//' >>"debian/dkms-versions.new" +done <"debian/dkms-versions" +if ! cmp -s "debian/dkms-versions.new" "debian/dkms-versions"; then + mv -f "debian/dkms-versions.new" "debian/dkms-versions" + git commit -s -m "UBUNTU: update dkms package versions" \ + -m "BugLink: https://bugs.launchpad.net/bugs/1786013" \ + "debian/dkms-versions" +else + rm -f "debian/dkms-versions.new" +fi --- linux-riscv-5.8-5.8.0.orig/virt/kvm/kvm_main.c +++ linux-riscv-5.8-5.8.0/virt/kvm/kvm_main.c @@ -427,10 +427,10 @@ * count is also read inside the mmu_lock critical section. */ kvm->mmu_notifier_count++; - need_tlb_flush = kvm_unmap_hva_range(kvm, range->start, range->end); - need_tlb_flush |= kvm->tlbs_dirty; + need_tlb_flush = kvm_unmap_hva_range(kvm, range->start, range->end, + range->flags); /* we've to flush the tlb before the pages can be freed */ - if (need_tlb_flush) + if (need_tlb_flush || kvm->tlbs_dirty) kvm_flush_remote_tlbs(kvm); spin_unlock(&kvm->mmu_lock); @@ -1231,6 +1231,7 @@ return -EINVAL; /* We can read the guest memory with __xxx_user() later on. */ if ((mem->userspace_addr & (PAGE_SIZE - 1)) || + (mem->userspace_addr != untagged_addr(mem->userspace_addr)) || !access_ok((void __user *)(unsigned long)mem->userspace_addr, mem->memory_size)) return -EINVAL; @@ -1820,10 +1821,12 @@ bool write_fault, bool *writable, kvm_pfn_t *p_pfn) { - unsigned long pfn; + kvm_pfn_t pfn; + pte_t *ptep; + spinlock_t *ptl; int r; - r = follow_pfn(vma, addr, &pfn); + r = follow_pte(vma->vm_mm, addr, &ptep, &ptl); if (r) { /* * get_user_pages fails for VM_IO and VM_PFNMAP vmas and does @@ -1838,14 +1841,19 @@ if (r) return r; - r = follow_pfn(vma, addr, &pfn); + r = follow_pte(vma->vm_mm, addr, &ptep, &ptl); if (r) return r; + } + if (write_fault && !pte_write(*ptep)) { + pfn = KVM_PFN_ERR_RO_FAULT; + goto out; } if (writable) - *writable = true; + *writable = pte_write(*ptep); + pfn = pte_pfn(*ptep); /* * Get a reference here because callers of *hva_to_pfn* and @@ -1860,6 +1868,8 @@ */ kvm_get_pfn(pfn); +out: + pte_unmap_unlock(ptep, ptl); *p_pfn = pfn; return 0; } @@ -4268,7 +4278,7 @@ void kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx, struct kvm_io_device *dev) { - int i; + int i, j; struct kvm_io_bus *new_bus, *bus; bus = kvm_get_bus(kvm, bus_idx); @@ -4285,17 +4295,20 @@ new_bus = kmalloc(struct_size(bus, range, bus->dev_count - 1), GFP_KERNEL_ACCOUNT); - if (!new_bus) { + if (new_bus) { + memcpy(new_bus, bus, sizeof(*bus) + i * sizeof(struct kvm_io_range)); + new_bus->dev_count--; + memcpy(new_bus->range + i, bus->range + i + 1, + (new_bus->dev_count - i) * sizeof(struct kvm_io_range)); + } else { pr_err("kvm: failed to shrink bus, removing it completely\n"); - goto broken; + for (j = 0; j < bus->dev_count; j++) { + if (j == i) + continue; + kvm_iodevice_destructor(bus->range[j].dev); + } } - memcpy(new_bus, bus, sizeof(*bus) + i * sizeof(struct kvm_io_range)); - new_bus->dev_count--; - memcpy(new_bus->range + i, bus->range + i + 1, - (new_bus->dev_count - i) * sizeof(struct kvm_io_range)); - -broken: rcu_assign_pointer(kvm->buses[bus_idx], new_bus); synchronize_srcu_expedited(&kvm->srcu); kfree(bus);